summaryrefslogtreecommitdiff
path: root/gettext-tools
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-12-28 00:06:36 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-12-28 00:06:36 +0000
commit6eb5949dd99d174393465069c2fd0bab32deddcc (patch)
treed104f72ac2dcb0f592b1c8e06a5af6790bd4080c /gettext-tools
parent482840e61f86ca321838a91e902c41d40c098bbb (diff)
downloadgettext-tarball-6eb5949dd99d174393465069c2fd0bab32deddcc.tar.gz
gettext-0.19.7gettext-0.19.7
Diffstat (limited to 'gettext-tools')
-rw-r--r--gettext-tools/ABOUT-NLS2393
-rw-r--r--gettext-tools/ChangeLog1197
-rw-r--r--gettext-tools/ChangeLog.01212
-rw-r--r--gettext-tools/Makefile.am4
-rw-r--r--gettext-tools/Makefile.in381
-rw-r--r--gettext-tools/aclocal.m4147
-rw-r--r--gettext-tools/config.h.in381
-rwxr-xr-xgettext-tools/configure11364
-rw-r--r--gettext-tools/configure.ac33
-rw-r--r--gettext-tools/doc/ChangeLog.1 (renamed from gettext-tools/doc/ChangeLog)79
-rw-r--r--gettext-tools/doc/Makefile.am9
-rw-r--r--gettext-tools/doc/Makefile.in338
-rw-r--r--gettext-tools/doc/autopoint.texi16
-rw-r--r--gettext-tools/doc/gettext.info1366
-rw-r--r--gettext-tools/doc/gettext.texi316
-rw-r--r--gettext-tools/doc/gettext_1.html10
-rw-r--r--gettext-tools/doc/gettext_10.html366
-rw-r--r--gettext-tools/doc/gettext_11.html176
-rw-r--r--gettext-tools/doc/gettext_12.html34
-rw-r--r--gettext-tools/doc/gettext_13.html231
-rw-r--r--gettext-tools/doc/gettext_14.html14
-rw-r--r--gettext-tools/doc/gettext_15.html661
-rw-r--r--gettext-tools/doc/gettext_16.html14
-rw-r--r--gettext-tools/doc/gettext_17.html12
-rw-r--r--gettext-tools/doc/gettext_18.html8
-rw-r--r--gettext-tools/doc/gettext_19.html32
-rw-r--r--gettext-tools/doc/gettext_2.html6
-rw-r--r--gettext-tools/doc/gettext_20.html48
-rw-r--r--gettext-tools/doc/gettext_21.html1152
-rw-r--r--gettext-tools/doc/gettext_22.html66
-rw-r--r--gettext-tools/doc/gettext_23.html60
-rw-r--r--gettext-tools/doc/gettext_24.html18
-rw-r--r--gettext-tools/doc/gettext_25.html551
-rw-r--r--gettext-tools/doc/gettext_3.html56
-rw-r--r--gettext-tools/doc/gettext_4.html8
-rw-r--r--gettext-tools/doc/gettext_5.html190
-rw-r--r--gettext-tools/doc/gettext_6.html135
-rw-r--r--gettext-tools/doc/gettext_7.html106
-rw-r--r--gettext-tools/doc/gettext_8.html414
-rw-r--r--gettext-tools/doc/gettext_9.html886
-rw-r--r--gettext-tools/doc/gettext_foot.html12
-rw-r--r--gettext-tools/doc/gettext_toc.html446
-rw-r--r--gettext-tools/doc/msgexec.texi7
-rw-r--r--gettext-tools/doc/msgfilter.texi23
-rw-r--r--gettext-tools/doc/msgfmt.texi64
-rw-r--r--gettext-tools/doc/msginit.texi36
-rw-r--r--gettext-tools/doc/stamp-vti9
-rwxr-xr-xgettext-tools/doc/texi2html4
-rw-r--r--gettext-tools/doc/version.texi9
-rw-r--r--gettext-tools/doc/xgettext.texi68
-rw-r--r--gettext-tools/examples/ChangeLog1174
-rw-r--r--gettext-tools/examples/ChangeLog.01237
-rw-r--r--gettext-tools/examples/Makefile.am3
-rw-r--r--gettext-tools/examples/Makefile.in59
-rw-r--r--gettext-tools/examples/aclocal.m453
-rwxr-xr-xgettext-tools/examples/configure47
-rw-r--r--gettext-tools/examples/configure.ac2
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/da.po18
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/es.po6
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c++-gnome/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-c++-kde/admin/acinclude.m4.in2
-rwxr-xr-xgettext-tools/examples/hello-c++-kde/admin/compile2
-rwxr-xr-xgettext-tools/examples/hello-c++-kde/admin/config.guess3
-rwxr-xr-xgettext-tools/examples/hello-c++-kde/admin/config.sub3
-rwxr-xr-xgettext-tools/examples/hello-c++-kde/admin/depcomp2
-rw-r--r--gettext-tools/examples/hello-c++-kde/admin/libtool.m4.in3
-rw-r--r--gettext-tools/examples/hello-c++-kde/admin/ltmain.sh3
-rwxr-xr-xgettext-tools/examples/hello-c++-kde/admin/missing3
-rwxr-xr-xgettext-tools/examples/hello-c++-kde/admin/ylwrap2
-rw-r--r--gettext-tools/examples/hello-c++-kde/hello.cc2
-rw-r--r--gettext-tools/examples/hello-c++-kde/hellowindow.cc2
-rw-r--r--gettext-tools/examples/hello-c++-kde/hellowindow.h2
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/da.po20
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/es.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/fr.po15
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/ro.po28
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/sr.po11
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c++-kde/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/da.po18
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/es.po6
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c++-qt/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/da.po18
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/es.po6
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c++-wxwidgets/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-c++/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c++/po/da.po18
-rw-r--r--gettext-tools/examples/hello-c++/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c++/po/es.po6
-rw-r--r--gettext-tools/examples/hello-c++/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c++/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-c++/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c++/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c++/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c++/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-c++/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c++/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c++/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c++/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-c++/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c++/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c++/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c++/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/da.po18
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/es.po6
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c-gnome/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-c-gnome3/Makefile.am15
-rw-r--r--gettext-tools/examples/hello-c-gnome3/configure.ac2
-rw-r--r--gettext-tools/examples/hello-c-gnome3/hello.c50
-rw-r--r--gettext-tools/examples/hello-c-gnome3/hello.gschema.xml6
-rw-r--r--gettext-tools/examples/hello-c-gnome3/hello.ui49
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/af.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ast.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/bg.po40
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ca.po40
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/cs.po40
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/da.po52
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/de.po41
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/el.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/eo.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/es.po38
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/fi.po43
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/fr.po47
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ga.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/gl.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/hr.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/hu.po42
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/id.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/it.po44
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ja.po40
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ky.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/lv.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ms.po51
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/mt.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/nb.po42
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/nl.po45
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/pl.po40
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/pt.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/pt_BR.po44
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ro.po58
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/ru.po38
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/sk.po36
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/sl.po40
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/sr.po41
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/sv.po30
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/tr.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/uk.po38
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/vi.po43
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/zh_CN.po47
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/zh_HK.po26
-rw-r--r--gettext-tools/examples/hello-c-gnome3/po/zh_TW.po42
-rw-r--r--gettext-tools/examples/hello-c/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-c/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-c/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-c/po/da.po18
-rw-r--r--gettext-tools/examples/hello-c/po/de.po7
-rw-r--r--gettext-tools/examples/hello-c/po/es.po6
-rw-r--r--gettext-tools/examples/hello-c/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-c/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-c/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-c/po/it.po8
-rw-r--r--gettext-tools/examples/hello-c/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-c/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-c/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-c/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-c/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-c/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-c/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-c/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-c/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-c/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-c/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-c/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-c/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-c/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-c/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-clisp/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-clisp/po/da.po18
-rw-r--r--gettext-tools/examples/hello-clisp/po/de.po7
-rw-r--r--gettext-tools/examples/hello-clisp/po/es.po6
-rw-r--r--gettext-tools/examples/hello-clisp/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-clisp/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-clisp/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/it.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-clisp/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-clisp/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-clisp/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-clisp/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-clisp/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-clisp/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-clisp/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-clisp/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-clisp/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-clisp/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-clisp/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-csharp-forms/README2
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/da.po18
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/de.po7
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/es.po6
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/it.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-csharp-forms/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-csharp/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-csharp/po/da.po18
-rw-r--r--gettext-tools/examples/hello-csharp/po/de.po7
-rw-r--r--gettext-tools/examples/hello-csharp/po/es.po6
-rw-r--r--gettext-tools/examples/hello-csharp/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-csharp/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-csharp/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/it.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-csharp/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-csharp/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-csharp/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-csharp/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-csharp/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-csharp/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-csharp/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-csharp/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-csharp/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-csharp/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-csharp/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-gawk/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-gawk/po/da.po18
-rw-r--r--gettext-tools/examples/hello-gawk/po/de.po7
-rw-r--r--gettext-tools/examples/hello-gawk/po/es.po6
-rw-r--r--gettext-tools/examples/hello-gawk/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-gawk/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-gawk/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/it.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-gawk/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-gawk/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-gawk/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-gawk/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-gawk/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-gawk/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-gawk/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-gawk/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-gawk/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-gawk/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-gawk/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-guile/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-guile/po/da.po18
-rw-r--r--gettext-tools/examples/hello-guile/po/de.po7
-rw-r--r--gettext-tools/examples/hello-guile/po/es.po6
-rw-r--r--gettext-tools/examples/hello-guile/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-guile/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-guile/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/it.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-guile/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-guile/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-guile/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-guile/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-guile/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-guile/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-guile/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-guile/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-guile/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-guile/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-guile/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-java-awt/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-java-awt/po/da.po18
-rw-r--r--gettext-tools/examples/hello-java-awt/po/de.po7
-rw-r--r--gettext-tools/examples/hello-java-awt/po/es.po6
-rw-r--r--gettext-tools/examples/hello-java-awt/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-java-awt/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-java-awt/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/it.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-java-awt/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-java-awt/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-java-awt/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-java-awt/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-java-awt/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-java-awt/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-java-awt/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-java-awt/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-java-awt/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-java-awt/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-java-awt/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/da.po18
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/de.po7
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/es.po6
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/it.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-java-qtjambi/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-java-swing/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-java-swing/po/da.po18
-rw-r--r--gettext-tools/examples/hello-java-swing/po/de.po7
-rw-r--r--gettext-tools/examples/hello-java-swing/po/es.po6
-rw-r--r--gettext-tools/examples/hello-java-swing/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-java-swing/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-java-swing/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/it.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-java-swing/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-java-swing/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-java-swing/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-java-swing/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-java-swing/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-java-swing/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-java-swing/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-java-swing/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-java-swing/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-java-swing/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-java-swing/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-java/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-java/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-java/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-java/po/da.po18
-rw-r--r--gettext-tools/examples/hello-java/po/de.po7
-rw-r--r--gettext-tools/examples/hello-java/po/es.po6
-rw-r--r--gettext-tools/examples/hello-java/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-java/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-java/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-java/po/it.po8
-rw-r--r--gettext-tools/examples/hello-java/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-java/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-java/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-java/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-java/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-java/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-java/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-java/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-java/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-java/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-java/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-java/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-java/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-java/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-java/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-librep/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-librep/po/da.po18
-rw-r--r--gettext-tools/examples/hello-librep/po/de.po7
-rw-r--r--gettext-tools/examples/hello-librep/po/es.po6
-rw-r--r--gettext-tools/examples/hello-librep/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-librep/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-librep/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/it.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-librep/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-librep/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-librep/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-librep/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-librep/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-librep/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-librep/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-librep/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-librep/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-librep/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-librep/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/da.po18
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/de.po7
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/es.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/it.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnome/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/da.po18
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/de.po7
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/es.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/it.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-objc-gnustep/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-objc/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-objc/po/da.po18
-rw-r--r--gettext-tools/examples/hello-objc/po/de.po7
-rw-r--r--gettext-tools/examples/hello-objc/po/es.po6
-rw-r--r--gettext-tools/examples/hello-objc/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-objc/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-objc/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/it.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-objc/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-objc/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-objc/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-objc/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-objc/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-objc/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-objc/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-objc/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-objc/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-objc/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-objc/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-pascal/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-pascal/po/da.po18
-rw-r--r--gettext-tools/examples/hello-pascal/po/de.po7
-rw-r--r--gettext-tools/examples/hello-pascal/po/es.po6
-rw-r--r--gettext-tools/examples/hello-pascal/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-pascal/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-pascal/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/it.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-pascal/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-pascal/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-pascal/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-pascal/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-pascal/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-pascal/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-pascal/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-pascal/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-pascal/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-pascal/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-pascal/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-perl/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-perl/po/da.po20
-rw-r--r--gettext-tools/examples/hello-perl/po/de.po7
-rw-r--r--gettext-tools/examples/hello-perl/po/es.po6
-rw-r--r--gettext-tools/examples/hello-perl/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-perl/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-perl/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/it.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-perl/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-perl/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-perl/po/ro.po28
-rw-r--r--gettext-tools/examples/hello-perl/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-perl/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-perl/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-perl/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-perl/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-perl/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-perl/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-perl/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-php/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-php/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-php/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-php/po/da.po18
-rw-r--r--gettext-tools/examples/hello-php/po/de.po7
-rw-r--r--gettext-tools/examples/hello-php/po/es.po6
-rw-r--r--gettext-tools/examples/hello-php/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-php/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-php/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-php/po/it.po8
-rw-r--r--gettext-tools/examples/hello-php/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-php/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-php/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-php/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-php/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-php/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-php/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-php/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-php/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-php/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-php/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-php/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-php/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-php/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-php/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-python/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-python/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-python/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-python/po/da.po18
-rw-r--r--gettext-tools/examples/hello-python/po/de.po7
-rw-r--r--gettext-tools/examples/hello-python/po/es.po6
-rw-r--r--gettext-tools/examples/hello-python/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-python/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-python/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-python/po/it.po8
-rw-r--r--gettext-tools/examples/hello-python/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-python/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-python/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-python/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-python/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-python/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-python/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-python/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-python/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-python/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-python/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-python/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-python/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-python/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-python/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-sh/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-sh/po/da.po18
-rw-r--r--gettext-tools/examples/hello-sh/po/de.po7
-rw-r--r--gettext-tools/examples/hello-sh/po/es.po6
-rw-r--r--gettext-tools/examples/hello-sh/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-sh/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-sh/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/it.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-sh/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-sh/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-sh/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-sh/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-sh/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-sh/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-sh/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-sh/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-sh/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-sh/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-sh/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/da.po18
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/de.po7
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/es.po6
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/it.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-smalltalk/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/da.po18
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/de.po7
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/es.po6
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/it.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-tcl-tk/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-tcl/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-tcl/po/da.po18
-rw-r--r--gettext-tools/examples/hello-tcl/po/de.po7
-rw-r--r--gettext-tools/examples/hello-tcl/po/es.po6
-rw-r--r--gettext-tools/examples/hello-tcl/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-tcl/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-tcl/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/it.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-tcl/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-tcl/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-tcl/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-tcl/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-tcl/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-tcl/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-tcl/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-tcl/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-tcl/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-tcl/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-tcl/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/hello-ycp/po/bg.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/ca.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/cs.po4
-rw-r--r--gettext-tools/examples/hello-ycp/po/da.po18
-rw-r--r--gettext-tools/examples/hello-ycp/po/de.po7
-rw-r--r--gettext-tools/examples/hello-ycp/po/es.po6
-rw-r--r--gettext-tools/examples/hello-ycp/po/fi.po9
-rw-r--r--gettext-tools/examples/hello-ycp/po/fr.po11
-rw-r--r--gettext-tools/examples/hello-ycp/po/hu.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/it.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/ja.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/ms.po15
-rw-r--r--gettext-tools/examples/hello-ycp/po/nb.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/nl.po11
-rw-r--r--gettext-tools/examples/hello-ycp/po/pl.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/pt_BR.po12
-rw-r--r--gettext-tools/examples/hello-ycp/po/ro.po24
-rw-r--r--gettext-tools/examples/hello-ycp/po/ru.po6
-rw-r--r--gettext-tools/examples/hello-ycp/po/sk.po4
-rw-r--r--gettext-tools/examples/hello-ycp/po/sl.po8
-rw-r--r--gettext-tools/examples/hello-ycp/po/sr.po7
-rw-r--r--gettext-tools/examples/hello-ycp/po/uk.po6
-rw-r--r--gettext-tools/examples/hello-ycp/po/vi.po11
-rw-r--r--gettext-tools/examples/hello-ycp/po/zh_CN.po11
-rw-r--r--gettext-tools/examples/hello-ycp/po/zh_TW.po6
-rw-r--r--gettext-tools/examples/po/Makefile.in25
-rw-r--r--gettext-tools/examples/po/af.po50
-rw-r--r--gettext-tools/examples/po/ast.po50
-rw-r--r--gettext-tools/examples/po/bg.po70
-rw-r--r--gettext-tools/examples/po/ca.po64
-rw-r--r--gettext-tools/examples/po/cs.po64
-rw-r--r--gettext-tools/examples/po/da.po92
-rw-r--r--gettext-tools/examples/po/de.po65
-rw-r--r--gettext-tools/examples/po/el.po50
-rw-r--r--gettext-tools/examples/po/eo.po50
-rw-r--r--gettext-tools/examples/po/es.po70
-rw-r--r--gettext-tools/examples/po/fi.po73
-rw-r--r--gettext-tools/examples/po/fr.po75
-rw-r--r--gettext-tools/examples/po/ga.po50
-rw-r--r--gettext-tools/examples/po/gettext-examples.pot50
-rw-r--r--gettext-tools/examples/po/gl.po50
-rw-r--r--gettext-tools/examples/po/hello-c++-gnome.pot2
-rw-r--r--gettext-tools/examples/po/hello-c++-kde.pot2
-rw-r--r--gettext-tools/examples/po/hello-c++-qt.pot4
-rw-r--r--gettext-tools/examples/po/hello-c++-wxwidgets.pot4
-rw-r--r--gettext-tools/examples/po/hello-c++.pot2
-rw-r--r--gettext-tools/examples/po/hello-c-gnome.pot2
-rw-r--r--gettext-tools/examples/po/hello-c-gnome3.pot30
-rw-r--r--gettext-tools/examples/po/hello-c.pot2
-rw-r--r--gettext-tools/examples/po/hello-clisp.pot4
-rw-r--r--gettext-tools/examples/po/hello-csharp-forms.pot4
-rw-r--r--gettext-tools/examples/po/hello-csharp.pot4
-rw-r--r--gettext-tools/examples/po/hello-gawk.pot4
-rw-r--r--gettext-tools/examples/po/hello-guile.pot4
-rw-r--r--gettext-tools/examples/po/hello-java-awt.pot4
-rw-r--r--gettext-tools/examples/po/hello-java-qtjambi.pot4
-rw-r--r--gettext-tools/examples/po/hello-java-swing.pot4
-rw-r--r--gettext-tools/examples/po/hello-java.pot4
-rw-r--r--gettext-tools/examples/po/hello-librep.pot4
-rw-r--r--gettext-tools/examples/po/hello-objc-gnome.pot2
-rw-r--r--gettext-tools/examples/po/hello-objc-gnustep.pot4
-rw-r--r--gettext-tools/examples/po/hello-objc.pot2
-rw-r--r--gettext-tools/examples/po/hello-pascal.pot4
-rw-r--r--gettext-tools/examples/po/hello-perl.pot4
-rw-r--r--gettext-tools/examples/po/hello-php.pot4
-rw-r--r--gettext-tools/examples/po/hello-python.pot4
-rw-r--r--gettext-tools/examples/po/hello-sh.pot4
-rw-r--r--gettext-tools/examples/po/hello-smalltalk.pot4
-rw-r--r--gettext-tools/examples/po/hello-tcl-tk.pot4
-rw-r--r--gettext-tools/examples/po/hello-tcl.pot4
-rw-r--r--gettext-tools/examples/po/hello-ycp.pot4
-rw-r--r--gettext-tools/examples/po/hr.po50
-rw-r--r--gettext-tools/examples/po/hu.po72
-rw-r--r--gettext-tools/examples/po/id.po50
-rw-r--r--gettext-tools/examples/po/it.po68
-rw-r--r--gettext-tools/examples/po/ja.po70
-rw-r--r--gettext-tools/examples/po/ky.po50
-rw-r--r--gettext-tools/examples/po/lv.po50
-rw-r--r--gettext-tools/examples/po/ms.po75
-rw-r--r--gettext-tools/examples/po/mt.po50
-rw-r--r--gettext-tools/examples/po/nb.po66
-rw-r--r--gettext-tools/examples/po/nl.po69
-rw-r--r--gettext-tools/examples/po/pl.po64
-rw-r--r--gettext-tools/examples/po/pt.po50
-rw-r--r--gettext-tools/examples/po/pt_BR.po74
-rw-r--r--gettext-tools/examples/po/ro.po110
-rw-r--r--gettext-tools/examples/po/ru.po68
-rw-r--r--gettext-tools/examples/po/sk.po66
-rw-r--r--gettext-tools/examples/po/sl.po70
-rw-r--r--gettext-tools/examples/po/sr.po75
-rw-r--r--gettext-tools/examples/po/sv.po60
-rw-r--r--gettext-tools/examples/po/tr.po50
-rw-r--r--gettext-tools/examples/po/uk.po68
-rw-r--r--gettext-tools/examples/po/vi.po73
-rw-r--r--gettext-tools/examples/po/zh_CN.po71
-rw-r--r--gettext-tools/examples/po/zh_HK.po50
-rw-r--r--gettext-tools/examples/po/zh_TW.po66
-rw-r--r--gettext-tools/gnulib-lib/Makefile.am3
-rw-r--r--gettext-tools/gnulib-lib/Makefile.gnulib483
-rw-r--r--gettext-tools/gnulib-lib/Makefile.in1140
-rw-r--r--gettext-tools/gnulib-lib/acl-errno-valid.c2
-rw-r--r--gettext-tools/gnulib-lib/acl-internal.c (renamed from gettext-tools/gnulib-lib/file-has-acl.c)470
-rw-r--r--gettext-tools/gnulib-lib/acl-internal.h79
-rw-r--r--gettext-tools/gnulib-lib/acl.h2
-rw-r--r--gettext-tools/gnulib-lib/acl_entries.c2
-rw-r--r--gettext-tools/gnulib-lib/addext.c3
-rw-r--r--gettext-tools/gnulib-lib/alignof.h2
-rw-r--r--gettext-tools/gnulib-lib/alloca.in.h3
-rw-r--r--gettext-tools/gnulib-lib/allocator.h2
-rw-r--r--gettext-tools/gnulib-lib/areadlink.c2
-rw-r--r--gettext-tools/gnulib-lib/areadlink.h2
-rw-r--r--gettext-tools/gnulib-lib/argmatch.c2
-rw-r--r--gettext-tools/gnulib-lib/argmatch.h2
-rw-r--r--gettext-tools/gnulib-lib/asnprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/asprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/backupfile.c3
-rw-r--r--gettext-tools/gnulib-lib/backupfile.h3
-rw-r--r--gettext-tools/gnulib-lib/basename.c3
-rw-r--r--gettext-tools/gnulib-lib/basename.h2
-rw-r--r--gettext-tools/gnulib-lib/binary-io.c1
-rw-r--r--gettext-tools/gnulib-lib/binary-io.h2
-rw-r--r--gettext-tools/gnulib-lib/byteswap.in.h2
-rw-r--r--gettext-tools/gnulib-lib/c-ctype.c394
-rw-r--r--gettext-tools/gnulib-lib/c-ctype.h453
-rw-r--r--gettext-tools/gnulib-lib/c-strcase.h2
-rw-r--r--gettext-tools/gnulib-lib/c-strcasecmp.c2
-rw-r--r--gettext-tools/gnulib-lib/c-strcaseeq.h5
-rw-r--r--gettext-tools/gnulib-lib/c-strcasestr.c2
-rw-r--r--gettext-tools/gnulib-lib/c-strcasestr.h2
-rw-r--r--gettext-tools/gnulib-lib/c-strncasecmp.c2
-rw-r--r--gettext-tools/gnulib-lib/c-strstr.c2
-rw-r--r--gettext-tools/gnulib-lib/c-strstr.h2
-rw-r--r--gettext-tools/gnulib-lib/canonicalize-lgpl.c2
-rw-r--r--gettext-tools/gnulib-lib/careadlinkat.c2
-rw-r--r--gettext-tools/gnulib-lib/careadlinkat.h2
-rw-r--r--gettext-tools/gnulib-lib/classpath.c2
-rw-r--r--gettext-tools/gnulib-lib/classpath.h2
-rw-r--r--gettext-tools/gnulib-lib/clean-temp.c5
-rw-r--r--gettext-tools/gnulib-lib/clean-temp.h2
-rw-r--r--gettext-tools/gnulib-lib/cloexec.c2
-rw-r--r--gettext-tools/gnulib-lib/cloexec.h2
-rw-r--r--gettext-tools/gnulib-lib/close.c2
-rw-r--r--gettext-tools/gnulib-lib/closedir.c2
-rw-r--r--gettext-tools/gnulib-lib/closeout.c2
-rw-r--r--gettext-tools/gnulib-lib/closeout.h2
-rw-r--r--gettext-tools/gnulib-lib/concat-filename.c2
-rw-r--r--gettext-tools/gnulib-lib/concat-filename.h2
-rw-r--r--gettext-tools/gnulib-lib/config.charset6
-rw-r--r--gettext-tools/gnulib-lib/copy-acl.c4
-rw-r--r--gettext-tools/gnulib-lib/copy-file.c4
-rw-r--r--gettext-tools/gnulib-lib/copy-file.h2
-rw-r--r--gettext-tools/gnulib-lib/csharpcomp.c2
-rw-r--r--gettext-tools/gnulib-lib/csharpcomp.h2
-rw-r--r--gettext-tools/gnulib-lib/csharpexec.c2
-rw-r--r--gettext-tools/gnulib-lib/csharpexec.h2
-rw-r--r--gettext-tools/gnulib-lib/diffseq.h6
-rw-r--r--gettext-tools/gnulib-lib/dirent-private.h2
-rw-r--r--gettext-tools/gnulib-lib/dirent.in.h4
-rw-r--r--gettext-tools/gnulib-lib/dosname.h2
-rw-r--r--gettext-tools/gnulib-lib/dup-safer-flag.c2
-rw-r--r--gettext-tools/gnulib-lib/dup-safer.c2
-rw-r--r--gettext-tools/gnulib-lib/dup2.c2
-rw-r--r--gettext-tools/gnulib-lib/errno.in.h2
-rw-r--r--gettext-tools/gnulib-lib/error-progname.c2
-rw-r--r--gettext-tools/gnulib-lib/error-progname.h2
-rw-r--r--gettext-tools/gnulib-lib/error.c6
-rw-r--r--gettext-tools/gnulib-lib/error.h16
-rw-r--r--gettext-tools/gnulib-lib/execute.c2
-rw-r--r--gettext-tools/gnulib-lib/execute.h2
-rw-r--r--gettext-tools/gnulib-lib/exitfail.c2
-rw-r--r--gettext-tools/gnulib-lib/exitfail.h2
-rw-r--r--gettext-tools/gnulib-lib/fatal-signal.c2
-rw-r--r--gettext-tools/gnulib-lib/fatal-signal.h2
-rw-r--r--gettext-tools/gnulib-lib/fcntl.c2
-rw-r--r--gettext-tools/gnulib-lib/fcntl.in.h2
-rw-r--r--gettext-tools/gnulib-lib/fd-hook.c2
-rw-r--r--gettext-tools/gnulib-lib/fd-hook.h2
-rw-r--r--gettext-tools/gnulib-lib/fd-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/fd-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/fd-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/fd-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/fd-safer-flag.c2
-rw-r--r--gettext-tools/gnulib-lib/fd-safer.c2
-rw-r--r--gettext-tools/gnulib-lib/file-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/file-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/file-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/file-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/filename.h2
-rw-r--r--gettext-tools/gnulib-lib/findprog.c2
-rw-r--r--gettext-tools/gnulib-lib/findprog.h2
-rw-r--r--gettext-tools/gnulib-lib/float+.h2
-rw-r--r--gettext-tools/gnulib-lib/float.c2
-rw-r--r--gettext-tools/gnulib-lib/float.in.h2
-rw-r--r--gettext-tools/gnulib-lib/fnmatch.c2
-rw-r--r--gettext-tools/gnulib-lib/fnmatch.in.h2
-rw-r--r--gettext-tools/gnulib-lib/fnmatch_loop.c2
-rw-r--r--gettext-tools/gnulib-lib/fopen.c2
-rw-r--r--gettext-tools/gnulib-lib/fstat.c2
-rw-r--r--gettext-tools/gnulib-lib/fstrcmp.c67
-rw-r--r--gettext-tools/gnulib-lib/fstrcmp.h2
-rw-r--r--gettext-tools/gnulib-lib/full-write.c2
-rw-r--r--gettext-tools/gnulib-lib/full-write.h2
-rw-r--r--gettext-tools/gnulib-lib/fwriteerror.c2
-rw-r--r--gettext-tools/gnulib-lib/fwriteerror.h2
-rw-r--r--gettext-tools/gnulib-lib/gcd.c2
-rw-r--r--gettext-tools/gnulib-lib/gcd.h2
-rw-r--r--gettext-tools/gnulib-lib/get-permissions.c291
-rw-r--r--gettext-tools/gnulib-lib/getdelim.c2
-rw-r--r--gettext-tools/gnulib-lib/getdtablesize.c44
-rw-r--r--gettext-tools/gnulib-lib/getline.c2
-rw-r--r--gettext-tools/gnulib-lib/getopt.c54
-rw-r--r--gettext-tools/gnulib-lib/getopt.in.h2
-rw-r--r--gettext-tools/gnulib-lib/getopt1.c2
-rw-r--r--gettext-tools/gnulib-lib/getopt_int.h2
-rw-r--r--gettext-tools/gnulib-lib/gettext.h3
-rw-r--r--gettext-tools/gnulib-lib/gettimeofday.c2
-rw-r--r--gettext-tools/gnulib-lib/gl_anyhash_list1.h2
-rw-r--r--gettext-tools/gnulib-lib/gl_anyhash_list2.h2
-rw-r--r--gettext-tools/gnulib-lib/gl_anylinked_list1.h2
-rw-r--r--gettext-tools/gnulib-lib/gl_anylinked_list2.h24
-rw-r--r--gettext-tools/gnulib-lib/gl_array_list.c2
-rw-r--r--gettext-tools/gnulib-lib/gl_array_list.h2
-rw-r--r--gettext-tools/gnulib-lib/gl_linkedhash_list.c2
-rw-r--r--gettext-tools/gnulib-lib/gl_linkedhash_list.h2
-rw-r--r--gettext-tools/gnulib-lib/gl_list.h4
-rw-r--r--gettext-tools/gnulib-lib/gl_xlist.h2
-rw-r--r--gettext-tools/gnulib-lib/glib/gstrfuncs.c4
-rw-r--r--gettext-tools/gnulib-lib/glthread/lock.c2
-rw-r--r--gettext-tools/gnulib-lib/glthread/lock.h2
-rw-r--r--gettext-tools/gnulib-lib/glthread/threadlib.c2
-rw-r--r--gettext-tools/gnulib-lib/glthread/tls.c2
-rw-r--r--gettext-tools/gnulib-lib/glthread/tls.h2
-rw-r--r--gettext-tools/gnulib-lib/hash.c3
-rw-r--r--gettext-tools/gnulib-lib/hash.h3
-rw-r--r--gettext-tools/gnulib-lib/html-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/html-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/html-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/html-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/html-styled-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/html-styled-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/html-styled-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/html-styled-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/iconv.c2
-rw-r--r--gettext-tools/gnulib-lib/iconv.in.h2
-rw-r--r--gettext-tools/gnulib-lib/iconv_close.c2
-rw-r--r--gettext-tools/gnulib-lib/iconv_open.c2
-rw-r--r--gettext-tools/gnulib-lib/iconveh.h2
-rw-r--r--gettext-tools/gnulib-lib/ignore-value.h4
-rw-r--r--gettext-tools/gnulib-lib/intprops.h145
-rw-r--r--gettext-tools/gnulib-lib/isinf.c39
-rw-r--r--gettext-tools/gnulib-lib/isnan.c189
-rw-r--r--gettext-tools/gnulib-lib/isnand-nolibm.h33
-rw-r--r--gettext-tools/gnulib-lib/isnand.c19
-rw-r--r--gettext-tools/gnulib-lib/isnanf-nolibm.h40
-rw-r--r--gettext-tools/gnulib-lib/isnanf.c20
-rw-r--r--gettext-tools/gnulib-lib/isnanl-nolibm.h33
-rw-r--r--gettext-tools/gnulib-lib/isnanl.c20
-rw-r--r--gettext-tools/gnulib-lib/iswblank.c2
-rw-r--r--gettext-tools/gnulib-lib/itold.c2
-rw-r--r--gettext-tools/gnulib-lib/javacomp.c2
-rw-r--r--gettext-tools/gnulib-lib/javacomp.h2
-rw-r--r--gettext-tools/gnulib-lib/javaexec.c2
-rw-r--r--gettext-tools/gnulib-lib/javaexec.h2
-rw-r--r--gettext-tools/gnulib-lib/javaversion.c2
-rw-r--r--gettext-tools/gnulib-lib/javaversion.h2
-rw-r--r--gettext-tools/gnulib-lib/javaversion.java2
-rw-r--r--gettext-tools/gnulib-lib/langinfo.in.h194
-rw-r--r--gettext-tools/gnulib-lib/libxml/COPYING14
-rw-r--r--gettext-tools/gnulib-lib/libxml/DOCBparser.c12
-rw-r--r--gettext-tools/gnulib-lib/libxml/DOCBparser.in.h18
-rw-r--r--gettext-tools/gnulib-lib/libxml/HTMLparser.c1603
-rw-r--r--gettext-tools/gnulib-lib/libxml/HTMLparser.in.h49
-rw-r--r--gettext-tools/gnulib-lib/libxml/HTMLtree.c258
-rw-r--r--gettext-tools/gnulib-lib/libxml/HTMLtree.in.h38
-rw-r--r--gettext-tools/gnulib-lib/libxml/SAX.c2
-rw-r--r--gettext-tools/gnulib-lib/libxml/SAX.in.h74
-rw-r--r--gettext-tools/gnulib-lib/libxml/SAX2.c404
-rw-r--r--gettext-tools/gnulib-lib/libxml/SAX2.in.h74
-rw-r--r--gettext-tools/gnulib-lib/libxml/buf.c1345
-rw-r--r--gettext-tools/gnulib-lib/libxml/buf.h72
-rw-r--r--gettext-tools/gnulib-lib/libxml/c14n.c942
-rw-r--r--gettext-tools/gnulib-lib/libxml/c14n.in.h65
-rw-r--r--gettext-tools/gnulib-lib/libxml/catalog.c171
-rw-r--r--gettext-tools/gnulib-lib/libxml/catalog.in.h70
-rw-r--r--gettext-tools/gnulib-lib/libxml/chvalid.c164
-rw-r--r--gettext-tools/gnulib-lib/libxml/debugXML.c224
-rw-r--r--gettext-tools/gnulib-lib/libxml/debugXML.in.h52
-rw-r--r--gettext-tools/gnulib-lib/libxml/dict.c625
-rw-r--r--gettext-tools/gnulib-lib/libxml/dict.in.h21
-rw-r--r--gettext-tools/gnulib-lib/libxml/elfgcchack.h17808
-rw-r--r--gettext-tools/gnulib-lib/libxml/enc.h32
-rw-r--r--gettext-tools/gnulib-lib/libxml/encoding.c1500
-rw-r--r--gettext-tools/gnulib-lib/libxml/encoding.in.h42
-rw-r--r--gettext-tools/gnulib-lib/libxml/entities.c279
-rw-r--r--gettext-tools/gnulib-lib/libxml/entities.in.h45
-rw-r--r--gettext-tools/gnulib-lib/libxml/error.c126
-rw-r--r--gettext-tools/gnulib-lib/libxml/globals.c54
-rw-r--r--gettext-tools/gnulib-lib/libxml/globals.in.h74
-rw-r--r--gettext-tools/gnulib-lib/libxml/hash.c97
-rw-r--r--gettext-tools/gnulib-lib/libxml/hash.in.h48
-rw-r--r--gettext-tools/gnulib-lib/libxml/legacy.c32
-rw-r--r--gettext-tools/gnulib-lib/libxml/libxml.h33
-rw-r--r--gettext-tools/gnulib-lib/libxml/list.c80
-rw-r--r--gettext-tools/gnulib-lib/libxml/list.in.h52
-rw-r--r--gettext-tools/gnulib-lib/libxml/nanoftp.c332
-rw-r--r--gettext-tools/gnulib-lib/libxml/nanoftp.in.h68
-rw-r--r--gettext-tools/gnulib-lib/libxml/nanohttp.c609
-rw-r--r--gettext-tools/gnulib-lib/libxml/nanohttp.in.h26
-rw-r--r--gettext-tools/gnulib-lib/libxml/parser.c5533
-rw-r--r--gettext-tools/gnulib-lib/libxml/parser.in.h175
-rw-r--r--gettext-tools/gnulib-lib/libxml/parserInternals.c378
-rw-r--r--gettext-tools/gnulib-lib/libxml/parserInternals.in.h206
-rw-r--r--gettext-tools/gnulib-lib/libxml/pattern.c196
-rw-r--r--gettext-tools/gnulib-lib/libxml/relaxng.c428
-rw-r--r--gettext-tools/gnulib-lib/libxml/relaxng.in.h67
-rw-r--r--gettext-tools/gnulib-lib/libxml/save.h35
-rw-r--r--gettext-tools/gnulib-lib/libxml/schemasInternals.in.h4
-rw-r--r--gettext-tools/gnulib-lib/libxml/schematron.c119
-rw-r--r--gettext-tools/gnulib-lib/libxml/schematron.in.h44
-rw-r--r--gettext-tools/gnulib-lib/libxml/threads.c584
-rw-r--r--gettext-tools/gnulib-lib/libxml/threads.in.h34
-rw-r--r--gettext-tools/gnulib-lib/libxml/timsort.h518
-rw-r--r--gettext-tools/gnulib-lib/libxml/tree.c1668
-rw-r--r--gettext-tools/gnulib-lib/libxml/tree.in.h489
-rw-r--r--gettext-tools/gnulib-lib/libxml/trionan.c71
-rw-r--r--gettext-tools/gnulib-lib/libxml/uri.c2203
-rw-r--r--gettext-tools/gnulib-lib/libxml/uri.in.h43
-rw-r--r--gettext-tools/gnulib-lib/libxml/valid.c649
-rw-r--r--gettext-tools/gnulib-lib/libxml/valid.in.h148
-rw-r--r--gettext-tools/gnulib-lib/libxml/xinclude.c255
-rw-r--r--gettext-tools/gnulib-lib/libxml/xinclude.in.h14
-rw-r--r--gettext-tools/gnulib-lib/libxml/xlink.c12
-rw-r--r--gettext-tools/gnulib-lib/libxml/xlink.in.h14
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlIO.c666
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlIO.in.h138
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlautomata.in.h44
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlerror.in.h85
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlexports.in.h9
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlmemory.c192
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlmemory.in.h62
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlmodule.c25
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlmodule.in.h2
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlreader.c1241
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlreader.in.h226
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlregexp.c750
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlregexp.in.h42
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlsave.c782
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlsave.in.h6
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlschemas.c3147
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlschemas.in.h80
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlschemastypes.c394
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlschemastypes.in.h40
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlstring.c36
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlstring.in.h8
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlunicode.c1270
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlversion.in.h108
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlwriter.c436
-rw-r--r--gettext-tools/gnulib-lib/libxml/xmlwriter.in.h83
-rw-r--r--gettext-tools/gnulib-lib/libxml/xpath.c2357
-rw-r--r--gettext-tools/gnulib-lib/libxml/xpath.in.h108
-rw-r--r--gettext-tools/gnulib-lib/libxml/xpathInternals.in.h160
-rw-r--r--gettext-tools/gnulib-lib/libxml/xpointer.c170
-rw-r--r--gettext-tools/gnulib-lib/libxml/xpointer.in.h46
-rw-r--r--gettext-tools/gnulib-lib/localcharset.c44
-rw-r--r--gettext-tools/gnulib-lib/localcharset.h2
-rw-r--r--gettext-tools/gnulib-lib/locale.in.h2
-rw-r--r--gettext-tools/gnulib-lib/localename.c17
-rw-r--r--gettext-tools/gnulib-lib/localename.h2
-rw-r--r--gettext-tools/gnulib-lib/log10.c38
-rw-r--r--gettext-tools/gnulib-lib/lstat.c2
-rw-r--r--gettext-tools/gnulib-lib/malloc.c2
-rw-r--r--gettext-tools/gnulib-lib/malloca.c2
-rw-r--r--gettext-tools/gnulib-lib/malloca.h2
-rw-r--r--gettext-tools/gnulib-lib/math.c4
-rw-r--r--gettext-tools/gnulib-lib/math.in.h2278
-rw-r--r--gettext-tools/gnulib-lib/mbchar.c2
-rw-r--r--gettext-tools/gnulib-lib/mbchar.h2
-rw-r--r--gettext-tools/gnulib-lib/mbiter.h2
-rw-r--r--gettext-tools/gnulib-lib/mbrtowc.c2
-rw-r--r--gettext-tools/gnulib-lib/mbsinit.c2
-rw-r--r--gettext-tools/gnulib-lib/mbslen.c2
-rw-r--r--gettext-tools/gnulib-lib/mbsrtowcs-impl.h2
-rw-r--r--gettext-tools/gnulib-lib/mbsrtowcs-state.c2
-rw-r--r--gettext-tools/gnulib-lib/mbsrtowcs.c2
-rw-r--r--gettext-tools/gnulib-lib/mbsstr.c4
-rw-r--r--gettext-tools/gnulib-lib/mbswidth.c2
-rw-r--r--gettext-tools/gnulib-lib/mbswidth.h2
-rw-r--r--gettext-tools/gnulib-lib/mbuiter.h2
-rw-r--r--gettext-tools/gnulib-lib/memchr.c2
-rw-r--r--gettext-tools/gnulib-lib/memset.c2
-rw-r--r--gettext-tools/gnulib-lib/minmax.h2
-rw-r--r--gettext-tools/gnulib-lib/mkdtemp.c2
-rw-r--r--gettext-tools/gnulib-lib/moo.h2
-rw-r--r--gettext-tools/gnulib-lib/msvc-inval.c2
-rw-r--r--gettext-tools/gnulib-lib/msvc-inval.h2
-rw-r--r--gettext-tools/gnulib-lib/msvc-nothrow.c2
-rw-r--r--gettext-tools/gnulib-lib/msvc-nothrow.h2
-rw-r--r--gettext-tools/gnulib-lib/obstack.c2
-rw-r--r--gettext-tools/gnulib-lib/obstack.h2
-rw-r--r--gettext-tools/gnulib-lib/open.c2
-rw-r--r--gettext-tools/gnulib-lib/opendir.c2
-rw-r--r--gettext-tools/gnulib-lib/ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/pathmax.h2
-rw-r--r--gettext-tools/gnulib-lib/pipe-filter-aux.c2
-rw-r--r--gettext-tools/gnulib-lib/pipe-filter-aux.h2
-rw-r--r--gettext-tools/gnulib-lib/pipe-filter-ii.c2
-rw-r--r--gettext-tools/gnulib-lib/pipe-filter.h4
-rw-r--r--gettext-tools/gnulib-lib/pipe-safer.c2
-rw-r--r--gettext-tools/gnulib-lib/pipe2-safer.c2
-rw-r--r--gettext-tools/gnulib-lib/pipe2.c2
-rw-r--r--gettext-tools/gnulib-lib/printf-args.c2
-rw-r--r--gettext-tools/gnulib-lib/printf-args.h2
-rw-r--r--gettext-tools/gnulib-lib/printf-parse.c2
-rw-r--r--gettext-tools/gnulib-lib/printf-parse.h2
-rw-r--r--gettext-tools/gnulib-lib/progname.c2
-rw-r--r--gettext-tools/gnulib-lib/progname.h2
-rw-r--r--gettext-tools/gnulib-lib/progreloc.c24
-rw-r--r--gettext-tools/gnulib-lib/propername.c2
-rw-r--r--gettext-tools/gnulib-lib/propername.h14
-rw-r--r--gettext-tools/gnulib-lib/qcopy-acl.c546
-rw-r--r--gettext-tools/gnulib-lib/qset-acl.c641
-rw-r--r--gettext-tools/gnulib-lib/quote.h2
-rw-r--r--gettext-tools/gnulib-lib/quotearg.c93
-rw-r--r--gettext-tools/gnulib-lib/quotearg.h38
-rw-r--r--gettext-tools/gnulib-lib/raise.c2
-rw-r--r--gettext-tools/gnulib-lib/rawmemchr.c2
-rw-r--r--gettext-tools/gnulib-lib/read.c2
-rw-r--r--gettext-tools/gnulib-lib/readdir.c2
-rw-r--r--gettext-tools/gnulib-lib/readlink.c2
-rw-r--r--gettext-tools/gnulib-lib/realloc.c2
-rw-r--r--gettext-tools/gnulib-lib/ref-add.sin2
-rw-r--r--gettext-tools/gnulib-lib/ref-del.sin2
-rw-r--r--gettext-tools/gnulib-lib/relocatable.c77
-rw-r--r--gettext-tools/gnulib-lib/relocatable.h2
-rw-r--r--gettext-tools/gnulib-lib/relocwrapper.c2
-rw-r--r--gettext-tools/gnulib-lib/rmdir.c2
-rw-r--r--gettext-tools/gnulib-lib/safe-read.c2
-rw-r--r--gettext-tools/gnulib-lib/safe-read.h2
-rw-r--r--gettext-tools/gnulib-lib/safe-write.c2
-rw-r--r--gettext-tools/gnulib-lib/safe-write.h2
-rw-r--r--gettext-tools/gnulib-lib/sched.in.h9
-rw-r--r--gettext-tools/gnulib-lib/secure_getenv.c2
-rw-r--r--gettext-tools/gnulib-lib/set-acl.c2
-rw-r--r--gettext-tools/gnulib-lib/set-permissions.c846
-rw-r--r--gettext-tools/gnulib-lib/setenv.c2
-rw-r--r--gettext-tools/gnulib-lib/setlocale.c4
-rw-r--r--gettext-tools/gnulib-lib/sh-quote.c2
-rw-r--r--gettext-tools/gnulib-lib/sh-quote.h2
-rw-r--r--gettext-tools/gnulib-lib/sig-handler.h4
-rw-r--r--gettext-tools/gnulib-lib/sigaction.c2
-rw-r--r--gettext-tools/gnulib-lib/signal.in.h10
-rw-r--r--gettext-tools/gnulib-lib/signbitd.c64
-rw-r--r--gettext-tools/gnulib-lib/signbitf.c64
-rw-r--r--gettext-tools/gnulib-lib/signbitl.c64
-rw-r--r--gettext-tools/gnulib-lib/sigprocmask.c2
-rw-r--r--gettext-tools/gnulib-lib/size_max.h2
-rw-r--r--gettext-tools/gnulib-lib/snprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn-pipe.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn-pipe.h2
-rw-r--r--gettext-tools/gnulib-lib/spawn.in.h2
-rw-r--r--gettext-tools/gnulib-lib/spawn_faction_addclose.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn_faction_adddup2.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn_faction_addopen.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn_faction_destroy.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn_faction_init.c2
-rw-r--r--gettext-tools/gnulib-lib/spawn_int.h2
-rw-r--r--gettext-tools/gnulib-lib/spawnattr_destroy.c2
-rw-r--r--gettext-tools/gnulib-lib/spawnattr_init.c2
-rw-r--r--gettext-tools/gnulib-lib/spawnattr_setflags.c2
-rw-r--r--gettext-tools/gnulib-lib/spawnattr_setsigmask.c2
-rw-r--r--gettext-tools/gnulib-lib/spawni.c2
-rw-r--r--gettext-tools/gnulib-lib/spawnp.c2
-rw-r--r--gettext-tools/gnulib-lib/stat.c2
-rw-r--r--gettext-tools/gnulib-lib/stdarg.in.h2
-rw-r--r--gettext-tools/gnulib-lib/stdbool.in.h2
-rw-r--r--gettext-tools/gnulib-lib/stddef.in.h54
-rw-r--r--gettext-tools/gnulib-lib/stdint.in.h2
-rw-r--r--gettext-tools/gnulib-lib/stdio-write.c2
-rw-r--r--gettext-tools/gnulib-lib/stdio.in.h12
-rw-r--r--gettext-tools/gnulib-lib/stdlib.in.h2
-rw-r--r--gettext-tools/gnulib-lib/stpcpy.c2
-rw-r--r--gettext-tools/gnulib-lib/stpncpy.c2
-rw-r--r--gettext-tools/gnulib-lib/str-kmp.h2
-rw-r--r--gettext-tools/gnulib-lib/str-two-way.h2
-rw-r--r--gettext-tools/gnulib-lib/strchrnul.c2
-rw-r--r--gettext-tools/gnulib-lib/strcspn.c2
-rw-r--r--gettext-tools/gnulib-lib/streq.h2
-rw-r--r--gettext-tools/gnulib-lib/strerror-override.c2
-rw-r--r--gettext-tools/gnulib-lib/strerror-override.h2
-rw-r--r--gettext-tools/gnulib-lib/strerror.c2
-rw-r--r--gettext-tools/gnulib-lib/striconv.c2
-rw-r--r--gettext-tools/gnulib-lib/striconv.h2
-rw-r--r--gettext-tools/gnulib-lib/striconveh.c2
-rw-r--r--gettext-tools/gnulib-lib/striconveh.h2
-rw-r--r--gettext-tools/gnulib-lib/striconveha.c2
-rw-r--r--gettext-tools/gnulib-lib/striconveha.h2
-rw-r--r--gettext-tools/gnulib-lib/string.in.h23
-rw-r--r--gettext-tools/gnulib-lib/strnlen.c2
-rw-r--r--gettext-tools/gnulib-lib/strnlen1.c2
-rw-r--r--gettext-tools/gnulib-lib/strnlen1.h2
-rw-r--r--gettext-tools/gnulib-lib/strpbrk.c2
-rw-r--r--gettext-tools/gnulib-lib/strstr.c2
-rw-r--r--gettext-tools/gnulib-lib/strtol.c2
-rw-r--r--gettext-tools/gnulib-lib/strtoul.c2
-rw-r--r--gettext-tools/gnulib-lib/styled-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/styled-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/styled-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/styled-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/sys_select.in.h2
-rw-r--r--gettext-tools/gnulib-lib/sys_stat.in.h2
-rw-r--r--gettext-tools/gnulib-lib/sys_time.in.h2
-rw-r--r--gettext-tools/gnulib-lib/sys_types.in.h2
-rw-r--r--gettext-tools/gnulib-lib/sys_wait.in.h2
-rw-r--r--gettext-tools/gnulib-lib/tempname.c120
-rw-r--r--gettext-tools/gnulib-lib/tempname.h17
-rw-r--r--gettext-tools/gnulib-lib/term-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/term-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/term-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/term-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/term-styled-ostream.c2
-rw-r--r--gettext-tools/gnulib-lib/term-styled-ostream.h2
-rw-r--r--gettext-tools/gnulib-lib/term-styled-ostream.oo.c2
-rw-r--r--gettext-tools/gnulib-lib/term-styled-ostream.oo.h2
-rw-r--r--gettext-tools/gnulib-lib/terminfo.h2
-rw-r--r--gettext-tools/gnulib-lib/time.in.h31
-rw-r--r--gettext-tools/gnulib-lib/tmpdir.c2
-rw-r--r--gettext-tools/gnulib-lib/tmpdir.h2
-rw-r--r--gettext-tools/gnulib-lib/tparm.c2
-rw-r--r--gettext-tools/gnulib-lib/tputs.c2
-rw-r--r--gettext-tools/gnulib-lib/trim.c2
-rw-r--r--gettext-tools/gnulib-lib/trim.h2
-rw-r--r--gettext-tools/gnulib-lib/uniconv.in.h2
-rw-r--r--gettext-tools/gnulib-lib/uniconv/u8-conv-from-enc.c2
-rw-r--r--gettext-tools/gnulib-lib/unictype.in.h1050
-rw-r--r--gettext-tools/gnulib-lib/unictype/bitmap.h47
-rw-r--r--gettext-tools/gnulib-lib/unictype/ctype_space.c32
-rw-r--r--gettext-tools/gnulib-lib/unictype/ctype_space.h168
-rw-r--r--gettext-tools/gnulib-lib/unilbrk.in.h2
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/lbrkprop1.h4
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/lbrkprop2.h1344
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/lbrktables.c58
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/lbrktables.h25
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/u8-possible-linebreaks.c2
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/u8-width-linebreaks.c2
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/ulc-common.c2
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/ulc-common.h2
-rw-r--r--gettext-tools/gnulib-lib/unilbrk/ulc-width-linebreaks.c2
-rw-r--r--gettext-tools/gnulib-lib/uniname.in.h2
-rwxr-xr-xgettext-tools/gnulib-lib/uniname/gen-uninames.lisp139
-rw-r--r--gettext-tools/gnulib-lib/uniname/uniname.c278
-rw-r--r--gettext-tools/gnulib-lib/uniname/uninames.h143787
-rw-r--r--gettext-tools/gnulib-lib/unistd--.h2
-rw-r--r--gettext-tools/gnulib-lib/unistd-safer.h2
-rw-r--r--gettext-tools/gnulib-lib/unistd.c1
-rw-r--r--gettext-tools/gnulib-lib/unistd.in.h2
-rw-r--r--gettext-tools/gnulib-lib/unistr.in.h2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u16-mbtouc-aux.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u16-mbtouc.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-check.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-mblen.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-mbtouc-aux.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe-aux.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-mbtouc.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-mbtoucr.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-prev.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-uctomb-aux.c2
-rw-r--r--gettext-tools/gnulib-lib/unistr/u8-uctomb.c2
-rw-r--r--gettext-tools/gnulib-lib/unitypes.in.h2
-rw-r--r--gettext-tools/gnulib-lib/uniwidth.in.h2
-rw-r--r--gettext-tools/gnulib-lib/uniwidth/cjk.h2
-rw-r--r--gettext-tools/gnulib-lib/uniwidth/width.c152
-rw-r--r--gettext-tools/gnulib-lib/unlocked-io.h2
-rw-r--r--gettext-tools/gnulib-lib/unsetenv.c2
-rw-r--r--gettext-tools/gnulib-lib/vasnprintf.c25
-rw-r--r--gettext-tools/gnulib-lib/vasnprintf.h2
-rw-r--r--gettext-tools/gnulib-lib/vasprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/verify.h2
-rw-r--r--gettext-tools/gnulib-lib/vsnprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/w32spawn.h2
-rw-r--r--gettext-tools/gnulib-lib/wait-process.c2
-rw-r--r--gettext-tools/gnulib-lib/wait-process.h2
-rw-r--r--gettext-tools/gnulib-lib/waitpid.c2
-rw-r--r--gettext-tools/gnulib-lib/wchar.in.h11
-rw-r--r--gettext-tools/gnulib-lib/wctype.in.h2
-rw-r--r--gettext-tools/gnulib-lib/wcwidth.c2
-rw-r--r--gettext-tools/gnulib-lib/write.c2
-rw-r--r--gettext-tools/gnulib-lib/xalloc.h2
-rw-r--r--gettext-tools/gnulib-lib/xasprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/xconcat-filename.c2
-rw-r--r--gettext-tools/gnulib-lib/xerror.c2
-rw-r--r--gettext-tools/gnulib-lib/xerror.h2
-rw-r--r--gettext-tools/gnulib-lib/xmalloc.c3
-rw-r--r--gettext-tools/gnulib-lib/xmalloca.c2
-rw-r--r--gettext-tools/gnulib-lib/xmalloca.h2
-rw-r--r--gettext-tools/gnulib-lib/xreadlink.c2
-rw-r--r--gettext-tools/gnulib-lib/xreadlink.h2
-rw-r--r--gettext-tools/gnulib-lib/xsetenv.c2
-rw-r--r--gettext-tools/gnulib-lib/xsetenv.h2
-rw-r--r--gettext-tools/gnulib-lib/xsize.h2
-rw-r--r--gettext-tools/gnulib-lib/xstrdup.c3
-rw-r--r--gettext-tools/gnulib-lib/xstriconv.c2
-rw-r--r--gettext-tools/gnulib-lib/xstriconv.h2
-rw-r--r--gettext-tools/gnulib-lib/xstriconveh.c2
-rw-r--r--gettext-tools/gnulib-lib/xstriconveh.h2
-rw-r--r--gettext-tools/gnulib-lib/xvasprintf.c2
-rw-r--r--gettext-tools/gnulib-lib/xvasprintf.h2
-rw-r--r--gettext-tools/gnulib-m4/00gnulib.m42
-rw-r--r--gettext-tools/gnulib-m4/absolute-header.m42
-rw-r--r--gettext-tools/gnulib-m4/acl.m463
-rw-r--r--gettext-tools/gnulib-m4/alloca.m43
-rw-r--r--gettext-tools/gnulib-m4/ansi-c++.m42
-rw-r--r--gettext-tools/gnulib-m4/asm-underscore.m42
-rw-r--r--gettext-tools/gnulib-m4/atexit.m42
-rw-r--r--gettext-tools/gnulib-m4/backupfile.m42
-rw-r--r--gettext-tools/gnulib-m4/bison-i18n.m42
-rw-r--r--gettext-tools/gnulib-m4/btowc.m42
-rw-r--r--gettext-tools/gnulib-m4/byteswap.m42
-rw-r--r--gettext-tools/gnulib-m4/canonicalize.m42
-rw-r--r--gettext-tools/gnulib-m4/check-math-lib.m432
-rw-r--r--gettext-tools/gnulib-m4/close.m42
-rw-r--r--gettext-tools/gnulib-m4/closedir.m42
-rw-r--r--gettext-tools/gnulib-m4/configmake.m42
-rw-r--r--gettext-tools/gnulib-m4/copy-file.m42
-rw-r--r--gettext-tools/gnulib-m4/csharp.m42
-rw-r--r--gettext-tools/gnulib-m4/csharpcomp.m42
-rw-r--r--gettext-tools/gnulib-m4/csharpexec.m42
-rw-r--r--gettext-tools/gnulib-m4/ctype.m432
-rw-r--r--gettext-tools/gnulib-m4/curses.m42
-rw-r--r--gettext-tools/gnulib-m4/dirent_h.m42
-rw-r--r--gettext-tools/gnulib-m4/double-slash-root.m42
-rw-r--r--gettext-tools/gnulib-m4/dup.m42
-rw-r--r--gettext-tools/gnulib-m4/dup2.m486
-rw-r--r--gettext-tools/gnulib-m4/eaccess.m42
-rw-r--r--gettext-tools/gnulib-m4/eealloc.m42
-rw-r--r--gettext-tools/gnulib-m4/environ.m42
-rw-r--r--gettext-tools/gnulib-m4/errno_h.m42
-rw-r--r--gettext-tools/gnulib-m4/error.m42
-rw-r--r--gettext-tools/gnulib-m4/execute.m42
-rw-r--r--gettext-tools/gnulib-m4/exponentd.m42
-rw-r--r--gettext-tools/gnulib-m4/exponentf.m492
-rw-r--r--gettext-tools/gnulib-m4/exponentl.m498
-rw-r--r--gettext-tools/gnulib-m4/extensions.m47
-rw-r--r--gettext-tools/gnulib-m4/fabs.m411
-rw-r--r--gettext-tools/gnulib-m4/fatal-signal.m42
-rw-r--r--gettext-tools/gnulib-m4/fcntl.m460
-rw-r--r--gettext-tools/gnulib-m4/fcntl_h.m42
-rw-r--r--gettext-tools/gnulib-m4/fdopen.m42
-rw-r--r--gettext-tools/gnulib-m4/findprog.m42
-rw-r--r--gettext-tools/gnulib-m4/float_h.m42
-rw-r--r--gettext-tools/gnulib-m4/fnmatch.m44
-rw-r--r--gettext-tools/gnulib-m4/fopen.m42
-rw-r--r--gettext-tools/gnulib-m4/fpieee.m44
-rw-r--r--gettext-tools/gnulib-m4/fseeko.m42
-rw-r--r--gettext-tools/gnulib-m4/fstat.m42
-rw-r--r--gettext-tools/gnulib-m4/ftell.m42
-rw-r--r--gettext-tools/gnulib-m4/ftello.m42
-rw-r--r--gettext-tools/gnulib-m4/gcj.m42
-rw-r--r--gettext-tools/gnulib-m4/getcwd.m49
-rw-r--r--gettext-tools/gnulib-m4/getdelim.m42
-rw-r--r--gettext-tools/gnulib-m4/getdtablesize.m48
-rw-r--r--gettext-tools/gnulib-m4/getline.m42
-rw-r--r--gettext-tools/gnulib-m4/getopt.m42
-rw-r--r--gettext-tools/gnulib-m4/getpagesize.m42
-rw-r--r--gettext-tools/gnulib-m4/gettimeofday.m42
-rw-r--r--gettext-tools/gnulib-m4/gnulib-cache.m46
-rw-r--r--gettext-tools/gnulib-m4/gnulib-common.m445
-rw-r--r--gettext-tools/gnulib-m4/gnulib-comp.m4243
-rw-r--r--gettext-tools/gnulib-m4/iconv_h.m42
-rw-r--r--gettext-tools/gnulib-m4/iconv_open.m42
-rw-r--r--gettext-tools/gnulib-m4/include_next.m42
-rw-r--r--gettext-tools/gnulib-m4/inline.m42
-rw-r--r--gettext-tools/gnulib-m4/intmax_t.m42
-rw-r--r--gettext-tools/gnulib-m4/inttypes.m42
-rw-r--r--gettext-tools/gnulib-m4/isinf.m4156
-rw-r--r--gettext-tools/gnulib-m4/isnan.m444
-rw-r--r--gettext-tools/gnulib-m4/isnand.m496
-rw-r--r--gettext-tools/gnulib-m4/isnanf.m4188
-rw-r--r--gettext-tools/gnulib-m4/isnanl.m4236
-rw-r--r--gettext-tools/gnulib-m4/iswblank.m42
-rw-r--r--gettext-tools/gnulib-m4/java.m42
-rw-r--r--gettext-tools/gnulib-m4/javacomp.m42
-rw-r--r--gettext-tools/gnulib-m4/javaexec.m42
-rw-r--r--gettext-tools/gnulib-m4/langinfo_h.m4 (renamed from gettext-tools/libgrep/gnulib-m4/langinfo_h.m4)2
-rw-r--r--gettext-tools/gnulib-m4/largefile.m42
-rw-r--r--gettext-tools/gnulib-m4/lib-ld.m42
-rw-r--r--gettext-tools/gnulib-m4/lib-link.m42
-rw-r--r--gettext-tools/gnulib-m4/lib-prefix.m42
-rw-r--r--gettext-tools/gnulib-m4/libcroco.m42
-rw-r--r--gettext-tools/gnulib-m4/libglib.m42
-rw-r--r--gettext-tools/gnulib-m4/libunistring-base.m42
-rw-r--r--gettext-tools/gnulib-m4/libunistring-optional.m42
-rw-r--r--gettext-tools/gnulib-m4/libunistring.m42
-rw-r--r--gettext-tools/gnulib-m4/libxml.m42
-rw-r--r--gettext-tools/gnulib-m4/localcharset.m42
-rw-r--r--gettext-tools/gnulib-m4/locale-fr.m42
-rw-r--r--gettext-tools/gnulib-m4/locale-ja.m42
-rw-r--r--gettext-tools/gnulib-m4/locale-tr.m42
-rw-r--r--gettext-tools/gnulib-m4/locale-zh.m42
-rw-r--r--gettext-tools/gnulib-m4/locale_h.m42
-rw-r--r--gettext-tools/gnulib-m4/localename.m47
-rw-r--r--gettext-tools/gnulib-m4/log10.m4107
-rw-r--r--gettext-tools/gnulib-m4/lseek.m42
-rw-r--r--gettext-tools/gnulib-m4/lstat.m450
-rw-r--r--gettext-tools/gnulib-m4/malloc.m42
-rw-r--r--gettext-tools/gnulib-m4/malloca.m42
-rw-r--r--gettext-tools/gnulib-m4/math_h.m4353
-rw-r--r--gettext-tools/gnulib-m4/mathfunc.m4163
-rw-r--r--gettext-tools/gnulib-m4/mbchar.m42
-rw-r--r--gettext-tools/gnulib-m4/mbiter.m42
-rw-r--r--gettext-tools/gnulib-m4/mbrtowc.m48
-rw-r--r--gettext-tools/gnulib-m4/mbsinit.m42
-rw-r--r--gettext-tools/gnulib-m4/mbslen.m42
-rw-r--r--gettext-tools/gnulib-m4/mbsrtowcs.m42
-rw-r--r--gettext-tools/gnulib-m4/mbstate_t.m42
-rw-r--r--gettext-tools/gnulib-m4/mbswidth.m42
-rw-r--r--gettext-tools/gnulib-m4/mbtowc.m42
-rw-r--r--gettext-tools/gnulib-m4/memchr.m42
-rw-r--r--gettext-tools/gnulib-m4/memmove.m42
-rw-r--r--gettext-tools/gnulib-m4/memset.m42
-rw-r--r--gettext-tools/gnulib-m4/minmax.m42
-rw-r--r--gettext-tools/gnulib-m4/mkdtemp.m42
-rw-r--r--gettext-tools/gnulib-m4/mmap-anon.m42
-rw-r--r--gettext-tools/gnulib-m4/mode_t.m42
-rw-r--r--gettext-tools/gnulib-m4/moo.m42
-rw-r--r--gettext-tools/gnulib-m4/msvc-inval.m42
-rw-r--r--gettext-tools/gnulib-m4/msvc-nothrow.m42
-rw-r--r--gettext-tools/gnulib-m4/multiarch.m42
-rw-r--r--gettext-tools/gnulib-m4/no-c++.m42
-rw-r--r--gettext-tools/gnulib-m4/nocrash.m42
-rw-r--r--gettext-tools/gnulib-m4/obstack.m42
-rw-r--r--gettext-tools/gnulib-m4/off_t.m42
-rw-r--r--gettext-tools/gnulib-m4/open.m42
-rw-r--r--gettext-tools/gnulib-m4/opendir.m42
-rw-r--r--gettext-tools/gnulib-m4/pathmax.m42
-rw-r--r--gettext-tools/gnulib-m4/pipe2.m42
-rw-r--r--gettext-tools/gnulib-m4/posix_spawn.m42
-rw-r--r--gettext-tools/gnulib-m4/pow.m411
-rw-r--r--gettext-tools/gnulib-m4/printf.m449
-rw-r--r--gettext-tools/gnulib-m4/putenv.m42
-rw-r--r--gettext-tools/gnulib-m4/quote.m42
-rw-r--r--gettext-tools/gnulib-m4/quotearg.m42
-rw-r--r--gettext-tools/gnulib-m4/raise.m42
-rw-r--r--gettext-tools/gnulib-m4/rawmemchr.m42
-rw-r--r--gettext-tools/gnulib-m4/read-file.m42
-rw-r--r--gettext-tools/gnulib-m4/read.m42
-rw-r--r--gettext-tools/gnulib-m4/readdir.m42
-rw-r--r--gettext-tools/gnulib-m4/readlink.m42
-rw-r--r--gettext-tools/gnulib-m4/realloc.m42
-rw-r--r--gettext-tools/gnulib-m4/relocatable-lib.m42
-rw-r--r--gettext-tools/gnulib-m4/relocatable.m42
-rw-r--r--gettext-tools/gnulib-m4/rmdir.m42
-rw-r--r--gettext-tools/gnulib-m4/safe-read.m42
-rw-r--r--gettext-tools/gnulib-m4/safe-write.m42
-rw-r--r--gettext-tools/gnulib-m4/sched_h.m417
-rw-r--r--gettext-tools/gnulib-m4/secure_getenv.m42
-rw-r--r--gettext-tools/gnulib-m4/setenv.m42
-rw-r--r--gettext-tools/gnulib-m4/setlocale.m42
-rw-r--r--gettext-tools/gnulib-m4/sig_atomic_t.m42
-rw-r--r--gettext-tools/gnulib-m4/sigaction.m42
-rw-r--r--gettext-tools/gnulib-m4/signal_h.m42
-rw-r--r--gettext-tools/gnulib-m4/signalblocking.m42
-rw-r--r--gettext-tools/gnulib-m4/signbit.m4365
-rw-r--r--gettext-tools/gnulib-m4/sigpipe.m42
-rw-r--r--gettext-tools/gnulib-m4/sleep.m42
-rw-r--r--gettext-tools/gnulib-m4/snprintf.m42
-rw-r--r--gettext-tools/gnulib-m4/spawn-pipe.m42
-rw-r--r--gettext-tools/gnulib-m4/spawn_h.m42
-rw-r--r--gettext-tools/gnulib-m4/ssize_t.m42
-rw-r--r--gettext-tools/gnulib-m4/stat.m42
-rw-r--r--gettext-tools/gnulib-m4/stdalign.m457
-rw-r--r--gettext-tools/gnulib-m4/stdarg.m42
-rw-r--r--gettext-tools/gnulib-m4/stdbool.m42
-rw-r--r--gettext-tools/gnulib-m4/stddef_h.m410
-rw-r--r--gettext-tools/gnulib-m4/stdint.m42
-rw-r--r--gettext-tools/gnulib-m4/stdio_h.m431
-rw-r--r--gettext-tools/gnulib-m4/stdlib_h.m42
-rw-r--r--gettext-tools/gnulib-m4/stpcpy.m42
-rw-r--r--gettext-tools/gnulib-m4/stpncpy.m42
-rw-r--r--gettext-tools/gnulib-m4/strchrnul.m42
-rw-r--r--gettext-tools/gnulib-m4/strcspn.m42
-rw-r--r--gettext-tools/gnulib-m4/strerror.m42
-rw-r--r--gettext-tools/gnulib-m4/string_h.m42
-rw-r--r--gettext-tools/gnulib-m4/strnlen.m42
-rw-r--r--gettext-tools/gnulib-m4/strpbrk.m42
-rw-r--r--gettext-tools/gnulib-m4/strstr.m42
-rw-r--r--gettext-tools/gnulib-m4/strtol.m42
-rw-r--r--gettext-tools/gnulib-m4/strtoul.m42
-rw-r--r--gettext-tools/gnulib-m4/symlink.m42
-rw-r--r--gettext-tools/gnulib-m4/sys_select_h.m42
-rw-r--r--gettext-tools/gnulib-m4/sys_socket_h.m42
-rw-r--r--gettext-tools/gnulib-m4/sys_stat_h.m42
-rw-r--r--gettext-tools/gnulib-m4/sys_time_h.m43
-rw-r--r--gettext-tools/gnulib-m4/sys_types_h.m42
-rw-r--r--gettext-tools/gnulib-m4/sys_wait_h.m42
-rw-r--r--gettext-tools/gnulib-m4/tempname.m42
-rw-r--r--gettext-tools/gnulib-m4/term-ostream.m42
-rw-r--r--gettext-tools/gnulib-m4/terminfo.m43
-rw-r--r--gettext-tools/gnulib-m4/thread.m42
-rw-r--r--gettext-tools/gnulib-m4/time_h.m422
-rw-r--r--gettext-tools/gnulib-m4/tls.m42
-rw-r--r--gettext-tools/gnulib-m4/tmpdir.m42
-rw-r--r--gettext-tools/gnulib-m4/ungetc.m47
-rw-r--r--gettext-tools/gnulib-m4/unionwait.m42
-rw-r--r--gettext-tools/gnulib-m4/unistd-safer.m42
-rw-r--r--gettext-tools/gnulib-m4/unistd_h.m42
-rw-r--r--gettext-tools/gnulib-m4/unlocked-io.m42
-rw-r--r--gettext-tools/gnulib-m4/vasnprintf.m42
-rw-r--r--gettext-tools/gnulib-m4/vasprintf.m42
-rw-r--r--gettext-tools/gnulib-m4/vsnprintf.m42
-rw-r--r--gettext-tools/gnulib-m4/wait-process.m42
-rw-r--r--gettext-tools/gnulib-m4/waitpid.m42
-rw-r--r--gettext-tools/gnulib-m4/warn-on-use.m42
-rw-r--r--gettext-tools/gnulib-m4/wchar_h.m42
-rw-r--r--gettext-tools/gnulib-m4/wcrtomb.m42
-rw-r--r--gettext-tools/gnulib-m4/wctob.m42
-rw-r--r--gettext-tools/gnulib-m4/wctomb.m42
-rw-r--r--gettext-tools/gnulib-m4/wctype_h.m42
-rw-r--r--gettext-tools/gnulib-m4/wcwidth.m42
-rw-r--r--gettext-tools/gnulib-m4/write.m42
-rw-r--r--gettext-tools/gnulib-m4/xvasprintf.m42
-rw-r--r--gettext-tools/gnulib-m4/yield.m42
-rw-r--r--gettext-tools/gnulib-tests/ChangeLog.0 (renamed from gettext-tools/gnulib-tests/ChangeLog)8
-rw-r--r--gettext-tools/gnulib-tests/Makefile.am2
-rw-r--r--gettext-tools/gnulib-tests/Makefile.gnulib240
-rw-r--r--gettext-tools/gnulib-tests/Makefile.in1156
-rw-r--r--gettext-tools/gnulib-tests/btowc.c2
-rw-r--r--gettext-tools/gnulib-tests/ctype.in.h57
-rw-r--r--gettext-tools/gnulib-tests/dup.c2
-rw-r--r--gettext-tools/gnulib-tests/fdopen.c2
-rw-r--r--gettext-tools/gnulib-tests/file-has-acl.c503
-rw-r--r--gettext-tools/gnulib-tests/fpucw.h4
-rw-r--r--gettext-tools/gnulib-tests/ftell.c2
-rw-r--r--gettext-tools/gnulib-tests/ftello.c2
-rw-r--r--gettext-tools/gnulib-tests/getcwd-lgpl.c2
-rw-r--r--gettext-tools/gnulib-tests/getpagesize.c2
-rw-r--r--gettext-tools/gnulib-tests/glthread/thread.c2
-rw-r--r--gettext-tools/gnulib-tests/glthread/thread.h2
-rw-r--r--gettext-tools/gnulib-tests/glthread/yield.h2
-rw-r--r--gettext-tools/gnulib-tests/infinity.h60
-rw-r--r--gettext-tools/gnulib-tests/init.sh24
-rw-r--r--gettext-tools/gnulib-tests/inttypes.in.h6
-rw-r--r--gettext-tools/gnulib-tests/lseek.c2
-rw-r--r--gettext-tools/gnulib-tests/macros.h2
-rw-r--r--gettext-tools/gnulib-tests/mbtowc-impl.h2
-rw-r--r--gettext-tools/gnulib-tests/mbtowc.c2
-rw-r--r--gettext-tools/gnulib-tests/minus-zero.h74
-rw-r--r--gettext-tools/gnulib-tests/nan.h70
-rw-r--r--gettext-tools/gnulib-tests/putenv.c2
-rw-r--r--gettext-tools/gnulib-tests/randomd.c1028
-rw-r--r--gettext-tools/gnulib-tests/read-file.c2
-rw-r--r--gettext-tools/gnulib-tests/read-file.h2
-rw-r--r--gettext-tools/gnulib-tests/same-inode.h2
-rw-r--r--gettext-tools/gnulib-tests/signature.h2
-rw-r--r--gettext-tools/gnulib-tests/sleep.c2
-rw-r--r--gettext-tools/gnulib-tests/stdalign.in.h121
-rw-r--r--gettext-tools/gnulib-tests/stdio-impl.h7
-rw-r--r--gettext-tools/gnulib-tests/symlink.c2
-rw-r--r--gettext-tools/gnulib-tests/test-alignof.c2
-rw-r--r--gettext-tools/gnulib-tests/test-alloca-opt.c2
-rw-r--r--gettext-tools/gnulib-tests/test-areadlink.c2
-rw-r--r--gettext-tools/gnulib-tests/test-areadlink.h2
-rw-r--r--gettext-tools/gnulib-tests/test-argmatch.c2
-rw-r--r--gettext-tools/gnulib-tests/test-array_list.c2
-rw-r--r--gettext-tools/gnulib-tests/test-atexit.c2
-rw-r--r--gettext-tools/gnulib-tests/test-binary-io.c2
-rw-r--r--gettext-tools/gnulib-tests/test-btowc.c2
-rw-r--r--gettext-tools/gnulib-tests/test-byteswap.c2
-rw-r--r--gettext-tools/gnulib-tests/test-c-ctype.c354
-rw-r--r--gettext-tools/gnulib-tests/test-c-strcasecmp.c2
-rw-r--r--gettext-tools/gnulib-tests/test-c-strcasestr.c2
-rw-r--r--gettext-tools/gnulib-tests/test-c-strncasecmp.c2
-rw-r--r--gettext-tools/gnulib-tests/test-c-strstr.c2
-rw-r--r--gettext-tools/gnulib-tests/test-canonicalize-lgpl.c2
-rw-r--r--gettext-tools/gnulib-tests/test-cloexec.c2
-rw-r--r--gettext-tools/gnulib-tests/test-close.c2
-rw-r--r--gettext-tools/gnulib-tests/test-copy-acl.c2
-rw-r--r--gettext-tools/gnulib-tests/test-copy-file.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ctype.c27
-rw-r--r--gettext-tools/gnulib-tests/test-dirent.c2
-rw-r--r--gettext-tools/gnulib-tests/test-dup-safer.c2
-rw-r--r--gettext-tools/gnulib-tests/test-dup.c2
-rw-r--r--gettext-tools/gnulib-tests/test-dup2.c2
-rw-r--r--gettext-tools/gnulib-tests/test-environ.c2
-rw-r--r--gettext-tools/gnulib-tests/test-errno.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fabs.c54
-rw-r--r--gettext-tools/gnulib-tests/test-fabs.h48
-rw-r--r--gettext-tools/gnulib-tests/test-fcntl-h.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fcntl.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fdopen.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fgetc.c2
-rw-r--r--gettext-tools/gnulib-tests/test-file-has-acl.c2
-rw-r--r--gettext-tools/gnulib-tests/test-float.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fnmatch.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fopen.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fopen.h2
-rw-r--r--gettext-tools/gnulib-tests/test-fputc.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fread.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fstat.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fstrcmp.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ftell.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ftell3.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ftello.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ftello3.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ftello4.c2
-rw-r--r--gettext-tools/gnulib-tests/test-fwrite.c2
-rw-r--r--gettext-tools/gnulib-tests/test-getcwd-lgpl.c2
-rw-r--r--gettext-tools/gnulib-tests/test-getdelim.c2
-rw-r--r--gettext-tools/gnulib-tests/test-getdtablesize.c2
-rw-r--r--gettext-tools/gnulib-tests/test-getline.c2
-rw-r--r--gettext-tools/gnulib-tests/test-getopt.c2
-rw-r--r--gettext-tools/gnulib-tests/test-getopt.h2
-rw-r--r--gettext-tools/gnulib-tests/test-getopt_long.h2
-rw-r--r--gettext-tools/gnulib-tests/test-gettimeofday.c2
-rw-r--r--gettext-tools/gnulib-tests/test-iconv-h.c2
-rw-r--r--gettext-tools/gnulib-tests/test-iconv.c2
-rw-r--r--gettext-tools/gnulib-tests/test-ignore-value.c2
-rwxr-xr-xgettext-tools/gnulib-tests/test-init.sh2
-rw-r--r--gettext-tools/gnulib-tests/test-intprops.c392
-rw-r--r--gettext-tools/gnulib-tests/test-inttypes.c2
-rw-r--r--gettext-tools/gnulib-tests/test-isinf.c246
-rw-r--r--gettext-tools/gnulib-tests/test-isnan.c225
-rw-r--r--gettext-tools/gnulib-tests/test-isnand-nolibm.c21
-rw-r--r--gettext-tools/gnulib-tests/test-isnand.c21
-rw-r--r--gettext-tools/gnulib-tests/test-isnand.h63
-rw-r--r--gettext-tools/gnulib-tests/test-isnanf-nolibm.c21
-rw-r--r--gettext-tools/gnulib-tests/test-isnanf.c21
-rw-r--r--gettext-tools/gnulib-tests/test-isnanf.h65
-rw-r--r--gettext-tools/gnulib-tests/test-isnanl-nolibm.c23
-rw-r--r--gettext-tools/gnulib-tests/test-isnanl.c23
-rw-r--r--gettext-tools/gnulib-tests/test-isnanl.h130
-rw-r--r--gettext-tools/gnulib-tests/test-iswblank.c2
-rw-r--r--gettext-tools/gnulib-tests/test-langinfo.c92
-rw-r--r--gettext-tools/gnulib-tests/test-linkedhash_list.c2
-rw-r--r--gettext-tools/gnulib-tests/test-locale.c13
-rw-r--r--gettext-tools/gnulib-tests/test-localename.c2
-rw-r--r--gettext-tools/gnulib-tests/test-lock.c2
-rw-r--r--gettext-tools/gnulib-tests/test-log10.c51
-rw-r--r--gettext-tools/gnulib-tests/test-log10.h104
-rw-r--r--gettext-tools/gnulib-tests/test-lseek.c2
-rw-r--r--gettext-tools/gnulib-tests/test-lstat.c2
-rw-r--r--gettext-tools/gnulib-tests/test-lstat.h2
-rw-r--r--gettext-tools/gnulib-tests/test-malloca.c2
-rw-r--r--gettext-tools/gnulib-tests/test-math.c104
-rw-r--r--gettext-tools/gnulib-tests/test-mbrtowc-w32.c2
-rw-r--r--gettext-tools/gnulib-tests/test-mbrtowc.c2
-rw-r--r--gettext-tools/gnulib-tests/test-mbsinit.c2
-rw-r--r--gettext-tools/gnulib-tests/test-mbsrtowcs.c2
-rw-r--r--gettext-tools/gnulib-tests/test-mbsstr1.c2
-rw-r--r--gettext-tools/gnulib-tests/test-mbsstr2.c2
-rw-r--r--gettext-tools/gnulib-tests/test-mbsstr3.c2
-rw-r--r--gettext-tools/gnulib-tests/test-memchr.c2
-rw-r--r--gettext-tools/gnulib-tests/test-open.c2
-rw-r--r--gettext-tools/gnulib-tests/test-open.h2
-rw-r--r--gettext-tools/gnulib-tests/test-pathmax.c2
-rw-r--r--gettext-tools/gnulib-tests/test-pipe-filter-ii1.c2
-rw-r--r--gettext-tools/gnulib-tests/test-pipe-filter-ii2-child.c2
-rw-r--r--gettext-tools/gnulib-tests/test-pipe-filter-ii2-main.c2
-rwxr-xr-xgettext-tools/gnulib-tests/test-pipe-filter-ii2.sh2
-rw-r--r--gettext-tools/gnulib-tests/test-pipe2.c2
-rw-r--r--gettext-tools/gnulib-tests/test-posix_spawn1.c2
-rw-r--r--gettext-tools/gnulib-tests/test-posix_spawn2.c2
-rw-r--r--gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addclose.c2
-rw-r--r--gettext-tools/gnulib-tests/test-posix_spawn_file_actions_adddup2.c2
-rw-r--r--gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addopen.c2
-rw-r--r--gettext-tools/gnulib-tests/test-pow.c42
-rw-r--r--gettext-tools/gnulib-tests/test-quotearg-simple.c24
-rw-r--r--gettext-tools/gnulib-tests/test-quotearg.h2
-rw-r--r--gettext-tools/gnulib-tests/test-raise.c2
-rw-r--r--gettext-tools/gnulib-tests/test-rawmemchr.c2
-rw-r--r--gettext-tools/gnulib-tests/test-read-file.c8
-rw-r--r--gettext-tools/gnulib-tests/test-read.c2
-rw-r--r--gettext-tools/gnulib-tests/test-readlink.c2
-rw-r--r--gettext-tools/gnulib-tests/test-readlink.h2
-rw-r--r--gettext-tools/gnulib-tests/test-rmdir.c2
-rw-r--r--gettext-tools/gnulib-tests/test-rmdir.h2
-rw-r--r--gettext-tools/gnulib-tests/test-sameacls.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sched.c2
-rw-r--r--gettext-tools/gnulib-tests/test-set-mode-acl.c2
-rw-r--r--gettext-tools/gnulib-tests/test-setenv.c2
-rw-r--r--gettext-tools/gnulib-tests/test-setlocale1.c2
-rw-r--r--gettext-tools/gnulib-tests/test-setlocale2.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sh-quote.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sigaction.c2
-rw-r--r--gettext-tools/gnulib-tests/test-signal-h.c2
-rw-r--r--gettext-tools/gnulib-tests/test-signbit.c187
-rw-r--r--gettext-tools/gnulib-tests/test-sigpipe.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sigprocmask.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sleep.c2
-rw-r--r--gettext-tools/gnulib-tests/test-snprintf.c2
-rw-r--r--gettext-tools/gnulib-tests/test-spawn-pipe-child.c2
-rw-r--r--gettext-tools/gnulib-tests/test-spawn-pipe-main.c2
-rw-r--r--gettext-tools/gnulib-tests/test-spawn.c2
-rw-r--r--gettext-tools/gnulib-tests/test-stat.c2
-rw-r--r--gettext-tools/gnulib-tests/test-stat.h2
-rw-r--r--gettext-tools/gnulib-tests/test-stdalign.c116
-rw-r--r--gettext-tools/gnulib-tests/test-stdbool.c2
-rw-r--r--gettext-tools/gnulib-tests/test-stddef.c25
-rw-r--r--gettext-tools/gnulib-tests/test-stdint.c2
-rw-r--r--gettext-tools/gnulib-tests/test-stdio.c2
-rw-r--r--gettext-tools/gnulib-tests/test-stdlib.c2
-rw-r--r--gettext-tools/gnulib-tests/test-strchrnul.c2
-rw-r--r--gettext-tools/gnulib-tests/test-strerror.c2
-rw-r--r--gettext-tools/gnulib-tests/test-striconv.c2
-rw-r--r--gettext-tools/gnulib-tests/test-striconveh.c2
-rw-r--r--gettext-tools/gnulib-tests/test-striconveha.c2
-rw-r--r--gettext-tools/gnulib-tests/test-string.c2
-rw-r--r--gettext-tools/gnulib-tests/test-strnlen.c2
-rw-r--r--gettext-tools/gnulib-tests/test-strstr.c3
-rw-r--r--gettext-tools/gnulib-tests/test-strtol.c2
-rw-r--r--gettext-tools/gnulib-tests/test-strtoul.c2
-rw-r--r--gettext-tools/gnulib-tests/test-symlink.c2
-rw-r--r--gettext-tools/gnulib-tests/test-symlink.h2
-rw-r--r--gettext-tools/gnulib-tests/test-sys_select.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sys_stat.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sys_time.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sys_types.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sys_wait.c2
-rw-r--r--gettext-tools/gnulib-tests/test-sys_wait.h2
-rwxr-xr-xgettext-tools/gnulib-tests/test-term-ostream-xterm1
-rw-r--r--gettext-tools/gnulib-tests/test-term-ostream-xterm-freebsd101.out131
-rw-r--r--gettext-tools/gnulib-tests/test-thread_create.c2
-rw-r--r--gettext-tools/gnulib-tests/test-thread_self.c2
-rw-r--r--gettext-tools/gnulib-tests/test-time.c2
-rw-r--r--gettext-tools/gnulib-tests/test-tls.c2
-rw-r--r--gettext-tools/gnulib-tests/test-unistd.c2
-rw-r--r--gettext-tools/gnulib-tests/test-unsetenv.c2
-rw-r--r--gettext-tools/gnulib-tests/test-vasnprintf-posix.c124
-rw-r--r--gettext-tools/gnulib-tests/test-vasnprintf.c2
-rw-r--r--gettext-tools/gnulib-tests/test-vasprintf.c2
-rw-r--r--gettext-tools/gnulib-tests/test-verify.c2
-rw-r--r--gettext-tools/gnulib-tests/test-vsnprintf.c2
-rw-r--r--gettext-tools/gnulib-tests/test-wchar.c2
-rw-r--r--gettext-tools/gnulib-tests/test-wcrtomb-w32.c2
-rw-r--r--gettext-tools/gnulib-tests/test-wcrtomb.c2
-rw-r--r--gettext-tools/gnulib-tests/test-wctype-h.c2
-rw-r--r--gettext-tools/gnulib-tests/test-wcwidth.c2
-rw-r--r--gettext-tools/gnulib-tests/test-write.c2
-rw-r--r--gettext-tools/gnulib-tests/test-xalloc-die.c2
-rwxr-xr-xgettext-tools/gnulib-tests/test-xalloc-die.sh2
-rw-r--r--gettext-tools/gnulib-tests/test-xvasprintf.c2
-rw-r--r--gettext-tools/gnulib-tests/uniconv/test-u8-conv-from-enc.c2
-rw-r--r--gettext-tools/gnulib-tests/unictype/test-ctype_space.c30
-rw-r--r--gettext-tools/gnulib-tests/unictype/test-predicate-part1.h31
-rw-r--r--gettext-tools/gnulib-tests/unictype/test-predicate-part2.h37
-rw-r--r--gettext-tools/gnulib-tests/unilbrk/test-u8-width-linebreaks.c2
-rw-r--r--gettext-tools/gnulib-tests/uniname/HangulSyllableNames.txt11175
-rw-r--r--gettext-tools/gnulib-tests/uniname/NameAliases.txt554
-rw-r--r--gettext-tools/gnulib-tests/uniname/UnicodeData.txt (renamed from gettext-tools/gnulib-tests/uniname/UnicodeDataNames.txt)22318
-rw-r--r--gettext-tools/gnulib-tests/uniname/test-uninames.c221
-rwxr-xr-xgettext-tools/gnulib-tests/uniname/test-uninames.sh2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-cmp.h2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.h2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-check.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-cmp.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-mblen.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-mbtoucr.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-prev.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-strlen.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/test-u8-uctomb.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/u8-cmp.c2
-rw-r--r--gettext-tools/gnulib-tests/unistr/u8-strlen.c2
-rw-r--r--gettext-tools/gnulib-tests/wcrtomb.c2
-rw-r--r--gettext-tools/gnulib-tests/wctob.c2
-rw-r--r--gettext-tools/gnulib-tests/wctomb-impl.h2
-rw-r--r--gettext-tools/gnulib-tests/wctomb.c2
-rw-r--r--gettext-tools/gnulib-tests/zerosize-ptr.h2
-rw-r--r--gettext-tools/its/Makefile.am24
-rw-r--r--gettext-tools/its/Makefile.in1985
-rw-r--r--gettext-tools/its/appdata.its10
-rw-r--r--gettext-tools/its/appdata.loc6
-rw-r--r--gettext-tools/its/glade.loc13
-rw-r--r--gettext-tools/its/glade1.its18
-rw-r--r--gettext-tools/its/glade2.its27
-rw-r--r--gettext-tools/its/gsettings.its15
-rw-r--r--gettext-tools/its/gsettings.loc6
-rw-r--r--gettext-tools/its/gtkbuilder.its17
-rw-r--r--gettext-tools/libgettextpo/ChangeLog.0 (renamed from gettext-tools/libgettextpo/ChangeLog)14
-rw-r--r--gettext-tools/libgettextpo/Makefile.am11
-rw-r--r--gettext-tools/libgettextpo/Makefile.gnulib106
-rw-r--r--gettext-tools/libgettextpo/Makefile.in559
-rw-r--r--gettext-tools/libgettextpo/alignof.h2
-rw-r--r--gettext-tools/libgettextpo/alloca.in.h3
-rw-r--r--gettext-tools/libgettextpo/asnprintf.c2
-rw-r--r--gettext-tools/libgettextpo/asprintf.c2
-rw-r--r--gettext-tools/libgettextpo/basename.c3
-rw-r--r--gettext-tools/libgettextpo/basename.h2
-rw-r--r--gettext-tools/libgettextpo/c-ctype.c394
-rw-r--r--gettext-tools/libgettextpo/c-ctype.h453
-rw-r--r--gettext-tools/libgettextpo/c-strcase.h2
-rw-r--r--gettext-tools/libgettextpo/c-strcasecmp.c2
-rw-r--r--gettext-tools/libgettextpo/c-strcaseeq.h5
-rw-r--r--gettext-tools/libgettextpo/c-strncasecmp.c2
-rw-r--r--gettext-tools/libgettextpo/c-strstr.c2
-rw-r--r--gettext-tools/libgettextpo/c-strstr.h2
-rw-r--r--gettext-tools/libgettextpo/close.c2
-rw-r--r--gettext-tools/libgettextpo/concat-filename.c2
-rw-r--r--gettext-tools/libgettextpo/concat-filename.h2
-rw-r--r--gettext-tools/libgettextpo/config.charset6
-rw-r--r--gettext-tools/libgettextpo/diffseq.h6
-rw-r--r--gettext-tools/libgettextpo/dosname.h2
-rw-r--r--gettext-tools/libgettextpo/errno.in.h2
-rw-r--r--gettext-tools/libgettextpo/error-progname.c2
-rw-r--r--gettext-tools/libgettextpo/error-progname.h2
-rw-r--r--gettext-tools/libgettextpo/error.c6
-rw-r--r--gettext-tools/libgettextpo/error.h16
-rw-r--r--gettext-tools/libgettextpo/exitfail.c2
-rw-r--r--gettext-tools/libgettextpo/exitfail.h2
-rw-r--r--gettext-tools/libgettextpo/exported.sh.in2
-rw-r--r--gettext-tools/libgettextpo/fcntl.in.h2
-rw-r--r--gettext-tools/libgettextpo/fd-hook.c2
-rw-r--r--gettext-tools/libgettextpo/fd-hook.h2
-rw-r--r--gettext-tools/libgettextpo/file-ostream.c2
-rw-r--r--gettext-tools/libgettextpo/file-ostream.h2
-rw-r--r--gettext-tools/libgettextpo/file-ostream.oo.c2
-rw-r--r--gettext-tools/libgettextpo/file-ostream.oo.h2
-rw-r--r--gettext-tools/libgettextpo/filename.h2
-rw-r--r--gettext-tools/libgettextpo/float+.h2
-rw-r--r--gettext-tools/libgettextpo/float.c2
-rw-r--r--gettext-tools/libgettextpo/float.in.h2
-rw-r--r--gettext-tools/libgettextpo/fopen.c2
-rw-r--r--gettext-tools/libgettextpo/fstat.c2
-rw-r--r--gettext-tools/libgettextpo/fstrcmp.c67
-rw-r--r--gettext-tools/libgettextpo/fstrcmp.h2
-rw-r--r--gettext-tools/libgettextpo/fwriteerror.c2
-rw-r--r--gettext-tools/libgettextpo/fwriteerror.h2
-rw-r--r--gettext-tools/libgettextpo/gcd.c2
-rw-r--r--gettext-tools/libgettextpo/gcd.h2
-rw-r--r--gettext-tools/libgettextpo/getdelim.c2
-rw-r--r--gettext-tools/libgettextpo/getline.c2
-rw-r--r--gettext-tools/libgettextpo/gettext-po.c2
-rw-r--r--gettext-tools/libgettextpo/gettext-po.in.h4
-rw-r--r--gettext-tools/libgettextpo/gettext.h3
-rw-r--r--gettext-tools/libgettextpo/gettimeofday.c2
-rw-r--r--gettext-tools/libgettextpo/gl_anylinked_list1.h48
-rw-r--r--gettext-tools/libgettextpo/gl_anylinked_list2.h1195
-rw-r--r--gettext-tools/libgettextpo/gl_linked_list.c64
-rw-r--r--gettext-tools/libgettextpo/gl_linked_list.h34
-rw-r--r--gettext-tools/libgettextpo/gl_list.c3
-rw-r--r--gettext-tools/libgettextpo/gl_list.h841
-rw-r--r--gettext-tools/libgettextpo/gl_xlist.c3
-rw-r--r--gettext-tools/libgettextpo/gl_xlist.h177
-rw-r--r--gettext-tools/libgettextpo/glthread/lock.c2
-rw-r--r--gettext-tools/libgettextpo/glthread/lock.h2
-rw-r--r--gettext-tools/libgettextpo/glthread/threadlib.c2
-rw-r--r--gettext-tools/libgettextpo/glthread/tls.c2
-rw-r--r--gettext-tools/libgettextpo/glthread/tls.h2
-rw-r--r--gettext-tools/libgettextpo/gnulib-m4/gnulib-cache.m48
-rw-r--r--gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m466
-rw-r--r--gettext-tools/libgettextpo/hash.c3
-rw-r--r--gettext-tools/libgettextpo/hash.h3
-rw-r--r--gettext-tools/libgettextpo/iconv.c2
-rw-r--r--gettext-tools/libgettextpo/iconv.in.h2
-rw-r--r--gettext-tools/libgettextpo/iconv_close.c2
-rw-r--r--gettext-tools/libgettextpo/iconv_open.c2
-rw-r--r--gettext-tools/libgettextpo/iconveh.h2
-rw-r--r--gettext-tools/libgettextpo/intprops.h145
-rw-r--r--gettext-tools/libgettextpo/itold.c2
-rw-r--r--gettext-tools/libgettextpo/localcharset.c44
-rw-r--r--gettext-tools/libgettextpo/localcharset.h2
-rw-r--r--gettext-tools/libgettextpo/malloc.c2
-rw-r--r--gettext-tools/libgettextpo/malloca.c2
-rw-r--r--gettext-tools/libgettextpo/malloca.h2
-rw-r--r--gettext-tools/libgettextpo/markup.c1563
-rw-r--r--gettext-tools/libgettextpo/markup.h164
-rw-r--r--gettext-tools/libgettextpo/mbrtowc.c2
-rw-r--r--gettext-tools/libgettextpo/mbsinit.c2
-rw-r--r--gettext-tools/libgettextpo/mbswidth.c2
-rw-r--r--gettext-tools/libgettextpo/mbswidth.h2
-rw-r--r--gettext-tools/libgettextpo/memchr.c2
-rw-r--r--gettext-tools/libgettextpo/minmax.h2
-rw-r--r--gettext-tools/libgettextpo/moo.h2
-rw-r--r--gettext-tools/libgettextpo/msvc-inval.c2
-rw-r--r--gettext-tools/libgettextpo/msvc-inval.h2
-rw-r--r--gettext-tools/libgettextpo/msvc-nothrow.c2
-rw-r--r--gettext-tools/libgettextpo/msvc-nothrow.h2
-rw-r--r--gettext-tools/libgettextpo/obstack.c2
-rw-r--r--gettext-tools/libgettextpo/obstack.h2
-rw-r--r--gettext-tools/libgettextpo/open.c2
-rw-r--r--gettext-tools/libgettextpo/ostream.c2
-rw-r--r--gettext-tools/libgettextpo/ostream.h2
-rw-r--r--gettext-tools/libgettextpo/ostream.oo.c2
-rw-r--r--gettext-tools/libgettextpo/ostream.oo.h2
-rw-r--r--gettext-tools/libgettextpo/pathmax.h2
-rw-r--r--gettext-tools/libgettextpo/printf-args.c2
-rw-r--r--gettext-tools/libgettextpo/printf-args.h2
-rw-r--r--gettext-tools/libgettextpo/printf-parse.c2
-rw-r--r--gettext-tools/libgettextpo/printf-parse.h2
-rw-r--r--gettext-tools/libgettextpo/progname.c2
-rw-r--r--gettext-tools/libgettextpo/progname.h2
-rw-r--r--gettext-tools/libgettextpo/raise.c2
-rw-r--r--gettext-tools/libgettextpo/rawmemchr.c2
-rw-r--r--gettext-tools/libgettextpo/realloc.c2
-rw-r--r--gettext-tools/libgettextpo/ref-add.sin2
-rw-r--r--gettext-tools/libgettextpo/ref-del.sin2
-rw-r--r--gettext-tools/libgettextpo/relocatable.c77
-rw-r--r--gettext-tools/libgettextpo/relocatable.h2
-rw-r--r--gettext-tools/libgettextpo/signal.in.h10
-rw-r--r--gettext-tools/libgettextpo/sigprocmask.c2
-rw-r--r--gettext-tools/libgettextpo/size_max.h2
-rw-r--r--gettext-tools/libgettextpo/stat.c2
-rw-r--r--gettext-tools/libgettextpo/stdarg.in.h2
-rw-r--r--gettext-tools/libgettextpo/stdbool.in.h2
-rw-r--r--gettext-tools/libgettextpo/stddef.in.h54
-rw-r--r--gettext-tools/libgettextpo/stdint.in.h2
-rw-r--r--gettext-tools/libgettextpo/stdio-write.c2
-rw-r--r--gettext-tools/libgettextpo/stdio.in.h12
-rw-r--r--gettext-tools/libgettextpo/stdlib.in.h2
-rw-r--r--gettext-tools/libgettextpo/stpcpy.c2
-rw-r--r--gettext-tools/libgettextpo/stpncpy.c92
-rw-r--r--gettext-tools/libgettextpo/str-two-way.h2
-rw-r--r--gettext-tools/libgettextpo/strchrnul.c2
-rw-r--r--gettext-tools/libgettextpo/streq.h2
-rw-r--r--gettext-tools/libgettextpo/strerror-override.c2
-rw-r--r--gettext-tools/libgettextpo/strerror-override.h2
-rw-r--r--gettext-tools/libgettextpo/strerror.c2
-rw-r--r--gettext-tools/libgettextpo/striconv.c2
-rw-r--r--gettext-tools/libgettextpo/striconv.h2
-rw-r--r--gettext-tools/libgettextpo/striconveh.c2
-rw-r--r--gettext-tools/libgettextpo/striconveh.h2
-rw-r--r--gettext-tools/libgettextpo/striconveha.c2
-rw-r--r--gettext-tools/libgettextpo/striconveha.h2
-rw-r--r--gettext-tools/libgettextpo/string.in.h23
-rw-r--r--gettext-tools/libgettextpo/strstr.c2
-rw-r--r--gettext-tools/libgettextpo/sys_stat.in.h2
-rw-r--r--gettext-tools/libgettextpo/sys_time.in.h2
-rw-r--r--gettext-tools/libgettextpo/sys_types.in.h2
-rw-r--r--gettext-tools/libgettextpo/time.in.h31
-rw-r--r--gettext-tools/libgettextpo/uniconv.in.h2
-rw-r--r--gettext-tools/libgettextpo/uniconv/u8-conv-from-enc.c2
-rw-r--r--gettext-tools/libgettextpo/unictype.in.h1050
-rw-r--r--gettext-tools/libgettextpo/unictype/bitmap.h47
-rw-r--r--gettext-tools/libgettextpo/unictype/ctype_alpha.c32
-rw-r--r--gettext-tools/libgettextpo/unictype/ctype_alpha.h668
-rw-r--r--gettext-tools/libgettextpo/unictype/ctype_space.c32
-rw-r--r--gettext-tools/libgettextpo/unictype/ctype_space.h168
-rw-r--r--gettext-tools/libgettextpo/unilbrk.in.h2
-rw-r--r--gettext-tools/libgettextpo/unilbrk/lbrkprop1.h4
-rw-r--r--gettext-tools/libgettextpo/unilbrk/lbrkprop2.h1344
-rw-r--r--gettext-tools/libgettextpo/unilbrk/lbrktables.c58
-rw-r--r--gettext-tools/libgettextpo/unilbrk/lbrktables.h25
-rw-r--r--gettext-tools/libgettextpo/unilbrk/u8-possible-linebreaks.c2
-rw-r--r--gettext-tools/libgettextpo/unilbrk/u8-width-linebreaks.c2
-rw-r--r--gettext-tools/libgettextpo/unilbrk/ulc-common.c2
-rw-r--r--gettext-tools/libgettextpo/unilbrk/ulc-common.h2
-rw-r--r--gettext-tools/libgettextpo/unilbrk/ulc-width-linebreaks.c2
-rw-r--r--gettext-tools/libgettextpo/unistd.c1
-rw-r--r--gettext-tools/libgettextpo/unistd.in.h2
-rw-r--r--gettext-tools/libgettextpo/unistr.in.h2
-rw-r--r--gettext-tools/libgettextpo/unistr/u16-mbtouc-aux.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u16-mbtouc.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-check.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-mblen.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-mbtouc-aux.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe-aux.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-mbtouc.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-mbtoucr.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-next.c37
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-prev.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-strmbtouc.c130
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-uctomb-aux.c2
-rw-r--r--gettext-tools/libgettextpo/unistr/u8-uctomb.c2
-rw-r--r--gettext-tools/libgettextpo/unitypes.in.h2
-rw-r--r--gettext-tools/libgettextpo/uniwidth.in.h2
-rw-r--r--gettext-tools/libgettextpo/uniwidth/cjk.h2
-rw-r--r--gettext-tools/libgettextpo/uniwidth/width.c152
-rw-r--r--gettext-tools/libgettextpo/unlocked-io.h2
-rw-r--r--gettext-tools/libgettextpo/vasnprintf.c25
-rw-r--r--gettext-tools/libgettextpo/vasnprintf.h2
-rw-r--r--gettext-tools/libgettextpo/vasprintf.c2
-rw-r--r--gettext-tools/libgettextpo/verify.h2
-rw-r--r--gettext-tools/libgettextpo/wchar.in.h11
-rw-r--r--gettext-tools/libgettextpo/wctype.in.h2
-rw-r--r--gettext-tools/libgettextpo/wcwidth.c2
-rw-r--r--gettext-tools/libgettextpo/xalloc.h2
-rw-r--r--gettext-tools/libgettextpo/xasprintf.c2
-rw-r--r--gettext-tools/libgettextpo/xconcat-filename.c2
-rw-r--r--gettext-tools/libgettextpo/xerror.c2
-rw-r--r--gettext-tools/libgettextpo/xerror.h2
-rw-r--r--gettext-tools/libgettextpo/xmalloc.c3
-rw-r--r--gettext-tools/libgettextpo/xmalloca.c2
-rw-r--r--gettext-tools/libgettextpo/xmalloca.h2
-rw-r--r--gettext-tools/libgettextpo/xsize.h2
-rw-r--r--gettext-tools/libgettextpo/xstrdup.c3
-rw-r--r--gettext-tools/libgettextpo/xstriconv.c2
-rw-r--r--gettext-tools/libgettextpo/xstriconv.h2
-rw-r--r--gettext-tools/libgettextpo/xvasprintf.c2
-rw-r--r--gettext-tools/libgettextpo/xvasprintf.h2
-rw-r--r--gettext-tools/libgrep/ChangeLog.0 (renamed from gettext-tools/libgrep/ChangeLog)8
-rw-r--r--gettext-tools/libgrep/Makefile.am3
-rw-r--r--gettext-tools/libgrep/Makefile.gnulib4
-rw-r--r--gettext-tools/libgrep/Makefile.in332
-rw-r--r--gettext-tools/libgrep/btowc.c2
-rw-r--r--gettext-tools/libgrep/glthread/lock.c2
-rw-r--r--gettext-tools/libgrep/glthread/lock.h2
-rw-r--r--gettext-tools/libgrep/glthread/threadlib.c2
-rw-r--r--gettext-tools/libgrep/gnulib-m4/gnulib-cache.m44
-rw-r--r--gettext-tools/libgrep/gnulib-m4/gnulib-comp.m45
-rw-r--r--gettext-tools/libgrep/gnulib-m4/localeconv.m42
-rw-r--r--gettext-tools/libgrep/gnulib-m4/mbrlen.m48
-rw-r--r--gettext-tools/libgrep/gnulib-m4/nl_langinfo.m42
-rw-r--r--gettext-tools/libgrep/gnulib-m4/regex.m42
-rw-r--r--gettext-tools/libgrep/kwset.c3
-rw-r--r--gettext-tools/libgrep/kwset.h2
-rw-r--r--gettext-tools/libgrep/langinfo.in.h2
-rw-r--r--gettext-tools/libgrep/libgrep.h2
-rw-r--r--gettext-tools/libgrep/localeconv.c2
-rw-r--r--gettext-tools/libgrep/m-fgrep.c3
-rw-r--r--gettext-tools/libgrep/m-regex.c3
-rw-r--r--gettext-tools/libgrep/mbrlen.c2
-rw-r--r--gettext-tools/libgrep/mbtowc-impl.h2
-rw-r--r--gettext-tools/libgrep/mbtowc.c2
-rw-r--r--gettext-tools/libgrep/nl_langinfo.c2
-rw-r--r--gettext-tools/libgrep/regcomp.c22
-rw-r--r--gettext-tools/libgrep/regex.c2
-rw-r--r--gettext-tools/libgrep/regex.h17
-rw-r--r--gettext-tools/libgrep/regex_internal.c8
-rw-r--r--gettext-tools/libgrep/regex_internal.h31
-rw-r--r--gettext-tools/libgrep/regexec.c10
-rw-r--r--gettext-tools/libgrep/wcrtomb.c2
-rw-r--r--gettext-tools/m4/ChangeLog.0 (renamed from gettext-tools/m4/ChangeLog)8
-rw-r--r--gettext-tools/m4/Makefile.in325
-rw-r--r--gettext-tools/m4/exported.m42
-rw-r--r--gettext-tools/m4/hostname.m42
-rw-r--r--gettext-tools/m4/setlocale.m43
-rw-r--r--gettext-tools/m4/siginfo.m42
-rw-r--r--gettext-tools/man/ChangeLog.1 (renamed from gettext-tools/man/ChangeLog)12
-rw-r--r--gettext-tools/man/Makefile.am5
-rw-r--r--gettext-tools/man/Makefile.in328
-rw-r--r--gettext-tools/man/autopoint.12
-rw-r--r--gettext-tools/man/autopoint.1.html2
-rw-r--r--gettext-tools/man/gettextize.12
-rw-r--r--gettext-tools/man/gettextize.1.html2
-rwxr-xr-xgettext-tools/man/help2man2
-rw-r--r--gettext-tools/man/msgattrib.12
-rw-r--r--gettext-tools/man/msgattrib.1.html2
-rw-r--r--gettext-tools/man/msgcat.12
-rw-r--r--gettext-tools/man/msgcat.1.html2
-rw-r--r--gettext-tools/man/msgcmp.12
-rw-r--r--gettext-tools/man/msgcmp.1.html2
-rw-r--r--gettext-tools/man/msgcomm.12
-rw-r--r--gettext-tools/man/msgcomm.1.html2
-rw-r--r--gettext-tools/man/msgconv.12
-rw-r--r--gettext-tools/man/msgconv.1.html2
-rw-r--r--gettext-tools/man/msgen.12
-rw-r--r--gettext-tools/man/msgen.1.html2
-rw-r--r--gettext-tools/man/msgexec.16
-rw-r--r--gettext-tools/man/msgexec.1.html9
-rw-r--r--gettext-tools/man/msgfilter.17
-rw-r--r--gettext-tools/man/msgfilter.1.html9
-rw-r--r--gettext-tools/man/msgfmt.124
-rw-r--r--gettext-tools/man/msgfmt.1.html54
-rw-r--r--gettext-tools/man/msggrep.12
-rw-r--r--gettext-tools/man/msggrep.1.html2
-rw-r--r--gettext-tools/man/msginit.12
-rw-r--r--gettext-tools/man/msginit.1.html2
-rw-r--r--gettext-tools/man/msgmerge.12
-rw-r--r--gettext-tools/man/msgmerge.1.html2
-rw-r--r--gettext-tools/man/msgunfmt.12
-rw-r--r--gettext-tools/man/msgunfmt.1.html2
-rw-r--r--gettext-tools/man/msguniq.12
-rw-r--r--gettext-tools/man/msguniq.1.html2
-rw-r--r--gettext-tools/man/recode-sr-latin.12
-rw-r--r--gettext-tools/man/recode-sr-latin.1.html2
-rw-r--r--gettext-tools/man/x-to-1.in2
-rw-r--r--gettext-tools/man/xgettext.120
-rw-r--r--gettext-tools/man/xgettext.1.html30
-rw-r--r--gettext-tools/misc/ChangeLog.0 (renamed from gettext-tools/misc/ChangeLog)50
-rw-r--r--gettext-tools/misc/Makefile.am3
-rw-r--r--gettext-tools/misc/Makefile.in328
-rwxr-xr-xgettext-tools/misc/add-to-archive3
-rw-r--r--gettext-tools/misc/archive.dir.tarbin25835520 -> 29696000 bytes
-rw-r--r--gettext-tools/misc/autopoint.in59
-rw-r--r--gettext-tools/misc/convert-archive.in2
-rw-r--r--gettext-tools/misc/gettextize.in10
-rw-r--r--gettext-tools/misc/po-compat.el2
-rw-r--r--gettext-tools/misc/po-mode.el30
-rw-r--r--gettext-tools/misc/start-po.el2
-rw-r--r--gettext-tools/po/ChangeLog981
-rw-r--r--gettext-tools/po/ChangeLog.1962
-rw-r--r--gettext-tools/po/Makefile.in.in26
-rw-r--r--gettext-tools/po/POTFILES.in19
-rw-r--r--gettext-tools/po/Rules-quot2
-rw-r--r--gettext-tools/po/be.gmobin25905 -> 25905 bytes
-rw-r--r--gettext-tools/po/be.po2213
-rw-r--r--gettext-tools/po/bg.gmobin139055 -> 149110 bytes
-rw-r--r--gettext-tools/po/bg.po2343
-rw-r--r--gettext-tools/po/ca.gmobin117026 -> 119502 bytes
-rw-r--r--gettext-tools/po/ca.po2413
-rw-r--r--gettext-tools/po/cs.gmobin6358 -> 6358 bytes
-rw-r--r--gettext-tools/po/cs.po2249
-rw-r--r--gettext-tools/po/da.gmobin91231 -> 91721 bytes
-rw-r--r--gettext-tools/po/da.po2323
-rw-r--r--gettext-tools/po/de.gmobin116406 -> 118633 bytes
-rw-r--r--gettext-tools/po/de.po2370
-rw-r--r--gettext-tools/po/el.gmobin3879 -> 3879 bytes
-rw-r--r--gettext-tools/po/el.po2228
-rw-r--r--gettext-tools/po/en@boldquot.gmobin108448 -> 116498 bytes
-rw-r--r--gettext-tools/po/en@boldquot.po2307
-rw-r--r--gettext-tools/po/en@quot.gmobin106788 -> 114646 bytes
-rw-r--r--gettext-tools/po/en@quot.po2294
-rw-r--r--gettext-tools/po/es.gmobin115409 -> 123748 bytes
-rw-r--r--gettext-tools/po/es.po2357
-rw-r--r--gettext-tools/po/et.gmobin6175 -> 6175 bytes
-rw-r--r--gettext-tools/po/et.po2201
-rw-r--r--gettext-tools/po/eu.gmobin53256 -> 52959 bytes
-rw-r--r--gettext-tools/po/eu.po2225
-rw-r--r--gettext-tools/po/fi.gmobin113005 -> 115226 bytes
-rw-r--r--gettext-tools/po/fi.po2331
-rw-r--r--gettext-tools/po/fr.gmobin102640 -> 127371 bytes
-rw-r--r--gettext-tools/po/fr.po3811
-rw-r--r--gettext-tools/po/gettext-tools.pot2167
-rw-r--r--gettext-tools/po/gl.gmobin23964 -> 23755 bytes
-rw-r--r--gettext-tools/po/gl.po2200
-rw-r--r--gettext-tools/po/id.gmobin94508 -> 94312 bytes
-rw-r--r--gettext-tools/po/id.po2308
-rw-r--r--gettext-tools/po/it.gmobin106999 -> 111811 bytes
-rw-r--r--gettext-tools/po/it.po2383
-rw-r--r--gettext-tools/po/ja.gmobin104670 -> 112302 bytes
-rw-r--r--gettext-tools/po/ja.po2314
-rw-r--r--gettext-tools/po/ko.gmobin117442 -> 119686 bytes
-rw-r--r--gettext-tools/po/ko.po2309
-rw-r--r--gettext-tools/po/nb.gmobin6044 -> 6044 bytes
-rw-r--r--gettext-tools/po/nb.po2198
-rw-r--r--gettext-tools/po/nl.gmobin47589 -> 53028 bytes
-rw-r--r--gettext-tools/po/nl.po2252
-rw-r--r--gettext-tools/po/nn.gmobin13342 -> 13342 bytes
-rw-r--r--gettext-tools/po/nn.po2194
-rw-r--r--gettext-tools/po/pa.gmobin29988 -> 30025 bytes
-rw-r--r--gettext-tools/po/pa.po2191
-rw-r--r--gettext-tools/po/pl.gmobin112114 -> 114648 bytes
-rw-r--r--gettext-tools/po/pl.po2360
-rw-r--r--gettext-tools/po/pt.gmobin3064 -> 3064 bytes
-rw-r--r--gettext-tools/po/pt.po2179
-rw-r--r--gettext-tools/po/pt_BR.gmobin113543 -> 121774 bytes
-rw-r--r--gettext-tools/po/pt_BR.po2337
-rw-r--r--gettext-tools/po/ro.gmobin66911 -> 66694 bytes
-rw-r--r--gettext-tools/po/ro.po2250
-rw-r--r--gettext-tools/po/ru.gmobin142656 -> 141990 bytes
-rw-r--r--gettext-tools/po/ru.po2295
-rw-r--r--gettext-tools/po/sk.gmobin111771 -> 119904 bytes
-rw-r--r--gettext-tools/po/sk.po2316
-rw-r--r--gettext-tools/po/sl.gmobin109119 -> 117062 bytes
-rw-r--r--gettext-tools/po/sl.po2329
-rw-r--r--gettext-tools/po/sr.gmobin137297 -> 147411 bytes
-rw-r--r--gettext-tools/po/sr.po2318
-rw-r--r--gettext-tools/po/sv.gmobin106964 -> 106450 bytes
-rw-r--r--gettext-tools/po/sv.po2294
-rw-r--r--gettext-tools/po/tr.gmobin86460 -> 86201 bytes
-rw-r--r--gettext-tools/po/tr.po2299
-rw-r--r--gettext-tools/po/uk.gmobin140375 -> 150800 bytes
-rw-r--r--gettext-tools/po/uk.po2327
-rw-r--r--gettext-tools/po/vi.gmobin124804 -> 133646 bytes
-rw-r--r--gettext-tools/po/vi.po2435
-rw-r--r--gettext-tools/po/zh_CN.gmobin95414 -> 105417 bytes
-rw-r--r--gettext-tools/po/zh_CN.po2428
-rw-r--r--gettext-tools/po/zh_TW.gmobin62576 -> 62349 bytes
-rw-r--r--gettext-tools/po/zh_TW.po2255
-rw-r--r--gettext-tools/projects/ChangeLog.0 (renamed from gettext-tools/projects/ChangeLog)8
-rw-r--r--gettext-tools/projects/Makefile.am2
-rw-r--r--gettext-tools/projects/Makefile.in325
-rw-r--r--gettext-tools/src/ChangeLog.1 (renamed from gettext-tools/src/ChangeLog)350
-rw-r--r--gettext-tools/src/FILES3
-rw-r--r--gettext-tools/src/Makefile.am38
-rw-r--r--gettext-tools/src/Makefile.in517
-rw-r--r--gettext-tools/src/cldr-plural-exp.c695
-rw-r--r--gettext-tools/src/cldr-plural-exp.h141
-rw-r--r--gettext-tools/src/cldr-plural.c2013
-rw-r--r--gettext-tools/src/cldr-plural.h102
-rw-r--r--gettext-tools/src/cldr-plural.y469
-rw-r--r--gettext-tools/src/cldr-plurals.c370
-rw-r--r--gettext-tools/src/color.c2
-rw-r--r--gettext-tools/src/color.h2
-rw-r--r--gettext-tools/src/dir-list.c3
-rw-r--r--gettext-tools/src/dir-list.h3
-rw-r--r--gettext-tools/src/file-list.c3
-rw-r--r--gettext-tools/src/file-list.h2
-rw-r--r--gettext-tools/src/filter-quote.c226
-rw-r--r--gettext-tools/src/filter-sr-latin.c2
-rw-r--r--gettext-tools/src/format-awk.c3
-rw-r--r--gettext-tools/src/format-boost.c3
-rw-r--r--gettext-tools/src/format-c-parse.h3
-rw-r--r--gettext-tools/src/format-c.c3
-rw-r--r--gettext-tools/src/format-csharp.c3
-rw-r--r--gettext-tools/src/format-elisp.c3
-rw-r--r--gettext-tools/src/format-gcc-internal.c2
-rw-r--r--gettext-tools/src/format-gfc-internal.c2
-rw-r--r--gettext-tools/src/format-invalid.h2
-rw-r--r--gettext-tools/src/format-java.c3
-rw-r--r--gettext-tools/src/format-javascript.c3
-rw-r--r--gettext-tools/src/format-kde-kuit.c411
-rw-r--r--gettext-tools/src/format-kde.c3
-rw-r--r--gettext-tools/src/format-librep.c3
-rw-r--r--gettext-tools/src/format-lisp.c3
-rw-r--r--gettext-tools/src/format-lua.c2
-rw-r--r--gettext-tools/src/format-pascal.c3
-rw-r--r--gettext-tools/src/format-perl-brace.c2
-rw-r--r--gettext-tools/src/format-perl.c3
-rw-r--r--gettext-tools/src/format-php.c3
-rw-r--r--gettext-tools/src/format-python-brace.c3
-rw-r--r--gettext-tools/src/format-python.c3
-rw-r--r--gettext-tools/src/format-qt-plural.c3
-rw-r--r--gettext-tools/src/format-qt.c3
-rw-r--r--gettext-tools/src/format-scheme.c2
-rw-r--r--gettext-tools/src/format-sh.c3
-rw-r--r--gettext-tools/src/format-tcl.c3
-rw-r--r--gettext-tools/src/format-ycp.c3
-rw-r--r--gettext-tools/src/format.c3
-rw-r--r--gettext-tools/src/format.h3
-rw-r--r--gettext-tools/src/gnu/gettext/DumpResource.java2
-rw-r--r--gettext-tools/src/gnu/gettext/GetURL.java2
-rw-r--r--gettext-tools/src/hostname.c3
-rw-r--r--gettext-tools/src/its.c1946
-rw-r--r--gettext-tools/src/its.h85
-rw-r--r--gettext-tools/src/lang-table.c2
-rw-r--r--gettext-tools/src/lang-table.h2
-rw-r--r--gettext-tools/src/libexpat-compat.c326
-rw-r--r--gettext-tools/src/libexpat-compat.h94
-rw-r--r--gettext-tools/src/locating-rule.c437
-rw-r--r--gettext-tools/src/locating-rule.h50
-rw-r--r--gettext-tools/src/message.c17
-rw-r--r--gettext-tools/src/message.h32
-rw-r--r--gettext-tools/src/msgattrib.c3
-rw-r--r--gettext-tools/src/msgcat.c3
-rw-r--r--gettext-tools/src/msgcmp.c3
-rw-r--r--gettext-tools/src/msgcomm.c3
-rw-r--r--gettext-tools/src/msgconv.c3
-rw-r--r--gettext-tools/src/msgen.c3
-rw-r--r--gettext-tools/src/msgexec.c29
-rw-r--r--gettext-tools/src/msgfilter.c51
-rw-r--r--gettext-tools/src/msgfmt.c382
-rw-r--r--gettext-tools/src/msgfmt.cs2
-rw-r--r--gettext-tools/src/msgfmt.h29
-rw-r--r--gettext-tools/src/msggrep.c3
-rw-r--r--gettext-tools/src/msginit.c86
-rw-r--r--gettext-tools/src/msgl-ascii.c3
-rw-r--r--gettext-tools/src/msgl-ascii.h2
-rw-r--r--gettext-tools/src/msgl-cat.c16
-rw-r--r--gettext-tools/src/msgl-cat.h2
-rw-r--r--gettext-tools/src/msgl-charset.c3
-rw-r--r--gettext-tools/src/msgl-charset.h2
-rw-r--r--gettext-tools/src/msgl-check.c208
-rw-r--r--gettext-tools/src/msgl-check.h5
-rw-r--r--gettext-tools/src/msgl-english.c2
-rw-r--r--gettext-tools/src/msgl-english.h2
-rw-r--r--gettext-tools/src/msgl-equal.c3
-rw-r--r--gettext-tools/src/msgl-equal.h2
-rw-r--r--gettext-tools/src/msgl-fsearch.c2
-rw-r--r--gettext-tools/src/msgl-fsearch.h2
-rw-r--r--gettext-tools/src/msgl-header.c2
-rw-r--r--gettext-tools/src/msgl-header.h2
-rw-r--r--gettext-tools/src/msgl-iconv.c3
-rw-r--r--gettext-tools/src/msgl-iconv.h3
-rw-r--r--gettext-tools/src/msgmerge.c11
-rw-r--r--gettext-tools/src/msgunfmt.c3
-rw-r--r--gettext-tools/src/msgunfmt.cs2
-rw-r--r--gettext-tools/src/msgunfmt.h3
-rw-r--r--gettext-tools/src/msgunfmt.tcl2
-rw-r--r--gettext-tools/src/msguniq.c3
-rw-r--r--gettext-tools/src/open-catalog.c3
-rw-r--r--gettext-tools/src/open-catalog.h3
-rw-r--r--gettext-tools/src/plural-count.c2
-rw-r--r--gettext-tools/src/plural-count.h2
-rw-r--r--gettext-tools/src/plural-distrib.h2
-rw-r--r--gettext-tools/src/plural-eval.c2
-rw-r--r--gettext-tools/src/plural-eval.h2
-rw-r--r--gettext-tools/src/plural-exp.c2
-rw-r--r--gettext-tools/src/plural-table.c3
-rw-r--r--gettext-tools/src/plural-table.h2
-rw-r--r--gettext-tools/src/po-charset.c2
-rw-r--r--gettext-tools/src/po-charset.h2
-rw-r--r--gettext-tools/src/po-error.c2
-rw-r--r--gettext-tools/src/po-error.h2
-rw-r--r--gettext-tools/src/po-gram-gen.c122
-rw-r--r--gettext-tools/src/po-gram-gen.h10
-rw-r--r--gettext-tools/src/po-gram-gen.y3
-rw-r--r--gettext-tools/src/po-gram-gen2.h10
-rw-r--r--gettext-tools/src/po-gram.h3
-rw-r--r--gettext-tools/src/po-lex.c2
-rw-r--r--gettext-tools/src/po-lex.h3
-rw-r--r--gettext-tools/src/po-time.c3
-rw-r--r--gettext-tools/src/po-time.h2
-rw-r--r--gettext-tools/src/po-xerror.c2
-rw-r--r--gettext-tools/src/po-xerror.h2
-rw-r--r--gettext-tools/src/pos.h3
-rwxr-xr-xgettext-tools/src/project-id2
-rw-r--r--gettext-tools/src/quote.h142
-rw-r--r--gettext-tools/src/read-catalog-abstract.c38
-rw-r--r--gettext-tools/src/read-catalog-abstract.h6
-rw-r--r--gettext-tools/src/read-catalog.c11
-rw-r--r--gettext-tools/src/read-catalog.h4
-rw-r--r--gettext-tools/src/read-csharp.c3
-rw-r--r--gettext-tools/src/read-csharp.h2
-rw-r--r--gettext-tools/src/read-desktop.c18
-rw-r--r--gettext-tools/src/read-desktop.h3
-rw-r--r--gettext-tools/src/read-java.c3
-rw-r--r--gettext-tools/src/read-java.h2
-rw-r--r--gettext-tools/src/read-mo.c14
-rw-r--r--gettext-tools/src/read-mo.h3
-rw-r--r--gettext-tools/src/read-po.c3
-rw-r--r--gettext-tools/src/read-po.h2
-rw-r--r--gettext-tools/src/read-properties.c3
-rw-r--r--gettext-tools/src/read-properties.h2
-rw-r--r--gettext-tools/src/read-resources.c3
-rw-r--r--gettext-tools/src/read-resources.h2
-rw-r--r--gettext-tools/src/read-stringtable.c3
-rw-r--r--gettext-tools/src/read-stringtable.h2
-rw-r--r--gettext-tools/src/read-tcl.c3
-rw-r--r--gettext-tools/src/read-tcl.h2
-rw-r--r--gettext-tools/src/recode-sr-latin.c3
-rw-r--r--gettext-tools/src/sentence.c194
-rw-r--r--gettext-tools/src/sentence.h42
-rw-r--r--gettext-tools/src/str-list.c3
-rw-r--r--gettext-tools/src/str-list.h3
-rw-r--r--gettext-tools/src/urlget.c3
-rw-r--r--gettext-tools/src/user-email.sh.in2
-rw-r--r--gettext-tools/src/write-catalog.c3
-rw-r--r--gettext-tools/src/write-catalog.h3
-rw-r--r--gettext-tools/src/write-csharp.c2
-rw-r--r--gettext-tools/src/write-csharp.h2
-rw-r--r--gettext-tools/src/write-desktop.c63
-rw-r--r--gettext-tools/src/write-desktop.h8
-rw-r--r--gettext-tools/src/write-java.c3
-rw-r--r--gettext-tools/src/write-java.h2
-rw-r--r--gettext-tools/src/write-mo.c3
-rw-r--r--gettext-tools/src/write-mo.h3
-rw-r--r--gettext-tools/src/write-po.c5
-rw-r--r--gettext-tools/src/write-po.h3
-rw-r--r--gettext-tools/src/write-properties.c2
-rw-r--r--gettext-tools/src/write-properties.h2
-rw-r--r--gettext-tools/src/write-qt.c3
-rw-r--r--gettext-tools/src/write-qt.h2
-rw-r--r--gettext-tools/src/write-resources.c3
-rw-r--r--gettext-tools/src/write-resources.h2
-rw-r--r--gettext-tools/src/write-stringtable.c2
-rw-r--r--gettext-tools/src/write-stringtable.h2
-rw-r--r--gettext-tools/src/write-tcl.c3
-rw-r--r--gettext-tools/src/write-tcl.h2
-rw-r--r--gettext-tools/src/write-xml.c107
-rw-r--r--gettext-tools/src/write-xml.h52
-rw-r--r--gettext-tools/src/x-appdata.h42
-rw-r--r--gettext-tools/src/x-awk.c3
-rw-r--r--gettext-tools/src/x-awk.h4
-rw-r--r--gettext-tools/src/x-c.c299
-rw-r--r--gettext-tools/src/x-c.h15
-rw-r--r--gettext-tools/src/x-csharp.c3
-rw-r--r--gettext-tools/src/x-csharp.h2
-rw-r--r--gettext-tools/src/x-desktop.c2
-rw-r--r--gettext-tools/src/x-desktop.h2
-rw-r--r--gettext-tools/src/x-elisp.c3
-rw-r--r--gettext-tools/src/x-elisp.h2
-rw-r--r--gettext-tools/src/x-glade.c612
-rw-r--r--gettext-tools/src/x-glade.h27
-rw-r--r--gettext-tools/src/x-gsettings.c386
-rw-r--r--gettext-tools/src/x-gsettings.h17
-rw-r--r--gettext-tools/src/x-java.c2
-rw-r--r--gettext-tools/src/x-java.h2
-rw-r--r--gettext-tools/src/x-javascript.c3
-rw-r--r--gettext-tools/src/x-javascript.h3
-rw-r--r--gettext-tools/src/x-librep.c3
-rw-r--r--gettext-tools/src/x-librep.h2
-rw-r--r--gettext-tools/src/x-lisp.c3
-rw-r--r--gettext-tools/src/x-lisp.h2
-rw-r--r--gettext-tools/src/x-lua.c2
-rw-r--r--gettext-tools/src/x-lua.h2
-rw-r--r--gettext-tools/src/x-perl.c2
-rw-r--r--gettext-tools/src/x-perl.h3
-rw-r--r--gettext-tools/src/x-php.c3
-rw-r--r--gettext-tools/src/x-php.h2
-rw-r--r--gettext-tools/src/x-po.c3
-rw-r--r--gettext-tools/src/x-po.h2
-rw-r--r--gettext-tools/src/x-properties.h2
-rw-r--r--gettext-tools/src/x-python.c3
-rw-r--r--gettext-tools/src/x-python.h2
-rw-r--r--gettext-tools/src/x-rst.c3
-rw-r--r--gettext-tools/src/x-rst.h2
-rw-r--r--gettext-tools/src/x-scheme.c2
-rw-r--r--gettext-tools/src/x-scheme.h2
-rw-r--r--gettext-tools/src/x-sh.c2
-rw-r--r--gettext-tools/src/x-sh.h2
-rw-r--r--gettext-tools/src/x-smalltalk.c3
-rw-r--r--gettext-tools/src/x-smalltalk.h2
-rw-r--r--gettext-tools/src/x-stringtable.h2
-rw-r--r--gettext-tools/src/x-tcl.c3
-rw-r--r--gettext-tools/src/x-tcl.h2
-rw-r--r--gettext-tools/src/x-vala.c2
-rw-r--r--gettext-tools/src/x-vala.h3
-rw-r--r--gettext-tools/src/x-ycp.c3
-rw-r--r--gettext-tools/src/x-ycp.h2
-rw-r--r--gettext-tools/src/xgettext.c391
-rw-r--r--gettext-tools/src/xgettext.h3
-rw-r--r--gettext-tools/styles/ChangeLog.0 (renamed from gettext-tools/styles/ChangeLog)8
-rw-r--r--gettext-tools/styles/Makefile.am2
-rw-r--r--gettext-tools/styles/Makefile.in325
-rw-r--r--gettext-tools/styles/po-default.css2
-rw-r--r--gettext-tools/styles/po-emacs-x.css2
-rw-r--r--gettext-tools/styles/po-emacs-xterm.css2
-rw-r--r--gettext-tools/styles/po-emacs-xterm16.css2
-rw-r--r--gettext-tools/styles/po-emacs-xterm256.css2
-rw-r--r--gettext-tools/styles/po-vim.css2
-rw-r--r--gettext-tools/tests/ChangeLog.1 (renamed from gettext-tools/tests/ChangeLog)136
-rw-r--r--gettext-tools/tests/Makefile.am28
-rw-r--r--gettext-tools/tests/Makefile.in702
-rwxr-xr-xgettext-tools/tests/autopoint-272
-rwxr-xr-xgettext-tools/tests/autopoint-316
-rwxr-xr-xgettext-tools/tests/cldr-plurals-159
-rw-r--r--gettext-tools/tests/common/supplemental/plurals.xml10
-rw-r--r--gettext-tools/tests/format-c-3-prg.c2
-rw-r--r--gettext-tools/tests/format-c-4-prg.c2
-rw-r--r--gettext-tools/tests/format-c-5-prg.c2
-rwxr-xr-xgettext-tools/tests/format-kde-kuit-172
-rwxr-xr-xgettext-tools/tests/format-kde-kuit-280
-rw-r--r--gettext-tools/tests/gettext-3-prg.c2
-rw-r--r--gettext-tools/tests/gettext-4-prg.c2
-rw-r--r--gettext-tools/tests/gettext-5-prg.c2
-rw-r--r--gettext-tools/tests/gettext-6-prg.c3
-rw-r--r--gettext-tools/tests/gettext-7-prg.c3
-rw-r--r--gettext-tools/tests/gettext-8-prg.c2
-rw-r--r--gettext-tools/tests/gettextpo-1-prg.c2
-rw-r--r--gettext-tools/tests/init-env.in5
-rw-r--r--gettext-tools/tests/init.sh24
-rwxr-xr-xgettext-tools/tests/lang-bash13
-rw-r--r--gettext-tools/tests/mm-ko.euc-kr.po2
-rw-r--r--gettext-tools/tests/mm-viet.out26
-rwxr-xr-xgettext-tools/tests/msgexec-6143
-rwxr-xr-xgettext-tools/tests/msgfilter-712
-rwxr-xr-xgettext-tools/tests/msgfilter-8164
-rwxr-xr-xgettext-tools/tests/msgfmt-xml-1119
-rwxr-xr-xgettext-tools/tests/msgfmt-xml-2203
-rwxr-xr-xgettext-tools/tests/msginit-485
-rw-r--r--gettext-tools/tests/plural-1-prg.c2
-rwxr-xr-xgettext-tools/tests/sentence228
-rw-r--r--gettext-tools/tests/sentence.c85
-rw-r--r--gettext-tools/tests/setlocale.c2
-rw-r--r--gettext-tools/tests/testlocale.c2
-rw-r--r--gettext-tools/tests/tstgettext.c3
-rw-r--r--gettext-tools/tests/tstngettext.c3
-rw-r--r--gettext-tools/tests/xg-c-1.ok.po67
-rw-r--r--gettext-tools/tests/xg-c-21.cbin0 -> 140 bytes
-rwxr-xr-xgettext-tools/tests/xgettext-1359
-rwxr-xr-xgettext-tools/tests/xgettext-1498
-rwxr-xr-xgettext-tools/tests/xgettext-appdata-1127
-rwxr-xr-xgettext-tools/tests/xgettext-c-192
-rwxr-xr-xgettext-tools/tests/xgettext-c-2086
-rwxr-xr-xgettext-tools/tests/xgettext-c-2149
-rwxr-xr-xgettext-tools/tests/xgettext-desktop-113
-rwxr-xr-xgettext-tools/tests/xgettext-its-1276
-rw-r--r--gettext-tools/woe32dll/export.h2
-rw-r--r--gettext-tools/woe32dll/gettextlib-exports.c2
-rw-r--r--gettext-tools/woe32dll/gettextpo-exports.c2
-rw-r--r--gettext-tools/woe32dll/gettextsrc-exports.c5
2571 files changed, 275454 insertions, 139947 deletions
diff --git a/gettext-tools/ABOUT-NLS b/gettext-tools/ABOUT-NLS
index b1de1b6..1551426 100644
--- a/gettext-tools/ABOUT-NLS
+++ b/gettext-tools/ABOUT-NLS
@@ -1,16 +1,16 @@
1 Notes on the Free Translation Project
***************************************
-Free software is going international! The Free Translation Project is
-a way to get maintainers of free software, translators, and users all
+Free software is going international! The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
together, so that free software will gradually become able to speak many
languages. A few packages already provide translations for their
messages.
- If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
+ If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
itself available at your nearest GNU archive site. But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
+need to install GNU 'gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
@@ -23,12 +23,12 @@ work on translations can contact the appropriate team.
Some packages are "localizable" when properly installed; the programs
they contain can be made to speak your own native language. Most such
-packages use GNU `gettext'. Other packages have their own ways to
-internationalization, predating GNU `gettext'.
+packages use GNU 'gettext'. Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. Installers may use special
+provides the GNU 'gettext' functions. Installers may use special
options at configuration time for changing the default behaviour. The
command:
@@ -36,72 +36,71 @@ command:
will _totally_ disable translation of messages.
- When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl' library
-and will decide to use it. If not, you may have to to use the
-`--with-libintl-prefix' option to tell `configure' where to look for it.
+ When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it. If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
- Internationalized packages usually have many `po/LL.po' files, where
+ Internationalized packages usually have many 'po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable `LINGUAS'
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable 'LINGUAS'
may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
+'LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
1.2 Using This Package
======================
As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. If you happen to have the `LC_ALL' or some other
-`LC_xxx' environment variables set, you should unset them before
-setting `LANG', otherwise the setting of `LANG' will not have the
-desired effect. Here `LL' is an ISO 639 two-letter language code, and
-`CC' is an ISO 3166 two-letter country code. For example, let's
-suppose that you speak German and live in Germany. At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code. For example, let's suppose that
+you speak German and live in Germany. At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
+'.login' or '.profile' file, once and for all.
You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries. For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
country code serves to distinguish the dialects.
- The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your language by running the
-command `locale -a | grep '^LL''.
+ The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
+'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+system libraries. For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
Special advice for Norwegian users: The language code for Norwegian
-bokma*l changed from `no' to `nb' recently (in 2003). During the
+bokma*l changed from 'no' to 'nb' recently (in 2003). During the
transition period, while some message catalogs for this language are
-installed under `nb' and some older ones under `no', it's recommended
-for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
older translations are used.
- In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect. For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
+ In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect. For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
1.3 Translating Teams
=====================
@@ -111,22 +110,22 @@ people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
-`http://translationproject.org/', in the "Teams" area.
+'http://translationproject.org/', in the "Teams" area.
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is _not_ the same as the list itself, it has
-`-request' appended. For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
+'-request' appended. For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
subscribe
- Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around. If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `coordinator@translationproject.org' to
-reach the coordinator for all translator teams.
+ Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around. If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
+coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skills are praised more than
@@ -136,1114 +135,1214 @@ programming skills, here.
======================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of June
-2010. The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
+matrix shows the current state of internationalization, as of Jun 2014.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca
+ Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ +---------------------------------------------------+
+ a2ps | [] [] [] |
+ aegis | |
+ anubis | |
+ aspell | [] [] [] |
+ bash | [] [] [] |
+ bfd | |
+ binutils | [] |
+ bison | |
+ bison-runtime | [] |
+ buzztrax | [] |
+ ccd2cue | |
+ ccide | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] [] |
+ dfarc | [] |
+ dialog | [] [] [] |
+ dico | |
+ diffutils | [] |
+ dink | [] |
+ direvent | |
+ doodle | [] |
+ dos2unix | |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] |
+ exif | [] |
+ fetchmail | [] [] |
+ findutils | [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | [] |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gjay | |
+ glunarclock | [] [] [] |
+ gnubiff | [] |
+ gnubik | [] |
+ gnucash | () () [] |
+ gnuchess | |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] |
+ gramadoir | |
+ grep | [] [] [] |
+ grub | [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] |
+ gst-plugins-ugly | [] [] [] |
+ gstreamer | [] [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] |
+ help2man | |
+ help2man-texi | |
+ hylafax | |
+ idutils | |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | |
+ kbd | [] |
+ klavaro | [] [] [] [] [] |
+ latrine | |
+ ld | [] |
+ leafpad | [] [] [] [] |
+ libc | [] [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | [] [] |
+ man-db-manpages | |
+ midi-instruments | [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | [] |
+ nano | [] [] [] |
+ opcodes | |
+ parted | [] |
+ pies | |
+ popt | [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] |
+ pushover | [] |
+ pwdutils | |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] |
+ recutils | |
+ rpm | |
+ rush | |
+ sarg | |
+ sed | [] [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] |
+ sudoers | [] [] |
+ sysstat | [] |
+ tar | [] [] [] |
+ texinfo | [] [] |
+ texinfo_document | [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | |
+ trader | |
+ util-linux | [] |
+ ve | |
+ vice | |
+ vmm | |
+ vorbis-tools | [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] |
+ wget | [] |
+ wyslij-po | |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ 4 0 2 5 3 11 0 8 23 3 3 1 54 4 73
+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ +--------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] [] |
+ anubis | [] [] [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] [] [] [] |
+ ccd2cue | [] [] [] |
+ ccide | [] [] [] [] [] [] |
+ cflow | [] [] [] [] [] |
+ clisp | [] [] [] [] [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] [] [] [] [] |
+ cryptsetup | [] [] [] [] [] |
+ datamash | [] [] [] [] |
+ denemo | [] |
+ dfarc | [] [] [] [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] |
+ dico | [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] [] [] [] |
+ direvent | [] [] [] [] |
+ doodle | [] [] [] [] |
+ dos2unix | [] [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] |
+ flex | [] [] [] [] [] [] |
+ freedink | [] [] [] [] [] [] [] [] |
+ fusionforge | [] [] [] |
+ gas | [] [] [] |
+ gawk | [] [] [] [] [] |
+ gcal | [] [] [] [] |
+ gcc | [] [] |
+ gdbm | [] [] [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | () [] [] () |
+ gnubik | [] [] [] [] [] |
+ gnucash | [] () () () () () () |
+ gnuchess | [] [] [] [] |
+ gnulib | [] [] [] [] [] [] [] |
+ gnunet | [] |
+ gnunet-gtk | [] |
+ gold | [] [] [] |
+ gphoto2 | [] () [] [] |
+ gprof | [] [] [] [] [] [] |
+ gramadoir | [] [] [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] () [] [] [] |
+ gtkam | [] () [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ guix | [] [] |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] [] [] |
+ help2man | [] [] [] [] [] [] [] |
+ help2man-texi | [] [] [] |
+ hylafax | [] [] |
+ idutils | [] [] [] [] [] |
+ iso_15924 | [] () [] [] () [] () |
+ iso_3166 | [] () [] [] [] [] () [] () |
+ iso_3166_2 | [] () () () |
+ iso_4217 | [] () [] [] [] () [] () |
+ iso_639 | [] () [] [] () [] () |
+ iso_639_3 | () () () |
+ iso_639_5 | () () () |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] [] [] [] [] |
+ klavaro | [] [] [] [] [] [] [] |
+ latrine | [] () [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () [] [] |
+ libextractor | [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] () [] |
+ libgphoto2_port | [] () [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] [] |
+ liferea | [] () [] [] [] [] [] |
+ lilypond | [] [] [] [] [] [] |
+ lordsawar | [] [] |
+ lprng | |
+ lynx | [] [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] [] [] [] |
+ make | [] [] [] [] [] |
+ man-db | [] [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] [] [] |
+ nano | [] [] [] [] [] [] [] |
+ opcodes | [] [] [] [] [] |
+ parted | [] [] [] |
+ pies | [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] [] |
+ psmisc | [] [] [] [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | () [] [] [] |
+ pwdutils | [] [] [] |
+ pyspread | [] [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | [] [] [] [] |
+ rpm | [] [] [] [] [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] [] |
+ skribilo | [] [] |
+ solfege | [] [] [] [] [] [] [] [] |
+ solfege-manual | [] [] [] [] [] |
+ spotmachine | [] [] [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] [] [] |
+ sysstat | [] [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] [] |
+ texinfo_document | [] [] [] [] |
+ tigervnc | [] [] [] [] [] [] |
+ tin | [] [] [] [] |
+ tin-man | [] |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] [] [] [] [] [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | [] () |
+ wcd | [] [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] [] |
+ +--------------------------------------------------+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ 120 130 32 1 6 0 94 95 22 13 4 103 136
+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ +-------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] [] |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | [] |
+ ccide | [] [] |
+ cflow | [] [] [] |
+ clisp | |
+ coreutils | [] [] [] |
+ cpio | [] [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] [] |
+ dos2unix | [] [] |
+ dos2unix-man | |
+ e2fsprogs | [] |
+ enscript | [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] [] |
+ flex | [] |
+ freedink | [] [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] () [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] [] () |
+ gnubik | [] [] [] |
+ gnucash | () () () () () [] |
+ gnuchess | |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] [] |
+ iso_15924 | [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ klavaro | [] [] [] [] [] |
+ latrine | [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] |
+ mkisofs | [] [] |
+ myserver | [] |
+ nano | [] [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] |
+ pies | |
+ popt | [] [] [] [] [] [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | [] |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] [] [] [] [] [] |
+ sharutils | |
+ shishi | |
+ skribilo | [] |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] [] |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] |
+ tigervnc | |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] |
+ ve | [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | () |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] |
+ wget | [] [] [] |
+ wyslij-po | [] [] [] |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] |
+ +-------------------------------------------------+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ 35 2 47 4 8 2 53 69 2 6 80 11 86 58 0 3
+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+--------------------------------------------------+
- a2ps | [] [] |
- aegis | |
- ant-phone | |
- anubis | |
- aspell | [] [] |
- bash | |
+ a2ps | [] [] |
+ aegis | [] |
+ anubis | [] [] [] |
+ aspell | [] [] |
+ bash | [] [] |
bfd | |
- bibshelf | [] |
binutils | |
- bison | |
- bison-runtime | [] |
- bluez-pin | [] [] |
- bombono-dvd | |
- buzztard | |
- cflow | |
- clisp | |
- coreutils | [] [] |
- cpio | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | |
+ ccide | [] [] |
+ cflow | [] |
+ clisp | [] |
+ coreutils | [] [] |
+ cpio | [] |
cppi | |
- cpplib | [] |
- cryptsetup | |
- dfarc | |
- dialog | [] [] |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
dico | |
- diffutils | [] |
- dink | |
- doodle | |
- e2fsprogs | [] |
- enscript | [] |
- exif | |
- fetchmail | [] |
- findutils | [] |
- flex | [] |
- freedink | |
+ diffutils | [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] |
+ dos2unix | [] [] |
+ dos2unix-man | [] |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | [] [] |
+ fetchmail | [] |
+ findutils | [] [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
gas | |
- gawk | [] [] |
- gcal | [] |
+ gawk | [] |
+ gcal | |
gcc | |
- gettext-examples | [] [] [] [] |
- gettext-runtime | [] [] |
- gettext-tools | [] [] |
- gip | [] |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] |
+ gettext-runtime | [] [] |
+ gettext-tools | [] |
gjay | |
- gliv | [] |
- glunarclock | [] [] |
- gnubiff | |
- gnucash | [] |
- gnuedu | |
- gnulib | |
+ glunarclock | [] [] |
+ gnubiff | [] |
+ gnubik | [] [] |
+ gnucash | () () () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] |
gnunet | |
gnunet-gtk | |
- gnutls | |
gold | |
- gpe-aerial | |
- gpe-beam | |
- gpe-bluetooth | |
- gpe-calendar | |
- gpe-clock | [] |
- gpe-conf | |
- gpe-contacts | |
- gpe-edit | |
- gpe-filemanager | |
- gpe-go | |
- gpe-login | |
- gpe-ownerinfo | [] |
- gpe-package | |
- gpe-sketchbook | |
- gpe-su | [] |
- gpe-taskmanager | [] |
- gpe-timesheet | [] |
- gpe-today | [] |
- gpe-todo | |
- gphoto2 | |
- gprof | [] |
- gpsdrive | |
- gramadoir | |
- grep | |
- grub | [] [] |
- gsasl | |
+ gphoto2 | [] |
+ gprof | [] [] |
+ gramadoir | [] |
+ grep | [] [] |
+ grub | [] [] [] |
+ gsasl | [] |
gss | |
- gst-plugins-bad | [] |
- gst-plugins-base | [] |
- gst-plugins-good | [] |
- gst-plugins-ugly | [] |
- gstreamer | [] [] [] |
- gtick | |
- gtkam | [] |
- gtkorphan | [] |
- gtkspell | [] [] [] |
- gutenprint | |
- hello | [] |
- help2man | |
- hylafax | |
- idutils | |
- indent | [] [] |
- iso_15924 | |
- iso_3166 | [] [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | |
- iso_639 | [] [] [] [] |
- iso_639_3 | |
- jwhois | |
- kbd | |
- keytouch | [] |
- keytouch-editor | |
- keytouch-keyboa... | [] |
- klavaro | [] |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] [] [] |
+ help2man | [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] |
+ iso_15924 | () [] [] |
+ iso_3166 | [] [] [] () [] [] [] [] [] [] |
+ iso_3166_2 | () [] |
+ iso_4217 | () [] [] [] |
+ iso_639 | [] [] () [] [] [] [] |
+ iso_639_3 | [] () [] |
+ iso_639_5 | () |
+ jwhois | [] [] |
+ kbd | [] |
+ klavaro | [] [] |
latrine | |
- ld | [] |
- leafpad | [] [] |
- libc | [] [] |
- libexif | () |
- libextractor | |
- libgnutls | |
- libgpewidget | |
- libgpg-error | |
- libgphoto2 | |
- libgphoto2_port | |
- libgsasl | |
- libiconv | [] |
- libidn | |
- lifelines | |
- liferea | [] [] |
- lilypond | |
- linkdr | [] |
+ ld | |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgnutls | [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] |
+ lilypond | [] |
lordsawar | |
lprng | |
- lynx | [] |
- m4 | |
+ lynx | [] |
+ m4 | [] |
mailfromd | |
mailutils | |
- make | |
- man-db | |
- man-db-manpages | |
- minicom | |
- mkisofs | |
+ make | [] [] |
+ man-db | [] |
+ man-db-manpages | [] |
+ midi-instruments | [] [] [] [] [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
myserver | |
- nano | [] [] |
- opcodes | |
- parted | |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] |
pies | |
- popt | |
- psmisc | |
- pspp | [] |
- pwdutils | |
- radius | [] |
- recode | [] [] |
- rosegarden | |
- rpm | |
- rush | |
+ popt | [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] |
+ recutils | [] |
+ rpm | [] |
+ rush | [] |
sarg | |
- screem | |
- scrollkeeper | [] [] [] |
- sed | [] [] |
- sharutils | [] [] |
+ sed | [] [] |
+ sharutils | [] |
shishi | |
- skencil | |
- solfege | |
- solfege-manual | |
- soundtracker | |
- sp | |
- sysstat | |
- tar | [] |
- texinfo | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | [] |
+ spotmachine | [] |
+ sudo | [] [] |
+ sudoers | [] [] |
+ sysstat | [] [] |
+ tar | [] [] [] |
+ texinfo | [] |
+ texinfo_document | [] |
+ tigervnc | [] |
tin | |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux-ng | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] |
+ trader | [] |
+ util-linux | [] |
+ ve | [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | [] |
+ wcd | [] |
+ wcd-man | [] |
+ wdiff | [] |
+ wget | [] [] |
+ wyslij-po | [] |
+ xboard | [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +--------------------------------------------------+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ 5 11 4 6 0 13 22 3 3 3 4 11 2 40 1 124
+
+ nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +--------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] [] [] |
+ bfd | [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | [] |
+ ccide | [] [] [] |
+ cflow | [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] |
+ dink | |
+ direvent | [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] |
+ e2fsprogs | [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] [] [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] |
+ gss | [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] [] |
+ help2man-texi | [] |
+ hylafax | |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] () [] |
+ iso_4217 | [] [] () [] [] [] [] [] |
+ iso_639 | [] [] [] () [] [] [] [] [] [] |
+ iso_639_3 | [] () |
+ iso_639_5 | () [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] |
+ klavaro | [] [] [] [] [] |
+ latrine | [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] [] |
+ libc | [] [] [] |
+ libexif | [] () [] |
+ libextractor | [] |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ liferea | [] [] [] [] () [] [] |
+ lilypond | |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | |
+ parted | [] [] [] [] [] [] |
+ pies | [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ recutils | [] |
+ rpm | [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] |
+ shishi | [] [] |
+ skribilo | |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ spotmachine | [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] |
+ util-linux | [] [] |
+ ve | [] [] [] |
vice | |
vmm | |
- vorbis-tools | |
+ vorbis-tools | [] [] [] |
wastesedge | |
- wdiff | |
- wget | [] [] |
- wyslij-po | |
- xchat | [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+--------------------------------------------------+
- af am an ar as ast az be be@latin bg bn_IN bs ca
- 6 0 1 2 3 19 1 10 3 28 3 1 38
-
- crh cs da de el en en_GB en_ZA eo es et eu fa
- +-------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] |
- aegis | [] [] [] |
- ant-phone | [] () |
- anubis | [] [] |
- aspell | [] [] [] [] [] |
- bash | [] [] [] |
- bfd | [] |
- bibshelf | [] [] [] |
- binutils | [] |
- bison | [] [] |
- bison-runtime | [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] |
- bombono-dvd | [] |
- buzztard | [] [] [] |
- cflow | [] [] |
- clisp | [] [] [] [] |
- coreutils | [] [] [] [] |
- cpio | |
- cppi | |
- cpplib | [] [] [] |
- cryptsetup | [] |
- dfarc | [] [] [] |
- dialog | [] [] [] [] [] |
- dico | |
- diffutils | [] [] [] [] [] [] |
- dink | [] [] [] |
- doodle | [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] |
- exif | () [] [] |
- fetchmail | [] [] () [] [] [] |
- findutils | [] [] [] |
- flex | [] [] |
- freedink | [] [] [] |
- gas | [] |
- gawk | [] [] [] |
- gcal | [] |
- gcc | [] [] |
- gettext-examples | [] [] [] [] |
- gettext-runtime | [] [] [] [] |
- gettext-tools | [] [] [] |
- gip | [] [] [] [] |
- gjay | [] |
- gliv | [] [] [] |
- glunarclock | [] [] |
- gnubiff | () |
- gnucash | [] () () () () |
- gnuedu | [] [] |
- gnulib | [] [] |
- gnunet | |
- gnunet-gtk | [] |
- gnutls | [] [] |
- gold | [] |
- gpe-aerial | [] [] [] [] |
- gpe-beam | [] [] [] [] |
- gpe-bluetooth | [] [] |
- gpe-calendar | [] |
- gpe-clock | [] [] [] [] |
- gpe-conf | [] [] [] |
- gpe-contacts | [] [] [] |
- gpe-edit | [] [] |
- gpe-filemanager | [] [] [] |
- gpe-go | [] [] [] [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] [] [] |
- gpe-package | [] [] [] |
- gpe-sketchbook | [] [] [] [] |
- gpe-su | [] [] [] [] |
- gpe-taskmanager | [] [] [] [] |
- gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] [] [] |
- gphoto2 | [] [] () [] [] [] |
- gprof | [] [] [] |
- gpsdrive | [] [] [] |
- gramadoir | [] [] [] |
- grep | [] |
- grub | [] [] |
- gsasl | [] |
- gss | |
- gst-plugins-bad | [] [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] () [] |
- gtkam | [] [] () [] [] |
- gtkorphan | [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] |
- gutenprint | [] [] [] |
- hello | [] [] [] [] |
- help2man | [] |
- hylafax | [] [] |
- idutils | [] [] |
- indent | [] [] [] [] [] [] [] |
- iso_15924 | [] () [] [] |
- iso_3166 | [] [] [] [] () [] [] [] () |
- iso_3166_2 | () |
- iso_4217 | [] [] [] () [] [] |
- iso_639 | [] [] [] [] () [] [] |
- iso_639_3 | [] |
- jwhois | [] |
- kbd | [] [] [] [] [] |
- keytouch | [] [] |
- keytouch-editor | [] [] |
- keytouch-keyboa... | [] |
- klavaro | [] [] [] [] |
- latrine | [] () |
- ld | [] [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] |
- libexif | [] [] () |
- libextractor | |
- libgnutls | [] |
- libgpewidget | [] [] |
- libgpg-error | [] [] |
- libgphoto2 | [] () |
- libgphoto2_port | [] () [] |
- libgsasl | |
- libiconv | [] [] [] [] [] |
- libidn | [] [] [] |
- lifelines | [] () |
- liferea | [] [] [] [] [] |
- lilypond | [] [] [] |
- linkdr | [] [] [] |
- lordsawar | [] |
- lprng | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailfromd | |
- mailutils | [] |
- make | [] [] [] |
- man-db | |
- man-db-manpages | |
- minicom | [] [] [] [] |
- mkisofs | |
- myserver | |
- nano | [] [] [] |
- opcodes | [] [] |
- parted | [] [] |
- pies | |
- popt | [] [] [] [] [] |
- psmisc | [] [] [] |
- pspp | [] |
- pwdutils | [] |
- radius | [] |
- recode | [] [] [] [] [] [] |
- rosegarden | () () () |
- rpm | [] [] [] |
- rush | |
- sarg | |
- screem | |
- scrollkeeper | [] [] [] [] [] |
- sed | [] [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | |
- skencil | [] () [] |
- solfege | [] [] [] |
- solfege-manual | [] [] |
- soundtracker | [] [] [] |
- sp | [] |
- sysstat | [] [] [] |
- tar | [] [] [] [] |
- texinfo | [] [] [] |
- tin | [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux-ng | [] [] [] [] |
- vice | () () |
- vmm | [] |
- vorbis-tools | [] [] |
- wastesedge | [] |
- wdiff | [] [] |
- wget | [] [] [] |
- wyslij-po | |
- xchat | [] [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] [] |
- +-------------------------------------------------+
- crh cs da de el en en_GB en_ZA eo es et eu fa
- 5 64 105 117 18 1 8 0 28 89 18 19 0
-
- fi fr ga gl gu he hi hr hu hy id is it ja ka kn
- +----------------------------------------------------+
- a2ps | [] [] [] [] |
- aegis | [] [] |
- ant-phone | [] [] |
- anubis | [] [] [] [] |
- aspell | [] [] [] [] |
- bash | [] [] [] [] |
- bfd | [] [] [] |
- bibshelf | [] [] [] [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] |
- bison-runtime | [] [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] [] [] |
- bombono-dvd | [] |
- buzztard | [] |
- cflow | [] [] [] |
- clisp | [] |
- coreutils | [] [] [] [] [] |
- cpio | [] [] [] [] |
- cppi | [] [] |
- cpplib | [] [] [] |
- cryptsetup | [] [] [] |
- dfarc | [] [] [] |
- dialog | [] [] [] [] [] [] [] |
- dico | |
- diffutils | [] [] [] [] [] [] [] [] [] |
- dink | [] |
- doodle | [] [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] [] [] [] |
- findutils | [] [] [] [] [] [] |
- flex | [] [] [] |
- freedink | [] [] [] |
- gas | [] [] |
- gawk | [] [] [] [] () [] |
- gcal | [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] |
- gip | [] [] [] [] [] [] |
- gjay | [] |
- gliv | [] () |
- glunarclock | [] [] [] [] |
- gnubiff | () [] () |
- gnucash | () () () () () [] |
- gnuedu | [] [] |
- gnulib | [] [] [] [] [] [] |
- gnunet | |
- gnunet-gtk | [] |
- gnutls | [] [] |
- gold | [] [] |
- gpe-aerial | [] [] [] |
- gpe-beam | [] [] [] [] |
- gpe-bluetooth | [] [] [] [] |
- gpe-calendar | [] [] |
- gpe-clock | [] [] [] [] [] |
- gpe-conf | [] [] [] [] |
- gpe-contacts | [] [] [] [] |
- gpe-edit | [] [] [] |
- gpe-filemanager | [] [] [] [] |
- gpe-go | [] [] [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] |
- gpe-package | [] [] [] |
- gpe-sketchbook | [] [] [] [] |
- gpe-su | [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] |
- gpe-timesheet | [] [] [] [] [] |
- gpe-today | [] [] [] [] [] [] [] |
- gpe-todo | [] [] [] |
- gphoto2 | [] [] [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | [] [] [] |
- gramadoir | [] [] [] |
- grep | [] [] |
- grub | [] [] [] [] |
- gsasl | [] [] [] [] [] |
- gss | [] [] [] [] [] |
- gst-plugins-bad | [] [] [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] [] [] [] [] |
- gtkam | [] [] [] [] [] |
- gtkorphan | [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] [] |
- gutenprint | [] [] [] [] |
- hello | [] [] [] |
- help2man | [] [] |
- hylafax | [] |
- idutils | [] [] [] [] [] [] |
- indent | [] [] [] [] [] [] [] [] |
- iso_15924 | [] () [] [] |
- iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | () [] [] [] |
- iso_4217 | [] () [] [] [] [] |
- iso_639 | [] () [] [] [] [] [] [] [] |
- iso_639_3 | () [] [] |
- jwhois | [] [] [] [] [] |
- kbd | [] [] |
- keytouch | [] [] [] [] [] [] |
- keytouch-editor | [] [] [] [] [] |
- keytouch-keyboa... | [] [] [] [] [] |
- klavaro | [] [] |
- latrine | [] [] [] |
- ld | [] [] [] [] |
- leafpad | [] [] [] [] [] [] [] () |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | |
- libgnutls | [] [] |
- libgpewidget | [] [] [] [] |
- libgpg-error | [] [] |
- libgphoto2 | [] [] [] |
- libgphoto2_port | [] [] [] |
- libgsasl | [] [] [] [] [] |
- libiconv | [] [] [] [] [] [] |
- libidn | [] [] [] [] |
- lifelines | () |
- liferea | [] [] [] [] |
- lilypond | [] [] |
- linkdr | [] [] [] [] [] |
- lordsawar | |
- lprng | [] |
- lynx | [] [] [] [] [] |
- m4 | [] [] [] [] [] [] |
- mailfromd | |
- mailutils | [] [] |
- make | [] [] [] [] [] [] [] [] [] |
- man-db | [] [] |
- man-db-manpages | [] |
- minicom | [] [] [] [] [] |
- mkisofs | [] [] [] [] |
- myserver | |
- nano | [] [] [] [] [] [] |
- opcodes | [] [] [] [] |
- parted | [] [] [] [] |
- pies | |
- popt | [] [] [] [] [] [] [] [] [] |
- psmisc | [] [] [] |
- pspp | |
- pwdutils | [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] [] |
- rosegarden | () () () () () |
- rpm | [] [] |
- rush | |
- sarg | [] |
- screem | [] [] |
- scrollkeeper | [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] |
- shishi | [] |
- skencil | [] |
- solfege | [] [] [] [] |
- solfege-manual | [] [] |
- soundtracker | [] [] |
- sp | [] () |
- sysstat | [] [] [] [] [] |
- tar | [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- tin | [] |
- unicode-han-tra... | |
- unicode-transla... | [] [] |
- util-linux-ng | [] [] [] [] [] [] |
- vice | () () () |
- vmm | [] |
- vorbis-tools | [] |
- wastesedge | () () |
- wdiff | [] |
- wget | [] [] [] [] [] [] [] [] |
- wyslij-po | [] [] [] |
- xchat | [] [] [] [] [] [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] |
- +----------------------------------------------------+
- fi fr ga gl gu he hi hr hu hy id is it ja ka kn
- 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4
-
- ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
- +-----------------------------------------------+
- a2ps | [] |
- aegis | |
- ant-phone | |
- anubis | [] [] |
- aspell | [] |
- bash | |
- bfd | |
- bibshelf | [] [] |
- binutils | |
- bison | [] |
- bison-runtime | [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] |
- bombono-dvd | |
- buzztard | |
- cflow | |
- clisp | |
- coreutils | [] |
- cpio | |
- cppi | |
- cpplib | |
- cryptsetup | |
- dfarc | [] |
- dialog | [] [] [] [] [] |
- dico | |
- diffutils | [] [] |
- dink | |
- doodle | |
- e2fsprogs | |
- enscript | |
- exif | [] |
- fetchmail | |
- findutils | |
- flex | |
- freedink | [] |
- gas | |
- gawk | |
- gcal | |
- gcc | |
- gettext-examples | [] [] [] [] |
- gettext-runtime | [] |
- gettext-tools | [] |
- gip | [] [] |
- gjay | |
- gliv | |
- glunarclock | [] |
- gnubiff | |
- gnucash | () () () () |
- gnuedu | |
- gnulib | |
- gnunet | |
- gnunet-gtk | |
- gnutls | [] |
- gold | |
- gpe-aerial | [] |
- gpe-beam | [] |
- gpe-bluetooth | [] [] |
- gpe-calendar | [] |
- gpe-clock | [] [] [] [] [] |
- gpe-conf | [] [] |
- gpe-contacts | [] [] |
- gpe-edit | [] |
- gpe-filemanager | [] [] |
- gpe-go | [] [] [] |
- gpe-login | [] |
- gpe-ownerinfo | [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] [] |
- gpe-timesheet | [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] [] |
- gphoto2 | |
- gprof | [] |
- gpsdrive | |
- gramadoir | |
- grep | |
- grub | |
- gsasl | |
- gss | |
- gst-plugins-bad | [] [] [] [] |
- gst-plugins-base | [] [] |
- gst-plugins-good | [] [] |
- gst-plugins-ugly | [] [] [] [] [] |
- gstreamer | |
- gtick | |
- gtkam | [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] [] [] |
- gutenprint | |
- hello | [] [] [] |
- help2man | |
- hylafax | |
- idutils | |
- indent | |
- iso_15924 | [] [] |
- iso_3166 | [] [] () [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | [] [] |
- iso_639 | [] [] |
- iso_639_3 | [] |
- jwhois | [] |
- kbd | |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- klavaro | [] |
- latrine | [] |
- ld | |
- leafpad | [] [] [] |
- libc | [] |
- libexif | |
- libextractor | |
- libgnutls | [] |
- libgpewidget | [] [] |
- libgpg-error | |
- libgphoto2 | |
- libgphoto2_port | |
- libgsasl | |
- libiconv | |
- libidn | |
- lifelines | |
- liferea | |
- lilypond | |
- linkdr | |
- lordsawar | |
- lprng | |
- lynx | |
- m4 | |
- mailfromd | |
- mailutils | |
- make | [] |
- man-db | |
- man-db-manpages | |
- minicom | [] |
- mkisofs | |
- myserver | |
- nano | [] [] |
- opcodes | |
- parted | |
- pies | |
- popt | [] [] [] |
- psmisc | |
- pspp | |
- pwdutils | |
- radius | |
- recode | |
- rosegarden | |
- rpm | |
- rush | |
- sarg | |
- screem | |
- scrollkeeper | [] [] |
- sed | |
- sharutils | |
- shishi | |
- skencil | |
- solfege | [] |
- solfege-manual | |
- soundtracker | |
- sp | |
- sysstat | [] |
- tar | [] |
- texinfo | [] |
- tin | |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux-ng | |
- vice | |
- vmm | |
- vorbis-tools | |
- wastesedge | |
- wdiff | |
- wget | [] |
- wyslij-po | |
- xchat | [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- +-----------------------------------------------+
- ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
- 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1
+ nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 7 3 1 6 114 1 12 83 32 80 3 38 45 7 94
- nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK
+---------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] [] |
- aegis | [] [] [] |
- ant-phone | [] [] |
- anubis | [] [] [] |
- aspell | [] [] [] [] [] |
- bash | [] [] |
- bfd | [] |
- bibshelf | [] [] |
- binutils | [] [] |
- bison | [] [] [] |
- bison-runtime | [] [] [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] [] [] |
- bombono-dvd | [] () |
- buzztard | [] [] |
- cflow | [] |
- clisp | [] [] |
- coreutils | [] [] [] [] [] [] |
- cpio | [] [] [] |
- cppi | [] |
- cpplib | [] |
- cryptsetup | [] |
- dfarc | [] |
- dialog | [] [] [] [] |
- dico | [] |
- diffutils | [] [] [] [] [] [] |
- dink | () |
- doodle | [] [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] [] |
- exif | [] [] [] () [] |
- fetchmail | [] [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] [] [] |
- freedink | [] [] |
- gas | |
- gawk | [] [] [] [] |
- gcal | |
- gcc | [] |
- gettext-examples | [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] |
- gip | [] [] [] [] [] |
- gjay | |
- gliv | [] [] [] [] [] [] |
- glunarclock | [] [] [] [] [] |
- gnubiff | [] () |
- gnucash | [] () () () |
- gnuedu | [] |
- gnulib | [] [] [] [] |
+ a2ps | [] [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | [] [] [] |
+ ccd2cue | [] [] [] |
+ ccide | [] [] [] [] |
+ cflow | [] [] [] [] |
+ clisp | |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] |
+ cpplib | [] [] [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] [] |
+ denemo | |
+ dfarc | [] |
+ dialog | [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] |
+ dink | |
+ direvent | [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] [] |
+ gcal | [] [] |
+ gcc | [] [] |
+ gdbm | [] [] |
+ gettext-examples | [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] [] [] [] |
gnunet | |
gnunet-gtk | |
- gnutls | [] [] |
- gold | |
- gpe-aerial | [] [] [] [] [] [] [] |
- gpe-beam | [] [] [] [] [] [] [] |
- gpe-bluetooth | [] [] |
- gpe-calendar | [] [] [] [] |
- gpe-clock | [] [] [] [] [] [] [] [] |
- gpe-conf | [] [] [] [] [] [] [] |
- gpe-contacts | [] [] [] [] [] |
- gpe-edit | [] [] [] |
- gpe-filemanager | [] [] [] |
- gpe-go | [] [] [] [] [] [] [] [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] [] [] [] [] [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] [] [] [] [] [] |
- gpe-su | [] [] [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] [] [] [] |
- gpe-timesheet | [] [] [] [] [] [] [] [] |
- gpe-today | [] [] [] [] [] [] [] [] |
- gpe-todo | [] [] [] [] [] |
- gphoto2 | [] [] [] [] [] [] [] [] |
- gprof | [] [] [] |
- gpsdrive | [] [] |
- gramadoir | [] [] |
- grep | [] [] [] [] |
- grub | [] [] [] |
- gsasl | [] [] [] [] |
- gss | [] [] [] |
- gst-plugins-bad | [] [] [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] [] [] |
- gtkam | [] [] [] [] [] [] |
- gtkorphan | [] |
- gtkspell | [] [] [] [] [] [] [] [] [] [] |
- gutenprint | [] [] |
- hello | [] [] [] [] |
- help2man | [] [] |
- hylafax | [] |
- idutils | [] [] [] [] [] |
- indent | [] [] [] [] [] [] [] |
- iso_15924 | [] [] [] [] |
- iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] [] [] |
- iso_4217 | [] [] [] [] [] [] [] [] |
- iso_639 | [] [] [] [] [] [] [] [] [] |
- iso_639_3 | [] [] |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- keytouch | [] [] [] |
- keytouch-editor | [] [] [] |
- keytouch-keyboa... | [] [] [] |
- klavaro | [] [] |
- latrine | [] [] |
- ld | |
- leafpad | [] [] [] [] [] [] [] [] [] |
- libc | [] [] [] [] |
- libexif | [] [] () [] |
- libextractor | |
- libgnutls | [] [] |
- libgpewidget | [] [] [] |
- libgpg-error | [] [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] [] [] [] |
- libgsasl | [] [] [] [] [] |
- libiconv | [] [] [] [] [] |
- libidn | [] [] |
- lifelines | [] [] |
- liferea | [] [] [] [] [] () () [] |
- lilypond | [] |
- linkdr | [] [] [] |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ guix | [] |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | [] |
+ hylafax | [] |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] () [] |
+ iso_3166 | [] [] () [] [] () [] [] [] |
+ iso_3166_2 | () [] [] () [] |
+ iso_4217 | [] () [] [] () [] [] |
+ iso_639 | [] [] [] () [] [] () [] [] [] |
+ iso_639_3 | [] () [] [] () |
+ iso_639_5 | () [] () |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ klavaro | [] [] [] [] [] [] |
+ latrine | [] [] |
+ ld | [] [] [] [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] () |
+ libextractor | [] [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | () [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
lordsawar | |
- lprng | [] |
- lynx | [] [] [] |
- m4 | [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] |
- make | [] [] [] [] |
- man-db | [] [] [] |
- man-db-manpages | [] [] [] |
- minicom | [] [] [] [] |
- mkisofs | [] [] [] |
- myserver | |
- nano | [] [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] |
- pies | [] |
- popt | [] [] [] [] |
- psmisc | [] [] [] |
- pspp | [] [] |
- pwdutils | [] |
- radius | [] [] [] |
- recode | [] [] [] [] [] [] [] [] |
- rosegarden | () () |
- rpm | [] [] [] |
- rush | [] [] |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] |
+ mailfromd | [] [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] |
+ midi-instruments | [] [] [] [] [] [] |
+ minicom | [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] |
+ nano | [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | [] [] |
+ popt | [] [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | [] |
+ pwdutils | [] [] |
+ pyspread | [] |
+ radius | [] [] |
+ recode | [] [] [] [] |
+ recutils | [] [] [] |
+ rpm | [] [] [] [] |
+ rush | [] [] |
sarg | |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | [] |
- skencil | [] [] |
- solfege | [] [] [] [] |
- solfege-manual | [] [] [] |
- soundtracker | [] |
- sp | |
- sysstat | [] [] [] [] |
- tar | [] [] [] [] |
- texinfo | [] [] [] [] |
- tin | [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux-ng | [] [] [] [] [] |
- vice | [] |
- vmm | [] |
- vorbis-tools | [] [] |
- wastesedge | [] |
- wdiff | [] [] |
- wget | [] [] [] [] [] [] [] |
- wyslij-po | [] [] [] |
- xchat | [] [] [] [] [] [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
+ sed | [] [] [] [] [] |
+ sharutils | [] [] [] |
+ shishi | [] [] |
+ skribilo | [] |
+ solfege | [] [] [] |
+ solfege-manual | [] |
+ spotmachine | [] [] [] |
+ sudo | [] [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] |
+ tigervnc | [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] |
+ util-linux | [] [] [] |
+ ve | [] [] [] [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wcd | [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ wyslij-po | [] [] |
+ xboard | [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+---------------------------------------------------+
- nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
- 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK
+ 91 1 4 3 0 13 50 113 1 126 7 1 95 7
- sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
- +---------------------------------------------------+
- a2ps | [] [] [] [] [] | 27
- aegis | [] | 9
- ant-phone | [] [] [] [] | 9
- anubis | [] [] [] [] | 15
- aspell | [] [] [] | 20
- bash | [] [] [] | 12
- bfd | [] | 6
- bibshelf | [] [] [] | 16
- binutils | [] [] | 8
- bison | [] [] | 12
- bison-runtime | [] [] [] [] [] [] | 29
- bluez-pin | [] [] [] [] [] [] [] [] | 37
- bombono-dvd | [] | 4
- buzztard | [] | 7
- cflow | [] [] [] | 9
- clisp | | 10
- coreutils | [] [] [] [] | 22
- cpio | [] [] [] [] [] [] | 13
- cppi | [] [] | 5
- cpplib | [] [] [] [] [] [] | 14
- cryptsetup | [] [] | 7
- dfarc | [] | 9
- dialog | [] [] [] [] [] [] [] | 30
- dico | [] | 2
- diffutils | [] [] [] [] [] [] | 30
- dink | | 4
- doodle | [] [] | 7
- e2fsprogs | [] [] [] | 11
- enscript | [] [] [] [] | 17
- exif | [] [] [] | 16
- fetchmail | [] [] [] | 17
- findutils | [] [] [] [] [] | 20
- flex | [] [] [] [] | 15
- freedink | [] | 10
- gas | [] | 4
- gawk | [] [] [] [] | 18
- gcal | [] [] | 5
- gcc | [] [] [] | 7
- gettext-examples | [] [] [] [] [] [] [] | 34
- gettext-runtime | [] [] [] [] [] [] [] | 29
- gettext-tools | [] [] [] [] [] [] | 22
- gip | [] [] [] [] | 22
- gjay | [] | 3
- gliv | [] [] [] | 14
- glunarclock | [] [] [] [] [] | 19
- gnubiff | [] [] | 4
- gnucash | () [] () [] () | 10
- gnuedu | [] [] | 7
- gnulib | [] [] [] [] | 16
- gnunet | [] | 1
- gnunet-gtk | [] [] [] | 5
- gnutls | [] [] [] | 10
- gold | [] | 4
- gpe-aerial | [] [] [] | 18
- gpe-beam | [] [] [] | 19
- gpe-bluetooth | [] [] [] | 13
- gpe-calendar | [] [] [] [] | 12
- gpe-clock | [] [] [] [] [] | 28
- gpe-conf | [] [] [] [] | 20
- gpe-contacts | [] [] [] | 17
- gpe-edit | [] [] [] | 12
- gpe-filemanager | [] [] [] [] | 16
- gpe-go | [] [] [] [] [] | 25
- gpe-login | [] [] [] | 11
- gpe-ownerinfo | [] [] [] [] [] | 25
- gpe-package | [] [] [] | 13
- gpe-sketchbook | [] [] [] | 20
- gpe-su | [] [] [] [] [] | 30
- gpe-taskmanager | [] [] [] [] [] | 29
- gpe-timesheet | [] [] [] [] [] | 25
- gpe-today | [] [] [] [] [] [] | 30
- gpe-todo | [] [] [] [] | 17
- gphoto2 | [] [] [] [] [] | 24
- gprof | [] [] [] | 15
- gpsdrive | [] [] [] | 11
- gramadoir | [] [] [] | 11
- grep | [] [] [] | 10
- grub | [] [] [] | 14
- gsasl | [] [] [] [] | 14
- gss | [] [] [] | 11
- gst-plugins-bad | [] [] [] [] | 26
- gst-plugins-base | [] [] [] [] [] | 24
- gst-plugins-good | [] [] [] [] | 24
- gst-plugins-ugly | [] [] [] [] [] | 29
- gstreamer | [] [] [] [] | 22
- gtick | [] [] [] | 13
- gtkam | [] [] [] | 20
- gtkorphan | [] [] [] | 14
- gtkspell | [] [] [] [] [] [] [] [] [] | 45
- gutenprint | [] | 10
- hello | [] [] [] [] [] [] | 21
- help2man | [] [] | 7
- hylafax | [] | 5
- idutils | [] [] [] [] | 17
- indent | [] [] [] [] [] [] | 30
- iso_15924 | () [] () [] [] | 16
- iso_3166 | [] [] () [] [] () [] [] [] () | 53
- iso_3166_2 | () [] () [] | 9
- iso_4217 | [] () [] [] () [] [] | 26
- iso_639 | [] [] [] () [] () [] [] [] [] | 38
- iso_639_3 | [] () | 8
- jwhois | [] [] [] [] [] | 16
- kbd | [] [] [] [] [] | 15
- keytouch | [] [] [] | 16
- keytouch-editor | [] [] [] | 14
- keytouch-keyboa... | [] [] [] | 14
- klavaro | [] | 11
- latrine | [] [] [] | 10
- ld | [] [] [] [] | 11
- leafpad | [] [] [] [] [] [] | 33
- libc | [] [] [] [] [] | 21
- libexif | [] () | 7
- libextractor | [] | 1
- libgnutls | [] [] [] | 9
- libgpewidget | [] [] [] | 14
- libgpg-error | [] [] [] | 9
- libgphoto2 | [] [] | 8
- libgphoto2_port | [] [] [] [] | 14
- libgsasl | [] [] [] | 13
- libiconv | [] [] [] [] | 21
- libidn | () [] [] | 11
- lifelines | [] | 4
- liferea | [] [] [] | 21
- lilypond | [] | 7
- linkdr | [] [] [] [] [] | 17
- lordsawar | | 1
- lprng | [] | 3
- lynx | [] [] [] [] | 17
- m4 | [] [] [] [] | 19
- mailfromd | [] [] | 3
- mailutils | [] | 5
- make | [] [] [] [] | 21
- man-db | [] [] [] | 8
- man-db-manpages | | 4
- minicom | [] [] | 16
- mkisofs | [] [] | 9
- myserver | | 0
- nano | [] [] [] [] | 21
- opcodes | [] [] [] | 11
- parted | [] [] [] [] [] | 15
- pies | [] [] | 3
- popt | [] [] [] [] [] [] | 27
- psmisc | [] [] | 11
- pspp | | 4
- pwdutils | [] [] | 6
- radius | [] [] | 9
- recode | [] [] [] [] | 28
- rosegarden | () | 0
- rpm | [] [] [] | 11
- rush | [] [] | 4
- sarg | | 1
- screem | [] | 3
- scrollkeeper | [] [] [] [] [] | 27
- sed | [] [] [] [] [] | 30
- sharutils | [] [] [] [] [] | 22
- shishi | [] | 3
- skencil | [] [] | 7
- solfege | [] [] [] [] | 16
- solfege-manual | [] | 8
- soundtracker | [] [] [] | 9
- sp | [] | 3
- sysstat | [] [] | 15
- tar | [] [] [] [] [] [] | 23
- texinfo | [] [] [] [] [] | 17
- tin | | 4
- unicode-han-tra... | | 0
- unicode-transla... | | 2
- util-linux-ng | [] [] [] [] | 20
- vice | () () | 1
- vmm | [] | 4
- vorbis-tools | [] | 6
- wastesedge | | 2
- wdiff | [] [] | 7
- wget | [] [] [] [] [] | 26
- wyslij-po | [] [] | 8
- xchat | [] [] [] [] [] [] | 36
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63
- xkeyboard-config | [] [] [] | 22
- +---------------------------------------------------+
- 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
- 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618
+ zh_TW
+ +-------+
+ a2ps | | 30
+ aegis | | 9
+ anubis | | 19
+ aspell | | 28
+ bash | [] | 21
+ bfd | | 9
+ binutils | | 12
+ bison | [] | 18
+ bison-runtime | [] | 38
+ buzztrax | | 8
+ ccd2cue | | 8
+ ccide | | 17
+ cflow | | 15
+ clisp | | 10
+ coreutils | | 20
+ cpio | | 20
+ cppi | | 17
+ cpplib | [] | 19
+ cryptsetup | | 13
+ datamash | | 11
+ denemo | | 4
+ dfarc | | 16
+ dialog | [] | 42
+ dico | | 6
+ diffutils | | 21
+ dink | | 9
+ direvent | | 10
+ doodle | | 12
+ dos2unix | [] | 18
+ dos2unix-man | | 9
+ e2fsprogs | | 14
+ enscript | | 21
+ exif | | 26
+ fetchmail | | 19
+ findutils | | 28
+ flex | [] | 19
+ freedink | | 23
+ fusionforge | | 3
+ gas | | 5
+ gawk | | 12
+ gcal | | 7
+ gcc | | 4
+ gdbm | | 10
+ gettext-examples | [] | 40
+ gettext-runtime | [] | 34
+ gettext-tools | [] | 24
+ gjay | | 8
+ glunarclock | [] | 27
+ gnubiff | | 9
+ gnubik | | 19
+ gnucash | () | 7
+ gnuchess | | 10
+ gnulib | | 23
+ gnunet | | 1
+ gnunet-gtk | | 1
+ gold | | 7
+ gphoto2 | [] | 19
+ gprof | | 21
+ gramadoir | | 14
+ grep | [] | 31
+ grub | | 21
+ gsasl | [] | 19
+ gss | | 17
+ gst-plugins-bad | | 14
+ gst-plugins-base | | 27
+ gst-plugins-good | | 32
+ gst-plugins-ugly | | 34
+ gstreamer | [] | 31
+ gtick | | 19
+ gtkam | | 24
+ gtkspell | [] | 48
+ guix | | 3
+ guix-packages | | 0
+ gutenprint | | 15
+ hello | [] | 30
+ help2man | | 18
+ help2man-texi | | 5
+ hylafax | | 5
+ idutils | | 14
+ iso_15924 | [] | 23
+ iso_3166 | [] | 58
+ iso_3166_2 | | 9
+ iso_4217 | [] | 28
+ iso_639 | [] | 46
+ iso_639_3 | | 10
+ iso_639_5 | | 2
+ jwhois | [] | 20
+ kbd | | 16
+ klavaro | | 30
+ latrine | | 7
+ ld | [] | 15
+ leafpad | [] | 40
+ libc | [] | 24
+ libexif | | 9
+ libextractor | | 5
+ libgnutls | | 13
+ libgphoto2 | | 9
+ libgphoto2_port | [] | 19
+ libgsasl | | 18
+ libiconv | [] | 29
+ libidn | | 17
+ liferea | | 29
+ lilypond | | 11
+ lordsawar | | 3
+ lprng | | 3
+ lynx | | 19
+ m4 | [] | 22
+ mailfromd | | 4
+ mailutils | | 6
+ make | | 19
+ man-db | | 14
+ man-db-manpages | | 9
+ midi-instruments | [] | 43
+ minicom | [] | 17
+ mkisofs | | 13
+ myserver | | 9
+ nano | [] | 29
+ opcodes | | 12
+ parted | [] | 21
+ pies | | 4
+ popt | [] | 36
+ procps-ng | | 5
+ procps-ng-man | | 4
+ psmisc | [] | 22
+ pspp | | 13
+ pushover | | 6
+ pwdutils | | 8
+ pyspread | | 6
+ radius | | 9
+ recode | | 31
+ recutils | | 9
+ rpm | [] | 13
+ rush | | 10
+ sarg | | 4
+ sed | [] | 34
+ sharutils | | 12
+ shishi | | 7
+ skribilo | | 4
+ solfege | | 19
+ solfege-manual | | 9
+ spotmachine | | 10
+ sudo | | 24
+ sudoers | | 20
+ sysstat | | 22
+ tar | [] | 30
+ texinfo | | 17
+ texinfo_document | | 11
+ tigervnc | | 11
+ tin | [] | 7
+ tin-man | | 1
+ tracgoogleappsa... | [] | 22
+ trader | | 11
+ util-linux | | 12
+ ve | | 14
+ vice | | 1
+ vmm | | 3
+ vorbis-tools | | 13
+ wastesedge | | 2
+ wcd | | 8
+ wcd-man | | 3
+ wdiff | [] | 23
+ wget | | 19
+ wyslij-po | | 14
+ xboard | | 9
+ xdg-user-dirs | [] | 68
+ xkeyboard-config | [] | 27
+ +-------+
+ 90 teams zh_TW
+ 166 domains 42 2748
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
@@ -1251,32 +1350,30 @@ used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer. There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
+which it applies should also have been internationalized and distributed
+as such by its maintainer. There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
- If June 2010 seems to be old, you may fetch a more recent copy of
-this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
-matrix with full percentage details can be found at
-`http://translationproject.org/extra/matrix.html'.
+ If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
-1.5 Using `gettext' in new packages
+1.5 Using 'gettext' in new packages
===================================
If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package. Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library. This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
+internationalize it you are welcome to use GNU 'gettext' in your
+package. Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library. This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations. The
+the use of 'gettext' the only thing missing are the translations. The
Free Translation Project is also available for packages which are not
developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
-`coordinator@translationproject.org' to make the `.pot' files available
+'coordinator@translationproject.org' to make the '.pot' files available
to the translation teams.
-
diff --git a/gettext-tools/ChangeLog b/gettext-tools/ChangeLog
index 0c87f7b..5aa6d30 100644
--- a/gettext-tools/ChangeLog
+++ b/gettext-tools/ChangeLog
@@ -1,1186 +1,11 @@
-2014-12-24 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.4 released.
-
-2014-12-04 Daiki Ueno <ueno@gnu.org>
-
- intl: Make the LCOV workaround non-intrusive
- * configure.ac: Replace PLURAL_OBJECT in intl/Makefile.
-
-2014-10-15 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.3 released.
-
-2014-07-14 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.2 released.
-
-2014-06-10 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.1 released.
-
-2014-06-02 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19 released.
-
-2014-05-14 Daiki Ueno <ueno@gnu.org>
-
- * configure.ac: Adjust $docdir assuming that AC_PACKAGE_TARNAME is
- set.
-
-2014-05-12 Daiki Ueno <ueno@gnu.org>
-
- build: Fix Woe32 cross build
- * woe32dll/gettextsrc-exports.c: Don't export line_comment and
- po_lex_iconv if undefined.
-
-2014-04-22 Daiki Ueno <ueno@gnu.org>
-
- build: Use git-version-gen intead of version.sh
- * configure.ac: Use git-version-gen in AC_INIT.
-
-2014-03-11 Daiki Ueno <ueno@gnu.org>
-
- * configure.ac: Remove unnecessary make-variable expansion,
- previously needed for LIBTOOL.
-
-2014-01-28 Roumen Petrov <bugtrack@roumenpetrov.info> (tiny change)
-
- tests: fix "make check" under VPATH builds
- Reported at:
- <https://lists.gnu.org/archive/html/bug-gettext/2014-01/msg00012.html>.
- * configure.ac: Output init-env instead of init.cfg.
-
-2013-07-25 Daiki Ueno <ueno@gnu.org>
-
- tests: allow each test to run individually without 'make'
- * configure.ac: Replace occurrences of make variables in
- tests/init.cfg with shell variables so they can be adjusted in
- test scripts.
-
-2013-07-25 Daiki Ueno <ueno@gnu.org>
-
- tests: fix path adjustment for LTLIBINTL
- * configure.ac: Output tests/init.cfg.
-
-2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- * configure.ac (AM_INIT_AUTOMAKE): Add 'parallel-tests' option.
- Require Automake 1.11.1 or later, so that the 'parallel-tests'
- will be certainly available.
- (AC_INIT): Require Autoconf 2.62 or later; that is the minimal
- version supported by Automake 1.11.1 or later.
-
-2013-04-26 Daiki Ueno <ueno@gnu.org>
-
- Support for Python brace format.
- * woe32dll/gettextsrc-exports.c: Export formatstring_python_brace.
-
-2013-04-17 Andreas Stricker <astricker@futurelab.ch>
-
- Support for JavaScript.
- * woe32dll/gettextsrc-exports.c: Export formatstring_javascript.
-
-2013-04-15 Daiki Ueno <ueno@gnu.org>
-
- * woe32dll/gettextsrc-exports.c: Export formatstring_lua.
-
-2012-12-27 Daiki Ueno <ueno@gnu.org>
-
- Determine imported C symbol prefix at configure time.
- Suggested by Evgeny Grin in <http://savannah.gnu.org/bugs/?29946>.
- * woe32dll/export.h (IMP): Define depending on the result of the
- configure run.
- * configure.ac (GETTEXTLIB_EXPORTS_FLAGS): Add
- -DUSER_LABEL_PREFIX_UNDERSCORE if imported C symbol has
- underscore prefix.
-
-2012-12-25 Daiki Ueno <ueno@gnu.org>
-
- * gettext-0.18.2 released.
-
-2012-12-25 Daiki Ueno <ueno@gnu.org>
-
- * woe32dll/export.h (IMP): Check __MINGW32__ as well as _WIN64.
-
-2012-12-25 Daiki Ueno <ueno@gnu.org>
-
- Work around error_* symbol conflict with Cygwin 1.7 DLL.
- * configure.ac: Reset ac_cv_lib_error_at_line on Cygwin.
- (GETTEXTLIB_EXPORTS_FLAGS): Add -DGNULIB_DEFINED_ERROR if the
- error facility is replaced by gnulib.
- (GNULIB_REPLACE_ERROR): Define if the error facility is replaced
- by gnulib.
- * woe32dll/gettextlib-exports.c (rpl_error_message_count)
- (rpl_error_one_per_line, rpl_error_print_progname): Export only
- if GNULIB_DEFINED_ERROR is set.
-
-2012-12-21 Daiki Ueno <ueno@gnu.org>
-
- Fix W64 build errors.
- * woe32dll/export.h (IMP) [_WIN64]: Prefix "__imp_" instead of
- "_imp__".
-
-2012-12-17 Daiki Ueno <ueno@unixuser.org>
-
- * configure.ac: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER.
- Suggested by Stefano Lattarini <stefano.lattarini@gmail.com>.
-
-2012-01-26 Bruno Haible <bruno@clisp.org>
-
- Modernize quoting.
- * INSTALL: Process through sed -e "s/\`\([^']*\)'/‘\1’/g"
-
-2012-01-15 Bruno Haible <bruno@clisp.org>
-
- Support for MSVC 9.
- * woe32dll/export.h (VARIABLE): Define to empty if not using GCC.
-
-2011-11-27 Bruno Haible <bruno@clisp.org>
-
- Speed up configure a bit.
- * configure.ac: Don't invoke AM_PATH_LISPDIR if the user specified
- --without-emacs.
- Based on a patch by DJ Lucas <dj@linuxfromscratch.org>.
-
-2011-06-03 Bruno Haible <bruno@clisp.org>
-
- Update after gl_PROG_ANSI_CXX changed in gnulib.
- * configure.ac: Test whether CXX is "no", not ":".
-
-2011-06-03 Bruno Haible <bruno@clisp.org>
-
- Fix link error on Cygwin 1.5.x.
- * woe32dll/gettextsrc-exports.c: Add color_test_mode.
-
-2011-01-28 Bruno Haible <bruno@clisp.org>
-
- Add a comment.
- * woe32dll/export.h: Add a reference to the woe32dll writeup.
-
-2010-10-10 Bruno Haible <bruno@clisp.org>
-
- Rely more on libtool.
- * configure.ac (LTNOUNDEF): Remove variable.
-
-2010-07-31 Bruno Haible <bruno@clisp.org>
-
- Use new ansi-c++.m4 from gnulib.
- * configure.ac: Invoke gl_PROG_ANSI_CXX instead of gt_PROG_ANSI_CXX.
- Reported at <https://savannah.gnu.org/bugs/?30607>.
-
-2010-06-06 Bruno Haible <bruno@clisp.org>
-
- New options --with-xz and --with-bzip2 for compressing the archive.
- * configure.ac: New options --without-bzip2, --without-xz.
- (ARCHIVE_FORMAT): Rename value 'dir' to 'dirgz'. Recognize also values
- 'dirxz' or 'dirbz2', depending on options.
-
-2010-06-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (ARCHIVE_FORMAT): If neither --with-git nor --with-cvs
- is specified, don't use the git format if the 'git' program if older
- than version 1.6.
- Suggested by Karl Berry <karl@freefriends.org>.
-
-2010-06-04 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.18.1 released.
-
-2010-06-04 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (ARCHIVE_FORMAT): If neither --with-git nor --with-cvs
- is specified, use the git format only if the 'git' program exists.
-
-2010-06-03 Bruno Haible <bruno@clisp.org>
-
- Deprecate the --with-cvs option.
- * configure.ac: Document options --without-git, --with-cvs.
- (ARCHIVE_FORMAT): Use cvs only when explicitly asked for.
-
-2010-05-24 Bruno Haible <bruno@clisp.org>
-
- Use the newest regex module from gnulib.
- * configure.ac: Invoke grgl_EARLY and grgl_INIT. Don't invoke
- gt_LIBGREP.
- * Makefile.am (ACLOCAL_AMFLAGS): Add -I libgrep/gnulib-m4.
-
-2010-05-09 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.18 released.
-
-2010-05-09 Bruno Haible <bruno@clisp.org>
-
- Export rpl_optind, rpl_optarg from DLL depending on platform.
- * configure.ac (GETTEXTLIB_EXPORTS_FLAGS): New substituted variable.
- * woe32dll/gettextlib-exports.c (rpl_optarg, rpl_optind): Export only
- if GNULIB_DEFINED_GETOPT is set.
-
-2010-04-02 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): Remove "-I ../autoconf-lib-link/m4"
- option.
- (gettextsrc_SCRIPTS): Update.
-
-2009-12-26 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Don't define USE_IN_GETTEXT_TESTS. Test for uselocale.
-
-2009-12-12 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/export.h: Untabify.
-
-2009-09-27 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Accept --without-cvs, --with-git options. Substitute
- ARCHIVE_FORMAT.
- (AC_CONFIG_FILES): Add misc/convert-archive.
-
-2009-08-10 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/gettextsrc-exports.c: Export formatstring_gfc_internal,
- formatstring_qt_plural.
-
-2009-05-31 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (doc/Makefile.am): Don't invoke FIX_MAKEFILE_DISTRIB.
-
-2009-05-29 Bruno Haible <bruno@clisp.org>
-
- Avoid lang-c++ test failure.
- * configure.ac: Invoke LT_LANG also for C++.
-
-2009-05-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (AM_INIT_AUTOMAKE): Add 'silent-rules' option.
- * gnulib-lib/Makefile.am (libgettextlib_la_LINK): Add $(AM_V_lt) flag.
-
-2009-05-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_INIT_PACKAGE. Use the preferred form of
- AM_INIT_AUTOMAKE.
-
-2009-05-21 Bruno Haible <bruno@clisp.org>
-
- Assume automake >= 1.10.2.
- * configure.ac (AC_CONFIG_FILES): Remove FIX_MAKEFILE_COMPILE,
- FIX_MAKEFILE_INFO invocations.
-
-2009-04-11 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (gt_GLOBAL_SYMBOL_PIPE): Remove macro, moved to
- m4/exported.m4.
-
-2009-03-25 Bruno Haible <bruno@clisp.org>
-
- Fix the handling of Windows resources in shared libraries.
- * configure.ac: Invoke LT_LANG for 'Windows Resource'.
-
-2009-01-14 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: More consistent m4 quoting.
-
-2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac: Use AC_TYPE_UNSIGNED_LONG_LONG_INT instead of
- gl_AC_TYPE_UNSIGNED_LONG_LONG.
-
-2008-08-17 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Adapt AC_C_BIGENDIAN invocation to autoconf 2.62: make
- it work for universal binary builds on MacOS X.
-
-2008-04-20 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
-
-2007-11-15 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Check for getrlimit and setrlimit.
-
-2007-11-07 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.17 released.
-
-2007-10-28 Bruno Haible <bruno@clisp.org>
-
- * styles: New directory.
- * Makefile.am (SUBDIRS): Add styles.
- * configure.ac (AC_CONFIG_FILES): Add styles/Makefile.
-
-2007-10-17 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/gettextlib-exports.c: Export gl_array_list_implementation,
- gl_linkedhash_list_implementation.
-
-2007-10-01 Bruno Haible <bruno@clisp.org>
-
- * gnulib-tests: New directory.
- * Makefile.am (SUBDIRS): Add gnulib-tests.
- * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile.
-
-2007-09-30 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/gettextsrc-exports.c: Add formatstring_kde.
-
-2007-07-07 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Don't create libuniname/Makefile.
- * Makefile.am (SUBDIRS): Remove libuniname.
-
-2007-05-28 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (WOE32): New conditional.
-
-2007-05-27 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (gt_OPENMP): Remove invocation.
-
-2007-02-10 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (MSGMERGE_LIBM): Avoid inlining of the ceil, sqrt calls
- on glibc systems.
- Reported by I. Thomas Cundiff <tcundiff@eclipse.net>.
-
-2006-12-23 Bruno Haible <bruno@clisp.org>
-
- * gnulib-lib/Makefile.am (libgettextlib_la_LINK): New variable.
-
-2006-12-23 Bruno Haible <bruno@clisp.org>
-
- * gnulib-lib/Makefile.am (AM_CPPFLAGS): Define LIBXML_STATIC.
- Needed for mingw and cygwin.
-
-2006-12-22 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/c++html-styled-ostream.cc: New file.
- * woe32dll/c++term-styled-ostream.cc: New file.
-
-2006-12-21 Bruno Haible <bruno@clisp.org>
-
- * gnulib-lib/Makefile.am: New file, partially taken from
- ../gnulib-local/modules/gettext-tools-misc.
-
-2006-12-21 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/gettextlib-exports.c: Export styled_ostream_typeinfo.
- * woe32dll/gettextsrc-exports.c: Export color_mode, style_file_name.
-
-2006-12-10 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gt_LOCALE_JA.
-
-2006-10-27 Bruno Haible <bruno@clisp.org>
-
- Work around automake-1.10 annoyance.
- * Makefile.am (ACLOCAL): New macro.
-
-2006-11-27 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.16.1 released.
-
-2006-10-26 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.16 released.
-
-2006-10-25 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Don't invoke AC_RELOCATABLE; now done through the
- relocwrapper and gettext-tools-libgettextpo-misc modules.
-
-2006-10-25 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (DLL_VARIABLE): Define to empty if IN_RELOCWRAPPER is
- defined.
-
-2006-10-20 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): Add -I libgettextpo/gnulib-m4.
- * configure.ac: Also invoke gtpo_EARLY, gtpo_INIT.
-
-2006-10-18 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/gettextsrc-exports.c: Add {input,output}_format_*.
-
-2006-10-16 Bruno Haible <bruno@clisp.org>
-
- * libgettextpo: New directory.
- * Makefile.am (SUBDIRS): Add libgettextpo.
- * configure.ac (gt_GLOBAL_SYMBOL_PIPE): New macro.
- (AC_CONFIG_FILES): Add libgettextpo/Makefile, libgettextpo/exported.sh.
-
-2006-10-15 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/gettextsrc-exports.c: Remove input_syntax.
-
-2006-10-02 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (EXTRA_DIST): Add gnulib-m4/gnulib-cache.m4.
-
-2006-10-02 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): Move gnulib-m4 to the end, since
- sometime we have newer m4 files than gnulib.
-
-2006-08-28 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove bh_C_SIGNED invocation.
-
-2006-07-30 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): Append gnulib-m4 to search path.
- (SUBDIRS): Replace lib with gnulib-lib.
- (examplesbuildauxdir, examplesbuildaux_DATA): New variables.
- * configure.ac (AC_PREREQ): Bump to 2.59.
- (gl_EARLY): Invoke.
- (AC_GNU_SOURCE, gl_USE_SYSTEM_EXTENSIONS): Remove invocations.
- (gl_INIT): Invoke.
- (limits.h, malloc.h, string.h, unistd.h, utime.h, values.h,
- gl_STDARG_H, AM_STDBOOL_H, gl_HEADER_UNISTD, gl_AC_TYPE_UINTMAX_T,
- AC_TYPE_MODE_T, gt_TYPE_SIG_ATOMIC_T, gl_SIZE_MAX, gl_ALLOCSA,
- chown, getcwd, posix_spawn, raise, strerror, strtoul, uname, utime,
- utimes, waitid, atexit, memmove, memset, stpcpy, strcspn, strpbrk,
- vasprintf, AM_FUNC_GETLINE, getdelim, gl_EXITFAIL,
- gl_FUNC_FNMATCH_POSIX, gl_GETOPT, gl_FUNC_EACCESS, gl_FUNC_STPNCPY,
- gl_FUNC_STRTOUL, gl_FUNC_WCWIDTH, gl_MBSWIDTH, gt_PREREQ_BACKUPFILE,
- gt_UNION_WAIT, gt_TMPDIR, gt_FUNC_MKDTEMP, gt_SIGNALBLOCKING,
- gt_FUNC_SETENV, gl_FUNC_STRERROR, gl_FUNC_GLIBC_UNLOCKED_IO, gl_ERROR,
- gl_QUOTEARG, gl_QUOTE, gl_PATHMAX, gl_FUNC_READLINK, gl_XREADLINK,
- gl_CANONICALIZE, gl_XSIZE, gl_MINMAX, gl_LIST, gl_LOCK, gl_TLS,
- gl_BYTESWAP): Remove tests done directly or indirectly by gl_INIT
- or that are now unused.
- (AC_CONFIG_FILES): Add gnulib-lib/Makefile, remove lib/Makefile.
- Remove lib/javacomp.sh, lib/javaexec.sh, lib/csharpcomp.sh,
- lib/csharpexec.sh.
-
-2006-07-30 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Don't test for the strstr function.
-
-2006-07-30 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Update for changed location of javacomp.sh.in,
- javaexec.sh.in, csharpcomp.sh.in, csharpexec.sh.in.
-
-2006-07-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gt_OPENMP.
-
-2006-07-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_LOCK and gl_TLS.
-
-2006-07-22 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_SIZE_MAX and gl_LIST.
-
-2006-07-25 Bruno Haible <bruno@clisp.org>
-
- * windows: Remove directory.
- * Makefile.msvc: Remove file.
- * Makefile.am (config.h.msvc, windows/stdbool.h): Remove rules.
- (EXTRA_DIST): Remove Makefile.msvc, config.h.msvc, windows/*.
-
-2006-07-25 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: Remove file.
- * Makefile.am (config.h_vms): Remove rule.
- (EXTRA_DIST): Remove Makefile.vms, config.h_vms.
-
-2006-07-22 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_FUNC_WCWIDTH, gl_MINMAX.
-
-2006-07-21 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.15 released.
-
-2006-07-20 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.15.0.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2006-07-14 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (MOSTLYCLEANFILES): New variable.
-
-2006-06-29 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove AC_CONFIG_FILES for files in examples subdir.
- Use AC_CONFIG_SUBDIRS instead.
-
-2006-06-27 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove AC_ISC_POSIX invocation.
-
-2006-06-27 Bruno Haible <bruno@clisp.org>
-
- Assume ANSI C header files and <ctype.h> functions.
- * configure.ac: Remove AC_HEADER_STDC invocation.
-
-2006-06-27 Bruno Haible <bruno@clisp.org>
-
- Assume vprintf function.
- * configure.ac: Remove AC_FUNC_VPRINTF invocation.
- * Makefile.am (config.h_vms, config.h.msvc): Remove unused HAVE_VPRINTF
- substitution.
-
-2006-06-27 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms, config.h.msvc): Drop unused HAVE_LOCALE_H
- substitution.
-
-2006-04-14 Bruno Haible <bruno@clisp.org>
-
- Assume autoconf >= 2.60.
- * configure.ac (localedir): Remove variable.
- (docdir): If --docdir value was given, use that.
- (mandir): Remove customization.
-
-2006-05-15 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/export.h: Renamed from cygwin/export.h.
- * woe32dll/gettextlib-exports: Renamed from cygwin/gettextlib-exports.h.
- * woe32dll/gettextsrc-exports: Renamed from cygwin/gettextsrc-exports.h.
- * woe32dll/gettextpo-exports: Renamed from cygwin/gettextpo-exports.h.
- * configure.ac (WOE32DLL): Renamed from CYGWINDLL.
- (DLL_VARIABLE): Define as nonempty on mingw if and only if
- --enable-shared was specified.
- * Makefile.am (EXTRA_DIST): Update.
-
-2006-05-11 Bruno Haible <bruno@clisp.org>
-
- * woe32dll: Directory renamed from mingw.
- * cygwin/export.h: New file.
- * cygwin/gettextlib-exports.c: New file.
- * cygwin/gettextsrc-exports.c: New file.
- * cygwin/gettextpo-exports.c: New file.
- * configure.ac (WOE32DLL): Condition renamed from MINGW. Activate it
- also on Cygwin. Only activate it when compiling shared libraries.
- (CYGWINDLL): New condition.
- (CYGWINDLL): New define.
- (DLL_VARIABLE): Use dllimport also on Cygwin.
- * Makefile.am (EXTRA_DIST): Add cygwin/export.h.
-
-2006-05-11 Bruno Haible <bruno@clisp.org>
-
- * woe32dll/c++format.cc: New file.
-
-2006-05-02 Charles Wilson <cygwin@cwilson.fastmail.fm>
-
- * configure.ac (LTNOUNDEF): Set to -no-undefined also on mingw and
- Cygwin.
-
-2006-05-08 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (windows/stdbool.h): Create directory if needed.
- Based on a patch by Charles Wilson.
-
-2006-04-30 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_STDARG_H.
-
-2006-05-01 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Pass a source-version to gt_JAVACOMP. Move gt_JAVAEXEC
- call before the gt_JAVACOMP call.
-
-2006-04-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_HEADER_UNISTD.
-
-2006-04-17 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (gettextsrc_SCRIPTS): Remove mkinstalldirs.
-
-2006-03-11 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (MSGMERGE_LIBM): New variable. Test for presence of
- ceil() and sqrt().
-
-2005-11-23 Bruno Haible <bruno@clisp.org>
-
- Cygwin portability.
- * configure.ac: Invoke gl_WOE32_DLL.
-
-2005-11-24 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms, config.h.msvc): Treat HAVE_FWPRINTF like
- HAVE_WPRINTF. Needed since 2003-09-17.
- Reported by Svante Seleborg <svante@axantum.com>.
-
-2005-08-16 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove gl_STRCASE invocation.
-
-2005-09-20 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke BISON_I18N.
-
-2005-08-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_BYTESWAP. Define ENDIANNESS.
-
-2005-08-13 Bruno Haible <bruno@clisp.org>
-
- New configure options --disable-java, --disable-native-java.
- * configure.ac: Invoke gt_JAVA_CHOICE.
- (BUILDJAVAEXE, BUILDJAVA): Use it.
-
-2005-08-11 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Accept --without-emacs option.
-
-2005-08-03 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (intl/Makefile): Remove the VPATH line.
- Reported by Jason Keltz <jas@cs.yorku.ca>.
-
-2005-07-26 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Move the AM_GNU_GETTEXT invocation early, since it
- modifies CPPFLAGS.
-
-2005-07-05 Bruno Haible <bruno@clisp.org>
-
- * mingw: New directory.
- * configure.ac (LTNOUNDEF): New macro.
- (MINGW): New conditional.
- (DLL_VARIABLE): Define also as nonempty when building shared libraries
- with mingw.
-
-2005-05-01 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Call gt_CSHARPEXEC with parameters.
-
-2005-03-20 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Test for field __names in struct __locale_struct.
- Also define USE_IN_GETTEXT_TESTS.
-
-2006-06-21 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.6 released.
-
-2006-06-21 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.14.6.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2005-05-23 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.5 released.
-
-2005-05-23 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.14.5.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2005-04-11 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.4 released.
-
-2005-04-11 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.14.4.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2005-03-22 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (AC_CONFIG_AUX_DIR): Use ../build-aux.
- * Makefile.am (ACLOCAL_AMFLAGS): Replace config/m4 with m4.
- (gettextsrc_SCRIPTS): Replace config with build-aux.
-
-2005-03-14 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.3 released.
-
-2005-03-08 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.14.3.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2005-02-24 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.2 released.
-
-2005-02-13 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gt_LOCALE_FR_UTF8.
-
-2005-02-13 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_FUNC_STRTOUL. Keep AC_CHECK_FUNCS(strtoul)
- because plural-exp.c needs it.
-
-2005-02-12 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextsrc.def: Remove po_parse_comment_filepos. Add
- check_msgid_msgstr_format, is_ascii_msgdomain_list,
- message_list_insert_at, string_list_join.
-
-2005-02-12 Bruno Haible <bruno@clisp.org>
-
- * windows/getopt.h: New file.
- * Makefile.am (EXTRA_DIST): Add it.
-
-2005-02-11 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.14.2.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2005-02-10 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: Add po_header_set_field.
-
-2005-02-10 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: Add libgettextpo_version.
-
-2005-02-10 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: Add po_message_remove_filepos,
- po_message_add_filepos.
-
-2005-02-10 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: Add po_message_set_extracted_comments.
-
-2005-02-07 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.def: Add c_strcasecmp, c_strncasecmp.
-
-2005-01-08 Bruno Haible <bruno@clisp.org>
-
- * libgrep: New subdirectory.
- * configure.ac: Invoke gt_LIBGREP. Declare libgrep/Makefile.am.
- * Makefile.am (SUBDIRS): Add libgrep.
- (config.h_vms, config.h.msvc): Define HAVE_DECL_STRDUP, HAVE_MEMCHR,
- restrict.
- * Makefile.msvc: Recurse into libgrep as well.
- * Makefile.vms: Likewise.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_STRCASE. Don't test for strcasecmp and
- strncasecmp here.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_FUNC_STPNCPY.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_ERROR instead of gt_FUNC_ERROR_AT_LINE.
- * Makefile.am (config.h_vms, config.h.msvc): Remove setting of
- HAVE_DECL_STRERROR.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_QUOTE.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_EXITFAIL.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_GETOPT.
- * Makefile.am (config.h_vms, config.h.msvc): Define __GETOPT_PREFIX
- to empty.
- * Makefile.msvc: Update.
- * Makefile.vms: Update.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms, config.h.msvc): Define HAVE_WMEMCHR and
- HAVE_WMEMCPY to 1.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms, config.h.msvc): Define USE_UNLOCKED_IO
- to 1.
-
-2005-01-05 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Update copyright year.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2004-12-10 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.def: Export obstack_free, not _obstack_free.
-
-2004-09-06 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: Add po_message_check_format.
-
-2004-09-05 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextsrc.def: Add the variables names from po-error.h.
- * windows/gettextpo.def: Add many new function names.
-
-2004-04-19 Bruno Haible <bruno@clisp.org>
-
- * gettext.m4: Change jm_ to gl_ in all uses of AC_DEFINE'd names.
-
-2004-03-11 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h.msvc): Fix the value of SIZE_MAX.
-
-2004-02-07 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_QUOTEARG.
-
-2004-01-29 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.1 released.
-
-2004-01-28 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14 released.
-
-2004-01-24 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms): Set MALLOC_0_IS_NONNULL to 0.
- (config.h.msvc): Set MALLOC_0_IS_NONNULL to 1.
-
-2004-01-12 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.def: Add compile_csharp_class,
- execute_csharp_program.
- * windows/gettextsrc.def: Add formatstring_csharp. Rename
- get_c99_format_directives to get_sysdep_c_format_directives.
-
-2004-01-17 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Bump version number to 0.14.
- * windows/gettextsrc.rc: Likewise.
- * windows/gettextpo.rc: Likewise.
-
-2004-01-10 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: When --disable-csharp was given, set BUILDCSHARP=no.
-
-2003-12-26 Bruno Haible <bruno@clisp.org>
-
- Support for C#.
- * configure.ac: Invoke gt_CSHARPCOMP, gt_CSHARPEXEC. Set BUILDCSHARP
- and TESTCSHARP.
- (AC_CONFIG_FILES): Add lib/csharpcomp.sh and lib/csharpexec.sh.
-
-2003-12-27 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Set and AC_SUBST the TESTLIBASPRINTF variable.
-
-2003-12-12 Bruno Haible <bruno@clisp.org>
-
- Assume automake-1.8.
- * Makefile.am (html): Remove rule.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove computation of LTALLOCA.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_ALLOCSA instead of gl_FUNC_ALLOCA.
- * windows/gettextlib.def: Add mallocsa, xmallocsa, freesa.
-
-2003-12-17 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.13.1 released.
-
-2003-12-02 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainer-clean): Create the intl
- directory if it doesn't exist. Needed because a widespread archiving
- tool on Windows doesn't extract empty directories that are present in
- .tar.gz files.
- Reported by Stefan Kowski <stefan.kowski@parks-informatik.de>.
-
-2003-12-02 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke FIX_MAKEFILE_DISTRIB for examples/Makefile.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.13 released.
-
-2003-11-28 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h.msvc): Define SIZE_MAX and inline.
-
-2003-11-28 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.def: Add at_fatal_signal, block_fatal_signals,
- unblock_fatal_signals, _obstack_begin, _obstack_free,
- _obstack_newchunk.
- * windows/gettextsrc.def: Add message_print_syntax_stringtable.
-
-2003-11-16 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (man/Makefile): Postprocess with FIX_MAKEFILE_DISTRIB.
-
-2003-11-16 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.rc: Bump version number to 0.13.
-
-2003-11-15 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (AC_CONFIG_FILES): Create examples/Makefile,
- examples, installpaths, examples/po/Makefile.
- * Makefile.am (SUBDIRS): Add examples.
- * Makefile.msvc (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainer-clean): Recurse into
- examples.
- * Makefile.vms (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainer-clean): Recurse into
- examples.
-
-2003-11-13 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (docdir): New variable.
-
-2003-11-05 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (localedir): New variable.
- (src/user-email): Generate from src/user-email.sh.in.
-
-2003-11-04 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_XSIZE.
-
-2003-10-31 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Also check for waitid.
-
-2003-10-31 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove argument of FIX_MAKEFILE_COMPILE,
- FIX_MAKEFILE_DISTRIB, FIX_MAKEFILE_INFO.
-
-2003-10-07 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Drop PARAMS definition from config.h.in.
-
-2003-10-08 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gt_SIG_ATOMIC_T.
- * Makefile.am (config.h_vms, config.h.msvc): Define HAVE_SIG_ATOMIC_T.
-
-2003-10-04 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Remove gt_PROG_LEX invocation.
-
-2003-09-18 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: Add po_file_domain_header, po_header_field,
- po_message_is_obsolete, po_message_is_fuzzy, po_message_is_format.
- * windows/gettextpo.rc: Bump version number to 0.12.2.
-
-2003-09-16 Bruno Haible <bruno@clisp.org>
-
- Portability to SunOS 4.
- * configure.ac: Also check for atexit.
-
-2003-09-14 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.def: Export fwriteerror.
-
-2003-09-13 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.def: Export close_stdout.
-
-2003-09-09 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Don't test for putc_unlocked.
-
-2003-08-31 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextsrc.def: Add formatstring_sh.
-
-2003-08-29 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h.msvc): Define HAVE_DECL__SNPRINTF,
- HAVE_DECL__SNWPRINTF.
-
-2003-08-24 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Define DLL_VARIABLE in config.h through AH_BOTTOM.
-
-2003-08-24 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextsrc.def: Add formatstring_gcc_internal,
- formatstring_perl, formatstring_perl_brace to the export list.
-
-2003-08-24 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextpo.def: New file.
- * windows/gettextpo.rc: New file.
- * Makefile.am (EXTRA_DIST): Add them.
-
-2003-08-23 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms): Define HAVE_BTOWC, HAVE_DECL_GETENV,
- HAVE_MBSTATE_T, HAVE_READLINK, HAVE_WCSLEN, HAVE_WINT_T, HAVE_WPRINTF.
- (config.h.msvc): Define .HAVE_BTOWC, HAVE_DECL_GETENV, HAVE_WCSLEN,
- HAVE_WINT_T, HAVE_WPRINTF.
-
-2003-08-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_USE_SYSTEM_EXTENSIONS.
-
-2003-08-23 Bruno Haible <bruno@clisp.org>
-
- * windows/fnmatch.h: Include fnmatch_.h.
-
-2003-08-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke AM_STDBOOL_H instead of gt_STDBOOL_H.
- Invoke gl_FUNC_FNMATCH_POSIX instead of gt_FUNC_FNMATCH.
- Invoke gl_MBSWIDTH instead of jm_PREREQ_MBSWIDTH.
-
-2003-07-01 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_FUNC_READLINK.
-
-2003-07-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (windows/stdbool.h): Use stdbool_.h instead of
- stdbool.h.in.
-
-2003-06-19 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gt_LOCALE_FR.
-
-2003-06-08 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms): Don't define HAVE_ENVIRON_DECL. Define
- eaccess.
- * Makefile.vms (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainer-clean): Fix passing of srcdir
- to sub-Makefile.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.12.1 released.
-
-2003-05-20 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms, config.h.msvc, windows/stdbool.h):
- Don't use $< here.
-
-2003-05-19 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextlib.rc: Include <winver.h>.
- * windows/gettextsrc.rc: Likewise.
- Reported by Perry Rapp.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.12 released.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h.msvc): Define HAVE_STRPBRK.
-
-2003-05-15 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms, config.h.msvc): Define HAVE_DECL_STRERROR.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * windows/gettextsrc.def: Update.
- Based on a patch by Perry Rapp.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h_vms): Renamed from config.h.vms.
- * Makefile.vms: Don't use the force target. Use config.h_vms, not
- config.h.vms. Create intl subdirectory. Correct wildcard syntax.
- Suggested by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (mandir): Change default value.
- * Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
-
-2003-04-10 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_FUNC_EACCESS.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (config.h.msvc): Remove redundant sed expression.
-
-2003-04-03 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (INVALID_PATH_CHAR): Add a definition for Woe32.
- Reported by Perry Rapp.
-
-2003-03-30 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
- * Makefile.am (config.h.vms): New rule.
- (EXTRA_DIST): Add Makefile.vms and config.h.vms.
-
-2003-03-30 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Add checks for <pwd.h> and chown().
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Native Woe32/MSVC support.
- * Makefile.msvc: New file.
- * README.woe32: New file.
- * windows/gettextlib.def: New file.
- * windows/gettextlib.rc: New file.
- * windows/gettextsrc.def: New file.
- * windows/gettextsrc.rc: New file.
- * windows/alloca.h: New file.
- * windows/fnmatch.h: New file.
- * Makefile.am (EXTRA_DIST): Add them and config.h.msvc,
- windows/stdbool.h.
- (config.h.msvc, intl/libgnuintl.h.msvc-shared, windows/stdbool.h): New
- rules.
- * configure.ac: Invoke AC_TYPE_MODE_T.
-
-2003-02-28 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * configure.ac: Invoke AC_RELOCATABLE, AC_REPLACE_FUNCS([memmove]),
- gl_FUNC_STRERROR, gl_XREADLINK, gl_CANONICALIZE.
- * INSTALL: Document --enable-relocatable and --with-libintl-prefix.
-
-2003-02-28 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_PATHMAX.
-
-2003-02-22 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (ps, pdf): Remove rules, redundant with automake 1.7.2.
-
-2003-02-18 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am: Don't install ABOUT-NLS in $(datadir)/gettext. This is
- now done by the gettext-runtime package.
-
-2003-02-12 Bruno Haible <bruno@clisp.org>
-
- Big restructuring.
- * configure.ac: New file.
- * Makefile.am: New file.
-
+No more ChangeLog files
+========================
+Do not modify any of the ChangeLog files in gettext. Starting on
+October 14th, 2015 we put changelog information only in the git commit
+log, and generate a top-level ChangeLog file from logs at "make dist"
+time.
+
+Local Variables:
+buffer-read-only: t
+mode: text
+End:
diff --git a/gettext-tools/ChangeLog.0 b/gettext-tools/ChangeLog.0
new file mode 100644
index 0000000..dcf54df
--- /dev/null
+++ b/gettext-tools/ChangeLog.0
@@ -0,0 +1,1212 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-28 Daiki Ueno <ueno@gnu.org>
+
+ * configure.ac (ARCHIVE_VERSION): New substituted variable.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-06-25 Daiki Ueno <ueno@gnu.org>
+
+ * woe32dll/gettextsrc-exports.c: Export syntax_check_name.
+ Reported by Michele Locati.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * woe32dll/gettextsrc-exports.c: Export formatstring_kde_kuit.
+ Reported by Vincent Torri.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * ABOUT-NLS: Regenerate for 0.19.5.
+
+2014-12-24 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.4 released.
+
+2014-12-04 Daiki Ueno <ueno@gnu.org>
+
+ intl: Make the LCOV workaround non-intrusive
+ * configure.ac: Replace PLURAL_OBJECT in intl/Makefile.
+
+2014-10-15 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.3 released.
+
+2014-07-14 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.2 released.
+
+2014-06-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.1 released.
+
+2014-06-02 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19 released.
+
+2014-05-14 Daiki Ueno <ueno@gnu.org>
+
+ * configure.ac: Adjust $docdir assuming that AC_PACKAGE_TARNAME is
+ set.
+
+2014-05-12 Daiki Ueno <ueno@gnu.org>
+
+ build: Fix Woe32 cross build
+ * woe32dll/gettextsrc-exports.c: Don't export line_comment and
+ po_lex_iconv if undefined.
+
+2014-04-22 Daiki Ueno <ueno@gnu.org>
+
+ build: Use git-version-gen intead of version.sh
+ * configure.ac: Use git-version-gen in AC_INIT.
+
+2014-03-11 Daiki Ueno <ueno@gnu.org>
+
+ * configure.ac: Remove unnecessary make-variable expansion,
+ previously needed for LIBTOOL.
+
+2014-01-28 Roumen Petrov <bugtrack@roumenpetrov.info> (tiny change)
+
+ tests: fix "make check" under VPATH builds
+ Reported at:
+ <https://lists.gnu.org/archive/html/bug-gettext/2014-01/msg00012.html>.
+ * configure.ac: Output init-env instead of init.cfg.
+
+2013-07-25 Daiki Ueno <ueno@gnu.org>
+
+ tests: allow each test to run individually without 'make'
+ * configure.ac: Replace occurrences of make variables in
+ tests/init.cfg with shell variables so they can be adjusted in
+ test scripts.
+
+2013-07-25 Daiki Ueno <ueno@gnu.org>
+
+ tests: fix path adjustment for LTLIBINTL
+ * configure.ac: Output tests/init.cfg.
+
+2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
+
+ * configure.ac (AM_INIT_AUTOMAKE): Add 'parallel-tests' option.
+ Require Automake 1.11.1 or later, so that the 'parallel-tests'
+ will be certainly available.
+ (AC_INIT): Require Autoconf 2.62 or later; that is the minimal
+ version supported by Automake 1.11.1 or later.
+
+2013-04-26 Daiki Ueno <ueno@gnu.org>
+
+ Support for Python brace format.
+ * woe32dll/gettextsrc-exports.c: Export formatstring_python_brace.
+
+2013-04-17 Andreas Stricker <astricker@futurelab.ch>
+
+ Support for JavaScript.
+ * woe32dll/gettextsrc-exports.c: Export formatstring_javascript.
+
+2013-04-15 Daiki Ueno <ueno@gnu.org>
+
+ * woe32dll/gettextsrc-exports.c: Export formatstring_lua.
+
+2012-12-27 Daiki Ueno <ueno@gnu.org>
+
+ Determine imported C symbol prefix at configure time.
+ Suggested by Evgeny Grin in <http://savannah.gnu.org/bugs/?29946>.
+ * woe32dll/export.h (IMP): Define depending on the result of the
+ configure run.
+ * configure.ac (GETTEXTLIB_EXPORTS_FLAGS): Add
+ -DUSER_LABEL_PREFIX_UNDERSCORE if imported C symbol has
+ underscore prefix.
+
+2012-12-25 Daiki Ueno <ueno@gnu.org>
+
+ * gettext-0.18.2 released.
+
+2012-12-25 Daiki Ueno <ueno@gnu.org>
+
+ * woe32dll/export.h (IMP): Check __MINGW32__ as well as _WIN64.
+
+2012-12-25 Daiki Ueno <ueno@gnu.org>
+
+ Work around error_* symbol conflict with Cygwin 1.7 DLL.
+ * configure.ac: Reset ac_cv_lib_error_at_line on Cygwin.
+ (GETTEXTLIB_EXPORTS_FLAGS): Add -DGNULIB_DEFINED_ERROR if the
+ error facility is replaced by gnulib.
+ (GNULIB_REPLACE_ERROR): Define if the error facility is replaced
+ by gnulib.
+ * woe32dll/gettextlib-exports.c (rpl_error_message_count)
+ (rpl_error_one_per_line, rpl_error_print_progname): Export only
+ if GNULIB_DEFINED_ERROR is set.
+
+2012-12-21 Daiki Ueno <ueno@gnu.org>
+
+ Fix W64 build errors.
+ * woe32dll/export.h (IMP) [_WIN64]: Prefix "__imp_" instead of
+ "_imp__".
+
+2012-12-17 Daiki Ueno <ueno@unixuser.org>
+
+ * configure.ac: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER.
+ Suggested by Stefano Lattarini <stefano.lattarini@gmail.com>.
+
+2012-01-26 Bruno Haible <bruno@clisp.org>
+
+ Modernize quoting.
+ * INSTALL: Process through sed -e "s/\`\([^']*\)'/‘\1’/g"
+
+2012-01-15 Bruno Haible <bruno@clisp.org>
+
+ Support for MSVC 9.
+ * woe32dll/export.h (VARIABLE): Define to empty if not using GCC.
+
+2011-11-27 Bruno Haible <bruno@clisp.org>
+
+ Speed up configure a bit.
+ * configure.ac: Don't invoke AM_PATH_LISPDIR if the user specified
+ --without-emacs.
+ Based on a patch by DJ Lucas <dj@linuxfromscratch.org>.
+
+2011-06-03 Bruno Haible <bruno@clisp.org>
+
+ Update after gl_PROG_ANSI_CXX changed in gnulib.
+ * configure.ac: Test whether CXX is "no", not ":".
+
+2011-06-03 Bruno Haible <bruno@clisp.org>
+
+ Fix link error on Cygwin 1.5.x.
+ * woe32dll/gettextsrc-exports.c: Add color_test_mode.
+
+2011-01-28 Bruno Haible <bruno@clisp.org>
+
+ Add a comment.
+ * woe32dll/export.h: Add a reference to the woe32dll writeup.
+
+2010-10-10 Bruno Haible <bruno@clisp.org>
+
+ Rely more on libtool.
+ * configure.ac (LTNOUNDEF): Remove variable.
+
+2010-07-31 Bruno Haible <bruno@clisp.org>
+
+ Use new ansi-c++.m4 from gnulib.
+ * configure.ac: Invoke gl_PROG_ANSI_CXX instead of gt_PROG_ANSI_CXX.
+ Reported at <https://savannah.gnu.org/bugs/?30607>.
+
+2010-06-06 Bruno Haible <bruno@clisp.org>
+
+ New options --with-xz and --with-bzip2 for compressing the archive.
+ * configure.ac: New options --without-bzip2, --without-xz.
+ (ARCHIVE_FORMAT): Rename value 'dir' to 'dirgz'. Recognize also values
+ 'dirxz' or 'dirbz2', depending on options.
+
+2010-06-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (ARCHIVE_FORMAT): If neither --with-git nor --with-cvs
+ is specified, don't use the git format if the 'git' program if older
+ than version 1.6.
+ Suggested by Karl Berry <karl@freefriends.org>.
+
+2010-06-04 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.18.1 released.
+
+2010-06-04 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (ARCHIVE_FORMAT): If neither --with-git nor --with-cvs
+ is specified, use the git format only if the 'git' program exists.
+
+2010-06-03 Bruno Haible <bruno@clisp.org>
+
+ Deprecate the --with-cvs option.
+ * configure.ac: Document options --without-git, --with-cvs.
+ (ARCHIVE_FORMAT): Use cvs only when explicitly asked for.
+
+2010-05-24 Bruno Haible <bruno@clisp.org>
+
+ Use the newest regex module from gnulib.
+ * configure.ac: Invoke grgl_EARLY and grgl_INIT. Don't invoke
+ gt_LIBGREP.
+ * Makefile.am (ACLOCAL_AMFLAGS): Add -I libgrep/gnulib-m4.
+
+2010-05-09 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.18 released.
+
+2010-05-09 Bruno Haible <bruno@clisp.org>
+
+ Export rpl_optind, rpl_optarg from DLL depending on platform.
+ * configure.ac (GETTEXTLIB_EXPORTS_FLAGS): New substituted variable.
+ * woe32dll/gettextlib-exports.c (rpl_optarg, rpl_optind): Export only
+ if GNULIB_DEFINED_GETOPT is set.
+
+2010-04-02 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Remove "-I ../autoconf-lib-link/m4"
+ option.
+ (gettextsrc_SCRIPTS): Update.
+
+2009-12-26 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Don't define USE_IN_GETTEXT_TESTS. Test for uselocale.
+
+2009-12-12 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/export.h: Untabify.
+
+2009-09-27 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Accept --without-cvs, --with-git options. Substitute
+ ARCHIVE_FORMAT.
+ (AC_CONFIG_FILES): Add misc/convert-archive.
+
+2009-08-10 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/gettextsrc-exports.c: Export formatstring_gfc_internal,
+ formatstring_qt_plural.
+
+2009-05-31 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (doc/Makefile.am): Don't invoke FIX_MAKEFILE_DISTRIB.
+
+2009-05-29 Bruno Haible <bruno@clisp.org>
+
+ Avoid lang-c++ test failure.
+ * configure.ac: Invoke LT_LANG also for C++.
+
+2009-05-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (AM_INIT_AUTOMAKE): Add 'silent-rules' option.
+ * gnulib-lib/Makefile.am (libgettextlib_la_LINK): Add $(AM_V_lt) flag.
+
+2009-05-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_INIT_PACKAGE. Use the preferred form of
+ AM_INIT_AUTOMAKE.
+
+2009-05-21 Bruno Haible <bruno@clisp.org>
+
+ Assume automake >= 1.10.2.
+ * configure.ac (AC_CONFIG_FILES): Remove FIX_MAKEFILE_COMPILE,
+ FIX_MAKEFILE_INFO invocations.
+
+2009-04-11 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (gt_GLOBAL_SYMBOL_PIPE): Remove macro, moved to
+ m4/exported.m4.
+
+2009-03-25 Bruno Haible <bruno@clisp.org>
+
+ Fix the handling of Windows resources in shared libraries.
+ * configure.ac: Invoke LT_LANG for 'Windows Resource'.
+
+2009-01-14 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: More consistent m4 quoting.
+
+2008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac: Use AC_TYPE_UNSIGNED_LONG_LONG_INT instead of
+ gl_AC_TYPE_UNSIGNED_LONG_LONG.
+
+2008-08-17 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Adapt AC_C_BIGENDIAN invocation to autoconf 2.62: make
+ it work for universal binary builds on MacOS X.
+
+2008-04-20 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
+
+2007-11-15 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Check for getrlimit and setrlimit.
+
+2007-11-07 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.17 released.
+
+2007-10-28 Bruno Haible <bruno@clisp.org>
+
+ * styles: New directory.
+ * Makefile.am (SUBDIRS): Add styles.
+ * configure.ac (AC_CONFIG_FILES): Add styles/Makefile.
+
+2007-10-17 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/gettextlib-exports.c: Export gl_array_list_implementation,
+ gl_linkedhash_list_implementation.
+
+2007-10-01 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tests: New directory.
+ * Makefile.am (SUBDIRS): Add gnulib-tests.
+ * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile.
+
+2007-09-30 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/gettextsrc-exports.c: Add formatstring_kde.
+
+2007-07-07 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Don't create libuniname/Makefile.
+ * Makefile.am (SUBDIRS): Remove libuniname.
+
+2007-05-28 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (WOE32): New conditional.
+
+2007-05-27 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (gt_OPENMP): Remove invocation.
+
+2007-02-10 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (MSGMERGE_LIBM): Avoid inlining of the ceil, sqrt calls
+ on glibc systems.
+ Reported by I. Thomas Cundiff <tcundiff@eclipse.net>.
+
+2006-12-23 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-lib/Makefile.am (libgettextlib_la_LINK): New variable.
+
+2006-12-23 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-lib/Makefile.am (AM_CPPFLAGS): Define LIBXML_STATIC.
+ Needed for mingw and cygwin.
+
+2006-12-22 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/c++html-styled-ostream.cc: New file.
+ * woe32dll/c++term-styled-ostream.cc: New file.
+
+2006-12-21 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-lib/Makefile.am: New file, partially taken from
+ ../gnulib-local/modules/gettext-tools-misc.
+
+2006-12-21 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/gettextlib-exports.c: Export styled_ostream_typeinfo.
+ * woe32dll/gettextsrc-exports.c: Export color_mode, style_file_name.
+
+2006-12-10 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gt_LOCALE_JA.
+
+2006-10-27 Bruno Haible <bruno@clisp.org>
+
+ Work around automake-1.10 annoyance.
+ * Makefile.am (ACLOCAL): New macro.
+
+2006-11-27 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.16.1 released.
+
+2006-10-26 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.16 released.
+
+2006-10-25 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Don't invoke AC_RELOCATABLE; now done through the
+ relocwrapper and gettext-tools-libgettextpo-misc modules.
+
+2006-10-25 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (DLL_VARIABLE): Define to empty if IN_RELOCWRAPPER is
+ defined.
+
+2006-10-20 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Add -I libgettextpo/gnulib-m4.
+ * configure.ac: Also invoke gtpo_EARLY, gtpo_INIT.
+
+2006-10-18 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/gettextsrc-exports.c: Add {input,output}_format_*.
+
+2006-10-16 Bruno Haible <bruno@clisp.org>
+
+ * libgettextpo: New directory.
+ * Makefile.am (SUBDIRS): Add libgettextpo.
+ * configure.ac (gt_GLOBAL_SYMBOL_PIPE): New macro.
+ (AC_CONFIG_FILES): Add libgettextpo/Makefile, libgettextpo/exported.sh.
+
+2006-10-15 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/gettextsrc-exports.c: Remove input_syntax.
+
+2006-10-02 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (EXTRA_DIST): Add gnulib-m4/gnulib-cache.m4.
+
+2006-10-02 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Move gnulib-m4 to the end, since
+ sometime we have newer m4 files than gnulib.
+
+2006-08-28 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove bh_C_SIGNED invocation.
+
+2006-07-30 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Append gnulib-m4 to search path.
+ (SUBDIRS): Replace lib with gnulib-lib.
+ (examplesbuildauxdir, examplesbuildaux_DATA): New variables.
+ * configure.ac (AC_PREREQ): Bump to 2.59.
+ (gl_EARLY): Invoke.
+ (AC_GNU_SOURCE, gl_USE_SYSTEM_EXTENSIONS): Remove invocations.
+ (gl_INIT): Invoke.
+ (limits.h, malloc.h, string.h, unistd.h, utime.h, values.h,
+ gl_STDARG_H, AM_STDBOOL_H, gl_HEADER_UNISTD, gl_AC_TYPE_UINTMAX_T,
+ AC_TYPE_MODE_T, gt_TYPE_SIG_ATOMIC_T, gl_SIZE_MAX, gl_ALLOCSA,
+ chown, getcwd, posix_spawn, raise, strerror, strtoul, uname, utime,
+ utimes, waitid, atexit, memmove, memset, stpcpy, strcspn, strpbrk,
+ vasprintf, AM_FUNC_GETLINE, getdelim, gl_EXITFAIL,
+ gl_FUNC_FNMATCH_POSIX, gl_GETOPT, gl_FUNC_EACCESS, gl_FUNC_STPNCPY,
+ gl_FUNC_STRTOUL, gl_FUNC_WCWIDTH, gl_MBSWIDTH, gt_PREREQ_BACKUPFILE,
+ gt_UNION_WAIT, gt_TMPDIR, gt_FUNC_MKDTEMP, gt_SIGNALBLOCKING,
+ gt_FUNC_SETENV, gl_FUNC_STRERROR, gl_FUNC_GLIBC_UNLOCKED_IO, gl_ERROR,
+ gl_QUOTEARG, gl_QUOTE, gl_PATHMAX, gl_FUNC_READLINK, gl_XREADLINK,
+ gl_CANONICALIZE, gl_XSIZE, gl_MINMAX, gl_LIST, gl_LOCK, gl_TLS,
+ gl_BYTESWAP): Remove tests done directly or indirectly by gl_INIT
+ or that are now unused.
+ (AC_CONFIG_FILES): Add gnulib-lib/Makefile, remove lib/Makefile.
+ Remove lib/javacomp.sh, lib/javaexec.sh, lib/csharpcomp.sh,
+ lib/csharpexec.sh.
+
+2006-07-30 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Don't test for the strstr function.
+
+2006-07-30 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Update for changed location of javacomp.sh.in,
+ javaexec.sh.in, csharpcomp.sh.in, csharpexec.sh.in.
+
+2006-07-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gt_OPENMP.
+
+2006-07-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_LOCK and gl_TLS.
+
+2006-07-22 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_SIZE_MAX and gl_LIST.
+
+2006-07-25 Bruno Haible <bruno@clisp.org>
+
+ * windows: Remove directory.
+ * Makefile.msvc: Remove file.
+ * Makefile.am (config.h.msvc, windows/stdbool.h): Remove rules.
+ (EXTRA_DIST): Remove Makefile.msvc, config.h.msvc, windows/*.
+
+2006-07-25 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.vms: Remove file.
+ * Makefile.am (config.h_vms): Remove rule.
+ (EXTRA_DIST): Remove Makefile.vms, config.h_vms.
+
+2006-07-22 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_FUNC_WCWIDTH, gl_MINMAX.
+
+2006-07-21 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.15 released.
+
+2006-07-20 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.15.0.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2006-07-14 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (MOSTLYCLEANFILES): New variable.
+
+2006-06-29 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove AC_CONFIG_FILES for files in examples subdir.
+ Use AC_CONFIG_SUBDIRS instead.
+
+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove AC_ISC_POSIX invocation.
+
+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ Assume ANSI C header files and <ctype.h> functions.
+ * configure.ac: Remove AC_HEADER_STDC invocation.
+
+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ Assume vprintf function.
+ * configure.ac: Remove AC_FUNC_VPRINTF invocation.
+ * Makefile.am (config.h_vms, config.h.msvc): Remove unused HAVE_VPRINTF
+ substitution.
+
+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms, config.h.msvc): Drop unused HAVE_LOCALE_H
+ substitution.
+
+2006-04-14 Bruno Haible <bruno@clisp.org>
+
+ Assume autoconf >= 2.60.
+ * configure.ac (localedir): Remove variable.
+ (docdir): If --docdir value was given, use that.
+ (mandir): Remove customization.
+
+2006-05-15 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/export.h: Renamed from cygwin/export.h.
+ * woe32dll/gettextlib-exports: Renamed from cygwin/gettextlib-exports.h.
+ * woe32dll/gettextsrc-exports: Renamed from cygwin/gettextsrc-exports.h.
+ * woe32dll/gettextpo-exports: Renamed from cygwin/gettextpo-exports.h.
+ * configure.ac (WOE32DLL): Renamed from CYGWINDLL.
+ (DLL_VARIABLE): Define as nonempty on mingw if and only if
+ --enable-shared was specified.
+ * Makefile.am (EXTRA_DIST): Update.
+
+2006-05-11 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll: Directory renamed from mingw.
+ * cygwin/export.h: New file.
+ * cygwin/gettextlib-exports.c: New file.
+ * cygwin/gettextsrc-exports.c: New file.
+ * cygwin/gettextpo-exports.c: New file.
+ * configure.ac (WOE32DLL): Condition renamed from MINGW. Activate it
+ also on Cygwin. Only activate it when compiling shared libraries.
+ (CYGWINDLL): New condition.
+ (CYGWINDLL): New define.
+ (DLL_VARIABLE): Use dllimport also on Cygwin.
+ * Makefile.am (EXTRA_DIST): Add cygwin/export.h.
+
+2006-05-11 Bruno Haible <bruno@clisp.org>
+
+ * woe32dll/c++format.cc: New file.
+
+2006-05-02 Charles Wilson <cygwin@cwilson.fastmail.fm>
+
+ * configure.ac (LTNOUNDEF): Set to -no-undefined also on mingw and
+ Cygwin.
+
+2006-05-08 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (windows/stdbool.h): Create directory if needed.
+ Based on a patch by Charles Wilson.
+
+2006-04-30 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_STDARG_H.
+
+2006-05-01 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Pass a source-version to gt_JAVACOMP. Move gt_JAVAEXEC
+ call before the gt_JAVACOMP call.
+
+2006-04-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_HEADER_UNISTD.
+
+2006-04-17 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (gettextsrc_SCRIPTS): Remove mkinstalldirs.
+
+2006-03-11 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (MSGMERGE_LIBM): New variable. Test for presence of
+ ceil() and sqrt().
+
+2005-11-23 Bruno Haible <bruno@clisp.org>
+
+ Cygwin portability.
+ * configure.ac: Invoke gl_WOE32_DLL.
+
+2005-11-24 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms, config.h.msvc): Treat HAVE_FWPRINTF like
+ HAVE_WPRINTF. Needed since 2003-09-17.
+ Reported by Svante Seleborg <svante@axantum.com>.
+
+2005-08-16 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove gl_STRCASE invocation.
+
+2005-09-20 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke BISON_I18N.
+
+2005-08-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_BYTESWAP. Define ENDIANNESS.
+
+2005-08-13 Bruno Haible <bruno@clisp.org>
+
+ New configure options --disable-java, --disable-native-java.
+ * configure.ac: Invoke gt_JAVA_CHOICE.
+ (BUILDJAVAEXE, BUILDJAVA): Use it.
+
+2005-08-11 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Accept --without-emacs option.
+
+2005-08-03 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (intl/Makefile): Remove the VPATH line.
+ Reported by Jason Keltz <jas@cs.yorku.ca>.
+
+2005-07-26 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Move the AM_GNU_GETTEXT invocation early, since it
+ modifies CPPFLAGS.
+
+2005-07-05 Bruno Haible <bruno@clisp.org>
+
+ * mingw: New directory.
+ * configure.ac (LTNOUNDEF): New macro.
+ (MINGW): New conditional.
+ (DLL_VARIABLE): Define also as nonempty when building shared libraries
+ with mingw.
+
+2005-05-01 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Call gt_CSHARPEXEC with parameters.
+
+2005-03-20 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Test for field __names in struct __locale_struct.
+ Also define USE_IN_GETTEXT_TESTS.
+
+2006-06-21 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.6 released.
+
+2006-06-21 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.14.6.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2005-05-23 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.5 released.
+
+2005-05-23 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.14.5.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2005-04-11 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.4 released.
+
+2005-04-11 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.14.4.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2005-03-22 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (AC_CONFIG_AUX_DIR): Use ../build-aux.
+ * Makefile.am (ACLOCAL_AMFLAGS): Replace config/m4 with m4.
+ (gettextsrc_SCRIPTS): Replace config with build-aux.
+
+2005-03-14 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.3 released.
+
+2005-03-08 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.14.3.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2005-02-24 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.2 released.
+
+2005-02-13 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gt_LOCALE_FR_UTF8.
+
+2005-02-13 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_FUNC_STRTOUL. Keep AC_CHECK_FUNCS(strtoul)
+ because plural-exp.c needs it.
+
+2005-02-12 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextsrc.def: Remove po_parse_comment_filepos. Add
+ check_msgid_msgstr_format, is_ascii_msgdomain_list,
+ message_list_insert_at, string_list_join.
+
+2005-02-12 Bruno Haible <bruno@clisp.org>
+
+ * windows/getopt.h: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+2005-02-11 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.14.2.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2005-02-10 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: Add po_header_set_field.
+
+2005-02-10 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: Add libgettextpo_version.
+
+2005-02-10 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: Add po_message_remove_filepos,
+ po_message_add_filepos.
+
+2005-02-10 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: Add po_message_set_extracted_comments.
+
+2005-02-07 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.def: Add c_strcasecmp, c_strncasecmp.
+
+2005-01-08 Bruno Haible <bruno@clisp.org>
+
+ * libgrep: New subdirectory.
+ * configure.ac: Invoke gt_LIBGREP. Declare libgrep/Makefile.am.
+ * Makefile.am (SUBDIRS): Add libgrep.
+ (config.h_vms, config.h.msvc): Define HAVE_DECL_STRDUP, HAVE_MEMCHR,
+ restrict.
+ * Makefile.msvc: Recurse into libgrep as well.
+ * Makefile.vms: Likewise.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_STRCASE. Don't test for strcasecmp and
+ strncasecmp here.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_FUNC_STPNCPY.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_ERROR instead of gt_FUNC_ERROR_AT_LINE.
+ * Makefile.am (config.h_vms, config.h.msvc): Remove setting of
+ HAVE_DECL_STRERROR.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_QUOTE.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_EXITFAIL.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_GETOPT.
+ * Makefile.am (config.h_vms, config.h.msvc): Define __GETOPT_PREFIX
+ to empty.
+ * Makefile.msvc: Update.
+ * Makefile.vms: Update.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms, config.h.msvc): Define HAVE_WMEMCHR and
+ HAVE_WMEMCPY to 1.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms, config.h.msvc): Define USE_UNLOCKED_IO
+ to 1.
+
+2005-01-05 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Update copyright year.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2004-12-10 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.def: Export obstack_free, not _obstack_free.
+
+2004-09-06 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: Add po_message_check_format.
+
+2004-09-05 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextsrc.def: Add the variables names from po-error.h.
+ * windows/gettextpo.def: Add many new function names.
+
+2004-04-19 Bruno Haible <bruno@clisp.org>
+
+ * gettext.m4: Change jm_ to gl_ in all uses of AC_DEFINE'd names.
+
+2004-03-11 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h.msvc): Fix the value of SIZE_MAX.
+
+2004-02-07 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_QUOTEARG.
+
+2004-01-29 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.1 released.
+
+2004-01-28 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14 released.
+
+2004-01-24 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms): Set MALLOC_0_IS_NONNULL to 0.
+ (config.h.msvc): Set MALLOC_0_IS_NONNULL to 1.
+
+2004-01-12 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.def: Add compile_csharp_class,
+ execute_csharp_program.
+ * windows/gettextsrc.def: Add formatstring_csharp. Rename
+ get_c99_format_directives to get_sysdep_c_format_directives.
+
+2004-01-17 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Bump version number to 0.14.
+ * windows/gettextsrc.rc: Likewise.
+ * windows/gettextpo.rc: Likewise.
+
+2004-01-10 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: When --disable-csharp was given, set BUILDCSHARP=no.
+
+2003-12-26 Bruno Haible <bruno@clisp.org>
+
+ Support for C#.
+ * configure.ac: Invoke gt_CSHARPCOMP, gt_CSHARPEXEC. Set BUILDCSHARP
+ and TESTCSHARP.
+ (AC_CONFIG_FILES): Add lib/csharpcomp.sh and lib/csharpexec.sh.
+
+2003-12-27 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Set and AC_SUBST the TESTLIBASPRINTF variable.
+
+2003-12-12 Bruno Haible <bruno@clisp.org>
+
+ Assume automake-1.8.
+ * Makefile.am (html): Remove rule.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove computation of LTALLOCA.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_ALLOCSA instead of gl_FUNC_ALLOCA.
+ * windows/gettextlib.def: Add mallocsa, xmallocsa, freesa.
+
+2003-12-17 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.13.1 released.
+
+2003-12-02 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.msvc (all, install, installdirs, uninstall, check,
+ mostlyclean, clean, distclean, maintainer-clean): Create the intl
+ directory if it doesn't exist. Needed because a widespread archiving
+ tool on Windows doesn't extract empty directories that are present in
+ .tar.gz files.
+ Reported by Stefan Kowski <stefan.kowski@parks-informatik.de>.
+
+2003-12-02 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke FIX_MAKEFILE_DISTRIB for examples/Makefile.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.13 released.
+
+2003-11-28 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h.msvc): Define SIZE_MAX and inline.
+
+2003-11-28 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.def: Add at_fatal_signal, block_fatal_signals,
+ unblock_fatal_signals, _obstack_begin, _obstack_free,
+ _obstack_newchunk.
+ * windows/gettextsrc.def: Add message_print_syntax_stringtable.
+
+2003-11-16 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (man/Makefile): Postprocess with FIX_MAKEFILE_DISTRIB.
+
+2003-11-16 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.rc: Bump version number to 0.13.
+
+2003-11-15 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (AC_CONFIG_FILES): Create examples/Makefile,
+ examples, installpaths, examples/po/Makefile.
+ * Makefile.am (SUBDIRS): Add examples.
+ * Makefile.msvc (all, install, installdirs, uninstall, check,
+ mostlyclean, clean, distclean, maintainer-clean): Recurse into
+ examples.
+ * Makefile.vms (all, install, installdirs, uninstall, check,
+ mostlyclean, clean, distclean, maintainer-clean): Recurse into
+ examples.
+
+2003-11-13 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (docdir): New variable.
+
+2003-11-05 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (localedir): New variable.
+ (src/user-email): Generate from src/user-email.sh.in.
+
+2003-11-04 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_XSIZE.
+
+2003-10-31 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Also check for waitid.
+
+2003-10-31 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove argument of FIX_MAKEFILE_COMPILE,
+ FIX_MAKEFILE_DISTRIB, FIX_MAKEFILE_INFO.
+
+2003-10-07 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Drop PARAMS definition from config.h.in.
+
+2003-10-08 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gt_SIG_ATOMIC_T.
+ * Makefile.am (config.h_vms, config.h.msvc): Define HAVE_SIG_ATOMIC_T.
+
+2003-10-04 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Remove gt_PROG_LEX invocation.
+
+2003-09-18 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: Add po_file_domain_header, po_header_field,
+ po_message_is_obsolete, po_message_is_fuzzy, po_message_is_format.
+ * windows/gettextpo.rc: Bump version number to 0.12.2.
+
+2003-09-16 Bruno Haible <bruno@clisp.org>
+
+ Portability to SunOS 4.
+ * configure.ac: Also check for atexit.
+
+2003-09-14 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.def: Export fwriteerror.
+
+2003-09-13 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.def: Export close_stdout.
+
+2003-09-09 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Don't test for putc_unlocked.
+
+2003-08-31 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextsrc.def: Add formatstring_sh.
+
+2003-08-29 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h.msvc): Define HAVE_DECL__SNPRINTF,
+ HAVE_DECL__SNWPRINTF.
+
+2003-08-24 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Define DLL_VARIABLE in config.h through AH_BOTTOM.
+
+2003-08-24 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextsrc.def: Add formatstring_gcc_internal,
+ formatstring_perl, formatstring_perl_brace to the export list.
+
+2003-08-24 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextpo.def: New file.
+ * windows/gettextpo.rc: New file.
+ * Makefile.am (EXTRA_DIST): Add them.
+
+2003-08-23 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms): Define HAVE_BTOWC, HAVE_DECL_GETENV,
+ HAVE_MBSTATE_T, HAVE_READLINK, HAVE_WCSLEN, HAVE_WINT_T, HAVE_WPRINTF.
+ (config.h.msvc): Define .HAVE_BTOWC, HAVE_DECL_GETENV, HAVE_WCSLEN,
+ HAVE_WINT_T, HAVE_WPRINTF.
+
+2003-08-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_USE_SYSTEM_EXTENSIONS.
+
+2003-08-23 Bruno Haible <bruno@clisp.org>
+
+ * windows/fnmatch.h: Include fnmatch_.h.
+
+2003-08-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke AM_STDBOOL_H instead of gt_STDBOOL_H.
+ Invoke gl_FUNC_FNMATCH_POSIX instead of gt_FUNC_FNMATCH.
+ Invoke gl_MBSWIDTH instead of jm_PREREQ_MBSWIDTH.
+
+2003-07-01 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_FUNC_READLINK.
+
+2003-07-01 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (windows/stdbool.h): Use stdbool_.h instead of
+ stdbool.h.in.
+
+2003-06-19 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gt_LOCALE_FR.
+
+2003-06-08 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms): Don't define HAVE_ENVIRON_DECL. Define
+ eaccess.
+ * Makefile.vms (all, install, installdirs, uninstall, check,
+ mostlyclean, clean, distclean, maintainer-clean): Fix passing of srcdir
+ to sub-Makefile.
+ Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
+
+2003-05-22 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.12.1 released.
+
+2003-05-20 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms, config.h.msvc, windows/stdbool.h):
+ Don't use $< here.
+
+2003-05-19 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextlib.rc: Include <winver.h>.
+ * windows/gettextsrc.rc: Likewise.
+ Reported by Perry Rapp.
+
+2003-05-17 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.12 released.
+
+2003-05-17 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h.msvc): Define HAVE_STRPBRK.
+
+2003-05-15 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms, config.h.msvc): Define HAVE_DECL_STRERROR.
+
+2003-05-12 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO.
+
+2003-05-12 Bruno Haible <bruno@clisp.org>
+
+ * windows/gettextsrc.def: Update.
+ Based on a patch by Perry Rapp.
+
+2003-04-12 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h_vms): Renamed from config.h.vms.
+ * Makefile.vms: Don't use the force target. Use config.h_vms, not
+ config.h.vms. Create intl subdirectory. Correct wildcard syntax.
+ Suggested by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
+
+2003-04-12 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (mandir): Change default value.
+ * Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
+
+2003-04-10 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_FUNC_EACCESS.
+
+2003-04-05 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (config.h.msvc): Remove redundant sed expression.
+
+2003-04-03 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (INVALID_PATH_CHAR): Add a definition for Woe32.
+ Reported by Perry Rapp.
+
+2003-03-30 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.vms: New file.
+ * Makefile.am (config.h.vms): New rule.
+ (EXTRA_DIST): Add Makefile.vms and config.h.vms.
+
+2003-03-30 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Add checks for <pwd.h> and chown().
+
+2003-03-17 Bruno Haible <bruno@clisp.org>
+
+ Native Woe32/MSVC support.
+ * Makefile.msvc: New file.
+ * README.woe32: New file.
+ * windows/gettextlib.def: New file.
+ * windows/gettextlib.rc: New file.
+ * windows/gettextsrc.def: New file.
+ * windows/gettextsrc.rc: New file.
+ * windows/alloca.h: New file.
+ * windows/fnmatch.h: New file.
+ * Makefile.am (EXTRA_DIST): Add them and config.h.msvc,
+ windows/stdbool.h.
+ (config.h.msvc, intl/libgnuintl.h.msvc-shared, windows/stdbool.h): New
+ rules.
+ * configure.ac: Invoke AC_TYPE_MODE_T.
+
+2003-02-28 Bruno Haible <bruno@clisp.org>
+
+ Support for relocatable installation.
+ * configure.ac: Invoke AC_RELOCATABLE, AC_REPLACE_FUNCS([memmove]),
+ gl_FUNC_STRERROR, gl_XREADLINK, gl_CANONICALIZE.
+ * INSTALL: Document --enable-relocatable and --with-libintl-prefix.
+
+2003-02-28 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_PATHMAX.
+
+2003-02-22 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (ps, pdf): Remove rules, redundant with automake 1.7.2.
+
+2003-02-18 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am: Don't install ABOUT-NLS in $(datadir)/gettext. This is
+ now done by the gettext-runtime package.
+
+2003-02-12 Bruno Haible <bruno@clisp.org>
+
+ Big restructuring.
+ * configure.ac: New file.
+ * Makefile.am: New file.
+
diff --git a/gettext-tools/Makefile.am b/gettext-tools/Makefile.am
index 3eb3238..567b7ca 100644
--- a/gettext-tools/Makefile.am
+++ b/gettext-tools/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-tools directory of GNU gettext
-## Copyright (C) 1995-1999, 2000-2007, 2010 Free Software Foundation, Inc.
+## Copyright (C) 1995-2007, 2010, 2015 Free Software Foundation, Inc.
##
## 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
@@ -19,7 +19,7 @@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
+SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples its
EXTRA_DIST = misc/DISCLAIM
MOSTLYCLEANFILES = core *.stackdump
diff --git a/gettext-tools/Makefile.in b/gettext-tools/Makefile.in
index f24d2fa..7ad6bfa 100644
--- a/gettext-tools/Makefile.in
+++ b/gettext-tools/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -79,31 +89,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = .
-DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
- $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/configure $(am__configure_deps) \
- $(srcdir)/config.h.in $(top_srcdir)/../build-aux/mkinstalldirs \
- $(top_srcdir)/../build-aux/csharpcomp.sh.in \
- $(top_srcdir)/../build-aux/csharpexec.sh.in \
- $(top_srcdir)/../build-aux/javacomp.sh.in \
- $(top_srcdir)/../build-aux/javaexec.sh.in \
- $(top_srcdir)/../gettext-runtime/intl/Makefile.in ABOUT-NLS \
- COPYING ../build-aux/compile ../build-aux/config.guess \
- ../build-aux/config.rpath ../build-aux/config.sub \
- ../build-aux/install-sh ../build-aux/missing \
- ../build-aux/mkinstalldirs ../build-aux/texinfo.tex \
- ../build-aux/ltmain.sh $(top_srcdir)/../build-aux/compile \
- $(top_srcdir)/../build-aux/config.guess \
- $(top_srcdir)/../build-aux/config.rpath \
- $(top_srcdir)/../build-aux/config.sub \
- $(top_srcdir)/../build-aux/install-sh \
- $(top_srcdir)/../build-aux/ltmain.sh \
- $(top_srcdir)/../build-aux/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -120,6 +109,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -127,6 +117,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -138,7 +129,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -168,10 +162,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -189,10 +189,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -222,6 +225,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -246,6 +250,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -253,6 +258,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -344,6 +350,8 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
@@ -441,6 +449,27 @@ ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(top_srcdir)/../build-aux/ar-lib \
+ $(top_srcdir)/../build-aux/compile \
+ $(top_srcdir)/../build-aux/config.guess \
+ $(top_srcdir)/../build-aux/config.rpath \
+ $(top_srcdir)/../build-aux/config.sub \
+ $(top_srcdir)/../build-aux/csharpcomp.sh.in \
+ $(top_srcdir)/../build-aux/csharpexec.sh.in \
+ $(top_srcdir)/../build-aux/install-sh \
+ $(top_srcdir)/../build-aux/javacomp.sh.in \
+ $(top_srcdir)/../build-aux/javaexec.sh.in \
+ $(top_srcdir)/../build-aux/ltmain.sh \
+ $(top_srcdir)/../build-aux/missing \
+ $(top_srcdir)/../build-aux/mkinstalldirs \
+ $(top_srcdir)/../gettext-runtime/intl/Makefile.in \
+ ../build-aux/ar-lib ../build-aux/compile \
+ ../build-aux/config.guess ../build-aux/config.rpath \
+ ../build-aux/config.sub ../build-aux/install-sh \
+ ../build-aux/ltmain.sh ../build-aux/missing \
+ ../build-aux/mkinstalldirs ../build-aux/texinfo.tex ABOUT-NLS \
+ AUTHORS COPYING ChangeLog INSTALL NEWS README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -492,6 +521,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -553,6 +583,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -567,15 +598,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -584,6 +634,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -598,6 +658,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -606,6 +675,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -636,17 +708,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -685,6 +787,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -720,6 +825,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -743,11 +849,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -758,10 +873,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -790,10 +911,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -853,25 +981,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -883,13 +1043,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -898,6 +1073,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -909,6 +1088,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -919,6 +1104,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -941,9 +1132,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -965,12 +1165,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -991,6 +1201,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -1010,6 +1222,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -1025,9 +1238,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -1040,9 +1258,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1068,7 +1291,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1144,13 +1371,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1169,6 +1399,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1177,6 +1408,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1186,9 +1418,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1199,6 +1431,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1208,6 +1441,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1217,6 +1451,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1235,6 +1470,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1244,6 +1480,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1274,12 +1511,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1298,6 +1537,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1306,16 +1550,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1334,19 +1595,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1364,6 +1650,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1393,16 +1683,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1428,6 +1727,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1454,6 +1756,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1468,6 +1771,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1561,7 +1865,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
+SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples its
# Allow users to use "gnulib-tool --update".
@@ -1601,7 +1905,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1898,15 +2201,15 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
- @echo WARNING: "Support for shar distribution archives is" \
- "deprecated." >&2
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
- @echo WARNING: "Support for distribution archives compressed with" \
- "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -1942,18 +2245,18 @@ distcheck: dist
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_inst
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
--with-included-gettext \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
- --srcdir=.. --prefix="$$dc_install_base" \
+ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -2138,6 +2441,8 @@ uninstall-am: uninstall-examplesbuildauxDATA \
uninstall-am uninstall-examplesbuildauxDATA \
uninstall-gettextsrcSCRIPTS
+.PRECIOUS: Makefile
+
# Files copied from other directories.
diff --git a/gettext-tools/aclocal.m4 b/gettext-tools/aclocal.m4
index 3eb76ab..4e07a1c 100644
--- a/gettext-tools/aclocal.m4
+++ b/gettext-tools/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.15], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,74 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed. If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+ [AC_LANG_PUSH([C])
+ am_cv_ar_interface=ar
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+ [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+ ])
+ AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ m4_default([$1],
+ [AC_MSG_ERROR([could not determine $AR interface])])
+ ;;
+esac
+AC_SUBST([AR])dnl
+])
+
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -103,15 +163,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -142,7 +201,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -333,7 +392,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -409,7 +468,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -499,8 +558,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -573,7 +632,11 @@ to "yes", and re-run configure.
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -602,7 +665,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -613,7 +676,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +686,7 @@ if test x"${install_sh}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -642,7 +705,7 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -673,7 +736,7 @@ AC_DEFUN([AM_PATH_LISPDIR],
# which is non-obvious for non-emacs users.
# Redirecting /dev/null should help a bit; pity we can't detect "broken"
# emacsen earlier and avoid running this altogether.
- AC_RUN_LOG([$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out])
+ AC_RUN_LOG([$EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out])
am_cv_lispdir=`sed -n \
-e 's,/$,,' \
-e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
@@ -691,7 +754,7 @@ AC_SUBST([lispdir])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -741,7 +804,7 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -780,7 +843,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -809,7 +872,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -856,7 +919,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -875,7 +938,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -956,7 +1019,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1016,7 +1079,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1044,7 +1107,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1063,7 +1126,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1196,7 +1259,6 @@ AC_SUBST([am__untar])
m4_include([libgettextpo/gnulib-m4/gnulib-comp.m4])
m4_include([libgrep/gnulib-m4/gnulib-comp.m4])
-m4_include([libgrep/gnulib-m4/langinfo_h.m4])
m4_include([libgrep/gnulib-m4/localeconv.m4])
m4_include([libgrep/gnulib-m4/mbrlen.m4])
m4_include([libgrep/gnulib-m4/nl_langinfo.m4])
@@ -1213,6 +1275,7 @@ m4_include([gnulib-m4/bison-i18n.m4])
m4_include([gnulib-m4/btowc.m4])
m4_include([gnulib-m4/byteswap.m4])
m4_include([gnulib-m4/canonicalize.m4])
+m4_include([gnulib-m4/check-math-lib.m4])
m4_include([gnulib-m4/close.m4])
m4_include([gnulib-m4/closedir.m4])
m4_include([gnulib-m4/configmake.m4])
@@ -1220,6 +1283,7 @@ m4_include([gnulib-m4/copy-file.m4])
m4_include([gnulib-m4/csharp.m4])
m4_include([gnulib-m4/csharpcomp.m4])
m4_include([gnulib-m4/csharpexec.m4])
+m4_include([gnulib-m4/ctype.m4])
m4_include([gnulib-m4/curses.m4])
m4_include([gnulib-m4/dirent_h.m4])
m4_include([gnulib-m4/double-slash-root.m4])
@@ -1232,7 +1296,10 @@ m4_include([gnulib-m4/errno_h.m4])
m4_include([gnulib-m4/error.m4])
m4_include([gnulib-m4/execute.m4])
m4_include([gnulib-m4/exponentd.m4])
+m4_include([gnulib-m4/exponentf.m4])
+m4_include([gnulib-m4/exponentl.m4])
m4_include([gnulib-m4/extensions.m4])
+m4_include([gnulib-m4/fabs.m4])
m4_include([gnulib-m4/fatal-signal.m4])
m4_include([gnulib-m4/fcntl.m4])
m4_include([gnulib-m4/fcntl_h.m4])
@@ -1262,10 +1329,16 @@ m4_include([gnulib-m4/include_next.m4])
m4_include([gnulib-m4/inline.m4])
m4_include([gnulib-m4/intmax_t.m4])
m4_include([gnulib-m4/inttypes.m4])
+m4_include([gnulib-m4/isinf.m4])
+m4_include([gnulib-m4/isnan.m4])
+m4_include([gnulib-m4/isnand.m4])
+m4_include([gnulib-m4/isnanf.m4])
+m4_include([gnulib-m4/isnanl.m4])
m4_include([gnulib-m4/iswblank.m4])
m4_include([gnulib-m4/java.m4])
m4_include([gnulib-m4/javacomp.m4])
m4_include([gnulib-m4/javaexec.m4])
+m4_include([gnulib-m4/langinfo_h.m4])
m4_include([gnulib-m4/largefile.m4])
m4_include([gnulib-m4/lib-ld.m4])
m4_include([gnulib-m4/lib-link.m4])
@@ -1283,10 +1356,13 @@ m4_include([gnulib-m4/locale-tr.m4])
m4_include([gnulib-m4/locale-zh.m4])
m4_include([gnulib-m4/locale_h.m4])
m4_include([gnulib-m4/localename.m4])
+m4_include([gnulib-m4/log10.m4])
m4_include([gnulib-m4/lseek.m4])
m4_include([gnulib-m4/lstat.m4])
m4_include([gnulib-m4/malloc.m4])
m4_include([gnulib-m4/malloca.m4])
+m4_include([gnulib-m4/math_h.m4])
+m4_include([gnulib-m4/mathfunc.m4])
m4_include([gnulib-m4/mbchar.m4])
m4_include([gnulib-m4/mbiter.m4])
m4_include([gnulib-m4/mbrtowc.m4])
@@ -1316,6 +1392,7 @@ m4_include([gnulib-m4/opendir.m4])
m4_include([gnulib-m4/pathmax.m4])
m4_include([gnulib-m4/pipe2.m4])
m4_include([gnulib-m4/posix_spawn.m4])
+m4_include([gnulib-m4/pow.m4])
m4_include([gnulib-m4/printf.m4])
m4_include([gnulib-m4/putenv.m4])
m4_include([gnulib-m4/quote.m4])
@@ -1340,6 +1417,7 @@ m4_include([gnulib-m4/sig_atomic_t.m4])
m4_include([gnulib-m4/sigaction.m4])
m4_include([gnulib-m4/signal_h.m4])
m4_include([gnulib-m4/signalblocking.m4])
+m4_include([gnulib-m4/signbit.m4])
m4_include([gnulib-m4/sigpipe.m4])
m4_include([gnulib-m4/sleep.m4])
m4_include([gnulib-m4/snprintf.m4])
@@ -1347,6 +1425,7 @@ m4_include([gnulib-m4/spawn-pipe.m4])
m4_include([gnulib-m4/spawn_h.m4])
m4_include([gnulib-m4/ssize_t.m4])
m4_include([gnulib-m4/stat.m4])
+m4_include([gnulib-m4/stdalign.m4])
m4_include([gnulib-m4/stdarg.m4])
m4_include([gnulib-m4/stdbool.m4])
m4_include([gnulib-m4/stddef_h.m4])
diff --git a/gettext-tools/config.h.in b/gettext-tools/config.h.in
index 70c7fe3..0813e79 100644
--- a/gettext-tools/config.h.in
+++ b/gettext-tools/config.h.in
@@ -54,12 +54,15 @@
/* Define as the word index where to find the exponent of 'double'. */
#undef DBL_EXPBIT0_WORD
+/* Define as the bit index in the word where to find the sign of 'double'. */
+#undef DBL_SIGNBIT_BIT
+
+/* Define as the word index where to find the sign of 'double'. */
+#undef DBL_SIGNBIT_WORD
+
/* Define to 1 if // is a file system root distinct from /. */
#undef DOUBLE_SLASH_IS_DISTINCT_ROOT
-/* Define to 1 if libexpat shall be dynamically loaded via dlopen(). */
-#undef DYNLOAD_LIBEXPAT
-
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
@@ -74,6 +77,19 @@
/* Define this to 1 if F_DUPFD behavior does not match POSIX */
#undef FCNTL_DUPFD_BUGGY
+/* Define as the bit index in the word where to find bit 0 of the exponent of
+ 'float'. */
+#undef FLT_EXPBIT0_BIT
+
+/* Define as the word index where to find the exponent of 'float'. */
+#undef FLT_EXPBIT0_WORD
+
+/* Define as the bit index in the word where to find the sign of 'float'. */
+#undef FLT_SIGNBIT_BIT
+
+/* Define as the word index where to find the sign of 'float'. */
+#undef FLT_SIGNBIT_WORD
+
/* Define to 1 if fopen() fails to recognize a trailing slash. */
#undef FOPEN_TRAILING_SLASH_BUG
@@ -97,6 +113,10 @@
declaration of the second argument to gettimeofday. */
#undef GETTIMEOFDAY_TIMEZONE
+/* Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS and
+ XATTR_NAME_POSIX_ACL_DEFAULT. */
+#undef GETXATTR_WITH_POSIX_ACLS
+
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
whether the gnulib module canonicalize-lgpl shall be considered present. */
#undef GNULIB_CANONICALIZE_LGPL
@@ -121,6 +141,10 @@
whether the gnulib module pipe2-safer shall be considered present. */
#undef GNULIB_PIPE2_SAFER
+/* Define to 1 if printf and friends should be labeled with attribute
+ "__gnu_printf__" instead of "__printf__" */
+#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+
/* Define when the error facility is replaced by gnulib. */
#undef GNULIB_REPLACE_ERROR
@@ -204,12 +228,30 @@
/* Define to 1 when the gnulib module gettimeofday should be tested. */
#undef GNULIB_TEST_GETTIMEOFDAY
+/* Define to 1 when the gnulib module isinf should be tested. */
+#undef GNULIB_TEST_ISINF
+
+/* Define to 1 when the gnulib module isnan should be tested. */
+#undef GNULIB_TEST_ISNAN
+
+/* Define to 1 when the gnulib module isnand should be tested. */
+#undef GNULIB_TEST_ISNAND
+
+/* Define to 1 when the gnulib module isnanf should be tested. */
+#undef GNULIB_TEST_ISNANF
+
+/* Define to 1 when the gnulib module isnanl should be tested. */
+#undef GNULIB_TEST_ISNANL
+
/* Define to 1 when the gnulib module iswblank should be tested. */
#undef GNULIB_TEST_ISWBLANK
/* Define to 1 when the gnulib module localeconv should be tested. */
#undef GNULIB_TEST_LOCALECONV
+/* Define to 1 when the gnulib module log10 should be tested. */
+#undef GNULIB_TEST_LOG10
+
/* Define to 1 when the gnulib module lseek should be tested. */
#undef GNULIB_TEST_LSEEK
@@ -336,6 +378,9 @@
/* Define to 1 when the gnulib module sigaction should be tested. */
#undef GNULIB_TEST_SIGACTION
+/* Define to 1 when the gnulib module signbit should be tested. */
+#undef GNULIB_TEST_SIGNBIT
+
/* Define to 1 when the gnulib module sigprocmask should be tested. */
#undef GNULIB_TEST_SIGPROCMASK
@@ -552,6 +597,18 @@
/* Define to 1 if you have the `confstr' function. */
#undef HAVE_CONFSTR
+/* Define if the copysignf function is declared in <math.h> and available in
+ libc. */
+#undef HAVE_COPYSIGNF_IN_LIBC
+
+/* Define if the copysignl function is declared in <math.h> and available in
+ libc. */
+#undef HAVE_COPYSIGNL_IN_LIBC
+
+/* Define if the copysign function is declared in <math.h> and available in
+ libc. */
+#undef HAVE_COPYSIGN_IN_LIBC
+
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
@@ -567,6 +624,18 @@
you don't. */
#undef HAVE_DECL_CLEARERR_UNLOCKED
+/* Define to 1 if you have the declaration of `copysign', and to 0 if you
+ don't. */
+#undef HAVE_DECL_COPYSIGN
+
+/* Define to 1 if you have the declaration of `copysignf', and to 0 if you
+ don't. */
+#undef HAVE_DECL_COPYSIGNF
+
+/* Define to 1 if you have the declaration of `copysignl', and to 0 if you
+ don't. */
+#undef HAVE_DECL_COPYSIGNL
+
/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
don't. */
#undef HAVE_DECL_FEOF_UNLOCKED
@@ -615,6 +684,10 @@
don't. */
#undef HAVE_DECL_GETDELIM
+/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
+ don't. */
+#undef HAVE_DECL_GETDTABLESIZE
+
/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
*/
#undef HAVE_DECL_GETENV
@@ -627,6 +700,10 @@
don't. */
#undef HAVE_DECL_ISBLANK
+/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
+ */
+#undef HAVE_DECL_ISINF
+
/* Define to 1 if you have the declaration of `iswblank', and to 0 if you
don't. */
#undef HAVE_DECL_ISWBLANK
@@ -811,6 +888,9 @@
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
+/* Define to 1 if you have the `getlocalename_l' function. */
+#undef HAVE_GETLOCALENAME_L
+
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
@@ -865,6 +945,15 @@
/* Define to 1 if you have the `isblank' function. */
#undef HAVE_ISBLANK
+/* Define if the isnan(double) function is available in libc. */
+#undef HAVE_ISNAND_IN_LIBC
+
+/* Define if the isnan(float) function is available in libc. */
+#undef HAVE_ISNANF_IN_LIBC
+
+/* Define if the isnan(long double) function is available in libc. */
+#undef HAVE_ISNANL_IN_LIBC
+
/* Define to 1 if you have the `issetugid' function. */
#undef HAVE_ISSETUGID
@@ -890,9 +979,6 @@
header file. */
#undef HAVE_LIBCROCO_0_6_LIBCROCO_LIBCROCO_CONFIG_H
-/* Define if you have the libexpat library. */
-#undef HAVE_LIBEXPAT
-
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
@@ -1057,9 +1143,27 @@
/* Define to 1 if you have the `rawmemchr' function. */
#undef HAVE_RAWMEMCHR
+/* Define to 1 if acosf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ACOSF
+
+/* Define to 1 if acosl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ACOSL
+
/* Define to 1 if alphasort is declared even after undefining macros. */
#undef HAVE_RAW_DECL_ALPHASORT
+/* Define to 1 if asinf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ASINF
+
+/* Define to 1 if asinl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ASINL
+
+/* Define to 1 if atanf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ATANF
+
+/* Define to 1 if atanl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ATANL
+
/* Define to 1 if atoll is declared even after undefining macros. */
#undef HAVE_RAW_DECL_ATOLL
@@ -1070,6 +1174,21 @@
macros. */
#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+/* Define to 1 if cbrt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CBRT
+
+/* Define to 1 if cbrtf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CBRTF
+
+/* Define to 1 if cbrtl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CBRTL
+
+/* Define to 1 if ceilf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CEILF
+
+/* Define to 1 if ceill is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CEILL
+
/* Define to 1 if chdir is declared even after undefining macros. */
#undef HAVE_RAW_DECL_CHDIR
@@ -1079,6 +1198,24 @@
/* Define to 1 if closedir is declared even after undefining macros. */
#undef HAVE_RAW_DECL_CLOSEDIR
+/* Define to 1 if copysign is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_COPYSIGN
+
+/* Define to 1 if copysignf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_COPYSIGNF
+
+/* Define to 1 if copysignl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_COPYSIGNL
+
+/* Define to 1 if cosf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_COSF
+
+/* Define to 1 if coshf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_COSHF
+
+/* Define to 1 if cosl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_COSL
+
/* Define to 1 if dirfd is declared even after undefining macros. */
#undef HAVE_RAW_DECL_DIRFD
@@ -1106,6 +1243,36 @@
/* Define to 1 if euidaccess is declared even after undefining macros. */
#undef HAVE_RAW_DECL_EUIDACCESS
+/* Define to 1 if exp2 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXP2
+
+/* Define to 1 if exp2f is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXP2F
+
+/* Define to 1 if exp2l is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXP2L
+
+/* Define to 1 if expf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXPF
+
+/* Define to 1 if expl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXPL
+
+/* Define to 1 if expm1 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXPM1
+
+/* Define to 1 if expm1f is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXPM1F
+
+/* Define to 1 if expm1l is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EXPM1L
+
+/* Define to 1 if fabsf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FABSF
+
+/* Define to 1 if fabsl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FABSL
+
/* Define to 1 if faccessat is declared even after undefining macros. */
#undef HAVE_RAW_DECL_FACCESSAT
@@ -1133,9 +1300,39 @@
/* Define to 1 if ffsll is declared even after undefining macros. */
#undef HAVE_RAW_DECL_FFSLL
+/* Define to 1 if floorf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FLOORF
+
+/* Define to 1 if floorl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FLOORL
+
+/* Define to 1 if fma is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FMA
+
+/* Define to 1 if fmaf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FMAF
+
+/* Define to 1 if fmal is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FMAL
+
+/* Define to 1 if fmod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FMOD
+
+/* Define to 1 if fmodf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FMODF
+
+/* Define to 1 if fmodl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FMODL
+
/* Define to 1 if fpurge is declared even after undefining macros. */
#undef HAVE_RAW_DECL_FPURGE
+/* Define to 1 if frexpf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FREXPF
+
+/* Define to 1 if frexpl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FREXPL
+
/* Define to 1 if fseeko is declared even after undefining macros. */
#undef HAVE_RAW_DECL_FSEEKO
@@ -1208,6 +1405,21 @@
/* Define to 1 if group_member is declared even after undefining macros. */
#undef HAVE_RAW_DECL_GROUP_MEMBER
+/* Define to 1 if hypotf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_HYPOTF
+
+/* Define to 1 if hypotl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_HYPOTL
+
+/* Define to 1 if ilogb is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ILOGB
+
+/* Define to 1 if ilogbf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ILOGBF
+
+/* Define to 1 if ilogbl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ILOGBL
+
/* Define to 1 if imaxabs is declared even after undefining macros. */
#undef HAVE_RAW_DECL_IMAXABS
@@ -1223,6 +1435,9 @@
/* Define to 1 if isatty is declared even after undefining macros. */
#undef HAVE_RAW_DECL_ISATTY
+/* Define to 1 if isblank is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ISBLANK
+
/* Define to 1 if iswctype is declared even after undefining macros. */
#undef HAVE_RAW_DECL_ISWCTYPE
@@ -1232,12 +1447,63 @@
/* Define to 1 if lchown is declared even after undefining macros. */
#undef HAVE_RAW_DECL_LCHOWN
+/* Define to 1 if ldexpf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LDEXPF
+
+/* Define to 1 if ldexpl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LDEXPL
+
/* Define to 1 if link is declared even after undefining macros. */
#undef HAVE_RAW_DECL_LINK
/* Define to 1 if linkat is declared even after undefining macros. */
#undef HAVE_RAW_DECL_LINKAT
+/* Define to 1 if log is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG
+
+/* Define to 1 if log10 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG10
+
+/* Define to 1 if log10f is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG10F
+
+/* Define to 1 if log10l is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG10L
+
+/* Define to 1 if log1p is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG1P
+
+/* Define to 1 if log1pf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG1PF
+
+/* Define to 1 if log1pl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG1PL
+
+/* Define to 1 if log2 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG2
+
+/* Define to 1 if log2f is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG2F
+
+/* Define to 1 if log2l is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOG2L
+
+/* Define to 1 if logb is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOGB
+
+/* Define to 1 if logbf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOGBF
+
+/* Define to 1 if logbl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOGBL
+
+/* Define to 1 if logf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOGF
+
+/* Define to 1 if logl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LOGL
+
/* Define to 1 if lseek is declared even after undefining macros. */
#undef HAVE_RAW_DECL_LSEEK
@@ -1298,6 +1564,15 @@
/* Define to 1 if mkstemps is declared even after undefining macros. */
#undef HAVE_RAW_DECL_MKSTEMPS
+/* Define to 1 if modf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MODF
+
+/* Define to 1 if modff is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MODFF
+
+/* Define to 1 if modfl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MODFL
+
/* Define to 1 if nl_langinfo is declared even after undefining macros. */
#undef HAVE_RAW_DECL_NL_LANGINFO
@@ -1404,6 +1679,9 @@
undefining macros. */
#undef HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_INIT
+/* Define to 1 if powf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POWF
+
/* Define to 1 if pread is declared even after undefining macros. */
#undef HAVE_RAW_DECL_PREAD
@@ -1443,15 +1721,42 @@
/* Define to 1 if realpath is declared even after undefining macros. */
#undef HAVE_RAW_DECL_REALPATH
+/* Define to 1 if remainder is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_REMAINDER
+
+/* Define to 1 if remainderf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_REMAINDERF
+
+/* Define to 1 if remainderl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_REMAINDERL
+
/* Define to 1 if renameat is declared even after undefining macros. */
#undef HAVE_RAW_DECL_RENAMEAT
/* Define to 1 if rewinddir is declared even after undefining macros. */
#undef HAVE_RAW_DECL_REWINDDIR
+/* Define to 1 if rint is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RINT
+
+/* Define to 1 if rintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RINTF
+
+/* Define to 1 if rintl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RINTL
+
/* Define to 1 if rmdir is declared even after undefining macros. */
#undef HAVE_RAW_DECL_RMDIR
+/* Define to 1 if round is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ROUND
+
+/* Define to 1 if roundf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ROUNDF
+
+/* Define to 1 if roundl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ROUNDL
+
/* Define to 1 if rpmatch is declared even after undefining macros. */
#undef HAVE_RAW_DECL_RPMATCH
@@ -1506,12 +1811,27 @@
/* Define to 1 if sigprocmask is declared even after undefining macros. */
#undef HAVE_RAW_DECL_SIGPROCMASK
+/* Define to 1 if sinf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SINF
+
+/* Define to 1 if sinhf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SINHF
+
+/* Define to 1 if sinl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SINL
+
/* Define to 1 if sleep is declared even after undefining macros. */
#undef HAVE_RAW_DECL_SLEEP
/* Define to 1 if snprintf is declared even after undefining macros. */
#undef HAVE_RAW_DECL_SNPRINTF
+/* Define to 1 if sqrtf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SQRTF
+
+/* Define to 1 if sqrtl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SQRTL
+
/* Define to 1 if srandom is declared even after undefining macros. */
#undef HAVE_RAW_DECL_SRANDOM
@@ -1584,12 +1904,30 @@
/* Define to 1 if symlinkat is declared even after undefining macros. */
#undef HAVE_RAW_DECL_SYMLINKAT
+/* Define to 1 if tanf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TANF
+
+/* Define to 1 if tanhf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TANHF
+
+/* Define to 1 if tanl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TANL
+
/* Define to 1 if tmpfile is declared even after undefining macros. */
#undef HAVE_RAW_DECL_TMPFILE
/* Define to 1 if towctrans is declared even after undefining macros. */
#undef HAVE_RAW_DECL_TOWCTRANS
+/* Define to 1 if trunc is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TRUNC
+
+/* Define to 1 if truncf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TRUNCF
+
+/* Define to 1 if truncl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TRUNCL
+
/* Define to 1 if ttyname_r is declared even after undefining macros. */
#undef HAVE_RAW_DECL_TTYNAME_R
@@ -1746,6 +2084,9 @@
/* Define to 1 if you have the <resolv.h> header file. */
#undef HAVE_RESOLV_H
+/* Define to 1 if 'long double' and 'double' have the same representation. */
+#undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
/* Define to 1 if you have the <sched.h> header file. */
#undef HAVE_SCHED_H
@@ -2112,6 +2453,20 @@
/* Define to 1 if the C compiler is actually a C++ compiler. */
#undef IS_CPLUSPLUS
+/* Define as the bit index in the word where to find bit 0 of the exponent of
+ 'long double'. */
+#undef LDBL_EXPBIT0_BIT
+
+/* Define as the word index where to find the exponent of 'long double'. */
+#undef LDBL_EXPBIT0_WORD
+
+/* Define as the bit index in the word where to find the sign of 'long
+ double'. */
+#undef LDBL_SIGNBIT_BIT
+
+/* Define as the word index where to find the sign of 'long double'. */
+#undef LDBL_SIGNBIT_WORD
+
/* Define to 1 if lseek does not detect pipes. */
#undef LSEEK_PIPE_BROKEN
@@ -2159,6 +2514,9 @@
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
+/* Define to the suffix of this package */
+#undef PACKAGE_SUFFIX
+
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
@@ -2279,6 +2637,10 @@
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
+/* Use GNU style printf and scanf. */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
@@ -2468,12 +2830,13 @@
# define _GL_EXTERN_INLINE static _GL_UNUSED
#endif
-/* In GCC, suppress bogus "no previous prototype for 'FOO'"
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+ suppress bogus "no previous prototype for 'FOO'"
and "no previous declaration for 'FOO'" diagnostics,
when FOO is an inline function in the header; see
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */
-#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
# define _GL_INLINE_HEADER_CONST_PRAGMA
# else
@@ -2758,7 +3121,7 @@
#endif
/* Extra OS/2 (emx+gcc) defines. */
-#ifdef __EMX__
+#if defined __EMX__ && !defined __KLIBC__
# include "intl/os2compat.h"
#endif
diff --git a/gettext-tools/configure b/gettext-tools/configure
index 8a4a08d..b7c3868 100755
--- a/gettext-tools/configure
+++ b/gettext-tools/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gettext-tools 0.19.4.
+# Generated by GNU Autoconf 2.69 for gettext-tools 0.19.7.
#
# Report bugs to <bug-gnu-gettext@gnu.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gettext-tools'
PACKAGE_TARNAME='gettext-tools'
-PACKAGE_VERSION='0.19.4'
-PACKAGE_STRING='gettext-tools 0.19.4'
+PACKAGE_VERSION='0.19.7'
+PACKAGE_STRING='gettext-tools 0.19.7'
PACKAGE_BUGREPORT='bug-gnu-gettext@gnu.org'
PACKAGE_URL=''
@@ -639,6 +639,7 @@ ac_func_list=
gl_fnmatch_required=POSIX
gl_getopt_required=POSIX
gl_getopt_required=POSIX
+gl_log10_required=plain
enable_option_checking=no
ac_subst_vars='gtpotests_LTLIBOBJS
gtpotests_LIBOBJS
@@ -663,39 +664,36 @@ CROSS_COMPILING
PERL
TEXI2PDF
DVIPS
+PACKAGE_SUFFIX
+ARCHIVE_VERSION
ARCHIVE_FORMAT
aclocaldir
EMACSLOADPATH
EMACS
HAVE_GLOBAL_SYMBOL_PIPE
GLOBAL_SYMBOL_PIPE
-LIBEXPAT_PREFIX
-HAVE_LIBEXPAT
-LTLIBEXPAT
-LIBEXPAT
GETTEXTLIB_EXPORTS_FLAGS
WOE32DLL_FALSE
WOE32DLL_TRUE
gtpotests_WITNESS
+LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE
+LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE
LIBGREP_LTLIBDEPS
LIBGREP_LIBDEPS
grgltests_WITNESS
-HAVE_LANGINFO_YESEXPR
-HAVE_LANGINFO_ERA
-HAVE_LANGINFO_T_FMT_AMPM
-HAVE_LANGINFO_CODESET
-HAVE_LANGINFO_H
-NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H
-NEXT_LANGINFO_H
-REPLACE_NL_LANGINFO
-HAVE_NL_LANGINFO
-GNULIB_NL_LANGINFO
LIBTESTS_LIBDEPS
YIELD_LIB
LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_FALSE
LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_TRUE
LIBUNISTRING_COMPILE_UNISTR_U8_CMP_FALSE
LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE
+GL_GENERATE_STDALIGN_H_FALSE
+GL_GENERATE_STDALIGN_H_TRUE
+STDALIGN_H
POSIX_SPAWN_PORTED_FALSE
POSIX_SPAWN_PORTED_TRUE
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H
@@ -715,6 +713,11 @@ GNULIB_STRTOUMAX
GNULIB_STRTOIMAX
GNULIB_IMAXDIV
GNULIB_IMAXABS
+LIB_HAS_ACL
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H
+NEXT_CTYPE_H
+HAVE_ISBLANK
+GNULIB_ISBLANK
LOCALE_TR_UTF8
gltests_WITNESS
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
@@ -754,9 +757,13 @@ LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE
LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_FALSE
LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE
LIBUNISTRING_UNILBRK_H
+LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE
+LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE
+LIBUNISTRING_UNICTYPE_H
LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_FALSE
LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE
LIBUNISTRING_UNICONV_H
+UNISTD_H_DEFINES_STRUCT_TIMESPEC
PTHREAD_H_DEFINES_STRUCT_TIMESPEC
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
TIME_H_DEFINES_STRUCT_TIMESPEC
@@ -772,6 +779,7 @@ HAVE_TIMEGM
HAVE_STRPTIME
HAVE_NANOSLEEP
HAVE_DECL_LOCALTIME_R
+GNULIB_TIME_RZ
GNULIB_TIME_R
GNULIB_TIMEGM
GNULIB_STRPTIME
@@ -876,8 +884,6 @@ GNULIB_SIGPROCMASK
GNULIB_SIGNAL_H_SIGPIPE
GNULIB_RAISE
GNULIB_PTHREAD_SIGMASK
-USE_ACL
-LIB_ACL
LIB_POSIX_SPAWN
REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN
REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2
@@ -1078,6 +1084,10 @@ GNULIB_MBRTOWC
GNULIB_MBSINIT
GNULIB_WCTOB
GNULIB_BTOWC
+NEXT_AS_FIRST_DIRECTIVE_MATH_H
+NEXT_MATH_H
+LOG10_LIBM
+POW_LIBM
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H
NEXT_LOCALE_H
HAVE_XLOCALE_H
@@ -1087,6 +1097,7 @@ GL_GENERATE_STDDEF_H_FALSE
GL_GENERATE_STDDEF_H_TRUE
STDDEF_H
HAVE_WCHAR_T
+HAVE_MAX_ALIGN_T
REPLACE_NULL
REPLACE_STRUCT_LCONV
REPLACE_DUPLOCALE
@@ -1118,6 +1129,16 @@ LIBGLIB_H
INCGLIB
LTLIBGLIB
LIBGLIB
+HAVE_LANGINFO_YESEXPR
+HAVE_LANGINFO_ERA
+HAVE_LANGINFO_T_FMT_AMPM
+HAVE_LANGINFO_CODESET
+HAVE_LANGINFO_H
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H
+NEXT_LANGINFO_H
+REPLACE_NL_LANGINFO
+HAVE_NL_LANGINFO
+GNULIB_NL_LANGINFO
REPLACE_TOWLOWER
REPLACE_ISWCNTRL
HAVE_WCTYPE_H
@@ -1134,12 +1155,273 @@ GNULIB_WCTRANS
GNULIB_ISWCTYPE
GNULIB_WCTYPE
GNULIB_ISWBLANK
+ISNAN_LIBM
+ISNANL_LIBM
+ISNAND_LIBM
+ISNANF_LIBM
+ISINF_LIBM
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+REPLACE_TRUNCL
+REPLACE_TRUNCF
+REPLACE_TRUNC
+REPLACE_SQRTL
+REPLACE_SIGNBIT_USING_GCC
+REPLACE_SIGNBIT
+REPLACE_ROUNDL
+REPLACE_ROUNDF
+REPLACE_ROUND
+REPLACE_REMAINDERL
+REPLACE_REMAINDERF
+REPLACE_REMAINDER
+REPLACE_NAN
+REPLACE_MODFL
+REPLACE_MODFF
+REPLACE_MODF
+REPLACE_LOGBL
+REPLACE_LOGBF
+REPLACE_LOGB
+REPLACE_LOG2L
+REPLACE_LOG2F
+REPLACE_LOG2
+REPLACE_LOG1PL
+REPLACE_LOG1PF
+REPLACE_LOG1P
+REPLACE_LOG10L
+REPLACE_LOG10F
+REPLACE_LOG10
+REPLACE_LOGL
+REPLACE_LOGF
+REPLACE_LOG
+REPLACE_LDEXPL
+REPLACE_ISNAN
+REPLACE_ISINF
+REPLACE_ISFINITE
+REPLACE_ILOGBF
+REPLACE_ILOGB
+REPLACE_HYPOTL
+REPLACE_HYPOTF
+REPLACE_HYPOT
+REPLACE_HUGE_VAL
+REPLACE_FREXPL
+REPLACE_FREXP
+REPLACE_FREXPF
+REPLACE_FMODL
+REPLACE_FMODF
+REPLACE_FMOD
+REPLACE_FMAL
+REPLACE_FMAF
+REPLACE_FMA
+REPLACE_FLOORL
+REPLACE_FLOORF
+REPLACE_FLOOR
+REPLACE_FABSL
+REPLACE_EXP2L
+REPLACE_EXP2
+REPLACE_EXPM1F
+REPLACE_EXPM1
+REPLACE_CEILL
+REPLACE_CEILF
+REPLACE_CEIL
+REPLACE_CBRTL
+REPLACE_CBRTF
+HAVE_DECL_TRUNCL
+HAVE_DECL_TRUNCF
+HAVE_DECL_TRUNC
+HAVE_DECL_TANL
+HAVE_DECL_SQRTL
+HAVE_DECL_SINL
+HAVE_DECL_ROUNDL
+HAVE_DECL_ROUNDF
+HAVE_DECL_ROUND
+HAVE_DECL_RINTF
+HAVE_DECL_REMAINDERL
+HAVE_DECL_REMAINDER
+HAVE_DECL_LOGB
+HAVE_DECL_LOG2L
+HAVE_DECL_LOG2F
+HAVE_DECL_LOG2
+HAVE_DECL_LOG10L
+HAVE_DECL_LOGL
+HAVE_DECL_LDEXPL
+HAVE_DECL_FREXPL
+HAVE_DECL_FLOORL
+HAVE_DECL_FLOORF
+HAVE_DECL_EXPM1L
+HAVE_DECL_EXP2L
+HAVE_DECL_EXP2F
+HAVE_DECL_EXP2
+HAVE_DECL_EXPL
+HAVE_DECL_COSL
+HAVE_DECL_COPYSIGNF
+HAVE_DECL_CEILL
+HAVE_DECL_CEILF
+HAVE_DECL_CBRTL
+HAVE_DECL_CBRTF
+HAVE_DECL_ATANL
+HAVE_DECL_ASINL
+HAVE_DECL_ACOSL
+HAVE_TANHF
+HAVE_TANL
+HAVE_TANF
+HAVE_SQRTL
+HAVE_SQRTF
+HAVE_SINHF
+HAVE_SINL
+HAVE_SINF
+HAVE_RINTL
+HAVE_RINT
+HAVE_REMAINDERF
+HAVE_REMAINDER
+HAVE_POWF
+HAVE_MODFL
+HAVE_MODFF
+HAVE_LOGBL
+HAVE_LOGBF
+HAVE_LOG1PL
+HAVE_LOG1PF
+HAVE_LOG1P
+HAVE_LOG10L
+HAVE_LOG10F
+HAVE_LOGL
+HAVE_LOGF
+HAVE_LDEXPF
+HAVE_ISNANL
+HAVE_ISNAND
+HAVE_ISNANF
+HAVE_ILOGBL
+HAVE_ILOGBF
+HAVE_ILOGB
+HAVE_HYPOTL
+HAVE_HYPOTF
+HAVE_FREXPF
+HAVE_FMODL
+HAVE_FMODF
+HAVE_FMAL
+HAVE_FMAF
+HAVE_FMA
+HAVE_FABSL
+HAVE_FABSF
+HAVE_EXPM1F
+HAVE_EXPM1
+HAVE_EXPL
+HAVE_EXPF
+HAVE_COSHF
+HAVE_COSL
+HAVE_COSF
+HAVE_COPYSIGNL
+HAVE_COPYSIGN
+HAVE_CBRTL
+HAVE_CBRTF
+HAVE_CBRT
+HAVE_ATAN2F
+HAVE_ATANL
+HAVE_ATANF
+HAVE_ASINL
+HAVE_ASINF
+HAVE_ACOSL
+HAVE_ACOSF
+GNULIB_TRUNCL
+GNULIB_TRUNCF
+GNULIB_TRUNC
+GNULIB_TANHF
+GNULIB_TANL
+GNULIB_TANF
+GNULIB_SQRTL
+GNULIB_SQRTF
+GNULIB_SINHF
+GNULIB_SINL
+GNULIB_SINF
+GNULIB_SIGNBIT
+GNULIB_ROUNDL
+GNULIB_ROUNDF
+GNULIB_ROUND
+GNULIB_RINTL
+GNULIB_RINTF
+GNULIB_RINT
+GNULIB_REMAINDERL
+GNULIB_REMAINDERF
+GNULIB_REMAINDER
+GNULIB_POWF
+GNULIB_MODFL
+GNULIB_MODFF
+GNULIB_MODF
+GNULIB_LOGBL
+GNULIB_LOGBF
+GNULIB_LOGB
+GNULIB_LOG2L
+GNULIB_LOG2F
+GNULIB_LOG2
+GNULIB_LOG1PL
+GNULIB_LOG1PF
+GNULIB_LOG1P
+GNULIB_LOG10L
+GNULIB_LOG10F
+GNULIB_LOG10
+GNULIB_LOGL
+GNULIB_LOGF
+GNULIB_LOG
+GNULIB_LDEXPL
+GNULIB_LDEXPF
+GNULIB_ISNANL
+GNULIB_ISNAND
+GNULIB_ISNANF
+GNULIB_ISNAN
+GNULIB_ISINF
+GNULIB_ISFINITE
+GNULIB_ILOGBL
+GNULIB_ILOGBF
+GNULIB_ILOGB
+GNULIB_HYPOTL
+GNULIB_HYPOTF
+GNULIB_HYPOT
+GNULIB_FREXPL
+GNULIB_FREXP
+GNULIB_FREXPF
+GNULIB_FMODL
+GNULIB_FMODF
+GNULIB_FMOD
+GNULIB_FMAL
+GNULIB_FMAF
+GNULIB_FMA
+GNULIB_FLOORL
+GNULIB_FLOORF
+GNULIB_FLOOR
+GNULIB_FABSL
+GNULIB_FABSF
+GNULIB_EXPM1L
+GNULIB_EXPM1F
+GNULIB_EXPM1
+GNULIB_EXP2L
+GNULIB_EXP2F
+GNULIB_EXP2
+GNULIB_EXPL
+GNULIB_EXPF
+GNULIB_COSHF
+GNULIB_COSL
+GNULIB_COSF
+GNULIB_COPYSIGNL
+GNULIB_COPYSIGNF
+GNULIB_COPYSIGN
+GNULIB_CEILL
+GNULIB_CEILF
+GNULIB_CEIL
+GNULIB_CBRTL
+GNULIB_CBRTF
+GNULIB_CBRT
+GNULIB_ATAN2F
+GNULIB_ATANL
+GNULIB_ATANF
+GNULIB_ASINL
+GNULIB_ASINF
+GNULIB_ACOSL
+GNULIB_ACOSF
NEXT_AS_FIRST_DIRECTIVE_ICONV_H
NEXT_ICONV_H
NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
NEXT_SYS_TIME_H
REPLACE_STRUCT_TIMEVAL
REPLACE_GETTIMEOFDAY
+HAVE_TIMEZONE_T
HAVE_SYS_TIME_H
HAVE_STRUCT_TIMEVAL
HAVE_GETTIMEOFDAY
@@ -1306,6 +1588,7 @@ GNULIB_OPENAT
GNULIB_OPEN
GNULIB_NONBLOCKING
GNULIB_FCNTL
+FABS_LIBM
EOVERFLOW_VALUE
EOVERFLOW_HIDDEN
ENOLINK_VALUE
@@ -1325,7 +1608,6 @@ PRAGMA_SYSTEM_HEADER
INCLUDE_NEXT_AS_FIRST_DIRECTIVE
INCLUDE_NEXT
pkglibexecdir
-runstatedir
lispdir
REPLACE_FDOPENDIR
REPLACE_DIRFD
@@ -1566,6 +1848,8 @@ CXX_CHOICE
GL_GENERATE_ALLOCA_H_FALSE
GL_GENERATE_ALLOCA_H_TRUE
ALLOCA_H
+USE_ACL
+LIB_ACL
GL_COND_LIBTOOL_FALSE
GL_COND_LIBTOOL_TRUE
MSGMERGE_LIBM
@@ -1630,13 +1914,13 @@ USE_NLS
WOE32_FALSE
WOE32_TRUE
RC
+LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
MANIFEST_TOOL
-ac_ct_AR
LN_S
NM
ac_ct_DUMPBIN
@@ -1650,6 +1934,7 @@ DLLTOOL
AS
RANLIB
ARFLAGS
+ac_ct_AR
AR
host_os
host_vendor
@@ -1775,6 +2060,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -1818,6 +2104,7 @@ with_libpth_prefix
with_libiconv_prefix
with_included_gettext
with_libintl_prefix
+enable_acl
enable_c__
with_included_glib
with_libglib_2_0_prefix
@@ -1828,7 +2115,6 @@ with_libunistring_prefix
with_included_libxml
with_libxml2_prefix
enable_openmp
-enable_acl
enable_relocatable
enable_curses
with_libncurses_prefix
@@ -1836,7 +2122,6 @@ with_libtermcap_prefix
with_libxcurses_prefix
with_libcurses_prefix
with_included_regex
-with_libexpat_prefix
with_emacs
with_lispdir
with_git
@@ -1857,6 +2142,7 @@ YFLAGS
GCJ
GCJFLAGS
CPP
+LT_SYS_LIBRARY_PATH
CXX
CXXFLAGS
EMACS
@@ -1901,6 +2187,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -2153,6 +2440,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -2290,7 +2586,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -2403,7 +2699,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gettext-tools 0.19.4 to adapt to many kinds of systems.
+\`configure' configures gettext-tools 0.19.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2443,6 +2739,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -2473,7 +2770,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gettext-tools 0.19.4:";;
+ short | recursive ) echo "Configuration of gettext-tools 0.19.7:";;
esac
cat <<\_ACEOF
@@ -2501,9 +2798,9 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
+ --disable-acl do not support ACLs
--disable-c++ do not build C++ sources
--disable-openmp do not use OpenMP
- --disable-acl do not support ACLs
--enable-relocatable install a package that can be moved in the file
system
--disable-curses do not use libncurses, libtermcap even if they exist
@@ -2551,8 +2848,6 @@ Optional Packages:
don't compile regex; this is the default on systems
with recent-enough versions of the GNU C Library
(use with caution on other systems).
- --with-libexpat-prefix[=DIR] search for libexpat in DIR/include and DIR/lib
- --without-libexpat-prefix don't search for libexpat in includedir and libdir
--without-emacs do not use Emacs, don't install po-mode
--with-lispdir override the default lisp directory
--without-git don't use git to compress the infrastructure archive
@@ -2578,6 +2873,8 @@ Some influential environment variables:
GCJ Java native code compiler command
GCJFLAGS Java native code compiler flags
CPP C preprocessor
+ LT_SYS_LIBRARY_PATH
+ User-defined run-time library search path.
CXX C++ compiler command
CXXFLAGS C++ compiler flags
EMACS the Emacs editor command
@@ -2651,7 +2948,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gettext-tools configure 0.19.4
+gettext-tools configure 0.19.7
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3481,7 +3778,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gettext-tools $as_me 0.19.4, which was
+It was created by gettext-tools $as_me 0.19.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3766,6 +4063,7 @@ as_fn_append ac_header_list " stdlib.h"
as_fn_append ac_header_list " unistd.h"
as_fn_append ac_header_list " sys/param.h"
as_fn_append ac_func_list " symlink"
+as_fn_append ac_func_list " fchmod"
as_fn_append ac_header_list " string.h"
as_fn_append ac_func_list " canonicalize_file_name"
as_fn_append ac_func_list " getcwd"
@@ -3776,7 +4074,6 @@ as_fn_append ac_func_list " _set_invalid_parameter_handler"
as_fn_append ac_header_list " sys/socket.h"
as_fn_append ac_header_list " utime.h"
as_fn_append ac_header_list " dirent.h"
-as_fn_append ac_func_list " getdtablesize"
as_fn_append ac_func_list " fcntl"
as_fn_append ac_func_list " btowc"
as_fn_append ac_func_list " isblank"
@@ -3789,6 +4086,7 @@ as_fn_append ac_func_list " wmempcpy"
as_fn_append ac_header_list " wctype.h"
as_fn_append ac_header_list " sys/stat.h"
as_fn_append ac_func_list " getdelim"
+as_fn_append ac_func_list " getdtablesize"
gl_getopt_required=GNU
as_fn_append ac_header_list " getopt.h"
as_fn_append ac_header_list " sys/time.h"
@@ -3796,11 +4094,13 @@ as_fn_append ac_func_list " gettimeofday"
as_fn_append ac_header_list " iconv.h"
as_fn_append ac_func_list " iswcntrl"
as_fn_append ac_func_list " iswblank"
+as_fn_append ac_header_list " langinfo.h"
as_fn_append ac_header_list " libcroco-0.6/libcroco/libcroco-config.h"
as_fn_append ac_header_list " libxml2/libxml/xmlexports.h"
as_fn_append ac_header_list " libxml2/libxml/xmlversion.h"
as_fn_append ac_header_list " xlocale.h"
as_fn_append ac_func_list " lstat"
+as_fn_append ac_header_list " math.h"
as_fn_append ac_func_list " mbsinit"
as_fn_append ac_func_list " mbrtowc"
as_fn_append ac_func_list " mbslen"
@@ -3810,7 +4110,6 @@ as_fn_append ac_header_list " sys/mman.h"
as_fn_append ac_func_list " mprotect"
as_fn_append ac_func_list " select"
as_fn_append ac_func_list " pipe2"
-as_fn_append ac_func_list " fchmod"
as_fn_append ac_func_list " setenv"
as_fn_append ac_header_list " sched.h"
as_fn_append ac_func_list " secure_getenv"
@@ -3832,7 +4131,6 @@ as_fn_append ac_func_list " newlocale"
as_fn_append ac_func_list " sleep"
as_fn_append ac_func_list " wcrtomb"
as_fn_append ac_func_list " wctob"
-as_fn_append ac_header_list " langinfo.h"
as_fn_append ac_func_list " mbrlen"
as_fn_append ac_func_list " nl_langinfo"
as_fn_append ac_header_list " malloc.h"
@@ -3937,7 +4235,7 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-am__api_version='1.14'
+am__api_version='1.15'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -4109,8 +4407,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -4129,7 +4427,7 @@ else
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -4423,7 +4721,7 @@ fi
# Define the identity of the package.
PACKAGE='gettext-tools'
- VERSION='0.19.4'
+ VERSION='0.19.7'
cat >>confdefs.h <<_ACEOF
@@ -4457,8 +4755,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
@@ -4515,6 +4813,7 @@ END
as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
fi
fi
+
ac_config_headers="$ac_config_headers config.h"
@@ -6299,7 +6598,7 @@ EOF
> conftestver.class
target_version=`{
unset JAVA_HOME
- echo "$as_me:6302: CLASSPATH=.${CLASSPATH:+$CLASSPATH_SEPARATOR$CLASSPATH} $CONF_JAVA conftestver" >&5
+ echo "$as_me:6601: CLASSPATH=.${CLASSPATH:+$CLASSPATH_SEPARATOR$CLASSPATH} $CONF_JAVA conftestver" >&5
CLASSPATH=.${CLASSPATH:+$CLASSPATH_SEPARATOR$CLASSPATH} $CONF_JAVA conftestver 2>&5
}`
case "$target_version" in
@@ -6367,23 +6666,23 @@ EOF
if $JAVAC --version 2>/dev/null | sed -e 1q | grep gcj > /dev/null; then
if $JAVAC --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | sed -e '/^4\.[012]/d' | grep '^[4-9]' >/dev/null; then
rm -f conftest.class
- if { echo "$as_me:6370: $JAVAC -d . conftest.java" >&5
+ if { echo "$as_me:6669: $JAVAC -d . conftest.java" >&5
$JAVAC -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5; then
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6377: $JAVAC -fsource=$source_version -d . conftest.java" >&5
+ if { echo "$as_me:6676: $JAVAC -fsource=$source_version -d . conftest.java" >&5
$JAVAC -fsource="$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5 \
- && { echo "$as_me:6382: $JAVAC -d . conftestfail.java" >&5
+ && { echo "$as_me:6681: $JAVAC -d . conftestfail.java" >&5
$JAVAC -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6386: $JAVAC -fsource=$source_version -d . conftestfail.java" >&5
+ && ! { echo "$as_me:6685: $JAVAC -fsource=$source_version -d . conftestfail.java" >&5
$JAVAC -fsource="$source_version" -d . conftestfail.java >&5 2>&1
}; then
CONF_JAVAC="$JAVAC -fsource=$source_version"
@@ -6397,7 +6696,7 @@ EOF
else
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6400: $JAVAC -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&5
+ if { echo "$as_me:6699: $JAVAC -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&5
$JAVAC -fsource="$source_version" -ftarget="$target_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
@@ -6410,7 +6709,7 @@ EOF
else
if test "$target_version" = 1.4 && test "$source_version" = 1.4; then
rm -f conftest.class
- if { echo "$as_me:6413: $JAVAC -d . conftest.java" >&5
+ if { echo "$as_me:6712: $JAVAC -d . conftest.java" >&5
$JAVAC -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class; then
@@ -6422,7 +6721,7 @@ EOF
if test "$target_version" = 1.4 && test "$source_version" = 1.3; then
javac_works=
rm -f conftest.class
- if { echo "$as_me:6425: $JAVAC -d . conftest.java" >&5
+ if { echo "$as_me:6724: $JAVAC -d . conftest.java" >&5
$JAVAC -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class; then
@@ -6430,7 +6729,7 @@ EOF
fi
javac_noassert_works=
rm -f conftest.class
- if { echo "$as_me:6433: $JAVAC -fno-assert -d . conftest.java" >&5
+ if { echo "$as_me:6732: $JAVAC -fno-assert -d . conftest.java" >&5
$JAVAC -fno-assert -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class; then
@@ -6438,11 +6737,11 @@ EOF
fi
if test -n "$javac_works" && test -n "$javac_noassert_works"; then
rm -f conftestfail.class
- if { echo "$as_me:6441: $JAVAC -d . conftestfail.java" >&5
+ if { echo "$as_me:6740: $JAVAC -d . conftestfail.java" >&5
$JAVAC -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6445: $JAVAC -fno-assert -d . conftestfail.java" >&5
+ && ! { echo "$as_me:6744: $JAVAC -fno-assert -d . conftestfail.java" >&5
$JAVAC -fno-assert -d . conftestfail.java >&5 2>&1
}; then
javac_works=
@@ -6464,23 +6763,23 @@ EOF
fi
else
rm -f conftest.class
- if { echo "$as_me:6467: $JAVAC -d . conftest.java" >&5
+ if { echo "$as_me:6766: $JAVAC -d . conftest.java" >&5
$JAVAC -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5; then
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6474: $JAVAC -source $source_version -d . conftest.java" >&5
+ if { echo "$as_me:6773: $JAVAC -source $source_version -d . conftest.java" >&5
$JAVAC -source "$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5 \
- && { echo "$as_me:6479: $JAVAC -d . conftestfail.java" >&5
+ && { echo "$as_me:6778: $JAVAC -d . conftestfail.java" >&5
$JAVAC -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6483: $JAVAC -source $source_version -d . conftestfail.java" >&5
+ && ! { echo "$as_me:6782: $JAVAC -source $source_version -d . conftestfail.java" >&5
$JAVAC -source "$source_version" -d . conftestfail.java >&5 2>&1
}; then
CONF_JAVAC="$JAVAC -source $source_version"
@@ -6493,23 +6792,23 @@ EOF
fi
else
rm -f conftest.class
- if { echo "$as_me:6496: $JAVAC -target $target_version -d . conftest.java" >&5
+ if { echo "$as_me:6795: $JAVAC -target $target_version -d . conftest.java" >&5
$JAVAC -target "$target_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5; then
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6503: $JAVAC -target $target_version -source $source_version -d . conftest.java" >&5
+ if { echo "$as_me:6802: $JAVAC -target $target_version -source $source_version -d . conftest.java" >&5
$JAVAC -target "$target_version" -source "$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5 \
- && { echo "$as_me:6508: $JAVAC -target $target_version -d . conftestfail.java" >&5
+ && { echo "$as_me:6807: $JAVAC -target $target_version -d . conftestfail.java" >&5
$JAVAC -target "$target_version" -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6512: $JAVAC -target $target_version -source $source_version -d . conftestfail.java" >&5
+ && ! { echo "$as_me:6811: $JAVAC -target $target_version -source $source_version -d . conftestfail.java" >&5
$JAVAC -target "$target_version" -source "$source_version" -d . conftestfail.java >&5 2>&1
}; then
CONF_JAVAC="$JAVAC -target $target_version -source $source_version"
@@ -6522,7 +6821,7 @@ EOF
fi
else
rm -f conftest.class
- if { echo "$as_me:6525: $JAVAC -target $target_version -source $source_version -d . conftest.java" >&5
+ if { echo "$as_me:6824: $JAVAC -target $target_version -source $source_version -d . conftest.java" >&5
$JAVAC -target "$target_version" -source "$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
@@ -6640,28 +6939,28 @@ fi
if test -z "$HAVE_JAVACOMP" && test -n "$HAVE_GCJ_IN_PATH"; then
if gcj --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | sed -e '/^3\.[01]/d' | grep '^[3-9]' >/dev/null; then
- if { echo "$as_me:6643: gcj -C -d . conftestlib.java" >&5
+ if { echo "$as_me:6942: gcj -C -d . conftestlib.java" >&5
gcj -C -d . conftestlib.java >&5 2>&1
}; then
if gcj --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | sed -e '/^4\.[012]/d' | grep '^[4-9]' >/dev/null; then
rm -f conftest.class
- if { echo "$as_me:6648: gcj -C -d . conftest.java" >&5
+ if { echo "$as_me:6947: gcj -C -d . conftest.java" >&5
gcj -C -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5; then
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6655: gcj -C -fsource=$source_version -d . conftest.java" >&5
+ if { echo "$as_me:6954: gcj -C -fsource=$source_version -d . conftest.java" >&5
gcj -C -fsource="$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5 \
- && { echo "$as_me:6660: gcj -C -d . conftestfail.java" >&5
+ && { echo "$as_me:6959: gcj -C -d . conftestfail.java" >&5
gcj -C -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6664: gcj -C -fsource=$source_version -d . conftestfail.java" >&5
+ && ! { echo "$as_me:6963: gcj -C -fsource=$source_version -d . conftestfail.java" >&5
gcj -C -fsource="$source_version" -d . conftestfail.java >&5 2>&1
}; then
CONF_JAVAC="gcj -C -fsource=$source_version"
@@ -6675,7 +6974,7 @@ fi
else
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6678: gcj -C -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&5
+ if { echo "$as_me:6977: gcj -C -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&5
gcj -C -fsource="$source_version" -ftarget="$target_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
@@ -6688,7 +6987,7 @@ fi
else
if test "$target_version" = 1.4 && test "$source_version" = 1.4; then
rm -f conftest.class
- if { echo "$as_me:6691: gcj -C -d . conftest.java" >&5
+ if { echo "$as_me:6990: gcj -C -d . conftest.java" >&5
gcj -C -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class; then
@@ -6699,7 +6998,7 @@ fi
else
if test "$target_version" = 1.4 && test "$source_version" = 1.3; then
rm -f conftest.class
- if { echo "$as_me:6702: gcj -C -fno-assert -d . conftest.java" >&5
+ if { echo "$as_me:7001: gcj -C -fno-assert -d . conftest.java" >&5
gcj -C -fno-assert -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class; then
@@ -6708,7 +7007,7 @@ fi
HAVE_JAVACOMP=1
else
rm -f conftest.class
- if { echo "$as_me:6711: gcj -C -d . conftest.java" >&5
+ if { echo "$as_me:7010: gcj -C -d . conftest.java" >&5
gcj -C -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class; then
@@ -6727,23 +7026,23 @@ fi
if { javac -version >/dev/null 2>/dev/null || test $? -le 2; } \
&& ( if javac -help 2>&1 >/dev/null | grep at.dms.kjc.Main >/dev/null && javac -help 2>/dev/null | grep 'released.*2000' >/dev/null ; then exit 1; else exit 0; fi ); then
rm -f conftest.class
- if { echo "$as_me:6730: javac -d . conftest.java" >&5
+ if { echo "$as_me:7029: javac -d . conftest.java" >&5
javac -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5; then
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6737: javac -source $source_version -d . conftest.java" >&5
+ if { echo "$as_me:7036: javac -source $source_version -d . conftest.java" >&5
javac -source "$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5 \
- && { echo "$as_me:6742: javac -d . conftestfail.java" >&5
+ && { echo "$as_me:7041: javac -d . conftestfail.java" >&5
javac -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6746: javac -source $source_version -d . conftestfail.java" >&5
+ && ! { echo "$as_me:7045: javac -source $source_version -d . conftestfail.java" >&5
javac -source "$source_version" -d . conftestfail.java >&5 2>&1
}; then
CONF_JAVAC="javac -source $source_version"
@@ -6756,23 +7055,23 @@ fi
fi
else
rm -f conftest.class
- if { echo "$as_me:6759: javac -target $target_version -d . conftest.java" >&5
+ if { echo "$as_me:7058: javac -target $target_version -d . conftest.java" >&5
javac -target "$target_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5; then
rm -f conftest.class
rm -f conftestfail.class
- if { echo "$as_me:6766: javac -target $target_version -source $source_version -d . conftest.java" >&5
+ if { echo "$as_me:7065: javac -target $target_version -source $source_version -d . conftest.java" >&5
javac -target "$target_version" -source "$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
&& expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&5 \
- && { echo "$as_me:6771: javac -target $target_version -d . conftestfail.java" >&5
+ && { echo "$as_me:7070: javac -target $target_version -d . conftestfail.java" >&5
javac -target "$target_version" -d . conftestfail.java >&5 2>&1
} \
&& test -f conftestfail.class \
- && ! { echo "$as_me:6775: javac -target $target_version -source $source_version -d . conftestfail.java" >&5
+ && ! { echo "$as_me:7074: javac -target $target_version -source $source_version -d . conftestfail.java" >&5
javac -target "$target_version" -source "$source_version" -d . conftestfail.java >&5 2>&1
}; then
CONF_JAVAC="javac -target $target_version -source $source_version"
@@ -6785,7 +7084,7 @@ fi
fi
else
rm -f conftest.class
- if { echo "$as_me:6788: javac -target $target_version -source $source_version -d . conftest.java" >&5
+ if { echo "$as_me:7087: javac -target $target_version -source $source_version -d . conftest.java" >&5
javac -target "$target_version" -source "$source_version" -d . conftest.java >&5 2>&1
} \
&& test -f conftest.class \
@@ -7337,245 +7636,6 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
-$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
-if ${gl_cv_c_amsterdam_compiler+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef __ACK__
-Amsterdam
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Amsterdam" >/dev/null 2>&1; then :
- gl_cv_c_amsterdam_compiler=yes
-else
- gl_cv_c_amsterdam_compiler=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
-$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
- if test -z "$AR"; then
- if test $gl_cv_c_amsterdam_compiler = yes; then
- AR='cc -c.a'
- if test -z "$ARFLAGS"; then
- ARFLAGS='-o'
- fi
- else
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_AR" = x; then
- AR="ar"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-else
- AR="$ac_cv_prog_AR"
-fi
-
- if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
- fi
- fi
- else
- if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
- fi
- fi
-
-
- if test -z "$RANLIB"; then
- if test $gl_cv_c_amsterdam_compiler = yes; then
- RANLIB=':'
- else
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
- fi
- fi
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if ${ac_cv_header_stdc+:} false; then :
@@ -7766,6 +7826,8 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
$as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+ $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
+
$as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
$as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
@@ -7828,6 +7890,416 @@ $as_echo "$ac_cv_should_define__xopen_source" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
+$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
+if ${gl_cv_c_amsterdam_compiler+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __ACK__
+Amsterdam
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Amsterdam" >/dev/null 2>&1; then :
+ gl_cv_c_amsterdam_compiler=yes
+else
+ gl_cv_c_amsterdam_compiler=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
+$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
+
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ if test -z "$AR"; then
+ AR='cc -c.a'
+ fi
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='-o'
+ fi
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar lib "link -lib"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar lib "link -lib"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
+if ${am_cv_ar_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ am_cv_ar_interface=ar
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+$as_echo "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+ ;;
+esac
+
+ fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="ar"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cr'
+ fi
+
+
+
+ if test -z "$RANLIB"; then
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ RANLIB=':'
+ else
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+ fi
+ fi
+
+
+
+
+
+
# IEEE behaviour is the default on all CPUs except Alpha and SH
# (according to the test results of Bruno Haible's ieeefp/fenv_default.m4
# and the GCC 4.1.2 manual).
@@ -8466,9 +8938,14 @@ fi
+ # Pre-early section.
+
+
+
# Code from module absolute-header:
# Code from module acl:
+ # Code from module acl-permissions:
# Code from module acl-tests:
# Code from module alignof:
# Code from module alignof-tests:
@@ -8521,6 +8998,8 @@ fi
# Code from module csharpcomp-script:
# Code from module csharpexec:
# Code from module csharpexec-script:
+ # Code from module ctype:
+ # Code from module ctype-tests:
# Code from module diffseq:
# Code from module dirent:
# Code from module dirent-tests:
@@ -8539,8 +9018,9 @@ fi
# Code from module execute:
# Code from module exitfail:
# Code from module extensions:
-
# Code from module extern-inline:
+ # Code from module fabs:
+ # Code from module fabs-tests:
# Code from module fatal-signal:
# Code from module fcntl:
# Code from module fcntl-h:
@@ -8552,6 +9032,8 @@ fi
# Code from module fdopen:
# Code from module fdopen-tests:
# Code from module fgetc-tests:
+ # Code from module file-has-acl:
+ # Code from module file-has-acl-tests:
# Code from module file-ostream:
# Code from module filename:
# Code from module findprog:
@@ -8616,6 +9098,22 @@ fi
# Code from module inttypes:
# Code from module inttypes-incomplete:
# Code from module inttypes-tests:
+ # Code from module isinf:
+ # Code from module isinf-tests:
+ # Code from module isnan:
+ # Code from module isnan-tests:
+ # Code from module isnand:
+ # Code from module isnand-nolibm:
+ # Code from module isnand-nolibm-tests:
+ # Code from module isnand-tests:
+ # Code from module isnanf:
+ # Code from module isnanf-nolibm:
+ # Code from module isnanf-nolibm-tests:
+ # Code from module isnanf-tests:
+ # Code from module isnanl:
+ # Code from module isnanl-nolibm:
+ # Code from module isnanl-nolibm-tests:
+ # Code from module isnanl-tests:
# Code from module iswblank:
# Code from module iswblank-tests:
# Code from module java:
@@ -8624,6 +9122,8 @@ fi
# Code from module javaexec:
# Code from module javaexec-script:
# Code from module javaversion:
+ # Code from module langinfo:
+ # Code from module langinfo-tests:
# Code from module largefile:
# Code from module libcroco:
@@ -8640,6 +9140,8 @@ fi
# Code from module localename-tests:
# Code from module lock:
# Code from module lock-tests:
+ # Code from module log10:
+ # Code from module log10-tests:
# Code from module lseek:
# Code from module lseek-tests:
# Code from module lstat:
@@ -8647,6 +9149,8 @@ fi
# Code from module malloc-posix:
# Code from module malloca:
# Code from module malloca-tests:
+ # Code from module math:
+ # Code from module math-tests:
# Code from module mbchar:
# Code from module mbiter:
# Code from module mbrtowc:
@@ -8702,10 +9206,13 @@ fi
# Code from module posix_spawnattr_setsigmask:
# Code from module posix_spawnp:
# Code from module posix_spawnp-tests:
+ # Code from module pow:
+ # Code from module pow-tests:
# Code from module progname:
# Code from module propername:
# Code from module putenv:
- # Code from module qacl:
+ # Code from module qcopy-acl:
+ # Code from module qset-acl:
# Code from module quote:
# Code from module quotearg:
# Code from module quotearg-simple:
@@ -8743,6 +9250,8 @@ fi
# Code from module sigaction-tests:
# Code from module signal-h:
# Code from module signal-h-tests:
+ # Code from module signbit:
+ # Code from module signbit-tests:
# Code from module sigpipe:
# Code from module sigpipe-tests:
# Code from module sigprocmask:
@@ -8764,6 +9273,8 @@ fi
# Code from module ssize_t:
# Code from module stat:
# Code from module stat-tests:
+ # Code from module stdalign:
+ # Code from module stdalign-tests:
# Code from module stdarg:
@@ -8842,6 +9353,9 @@ fi
# Code from module uniconv/base:
# Code from module uniconv/u8-conv-from-enc:
# Code from module uniconv/u8-conv-from-enc-tests:
+ # Code from module unictype/base:
+ # Code from module unictype/ctype-space:
+ # Code from module unictype/ctype-space-tests:
# Code from module unilbrk/base:
# Code from module unilbrk/tables:
# Code from module unilbrk/u8-possible-linebreaks:
@@ -8921,6 +9435,9 @@ fi
+ # Pre-early section.
+
+
# Code from module btowc:
# Code from module havelib:
@@ -8941,6 +9458,10 @@ fi
+ # Pre-early section.
+
+
+
# Code from module absolute-header:
# Code from module alignof:
@@ -8960,7 +9481,6 @@ fi
# Code from module error-progname:
# Code from module exitfail:
# Code from module extensions:
-
# Code from module extern-inline:
# Code from module fcntl-h:
# Code from module fd-hook:
@@ -8988,10 +9508,13 @@ fi
# Code from module largefile:
# Code from module libunistring-optional:
+ # Code from module linked-list:
+ # Code from module list:
# Code from module localcharset:
# Code from module lock:
# Code from module malloc-posix:
# Code from module malloca:
+ # Code from module markup:
# Code from module mbrtowc:
# Code from module mbsinit:
# Code from module mbswidth:
@@ -9031,6 +9554,7 @@ fi
# Code from module stdio:
# Code from module stdlib:
# Code from module stpcpy:
+ # Code from module stpncpy:
# Code from module strchrnul:
# Code from module streq:
# Code from module strerror:
@@ -9052,6 +9576,9 @@ fi
# Code from module tls:
# Code from module uniconv/base:
# Code from module uniconv/u8-conv-from-enc:
+ # Code from module unictype/base:
+ # Code from module unictype/ctype-alpha:
+ # Code from module unictype/ctype-space:
# Code from module unilbrk/base:
# Code from module unilbrk/tables:
# Code from module unilbrk/u8-possible-linebreaks:
@@ -9066,7 +9593,9 @@ fi
# Code from module unistr/u8-mbtouc:
# Code from module unistr/u8-mbtouc-unsafe:
# Code from module unistr/u8-mbtoucr:
+ # Code from module unistr/u8-next:
# Code from module unistr/u8-prev:
+ # Code from module unistr/u8-strmbtouc:
# Code from module unistr/u8-uctomb:
# Code from module unitypes:
# Code from module uniwidth/base:
@@ -9082,6 +9611,7 @@ fi
# Code from module xalloc-die:
# Code from module xconcat-filename:
# Code from module xerror:
+ # Code from module xlist:
# Code from module xmalloca:
# Code from module xsize:
# Code from module xstriconv:
@@ -9139,8 +9669,8 @@ esac
-macro_version='2.4.4'
-macro_revision='2.4.4'
+macro_version='2.4.6'
+macro_revision='2.4.6'
@@ -11355,6 +11885,21 @@ $as_echo "$lt_cv_truncate_bin" >&6; }
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then :
enableval=$enable_libtool_lock;
@@ -12362,6 +12907,41 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
;;
esac
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
for ac_header in dlfcn.h
do :
ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
@@ -12980,15 +13560,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$LD" && LD=ld
test -z "$ac_objext" && ac_objext=o
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
# Only perform the check for file, if the check method requires it
@@ -15447,6 +16020,8 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
@@ -15735,6 +16310,7 @@ freebsd* | dragonfly*)
case $version_type in
freebsd-elf*)
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
@@ -15794,10 +16370,11 @@ hpux9* | hpux10* | hpux11*)
soname_spec='$libname$release$shared_ext$major'
if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -15949,7 +16526,12 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -16174,10 +16756,25 @@ fi
if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
+
if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
@@ -17105,15 +17702,8 @@ CC=${RC-"windres"}
CFLAGS=
compiler=$CC
compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
lt_cv_prog_compiler_c_o_RC=yes
@@ -20354,6 +20944,20 @@ fi
done
+ if test $ac_cv_func_uselocale = yes; then
+ for ac_func in getlocalename_l
+do :
+ ac_fn_c_check_func "$LINENO" "getlocalename_l" "ac_cv_func_getlocalename_l"
+if test "x$ac_cv_func_getlocalename_l" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_GETLOCALENAME_L 1
+_ACEOF
+
+fi
+done
+
+ fi
+
ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "#include <stdio.h>
"
if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then :
@@ -22350,6 +22954,18 @@ fi
export LIBC_FATAL_STDERR_
+ gl_need_lib_has_acl=
+ # Check whether --enable-acl was given.
+if test "${enable_acl+set}" = set; then :
+ enableval=$enable_acl;
+else
+ enable_acl=auto
+fi
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use C++" >&5
@@ -22985,8 +23601,6 @@ $as_echo "$gl_cv_pragma_columns" >&6; }
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
$as_echo_n "checking if environ is properly declared... " >&6; }
if ${gt_cv_var_environ_declaration+:} false; then :
@@ -24017,6 +24631,19 @@ _ACEOF
+
+
+ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getdtablesize" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETDTABLESIZE $ac_have_decl
+_ACEOF
+
ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default"
if test "x$ac_cv_have_decl_getline" = xyes; then :
ac_have_decl=1
@@ -24715,6 +25342,7 @@ _ACEOF
HAVE_GETTIMEOFDAY=1;
HAVE_STRUCT_TIMEVAL=1;
HAVE_SYS_TIME_H=1;
+ HAVE_TIMEZONE_T=0;
REPLACE_GETTIMEOFDAY=0;
REPLACE_STRUCT_TIMEVAL=0;
@@ -24965,6 +25593,1514 @@ fi
+ GNULIB_ACOSF=0;
+ GNULIB_ACOSL=0;
+ GNULIB_ASINF=0;
+ GNULIB_ASINL=0;
+ GNULIB_ATANF=0;
+ GNULIB_ATANL=0;
+ GNULIB_ATAN2F=0;
+ GNULIB_CBRT=0;
+ GNULIB_CBRTF=0;
+ GNULIB_CBRTL=0;
+ GNULIB_CEIL=0;
+ GNULIB_CEILF=0;
+ GNULIB_CEILL=0;
+ GNULIB_COPYSIGN=0;
+ GNULIB_COPYSIGNF=0;
+ GNULIB_COPYSIGNL=0;
+ GNULIB_COSF=0;
+ GNULIB_COSL=0;
+ GNULIB_COSHF=0;
+ GNULIB_EXPF=0;
+ GNULIB_EXPL=0;
+ GNULIB_EXP2=0;
+ GNULIB_EXP2F=0;
+ GNULIB_EXP2L=0;
+ GNULIB_EXPM1=0;
+ GNULIB_EXPM1F=0;
+ GNULIB_EXPM1L=0;
+ GNULIB_FABSF=0;
+ GNULIB_FABSL=0;
+ GNULIB_FLOOR=0;
+ GNULIB_FLOORF=0;
+ GNULIB_FLOORL=0;
+ GNULIB_FMA=0;
+ GNULIB_FMAF=0;
+ GNULIB_FMAL=0;
+ GNULIB_FMOD=0;
+ GNULIB_FMODF=0;
+ GNULIB_FMODL=0;
+ GNULIB_FREXPF=0;
+ GNULIB_FREXP=0;
+ GNULIB_FREXPL=0;
+ GNULIB_HYPOT=0;
+ GNULIB_HYPOTF=0;
+ GNULIB_HYPOTL=0;
+ GNULIB_ILOGB=0;
+ GNULIB_ILOGBF=0;
+ GNULIB_ILOGBL=0;
+ GNULIB_ISFINITE=0;
+ GNULIB_ISINF=0;
+ GNULIB_ISNAN=0;
+ GNULIB_ISNANF=0;
+ GNULIB_ISNAND=0;
+ GNULIB_ISNANL=0;
+ GNULIB_LDEXPF=0;
+ GNULIB_LDEXPL=0;
+ GNULIB_LOG=0;
+ GNULIB_LOGF=0;
+ GNULIB_LOGL=0;
+ GNULIB_LOG10=0;
+ GNULIB_LOG10F=0;
+ GNULIB_LOG10L=0;
+ GNULIB_LOG1P=0;
+ GNULIB_LOG1PF=0;
+ GNULIB_LOG1PL=0;
+ GNULIB_LOG2=0;
+ GNULIB_LOG2F=0;
+ GNULIB_LOG2L=0;
+ GNULIB_LOGB=0;
+ GNULIB_LOGBF=0;
+ GNULIB_LOGBL=0;
+ GNULIB_MODF=0;
+ GNULIB_MODFF=0;
+ GNULIB_MODFL=0;
+ GNULIB_POWF=0;
+ GNULIB_REMAINDER=0;
+ GNULIB_REMAINDERF=0;
+ GNULIB_REMAINDERL=0;
+ GNULIB_RINT=0;
+ GNULIB_RINTF=0;
+ GNULIB_RINTL=0;
+ GNULIB_ROUND=0;
+ GNULIB_ROUNDF=0;
+ GNULIB_ROUNDL=0;
+ GNULIB_SIGNBIT=0;
+ GNULIB_SINF=0;
+ GNULIB_SINL=0;
+ GNULIB_SINHF=0;
+ GNULIB_SQRTF=0;
+ GNULIB_SQRTL=0;
+ GNULIB_TANF=0;
+ GNULIB_TANL=0;
+ GNULIB_TANHF=0;
+ GNULIB_TRUNC=0;
+ GNULIB_TRUNCF=0;
+ GNULIB_TRUNCL=0;
+ HAVE_ACOSF=1;
+ HAVE_ACOSL=1;
+ HAVE_ASINF=1;
+ HAVE_ASINL=1;
+ HAVE_ATANF=1;
+ HAVE_ATANL=1;
+ HAVE_ATAN2F=1;
+ HAVE_CBRT=1;
+ HAVE_CBRTF=1;
+ HAVE_CBRTL=1;
+ HAVE_COPYSIGN=1;
+ HAVE_COPYSIGNL=1;
+ HAVE_COSF=1;
+ HAVE_COSL=1;
+ HAVE_COSHF=1;
+ HAVE_EXPF=1;
+ HAVE_EXPL=1;
+ HAVE_EXPM1=1;
+ HAVE_EXPM1F=1;
+ HAVE_FABSF=1;
+ HAVE_FABSL=1;
+ HAVE_FMA=1;
+ HAVE_FMAF=1;
+ HAVE_FMAL=1;
+ HAVE_FMODF=1;
+ HAVE_FMODL=1;
+ HAVE_FREXPF=1;
+ HAVE_HYPOTF=1;
+ HAVE_HYPOTL=1;
+ HAVE_ILOGB=1;
+ HAVE_ILOGBF=1;
+ HAVE_ILOGBL=1;
+ HAVE_ISNANF=1;
+ HAVE_ISNAND=1;
+ HAVE_ISNANL=1;
+ HAVE_LDEXPF=1;
+ HAVE_LOGF=1;
+ HAVE_LOGL=1;
+ HAVE_LOG10F=1;
+ HAVE_LOG10L=1;
+ HAVE_LOG1P=1;
+ HAVE_LOG1PF=1;
+ HAVE_LOG1PL=1;
+ HAVE_LOGBF=1;
+ HAVE_LOGBL=1;
+ HAVE_MODFF=1;
+ HAVE_MODFL=1;
+ HAVE_POWF=1;
+ HAVE_REMAINDER=1;
+ HAVE_REMAINDERF=1;
+ HAVE_RINT=1;
+ HAVE_RINTL=1;
+ HAVE_SINF=1;
+ HAVE_SINL=1;
+ HAVE_SINHF=1;
+ HAVE_SQRTF=1;
+ HAVE_SQRTL=1;
+ HAVE_TANF=1;
+ HAVE_TANL=1;
+ HAVE_TANHF=1;
+ HAVE_DECL_ACOSL=1;
+ HAVE_DECL_ASINL=1;
+ HAVE_DECL_ATANL=1;
+ HAVE_DECL_CBRTF=1;
+ HAVE_DECL_CBRTL=1;
+ HAVE_DECL_CEILF=1;
+ HAVE_DECL_CEILL=1;
+ HAVE_DECL_COPYSIGNF=1;
+ HAVE_DECL_COSL=1;
+ HAVE_DECL_EXPL=1;
+ HAVE_DECL_EXP2=1;
+ HAVE_DECL_EXP2F=1;
+ HAVE_DECL_EXP2L=1;
+ HAVE_DECL_EXPM1L=1;
+ HAVE_DECL_FLOORF=1;
+ HAVE_DECL_FLOORL=1;
+ HAVE_DECL_FREXPL=1;
+ HAVE_DECL_LDEXPL=1;
+ HAVE_DECL_LOGL=1;
+ HAVE_DECL_LOG10L=1;
+ HAVE_DECL_LOG2=1;
+ HAVE_DECL_LOG2F=1;
+ HAVE_DECL_LOG2L=1;
+ HAVE_DECL_LOGB=1;
+ HAVE_DECL_REMAINDER=1;
+ HAVE_DECL_REMAINDERL=1;
+ HAVE_DECL_RINTF=1;
+ HAVE_DECL_ROUND=1;
+ HAVE_DECL_ROUNDF=1;
+ HAVE_DECL_ROUNDL=1;
+ HAVE_DECL_SINL=1;
+ HAVE_DECL_SQRTL=1;
+ HAVE_DECL_TANL=1;
+ HAVE_DECL_TRUNC=1;
+ HAVE_DECL_TRUNCF=1;
+ HAVE_DECL_TRUNCL=1;
+ REPLACE_CBRTF=0;
+ REPLACE_CBRTL=0;
+ REPLACE_CEIL=0;
+ REPLACE_CEILF=0;
+ REPLACE_CEILL=0;
+ REPLACE_EXPM1=0;
+ REPLACE_EXPM1F=0;
+ REPLACE_EXP2=0;
+ REPLACE_EXP2L=0;
+ REPLACE_FABSL=0;
+ REPLACE_FLOOR=0;
+ REPLACE_FLOORF=0;
+ REPLACE_FLOORL=0;
+ REPLACE_FMA=0;
+ REPLACE_FMAF=0;
+ REPLACE_FMAL=0;
+ REPLACE_FMOD=0;
+ REPLACE_FMODF=0;
+ REPLACE_FMODL=0;
+ REPLACE_FREXPF=0;
+ REPLACE_FREXP=0;
+ REPLACE_FREXPL=0;
+ REPLACE_HUGE_VAL=0;
+ REPLACE_HYPOT=0;
+ REPLACE_HYPOTF=0;
+ REPLACE_HYPOTL=0;
+ REPLACE_ILOGB=0;
+ REPLACE_ILOGBF=0;
+ REPLACE_ISFINITE=0;
+ REPLACE_ISINF=0;
+ REPLACE_ISNAN=0;
+ REPLACE_LDEXPL=0;
+ REPLACE_LOG=0;
+ REPLACE_LOGF=0;
+ REPLACE_LOGL=0;
+ REPLACE_LOG10=0;
+ REPLACE_LOG10F=0;
+ REPLACE_LOG10L=0;
+ REPLACE_LOG1P=0;
+ REPLACE_LOG1PF=0;
+ REPLACE_LOG1PL=0;
+ REPLACE_LOG2=0;
+ REPLACE_LOG2F=0;
+ REPLACE_LOG2L=0;
+ REPLACE_LOGB=0;
+ REPLACE_LOGBF=0;
+ REPLACE_LOGBL=0;
+ REPLACE_MODF=0;
+ REPLACE_MODFF=0;
+ REPLACE_MODFL=0;
+ REPLACE_NAN=0;
+ REPLACE_REMAINDER=0;
+ REPLACE_REMAINDERF=0;
+ REPLACE_REMAINDERL=0;
+ REPLACE_ROUND=0;
+ REPLACE_ROUNDF=0;
+ REPLACE_ROUNDL=0;
+ REPLACE_SIGNBIT=0;
+ REPLACE_SIGNBIT_USING_GCC=0;
+ REPLACE_SQRTL=0;
+ REPLACE_TRUNC=0;
+ REPLACE_TRUNCF=0;
+ REPLACE_TRUNCL=0;
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether long double and double are the same" >&5
+$as_echo_n "checking whether long double and double are the same... " >&6; }
+if ${gl_cv_long_double_equals_double+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <float.h>
+int
+main ()
+{
+typedef int check[sizeof (long double) == sizeof (double)
+ && LDBL_MANT_DIG == DBL_MANT_DIG
+ && LDBL_MAX_EXP == DBL_MAX_EXP
+ && LDBL_MIN_EXP == DBL_MIN_EXP
+ ? 1 : -1];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_long_double_equals_double=yes
+else
+ gl_cv_long_double_equals_double=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_long_double_equals_double" >&5
+$as_echo "$gl_cv_long_double_equals_double" >&6; }
+ if test $gl_cv_long_double_equals_double = yes; then
+
+$as_echo "#define HAVE_SAME_LONG_DOUBLE_AS_DOUBLE 1" >>confdefs.h
+
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1
+ else
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ ISNANF_LIBM=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(float) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnanf_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;
+int
+main ()
+{
+return isnanf (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanf_no_libm=yes
+else
+ gl_cv_func_isnanf_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_no_libm" >&5
+$as_echo "$gl_cv_func_isnanf_no_libm" >&6; }
+
+ if test $gl_cv_func_isnanf_no_libm = no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used with libm" >&5
+$as_echo_n "checking whether isnan(float) can be used with libm... " >&6; }
+if ${gl_cv_func_isnanf_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;
+int
+main ()
+{
+return isnanf (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanf_in_libm=yes
+else
+ gl_cv_func_isnanf_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_in_libm" >&5
+$as_echo "$gl_cv_func_isnanf_in_libm" >&6; }
+
+ if test $gl_cv_func_isnanf_in_libm = yes; then
+ ISNANF_LIBM=-lm
+ fi
+ fi
+ if test $gl_cv_func_isnanf_no_libm = yes \
+ || test $gl_cv_func_isnanf_in_libm = yes; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $ISNANF_LIBM"
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) works" >&5
+$as_echo_n "checking whether isnan(float) works... " >&6; }
+if ${gl_cv_func_isnanf_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ irix* | solaris*) gl_cv_func_isnanf_works="guessing no";;
+ *) gl_cv_func_isnanf_works="guessing yes";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanf
+# define isnanf(x) __builtin_isnanf ((float)(x))
+#elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+#endif
+/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
+#ifdef __DECC
+static float
+NaN ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+#else
+# define NaN() (0.0f / 0.0f)
+#endif
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; float value; } memory_float;
+int main()
+{
+ int result = 0;
+
+ if (isnanf (1.0f / 0.0f))
+ result |= 1;
+
+ if (!isnanf (NaN ()))
+ result |= 2;
+
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* The isnanf function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit. */
+ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0)
+ {
+ memory_float m;
+
+ m.value = NaN ();
+ /* Set the bits below the exponent to 01111...111. */
+ m.word[0] &= -1U << FLT_EXPBIT0_BIT;
+ m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1;
+ if (!isnanf (m.value))
+ result |= 4;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isnanf_works=yes
+else
+ gl_cv_func_isnanf_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_works" >&5
+$as_echo "$gl_cv_func_isnanf_works" >&6; }
+
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_isnanf_works" in
+ *yes) gl_func_isnanf=yes ;;
+ *) gl_func_isnanf=no; ISNANF_LIBM= ;;
+ esac
+ else
+ gl_func_isnanf=no
+ fi
+ if test $gl_func_isnanf != yes; then
+ HAVE_ISNANF=0
+ fi
+
+
+
+
+ ISNAND_LIBM=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(double) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnand_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #else
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;
+int
+main ()
+{
+return isnand (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnand_no_libm=yes
+else
+ gl_cv_func_isnand_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_no_libm" >&5
+$as_echo "$gl_cv_func_isnand_no_libm" >&6; }
+
+ if test $gl_cv_func_isnand_no_libm = no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used with libm" >&5
+$as_echo_n "checking whether isnan(double) can be used with libm... " >&6; }
+if ${gl_cv_func_isnand_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #elif defined isnan
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;
+int
+main ()
+{
+return isnand (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnand_in_libm=yes
+else
+ gl_cv_func_isnand_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_in_libm" >&5
+$as_echo "$gl_cv_func_isnand_in_libm" >&6; }
+
+ if test $gl_cv_func_isnand_in_libm = yes; then
+ ISNAND_LIBM=-lm
+ fi
+ fi
+ if test $gl_cv_func_isnand_no_libm = yes \
+ || test $gl_cv_func_isnand_in_libm = yes; then
+ gl_func_isnand=yes
+ else
+ gl_func_isnand=no
+ HAVE_ISNAND=0
+ fi
+
+
+
+
+ ISNANL_LIBM=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(long double) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnanl_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;
+int
+main ()
+{
+return isnanl (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanl_no_libm=yes
+else
+ gl_cv_func_isnanl_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_no_libm" >&5
+$as_echo "$gl_cv_func_isnanl_no_libm" >&6; }
+
+ if test $gl_cv_func_isnanl_no_libm = no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used with libm" >&5
+$as_echo_n "checking whether isnan(long double) can be used with libm... " >&6; }
+if ${gl_cv_func_isnanl_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;
+int
+main ()
+{
+return isnanl (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanl_in_libm=yes
+else
+ gl_cv_func_isnanl_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_in_libm" >&5
+$as_echo "$gl_cv_func_isnanl_in_libm" >&6; }
+
+ if test $gl_cv_func_isnanl_in_libm = yes; then
+ ISNANL_LIBM=-lm
+ fi
+ fi
+ if test $gl_cv_func_isnanl_no_libm = yes \
+ || test $gl_cv_func_isnanl_in_libm = yes; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $ISNANL_LIBM"
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnanl works" >&5
+$as_echo_n "checking whether isnanl works... " >&6; }
+if ${gl_cv_func_isnanl_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_isnanl_works="guessing yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanl
+# define isnanl(x) __builtin_isnanl ((long double)(x))
+#elif defined isnan
+# undef isnanl
+# define isnanl(x) isnan ((long double)(x))
+#endif
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+int main ()
+{
+ int result = 0;
+
+ if (!isnanl (NaNl ()))
+ result |= 1;
+
+ {
+ memory_long_double m;
+ unsigned int i;
+
+ /* The isnanl function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit (since the exponent never extends to
+ bit 31). */
+ m.value = NaNl ();
+ m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ for (i = 0; i < NWORDS; i++)
+ m.word[i] |= 1;
+ if (!isnanl (m.value))
+ result |= 1;
+ }
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ /* isnanl should return something even for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 4;
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 8;
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 16;
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 32;
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 64;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isnanl_works=yes
+else
+ gl_cv_func_isnanl_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_works" >&5
+$as_echo "$gl_cv_func_isnanl_works" >&6; }
+
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_isnanl_works" in
+ *yes) gl_func_isnanl=yes ;;
+ *) gl_func_isnanl=no; ISNANL_LIBM= ;;
+ esac
+ else
+ gl_func_isnanl=no
+ fi
+ if test $gl_func_isnanl != yes; then
+ HAVE_ISNANL=0
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
+$as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
+if ${gl_cv_cc_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined arm || defined __arm || defined __arm__
+ mixed_endianness
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "mixed_endianness" >/dev/null 2>&1; then :
+ gl_cv_cc_double_expbit0="unknown"
+else
+
+ :
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+:
+ case $ac_cv_c_bigendian in #(
+ yes)
+ gl_cv_cc_double_expbit0="word 0 bit 20";; #(
+ no)
+ gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ gl_cv_cc_double_expbit0="unknown" ;;
+ esac
+
+
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+ memory_double m;
+ size_t i;
+ /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
+ memset (&m, 0, sizeof (memory_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25);
+ add_to_ored_words (0.5);
+ add_to_ored_words (1.0);
+ add_to_ored_words (2.0);
+ add_to_ored_words (4.0);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
+$as_echo "$gl_cv_cc_double_expbit0" >&6; }
+ case "$gl_cv_cc_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
GNULIB_ISWBLANK=0;
GNULIB_WCTYPE=0;
GNULIB_ISWCTYPE=0;
@@ -25341,6 +27477,13 @@ fi
+ GNULIB_NL_LANGINFO=0;
+ HAVE_NL_LANGINFO=1;
+ REPLACE_NL_LANGINFO=0;
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included glib is requested" >&5
$as_echo_n "checking whether included glib is requested... " >&6; }
@@ -27804,12 +29947,22 @@ _ACEOF
REPLACE_NULL=0;
+ HAVE_MAX_ALIGN_T=1;
HAVE_WCHAR_T=1;
STDDEF_H=
+ ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
+
+"
+if test "x$ac_cv_type_max_align_t" = xyes; then :
+
+else
+ HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+fi
+
if test $gt_cv_c_wchar_t = no; then
HAVE_WCHAR_T=0
STDDEF_H=stddef.h
@@ -27933,6 +30086,106 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
+
+
+ POW_LIBM=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pow can be used without linking with libm" >&5
+$as_echo_n "checking whether pow can be used without linking with libm... " >&6; }
+if ${gl_cv_func_pow_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+
+ double (*funcptr) (double, double) = pow;
+ int i_ret;
+ float f_ret;
+ double d_ret;
+ long double l_ret;
+int
+main ()
+{
+double y = funcptr (1.6180339887, 1.6180339887) + pow (1.6180339887, 1.6180339887);
+
+ return y < 0.3 || y > 1.7;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_pow_no_libm=yes
+else
+ gl_cv_func_pow_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pow_no_libm" >&5
+$as_echo "$gl_cv_func_pow_no_libm" >&6; }
+ if test $gl_cv_func_pow_no_libm = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pow can be used with libm" >&5
+$as_echo_n "checking whether pow can be used with libm... " >&6; }
+if ${gl_cv_func_pow_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+
+ double (*funcptr) (double, double) = pow;
+ int i_ret;
+ float f_ret;
+ double d_ret;
+ long double l_ret;
+int
+main ()
+{
+double y = funcptr (1.6180339887, 1.6180339887) + pow (1.6180339887, 1.6180339887);
+
+ return y < 0.3 || y > 1.7;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_pow_in_libm=yes
+else
+ gl_cv_func_pow_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pow_in_libm" >&5
+$as_echo "$gl_cv_func_pow_in_libm" >&6; }
+ if test $gl_cv_func_pow_in_libm = yes; then
+ POW_LIBM=-lm
+ fi
+ fi
+
+
+
+
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
@@ -27940,14 +30193,15 @@ if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
else
rm -f conftest.sym conftest.file
echo >conftest.file
- if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
- if test "$cross_compiling" = yes; then :
+ if test "$cross_compiling" = yes; then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
- # If we don't know, assume the worst.
- *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
- esac
+ *-gnu*)
+ # Guess yes on glibc systems.
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+ *)
+ # If we don't know, assume the worst.
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+ esac
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27957,10 +30211,12 @@ int
main ()
{
struct stat sbuf;
- /* Linux will dereference the symlink and fail, as required by
- POSIX. That is better in the sense that it means we will not
- have to compile and use the lstat wrapper. */
- return lstat ("conftest.sym/", &sbuf) == 0;
+ if (symlink ("conftest.file", "conftest.sym") != 0)
+ return 1;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
;
return 0;
@@ -27975,11 +30231,6 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
- else
- # If the 'ln -s' command failed, then we probably don't even
- # have an lstat function.
- gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
- fi
rm -f conftest.sym conftest.file
fi
@@ -28100,6 +30351,8 @@ _ACEOF
+
+
GNULIB_BTOWC=0;
GNULIB_WCTOB=0;
GNULIB_MBSINIT=0;
@@ -29649,8 +31902,6 @@ $as_echo "$gl_cv_func_spawnattr_setschedparam" >&6; }
fi
-
-
GNULIB_PTHREAD_SIGMASK=0;
GNULIB_RAISE=0;
GNULIB_SIGNAL_H_SIGPIPE=0;
@@ -33669,6 +35920,7 @@ $as_echo "$gl_cv_terminfo_tparm" >&6; }
GNULIB_STRPTIME=0;
GNULIB_TIMEGM=0;
GNULIB_TIME_R=0;
+ GNULIB_TIME_RZ=0;
HAVE_DECL_LOCALTIME_R=1;
HAVE_NANOSLEEP=1;
HAVE_STRPTIME=1;
@@ -33714,6 +35966,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
TIME_H_DEFINES_STRUCT_TIMESPEC=0
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+ UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
TIME_H_DEFINES_STRUCT_TIMESPEC=1
else
@@ -33774,6 +36027,36 @@ fi
$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <unistd.h>" >&5
+$as_echo_n "checking for struct timespec in <unistd.h>... " >&6; }
+if ${gl_cv_sys_struct_timespec_in_unistd_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <unistd.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_sys_struct_timespec_in_unistd_h=yes
+else
+ gl_cv_sys_struct_timespec_in_unistd_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; }
+ if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+ UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+ fi
fi
fi
fi
@@ -33792,6 +36075,7 @@ $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
+
if test $gl_cv_have_include_next = yes; then
gl_cv_next_time_h='<'time.h'>'
else
@@ -34098,352 +36382,6 @@ _ACEOF
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
-$as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
-if ${gl_cv_cc_double_expbit0+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if test "$cross_compiling" = yes; then :
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if defined arm || defined __arm || defined __arm__
- mixed_endianness
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "mixed_endianness" >/dev/null 2>&1; then :
- gl_cv_cc_double_expbit0="unknown"
-else
-
- :
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-:
- case $ac_cv_c_bigendian in #(
- yes)
- gl_cv_cc_double_expbit0="word 0 bit 20";; #(
- no)
- gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- gl_cv_cc_double_expbit0="unknown" ;;
- esac
-
-
-fi
-rm -f conftest*
-
-
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
- ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { double value; unsigned int word[NWORDS]; } memory_double;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (double x)
-{
- memory_double m;
- size_t i;
- /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
- memset (&m, 0, sizeof (memory_double));
- m.value = x;
- for (i = 0; i < NWORDS; i++)
- {
- ored_words[i] |= m.word[i];
- anded_words[i] &= m.word[i];
- }
-}
-int main ()
-{
- size_t j;
- FILE *fp = fopen ("conftest.out", "w");
- if (fp == NULL)
- return 1;
- for (j = 0; j < NWORDS; j++)
- anded_words[j] = ~ (unsigned int) 0;
- add_to_ored_words (0.25);
- add_to_ored_words (0.5);
- add_to_ored_words (1.0);
- add_to_ored_words (2.0);
- add_to_ored_words (4.0);
- /* Remove bits that are common (e.g. if representation of the first mantissa
- bit is explicit). */
- for (j = 0; j < NWORDS; j++)
- ored_words[j] &= ~anded_words[j];
- /* Now find the nonzero word. */
- for (j = 0; j < NWORDS; j++)
- if (ored_words[j] != 0)
- break;
- if (j < NWORDS)
- {
- size_t i;
- for (i = j + 1; i < NWORDS; i++)
- if (ored_words[i] != 0)
- {
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
- }
- for (i = 0; ; i++)
- if ((ored_words[j] >> i) & 1)
- {
- fprintf (fp, "word %d bit %d", (int) j, (int) i);
- return (fclose (fp) != 0);
- }
- }
- fprintf (fp, "unknown");
- return (fclose (fp) != 0);
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- gl_cv_cc_double_expbit0=`cat conftest.out`
-else
- gl_cv_cc_double_expbit0="unknown"
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- rm -f conftest.out
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
-$as_echo "$gl_cv_cc_double_expbit0" >&6; }
- case "$gl_cv_cc_double_expbit0" in
- word*bit*)
- word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
- bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
-
-cat >>confdefs.h <<_ACEOF
-#define DBL_EXPBIT0_WORD $word
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define DBL_EXPBIT0_BIT $bit
-_ACEOF
-
- ;;
- esac
-
-
@@ -34569,6 +36507,10 @@ Configuration aborted." "$LINENO" 5
+
+ GNULIB_ISBLANK=0;
+ HAVE_ISBLANK=1;
+
ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
if test "x$ac_cv_have_decl_alarm" = xyes; then :
ac_have_decl=1
@@ -34790,8 +36732,9 @@ if ${gl_cv_func_ungetc_works+:} false; then :
else
if test "$cross_compiling" = yes; then :
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu*) gl_cv_func_ungetc_works="guessing yes" ;;
+ # Guess yes on glibc and bionic systems.
+ *-gnu*|*-android*)
+ gl_cv_func_ungetc_works="guessing yes" ;;
# If we don't know, assume the worst.
*) gl_cv_func_ungetc_works="guessing no" ;;
esac
@@ -35128,6 +37071,441 @@ fi
+ LIB_ACL=
+ use_acl=0
+ if test "$enable_acl" != no; then
+ for ac_header in sys/acl.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_acl_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_ACL_H 1
+_ACEOF
+
+fi
+
+done
+
+ if test $ac_cv_header_sys_acl_h = yes; then
+ ac_save_LIBS=$LIBS
+
+ if test $use_acl = 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5
+$as_echo_n "checking for library containing acl_get_file... " >&6; }
+if ${ac_cv_search_acl_get_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char acl_get_file ();
+int
+main ()
+{
+return acl_get_file ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' acl pacl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_acl_get_file=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_acl_get_file+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_acl_get_file+:} false; then :
+
+else
+ ac_cv_search_acl_get_file=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5
+$as_echo "$ac_cv_search_acl_get_file" >&6; }
+ac_res=$ac_cv_search_acl_get_file
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ if test "$ac_cv_search_acl_get_file" != "none required"; then
+ LIB_ACL=$ac_cv_search_acl_get_file
+ fi
+ for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \
+ acl_free acl_from_mode acl_from_text \
+ acl_delete_def_file acl_extended_file \
+ acl_delete_fd_np acl_delete_file_np \
+ acl_copy_ext_native acl_create_entry_np \
+ acl_to_short_text acl_free_text
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ # If the acl_get_file bug is detected, don't enable the ACL support.
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5
+$as_echo_n "checking for working acl_get_file... " >&6; }
+if ${gl_cv_func_working_acl_get_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gl_cv_func_working_acl_get_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/acl.h>
+ #include <errno.h>
+
+int
+main ()
+{
+if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT)
+ return 1;
+ return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if test $cross_compiling = yes; then
+ gl_cv_func_working_acl_get_file="guessing yes"
+ elif ./conftest$ac_exeext; then
+ gl_cv_func_working_acl_get_file=yes
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5
+$as_echo "$gl_cv_func_working_acl_get_file" >&6; }
+ if test "$gl_cv_func_working_acl_get_file" != no; then :
+ use_acl=1
+fi
+
+ if test $use_acl = 1; then
+ for ac_header in acl/libacl.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default"
+if test "x$ac_cv_header_acl_libacl_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACL_LIBACL_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+ for ac_func in acl_entries
+do :
+ ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries"
+if test "x$ac_cv_func_acl_entries" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACL_ENTRIES 1
+_ACEOF
+
+else
+
+ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+
+fi
+done
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_FIRST_ENTRY" >&5
+$as_echo_n "checking for ACL_FIRST_ENTRY... " >&6; }
+if ${gl_cv_acl_ACL_FIRST_ENTRY+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/acl.h>
+int type = ACL_FIRST_ENTRY;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_acl_ACL_FIRST_ENTRY=yes
+else
+ gl_cv_acl_ACL_FIRST_ENTRY=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5
+$as_echo "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; }
+ if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then
+
+$as_echo "#define HAVE_ACL_FIRST_ENTRY 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_TYPE_EXTENDED" >&5
+$as_echo_n "checking for ACL_TYPE_EXTENDED... " >&6; }
+if ${gl_cv_acl_ACL_TYPE_EXTENDED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/acl.h>
+int type = ACL_TYPE_EXTENDED;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_acl_ACL_TYPE_EXTENDED=yes
+else
+ gl_cv_acl_ACL_TYPE_EXTENDED=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5
+$as_echo "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; }
+ if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then
+
+$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h
+
+ fi
+ else
+ LIB_ACL=
+ fi
+
+fi
+
+ fi
+
+ if test $use_acl = 0; then
+ for ac_func in facl
+do :
+ ac_fn_c_check_func "$LINENO" "facl" "ac_cv_func_facl"
+if test "x$ac_cv_func_facl" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_FACL 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_facl = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_trivial" >&5
+$as_echo_n "checking for library containing acl_trivial... " >&6; }
+if ${ac_cv_search_acl_trivial+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char acl_trivial ();
+int
+main ()
+{
+return acl_trivial ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' sec; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_acl_trivial=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_acl_trivial+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_acl_trivial+:} false; then :
+
+else
+ ac_cv_search_acl_trivial=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5
+$as_echo "$ac_cv_search_acl_trivial" >&6; }
+ac_res=$ac_cv_search_acl_trivial
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ if test "$ac_cv_search_acl_trivial" != "none required"; then
+ LIB_ACL=$ac_cv_search_acl_trivial
+ fi
+
+fi
+
+ for ac_func in acl_trivial
+do :
+ ac_fn_c_check_func "$LINENO" "acl_trivial" "ac_cv_func_acl_trivial"
+if test "x$ac_cv_func_acl_trivial" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACL_TRIVIAL 1
+_ACEOF
+
+fi
+done
+
+ use_acl=1
+ fi
+ fi
+
+ if test $use_acl = 0; then
+ for ac_func in getacl
+do :
+ ac_fn_c_check_func "$LINENO" "getacl" "ac_cv_func_getacl"
+if test "x$ac_cv_func_getacl" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_GETACL 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_getacl = yes; then
+ use_acl=1
+ fi
+ for ac_header in aclv.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "aclv.h" "ac_cv_header_aclv_h" "#include <sys/types.h>
+"
+if test "x$ac_cv_header_aclv_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACLV_H 1
+_ACEOF
+
+fi
+
+done
+
+ fi
+
+ if test $use_acl = 0; then
+ for ac_func in aclx_get
+do :
+ ac_fn_c_check_func "$LINENO" "aclx_get" "ac_cv_func_aclx_get"
+if test "x$ac_cv_func_aclx_get" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACLX_GET 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_aclx_get = yes; then
+ use_acl=1
+ fi
+ fi
+
+ if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then
+ for ac_func in statacl
+do :
+ ac_fn_c_check_func "$LINENO" "statacl" "ac_cv_func_statacl"
+if test "x$ac_cv_func_statacl" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STATACL 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_statacl = yes; then
+ use_acl=1
+ fi
+ fi
+
+ if test $use_acl = 0; then
+ for ac_func in aclsort
+do :
+ ac_fn_c_check_func "$LINENO" "aclsort" "ac_cv_func_aclsort"
+if test "x$ac_cv_func_aclsort" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACLSORT 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_aclsort = yes; then
+ use_acl=1
+ fi
+ fi
+
+ LIBS=$ac_save_LIBS
+ fi
+
+ if test "$enable_acl$use_acl" = yes0; then
+ as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5
+ elif test "$enable_acl$use_acl" = auto0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libacl development library was not found or not usable." >&5
+$as_echo "$as_me: WARNING: libacl development library was not found or not usable." >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gettext-tools will be built without ACL support." >&5
+$as_echo "$as_me: WARNING: gettext-tools will be built without ACL support." >&2;}
+ fi
+ fi
+ test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL
+
+
+cat >>confdefs.h <<_ACEOF
+#define USE_ACL $use_acl
+_ACEOF
+
+ USE_ACL=$use_acl
+
+
+
+
+
if test $ac_cv_func_alloca_works = no; then
@@ -36096,7 +38474,6 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
-
$as_echo "#define HAVE_DUP2 1" >>confdefs.h
@@ -36112,56 +38489,66 @@ else
gl_cv_func_dup2_works="guessing no" ;;
cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
gl_cv_func_dup2_works="guessing no" ;;
- linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
- # closed fd may yield -EBADF instead of -1 / errno=EBADF.
- gl_cv_func_dup2_works="guessing no" ;;
aix* | freebsd*)
# on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
# not EBADF.
gl_cv_func_dup2_works="guessing no" ;;
haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
gl_cv_func_dup2_works="guessing no" ;;
+ *-android*) # implemented using dup3(), which fails if oldfd == newfd
+ gl_cv_func_dup2_works="guessing no" ;;
*) gl_cv_func_dup2_works="guessing yes" ;;
esac
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- #include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <sys/resource.h>
+ #include <unistd.h>
+ #ifndef RLIM_SAVED_CUR
+ # define RLIM_SAVED_CUR RLIM_INFINITY
+ #endif
+ #ifndef RLIM_SAVED_MAX
+ # define RLIM_SAVED_MAX RLIM_INFINITY
+ #endif
+
int
main ()
{
int result = 0;
-#ifdef HAVE_GETDTABLESIZE
- int bad_fd = getdtablesize ();
-#else
- int bad_fd = 1000000;
-#endif
-#ifdef FD_CLOEXEC
- if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
- result |= 1;
-#endif
- if (dup2 (1, 1) == 0)
- result |= 2;
-#ifdef FD_CLOEXEC
- if (fcntl (1, F_GETFD) != FD_CLOEXEC)
- result |= 4;
-#endif
- close (0);
- if (dup2 (0, 0) != -1)
- result |= 8;
- /* Many gnulib modules require POSIX conformance of EBADF. */
- if (dup2 (2, bad_fd) == -1 && errno != EBADF)
- result |= 16;
- /* Flush out some cygwin core dumps. */
- if (dup2 (2, -1) != -1 || errno != EBADF)
- result |= 32;
- dup2 (2, 255);
- dup2 (2, 256);
- return result;
-
+ int bad_fd = INT_MAX;
+ struct rlimit rlim;
+ if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+ && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+ && rlim.rlim_cur != RLIM_INFINITY
+ && rlim.rlim_cur != RLIM_SAVED_MAX
+ && rlim.rlim_cur != RLIM_SAVED_CUR)
+ bad_fd = rlim.rlim_cur;
+ #ifdef FD_CLOEXEC
+ if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+ result |= 1;
+ #endif
+ if (dup2 (1, 1) != 1)
+ result |= 2;
+ #ifdef FD_CLOEXEC
+ if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+ result |= 4;
+ #endif
+ close (0);
+ if (dup2 (0, 0) != -1)
+ result |= 8;
+ /* Many gnulib modules require POSIX conformance of EBADF. */
+ if (dup2 (2, bad_fd) == -1 && errno != EBADF)
+ result |= 16;
+ /* Flush out some cygwin core dumps. */
+ if (dup2 (2, -1) != -1 || errno != EBADF)
+ result |= 32;
+ dup2 (2, 255);
+ dup2 (2, 256);
+ return result;
;
return 0;
}
@@ -36304,6 +38691,106 @@ $as_echo "$ac_cv_lib_error_at_line" >&6; }
+
+
+ FABS_LIBM=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fabs can be used without linking with libm" >&5
+$as_echo_n "checking whether fabs can be used without linking with libm... " >&6; }
+if ${gl_cv_func_fabs_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+
+ double (*funcptr) (double) = fabs;
+ int i_ret;
+ float f_ret;
+ double d_ret;
+ long double l_ret;
+int
+main ()
+{
+double y = funcptr (1.6180339887) + fabs (1.6180339887);
+
+ return y < 0.3 || y > 1.7;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_fabs_no_libm=yes
+else
+ gl_cv_func_fabs_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fabs_no_libm" >&5
+$as_echo "$gl_cv_func_fabs_no_libm" >&6; }
+ if test $gl_cv_func_fabs_no_libm = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fabs can be used with libm" >&5
+$as_echo_n "checking whether fabs can be used with libm... " >&6; }
+if ${gl_cv_func_fabs_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+
+ double (*funcptr) (double) = fabs;
+ int i_ret;
+ float f_ret;
+ double d_ret;
+ long double l_ret;
+int
+main ()
+{
+double y = funcptr (1.6180339887) + fabs (1.6180339887);
+
+ return y < 0.3 || y > 1.7;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_fabs_in_libm=yes
+else
+ gl_cv_func_fabs_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fabs_in_libm" >&5
+$as_echo "$gl_cv_func_fabs_in_libm" >&6; }
+ if test $gl_cv_func_fabs_in_libm = yes; then
+ FABS_LIBM=-lm
+ fi
+ fi
+
+
+
+
+
+
+
+
+
:
@@ -36328,36 +38815,43 @@ if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
- # Guess that it works on glibc systems
- case $host_os in #((
- *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";;
- *) gl_cv_func_fcntl_f_dupfd_works="guessing no";;
+ case $host_os in
+ aix* | cygwin* | haiku*)
+ gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+ *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
esac
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
-#ifdef HAVE_GETDTABLESIZE
-# include <unistd.h>
-#endif
-#include <fcntl.h>
#include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <sys/resource.h>
+ #include <unistd.h>
+ #ifndef RLIM_SAVED_CUR
+ # define RLIM_SAVED_CUR RLIM_INFINITY
+ #endif
+ #ifndef RLIM_SAVED_MAX
+ # define RLIM_SAVED_MAX RLIM_INFINITY
+ #endif
int
main ()
{
int result = 0;
-#ifdef HAVE_GETDTABLESIZE
- int bad_fd = getdtablesize ();
-#else
- int bad_fd = 1000000;
-#endif
- if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
- if (errno != EINVAL) result |= 2;
- if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
- if (errno != EINVAL) result |= 8;
- return result;
-
+ int bad_fd = INT_MAX;
+ struct rlimit rlim;
+ if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+ && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+ && rlim.rlim_cur != RLIM_INFINITY
+ && rlim.rlim_cur != RLIM_SAVED_MAX
+ && rlim.rlim_cur != RLIM_SAVED_CUR)
+ bad_fd = rlim.rlim_cur;
+ if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+ if (errno != EINVAL) result |= 2;
+ if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+ if (errno != EINVAL) result |= 8;
+ return result;
;
return 0;
}
@@ -37444,7 +39938,9 @@ $as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h
- if test $ac_cv_func_getdtablesize = yes; then
+
+ if test $ac_cv_func_getdtablesize = yes &&
+ test $ac_cv_have_decl_getdtablesize = yes; then
# Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
# up to an unchangeable hard limit; all other platforms correctly
# require setrlimit before getdtablesize() can report a larger value.
@@ -38183,6 +40679,1775 @@ $as_echo "#define HAVE_INLINE 1" >>confdefs.h
+ ac_fn_c_check_decl "$LINENO" "isinf" "ac_cv_have_decl_isinf" "#include <math.h>
+ #ifndef isinf
+ #error \"isinf must be a macro, not a function\"
+ #endif
+
+"
+if test "x$ac_cv_have_decl_isinf" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ISINF $ac_have_decl
+_ACEOF
+
+ if test "$ac_cv_have_decl_isinf" = yes; then
+
+ save_LIBS=$LIBS
+ ISINF_LIBM=missing
+ for libm in "" "-lm"; do
+ LIBS="$save_LIBS $libm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+
+ double x;
+int
+main ()
+{
+x = isinf (x) + isinf ((float) x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ISINF_LIBM=$libm
+break
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ done
+ LIBS=$save_LIBS
+
+ if test "$ISINF_LIBM" != missing; then
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isinf(long double) works" >&5
+$as_echo_n "checking whether isinf(long double) works... " >&6; }
+if ${gl_cv_func_isinfl_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_isinfl_works="guessing yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+int main ()
+{
+ int result = 0;
+
+ if (isinf (LDBL_MAX))
+ result |= 1;
+
+ {
+ memory_long_double m;
+ unsigned int i;
+
+ /* The isinf macro should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit (since the exponent never extends to
+ bit 31). */
+ m.value = NaNl ();
+ m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ for (i = 0; i < NWORDS; i++)
+ m.word[i] |= 1;
+ if (isinf (m.value))
+ result |= 2;
+ }
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ if (isinf (x.value))
+ result |= 2;
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ if (isinf (x.value))
+ result |= 2;
+ }
+ /* isinf should return something even for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 4;
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 8;
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 16;
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 32;
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 64;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isinfl_works=yes
+else
+ gl_cv_func_isinfl_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isinfl_works" >&5
+$as_echo "$gl_cv_func_isinfl_works" >&6; }
+
+ case "$gl_cv_func_isinfl_works" in
+ *yes) ;;
+ *) ISINF_LIBM=missing;;
+ esac
+ fi
+ fi
+ if test "$ac_cv_have_decl_isinf" != yes ||
+ test "$ISINF_LIBM" = missing; then
+ REPLACE_ISINF=1
+ ISINF_LIBM=
+ fi
+
+
+ if test $REPLACE_ISINF = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isinf.$ac_objext"
+
+ fi
+
+
+
+
+
+ GNULIB_ISINF=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ISINF 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+ # If we replaced any of the underlying isnan* functions, replace
+ # the isnan macro; it undoubtedly suffers from the same flaws.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan macro works" >&5
+$as_echo_n "checking whether isnan macro works... " >&6; }
+ if test $gl_func_isnanf = yes \
+ && test $gl_func_isnand = yes \
+ && test $gl_func_isnanl = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ ISNAN_LIBM=
+ case " $ISNAN_LIBM " in
+ *" $ISNANF_LIBM "*) ;;
+ *) ISNAN_LIBM="$ISNAN_LIBM $ISNANF_LIBM" ;;
+ esac
+ case " $ISNAN_LIBM " in
+ *" $ISNAND_LIBM "*) ;;
+ *) ISNAN_LIBM="$ISNAN_LIBM $ISNAND_LIBM" ;;
+ esac
+ case " $ISNAN_LIBM " in
+ *" $ISNANL_LIBM "*) ;;
+ *) ISNAN_LIBM="$ISNAN_LIBM $ISNANL_LIBM" ;;
+ esac
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ REPLACE_ISNAN=1
+ ISNAN_LIBM=
+ fi
+
+
+
+
+
+
+
+ GNULIB_ISNAN=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ISNAN 1" >>confdefs.h
+
+
+
+
+
+ ISNAND_LIBM=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(double) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnand_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #else
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;
+int
+main ()
+{
+return isnand (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnand_no_libm=yes
+else
+ gl_cv_func_isnand_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_no_libm" >&5
+$as_echo "$gl_cv_func_isnand_no_libm" >&6; }
+
+ if test $gl_cv_func_isnand_no_libm = no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used with libm" >&5
+$as_echo_n "checking whether isnan(double) can be used with libm... " >&6; }
+if ${gl_cv_func_isnand_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #elif defined isnan
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;
+int
+main ()
+{
+return isnand (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnand_in_libm=yes
+else
+ gl_cv_func_isnand_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_in_libm" >&5
+$as_echo "$gl_cv_func_isnand_in_libm" >&6; }
+
+ if test $gl_cv_func_isnand_in_libm = yes; then
+ ISNAND_LIBM=-lm
+ fi
+ fi
+ if test $gl_cv_func_isnand_no_libm = yes \
+ || test $gl_cv_func_isnand_in_libm = yes; then
+ gl_func_isnand=yes
+ else
+ gl_func_isnand=no
+ HAVE_ISNAND=0
+ fi
+
+
+
+
+
+ if test $HAVE_ISNAND = 0 || test $REPLACE_ISNAN = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isnand.$ac_objext"
+
+
+
+
+ fi
+
+
+
+
+
+ GNULIB_ISNAND=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ISNAND 1" >>confdefs.h
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(double) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnand_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #else
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;
+int
+main ()
+{
+return isnand (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnand_no_libm=yes
+else
+ gl_cv_func_isnand_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_no_libm" >&5
+$as_echo "$gl_cv_func_isnand_no_libm" >&6; }
+
+ gl_func_isnand_no_libm=$gl_cv_func_isnand_no_libm
+ if test $gl_cv_func_isnand_no_libm = yes; then
+
+$as_echo "#define HAVE_ISNAND_IN_LIBC 1" >>confdefs.h
+
+ fi
+
+ if test $gl_func_isnand_no_libm != yes; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isnand.$ac_objext"
+
+
+
+
+ fi
+
+
+ ISNANF_LIBM=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(float) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnanf_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;
+int
+main ()
+{
+return isnanf (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanf_no_libm=yes
+else
+ gl_cv_func_isnanf_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_no_libm" >&5
+$as_echo "$gl_cv_func_isnanf_no_libm" >&6; }
+
+ if test $gl_cv_func_isnanf_no_libm = no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used with libm" >&5
+$as_echo_n "checking whether isnan(float) can be used with libm... " >&6; }
+if ${gl_cv_func_isnanf_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;
+int
+main ()
+{
+return isnanf (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanf_in_libm=yes
+else
+ gl_cv_func_isnanf_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_in_libm" >&5
+$as_echo "$gl_cv_func_isnanf_in_libm" >&6; }
+
+ if test $gl_cv_func_isnanf_in_libm = yes; then
+ ISNANF_LIBM=-lm
+ fi
+ fi
+ if test $gl_cv_func_isnanf_no_libm = yes \
+ || test $gl_cv_func_isnanf_in_libm = yes; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $ISNANF_LIBM"
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) works" >&5
+$as_echo_n "checking whether isnan(float) works... " >&6; }
+if ${gl_cv_func_isnanf_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ irix* | solaris*) gl_cv_func_isnanf_works="guessing no";;
+ *) gl_cv_func_isnanf_works="guessing yes";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanf
+# define isnanf(x) __builtin_isnanf ((float)(x))
+#elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+#endif
+/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
+#ifdef __DECC
+static float
+NaN ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+#else
+# define NaN() (0.0f / 0.0f)
+#endif
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; float value; } memory_float;
+int main()
+{
+ int result = 0;
+
+ if (isnanf (1.0f / 0.0f))
+ result |= 1;
+
+ if (!isnanf (NaN ()))
+ result |= 2;
+
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* The isnanf function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit. */
+ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0)
+ {
+ memory_float m;
+
+ m.value = NaN ();
+ /* Set the bits below the exponent to 01111...111. */
+ m.word[0] &= -1U << FLT_EXPBIT0_BIT;
+ m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1;
+ if (!isnanf (m.value))
+ result |= 4;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isnanf_works=yes
+else
+ gl_cv_func_isnanf_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_works" >&5
+$as_echo "$gl_cv_func_isnanf_works" >&6; }
+
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_isnanf_works" in
+ *yes) gl_func_isnanf=yes ;;
+ *) gl_func_isnanf=no; ISNANF_LIBM= ;;
+ esac
+ else
+ gl_func_isnanf=no
+ fi
+ if test $gl_func_isnanf != yes; then
+ HAVE_ISNANF=0
+ fi
+
+
+
+
+
+ if test $HAVE_ISNANF = 0 || test $REPLACE_ISNAN = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isnanf.$ac_objext"
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ fi
+
+
+
+
+
+ GNULIB_ISNANF=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ISNANF 1" >>confdefs.h
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(float) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnanf_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;
+int
+main ()
+{
+return isnanf (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanf_no_libm=yes
+else
+ gl_cv_func_isnanf_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_no_libm" >&5
+$as_echo "$gl_cv_func_isnanf_no_libm" >&6; }
+
+ if test $gl_cv_func_isnanf_no_libm = yes; then
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) works" >&5
+$as_echo_n "checking whether isnan(float) works... " >&6; }
+if ${gl_cv_func_isnanf_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ irix* | solaris*) gl_cv_func_isnanf_works="guessing no";;
+ *) gl_cv_func_isnanf_works="guessing yes";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanf
+# define isnanf(x) __builtin_isnanf ((float)(x))
+#elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+#endif
+/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
+#ifdef __DECC
+static float
+NaN ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+#else
+# define NaN() (0.0f / 0.0f)
+#endif
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; float value; } memory_float;
+int main()
+{
+ int result = 0;
+
+ if (isnanf (1.0f / 0.0f))
+ result |= 1;
+
+ if (!isnanf (NaN ()))
+ result |= 2;
+
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* The isnanf function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit. */
+ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0)
+ {
+ memory_float m;
+
+ m.value = NaN ();
+ /* Set the bits below the exponent to 01111...111. */
+ m.word[0] &= -1U << FLT_EXPBIT0_BIT;
+ m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1;
+ if (!isnanf (m.value))
+ result |= 4;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isnanf_works=yes
+else
+ gl_cv_func_isnanf_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_works" >&5
+$as_echo "$gl_cv_func_isnanf_works" >&6; }
+
+ fi
+ if test $gl_cv_func_isnanf_no_libm = yes \
+ && { case "$gl_cv_func_isnanf_works" in
+ *yes) true;;
+ *) false;;
+ esac
+ }; then
+ gl_func_isnanf_no_libm=yes
+
+$as_echo "#define HAVE_ISNANF_IN_LIBC 1" >>confdefs.h
+
+ else
+ gl_func_isnanf_no_libm=no
+ fi
+
+ if test $gl_func_isnanf_no_libm != yes; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isnanf.$ac_objext"
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ fi
+
+
+ ISNANL_LIBM=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(long double) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnanl_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;
+int
+main ()
+{
+return isnanl (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanl_no_libm=yes
+else
+ gl_cv_func_isnanl_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_no_libm" >&5
+$as_echo "$gl_cv_func_isnanl_no_libm" >&6; }
+
+ if test $gl_cv_func_isnanl_no_libm = no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used with libm" >&5
+$as_echo_n "checking whether isnan(long double) can be used with libm... " >&6; }
+if ${gl_cv_func_isnanl_in_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;
+int
+main ()
+{
+return isnanl (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanl_in_libm=yes
+else
+ gl_cv_func_isnanl_in_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_in_libm" >&5
+$as_echo "$gl_cv_func_isnanl_in_libm" >&6; }
+
+ if test $gl_cv_func_isnanl_in_libm = yes; then
+ ISNANL_LIBM=-lm
+ fi
+ fi
+ if test $gl_cv_func_isnanl_no_libm = yes \
+ || test $gl_cv_func_isnanl_in_libm = yes; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $ISNANL_LIBM"
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnanl works" >&5
+$as_echo_n "checking whether isnanl works... " >&6; }
+if ${gl_cv_func_isnanl_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_isnanl_works="guessing yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanl
+# define isnanl(x) __builtin_isnanl ((long double)(x))
+#elif defined isnan
+# undef isnanl
+# define isnanl(x) isnan ((long double)(x))
+#endif
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+int main ()
+{
+ int result = 0;
+
+ if (!isnanl (NaNl ()))
+ result |= 1;
+
+ {
+ memory_long_double m;
+ unsigned int i;
+
+ /* The isnanl function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit (since the exponent never extends to
+ bit 31). */
+ m.value = NaNl ();
+ m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ for (i = 0; i < NWORDS; i++)
+ m.word[i] |= 1;
+ if (!isnanl (m.value))
+ result |= 1;
+ }
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ /* isnanl should return something even for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 4;
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 8;
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 16;
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 32;
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 64;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isnanl_works=yes
+else
+ gl_cv_func_isnanl_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_works" >&5
+$as_echo "$gl_cv_func_isnanl_works" >&6; }
+
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_isnanl_works" in
+ *yes) gl_func_isnanl=yes ;;
+ *) gl_func_isnanl=no; ISNANL_LIBM= ;;
+ esac
+ else
+ gl_func_isnanl=no
+ fi
+ if test $gl_func_isnanl != yes; then
+ HAVE_ISNANL=0
+ fi
+
+
+
+
+
+ if test $HAVE_ISNANL = 0 || test $REPLACE_ISNAN = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isnanl.$ac_objext"
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_long_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+$as_echo "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ fi
+
+
+
+
+
+ GNULIB_ISNANL=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ISNANL 1" >>confdefs.h
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used without linking with libm" >&5
+$as_echo_n "checking whether isnan(long double) can be used without linking with libm... " >&6; }
+if ${gl_cv_func_isnanl_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;
+int
+main ()
+{
+return isnanl (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_isnanl_no_libm=yes
+else
+ gl_cv_func_isnanl_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_no_libm" >&5
+$as_echo "$gl_cv_func_isnanl_no_libm" >&6; }
+
+ gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm
+ if test $gl_func_isnanl_no_libm = yes; then
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnanl works" >&5
+$as_echo_n "checking whether isnanl works... " >&6; }
+if ${gl_cv_func_isnanl_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_isnanl_works="guessing yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanl
+# define isnanl(x) __builtin_isnanl ((long double)(x))
+#elif defined isnan
+# undef isnanl
+# define isnanl(x) isnan ((long double)(x))
+#endif
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+int main ()
+{
+ int result = 0;
+
+ if (!isnanl (NaNl ()))
+ result |= 1;
+
+ {
+ memory_long_double m;
+ unsigned int i;
+
+ /* The isnanl function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit (since the exponent never extends to
+ bit 31). */
+ m.value = NaNl ();
+ m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ for (i = 0; i < NWORDS; i++)
+ m.word[i] |= 1;
+ if (!isnanl (m.value))
+ result |= 1;
+ }
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ /* isnanl should return something even for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 4;
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 8;
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 16;
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 32;
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 64;
+ }
+#endif
+
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isnanl_works=yes
+else
+ gl_cv_func_isnanl_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_works" >&5
+$as_echo "$gl_cv_func_isnanl_works" >&6; }
+
+ case "$gl_cv_func_isnanl_works" in
+ *yes) ;;
+ *) gl_func_isnanl_no_libm=no ;;
+ esac
+ fi
+ if test $gl_func_isnanl_no_libm = yes; then
+
+$as_echo "#define HAVE_ISNANL_IN_LIBC 1" >>confdefs.h
+
+ fi
+
+ if test $gl_func_isnanl_no_libm != yes; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isnanl.$ac_objext"
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_long_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+$as_echo "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ fi
+
+
+
ac_fn_c_check_decl "$LINENO" "iswblank" "ac_cv_have_decl_iswblank" "
@@ -38284,6 +42549,271 @@ fi
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_langinfo_h='<'langinfo.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5
+$as_echo_n "checking absolute name of <langinfo.h>... " >&6; }
+if ${gl_cv_next_langinfo_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_langinfo_h = yes; then
+
+
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'langinfo.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_langinfo_h
+ gl_cv_next_langinfo_h='"'$gl_header'"'
+ else
+ gl_cv_next_langinfo_h='<'langinfo.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
+$as_echo "$gl_cv_next_langinfo_h" >&6; }
+ fi
+ NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'langinfo.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_langinfo_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive
+
+
+
+
+
+ HAVE_LANGINFO_CODESET=0
+ HAVE_LANGINFO_T_FMT_AMPM=0
+ HAVE_LANGINFO_ERA=0
+ HAVE_LANGINFO_YESEXPR=0
+
+ if test $ac_cv_header_langinfo_h = yes; then
+ HAVE_LANGINFO_H=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
+$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
+if ${gl_cv_header_langinfo_codeset+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+int a = CODESET;
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_langinfo_codeset=yes
+else
+ gl_cv_header_langinfo_codeset=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
+$as_echo "$gl_cv_header_langinfo_codeset" >&6; }
+ if test $gl_cv_header_langinfo_codeset = yes; then
+ HAVE_LANGINFO_CODESET=1
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5
+$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
+if ${gl_cv_header_langinfo_t_fmt_ampm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+int a = T_FMT_AMPM;
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_langinfo_t_fmt_ampm=yes
+else
+ gl_cv_header_langinfo_t_fmt_ampm=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
+$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
+ if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
+ HAVE_LANGINFO_T_FMT_AMPM=1
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5
+$as_echo_n "checking whether langinfo.h defines ERA... " >&6; }
+if ${gl_cv_header_langinfo_era+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+int a = ERA;
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_langinfo_era=yes
+else
+ gl_cv_header_langinfo_era=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
+$as_echo "$gl_cv_header_langinfo_era" >&6; }
+ if test $gl_cv_header_langinfo_era = yes; then
+ HAVE_LANGINFO_ERA=1
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5
+$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; }
+if ${gl_cv_header_langinfo_yesexpr+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+int a = YESEXPR;
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_langinfo_yesexpr=yes
+else
+ gl_cv_header_langinfo_yesexpr=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
+$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; }
+ if test $gl_cv_header_langinfo_yesexpr = yes; then
+ HAVE_LANGINFO_YESEXPR=1
+ fi
+ else
+ HAVE_LANGINFO_H=0
+ fi
+
+
+
+
+
+
+
+ for gl_func in nl_langinfo; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval \${$as_gl_Symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included libcroco is requested" >&5
$as_echo_n "checking whether included libcroco is requested... " >&6; }
@@ -40670,6 +45200,19 @@ _ACEOF
fi
done
+ if test $ac_cv_func_uselocale = yes; then
+ for ac_func in getlocalename_l
+do :
+ ac_fn_c_check_func "$LINENO" "getlocalename_l" "ac_cv_func_getlocalename_l"
+if test "x$ac_cv_func_getlocalename_l" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_GETLOCALENAME_L 1
+_ACEOF
+
+fi
+done
+
+ fi
@@ -40726,6 +45269,100 @@ _ACEOF
+
+
+
+
+ LOG10_LIBM="$POW_LIBM"
+
+
+
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $LOG10_LIBM"
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether log10 works" >&5
+$as_echo_n "checking whether log10 works... " >&6; }
+if ${gl_cv_func_log10_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ osf*) gl_cv_func_log10_works="guessing no";;
+ *) gl_cv_func_log10_works="guessing yes";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <math.h>
+volatile double x;
+double y;
+int main ()
+{
+ x = -0.0;
+ y = log10 (x);
+ if (!(y + y == y))
+ return 1;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_log10_works=yes
+else
+ gl_cv_func_log10_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_log10_works" >&5
+$as_echo "$gl_cv_func_log10_works" >&6; }
+
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_log10_works" in
+ *yes) ;;
+ *) REPLACE_LOG10=1 ;;
+ esac
+
+
+
+ if test $REPLACE_LOG10 = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS log10.$ac_objext"
+
+ fi
+
+
+
+
+
+ GNULIB_LOG10=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LOG10 1" >>confdefs.h
+
+
+
+
+
+
if test $ac_cv_func_lstat = yes; then
case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
@@ -40812,6 +45449,193 @@ $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_math_h='<'math.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <math.h>" >&5
+$as_echo_n "checking absolute name of <math.h>... " >&6; }
+if ${gl_cv_next_math_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_math_h = yes; then
+
+
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'math.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_math_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_math_h
+ gl_cv_next_math_h='"'$gl_header'"'
+ else
+ gl_cv_next_math_h='<'math.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_math_h" >&5
+$as_echo "$gl_cv_next_math_h" >&6; }
+ fi
+ NEXT_MATH_H=$gl_cv_next_math_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'math.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_math_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_MATH_H=$gl_next_as_first_directive
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NAN macro works" >&5
+$as_echo_n "checking whether NAN macro works... " >&6; }
+if ${gl_cv_header_math_nan_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+int
+main ()
+{
+/* Solaris 10 has a broken definition of NAN. Other platforms
+ fail to provide NAN, or provide it only in C99 mode; this
+ test only needs to fail when NAN is provided but wrong. */
+ float f = 1.0f;
+#ifdef NAN
+ f = NAN;
+#endif
+ return f == 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_math_nan_works=yes
+else
+ gl_cv_header_math_nan_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_nan_works" >&5
+$as_echo "$gl_cv_header_math_nan_works" >&6; }
+ if test $gl_cv_header_math_nan_works = no; then
+ REPLACE_NAN=1
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether HUGE_VAL works" >&5
+$as_echo_n "checking whether HUGE_VAL works... " >&6; }
+if ${gl_cv_header_math_huge_val_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+int
+main ()
+{
+/* Solaris 10 has a broken definition of HUGE_VAL. */
+ double d = HUGE_VAL;
+ return d == 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_math_huge_val_works=yes
+else
+ gl_cv_header_math_huge_val_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_huge_val_works" >&5
+$as_echo "$gl_cv_header_math_huge_val_works" >&6; }
+ if test $gl_cv_header_math_huge_val_works = no; then
+ REPLACE_HUGE_VAL=1
+ fi
+
+
+ for gl_func in acosf acosl asinf asinl atanf atanl cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf expf expl exp2 exp2f exp2l expm1 expm1f expm1l fabsf fabsl floorf floorl fma fmaf fmal fmod fmodf fmodl frexpf frexpl hypotf hypotl ilogb ilogbf ilogbl ldexpf ldexpl log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l logb logbf logbl modf modff modfl powf remainder remainderf remainderl rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl tanf tanl tanhf trunc truncf truncl; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval \${$as_gl_Symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+
+
+
:
@@ -41368,13 +46192,13 @@ else
int
main (void)
{
- return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+ return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
- gl_cv_func_mbrtowc_empty_input=no
-else
gl_cv_func_mbrtowc_empty_input=yes
+else
+ gl_cv_func_mbrtowc_empty_input=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -43215,6 +48039,15 @@ $as_echo "#define GNULIB_TEST_POSIX_SPAWNP 1" >>confdefs.h
+
+
+
+
+ POW_LIBM="$POW_LIBM"
+
+
+
+
ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
"
if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then :
@@ -43248,446 +48081,6 @@ _ACEOF
XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'"
- # Check whether --enable-acl was given.
-if test "${enable_acl+set}" = set; then :
- enableval=$enable_acl;
-else
- enable_acl=auto
-fi
-
-
-
- LIB_ACL=
- use_acl=0
- if test "x$enable_acl" != "xno"; then
- for ac_header in sys/acl.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_acl_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_ACL_H 1
-_ACEOF
-
-fi
-
-done
-
- if test $ac_cv_header_sys_acl_h = yes; then
- ac_save_LIBS=$LIBS
-
- if test $use_acl = 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5
-$as_echo_n "checking for library containing acl_get_file... " >&6; }
-if ${ac_cv_search_acl_get_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char acl_get_file ();
-int
-main ()
-{
-return acl_get_file ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' acl pacl; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_acl_get_file=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_acl_get_file+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_acl_get_file+:} false; then :
-
-else
- ac_cv_search_acl_get_file=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5
-$as_echo "$ac_cv_search_acl_get_file" >&6; }
-ac_res=$ac_cv_search_acl_get_file
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
- if test "$ac_cv_search_acl_get_file" != "none required"; then
- LIB_ACL=$ac_cv_search_acl_get_file
- fi
- for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \
- acl_free acl_from_mode acl_from_text \
- acl_delete_def_file acl_extended_file \
- acl_delete_fd_np acl_delete_file_np \
- acl_copy_ext_native acl_create_entry_np \
- acl_to_short_text acl_free_text
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- # If the acl_get_file bug is detected, don't enable the ACL support.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5
-$as_echo_n "checking for working acl_get_file... " >&6; }
-if ${gl_cv_func_working_acl_get_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- gl_cv_func_working_acl_get_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/acl.h>
- #include <errno.h>
-
-int
-main ()
-{
-if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT)
- return 1;
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if test $cross_compiling = yes; then
- gl_cv_func_working_acl_get_file="guessing yes"
- elif ./conftest$ac_exeext; then
- gl_cv_func_working_acl_get_file=yes
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5
-$as_echo "$gl_cv_func_working_acl_get_file" >&6; }
- if test "$gl_cv_func_working_acl_get_file" != no; then :
- use_acl=1
-fi
-
- if test $use_acl = 1; then
- for ac_header in acl/libacl.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default"
-if test "x$ac_cv_header_acl_libacl_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_ACL_LIBACL_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
- for ac_func in acl_entries
-do :
- ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries"
-if test "x$ac_cv_func_acl_entries" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_ACL_ENTRIES 1
-_ACEOF
-
-else
-
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
-
-fi
-done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_FIRST_ENTRY" >&5
-$as_echo_n "checking for ACL_FIRST_ENTRY... " >&6; }
-if ${gl_cv_acl_ACL_FIRST_ENTRY+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/acl.h>
-int type = ACL_FIRST_ENTRY;
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gl_cv_acl_ACL_FIRST_ENTRY=yes
-else
- gl_cv_acl_ACL_FIRST_ENTRY=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5
-$as_echo "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; }
- if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then
-
-$as_echo "#define HAVE_ACL_FIRST_ENTRY 1" >>confdefs.h
-
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_TYPE_EXTENDED" >&5
-$as_echo_n "checking for ACL_TYPE_EXTENDED... " >&6; }
-if ${gl_cv_acl_ACL_TYPE_EXTENDED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/acl.h>
-int type = ACL_TYPE_EXTENDED;
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gl_cv_acl_ACL_TYPE_EXTENDED=yes
-else
- gl_cv_acl_ACL_TYPE_EXTENDED=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5
-$as_echo "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; }
- if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then
-
-$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h
-
- fi
- else
- LIB_ACL=
- fi
-
-fi
-
- fi
-
- if test $use_acl = 0; then
- for ac_func in facl
-do :
- ac_fn_c_check_func "$LINENO" "facl" "ac_cv_func_facl"
-if test "x$ac_cv_func_facl" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_FACL 1
-_ACEOF
-
-fi
-done
-
- if test $ac_cv_func_facl = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_trivial" >&5
-$as_echo_n "checking for library containing acl_trivial... " >&6; }
-if ${ac_cv_search_acl_trivial+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char acl_trivial ();
-int
-main ()
-{
-return acl_trivial ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' sec; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_acl_trivial=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_acl_trivial+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_acl_trivial+:} false; then :
-
-else
- ac_cv_search_acl_trivial=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5
-$as_echo "$ac_cv_search_acl_trivial" >&6; }
-ac_res=$ac_cv_search_acl_trivial
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
- if test "$ac_cv_search_acl_trivial" != "none required"; then
- LIB_ACL=$ac_cv_search_acl_trivial
- fi
-
-fi
-
- for ac_func in acl_trivial
-do :
- ac_fn_c_check_func "$LINENO" "acl_trivial" "ac_cv_func_acl_trivial"
-if test "x$ac_cv_func_acl_trivial" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_ACL_TRIVIAL 1
-_ACEOF
-
-fi
-done
-
- use_acl=1
- fi
- fi
-
- if test $use_acl = 0; then
- for ac_func in getacl
-do :
- ac_fn_c_check_func "$LINENO" "getacl" "ac_cv_func_getacl"
-if test "x$ac_cv_func_getacl" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GETACL 1
-_ACEOF
-
-fi
-done
-
- if test $ac_cv_func_getacl = yes; then
- use_acl=1
- fi
- for ac_header in aclv.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "aclv.h" "ac_cv_header_aclv_h" "#include <sys/types.h>
-"
-if test "x$ac_cv_header_aclv_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_ACLV_H 1
-_ACEOF
-
-fi
-
-done
-
- fi
-
- if test $use_acl = 0; then
- for ac_func in aclx_get
-do :
- ac_fn_c_check_func "$LINENO" "aclx_get" "ac_cv_func_aclx_get"
-if test "x$ac_cv_func_aclx_get" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_ACLX_GET 1
-_ACEOF
-
-fi
-done
-
- if test $ac_cv_func_aclx_get = yes; then
- use_acl=1
- fi
- fi
-
- if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then
- for ac_func in statacl
-do :
- ac_fn_c_check_func "$LINENO" "statacl" "ac_cv_func_statacl"
-if test "x$ac_cv_func_statacl" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_STATACL 1
-_ACEOF
-
-fi
-done
-
- if test $ac_cv_func_statacl = yes; then
- use_acl=1
- fi
- fi
-
- if test $use_acl = 0; then
- for ac_func in aclsort
-do :
- ac_fn_c_check_func "$LINENO" "aclsort" "ac_cv_func_aclsort"
-if test "x$ac_cv_func_aclsort" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_ACLSORT 1
-_ACEOF
-
-fi
-done
-
- if test $ac_cv_func_aclsort = yes; then
- use_acl=1
- fi
- fi
-
- LIBS=$ac_save_LIBS
- fi
- if test "x$enable_acl$use_acl" = "xyes0"; then
- as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5
- elif test "x$enable_acl$use_acl" = "xauto0"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libacl development library was not found or not usable." >&5
-$as_echo "$as_me: WARNING: libacl development library was not found or not usable." >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gettext-tools will be built without ACL support." >&5
-$as_echo "$as_me: WARNING: gettext-tools will be built without ACL support." >&2;}
- fi
- fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define USE_ACL $use_acl
-_ACEOF
-
- USE_ACL=$use_acl
-
-
-
:
@@ -44355,7 +48748,17 @@ $as_echo "$gl_cv_next_sched_h" >&6; }
fi
- ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include <sched.h>
+ if test "$HAVE_SCHED_H" = 1; then
+ ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include <sched.h>
+"
+if test "x$ac_cv_type_struct_sched_param" = xyes; then :
+ HAVE_STRUCT_SCHED_PARAM=1
+else
+ HAVE_STRUCT_SCHED_PARAM=0
+fi
+
+ else
+ ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include <spawn.h>
"
if test "x$ac_cv_type_struct_sched_param" = xyes; then :
HAVE_STRUCT_SCHED_PARAM=1
@@ -44363,6 +48766,7 @@ else
HAVE_STRUCT_SCHED_PARAM=0
fi
+ fi
@@ -44798,6 +49202,764 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signbit macro" >&5
+$as_echo_n "checking for signbit macro... " >&6; }
+if ${gl_cv_func_signbit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_signbit="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_signbit="guessing no" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <math.h>
+/* If signbit is defined as a function, don't use it, since calling it for
+ 'float' or 'long double' arguments would involve conversions.
+ If signbit is not declared at all but exists as a library function, don't
+ use it, since the prototype may not match.
+ If signbit is not declared at all but exists as a compiler built-in, don't
+ use it, since it's preferable to use __builtin_signbit* (no warnings,
+ no conversions). */
+#ifndef signbit
+# error "signbit should be a macro"
+#endif
+#include <string.h>
+
+/* Global variables.
+ Needed because GCC 4 constant-folds __builtin_signbitl (literal)
+ but cannot constant-fold __builtin_signbitl (variable). */
+float vf;
+double vd;
+long double vl;
+int main ()
+{
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
+ So we use -p0f and -p0d instead. */
+float p0f = 0.0f;
+float m0f = -p0f;
+double p0d = 0.0;
+double m0d = -p0d;
+/* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
+ So we use another constant expression instead.
+ But that expression does not work on other platforms, such as when
+ cross-compiling to PowerPC on Mac OS X 10.5. */
+long double p0l = 0.0L;
+#if defined __hpux || defined __sgi
+long double m0l = -LDBL_MIN * LDBL_MIN;
+#else
+long double m0l = -p0l;
+#endif
+ int result = 0;
+ if (signbit (vf)) /* link check */
+ vf++;
+ {
+ float plus_inf = 1.0f / p0f;
+ float minus_inf = -1.0f / p0f;
+ if (!(!signbit (255.0f)
+ && signbit (-255.0f)
+ && !signbit (p0f)
+ && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f))
+ && !signbit (plus_inf)
+ && signbit (minus_inf)))
+ result |= 1;
+ }
+ if (signbit (vd)) /* link check */
+ vd++;
+ {
+ double plus_inf = 1.0 / p0d;
+ double minus_inf = -1.0 / p0d;
+ if (!(!signbit (255.0)
+ && signbit (-255.0)
+ && !signbit (p0d)
+ && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d))
+ && !signbit (plus_inf)
+ && signbit (minus_inf)))
+ result |= 2;
+ }
+ if (signbit (vl)) /* link check */
+ vl++;
+ {
+ long double plus_inf = 1.0L / p0l;
+ long double minus_inf = -1.0L / p0l;
+ if (signbit (255.0L))
+ result |= 4;
+ if (!signbit (-255.0L))
+ result |= 4;
+ if (signbit (p0l))
+ result |= 8;
+ if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)))
+ result |= 16;
+ if (signbit (plus_inf))
+ result |= 32;
+ if (!signbit (minus_inf))
+ result |= 64;
+ }
+ return result;
+}
+
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_signbit=yes
+else
+ gl_cv_func_signbit=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit" >&5
+$as_echo "$gl_cv_func_signbit" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signbit compiler built-ins" >&5
+$as_echo_n "checking for signbit compiler built-ins... " >&6; }
+if ${gl_cv_func_signbit_gcc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_signbit_gcc="guessing no" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if __GNUC__ >= 4
+# define signbit(x) \
+ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
+ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
+ __builtin_signbitf (x))
+#else
+# error "signbit should be three compiler built-ins"
+#endif
+#include <string.h>
+
+/* Global variables.
+ Needed because GCC 4 constant-folds __builtin_signbitl (literal)
+ but cannot constant-fold __builtin_signbitl (variable). */
+float vf;
+double vd;
+long double vl;
+int main ()
+{
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
+ So we use -p0f and -p0d instead. */
+float p0f = 0.0f;
+float m0f = -p0f;
+double p0d = 0.0;
+double m0d = -p0d;
+/* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
+ So we use another constant expression instead.
+ But that expression does not work on other platforms, such as when
+ cross-compiling to PowerPC on Mac OS X 10.5. */
+long double p0l = 0.0L;
+#if defined __hpux || defined __sgi
+long double m0l = -LDBL_MIN * LDBL_MIN;
+#else
+long double m0l = -p0l;
+#endif
+ int result = 0;
+ if (signbit (vf)) /* link check */
+ vf++;
+ {
+ float plus_inf = 1.0f / p0f;
+ float minus_inf = -1.0f / p0f;
+ if (!(!signbit (255.0f)
+ && signbit (-255.0f)
+ && !signbit (p0f)
+ && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f))
+ && !signbit (plus_inf)
+ && signbit (minus_inf)))
+ result |= 1;
+ }
+ if (signbit (vd)) /* link check */
+ vd++;
+ {
+ double plus_inf = 1.0 / p0d;
+ double minus_inf = -1.0 / p0d;
+ if (!(!signbit (255.0)
+ && signbit (-255.0)
+ && !signbit (p0d)
+ && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d))
+ && !signbit (plus_inf)
+ && signbit (minus_inf)))
+ result |= 2;
+ }
+ if (signbit (vl)) /* link check */
+ vl++;
+ {
+ long double plus_inf = 1.0L / p0l;
+ long double minus_inf = -1.0L / p0l;
+ if (signbit (255.0L))
+ result |= 4;
+ if (!signbit (-255.0L))
+ result |= 4;
+ if (signbit (p0l))
+ result |= 8;
+ if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)))
+ result |= 16;
+ if (signbit (plus_inf))
+ result |= 32;
+ if (!signbit (minus_inf))
+ result |= 64;
+ }
+ return result;
+}
+
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_signbit_gcc=yes
+else
+ gl_cv_func_signbit_gcc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit_gcc" >&5
+$as_echo "$gl_cv_func_signbit_gcc" >&6; }
+ case "$gl_cv_func_signbit_gcc" in
+ *yes)
+ REPLACE_SIGNBIT_USING_GCC=1
+ ;;
+ *)
+ case "$gl_cv_func_signbit" in
+ *yes) ;;
+ *)
+ REPLACE_SIGNBIT=1
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'float'" >&5
+$as_echo_n "checking where to find the sign bit in a 'float'... " >&6; }
+if ${gl_cv_cc_float_signbit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_float_signbit="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stddef.h>
+#include <stdio.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; }
+ memory_float;
+static memory_float plus = { 1.0f };
+static memory_float minus = { -1.0f };
+int main ()
+{
+ size_t j, k, i;
+ unsigned int m;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ /* Find the different bit. */
+ k = 0; m = 0;
+ for (j = 0; j < NWORDS; j++)
+ {
+ unsigned int x = plus.word[j] ^ minus.word[j];
+ if ((x & (x - 1)) || (x && m))
+ {
+ /* More than one bit difference. */
+ fprintf (fp, "unknown");
+ return 2;
+ }
+ if (x)
+ {
+ k = j;
+ m = x;
+ }
+ }
+ if (m == 0)
+ {
+ /* No difference. */
+ fprintf (fp, "unknown");
+ return 3;
+ }
+ /* Now m = plus.word[k] ^ ~minus.word[k]. */
+ if (plus.word[k] & ~minus.word[k])
+ {
+ /* Oh? The sign bit is set in the positive and cleared in the negative
+ numbers? */
+ fprintf (fp, "unknown");
+ return 4;
+ }
+ for (i = 0; ; i++)
+ if ((m >> i) & 1)
+ break;
+ fprintf (fp, "word %d bit %d", (int) k, (int) i);
+ if (fclose (fp) != 0)
+ return 5;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_signbit=`cat conftest.out`
+else
+ gl_cv_cc_float_signbit="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_signbit" >&5
+$as_echo "$gl_cv_cc_float_signbit" >&6; }
+ case "$gl_cv_cc_float_signbit" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_SIGNBIT_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_SIGNBIT_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'double'" >&5
+$as_echo_n "checking where to find the sign bit in a 'double'... " >&6; }
+if ${gl_cv_cc_double_signbit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_double_signbit="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stddef.h>
+#include <stdio.h>
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; }
+ memory_float;
+static memory_float plus = { 1.0 };
+static memory_float minus = { -1.0 };
+int main ()
+{
+ size_t j, k, i;
+ unsigned int m;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ /* Find the different bit. */
+ k = 0; m = 0;
+ for (j = 0; j < NWORDS; j++)
+ {
+ unsigned int x = plus.word[j] ^ minus.word[j];
+ if ((x & (x - 1)) || (x && m))
+ {
+ /* More than one bit difference. */
+ fprintf (fp, "unknown");
+ return 2;
+ }
+ if (x)
+ {
+ k = j;
+ m = x;
+ }
+ }
+ if (m == 0)
+ {
+ /* No difference. */
+ fprintf (fp, "unknown");
+ return 3;
+ }
+ /* Now m = plus.word[k] ^ ~minus.word[k]. */
+ if (plus.word[k] & ~minus.word[k])
+ {
+ /* Oh? The sign bit is set in the positive and cleared in the negative
+ numbers? */
+ fprintf (fp, "unknown");
+ return 4;
+ }
+ for (i = 0; ; i++)
+ if ((m >> i) & 1)
+ break;
+ fprintf (fp, "word %d bit %d", (int) k, (int) i);
+ if (fclose (fp) != 0)
+ return 5;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_double_signbit=`cat conftest.out`
+else
+ gl_cv_cc_double_signbit="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_signbit" >&5
+$as_echo "$gl_cv_cc_double_signbit" >&6; }
+ case "$gl_cv_cc_double_signbit" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_SIGNBIT_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_SIGNBIT_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'long double'" >&5
+$as_echo_n "checking where to find the sign bit in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_signbit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_signbit="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stddef.h>
+#include <stdio.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_float;
+static memory_float plus = { 1.0L };
+static memory_float minus = { -1.0L };
+int main ()
+{
+ size_t j, k, i;
+ unsigned int m;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ /* Find the different bit. */
+ k = 0; m = 0;
+ for (j = 0; j < NWORDS; j++)
+ {
+ unsigned int x = plus.word[j] ^ minus.word[j];
+ if ((x & (x - 1)) || (x && m))
+ {
+ /* More than one bit difference. */
+ fprintf (fp, "unknown");
+ return 2;
+ }
+ if (x)
+ {
+ k = j;
+ m = x;
+ }
+ }
+ if (m == 0)
+ {
+ /* No difference. */
+ fprintf (fp, "unknown");
+ return 3;
+ }
+ /* Now m = plus.word[k] ^ ~minus.word[k]. */
+ if (plus.word[k] & ~minus.word[k])
+ {
+ /* Oh? The sign bit is set in the positive and cleared in the negative
+ numbers? */
+ fprintf (fp, "unknown");
+ return 4;
+ }
+ for (i = 0; ; i++)
+ if ((m >> i) & 1)
+ break;
+ fprintf (fp, "word %d bit %d", (int) k, (int) i);
+ if (fclose (fp) != 0)
+ return 5;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_signbit=`cat conftest.out`
+else
+ gl_cv_cc_long_double_signbit="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_signbit" >&5
+$as_echo "$gl_cv_cc_long_double_signbit" >&6; }
+ case "$gl_cv_cc_long_double_signbit" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_SIGNBIT_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_SIGNBIT_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ if test "$gl_cv_cc_float_signbit" = unknown; then
+ ac_fn_c_check_decl "$LINENO" "copysignf" "ac_cv_have_decl_copysignf" "#include <math.h>
+"
+if test "x$ac_cv_have_decl_copysignf" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_COPYSIGNF $ac_have_decl
+_ACEOF
+
+ if test "$ac_cv_have_decl_copysignf" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysignf can be used without linking with libm" >&5
+$as_echo_n "checking whether copysignf can be used without linking with libm... " >&6; }
+if ${gl_cv_func_copysignf_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ float x, y;
+int
+main ()
+{
+return copysignf (x, y) < 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_copysignf_no_libm=yes
+else
+ gl_cv_func_copysignf_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignf_no_libm" >&5
+$as_echo "$gl_cv_func_copysignf_no_libm" >&6; }
+ if test $gl_cv_func_copysignf_no_libm = yes; then
+
+$as_echo "#define HAVE_COPYSIGNF_IN_LIBC 1" >>confdefs.h
+
+ fi
+ fi
+ fi
+ if test "$gl_cv_cc_double_signbit" = unknown; then
+ ac_fn_c_check_decl "$LINENO" "copysign" "ac_cv_have_decl_copysign" "#include <math.h>
+"
+if test "x$ac_cv_have_decl_copysign" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_COPYSIGN $ac_have_decl
+_ACEOF
+
+ if test "$ac_cv_have_decl_copysign" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysign can be used without linking with libm" >&5
+$as_echo_n "checking whether copysign can be used without linking with libm... " >&6; }
+if ${gl_cv_func_copysign_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ double x, y;
+int
+main ()
+{
+return copysign (x, y) < 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_copysign_no_libm=yes
+else
+ gl_cv_func_copysign_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysign_no_libm" >&5
+$as_echo "$gl_cv_func_copysign_no_libm" >&6; }
+ if test $gl_cv_func_copysign_no_libm = yes; then
+
+$as_echo "#define HAVE_COPYSIGN_IN_LIBC 1" >>confdefs.h
+
+ fi
+ fi
+ fi
+ if test "$gl_cv_cc_long_double_signbit" = unknown; then
+ ac_fn_c_check_decl "$LINENO" "copysignl" "ac_cv_have_decl_copysignl" "#include <math.h>
+"
+if test "x$ac_cv_have_decl_copysignl" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_COPYSIGNL $ac_have_decl
+_ACEOF
+
+ if test "$ac_cv_have_decl_copysignl" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysignl can be used without linking with libm" >&5
+$as_echo_n "checking whether copysignl can be used without linking with libm... " >&6; }
+if ${gl_cv_func_copysignl_no_libm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ long double x, y;
+int
+main ()
+{
+return copysignl (x, y) < 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func_copysignl_no_libm=yes
+else
+ gl_cv_func_copysignl_no_libm=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignl_no_libm" >&5
+$as_echo "$gl_cv_func_copysignl_no_libm" >&6; }
+ if test $gl_cv_func_copysignl_no_libm = yes; then
+
+$as_echo "#define HAVE_COPYSIGNL_IN_LIBC 1" >>confdefs.h
+
+ fi
+ fi
+ fi
+ ;;
+ esac
+ ;;
+ esac
+
+ if test $REPLACE_SIGNBIT = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS signbitf.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS signbitd.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS signbitl.$ac_objext"
+
+ fi
+
+
+
+
+
+ GNULIB_SIGNBIT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SIGNBIT 1" >>confdefs.h
+
+
+
+
+
@@ -45677,6 +50839,15 @@ fi
STDDEF_H=
+ ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
+
+"
+if test "x$ac_cv_type_max_align_t" = xyes; then :
+
+else
+ HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+fi
+
if test $gt_cv_c_wchar_t = no; then
HAVE_WCHAR_T=0
STDDEF_H=stddef.h
@@ -45806,6 +50977,8 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
+
+
if test $gl_cv_have_include_next = yes; then
gl_cv_next_stdio_h='<'stdio.h'>'
else
@@ -45870,6 +51043,48 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5
+$as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; }
+if ${gl_cv_func_printf_attribute_flavor+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define __STDC_FORMAT_MACROS 1
+ #include <stdio.h>
+ #include <inttypes.h>
+ /* For non-mingw systems, compilation will trivially succeed.
+ For mingw, compilation will succeed for older mingw (system
+ printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+ #endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_printf_attribute_flavor=system
+else
+ gl_cv_func_printf_attribute_flavor=gnu
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5
+$as_echo "$gl_cv_func_printf_attribute_flavor" >&6; }
+ if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+
+$as_echo "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h
+
+ fi
+
GNULIB_FSCANF=1
@@ -47542,7 +52757,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -47608,6 +52823,63 @@ fi
}
}; then
+ LIBUNISTRING_UNICTYPE_H='unictype.h'
+ else
+ LIBUNISTRING_UNICTYPE_H=
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE=
+fi
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
LIBUNISTRING_UNILBRK_H='unilbrk.h'
else
LIBUNISTRING_UNILBRK_H=
@@ -47626,7 +52898,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -47655,7 +52927,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -47684,7 +52956,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -47713,7 +52985,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 5
}
}
}
@@ -47740,7 +53012,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -47917,7 +53189,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 2
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -48211,7 +53483,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -48238,7 +53510,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -48265,7 +53537,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -49636,7 +54908,6 @@ done
-
if test $ac_cv_func_btowc = no; then
HAVE_BTOWC=0
else
@@ -50324,6 +55595,122 @@ $as_echo "$gt_cv_locale_tr_utf8" >&6; }
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_ctype_h='<'ctype.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <ctype.h>" >&5
+$as_echo_n "checking absolute name of <ctype.h>... " >&6; }
+if ${gl_cv_next_ctype_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'ctype.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_ctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_ctype_h
+ gl_cv_next_ctype_h='"'$gl_header'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_ctype_h" >&5
+$as_echo "$gl_cv_next_ctype_h" >&6; }
+ fi
+ NEXT_CTYPE_H=$gl_cv_next_ctype_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'ctype.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_ctype_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_CTYPE_H=$gl_next_as_first_directive
+
+
+
+
+
+
+ for gl_func in isblank; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval \${$as_gl_Symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
REPLACE_DUP=1
fi
@@ -50452,6 +55839,53 @@ $as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h
+ if test "$enable_acl" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getxattr with XATTR_NAME_POSIX_ACL macros" >&5
+$as_echo_n "checking for getxattr with XATTR_NAME_POSIX_ACL macros... " >&6; }
+if ${gl_cv_getxattr_with_posix_acls+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gl_cv_getxattr_with_posix_acls=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/xattr.h>
+ #include <linux/xattr.h>
+
+int
+main ()
+{
+ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0);
+ ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0);
+ return a < 0 || b < 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_getxattr_with_posix_acls=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_getxattr_with_posix_acls" >&5
+$as_echo "$gl_cv_getxattr_with_posix_acls" >&6; }
+ fi
+ if test "$gl_cv_getxattr_with_posix_acls" = yes; then
+ LIB_HAS_ACL=
+
+$as_echo "#define GETXATTR_WITH_POSIX_ACLS 1" >>confdefs.h
+
+ else
+ gl_need_lib_has_acl=1
+ LIB_HAS_ACL=$LIB_ACL
+ fi
+
+
+
+
+
if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then
REPLACE_FTELL=1
@@ -51083,6 +56517,2282 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
+$as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
+if ${gl_cv_cc_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined arm || defined __arm || defined __arm__
+ mixed_endianness
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "mixed_endianness" >/dev/null 2>&1; then :
+ gl_cv_cc_double_expbit0="unknown"
+else
+
+ :
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+:
+ case $ac_cv_c_bigendian in #(
+ yes)
+ gl_cv_cc_double_expbit0="word 0 bit 20";; #(
+ no)
+ gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ gl_cv_cc_double_expbit0="unknown" ;;
+ esac
+
+
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+ memory_double m;
+ size_t i;
+ /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
+ memset (&m, 0, sizeof (memory_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25);
+ add_to_ored_words (0.5);
+ add_to_ored_words (1.0);
+ add_to_ored_words (2.0);
+ add_to_ored_words (4.0);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
+$as_echo "$gl_cv_cc_double_expbit0" >&6; }
+ case "$gl_cv_cc_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_long_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+$as_echo "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
+$as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
+if ${gl_cv_cc_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined arm || defined __arm || defined __arm__
+ mixed_endianness
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "mixed_endianness" >/dev/null 2>&1; then :
+ gl_cv_cc_double_expbit0="unknown"
+else
+
+ :
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+:
+ case $ac_cv_c_bigendian in #(
+ yes)
+ gl_cv_cc_double_expbit0="word 0 bit 20";; #(
+ no)
+ gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ gl_cv_cc_double_expbit0="unknown" ;;
+ esac
+
+
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+ memory_double m;
+ size_t i;
+ /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
+ memset (&m, 0, sizeof (memory_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25);
+ add_to_ored_words (0.5);
+ add_to_ored_words (1.0);
+ add_to_ored_words (2.0);
+ add_to_ored_words (4.0);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
+$as_echo "$gl_cv_cc_double_expbit0" >&6; }
+ case "$gl_cv_cc_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_long_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+$as_echo "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
+$as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
+if ${gl_cv_cc_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined arm || defined __arm || defined __arm__
+ mixed_endianness
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "mixed_endianness" >/dev/null 2>&1; then :
+ gl_cv_cc_double_expbit0="unknown"
+else
+
+ :
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+:
+ case $ac_cv_c_bigendian in #(
+ yes)
+ gl_cv_cc_double_expbit0="word 0 bit 20";; #(
+ no)
+ gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ gl_cv_cc_double_expbit0="unknown" ;;
+ esac
+
+
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+ memory_double m;
+ size_t i;
+ /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
+ memset (&m, 0, sizeof (memory_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25);
+ add_to_ored_words (0.5);
+ add_to_ored_words (1.0);
+ add_to_ored_words (2.0);
+ add_to_ored_words (4.0);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
+$as_echo "$gl_cv_cc_double_expbit0" >&6; }
+ case "$gl_cv_cc_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
+$as_echo_n "checking where to find the exponent in a 'double'... " >&6; }
+if ${gl_cv_cc_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined arm || defined __arm || defined __arm__
+ mixed_endianness
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "mixed_endianness" >/dev/null 2>&1; then :
+ gl_cv_cc_double_expbit0="unknown"
+else
+
+ :
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+:
+ case $ac_cv_c_bigendian in #(
+ yes)
+ gl_cv_cc_double_expbit0="word 0 bit 20";; #(
+ no)
+ gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ gl_cv_cc_double_expbit0="unknown" ;;
+ esac
+
+
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+ memory_double m;
+ size_t i;
+ /* Clear it first, in case sizeof (double) < sizeof (memory_double). */
+ memset (&m, 0, sizeof (memory_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25);
+ add_to_ored_words (0.5);
+ add_to_ored_words (1.0);
+ add_to_ored_words (2.0);
+ add_to_ored_words (4.0);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
+$as_echo "$gl_cv_cc_double_expbit0" >&6; }
+ case "$gl_cv_cc_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5
+$as_echo_n "checking where to find the exponent in a 'float'... " >&6; }
+if ${gl_cv_cc_float_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ gl_cv_cc_float_expbit0="word 0 bit 23"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_float_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_float_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5
+$as_echo "$gl_cv_cc_float_expbit0" >&6; }
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define FLT_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_long_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+$as_echo "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5
+$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; }
+if ${gl_cv_cc_long_double_expbit0+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+
+ gl_cv_cc_long_double_expbit0="unknown"
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_cc_long_double_expbit0=`cat conftest.out`
+else
+ gl_cv_cc_long_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.out
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5
+$as_echo "$gl_cv_cc_long_double_expbit0" >&6; }
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_WORD $word
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define LDBL_EXPBIT0_BIT $bit
+_ACEOF
+
+ ;;
+ esac
+
+
+
@@ -53571,6 +61281,9 @@ $as_echo "$gt_cv_locale_zh_CN" >&6; }
+
+
+
ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include <unistd.h>
"
if test "x$ac_cv_have_decl_sleep" = xyes; then :
@@ -53690,6 +61403,78 @@ $as_echo "#define GNULIB_TEST_SLEEP 1" >>confdefs.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5
+$as_echo_n "checking for working stdalign.h... " >&6; }
+if ${gl_cv_header_working_stdalign_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdalign.h>
+ #include <stddef.h>
+
+ /* Test that alignof yields a result consistent with offsetof.
+ This catches GCC bug 52023
+ <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
+ #ifdef __cplusplus
+ template <class t> struct alignof_helper { char a; t b; };
+ # define ao(type) offsetof (alignof_helper<type>, b)
+ #else
+ # define ao(type) offsetof (struct { char a; type b; }, b)
+ #endif
+ char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
+ char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
+ char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
+
+ /* Test _Alignas only on platforms where gnulib can help. */
+ #if \
+ ((defined __cplusplus && 201103 <= __cplusplus) \
+ || (defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__) \
+ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+ || __ICC || 0x5110 <= __SUNPRO_C \
+ || 1300 <= _MSC_VER)
+ struct alignas_test { char c; char alignas (8) alignas_8; };
+ char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
+ ? 1 : -1];
+ #endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_working_stdalign_h=yes
+else
+ gl_cv_header_working_stdalign_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5
+$as_echo "$gl_cv_header_working_stdalign_h" >&6; }
+
+ if test $gl_cv_header_working_stdalign_h = yes; then
+ STDALIGN_H=''
+ else
+ STDALIGN_H='stdalign.h'
+ fi
+
+
+ if test -n "$STDALIGN_H"; then
+ GL_GENERATE_STDALIGN_H_TRUE=
+ GL_GENERATE_STDALIGN_H_FALSE='#'
+else
+ GL_GENERATE_STDALIGN_H_TRUE='#'
+ GL_GENERATE_STDALIGN_H_FALSE=
+fi
+
+
+
@@ -55223,13 +63008,6 @@ fi
- GNULIB_NL_LANGINFO=0;
- HAVE_NL_LANGINFO=1;
- REPLACE_NL_LANGINFO=0;
-
-
-
-
@@ -58788,13 +66566,13 @@ else
int
main (void)
{
- return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+ return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
- gl_cv_func_mbrtowc_empty_input=no
-else
gl_cv_func_mbrtowc_empty_input=yes
+else
+ gl_cv_func_mbrtowc_empty_input=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -60366,6 +68144,15 @@ fi
STDDEF_H=
+ ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
+
+"
+if test "x$ac_cv_type_max_align_t" = xyes; then :
+
+else
+ HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+fi
+
if test $gt_cv_c_wchar_t = no; then
HAVE_WCHAR_T=0
STDDEF_H=stddef.h
@@ -60495,6 +68282,8 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
+
+
if test $gl_cv_have_include_next = yes; then
gl_cv_next_stdio_h='<'stdio.h'>'
else
@@ -60559,6 +68348,48 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5
+$as_echo_n "checking which flavor of printf attribute matches inttypes macros... " >&6; }
+if ${gl_cv_func_printf_attribute_flavor+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define __STDC_FORMAT_MACROS 1
+ #include <stdio.h>
+ #include <inttypes.h>
+ /* For non-mingw systems, compilation will trivially succeed.
+ For mingw, compilation will succeed for older mingw (system
+ printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+ #endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_printf_attribute_flavor=system
+else
+ gl_cv_func_printf_attribute_flavor=gnu
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5
+$as_echo "$gl_cv_func_printf_attribute_flavor" >&6; }
+ if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+
+$as_echo "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h
+
+ fi
+
GNULIB_FSCANF=1
@@ -60829,6 +68660,140 @@ $as_echo "#define GNULIB_TEST_STPCPY 1" >>confdefs.h
+
+
+
+
+
+
+ if test $ac_cv_func_stpncpy = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stpncpy" >&5
+$as_echo_n "checking for working stpncpy... " >&6; }
+if ${gl_cv_func_stpncpy+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ Thanks for using GNU
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Thanks for using GNU" >/dev/null 2>&1; then :
+ gl_cv_func_stpncpy="guessing yes"
+else
+ gl_cv_func_stpncpy="guessing no"
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <string.h> /* for strcpy */
+/* The stpncpy prototype is missing in <string.h> on AIX 4. */
+#if !HAVE_DECL_STPNCPY
+extern
+# ifdef __cplusplus
+"C"
+# endif
+char *stpncpy (char *dest, const char *src, size_t n);
+#endif
+int main ()
+{
+ int result = 0;
+ const char *src = "Hello";
+ char dest[10];
+ /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+1 here. */
+ {
+ strcpy (dest, "\377\377\377\377\377\377");
+ if (stpncpy (dest, src, 2) != dest + 2)
+ result |= 1;
+ }
+ /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+4 here. */
+ {
+ strcpy (dest, "\377\377\377\377\377\377");
+ if (stpncpy (dest, src, 5) != dest + 5)
+ result |= 2;
+ }
+ /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+6 here. */
+ {
+ strcpy (dest, "\377\377\377\377\377\377");
+ if (stpncpy (dest, src, 7) != dest + 5)
+ result |= 4;
+ }
+ return result;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_stpncpy=yes
+else
+ gl_cv_func_stpncpy=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stpncpy" >&5
+$as_echo "$gl_cv_func_stpncpy" >&6; }
+ case "$gl_cv_func_stpncpy" in
+ *yes)
+
+$as_echo "#define HAVE_STPNCPY 1" >>confdefs.h
+
+ ;;
+ *)
+ REPLACE_STPNCPY=1
+ ;;
+ esac
+ else
+ HAVE_STPNCPY=0
+ fi
+
+ if test $HAVE_STPNCPY = 0 || test $REPLACE_STPNCPY = 1; then
+
+
+
+
+
+
+
+
+ gtpo_LIBOBJS="$gtpo_LIBOBJS stpncpy.$ac_objext"
+
+
+ :
+
+ fi
+
+
+
+
+
+ GNULIB_STPNCPY=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_STPNCPY 1" >>confdefs.h
+
+
+
+
+
+
+
for ac_func in strchrnul
do :
ac_fn_c_check_func "$LINENO" "strchrnul" "ac_cv_func_strchrnul"
@@ -61469,7 +69434,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -61535,6 +69500,93 @@ fi
}
}; then
+ LIBUNISTRING_UNICTYPE_H='unictype.h'
+ else
+ LIBUNISTRING_UNICTYPE_H=
+ fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_FALSE=
+fi
+
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE=
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE='#'
+ LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE=
+fi
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
LIBUNISTRING_UNILBRK_H='unilbrk.h'
else
LIBUNISTRING_UNILBRK_H=
@@ -61553,7 +69605,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -61582,7 +69634,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -61611,7 +69663,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -61785,7 +69837,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 2
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -62024,6 +70076,35 @@ fi
}
}; then
+ LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_FALSE=
+fi
+
+
+
+
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE=
LIBUNISTRING_COMPILE_UNISTR_U8_PREV_FALSE='#'
else
@@ -62034,6 +70115,35 @@ fi
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+
+
+
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_FALSE=
+fi
+
+
+
+
cat >>confdefs.h <<_ACEOF
#define GNULIB_UNISTR_U8_UCTOMB 1
_ACEOF
@@ -62079,7 +70189,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -62106,7 +70216,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
}
}
}
@@ -62133,7 +70243,7 @@ fi
|| { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
&& { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
|| { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
}
}
}
@@ -63909,570 +72019,6 @@ fi
-case "$host_os" in
- linux*)
-
-$as_echo "#define DYNLOAD_LIBEXPAT 1" >>confdefs.h
-
- LIBEXPAT="-ldl"
- LTLIBEXPAT="-ldl"
-
-
- ;;
- *)
-
-
-
-
-
-
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-# Check whether --with-libexpat-prefix was given.
-if test "${with_libexpat_prefix+set}" = set; then :
- withval=$with_libexpat_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- fi
- fi
-
-fi
-
- LIBEXPAT=
- LTLIBEXPAT=
- INCEXPAT=
- LIBEXPAT_PREFIX=
- HAVE_LIBEXPAT=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='expat '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBEXPAT; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$acl_hardcode_direct" = yes; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBEXPAT; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
- else
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_a"
- else
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = 'expat'; then
- LIBEXPAT_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = 'expat'; then
- LIBEXPAT_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCEXPAT; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCEXPAT="${INCEXPAT}${INCEXPAT:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBEXPAT; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBEXPAT; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$dep"
- LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-l$name"
- LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
-
- ac_save_CPPFLAGS="$CPPFLAGS"
-
- for element in $INCEXPAT; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libexpat" >&5
-$as_echo_n "checking for libexpat... " >&6; }
-if ${ac_cv_libexpat+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ac_save_LIBS="$LIBS"
- case " $LIBEXPAT" in
- *" -l"*) LIBS="$LIBS $LIBEXPAT" ;;
- *) LIBS="$LIBEXPAT $LIBS" ;;
- esac
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <expat.h>
-int
-main ()
-{
-XML_ExpatVersion();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_libexpat=yes
-else
- ac_cv_libexpat='no'
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$ac_save_LIBS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libexpat" >&5
-$as_echo "$ac_cv_libexpat" >&6; }
- if test "$ac_cv_libexpat" = yes; then
- HAVE_LIBEXPAT=yes
-
-$as_echo "#define HAVE_LIBEXPAT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libexpat" >&5
-$as_echo_n "checking how to link with libexpat... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBEXPAT" >&5
-$as_echo "$LIBEXPAT" >&6; }
- else
- HAVE_LIBEXPAT=no
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIBEXPAT=
- LTLIBEXPAT=
- LIBEXPAT_PREFIX=
- fi
-
-
-
-
-
-
-
- ;;
-esac
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if ${lt_cv_path_NM+:} false; then :
@@ -64779,8 +72325,8 @@ else
# which is non-obvious for non-emacs users.
# Redirecting /dev/null should help a bit; pity we can't detect "broken"
# emacsen earlier and avoid running this altogether.
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' </dev/null >conftest.out"; } >&5
- ($EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out) 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' </dev/null >conftest.out"; } >&5
+ ($EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -64941,6 +72487,17 @@ else
fi
+ARCHIVE_VERSION=0.19.7
+
+
+PACKAGE_SUFFIX="-$ARCHIVE_VERSION"
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_SUFFIX "$PACKAGE_SUFFIX"
+_ACEOF
+
+
ac_aux_dir_abs=`cd $ac_aux_dir && pwd`
# Extract the first word of "dvips", so it can be a program name with args.
set dummy dvips; ac_word=$2
@@ -66458,15 +74015,8 @@ $RM -r conftest*
CFLAGS=$CXXFLAGS
compiler=$CC
compiler_CXX=$CC
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+ func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
if test -n "$compiler"; then
@@ -67853,51 +75403,6 @@ interix[3-9]*)
postdep_objects_CXX=
postdeps_CXX=
;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test yes != "$solaris_use_stlport4"; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test yes != "$solaris_use_stlport4"; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
esac
@@ -68721,6 +76226,8 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
@@ -69007,6 +76514,7 @@ freebsd* | dragonfly*)
case $version_type in
freebsd-elf*)
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
@@ -69066,10 +76574,11 @@ hpux9* | hpux10* | hpux11*)
soname_spec='$libname$release$shared_ext$major'
if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -69221,7 +76730,12 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -69446,10 +76960,22 @@ fi
if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
+
if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
@@ -69584,6 +77110,9 @@ ac_config_files="$ac_config_files doc/Makefile"
ac_config_files="$ac_config_files intl/Makefile:../gettext-runtime/intl/Makefile.in"
+ac_config_files="$ac_config_files its/Makefile"
+
+
ac_config_files="$ac_config_files gnulib-lib/Makefile"
@@ -69820,6 +77349,8 @@ if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE
as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+
+
if test -z "${INCLUDED_LIBGLIB_TRUE}" && test -z "${INCLUDED_LIBGLIB_FALSE}"; then
as_fn_error $? "conditional \"INCLUDED_LIBGLIB\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -69872,6 +77403,10 @@ if test -z "${LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE}" && test -z "$
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_FALSE}"; then
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -69925,7 +77460,6 @@ if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTR
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
gl_libobjs=
gl_ltlibobjs=
if test -n "$gl_LIBOBJS"; then
@@ -69941,10 +77475,18 @@ fi
gl_LTLIBOBJS=$gl_ltlibobjs
+
+
+
+
if test -z "${POSIX_SPAWN_PORTED_TRUE}" && test -z "${POSIX_SPAWN_PORTED_FALSE}"; then
as_fn_error $? "conditional \"POSIX_SPAWN_PORTED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_CMP_FALSE}"; then
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_CMP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -70041,6 +77583,14 @@ if test -z "${LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE}" && test -z "$
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_FALSE}"; then
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -70077,10 +77627,18 @@ if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE}" && test -z "${LIBUNI
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_NEXT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_PREV_FALSE}"; then
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_PREV\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE}"; then
as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -70538,7 +78096,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gettext-tools $as_me 0.19.4, which was
+This file was extended by gettext-tools $as_me 0.19.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -70604,7 +78162,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gettext-tools config.status 0.19.4
+gettext-tools config.status 0.19.7
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -70861,7 +78419,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -71138,7 +78697,8 @@ postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec \
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path \
reload_cmds_RC \
reload_cmds_CXX \
old_archive_cmds_RC \
@@ -71218,6 +78778,7 @@ do
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"intl/Makefile") CONFIG_FILES="$CONFIG_FILES intl/Makefile:../gettext-runtime/intl/Makefile.in" ;;
+ "its/Makefile") CONFIG_FILES="$CONFIG_FILES its/Makefile" ;;
"gnulib-lib/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-lib/Makefile" ;;
"libgrep/Makefile") CONFIG_FILES="$CONFIG_FILES libgrep/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
@@ -72011,6 +79572,9 @@ $as_echo X"$file" |
# The names of the tagged configurations supported by this script.
available_tags='RC CXX '
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
# ### BEGIN LIBTOOL CONFIG
# Which release of libtool.m4 was used?
@@ -72263,8 +79827,11 @@ hardcode_into_libs=$hardcode_into_libs
# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
# Whether dlopen is supported.
dlopen_support=$enable_dlopen
@@ -72429,6 +79996,65 @@ compiler_lib_search_path=$lt_compiler_lib_search_path
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
index 26a2aaa..5d577a1 100644
--- a/gettext-tools/configure.ac
+++ b/gettext-tools/configure.ac
@@ -1,5 +1,5 @@
dnl Configuration for the gettext-tools directory of GNU gettext
-dnl Copyright (C) 1995-1999, 2000-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2011, 2015 Free Software Foundation, Inc.
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -286,30 +286,11 @@ AH_BOTTOM([
#endif
/* Extra OS/2 (emx+gcc) defines. */
-#ifdef __EMX__
+#if defined __EMX__ && !defined __KLIBC__
# include "intl/os2compat.h"
#endif
])
-dnl Check for the expat XML parser.
-dnl On operating systems where binary distribution vendors are likely to
-dnl ship both gettext and expat, we use dynamic loading to avoid a hard
-dnl dependency from gettext to expat.
-case "$host_os" in
- linux*)
- AC_DEFINE([DYNLOAD_LIBEXPAT], [1],
- [Define to 1 if libexpat shall be dynamically loaded via dlopen().])
- LIBEXPAT="-ldl"
- LTLIBEXPAT="-ldl"
- AC_SUBST([LIBEXPAT])
- AC_SUBST([LTLIBEXPAT])
- ;;
- *)
- AC_LIB_HAVE_LINKFLAGS([expat], [],
- [#include <expat.h>], [XML_ExpatVersion();])
- ;;
-esac
-
dnl Check for nm output filter that yields the exported symbols.
gt_GLOBAL_SYMBOL_PIPE
@@ -458,6 +439,14 @@ changequote([,])dnl
fi
AC_SUBST([ARCHIVE_FORMAT])
+ARCHIVE_VERSION=0.19.7
+AC_SUBST([ARCHIVE_VERSION])
+
+PACKAGE_SUFFIX="-$ARCHIVE_VERSION"
+AC_SUBST([PACKAGE_SUFFIX])
+AC_DEFINE_UNQUOTED(PACKAGE_SUFFIX, "$PACKAGE_SUFFIX",
+ [Define to the suffix of this package])
+
dnl Check for tools needed for formatting the documentation.
ac_aux_dir_abs=`cd $ac_aux_dir && pwd`
AC_PATH_PROG([DVIPS], [dvips], [$ac_aux_dir_abs/missing dvips])
@@ -516,6 +505,8 @@ AC_CONFIG_FILES([intl/Makefile:../gettext-runtime/intl/Makefile.in], [
mv intl/Makefile.tmp intl/Makefile
])
+AC_CONFIG_FILES([its/Makefile])
+
AC_CONFIG_FILES([gnulib-lib/Makefile])
AC_CONFIG_FILES([libgrep/Makefile])
diff --git a/gettext-tools/doc/ChangeLog b/gettext-tools/doc/ChangeLog.1
index 8f1c725..ed80a4a 100644
--- a/gettext-tools/doc/ChangeLog
+++ b/gettext-tools/doc/ChangeLog.1
@@ -1,3 +1,82 @@
+2015-10-06 Daiki Ueno <ueno@gnu.org>
+
+ doc: Don't expose generated version
+ * Makefile.am ($(srcdir)/stamp-vti): Set ARCHIVE-VERSION, derived
+ from $(ARCHIVE_VERSION) in version.texi.
+ * gettext.texi (Files under Version Control): Refer to
+ ARCHIVE-VERSION, instead of VERSION.
+ * autopoint.texi: Refer to ARCHIVE-VERSION, instead of VERSION.
+
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-28 Daiki Ueno <ueno@gnu.org>
+
+ * autopoint.texi: Mention AM_GNU_GETTEXT_REQUIRE_VERSION.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-06-22 Daiki Ueno <ueno@gnu.org>
+
+ * msginit.texi: More explanations about "meta information".
+ * gettext.texi (Plural forms): Mention Unicode CLDR support in
+ msginit.
+
+2015-06-01 Daiki Ueno <ueno@gnu.org>
+
+ * gettext.texi (gawk): Mention new file extensions ".gawk" and
+ ".twjr".
+
+2015-06-01 Daiki Ueno <ueno@gnu.org>
+
+ * gettext.texi (Adjusting Files): Update link to GNU hello
+ distribution. Suggested by Karl Berry in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-05/msg00031.html>.
+
+2015-05-08 Matthew Behrens <askedrelic@gmail.com> (tiny change)
+
+ * gettext.texi (python-format): Update link to Python Library
+ Reference.
+
+2015-03-15 Benno Schulenberg <bensberg@justemail.net> (tiny change)
+
+ * xgettext.texi: Fix a word and a punctuation.
+
+2015-03-06 Daiki Ueno <ueno@gnu.org>
+
+ * gettext.texi (kde-kuit-format): New subsection.
+
+2015-03-03 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext.texi: Document options --check and --sentence-end.
+
+2015-02-09 Daiki Ueno <ueno@gnu.org>
+
+ * gettext.texi (Plural forms): Add Arabic, Bahasa Indonesian, and
+ Thai.
+ Reported by Maryam Aly in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-02/msg00012.html>.
+
+2015-02-03 Daiki Ueno <ueno@gnu.org>
+
+ * msgexec.texi, msgfilter.texi: Fix markup error caused by commit
+ 96dde0b8 and a4d132f7.
+
+2015-01-29 Daiki Ueno <ueno@gnu.org>
+
+ * msgexec.texi: Document --newline option.
+
+2015-01-28 Daiki Ueno <ueno@gnu.org>
+
+ * msgfilter.texi: Document --newline option.
+
+2015-01-05 Daiki Ueno <ueno@gnu.org>
+
+ * gettext.texi (Vala): New section.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/doc/Makefile.am b/gettext-tools/doc/Makefile.am
index 708b1cc..904ebe4 100644
--- a/gettext-tools/doc/Makefile.am
+++ b/gettext-tools/doc/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/doc subdirectory of GNU gettext
-## Copyright (C) 1995-1997, 2001-2007, 2009 Free Software Foundation, Inc.
+## Copyright (C) 1995-1997, 2001-2007, 2009, 2015 Free Software
+## Foundation, Inc.
##
## 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
@@ -50,8 +51,7 @@ EXTRA_DIST += $(doc_DATA)
EXTRA_DIST += \
iso-639.sed iso-639-2.sed iso-3166.sed \
ISO_639 ISO_639-2 ISO_3166 ISO_3166_de \
- texi2html \
- ChangeLog.0
+ texi2html
iso-639.texi: ISO_639 iso-639.sed
$(SED) -f $(srcdir)/iso-639.sed $(srcdir)/ISO_639 > iso-639.tmp
@@ -77,7 +77,8 @@ $(srcdir)/stamp-vti: $(info_TEXINFOS) $(gettext_TEXINFOS) $(top_srcdir)/../.vers
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
+ echo "@set VERSION $(VERSION)"; \
+ echo "@set ARCHIVE-VERSION $(ARCHIVE_VERSION)") > vti.tmp
cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
diff --git a/gettext-tools/doc/Makefile.in b/gettext-tools/doc/Makefile.in
index 1a73133..8c821e0 100644
--- a/gettext-tools/doc/Makefile.in
+++ b/gettext-tools/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -78,16 +88,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs $(gettext_TEXINFOS) \
- $(top_srcdir)/../build-aux/mdate-sh $(srcdir)/version.texi \
- $(srcdir)/stamp-vti $(top_srcdir)/../build-aux/texinfo.tex \
- ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -104,6 +108,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -111,6 +116,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -122,7 +128,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -152,10 +161,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -173,10 +188,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -206,6 +224,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -230,6 +249,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -237,6 +257,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -328,6 +349,8 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \
+ $(srcdir)/stamp-vti $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -419,6 +442,10 @@ am__uninstall_files_from_dir = { \
}
DATA = $(doc_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(gettext_TEXINFOS) $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mdate-sh \
+ $(top_srcdir)/../build-aux/mkinstalldirs \
+ $(top_srcdir)/../build-aux/texinfo.tex
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -429,6 +456,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -495,6 +523,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -509,15 +538,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -526,6 +574,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -540,6 +598,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -548,6 +615,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -578,17 +648,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -627,6 +727,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -662,6 +765,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -685,11 +789,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -700,10 +813,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -732,10 +851,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -795,25 +921,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -825,13 +983,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -840,6 +1013,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -851,6 +1028,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -861,6 +1044,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -883,9 +1072,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -907,12 +1105,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -933,6 +1141,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -952,6 +1162,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -967,9 +1178,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -982,9 +1198,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1010,7 +1231,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1086,13 +1311,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1111,6 +1339,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1119,6 +1348,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1128,9 +1358,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1141,6 +1371,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1150,6 +1381,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1159,6 +1391,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1177,6 +1410,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1186,6 +1420,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1216,12 +1451,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1240,6 +1477,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1248,16 +1490,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1276,19 +1535,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1306,6 +1590,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1335,16 +1623,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1370,6 +1667,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1396,6 +1696,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1415,6 +1716,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1508,7 +1810,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.2 gnits
EXTRA_DIST = $(doc_DATA) iso-639.sed iso-639-2.sed iso-3166.sed \
- ISO_639 ISO_639-2 ISO_3166 ISO_3166_de texi2html ChangeLog.0
+ ISO_639 ISO_639-2 ISO_3166 ISO_3166_de texi2html
# Temporary index files. automake removes only the predefined ones by itself.
MOSTLYCLEANFILES = gettext.am gettext.ams gettext.cp gettext.cps \
@@ -1566,7 +1868,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1640,7 +1941,7 @@ gettext.pdf: gettext.texi $(srcdir)/version.texi $(gettext_TEXINFOS)
$(srcdir)/version.texi: $(srcdir)/stamp-vti
mostlyclean-vti:
- -rm -f vti.tmp
+ -rm -f vti.tmp* $(srcdir)/version.texi.tmp*
maintainer-clean-vti:
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
@@ -2016,6 +2317,8 @@ uninstall-am: uninstall-docDATA uninstall-dvi-am uninstall-html-am \
uninstall-html-am uninstall-info-am uninstall-local \
uninstall-pdf-am uninstall-ps-am
+.PRECIOUS: Makefile
+
iso-639.texi: ISO_639 iso-639.sed
$(SED) -f $(srcdir)/iso-639.sed $(srcdir)/ISO_639 > iso-639.tmp
@@ -2041,7 +2344,8 @@ $(srcdir)/stamp-vti: $(info_TEXINFOS) $(gettext_TEXINFOS) $(top_srcdir)/../.vers
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
+ echo "@set VERSION $(VERSION)"; \
+ echo "@set ARCHIVE-VERSION $(ARCHIVE_VERSION)") > vti.tmp
cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
diff --git a/gettext-tools/doc/autopoint.texi b/gettext-tools/doc/autopoint.texi
index a2827ed..264bd78 100644
--- a/gettext-tools/doc/autopoint.texi
+++ b/gettext-tools/doc/autopoint.texi
@@ -11,6 +11,13 @@ into a source package. It extracts from a macro call of the form
used by the package, and copies the infrastructure files belonging to
this version into the package.
+To extract the latest available infrastructure which satisfies a version
+requirement, then you can use the form
+@code{AM_GNU_GETTEXT_REQUIRE_VERSION(@var{version})} instead. For
+example, if gettext @value{ARCHIVE-VERSION} is installed on your system
+and @code{0.19.1} is requested, then the infrastructure files of version
+@value{ARCHIVE-VERSION} will be copied into a source package.
+
@subsubsection Options
@table @samp
@@ -43,10 +50,11 @@ Output version information and exit.
@end table
-@code{autopoint} supports the GNU @code{gettext} versions from 0.10.35 to
-the current one, @value{VERSION}. In order to apply @code{autopoint} to
-a package using a @code{gettext} version newer than @value{VERSION}, you
-need to install this same version of GNU @code{gettext} at least.
+@code{autopoint} supports the GNU @code{gettext} versions from 0.10.35
+to the current one, @value{ARCHIVE-VERSION}. In order to apply
+@code{autopoint} to a package using a @code{gettext} version newer than
+@value{ARCHIVE-VERSION}, you need to install this same version of GNU
+@code{gettext} at least.
In packages using GNU @code{automake}, an invocation of @code{autopoint}
should be followed by invocations of @code{aclocal} and then @code{autoconf}
diff --git a/gettext-tools/doc/gettext.info b/gettext-tools/doc/gettext.info
index 61424c1..e742da7 100644
--- a/gettext-tools/doc/gettext.info
+++ b/gettext-tools/doc/gettext.info
@@ -1,7 +1,7 @@
This is gettext.info, produced by makeinfo version 5.2 from
gettext.texi.
- Copyright (C) 1995-1998, 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2001-2015 Free Software Foundation, Inc.
This manual is free documentation. It is dually licensed under the
GNU FDL and the GNU GPL. This means that you can redistribute this
@@ -55,7 +55,7 @@ GNU ‘gettext’ utilities
***********************
This manual documents the GNU gettext tools and the GNU libintl
-library, version 0.19.4.
+library, version 0.19.7.
* Menu:
@@ -350,6 +350,7 @@ Individual Programming Languages
* GCC-source:: GNU Compiler Collection sources
* Lua:: Lua
* JavaScript:: JavaScript
+* Vala:: Vala
sh - Shell Script
@@ -379,6 +380,8 @@ Internationalizable Data
* RST:: Resource String Table
* Glade:: Glade - GNOME user interface description
* GSettings:: GSettings - GNOME user configuration schema
+* AppData:: AppData - freedesktop.org application description
+* Preparing ITS Rules:: Preparing Rules for XML Internationalization
Concluding Remarks
@@ -2215,7 +2218,7 @@ along with the following one:
{
static const char *messages[] = {
- gettext_noop ("some very meaningful message",
+ gettext_noop ("some very meaningful message"),
gettext_noop ("and another one")
};
const char *string;
@@ -2582,6 +2585,48 @@ extension.
The second comment line will not be extracted, because there is one
blank line between the comment line and the keyword.
+‘--check[=CHECK]’
+ Perform a syntax check on msgid and msgid_plural. The supported
+ checks are:
+
+ ‘ellipsis-unicode’
+ Prefer Unicode ellipsis character over ASCII ‘...’
+
+ ‘space-ellipsis’
+ Prohibit whitespace before an ellipsis character
+
+ ‘quote-unicode’
+ Prefer Unicode quotation marks over ASCII ‘"'`’
+
+ The option has an effect on all input files. To enable or disable
+ checks for a certain string, you can mark it with an ‘xgettext:’
+ special comment in the source file. For example, if you specify
+ the ‘--check=space-ellipsis’ option, but want to suppress the check
+ on a particular string, add the following comment:
+
+ /* xgettext: no-space-ellipsis-check */
+ gettext ("We really want a space before ellipsis here ...");
+
+ The ‘xgettext:’ comment can be followed by flags separated with a
+ comma. The possible flags are of the form ‘[no-]NAME-check’, where
+ NAME is the name of a valid syntax check. If a flag is prefixed by
+ ‘no-’, the meaning is negated.
+
+ Some tests apply the checks to each sentence within the msgid,
+ rather than the whole string. xgettext detects the end of sentence
+ by performing a pattern match, which usually looks for a period
+ followed by a certain number of spaces. The number is specified
+ with the ‘--sentence-end’ option.
+
+‘--sentence-end[=TYPE]’
+ The supported values are:
+
+ ‘single-space’
+ Expect at least one whitespace after a period
+
+ ‘double-space’
+ Expect at least two whitespaces after a period
+
5.1.6 Language specific options
-------------------------------
@@ -2757,7 +2802,7 @@ extension.
‘--debug’
Use the flags ‘c-format’ and ‘possible-c-format’ to show who was
responsible for marking a message as a format string. The latter
- form is used if the ‘xgettext’ program decided, the format form is
+ form is used if the ‘xgettext’ program decided, the former form is
used if the programmer prescribed it.
By default only the ‘c-format’ form is used. The translator should
@@ -2815,6 +2860,14 @@ adjacent strings, and escaped end of lines for continued strings.
Write out a NeXTstep/GNUstep localized resource file in ‘.strings’
syntax. Note that this file format doesn’t support plural forms.
+‘--its=FILE’
+ Use ITS rules defined in FILE. Note that this is only effective
+ with XML files.
+
+‘--itstool’
+ Write out comments recognized by itstool (<http://itstool.org>).
+ Note that this is only effective with XML files.
+
‘-w NUMBER’
‘--width=NUMBER’
Set the output page width. Long strings in the output files will
@@ -2881,7 +2934,7 @@ adjacent strings, and escaped end of lines for continued strings.
address or URL to which the translators shall report bugs in the
untranslated strings:
- - Strings which are not entire sentences, see the maintainer
+ - Strings which are not entire sentences; see the maintainer
guidelines in *note Preparing Strings::.
- Strings which use unclear terms or require additional context
to be understood.
@@ -2955,6 +3008,39 @@ File: gettext.info, Node: msginit Invocation, Next: Header Entry, Prev: Creat
The ‘msginit’ program creates a new PO file, initializing the meta
information with values from the user’s environment.
+ Here are more details. The following header fields of a PO file are
+automatically filled, when possible.
+
+‘Project-Id-Version’
+ The value is guessed from the ‘configure’ script or any other files
+ in the current directory.
+
+‘PO-Revision-Date’
+ The value is taken from the ‘PO-Creation-Data’ in the input POT
+ file, or the current date is used.
+
+‘Last-Translator’
+ The value is taken from user’s password file entry and the mailer
+ configuration files.
+
+‘Language-Team, Language’
+ These values are set according to the current locale and the
+ predefined list of translation teams.
+
+‘MIME-Version, Content-Type, Content-Transfer-Encoding’
+ These values are set according to the content of the POT file and
+ the current locale. If the POT file contains charset=UTF-8, it
+ means that the POT file contains non-ASCII characters, and we keep
+ the UTF-8 encoding. Otherwise, when the POT file is plain ASCII,
+ we use the locale’s encoding.
+
+‘Plural-Forms’
+ The value is first looked up from the embedded table.
+
+ As an experimental feature, you can instruct ‘msginit’ to use the
+ information from Unicode CLDR, by setting the ‘GETTEXTCLDRDIR’
+ environment variable.
+
6.1.1 Input file location
-------------------------
@@ -5381,6 +5467,10 @@ input and writes a modified translation to standard output. A
frequently used filter is ‘sed’. A few particular built-in filters are
also recognized.
+‘--newline’
+ Add newline at the end of each input line and also strip the ending
+ newline from the output line.
+
Note: If the filter is not a built-in filter, you have to care about
encodings: It is your responsibility to ensure that the FILTER can cope
with input encoded in the translation catalog’s encoding. If the FILTER
@@ -5393,12 +5483,13 @@ program and then make ‘msgfilter’ work in an UTF-8 locale, by using the
‘LC_ALL’ environment variable.
Note: Most translations in a translation catalog don’t end with a
-newline character. For this reason, it is important that the FILTER
-recognizes its last input line even if it ends without a newline, and
-that it doesn’t add an undesired trailing newline at the end. The ‘sed’
-program on some platforms is known to ignore the last line of input if
-it is not terminated with a newline. You can use GNU ‘sed’ instead; it
-does not have this limitation.
+newline character. For this reason, unless the ‘--newline’ option is
+used, it is important that the FILTER recognizes its last input line
+even if it ends without a newline, and that it doesn’t add an undesired
+trailing newline at the end. The ‘sed’ program on some platforms is
+known to ignore the last line of input if it is not terminated with a
+newline. You can use GNU ‘sed’ instead; it does not have this
+limitation.
9.4.4 Useful FILTER-OPTIONs when the FILTER is ‘sed’
----------------------------------------------------
@@ -6285,6 +6376,9 @@ code is the maximum return code across all invocations.
followed by a null byte. The output of ‘msgexec 0’ is suitable as input
for ‘xargs -0’.
+‘--newline’
+ Add newline at the end of each input line.
+
During each COMMAND invocation, the environment variable
‘MSGEXEC_MSGID’ is bound to the message’s msgid, and the environment
variable ‘MSGEXEC_LOCATION’ is bound to the location in the PO file of
@@ -6914,6 +7008,9 @@ textual translation description.
‘--desktop’
Desktop Entry mode: generate a ‘.desktop’ file.
+‘--xml’
+ XML mode: generate an XML file.
+
10.1.3 Output file location
---------------------------
@@ -7011,7 +7108,8 @@ in the specified directory.
form LL_CC.
‘-d DIRECTORY’
- Specify the base directory of ‘.msg’ message catalogs.
+ Specify the directory where PO files are read. The directory must
+ contain the ‘LINGUAS’ file.
To generate a ‘.desktop’ file for a single locale, you can use it as
follows.
@@ -7019,11 +7117,8 @@ follows.
msgfmt --desktop --template=TEMPLATE --locale=LOCALE \
-o FILE FILENAME.po …
- On the other hand, when using msgfmt from a Makefile, it is
-cumbersome to loop over all locales under a particular directory.
-msgfmt provides a special operation mode for this use-case. To generate
-a ‘.desktop’ file from multiple ‘.po’ files under a directory, specify
-the directory with the ‘-d’ option.
+ msgfmt provides a special "bulk" operation mode to process multiple
+‘.po’ files at a time.
msgfmt --desktop --template=TEMPLATE -d DIRECTORY -o FILE
@@ -7034,7 +7129,44 @@ to a subset, through the ‘LINGUAS’ environment variable.
For either operation modes, the ‘-o’ and ‘--template’ options are
mandatory.
-10.1.8 Input file syntax
+10.1.8 XML mode operations
+--------------------------
+
+‘--template=TEMPLATE’
+ Specify an XML file used as a template.
+
+‘-L NAME’
+‘--language=NAME’
+ Specifies the language of the input files.
+
+‘-l LOCALE’
+‘--locale=LOCALE’
+ Specify the locale name, either a language specification of the
+ form LL or a combined language and country specification of the
+ form LL_CC.
+
+‘-d DIRECTORY’
+ Specify the base directory of ‘.po’ message catalogs.
+
+ To generate an XML file for a single locale, you can use it as
+follows.
+
+ msgfmt --xml --template=TEMPLATE --locale=LOCALE \
+ -o FILE FILENAME.po …
+
+ msgfmt provides a special "bulk" operation mode to process multiple
+‘.po’ files at a time.
+
+ msgfmt --xml --template=TEMPLATE -d DIRECTORY -o FILE
+
+ msgfmt first reads the ‘LINGUAS’ file under DIRECTORY, and then
+processes all ‘.po’ files listed there. You can also limit the locales
+to a subset, through the ‘LINGUAS’ environment variable.
+
+ For either operation modes, the ‘-o’ and ‘--template’ options are
+mandatory.
+
+10.1.9 Input file syntax
------------------------
‘-P’
@@ -7046,8 +7178,8 @@ mandatory.
Assume the input files are NeXTstep/GNUstep localized resource
files in ‘.strings’ syntax, not in PO file syntax.
-10.1.9 Input file interpretation
---------------------------------
+10.1.10 Input file interpretation
+---------------------------------
‘-c’
‘--check’
@@ -7108,7 +7240,7 @@ mandatory.
usually wrong, because fuzzy messages are exactly those which have
not been validated by a human translator.
-10.1.10 Output details
+10.1.11 Output details
----------------------
‘-a NUMBER’
@@ -7132,7 +7264,7 @@ mandatory.
Don’t include a hash table in the binary file. Lookup will be more
expensive at run time (binary search instead of hash table lookup).
-10.1.11 Informative output
+10.1.12 Informative output
--------------------------
‘-h’
@@ -8152,6 +8284,8 @@ Only one form:
Asian family
Japanese, Vietnamese, Korean
+ Tai-Kadai family
+ Thai
Two forms, singular used for one only
This is the form used in most existing programs since it is what
@@ -8174,6 +8308,8 @@ Two forms, singular used for one only
Finnish, Estonian
Semitic family
Hebrew
+ Austronesian family
+ Bahasa Indonesian
Artificial
Esperanto
@@ -8297,6 +8433,18 @@ Four forms, special case for one and all numbers ending in 02, 03, or 04
Slavic family
Slovenian
+Six forms, special cases for one, two, all numbers ending in 02, 03, … 10, all numbers ending in 11 … 99, and others
+ The header entry would look like this:
+
+ Plural-Forms: nplurals=6; \
+ plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 \
+ : n%100>=11 ? 4 : 5;
+
+ Languages with this property include:
+
+ Afroasiatic family
+ Arabic
+
You might now ask, ‘ngettext’ handles only numbers N of type
‘unsigned long’. What about larger integer types? What about negative
numbers? What about floating-point numbers?
@@ -8339,7 +8487,11 @@ is acceptable in English, and similarly for other languages.
---------- Footnotes ----------
(1) Additions are welcome. Send appropriate information to
-<bug-gnu-gettext@gnu.org> and <bug-glibc-manual@gnu.org>.
+<bug-gnu-gettext@gnu.org> and <bug-glibc-manual@gnu.org>. The Unicode
+CLDR Project (<http://cldr.unicode.org>) provides a comprehensive set of
+plural forms in a different format. The ‘msginit’ program has
+preliminary support for the format so you can use it as a baseline
+(*note msginit Invocation::).

File: gettext.info, Node: Optimized gettext, Prev: Plural forms, Up: gettext
@@ -9640,11 +9792,11 @@ each.
So, here comes a list of files, each one followed by a description of
all alterations it needs. Many examples are taken out from the GNU
-‘gettext’ 0.19.4 distribution itself, or from the GNU ‘hello’
-distribution (<http://www.franken.de/users/gnu/ke/hello> or
-<http://www.gnu.franken.de/ke/hello/>) You may indeed refer to the
-source code of the GNU ‘gettext’ and GNU ‘hello’ packages, as they are
-intended to be good examples for using GNU gettext functionality.
+‘gettext’ 0.19.7 distribution itself, or from the GNU ‘hello’
+distribution (<http://www.gnu.org/software/hello>). You may indeed
+refer to the source code of the GNU ‘gettext’ and GNU ‘hello’ packages,
+as they are intended to be good examples for using GNU gettext
+functionality.
* Menu:
@@ -9797,7 +9949,7 @@ File: gettext.info, Node: configure.ac, Next: config.guess, Prev: po/Rules-*,
This is done by a set of lines like these:
PACKAGE=gettext
- VERSION=0.19.4
+ VERSION=0.19.7
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
@@ -9805,12 +9957,12 @@ File: gettext.info, Node: configure.ac, Next: config.guess, Prev: po/Rules-*,
or, if you are using GNU ‘automake’, by a line like this:
- AM_INIT_AUTOMAKE(gettext, 0.19.4)
+ AM_INIT_AUTOMAKE(gettext, 0.19.7)
Of course, you replace ‘gettext’ with the name of your package, and
- ‘0.19.4’ by its version numbers, exactly as they should appear in
+ ‘0.19.7’ by its version numbers, exactly as they should appear in
the packaged ‘tar’ file name of your distribution
- (‘gettext-0.19.4.tar.gz’, here).
+ (‘gettext-0.19.7.tar.gz’, here).
2. Check for internationalization support.
@@ -10579,7 +10731,7 @@ into the repository.
all the files that ‘gettextize’ mentions as "copy". Instead, he adds to
the ‘configure.ac’ or ‘configure.in’ a line of the form
- AM_GNU_GETTEXT_VERSION(0.19.4)
+ AM_GNU_GETTEXT_VERSION(0.19.7)
and adds to the package’s pre-build script an invocation of ‘autopoint’.
For everyone who checks out the source, this ‘autopoint’ invocation will
@@ -10660,6 +10812,13 @@ or ‘configure.ac’ file, the gettext version used by the package, and
copies the infrastructure files belonging to this version into the
package.
+ To extract the latest available infrastructure which satisfies a
+version requirement, then you can use the form
+‘AM_GNU_GETTEXT_REQUIRE_VERSION(VERSION)’ instead. For example, if
+gettext 0.19.7 is installed on your system and ‘0.19.1’ is requested,
+then the infrastructure files of version 0.19.7 will be copied into a
+source package.
+
13.6.4.1 Options
................
@@ -10683,8 +10842,8 @@ package.
Output version information and exit.
‘autopoint’ supports the GNU ‘gettext’ versions from 0.10.35 to the
-current one, 0.19.4. In order to apply ‘autopoint’ to a package using a
-‘gettext’ version newer than 0.19.4, you need to install this same
+current one, 0.19.7. In order to apply ‘autopoint’ to a package using a
+‘gettext’ version newer than 0.19.7, you need to install this same
version of GNU ‘gettext’ at least.
In packages using GNU ‘automake’, an invocation of ‘autopoint’ should
@@ -10901,6 +11060,7 @@ strings.
* qt-format:: Qt Format Strings
* qt-plural-format:: Qt Plural Format Strings
* kde-format:: KDE Format Strings
+* kde-kuit-format:: KUIT Format Strings
* boost-format:: Boost Format Strings
* lua-format:: Lua Format Strings
* javascript-format:: JavaScript Format Strings
@@ -10984,9 +11144,9 @@ the Python built-in format operator ‘%’, labelled as ‘python-format’,
and those acceptable to the ‘format’ method of the ‘str’ object.
Python ‘%’ format strings are described in Python Library reference /
-2. Built-in Types, Exceptions and Functions / 2.2. Built-in Types / 2.2.6. Sequence Types
-/ 2.2.6.2. String Formatting Operations.
-<http://www.python.org/doc/2.2.1/lib/typesseq-strings.html>.
+5. Built-in Types / 5.6. Sequence Types /
+5.6.2. String Formatting Operations.
+<http://docs.python.org/2/library/stdtypes.html#string-formatting-operations>.
Python brace format strings are described in
PEP 3101 – Advanced String Formatting,
@@ -11194,7 +11354,7 @@ QObject::tr method <file:/usr/lib/qt-4.3.0/doc/html/qobject.html>. In
summary, the only allowed directive is ‘%n’.

-File: gettext.info, Node: kde-format, Next: boost-format, Prev: qt-plural-format, Up: Translators for other Languages
+File: gettext.info, Node: kde-format, Next: kde-kuit-format, Prev: qt-plural-format, Up: Translators for other Languages
15.3.22 KDE Format Strings
--------------------------
@@ -11205,9 +11365,24 @@ format strings, all of ‘%1’, ..., ‘%(n-1)’ must occur as well, except
possibly one of them.

-File: gettext.info, Node: boost-format, Next: lua-format, Prev: kde-format, Up: Translators for other Languages
+File: gettext.info, Node: kde-kuit-format, Next: boost-format, Prev: kde-format, Up: Translators for other Languages
-15.3.23 Boost Format Strings
+15.3.23 KUIT Format Strings
+---------------------------
+
+ KUIT (KDE User Interface Text) is compatible with KDE 4 format
+strings, while it also allows programmers to add semantic information to
+a format string, through XML markup tags. For example, if the first
+format directive in a string is a filename, programmers could indicate
+that with a ‘filename’ tag, like ‘<filename>%1</filename>’.
+
+ KUIT format strings are described in
+<http://api.kde.org/frameworks-api/frameworks5-apidocs/ki18n/html/prg_guide.html#kuit_markup>.
+
+
+File: gettext.info, Node: boost-format, Next: lua-format, Prev: kde-kuit-format, Up: Translators for other Languages
+
+15.3.24 Boost Format Strings
----------------------------
Boost format strings are described in the documentation of the
@@ -11221,7 +11396,7 @@ such as ‘%1%’.

File: gettext.info, Node: lua-format, Next: javascript-format, Prev: boost-format, Up: Translators for other Languages
-15.3.24 Lua Format Strings
+15.3.25 Lua Format Strings
--------------------------
Lua format strings are described in the Lua reference manual, section
@@ -11231,7 +11406,7 @@ String Manipulation,

File: gettext.info, Node: javascript-format, Prev: lua-format, Up: Translators for other Languages
-15.3.25 JavaScript Format Strings
+15.3.26 JavaScript Format Strings
---------------------------------
Although JavaScript specification itself does not define any format
@@ -11299,6 +11474,7 @@ File: gettext.info, Node: List of Programming Languages, Next: List of Data Fo
* GCC-source:: GNU Compiler Collection sources
* Lua:: Lua
* JavaScript:: JavaScript
+* Vala:: Vala

File: gettext.info, Node: C, Next: sh, Prev: List of Programming Languages, Up: List of Programming Languages
@@ -12545,7 +12721,8 @@ RPMs
gawk 3.1 or newer
File extension
- ‘awk’
+ ‘awk’, ‘gawk’, ‘twjr’. The file extension ‘twjr’ is used by
+ TexiWeb Jr (<https://github.com/arnoldrobbins/texiwebjr>).
String syntax
‘"abc"’
@@ -13749,7 +13926,7 @@ po-mode marking
—

-File: gettext.info, Node: JavaScript, Prev: Lua, Up: List of Programming Languages
+File: gettext.info, Node: JavaScript, Next: Vala, Prev: Lua, Up: List of Programming Languages
15.5.23 JavaScript
------------------
@@ -13800,6 +13977,58 @@ po-mode marking
—

+File: gettext.info, Node: Vala, Prev: JavaScript, Up: List of Programming Languages
+
+15.5.24 Vala
+------------
+
+RPMs
+ vala
+
+File extension
+ ‘vala’
+
+String syntax
+
+ • ‘"abc"’
+
+ • ‘"""abc"""’
+
+gettext shorthand
+ ‘_("abc")’
+
+gettext/ngettext functions
+ ‘gettext’, ‘dgettext’, ‘dcgettext’, ‘ngettext’, ‘dngettext’,
+ ‘dpgettext’, ‘dpgettext2’
+
+textdomain
+ ‘textdomain’ function, defined under the ‘Intl’ namespace
+
+bindtextdomain
+ ‘bindtextdomain’ function, defined under the ‘Intl’ namespace
+
+setlocale
+ Programmer must call ‘Intl.setlocale (LocaleCategory.ALL, "")’
+
+Prerequisite
+ —
+
+Use or emulate GNU gettext
+ Use
+
+Extractor
+ ‘xgettext’
+
+Formatting with positions
+ Same as for the C language.
+
+Portability
+ autoconf (gettext.m4) and #if ENABLE_NLS
+
+po-mode marking
+ yes
+
+
File: gettext.info, Node: List of Data Formats, Prev: List of Programming Languages, Up: Programming Languages
15.6 Internationalizable Data
@@ -13814,6 +14043,8 @@ using GNU gettext.
* RST:: Resource String Table
* Glade:: Glade - GNOME user interface description
* GSettings:: GSettings - GNOME user configuration schema
+* AppData:: AppData - freedesktop.org application description
+* Preparing ITS Rules:: Preparing Rules for XML Internationalization

File: gettext.info, Node: POT, Next: RST, Prev: List of Data Formats, Up: List of Data Formats
@@ -13862,7 +14093,7 @@ Extractor
‘intltool-extract’

-File: gettext.info, Node: GSettings, Prev: Glade, Up: List of Data Formats
+File: gettext.info, Node: GSettings, Next: AppData, Prev: Glade, Up: List of Data Formats
15.6.4 GSettings - GNOME user configuration schema
--------------------------------------------------
@@ -13877,6 +14108,160 @@ Extractor
‘xgettext’, ‘intltool-extract’

+File: gettext.info, Node: AppData, Next: Preparing ITS Rules, Prev: GSettings, Up: List of Data Formats
+
+15.6.5 AppData - freedesktop.org application description
+--------------------------------------------------------
+
+RPMs
+ appdata-tools, appstream, libappstream-glib,
+ libappstream-glib-builder
+
+File extension
+ ‘appdata.xml’
+
+Extractor
+ ‘xgettext’, ‘intltool-extract’, ‘itstool’
+
+* Menu:
+
+
+File: gettext.info, Node: Preparing ITS Rules, Prev: AppData, Up: List of Data Formats
+
+15.6.6 Preparing Rules for XML Internationalization
+---------------------------------------------------
+
+ Marking translatable strings in an XML file is done through a
+separate "rule" file, making use of the Internationalization Tag Set
+standard (ITS, <http://www.w3.org/TR/its20/>). The currently supported
+ITS data categories are: ‘Translate’, ‘Localization Note’, ‘Elements
+Within Text’, and ‘Preserve Space’. In addition to them, ‘xgettext’
+also recognizes the following extended data categories:
+
+‘Context’
+
+ This data category associates ‘msgctxt’ to the extracted text. In
+ the global rule, the ‘contextRule’ element contains the following:
+
+ • A required ‘selector’ attribute. It contains an absolute
+ selector that selects the nodes to which this rule applies.
+
+ • A required ‘contextPointer’ attribute that contains a relative
+ selector pointing to a node that holds the ‘msgctxt’ value.
+
+ • An optional ‘textPointer’ attribute that contains a relative
+ selector pointing to a node that holds the ‘msgid’ value.
+
+‘Escape Special Characters’
+
+ This data category indicates whether the special XML characters
+ (‘<’, ‘>’, ‘&’, ‘"’) are escaped with entity reference. In the
+ global rule, the ‘escapeRule’ element contains the following:
+
+ • A required ‘selector’ attribute. It contains an absolute
+ selector that selects the nodes to which this rule applies.
+
+ • A required ‘escape’ attribute with the value ‘yes’ or ‘no’.
+
+‘Extended Preserve Space’
+
+ This data category extends the standard ‘Preserve Space’ data
+ category with the additional value ‘trim’. The value means to
+ remove the leading and trailing whitespaces of the content, but not
+ to normalize whitespaces in the middle. In the global rule, the
+ ‘preserveSpaceRule’ element contains the following:
+
+ • A required ‘selector’ attribute. It contains an absolute
+ selector that selects the nodes to which this rule applies.
+
+ • A required ‘space’ attribute with the value ‘default’,
+ ‘preserve’, or ‘trim’.
+
+ All those extended data categories can only be expressed with global
+rules, and the rule elements have to have the
+‘https://www.gnu.org/s/gettext/ns/its/extensions/1.0’ namespace.
+
+ Given the following XML document in a file ‘messages.xml’:
+
+ <?xml version="1.0"?>
+ <messages>
+ <message>
+ <p>A translatable string</p>
+ </message>
+ <message>
+ <p translatable="no">A non-translatable string</p>
+ </message>
+ </messages>
+
+ To extract the first text content ("A translatable string"), but not
+the second ("A non-translatable string"), the following ITS rules can be
+used:
+
+ <?xml version="1.0"?>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule selector="/messages" translate="no"/>
+ <its:translateRule selector="//message/p" translate="yes"/>
+
+ <!-- If 'p' has an attribute 'translatable' with the value 'no', then
+ the content is not translatable. -->
+ <its:translateRule selector="//message/p[@translatable = 'no']"
+ translate="no"/>
+ </its:rules>
+
+ ‘xgettext’ needs another file called "locating rule" to associate an
+ITS rule with an XML file. If the above ITS file is saved as
+‘messages.its’, the locating rule would look like:
+
+ <?xml version="1.0"?>
+ <locatingRules>
+ <locatingRule name="Messages" pattern="*.xml">
+ <documentRule localName="messages" target="messages.its"/>
+ </locatingRule>
+ <locatingRule name="Messages" pattern="*.msg" target="messages.its"/>
+ </locatingRules>
+
+ The ‘locatingRule’ element must have a ‘pattern’ attribute, which
+denotes either a literal file name or a wildcard pattern of the XML
+file. The ‘locatingRule’ element can have child ‘documentRule’ element,
+which adds checks on the content of the XML file.
+
+ The first rule matches any file with the ‘.xml’ file extension, but
+it only applies to XML files whose root element is ‘<messages>’.
+
+ The second rule indicates that the same ITS rule file are also
+applicable to any file with the ‘.msg’ file extension. The optional
+‘name’ attribute of ‘locatingRule’ allows to choose rules by name,
+typically with ‘xgettext’’s ‘-L’ option.
+
+ The associated ITS rule file is indicated by the ‘target’ attribute
+of ‘locatingRule’ or ‘documentRule’. If it is specified in a
+‘documentRule’ element, the parent ‘locatingRule’ shouldn’t have the
+‘target’ attribute.
+
+ Locating rule files must have the ‘.loc’ file extension. Both ITS
+rule files and locating rule files must be installed in the
+‘$prefix/share/gettext/its’ directory. Once those files are properly
+installed, ‘xgettext’ can extract translatable strings from the matching
+XML files.
+
+15.6.6.1 Two Use-cases of Translated Strings in XML
+...................................................
+
+ For XML, there are two use-cases of translated strings. One is the
+case where the translated strings are directly consumed by programs, and
+the other is the case where the translated strings are merged back to
+the original XML document. In the former case, special characters in
+the extracted strings shouldn’t be escaped, while they should in the
+latter case. To control wheter to escape special characters, the
+‘Escape Special Characters’ data category can be used.
+
+ To merge the translations, the ‘msgfmt’ program can be used with the
+option ‘--xml’. *Note msgfmt Invocation::, for more details about how
+one calls the ‘msgfmt’ program. ‘msgfmt’’s ‘--xml’ option doesn’t
+perform character escaping, so translated strings can have arbitrary XML
+constructs, such as elements for markup.
+
+
File: gettext.info, Node: Conclusion, Next: Language Codes, Prev: Programming Languages, Up: Top
16 Concluding Remarks
@@ -15085,7 +15470,7 @@ each particular file or directory. Here is a summary:
* GNU FDL:: GNU Free Documentation License

-File: gettext.info, Node: GNU GPL, Next: GNU LGPL, Up: Licenses
+File: gettext.info, Node: GNU GPL, Next: GNU LGPL, Prev: Licenses, Up: Licenses
C.1 GNU GENERAL PUBLIC LICENSE
==============================
@@ -16411,7 +16796,7 @@ Program Index
* autopoint: autopoint Invocation.
(line 6)
* boldquot: msgfilter Invocation.
- (line 106)
+ (line 111)
* envsubst: envsubst Invocation. (line 6)
* gettext: sh. (line 19)
* gettext <1>: gettext Invocation. (line 6)
@@ -16436,9 +16821,9 @@ Program Index
* ngettext: sh. (line 19)
* ngettext <1>: ngettext Invocation. (line 6)
* quot: msgfilter Invocation.
- (line 102)
+ (line 107)
* recode-sr-latin: msgfilter Invocation.
- (line 96)
+ (line 101)
* xgettext: xgettext Invocation. (line 6)

@@ -16458,21 +16843,22 @@ Option Index
* --add-location, ‘msgconv’ option: msgconv Invocation. (line 80)
* --add-location, ‘msgen’ option: msgen Invocation. (line 83)
* --add-location, ‘msgfilter’ option: msgfilter Invocation.
- (line 156)
+ (line 161)
* --add-location, ‘msggrep’ option: msggrep Invocation. (line 152)
* --add-location, ‘msgmerge’ option: msgmerge Invocation. (line 150)
* --add-location, ‘msguniq’ option: msguniq Invocation. (line 97)
-* --add-location, ‘xgettext’ option: xgettext Invocation. (line 326)
-* --alignment, ‘msgfmt’ option: msgfmt Invocation. (line 250)
+* --add-location, ‘xgettext’ option: xgettext Invocation. (line 368)
+* --alignment, ‘msgfmt’ option: msgfmt Invocation. (line 288)
* --backup, ‘msgmerge’ option: msgmerge Invocation. (line 62)
-* --boost, ‘xgettext’ option: xgettext Invocation. (line 284)
+* --boost, ‘xgettext’ option: xgettext Invocation. (line 326)
* --c++, ‘xgettext’ option: xgettext Invocation. (line 63)
-* --check, ‘msgfmt’ option: msgfmt Invocation. (line 188)
-* --check-accelerators, ‘msgfmt’ option: msgfmt Invocation. (line 229)
-* --check-compatibility, ‘msgfmt’ option: msgfmt Invocation. (line 225)
-* --check-domain, ‘msgfmt’ option: msgfmt Invocation. (line 220)
-* --check-format, ‘msgfmt’ option: msgfmt Invocation. (line 192)
-* --check-header, ‘msgfmt’ option: msgfmt Invocation. (line 215)
+* --check, ‘msgfmt’ option: msgfmt Invocation. (line 226)
+* --check, ‘xgettext’ option: xgettext Invocation. (line 116)
+* --check-accelerators, ‘msgfmt’ option: msgfmt Invocation. (line 267)
+* --check-compatibility, ‘msgfmt’ option: msgfmt Invocation. (line 263)
+* --check-domain, ‘msgfmt’ option: msgfmt Invocation. (line 258)
+* --check-format, ‘msgfmt’ option: msgfmt Invocation. (line 230)
+* --check-header, ‘msgfmt’ option: msgfmt Invocation. (line 253)
* --clear-fuzzy, ‘msgattrib’ option: msgattrib Invocation.
(line 68)
* --clear-obsolete, ‘msgattrib’ option: msgattrib Invocation.
@@ -16487,21 +16873,21 @@ Option Index
* --color, ‘msgconv’ option: msgconv Invocation. (line 61)
* --color, ‘msgen’ option: msgen Invocation. (line 64)
* --color, ‘msgfilter’ option: msgfilter Invocation.
- (line 133)
+ (line 138)
* --color, ‘msggrep’ option: msggrep Invocation. (line 134)
-* --color, ‘msginit’ option: msginit Invocation. (line 60)
+* --color, ‘msginit’ option: msginit Invocation. (line 93)
* --color, ‘msgmerge’ option: msgmerge Invocation. (line 131)
* --color, ‘msgunfmt’ option: msgunfmt Invocation. (line 103)
* --color, ‘msguniq’ option: msguniq Invocation. (line 78)
-* --color, ‘xgettext’ option: xgettext Invocation. (line 305)
+* --color, ‘xgettext’ option: xgettext Invocation. (line 347)
* --comment, ‘msggrep’ option: msggrep Invocation. (line 86)
* --compendium, ‘msgmerge’ option: msgmerge Invocation. (line 36)
-* --copyright-holder, ‘xgettext’ option: xgettext Invocation. (line 382)
+* --copyright-holder, ‘xgettext’ option: xgettext Invocation. (line 432)
* --csharp, ‘msgfmt’ option: msgfmt Invocation. (line 36)
* --csharp, ‘msgunfmt’ option: msgunfmt Invocation. (line 19)
* --csharp-resources, ‘msgfmt’ option: msgfmt Invocation. (line 40)
* --csharp-resources, ‘msgunfmt’ option: msgunfmt Invocation. (line 23)
-* --debug, ‘xgettext’ option: xgettext Invocation. (line 288)
+* --debug, ‘xgettext’ option: xgettext Invocation. (line 330)
* --default-domain, ‘xgettext’ option: xgettext Invocation. (line 35)
* --desktop, ‘msgfmt’ option: msgfmt Invocation. (line 49)
* --directory, ‘msgattrib’ option: msgattrib Invocation.
@@ -16511,7 +16897,7 @@ Option Index
* --directory, ‘msgcomm’ option: msgcomm Invocation. (line 30)
* --directory, ‘msgconv’ option: msgconv Invocation. (line 19)
* --directory, ‘msgen’ option: msgen Invocation. (line 25)
-* --directory, ‘msgexec’ option: msgexec Invocation. (line 51)
+* --directory, ‘msgexec’ option: msgexec Invocation. (line 54)
* --directory, ‘msgfilter’ option: msgfilter Invocation.
(line 34)
* --directory, ‘msgfmt’ option: msgfmt Invocation. (line 18)
@@ -16523,28 +16909,28 @@ Option Index
* --domain, ‘msggrep’ option: msggrep Invocation. (line 70)
* --domain, ‘ngettext’ option: ngettext Invocation. (line 15)
* --dry-run, ‘autopoint’ option: autopoint Invocation.
- (line 24)
+ (line 31)
* --dry-run, ‘gettextize’ option: gettextize Invocation.
(line 72)
* --empty, ‘msgattrib’ option: msgattrib Invocation.
(line 84)
-* --endianness, ‘msgfmt’ option: msgfmt Invocation. (line 253)
+* --endianness, ‘msgfmt’ option: msgfmt Invocation. (line 291)
* --exclude-file, ‘xgettext’ option: xgettext Invocation. (line 89)
* --expression, ‘msgfilter’ option: msgfilter Invocation.
- (line 82)
+ (line 87)
* --extended-regexp, ‘msggrep’ option: msggrep Invocation. (line 94)
-* --extract-all, ‘xgettext’ option: xgettext Invocation. (line 120)
+* --extract-all, ‘xgettext’ option: xgettext Invocation. (line 162)
* --extracted-comment, ‘msggrep’ option: msggrep Invocation. (line 90)
* --file, ‘msgfilter’ option: msgfilter Invocation.
- (line 86)
+ (line 91)
* --file, ‘msggrep’ option: msggrep Invocation. (line 106)
* --files-from, ‘msgcat’ option: msgcat Invocation. (line 26)
* --files-from, ‘msgcomm’ option: msgcomm Invocation. (line 25)
* --files-from, ‘xgettext’ option: xgettext Invocation. (line 19)
* --fixed-strings, ‘msggrep’ option: msggrep Invocation. (line 98)
-* --flag, ‘xgettext’ option: xgettext Invocation. (line 231)
+* --flag, ‘xgettext’ option: xgettext Invocation. (line 273)
* --force, ‘autopoint’ option: autopoint Invocation.
- (line 20)
+ (line 27)
* --force, ‘gettextize’ option: gettextize Invocation.
(line 40)
* --force-po, ‘msgattrib’ option: msgattrib Invocation.
@@ -16554,18 +16940,18 @@ Option Index
* --force-po, ‘msgconv’ option: msgconv Invocation. (line 69)
* --force-po, ‘msgen’ option: msgen Invocation. (line 72)
* --force-po, ‘msgfilter’ option: msgfilter Invocation.
- (line 141)
+ (line 146)
* --force-po, ‘msggrep’ option: msggrep Invocation. (line 142)
* --force-po, ‘msgmerge’ option: msgmerge Invocation. (line 139)
* --force-po, ‘msgunfmt’ option: msgunfmt Invocation. (line 111)
* --force-po, ‘msguniq’ option: msguniq Invocation. (line 86)
-* --force-po, ‘xgettext’ option: xgettext Invocation. (line 313)
-* --foreign-user, ‘xgettext’ option: xgettext Invocation. (line 397)
+* --force-po, ‘xgettext’ option: xgettext Invocation. (line 355)
+* --foreign-user, ‘xgettext’ option: xgettext Invocation. (line 447)
* --from-code, ‘xgettext’ option: xgettext Invocation. (line 72)
* --fuzzy, ‘msgattrib’ option: msgattrib Invocation.
(line 95)
* --help, ‘autopoint’ option: autopoint Invocation.
- (line 32)
+ (line 39)
* --help, ‘envsubst’ option: envsubst Invocation. (line 21)
* --help, ‘gettext’ option: gettext Invocation. (line 32)
* --help, ‘gettextize’ option: gettextize Invocation.
@@ -16577,17 +16963,17 @@ Option Index
* --help, ‘msgcomm’ option: msgcomm Invocation. (line 153)
* --help, ‘msgconv’ option: msgconv Invocation. (line 130)
* --help, ‘msgen’ option: msgen Invocation. (line 133)
-* --help, ‘msgexec’ option: msgexec Invocation. (line 74)
+* --help, ‘msgexec’ option: msgexec Invocation. (line 77)
* --help, ‘msgfilter’ option: msgfilter Invocation.
- (line 206)
-* --help, ‘msgfmt’ option: msgfmt Invocation. (line 274)
+ (line 211)
+* --help, ‘msgfmt’ option: msgfmt Invocation. (line 312)
* --help, ‘msggrep’ option: msggrep Invocation. (line 200)
-* --help, ‘msginit’ option: msginit Invocation. (line 95)
+* --help, ‘msginit’ option: msginit Invocation. (line 128)
* --help, ‘msgmerge’ option: msgmerge Invocation. (line 200)
* --help, ‘msgunfmt’ option: msgunfmt Invocation. (line 155)
* --help, ‘msguniq’ option: msguniq Invocation. (line 147)
* --help, ‘ngettext’ option: ngettext Invocation. (line 31)
-* --help, ‘xgettext’ option: xgettext Invocation. (line 444)
+* --help, ‘xgettext’ option: xgettext Invocation. (line 494)
* --ignore-case, ‘msggrep’ option: msggrep Invocation. (line 110)
* --ignore-file, ‘msgattrib’ option: msgattrib Invocation.
(line 91)
@@ -16598,39 +16984,43 @@ Option Index
* --indent, ‘msgconv’ option: msgconv Invocation. (line 73)
* --indent, ‘msgen’ option: msgen Invocation. (line 76)
* --indent, ‘msgfilter’ option: msgfilter Invocation.
- (line 144)
+ (line 149)
* --indent, ‘msggrep’ option: msggrep Invocation. (line 145)
* --indent, ‘msgmerge’ option: msgmerge Invocation. (line 143)
* --indent, ‘msgunfmt’ option: msgunfmt Invocation. (line 115)
* --indent, ‘msguniq’ option: msguniq Invocation. (line 90)
-* --indent, ‘xgettext’ option: xgettext Invocation. (line 317)
-* --input, ‘msgexec’ option: msgexec Invocation. (line 47)
+* --indent, ‘xgettext’ option: xgettext Invocation. (line 359)
+* --input, ‘msgexec’ option: msgexec Invocation. (line 50)
* --input, ‘msgfilter’ option: msgfilter Invocation.
(line 30)
-* --input, ‘msginit’ option: msginit Invocation. (line 16)
+* --input, ‘msginit’ option: msginit Invocation. (line 49)
* --intl, ‘gettextize’ option: gettextize Invocation.
(line 43)
* --invert-match, ‘msggrep’ option: msggrep Invocation. (line 114)
+* --its, ‘xgettext’ option: xgettext Invocation. (line 391)
+* --itstool, ‘xgettext’ option: xgettext Invocation. (line 395)
* --java, ‘msgfmt’ option: msgfmt Invocation. (line 30)
* --java, ‘msgunfmt’ option: msgunfmt Invocation. (line 16)
* --java2, ‘msgfmt’ option: msgfmt Invocation. (line 33)
* --join-existing, ‘xgettext’ option: xgettext Invocation. (line 85)
-* --kde, ‘xgettext’ option: xgettext Invocation. (line 280)
+* --kde, ‘xgettext’ option: xgettext Invocation. (line 322)
* --keep-header, ‘msgfilter’ option: msgfilter Invocation.
- (line 147)
-* --keyword, ‘msgfmt’ option: msgfmt Invocation. (line 137)
-* --keyword, ‘xgettext’ option: xgettext Invocation. (line 129)
+ (line 152)
+* --keyword, ‘msgfmt’ option: msgfmt Invocation. (line 140)
+* --keyword, ‘xgettext’ option: xgettext Invocation. (line 171)
* --lang, ‘msgcat’ option: msgcat Invocation. (line 89)
* --lang, ‘msgen’ option: msgen Invocation. (line 57)
* --lang, ‘msgmerge’ option: msgmerge Invocation. (line 123)
+* --language, ‘msgfmt’ option: msgfmt Invocation. (line 180)
* --language, ‘xgettext’ option: xgettext Invocation. (line 54)
* --less-than, ‘msgcat’ option: msgcat Invocation. (line 52)
* --less-than, ‘msgcomm’ option: msgcomm Invocation. (line 51)
-* --locale, ‘msgfmt’ option: msgfmt Invocation. (line 80)
-* --locale, ‘msgfmt’ option <1>: msgfmt Invocation. (line 103)
-* --locale, ‘msgfmt’ option <2>: msgfmt Invocation. (line 119)
-* --locale, ‘msgfmt’ option <3>: msgfmt Invocation. (line 143)
-* --locale, ‘msginit’ option: msginit Invocation. (line 49)
+* --locale, ‘msgfmt’ option: msgfmt Invocation. (line 83)
+* --locale, ‘msgfmt’ option <1>: msgfmt Invocation. (line 106)
+* --locale, ‘msgfmt’ option <2>: msgfmt Invocation. (line 122)
+* --locale, ‘msgfmt’ option <3>: msgfmt Invocation. (line 146)
+* --locale, ‘msgfmt’ option <4>: msgfmt Invocation. (line 184)
+* --locale, ‘msginit’ option: msginit Invocation. (line 82)
* --locale, ‘msgunfmt’ option: msgunfmt Invocation. (line 45)
* --locale, ‘msgunfmt’ option <1>: msgunfmt Invocation. (line 62)
* --locale, ‘msgunfmt’ option <2>: msgunfmt Invocation. (line 78)
@@ -16640,12 +17030,15 @@ Option Index
* --msgctxt, ‘msggrep’ option: msggrep Invocation. (line 74)
* --msgid, ‘msggrep’ option: msggrep Invocation. (line 78)
* --msgid-bugs-address, ‘xgettext’ option: xgettext Invocation.
- (line 410)
+ (line 460)
* --msgstr, ‘msggrep’ option: msggrep Invocation. (line 82)
-* --msgstr-prefix, ‘xgettext’ option: xgettext Invocation. (line 433)
-* --msgstr-suffix, ‘xgettext’ option: xgettext Invocation. (line 437)
+* --msgstr-prefix, ‘xgettext’ option: xgettext Invocation. (line 483)
+* --msgstr-suffix, ‘xgettext’ option: xgettext Invocation. (line 487)
* --multi-domain, ‘msgcmp’ option: msgcmp Invocation. (line 35)
* --multi-domain, ‘msgmerge’ option: msgmerge Invocation. (line 96)
+* --newline, ‘msgfilter’ option: msgfilter Invocation.
+ (line 59)
+* --newline, ‘msgfilter’ option <1>: msgexec Invocation. (line 19)
* --no-changelog, ‘gettextize’ option: gettextize Invocation.
(line 58)
* --no-fuzzy, ‘msgattrib’ option: msgattrib Invocation.
@@ -16653,7 +17046,7 @@ Option Index
* --no-fuzzy-matching, ‘msgcmp’ option: msgcmp Invocation. (line 39)
* --no-fuzzy-matching, ‘msgmerge’ option: msgmerge Invocation.
(line 100)
-* --no-hash, ‘msgfmt’ option: msgfmt Invocation. (line 266)
+* --no-hash, ‘msgfmt’ option: msgfmt Invocation. (line 304)
* --no-location, ‘msgattrib’ option: msgattrib Invocation.
(line 134)
* --no-location, ‘msgcat’ option: msgcat Invocation. (line 110)
@@ -16661,14 +17054,14 @@ Option Index
* --no-location, ‘msgconv’ option: msgconv Invocation. (line 76)
* --no-location, ‘msgen’ option: msgen Invocation. (line 79)
* --no-location, ‘msgfilter’ option: msgfilter Invocation.
- (line 152)
+ (line 157)
* --no-location, ‘msggrep’ option: msggrep Invocation. (line 148)
* --no-location, ‘msgmerge’ option: msgmerge Invocation. (line 146)
* --no-location, ‘msguniq’ option: msguniq Invocation. (line 93)
-* --no-location, ‘xgettext’ option: xgettext Invocation. (line 320)
+* --no-location, ‘xgettext’ option: xgettext Invocation. (line 362)
* --no-obsolete, ‘msgattrib’ option: msgattrib Invocation.
(line 51)
-* --no-translator, ‘msginit’ option: msginit Invocation. (line 55)
+* --no-translator, ‘msginit’ option: msginit Invocation. (line 88)
* --no-wrap, ‘msgattrib’ option: msgattrib Invocation.
(line 169)
* --no-wrap, ‘msgcat’ option: msgcat Invocation. (line 145)
@@ -16676,17 +17069,17 @@ Option Index
* --no-wrap, ‘msgconv’ option: msgconv Invocation. (line 111)
* --no-wrap, ‘msgen’ option: msgen Invocation. (line 114)
* --no-wrap, ‘msgfilter’ option: msgfilter Invocation.
- (line 187)
+ (line 192)
* --no-wrap, ‘msggrep’ option: msggrep Invocation. (line 183)
-* --no-wrap, ‘msginit’ option: msginit Invocation. (line 85)
+* --no-wrap, ‘msginit’ option: msginit Invocation. (line 118)
* --no-wrap, ‘msgmerge’ option: msgmerge Invocation. (line 181)
* --no-wrap, ‘msgunfmt’ option: msgunfmt Invocation. (line 140)
* --no-wrap, ‘msguniq’ option: msguniq Invocation. (line 128)
-* --no-wrap, ‘xgettext’ option: xgettext Invocation. (line 356)
+* --no-wrap, ‘xgettext’ option: xgettext Invocation. (line 406)
* --obsolete, ‘msgattrib’ option: msgattrib Invocation.
(line 99)
* --omit-header, ‘msgcomm’ option: msgcomm Invocation. (line 146)
-* --omit-header, ‘xgettext’ option: xgettext Invocation. (line 371)
+* --omit-header, ‘xgettext’ option: xgettext Invocation. (line 421)
* --only-file, ‘msgattrib’ option: msgattrib Invocation.
(line 87)
* --only-fuzzy, ‘msgattrib’ option: msgattrib Invocation.
@@ -16703,14 +17096,14 @@ Option Index
* --output-file, ‘msgen’ option: msgen Invocation. (line 36)
* --output-file, ‘msgfilter’ option: msgfilter Invocation.
(line 45)
-* --output-file, ‘msgfmt’ option: msgfmt Invocation. (line 56)
+* --output-file, ‘msgfmt’ option: msgfmt Invocation. (line 59)
* --output-file, ‘msggrep’ option: msggrep Invocation. (line 30)
-* --output-file, ‘msginit’ option: msginit Invocation. (line 26)
+* --output-file, ‘msginit’ option: msginit Invocation. (line 59)
* --output-file, ‘msgmerge’ option: msgmerge Invocation. (line 51)
* --output-file, ‘msgunfmt’ option: msgunfmt Invocation. (line 93)
* --output-file, ‘msguniq’ option: msguniq Invocation. (line 37)
-* --package-name, ‘xgettext’ option: xgettext Invocation. (line 403)
-* --package-version, ‘xgettext’ option: xgettext Invocation. (line 406)
+* --package-name, ‘xgettext’ option: xgettext Invocation. (line 453)
+* --package-version, ‘xgettext’ option: xgettext Invocation. (line 456)
* --po-dir, ‘gettextize’ option: gettextize Invocation.
(line 51)
* --previous, ‘msgattrib’ option: msgattrib Invocation.
@@ -16723,12 +17116,12 @@ Option Index
* --properties-input, ‘msgcomm’ option: msgcomm Invocation. (line 69)
* --properties-input, ‘msgconv’ option: msgconv Invocation. (line 49)
* --properties-input, ‘msgen’ option: msgen Invocation. (line 46)
-* --properties-input, ‘msgexec’ option: msgexec Invocation. (line 62)
+* --properties-input, ‘msgexec’ option: msgexec Invocation. (line 65)
* --properties-input, ‘msgfilter’ option: msgfilter Invocation.
- (line 121)
-* --properties-input, ‘msgfmt’ option: msgfmt Invocation. (line 176)
+ (line 126)
+* --properties-input, ‘msgfmt’ option: msgfmt Invocation. (line 214)
* --properties-input, ‘msggrep’ option: msggrep Invocation. (line 122)
-* --properties-input, ‘msginit’ option: msginit Invocation. (line 37)
+* --properties-input, ‘msginit’ option: msginit Invocation. (line 70)
* --properties-input, ‘msgmerge’ option: msgmerge Invocation. (line 112)
* --properties-input, ‘msguniq’ option: msguniq Invocation. (line 58)
* --properties-output, ‘msgattrib’ option: msgattrib Invocation.
@@ -16738,33 +17131,34 @@ Option Index
* --properties-output, ‘msgconv’ option: msgconv Invocation. (line 95)
* --properties-output, ‘msgen’ option: msgen Invocation. (line 98)
* --properties-output, ‘msgfilter’ option: msgfilter Invocation.
- (line 171)
+ (line 176)
* --properties-output, ‘msggrep’ option: msggrep Invocation. (line 167)
-* --properties-output, ‘msginit’ option: msginit Invocation. (line 69)
+* --properties-output, ‘msginit’ option: msginit Invocation. (line 102)
* --properties-output, ‘msgmerge’ option: msgmerge Invocation.
(line 165)
* --properties-output, ‘msgunfmt’ option: msgunfmt Invocation.
(line 124)
* --properties-output, ‘msguniq’ option: msguniq Invocation. (line 112)
* --properties-output, ‘xgettext’ option: xgettext Invocation.
- (line 340)
+ (line 382)
* --qt, ‘msgfmt’ option: msgfmt Invocation. (line 46)
-* --qt, ‘xgettext’ option: xgettext Invocation. (line 276)
+* --qt, ‘xgettext’ option: xgettext Invocation. (line 318)
* --quiet, ‘msgfilter’ option: msgfilter Invocation.
- (line 91)
+ (line 96)
* --quiet, ‘msgmerge’ option: msgmerge Invocation. (line 213)
* --regexp=, ‘msggrep’ option: msggrep Invocation. (line 102)
* --repeated, ‘msguniq’ option: msguniq Invocation. (line 47)
-* --resource, ‘msgfmt’ option: msgfmt Invocation. (line 76)
-* --resource, ‘msgfmt’ option <1>: msgfmt Invocation. (line 99)
+* --resource, ‘msgfmt’ option: msgfmt Invocation. (line 79)
+* --resource, ‘msgfmt’ option <1>: msgfmt Invocation. (line 102)
* --resource, ‘msgunfmt’ option: msgunfmt Invocation. (line 41)
* --resource, ‘msgunfmt’ option <1>: msgunfmt Invocation. (line 58)
+* --sentence-end, ‘xgettext’ option: xgettext Invocation. (line 149)
* --set-fuzzy, ‘msgattrib’ option: msgattrib Invocation.
(line 65)
* --set-obsolete, ‘msgattrib’ option: msgattrib Invocation.
(line 71)
* --silent, ‘msgfilter’ option: msgfilter Invocation.
- (line 91)
+ (line 96)
* --silent, ‘msgmerge’ option: msgmerge Invocation. (line 213)
* --sort-by-file, ‘msgattrib’ option: msgattrib Invocation.
(line 181)
@@ -16773,11 +17167,11 @@ Option Index
* --sort-by-file, ‘msgconv’ option: msgconv Invocation. (line 123)
* --sort-by-file, ‘msgen’ option: msgen Invocation. (line 126)
* --sort-by-file, ‘msgfilter’ option: msgfilter Invocation.
- (line 199)
+ (line 204)
* --sort-by-file, ‘msggrep’ option: msggrep Invocation. (line 193)
* --sort-by-file, ‘msgmerge’ option: msgmerge Invocation. (line 193)
* --sort-by-file, ‘msguniq’ option: msguniq Invocation. (line 140)
-* --sort-by-file, ‘xgettext’ option: xgettext Invocation. (line 368)
+* --sort-by-file, ‘xgettext’ option: xgettext Invocation. (line 418)
* --sort-output, ‘msgattrib’ option: msgattrib Invocation.
(line 176)
* --sort-output, ‘msgcat’ option: msgcat Invocation. (line 152)
@@ -16785,14 +17179,14 @@ Option Index
* --sort-output, ‘msgconv’ option: msgconv Invocation. (line 118)
* --sort-output, ‘msgen’ option: msgen Invocation. (line 121)
* --sort-output, ‘msgfilter’ option: msgfilter Invocation.
- (line 194)
+ (line 199)
* --sort-output, ‘msggrep’ option: msggrep Invocation. (line 189)
* --sort-output, ‘msgmerge’ option: msgmerge Invocation. (line 188)
* --sort-output, ‘msgunfmt’ option: msgunfmt Invocation. (line 147)
* --sort-output, ‘msguniq’ option: msguniq Invocation. (line 135)
-* --sort-output, ‘xgettext’ option: xgettext Invocation. (line 363)
-* --source, ‘msgfmt’ option: msgfmt Invocation. (line 88)
-* --statistics, ‘msgfmt’ option: msgfmt Invocation. (line 281)
+* --sort-output, ‘xgettext’ option: xgettext Invocation. (line 413)
+* --source, ‘msgfmt’ option: msgfmt Invocation. (line 91)
+* --statistics, ‘msgfmt’ option: msgfmt Invocation. (line 319)
* --strict, ‘msgattrib’ option: msgattrib Invocation.
(line 147)
* --strict, ‘msgcat’ option: msgcat Invocation. (line 123)
@@ -16800,25 +17194,25 @@ Option Index
* --strict, ‘msgconv’ option: msgconv Invocation. (line 89)
* --strict, ‘msgen’ option: msgen Invocation. (line 92)
* --strict, ‘msgfilter’ option: msgfilter Invocation.
- (line 165)
-* --strict, ‘msgfmt’ option: msgfmt Invocation. (line 59)
+ (line 170)
+* --strict, ‘msgfmt’ option: msgfmt Invocation. (line 62)
* --strict, ‘msggrep’ option: msggrep Invocation. (line 161)
* --strict, ‘msgmerge’ option: msgmerge Invocation. (line 159)
* --strict, ‘msgunfmt’ option: msgunfmt Invocation. (line 118)
* --strict, ‘msguniq’ option: msguniq Invocation. (line 106)
-* --strict, ‘xgettext’ option: xgettext Invocation. (line 335)
+* --strict, ‘xgettext’ option: xgettext Invocation. (line 377)
* --stringtable-input, ‘msgattrib’ option: msgattrib Invocation.
(line 111)
* --stringtable-input, ‘msgcat’ option: msgcat Invocation. (line 74)
* --stringtable-input, ‘msgcmp’ option: msgcmp Invocation. (line 61)
* --stringtable-input, ‘msgcomm’ option: msgcomm Invocation. (line 73)
* --stringtable-input, ‘msgen’ option: msgen Invocation. (line 50)
-* --stringtable-input, ‘msgexec’ option: msgexec Invocation. (line 66)
+* --stringtable-input, ‘msgexec’ option: msgexec Invocation. (line 69)
* --stringtable-input, ‘msgfilter’ option: msgfilter Invocation.
- (line 125)
-* --stringtable-input, ‘msgfmt’ option: msgfmt Invocation. (line 180)
+ (line 130)
+* --stringtable-input, ‘msgfmt’ option: msgfmt Invocation. (line 218)
* --stringtable-input, ‘msggrep’ option: msggrep Invocation. (line 126)
-* --stringtable-input, ‘msginit’ option: msginit Invocation. (line 41)
+* --stringtable-input, ‘msginit’ option: msginit Invocation. (line 74)
* --stringtable-input, ‘msgmerge’ option: msgmerge Invocation.
(line 116)
* --stringtable-input, ‘msgonv’ option: msgconv Invocation. (line 53)
@@ -16830,16 +17224,16 @@ Option Index
* --stringtable-output, ‘msgconv’ option: msgconv Invocation. (line 100)
* --stringtable-output, ‘msgen’ option: msgen Invocation. (line 103)
* --stringtable-output, ‘msgfilter’ option: msgfilter Invocation.
- (line 176)
+ (line 181)
* --stringtable-output, ‘msggrep’ option: msggrep Invocation. (line 172)
-* --stringtable-output, ‘msginit’ option: msginit Invocation. (line 74)
+* --stringtable-output, ‘msginit’ option: msginit Invocation. (line 107)
* --stringtable-output, ‘msgmerge’ option: msgmerge Invocation.
(line 170)
* --stringtable-output, ‘msgunfmt’ option: msgunfmt Invocation.
(line 129)
* --stringtable-output, ‘msguniq’ option: msguniq Invocation. (line 117)
* --stringtable-output, ‘xgettext’ option: xgettext Invocation.
- (line 345)
+ (line 387)
* --style, ‘msgattrib’ option: msgattrib Invocation.
(line 123)
* --style, ‘msgcat’ option: msgcat Invocation. (line 99)
@@ -16848,25 +17242,26 @@ Option Index
* --style, ‘msgconv’ option: msgconv Invocation. (line 65)
* --style, ‘msgen’ option: msgen Invocation. (line 68)
* --style, ‘msgfilter’ option: msgfilter Invocation.
- (line 137)
+ (line 142)
* --style, ‘msggrep’ option: msggrep Invocation. (line 138)
-* --style, ‘msginit’ option: msginit Invocation. (line 64)
+* --style, ‘msginit’ option: msginit Invocation. (line 97)
* --style, ‘msgmerge’ option: msgmerge Invocation. (line 135)
* --style, ‘msgunfmt’ option: msgunfmt Invocation. (line 107)
* --style, ‘msguniq’ option: msguniq Invocation. (line 82)
-* --style, ‘xgettext’ option: xgettext Invocation. (line 309)
+* --style, ‘xgettext’ option: xgettext Invocation. (line 351)
* --suffix, ‘msgmerge’ option: msgmerge Invocation. (line 65)
* --symlink, ‘gettextize’ option: gettextize Invocation.
(line 63)
* --tcl, ‘msgfmt’ option: msgfmt Invocation. (line 43)
* --tcl, ‘msgunfmt’ option: msgunfmt Invocation. (line 26)
-* --template, ‘msgfmt’ option: msgfmt Invocation. (line 133)
+* --template, ‘msgfmt’ option: msgfmt Invocation. (line 136)
+* --template, ‘msgfmt’ option <1>: msgfmt Invocation. (line 176)
* --to-code, ‘msgcat’ option: msgcat Invocation. (line 82)
* --to-code, ‘msgconv’ option: msgconv Invocation. (line 40)
* --to-code, ‘msguniq’ option: msguniq Invocation. (line 70)
* --translated, ‘msgattrib’ option: msgattrib Invocation.
(line 39)
-* --trigraphs, ‘xgettext’ option: xgettext Invocation. (line 271)
+* --trigraphs, ‘xgettext’ option: xgettext Invocation. (line 313)
* --unique, ‘msgcat’ option: msgcat Invocation. (line 62)
* --unique, ‘msgcomm’ option: msgcomm Invocation. (line 61)
* --unique, ‘msguniq’ option: msguniq Invocation. (line 51)
@@ -16876,14 +17271,14 @@ Option Index
* --use-first, ‘msgcat’ option: msgcat Invocation. (line 85)
* --use-first, ‘msguniq’ option: msguniq Invocation. (line 73)
* --use-fuzzy, ‘msgcmp’ option: msgcmp Invocation. (line 43)
-* --use-fuzzy, ‘msgfmt’ option: msgfmt Invocation. (line 241)
+* --use-fuzzy, ‘msgfmt’ option: msgfmt Invocation. (line 279)
* --use-untranslated, ‘msgcmp’ option: msgcmp Invocation. (line 49)
* --variables, ‘envsubst’ option: envsubst Invocation. (line 15)
-* --verbose, ‘msgfmt’ option: msgfmt Invocation. (line 287)
+* --verbose, ‘msgfmt’ option: msgfmt Invocation. (line 325)
* --verbose, ‘msgmerge’ option: msgmerge Invocation. (line 208)
* --verbose, ‘msgunfmt’ option: msgunfmt Invocation. (line 163)
* --version, ‘autopoint’ option: autopoint Invocation.
- (line 35)
+ (line 42)
* --version, ‘envsubst’ option: envsubst Invocation. (line 25)
* --version, ‘gettext’ option: gettext Invocation. (line 40)
* --version, ‘gettextize’ option: gettextize Invocation.
@@ -16895,17 +17290,17 @@ Option Index
* --version, ‘msgcomm’ option: msgcomm Invocation. (line 157)
* --version, ‘msgconv’ option: msgconv Invocation. (line 134)
* --version, ‘msgen’ option: msgen Invocation. (line 137)
-* --version, ‘msgexec’ option: msgexec Invocation. (line 78)
+* --version, ‘msgexec’ option: msgexec Invocation. (line 81)
* --version, ‘msgfilter’ option: msgfilter Invocation.
- (line 210)
-* --version, ‘msgfmt’ option: msgfmt Invocation. (line 278)
+ (line 215)
+* --version, ‘msgfmt’ option: msgfmt Invocation. (line 316)
* --version, ‘msggrep’ option: msggrep Invocation. (line 204)
-* --version, ‘msginit’ option: msginit Invocation. (line 99)
+* --version, ‘msginit’ option: msginit Invocation. (line 132)
* --version, ‘msgmerge’ option: msgmerge Invocation. (line 204)
* --version, ‘msgunfmt’ option: msgunfmt Invocation. (line 159)
* --version, ‘msguniq’ option: msguniq Invocation. (line 151)
* --version, ‘ngettext’ option: ngettext Invocation. (line 35)
-* --version, ‘xgettext’ option: xgettext Invocation. (line 448)
+* --version, ‘xgettext’ option: xgettext Invocation. (line 498)
* --width, ‘msgattrib’ option: msgattrib Invocation.
(line 163)
* --width, ‘msgcat’ option: msgcat Invocation. (line 139)
@@ -16913,27 +17308,28 @@ Option Index
* --width, ‘msgconv’ option: msgconv Invocation. (line 105)
* --width, ‘msgen’ option: msgen Invocation. (line 108)
* --width, ‘msgfilter’ option: msgfilter Invocation.
- (line 181)
+ (line 186)
* --width, ‘msggrep’ option: msggrep Invocation. (line 177)
-* --width, ‘msginit’ option: msginit Invocation. (line 79)
+* --width, ‘msginit’ option: msginit Invocation. (line 112)
* --width, ‘msgmerge’ option: msgmerge Invocation. (line 175)
* --width, ‘msgunfmt’ option: msgunfmt Invocation. (line 134)
* --width, ‘msguniq’ option: msguniq Invocation. (line 122)
-* --width, ‘xgettext’ option: xgettext Invocation. (line 350)
+* --width, ‘xgettext’ option: xgettext Invocation. (line 400)
+* --xml, ‘msgfmt’ option: msgfmt Invocation. (line 52)
* -<, ‘msgcat’ option: msgcat Invocation. (line 52)
* -<, ‘msgcomm’ option: msgcomm Invocation. (line 51)
* ->, ‘msgcat’ option: msgcat Invocation. (line 57)
* ->, ‘msgcomm’ option: msgcomm Invocation. (line 56)
-* -a, ‘msgfmt’ option: msgfmt Invocation. (line 250)
-* -a, ‘xgettext’ option: xgettext Invocation. (line 120)
-* -c, ‘msgfmt’ option: msgfmt Invocation. (line 188)
-* -C, ‘msgfmt’ option: msgfmt Invocation. (line 225)
+* -a, ‘msgfmt’ option: msgfmt Invocation. (line 288)
+* -a, ‘xgettext’ option: xgettext Invocation. (line 162)
+* -c, ‘msgfmt’ option: msgfmt Invocation. (line 226)
+* -C, ‘msgfmt’ option: msgfmt Invocation. (line 263)
* -C, ‘msggrep’ option: msggrep Invocation. (line 86)
* -C, ‘msgmerge’ option: msgmerge Invocation. (line 36)
* -C, ‘xgettext’ option: xgettext Invocation. (line 63)
* -c, ‘xgettext’ option: xgettext Invocation. (line 94)
* -d, ‘autopoint’ option: autopoint Invocation.
- (line 24)
+ (line 31)
* -d, ‘gettext’ option: gettext Invocation. (line 16)
* -d, ‘gettextize’ option: gettextize Invocation.
(line 72)
@@ -16944,14 +17340,15 @@ Option Index
* -D, ‘msgcomm’ option: msgcomm Invocation. (line 30)
* -D, ‘msgconv’ option: msgconv Invocation. (line 19)
* -D, ‘msgen’ option: msgen Invocation. (line 25)
-* -D, ‘msgexec’ option: msgexec Invocation. (line 51)
+* -D, ‘msgexec’ option: msgexec Invocation. (line 54)
* -D, ‘msgfilter’ option: msgfilter Invocation.
(line 34)
* -D, ‘msgfmt’ option: msgfmt Invocation. (line 18)
-* -d, ‘msgfmt’ option: msgfmt Invocation. (line 85)
-* -d, ‘msgfmt’ option <1>: msgfmt Invocation. (line 108)
-* -d, ‘msgfmt’ option <2>: msgfmt Invocation. (line 124)
-* -d, ‘msgfmt’ option <3>: msgfmt Invocation. (line 148)
+* -d, ‘msgfmt’ option: msgfmt Invocation. (line 88)
+* -d, ‘msgfmt’ option <1>: msgfmt Invocation. (line 111)
+* -d, ‘msgfmt’ option <2>: msgfmt Invocation. (line 127)
+* -d, ‘msgfmt’ option <3>: msgfmt Invocation. (line 151)
+* -d, ‘msgfmt’ option <4>: msgfmt Invocation. (line 189)
* -D, ‘msggrep’ option: msggrep Invocation. (line 19)
* -D, ‘msgmerge’ option: msgmerge Invocation. (line 30)
* -d, ‘msgunfmt’ option: msgunfmt Invocation. (line 67)
@@ -16964,13 +17361,13 @@ Option Index
* -e, ‘gettext’ option: gettext Invocation. (line 20)
* -E, ‘gettext’ option: gettext Invocation. (line 27)
* -e, ‘msgfilter’ option: msgfilter Invocation.
- (line 82)
+ (line 87)
* -E, ‘msggrep’ option: msggrep Invocation. (line 94)
* -e, ‘msggrep’ option: msggrep Invocation. (line 102)
* -e, ‘ngettext’ option: ngettext Invocation. (line 19)
* -E, ‘ngettext’ option: ngettext Invocation. (line 26)
* -f, ‘autopoint’ option: autopoint Invocation.
- (line 20)
+ (line 27)
* -f, ‘gettextize’ option: gettextize Invocation.
(line 40)
* -F, ‘msgattrib’ option: msgattrib Invocation.
@@ -16982,16 +17379,16 @@ Option Index
* -F, ‘msgconv’ option: msgconv Invocation. (line 123)
* -F, ‘msgen’ option: msgen Invocation. (line 126)
* -f, ‘msgfilter’ option: msgfilter Invocation.
- (line 86)
+ (line 91)
* -F, ‘msgfilter’ option: msgfilter Invocation.
- (line 199)
-* -f, ‘msgfmt’ option: msgfmt Invocation. (line 241)
+ (line 204)
+* -f, ‘msgfmt’ option: msgfmt Invocation. (line 279)
* -F, ‘msggrep’ option: msggrep Invocation. (line 98)
* -f, ‘msggrep’ option: msggrep Invocation. (line 106)
* -F, ‘msgmerge’ option: msgmerge Invocation. (line 193)
* -F, ‘msguniq’ option: msguniq Invocation. (line 140)
* -f, ‘xgettext’ option: xgettext Invocation. (line 19)
-* -F, ‘xgettext’ option: xgettext Invocation. (line 368)
+* -F, ‘xgettext’ option: xgettext Invocation. (line 418)
* -h, ‘envsubst’ option: envsubst Invocation. (line 21)
* -h, ‘gettext’ option: gettext Invocation. (line 32)
* -h, ‘msgattrib’ option: msgattrib Invocation.
@@ -17001,44 +17398,46 @@ Option Index
* -h, ‘msgcomm’ option: msgcomm Invocation. (line 153)
* -h, ‘msgconv’ option: msgconv Invocation. (line 130)
* -h, ‘msgen’ option: msgen Invocation. (line 133)
-* -h, ‘msgexec’ option: msgexec Invocation. (line 74)
+* -h, ‘msgexec’ option: msgexec Invocation. (line 77)
* -h, ‘msgfilter’ option: msgfilter Invocation.
- (line 206)
-* -h, ‘msgfmt’ option: msgfmt Invocation. (line 274)
+ (line 211)
+* -h, ‘msgfmt’ option: msgfmt Invocation. (line 312)
* -h, ‘msggrep’ option: msggrep Invocation. (line 200)
-* -h, ‘msginit’ option: msginit Invocation. (line 95)
+* -h, ‘msginit’ option: msginit Invocation. (line 128)
* -h, ‘msgmerge’ option: msgmerge Invocation. (line 200)
* -h, ‘msgunfmt’ option: msgunfmt Invocation. (line 155)
* -h, ‘msguniq’ option: msguniq Invocation. (line 147)
* -h, ‘ngettext’ option: ngettext Invocation. (line 31)
-* -h, ‘xgettext’ option: xgettext Invocation. (line 444)
+* -h, ‘xgettext’ option: xgettext Invocation. (line 494)
* -i, ‘msgattrib’ option: msgattrib Invocation.
(line 131)
* -i, ‘msgcat’ option: msgcat Invocation. (line 107)
* -i, ‘msgcomm’ option: msgcomm Invocation. (line 93)
* -i, ‘msgconv’ option: msgconv Invocation. (line 73)
* -i, ‘msgen’ option: msgen Invocation. (line 76)
-* -i, ‘msgexec’ option: msgexec Invocation. (line 47)
+* -i, ‘msgexec’ option: msgexec Invocation. (line 50)
* -i, ‘msgfilter’ option: msgfilter Invocation.
(line 30)
* -i, ‘msggrep’ option: msggrep Invocation. (line 110)
-* -i, ‘msginit’ option: msginit Invocation. (line 16)
+* -i, ‘msginit’ option: msginit Invocation. (line 49)
* -i, ‘msgmerge’ option: msgmerge Invocation. (line 143)
* -i, ‘msgunfmt’ option: msgunfmt Invocation. (line 115)
* -i, ‘msguniq’ option: msguniq Invocation. (line 90)
-* -i, ‘xgettext’ option: xgettext Invocation. (line 317)
+* -i, ‘xgettext’ option: xgettext Invocation. (line 359)
* -j, ‘msgfmt’ option: msgfmt Invocation. (line 30)
* -J, ‘msggrep’ option: msggrep Invocation. (line 74)
* -j, ‘msgunfmt’ option: msgunfmt Invocation. (line 16)
* -j, ‘xgettext’ option: xgettext Invocation. (line 85)
-* -k, ‘msgfmt’ option: msgfmt Invocation. (line 137)
+* -k, ‘msgfmt’ option: msgfmt Invocation. (line 140)
* -K, ‘msggrep’ option: msggrep Invocation. (line 78)
-* -k, ‘xgettext’ option: xgettext Invocation. (line 129)
-* -l, ‘msgfmt’ option: msgfmt Invocation. (line 80)
-* -l, ‘msgfmt’ option <1>: msgfmt Invocation. (line 103)
-* -l, ‘msgfmt’ option <2>: msgfmt Invocation. (line 119)
-* -l, ‘msgfmt’ option <3>: msgfmt Invocation. (line 143)
-* -l, ‘msginit’ option: msginit Invocation. (line 49)
+* -k, ‘xgettext’ option: xgettext Invocation. (line 171)
+* -l, ‘msgfmt’ option: msgfmt Invocation. (line 83)
+* -l, ‘msgfmt’ option <1>: msgfmt Invocation. (line 106)
+* -l, ‘msgfmt’ option <2>: msgfmt Invocation. (line 122)
+* -l, ‘msgfmt’ option <3>: msgfmt Invocation. (line 146)
+* -L, ‘msgfmt’ option: msgfmt Invocation. (line 180)
+* -l, ‘msgfmt’ option <4>: msgfmt Invocation. (line 184)
+* -l, ‘msginit’ option: msginit Invocation. (line 82)
* -l, ‘msgunfmt’ option: msgunfmt Invocation. (line 45)
* -l, ‘msgunfmt’ option <1>: msgunfmt Invocation. (line 62)
* -l, ‘msgunfmt’ option <2>: msgunfmt Invocation. (line 78)
@@ -17046,8 +17445,8 @@ Option Index
* -m, ‘msgcmp’ option: msgcmp Invocation. (line 35)
* -M, ‘msggrep’ option: msggrep Invocation. (line 70)
* -m, ‘msgmerge’ option: msgmerge Invocation. (line 96)
-* -m, ‘xgettext’ option: xgettext Invocation. (line 433)
-* -M, ‘xgettext’ option: xgettext Invocation. (line 437)
+* -m, ‘xgettext’ option: xgettext Invocation. (line 483)
+* -M, ‘xgettext’ option: xgettext Invocation. (line 487)
* -n, ‘gettext’ option: gettext Invocation. (line 35)
* -n, ‘msgattrib’ option: msgattrib Invocation.
(line 138)
@@ -17055,11 +17454,11 @@ Option Index
* -N, ‘msgcmp’ option: msgcmp Invocation. (line 39)
* -n, ‘msgcomm’ option: msgcomm Invocation. (line 100)
* -n, ‘msgfilter’ option: msgfilter Invocation.
- (line 91)
+ (line 96)
* -N, ‘msggrep’ option: msggrep Invocation. (line 65)
* -N, ‘msgmerge’ option: msgmerge Invocation. (line 100)
* -n, ‘msguniq’ option: msguniq Invocation. (line 97)
-* -n, ‘xgettext’ option: xgettext Invocation. (line 326)
+* -n, ‘xgettext’ option: xgettext Invocation. (line 368)
* -o, ‘msgattrib’ option: msgattrib Invocation.
(line 30)
* -o, ‘msgcat’ option: msgcat Invocation. (line 42)
@@ -17068,9 +17467,9 @@ Option Index
* -o, ‘msgen’ option: msgen Invocation. (line 36)
* -o, ‘msgfilter’ option: msgfilter Invocation.
(line 45)
-* -o, ‘msgfmt’ option: msgfmt Invocation. (line 56)
+* -o, ‘msgfmt’ option: msgfmt Invocation. (line 59)
* -o, ‘msggrep’ option: msggrep Invocation. (line 30)
-* -o, ‘msginit’ option: msginit Invocation. (line 26)
+* -o, ‘msginit’ option: msginit Invocation. (line 59)
* -o, ‘msgmerge’ option: msgmerge Invocation. (line 51)
* -o, ‘msgunfmt’ option: msgunfmt Invocation. (line 93)
* -o, ‘msguniq’ option: msguniq Invocation. (line 37)
@@ -17088,16 +17487,16 @@ Option Index
* -p, ‘msgconv’ option: msgconv Invocation. (line 95)
* -P, ‘msgen’ option: msgen Invocation. (line 46)
* -p, ‘msgen’ option: msgen Invocation. (line 98)
-* -P, ‘msgexec’ option: msgexec Invocation. (line 62)
+* -P, ‘msgexec’ option: msgexec Invocation. (line 65)
* -P, ‘msgfilter’ option: msgfilter Invocation.
- (line 121)
+ (line 126)
* -p, ‘msgfilter’ option: msgfilter Invocation.
- (line 171)
-* -P, ‘msgfmt’ option: msgfmt Invocation. (line 176)
+ (line 176)
+* -P, ‘msgfmt’ option: msgfmt Invocation. (line 214)
* -P, ‘msggrep’ option: msggrep Invocation. (line 122)
* -p, ‘msggrep’ option: msggrep Invocation. (line 167)
-* -P, ‘msginit’ option: msginit Invocation. (line 37)
-* -p, ‘msginit’ option: msginit Invocation. (line 69)
+* -P, ‘msginit’ option: msginit Invocation. (line 70)
+* -p, ‘msginit’ option: msginit Invocation. (line 102)
* -P, ‘msgmerge’ option: msgmerge Invocation. (line 112)
* -p, ‘msgmerge’ option: msgmerge Invocation. (line 165)
* -p, ‘msgunfmt’ option: msgunfmt Invocation. (line 124)
@@ -17105,8 +17504,8 @@ Option Index
* -p, ‘msguniq’ option: msguniq Invocation. (line 112)
* -p, ‘xgettext’ option: xgettext Invocation. (line 44)
* -q, ‘msgmerge’ option: msgmerge Invocation. (line 213)
-* -r, ‘msgfmt’ option: msgfmt Invocation. (line 76)
-* -r, ‘msgfmt’ option <1>: msgfmt Invocation. (line 99)
+* -r, ‘msgfmt’ option: msgfmt Invocation. (line 79)
+* -r, ‘msgfmt’ option <1>: msgfmt Invocation. (line 102)
* -r, ‘msgunfmt’ option: msgunfmt Invocation. (line 41)
* -r, ‘msgunfmt’ option <1>: msgunfmt Invocation. (line 58)
* -s, ‘msgattrib’ option: msgattrib Invocation.
@@ -17116,16 +17515,16 @@ Option Index
* -s, ‘msgconv’ option: msgconv Invocation. (line 118)
* -s, ‘msgen’ option: msgen Invocation. (line 121)
* -s, ‘msgfilter’ option: msgfilter Invocation.
- (line 194)
+ (line 199)
* -s, ‘msgmerge’ option: msgmerge Invocation. (line 188)
* -s, ‘msgunfmt’ option: msgunfmt Invocation. (line 147)
* -s, ‘msguniq’ option: msguniq Invocation. (line 135)
-* -s, ‘xgettext’ option: xgettext Invocation. (line 363)
+* -s, ‘xgettext’ option: xgettext Invocation. (line 413)
* -t, ‘msgcat’ option: msgcat Invocation. (line 82)
* -t, ‘msgconv’ option: msgconv Invocation. (line 40)
* -T, ‘msggrep’ option: msggrep Invocation. (line 82)
* -t, ‘msguniq’ option: msguniq Invocation. (line 70)
-* -T, ‘xgettext’ option: xgettext Invocation. (line 271)
+* -T, ‘xgettext’ option: xgettext Invocation. (line 313)
* -u, ‘msgcat’ option: msgcat Invocation. (line 62)
* -u, ‘msgcomm’ option: msgcomm Invocation. (line 61)
* -U, ‘msgmerge’ option: msgmerge Invocation. (line 44)
@@ -17140,21 +17539,21 @@ Option Index
* -V, ‘msgcomm’ option: msgcomm Invocation. (line 157)
* -V, ‘msgconv’ option: msgconv Invocation. (line 134)
* -V, ‘msgen’ option: msgen Invocation. (line 137)
-* -V, ‘msgexec’ option: msgexec Invocation. (line 78)
+* -V, ‘msgexec’ option: msgexec Invocation. (line 81)
* -V, ‘msgfilter’ option: msgfilter Invocation.
- (line 210)
-* -V, ‘msgfmt’ option: msgfmt Invocation. (line 278)
-* -v, ‘msgfmt’ option: msgfmt Invocation. (line 287)
+ (line 215)
+* -V, ‘msgfmt’ option: msgfmt Invocation. (line 316)
+* -v, ‘msgfmt’ option: msgfmt Invocation. (line 325)
* -v, ‘msggrep’ option: msggrep Invocation. (line 114)
* -V, ‘msggrep’ option: msggrep Invocation. (line 204)
-* -V, ‘msginit’ option: msginit Invocation. (line 99)
+* -V, ‘msginit’ option: msginit Invocation. (line 132)
* -V, ‘msgmerge’ option: msgmerge Invocation. (line 204)
* -v, ‘msgmerge’ option: msgmerge Invocation. (line 208)
* -V, ‘msgunfmt’ option: msgunfmt Invocation. (line 159)
* -v, ‘msgunfmt’ option: msgunfmt Invocation. (line 163)
* -V, ‘msguniq’ option: msguniq Invocation. (line 151)
* -V, ‘ngettext’ option: ngettext Invocation. (line 35)
-* -V, ‘xgettext’ option: xgettext Invocation. (line 448)
+* -V, ‘xgettext’ option: xgettext Invocation. (line 498)
* -w, ‘msgattrib’ option: msgattrib Invocation.
(line 163)
* -w, ‘msgcat’ option: msgcat Invocation. (line 139)
@@ -17162,13 +17561,13 @@ Option Index
* -w, ‘msgconv’ option: msgconv Invocation. (line 105)
* -w, ‘msgen’ option: msgen Invocation. (line 108)
* -w, ‘msgfilter’ option: msgfilter Invocation.
- (line 181)
+ (line 186)
* -w, ‘msggrep’ option: msggrep Invocation. (line 177)
-* -w, ‘msginit’ option: msginit Invocation. (line 79)
+* -w, ‘msginit’ option: msginit Invocation. (line 112)
* -w, ‘msgmerge’ option: msgmerge Invocation. (line 175)
* -w, ‘msgunfmt’ option: msgunfmt Invocation. (line 134)
* -w, ‘msguniq’ option: msguniq Invocation. (line 122)
-* -w, ‘xgettext’ option: xgettext Invocation. (line 350)
+* -w, ‘xgettext’ option: xgettext Invocation. (line 400)
* -X, ‘msggrep’ option: msggrep Invocation. (line 90)
* -x, ‘xgettext’ option: xgettext Invocation. (line 89)
@@ -17212,19 +17611,19 @@ Variable Index
(line 12)
* LC_TIME, environment variable <1>: gettext grok. (line 29)
* LINGUAS, environment variable: Installers. (line 17)
-* MSGEXEC_LOCATION, environment variable: msgexec Invocation. (line 18)
-* MSGEXEC_MSGCTXT, environment variable: msgexec Invocation. (line 18)
-* MSGEXEC_MSGID, environment variable: msgexec Invocation. (line 18)
+* MSGEXEC_LOCATION, environment variable: msgexec Invocation. (line 21)
+* MSGEXEC_MSGCTXT, environment variable: msgexec Invocation. (line 21)
+* MSGEXEC_MSGID, environment variable: msgexec Invocation. (line 21)
* MSGEXEC_MSGID_PLURAL, environment variable: msgexec Invocation.
- (line 18)
+ (line 21)
* MSGEXEC_PLURAL_FORM, environment variable: msgexec Invocation.
- (line 18)
+ (line 21)
* MSGEXEC_PREV_MSGCTXT, environment variable: msgexec Invocation.
- (line 18)
+ (line 21)
* MSGEXEC_PREV_MSGID, environment variable: msgexec Invocation.
- (line 18)
+ (line 21)
* MSGEXEC_PREV_MSGID_PLURAL, environment variable: msgexec Invocation.
- (line 18)
+ (line 21)
* MSGFILTER_LOCATION, environment variable: msgfilter Invocation.
(line 11)
* MSGFILTER_MSGCTXT, environment variable: msgfilter Invocation.
@@ -17522,7 +17921,7 @@ General Index
* ‘acconfig.h’ file: acconfig. (line 6)
* accumulating translations: Creating Compendia. (line 14)
* ‘aclocal.m4’ file: aclocal. (line 6)
-* adding keywords, ‘xgettext’: xgettext Invocation. (line 133)
+* adding keywords, ‘xgettext’: xgettext Invocation. (line 175)
* ambiguities: Preparing Strings. (line 41)
* apply a filter to translations: msgfilter Invocation.
(line 8)
@@ -17548,11 +17947,11 @@ General Index
* bibliography: References. (line 6)
* big picture: Overview. (line 6)
* bind_textdomain_codeset: Charset conversion. (line 26)
-* Boost format strings: xgettext Invocation. (line 284)
+* Boost format strings: xgettext Invocation. (line 326)
* boost-format flag: PO Files. (line 200)
* bug report address: Introduction. (line 24)
* C and C-like languages: C. (line 6)
-* C trigraphs: xgettext Invocation. (line 271)
+* C trigraphs: xgettext Invocation. (line 313)
* C#: C#. (line 6)
* C# mode, and ‘msgfmt’ program: msgfmt Invocation. (line 36)
* C# mode, and ‘msgunfmt’ program: msgunfmt Invocation. (line 19)
@@ -17562,7 +17961,7 @@ General Index
* C#, string concatenation: Preparing Strings. (line 168)
* c-format flag: PO Files. (line 88)
* c-format, and ‘xgettext’: c-format Flag. (line 47)
-* catalog encoding and ‘msgexec’ output: msgexec Invocation. (line 32)
+* catalog encoding and ‘msgexec’ output: msgexec Invocation. (line 35)
* ‘catclose’, a ‘catgets’ function: Interface to catgets.
(line 44)
* ‘catgets’, a ‘catgets’ function: Interface to catgets.
@@ -17573,7 +17972,7 @@ General Index
* character encoding: Aspects. (line 67)
* charset conversion at runtime: Charset conversion. (line 6)
* charset of PO files: Header Entry. (line 101)
-* check format strings: msgfmt Invocation. (line 192)
+* check format strings: msgfmt Invocation. (line 230)
* checking of translations: Manipulating. (line 41)
* clisp: Common Lisp. (line 6)
* clisp C sources: clisp C. (line 6)
@@ -17585,7 +17984,7 @@ General Index
* Common Lisp: Common Lisp. (line 6)
* compare PO files: msgcmp Invocation. (line 8)
* comparison of interfaces: Comparison. (line 6)
-* compatibility with X/Open ‘msgfmt’: msgfmt Invocation. (line 225)
+* compatibility with X/Open ‘msgfmt’: msgfmt Invocation. (line 263)
* compendium: Compendium. (line 6)
* compendium, creating: Creating Compendia. (line 6)
* concatenate PO files: msgcat Invocation. (line 8)
@@ -17595,7 +17994,7 @@ General Index
* ‘config.h.in’ file: config.h.in. (line 6)
* context: Contexts. (line 6)
* context, argument specification in ‘xgettext’: xgettext Invocation.
- (line 133)
+ (line 175)
* context, in MO files: MO Files. (line 71)
* context, in PO files: PO Files. (line 211)
* control characters: Preparing Strings. (line 190)
@@ -17615,7 +18014,7 @@ General Index
* dcpgettext: Contexts. (line 56)
* dcpgettext_expr: Contexts. (line 112)
* debugging messages marked as format strings: xgettext Invocation.
- (line 288)
+ (line 330)
* Desktop Entry mode, and ‘msgfmt’ program: msgfmt Invocation.
(line 49)
* dialect: Manipulating. (line 28)
@@ -17658,11 +18057,11 @@ General Index
* filter messages according to attributes: msgattrib Invocation.
(line 8)
* find common messages: msgcomm Invocation. (line 8)
-* force use of fuzzy entries: msgfmt Invocation. (line 241)
+* force use of fuzzy entries: msgfmt Invocation. (line 279)
* format strings: c-format Flag. (line 6)
* Free Pascal: Pascal. (line 6)
-* function attribute, __format_arg__: xgettext Invocation. (line 249)
-* function attribute, __format__: xgettext Invocation. (line 235)
+* function attribute, __format_arg__: xgettext Invocation. (line 291)
+* function attribute, __format__: xgettext Invocation. (line 277)
* fuzzy entries: Fuzzy Entries. (line 6)
* fuzzy flag: PO Files. (line 78)
* gawk: gawk. (line 6)
@@ -17713,10 +18112,10 @@ General Index
* Java, string concatenation: Preparing Strings. (line 168)
* java-format flag: PO Files. (line 143)
* javascript-format flag: PO Files. (line 208)
-* KDE format strings: xgettext Invocation. (line 280)
+* KDE format strings: xgettext Invocation. (line 322)
* KDE PO file editor: KBabel. (line 5)
* kde-format flag: PO Files. (line 196)
-* keyboard accelerator checking: msgfmt Invocation. (line 229)
+* keyboard accelerator checking: msgfmt Invocation. (line 267)
* l10n: Concepts. (line 6)
* language codes: Language Codes. (line 6)
* language selection: Locale Environment Variables.
@@ -17778,7 +18177,7 @@ General Index
* marking translatable strings: Overview. (line 34)
* markup: Preparing Strings. (line 190)
* menu entries: Contexts. (line 6)
-* menu, keyboard accelerator support: msgfmt Invocation. (line 229)
+* menu, keyboard accelerator support: msgfmt Invocation. (line 267)
* merge PO files: msgcat Invocation. (line 8)
* merging two PO files: Manipulating. (line 10)
* message catalog files location: Locating Catalogs. (line 6)
@@ -17786,7 +18185,7 @@ General Index
* migration from earlier versions of ‘gettext’: Prerequisites.
(line 6)
* ‘mkinstalldirs’ file: mkinstalldirs. (line 6)
-* mnemonics of menu entries: msgfmt Invocation. (line 229)
+* mnemonics of menu entries: msgfmt Invocation. (line 267)
* MO file’s format: MO Files. (line 6)
* modify message attributes: msgattrib Invocation.
(line 59)
@@ -17800,7 +18199,7 @@ General Index
* ‘msgen’ program, usage: msgen Invocation. (line 6)
* ‘msgexec’ program, usage: msgexec Invocation. (line 6)
* ‘msgfilter’ filter and catalog encoding: msgfilter Invocation.
- (line 58)
+ (line 62)
* ‘msgfilter’ program, usage: msgfilter Invocation.
(line 6)
* ‘msgfmt’ program, usage: msgfmt Invocation. (line 6)
@@ -17895,7 +18294,7 @@ General Index
* PO mode (Emacs) commands: Main PO Commands. (line 6)
* PO template file: Template. (line 6)
* portability problems with ‘sed’: msgfilter Invocation.
- (line 69)
+ (line 73)
* ‘POTFILES.in’ file: po/POTFILES.in. (line 6)
* po_file_domains: libgettextpo. (line 40)
* po_file_free: libgettextpo. (line 35)
@@ -17908,6 +18307,7 @@ General Index
* po_message_msgstr_plural: libgettextpo. (line 84)
* po_next_message: libgettextpo. (line 60)
* preparing programs for translation: Sources. (line 6)
+* preparing rules for XML translation: Preparing ITS Rules. (line 6)
* preparing shell scripts for translation: Preparing Shell Scripts.
(line 6)
* problems with ‘catgets’ interface: Problems with catgets.
@@ -17917,7 +18317,7 @@ General Index
* Python: Python. (line 6)
* python-brace-format flag: PO Files. (line 119)
* python-format flag: PO Files. (line 115)
-* Qt format strings: xgettext Invocation. (line 276)
+* Qt format strings: xgettext Invocation. (line 318)
* Qt mode, and ‘msgfmt’ program: msgfmt Invocation. (line 46)
* qt-format flag: PO Files. (line 188)
* qt-plural-format flag: PO Files. (line 192)
@@ -17926,7 +18326,7 @@ General Index
* quote characters, use in PO files: Header Entry. (line 160)
* range: flag: PO Files. (line 262)
* ‘recode-sr-latin’ program: msgfilter Invocation.
- (line 96)
+ (line 101)
* related reading: References. (line 6)
* release: Release Management. (line 6)
* RST: RST. (line 6)
@@ -17937,6 +18337,7 @@ General Index
* search messages in a catalog: msggrep Invocation. (line 8)
* selecting message language: Locale Environment Variables.
(line 6)
+* sentence end markers, ‘xgettext’: xgettext Invocation. (line 149)
* sentences: Preparing Strings. (line 44)
* setting up ‘gettext’ at build time: Installers. (line 6)
* setting up ‘gettext’ at run time: Locale Environment Variables.
@@ -17952,7 +18353,7 @@ General Index
* sorting ‘msgcat’ output: msgcat Invocation. (line 152)
* sorting ‘msgmerge’ output: msgmerge Invocation. (line 188)
* sorting ‘msgunfmt’ output: msgunfmt Invocation. (line 147)
-* sorting output of ‘xgettext’: xgettext Invocation. (line 363)
+* sorting output of ‘xgettext’: xgettext Invocation. (line 413)
* specifying plural form in a PO file: Plural forms. (line 177)
* standard output, and ‘msgcat’: msgcat Invocation. (line 44)
* standard output, and ‘msgmerge’ program: msgmerge Invocation.
@@ -17960,13 +18361,15 @@ General Index
* string concatenation: Preparing Strings. (line 117)
* string normalization in entries: Normalizing. (line 6)
* style: Preparing Strings. (line 24)
+* supported languages, ‘msgfmt’: msgfmt Invocation. (line 180)
* supported languages, ‘xgettext’: xgettext Invocation. (line 54)
+* supported syntax checks, ‘xgettext’: xgettext Invocation. (line 116)
* Tcl: Tcl. (line 6)
* Tcl mode, and ‘msgfmt’ program: msgfmt Invocation. (line 43)
* Tcl mode, and ‘msgunfmt’ program: msgunfmt Invocation. (line 26)
* tcl-format flag: PO Files. (line 163)
* template PO file: Overview. (line 67)
-* testing ‘.po’ files for equivalence: xgettext Invocation. (line 373)
+* testing ‘.po’ files for equivalence: xgettext Invocation. (line 423)
* Tk’s scripting language: Tcl. (line 6)
* translated entries: Translated Entries. (line 6)
* translating menu entries: Contexts. (line 6)
@@ -17986,6 +18389,7 @@ General Index
* ‘wxWidgets’ library: wxWidgets. (line 6)
* ‘xargs’, and output from ‘msgexec’: msgexec Invocation. (line 14)
* ‘xgettext’ program, usage: xgettext Invocation. (line 6)
+* XML mode, and ‘msgfmt’ program: msgfmt Invocation. (line 52)
* ‘xmodmap’ program, and typing quotation marks: Header Entry.
(line 172)
* YaST2 scripting language: YCP. (line 6)
@@ -17996,245 +18400,249 @@ General Index

Tag Table:
Node: Top2954
-Node: Introduction18147
-Node: Why19789
-Ref: Why-Footnote-123045
-Node: Concepts23201
-Node: Aspects26632
-Node: Files33240
-Node: Overview35190
-Node: Users45277
-Node: System Installation46192
-Node: Setting the GUI Locale47885
-Node: Setting the POSIX Locale49293
-Node: Locale Names50275
-Node: Locale Environment Variables52764
-Node: The LANGUAGE variable55107
-Node: Installing Localizations57128
-Node: PO Files58505
-Ref: PO Files-Footnote-171643
-Node: Sources71778
-Node: Importing73020
-Node: Triggering73724
-Node: Preparing Strings77082
-Node: Mark Keywords86241
-Node: Marking90809
-Node: c-format Flag98766
-Node: Special cases102812
-Node: Bug Report Address105595
-Node: Names107574
-Node: Libraries111880
-Node: Template114970
-Node: xgettext Invocation115735
-Node: Creating134056
-Node: msginit Invocation134965
-Node: Header Entry138010
-Node: Updating147467
-Node: msgmerge Invocation147686
-Node: Editing154152
-Node: KBabel154516
-Node: Gtranslator154656
-Node: PO Mode154800
-Node: Installation156460
-Node: Main PO Commands158476
-Node: Entry Positioning163748
-Node: Normalizing169393
-Node: Translated Entries173954
-Node: Fuzzy Entries175359
-Node: Untranslated Entries178666
-Node: Obsolete Entries180665
-Node: Modifying Translations183964
-Node: Modifying Comments192106
-Node: Subedit196655
-Node: C Sources Context200673
-Node: Auxiliary205902
-Node: Compendium209222
-Node: Creating Compendia209837
-Node: Using Compendia212399
-Node: Manipulating213357
-Node: msgcat Invocation217301
-Node: msgconv Invocation222623
-Node: msggrep Invocation226614
-Node: msgfilter Invocation233436
-Node: msguniq Invocation241622
-Node: msgcomm Invocation246362
-Node: msgcmp Invocation251263
-Node: msgattrib Invocation253504
-Node: msgen Invocation259273
-Node: msgexec Invocation263682
-Node: Colorizing266941
-Node: The --color option267996
-Node: The TERM variable269725
-Node: The --style option271279
-Node: Style rules272657
-Node: Customizing less279670
-Node: libgettextpo281125
-Node: Binaries286375
-Node: msgfmt Invocation286727
-Node: msgunfmt Invocation296469
-Node: MO Files301153
-Node: Programmers309764
-Node: catgets310978
-Node: Interface to catgets312408
-Node: Problems with catgets314477
-Node: gettext315402
-Node: Interface to gettext316925
-Node: Ambiguities319293
-Node: Locating Catalogs322053
-Ref: Locating Catalogs-Footnote-1323318
-Ref: Locating Catalogs-Footnote-2323550
-Node: Charset conversion323703
-Node: Contexts326223
-Node: Plural forms331843
-Ref: Plural forms-Footnote-1348061
-Node: Optimized gettext348183
-Node: Comparison349534
-Node: Using libintl.a353901
-Node: gettext grok354356
-Node: Temp Programmers357065
-Node: Temp Implementations357597
-Node: Temp catgets359015
-Node: Temp WSI360742
-Node: Temp Notes362805
-Node: Translators363319
-Node: Trans Intro 0363864
-Node: Trans Intro 1366721
-Node: Discussions368694
-Node: Organization372412
-Node: Central Coordination374498
-Node: National Teams375646
-Node: Sub-Cultures378180
-Node: Organizational Ideas379121
-Node: Mailing Lists380152
-Node: Information Flow381989
-Node: Translating plural forms384256
-Node: Prioritizing messages387699
-Node: Maintainers392083
-Node: Flat and Non-Flat394060
-Node: Prerequisites395590
-Node: gettextize Invocation399849
-Node: Adjusting Files407629
-Node: po/POTFILES.in409521
-Node: po/LINGUAS410820
-Node: po/Makevars412627
-Node: po/Rules-*413617
-Node: configure.ac415178
-Node: config.guess418343
-Node: mkinstalldirs419809
-Node: aclocal420222
-Node: acconfig422777
-Node: config.h.in423321
-Node: Makefile424869
-Node: src/Makefile427601
-Node: lib/gettext.h432527
-Node: autoconf macros434860
-Node: AM_GNU_GETTEXT435764
-Node: AM_GNU_GETTEXT_VERSION439988
-Node: AM_GNU_GETTEXT_NEED440467
-Node: AM_GNU_GETTEXT_INTL_SUBDIR441400
-Node: AM_PO_SUBDIRS442085
-Node: AM_XGETTEXT_OPTION442924
-Node: AM_ICONV443835
-Node: Version Control Issues446220
-Node: Distributed Development446975
-Node: Files under Version Control449010
-Node: Translations under Version Control452501
-Ref: Translations under Version Control-Footnote-1454577
-Node: autopoint Invocation454667
-Node: Release Management456684
-Node: Installers457225
-Node: Programming Languages458488
-Node: Language Implementors459326
-Node: Programmers for other Languages464316
-Node: Translators for other Languages464910
-Node: c-format466720
-Node: objc-format468494
-Node: sh-format468853
-Node: python-format469702
-Node: lisp-format470509
-Node: elisp-format470838
-Node: librep-format471333
-Node: scheme-format471736
-Node: smalltalk-format472015
-Node: java-format472546
-Node: csharp-format473001
-Node: awk-format473383
-Node: object-pascal-format473711
-Node: ycp-format474097
-Node: tcl-format474515
-Node: perl-format474817
-Node: php-format475609
-Node: gcc-internal-format475985
-Node: gfc-internal-format477144
-Node: qt-format477893
-Node: qt-plural-format478339
-Node: kde-format478698
-Node: boost-format479127
-Node: lua-format479714
-Node: javascript-format480053
-Node: Maintainers for other Languages480823
-Node: List of Programming Languages482111
-Node: C483475
-Node: sh484923
-Node: Preparing Shell Scripts486283
-Node: gettext.sh489803
-Node: gettext Invocation490371
-Node: ngettext Invocation492422
-Node: envsubst Invocation494302
-Node: eval_gettext Invocation495781
-Node: eval_ngettext Invocation496246
-Node: bash496764
-Node: Python498813
-Node: Common Lisp501293
-Node: clisp C502143
-Node: Emacs Lisp502901
-Node: librep503669
-Node: Scheme504450
-Node: Smalltalk505325
-Node: Java506420
-Node: C#512464
-Node: gawk522138
-Node: Pascal523112
-Node: wxWidgets524524
-Node: YCP525491
-Node: Tcl526270
-Node: Perl527760
-Node: General Problems530952
-Node: Default Keywords536620
-Node: Special Keywords537648
-Node: Quote-like Expressions539210
-Node: Interpolation I541527
-Node: Interpolation II545471
-Node: Parentheses547855
-Node: Long Lines549380
-Node: Perl Pitfalls551247
-Node: PHP555581
-Node: Pike556590
-Node: GCC-source557291
-Node: Lua558111
-Node: JavaScript559117
-Node: List of Data Formats559872
-Node: POT560417
-Node: RST560687
-Node: Glade560925
-Node: GSettings561337
-Node: Conclusion561632
-Node: History562146
-Node: References566549
-Node: Language Codes568248
-Node: Usual Language Codes568763
-Node: Rare Language Codes573681
-Node: Country Codes575531
-Node: Licenses582684
-Node: GNU GPL584540
-Node: GNU LGPL603840
-Node: GNU FDL632077
-Node: Program Index654608
-Node: Option Index657018
-Node: Variable Index711172
-Node: PO Mode Index715843
-Node: Autoconf Macro Index732553
-Node: Index733360
+Node: Introduction18343
+Node: Why19985
+Ref: Why-Footnote-123241
+Node: Concepts23397
+Node: Aspects26828
+Node: Files33436
+Node: Overview35386
+Node: Users45473
+Node: System Installation46388
+Node: Setting the GUI Locale48081
+Node: Setting the POSIX Locale49489
+Node: Locale Names50471
+Node: Locale Environment Variables52960
+Node: The LANGUAGE variable55303
+Node: Installing Localizations57324
+Node: PO Files58701
+Ref: PO Files-Footnote-171839
+Node: Sources71974
+Node: Importing73216
+Node: Triggering73920
+Node: Preparing Strings77278
+Node: Mark Keywords86437
+Node: Marking91005
+Node: c-format Flag98962
+Node: Special cases103008
+Node: Bug Report Address105792
+Node: Names107771
+Node: Libraries112077
+Node: Template115167
+Node: xgettext Invocation115932
+Node: Creating136166
+Node: msginit Invocation137075
+Node: Header Entry141398
+Node: Updating150855
+Node: msgmerge Invocation151074
+Node: Editing157540
+Node: KBabel157904
+Node: Gtranslator158044
+Node: PO Mode158188
+Node: Installation159848
+Node: Main PO Commands161864
+Node: Entry Positioning167136
+Node: Normalizing172781
+Node: Translated Entries177342
+Node: Fuzzy Entries178747
+Node: Untranslated Entries182054
+Node: Obsolete Entries184053
+Node: Modifying Translations187352
+Node: Modifying Comments195494
+Node: Subedit200043
+Node: C Sources Context204061
+Node: Auxiliary209290
+Node: Compendium212610
+Node: Creating Compendia213225
+Node: Using Compendia215787
+Node: Manipulating216745
+Node: msgcat Invocation220689
+Node: msgconv Invocation226011
+Node: msggrep Invocation230002
+Node: msgfilter Invocation236824
+Node: msguniq Invocation245178
+Node: msgcomm Invocation249918
+Node: msgcmp Invocation254819
+Node: msgattrib Invocation257060
+Node: msgen Invocation262829
+Node: msgexec Invocation267238
+Node: Colorizing270562
+Node: The --color option271617
+Node: The TERM variable273346
+Node: The --style option274900
+Node: Style rules276278
+Node: Customizing less283291
+Node: libgettextpo284746
+Node: Binaries289996
+Node: msgfmt Invocation290348
+Node: msgunfmt Invocation301074
+Node: MO Files305758
+Node: Programmers314369
+Node: catgets315583
+Node: Interface to catgets317013
+Node: Problems with catgets319082
+Node: gettext320007
+Node: Interface to gettext321530
+Node: Ambiguities323898
+Node: Locating Catalogs326658
+Ref: Locating Catalogs-Footnote-1327923
+Ref: Locating Catalogs-Footnote-2328155
+Node: Charset conversion328308
+Node: Contexts330828
+Node: Plural forms336448
+Ref: Plural forms-Footnote-1353164
+Node: Optimized gettext353536
+Node: Comparison354887
+Node: Using libintl.a359254
+Node: gettext grok359709
+Node: Temp Programmers362418
+Node: Temp Implementations362950
+Node: Temp catgets364368
+Node: Temp WSI366095
+Node: Temp Notes368158
+Node: Translators368672
+Node: Trans Intro 0369217
+Node: Trans Intro 1372074
+Node: Discussions374047
+Node: Organization377765
+Node: Central Coordination379851
+Node: National Teams380999
+Node: Sub-Cultures383533
+Node: Organizational Ideas384474
+Node: Mailing Lists385505
+Node: Information Flow387342
+Node: Translating plural forms389609
+Node: Prioritizing messages393052
+Node: Maintainers397436
+Node: Flat and Non-Flat399413
+Node: Prerequisites400943
+Node: gettextize Invocation405202
+Node: Adjusting Files412982
+Node: po/POTFILES.in414828
+Node: po/LINGUAS416127
+Node: po/Makevars417934
+Node: po/Rules-*418924
+Node: configure.ac420485
+Node: config.guess423650
+Node: mkinstalldirs425116
+Node: aclocal425529
+Node: acconfig428084
+Node: config.h.in428628
+Node: Makefile430176
+Node: src/Makefile432908
+Node: lib/gettext.h437834
+Node: autoconf macros440167
+Node: AM_GNU_GETTEXT441071
+Node: AM_GNU_GETTEXT_VERSION445295
+Node: AM_GNU_GETTEXT_NEED445774
+Node: AM_GNU_GETTEXT_INTL_SUBDIR446707
+Node: AM_PO_SUBDIRS447392
+Node: AM_XGETTEXT_OPTION448231
+Node: AM_ICONV449142
+Node: Version Control Issues451527
+Node: Distributed Development452282
+Node: Files under Version Control454317
+Node: Translations under Version Control457808
+Ref: Translations under Version Control-Footnote-1459884
+Node: autopoint Invocation459974
+Node: Release Management462339
+Node: Installers462880
+Node: Programming Languages464143
+Node: Language Implementors464981
+Node: Programmers for other Languages469971
+Node: Translators for other Languages470565
+Node: c-format472427
+Node: objc-format474201
+Node: sh-format474560
+Node: python-format475409
+Node: lisp-format476182
+Node: elisp-format476511
+Node: librep-format477006
+Node: scheme-format477409
+Node: smalltalk-format477688
+Node: java-format478219
+Node: csharp-format478674
+Node: awk-format479056
+Node: object-pascal-format479384
+Node: ycp-format479770
+Node: tcl-format480188
+Node: perl-format480490
+Node: php-format481282
+Node: gcc-internal-format481658
+Node: gfc-internal-format482817
+Node: qt-format483566
+Node: qt-plural-format484012
+Node: kde-format484371
+Node: kde-kuit-format484803
+Node: boost-format485468
+Node: lua-format486060
+Node: javascript-format486399
+Node: Maintainers for other Languages487169
+Node: List of Programming Languages488457
+Node: C489858
+Node: sh491306
+Node: Preparing Shell Scripts492666
+Node: gettext.sh496186
+Node: gettext Invocation496754
+Node: ngettext Invocation498805
+Node: envsubst Invocation500685
+Node: eval_gettext Invocation502164
+Node: eval_ngettext Invocation502629
+Node: bash503147
+Node: Python505196
+Node: Common Lisp507676
+Node: clisp C508526
+Node: Emacs Lisp509284
+Node: librep510052
+Node: Scheme510833
+Node: Smalltalk511708
+Node: Java512803
+Node: C#518847
+Node: gawk528521
+Node: Pascal529626
+Node: wxWidgets531038
+Node: YCP532005
+Node: Tcl532784
+Node: Perl534274
+Node: General Problems537466
+Node: Default Keywords543134
+Node: Special Keywords544162
+Node: Quote-like Expressions545724
+Node: Interpolation I548041
+Node: Interpolation II551985
+Node: Parentheses554369
+Node: Long Lines555894
+Node: Perl Pitfalls557761
+Node: PHP562095
+Node: Pike563104
+Node: GCC-source563805
+Node: Lua564625
+Node: JavaScript565631
+Node: Vala566399
+Node: List of Data Formats567318
+Node: POT568015
+Node: RST568285
+Node: Glade568523
+Node: GSettings568935
+Node: AppData569246
+Node: Preparing ITS Rules569677
+Node: Conclusion575810
+Node: History576324
+Node: References580727
+Node: Language Codes582426
+Node: Usual Language Codes582941
+Node: Rare Language Codes587859
+Node: Country Codes589709
+Node: Licenses596862
+Node: GNU GPL598718
+Node: GNU LGPL618035
+Node: GNU FDL646272
+Node: Program Index668803
+Node: Option Index671213
+Node: Variable Index726431
+Node: PO Mode Index731102
+Node: Autoconf Macro Index747812
+Node: Index748619

End Tag Table
diff --git a/gettext-tools/doc/gettext.texi b/gettext-tools/doc/gettext.texi
index 507c622..8391073 100644
--- a/gettext-tools/doc/gettext.texi
+++ b/gettext-tools/doc/gettext.texi
@@ -79,7 +79,7 @@ This file provides documentation for GNU @code{gettext} utilities.
It also serves as a reference for the free Translation Project.
@copying
-Copyright (C) 1995-1998, 2001-2012 Free Software Foundation, Inc.
+Copyright (C) 1995-1998, 2001-2015 Free Software Foundation, Inc.
This manual is free documentation. It is dually licensed under the
GNU FDL and the GNU GPL. This means that you can redistribute this
@@ -439,6 +439,7 @@ Individual Programming Languages
* GCC-source:: GNU Compiler Collection sources
* Lua:: Lua
* JavaScript:: JavaScript
+* Vala:: Vala
sh - Shell Script
@@ -468,6 +469,8 @@ Internationalizable Data
* RST:: Resource String Table
* Glade:: Glade - GNOME user interface description
* GSettings:: GSettings - GNOME user configuration schema
+* AppData:: AppData - freedesktop.org application description
+* Preparing ITS Rules:: Preparing Rules for XML Internationalization
Concluding Remarks
@@ -2606,7 +2609,7 @@ with the following one:
@{
static const char *messages[] = @{
- gettext_noop ("some very meaningful message",
+ gettext_noop ("some very meaningful message"),
gettext_noop ("and another one")
@};
const char *string;
@@ -6221,7 +6224,11 @@ The following rules are known at this point. The language with families
are listed. But this does not necessarily mean the information can be
generalized for the whole family (as can be easily seen in the table
below).@footnote{Additions are welcome. Send appropriate information to
-@email{bug-gnu-gettext@@gnu.org} and @email{bug-glibc-manual@@gnu.org}.}
+@email{bug-gnu-gettext@@gnu.org} and @email{bug-glibc-manual@@gnu.org}.
+The Unicode CLDR Project (@uref{http://cldr.unicode.org}) provides a
+comprehensive set of plural forms in a different format. The
+@code{msginit} program has preliminary support for the format so you can
+use it as a baseline (@pxref{msginit Invocation}).}
@table @asis
@item Only one form:
@@ -6241,6 +6248,8 @@ Languages with this property include:
Japanese, @c 122.1 million speakers
Vietnamese, @c 68.6 million speakers
Korean @c 66.3 million speakers
+@item Tai-Kadai family
+Thai @c 20.4 million speakers
@end table
@item Two forms, singular used for one only
@@ -6278,6 +6287,8 @@ Finnish, @c 5.0 million speakers
Estonian @c 1.0 million speakers
@item Semitic family
Hebrew @c 5.3 million speakers
+@item Austronesian family
+Bahasa Indonesian @c 23.2 million speakers
@item Artificial
Esperanto @c 2 million speakers
@end table
@@ -6453,6 +6464,23 @@ Languages with this property include:
@item Slavic family
Slovenian @c 1.9 million speakers
@end table
+
+@item Six forms, special cases for one, two, all numbers ending in 02, 03, @dots{} 10, all numbers ending in 11 @dots{} 99, and others
+The header entry would look like this:
+
+@smallexample
+Plural-Forms: nplurals=6; \
+ plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 \
+ : n%100>=11 ? 4 : 5;
+@end smallexample
+
+@noindent
+Languages with this property include:
+
+@table @asis
+@item Afroasiatic family
+Arabic @c 246.0 million speakers
+@end table
@end table
You might now ask, @code{ngettext} handles only numbers @var{n} of type
@@ -7690,11 +7718,10 @@ changes needed in each.
So, here comes a list of files, each one followed by a description of
all alterations it needs. Many examples are taken out from the GNU
@code{gettext} @value{VERSION} distribution itself, or from the GNU
-@code{hello} distribution (@uref{http://www.franken.de/users/gnu/ke/hello}
-or @uref{http://www.gnu.franken.de/ke/hello/}) You may indeed
-refer to the source code of the GNU @code{gettext} and GNU @code{hello}
-packages, as they are intended to be good examples for using GNU
-gettext functionality.
+@code{hello} distribution (@uref{http://www.gnu.org/software/hello}).
+You may indeed refer to the source code of the GNU @code{gettext} and
+GNU @code{hello} packages, as they are intended to be good examples for
+using GNU gettext functionality.
@menu
* po/POTFILES.in:: @file{POTFILES.in} in @file{po/}
@@ -8754,7 +8781,7 @@ adds to the @file{configure.ac} or @file{configure.in} a line of the
form
@example
-AM_GNU_GETTEXT_VERSION(@value{VERSION})
+AM_GNU_GETTEXT_VERSION(@value{ARCHIVE-VERSION})
@end example
@noindent
@@ -9041,6 +9068,7 @@ strings.
* qt-format:: Qt Format Strings
* qt-plural-format:: Qt Plural Format Strings
* kde-format:: KDE Format Strings
+* kde-kuit-format:: KUIT Format Strings
* boost-format:: Boost Format Strings
* lua-format:: Lua Format Strings
* javascript-format:: JavaScript Format Strings
@@ -9127,11 +9155,10 @@ of the @samp{str} object.
Python @code{%} format strings are described in
@w{Python Library reference} /
-@w{2. Built-in Types, Exceptions and Functions} /
-@w{2.2. Built-in Types} /
-@w{2.2.6. Sequence Types} /
-@w{2.2.6.2. String Formatting Operations}.
-@uref{http://www.python.org/doc/2.2.1/lib/typesseq-strings.html}.
+@w{5. Built-in Types} /
+@w{5.6. Sequence Types} /
+@w{5.6.2. String Formatting Operations}.
+@uref{http://docs.python.org/2/library/stdtypes.html#string-formatting-operations}.
Python brace format strings are described in @w{PEP 3101 -- Advanced
String Formatting}, @uref{http://www.python.org/dev/peps/pep-3101/}.
@@ -9289,7 +9316,7 @@ Qt format strings are described in the documentation of the QObject::tr method
@uref{file:/usr/lib/qt-4.3.0/doc/html/qobject.html}.
In summary, the only allowed directive is @samp{%n}.
-@node kde-format, boost-format, qt-plural-format, Translators for other Languages
+@node kde-format, kde-kuit-format, qt-plural-format, Translators for other Languages
@subsection KDE Format Strings
KDE 4 format strings are defined as follows:
@@ -9297,7 +9324,19 @@ A directive consists of a @samp{%} followed by a non-zero decimal number.
If a @samp{%n} occurs in a format strings, all of @samp{%1}, ..., @samp{%(n-1)}
must occur as well, except possibly one of them.
-@node boost-format, lua-format, kde-format, Translators for other Languages
+@node kde-kuit-format, boost-format, kde-format, Translators for other Languages
+@subsection KUIT Format Strings
+
+KUIT (KDE User Interface Text) is compatible with KDE 4 format strings,
+while it also allows programmers to add semantic information to a format
+string, through XML markup tags. For example, if the first format
+directive in a string is a filename, programmers could indicate that
+with a @samp{filename} tag, like @samp{<filename>%1</filename>}.
+
+KUIT format strings are described in
+@uref{http://api.kde.org/frameworks-api/frameworks5-apidocs/ki18n/html/prg_guide.html#kuit_markup}.
+
+@node boost-format, lua-format, kde-kuit-format, Translators for other Languages
@subsection Boost Format Strings
Boost format strings are described in the documentation of the
@@ -9434,6 +9473,7 @@ that language, and to combine the resulting files using @code{msgcat}.
* GCC-source:: GNU Compiler Collection sources
* Lua:: Lua
* JavaScript:: JavaScript
+* Vala:: Vala
@end menu
@node C, sh, List of Programming Languages, List of Programming Languages
@@ -10649,7 +10689,9 @@ with a single-letter name.
gawk 3.1 or newer
@item File extension
-@code{awk}
+@code{awk}, @code{gawk}, @code{twjr}.
+The file extension @code{twjr} is used by TexiWeb Jr
+(@uref{https://github.com/arnoldrobbins/texiwebjr}).
@item String syntax
@code{"abc"}
@@ -11956,7 +11998,7 @@ On platforms without gettext, the functions are not available.
---
@end table
-@node JavaScript, , Lua, List of Programming Languages
+@node JavaScript, Vala, Lua, List of Programming Languages
@subsection JavaScript
@table @asis
@@ -12010,6 +12052,60 @@ On platforms without gettext, the functions are not available.
---
@end table
+@node Vala, , JavaScript, List of Programming Languages
+@subsection Vala
+
+@table @asis
+@item RPMs
+vala
+
+@item File extension
+@code{vala}
+
+@item String syntax
+@itemize @bullet
+
+@item @code{"abc"}
+
+@item @code{"""abc"""}
+
+@end itemize
+
+@item gettext shorthand
+@code{_("abc")}
+
+@item gettext/ngettext functions
+@code{gettext}, @code{dgettext}, @code{dcgettext}, @code{ngettext},
+@code{dngettext}, @code{dpgettext}, @code{dpgettext2}
+
+@item textdomain
+@code{textdomain} function, defined under the @code{Intl} namespace
+
+@item bindtextdomain
+@code{bindtextdomain} function, defined under the @code{Intl} namespace
+
+@item setlocale
+Programmer must call @code{Intl.setlocale (LocaleCategory.ALL, "")}
+
+@item Prerequisite
+---
+
+@item Use or emulate GNU gettext
+Use
+
+@item Extractor
+@code{xgettext}
+
+@item Formatting with positions
+Same as for the C language.
+
+@item Portability
+autoconf (gettext.m4) and #if ENABLE_NLS
+
+@item po-mode marking
+yes
+@end table
+
@c This is the template for new languages.
@ignore
@@ -12059,6 +12155,8 @@ using GNU gettext.
* RST:: Resource String Table
* Glade:: Glade - GNOME user interface description
* GSettings:: GSettings - GNOME user configuration schema
+* AppData:: AppData - freedesktop.org application description
+* Preparing ITS Rules:: Preparing Rules for XML Internationalization
@end menu
@node POT, RST, List of Data Formats, List of Data Formats
@@ -12104,7 +12202,7 @@ glade, libglade, glade2, libglade2, intltool
@code{xgettext}, @code{libglade-xgettext}, @code{xml-i18n-extract}, @code{intltool-extract}
@end table
-@node GSettings, , Glade, List of Data Formats
+@node GSettings, AppData, Glade, List of Data Formats
@subsection GSettings - GNOME user configuration schema
@table @asis
@@ -12118,6 +12216,180 @@ glib2
@code{xgettext}, @code{intltool-extract}
@end table
+@node AppData, Preparing ITS Rules, GSettings, List of Data Formats
+@subsection AppData - freedesktop.org application description
+
+@table @asis
+@item RPMs
+appdata-tools, appstream, libappstream-glib, libappstream-glib-builder
+
+@item File extension
+@code{appdata.xml}
+
+@item Extractor
+@code{xgettext}, @code{intltool-extract}, @code{itstool}
+@end table
+
+@menu
+@end menu
+
+@node Preparing ITS Rules, , AppData, List of Data Formats
+@subsection Preparing Rules for XML Internationalization
+@cindex preparing rules for XML translation
+
+Marking translatable strings in an XML file is done through a separate
+"rule" file, making use of the Internationalization Tag Set standard
+(ITS, @uref{http://www.w3.org/TR/its20/}). The currently supported ITS
+data categories are: @samp{Translate}, @samp{Localization Note},
+@samp{Elements Within Text}, and @samp{Preserve Space}. In addition to
+them, @code{xgettext} also recognizes the following extended data
+categories:
+
+@table @samp
+@item Context
+
+This data category associates @code{msgctxt} to the extracted text. In
+the global rule, the @code{contextRule} element contains the following:
+
+@itemize
+@item
+A required @code{selector} attribute. It contains an absolute selector
+that selects the nodes to which this rule applies.
+
+@item
+A required @code{contextPointer} attribute that contains a relative
+selector pointing to a node that holds the @code{msgctxt} value.
+
+@item
+An optional @code{textPointer} attribute that contains a relative
+selector pointing to a node that holds the @code{msgid} value.
+@end itemize
+
+@item Escape Special Characters
+
+This data category indicates whether the special XML characters
+(@code{<}, @code{>}, @code{&}, @code{"}) are escaped with entity
+reference. In the global rule, the @code{escapeRule} element contains
+the following:
+
+@itemize
+@item
+A required @code{selector} attribute. It contains an absolute selector
+that selects the nodes to which this rule applies.
+
+@item
+A required @code{escape} attribute with the value @code{yes} or @code{no}.
+@end itemize
+
+@item Extended Preserve Space
+
+This data category extends the standard @samp{Preserve Space} data
+category with the additional value @samp{trim}. The value means to
+remove the leading and trailing whitespaces of the content, but not to
+normalize whitespaces in the middle. In the global rule, the
+@code{preserveSpaceRule} element contains the following:
+
+@itemize
+@item
+A required @code{selector} attribute. It contains an absolute selector
+that selects the nodes to which this rule applies.
+
+@item
+A required @code{space} attribute with the value @code{default},
+@code{preserve}, or @code{trim}.
+@end itemize
+
+@end table
+
+All those extended data categories can only be expressed with global
+rules, and the rule elements have to have the
+@code{https://www.gnu.org/s/gettext/ns/its/extensions/1.0} namespace.
+
+Given the following XML document in a file @file{messages.xml}:
+
+@example
+<?xml version="1.0"?>
+<messages>
+ <message>
+ <p>A translatable string</p>
+ </message>
+ <message>
+ <p translatable="no">A non-translatable string</p>
+ </message>
+</messages>
+@end example
+
+To extract the first text content ("A translatable string"), but not the
+second ("A non-translatable string"), the following ITS rules can be used:
+
+@example
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule selector="/messages" translate="no"/>
+ <its:translateRule selector="//message/p" translate="yes"/>
+
+ <!-- If 'p' has an attribute 'translatable' with the value 'no', then
+ the content is not translatable. -->
+ <its:translateRule selector="//message/p[@@translatable = 'no']"
+ translate="no"/>
+</its:rules>
+@end example
+
+@samp{xgettext} needs another file called "locating rule" to associate
+an ITS rule with an XML file. If the above ITS file is saved as
+@file{messages.its}, the locating rule would look like:
+
+@example
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="Messages" pattern="*.xml">
+ <documentRule localName="messages" target="messages.its"/>
+ </locatingRule>
+ <locatingRule name="Messages" pattern="*.msg" target="messages.its"/>
+</locatingRules>
+@end example
+
+The @code{locatingRule} element must have a @code{pattern} attribute,
+which denotes either a literal file name or a wildcard pattern of the
+XML file. The @code{locatingRule} element can have child
+@code{documentRule} element, which adds checks on the content of the XML
+file.
+
+The first rule matches any file with the @file{.xml} file extension, but
+it only applies to XML files whose root element is @samp{<messages>}.
+
+The second rule indicates that the same ITS rule file are also
+applicable to any file with the @file{.msg} file extension. The
+optional @code{name} attribute of @code{locatingRule} allows to choose
+rules by name, typically with @code{xgettext}'s @code{-L} option.
+
+The associated ITS rule file is indicated by the @code{target} attribute
+of @code{locatingRule} or @code{documentRule}. If it is specified in a
+@code{documentRule} element, the parent @code{locatingRule} shouldn't
+have the @code{target} attribute.
+
+Locating rule files must have the @file{.loc} file extension. Both ITS
+rule files and locating rule files must be installed in the
+@file{$prefix/share/gettext/its} directory. Once those files are
+properly installed, @code{xgettext} can extract translatable strings
+from the matching XML files.
+
+@subsubsection Two Use-cases of Translated Strings in XML
+
+For XML, there are two use-cases of translated strings. One is the case
+where the translated strings are directly consumed by programs, and the
+other is the case where the translated strings are merged back to the
+original XML document. In the former case, special characters in the
+extracted strings shouldn't be escaped, while they should in the latter
+case. To control wheter to escape special characters, the @samp{Escape
+Special Characters} data category can be used.
+
+To merge the translations, the @samp{msgfmt} program can be used with
+the option @code{--xml}. @xref{msgfmt Invocation}, for more details
+about how one calls the @samp{msgfmt} program. @samp{msgfmt}'s
+@code{--xml} option doesn't perform character escaping, so translated
+strings can have arbitrary XML constructs, such as elements for markup.
+
@c This is the template for new data formats.
@ignore
@@ -12369,19 +12641,19 @@ A copy of the license is included in @ref{GNU GPL}.
@end menu
@page
-@node GNU GPL
+@node GNU GPL, GNU LGPL, Licenses, Licenses
@appendixsec GNU GENERAL PUBLIC LICENSE
@cindex GPL, GNU General Public License
@cindex License, GNU GPL
@include gpl.texi
@page
-@node GNU LGPL
+@node GNU LGPL, GNU FDL, GNU GPL, Licenses
@appendixsec GNU LESSER GENERAL PUBLIC LICENSE
@cindex LGPL, GNU Lesser General Public License
@cindex License, GNU LGPL
@include lgpl.texi
@page
-@node GNU FDL
+@node GNU FDL, , GNU LGPL, Licenses
@appendixsec GNU Free Documentation License
@cindex FDL, GNU Free Documentation License
@cindex License, GNU FDL
diff --git a/gettext-tools/doc/gettext_1.html b/gettext-tools/doc/gettext_1.html
index c643537..1ff58df 100644
--- a/gettext-tools/doc/gettext_1.html
+++ b/gettext-tools/doc/gettext_1.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 1 Introduction</TITLE>
@@ -174,7 +174,7 @@ by which the programs are untied from calling only English strings or
other English specific habits, and connected to generic ways of doing
the same, instead. Program developers may use various techniques to
internationalize their programs. Some of these have been standardized.
-GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_11.html#SEC179">11 The Programmer's View</A>.
+GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_11.html#SEC180">11 The Programmer's View</A>.
</P>
<P>
@@ -559,7 +559,7 @@ a Template PO file, not yet oriented towards any particular language.
See section <A HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A>, for more details about how one calls the
<CODE>xgettext</CODE> program. If you are <EM>really</EM> lazy, you might
be interested at working a lot more right away, and preparing the
-whole distribution setup (see section <A HREF="gettext_13.html#SEC212">13 The Maintainer's View</A>). By doing so, you
+whole distribution setup (see section <A HREF="gettext_13.html#SEC213">13 The Maintainer's View</A>). By doing so, you
spare yourself typing the <CODE>xgettext</CODE> command, as <CODE>make</CODE>
should now generate the proper things automatically for you!
@@ -576,7 +576,7 @@ Then comes the initial translation of messages. Translation in
itself is a whole matter, still exclusively meant for humans,
and whose complexity far overwhelms the level of this manual.
Nevertheless, a few hints are given in some other chapter of this
-manual (see section <A HREF="gettext_12.html#SEC199">12 The Translator's View</A>). You will also find there indications
+manual (see section <A HREF="gettext_12.html#SEC200">12 The Translator's View</A>). You will also find there indications
about how to contact translating teams, or becoming part of them,
for sharing your translating concerns with others who target the same
native language.
@@ -675,7 +675,7 @@ distribution.
Once the PO file is complete and dependable, the <CODE>msgfmt</CODE> program
is used for turning the PO file into a machine-oriented format, which
may yield efficient retrieval of translations by the programs of the
-package, whenever needed at runtime (see section <A HREF="gettext_10.html#SEC178">10.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
+package, whenever needed at runtime (see section <A HREF="gettext_10.html#SEC179">10.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
for the <CODE>msgfmt</CODE> program.
</P>
diff --git a/gettext-tools/doc/gettext_10.html b/gettext-tools/doc/gettext_10.html
index 50eee2f..3ae4722 100644
--- a/gettext-tools/doc/gettext_10.html
+++ b/gettext-tools/doc/gettext_10.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 10 Producing Binary MO Files</TITLE>
@@ -18,15 +18,15 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous<
<H2><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A></H2>
<P>
-<A NAME="IDX967"></A>
-<A NAME="IDX968"></A>
+<A NAME="IDX975"></A>
+<A NAME="IDX976"></A>
<PRE>
msgfmt [<VAR>option</VAR>] <VAR>filename</VAR>.po ...
</PRE>
<P>
-<A NAME="IDX969"></A>
+<A NAME="IDX977"></A>
The <CODE>msgfmt</CODE> programs generates a binary message catalog from a textual
translation description.
@@ -43,8 +43,8 @@ translation description.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX970"></A>
-<A NAME="IDX971"></A>
+<A NAME="IDX978"></A>
+<A NAME="IDX979"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting binary
file will be written relative to the current directory, though.
@@ -65,47 +65,53 @@ If an input file is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--java&rsquo;</SAMP>
<DD>
-<A NAME="IDX972"></A>
-<A NAME="IDX973"></A>
-<A NAME="IDX974"></A>
+<A NAME="IDX980"></A>
+<A NAME="IDX981"></A>
+<A NAME="IDX982"></A>
Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
<DT><SAMP>&lsquo;--java2&rsquo;</SAMP>
<DD>
-<A NAME="IDX975"></A>
+<A NAME="IDX983"></A>
Like --java, and assume Java2 (JDK 1.2 or higher).
<DT><SAMP>&lsquo;--csharp&rsquo;</SAMP>
<DD>
-<A NAME="IDX976"></A>
-<A NAME="IDX977"></A>
+<A NAME="IDX984"></A>
+<A NAME="IDX985"></A>
C# mode: generate a .NET .dll file containing a subclass of
<CODE>GettextResourceSet</CODE>.
<DT><SAMP>&lsquo;--csharp-resources&rsquo;</SAMP>
<DD>
-<A NAME="IDX978"></A>
-<A NAME="IDX979"></A>
+<A NAME="IDX986"></A>
+<A NAME="IDX987"></A>
C# resources mode: generate a .NET <TT>&lsquo;.resources&rsquo;</TT> file.
<DT><SAMP>&lsquo;--tcl&rsquo;</SAMP>
<DD>
-<A NAME="IDX980"></A>
-<A NAME="IDX981"></A>
+<A NAME="IDX988"></A>
+<A NAME="IDX989"></A>
Tcl mode: generate a tcl/msgcat <TT>&lsquo;.msg&rsquo;</TT> file.
<DT><SAMP>&lsquo;--qt&rsquo;</SAMP>
<DD>
-<A NAME="IDX982"></A>
-<A NAME="IDX983"></A>
+<A NAME="IDX990"></A>
+<A NAME="IDX991"></A>
Qt mode: generate a Qt <TT>&lsquo;.qm&rsquo;</TT> file.
<DT><SAMP>&lsquo;--desktop&rsquo;</SAMP>
<DD>
-<A NAME="IDX984"></A>
-<A NAME="IDX985"></A>
+<A NAME="IDX992"></A>
+<A NAME="IDX993"></A>
Desktop Entry mode: generate a <TT>&lsquo;.desktop&rsquo;</TT> file.
+<DT><SAMP>&lsquo;--xml&rsquo;</SAMP>
+<DD>
+<A NAME="IDX994"></A>
+<A NAME="IDX995"></A>
+XML mode: generate an XML file.
+
</DL>
@@ -118,13 +124,13 @@ Desktop Entry mode: generate a <TT>&lsquo;.desktop&rsquo;</TT> file.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX986"></A>
-<A NAME="IDX987"></A>
+<A NAME="IDX996"></A>
+<A NAME="IDX997"></A>
Write output to specified file.
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX988"></A>
+<A NAME="IDX998"></A>
Direct the program to work strictly following the Uniforum/Sun
implementation. Currently this only affects the naming of the output
file. If this option is not given the name of the output file is the
@@ -151,27 +157,27 @@ If the output <VAR>file</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, output is written
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX989"></A>
-<A NAME="IDX990"></A>
+<A NAME="IDX999"></A>
+<A NAME="IDX1000"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX991"></A>
-<A NAME="IDX992"></A>
+<A NAME="IDX1001"></A>
+<A NAME="IDX1002"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX993"></A>
+<A NAME="IDX1003"></A>
Specify the base directory of classes directory hierarchy.
<DT><SAMP>&lsquo;--source&rsquo;</SAMP>
<DD>
-<A NAME="IDX994"></A>
+<A NAME="IDX1004"></A>
Produce a .java source file, instead of a compiled .class file.
</DL>
@@ -192,22 +198,22 @@ is written under the specified directory.
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX995"></A>
-<A NAME="IDX996"></A>
+<A NAME="IDX1005"></A>
+<A NAME="IDX1006"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX997"></A>
-<A NAME="IDX998"></A>
+<A NAME="IDX1007"></A>
+<A NAME="IDX1008"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX999"></A>
+<A NAME="IDX1009"></A>
Specify the base directory for locale dependent <TT>&lsquo;.dll&rsquo;</TT> files.
</DL>
@@ -228,14 +234,14 @@ locale.
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1000"></A>
-<A NAME="IDX1001"></A>
+<A NAME="IDX1010"></A>
+<A NAME="IDX1011"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1002"></A>
+<A NAME="IDX1012"></A>
Specify the base directory of <TT>&lsquo;.msg&rsquo;</TT> message catalogs.
</DL>
@@ -253,15 +259,15 @@ written in the specified directory.
<DT><SAMP>&lsquo;--template=<VAR>template</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1003"></A>
+<A NAME="IDX1013"></A>
Specify a .desktop file used as a template.
<DT><SAMP>&lsquo;-k[<VAR>keywordspec</VAR>]&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--keyword[=<VAR>keywordspec</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX1004"></A>
-<A NAME="IDX1005"></A>
+<A NAME="IDX1014"></A>
+<A NAME="IDX1015"></A>
Specify <VAR>keywordspec</VAR> as an additional keyword to be looked for.
Without a <VAR>keywordspec</VAR>, the option means to not use default keywords.
@@ -269,15 +275,16 @@ Without a <VAR>keywordspec</VAR>, the option means to not use default keywords.
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1006"></A>
-<A NAME="IDX1007"></A>
+<A NAME="IDX1016"></A>
+<A NAME="IDX1017"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1008"></A>
-Specify the base directory of <TT>&lsquo;.msg&rsquo;</TT> message catalogs.
+<A NAME="IDX1018"></A>
+Specify the directory where PO files are read. The directory must
+contain the <SAMP>&lsquo;LINGUAS&rsquo;</SAMP> file.
</DL>
@@ -293,11 +300,8 @@ msgfmt --desktop --template=<VAR>template</VAR> --locale=<VAR>locale</VAR> \
</PRE>
<P>
-On the other hand, when using msgfmt from a Makefile, it is cumbersome
-to loop over all locales under a particular directory. msgfmt
-provides a special operation mode for this use-case. To generate a
-<SAMP>&lsquo;.desktop&rsquo;</SAMP> file from multiple <SAMP>&lsquo;.po&rsquo;</SAMP> files under a directory,
-specify the directory with the <SAMP>&lsquo;-d&rsquo;</SAMP> option.
+msgfmt provides a special "bulk" operation mode to process multiple
+<TT>&lsquo;.po&rsquo;</TT> files at a time.
</P>
@@ -319,7 +323,75 @@ options are mandatory.
</P>
-<H3><A NAME="SEC165" HREF="gettext_toc.html#TOC165">10.1.8 Input file syntax</A></H3>
+<H3><A NAME="SEC165" HREF="gettext_toc.html#TOC165">10.1.8 XML mode operations</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;--template=<VAR>template</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX1019"></A>
+Specify an XML file used as a template.
+
+<DT><SAMP>&lsquo;-L <VAR>name</VAR>&rsquo;</SAMP>
+<DD>
+<DT><SAMP>&lsquo;--language=<VAR>name</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX1020"></A>
+<A NAME="IDX1021"></A>
+<A NAME="IDX1022"></A>
+Specifies the language of the input files.
+
+<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
+<DD>
+<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX1023"></A>
+<A NAME="IDX1024"></A>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX1025"></A>
+Specify the base directory of <TT>&lsquo;.po&rsquo;</TT> message catalogs.
+
+</DL>
+
+<P>
+To generate an XML file for a single locale, you can use it as follows.
+
+</P>
+
+<PRE>
+msgfmt --xml --template=<VAR>template</VAR> --locale=<VAR>locale</VAR> \
+ -o <VAR>file</VAR> <VAR>filename</VAR>.po ...
+</PRE>
+
+<P>
+msgfmt provides a special "bulk" operation mode to process multiple
+<TT>&lsquo;.po&rsquo;</TT> files at a time.
+
+</P>
+
+<PRE>
+msgfmt --xml --template=<VAR>template</VAR> -d <VAR>directory</VAR> -o <VAR>file</VAR>
+</PRE>
+
+<P>
+msgfmt first reads the <SAMP>&lsquo;LINGUAS&rsquo;</SAMP> file under <VAR>directory</VAR>, and
+then processes all <SAMP>&lsquo;.po&rsquo;</SAMP> files listed there. You can also limit
+the locales to a subset, through the <SAMP>&lsquo;LINGUAS&rsquo;</SAMP> environment
+variable.
+
+</P>
+<P>
+For either operation modes, the <SAMP>&lsquo;-o&rsquo;</SAMP> and <SAMP>&lsquo;--template&rsquo;</SAMP>
+options are mandatory.
+
+</P>
+
+
+<H3><A NAME="SEC166" HREF="gettext_toc.html#TOC166">10.1.9 Input file syntax</A></H3>
<DL COMPACT>
@@ -327,14 +399,14 @@ options are mandatory.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX1009"></A>
-<A NAME="IDX1010"></A>
+<A NAME="IDX1026"></A>
+<A NAME="IDX1027"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX1011"></A>
+<A NAME="IDX1028"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -342,7 +414,7 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
-<H3><A NAME="SEC166" HREF="gettext_toc.html#TOC166">10.1.9 Input file interpretation</A></H3>
+<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">10.1.10 Input file interpretation</A></H3>
<DL COMPACT>
@@ -350,15 +422,15 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--check&rsquo;</SAMP>
<DD>
-<A NAME="IDX1012"></A>
-<A NAME="IDX1013"></A>
+<A NAME="IDX1029"></A>
+<A NAME="IDX1030"></A>
Perform all the checks implied by <CODE>--check-format</CODE>, <CODE>--check-header</CODE>,
<CODE>--check-domain</CODE>.
<DT><SAMP>&lsquo;--check-format&rsquo;</SAMP>
<DD>
-<A NAME="IDX1014"></A>
-<A NAME="IDX1015"></A>
+<A NAME="IDX1031"></A>
+<A NAME="IDX1032"></A>
Check language dependent format strings.
If the string represents a format string used in a
@@ -377,19 +449,19 @@ used in a <CODE>printf</CODE>-like function and so <CODE>msgfmt</CODE> might rep
errors where there are none.
To solve this problem the programmer can dictate the decision to the
-<CODE>xgettext</CODE> program (see section <A HREF="gettext_15.html#SEC251">15.3.1 C Format Strings</A>). The translator should not
+<CODE>xgettext</CODE> program (see section <A HREF="gettext_15.html#SEC252">15.3.1 C Format Strings</A>). The translator should not
consider removing the flag from the <KBD>#,</KBD> line. This "fix" would be
reversed again as soon as <CODE>msgmerge</CODE> is called the next time.
<DT><SAMP>&lsquo;--check-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX1016"></A>
+<A NAME="IDX1033"></A>
Verify presence and contents of the header entry. See section <A HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A>,
for a description of the various fields in the header entry.
<DT><SAMP>&lsquo;--check-domain&rsquo;</SAMP>
<DD>
-<A NAME="IDX1017"></A>
+<A NAME="IDX1034"></A>
Check for conflicts between domain directives and the <CODE>--output-file</CODE>
option
@@ -397,18 +469,18 @@ option
<DD>
<DT><SAMP>&lsquo;--check-compatibility&rsquo;</SAMP>
<DD>
-<A NAME="IDX1018"></A>
-<A NAME="IDX1019"></A>
-<A NAME="IDX1020"></A>
+<A NAME="IDX1035"></A>
+<A NAME="IDX1036"></A>
+<A NAME="IDX1037"></A>
Check that GNU msgfmt behaves like X/Open msgfmt. This will give an error
when attempting to use the GNU extensions.
<DT><SAMP>&lsquo;--check-accelerators[=<VAR>char</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX1021"></A>
-<A NAME="IDX1022"></A>
-<A NAME="IDX1023"></A>
-<A NAME="IDX1024"></A>
+<A NAME="IDX1038"></A>
+<A NAME="IDX1039"></A>
+<A NAME="IDX1040"></A>
+<A NAME="IDX1041"></A>
Check presence of keyboard accelerators for menu items. This is based on
the convention used in some GUIs that a keyboard accelerator in a menu
item string is designated by an immediately preceding <SAMP>&lsquo;&#38;&rsquo;</SAMP> character.
@@ -423,9 +495,9 @@ instead of <SAMP>&lsquo;&#38;&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--use-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX1025"></A>
-<A NAME="IDX1026"></A>
-<A NAME="IDX1027"></A>
+<A NAME="IDX1042"></A>
+<A NAME="IDX1043"></A>
+<A NAME="IDX1044"></A>
Use fuzzy entries in output. Note that using this option is usually wrong,
because fuzzy messages are exactly those which have not been validated by
a human translator.
@@ -434,7 +506,7 @@ a human translator.
-<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">10.1.10 Output details</A></H3>
+<H3><A NAME="SEC168" HREF="gettext_toc.html#TOC168">10.1.11 Output details</A></H3>
<DL COMPACT>
@@ -442,13 +514,13 @@ a human translator.
<DD>
<DT><SAMP>&lsquo;--alignment=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1028"></A>
-<A NAME="IDX1029"></A>
+<A NAME="IDX1045"></A>
+<A NAME="IDX1046"></A>
Align strings to <VAR>number</VAR> bytes (default: 1).
<DT><SAMP>&lsquo;--endianness=<VAR>byteorder</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1030"></A>
+<A NAME="IDX1047"></A>
Write out 32-bit numbers in the given byte order. The possible values are
<CODE>big</CODE> and <CODE>little</CODE>. The default depends on the platform, namely
on the endianness of the CPU.
@@ -462,7 +534,7 @@ platform.
<DT><SAMP>&lsquo;--no-hash&rsquo;</SAMP>
<DD>
-<A NAME="IDX1031"></A>
+<A NAME="IDX1048"></A>
Don't include a hash table in the binary file. Lookup will be more expensive
at run time (binary search instead of hash table lookup).
@@ -470,7 +542,7 @@ at run time (binary search instead of hash table lookup).
-<H3><A NAME="SEC168" HREF="gettext_toc.html#TOC168">10.1.11 Informative output</A></H3>
+<H3><A NAME="SEC169" HREF="gettext_toc.html#TOC169">10.1.12 Informative output</A></H3>
<DL COMPACT>
@@ -478,21 +550,21 @@ at run time (binary search instead of hash table lookup).
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1032"></A>
-<A NAME="IDX1033"></A>
+<A NAME="IDX1049"></A>
+<A NAME="IDX1050"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1034"></A>
-<A NAME="IDX1035"></A>
+<A NAME="IDX1051"></A>
+<A NAME="IDX1052"></A>
Output version information and exit.
<DT><SAMP>&lsquo;--statistics&rsquo;</SAMP>
<DD>
-<A NAME="IDX1036"></A>
+<A NAME="IDX1053"></A>
Print statistics about translations. When the option <CODE>--verbose</CODE> is used
in combination with <CODE>--statistics</CODE>, the input file name is printed in
front of the statistics line.
@@ -501,33 +573,33 @@ front of the statistics line.
<DD>
<DT><SAMP>&lsquo;--verbose&rsquo;</SAMP>
<DD>
-<A NAME="IDX1037"></A>
-<A NAME="IDX1038"></A>
+<A NAME="IDX1054"></A>
+<A NAME="IDX1055"></A>
Increase verbosity level.
</DL>
-<H2><A NAME="SEC169" HREF="gettext_toc.html#TOC169">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC170" HREF="gettext_toc.html#TOC170">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
<P>
-<A NAME="IDX1039"></A>
-<A NAME="IDX1040"></A>
+<A NAME="IDX1056"></A>
+<A NAME="IDX1057"></A>
<PRE>
msgunfmt [<VAR>option</VAR>] [<VAR>file</VAR>]...
</PRE>
<P>
-<A NAME="IDX1041"></A>
+<A NAME="IDX1058"></A>
The <CODE>msgunfmt</CODE> program converts a binary message catalog to a
Uniforum style .po file.
</P>
-<H3><A NAME="SEC170" HREF="gettext_toc.html#TOC170">10.2.1 Operation mode</A></H3>
+<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">10.2.1 Operation mode</A></H3>
<DL COMPACT>
@@ -535,35 +607,35 @@ Uniforum style .po file.
<DD>
<DT><SAMP>&lsquo;--java&rsquo;</SAMP>
<DD>
-<A NAME="IDX1042"></A>
-<A NAME="IDX1043"></A>
-<A NAME="IDX1044"></A>
+<A NAME="IDX1059"></A>
+<A NAME="IDX1060"></A>
+<A NAME="IDX1061"></A>
Java mode: input is a Java <CODE>ResourceBundle</CODE> class.
<DT><SAMP>&lsquo;--csharp&rsquo;</SAMP>
<DD>
-<A NAME="IDX1045"></A>
-<A NAME="IDX1046"></A>
+<A NAME="IDX1062"></A>
+<A NAME="IDX1063"></A>
C# mode: input is a .NET .dll file containing a subclass of
<CODE>GettextResourceSet</CODE>.
<DT><SAMP>&lsquo;--csharp-resources&rsquo;</SAMP>
<DD>
-<A NAME="IDX1047"></A>
-<A NAME="IDX1048"></A>
+<A NAME="IDX1064"></A>
+<A NAME="IDX1065"></A>
C# resources mode: input is a .NET <TT>&lsquo;.resources&rsquo;</TT> file.
<DT><SAMP>&lsquo;--tcl&rsquo;</SAMP>
<DD>
-<A NAME="IDX1049"></A>
-<A NAME="IDX1050"></A>
+<A NAME="IDX1066"></A>
+<A NAME="IDX1067"></A>
Tcl mode: input is a tcl/msgcat <TT>&lsquo;.msg&rsquo;</TT> file.
</DL>
-<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">10.2.2 Input file location</A></H3>
+<H3><A NAME="SEC172" HREF="gettext_toc.html#TOC172">10.2.2 Input file location</A></H3>
<DL COMPACT>
@@ -579,7 +651,7 @@ If no input <VAR>file</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, s
</P>
-<H3><A NAME="SEC172" HREF="gettext_toc.html#TOC172">10.2.3 Input file location in Java mode</A></H3>
+<H3><A NAME="SEC173" HREF="gettext_toc.html#TOC173">10.2.3 Input file location in Java mode</A></H3>
<DL COMPACT>
@@ -587,16 +659,16 @@ If no input <VAR>file</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, s
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1051"></A>
-<A NAME="IDX1052"></A>
+<A NAME="IDX1068"></A>
+<A NAME="IDX1069"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1053"></A>
-<A NAME="IDX1054"></A>
+<A NAME="IDX1070"></A>
+<A NAME="IDX1071"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
@@ -609,7 +681,7 @@ separated with an underscore. The class is located using the <CODE>CLASSPATH</C
</P>
-<H3><A NAME="SEC173" HREF="gettext_toc.html#TOC173">10.2.4 Input file location in C# mode</A></H3>
+<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">10.2.4 Input file location in C# mode</A></H3>
<DL COMPACT>
@@ -617,22 +689,22 @@ separated with an underscore. The class is located using the <CODE>CLASSPATH</C
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1055"></A>
-<A NAME="IDX1056"></A>
+<A NAME="IDX1072"></A>
+<A NAME="IDX1073"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1057"></A>
-<A NAME="IDX1058"></A>
+<A NAME="IDX1074"></A>
+<A NAME="IDX1075"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1059"></A>
+<A NAME="IDX1076"></A>
Specify the base directory for locale dependent <TT>&lsquo;.dll&rsquo;</TT> files.
</DL>
@@ -645,7 +717,7 @@ locale.
</P>
-<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">10.2.5 Input file location in Tcl mode</A></H3>
+<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">10.2.5 Input file location in Tcl mode</A></H3>
<DL COMPACT>
@@ -653,14 +725,14 @@ locale.
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1060"></A>
-<A NAME="IDX1061"></A>
+<A NAME="IDX1077"></A>
+<A NAME="IDX1078"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1062"></A>
+<A NAME="IDX1079"></A>
Specify the base directory of <TT>&lsquo;.msg&rsquo;</TT> message catalogs.
</DL>
@@ -672,7 +744,7 @@ located in the specified directory.
</P>
-<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">10.2.6 Output file location</A></H3>
+<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">10.2.6 Output file location</A></H3>
<DL COMPACT>
@@ -680,8 +752,8 @@ located in the specified directory.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1063"></A>
-<A NAME="IDX1064"></A>
+<A NAME="IDX1080"></A>
+<A NAME="IDX1081"></A>
Write output to specified file.
</DL>
@@ -693,7 +765,7 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">10.2.7 Output details</A></H3>
+<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">10.2.7 Output details</A></H3>
<DL COMPACT>
@@ -701,32 +773,32 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1065"></A>
+<A NAME="IDX1082"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1066"></A>
+<A NAME="IDX1083"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX1067"></A>
+<A NAME="IDX1084"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX1068"></A>
-<A NAME="IDX1069"></A>
+<A NAME="IDX1085"></A>
+<A NAME="IDX1086"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX1070"></A>
+<A NAME="IDX1087"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -735,15 +807,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX1071"></A>
-<A NAME="IDX1072"></A>
+<A NAME="IDX1088"></A>
+<A NAME="IDX1089"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX1073"></A>
+<A NAME="IDX1090"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -751,15 +823,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1074"></A>
-<A NAME="IDX1075"></A>
+<A NAME="IDX1091"></A>
+<A NAME="IDX1092"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX1076"></A>
+<A NAME="IDX1093"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -768,9 +840,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX1077"></A>
-<A NAME="IDX1078"></A>
-<A NAME="IDX1079"></A>
+<A NAME="IDX1094"></A>
+<A NAME="IDX1095"></A>
+<A NAME="IDX1096"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -778,7 +850,7 @@ for the translator to understand each message's context.
-<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">10.2.8 Informative output</A></H3>
+<H3><A NAME="SEC178" HREF="gettext_toc.html#TOC178">10.2.8 Informative output</A></H3>
<DL COMPACT>
@@ -786,34 +858,34 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1080"></A>
-<A NAME="IDX1081"></A>
+<A NAME="IDX1097"></A>
+<A NAME="IDX1098"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1082"></A>
-<A NAME="IDX1083"></A>
+<A NAME="IDX1099"></A>
+<A NAME="IDX1100"></A>
Output version information and exit.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--verbose&rsquo;</SAMP>
<DD>
-<A NAME="IDX1084"></A>
-<A NAME="IDX1085"></A>
+<A NAME="IDX1101"></A>
+<A NAME="IDX1102"></A>
Increase verbosity level.
</DL>
-<H2><A NAME="SEC178" HREF="gettext_toc.html#TOC178">10.3 The Format of GNU MO Files</A></H2>
+<H2><A NAME="SEC179" HREF="gettext_toc.html#TOC179">10.3 The Format of GNU MO Files</A></H2>
<P>
-<A NAME="IDX1086"></A>
-<A NAME="IDX1087"></A>
+<A NAME="IDX1103"></A>
+<A NAME="IDX1104"></A>
</P>
<P>
@@ -822,7 +894,7 @@ which appears below.
</P>
<P>
-<A NAME="IDX1088"></A>
+<A NAME="IDX1105"></A>
The first two words serve the identification of the file. The magic
number will always signal GNU MO files. The number is stored in the
byte order of the generating machine, so the magic number really is
@@ -882,7 +954,7 @@ translated tables, making the system information very easy to find.
</P>
<P>
-<A NAME="IDX1089"></A>
+<A NAME="IDX1106"></A>
The size <VAR>S</VAR> of the hash table can be zero. In this case, the
hash table itself is not contained in the MO file. Some people might
prefer this because a precomputed hashing table takes disk space, and
@@ -903,13 +975,13 @@ machines, a correct alignment will speed things up.
</P>
<P>
-<A NAME="IDX1090"></A>
+<A NAME="IDX1107"></A>
Contexts are stored by storing the concatenation of the context, a
<KBD>EOT</KBD> byte, and the original string, instead of the original string.
</P>
<P>
-<A NAME="IDX1091"></A>
+<A NAME="IDX1108"></A>
Plural forms are stored by letting the plural of the original string
follow the singular of the original string, separated through a
<KBD>NUL</KBD> byte. The length which appears in the string descriptor
diff --git a/gettext-tools/doc/gettext_11.html b/gettext-tools/doc/gettext_11.html
index d77e233..a4a443a 100644
--- a/gettext-tools/doc/gettext_11.html
+++ b/gettext-tools/doc/gettext_11.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 11 The Programmer's View</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous
<P><HR><P>
-<H1><A NAME="SEC179" HREF="gettext_toc.html#TOC179">11 The Programmer's View</A></H1>
+<H1><A NAME="SEC180" HREF="gettext_toc.html#TOC180">11 The Programmer's View</A></H1>
<P>
One aim of the current message catalog implementation provided by
@@ -29,9 +29,9 @@ later explain our solution of this dilemma.
-<H2><A NAME="SEC180" HREF="gettext_toc.html#TOC180">11.1 About <CODE>catgets</CODE></A></H2>
+<H2><A NAME="SEC181" HREF="gettext_toc.html#TOC181">11.1 About <CODE>catgets</CODE></A></H2>
<P>
-<A NAME="IDX1092"></A>
+<A NAME="IDX1109"></A>
</P>
<P>
@@ -64,9 +64,9 @@ therefore part of all Unix implementation (implementations, which are
-<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">11.1.1 The Interface</A></H3>
+<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">11.1.1 The Interface</A></H3>
<P>
-<A NAME="IDX1093"></A>
+<A NAME="IDX1110"></A>
</P>
<P>
@@ -79,7 +79,7 @@ for the functions and the needed definitions are in the
</P>
<P>
-<A NAME="IDX1094"></A>
+<A NAME="IDX1111"></A>
<CODE>catopen</CODE> is used like in this:
</P>
@@ -98,7 +98,7 @@ message catalog, equivalent to handles to file returned by <CODE>open</CODE>.
</P>
<P>
-<A NAME="IDX1095"></A>
+<A NAME="IDX1112"></A>
This handle is of course used in the <CODE>catgets</CODE> function which can
be used like this:
@@ -130,7 +130,7 @@ should better be <CODE>const char *</CODE>, but the standard is published in
</P>
<P>
-<A NAME="IDX1096"></A>
+<A NAME="IDX1113"></A>
The last of these functions is used and behaves as expected:
</P>
@@ -145,9 +145,9 @@ After this no <CODE>catgets</CODE> call using the descriptor is legal anymore.
</P>
-<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
+<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
<P>
-<A NAME="IDX1097"></A>
+<A NAME="IDX1114"></A>
</P>
<P>
@@ -166,9 +166,9 @@ more easy to manage.
</P>
-<H2><A NAME="SEC183" HREF="gettext_toc.html#TOC183">11.2 About <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC184" HREF="gettext_toc.html#TOC184">11.2 About <CODE>gettext</CODE></A></H2>
<P>
-<A NAME="IDX1098"></A>
+<A NAME="IDX1115"></A>
</P>
<P>
@@ -183,7 +183,7 @@ The main point about this solution is that it does not follow the
method of normal file handling (open-use-close) and that it does not
burden the programmer with so many tasks, especially the unique key handling.
Of course here also a unique key is needed, but this key is the message
-itself (how long or short it is). See section <A HREF="gettext_11.html#SEC191">11.3 Comparing the Two Interfaces</A> for a more
+itself (how long or short it is). See section <A HREF="gettext_11.html#SEC192">11.3 Comparing the Two Interfaces</A> for a more
detailed comparison of the two methods.
</P>
@@ -197,9 +197,9 @@ in using this library will be interested in this description.
-<H3><A NAME="SEC184" HREF="gettext_toc.html#TOC184">11.2.1 The Interface</A></H3>
+<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">11.2.1 The Interface</A></H3>
<P>
-<A NAME="IDX1099"></A>
+<A NAME="IDX1116"></A>
</P>
<P>
@@ -268,11 +268,11 @@ your language.
</P>
-<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">11.2.2 Solving Ambiguities</A></H3>
+<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">11.2.2 Solving Ambiguities</A></H3>
<P>
-<A NAME="IDX1100"></A>
-<A NAME="IDX1101"></A>
-<A NAME="IDX1102"></A>
+<A NAME="IDX1117"></A>
+<A NAME="IDX1118"></A>
+<A NAME="IDX1119"></A>
</P>
<P>
@@ -346,9 +346,9 @@ unreliabilities.
</P>
-<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">11.2.3 Locating Message Catalog Files</A></H3>
+<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">11.2.3 Locating Message Catalog Files</A></H3>
<P>
-<A NAME="IDX1103"></A>
+<A NAME="IDX1120"></A>
</P>
<P>
@@ -387,10 +387,10 @@ through the third argument.
</P>
-<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
+<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
<P>
-<A NAME="IDX1104"></A>
-<A NAME="IDX1105"></A>
+<A NAME="IDX1121"></A>
+<A NAME="IDX1122"></A>
</P>
<P>
@@ -422,7 +422,7 @@ recommended that all <VAR>msgid</VAR>s be US-ASCII strings.
<P>
<DL>
<DT><U>Function:</U> char * <B>bind_textdomain_codeset</B> <I>(const char *<VAR>domainname</VAR>, const char *<VAR>codeset</VAR>)</I>
-<DD><A NAME="IDX1106"></A>
+<DD><A NAME="IDX1123"></A>
The <CODE>bind_textdomain_codeset</CODE> function can be used to specify the
output character set for message catalogs for domain <VAR>domainname</VAR>.
The <VAR>codeset</VAR> argument must be a valid codeset name which can be used
@@ -454,12 +454,12 @@ global variable <VAR>errno</VAR> is set accordingly.
</P>
-<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">11.2.5 Using contexts for solving ambiguities</A></H3>
+<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">11.2.5 Using contexts for solving ambiguities</A></H3>
<P>
-<A NAME="IDX1107"></A>
-<A NAME="IDX1108"></A>
-<A NAME="IDX1109"></A>
-<A NAME="IDX1110"></A>
+<A NAME="IDX1124"></A>
+<A NAME="IDX1125"></A>
+<A NAME="IDX1126"></A>
+<A NAME="IDX1127"></A>
</P>
<P>
@@ -497,7 +497,7 @@ over the functions from <CODE>&#60;libintl.h&#62;</CODE>.
</P>
<P>
-<A NAME="IDX1111"></A>
+<A NAME="IDX1128"></A>
<PRE>
const char *pgettext (const char *msgctxt, const char *msgid);
@@ -532,8 +532,8 @@ fetches a particular translation of the <VAR>msgid</VAR>.
</P>
<P>
-<A NAME="IDX1112"></A>
-<A NAME="IDX1113"></A>
+<A NAME="IDX1129"></A>
+<A NAME="IDX1130"></A>
<PRE>
const char *dpgettext (const char *domain_name,
@@ -618,9 +618,9 @@ string literals, more general macros are available:
</P>
<P>
-<A NAME="IDX1114"></A>
-<A NAME="IDX1115"></A>
-<A NAME="IDX1116"></A>
+<A NAME="IDX1131"></A>
+<A NAME="IDX1132"></A>
+<A NAME="IDX1133"></A>
<PRE>
const char *pgettext_expr (const char *msgctxt, const char *msgid);
@@ -640,9 +640,9 @@ efficient.
</P>
-<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">11.2.6 Additional functions for plural forms</A></H3>
+<H3><A NAME="SEC190" HREF="gettext_toc.html#TOC190">11.2.6 Additional functions for plural forms</A></H3>
<P>
-<A NAME="IDX1117"></A>
+<A NAME="IDX1134"></A>
</P>
<P>
@@ -765,7 +765,7 @@ purpose.
<P>
<DL>
<DT><U>Function:</U> char * <B>ngettext</B> <I>(const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX1118"></A>
+<DD><A NAME="IDX1135"></A>
The <CODE>ngettext</CODE> function is similar to the <CODE>gettext</CODE> function
as it finds the message catalogs in the same way. But it takes two
extra arguments. The <VAR>msgid1</VAR> parameter must contain the singular
@@ -836,7 +836,7 @@ printf (ngettext ("%$2d file removed from directory %$1s",
</PRE>
<P>
-See section <A HREF="gettext_15.html#SEC251">15.3.1 C Format Strings</A> for details about this argument reordering syntax.
+See section <A HREF="gettext_15.html#SEC252">15.3.1 C Format Strings</A> for details about this argument reordering syntax.
</P>
<P>
@@ -875,7 +875,7 @@ In this case the number <VAR>n</VAR> is only used to choose the plural form.
<P>
<DL>
<DT><U>Function:</U> char * <B>dngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX1119"></A>
+<DD><A NAME="IDX1136"></A>
The <CODE>dngettext</CODE> is similar to the <CODE>dgettext</CODE> function in the
way the message catalog is selected. The difference is that it takes
two extra parameter to provide the correct plural form. These two
@@ -886,7 +886,7 @@ parameters are handled in the same way <CODE>ngettext</CODE> handles them.
<P>
<DL>
<DT><U>Function:</U> char * <B>dcngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>, int <VAR>category</VAR>)</I>
-<DD><A NAME="IDX1120"></A>
+<DD><A NAME="IDX1137"></A>
The <CODE>dcngettext</CODE> is similar to the <CODE>dcgettext</CODE> function in the
way the message catalog is selected. The difference is that it takes
two extra parameter to provide the correct plural form. These two
@@ -911,9 +911,9 @@ possibility of extensions to not prevent the use of new languages).
</P>
<P>
-<A NAME="IDX1121"></A>
-<A NAME="IDX1122"></A>
-<A NAME="IDX1123"></A>
+<A NAME="IDX1138"></A>
+<A NAME="IDX1139"></A>
+<A NAME="IDX1140"></A>
The information about the plural form selection has to be stored in the
header entry of the PO file (the one with the empty <CODE>msgid</CODE> string).
The plural form information looks like this:
@@ -941,7 +941,7 @@ value of <CODE>nplurals</CODE>.
</P>
<P>
-<A NAME="IDX1124"></A>
+<A NAME="IDX1141"></A>
The following rules are known at this point. The language with families
are listed. But this does not necessarily mean the information can be
generalized for the whole family (as can be easily seen in the table
@@ -970,6 +970,9 @@ Languages with this property include:
Japanese,
Vietnamese,
Korean
+<DT>Tai-Kadai family
+<DD>
+Thai
</DL>
<DT>Two forms, singular used for one only
@@ -1014,6 +1017,9 @@ Estonian
<DT>Semitic family
<DD>
Hebrew
+<DT>Austronesian family
+<DD>
+Bahasa Indonesian
<DT>Artificial
<DD>
Esperanto
@@ -1219,6 +1225,26 @@ Languages with this property include:
<DD>
Slovenian
</DL>
+
+<DT>Six forms, special cases for one, two, all numbers ending in 02, 03, ... 10, all numbers ending in 11 ... 99, and others
+<DD>
+The header entry would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=6; \
+ plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100&#62;=3 &#38;&#38; n%100&#60;=10 ? 3 \
+ : n%100&#62;=11 ? 4 : 5;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Afroasiatic family
+<DD>
+Arabic
+</DL>
</DL>
<P>
@@ -1279,14 +1305,14 @@ is acceptable in English, and similarly for other languages.
</P>
<P>
The translators' perspective regarding plural forms is explained in
-section <A HREF="gettext_12.html#SEC210">12.6 Translating plural forms</A>.
+section <A HREF="gettext_12.html#SEC211">12.6 Translating plural forms</A>.
</P>
-<H3><A NAME="SEC190" HREF="gettext_toc.html#TOC190">11.2.7 Optimization of the *gettext functions</A></H3>
+<H3><A NAME="SEC191" HREF="gettext_toc.html#TOC191">11.2.7 Optimization of the *gettext functions</A></H3>
<P>
-<A NAME="IDX1125"></A>
+<A NAME="IDX1142"></A>
</P>
<P>
@@ -1339,10 +1365,10 @@ find the result through a single cache lookup.
</P>
-<H2><A NAME="SEC191" HREF="gettext_toc.html#TOC191">11.3 Comparing the Two Interfaces</A></H2>
+<H2><A NAME="SEC192" HREF="gettext_toc.html#TOC192">11.3 Comparing the Two Interfaces</A></H2>
<P>
-<A NAME="IDX1126"></A>
-<A NAME="IDX1127"></A>
+<A NAME="IDX1143"></A>
+<A NAME="IDX1144"></A>
</P>
@@ -1392,7 +1418,7 @@ by
</P>
<P>
-<A NAME="IDX1128"></A>
+<A NAME="IDX1145"></A>
<PRE>
#include &#60;libintl.h&#62;
@@ -1407,7 +1433,7 @@ can use any that becomes available.
</P>
<P>
-<A NAME="IDX1129"></A>
+<A NAME="IDX1146"></A>
The same procedure can be done for the <CODE>gettext_noop</CODE> invocations
(see section <A HREF="gettext_4.html#SEC23">4.7 Special Cases of Translatable Strings</A>). One usually defines <CODE>gettext_noop</CODE> as a
no-op macro. So you should consider the following code for your project:
@@ -1486,12 +1512,12 @@ little bit. But it is not impossible to overcome.
<P>
<CODE>catgets</CODE> allows same original entry to have different translations,
but <CODE>gettext</CODE> has another, scalable approach for solving ambiguities
-of this kind: See section <A HREF="gettext_11.html#SEC185">11.2.2 Solving Ambiguities</A>.
+of this kind: See section <A HREF="gettext_11.html#SEC186">11.2.2 Solving Ambiguities</A>.
</P>
-<H2><A NAME="SEC192" HREF="gettext_toc.html#TOC192">11.4 Using libintl.a in own programs</A></H2>
+<H2><A NAME="SEC193" HREF="gettext_toc.html#TOC193">11.4 Using libintl.a in own programs</A></H2>
<P>
Starting with version 0.9.4 the library <CODE>libintl.h</CODE> should be
@@ -1502,7 +1528,7 @@ and the library in directories selected using the <CODE>$(prefix)</CODE>.
</P>
-<H2><A NAME="SEC193" HREF="gettext_toc.html#TOC193">11.5 Being a <CODE>gettext</CODE> grok</A></H2>
+<H2><A NAME="SEC194" HREF="gettext_toc.html#TOC194">11.5 Being a <CODE>gettext</CODE> grok</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -1520,7 +1546,7 @@ is a list comments:
<UL>
<LI>Changing the language at runtime
-<A NAME="IDX1130"></A>
+<A NAME="IDX1147"></A>
For interactive programs it might be useful to offer a selection of the
used language at runtime. To understand how to do this one need to know
@@ -1537,20 +1563,20 @@ priority:
<OL>
<LI><CODE>LANGUAGE</CODE>
-<A NAME="IDX1131"></A>
+<A NAME="IDX1148"></A>
-<A NAME="IDX1132"></A>
+<A NAME="IDX1149"></A>
<LI><CODE>LC_ALL</CODE>
-<A NAME="IDX1133"></A>
-<A NAME="IDX1134"></A>
-<A NAME="IDX1135"></A>
-<A NAME="IDX1136"></A>
-<A NAME="IDX1137"></A>
-<A NAME="IDX1138"></A>
+<A NAME="IDX1150"></A>
+<A NAME="IDX1151"></A>
+<A NAME="IDX1152"></A>
+<A NAME="IDX1153"></A>
+<A NAME="IDX1154"></A>
+<A NAME="IDX1155"></A>
<LI><CODE>LC_xxx</CODE>, according to selected locale category
-<A NAME="IDX1139"></A>
+<A NAME="IDX1156"></A>
<LI><CODE>LANG</CODE>
</OL>
@@ -1568,7 +1594,7 @@ But there is one little hook. The code for gcc-2.7.0 and up provides
some optimization. This optimization normally prevents the calling of
the <CODE>dcgettext</CODE> function as long as no new catalog is loaded. But
if <CODE>dcgettext</CODE> is not called the program also cannot find the
-<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_11.html#SEC190">11.2.7 Optimization of the *gettext functions</A>). A
+<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_11.html#SEC191">11.2.7 Optimization of the *gettext functions</A>). A
solution for this is very easy. Include the following code in the
language switching function.
@@ -1584,7 +1610,7 @@ language switching function.
}
</PRE>
-<A NAME="IDX1140"></A>
+<A NAME="IDX1157"></A>
The variable <CODE>_nl_msg_cat_cntr</CODE> is defined in <TT>&lsquo;loadmsgcat.c&rsquo;</TT>.
You don't need to know what this is for. But it can be used to detect
whether a <CODE>gettext</CODE> implementation is GNU gettext and not non-GNU
@@ -1594,7 +1620,7 @@ system's native gettext implementation.
-<H2><A NAME="SEC194" HREF="gettext_toc.html#TOC194">11.6 Temporary Notes for the Programmers Chapter</A></H2>
+<H2><A NAME="SEC195" HREF="gettext_toc.html#TOC195">11.6 Temporary Notes for the Programmers Chapter</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -1604,7 +1630,7 @@ revised.
-<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">11.6.1 Temporary - Two Possible Implementations</A></H3>
+<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">11.6.1 Temporary - Two Possible Implementations</A></H3>
<P>
There are two competing methods for language independent messages:
@@ -1636,7 +1662,7 @@ see the Programming for Internationalization FAQ.
</P>
-<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">11.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
+<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">11.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
<P>
There have been a few discussions of late on the use of
@@ -1681,7 +1707,7 @@ of all Unix systems.
</P>
-<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">11.6.3 Temporary - Why a single implementation</A></H3>
+<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">11.6.3 Temporary - Why a single implementation</A></H3>
<P>
Now it seems kind of wasteful to me to have two different systems
@@ -1726,7 +1752,7 @@ the future.
</P>
-<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">11.6.4 Temporary - Notes</A></H3>
+<H3><A NAME="SEC199" HREF="gettext_toc.html#TOC199">11.6.4 Temporary - Notes</A></H3>
<P>
X/Open agreed very late on the standard form so that many
diff --git a/gettext-tools/doc/gettext_12.html b/gettext-tools/doc/gettext_12.html
index 74b621a..b9b89d6 100644
--- a/gettext-tools/doc/gettext_12.html
+++ b/gettext-tools/doc/gettext_12.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 12 The Translator's View</TITLE>
@@ -11,11 +11,11 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous
<P><HR><P>
-<H1><A NAME="SEC199" HREF="gettext_toc.html#TOC199">12 The Translator's View</A></H1>
+<H1><A NAME="SEC200" HREF="gettext_toc.html#TOC200">12 The Translator's View</A></H1>
-<H2><A NAME="SEC200" HREF="gettext_toc.html#TOC200">12.1 Introduction 0</A></H2>
+<H2><A NAME="SEC201" HREF="gettext_toc.html#TOC201">12.1 Introduction 0</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -98,7 +98,7 @@ you can work on.
</P>
-<H2><A NAME="SEC201" HREF="gettext_toc.html#TOC201">12.2 Introduction 1</A></H2>
+<H2><A NAME="SEC202" HREF="gettext_toc.html#TOC202">12.2 Introduction 1</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -153,7 +153,7 @@ document, please e-mail to <TT>&lsquo;coordinator@translationproject.org&rsquo;<
</P>
-<H2><A NAME="SEC202" HREF="gettext_toc.html#TOC202">12.3 Discussions</A></H2>
+<H2><A NAME="SEC203" HREF="gettext_toc.html#TOC203">12.3 Discussions</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -236,7 +236,7 @@ software.
-<H2><A NAME="SEC203" HREF="gettext_toc.html#TOC203">12.4 Organization</A></H2>
+<H2><A NAME="SEC204" HREF="gettext_toc.html#TOC204">12.4 Organization</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -285,7 +285,7 @@ reaches the Translation Project coordinator.
-<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">12.4.1 Central Coordination</A></H3>
+<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">12.4.1 Central Coordination</A></H3>
<P>
I also think GNU will need sooner than it thinks, that someone set up
@@ -310,7 +310,7 @@ overwhelming task, the time to put delegations in place.
</P>
-<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">12.4.2 National Teams</A></H3>
+<H3><A NAME="SEC206" HREF="gettext_toc.html#TOC206">12.4.2 National Teams</A></H3>
<P>
I suggest we look for volunteer coordinators/editors for individual
@@ -373,7 +373,7 @@ consistent.
-<H4><A NAME="SEC206" HREF="gettext_toc.html#TOC206">12.4.2.1 Sub-Cultures</A></H4>
+<H4><A NAME="SEC207" HREF="gettext_toc.html#TOC207">12.4.2.1 Sub-Cultures</A></H4>
<P>
Taking French for example, there are a few sub-cultures around computers
@@ -395,7 +395,7 @@ means soon!
</P>
-<H4><A NAME="SEC207" HREF="gettext_toc.html#TOC207">12.4.2.2 Organizational Ideas</A></H4>
+<H4><A NAME="SEC208" HREF="gettext_toc.html#TOC208">12.4.2.2 Organizational Ideas</A></H4>
<P>
I expect the next big changes after the official release. Please note
@@ -432,7 +432,7 @@ this also seems to work).
-<H3><A NAME="SEC208" HREF="gettext_toc.html#TOC208">12.4.3 Mailing Lists</A></H3>
+<H3><A NAME="SEC209" HREF="gettext_toc.html#TOC209">12.4.3 Mailing Lists</A></H3>
<P>
If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
@@ -486,7 +486,7 @@ subscribe as they see fit, as long as each team is represented in it.
</P>
-<H2><A NAME="SEC209" HREF="gettext_toc.html#TOC209">12.5 Information Flow</A></H2>
+<H2><A NAME="SEC210" HREF="gettext_toc.html#TOC210">12.5 Information Flow</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -540,10 +540,10 @@ have more information about this.
</P>
-<H2><A NAME="SEC210" HREF="gettext_toc.html#TOC210">12.6 Translating plural forms</A></H2>
+<H2><A NAME="SEC211" HREF="gettext_toc.html#TOC211">12.6 Translating plural forms</A></H2>
<P>
-<A NAME="IDX1141"></A>
+<A NAME="IDX1158"></A>
Suppose you are translating a PO file, and it contains an entry like this:
</P>
@@ -565,7 +565,7 @@ Such an entry denotes a message with plural forms, that is, a message where
the text depends on a cardinal number. The general form of the message,
in English, is the <CODE>msgid_plural</CODE> line. The <CODE>msgid</CODE> line is the
English singular form, that is, the form for when the number is equal to 1.
-More details about plural forms are explained in section <A HREF="gettext_11.html#SEC189">11.2.6 Additional functions for plural forms</A>.
+More details about plural forms are explained in section <A HREF="gettext_11.html#SEC190">11.2.6 Additional functions for plural forms</A>.
</P>
<P>
@@ -664,7 +664,7 @@ and therefore you cannot omit the placeholder.
</P>
-<H2><A NAME="SEC211" HREF="gettext_toc.html#TOC211">12.7 Prioritizing messages: How to determine which messages to translate first</A></H2>
+<H2><A NAME="SEC212" HREF="gettext_toc.html#TOC212">12.7 Prioritizing messages: How to determine which messages to translate first</A></H2>
<P>
A translator sometimes has only a limited amount of time per week to
@@ -688,7 +688,7 @@ of messages.
</P>
<P>
-<A NAME="IDX1142"></A>
+<A NAME="IDX1159"></A>
Here a more details. The GNU <CODE>libintl</CODE> library (but not the
corresponding functions in GNU <CODE>libc</CODE>) supports an environment variable
<CODE>GETTEXT_LOG_UNTRANSLATED</CODE>. The GNU <CODE>libintl</CODE> library will
diff --git a/gettext-tools/doc/gettext_13.html b/gettext-tools/doc/gettext_13.html
index ac36838..c0a29b5 100644
--- a/gettext-tools/doc/gettext_13.html
+++ b/gettext-tools/doc/gettext_13.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 13 The Maintainer's View</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous
<P><HR><P>
-<H1><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13 The Maintainer's View</A></H1>
+<H1><A NAME="SEC213" HREF="gettext_toc.html#TOC213">13 The Maintainer's View</A></H1>
<P>
-<A NAME="IDX1143"></A>
+<A NAME="IDX1160"></A>
</P>
<P>
@@ -53,7 +53,7 @@ for changes.
-<H2><A NAME="SEC213" HREF="gettext_toc.html#TOC213">13.1 Flat or Non-Flat Directory Structures</A></H2>
+<H2><A NAME="SEC214" HREF="gettext_toc.html#TOC214">13.1 Flat or Non-Flat Directory Structures</A></H2>
<P>
Some free software packages are distributed as <CODE>tar</CODE> files which unpack
@@ -86,11 +86,11 @@ use this as an opportunity to unflatten their package structure.
</P>
-<H2><A NAME="SEC214" HREF="gettext_toc.html#TOC214">13.2 Prerequisite Works</A></H2>
+<H2><A NAME="SEC215" HREF="gettext_toc.html#TOC215">13.2 Prerequisite Works</A></H2>
<P>
-<A NAME="IDX1144"></A>
-<A NAME="IDX1145"></A>
-<A NAME="IDX1146"></A>
+<A NAME="IDX1161"></A>
+<A NAME="IDX1162"></A>
+<A NAME="IDX1163"></A>
</P>
<P>
@@ -187,7 +187,7 @@ never try to <EM>solve</EM> a team's problem on your own.
</P>
-<H2><A NAME="SEC215" HREF="gettext_toc.html#TOC215">13.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
+<H2><A NAME="SEC216" HREF="gettext_toc.html#TOC216">13.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
<P>
The <CODE>gettextize</CODE> program is an interactive tool that helps the
@@ -222,7 +222,7 @@ GNU <CODE>gettext</CODE>.
<LI>It performs as many of the tasks mentioned in the next section
-section <A HREF="gettext_13.html#SEC216">13.4 Files You Must Create or Alter</A> as can be performed automatically.
+section <A HREF="gettext_13.html#SEC217">13.4 Files You Must Create or Alter</A> as can be performed automatically.
<LI>It removes obsolete files and idioms used for previous GNU
@@ -239,8 +239,8 @@ It can be invoked as follows:
</P>
<P>
-<A NAME="IDX1147"></A>
-<A NAME="IDX1148"></A>
+<A NAME="IDX1164"></A>
+<A NAME="IDX1165"></A>
<PRE>
gettextize [ <VAR>option</VAR>... ] [ <VAR>directory</VAR> ]
@@ -256,13 +256,13 @@ and accepts the following options:
<DD>
<DT><SAMP>&lsquo;--force&rsquo;</SAMP>
<DD>
-<A NAME="IDX1149"></A>
-<A NAME="IDX1150"></A>
+<A NAME="IDX1166"></A>
+<A NAME="IDX1167"></A>
Force replacement of files which already exist.
<DT><SAMP>&lsquo;--intl&rsquo;</SAMP>
<DD>
-<A NAME="IDX1151"></A>
+<A NAME="IDX1168"></A>
Install the libintl sources in a subdirectory named <TT>&lsquo;intl/&rsquo;</TT>.
This libintl will be used to provide internationalization on systems
that don't have GNU libintl installed. If this option is omitted,
@@ -272,7 +272,7 @@ be enabled on systems lacking GNU gettext.
<DT><SAMP>&lsquo;--po-dir=<VAR>dir</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1152"></A>
+<A NAME="IDX1169"></A>
Specify a directory containing PO files. Such a directory contains the
translations into various languages of a particular POT file. This
option can be specified multiple times, once for each translation domain.
@@ -280,14 +280,14 @@ If it is not specified, the directory named <TT>&lsquo;po/&rsquo;</TT> is update
<DT><SAMP>&lsquo;--no-changelog&rsquo;</SAMP>
<DD>
-<A NAME="IDX1153"></A>
+<A NAME="IDX1170"></A>
Don't update or create ChangeLog files. By default, <CODE>gettextize</CODE>
logs all changes (file additions, modifications and removals) in a
file called <SAMP>&lsquo;ChangeLog&rsquo;</SAMP> in each affected directory.
<DT><SAMP>&lsquo;--symlink&rsquo;</SAMP>
<DD>
-<A NAME="IDX1154"></A>
+<A NAME="IDX1171"></A>
Make symbolic links instead of copying the needed files. This can be
useful to save a few kilobytes of disk space, but it requires extra
effort to create self-contained tarballs, it may disturb some mechanism
@@ -298,20 +298,20 @@ bugs when a newer version of <CODE>gettext</CODE> is installed on the system.
<DD>
<DT><SAMP>&lsquo;--dry-run&rsquo;</SAMP>
<DD>
-<A NAME="IDX1155"></A>
-<A NAME="IDX1156"></A>
+<A NAME="IDX1172"></A>
+<A NAME="IDX1173"></A>
Print modifications but don't perform them. All actions that
<CODE>gettextize</CODE> would normally execute are inhibited and instead only
listed on standard output.
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1157"></A>
+<A NAME="IDX1174"></A>
Display this help and exit.
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1158"></A>
+<A NAME="IDX1175"></A>
Output version information and exit.
</DL>
@@ -417,14 +417,14 @@ It is important to understand that <CODE>gettextize</CODE> can not do the
entire job of adapting a package for using GNU <CODE>gettext</CODE>. The
amount of remaining work depends on whether the package uses GNU
<CODE>automake</CODE> or not. But in any case, the maintainer should still
-read the section section <A HREF="gettext_13.html#SEC216">13.4 Files You Must Create or Alter</A> after invoking <CODE>gettextize</CODE>.
+read the section section <A HREF="gettext_13.html#SEC217">13.4 Files You Must Create or Alter</A> after invoking <CODE>gettextize</CODE>.
</P>
<P>
In particular, if after using <SAMP>&lsquo;gettexize&rsquo;</SAMP>, you get an error
<SAMP>&lsquo;AC_COMPILE_IFELSE was called before AC_GNU_SOURCE&rsquo;</SAMP> or
<SAMP>&lsquo;AC_RUN_IFELSE was called before AC_GNU_SOURCE&rsquo;</SAMP>, you can fix it
-by modifying <TT>&lsquo;configure.ac&rsquo;</TT>, as described in section <A HREF="gettext_13.html#SEC221">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A>.
+by modifying <TT>&lsquo;configure.ac&rsquo;</TT>, as described in section <A HREF="gettext_13.html#SEC222">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A>.
</P>
<P>
@@ -432,14 +432,14 @@ It is also important to understand that <CODE>gettextize</CODE> is not part
of the GNU build system, in the sense that it should not be invoked
automatically, and not be invoked by someone who doesn't assume the
responsibilities of a package maintainer. For the latter purpose, a
-separate tool is provided, see section <A HREF="gettext_13.html#SEC242">13.6.4 Invoking the <CODE>autopoint</CODE> Program</A>.
+separate tool is provided, see section <A HREF="gettext_13.html#SEC243">13.6.4 Invoking the <CODE>autopoint</CODE> Program</A>.
</P>
-<H2><A NAME="SEC216" HREF="gettext_toc.html#TOC216">13.4 Files You Must Create or Alter</A></H2>
+<H2><A NAME="SEC217" HREF="gettext_toc.html#TOC217">13.4 Files You Must Create or Alter</A></H2>
<P>
-<A NAME="IDX1159"></A>
+<A NAME="IDX1176"></A>
</P>
<P>
@@ -454,20 +454,19 @@ changes needed in each.
<P>
So, here comes a list of files, each one followed by a description of
all alterations it needs. Many examples are taken out from the GNU
-<CODE>gettext</CODE> 0.19.4 distribution itself, or from the GNU
-<CODE>hello</CODE> distribution (<A HREF="http://www.franken.de/users/gnu/ke/hello">http://www.franken.de/users/gnu/ke/hello</A>
-or <A HREF="http://www.gnu.franken.de/ke/hello/">http://www.gnu.franken.de/ke/hello/</A>) You may indeed
-refer to the source code of the GNU <CODE>gettext</CODE> and GNU <CODE>hello</CODE>
-packages, as they are intended to be good examples for using GNU
-gettext functionality.
+<CODE>gettext</CODE> 0.19.7 distribution itself, or from the GNU
+<CODE>hello</CODE> distribution (<A HREF="http://www.gnu.org/software/hello">http://www.gnu.org/software/hello</A>).
+You may indeed refer to the source code of the GNU <CODE>gettext</CODE> and
+GNU <CODE>hello</CODE> packages, as they are intended to be good examples for
+using GNU gettext functionality.
</P>
-<H3><A NAME="SEC217" HREF="gettext_toc.html#TOC217">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC218" HREF="gettext_toc.html#TOC218">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1160"></A>
+<A NAME="IDX1177"></A>
</P>
<P>
@@ -511,9 +510,9 @@ case of <CODE>bison</CODE>), not the generated C file.
</P>
-<H3><A NAME="SEC218" HREF="gettext_toc.html#TOC218">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC219" HREF="gettext_toc.html#TOC219">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1161"></A>
+<A NAME="IDX1178"></A>
</P>
<P>
@@ -535,7 +534,7 @@ that these languages are currently supported by your package. If you
want to further restrict, at installation time, the set of installed
languages, this should not be done by modifying the <TT>&lsquo;LINGUAS&rsquo;</TT> file,
but rather by using the <CODE>LINGUAS</CODE> environment variable
-(see section <A HREF="gettext_14.html#SEC246">14 The Installer's and Distributor's View</A>).
+(see section <A HREF="gettext_14.html#SEC247">14 The Installer's and Distributor's View</A>).
</P>
<P>
@@ -560,9 +559,9 @@ directory; they are also installed by running <CODE>gettextize</CODE>.
</P>
-<H3><A NAME="SEC219" HREF="gettext_toc.html#TOC219">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC220" HREF="gettext_toc.html#TOC220">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1162"></A>
+<A NAME="IDX1179"></A>
</P>
<P>
@@ -584,14 +583,14 @@ locations need to adjust the three first variables defined in
<P>
As an alternative to the <CODE>XGETTEXT_OPTIONS</CODE> variables, it is also
possible to specify <CODE>xgettext</CODE> options through the
-<CODE>AM_XGETTEXT_OPTION</CODE> autoconf macro. See section <A HREF="gettext_13.html#SEC236">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>.
+<CODE>AM_XGETTEXT_OPTION</CODE> autoconf macro. See section <A HREF="gettext_13.html#SEC237">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>.
</P>
-<H3><A NAME="SEC220" HREF="gettext_toc.html#TOC220">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC221" HREF="gettext_toc.html#TOC221">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1163"></A>
+<A NAME="IDX1180"></A>
</P>
<P>
@@ -602,8 +601,8 @@ with <TT>&lsquo;po/Makefile.in.in&rsquo;</TT>.
</P>
<P>
-<A NAME="IDX1164"></A>
-<A NAME="IDX1165"></A>
+<A NAME="IDX1181"></A>
+<A NAME="IDX1182"></A>
GNU gettext comes with a <TT>&lsquo;Rules-quot&rsquo;</TT> file, containing rules for
building catalogs <TT>&lsquo;en@quot.po&rsquo;</TT> and <TT>&lsquo;en@boldquot.po&rsquo;</TT>. The
effect of <TT>&lsquo;en@quot.po&rsquo;</TT> is that people who set their <CODE>LANGUAGE</CODE>
@@ -628,7 +627,7 @@ letters. See section <A HREF="gettext_9.html#SEC102">9.4 Invoking the <CODE>ms
</P>
-<H3><A NAME="SEC221" HREF="gettext_toc.html#TOC221">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC222" HREF="gettext_toc.html#TOC222">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A></H3>
<P>
<TT>&lsquo;configure.ac&rsquo;</TT> or <TT>&lsquo;configure.in&rsquo;</TT> - this is the source from which
@@ -639,14 +638,14 @@ letters. See section <A HREF="gettext_9.html#SEC102">9.4 Invoking the <CODE>ms
<OL>
<LI>Declare the package and version.
-<A NAME="IDX1166"></A>
+<A NAME="IDX1183"></A>
This is done by a set of lines like these:
<PRE>
PACKAGE=gettext
-VERSION=0.19.4
+VERSION=0.19.7
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
@@ -657,13 +656,13 @@ or, if you are using GNU <CODE>automake</CODE>, by a line like this:
<PRE>
-AM_INIT_AUTOMAKE(gettext, 0.19.4)
+AM_INIT_AUTOMAKE(gettext, 0.19.7)
</PRE>
Of course, you replace <SAMP>&lsquo;gettext&rsquo;</SAMP> with the name of your package,
-and <SAMP>&lsquo;0.19.4&rsquo;</SAMP> by its version numbers, exactly as they
+and <SAMP>&lsquo;0.19.7&rsquo;</SAMP> by its version numbers, exactly as they
should appear in the packaged <CODE>tar</CODE> file name of your distribution
-(<TT>&lsquo;gettext-0.19.4.tar.gz&rsquo;</TT>, here).
+(<TT>&lsquo;gettext-0.19.7.tar.gz&rsquo;</TT>, here).
<LI>Check for internationalization support.
@@ -736,7 +735,7 @@ by GNU autoconf.
</P>
-<H3><A NAME="SEC222" HREF="gettext_toc.html#TOC222">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC223" HREF="gettext_toc.html#TOC223">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A></H3>
<P>
If you haven't suppressed the <TT>&lsquo;intl/&rsquo;</TT> subdirectory,
@@ -777,9 +776,9 @@ AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
-<H3><A NAME="SEC223" HREF="gettext_toc.html#TOC223">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC224" HREF="gettext_toc.html#TOC224">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1167"></A>
+<A NAME="IDX1184"></A>
</P>
<P>
@@ -791,9 +790,9 @@ automake 1.9.
</P>
-<H3><A NAME="SEC224" HREF="gettext_toc.html#TOC224">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC225" HREF="gettext_toc.html#TOC225">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1168"></A>
+<A NAME="IDX1185"></A>
</P>
<P>
@@ -871,9 +870,9 @@ piece of <CODE>m4</CODE> code will be the same for all projects using GNU
</P>
-<H3><A NAME="SEC225" HREF="gettext_toc.html#TOC225">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC226" HREF="gettext_toc.html#TOC226">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1169"></A>
+<A NAME="IDX1186"></A>
</P>
<P>
@@ -887,9 +886,9 @@ independently from the <TT>&lsquo;intl/&rsquo;</TT> directory.
</P>
-<H3><A NAME="SEC226" HREF="gettext_toc.html#TOC226">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC227" HREF="gettext_toc.html#TOC227">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1170"></A>
+<A NAME="IDX1187"></A>
</P>
<P>
@@ -936,7 +935,7 @@ following lines to <TT>&lsquo;config.h.in&rsquo;</TT>:
-<H3><A NAME="SEC227" HREF="gettext_toc.html#TOC227">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC228" HREF="gettext_toc.html#TOC228">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A></H3>
<P>
Here are a few modifications you need to make to your main, top-level
@@ -1023,7 +1022,7 @@ to <TT>&lsquo;Makefile.am&rsquo;</TT> are already made by running <SAMP>&lsquo;g
</P>
-<H3><A NAME="SEC228" HREF="gettext_toc.html#TOC228">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC229" HREF="gettext_toc.html#TOC229">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A></H3>
<P>
Some of the modifications made in the main <TT>&lsquo;Makefile.in&rsquo;</TT> will
@@ -1225,11 +1224,11 @@ AM_CPPFLAGS = -I../intl -I$(top_srcdir)/intl
-<H3><A NAME="SEC229" HREF="gettext_toc.html#TOC229">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC230" HREF="gettext_toc.html#TOC230">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1171"></A>
-<A NAME="IDX1172"></A>
-<A NAME="IDX1173"></A>
+<A NAME="IDX1188"></A>
+<A NAME="IDX1189"></A>
+<A NAME="IDX1190"></A>
</P>
<P>
@@ -1266,7 +1265,7 @@ to 0 in C preprocessor expressions.
</P>
<P>
-<A NAME="IDX1174"></A>
+<A NAME="IDX1191"></A>
<TT>&lsquo;gettext.h&rsquo;</TT> is a convenience header file for conditional use of
<TT>&lsquo;&#60;libintl.h&#62;&rsquo;</TT>, depending on the <CODE>ENABLE_NLS</CODE> macro. If
<CODE>ENABLE_NLS</CODE> is set, it includes <TT>&lsquo;&#60;libintl.h&#62;&rsquo;</TT>; otherwise it
@@ -1305,9 +1304,9 @@ package that needs it should contain a copy of it on its own.
</P>
-<H2><A NAME="SEC230" HREF="gettext_toc.html#TOC230">13.5 Autoconf macros for use in <TT>&lsquo;configure.ac&rsquo;</TT></A></H2>
+<H2><A NAME="SEC231" HREF="gettext_toc.html#TOC231">13.5 Autoconf macros for use in <TT>&lsquo;configure.ac&rsquo;</TT></A></H2>
<P>
-<A NAME="IDX1175"></A>
+<A NAME="IDX1192"></A>
</P>
<P>
@@ -1320,10 +1319,10 @@ The primary macro is, of course, <CODE>AM_GNU_GETTEXT</CODE>.
-<H3><A NAME="SEC231" HREF="gettext_toc.html#TOC231">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC232" HREF="gettext_toc.html#TOC232">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1176"></A>
+<A NAME="IDX1193"></A>
The <CODE>AM_GNU_GETTEXT</CODE> macro tests for the presence of the GNU gettext
function family in either the C library or a separate <CODE>libintl</CODE>
library (shared or static libraries are both supported) or in the package's
@@ -1393,7 +1392,7 @@ The complexities that <CODE>AM_GNU_GETTEXT</CODE> deals with are the following:
<UL>
<LI>
-<A NAME="IDX1177"></A>
+<A NAME="IDX1194"></A>
Some operating systems have <CODE>gettext</CODE> in the C library, for example
glibc. Some have it in a separate library <CODE>libintl</CODE>. GNU <CODE>libintl</CODE>
might have been installed as part of the GNU <CODE>gettext</CODE> package.
@@ -1429,25 +1428,25 @@ and <CODE>LTLIBINTL</CODE> variables.
-<H3><A NAME="SEC232" HREF="gettext_toc.html#TOC232">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC233" HREF="gettext_toc.html#TOC233">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1178"></A>
+<A NAME="IDX1195"></A>
The <CODE>AM_GNU_GETTEXT_VERSION</CODE> macro declares the version number of
the GNU gettext infrastructure that is used by the package.
</P>
<P>
The use of this macro is optional; only the <CODE>autopoint</CODE> program makes
-use of it (see section <A HREF="gettext_13.html#SEC238">13.6 Integrating with Version Control Systems</A>).
+use of it (see section <A HREF="gettext_13.html#SEC239">13.6 Integrating with Version Control Systems</A>).
</P>
-<H3><A NAME="SEC233" HREF="gettext_toc.html#TOC233">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC234" HREF="gettext_toc.html#TOC234">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1179"></A>
+<A NAME="IDX1196"></A>
The <CODE>AM_GNU_GETTEXT_NEED</CODE> macro declares a constraint regarding the
GNU gettext implementation. The syntax is
@@ -1477,10 +1476,10 @@ the <CODE>AM_GNU_GETTEXT</CODE> invocation; the order doesn't matter.
</P>
-<H3><A NAME="SEC234" HREF="gettext_toc.html#TOC234">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC235" HREF="gettext_toc.html#TOC235">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1180"></A>
+<A NAME="IDX1197"></A>
The <CODE>AM_GNU_GETTEXT_INTL_SUBDIR</CODE> macro specifies that the
<CODE>AM_GNU_GETTEXT</CODE> macro, although invoked with the first argument
<SAMP>&lsquo;external&rsquo;</SAMP>, should also prepare for building the <TT>&lsquo;intl/&rsquo;</TT>
@@ -1499,14 +1498,14 @@ GNU autoconf 2.61 or newer.
</P>
-<H3><A NAME="SEC235" HREF="gettext_toc.html#TOC235">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC236" HREF="gettext_toc.html#TOC236">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1181"></A>
+<A NAME="IDX1198"></A>
The <CODE>AM_PO_SUBDIRS</CODE> macro prepares the <TT>&lsquo;po/&rsquo;</TT> directories of the
package for building. This macro should be used in internationalized
programs written in other programming languages than C, C++, Objective C,
-for example <CODE>sh</CODE>, <CODE>Python</CODE>, <CODE>Lisp</CODE>. See section <A HREF="gettext_15.html#SEC247">15 Other Programming Languages</A> for a list of programming languages that support localization
+for example <CODE>sh</CODE>, <CODE>Python</CODE>, <CODE>Lisp</CODE>. See section <A HREF="gettext_15.html#SEC248">15 Other Programming Languages</A> for a list of programming languages that support localization
through PO files.
</P>
@@ -1519,10 +1518,10 @@ variables in each <TT>&lsquo;po/&rsquo;</TT> directory.
</P>
-<H3><A NAME="SEC236" HREF="gettext_toc.html#TOC236">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC237" HREF="gettext_toc.html#TOC237">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1182"></A>
+<A NAME="IDX1199"></A>
The <CODE>AM_XGETTEXT_OPTION</CODE> macro registers a command-line option to be
used in the invocations of <CODE>xgettext</CODE> in the <TT>&lsquo;po/&rsquo;</TT> directories
of the package.
@@ -1553,10 +1552,10 @@ The use of this macro is an alternative to the use of the
</P>
-<H3><A NAME="SEC237" HREF="gettext_toc.html#TOC237">13.5.7 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC238" HREF="gettext_toc.html#TOC238">13.5.7 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1183"></A>
+<A NAME="IDX1200"></A>
The <CODE>AM_ICONV</CODE> macro tests for the presence of the POSIX/XSI
<CODE>iconv</CODE> function family in either the C library or a separate
<CODE>libiconv</CODE> library. If found, it sets the <CODE>am_cv_func_iconv</CODE>
@@ -1580,7 +1579,7 @@ The complexities that <CODE>AM_ICONV</CODE> deals with are the following:
<UL>
<LI>
-<A NAME="IDX1184"></A>
+<A NAME="IDX1201"></A>
Some operating systems have <CODE>iconv</CODE> in the C library, for example
glibc. Some have it in a separate library <CODE>libiconv</CODE>, for example
OSF/1 or FreeBSD. Regardless of the operating system, GNU <CODE>libiconv</CODE>
@@ -1617,7 +1616,7 @@ library support, like SCO.
</P>
-<H2><A NAME="SEC238" HREF="gettext_toc.html#TOC238">13.6 Integrating with Version Control Systems</A></H2>
+<H2><A NAME="SEC239" HREF="gettext_toc.html#TOC239">13.6 Integrating with Version Control Systems</A></H2>
<P>
Many projects use version control systems for distributed development
@@ -1629,13 +1628,13 @@ version controlled files.
-<H3><A NAME="SEC239" HREF="gettext_toc.html#TOC239">13.6.1 Avoiding version mismatch in distributed development</A></H3>
+<H3><A NAME="SEC240" HREF="gettext_toc.html#TOC240">13.6.1 Avoiding version mismatch in distributed development</A></H3>
<P>
In a project development with multiple developers, there should be a
single developer who occasionally - when there is desire to upgrade to
a new <CODE>gettext</CODE> version - runs <CODE>gettextize</CODE> and performs the
-changes listed in section <A HREF="gettext_13.html#SEC216">13.4 Files You Must Create or Alter</A>, and then commits his changes
+changes listed in section <A HREF="gettext_13.html#SEC217">13.4 Files You Must Create or Alter</A>, and then commits his changes
to the repository.
</P>
@@ -1677,7 +1676,7 @@ undiscovered due to this constellation.
-<H3><A NAME="SEC240" HREF="gettext_toc.html#TOC240">13.6.2 Files to put under version control</A></H3>
+<H3><A NAME="SEC241" HREF="gettext_toc.html#TOC241">13.6.2 Files to put under version control</A></H3>
<P>
There are basically three ways to deal with generated files in the
@@ -1752,7 +1751,7 @@ form
</P>
<PRE>
-AM_GNU_GETTEXT_VERSION(0.19.4)
+AM_GNU_GETTEXT_VERSION(0.19.7)
</PRE>
<P>
@@ -1778,7 +1777,7 @@ installed.
</P>
-<H3><A NAME="SEC241" HREF="gettext_toc.html#TOC241">13.6.3 Put PO Files under Version Control</A></H3>
+<H3><A NAME="SEC242" HREF="gettext_toc.html#TOC242">13.6.3 Put PO Files under Version Control</A></H3>
<P>
Since translations are valuable assets as well as the source code, it
@@ -1839,11 +1838,11 @@ recover the location comments by running <CODE>msgmerge</CODE> again.
-<H3><A NAME="SEC242" HREF="gettext_toc.html#TOC242">13.6.4 Invoking the <CODE>autopoint</CODE> Program</A></H3>
+<H3><A NAME="SEC243" HREF="gettext_toc.html#TOC243">13.6.4 Invoking the <CODE>autopoint</CODE> Program</A></H3>
<P>
-<A NAME="IDX1185"></A>
-<A NAME="IDX1186"></A>
+<A NAME="IDX1202"></A>
+<A NAME="IDX1203"></A>
<PRE>
autopoint [<VAR>option</VAR>]...
@@ -1858,9 +1857,18 @@ used by the package, and copies the infrastructure files belonging to
this version into the package.
</P>
+<P>
+To extract the latest available infrastructure which satisfies a version
+requirement, then you can use the form
+<CODE>AM_GNU_GETTEXT_REQUIRE_VERSION(<VAR>version</VAR>)</CODE> instead. For
+example, if gettext 0.19.7 is installed on your system
+and <CODE>0.19.1</CODE> is requested, then the infrastructure files of version
+0.19.7 will be copied into a source package.
+
+</P>
-<H4><A NAME="SEC243" HREF="gettext_toc.html#TOC243">13.6.4.1 Options</A></H4>
+<H4><A NAME="SEC244" HREF="gettext_toc.html#TOC244">13.6.4.1 Options</A></H4>
<DL COMPACT>
@@ -1868,16 +1876,16 @@ this version into the package.
<DD>
<DT><SAMP>&lsquo;--force&rsquo;</SAMP>
<DD>
-<A NAME="IDX1187"></A>
-<A NAME="IDX1188"></A>
+<A NAME="IDX1204"></A>
+<A NAME="IDX1205"></A>
Force overwriting of files that already exist.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--dry-run&rsquo;</SAMP>
<DD>
-<A NAME="IDX1189"></A>
-<A NAME="IDX1190"></A>
+<A NAME="IDX1206"></A>
+<A NAME="IDX1207"></A>
Print modifications but don't perform them. All file copying actions that
<CODE>autopoint</CODE> would normally execute are inhibited and instead only
listed on standard output.
@@ -1886,27 +1894,28 @@ listed on standard output.
-<H4><A NAME="SEC244" HREF="gettext_toc.html#TOC244">13.6.4.2 Informative output</A></H4>
+<H4><A NAME="SEC245" HREF="gettext_toc.html#TOC245">13.6.4.2 Informative output</A></H4>
<DL COMPACT>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1191"></A>
+<A NAME="IDX1208"></A>
Display this help and exit.
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1192"></A>
+<A NAME="IDX1209"></A>
Output version information and exit.
</DL>
<P>
-<CODE>autopoint</CODE> supports the GNU <CODE>gettext</CODE> versions from 0.10.35 to
-the current one, 0.19.4. In order to apply <CODE>autopoint</CODE> to
-a package using a <CODE>gettext</CODE> version newer than 0.19.4, you
-need to install this same version of GNU <CODE>gettext</CODE> at least.
+<CODE>autopoint</CODE> supports the GNU <CODE>gettext</CODE> versions from 0.10.35
+to the current one, 0.19.7. In order to apply
+<CODE>autopoint</CODE> to a package using a <CODE>gettext</CODE> version newer than
+0.19.7, you need to install this same version of GNU
+<CODE>gettext</CODE> at least.
</P>
<P>
@@ -1927,11 +1936,11 @@ the tool copies or updates mostly files in the <TT>&lsquo;po&rsquo;</TT>, <TT>&l
</P>
-<H2><A NAME="SEC245" HREF="gettext_toc.html#TOC245">13.7 Creating a Distribution Tarball</A></H2>
+<H2><A NAME="SEC246" HREF="gettext_toc.html#TOC246">13.7 Creating a Distribution Tarball</A></H2>
<P>
-<A NAME="IDX1193"></A>
-<A NAME="IDX1194"></A>
+<A NAME="IDX1210"></A>
+<A NAME="IDX1211"></A>
In projects that use GNU <CODE>automake</CODE>, the usual commands for creating
a distribution tarball, <SAMP>&lsquo;make dist&rsquo;</SAMP> or <SAMP>&lsquo;make distcheck&rsquo;</SAMP>,
automatically update the PO files as needed.
diff --git a/gettext-tools/doc/gettext_14.html b/gettext-tools/doc/gettext_14.html
index 75f39ed..c4632f0 100644
--- a/gettext-tools/doc/gettext_14.html
+++ b/gettext-tools/doc/gettext_14.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 14 The Installer's and Distributor's View</TITLE>
@@ -11,12 +11,12 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous
<P><HR><P>
-<H1><A NAME="SEC246" HREF="gettext_toc.html#TOC246">14 The Installer's and Distributor's View</A></H1>
+<H1><A NAME="SEC247" HREF="gettext_toc.html#TOC247">14 The Installer's and Distributor's View</A></H1>
<P>
-<A NAME="IDX1195"></A>
-<A NAME="IDX1196"></A>
-<A NAME="IDX1197"></A>
-<A NAME="IDX1198"></A>
+<A NAME="IDX1212"></A>
+<A NAME="IDX1213"></A>
+<A NAME="IDX1214"></A>
+<A NAME="IDX1215"></A>
</P>
<P>
@@ -35,7 +35,7 @@ produces programs totally unable to translate messages.
</P>
<P>
-<A NAME="IDX1199"></A>
+<A NAME="IDX1216"></A>
Internationalized packages have usually many <TT>&lsquo;<VAR>ll</VAR>.po&rsquo;</TT>
files. Unless
translations are disabled, all those available are installed together
diff --git a/gettext-tools/doc/gettext_15.html b/gettext-tools/doc/gettext_15.html
index 9f94ca6..ccd7f2b 100644
--- a/gettext-tools/doc/gettext_15.html
+++ b/gettext-tools/doc/gettext_15.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 15 Other Programming Languages</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous
<P><HR><P>
-<H1><A NAME="SEC247" HREF="gettext_toc.html#TOC247">15 Other Programming Languages</A></H1>
+<H1><A NAME="SEC248" HREF="gettext_toc.html#TOC248">15 Other Programming Languages</A></H1>
<P>
While the presentation of <CODE>gettext</CODE> focuses mostly on C and
@@ -24,10 +24,10 @@ approach.
-<H2><A NAME="SEC248" HREF="gettext_toc.html#TOC248">15.1 The Language Implementor's View</A></H2>
+<H2><A NAME="SEC249" HREF="gettext_toc.html#TOC249">15.1 The Language Implementor's View</A></H2>
<P>
-<A NAME="IDX1200"></A>
-<A NAME="IDX1201"></A>
+<A NAME="IDX1217"></A>
+<A NAME="IDX1218"></A>
</P>
<P>
@@ -125,7 +125,7 @@ different effects on portability and copyright:
<LI>
You may integrate the GNU <CODE>gettext</CODE>'s <TT>&lsquo;intl/&rsquo;</TT> directory in
-your package, as described in section <A HREF="gettext_13.html#SEC212">13 The Maintainer's View</A>. This allows you to
+your package, as described in section <A HREF="gettext_13.html#SEC213">13 The Maintainer's View</A>. This allows you to
have internationalization on all kinds of platforms. Note that when you
then distribute your package, it legally falls under the GNU General
Public License, and the GNU project will be glad about your contribution
@@ -151,7 +151,7 @@ and plural handling).
-<H2><A NAME="SEC249" HREF="gettext_toc.html#TOC249">15.2 The Programmer's View</A></H2>
+<H2><A NAME="SEC250" HREF="gettext_toc.html#TOC250">15.2 The Programmer's View</A></H2>
<P>
For the programmer, the general procedure is the same as for the C
@@ -164,7 +164,7 @@ underlying language runtime.
</P>
-<H2><A NAME="SEC250" HREF="gettext_toc.html#TOC250">15.3 The Translator's View</A></H2>
+<H2><A NAME="SEC251" HREF="gettext_toc.html#TOC251">15.3 The Translator's View</A></H2>
<P>
The translator works exactly as in the C language case. The only
@@ -176,7 +176,7 @@ strings.
-<H3><A NAME="SEC251" HREF="gettext_toc.html#TOC251">15.3.1 C Format Strings</A></H3>
+<H3><A NAME="SEC252" HREF="gettext_toc.html#TOC252">15.3.1 C Format Strings</A></H3>
<P>
C format strings are described in POSIX (IEEE P1003.1 2001), section
@@ -214,8 +214,8 @@ activates these replacement functions automatically.
</P>
<P>
-<A NAME="IDX1202"></A>
-<A NAME="IDX1203"></A>
+<A NAME="IDX1219"></A>
+<A NAME="IDX1220"></A>
As a special feature for Farsi (Persian) and maybe Arabic, translators can
insert an <SAMP>&lsquo;I&rsquo;</SAMP> flag into numeric format directives. For example, the
translation of <CODE>"%d"</CODE> can be <CODE>"%Id"</CODE>. The effect of this flag,
@@ -234,7 +234,7 @@ glibc when NLS is disabled.)
</P>
-<H3><A NAME="SEC252" HREF="gettext_toc.html#TOC252">15.3.2 Objective C Format Strings</A></H3>
+<H3><A NAME="SEC253" HREF="gettext_toc.html#TOC253">15.3.2 Objective C Format Strings</A></H3>
<P>
Objective C format strings are like C format strings. They support an
@@ -244,7 +244,7 @@ of type <CODE>Object *</CODE>.
</P>
-<H3><A NAME="SEC253" HREF="gettext_toc.html#TOC253">15.3.3 Shell Format Strings</A></H3>
+<H3><A NAME="SEC254" HREF="gettext_toc.html#TOC254">15.3.3 Shell Format Strings</A></H3>
<P>
Shell format strings, as supported by GNU gettext and the <SAMP>&lsquo;envsubst&rsquo;</SAMP>
@@ -266,7 +266,7 @@ a variable reference is ignored.
</P>
-<H3><A NAME="SEC254" HREF="gettext_toc.html#TOC254">15.3.4 Python Format Strings</A></H3>
+<H3><A NAME="SEC255" HREF="gettext_toc.html#TOC255">15.3.4 Python Format Strings</A></H3>
<P>
There are two kinds of format strings in Python: those acceptable to
@@ -278,11 +278,10 @@ of the <SAMP>&lsquo;str&rsquo;</SAMP> object.
<P>
Python <CODE>%</CODE> format strings are described in
Python Library reference /
-2. Built-in Types, Exceptions and Functions /
-2.2. Built-in Types /
-2.2.6. Sequence Types /
-2.2.6.2. String Formatting Operations.
-<A HREF="http://www.python.org/doc/2.2.1/lib/typesseq-strings.html">http://www.python.org/doc/2.2.1/lib/typesseq-strings.html</A>.
+5. Built-in Types /
+5.6. Sequence Types /
+5.6.2. String Formatting Operations.
+<A HREF="http://docs.python.org/2/library/stdtypes.html#string-formatting-operations">http://docs.python.org/2/library/stdtypes.html#string-formatting-operations</A>.
</P>
<P>
@@ -292,7 +291,7 @@ String Formatting, <A HREF="http://www.python.org/dev/peps/pep-3101/">http://www
</P>
-<H3><A NAME="SEC255" HREF="gettext_toc.html#TOC255">15.3.5 Lisp Format Strings</A></H3>
+<H3><A NAME="SEC256" HREF="gettext_toc.html#TOC256">15.3.5 Lisp Format Strings</A></H3>
<P>
Lisp format strings are described in the Common Lisp HyperSpec,
@@ -302,7 +301,7 @@ chapter 22.3 Formatted Output,
</P>
-<H3><A NAME="SEC256" HREF="gettext_toc.html#TOC256">15.3.6 Emacs Lisp Format Strings</A></H3>
+<H3><A NAME="SEC257" HREF="gettext_toc.html#TOC257">15.3.6 Emacs Lisp Format Strings</A></H3>
<P>
Emacs Lisp format strings are documented in the Emacs Lisp reference,
@@ -314,7 +313,7 @@ in format strings while FSF Emacs doesn't.
</P>
-<H3><A NAME="SEC257" HREF="gettext_toc.html#TOC257">15.3.7 librep Format Strings</A></H3>
+<H3><A NAME="SEC258" HREF="gettext_toc.html#TOC258">15.3.7 librep Format Strings</A></H3>
<P>
librep format strings are documented in the librep manual, section
@@ -325,7 +324,7 @@ Formatted Output,
</P>
-<H3><A NAME="SEC258" HREF="gettext_toc.html#TOC258">15.3.8 Scheme Format Strings</A></H3>
+<H3><A NAME="SEC259" HREF="gettext_toc.html#TOC259">15.3.8 Scheme Format Strings</A></H3>
<P>
Scheme format strings are documented in the SLIB manual, section
@@ -334,7 +333,7 @@ Format Specification.
</P>
-<H3><A NAME="SEC259" HREF="gettext_toc.html#TOC259">15.3.9 Smalltalk Format Strings</A></H3>
+<H3><A NAME="SEC260" HREF="gettext_toc.html#TOC260">15.3.9 Smalltalk Format Strings</A></H3>
<P>
Smalltalk format strings are described in the GNU Smalltalk documentation,
@@ -347,7 +346,7 @@ or a nonzero digit (<SAMP>&lsquo;1&rsquo;</SAMP> to <SAMP>&lsquo;9&rsquo;</SAMP>
</P>
-<H3><A NAME="SEC260" HREF="gettext_toc.html#TOC260">15.3.10 Java Format Strings</A></H3>
+<H3><A NAME="SEC261" HREF="gettext_toc.html#TOC261">15.3.10 Java Format Strings</A></H3>
<P>
Java format strings are described in the JDK documentation for class
@@ -359,7 +358,7 @@ See also the ICU documentation
</P>
-<H3><A NAME="SEC261" HREF="gettext_toc.html#TOC261">15.3.11 C# Format Strings</A></H3>
+<H3><A NAME="SEC262" HREF="gettext_toc.html#TOC262">15.3.11 C# Format Strings</A></H3>
<P>
C# format strings are described in the .NET documentation for class
@@ -369,7 +368,7 @@ C# format strings are described in the .NET documentation for class
</P>
-<H3><A NAME="SEC262" HREF="gettext_toc.html#TOC262">15.3.12 awk Format Strings</A></H3>
+<H3><A NAME="SEC263" HREF="gettext_toc.html#TOC263">15.3.12 awk Format Strings</A></H3>
<P>
awk format strings are described in the gawk documentation, section
@@ -379,7 +378,7 @@ Printf,
</P>
-<H3><A NAME="SEC263" HREF="gettext_toc.html#TOC263">15.3.13 Object Pascal Format Strings</A></H3>
+<H3><A NAME="SEC264" HREF="gettext_toc.html#TOC264">15.3.13 Object Pascal Format Strings</A></H3>
<P>
Object Pascal format strings are described in the documentation of the
@@ -389,7 +388,7 @@ Free Pascal runtime library, section Format,
</P>
-<H3><A NAME="SEC264" HREF="gettext_toc.html#TOC264">15.3.14 YCP Format Strings</A></H3>
+<H3><A NAME="SEC265" HREF="gettext_toc.html#TOC265">15.3.14 YCP Format Strings</A></H3>
<P>
YCP sformat strings are described in the libycp documentation
@@ -400,7 +399,7 @@ or a nonzero digit (<SAMP>&lsquo;1&rsquo;</SAMP> to <SAMP>&lsquo;9&rsquo;</SAMP>
</P>
-<H3><A NAME="SEC265" HREF="gettext_toc.html#TOC265">15.3.15 Tcl Format Strings</A></H3>
+<H3><A NAME="SEC266" HREF="gettext_toc.html#TOC266">15.3.15 Tcl Format Strings</A></H3>
<P>
Tcl format strings are described in the <TT>&lsquo;format.n&rsquo;</TT> manual page,
@@ -409,7 +408,7 @@ Tcl format strings are described in the <TT>&lsquo;format.n&rsquo;</TT> manual p
</P>
-<H3><A NAME="SEC266" HREF="gettext_toc.html#TOC266">15.3.16 Perl Format Strings</A></H3>
+<H3><A NAME="SEC267" HREF="gettext_toc.html#TOC267">15.3.16 Perl Format Strings</A></H3>
<P>
There are two kinds format strings in Perl: those acceptable to the
@@ -433,7 +432,7 @@ of simple identifiers.
</P>
-<H3><A NAME="SEC267" HREF="gettext_toc.html#TOC267">15.3.17 PHP Format Strings</A></H3>
+<H3><A NAME="SEC268" HREF="gettext_toc.html#TOC268">15.3.17 PHP Format Strings</A></H3>
<P>
PHP format strings are described in the documentation of the PHP function
@@ -443,7 +442,7 @@ PHP format strings are described in the documentation of the PHP function
</P>
-<H3><A NAME="SEC268" HREF="gettext_toc.html#TOC268">15.3.18 GCC internal Format Strings</A></H3>
+<H3><A NAME="SEC269" HREF="gettext_toc.html#TOC269">15.3.18 GCC internal Format Strings</A></H3>
<P>
These format strings are used inside the GCC sources. In such a format
@@ -464,7 +463,7 @@ operator, <SAMP>&lsquo;V&rsquo;</SAMP> denotes a const/volatile qualifier.
</P>
-<H3><A NAME="SEC269" HREF="gettext_toc.html#TOC269">15.3.19 GFC internal Format Strings</A></H3>
+<H3><A NAME="SEC270" HREF="gettext_toc.html#TOC270">15.3.19 GFC internal Format Strings</A></H3>
<P>
These format strings are used inside the GNU Fortran Compiler sources,
@@ -479,7 +478,7 @@ denote an integer, <SAMP>&lsquo;u&rsquo;</SAMP> denotes an unsigned integer. <S
</P>
-<H3><A NAME="SEC270" HREF="gettext_toc.html#TOC270">15.3.20 Qt Format Strings</A></H3>
+<H3><A NAME="SEC271" HREF="gettext_toc.html#TOC271">15.3.20 Qt Format Strings</A></H3>
<P>
Qt format strings are described in the documentation of the QString class
@@ -490,7 +489,7 @@ directive cannot occur more than once in a format string.
</P>
-<H3><A NAME="SEC271" HREF="gettext_toc.html#TOC271">15.3.21 Qt Format Strings</A></H3>
+<H3><A NAME="SEC272" HREF="gettext_toc.html#TOC272">15.3.21 Qt Format Strings</A></H3>
<P>
Qt format strings are described in the documentation of the QObject::tr method
@@ -500,7 +499,7 @@ In summary, the only allowed directive is <SAMP>&lsquo;%n&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC272" HREF="gettext_toc.html#TOC272">15.3.22 KDE Format Strings</A></H3>
+<H3><A NAME="SEC273" HREF="gettext_toc.html#TOC273">15.3.22 KDE Format Strings</A></H3>
<P>
KDE 4 format strings are defined as follows:
@@ -511,7 +510,24 @@ must occur as well, except possibly one of them.
</P>
-<H3><A NAME="SEC273" HREF="gettext_toc.html#TOC273">15.3.23 Boost Format Strings</A></H3>
+<H3><A NAME="SEC274" HREF="gettext_toc.html#TOC274">15.3.23 KUIT Format Strings</A></H3>
+
+<P>
+KUIT (KDE User Interface Text) is compatible with KDE 4 format strings,
+while it also allows programmers to add semantic information to a format
+string, through XML markup tags. For example, if the first format
+directive in a string is a filename, programmers could indicate that
+with a <SAMP>&lsquo;filename&rsquo;</SAMP> tag, like <SAMP>&lsquo;&#60;filename&#62;%1&#60;/filename&#62;&rsquo;</SAMP>.
+
+</P>
+<P>
+KUIT format strings are described in
+<A HREF="http://api.kde.org/frameworks-api/frameworks5-apidocs/ki18n/html/prg_guide.html#kuit_markup">http://api.kde.org/frameworks-api/frameworks5-apidocs/ki18n/html/prg_guide.html#kuit_markup</A>.
+
+</P>
+
+
+<H3><A NAME="SEC275" HREF="gettext_toc.html#TOC275">15.3.24 Boost Format Strings</A></H3>
<P>
Boost format strings are described in the documentation of the
@@ -525,7 +541,7 @@ between percent signs, such as <SAMP>&lsquo;%1%&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC274" HREF="gettext_toc.html#TOC274">15.3.24 Lua Format Strings</A></H3>
+<H3><A NAME="SEC276" HREF="gettext_toc.html#TOC276">15.3.25 Lua Format Strings</A></H3>
<P>
Lua format strings are described in the Lua reference manual, section String Manipulation,
@@ -534,7 +550,7 @@ Lua format strings are described in the Lua reference manual, section String Man
</P>
-<H3><A NAME="SEC275" HREF="gettext_toc.html#TOC275">15.3.25 JavaScript Format Strings</A></H3>
+<H3><A NAME="SEC277" HREF="gettext_toc.html#TOC277">15.3.26 JavaScript Format Strings</A></H3>
<P>
Although JavaScript specification itself does not define any format
@@ -552,7 +568,7 @@ object.
-<H2><A NAME="SEC276" HREF="gettext_toc.html#TOC276">15.4 The Maintainer's View</A></H2>
+<H2><A NAME="SEC278" HREF="gettext_toc.html#TOC278">15.4 The Maintainer's View</A></H2>
<P>
For the maintainer, the general procedure differs from the C language
@@ -572,7 +588,7 @@ invokes the <CODE>AM_GNU_GETTEXT</CODE> autoconf macro via
<LI>
If only a single programming language is used, the <CODE>XGETTEXT_OPTIONS</CODE>
-variable in <TT>&lsquo;po/Makevars&rsquo;</TT> (see section <A HREF="gettext_13.html#SEC219">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>) should be adjusted to
+variable in <TT>&lsquo;po/Makevars&rsquo;</TT> (see section <A HREF="gettext_13.html#SEC220">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>) should be adjusted to
match the <CODE>xgettext</CODE> options for that particular programming language.
If the package uses more than one programming language with <CODE>gettext</CODE>
support, it becomes necessary to change the POT file construction rule
@@ -583,13 +599,13 @@ that language, and to combine the resulting files using <CODE>msgcat</CODE>.
-<H2><A NAME="SEC277" HREF="gettext_toc.html#TOC277">15.5 Individual Programming Languages</A></H2>
+<H2><A NAME="SEC279" HREF="gettext_toc.html#TOC279">15.5 Individual Programming Languages</A></H2>
-<H3><A NAME="SEC278" HREF="gettext_toc.html#TOC278">15.5.1 C, C++, Objective C</A></H3>
+<H3><A NAME="SEC280" HREF="gettext_toc.html#TOC280">15.5.1 C, C++, Objective C</A></H3>
<P>
-<A NAME="IDX1204"></A>
+<A NAME="IDX1221"></A>
</P>
<DL COMPACT>
@@ -667,9 +683,9 @@ The following examples are available in the <TT>&lsquo;examples&rsquo;</TT> dire
</P>
-<H3><A NAME="SEC279" HREF="gettext_toc.html#TOC279">15.5.2 sh - Shell Script</A></H3>
+<H3><A NAME="SEC281" HREF="gettext_toc.html#TOC281">15.5.2 sh - Shell Script</A></H3>
<P>
-<A NAME="IDX1205"></A>
+<A NAME="IDX1222"></A>
</P>
<DL COMPACT>
@@ -692,19 +708,19 @@ bash, gettext
<DT>gettext/ngettext functions
<DD>
-<A NAME="IDX1206"></A>
-<A NAME="IDX1207"></A>
+<A NAME="IDX1223"></A>
+<A NAME="IDX1224"></A>
<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
<BR><CODE>eval_gettext</CODE>, <CODE>eval_ngettext</CODE> shell functions
<DT>textdomain
<DD>
-<A NAME="IDX1208"></A>
+<A NAME="IDX1225"></A>
environment variable <CODE>TEXTDOMAIN</CODE>
<DT>bindtextdomain
<DD>
-<A NAME="IDX1209"></A>
+<A NAME="IDX1226"></A>
environment variable <CODE>TEXTDOMAINDIR</CODE>
<DT>setlocale
@@ -743,9 +759,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
-<H4><A NAME="SEC280" HREF="gettext_toc.html#TOC280">15.5.2.1 Preparing Shell Scripts for Internationalization</A></H4>
+<H4><A NAME="SEC282" HREF="gettext_toc.html#TOC282">15.5.2.1 Preparing Shell Scripts for Internationalization</A></H4>
<P>
-<A NAME="IDX1210"></A>
+<A NAME="IDX1227"></A>
</P>
<P>
@@ -767,8 +783,8 @@ Insert the line
near the top of the script. <CODE>gettext.sh</CODE> is a shell function library
that provides the functions
-<CODE>eval_gettext</CODE> (see section <A HREF="gettext_15.html#SEC285">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>) and
-<CODE>eval_ngettext</CODE> (see section <A HREF="gettext_15.html#SEC286">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>).
+<CODE>eval_gettext</CODE> (see section <A HREF="gettext_15.html#SEC287">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>) and
+<CODE>eval_ngettext</CODE> (see section <A HREF="gettext_15.html#SEC288">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>).
You have to ensure that <CODE>gettext.sh</CODE> can be found in the <CODE>PATH</CODE>.
<LI>
@@ -883,7 +899,7 @@ error "`eval_gettext \"file not found: \\\$filename\"`"
-<H4><A NAME="SEC281" HREF="gettext_toc.html#TOC281">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A></H4>
+<H4><A NAME="SEC283" HREF="gettext_toc.html#TOC283">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A></H4>
<P>
<CODE>gettext.sh</CODE>, contained in the run-time package of GNU gettext, provides
@@ -899,20 +915,20 @@ and a newline, without interpreting backslashes in the argument string.
<LI>eval_gettext
-See section <A HREF="gettext_15.html#SEC285">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>.
+See section <A HREF="gettext_15.html#SEC287">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>.
<LI>eval_ngettext
-See section <A HREF="gettext_15.html#SEC286">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>.
+See section <A HREF="gettext_15.html#SEC288">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>.
</UL>
-<H4><A NAME="SEC282" HREF="gettext_toc.html#TOC282">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A></H4>
+<H4><A NAME="SEC284" HREF="gettext_toc.html#TOC284">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A></H4>
<P>
-<A NAME="IDX1211"></A>
-<A NAME="IDX1212"></A>
+<A NAME="IDX1228"></A>
+<A NAME="IDX1229"></A>
<PRE>
gettext [<VAR>option</VAR>] [[<VAR>textdomain</VAR>] <VAR>msgid</VAR>]
@@ -920,7 +936,7 @@ gettext [<VAR>option</VAR>] -s [<VAR>msgid</VAR>]...
</PRE>
<P>
-<A NAME="IDX1213"></A>
+<A NAME="IDX1230"></A>
The <CODE>gettext</CODE> program displays the native language translation of a
textual message.
@@ -935,14 +951,14 @@ textual message.
<DD>
<DT><SAMP>&lsquo;--domain=<VAR>textdomain</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1214"></A>
-<A NAME="IDX1215"></A>
+<A NAME="IDX1231"></A>
+<A NAME="IDX1232"></A>
Retrieve translated messages from <VAR>textdomain</VAR>. Usually a <VAR>textdomain</VAR>
corresponds to a package, a program, or a module of a program.
<DT><SAMP>&lsquo;-e&rsquo;</SAMP>
<DD>
-<A NAME="IDX1216"></A>
+<A NAME="IDX1233"></A>
Enable expansion of some escape sequences. This option is for compatibility
with the <SAMP>&lsquo;echo&rsquo;</SAMP> program or shell built-in. The escape sequences
<SAMP>&lsquo;\a&rsquo;</SAMP>, <SAMP>&lsquo;\b&rsquo;</SAMP>, <SAMP>&lsquo;\c&rsquo;</SAMP>, <SAMP>&lsquo;\f&rsquo;</SAMP>, <SAMP>&lsquo;\n&rsquo;</SAMP>, <SAMP>&lsquo;\r&rsquo;</SAMP>, <SAMP>&lsquo;\t&rsquo;</SAMP>,
@@ -951,7 +967,7 @@ interpreted like the System V <SAMP>&lsquo;echo&rsquo;</SAMP> program did.
<DT><SAMP>&lsquo;-E&rsquo;</SAMP>
<DD>
-<A NAME="IDX1217"></A>
+<A NAME="IDX1234"></A>
This option is only for compatibility with the <SAMP>&lsquo;echo&rsquo;</SAMP> program or shell
built-in. It has no effect.
@@ -959,13 +975,13 @@ built-in. It has no effect.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1218"></A>
-<A NAME="IDX1219"></A>
+<A NAME="IDX1235"></A>
+<A NAME="IDX1236"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
-<A NAME="IDX1220"></A>
+<A NAME="IDX1237"></A>
Suppress trailing newline. By default, <CODE>gettext</CODE> adds a newline to
the output.
@@ -973,8 +989,8 @@ the output.
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1221"></A>
-<A NAME="IDX1222"></A>
+<A NAME="IDX1238"></A>
+<A NAME="IDX1239"></A>
Output version information and exit.
<DT><SAMP>&lsquo;[<VAR>textdomain</VAR>] <VAR>msgid</VAR>&rsquo;</SAMP>
@@ -1004,18 +1020,18 @@ Note: <CODE>xgettext</CODE> supports only the one-argument form of the
</P>
-<H4><A NAME="SEC283" HREF="gettext_toc.html#TOC283">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A></H4>
+<H4><A NAME="SEC285" HREF="gettext_toc.html#TOC285">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A></H4>
<P>
-<A NAME="IDX1223"></A>
-<A NAME="IDX1224"></A>
+<A NAME="IDX1240"></A>
+<A NAME="IDX1241"></A>
<PRE>
ngettext [<VAR>option</VAR>] [<VAR>textdomain</VAR>] <VAR>msgid</VAR> <VAR>msgid-plural</VAR> <VAR>count</VAR>
</PRE>
<P>
-<A NAME="IDX1225"></A>
+<A NAME="IDX1242"></A>
The <CODE>ngettext</CODE> program displays the native language translation of a
textual message whose grammatical form depends on a number.
@@ -1030,14 +1046,14 @@ textual message whose grammatical form depends on a number.
<DD>
<DT><SAMP>&lsquo;--domain=<VAR>textdomain</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1226"></A>
-<A NAME="IDX1227"></A>
+<A NAME="IDX1243"></A>
+<A NAME="IDX1244"></A>
Retrieve translated messages from <VAR>textdomain</VAR>. Usually a <VAR>textdomain</VAR>
corresponds to a package, a program, or a module of a program.
<DT><SAMP>&lsquo;-e&rsquo;</SAMP>
<DD>
-<A NAME="IDX1228"></A>
+<A NAME="IDX1245"></A>
Enable expansion of some escape sequences. This option is for compatibility
with the <SAMP>&lsquo;gettext&rsquo;</SAMP> program. The escape sequences
<SAMP>&lsquo;\a&rsquo;</SAMP>, <SAMP>&lsquo;\b&rsquo;</SAMP>, <SAMP>&lsquo;\c&rsquo;</SAMP>, <SAMP>&lsquo;\f&rsquo;</SAMP>, <SAMP>&lsquo;\n&rsquo;</SAMP>, <SAMP>&lsquo;\r&rsquo;</SAMP>, <SAMP>&lsquo;\t&rsquo;</SAMP>,
@@ -1046,7 +1062,7 @@ interpreted like the System V <SAMP>&lsquo;echo&rsquo;</SAMP> program did.
<DT><SAMP>&lsquo;-E&rsquo;</SAMP>
<DD>
-<A NAME="IDX1229"></A>
+<A NAME="IDX1246"></A>
This option is only for compatibility with the <SAMP>&lsquo;gettext&rsquo;</SAMP> program. It has
no effect.
@@ -1054,16 +1070,16 @@ no effect.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1230"></A>
-<A NAME="IDX1231"></A>
+<A NAME="IDX1247"></A>
+<A NAME="IDX1248"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1232"></A>
-<A NAME="IDX1233"></A>
+<A NAME="IDX1249"></A>
+<A NAME="IDX1250"></A>
Output version information and exit.
<DT><SAMP>&lsquo;<VAR>textdomain</VAR>&rsquo;</SAMP>
@@ -1095,20 +1111,20 @@ Note: <CODE>xgettext</CODE> supports only the three-arguments form of the
</P>
-<H4><A NAME="SEC284" HREF="gettext_toc.html#TOC284">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A></H4>
+<H4><A NAME="SEC286" HREF="gettext_toc.html#TOC286">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A></H4>
<P>
-<A NAME="IDX1234"></A>
-<A NAME="IDX1235"></A>
+<A NAME="IDX1251"></A>
+<A NAME="IDX1252"></A>
<PRE>
envsubst [<VAR>option</VAR>] [<VAR>shell-format</VAR>]
</PRE>
<P>
-<A NAME="IDX1236"></A>
-<A NAME="IDX1237"></A>
-<A NAME="IDX1238"></A>
+<A NAME="IDX1253"></A>
+<A NAME="IDX1254"></A>
+<A NAME="IDX1255"></A>
The <CODE>envsubst</CODE> program substitutes the values of environment variables.
</P>
@@ -1122,8 +1138,8 @@ The <CODE>envsubst</CODE> program substitutes the values of environment variable
<DD>
<DT><SAMP>&lsquo;--variables&rsquo;</SAMP>
<DD>
-<A NAME="IDX1239"></A>
-<A NAME="IDX1240"></A>
+<A NAME="IDX1256"></A>
+<A NAME="IDX1257"></A>
Output the variables occurring in <VAR>shell-format</VAR>.
</DL>
@@ -1138,16 +1154,16 @@ Output the variables occurring in <VAR>shell-format</VAR>.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1241"></A>
-<A NAME="IDX1242"></A>
+<A NAME="IDX1258"></A>
+<A NAME="IDX1259"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1243"></A>
-<A NAME="IDX1244"></A>
+<A NAME="IDX1260"></A>
+<A NAME="IDX1261"></A>
Output version information and exit.
</DL>
@@ -1177,17 +1193,17 @@ consists of the environment variables that are referenced in
</P>
-<H4><A NAME="SEC285" HREF="gettext_toc.html#TOC285">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A></H4>
+<H4><A NAME="SEC287" HREF="gettext_toc.html#TOC287">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A></H4>
<P>
-<A NAME="IDX1245"></A>
+<A NAME="IDX1262"></A>
<PRE>
eval_gettext <VAR>msgid</VAR>
</PRE>
<P>
-<A NAME="IDX1246"></A>
+<A NAME="IDX1263"></A>
This function outputs the native language translation of a textual message,
performing dollar-substitution on the result. Note that only shell variables
mentioned in <VAR>msgid</VAR> will be dollar-substituted in the result.
@@ -1195,17 +1211,17 @@ mentioned in <VAR>msgid</VAR> will be dollar-substituted in the result.
</P>
-<H4><A NAME="SEC286" HREF="gettext_toc.html#TOC286">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A></H4>
+<H4><A NAME="SEC288" HREF="gettext_toc.html#TOC288">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A></H4>
<P>
-<A NAME="IDX1247"></A>
+<A NAME="IDX1264"></A>
<PRE>
eval_ngettext <VAR>msgid</VAR> <VAR>msgid-plural</VAR> <VAR>count</VAR>
</PRE>
<P>
-<A NAME="IDX1248"></A>
+<A NAME="IDX1265"></A>
This function outputs the native language translation of a textual message
whose grammatical form depends on a number, performing dollar-substitution
on the result. Note that only shell variables mentioned in <VAR>msgid</VAR> or
@@ -1214,9 +1230,9 @@ on the result. Note that only shell variables mentioned in <VAR>msgid</VAR> or
</P>
-<H3><A NAME="SEC287" HREF="gettext_toc.html#TOC287">15.5.3 bash - Bourne-Again Shell Script</A></H3>
+<H3><A NAME="SEC289" HREF="gettext_toc.html#TOC289">15.5.3 bash - Bourne-Again Shell Script</A></H3>
<P>
-<A NAME="IDX1249"></A>
+<A NAME="IDX1266"></A>
</P>
<P>
@@ -1265,9 +1281,9 @@ that don't have the <CODE>gettext()</CODE> function in libc.
</P>
-<H3><A NAME="SEC288" HREF="gettext_toc.html#TOC288">15.5.4 Python</A></H3>
+<H3><A NAME="SEC290" HREF="gettext_toc.html#TOC290">15.5.4 Python</A></H3>
<P>
-<A NAME="IDX1250"></A>
+<A NAME="IDX1267"></A>
</P>
<DL COMPACT>
@@ -1379,11 +1395,11 @@ verifies that the format string uses all supplied arguments.)
-<H3><A NAME="SEC289" HREF="gettext_toc.html#TOC289">15.5.5 GNU clisp - Common Lisp</A></H3>
+<H3><A NAME="SEC291" HREF="gettext_toc.html#TOC291">15.5.5 GNU clisp - Common Lisp</A></H3>
<P>
-<A NAME="IDX1251"></A>
-<A NAME="IDX1252"></A>
-<A NAME="IDX1253"></A>
+<A NAME="IDX1268"></A>
+<A NAME="IDX1269"></A>
+<A NAME="IDX1270"></A>
</P>
<DL COMPACT>
@@ -1451,9 +1467,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC290" HREF="gettext_toc.html#TOC290">15.5.6 GNU clisp C sources</A></H3>
+<H3><A NAME="SEC292" HREF="gettext_toc.html#TOC292">15.5.6 GNU clisp C sources</A></H3>
<P>
-<A NAME="IDX1254"></A>
+<A NAME="IDX1271"></A>
</P>
<DL COMPACT>
@@ -1519,9 +1535,9 @@ On platforms without gettext, no translation.
-<H3><A NAME="SEC291" HREF="gettext_toc.html#TOC291">15.5.7 Emacs Lisp</A></H3>
+<H3><A NAME="SEC293" HREF="gettext_toc.html#TOC293">15.5.7 Emacs Lisp</A></H3>
<P>
-<A NAME="IDX1255"></A>
+<A NAME="IDX1272"></A>
</P>
<DL COMPACT>
@@ -1585,9 +1601,9 @@ Only XEmacs. Without <CODE>I18N3</CODE> defined at build time, no translation.
-<H3><A NAME="SEC292" HREF="gettext_toc.html#TOC292">15.5.8 librep</A></H3>
+<H3><A NAME="SEC294" HREF="gettext_toc.html#TOC294">15.5.8 librep</A></H3>
<P>
-<A NAME="IDX1256"></A>
+<A NAME="IDX1273"></A>
</P>
<DL COMPACT>
@@ -1655,10 +1671,10 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC293" HREF="gettext_toc.html#TOC293">15.5.9 GNU guile - Scheme</A></H3>
+<H3><A NAME="SEC295" HREF="gettext_toc.html#TOC295">15.5.9 GNU guile - Scheme</A></H3>
<P>
-<A NAME="IDX1257"></A>
-<A NAME="IDX1258"></A>
+<A NAME="IDX1274"></A>
+<A NAME="IDX1275"></A>
</P>
<DL COMPACT>
@@ -1726,9 +1742,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC294" HREF="gettext_toc.html#TOC294">15.5.10 GNU Smalltalk</A></H3>
+<H3><A NAME="SEC296" HREF="gettext_toc.html#TOC296">15.5.10 GNU Smalltalk</A></H3>
<P>
-<A NAME="IDX1259"></A>
+<A NAME="IDX1276"></A>
</P>
<DL COMPACT>
@@ -1799,9 +1815,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory:
</P>
-<H3><A NAME="SEC295" HREF="gettext_toc.html#TOC295">15.5.11 Java</A></H3>
+<H3><A NAME="SEC297" HREF="gettext_toc.html#TOC297">15.5.11 Java</A></H3>
<P>
-<A NAME="IDX1260"></A>
+<A NAME="IDX1277"></A>
</P>
<DL COMPACT>
@@ -1935,7 +1951,7 @@ This has the advantage of having the <CODE>ngettext</CODE> function for plural
handling and the <CODE>pgettext</CODE> and <CODE>npgettext</CODE> for strings constraint
to a particular context.
-<A NAME="IDX1261"></A>
+<A NAME="IDX1278"></A>
To use this API, one needs the <CODE>libintl.jar</CODE> file which is part of
the GNU gettext package and distributed under the LGPL.
</OL>
@@ -2042,9 +2058,9 @@ than a class with a single-letter name.
</P>
-<H3><A NAME="SEC296" HREF="gettext_toc.html#TOC296">15.5.12 C#</A></H3>
+<H3><A NAME="SEC298" HREF="gettext_toc.html#TOC298">15.5.12 C#</A></H3>
<P>
-<A NAME="IDX1262"></A>
+<A NAME="IDX1279"></A>
</P>
<DL COMPACT>
@@ -2283,7 +2299,7 @@ The <CODE>GetParticularPluralString</CODE> function returns a string translation
specific to a particular context, with plural handling, like the
<CODE>npgettext</CODE> function in C.
-<A NAME="IDX1263"></A>
+<A NAME="IDX1280"></A>
To use this API, one needs the <CODE>GNU.Gettext.dll</CODE> file which is part of
the GNU gettext package and distributed under the LGPL.
</OL>
@@ -2368,10 +2384,10 @@ with a single-letter name.
</P>
-<H3><A NAME="SEC297" HREF="gettext_toc.html#TOC297">15.5.13 GNU awk</A></H3>
+<H3><A NAME="SEC299" HREF="gettext_toc.html#TOC299">15.5.13 GNU awk</A></H3>
<P>
-<A NAME="IDX1264"></A>
-<A NAME="IDX1265"></A>
+<A NAME="IDX1281"></A>
+<A NAME="IDX1282"></A>
</P>
<DL COMPACT>
@@ -2382,7 +2398,9 @@ gawk 3.1 or newer
<DT>File extension
<DD>
-<CODE>awk</CODE>
+<CODE>awk</CODE>, <CODE>gawk</CODE>, <CODE>twjr</CODE>.
+The file extension <CODE>twjr</CODE> is used by TexiWeb Jr
+(<A HREF="https://github.com/arnoldrobbins/texiwebjr">https://github.com/arnoldrobbins/texiwebjr</A>).
<DT>String syntax
<DD>
@@ -2441,11 +2459,11 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC298" HREF="gettext_toc.html#TOC298">15.5.14 Pascal - Free Pascal Compiler</A></H3>
+<H3><A NAME="SEC300" HREF="gettext_toc.html#TOC300">15.5.14 Pascal - Free Pascal Compiler</A></H3>
<P>
-<A NAME="IDX1266"></A>
-<A NAME="IDX1267"></A>
-<A NAME="IDX1268"></A>
+<A NAME="IDX1283"></A>
+<A NAME="IDX1284"></A>
+<A NAME="IDX1285"></A>
</P>
<DL COMPACT>
@@ -2522,9 +2540,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC299" HREF="gettext_toc.html#TOC299">15.5.15 wxWidgets library</A></H3>
+<H3><A NAME="SEC301" HREF="gettext_toc.html#TOC301">15.5.15 wxWidgets library</A></H3>
<P>
-<A NAME="IDX1269"></A>
+<A NAME="IDX1286"></A>
</P>
<DL COMPACT>
@@ -2590,10 +2608,10 @@ yes
-<H3><A NAME="SEC300" HREF="gettext_toc.html#TOC300">15.5.16 YCP - YaST2 scripting language</A></H3>
+<H3><A NAME="SEC302" HREF="gettext_toc.html#TOC302">15.5.16 YCP - YaST2 scripting language</A></H3>
<P>
-<A NAME="IDX1270"></A>
-<A NAME="IDX1271"></A>
+<A NAME="IDX1287"></A>
+<A NAME="IDX1288"></A>
</P>
<DL COMPACT>
@@ -2661,10 +2679,10 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC301" HREF="gettext_toc.html#TOC301">15.5.17 Tcl - Tk's scripting language</A></H3>
+<H3><A NAME="SEC303" HREF="gettext_toc.html#TOC303">15.5.17 Tcl - Tk's scripting language</A></H3>
<P>
-<A NAME="IDX1272"></A>
-<A NAME="IDX1273"></A>
+<A NAME="IDX1289"></A>
+<A NAME="IDX1290"></A>
</P>
<DL COMPACT>
@@ -2747,9 +2765,9 @@ argument is given.
</P>
-<H3><A NAME="SEC302" HREF="gettext_toc.html#TOC302">15.5.18 Perl</A></H3>
+<H3><A NAME="SEC304" HREF="gettext_toc.html#TOC304">15.5.18 Perl</A></H3>
<P>
-<A NAME="IDX1274"></A>
+<A NAME="IDX1291"></A>
</P>
<DL COMPACT>
@@ -2862,7 +2880,7 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
<P>
-<A NAME="IDX1275"></A>
+<A NAME="IDX1292"></A>
</P>
<P>
@@ -2877,7 +2895,7 @@ worst probably being its imperfectness.
-<H4><A NAME="SEC303" HREF="gettext_toc.html#TOC303">15.5.18.1 General Problems Parsing Perl Code</A></H4>
+<H4><A NAME="SEC305" HREF="gettext_toc.html#TOC305">15.5.18.1 General Problems Parsing Perl Code</A></H4>
<P>
It is often heard that only Perl can parse Perl. This is not true.
@@ -3082,9 +3100,9 @@ about such constructs.
</P>
-<H4><A NAME="SEC304" HREF="gettext_toc.html#TOC304">15.5.18.2 Which keywords will xgettext look for?</A></H4>
+<H4><A NAME="SEC306" HREF="gettext_toc.html#TOC306">15.5.18.2 Which keywords will xgettext look for?</A></H4>
<P>
-<A NAME="IDX1276"></A>
+<A NAME="IDX1293"></A>
</P>
<P>
@@ -3131,9 +3149,9 @@ The keys of lookups into the hash reference <CODE>$gettext</CODE> will be extrac
-<H4><A NAME="SEC305" HREF="gettext_toc.html#TOC305">15.5.18.3 How to Extract Hash Keys</A></H4>
+<H4><A NAME="SEC307" HREF="gettext_toc.html#TOC307">15.5.18.3 How to Extract Hash Keys</A></H4>
<P>
-<A NAME="IDX1277"></A>
+<A NAME="IDX1294"></A>
</P>
<P>
@@ -3186,9 +3204,9 @@ are <EM>not</EM> allowed, regardless of the <CODE>use utf8</CODE> pragma.
</P>
-<H4><A NAME="SEC306" HREF="gettext_toc.html#TOC306">15.5.18.4 What are Strings And Quote-like Expressions?</A></H4>
+<H4><A NAME="SEC308" HREF="gettext_toc.html#TOC308">15.5.18.4 What are Strings And Quote-like Expressions?</A></H4>
<P>
-<A NAME="IDX1278"></A>
+<A NAME="IDX1295"></A>
</P>
<P>
@@ -3286,9 +3304,9 @@ Delimiters that start with a digit are not supported!
-<H4><A NAME="SEC307" HREF="gettext_toc.html#TOC307">15.5.18.5 Invalid Uses Of String Interpolation</A></H4>
+<H4><A NAME="SEC309" HREF="gettext_toc.html#TOC309">15.5.18.5 Invalid Uses Of String Interpolation</A></H4>
<P>
-<A NAME="IDX1279"></A>
+<A NAME="IDX1296"></A>
</P>
<P>
@@ -3424,9 +3442,9 @@ well write what you mean.
</P>
-<H4><A NAME="SEC308" HREF="gettext_toc.html#TOC308">15.5.18.6 Valid Uses Of String Interpolation</A></H4>
+<H4><A NAME="SEC310" HREF="gettext_toc.html#TOC310">15.5.18.6 Valid Uses Of String Interpolation</A></H4>
<P>
-<A NAME="IDX1280"></A>
+<A NAME="IDX1297"></A>
</P>
<P>
@@ -3512,9 +3530,9 @@ s/$gettext{"U. S. A."}/$gettext{"U. S. A."} $gettext{"(dial +0)"}/g;
-<H4><A NAME="SEC309" HREF="gettext_toc.html#TOC309">15.5.18.7 When To Use Parentheses</A></H4>
+<H4><A NAME="SEC311" HREF="gettext_toc.html#TOC311">15.5.18.7 When To Use Parentheses</A></H4>
<P>
-<A NAME="IDX1281"></A>
+<A NAME="IDX1298"></A>
</P>
<P>
@@ -3558,9 +3576,9 @@ print dngettext 'package', ("one cake", "several cakes", $n), $discarded;
-<H4><A NAME="SEC310" HREF="gettext_toc.html#TOC310">15.5.18.8 How To Grok with Long Lines</A></H4>
+<H4><A NAME="SEC312" HREF="gettext_toc.html#TOC312">15.5.18.8 How To Grok with Long Lines</A></H4>
<P>
-<A NAME="IDX1282"></A>
+<A NAME="IDX1299"></A>
</P>
<P>
@@ -3632,9 +3650,9 @@ the resulting POT file.
</P>
-<H4><A NAME="SEC311" HREF="gettext_toc.html#TOC311">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A></H4>
+<H4><A NAME="SEC313" HREF="gettext_toc.html#TOC313">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A></H4>
<P>
-<A NAME="IDX1283"></A>
+<A NAME="IDX1300"></A>
</P>
<P>
@@ -3784,9 +3802,9 @@ get executed. Most of the time you will happily get along with
</P>
-<H3><A NAME="SEC312" HREF="gettext_toc.html#TOC312">15.5.19 PHP Hypertext Preprocessor</A></H3>
+<H3><A NAME="SEC314" HREF="gettext_toc.html#TOC314">15.5.19 PHP Hypertext Preprocessor</A></H3>
<P>
-<A NAME="IDX1284"></A>
+<A NAME="IDX1301"></A>
</P>
<DL COMPACT>
@@ -3855,9 +3873,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC313" HREF="gettext_toc.html#TOC313">15.5.20 Pike</A></H3>
+<H3><A NAME="SEC315" HREF="gettext_toc.html#TOC315">15.5.20 Pike</A></H3>
<P>
-<A NAME="IDX1285"></A>
+<A NAME="IDX1302"></A>
</P>
<DL COMPACT>
@@ -3921,9 +3939,9 @@ On platforms without gettext, the functions are not available.
-<H3><A NAME="SEC314" HREF="gettext_toc.html#TOC314">15.5.21 GNU Compiler Collection sources</A></H3>
+<H3><A NAME="SEC316" HREF="gettext_toc.html#TOC316">15.5.21 GNU Compiler Collection sources</A></H3>
<P>
-<A NAME="IDX1286"></A>
+<A NAME="IDX1303"></A>
</P>
<DL COMPACT>
@@ -3988,7 +4006,7 @@ yes
-<H3><A NAME="SEC315" HREF="gettext_toc.html#TOC315">15.5.22 Lua</A></H3>
+<H3><A NAME="SEC317" HREF="gettext_toc.html#TOC317">15.5.22 Lua</A></H3>
<DL COMPACT>
@@ -4067,7 +4085,7 @@ On platforms without gettext, the functions are not available.
-<H3><A NAME="SEC316" HREF="gettext_toc.html#TOC316">15.5.23 JavaScript</A></H3>
+<H3><A NAME="SEC318" HREF="gettext_toc.html#TOC318">15.5.23 JavaScript</A></H3>
<DL COMPACT>
@@ -4138,7 +4156,78 @@ On platforms without gettext, the functions are not available.
-<H2><A NAME="SEC317" HREF="gettext_toc.html#TOC317">15.6 Internationalizable Data</A></H2>
+<H3><A NAME="SEC319" HREF="gettext_toc.html#TOC319">15.5.24 Vala</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+vala
+
+<DT>File extension
+<DD>
+<CODE>vala</CODE>
+
+<DT>String syntax
+<DD>
+
+<UL>
+
+<LI><CODE>"abc"</CODE>
+
+<LI><CODE>"""abc"""</CODE>
+
+</UL>
+
+<DT>gettext shorthand
+<DD>
+<CODE>_("abc")</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>, <CODE>ngettext</CODE>,
+<CODE>dngettext</CODE>, <CODE>dpgettext</CODE>, <CODE>dpgettext2</CODE>
+
+<DT>textdomain
+<DD>
+<CODE>textdomain</CODE> function, defined under the <CODE>Intl</CODE> namespace
+
+<DT>bindtextdomain
+<DD>
+<CODE>bindtextdomain</CODE> function, defined under the <CODE>Intl</CODE> namespace
+
+<DT>setlocale
+<DD>
+Programmer must call <CODE>Intl.setlocale (LocaleCategory.ALL, "")</CODE>
+
+<DT>Prerequisite
+<DD>
+---
+
+<DT>Use or emulate GNU gettext
+<DD>
+Use
+
+<DT>Extractor
+<DD>
+<CODE>xgettext</CODE>
+
+<DT>Formatting with positions
+<DD>
+Same as for the C language.
+
+<DT>Portability
+<DD>
+autoconf (gettext.m4) and #if ENABLE_NLS
+
+<DT>po-mode marking
+<DD>
+yes
+</DL>
+
+
+
+<H2><A NAME="SEC320" HREF="gettext_toc.html#TOC320">15.6 Internationalizable Data</A></H2>
<P>
Here is a list of other data formats which can be internationalized
@@ -4148,7 +4237,7 @@ using GNU gettext.
-<H3><A NAME="SEC318" HREF="gettext_toc.html#TOC318">15.6.1 POT - Portable Object Template</A></H3>
+<H3><A NAME="SEC321" HREF="gettext_toc.html#TOC321">15.6.1 POT - Portable Object Template</A></H3>
<DL COMPACT>
@@ -4167,9 +4256,9 @@ gettext
-<H3><A NAME="SEC319" HREF="gettext_toc.html#TOC319">15.6.2 Resource String Table</A></H3>
+<H3><A NAME="SEC322" HREF="gettext_toc.html#TOC322">15.6.2 Resource String Table</A></H3>
<P>
-<A NAME="IDX1287"></A>
+<A NAME="IDX1304"></A>
</P>
<DL COMPACT>
@@ -4189,7 +4278,7 @@ fpk
-<H3><A NAME="SEC320" HREF="gettext_toc.html#TOC320">15.6.3 Glade - GNOME user interface description</A></H3>
+<H3><A NAME="SEC323" HREF="gettext_toc.html#TOC323">15.6.3 Glade - GNOME user interface description</A></H3>
<DL COMPACT>
@@ -4208,7 +4297,7 @@ glade, libglade, glade2, libglade2, intltool
-<H3><A NAME="SEC321" HREF="gettext_toc.html#TOC321">15.6.4 GSettings - GNOME user configuration schema</A></H3>
+<H3><A NAME="SEC324" HREF="gettext_toc.html#TOC324">15.6.4 GSettings - GNOME user configuration schema</A></H3>
<DL COMPACT>
@@ -4225,6 +4314,226 @@ glib2
<CODE>xgettext</CODE>, <CODE>intltool-extract</CODE>
</DL>
+
+
+<H3><A NAME="SEC325" HREF="gettext_toc.html#TOC325">15.6.5 AppData - freedesktop.org application description</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+appdata-tools, appstream, libappstream-glib, libappstream-glib-builder
+
+<DT>File extension
+<DD>
+<CODE>appdata.xml</CODE>
+
+<DT>Extractor
+<DD>
+<CODE>xgettext</CODE>, <CODE>intltool-extract</CODE>, <CODE>itstool</CODE>
+</DL>
+
+
+
+<H3><A NAME="SEC326" HREF="gettext_toc.html#TOC326">15.6.6 Preparing Rules for XML Internationalization</A></H3>
+<P>
+<A NAME="IDX1305"></A>
+
+</P>
+<P>
+Marking translatable strings in an XML file is done through a separate
+"rule" file, making use of the Internationalization Tag Set standard
+(ITS, <A HREF="http://www.w3.org/TR/its20/">http://www.w3.org/TR/its20/</A>). The currently supported ITS
+data categories are: <SAMP>&lsquo;Translate&rsquo;</SAMP>, <SAMP>&lsquo;Localization Note&rsquo;</SAMP>,
+<SAMP>&lsquo;Elements Within Text&rsquo;</SAMP>, and <SAMP>&lsquo;Preserve Space&rsquo;</SAMP>. In addition to
+them, <CODE>xgettext</CODE> also recognizes the following extended data
+categories:
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;Context&rsquo;</SAMP>
+<DD>
+This data category associates <CODE>msgctxt</CODE> to the extracted text. In
+the global rule, the <CODE>contextRule</CODE> element contains the following:
+
+
+<UL>
+<LI>
+
+A required <CODE>selector</CODE> attribute. It contains an absolute selector
+that selects the nodes to which this rule applies.
+
+<LI>
+
+A required <CODE>contextPointer</CODE> attribute that contains a relative
+selector pointing to a node that holds the <CODE>msgctxt</CODE> value.
+
+<LI>
+
+An optional <CODE>textPointer</CODE> attribute that contains a relative
+selector pointing to a node that holds the <CODE>msgid</CODE> value.
+</UL>
+
+<DT><SAMP>&lsquo;Escape Special Characters&rsquo;</SAMP>
+<DD>
+This data category indicates whether the special XML characters
+(<CODE>&#60;</CODE>, <CODE>&#62;</CODE>, <CODE>&#38;</CODE>, <CODE>"</CODE>) are escaped with entity
+reference. In the global rule, the <CODE>escapeRule</CODE> element contains
+the following:
+
+
+<UL>
+<LI>
+
+A required <CODE>selector</CODE> attribute. It contains an absolute selector
+that selects the nodes to which this rule applies.
+
+<LI>
+
+A required <CODE>escape</CODE> attribute with the value <CODE>yes</CODE> or <CODE>no</CODE>.
+</UL>
+
+<DT><SAMP>&lsquo;Extended Preserve Space&rsquo;</SAMP>
+<DD>
+This data category extends the standard <SAMP>&lsquo;Preserve Space&rsquo;</SAMP> data
+category with the additional value <SAMP>&lsquo;trim&rsquo;</SAMP>. The value means to
+remove the leading and trailing whitespaces of the content, but not to
+normalize whitespaces in the middle. In the global rule, the
+<CODE>preserveSpaceRule</CODE> element contains the following:
+
+
+<UL>
+<LI>
+
+A required <CODE>selector</CODE> attribute. It contains an absolute selector
+that selects the nodes to which this rule applies.
+
+<LI>
+
+A required <CODE>space</CODE> attribute with the value <CODE>default</CODE>,
+<CODE>preserve</CODE>, or <CODE>trim</CODE>.
+</UL>
+
+</DL>
+
+<P>
+All those extended data categories can only be expressed with global
+rules, and the rule elements have to have the
+<CODE>https://www.gnu.org/s/gettext/ns/its/extensions/1.0</CODE> namespace.
+
+</P>
+<P>
+Given the following XML document in a file <TT>&lsquo;messages.xml&rsquo;</TT>:
+
+</P>
+
+<PRE>
+&#60;?xml version="1.0"?&#62;
+&#60;messages&#62;
+ &#60;message&#62;
+ &#60;p&#62;A translatable string&#60;/p&#62;
+ &#60;/message&#62;
+ &#60;message&#62;
+ &#60;p translatable="no"&#62;A non-translatable string&#60;/p&#62;
+ &#60;/message&#62;
+&#60;/messages&#62;
+</PRE>
+
+<P>
+To extract the first text content ("A translatable string"), but not the
+second ("A non-translatable string"), the following ITS rules can be used:
+
+</P>
+
+<PRE>
+&#60;?xml version="1.0"?&#62;
+&#60;its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"&#62;
+ &#60;its:translateRule selector="/messages" translate="no"/&#62;
+ &#60;its:translateRule selector="//message/p" translate="yes"/&#62;
+
+ &#60;!-- If 'p' has an attribute 'translatable' with the value 'no', then
+ the content is not translatable. --&#62;
+ &#60;its:translateRule selector="//message/p[@translatable = 'no']"
+ translate="no"/&#62;
+&#60;/its:rules&#62;
+</PRE>
+
+<P>
+<SAMP>&lsquo;xgettext&rsquo;</SAMP> needs another file called "locating rule" to associate
+an ITS rule with an XML file. If the above ITS file is saved as
+<TT>&lsquo;messages.its&rsquo;</TT>, the locating rule would look like:
+
+</P>
+
+<PRE>
+&#60;?xml version="1.0"?&#62;
+&#60;locatingRules&#62;
+ &#60;locatingRule name="Messages" pattern="*.xml"&#62;
+ &#60;documentRule localName="messages" target="messages.its"/&#62;
+ &#60;/locatingRule&#62;
+ &#60;locatingRule name="Messages" pattern="*.msg" target="messages.its"/&#62;
+&#60;/locatingRules&#62;
+</PRE>
+
+<P>
+The <CODE>locatingRule</CODE> element must have a <CODE>pattern</CODE> attribute,
+which denotes either a literal file name or a wildcard pattern of the
+XML file. The <CODE>locatingRule</CODE> element can have child
+<CODE>documentRule</CODE> element, which adds checks on the content of the XML
+file.
+
+</P>
+<P>
+The first rule matches any file with the <TT>&lsquo;.xml&rsquo;</TT> file extension, but
+it only applies to XML files whose root element is <SAMP>&lsquo;&#60;messages&#62;&rsquo;</SAMP>.
+
+</P>
+<P>
+The second rule indicates that the same ITS rule file are also
+applicable to any file with the <TT>&lsquo;.msg&rsquo;</TT> file extension. The
+optional <CODE>name</CODE> attribute of <CODE>locatingRule</CODE> allows to choose
+rules by name, typically with <CODE>xgettext</CODE>'s <CODE>-L</CODE> option.
+
+</P>
+<P>
+The associated ITS rule file is indicated by the <CODE>target</CODE> attribute
+of <CODE>locatingRule</CODE> or <CODE>documentRule</CODE>. If it is specified in a
+<CODE>documentRule</CODE> element, the parent <CODE>locatingRule</CODE> shouldn't
+have the <CODE>target</CODE> attribute.
+
+</P>
+<P>
+Locating rule files must have the <TT>&lsquo;.loc&rsquo;</TT> file extension. Both ITS
+rule files and locating rule files must be installed in the
+<TT>&lsquo;$prefix/share/gettext/its&rsquo;</TT> directory. Once those files are
+properly installed, <CODE>xgettext</CODE> can extract translatable strings
+from the matching XML files.
+
+</P>
+
+
+<H4><A NAME="SEC327" HREF="gettext_toc.html#TOC327">15.6.6.1 Two Use-cases of Translated Strings in XML</A></H4>
+
+<P>
+For XML, there are two use-cases of translated strings. One is the case
+where the translated strings are directly consumed by programs, and the
+other is the case where the translated strings are merged back to the
+original XML document. In the former case, special characters in the
+extracted strings shouldn't be escaped, while they should in the latter
+case. To control wheter to escape special characters, the <SAMP>&lsquo;Escape
+Special Characters&rsquo;</SAMP> data category can be used.
+
+</P>
+<P>
+To merge the translations, the <SAMP>&lsquo;msgfmt&rsquo;</SAMP> program can be used with
+the option <CODE>--xml</CODE>. See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more details
+about how one calls the <SAMP>&lsquo;msgfmt&rsquo;</SAMP> program. <SAMP>&lsquo;msgfmt&rsquo;</SAMP>'s
+<CODE>--xml</CODE> option doesn't perform character escaping, so translated
+strings can have arbitrary XML constructs, such as elements for markup.
+
+</P>
+
<P><HR><P>
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_25.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
diff --git a/gettext-tools/doc/gettext_16.html b/gettext-tools/doc/gettext_16.html
index 773f725..4ab4d7f 100644
--- a/gettext-tools/doc/gettext_16.html
+++ b/gettext-tools/doc/gettext_16.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 16 Concluding Remarks</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous
<P><HR><P>
-<H1><A NAME="SEC322" HREF="gettext_toc.html#TOC322">16 Concluding Remarks</A></H1>
+<H1><A NAME="SEC328" HREF="gettext_toc.html#TOC328">16 Concluding Remarks</A></H1>
<P>
We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
@@ -23,9 +23,9 @@ about Native Language Support matters.
-<H2><A NAME="SEC323" HREF="gettext_toc.html#TOC323">16.1 History of GNU <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC329" HREF="gettext_toc.html#TOC329">16.1 History of GNU <CODE>gettext</CODE></A></H2>
<P>
-<A NAME="IDX1288"></A>
+<A NAME="IDX1306"></A>
</P>
<P>
@@ -125,10 +125,10 @@ manipulating PO files.
</P>
-<H2><A NAME="SEC324" HREF="gettext_toc.html#TOC324">16.2 Related Readings</A></H2>
+<H2><A NAME="SEC330" HREF="gettext_toc.html#TOC330">16.2 Related Readings</A></H2>
<P>
-<A NAME="IDX1289"></A>
-<A NAME="IDX1290"></A>
+<A NAME="IDX1307"></A>
+<A NAME="IDX1308"></A>
</P>
<P>
diff --git a/gettext-tools/doc/gettext_17.html b/gettext-tools/doc/gettext_17.html
index f7ba56b..1399c1d 100644
--- a/gettext-tools/doc/gettext_17.html
+++ b/gettext-tools/doc/gettext_17.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - A Language Codes</TITLE>
@@ -11,10 +11,10 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_16.html">previous
<P><HR><P>
-<H1><A NAME="SEC325" HREF="gettext_toc.html#TOC325">A Language Codes</A></H1>
+<H1><A NAME="SEC331" HREF="gettext_toc.html#TOC331">A Language Codes</A></H1>
<P>
-<A NAME="IDX1291"></A>
-<A NAME="IDX1292"></A>
+<A NAME="IDX1309"></A>
+<A NAME="IDX1310"></A>
</P>
<P>
@@ -27,7 +27,7 @@ come from this standard.
-<H2><A NAME="SEC326" HREF="gettext_toc.html#TOC326">A.1 Usual Language Codes</A></H2>
+<H2><A NAME="SEC332" HREF="gettext_toc.html#TOC332">A.1 Usual Language Codes</A></H2>
<P>
For the commonly used languages, the ISO 639-1 standard defines two-letter
@@ -595,7 +595,7 @@ Zulu.
-<H2><A NAME="SEC327" HREF="gettext_toc.html#TOC327">A.2 Rare Language Codes</A></H2>
+<H2><A NAME="SEC333" HREF="gettext_toc.html#TOC333">A.2 Rare Language Codes</A></H2>
<P>
For rarely used languages, the ISO 639-2 standard defines three-letter
diff --git a/gettext-tools/doc/gettext_18.html b/gettext-tools/doc/gettext_18.html
index d2a1b60..de0810d 100644
--- a/gettext-tools/doc/gettext_18.html
+++ b/gettext-tools/doc/gettext_18.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - B Country Codes</TITLE>
@@ -11,10 +11,10 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_17.html">previous
<P><HR><P>
-<H1><A NAME="SEC328" HREF="gettext_toc.html#TOC328">B Country Codes</A></H1>
+<H1><A NAME="SEC334" HREF="gettext_toc.html#TOC334">B Country Codes</A></H1>
<P>
-<A NAME="IDX1293"></A>
-<A NAME="IDX1294"></A>
+<A NAME="IDX1311"></A>
+<A NAME="IDX1312"></A>
</P>
<P>
diff --git a/gettext-tools/doc/gettext_19.html b/gettext-tools/doc/gettext_19.html
index 5573e8e..b4394d5 100644
--- a/gettext-tools/doc/gettext_19.html
+++ b/gettext-tools/doc/gettext_19.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - C Licenses</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_18.html">previous
<P><HR><P>
-<H1><A NAME="SEC329" HREF="gettext_toc.html#TOC329">C Licenses</A></H1>
+<H1><A NAME="SEC335" HREF="gettext_toc.html#TOC335">C Licenses</A></H1>
<P>
-<A NAME="IDX1295"></A>
+<A NAME="IDX1313"></A>
</P>
<P>
@@ -27,13 +27,13 @@ particular file or directory. Here is a summary:
The <CODE>libintl</CODE> and <CODE>libasprintf</CODE> libraries are covered by the
GNU Lesser General Public License (LGPL).
-A copy of the license is included in section <A HREF="gettext_19.html#SEC331">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC337">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>.
<LI>
The executable programs of this package and the <CODE>libgettextpo</CODE> library
are covered by the GNU General Public License (GPL).
-A copy of the license is included in section <A HREF="gettext_19.html#SEC330">C.1 GNU GENERAL PUBLIC LICENSE</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC336">C.1 GNU GENERAL PUBLIC LICENSE</A>.
<LI>
@@ -47,21 +47,21 @@ GNU Free Documentation License (FDL), either version 1.2 of the
License, or (at your option) any later version published by the
Free Software Foundation (FSF); with no Invariant Sections, with no
Front-Cover Text, and with no Back-Cover Texts.
-A copy of the license is included in section <A HREF="gettext_19.html#SEC332">C.3 GNU Free Documentation License</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC338">C.3 GNU Free Documentation License</A>.
<BR>
This manual is covered by the GNU GPL. You can redistribute it and/or
modify it under the terms of the GNU General Public License (GPL), either
version 2 of the License, or (at your option) any later version published
by the Free Software Foundation (FSF).
-A copy of the license is included in section <A HREF="gettext_19.html#SEC330">C.1 GNU GENERAL PUBLIC LICENSE</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC336">C.1 GNU GENERAL PUBLIC LICENSE</A>.
</UL>
-<H2><A NAME="SEC330" HREF="gettext_toc.html#TOC330">C.1 GNU GENERAL PUBLIC LICENSE</A></H2>
+<H2><A NAME="SEC336" HREF="gettext_toc.html#TOC336">C.1 GNU GENERAL PUBLIC LICENSE</A></H2>
<P>
-<A NAME="IDX1296"></A>
-<A NAME="IDX1297"></A>
+<A NAME="IDX1314"></A>
+<A NAME="IDX1315"></A>
Version 2, June 1991
</P>
@@ -492,10 +492,10 @@ library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
-<H2><A NAME="SEC331" HREF="gettext_toc.html#TOC331">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A></H2>
+<H2><A NAME="SEC337" HREF="gettext_toc.html#TOC337">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A></H2>
<P>
-<A NAME="IDX1298"></A>
-<A NAME="IDX1299"></A>
+<A NAME="IDX1316"></A>
+<A NAME="IDX1317"></A>
Version 2.1, February 1999
</P>
@@ -1122,10 +1122,10 @@ Ty Coon, President of Vice
That's all there is to it!
-<H2><A NAME="SEC332" HREF="gettext_toc.html#TOC332">C.3 GNU Free Documentation License</A></H2>
+<H2><A NAME="SEC338" HREF="gettext_toc.html#TOC338">C.3 GNU Free Documentation License</A></H2>
<P>
-<A NAME="IDX1300"></A>
-<A NAME="IDX1301"></A>
+<A NAME="IDX1318"></A>
+<A NAME="IDX1319"></A>
Version 1.2, November 2002
</P>
diff --git a/gettext-tools/doc/gettext_2.html b/gettext-tools/doc/gettext_2.html
index 0a22daa..46e9a6b 100644
--- a/gettext-tools/doc/gettext_2.html
+++ b/gettext-tools/doc/gettext_2.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 2 The User's View</TITLE>
@@ -126,8 +126,8 @@ A locale name usually has the form <SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>&rsqu
<SAMP>&lsquo;<VAR>ll</VAR>&rsquo;</SAMP> is an ISO 639 two-letter language code, and
<SAMP>&lsquo;<VAR>CC</VAR>&rsquo;</SAMP> is an ISO 3166 two-letter country code. For example,
for German in Germany, <VAR>ll</VAR> is <CODE>de</CODE>, and <VAR>CC</VAR> is <CODE>DE</CODE>.
-You find a list of the language codes in appendix section <A HREF="gettext_17.html#SEC325">A Language Codes</A> and
-a list of the country codes in appendix section <A HREF="gettext_18.html#SEC328">B Country Codes</A>.
+You find a list of the language codes in appendix section <A HREF="gettext_17.html#SEC331">A Language Codes</A> and
+a list of the country codes in appendix section <A HREF="gettext_18.html#SEC334">B Country Codes</A>.
</P>
<P>
diff --git a/gettext-tools/doc/gettext_20.html b/gettext-tools/doc/gettext_20.html
index b78e084..b6296d8 100644
--- a/gettext-tools/doc/gettext_20.html
+++ b/gettext-tools/doc/gettext_20.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Program Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_19.html">previous
<P><HR><P>
-<H1><A NAME="SEC333" HREF="gettext_toc.html#TOC333">Program Index</A></H1>
+<H1><A NAME="SEC339" HREF="gettext_toc.html#TOC339">Program Index</A></H1>
<P>
Jump to:
@@ -35,49 +35,49 @@ Jump to:
<P>
<H2><A NAME="pindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_13.html#IDX1185">autopoint</A>
+<LI><A HREF="gettext_13.html#IDX1202">autopoint</A>
</DIR>
<H2><A NAME="pindex_b">b</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX714">boldquot</A>
+<LI><A HREF="gettext_9.html#IDX721">boldquot</A>
</DIR>
<H2><A NAME="pindex_e">e</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1234">envsubst</A>
+<LI><A HREF="gettext_15.html#IDX1251">envsubst</A>
</DIR>
<H2><A NAME="pindex_g">g</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1206">gettext</A>, <A HREF="gettext_15.html#IDX1211">gettext</A>
-<LI><A HREF="gettext_13.html#IDX1147">gettextize</A>
+<LI><A HREF="gettext_15.html#IDX1223">gettext</A>, <A HREF="gettext_15.html#IDX1228">gettext</A>
+<LI><A HREF="gettext_13.html#IDX1164">gettextize</A>
</DIR>
<H2><A NAME="pindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX841">msgattrib</A>
-<LI><A HREF="gettext_9.html#IDX548">msgcat</A>
-<LI><A HREF="gettext_9.html#IDX823">msgcmp</A>
-<LI><A HREF="gettext_9.html#IDX781">msgcomm</A>
-<LI><A HREF="gettext_9.html#IDX596">msgconv</A>
-<LI><A HREF="gettext_9.html#IDX893">msgen</A>
-<LI><A HREF="gettext_9.html#IDX926">msgexec</A>
-<LI><A HREF="gettext_9.html#IDX685">msgfilter</A>
-<LI><A HREF="gettext_10.html#IDX967">msgfmt</A>
-<LI><A HREF="gettext_9.html#IDX630">msggrep</A>
-<LI><A HREF="gettext_6.html#IDX245">msginit</A>
-<LI><A HREF="gettext_7.html#IDX282">msgmerge</A>
-<LI><A HREF="gettext_10.html#IDX1039">msgunfmt</A>
-<LI><A HREF="gettext_9.html#IDX740">msguniq</A>
+<LI><A HREF="gettext_9.html#IDX848">msgattrib</A>
+<LI><A HREF="gettext_9.html#IDX554">msgcat</A>
+<LI><A HREF="gettext_9.html#IDX830">msgcmp</A>
+<LI><A HREF="gettext_9.html#IDX788">msgcomm</A>
+<LI><A HREF="gettext_9.html#IDX602">msgconv</A>
+<LI><A HREF="gettext_9.html#IDX900">msgen</A>
+<LI><A HREF="gettext_9.html#IDX933">msgexec</A>
+<LI><A HREF="gettext_9.html#IDX691">msgfilter</A>
+<LI><A HREF="gettext_10.html#IDX975">msgfmt</A>
+<LI><A HREF="gettext_9.html#IDX636">msggrep</A>
+<LI><A HREF="gettext_6.html#IDX251">msginit</A>
+<LI><A HREF="gettext_7.html#IDX288">msgmerge</A>
+<LI><A HREF="gettext_10.html#IDX1056">msgunfmt</A>
+<LI><A HREF="gettext_9.html#IDX747">msguniq</A>
</DIR>
<H2><A NAME="pindex_n">n</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1207">ngettext</A>, <A HREF="gettext_15.html#IDX1223">ngettext</A>
+<LI><A HREF="gettext_15.html#IDX1224">ngettext</A>, <A HREF="gettext_15.html#IDX1240">ngettext</A>
</DIR>
<H2><A NAME="pindex_q">q</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX713">quot</A>
+<LI><A HREF="gettext_9.html#IDX720">quot</A>
</DIR>
<H2><A NAME="pindex_r">r</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX711">recode-sr-latin</A>
+<LI><A HREF="gettext_9.html#IDX718">recode-sr-latin</A>
</DIR>
<H2><A NAME="pindex_x">x</A></H2>
<DIR>
diff --git a/gettext-tools/doc/gettext_21.html b/gettext-tools/doc/gettext_21.html
index 82f4e42..016d343 100644
--- a/gettext-tools/doc/gettext_21.html
+++ b/gettext-tools/doc/gettext_21.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Option Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_20.html">previous
<P><HR><P>
-<H1><A NAME="SEC334" HREF="gettext_toc.html#TOC334">Option Index</A></H1>
+<H1><A NAME="SEC340" HREF="gettext_toc.html#TOC340">Option Index</A></H1>
<P>
Jump to:
@@ -20,595 +20,603 @@ Jump to:
<H2><A NAME="opindex_-">-</A></H2>
<DIR>
<LI><A HREF="gettext_5.html#IDX189">--add-comments, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX877">--add-location, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX579">--add-location, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX806">--add-location, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX614">--add-location, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX910">--add-location, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX724">--add-location, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX671">--add-location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX312">--add-location, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX765">--add-location, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX217">--add-location, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1029">--alignment, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX293">--backup, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX206">--boost, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX884">--add-location, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX585">--add-location, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX813">--add-location, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX620">--add-location, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX917">--add-location, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX731">--add-location, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX677">--add-location, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX318">--add-location, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX772">--add-location, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX221">--add-location, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1046">--alignment, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX299">--backup, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX210">--boost, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX182">--c++, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1013">--check, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1021">--check-accelerators, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1019">--check-compatibility, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1017">--check-domain, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1014">--check-format, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1016">--check-header, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX857">--clear-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX859">--clear-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX861">--clear-previous, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX870">--color, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX572">--color, <CODE>msgcat</CODE> option</A>, <A HREF="gettext_9.html#IDX950">--color, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX799">--color, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX608">--color, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX904">--color, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX718">--color, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX666">--color, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX259">--color, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX306">--color, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1065">--color, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX758">--color, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX210">--color, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX648">--comment, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX287">--compendium, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX231">--copyright-holder, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX976">--csharp, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1045">--csharp, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX978">--csharp-resources, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1047">--csharp-resources, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX208">--debug, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1030">--check, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX190">--check, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1038">--check-accelerators, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1036">--check-compatibility, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1034">--check-domain, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1031">--check-format, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1033">--check-header, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX864">--clear-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX866">--clear-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX868">--clear-previous, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX877">--color, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX578">--color, <CODE>msgcat</CODE> option</A>, <A HREF="gettext_9.html#IDX958">--color, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX806">--color, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX614">--color, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX911">--color, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX725">--color, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX672">--color, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX265">--color, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX312">--color, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1082">--color, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX765">--color, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX214">--color, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX654">--comment, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX293">--compendium, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX237">--copyright-holder, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX984">--csharp, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1062">--csharp, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX986">--csharp-resources, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1064">--csharp-resources, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX212">--debug, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX172">--default-domain, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX984">--desktop, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX846">--directory, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX555">--directory, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX827">--directory, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX787">--directory, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX600">--directory, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX897">--directory, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX942">--directory, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX699">--directory, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX971">--directory, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX634">--directory, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX285">--directory, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX745">--directory, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX992">--desktop, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX853">--directory, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX561">--directory, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX834">--directory, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX794">--directory, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX606">--directory, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX904">--directory, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX950">--directory, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX705">--directory, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX979">--directory, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX640">--directory, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX291">--directory, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX752">--directory, <CODE>msguniq</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX170">--directory, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1215">--domain, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX640">--domain, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1227">--domain, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1190">--dry-run, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1156">--dry-run, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX862">--empty, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1030">--endianness, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1232">--domain, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX646">--domain, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1244">--domain, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1207">--dry-run, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1173">--dry-run, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX869">--empty, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1047">--endianness, <CODE>msgfmt</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX187">--exclude-file, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX705">--expression, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX652">--extended-regexp, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX191">--extract-all, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX650">--extracted-comment, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX707">--file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX658">--file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX553">--files-from, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX785">--files-from, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX712">--expression, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX658">--extended-regexp, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX195">--extract-all, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX656">--extracted-comment, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX714">--file, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX664">--file, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX559">--files-from, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX792">--files-from, <CODE>msgcomm</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX168">--files-from, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX654">--fixed-strings, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX196">--flag, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1188">--force, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1150">--force, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX872">--force-po, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX574">--force-po, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX801">--force-po, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX610">--force-po, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX906">--force-po, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX720">--force-po, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX668">--force-po, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX308">--force-po, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1067">--force-po, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX760">--force-po, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX212">--force-po, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX232">--foreign-user, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX660">--fixed-strings, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX200">--flag, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1205">--force, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1167">--force, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX879">--force-po, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX580">--force-po, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX808">--force-po, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX616">--force-po, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX913">--force-po, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX727">--force-po, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX674">--force-po, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX314">--force-po, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1084">--force-po, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX767">--force-po, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX216">--force-po, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX238">--foreign-user, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX183">--from-code, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX865">--fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1191">--help, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1242">--help, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1219">--help, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1157">--help, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX890">--help, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX593">--help, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX838">--help, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX820">--help, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX627">--help, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX923">--help, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX947">--help, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX737">--help, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1033">--help, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX682">--help, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX268">--help, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX326">--help, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1081">--help, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX778">--help, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1231">--help, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX241">--help, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX660">--ignore-case, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX864">--ignore-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX874">--indent, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX576">--indent, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX803">--indent, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX612">--indent, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX908">--indent, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX721">--indent, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX669">--indent, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX310">--indent, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1069">--indent, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX762">--indent, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX214">--indent, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX940">--input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX697">--input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX250">--input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1151">--intl, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX662">--invert-match, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX973">--java, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1043">--java, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX975">--java2, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX872">--fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1208">--help, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1259">--help, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1236">--help, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1174">--help, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX897">--help, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX599">--help, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX845">--help, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX827">--help, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX633">--help, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX930">--help, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX955">--help, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX744">--help, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1050">--help, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX688">--help, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX274">--help, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX332">--help, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1098">--help, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX785">--help, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1248">--help, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX247">--help, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX666">--ignore-case, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX871">--ignore-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX881">--indent, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX582">--indent, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX810">--indent, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX618">--indent, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX915">--indent, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX728">--indent, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX675">--indent, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX316">--indent, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1086">--indent, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX769">--indent, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX218">--indent, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX948">--input, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX703">--input, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX256">--input, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1168">--intl, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX668">--invert-match, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX225">--its, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX226">--itstool, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX981">--java, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1060">--java, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX983">--java2, <CODE>msgfmt</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX185">--join-existing, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX204">--kde, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX722">--keep-header, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1005">--keyword, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX193">--keyword, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX571">--lang, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX903">--lang, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX305">--lang, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX208">--kde, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX729">--keep-header, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1015">--keyword, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX197">--keyword, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX577">--lang, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX910">--lang, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX311">--lang, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1021">--language, <CODE>msgfmt</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX179">--language, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX560">--less-than, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX791">--less-than, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX992">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX998">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1001">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1007">--locale, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX257">--locale, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1054">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1058">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1061">--locale, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX638">--location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX562">--more-than, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX793">--more-than, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX642">--msgctxt, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX644">--msgid, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX235">--msgid-bugs-address, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX646">--msgstr, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX237">--msgstr-prefix, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX239">--msgstr-suffix, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX829">--multi-domain, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX298">--multi-domain, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1153">--no-changelog, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX851">--no-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX831">--no-fuzzy-matching, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX300">--no-fuzzy-matching, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1031">--no-hash, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX875">--no-location, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX577">--no-location, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX804">--no-location, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX613">--no-location, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX909">--no-location, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX723">--no-location, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX670">--no-location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX311">--no-location, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX763">--no-location, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX215">--no-location, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX853">--no-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX258">--no-translator, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX884">--no-wrap, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX586">--no-wrap, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX813">--no-wrap, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX621">--no-wrap, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX917">--no-wrap, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX731">--no-wrap, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX678">--no-wrap, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX266">--no-wrap, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX319">--no-wrap, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1076">--no-wrap, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX772">--no-wrap, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX223">--no-wrap, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX866">--obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX818">--omit-header, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX229">--omit-header, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX863">--only-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX852">--only-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX854">--only-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX566">--less-than, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX798">--less-than, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1002">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1008">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1011">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1017">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1024">--locale, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX263">--locale, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1071">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1075">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1078">--locale, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX644">--location, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX568">--more-than, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX800">--more-than, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX648">--msgctxt, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX650">--msgid, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX241">--msgid-bugs-address, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX652">--msgstr, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX243">--msgstr-prefix, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX245">--msgstr-suffix, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX836">--multi-domain, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX304">--multi-domain, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX708">--newline, <CODE>msgfilter</CODE> option</A>, <A HREF="gettext_9.html#IDX937">--newline, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1170">--no-changelog, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX858">--no-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX838">--no-fuzzy-matching, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX306">--no-fuzzy-matching, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1048">--no-hash, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX882">--no-location, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX583">--no-location, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX811">--no-location, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX619">--no-location, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX916">--no-location, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX730">--no-location, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX676">--no-location, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX317">--no-location, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX770">--no-location, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX219">--no-location, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX860">--no-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX264">--no-translator, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX891">--no-wrap, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX592">--no-wrap, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX820">--no-wrap, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX627">--no-wrap, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX924">--no-wrap, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX738">--no-wrap, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX684">--no-wrap, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX272">--no-wrap, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX325">--no-wrap, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1093">--no-wrap, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX779">--no-wrap, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX229">--no-wrap, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX873">--obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX825">--omit-header, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX235">--omit-header, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX870">--only-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX859">--only-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX861">--only-obsolete, <CODE>msgattrib</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX174">--output, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX176">--output-dir, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX848">--output-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX557">--output-file, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX789">--output-file, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX602">--output-file, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX899">--output-file, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX701">--output-file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX987">--output-file, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX636">--output-file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX252">--output-file, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX291">--output-file, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1064">--output-file, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX747">--output-file, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX233">--package-name, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX234">--package-version, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1152">--po-dir, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX860">--previous, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX301">--previous, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX868">--properties-input, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX566">--properties-input, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX835">--properties-input, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX797">--properties-input, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX606">--properties-input, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX901">--properties-input, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX944">--properties-input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX716">--properties-input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1010">--properties-input, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX664">--properties-input, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX254">--properties-input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX303">--properties-input, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX753">--properties-input, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX880">--properties-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX582">--properties-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX809">--properties-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX617">--properties-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX913">--properties-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX727">--properties-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX674">--properties-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX262">--properties-output, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX315">--properties-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1072">--properties-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX768">--properties-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX219">--properties-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX982">--qt, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX202">--qt, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX709">--quiet, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX332">--quiet, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX656">--regexp=, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX749">--repeated, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX990">--resource, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX996">--resource, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1052">--resource, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1056">--resource, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX856">--set-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX858">--set-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX710">--silent, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX333">--silent, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX888">--sort-by-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX591">--sort-by-file, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX817">--sort-by-file, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX625">--sort-by-file, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX921">--sort-by-file, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX735">--sort-by-file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX680">--sort-by-file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX324">--sort-by-file, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX776">--sort-by-file, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX228">--sort-by-file, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX886">--sort-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX588">--sort-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX815">--sort-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX623">--sort-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX919">--sort-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX733">--sort-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX679">--sort-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX321">--sort-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1078">--sort-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX774">--sort-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX225">--sort-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX994">--source, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1036">--statistics, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX878">--strict, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX580">--strict, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX807">--strict, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX615">--strict, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX911">--strict, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX725">--strict, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX988">--strict, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX672">--strict, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX313">--strict, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1070">--strict, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX766">--strict, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX218">--strict, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX869">--stringtable-input, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX567">--stringtable-input, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX836">--stringtable-input, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX798">--stringtable-input, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX902">--stringtable-input, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX945">--stringtable-input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX717">--stringtable-input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1011">--stringtable-input, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX665">--stringtable-input, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX255">--stringtable-input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX304">--stringtable-input, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX607">--stringtable-input, <CODE>msgonv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX754">--stringtable-input, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX881">--stringtable-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX583">--stringtable-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX810">--stringtable-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX618">--stringtable-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX914">--stringtable-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX728">--stringtable-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX675">--stringtable-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX263">--stringtable-output, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX316">--stringtable-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1073">--stringtable-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX769">--stringtable-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX220">--stringtable-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX871">--style, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX573">--style, <CODE>msgcat</CODE> option</A>, <A HREF="gettext_9.html#IDX952">--style, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX800">--style, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX609">--style, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX905">--style, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX719">--style, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX667">--style, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX260">--style, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX307">--style, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1066">--style, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX759">--style, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX211">--style, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX295">--suffix, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1154">--symlink, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX980">--tcl, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1049">--tcl, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1003">--template, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX569">--to-code, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX604">--to-code, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX756">--to-code, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX849">--translated, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX200">--trigraphs, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX564">--unique, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX795">--unique, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX751">--unique, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX850">--untranslated, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX289">--update, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX570">--use-first, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX757">--use-first, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX832">--use-fuzzy, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1026">--use-fuzzy, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX833">--use-untranslated, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1240">--variables, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1038">--verbose, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX330">--verbose, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1085">--verbose, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1192">--version, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1244">--version, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1222">--version, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1158">--version, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX892">--version, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX595">--version, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX840">--version, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX822">--version, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX629">--version, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX925">--version, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX949">--version, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX739">--version, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1035">--version, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX684">--version, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX270">--version, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX328">--version, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1083">--version, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX780">--version, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1233">--version, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX243">--version, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX883">--width, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX585">--width, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX812">--width, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX620">--width, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX916">--width, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX730">--width, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX677">--width, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX265">--width, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX318">--width, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1075">--width, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX771">--width, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX222">--width, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX559">-&#60;, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX790">-&#60;, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX561">-&#62;, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX792">-&#62;, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1028">-a, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX190">-a, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1012">-c, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1018">-C, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX647">-C, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX286">-C, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX855">--output-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX563">--output-file, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX796">--output-file, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX608">--output-file, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX906">--output-file, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX707">--output-file, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX997">--output-file, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX642">--output-file, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX258">--output-file, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX297">--output-file, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1081">--output-file, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX754">--output-file, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX239">--package-name, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX240">--package-version, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1169">--po-dir, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX867">--previous, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX307">--previous, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX875">--properties-input, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX572">--properties-input, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX842">--properties-input, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX804">--properties-input, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX612">--properties-input, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX908">--properties-input, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX952">--properties-input, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX723">--properties-input, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1027">--properties-input, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX670">--properties-input, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX260">--properties-input, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX309">--properties-input, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX760">--properties-input, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX887">--properties-output, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX588">--properties-output, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX816">--properties-output, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX623">--properties-output, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX920">--properties-output, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX734">--properties-output, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX680">--properties-output, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX268">--properties-output, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX321">--properties-output, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1089">--properties-output, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX775">--properties-output, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX223">--properties-output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX990">--qt, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX206">--qt, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX716">--quiet, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX338">--quiet, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX662">--regexp=, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX756">--repeated, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1000">--resource, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1006">--resource, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1069">--resource, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1073">--resource, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX192">--sentence-end, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX863">--set-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX865">--set-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX717">--silent, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX339">--silent, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX895">--sort-by-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX597">--sort-by-file, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX824">--sort-by-file, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX631">--sort-by-file, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX928">--sort-by-file, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX742">--sort-by-file, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX686">--sort-by-file, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX330">--sort-by-file, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX783">--sort-by-file, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX234">--sort-by-file, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX893">--sort-output, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX594">--sort-output, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX822">--sort-output, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX629">--sort-output, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX926">--sort-output, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX740">--sort-output, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX685">--sort-output, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX327">--sort-output, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1095">--sort-output, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX781">--sort-output, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX231">--sort-output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1004">--source, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1053">--statistics, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX885">--strict, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX586">--strict, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX814">--strict, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX621">--strict, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX918">--strict, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX732">--strict, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX998">--strict, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX678">--strict, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX319">--strict, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1087">--strict, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX773">--strict, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX222">--strict, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX876">--stringtable-input, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX573">--stringtable-input, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX843">--stringtable-input, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX805">--stringtable-input, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX909">--stringtable-input, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX953">--stringtable-input, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX724">--stringtable-input, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1028">--stringtable-input, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX671">--stringtable-input, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX261">--stringtable-input, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX310">--stringtable-input, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX613">--stringtable-input, <CODE>msgonv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX761">--stringtable-input, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX888">--stringtable-output, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX589">--stringtable-output, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX817">--stringtable-output, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX624">--stringtable-output, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX921">--stringtable-output, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX735">--stringtable-output, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX681">--stringtable-output, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX269">--stringtable-output, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX322">--stringtable-output, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1090">--stringtable-output, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX776">--stringtable-output, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX224">--stringtable-output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX878">--style, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX579">--style, <CODE>msgcat</CODE> option</A>, <A HREF="gettext_9.html#IDX960">--style, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX807">--style, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX615">--style, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX912">--style, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX726">--style, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX673">--style, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX266">--style, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX313">--style, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1083">--style, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX766">--style, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX215">--style, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX301">--suffix, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1171">--symlink, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX988">--tcl, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1066">--tcl, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1013">--template, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1019">--template, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX575">--to-code, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX610">--to-code, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX763">--to-code, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX856">--translated, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX204">--trigraphs, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX570">--unique, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX802">--unique, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX758">--unique, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX857">--untranslated, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX295">--update, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX576">--use-first, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX764">--use-first, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX839">--use-fuzzy, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1043">--use-fuzzy, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX840">--use-untranslated, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1257">--variables, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1055">--verbose, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX336">--verbose, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1102">--verbose, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1209">--version, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1261">--version, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1239">--version, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1175">--version, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX899">--version, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX601">--version, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX847">--version, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX829">--version, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX635">--version, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX932">--version, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX957">--version, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX746">--version, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1052">--version, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX690">--version, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX276">--version, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX334">--version, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1100">--version, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX787">--version, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1250">--version, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX249">--version, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX890">--width, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX591">--width, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX819">--width, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX626">--width, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX923">--width, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX737">--width, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX683">--width, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX271">--width, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX324">--width, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1092">--width, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX778">--width, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX228">--width, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX994">--xml, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX565">-&#60;, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX797">-&#60;, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX567">-&#62;, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX799">-&#62;, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1045">-a, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX194">-a, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1029">-c, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1035">-C, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX653">-C, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX292">-C, <CODE>msgmerge</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX188">-c, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX181">-C, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1189">-d, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1214">-d, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1155">-d, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX845">-D, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX554">-D, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX826">-D, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX786">-D, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX599">-D, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX896">-D, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX941">-D, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX698">-D, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX993">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX999">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1002">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1008">-d, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX970">-D, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX633">-D, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX284">-D, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1059">-d, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1062">-d, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX744">-D, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX748">-d, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1226">-d, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1206">-d, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1231">-d, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1172">-d, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX852">-D, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX560">-D, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX833">-D, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX793">-D, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX605">-D, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX903">-D, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX949">-D, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX704">-D, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX978">-D, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1003">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1009">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1012">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1018">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1025">-d, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX639">-D, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX290">-D, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1076">-d, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1079">-d, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX751">-D, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX755">-d, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1243">-d, <CODE>ngettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX171">-d, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX169">-D, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1216">-e, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1217">-E, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX704">-e, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX655">-e, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX651">-E, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1229">-E, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1228">-e, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1187">-f, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1149">-f, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX887">-F, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX590">-F, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX552">-f, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX784">-f, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX816">-F, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX624">-F, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX920">-F, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX734">-F, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX706">-f, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1025">-f, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX657">-f, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX653">-F, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX323">-F, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX775">-F, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1234">-E, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1233">-e, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX711">-e, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX661">-e, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX657">-E, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1246">-E, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1245">-e, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1204">-f, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1166">-f, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX894">-F, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX558">-f, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX596">-F, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX791">-f, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX823">-F, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX630">-F, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX927">-F, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX713">-f, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX741">-F, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1042">-f, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX663">-f, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX659">-F, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX329">-F, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX782">-F, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX233">-F, <CODE>xgettext</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX167">-f, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX227">-F, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1241">-h, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1218">-h, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX889">-h, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX592">-h, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX837">-h, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX819">-h, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX626">-h, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX922">-h, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX946">-h, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX736">-h, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1032">-h, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX681">-h, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX267">-h, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX325">-h, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1080">-h, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX777">-h, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1230">-h, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX240">-h, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX873">-i, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX575">-i, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX802">-i, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX611">-i, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX907">-i, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX939">-i, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX696">-i, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX659">-i, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX249">-i, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX309">-i, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1068">-i, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX761">-i, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX213">-i, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX972">-j, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX641">-J, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1042">-j, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1258">-h, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1235">-h, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX896">-h, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX598">-h, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX844">-h, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX826">-h, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX632">-h, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX929">-h, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX954">-h, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX743">-h, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1049">-h, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX687">-h, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX273">-h, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX331">-h, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1097">-h, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX784">-h, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1247">-h, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX246">-h, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX880">-i, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX581">-i, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX809">-i, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX617">-i, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX914">-i, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX947">-i, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX702">-i, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX665">-i, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX255">-i, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX315">-i, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1085">-i, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX768">-i, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX217">-i, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX980">-j, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX647">-J, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1059">-j, <CODE>msgunfmt</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX184">-j, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1004">-k, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX643">-K, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX192">-k, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX991">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX997">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1000">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1006">-l, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX256">-l, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1053">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1057">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1060">-l, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1014">-k, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX649">-K, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX196">-k, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1001">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1007">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1010">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1016">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1023">-l, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1020">-L, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX262">-l, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1070">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1074">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1077">-l, <CODE>msgunfmt</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX178">-L, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX828">-m, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX639">-M, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX297">-m, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX238">-M, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX236">-m, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1220">-n, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX876">-n, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX578">-n, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX830">-N, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX805">-n, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX708">-n, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX637">-N, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX299">-N, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX764">-n, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX216">-n, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX847">-o, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX556">-o, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX788">-o, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX601">-o, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX898">-o, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX700">-o, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX986">-o, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX635">-o, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX251">-o, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX290">-o, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1063">-o, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX746">-o, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX835">-m, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX645">-M, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX303">-m, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX242">-m, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX244">-M, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1237">-n, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX883">-n, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX584">-n, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX837">-N, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX812">-n, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX715">-n, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX643">-N, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX305">-N, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX771">-n, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX220">-n, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX854">-o, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX562">-o, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX795">-o, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX607">-o, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX905">-o, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX706">-o, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX996">-o, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX641">-o, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX257">-o, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX296">-o, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1080">-o, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX753">-o, <CODE>msguniq</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX173">-o, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX867">-P, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX879">-p, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX581">-p, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX565">-P, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX834">-P, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX796">-P, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX808">-p, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX605">-P, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX616">-p, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX900">-P, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX912">-p, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX943">-P, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX715">-P, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX726">-p, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1009">-P, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX663">-P, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX673">-p, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX253">-P, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX261">-p, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX314">-p, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX302">-P, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1071">-p, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX767">-p, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX752">-P, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX886">-p, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX874">-P, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX587">-p, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX571">-P, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX841">-P, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX803">-P, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX815">-p, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX611">-P, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX622">-p, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX907">-P, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX919">-p, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX951">-P, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX733">-p, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX722">-P, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1026">-P, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX679">-p, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX669">-P, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX259">-P, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX267">-p, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX308">-P, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX320">-p, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1088">-p, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX774">-p, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX759">-P, <CODE>msguniq</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX175">-p, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX331">-q, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX989">-r, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX995">-r, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1051">-r, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1055">-r, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX885">-s, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX587">-s, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX814">-s, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX622">-s, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX918">-s, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX732">-s, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX320">-s, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1077">-s, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX773">-s, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX224">-s, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX568">-t, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX603">-t, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX645">-T, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX755">-t, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX199">-T, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX563">-u, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX794">-u, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX288">-U, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX750">-u, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1239">-v, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1243">-V, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1221">-V, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX891">-V, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX594">-V, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX839">-V, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX821">-V, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX628">-V, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX924">-V, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX948">-V, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX738">-V, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1034">-V, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1037">-v, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX661">-v, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX683">-V, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX269">-V, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX329">-v, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX327">-V, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1084">-v, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1082">-V, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX779">-V, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1232">-V, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX242">-V, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX882">-w, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX584">-w, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX811">-w, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX619">-w, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX915">-w, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX729">-w, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX676">-w, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX264">-w, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX317">-w, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX1074">-w, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX770">-w, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX221">-w, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX649">-X, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX337">-q, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX999">-r, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1005">-r, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1068">-r, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX1072">-r, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX892">-s, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX593">-s, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX821">-s, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX628">-s, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX925">-s, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX739">-s, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX326">-s, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1094">-s, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX780">-s, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX230">-s, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX574">-t, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX609">-t, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX651">-T, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX762">-t, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX203">-T, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX569">-u, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX801">-u, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX294">-U, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX757">-u, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1256">-v, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1260">-V, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1238">-V, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX898">-V, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX600">-V, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX846">-V, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX828">-V, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX634">-V, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX931">-V, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX956">-V, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX745">-V, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1054">-v, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1051">-V, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX689">-V, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX667">-v, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX275">-V, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX333">-V, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX335">-v, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1099">-V, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1101">-v, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX786">-V, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1249">-V, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX248">-V, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX889">-w, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX590">-w, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX818">-w, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX625">-w, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX922">-w, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX736">-w, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX682">-w, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX270">-w, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX323">-w, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1091">-w, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX777">-w, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX227">-w, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX655">-X, <CODE>msggrep</CODE> option</A>
<LI><A HREF="gettext_5.html#IDX186">-x, <CODE>xgettext</CODE> option</A>
</DIR>
diff --git a/gettext-tools/doc/gettext_22.html b/gettext-tools/doc/gettext_22.html
index 8572eca..be79d64 100644
--- a/gettext-tools/doc/gettext_22.html
+++ b/gettext-tools/doc/gettext_22.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Variable Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_21.html">previous
<P><HR><P>
-<H1><A NAME="SEC335" HREF="gettext_toc.html#TOC335">Variable Index</A></H1>
+<H1><A NAME="SEC341" HREF="gettext_toc.html#TOC341">Variable Index</A></H1>
<P>
Jump to:
@@ -27,49 +27,49 @@ Jump to:
<P>
<H2><A NAME="vindex_g">g</A></H2>
<DIR>
-<LI><A HREF="gettext_12.html#IDX1142">GETTEXT_LOG_UNTRANSLATED, environment variable</A>
+<LI><A HREF="gettext_12.html#IDX1159">GETTEXT_LOG_UNTRANSLATED, environment variable</A>
</DIR>
<H2><A NAME="vindex_l">l</A></H2>
<DIR>
-<LI><A HREF="gettext_2.html#IDX51">LANG, environment variable</A>, <A HREF="gettext_11.html#IDX1139">LANG, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX43">LANGUAGE, environment variable</A>, <A HREF="gettext_11.html#IDX1131">LANGUAGE, environment variable</A>, <A HREF="gettext_13.html#IDX1165">LANGUAGE, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX44">LC_ALL, environment variable</A>, <A HREF="gettext_11.html#IDX1132">LC_ALL, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX48">LC_COLLATE, environment variable</A>, <A HREF="gettext_11.html#IDX1136">LC_COLLATE, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX45">LC_CTYPE, environment variable</A>, <A HREF="gettext_11.html#IDX1133">LC_CTYPE, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX50">LC_MESSAGES, environment variable</A>, <A HREF="gettext_11.html#IDX1138">LC_MESSAGES, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX49">LC_MONETARY, environment variable</A>, <A HREF="gettext_11.html#IDX1137">LC_MONETARY, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX46">LC_NUMERIC, environment variable</A>, <A HREF="gettext_11.html#IDX1134">LC_NUMERIC, environment variable</A>
-<LI><A HREF="gettext_2.html#IDX47">LC_TIME, environment variable</A>, <A HREF="gettext_11.html#IDX1135">LC_TIME, environment variable</A>
-<LI><A HREF="gettext_14.html#IDX1199">LINGUAS, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX51">LANG, environment variable</A>, <A HREF="gettext_11.html#IDX1156">LANG, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX43">LANGUAGE, environment variable</A>, <A HREF="gettext_11.html#IDX1148">LANGUAGE, environment variable</A>, <A HREF="gettext_13.html#IDX1182">LANGUAGE, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX44">LC_ALL, environment variable</A>, <A HREF="gettext_11.html#IDX1149">LC_ALL, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX48">LC_COLLATE, environment variable</A>, <A HREF="gettext_11.html#IDX1153">LC_COLLATE, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX45">LC_CTYPE, environment variable</A>, <A HREF="gettext_11.html#IDX1150">LC_CTYPE, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX50">LC_MESSAGES, environment variable</A>, <A HREF="gettext_11.html#IDX1155">LC_MESSAGES, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX49">LC_MONETARY, environment variable</A>, <A HREF="gettext_11.html#IDX1154">LC_MONETARY, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX46">LC_NUMERIC, environment variable</A>, <A HREF="gettext_11.html#IDX1151">LC_NUMERIC, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX47">LC_TIME, environment variable</A>, <A HREF="gettext_11.html#IDX1152">LC_TIME, environment variable</A>
+<LI><A HREF="gettext_14.html#IDX1216">LINGUAS, environment variable</A>
</DIR>
<H2><A NAME="vindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX933">MSGEXEC_LOCATION, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX930">MSGEXEC_MSGCTXT, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX931">MSGEXEC_MSGID, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX932">MSGEXEC_MSGID_PLURAL, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX934">MSGEXEC_PLURAL_FORM, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX935">MSGEXEC_PREV_MSGCTXT, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX936">MSGEXEC_PREV_MSGID, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX937">MSGEXEC_PREV_MSGID_PLURAL, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX691">MSGFILTER_LOCATION, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX688">MSGFILTER_MSGCTXT, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX689">MSGFILTER_MSGID, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX690">MSGFILTER_MSGID_PLURAL, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX692">MSGFILTER_PLURAL_FORM, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX693">MSGFILTER_PREV_MSGCTXT, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX694">MSGFILTER_PREV_MSGID, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX695">MSGFILTER_PREV_MSGID_PLURAL, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX941">MSGEXEC_LOCATION, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX938">MSGEXEC_MSGCTXT, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX939">MSGEXEC_MSGID, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX940">MSGEXEC_MSGID_PLURAL, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX942">MSGEXEC_PLURAL_FORM, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX943">MSGEXEC_PREV_MSGCTXT, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX944">MSGEXEC_PREV_MSGID, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX945">MSGEXEC_PREV_MSGID_PLURAL, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX697">MSGFILTER_LOCATION, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX694">MSGFILTER_MSGCTXT, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX695">MSGFILTER_MSGID, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX696">MSGFILTER_MSGID_PLURAL, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX698">MSGFILTER_PLURAL_FORM, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX699">MSGFILTER_PREV_MSGCTXT, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX700">MSGFILTER_PREV_MSGID, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX701">MSGFILTER_PREV_MSGID_PLURAL, environment variable</A>
</DIR>
<H2><A NAME="vindex_p">p</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX953">PO_STYLE, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX961">PO_STYLE, environment variable</A>
</DIR>
<H2><A NAME="vindex_t">t</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX951">TERM, environment variable</A>
-<LI><A HREF="gettext_15.html#IDX1208">TEXTDOMAIN, environment variable</A>
-<LI><A HREF="gettext_15.html#IDX1209">TEXTDOMAINDIR, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX959">TERM, environment variable</A>
+<LI><A HREF="gettext_15.html#IDX1225">TEXTDOMAIN, environment variable</A>
+<LI><A HREF="gettext_15.html#IDX1226">TEXTDOMAINDIR, environment variable</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_23.html b/gettext-tools/doc/gettext_23.html
index 3278ea6..9918482 100644
--- a/gettext-tools/doc/gettext_23.html
+++ b/gettext-tools/doc/gettext_23.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - PO Mode Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_22.html">previous
<P><HR><P>
-<H1><A NAME="SEC336" HREF="gettext_toc.html#TOC336">PO Mode Index</A></H1>
+<H1><A NAME="SEC342" HREF="gettext_toc.html#TOC342">PO Mode Index</A></H1>
<P>
Jump to:
@@ -41,70 +41,70 @@ Jump to:
<P>
<H2><A NAME="emindex_&">&#38;</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX340"><TT>&lsquo;.emacs&rsquo;</TT> customizations</A>
+<LI><A HREF="gettext_8.html#IDX346"><TT>&lsquo;.emacs&rsquo;</TT> customizations</A>
<LI><A HREF="gettext_4.html#IDX153"><TT>&lsquo;TAGS&rsquo;</TT>, and marking translatable strings</A>
</DIR>
<H2><A NAME="emindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX517">auxiliary PO file</A>
+<LI><A HREF="gettext_8.html#IDX523">auxiliary PO file</A>
</DIR>
<H2><A NAME="emindex_c">c</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX343">commands</A>
-<LI><A HREF="gettext_8.html#IDX447">comment out PO file entry</A>
-<LI><A HREF="gettext_8.html#IDX499">consulting program sources</A>
-<LI><A HREF="gettext_8.html#IDX515">consulting translations to other languages</A>
-<LI><A HREF="gettext_8.html#IDX368">current entry of a PO file</A>
-<LI><A HREF="gettext_8.html#IDX463">cut and paste for translated strings</A>
+<LI><A HREF="gettext_8.html#IDX349">commands</A>
+<LI><A HREF="gettext_8.html#IDX453">comment out PO file entry</A>
+<LI><A HREF="gettext_8.html#IDX505">consulting program sources</A>
+<LI><A HREF="gettext_8.html#IDX521">consulting translations to other languages</A>
+<LI><A HREF="gettext_8.html#IDX374">current entry of a PO file</A>
+<LI><A HREF="gettext_8.html#IDX469">cut and paste for translated strings</A>
</DIR>
<H2><A NAME="emindex_e">e</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX472">editing comments</A>
-<LI><A HREF="gettext_8.html#IDX497">editing multiple entries</A>
-<LI><A HREF="gettext_8.html#IDX449">editing translations</A>
+<LI><A HREF="gettext_8.html#IDX478">editing comments</A>
+<LI><A HREF="gettext_8.html#IDX503">editing multiple entries</A>
+<LI><A HREF="gettext_8.html#IDX455">editing translations</A>
<LI><A HREF="gettext_4.html#IDX152"><CODE>etags</CODE>, using for marking strings</A>
-<LI><A HREF="gettext_8.html#IDX490">exiting PO subedit</A>
+<LI><A HREF="gettext_8.html#IDX496">exiting PO subedit</A>
</DIR>
<H2><A NAME="emindex_f">f</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX502">find source fragment for a PO file entry</A>
+<LI><A HREF="gettext_8.html#IDX508">find source fragment for a PO file entry</A>
</DIR>
<H2><A NAME="emindex_i">i</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX341">installing PO mode</A>
+<LI><A HREF="gettext_8.html#IDX347">installing PO mode</A>
</DIR>
<H2><A NAME="emindex_l">l</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX500">looking at the source to aid translation</A>
+<LI><A HREF="gettext_8.html#IDX506">looking at the source to aid translation</A>
</DIR>
<H2><A NAME="emindex_m">m</A></H2>
<DIR>
<LI><A HREF="gettext_4.html#IDX151">marking strings for translation</A>
-<LI><A HREF="gettext_8.html#IDX411">moving by fuzzy entries</A>
-<LI><A HREF="gettext_8.html#IDX436">moving by obsolete entries</A>
-<LI><A HREF="gettext_8.html#IDX400">moving by translated entries</A>
-<LI><A HREF="gettext_8.html#IDX425">moving by untranslated entries</A>
-<LI><A HREF="gettext_8.html#IDX369">moving through a PO file</A>
+<LI><A HREF="gettext_8.html#IDX417">moving by fuzzy entries</A>
+<LI><A HREF="gettext_8.html#IDX442">moving by obsolete entries</A>
+<LI><A HREF="gettext_8.html#IDX406">moving by translated entries</A>
+<LI><A HREF="gettext_8.html#IDX431">moving by untranslated entries</A>
+<LI><A HREF="gettext_8.html#IDX375">moving through a PO file</A>
</DIR>
<H2><A NAME="emindex_o">o</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX446">obsolete active entry</A>
+<LI><A HREF="gettext_8.html#IDX452">obsolete active entry</A>
</DIR>
<H2><A NAME="emindex_p">p</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX498">pending subedits</A>
+<LI><A HREF="gettext_8.html#IDX504">pending subedits</A>
</DIR>
<H2><A NAME="emindex_s">s</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX462">starting a string translation</A>
-<LI><A HREF="gettext_8.html#IDX395">string normalization in entries</A>
-<LI><A HREF="gettext_8.html#IDX486">subedit minor mode</A>
+<LI><A HREF="gettext_8.html#IDX468">starting a string translation</A>
+<LI><A HREF="gettext_8.html#IDX401">string normalization in entries</A>
+<LI><A HREF="gettext_8.html#IDX492">subedit minor mode</A>
</DIR>
<H2><A NAME="emindex_u">u</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX501">use the source, Luke</A>
-<LI><A HREF="gettext_8.html#IDX470">using obsolete translations to make new entries</A>
-<LI><A HREF="gettext_8.html#IDX531">using translation compendia</A>
+<LI><A HREF="gettext_8.html#IDX507">use the source, Luke</A>
+<LI><A HREF="gettext_8.html#IDX476">using obsolete translations to make new entries</A>
+<LI><A HREF="gettext_8.html#IDX537">using translation compendia</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_24.html b/gettext-tools/doc/gettext_24.html
index 2a3c851..d253509 100644
--- a/gettext-tools/doc/gettext_24.html
+++ b/gettext-tools/doc/gettext_24.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Autoconf Macro Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_23.html">previous
<P><HR><P>
-<H1><A NAME="SEC337" HREF="gettext_toc.html#TOC337">Autoconf Macro Index</A></H1>
+<H1><A NAME="SEC343" HREF="gettext_toc.html#TOC343">Autoconf Macro Index</A></H1>
<P>
Jump to:
@@ -19,13 +19,13 @@ Jump to:
<P>
<H2><A NAME="amindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_13.html#IDX1176">AM_GNU_GETTEXT</A>
-<LI><A HREF="gettext_13.html#IDX1180">AM_GNU_GETTEXT_INTL_SUBDIR</A>
-<LI><A HREF="gettext_13.html#IDX1179">AM_GNU_GETTEXT_NEED</A>
-<LI><A HREF="gettext_13.html#IDX1178">AM_GNU_GETTEXT_VERSION</A>
-<LI><A HREF="gettext_13.html#IDX1183">AM_ICONV</A>
-<LI><A HREF="gettext_13.html#IDX1181">AM_PO_SUBDIRS</A>
-<LI><A HREF="gettext_13.html#IDX1182">AM_XGETTEXT_OPTION</A>
+<LI><A HREF="gettext_13.html#IDX1193">AM_GNU_GETTEXT</A>
+<LI><A HREF="gettext_13.html#IDX1197">AM_GNU_GETTEXT_INTL_SUBDIR</A>
+<LI><A HREF="gettext_13.html#IDX1196">AM_GNU_GETTEXT_NEED</A>
+<LI><A HREF="gettext_13.html#IDX1195">AM_GNU_GETTEXT_VERSION</A>
+<LI><A HREF="gettext_13.html#IDX1200">AM_ICONV</A>
+<LI><A HREF="gettext_13.html#IDX1198">AM_PO_SUBDIRS</A>
+<LI><A HREF="gettext_13.html#IDX1199">AM_XGETTEXT_OPTION</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_25.html b/gettext-tools/doc/gettext_25.html
index d5a6df6..a337d39 100644
--- a/gettext-tools/doc/gettext_25.html
+++ b/gettext-tools/doc/gettext_25.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - General Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_24.html">previous
<P><HR><P>
-<H1><A NAME="SEC338" HREF="gettext_toc.html#TOC338">General Index</A></H1>
+<H1><A NAME="SEC344" HREF="gettext_toc.html#TOC344">General Index</A></H1>
<P>
Jump to:
@@ -72,229 +72,229 @@ Jump to:
<H2><A NAME="cindex_&">&#38;</A></H2>
<DIR>
<LI><A HREF="gettext_2.html#IDX54"><TT>&lsquo;ABOUT-NLS&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1169"><TT>&lsquo;acconfig.h&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1168"><TT>&lsquo;aclocal.m4&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1170"><TT>&lsquo;config.h.in&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1171"><TT>&lsquo;gettext.h&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1161"><TT>&lsquo;LINGUAS&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1163"><TT>&lsquo;Makefile.in.in&rsquo;</TT> extensions</A>
-<LI><A HREF="gettext_13.html#IDX1162"><TT>&lsquo;Makevars&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1167"><TT>&lsquo;mkinstalldirs&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1160"><TT>&lsquo;POTFILES.in&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1186"><TT>&lsquo;acconfig.h&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1185"><TT>&lsquo;aclocal.m4&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1187"><TT>&lsquo;config.h.in&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1188"><TT>&lsquo;gettext.h&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1178"><TT>&lsquo;LINGUAS&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1180"><TT>&lsquo;Makefile.in.in&rsquo;</TT> extensions</A>
+<LI><A HREF="gettext_13.html#IDX1179"><TT>&lsquo;Makevars&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1184"><TT>&lsquo;mkinstalldirs&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1177"><TT>&lsquo;POTFILES.in&rsquo;</TT> file</A>
</DIR>
<H2><A NAME="cindex__">_</A></H2>
<DIR>
<LI><A HREF="gettext_4.html#IDX150"><CODE>_</CODE>, a macro to mark strings for translation</A>
-<LI><A HREF="gettext_11.html#IDX1140"><CODE>_nl_msg_cat_cntr</CODE></A>
+<LI><A HREF="gettext_11.html#IDX1157"><CODE>_nl_msg_cat_cntr</CODE></A>
</DIR>
<H2><A NAME="cindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX536">accumulating translations</A>
-<LI><A HREF="gettext_5.html#IDX194">adding keywords, <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_8.html#IDX542">accumulating translations</A>
+<LI><A HREF="gettext_5.html#IDX198">adding keywords, <CODE>xgettext</CODE></A>
<LI><A HREF="gettext_4.html#IDX138">ambiguities</A>
-<LI><A HREF="gettext_9.html#IDX687">apply a filter to translations</A>
-<LI><A HREF="gettext_9.html#IDX928">apply command to all translations in a catalog</A>
-<LI><A HREF="gettext_15.html#IDX1203">Arabic digits</A>
-<LI><A HREF="gettext_9.html#IDX844">attribute manipulation</A>
-<LI><A HREF="gettext_8.html#IDX410">attribute, fuzzy</A>
-<LI><A HREF="gettext_8.html#IDX409">attributes of a PO file entry</A>
-<LI><A HREF="gettext_9.html#IDX547">attributes, manipulating</A>
-<LI><A HREF="gettext_13.html#IDX1175">autoconf macros for <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_13.html#IDX1186"><CODE>autopoint</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX516">auxiliary PO file</A>
+<LI><A HREF="gettext_9.html#IDX693">apply a filter to translations</A>
+<LI><A HREF="gettext_9.html#IDX935">apply command to all translations in a catalog</A>
+<LI><A HREF="gettext_15.html#IDX1220">Arabic digits</A>
+<LI><A HREF="gettext_9.html#IDX851">attribute manipulation</A>
+<LI><A HREF="gettext_8.html#IDX416">attribute, fuzzy</A>
+<LI><A HREF="gettext_8.html#IDX415">attributes of a PO file entry</A>
+<LI><A HREF="gettext_9.html#IDX553">attributes, manipulating</A>
+<LI><A HREF="gettext_13.html#IDX1192">autoconf macros for <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1203"><CODE>autopoint</CODE> program, usage</A>
+<LI><A HREF="gettext_8.html#IDX522">auxiliary PO file</A>
<LI><A HREF="gettext_2.html#IDX53">available translations</A>
-<LI><A HREF="gettext_15.html#IDX1264">awk</A>
+<LI><A HREF="gettext_15.html#IDX1281">awk</A>
</DIR>
<H2><A NAME="cindex_b">b</A></H2>
<DIR>
-<LI><A HREF="gettext_7.html#IDX294">backup old file, and <CODE>msgmerge</CODE> program</A>
-<LI><A HREF="gettext_15.html#IDX1249">bash</A>
-<LI><A HREF="gettext_16.html#IDX1290">bibliography</A>
+<LI><A HREF="gettext_7.html#IDX300">backup old file, and <CODE>msgmerge</CODE> program</A>
+<LI><A HREF="gettext_15.html#IDX1266">bash</A>
+<LI><A HREF="gettext_16.html#IDX1308">bibliography</A>
<LI><A HREF="gettext_1.html#IDX31">big picture</A>
-<LI><A HREF="gettext_11.html#IDX1106">bind_textdomain_codeset</A>
-<LI><A HREF="gettext_5.html#IDX207">Boost format strings</A>
+<LI><A HREF="gettext_11.html#IDX1123">bind_textdomain_codeset</A>
+<LI><A HREF="gettext_5.html#IDX211">Boost format strings</A>
<LI><A HREF="gettext_1.html#IDX4">bug report address</A>
</DIR>
<H2><A NAME="cindex_c">c</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1204">C and C-like languages</A>
-<LI><A HREF="gettext_5.html#IDX201">C trigraphs</A>
-<LI><A HREF="gettext_15.html#IDX1262">C#</A>
-<LI><A HREF="gettext_10.html#IDX977">C# mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX1046">C# mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX979">C# resources mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX1048">C# resources mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_15.html#IDX1221">C and C-like languages</A>
+<LI><A HREF="gettext_5.html#IDX205">C trigraphs</A>
+<LI><A HREF="gettext_15.html#IDX1279">C#</A>
+<LI><A HREF="gettext_10.html#IDX985">C# mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX1063">C# mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX987">C# resources mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX1065">C# resources mode, and <CODE>msgunfmt</CODE> program</A>
<LI><A HREF="gettext_4.html#IDX146">C#, string concatenation</A>
-<LI><A HREF="gettext_9.html#IDX938">catalog encoding and <CODE>msgexec</CODE> output</A>
-<LI><A HREF="gettext_11.html#IDX1096"><CODE>catclose</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_11.html#IDX1092"><CODE>catgets</CODE>, X/Open specification</A>
-<LI><A HREF="gettext_11.html#IDX1095"><CODE>catgets</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_11.html#IDX1094"><CODE>catopen</CODE>, a <CODE>catgets</CODE> function</A>
+<LI><A HREF="gettext_9.html#IDX946">catalog encoding and <CODE>msgexec</CODE> output</A>
+<LI><A HREF="gettext_11.html#IDX1113"><CODE>catclose</CODE>, a <CODE>catgets</CODE> function</A>
+<LI><A HREF="gettext_11.html#IDX1109"><CODE>catgets</CODE>, X/Open specification</A>
+<LI><A HREF="gettext_11.html#IDX1112"><CODE>catgets</CODE>, a <CODE>catgets</CODE> function</A>
+<LI><A HREF="gettext_11.html#IDX1111"><CODE>catopen</CODE>, a <CODE>catgets</CODE> function</A>
<LI><A HREF="gettext_1.html#IDX17">character encoding</A>
-<LI><A HREF="gettext_11.html#IDX1104">charset conversion at runtime</A>
-<LI><A HREF="gettext_6.html#IDX274">charset of PO files</A>
-<LI><A HREF="gettext_10.html#IDX1015">check format strings</A>
-<LI><A HREF="gettext_9.html#IDX545">checking of translations</A>
-<LI><A HREF="gettext_15.html#IDX1253">clisp</A>
-<LI><A HREF="gettext_15.html#IDX1254">clisp C sources</A>
+<LI><A HREF="gettext_11.html#IDX1121">charset conversion at runtime</A>
+<LI><A HREF="gettext_6.html#IDX280">charset of PO files</A>
+<LI><A HREF="gettext_10.html#IDX1032">check format strings</A>
+<LI><A HREF="gettext_9.html#IDX551">checking of translations</A>
+<LI><A HREF="gettext_15.html#IDX1270">clisp</A>
+<LI><A HREF="gettext_15.html#IDX1271">clisp C sources</A>
<LI><A HREF="gettext_1.html#IDX15">codeset</A>
<LI><A HREF="gettext_3.html#IDX123">comments in PO files</A>
<LI><A HREF="gettext_3.html#IDX58">comments, automatic</A>
<LI><A HREF="gettext_3.html#IDX59">comments, extracted</A>
<LI><A HREF="gettext_3.html#IDX57">comments, translator</A>
-<LI><A HREF="gettext_15.html#IDX1251">Common Lisp</A>
-<LI><A HREF="gettext_9.html#IDX825">compare PO files</A>
-<LI><A HREF="gettext_11.html#IDX1127">comparison of interfaces</A>
-<LI><A HREF="gettext_10.html#IDX1020">compatibility with X/Open <CODE>msgfmt</CODE></A>
-<LI><A HREF="gettext_8.html#IDX532">compendium</A>
-<LI><A HREF="gettext_8.html#IDX534">compendium, creating</A>
-<LI><A HREF="gettext_9.html#IDX550">concatenate PO files</A>
-<LI><A HREF="gettext_8.html#IDX535">concatenating PO files into a compendium</A>
+<LI><A HREF="gettext_15.html#IDX1268">Common Lisp</A>
+<LI><A HREF="gettext_9.html#IDX832">compare PO files</A>
+<LI><A HREF="gettext_11.html#IDX1144">comparison of interfaces</A>
+<LI><A HREF="gettext_10.html#IDX1037">compatibility with X/Open <CODE>msgfmt</CODE></A>
+<LI><A HREF="gettext_8.html#IDX538">compendium</A>
+<LI><A HREF="gettext_8.html#IDX540">compendium, creating</A>
+<LI><A HREF="gettext_9.html#IDX556">concatenate PO files</A>
+<LI><A HREF="gettext_8.html#IDX541">concatenating PO files into a compendium</A>
<LI><A HREF="gettext_4.html#IDX143">concatenation of strings</A>
-<LI><A HREF="gettext_11.html#IDX1107">context</A>
-<LI><A HREF="gettext_5.html#IDX195">context, argument specification in <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_10.html#IDX1090">context, in MO files</A>
+<LI><A HREF="gettext_11.html#IDX1124">context</A>
+<LI><A HREF="gettext_5.html#IDX199">context, argument specification in <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_10.html#IDX1107">context, in MO files</A>
<LI><A HREF="gettext_3.html#IDX118">context, in PO files</A>
<LI><A HREF="gettext_4.html#IDX148">control characters</A>
-<LI><A HREF="gettext_10.html#IDX1041">convert binary message catalog into PO file</A>
-<LI><A HREF="gettext_9.html#IDX598">convert translations to a different encoding</A>
-<LI><A HREF="gettext_13.html#IDX1144">converting a package to use <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_18.html#IDX1293">country codes</A>
-<LI><A HREF="gettext_6.html#IDX247">create new PO file</A>
-<LI><A HREF="gettext_6.html#IDX244">creating a new PO file</A>
-<LI><A HREF="gettext_8.html#IDX533">creating compendia</A>
+<LI><A HREF="gettext_10.html#IDX1058">convert binary message catalog into PO file</A>
+<LI><A HREF="gettext_9.html#IDX604">convert translations to a different encoding</A>
+<LI><A HREF="gettext_13.html#IDX1161">converting a package to use <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_18.html#IDX1311">country codes</A>
+<LI><A HREF="gettext_6.html#IDX253">create new PO file</A>
+<LI><A HREF="gettext_6.html#IDX250">creating a new PO file</A>
+<LI><A HREF="gettext_8.html#IDX539">creating compendia</A>
<LI><A HREF="gettext_1.html#IDX19">currency symbols</A>
</DIR>
<H2><A NAME="cindex_d">d</A></H2>
<DIR>
<LI><A HREF="gettext_1.html#IDX21">date format</A>
-<LI><A HREF="gettext_11.html#IDX1120">dcngettext</A>
-<LI><A HREF="gettext_11.html#IDX1113">dcpgettext</A>
-<LI><A HREF="gettext_11.html#IDX1116">dcpgettext_expr</A>
-<LI><A HREF="gettext_5.html#IDX209">debugging messages marked as format strings</A>
-<LI><A HREF="gettext_10.html#IDX985">Desktop Entry mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_9.html#IDX543">dialect</A>
-<LI><A HREF="gettext_13.html#IDX1173">disabling NLS</A>
-<LI><A HREF="gettext_13.html#IDX1194">distribution tarball</A>
-<LI><A HREF="gettext_11.html#IDX1119">dngettext</A>
-<LI><A HREF="gettext_15.html#IDX1237">dollar substitution</A>
-<LI><A HREF="gettext_11.html#IDX1101">domain ambiguities</A>
-<LI><A HREF="gettext_11.html#IDX1112">dpgettext</A>
-<LI><A HREF="gettext_11.html#IDX1115">dpgettext_expr</A>
-<LI><A HREF="gettext_9.html#IDX546">duplicate elimination</A>
-<LI><A HREF="gettext_9.html#IDX743">duplicate removal</A>
+<LI><A HREF="gettext_11.html#IDX1137">dcngettext</A>
+<LI><A HREF="gettext_11.html#IDX1130">dcpgettext</A>
+<LI><A HREF="gettext_11.html#IDX1133">dcpgettext_expr</A>
+<LI><A HREF="gettext_5.html#IDX213">debugging messages marked as format strings</A>
+<LI><A HREF="gettext_10.html#IDX993">Desktop Entry mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_9.html#IDX549">dialect</A>
+<LI><A HREF="gettext_13.html#IDX1190">disabling NLS</A>
+<LI><A HREF="gettext_13.html#IDX1211">distribution tarball</A>
+<LI><A HREF="gettext_11.html#IDX1136">dngettext</A>
+<LI><A HREF="gettext_15.html#IDX1254">dollar substitution</A>
+<LI><A HREF="gettext_11.html#IDX1118">domain ambiguities</A>
+<LI><A HREF="gettext_11.html#IDX1129">dpgettext</A>
+<LI><A HREF="gettext_11.html#IDX1132">dpgettext_expr</A>
+<LI><A HREF="gettext_9.html#IDX552">duplicate elimination</A>
+<LI><A HREF="gettext_9.html#IDX750">duplicate removal</A>
</DIR>
<H2><A NAME="cindex_e">e</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX471">editing comments in PO files</A>
-<LI><A HREF="gettext_8.html#IDX334">Editing PO Files</A>
-<LI><A HREF="gettext_8.html#IDX448">editing translations</A>
-<LI><A HREF="gettext_15.html#IDX1255">Emacs Lisp</A>
-<LI><A HREF="gettext_8.html#IDX337">Emacs PO Mode</A>
+<LI><A HREF="gettext_8.html#IDX477">editing comments in PO files</A>
+<LI><A HREF="gettext_8.html#IDX340">Editing PO Files</A>
+<LI><A HREF="gettext_8.html#IDX454">editing translations</A>
+<LI><A HREF="gettext_15.html#IDX1272">Emacs Lisp</A>
+<LI><A HREF="gettext_8.html#IDX343">Emacs PO Mode</A>
<LI><A HREF="gettext_1.html#IDX16">encoding</A>
-<LI><A HREF="gettext_9.html#IDX542">encoding conversion</A>
-<LI><A HREF="gettext_11.html#IDX1105">encoding conversion at runtime</A>
-<LI><A HREF="gettext_6.html#IDX278">encoding for your language</A>
-<LI><A HREF="gettext_6.html#IDX276">encoding list</A>
-<LI><A HREF="gettext_6.html#IDX273">encoding of PO files</A>
-<LI><A HREF="gettext_15.html#IDX1238">environment variables</A>
-<LI><A HREF="gettext_15.html#IDX1235"><CODE>envsubst</CODE> program, usage</A>
-<LI><A HREF="gettext_15.html#IDX1245"><CODE>eval_gettext</CODE> function, usage</A>
-<LI><A HREF="gettext_15.html#IDX1247"><CODE>eval_ngettext</CODE> function, usage</A>
+<LI><A HREF="gettext_9.html#IDX548">encoding conversion</A>
+<LI><A HREF="gettext_11.html#IDX1122">encoding conversion at runtime</A>
+<LI><A HREF="gettext_6.html#IDX284">encoding for your language</A>
+<LI><A HREF="gettext_6.html#IDX282">encoding list</A>
+<LI><A HREF="gettext_6.html#IDX279">encoding of PO files</A>
+<LI><A HREF="gettext_15.html#IDX1255">environment variables</A>
+<LI><A HREF="gettext_15.html#IDX1252"><CODE>envsubst</CODE> program, usage</A>
+<LI><A HREF="gettext_15.html#IDX1262"><CODE>eval_gettext</CODE> function, usage</A>
+<LI><A HREF="gettext_15.html#IDX1264"><CODE>eval_ngettext</CODE> function, usage</A>
<LI><A HREF="gettext_1.html#IDX39">evolution of packages</A>
-<LI><A HREF="gettext_8.html#IDX537">extracting parts of a PO file into a compendium</A>
+<LI><A HREF="gettext_8.html#IDX543">extracting parts of a PO file into a compendium</A>
</DIR>
<H2><A NAME="cindex_f">f</A></H2>
<DIR>
-<LI><A HREF="gettext_19.html#IDX1300">FDL, GNU Free Documentation License</A>
-<LI><A HREF="gettext_10.html#IDX1087">file format, <TT>&lsquo;.mo&rsquo;</TT></A>
+<LI><A HREF="gettext_19.html#IDX1318">FDL, GNU Free Documentation License</A>
+<LI><A HREF="gettext_10.html#IDX1104">file format, <TT>&lsquo;.mo&rsquo;</TT></A>
<LI><A HREF="gettext_3.html#IDX56">file format, <TT>&lsquo;.po&rsquo;</TT></A>
<LI><A HREF="gettext_1.html#IDX29">files, <TT>&lsquo;.po&rsquo;</TT> and <TT>&lsquo;.mo&rsquo;</TT></A>
<LI><A HREF="gettext_1.html#IDX38">files, <TT>&lsquo;.pot&rsquo;</TT></A>
-<LI><A HREF="gettext_9.html#IDX843">filter messages according to attributes</A>
-<LI><A HREF="gettext_9.html#IDX783">find common messages</A>
-<LI><A HREF="gettext_10.html#IDX1027">force use of fuzzy entries</A>
+<LI><A HREF="gettext_9.html#IDX850">filter messages according to attributes</A>
+<LI><A HREF="gettext_9.html#IDX790">find common messages</A>
+<LI><A HREF="gettext_10.html#IDX1044">force use of fuzzy entries</A>
<LI><A HREF="gettext_4.html#IDX160">format strings</A>
-<LI><A HREF="gettext_15.html#IDX1267">Free Pascal</A>
-<LI><A HREF="gettext_5.html#IDX197">function attribute, __format__</A>
-<LI><A HREF="gettext_5.html#IDX198">function attribute, __format_arg__</A>
-<LI><A HREF="gettext_8.html#IDX408">fuzzy entries</A>
+<LI><A HREF="gettext_15.html#IDX1284">Free Pascal</A>
+<LI><A HREF="gettext_5.html#IDX201">function attribute, __format__</A>
+<LI><A HREF="gettext_5.html#IDX202">function attribute, __format_arg__</A>
+<LI><A HREF="gettext_8.html#IDX414">fuzzy entries</A>
</DIR>
<H2><A NAME="cindex_g">g</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1265">gawk</A>
-<LI><A HREF="gettext_15.html#IDX1286">GCC-source</A>
-<LI><A HREF="gettext_10.html#IDX969">generate binary message catalog from PO file</A>
-<LI><A HREF="gettext_9.html#IDX895">generate translation catalog in English</A>
-<LI><A HREF="gettext_13.html#IDX1159"><CODE>gettext</CODE> files</A>
-<LI><A HREF="gettext_8.html#IDX339"><CODE>gettext</CODE> installation</A>
-<LI><A HREF="gettext_11.html#IDX1099"><CODE>gettext</CODE> interface</A>
-<LI><A HREF="gettext_15.html#IDX1212"><CODE>gettext</CODE> program, usage</A>
-<LI><A HREF="gettext_11.html#IDX1098"><CODE>gettext</CODE>, a programmer's view</A>
-<LI><A HREF="gettext_11.html#IDX1126"><CODE>gettext</CODE> vs <CODE>catgets</CODE></A>
-<LI><A HREF="gettext_13.html#IDX1148"><CODE>gettextize</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX336">GNOME PO file editor</A>
-<LI><A HREF="gettext_19.html#IDX1296">GPL, GNU General Public License</A>
-<LI><A HREF="gettext_11.html#IDX1108">GUI programs</A>
-<LI><A HREF="gettext_15.html#IDX1258">guile</A>
+<LI><A HREF="gettext_15.html#IDX1282">gawk</A>
+<LI><A HREF="gettext_15.html#IDX1303">GCC-source</A>
+<LI><A HREF="gettext_10.html#IDX977">generate binary message catalog from PO file</A>
+<LI><A HREF="gettext_9.html#IDX902">generate translation catalog in English</A>
+<LI><A HREF="gettext_13.html#IDX1176"><CODE>gettext</CODE> files</A>
+<LI><A HREF="gettext_8.html#IDX345"><CODE>gettext</CODE> installation</A>
+<LI><A HREF="gettext_11.html#IDX1116"><CODE>gettext</CODE> interface</A>
+<LI><A HREF="gettext_15.html#IDX1229"><CODE>gettext</CODE> program, usage</A>
+<LI><A HREF="gettext_11.html#IDX1115"><CODE>gettext</CODE>, a programmer's view</A>
+<LI><A HREF="gettext_11.html#IDX1143"><CODE>gettext</CODE> vs <CODE>catgets</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1165"><CODE>gettextize</CODE> program, usage</A>
+<LI><A HREF="gettext_8.html#IDX342">GNOME PO file editor</A>
+<LI><A HREF="gettext_19.html#IDX1314">GPL, GNU General Public License</A>
+<LI><A HREF="gettext_11.html#IDX1125">GUI programs</A>
+<LI><A HREF="gettext_15.html#IDX1275">guile</A>
</DIR>
<H2><A NAME="cindex_h">h</A></H2>
<DIR>
-<LI><A HREF="gettext_10.html#IDX1089">hash table, inside MO files</A>
+<LI><A HREF="gettext_10.html#IDX1106">hash table, inside MO files</A>
<LI><A HREF="gettext_1.html#IDX2">he, she, and they</A>
-<LI><A HREF="gettext_6.html#IDX271">header entry of a PO file</A>
+<LI><A HREF="gettext_6.html#IDX277">header entry of a PO file</A>
<LI><A HREF="gettext_4.html#IDX141">help option</A>
-<LI><A HREF="gettext_16.html#IDX1288">history of GNU <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_16.html#IDX1306">history of GNU <CODE>gettext</CODE></A>
</DIR>
<H2><A NAME="cindex_i">i</A></H2>
<DIR>
<LI><A HREF="gettext_1.html#IDX6">i18n</A>
-<LI><A HREF="gettext_8.html#IDX397">importing PO files</A>
-<LI><A HREF="gettext_1.html#IDX34">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_4.html#IDX125">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_11.html#IDX1128">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_13.html#IDX1174">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>
+<LI><A HREF="gettext_8.html#IDX403">importing PO files</A>
+<LI><A HREF="gettext_1.html#IDX34">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_4.html#IDX125">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_11.html#IDX1145">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_13.html#IDX1191">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>
<LI><A HREF="gettext_4.html#IDX126">initialization</A>
-<LI><A HREF="gettext_6.html#IDX248">initialize new PO file</A>
-<LI><A HREF="gettext_8.html#IDX538">initialize translations from a compendium</A>
-<LI><A HREF="gettext_8.html#IDX338">installing <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_11.html#IDX1093">interface to <CODE>catgets</CODE></A>
+<LI><A HREF="gettext_6.html#IDX254">initialize new PO file</A>
+<LI><A HREF="gettext_8.html#IDX544">initialize translations from a compendium</A>
+<LI><A HREF="gettext_8.html#IDX344">installing <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_11.html#IDX1110">interface to <CODE>catgets</CODE></A>
<LI><A HREF="gettext_1.html#IDX8">internationalization</A>
<LI><A HREF="gettext_4.html#IDX144"><CODE>inttypes.h</CODE></A>
-<LI><A HREF="gettext_18.html#IDX1294">ISO 3166</A>
-<LI><A HREF="gettext_17.html#IDX1292">ISO 639</A>
+<LI><A HREF="gettext_18.html#IDX1312">ISO 3166</A>
+<LI><A HREF="gettext_17.html#IDX1310">ISO 639</A>
</DIR>
<H2><A NAME="cindex_j">j</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1260">Java</A>
-<LI><A HREF="gettext_10.html#IDX974">Java mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX1044">Java mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_15.html#IDX1277">Java</A>
+<LI><A HREF="gettext_10.html#IDX982">Java mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX1061">Java mode, and <CODE>msgunfmt</CODE> program</A>
<LI><A HREF="gettext_4.html#IDX145">Java, string concatenation</A>
</DIR>
<H2><A NAME="cindex_k">k</A></H2>
<DIR>
-<LI><A HREF="gettext_5.html#IDX205">KDE format strings</A>
-<LI><A HREF="gettext_8.html#IDX335">KDE PO file editor</A>
-<LI><A HREF="gettext_10.html#IDX1022">keyboard accelerator checking</A>
+<LI><A HREF="gettext_5.html#IDX209">KDE format strings</A>
+<LI><A HREF="gettext_8.html#IDX341">KDE PO file editor</A>
+<LI><A HREF="gettext_10.html#IDX1039">keyboard accelerator checking</A>
</DIR>
<H2><A NAME="cindex_l">l</A></H2>
<DIR>
<LI><A HREF="gettext_1.html#IDX7">l10n</A>
-<LI><A HREF="gettext_17.html#IDX1291">language codes</A>
+<LI><A HREF="gettext_17.html#IDX1309">language codes</A>
<LI><A HREF="gettext_2.html#IDX42">language selection</A>
-<LI><A HREF="gettext_11.html#IDX1130">language selection at runtime</A>
-<LI><A HREF="gettext_11.html#IDX1102">large package</A>
-<LI><A HREF="gettext_19.html#IDX1298">LGPL, GNU Lesser General Public License</A>
-<LI><A HREF="gettext_13.html#IDX1184"><CODE>libiconv</CODE> library</A>
-<LI><A HREF="gettext_15.html#IDX1263"><CODE>libintl</CODE> for C#</A>
-<LI><A HREF="gettext_15.html#IDX1261"><CODE>libintl</CODE> for Java</A>
-<LI><A HREF="gettext_13.html#IDX1177"><CODE>libintl</CODE> library</A>
-<LI><A HREF="gettext_15.html#IDX1256"><CODE>librep</CODE> Lisp</A>
-<LI><A HREF="gettext_19.html#IDX1301">License, GNU FDL</A>
-<LI><A HREF="gettext_19.html#IDX1297">License, GNU GPL</A>
-<LI><A HREF="gettext_19.html#IDX1299">License, GNU LGPL</A>
-<LI><A HREF="gettext_19.html#IDX1295">Licenses</A>
+<LI><A HREF="gettext_11.html#IDX1147">language selection at runtime</A>
+<LI><A HREF="gettext_11.html#IDX1119">large package</A>
+<LI><A HREF="gettext_19.html#IDX1316">LGPL, GNU Lesser General Public License</A>
+<LI><A HREF="gettext_13.html#IDX1201"><CODE>libiconv</CODE> library</A>
+<LI><A HREF="gettext_15.html#IDX1280"><CODE>libintl</CODE> for C#</A>
+<LI><A HREF="gettext_15.html#IDX1278"><CODE>libintl</CODE> for Java</A>
+<LI><A HREF="gettext_13.html#IDX1194"><CODE>libintl</CODE> library</A>
+<LI><A HREF="gettext_15.html#IDX1273"><CODE>librep</CODE> Lisp</A>
+<LI><A HREF="gettext_19.html#IDX1319">License, GNU FDL</A>
+<LI><A HREF="gettext_19.html#IDX1315">License, GNU GPL</A>
+<LI><A HREF="gettext_19.html#IDX1317">License, GNU LGPL</A>
+<LI><A HREF="gettext_19.html#IDX1313">Licenses</A>
<LI><A HREF="gettext_1.html#IDX35">link with <TT>&lsquo;libintl&rsquo;</TT></A>
-<LI><A HREF="gettext_1.html#IDX28">Linux</A>, <A HREF="gettext_1.html#IDX36">Linux</A>, <A HREF="gettext_6.html#IDX277">Linux</A>
-<LI><A HREF="gettext_15.html#IDX1252">Lisp</A>
-<LI><A HREF="gettext_6.html#IDX272">list of translation teams, where to find</A>
+<LI><A HREF="gettext_1.html#IDX28">Linux</A>, <A HREF="gettext_1.html#IDX36">Linux</A>, <A HREF="gettext_6.html#IDX283">Linux</A>
+<LI><A HREF="gettext_15.html#IDX1269">Lisp</A>
+<LI><A HREF="gettext_6.html#IDX278">list of translation teams, where to find</A>
<LI><A HREF="gettext_1.html#IDX14">locale categories</A>, <A HREF="gettext_1.html#IDX27">locale categories</A>
<LI><A HREF="gettext_4.html#IDX127">locale category, LC_ALL</A>
<LI><A HREF="gettext_4.html#IDX130">locale category, LC_COLLATE</A>
@@ -304,198 +304,203 @@ Jump to:
<LI><A HREF="gettext_1.html#IDX24">locale category, LC_NUMERIC</A>, <A HREF="gettext_4.html#IDX132">locale category, LC_NUMERIC</A>
<LI><A HREF="gettext_4.html#IDX135">locale category, LC_RESPONSES</A>
<LI><A HREF="gettext_1.html#IDX22">locale category, LC_TIME</A>, <A HREF="gettext_4.html#IDX133">locale category, LC_TIME</A>
-<LI><A HREF="gettext_6.html#IDX275"><CODE>locale</CODE> program</A>
+<LI><A HREF="gettext_6.html#IDX281"><CODE>locale</CODE> program</A>
<LI><A HREF="gettext_1.html#IDX9">localization</A>
-<LI><A HREF="gettext_15.html#IDX1213">lookup message translation</A>, <A HREF="gettext_15.html#IDX1246">lookup message translation</A>
-<LI><A HREF="gettext_15.html#IDX1225">lookup plural message translation</A>, <A HREF="gettext_15.html#IDX1248">lookup plural message translation</A>
+<LI><A HREF="gettext_15.html#IDX1230">lookup message translation</A>, <A HREF="gettext_15.html#IDX1263">lookup message translation</A>
+<LI><A HREF="gettext_15.html#IDX1242">lookup plural message translation</A>, <A HREF="gettext_15.html#IDX1265">lookup plural message translation</A>
</DIR>
<H2><A NAME="cindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_10.html#IDX1088">magic signature of MO files</A>
-<LI><A HREF="gettext_9.html#IDX540">manipulating PO files</A>
-<LI><A HREF="gettext_15.html#IDX1275">marking Perl sources</A>
+<LI><A HREF="gettext_10.html#IDX1105">magic signature of MO files</A>
+<LI><A HREF="gettext_9.html#IDX546">manipulating PO files</A>
+<LI><A HREF="gettext_15.html#IDX1292">marking Perl sources</A>
<LI><A HREF="gettext_4.html#IDX163">marking string initializers</A>
<LI><A HREF="gettext_4.html#IDX149">marking strings that require translation</A>
<LI><A HREF="gettext_4.html#IDX136">marking strings, preparations</A>
<LI><A HREF="gettext_1.html#IDX33">marking translatable strings</A>
<LI><A HREF="gettext_4.html#IDX147">markup</A>
-<LI><A HREF="gettext_11.html#IDX1110">menu entries</A>
-<LI><A HREF="gettext_10.html#IDX1023">menu, keyboard accelerator support</A>
-<LI><A HREF="gettext_9.html#IDX551">merge PO files</A>
-<LI><A HREF="gettext_9.html#IDX541">merging two PO files</A>
-<LI><A HREF="gettext_11.html#IDX1103">message catalog files location</A>
+<LI><A HREF="gettext_11.html#IDX1127">menu entries</A>
+<LI><A HREF="gettext_10.html#IDX1040">menu, keyboard accelerator support</A>
+<LI><A HREF="gettext_9.html#IDX557">merge PO files</A>
+<LI><A HREF="gettext_9.html#IDX547">merging two PO files</A>
+<LI><A HREF="gettext_11.html#IDX1120">message catalog files location</A>
<LI><A HREF="gettext_1.html#IDX25">messages</A>
-<LI><A HREF="gettext_13.html#IDX1145">migration from earlier versions of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_10.html#IDX1024">mnemonics of menu entries</A>
-<LI><A HREF="gettext_10.html#IDX1086">MO file's format</A>
-<LI><A HREF="gettext_9.html#IDX855">modify message attributes</A>
-<LI><A HREF="gettext_9.html#IDX842"><CODE>msgattrib</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX549"><CODE>msgcat</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX824"><CODE>msgcmp</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX782"><CODE>msgcomm</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX597"><CODE>msgconv</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX894"><CODE>msgen</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX927"><CODE>msgexec</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX702"><CODE>msgfilter</CODE> filter and catalog encoding</A>
-<LI><A HREF="gettext_9.html#IDX686"><CODE>msgfilter</CODE> program, usage</A>
-<LI><A HREF="gettext_10.html#IDX968"><CODE>msgfmt</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX631"><CODE>msggrep</CODE> program, usage</A>
-<LI><A HREF="gettext_6.html#IDX246"><CODE>msginit</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX283"><CODE>msgmerge</CODE> program, usage</A>
-<LI><A HREF="gettext_10.html#IDX1040"><CODE>msgunfmt</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX741"><CODE>msguniq</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX398">multi-line strings</A>
+<LI><A HREF="gettext_13.html#IDX1162">migration from earlier versions of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_10.html#IDX1041">mnemonics of menu entries</A>
+<LI><A HREF="gettext_10.html#IDX1103">MO file's format</A>
+<LI><A HREF="gettext_9.html#IDX862">modify message attributes</A>
+<LI><A HREF="gettext_9.html#IDX849"><CODE>msgattrib</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX555"><CODE>msgcat</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX831"><CODE>msgcmp</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX789"><CODE>msgcomm</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX603"><CODE>msgconv</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX901"><CODE>msgen</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX934"><CODE>msgexec</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX709"><CODE>msgfilter</CODE> filter and catalog encoding</A>
+<LI><A HREF="gettext_9.html#IDX692"><CODE>msgfilter</CODE> program, usage</A>
+<LI><A HREF="gettext_10.html#IDX976"><CODE>msgfmt</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX637"><CODE>msggrep</CODE> program, usage</A>
+<LI><A HREF="gettext_6.html#IDX252"><CODE>msginit</CODE> program, usage</A>
+<LI><A HREF="gettext_7.html#IDX289"><CODE>msgmerge</CODE> program, usage</A>
+<LI><A HREF="gettext_10.html#IDX1057"><CODE>msgunfmt</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX748"><CODE>msguniq</CODE> program, usage</A>
+<LI><A HREF="gettext_8.html#IDX404">multi-line strings</A>
</DIR>
<H2><A NAME="cindex_n">n</A></H2>
<DIR>
-<LI><A HREF="gettext_11.html#IDX1129"><CODE>N_</CODE>, a convenience macro</A>
+<LI><A HREF="gettext_11.html#IDX1146"><CODE>N_</CODE>, a convenience macro</A>
<LI><A HREF="gettext_1.html#IDX11">Native Language Support</A>
<LI><A HREF="gettext_1.html#IDX12">Natural Language Support</A>
<LI><A HREF="gettext_3.html#IDX122">newlines in PO files</A>
-<LI><A HREF="gettext_11.html#IDX1118">ngettext</A>
-<LI><A HREF="gettext_15.html#IDX1224"><CODE>ngettext</CODE> program, usage</A>
+<LI><A HREF="gettext_11.html#IDX1135">ngettext</A>
+<LI><A HREF="gettext_15.html#IDX1241"><CODE>ngettext</CODE> program, usage</A>
<LI><A HREF="gettext_1.html#IDX10">NLS</A>
<LI><A HREF="gettext_1.html#IDX23">number format</A>
</DIR>
<H2><A NAME="cindex_o">o</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1268">Object Pascal</A>
-<LI><A HREF="gettext_8.html#IDX435">obsolete entries</A>
-<LI><A HREF="gettext_11.html#IDX1125">optimization of <CODE>gettext</CODE> functions</A>
-<LI><A HREF="gettext_9.html#IDX544">orthography</A>
-<LI><A HREF="gettext_15.html#IDX1202">outdigits</A>
+<LI><A HREF="gettext_15.html#IDX1285">Object Pascal</A>
+<LI><A HREF="gettext_8.html#IDX441">obsolete entries</A>
+<LI><A HREF="gettext_11.html#IDX1142">optimization of <CODE>gettext</CODE> functions</A>
+<LI><A HREF="gettext_9.html#IDX550">orthography</A>
+<LI><A HREF="gettext_15.html#IDX1219">outdigits</A>
<LI><A HREF="gettext_5.html#IDX177">output to stdout, <CODE>xgettext</CODE></A>
<LI><A HREF="gettext_1.html#IDX30">overview of <CODE>gettext</CODE></A>
</DIR>
<H2><A NAME="cindex_p">p</A></H2>
<DIR>
-<LI><A HREF="gettext_13.html#IDX1166">package and version declaration in <TT>&lsquo;configure.ac&rsquo;</TT></A>
-<LI><A HREF="gettext_14.html#IDX1197">package build and installation options</A>
-<LI><A HREF="gettext_14.html#IDX1196">package distributor's view of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_14.html#IDX1195">package installer's view of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_13.html#IDX1143">package maintainer's view of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1183">package and version declaration in <TT>&lsquo;configure.ac&rsquo;</TT></A>
+<LI><A HREF="gettext_14.html#IDX1214">package build and installation options</A>
+<LI><A HREF="gettext_14.html#IDX1213">package distributor's view of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_14.html#IDX1212">package installer's view of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1160">package maintainer's view of <CODE>gettext</CODE></A>
<LI><A HREF="gettext_4.html#IDX140">paragraphs</A>
-<LI><A HREF="gettext_15.html#IDX1266">Pascal</A>
-<LI><A HREF="gettext_15.html#IDX1274">Perl</A>
-<LI><A HREF="gettext_15.html#IDX1276">Perl default keywords</A>
-<LI><A HREF="gettext_15.html#IDX1279">Perl invalid string interpolation</A>
-<LI><A HREF="gettext_15.html#IDX1282">Perl long lines</A>
-<LI><A HREF="gettext_15.html#IDX1281">Perl parentheses</A>
-<LI><A HREF="gettext_15.html#IDX1283">Perl pitfalls</A>
-<LI><A HREF="gettext_15.html#IDX1278">Perl quote-like expressions</A>
-<LI><A HREF="gettext_15.html#IDX1277">Perl special keywords for hash-lookups</A>
-<LI><A HREF="gettext_15.html#IDX1280">Perl valid string interpolation</A>
-<LI><A HREF="gettext_11.html#IDX1111">pgettext</A>
-<LI><A HREF="gettext_11.html#IDX1114">pgettext_expr</A>
-<LI><A HREF="gettext_15.html#IDX1284">PHP</A>
-<LI><A HREF="gettext_15.html#IDX1285">Pike</A>
-<LI><A HREF="gettext_11.html#IDX1124">plural form formulas</A>
-<LI><A HREF="gettext_11.html#IDX1117">plural forms</A>
-<LI><A HREF="gettext_10.html#IDX1091">plural forms, in MO files</A>
+<LI><A HREF="gettext_15.html#IDX1283">Pascal</A>
+<LI><A HREF="gettext_15.html#IDX1291">Perl</A>
+<LI><A HREF="gettext_15.html#IDX1293">Perl default keywords</A>
+<LI><A HREF="gettext_15.html#IDX1296">Perl invalid string interpolation</A>
+<LI><A HREF="gettext_15.html#IDX1299">Perl long lines</A>
+<LI><A HREF="gettext_15.html#IDX1298">Perl parentheses</A>
+<LI><A HREF="gettext_15.html#IDX1300">Perl pitfalls</A>
+<LI><A HREF="gettext_15.html#IDX1295">Perl quote-like expressions</A>
+<LI><A HREF="gettext_15.html#IDX1294">Perl special keywords for hash-lookups</A>
+<LI><A HREF="gettext_15.html#IDX1297">Perl valid string interpolation</A>
+<LI><A HREF="gettext_11.html#IDX1128">pgettext</A>
+<LI><A HREF="gettext_11.html#IDX1131">pgettext_expr</A>
+<LI><A HREF="gettext_15.html#IDX1301">PHP</A>
+<LI><A HREF="gettext_15.html#IDX1302">Pike</A>
+<LI><A HREF="gettext_11.html#IDX1141">plural form formulas</A>
+<LI><A HREF="gettext_11.html#IDX1134">plural forms</A>
+<LI><A HREF="gettext_10.html#IDX1108">plural forms, in MO files</A>
<LI><A HREF="gettext_3.html#IDX120">plural forms, in PO files</A>
-<LI><A HREF="gettext_12.html#IDX1141">plural forms, translating</A>
+<LI><A HREF="gettext_12.html#IDX1158">plural forms, translating</A>
<LI><A HREF="gettext_3.html#IDX55">PO files' format</A>
-<LI><A HREF="gettext_8.html#IDX342">PO mode (Emacs) commands</A>
+<LI><A HREF="gettext_8.html#IDX348">PO mode (Emacs) commands</A>
<LI><A HREF="gettext_5.html#IDX164">PO template file</A>
-<LI><A HREF="gettext_9.html#IDX959">po_file_domains</A>
-<LI><A HREF="gettext_9.html#IDX958">po_file_free</A>
-<LI><A HREF="gettext_9.html#IDX957">po_file_read</A>
-<LI><A HREF="gettext_9.html#IDX960">po_message_iterator</A>
-<LI><A HREF="gettext_9.html#IDX961">po_message_iterator_free</A>
-<LI><A HREF="gettext_9.html#IDX963">po_message_msgid</A>
-<LI><A HREF="gettext_9.html#IDX964">po_message_msgid_plural</A>
-<LI><A HREF="gettext_9.html#IDX965">po_message_msgstr</A>
-<LI><A HREF="gettext_9.html#IDX966">po_message_msgstr_plural</A>
-<LI><A HREF="gettext_9.html#IDX962">po_next_message</A>
-<LI><A HREF="gettext_9.html#IDX703">portability problems with <CODE>sed</CODE></A>
+<LI><A HREF="gettext_9.html#IDX967">po_file_domains</A>
+<LI><A HREF="gettext_9.html#IDX966">po_file_free</A>
+<LI><A HREF="gettext_9.html#IDX965">po_file_read</A>
+<LI><A HREF="gettext_9.html#IDX968">po_message_iterator</A>
+<LI><A HREF="gettext_9.html#IDX969">po_message_iterator_free</A>
+<LI><A HREF="gettext_9.html#IDX971">po_message_msgid</A>
+<LI><A HREF="gettext_9.html#IDX972">po_message_msgid_plural</A>
+<LI><A HREF="gettext_9.html#IDX973">po_message_msgstr</A>
+<LI><A HREF="gettext_9.html#IDX974">po_message_msgstr_plural</A>
+<LI><A HREF="gettext_9.html#IDX970">po_next_message</A>
+<LI><A HREF="gettext_9.html#IDX710">portability problems with <CODE>sed</CODE></A>
<LI><A HREF="gettext_4.html#IDX124">preparing programs for translation</A>
-<LI><A HREF="gettext_15.html#IDX1210">preparing shell scripts for translation</A>
-<LI><A HREF="gettext_11.html#IDX1097">problems with <CODE>catgets</CODE> interface</A>
-<LI><A HREF="gettext_15.html#IDX1200">programming languages</A>
-<LI><A HREF="gettext_15.html#IDX1250">Python</A>
+<LI><A HREF="gettext_15.html#IDX1305">preparing rules for XML translation</A>
+<LI><A HREF="gettext_15.html#IDX1227">preparing shell scripts for translation</A>
+<LI><A HREF="gettext_11.html#IDX1114">problems with <CODE>catgets</CODE> interface</A>
+<LI><A HREF="gettext_15.html#IDX1217">programming languages</A>
+<LI><A HREF="gettext_15.html#IDX1267">Python</A>
</DIR>
<H2><A NAME="cindex_q">q</A></H2>
<DIR>
-<LI><A HREF="gettext_5.html#IDX203">Qt format strings</A>
-<LI><A HREF="gettext_10.html#IDX983">Qt mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_6.html#IDX280">quotation marks</A>, <A HREF="gettext_13.html#IDX1164">quotation marks</A>
-<LI><A HREF="gettext_6.html#IDX279">quote characters, use in PO files</A>
+<LI><A HREF="gettext_5.html#IDX207">Qt format strings</A>
+<LI><A HREF="gettext_10.html#IDX991">Qt mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_6.html#IDX286">quotation marks</A>, <A HREF="gettext_13.html#IDX1181">quotation marks</A>
+<LI><A HREF="gettext_6.html#IDX285">quote characters, use in PO files</A>
</DIR>
<H2><A NAME="cindex_r">r</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX712"><CODE>recode-sr-latin</CODE> program</A>
-<LI><A HREF="gettext_16.html#IDX1289">related reading</A>
-<LI><A HREF="gettext_13.html#IDX1193">release</A>
-<LI><A HREF="gettext_15.html#IDX1287">RST</A>
+<LI><A HREF="gettext_9.html#IDX719"><CODE>recode-sr-latin</CODE> program</A>
+<LI><A HREF="gettext_16.html#IDX1307">related reading</A>
+<LI><A HREF="gettext_13.html#IDX1210">release</A>
+<LI><A HREF="gettext_15.html#IDX1304">RST</A>
</DIR>
<H2><A NAME="cindex_s">s</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1257">Scheme</A>
-<LI><A HREF="gettext_15.html#IDX1201">scripting languages</A>
-<LI><A HREF="gettext_9.html#IDX632">search messages in a catalog</A>
+<LI><A HREF="gettext_15.html#IDX1274">Scheme</A>
+<LI><A HREF="gettext_15.html#IDX1218">scripting languages</A>
+<LI><A HREF="gettext_9.html#IDX638">search messages in a catalog</A>
<LI><A HREF="gettext_2.html#IDX41">selecting message language</A>
+<LI><A HREF="gettext_5.html#IDX193">sentence end markers, <CODE>xgettext</CODE></A>
<LI><A HREF="gettext_4.html#IDX139">sentences</A>
-<LI><A HREF="gettext_14.html#IDX1198">setting up <CODE>gettext</CODE> at build time</A>
+<LI><A HREF="gettext_14.html#IDX1215">setting up <CODE>gettext</CODE> at build time</A>
<LI><A HREF="gettext_2.html#IDX40">setting up <CODE>gettext</CODE> at run time</A>
-<LI><A HREF="gettext_11.html#IDX1100">several domains</A>
+<LI><A HREF="gettext_11.html#IDX1117">several domains</A>
<LI><A HREF="gettext_1.html#IDX1">sex</A>
<LI><A HREF="gettext_1.html#IDX3">she, he, and they</A>
-<LI><A HREF="gettext_15.html#IDX1236">shell format string</A>
-<LI><A HREF="gettext_15.html#IDX1205">shell scripts</A>
-<LI><A HREF="gettext_15.html#IDX1259">Smalltalk</A>
-<LI><A HREF="gettext_9.html#IDX589">sorting <CODE>msgcat</CODE> output</A>
-<LI><A HREF="gettext_7.html#IDX322">sorting <CODE>msgmerge</CODE> output</A>
-<LI><A HREF="gettext_10.html#IDX1079">sorting <CODE>msgunfmt</CODE> output</A>
-<LI><A HREF="gettext_5.html#IDX226">sorting output of <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_11.html#IDX1121">specifying plural form in a PO file</A>
-<LI><A HREF="gettext_9.html#IDX558">standard output, and <CODE>msgcat</CODE></A>
-<LI><A HREF="gettext_7.html#IDX292">standard output, and <CODE>msgmerge</CODE> program</A>
+<LI><A HREF="gettext_15.html#IDX1253">shell format string</A>
+<LI><A HREF="gettext_15.html#IDX1222">shell scripts</A>
+<LI><A HREF="gettext_15.html#IDX1276">Smalltalk</A>
+<LI><A HREF="gettext_9.html#IDX595">sorting <CODE>msgcat</CODE> output</A>
+<LI><A HREF="gettext_7.html#IDX328">sorting <CODE>msgmerge</CODE> output</A>
+<LI><A HREF="gettext_10.html#IDX1096">sorting <CODE>msgunfmt</CODE> output</A>
+<LI><A HREF="gettext_5.html#IDX232">sorting output of <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_11.html#IDX1138">specifying plural form in a PO file</A>
+<LI><A HREF="gettext_9.html#IDX564">standard output, and <CODE>msgcat</CODE></A>
+<LI><A HREF="gettext_7.html#IDX298">standard output, and <CODE>msgmerge</CODE> program</A>
<LI><A HREF="gettext_4.html#IDX142">string concatenation</A>
-<LI><A HREF="gettext_8.html#IDX394">string normalization in entries</A>
+<LI><A HREF="gettext_8.html#IDX400">string normalization in entries</A>
<LI><A HREF="gettext_4.html#IDX137">style</A>
+<LI><A HREF="gettext_10.html#IDX1022">supported languages, <CODE>msgfmt</CODE></A>
<LI><A HREF="gettext_5.html#IDX180">supported languages, <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_5.html#IDX191">supported syntax checks, <CODE>xgettext</CODE></A>
</DIR>
<H2><A NAME="cindex_t">t</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1272">Tcl</A>
-<LI><A HREF="gettext_10.html#IDX981">Tcl mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX1050">Tcl mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_15.html#IDX1289">Tcl</A>
+<LI><A HREF="gettext_10.html#IDX989">Tcl mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX1067">Tcl mode, and <CODE>msgunfmt</CODE> program</A>
<LI><A HREF="gettext_1.html#IDX37">template PO file</A>
-<LI><A HREF="gettext_5.html#IDX230">testing <TT>&lsquo;.po&rsquo;</TT> files for equivalence</A>
-<LI><A HREF="gettext_15.html#IDX1273">Tk's scripting language</A>
-<LI><A HREF="gettext_8.html#IDX399">translated entries</A>
-<LI><A HREF="gettext_11.html#IDX1109">translating menu entries</A>
+<LI><A HREF="gettext_5.html#IDX236">testing <TT>&lsquo;.po&rsquo;</TT> files for equivalence</A>
+<LI><A HREF="gettext_15.html#IDX1290">Tk's scripting language</A>
+<LI><A HREF="gettext_8.html#IDX405">translated entries</A>
+<LI><A HREF="gettext_11.html#IDX1126">translating menu entries</A>
<LI><A HREF="gettext_1.html#IDX13">translation aspects</A>
<LI><A HREF="gettext_2.html#IDX52">Translation Matrix</A>
<LI><A HREF="gettext_1.html#IDX5">Translation Project</A>
-<LI><A HREF="gettext_13.html#IDX1172">turning off NLS support</A>
+<LI><A HREF="gettext_13.html#IDX1189">turning off NLS support</A>
<LI><A HREF="gettext_1.html#IDX32">tutorial of <CODE>gettext</CODE> usage</A>
</DIR>
<H2><A NAME="cindex_u">u</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX742">unify duplicate translations</A>
-<LI><A HREF="gettext_8.html#IDX424">untranslated entries</A>
-<LI><A HREF="gettext_8.html#IDX539">update translations from a compendium</A>
-<LI><A HREF="gettext_13.html#IDX1146">upgrading to new versions of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_9.html#IDX749">unify duplicate translations</A>
+<LI><A HREF="gettext_8.html#IDX430">untranslated entries</A>
+<LI><A HREF="gettext_8.html#IDX545">update translations from a compendium</A>
+<LI><A HREF="gettext_13.html#IDX1163">upgrading to new versions of <CODE>gettext</CODE></A>
</DIR>
<H2><A NAME="cindex_v">v</A></H2>
<DIR>
-<LI><A HREF="gettext_7.html#IDX296">version control for backup files, <CODE>msgmerge</CODE></A>
+<LI><A HREF="gettext_7.html#IDX302">version control for backup files, <CODE>msgmerge</CODE></A>
</DIR>
<H2><A NAME="cindex_w">w</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1269"><CODE>wxWidgets</CODE> library</A>
+<LI><A HREF="gettext_15.html#IDX1286"><CODE>wxWidgets</CODE> library</A>
</DIR>
<H2><A NAME="cindex_x">x</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX929"><CODE>xargs</CODE>, and output from <CODE>msgexec</CODE></A>
+<LI><A HREF="gettext_9.html#IDX936"><CODE>xargs</CODE>, and output from <CODE>msgexec</CODE></A>
<LI><A HREF="gettext_5.html#IDX166"><CODE>xgettext</CODE> program, usage</A>
-<LI><A HREF="gettext_6.html#IDX281"><CODE>xmodmap</CODE> program, and typing quotation marks</A>
+<LI><A HREF="gettext_10.html#IDX995">XML mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_6.html#IDX287"><CODE>xmodmap</CODE> program, and typing quotation marks</A>
</DIR>
<H2><A NAME="cindex_y">y</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1271">YaST2 scripting language</A>
-<LI><A HREF="gettext_15.html#IDX1270">YCP</A>
+<LI><A HREF="gettext_15.html#IDX1288">YaST2 scripting language</A>
+<LI><A HREF="gettext_15.html#IDX1287">YCP</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_3.html b/gettext-tools/doc/gettext_3.html
index 94e89a9..ae348a8 100644
--- a/gettext-tools/doc/gettext_3.html
+++ b/gettext-tools/doc/gettext_3.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 3 The Format of PO Files</TITLE>
@@ -153,7 +153,7 @@ string happens to look like a C format string (with <SAMP>&lsquo;%&rsquo;</SAMP>
When the <CODE>c-format</CODE> flag is given for a string the <CODE>msgfmt</CODE>
program does some more tests to check the validity of the translation.
-See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, section <A HREF="gettext_4.html#SEC22">4.6 Special Comments preceding Keywords</A> and section <A HREF="gettext_15.html#SEC251">15.3.1 C Format Strings</A>.
+See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, section <A HREF="gettext_4.html#SEC22">4.6 Special Comments preceding Keywords</A> and section <A HREF="gettext_15.html#SEC252">15.3.1 C Format Strings</A>.
<DT><CODE>objc-format</CODE>
<DD>
@@ -161,7 +161,7 @@ See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CO
<DT><CODE>no-objc-format</CODE>
<DD>
<A NAME="IDX66"></A>
-Likewise for Objective C, see section <A HREF="gettext_15.html#SEC252">15.3.2 Objective C Format Strings</A>.
+Likewise for Objective C, see section <A HREF="gettext_15.html#SEC253">15.3.2 Objective C Format Strings</A>.
<DT><CODE>sh-format</CODE>
<DD>
@@ -169,7 +169,7 @@ Likewise for Objective C, see section <A HREF="gettext_15.html#SEC252">15.3.2 O
<DT><CODE>no-sh-format</CODE>
<DD>
<A NAME="IDX68"></A>
-Likewise for Shell, see section <A HREF="gettext_15.html#SEC253">15.3.3 Shell Format Strings</A>.
+Likewise for Shell, see section <A HREF="gettext_15.html#SEC254">15.3.3 Shell Format Strings</A>.
<DT><CODE>python-format</CODE>
<DD>
@@ -177,7 +177,7 @@ Likewise for Shell, see section <A HREF="gettext_15.html#SEC253">15.3.3 Shell F
<DT><CODE>no-python-format</CODE>
<DD>
<A NAME="IDX70"></A>
-Likewise for Python, see section <A HREF="gettext_15.html#SEC254">15.3.4 Python Format Strings</A>.
+Likewise for Python, see section <A HREF="gettext_15.html#SEC255">15.3.4 Python Format Strings</A>.
<DT><CODE>python-brace-format</CODE>
<DD>
@@ -185,7 +185,7 @@ Likewise for Python, see section <A HREF="gettext_15.html#SEC254">15.3.4 Python
<DT><CODE>no-python-brace-format</CODE>
<DD>
<A NAME="IDX72"></A>
-Likewise for Python brace, see section <A HREF="gettext_15.html#SEC254">15.3.4 Python Format Strings</A>.
+Likewise for Python brace, see section <A HREF="gettext_15.html#SEC255">15.3.4 Python Format Strings</A>.
<DT><CODE>lisp-format</CODE>
<DD>
@@ -193,7 +193,7 @@ Likewise for Python brace, see section <A HREF="gettext_15.html#SEC254">15.3.4
<DT><CODE>no-lisp-format</CODE>
<DD>
<A NAME="IDX74"></A>
-Likewise for Lisp, see section <A HREF="gettext_15.html#SEC255">15.3.5 Lisp Format Strings</A>.
+Likewise for Lisp, see section <A HREF="gettext_15.html#SEC256">15.3.5 Lisp Format Strings</A>.
<DT><CODE>elisp-format</CODE>
<DD>
@@ -201,7 +201,7 @@ Likewise for Lisp, see section <A HREF="gettext_15.html#SEC255">15.3.5 Lisp For
<DT><CODE>no-elisp-format</CODE>
<DD>
<A NAME="IDX76"></A>
-Likewise for Emacs Lisp, see section <A HREF="gettext_15.html#SEC256">15.3.6 Emacs Lisp Format Strings</A>.
+Likewise for Emacs Lisp, see section <A HREF="gettext_15.html#SEC257">15.3.6 Emacs Lisp Format Strings</A>.
<DT><CODE>librep-format</CODE>
<DD>
@@ -209,7 +209,7 @@ Likewise for Emacs Lisp, see section <A HREF="gettext_15.html#SEC256">15.3.6 Em
<DT><CODE>no-librep-format</CODE>
<DD>
<A NAME="IDX78"></A>
-Likewise for librep, see section <A HREF="gettext_15.html#SEC257">15.3.7 librep Format Strings</A>.
+Likewise for librep, see section <A HREF="gettext_15.html#SEC258">15.3.7 librep Format Strings</A>.
<DT><CODE>scheme-format</CODE>
<DD>
@@ -217,7 +217,7 @@ Likewise for librep, see section <A HREF="gettext_15.html#SEC257">15.3.7 librep
<DT><CODE>no-scheme-format</CODE>
<DD>
<A NAME="IDX80"></A>
-Likewise for Scheme, see section <A HREF="gettext_15.html#SEC258">15.3.8 Scheme Format Strings</A>.
+Likewise for Scheme, see section <A HREF="gettext_15.html#SEC259">15.3.8 Scheme Format Strings</A>.
<DT><CODE>smalltalk-format</CODE>
<DD>
@@ -225,7 +225,7 @@ Likewise for Scheme, see section <A HREF="gettext_15.html#SEC258">15.3.8 Scheme
<DT><CODE>no-smalltalk-format</CODE>
<DD>
<A NAME="IDX82"></A>
-Likewise for Smalltalk, see section <A HREF="gettext_15.html#SEC259">15.3.9 Smalltalk Format Strings</A>.
+Likewise for Smalltalk, see section <A HREF="gettext_15.html#SEC260">15.3.9 Smalltalk Format Strings</A>.
<DT><CODE>java-format</CODE>
<DD>
@@ -233,7 +233,7 @@ Likewise for Smalltalk, see section <A HREF="gettext_15.html#SEC259">15.3.9 Sma
<DT><CODE>no-java-format</CODE>
<DD>
<A NAME="IDX84"></A>
-Likewise for Java, see section <A HREF="gettext_15.html#SEC260">15.3.10 Java Format Strings</A>.
+Likewise for Java, see section <A HREF="gettext_15.html#SEC261">15.3.10 Java Format Strings</A>.
<DT><CODE>csharp-format</CODE>
<DD>
@@ -241,7 +241,7 @@ Likewise for Java, see section <A HREF="gettext_15.html#SEC260">15.3.10 Java Fo
<DT><CODE>no-csharp-format</CODE>
<DD>
<A NAME="IDX86"></A>
-Likewise for C#, see section <A HREF="gettext_15.html#SEC261">15.3.11 C# Format Strings</A>.
+Likewise for C#, see section <A HREF="gettext_15.html#SEC262">15.3.11 C# Format Strings</A>.
<DT><CODE>awk-format</CODE>
<DD>
@@ -249,7 +249,7 @@ Likewise for C#, see section <A HREF="gettext_15.html#SEC261">15.3.11 C# Format
<DT><CODE>no-awk-format</CODE>
<DD>
<A NAME="IDX88"></A>
-Likewise for awk, see section <A HREF="gettext_15.html#SEC262">15.3.12 awk Format Strings</A>.
+Likewise for awk, see section <A HREF="gettext_15.html#SEC263">15.3.12 awk Format Strings</A>.
<DT><CODE>object-pascal-format</CODE>
<DD>
@@ -257,7 +257,7 @@ Likewise for awk, see section <A HREF="gettext_15.html#SEC262">15.3.12 awk Form
<DT><CODE>no-object-pascal-format</CODE>
<DD>
<A NAME="IDX90"></A>
-Likewise for Object Pascal, see section <A HREF="gettext_15.html#SEC263">15.3.13 Object Pascal Format Strings</A>.
+Likewise for Object Pascal, see section <A HREF="gettext_15.html#SEC264">15.3.13 Object Pascal Format Strings</A>.
<DT><CODE>ycp-format</CODE>
<DD>
@@ -265,7 +265,7 @@ Likewise for Object Pascal, see section <A HREF="gettext_15.html#SEC263">15.3.13
<DT><CODE>no-ycp-format</CODE>
<DD>
<A NAME="IDX92"></A>
-Likewise for YCP, see section <A HREF="gettext_15.html#SEC264">15.3.14 YCP Format Strings</A>.
+Likewise for YCP, see section <A HREF="gettext_15.html#SEC265">15.3.14 YCP Format Strings</A>.
<DT><CODE>tcl-format</CODE>
<DD>
@@ -273,7 +273,7 @@ Likewise for YCP, see section <A HREF="gettext_15.html#SEC264">15.3.14 YCP Form
<DT><CODE>no-tcl-format</CODE>
<DD>
<A NAME="IDX94"></A>
-Likewise for Tcl, see section <A HREF="gettext_15.html#SEC265">15.3.15 Tcl Format Strings</A>.
+Likewise for Tcl, see section <A HREF="gettext_15.html#SEC266">15.3.15 Tcl Format Strings</A>.
<DT><CODE>perl-format</CODE>
<DD>
@@ -281,7 +281,7 @@ Likewise for Tcl, see section <A HREF="gettext_15.html#SEC265">15.3.15 Tcl Form
<DT><CODE>no-perl-format</CODE>
<DD>
<A NAME="IDX96"></A>
-Likewise for Perl, see section <A HREF="gettext_15.html#SEC266">15.3.16 Perl Format Strings</A>.
+Likewise for Perl, see section <A HREF="gettext_15.html#SEC267">15.3.16 Perl Format Strings</A>.
<DT><CODE>perl-brace-format</CODE>
<DD>
@@ -289,7 +289,7 @@ Likewise for Perl, see section <A HREF="gettext_15.html#SEC266">15.3.16 Perl Fo
<DT><CODE>no-perl-brace-format</CODE>
<DD>
<A NAME="IDX98"></A>
-Likewise for Perl brace, see section <A HREF="gettext_15.html#SEC266">15.3.16 Perl Format Strings</A>.
+Likewise for Perl brace, see section <A HREF="gettext_15.html#SEC267">15.3.16 Perl Format Strings</A>.
<DT><CODE>php-format</CODE>
<DD>
@@ -297,7 +297,7 @@ Likewise for Perl brace, see section <A HREF="gettext_15.html#SEC266">15.3.16 P
<DT><CODE>no-php-format</CODE>
<DD>
<A NAME="IDX100"></A>
-Likewise for PHP, see section <A HREF="gettext_15.html#SEC267">15.3.17 PHP Format Strings</A>.
+Likewise for PHP, see section <A HREF="gettext_15.html#SEC268">15.3.17 PHP Format Strings</A>.
<DT><CODE>gcc-internal-format</CODE>
<DD>
@@ -305,7 +305,7 @@ Likewise for PHP, see section <A HREF="gettext_15.html#SEC267">15.3.17 PHP Form
<DT><CODE>no-gcc-internal-format</CODE>
<DD>
<A NAME="IDX102"></A>
-Likewise for the GCC sources, see section <A HREF="gettext_15.html#SEC268">15.3.18 GCC internal Format Strings</A>.
+Likewise for the GCC sources, see section <A HREF="gettext_15.html#SEC269">15.3.18 GCC internal Format Strings</A>.
<DT><CODE>gfc-internal-format</CODE>
<DD>
@@ -313,7 +313,7 @@ Likewise for the GCC sources, see section <A HREF="gettext_15.html#SEC268">15.3.
<DT><CODE>no-gfc-internal-format</CODE>
<DD>
<A NAME="IDX104"></A>
-Likewise for the GNU Fortran Compiler sources, see section <A HREF="gettext_15.html#SEC269">15.3.19 GFC internal Format Strings</A>.
+Likewise for the GNU Fortran Compiler sources, see section <A HREF="gettext_15.html#SEC270">15.3.19 GFC internal Format Strings</A>.
<DT><CODE>qt-format</CODE>
<DD>
@@ -321,7 +321,7 @@ Likewise for the GNU Fortran Compiler sources, see section <A HREF="gettext_15.h
<DT><CODE>no-qt-format</CODE>
<DD>
<A NAME="IDX106"></A>
-Likewise for Qt, see section <A HREF="gettext_15.html#SEC270">15.3.20 Qt Format Strings</A>.
+Likewise for Qt, see section <A HREF="gettext_15.html#SEC271">15.3.20 Qt Format Strings</A>.
<DT><CODE>qt-plural-format</CODE>
<DD>
@@ -329,7 +329,7 @@ Likewise for Qt, see section <A HREF="gettext_15.html#SEC270">15.3.20 Qt Format
<DT><CODE>no-qt-plural-format</CODE>
<DD>
<A NAME="IDX108"></A>
-Likewise for Qt plural forms, see section <A HREF="gettext_15.html#SEC271">15.3.21 Qt Format Strings</A>.
+Likewise for Qt plural forms, see section <A HREF="gettext_15.html#SEC272">15.3.21 Qt Format Strings</A>.
<DT><CODE>kde-format</CODE>
<DD>
@@ -337,7 +337,7 @@ Likewise for Qt plural forms, see section <A HREF="gettext_15.html#SEC271">15.3.
<DT><CODE>no-kde-format</CODE>
<DD>
<A NAME="IDX110"></A>
-Likewise for KDE, see section <A HREF="gettext_15.html#SEC272">15.3.22 KDE Format Strings</A>.
+Likewise for KDE, see section <A HREF="gettext_15.html#SEC273">15.3.22 KDE Format Strings</A>.
<DT><CODE>boost-format</CODE>
<DD>
@@ -345,7 +345,7 @@ Likewise for KDE, see section <A HREF="gettext_15.html#SEC272">15.3.22 KDE Form
<DT><CODE>no-boost-format</CODE>
<DD>
<A NAME="IDX112"></A>
-Likewise for Boost, see section <A HREF="gettext_15.html#SEC273">15.3.23 Boost Format Strings</A>.
+Likewise for Boost, see section <A HREF="gettext_15.html#SEC275">15.3.24 Boost Format Strings</A>.
<DT><CODE>lua-format</CODE>
<DD>
@@ -353,7 +353,7 @@ Likewise for Boost, see section <A HREF="gettext_15.html#SEC273">15.3.23 Boost
<DT><CODE>no-lua-format</CODE>
<DD>
<A NAME="IDX114"></A>
-Likewise for Lua, see section <A HREF="gettext_15.html#SEC274">15.3.24 Lua Format Strings</A>.
+Likewise for Lua, see section <A HREF="gettext_15.html#SEC276">15.3.25 Lua Format Strings</A>.
<DT><CODE>javascript-format</CODE>
<DD>
@@ -361,7 +361,7 @@ Likewise for Lua, see section <A HREF="gettext_15.html#SEC274">15.3.24 Lua Form
<DT><CODE>no-javascript-format</CODE>
<DD>
<A NAME="IDX116"></A>
-Likewise for JavaScript, see section <A HREF="gettext_15.html#SEC275">15.3.25 JavaScript Format Strings</A>.
+Likewise for JavaScript, see section <A HREF="gettext_15.html#SEC277">15.3.26 JavaScript Format Strings</A>.
</DL>
diff --git a/gettext-tools/doc/gettext_4.html b/gettext-tools/doc/gettext_4.html
index 439d9e2..209d5bb 100644
--- a/gettext-tools/doc/gettext_4.html
+++ b/gettext-tools/doc/gettext_4.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 4 Preparing Program Sources</TITLE>
@@ -35,7 +35,7 @@ needing translation.
<P>
Presuming that your set of programs, or package, has been adjusted
so all needed GNU <CODE>gettext</CODE> files are available, and your
-<TT>&lsquo;Makefile&rsquo;</TT> files are adjusted (see section <A HREF="gettext_13.html#SEC212">13 The Maintainer's View</A>), each C module
+<TT>&lsquo;Makefile&rsquo;</TT> files are adjusted (see section <A HREF="gettext_13.html#SEC213">13 The Maintainer's View</A>), each C module
having translated C strings should contain the line:
</P>
@@ -594,7 +594,7 @@ the marked argument position depend on the total number of arguments of
the function call; this is useful in C++. All this is achieved using
<CODE>xgettext</CODE>'s <SAMP>&lsquo;--keyword&rsquo;</SAMP> option. How to pass such an option
to <CODE>xgettext</CODE>, assuming that <CODE>gettextize</CODE> is used, is described
-in section <A HREF="gettext_13.html#SEC219">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A> and section <A HREF="gettext_13.html#SEC236">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>.
+in section <A HREF="gettext_13.html#SEC220">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A> and section <A HREF="gettext_13.html#SEC237">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>.
</P>
<P>
@@ -999,7 +999,7 @@ with the following one:
{
static const char *messages[] = {
- gettext_noop ("some very meaningful message",
+ gettext_noop ("some very meaningful message"),
gettext_noop ("and another one")
};
const char *string;
diff --git a/gettext-tools/doc/gettext_5.html b/gettext-tools/doc/gettext_5.html
index 8934f4b..420a170 100644
--- a/gettext-tools/doc/gettext_5.html
+++ b/gettext-tools/doc/gettext_5.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 5 Making the PO Template File</TITLE>
@@ -231,6 +231,70 @@ gettext (
The second comment line will not be extracted, because there is one
blank line between the comment line and the keyword.
+<DT><SAMP>&lsquo;--check[=<VAR>CHECK</VAR>]&rsquo;</SAMP>
+<DD>
+<A NAME="IDX190"></A>
+<A NAME="IDX191"></A>
+Perform a syntax check on msgid and msgid_plural. The supported checks
+are:
+
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;ellipsis-unicode&rsquo;</SAMP>
+<DD>
+Prefer Unicode ellipsis character over ASCII <CODE>...</CODE>
+
+<DT><SAMP>&lsquo;space-ellipsis&rsquo;</SAMP>
+<DD>
+Prohibit whitespace before an ellipsis character
+
+<DT><SAMP>&lsquo;quote-unicode&rsquo;</SAMP>
+<DD>
+Prefer Unicode quotation marks over ASCII <CODE>"'`</CODE>
+
+</DL>
+
+The option has an effect on all input files. To enable or disable
+checks for a certain string, you can mark it with an <CODE>xgettext:</CODE>
+special comment in the source file. For example, if you specify the
+<CODE>--check=space-ellipsis</CODE> option, but want to suppress the check on
+a particular string, add the following comment:
+
+
+<PRE>
+/* xgettext: no-space-ellipsis-check */
+gettext ("We really want a space before ellipsis here ...");
+</PRE>
+
+The <CODE>xgettext:</CODE> comment can be followed by flags separated with a
+comma. The possible flags are of the form <SAMP>&lsquo;[no-]<VAR>name</VAR>-check&rsquo;</SAMP>,
+where <VAR>name</VAR> is the name of a valid syntax check. If a flag is
+prefixed by <CODE>no-</CODE>, the meaning is negated.
+
+Some tests apply the checks to each sentence within the msgid, rather
+than the whole string. xgettext detects the end of sentence by
+performing a pattern match, which usually looks for a period followed by
+a certain number of spaces. The number is specified with the
+<CODE>--sentence-end</CODE> option.
+
+<DT><SAMP>&lsquo;--sentence-end[=<VAR>TYPE</VAR>]&rsquo;</SAMP>
+<DD>
+<A NAME="IDX192"></A>
+<A NAME="IDX193"></A>
+The supported values are:
+
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;single-space&rsquo;</SAMP>
+<DD>
+Expect at least one whitespace after a period
+
+<DT><SAMP>&lsquo;double-space&rsquo;</SAMP>
+<DD>
+Expect at least two whitespaces after a period
+
+</DL>
+
</DL>
@@ -243,8 +307,8 @@ blank line between the comment line and the keyword.
<DD>
<DT><SAMP>&lsquo;--extract-all&rsquo;</SAMP>
<DD>
-<A NAME="IDX190"></A>
-<A NAME="IDX191"></A>
+<A NAME="IDX194"></A>
+<A NAME="IDX195"></A>
Extract all strings.
This option has an effect with most languages, namely C, C++, ObjectiveC,
@@ -255,13 +319,13 @@ GCC-source, Glade, Lua, JavaScript, Vala, GSettings.
<DD>
<DT><SAMP>&lsquo;--keyword[=<VAR>keywordspec</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX192"></A>
-<A NAME="IDX193"></A>
+<A NAME="IDX196"></A>
+<A NAME="IDX197"></A>
Specify <VAR>keywordspec</VAR> as an additional keyword to be looked for.
Without a <VAR>keywordspec</VAR>, the option means to not use default keywords.
-<A NAME="IDX194"></A>
-<A NAME="IDX195"></A>
+<A NAME="IDX198"></A>
+<A NAME="IDX199"></A>
If <VAR>keywordspec</VAR> is a C identifier <VAR>id</VAR>, <CODE>xgettext</CODE> looks
for strings in the first argument of each call to the function or macro
<VAR>id</VAR>. If <VAR>keywordspec</VAR> is of the form
@@ -406,13 +470,13 @@ used.
<DT><SAMP>&lsquo;--flag=<VAR>word</VAR>:<VAR>arg</VAR>:<VAR>flag</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX196"></A>
+<A NAME="IDX200"></A>
Specifies additional flags for strings occurring as part of the <VAR>arg</VAR>th
argument of the function <VAR>word</VAR>. The possible flags are the possible
format string indicators, such as <SAMP>&lsquo;c-format&rsquo;</SAMP>, and their negations,
such as <SAMP>&lsquo;no-c-format&rsquo;</SAMP>, possibly prefixed with <SAMP>&lsquo;pass-&rsquo;</SAMP>.
<BR>
-<A NAME="IDX197"></A>
+<A NAME="IDX201"></A>
The meaning of <CODE>--flag=<VAR>function</VAR>:<VAR>arg</VAR>:<VAR>lang</VAR>-format</CODE>
is that in language <VAR>lang</VAR>, the specified <VAR>function</VAR> expects as
<VAR>arg</VAR>th argument a format string. (For those of you familiar with
@@ -430,7 +494,7 @@ together with the checks done by <SAMP>&lsquo;msgfmt -c&rsquo;</SAMP> it will en
translators cannot accidentally use format string directives that would
lead to a crash at runtime.
<BR>
-<A NAME="IDX198"></A>
+<A NAME="IDX202"></A>
The meaning of <CODE>--flag=<VAR>function</VAR>:<VAR>arg</VAR>:pass-<VAR>lang</VAR>-format</CODE>
is that in language <VAR>lang</VAR>, if the <VAR>function</VAR> call occurs in a
position that must yield a format string, then its <VAR>arg</VAR>th argument
@@ -457,44 +521,44 @@ GCC-source, Lua, JavaScript, Vala.
<DD>
<DT><SAMP>&lsquo;--trigraphs&rsquo;</SAMP>
<DD>
-<A NAME="IDX199"></A>
-<A NAME="IDX200"></A>
-<A NAME="IDX201"></A>
+<A NAME="IDX203"></A>
+<A NAME="IDX204"></A>
+<A NAME="IDX205"></A>
Understand ANSI C trigraphs for input.
<BR>
This option has an effect only with the languages C, C++, ObjectiveC.
<DT><SAMP>&lsquo;--qt&rsquo;</SAMP>
<DD>
-<A NAME="IDX202"></A>
-<A NAME="IDX203"></A>
+<A NAME="IDX206"></A>
+<A NAME="IDX207"></A>
Recognize Qt format strings.
<BR>
This option has an effect only with the language C++.
<DT><SAMP>&lsquo;--kde&rsquo;</SAMP>
<DD>
-<A NAME="IDX204"></A>
-<A NAME="IDX205"></A>
+<A NAME="IDX208"></A>
+<A NAME="IDX209"></A>
Recognize KDE 4 format strings.
<BR>
This option has an effect only with the language C++.
<DT><SAMP>&lsquo;--boost&rsquo;</SAMP>
<DD>
-<A NAME="IDX206"></A>
-<A NAME="IDX207"></A>
+<A NAME="IDX210"></A>
+<A NAME="IDX211"></A>
Recognize Boost format strings.
<BR>
This option has an effect only with the language C++.
<DT><SAMP>&lsquo;--debug&rsquo;</SAMP>
<DD>
-<A NAME="IDX208"></A>
-<A NAME="IDX209"></A>
+<A NAME="IDX212"></A>
+<A NAME="IDX213"></A>
Use the flags <CODE>c-format</CODE> and <CODE>possible-c-format</CODE> to show who was
responsible for marking a message as a format string. The latter form is
-used if the <CODE>xgettext</CODE> program decided, the format form is used if
+used if the <CODE>xgettext</CODE> program decided, the former form is used if
the programmer prescribed it.
By default only the <CODE>c-format</CODE> form is used. The translator should
@@ -518,32 +582,32 @@ adjacent strings, and escaped end of lines for continued strings.
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX210"></A>
+<A NAME="IDX214"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX211"></A>
+<A NAME="IDX215"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX212"></A>
+<A NAME="IDX216"></A>
Always write an output file even if no message is defined.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX213"></A>
-<A NAME="IDX214"></A>
+<A NAME="IDX217"></A>
+<A NAME="IDX218"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX215"></A>
+<A NAME="IDX219"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines. Note that using
this option makes it harder for technically skilled translators to understand
each message's context.
@@ -552,8 +616,8 @@ each message's context.
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX216"></A>
-<A NAME="IDX217"></A>
+<A NAME="IDX220"></A>
+<A NAME="IDX221"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -564,37 +628,49 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX218"></A>
+<A NAME="IDX222"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX219"></A>
+<A NAME="IDX223"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX220"></A>
+<A NAME="IDX224"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
+<DT><SAMP>&lsquo;--its=<VAR>file</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX225"></A>
+Use ITS rules defined in <VAR>file</VAR>.
+Note that this is only effective with XML files.
+
+<DT><SAMP>&lsquo;--itstool&rsquo;</SAMP>
+<DD>
+<A NAME="IDX226"></A>
+Write out comments recognized by itstool (<A HREF="http://itstool.org">http://itstool.org</A>).
+Note that this is only effective with XML files.
+
<DT><SAMP>&lsquo;-w <VAR>number</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX221"></A>
-<A NAME="IDX222"></A>
+<A NAME="IDX227"></A>
+<A NAME="IDX228"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX223"></A>
+<A NAME="IDX229"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -603,9 +679,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX224"></A>
-<A NAME="IDX225"></A>
-<A NAME="IDX226"></A>
+<A NAME="IDX230"></A>
+<A NAME="IDX231"></A>
+<A NAME="IDX232"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -613,16 +689,16 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX227"></A>
-<A NAME="IDX228"></A>
+<A NAME="IDX233"></A>
+<A NAME="IDX234"></A>
Sort output by file location.
<DT><SAMP>&lsquo;--omit-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX229"></A>
+<A NAME="IDX235"></A>
Don't write header with <SAMP>&lsquo;msgid ""&rsquo;</SAMP> entry.
-<A NAME="IDX230"></A>
+<A NAME="IDX236"></A>
This is useful for testing purposes because it eliminates a source
of variance for generated <CODE>.gmo</CODE> files. With <CODE>--omit-header</CODE>,
two invocations of <CODE>xgettext</CODE> on the same files with the same
@@ -633,7 +709,7 @@ would not entirely be in ASCII.
<DT><SAMP>&lsquo;--copyright-holder=<VAR>string</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX231"></A>
+<A NAME="IDX237"></A>
Set the copyright holder in the output. <VAR>string</VAR> should be the
copyright holder of the surrounding package. (Note that the msgstr
strings, extracted from the package's sources, belong to the copyright
@@ -649,31 +725,31 @@ simply because <CODE>xgettext</CODE> was first used in the GNU project.
<DT><SAMP>&lsquo;--foreign-user&rsquo;</SAMP>
<DD>
-<A NAME="IDX232"></A>
+<A NAME="IDX238"></A>
Omit FSF copyright in output. This option is equivalent to
<SAMP>&lsquo;--copyright-holder=â€&rsquo;</SAMP>. It can be useful for packages outside the GNU
project that want their translations to be in the public domain.
<DT><SAMP>&lsquo;--package-name=<VAR>package</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX233"></A>
+<A NAME="IDX239"></A>
Set the package name in the header of the output.
<DT><SAMP>&lsquo;--package-version=<VAR>version</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX234"></A>
+<A NAME="IDX240"></A>
Set the package version in the header of the output. This option has an
effect only if the <SAMP>&lsquo;--package-name&rsquo;</SAMP> option is also used.
<DT><SAMP>&lsquo;--msgid-bugs-address=<VAR>email@address</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX235"></A>
+<A NAME="IDX241"></A>
Set the reporting address for msgid bugs. This is the email address or URL
to which the translators shall report bugs in the untranslated strings:
<UL>
-<LI>Strings which are not entire sentences, see the maintainer guidelines
+<LI>Strings which are not entire sentences; see the maintainer guidelines
in section <A HREF="gettext_4.html#SEC19">4.3 Preparing Translatable Strings</A>.
<LI>Strings which use unclear terms or require additional context to be
@@ -701,16 +777,16 @@ Don't forget to specify this option.
<DD>
<DT><SAMP>&lsquo;--msgstr-prefix[=<VAR>string</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX236"></A>
-<A NAME="IDX237"></A>
+<A NAME="IDX242"></A>
+<A NAME="IDX243"></A>
Use <VAR>string</VAR> (or "" if not specified) as prefix for msgstr values.
<DT><SAMP>&lsquo;-M[<VAR>string</VAR>]&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgstr-suffix[=<VAR>string</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX238"></A>
-<A NAME="IDX239"></A>
+<A NAME="IDX244"></A>
+<A NAME="IDX245"></A>
Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr values.
</DL>
@@ -725,16 +801,16 @@ Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr values.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX240"></A>
-<A NAME="IDX241"></A>
+<A NAME="IDX246"></A>
+<A NAME="IDX247"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX242"></A>
-<A NAME="IDX243"></A>
+<A NAME="IDX248"></A>
+<A NAME="IDX249"></A>
Output version information and exit.
</DL>
diff --git a/gettext-tools/doc/gettext_6.html b/gettext-tools/doc/gettext_6.html
index 59c6858..fb0beb4 100644
--- a/gettext-tools/doc/gettext_6.html
+++ b/gettext-tools/doc/gettext_6.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 6 Creating a New PO File</TITLE>
@@ -13,7 +13,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous<
<H1><A NAME="SEC37" HREF="gettext_toc.html#TOC37">6 Creating a New PO File</A></H1>
<P>
-<A NAME="IDX244"></A>
+<A NAME="IDX250"></A>
</P>
<P>
@@ -48,20 +48,65 @@ the header entry of this file.
<H2><A NAME="SEC38" HREF="gettext_toc.html#TOC38">6.1 Invoking the <CODE>msginit</CODE> Program</A></H2>
<P>
-<A NAME="IDX245"></A>
-<A NAME="IDX246"></A>
+<A NAME="IDX251"></A>
+<A NAME="IDX252"></A>
<PRE>
msginit [<VAR>option</VAR>]
</PRE>
<P>
-<A NAME="IDX247"></A>
-<A NAME="IDX248"></A>
+<A NAME="IDX253"></A>
+<A NAME="IDX254"></A>
The <CODE>msginit</CODE> program creates a new PO file, initializing the meta
information with values from the user's environment.
</P>
+<P>
+Here are more details. The following header fields of a PO file are
+automatically filled, when possible.
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;Project-Id-Version&rsquo;</SAMP>
+<DD>
+The value is guessed from the <CODE>configure</CODE> script or any other files
+in the current directory.
+
+<DT><SAMP>&lsquo;PO-Revision-Date&rsquo;</SAMP>
+<DD>
+The value is taken from the <CODE>PO-Creation-Data</CODE> in the input POT
+file, or the current date is used.
+
+<DT><SAMP>&lsquo;Last-Translator&rsquo;</SAMP>
+<DD>
+The value is taken from user's password file entry and the mailer
+configuration files.
+
+<DT><SAMP>&lsquo;Language-Team, Language&rsquo;</SAMP>
+<DD>
+These values are set according to the current locale and the predefined
+list of translation teams.
+
+<DT><SAMP>&lsquo;MIME-Version, Content-Type, Content-Transfer-Encoding&rsquo;</SAMP>
+<DD>
+These values are set according to the content of the POT file and the
+current locale. If the POT file contains charset=UTF-8, it means that
+the POT file contains non-ASCII characters, and we keep the UTF-8
+encoding. Otherwise, when the POT file is plain ASCII, we use the
+locale's encoding.
+
+<DT><SAMP>&lsquo;Plural-Forms&rsquo;</SAMP>
+<DD>
+The value is first looked up from the embedded table.
+
+As an experimental feature, you can instruct <CODE>msginit</CODE> to use the
+information from Unicode CLDR, by setting the <CODE>GETTEXTCLDRDIR</CODE>
+environment variable.
+
+</DL>
+
<H3><A NAME="SEC39" HREF="gettext_toc.html#TOC39">6.1.1 Input file location</A></H3>
@@ -72,8 +117,8 @@ information with values from the user's environment.
<DD>
<DT><SAMP>&lsquo;--input=<VAR>inputfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX249"></A>
-<A NAME="IDX250"></A>
+<A NAME="IDX255"></A>
+<A NAME="IDX256"></A>
Input POT file.
</DL>
@@ -93,8 +138,8 @@ POT file. If it is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX251"></A>
-<A NAME="IDX252"></A>
+<A NAME="IDX257"></A>
+<A NAME="IDX258"></A>
Write output to specified PO file.
</DL>
@@ -115,14 +160,14 @@ standard output.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX253"></A>
-<A NAME="IDX254"></A>
+<A NAME="IDX259"></A>
+<A NAME="IDX260"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX255"></A>
+<A NAME="IDX261"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -138,15 +183,15 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>ll_CC</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX256"></A>
-<A NAME="IDX257"></A>
+<A NAME="IDX262"></A>
+<A NAME="IDX263"></A>
Set target locale. <VAR>ll</VAR> should be a language code, and <VAR>CC</VAR> should
be a country code. The command <SAMP>&lsquo;locale -a&rsquo;</SAMP> can be used to output a list
of all installed locales. The default is the user's locale setting.
<DT><SAMP>&lsquo;--no-translator&rsquo;</SAMP>
<DD>
-<A NAME="IDX258"></A>
+<A NAME="IDX264"></A>
Declares that the PO file will not have a human translator and is instead
automatically generated.
@@ -154,13 +199,13 @@ automatically generated.
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX259"></A>
+<A NAME="IDX265"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX260"></A>
+<A NAME="IDX266"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
@@ -168,15 +213,15 @@ See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> opt
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX261"></A>
-<A NAME="IDX262"></A>
+<A NAME="IDX267"></A>
+<A NAME="IDX268"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX263"></A>
+<A NAME="IDX269"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -184,15 +229,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX264"></A>
-<A NAME="IDX265"></A>
+<A NAME="IDX270"></A>
+<A NAME="IDX271"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX266"></A>
+<A NAME="IDX272"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -209,16 +254,16 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX267"></A>
-<A NAME="IDX268"></A>
+<A NAME="IDX273"></A>
+<A NAME="IDX274"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX269"></A>
-<A NAME="IDX270"></A>
+<A NAME="IDX275"></A>
+<A NAME="IDX276"></A>
Output version information and exit.
</DL>
@@ -227,7 +272,7 @@ Output version information and exit.
<H2><A NAME="SEC44" HREF="gettext_toc.html#TOC44">6.2 Filling in the Header Entry</A></H2>
<P>
-<A NAME="IDX271"></A>
+<A NAME="IDX277"></A>
</P>
<P>
@@ -297,7 +342,7 @@ Before starting a translation, it is a good idea to get in touch with
your translation team, not only to make sure you don't do duplicated work,
but also to coordinate difficult linguistic issues.
-<A NAME="IDX272"></A>
+<A NAME="IDX278"></A>
In the Free Translation Project, each translation team has its own mailing
list. The up-to-date list of teams can be found at the Free Translation
Project's homepage, <A HREF="http://translationproject.org/">http://translationproject.org/</A>, in the "Teams"
@@ -313,7 +358,7 @@ forms:
<LI>
<SAMP>&lsquo;<VAR>ll</VAR>&rsquo;</SAMP>, an ISO 639 two-letter language code (lowercase).
-See section <A HREF="gettext_17.html#SEC325">A Language Codes</A> for the list of codes.
+See section <A HREF="gettext_17.html#SEC331">A Language Codes</A> for the list of codes.
<LI>
@@ -322,8 +367,8 @@ language code (lowercase) and <SAMP>&lsquo;<VAR>CC</VAR>&rsquo;</SAMP> is an ISO
country code (uppercase). The country code specification is not redundant:
Some languages have dialects in different countries. For example,
<SAMP>&lsquo;de_AT&rsquo;</SAMP> is used for Austria, and <SAMP>&lsquo;pt_BR&rsquo;</SAMP> for Brazil. The country
-code serves to distinguish the dialects. See section <A HREF="gettext_17.html#SEC325">A Language Codes</A> and
-section <A HREF="gettext_18.html#SEC328">B Country Codes</A> for the lists of codes.
+code serves to distinguish the dialects. See section <A HREF="gettext_17.html#SEC331">A Language Codes</A> and
+section <A HREF="gettext_18.html#SEC334">B Country Codes</A> for the lists of codes.
<LI>
@@ -362,14 +407,14 @@ PO files is just <SAMP>&lsquo;de&rsquo;</SAMP>.
<DT>Content-Type
<DD>
-<A NAME="IDX273"></A>
-<A NAME="IDX274"></A>
+<A NAME="IDX279"></A>
+<A NAME="IDX280"></A>
Replace <SAMP>&lsquo;CHARSET&rsquo;</SAMP> with the character encoding used for your language,
in your locale, or UTF-8. This field is needed for correct operation of the
<CODE>msgmerge</CODE> and <CODE>msgfmt</CODE> programs, as well as for users whose
-locale's character encoding differs from yours (see section <A HREF="gettext_11.html#SEC187">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
+locale's character encoding differs from yours (see section <A HREF="gettext_11.html#SEC188">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
-<A NAME="IDX275"></A>
+<A NAME="IDX281"></A>
You get the character encoding of your locale by running the shell command
<SAMP>&lsquo;locale charmap&rsquo;</SAMP>. If the result is <SAMP>&lsquo;C&rsquo;</SAMP> or <SAMP>&lsquo;ANSI_X3.4-1968&rsquo;</SAMP>,
which is equivalent to <SAMP>&lsquo;ASCII&rsquo;</SAMP> (= <SAMP>&lsquo;US-ASCII&rsquo;</SAMP>), it means that your
@@ -377,7 +422,7 @@ locale is not correctly configured. In this case, ask your translation
team which charset to use. <SAMP>&lsquo;ASCII&rsquo;</SAMP> is not usable for any language
except Latin.
-<A NAME="IDX276"></A>
+<A NAME="IDX282"></A>
Because the PO files must be portable to operating systems with less advanced
internationalization facilities, the character encodings that can be used
are limited to those supported by both GNU <CODE>libc</CODE> and GNU
@@ -394,11 +439,11 @@ are limited to those supported by both GNU <CODE>libc</CODE> and GNU
<CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>, <CODE>SHIFT_JIS</CODE>,
<CODE>JOHAB</CODE>, <CODE>TIS-620</CODE>, <CODE>VISCII</CODE>, <CODE>GEORGIAN-PS</CODE>, <CODE>UTF-8</CODE>.
-<A NAME="IDX277"></A>
+<A NAME="IDX283"></A>
In the GNU system, the following encodings are frequently used for the
corresponding languages.
-<A NAME="IDX278"></A>
+<A NAME="IDX284"></A>
<UL>
<LI><CODE>ISO-8859-1</CODE> for
@@ -458,8 +503,8 @@ for traditional writing of Chinese,
</UL>
-<A NAME="IDX279"></A>
-<A NAME="IDX280"></A>
+<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
When single quote characters or double quote characters are used in
translations for your language, and your locale's encoding is one of the
ISO-8859-* charsets, it is best if you create your PO files in UTF-8
@@ -471,7 +516,7 @@ real quote characters, whereas users in ISO-8859-* locales will see the
vertical apostrophe and the vertical double quote instead (because that's
what the character set conversion will transliterate them to).
-<A NAME="IDX281"></A>
+<A NAME="IDX287"></A>
To enter such quote characters under X11, you can change your keyboard
mapping using the <CODE>xmodmap</CODE> program. The X11 names of the quote
characters are "leftsinglequotemark", "rightsinglequotemark",
@@ -493,8 +538,8 @@ Set this to <CODE>8bit</CODE>.
<DD>
This field is optional. It is only needed if the PO file has plural forms.
You can find them by searching for the <SAMP>&lsquo;msgid_plural&rsquo;</SAMP> keyword. The
-format of the plural forms field is described in section <A HREF="gettext_11.html#SEC189">11.2.6 Additional functions for plural forms</A> and
-section <A HREF="gettext_12.html#SEC210">12.6 Translating plural forms</A>.
+format of the plural forms field is described in section <A HREF="gettext_11.html#SEC190">11.2.6 Additional functions for plural forms</A> and
+section <A HREF="gettext_12.html#SEC211">12.6 Translating plural forms</A>.
</DL>
<P><HR><P>
diff --git a/gettext-tools/doc/gettext_7.html b/gettext-tools/doc/gettext_7.html
index ae3a7a0..edb120f 100644
--- a/gettext-tools/doc/gettext_7.html
+++ b/gettext-tools/doc/gettext_7.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 7 Updating Existing PO Files</TITLE>
@@ -18,8 +18,8 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous<
<H2><A NAME="SEC46" HREF="gettext_toc.html#TOC46">7.1 Invoking the <CODE>msgmerge</CODE> Program</A></H2>
<P>
-<A NAME="IDX282"></A>
-<A NAME="IDX283"></A>
+<A NAME="IDX288"></A>
+<A NAME="IDX289"></A>
<PRE>
msgmerge [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
@@ -56,8 +56,8 @@ References to the new sources.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX284"></A>
-<A NAME="IDX285"></A>
+<A NAME="IDX290"></A>
+<A NAME="IDX291"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -66,8 +66,8 @@ file will be written relative to the current directory, though.
<DD>
<DT><SAMP>&lsquo;--compendium=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX286"></A>
-<A NAME="IDX287"></A>
+<A NAME="IDX292"></A>
+<A NAME="IDX293"></A>
Specify an additional library of message translations. See section <A HREF="gettext_8.html#SEC72">8.4 Using Translation Compendia</A>.
This option may be specified more than once.
@@ -83,8 +83,8 @@ This option may be specified more than once.
<DD>
<DT><SAMP>&lsquo;--update&rsquo;</SAMP>
<DD>
-<A NAME="IDX288"></A>
-<A NAME="IDX289"></A>
+<A NAME="IDX294"></A>
+<A NAME="IDX295"></A>
Update <VAR>def</VAR>.po. Do nothing if <VAR>def</VAR>.po is already up to date.
</DL>
@@ -99,14 +99,14 @@ Update <VAR>def</VAR>.po. Do nothing if <VAR>def</VAR>.po is already up to date
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX290"></A>
-<A NAME="IDX291"></A>
+<A NAME="IDX296"></A>
+<A NAME="IDX297"></A>
Write output to specified file.
</DL>
<P>
-<A NAME="IDX292"></A>
+<A NAME="IDX298"></A>
The results are written to standard output if no output file is specified
or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
@@ -123,19 +123,19 @@ The result is written back to <VAR>def</VAR>.po.
<DT><SAMP>&lsquo;--backup=<VAR>control</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX293"></A>
-<A NAME="IDX294"></A>
+<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
Make a backup of <VAR>def</VAR>.po
<DT><SAMP>&lsquo;--suffix=<VAR>suffix</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX295"></A>
+<A NAME="IDX301"></A>
Override the usual backup suffix.
</DL>
<P>
-<A NAME="IDX296"></A>
+<A NAME="IDX302"></A>
The version control method may be selected via the <CODE>--backup</CODE> option
or through the <CODE>VERSION_CONTROL</CODE> environment variable. Here are the
values:
@@ -185,22 +185,22 @@ The backup suffix is <SAMP>&lsquo;~&rsquo;</SAMP>, unless set with <CODE>--suffi
<DD>
<DT><SAMP>&lsquo;--multi-domain&rsquo;</SAMP>
<DD>
-<A NAME="IDX297"></A>
-<A NAME="IDX298"></A>
+<A NAME="IDX303"></A>
+<A NAME="IDX304"></A>
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
<DT><SAMP>&lsquo;-N&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--no-fuzzy-matching&rsquo;</SAMP>
<DD>
-<A NAME="IDX299"></A>
-<A NAME="IDX300"></A>
+<A NAME="IDX305"></A>
+<A NAME="IDX306"></A>
Do not use fuzzy matching when an exact match is not found. This may speed
up the operation considerably.
<DT><SAMP>&lsquo;--previous&rsquo;</SAMP>
<DD>
-<A NAME="IDX301"></A>
+<A NAME="IDX307"></A>
Keep the previous msgids of translated messages, marked with <SAMP>&lsquo;#|&rsquo;</SAMP>, when
adding the fuzzy marker to such messages.
</DL>
@@ -215,14 +215,14 @@ adding the fuzzy marker to such messages.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX302"></A>
-<A NAME="IDX303"></A>
+<A NAME="IDX308"></A>
+<A NAME="IDX309"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX304"></A>
+<A NAME="IDX310"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -236,7 +236,7 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DT><SAMP>&lsquo;--lang=<VAR>catalogname</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX305"></A>
+<A NAME="IDX311"></A>
Specify the <SAMP>&lsquo;Language&rsquo;</SAMP> field to be used in the header entry. See
section <A HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A> for the meaning of this field. Note: The
<SAMP>&lsquo;Language-Team&rsquo;</SAMP> and <SAMP>&lsquo;Plural-Forms&rsquo;</SAMP> fields are left unchanged.
@@ -247,39 +247,39 @@ best as possible, from the <SAMP>&lsquo;Language-Team&rsquo;</SAMP> field.
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX306"></A>
+<A NAME="IDX312"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX307"></A>
+<A NAME="IDX313"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX308"></A>
+<A NAME="IDX314"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX309"></A>
-<A NAME="IDX310"></A>
+<A NAME="IDX315"></A>
+<A NAME="IDX316"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX311"></A>
+<A NAME="IDX317"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX312"></A>
+<A NAME="IDX318"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -290,7 +290,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX313"></A>
+<A NAME="IDX319"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -299,15 +299,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX314"></A>
-<A NAME="IDX315"></A>
+<A NAME="IDX320"></A>
+<A NAME="IDX321"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX316"></A>
+<A NAME="IDX322"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -315,15 +315,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX317"></A>
-<A NAME="IDX318"></A>
+<A NAME="IDX323"></A>
+<A NAME="IDX324"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX319"></A>
+<A NAME="IDX325"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -332,9 +332,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX320"></A>
-<A NAME="IDX321"></A>
-<A NAME="IDX322"></A>
+<A NAME="IDX326"></A>
+<A NAME="IDX327"></A>
+<A NAME="IDX328"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -342,8 +342,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX323"></A>
-<A NAME="IDX324"></A>
+<A NAME="IDX329"></A>
+<A NAME="IDX330"></A>
Sort output by file location.
</DL>
@@ -358,24 +358,24 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX325"></A>
-<A NAME="IDX326"></A>
+<A NAME="IDX331"></A>
+<A NAME="IDX332"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX327"></A>
-<A NAME="IDX328"></A>
+<A NAME="IDX333"></A>
+<A NAME="IDX334"></A>
Output version information and exit.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--verbose&rsquo;</SAMP>
<DD>
-<A NAME="IDX329"></A>
-<A NAME="IDX330"></A>
+<A NAME="IDX335"></A>
+<A NAME="IDX336"></A>
Increase verbosity level.
<DT><SAMP>&lsquo;-q&rsquo;</SAMP>
@@ -384,9 +384,9 @@ Increase verbosity level.
<DD>
<DT><SAMP>&lsquo;--silent&rsquo;</SAMP>
<DD>
-<A NAME="IDX331"></A>
-<A NAME="IDX332"></A>
-<A NAME="IDX333"></A>
+<A NAME="IDX337"></A>
+<A NAME="IDX338"></A>
+<A NAME="IDX339"></A>
Suppress progress indicators.
</DL>
diff --git a/gettext-tools/doc/gettext_8.html b/gettext-tools/doc/gettext_8.html
index 2f5af01..3320583 100644
--- a/gettext-tools/doc/gettext_8.html
+++ b/gettext-tools/doc/gettext_8.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 8 Editing PO Files</TITLE>
@@ -13,7 +13,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous<
<H1><A NAME="SEC55" HREF="gettext_toc.html#TOC55">8 Editing PO Files</A></H1>
<P>
-<A NAME="IDX334"></A>
+<A NAME="IDX340"></A>
</P>
@@ -21,21 +21,21 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous<
<H2><A NAME="SEC56" HREF="gettext_toc.html#TOC56">8.1 KDE's PO File Editor</A></H2>
<P>
-<A NAME="IDX335"></A>
+<A NAME="IDX341"></A>
</P>
<H2><A NAME="SEC57" HREF="gettext_toc.html#TOC57">8.2 GNOME's PO File Editor</A></H2>
<P>
-<A NAME="IDX336"></A>
+<A NAME="IDX342"></A>
</P>
<H2><A NAME="SEC58" HREF="gettext_toc.html#TOC58">8.3 Emacs's PO File Editor</A></H2>
<P>
-<A NAME="IDX337"></A>
+<A NAME="IDX343"></A>
</P>
@@ -64,8 +64,8 @@ For the beginning, besides main PO mode commands
<H3><A NAME="SEC59" HREF="gettext_toc.html#TOC59">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A></H3>
<P>
-<A NAME="IDX338"></A>
-<A NAME="IDX339"></A>
+<A NAME="IDX344"></A>
+<A NAME="IDX345"></A>
Once you have received, unpacked, configured and compiled the GNU
<CODE>gettext</CODE> distribution, the <SAMP>&lsquo;make install&rsquo;</SAMP> command puts in
place the programs <CODE>xgettext</CODE>, <CODE>msgfmt</CODE>, <CODE>gettext</CODE>, and
@@ -75,8 +75,8 @@ PO mode available to your Emacs users.
</P>
<P>
-<A NAME="IDX340"></A>
-<A NAME="IDX341"></A>
+<A NAME="IDX346"></A>
+<A NAME="IDX347"></A>
During the installation of the PO mode, you might want to modify your
file <TT>&lsquo;.emacs&rsquo;</TT>, once and for all, so it contains a few lines looking
like:
@@ -126,8 +126,8 @@ button 1).
<H3><A NAME="SEC60" HREF="gettext_toc.html#TOC60">8.3.2 Main PO mode Commands</A></H3>
<P>
-<A NAME="IDX342"></A>
-<A NAME="IDX343"></A>
+<A NAME="IDX348"></A>
+<A NAME="IDX349"></A>
After setting up Emacs with something similar to the lines in
section <A HREF="gettext_8.html#SEC59">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A>, PO mode is activated for a window when Emacs finds a
PO file in that window. This puts the window read-only and establishes a
@@ -159,47 +159,47 @@ in special ways.
<DT><KBD>_</KBD>
<DD>
-<A NAME="IDX344"></A>
+<A NAME="IDX350"></A>
Undo last modification to the PO file (<CODE>po-undo</CODE>).
<DT><KBD>Q</KBD>
<DD>
-<A NAME="IDX345"></A>
+<A NAME="IDX351"></A>
Quit processing and save the PO file (<CODE>po-quit</CODE>).
<DT><KBD>q</KBD>
<DD>
-<A NAME="IDX346"></A>
+<A NAME="IDX352"></A>
Quit processing, possibly after confirmation (<CODE>po-confirm-and-quit</CODE>).
<DT><KBD>0</KBD>
<DD>
-<A NAME="IDX347"></A>
+<A NAME="IDX353"></A>
Temporary leave the PO file window (<CODE>po-other-window</CODE>).
<DT><KBD>?</KBD>
<DD>
<DT><KBD>h</KBD>
<DD>
-<A NAME="IDX348"></A>
-<A NAME="IDX349"></A>
+<A NAME="IDX354"></A>
+<A NAME="IDX355"></A>
Show help about PO mode (<CODE>po-help</CODE>).
<DT><KBD>=</KBD>
<DD>
-<A NAME="IDX350"></A>
+<A NAME="IDX356"></A>
Give some PO file statistics (<CODE>po-statistics</CODE>).
<DT><KBD>V</KBD>
<DD>
-<A NAME="IDX351"></A>
+<A NAME="IDX357"></A>
Batch validate the format of the whole PO file (<CODE>po-validate</CODE>).
</DL>
<P>
-<A NAME="IDX352"></A>
-<A NAME="IDX353"></A>
+<A NAME="IDX358"></A>
+<A NAME="IDX359"></A>
The command <KBD>_</KBD> (<CODE>po-undo</CODE>) interfaces to the Emacs
<EM>undo</EM> facility. See section ‘Undoing Changes’ in <CITE>The Emacs Editor</CITE>. Each time <KBD>_</KBD> is typed, modifications which the translator
did to the PO file are undone a little more. For the purpose of
@@ -211,10 +211,10 @@ can undo the edition work quite parsimoniously.
</P>
<P>
-<A NAME="IDX354"></A>
-<A NAME="IDX355"></A>
-<A NAME="IDX356"></A>
-<A NAME="IDX357"></A>
+<A NAME="IDX360"></A>
+<A NAME="IDX361"></A>
+<A NAME="IDX362"></A>
+<A NAME="IDX363"></A>
The commands <KBD>Q</KBD> (<CODE>po-quit</CODE>) and <KBD>q</KBD>
(<CODE>po-confirm-and-quit</CODE>) are used when the translator is done with the
PO file. The former is a bit less verbose than the latter. If the file
@@ -227,8 +227,8 @@ of an Emacs PO file buffer. Merely killing it through the usual command
</P>
<P>
-<A NAME="IDX358"></A>
-<A NAME="IDX359"></A>
+<A NAME="IDX364"></A>
+<A NAME="IDX365"></A>
The command <KBD>0</KBD> (<CODE>po-other-window</CODE>) is another, softer way,
to leave PO mode, temporarily. It just moves the cursor to some other
Emacs window, and pops one if necessary. For example, if the translator
@@ -242,9 +242,9 @@ PO mode is then recovered.
</P>
<P>
-<A NAME="IDX360"></A>
-<A NAME="IDX361"></A>
-<A NAME="IDX362"></A>
+<A NAME="IDX366"></A>
+<A NAME="IDX367"></A>
+<A NAME="IDX368"></A>
The command <KBD>h</KBD> (<CODE>po-help</CODE>) displays a summary of all available PO
mode commands. The translator should then type any character to resume
normal PO mode operations. The command <KBD>?</KBD> has the same effect
@@ -252,8 +252,8 @@ as <KBD>h</KBD>.
</P>
<P>
-<A NAME="IDX363"></A>
-<A NAME="IDX364"></A>
+<A NAME="IDX369"></A>
+<A NAME="IDX370"></A>
The command <KBD>=</KBD> (<CODE>po-statistics</CODE>) computes the total number of
entries in the PO file, the ordinal of the current entry (counted from
1), the number of untranslated entries, the number of obsolete entries,
@@ -261,8 +261,8 @@ and displays all these numbers.
</P>
<P>
-<A NAME="IDX365"></A>
-<A NAME="IDX366"></A>
+<A NAME="IDX371"></A>
+<A NAME="IDX372"></A>
The command <KBD>V</KBD> (<CODE>po-validate</CODE>) launches <CODE>msgfmt</CODE> in
checking and verbose
mode over the current PO file. This command first offers to save the
@@ -273,7 +273,7 @@ as well as all individual entries.
</P>
<P>
-<A NAME="IDX367"></A>
+<A NAME="IDX373"></A>
The program <CODE>msgfmt</CODE> runs asynchronously with Emacs, so the
translator regains control immediately while her PO file is being studied.
Error output is collected in the Emacs <SAMP>&lsquo;*compilation*&rsquo;</SAMP> buffer,
@@ -289,7 +289,7 @@ any PO mode action which would help correcting the error.
<H3><A NAME="SEC61" HREF="gettext_toc.html#TOC61">8.3.3 Entry Positioning</A></H3>
<P>
-<A NAME="IDX368"></A>
+<A NAME="IDX374"></A>
The cursor in a PO file window is almost always part of
an entry. The only exceptions are the special case when the cursor
is after the last entry in the file, or when the PO file is
@@ -300,7 +300,7 @@ the PO file, this also selects on which entry commands operate.
</P>
<P>
-<A NAME="IDX369"></A>
+<A NAME="IDX375"></A>
Some PO mode commands alter the position of the cursor in a specialized
way. A few of those special purpose positioning are described here,
the others are described in following sections (for a complete list try
@@ -311,51 +311,51 @@ the others are described in following sections (for a complete list try
<DT><KBD>.</KBD>
<DD>
-<A NAME="IDX370"></A>
+<A NAME="IDX376"></A>
Redisplay the current entry (<CODE>po-current-entry</CODE>).
<DT><KBD>n</KBD>
<DD>
-<A NAME="IDX371"></A>
+<A NAME="IDX377"></A>
Select the entry after the current one (<CODE>po-next-entry</CODE>).
<DT><KBD>p</KBD>
<DD>
-<A NAME="IDX372"></A>
+<A NAME="IDX378"></A>
Select the entry before the current one (<CODE>po-previous-entry</CODE>).
<DT><KBD>&#60;</KBD>
<DD>
-<A NAME="IDX373"></A>
+<A NAME="IDX379"></A>
Select the first entry in the PO file (<CODE>po-first-entry</CODE>).
<DT><KBD>&#62;</KBD>
<DD>
-<A NAME="IDX374"></A>
+<A NAME="IDX380"></A>
Select the last entry in the PO file (<CODE>po-last-entry</CODE>).
<DT><KBD>m</KBD>
<DD>
-<A NAME="IDX375"></A>
+<A NAME="IDX381"></A>
Record the location of the current entry for later use
(<CODE>po-push-location</CODE>).
<DT><KBD>r</KBD>
<DD>
-<A NAME="IDX376"></A>
+<A NAME="IDX382"></A>
Return to a previously saved entry location (<CODE>po-pop-location</CODE>).
<DT><KBD>x</KBD>
<DD>
-<A NAME="IDX377"></A>
+<A NAME="IDX383"></A>
Exchange the current entry location with the previously saved one
(<CODE>po-exchange-location</CODE>).
</DL>
<P>
-<A NAME="IDX378"></A>
-<A NAME="IDX379"></A>
+<A NAME="IDX384"></A>
+<A NAME="IDX385"></A>
Any Emacs command able to reposition the cursor may be used
to select the current entry in PO mode, including commands which
move by characters, lines, paragraphs, screens or pages, and search
@@ -384,10 +384,10 @@ how <EM>others</EM> should do translation.
</P>
<P>
-<A NAME="IDX380"></A>
-<A NAME="IDX381"></A>
-<A NAME="IDX382"></A>
-<A NAME="IDX383"></A>
+<A NAME="IDX386"></A>
+<A NAME="IDX387"></A>
+<A NAME="IDX388"></A>
+<A NAME="IDX389"></A>
The commands <KBD>n</KBD> (<CODE>po-next-entry</CODE>) and <KBD>p</KBD>
(<CODE>po-previous-entry</CODE>) move the cursor the entry following,
or preceding, the current one. If <KBD>n</KBD> is given while the
@@ -396,10 +396,10 @@ is given while the cursor is on the first entry, no move is done.
</P>
<P>
-<A NAME="IDX384"></A>
-<A NAME="IDX385"></A>
-<A NAME="IDX386"></A>
-<A NAME="IDX387"></A>
+<A NAME="IDX390"></A>
+<A NAME="IDX391"></A>
+<A NAME="IDX392"></A>
+<A NAME="IDX393"></A>
The commands <KBD>&#60;</KBD> (<CODE>po-first-entry</CODE>) and <KBD>&#62;</KBD>
(<CODE>po-last-entry</CODE>) move the cursor to the first entry, or last
entry, of the PO file. When the cursor is located past the last
@@ -422,10 +422,10 @@ register for getting back, or else, use the location ring.
</P>
<P>
-<A NAME="IDX388"></A>
-<A NAME="IDX389"></A>
-<A NAME="IDX390"></A>
-<A NAME="IDX391"></A>
+<A NAME="IDX394"></A>
+<A NAME="IDX395"></A>
+<A NAME="IDX396"></A>
+<A NAME="IDX397"></A>
PO mode offers another approach, by which cursor locations may be saved
onto a special stack. The command <KBD>m</KBD> (<CODE>po-push-location</CODE>)
merely adds the location of current entry to the stack, pushing
@@ -445,8 +445,8 @@ ought to use <KBD>m</KBD> immediately after <KBD>r</KBD>.
</P>
<P>
-<A NAME="IDX392"></A>
-<A NAME="IDX393"></A>
+<A NAME="IDX398"></A>
+<A NAME="IDX399"></A>
The command <KBD>x</KBD> (<CODE>po-exchange-location</CODE>) simultaneously
repositions the cursor to the entry associated with the top element of
the stack of saved locations, and replaces that top element with the
@@ -461,7 +461,7 @@ merely use <KBD>x</KBD> for making the switch.
<H3><A NAME="SEC62" HREF="gettext_toc.html#TOC62">8.3.4 Normalizing Strings in Entries</A></H3>
<P>
-<A NAME="IDX394"></A>
+<A NAME="IDX400"></A>
</P>
<P>
@@ -495,12 +495,12 @@ command is available:
</P>
<P>
-<A NAME="IDX395"></A>
+<A NAME="IDX401"></A>
<DL COMPACT>
<DT><KBD>M-x po-normalize</KBD>
<DD>
-<A NAME="IDX396"></A>
+<A NAME="IDX402"></A>
Tidy the whole PO file by making entries more uniform.
</DL>
@@ -532,7 +532,7 @@ for continued lines.
</P>
<P>
-<A NAME="IDX397"></A>
+<A NAME="IDX403"></A>
Having such an explicit normalizing command allows for importing PO
files from other sources, but also eases the evolution of the current
convention, evolution driven mostly by aesthetic concerns, as of now.
@@ -545,7 +545,7 @@ their PO files in nice ways.
</P>
<P>
-<A NAME="IDX398"></A>
+<A NAME="IDX404"></A>
Right now, in PO mode, strings are single line or multi-line. A string
goes multi-line if and only if it has <EM>embedded</EM> newlines, that
is, if it matches <SAMP>&lsquo;[^\n]\n+[^\n]&rsquo;</SAMP>. So, we would have:
@@ -598,7 +598,7 @@ to be documented in this manual, once these questions settle.
<H3><A NAME="SEC63" HREF="gettext_toc.html#TOC63">8.3.5 Translated Entries</A></H3>
<P>
-<A NAME="IDX399"></A>
+<A NAME="IDX405"></A>
</P>
<P>
@@ -610,7 +610,7 @@ Other entry types will be excluded; translation will not occur for them.
</P>
<P>
-<A NAME="IDX400"></A>
+<A NAME="IDX406"></A>
Some commands are more specifically related to translated entry processing.
</P>
@@ -618,21 +618,21 @@ Some commands are more specifically related to translated entry processing.
<DT><KBD>t</KBD>
<DD>
-<A NAME="IDX401"></A>
+<A NAME="IDX407"></A>
Find the next translated entry (<CODE>po-next-translated-entry</CODE>).
<DT><KBD>T</KBD>
<DD>
-<A NAME="IDX402"></A>
+<A NAME="IDX408"></A>
Find the previous translated entry (<CODE>po-previous-translated-entry</CODE>).
</DL>
<P>
-<A NAME="IDX403"></A>
-<A NAME="IDX404"></A>
-<A NAME="IDX405"></A>
-<A NAME="IDX406"></A>
+<A NAME="IDX409"></A>
+<A NAME="IDX410"></A>
+<A NAME="IDX411"></A>
+<A NAME="IDX412"></A>
The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>T</KBD>
(<CODE>po-previous-translated-entry</CODE>) move forwards or backwards, chasing
for an translated entry. If none is found, the search is extended and
@@ -640,7 +640,7 @@ wraps around in the PO file buffer.
</P>
<P>
-<A NAME="IDX407"></A>
+<A NAME="IDX413"></A>
Translated entries usually result from the translator having edited in
a translation for them, section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>. However, if the
variable <CODE>po-auto-fuzzy-on-edit</CODE> is not <CODE>nil</CODE>, the entry having
@@ -653,12 +653,12 @@ See section <A HREF="gettext_8.html#SEC64">8.3.6 Fuzzy Entries</A>.
<H3><A NAME="SEC64" HREF="gettext_toc.html#TOC64">8.3.6 Fuzzy Entries</A></H3>
<P>
-<A NAME="IDX408"></A>
+<A NAME="IDX414"></A>
</P>
<P>
-<A NAME="IDX409"></A>
-<A NAME="IDX410"></A>
+<A NAME="IDX415"></A>
+<A NAME="IDX416"></A>
Each PO file entry may have a set of <EM>attributes</EM>, which are
qualities given a name and explicitly associated with the translation,
using a special system comment. One of these attributes
@@ -681,7 +681,7 @@ might mark some entries as being fuzzy.
</P>
<P>
-<A NAME="IDX411"></A>
+<A NAME="IDX417"></A>
Also, the translator may decide herself to mark an entry as fuzzy
for her own convenience, when she wants to remember that the entry
has to be later revisited. So, some commands are more specifically
@@ -692,26 +692,26 @@ related to fuzzy entry processing.
<DT><KBD>f</KBD>
<DD>
-<A NAME="IDX412"></A>
+<A NAME="IDX418"></A>
Find the next fuzzy entry (<CODE>po-next-fuzzy-entry</CODE>).
<DT><KBD>F</KBD>
<DD>
-<A NAME="IDX413"></A>
+<A NAME="IDX419"></A>
Find the previous fuzzy entry (<CODE>po-previous-fuzzy-entry</CODE>).
<DT><KBD><KBD>TAB</KBD></KBD>
<DD>
-<A NAME="IDX414"></A>
+<A NAME="IDX420"></A>
Remove the fuzzy attribute of the current entry (<CODE>po-unfuzzy</CODE>).
</DL>
<P>
-<A NAME="IDX415"></A>
-<A NAME="IDX416"></A>
-<A NAME="IDX417"></A>
-<A NAME="IDX418"></A>
+<A NAME="IDX421"></A>
+<A NAME="IDX422"></A>
+<A NAME="IDX423"></A>
+<A NAME="IDX424"></A>
The commands <KBD>f</KBD> (<CODE>po-next-fuzzy-entry</CODE>) and <KBD>F</KBD>
(<CODE>po-previous-fuzzy-entry</CODE>) move forwards or backwards, chasing for
a fuzzy entry. If none is found, the search is extended and wraps
@@ -719,9 +719,9 @@ around in the PO file buffer.
</P>
<P>
-<A NAME="IDX419"></A>
-<A NAME="IDX420"></A>
-<A NAME="IDX421"></A>
+<A NAME="IDX425"></A>
+<A NAME="IDX426"></A>
+<A NAME="IDX427"></A>
The command <KBD><KBD>TAB</KBD></KBD> (<CODE>po-unfuzzy</CODE>) removes the fuzzy
attribute associated with an entry, usually leaving it translated.
Further, if the variable <CODE>po-auto-select-on-unfuzzy</CODE> has not
@@ -743,8 +743,8 @@ to chase another entry, leaving the entry fuzzy.
</P>
<P>
-<A NAME="IDX422"></A>
-<A NAME="IDX423"></A>
+<A NAME="IDX428"></A>
+<A NAME="IDX429"></A>
The translator may also use the <KBD><KBD>DEL</KBD></KBD> command
(<CODE>po-fade-out-entry</CODE>) over any translated entry to mark it as being
fuzzy, when she wants to easily leave a trace she wants to later return
@@ -761,7 +761,7 @@ still exists.
<H3><A NAME="SEC65" HREF="gettext_toc.html#TOC65">8.3.7 Untranslated Entries</A></H3>
<P>
-<A NAME="IDX424"></A>
+<A NAME="IDX430"></A>
</P>
<P>
@@ -781,7 +781,7 @@ are easily recognizable by the fact they end with <SAMP>&lsquo;msgstr ""&rsquo;<
</P>
<P>
-<A NAME="IDX425"></A>
+<A NAME="IDX431"></A>
The work of the translator might be (quite naively) seen as the process
of seeking for an untranslated entry, editing a translation for
it, and repeating these actions until no untranslated entries remain.
@@ -793,26 +793,26 @@ processing.
<DT><KBD>u</KBD>
<DD>
-<A NAME="IDX426"></A>
+<A NAME="IDX432"></A>
Find the next untranslated entry (<CODE>po-next-untranslated-entry</CODE>).
<DT><KBD>U</KBD>
<DD>
-<A NAME="IDX427"></A>
+<A NAME="IDX433"></A>
Find the previous untranslated entry (<CODE>po-previous-untransted-entry</CODE>).
<DT><KBD>k</KBD>
<DD>
-<A NAME="IDX428"></A>
+<A NAME="IDX434"></A>
Turn the current entry into an untranslated one (<CODE>po-kill-msgstr</CODE>).
</DL>
<P>
-<A NAME="IDX429"></A>
-<A NAME="IDX430"></A>
-<A NAME="IDX431"></A>
-<A NAME="IDX432"></A>
+<A NAME="IDX435"></A>
+<A NAME="IDX436"></A>
+<A NAME="IDX437"></A>
+<A NAME="IDX438"></A>
The commands <KBD>u</KBD> (<CODE>po-next-untranslated-entry</CODE>) and <KBD>U</KBD>
(<CODE>po-previous-untransted-entry</CODE>) move forwards or backwards,
chasing for an untranslated entry. If none is found, the search is
@@ -820,8 +820,8 @@ extended and wraps around in the PO file buffer.
</P>
<P>
-<A NAME="IDX433"></A>
-<A NAME="IDX434"></A>
+<A NAME="IDX439"></A>
+<A NAME="IDX440"></A>
An entry can be turned back into an untranslated entry by
merely emptying its translation, using the command <KBD>k</KBD>
(<CODE>po-kill-msgstr</CODE>). See section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>.
@@ -837,7 +837,7 @@ if some untranslated string still exists.
<H3><A NAME="SEC66" HREF="gettext_toc.html#TOC66">8.3.8 Obsolete Entries</A></H3>
<P>
-<A NAME="IDX435"></A>
+<A NAME="IDX441"></A>
</P>
<P>
@@ -863,7 +863,7 @@ after the fact.
</P>
<P>
-<A NAME="IDX436"></A>
+<A NAME="IDX442"></A>
Moreover, some commands are more specifically related to obsolete
entry processing.
@@ -872,27 +872,27 @@ entry processing.
<DT><KBD>o</KBD>
<DD>
-<A NAME="IDX437"></A>
+<A NAME="IDX443"></A>
Find the next obsolete entry (<CODE>po-next-obsolete-entry</CODE>).
<DT><KBD>O</KBD>
<DD>
-<A NAME="IDX438"></A>
+<A NAME="IDX444"></A>
Find the previous obsolete entry (<CODE>po-previous-obsolete-entry</CODE>).
<DT><KBD><KBD>DEL</KBD></KBD>
<DD>
-<A NAME="IDX439"></A>
+<A NAME="IDX445"></A>
Make an active entry obsolete, or zap out an obsolete entry
(<CODE>po-fade-out-entry</CODE>).
</DL>
<P>
-<A NAME="IDX440"></A>
-<A NAME="IDX441"></A>
-<A NAME="IDX442"></A>
-<A NAME="IDX443"></A>
+<A NAME="IDX446"></A>
+<A NAME="IDX447"></A>
+<A NAME="IDX448"></A>
+<A NAME="IDX449"></A>
The commands <KBD>o</KBD> (<CODE>po-next-obsolete-entry</CODE>) and <KBD>O</KBD>
(<CODE>po-previous-obsolete-entry</CODE>) move forwards or backwards,
chasing for an obsolete entry. If none is found, the search is
@@ -908,10 +908,10 @@ introducing useless <CODE>msgid</CODE> values.
</P>
<P>
-<A NAME="IDX444"></A>
-<A NAME="IDX445"></A>
-<A NAME="IDX446"></A>
-<A NAME="IDX447"></A>
+<A NAME="IDX450"></A>
+<A NAME="IDX451"></A>
+<A NAME="IDX452"></A>
+<A NAME="IDX453"></A>
However, it is possible to comment out an active entry, so making
it obsolete. GNU <CODE>gettext</CODE> utilities will later react to the
disappearance of a translation by using the untranslated string.
@@ -941,8 +941,8 @@ merely tries to provide handy tools for helping her to do so.
<H3><A NAME="SEC67" HREF="gettext_toc.html#TOC67">8.3.9 Modifying Translations</A></H3>
<P>
-<A NAME="IDX448"></A>
-<A NAME="IDX449"></A>
+<A NAME="IDX454"></A>
+<A NAME="IDX455"></A>
</P>
<P>
@@ -968,40 +968,40 @@ using the following commands for modifying the translations.
<DT><KBD><KBD>RET</KBD></KBD>
<DD>
-<A NAME="IDX450"></A>
+<A NAME="IDX456"></A>
Interactively edit the translation (<CODE>po-edit-msgstr</CODE>).
<DT><KBD><KBD>LFD</KBD></KBD>
<DD>
<DT><KBD>C-j</KBD>
<DD>
-<A NAME="IDX451"></A>
-<A NAME="IDX452"></A>
+<A NAME="IDX457"></A>
+<A NAME="IDX458"></A>
Reinitialize the translation with the original, untranslated string
(<CODE>po-msgid-to-msgstr</CODE>).
<DT><KBD>k</KBD>
<DD>
-<A NAME="IDX453"></A>
+<A NAME="IDX459"></A>
Save the translation on the kill ring, and delete it (<CODE>po-kill-msgstr</CODE>).
<DT><KBD>w</KBD>
<DD>
-<A NAME="IDX454"></A>
+<A NAME="IDX460"></A>
Save the translation on the kill ring, without deleting it
(<CODE>po-kill-ring-save-msgstr</CODE>).
<DT><KBD>y</KBD>
<DD>
-<A NAME="IDX455"></A>
+<A NAME="IDX461"></A>
Replace the translation, taking the new from the kill ring
(<CODE>po-yank-msgstr</CODE>).
</DL>
<P>
-<A NAME="IDX456"></A>
-<A NAME="IDX457"></A>
+<A NAME="IDX462"></A>
+<A NAME="IDX463"></A>
The command <KBD><KBD>RET</KBD></KBD> (<CODE>po-edit-msgstr</CODE>) opens a new Emacs
window meant to edit in a new translation, or to modify an already existing
translation. The new window contains a copy of the translation taken from
@@ -1014,9 +1014,9 @@ for more information.
</P>
<P>
-<A NAME="IDX458"></A>
-<A NAME="IDX459"></A>
-<A NAME="IDX460"></A>
+<A NAME="IDX464"></A>
+<A NAME="IDX465"></A>
+<A NAME="IDX466"></A>
The command <KBD><KBD>LFD</KBD></KBD> (<CODE>po-msgid-to-msgstr</CODE>) initializes, or
reinitializes the translation with the original string. This command is
normally used when the translator wants to redo a fresh translation of
@@ -1024,7 +1024,7 @@ the original string, disregarding any previous work.
</P>
<P>
-<A NAME="IDX461"></A>
+<A NAME="IDX467"></A>
It is possible to arrange so, whenever editing an untranslated
entry, the <KBD><KBD>LFD</KBD></KBD> command be automatically executed. If you set
<CODE>po-auto-edit-with-msgid</CODE> to <CODE>t</CODE>, the translation gets
@@ -1033,7 +1033,7 @@ The default value for <CODE>po-auto-edit-with-msgid</CODE> is <CODE>nil</CODE>.
</P>
<P>
-<A NAME="IDX462"></A>
+<A NAME="IDX468"></A>
In fact, whether it is best to start a translation with an empty
string, or rather with a copy of the original string, is a matter of
taste or habit. Sometimes, the source language and the
@@ -1047,11 +1047,11 @@ if this requires some extra editing work to get rid of the original.
</P>
<P>
-<A NAME="IDX463"></A>
-<A NAME="IDX464"></A>
-<A NAME="IDX465"></A>
-<A NAME="IDX466"></A>
-<A NAME="IDX467"></A>
+<A NAME="IDX469"></A>
+<A NAME="IDX470"></A>
+<A NAME="IDX471"></A>
+<A NAME="IDX472"></A>
+<A NAME="IDX473"></A>
The command <KBD>k</KBD> (<CODE>po-kill-msgstr</CODE>) merely empties the
translation string, so turning the entry into an untranslated
one. But while doing so, its previous contents is put apart in
@@ -1083,8 +1083,8 @@ entries, the translation is also uncommented prior to saving.
</P>
<P>
-<A NAME="IDX468"></A>
-<A NAME="IDX469"></A>
+<A NAME="IDX474"></A>
+<A NAME="IDX475"></A>
The command <KBD>y</KBD> (<CODE>po-yank-msgstr</CODE>) completely replaces the
translation of the current entry by a string taken from the kill ring.
Following Emacs terminology, we then say that the replacement
@@ -1118,7 +1118,7 @@ yanking commands themselves.
</P>
<P>
-<A NAME="IDX470"></A>
+<A NAME="IDX476"></A>
To better illustrate the operation of killing and yanking, let's
use an actual example, taken from a common situation. When the
programmer slightly modifies some string right in the program, his
@@ -1158,8 +1158,8 @@ See section ‘Keyboard Macros’ in <CITE>The Emacs Editor</CITE>.
<H3><A NAME="SEC68" HREF="gettext_toc.html#TOC68">8.3.10 Modifying Comments</A></H3>
<P>
-<A NAME="IDX471"></A>
-<A NAME="IDX472"></A>
+<A NAME="IDX477"></A>
+<A NAME="IDX478"></A>
</P>
<P>
@@ -1188,24 +1188,24 @@ so the general indications given for those apply here. See section <A HREF="get
<DT><KBD>#</KBD>
<DD>
-<A NAME="IDX473"></A>
+<A NAME="IDX479"></A>
Interactively edit the translator comments (<CODE>po-edit-comment</CODE>).
<DT><KBD>K</KBD>
<DD>
-<A NAME="IDX474"></A>
+<A NAME="IDX480"></A>
Save the translator comments on the kill ring, and delete it
(<CODE>po-kill-comment</CODE>).
<DT><KBD>W</KBD>
<DD>
-<A NAME="IDX475"></A>
+<A NAME="IDX481"></A>
Save the translator comments on the kill ring, without deleting it
(<CODE>po-kill-ring-save-comment</CODE>).
<DT><KBD>Y</KBD>
<DD>
-<A NAME="IDX476"></A>
+<A NAME="IDX482"></A>
Replace the translator comments, taking the new from the kill ring
(<CODE>po-yank-comment</CODE>).
@@ -1221,8 +1221,8 @@ See section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>.
</P>
<P>
-<A NAME="IDX477"></A>
-<A NAME="IDX478"></A>
+<A NAME="IDX483"></A>
+<A NAME="IDX484"></A>
The command <KBD>#</KBD> (<CODE>po-edit-comment</CODE>) opens a new Emacs window
containing a copy of the translator comments on the current PO file entry.
If there are no such comments, PO mode understands that the translator wants
@@ -1236,18 +1236,18 @@ See section <A HREF="gettext_8.html#SEC69">8.3.11 Details of Sub Edition</A>, f
</P>
<P>
-<A NAME="IDX479"></A>
+<A NAME="IDX485"></A>
Functions found on <CODE>po-subedit-mode-hook</CODE>, if any, are executed after
the string has been inserted in the edit buffer.
</P>
<P>
-<A NAME="IDX480"></A>
-<A NAME="IDX481"></A>
-<A NAME="IDX482"></A>
-<A NAME="IDX483"></A>
-<A NAME="IDX484"></A>
-<A NAME="IDX485"></A>
+<A NAME="IDX486"></A>
+<A NAME="IDX487"></A>
+<A NAME="IDX488"></A>
+<A NAME="IDX489"></A>
+<A NAME="IDX490"></A>
+<A NAME="IDX491"></A>
The command <KBD>K</KBD> (<CODE>po-kill-comment</CODE>) gets rid of all
translator comments, while saving those comments on the kill ring.
The command <KBD>W</KBD> (<CODE>po-kill-ring-save-comment</CODE>) takes
@@ -1288,7 +1288,7 @@ regular Emacs commands <KBD>C-y</KBD> (<CODE>yank</CODE>) and <KBD>M-y</KBD>
<H3><A NAME="SEC69" HREF="gettext_toc.html#TOC69">8.3.11 Details of Sub Edition</A></H3>
<P>
-<A NAME="IDX486"></A>
+<A NAME="IDX492"></A>
</P>
<P>
@@ -1301,25 +1301,25 @@ of Emacs, which are described below.
<DT><KBD>C-c C-c</KBD>
<DD>
-<A NAME="IDX487"></A>
+<A NAME="IDX493"></A>
Complete edition (<CODE>po-subedit-exit</CODE>).
<DT><KBD>C-c C-k</KBD>
<DD>
-<A NAME="IDX488"></A>
+<A NAME="IDX494"></A>
Abort edition (<CODE>po-subedit-abort</CODE>).
<DT><KBD>C-c C-a</KBD>
<DD>
-<A NAME="IDX489"></A>
+<A NAME="IDX495"></A>
Consult auxiliary PO files (<CODE>po-subedit-cycle-auxiliary</CODE>).
</DL>
<P>
-<A NAME="IDX490"></A>
-<A NAME="IDX491"></A>
-<A NAME="IDX492"></A>
+<A NAME="IDX496"></A>
+<A NAME="IDX497"></A>
+<A NAME="IDX498"></A>
The window's contents represents a translation for a given message,
or a translator comment. The translator may modify this window to
her heart's content. Once this is done, the command <KBD>C-c C-c</KBD>
@@ -1329,8 +1329,8 @@ sight or if buffers were switched.
</P>
<P>
-<A NAME="IDX493"></A>
-<A NAME="IDX494"></A>
+<A NAME="IDX499"></A>
+<A NAME="IDX500"></A>
If the translator becomes unsatisfied with her translation or comment,
to the extent she prefers keeping what was existent prior to the
<KBD><KBD>RET</KBD></KBD> or <KBD>#</KBD> command, she may use the command <KBD>C-c C-k</KBD>
@@ -1341,8 +1341,8 @@ whole effect of last edition.
</P>
<P>
-<A NAME="IDX495"></A>
-<A NAME="IDX496"></A>
+<A NAME="IDX501"></A>
+<A NAME="IDX502"></A>
The command <KBD>C-c C-a</KBD> (<CODE>po-subedit-cycle-auxiliary</CODE>)
allows for glancing through translations
already achieved in other languages, directly while editing the current
@@ -1376,7 +1376,7 @@ in the editing window, as ending with two <CODE>&#60;</CODE> in a row.
</P>
<P>
-<A NAME="IDX497"></A>
+<A NAME="IDX503"></A>
When a translation (or a comment) is being edited, the translator may move
the cursor back into the PO file buffer and freely move to other entries,
browsing at will. If, with an edition pending, the translator wanders in the
@@ -1389,7 +1389,7 @@ the translator should better be comfortable at handling many Emacs windows!
</P>
<P>
-<A NAME="IDX498"></A>
+<A NAME="IDX504"></A>
Pending subedits may be completed or aborted in any order, regardless
of how or when they were started. When many subedits are pending and the
translator asks for quitting the PO file (with the <KBD>q</KBD> command), subedits
@@ -1400,9 +1400,9 @@ are automatically resumed one at a time, so she may decide for each of them.
<H3><A NAME="SEC70" HREF="gettext_toc.html#TOC70">8.3.12 C Sources Context</A></H3>
<P>
-<A NAME="IDX499"></A>
-<A NAME="IDX500"></A>
-<A NAME="IDX501"></A>
+<A NAME="IDX505"></A>
+<A NAME="IDX506"></A>
+<A NAME="IDX507"></A>
</P>
<P>
@@ -1439,7 +1439,7 @@ overall organization, than to the program code itself.
</P>
<P>
-<A NAME="IDX502"></A>
+<A NAME="IDX508"></A>
The following commands are meant to help the translator at getting
program source context for a PO file entry.
@@ -1448,35 +1448,35 @@ program source context for a PO file entry.
<DT><KBD>s</KBD>
<DD>
-<A NAME="IDX503"></A>
+<A NAME="IDX509"></A>
Resume the display of a program source context, or cycle through them
(<CODE>po-cycle-source-reference</CODE>).
<DT><KBD>M-s</KBD>
<DD>
-<A NAME="IDX504"></A>
+<A NAME="IDX510"></A>
Display of a program source context selected by menu
(<CODE>po-select-source-reference</CODE>).
<DT><KBD>S</KBD>
<DD>
-<A NAME="IDX505"></A>
+<A NAME="IDX511"></A>
Add a directory to the search path for source files
(<CODE>po-consider-source-path</CODE>).
<DT><KBD>M-S</KBD>
<DD>
-<A NAME="IDX506"></A>
+<A NAME="IDX512"></A>
Delete a directory from the search path for source files
(<CODE>po-ignore-source-path</CODE>).
</DL>
<P>
-<A NAME="IDX507"></A>
-<A NAME="IDX508"></A>
-<A NAME="IDX509"></A>
-<A NAME="IDX510"></A>
+<A NAME="IDX513"></A>
+<A NAME="IDX514"></A>
+<A NAME="IDX515"></A>
+<A NAME="IDX516"></A>
The commands <KBD>s</KBD> (<CODE>po-cycle-source-reference</CODE>) and <KBD>M-s</KBD>
(<CODE>po-select-source-reference</CODE>) both open another window displaying
some source program file, and already positioned in such a way that
@@ -1521,10 +1521,10 @@ available for a single string to translate.
</P>
<P>
-<A NAME="IDX511"></A>
-<A NAME="IDX512"></A>
-<A NAME="IDX513"></A>
-<A NAME="IDX514"></A>
+<A NAME="IDX517"></A>
+<A NAME="IDX518"></A>
+<A NAME="IDX519"></A>
+<A NAME="IDX520"></A>
Program source files are usually found relative to where the PO
file stands. As a special provision, when this fails, the file is
also looked for, but relative to the directory immediately above it.
@@ -1544,7 +1544,7 @@ one of the directories she does not want anymore on the search path.
<H3><A NAME="SEC71" HREF="gettext_toc.html#TOC71">8.3.13 Consulting Auxiliary PO Files</A></H3>
<P>
-<A NAME="IDX515"></A>
+<A NAME="IDX521"></A>
</P>
<P>
@@ -1557,8 +1557,8 @@ at once, for translators preferring to work in this way.
</P>
<P>
-<A NAME="IDX516"></A>
-<A NAME="IDX517"></A>
+<A NAME="IDX522"></A>
+<A NAME="IDX523"></A>
An <EM>auxiliary</EM> PO file is an existing PO file meant for the same
package the translator is working on, but targeted to a different mother
tongue language. Commands exist for declaring and handling auxiliary
@@ -1573,41 +1573,41 @@ Here are the auxiliary file commands available in PO mode.
<DT><KBD>a</KBD>
<DD>
-<A NAME="IDX518"></A>
+<A NAME="IDX524"></A>
Seek auxiliary files for another translation for the same entry
(<CODE>po-cycle-auxiliary</CODE>).
<DT><KBD>C-c C-a</KBD>
<DD>
-<A NAME="IDX519"></A>
+<A NAME="IDX525"></A>
Switch to a particular auxiliary file (<CODE>po-select-auxiliary</CODE>).
<DT><KBD>A</KBD>
<DD>
-<A NAME="IDX520"></A>
+<A NAME="IDX526"></A>
Declare this PO file as an auxiliary file (<CODE>po-consider-as-auxiliary</CODE>).
<DT><KBD>M-A</KBD>
<DD>
-<A NAME="IDX521"></A>
+<A NAME="IDX527"></A>
Remove this PO file from the list of auxiliary files
(<CODE>po-ignore-as-auxiliary</CODE>).
</DL>
<P>
-<A NAME="IDX522"></A>
-<A NAME="IDX523"></A>
-<A NAME="IDX524"></A>
-<A NAME="IDX525"></A>
+<A NAME="IDX528"></A>
+<A NAME="IDX529"></A>
+<A NAME="IDX530"></A>
+<A NAME="IDX531"></A>
Command <KBD>A</KBD> (<CODE>po-consider-as-auxiliary</CODE>) adds the current
PO file to the list of auxiliary files, while command <KBD>M-A</KBD>
(<CODE>po-ignore-as-auxiliary</CODE> just removes it.
</P>
<P>
-<A NAME="IDX526"></A>
-<A NAME="IDX527"></A>
+<A NAME="IDX532"></A>
+<A NAME="IDX533"></A>
The command <KBD>a</KBD> (<CODE>po-cycle-auxiliary</CODE>) seeks all auxiliary PO
files, round-robin, searching for a translated entry in some other language
having an <CODE>msgid</CODE> field identical as the one for the current entry.
@@ -1619,8 +1619,8 @@ so repeating <KBD>a</KBD> will eventually yield back the original PO file.
</P>
<P>
-<A NAME="IDX528"></A>
-<A NAME="IDX529"></A>
+<A NAME="IDX534"></A>
+<A NAME="IDX535"></A>
The command <KBD>C-c C-a</KBD> (<CODE>po-select-auxiliary</CODE>) asks the translator
for her choice of a particular auxiliary file, with completion, and
then switches to that selected PO file. The command also checks if
@@ -1640,7 +1640,7 @@ their <CODE>msgid</CODE> entries written by the same GNU <CODE>gettext</CODE> to
</P>
<P>
-<A NAME="IDX530"></A>
+<A NAME="IDX536"></A>
However, PO files initially created by PO mode itself, while marking
strings in source files, are normalised differently. So are PO
files resulting of the <SAMP>&lsquo;M-x normalize&rsquo;</SAMP> command. Until these
@@ -1652,11 +1652,11 @@ fully resolved, the translator should stay aware of normalisation issues.
<H2><A NAME="SEC72" HREF="gettext_toc.html#TOC72">8.4 Using Translation Compendia</A></H2>
<P>
-<A NAME="IDX531"></A>
+<A NAME="IDX537"></A>
</P>
<P>
-<A NAME="IDX532"></A>
+<A NAME="IDX538"></A>
A <EM>compendium</EM> is a special PO file containing a set of
translations recurring in many different packages. The translator can
use gettext tools to build a new compendium, to add entries to her
@@ -1669,8 +1669,8 @@ already translated entries, from translations kept in the compendium.
<H3><A NAME="SEC73" HREF="gettext_toc.html#TOC73">8.4.1 Creating Compendia</A></H3>
<P>
-<A NAME="IDX533"></A>
-<A NAME="IDX534"></A>
+<A NAME="IDX539"></A>
+<A NAME="IDX540"></A>
</P>
<P>
@@ -1685,8 +1685,8 @@ files</CITE> and <CITE>extracting a message subset from a PO file</CITE>.
<H4><A NAME="SEC74" HREF="gettext_toc.html#TOC74">8.4.1.1 Concatenate PO Files</A></H4>
<P>
-<A NAME="IDX535"></A>
-<A NAME="IDX536"></A>
+<A NAME="IDX541"></A>
+<A NAME="IDX542"></A>
To concatenate several valid PO files into one compendium file you can
use <SAMP>&lsquo;msgcomm&rsquo;</SAMP> or <SAMP>&lsquo;msgcat&rsquo;</SAMP> (the latter preferred):
@@ -1767,7 +1767,7 @@ files or postprocess the result using <SAMP>&lsquo;msgattrib --translated --no-f
<H4><A NAME="SEC75" HREF="gettext_toc.html#TOC75">8.4.1.2 Extract a Message Subset from a PO File</A></H4>
<P>
-<A NAME="IDX537"></A>
+<A NAME="IDX543"></A>
</P>
<P>
@@ -1798,7 +1798,7 @@ or to update an already existing translation.
<H4><A NAME="SEC77" HREF="gettext_toc.html#TOC77">8.4.2.1 Initialize a New Translation File</A></H4>
<P>
-<A NAME="IDX538"></A>
+<A NAME="IDX544"></A>
</P>
<P>
@@ -1815,7 +1815,7 @@ msgmerge --compendium compendium.po -o file.po /dev/null file.pot
<H4><A NAME="SEC78" HREF="gettext_toc.html#TOC78">8.4.2.2 Update an Existing Translation File</A></H4>
<P>
-<A NAME="IDX539"></A>
+<A NAME="IDX545"></A>
</P>
<P>
diff --git a/gettext-tools/doc/gettext_9.html b/gettext-tools/doc/gettext_9.html
index b994a8a..bff7d4f 100644
--- a/gettext-tools/doc/gettext_9.html
+++ b/gettext-tools/doc/gettext_9.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 9 Manipulating PO Files</TITLE>
@@ -13,7 +13,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous<
<H1><A NAME="SEC79" HREF="gettext_toc.html#TOC79">9 Manipulating PO Files</A></H1>
<P>
-<A NAME="IDX540"></A>
+<A NAME="IDX546"></A>
</P>
<P>
@@ -23,7 +23,7 @@ complete set of tools for this purpose.
</P>
<P>
-<A NAME="IDX541"></A>
+<A NAME="IDX547"></A>
When merging two packages into a single package, the resulting POT file
will be the concatenation of the two packages' POT files. Thus the
maintainer must concatenate the two existing package translations into
@@ -33,7 +33,7 @@ possible conflicts that arose during the merge.
</P>
<P>
-<A NAME="IDX542"></A>
+<A NAME="IDX548"></A>
When a translator takes over the translation job from another translator,
but she uses a different character encoding in her locale, she will
convert the catalog to her character encoding. This is best done through
@@ -49,8 +49,8 @@ that source file and use <SAMP>&lsquo;msgmerge&rsquo;</SAMP>.
</P>
<P>
-<A NAME="IDX543"></A>
-<A NAME="IDX544"></A>
+<A NAME="IDX549"></A>
+<A NAME="IDX550"></A>
When a translator wants to adjust some translation catalog for a special
dialect or orthography -- for example, German as written in Switzerland
versus German as written in Germany -- she needs to apply some text
@@ -67,14 +67,14 @@ that's why it's better to use the original POT file if available.
</P>
<P>
-<A NAME="IDX545"></A>
+<A NAME="IDX551"></A>
When a translator wants to check her translations, for example according
to orthography rules or using a non-interactive spell checker, she can do
so using the <SAMP>&lsquo;msgexec&rsquo;</SAMP> program.
</P>
<P>
-<A NAME="IDX546"></A>
+<A NAME="IDX552"></A>
When third party tools create PO or POT files, sometimes duplicates cannot
be avoided. But the GNU <CODE>gettext</CODE> tools give an error when they
encounter duplicate msgids in the same file and in the same domain.
@@ -92,7 +92,7 @@ completely translated.
</P>
<P>
-<A NAME="IDX547"></A>
+<A NAME="IDX553"></A>
<SAMP>&lsquo;msgattrib&rsquo;</SAMP> can be used to select and extract only the fuzzy
or untranslated messages of a translation catalog.
@@ -114,16 +114,16 @@ write other specialized programs that process PO files.
<H2><A NAME="SEC80" HREF="gettext_toc.html#TOC80">9.1 Invoking the <CODE>msgcat</CODE> Program</A></H2>
<P>
-<A NAME="IDX548"></A>
-<A NAME="IDX549"></A>
+<A NAME="IDX554"></A>
+<A NAME="IDX555"></A>
<PRE>
msgcat [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
</PRE>
<P>
-<A NAME="IDX550"></A>
-<A NAME="IDX551"></A>
+<A NAME="IDX556"></A>
+<A NAME="IDX557"></A>
The <CODE>msgcat</CODE> program concatenates and merges the specified PO files.
It finds messages which are common to two or more of the specified PO files.
By using the <CODE>--more-than</CODE> option, greater commonality may be requested
@@ -149,8 +149,8 @@ Input files.
<DD>
<DT><SAMP>&lsquo;--files-from=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX552"></A>
-<A NAME="IDX553"></A>
+<A NAME="IDX558"></A>
+<A NAME="IDX559"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
@@ -158,8 +158,8 @@ them from the command line.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX554"></A>
-<A NAME="IDX555"></A>
+<A NAME="IDX560"></A>
+<A NAME="IDX561"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -180,14 +180,14 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX556"></A>
-<A NAME="IDX557"></A>
+<A NAME="IDX562"></A>
+<A NAME="IDX563"></A>
Write output to specified file.
</DL>
<P>
-<A NAME="IDX558"></A>
+<A NAME="IDX564"></A>
The results are written to standard output if no output file is specified
or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
@@ -202,8 +202,8 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--less-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX559"></A>
-<A NAME="IDX560"></A>
+<A NAME="IDX565"></A>
+<A NAME="IDX566"></A>
Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
if not set.
@@ -211,8 +211,8 @@ if not set.
<DD>
<DT><SAMP>&lsquo;--more-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX561"></A>
-<A NAME="IDX562"></A>
+<A NAME="IDX567"></A>
+<A NAME="IDX568"></A>
Print messages with more than <VAR>number</VAR> definitions, defaults to 0 if not
set.
@@ -220,8 +220,8 @@ set.
<DD>
<DT><SAMP>&lsquo;--unique&rsquo;</SAMP>
<DD>
-<A NAME="IDX563"></A>
-<A NAME="IDX564"></A>
+<A NAME="IDX569"></A>
+<A NAME="IDX570"></A>
Shorthand for <SAMP>&lsquo;--less-than=2&rsquo;</SAMP>. Requests that only unique messages be
printed.
@@ -237,14 +237,14 @@ printed.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX565"></A>
-<A NAME="IDX566"></A>
+<A NAME="IDX571"></A>
+<A NAME="IDX572"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX567"></A>
+<A NAME="IDX573"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -260,19 +260,19 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--to-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX568"></A>
-<A NAME="IDX569"></A>
+<A NAME="IDX574"></A>
+<A NAME="IDX575"></A>
Specify encoding for output.
<DT><SAMP>&lsquo;--use-first&rsquo;</SAMP>
<DD>
-<A NAME="IDX570"></A>
+<A NAME="IDX576"></A>
Use first available translation for each message. Don't merge several
translations into one.
<DT><SAMP>&lsquo;--lang=<VAR>catalogname</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX571"></A>
+<A NAME="IDX577"></A>
Specify the <SAMP>&lsquo;Language&rsquo;</SAMP> field to be used in the header entry. See
section <A HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A> for the meaning of this field. Note: The
<SAMP>&lsquo;Language-Team&rsquo;</SAMP> and <SAMP>&lsquo;Plural-Forms&rsquo;</SAMP> fields are left unchanged.
@@ -281,40 +281,40 @@ section <A HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A> for
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX572"></A>
+<A NAME="IDX578"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX573"></A>
+<A NAME="IDX579"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX574"></A>
+<A NAME="IDX580"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX575"></A>
-<A NAME="IDX576"></A>
+<A NAME="IDX581"></A>
+<A NAME="IDX582"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX577"></A>
+<A NAME="IDX583"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX578"></A>
-<A NAME="IDX579"></A>
+<A NAME="IDX584"></A>
+<A NAME="IDX585"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -325,7 +325,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX580"></A>
+<A NAME="IDX586"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -334,15 +334,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX581"></A>
-<A NAME="IDX582"></A>
+<A NAME="IDX587"></A>
+<A NAME="IDX588"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX583"></A>
+<A NAME="IDX589"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -350,15 +350,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX584"></A>
-<A NAME="IDX585"></A>
+<A NAME="IDX590"></A>
+<A NAME="IDX591"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX586"></A>
+<A NAME="IDX592"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -367,9 +367,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX587"></A>
-<A NAME="IDX588"></A>
-<A NAME="IDX589"></A>
+<A NAME="IDX593"></A>
+<A NAME="IDX594"></A>
+<A NAME="IDX595"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -377,8 +377,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX590"></A>
-<A NAME="IDX591"></A>
+<A NAME="IDX596"></A>
+<A NAME="IDX597"></A>
Sort output by file location.
</DL>
@@ -393,16 +393,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX592"></A>
-<A NAME="IDX593"></A>
+<A NAME="IDX598"></A>
+<A NAME="IDX599"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX594"></A>
-<A NAME="IDX595"></A>
+<A NAME="IDX600"></A>
+<A NAME="IDX601"></A>
Output version information and exit.
</DL>
@@ -412,15 +412,15 @@ Output version information and exit.
<H2><A NAME="SEC87" HREF="gettext_toc.html#TOC87">9.2 Invoking the <CODE>msgconv</CODE> Program</A></H2>
<P>
-<A NAME="IDX596"></A>
-<A NAME="IDX597"></A>
+<A NAME="IDX602"></A>
+<A NAME="IDX603"></A>
<PRE>
msgconv [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX598"></A>
+<A NAME="IDX604"></A>
The <CODE>msgconv</CODE> program converts a translation catalog to a different
character encoding.
@@ -439,8 +439,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX599"></A>
-<A NAME="IDX600"></A>
+<A NAME="IDX605"></A>
+<A NAME="IDX606"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -461,8 +461,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX601"></A>
-<A NAME="IDX602"></A>
+<A NAME="IDX607"></A>
+<A NAME="IDX608"></A>
Write output to specified file.
</DL>
@@ -482,8 +482,8 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--to-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX603"></A>
-<A NAME="IDX604"></A>
+<A NAME="IDX609"></A>
+<A NAME="IDX610"></A>
Specify encoding for output.
</DL>
@@ -502,14 +502,14 @@ The default encoding is the current locale's encoding.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX605"></A>
-<A NAME="IDX606"></A>
+<A NAME="IDX611"></A>
+<A NAME="IDX612"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX607"></A>
+<A NAME="IDX613"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -525,39 +525,39 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX608"></A>
+<A NAME="IDX614"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX609"></A>
+<A NAME="IDX615"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX610"></A>
+<A NAME="IDX616"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX611"></A>
-<A NAME="IDX612"></A>
+<A NAME="IDX617"></A>
+<A NAME="IDX618"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX613"></A>
+<A NAME="IDX619"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX614"></A>
+<A NAME="IDX620"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -568,7 +568,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX615"></A>
+<A NAME="IDX621"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -577,15 +577,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX616"></A>
-<A NAME="IDX617"></A>
+<A NAME="IDX622"></A>
+<A NAME="IDX623"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX618"></A>
+<A NAME="IDX624"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -593,15 +593,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX619"></A>
-<A NAME="IDX620"></A>
+<A NAME="IDX625"></A>
+<A NAME="IDX626"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX621"></A>
+<A NAME="IDX627"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -610,8 +610,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX622"></A>
-<A NAME="IDX623"></A>
+<A NAME="IDX628"></A>
+<A NAME="IDX629"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -619,8 +619,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX624"></A>
-<A NAME="IDX625"></A>
+<A NAME="IDX630"></A>
+<A NAME="IDX631"></A>
Sort output by file location.
</DL>
@@ -635,16 +635,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX626"></A>
-<A NAME="IDX627"></A>
+<A NAME="IDX632"></A>
+<A NAME="IDX633"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX628"></A>
-<A NAME="IDX629"></A>
+<A NAME="IDX634"></A>
+<A NAME="IDX635"></A>
Output version information and exit.
</DL>
@@ -654,15 +654,15 @@ Output version information and exit.
<H2><A NAME="SEC94" HREF="gettext_toc.html#TOC94">9.3 Invoking the <CODE>msggrep</CODE> Program</A></H2>
<P>
-<A NAME="IDX630"></A>
-<A NAME="IDX631"></A>
+<A NAME="IDX636"></A>
+<A NAME="IDX637"></A>
<PRE>
msggrep [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX632"></A>
+<A NAME="IDX638"></A>
The <CODE>msggrep</CODE> program extracts all messages of a translation catalog
that match a given pattern or belong to some given source files.
@@ -681,8 +681,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX633"></A>
-<A NAME="IDX634"></A>
+<A NAME="IDX639"></A>
+<A NAME="IDX640"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -703,8 +703,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX635"></A>
-<A NAME="IDX636"></A>
+<A NAME="IDX641"></A>
+<A NAME="IDX642"></A>
Write output to specified file.
</DL>
@@ -770,8 +770,8 @@ expressions if -E is given, or fixed strings if -F is given.
<DD>
<DT><SAMP>&lsquo;--location=<VAR>sourcefile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX637"></A>
-<A NAME="IDX638"></A>
+<A NAME="IDX643"></A>
+<A NAME="IDX644"></A>
Select messages extracted from <VAR>sourcefile</VAR>. <VAR>sourcefile</VAR> can be
either a literal file name or a wildcard pattern.
@@ -779,96 +779,96 @@ either a literal file name or a wildcard pattern.
<DD>
<DT><SAMP>&lsquo;--domain=<VAR>domainname</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX639"></A>
-<A NAME="IDX640"></A>
+<A NAME="IDX645"></A>
+<A NAME="IDX646"></A>
Select messages belonging to domain <VAR>domainname</VAR>.
<DT><SAMP>&lsquo;-J&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgctxt&rsquo;</SAMP>
<DD>
-<A NAME="IDX641"></A>
-<A NAME="IDX642"></A>
+<A NAME="IDX647"></A>
+<A NAME="IDX648"></A>
Start of patterns for the msgctxt.
<DT><SAMP>&lsquo;-K&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgid&rsquo;</SAMP>
<DD>
-<A NAME="IDX643"></A>
-<A NAME="IDX644"></A>
+<A NAME="IDX649"></A>
+<A NAME="IDX650"></A>
Start of patterns for the msgid.
<DT><SAMP>&lsquo;-T&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgstr&rsquo;</SAMP>
<DD>
-<A NAME="IDX645"></A>
-<A NAME="IDX646"></A>
+<A NAME="IDX651"></A>
+<A NAME="IDX652"></A>
Start of patterns for the msgstr.
<DT><SAMP>&lsquo;-C&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--comment&rsquo;</SAMP>
<DD>
-<A NAME="IDX647"></A>
-<A NAME="IDX648"></A>
+<A NAME="IDX653"></A>
+<A NAME="IDX654"></A>
Start of patterns for the translator's comment.
<DT><SAMP>&lsquo;-X&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--extracted-comment&rsquo;</SAMP>
<DD>
-<A NAME="IDX649"></A>
-<A NAME="IDX650"></A>
+<A NAME="IDX655"></A>
+<A NAME="IDX656"></A>
Start of patterns for the extracted comments.
<DT><SAMP>&lsquo;-E&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--extended-regexp&rsquo;</SAMP>
<DD>
-<A NAME="IDX651"></A>
-<A NAME="IDX652"></A>
+<A NAME="IDX657"></A>
+<A NAME="IDX658"></A>
Specify that <VAR>pattern</VAR> is an extended regular expression.
<DT><SAMP>&lsquo;-F&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--fixed-strings&rsquo;</SAMP>
<DD>
-<A NAME="IDX653"></A>
-<A NAME="IDX654"></A>
+<A NAME="IDX659"></A>
+<A NAME="IDX660"></A>
Specify that <VAR>pattern</VAR> is a set of newline-separated strings.
<DT><SAMP>&lsquo;-e <VAR>pattern</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--regexp=<VAR>pattern</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX655"></A>
-<A NAME="IDX656"></A>
+<A NAME="IDX661"></A>
+<A NAME="IDX662"></A>
Use <VAR>pattern</VAR> as a regular expression.
<DT><SAMP>&lsquo;-f <VAR>file</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX657"></A>
-<A NAME="IDX658"></A>
+<A NAME="IDX663"></A>
+<A NAME="IDX664"></A>
Obtain <VAR>pattern</VAR> from <VAR>file</VAR>.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--ignore-case&rsquo;</SAMP>
<DD>
-<A NAME="IDX659"></A>
-<A NAME="IDX660"></A>
+<A NAME="IDX665"></A>
+<A NAME="IDX666"></A>
Ignore case distinctions.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--invert-match&rsquo;</SAMP>
<DD>
-<A NAME="IDX661"></A>
-<A NAME="IDX662"></A>
+<A NAME="IDX667"></A>
+<A NAME="IDX668"></A>
Output only the messages that do not match any selection criterion, instead
of the messages that match a selection criterion.
@@ -884,14 +884,14 @@ of the messages that match a selection criterion.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX663"></A>
-<A NAME="IDX664"></A>
+<A NAME="IDX669"></A>
+<A NAME="IDX670"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX665"></A>
+<A NAME="IDX671"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -907,36 +907,36 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX666"></A>
+<A NAME="IDX672"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX667"></A>
+<A NAME="IDX673"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX668"></A>
+<A NAME="IDX674"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX669"></A>
+<A NAME="IDX675"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX670"></A>
+<A NAME="IDX676"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX671"></A>
+<A NAME="IDX677"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -947,7 +947,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX672"></A>
+<A NAME="IDX678"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -956,15 +956,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX673"></A>
-<A NAME="IDX674"></A>
+<A NAME="IDX679"></A>
+<A NAME="IDX680"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX675"></A>
+<A NAME="IDX681"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -972,28 +972,28 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX676"></A>
-<A NAME="IDX677"></A>
+<A NAME="IDX682"></A>
+<A NAME="IDX683"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX678"></A>
+<A NAME="IDX684"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX679"></A>
+<A NAME="IDX685"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX680"></A>
+<A NAME="IDX686"></A>
Sort output by file location.
</DL>
@@ -1008,16 +1008,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX681"></A>
-<A NAME="IDX682"></A>
+<A NAME="IDX687"></A>
+<A NAME="IDX688"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX683"></A>
-<A NAME="IDX684"></A>
+<A NAME="IDX689"></A>
+<A NAME="IDX690"></A>
Output version information and exit.
</DL>
@@ -1071,28 +1071,28 @@ msggrep --msgstr -F -f wordlist.txt input.po
<H2><A NAME="SEC102" HREF="gettext_toc.html#TOC102">9.4 Invoking the <CODE>msgfilter</CODE> Program</A></H2>
<P>
-<A NAME="IDX685"></A>
-<A NAME="IDX686"></A>
+<A NAME="IDX691"></A>
+<A NAME="IDX692"></A>
<PRE>
msgfilter [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
</PRE>
<P>
-<A NAME="IDX687"></A>
+<A NAME="IDX693"></A>
The <CODE>msgfilter</CODE> program applies a filter to all translations of a
translation catalog.
</P>
<P>
-<A NAME="IDX688"></A>
-<A NAME="IDX689"></A>
-<A NAME="IDX690"></A>
-<A NAME="IDX691"></A>
-<A NAME="IDX692"></A>
-<A NAME="IDX693"></A>
<A NAME="IDX694"></A>
<A NAME="IDX695"></A>
+<A NAME="IDX696"></A>
+<A NAME="IDX697"></A>
+<A NAME="IDX698"></A>
+<A NAME="IDX699"></A>
+<A NAME="IDX700"></A>
+<A NAME="IDX701"></A>
During each <VAR>filter</VAR> invocation, the environment variable
<CODE>MSGFILTER_MSGID</CODE> is bound to the message's msgid, and the environment
variable <CODE>MSGFILTER_LOCATION</CODE> is bound to the location in the PO file
@@ -1119,16 +1119,16 @@ the previous msgid_plural.
<DD>
<DT><SAMP>&lsquo;--input=<VAR>inputfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX696"></A>
-<A NAME="IDX697"></A>
+<A NAME="IDX702"></A>
+<A NAME="IDX703"></A>
Input PO file.
<DT><SAMP>&lsquo;-D <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX698"></A>
-<A NAME="IDX699"></A>
+<A NAME="IDX704"></A>
+<A NAME="IDX705"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1149,8 +1149,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX700"></A>
-<A NAME="IDX701"></A>
+<A NAME="IDX706"></A>
+<A NAME="IDX707"></A>
Write output to specified file.
</DL>
@@ -1171,8 +1171,18 @@ used filter is <SAMP>&lsquo;sed&rsquo;</SAMP>. A few particular built-in filter
recognized.
</P>
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;--newline&rsquo;</SAMP>
+<DD>
+<A NAME="IDX708"></A>
+Add newline at the end of each input line and also strip the ending
+newline from the output line.
+
+</DL>
+
<P>
-<A NAME="IDX702"></A>
+<A NAME="IDX709"></A>
Note: If the filter is not a built-in filter, you have to care about encodings:
It is your responsibility to ensure that the <VAR>filter</VAR> can cope
with input encoded in the translation catalog's encoding. If the
@@ -1186,14 +1196,15 @@ locale, by using the <CODE>LC_ALL</CODE> environment variable.
</P>
<P>
-<A NAME="IDX703"></A>
-Note: Most translations in a translation catalog don't end with a newline
-character. For this reason, it is important that the <VAR>filter</VAR>
-recognizes its last input line even if it ends without a newline, and that
-it doesn't add an undesired trailing newline at the end. The <SAMP>&lsquo;sed&rsquo;</SAMP>
-program on some platforms is known to ignore the last line of input if it
-is not terminated with a newline. You can use GNU <CODE>sed</CODE> instead; it
-does not have this limitation.
+<A NAME="IDX710"></A>
+Note: Most translations in a translation catalog don't end with a
+newline character. For this reason, unless the <CODE>--newline</CODE>
+option is used, it is important that the <VAR>filter</VAR> recognizes its
+last input line even if it ends without a newline, and that it doesn't
+add an undesired trailing newline at the end. The <SAMP>&lsquo;sed&rsquo;</SAMP> program on
+some platforms is known to ignore the last line of input if it is not
+terminated with a newline. You can use GNU <CODE>sed</CODE> instead; it does
+not have this limitation.
</P>
@@ -1206,16 +1217,16 @@ does not have this limitation.
<DD>
<DT><SAMP>&lsquo;--expression=<VAR>script</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX704"></A>
-<A NAME="IDX705"></A>
+<A NAME="IDX711"></A>
+<A NAME="IDX712"></A>
Add <VAR>script</VAR> to the commands to be executed.
<DT><SAMP>&lsquo;-f <VAR>scriptfile</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--file=<VAR>scriptfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX706"></A>
-<A NAME="IDX707"></A>
+<A NAME="IDX713"></A>
+<A NAME="IDX714"></A>
Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
@@ -1224,9 +1235,9 @@ Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
<DD>
<DT><SAMP>&lsquo;--silent&rsquo;</SAMP>
<DD>
-<A NAME="IDX708"></A>
-<A NAME="IDX709"></A>
-<A NAME="IDX710"></A>
+<A NAME="IDX715"></A>
+<A NAME="IDX716"></A>
+<A NAME="IDX717"></A>
Suppress automatic printing of pattern space.
</DL>
@@ -1236,8 +1247,8 @@ Suppress automatic printing of pattern space.
<H3><A NAME="SEC107" HREF="gettext_toc.html#TOC107">9.4.5 Built-in <VAR>filter</VAR>s</A></H3>
<P>
-<A NAME="IDX711"></A>
-<A NAME="IDX712"></A>
+<A NAME="IDX718"></A>
+<A NAME="IDX719"></A>
The filter <SAMP>&lsquo;recode-sr-latin&rsquo;</SAMP> is recognized as a built-in filter.
The command <SAMP>&lsquo;recode-sr-latin&rsquo;</SAMP> converts Serbian text, written in the
Cyrillic script, to the Latin script.
@@ -1247,14 +1258,14 @@ file to an <TT>&lsquo;sr@latin.po&rsquo;</TT> file.
</P>
<P>
-<A NAME="IDX713"></A>
+<A NAME="IDX720"></A>
The filter <SAMP>&lsquo;quot&rsquo;</SAMP> is recognized as a built-in filter.
The command <SAMP>&lsquo;msgfilter quot&rsquo;</SAMP> converts any quotations surrounded
by a pair of <SAMP>&lsquo;"&rsquo;</SAMP>, <SAMP>&lsquo;'&rsquo;</SAMP>, and <SAMP>&lsquo;`&rsquo;</SAMP>.
</P>
<P>
-<A NAME="IDX714"></A>
+<A NAME="IDX721"></A>
The filter <SAMP>&lsquo;boldquot&rsquo;</SAMP> is recognized as a built-in filter.
The command <SAMP>&lsquo;msgfilter boldquot&rsquo;</SAMP> converts any quotations
surrounded by a pair of <SAMP>&lsquo;"&rsquo;</SAMP>, <SAMP>&lsquo;'&rsquo;</SAMP>, and <SAMP>&lsquo;`&rsquo;</SAMP>, also adding the
@@ -1277,14 +1288,14 @@ convert the message catalog to the UTF-8 encoding when needed.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX715"></A>
-<A NAME="IDX716"></A>
+<A NAME="IDX722"></A>
+<A NAME="IDX723"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX717"></A>
+<A NAME="IDX724"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1300,43 +1311,43 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX718"></A>
+<A NAME="IDX725"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX719"></A>
+<A NAME="IDX726"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX720"></A>
+<A NAME="IDX727"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX721"></A>
+<A NAME="IDX728"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--keep-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX722"></A>
+<A NAME="IDX729"></A>
Keep the header entry, i.e. the message with <SAMP>&lsquo;msgid ""&rsquo;</SAMP>, unmodified,
instead of filtering it. By default, the header entry is subject to
filtering like any other message.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX723"></A>
+<A NAME="IDX730"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX724"></A>
+<A NAME="IDX731"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -1347,7 +1358,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX725"></A>
+<A NAME="IDX732"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -1356,15 +1367,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX726"></A>
-<A NAME="IDX727"></A>
+<A NAME="IDX733"></A>
+<A NAME="IDX734"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX728"></A>
+<A NAME="IDX735"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -1372,15 +1383,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX729"></A>
-<A NAME="IDX730"></A>
+<A NAME="IDX736"></A>
+<A NAME="IDX737"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX731"></A>
+<A NAME="IDX738"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -1389,8 +1400,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX732"></A>
-<A NAME="IDX733"></A>
+<A NAME="IDX739"></A>
+<A NAME="IDX740"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -1398,8 +1409,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX734"></A>
-<A NAME="IDX735"></A>
+<A NAME="IDX741"></A>
+<A NAME="IDX742"></A>
Sort output by file location.
</DL>
@@ -1414,16 +1425,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX736"></A>
-<A NAME="IDX737"></A>
+<A NAME="IDX743"></A>
+<A NAME="IDX744"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX738"></A>
-<A NAME="IDX739"></A>
+<A NAME="IDX745"></A>
+<A NAME="IDX746"></A>
Output version information and exit.
</DL>
@@ -1455,16 +1466,16 @@ msgfilter recode-sr-latin &#60; sr.po
<H2><A NAME="SEC112" HREF="gettext_toc.html#TOC112">9.5 Invoking the <CODE>msguniq</CODE> Program</A></H2>
<P>
-<A NAME="IDX740"></A>
-<A NAME="IDX741"></A>
+<A NAME="IDX747"></A>
+<A NAME="IDX748"></A>
<PRE>
msguniq [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX742"></A>
-<A NAME="IDX743"></A>
+<A NAME="IDX749"></A>
+<A NAME="IDX750"></A>
The <CODE>msguniq</CODE> program unifies duplicate translations in a translation
catalog. It finds duplicate translations of the same message ID. Such
duplicates are invalid input for other programs like <CODE>msgfmt</CODE>,
@@ -1491,8 +1502,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX744"></A>
-<A NAME="IDX745"></A>
+<A NAME="IDX751"></A>
+<A NAME="IDX752"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1513,8 +1524,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX746"></A>
-<A NAME="IDX747"></A>
+<A NAME="IDX753"></A>
+<A NAME="IDX754"></A>
Write output to specified file.
</DL>
@@ -1534,16 +1545,16 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--repeated&rsquo;</SAMP>
<DD>
-<A NAME="IDX748"></A>
-<A NAME="IDX749"></A>
+<A NAME="IDX755"></A>
+<A NAME="IDX756"></A>
Print only duplicates.
<DT><SAMP>&lsquo;-u&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--unique&rsquo;</SAMP>
<DD>
-<A NAME="IDX750"></A>
-<A NAME="IDX751"></A>
+<A NAME="IDX757"></A>
+<A NAME="IDX758"></A>
Print only unique messages, discard duplicates.
</DL>
@@ -1558,14 +1569,14 @@ Print only unique messages, discard duplicates.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX752"></A>
-<A NAME="IDX753"></A>
+<A NAME="IDX759"></A>
+<A NAME="IDX760"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX754"></A>
+<A NAME="IDX761"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1581,13 +1592,13 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--to-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX755"></A>
-<A NAME="IDX756"></A>
+<A NAME="IDX762"></A>
+<A NAME="IDX763"></A>
Specify encoding for output.
<DT><SAMP>&lsquo;--use-first&rsquo;</SAMP>
<DD>
-<A NAME="IDX757"></A>
+<A NAME="IDX764"></A>
Use first available translation for each message. Don't merge several
translations into one.
@@ -1595,40 +1606,40 @@ translations into one.
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX758"></A>
+<A NAME="IDX765"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX759"></A>
+<A NAME="IDX766"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX760"></A>
+<A NAME="IDX767"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX761"></A>
-<A NAME="IDX762"></A>
+<A NAME="IDX768"></A>
+<A NAME="IDX769"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX763"></A>
+<A NAME="IDX770"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX764"></A>
-<A NAME="IDX765"></A>
+<A NAME="IDX771"></A>
+<A NAME="IDX772"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -1639,7 +1650,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX766"></A>
+<A NAME="IDX773"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -1648,15 +1659,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX767"></A>
-<A NAME="IDX768"></A>
+<A NAME="IDX774"></A>
+<A NAME="IDX775"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX769"></A>
+<A NAME="IDX776"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -1664,15 +1675,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX770"></A>
-<A NAME="IDX771"></A>
+<A NAME="IDX777"></A>
+<A NAME="IDX778"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX772"></A>
+<A NAME="IDX779"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -1681,8 +1692,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX773"></A>
-<A NAME="IDX774"></A>
+<A NAME="IDX780"></A>
+<A NAME="IDX781"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -1690,8 +1701,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX775"></A>
-<A NAME="IDX776"></A>
+<A NAME="IDX782"></A>
+<A NAME="IDX783"></A>
Sort output by file location.
</DL>
@@ -1706,16 +1717,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX777"></A>
-<A NAME="IDX778"></A>
+<A NAME="IDX784"></A>
+<A NAME="IDX785"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX779"></A>
-<A NAME="IDX780"></A>
+<A NAME="IDX786"></A>
+<A NAME="IDX787"></A>
Output version information and exit.
</DL>
@@ -1725,15 +1736,15 @@ Output version information and exit.
<H2><A NAME="SEC119" HREF="gettext_toc.html#TOC119">9.6 Invoking the <CODE>msgcomm</CODE> Program</A></H2>
<P>
-<A NAME="IDX781"></A>
-<A NAME="IDX782"></A>
+<A NAME="IDX788"></A>
+<A NAME="IDX789"></A>
<PRE>
msgcomm [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
</PRE>
<P>
-<A NAME="IDX783"></A>
+<A NAME="IDX790"></A>
The <CODE>msgcomm</CODE> program finds messages which are common to two or more
of the specified PO files.
By using the <CODE>--more-than</CODE> option, greater commonality may be requested
@@ -1759,8 +1770,8 @@ Input files.
<DD>
<DT><SAMP>&lsquo;--files-from=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX784"></A>
-<A NAME="IDX785"></A>
+<A NAME="IDX791"></A>
+<A NAME="IDX792"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
@@ -1768,8 +1779,8 @@ them from the command line.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX786"></A>
-<A NAME="IDX787"></A>
+<A NAME="IDX793"></A>
+<A NAME="IDX794"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1790,8 +1801,8 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX788"></A>
-<A NAME="IDX789"></A>
+<A NAME="IDX795"></A>
+<A NAME="IDX796"></A>
Write output to specified file.
</DL>
@@ -1811,8 +1822,8 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--less-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX790"></A>
-<A NAME="IDX791"></A>
+<A NAME="IDX797"></A>
+<A NAME="IDX798"></A>
Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
if not set.
@@ -1820,8 +1831,8 @@ if not set.
<DD>
<DT><SAMP>&lsquo;--more-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX792"></A>
-<A NAME="IDX793"></A>
+<A NAME="IDX799"></A>
+<A NAME="IDX800"></A>
Print messages with more than <VAR>number</VAR> definitions, defaults to 1 if not
set.
@@ -1829,8 +1840,8 @@ set.
<DD>
<DT><SAMP>&lsquo;--unique&rsquo;</SAMP>
<DD>
-<A NAME="IDX794"></A>
-<A NAME="IDX795"></A>
+<A NAME="IDX801"></A>
+<A NAME="IDX802"></A>
Shorthand for <SAMP>&lsquo;--less-than=2&rsquo;</SAMP>. Requests that only unique messages be
printed.
@@ -1846,14 +1857,14 @@ printed.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX796"></A>
-<A NAME="IDX797"></A>
+<A NAME="IDX803"></A>
+<A NAME="IDX804"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX798"></A>
+<A NAME="IDX805"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1869,40 +1880,40 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX799"></A>
+<A NAME="IDX806"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX800"></A>
+<A NAME="IDX807"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX801"></A>
+<A NAME="IDX808"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX802"></A>
-<A NAME="IDX803"></A>
+<A NAME="IDX809"></A>
+<A NAME="IDX810"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX804"></A>
+<A NAME="IDX811"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX805"></A>
-<A NAME="IDX806"></A>
+<A NAME="IDX812"></A>
+<A NAME="IDX813"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -1913,7 +1924,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX807"></A>
+<A NAME="IDX814"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -1922,15 +1933,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX808"></A>
-<A NAME="IDX809"></A>
+<A NAME="IDX815"></A>
+<A NAME="IDX816"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX810"></A>
+<A NAME="IDX817"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -1938,15 +1949,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX811"></A>
-<A NAME="IDX812"></A>
+<A NAME="IDX818"></A>
+<A NAME="IDX819"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX813"></A>
+<A NAME="IDX820"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -1955,8 +1966,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX814"></A>
-<A NAME="IDX815"></A>
+<A NAME="IDX821"></A>
+<A NAME="IDX822"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -1964,13 +1975,13 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX816"></A>
-<A NAME="IDX817"></A>
+<A NAME="IDX823"></A>
+<A NAME="IDX824"></A>
Sort output by file location.
<DT><SAMP>&lsquo;--omit-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX818"></A>
+<A NAME="IDX825"></A>
Don't write header with <SAMP>&lsquo;msgid ""&rsquo;</SAMP> entry.
</DL>
@@ -1985,16 +1996,16 @@ Don't write header with <SAMP>&lsquo;msgid ""&rsquo;</SAMP> entry.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX819"></A>
-<A NAME="IDX820"></A>
+<A NAME="IDX826"></A>
+<A NAME="IDX827"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX821"></A>
-<A NAME="IDX822"></A>
+<A NAME="IDX828"></A>
+<A NAME="IDX829"></A>
Output version information and exit.
</DL>
@@ -2004,15 +2015,15 @@ Output version information and exit.
<H2><A NAME="SEC126" HREF="gettext_toc.html#TOC126">9.7 Invoking the <CODE>msgcmp</CODE> Program</A></H2>
<P>
-<A NAME="IDX823"></A>
-<A NAME="IDX824"></A>
+<A NAME="IDX830"></A>
+<A NAME="IDX831"></A>
<PRE>
msgcmp [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
</PRE>
<P>
-<A NAME="IDX825"></A>
+<A NAME="IDX832"></A>
The <CODE>msgcmp</CODE> program compares two Uniforum style .po files to check that
both contain the same set of msgid strings. The <VAR>def</VAR>.po file is an
existing PO file with the translations. The <VAR>ref</VAR>.pot file is the last
@@ -2040,8 +2051,8 @@ References to the sources.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX826"></A>
-<A NAME="IDX827"></A>
+<A NAME="IDX833"></A>
+<A NAME="IDX834"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories.
@@ -2057,29 +2068,29 @@ searched relative to this list of directories.
<DD>
<DT><SAMP>&lsquo;--multi-domain&rsquo;</SAMP>
<DD>
-<A NAME="IDX828"></A>
-<A NAME="IDX829"></A>
+<A NAME="IDX835"></A>
+<A NAME="IDX836"></A>
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
<DT><SAMP>&lsquo;-N&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--no-fuzzy-matching&rsquo;</SAMP>
<DD>
-<A NAME="IDX830"></A>
-<A NAME="IDX831"></A>
+<A NAME="IDX837"></A>
+<A NAME="IDX838"></A>
Do not use fuzzy matching when an exact match is not found. This may speed
up the operation considerably.
<DT><SAMP>&lsquo;--use-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX832"></A>
+<A NAME="IDX839"></A>
Consider fuzzy messages in the <VAR>def</VAR>.po file like translated messages.
Note that using this option is usually wrong, because fuzzy messages are
exactly those which have not been validated by a human translator.
<DT><SAMP>&lsquo;--use-untranslated&rsquo;</SAMP>
<DD>
-<A NAME="IDX833"></A>
+<A NAME="IDX840"></A>
Consider untranslated messages in the <VAR>def</VAR>.po file like translated
messages. Note that using this option is usually wrong.
@@ -2095,14 +2106,14 @@ messages. Note that using this option is usually wrong.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX834"></A>
-<A NAME="IDX835"></A>
+<A NAME="IDX841"></A>
+<A NAME="IDX842"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX836"></A>
+<A NAME="IDX843"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2118,16 +2129,16 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX837"></A>
-<A NAME="IDX838"></A>
+<A NAME="IDX844"></A>
+<A NAME="IDX845"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX839"></A>
-<A NAME="IDX840"></A>
+<A NAME="IDX846"></A>
+<A NAME="IDX847"></A>
Output version information and exit.
</DL>
@@ -2137,16 +2148,16 @@ Output version information and exit.
<H2><A NAME="SEC131" HREF="gettext_toc.html#TOC131">9.8 Invoking the <CODE>msgattrib</CODE> Program</A></H2>
<P>
-<A NAME="IDX841"></A>
-<A NAME="IDX842"></A>
+<A NAME="IDX848"></A>
+<A NAME="IDX849"></A>
<PRE>
msgattrib [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX843"></A>
-<A NAME="IDX844"></A>
+<A NAME="IDX850"></A>
+<A NAME="IDX851"></A>
The <CODE>msgattrib</CODE> program filters the messages of a translation catalog
according to their attributes, and manipulates the attributes.
@@ -2165,8 +2176,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX845"></A>
-<A NAME="IDX846"></A>
+<A NAME="IDX852"></A>
+<A NAME="IDX853"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -2187,8 +2198,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX847"></A>
-<A NAME="IDX848"></A>
+<A NAME="IDX854"></A>
+<A NAME="IDX855"></A>
Write output to specified file.
</DL>
@@ -2206,36 +2217,36 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DT><SAMP>&lsquo;--translated&rsquo;</SAMP>
<DD>
-<A NAME="IDX849"></A>
+<A NAME="IDX856"></A>
Keep translated messages, remove untranslated messages.
<DT><SAMP>&lsquo;--untranslated&rsquo;</SAMP>
<DD>
-<A NAME="IDX850"></A>
+<A NAME="IDX857"></A>
Keep untranslated messages, remove translated messages.
<DT><SAMP>&lsquo;--no-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX851"></A>
+<A NAME="IDX858"></A>
Remove
‘fuzzy’
marked messages.
<DT><SAMP>&lsquo;--only-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX852"></A>
+<A NAME="IDX859"></A>
Keep
‘fuzzy’
marked messages, remove all other messages.
<DT><SAMP>&lsquo;--no-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX853"></A>
+<A NAME="IDX860"></A>
Remove obsolete #~ messages.
<DT><SAMP>&lsquo;--only-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX854"></A>
+<A NAME="IDX861"></A>
Keep obsolete #~ messages, remove all other messages.
</DL>
@@ -2245,7 +2256,7 @@ Keep obsolete #~ messages, remove all other messages.
<H3><A NAME="SEC135" HREF="gettext_toc.html#TOC135">9.8.4 Attribute manipulation</A></H3>
<P>
-<A NAME="IDX855"></A>
+<A NAME="IDX862"></A>
Attributes are modified after the message selection/removal has been
performed. If the <SAMP>&lsquo;--only-file&rsquo;</SAMP> or <SAMP>&lsquo;--ignore-file&rsquo;</SAMP> option is
specified, the attribute modification is applied only to those messages
@@ -2257,60 +2268,60 @@ that are listed in the <VAR>only-file</VAR> and not listed in the
<DT><SAMP>&lsquo;--set-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX856"></A>
+<A NAME="IDX863"></A>
Set all messages
‘fuzzy’.
<DT><SAMP>&lsquo;--clear-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX857"></A>
+<A NAME="IDX864"></A>
Set all messages
non-‘fuzzy’.
<DT><SAMP>&lsquo;--set-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX858"></A>
+<A NAME="IDX865"></A>
Set all messages obsolete.
<DT><SAMP>&lsquo;--clear-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX859"></A>
+<A NAME="IDX866"></A>
Set all messages non-obsolete.
<DT><SAMP>&lsquo;--previous&rsquo;</SAMP>
<DD>
-<A NAME="IDX860"></A>
+<A NAME="IDX867"></A>
When setting
‘fuzzy’
mark, keep “previous msgid†of translated messages.
<DT><SAMP>&lsquo;--clear-previous&rsquo;</SAMP>
<DD>
-<A NAME="IDX861"></A>
+<A NAME="IDX868"></A>
Remove the “previous msgid†(<SAMP>&lsquo;#|&rsquo;</SAMP>) comments from all messages.
<DT><SAMP>&lsquo;--empty&rsquo;</SAMP>
<DD>
-<A NAME="IDX862"></A>
+<A NAME="IDX869"></A>
When removing
‘fuzzy’
mark, also set msgstr empty.
<DT><SAMP>&lsquo;--only-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX863"></A>
+<A NAME="IDX870"></A>
Limit the attribute changes to entries that are listed in <VAR>file</VAR>.
<VAR>file</VAR> should be a PO or POT file.
<DT><SAMP>&lsquo;--ignore-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX864"></A>
+<A NAME="IDX871"></A>
Limit the attribute changes to entries that are not listed in <VAR>file</VAR>.
<VAR>file</VAR> should be a PO or POT file.
<DT><SAMP>&lsquo;--fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX865"></A>
+<A NAME="IDX872"></A>
Synonym for <SAMP>&lsquo;--only-fuzzy --clear-fuzzy&rsquo;</SAMP>: It keeps only the fuzzy
messages and removes their
‘fuzzy’
@@ -2318,7 +2329,7 @@ mark.
<DT><SAMP>&lsquo;--obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX866"></A>
+<A NAME="IDX873"></A>
Synonym for <SAMP>&lsquo;--only-obsolete --clear-obsolete&rsquo;</SAMP>: It keeps only the
obsolete messages and makes them non-obsolete.
@@ -2334,14 +2345,14 @@ obsolete messages and makes them non-obsolete.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX867"></A>
-<A NAME="IDX868"></A>
+<A NAME="IDX874"></A>
+<A NAME="IDX875"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX869"></A>
+<A NAME="IDX876"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2357,40 +2368,40 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX870"></A>
+<A NAME="IDX877"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX871"></A>
+<A NAME="IDX878"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX872"></A>
+<A NAME="IDX879"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX873"></A>
-<A NAME="IDX874"></A>
+<A NAME="IDX880"></A>
+<A NAME="IDX881"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX875"></A>
+<A NAME="IDX882"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX876"></A>
-<A NAME="IDX877"></A>
+<A NAME="IDX883"></A>
+<A NAME="IDX884"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -2401,7 +2412,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX878"></A>
+<A NAME="IDX885"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -2410,15 +2421,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX879"></A>
-<A NAME="IDX880"></A>
+<A NAME="IDX886"></A>
+<A NAME="IDX887"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX881"></A>
+<A NAME="IDX888"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -2426,15 +2437,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX882"></A>
-<A NAME="IDX883"></A>
+<A NAME="IDX889"></A>
+<A NAME="IDX890"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX884"></A>
+<A NAME="IDX891"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -2443,8 +2454,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX885"></A>
-<A NAME="IDX886"></A>
+<A NAME="IDX892"></A>
+<A NAME="IDX893"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -2452,8 +2463,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX887"></A>
-<A NAME="IDX888"></A>
+<A NAME="IDX894"></A>
+<A NAME="IDX895"></A>
Sort output by file location.
</DL>
@@ -2468,16 +2479,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX889"></A>
-<A NAME="IDX890"></A>
+<A NAME="IDX896"></A>
+<A NAME="IDX897"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX891"></A>
-<A NAME="IDX892"></A>
+<A NAME="IDX898"></A>
+<A NAME="IDX899"></A>
Output version information and exit.
</DL>
@@ -2487,15 +2498,15 @@ Output version information and exit.
<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">9.9 Invoking the <CODE>msgen</CODE> Program</A></H2>
<P>
-<A NAME="IDX893"></A>
-<A NAME="IDX894"></A>
+<A NAME="IDX900"></A>
+<A NAME="IDX901"></A>
<PRE>
msgen [<VAR>option</VAR>] <VAR>inputfile</VAR>
</PRE>
<P>
-<A NAME="IDX895"></A>
+<A NAME="IDX902"></A>
The <CODE>msgen</CODE> program creates an English translation catalog. The
input file is the last created English PO file, or a PO Template file
(generally created by xgettext). Untranslated entries are assigned a
@@ -2522,8 +2533,8 @@ Input PO or POT file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX896"></A>
-<A NAME="IDX897"></A>
+<A NAME="IDX903"></A>
+<A NAME="IDX904"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -2544,8 +2555,8 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX898"></A>
-<A NAME="IDX899"></A>
+<A NAME="IDX905"></A>
+<A NAME="IDX906"></A>
Write output to specified file.
</DL>
@@ -2565,14 +2576,14 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX900"></A>
-<A NAME="IDX901"></A>
+<A NAME="IDX907"></A>
+<A NAME="IDX908"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX902"></A>
+<A NAME="IDX909"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2586,7 +2597,7 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DT><SAMP>&lsquo;--lang=<VAR>catalogname</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX903"></A>
+<A NAME="IDX910"></A>
Specify the <SAMP>&lsquo;Language&rsquo;</SAMP> field to be used in the header entry. See
section <A HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A> for the meaning of this field. Note: The
<SAMP>&lsquo;Language-Team&rsquo;</SAMP> and <SAMP>&lsquo;Plural-Forms&rsquo;</SAMP> fields are not set by this
@@ -2596,39 +2607,39 @@ option.
<DD>
<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX904"></A>
+<A NAME="IDX911"></A>
Specify whether or when to use colors and other text attributes.
See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX905"></A>
+<A NAME="IDX912"></A>
Specify the CSS style rule file to use for <CODE>--color</CODE>.
See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX906"></A>
+<A NAME="IDX913"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX907"></A>
-<A NAME="IDX908"></A>
+<A NAME="IDX914"></A>
+<A NAME="IDX915"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX909"></A>
+<A NAME="IDX916"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location=<VAR>type</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX910"></A>
+<A NAME="IDX917"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
The optional <VAR>type</VAR> can be either <SAMP>&lsquo;full&rsquo;</SAMP>, <SAMP>&lsquo;file&rsquo;</SAMP>, or
@@ -2639,7 +2650,7 @@ suppresses the lines (same as <CODE>--no-location</CODE>).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX911"></A>
+<A NAME="IDX918"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -2648,15 +2659,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX912"></A>
-<A NAME="IDX913"></A>
+<A NAME="IDX919"></A>
+<A NAME="IDX920"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX914"></A>
+<A NAME="IDX921"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -2664,15 +2675,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX915"></A>
-<A NAME="IDX916"></A>
+<A NAME="IDX922"></A>
+<A NAME="IDX923"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX917"></A>
+<A NAME="IDX924"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -2681,8 +2692,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX918"></A>
-<A NAME="IDX919"></A>
+<A NAME="IDX925"></A>
+<A NAME="IDX926"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -2690,8 +2701,8 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX920"></A>
-<A NAME="IDX921"></A>
+<A NAME="IDX927"></A>
+<A NAME="IDX928"></A>
Sort output by file location.
</DL>
@@ -2706,16 +2717,16 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX922"></A>
-<A NAME="IDX923"></A>
+<A NAME="IDX929"></A>
+<A NAME="IDX930"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX924"></A>
-<A NAME="IDX925"></A>
+<A NAME="IDX931"></A>
+<A NAME="IDX932"></A>
Output version information and exit.
</DL>
@@ -2725,15 +2736,15 @@ Output version information and exit.
<H2><A NAME="SEC145" HREF="gettext_toc.html#TOC145">9.10 Invoking the <CODE>msgexec</CODE> Program</A></H2>
<P>
-<A NAME="IDX926"></A>
-<A NAME="IDX927"></A>
+<A NAME="IDX933"></A>
+<A NAME="IDX934"></A>
<PRE>
msgexec [<VAR>option</VAR>] <VAR>command</VAR> [<VAR>command-option</VAR>]
</PRE>
<P>
-<A NAME="IDX928"></A>
+<A NAME="IDX935"></A>
The <CODE>msgexec</CODE> program applies a command to all translations of a
translation catalog.
The <VAR>command</VAR> can be any program that reads a translation from standard
@@ -2743,21 +2754,30 @@ across all invocations.
</P>
<P>
-<A NAME="IDX929"></A>
+<A NAME="IDX936"></A>
A special builtin command called <SAMP>&lsquo;0&rsquo;</SAMP> outputs the translation, followed
by a null byte. The output of <SAMP>&lsquo;msgexec 0&rsquo;</SAMP> is suitable as input for
<SAMP>&lsquo;xargs -0&rsquo;</SAMP>.
</P>
-<P>
-<A NAME="IDX930"></A>
-<A NAME="IDX931"></A>
-<A NAME="IDX932"></A>
-<A NAME="IDX933"></A>
-<A NAME="IDX934"></A>
-<A NAME="IDX935"></A>
-<A NAME="IDX936"></A>
+<DL COMPACT>
+
+<DT><SAMP>&lsquo;--newline&rsquo;</SAMP>
+<DD>
<A NAME="IDX937"></A>
+Add newline at the end of each input line.
+
+</DL>
+
+<P>
+<A NAME="IDX938"></A>
+<A NAME="IDX939"></A>
+<A NAME="IDX940"></A>
+<A NAME="IDX941"></A>
+<A NAME="IDX942"></A>
+<A NAME="IDX943"></A>
+<A NAME="IDX944"></A>
+<A NAME="IDX945"></A>
During each <VAR>command</VAR> invocation, the environment variable
<CODE>MSGEXEC_MSGID</CODE> is bound to the message's msgid, and the environment
variable <CODE>MSGEXEC_LOCATION</CODE> is bound to the location in the PO file
@@ -2775,7 +2795,7 @@ the previous msgid_plural.
</P>
<P>
-<A NAME="IDX938"></A>
+<A NAME="IDX946"></A>
Note: It is your responsibility to ensure that the <VAR>command</VAR> can cope
with input encoded in the translation catalog's encoding. If the
<VAR>command</VAR> wants input in a particular encoding, you can in a first step
@@ -2797,16 +2817,16 @@ locale, by using the <CODE>LC_ALL</CODE> environment variable.
<DD>
<DT><SAMP>&lsquo;--input=<VAR>inputfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX939"></A>
-<A NAME="IDX940"></A>
+<A NAME="IDX947"></A>
+<A NAME="IDX948"></A>
Input PO file.
<DT><SAMP>&lsquo;-D <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX941"></A>
-<A NAME="IDX942"></A>
+<A NAME="IDX949"></A>
+<A NAME="IDX950"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -2827,14 +2847,14 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX943"></A>
-<A NAME="IDX944"></A>
+<A NAME="IDX951"></A>
+<A NAME="IDX952"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX945"></A>
+<A NAME="IDX953"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2850,16 +2870,16 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX946"></A>
-<A NAME="IDX947"></A>
+<A NAME="IDX954"></A>
+<A NAME="IDX955"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX948"></A>
-<A NAME="IDX949"></A>
+<A NAME="IDX956"></A>
+<A NAME="IDX957"></A>
Output version information and exit.
</DL>
@@ -2888,7 +2908,7 @@ Such highlighting is possible through the <CODE>msgcat</CODE> options
<H3><A NAME="SEC150" HREF="gettext_toc.html#TOC150">9.11.1 The <CODE>--color</CODE> option</A></H3>
<P>
-<A NAME="IDX950"></A>
+<A NAME="IDX958"></A>
The <SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP> option specifies under which conditions
colorized output should be generated. The <VAR>when</VAR> part can be one of
the following:
@@ -2954,7 +2974,7 @@ you therefore normally don't need to save output produced with the
<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">9.11.2 The environment variable <CODE>TERM</CODE></A></H3>
<P>
-<A NAME="IDX951"></A>
+<A NAME="IDX959"></A>
The environment variable <CODE>TERM</CODE> contains a identifier for the text
window's capabilities. You can get a detailed list of these cababilities
by using the <SAMP>&lsquo;infocmp&rsquo;</SAMP> command, using <SAMP>&lsquo;man 5 terminfo&rsquo;</SAMP> as a
@@ -3001,14 +3021,14 @@ reasonable color map.
<H3><A NAME="SEC152" HREF="gettext_toc.html#TOC152">9.11.3 The <CODE>--style</CODE> option</A></H3>
<P>
-<A NAME="IDX952"></A>
+<A NAME="IDX960"></A>
The <SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP> option specifies the style file to use
when colorizing. It has an effect only when the <CODE>--color</CODE> option is
effective.
</P>
<P>
-<A NAME="IDX953"></A>
+<A NAME="IDX961"></A>
If the <CODE>--style</CODE> option is not specified, the environment variable
<CODE>PO_STYLE</CODE> is considered. It is meant to point to the user's
preferred style for PO files.
@@ -3404,7 +3424,7 @@ defined in a library called <SAMP>&lsquo;libgettextpo&rsquo;</SAMP>.
<P>
<DL>
<DT><U>Data Type:</U> <B>po_file_t</B>
-<DD><A NAME="IDX954"></A>
+<DD><A NAME="IDX962"></A>
This is a pointer type that refers to the contents of a PO file, after it has
been read into memory.
</DL>
@@ -3413,7 +3433,7 @@ been read into memory.
<P>
<DL>
<DT><U>Data Type:</U> <B>po_message_iterator_t</B>
-<DD><A NAME="IDX955"></A>
+<DD><A NAME="IDX963"></A>
This is a pointer type that refers to an iterator that produces a sequence of
messages.
</DL>
@@ -3422,7 +3442,7 @@ messages.
<P>
<DL>
<DT><U>Data Type:</U> <B>po_message_t</B>
-<DD><A NAME="IDX956"></A>
+<DD><A NAME="IDX964"></A>
This is a pointer type that refers to a message of a PO file, including its
translation.
</DL>
@@ -3431,7 +3451,7 @@ translation.
<P>
<DL>
<DT><U>Function:</U> po_file_t <B>po_file_read</B> <I>(const char *<VAR>filename</VAR>)</I>
-<DD><A NAME="IDX957"></A>
+<DD><A NAME="IDX965"></A>
The <CODE>po_file_read</CODE> function reads a PO file into memory. The file name
is given as argument. The return value is a handle to the PO file's contents,
valid until <CODE>po_file_free</CODE> is called on it. In case of error, the return
@@ -3442,7 +3462,7 @@ value is <CODE>NULL</CODE>, and <CODE>errno</CODE> is set.
<P>
<DL>
<DT><U>Function:</U> void <B>po_file_free</B> <I>(po_file_t <VAR>file</VAR>)</I>
-<DD><A NAME="IDX958"></A>
+<DD><A NAME="IDX966"></A>
The <CODE>po_file_free</CODE> function frees a PO file's contents from memory,
including all messages that are only implicitly accessible through iterators.
</DL>
@@ -3451,7 +3471,7 @@ including all messages that are only implicitly accessible through iterators.
<P>
<DL>
<DT><U>Function:</U> const char * const * <B>po_file_domains</B> <I>(po_file_t <VAR>file</VAR>)</I>
-<DD><A NAME="IDX959"></A>
+<DD><A NAME="IDX967"></A>
The <CODE>po_file_domains</CODE> function returns the domains for which the given
PO file has messages. The return value is a <CODE>NULL</CODE> terminated array
which is valid as long as the <VAR>file</VAR> handle is valid. For PO files which
@@ -3463,7 +3483,7 @@ namely the default domain <CODE>"messages"</CODE>.
<P>
<DL>
<DT><U>Function:</U> po_message_iterator_t <B>po_message_iterator</B> <I>(po_file_t <VAR>file</VAR>, const char *<VAR>domain</VAR>)</I>
-<DD><A NAME="IDX960"></A>
+<DD><A NAME="IDX968"></A>
The <CODE>po_message_iterator</CODE> returns an iterator that will produce the
messages of <VAR>file</VAR> that belong to the given <VAR>domain</VAR>. If <VAR>domain</VAR>
is <CODE>NULL</CODE>, the default domain is used instead. To list the messages,
@@ -3474,7 +3494,7 @@ use the function <CODE>po_next_message</CODE> repeatedly.
<P>
<DL>
<DT><U>Function:</U> void <B>po_message_iterator_free</B> <I>(po_message_iterator_t <VAR>iterator</VAR>)</I>
-<DD><A NAME="IDX961"></A>
+<DD><A NAME="IDX969"></A>
The <CODE>po_message_iterator_free</CODE> function frees an iterator previously
allocated through the <CODE>po_message_iterator</CODE> function.
</DL>
@@ -3483,7 +3503,7 @@ allocated through the <CODE>po_message_iterator</CODE> function.
<P>
<DL>
<DT><U>Function:</U> po_message_t <B>po_next_message</B> <I>(po_message_iterator_t <VAR>iterator</VAR>)</I>
-<DD><A NAME="IDX962"></A>
+<DD><A NAME="IDX970"></A>
The <CODE>po_next_message</CODE> function returns the next message from
<VAR>iterator</VAR> and advances the iterator. It returns <CODE>NULL</CODE> when the
iterator has reached the end of its message list.
@@ -3498,7 +3518,7 @@ that the results are valid as long as the <VAR>file</VAR> handle is valid.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgid</B> <I>(po_message_t <VAR>message</VAR>)</I>
-<DD><A NAME="IDX963"></A>
+<DD><A NAME="IDX971"></A>
The <CODE>po_message_msgid</CODE> function returns the <CODE>msgid</CODE> (untranslated
English string) of a message. This is guaranteed to be non-<CODE>NULL</CODE>.
</DL>
@@ -3507,7 +3527,7 @@ English string) of a message. This is guaranteed to be non-<CODE>NULL</CODE>.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgid_plural</B> <I>(po_message_t <VAR>message</VAR>)</I>
-<DD><A NAME="IDX964"></A>
+<DD><A NAME="IDX972"></A>
The <CODE>po_message_msgid_plural</CODE> function returns the <CODE>msgid_plural</CODE>
(untranslated English plural string) of a message with plurals, or <CODE>NULL</CODE>
for a message without plural.
@@ -3517,7 +3537,7 @@ for a message without plural.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgstr</B> <I>(po_message_t <VAR>message</VAR>)</I>
-<DD><A NAME="IDX965"></A>
+<DD><A NAME="IDX973"></A>
The <CODE>po_message_msgstr</CODE> function returns the <CODE>msgstr</CODE> (translation)
of a message. For an untranslated message, the return value is an empty
string.
@@ -3527,7 +3547,7 @@ string.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgstr_plural</B> <I>(po_message_t <VAR>message</VAR>, int <VAR>index</VAR>)</I>
-<DD><A NAME="IDX966"></A>
+<DD><A NAME="IDX974"></A>
The <CODE>po_message_msgstr_plural</CODE> function returns the
<CODE>msgstr[<VAR>index</VAR>]</CODE> of a message with plurals, or <CODE>NULL</CODE> when
the <VAR>index</VAR> is out of range or for a message without plural.
diff --git a/gettext-tools/doc/gettext_foot.html b/gettext-tools/doc/gettext_foot.html
index f20d99a..809fb96 100644
--- a/gettext-tools/doc/gettext_foot.html
+++ b/gettext-tools/doc/gettext_foot.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Footnotes</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.19.4</H1>
+<H1>GNU gettext tools, version 0.19.7</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.19.4, 9 December 2014</H2>
+<H2>Edition 0.19.7, 8 December 2015</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
@@ -36,11 +36,15 @@ variables.
<H3><A NAME="FOOT5" HREF="gettext_11.html#DOCF5">(5)</A></H3>
<P>Additions are welcome. Send appropriate information to
<A HREF="mailto:bug-gnu-gettext@gnu.org">bug-gnu-gettext@gnu.org</A> and <A HREF="mailto:bug-glibc-manual@gnu.org">bug-glibc-manual@gnu.org</A>.
+The Unicode CLDR Project (<A HREF="http://cldr.unicode.org">http://cldr.unicode.org</A>) provides a
+comprehensive set of plural forms in a different format. The
+<CODE>msginit</CODE> program has preliminary support for the format so you can
+use it as a baseline (see section <A HREF="gettext_6.html#SEC38">6.1 Invoking the <CODE>msginit</CODE> Program</A>).
<H3><A NAME="FOOT6" HREF="gettext_13.html#DOCF6">(6)</A></H3>
<P>you can also use it through the
<SAMP>&lsquo;MSGMERGE_OPTIONS&rsquo;</SAMP> option from <TT>&lsquo;Makevars&rsquo;</TT>
<P><HR><P>
-This document was generated on 24 December 2014 using the
+This document was generated on 28 December 2015 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52b.</P>
</BODY>
diff --git a/gettext-tools/doc/gettext_toc.html b/gettext-tools/doc/gettext_toc.html
index 7fa6f23..346a6d1 100644
--- a/gettext-tools/doc/gettext_toc.html
+++ b/gettext-tools/doc/gettext_toc.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 24 December 2014 -->
+ from gettext.texi on 28 December 2015 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Table of Contents</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.19.4</H1>
+<H1>GNU gettext tools, version 0.19.7</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.19.4, 9 December 2014</H2>
+<H2>Edition 0.19.7, 8 December 2015</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
@@ -237,229 +237,237 @@
<LI><A NAME="TOC162" HREF="gettext_10.html#SEC162">10.1.5 Output file location in C# mode</A>
<LI><A NAME="TOC163" HREF="gettext_10.html#SEC163">10.1.6 Output file location in Tcl mode</A>
<LI><A NAME="TOC164" HREF="gettext_10.html#SEC164">10.1.7 Desktop Entry mode operations</A>
-<LI><A NAME="TOC165" HREF="gettext_10.html#SEC165">10.1.8 Input file syntax</A>
-<LI><A NAME="TOC166" HREF="gettext_10.html#SEC166">10.1.9 Input file interpretation</A>
-<LI><A NAME="TOC167" HREF="gettext_10.html#SEC167">10.1.10 Output details</A>
-<LI><A NAME="TOC168" HREF="gettext_10.html#SEC168">10.1.11 Informative output</A>
-</UL>
-<LI><A NAME="TOC169" HREF="gettext_10.html#SEC169">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
+<LI><A NAME="TOC165" HREF="gettext_10.html#SEC165">10.1.8 XML mode operations</A>
+<LI><A NAME="TOC166" HREF="gettext_10.html#SEC166">10.1.9 Input file syntax</A>
+<LI><A NAME="TOC167" HREF="gettext_10.html#SEC167">10.1.10 Input file interpretation</A>
+<LI><A NAME="TOC168" HREF="gettext_10.html#SEC168">10.1.11 Output details</A>
+<LI><A NAME="TOC169" HREF="gettext_10.html#SEC169">10.1.12 Informative output</A>
+</UL>
+<LI><A NAME="TOC170" HREF="gettext_10.html#SEC170">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
<UL>
-<LI><A NAME="TOC170" HREF="gettext_10.html#SEC170">10.2.1 Operation mode</A>
-<LI><A NAME="TOC171" HREF="gettext_10.html#SEC171">10.2.2 Input file location</A>
-<LI><A NAME="TOC172" HREF="gettext_10.html#SEC172">10.2.3 Input file location in Java mode</A>
-<LI><A NAME="TOC173" HREF="gettext_10.html#SEC173">10.2.4 Input file location in C# mode</A>
-<LI><A NAME="TOC174" HREF="gettext_10.html#SEC174">10.2.5 Input file location in Tcl mode</A>
-<LI><A NAME="TOC175" HREF="gettext_10.html#SEC175">10.2.6 Output file location</A>
-<LI><A NAME="TOC176" HREF="gettext_10.html#SEC176">10.2.7 Output details</A>
-<LI><A NAME="TOC177" HREF="gettext_10.html#SEC177">10.2.8 Informative output</A>
+<LI><A NAME="TOC171" HREF="gettext_10.html#SEC171">10.2.1 Operation mode</A>
+<LI><A NAME="TOC172" HREF="gettext_10.html#SEC172">10.2.2 Input file location</A>
+<LI><A NAME="TOC173" HREF="gettext_10.html#SEC173">10.2.3 Input file location in Java mode</A>
+<LI><A NAME="TOC174" HREF="gettext_10.html#SEC174">10.2.4 Input file location in C# mode</A>
+<LI><A NAME="TOC175" HREF="gettext_10.html#SEC175">10.2.5 Input file location in Tcl mode</A>
+<LI><A NAME="TOC176" HREF="gettext_10.html#SEC176">10.2.6 Output file location</A>
+<LI><A NAME="TOC177" HREF="gettext_10.html#SEC177">10.2.7 Output details</A>
+<LI><A NAME="TOC178" HREF="gettext_10.html#SEC178">10.2.8 Informative output</A>
</UL>
-<LI><A NAME="TOC178" HREF="gettext_10.html#SEC178">10.3 The Format of GNU MO Files</A>
+<LI><A NAME="TOC179" HREF="gettext_10.html#SEC179">10.3 The Format of GNU MO Files</A>
</UL>
-<LI><A NAME="TOC179" HREF="gettext_11.html#SEC179">11 The Programmer's View</A>
+<LI><A NAME="TOC180" HREF="gettext_11.html#SEC180">11 The Programmer's View</A>
<UL>
-<LI><A NAME="TOC180" HREF="gettext_11.html#SEC180">11.1 About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC181" HREF="gettext_11.html#SEC181">11.1 About <CODE>catgets</CODE></A>
<UL>
-<LI><A NAME="TOC181" HREF="gettext_11.html#SEC181">11.1.1 The Interface</A>
-<LI><A NAME="TOC182" HREF="gettext_11.html#SEC182">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
-</UL>
-<LI><A NAME="TOC183" HREF="gettext_11.html#SEC183">11.2 About <CODE>gettext</CODE></A>
-<UL>
-<LI><A NAME="TOC184" HREF="gettext_11.html#SEC184">11.2.1 The Interface</A>
-<LI><A NAME="TOC185" HREF="gettext_11.html#SEC185">11.2.2 Solving Ambiguities</A>
-<LI><A NAME="TOC186" HREF="gettext_11.html#SEC186">11.2.3 Locating Message Catalog Files</A>
-<LI><A NAME="TOC187" HREF="gettext_11.html#SEC187">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
-<LI><A NAME="TOC188" HREF="gettext_11.html#SEC188">11.2.5 Using contexts for solving ambiguities</A>
-<LI><A NAME="TOC189" HREF="gettext_11.html#SEC189">11.2.6 Additional functions for plural forms</A>
-<LI><A NAME="TOC190" HREF="gettext_11.html#SEC190">11.2.7 Optimization of the *gettext functions</A>
-</UL>
-<LI><A NAME="TOC191" HREF="gettext_11.html#SEC191">11.3 Comparing the Two Interfaces</A>
-<LI><A NAME="TOC192" HREF="gettext_11.html#SEC192">11.4 Using libintl.a in own programs</A>
-<LI><A NAME="TOC193" HREF="gettext_11.html#SEC193">11.5 Being a <CODE>gettext</CODE> grok</A>
-<LI><A NAME="TOC194" HREF="gettext_11.html#SEC194">11.6 Temporary Notes for the Programmers Chapter</A>
-<UL>
-<LI><A NAME="TOC195" HREF="gettext_11.html#SEC195">11.6.1 Temporary - Two Possible Implementations</A>
-<LI><A NAME="TOC196" HREF="gettext_11.html#SEC196">11.6.2 Temporary - About <CODE>catgets</CODE></A>
-<LI><A NAME="TOC197" HREF="gettext_11.html#SEC197">11.6.3 Temporary - Why a single implementation</A>
-<LI><A NAME="TOC198" HREF="gettext_11.html#SEC198">11.6.4 Temporary - Notes</A>
-</UL>
-</UL>
-<LI><A NAME="TOC199" HREF="gettext_12.html#SEC199">12 The Translator's View</A>
-<UL>
-<LI><A NAME="TOC200" HREF="gettext_12.html#SEC200">12.1 Introduction 0</A>
-<LI><A NAME="TOC201" HREF="gettext_12.html#SEC201">12.2 Introduction 1</A>
-<LI><A NAME="TOC202" HREF="gettext_12.html#SEC202">12.3 Discussions</A>
-<LI><A NAME="TOC203" HREF="gettext_12.html#SEC203">12.4 Organization</A>
-<UL>
-<LI><A NAME="TOC204" HREF="gettext_12.html#SEC204">12.4.1 Central Coordination</A>
-<LI><A NAME="TOC205" HREF="gettext_12.html#SEC205">12.4.2 National Teams</A>
-<UL>
-<LI><A NAME="TOC206" HREF="gettext_12.html#SEC206">12.4.2.1 Sub-Cultures</A>
-<LI><A NAME="TOC207" HREF="gettext_12.html#SEC207">12.4.2.2 Organizational Ideas</A>
-</UL>
-<LI><A NAME="TOC208" HREF="gettext_12.html#SEC208">12.4.3 Mailing Lists</A>
-</UL>
-<LI><A NAME="TOC209" HREF="gettext_12.html#SEC209">12.5 Information Flow</A>
-<LI><A NAME="TOC210" HREF="gettext_12.html#SEC210">12.6 Translating plural forms</A>
-<LI><A NAME="TOC211" HREF="gettext_12.html#SEC211">12.7 Prioritizing messages: How to determine which messages to translate first</A>
-</UL>
-<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13 The Maintainer's View</A>
-<UL>
-<LI><A NAME="TOC213" HREF="gettext_13.html#SEC213">13.1 Flat or Non-Flat Directory Structures</A>
-<LI><A NAME="TOC214" HREF="gettext_13.html#SEC214">13.2 Prerequisite Works</A>
-<LI><A NAME="TOC215" HREF="gettext_13.html#SEC215">13.3 Invoking the <CODE>gettextize</CODE> Program</A>
-<LI><A NAME="TOC216" HREF="gettext_13.html#SEC216">13.4 Files You Must Create or Alter</A>
-<UL>
-<LI><A NAME="TOC217" HREF="gettext_13.html#SEC217">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC218" HREF="gettext_13.html#SEC218">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC219" HREF="gettext_13.html#SEC219">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC220" HREF="gettext_13.html#SEC220">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC221" HREF="gettext_13.html#SEC221">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC222" HREF="gettext_13.html#SEC222">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC223" HREF="gettext_13.html#SEC223">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC224" HREF="gettext_13.html#SEC224">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC225" HREF="gettext_13.html#SEC225">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC226" HREF="gettext_13.html#SEC226">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC227" HREF="gettext_13.html#SEC227">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC228" HREF="gettext_13.html#SEC228">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A>
-<LI><A NAME="TOC229" HREF="gettext_13.html#SEC229">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A>
-</UL>
-<LI><A NAME="TOC230" HREF="gettext_13.html#SEC230">13.5 Autoconf macros for use in <TT>&lsquo;configure.ac&rsquo;</TT></A>
-<UL>
-<LI><A NAME="TOC231" HREF="gettext_13.html#SEC231">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
-<LI><A NAME="TOC232" HREF="gettext_13.html#SEC232">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
-<LI><A NAME="TOC233" HREF="gettext_13.html#SEC233">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
-<LI><A NAME="TOC234" HREF="gettext_13.html#SEC234">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A>
-<LI><A NAME="TOC235" HREF="gettext_13.html#SEC235">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A>
-<LI><A NAME="TOC236" HREF="gettext_13.html#SEC236">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>
-<LI><A NAME="TOC237" HREF="gettext_13.html#SEC237">13.5.7 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A>
-</UL>
-<LI><A NAME="TOC238" HREF="gettext_13.html#SEC238">13.6 Integrating with Version Control Systems</A>
-<UL>
-<LI><A NAME="TOC239" HREF="gettext_13.html#SEC239">13.6.1 Avoiding version mismatch in distributed development</A>
-<LI><A NAME="TOC240" HREF="gettext_13.html#SEC240">13.6.2 Files to put under version control</A>
-<LI><A NAME="TOC241" HREF="gettext_13.html#SEC241">13.6.3 Put PO Files under Version Control</A>
-<LI><A NAME="TOC242" HREF="gettext_13.html#SEC242">13.6.4 Invoking the <CODE>autopoint</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC243" HREF="gettext_13.html#SEC243">13.6.4.1 Options</A>
-<LI><A NAME="TOC244" HREF="gettext_13.html#SEC244">13.6.4.2 Informative output</A>
-</UL>
-</UL>
-<LI><A NAME="TOC245" HREF="gettext_13.html#SEC245">13.7 Creating a Distribution Tarball</A>
-</UL>
-<LI><A NAME="TOC246" HREF="gettext_14.html#SEC246">14 The Installer's and Distributor's View</A>
-<LI><A NAME="TOC247" HREF="gettext_15.html#SEC247">15 Other Programming Languages</A>
-<UL>
-<LI><A NAME="TOC248" HREF="gettext_15.html#SEC248">15.1 The Language Implementor's View</A>
-<LI><A NAME="TOC249" HREF="gettext_15.html#SEC249">15.2 The Programmer's View</A>
-<LI><A NAME="TOC250" HREF="gettext_15.html#SEC250">15.3 The Translator's View</A>
-<UL>
-<LI><A NAME="TOC251" HREF="gettext_15.html#SEC251">15.3.1 C Format Strings</A>
-<LI><A NAME="TOC252" HREF="gettext_15.html#SEC252">15.3.2 Objective C Format Strings</A>
-<LI><A NAME="TOC253" HREF="gettext_15.html#SEC253">15.3.3 Shell Format Strings</A>
-<LI><A NAME="TOC254" HREF="gettext_15.html#SEC254">15.3.4 Python Format Strings</A>
-<LI><A NAME="TOC255" HREF="gettext_15.html#SEC255">15.3.5 Lisp Format Strings</A>
-<LI><A NAME="TOC256" HREF="gettext_15.html#SEC256">15.3.6 Emacs Lisp Format Strings</A>
-<LI><A NAME="TOC257" HREF="gettext_15.html#SEC257">15.3.7 librep Format Strings</A>
-<LI><A NAME="TOC258" HREF="gettext_15.html#SEC258">15.3.8 Scheme Format Strings</A>
-<LI><A NAME="TOC259" HREF="gettext_15.html#SEC259">15.3.9 Smalltalk Format Strings</A>
-<LI><A NAME="TOC260" HREF="gettext_15.html#SEC260">15.3.10 Java Format Strings</A>
-<LI><A NAME="TOC261" HREF="gettext_15.html#SEC261">15.3.11 C# Format Strings</A>
-<LI><A NAME="TOC262" HREF="gettext_15.html#SEC262">15.3.12 awk Format Strings</A>
-<LI><A NAME="TOC263" HREF="gettext_15.html#SEC263">15.3.13 Object Pascal Format Strings</A>
-<LI><A NAME="TOC264" HREF="gettext_15.html#SEC264">15.3.14 YCP Format Strings</A>
-<LI><A NAME="TOC265" HREF="gettext_15.html#SEC265">15.3.15 Tcl Format Strings</A>
-<LI><A NAME="TOC266" HREF="gettext_15.html#SEC266">15.3.16 Perl Format Strings</A>
-<LI><A NAME="TOC267" HREF="gettext_15.html#SEC267">15.3.17 PHP Format Strings</A>
-<LI><A NAME="TOC268" HREF="gettext_15.html#SEC268">15.3.18 GCC internal Format Strings</A>
-<LI><A NAME="TOC269" HREF="gettext_15.html#SEC269">15.3.19 GFC internal Format Strings</A>
-<LI><A NAME="TOC270" HREF="gettext_15.html#SEC270">15.3.20 Qt Format Strings</A>
-<LI><A NAME="TOC271" HREF="gettext_15.html#SEC271">15.3.21 Qt Format Strings</A>
-<LI><A NAME="TOC272" HREF="gettext_15.html#SEC272">15.3.22 KDE Format Strings</A>
-<LI><A NAME="TOC273" HREF="gettext_15.html#SEC273">15.3.23 Boost Format Strings</A>
-<LI><A NAME="TOC274" HREF="gettext_15.html#SEC274">15.3.24 Lua Format Strings</A>
-<LI><A NAME="TOC275" HREF="gettext_15.html#SEC275">15.3.25 JavaScript Format Strings</A>
-</UL>
-<LI><A NAME="TOC276" HREF="gettext_15.html#SEC276">15.4 The Maintainer's View</A>
-<LI><A NAME="TOC277" HREF="gettext_15.html#SEC277">15.5 Individual Programming Languages</A>
-<UL>
-<LI><A NAME="TOC278" HREF="gettext_15.html#SEC278">15.5.1 C, C++, Objective C</A>
-<LI><A NAME="TOC279" HREF="gettext_15.html#SEC279">15.5.2 sh - Shell Script</A>
-<UL>
-<LI><A NAME="TOC280" HREF="gettext_15.html#SEC280">15.5.2.1 Preparing Shell Scripts for Internationalization</A>
-<LI><A NAME="TOC281" HREF="gettext_15.html#SEC281">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A>
-<LI><A NAME="TOC282" HREF="gettext_15.html#SEC282">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A>
-<LI><A NAME="TOC283" HREF="gettext_15.html#SEC283">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A>
-<LI><A NAME="TOC284" HREF="gettext_15.html#SEC284">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A>
-<LI><A NAME="TOC285" HREF="gettext_15.html#SEC285">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>
-<LI><A NAME="TOC286" HREF="gettext_15.html#SEC286">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>
-</UL>
-<LI><A NAME="TOC287" HREF="gettext_15.html#SEC287">15.5.3 bash - Bourne-Again Shell Script</A>
-<LI><A NAME="TOC288" HREF="gettext_15.html#SEC288">15.5.4 Python</A>
-<LI><A NAME="TOC289" HREF="gettext_15.html#SEC289">15.5.5 GNU clisp - Common Lisp</A>
-<LI><A NAME="TOC290" HREF="gettext_15.html#SEC290">15.5.6 GNU clisp C sources</A>
-<LI><A NAME="TOC291" HREF="gettext_15.html#SEC291">15.5.7 Emacs Lisp</A>
-<LI><A NAME="TOC292" HREF="gettext_15.html#SEC292">15.5.8 librep</A>
-<LI><A NAME="TOC293" HREF="gettext_15.html#SEC293">15.5.9 GNU guile - Scheme</A>
-<LI><A NAME="TOC294" HREF="gettext_15.html#SEC294">15.5.10 GNU Smalltalk</A>
-<LI><A NAME="TOC295" HREF="gettext_15.html#SEC295">15.5.11 Java</A>
-<LI><A NAME="TOC296" HREF="gettext_15.html#SEC296">15.5.12 C#</A>
-<LI><A NAME="TOC297" HREF="gettext_15.html#SEC297">15.5.13 GNU awk</A>
-<LI><A NAME="TOC298" HREF="gettext_15.html#SEC298">15.5.14 Pascal - Free Pascal Compiler</A>
-<LI><A NAME="TOC299" HREF="gettext_15.html#SEC299">15.5.15 wxWidgets library</A>
-<LI><A NAME="TOC300" HREF="gettext_15.html#SEC300">15.5.16 YCP - YaST2 scripting language</A>
-<LI><A NAME="TOC301" HREF="gettext_15.html#SEC301">15.5.17 Tcl - Tk's scripting language</A>
-<LI><A NAME="TOC302" HREF="gettext_15.html#SEC302">15.5.18 Perl</A>
-<UL>
-<LI><A NAME="TOC303" HREF="gettext_15.html#SEC303">15.5.18.1 General Problems Parsing Perl Code</A>
-<LI><A NAME="TOC304" HREF="gettext_15.html#SEC304">15.5.18.2 Which keywords will xgettext look for?</A>
-<LI><A NAME="TOC305" HREF="gettext_15.html#SEC305">15.5.18.3 How to Extract Hash Keys</A>
-<LI><A NAME="TOC306" HREF="gettext_15.html#SEC306">15.5.18.4 What are Strings And Quote-like Expressions?</A>
-<LI><A NAME="TOC307" HREF="gettext_15.html#SEC307">15.5.18.5 Invalid Uses Of String Interpolation</A>
-<LI><A NAME="TOC308" HREF="gettext_15.html#SEC308">15.5.18.6 Valid Uses Of String Interpolation</A>
-<LI><A NAME="TOC309" HREF="gettext_15.html#SEC309">15.5.18.7 When To Use Parentheses</A>
-<LI><A NAME="TOC310" HREF="gettext_15.html#SEC310">15.5.18.8 How To Grok with Long Lines</A>
-<LI><A NAME="TOC311" HREF="gettext_15.html#SEC311">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A>
-</UL>
-<LI><A NAME="TOC312" HREF="gettext_15.html#SEC312">15.5.19 PHP Hypertext Preprocessor</A>
-<LI><A NAME="TOC313" HREF="gettext_15.html#SEC313">15.5.20 Pike</A>
-<LI><A NAME="TOC314" HREF="gettext_15.html#SEC314">15.5.21 GNU Compiler Collection sources</A>
-<LI><A NAME="TOC315" HREF="gettext_15.html#SEC315">15.5.22 Lua</A>
-<LI><A NAME="TOC316" HREF="gettext_15.html#SEC316">15.5.23 JavaScript</A>
-</UL>
-<LI><A NAME="TOC317" HREF="gettext_15.html#SEC317">15.6 Internationalizable Data</A>
-<UL>
-<LI><A NAME="TOC318" HREF="gettext_15.html#SEC318">15.6.1 POT - Portable Object Template</A>
-<LI><A NAME="TOC319" HREF="gettext_15.html#SEC319">15.6.2 Resource String Table</A>
-<LI><A NAME="TOC320" HREF="gettext_15.html#SEC320">15.6.3 Glade - GNOME user interface description</A>
-<LI><A NAME="TOC321" HREF="gettext_15.html#SEC321">15.6.4 GSettings - GNOME user configuration schema</A>
-</UL>
-</UL>
-<LI><A NAME="TOC322" HREF="gettext_16.html#SEC322">16 Concluding Remarks</A>
-<UL>
-<LI><A NAME="TOC323" HREF="gettext_16.html#SEC323">16.1 History of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC324" HREF="gettext_16.html#SEC324">16.2 Related Readings</A>
-</UL>
-<LI><A NAME="TOC325" HREF="gettext_17.html#SEC325">A Language Codes</A>
-<UL>
-<LI><A NAME="TOC326" HREF="gettext_17.html#SEC326">A.1 Usual Language Codes</A>
-<LI><A NAME="TOC327" HREF="gettext_17.html#SEC327">A.2 Rare Language Codes</A>
-</UL>
-<LI><A NAME="TOC328" HREF="gettext_18.html#SEC328">B Country Codes</A>
-<LI><A NAME="TOC329" HREF="gettext_19.html#SEC329">C Licenses</A>
-<UL>
-<LI><A NAME="TOC330" HREF="gettext_19.html#SEC330">C.1 GNU GENERAL PUBLIC LICENSE</A>
-<LI><A NAME="TOC331" HREF="gettext_19.html#SEC331">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>
-<LI><A NAME="TOC332" HREF="gettext_19.html#SEC332">C.3 GNU Free Documentation License</A>
-</UL>
-<LI><A NAME="TOC333" HREF="gettext_20.html#SEC333">Program Index</A>
-<LI><A NAME="TOC334" HREF="gettext_21.html#SEC334">Option Index</A>
-<LI><A NAME="TOC335" HREF="gettext_22.html#SEC335">Variable Index</A>
-<LI><A NAME="TOC336" HREF="gettext_23.html#SEC336">PO Mode Index</A>
-<LI><A NAME="TOC337" HREF="gettext_24.html#SEC337">Autoconf Macro Index</A>
-<LI><A NAME="TOC338" HREF="gettext_25.html#SEC338">General Index</A>
+<LI><A NAME="TOC182" HREF="gettext_11.html#SEC182">11.1.1 The Interface</A>
+<LI><A NAME="TOC183" HREF="gettext_11.html#SEC183">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
+</UL>
+<LI><A NAME="TOC184" HREF="gettext_11.html#SEC184">11.2 About <CODE>gettext</CODE></A>
+<UL>
+<LI><A NAME="TOC185" HREF="gettext_11.html#SEC185">11.2.1 The Interface</A>
+<LI><A NAME="TOC186" HREF="gettext_11.html#SEC186">11.2.2 Solving Ambiguities</A>
+<LI><A NAME="TOC187" HREF="gettext_11.html#SEC187">11.2.3 Locating Message Catalog Files</A>
+<LI><A NAME="TOC188" HREF="gettext_11.html#SEC188">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
+<LI><A NAME="TOC189" HREF="gettext_11.html#SEC189">11.2.5 Using contexts for solving ambiguities</A>
+<LI><A NAME="TOC190" HREF="gettext_11.html#SEC190">11.2.6 Additional functions for plural forms</A>
+<LI><A NAME="TOC191" HREF="gettext_11.html#SEC191">11.2.7 Optimization of the *gettext functions</A>
+</UL>
+<LI><A NAME="TOC192" HREF="gettext_11.html#SEC192">11.3 Comparing the Two Interfaces</A>
+<LI><A NAME="TOC193" HREF="gettext_11.html#SEC193">11.4 Using libintl.a in own programs</A>
+<LI><A NAME="TOC194" HREF="gettext_11.html#SEC194">11.5 Being a <CODE>gettext</CODE> grok</A>
+<LI><A NAME="TOC195" HREF="gettext_11.html#SEC195">11.6 Temporary Notes for the Programmers Chapter</A>
+<UL>
+<LI><A NAME="TOC196" HREF="gettext_11.html#SEC196">11.6.1 Temporary - Two Possible Implementations</A>
+<LI><A NAME="TOC197" HREF="gettext_11.html#SEC197">11.6.2 Temporary - About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC198" HREF="gettext_11.html#SEC198">11.6.3 Temporary - Why a single implementation</A>
+<LI><A NAME="TOC199" HREF="gettext_11.html#SEC199">11.6.4 Temporary - Notes</A>
+</UL>
+</UL>
+<LI><A NAME="TOC200" HREF="gettext_12.html#SEC200">12 The Translator's View</A>
+<UL>
+<LI><A NAME="TOC201" HREF="gettext_12.html#SEC201">12.1 Introduction 0</A>
+<LI><A NAME="TOC202" HREF="gettext_12.html#SEC202">12.2 Introduction 1</A>
+<LI><A NAME="TOC203" HREF="gettext_12.html#SEC203">12.3 Discussions</A>
+<LI><A NAME="TOC204" HREF="gettext_12.html#SEC204">12.4 Organization</A>
+<UL>
+<LI><A NAME="TOC205" HREF="gettext_12.html#SEC205">12.4.1 Central Coordination</A>
+<LI><A NAME="TOC206" HREF="gettext_12.html#SEC206">12.4.2 National Teams</A>
+<UL>
+<LI><A NAME="TOC207" HREF="gettext_12.html#SEC207">12.4.2.1 Sub-Cultures</A>
+<LI><A NAME="TOC208" HREF="gettext_12.html#SEC208">12.4.2.2 Organizational Ideas</A>
+</UL>
+<LI><A NAME="TOC209" HREF="gettext_12.html#SEC209">12.4.3 Mailing Lists</A>
+</UL>
+<LI><A NAME="TOC210" HREF="gettext_12.html#SEC210">12.5 Information Flow</A>
+<LI><A NAME="TOC211" HREF="gettext_12.html#SEC211">12.6 Translating plural forms</A>
+<LI><A NAME="TOC212" HREF="gettext_12.html#SEC212">12.7 Prioritizing messages: How to determine which messages to translate first</A>
+</UL>
+<LI><A NAME="TOC213" HREF="gettext_13.html#SEC213">13 The Maintainer's View</A>
+<UL>
+<LI><A NAME="TOC214" HREF="gettext_13.html#SEC214">13.1 Flat or Non-Flat Directory Structures</A>
+<LI><A NAME="TOC215" HREF="gettext_13.html#SEC215">13.2 Prerequisite Works</A>
+<LI><A NAME="TOC216" HREF="gettext_13.html#SEC216">13.3 Invoking the <CODE>gettextize</CODE> Program</A>
+<LI><A NAME="TOC217" HREF="gettext_13.html#SEC217">13.4 Files You Must Create or Alter</A>
+<UL>
+<LI><A NAME="TOC218" HREF="gettext_13.html#SEC218">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC219" HREF="gettext_13.html#SEC219">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC220" HREF="gettext_13.html#SEC220">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC221" HREF="gettext_13.html#SEC221">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC222" HREF="gettext_13.html#SEC222">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC223" HREF="gettext_13.html#SEC223">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC224" HREF="gettext_13.html#SEC224">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC225" HREF="gettext_13.html#SEC225">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC226" HREF="gettext_13.html#SEC226">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC227" HREF="gettext_13.html#SEC227">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC228" HREF="gettext_13.html#SEC228">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC229" HREF="gettext_13.html#SEC229">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A>
+<LI><A NAME="TOC230" HREF="gettext_13.html#SEC230">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A>
+</UL>
+<LI><A NAME="TOC231" HREF="gettext_13.html#SEC231">13.5 Autoconf macros for use in <TT>&lsquo;configure.ac&rsquo;</TT></A>
+<UL>
+<LI><A NAME="TOC232" HREF="gettext_13.html#SEC232">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
+<LI><A NAME="TOC233" HREF="gettext_13.html#SEC233">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
+<LI><A NAME="TOC234" HREF="gettext_13.html#SEC234">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
+<LI><A NAME="TOC235" HREF="gettext_13.html#SEC235">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A>
+<LI><A NAME="TOC236" HREF="gettext_13.html#SEC236">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A>
+<LI><A NAME="TOC237" HREF="gettext_13.html#SEC237">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>
+<LI><A NAME="TOC238" HREF="gettext_13.html#SEC238">13.5.7 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A>
+</UL>
+<LI><A NAME="TOC239" HREF="gettext_13.html#SEC239">13.6 Integrating with Version Control Systems</A>
+<UL>
+<LI><A NAME="TOC240" HREF="gettext_13.html#SEC240">13.6.1 Avoiding version mismatch in distributed development</A>
+<LI><A NAME="TOC241" HREF="gettext_13.html#SEC241">13.6.2 Files to put under version control</A>
+<LI><A NAME="TOC242" HREF="gettext_13.html#SEC242">13.6.3 Put PO Files under Version Control</A>
+<LI><A NAME="TOC243" HREF="gettext_13.html#SEC243">13.6.4 Invoking the <CODE>autopoint</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC244" HREF="gettext_13.html#SEC244">13.6.4.1 Options</A>
+<LI><A NAME="TOC245" HREF="gettext_13.html#SEC245">13.6.4.2 Informative output</A>
+</UL>
+</UL>
+<LI><A NAME="TOC246" HREF="gettext_13.html#SEC246">13.7 Creating a Distribution Tarball</A>
+</UL>
+<LI><A NAME="TOC247" HREF="gettext_14.html#SEC247">14 The Installer's and Distributor's View</A>
+<LI><A NAME="TOC248" HREF="gettext_15.html#SEC248">15 Other Programming Languages</A>
+<UL>
+<LI><A NAME="TOC249" HREF="gettext_15.html#SEC249">15.1 The Language Implementor's View</A>
+<LI><A NAME="TOC250" HREF="gettext_15.html#SEC250">15.2 The Programmer's View</A>
+<LI><A NAME="TOC251" HREF="gettext_15.html#SEC251">15.3 The Translator's View</A>
+<UL>
+<LI><A NAME="TOC252" HREF="gettext_15.html#SEC252">15.3.1 C Format Strings</A>
+<LI><A NAME="TOC253" HREF="gettext_15.html#SEC253">15.3.2 Objective C Format Strings</A>
+<LI><A NAME="TOC254" HREF="gettext_15.html#SEC254">15.3.3 Shell Format Strings</A>
+<LI><A NAME="TOC255" HREF="gettext_15.html#SEC255">15.3.4 Python Format Strings</A>
+<LI><A NAME="TOC256" HREF="gettext_15.html#SEC256">15.3.5 Lisp Format Strings</A>
+<LI><A NAME="TOC257" HREF="gettext_15.html#SEC257">15.3.6 Emacs Lisp Format Strings</A>
+<LI><A NAME="TOC258" HREF="gettext_15.html#SEC258">15.3.7 librep Format Strings</A>
+<LI><A NAME="TOC259" HREF="gettext_15.html#SEC259">15.3.8 Scheme Format Strings</A>
+<LI><A NAME="TOC260" HREF="gettext_15.html#SEC260">15.3.9 Smalltalk Format Strings</A>
+<LI><A NAME="TOC261" HREF="gettext_15.html#SEC261">15.3.10 Java Format Strings</A>
+<LI><A NAME="TOC262" HREF="gettext_15.html#SEC262">15.3.11 C# Format Strings</A>
+<LI><A NAME="TOC263" HREF="gettext_15.html#SEC263">15.3.12 awk Format Strings</A>
+<LI><A NAME="TOC264" HREF="gettext_15.html#SEC264">15.3.13 Object Pascal Format Strings</A>
+<LI><A NAME="TOC265" HREF="gettext_15.html#SEC265">15.3.14 YCP Format Strings</A>
+<LI><A NAME="TOC266" HREF="gettext_15.html#SEC266">15.3.15 Tcl Format Strings</A>
+<LI><A NAME="TOC267" HREF="gettext_15.html#SEC267">15.3.16 Perl Format Strings</A>
+<LI><A NAME="TOC268" HREF="gettext_15.html#SEC268">15.3.17 PHP Format Strings</A>
+<LI><A NAME="TOC269" HREF="gettext_15.html#SEC269">15.3.18 GCC internal Format Strings</A>
+<LI><A NAME="TOC270" HREF="gettext_15.html#SEC270">15.3.19 GFC internal Format Strings</A>
+<LI><A NAME="TOC271" HREF="gettext_15.html#SEC271">15.3.20 Qt Format Strings</A>
+<LI><A NAME="TOC272" HREF="gettext_15.html#SEC272">15.3.21 Qt Format Strings</A>
+<LI><A NAME="TOC273" HREF="gettext_15.html#SEC273">15.3.22 KDE Format Strings</A>
+<LI><A NAME="TOC274" HREF="gettext_15.html#SEC274">15.3.23 KUIT Format Strings</A>
+<LI><A NAME="TOC275" HREF="gettext_15.html#SEC275">15.3.24 Boost Format Strings</A>
+<LI><A NAME="TOC276" HREF="gettext_15.html#SEC276">15.3.25 Lua Format Strings</A>
+<LI><A NAME="TOC277" HREF="gettext_15.html#SEC277">15.3.26 JavaScript Format Strings</A>
+</UL>
+<LI><A NAME="TOC278" HREF="gettext_15.html#SEC278">15.4 The Maintainer's View</A>
+<LI><A NAME="TOC279" HREF="gettext_15.html#SEC279">15.5 Individual Programming Languages</A>
+<UL>
+<LI><A NAME="TOC280" HREF="gettext_15.html#SEC280">15.5.1 C, C++, Objective C</A>
+<LI><A NAME="TOC281" HREF="gettext_15.html#SEC281">15.5.2 sh - Shell Script</A>
+<UL>
+<LI><A NAME="TOC282" HREF="gettext_15.html#SEC282">15.5.2.1 Preparing Shell Scripts for Internationalization</A>
+<LI><A NAME="TOC283" HREF="gettext_15.html#SEC283">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A>
+<LI><A NAME="TOC284" HREF="gettext_15.html#SEC284">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A>
+<LI><A NAME="TOC285" HREF="gettext_15.html#SEC285">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A>
+<LI><A NAME="TOC286" HREF="gettext_15.html#SEC286">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A>
+<LI><A NAME="TOC287" HREF="gettext_15.html#SEC287">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>
+<LI><A NAME="TOC288" HREF="gettext_15.html#SEC288">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>
+</UL>
+<LI><A NAME="TOC289" HREF="gettext_15.html#SEC289">15.5.3 bash - Bourne-Again Shell Script</A>
+<LI><A NAME="TOC290" HREF="gettext_15.html#SEC290">15.5.4 Python</A>
+<LI><A NAME="TOC291" HREF="gettext_15.html#SEC291">15.5.5 GNU clisp - Common Lisp</A>
+<LI><A NAME="TOC292" HREF="gettext_15.html#SEC292">15.5.6 GNU clisp C sources</A>
+<LI><A NAME="TOC293" HREF="gettext_15.html#SEC293">15.5.7 Emacs Lisp</A>
+<LI><A NAME="TOC294" HREF="gettext_15.html#SEC294">15.5.8 librep</A>
+<LI><A NAME="TOC295" HREF="gettext_15.html#SEC295">15.5.9 GNU guile - Scheme</A>
+<LI><A NAME="TOC296" HREF="gettext_15.html#SEC296">15.5.10 GNU Smalltalk</A>
+<LI><A NAME="TOC297" HREF="gettext_15.html#SEC297">15.5.11 Java</A>
+<LI><A NAME="TOC298" HREF="gettext_15.html#SEC298">15.5.12 C#</A>
+<LI><A NAME="TOC299" HREF="gettext_15.html#SEC299">15.5.13 GNU awk</A>
+<LI><A NAME="TOC300" HREF="gettext_15.html#SEC300">15.5.14 Pascal - Free Pascal Compiler</A>
+<LI><A NAME="TOC301" HREF="gettext_15.html#SEC301">15.5.15 wxWidgets library</A>
+<LI><A NAME="TOC302" HREF="gettext_15.html#SEC302">15.5.16 YCP - YaST2 scripting language</A>
+<LI><A NAME="TOC303" HREF="gettext_15.html#SEC303">15.5.17 Tcl - Tk's scripting language</A>
+<LI><A NAME="TOC304" HREF="gettext_15.html#SEC304">15.5.18 Perl</A>
+<UL>
+<LI><A NAME="TOC305" HREF="gettext_15.html#SEC305">15.5.18.1 General Problems Parsing Perl Code</A>
+<LI><A NAME="TOC306" HREF="gettext_15.html#SEC306">15.5.18.2 Which keywords will xgettext look for?</A>
+<LI><A NAME="TOC307" HREF="gettext_15.html#SEC307">15.5.18.3 How to Extract Hash Keys</A>
+<LI><A NAME="TOC308" HREF="gettext_15.html#SEC308">15.5.18.4 What are Strings And Quote-like Expressions?</A>
+<LI><A NAME="TOC309" HREF="gettext_15.html#SEC309">15.5.18.5 Invalid Uses Of String Interpolation</A>
+<LI><A NAME="TOC310" HREF="gettext_15.html#SEC310">15.5.18.6 Valid Uses Of String Interpolation</A>
+<LI><A NAME="TOC311" HREF="gettext_15.html#SEC311">15.5.18.7 When To Use Parentheses</A>
+<LI><A NAME="TOC312" HREF="gettext_15.html#SEC312">15.5.18.8 How To Grok with Long Lines</A>
+<LI><A NAME="TOC313" HREF="gettext_15.html#SEC313">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A>
+</UL>
+<LI><A NAME="TOC314" HREF="gettext_15.html#SEC314">15.5.19 PHP Hypertext Preprocessor</A>
+<LI><A NAME="TOC315" HREF="gettext_15.html#SEC315">15.5.20 Pike</A>
+<LI><A NAME="TOC316" HREF="gettext_15.html#SEC316">15.5.21 GNU Compiler Collection sources</A>
+<LI><A NAME="TOC317" HREF="gettext_15.html#SEC317">15.5.22 Lua</A>
+<LI><A NAME="TOC318" HREF="gettext_15.html#SEC318">15.5.23 JavaScript</A>
+<LI><A NAME="TOC319" HREF="gettext_15.html#SEC319">15.5.24 Vala</A>
+</UL>
+<LI><A NAME="TOC320" HREF="gettext_15.html#SEC320">15.6 Internationalizable Data</A>
+<UL>
+<LI><A NAME="TOC321" HREF="gettext_15.html#SEC321">15.6.1 POT - Portable Object Template</A>
+<LI><A NAME="TOC322" HREF="gettext_15.html#SEC322">15.6.2 Resource String Table</A>
+<LI><A NAME="TOC323" HREF="gettext_15.html#SEC323">15.6.3 Glade - GNOME user interface description</A>
+<LI><A NAME="TOC324" HREF="gettext_15.html#SEC324">15.6.4 GSettings - GNOME user configuration schema</A>
+<LI><A NAME="TOC325" HREF="gettext_15.html#SEC325">15.6.5 AppData - freedesktop.org application description</A>
+<LI><A NAME="TOC326" HREF="gettext_15.html#SEC326">15.6.6 Preparing Rules for XML Internationalization</A>
+<UL>
+<LI><A NAME="TOC327" HREF="gettext_15.html#SEC327">15.6.6.1 Two Use-cases of Translated Strings in XML</A>
+</UL>
+</UL>
+</UL>
+<LI><A NAME="TOC328" HREF="gettext_16.html#SEC328">16 Concluding Remarks</A>
+<UL>
+<LI><A NAME="TOC329" HREF="gettext_16.html#SEC329">16.1 History of GNU <CODE>gettext</CODE></A>
+<LI><A NAME="TOC330" HREF="gettext_16.html#SEC330">16.2 Related Readings</A>
+</UL>
+<LI><A NAME="TOC331" HREF="gettext_17.html#SEC331">A Language Codes</A>
+<UL>
+<LI><A NAME="TOC332" HREF="gettext_17.html#SEC332">A.1 Usual Language Codes</A>
+<LI><A NAME="TOC333" HREF="gettext_17.html#SEC333">A.2 Rare Language Codes</A>
+</UL>
+<LI><A NAME="TOC334" HREF="gettext_18.html#SEC334">B Country Codes</A>
+<LI><A NAME="TOC335" HREF="gettext_19.html#SEC335">C Licenses</A>
+<UL>
+<LI><A NAME="TOC336" HREF="gettext_19.html#SEC336">C.1 GNU GENERAL PUBLIC LICENSE</A>
+<LI><A NAME="TOC337" HREF="gettext_19.html#SEC337">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>
+<LI><A NAME="TOC338" HREF="gettext_19.html#SEC338">C.3 GNU Free Documentation License</A>
+</UL>
+<LI><A NAME="TOC339" HREF="gettext_20.html#SEC339">Program Index</A>
+<LI><A NAME="TOC340" HREF="gettext_21.html#SEC340">Option Index</A>
+<LI><A NAME="TOC341" HREF="gettext_22.html#SEC341">Variable Index</A>
+<LI><A NAME="TOC342" HREF="gettext_23.html#SEC342">PO Mode Index</A>
+<LI><A NAME="TOC343" HREF="gettext_24.html#SEC343">Autoconf Macro Index</A>
+<LI><A NAME="TOC344" HREF="gettext_25.html#SEC344">General Index</A>
</UL>
<P><HR><P>
-This document was generated on 24 December 2014 using the
+This document was generated on 28 December 2015 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52b.</P>
</BODY>
diff --git a/gettext-tools/doc/msgexec.texi b/gettext-tools/doc/msgexec.texi
index a190072..ac9dacb 100644
--- a/gettext-tools/doc/msgexec.texi
+++ b/gettext-tools/doc/msgexec.texi
@@ -17,6 +17,13 @@ A special builtin command called @samp{0} outputs the translation, followed
by a null byte. The output of @samp{msgexec 0} is suitable as input for
@samp{xargs -0}.
+@table @samp
+@item --newline
+@opindex --newline@r{, @code{msgfilter} option}
+Add newline at the end of each input line.
+
+@end table
+
@vindex MSGEXEC_MSGCTXT@r{, environment variable}
@vindex MSGEXEC_MSGID@r{, environment variable}
@vindex MSGEXEC_MSGID_PLURAL@r{, environment variable}
diff --git a/gettext-tools/doc/msgfilter.texi b/gettext-tools/doc/msgfilter.texi
index 1fae251..61c2f57 100644
--- a/gettext-tools/doc/msgfilter.texi
+++ b/gettext-tools/doc/msgfilter.texi
@@ -73,6 +73,14 @@ input and writes a modified translation to standard output. A frequently
used filter is @samp{sed}. A few particular built-in filters are also
recognized.
+@table @samp
+@item --newline
+@opindex --newline@r{, @code{msgfilter} option}
+Add newline at the end of each input line and also strip the ending
+newline from the output line.
+
+@end table
+
@cindex @code{msgfilter} filter and catalog encoding
Note: If the filter is not a built-in filter, you have to care about encodings:
It is your responsibility to ensure that the @var{filter} can cope
@@ -86,13 +94,14 @@ you can first convert the translation catalog to UTF-8 using the
locale, by using the @code{LC_ALL} environment variable.
@cindex portability problems with @code{sed}
-Note: Most translations in a translation catalog don't end with a newline
-character. For this reason, it is important that the @var{filter}
-recognizes its last input line even if it ends without a newline, and that
-it doesn't add an undesired trailing newline at the end. The @samp{sed}
-program on some platforms is known to ignore the last line of input if it
-is not terminated with a newline. You can use GNU @code{sed} instead; it
-does not have this limitation.
+Note: Most translations in a translation catalog don't end with a
+newline character. For this reason, unless the @code{--newline}
+option is used, it is important that the @var{filter} recognizes its
+last input line even if it ends without a newline, and that it doesn't
+add an undesired trailing newline at the end. The @samp{sed} program on
+some platforms is known to ignore the last line of input if it is not
+terminated with a newline. You can use GNU @code{sed} instead; it does
+not have this limitation.
@subsection Useful @var{filter-option}s when the @var{filter} is @samp{sed}
diff --git a/gettext-tools/doc/msgfmt.texi b/gettext-tools/doc/msgfmt.texi
index 402bc1a..a6fefcd 100644
--- a/gettext-tools/doc/msgfmt.texi
+++ b/gettext-tools/doc/msgfmt.texi
@@ -65,6 +65,11 @@ Qt mode: generate a Qt @file{.qm} file.
@cindex Desktop Entry mode, and @code{msgfmt} program
Desktop Entry mode: generate a @file{.desktop} file.
+@item --xml
+@opindex --xml@r{, @code{msgfmt} option}
+@cindex XML mode, and @code{msgfmt} program
+XML mode: generate an XML file.
+
@end table
@subsection Output file location
@@ -190,7 +195,8 @@ or a combined language and country specification of the form @var{ll_CC}.
@item -d @var{directory}
@opindex -d@r{, @code{msgfmt} option}
-Specify the base directory of @file{.msg} message catalogs.
+Specify the directory where PO files are read. The directory must
+contain the @samp{LINGUAS} file.
@end table
@@ -202,11 +208,8 @@ msgfmt --desktop --template=@var{template} --locale=@var{locale} \
-o @var{file} @var{filename}.po @dots{}
@end example
-On the other hand, when using msgfmt from a Makefile, it is cumbersome
-to loop over all locales under a particular directory. msgfmt
-provides a special operation mode for this use-case. To generate a
-@samp{.desktop} file from multiple @samp{.po} files under a directory,
-specify the directory with the @samp{-d} option.
+msgfmt provides a special "bulk" operation mode to process multiple
+@file{.po} files at a time.
@example
msgfmt --desktop --template=@var{template} -d @var{directory} -o @var{file}
@@ -220,6 +223,55 @@ variable.
For either operation modes, the @samp{-o} and @samp{--template}
options are mandatory.
+@subsection XML mode operations
+
+@table @samp
+@item --template=@var{template}
+@opindex --template@r{, @code{msgfmt} option}
+Specify an XML file used as a template.
+
+@item -L @var{name}
+@itemx --language=@var{name}
+@opindex -L@r{, @code{msgfmt} option}
+@opindex --language@r{, @code{msgfmt} option}
+@cindex supported languages, @code{msgfmt}
+Specifies the language of the input files.
+
+@item -l @var{locale}
+@itemx --locale=@var{locale}
+@opindex -l@r{, @code{msgfmt} option}
+@opindex --locale@r{, @code{msgfmt} option}
+Specify the locale name, either a language specification of the form @var{ll}
+or a combined language and country specification of the form @var{ll_CC}.
+
+@item -d @var{directory}
+@opindex -d@r{, @code{msgfmt} option}
+Specify the base directory of @file{.po} message catalogs.
+
+@end table
+
+To generate an XML file for a single locale, you can use it as follows.
+
+@example
+msgfmt --xml --template=@var{template} --locale=@var{locale} \
+ -o @var{file} @var{filename}.po @dots{}
+@end example
+
+msgfmt provides a special "bulk" operation mode to process multiple
+@file{.po} files at a time.
+
+@example
+msgfmt --xml --template=@var{template} -d @var{directory} -o @var{file}
+@end example
+
+msgfmt first reads the @samp{LINGUAS} file under @var{directory}, and
+then processes all @samp{.po} files listed there. You can also limit
+the locales to a subset, through the @samp{LINGUAS} environment
+variable.
+
+For either operation modes, the @samp{-o} and @samp{--template}
+options are mandatory.
+
@subsection Input file syntax
@table @samp
diff --git a/gettext-tools/doc/msginit.texi b/gettext-tools/doc/msginit.texi
index 889887d..3be6e17 100644
--- a/gettext-tools/doc/msginit.texi
+++ b/gettext-tools/doc/msginit.texi
@@ -9,6 +9,42 @@ msginit [@var{option}]
The @code{msginit} program creates a new PO file, initializing the meta
information with values from the user's environment.
+Here are more details. The following header fields of a PO file are
+automatically filled, when possible.
+
+@table @samp
+@item Project-Id-Version
+The value is guessed from the @code{configure} script or any other files
+in the current directory.
+
+@item PO-Revision-Date
+The value is taken from the @code{PO-Creation-Data} in the input POT
+file, or the current date is used.
+
+@item Last-Translator
+The value is taken from user's password file entry and the mailer
+configuration files.
+
+@item Language-Team, Language
+These values are set according to the current locale and the predefined
+list of translation teams.
+
+@item MIME-Version, Content-Type, Content-Transfer-Encoding
+These values are set according to the content of the POT file and the
+current locale. If the POT file contains charset=UTF-8, it means that
+the POT file contains non-ASCII characters, and we keep the UTF-8
+encoding. Otherwise, when the POT file is plain ASCII, we use the
+locale's encoding.
+
+@item Plural-Forms
+The value is first looked up from the embedded table.
+
+As an experimental feature, you can instruct @code{msginit} to use the
+information from Unicode CLDR, by setting the @code{GETTEXTCLDRDIR}
+environment variable.
+
+@end table
+
@subsection Input file location
@table @samp
diff --git a/gettext-tools/doc/stamp-vti b/gettext-tools/doc/stamp-vti
index 8f1ac5f..c151d9f 100644
--- a/gettext-tools/doc/stamp-vti
+++ b/gettext-tools/doc/stamp-vti
@@ -1,4 +1,5 @@
-@set UPDATED 9 December 2014
-@set UPDATED-MONTH December 2014
-@set EDITION 0.19.4
-@set VERSION 0.19.4
+@set UPDATED 8 December 2015
+@set UPDATED-MONTH December 2015
+@set EDITION 0.19.7
+@set VERSION 0.19.7
+@set ARCHIVE-VERSION 0.19.7
diff --git a/gettext-tools/doc/texi2html b/gettext-tools/doc/texi2html
index 9e7e82c..7c94d5b 100755
--- a/gettext-tools/doc/texi2html
+++ b/gettext-tools/doc/texi2html
@@ -1561,7 +1561,7 @@ sub update_sec_num {
$level--; # here we start at 0
if ($name =~ /^appendix/) {
# appendix style
- if (defined(@appendix_sec_num)) {
+ if (@appendix_sec_num) {
&incr_sec_num($level, @appendix_sec_num);
} else {
@appendix_sec_num = ('A', 0, 0, 0);
@@ -1569,7 +1569,7 @@ sub update_sec_num {
return(join('.', @appendix_sec_num[0..$level]));
} else {
# normal style
- if (defined(@normal_sec_num)) {
+ if (@normal_sec_num) {
&incr_sec_num($level, @normal_sec_num);
} else {
@normal_sec_num = (1, 0, 0, 0);
diff --git a/gettext-tools/doc/version.texi b/gettext-tools/doc/version.texi
index 8f1ac5f..c151d9f 100644
--- a/gettext-tools/doc/version.texi
+++ b/gettext-tools/doc/version.texi
@@ -1,4 +1,5 @@
-@set UPDATED 9 December 2014
-@set UPDATED-MONTH December 2014
-@set EDITION 0.19.4
-@set VERSION 0.19.4
+@set UPDATED 8 December 2015
+@set UPDATED-MONTH December 2015
+@set EDITION 0.19.7
+@set VERSION 0.19.7
+@set ARCHIVE-VERSION 0.19.7
diff --git a/gettext-tools/doc/xgettext.texi b/gettext-tools/doc/xgettext.texi
index 451e25f..d6a5f01 100644
--- a/gettext-tools/doc/xgettext.texi
+++ b/gettext-tools/doc/xgettext.texi
@@ -144,6 +144,60 @@ gettext (
The second comment line will not be extracted, because there is one
blank line between the comment line and the keyword.
+@item --check[=@var{CHECK}]
+@opindex --check@r{, @code{xgettext} option}
+@cindex supported syntax checks, @code{xgettext}
+Perform a syntax check on msgid and msgid_plural. The supported checks
+are:
+
+@table @samp
+@item ellipsis-unicode
+Prefer Unicode ellipsis character over ASCII @code{...}
+
+@item space-ellipsis
+Prohibit whitespace before an ellipsis character
+
+@item quote-unicode
+Prefer Unicode quotation marks over ASCII @code{"'`}
+
+@end table
+
+The option has an effect on all input files. To enable or disable
+checks for a certain string, you can mark it with an @code{xgettext:}
+special comment in the source file. For example, if you specify the
+@code{--check=space-ellipsis} option, but want to suppress the check on
+a particular string, add the following comment:
+
+@example
+/* xgettext: no-space-ellipsis-check */
+gettext ("We really want a space before ellipsis here ...");
+@end example
+
+The @code{xgettext:} comment can be followed by flags separated with a
+comma. The possible flags are of the form @samp{[no-]@var{name}-check},
+where @var{name} is the name of a valid syntax check. If a flag is
+prefixed by @code{no-}, the meaning is negated.
+
+Some tests apply the checks to each sentence within the msgid, rather
+than the whole string. xgettext detects the end of sentence by
+performing a pattern match, which usually looks for a period followed by
+a certain number of spaces. The number is specified with the
+@code{--sentence-end} option.
+
+@item --sentence-end[=@var{TYPE}]
+@opindex --sentence-end@r{, @code{xgettext} option}
+@cindex sentence end markers, @code{xgettext}
+The supported values are:
+
+@table @samp
+@item single-space
+Expect at least one whitespace after a period
+
+@item double-space
+Expect at least two whitespaces after a period
+
+@end table
+
@end table
@subsection Language specific options
@@ -373,7 +427,7 @@ This option has an effect only with the language C++.
@cindex debugging messages marked as format strings
Use the flags @code{c-format} and @code{possible-c-format} to show who was
responsible for marking a message as a format string. The latter form is
-used if the @code{xgettext} program decided, the format form is used if
+used if the @code{xgettext} program decided, the former form is used if
the programmer prescribed it.
By default only the @code{c-format} form is used. The translator should
@@ -446,6 +500,16 @@ obsolete messages.
Write out a NeXTstep/GNUstep localized resource file in @code{.strings} syntax.
Note that this file format doesn't support plural forms.
+@item --its=@var{file}
+@opindex --its@r{, @code{xgettext} option}
+Use ITS rules defined in @var{file}.
+Note that this is only effective with XML files.
+
+@item --itstool
+@opindex --itstool@r{, @code{xgettext} option}
+Write out comments recognized by itstool (@uref{http://itstool.org}).
+Note that this is only effective with XML files.
+
@item -w @var{number}
@itemx --width=@var{number}
@opindex -w@r{, @code{xgettext} option}
@@ -523,7 +587,7 @@ Set the reporting address for msgid bugs. This is the email address or URL
to which the translators shall report bugs in the untranslated strings:
@itemize -
-@item Strings which are not entire sentences, see the maintainer guidelines
+@item Strings which are not entire sentences; see the maintainer guidelines
in @ref{Preparing Strings}.
@item Strings which use unclear terms or require additional context to be
understood.
diff --git a/gettext-tools/examples/ChangeLog b/gettext-tools/examples/ChangeLog
index 12ab5c5..5aa6d30 100644
--- a/gettext-tools/examples/ChangeLog
+++ b/gettext-tools/examples/ChangeLog
@@ -1,1163 +1,11 @@
-2014-12-24 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.4 released.
-
-2014-12-24 Daiki Ueno <ueno@gnu.org>
-
- * po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
- * po/ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
- * po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * po/pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * po/pt_BR.po: Update from Rafael Ferreira <rafael.f.f1@gmail.com>.
- * po/ru.po: Update from Yuri Kozlov <yuray@komyakino.ru>.
- * po/sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * po/sl.po: Update from Primož Peterlin <primozz.peterlin@gmail.com>.
- * po/sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
- * po/vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
-
-2014-12-05 Daiki Ueno <ueno@gnu.org>
-
- examples: Regenerate stamp-po after POT has changed
- * Makefile.am (distdir1): Invoke 'all' target in po/Makefile,
- after 'update-po'.
-
-2014-12-05 Daiki Ueno <ueno@gnu.org>
-
- examples: Include hello-*.pot in the distribution
- Partially revert 2c3d71ce, as it broke "make dist". Instead,
- include all the generated POT files in the distribution to prevent
- re-generation of those files.
- * Makefile.am (distdir1): Call update-po in po/Makefile.
- * po/Makefile.am ($(DOMAIN).pot-update): Specify --directory for
- xgettext invocation.
- (DISTCLEANFILES): Move $(SMALLPOTS)...
- (MAINTAINERCLEANFILES): ...here.
- (distdir1): Include $(SMALLPOTS) in the distribution.
-
-2014-12-04 Daiki Ueno <ueno@gnu.org>
-
- examples: Don't forcibly regenerate POT files on 'make dist'
- Previously we generated POT files on 'make dist'. However, it
- take some time to complete and require autotools bootstrap for
- each project.
- * Makefile.am (distdir1): Don't invoke update-po rule in po/Makefile.
- * po/Makefile.am (distdir1): Don't invoke update-po rule.
-
-2014-10-15 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.3 released.
-
-2014-10-15 Daiki Ueno <ueno@gnu.org>
-
- * po/eo.po, po/es.po, po/nb.po: Update.
-
-2014-07-14 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.2 released.
-
-2014-06-10 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.1 released.
-
-2014-06-03 Daiki Ueno <ueno@gnu.org>
-
- examples: Don't require msgfmt when compiling hello-c-gnome3
- * hello-c-gnome3/Makefile.am (CLEANFILES): Clean hello.desktop.
- (EXTRA_DIST): Add hello.desktop.in.
- (MAINTAINERCLEANFILES): Add hello.desktop.in.
- (hello.desktop): Move msgfmt invocation to...
- (hello.desktop.in): ...here.
-
-2014-06-02 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19 released.
-
-2014-05-14 Daiki Ueno <ueno@gnu.org>
-
- * configure.ac: Adjust $docdir assuming that AC_PACKAGE_TARNAME is
- set.
-
-2014-05-06 Daiki Ueno <ueno@gnu.org>
-
- * Makefile.am (install-data-local): Don't fail if a PO file does
- not exist, but warn user to do "make dist".
-
-2014-04-22 Daiki Ueno <ueno@gnu.org>
-
- build: Use git-version-gen intead of version.sh
- * configure.ac: Use git-version-gen in AC_INIT.
-
-2014-04-21 Daiki Ueno <ueno@gnu.org>
-
- examples: Quote shell variables in hello-java*/configure
- When running from xsmallpot.sh, embedded shell-script snippets are
- stripped off from configure.ac and some variables are not set.
- Make sure to quote them to avoid error.
- * hello-java/configure.ac: Quote $BUILDJAVA.
- * hello-java-awt/configure.ac: Quote $BUILDJAVAEXE and $BUILDJAVA.
- * hello-java-qtjambi/configure.ac: Likewise.
- * hello-java-swing/configure.ac: Likewise.
-
-2014-04-15 Daiki Ueno <ueno@gnu.org>
-
- examples: Add a new example 'hello-c-gnome3'
- * hello-c-gnome3: New subdirectory.
- * README: Mention it.
- * Makefile.am (EXAMPLESFILES): Add the files in hello-c-gnome3.
- (EXAMPLESDIRS): Add hello-c-gnome3.
- * po/Makefile.am (POTFILES): Add hello-c-gnome3 source.
- (SMALLPOTS): Add hello-c-gnome3.pot.
- (hello-c-gnome3.pot): New rule.
- (SMALLPOFILES_FOR_lang): Add hello-c-gnome3 elements.
- (../hello-c-gnome3/po/$(LL).po): New rule.
-
-2013-06-10 Daiki Ueno <ueno@gnu.org>
-
- * Makefile.am: Use $(MKDIR_P) instead of $(mkdir_p).
- * hello-c++-qt/po/Makefile.am: Likewise.
- * hello-c++-wxwidgets/po/Makefile.am: Likewise.
- * hello-clisp/po/Makefile.am: Likewise.
- * hello-csharp-forms/Makefile.am: Likewise.
- * hello-csharp-forms/po/Makefile.am: Likewise.
- * hello-csharp/Makefile.am: Likewise.
- * hello-csharp/po/Makefile.am: Likewise.
- * hello-gawk/po/Makefile.am: Likewise.
- * hello-guile/po/Makefile.am: Likewise.
- * hello-java-awt/Makefile.am: Likewise.
- * hello-java-qtjambi/Makefile.am: Likewise.
- * hello-java-swing/Makefile.am: Likewise.
- * hello-java/Makefile.am: Likewise.
- * hello-librep/po/Makefile.am: Likewise.
- * hello-pascal/Makefile.am: Likewise.
- * hello-pascal/po/Makefile.am: Likewise.
- * hello-perl/po/Makefile.am: Likewise.
- * hello-php/po/Makefile.am: Likewise.
- * hello-python/po/Makefile.am: Likewise.
- * hello-sh/po/Makefile.am: Likewise.
- * hello-smalltalk/po/Makefile.am: Likewise.
- * hello-tcl-tk/po/Makefile.am: Likewise.
- * hello-tcl/po/Makefile.am: Likewise.
- * hello-ycp/po/Makefile.am: Likewise.
- Suggested by Stefano Lattarini in
- <https://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00044.html>.
-
-2013-04-23 Daiki Ueno <ueno@gnu.org>
-
- * po/xsmallpot.sh: Don't assume that aclocal accepts configure.in.
-
-2013-04-02 Daiki Ueno <ueno@gnu.org>
-
- * Makefile.am (clean-local): New rule to remove tmp-hello-*.
-
-2012-12-25 Daiki Ueno <ueno@gnu.org>
-
- * gettext-0.18.2 released.
-
-2012-12-19 Daiki Ueno <ueno@gnu.org>
-
- Fix build error in hello-c++-kde due to autom4te cache.
- * po/xsmallpot.sh: Pass -f to autoconf to ignore cache.
-
-2012-12-07 Bruno Haible <bruno@clisp.org>
-
- * po/cs.po: New file, from Marek Černocký <marek@manet.cz>.
- * po/nb.po: New file, from Johnny A. Solbu <johnny@solbu.net>.
- * po/vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
- * po/LINGUAS: Add cs, hr, nb.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2012-07-08 Bruno Haible <bruno@clisp.org>
-
- * po/hr.po: New file, from Tomislav Krznar <tomislav.krznar@gmail.com>.
-
-2011-01-18 Bruno Haible <bruno@clisp.org>
-
- * po/da.po: New file, from Keld Simonsen <keld@keldix.com>.
- * po/gl.po: New file, from
- Leandro Regueiro <leandro.regueiro@gmail.com>.
- * po/LINGUAS: Add da, gl.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2010-10-10 Bruno Haible <bruno@clisp.org>
-
- * po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
-
-2010-08-13 Nicola Pero <nicola.pero@meta-innovation.com> (tiny change)
-
- Fix build error in hello-objc-gnustep due to 'ast' and 'ky' catalogs.
- * hello-objc-gnustep/po/LocaleAliases: Regenerated from newest
- gnustep-base/Languages/Locale.aliases.
-
-2010-06-04 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.18.1 released.
-
-2010-05-09 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.18 released.
-
-2010-04-25 Bruno Haible <bruno@clisp.org>
-
- Update hello-pascal example.
- * hello-pascal/INSTALL: Require fpc 2.0 or newer.
- * hello-pascal/hello.pas: Use GetProcessID from the system unit,
- instead of getpid from the oldlinux unit or fpgetpid from the baseunix
- unit.
- Reported by Marco van de Voort <marcov@stack.nl>.
-
-2010-04-02 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-wxwidgets/autogen.sh: Update origin of lib-*.m4 and
- config.rpath files.
-
-2010-03-09 Bruno Haible <bruno@clisp.org>
-
- * po/ast.po: Update.
-
-2010-01-31 Bruno Haible <bruno@clisp.org>
-
- * po/bg.po: New file, from Roumen Petrov <transl@roumenpetrov.info>.
- * po/LINGUAS: Add bg.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2009-12-19 Bruno Haible <bruno@clisp.org>
-
- * po/ast.po: New file, from
- Marcos Alvarez Costales <marcos.alvarez.costales@gmail.com>.
- * po/LINGUAS: Add ast.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- Silence the msgmerge invocations.
- * hello-c/po/Makevars (MSGMERGE_OPTIONS): New variable.
- * hello-c-gnome/po/Makevars (MSGMERGE_OPTIONS): Likewise.
- * hello-c++/po/Makevars (MSGMERGE_OPTIONS): Likewise.
- * hello-c++-kde/po/Makevars (MSGMERGE_OPTIONS): Likewise.
- * hello-c++-gnome/po/Makevars (MSGMERGE_OPTIONS): Likewise.
- * hello-objc/po/Makevars (MSGMERGE_OPTIONS): Likewise.
- * hello-objc-gnome/po/Makevars (MSGMERGE_OPTIONS): Likewise.
- * po/Makefile.am (MSGMERGE_OPTIONS): New variable.
- ($(POFILES), .nop.po-update): Use it.
- * hello-c++-qt/po/Makefile.am: Likewise.
- * hello-c++-wxwidgets/po/Makefile.am: Likewise.
- * hello-sh/po/Makefile.am: Likewise.
- * hello-python/po/Makefile.am: Likewise.
- * hello-clisp/po/Makefile.am: Likewise.
- * hello-librep/po/Makefile.am: Likewise.
- * hello-guile/po/Makefile.am: Likewise.
- * hello-smalltalk/po/Makefile.am: Likewise.
- * hello-java/po/Makefile.am: Likewise.
- * hello-java-awt/po/Makefile.am: Likewise.
- * hello-java-swing/po/Makefile.am: Likewise.
- * hello-java-qtjambi/po/Makefile.am: Likewise.
- * hello-csharp/po/Makefile.am: Likewise.
- * hello-csharp-forms/po/Makefile.am: Likewise.
- * hello-gawk/po/Makefile.am: Likewise.
- * hello-pascal/po/Makefile.am: Likewise.
- * hello-ycp/po/Makefile.am: Likewise.
- * hello-tcl/po/Makefile.am: Likewise.
- * hello-tcl-tk/po/Makefile.am: Likewise.
- * hello-perl/po/Makefile.am: Likewise.
- * hello-php/po/Makefile.am: Likewise.
- * hello-objc-gnustep/po/GNUmakefile: Likewise.
- * po/mmsmallpo.sh: Pass option --quiet to msgmerge.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * hello-objc-gnustep/po/GNUmakefile: Apply 2007-10-18 changes to
- hello-*/po/Makefile.am.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * hello-objc-gnustep/po/GNUmakefile: Apply 2007-10-17 changes to
- hello-*/po/Makefile.am.
- (PACKAGE_NAME, PACKAGE_VERSION): New variables.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * hello-objc-gnustep/po/GNUmakefile: Apply part of 2005-02-07 changes
- to hello-*/po/Makefile.am..
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * hello-objc-gnustep/po/GNUmakefile: Apply 2004-01-17 changes to
- hello-*/po/Makefile.am.
-
-2009-07-29 Bruno Haible <bruno@clisp.org>
-
- * po/lv.po: New file, from Rihards Priedītis <rprieditis@gmail.com>.
- * po/LINGUAS: Add lv.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2009-05-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (AM_INIT_AUTOMAKE): Add 'silent-rules' option.
-
-2009-05-23 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: Invoke gl_INIT_PACKAGE. Use the preferred form of
- AM_INIT_AUTOMAKE.
-
-2009-01-27 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-qt/po/Makefile.am (XGETTEXT_OPTIONS): Add more options for
- the tr function, for compatibility with Qt 4.
-
-2009-01-18 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-qt/po/Makefile.am (.po.gmo): Pass --verbose to msgfmt when
- producing statistics.
- * hello-c++-wxwidgets/po/Makefile.am (.po.gmo): Likewise.
- * hello-clisp/po/Makefile.am (.po.gmo): Likewise.
- * hello-gawk/po/Makefile.am (.po.gmo): Likewise.
- * hello-guile/po/Makefile.am (.po.gmo): Likewise.
- * hello-librep/po/Makefile.am (.po.gmo): Likewise.
- * hello-pascal/po/Makefile.am (.po.gmo): Likewise.
- * hello-perl/po/Makefile.am (.po.gmo): Likewise.
- * hello-php/po/Makefile.am (.po.gmo): Likewise.
- * hello-python/po/Makefile.am (.po.gmo): Likewise.
- * hello-sh/po/Makefile.am (.po.gmo): Likewise.
- * hello-smalltalk/po/Makefile.am (.po.gmo): Likewise.
- * hello-ycp/po/Makefile.am (.po.gmo): Likewise.
- * hello-java/po/Makefile.am (update-properties, update-classes):
- Likewise.
- * hello-java-awt/po/Makefile.am (update-properties, update-classes):
- Likewise.
- * hello-java-swing/po/Makefile.am (update-properties, update-classes):
- Likewise.
- * hello-java-qtjambi/po/Makefile.am (update-properties,
- update-classes): Likewise.
- Suggested by Vincent Lefevre <vincent@vinc17.org>.
-
-2009-01-18 Bruno Haible <bruno@clisp.org>
-
- * po/mt.po: New file, from Clyde Meli <cmeli@cis.um.edu.mt>.
- * po/LINGUAS: Add mt.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2009-01-14 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: More consistent m4 quoting.
-
-2007-12-24 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am ($(POFILES), .nop.po-update): When using
- msgmerge 0.18 or newer, pass a --lang option.
- * hello-objc-gnustep/po/GNUmakefile ($(POFILES), .nop.po-update):
- Likewise.
-
-2007-12-24 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am (.nop.po-update): Put all non-option arguments
- after all option arguments, so that the commands work 1. when
- POSIXLY_CORRECT is set, 2. on platforms whose getopt facility is POSIX
- compliant but not GNU libc compatible, such as Cygwin.
- * hello-objc-gnustep/po/GNUmakefile (.nop.po-update): Likewise.
-
-2007-11-13 Bruno Haible <bruno@clisp.org>
-
- * po/ky.po: New file, from Ilyas Bakirov <just_ilyas@yahoo.com>.
- * po/LINGUAS: Add ky.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2007-11-07 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.17 released.
-
-2007-10-31 Bruno Haible <bruno@clisp.org>
-
- * hello-*/m4/Makefile.am (EXTRA_DIST): Remove ulonglong.m4.
- * hello-*/autoclean.sh: Don't remove ulonglong.m4 any more.
-
-2007-10-28 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am ($(DOMAIN).pot-update): Consider the
- XGETTEXT_EXTRA_OPTIONS variable.
-
-2007-10-26 Bruno Haible <bruno@clisp.org>
-
- * po/fi.po: New file, from Lauri Nurmi <lanurmi@iki.fi>.
- * po/LINGUAS: Add fi.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2007-10-20 Bruno Haible <bruno@clisp.org>
-
- New example for Qt/Jambi.
- * hello-java-qtjambi: New subdirectory.
- * README: Mention it.
- * Makefile.am (EXAMPLESFILES): Add the files in hello-java-qtjambi.
- (EXAMPLESDIRS): Add hello-java-qtjambi.
- * po/Makefile.am (POTFILES): Add hello-java-qtjambi source.
- (SMALLPOTS): Add hello-java-qtjambi.pot.
- (hello-java-qtjambi.pot): New rule.
- (SMALLPOFILES_FOR_lang): Add hello-java-qtjambi elements.
- (../hello-java-qtjambi/po/$(LL).po): New rule.
-
-2007-10-18 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am ($(DOMAIN).pot-update): Don't pass the package
- name and version to xgettext if the xgettext version is < 0.16.2.
-
-2007-10-17 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am ($(DOMAIN).pot-update): Pass the package name
- and version to xgettext.
-
-2007-10-17 Bruno Haible <bruno@clisp.org>
-
- * hello-java/po/Makefile.am (stamp-po): Test $(PROPERTIESFILES), not
- $(GMOFILES).
-
-2007-10-13 Bruno Haible <bruno@clisp.org>
-
- * po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
-
-2007-09-15 Bruno Haible <bruno@clisp.org>
-
- * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
-
-2007-06-07 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autoclean.sh: Remove also intlmacosx.m4.
-
-2007-04-06 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autoclean.sh: Don't remove longdouble.m4 any more.
-
-2007-03-20 Bruno Haible <bruno@clisp.org>
-
- Remove all "Copyright (C) ..." notices from files that are in the
- public domain.
-
-2007-01-30 Bruno Haible <bruno@clisp.org>
-
- * po/ms.po: New file, from
- Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>.
- * po/LINGUAS: Add ms.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
-
-2006-12-04 Bruno Haible <bruno@clisp.org>
-
- Work around small sh argument length limit on IRIX.
- * Makefile.am (EXAMPLESFILES): Remove the common files in po
- directories.
- (EXAMPLESDIRS, EXAMPLESPOFILES): New variables.
- (install-data-local, installdirs-local, uninstall-local, distdir1): Use
- doubly-nested loop for the common files in po directories.
- Reported by Paul Martinolich <martinol@nrlssc.navy.mil>.
-
-2006-10-27 Bruno Haible <bruno@clisp.org>
-
- Work around automake-1.10 annoyance.
- * Makefile.am (ACLOCAL): New macro.
-
-2006-11-27 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.16.1 released.
-
-2006-10-26 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.16 released.
-
-2006-10-23 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-kde/admin/cvs.sh: Accept automake versions > 1.9.x.
-
-2006-10-01 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autoclean.sh: Remove also intldir.m4.
-
-2006-10-02 Bruno Haible <bruno@clisp.org>
-
- * po/fr.po: Update from Christophe Combelles <ccomb@free.fr>.
- * po/id.po: New file, from Tedi Heriyanto <tedi_heriyanto@yahoo.com>.
- * po/LINGUAS: Add id.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2006-09-18 Bruno Haible <bruno@clisp.org>
-
- * hello-{c,c++,objc}*/{autoclean.sh,m4/Makefile.am}: Remove
- inttypes-h.m4.
-
-2006-09-11 Bruno Haible <bruno@clisp.org>
-
- * hello-{c,c++,objc}*/autoclean.sh: Remove also intl.m4.
-
-2006-08-28 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autoclean.sh: Remove mention of signed.m4.
-
-2006-07-31 Bruno Haible <bruno@clisp.org>
-
- * hello-c/autogen.sh: Replace gettext-tools/lib with
- gettext-tools/gnulib-lib.
- * hello-c++/autogen.sh: Likewise.
- * hello-objc/autogen.sh: Likewise.
- * hello-csharp/autogen.sh: Update for changed locations of *.m4 files.
- * hello-csharp-forms/autogen.sh: Likewise.
- * hello-java/autogen.sh: Likewise.
- * hello-java-awt/autogen.sh: Likewise.
- * hello-java-swing/autogen.sh: Likewise.
-
-2006-07-30 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp*/autogen.sh: Update for changed location of
- csharpcomp.sh.in and csharpexec.sh.in.
- * hello-java*/autogen.sh: Update for changed location of
- javacomp.sh.in and javaexec.sh.in.
-
-2006-07-25 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc: Remove file.
- * Makefile.am (EXTRA_DIST): Remove Makefile.msvc.
-
-2006-07-25 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: Remove file.
- * Makefile.am (EXTRA_DIST): Remove Makefile.vms.
-
-2006-07-23 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-kde/autoclean.sh: Fix syntax error.
-
-2006-07-21 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.15 released.
-
-2006-07-21 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autogen.sh (GETTEXT_TOPSRCDIR): In the build directory case,
- append one more "/..".
-
-2006-07-20 Bruno Haible <bruno@clisp.org>
-
- * po/sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
- * po/zh_HK.po: New file, from Abel Cheung <abelcheung@gmail.com>.
- * po/LINGUAS: Add zh_HK.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2006-07-14 Bruno Haible <bruno@clisp.org>
-
- * po/Makefile.am (MOSTLYCLEANFILES): Add *.stackdump.
- * hello-*/po/Makefile.am (MOSTLYCLEANFILES): Likewise.
-
-2006-07-13 Bruno Haible <bruno@clisp.org>
-
- * configure.ac (Makefile): Invoke FIX_MAKEFILE_TOPDIR_DISTRIB instead
- of FIX_MAKEFILE_DISTRIB.
-
-2006-07-13 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-kde/admin/cvs.sh: Disable the search for specific
- versions of autoconf, autoheader, autom4te, automake, aclocal.
- Accept autoconf, autoheader versions > 2.59. Accept automake
- versions > 1.8.x.
-
-2006-07-13 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): New variable.
-
-2006-07-03 Bruno Haible <bruno@clisp.org>
-
- * po/eo.po: New file, from Edmund Grimley Evans <edmundo@rano.org>.
- * po/it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * po/LINGUAS: Add eo.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2006-06-29 Bruno Haible <bruno@clisp.org>
-
- * configure.ac: New file.
- * Makefile.am (AUTOMAKE_OPTIONS): Drop gnits, use foreign instead.
- * po/Makefile.am (POTFILES): Remove examples/ prefix.
-
-2006-06-27 Bruno Haible <bruno@clisp.org>
-
- * hello-c/{autoclean.sh,m4/Makefile.am}: Remove isc-posix.m4.
- * hello-c-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-c++/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-c++-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-c++-kde/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-objc/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-objc-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
-
-2006-04-14 Bruno Haible <bruno@clisp.org>
-
- Assume autoconf >= 2.60.
- * Makefile.am (docdir): Remove variable.
- * po/Makefile.am (localedir): Remove variable.
-
-2006-06-04 Bruno Haible <bruno@clisp.org>
-
- * hello-c/{autoclean.sh,m4/Makefile.am}: Replace inttypes.m4 with
- inttypes-h.m4.
- * hello-c-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-c++/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-c++-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-c++-kde/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-objc/{autoclean.sh,m4/Makefile.am}: Likewise.
- * hello-objc-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
-
-2006-05-01 Bruno Haible <bruno@clisp.org>
-
- * hello-java/configure.ac: Pass a source-version to gt_JAVACOMP. Move
- gt_JAVAEXEC call before the gt_JAVACOMP call.
- * hello-java-awt/configure.ac: Likewise.
- * hello-java-swing/configure.ac: Likewise.
-
-2006-04-17 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am: Use $(mkdir_p) instead of $(mkinstalldirs).
- * hello-csharp/Makefile.am: Likewise.
- * hello-csharp-forms/Makefile.am: Likewise.
- * hello-java/Makefile.am: Likewise.
- * hello-java-awt/Makefile.am: Likewise.
- * hello-java-swing/Makefile.am: Likewise.
- * hello-pascal/Makefile.am: Likewise.
- * hello-c++-qt/po/Makefile.am: Likewise.
- * hello-c++-wxwidgets/po/Makefile.am: Likewise.
- * hello-clisp/po/Makefile.am: Likewise.
- * hello-csharp/po/Makefile.am: Likewise.
- * hello-csharp-forms/po/Makefile.am: Likewise.
- * hello-gawk/po/Makefile.am: Likewise.
- * hello-guile/po/Makefile.am: Likewise.
- * hello-librep/po/Makefile.am: Likewise.
- * hello-pascal/po/Makefile.am: Likewise.
- * hello-perl/po/Makefile.am: Likewise.
- * hello-php/po/Makefile.am: Likewise.
- * hello-python/po/Makefile.am: Likewise.
- * hello-sh/po/Makefile.am: Likewise.
- * hello-smalltalk/po/Makefile.am: Likewise.
- * hello-tcl/po/Makefile.am: Likewise.
- * hello-tcl-tk/po/Makefile.am: Likewise.
- * hello-ycp/po/Makefile.am: Likewise.
- * hello-*/autoclean.sh: Don't remove mkinstalldirs.
-
-2006-04-14 Bruno Haible <bruno@clisp.org>
-
- Don't ignore the --localedir option from autoconf >= 2.60.
- * hello-c/Makefile.am (localedir): Remove variable.
- * hello-c-gnome/Makefile.am (localedir): Likewise.
- * hello-objc/Makefile.am (localedir): Likewise.
- * hello-objc-gnome/Makefile.am (localedir): Likewise.
- * hello-c++/Makefile.am (localedir): Likewise.
- * hello-c++-kde/Makefile.am (localedir): Likewise.
- * hello-c++-gnome/Makefile.am (localedir): Likewise.
- * hello-c++-qt/Makefile.am (localedir): Likewise.
- * hello-c++-qt/po/Makefile.am (localedir): Likewise.
- * hello-c++-wxwidgets/Makefile.am (localedir): Likewise.
- * hello-c++-wxwidgets/po/Makefile.am (localedir): Likewise.
- * hello-clisp/po/Makefile.am (localedir): Likewise.
- * hello-gawk/po/Makefile.am (localedir): Likewise.
- * hello-guile/po/Makefile.am (localedir): Likewise.
- * hello-librep/po/Makefile.am (localedir): Likewise.
- * hello-pascal/po/Makefile.am (localedir): Likewise.
- * hello-perl/po/Makefile.am (localedir): Likewise.
- * hello-php/po/Makefile.am (localedir): Likewise.
- * hello-python/po/Makefile.am (localedir): Likewise.
- * hello-sh/po/Makefile.am (localedir): Likewise.
- * hello-smalltalk/po/Makefile.am (localedir): Likewise.
- * hello-ycp/po/Makefile.am (localedir): Likewise.
-
-2006-04-14 Bruno Haible <bruno@clisp.org>
-
- * hello-c/configure.ac: Use gettext-0.15 infrastructure.
- * hello-c-gnome/configure.ac: Likewise.
- * hello-objc/configure.ac: Likewise.
- * hello-objc-gnome/configure.ac: Likewise.
- * hello-c++/configure.ac: Likewise.
- * hello-c++-kde/configure.in.in: Likewise.
- * hello-c++-gnome/configure.ac: Likewise.
- * hello-c-gnome/m4/Makefile.am (EXTRA_DIST): Add lock.m4.
- * hello-c++-kde/m4/Makefile.am (EXTRA_DIST): Likewise.
-
-2006-04-14 Bruno Haible <bruno@clisp.org>
-
- Prepare for autoconf-2.60.
- * hello-clisp/configure.ac: Set datarootdir before evaluating
- ${datadir}.
- * hello-gawk/configure.ac: Likewise.
- * hello-guile/configure.ac: Likewise.
- * hello-librep/configure.ac: Likewise.
- * hello-pascal/configure.ac: Likewise.
- * hello-perl/configure.ac: Likewise.
- * hello-php/configure.ac: Likewise.
- * hello-python/configure.ac: Likewise.
- * hello-sh/configure.ac: Likewise.
- * hello-smalltalk/configure.ac: Likewise.
-
-2006-04-07 Bruno Haible <bruno@clisp.org>
-
- * po/hu.po: New file, from Kiss Tamás <atomi@inf.elte.hu>.
- * po/pt.po: New file, from
- Helder Correia <helder.pereira.correia@gmail.com>.
- * po/sl.po: New file, from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
- * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
- * po/LINGUAS: Add hu, pt, sl.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2006-03-25 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp-forms/README: New file.
- * Makefile.am (EXAMPLESFILES): Add it.
-
-2006-03-25 Bruno Haible <bruno@clisp.org>
-
- New example for wxWidgets.
- * hello-c++-wxwidgets: New subdirectory.
- * README: Mention it.
- * Makefile.am (EXAMPLESFILES): Add the files in hello-c++-wxwidgets.
- * po/Makefile.am (POTFILES): Add hello-c++-wxwidgets source.
- (SMALLPOTS): Add hello-c++-wxwidgets.pot.
- (hello-c++-wxwidgets.pot): New rule.
- (SMALLPOFILES_FOR_lang): Add hello-c++-wxwidgets elements.
- (../hello-c++-wxwidgets/po/$(LL).po): New rule.
-
-2005-10-18 Bruno Haible <bruno@clisp.org>
-
- * hello-c/po/Makevars (USE_MSGCTXT): New macro.
- * hello-c-gnome/po/Makevars (USE_MSGCTXT): New macro.
- * hello-c++/po/Makevars (USE_MSGCTXT): New macro.
- * hello-c++-gnome/po/Makevars (USE_MSGCTXT): New macro.
- * hello-c++-kde/po/Makevars (USE_MSGCTXT): New macro.
- * hello-objc/po/Makevars (USE_MSGCTXT): New macro.
- * hello-objc-gnome/po/Makevars (USE_MSGCTXT): New macro.
-
-2005-09-19 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autogen.sh: Also install m4/progtest.m4.
- * hello-*/autoclean.sh: Also remove m4/progtest.m4.
-
-2005-07-24 Bruno Haible <bruno@clisp.org>
-
- Tidy up exported symbols.
- * hello-c/m4/Makefile.am (EXTRA_DIST): Add visibility.m4.
- * hello-c-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-c++/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-c++-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-c++-kde/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-objc/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-objc-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-c/autoclean.sh: Remove also m4/visibility.m4.
- * hello-c-gnome/autoclean.sh: Likewise.
- * hello-c++/autoclean.sh: Likewise.
- * hello-c++-gnome/autoclean.sh: Likewise.
- * hello-c++-kde/autoclean.sh: Likewise.
- * hello-objc/autoclean.sh: Likewise.
- * hello-objc-gnome/autoclean.sh: Likewise.
-
-2005-07-26 Bruno Haible <bruno@clisp.org>
-
- * installpaths.in (datarootdir): New variable.
-
-2005-07-16 Bruno Haible <bruno@clisp.org>
-
- * hello-c/m4/Makefile.am (EXTRA_DIST): Add lock.m4.
- * hello-c++/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-c++-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-objc/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-objc-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
- * hello-c/autoclean.sh: Remove also m4/lock.m4.
- * hello-c-gnome/autoclean.sh: Likewise.
- * hello-c++/autoclean.sh: Likewise.
- * hello-c++-gnome/autoclean.sh: Likewise.
- * hello-c++-kde/autoclean.sh: Likewise.
- * hello-objc/autoclean.sh: Likewise.
- * hello-objc-gnome/autoclean.sh: Likewise.
-
-2005-05-01 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp/configure.ac, hello-csharp-forms/configure.ac: Call
- gt_CSHARPEXEC with parameters.
- * hello-csharp/m4/Makefile.am, hello-csharp-forms/m4/Makefile.am
- (EXTRA_DIST): Add csharpexec-test.exe.
- * hello-csharp/autogen.sh, hello-csharp-forms/autogen.sh: Also copy
- m4/csharpexec-test.exe.
- * hello-csharp/autoclean.sh, hello-csharp-forms/autoclean.sh: Also
- remove m4/csharpexec-test.exe.
-
-2006-06-21 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.6 released.
-
-2005-05-23 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.5 released.
-
-2005-05-23 Bruno Haible <bruno@clisp.org>
-
- * po/zh_TW.po: New file, from Abel Cheung <abelcheung@gmail.com>.
- * po/LINGUAS: Add it.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2005-04-11 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.4 released.
-
-2005-04-11 Bruno Haible <bruno@clisp.org>
-
- * po/it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
-
-2005-03-14 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.3 released.
-
-2005-03-08 Bruno Haible <bruno@clisp.org>
-
- * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
-
-2005-03-08 Bruno Haible <bruno@clisp.org>
-
- * po/it.po: New file, from Marco Colombo <m.colombo@ed.ac.uk>.
- * po/LINGUAS: Add it.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2005-03-06 Bruno Haible <bruno@clisp.org>
-
- * po/Makefile.am, hello-*/po/Makefile.am (stamp-po): Do nothing if
- $(DOMAIN).pot does not exist.
- (EXTRA_DIST): Remove $(DOMAIN).pot, stamp-po.
- (distdir1): If $(DOMAIN).pot exists, distribute also $(DOMAIN).pot and
- stamp-po.
-
-2005-02-24 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.2 released.
-
-2005-02-24 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autogen.sh: Define and use GETTEXT_TOPSRCDIR, to make it
- work in VPATH builds.
-
-2005-02-23 Bruno Haible <bruno@clisp.org>
-
- * xsmallpot.sh: Make the temporary directory writable.
-
-2005-02-23 Bruno Haible <bruno@clisp.org>
-
- * xsmallpot.sh: Add srcdir argument. Make it work when
- builddir != srcdir.
- * Makefile.am (hello-*.pot): Update xsmallpot.sh invocations.
-
-2005-02-21 Bruno Haible <bruno@clisp.org>
-
- * po/vi.po: New file, from Clytie Siddall <clytie@riverland.net.au>.
- * po/LINGUAS: Add vi.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2005-02-11 Bruno Haible <bruno@clisp.org>
-
- * po/ga.po: New file, from Kevin Patrick Scannell <scannell@slu.edu>.
- * po/LINGUAS: Add ga.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2005-02-06 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am ($(DOMAIN).pot-update): If MSGID_BUGS_ADDRESS
- is empty and PACKAGE_BUGREPORT is available, use the latter.
- * po/Makefile.am ($(DOMAIN).pot-update): Likewise.
-
-2005-01-20 Bruno Haible <bruno@clisp.org>
-
- * hello-guile/hello.scm: Invoke setlocale. Fix bindtextdomain call.
-
-2005-01-16 Bruno Haible <bruno@clisp.org>
-
- Support for Scheme.
- * hello-guile: New subdirectory.
- * README: Mention it.
- * Makefile.am (EXAMPLESFILES): Add the files in hello-guile.
- * po/Makefile.am (POTFILES): Add hello-guile source.
- (SMALLPOTS): Add hello-guile.pot.
- (hello-guile.pot): New rule.
- (SMALLPOFILES_FOR_lang): Add hello-guile elements.
- (../hello-guile/po/$(LL).po): New rule.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * po/el.po: New file, from Simos Xenitellis <simos74@gmx.net>.
- * po/ru.po: New file, from Pavel Maryanov <acid_jack@ukr.net>.
- * po/uk.po: New file, from Maxim V. Dziumanenko <mvd@mylinux.com.ua>.
- * po/LINGUAS: Add el, ru, uk.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2004-09-07 Bruno Haible <bruno@clisp.org>
-
- * po/xsmallpot.sh: Keep AC_PROG_* and OBJC lines in configure.in.
- * hello-objc/configure.ac: Assign OBJC through AC_SUBST.
- * hello-objc-gnome/configure.ac: Likewise.
- Needed to avoid error with automake-1.9.
-
-2004-08-19 Bruno Haible <bruno@clisp.org>
-
- * hello-librep/hello.jl.in: Remove no-op comments.
-
-2004-03-21 Bruno Haible <bruno@clisp.org>
-
- * po/es.po: Update from Max de Mendizábal <max@upn.mx>.
- * po/sr.po: Update from Aleksandar Jelenak <jelenak@netlinkplus.net>.
-
-2004-02-24 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp*/hello.cs (Hello.Main): Remove workaround for mono bug,
- fixed in mono-0.30.1.
-
-2004-02-24 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp*/autogen.sh: Copy also the csharp.m4 file.
-
-2004-02-02 Bruno Haible <bruno@clisp.org>
-
- * hello-*/autoclean.sh, hello-*/m4/Makefile.am: Handle glibc2.m4 too.
-
-2004-01-29 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.1 released.
-
-2004-01-28 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14 released.
-
-2004-01-28 Bruno Haible <bruno@clisp.org>
-
- * po/tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
-
-2004-01-17 Bruno Haible <bruno@clisp.org>
-
- * po/Makefile.am (POTFILES): Add hello-csharp, hello-csharp-forms
- sources.
- (SMALLPOTS): Add hello-csharp.pot, hello-csharp-forms.pot.
- (hello-csharp.pot, hello-csharp-forms.pot): New rules.
- (SMALLPOFILES_FOR_lang): Add hello-csharp, hello-csharp-forms elements.
- (../hello-csharp/po/$(LL).po, ../hello-csharp-forms/po/$(LL).po): New
- rules.
- * po/mmsmallpo.sh: Use option --force-po.
-
-2004-01-17 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/Makefile.am: Adapt to changes made in po/Makefile.in.in.
-
-2004-01-17 Bruno Haible <bruno@clisp.org>
-
- * po/af.po: New file, from Ysbeer <ysbeer@af.org.za>.
- * po/ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * po/de.po: Update from Karl Eichwalder <ke@gnu.franken.de>.
- * po/fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * po/nl.po: New file, from Elros Cyriatan <cyriatan@fastmail.fm>.
- * po/pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * po/sk.po: New file, from Marcel Telka <marcel@telka.sk>.
- * po/sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * po/zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
- * po/LINGUAS: Add af, nl, sk.
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2004-01-10 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-kde/admin: New directory, from KDE 3.1.4.
- * hello-c++-kde/auto*.sh: Don't create/remove the contents of the
- admin subdirectory.
- * Makefile.am (EXAMPLESFILES): Add hello-c++-kde/admin/*.
-
-2004-01-10 Bruno Haible <bruno@clisp.org>
-
- * hello-c/*, hello-c-gnome/*, hello-objc/*, hello-objc-gnome/*,
- hello-c++/*, hello-c++-gnome/*, hello-c++-kde/*: Use the autoconf
- infrastructure from gettext-0.13.1, not 0.12.1.
-
-2004-01-10 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp/hello.cs: Work around mono-0.29 CurrentUICulture bug.
- * hello-csharp-forms/hello.cs: Likewise.
-
-2003-12-29 Bruno Haible <bruno@clisp.org>
-
- * hello-perl/INSTALL: Mention that libintl-perl-1.09 required.
- * hello-perl/hello-1.pl.in, hello-perl/hello-2.pl.in: Inhibit the
- automatic UTF-8 conversion in UTF-8 locales with Perl-5.8.0. Thanks to
- Guido Flohr.
-
-2003-12-26 Bruno Haible <bruno@clisp.org>
-
- * hello-csharp: New subdirectory.
- * hello-csharp-forms: New subdirectory.
- * Makefile.am (EXAMPLESFILES): Add the files in hello-csharp and
- hello-csharp-forms.
-
-2003-12-26 Bruno Haible <bruno@clisp.org>
-
- * hello-c++-qt/m4/qt.m4: Quote the first argument of AC_DEFUN.
- * hello-c++-gnome/m4/gtk.m4, hello-c++-gnome/m4/gtk--.m4: Likewise.
-
-2003-12-17 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.13.1 released.
-
-2003-12-17 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2003-12-09 Bruno Haible <bruno@clisp.org>
-
- * hello-smalltalk/hello.st.in: Add workaround against PackageLoader
- verbosity. Solution provided by Carey Evans <careye@spamcop.net>.
- * hello-smalltalk/BUGS: Remove file.
- * Makefile.am (EXAMPLESFILES): Update.
-
-2003-12-07 Bruno Haible <bruno@clisp.org>
-
- * po/sv.po: New file, from Jan Djärv <jan.h.d@swipnet.se>.
- * po/tr.po: New file, from
- Nilgün Belma Bugüner <nilgun@superonline.com>.
- * po/LINGUAS: Add sv, tr.
-
-2003-12-07 Bruno Haible <bruno@clisp.org>
-
- * hello-perl/hello-1.pl.in: Renamed from hello-perl/hello.pl. Make it
- work.
- * hello-perl/hello-2.pl.in: New file, from Guido Flohr.
- * hello-perl/po/Makefile.am (POTFILES): Update.
- (XGETTEXT_OPTIONS): Add options needed for the Locale::TextDomain API.
- * hello-perl/configure.ac: Update accordingly.
- * hello-perl/Makefile.am: Update accordingly.
- * Makefile.am (EXAMPLESFILES): Update.
- * po/Makefile.am (POTFILES): Update.
-
-2003-12-06 Bruno Haible <bruno@clisp.org>
-
- * hello-objc-gnustep/po/LocaleAliases: Add many new locales. Fix typo
- for EcuadorSpanish. Remove conflicting entries for Indonesian and
- Hebrew.
-
-2003-12-06 Bruno Haible <bruno@clisp.org>
-
- * hello-objc-gnustep/autoclean.sh: Also remove the *.lproj directories.
- * hello-objc-gnustep/po/GNUmakefile: Include the general rules at the
- beginning, not at the end, so that our .SUFFIXES tag has an effect.
- ($(ENSTRINGSFILES)): Create the target directory.
-
-2003-12-06 Bruno Haible <bruno@clisp.org>
-
- * hello-*/INSTALL: Update the installation instructions.
- * hello-c++-qt/BUGS: New file.
- * hello-c++-kde/BUGS: New file.
- * hello-objc-gnustep/BUGS: New file.
- * hello-smalltalk/BUGS: New file.
- * hello-java-awt/BUGS: New file.
- * hello-java-swing/BUGS: New file.
- * Makefile.am (EXAMPLESFILES): Add them.
-
-2003-12-02 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am (EXTRA_DIST): Don't add the EXAMPLESFILES.
- (distdir1): New rule. Install the EXAMPLESFILES after 'update-po'.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.13 released.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * po/mmsmallpo.sh: Remove the POT-Creation-Date line from the generated
- PO file.
- * Makefile.am (EXAMPLESFILES): Add hello-pascal/hello.rst.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * hello-*/po/LINGUAS: Update.
- * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * po/es.po: New file, from Max de Mendizábal <max@upn.mx>.
- * po/LINGUAS: Add es.
-
-2003-11-24 Bruno Haible <bruno@clisp.org>
-
- * po/ca.po: New file, from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * po/ro.po: New file, from Eugen Hoanca <eugenh@urban-grafx.ro>.
- * po/LINGUAS: Add ca, ro.
-
-2003-11-22 Bruno Haible <bruno@clisp.org>
-
- * po/ja.po: New file, from Masahito Yamaga <ma@yama-ga.com>.
- * po/LINGUAS: Add ja.
-
-2003-11-20 Bruno Haible <bruno@clisp.org>
-
- * hello-*/configure.ac: Remove AM_NLS invocation.
- * po/xsmallpot.sh: Don't keep AM_NLS lines.
-
-2003-11-19 Bruno Haible <bruno@clisp.org>
-
- * po/de.po: Update from Karl Eichwalder <ke@suse.de>.
- * po/fr.po: New file, from Michel Robitaille <robitail@iro.umontreal.ca>.
- * po/pl.po: New file, from Rafał Maszkowski <rzm@icm.edu.pl>.
- * po/sr.po: New file, from Danilo Segan <dsegan@gmx.net>.
- * po/zh_CN.po: New file, from Funda Wang <fundawang@linux.net.cn>.
- * po/LINGUAS: Add fr, pl, sr, zh_CN.
-
-2003-11-15 Bruno Haible <bruno@clisp.org>
-
- * hello-c/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- * hello-c-gnome/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- * hello-c++/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- * hello-c++-kde/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- * hello-c++-gnome/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- * hello-objc/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- * hello-objc-gnome/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
-
-2003-11-15 Bruno Haible <bruno@clisp.org>
-
- * Makefile.am: New file.
- * README: New file.
- * installpaths.in: New file.
- * hello-c: New subdirectory.
- * hello-c-gnome: New subdirectory.
- * hello-c++: New subdirectory.
- * hello-c++-qt: New subdirectory.
- * hello-c++-kde: New subdirectory.
- * hello-c++-gnome: New subdirectory.
- * hello-objc: New subdirectory.
- * hello-objc-gnustep: New subdirectory.
- * hello-objc-gnome: New subdirectory.
- * hello-sh: New subdirectory.
- * hello-python: New subdirectory.
- * hello-clisp: New subdirectory.
- * hello-librep: New subdirectory.
- * hello-smalltalk: New subdirectory.
- * hello-java: New subdirectory.
- * hello-java-awt: New subdirectory.
- * hello-java-swing: New subdirectory.
- * hello-gawk: New subdirectory.
- * hello-pascal: New subdirectory.
- * hello-ycp: New subdirectory.
- * hello-tcl: New subdirectory.
- * hello-tcl-tk: New subdirectory.
- * hello-perl: New subdirectory.
- * hello-php: New subdirectory.
-
+No more ChangeLog files
+========================
+Do not modify any of the ChangeLog files in gettext. Starting on
+October 14th, 2015 we put changelog information only in the git commit
+log, and generate a top-level ChangeLog file from logs at "make dist"
+time.
+
+Local Variables:
+buffer-read-only: t
+mode: text
+End:
diff --git a/gettext-tools/examples/ChangeLog.0 b/gettext-tools/examples/ChangeLog.0
new file mode 100644
index 0000000..2851ec4
--- /dev/null
+++ b/gettext-tools/examples/ChangeLog.0
@@ -0,0 +1,1237 @@
+2015-10-08 Daiki Ueno <ueno@gnu.org>
+
+ * hello-c-gnome3/Makefile.am (hello.desktop.in): Don't use a
+ temporary file.
+ (hello.desktop): Likewise.
+
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * po/fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
+ * po/it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * po/zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * po/ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * po/cs.po: Update from Marek Černocký <marek@manet.cz>.
+ * po/da.po: Update from Joe Hansen <joedalton2@yahoo.dk>.
+ * po/de.po: Update from Philipp Thomas <pth@suse.de>.
+ * po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
+ * po/fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
+ * po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
+ * po/hu.po: Update from Balázs Úr <urbalazs@gmail.com>.
+ * po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * po/ms.po: Update from Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>.
+ * po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
+ * po/pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * po/ro.po: Update from Mihai Cristescu <mihai.cristescu@archlinux.info>.
+ * po/ru.po: Update from Yuri Kozlov <yuray@komyakino.ru>.
+ * po/sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * po/sl.po: Update from Primož Peterlin <primozz.peterlin@gmail.com>.
+ * po/sr.po: Update from МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>.
+ * po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * po/vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+
+2015-03-07 Daiki Ueno <ueno@gnu.org>
+
+ * hello-c-gnome3/Makefile.am (hello.desktop): Remove unnecessary
+ $srcdir check.
+
+2015-03-06 Daiki Ueno <ueno@gnu.org>
+
+ * hello-c-gnome3/Makefile.am: Suggest hello.desktop.in should be
+ included in EXTRA_DIST.
+
+2015-02-02 Matthias Clasen <mclasen@redhat.com>
+
+ * hello-c-gnome3/configure.ac: Require gettext 0.19, for GSettings
+ and Desktop files.
+
+2015-01-07 Daiki Ueno <ueno@gnu.org>
+
+ examples: Make hello-c-gnome3 translator friendly
+ Suggested by Benno Schulenberg in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-01/msg00003.html>.
+ * hello-c-gnome3/hello.gschema.xml: Use "use-markup" property
+ instead of "sensitive", to clarify the meaning of the extracted
+ strings.
+ * hello-c-gnome3/hello.c (HelloApplicationWindow): Rename the
+ "label2" member to "label".
+ (update_content): New function.
+ (clicked_callback): Rename from quit_callback and call
+ update_content instead of quitting. All callers changed.
+ * hello-c-gnome3/hello.ui: Abolish the first label and put a
+ translatable text inside the button.
+
+2014-12-24 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.4 released.
+
+2014-12-24 Daiki Ueno <ueno@gnu.org>
+
+ * po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * po/ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
+ * po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * po/pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * po/pt_BR.po: Update from Rafael Ferreira <rafael.f.f1@gmail.com>.
+ * po/ru.po: Update from Yuri Kozlov <yuray@komyakino.ru>.
+ * po/sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * po/sl.po: Update from Primož Peterlin <primozz.peterlin@gmail.com>.
+ * po/sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * po/vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+
+2014-12-05 Daiki Ueno <ueno@gnu.org>
+
+ examples: Regenerate stamp-po after POT has changed
+ * Makefile.am (distdir1): Invoke 'all' target in po/Makefile,
+ after 'update-po'.
+
+2014-12-05 Daiki Ueno <ueno@gnu.org>
+
+ examples: Include hello-*.pot in the distribution
+ Partially revert 2c3d71ce, as it broke "make dist". Instead,
+ include all the generated POT files in the distribution to prevent
+ re-generation of those files.
+ * Makefile.am (distdir1): Call update-po in po/Makefile.
+ * po/Makefile.am ($(DOMAIN).pot-update): Specify --directory for
+ xgettext invocation.
+ (DISTCLEANFILES): Move $(SMALLPOTS)...
+ (MAINTAINERCLEANFILES): ...here.
+ (distdir1): Include $(SMALLPOTS) in the distribution.
+
+2014-12-04 Daiki Ueno <ueno@gnu.org>
+
+ examples: Don't forcibly regenerate POT files on 'make dist'
+ Previously we generated POT files on 'make dist'. However, it
+ take some time to complete and require autotools bootstrap for
+ each project.
+ * Makefile.am (distdir1): Don't invoke update-po rule in po/Makefile.
+ * po/Makefile.am (distdir1): Don't invoke update-po rule.
+
+2014-10-15 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.3 released.
+
+2014-10-15 Daiki Ueno <ueno@gnu.org>
+
+ * po/eo.po, po/es.po, po/nb.po: Update.
+
+2014-07-14 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.2 released.
+
+2014-06-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.1 released.
+
+2014-06-03 Daiki Ueno <ueno@gnu.org>
+
+ examples: Don't require msgfmt when compiling hello-c-gnome3
+ * hello-c-gnome3/Makefile.am (CLEANFILES): Clean hello.desktop.
+ (EXTRA_DIST): Add hello.desktop.in.
+ (MAINTAINERCLEANFILES): Add hello.desktop.in.
+ (hello.desktop): Move msgfmt invocation to...
+ (hello.desktop.in): ...here.
+
+2014-06-02 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19 released.
+
+2014-05-14 Daiki Ueno <ueno@gnu.org>
+
+ * configure.ac: Adjust $docdir assuming that AC_PACKAGE_TARNAME is
+ set.
+
+2014-05-06 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (install-data-local): Don't fail if a PO file does
+ not exist, but warn user to do "make dist".
+
+2014-04-22 Daiki Ueno <ueno@gnu.org>
+
+ build: Use git-version-gen intead of version.sh
+ * configure.ac: Use git-version-gen in AC_INIT.
+
+2014-04-21 Daiki Ueno <ueno@gnu.org>
+
+ examples: Quote shell variables in hello-java*/configure
+ When running from xsmallpot.sh, embedded shell-script snippets are
+ stripped off from configure.ac and some variables are not set.
+ Make sure to quote them to avoid error.
+ * hello-java/configure.ac: Quote $BUILDJAVA.
+ * hello-java-awt/configure.ac: Quote $BUILDJAVAEXE and $BUILDJAVA.
+ * hello-java-qtjambi/configure.ac: Likewise.
+ * hello-java-swing/configure.ac: Likewise.
+
+2014-04-15 Daiki Ueno <ueno@gnu.org>
+
+ examples: Add a new example 'hello-c-gnome3'
+ * hello-c-gnome3: New subdirectory.
+ * README: Mention it.
+ * Makefile.am (EXAMPLESFILES): Add the files in hello-c-gnome3.
+ (EXAMPLESDIRS): Add hello-c-gnome3.
+ * po/Makefile.am (POTFILES): Add hello-c-gnome3 source.
+ (SMALLPOTS): Add hello-c-gnome3.pot.
+ (hello-c-gnome3.pot): New rule.
+ (SMALLPOFILES_FOR_lang): Add hello-c-gnome3 elements.
+ (../hello-c-gnome3/po/$(LL).po): New rule.
+
+2013-06-10 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am: Use $(MKDIR_P) instead of $(mkdir_p).
+ * hello-c++-qt/po/Makefile.am: Likewise.
+ * hello-c++-wxwidgets/po/Makefile.am: Likewise.
+ * hello-clisp/po/Makefile.am: Likewise.
+ * hello-csharp-forms/Makefile.am: Likewise.
+ * hello-csharp-forms/po/Makefile.am: Likewise.
+ * hello-csharp/Makefile.am: Likewise.
+ * hello-csharp/po/Makefile.am: Likewise.
+ * hello-gawk/po/Makefile.am: Likewise.
+ * hello-guile/po/Makefile.am: Likewise.
+ * hello-java-awt/Makefile.am: Likewise.
+ * hello-java-qtjambi/Makefile.am: Likewise.
+ * hello-java-swing/Makefile.am: Likewise.
+ * hello-java/Makefile.am: Likewise.
+ * hello-librep/po/Makefile.am: Likewise.
+ * hello-pascal/Makefile.am: Likewise.
+ * hello-pascal/po/Makefile.am: Likewise.
+ * hello-perl/po/Makefile.am: Likewise.
+ * hello-php/po/Makefile.am: Likewise.
+ * hello-python/po/Makefile.am: Likewise.
+ * hello-sh/po/Makefile.am: Likewise.
+ * hello-smalltalk/po/Makefile.am: Likewise.
+ * hello-tcl-tk/po/Makefile.am: Likewise.
+ * hello-tcl/po/Makefile.am: Likewise.
+ * hello-ycp/po/Makefile.am: Likewise.
+ Suggested by Stefano Lattarini in
+ <https://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00044.html>.
+
+2013-04-23 Daiki Ueno <ueno@gnu.org>
+
+ * po/xsmallpot.sh: Don't assume that aclocal accepts configure.in.
+
+2013-04-02 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (clean-local): New rule to remove tmp-hello-*.
+
+2012-12-25 Daiki Ueno <ueno@gnu.org>
+
+ * gettext-0.18.2 released.
+
+2012-12-19 Daiki Ueno <ueno@gnu.org>
+
+ Fix build error in hello-c++-kde due to autom4te cache.
+ * po/xsmallpot.sh: Pass -f to autoconf to ignore cache.
+
+2012-12-07 Bruno Haible <bruno@clisp.org>
+
+ * po/cs.po: New file, from Marek Černocký <marek@manet.cz>.
+ * po/nb.po: New file, from Johnny A. Solbu <johnny@solbu.net>.
+ * po/vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+ * po/LINGUAS: Add cs, hr, nb.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2012-07-08 Bruno Haible <bruno@clisp.org>
+
+ * po/hr.po: New file, from Tomislav Krznar <tomislav.krznar@gmail.com>.
+
+2011-01-18 Bruno Haible <bruno@clisp.org>
+
+ * po/da.po: New file, from Keld Simonsen <keld@keldix.com>.
+ * po/gl.po: New file, from
+ Leandro Regueiro <leandro.regueiro@gmail.com>.
+ * po/LINGUAS: Add da, gl.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2010-10-10 Bruno Haible <bruno@clisp.org>
+
+ * po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+
+2010-08-13 Nicola Pero <nicola.pero@meta-innovation.com> (tiny change)
+
+ Fix build error in hello-objc-gnustep due to 'ast' and 'ky' catalogs.
+ * hello-objc-gnustep/po/LocaleAliases: Regenerated from newest
+ gnustep-base/Languages/Locale.aliases.
+
+2010-06-04 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.18.1 released.
+
+2010-05-09 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.18 released.
+
+2010-04-25 Bruno Haible <bruno@clisp.org>
+
+ Update hello-pascal example.
+ * hello-pascal/INSTALL: Require fpc 2.0 or newer.
+ * hello-pascal/hello.pas: Use GetProcessID from the system unit,
+ instead of getpid from the oldlinux unit or fpgetpid from the baseunix
+ unit.
+ Reported by Marco van de Voort <marcov@stack.nl>.
+
+2010-04-02 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-wxwidgets/autogen.sh: Update origin of lib-*.m4 and
+ config.rpath files.
+
+2010-03-09 Bruno Haible <bruno@clisp.org>
+
+ * po/ast.po: Update.
+
+2010-01-31 Bruno Haible <bruno@clisp.org>
+
+ * po/bg.po: New file, from Roumen Petrov <transl@roumenpetrov.info>.
+ * po/LINGUAS: Add bg.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2009-12-19 Bruno Haible <bruno@clisp.org>
+
+ * po/ast.po: New file, from
+ Marcos Alvarez Costales <marcos.alvarez.costales@gmail.com>.
+ * po/LINGUAS: Add ast.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2009-08-16 Bruno Haible <bruno@clisp.org>
+
+ Silence the msgmerge invocations.
+ * hello-c/po/Makevars (MSGMERGE_OPTIONS): New variable.
+ * hello-c-gnome/po/Makevars (MSGMERGE_OPTIONS): Likewise.
+ * hello-c++/po/Makevars (MSGMERGE_OPTIONS): Likewise.
+ * hello-c++-kde/po/Makevars (MSGMERGE_OPTIONS): Likewise.
+ * hello-c++-gnome/po/Makevars (MSGMERGE_OPTIONS): Likewise.
+ * hello-objc/po/Makevars (MSGMERGE_OPTIONS): Likewise.
+ * hello-objc-gnome/po/Makevars (MSGMERGE_OPTIONS): Likewise.
+ * po/Makefile.am (MSGMERGE_OPTIONS): New variable.
+ ($(POFILES), .nop.po-update): Use it.
+ * hello-c++-qt/po/Makefile.am: Likewise.
+ * hello-c++-wxwidgets/po/Makefile.am: Likewise.
+ * hello-sh/po/Makefile.am: Likewise.
+ * hello-python/po/Makefile.am: Likewise.
+ * hello-clisp/po/Makefile.am: Likewise.
+ * hello-librep/po/Makefile.am: Likewise.
+ * hello-guile/po/Makefile.am: Likewise.
+ * hello-smalltalk/po/Makefile.am: Likewise.
+ * hello-java/po/Makefile.am: Likewise.
+ * hello-java-awt/po/Makefile.am: Likewise.
+ * hello-java-swing/po/Makefile.am: Likewise.
+ * hello-java-qtjambi/po/Makefile.am: Likewise.
+ * hello-csharp/po/Makefile.am: Likewise.
+ * hello-csharp-forms/po/Makefile.am: Likewise.
+ * hello-gawk/po/Makefile.am: Likewise.
+ * hello-pascal/po/Makefile.am: Likewise.
+ * hello-ycp/po/Makefile.am: Likewise.
+ * hello-tcl/po/Makefile.am: Likewise.
+ * hello-tcl-tk/po/Makefile.am: Likewise.
+ * hello-perl/po/Makefile.am: Likewise.
+ * hello-php/po/Makefile.am: Likewise.
+ * hello-objc-gnustep/po/GNUmakefile: Likewise.
+ * po/mmsmallpo.sh: Pass option --quiet to msgmerge.
+
+2009-08-16 Bruno Haible <bruno@clisp.org>
+
+ * hello-objc-gnustep/po/GNUmakefile: Apply 2007-10-18 changes to
+ hello-*/po/Makefile.am.
+
+2009-08-16 Bruno Haible <bruno@clisp.org>
+
+ * hello-objc-gnustep/po/GNUmakefile: Apply 2007-10-17 changes to
+ hello-*/po/Makefile.am.
+ (PACKAGE_NAME, PACKAGE_VERSION): New variables.
+
+2009-08-16 Bruno Haible <bruno@clisp.org>
+
+ * hello-objc-gnustep/po/GNUmakefile: Apply part of 2005-02-07 changes
+ to hello-*/po/Makefile.am..
+
+2009-08-16 Bruno Haible <bruno@clisp.org>
+
+ * hello-objc-gnustep/po/GNUmakefile: Apply 2004-01-17 changes to
+ hello-*/po/Makefile.am.
+
+2009-07-29 Bruno Haible <bruno@clisp.org>
+
+ * po/lv.po: New file, from Rihards Priedītis <rprieditis@gmail.com>.
+ * po/LINGUAS: Add lv.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2009-05-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (AM_INIT_AUTOMAKE): Add 'silent-rules' option.
+
+2009-05-23 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Invoke gl_INIT_PACKAGE. Use the preferred form of
+ AM_INIT_AUTOMAKE.
+
+2009-01-27 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-qt/po/Makefile.am (XGETTEXT_OPTIONS): Add more options for
+ the tr function, for compatibility with Qt 4.
+
+2009-01-18 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-qt/po/Makefile.am (.po.gmo): Pass --verbose to msgfmt when
+ producing statistics.
+ * hello-c++-wxwidgets/po/Makefile.am (.po.gmo): Likewise.
+ * hello-clisp/po/Makefile.am (.po.gmo): Likewise.
+ * hello-gawk/po/Makefile.am (.po.gmo): Likewise.
+ * hello-guile/po/Makefile.am (.po.gmo): Likewise.
+ * hello-librep/po/Makefile.am (.po.gmo): Likewise.
+ * hello-pascal/po/Makefile.am (.po.gmo): Likewise.
+ * hello-perl/po/Makefile.am (.po.gmo): Likewise.
+ * hello-php/po/Makefile.am (.po.gmo): Likewise.
+ * hello-python/po/Makefile.am (.po.gmo): Likewise.
+ * hello-sh/po/Makefile.am (.po.gmo): Likewise.
+ * hello-smalltalk/po/Makefile.am (.po.gmo): Likewise.
+ * hello-ycp/po/Makefile.am (.po.gmo): Likewise.
+ * hello-java/po/Makefile.am (update-properties, update-classes):
+ Likewise.
+ * hello-java-awt/po/Makefile.am (update-properties, update-classes):
+ Likewise.
+ * hello-java-swing/po/Makefile.am (update-properties, update-classes):
+ Likewise.
+ * hello-java-qtjambi/po/Makefile.am (update-properties,
+ update-classes): Likewise.
+ Suggested by Vincent Lefevre <vincent@vinc17.org>.
+
+2009-01-18 Bruno Haible <bruno@clisp.org>
+
+ * po/mt.po: New file, from Clyde Meli <cmeli@cis.um.edu.mt>.
+ * po/LINGUAS: Add mt.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2009-01-14 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: More consistent m4 quoting.
+
+2007-12-24 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am ($(POFILES), .nop.po-update): When using
+ msgmerge 0.18 or newer, pass a --lang option.
+ * hello-objc-gnustep/po/GNUmakefile ($(POFILES), .nop.po-update):
+ Likewise.
+
+2007-12-24 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am (.nop.po-update): Put all non-option arguments
+ after all option arguments, so that the commands work 1. when
+ POSIXLY_CORRECT is set, 2. on platforms whose getopt facility is POSIX
+ compliant but not GNU libc compatible, such as Cygwin.
+ * hello-objc-gnustep/po/GNUmakefile (.nop.po-update): Likewise.
+
+2007-11-13 Bruno Haible <bruno@clisp.org>
+
+ * po/ky.po: New file, from Ilyas Bakirov <just_ilyas@yahoo.com>.
+ * po/LINGUAS: Add ky.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2007-11-07 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.17 released.
+
+2007-10-31 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/m4/Makefile.am (EXTRA_DIST): Remove ulonglong.m4.
+ * hello-*/autoclean.sh: Don't remove ulonglong.m4 any more.
+
+2007-10-28 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am ($(DOMAIN).pot-update): Consider the
+ XGETTEXT_EXTRA_OPTIONS variable.
+
+2007-10-26 Bruno Haible <bruno@clisp.org>
+
+ * po/fi.po: New file, from Lauri Nurmi <lanurmi@iki.fi>.
+ * po/LINGUAS: Add fi.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2007-10-20 Bruno Haible <bruno@clisp.org>
+
+ New example for Qt/Jambi.
+ * hello-java-qtjambi: New subdirectory.
+ * README: Mention it.
+ * Makefile.am (EXAMPLESFILES): Add the files in hello-java-qtjambi.
+ (EXAMPLESDIRS): Add hello-java-qtjambi.
+ * po/Makefile.am (POTFILES): Add hello-java-qtjambi source.
+ (SMALLPOTS): Add hello-java-qtjambi.pot.
+ (hello-java-qtjambi.pot): New rule.
+ (SMALLPOFILES_FOR_lang): Add hello-java-qtjambi elements.
+ (../hello-java-qtjambi/po/$(LL).po): New rule.
+
+2007-10-18 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am ($(DOMAIN).pot-update): Don't pass the package
+ name and version to xgettext if the xgettext version is < 0.16.2.
+
+2007-10-17 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am ($(DOMAIN).pot-update): Pass the package name
+ and version to xgettext.
+
+2007-10-17 Bruno Haible <bruno@clisp.org>
+
+ * hello-java/po/Makefile.am (stamp-po): Test $(PROPERTIESFILES), not
+ $(GMOFILES).
+
+2007-10-13 Bruno Haible <bruno@clisp.org>
+
+ * po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
+
+2007-09-15 Bruno Haible <bruno@clisp.org>
+
+ * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+
+2007-06-07 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autoclean.sh: Remove also intlmacosx.m4.
+
+2007-04-06 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autoclean.sh: Don't remove longdouble.m4 any more.
+
+2007-03-20 Bruno Haible <bruno@clisp.org>
+
+ Remove all "Copyright (C) ..." notices from files that are in the
+ public domain.
+
+2007-01-30 Bruno Haible <bruno@clisp.org>
+
+ * po/ms.po: New file, from
+ Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>.
+ * po/LINGUAS: Add ms.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESPOFILES): Add the new message catalogs.
+
+2006-12-04 Bruno Haible <bruno@clisp.org>
+
+ Work around small sh argument length limit on IRIX.
+ * Makefile.am (EXAMPLESFILES): Remove the common files in po
+ directories.
+ (EXAMPLESDIRS, EXAMPLESPOFILES): New variables.
+ (install-data-local, installdirs-local, uninstall-local, distdir1): Use
+ doubly-nested loop for the common files in po directories.
+ Reported by Paul Martinolich <martinol@nrlssc.navy.mil>.
+
+2006-10-27 Bruno Haible <bruno@clisp.org>
+
+ Work around automake-1.10 annoyance.
+ * Makefile.am (ACLOCAL): New macro.
+
+2006-11-27 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.16.1 released.
+
+2006-10-26 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.16 released.
+
+2006-10-23 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-kde/admin/cvs.sh: Accept automake versions > 1.9.x.
+
+2006-10-01 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autoclean.sh: Remove also intldir.m4.
+
+2006-10-02 Bruno Haible <bruno@clisp.org>
+
+ * po/fr.po: Update from Christophe Combelles <ccomb@free.fr>.
+ * po/id.po: New file, from Tedi Heriyanto <tedi_heriyanto@yahoo.com>.
+ * po/LINGUAS: Add id.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2006-09-18 Bruno Haible <bruno@clisp.org>
+
+ * hello-{c,c++,objc}*/{autoclean.sh,m4/Makefile.am}: Remove
+ inttypes-h.m4.
+
+2006-09-11 Bruno Haible <bruno@clisp.org>
+
+ * hello-{c,c++,objc}*/autoclean.sh: Remove also intl.m4.
+
+2006-08-28 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autoclean.sh: Remove mention of signed.m4.
+
+2006-07-31 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/autogen.sh: Replace gettext-tools/lib with
+ gettext-tools/gnulib-lib.
+ * hello-c++/autogen.sh: Likewise.
+ * hello-objc/autogen.sh: Likewise.
+ * hello-csharp/autogen.sh: Update for changed locations of *.m4 files.
+ * hello-csharp-forms/autogen.sh: Likewise.
+ * hello-java/autogen.sh: Likewise.
+ * hello-java-awt/autogen.sh: Likewise.
+ * hello-java-swing/autogen.sh: Likewise.
+
+2006-07-30 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp*/autogen.sh: Update for changed location of
+ csharpcomp.sh.in and csharpexec.sh.in.
+ * hello-java*/autogen.sh: Update for changed location of
+ javacomp.sh.in and javaexec.sh.in.
+
+2006-07-25 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.msvc: Remove file.
+ * Makefile.am (EXTRA_DIST): Remove Makefile.msvc.
+
+2006-07-25 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.vms: Remove file.
+ * Makefile.am (EXTRA_DIST): Remove Makefile.vms.
+
+2006-07-23 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-kde/autoclean.sh: Fix syntax error.
+
+2006-07-21 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.15 released.
+
+2006-07-21 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autogen.sh (GETTEXT_TOPSRCDIR): In the build directory case,
+ append one more "/..".
+
+2006-07-20 Bruno Haible <bruno@clisp.org>
+
+ * po/sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+ * po/zh_HK.po: New file, from Abel Cheung <abelcheung@gmail.com>.
+ * po/LINGUAS: Add zh_HK.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2006-07-14 Bruno Haible <bruno@clisp.org>
+
+ * po/Makefile.am (MOSTLYCLEANFILES): Add *.stackdump.
+ * hello-*/po/Makefile.am (MOSTLYCLEANFILES): Likewise.
+
+2006-07-13 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac (Makefile): Invoke FIX_MAKEFILE_TOPDIR_DISTRIB instead
+ of FIX_MAKEFILE_DISTRIB.
+
+2006-07-13 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-kde/admin/cvs.sh: Disable the search for specific
+ versions of autoconf, autoheader, autom4te, automake, aclocal.
+ Accept autoconf, autoheader versions > 2.59. Accept automake
+ versions > 1.8.x.
+
+2006-07-13 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): New variable.
+
+2006-07-03 Bruno Haible <bruno@clisp.org>
+
+ * po/eo.po: New file, from Edmund Grimley Evans <edmundo@rano.org>.
+ * po/it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * po/LINGUAS: Add eo.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2006-06-29 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: New file.
+ * Makefile.am (AUTOMAKE_OPTIONS): Drop gnits, use foreign instead.
+ * po/Makefile.am (POTFILES): Remove examples/ prefix.
+
+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/{autoclean.sh,m4/Makefile.am}: Remove isc-posix.m4.
+ * hello-c-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-c++/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-c++-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-c++-kde/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-objc/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-objc-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
+
+2006-04-14 Bruno Haible <bruno@clisp.org>
+
+ Assume autoconf >= 2.60.
+ * Makefile.am (docdir): Remove variable.
+ * po/Makefile.am (localedir): Remove variable.
+
+2006-06-04 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/{autoclean.sh,m4/Makefile.am}: Replace inttypes.m4 with
+ inttypes-h.m4.
+ * hello-c-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-c++/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-c++-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-c++-kde/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-objc/{autoclean.sh,m4/Makefile.am}: Likewise.
+ * hello-objc-gnome/{autoclean.sh,m4/Makefile.am}: Likewise.
+
+2006-05-01 Bruno Haible <bruno@clisp.org>
+
+ * hello-java/configure.ac: Pass a source-version to gt_JAVACOMP. Move
+ gt_JAVAEXEC call before the gt_JAVACOMP call.
+ * hello-java-awt/configure.ac: Likewise.
+ * hello-java-swing/configure.ac: Likewise.
+
+2006-04-17 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am: Use $(mkdir_p) instead of $(mkinstalldirs).
+ * hello-csharp/Makefile.am: Likewise.
+ * hello-csharp-forms/Makefile.am: Likewise.
+ * hello-java/Makefile.am: Likewise.
+ * hello-java-awt/Makefile.am: Likewise.
+ * hello-java-swing/Makefile.am: Likewise.
+ * hello-pascal/Makefile.am: Likewise.
+ * hello-c++-qt/po/Makefile.am: Likewise.
+ * hello-c++-wxwidgets/po/Makefile.am: Likewise.
+ * hello-clisp/po/Makefile.am: Likewise.
+ * hello-csharp/po/Makefile.am: Likewise.
+ * hello-csharp-forms/po/Makefile.am: Likewise.
+ * hello-gawk/po/Makefile.am: Likewise.
+ * hello-guile/po/Makefile.am: Likewise.
+ * hello-librep/po/Makefile.am: Likewise.
+ * hello-pascal/po/Makefile.am: Likewise.
+ * hello-perl/po/Makefile.am: Likewise.
+ * hello-php/po/Makefile.am: Likewise.
+ * hello-python/po/Makefile.am: Likewise.
+ * hello-sh/po/Makefile.am: Likewise.
+ * hello-smalltalk/po/Makefile.am: Likewise.
+ * hello-tcl/po/Makefile.am: Likewise.
+ * hello-tcl-tk/po/Makefile.am: Likewise.
+ * hello-ycp/po/Makefile.am: Likewise.
+ * hello-*/autoclean.sh: Don't remove mkinstalldirs.
+
+2006-04-14 Bruno Haible <bruno@clisp.org>
+
+ Don't ignore the --localedir option from autoconf >= 2.60.
+ * hello-c/Makefile.am (localedir): Remove variable.
+ * hello-c-gnome/Makefile.am (localedir): Likewise.
+ * hello-objc/Makefile.am (localedir): Likewise.
+ * hello-objc-gnome/Makefile.am (localedir): Likewise.
+ * hello-c++/Makefile.am (localedir): Likewise.
+ * hello-c++-kde/Makefile.am (localedir): Likewise.
+ * hello-c++-gnome/Makefile.am (localedir): Likewise.
+ * hello-c++-qt/Makefile.am (localedir): Likewise.
+ * hello-c++-qt/po/Makefile.am (localedir): Likewise.
+ * hello-c++-wxwidgets/Makefile.am (localedir): Likewise.
+ * hello-c++-wxwidgets/po/Makefile.am (localedir): Likewise.
+ * hello-clisp/po/Makefile.am (localedir): Likewise.
+ * hello-gawk/po/Makefile.am (localedir): Likewise.
+ * hello-guile/po/Makefile.am (localedir): Likewise.
+ * hello-librep/po/Makefile.am (localedir): Likewise.
+ * hello-pascal/po/Makefile.am (localedir): Likewise.
+ * hello-perl/po/Makefile.am (localedir): Likewise.
+ * hello-php/po/Makefile.am (localedir): Likewise.
+ * hello-python/po/Makefile.am (localedir): Likewise.
+ * hello-sh/po/Makefile.am (localedir): Likewise.
+ * hello-smalltalk/po/Makefile.am (localedir): Likewise.
+ * hello-ycp/po/Makefile.am (localedir): Likewise.
+
+2006-04-14 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/configure.ac: Use gettext-0.15 infrastructure.
+ * hello-c-gnome/configure.ac: Likewise.
+ * hello-objc/configure.ac: Likewise.
+ * hello-objc-gnome/configure.ac: Likewise.
+ * hello-c++/configure.ac: Likewise.
+ * hello-c++-kde/configure.in.in: Likewise.
+ * hello-c++-gnome/configure.ac: Likewise.
+ * hello-c-gnome/m4/Makefile.am (EXTRA_DIST): Add lock.m4.
+ * hello-c++-kde/m4/Makefile.am (EXTRA_DIST): Likewise.
+
+2006-04-14 Bruno Haible <bruno@clisp.org>
+
+ Prepare for autoconf-2.60.
+ * hello-clisp/configure.ac: Set datarootdir before evaluating
+ ${datadir}.
+ * hello-gawk/configure.ac: Likewise.
+ * hello-guile/configure.ac: Likewise.
+ * hello-librep/configure.ac: Likewise.
+ * hello-pascal/configure.ac: Likewise.
+ * hello-perl/configure.ac: Likewise.
+ * hello-php/configure.ac: Likewise.
+ * hello-python/configure.ac: Likewise.
+ * hello-sh/configure.ac: Likewise.
+ * hello-smalltalk/configure.ac: Likewise.
+
+2006-04-07 Bruno Haible <bruno@clisp.org>
+
+ * po/hu.po: New file, from Kiss Tamás <atomi@inf.elte.hu>.
+ * po/pt.po: New file, from
+ Helder Correia <helder.pereira.correia@gmail.com>.
+ * po/sl.po: New file, from
+ Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
+ * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+ * po/LINGUAS: Add hu, pt, sl.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2006-03-25 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp-forms/README: New file.
+ * Makefile.am (EXAMPLESFILES): Add it.
+
+2006-03-25 Bruno Haible <bruno@clisp.org>
+
+ New example for wxWidgets.
+ * hello-c++-wxwidgets: New subdirectory.
+ * README: Mention it.
+ * Makefile.am (EXAMPLESFILES): Add the files in hello-c++-wxwidgets.
+ * po/Makefile.am (POTFILES): Add hello-c++-wxwidgets source.
+ (SMALLPOTS): Add hello-c++-wxwidgets.pot.
+ (hello-c++-wxwidgets.pot): New rule.
+ (SMALLPOFILES_FOR_lang): Add hello-c++-wxwidgets elements.
+ (../hello-c++-wxwidgets/po/$(LL).po): New rule.
+
+2005-10-18 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/po/Makevars (USE_MSGCTXT): New macro.
+ * hello-c-gnome/po/Makevars (USE_MSGCTXT): New macro.
+ * hello-c++/po/Makevars (USE_MSGCTXT): New macro.
+ * hello-c++-gnome/po/Makevars (USE_MSGCTXT): New macro.
+ * hello-c++-kde/po/Makevars (USE_MSGCTXT): New macro.
+ * hello-objc/po/Makevars (USE_MSGCTXT): New macro.
+ * hello-objc-gnome/po/Makevars (USE_MSGCTXT): New macro.
+
+2005-09-19 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autogen.sh: Also install m4/progtest.m4.
+ * hello-*/autoclean.sh: Also remove m4/progtest.m4.
+
+2005-07-24 Bruno Haible <bruno@clisp.org>
+
+ Tidy up exported symbols.
+ * hello-c/m4/Makefile.am (EXTRA_DIST): Add visibility.m4.
+ * hello-c-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-c++/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-c++-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-c++-kde/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-objc/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-objc-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-c/autoclean.sh: Remove also m4/visibility.m4.
+ * hello-c-gnome/autoclean.sh: Likewise.
+ * hello-c++/autoclean.sh: Likewise.
+ * hello-c++-gnome/autoclean.sh: Likewise.
+ * hello-c++-kde/autoclean.sh: Likewise.
+ * hello-objc/autoclean.sh: Likewise.
+ * hello-objc-gnome/autoclean.sh: Likewise.
+
+2005-07-26 Bruno Haible <bruno@clisp.org>
+
+ * installpaths.in (datarootdir): New variable.
+
+2005-07-16 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/m4/Makefile.am (EXTRA_DIST): Add lock.m4.
+ * hello-c++/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-c++-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-objc/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-objc-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
+ * hello-c/autoclean.sh: Remove also m4/lock.m4.
+ * hello-c-gnome/autoclean.sh: Likewise.
+ * hello-c++/autoclean.sh: Likewise.
+ * hello-c++-gnome/autoclean.sh: Likewise.
+ * hello-c++-kde/autoclean.sh: Likewise.
+ * hello-objc/autoclean.sh: Likewise.
+ * hello-objc-gnome/autoclean.sh: Likewise.
+
+2005-05-01 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp/configure.ac, hello-csharp-forms/configure.ac: Call
+ gt_CSHARPEXEC with parameters.
+ * hello-csharp/m4/Makefile.am, hello-csharp-forms/m4/Makefile.am
+ (EXTRA_DIST): Add csharpexec-test.exe.
+ * hello-csharp/autogen.sh, hello-csharp-forms/autogen.sh: Also copy
+ m4/csharpexec-test.exe.
+ * hello-csharp/autoclean.sh, hello-csharp-forms/autoclean.sh: Also
+ remove m4/csharpexec-test.exe.
+
+2006-06-21 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.6 released.
+
+2005-05-23 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.5 released.
+
+2005-05-23 Bruno Haible <bruno@clisp.org>
+
+ * po/zh_TW.po: New file, from Abel Cheung <abelcheung@gmail.com>.
+ * po/LINGUAS: Add it.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2005-04-11 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.4 released.
+
+2005-04-11 Bruno Haible <bruno@clisp.org>
+
+ * po/it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+
+2005-03-14 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.3 released.
+
+2005-03-08 Bruno Haible <bruno@clisp.org>
+
+ * po/vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+
+2005-03-08 Bruno Haible <bruno@clisp.org>
+
+ * po/it.po: New file, from Marco Colombo <m.colombo@ed.ac.uk>.
+ * po/LINGUAS: Add it.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2005-03-06 Bruno Haible <bruno@clisp.org>
+
+ * po/Makefile.am, hello-*/po/Makefile.am (stamp-po): Do nothing if
+ $(DOMAIN).pot does not exist.
+ (EXTRA_DIST): Remove $(DOMAIN).pot, stamp-po.
+ (distdir1): If $(DOMAIN).pot exists, distribute also $(DOMAIN).pot and
+ stamp-po.
+
+2005-02-24 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.2 released.
+
+2005-02-24 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autogen.sh: Define and use GETTEXT_TOPSRCDIR, to make it
+ work in VPATH builds.
+
+2005-02-23 Bruno Haible <bruno@clisp.org>
+
+ * xsmallpot.sh: Make the temporary directory writable.
+
+2005-02-23 Bruno Haible <bruno@clisp.org>
+
+ * xsmallpot.sh: Add srcdir argument. Make it work when
+ builddir != srcdir.
+ * Makefile.am (hello-*.pot): Update xsmallpot.sh invocations.
+
+2005-02-21 Bruno Haible <bruno@clisp.org>
+
+ * po/vi.po: New file, from Clytie Siddall <clytie@riverland.net.au>.
+ * po/LINGUAS: Add vi.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2005-02-11 Bruno Haible <bruno@clisp.org>
+
+ * po/ga.po: New file, from Kevin Patrick Scannell <scannell@slu.edu>.
+ * po/LINGUAS: Add ga.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2005-02-06 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am ($(DOMAIN).pot-update): If MSGID_BUGS_ADDRESS
+ is empty and PACKAGE_BUGREPORT is available, use the latter.
+ * po/Makefile.am ($(DOMAIN).pot-update): Likewise.
+
+2005-01-20 Bruno Haible <bruno@clisp.org>
+
+ * hello-guile/hello.scm: Invoke setlocale. Fix bindtextdomain call.
+
+2005-01-16 Bruno Haible <bruno@clisp.org>
+
+ Support for Scheme.
+ * hello-guile: New subdirectory.
+ * README: Mention it.
+ * Makefile.am (EXAMPLESFILES): Add the files in hello-guile.
+ * po/Makefile.am (POTFILES): Add hello-guile source.
+ (SMALLPOTS): Add hello-guile.pot.
+ (hello-guile.pot): New rule.
+ (SMALLPOFILES_FOR_lang): Add hello-guile elements.
+ (../hello-guile/po/$(LL).po): New rule.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * po/el.po: New file, from Simos Xenitellis <simos74@gmx.net>.
+ * po/ru.po: New file, from Pavel Maryanov <acid_jack@ukr.net>.
+ * po/uk.po: New file, from Maxim V. Dziumanenko <mvd@mylinux.com.ua>.
+ * po/LINGUAS: Add el, ru, uk.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2004-09-07 Bruno Haible <bruno@clisp.org>
+
+ * po/xsmallpot.sh: Keep AC_PROG_* and OBJC lines in configure.in.
+ * hello-objc/configure.ac: Assign OBJC through AC_SUBST.
+ * hello-objc-gnome/configure.ac: Likewise.
+ Needed to avoid error with automake-1.9.
+
+2004-08-19 Bruno Haible <bruno@clisp.org>
+
+ * hello-librep/hello.jl.in: Remove no-op comments.
+
+2004-03-21 Bruno Haible <bruno@clisp.org>
+
+ * po/es.po: Update from Max de Mendizábal <max@upn.mx>.
+ * po/sr.po: Update from Aleksandar Jelenak <jelenak@netlinkplus.net>.
+
+2004-02-24 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp*/hello.cs (Hello.Main): Remove workaround for mono bug,
+ fixed in mono-0.30.1.
+
+2004-02-24 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp*/autogen.sh: Copy also the csharp.m4 file.
+
+2004-02-02 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/autoclean.sh, hello-*/m4/Makefile.am: Handle glibc2.m4 too.
+
+2004-01-29 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.1 released.
+
+2004-01-28 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14 released.
+
+2004-01-28 Bruno Haible <bruno@clisp.org>
+
+ * po/tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
+
+2004-01-17 Bruno Haible <bruno@clisp.org>
+
+ * po/Makefile.am (POTFILES): Add hello-csharp, hello-csharp-forms
+ sources.
+ (SMALLPOTS): Add hello-csharp.pot, hello-csharp-forms.pot.
+ (hello-csharp.pot, hello-csharp-forms.pot): New rules.
+ (SMALLPOFILES_FOR_lang): Add hello-csharp, hello-csharp-forms elements.
+ (../hello-csharp/po/$(LL).po, ../hello-csharp-forms/po/$(LL).po): New
+ rules.
+ * po/mmsmallpo.sh: Use option --force-po.
+
+2004-01-17 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/Makefile.am: Adapt to changes made in po/Makefile.in.in.
+
+2004-01-17 Bruno Haible <bruno@clisp.org>
+
+ * po/af.po: New file, from Ysbeer <ysbeer@af.org.za>.
+ * po/ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * po/de.po: Update from Karl Eichwalder <ke@gnu.franken.de>.
+ * po/fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * po/nl.po: New file, from Elros Cyriatan <cyriatan@fastmail.fm>.
+ * po/pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * po/sk.po: New file, from Marcel Telka <marcel@telka.sk>.
+ * po/sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * po/zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+ * po/LINGUAS: Add af, nl, sk.
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2004-01-10 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-kde/admin: New directory, from KDE 3.1.4.
+ * hello-c++-kde/auto*.sh: Don't create/remove the contents of the
+ admin subdirectory.
+ * Makefile.am (EXAMPLESFILES): Add hello-c++-kde/admin/*.
+
+2004-01-10 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/*, hello-c-gnome/*, hello-objc/*, hello-objc-gnome/*,
+ hello-c++/*, hello-c++-gnome/*, hello-c++-kde/*: Use the autoconf
+ infrastructure from gettext-0.13.1, not 0.12.1.
+
+2004-01-10 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp/hello.cs: Work around mono-0.29 CurrentUICulture bug.
+ * hello-csharp-forms/hello.cs: Likewise.
+
+2003-12-29 Bruno Haible <bruno@clisp.org>
+
+ * hello-perl/INSTALL: Mention that libintl-perl-1.09 required.
+ * hello-perl/hello-1.pl.in, hello-perl/hello-2.pl.in: Inhibit the
+ automatic UTF-8 conversion in UTF-8 locales with Perl-5.8.0. Thanks to
+ Guido Flohr.
+
+2003-12-26 Bruno Haible <bruno@clisp.org>
+
+ * hello-csharp: New subdirectory.
+ * hello-csharp-forms: New subdirectory.
+ * Makefile.am (EXAMPLESFILES): Add the files in hello-csharp and
+ hello-csharp-forms.
+
+2003-12-26 Bruno Haible <bruno@clisp.org>
+
+ * hello-c++-qt/m4/qt.m4: Quote the first argument of AC_DEFUN.
+ * hello-c++-gnome/m4/gtk.m4, hello-c++-gnome/m4/gtk--.m4: Likewise.
+
+2003-12-17 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.13.1 released.
+
+2003-12-17 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2003-12-09 Bruno Haible <bruno@clisp.org>
+
+ * hello-smalltalk/hello.st.in: Add workaround against PackageLoader
+ verbosity. Solution provided by Carey Evans <careye@spamcop.net>.
+ * hello-smalltalk/BUGS: Remove file.
+ * Makefile.am (EXAMPLESFILES): Update.
+
+2003-12-07 Bruno Haible <bruno@clisp.org>
+
+ * po/sv.po: New file, from Jan Djärv <jan.h.d@swipnet.se>.
+ * po/tr.po: New file, from
+ Nilgün Belma Bugüner <nilgun@superonline.com>.
+ * po/LINGUAS: Add sv, tr.
+
+2003-12-07 Bruno Haible <bruno@clisp.org>
+
+ * hello-perl/hello-1.pl.in: Renamed from hello-perl/hello.pl. Make it
+ work.
+ * hello-perl/hello-2.pl.in: New file, from Guido Flohr.
+ * hello-perl/po/Makefile.am (POTFILES): Update.
+ (XGETTEXT_OPTIONS): Add options needed for the Locale::TextDomain API.
+ * hello-perl/configure.ac: Update accordingly.
+ * hello-perl/Makefile.am: Update accordingly.
+ * Makefile.am (EXAMPLESFILES): Update.
+ * po/Makefile.am (POTFILES): Update.
+
+2003-12-06 Bruno Haible <bruno@clisp.org>
+
+ * hello-objc-gnustep/po/LocaleAliases: Add many new locales. Fix typo
+ for EcuadorSpanish. Remove conflicting entries for Indonesian and
+ Hebrew.
+
+2003-12-06 Bruno Haible <bruno@clisp.org>
+
+ * hello-objc-gnustep/autoclean.sh: Also remove the *.lproj directories.
+ * hello-objc-gnustep/po/GNUmakefile: Include the general rules at the
+ beginning, not at the end, so that our .SUFFIXES tag has an effect.
+ ($(ENSTRINGSFILES)): Create the target directory.
+
+2003-12-06 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/INSTALL: Update the installation instructions.
+ * hello-c++-qt/BUGS: New file.
+ * hello-c++-kde/BUGS: New file.
+ * hello-objc-gnustep/BUGS: New file.
+ * hello-smalltalk/BUGS: New file.
+ * hello-java-awt/BUGS: New file.
+ * hello-java-swing/BUGS: New file.
+ * Makefile.am (EXAMPLESFILES): Add them.
+
+2003-12-02 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am (EXTRA_DIST): Don't add the EXAMPLESFILES.
+ (distdir1): New rule. Install the EXAMPLESFILES after 'update-po'.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.13 released.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * po/mmsmallpo.sh: Remove the POT-Creation-Date line from the generated
+ PO file.
+ * Makefile.am (EXAMPLESFILES): Add hello-pascal/hello.rst.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/po/LINGUAS: Update.
+ * Makefile.am (EXAMPLESFILES): Add the new message catalogs.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * po/es.po: New file, from Max de Mendizábal <max@upn.mx>.
+ * po/LINGUAS: Add es.
+
+2003-11-24 Bruno Haible <bruno@clisp.org>
+
+ * po/ca.po: New file, from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * po/ro.po: New file, from Eugen Hoanca <eugenh@urban-grafx.ro>.
+ * po/LINGUAS: Add ca, ro.
+
+2003-11-22 Bruno Haible <bruno@clisp.org>
+
+ * po/ja.po: New file, from Masahito Yamaga <ma@yama-ga.com>.
+ * po/LINGUAS: Add ja.
+
+2003-11-20 Bruno Haible <bruno@clisp.org>
+
+ * hello-*/configure.ac: Remove AM_NLS invocation.
+ * po/xsmallpot.sh: Don't keep AM_NLS lines.
+
+2003-11-19 Bruno Haible <bruno@clisp.org>
+
+ * po/de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * po/fr.po: New file, from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * po/pl.po: New file, from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * po/sr.po: New file, from Danilo Segan <dsegan@gmx.net>.
+ * po/zh_CN.po: New file, from Funda Wang <fundawang@linux.net.cn>.
+ * po/LINGUAS: Add fr, pl, sr, zh_CN.
+
+2003-11-15 Bruno Haible <bruno@clisp.org>
+
+ * hello-c/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ * hello-c-gnome/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ * hello-c++/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ * hello-c++-kde/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ * hello-c++-gnome/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ * hello-objc/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ * hello-objc-gnome/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+
+2003-11-15 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am: New file.
+ * README: New file.
+ * installpaths.in: New file.
+ * hello-c: New subdirectory.
+ * hello-c-gnome: New subdirectory.
+ * hello-c++: New subdirectory.
+ * hello-c++-qt: New subdirectory.
+ * hello-c++-kde: New subdirectory.
+ * hello-c++-gnome: New subdirectory.
+ * hello-objc: New subdirectory.
+ * hello-objc-gnustep: New subdirectory.
+ * hello-objc-gnome: New subdirectory.
+ * hello-sh: New subdirectory.
+ * hello-python: New subdirectory.
+ * hello-clisp: New subdirectory.
+ * hello-librep: New subdirectory.
+ * hello-smalltalk: New subdirectory.
+ * hello-java: New subdirectory.
+ * hello-java-awt: New subdirectory.
+ * hello-java-swing: New subdirectory.
+ * hello-gawk: New subdirectory.
+ * hello-pascal: New subdirectory.
+ * hello-ycp: New subdirectory.
+ * hello-tcl: New subdirectory.
+ * hello-tcl-tk: New subdirectory.
+ * hello-perl: New subdirectory.
+ * hello-php: New subdirectory.
+
diff --git a/gettext-tools/examples/Makefile.am b/gettext-tools/examples/Makefile.am
index 218e82c..fe4ff72 100644
--- a/gettext-tools/examples/Makefile.am
+++ b/gettext-tools/examples/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/examples subdirectory of GNU gettext
-## Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
+## Copyright (C) 2001-2007, 2009-2015 Free Software Foundation,
+## Inc.
##
## 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
diff --git a/gettext-tools/examples/Makefile.in b/gettext-tools/examples/Makefile.in
index d440c18..971671b 100644
--- a/gettext-tools/examples/Makefile.in
+++ b/gettext-tools/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -77,17 +87,6 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/configure $(am__configure_deps) \
- $(top_srcdir)/../../build-aux/mkinstalldirs \
- $(srcdir)/installpaths.in ChangeLog README \
- ../../build-aux/compile ../../build-aux/config.guess \
- ../../build-aux/config.rpath ../../build-aux/config.sub \
- ../../build-aux/install-sh ../../build-aux/missing \
- ../../build-aux/mkinstalldirs ../../build-aux/texinfo.tex \
- ../../build-aux/ltmain.sh \
- $(top_srcdir)/../../build-aux/install-sh \
- $(top_srcdir)/../../build-aux/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../m4/fixautomake.m4 \
$(top_srcdir)/../../gettext-runtime/m4/nls.m4 \
@@ -96,6 +95,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/fixautomake.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs
@@ -186,6 +187,16 @@ ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/installpaths.in \
+ $(top_srcdir)/../../build-aux/install-sh \
+ $(top_srcdir)/../../build-aux/missing \
+ $(top_srcdir)/../../build-aux/mkinstalldirs \
+ ../../build-aux/ar-lib ../../build-aux/compile \
+ ../../build-aux/config.guess ../../build-aux/config.rpath \
+ ../../build-aux/config.sub ../../build-aux/install-sh \
+ ../../build-aux/ltmain.sh ../../build-aux/missing \
+ ../../build-aux/mkinstalldirs ../../build-aux/texinfo.tex \
+ ChangeLog README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -305,6 +316,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -763,7 +775,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -993,15 +1004,15 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
- @echo WARNING: "Support for shar distribution archives is" \
- "deprecated." >&2
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
- @echo WARNING: "Support for distribution archives compressed with" \
- "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -1037,17 +1048,17 @@ distcheck: dist
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_inst
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
- --srcdir=.. --prefix="$$dc_install_base" \
+ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1226,6 +1237,8 @@ uninstall-am: uninstall-examplesDATA uninstall-local
pdf-am ps ps-am tags tags-am uninstall uninstall-am \
uninstall-examplesDATA uninstall-local
+.PRECIOUS: Makefile
+
install-data-local: $(EXAMPLESFILES)
$(MKDIR_P) $(DESTDIR)$(examplesdir)
diff --git a/gettext-tools/examples/aclocal.m4 b/gettext-tools/examples/aclocal.m4
index a6aa30f..b57713c 100644
--- a/gettext-tools/examples/aclocal.m4
+++ b/gettext-tools/examples/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.15], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -201,8 +200,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -275,7 +274,11 @@ to "yes", and re-run configure.
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -304,7 +307,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -315,7 +318,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -325,7 +328,7 @@ if test x"${install_sh}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -346,7 +349,7 @@ AC_SUBST([am__leading_dot])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -385,7 +388,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -416,7 +419,7 @@ AC_DEFUN([_AM_IF_OPTION],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -497,7 +500,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -557,7 +560,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -585,7 +588,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -604,7 +607,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/examples/configure b/gettext-tools/examples/configure
index 851e0da..f3ad26a 100755
--- a/gettext-tools/examples/configure
+++ b/gettext-tools/examples/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gettext-examples 0.19.4.
+# Generated by GNU Autoconf 2.69 for gettext-examples 0.19.7.
#
# Report bugs to <bug-gnu-gettext@gnu.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gettext-examples'
PACKAGE_TARNAME='gettext-examples'
-PACKAGE_VERSION='0.19.4'
-PACKAGE_STRING='gettext-examples 0.19.4'
+PACKAGE_VERSION='0.19.7'
+PACKAGE_STRING='gettext-examples 0.19.7'
PACKAGE_BUGREPORT='bug-gnu-gettext@gnu.org'
PACKAGE_URL=''
@@ -646,6 +646,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -712,6 +713,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -964,6 +966,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1101,7 +1112,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1214,7 +1225,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gettext-examples 0.19.4 to adapt to many kinds of systems.
+\`configure' configures gettext-examples 0.19.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1254,6 +1265,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1281,7 +1293,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gettext-examples 0.19.4:";;
+ short | recursive ) echo "Configuration of gettext-examples 0.19.7:";;
esac
cat <<\_ACEOF
@@ -1356,7 +1368,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gettext-examples configure 0.19.4
+gettext-examples configure 0.19.7
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1373,7 +1385,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gettext-examples $as_me 0.19.4, which was
+It was created by gettext-examples $as_me 0.19.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -1751,7 +1763,7 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-am__api_version='1.14'
+am__api_version='1.15'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -1923,8 +1935,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -1943,7 +1955,7 @@ else
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -2237,7 +2249,7 @@ fi
# Define the identity of the package.
PACKAGE='gettext-examples'
- VERSION='0.19.4'
+ VERSION='0.19.7'
cat >>confdefs.h <<_ACEOF
@@ -2271,8 +2283,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
@@ -2330,6 +2342,7 @@ END
fi
fi
+
test "$docdir" != '${datarootdir}/doc/${PACKAGE_TARNAME}' || docdir='${datarootdir}/doc/gettext'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
@@ -3260,7 +3273,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gettext-examples $as_me 0.19.4, which was
+This file was extended by gettext-examples $as_me 0.19.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3317,7 +3330,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gettext-examples config.status 0.19.4
+gettext-examples config.status 0.19.7
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/gettext-tools/examples/configure.ac b/gettext-tools/examples/configure.ac
index ff3eaf1..3ad3be0 100644
--- a/gettext-tools/examples/configure.ac
+++ b/gettext-tools/examples/configure.ac
@@ -1,5 +1,5 @@
dnl Configuration for the gettext-tools/examples directory of GNU gettext
-dnl Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009, 2015 Free Software Foundation, Inc.
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
diff --git a/gettext-tools/examples/hello-c++-gnome/po/bg.po b/gettext-tools/examples/hello-c++-gnome/po/bg.po
index 6c9f691..3d9f1f4 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/bg.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c++-gnome package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/ca.po b/gettext-tools/examples/hello-c++-gnome/po/ca.po
index 1205444..46a0bee 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/ca.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c++-gnome.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/cs.po b/gettext-tools/examples/hello-c++-gnome/po/cs.po
index d5fb3d0..632dde5 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/cs.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.18\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/da.po b/gettext-tools/examples/hello-c++-gnome/po/da.po
index b8875b8..e6403e3 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/da.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-c++-gnome.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.18\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cc:50
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.cc:55
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-c++-gnome/po/de.po b/gettext-tools/examples/hello-c++-gnome/po/de.po
index dd98e41..3441ddc 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/de.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/es.po b/gettext-tools/examples/hello-c++-gnome/po/es.po
index 5947f68..3a785d0 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/es.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome-0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/fi.po b/gettext-tools/examples/hello-c++-gnome/po/fi.po
index 17d3366..5e63a07 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/fi.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.cc:50
diff --git a/gettext-tools/examples/hello-c++-gnome/po/fr.po b/gettext-tools/examples/hello-c++-gnome/po/fr.po
index 54d91c0..f1470b5 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/fr.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/hu.po b/gettext-tools/examples/hello-c++-gnome/po/hu.po
index 1a22479..825dfa2 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/hu.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cc:50
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/it.po b/gettext-tools/examples/hello-c++-gnome/po/it.po
index a7f6b11..7c86c1c 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/it.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c++-gnome.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/ja.po b/gettext-tools/examples/hello-c++-gnome/po/ja.po
index 67f0d41..c4c1948 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/ja.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c++-gnome' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/ms.po b/gettext-tools/examples/hello-c++-gnome/po/ms.po
index 0bfb853..0882745 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/ms.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/ms.po
@@ -1,20 +1,21 @@
# hello-c++-gnome Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-gnome package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:50
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/nb.po b/gettext-tools/examples/hello-c++-gnome/po/nb.po
index 6938eee..745cb4f 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/nb.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cc:50
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/nl.po b/gettext-tools/examples/hello-c++-gnome/po/nl.po
index 8f0927d..66e7004 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/nl.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c++-gnome.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome-0.19-rc1\n"
+"Project-Id-Version: hello-c++-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/pl.po b/gettext-tools/examples/hello-c++-gnome/po/pl.po
index 7953d55..745fda6 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/pl.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c++-gnome domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/pt_BR.po b/gettext-tools/examples/hello-c++-gnome/po/pt_BR.po
index b65e813..810992d 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/ro.po b/gettext-tools/examples/hello-c++-gnome/po/ro.po
index cbe0bda..694e98c 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/ro.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-c++-gnome-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-gnome.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c++-gnome.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.13-pre1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:50
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.cc:55
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-c++-gnome/po/ru.po b/gettext-tools/examples/hello-c++-gnome/po/ru.po
index e03ce42..f1eb073 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/ru.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/sk.po b/gettext-tools/examples/hello-c++-gnome/po/sk.po
index db6d750..ca8d315 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/sk.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/sl.po b/gettext-tools/examples/hello-c++-gnome/po/sl.po
index 2931d88..b1789bc 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/sl.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c++-gnome-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c++-gnome-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/sr.po b/gettext-tools/examples/hello-c++-gnome/po/sr.po
index 85da77f..c839b81 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/sr.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome-0.19-rc1\n"
+"Project-Id-Version: hello-c++-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cc:50
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/uk.po b/gettext-tools/examples/hello-c++-gnome/po/uk.po
index 57950fa..94c4b03 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/uk.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/vi.po b/gettext-tools/examples/hello-c++-gnome/po/vi.po
index f6ae141..e66bf80 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/vi.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cc:50
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/zh_CN.po b/gettext-tools/examples/hello-c++-gnome/po/zh_CN.po
index 9f5571c..6b235bb 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c++-gnome.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-gnome package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.13.1\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-gnome/po/zh_TW.po b/gettext-tools/examples/hello-c++-gnome/po/zh_TW.po
index cd88e77..734bc50 100644
--- a/gettext-tools/examples/hello-c++-gnome/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c++-gnome/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-gnome 0.18\n"
+"Project-Id-Version: hello-c++-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-c++-kde/admin/acinclude.m4.in b/gettext-tools/examples/hello-c++-kde/admin/acinclude.m4.in
index 18ca709..8fb02ea 100644
--- a/gettext-tools/examples/hello-c++-kde/admin/acinclude.m4.in
+++ b/gettext-tools/examples/hello-c++-kde/admin/acinclude.m4.in
@@ -3084,7 +3084,7 @@ dnl This is a merge of some macros out of the gettext aclocal.m4
dnl since we don't need anything, I took the things we need
dnl the copyright for them is:
dnl >
-dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl Copyright (C) 1994-1998, 2015 Free Software Foundation, Inc.
dnl This Makefile.in is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/examples/hello-c++-kde/admin/compile b/gettext-tools/examples/hello-c++-kde/admin/compile
index 9bb997a..5c54efb 100755
--- a/gettext-tools/examples/hello-c++-kde/admin/compile
+++ b/gettext-tools/examples/hello-c++-kde/admin/compile
@@ -2,7 +2,7 @@
# Wrapper for compilers which do not understand `-c -o'.
-# Copyright 1999, 2000 Free Software Foundation, Inc.
+# Copyright 1999-2000, 2015 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/examples/hello-c++-kde/admin/config.guess b/gettext-tools/examples/hello-c++-kde/admin/config.guess
index 5145e35..a2051be 100755
--- a/gettext-tools/examples/hello-c++-kde/admin/config.guess
+++ b/gettext-tools/examples/hello-c++-kde/admin/config.guess
@@ -1,7 +1,6 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1992-2002, 2015 Free Software Foundation, Inc.
timestamp='2002-10-21'
diff --git a/gettext-tools/examples/hello-c++-kde/admin/config.sub b/gettext-tools/examples/hello-c++-kde/admin/config.sub
index 1dea9b7..154f906 100755
--- a/gettext-tools/examples/hello-c++-kde/admin/config.sub
+++ b/gettext-tools/examples/hello-c++-kde/admin/config.sub
@@ -1,7 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1992-2002, 2015 Free Software Foundation, Inc.
timestamp='2002-09-05'
diff --git a/gettext-tools/examples/hello-c++-kde/admin/depcomp b/gettext-tools/examples/hello-c++-kde/admin/depcomp
index 6589965..f4f27c6 100755
--- a/gettext-tools/examples/hello-c++-kde/admin/depcomp
+++ b/gettext-tools/examples/hello-c++-kde/admin/depcomp
@@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000 Free Software Foundation, Inc.
+# Copyright 1999-2000, 2015 Free Software Foundation, Inc.
# 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
diff --git a/gettext-tools/examples/hello-c++-kde/admin/libtool.m4.in b/gettext-tools/examples/hello-c++-kde/admin/libtool.m4.in
index a9d56dc..8c0399d 100644
--- a/gettext-tools/examples/hello-c++-kde/admin/libtool.m4.in
+++ b/gettext-tools/examples/hello-c++-kde/admin/libtool.m4.in
@@ -1,6 +1,5 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001
-## Free Software Foundation, Inc.
+## Copyright 1996-2001, 2015 Free Software Foundation, Inc.
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
##
## This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/examples/hello-c++-kde/admin/ltmain.sh b/gettext-tools/examples/hello-c++-kde/admin/ltmain.sh
index f2a88ef..df9dca2 100644
--- a/gettext-tools/examples/hello-c++-kde/admin/ltmain.sh
+++ b/gettext-tools/examples/hello-c++-kde/admin/ltmain.sh
@@ -1,8 +1,7 @@
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun configure.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2015 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/examples/hello-c++-kde/admin/missing b/gettext-tools/examples/hello-c++-kde/admin/missing
index 6a37006..62cad08 100755
--- a/gettext-tools/examples/hello-c++-kde/admin/missing
+++ b/gettext-tools/examples/hello-c++-kde/admin/missing
@@ -1,6 +1,7 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2000, 2002, 2015 Free Software
+# Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/examples/hello-c++-kde/admin/ylwrap b/gettext-tools/examples/hello-c++-kde/admin/ylwrap
index 5ea68e4..5403335 100755
--- a/gettext-tools/examples/hello-c++-kde/admin/ylwrap
+++ b/gettext-tools/examples/hello-c++-kde/admin/ylwrap
@@ -1,6 +1,6 @@
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
-# Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright 1996-1999, 2015 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/examples/hello-c++-kde/hello.cc b/gettext-tools/examples/hello-c++-kde/hello.cc
index 5e09128..e8cdf74 100644
--- a/gettext-tools/examples/hello-c++-kde/hello.cc
+++ b/gettext-tools/examples/hello-c++-kde/hello.cc
@@ -1,5 +1,5 @@
// Example for use of GNU gettext.
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2015 Free Software Foundation, Inc.
// This file is published under the GNU General Public License.
// Source code of the C++ program.
diff --git a/gettext-tools/examples/hello-c++-kde/hellowindow.cc b/gettext-tools/examples/hello-c++-kde/hellowindow.cc
index 67aa2b4..b32b080 100644
--- a/gettext-tools/examples/hello-c++-kde/hellowindow.cc
+++ b/gettext-tools/examples/hello-c++-kde/hellowindow.cc
@@ -1,5 +1,5 @@
// Example for use of GNU gettext.
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2015 Free Software Foundation, Inc.
// This file is published under the GNU General Public License.
#if HAVE_CONFIG_H
diff --git a/gettext-tools/examples/hello-c++-kde/hellowindow.h b/gettext-tools/examples/hello-c++-kde/hellowindow.h
index 6457a48..c6e2774 100644
--- a/gettext-tools/examples/hello-c++-kde/hellowindow.h
+++ b/gettext-tools/examples/hello-c++-kde/hellowindow.h
@@ -1,5 +1,5 @@
// Example for use of GNU gettext.
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2015 Free Software Foundation, Inc.
// This file is published under the GNU General Public License.
/* Declare KMainWindow. */
diff --git a/gettext-tools/examples/hello-c++-kde/po/bg.po b/gettext-tools/examples/hello-c++-kde/po/bg.po
index 384fe27..5c205ac 100644
--- a/gettext-tools/examples/hello-c++-kde/po/bg.po
+++ b/gettext-tools/examples/hello-c++-kde/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c++-kde package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/ca.po b/gettext-tools/examples/hello-c++-kde/po/ca.po
index 1f2ac1b..1f85f20 100644
--- a/gettext-tools/examples/hello-c++-kde/po/ca.po
+++ b/gettext-tools/examples/hello-c++-kde/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c++-kde.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/cs.po b/gettext-tools/examples/hello-c++-kde/po/cs.po
index 1b4940e..805fc8d 100644
--- a/gettext-tools/examples/hello-c++-kde/po/cs.po
+++ b/gettext-tools/examples/hello-c++-kde/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.18\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/da.po b/gettext-tools/examples/hello-c++-kde/po/da.po
index 91f4159..338edce 100644
--- a/gettext-tools/examples/hello-c++-kde/po/da.po
+++ b/gettext-tools/examples/hello-c++-kde/po/da.po
@@ -1,23 +1,25 @@
# Danish messages for hello-c++-kde.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.18\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cc:46
msgid "Hello example"
-msgstr "Eksempel på hilsen"
+msgstr "Eksempel på hilsen"
#: hello.cc:48
msgid "Hello world example"
@@ -30,4 +32,4 @@ msgstr "Hej verden!"
#: hellowindow.cc:49
#, qt-format
msgid "This program is running as process number %1."
-msgstr "Dette program kører som proces nummer %1."
+msgstr "Dette program kører som proces nummer %1."
diff --git a/gettext-tools/examples/hello-c++-kde/po/de.po b/gettext-tools/examples/hello-c++-kde/po/de.po
index 982a092..fc24fac 100644
--- a/gettext-tools/examples/hello-c++-kde/po/de.po
+++ b/gettext-tools/examples/hello-c++-kde/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/es.po b/gettext-tools/examples/hello-c++-kde/po/es.po
index 582df08..4f432c5 100644
--- a/gettext-tools/examples/hello-c++-kde/po/es.po
+++ b/gettext-tools/examples/hello-c++-kde/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde-0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -21,7 +21,7 @@ msgstr ""
#: hello.cc:46
msgid "Hello example"
-msgstr "Hola ejemplo"
+msgstr "Ejemplo de hola"
#: hello.cc:48
msgid "Hello world example"
diff --git a/gettext-tools/examples/hello-c++-kde/po/fi.po b/gettext-tools/examples/hello-c++-kde/po/fi.po
index 0155dae..a81e8a8 100644
--- a/gettext-tools/examples/hello-c++-kde/po/fi.po
+++ b/gettext-tools/examples/hello-c++-kde/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
#: hello.cc:46
msgid "Hello example"
diff --git a/gettext-tools/examples/hello-c++-kde/po/fr.po b/gettext-tools/examples/hello-c++-kde/po/fr.po
index e864baf..cdacb2d 100644
--- a/gettext-tools/examples/hello-c++-kde/po/fr.po
+++ b/gettext-tools/examples/hello-c++-kde/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-kde 0.15-pre5\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -18,11 +21,11 @@ msgstr ""
#: hello.cc:46
msgid "Hello example"
-msgstr "Exemple Hello"
+msgstr "Exemple Bonjour"
#: hello.cc:48
msgid "Hello world example"
-msgstr "Exemple de « Hello world »"
+msgstr "Exemple de « Bonjour le monde »"
#: hellowindow.cc:42
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-kde/po/hu.po b/gettext-tools/examples/hello-c++-kde/po/hu.po
index 4cc1e75..d46634d 100644
--- a/gettext-tools/examples/hello-c++-kde/po/hu.po
+++ b/gettext-tools/examples/hello-c++-kde/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cc:46
msgid "Hello example"
diff --git a/gettext-tools/examples/hello-c++-kde/po/it.po b/gettext-tools/examples/hello-c++-kde/po/it.po
index 47dd43d..1a2a8ed 100644
--- a/gettext-tools/examples/hello-c++-kde/po/it.po
+++ b/gettext-tools/examples/hello-c++-kde/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c++-kde.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.15-pre5\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/ja.po b/gettext-tools/examples/hello-c++-kde/po/ja.po
index 89eff3c..9de0959 100644
--- a/gettext-tools/examples/hello-c++-kde/po/ja.po
+++ b/gettext-tools/examples/hello-c++-kde/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c++-kde' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/ms.po b/gettext-tools/examples/hello-c++-kde/po/ms.po
index b0fe1c6..d97f44c 100644
--- a/gettext-tools/examples/hello-c++-kde/po/ms.po
+++ b/gettext-tools/examples/hello-c++-kde/po/ms.po
@@ -1,20 +1,21 @@
# hello-c++-kde Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-kde package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.15-pre5\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:46
msgid "Hello example"
diff --git a/gettext-tools/examples/hello-c++-kde/po/nb.po b/gettext-tools/examples/hello-c++-kde/po/nb.po
index d7a402b..5becefb 100644
--- a/gettext-tools/examples/hello-c++-kde/po/nb.po
+++ b/gettext-tools/examples/hello-c++-kde/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cc:46
msgid "Hello example"
diff --git a/gettext-tools/examples/hello-c++-kde/po/nl.po b/gettext-tools/examples/hello-c++-kde/po/nl.po
index 97b4f95..da28b48 100644
--- a/gettext-tools/examples/hello-c++-kde/po/nl.po
+++ b/gettext-tools/examples/hello-c++-kde/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c++-kde.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde-0.19-rc1\n"
+"Project-Id-Version: hello-c++-kde-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/pl.po b/gettext-tools/examples/hello-c++-kde/po/pl.po
index 3a70f2d..93a9a64 100644
--- a/gettext-tools/examples/hello-c++-kde/po/pl.po
+++ b/gettext-tools/examples/hello-c++-kde/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c++-kde domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/pt_BR.po b/gettext-tools/examples/hello-c++-kde/po/pt_BR.po
index 8a5d577..34094d1 100644
--- a/gettext-tools/examples/hello-c++-kde/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c++-kde/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/ro.po b/gettext-tools/examples/hello-c++-kde/po/ro.po
index d0b8a96..0ab0a85 100644
--- a/gettext-tools/examples/hello-c++-kde/po/ro.po
+++ b/gettext-tools/examples/hello-c++-kde/po/ro.po
@@ -1,33 +1,37 @@
-# Mesajele în limba românã pentru pachetul hello-c++-kde-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-kde.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c++-kde.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.13-pre1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:46
msgid "Hello example"
-msgstr "Exemplu Salut(Hello)"
+msgstr "Exemplu Salut"
#: hello.cc:48
msgid "Hello world example"
-msgstr "Exemplu Salut lume(Hello world)"
+msgstr "Exemplu Salut lume"
#: hellowindow.cc:42
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hellowindow.cc:49
#, qt-format
msgid "This program is running as process number %1."
-msgstr "Acest program este rulat ca procesul numãrul %1."
+msgstr "Acest program rulează ca procesul numărul %1."
diff --git a/gettext-tools/examples/hello-c++-kde/po/ru.po b/gettext-tools/examples/hello-c++-kde/po/ru.po
index e434c92..37c9714 100644
--- a/gettext-tools/examples/hello-c++-kde/po/ru.po
+++ b/gettext-tools/examples/hello-c++-kde/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/sk.po b/gettext-tools/examples/hello-c++-kde/po/sk.po
index 6ada7c4..6b9e800 100644
--- a/gettext-tools/examples/hello-c++-kde/po/sk.po
+++ b/gettext-tools/examples/hello-c++-kde/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/sl.po b/gettext-tools/examples/hello-c++-kde/po/sl.po
index aae2b36..ada20af 100644
--- a/gettext-tools/examples/hello-c++-kde/po/sl.po
+++ b/gettext-tools/examples/hello-c++-kde/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c++-kde-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c++-kde-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/sr.po b/gettext-tools/examples/hello-c++-kde/po/sr.po
index 2db8ec0..76c3bc7 100644
--- a/gettext-tools/examples/hello-c++-kde/po/sr.po
+++ b/gettext-tools/examples/hello-c++-kde/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde-0.19-rc1\n"
+"Project-Id-Version: hello-c++-kde-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,15 +16,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cc:46
msgid "Hello example"
-msgstr "„Здраво“ пример"
+msgstr "Пример „Здраво“"
#: hello.cc:48
msgid "Hello world example"
-msgstr "„Здраво Ñвима“ пример"
+msgstr "Пример „Здраво Ñвима“"
#: hellowindow.cc:42
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-kde/po/uk.po b/gettext-tools/examples/hello-c++-kde/po/uk.po
index 9b6cce8..f89dd47 100644
--- a/gettext-tools/examples/hello-c++-kde/po/uk.po
+++ b/gettext-tools/examples/hello-c++-kde/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/vi.po b/gettext-tools/examples/hello-c++-kde/po/vi.po
index 963f4af..4f09c55 100644
--- a/gettext-tools/examples/hello-c++-kde/po/vi.po
+++ b/gettext-tools/examples/hello-c++-kde/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cc:46
msgid "Hello example"
diff --git a/gettext-tools/examples/hello-c++-kde/po/zh_CN.po b/gettext-tools/examples/hello-c++-kde/po/zh_CN.po
index 4914580..0bfca7f 100644
--- a/gettext-tools/examples/hello-c++-kde/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c++-kde/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c++-kde.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-kde package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.13.1\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-kde/po/zh_TW.po b/gettext-tools/examples/hello-c++-kde/po/zh_TW.po
index c6ef304..faa2a1d 100644
--- a/gettext-tools/examples/hello-c++-kde/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c++-kde/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-kde 0.18\n"
+"Project-Id-Version: hello-c++-kde 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/bg.po b/gettext-tools/examples/hello-c++-qt/po/bg.po
index df5891e..78c8389 100644
--- a/gettext-tools/examples/hello-c++-qt/po/bg.po
+++ b/gettext-tools/examples/hello-c++-qt/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c++-qt package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/ca.po b/gettext-tools/examples/hello-c++-qt/po/ca.po
index 91b2d75..46683b7 100644
--- a/gettext-tools/examples/hello-c++-qt/po/ca.po
+++ b/gettext-tools/examples/hello-c++-qt/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c++-qt.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/cs.po b/gettext-tools/examples/hello-c++-qt/po/cs.po
index e43b4ae..184d60e 100644
--- a/gettext-tools/examples/hello-c++-qt/po/cs.po
+++ b/gettext-tools/examples/hello-c++-qt/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.18\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/da.po b/gettext-tools/examples/hello-c++-qt/po/da.po
index 44b3bc2..52ed3dc 100644
--- a/gettext-tools/examples/hello-c++-qt/po/da.po
+++ b/gettext-tools/examples/hello-c++-qt/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-c++-qt.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.18\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cc:45
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.cc:52
#, qt-format
msgid "This program is running as process number %1."
-msgstr "Dette program kører som proces nummer %1."
+msgstr "Dette program kører som proces nummer %1."
diff --git a/gettext-tools/examples/hello-c++-qt/po/de.po b/gettext-tools/examples/hello-c++-qt/po/de.po
index b469d7e..fc47c96 100644
--- a/gettext-tools/examples/hello-c++-qt/po/de.po
+++ b/gettext-tools/examples/hello-c++-qt/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/es.po b/gettext-tools/examples/hello-c++-qt/po/es.po
index 7cf669b..cb5eb77 100644
--- a/gettext-tools/examples/hello-c++-qt/po/es.po
+++ b/gettext-tools/examples/hello-c++-qt/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt-0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/fi.po b/gettext-tools/examples/hello-c++-qt/po/fi.po
index 5313d4a..5b53c80 100644
--- a/gettext-tools/examples/hello-c++-qt/po/fi.po
+++ b/gettext-tools/examples/hello-c++-qt/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.cc:45
diff --git a/gettext-tools/examples/hello-c++-qt/po/fr.po b/gettext-tools/examples/hello-c++-qt/po/fr.po
index 7552f6f..386580e 100644
--- a/gettext-tools/examples/hello-c++-qt/po/fr.po
+++ b/gettext-tools/examples/hello-c++-qt/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-qt 0.15-pre5\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/hu.po b/gettext-tools/examples/hello-c++-qt/po/hu.po
index d5a2ec5..1b24a78 100644
--- a/gettext-tools/examples/hello-c++-qt/po/hu.po
+++ b/gettext-tools/examples/hello-c++-qt/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cc:45
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-qt/po/it.po b/gettext-tools/examples/hello-c++-qt/po/it.po
index 4847646..fc80738 100644
--- a/gettext-tools/examples/hello-c++-qt/po/it.po
+++ b/gettext-tools/examples/hello-c++-qt/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c++-qt.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.15-pre5\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/ja.po b/gettext-tools/examples/hello-c++-qt/po/ja.po
index e469ad1..8647f2b 100644
--- a/gettext-tools/examples/hello-c++-qt/po/ja.po
+++ b/gettext-tools/examples/hello-c++-qt/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c++-qt' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/ms.po b/gettext-tools/examples/hello-c++-qt/po/ms.po
index b6ae5b5..e121388 100644
--- a/gettext-tools/examples/hello-c++-qt/po/ms.po
+++ b/gettext-tools/examples/hello-c++-qt/po/ms.po
@@ -1,20 +1,21 @@
# hello-c++-qt Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-qt package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.15-pre5\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:45
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-qt/po/nb.po b/gettext-tools/examples/hello-c++-qt/po/nb.po
index 742517f..6726284 100644
--- a/gettext-tools/examples/hello-c++-qt/po/nb.po
+++ b/gettext-tools/examples/hello-c++-qt/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cc:45
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-qt/po/nl.po b/gettext-tools/examples/hello-c++-qt/po/nl.po
index 1dda275..e9bf53a 100644
--- a/gettext-tools/examples/hello-c++-qt/po/nl.po
+++ b/gettext-tools/examples/hello-c++-qt/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c++-qt.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt-0.19-rc1\n"
+"Project-Id-Version: hello-c++-qt-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/pl.po b/gettext-tools/examples/hello-c++-qt/po/pl.po
index 97005d6..0b51943 100644
--- a/gettext-tools/examples/hello-c++-qt/po/pl.po
+++ b/gettext-tools/examples/hello-c++-qt/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c++-qt domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/pt_BR.po b/gettext-tools/examples/hello-c++-qt/po/pt_BR.po
index 41b8d50..5f3566b 100644
--- a/gettext-tools/examples/hello-c++-qt/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c++-qt/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/ro.po b/gettext-tools/examples/hello-c++-qt/po/ro.po
index a56f920..97cb5ee 100644
--- a/gettext-tools/examples/hello-c++-qt/po/ro.po
+++ b/gettext-tools/examples/hello-c++-qt/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-c++-qt-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-qt.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c++-qt.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.13-pre1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:45
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.cc:52
#, qt-format
msgid "This program is running as process number %1."
-msgstr "Acest program este rulat ca procesul numãrul %1."
+msgstr "Acest program rulează ca procesul numărul %1."
diff --git a/gettext-tools/examples/hello-c++-qt/po/ru.po b/gettext-tools/examples/hello-c++-qt/po/ru.po
index fd1d615..78251e6 100644
--- a/gettext-tools/examples/hello-c++-qt/po/ru.po
+++ b/gettext-tools/examples/hello-c++-qt/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/sk.po b/gettext-tools/examples/hello-c++-qt/po/sk.po
index a682685..f30e5ee 100644
--- a/gettext-tools/examples/hello-c++-qt/po/sk.po
+++ b/gettext-tools/examples/hello-c++-qt/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/sl.po b/gettext-tools/examples/hello-c++-qt/po/sl.po
index 470bd2d..7b91d36 100644
--- a/gettext-tools/examples/hello-c++-qt/po/sl.po
+++ b/gettext-tools/examples/hello-c++-qt/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c++-qt-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c++-qt-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/sr.po b/gettext-tools/examples/hello-c++-qt/po/sr.po
index 5b1a328..a8c6482 100644
--- a/gettext-tools/examples/hello-c++-qt/po/sr.po
+++ b/gettext-tools/examples/hello-c++-qt/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt-0.19-rc1\n"
+"Project-Id-Version: hello-c++-qt-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cc:45
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-qt/po/uk.po b/gettext-tools/examples/hello-c++-qt/po/uk.po
index 562aae4..6639a61 100644
--- a/gettext-tools/examples/hello-c++-qt/po/uk.po
+++ b/gettext-tools/examples/hello-c++-qt/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/vi.po b/gettext-tools/examples/hello-c++-qt/po/vi.po
index b90ec58..39f16c3 100644
--- a/gettext-tools/examples/hello-c++-qt/po/vi.po
+++ b/gettext-tools/examples/hello-c++-qt/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cc:45
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-qt/po/zh_CN.po b/gettext-tools/examples/hello-c++-qt/po/zh_CN.po
index 7a7f87b..4d012a2 100644
--- a/gettext-tools/examples/hello-c++-qt/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c++-qt/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c++-qt.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-qt package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.13.1\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-qt/po/zh_TW.po b/gettext-tools/examples/hello-c++-qt/po/zh_TW.po
index 1cd119f..000e318 100644
--- a/gettext-tools/examples/hello-c++-qt/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c++-qt/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-qt 0.18\n"
+"Project-Id-Version: hello-c++-qt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/bg.po b/gettext-tools/examples/hello-c++-wxwidgets/po/bg.po
index bf37bba..2171448 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/bg.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c++-wxwidgets package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/ca.po b/gettext-tools/examples/hello-c++-wxwidgets/po/ca.po
index 3837afc..16ccc46 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/ca.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c++-wxwidgets.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/cs.po b/gettext-tools/examples/hello-c++-wxwidgets/po/cs.po
index dda7258..ab61935 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/cs.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.18\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/da.po b/gettext-tools/examples/hello-c++-wxwidgets/po/da.po
index 383ac7b..b831d76 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/da.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-c++-wxwidgets.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.18\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cc:68
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.cc:71
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/de.po b/gettext-tools/examples/hello-c++-wxwidgets/po/de.po
index 5f9cae0..9c39007 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/de.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/es.po b/gettext-tools/examples/hello-c++-wxwidgets/po/es.po
index 9e2fb14..e094d4a 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/es.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets-0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/fi.po b/gettext-tools/examples/hello-c++-wxwidgets/po/fi.po
index 7cd0d1b..057b337 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/fi.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.cc:68
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/fr.po b/gettext-tools/examples/hello-c++-wxwidgets/po/fr.po
index e3f36e1..d808184 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/fr.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-wxwidgets 0.15-pre5\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/hu.po b/gettext-tools/examples/hello-c++-wxwidgets/po/hu.po
index 368f8c1..2813f7e 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/hu.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cc:68
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/it.po b/gettext-tools/examples/hello-c++-wxwidgets/po/it.po
index 7cfb877..747b4ae 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/it.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c++-wxwidgets.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/ja.po b/gettext-tools/examples/hello-c++-wxwidgets/po/ja.po
index f229a4f..e7559c4 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/ja.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c++-wxwidgets' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/ms.po b/gettext-tools/examples/hello-c++-wxwidgets/po/ms.po
index 351f237..401df18 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/ms.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/ms.po
@@ -1,20 +1,21 @@
# hello-c++-wxwidgets Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-wxwidgets package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:68
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/nb.po b/gettext-tools/examples/hello-c++-wxwidgets/po/nb.po
index 02f990b..76705b8 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/nb.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cc:68
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/nl.po b/gettext-tools/examples/hello-c++-wxwidgets/po/nl.po
index 5d1a5df..70890e0 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/nl.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c++-wxwidgets.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets-0.19-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/pl.po b/gettext-tools/examples/hello-c++-wxwidgets/po/pl.po
index 8bd08e0..5979d1f 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/pl.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c++-wxwidgets domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/pt_BR.po b/gettext-tools/examples/hello-c++-wxwidgets/po/pt_BR.po
index 2dd520e..d484eda 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/ro.po b/gettext-tools/examples/hello-c++-wxwidgets/po/ro.po
index 8f8a6de..810b8e4 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/ro.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-c++-wxwidgets-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-wxwidgets.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c++-wxwidgets.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.13-pre1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:68
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.cc:71
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/ru.po b/gettext-tools/examples/hello-c++-wxwidgets/po/ru.po
index b08ebeb..8e21be2 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/ru.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/sk.po b/gettext-tools/examples/hello-c++-wxwidgets/po/sk.po
index b15fdec..72906f8 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/sk.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/sl.po b/gettext-tools/examples/hello-c++-wxwidgets/po/sl.po
index 8c4da1d..0094f96 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/sl.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c++-wxwidgets-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c++-wxwidgets-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/sr.po b/gettext-tools/examples/hello-c++-wxwidgets/po/sr.po
index ed1b5bd..44df2ba 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/sr.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets-0.19-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cc:68
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/uk.po b/gettext-tools/examples/hello-c++-wxwidgets/po/uk.po
index 4334092..97ffc3c 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/uk.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/vi.po b/gettext-tools/examples/hello-c++-wxwidgets/po/vi.po
index 9ad0117..38660b0 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/vi.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cc:68
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/zh_CN.po b/gettext-tools/examples/hello-c++-wxwidgets/po/zh_CN.po
index 2271a40..76f33c8 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c++-wxwidgets.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++-wxwidgets package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.13.1\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++-wxwidgets/po/zh_TW.po b/gettext-tools/examples/hello-c++-wxwidgets/po/zh_TW.po
index 1e2117f..031a67f 100644
--- a/gettext-tools/examples/hello-c++-wxwidgets/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c++-wxwidgets/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-wxwidgets 0.18\n"
+"Project-Id-Version: hello-c++-wxwidgets 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-c++/po/bg.po b/gettext-tools/examples/hello-c++/po/bg.po
index 56e06c8..337ab80 100644
--- a/gettext-tools/examples/hello-c++/po/bg.po
+++ b/gettext-tools/examples/hello-c++/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c++ package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++/po/ca.po b/gettext-tools/examples/hello-c++/po/ca.po
index 110147f..244972e 100644
--- a/gettext-tools/examples/hello-c++/po/ca.po
+++ b/gettext-tools/examples/hello-c++/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c++.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c++/po/cs.po b/gettext-tools/examples/hello-c++/po/cs.po
index 3145cf1..706c57e 100644
--- a/gettext-tools/examples/hello-c++/po/cs.po
+++ b/gettext-tools/examples/hello-c++/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.18\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c++/po/da.po b/gettext-tools/examples/hello-c++/po/da.po
index 088313d..b295476 100644
--- a/gettext-tools/examples/hello-c++/po/da.po
+++ b/gettext-tools/examples/hello-c++/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-c++.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.18\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cc:39
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.cc:40
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-c++/po/de.po b/gettext-tools/examples/hello-c++/po/de.po
index 16577c4..3a72930 100644
--- a/gettext-tools/examples/hello-c++/po/de.po
+++ b/gettext-tools/examples/hello-c++/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++/po/es.po b/gettext-tools/examples/hello-c++/po/es.po
index 73c0a1d..adc9cf6 100644
--- a/gettext-tools/examples/hello-c++/po/es.po
+++ b/gettext-tools/examples/hello-c++/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-0.19.4-rc1\n"
+"Project-Id-Version: hello-c++-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-c++/po/fi.po b/gettext-tools/examples/hello-c++/po/fi.po
index 35f27cc..ff95339 100644
--- a/gettext-tools/examples/hello-c++/po/fi.po
+++ b/gettext-tools/examples/hello-c++/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.cc:39
diff --git a/gettext-tools/examples/hello-c++/po/fr.po b/gettext-tools/examples/hello-c++/po/fr.po
index d8bec44..9c4335b 100644
--- a/gettext-tools/examples/hello-c++/po/fr.po
+++ b/gettext-tools/examples/hello-c++/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++ 0.15-pre5\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++/po/hu.po b/gettext-tools/examples/hello-c++/po/hu.po
index d54a887..1adb9a1 100644
--- a/gettext-tools/examples/hello-c++/po/hu.po
+++ b/gettext-tools/examples/hello-c++/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cc:39
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++/po/it.po b/gettext-tools/examples/hello-c++/po/it.po
index 4533439..04bf2b8 100644
--- a/gettext-tools/examples/hello-c++/po/it.po
+++ b/gettext-tools/examples/hello-c++/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c++.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.15-pre5\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c++/po/ja.po b/gettext-tools/examples/hello-c++/po/ja.po
index 0b3e156..377338a 100644
--- a/gettext-tools/examples/hello-c++/po/ja.po
+++ b/gettext-tools/examples/hello-c++/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c++' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c++/po/ms.po b/gettext-tools/examples/hello-c++/po/ms.po
index 99069ed..50fa382 100644
--- a/gettext-tools/examples/hello-c++/po/ms.po
+++ b/gettext-tools/examples/hello-c++/po/ms.po
@@ -1,20 +1,21 @@
# hello-c++ Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++ package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.15-pre5\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:39
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++/po/nb.po b/gettext-tools/examples/hello-c++/po/nb.po
index 779e779..efd8bce 100644
--- a/gettext-tools/examples/hello-c++/po/nb.po
+++ b/gettext-tools/examples/hello-c++/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cc:39
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++/po/nl.po b/gettext-tools/examples/hello-c++/po/nl.po
index cc3c656..824d239 100644
--- a/gettext-tools/examples/hello-c++/po/nl.po
+++ b/gettext-tools/examples/hello-c++/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c++.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-0.19-rc1\n"
+"Project-Id-Version: hello-c++-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c++/po/pl.po b/gettext-tools/examples/hello-c++/po/pl.po
index 6b5347d..2d3acee 100644
--- a/gettext-tools/examples/hello-c++/po/pl.po
+++ b/gettext-tools/examples/hello-c++/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c++ domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c++/po/pt_BR.po b/gettext-tools/examples/hello-c++/po/pt_BR.po
index ada39fa..f841d6d 100644
--- a/gettext-tools/examples/hello-c++/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c++/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c++/po/ro.po b/gettext-tools/examples/hello-c++/po/ro.po
index 2698008..ff5b51d 100644
--- a/gettext-tools/examples/hello-c++/po/ro.po
+++ b/gettext-tools/examples/hello-c++/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-c++-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c++.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.13-pre1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cc:39
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.cc:40
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-c++/po/ru.po b/gettext-tools/examples/hello-c++/po/ru.po
index 67993f8..b36c604 100644
--- a/gettext-tools/examples/hello-c++/po/ru.po
+++ b/gettext-tools/examples/hello-c++/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c++/po/sk.po b/gettext-tools/examples/hello-c++/po/sk.po
index 32ed291..c5d0a92 100644
--- a/gettext-tools/examples/hello-c++/po/sk.po
+++ b/gettext-tools/examples/hello-c++/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c++/po/sl.po b/gettext-tools/examples/hello-c++/po/sl.po
index 3d5550d..d0fe15b 100644
--- a/gettext-tools/examples/hello-c++/po/sl.po
+++ b/gettext-tools/examples/hello-c++/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c++-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c++-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c++/po/sr.po b/gettext-tools/examples/hello-c++/po/sr.po
index 465c9da..511effa 100644
--- a/gettext-tools/examples/hello-c++/po/sr.po
+++ b/gettext-tools/examples/hello-c++/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++-0.19-rc1\n"
+"Project-Id-Version: hello-c++-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cc:39
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++/po/uk.po b/gettext-tools/examples/hello-c++/po/uk.po
index f1094b0..0ae51c8 100644
--- a/gettext-tools/examples/hello-c++/po/uk.po
+++ b/gettext-tools/examples/hello-c++/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c++/po/vi.po b/gettext-tools/examples/hello-c++/po/vi.po
index c9fd236..4d57633 100644
--- a/gettext-tools/examples/hello-c++/po/vi.po
+++ b/gettext-tools/examples/hello-c++/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.19.4-rc1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cc:39
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c++/po/zh_CN.po b/gettext-tools/examples/hello-c++/po/zh_CN.po
index 1fd4597..8ad2e0d 100644
--- a/gettext-tools/examples/hello-c++/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c++/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c++.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c++ package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.13.1\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c++/po/zh_TW.po b/gettext-tools/examples/hello-c++/po/zh_TW.po
index 9741dd0..65a016b 100644
--- a/gettext-tools/examples/hello-c++/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c++/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c++ 0.18\n"
+"Project-Id-Version: hello-c++ 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/bg.po b/gettext-tools/examples/hello-c-gnome/po/bg.po
index b272787..361467f 100644
--- a/gettext-tools/examples/hello-c-gnome/po/bg.po
+++ b/gettext-tools/examples/hello-c-gnome/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c-gnome package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/ca.po b/gettext-tools/examples/hello-c-gnome/po/ca.po
index 4208d9d..bde05a3 100644
--- a/gettext-tools/examples/hello-c-gnome/po/ca.po
+++ b/gettext-tools/examples/hello-c-gnome/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c-gnome.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/cs.po b/gettext-tools/examples/hello-c-gnome/po/cs.po
index 8a5314a..78b736d 100644
--- a/gettext-tools/examples/hello-c-gnome/po/cs.po
+++ b/gettext-tools/examples/hello-c-gnome/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.18\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/da.po b/gettext-tools/examples/hello-c-gnome/po/da.po
index 4977ffc..00fe408 100644
--- a/gettext-tools/examples/hello-c-gnome/po/da.po
+++ b/gettext-tools/examples/hello-c-gnome/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-c-gnome.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.18\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.c:46
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.c:51
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-c-gnome/po/de.po b/gettext-tools/examples/hello-c-gnome/po/de.po
index 1aa3870..23aeb1a 100644
--- a/gettext-tools/examples/hello-c-gnome/po/de.po
+++ b/gettext-tools/examples/hello-c-gnome/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/es.po b/gettext-tools/examples/hello-c-gnome/po/es.po
index 8f2b40b..481df73 100644
--- a/gettext-tools/examples/hello-c-gnome/po/es.po
+++ b/gettext-tools/examples/hello-c-gnome/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome-0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/fi.po b/gettext-tools/examples/hello-c-gnome/po/fi.po
index 604a767..479f4ca 100644
--- a/gettext-tools/examples/hello-c-gnome/po/fi.po
+++ b/gettext-tools/examples/hello-c-gnome/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.c:46
diff --git a/gettext-tools/examples/hello-c-gnome/po/fr.po b/gettext-tools/examples/hello-c-gnome/po/fr.po
index 67f244d..08e8e0b 100644
--- a/gettext-tools/examples/hello-c-gnome/po/fr.po
+++ b/gettext-tools/examples/hello-c-gnome/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/hu.po b/gettext-tools/examples/hello-c-gnome/po/hu.po
index 7da237c..5c27760 100644
--- a/gettext-tools/examples/hello-c-gnome/po/hu.po
+++ b/gettext-tools/examples/hello-c-gnome/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.c:46
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c-gnome/po/it.po b/gettext-tools/examples/hello-c-gnome/po/it.po
index 79366b2..4ef085f 100644
--- a/gettext-tools/examples/hello-c-gnome/po/it.po
+++ b/gettext-tools/examples/hello-c-gnome/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c-gnome.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/ja.po b/gettext-tools/examples/hello-c-gnome/po/ja.po
index 0a5bc76..fed7cf8 100644
--- a/gettext-tools/examples/hello-c-gnome/po/ja.po
+++ b/gettext-tools/examples/hello-c-gnome/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c-gnome' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/ms.po b/gettext-tools/examples/hello-c-gnome/po/ms.po
index 93f8077..6b0a44a 100644
--- a/gettext-tools/examples/hello-c-gnome/po/ms.po
+++ b/gettext-tools/examples/hello-c-gnome/po/ms.po
@@ -1,20 +1,21 @@
# hello-c-gnome Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c-gnome package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.c:46
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c-gnome/po/nb.po b/gettext-tools/examples/hello-c-gnome/po/nb.po
index 20e8dd9..ac26747 100644
--- a/gettext-tools/examples/hello-c-gnome/po/nb.po
+++ b/gettext-tools/examples/hello-c-gnome/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.c:46
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c-gnome/po/nl.po b/gettext-tools/examples/hello-c-gnome/po/nl.po
index 3f011b1..21328af 100644
--- a/gettext-tools/examples/hello-c-gnome/po/nl.po
+++ b/gettext-tools/examples/hello-c-gnome/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c-gnome.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome-0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/pl.po b/gettext-tools/examples/hello-c-gnome/po/pl.po
index 650a607..66df7dc 100644
--- a/gettext-tools/examples/hello-c-gnome/po/pl.po
+++ b/gettext-tools/examples/hello-c-gnome/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c-gnome domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/pt_BR.po b/gettext-tools/examples/hello-c-gnome/po/pt_BR.po
index 62b720c..4bec757 100644
--- a/gettext-tools/examples/hello-c-gnome/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c-gnome/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/ro.po b/gettext-tools/examples/hello-c-gnome/po/ro.po
index 3a603e9..8c17e1b 100644
--- a/gettext-tools/examples/hello-c-gnome/po/ro.po
+++ b/gettext-tools/examples/hello-c-gnome/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-c-gnome-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c-gnome.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c-gnome.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.13-pre1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.c:46
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.c:51
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-c-gnome/po/ru.po b/gettext-tools/examples/hello-c-gnome/po/ru.po
index b0a1ea6..9c159f9 100644
--- a/gettext-tools/examples/hello-c-gnome/po/ru.po
+++ b/gettext-tools/examples/hello-c-gnome/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/sk.po b/gettext-tools/examples/hello-c-gnome/po/sk.po
index 0e916dc..4c9ed7a 100644
--- a/gettext-tools/examples/hello-c-gnome/po/sk.po
+++ b/gettext-tools/examples/hello-c-gnome/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/sl.po b/gettext-tools/examples/hello-c-gnome/po/sl.po
index 33c6c35..1bc7151 100644
--- a/gettext-tools/examples/hello-c-gnome/po/sl.po
+++ b/gettext-tools/examples/hello-c-gnome/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c-gnome-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c-gnome-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/sr.po b/gettext-tools/examples/hello-c-gnome/po/sr.po
index 782cc2e..a4465ba 100644
--- a/gettext-tools/examples/hello-c-gnome/po/sr.po
+++ b/gettext-tools/examples/hello-c-gnome/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome-0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.c:46
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c-gnome/po/uk.po b/gettext-tools/examples/hello-c-gnome/po/uk.po
index 0bba76c..effb75f 100644
--- a/gettext-tools/examples/hello-c-gnome/po/uk.po
+++ b/gettext-tools/examples/hello-c-gnome/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/vi.po b/gettext-tools/examples/hello-c-gnome/po/vi.po
index 06e3bf2..f364291 100644
--- a/gettext-tools/examples/hello-c-gnome/po/vi.po
+++ b/gettext-tools/examples/hello-c-gnome/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.c:46
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c-gnome/po/zh_CN.po b/gettext-tools/examples/hello-c-gnome/po/zh_CN.po
index a724ff2..b670476 100644
--- a/gettext-tools/examples/hello-c-gnome/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c-gnome/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c-gnome.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c-gnome package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.13.1\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c-gnome/po/zh_TW.po b/gettext-tools/examples/hello-c-gnome/po/zh_TW.po
index 0d47239..49e6680 100644
--- a/gettext-tools/examples/hello-c-gnome/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c-gnome/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome 0.18\n"
+"Project-Id-Version: hello-c-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-c-gnome3/Makefile.am b/gettext-tools/examples/hello-c-gnome3/Makefile.am
index 5164c09..d7168bc 100644
--- a/gettext-tools/examples/hello-c-gnome3/Makefile.am
+++ b/gettext-tools/examples/hello-c-gnome3/Makefile.am
@@ -36,19 +36,20 @@ resources.c: hello.gresource.xml hello.ui
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ \
--sourcedir=$(srcdir) --generate-source
-# Merge translations into a Desktop Entry file.
desktopdir = $(datadir)/applications
desktop_DATA = hello.desktop
+# Merge translations back into a Desktop Entry file.
+
+# Note that the resulting file should be included in EXTRA_DIST and
+# processed earlier than the variable substitution below. Otherwise,
+# the 'msgfmt' command will be required at compile-time.
hello.desktop.in: hello.desktop.in.in
- $(AM_V_GEN) $(MSGFMT) --desktop --template $< -o $@-t \
- -d $(top_srcdir)/po && mv $@-t $@
+ $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
+# Substitute variables in a Desktop Entry file.
hello.desktop: hello.desktop.in
- @rm -f $@ $@-t
- $(AM_V_GEN) srcdir=''; \
- test -f ./$< || srcdir=$(srcdir)/; \
- sed -e "s|@bindir[@]|$(bindir)|" $< > $@-t && mv $@-t $@
+ $(AM_V_GEN) sed -e 's|@bindir[@]|$(bindir)|g' $< > $@
CLEANFILES = $(BUILT_SOURCES) hello.desktop $(desktop_DATA)
diff --git a/gettext-tools/examples/hello-c-gnome3/configure.ac b/gettext-tools/examples/hello-c-gnome3/configure.ac
index e1e6aeb..738f53b 100644
--- a/gettext-tools/examples/hello-c-gnome3/configure.ac
+++ b/gettext-tools/examples/hello-c-gnome3/configure.ac
@@ -10,7 +10,7 @@ AM_INIT_AUTOMAKE(hello-c-gnome3, 0)
AC_PROG_CC
AC_CHECK_HEADERS([unistd.h])
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION(0.15)
+AM_GNU_GETTEXT_VERSION(0.19)
dnl Check GNOME specific stuff.
dnl
diff --git a/gettext-tools/examples/hello-c-gnome3/hello.c b/gettext-tools/examples/hello-c-gnome3/hello.c
index a642ac6..56fbf6a 100644
--- a/gettext-tools/examples/hello-c-gnome3/hello.c
+++ b/gettext-tools/examples/hello-c-gnome3/hello.c
@@ -17,12 +17,6 @@
#define APPLICATION_ID "org.gnu.gettext.examples.hello"
#define GSETTINGS_SCHEMA "org.gnu.gettext.examples.hello"
-static void
-quit_callback (GtkWidget *widget, void *data)
-{
- g_application_quit (G_APPLICATION (data));
-}
-
/* Forward declaration of GObject types. */
#define HELLO_TYPE_APPLICATION_WINDOW (hello_application_window_get_type ())
@@ -48,9 +42,11 @@ typedef struct _HelloApplicationClass HelloApplicationClass;
struct _HelloApplicationWindow
{
GtkApplicationWindow parent;
- GtkWidget *label2;
+ GtkWidget *label;
GtkWidget *button;
GSettings *settings;
+ gsize label_id;
+ gchar *labels[3];
};
struct _HelloApplicationWindowClass
@@ -62,20 +58,34 @@ G_DEFINE_TYPE (HelloApplicationWindow, hello_application_window,
GTK_TYPE_APPLICATION_WINDOW);
static void
-hello_application_window_init (HelloApplicationWindow *window)
+update_content (HelloApplicationWindow *window)
{
- char *label;
+ gtk_label_set_label (GTK_LABEL (window->label),
+ window->labels[window->label_id]);
+ window->label_id = (window->label_id + 1) % G_N_ELEMENTS (window->labels);
+}
+static void
+hello_application_window_init (HelloApplicationWindow *window)
+{
gtk_widget_init_template (GTK_WIDGET (window));
- label = g_strdup_printf (_("This program is running as process number %d."),
- getpid ());
- gtk_label_set_label (GTK_LABEL (window->label2), label);
- g_free (label);
window->settings = g_settings_new (GSETTINGS_SCHEMA);
- g_settings_bind (window->settings, "label-sensitive",
- window->label2, "sensitive",
+ g_settings_bind (window->settings, "use-markup",
+ window->label, "use-markup",
G_SETTINGS_BIND_DEFAULT);
+
+ window->labels[0]
+ = g_strdup_printf (_("<big>Hello world!</big>\n"
+ "This program is running as "
+ "process number <b>%d</b>."),
+ getpid ());
+ window->labels[1]
+ = g_strdup (_("<big><u>This is another text</u></big>"));
+ window->labels[2]
+ = g_strdup (_("<big><i>This is yet another text</i></big>"));
+
+ update_content (window);
}
static void
@@ -95,7 +105,7 @@ hello_application_window_class_init (HelloApplicationWindowClass *klass)
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
UI_PATH);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (klass),
- HelloApplicationWindow, label2);
+ HelloApplicationWindow, label);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (klass),
HelloApplicationWindow, button);
}
@@ -128,13 +138,19 @@ hello_application_init (HelloApplication *application)
}
static void
+clicked_callback (GtkWidget *widget, void *data)
+{
+ update_content (HELLO_APPLICATION_WINDOW (data));
+}
+
+static void
hello_application_activate (GApplication *application)
{
HelloApplicationWindow *window;
window = hello_application_window_new (HELLO_APPLICATION (application));
g_signal_connect (window->button, "clicked",
- G_CALLBACK (quit_callback), application);
+ G_CALLBACK (clicked_callback), window);
gtk_window_present (GTK_WINDOW (window));
}
diff --git a/gettext-tools/examples/hello-c-gnome3/hello.gschema.xml b/gettext-tools/examples/hello-c-gnome3/hello.gschema.xml
index 40d2a90..d586b5a 100644
--- a/gettext-tools/examples/hello-c-gnome3/hello.gschema.xml
+++ b/gettext-tools/examples/hello-c-gnome3/hello.gschema.xml
@@ -2,10 +2,10 @@
<schemalist>
<schema path="/org/gnu/gettext/examples/hello/"
id="org.gnu.gettext.examples.hello">
- <key name="label-sensitive" type="b">
+ <key name="use-markup" type="b">
<default>true</default>
- <summary>Set label sensitive</summary>
- <description>Whether to set the label sensitive.</description>
+ <summary>Use XML markup</summary>
+ <description>Whether to use XML markup in the text.</description>
</key>
</schema>
</schemalist>
diff --git a/gettext-tools/examples/hello-c-gnome3/hello.ui b/gettext-tools/examples/hello-c-gnome3/hello.ui
index 9dc5c08..a68f926 100644
--- a/gettext-tools/examples/hello-c-gnome3/hello.ui
+++ b/gettext-tools/examples/hello-c-gnome3/hello.ui
@@ -10,45 +10,34 @@
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkAlignment" id="label1aligned">
+ <object class="GtkAlignment" id="alignment">
<property name="visible">True</property>
- <property name="xalign">0.0</property>
+ <property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
+ <property name="vexpand">True</property>
<child>
- <object class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Hello, world!</property>
- </object>
- </child>
- </object>
+ <object class="GtkLabel" id="label">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
</child>
<child>
- <object class="GtkAlignment" id="label2aligned">
+ <object class="GtkHButtonBox" id="buttonbar">
<property name="visible">True</property>
- <property name="xalign">0.0</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
<child>
- <object class="GtkLabel" id="label2">
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkHButtonBox" id="buttonbar">
- <property name="visible">True</property>
- <child>
- <object class="GtkButton" id="button">
- <property name="visible">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- </object>
- </child>
- </object>
+ <object class="GtkButton" id="button">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Update text</property>
+ <property name="use_stock">False</property>
+ </object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
+ </child>
+ </object>
</child>
</object>
</child>
diff --git a/gettext-tools/examples/hello-c-gnome3/po/af.po b/gettext-tools/examples/hello-c-gnome3/po/af.po
index 32190c0..842f8e8 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/af.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/af.po
@@ -15,16 +15,26 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Hierdie program loop as prosesnommer %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hallo wêreld!"
@@ -32,10 +42,14 @@ msgstr "Hallo wêreld!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ast.po b/gettext-tools/examples/hello-c-gnome3/po/ast.po
index a9b45ca..e8cc29b 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ast.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ast.po
@@ -16,16 +16,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Esti programa ta corriendo como'l procesu númberu %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "¡Hola, mundu!"
@@ -33,10 +43,14 @@ msgstr "¡Hola, mundu!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/bg.po b/gettext-tools/examples/hello-c-gnome3/po/bg.po
index d0b8ec0..5a02bcc 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/bg.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/bg.po
@@ -1,30 +1,42 @@
# Bulgarian translations for hello-c-gnome3 package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Програмата е пуÑната под Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¾Ð¼ÐµÑ€ %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Здравейте!</big>\n"
+"Програмата е пуÑната под Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¾Ð¼ÐµÑ€ <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Това е друг текÑÑ‚</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ртова е един друг текÑÑ‚</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Здравейте"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Здравейте на вÑички !"
@@ -32,10 +44,14 @@ msgstr "Здравейте на вÑички !"
msgid "Example Application"
msgstr "Примерно приложение"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Обноваване на текÑÑ‚"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Задава чувÑтвителноÑÑ‚ на надпиÑа."
+msgid "Use XML markup"
+msgstr "Използване на XML markup"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ надпиÑа да е чувÑтвителен."
+msgid "Whether to use XML markup in the text."
+msgstr "Дали да Ñе използва XML markup за текÑта."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ca.po b/gettext-tools/examples/hello-c-gnome3/po/ca.po
index d7673d1..3583f21 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ca.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c-gnome3.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
@@ -16,16 +16,28 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Aquest programa està corrent amb el número de procés %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hola, món!</big>\n"
+"Aquest programa està corrent amb el número de procés <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Aquest és un altre text</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Aquest és un altre text més</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Hola"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hola, món!"
@@ -33,10 +45,14 @@ msgstr "Hola, món!"
msgid "Example Application"
msgstr "Aplicació d’exemple"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Actualitza el text"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Fes sensible l’etiqueta"
+msgid "Use XML markup"
+msgstr "Empra etiquetatge XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Indica si fer l’etiqueta sensible o no."
+msgid "Whether to use XML markup in the text."
+msgstr "Indica si es permet emprar etiquetatge XML al text."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/cs.po b/gettext-tools/examples/hello-c-gnome3/po/cs.po
index 9c5c5a8..a4d374b 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/cs.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.18\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
@@ -17,27 +17,43 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Tento program běží jako proces Äíslo %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Ahoj světe!</big>\n"
+"Tento program běží jako proces Äíslo <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Toto je nějaký další text</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><u>Toto je nějaký ještě další text</u></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Ahoj"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Ahoj světe!"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Ukázková aplikace"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "Aktualizovat text"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Používat znaÄkovací jazyk XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Zda v textu používat znaÄkovací jazyk XML."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/da.po b/gettext-tools/examples/hello-c-gnome3/po/da.po
index d296285..b217724 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/da.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/da.po
@@ -1,41 +1,59 @@
# Danish messages for hello-c-gnome3.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.18\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hej verden!</big>\n"
+"Dette program kører som proces nummer <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dette er en anden tekst</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Endnu en tekst</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hej"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hej verden!"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Eksempelprogram"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "Opdater tekst"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Brug XML-opmærkning"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Hvorvidt der skal bruges XML-opmærkning i teksten."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/de.po b/gettext-tools/examples/hello-c-gnome3/po/de.po
index 1721c0d..ddf2236 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/de.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -20,16 +21,28 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Dieses Programm läuft mit der Prozess-Nummer %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hallo Welt!</big>\n"
+"Dieses Programm läuft mit der Prozess-Nummer %d."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dies ist ein weiterer Text</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big<i>Dies ist noch ein weiterer Text</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hallo"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hallo Welt!"
@@ -37,10 +50,14 @@ msgstr "Hallo Welt!"
msgid "Example Application"
msgstr "Beispielanwendung"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Text aktualisieren"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "XML-Markup verwenden"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Ob XML-Markup im Text verwendet werden soll"
diff --git a/gettext-tools/examples/hello-c-gnome3/po/el.po b/gettext-tools/examples/hello-c-gnome3/po/el.po
index 7e06f8d..a3f8732 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/el.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/el.po
@@ -15,16 +15,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.3.1\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Αυτό το Ï€ÏόγÏαμμα εκτελείται με αÏιθμό διεÏγασίας %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Γεια σου, κόσμε!"
@@ -32,10 +42,14 @@ msgstr "Γεια σου, κόσμε!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/eo.po b/gettext-tools/examples/hello-c-gnome3/po/eo.po
index e64cf70..deec936 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/eo.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/eo.po
@@ -15,16 +15,26 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Saluton, mondo!"
@@ -32,10 +42,14 @@ msgstr "Saluton, mondo!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/es.po b/gettext-tools/examples/hello-c-gnome3/po/es.po
index 5eb208e..a182a52 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/es.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3-0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -19,16 +19,28 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Este programa está corriendo como el proceso número %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>¡Hola, mundo!</big>\n"
+"Este programa está corriendo como el proceso número <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Este es otro texto</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Este es otro texto más</t></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Hola"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "¡Hola, mundo!"
@@ -36,10 +48,14 @@ msgstr "¡Hola, mundo!"
msgid "Example Application"
msgstr "Ejemplo de aplicación"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Actualizar texto"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Hace sensible la etiqueta"
+msgid "Use XML markup"
+msgstr "Utilizar etiquetas XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Si hacer que la etiqueta sea sensible."
+msgid "Whether to use XML markup in the text."
+msgstr "Si utilizar etiquetas XML en el texto."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/fi.po b/gettext-tools/examples/hello-c-gnome3/po/fi.po
index fc430e9..c5e0446 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/fi.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/fi.po
@@ -1,32 +1,45 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Tämän ohjelman prosessinumero on %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hei maailma!</big>\n"
+"Tämän ohjelman prosessinumero on <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Tämä on toinen teksti</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Tämä on vielä toinen teksti</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hei"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Terve maailma!"
@@ -34,10 +47,14 @@ msgstr "Terve maailma!"
msgid "Example Application"
msgstr "Esimerkkisovellus"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Päivitä teksti"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Käytä XML-merkintäkieltä"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Käytetäänkö XML-merkintäkieltä tekstissä."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/fr.po b/gettext-tools/examples/hello-c-gnome3/po/fr.po
index e24d062..e3c66dd 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/fr.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome3 0.15-pre5\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -16,27 +19,43 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Ce programme est exécuté en tant que processus numéro %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Salut le monde !</big>\n"
+"Ce programme est exécuté en tant que processus numéro <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ceci est un autre texte</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ceci est encore un autre texte</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Bonjour"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Bonjour, le monde !"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Application d’exemple"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "Actualiser le texte"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Utiliser le balisage XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "De quelle manière utiliser le balisage XML dans le texte."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ga.po b/gettext-tools/examples/hello-c-gnome3/po/ga.po
index ece84b3..d483e4d 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ga.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ga.po
@@ -15,16 +15,26 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Tá an clár seo á rith mar phróiseas %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Dia duit, a dhomhain!"
@@ -32,10 +42,14 @@ msgstr "Dia duit, a dhomhain!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/gl.po b/gettext-tools/examples/hello-c-gnome3/po/gl.po
index 4a81d8b..22baf8a 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/gl.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/gl.po
@@ -20,16 +20,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Este programa estase executando como o proceso número %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Ola, mundo!"
@@ -37,10 +47,14 @@ msgstr "Ola, mundo!"
msgid "Example Application"
msgstr "Aplicativo de exemplo"
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/hr.po b/gettext-tools/examples/hello-c-gnome3/po/hr.po
index b7e6456..8e2a8cb 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/hr.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/hr.po
@@ -17,16 +17,26 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Ovaj program je pokrenut kao proces broj %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Pozdrav, svijete!"
@@ -34,10 +44,14 @@ msgstr "Pozdrav, svijete!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/hu.po b/gettext-tools/examples/hello-c-gnome3/po/hu.po
index d4fe192..906f667 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/hu.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,18 +16,30 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Ez a program a(z) %d folyamatazonosítóval fut."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Helló, világ!</big>\n"
+"Ez a program a(z) <b>%d</b> folyamatazonosítóval fut."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ez egy másik szöveg</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ez megint egy másik szöveg</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Helló"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hello, világ!"
@@ -35,10 +47,14 @@ msgstr "Hello, világ!"
msgid "Example Application"
msgstr "Példa alkalmazás"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Szöveg frissítése"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "XML-jelölőnyelv használata"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Használjon-e XML-jelölőnyelvet a szövegben."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/id.po b/gettext-tools/examples/hello-c-gnome3/po/id.po
index c050a67..eabe224 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/id.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/id.po
@@ -16,16 +16,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.2\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Program ini berjalan sebagai proses nomor %d"
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hello, world!"
@@ -33,10 +43,14 @@ msgstr "Hello, world!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/it.po b/gettext-tools/examples/hello-c-gnome3/po/it.po
index 4e7d0d3..2a4ca51 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/it.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c-gnome3.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.15-pre5\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
@@ -15,27 +15,43 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Questo programma è in esecuzione con numero di processo %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Salve mondo!</big>\n"
+"Questo programma è in esecuzione con numero di processo <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Questo è un altro testo</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Questo è un altro testo ancora</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Salve"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Salve, mondo!"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Applicazione di esempio"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "Aggiorna testo"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Usa il markup XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Se usare il markup XML nel testo."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ja.po b/gettext-tools/examples/hello-c-gnome3/po/ja.po
index 547fcb7..023f363 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ja.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c-gnome3' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
@@ -15,16 +15,28 @@ msgstr ""
"Content-Type: text/plain; charset=EUC-JP\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hello world!</big>\n"
+"¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ <b>%d</b> ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>¤³¤ì¤Ï¤â¤¦°ì¤Ä¤Î¥Æ¥­¥¹¥È¤Ç¤¹</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>¤³¤ì¤Ï¤µ¤é¤Ë¤â¤¦°ì¤Ä¤Î¥Æ¥­¥¹¥È¤Ç¤¹</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "¤³¤ó¤Ë¤Á¤Ï"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!"
@@ -32,10 +44,14 @@ msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!"
msgid "Example Application"
msgstr "¼ÂÎã±þÍÑ"
+#: hello.ui:33
+msgid "Update text"
+msgstr "¥Æ¥­¥¹¥È¤ò¹¹¿·"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "¥é¥Ù¥ë¤ò¿µ½Å¤Ë°·¤¦¤è¤¦¤ËÀßÄê"
+msgid "Use XML markup"
+msgstr "XML¥Þ¡¼¥¯¥¢¥Ã¥×¤ò»ÈÍÑ"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "¤½¤Î¥é¥Ù¥ë¤ò¿µ½Å¤Ë°·¤¦¤è¤¦¤ËÀßÄꤹ¤ë¤«Èݤ«"
+msgid "Whether to use XML markup in the text."
+msgstr "¥Æ¥­¥¹¥ÈÆâ¤ÇXML¥Þ¡¼¥¯¥¢¥Ã¥×¤ò»È¤¦¤«Èݤ«"
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ky.po b/gettext-tools/examples/hello-c-gnome3/po/ky.po
index 2f3040b..1fb1467 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ky.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ky.po
@@ -17,16 +17,26 @@ msgstr ""
"X-Poedit-Language: Kyrgyz\n"
"X-Poedit-Country: KYRGYZSTAN\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Бул программа %d процеÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð¸ катары иштеп жатат."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Салам дүйнө!"
@@ -34,10 +44,14 @@ msgstr "Салам дүйнө!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/lv.po b/gettext-tools/examples/hello-c-gnome3/po/lv.po
index f6dd73a..2ef9cff 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/lv.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/lv.po
@@ -19,16 +19,26 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Å Ä« programma darbojas kÄ process ar numuru %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Sveika, pasaule!"
@@ -36,10 +46,14 @@ msgstr "Sveika, pasaule!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ms.po b/gettext-tools/examples/hello-c-gnome3/po/ms.po
index 540acc3..f9da7ee 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ms.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ms.po
@@ -1,42 +1,59 @@
# hello-c-gnome3 Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c-gnome3 package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.15-pre5\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Program ini dilaksanakan sebagai proses bernombor %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hello dunia!</big>\n"
+"Program ini dilaksanakan sebagai proses bernombor <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ini adalah teks lain</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ini adalah satu lagi teks lain</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hello"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hello, world!"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Contoh Aplikasi"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "Kemaskini teks"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Guna penanda XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Sama ada untuk menggunakan penanda XML dalam teks."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/mt.po b/gettext-tools/examples/hello-c-gnome3/po/mt.po
index 0e2421d..18eaf25 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/mt.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/mt.po
@@ -16,16 +16,26 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-3\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hello, lil kulħadd!"
@@ -33,10 +43,14 @@ msgstr "Hello, lil kulħadd!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/nb.po b/gettext-tools/examples/hello-c-gnome3/po/nb.po
index 27ec65e..e2dd741 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/nb.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,18 +16,30 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Dette programmet kjører som prosess nummer %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hello world!</big>\n"
+"Dette programmet kjører som prosess nummer <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dette er en annen tekst</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Dette er enda en tekst</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hallo"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hallo verden!"
@@ -35,10 +47,14 @@ msgstr "Hallo verden!"
msgid "Example Application"
msgstr "Eksempelprogram"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Oppdater tekst"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Bruk XML-formatering"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Om det skal bruke XML-formatering i teksten"
diff --git a/gettext-tools/examples/hello-c-gnome3/po/nl.po b/gettext-tools/examples/hello-c-gnome3/po/nl.po
index 7aa4025..0612d09 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/nl.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c-gnome3.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3-0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome3-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -20,16 +21,28 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Dit programma draait als proces nummer %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hallo wereld!</big>\n"
+"Dit programma draait als proces nummer <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dit is een andere tekst</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Dit is nog weer een andere tekst</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hallo"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hallo, wereld!"
@@ -37,10 +50,14 @@ msgstr "Hallo, wereld!"
msgid "Example Application"
msgstr "Voorbeeldtoepassing"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Tekst bijwerken"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "XML-markup gebruiken"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Of er XML-markup gebruikt moet worden in de tekst."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/pl.po b/gettext-tools/examples/hello-c-gnome3/po/pl.po
index 09d9cc7..ccdb327 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/pl.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c-gnome3 domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -16,16 +16,28 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Ten program działa jako proces o numerze %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Cześć, świecie!</big>\n"
+"Ten program działa jako proces o numerze %d."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>To jest inny tekst</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>To jest jeszcze inny tekst</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Cześć"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Cześć, świecie!"
@@ -33,10 +45,14 @@ msgstr "Cześć, świecie!"
msgid "Example Application"
msgstr "Program przykładowy"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Aktualizacja tekstu"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Ustawienie interpretacji etykiet"
+msgid "Use XML markup"
+msgstr "Użycie znaczników XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Czy ustawić interpretację etykiet."
+msgid "Whether to use XML markup in the text."
+msgstr "Czy użyć znaczników XML w tekście."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/pt.po b/gettext-tools/examples/hello-c-gnome3/po/pt.po
index 163d4ea..17c4477 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/pt.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/pt.po
@@ -15,16 +15,26 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Este programa está a ser executado com o número de processo %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Olá, Mundo!"
@@ -32,10 +42,14 @@ msgstr "Olá, Mundo!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/pt_BR.po b/gettext-tools/examples/hello-c-gnome3/po/pt_BR.po
index 7767f8a..3ae97d5 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
@@ -19,16 +19,28 @@ msgstr ""
"X-Generator: Poedit 1.6.11\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Este programa está executando com número de processo %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Olá mundo!</big>\n"
+"Este programa está executando com número de processo <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Este é outro texto</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Este também é outro texto</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Olá"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Olá, mundo!"
@@ -36,10 +48,14 @@ msgstr "Olá, mundo!"
msgid "Example Application"
msgstr "Aplicativo exemplo"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Atualizar texto"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Definir sensibilidade a rótulo"
+msgid "Use XML markup"
+msgstr "Usar marcação XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Se esta ação é sensível a rótulo ou não."
+msgid "Whether to use XML markup in the text."
+msgstr "Se deve ser usada marcação XML no texto."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ro.po b/gettext-tools/examples/hello-c-gnome3/po/ro.po
index d834113..95f466b 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ro.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ro.po
@@ -1,41 +1,61 @@
-# Mesajele în limba românã pentru pachetul hello-c-gnome3-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c-gnome3.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c-gnome3.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.13-pre1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Salut lume!</big>\n"
+"Acest program rulează ca procesul numărul <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Acesta este un alt text</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Acesta este încă un alt text</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hello"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Exemplu de aplicație"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "Actualizează text"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Folosește marcaj XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Dacă se folosește marcaj XML în text."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/ru.po b/gettext-tools/examples/hello-c-gnome3/po/ru.po
index 2e4439f..88852aa 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/ru.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
@@ -19,16 +19,28 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Эта программа выполнÑетÑÑ ÐºÐ°Ðº процеÑÑ Ð¿Ð¾Ð´ номером %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>ЗдравÑтвуй, мир!</big>\n"
+"Эта программа выполнÑетÑÑ ÐºÐ°Ðº процеÑÑ Ð¿Ð¾Ð´ номером <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ещё один текÑÑ‚</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>И ещё один текÑÑ‚</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "ЗдравÑтвуйте"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "ЗдравÑтвуй, мир!"
@@ -36,10 +48,14 @@ msgstr "ЗдравÑтвуй, мир!"
msgid "Example Application"
msgstr "Пример приложениÑ"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Обновить текÑÑ‚"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "ЧувÑтвительноÑÑ‚ÑŒ значка"
+msgid "Use XML markup"
+msgstr "ИÑпользовать разметку XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Задаёт чувÑтвительноÑÑ‚ÑŒ значка."
+msgid "Whether to use XML markup in the text."
+msgstr "Учитывать ли в текÑте разметку XML."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/sk.po b/gettext-tools/examples/hello-c-gnome3/po/sk.po
index 121598d..f442c70 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/sk.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
@@ -15,16 +15,28 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Tento program beží ako proces s Äíslom %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Ahoj svet!</big>\n"
+"Tento program beží ako proces s Äíslom <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Toto je Äalší text</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><u>Toto je eÅ¡te Äalší text</u></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Ahoj"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Ahoj svet!"
@@ -32,10 +44,14 @@ msgstr "Ahoj svet!"
msgid "Example Application"
msgstr "Ukážková aplikácia"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Aktualizovať text"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Nastaviť titulok ako citlivý"
+msgid "Use XML markup"
+msgstr "PoužiÅ¥ znaÄky XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Či nastaviť titulok ako citlivý."
+msgid "Whether to use XML markup in the text."
+msgstr "ÄŒi v texte použiÅ¥ znaÄky XML."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/sl.po b/gettext-tools/examples/hello-c-gnome3/po/sl.po
index 76fa84a..c19bf4d 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/sl.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c-gnome3-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c-gnome3-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
@@ -18,16 +18,28 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Ta program teÄe kot proces Å¡tevilka %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Pozdravljen, svet!</big>\n"
+"Ta program teÄe kot proces Å¡tevilka <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>PodÄrtano besedilo</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Besedilo v kurzivi</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Zdravo"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Pozdravljen, svet!"
@@ -35,10 +47,14 @@ msgstr "Pozdravljen, svet!"
msgid "Example Application"
msgstr "Zgled aplikacije"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Posodobi besedilo"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Nastavi oznako kot obÄutljivo"
+msgid "Use XML markup"
+msgstr "Uporabi oznake XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Ali naj nastavimo oznako kot obÄutljivo"
+msgid "Whether to use XML markup in the text."
+msgstr "Ali naj bodo v besedilu uporabljene oznake XML."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/sr.po b/gettext-tools/examples/hello-c-gnome3/po/sr.po
index 1740de0..36bc8bf 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/sr.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3-0.19-rc1\n"
+"Project-Id-Version: hello-c-gnome3-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,18 +16,29 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾Ñ˜ %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Здраво Ñвима!</big>\n"
+"Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾Ñ˜ <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ово је још један текÑÑ‚</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Богами и ово је још један текÑÑ‚</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Здраво"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Здраво Ñвима!"
@@ -35,10 +46,14 @@ msgstr "Здраво Ñвима!"
msgid "Example Application"
msgstr "Програм примера"
+#: hello.ui:33
+msgid "Update text"
+msgstr "ÐžÐ¿Ð¸Ñ Ð°Ð¶ÑƒÑ€Ð¸Ñ€Ð°ÑšÐ°"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "КориÑти ИкÑМЛ означавање"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Да ли ће да кориÑти ИкÑМЛ означавање у текÑту."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/sv.po b/gettext-tools/examples/hello-c-gnome3/po/sv.po
index 0939fe1..1bb9f65 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/sv.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/sv.po
@@ -14,16 +14,26 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Detta program kör som process nummer %d."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Hej"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Hej världen!"
@@ -31,10 +41,14 @@ msgstr "Hej världen!"
msgid "Example Application"
msgstr "Exempelprogram"
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Sätt etikett aktiv"
+msgid "Use XML markup"
+msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Om etikett ska sättas aktiv"
+msgid "Whether to use XML markup in the text."
+msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/tr.po b/gettext-tools/examples/hello-c-gnome3/po/tr.po
index 3b6ebbe..9b571f6 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/tr.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/tr.po
@@ -15,16 +15,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor."
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Merhaba Dünyalı!"
@@ -32,10 +42,14 @@ msgstr "Merhaba Dünyalı!"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/uk.po b/gettext-tools/examples/hello-c-gnome3/po/uk.po
index e30ac6f..5824cce 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/uk.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -19,16 +19,28 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.5\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° виконуєтьÑÑ Ñк Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· номером %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Вітаємо!</big>\n"
+"Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° виконуєтьÑÑ Ñк Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· номером <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Інший фрагмент текÑту</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ще ÑкийÑÑŒ фрагмент текÑту</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Привіт"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Привіт, Ñвіте!"
@@ -36,10 +48,14 @@ msgstr "Привіт, Ñвіте!"
msgid "Example Application"
msgstr "Програма-приклад"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Оновити текÑÑ‚"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Зробити мітку чутливою"
+msgid "Use XML markup"
+msgstr "ВикориÑтати розмітку XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Чи Ñлід робити мітку чутливою."
+msgid "Whether to use XML markup in the text."
+msgstr "Визначає, чи Ñлід викориÑтовувати розмітку XML у текÑÑ‚Ñ–."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/vi.po b/gettext-tools/examples/hello-c-gnome3/po/vi.po
index 17305cd..ead0772 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/vi.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.19.4-rc1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,17 +19,30 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "Chương trình này đang chạy với mã số tiến trình %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Chào thế giới!</big>\n"
+"Chương trình này đang chạy với mã số tiến trình <b>%d</b>."
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Äây là văn bản khác</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Äây là văn bản khác nữa</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
msgstr "Chào"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "Chào thế giới!"
@@ -37,10 +50,14 @@ msgstr "Chào thế giới!"
msgid "Example Application"
msgstr "Ứng dụng mẫu"
+#: hello.ui:33
+msgid "Update text"
+msgstr "Văn bản cập nhật"
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Äặt phân biệt nhãn"
+msgid "Use XML markup"
+msgstr "Dùng đánh dấu XML"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Có đặt phân biệt nhãn hay không."
+msgid "Whether to use XML markup in the text."
+msgstr "Có dùng đánh dấu XML trong văn bản hay không."
diff --git a/gettext-tools/examples/hello-c-gnome3/po/zh_CN.po b/gettext-tools/examples/hello-c-gnome3/po/zh_CN.po
index 49e3ce0..46292d7 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/zh_CN.po
@@ -1,41 +1,58 @@
# zh_CN translation for hello-c-gnome3.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c-gnome3 package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.13.1\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "此程åºæ­£ä»¥è¿›ç¨‹å· %d è¿è¡Œã€‚"
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>世界你好ï¼</big>\n"
+"此程åºæ­£ä»¥è¿›ç¨‹å· <b>%d</b> è¿è¡Œã€‚"
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>这是å¦ä¸€æ®µæ–‡æœ¬</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>这还是å¦ä¸€æ®µæ–‡æœ¬</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "世界你好"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "世界你好ï¼"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "示例应用"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "更新文本"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "使用XML 标记语言"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "是å¦åœ¨æ–‡æœ¬ä¸­ä½¿ç”¨XML 标记"
diff --git a/gettext-tools/examples/hello-c-gnome3/po/zh_HK.po b/gettext-tools/examples/hello-c-gnome3/po/zh_HK.po
index 1531f1d..668c7a5 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/zh_HK.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/zh_HK.po
@@ -14,16 +14,26 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
-#, c-format
-msgid "This program is running as process number %d."
+#: hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
msgstr "本程å¼æ­£åœ¨åŸ·è¡Œä¸­ï¼Œé€²ç¨‹ç·¨è™Ÿç‚º %d。"
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "你好ï¼"
@@ -31,10 +41,14 @@ msgstr "你好ï¼"
msgid "Example Application"
msgstr ""
+#: hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/hello-c-gnome3/po/zh_TW.po b/gettext-tools/examples/hello-c-gnome3/po/zh_TW.po
index 76f8da5..a86b97c 100644
--- a/gettext-tools/examples/hello-c-gnome3/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c-gnome3/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-gnome3 0.18\n"
+"Project-Id-Version: hello-c-gnome3 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
@@ -16,27 +16,43 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello.c:70
+#: hello.c:79
#, c-format
-msgid "This program is running as process number %d."
-msgstr "本程å¼æ­£åœ¨åŸ·è¡Œï¼Œè¡Œç¨‹ç·¨è™Ÿç‚º %d。"
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>哈囉,大家好ï¼</big>\n"
+"本程å¼æ­£åœ¨åŸ·è¡Œï¼Œè¡Œç¨‹ç·¨è™Ÿç‚º <b>%d</b>。"
+
+#: hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>這是å¦ä¸€æ®µæ–‡å­—</u></big>"
+
+#: hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>這åˆæ˜¯å¦ä¸€æ®µæ–‡å­—</i></big>"
#: hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "哈囉"
-#: hello.desktop.in.in:5 hello.ui:22
+#: hello.desktop.in.in:5
msgid "Hello, world!"
msgstr "哈囉,大家好ï¼"
#: hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "應用軟體範例"
+
+#: hello.ui:33
+msgid "Update text"
+msgstr "更新文字"
#: hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "使用 XML 標記"
#: hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "是å¦åœ¨æ–‡å­—中使用 XML 標記"
diff --git a/gettext-tools/examples/hello-c/po/bg.po b/gettext-tools/examples/hello-c/po/bg.po
index cebe8ca..adf84d5 100644
--- a/gettext-tools/examples/hello-c/po/bg.po
+++ b/gettext-tools/examples/hello-c/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-c package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c/po/ca.po b/gettext-tools/examples/hello-c/po/ca.po
index d9f864d..1c6f424 100644
--- a/gettext-tools/examples/hello-c/po/ca.po
+++ b/gettext-tools/examples/hello-c/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-c.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19.4-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-c/po/cs.po b/gettext-tools/examples/hello-c/po/cs.po
index 54fa967..1e37b02 100644
--- a/gettext-tools/examples/hello-c/po/cs.po
+++ b/gettext-tools/examples/hello-c/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.18\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-c/po/da.po b/gettext-tools/examples/hello-c/po/da.po
index 609d623..1ed1ce0 100644
--- a/gettext-tools/examples/hello-c/po/da.po
+++ b/gettext-tools/examples/hello-c/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-c.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.18\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.c:30
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.c:31
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-c/po/de.po b/gettext-tools/examples/hello-c/po/de.po
index abca176..88d97aa 100644
--- a/gettext-tools/examples/hello-c/po/de.po
+++ b/gettext-tools/examples/hello-c/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c/po/es.po b/gettext-tools/examples/hello-c/po/es.po
index 1e5a354..e384169 100644
--- a/gettext-tools/examples/hello-c/po/es.po
+++ b/gettext-tools/examples/hello-c/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-0.19.4-rc1\n"
+"Project-Id-Version: hello-c-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-c/po/fi.po b/gettext-tools/examples/hello-c/po/fi.po
index 091b42e..3eff9db 100644
--- a/gettext-tools/examples/hello-c/po/fi.po
+++ b/gettext-tools/examples/hello-c/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.c:30
diff --git a/gettext-tools/examples/hello-c/po/fr.po b/gettext-tools/examples/hello-c/po/fr.po
index 3fcf38f..d464b2f 100644
--- a/gettext-tools/examples/hello-c/po/fr.po
+++ b/gettext-tools/examples/hello-c/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c 0.15-pre5\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c/po/hu.po b/gettext-tools/examples/hello-c/po/hu.po
index 0fa89a7..7a49134 100644
--- a/gettext-tools/examples/hello-c/po/hu.po
+++ b/gettext-tools/examples/hello-c/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.c:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c/po/it.po b/gettext-tools/examples/hello-c/po/it.po
index 480134b..ac5d7e6 100644
--- a/gettext-tools/examples/hello-c/po/it.po
+++ b/gettext-tools/examples/hello-c/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-c.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.15-pre5\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-c/po/ja.po b/gettext-tools/examples/hello-c/po/ja.po
index 288e29e..7529c37 100644
--- a/gettext-tools/examples/hello-c/po/ja.po
+++ b/gettext-tools/examples/hello-c/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-c' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-c/po/ms.po b/gettext-tools/examples/hello-c/po/ms.po
index 5ed1b88..4153807 100644
--- a/gettext-tools/examples/hello-c/po/ms.po
+++ b/gettext-tools/examples/hello-c/po/ms.po
@@ -1,20 +1,21 @@
# hello-c Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.15-pre5\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.c:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c/po/nb.po b/gettext-tools/examples/hello-c/po/nb.po
index 6ac4339..1a8dbb0 100644
--- a/gettext-tools/examples/hello-c/po/nb.po
+++ b/gettext-tools/examples/hello-c/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.c:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c/po/nl.po b/gettext-tools/examples/hello-c/po/nl.po
index a8c4779..f6a8dc9 100644
--- a/gettext-tools/examples/hello-c/po/nl.po
+++ b/gettext-tools/examples/hello-c/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-c.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-0.19-rc1\n"
+"Project-Id-Version: hello-c-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-c/po/pl.po b/gettext-tools/examples/hello-c/po/pl.po
index 5feaa7a..0d1f5bd 100644
--- a/gettext-tools/examples/hello-c/po/pl.po
+++ b/gettext-tools/examples/hello-c/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-c domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-c/po/pt_BR.po b/gettext-tools/examples/hello-c/po/pt_BR.po
index 2245521..a7df4b0 100644
--- a/gettext-tools/examples/hello-c/po/pt_BR.po
+++ b/gettext-tools/examples/hello-c/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19.4-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-c/po/ro.po b/gettext-tools/examples/hello-c/po/ro.po
index 831d849..dacbca9 100644
--- a/gettext-tools/examples/hello-c/po/ro.po
+++ b/gettext-tools/examples/hello-c/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-c-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-c.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.13-pre1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.c:30
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.c:31
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-c/po/ru.po b/gettext-tools/examples/hello-c/po/ru.po
index a22aeda..22ac05d 100644
--- a/gettext-tools/examples/hello-c/po/ru.po
+++ b/gettext-tools/examples/hello-c/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19.4-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-c/po/sk.po b/gettext-tools/examples/hello-c/po/sk.po
index 0eff887..a59d41b 100644
--- a/gettext-tools/examples/hello-c/po/sk.po
+++ b/gettext-tools/examples/hello-c/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-c 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-c/po/sl.po b/gettext-tools/examples/hello-c/po/sl.po
index 8bded5e..9104421 100644
--- a/gettext-tools/examples/hello-c/po/sl.po
+++ b/gettext-tools/examples/hello-c/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-c-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-c-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19.4-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-c/po/sr.po b/gettext-tools/examples/hello-c/po/sr.po
index 0b08fe5..5127b11 100644
--- a/gettext-tools/examples/hello-c/po/sr.po
+++ b/gettext-tools/examples/hello-c/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c-0.19-rc1\n"
+"Project-Id-Version: hello-c-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.c:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c/po/uk.po b/gettext-tools/examples/hello-c/po/uk.po
index 6193c1d..2b44191 100644
--- a/gettext-tools/examples/hello-c/po/uk.po
+++ b/gettext-tools/examples/hello-c/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19.4-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-c/po/vi.po b/gettext-tools/examples/hello-c/po/vi.po
index 1cfa569..a03b78b 100644
--- a/gettext-tools/examples/hello-c/po/vi.po
+++ b/gettext-tools/examples/hello-c/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.19.4-rc1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.c:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-c/po/zh_CN.po b/gettext-tools/examples/hello-c/po/zh_CN.po
index 95d32ef..2139eb0 100644
--- a/gettext-tools/examples/hello-c/po/zh_CN.po
+++ b/gettext-tools/examples/hello-c/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-c.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-c package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.13.1\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-c/po/zh_TW.po b/gettext-tools/examples/hello-c/po/zh_TW.po
index 9340c67..54eb0d5 100644
--- a/gettext-tools/examples/hello-c/po/zh_TW.po
+++ b/gettext-tools/examples/hello-c/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-c 0.18\n"
+"Project-Id-Version: hello-c 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-clisp/po/bg.po b/gettext-tools/examples/hello-clisp/po/bg.po
index c05d11b..d9738b8 100644
--- a/gettext-tools/examples/hello-clisp/po/bg.po
+++ b/gettext-tools/examples/hello-clisp/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-clisp package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-clisp/po/ca.po b/gettext-tools/examples/hello-clisp/po/ca.po
index 9439c24..c6f0d63 100644
--- a/gettext-tools/examples/hello-clisp/po/ca.po
+++ b/gettext-tools/examples/hello-clisp/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-clisp.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-clisp/po/cs.po b/gettext-tools/examples/hello-clisp/po/cs.po
index 427a2c1..aa7fb5b 100644
--- a/gettext-tools/examples/hello-clisp/po/cs.po
+++ b/gettext-tools/examples/hello-clisp/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.18\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-clisp/po/da.po b/gettext-tools/examples/hello-clisp/po/da.po
index d78900a..e5d029c 100644
--- a/gettext-tools/examples/hello-clisp/po/da.po
+++ b/gettext-tools/examples/hello-clisp/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-clisp.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.18\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.lisp.in:11
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.lisp.in:13
#, lisp-format
msgid "This program is running as process number ~D."
-msgstr "Dette program kører som proces nummer ~D."
+msgstr "Dette program kører som proces nummer ~D."
diff --git a/gettext-tools/examples/hello-clisp/po/de.po b/gettext-tools/examples/hello-clisp/po/de.po
index d6d8558..d618ba4 100644
--- a/gettext-tools/examples/hello-clisp/po/de.po
+++ b/gettext-tools/examples/hello-clisp/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-clisp/po/es.po b/gettext-tools/examples/hello-clisp/po/es.po
index b38b32b..3417402 100644
--- a/gettext-tools/examples/hello-clisp/po/es.po
+++ b/gettext-tools/examples/hello-clisp/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp-0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-clisp/po/fi.po b/gettext-tools/examples/hello-clisp/po/fi.po
index 2133b45..444d921 100644
--- a/gettext-tools/examples/hello-clisp/po/fi.po
+++ b/gettext-tools/examples/hello-clisp/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.lisp.in:11
diff --git a/gettext-tools/examples/hello-clisp/po/fr.po b/gettext-tools/examples/hello-clisp/po/fr.po
index 0876369..ea83664 100644
--- a/gettext-tools/examples/hello-clisp/po/fr.po
+++ b/gettext-tools/examples/hello-clisp/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-clisp 0.15-pre5\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-clisp/po/hu.po b/gettext-tools/examples/hello-clisp/po/hu.po
index db8fa0f..16a4513 100644
--- a/gettext-tools/examples/hello-clisp/po/hu.po
+++ b/gettext-tools/examples/hello-clisp/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.lisp.in:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-clisp/po/it.po b/gettext-tools/examples/hello-clisp/po/it.po
index 49b95af..61b9a58 100644
--- a/gettext-tools/examples/hello-clisp/po/it.po
+++ b/gettext-tools/examples/hello-clisp/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-clisp.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.15-pre5\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-clisp/po/ja.po b/gettext-tools/examples/hello-clisp/po/ja.po
index d5790df..5ca1e5b 100644
--- a/gettext-tools/examples/hello-clisp/po/ja.po
+++ b/gettext-tools/examples/hello-clisp/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-clisp' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-clisp/po/ms.po b/gettext-tools/examples/hello-clisp/po/ms.po
index 790b1a4..f94b767 100644
--- a/gettext-tools/examples/hello-clisp/po/ms.po
+++ b/gettext-tools/examples/hello-clisp/po/ms.po
@@ -1,20 +1,21 @@
# hello-clisp Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-clisp package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.15-pre5\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.lisp.in:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-clisp/po/nb.po b/gettext-tools/examples/hello-clisp/po/nb.po
index 57dc898..ceeb610 100644
--- a/gettext-tools/examples/hello-clisp/po/nb.po
+++ b/gettext-tools/examples/hello-clisp/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.lisp.in:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-clisp/po/nl.po b/gettext-tools/examples/hello-clisp/po/nl.po
index f08d3f5..35433b4 100644
--- a/gettext-tools/examples/hello-clisp/po/nl.po
+++ b/gettext-tools/examples/hello-clisp/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-clisp.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp-0.19-rc1\n"
+"Project-Id-Version: hello-clisp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-clisp/po/pl.po b/gettext-tools/examples/hello-clisp/po/pl.po
index 41c066b..b1ef70d 100644
--- a/gettext-tools/examples/hello-clisp/po/pl.po
+++ b/gettext-tools/examples/hello-clisp/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-clisp domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-clisp/po/pt_BR.po b/gettext-tools/examples/hello-clisp/po/pt_BR.po
index ab72d0a..b3fce5e 100644
--- a/gettext-tools/examples/hello-clisp/po/pt_BR.po
+++ b/gettext-tools/examples/hello-clisp/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-clisp/po/ro.po b/gettext-tools/examples/hello-clisp/po/ro.po
index 626018e..9ced550 100644
--- a/gettext-tools/examples/hello-clisp/po/ro.po
+++ b/gettext-tools/examples/hello-clisp/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-clisp-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-clisp.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-clisp.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.13-pre1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.lisp.in:11
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.lisp.in:13
#, lisp-format
msgid "This program is running as process number ~D."
-msgstr "Acest program este rulat ca procesul numãrul ~D."
+msgstr "Acest program rulează ca procesul numărul ~D."
diff --git a/gettext-tools/examples/hello-clisp/po/ru.po b/gettext-tools/examples/hello-clisp/po/ru.po
index e31c4e1..d1c44a0 100644
--- a/gettext-tools/examples/hello-clisp/po/ru.po
+++ b/gettext-tools/examples/hello-clisp/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-clisp/po/sk.po b/gettext-tools/examples/hello-clisp/po/sk.po
index 32489b3..3be1117 100644
--- a/gettext-tools/examples/hello-clisp/po/sk.po
+++ b/gettext-tools/examples/hello-clisp/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-clisp/po/sl.po b/gettext-tools/examples/hello-clisp/po/sl.po
index 4bedc15..55dcee0 100644
--- a/gettext-tools/examples/hello-clisp/po/sl.po
+++ b/gettext-tools/examples/hello-clisp/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-clisp-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-clisp-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-clisp/po/sr.po b/gettext-tools/examples/hello-clisp/po/sr.po
index afb95ac..66b474a 100644
--- a/gettext-tools/examples/hello-clisp/po/sr.po
+++ b/gettext-tools/examples/hello-clisp/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp-0.19-rc1\n"
+"Project-Id-Version: hello-clisp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.lisp.in:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-clisp/po/uk.po b/gettext-tools/examples/hello-clisp/po/uk.po
index ebbae18..c506a60 100644
--- a/gettext-tools/examples/hello-clisp/po/uk.po
+++ b/gettext-tools/examples/hello-clisp/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-clisp/po/vi.po b/gettext-tools/examples/hello-clisp/po/vi.po
index 45dd500..c7a2e16 100644
--- a/gettext-tools/examples/hello-clisp/po/vi.po
+++ b/gettext-tools/examples/hello-clisp/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.19.4-rc1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.lisp.in:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-clisp/po/zh_CN.po b/gettext-tools/examples/hello-clisp/po/zh_CN.po
index 925927f..3a1a34c 100644
--- a/gettext-tools/examples/hello-clisp/po/zh_CN.po
+++ b/gettext-tools/examples/hello-clisp/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-clisp.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-clisp package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.13.1\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-clisp/po/zh_TW.po b/gettext-tools/examples/hello-clisp/po/zh_TW.po
index 91e9e97..a788fa1 100644
--- a/gettext-tools/examples/hello-clisp/po/zh_TW.po
+++ b/gettext-tools/examples/hello-clisp/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-clisp 0.18\n"
+"Project-Id-Version: hello-clisp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/README b/gettext-tools/examples/hello-csharp-forms/README
index 5756710..f2d8b67 100644
--- a/gettext-tools/examples/hello-csharp-forms/README
+++ b/gettext-tools/examples/hello-csharp-forms/README
@@ -78,4 +78,4 @@ Instead one uses intermediate containers for the purpose of alignment.)
Acknowledgement: This preface borrows ideas from an article of Luke Plant.
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2006, 2015 Free Software Foundation, Inc.
diff --git a/gettext-tools/examples/hello-csharp-forms/po/bg.po b/gettext-tools/examples/hello-csharp-forms/po/bg.po
index aa76859..caefbf0 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/bg.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-csharp-forms package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ca.po b/gettext-tools/examples/hello-csharp-forms/po/ca.po
index e2de2fa..2400915 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/ca.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-csharp-forms.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/cs.po b/gettext-tools/examples/hello-csharp-forms/po/cs.po
index a9009ee..eef8838 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/cs.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.18\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/da.po b/gettext-tools/examples/hello-csharp-forms/po/da.po
index 384cba3..eb7c123 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/da.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-csharp-forms.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.18\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cs:29
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.cs:36
#, csharp-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/de.po b/gettext-tools/examples/hello-csharp-forms/po/de.po
index 4f9a156..d799cf1 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/de.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/es.po b/gettext-tools/examples/hello-csharp-forms/po/es.po
index de2abe7..bdd0955 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/es.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms-0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/fi.po b/gettext-tools/examples/hello-csharp-forms/po/fi.po
index 27a4211..3aa8c55 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/fi.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.cs:29
diff --git a/gettext-tools/examples/hello-csharp-forms/po/fr.po b/gettext-tools/examples/hello-csharp-forms/po/fr.po
index b0eca21..58d425e 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/fr.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp-forms 0.15-pre5\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/hu.po b/gettext-tools/examples/hello-csharp-forms/po/hu.po
index 9d93d3b..344138e 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/hu.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cs:29
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/it.po b/gettext-tools/examples/hello-csharp-forms/po/it.po
index e94aa80..9973916 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/it.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-csharp-forms.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.15-pre5\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ja.po b/gettext-tools/examples/hello-csharp-forms/po/ja.po
index 8b35557..73449ad 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/ja.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-csharp-forms' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ms.po b/gettext-tools/examples/hello-csharp-forms/po/ms.po
index 99bcb6f..c5a175d 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/ms.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/ms.po
@@ -1,20 +1,21 @@
# hello-csharp-forms Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-csharp-forms package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.15-pre5\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cs:29
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/nb.po b/gettext-tools/examples/hello-csharp-forms/po/nb.po
index 0ad26f3..f945739 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/nb.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cs:29
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/nl.po b/gettext-tools/examples/hello-csharp-forms/po/nl.po
index 291e009..d1cf4a5 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/nl.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-csharp-forms.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms-0.19-rc1\n"
+"Project-Id-Version: hello-csharp-forms-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/pl.po b/gettext-tools/examples/hello-csharp-forms/po/pl.po
index d0962d7..3a79c99 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/pl.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-csharp-forms domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/pt_BR.po b/gettext-tools/examples/hello-csharp-forms/po/pt_BR.po
index f349aeb..d6a5582 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/pt_BR.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ro.po b/gettext-tools/examples/hello-csharp-forms/po/ro.po
index efb5cea..5bc35e2 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/ro.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-csharp-forms-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-csharp-forms.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-csharp-forms.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.13-pre1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cs:29
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.cs:36
#, csharp-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ru.po b/gettext-tools/examples/hello-csharp-forms/po/ru.po
index 993130c..0f7e0be 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/ru.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/sk.po b/gettext-tools/examples/hello-csharp-forms/po/sk.po
index 6e16dcc..72d2fe4 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/sk.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/sl.po b/gettext-tools/examples/hello-csharp-forms/po/sl.po
index 2e2bbda..7b57733 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/sl.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-csharp-forms-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-csharp-forms-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/sr.po b/gettext-tools/examples/hello-csharp-forms/po/sr.po
index 4a0d0d2..3fa3220 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/sr.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms-0.19-rc1\n"
+"Project-Id-Version: hello-csharp-forms-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cs:29
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/uk.po b/gettext-tools/examples/hello-csharp-forms/po/uk.po
index 2d1e634..ffb6286 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/uk.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/vi.po b/gettext-tools/examples/hello-csharp-forms/po/vi.po
index 50ba22b..5ea14b8 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/vi.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cs:29
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/zh_CN.po b/gettext-tools/examples/hello-csharp-forms/po/zh_CN.po
index d5f965a..715af80 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/zh_CN.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-csharp-forms.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-csharp-forms package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.13.1\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp-forms/po/zh_TW.po b/gettext-tools/examples/hello-csharp-forms/po/zh_TW.po
index 0263898..8e81c88 100644
--- a/gettext-tools/examples/hello-csharp-forms/po/zh_TW.po
+++ b/gettext-tools/examples/hello-csharp-forms/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-forms 0.18\n"
+"Project-Id-Version: hello-csharp-forms 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-csharp/po/bg.po b/gettext-tools/examples/hello-csharp/po/bg.po
index d325c88..96442c6 100644
--- a/gettext-tools/examples/hello-csharp/po/bg.po
+++ b/gettext-tools/examples/hello-csharp/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-csharp package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp/po/ca.po b/gettext-tools/examples/hello-csharp/po/ca.po
index b38cb6d..e59e9c4 100644
--- a/gettext-tools/examples/hello-csharp/po/ca.po
+++ b/gettext-tools/examples/hello-csharp/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-csharp.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-csharp/po/cs.po b/gettext-tools/examples/hello-csharp/po/cs.po
index 2828b43..4afcc5d 100644
--- a/gettext-tools/examples/hello-csharp/po/cs.po
+++ b/gettext-tools/examples/hello-csharp/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.18\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-csharp/po/da.po b/gettext-tools/examples/hello-csharp/po/da.po
index 7dc1682..834cc1f 100644
--- a/gettext-tools/examples/hello-csharp/po/da.po
+++ b/gettext-tools/examples/hello-csharp/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-csharp.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.18\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.cs:14
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.cs:17
#, csharp-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
diff --git a/gettext-tools/examples/hello-csharp/po/de.po b/gettext-tools/examples/hello-csharp/po/de.po
index 18cbdb5..28dae52 100644
--- a/gettext-tools/examples/hello-csharp/po/de.po
+++ b/gettext-tools/examples/hello-csharp/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp/po/es.po b/gettext-tools/examples/hello-csharp/po/es.po
index 9c073ba..021022f 100644
--- a/gettext-tools/examples/hello-csharp/po/es.po
+++ b/gettext-tools/examples/hello-csharp/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-csharp/po/fi.po b/gettext-tools/examples/hello-csharp/po/fi.po
index 4842d10..f90096f 100644
--- a/gettext-tools/examples/hello-csharp/po/fi.po
+++ b/gettext-tools/examples/hello-csharp/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.cs:14
diff --git a/gettext-tools/examples/hello-csharp/po/fr.po b/gettext-tools/examples/hello-csharp/po/fr.po
index 0196c19..a574836 100644
--- a/gettext-tools/examples/hello-csharp/po/fr.po
+++ b/gettext-tools/examples/hello-csharp/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp 0.15-pre5\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp/po/hu.po b/gettext-tools/examples/hello-csharp/po/hu.po
index e650d35..2c4dfd8 100644
--- a/gettext-tools/examples/hello-csharp/po/hu.po
+++ b/gettext-tools/examples/hello-csharp/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.cs:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp/po/it.po b/gettext-tools/examples/hello-csharp/po/it.po
index 35f087b..5de8b99 100644
--- a/gettext-tools/examples/hello-csharp/po/it.po
+++ b/gettext-tools/examples/hello-csharp/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-csharp.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.15-pre5\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-csharp/po/ja.po b/gettext-tools/examples/hello-csharp/po/ja.po
index 731b6fb..a8ac32c 100644
--- a/gettext-tools/examples/hello-csharp/po/ja.po
+++ b/gettext-tools/examples/hello-csharp/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-csharp' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-csharp/po/ms.po b/gettext-tools/examples/hello-csharp/po/ms.po
index 21a0a8b..e6b8ab3 100644
--- a/gettext-tools/examples/hello-csharp/po/ms.po
+++ b/gettext-tools/examples/hello-csharp/po/ms.po
@@ -1,20 +1,21 @@
# hello-csharp Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-csharp package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.15-pre5\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cs:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp/po/nb.po b/gettext-tools/examples/hello-csharp/po/nb.po
index 4ef8f85..1949377 100644
--- a/gettext-tools/examples/hello-csharp/po/nb.po
+++ b/gettext-tools/examples/hello-csharp/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.cs:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp/po/nl.po b/gettext-tools/examples/hello-csharp/po/nl.po
index 8e7dfb6..662ee45 100644
--- a/gettext-tools/examples/hello-csharp/po/nl.po
+++ b/gettext-tools/examples/hello-csharp/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-csharp.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-0.19-rc1\n"
+"Project-Id-Version: hello-csharp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-csharp/po/pl.po b/gettext-tools/examples/hello-csharp/po/pl.po
index 1751766..4aab920 100644
--- a/gettext-tools/examples/hello-csharp/po/pl.po
+++ b/gettext-tools/examples/hello-csharp/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-csharp domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-csharp/po/pt_BR.po b/gettext-tools/examples/hello-csharp/po/pt_BR.po
index 4f4c3f1..519f126 100644
--- a/gettext-tools/examples/hello-csharp/po/pt_BR.po
+++ b/gettext-tools/examples/hello-csharp/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-csharp/po/ro.po b/gettext-tools/examples/hello-csharp/po/ro.po
index 01c12b6..3ebf2ea 100644
--- a/gettext-tools/examples/hello-csharp/po/ro.po
+++ b/gettext-tools/examples/hello-csharp/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-csharp-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-csharp.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-csharp.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.13-pre1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.cs:14
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.cs:17
#, csharp-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
diff --git a/gettext-tools/examples/hello-csharp/po/ru.po b/gettext-tools/examples/hello-csharp/po/ru.po
index 7984c04..111fe37 100644
--- a/gettext-tools/examples/hello-csharp/po/ru.po
+++ b/gettext-tools/examples/hello-csharp/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-csharp/po/sk.po b/gettext-tools/examples/hello-csharp/po/sk.po
index 45b5107..5da4ae8 100644
--- a/gettext-tools/examples/hello-csharp/po/sk.po
+++ b/gettext-tools/examples/hello-csharp/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-csharp/po/sl.po b/gettext-tools/examples/hello-csharp/po/sl.po
index 39b6b5b..ea76382 100644
--- a/gettext-tools/examples/hello-csharp/po/sl.po
+++ b/gettext-tools/examples/hello-csharp/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-csharp-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-csharp-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-csharp/po/sr.po b/gettext-tools/examples/hello-csharp/po/sr.po
index e084216..96def07 100644
--- a/gettext-tools/examples/hello-csharp/po/sr.po
+++ b/gettext-tools/examples/hello-csharp/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp-0.19-rc1\n"
+"Project-Id-Version: hello-csharp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.cs:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp/po/uk.po b/gettext-tools/examples/hello-csharp/po/uk.po
index 18f8d7b..61dc559 100644
--- a/gettext-tools/examples/hello-csharp/po/uk.po
+++ b/gettext-tools/examples/hello-csharp/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-csharp/po/vi.po b/gettext-tools/examples/hello-csharp/po/vi.po
index c3dde2a..49aaa23 100644
--- a/gettext-tools/examples/hello-csharp/po/vi.po
+++ b/gettext-tools/examples/hello-csharp/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.19.4-rc1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.cs:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-csharp/po/zh_CN.po b/gettext-tools/examples/hello-csharp/po/zh_CN.po
index edccbbf..54f2a5a 100644
--- a/gettext-tools/examples/hello-csharp/po/zh_CN.po
+++ b/gettext-tools/examples/hello-csharp/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-csharp.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-csharp package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.13.1\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-csharp/po/zh_TW.po b/gettext-tools/examples/hello-csharp/po/zh_TW.po
index 49ce670..faca131 100644
--- a/gettext-tools/examples/hello-csharp/po/zh_TW.po
+++ b/gettext-tools/examples/hello-csharp/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-csharp 0.18\n"
+"Project-Id-Version: hello-csharp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-gawk/po/bg.po b/gettext-tools/examples/hello-gawk/po/bg.po
index 0afab9c..5b00d00 100644
--- a/gettext-tools/examples/hello-gawk/po/bg.po
+++ b/gettext-tools/examples/hello-gawk/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-gawk package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-gawk/po/ca.po b/gettext-tools/examples/hello-gawk/po/ca.po
index a532511..baccc13 100644
--- a/gettext-tools/examples/hello-gawk/po/ca.po
+++ b/gettext-tools/examples/hello-gawk/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-gawk.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-gawk/po/cs.po b/gettext-tools/examples/hello-gawk/po/cs.po
index 394eba6..916c200 100644
--- a/gettext-tools/examples/hello-gawk/po/cs.po
+++ b/gettext-tools/examples/hello-gawk/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.18\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-gawk/po/da.po b/gettext-tools/examples/hello-gawk/po/da.po
index 2dca605..a7ed0f9 100644
--- a/gettext-tools/examples/hello-gawk/po/da.po
+++ b/gettext-tools/examples/hello-gawk/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-gawk.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.18\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.awk:11
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.awk:12
#, awk-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-gawk/po/de.po b/gettext-tools/examples/hello-gawk/po/de.po
index 5b9902b..fde0213 100644
--- a/gettext-tools/examples/hello-gawk/po/de.po
+++ b/gettext-tools/examples/hello-gawk/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-gawk/po/es.po b/gettext-tools/examples/hello-gawk/po/es.po
index 405e87c..e99435c 100644
--- a/gettext-tools/examples/hello-gawk/po/es.po
+++ b/gettext-tools/examples/hello-gawk/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk-0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-gawk/po/fi.po b/gettext-tools/examples/hello-gawk/po/fi.po
index 7870fa2..a0e7d9c 100644
--- a/gettext-tools/examples/hello-gawk/po/fi.po
+++ b/gettext-tools/examples/hello-gawk/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.awk:11
diff --git a/gettext-tools/examples/hello-gawk/po/fr.po b/gettext-tools/examples/hello-gawk/po/fr.po
index f83e663..e6260ab 100644
--- a/gettext-tools/examples/hello-gawk/po/fr.po
+++ b/gettext-tools/examples/hello-gawk/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-gawk 0.15-pre5\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-gawk/po/hu.po b/gettext-tools/examples/hello-gawk/po/hu.po
index b678b12..64d3463 100644
--- a/gettext-tools/examples/hello-gawk/po/hu.po
+++ b/gettext-tools/examples/hello-gawk/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.awk:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-gawk/po/it.po b/gettext-tools/examples/hello-gawk/po/it.po
index 058d52f..7be44b4 100644
--- a/gettext-tools/examples/hello-gawk/po/it.po
+++ b/gettext-tools/examples/hello-gawk/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-gawk.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.15-pre5\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-gawk/po/ja.po b/gettext-tools/examples/hello-gawk/po/ja.po
index 7b1e6f2..2d587b4 100644
--- a/gettext-tools/examples/hello-gawk/po/ja.po
+++ b/gettext-tools/examples/hello-gawk/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-gawk' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-gawk/po/ms.po b/gettext-tools/examples/hello-gawk/po/ms.po
index 2b31bd3..d85da5b 100644
--- a/gettext-tools/examples/hello-gawk/po/ms.po
+++ b/gettext-tools/examples/hello-gawk/po/ms.po
@@ -1,20 +1,21 @@
# hello-gawk Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-gawk package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.15-pre5\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.awk:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-gawk/po/nb.po b/gettext-tools/examples/hello-gawk/po/nb.po
index 558359a..d09d009 100644
--- a/gettext-tools/examples/hello-gawk/po/nb.po
+++ b/gettext-tools/examples/hello-gawk/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.awk:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-gawk/po/nl.po b/gettext-tools/examples/hello-gawk/po/nl.po
index 6067829..12a92a2 100644
--- a/gettext-tools/examples/hello-gawk/po/nl.po
+++ b/gettext-tools/examples/hello-gawk/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-gawk.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk-0.19-rc1\n"
+"Project-Id-Version: hello-gawk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-gawk/po/pl.po b/gettext-tools/examples/hello-gawk/po/pl.po
index 0cb21bc..46152dd 100644
--- a/gettext-tools/examples/hello-gawk/po/pl.po
+++ b/gettext-tools/examples/hello-gawk/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-gawk domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-gawk/po/pt_BR.po b/gettext-tools/examples/hello-gawk/po/pt_BR.po
index 247403a..f3e5391 100644
--- a/gettext-tools/examples/hello-gawk/po/pt_BR.po
+++ b/gettext-tools/examples/hello-gawk/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-gawk/po/ro.po b/gettext-tools/examples/hello-gawk/po/ro.po
index 411f4e2..481dff4 100644
--- a/gettext-tools/examples/hello-gawk/po/ro.po
+++ b/gettext-tools/examples/hello-gawk/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-gawk-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-gawk.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-gawk.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.13-pre1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.awk:11
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.awk:12
#, awk-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-gawk/po/ru.po b/gettext-tools/examples/hello-gawk/po/ru.po
index 61bb34a..520ea62 100644
--- a/gettext-tools/examples/hello-gawk/po/ru.po
+++ b/gettext-tools/examples/hello-gawk/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-gawk/po/sk.po b/gettext-tools/examples/hello-gawk/po/sk.po
index bf97bbd..9aee971 100644
--- a/gettext-tools/examples/hello-gawk/po/sk.po
+++ b/gettext-tools/examples/hello-gawk/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-gawk/po/sl.po b/gettext-tools/examples/hello-gawk/po/sl.po
index 7c6fb4b..81789d6 100644
--- a/gettext-tools/examples/hello-gawk/po/sl.po
+++ b/gettext-tools/examples/hello-gawk/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-gawk-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-gawk-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-gawk/po/sr.po b/gettext-tools/examples/hello-gawk/po/sr.po
index 4104ec9..2a113b7 100644
--- a/gettext-tools/examples/hello-gawk/po/sr.po
+++ b/gettext-tools/examples/hello-gawk/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk-0.19-rc1\n"
+"Project-Id-Version: hello-gawk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.awk:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-gawk/po/uk.po b/gettext-tools/examples/hello-gawk/po/uk.po
index ee1d7b4..293e6db 100644
--- a/gettext-tools/examples/hello-gawk/po/uk.po
+++ b/gettext-tools/examples/hello-gawk/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-gawk/po/vi.po b/gettext-tools/examples/hello-gawk/po/vi.po
index e12ff2f..e68f612 100644
--- a/gettext-tools/examples/hello-gawk/po/vi.po
+++ b/gettext-tools/examples/hello-gawk/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.19.4-rc1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.awk:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-gawk/po/zh_CN.po b/gettext-tools/examples/hello-gawk/po/zh_CN.po
index b5c6f27..ee106bf 100644
--- a/gettext-tools/examples/hello-gawk/po/zh_CN.po
+++ b/gettext-tools/examples/hello-gawk/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-gawk.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-gawk package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.13.1\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-gawk/po/zh_TW.po b/gettext-tools/examples/hello-gawk/po/zh_TW.po
index f5c8fca..be74bc7 100644
--- a/gettext-tools/examples/hello-gawk/po/zh_TW.po
+++ b/gettext-tools/examples/hello-gawk/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-gawk 0.18\n"
+"Project-Id-Version: hello-gawk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-guile/po/bg.po b/gettext-tools/examples/hello-guile/po/bg.po
index 60242d3..622ac98 100644
--- a/gettext-tools/examples/hello-guile/po/bg.po
+++ b/gettext-tools/examples/hello-guile/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-guile package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-guile/po/ca.po b/gettext-tools/examples/hello-guile/po/ca.po
index ab4bc13..1edea63 100644
--- a/gettext-tools/examples/hello-guile/po/ca.po
+++ b/gettext-tools/examples/hello-guile/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-guile.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-guile/po/cs.po b/gettext-tools/examples/hello-guile/po/cs.po
index 8aad03e..6f9376a 100644
--- a/gettext-tools/examples/hello-guile/po/cs.po
+++ b/gettext-tools/examples/hello-guile/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.18\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-guile/po/da.po b/gettext-tools/examples/hello-guile/po/da.po
index e5718a0..dbb9df4 100644
--- a/gettext-tools/examples/hello-guile/po/da.po
+++ b/gettext-tools/examples/hello-guile/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-guile.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.18\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.scm:15
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.scm:17
#, scheme-format
msgid "This program is running as process number ~D."
-msgstr "Dette program kører som proces nummer ~D."
+msgstr "Dette program kører som proces nummer ~D."
diff --git a/gettext-tools/examples/hello-guile/po/de.po b/gettext-tools/examples/hello-guile/po/de.po
index b597682..f8da9d3 100644
--- a/gettext-tools/examples/hello-guile/po/de.po
+++ b/gettext-tools/examples/hello-guile/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-guile/po/es.po b/gettext-tools/examples/hello-guile/po/es.po
index 2da09a4..5d9bf6d 100644
--- a/gettext-tools/examples/hello-guile/po/es.po
+++ b/gettext-tools/examples/hello-guile/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile-0.19.4-rc1\n"
+"Project-Id-Version: hello-guile-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-guile/po/fi.po b/gettext-tools/examples/hello-guile/po/fi.po
index 1595d25..6d24a1e 100644
--- a/gettext-tools/examples/hello-guile/po/fi.po
+++ b/gettext-tools/examples/hello-guile/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.scm:15
diff --git a/gettext-tools/examples/hello-guile/po/fr.po b/gettext-tools/examples/hello-guile/po/fr.po
index 2082591..07e19c5 100644
--- a/gettext-tools/examples/hello-guile/po/fr.po
+++ b/gettext-tools/examples/hello-guile/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-guile 0.15-pre5\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-guile/po/hu.po b/gettext-tools/examples/hello-guile/po/hu.po
index 8ceeabe..6c32900 100644
--- a/gettext-tools/examples/hello-guile/po/hu.po
+++ b/gettext-tools/examples/hello-guile/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.scm:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-guile/po/it.po b/gettext-tools/examples/hello-guile/po/it.po
index dba5589..fd6a5d6 100644
--- a/gettext-tools/examples/hello-guile/po/it.po
+++ b/gettext-tools/examples/hello-guile/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-guile.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.15-pre5\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-guile/po/ja.po b/gettext-tools/examples/hello-guile/po/ja.po
index 40fb393..b8e6c11 100644
--- a/gettext-tools/examples/hello-guile/po/ja.po
+++ b/gettext-tools/examples/hello-guile/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-guile' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-guile/po/ms.po b/gettext-tools/examples/hello-guile/po/ms.po
index fe51035..2cbcfc4 100644
--- a/gettext-tools/examples/hello-guile/po/ms.po
+++ b/gettext-tools/examples/hello-guile/po/ms.po
@@ -1,20 +1,21 @@
# hello-guile Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-guile package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.15-pre5\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.scm:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-guile/po/nb.po b/gettext-tools/examples/hello-guile/po/nb.po
index ae6abc7..45bb6e7 100644
--- a/gettext-tools/examples/hello-guile/po/nb.po
+++ b/gettext-tools/examples/hello-guile/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.scm:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-guile/po/nl.po b/gettext-tools/examples/hello-guile/po/nl.po
index ef76dcc..82ecef0 100644
--- a/gettext-tools/examples/hello-guile/po/nl.po
+++ b/gettext-tools/examples/hello-guile/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-guile.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile-0.19-rc1\n"
+"Project-Id-Version: hello-guile-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-guile/po/pl.po b/gettext-tools/examples/hello-guile/po/pl.po
index 6a73007..44745aa 100644
--- a/gettext-tools/examples/hello-guile/po/pl.po
+++ b/gettext-tools/examples/hello-guile/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-guile domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-guile/po/pt_BR.po b/gettext-tools/examples/hello-guile/po/pt_BR.po
index 762dd21..82e6945 100644
--- a/gettext-tools/examples/hello-guile/po/pt_BR.po
+++ b/gettext-tools/examples/hello-guile/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-guile/po/ro.po b/gettext-tools/examples/hello-guile/po/ro.po
index d6eb5c2..4e8ab07 100644
--- a/gettext-tools/examples/hello-guile/po/ro.po
+++ b/gettext-tools/examples/hello-guile/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-guile-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-guile.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-guile.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.13-pre1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.scm:15
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.scm:17
#, scheme-format
msgid "This program is running as process number ~D."
-msgstr "Acest program este rulat ca procesul numãrul ~D."
+msgstr "Acest program rulează ca procesul numărul ~D."
diff --git a/gettext-tools/examples/hello-guile/po/ru.po b/gettext-tools/examples/hello-guile/po/ru.po
index b9cdf21..f62ef5f 100644
--- a/gettext-tools/examples/hello-guile/po/ru.po
+++ b/gettext-tools/examples/hello-guile/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-guile/po/sk.po b/gettext-tools/examples/hello-guile/po/sk.po
index a9587b6..5a56886 100644
--- a/gettext-tools/examples/hello-guile/po/sk.po
+++ b/gettext-tools/examples/hello-guile/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-guile/po/sl.po b/gettext-tools/examples/hello-guile/po/sl.po
index d8ebd62..cbc9454 100644
--- a/gettext-tools/examples/hello-guile/po/sl.po
+++ b/gettext-tools/examples/hello-guile/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-guile-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-guile-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-guile/po/sr.po b/gettext-tools/examples/hello-guile/po/sr.po
index 6f149d6..548deb4 100644
--- a/gettext-tools/examples/hello-guile/po/sr.po
+++ b/gettext-tools/examples/hello-guile/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile-0.19-rc1\n"
+"Project-Id-Version: hello-guile-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.scm:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-guile/po/uk.po b/gettext-tools/examples/hello-guile/po/uk.po
index f8d5187..167a299 100644
--- a/gettext-tools/examples/hello-guile/po/uk.po
+++ b/gettext-tools/examples/hello-guile/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-guile/po/vi.po b/gettext-tools/examples/hello-guile/po/vi.po
index 0ddb665..0b1643e 100644
--- a/gettext-tools/examples/hello-guile/po/vi.po
+++ b/gettext-tools/examples/hello-guile/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.19.4-rc1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.scm:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-guile/po/zh_CN.po b/gettext-tools/examples/hello-guile/po/zh_CN.po
index a68a5d4..488a562 100644
--- a/gettext-tools/examples/hello-guile/po/zh_CN.po
+++ b/gettext-tools/examples/hello-guile/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-guile.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-guile package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.13.1\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-guile/po/zh_TW.po b/gettext-tools/examples/hello-guile/po/zh_TW.po
index 7a09e5f..6a0630b 100644
--- a/gettext-tools/examples/hello-guile/po/zh_TW.po
+++ b/gettext-tools/examples/hello-guile/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-guile 0.18\n"
+"Project-Id-Version: hello-guile 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/bg.po b/gettext-tools/examples/hello-java-awt/po/bg.po
index 2fb7b7a..5a68b24 100644
--- a/gettext-tools/examples/hello-java-awt/po/bg.po
+++ b/gettext-tools/examples/hello-java-awt/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-java-awt package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/ca.po b/gettext-tools/examples/hello-java-awt/po/ca.po
index f5f454f..5aa5d26 100644
--- a/gettext-tools/examples/hello-java-awt/po/ca.po
+++ b/gettext-tools/examples/hello-java-awt/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-java-awt.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/cs.po b/gettext-tools/examples/hello-java-awt/po/cs.po
index 7b819cf..430e329 100644
--- a/gettext-tools/examples/hello-java-awt/po/cs.po
+++ b/gettext-tools/examples/hello-java-awt/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.18\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/da.po b/gettext-tools/examples/hello-java-awt/po/da.po
index bdda6a8..fddd2d4 100644
--- a/gettext-tools/examples/hello-java-awt/po/da.po
+++ b/gettext-tools/examples/hello-java-awt/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-java-awt.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.18\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Hello.java:23
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: Hello.java:28
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
diff --git a/gettext-tools/examples/hello-java-awt/po/de.po b/gettext-tools/examples/hello-java-awt/po/de.po
index 4a372ba..67ae70e 100644
--- a/gettext-tools/examples/hello-java-awt/po/de.po
+++ b/gettext-tools/examples/hello-java-awt/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/es.po b/gettext-tools/examples/hello-java-awt/po/es.po
index 45dc530..bb7a673 100644
--- a/gettext-tools/examples/hello-java-awt/po/es.po
+++ b/gettext-tools/examples/hello-java-awt/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt-0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/fi.po b/gettext-tools/examples/hello-java-awt/po/fi.po
index 0902992..6e2a3fb 100644
--- a/gettext-tools/examples/hello-java-awt/po/fi.po
+++ b/gettext-tools/examples/hello-java-awt/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: Hello.java:23
diff --git a/gettext-tools/examples/hello-java-awt/po/fr.po b/gettext-tools/examples/hello-java-awt/po/fr.po
index 3eb3a0d..5711370 100644
--- a/gettext-tools/examples/hello-java-awt/po/fr.po
+++ b/gettext-tools/examples/hello-java-awt/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-awt 0.15-pre5\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/hu.po b/gettext-tools/examples/hello-java-awt/po/hu.po
index ea2825e..c923606 100644
--- a/gettext-tools/examples/hello-java-awt/po/hu.po
+++ b/gettext-tools/examples/hello-java-awt/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: Hello.java:23
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-awt/po/it.po b/gettext-tools/examples/hello-java-awt/po/it.po
index 24bde9e..714d09d 100644
--- a/gettext-tools/examples/hello-java-awt/po/it.po
+++ b/gettext-tools/examples/hello-java-awt/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-java-awt.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.15-pre5\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/ja.po b/gettext-tools/examples/hello-java-awt/po/ja.po
index 827b709..af69451 100644
--- a/gettext-tools/examples/hello-java-awt/po/ja.po
+++ b/gettext-tools/examples/hello-java-awt/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-java-awt' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/ms.po b/gettext-tools/examples/hello-java-awt/po/ms.po
index 0d80f8b..c402665 100644
--- a/gettext-tools/examples/hello-java-awt/po/ms.po
+++ b/gettext-tools/examples/hello-java-awt/po/ms.po
@@ -1,20 +1,21 @@
# hello-java-awt Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java-awt package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.15-pre5\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:23
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-awt/po/nb.po b/gettext-tools/examples/hello-java-awt/po/nb.po
index 6a6e497..e057e34 100644
--- a/gettext-tools/examples/hello-java-awt/po/nb.po
+++ b/gettext-tools/examples/hello-java-awt/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: Hello.java:23
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-awt/po/nl.po b/gettext-tools/examples/hello-java-awt/po/nl.po
index 41fa79e..56d3cc9 100644
--- a/gettext-tools/examples/hello-java-awt/po/nl.po
+++ b/gettext-tools/examples/hello-java-awt/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-java-awt.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt-0.19-rc1\n"
+"Project-Id-Version: hello-java-awt-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/pl.po b/gettext-tools/examples/hello-java-awt/po/pl.po
index 66ba45a..2fafd87 100644
--- a/gettext-tools/examples/hello-java-awt/po/pl.po
+++ b/gettext-tools/examples/hello-java-awt/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-java-awt domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/pt_BR.po b/gettext-tools/examples/hello-java-awt/po/pt_BR.po
index bb9415b..8607ffc 100644
--- a/gettext-tools/examples/hello-java-awt/po/pt_BR.po
+++ b/gettext-tools/examples/hello-java-awt/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/ro.po b/gettext-tools/examples/hello-java-awt/po/ro.po
index 1ce51d5..a78351a 100644
--- a/gettext-tools/examples/hello-java-awt/po/ro.po
+++ b/gettext-tools/examples/hello-java-awt/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-java-awt-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java-awt.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-java-awt.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.13-pre1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:23
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: Hello.java:28
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
diff --git a/gettext-tools/examples/hello-java-awt/po/ru.po b/gettext-tools/examples/hello-java-awt/po/ru.po
index 2085119..cc86560 100644
--- a/gettext-tools/examples/hello-java-awt/po/ru.po
+++ b/gettext-tools/examples/hello-java-awt/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/sk.po b/gettext-tools/examples/hello-java-awt/po/sk.po
index a7c3662..dabdef5 100644
--- a/gettext-tools/examples/hello-java-awt/po/sk.po
+++ b/gettext-tools/examples/hello-java-awt/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/sl.po b/gettext-tools/examples/hello-java-awt/po/sl.po
index 442d3b9..f5b34f7 100644
--- a/gettext-tools/examples/hello-java-awt/po/sl.po
+++ b/gettext-tools/examples/hello-java-awt/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-java-awt-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-java-awt-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/sr.po b/gettext-tools/examples/hello-java-awt/po/sr.po
index 382a494..02ebf52 100644
--- a/gettext-tools/examples/hello-java-awt/po/sr.po
+++ b/gettext-tools/examples/hello-java-awt/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt-0.19-rc1\n"
+"Project-Id-Version: hello-java-awt-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: Hello.java:23
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-awt/po/uk.po b/gettext-tools/examples/hello-java-awt/po/uk.po
index 0b761e7..d66cdd8 100644
--- a/gettext-tools/examples/hello-java-awt/po/uk.po
+++ b/gettext-tools/examples/hello-java-awt/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/vi.po b/gettext-tools/examples/hello-java-awt/po/vi.po
index f63316c..b70f3d7 100644
--- a/gettext-tools/examples/hello-java-awt/po/vi.po
+++ b/gettext-tools/examples/hello-java-awt/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: Hello.java:23
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-awt/po/zh_CN.po b/gettext-tools/examples/hello-java-awt/po/zh_CN.po
index 3c5accf..df4bf56 100644
--- a/gettext-tools/examples/hello-java-awt/po/zh_CN.po
+++ b/gettext-tools/examples/hello-java-awt/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-java-awt.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java-awt package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.13.1\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-awt/po/zh_TW.po b/gettext-tools/examples/hello-java-awt/po/zh_TW.po
index 3487d55..f436570 100644
--- a/gettext-tools/examples/hello-java-awt/po/zh_TW.po
+++ b/gettext-tools/examples/hello-java-awt/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-awt 0.18\n"
+"Project-Id-Version: hello-java-awt 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/bg.po b/gettext-tools/examples/hello-java-qtjambi/po/bg.po
index 958fd33..664516c 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/bg.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-java-qtjambi package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/ca.po b/gettext-tools/examples/hello-java-qtjambi/po/ca.po
index aee725c..a736bc9 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/ca.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-java-qtjambi.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/cs.po b/gettext-tools/examples/hello-java-qtjambi/po/cs.po
index ae9586d..048776d 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/cs.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.18\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/da.po b/gettext-tools/examples/hello-java-qtjambi/po/da.po
index de51bbf..609d0fe 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/da.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-java-qtjambi.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.18\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Hello.java:27
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: Hello.java:34
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/de.po b/gettext-tools/examples/hello-java-qtjambi/po/de.po
index a963ac8..f7a152d 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/de.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/es.po b/gettext-tools/examples/hello-java-qtjambi/po/es.po
index 2eca107..e8f71a8 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/es.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi-0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/fi.po b/gettext-tools/examples/hello-java-qtjambi/po/fi.po
index 90ed773..3f1f2a4 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/fi.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: Hello.java:27
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/fr.po b/gettext-tools/examples/hello-java-qtjambi/po/fr.po
index c5c94a7..9483510 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/fr.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-qtjambi 0.15-pre5\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/hu.po b/gettext-tools/examples/hello-java-qtjambi/po/hu.po
index c6448e9..8f3bfb1 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/hu.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: Hello.java:27
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/it.po b/gettext-tools/examples/hello-java-qtjambi/po/it.po
index 7e4db31..e88fb3d 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/it.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-java-qtjambi.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/ja.po b/gettext-tools/examples/hello-java-qtjambi/po/ja.po
index 8fd7147..c51fea7 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/ja.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-java-qtjambi' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/ms.po b/gettext-tools/examples/hello-java-qtjambi/po/ms.po
index aef7079..b88a39a 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/ms.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/ms.po
@@ -1,20 +1,21 @@
# hello-java-qtjambi Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java-qtjambi package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:27
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/nb.po b/gettext-tools/examples/hello-java-qtjambi/po/nb.po
index 72f3aab..709edaf 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/nb.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: Hello.java:27
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/nl.po b/gettext-tools/examples/hello-java-qtjambi/po/nl.po
index dc5d285..d5e1713 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/nl.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-java-qtjambi.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi-0.19-rc1\n"
+"Project-Id-Version: hello-java-qtjambi-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/pl.po b/gettext-tools/examples/hello-java-qtjambi/po/pl.po
index 9840386..bc3c64c 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/pl.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-java-qtjambi domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/pt_BR.po b/gettext-tools/examples/hello-java-qtjambi/po/pt_BR.po
index f67e133..afa0961 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/pt_BR.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/ro.po b/gettext-tools/examples/hello-java-qtjambi/po/ro.po
index b31870a..549d068 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/ro.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-java-qtjambi-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java-qtjambi.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-java-qtjambi.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.13-pre1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:27
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: Hello.java:34
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/ru.po b/gettext-tools/examples/hello-java-qtjambi/po/ru.po
index 72979ed..567d0ef 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/ru.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/sk.po b/gettext-tools/examples/hello-java-qtjambi/po/sk.po
index 9f7c7c1..17f3d38 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/sk.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/sl.po b/gettext-tools/examples/hello-java-qtjambi/po/sl.po
index a2181d1..4311058 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/sl.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-java-qtjambi-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-java-qtjambi-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/sr.po b/gettext-tools/examples/hello-java-qtjambi/po/sr.po
index b52db2f..a6bb74d 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/sr.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi-0.19-rc1\n"
+"Project-Id-Version: hello-java-qtjambi-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: Hello.java:27
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/uk.po b/gettext-tools/examples/hello-java-qtjambi/po/uk.po
index d29ea2a..990664c 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/uk.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/vi.po b/gettext-tools/examples/hello-java-qtjambi/po/vi.po
index c367d96..5150744 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/vi.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: Hello.java:27
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/zh_CN.po b/gettext-tools/examples/hello-java-qtjambi/po/zh_CN.po
index a85fa73..a4d7bc0 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/zh_CN.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-java-qtjambi.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java-qtjambi package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.13.1\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-qtjambi/po/zh_TW.po b/gettext-tools/examples/hello-java-qtjambi/po/zh_TW.po
index 72a7d4b..c5171b1 100644
--- a/gettext-tools/examples/hello-java-qtjambi/po/zh_TW.po
+++ b/gettext-tools/examples/hello-java-qtjambi/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-qtjambi 0.18\n"
+"Project-Id-Version: hello-java-qtjambi 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/bg.po b/gettext-tools/examples/hello-java-swing/po/bg.po
index 60e9831..1aeddb4 100644
--- a/gettext-tools/examples/hello-java-swing/po/bg.po
+++ b/gettext-tools/examples/hello-java-swing/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-java-swing package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/ca.po b/gettext-tools/examples/hello-java-swing/po/ca.po
index 961a26e..a30a170 100644
--- a/gettext-tools/examples/hello-java-swing/po/ca.po
+++ b/gettext-tools/examples/hello-java-swing/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-java-swing.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/cs.po b/gettext-tools/examples/hello-java-swing/po/cs.po
index b77b945..f574d12 100644
--- a/gettext-tools/examples/hello-java-swing/po/cs.po
+++ b/gettext-tools/examples/hello-java-swing/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.18\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/da.po b/gettext-tools/examples/hello-java-swing/po/da.po
index 1c99c85..363e2d0 100644
--- a/gettext-tools/examples/hello-java-swing/po/da.po
+++ b/gettext-tools/examples/hello-java-swing/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-java-swing.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.18\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Hello.java:20
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: Hello.java:25
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
diff --git a/gettext-tools/examples/hello-java-swing/po/de.po b/gettext-tools/examples/hello-java-swing/po/de.po
index 78515e3..9801c5b 100644
--- a/gettext-tools/examples/hello-java-swing/po/de.po
+++ b/gettext-tools/examples/hello-java-swing/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/es.po b/gettext-tools/examples/hello-java-swing/po/es.po
index 73b13ea..3118e0a 100644
--- a/gettext-tools/examples/hello-java-swing/po/es.po
+++ b/gettext-tools/examples/hello-java-swing/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing-0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/fi.po b/gettext-tools/examples/hello-java-swing/po/fi.po
index 754af96..d8f4377 100644
--- a/gettext-tools/examples/hello-java-swing/po/fi.po
+++ b/gettext-tools/examples/hello-java-swing/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: Hello.java:20
diff --git a/gettext-tools/examples/hello-java-swing/po/fr.po b/gettext-tools/examples/hello-java-swing/po/fr.po
index a9d483f..9dedeae 100644
--- a/gettext-tools/examples/hello-java-swing/po/fr.po
+++ b/gettext-tools/examples/hello-java-swing/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-swing 0.15-pre5\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/hu.po b/gettext-tools/examples/hello-java-swing/po/hu.po
index fd68ff3..c38e08a 100644
--- a/gettext-tools/examples/hello-java-swing/po/hu.po
+++ b/gettext-tools/examples/hello-java-swing/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: Hello.java:20
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-swing/po/it.po b/gettext-tools/examples/hello-java-swing/po/it.po
index 6f6f940..4aa89af 100644
--- a/gettext-tools/examples/hello-java-swing/po/it.po
+++ b/gettext-tools/examples/hello-java-swing/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-java-swing.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.15-pre5\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/ja.po b/gettext-tools/examples/hello-java-swing/po/ja.po
index 9c716d9..0263b5f 100644
--- a/gettext-tools/examples/hello-java-swing/po/ja.po
+++ b/gettext-tools/examples/hello-java-swing/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-java-swing' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/ms.po b/gettext-tools/examples/hello-java-swing/po/ms.po
index 563c5b1..c87b59b 100644
--- a/gettext-tools/examples/hello-java-swing/po/ms.po
+++ b/gettext-tools/examples/hello-java-swing/po/ms.po
@@ -1,20 +1,21 @@
# hello-java-swing Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java-swing package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.15-pre5\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:20
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-swing/po/nb.po b/gettext-tools/examples/hello-java-swing/po/nb.po
index c74d746..07eab9a 100644
--- a/gettext-tools/examples/hello-java-swing/po/nb.po
+++ b/gettext-tools/examples/hello-java-swing/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: Hello.java:20
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-swing/po/nl.po b/gettext-tools/examples/hello-java-swing/po/nl.po
index c288f07..b128d53 100644
--- a/gettext-tools/examples/hello-java-swing/po/nl.po
+++ b/gettext-tools/examples/hello-java-swing/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-java-swing.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing-0.19-rc1\n"
+"Project-Id-Version: hello-java-swing-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/pl.po b/gettext-tools/examples/hello-java-swing/po/pl.po
index b1f6c60..9bc87a2 100644
--- a/gettext-tools/examples/hello-java-swing/po/pl.po
+++ b/gettext-tools/examples/hello-java-swing/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-java-swing domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/pt_BR.po b/gettext-tools/examples/hello-java-swing/po/pt_BR.po
index 4d4445e..08cf4d3 100644
--- a/gettext-tools/examples/hello-java-swing/po/pt_BR.po
+++ b/gettext-tools/examples/hello-java-swing/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/ro.po b/gettext-tools/examples/hello-java-swing/po/ro.po
index 9e382a4..4072460 100644
--- a/gettext-tools/examples/hello-java-swing/po/ro.po
+++ b/gettext-tools/examples/hello-java-swing/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-java-swing-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java-swing.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-java-swing.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.13-pre1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:20
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: Hello.java:25
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
diff --git a/gettext-tools/examples/hello-java-swing/po/ru.po b/gettext-tools/examples/hello-java-swing/po/ru.po
index fc689d8..7b2e7fa 100644
--- a/gettext-tools/examples/hello-java-swing/po/ru.po
+++ b/gettext-tools/examples/hello-java-swing/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/sk.po b/gettext-tools/examples/hello-java-swing/po/sk.po
index e83a7bc..74b134e 100644
--- a/gettext-tools/examples/hello-java-swing/po/sk.po
+++ b/gettext-tools/examples/hello-java-swing/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/sl.po b/gettext-tools/examples/hello-java-swing/po/sl.po
index 03ccb1d..db0d9c7 100644
--- a/gettext-tools/examples/hello-java-swing/po/sl.po
+++ b/gettext-tools/examples/hello-java-swing/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-java-swing-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-java-swing-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/sr.po b/gettext-tools/examples/hello-java-swing/po/sr.po
index 830b536..4109c2b 100644
--- a/gettext-tools/examples/hello-java-swing/po/sr.po
+++ b/gettext-tools/examples/hello-java-swing/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing-0.19-rc1\n"
+"Project-Id-Version: hello-java-swing-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: Hello.java:20
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-swing/po/uk.po b/gettext-tools/examples/hello-java-swing/po/uk.po
index 6c7642a..da5c0e1 100644
--- a/gettext-tools/examples/hello-java-swing/po/uk.po
+++ b/gettext-tools/examples/hello-java-swing/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/vi.po b/gettext-tools/examples/hello-java-swing/po/vi.po
index e2f1aaa..52b1a98 100644
--- a/gettext-tools/examples/hello-java-swing/po/vi.po
+++ b/gettext-tools/examples/hello-java-swing/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.19.4-rc1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: Hello.java:20
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java-swing/po/zh_CN.po b/gettext-tools/examples/hello-java-swing/po/zh_CN.po
index 88bc7d0..7442764 100644
--- a/gettext-tools/examples/hello-java-swing/po/zh_CN.po
+++ b/gettext-tools/examples/hello-java-swing/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-java-swing.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java-swing package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.13.1\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java-swing/po/zh_TW.po b/gettext-tools/examples/hello-java-swing/po/zh_TW.po
index ba8b7a9..dc72cfa 100644
--- a/gettext-tools/examples/hello-java-swing/po/zh_TW.po
+++ b/gettext-tools/examples/hello-java-swing/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-swing 0.18\n"
+"Project-Id-Version: hello-java-swing 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-java/po/bg.po b/gettext-tools/examples/hello-java/po/bg.po
index 975bc74..0a25cdf 100644
--- a/gettext-tools/examples/hello-java/po/bg.po
+++ b/gettext-tools/examples/hello-java/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-java package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java/po/ca.po b/gettext-tools/examples/hello-java/po/ca.po
index 7edbeda..c954e2a 100644
--- a/gettext-tools/examples/hello-java/po/ca.po
+++ b/gettext-tools/examples/hello-java/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-java.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19.4-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-java/po/cs.po b/gettext-tools/examples/hello-java/po/cs.po
index 6d94ab8..7425fa6 100644
--- a/gettext-tools/examples/hello-java/po/cs.po
+++ b/gettext-tools/examples/hello-java/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.18\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-java/po/da.po b/gettext-tools/examples/hello-java/po/da.po
index d668c9a..d976e9d 100644
--- a/gettext-tools/examples/hello-java/po/da.po
+++ b/gettext-tools/examples/hello-java/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-java.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.18\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Hello.java:14
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: Hello.java:18
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
diff --git a/gettext-tools/examples/hello-java/po/de.po b/gettext-tools/examples/hello-java/po/de.po
index cd05bc7..bd8e5f5 100644
--- a/gettext-tools/examples/hello-java/po/de.po
+++ b/gettext-tools/examples/hello-java/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java/po/es.po b/gettext-tools/examples/hello-java/po/es.po
index f37fd67..51e930b 100644
--- a/gettext-tools/examples/hello-java/po/es.po
+++ b/gettext-tools/examples/hello-java/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-0.19.4-rc1\n"
+"Project-Id-Version: hello-java-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-java/po/fi.po b/gettext-tools/examples/hello-java/po/fi.po
index 0cd9c8a..60e54c0 100644
--- a/gettext-tools/examples/hello-java/po/fi.po
+++ b/gettext-tools/examples/hello-java/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: Hello.java:14
diff --git a/gettext-tools/examples/hello-java/po/fr.po b/gettext-tools/examples/hello-java/po/fr.po
index a06e3ed..819a61b 100644
--- a/gettext-tools/examples/hello-java/po/fr.po
+++ b/gettext-tools/examples/hello-java/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java 0.15-pre5\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java/po/hu.po b/gettext-tools/examples/hello-java/po/hu.po
index f21d211..3299cc8 100644
--- a/gettext-tools/examples/hello-java/po/hu.po
+++ b/gettext-tools/examples/hello-java/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: Hello.java:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java/po/it.po b/gettext-tools/examples/hello-java/po/it.po
index 29d3b3f..ed10de9 100644
--- a/gettext-tools/examples/hello-java/po/it.po
+++ b/gettext-tools/examples/hello-java/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-java.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.15-pre5\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-java/po/ja.po b/gettext-tools/examples/hello-java/po/ja.po
index cf0b570..714ad72 100644
--- a/gettext-tools/examples/hello-java/po/ja.po
+++ b/gettext-tools/examples/hello-java/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-java' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-java/po/ms.po b/gettext-tools/examples/hello-java/po/ms.po
index b6aff53..81fc7a5 100644
--- a/gettext-tools/examples/hello-java/po/ms.po
+++ b/gettext-tools/examples/hello-java/po/ms.po
@@ -1,20 +1,21 @@
# hello-java Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.15-pre5\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java/po/nb.po b/gettext-tools/examples/hello-java/po/nb.po
index 6b21347..7939ea0 100644
--- a/gettext-tools/examples/hello-java/po/nb.po
+++ b/gettext-tools/examples/hello-java/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: Hello.java:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java/po/nl.po b/gettext-tools/examples/hello-java/po/nl.po
index 06f1d39..04736db 100644
--- a/gettext-tools/examples/hello-java/po/nl.po
+++ b/gettext-tools/examples/hello-java/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-java.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-0.19-rc1\n"
+"Project-Id-Version: hello-java-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-java/po/pl.po b/gettext-tools/examples/hello-java/po/pl.po
index 7817562..53ff59b 100644
--- a/gettext-tools/examples/hello-java/po/pl.po
+++ b/gettext-tools/examples/hello-java/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-java domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-java/po/pt_BR.po b/gettext-tools/examples/hello-java/po/pt_BR.po
index f192f94..bff9c47 100644
--- a/gettext-tools/examples/hello-java/po/pt_BR.po
+++ b/gettext-tools/examples/hello-java/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19.4-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-java/po/ro.po b/gettext-tools/examples/hello-java/po/ro.po
index d49338d..c5c9d78 100644
--- a/gettext-tools/examples/hello-java/po/ro.po
+++ b/gettext-tools/examples/hello-java/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-java-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-java.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.13-pre1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.java:14
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: Hello.java:18
#, java-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
diff --git a/gettext-tools/examples/hello-java/po/ru.po b/gettext-tools/examples/hello-java/po/ru.po
index 5009c05..f597d9b 100644
--- a/gettext-tools/examples/hello-java/po/ru.po
+++ b/gettext-tools/examples/hello-java/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19.4-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-java/po/sk.po b/gettext-tools/examples/hello-java/po/sk.po
index 36c2d2a..240938e 100644
--- a/gettext-tools/examples/hello-java/po/sk.po
+++ b/gettext-tools/examples/hello-java/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-java 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-java/po/sl.po b/gettext-tools/examples/hello-java/po/sl.po
index 378a6b7..c705894 100644
--- a/gettext-tools/examples/hello-java/po/sl.po
+++ b/gettext-tools/examples/hello-java/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-java-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-java-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19.4-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-java/po/sr.po b/gettext-tools/examples/hello-java/po/sr.po
index c6825e2..ffc1a35 100644
--- a/gettext-tools/examples/hello-java/po/sr.po
+++ b/gettext-tools/examples/hello-java/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java-0.19-rc1\n"
+"Project-Id-Version: hello-java-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: Hello.java:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java/po/uk.po b/gettext-tools/examples/hello-java/po/uk.po
index c46534f..31f5e1a 100644
--- a/gettext-tools/examples/hello-java/po/uk.po
+++ b/gettext-tools/examples/hello-java/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19.4-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-java/po/vi.po b/gettext-tools/examples/hello-java/po/vi.po
index a0b772a..a1e5354 100644
--- a/gettext-tools/examples/hello-java/po/vi.po
+++ b/gettext-tools/examples/hello-java/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.19.4-rc1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: Hello.java:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-java/po/zh_CN.po b/gettext-tools/examples/hello-java/po/zh_CN.po
index 05309e4..96eadc4 100644
--- a/gettext-tools/examples/hello-java/po/zh_CN.po
+++ b/gettext-tools/examples/hello-java/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-java.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-java package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.13.1\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-java/po/zh_TW.po b/gettext-tools/examples/hello-java/po/zh_TW.po
index 275ac15..c3d09c6 100644
--- a/gettext-tools/examples/hello-java/po/zh_TW.po
+++ b/gettext-tools/examples/hello-java/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-java 0.18\n"
+"Project-Id-Version: hello-java 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-librep/po/bg.po b/gettext-tools/examples/hello-librep/po/bg.po
index be383e7..0c17a01 100644
--- a/gettext-tools/examples/hello-librep/po/bg.po
+++ b/gettext-tools/examples/hello-librep/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-librep package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-librep/po/ca.po b/gettext-tools/examples/hello-librep/po/ca.po
index 2f75aff..39f32c9 100644
--- a/gettext-tools/examples/hello-librep/po/ca.po
+++ b/gettext-tools/examples/hello-librep/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-librep.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-librep/po/cs.po b/gettext-tools/examples/hello-librep/po/cs.po
index a424215..4c96d80 100644
--- a/gettext-tools/examples/hello-librep/po/cs.po
+++ b/gettext-tools/examples/hello-librep/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.18\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-librep/po/da.po b/gettext-tools/examples/hello-librep/po/da.po
index b9c0b5c..0774180 100644
--- a/gettext-tools/examples/hello-librep/po/da.po
+++ b/gettext-tools/examples/hello-librep/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-librep.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.18\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.jl.in:12
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.jl.in:14
#, librep-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-librep/po/de.po b/gettext-tools/examples/hello-librep/po/de.po
index 4b2c3c8..3359e8e 100644
--- a/gettext-tools/examples/hello-librep/po/de.po
+++ b/gettext-tools/examples/hello-librep/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-librep/po/es.po b/gettext-tools/examples/hello-librep/po/es.po
index 3389d58..0f9e1e1 100644
--- a/gettext-tools/examples/hello-librep/po/es.po
+++ b/gettext-tools/examples/hello-librep/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep-0.19.4-rc1\n"
+"Project-Id-Version: hello-librep-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-librep/po/fi.po b/gettext-tools/examples/hello-librep/po/fi.po
index 3ca83e8..ef2adf2 100644
--- a/gettext-tools/examples/hello-librep/po/fi.po
+++ b/gettext-tools/examples/hello-librep/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.jl.in:12
diff --git a/gettext-tools/examples/hello-librep/po/fr.po b/gettext-tools/examples/hello-librep/po/fr.po
index f6657b1..21a8382 100644
--- a/gettext-tools/examples/hello-librep/po/fr.po
+++ b/gettext-tools/examples/hello-librep/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-librep 0.15-pre5\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-librep/po/hu.po b/gettext-tools/examples/hello-librep/po/hu.po
index 4a1cfe6..a43a54a 100644
--- a/gettext-tools/examples/hello-librep/po/hu.po
+++ b/gettext-tools/examples/hello-librep/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.jl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-librep/po/it.po b/gettext-tools/examples/hello-librep/po/it.po
index b0fb817..f156eb8 100644
--- a/gettext-tools/examples/hello-librep/po/it.po
+++ b/gettext-tools/examples/hello-librep/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-librep.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.15-pre5\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-librep/po/ja.po b/gettext-tools/examples/hello-librep/po/ja.po
index ece93c3..65f299a 100644
--- a/gettext-tools/examples/hello-librep/po/ja.po
+++ b/gettext-tools/examples/hello-librep/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-librep' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-librep/po/ms.po b/gettext-tools/examples/hello-librep/po/ms.po
index 1330910..6d2b4a1 100644
--- a/gettext-tools/examples/hello-librep/po/ms.po
+++ b/gettext-tools/examples/hello-librep/po/ms.po
@@ -1,20 +1,21 @@
# hello-librep Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-librep package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.15-pre5\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.jl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-librep/po/nb.po b/gettext-tools/examples/hello-librep/po/nb.po
index f657b8a..8c6fcb6 100644
--- a/gettext-tools/examples/hello-librep/po/nb.po
+++ b/gettext-tools/examples/hello-librep/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.jl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-librep/po/nl.po b/gettext-tools/examples/hello-librep/po/nl.po
index f8e502b..d88f4ad 100644
--- a/gettext-tools/examples/hello-librep/po/nl.po
+++ b/gettext-tools/examples/hello-librep/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-librep.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep-0.19-rc1\n"
+"Project-Id-Version: hello-librep-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-librep/po/pl.po b/gettext-tools/examples/hello-librep/po/pl.po
index 107f5b4..98f4272 100644
--- a/gettext-tools/examples/hello-librep/po/pl.po
+++ b/gettext-tools/examples/hello-librep/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-librep domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-librep/po/pt_BR.po b/gettext-tools/examples/hello-librep/po/pt_BR.po
index 280e24b..d7eba7f 100644
--- a/gettext-tools/examples/hello-librep/po/pt_BR.po
+++ b/gettext-tools/examples/hello-librep/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-librep/po/ro.po b/gettext-tools/examples/hello-librep/po/ro.po
index 8bf2d2a..7b03412 100644
--- a/gettext-tools/examples/hello-librep/po/ro.po
+++ b/gettext-tools/examples/hello-librep/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-librep-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-librep.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-librep.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.13-pre1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.jl.in:12
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.jl.in:14
#, librep-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-librep/po/ru.po b/gettext-tools/examples/hello-librep/po/ru.po
index 5f2df4f..9aa86a5 100644
--- a/gettext-tools/examples/hello-librep/po/ru.po
+++ b/gettext-tools/examples/hello-librep/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-librep/po/sk.po b/gettext-tools/examples/hello-librep/po/sk.po
index 1406afd..4639c38 100644
--- a/gettext-tools/examples/hello-librep/po/sk.po
+++ b/gettext-tools/examples/hello-librep/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-librep/po/sl.po b/gettext-tools/examples/hello-librep/po/sl.po
index 90c5a75..8868270 100644
--- a/gettext-tools/examples/hello-librep/po/sl.po
+++ b/gettext-tools/examples/hello-librep/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-librep-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-librep-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-librep/po/sr.po b/gettext-tools/examples/hello-librep/po/sr.po
index 446ac93..0e6b9a3 100644
--- a/gettext-tools/examples/hello-librep/po/sr.po
+++ b/gettext-tools/examples/hello-librep/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep-0.19-rc1\n"
+"Project-Id-Version: hello-librep-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.jl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-librep/po/uk.po b/gettext-tools/examples/hello-librep/po/uk.po
index 459af10..7a3bde5 100644
--- a/gettext-tools/examples/hello-librep/po/uk.po
+++ b/gettext-tools/examples/hello-librep/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-librep/po/vi.po b/gettext-tools/examples/hello-librep/po/vi.po
index a2ca40b..cd7c6ac 100644
--- a/gettext-tools/examples/hello-librep/po/vi.po
+++ b/gettext-tools/examples/hello-librep/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.19.4-rc1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.jl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-librep/po/zh_CN.po b/gettext-tools/examples/hello-librep/po/zh_CN.po
index 1dfb607..0df033a 100644
--- a/gettext-tools/examples/hello-librep/po/zh_CN.po
+++ b/gettext-tools/examples/hello-librep/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-librep.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-librep package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.13.1\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-librep/po/zh_TW.po b/gettext-tools/examples/hello-librep/po/zh_TW.po
index 945ac27..9c5145b 100644
--- a/gettext-tools/examples/hello-librep/po/zh_TW.po
+++ b/gettext-tools/examples/hello-librep/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-librep 0.18\n"
+"Project-Id-Version: hello-librep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/bg.po b/gettext-tools/examples/hello-objc-gnome/po/bg.po
index 225051f..8c9300d 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/bg.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-objc-gnome package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/ca.po b/gettext-tools/examples/hello-objc-gnome/po/ca.po
index 687a65f..02d817d 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/ca.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-objc-gnome.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/cs.po b/gettext-tools/examples/hello-objc-gnome/po/cs.po
index e311692..30041bc 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/cs.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.18\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/da.po b/gettext-tools/examples/hello-objc-gnome/po/da.po
index 635f175..c15e249 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/da.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-objc-gnome.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.18\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.m:47
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.m:52
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-objc-gnome/po/de.po b/gettext-tools/examples/hello-objc-gnome/po/de.po
index 5ac729c..c2e9001 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/de.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/es.po b/gettext-tools/examples/hello-objc-gnome/po/es.po
index c56a4a9..1498d9e 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/es.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome-0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/fi.po b/gettext-tools/examples/hello-objc-gnome/po/fi.po
index 54c24d2..cac2afa 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/fi.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.m:47
diff --git a/gettext-tools/examples/hello-objc-gnome/po/fr.po b/gettext-tools/examples/hello-objc-gnome/po/fr.po
index f3aa647..5802dd6 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/fr.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/hu.po b/gettext-tools/examples/hello-objc-gnome/po/hu.po
index f21144e..a2bd07a 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/hu.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.m:47
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/it.po b/gettext-tools/examples/hello-objc-gnome/po/it.po
index 0000ed9..0efe115 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/it.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-objc-gnome.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/ja.po b/gettext-tools/examples/hello-objc-gnome/po/ja.po
index 7e0322d..7de3dc8 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/ja.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-objc-gnome' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/ms.po b/gettext-tools/examples/hello-objc-gnome/po/ms.po
index a9eb127..9d37808 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/ms.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/ms.po
@@ -1,20 +1,21 @@
# hello-objc-gnome Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-objc-gnome package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.15-pre5\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.m:47
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/nb.po b/gettext-tools/examples/hello-objc-gnome/po/nb.po
index 4883c0e..6e26c83 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/nb.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.m:47
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/nl.po b/gettext-tools/examples/hello-objc-gnome/po/nl.po
index 9ed3b67..3024477 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/nl.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-objc-gnome.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome-0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/pl.po b/gettext-tools/examples/hello-objc-gnome/po/pl.po
index 7545e70..2d297bb 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/pl.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-objc-gnome domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/pt_BR.po b/gettext-tools/examples/hello-objc-gnome/po/pt_BR.po
index b8fb486..5fa79e6 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/pt_BR.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/ro.po b/gettext-tools/examples/hello-objc-gnome/po/ro.po
index dc608a2..09d7fc7 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/ro.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-objc-gnome-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-objc-gnome.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-objc-gnome.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.13-pre1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.m:47
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.m:52
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-objc-gnome/po/ru.po b/gettext-tools/examples/hello-objc-gnome/po/ru.po
index 18c3614..903699d 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/ru.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/sk.po b/gettext-tools/examples/hello-objc-gnome/po/sk.po
index f796bf3..adc7970 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/sk.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/sl.po b/gettext-tools/examples/hello-objc-gnome/po/sl.po
index a36649b..29201b6 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/sl.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-objc-gnome-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-objc-gnome-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/sr.po b/gettext-tools/examples/hello-objc-gnome/po/sr.po
index 9fbae34..d01c595 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/sr.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome-0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnome-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.m:47
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/uk.po b/gettext-tools/examples/hello-objc-gnome/po/uk.po
index b5bb389..746a68f 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/uk.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/vi.po b/gettext-tools/examples/hello-objc-gnome/po/vi.po
index 2a589f5..e4ee45c 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/vi.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.m:47
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/zh_CN.po b/gettext-tools/examples/hello-objc-gnome/po/zh_CN.po
index cf129ff..6ac294a 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/zh_CN.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-objc-gnome.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-objc-gnome package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.13.1\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnome/po/zh_TW.po b/gettext-tools/examples/hello-objc-gnome/po/zh_TW.po
index 281a24e..7e3cfd3 100644
--- a/gettext-tools/examples/hello-objc-gnome/po/zh_TW.po
+++ b/gettext-tools/examples/hello-objc-gnome/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnome 0.18\n"
+"Project-Id-Version: hello-objc-gnome 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/bg.po b/gettext-tools/examples/hello-objc-gnustep/po/bg.po
index 5625b4c..2229c2c 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/bg.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-objc-gnustep package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/ca.po b/gettext-tools/examples/hello-objc-gnustep/po/ca.po
index 10147fc..5466fa9 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/ca.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-objc-gnustep.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/cs.po b/gettext-tools/examples/hello-objc-gnustep/po/cs.po
index 222d1a3..2fb10ed 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/cs.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.18\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/da.po b/gettext-tools/examples/hello-objc-gnustep/po/da.po
index 39527f5..1652688 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/da.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-objc-gnustep.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.18\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Hello.m:49
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: Hello.m:58
#, objc-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/de.po b/gettext-tools/examples/hello-objc-gnustep/po/de.po
index 7419582..41a763e 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/de.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/es.po b/gettext-tools/examples/hello-objc-gnustep/po/es.po
index 46b7cb2..03c1159 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/es.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep-0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/fi.po b/gettext-tools/examples/hello-objc-gnustep/po/fi.po
index 4ab61b7..482867c 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/fi.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: Hello.m:49
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/fr.po b/gettext-tools/examples/hello-objc-gnustep/po/fr.po
index 66e7aad..e345f31 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/fr.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnustep 0.15-pre5\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/hu.po b/gettext-tools/examples/hello-objc-gnustep/po/hu.po
index a3227e2..6c56c79 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/hu.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: Hello.m:49
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/it.po b/gettext-tools/examples/hello-objc-gnustep/po/it.po
index 03a5b05..81d9ece 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/it.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-objc-gnustep.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/ja.po b/gettext-tools/examples/hello-objc-gnustep/po/ja.po
index 26c5047..15ee674 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/ja.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-objc-gnustep' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/ms.po b/gettext-tools/examples/hello-objc-gnustep/po/ms.po
index ac0d4fd..7cc29ad 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/ms.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/ms.po
@@ -1,20 +1,21 @@
# hello-objc-gnustep Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-objc-gnustep package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.m:49
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/nb.po b/gettext-tools/examples/hello-objc-gnustep/po/nb.po
index 0d7c9b5..75e6106 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/nb.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: Hello.m:49
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/nl.po b/gettext-tools/examples/hello-objc-gnustep/po/nl.po
index 3dd7615..9f7515f 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/nl.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-objc-gnustep.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep-0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnustep-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/pl.po b/gettext-tools/examples/hello-objc-gnustep/po/pl.po
index c201cf3..c3f5ca9 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/pl.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-objc-gnustep domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/pt_BR.po b/gettext-tools/examples/hello-objc-gnustep/po/pt_BR.po
index 5aabedd..ccc7fbe 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/pt_BR.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/ro.po b/gettext-tools/examples/hello-objc-gnustep/po/ro.po
index 8c89e48..29dd4b6 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/ro.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-objc-gnustep-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-objc-gnustep.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-objc-gnustep.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.13-pre1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: Hello.m:49
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: Hello.m:58
#, objc-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/ru.po b/gettext-tools/examples/hello-objc-gnustep/po/ru.po
index 577891a..fd850db 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/ru.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/sk.po b/gettext-tools/examples/hello-objc-gnustep/po/sk.po
index 3505f6d..add3997 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/sk.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/sl.po b/gettext-tools/examples/hello-objc-gnustep/po/sl.po
index 88e22c5..276a509 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/sl.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-objc-gnustep-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-objc-gnustep-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/sr.po b/gettext-tools/examples/hello-objc-gnustep/po/sr.po
index 8ffd6c8..9fceb1b 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/sr.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep-0.19-rc1\n"
+"Project-Id-Version: hello-objc-gnustep-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: Hello.m:49
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/uk.po b/gettext-tools/examples/hello-objc-gnustep/po/uk.po
index cdaec91..f134ba0 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/uk.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/vi.po b/gettext-tools/examples/hello-objc-gnustep/po/vi.po
index 0581055..8395e72 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/vi.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: Hello.m:49
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/zh_CN.po b/gettext-tools/examples/hello-objc-gnustep/po/zh_CN.po
index 9183f4e..e78ca5b 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/zh_CN.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-objc-gnustep.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-objc-gnustep package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.13.1\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc-gnustep/po/zh_TW.po b/gettext-tools/examples/hello-objc-gnustep/po/zh_TW.po
index 7a27bee..8403779 100644
--- a/gettext-tools/examples/hello-objc-gnustep/po/zh_TW.po
+++ b/gettext-tools/examples/hello-objc-gnustep/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-gnustep 0.18\n"
+"Project-Id-Version: hello-objc-gnustep 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-objc/po/bg.po b/gettext-tools/examples/hello-objc/po/bg.po
index c6d828e..f6fc828 100644
--- a/gettext-tools/examples/hello-objc/po/bg.po
+++ b/gettext-tools/examples/hello-objc/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-objc package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc/po/ca.po b/gettext-tools/examples/hello-objc/po/ca.po
index 20e7894..bb2f4cd 100644
--- a/gettext-tools/examples/hello-objc/po/ca.po
+++ b/gettext-tools/examples/hello-objc/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-objc.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-objc/po/cs.po b/gettext-tools/examples/hello-objc/po/cs.po
index d972b75..0f40522 100644
--- a/gettext-tools/examples/hello-objc/po/cs.po
+++ b/gettext-tools/examples/hello-objc/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.18\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-objc/po/da.po b/gettext-tools/examples/hello-objc/po/da.po
index 2817436..9e99991 100644
--- a/gettext-tools/examples/hello-objc/po/da.po
+++ b/gettext-tools/examples/hello-objc/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-objc.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.18\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.m:30
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.m:31
#, c-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-objc/po/de.po b/gettext-tools/examples/hello-objc/po/de.po
index 3144a48..89b8071 100644
--- a/gettext-tools/examples/hello-objc/po/de.po
+++ b/gettext-tools/examples/hello-objc/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc/po/es.po b/gettext-tools/examples/hello-objc/po/es.po
index 7398c20..0b9732d 100644
--- a/gettext-tools/examples/hello-objc/po/es.po
+++ b/gettext-tools/examples/hello-objc/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-0.19.4-rc1\n"
+"Project-Id-Version: hello-objc-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-objc/po/fi.po b/gettext-tools/examples/hello-objc/po/fi.po
index 3518e7c..243b1c1 100644
--- a/gettext-tools/examples/hello-objc/po/fi.po
+++ b/gettext-tools/examples/hello-objc/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.m:30
diff --git a/gettext-tools/examples/hello-objc/po/fr.po b/gettext-tools/examples/hello-objc/po/fr.po
index 0859ed7..db5f841 100644
--- a/gettext-tools/examples/hello-objc/po/fr.po
+++ b/gettext-tools/examples/hello-objc/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc 0.15-pre5\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc/po/hu.po b/gettext-tools/examples/hello-objc/po/hu.po
index 1b7f32d..3f45596 100644
--- a/gettext-tools/examples/hello-objc/po/hu.po
+++ b/gettext-tools/examples/hello-objc/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.m:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc/po/it.po b/gettext-tools/examples/hello-objc/po/it.po
index 7ec12fc..d08bb2a 100644
--- a/gettext-tools/examples/hello-objc/po/it.po
+++ b/gettext-tools/examples/hello-objc/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-objc.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.15-pre5\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-objc/po/ja.po b/gettext-tools/examples/hello-objc/po/ja.po
index 5864488..2a92453 100644
--- a/gettext-tools/examples/hello-objc/po/ja.po
+++ b/gettext-tools/examples/hello-objc/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-objc' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-objc/po/ms.po b/gettext-tools/examples/hello-objc/po/ms.po
index 36af0d4..d65c556 100644
--- a/gettext-tools/examples/hello-objc/po/ms.po
+++ b/gettext-tools/examples/hello-objc/po/ms.po
@@ -1,20 +1,21 @@
# hello-objc Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-objc package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.15-pre5\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.m:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc/po/nb.po b/gettext-tools/examples/hello-objc/po/nb.po
index 3dcf3b1..4fbf7fe 100644
--- a/gettext-tools/examples/hello-objc/po/nb.po
+++ b/gettext-tools/examples/hello-objc/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.m:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc/po/nl.po b/gettext-tools/examples/hello-objc/po/nl.po
index 836b6df..c5315e2 100644
--- a/gettext-tools/examples/hello-objc/po/nl.po
+++ b/gettext-tools/examples/hello-objc/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-objc.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-0.19-rc1\n"
+"Project-Id-Version: hello-objc-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-objc/po/pl.po b/gettext-tools/examples/hello-objc/po/pl.po
index b482e7f..29daad4 100644
--- a/gettext-tools/examples/hello-objc/po/pl.po
+++ b/gettext-tools/examples/hello-objc/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-objc domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-objc/po/pt_BR.po b/gettext-tools/examples/hello-objc/po/pt_BR.po
index 69f62bd..b895be2 100644
--- a/gettext-tools/examples/hello-objc/po/pt_BR.po
+++ b/gettext-tools/examples/hello-objc/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-objc/po/ro.po b/gettext-tools/examples/hello-objc/po/ro.po
index ac33e16..faa2e3d 100644
--- a/gettext-tools/examples/hello-objc/po/ro.po
+++ b/gettext-tools/examples/hello-objc/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-objc-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-objc.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-objc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.13-pre1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.m:30
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.m:31
#, c-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-objc/po/ru.po b/gettext-tools/examples/hello-objc/po/ru.po
index c83c01d..b75cc9e 100644
--- a/gettext-tools/examples/hello-objc/po/ru.po
+++ b/gettext-tools/examples/hello-objc/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-objc/po/sk.po b/gettext-tools/examples/hello-objc/po/sk.po
index 3f1eafd..8c5ef80 100644
--- a/gettext-tools/examples/hello-objc/po/sk.po
+++ b/gettext-tools/examples/hello-objc/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-objc/po/sl.po b/gettext-tools/examples/hello-objc/po/sl.po
index 42b6229..5c78562 100644
--- a/gettext-tools/examples/hello-objc/po/sl.po
+++ b/gettext-tools/examples/hello-objc/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-objc-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-objc-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-objc/po/sr.po b/gettext-tools/examples/hello-objc/po/sr.po
index f10af4a..0488c67 100644
--- a/gettext-tools/examples/hello-objc/po/sr.po
+++ b/gettext-tools/examples/hello-objc/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc-0.19-rc1\n"
+"Project-Id-Version: hello-objc-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.m:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc/po/uk.po b/gettext-tools/examples/hello-objc/po/uk.po
index e6981b8..716db7f 100644
--- a/gettext-tools/examples/hello-objc/po/uk.po
+++ b/gettext-tools/examples/hello-objc/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-objc/po/vi.po b/gettext-tools/examples/hello-objc/po/vi.po
index 4fe2b36..27a1a6f 100644
--- a/gettext-tools/examples/hello-objc/po/vi.po
+++ b/gettext-tools/examples/hello-objc/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.19.4-rc1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.m:30
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-objc/po/zh_CN.po b/gettext-tools/examples/hello-objc/po/zh_CN.po
index 55ab2c8..bb7a418 100644
--- a/gettext-tools/examples/hello-objc/po/zh_CN.po
+++ b/gettext-tools/examples/hello-objc/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-objc.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-objc package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.13.1\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-objc/po/zh_TW.po b/gettext-tools/examples/hello-objc/po/zh_TW.po
index de87757..d58ce23 100644
--- a/gettext-tools/examples/hello-objc/po/zh_TW.po
+++ b/gettext-tools/examples/hello-objc/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-objc 0.18\n"
+"Project-Id-Version: hello-objc 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-pascal/po/bg.po b/gettext-tools/examples/hello-pascal/po/bg.po
index 4b69bcf..e8883f1 100644
--- a/gettext-tools/examples/hello-pascal/po/bg.po
+++ b/gettext-tools/examples/hello-pascal/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-pascal package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-pascal/po/ca.po b/gettext-tools/examples/hello-pascal/po/ca.po
index fdc571d..d2d1440 100644
--- a/gettext-tools/examples/hello-pascal/po/ca.po
+++ b/gettext-tools/examples/hello-pascal/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-pascal.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-pascal/po/cs.po b/gettext-tools/examples/hello-pascal/po/cs.po
index 99731d5..3996516 100644
--- a/gettext-tools/examples/hello-pascal/po/cs.po
+++ b/gettext-tools/examples/hello-pascal/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.18\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-pascal/po/da.po b/gettext-tools/examples/hello-pascal/po/da.po
index c39226d..29f3358 100644
--- a/gettext-tools/examples/hello-pascal/po/da.po
+++ b/gettext-tools/examples/hello-pascal/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-pascal.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.18\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.hello_world
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.running_as
#, object-pascal-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-pascal/po/de.po b/gettext-tools/examples/hello-pascal/po/de.po
index 0dccf86..e4e3510 100644
--- a/gettext-tools/examples/hello-pascal/po/de.po
+++ b/gettext-tools/examples/hello-pascal/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-pascal/po/es.po b/gettext-tools/examples/hello-pascal/po/es.po
index 11dd07c..325b071 100644
--- a/gettext-tools/examples/hello-pascal/po/es.po
+++ b/gettext-tools/examples/hello-pascal/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal-0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-pascal/po/fi.po b/gettext-tools/examples/hello-pascal/po/fi.po
index 6486c67..6bde771 100644
--- a/gettext-tools/examples/hello-pascal/po/fi.po
+++ b/gettext-tools/examples/hello-pascal/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.hello_world
diff --git a/gettext-tools/examples/hello-pascal/po/fr.po b/gettext-tools/examples/hello-pascal/po/fr.po
index fba62f6..b274acb 100644
--- a/gettext-tools/examples/hello-pascal/po/fr.po
+++ b/gettext-tools/examples/hello-pascal/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-pascal 0.15-pre5\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-pascal/po/hu.po b/gettext-tools/examples/hello-pascal/po/hu.po
index 0a96e3b..625f18e 100644
--- a/gettext-tools/examples/hello-pascal/po/hu.po
+++ b/gettext-tools/examples/hello-pascal/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.hello_world
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-pascal/po/it.po b/gettext-tools/examples/hello-pascal/po/it.po
index 4be3985..75b7803 100644
--- a/gettext-tools/examples/hello-pascal/po/it.po
+++ b/gettext-tools/examples/hello-pascal/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-pascal.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.15-pre5\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-pascal/po/ja.po b/gettext-tools/examples/hello-pascal/po/ja.po
index 02ac37c..8dbae9a 100644
--- a/gettext-tools/examples/hello-pascal/po/ja.po
+++ b/gettext-tools/examples/hello-pascal/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-pascal' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-pascal/po/ms.po b/gettext-tools/examples/hello-pascal/po/ms.po
index 693dc2f..63efaff 100644
--- a/gettext-tools/examples/hello-pascal/po/ms.po
+++ b/gettext-tools/examples/hello-pascal/po/ms.po
@@ -1,20 +1,21 @@
# hello-pascal Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-pascal package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.15-pre5\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.hello_world
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-pascal/po/nb.po b/gettext-tools/examples/hello-pascal/po/nb.po
index 4031fc3..731a357 100644
--- a/gettext-tools/examples/hello-pascal/po/nb.po
+++ b/gettext-tools/examples/hello-pascal/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.hello_world
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-pascal/po/nl.po b/gettext-tools/examples/hello-pascal/po/nl.po
index 7474ff0..4ba1de3 100644
--- a/gettext-tools/examples/hello-pascal/po/nl.po
+++ b/gettext-tools/examples/hello-pascal/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-pascal.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal-0.19-rc1\n"
+"Project-Id-Version: hello-pascal-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-pascal/po/pl.po b/gettext-tools/examples/hello-pascal/po/pl.po
index 652059c..ecdc425 100644
--- a/gettext-tools/examples/hello-pascal/po/pl.po
+++ b/gettext-tools/examples/hello-pascal/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-pascal domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-pascal/po/pt_BR.po b/gettext-tools/examples/hello-pascal/po/pt_BR.po
index f9fc14b..c5d93e2 100644
--- a/gettext-tools/examples/hello-pascal/po/pt_BR.po
+++ b/gettext-tools/examples/hello-pascal/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-pascal/po/ro.po b/gettext-tools/examples/hello-pascal/po/ro.po
index 79e575e..617fece 100644
--- a/gettext-tools/examples/hello-pascal/po/ro.po
+++ b/gettext-tools/examples/hello-pascal/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-pascal-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-pascal.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-pascal.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.13-pre1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.hello_world
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.running_as
#, object-pascal-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-pascal/po/ru.po b/gettext-tools/examples/hello-pascal/po/ru.po
index 7d2f794..081a6fb 100644
--- a/gettext-tools/examples/hello-pascal/po/ru.po
+++ b/gettext-tools/examples/hello-pascal/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-pascal/po/sk.po b/gettext-tools/examples/hello-pascal/po/sk.po
index e35d09c..e9c1cda 100644
--- a/gettext-tools/examples/hello-pascal/po/sk.po
+++ b/gettext-tools/examples/hello-pascal/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-pascal/po/sl.po b/gettext-tools/examples/hello-pascal/po/sl.po
index 2e56619..c2e676f 100644
--- a/gettext-tools/examples/hello-pascal/po/sl.po
+++ b/gettext-tools/examples/hello-pascal/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-pascal-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-pascal-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-pascal/po/sr.po b/gettext-tools/examples/hello-pascal/po/sr.po
index c5bebd7..30b1ba8 100644
--- a/gettext-tools/examples/hello-pascal/po/sr.po
+++ b/gettext-tools/examples/hello-pascal/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal-0.19-rc1\n"
+"Project-Id-Version: hello-pascal-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.hello_world
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-pascal/po/uk.po b/gettext-tools/examples/hello-pascal/po/uk.po
index f8b870c..f82e76e 100644
--- a/gettext-tools/examples/hello-pascal/po/uk.po
+++ b/gettext-tools/examples/hello-pascal/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-pascal/po/vi.po b/gettext-tools/examples/hello-pascal/po/vi.po
index 299b410..ba4aeae 100644
--- a/gettext-tools/examples/hello-pascal/po/vi.po
+++ b/gettext-tools/examples/hello-pascal/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.19.4-rc1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.hello_world
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-pascal/po/zh_CN.po b/gettext-tools/examples/hello-pascal/po/zh_CN.po
index 79abbb4..9a7fe65 100644
--- a/gettext-tools/examples/hello-pascal/po/zh_CN.po
+++ b/gettext-tools/examples/hello-pascal/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-pascal.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-pascal package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.13.1\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-pascal/po/zh_TW.po b/gettext-tools/examples/hello-pascal/po/zh_TW.po
index d393e89..306b6ee 100644
--- a/gettext-tools/examples/hello-pascal/po/zh_TW.po
+++ b/gettext-tools/examples/hello-pascal/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-pascal 0.18\n"
+"Project-Id-Version: hello-pascal 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-perl/po/bg.po b/gettext-tools/examples/hello-perl/po/bg.po
index de31df2..da79626 100644
--- a/gettext-tools/examples/hello-perl/po/bg.po
+++ b/gettext-tools/examples/hello-perl/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-perl package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-perl/po/ca.po b/gettext-tools/examples/hello-perl/po/ca.po
index a1c7c4d..7aa4fa1 100644
--- a/gettext-tools/examples/hello-perl/po/ca.po
+++ b/gettext-tools/examples/hello-perl/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-perl.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-perl/po/cs.po b/gettext-tools/examples/hello-perl/po/cs.po
index 5e95cec..6fb2bb4 100644
--- a/gettext-tools/examples/hello-perl/po/cs.po
+++ b/gettext-tools/examples/hello-perl/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.18\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-perl/po/da.po b/gettext-tools/examples/hello-perl/po/da.po
index ddbcfcd..176518c 100644
--- a/gettext-tools/examples/hello-perl/po/da.po
+++ b/gettext-tools/examples/hello-perl/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-perl.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.18\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
@@ -22,9 +24,9 @@ msgstr "Hej verden!"
#: hello-1.pl.in:19
#, perl-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
#: hello-2.pl.in:14
#, perl-brace-format
msgid "This program is running as process number {pid}."
-msgstr "Dette program kører som proces nummer {pid}."
+msgstr "Dette program kører som proces nummer {pid}."
diff --git a/gettext-tools/examples/hello-perl/po/de.po b/gettext-tools/examples/hello-perl/po/de.po
index 0940adc..98b735c 100644
--- a/gettext-tools/examples/hello-perl/po/de.po
+++ b/gettext-tools/examples/hello-perl/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-perl/po/es.po b/gettext-tools/examples/hello-perl/po/es.po
index 9a89ff7..2336184 100644
--- a/gettext-tools/examples/hello-perl/po/es.po
+++ b/gettext-tools/examples/hello-perl/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl-0.19.4-rc1\n"
+"Project-Id-Version: hello-perl-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-perl/po/fi.po b/gettext-tools/examples/hello-perl/po/fi.po
index 676e634..10ac0b9 100644
--- a/gettext-tools/examples/hello-perl/po/fi.po
+++ b/gettext-tools/examples/hello-perl/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello-1.pl.in:17 hello-2.pl.in:12
diff --git a/gettext-tools/examples/hello-perl/po/fr.po b/gettext-tools/examples/hello-perl/po/fr.po
index 4dbcd87..20fc65b 100644
--- a/gettext-tools/examples/hello-perl/po/fr.po
+++ b/gettext-tools/examples/hello-perl/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-perl 0.15-pre5\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-perl/po/hu.po b/gettext-tools/examples/hello-perl/po/hu.po
index c71420a..2f7e02a 100644
--- a/gettext-tools/examples/hello-perl/po/hu.po
+++ b/gettext-tools/examples/hello-perl/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-perl/po/it.po b/gettext-tools/examples/hello-perl/po/it.po
index 5b9f012..1597b94 100644
--- a/gettext-tools/examples/hello-perl/po/it.po
+++ b/gettext-tools/examples/hello-perl/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-perl.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.15-pre5\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-perl/po/ja.po b/gettext-tools/examples/hello-perl/po/ja.po
index af5185c..9e81d8e 100644
--- a/gettext-tools/examples/hello-perl/po/ja.po
+++ b/gettext-tools/examples/hello-perl/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-perl' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-perl/po/ms.po b/gettext-tools/examples/hello-perl/po/ms.po
index a53e261..ca13ffb 100644
--- a/gettext-tools/examples/hello-perl/po/ms.po
+++ b/gettext-tools/examples/hello-perl/po/ms.po
@@ -1,20 +1,21 @@
# hello-perl Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-perl package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.15-pre5\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-perl/po/nb.po b/gettext-tools/examples/hello-perl/po/nb.po
index 57ca88b..46eaca4 100644
--- a/gettext-tools/examples/hello-perl/po/nb.po
+++ b/gettext-tools/examples/hello-perl/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-perl/po/nl.po b/gettext-tools/examples/hello-perl/po/nl.po
index b4b1d5c..d702112 100644
--- a/gettext-tools/examples/hello-perl/po/nl.po
+++ b/gettext-tools/examples/hello-perl/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-perl.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl-0.19-rc1\n"
+"Project-Id-Version: hello-perl-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-perl/po/pl.po b/gettext-tools/examples/hello-perl/po/pl.po
index b87774e..f2a3fab 100644
--- a/gettext-tools/examples/hello-perl/po/pl.po
+++ b/gettext-tools/examples/hello-perl/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-perl domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-perl/po/pt_BR.po b/gettext-tools/examples/hello-perl/po/pt_BR.po
index d22623a..7d1dc73 100644
--- a/gettext-tools/examples/hello-perl/po/pt_BR.po
+++ b/gettext-tools/examples/hello-perl/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-perl/po/ro.po b/gettext-tools/examples/hello-perl/po/ro.po
index 267213b..1dd88b5 100644
--- a/gettext-tools/examples/hello-perl/po/ro.po
+++ b/gettext-tools/examples/hello-perl/po/ro.po
@@ -1,30 +1,34 @@
-# Mesajele în limba românã pentru pachetul hello-perl-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-perl.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-perl.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.13-pre1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello-1.pl.in:19
#, perl-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
#: hello-2.pl.in:14
-#, fuzzy, perl-brace-format
+#, perl-brace-format
msgid "This program is running as process number {pid}."
-msgstr "Acest program ruleazã ca procesul numãrul $pid."
+msgstr "Acest program rulează ca procesul numărul {pid}."
diff --git a/gettext-tools/examples/hello-perl/po/ru.po b/gettext-tools/examples/hello-perl/po/ru.po
index d1ad450..cd3a427 100644
--- a/gettext-tools/examples/hello-perl/po/ru.po
+++ b/gettext-tools/examples/hello-perl/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-perl/po/sk.po b/gettext-tools/examples/hello-perl/po/sk.po
index b8cf4ac..78761af 100644
--- a/gettext-tools/examples/hello-perl/po/sk.po
+++ b/gettext-tools/examples/hello-perl/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-perl/po/sl.po b/gettext-tools/examples/hello-perl/po/sl.po
index dffd220..9ee4ab9 100644
--- a/gettext-tools/examples/hello-perl/po/sl.po
+++ b/gettext-tools/examples/hello-perl/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-perl-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-perl-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-perl/po/sr.po b/gettext-tools/examples/hello-perl/po/sr.po
index 1c5783c..bd7d090 100644
--- a/gettext-tools/examples/hello-perl/po/sr.po
+++ b/gettext-tools/examples/hello-perl/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl-0.19-rc1\n"
+"Project-Id-Version: hello-perl-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-perl/po/uk.po b/gettext-tools/examples/hello-perl/po/uk.po
index d5961f8..4a7f6a7 100644
--- a/gettext-tools/examples/hello-perl/po/uk.po
+++ b/gettext-tools/examples/hello-perl/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-perl/po/vi.po b/gettext-tools/examples/hello-perl/po/vi.po
index b892b2e..af6c418 100644
--- a/gettext-tools/examples/hello-perl/po/vi.po
+++ b/gettext-tools/examples/hello-perl/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.19.4-rc1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello-1.pl.in:17 hello-2.pl.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-perl/po/zh_CN.po b/gettext-tools/examples/hello-perl/po/zh_CN.po
index 057bd9e..ac21253 100644
--- a/gettext-tools/examples/hello-perl/po/zh_CN.po
+++ b/gettext-tools/examples/hello-perl/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-perl.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-perl package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.13.1\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-perl/po/zh_TW.po b/gettext-tools/examples/hello-perl/po/zh_TW.po
index 24fb05c..ea83e93 100644
--- a/gettext-tools/examples/hello-perl/po/zh_TW.po
+++ b/gettext-tools/examples/hello-perl/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-perl 0.18\n"
+"Project-Id-Version: hello-perl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-php/po/bg.po b/gettext-tools/examples/hello-php/po/bg.po
index 703c9b6..fa0d395 100644
--- a/gettext-tools/examples/hello-php/po/bg.po
+++ b/gettext-tools/examples/hello-php/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-php package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-php 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-php/po/ca.po b/gettext-tools/examples/hello-php/po/ca.po
index ef306bf..fce5071 100644
--- a/gettext-tools/examples/hello-php/po/ca.po
+++ b/gettext-tools/examples/hello-php/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-php.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19.4-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-php/po/cs.po b/gettext-tools/examples/hello-php/po/cs.po
index a4e1245..2125374 100644
--- a/gettext-tools/examples/hello-php/po/cs.po
+++ b/gettext-tools/examples/hello-php/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.18\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-php/po/da.po b/gettext-tools/examples/hello-php/po/da.po
index bf36c92..be1ff60 100644
--- a/gettext-tools/examples/hello-php/po/da.po
+++ b/gettext-tools/examples/hello-php/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-php.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.18\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.php:12
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.php:14
#, php-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-php/po/de.po b/gettext-tools/examples/hello-php/po/de.po
index b9ab5a8..0b6df7f 100644
--- a/gettext-tools/examples/hello-php/po/de.po
+++ b/gettext-tools/examples/hello-php/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-php/po/es.po b/gettext-tools/examples/hello-php/po/es.po
index d129e49..1266675 100644
--- a/gettext-tools/examples/hello-php/po/es.po
+++ b/gettext-tools/examples/hello-php/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php-0.19.4-rc1\n"
+"Project-Id-Version: hello-php-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-php/po/fi.po b/gettext-tools/examples/hello-php/po/fi.po
index 297ba01..c66e4d3 100644
--- a/gettext-tools/examples/hello-php/po/fi.po
+++ b/gettext-tools/examples/hello-php/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.php:12
diff --git a/gettext-tools/examples/hello-php/po/fr.po b/gettext-tools/examples/hello-php/po/fr.po
index 514ff2a..35052a5 100644
--- a/gettext-tools/examples/hello-php/po/fr.po
+++ b/gettext-tools/examples/hello-php/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-php 0.15-pre5\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-php/po/hu.po b/gettext-tools/examples/hello-php/po/hu.po
index 71152df..e1c6b3d 100644
--- a/gettext-tools/examples/hello-php/po/hu.po
+++ b/gettext-tools/examples/hello-php/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.php:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-php/po/it.po b/gettext-tools/examples/hello-php/po/it.po
index 86a96d2..9502e15 100644
--- a/gettext-tools/examples/hello-php/po/it.po
+++ b/gettext-tools/examples/hello-php/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-php.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.15-pre5\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-php/po/ja.po b/gettext-tools/examples/hello-php/po/ja.po
index c215044..3af227d 100644
--- a/gettext-tools/examples/hello-php/po/ja.po
+++ b/gettext-tools/examples/hello-php/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-php' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-php 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-php/po/ms.po b/gettext-tools/examples/hello-php/po/ms.po
index 58c66a8..15d3edb 100644
--- a/gettext-tools/examples/hello-php/po/ms.po
+++ b/gettext-tools/examples/hello-php/po/ms.po
@@ -1,20 +1,21 @@
# hello-php Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-php package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.15-pre5\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.php:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-php/po/nb.po b/gettext-tools/examples/hello-php/po/nb.po
index ca46bcc..c3bb20b 100644
--- a/gettext-tools/examples/hello-php/po/nb.po
+++ b/gettext-tools/examples/hello-php/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.php:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-php/po/nl.po b/gettext-tools/examples/hello-php/po/nl.po
index c2ccb51..46bea9d 100644
--- a/gettext-tools/examples/hello-php/po/nl.po
+++ b/gettext-tools/examples/hello-php/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-php.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-php-0.19-rc1\n"
+"Project-Id-Version: hello-php-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-php/po/pl.po b/gettext-tools/examples/hello-php/po/pl.po
index 780f19e..0b98ab2 100644
--- a/gettext-tools/examples/hello-php/po/pl.po
+++ b/gettext-tools/examples/hello-php/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-php domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-php-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-php/po/pt_BR.po b/gettext-tools/examples/hello-php/po/pt_BR.po
index 3a3ac30..24f0396 100644
--- a/gettext-tools/examples/hello-php/po/pt_BR.po
+++ b/gettext-tools/examples/hello-php/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19.4-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-php/po/ro.po b/gettext-tools/examples/hello-php/po/ro.po
index 4644840..42c7be8 100644
--- a/gettext-tools/examples/hello-php/po/ro.po
+++ b/gettext-tools/examples/hello-php/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-php-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-php.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-php.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.13-pre1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.php:12
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.php:14
#, php-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-php/po/ru.po b/gettext-tools/examples/hello-php/po/ru.po
index ab073fa..74dcc99 100644
--- a/gettext-tools/examples/hello-php/po/ru.po
+++ b/gettext-tools/examples/hello-php/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19.4-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-php/po/sk.po b/gettext-tools/examples/hello-php/po/sk.po
index b5555a0..a039e76 100644
--- a/gettext-tools/examples/hello-php/po/sk.po
+++ b/gettext-tools/examples/hello-php/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-php 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-php/po/sl.po b/gettext-tools/examples/hello-php/po/sl.po
index a25b36a..03ddbeb 100644
--- a/gettext-tools/examples/hello-php/po/sl.po
+++ b/gettext-tools/examples/hello-php/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-php-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-php-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19.4-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-php/po/sr.po b/gettext-tools/examples/hello-php/po/sr.po
index 1b00577..509f740 100644
--- a/gettext-tools/examples/hello-php/po/sr.po
+++ b/gettext-tools/examples/hello-php/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-php-0.19-rc1\n"
+"Project-Id-Version: hello-php-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.php:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-php/po/uk.po b/gettext-tools/examples/hello-php/po/uk.po
index 69ff79f..b72085a 100644
--- a/gettext-tools/examples/hello-php/po/uk.po
+++ b/gettext-tools/examples/hello-php/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19.4-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-php/po/vi.po b/gettext-tools/examples/hello-php/po/vi.po
index 3376428..b5116db 100644
--- a/gettext-tools/examples/hello-php/po/vi.po
+++ b/gettext-tools/examples/hello-php/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.19.4-rc1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.php:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-php/po/zh_CN.po b/gettext-tools/examples/hello-php/po/zh_CN.po
index f077c9c..f9ffde4 100644
--- a/gettext-tools/examples/hello-php/po/zh_CN.po
+++ b/gettext-tools/examples/hello-php/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-php.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-php package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.13.1\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-php/po/zh_TW.po b/gettext-tools/examples/hello-php/po/zh_TW.po
index d9b0f02..dcacc45 100644
--- a/gettext-tools/examples/hello-php/po/zh_TW.po
+++ b/gettext-tools/examples/hello-php/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-php 0.18\n"
+"Project-Id-Version: hello-php 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-python/po/bg.po b/gettext-tools/examples/hello-python/po/bg.po
index e66acfe..bce9079 100644
--- a/gettext-tools/examples/hello-python/po/bg.po
+++ b/gettext-tools/examples/hello-python/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-python package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-python 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-python/po/ca.po b/gettext-tools/examples/hello-python/po/ca.po
index 285eda7..f8c59e4 100644
--- a/gettext-tools/examples/hello-python/po/ca.po
+++ b/gettext-tools/examples/hello-python/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-python.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19.4-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-python/po/cs.po b/gettext-tools/examples/hello-python/po/cs.po
index 425fde7..3490483 100644
--- a/gettext-tools/examples/hello-python/po/cs.po
+++ b/gettext-tools/examples/hello-python/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.18\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-python/po/da.po b/gettext-tools/examples/hello-python/po/da.po
index ae710b2..621472d 100644
--- a/gettext-tools/examples/hello-python/po/da.po
+++ b/gettext-tools/examples/hello-python/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-python.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.18\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.py.in:12
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.py.in:13
#, python-format
msgid "This program is running as process number %(pid)d."
-msgstr "Dette program kører som proces nummer %(pid)d."
+msgstr "Dette program kører som proces nummer %(pid)d."
diff --git a/gettext-tools/examples/hello-python/po/de.po b/gettext-tools/examples/hello-python/po/de.po
index a74565a..7371445 100644
--- a/gettext-tools/examples/hello-python/po/de.po
+++ b/gettext-tools/examples/hello-python/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-python/po/es.po b/gettext-tools/examples/hello-python/po/es.po
index 6111d1a..bca0fdc 100644
--- a/gettext-tools/examples/hello-python/po/es.po
+++ b/gettext-tools/examples/hello-python/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python-0.19.4-rc1\n"
+"Project-Id-Version: hello-python-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-python/po/fi.po b/gettext-tools/examples/hello-python/po/fi.po
index ec5059e..b15d7aa 100644
--- a/gettext-tools/examples/hello-python/po/fi.po
+++ b/gettext-tools/examples/hello-python/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.py.in:12
diff --git a/gettext-tools/examples/hello-python/po/fr.po b/gettext-tools/examples/hello-python/po/fr.po
index 03575f6..3d39fd4 100644
--- a/gettext-tools/examples/hello-python/po/fr.po
+++ b/gettext-tools/examples/hello-python/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-python 0.15-pre5\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-python/po/hu.po b/gettext-tools/examples/hello-python/po/hu.po
index ef40d7f..0d6358a 100644
--- a/gettext-tools/examples/hello-python/po/hu.po
+++ b/gettext-tools/examples/hello-python/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.py.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-python/po/it.po b/gettext-tools/examples/hello-python/po/it.po
index a508a38..3a835b2 100644
--- a/gettext-tools/examples/hello-python/po/it.po
+++ b/gettext-tools/examples/hello-python/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-python.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.15-pre5\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-python/po/ja.po b/gettext-tools/examples/hello-python/po/ja.po
index 86dbf52..c726c79 100644
--- a/gettext-tools/examples/hello-python/po/ja.po
+++ b/gettext-tools/examples/hello-python/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-python' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-python 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-python/po/ms.po b/gettext-tools/examples/hello-python/po/ms.po
index 73feaf6..4682623 100644
--- a/gettext-tools/examples/hello-python/po/ms.po
+++ b/gettext-tools/examples/hello-python/po/ms.po
@@ -1,20 +1,21 @@
# hello-python Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-python package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.15-pre5\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.py.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-python/po/nb.po b/gettext-tools/examples/hello-python/po/nb.po
index 8e3b117..857892b 100644
--- a/gettext-tools/examples/hello-python/po/nb.po
+++ b/gettext-tools/examples/hello-python/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.py.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-python/po/nl.po b/gettext-tools/examples/hello-python/po/nl.po
index 7382b53..4843bbc 100644
--- a/gettext-tools/examples/hello-python/po/nl.po
+++ b/gettext-tools/examples/hello-python/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-python.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-python-0.19-rc1\n"
+"Project-Id-Version: hello-python-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-python/po/pl.po b/gettext-tools/examples/hello-python/po/pl.po
index f393c7e..cd400b1 100644
--- a/gettext-tools/examples/hello-python/po/pl.po
+++ b/gettext-tools/examples/hello-python/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-python domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-python-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-python/po/pt_BR.po b/gettext-tools/examples/hello-python/po/pt_BR.po
index 8609a7f..420c09f 100644
--- a/gettext-tools/examples/hello-python/po/pt_BR.po
+++ b/gettext-tools/examples/hello-python/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19.4-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-python/po/ro.po b/gettext-tools/examples/hello-python/po/ro.po
index 68cc20a..b8749f1 100644
--- a/gettext-tools/examples/hello-python/po/ro.po
+++ b/gettext-tools/examples/hello-python/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-python-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-python.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-python.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.13-pre1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.py.in:12
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.py.in:13
#, python-format
msgid "This program is running as process number %(pid)d."
-msgstr "Acest program este rulat ca procesul numãrul %(pid)d."
+msgstr "Acest program rulează ca procesul numărul %(pid)d."
diff --git a/gettext-tools/examples/hello-python/po/ru.po b/gettext-tools/examples/hello-python/po/ru.po
index 85e9ee2..a4d7e34 100644
--- a/gettext-tools/examples/hello-python/po/ru.po
+++ b/gettext-tools/examples/hello-python/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19.4-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-python/po/sk.po b/gettext-tools/examples/hello-python/po/sk.po
index 8b30ce1..afd17f0 100644
--- a/gettext-tools/examples/hello-python/po/sk.po
+++ b/gettext-tools/examples/hello-python/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-python 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-python/po/sl.po b/gettext-tools/examples/hello-python/po/sl.po
index 0540d60..96e8772 100644
--- a/gettext-tools/examples/hello-python/po/sl.po
+++ b/gettext-tools/examples/hello-python/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-python-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-python-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19.4-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-python/po/sr.po b/gettext-tools/examples/hello-python/po/sr.po
index fba707c..76f7919 100644
--- a/gettext-tools/examples/hello-python/po/sr.po
+++ b/gettext-tools/examples/hello-python/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-python-0.19-rc1\n"
+"Project-Id-Version: hello-python-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.py.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-python/po/uk.po b/gettext-tools/examples/hello-python/po/uk.po
index d708dfb..8a2ee07 100644
--- a/gettext-tools/examples/hello-python/po/uk.po
+++ b/gettext-tools/examples/hello-python/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19.4-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-python/po/vi.po b/gettext-tools/examples/hello-python/po/vi.po
index ef40ed3..12473c9 100644
--- a/gettext-tools/examples/hello-python/po/vi.po
+++ b/gettext-tools/examples/hello-python/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.19.4-rc1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.py.in:12
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-python/po/zh_CN.po b/gettext-tools/examples/hello-python/po/zh_CN.po
index aca0434..13110e7 100644
--- a/gettext-tools/examples/hello-python/po/zh_CN.po
+++ b/gettext-tools/examples/hello-python/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-python.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-python package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.13.1\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-python/po/zh_TW.po b/gettext-tools/examples/hello-python/po/zh_TW.po
index 2142577..35964f7 100644
--- a/gettext-tools/examples/hello-python/po/zh_TW.po
+++ b/gettext-tools/examples/hello-python/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-python 0.18\n"
+"Project-Id-Version: hello-python 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-sh/po/bg.po b/gettext-tools/examples/hello-sh/po/bg.po
index 3bbe5c0..509b598 100644
--- a/gettext-tools/examples/hello-sh/po/bg.po
+++ b/gettext-tools/examples/hello-sh/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-sh package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-sh/po/ca.po b/gettext-tools/examples/hello-sh/po/ca.po
index dc14386..be17ef0 100644
--- a/gettext-tools/examples/hello-sh/po/ca.po
+++ b/gettext-tools/examples/hello-sh/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-sh.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-sh/po/cs.po b/gettext-tools/examples/hello-sh/po/cs.po
index 7bd1b77..4be82ac 100644
--- a/gettext-tools/examples/hello-sh/po/cs.po
+++ b/gettext-tools/examples/hello-sh/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.18\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-sh/po/da.po b/gettext-tools/examples/hello-sh/po/da.po
index 471b6be..3935616 100644
--- a/gettext-tools/examples/hello-sh/po/da.po
+++ b/gettext-tools/examples/hello-sh/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-sh.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.18\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.sh:14
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.sh:17
#, sh-format
msgid "This program is running as process number $pid."
-msgstr "Dette program kører som proces nummer $pid."
+msgstr "Dette program kører som proces nummer $pid."
diff --git a/gettext-tools/examples/hello-sh/po/de.po b/gettext-tools/examples/hello-sh/po/de.po
index c256c2d..0916517 100644
--- a/gettext-tools/examples/hello-sh/po/de.po
+++ b/gettext-tools/examples/hello-sh/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-sh/po/es.po b/gettext-tools/examples/hello-sh/po/es.po
index e0849db..9a9d08f 100644
--- a/gettext-tools/examples/hello-sh/po/es.po
+++ b/gettext-tools/examples/hello-sh/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh-0.19.4-rc1\n"
+"Project-Id-Version: hello-sh-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-sh/po/fi.po b/gettext-tools/examples/hello-sh/po/fi.po
index 540ca7f..06a0d13 100644
--- a/gettext-tools/examples/hello-sh/po/fi.po
+++ b/gettext-tools/examples/hello-sh/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.sh:14
diff --git a/gettext-tools/examples/hello-sh/po/fr.po b/gettext-tools/examples/hello-sh/po/fr.po
index 169275d..b3ac0b3 100644
--- a/gettext-tools/examples/hello-sh/po/fr.po
+++ b/gettext-tools/examples/hello-sh/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-sh 0.15-pre5\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-sh/po/hu.po b/gettext-tools/examples/hello-sh/po/hu.po
index 5663835..cea7b4c 100644
--- a/gettext-tools/examples/hello-sh/po/hu.po
+++ b/gettext-tools/examples/hello-sh/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.sh:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-sh/po/it.po b/gettext-tools/examples/hello-sh/po/it.po
index ff96ce5..db491fb 100644
--- a/gettext-tools/examples/hello-sh/po/it.po
+++ b/gettext-tools/examples/hello-sh/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-sh.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.15-pre5\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-sh/po/ja.po b/gettext-tools/examples/hello-sh/po/ja.po
index abf09fa..592e029 100644
--- a/gettext-tools/examples/hello-sh/po/ja.po
+++ b/gettext-tools/examples/hello-sh/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-sh' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-sh/po/ms.po b/gettext-tools/examples/hello-sh/po/ms.po
index 811d9c7..964f5ab 100644
--- a/gettext-tools/examples/hello-sh/po/ms.po
+++ b/gettext-tools/examples/hello-sh/po/ms.po
@@ -1,20 +1,21 @@
# hello-sh Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-sh package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.15-pre5\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.sh:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-sh/po/nb.po b/gettext-tools/examples/hello-sh/po/nb.po
index 2b817b7..57984b9 100644
--- a/gettext-tools/examples/hello-sh/po/nb.po
+++ b/gettext-tools/examples/hello-sh/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.sh:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-sh/po/nl.po b/gettext-tools/examples/hello-sh/po/nl.po
index f5d6044..8a356d6 100644
--- a/gettext-tools/examples/hello-sh/po/nl.po
+++ b/gettext-tools/examples/hello-sh/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-sh.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh-0.19-rc1\n"
+"Project-Id-Version: hello-sh-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-sh/po/pl.po b/gettext-tools/examples/hello-sh/po/pl.po
index 9e61c87..b3d9b5f 100644
--- a/gettext-tools/examples/hello-sh/po/pl.po
+++ b/gettext-tools/examples/hello-sh/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-sh domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-sh/po/pt_BR.po b/gettext-tools/examples/hello-sh/po/pt_BR.po
index b863df4..e16af44 100644
--- a/gettext-tools/examples/hello-sh/po/pt_BR.po
+++ b/gettext-tools/examples/hello-sh/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-sh/po/ro.po b/gettext-tools/examples/hello-sh/po/ro.po
index 624ef3b..f71003e 100644
--- a/gettext-tools/examples/hello-sh/po/ro.po
+++ b/gettext-tools/examples/hello-sh/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-sh-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-sh.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-sh.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.13-pre1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.sh:14
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.sh:17
#, sh-format
msgid "This program is running as process number $pid."
-msgstr "Acest program ruleazã ca procesul numãrul $pid."
+msgstr "Acest program rulează ca procesul numărul $pid."
diff --git a/gettext-tools/examples/hello-sh/po/ru.po b/gettext-tools/examples/hello-sh/po/ru.po
index 908435a..4df47e3 100644
--- a/gettext-tools/examples/hello-sh/po/ru.po
+++ b/gettext-tools/examples/hello-sh/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-sh/po/sk.po b/gettext-tools/examples/hello-sh/po/sk.po
index 1b9c812..c8d940d 100644
--- a/gettext-tools/examples/hello-sh/po/sk.po
+++ b/gettext-tools/examples/hello-sh/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-sh/po/sl.po b/gettext-tools/examples/hello-sh/po/sl.po
index 3ab2063..6eb2ede 100644
--- a/gettext-tools/examples/hello-sh/po/sl.po
+++ b/gettext-tools/examples/hello-sh/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-sh-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-sh-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-sh/po/sr.po b/gettext-tools/examples/hello-sh/po/sr.po
index fa61a9f..4637b28 100644
--- a/gettext-tools/examples/hello-sh/po/sr.po
+++ b/gettext-tools/examples/hello-sh/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh-0.19-rc1\n"
+"Project-Id-Version: hello-sh-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.sh:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-sh/po/uk.po b/gettext-tools/examples/hello-sh/po/uk.po
index 4f0072f..d31d1c2 100644
--- a/gettext-tools/examples/hello-sh/po/uk.po
+++ b/gettext-tools/examples/hello-sh/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-sh/po/vi.po b/gettext-tools/examples/hello-sh/po/vi.po
index c299b5c..701267f 100644
--- a/gettext-tools/examples/hello-sh/po/vi.po
+++ b/gettext-tools/examples/hello-sh/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.19.4-rc1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.sh:14
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-sh/po/zh_CN.po b/gettext-tools/examples/hello-sh/po/zh_CN.po
index 6762422..d9a1309 100644
--- a/gettext-tools/examples/hello-sh/po/zh_CN.po
+++ b/gettext-tools/examples/hello-sh/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-sh.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-sh package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.13.1\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-sh/po/zh_TW.po b/gettext-tools/examples/hello-sh/po/zh_TW.po
index 83cef72..a26bd93 100644
--- a/gettext-tools/examples/hello-sh/po/zh_TW.po
+++ b/gettext-tools/examples/hello-sh/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-sh 0.18\n"
+"Project-Id-Version: hello-sh 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/bg.po b/gettext-tools/examples/hello-smalltalk/po/bg.po
index 161c08c..e3e2fa2 100644
--- a/gettext-tools/examples/hello-smalltalk/po/bg.po
+++ b/gettext-tools/examples/hello-smalltalk/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-smalltalk package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/ca.po b/gettext-tools/examples/hello-smalltalk/po/ca.po
index c5788e0..843e6b8 100644
--- a/gettext-tools/examples/hello-smalltalk/po/ca.po
+++ b/gettext-tools/examples/hello-smalltalk/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-smalltalk.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/cs.po b/gettext-tools/examples/hello-smalltalk/po/cs.po
index 9822e40..dd2e947 100644
--- a/gettext-tools/examples/hello-smalltalk/po/cs.po
+++ b/gettext-tools/examples/hello-smalltalk/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.18\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/da.po b/gettext-tools/examples/hello-smalltalk/po/da.po
index e25cb3f..9f1a91e 100644
--- a/gettext-tools/examples/hello-smalltalk/po/da.po
+++ b/gettext-tools/examples/hello-smalltalk/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-smalltalk.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.18\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.st.in:31
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.st.in:32
#, smalltalk-format
msgid "This program is running as process number %1."
-msgstr "Dette program kører som proces nummer %1."
+msgstr "Dette program kører som proces nummer %1."
diff --git a/gettext-tools/examples/hello-smalltalk/po/de.po b/gettext-tools/examples/hello-smalltalk/po/de.po
index f7c9b66..fafc2be 100644
--- a/gettext-tools/examples/hello-smalltalk/po/de.po
+++ b/gettext-tools/examples/hello-smalltalk/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/es.po b/gettext-tools/examples/hello-smalltalk/po/es.po
index c98daea..b409d1d 100644
--- a/gettext-tools/examples/hello-smalltalk/po/es.po
+++ b/gettext-tools/examples/hello-smalltalk/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk-0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/fi.po b/gettext-tools/examples/hello-smalltalk/po/fi.po
index 9ebfdbc..c594f8a 100644
--- a/gettext-tools/examples/hello-smalltalk/po/fi.po
+++ b/gettext-tools/examples/hello-smalltalk/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.st.in:31
diff --git a/gettext-tools/examples/hello-smalltalk/po/fr.po b/gettext-tools/examples/hello-smalltalk/po/fr.po
index c962e86..8bc9051 100644
--- a/gettext-tools/examples/hello-smalltalk/po/fr.po
+++ b/gettext-tools/examples/hello-smalltalk/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-smalltalk 0.15-pre5\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/hu.po b/gettext-tools/examples/hello-smalltalk/po/hu.po
index aa301db..6b06f23 100644
--- a/gettext-tools/examples/hello-smalltalk/po/hu.po
+++ b/gettext-tools/examples/hello-smalltalk/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.st.in:31
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-smalltalk/po/it.po b/gettext-tools/examples/hello-smalltalk/po/it.po
index bc41136..1e521ee 100644
--- a/gettext-tools/examples/hello-smalltalk/po/it.po
+++ b/gettext-tools/examples/hello-smalltalk/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-smalltalk.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.15-pre5\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/ja.po b/gettext-tools/examples/hello-smalltalk/po/ja.po
index 985df9f..1952f2d 100644
--- a/gettext-tools/examples/hello-smalltalk/po/ja.po
+++ b/gettext-tools/examples/hello-smalltalk/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-smalltalk' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/ms.po b/gettext-tools/examples/hello-smalltalk/po/ms.po
index 04d8214..2d576f6 100644
--- a/gettext-tools/examples/hello-smalltalk/po/ms.po
+++ b/gettext-tools/examples/hello-smalltalk/po/ms.po
@@ -1,20 +1,21 @@
# hello-smalltalk Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-smalltalk package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.15-pre5\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.st.in:31
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-smalltalk/po/nb.po b/gettext-tools/examples/hello-smalltalk/po/nb.po
index ac8303e..3aa5eab 100644
--- a/gettext-tools/examples/hello-smalltalk/po/nb.po
+++ b/gettext-tools/examples/hello-smalltalk/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.st.in:31
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-smalltalk/po/nl.po b/gettext-tools/examples/hello-smalltalk/po/nl.po
index 7795a8e..ab81fb7 100644
--- a/gettext-tools/examples/hello-smalltalk/po/nl.po
+++ b/gettext-tools/examples/hello-smalltalk/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-smalltalk.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk-0.19-rc1\n"
+"Project-Id-Version: hello-smalltalk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/pl.po b/gettext-tools/examples/hello-smalltalk/po/pl.po
index bcfa821..2b8fdfe 100644
--- a/gettext-tools/examples/hello-smalltalk/po/pl.po
+++ b/gettext-tools/examples/hello-smalltalk/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-smalltalk domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/pt_BR.po b/gettext-tools/examples/hello-smalltalk/po/pt_BR.po
index d5646e5..3b7d808 100644
--- a/gettext-tools/examples/hello-smalltalk/po/pt_BR.po
+++ b/gettext-tools/examples/hello-smalltalk/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/ro.po b/gettext-tools/examples/hello-smalltalk/po/ro.po
index bad9e44..31514ad 100644
--- a/gettext-tools/examples/hello-smalltalk/po/ro.po
+++ b/gettext-tools/examples/hello-smalltalk/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-smalltalk-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-smalltalk.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-smalltalk.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.13-pre1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.st.in:31
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.st.in:32
#, smalltalk-format
msgid "This program is running as process number %1."
-msgstr "Acest program este rulat ca procesul numãrul %1."
+msgstr "Acest program rulează ca procesul numărul %1."
diff --git a/gettext-tools/examples/hello-smalltalk/po/ru.po b/gettext-tools/examples/hello-smalltalk/po/ru.po
index 559df2a..beb2a00 100644
--- a/gettext-tools/examples/hello-smalltalk/po/ru.po
+++ b/gettext-tools/examples/hello-smalltalk/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/sk.po b/gettext-tools/examples/hello-smalltalk/po/sk.po
index adee86e..935eae0 100644
--- a/gettext-tools/examples/hello-smalltalk/po/sk.po
+++ b/gettext-tools/examples/hello-smalltalk/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/sl.po b/gettext-tools/examples/hello-smalltalk/po/sl.po
index 36b15b1..4b34d0d 100644
--- a/gettext-tools/examples/hello-smalltalk/po/sl.po
+++ b/gettext-tools/examples/hello-smalltalk/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-smalltalk-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-smalltalk-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/sr.po b/gettext-tools/examples/hello-smalltalk/po/sr.po
index 1fa2546..ec5865c 100644
--- a/gettext-tools/examples/hello-smalltalk/po/sr.po
+++ b/gettext-tools/examples/hello-smalltalk/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk-0.19-rc1\n"
+"Project-Id-Version: hello-smalltalk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.st.in:31
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-smalltalk/po/uk.po b/gettext-tools/examples/hello-smalltalk/po/uk.po
index 20ffa74..925cb7d 100644
--- a/gettext-tools/examples/hello-smalltalk/po/uk.po
+++ b/gettext-tools/examples/hello-smalltalk/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/vi.po b/gettext-tools/examples/hello-smalltalk/po/vi.po
index f3d699d..a72dced 100644
--- a/gettext-tools/examples/hello-smalltalk/po/vi.po
+++ b/gettext-tools/examples/hello-smalltalk/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.19.4-rc1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.st.in:31
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-smalltalk/po/zh_CN.po b/gettext-tools/examples/hello-smalltalk/po/zh_CN.po
index f67420c..79f7fe7 100644
--- a/gettext-tools/examples/hello-smalltalk/po/zh_CN.po
+++ b/gettext-tools/examples/hello-smalltalk/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-smalltalk.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-smalltalk package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.13.1\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-smalltalk/po/zh_TW.po b/gettext-tools/examples/hello-smalltalk/po/zh_TW.po
index 6b2fef7..96a5f21 100644
--- a/gettext-tools/examples/hello-smalltalk/po/zh_TW.po
+++ b/gettext-tools/examples/hello-smalltalk/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-smalltalk 0.18\n"
+"Project-Id-Version: hello-smalltalk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/bg.po b/gettext-tools/examples/hello-tcl-tk/po/bg.po
index 0312265..4b354fe 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/bg.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-tcl-tk package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/ca.po b/gettext-tools/examples/hello-tcl-tk/po/ca.po
index 9dbaaad..4bc51a0 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/ca.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-tcl-tk.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/cs.po b/gettext-tools/examples/hello-tcl-tk/po/cs.po
index 8ea66ff..d2a13c1 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/cs.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.18\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/da.po b/gettext-tools/examples/hello-tcl-tk/po/da.po
index 14b8130..5c08c1c 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/da.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-tcl-tk.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.18\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.tcl:13
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.tcl:16
#, tcl-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-tcl-tk/po/de.po b/gettext-tools/examples/hello-tcl-tk/po/de.po
index 4a867c2..7954785 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/de.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/es.po b/gettext-tools/examples/hello-tcl-tk/po/es.po
index 7ca0808..50c2551 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/es.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk-0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/fi.po b/gettext-tools/examples/hello-tcl-tk/po/fi.po
index c1db4fb..a7fcf0a 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/fi.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.tcl:13
diff --git a/gettext-tools/examples/hello-tcl-tk/po/fr.po b/gettext-tools/examples/hello-tcl-tk/po/fr.po
index c5584cf..5b3be04 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/fr.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl-tk 0.15-pre5\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/hu.po b/gettext-tools/examples/hello-tcl-tk/po/hu.po
index ab6011f..810a194 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/hu.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.tcl:13
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/it.po b/gettext-tools/examples/hello-tcl-tk/po/it.po
index 2c483d3..3ebc778 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/it.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-tcl-tk.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.15-pre5\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/ja.po b/gettext-tools/examples/hello-tcl-tk/po/ja.po
index b783064..a9cfaab 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/ja.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-tcl-tk' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/ms.po b/gettext-tools/examples/hello-tcl-tk/po/ms.po
index 919ac87..41a0e64 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/ms.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/ms.po
@@ -1,20 +1,21 @@
# hello-tcl-tk Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-tcl-tk package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.15-pre5\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.tcl:13
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/nb.po b/gettext-tools/examples/hello-tcl-tk/po/nb.po
index a546abf..38b3690 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/nb.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.tcl:13
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/nl.po b/gettext-tools/examples/hello-tcl-tk/po/nl.po
index 52b8aaa..410bd67 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/nl.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-tcl-tk.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk-0.19-rc1\n"
+"Project-Id-Version: hello-tcl-tk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/pl.po b/gettext-tools/examples/hello-tcl-tk/po/pl.po
index 35c26ca..2c9a7b0 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/pl.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-tcl-tk domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/pt_BR.po b/gettext-tools/examples/hello-tcl-tk/po/pt_BR.po
index 257f7a2..bc2d3fc 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/pt_BR.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/ro.po b/gettext-tools/examples/hello-tcl-tk/po/ro.po
index 0ddf9a3..f0aa7f0 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/ro.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-tcl-tk-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-tcl-tk.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-tcl-tk.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.13-pre1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.tcl:13
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.tcl:16
#, tcl-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-tcl-tk/po/ru.po b/gettext-tools/examples/hello-tcl-tk/po/ru.po
index 3626264..5b61de3 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/ru.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/sk.po b/gettext-tools/examples/hello-tcl-tk/po/sk.po
index 59ab69d..9731205 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/sk.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/sl.po b/gettext-tools/examples/hello-tcl-tk/po/sl.po
index 7362466..64730a9 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/sl.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-tcl-tk-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-tcl-tk-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/sr.po b/gettext-tools/examples/hello-tcl-tk/po/sr.po
index 196c778..d56407d 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/sr.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk-0.19-rc1\n"
+"Project-Id-Version: hello-tcl-tk-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.tcl:13
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/uk.po b/gettext-tools/examples/hello-tcl-tk/po/uk.po
index b087916..455a856 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/uk.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/vi.po b/gettext-tools/examples/hello-tcl-tk/po/vi.po
index 17074c9..bfb9743 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/vi.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.tcl:13
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/zh_CN.po b/gettext-tools/examples/hello-tcl-tk/po/zh_CN.po
index 087dfc3..ee214eb 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/zh_CN.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-tcl-tk.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-tcl-tk package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.13.1\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl-tk/po/zh_TW.po b/gettext-tools/examples/hello-tcl-tk/po/zh_TW.po
index b312355..ecfd2a4 100644
--- a/gettext-tools/examples/hello-tcl-tk/po/zh_TW.po
+++ b/gettext-tools/examples/hello-tcl-tk/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-tk 0.18\n"
+"Project-Id-Version: hello-tcl-tk 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-tcl/po/bg.po b/gettext-tools/examples/hello-tcl/po/bg.po
index a57097b..f5a865d 100644
--- a/gettext-tools/examples/hello-tcl/po/bg.po
+++ b/gettext-tools/examples/hello-tcl/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-tcl package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl/po/ca.po b/gettext-tools/examples/hello-tcl/po/ca.po
index ace9423..6410238 100644
--- a/gettext-tools/examples/hello-tcl/po/ca.po
+++ b/gettext-tools/examples/hello-tcl/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-tcl.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-tcl/po/cs.po b/gettext-tools/examples/hello-tcl/po/cs.po
index 1815f96..64ac01f 100644
--- a/gettext-tools/examples/hello-tcl/po/cs.po
+++ b/gettext-tools/examples/hello-tcl/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.18\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-tcl/po/da.po b/gettext-tools/examples/hello-tcl/po/da.po
index 2833310..fbbecb2 100644
--- a/gettext-tools/examples/hello-tcl/po/da.po
+++ b/gettext-tools/examples/hello-tcl/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-tcl.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.18\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.tcl:11
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.tcl:12
#, tcl-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
diff --git a/gettext-tools/examples/hello-tcl/po/de.po b/gettext-tools/examples/hello-tcl/po/de.po
index 66cf7a7..ccedf75 100644
--- a/gettext-tools/examples/hello-tcl/po/de.po
+++ b/gettext-tools/examples/hello-tcl/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl/po/es.po b/gettext-tools/examples/hello-tcl/po/es.po
index 0232ff5..868d734 100644
--- a/gettext-tools/examples/hello-tcl/po/es.po
+++ b/gettext-tools/examples/hello-tcl/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-tcl/po/fi.po b/gettext-tools/examples/hello-tcl/po/fi.po
index db84716..48e70d7 100644
--- a/gettext-tools/examples/hello-tcl/po/fi.po
+++ b/gettext-tools/examples/hello-tcl/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.tcl:11
diff --git a/gettext-tools/examples/hello-tcl/po/fr.po b/gettext-tools/examples/hello-tcl/po/fr.po
index 92c974e..8145920 100644
--- a/gettext-tools/examples/hello-tcl/po/fr.po
+++ b/gettext-tools/examples/hello-tcl/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl 0.15-pre5\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl/po/hu.po b/gettext-tools/examples/hello-tcl/po/hu.po
index 16f2afd..60b70f2 100644
--- a/gettext-tools/examples/hello-tcl/po/hu.po
+++ b/gettext-tools/examples/hello-tcl/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.tcl:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl/po/it.po b/gettext-tools/examples/hello-tcl/po/it.po
index a5751e7..367461c 100644
--- a/gettext-tools/examples/hello-tcl/po/it.po
+++ b/gettext-tools/examples/hello-tcl/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-tcl.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.15-pre5\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-tcl/po/ja.po b/gettext-tools/examples/hello-tcl/po/ja.po
index 28bf4d1..2e7706a 100644
--- a/gettext-tools/examples/hello-tcl/po/ja.po
+++ b/gettext-tools/examples/hello-tcl/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-tcl' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-tcl/po/ms.po b/gettext-tools/examples/hello-tcl/po/ms.po
index 53c5898..60e5406 100644
--- a/gettext-tools/examples/hello-tcl/po/ms.po
+++ b/gettext-tools/examples/hello-tcl/po/ms.po
@@ -1,20 +1,21 @@
# hello-tcl Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-tcl package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.15-pre5\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.tcl:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl/po/nb.po b/gettext-tools/examples/hello-tcl/po/nb.po
index 9f22216..d1084be 100644
--- a/gettext-tools/examples/hello-tcl/po/nb.po
+++ b/gettext-tools/examples/hello-tcl/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.tcl:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl/po/nl.po b/gettext-tools/examples/hello-tcl/po/nl.po
index cbb4fe1..c8a6c0b 100644
--- a/gettext-tools/examples/hello-tcl/po/nl.po
+++ b/gettext-tools/examples/hello-tcl/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-tcl.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-0.19-rc1\n"
+"Project-Id-Version: hello-tcl-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-tcl/po/pl.po b/gettext-tools/examples/hello-tcl/po/pl.po
index b9e90d1..d7cea1d 100644
--- a/gettext-tools/examples/hello-tcl/po/pl.po
+++ b/gettext-tools/examples/hello-tcl/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-tcl domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-tcl/po/pt_BR.po b/gettext-tools/examples/hello-tcl/po/pt_BR.po
index 5df43eb..5ae6259 100644
--- a/gettext-tools/examples/hello-tcl/po/pt_BR.po
+++ b/gettext-tools/examples/hello-tcl/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-tcl/po/ro.po b/gettext-tools/examples/hello-tcl/po/ro.po
index 1d0768b..6f7b96f 100644
--- a/gettext-tools/examples/hello-tcl/po/ro.po
+++ b/gettext-tools/examples/hello-tcl/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-tcl-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-tcl.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-tcl.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.13-pre1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.tcl:11
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.tcl:12
#, tcl-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
diff --git a/gettext-tools/examples/hello-tcl/po/ru.po b/gettext-tools/examples/hello-tcl/po/ru.po
index 044ced7..ea819f7 100644
--- a/gettext-tools/examples/hello-tcl/po/ru.po
+++ b/gettext-tools/examples/hello-tcl/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-tcl/po/sk.po b/gettext-tools/examples/hello-tcl/po/sk.po
index 611bbed..9e93397 100644
--- a/gettext-tools/examples/hello-tcl/po/sk.po
+++ b/gettext-tools/examples/hello-tcl/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-tcl/po/sl.po b/gettext-tools/examples/hello-tcl/po/sl.po
index ef632b9..9c3bf1d 100644
--- a/gettext-tools/examples/hello-tcl/po/sl.po
+++ b/gettext-tools/examples/hello-tcl/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-tcl-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-tcl-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-tcl/po/sr.po b/gettext-tools/examples/hello-tcl/po/sr.po
index 1685d2a..b670fd1 100644
--- a/gettext-tools/examples/hello-tcl/po/sr.po
+++ b/gettext-tools/examples/hello-tcl/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl-0.19-rc1\n"
+"Project-Id-Version: hello-tcl-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.tcl:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl/po/uk.po b/gettext-tools/examples/hello-tcl/po/uk.po
index 9968d90..0b9ab46 100644
--- a/gettext-tools/examples/hello-tcl/po/uk.po
+++ b/gettext-tools/examples/hello-tcl/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-tcl/po/vi.po b/gettext-tools/examples/hello-tcl/po/vi.po
index a5dd992..68f5dc3 100644
--- a/gettext-tools/examples/hello-tcl/po/vi.po
+++ b/gettext-tools/examples/hello-tcl/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.19.4-rc1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.tcl:11
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-tcl/po/zh_CN.po b/gettext-tools/examples/hello-tcl/po/zh_CN.po
index df04972..7206ff2 100644
--- a/gettext-tools/examples/hello-tcl/po/zh_CN.po
+++ b/gettext-tools/examples/hello-tcl/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-tcl.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-tcl package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.13.1\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-tcl/po/zh_TW.po b/gettext-tools/examples/hello-tcl/po/zh_TW.po
index 8a4f2cf..1717773 100644
--- a/gettext-tools/examples/hello-tcl/po/zh_TW.po
+++ b/gettext-tools/examples/hello-tcl/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-tcl 0.18\n"
+"Project-Id-Version: hello-tcl 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/hello-ycp/po/bg.po b/gettext-tools/examples/hello-ycp/po/bg.po
index 947bb49..e155791 100644
--- a/gettext-tools/examples/hello-ycp/po/bg.po
+++ b/gettext-tools/examples/hello-ycp/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for hello-ycp package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-ycp/po/ca.po b/gettext-tools/examples/hello-ycp/po/ca.po
index bb2e93e..c5c66c9 100644
--- a/gettext-tools/examples/hello-ycp/po/ca.po
+++ b/gettext-tools/examples/hello-ycp/po/ca.po
@@ -1,13 +1,13 @@
# Catalan messages for GNU hello-ycp.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
diff --git a/gettext-tools/examples/hello-ycp/po/cs.po b/gettext-tools/examples/hello-ycp/po/cs.po
index c3ec34b..c91640e 100644
--- a/gettext-tools/examples/hello-ycp/po/cs.po
+++ b/gettext-tools/examples/hello-ycp/po/cs.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.18\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
diff --git a/gettext-tools/examples/hello-ycp/po/da.po b/gettext-tools/examples/hello-ycp/po/da.po
index 337abd0..0d7a5c8 100644
--- a/gettext-tools/examples/hello-ycp/po/da.po
+++ b/gettext-tools/examples/hello-ycp/po/da.po
@@ -1,18 +1,20 @@
# Danish messages for hello-ycp.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.18\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.ycp:15
@@ -22,4 +24,4 @@ msgstr "Hej verden!"
#: hello.ycp:19
#, ycp-format
msgid "This program is running as process number %1."
-msgstr "Dette program kører som proces nummer %1."
+msgstr "Dette program kører som proces nummer %1."
diff --git a/gettext-tools/examples/hello-ycp/po/de.po b/gettext-tools/examples/hello-ycp/po/de.po
index 03806fb..34c6eaf 100644
--- a/gettext-tools/examples/hello-ycp/po/de.po
+++ b/gettext-tools/examples/hello-ycp/po/de.po
@@ -5,13 +5,14 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-ycp/po/es.po b/gettext-tools/examples/hello-ycp/po/es.po
index 10cdf4f..27ba6ee 100644
--- a/gettext-tools/examples/hello-ycp/po/es.po
+++ b/gettext-tools/examples/hello-ycp/po/es.po
@@ -4,13 +4,13 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp-0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
diff --git a/gettext-tools/examples/hello-ycp/po/fi.po b/gettext-tools/examples/hello-ycp/po/fi.po
index 1e6d28e..daaab3f 100644
--- a/gettext-tools/examples/hello-ycp/po/fi.po
+++ b/gettext-tools/examples/hello-ycp/po/fi.po
@@ -1,20 +1,21 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello.ycp:15
diff --git a/gettext-tools/examples/hello-ycp/po/fr.po b/gettext-tools/examples/hello-ycp/po/fr.po
index 2ca09d1..38067b3 100644
--- a/gettext-tools/examples/hello-ycp/po/fr.po
+++ b/gettext-tools/examples/hello-ycp/po/fr.po
@@ -1,14 +1,17 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-ycp 0.15-pre5\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-ycp/po/hu.po b/gettext-tools/examples/hello-ycp/po/hu.po
index 5863363..8fe8f20 100644
--- a/gettext-tools/examples/hello-ycp/po/hu.po
+++ b/gettext-tools/examples/hello-ycp/po/hu.po
@@ -3,12 +3,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello.ycp:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-ycp/po/it.po b/gettext-tools/examples/hello-ycp/po/it.po
index d017e50..b265952 100644
--- a/gettext-tools/examples/hello-ycp/po/it.po
+++ b/gettext-tools/examples/hello-ycp/po/it.po
@@ -1,13 +1,13 @@
# Italian messages for hello-ycp.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.15-pre5\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
diff --git a/gettext-tools/examples/hello-ycp/po/ja.po b/gettext-tools/examples/hello-ycp/po/ja.po
index 8ed8d69..8eac737 100644
--- a/gettext-tools/examples/hello-ycp/po/ja.po
+++ b/gettext-tools/examples/hello-ycp/po/ja.po
@@ -1,13 +1,13 @@
# Translation of `hello-ycp' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
diff --git a/gettext-tools/examples/hello-ycp/po/ms.po b/gettext-tools/examples/hello-ycp/po/ms.po
index 5a5c293..301dad5 100644
--- a/gettext-tools/examples/hello-ycp/po/ms.po
+++ b/gettext-tools/examples/hello-ycp/po/ms.po
@@ -1,20 +1,21 @@
# hello-ycp Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-ycp package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.15-pre5\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.ycp:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-ycp/po/nb.po b/gettext-tools/examples/hello-ycp/po/nb.po
index f73642a..b3357d8 100644
--- a/gettext-tools/examples/hello-ycp/po/nb.po
+++ b/gettext-tools/examples/hello-ycp/po/nb.po
@@ -2,13 +2,13 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello.ycp:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-ycp/po/nl.po b/gettext-tools/examples/hello-ycp/po/nl.po
index f722e51..d7cb82c 100644
--- a/gettext-tools/examples/hello-ycp/po/nl.po
+++ b/gettext-tools/examples/hello-ycp/po/nl.po
@@ -1,16 +1,17 @@
# Dutch translations for GNU hello-ycp.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp-0.19-rc1\n"
+"Project-Id-Version: hello-ycp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
diff --git a/gettext-tools/examples/hello-ycp/po/pl.po b/gettext-tools/examples/hello-ycp/po/pl.po
index 1701030..9f02c69 100644
--- a/gettext-tools/examples/hello-ycp/po/pl.po
+++ b/gettext-tools/examples/hello-ycp/po/pl.po
@@ -1,12 +1,12 @@
# Polish translations for the GNU gettext messages, hello-ycp domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp-0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
diff --git a/gettext-tools/examples/hello-ycp/po/pt_BR.po b/gettext-tools/examples/hello-ycp/po/pt_BR.po
index eed1a8e..9da3e58 100644
--- a/gettext-tools/examples/hello-ycp/po/pt_BR.po
+++ b/gettext-tools/examples/hello-ycp/po/pt_BR.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
diff --git a/gettext-tools/examples/hello-ycp/po/ro.po b/gettext-tools/examples/hello-ycp/po/ro.po
index 738fd2b..c73bb3a 100644
--- a/gettext-tools/examples/hello-ycp/po/ro.po
+++ b/gettext-tools/examples/hello-ycp/po/ro.po
@@ -1,25 +1,29 @@
-# Mesajele în limba românã pentru pachetul hello-ycp-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-ycp.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul hello-ycp.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.13-pre1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello.ycp:15
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
+msgstr "Salut, lume!"
#: hello.ycp:19
#, ycp-format
msgid "This program is running as process number %1."
-msgstr "Acest program este rulat ca procesul numãrul %1."
+msgstr "Acest program rulează ca procesul numărul %1."
diff --git a/gettext-tools/examples/hello-ycp/po/ru.po b/gettext-tools/examples/hello-ycp/po/ru.po
index 0804f38..4dee0f7 100644
--- a/gettext-tools/examples/hello-ycp/po/ru.po
+++ b/gettext-tools/examples/hello-ycp/po/ru.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
diff --git a/gettext-tools/examples/hello-ycp/po/sk.po b/gettext-tools/examples/hello-ycp/po/sk.po
index dc55a41..acd9782 100644
--- a/gettext-tools/examples/hello-ycp/po/sk.po
+++ b/gettext-tools/examples/hello-ycp/po/sk.po
@@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: GNU hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
diff --git a/gettext-tools/examples/hello-ycp/po/sl.po b/gettext-tools/examples/hello-ycp/po/sl.po
index 5a94dde..d56746d 100644
--- a/gettext-tools/examples/hello-ycp/po/sl.po
+++ b/gettext-tools/examples/hello-ycp/po/sl.po
@@ -2,13 +2,13 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: hello-ycp-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: hello-ycp-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
diff --git a/gettext-tools/examples/hello-ycp/po/sr.po b/gettext-tools/examples/hello-ycp/po/sr.po
index a6a1151..9322f02 100644
--- a/gettext-tools/examples/hello-ycp/po/sr.po
+++ b/gettext-tools/examples/hello-ycp/po/sr.po
@@ -2,12 +2,12 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp-0.19-rc1\n"
+"Project-Id-Version: hello-ycp-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello.ycp:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-ycp/po/uk.po b/gettext-tools/examples/hello-ycp/po/uk.po
index 138a7ce..e51d0a7 100644
--- a/gettext-tools/examples/hello-ycp/po/uk.po
+++ b/gettext-tools/examples/hello-ycp/po/uk.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
diff --git a/gettext-tools/examples/hello-ycp/po/vi.po b/gettext-tools/examples/hello-ycp/po/vi.po
index 54c2cb3..33821da 100644
--- a/gettext-tools/examples/hello-ycp/po/vi.po
+++ b/gettext-tools/examples/hello-ycp/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.19.4-rc1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello.ycp:15
msgid "Hello, world!"
diff --git a/gettext-tools/examples/hello-ycp/po/zh_CN.po b/gettext-tools/examples/hello-ycp/po/zh_CN.po
index 61833b5..597d8cb 100644
--- a/gettext-tools/examples/hello-ycp/po/zh_CN.po
+++ b/gettext-tools/examples/hello-ycp/po/zh_CN.po
@@ -1,14 +1,15 @@
# zh_CN translation for hello-ycp.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the hello-ycp package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.13.1\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
diff --git a/gettext-tools/examples/hello-ycp/po/zh_TW.po b/gettext-tools/examples/hello-ycp/po/zh_TW.po
index 8a32068..c57b936 100644
--- a/gettext-tools/examples/hello-ycp/po/zh_TW.po
+++ b/gettext-tools/examples/hello-ycp/po/zh_TW.po
@@ -2,13 +2,13 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: hello-ycp 0.18\n"
+"Project-Id-Version: hello-ycp 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
diff --git a/gettext-tools/examples/po/Makefile.in b/gettext-tools/examples/po/Makefile.in
index 50ae90f..a9f699d 100644
--- a/gettext-tools/examples/po/Makefile.in
+++ b/gettext-tools/examples/po/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -76,8 +86,6 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = po
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../../build-aux/mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../m4/fixautomake.m4 \
$(top_srcdir)/../../gettext-runtime/m4/nls.m4 \
@@ -86,6 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/fixautomake.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@@ -109,6 +118,8 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/../../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -187,6 +198,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -386,7 +398,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits po/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits po/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -556,6 +567,8 @@ uninstall-am:
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
.sin.sed:
sed -e '/^#/d' $< > t-$@
diff --git a/gettext-tools/examples/po/af.po b/gettext-tools/examples/po/af.po
index 88e07a5..8fe6794 100644
--- a/gettext-tools/examples/po/af.po
+++ b/gettext-tools/examples/po/af.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples-0.13.1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2003-12-31 10:30+2\n"
"Last-Translator: Ysbeer <ysbeer@af.org.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hallo wêreld!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Hierdie program loop as prosesnommer %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Hierdie program loop as prosesnommer %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -55,12 +67,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/ast.po b/gettext-tools/examples/po/ast.po
index 2a51288..11611c8 100644
--- a/gettext-tools/examples/po/ast.po
+++ b/gettext-tools/examples/po/ast.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples-0.17\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2009-12-15 12:16+0100\n"
"Last-Translator: Marquinos <maacub@gmail.com>\n"
"Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n"
@@ -18,12 +18,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,18 +35,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "¡Hola, mundu!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Esti programa ta corriendo como'l procesu númberu %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Esti programa ta corriendo como'l procesu númberu %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -56,12 +68,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/bg.po b/gettext-tools/examples/po/bg.po
index 282e77b..00a9459 100644
--- a/gettext-tools/examples/po/bg.po
+++ b/gettext-tools/examples/po/bg.po
@@ -1,15 +1,15 @@
# Bulgarian translations for gettext-examples package.
# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: GNU gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-24 08:27+0300\n"
+"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Здравейте на вÑички !"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Програмата е пуÑната под Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¾Ð¼ÐµÑ€ %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Здравейте!</big>\n"
+"Програмата е пуÑната под Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¾Ð¼ÐµÑ€ <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Това е друг текÑÑ‚</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ртова е един друг текÑÑ‚</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Здравейте"
@@ -55,13 +69,17 @@ msgstr "Здравейте"
msgid "Example Application"
msgstr "Примерно приложение"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Обноваване на текÑÑ‚"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Задава чувÑтвителноÑÑ‚ на надпиÑа."
+msgid "Use XML markup"
+msgstr "Използване на XML markup"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ надпиÑа да е чувÑтвителен."
+msgid "Whether to use XML markup in the text."
+msgstr "Дали да Ñе използва XML markup за текÑта."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -103,3 +121,9 @@ msgstr "Програмата е пуÑната под Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¾Ð¼ÐµÑ€ {0
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Програмата е пуÑната под Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¾Ð¼ÐµÑ€ {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Задава чувÑтвителноÑÑ‚ на надпиÑа."
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ надпиÑа да е чувÑтвителен."
diff --git a/gettext-tools/examples/po/ca.po b/gettext-tools/examples/po/ca.po
index e02ed58..5909754 100644
--- a/gettext-tools/examples/po/ca.po
+++ b/gettext-tools/examples/po/ca.po
@@ -1,14 +1,14 @@
# Catalan messages for GNU gettext-examples.
-# Copyright (C) 2003, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2003, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-12 14:23+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-24 18:48+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
@@ -18,12 +18,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,18 +35,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hola, món!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Aquest programa està corrent amb el número de procés %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hola, món!</big>\n"
+"Aquest programa està corrent amb el número de procés <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Aquest és un altre text</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Aquest és un altre text més</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Hola"
@@ -56,13 +70,17 @@ msgstr "Hola"
msgid "Example Application"
msgstr "Aplicació d’exemple"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Actualitza el text"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Fes sensible l’etiqueta"
+msgid "Use XML markup"
+msgstr "Empra etiquetatge XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Indica si fer l’etiqueta sensible o no."
+msgid "Whether to use XML markup in the text."
+msgstr "Indica si es permet emprar etiquetatge XML al text."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/cs.po b/gettext-tools/examples/po/cs.po
index c33e2d6..194a194 100644
--- a/gettext-tools/examples/po/cs.po
+++ b/gettext-tools/examples/po/cs.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.18\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2011-11-30 16:10+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-26 08:43+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
@@ -19,12 +19,11 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -37,33 +36,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Ahoj světe!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Tento program běží jako proces Äíslo %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Ahoj světe!</big>\n"
+"Tento program běží jako proces Äíslo <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Toto je nějaký další text</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><u>Toto je nějaký ještě další text</u></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Ahoj"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Ukázková aplikace"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Aktualizovat text"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Používat znaÄkovací jazyk XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Zda v textu používat znaÄkovací jazyk XML."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/da.po b/gettext-tools/examples/po/da.po
index 5f8943b..25728ae 100644
--- a/gettext-tools/examples/po/da.po
+++ b/gettext-tools/examples/po/da.po
@@ -1,28 +1,29 @@
# Danish messages for gettext-examples.
-# Copyright (C) 2011 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006
-# Keld Simonsen <keld@keldix.com>, 2011
+# Jan Djærv <jan.h.d@swipnet.se>, 2003, 2006.
+# Keld Simonsen <keld@keldix.com>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.18\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2011-01-08 12:39+0100\n"
-"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-27 12:39+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,43 +36,62 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hej verden!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
-msgstr "Dette program kører som proces nummer %d."
+msgstr "Dette program kører som proces nummer %d."
+
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hej verden!</big>\n"
+"Dette program kører som proces nummer <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dette er en anden tekst</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Endnu en tekst</i></big>"
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hej"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Eksempelprogram"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Opdater tekst"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Brug XML-opmærkning"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Hvorvidt der skal bruges XML-opmærkning i teksten."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
#, ycp-format
msgid "This program is running as process number %1."
-msgstr "Dette program kører som proces nummer %1."
+msgstr "Dette program kører som proces nummer %1."
#: hello-c++-kde/hello.cc:46
msgid "Hello example"
-msgstr "Eksempel på hilsen"
+msgstr "Eksempel på hilsen"
#: hello-c++-kde/hello.cc:48
msgid "Hello world example"
@@ -80,26 +100,26 @@ msgstr "\"Hej verden\"-eksempel"
#: hello-sh/hello.sh:17
#, sh-format
msgid "This program is running as process number $pid."
-msgstr "Dette program kører som proces nummer $pid."
+msgstr "Dette program kører som proces nummer $pid."
#: hello-python/hello.py.in:13
#, python-format
msgid "This program is running as process number %(pid)d."
-msgstr "Dette program kører som proces nummer %(pid)d."
+msgstr "Dette program kører som proces nummer %(pid)d."
#: hello-clisp/hello.lisp.in:13 hello-guile/hello.scm:17
#, scheme-format
msgid "This program is running as process number ~D."
-msgstr "Dette program kører som proces nummer ~D."
+msgstr "Dette program kører som proces nummer ~D."
#: hello-java/Hello.java:18 hello-java-awt/Hello.java:28
#: hello-java-swing/Hello.java:25 hello-java-qtjambi/Hello.java:34
#: hello-csharp/hello.cs:17 hello-csharp-forms/hello.cs:36
#, csharp-format
msgid "This program is running as process number {0}."
-msgstr "Dette program kører som proces nummer {0}."
+msgstr "Dette program kører som proces nummer {0}."
#: hello-perl/hello-2.pl.in:14
#, perl-brace-format
msgid "This program is running as process number {pid}."
-msgstr "Dette program kører som proces nummer {pid}."
+msgstr "Dette program kører som proces nummer {pid}."
diff --git a/gettext-tools/examples/po/de.po b/gettext-tools/examples/po/de.po
index c91b738..8d40737 100644
--- a/gettext-tools/examples/po/de.po
+++ b/gettext-tools/examples/po/de.po
@@ -5,14 +5,15 @@
# Karl Eichwalder <ke@gnu.franken.de>, 2003.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
+# Philipp Thomas <pth@suse.de>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-05-10 17:47+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -22,12 +23,11 @@ msgstr ""
"X-Generator: Poedit 1.5.4\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -40,33 +40,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hallo Welt!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Dieses Programm läuft mit der Prozess-Nummer %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hallo Welt!</big>\n"
+"Dieses Programm läuft mit der Prozess-Nummer %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dies ist ein weiterer Text</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big<i>Dies ist noch ein weiterer Text</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hallo"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
msgstr "Beispielanwendung"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Text aktualisieren"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "XML-Markup verwenden"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Ob XML-Markup im Text verwendet werden soll"
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/el.po b/gettext-tools/examples/po/el.po
index 3953430..7cd931d 100644
--- a/gettext-tools/examples/po/el.po
+++ b/gettext-tools/examples/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.14.1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2005-01-06 18:50+0000\n"
"Last-Translator: Simos Xenitellis <simos74@gmx.net>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -17,12 +17,11 @@ msgstr ""
"X-Generator: KBabel 1.3.1\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Γεια σου, κόσμε!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Αυτό το Ï€ÏόγÏαμμα εκτελείται με αÏιθμό διεÏγασίας %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Αυτό το Ï€ÏόγÏαμμα εκτελείται με αÏιθμό διεÏγασίας %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -55,12 +67,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/eo.po b/gettext-tools/examples/po/eo.po
index 8179126..c2827bb 100644
--- a/gettext-tools/examples/po/eo.po
+++ b/gettext-tools/examples/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.15-pre5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2006-07-02 19:24+0100\n"
"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Saluton, mondo!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -55,12 +67,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/es.po b/gettext-tools/examples/po/es.po
index bad46a3..fb3351f 100644
--- a/gettext-tools/examples/po/es.po
+++ b/gettext-tools/examples/po/es.po
@@ -4,14 +4,14 @@
# This file is distributed under the same license as the gettext package.
#
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples-0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-11 00:40+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-23 22:44+0200\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -21,12 +21,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -39,18 +38,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "¡Hola, mundo!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Este programa está corriendo como el proceso número %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>¡Hola, mundo!</big>\n"
+"Este programa está corriendo como el proceso número <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Este es otro texto</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Este es otro texto más</t></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Hola"
@@ -59,13 +73,17 @@ msgstr "Hola"
msgid "Example Application"
msgstr "Ejemplo de aplicación"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Actualizar texto"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Hace sensible la etiqueta"
+msgid "Use XML markup"
+msgstr "Utilizar etiquetas XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Si hacer que la etiqueta sea sensible."
+msgid "Whether to use XML markup in the text."
+msgstr "Si utilizar etiquetas XML en el texto."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -75,7 +93,7 @@ msgstr "Este programa está corriendo como el proceso número %1."
#: hello-c++-kde/hello.cc:46
msgid "Hello example"
-msgstr "Hola ejemplo"
+msgstr "Ejemplo de hola"
#: hello-c++-kde/hello.cc:48
msgid "Hello world example"
@@ -107,3 +125,9 @@ msgstr "Este programa está corriendo como el proceso número {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Este programa está corriendo como el proceso número {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Hace sensible la etiqueta"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Si hacer que la etiqueta sea sensible."
diff --git a/gettext-tools/examples/po/fi.po b/gettext-tools/examples/po/fi.po
index 0cdc496..2a26e45 100644
--- a/gettext-tools/examples/po/fi.po
+++ b/gettext-tools/examples/po/fi.po
@@ -1,30 +1,30 @@
# Finnish messages for GNU Gettext examples.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2007, 2014 Yoyodyne, Inc. (msgids)
+# Copyright © 2007, 2014, 2015 Yoyodyne, Inc. (msgids)
# Lauri Nurmi <lanurmi@iki.fi>, 2007.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2014-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-06-23 16:51+0300\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-09-01 16:59+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti.
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -37,33 +37,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Terve maailma!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Tämän ohjelman prosessinumero on %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hei maailma!</big>\n"
+"Tämän ohjelman prosessinumero on <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Tämä on toinen teksti</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Tämä on vielä toinen teksti</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hei"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
msgstr "Esimerkkisovellus"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Päivitä teksti"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Käytä XML-merkintäkieltä"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Käytetäänkö XML-merkintäkieltä tekstissä."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -105,3 +124,9 @@ msgstr "Tämän ohjelman prosessinumero on {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Tämän ohjelman prosessinumero on {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Aseta nimiöherkkyys"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Asetetaanko nimiöherkkyys."
diff --git a/gettext-tools/examples/po/fr.po b/gettext-tools/examples/po/fr.po
index ea8c138..9e08d1d 100644
--- a/gettext-tools/examples/po/fr.po
+++ b/gettext-tools/examples/po/fr.po
@@ -1,15 +1,18 @@
# Messages français pour GNU gettext.
-# Copyright © 2006 Yoyodyne, Inc.
+# Copyright (C) 2006 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2006.
# Christophe Combelles <ccomb@free.fr>, 2006
+# Stéphane Aulery <lkppo@free.fr>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-examples 0.15-pre5\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2006-10-01 02:29+0200\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-12-22 23:54+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -18,12 +21,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,33 +38,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Bonjour, le monde !"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ce programme est exécuté en tant que processus numéro %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Salut le monde !</big>\n"
+"Ce programme est exécuté en tant que processus numéro <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ceci est un autre texte</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ceci est encore un autre texte</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Bonjour"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Application d’exemple"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Actualiser le texte"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Utiliser le balisage XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "De quelle manière utiliser le balisage XML dans le texte."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -72,11 +93,11 @@ msgstr "Ce programme est exécuté en tant que processus numéro %1."
#: hello-c++-kde/hello.cc:46
msgid "Hello example"
-msgstr "Exemple Hello"
+msgstr "Exemple Bonjour"
#: hello-c++-kde/hello.cc:48
msgid "Hello world example"
-msgstr "Exemple de « Hello world »"
+msgstr "Exemple de « Bonjour le monde »"
#: hello-sh/hello.sh:17
#, sh-format
diff --git a/gettext-tools/examples/po/ga.po b/gettext-tools/examples/po/ga.po
index 49593e7..871e409 100644
--- a/gettext-tools/examples/po/ga.po
+++ b/gettext-tools/examples/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.14.1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2005-02-07 12:09-0500\n"
"Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n"
"Language-Team: Irish <ga@li.org>\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Dia duit, a dhomhain!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Tá an clár seo á rith mar phróiseas %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Tá an clár seo á rith mar phróiseas %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -55,12 +67,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/gettext-examples.pot b/gettext-tools/examples/po/gettext-examples.pot
index 55ba121..b73a7fe 100644
--- a/gettext-tools/examples/po/gettext-examples.pot
+++ b/gettext-tools/examples/po/gettext-examples.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,12 +18,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,18 +35,31 @@ msgstr ""
msgid "Hello, world!"
msgstr ""
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr ""
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -56,12 +68,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/gl.po b/gettext-tools/examples/po/gl.po
index 593fa04..a0a604f 100644
--- a/gettext-tools/examples/po/gl.po
+++ b/gettext-tools/examples/po/gl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.19-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2014-05-10 16:34+0100\n"
"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@@ -22,12 +22,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -40,18 +39,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Ola, mundo!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Este programa estase executando como o proceso número %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Este programa estase executando como o proceso número %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -60,12 +72,16 @@ msgstr ""
msgid "Example Application"
msgstr "Aplicativo de exemplo"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/hello-c++-gnome.pot b/gettext-tools/examples/po/hello-c++-gnome.pot
index 3ad25ca..9731638 100644
--- a/gettext-tools/examples/po/hello-c++-gnome.pot
+++ b/gettext-tools/examples/po/hello-c++-gnome.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-c++-kde.pot b/gettext-tools/examples/po/hello-c++-kde.pot
index 840aaf9..945c074 100644
--- a/gettext-tools/examples/po/hello-c++-kde.pot
+++ b/gettext-tools/examples/po/hello-c++-kde.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-c++-qt.pot b/gettext-tools/examples/po/hello-c++-qt.pot
index 3524d42..de78424 100644
--- a/gettext-tools/examples/po/hello-c++-qt.pot
+++ b/gettext-tools/examples/po/hello-c++-qt.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-c++-qt package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-c++-qt 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-c++-wxwidgets.pot b/gettext-tools/examples/po/hello-c++-wxwidgets.pot
index bda4d10..90315db 100644
--- a/gettext-tools/examples/po/hello-c++-wxwidgets.pot
+++ b/gettext-tools/examples/po/hello-c++-wxwidgets.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-c++-wxwidgets package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-c++-wxwidgets 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-c++.pot b/gettext-tools/examples/po/hello-c++.pot
index 7bdcb52..9bf810c 100644
--- a/gettext-tools/examples/po/hello-c++.pot
+++ b/gettext-tools/examples/po/hello-c++.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-c-gnome.pot b/gettext-tools/examples/po/hello-c-gnome.pot
index 3925edc..c72a916 100644
--- a/gettext-tools/examples/po/hello-c-gnome.pot
+++ b/gettext-tools/examples/po/hello-c-gnome.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-c-gnome3.pot b/gettext-tools/examples/po/hello-c-gnome3.pot
index 26a781a..5c85339 100644
--- a/gettext-tools/examples/po/hello-c-gnome3.pot
+++ b/gettext-tools/examples/po/hello-c-gnome3.pot
@@ -1,14 +1,14 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-c-gnome3 package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: hello-c-gnome3 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,16 +17,26 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: hello-c-gnome3/hello.c:70
+#: hello-c-gnome3/hello.c:79
#, c-format
-msgid "This program is running as process number %d."
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
msgstr ""
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
+#: hello-c-gnome3/hello.desktop.in.in:5
msgid "Hello, world!"
msgstr ""
@@ -34,10 +44,14 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
diff --git a/gettext-tools/examples/po/hello-c.pot b/gettext-tools/examples/po/hello-c.pot
index 8a2064f..dec7359 100644
--- a/gettext-tools/examples/po/hello-c.pot
+++ b/gettext-tools/examples/po/hello-c.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-clisp.pot b/gettext-tools/examples/po/hello-clisp.pot
index 4d9b0aa..c810107 100644
--- a/gettext-tools/examples/po/hello-clisp.pot
+++ b/gettext-tools/examples/po/hello-clisp.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-clisp package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-clisp 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-csharp-forms.pot b/gettext-tools/examples/po/hello-csharp-forms.pot
index f78d663..8cf6551 100644
--- a/gettext-tools/examples/po/hello-csharp-forms.pot
+++ b/gettext-tools/examples/po/hello-csharp-forms.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-csharp-forms package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-csharp-forms 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-csharp.pot b/gettext-tools/examples/po/hello-csharp.pot
index 021c285..5c43950 100644
--- a/gettext-tools/examples/po/hello-csharp.pot
+++ b/gettext-tools/examples/po/hello-csharp.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-csharp package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-csharp 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-gawk.pot b/gettext-tools/examples/po/hello-gawk.pot
index 9788aac..f6c1d56 100644
--- a/gettext-tools/examples/po/hello-gawk.pot
+++ b/gettext-tools/examples/po/hello-gawk.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-gawk package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-gawk 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-guile.pot b/gettext-tools/examples/po/hello-guile.pot
index f354f43..fe05277 100644
--- a/gettext-tools/examples/po/hello-guile.pot
+++ b/gettext-tools/examples/po/hello-guile.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-guile package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-guile 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-java-awt.pot b/gettext-tools/examples/po/hello-java-awt.pot
index 4b6b57b..1b9aa11 100644
--- a/gettext-tools/examples/po/hello-java-awt.pot
+++ b/gettext-tools/examples/po/hello-java-awt.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-java-awt package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-java-awt 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-java-qtjambi.pot b/gettext-tools/examples/po/hello-java-qtjambi.pot
index a92aa35..97eb3f6 100644
--- a/gettext-tools/examples/po/hello-java-qtjambi.pot
+++ b/gettext-tools/examples/po/hello-java-qtjambi.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-java-qtjambi package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-java-qtjambi 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-java-swing.pot b/gettext-tools/examples/po/hello-java-swing.pot
index 490ac3c..d3cbb19 100644
--- a/gettext-tools/examples/po/hello-java-swing.pot
+++ b/gettext-tools/examples/po/hello-java-swing.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-java-swing package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-java-swing 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-java.pot b/gettext-tools/examples/po/hello-java.pot
index a967d14..977b005 100644
--- a/gettext-tools/examples/po/hello-java.pot
+++ b/gettext-tools/examples/po/hello-java.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-java package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-java 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-librep.pot b/gettext-tools/examples/po/hello-librep.pot
index 8dff621..0c01f6e 100644
--- a/gettext-tools/examples/po/hello-librep.pot
+++ b/gettext-tools/examples/po/hello-librep.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-librep package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-librep 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-objc-gnome.pot b/gettext-tools/examples/po/hello-objc-gnome.pot
index 22326de..382cf41 100644
--- a/gettext-tools/examples/po/hello-objc-gnome.pot
+++ b/gettext-tools/examples/po/hello-objc-gnome.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-objc-gnustep.pot b/gettext-tools/examples/po/hello-objc-gnustep.pot
index 8612793..15d75b6 100644
--- a/gettext-tools/examples/po/hello-objc-gnustep.pot
+++ b/gettext-tools/examples/po/hello-objc-gnustep.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the Hello package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Hello \n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-objc.pot b/gettext-tools/examples/po/hello-objc.pot
index 09f90a7..b352f6b 100644
--- a/gettext-tools/examples/po/hello-objc.pot
+++ b/gettext-tools/examples/po/hello-objc.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-pascal.pot b/gettext-tools/examples/po/hello-pascal.pot
index 706c83f..8c88d52 100644
--- a/gettext-tools/examples/po/hello-pascal.pot
+++ b/gettext-tools/examples/po/hello-pascal.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-pascal package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-pascal 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-perl.pot b/gettext-tools/examples/po/hello-perl.pot
index a29a1e1..9f756ad 100644
--- a/gettext-tools/examples/po/hello-perl.pot
+++ b/gettext-tools/examples/po/hello-perl.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-perl package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-perl 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-php.pot b/gettext-tools/examples/po/hello-php.pot
index a764ebd..6456731 100644
--- a/gettext-tools/examples/po/hello-php.pot
+++ b/gettext-tools/examples/po/hello-php.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-php package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-php 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-python.pot b/gettext-tools/examples/po/hello-python.pot
index dc18e6d..dbc8f66 100644
--- a/gettext-tools/examples/po/hello-python.pot
+++ b/gettext-tools/examples/po/hello-python.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-python 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-sh.pot b/gettext-tools/examples/po/hello-sh.pot
index ee2d9de..7c283a9 100644
--- a/gettext-tools/examples/po/hello-sh.pot
+++ b/gettext-tools/examples/po/hello-sh.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-sh package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-sh 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-smalltalk.pot b/gettext-tools/examples/po/hello-smalltalk.pot
index e3d2baa..5e1572d 100644
--- a/gettext-tools/examples/po/hello-smalltalk.pot
+++ b/gettext-tools/examples/po/hello-smalltalk.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-smalltalk package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-smalltalk 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:28+0900\n"
+"POT-Creation-Date: 2015-12-28 08:27+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-tcl-tk.pot b/gettext-tools/examples/po/hello-tcl-tk.pot
index e3224d5..30ff37a 100644
--- a/gettext-tools/examples/po/hello-tcl-tk.pot
+++ b/gettext-tools/examples/po/hello-tcl-tk.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-tcl-tk package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-tcl-tk 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-tcl.pot b/gettext-tools/examples/po/hello-tcl.pot
index 7240a5b..a8f1232 100644
--- a/gettext-tools/examples/po/hello-tcl.pot
+++ b/gettext-tools/examples/po/hello-tcl.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-tcl package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-tcl 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hello-ycp.pot b/gettext-tools/examples/po/hello-ycp.pot
index 37e9f19..67eebd7 100644
--- a/gettext-tools/examples/po/hello-ycp.pot
+++ b/gettext-tools/examples/po/hello-ycp.pot
@@ -1,6 +1,6 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Yoyodyne, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the hello-ycp package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hello-ycp 0\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gettext-tools/examples/po/hr.po b/gettext-tools/examples/po/hr.po
index 86c462a..a0333a2 100644
--- a/gettext-tools/examples/po/hr.po
+++ b/gettext-tools/examples/po/hr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.18\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2012-07-04 18:38+0200\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -19,12 +19,11 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -37,18 +36,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Pozdrav, svijete!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ovaj program je pokrenut kao proces broj %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Ovaj program je pokrenut kao proces broj %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -57,12 +69,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/hu.po b/gettext-tools/examples/po/hu.po
index b9dd670..834f3f5 100644
--- a/gettext-tools/examples/po/hu.po
+++ b/gettext-tools/examples/po/hu.po
@@ -3,13 +3,13 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
#
# Tamás Kiss <atomi@inf.elte.hu>, 2005.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-05-11 16:21+0200\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-23 20:31+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -17,15 +17,14 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -38,33 +37,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hello, világ!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ez a program a(z) %d folyamatazonosítóval fut."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Helló, világ!</big>\n"
+"Ez a program a(z) <b>%d</b> folyamatazonosítóval fut."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ez egy másik szöveg</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ez megint egy másik szöveg</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Helló"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
msgstr "Példa alkalmazás"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Szöveg frissítése"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "XML-jelölőnyelv használata"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Használjon-e XML-jelölőnyelvet a szövegben."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -106,3 +124,9 @@ msgstr "Ez a program a(z) {0} folyamatazonosítóval fut."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Ez a program a(z) {pid} folyamatazonosítóval fut."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Címke érzékenységének beállítása"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Legyen-e érzékenyre állítva a címke."
diff --git a/gettext-tools/examples/po/id.po b/gettext-tools/examples/po/id.po
index 3485150..9ee0142 100644
--- a/gettext-tools/examples/po/id.po
+++ b/gettext-tools/examples/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples-0.15-pre5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2006-09-27 20:19+0700\n"
"Last-Translator: Tedi Heriyanto <tedi_heriyanto@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -18,12 +18,11 @@ msgstr ""
"X-Generator: KBabel 1.11.2\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,18 +35,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hello, world!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Program ini berjalan sebagai proses nomor %d"
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Program ini berjalan sebagai proses nomor %d"
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -56,12 +68,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/it.po b/gettext-tools/examples/po/it.po
index 9d163a3..c483890 100644
--- a/gettext-tools/examples/po/it.po
+++ b/gettext-tools/examples/po/it.po
@@ -1,14 +1,14 @@
# Italian messages for gettext-examples.
-# Copyright (C) 2005, 2006 Yoyodyne, Inc.
+# Copyright (C) 2005, 2006 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.15-pre5\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2006-07-01 10:46+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-08-05 12:18+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,33 +34,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Salve, mondo!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Questo programma è in esecuzione con numero di processo %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Salve mondo!</big>\n"
+"Questo programma è in esecuzione con numero di processo <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Questo è un altro testo</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Questo è un altro testo ancora</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Salve"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Applicazione di esempio"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Aggiorna testo"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Usa il markup XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Se usare il markup XML nel testo."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/ja.po b/gettext-tools/examples/po/ja.po
index 1365deb..d6b923f 100644
--- a/gettext-tools/examples/po/ja.po
+++ b/gettext-tools/examples/po/ja.po
@@ -1,14 +1,14 @@
# Translation of `gettext-examples' messages to Japanese.
-# Copyright (C) 2005, 2006, 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2005, 2006, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: GNU gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-11 08:49+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-24 12:14+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hello world!</big>\n"
+"¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ <b>%d</b> ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>¤³¤ì¤Ï¤â¤¦°ì¤Ä¤Î¥Æ¥­¥¹¥È¤Ç¤¹</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>¤³¤ì¤Ï¤µ¤é¤Ë¤â¤¦°ì¤Ä¤Î¥Æ¥­¥¹¥È¤Ç¤¹</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "¤³¤ó¤Ë¤Á¤Ï"
@@ -55,13 +69,17 @@ msgstr "¤³¤ó¤Ë¤Á¤Ï"
msgid "Example Application"
msgstr "¼ÂÎã±þÍÑ"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "¥Æ¥­¥¹¥È¤ò¹¹¿·"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "¥é¥Ù¥ë¤ò¿µ½Å¤Ë°·¤¦¤è¤¦¤ËÀßÄê"
+msgid "Use XML markup"
+msgstr "XML¥Þ¡¼¥¯¥¢¥Ã¥×¤ò»ÈÍÑ"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "¤½¤Î¥é¥Ù¥ë¤ò¿µ½Å¤Ë°·¤¦¤è¤¦¤ËÀßÄꤹ¤ë¤«Èݤ«"
+msgid "Whether to use XML markup in the text."
+msgstr "¥Æ¥­¥¹¥ÈÆâ¤ÇXML¥Þ¡¼¥¯¥¢¥Ã¥×¤ò»È¤¦¤«Èݤ«"
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -103,3 +121,9 @@ msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {pid} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "¥é¥Ù¥ë¤ò¿µ½Å¤Ë°·¤¦¤è¤¦¤ËÀßÄê"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "¤½¤Î¥é¥Ù¥ë¤ò¿µ½Å¤Ë°·¤¦¤è¤¦¤ËÀßÄꤹ¤ë¤«Èݤ«"
diff --git a/gettext-tools/examples/po/ky.po b/gettext-tools/examples/po/ky.po
index 344c6cd..e81b7c9 100644
--- a/gettext-tools/examples/po/ky.po
+++ b/gettext-tools/examples/po/ky.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.16.2-pre5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2007-11-13 16:02+0600\n"
"Last-Translator: Ilyas Bakirov <just_ilyas@yahoo.com>\n"
"Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
@@ -19,12 +19,11 @@ msgstr ""
"X-Poedit-Country: KYRGYZSTAN\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -37,18 +36,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Салам дүйнө!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Бул программа %d процеÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð¸ катары иштеп жатат."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Бул программа %d процеÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð¸ катары иштеп жатат."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -57,12 +69,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/lv.po b/gettext-tools/examples/po/lv.po
index 70a558e..d1b0df3 100644
--- a/gettext-tools/examples/po/lv.po
+++ b/gettext-tools/examples/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples-0.17\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2009-07-28 21:26+0100\n"
"Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -21,12 +21,11 @@ msgstr ""
"2);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -39,18 +38,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Sveika, pasaule!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Å Ä« programma darbojas kÄ process ar numuru %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Å Ä« programma darbojas kÄ process ar numuru %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -59,12 +71,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/ms.po b/gettext-tools/examples/po/ms.po
index 6f57860..644cffe 100644
--- a/gettext-tools/examples/po/ms.po
+++ b/gettext-tools/examples/po/ms.po
@@ -1,29 +1,29 @@
# gettext-examples Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2006 Yoyodyne, Inc.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the gettext-examples package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2006.
+# Copyright (C) 2006, 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2006, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.15-pre5\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2006-12-22 21:36+0800\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-25 20:48+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,33 +36,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hello, world!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Program ini dilaksanakan sebagai proses bernombor %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hello dunia!</big>\n"
+"Program ini dilaksanakan sebagai proses bernombor <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ini adalah teks lain</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ini adalah satu lagi teks lain</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hello"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Contoh Aplikasi"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Kemaskini teks"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Guna penanda XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Sama ada untuk menggunakan penanda XML dalam teks."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/mt.po b/gettext-tools/examples/po/mt.po
index b6210fe..7ab6c85 100644
--- a/gettext-tools/examples/po/mt.po
+++ b/gettext-tools/examples/po/mt.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.16.2-pre5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2008-11-18 17:27+0100\n"
"Last-Translator: Clyde Meli <cmeli@cis.um.edu.mt>\n"
"Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
@@ -18,12 +18,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,18 +35,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hello, lil kulħadd!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -56,12 +68,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/nb.po b/gettext-tools/examples/po/nb.po
index fe56426..ca20373 100644
--- a/gettext-tools/examples/po/nb.po
+++ b/gettext-tools/examples/po/nb.po
@@ -2,14 +2,14 @@
# Copyright (C) 2012 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Johnny A. Solbu <johnny@solbu.net>, 2012-2014
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-07-22 13:18+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-09-19 00:04+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
@@ -17,15 +17,14 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.9\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -38,33 +37,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hallo verden!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Dette programmet kjører som prosess nummer %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hello world!</big>\n"
+"Dette programmet kjører som prosess nummer <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dette er en annen tekst</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Dette er enda en tekst</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hallo"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
msgstr "Eksempelprogram"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Oppdater tekst"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Bruk XML-formatering"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Om det skal bruke XML-formatering i teksten"
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/nl.po b/gettext-tools/examples/po/nl.po
index caaaf0e..0f9d91b 100644
--- a/gettext-tools/examples/po/nl.po
+++ b/gettext-tools/examples/po/nl.po
@@ -1,17 +1,18 @@
# Dutch translations for GNU gettext-examples.
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# "Waar de wind waait."
+# "There are three basic rules for writing a novel.
+# Unfortunately nobody knows what they are."
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2014, 2015.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples-0.19-rc1\n"
+"Project-Id-Version: gettext-examples-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-05-11 12:17+0200\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-07-01 21:10+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -22,12 +23,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -40,33 +40,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hallo, wereld!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Dit programma draait als proces nummer %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Hallo wereld!</big>\n"
+"Dit programma draait als proces nummer <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Dit is een andere tekst</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Dit is nog weer een andere tekst</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hallo"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
msgstr "Voorbeeldtoepassing"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Tekst bijwerken"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "XML-markup gebruiken"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Of er XML-markup gebruikt moet worden in de tekst."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/pl.po b/gettext-tools/examples/po/pl.po
index 8cdb132..cacbfe0 100644
--- a/gettext-tools/examples/po/pl.po
+++ b/gettext-tools/examples/po/pl.po
@@ -1,13 +1,13 @@
# Polish translations for the GNU gettext messages, gettext-examples domain
-# Copyright (C) 2010 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2010, 2014, 2015 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
-# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014 „â€
+# RafaÅ‚ Maszkowski <rzm@icm.edu.pl>, 2003, 2010, 2014, 2015 „â€
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples-0.19.4-rc1\n"
+"Project-Id-Version: GNU gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-10 21:50+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-23 22:01+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -18,12 +18,11 @@ msgstr ""
"|| n%100>=20) ? 1 : 2);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,18 +35,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Cześć, świecie!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ten program działa jako proces o numerze %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Cześć, świecie!</big>\n"
+"Ten program działa jako proces o numerze %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>To jest inny tekst</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>To jest jeszcze inny tekst</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Cześć"
@@ -56,13 +70,17 @@ msgstr "Cześć"
msgid "Example Application"
msgstr "Program przykładowy"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Aktualizacja tekstu"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Ustawienie interpretacji etykiet"
+msgid "Use XML markup"
+msgstr "Użycie znaczników XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Czy ustawić interpretację etykiet."
+msgid "Whether to use XML markup in the text."
+msgstr "Czy użyć znaczników XML w tekście."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/pt.po b/gettext-tools/examples/po/pt.po
index d6d28be..f1f3eca 100644
--- a/gettext-tools/examples/po/pt.po
+++ b/gettext-tools/examples/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.14.5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2005-11-19 23:08+0000\n"
"Last-Translator: Helder Correia <helder.pereira.correia@gmail.com>\n"
"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Olá, Mundo!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Este programa está a ser executado com o número de processo %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Este programa está a ser executado com o número de processo %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -55,12 +67,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/pt_BR.po b/gettext-tools/examples/po/pt_BR.po
index 827922b..40a8548 100644
--- a/gettext-tools/examples/po/pt_BR.po
+++ b/gettext-tools/examples/po/pt_BR.po
@@ -1,16 +1,16 @@
# Brazilian Portuguese translation for gettext-example
-# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Ferreira <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-10 20:49-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-09-15 11:27-0300\n"
+"Last-Translator: Rafael Ferreira <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
@@ -21,12 +21,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -39,18 +38,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Olá, mundo!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Este programa está executando com número de processo %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Olá mundo!</big>\n"
+"Este programa está executando com número de processo <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Este é outro texto</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Este também é outro texto</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Olá"
@@ -59,13 +73,17 @@ msgstr "Olá"
msgid "Example Application"
msgstr "Aplicativo exemplo"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Atualizar texto"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Definir sensibilidade a rótulo"
+msgid "Use XML markup"
+msgstr "Usar marcação XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Se esta ação é sensível a rótulo ou não."
+msgid "Whether to use XML markup in the text."
+msgstr "Se deve ser usada marcação XML no texto."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -107,3 +125,9 @@ msgstr "Este programa está executando com número de processo {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Este programa está executando com número de processo {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Definir sensibilidade a rótulo"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Se esta ação é sensível a rótulo ou não."
diff --git a/gettext-tools/examples/po/ro.po b/gettext-tools/examples/po/ro.po
index b4ab5ba..a1f6f64 100644
--- a/gettext-tools/examples/po/ro.po
+++ b/gettext-tools/examples/po/ro.po
@@ -1,28 +1,31 @@
-# Mesajele în limba românã pentru pachetul gettext-examples-0.13-pre1.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul gettext-examples.
-# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+# Mesajele în limba română pentru pachetul gettext-examples.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
+# Eugen Hoancă <eugenh@urban-grafx.ro>, 2003
+# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.13-pre1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2003-11-22 11:15+0200\n"
-"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-23 23:05+0200\n"
+"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+"X-Generator: Poedit 1.8.1\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -33,73 +36,98 @@ msgstr ""
#: hello-perl/hello-1.pl.in:17 hello-perl/hello-2.pl.in:12
#: hello-php/hello.php:12
msgid "Hello, world!"
-msgstr "Salut, lume! (Hello, world!)"
-
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+msgstr "Salut, lume!"
+
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
-msgstr "Acest program este rulat ca procesul numãrul %d."
+msgstr "Acest program rulează ca procesul numărul %d."
+
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Salut lume!</big>\n"
+"Acest program rulează ca procesul numărul <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Acesta este un alt text</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Acesta este încă un alt text</i></big>"
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Hello"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "Exemplu de aplicație"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Actualizează text"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "Folosește marcaj XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Dacă se folosește marcaj XML în text."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
#, ycp-format
msgid "This program is running as process number %1."
-msgstr "Acest program este rulat ca procesul numãrul %1."
+msgstr "Acest program rulează ca procesul numărul %1."
#: hello-c++-kde/hello.cc:46
msgid "Hello example"
-msgstr "Exemplu Salut(Hello)"
+msgstr "Exemplu Salut"
#: hello-c++-kde/hello.cc:48
msgid "Hello world example"
-msgstr "Exemplu Salut lume(Hello world)"
+msgstr "Exemplu Salut lume"
#: hello-sh/hello.sh:17
#, sh-format
msgid "This program is running as process number $pid."
-msgstr "Acest program ruleazã ca procesul numãrul $pid."
+msgstr "Acest program rulează ca procesul numărul $pid."
#: hello-python/hello.py.in:13
#, python-format
msgid "This program is running as process number %(pid)d."
-msgstr "Acest program este rulat ca procesul numãrul %(pid)d."
+msgstr "Acest program rulează ca procesul numărul %(pid)d."
#: hello-clisp/hello.lisp.in:13 hello-guile/hello.scm:17
#, scheme-format
msgid "This program is running as process number ~D."
-msgstr "Acest program este rulat ca procesul numãrul ~D."
+msgstr "Acest program rulează ca procesul numărul ~D."
#: hello-java/Hello.java:18 hello-java-awt/Hello.java:28
#: hello-java-swing/Hello.java:25 hello-java-qtjambi/Hello.java:34
#: hello-csharp/hello.cs:17 hello-csharp-forms/hello.cs:36
#, csharp-format
msgid "This program is running as process number {0}."
-msgstr "Acest program este rulat ca procesul numãrul {0}."
+msgstr "Acest program rulează ca procesul numărul {0}."
#: hello-perl/hello-2.pl.in:14
-#, fuzzy, perl-brace-format
+#, perl-brace-format
msgid "This program is running as process number {pid}."
-msgstr "Acest program ruleazã ca procesul numãrul $pid."
+msgstr "Acest program rulează ca procesul numărul {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Setează eticheta sensibilă"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Dacă să se seteze eticheta sensibilă."
diff --git a/gettext-tools/examples/po/ru.po b/gettext-tools/examples/po/ru.po
index 8c80faf..0101006 100644
--- a/gettext-tools/examples/po/ru.po
+++ b/gettext-tools/examples/po/ru.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the gettext package.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004.
-# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-15 19:16+0300\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-26 08:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
@@ -21,12 +21,11 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -39,18 +38,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "ЗдравÑтвуй, мир!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Эта программа выполнÑетÑÑ ÐºÐ°Ðº процеÑÑ Ð¿Ð¾Ð´ номером %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>ЗдравÑтвуй, мир!</big>\n"
+"Эта программа выполнÑетÑÑ ÐºÐ°Ðº процеÑÑ Ð¿Ð¾Ð´ номером <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ещё один текÑÑ‚</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>И ещё один текÑÑ‚</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "ЗдравÑтвуйте"
@@ -59,13 +73,17 @@ msgstr "ЗдравÑтвуйте"
msgid "Example Application"
msgstr "Пример приложениÑ"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Обновить текÑÑ‚"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "ЧувÑтвительноÑÑ‚ÑŒ значка"
+msgid "Use XML markup"
+msgstr "ИÑпользовать разметку XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Задаёт чувÑтвительноÑÑ‚ÑŒ значка."
+msgid "Whether to use XML markup in the text."
+msgstr "Учитывать ли в текÑте разметку XML."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -107,3 +125,9 @@ msgstr "Эта программа выполнÑетÑÑ ÐºÐ°Ðº процеÑÑ Ð
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Эта программа выполнÑетÑÑ ÐºÐ°Ðº процеÑÑ Ð¿Ð¾Ð´ номером {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "ЧувÑтвительноÑÑ‚ÑŒ значка"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Задаёт чувÑтвительноÑÑ‚ÑŒ значка."
diff --git a/gettext-tools/examples/po/sk.po b/gettext-tools/examples/po/sk.po
index 379f677..8b7c561 100644
--- a/gettext-tools/examples/po/sk.po
+++ b/gettext-tools/examples/po/sk.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: GNU gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-15-10 20:44+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-23 20:17+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
@@ -17,12 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Ahoj svet!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Tento program beží ako proces s Äíslom %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Ahoj svet!</big>\n"
+"Tento program beží ako proces s Äíslom <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Toto je Äalší text</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><u>Toto je eÅ¡te Äalší text</u></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Ahoj"
@@ -55,13 +69,17 @@ msgstr "Ahoj"
msgid "Example Application"
msgstr "Ukážková aplikácia"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Aktualizovať text"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Nastaviť titulok ako citlivý"
+msgid "Use XML markup"
+msgstr "PoužiÅ¥ znaÄky XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Či nastaviť titulok ako citlivý."
+msgid "Whether to use XML markup in the text."
+msgstr "ÄŒi v texte použiÅ¥ znaÄky XML."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -103,3 +121,9 @@ msgstr "Tento program beží ako proces s Äíslom {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Tento program beží ako proces s Äíslom {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Nastaviť titulok ako citlivý"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Či nastaviť titulok ako citlivý."
diff --git a/gettext-tools/examples/po/sl.po b/gettext-tools/examples/po/sl.po
index c037d26..100746c 100644
--- a/gettext-tools/examples/po/sl.po
+++ b/gettext-tools/examples/po/sl.po
@@ -2,14 +2,14 @@
# Copyright (C) 2005 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
#
-# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014.
-# $Id: gettext-examples-0.19.4-rc1.sl.po,v 1.2 2014/12/11 09:15:50 peterlin Exp $
+# Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2005, 2014, 2015.
+# $Id: gettext-examples-0.19.4.73.sl.po,v 1.1 2015/06/28 08:37:19 peterlin Exp $
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-11 10:15+0100\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-28 10:37+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
@@ -20,12 +20,11 @@ msgstr ""
"%100==4 ? 3 : 0);\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -38,18 +37,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Pozdravljen, svet!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ta program teÄe kot proces Å¡tevilka %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Pozdravljen, svet!</big>\n"
+"Ta program teÄe kot proces Å¡tevilka <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>PodÄrtano besedilo</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Besedilo v kurzivi</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Zdravo"
@@ -58,13 +72,17 @@ msgstr "Zdravo"
msgid "Example Application"
msgstr "Zgled aplikacije"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Posodobi besedilo"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Nastavi oznako kot obÄutljivo"
+msgid "Use XML markup"
+msgstr "Uporabi oznake XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Ali naj nastavimo oznako kot obÄutljivo"
+msgid "Whether to use XML markup in the text."
+msgstr "Ali naj bodo v besedilu uporabljene oznake XML."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -106,3 +124,9 @@ msgstr "Ta program teÄe kot proces Å¡tevilka {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Ta program teÄe kot proces Å¡tevilka {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Nastavi oznako kot obÄutljivo"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Ali naj nastavimo oznako kot obÄutljivo"
diff --git a/gettext-tools/examples/po/sr.po b/gettext-tools/examples/po/sr.po
index 9d32388..6546f01 100644
--- a/gettext-tools/examples/po/sr.po
+++ b/gettext-tools/examples/po/sr.po
@@ -2,13 +2,13 @@
# Copyright (C) 2014 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014—2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples-0.19-rc1\n"
+"Project-Id-Version: gettext-examples-0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-05-12 21:25+0200\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-12-23 19:12+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -17,15 +17,13 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -38,33 +36,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "Здраво Ñвима!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾Ñ˜ %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Здраво Ñвима!</big>\n"
+"Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾Ñ˜ <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Ово је још један текÑÑ‚</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Богами и ово је још један текÑÑ‚</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "Здраво"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
msgstr "Програм примера"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "ÐžÐ¿Ð¸Ñ Ð°Ð¶ÑƒÑ€Ð¸Ñ€Ð°ÑšÐ°"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "КориÑти ИкÑМЛ означавање"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "Да ли ће да кориÑти ИкÑМЛ означавање у текÑту."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -74,11 +91,11 @@ msgstr "Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾
#: hello-c++-kde/hello.cc:46
msgid "Hello example"
-msgstr "„Здраво“ пример"
+msgstr "Пример „Здраво“"
#: hello-c++-kde/hello.cc:48
msgid "Hello world example"
-msgstr "„Здраво Ñвима“ пример"
+msgstr "Пример „Здраво Ñвима“"
#: hello-sh/hello.sh:17
#, sh-format
@@ -106,3 +123,9 @@ msgstr "Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Овај програм Ñе извршава као Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±Ñ€Ð¾Ñ˜ {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Подешава оÑетљивоÑÑ‚ натпиÑа"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Да ли ће да подеÑи оÑетљивоÑÑ‚ натпиÑа."
diff --git a/gettext-tools/examples/po/sv.po b/gettext-tools/examples/po/sv.po
index 720f187..038f0d8 100644
--- a/gettext-tools/examples/po/sv.po
+++ b/gettext-tools/examples/po/sv.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2014-12-23 09:18+0100\n"
"Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -16,12 +16,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -34,18 +33,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Hej världen!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Detta program kör som process nummer %d."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Detta program kör som process nummer %d."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Hej"
@@ -54,13 +66,17 @@ msgstr "Hej"
msgid "Example Application"
msgstr "Exempelprogram"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Sätt etikett aktiv"
+msgid "Use XML markup"
+msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Om etikett ska sättas aktiv"
+msgid "Whether to use XML markup in the text."
+msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -102,3 +118,9 @@ msgstr "Detta program kör som process nummer {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Detta program kör som process nummer {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Sätt etikett aktiv"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Om etikett ska sättas aktiv"
diff --git a/gettext-tools/examples/po/tr.po b/gettext-tools/examples/po/tr.po
index c09b43c..e65327f 100644
--- a/gettext-tools/examples/po/tr.po
+++ b/gettext-tools/examples/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.14-pre1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2004-01-21 06:17+0300\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -17,12 +17,11 @@ msgstr ""
"X-Generator: KBabel 1.0\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,18 +34,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "Merhaba Dünyalı!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor."
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -55,12 +67,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/uk.po b/gettext-tools/examples/po/uk.po
index b5234bb..3ebbebb 100644
--- a/gettext-tools/examples/po/uk.po
+++ b/gettext-tools/examples/po/uk.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-10 22:33+0200\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-23 20:51+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -21,12 +21,11 @@ msgstr ""
"X-Generator: Lokalize 1.5\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -39,18 +38,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Привіт, Ñвіте!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° виконуєтьÑÑ Ñк Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· номером %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Вітаємо!</big>\n"
+"Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° виконуєтьÑÑ Ñк Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· номером <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Інший фрагмент текÑту</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Ще ÑкийÑÑŒ фрагмент текÑту</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Привіт"
@@ -59,13 +73,17 @@ msgstr "Привіт"
msgid "Example Application"
msgstr "Програма-приклад"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Оновити текÑÑ‚"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Зробити мітку чутливою"
+msgid "Use XML markup"
+msgstr "ВикориÑтати розмітку XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Чи Ñлід робити мітку чутливою."
+msgid "Whether to use XML markup in the text."
+msgstr "Визначає, чи Ñлід викориÑтовувати розмітку XML у текÑÑ‚Ñ–."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -107,3 +125,9 @@ msgstr "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° виконуєтьÑÑ Ñк Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· ном
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° виконуєтьÑÑ Ñк Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· номером {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Зробити мітку чутливою"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Чи Ñлід робити мітку чутливою."
diff --git a/gettext-tools/examples/po/vi.po b/gettext-tools/examples/po/vi.po
index 054a324..c722926 100644
--- a/gettext-tools/examples/po/vi.po
+++ b/gettext-tools/examples/po/vi.po
@@ -1,17 +1,17 @@
# Vietnamese Translation for Gettext Examples.
# Bản dịch tiếng Việt dành cho các ví dụ của gói gettext.
-# Copyright © 2014 Yoyodyne, Inc. (msgids)
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Yoyodyne, Inc. (msgids)
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.19.4-rc1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2014-12-11 08:03+0700\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-06-30 08:00+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -20,14 +20,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Langugae-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -40,18 +40,33 @@ msgstr ""
msgid "Hello, world!"
msgstr "Chào thế giới!"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Chương trình này đang chạy với mã số tiến trình %d."
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>Chào thế giới!</big>\n"
+"Chương trình này đang chạy với mã số tiến trình <b>%d</b>."
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>Äây là văn bản khác</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>Äây là văn bản khác nữa</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr "Chào"
@@ -60,13 +75,17 @@ msgstr "Chào"
msgid "Example Application"
msgstr "Ứng dụng mẫu"
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "Văn bản cập nhật"
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr "Äặt phân biệt nhãn"
+msgid "Use XML markup"
+msgstr "Dùng đánh dấu XML"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr "Có đặt phân biệt nhãn hay không."
+msgid "Whether to use XML markup in the text."
+msgstr "Có dùng đánh dấu XML trong văn bản hay không."
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
@@ -108,3 +127,9 @@ msgstr "Chương trình này đang chạy với mã số tiến trình {0}."
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Chương trình này đang chạy với mã số tiến trình {pid}."
+
+#~ msgid "Set label sensitive"
+#~ msgstr "Äặt phân biệt nhãn"
+
+#~ msgid "Whether to set the label sensitive."
+#~ msgstr "Có đặt phân biệt nhãn hay không."
diff --git a/gettext-tools/examples/po/zh_CN.po b/gettext-tools/examples/po/zh_CN.po
index 6d50541..3b7422e 100644
--- a/gettext-tools/examples/po/zh_CN.po
+++ b/gettext-tools/examples/po/zh_CN.po
@@ -1,15 +1,16 @@
# zh_CN translation for gettext-examples.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the gettext-examples package.
+# Copyright (C) 2015 Yoyodyne, Inc. (msgids)
+# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2003.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.13.1\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2003-12-18 19:07+0800\n"
-"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
@@ -17,12 +18,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -35,33 +35,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "世界你好ï¼"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "此程åºæ­£ä»¥è¿›ç¨‹å· %d è¿è¡Œã€‚"
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>世界你好ï¼</big>\n"
+"此程åºæ­£ä»¥è¿›ç¨‹å· <b>%d</b> è¿è¡Œã€‚"
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>这是å¦ä¸€æ®µæ–‡æœ¬</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>这还是å¦ä¸€æ®µæ–‡æœ¬</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "世界你好"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "示例应用"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "更新文本"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "使用XML 标记语言"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "是å¦åœ¨æ–‡æœ¬ä¸­ä½¿ç”¨XML 标记"
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/examples/po/zh_HK.po b/gettext-tools/examples/po/zh_HK.po
index 2286912..26d37db 100644
--- a/gettext-tools/examples/po/zh_HK.po
+++ b/gettext-tools/examples/po/zh_HK.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-examples 0.15-pre5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
"PO-Revision-Date: 2006-07-05 15:40+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
@@ -16,12 +16,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -34,18 +33,31 @@ msgstr ""
msgid "Hello, world!"
msgstr "你好ï¼"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "本程å¼æ­£åœ¨åŸ·è¡Œä¸­ï¼Œé€²ç¨‹ç·¨è™Ÿç‚º %d。"
+#: hello-c-gnome3/hello.c:79
+#, fuzzy, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr "本程å¼æ­£åœ¨åŸ·è¡Œä¸­ï¼Œé€²ç¨‹ç·¨è™Ÿç‚º %d。"
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr ""
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr ""
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""
@@ -54,12 +66,16 @@ msgstr ""
msgid "Example Application"
msgstr ""
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr ""
+
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
+msgid "Use XML markup"
msgstr ""
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
+msgid "Whether to use XML markup in the text."
msgstr ""
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
diff --git a/gettext-tools/examples/po/zh_TW.po b/gettext-tools/examples/po/zh_TW.po
index 7642e59..dc9bad2 100644
--- a/gettext-tools/examples/po/zh_TW.po
+++ b/gettext-tools/examples/po/zh_TW.po
@@ -2,14 +2,14 @@
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Abel Cheung <abelcheung@gmail.com>, 2005.
-# Wei-Lun Chao <bluebat@member.fsf.org>, 2013.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-examples 0.18\n"
+"Project-Id-Version: gettext-examples 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:29+0900\n"
-"PO-Revision-Date: 2013-09-03 13:00+0800\n"
+"POT-Creation-Date: 2015-12-28 08:28+0900\n"
+"PO-Revision-Date: 2015-10-08 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
@@ -18,12 +18,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
-#: hello-c-gnome3/hello.desktop.in.in:5 hello-c-gnome3/hello.ui:22
-#: hello-c++/hello.cc:39 hello-c++-qt/hello.cc:45
-#: hello-c++-kde/hellowindow.cc:42 hello-c++-gnome/hello.cc:50
-#: hello-c++-wxwidgets/hello.cc:68 hello-objc/hello.m:30
-#: hello-objc-gnustep/Hello.m:49 hello-objc-gnome/hello.m:47
-#: hello-sh/hello.sh:14 hello-python/hello.py.in:12
+#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
+#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
+#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
+#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
+#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
@@ -36,33 +35,52 @@ msgstr ""
msgid "Hello, world!"
msgstr "哈囉,大家好ï¼"
-#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c-gnome3/hello.c:70
-#: hello-c++/hello.cc:40 hello-c++-gnome/hello.cc:55
-#: hello-c++-wxwidgets/hello.cc:71 hello-objc/hello.m:31
-#: hello-objc-gnustep/Hello.m:58 hello-objc-gnome/hello.m:52
-#: hello-librep/hello.jl.in:14 hello-gawk/hello.awk:12
-#: hello-pascal/hello.running_as hello-tcl/hello.tcl:12
-#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19
-#: hello-php/hello.php:14
+#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
+#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
+#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
+#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
+#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
+#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "本程å¼æ­£åœ¨åŸ·è¡Œï¼Œè¡Œç¨‹ç·¨è™Ÿç‚º %d。"
+#: hello-c-gnome3/hello.c:79
+#, c-format
+msgid ""
+"<big>Hello world!</big>\n"
+"This program is running as process number <b>%d</b>."
+msgstr ""
+"<big>哈囉,大家好ï¼</big>\n"
+"本程å¼æ­£åœ¨åŸ·è¡Œï¼Œè¡Œç¨‹ç·¨è™Ÿç‚º <b>%d</b>。"
+
+#: hello-c-gnome3/hello.c:84
+msgid "<big><u>This is another text</u></big>"
+msgstr "<big><u>這是å¦ä¸€æ®µæ–‡å­—</u></big>"
+
+#: hello-c-gnome3/hello.c:86
+msgid "<big><i>This is yet another text</i></big>"
+msgstr "<big><i>這åˆæ˜¯å¦ä¸€æ®µæ–‡å­—</i></big>"
+
#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
-msgstr ""
+msgstr "哈囉"
#: hello-c-gnome3/hello.ui:5
msgid "Example Application"
-msgstr ""
+msgstr "應用軟體範例"
+
+#: hello-c-gnome3/hello.ui:33
+msgid "Update text"
+msgstr "更新文字"
#: hello-c-gnome3/hello.gschema.xml:7
-msgid "Set label sensitive"
-msgstr ""
+msgid "Use XML markup"
+msgstr "使用 XML 標記"
#: hello-c-gnome3/hello.gschema.xml:8
-msgid "Whether to set the label sensitive."
-msgstr ""
+msgid "Whether to use XML markup in the text."
+msgstr "是å¦åœ¨æ–‡å­—中使用 XML 標記"
#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
diff --git a/gettext-tools/gnulib-lib/Makefile.am b/gettext-tools/gnulib-lib/Makefile.am
index 86106b8..9e43721 100644
--- a/gettext-tools/gnulib-lib/Makefile.am
+++ b/gettext-tools/gnulib-lib/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/gnulib-lib subdirectory of GNU gettext
-## Copyright (C) 1995-1998, 2000-2006, 2009 Free Software Foundation, Inc.
+## Copyright (C) 1995-1998, 2000-2006, 2009, 2015 Free Software
+## Foundation, Inc.
##
## 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
diff --git a/gettext-tools/gnulib-lib/Makefile.gnulib b/gettext-tools/gnulib-lib/Makefile.gnulib
index 80d77a4..1a63a0a 100644
--- a/gettext-tools/gnulib-lib/Makefile.gnulib
+++ b/gettext-tools/gnulib-lib/Makefile.gnulib
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=../build-aux --with-tests --avoid=hash-tests --avoid=unilbrk/u8-possible-linebreaks-tests --avoid=unilbrk/ulc-width-linebreaks-tests --avoid=unistr/u8-mbtouc-tests --avoid=unistr/u8-mbtouc-unsafe-tests --avoid=uniwidth/width-tests --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gl alloca-opt ansi-c++-opt atexit backupfile basename binary-io bison-i18n byteswap c-ctype c-strcase c-strcasestr c-strstr clean-temp closedir closeout copy-file csharpcomp csharpcomp-script csharpexec csharpexec-script error error-progname execute extensions fd-ostream file-ostream filename findprog fnmatch fopen fstrcmp full-write fwriteerror gcd gcj getline getopt-gnu gettext-h gettext-tools-misc hash html-styled-ostream iconv include_next java javacomp javacomp-script javaexec javaexec-script libunistring-optional localcharset locale localename lock malloc-posix mbrtowc mbsinit memmove memset minmax multiarch obstack open opendir openmp ostream pipe-filter-ii progname propername readdir relocatable-prog relocatable-script setlocale sh-quote sigpipe sigprocmask snippet/arg-nonnull snippet/c++defs snippet/warn-on-use spawn-pipe ssize_t stdbool stddef stdint stdio stdlib stpcpy stpncpy strcspn streq strerror strpbrk strtol strtoul styled-ostream sys_select sys_stat sys_time term-styled-ostream unilbrk/ulc-width-linebreaks uniname/uniname unistd unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf verify wait-process wchar wctype-h write xalloc xconcat-filename xerror xmalloca xsetenv xstriconv xstriconveh xvasprintf
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=../build-aux --with-tests --avoid=hash-tests --avoid=unilbrk/u8-possible-linebreaks-tests --avoid=unilbrk/ulc-width-linebreaks-tests --avoid=unistr/u8-mbtouc-tests --avoid=unistr/u8-mbtouc-unsafe-tests --avoid=uniwidth/width-tests --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gl alloca-opt ansi-c++-opt atexit backupfile basename binary-io bison-i18n byteswap c-ctype c-strcase c-strcasestr c-strstr clean-temp closedir closeout copy-file csharpcomp csharpcomp-script csharpexec csharpexec-script error error-progname execute extensions fd-ostream file-ostream filename findprog fnmatch fopen fstrcmp full-write fwriteerror gcd gcj getline getopt-gnu gettext-h gettext-tools-misc hash html-styled-ostream iconv include_next java javacomp javacomp-script javaexec javaexec-script libunistring-optional localcharset locale localename lock malloc-posix mbrtowc mbsinit memmove memset minmax multiarch obstack open opendir openmp ostream pipe-filter-ii progname propername readdir relocatable-prog relocatable-script setlocale sh-quote sigpipe sigprocmask snippet/arg-nonnull snippet/c++defs snippet/warn-on-use spawn-pipe ssize_t stdbool stddef stdint stdio stdlib stpcpy stpncpy strcspn streq strerror strpbrk strtol strtoul styled-ostream sys_select sys_stat sys_time term-styled-ostream trim unictype/ctype-space unilbrk/ulc-width-linebreaks uniname/uniname unistd unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf verify wait-process wchar wctype-h write xalloc xconcat-filename xerror xmalloca xsetenv xstriconv xstriconveh xvasprintf
MOSTLYCLEANFILES += core *.stackdump
@@ -33,12 +33,18 @@ libgettextlib_la_DEPENDENCIES = $(gl_LTLIBOBJS)
EXTRA_libgettextlib_la_SOURCES =
libgettextlib_la_LDFLAGS = $(AM_LDFLAGS)
libgettextlib_la_LDFLAGS += -no-undefined
+libgettextlib_la_LDFLAGS += $(FABS_LIBM)
+libgettextlib_la_LDFLAGS += $(ISNAND_LIBM)
+libgettextlib_la_LDFLAGS += $(ISNANF_LIBM)
+libgettextlib_la_LDFLAGS += $(ISNANL_LIBM)
libgettextlib_la_LDFLAGS += $(LIB_ACL)
+libgettextlib_la_LDFLAGS += $(LOG10_LIBM)
libgettextlib_la_LDFLAGS += $(LTLIBICONV)
libgettextlib_la_LDFLAGS += $(LTLIBINTL)
libgettextlib_la_LDFLAGS += $(LTLIBTHREAD)
libgettextlib_la_LDFLAGS += $(LTLIBUNISTRING)
libgettextlib_la_LDFLAGS += $(OPENMP_CFLAGS)
+libgettextlib_la_LDFLAGS += $(POW_LIBM)
libgettextlib_la_LDFLAGS += @INTL_MACOSX_LIBS@
## begin gnulib module absolute-header
@@ -56,6 +62,16 @@ libgettextlib_la_SOURCES += copy-acl.c set-acl.c
## end gnulib module acl
+## begin gnulib module acl-permissions
+
+libgettextlib_la_SOURCES += acl-errno-valid.c acl-internal.c get-permissions.c set-permissions.c
+
+EXTRA_DIST += acl-internal.h acl.h acl_entries.c
+
+EXTRA_libgettextlib_la_SOURCES += acl_entries.c
+
+## end gnulib module acl-permissions
+
## begin gnulib module alignof
@@ -840,6 +856,9 @@ EXTRA_libgettextlib_la_SOURCES += gettimeofday.c
## begin gnulib module gperf
GPERF = gperf
+V_GPERF = $(V_GPERF_@AM_V@)
+V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
+V_GPERF_0 = @echo " GPERF " $@;
## end gnulib module gperf
@@ -957,19 +976,19 @@ EXTRA_DIST += iconv.in.h
## begin gnulib module iconv_open
iconv_open-aix.h: iconv_open-aix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \
mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
iconv_open-hpux.h: iconv_open-hpux.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \
mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
iconv_open-irix.h: iconv_open-irix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \
mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
iconv_open-osf.h: iconv_open-osf.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \
mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
iconv_open-solaris.h: iconv_open-solaris.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \
mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
MOSTLYCLEANFILES += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t
@@ -996,6 +1015,69 @@ EXTRA_DIST += intprops.h
## end gnulib module intprops
+## begin gnulib module isinf
+
+
+EXTRA_DIST += isinf.c
+
+EXTRA_libgettextlib_la_SOURCES += isinf.c
+
+## end gnulib module isinf
+
+## begin gnulib module isnand
+
+
+EXTRA_DIST += float+.h isnan.c isnand.c
+
+EXTRA_libgettextlib_la_SOURCES += isnan.c isnand.c
+
+## end gnulib module isnand
+
+## begin gnulib module isnand-nolibm
+
+
+EXTRA_DIST += float+.h isnan.c isnand-nolibm.h isnand.c
+
+EXTRA_libgettextlib_la_SOURCES += isnan.c isnand.c
+
+## end gnulib module isnand-nolibm
+
+## begin gnulib module isnanf
+
+
+EXTRA_DIST += float+.h isnan.c isnanf.c
+
+EXTRA_libgettextlib_la_SOURCES += isnan.c isnanf.c
+
+## end gnulib module isnanf
+
+## begin gnulib module isnanf-nolibm
+
+
+EXTRA_DIST += float+.h isnan.c isnanf-nolibm.h isnanf.c
+
+EXTRA_libgettextlib_la_SOURCES += isnan.c isnanf.c
+
+## end gnulib module isnanf-nolibm
+
+## begin gnulib module isnanl
+
+
+EXTRA_DIST += float+.h isnan.c isnanl.c
+
+EXTRA_libgettextlib_la_SOURCES += isnan.c isnanl.c
+
+## end gnulib module isnanl
+
+## begin gnulib module isnanl-nolibm
+
+
+EXTRA_DIST += float+.h isnan.c isnanl-nolibm.h isnanl.c
+
+EXTRA_libgettextlib_la_SOURCES += isnan.c isnanl.c
+
+## end gnulib module isnanl-nolibm
+
## begin gnulib module iswblank
@@ -1041,6 +1123,39 @@ EXTRA_DIST += javaversion.class javaversion.java
## end gnulib module javaversion
+## begin gnulib module langinfo
+
+BUILT_SOURCES += langinfo.h
+
+# We need the following in order to create an empty placeholder for
+# <langinfo.h> when the system doesn't have one.
+langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \
+ -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \
+ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
+ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
+ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
+ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
+ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/langinfo.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += langinfo.h langinfo.h-t
+
+EXTRA_DIST += langinfo.in.h
+
+## end gnulib module langinfo
+
## begin gnulib module libcroco
AM_CPPFLAGS += $(INCGLIB)
@@ -1208,11 +1323,14 @@ libxml_rpl_la_SOURCES = \
libxml/HTMLtree.c \
libxml/SAX.c \
libxml/SAX2.c \
+ libxml/buf.h \
+ libxml/buf.c \
libxml/c14n.c \
libxml/catalog.c \
libxml/chvalid.c \
libxml/debugXML.c \
libxml/dict.c \
+ libxml/enc.h \
libxml/encoding.c \
libxml/entities.c \
libxml/error.c \
@@ -1226,9 +1344,12 @@ libxml_rpl_la_SOURCES = \
libxml/parserInternals.c \
libxml/pattern.c \
libxml/relaxng.c \
+ libxml/save.h \
libxml/schematron.c \
libxml/threads.c \
+ libxml/timsort.h \
libxml/tree.c \
+ libxml/trionan.c \
libxml/uri.c \
libxml/valid.c \
libxml/xinclude.c \
@@ -1633,9 +1754,9 @@ if GL_COND_LIBTOOL
libgettextlib_la_LDFLAGS += $(LTLIBXML)
endif
-EXTRA_DIST += libxml/COPYING libxml/DOCBparser.c libxml/DOCBparser.in.h libxml/HTMLparser.c libxml/HTMLparser.in.h libxml/HTMLtree.c libxml/HTMLtree.in.h libxml/SAX.c libxml/SAX.in.h libxml/SAX2.c libxml/SAX2.in.h libxml/c14n.c libxml/c14n.in.h libxml/catalog.c libxml/catalog.in.h libxml/chvalid.c libxml/chvalid.in.h libxml/debugXML.c libxml/debugXML.in.h libxml/dict.c libxml/dict.in.h libxml/elfgcchack.h libxml/encoding.c libxml/encoding.in.h libxml/entities.c libxml/entities.in.h libxml/error.c libxml/globals.c libxml/globals.in.h libxml/hash.c libxml/hash.in.h libxml/legacy.c libxml/libxml.h libxml/list.c libxml/list.in.h libxml/nanoftp.c libxml/nanoftp.in.h libxml/nanohttp.c libxml/nanohttp.in.h libxml/parser.c libxml/parser.in.h libxml/parserInternals.c libxml/parserInternals.in.h libxml/pattern.c libxml/pattern.in.h libxml/relaxng.c libxml/relaxng.in.h libxml/schemasInternals.in.h libxml/schematron.c libxml/schematron.in.h libxml/threads.c libxml/threads.in.h libxml/tree.c libxml/tree.in.h libxml/uri.c libxml/uri.in.h libxml/valid.c libxml/valid.in.h libxml/xinclude.c libxml/xinclude.in.h libxml/xlink.c libxml/xlink.in.h libxml/xmlIO.c libxml/xmlIO.in.h libxml/xmlautomata.in.h libxml/xmlerror.in.h libxml/xmlexports.in.h libxml/xmlmemory.c libxml/xmlmemory.in.h libxml/xmlmodule.c libxml/xmlmodule.in.h libxml/xmlreader.c libxml/xmlreader.in.h libxml/xmlregexp.c libxml/xmlregexp.in.h libxml/xmlsave.c libxml/xmlsave.in.h libxml/xmlschemas.c libxml/xmlschemas.in.h libxml/xmlschemastypes.c libxml/xmlschemastypes.in.h libxml/xmlstring.c libxml/xmlstring.in.h libxml/xmlunicode.c libxml/xmlunicode.in.h libxml/xmlversion.in.h libxml/xmlwriter.c libxml/xmlwriter.in.h libxml/xpath.c libxml/xpath.in.h libxml/xpathInternals.in.h libxml/xpointer.c libxml/xpointer.in.h
+EXTRA_DIST += libxml/COPYING libxml/DOCBparser.c libxml/DOCBparser.in.h libxml/HTMLparser.c libxml/HTMLparser.in.h libxml/HTMLtree.c libxml/HTMLtree.in.h libxml/SAX.c libxml/SAX.in.h libxml/SAX2.c libxml/SAX2.in.h libxml/buf.c libxml/buf.h libxml/c14n.c libxml/c14n.in.h libxml/catalog.c libxml/catalog.in.h libxml/chvalid.c libxml/chvalid.in.h libxml/debugXML.c libxml/debugXML.in.h libxml/dict.c libxml/dict.in.h libxml/elfgcchack.h libxml/enc.h libxml/encoding.c libxml/encoding.in.h libxml/entities.c libxml/entities.in.h libxml/error.c libxml/globals.c libxml/globals.in.h libxml/hash.c libxml/hash.in.h libxml/legacy.c libxml/libxml.h libxml/list.c libxml/list.in.h libxml/nanoftp.c libxml/nanoftp.in.h libxml/nanohttp.c libxml/nanohttp.in.h libxml/parser.c libxml/parser.in.h libxml/parserInternals.c libxml/parserInternals.in.h libxml/pattern.c libxml/pattern.in.h libxml/relaxng.c libxml/relaxng.in.h libxml/save.h libxml/schemasInternals.in.h libxml/schematron.c libxml/schematron.in.h libxml/threads.c libxml/threads.in.h libxml/timsort.h libxml/tree.c libxml/tree.in.h libxml/trionan.c libxml/uri.c libxml/uri.in.h libxml/valid.c libxml/valid.in.h libxml/xinclude.c libxml/xinclude.in.h libxml/xlink.c libxml/xlink.in.h libxml/xmlIO.c libxml/xmlIO.in.h libxml/xmlautomata.in.h libxml/xmlerror.in.h libxml/xmlexports.in.h libxml/xmlmemory.c libxml/xmlmemory.in.h libxml/xmlmodule.c libxml/xmlmodule.in.h libxml/xmlreader.c libxml/xmlreader.in.h libxml/xmlregexp.c libxml/xmlregexp.in.h libxml/xmlsave.c libxml/xmlsave.in.h libxml/xmlschemas.c libxml/xmlschemas.in.h libxml/xmlschemastypes.c libxml/xmlschemastypes.in.h libxml/xmlstring.c libxml/xmlstring.in.h libxml/xmlunicode.c libxml/xmlunicode.in.h libxml/xmlversion.in.h libxml/xmlwriter.c libxml/xmlwriter.in.h libxml/xpath.c libxml/xpath.in.h libxml/xpathInternals.in.h libxml/xpointer.c libxml/xpointer.in.h
-EXTRA_libgettextlib_la_SOURCES += libxml/DOCBparser.c libxml/HTMLparser.c libxml/HTMLtree.c libxml/SAX.c libxml/SAX2.c libxml/c14n.c libxml/catalog.c libxml/chvalid.c libxml/debugXML.c libxml/dict.c libxml/encoding.c libxml/entities.c libxml/error.c libxml/globals.c libxml/hash.c libxml/legacy.c libxml/list.c libxml/nanoftp.c libxml/nanohttp.c libxml/parser.c libxml/parserInternals.c libxml/pattern.c libxml/relaxng.c libxml/schematron.c libxml/threads.c libxml/tree.c libxml/uri.c libxml/valid.c libxml/xinclude.c libxml/xlink.c libxml/xmlIO.c libxml/xmlmemory.c libxml/xmlmodule.c libxml/xmlreader.c libxml/xmlregexp.c libxml/xmlsave.c libxml/xmlschemas.c libxml/xmlschemastypes.c libxml/xmlstring.c libxml/xmlunicode.c libxml/xmlwriter.c libxml/xpath.c libxml/xpointer.c
+EXTRA_libgettextlib_la_SOURCES += libxml/DOCBparser.c libxml/HTMLparser.c libxml/HTMLtree.c libxml/SAX.c libxml/SAX2.c libxml/buf.c libxml/c14n.c libxml/catalog.c libxml/chvalid.c libxml/debugXML.c libxml/dict.c libxml/encoding.c libxml/entities.c libxml/error.c libxml/globals.c libxml/hash.c libxml/legacy.c libxml/list.c libxml/nanoftp.c libxml/nanohttp.c libxml/parser.c libxml/parserInternals.c libxml/pattern.c libxml/relaxng.c libxml/schematron.c libxml/threads.c libxml/tree.c libxml/trionan.c libxml/uri.c libxml/valid.c libxml/xinclude.c libxml/xlink.c libxml/xmlIO.c libxml/xmlmemory.c libxml/xmlmodule.c libxml/xmlreader.c libxml/xmlregexp.c libxml/xmlsave.c libxml/xmlschemas.c libxml/xmlschemastypes.c libxml/xmlstring.c libxml/xmlunicode.c libxml/xmlwriter.c libxml/xpath.c libxml/xpointer.c
## end gnulib module libxml
@@ -1774,6 +1895,15 @@ libgettextlib_la_SOURCES += glthread/lock.h glthread/lock.c
## end gnulib module lock
+## begin gnulib module log10
+
+
+EXTRA_DIST += log10.c
+
+EXTRA_libgettextlib_la_SOURCES += log10.c
+
+## end gnulib module log10
+
## begin gnulib module lstat
@@ -1800,6 +1930,290 @@ EXTRA_DIST += malloca.h malloca.valgrind
## end gnulib module malloca
+## begin gnulib module math
+
+BUILT_SOURCES += math.h
+libgettextlib_la_SOURCES += math.c
+
+# We need the following in order to create <math.h> when the system
+# doesn't have one that works with the given compiler.
+math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \
+ -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \
+ -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \
+ -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \
+ -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \
+ -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \
+ -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \
+ -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \
+ -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \
+ -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \
+ -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \
+ -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \
+ -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \
+ -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \
+ -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \
+ -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \
+ -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \
+ -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \
+ -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \
+ -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \
+ -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \
+ -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \
+ -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \
+ -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \
+ -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \
+ -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \
+ -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \
+ -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \
+ -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \
+ -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \
+ -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \
+ -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \
+ -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \
+ -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \
+ -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \
+ -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \
+ -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \
+ -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \
+ -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \
+ -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \
+ -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \
+ -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \
+ -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \
+ -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \
+ -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \
+ < $(srcdir)/math.in.h | \
+ sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \
+ -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \
+ -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \
+ -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \
+ -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \
+ -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \
+ -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \
+ -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \
+ -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \
+ -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \
+ -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \
+ -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \
+ -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \
+ -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \
+ -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \
+ -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \
+ -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \
+ -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \
+ -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \
+ -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \
+ -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \
+ -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \
+ -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \
+ -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \
+ -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \
+ -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \
+ -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \
+ -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \
+ -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \
+ -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \
+ -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \
+ -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \
+ -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \
+ -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \
+ -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \
+ -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \
+ -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \
+ -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \
+ -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \
+ -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \
+ -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \
+ -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \
+ -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \
+ -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \
+ -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \
+ -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \
+ -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \
+ -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \
+ -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \
+ -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \
+ -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \
+ | \
+ sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
+ -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
+ -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \
+ -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \
+ -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \
+ -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \
+ -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \
+ -e 's|@''HAVE_CBRT''@|$(HAVE_CBRT)|g' \
+ -e 's|@''HAVE_CBRTF''@|$(HAVE_CBRTF)|g' \
+ -e 's|@''HAVE_CBRTL''@|$(HAVE_CBRTL)|g' \
+ -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \
+ -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \
+ -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \
+ -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \
+ -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \
+ -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \
+ -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \
+ -e 's|@''HAVE_EXPM1''@|$(HAVE_EXPM1)|g' \
+ -e 's|@''HAVE_EXPM1F''@|$(HAVE_EXPM1F)|g' \
+ -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \
+ -e 's|@''HAVE_FABSL''@|$(HAVE_FABSL)|g' \
+ -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \
+ -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \
+ -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \
+ -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \
+ -e 's|@''HAVE_FMODL''@|$(HAVE_FMODL)|g' \
+ -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \
+ -e 's|@''HAVE_HYPOTF''@|$(HAVE_HYPOTF)|g' \
+ -e 's|@''HAVE_HYPOTL''@|$(HAVE_HYPOTL)|g' \
+ -e 's|@''HAVE_ILOGB''@|$(HAVE_ILOGB)|g' \
+ -e 's|@''HAVE_ILOGBF''@|$(HAVE_ILOGBF)|g' \
+ -e 's|@''HAVE_ILOGBL''@|$(HAVE_ILOGBL)|g' \
+ -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \
+ -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \
+ -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \
+ -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \
+ -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \
+ -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \
+ -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \
+ -e 's|@''HAVE_LOG10L''@|$(HAVE_LOG10L)|g' \
+ -e 's|@''HAVE_LOG1P''@|$(HAVE_LOG1P)|g' \
+ -e 's|@''HAVE_LOG1PF''@|$(HAVE_LOG1PF)|g' \
+ -e 's|@''HAVE_LOG1PL''@|$(HAVE_LOG1PL)|g' \
+ -e 's|@''HAVE_LOGBF''@|$(HAVE_LOGBF)|g' \
+ -e 's|@''HAVE_LOGBL''@|$(HAVE_LOGBL)|g' \
+ -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \
+ -e 's|@''HAVE_MODFL''@|$(HAVE_MODFL)|g' \
+ -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \
+ -e 's|@''HAVE_REMAINDER''@|$(HAVE_REMAINDER)|g' \
+ -e 's|@''HAVE_REMAINDERF''@|$(HAVE_REMAINDERF)|g' \
+ -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \
+ -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \
+ -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \
+ -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \
+ -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \
+ -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \
+ -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \
+ -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \
+ -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \
+ -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \
+ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \
+ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \
+ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \
+ -e 's|@''HAVE_DECL_CBRTF''@|$(HAVE_DECL_CBRTF)|g' \
+ -e 's|@''HAVE_DECL_CBRTL''@|$(HAVE_DECL_CBRTL)|g' \
+ -e 's|@''HAVE_DECL_CEILF''@|$(HAVE_DECL_CEILF)|g' \
+ -e 's|@''HAVE_DECL_CEILL''@|$(HAVE_DECL_CEILL)|g' \
+ -e 's|@''HAVE_DECL_COPYSIGNF''@|$(HAVE_DECL_COPYSIGNF)|g' \
+ -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \
+ -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \
+ -e 's|@''HAVE_DECL_EXP2''@|$(HAVE_DECL_EXP2)|g' \
+ -e 's|@''HAVE_DECL_EXP2F''@|$(HAVE_DECL_EXP2F)|g' \
+ -e 's|@''HAVE_DECL_EXP2L''@|$(HAVE_DECL_EXP2L)|g' \
+ -e 's|@''HAVE_DECL_EXPM1L''@|$(HAVE_DECL_EXPM1L)|g' \
+ -e 's|@''HAVE_DECL_FLOORF''@|$(HAVE_DECL_FLOORF)|g' \
+ -e 's|@''HAVE_DECL_FLOORL''@|$(HAVE_DECL_FLOORL)|g' \
+ -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \
+ -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \
+ -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \
+ -e 's|@''HAVE_DECL_LOG10L''@|$(HAVE_DECL_LOG10L)|g' \
+ -e 's|@''HAVE_DECL_LOG2''@|$(HAVE_DECL_LOG2)|g' \
+ -e 's|@''HAVE_DECL_LOG2F''@|$(HAVE_DECL_LOG2F)|g' \
+ -e 's|@''HAVE_DECL_LOG2L''@|$(HAVE_DECL_LOG2L)|g' \
+ -e 's|@''HAVE_DECL_LOGB''@|$(HAVE_DECL_LOGB)|g' \
+ -e 's|@''HAVE_DECL_REMAINDER''@|$(HAVE_DECL_REMAINDER)|g' \
+ -e 's|@''HAVE_DECL_REMAINDERL''@|$(HAVE_DECL_REMAINDERL)|g' \
+ -e 's|@''HAVE_DECL_RINTF''@|$(HAVE_DECL_RINTF)|g' \
+ -e 's|@''HAVE_DECL_ROUND''@|$(HAVE_DECL_ROUND)|g' \
+ -e 's|@''HAVE_DECL_ROUNDF''@|$(HAVE_DECL_ROUNDF)|g' \
+ -e 's|@''HAVE_DECL_ROUNDL''@|$(HAVE_DECL_ROUNDL)|g' \
+ -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \
+ -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \
+ -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \
+ -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \
+ -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \
+ -e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \
+ | \
+ sed -e 's|@''REPLACE_CBRTF''@|$(REPLACE_CBRTF)|g' \
+ -e 's|@''REPLACE_CBRTL''@|$(REPLACE_CBRTL)|g' \
+ -e 's|@''REPLACE_CEIL''@|$(REPLACE_CEIL)|g' \
+ -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \
+ -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \
+ -e 's|@''REPLACE_EXPM1''@|$(REPLACE_EXPM1)|g' \
+ -e 's|@''REPLACE_EXPM1F''@|$(REPLACE_EXPM1F)|g' \
+ -e 's|@''REPLACE_EXP2''@|$(REPLACE_EXP2)|g' \
+ -e 's|@''REPLACE_EXP2L''@|$(REPLACE_EXP2L)|g' \
+ -e 's|@''REPLACE_FABSL''@|$(REPLACE_FABSL)|g' \
+ -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \
+ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \
+ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \
+ -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \
+ -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \
+ -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \
+ -e 's|@''REPLACE_FMOD''@|$(REPLACE_FMOD)|g' \
+ -e 's|@''REPLACE_FMODF''@|$(REPLACE_FMODF)|g' \
+ -e 's|@''REPLACE_FMODL''@|$(REPLACE_FMODL)|g' \
+ -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \
+ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \
+ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \
+ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \
+ -e 's|@''REPLACE_HYPOT''@|$(REPLACE_HYPOT)|g' \
+ -e 's|@''REPLACE_HYPOTF''@|$(REPLACE_HYPOTF)|g' \
+ -e 's|@''REPLACE_HYPOTL''@|$(REPLACE_HYPOTL)|g' \
+ -e 's|@''REPLACE_ILOGB''@|$(REPLACE_ILOGB)|g' \
+ -e 's|@''REPLACE_ILOGBF''@|$(REPLACE_ILOGBF)|g' \
+ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \
+ -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \
+ -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \
+ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
+ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \
+ -e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \
+ -e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \
+ -e 's|@''REPLACE_LOGL''@|$(REPLACE_LOGL)|g' \
+ -e 's|@''REPLACE_LOG10''@|$(REPLACE_LOG10)|g' \
+ -e 's|@''REPLACE_LOG10F''@|$(REPLACE_LOG10F)|g' \
+ -e 's|@''REPLACE_LOG10L''@|$(REPLACE_LOG10L)|g' \
+ -e 's|@''REPLACE_LOG1P''@|$(REPLACE_LOG1P)|g' \
+ -e 's|@''REPLACE_LOG1PF''@|$(REPLACE_LOG1PF)|g' \
+ -e 's|@''REPLACE_LOG1PL''@|$(REPLACE_LOG1PL)|g' \
+ -e 's|@''REPLACE_LOG2''@|$(REPLACE_LOG2)|g' \
+ -e 's|@''REPLACE_LOG2F''@|$(REPLACE_LOG2F)|g' \
+ -e 's|@''REPLACE_LOG2L''@|$(REPLACE_LOG2L)|g' \
+ -e 's|@''REPLACE_LOGB''@|$(REPLACE_LOGB)|g' \
+ -e 's|@''REPLACE_LOGBF''@|$(REPLACE_LOGBF)|g' \
+ -e 's|@''REPLACE_LOGBL''@|$(REPLACE_LOGBL)|g' \
+ -e 's|@''REPLACE_MODF''@|$(REPLACE_MODF)|g' \
+ -e 's|@''REPLACE_MODFF''@|$(REPLACE_MODFF)|g' \
+ -e 's|@''REPLACE_MODFL''@|$(REPLACE_MODFL)|g' \
+ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \
+ -e 's|@''REPLACE_REMAINDER''@|$(REPLACE_REMAINDER)|g' \
+ -e 's|@''REPLACE_REMAINDERF''@|$(REPLACE_REMAINDERF)|g' \
+ -e 's|@''REPLACE_REMAINDERL''@|$(REPLACE_REMAINDERL)|g' \
+ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \
+ -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \
+ -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \
+ -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \
+ -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \
+ -e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \
+ -e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \
+ -e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \
+ -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += math.h math.h-t
+
+EXTRA_DIST += math.in.h
+
+## end gnulib module math
+
## begin gnulib module mbchar
libgettextlib_la_SOURCES += mbchar.c
@@ -2131,15 +2545,17 @@ libgettextlib_la_SOURCES += propername.h propername.c
## end gnulib module propername
-## begin gnulib module qacl
+## begin gnulib module qcopy-acl
-libgettextlib_la_SOURCES += acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c
+libgettextlib_la_SOURCES += qcopy-acl.c
-EXTRA_DIST += acl-internal.h acl.h acl_entries.c
+## end gnulib module qcopy-acl
-EXTRA_libgettextlib_la_SOURCES += acl_entries.c
+## begin gnulib module qset-acl
+
+libgettextlib_la_SOURCES += qset-acl.c
-## end gnulib module qacl
+## end gnulib module qset-acl
## begin gnulib module quote
@@ -2394,6 +2810,15 @@ EXTRA_DIST += signal.in.h
## end gnulib module signal-h
+## begin gnulib module signbit
+
+
+EXTRA_DIST += float+.h signbitd.c signbitf.c signbitl.c
+
+EXTRA_libgettextlib_la_SOURCES += signbitd.c signbitf.c signbitl.c
+
+## end gnulib module signbit
+
## begin gnulib module sigpipe
@@ -2669,6 +3094,7 @@ stddef.h: stddef.in.h $(top_builddir)/config.status
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
-e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
-e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
< $(srcdir)/stddef.in.h; \
@@ -3534,10 +3960,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
-e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
-e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+ -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
-e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
-e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
-e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
@@ -3547,6 +3975,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -3603,6 +4032,32 @@ endif
## end gnulib module uniconv/u8-conv-from-enc
+## begin gnulib module unictype/base
+
+BUILT_SOURCES += $(LIBUNISTRING_UNICTYPE_H)
+
+unictype.h: unictype.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unictype.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+MOSTLYCLEANFILES += unictype.h unictype.h-t
+
+EXTRA_DIST += unictype.in.h
+
+## end gnulib module unictype/base
+
+## begin gnulib module unictype/ctype-space
+
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE
+libgettextlib_la_SOURCES += unictype/ctype_space.c
+endif
+
+EXTRA_DIST += unictype/bitmap.h unictype/ctype_space.h
+
+## end gnulib module unictype/ctype-space
+
## begin gnulib module unilbrk/base
BUILT_SOURCES += $(LIBUNISTRING_UNILBRK_H)
diff --git a/gettext-tools/gnulib-lib/Makefile.in b/gettext-tools/gnulib-lib/Makefile.in
index df82ec7..30edf60 100644
--- a/gettext-tools/gnulib-lib/Makefile.in
+++ b/gettext-tools/gnulib-lib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,11 +35,21 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=../build-aux --with-tests --avoid=hash-tests --avoid=unilbrk/u8-possible-linebreaks-tests --avoid=unilbrk/ulc-width-linebreaks-tests --avoid=unistr/u8-mbtouc-tests --avoid=unistr/u8-mbtouc-unsafe-tests --avoid=uniwidth/width-tests --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gl alloca-opt ansi-c++-opt atexit backupfile basename binary-io bison-i18n byteswap c-ctype c-strcase c-strcasestr c-strstr clean-temp closedir closeout copy-file csharpcomp csharpcomp-script csharpexec csharpexec-script error error-progname execute extensions fd-ostream file-ostream filename findprog fnmatch fopen fstrcmp full-write fwriteerror gcd gcj getline getopt-gnu gettext-h gettext-tools-misc hash html-styled-ostream iconv include_next java javacomp javacomp-script javaexec javaexec-script libunistring-optional localcharset locale localename lock malloc-posix mbrtowc mbsinit memmove memset minmax multiarch obstack open opendir openmp ostream pipe-filter-ii progname propername readdir relocatable-prog relocatable-script setlocale sh-quote sigpipe sigprocmask snippet/arg-nonnull snippet/c++defs snippet/warn-on-use spawn-pipe ssize_t stdbool stddef stdint stdio stdlib stpcpy stpncpy strcspn streq strerror strpbrk strtol strtoul styled-ostream sys_select sys_stat sys_time term-styled-ostream unilbrk/ulc-width-linebreaks uniname/uniname unistd unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf verify wait-process wchar wctype-h write xalloc xconcat-filename xerror xmalloca xsetenv xstriconv xstriconveh xvasprintf
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=../build-aux --with-tests --avoid=hash-tests --avoid=unilbrk/u8-possible-linebreaks-tests --avoid=unilbrk/ulc-width-linebreaks-tests --avoid=unistr/u8-mbtouc-tests --avoid=unistr/u8-mbtouc-unsafe-tests --avoid=uniwidth/width-tests --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gl alloca-opt ansi-c++-opt atexit backupfile basename binary-io bison-i18n byteswap c-ctype c-strcase c-strcasestr c-strstr clean-temp closedir closeout copy-file csharpcomp csharpcomp-script csharpexec csharpexec-script error error-progname execute extensions fd-ostream file-ostream filename findprog fnmatch fopen fstrcmp full-write fwriteerror gcd gcj getline getopt-gnu gettext-h gettext-tools-misc hash html-styled-ostream iconv include_next java javacomp javacomp-script javaexec javaexec-script libunistring-optional localcharset locale localename lock malloc-posix mbrtowc mbsinit memmove memset minmax multiarch obstack open opendir openmp ostream pipe-filter-ii progname propername readdir relocatable-prog relocatable-script setlocale sh-quote sigpipe sigprocmask snippet/arg-nonnull snippet/c++defs snippet/warn-on-use spawn-pipe ssize_t stdbool stddef stdint stdio stdlib stpcpy stpncpy strcspn streq strerror strpbrk strtol strtoul styled-ostream sys_select sys_stat sys_time term-styled-ostream trim unictype/ctype-space unilbrk/ulc-width-linebreaks uniname/uniname unistd unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf verify wait-process wchar wctype-h write xalloc xconcat-filename xerror xmalloca xsetenv xstriconv xstriconveh xvasprintf
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -105,8 +115,6 @@ host_triplet = @host@
# When building a shared library, don't export the variables
# xmlMalloc, xmlMallocAtomic, xmlRealloc, xmlFree, xmlMemStrdup.
@INCLUDED_LIBXML_TRUE@am__append_1 = -DLIBXML_STATIC
-DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/../build-aux/mkinstalldirs
# Tell the mingw or Cygwin linker which symbols to export.
@WOE32DLL_TRUE@am__append_2 = ../woe32dll/gettextlib-exports.c
@@ -131,25 +139,25 @@ DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
@WOE32DLL_FALSE@am__append_19 = term-styled-ostream.c
@WOE32DLL_TRUE@am__append_20 = ../woe32dll/c++term-styled-ostream.cc
@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__append_21 = uniconv/u8-conv-from-enc.c
-@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__append_22 = unilbrk/u8-possible-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__append_23 = unilbrk/u8-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__append_24 = unilbrk/ulc-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_25 = uniname/uniname.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__append_26 = unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_27 = unistr/u8-check.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__append_28 = unistr/u8-mblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__append_29 = unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__append_30 = unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_31 = unistr/u8-mbtoucr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__append_32 = unistr/u8-prev.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_33 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_34 = uniwidth/width.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__append_22 = unictype/ctype_space.c
+@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__append_23 = unilbrk/u8-possible-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__append_24 = unilbrk/u8-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__append_25 = unilbrk/ulc-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_26 = uniname/uniname.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__append_27 = unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_28 = unistr/u8-check.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__append_29 = unistr/u8-mblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__append_30 = unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__append_31 = unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_32 = unistr/u8-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__append_33 = unistr/u8-prev.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_34 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_35 = uniwidth/width.c
subdir = gnulib-lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -166,6 +174,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -173,6 +182,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -184,7 +194,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -214,10 +227,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -235,10 +254,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -268,6 +290,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -292,6 +315,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -299,6 +323,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -390,6 +415,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -460,20 +486,22 @@ am__v_lt_0 = --silent
am__v_lt_1 =
@INCLUDED_LIBCROCO_TRUE@am_libcroco_rpl_la_rpath =
am__DEPENDENCIES_1 =
-am__libgettextlib_la_SOURCES_DIST = copy-acl.c set-acl.c allocator.c \
- areadlink.c argmatch.c gl_array_list.h gl_array_list.c \
- backupfile.h backupfile.c addext.c basename.h basename.c \
- binary-io.h binary-io.c c-ctype.h c-ctype.c c-strcase.h \
- c-strcasecmp.c c-strncasecmp.c c-strcasestr.h c-strcasestr.c \
- c-strstr.h c-strstr.c careadlinkat.c classpath.h classpath.c \
- clean-temp.h clean-temp.c cloexec.c closeout.h closeout.c \
- concat-filename.c copy-file.h copy-file.c csharpcomp.h \
- csharpcomp.c csharpexec.h csharpexec.c diffseq.h \
- error-progname.h error-progname.c execute.h execute.c \
- w32spawn.h exitfail.c fatal-signal.h fatal-signal.c fd-hook.c \
- fd-ostream.c fd-safer-flag.c dup-safer-flag.c file-ostream.c \
- findprog.h findprog.c fstrcmp.h fstrcmp.c full-write.h \
- full-write.c fwriteerror.h fwriteerror.c gcd.h gcd.c gettext.h \
+am__libgettextlib_la_SOURCES_DIST = copy-acl.c set-acl.c \
+ acl-errno-valid.c acl-internal.c get-permissions.c \
+ set-permissions.c allocator.c areadlink.c argmatch.c \
+ gl_array_list.h gl_array_list.c backupfile.h backupfile.c \
+ addext.c basename.h basename.c binary-io.h binary-io.c \
+ c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \
+ c-strcasestr.h c-strcasestr.c c-strstr.h c-strstr.c \
+ careadlinkat.c classpath.h classpath.c clean-temp.h \
+ clean-temp.c cloexec.c closeout.h closeout.c concat-filename.c \
+ copy-file.h copy-file.c csharpcomp.h csharpcomp.c csharpexec.h \
+ csharpexec.c diffseq.h error-progname.h error-progname.c \
+ execute.h execute.c w32spawn.h exitfail.c fatal-signal.h \
+ fatal-signal.c fd-hook.c fd-ostream.c fd-safer-flag.c \
+ dup-safer-flag.c file-ostream.c findprog.h findprog.c \
+ fstrcmp.h fstrcmp.c full-write.h full-write.c fwriteerror.h \
+ fwriteerror.c gcd.h gcd.c gettext.h \
../woe32dll/gettextlib-exports.c hash.h hash.c html-ostream.c \
html-styled-ostream.c ../woe32dll/c++html-styled-ostream.cc \
javacomp.h javacomp.c javaexec.h javaexec.c javaversion.h \
@@ -481,24 +509,24 @@ am__libgettextlib_la_SOURCES_DIST = copy-acl.c set-acl.c allocator.c \
gl_anyhash_list1.h gl_anyhash_list2.h gl_anylinked_list1.h \
gl_anylinked_list2.h gl_list.h gl_list.c localcharset.h \
localcharset.c localename.c glthread/lock.h glthread/lock.c \
- malloca.c mbchar.c mbiter.h mbiter.c mbslen.c mbsstr.c \
+ malloca.c math.c mbchar.c mbiter.h mbiter.c mbslen.c mbsstr.c \
mbswidth.h mbswidth.c mbuiter.h mbuiter.c minmax.h ostream.c \
pipe-filter-ii.c pipe-filter-aux.c pipe2.c pipe2-safer.c \
- progname.h progname.c propername.h propername.c \
- acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c \
- quotearg.c safe-read.c safe-write.c sh-quote.h sh-quote.c \
- sig-handler.c size_max.h spawn-pipe.h spawn-pipe.c striconv.h \
- striconv.c striconveh.h striconveh.c striconveha.h \
+ progname.h progname.c propername.h propername.c qcopy-acl.c \
+ qset-acl.c quotearg.c safe-read.c safe-write.c sh-quote.h \
+ sh-quote.c sig-handler.c size_max.h spawn-pipe.h spawn-pipe.c \
+ striconv.h striconv.c striconveh.h striconveh.c striconveha.h \
striconveha.c strnlen1.h strnlen1.c styled-ostream.c \
tempname.c term-ostream.c term-styled-ostream.c \
../woe32dll/c++term-styled-ostream.cc glthread/threadlib.c \
glthread/tls.h glthread/tls.c tmpdir.h tmpdir.c trim.c \
- uniconv/u8-conv-from-enc.c unilbrk/lbrktables.c \
- unilbrk/u8-possible-linebreaks.c unilbrk/u8-width-linebreaks.c \
- unilbrk/ulc-common.c unilbrk/ulc-width-linebreaks.c \
- uniname/uniname.c unistd.c dup-safer.c fd-safer.c pipe-safer.c \
- unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c unistr/u8-check.c \
- unistr/u8-mblen.c unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c \
+ uniconv/u8-conv-from-enc.c unictype/ctype_space.c \
+ unilbrk/lbrktables.c unilbrk/u8-possible-linebreaks.c \
+ unilbrk/u8-width-linebreaks.c unilbrk/ulc-common.c \
+ unilbrk/ulc-width-linebreaks.c uniname/uniname.c unistd.c \
+ dup-safer.c fd-safer.c pipe-safer.c unistr/u16-mbtouc.c \
+ unistr/u16-mbtouc-aux.c unistr/u8-check.c unistr/u8-mblen.c \
+ unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c \
unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c \
unistr/u8-mbtoucr.c unistr/u8-prev.c unistr/u8-uctomb.c \
unistr/u8-uctomb-aux.c uniwidth/width.c wait-process.h \
@@ -513,60 +541,62 @@ am__libgettextlib_la_SOURCES_DIST = copy-acl.c set-acl.c allocator.c \
@WOE32DLL_FALSE@am__objects_4 = term-styled-ostream.lo
@WOE32DLL_TRUE@am__objects_5 = ../woe32dll/c++term-styled-ostream.lo
@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__objects_6 = uniconv/u8-conv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__objects_7 = unilbrk/u8-possible-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__objects_8 = unilbrk/u8-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__objects_9 = unilbrk/ulc-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__objects_10 = \
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__objects_7 = unictype/ctype_space.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__objects_8 = unilbrk/u8-possible-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__objects_9 = unilbrk/u8-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__objects_10 = unilbrk/ulc-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__objects_11 = \
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@ uniname/uniname.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__objects_11 = unistr/u16-mbtouc.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__objects_12 = unistr/u16-mbtouc.lo \
@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@ unistr/u16-mbtouc-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_12 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_13 = \
@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@ unistr/u8-check.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__objects_13 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__objects_14 = \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@ unistr/u8-mblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__objects_14 = unistr/u8-mbtouc.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__objects_15 = unistr/u8-mbtouc.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@ unistr/u8-mbtouc-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__objects_15 = unistr/u8-mbtouc-unsafe.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__objects_16 = unistr/u8-mbtouc-unsafe.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@ unistr/u8-mbtouc-unsafe-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_16 = unistr/u8-mbtoucr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__objects_17 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_17 = unistr/u8-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__objects_18 = \
@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@ unistr/u8-prev.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_18 = unistr/u8-uctomb.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_19 = unistr/u8-uctomb.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ unistr/u8-uctomb-aux.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_19 = \
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_20 = \
@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@ uniwidth/width.lo
-am_libgettextlib_la_OBJECTS = copy-acl.lo set-acl.lo allocator.lo \
- areadlink.lo argmatch.lo gl_array_list.lo backupfile.lo \
- addext.lo basename.lo binary-io.lo c-ctype.lo c-strcasecmp.lo \
- c-strncasecmp.lo c-strcasestr.lo c-strstr.lo careadlinkat.lo \
- classpath.lo clean-temp.lo cloexec.lo closeout.lo \
- concat-filename.lo copy-file.lo csharpcomp.lo csharpexec.lo \
- error-progname.lo execute.lo exitfail.lo fatal-signal.lo \
- fd-hook.lo fd-ostream.lo fd-safer-flag.lo dup-safer-flag.lo \
+am_libgettextlib_la_OBJECTS = copy-acl.lo set-acl.lo \
+ acl-errno-valid.lo acl-internal.lo get-permissions.lo \
+ set-permissions.lo allocator.lo areadlink.lo argmatch.lo \
+ gl_array_list.lo backupfile.lo addext.lo basename.lo \
+ binary-io.lo c-ctype.lo c-strcasecmp.lo c-strncasecmp.lo \
+ c-strcasestr.lo c-strstr.lo careadlinkat.lo classpath.lo \
+ clean-temp.lo cloexec.lo closeout.lo concat-filename.lo \
+ copy-file.lo csharpcomp.lo csharpexec.lo error-progname.lo \
+ execute.lo exitfail.lo fatal-signal.lo fd-hook.lo \
+ fd-ostream.lo fd-safer-flag.lo dup-safer-flag.lo \
file-ostream.lo findprog.lo fstrcmp.lo full-write.lo \
fwriteerror.lo gcd.lo $(am__objects_1) hash.lo html-ostream.lo \
$(am__objects_2) $(am__objects_3) javacomp.lo javaexec.lo \
javaversion.lo gl_linkedhash_list.lo gl_list.lo \
localcharset.lo localename.lo glthread/lock.lo malloca.lo \
- mbchar.lo mbiter.lo mbslen.lo mbsstr.lo mbswidth.lo mbuiter.lo \
- ostream.lo pipe-filter-ii.lo pipe-filter-aux.lo pipe2.lo \
- pipe2-safer.lo progname.lo propername.lo acl-errno-valid.lo \
- file-has-acl.lo qcopy-acl.lo qset-acl.lo quotearg.lo \
- safe-read.lo safe-write.lo sh-quote.lo sig-handler.lo \
- spawn-pipe.lo striconv.lo striconveh.lo striconveha.lo \
- strnlen1.lo styled-ostream.lo tempname.lo term-ostream.lo \
- $(am__objects_4) $(am__objects_5) glthread/threadlib.lo \
- glthread/tls.lo tmpdir.lo trim.lo $(am__objects_6) \
- unilbrk/lbrktables.lo $(am__objects_7) $(am__objects_8) \
- unilbrk/ulc-common.lo $(am__objects_9) $(am__objects_10) \
- unistd.lo dup-safer.lo fd-safer.lo pipe-safer.lo \
- $(am__objects_11) $(am__objects_12) $(am__objects_13) \
+ math.lo mbchar.lo mbiter.lo mbslen.lo mbsstr.lo mbswidth.lo \
+ mbuiter.lo ostream.lo pipe-filter-ii.lo pipe-filter-aux.lo \
+ pipe2.lo pipe2-safer.lo progname.lo propername.lo qcopy-acl.lo \
+ qset-acl.lo quotearg.lo safe-read.lo safe-write.lo sh-quote.lo \
+ sig-handler.lo spawn-pipe.lo striconv.lo striconveh.lo \
+ striconveha.lo strnlen1.lo styled-ostream.lo tempname.lo \
+ term-ostream.lo $(am__objects_4) $(am__objects_5) \
+ glthread/threadlib.lo glthread/tls.lo tmpdir.lo trim.lo \
+ $(am__objects_6) $(am__objects_7) unilbrk/lbrktables.lo \
+ $(am__objects_8) $(am__objects_9) unilbrk/ulc-common.lo \
+ $(am__objects_10) $(am__objects_11) unistd.lo dup-safer.lo \
+ fd-safer.lo pipe-safer.lo $(am__objects_12) $(am__objects_13) \
$(am__objects_14) $(am__objects_15) $(am__objects_16) \
$(am__objects_17) $(am__objects_18) $(am__objects_19) \
- wait-process.lo wctype-h.lo xmalloc.lo xstrdup.lo \
- xconcat-filename.lo xerror.lo gl_xlist.lo xmalloca.lo \
- xreadlink.lo xsetenv.lo xsize.lo xstriconv.lo xstriconveh.lo \
- xvasprintf.lo xasprintf.lo
+ $(am__objects_20) wait-process.lo wctype-h.lo xmalloc.lo \
+ xstrdup.lo xconcat-filename.lo xerror.lo gl_xlist.lo \
+ xmalloca.lo xreadlink.lo xsetenv.lo xsize.lo xstriconv.lo \
+ xstriconveh.lo xvasprintf.lo xasprintf.lo
libgettextlib_la_OBJECTS = $(am_libgettextlib_la_OBJECTS)
libglib_rpl_la_LIBADD =
am_libglib_rpl_la_OBJECTS = glib/libglib_rpl_la-ghash.lo \
@@ -580,8 +610,8 @@ libxml_rpl_la_LIBADD =
am_libxml_rpl_la_OBJECTS = libxml/libxml_rpl_la-DOCBparser.lo \
libxml/libxml_rpl_la-HTMLparser.lo \
libxml/libxml_rpl_la-HTMLtree.lo libxml/libxml_rpl_la-SAX.lo \
- libxml/libxml_rpl_la-SAX2.lo libxml/libxml_rpl_la-c14n.lo \
- libxml/libxml_rpl_la-catalog.lo \
+ libxml/libxml_rpl_la-SAX2.lo libxml/libxml_rpl_la-buf.lo \
+ libxml/libxml_rpl_la-c14n.lo libxml/libxml_rpl_la-catalog.lo \
libxml/libxml_rpl_la-chvalid.lo \
libxml/libxml_rpl_la-debugXML.lo libxml/libxml_rpl_la-dict.lo \
libxml/libxml_rpl_la-encoding.lo \
@@ -596,9 +626,9 @@ am_libxml_rpl_la_OBJECTS = libxml/libxml_rpl_la-DOCBparser.lo \
libxml/libxml_rpl_la-relaxng.lo \
libxml/libxml_rpl_la-schematron.lo \
libxml/libxml_rpl_la-threads.lo libxml/libxml_rpl_la-tree.lo \
- libxml/libxml_rpl_la-uri.lo libxml/libxml_rpl_la-valid.lo \
- libxml/libxml_rpl_la-xinclude.lo libxml/libxml_rpl_la-xlink.lo \
- libxml/libxml_rpl_la-xmlIO.lo \
+ libxml/libxml_rpl_la-trionan.lo libxml/libxml_rpl_la-uri.lo \
+ libxml/libxml_rpl_la-valid.lo libxml/libxml_rpl_la-xinclude.lo \
+ libxml/libxml_rpl_la-xlink.lo libxml/libxml_rpl_la-xmlIO.lo \
libxml/libxml_rpl_la-xmlmemory.lo \
libxml/libxml_rpl_la-xmlmodule.lo \
libxml/libxml_rpl_la-xmlreader.lo \
@@ -695,6 +725,8 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
# Where to install javaversion.class.
@@ -708,6 +740,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -770,6 +803,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -784,15 +818,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -801,6 +854,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -815,6 +878,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -823,6 +895,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -853,17 +928,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -902,6 +1007,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -937,6 +1045,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -960,11 +1069,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -975,10 +1093,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -1007,10 +1131,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -1070,25 +1201,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -1100,13 +1263,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -1115,6 +1293,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -1126,6 +1308,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -1136,6 +1324,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -1158,9 +1352,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -1182,12 +1385,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -1208,6 +1421,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -1227,6 +1442,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -1242,9 +1458,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -1257,9 +1478,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1285,7 +1511,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1361,13 +1591,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1386,6 +1619,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1394,6 +1628,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1403,9 +1638,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1416,6 +1651,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1425,6 +1661,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1434,6 +1671,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1452,6 +1690,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1461,6 +1700,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1491,12 +1731,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1515,6 +1757,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1523,16 +1770,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1551,19 +1815,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1581,6 +1870,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1610,16 +1903,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1645,6 +1947,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1671,6 +1976,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1685,6 +1991,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1788,15 +2095,16 @@ AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects no-dependencies
# enabled by default because the intl directory might not exist if
# your project does not use "gettext --intl", and some compilers
# complain about -I options applied to nonexistent directories.
-EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
- atexit.c byteswap.in.h c-strcaseeq.h str-two-way.h \
- canonicalize-lgpl.c careadlinkat.h cloexec.h close.c \
- closedir.c dirent-private.h concat-filename.h \
- $(top_srcdir)/../build-aux/csharpcomp.sh.in classpath.c \
- classpath.h $(top_srcdir)/../build-aux/csharpexec.sh.in \
- dirent.in.h dosname.h dup2.c errno.in.h error.c error.h \
- exitfail.h fcntl.c fcntl.in.h fd-hook.h fd-ostream.h \
- fd-ostream.c fd_ostream.priv.h fd_ostream.vt.h fd-ostream.oo.c \
+EXTRA_DIST = acl-internal.h acl.h acl_entries.c alignof.h alloca.in.h \
+ allocator.h areadlink.h argmatch.h atexit.c byteswap.in.h \
+ c-strcaseeq.h str-two-way.h canonicalize-lgpl.c careadlinkat.h \
+ cloexec.h close.c closedir.c dirent-private.h \
+ concat-filename.h $(top_srcdir)/../build-aux/csharpcomp.sh.in \
+ classpath.c classpath.h \
+ $(top_srcdir)/../build-aux/csharpexec.sh.in dirent.in.h \
+ dosname.h dup2.c errno.in.h error.c error.h exitfail.h fcntl.c \
+ fcntl.in.h fd-hook.h fd-ostream.h fd-ostream.c \
+ fd_ostream.priv.h fd_ostream.vt.h fd-ostream.oo.c \
fd-ostream.oo.h file-ostream.h file-ostream.c \
file_ostream.priv.h file_ostream.vt.h file-ostream.oo.c \
file-ostream.oo.h filename.h float.c float.in.h itold.c \
@@ -1814,10 +2122,13 @@ EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
iconv_open-aix.gperf iconv_open-hpux.gperf \
iconv_open-irix.gperf iconv_open-osf.gperf \
iconv_open-solaris.gperf iconv_open.c ignore-value.h \
- intprops.h iswblank.c \
+ intprops.h isinf.c float+.h isnan.c isnand.c float+.h isnan.c \
+ isnand-nolibm.h isnand.c float+.h isnan.c isnanf.c float+.h \
+ isnan.c isnanf-nolibm.h isnanf.c float+.h isnan.c isnanl.c \
+ float+.h isnan.c isnanl-nolibm.h isnanl.c iswblank.c \
$(top_srcdir)/../build-aux/javacomp.sh.in \
$(top_srcdir)/../build-aux/javaexec.sh.in javaversion.class \
- javaversion.java libcroco/cr-additional-sel.c \
+ javaversion.java langinfo.in.h libcroco/cr-additional-sel.c \
libcroco/cr-additional-sel.h libcroco/cr-attr-sel.c \
libcroco/cr-attr-sel.h libcroco/cr-cascade.c \
libcroco/cr-cascade.h libcroco/cr-declaration.c \
@@ -1849,25 +2160,27 @@ EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
libxml/DOCBparser.in.h libxml/HTMLparser.c \
libxml/HTMLparser.in.h libxml/HTMLtree.c libxml/HTMLtree.in.h \
libxml/SAX.c libxml/SAX.in.h libxml/SAX2.c libxml/SAX2.in.h \
- libxml/c14n.c libxml/c14n.in.h libxml/catalog.c \
- libxml/catalog.in.h libxml/chvalid.c libxml/chvalid.in.h \
- libxml/debugXML.c libxml/debugXML.in.h libxml/dict.c \
- libxml/dict.in.h libxml/elfgcchack.h libxml/encoding.c \
- libxml/encoding.in.h libxml/entities.c libxml/entities.in.h \
- libxml/error.c libxml/globals.c libxml/globals.in.h \
- libxml/hash.c libxml/hash.in.h libxml/legacy.c libxml/libxml.h \
- libxml/list.c libxml/list.in.h libxml/nanoftp.c \
- libxml/nanoftp.in.h libxml/nanohttp.c libxml/nanohttp.in.h \
- libxml/parser.c libxml/parser.in.h libxml/parserInternals.c \
+ libxml/buf.c libxml/buf.h libxml/c14n.c libxml/c14n.in.h \
+ libxml/catalog.c libxml/catalog.in.h libxml/chvalid.c \
+ libxml/chvalid.in.h libxml/debugXML.c libxml/debugXML.in.h \
+ libxml/dict.c libxml/dict.in.h libxml/elfgcchack.h \
+ libxml/enc.h libxml/encoding.c libxml/encoding.in.h \
+ libxml/entities.c libxml/entities.in.h libxml/error.c \
+ libxml/globals.c libxml/globals.in.h libxml/hash.c \
+ libxml/hash.in.h libxml/legacy.c libxml/libxml.h libxml/list.c \
+ libxml/list.in.h libxml/nanoftp.c libxml/nanoftp.in.h \
+ libxml/nanohttp.c libxml/nanohttp.in.h libxml/parser.c \
+ libxml/parser.in.h libxml/parserInternals.c \
libxml/parserInternals.in.h libxml/pattern.c \
libxml/pattern.in.h libxml/relaxng.c libxml/relaxng.in.h \
- libxml/schemasInternals.in.h libxml/schematron.c \
+ libxml/save.h libxml/schemasInternals.in.h libxml/schematron.c \
libxml/schematron.in.h libxml/threads.c libxml/threads.in.h \
- libxml/tree.c libxml/tree.in.h libxml/uri.c libxml/uri.in.h \
- libxml/valid.c libxml/valid.in.h libxml/xinclude.c \
- libxml/xinclude.in.h libxml/xlink.c libxml/xlink.in.h \
- libxml/xmlIO.c libxml/xmlIO.in.h libxml/xmlautomata.in.h \
- libxml/xmlerror.in.h libxml/xmlexports.in.h libxml/xmlmemory.c \
+ libxml/timsort.h libxml/tree.c libxml/tree.in.h \
+ libxml/trionan.c libxml/uri.c libxml/uri.in.h libxml/valid.c \
+ libxml/valid.in.h libxml/xinclude.c libxml/xinclude.in.h \
+ libxml/xlink.c libxml/xlink.in.h libxml/xmlIO.c \
+ libxml/xmlIO.in.h libxml/xmlautomata.in.h libxml/xmlerror.in.h \
+ libxml/xmlexports.in.h libxml/xmlmemory.c \
libxml/xmlmemory.in.h libxml/xmlmodule.c libxml/xmlmodule.in.h \
libxml/xmlreader.c libxml/xmlreader.in.h libxml/xmlregexp.c \
libxml/xmlregexp.in.h libxml/xmlsave.c libxml/xmlsave.in.h \
@@ -1878,10 +2191,10 @@ EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
libxml/xmlwriter.c libxml/xmlwriter.in.h libxml/xpath.c \
libxml/xpath.in.h libxml/xpathInternals.in.h libxml/xpointer.c \
libxml/xpointer.in.h config.charset ref-add.sin ref-del.sin \
- locale.in.h localename.h lstat.c malloc.c malloca.h \
- malloca.valgrind mbchar.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \
- mbsrtowcs-state.c mbsrtowcs.c str-kmp.h memchr.c \
- memchr.valgrind memmove.c memset.c mkdtemp.c moo.h \
+ locale.in.h localename.h log10.c lstat.c malloc.c malloca.h \
+ malloca.valgrind math.in.h mbchar.h mbrtowc.c mbsinit.c \
+ mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c str-kmp.h \
+ memchr.c memchr.valgrind memmove.c memset.c mkdtemp.c moo.h \
$(top_srcdir)/../build-aux/moopp msvc-inval.c msvc-inval.h \
msvc-nothrow.c msvc-nothrow.h obstack.c obstack.h open.c \
dirent-private.h opendir.c ostream.h ostream.c ostream.priv.h \
@@ -1891,11 +2204,10 @@ EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
spawn_int.h spawn_faction_addopen.c spawn_int.h \
spawn_faction_destroy.c spawn_faction_init.c spawn_int.h \
spawnattr_destroy.c spawnattr_init.c spawnattr_setflags.c \
- spawnattr_setsigmask.c spawnp.c acl-internal.h acl.h \
- acl_entries.c quote.h quote.h quotearg.h raise.c rawmemchr.c \
- rawmemchr.valgrind read.c dirent-private.h readdir.c \
- readlink.c realloc.c progreloc.c relocatable.c relocatable.h \
- $(top_srcdir)/../build-aux/config.libpath \
+ spawnattr_setsigmask.c spawnp.c quote.h quote.h quotearg.h \
+ raise.c rawmemchr.c rawmemchr.valgrind read.c dirent-private.h \
+ readdir.c readlink.c realloc.c progreloc.c relocatable.c \
+ relocatable.h $(top_srcdir)/../build-aux/config.libpath \
$(top_srcdir)/../build-aux/reloc-ldflags allocator.c \
allocator.h areadlink.c areadlink.h c-ctype.c c-ctype.h \
canonicalize-lgpl.c careadlinkat.c careadlinkat.h malloca.c \
@@ -1905,7 +2217,8 @@ EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
$(top_srcdir)/../build-aux/relocatable.sh.in rmdir.c \
safe-read.h safe-read.c safe-write.h sched.in.h \
secure_getenv.c setenv.c setlocale.c sig-handler.h sigaction.c \
- signal.in.h stdio-write.c sigprocmask.c \
+ signal.in.h float+.h signbitd.c signbitf.c signbitl.c \
+ stdio-write.c sigprocmask.c \
$(top_srcdir)/../build-aux/snippet/_Noreturn.h \
$(top_srcdir)/../build-aux/snippet/arg-nonnull.h \
$(top_srcdir)/../build-aux/snippet/c++defs.h \
@@ -1927,7 +2240,8 @@ EXTRA_DIST = alignof.h alloca.in.h allocator.h areadlink.h argmatch.h \
term-styled-ostream.oo.c term-styled-ostream.oo.h tparm.c \
tputs.c terminfo.h $(top_srcdir)/../build-aux/config.rpath \
time.in.h trim.h iconveh.h localcharset.h striconveha.h \
- uniconv.in.h unilbrk.in.h unilbrk/lbrkprop1.h \
+ uniconv.in.h unictype.in.h unictype/bitmap.h \
+ unictype/ctype_space.h unilbrk.in.h unilbrk/lbrkprop1.h \
unilbrk/lbrkprop2.h unilbrk/lbrktables.h uniwidth/cjk.h \
unilbrk/ulc-common.h uniname.in.h uniname/gen-uninames.lisp \
uniname/uninames.h unistd.in.h unistd--.h unistd-safer.h \
@@ -1961,17 +2275,18 @@ BUILT_SOURCES = $(ALLOCA_H) $(BYTESWAP_H) configmake.h dirent.h \
html_ostream.vt.h html-styled-ostream.h html-styled-ostream.c \
html_styled_ostream.priv.h html_styled_ostream.vt.h $(ICONV_H) \
iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \
- iconv_open-osf.h iconv_open-solaris.h $(LIBGLIB_H) $(LIBXML_H) \
- locale.h ostream.h ostream.c ostream.priv.h ostream.vt.h \
- $(SCHED_H) signal.h arg-nonnull.h c++defs.h unused-parameter.h \
- warn-on-use.h spawn.h $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) \
- $(STDINT_H) stdio.h stdlib.h string.h styled-ostream.h \
- styled-ostream.c styled_ostream.priv.h styled_ostream.vt.h \
- sys/select.h sys/stat.h sys/time.h sys/types.h sys/wait.h \
- term-ostream.h term-ostream.c term_ostream.priv.h \
- term_ostream.vt.h term-styled-ostream.h term-styled-ostream.c \
- term_styled_ostream.priv.h term_styled_ostream.vt.h time.h \
- $(LIBUNISTRING_UNICONV_H) $(LIBUNISTRING_UNILBRK_H) \
+ iconv_open-osf.h iconv_open-solaris.h langinfo.h $(LIBGLIB_H) \
+ $(LIBXML_H) locale.h math.h ostream.h ostream.c ostream.priv.h \
+ ostream.vt.h $(SCHED_H) signal.h arg-nonnull.h c++defs.h \
+ unused-parameter.h warn-on-use.h spawn.h $(STDARG_H) \
+ $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h \
+ styled-ostream.h styled-ostream.c styled_ostream.priv.h \
+ styled_ostream.vt.h sys/select.h sys/stat.h sys/time.h \
+ sys/types.h sys/wait.h term-ostream.h term-ostream.c \
+ term_ostream.priv.h term_ostream.vt.h term-styled-ostream.h \
+ term-styled-ostream.c term_styled_ostream.priv.h \
+ term_styled_ostream.vt.h time.h $(LIBUNISTRING_UNICONV_H) \
+ $(LIBUNISTRING_UNICTYPE_H) $(LIBUNISTRING_UNILBRK_H) \
$(LIBUNISTRING_UNINAME_H) unistd.h $(LIBUNISTRING_UNISTR_H) \
$(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) wchar.h \
wctype.h
@@ -1980,32 +2295,34 @@ MOSTLYCLEANFILES = core *.stackdump core *.stackdump alloca.h \
errno.h-t fcntl.h fcntl.h-t float.h float.h-t fnmatch.h \
fnmatch.h-t getopt.h getopt.h-t iconv.h iconv.h-t \
iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t \
- iconv_open-osf.h-t iconv_open-solaris.h-t glib.h glibconfig.h \
- glib/ghash.h glib/glist.h glib/gprimes.h glib/gstrfuncs.h \
- glib/gstring.h glib/gtypes.h glib/*.h-t libxml/DOCBparser.h \
- libxml/HTMLparser.h libxml/HTMLtree.h libxml/SAX.h \
- libxml/SAX2.h libxml/c14n.h libxml/catalog.h libxml/chvalid.h \
- libxml/debugXML.h libxml/dict.h libxml/encoding.h \
- libxml/entities.h libxml/globals.h libxml/hash.h libxml/list.h \
- libxml/nanoftp.h libxml/nanohttp.h libxml/parser.h \
- libxml/parserInternals.h libxml/pattern.h libxml/relaxng.h \
- libxml/schemasInternals.h libxml/schematron.h libxml/threads.h \
- libxml/tree.h libxml/uri.h libxml/valid.h libxml/xinclude.h \
- libxml/xlink.h libxml/xmlIO.h libxml/xmlautomata.h \
- libxml/xmlerror.h libxml/xmlexports.h libxml/xmlmemory.h \
- libxml/xmlmodule.h libxml/xmlreader.h libxml/xmlregexp.h \
- libxml/xmlsave.h libxml/xmlschemas.h libxml/xmlschemastypes.h \
+ iconv_open-osf.h-t iconv_open-solaris.h-t langinfo.h \
+ langinfo.h-t glib.h glibconfig.h glib/ghash.h glib/glist.h \
+ glib/gprimes.h glib/gstrfuncs.h glib/gstring.h glib/gtypes.h \
+ glib/*.h-t libxml/DOCBparser.h libxml/HTMLparser.h \
+ libxml/HTMLtree.h libxml/SAX.h libxml/SAX2.h libxml/c14n.h \
+ libxml/catalog.h libxml/chvalid.h libxml/debugXML.h \
+ libxml/dict.h libxml/encoding.h libxml/entities.h \
+ libxml/globals.h libxml/hash.h libxml/list.h libxml/nanoftp.h \
+ libxml/nanohttp.h libxml/parser.h libxml/parserInternals.h \
+ libxml/pattern.h libxml/relaxng.h libxml/schemasInternals.h \
+ libxml/schematron.h libxml/threads.h libxml/tree.h \
+ libxml/uri.h libxml/valid.h libxml/xinclude.h libxml/xlink.h \
+ libxml/xmlIO.h libxml/xmlautomata.h libxml/xmlerror.h \
+ libxml/xmlexports.h libxml/xmlmemory.h libxml/xmlmodule.h \
+ libxml/xmlreader.h libxml/xmlregexp.h libxml/xmlsave.h \
+ libxml/xmlschemas.h libxml/xmlschemastypes.h \
libxml/xmlstring.h libxml/xmlunicode.h libxml/xmlversion.h \
libxml/xmlwriter.h libxml/xpath.h libxml/xpathInternals.h \
- libxml/xpointer.h libxml/*.h-t locale.h locale.h-t sched.h \
- sched.h-t signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t \
- c++defs.h c++defs.h-t unused-parameter.h unused-parameter.h-t \
- warn-on-use.h warn-on-use.h-t spawn.h spawn.h-t stdarg.h \
- stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h \
- stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t string.h \
- string.h-t sys/select.h sys/select.h-t sys/stat.h sys/stat.h-t \
- sys/time.h sys/time.h-t sys/types.h sys/types.h-t sys/wait.h \
- sys/wait.h-t time.h time.h-t uniconv.h uniconv.h-t unilbrk.h \
+ libxml/xpointer.h libxml/*.h-t locale.h locale.h-t math.h \
+ math.h-t sched.h sched.h-t signal.h signal.h-t arg-nonnull.h \
+ arg-nonnull.h-t c++defs.h c++defs.h-t unused-parameter.h \
+ unused-parameter.h-t warn-on-use.h warn-on-use.h-t spawn.h \
+ spawn.h-t stdarg.h stdarg.h-t stdbool.h stdbool.h-t stddef.h \
+ stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h \
+ stdlib.h-t string.h string.h-t sys/select.h sys/select.h-t \
+ sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t sys/types.h \
+ sys/types.h-t sys/wait.h sys/wait.h-t time.h time.h-t \
+ uniconv.h uniconv.h-t unictype.h unictype.h-t unilbrk.h \
unilbrk.h-t uniname.h uniname.h-t unistd.h unistd.h-t unistr.h \
unistr.h-t unitypes.h unitypes.h-t uniwidth.h uniwidth.h-t \
wchar.h wchar.h-t wctype.h wctype.h-t
@@ -2043,7 +2360,8 @@ AM_CPPFLAGS = -I$(top_builddir)/intl -I$(top_srcdir)/intl \
-I$(top_builddir) -I$(top_srcdir) -DDEPENDS_ON_LIBICONV=1 \
-DDEPENDS_ON_LIBINTL=1 $(am__append_1) $(am__append_4) \
$(INCGLIB) $(INCXML) $(am__append_7) $(am__append_11)
-libgettextlib_la_SOURCES = copy-acl.c set-acl.c allocator.c \
+libgettextlib_la_SOURCES = copy-acl.c set-acl.c acl-errno-valid.c \
+ acl-internal.c get-permissions.c set-permissions.c allocator.c \
areadlink.c argmatch.c gl_array_list.h gl_array_list.c \
backupfile.h backupfile.c addext.c basename.h basename.c \
binary-io.h binary-io.c c-ctype.h c-ctype.c c-strcase.h \
@@ -2063,82 +2381,85 @@ libgettextlib_la_SOURCES = copy-acl.c set-acl.c allocator.c \
gl_linkedhash_list.c gl_anyhash_list1.h gl_anyhash_list2.h \
gl_anylinked_list1.h gl_anylinked_list2.h gl_list.h gl_list.c \
localcharset.h localcharset.c localename.c glthread/lock.h \
- glthread/lock.c malloca.c mbchar.c mbiter.h mbiter.c mbslen.c \
- mbsstr.c mbswidth.h mbswidth.c mbuiter.h mbuiter.c minmax.h \
- ostream.c pipe-filter-ii.c pipe-filter-aux.c pipe2.c \
+ glthread/lock.c malloca.c math.c mbchar.c mbiter.h mbiter.c \
+ mbslen.c mbsstr.c mbswidth.h mbswidth.c mbuiter.h mbuiter.c \
+ minmax.h ostream.c pipe-filter-ii.c pipe-filter-aux.c pipe2.c \
pipe2-safer.c progname.h progname.c propername.h propername.c \
- acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c \
- quotearg.c safe-read.c safe-write.c sh-quote.h sh-quote.c \
- sig-handler.c size_max.h spawn-pipe.h spawn-pipe.c w32spawn.h \
- striconv.h striconv.c striconveh.h striconveh.c striconveha.h \
- striconveha.c strnlen1.h strnlen1.c styled-ostream.c \
- tempname.c term-ostream.c $(am__append_19) $(am__append_20) \
- glthread/threadlib.c glthread/tls.h glthread/tls.c tmpdir.h \
- tmpdir.c trim.c $(am__append_21) unilbrk/lbrktables.c \
- $(am__append_22) $(am__append_23) unilbrk/ulc-common.c \
- $(am__append_24) $(am__append_25) unistd.c dup-safer.c \
- fd-safer.c pipe-safer.c $(am__append_26) $(am__append_27) \
- $(am__append_28) $(am__append_29) $(am__append_30) \
- $(am__append_31) $(am__append_32) $(am__append_33) \
- $(am__append_34) wait-process.h wait-process.c wctype-h.c \
- xalloc.h xmalloc.c xstrdup.c xconcat-filename.c xerror.h \
- xerror.c gl_xlist.h gl_xlist.c xmalloca.c xreadlink.c \
- xsetenv.h xsetenv.c xsize.h xsize.c xstriconv.h xstriconv.c \
- xstriconveh.c xvasprintf.h xvasprintf.c xasprintf.c
+ qcopy-acl.c qset-acl.c quotearg.c safe-read.c safe-write.c \
+ sh-quote.h sh-quote.c sig-handler.c size_max.h spawn-pipe.h \
+ spawn-pipe.c w32spawn.h striconv.h striconv.c striconveh.h \
+ striconveh.c striconveha.h striconveha.c strnlen1.h strnlen1.c \
+ styled-ostream.c tempname.c term-ostream.c $(am__append_19) \
+ $(am__append_20) glthread/threadlib.c glthread/tls.h \
+ glthread/tls.c tmpdir.h tmpdir.c trim.c $(am__append_21) \
+ $(am__append_22) unilbrk/lbrktables.c $(am__append_23) \
+ $(am__append_24) unilbrk/ulc-common.c $(am__append_25) \
+ $(am__append_26) unistd.c dup-safer.c fd-safer.c pipe-safer.c \
+ $(am__append_27) $(am__append_28) $(am__append_29) \
+ $(am__append_30) $(am__append_31) $(am__append_32) \
+ $(am__append_33) $(am__append_34) $(am__append_35) \
+ wait-process.h wait-process.c wctype-h.c xalloc.h xmalloc.c \
+ xstrdup.c xconcat-filename.c xerror.h xerror.c gl_xlist.h \
+ gl_xlist.c xmalloca.c xreadlink.c xsetenv.h xsetenv.c xsize.h \
+ xsize.c xstriconv.h xstriconv.c xstriconveh.c xvasprintf.h \
+ xvasprintf.c xasprintf.c
libgettextlib_la_LIBADD = $(gl_LTLIBOBJS) $(am__append_8) \
$(am__append_13) $(am__append_16)
libgettextlib_la_DEPENDENCIES = $(gl_LTLIBOBJS) $(am__append_9) \
$(am__append_14) $(am__append_17)
-EXTRA_libgettextlib_la_SOURCES = atexit.c canonicalize-lgpl.c close.c \
- closedir.c classpath.c dup2.c error.c fcntl.c fd-ostream.oo.c \
- file-ostream.oo.c float.c itold.c fnmatch.c fnmatch_loop.c \
- fopen.c fstat.c getdelim.c getdtablesize.c getline.c getopt.c \
- getopt1.c gettimeofday.c html-ostream.oo.c \
- html-styled-ostream.oo.c iconv.c iconv_close.c iconv_open.c \
- iswblank.c libcroco/cr-additional-sel.c libcroco/cr-attr-sel.c \
- libcroco/cr-cascade.c libcroco/cr-declaration.c \
- libcroco/cr-doc-handler.c libcroco/cr-enc-handler.c \
- libcroco/cr-fonts.c libcroco/cr-input.c libcroco/cr-num.c \
- libcroco/cr-om-parser.c libcroco/cr-parser.c \
- libcroco/cr-parsing-location.c libcroco/cr-prop-list.c \
- libcroco/cr-pseudo.c libcroco/cr-rgb.c libcroco/cr-sel-eng.c \
- libcroco/cr-selector.c libcroco/cr-simple-sel.c \
- libcroco/cr-statement.c libcroco/cr-string.c \
- libcroco/cr-style.c libcroco/cr-stylesheet.c \
- libcroco/cr-term.c libcroco/cr-tknzr.c libcroco/cr-token.c \
- libcroco/cr-utils.c glib/ghash.c glib/glist.c glib/gmessages.c \
- glib/gprimes.c glib/gstrfuncs.c glib/gstring.c \
- libxml/DOCBparser.c libxml/HTMLparser.c libxml/HTMLtree.c \
- libxml/SAX.c libxml/SAX2.c libxml/c14n.c libxml/catalog.c \
+EXTRA_libgettextlib_la_SOURCES = acl_entries.c atexit.c \
+ canonicalize-lgpl.c close.c closedir.c classpath.c dup2.c \
+ error.c fcntl.c fd-ostream.oo.c file-ostream.oo.c float.c \
+ itold.c fnmatch.c fnmatch_loop.c fopen.c fstat.c getdelim.c \
+ getdtablesize.c getline.c getopt.c getopt1.c gettimeofday.c \
+ html-ostream.oo.c html-styled-ostream.oo.c iconv.c \
+ iconv_close.c iconv_open.c isinf.c isnan.c isnand.c isnan.c \
+ isnand.c isnan.c isnanf.c isnan.c isnanf.c isnan.c isnanl.c \
+ isnan.c isnanl.c iswblank.c libcroco/cr-additional-sel.c \
+ libcroco/cr-attr-sel.c libcroco/cr-cascade.c \
+ libcroco/cr-declaration.c libcroco/cr-doc-handler.c \
+ libcroco/cr-enc-handler.c libcroco/cr-fonts.c \
+ libcroco/cr-input.c libcroco/cr-num.c libcroco/cr-om-parser.c \
+ libcroco/cr-parser.c libcroco/cr-parsing-location.c \
+ libcroco/cr-prop-list.c libcroco/cr-pseudo.c libcroco/cr-rgb.c \
+ libcroco/cr-sel-eng.c libcroco/cr-selector.c \
+ libcroco/cr-simple-sel.c libcroco/cr-statement.c \
+ libcroco/cr-string.c libcroco/cr-style.c \
+ libcroco/cr-stylesheet.c libcroco/cr-term.c \
+ libcroco/cr-tknzr.c libcroco/cr-token.c libcroco/cr-utils.c \
+ glib/ghash.c glib/glist.c glib/gmessages.c glib/gprimes.c \
+ glib/gstrfuncs.c glib/gstring.c libxml/DOCBparser.c \
+ libxml/HTMLparser.c libxml/HTMLtree.c libxml/SAX.c \
+ libxml/SAX2.c libxml/buf.c libxml/c14n.c libxml/catalog.c \
libxml/chvalid.c libxml/debugXML.c libxml/dict.c \
libxml/encoding.c libxml/entities.c libxml/error.c \
libxml/globals.c libxml/hash.c libxml/legacy.c libxml/list.c \
libxml/nanoftp.c libxml/nanohttp.c libxml/parser.c \
libxml/parserInternals.c libxml/pattern.c libxml/relaxng.c \
libxml/schematron.c libxml/threads.c libxml/tree.c \
- libxml/uri.c libxml/valid.c libxml/xinclude.c libxml/xlink.c \
- libxml/xmlIO.c libxml/xmlmemory.c libxml/xmlmodule.c \
- libxml/xmlreader.c libxml/xmlregexp.c libxml/xmlsave.c \
- libxml/xmlschemas.c libxml/xmlschemastypes.c \
+ libxml/trionan.c libxml/uri.c libxml/valid.c libxml/xinclude.c \
+ libxml/xlink.c libxml/xmlIO.c libxml/xmlmemory.c \
+ libxml/xmlmodule.c libxml/xmlreader.c libxml/xmlregexp.c \
+ libxml/xmlsave.c libxml/xmlschemas.c libxml/xmlschemastypes.c \
libxml/xmlstring.c libxml/xmlunicode.c libxml/xmlwriter.c \
- libxml/xpath.c libxml/xpointer.c lstat.c malloc.c mbrtowc.c \
- mbsinit.c mbsrtowcs-state.c mbsrtowcs.c memchr.c memmove.c \
- memset.c mkdtemp.c msvc-inval.c msvc-nothrow.c obstack.c \
- open.c opendir.c ostream.oo.c spawni.c \
+ libxml/xpath.c libxml/xpointer.c log10.c lstat.c malloc.c \
+ mbrtowc.c mbsinit.c mbsrtowcs-state.c mbsrtowcs.c memchr.c \
+ memmove.c memset.c mkdtemp.c msvc-inval.c msvc-nothrow.c \
+ obstack.c open.c opendir.c ostream.oo.c spawni.c \
spawn_faction_addclose.c spawn_faction_adddup2.c \
spawn_faction_addopen.c spawn_faction_destroy.c \
spawn_faction_init.c spawnattr_destroy.c spawnattr_init.c \
- spawnattr_setflags.c spawnattr_setsigmask.c spawnp.c \
- acl_entries.c raise.c rawmemchr.c read.c readdir.c readlink.c \
- realloc.c progreloc.c relocatable.c rmdir.c safe-read.c \
- secure_getenv.c setenv.c setlocale.c sigaction.c stdio-write.c \
- sigprocmask.c snprintf.c stat.c stpcpy.c stpncpy.c strchrnul.c \
- strcspn.c strerror.c strerror-override.c strnlen.c strpbrk.c \
- strstr.c strtol.c strtol.c strtoul.c styled-ostream.oo.c \
- term-ostream.oo.c term-styled-ostream.oo.c tparm.c tputs.c \
- unsetenv.c asnprintf.c printf-args.c printf-parse.c \
- vasnprintf.c asprintf.c vasprintf.c vsnprintf.c waitpid.c \
- wcwidth.c write.c
+ spawnattr_setflags.c spawnattr_setsigmask.c spawnp.c raise.c \
+ rawmemchr.c read.c readdir.c readlink.c realloc.c progreloc.c \
+ relocatable.c rmdir.c safe-read.c secure_getenv.c setenv.c \
+ setlocale.c sigaction.c signbitd.c signbitf.c signbitl.c \
+ stdio-write.c sigprocmask.c snprintf.c stat.c stpcpy.c \
+ stpncpy.c strchrnul.c strcspn.c strerror.c strerror-override.c \
+ strnlen.c strpbrk.c strstr.c strtol.c strtol.c strtoul.c \
+ styled-ostream.oo.c term-ostream.oo.c term-styled-ostream.oo.c \
+ tparm.c tputs.c unsetenv.c asnprintf.c printf-args.c \
+ printf-parse.c vasnprintf.c asprintf.c vasprintf.c vsnprintf.c \
+ waitpid.c wcwidth.c write.c
# Need $(LTLIBUNISTRING) because ulc_width_linebreaks, uc_width, etc. may be
# taken from libunistring, when the configure option --with-libunistring-prefix
@@ -2148,10 +2469,12 @@ EXTRA_libgettextlib_la_SOURCES = atexit.c canonicalize-lgpl.c close.c \
# Need @LIB_ACL@ because copy-file.c uses acl.h.
# As of 2010-10-04, these are all added by gnulib-tool automatically.
#libgettextlib_la_LDFLAGS += $(LTLIBUNISTRING) @LTLIBINTL@ @LTLIBICONV@ @LIB_ACL@
-libgettextlib_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LIB_ACL) \
- $(LTLIBICONV) $(LTLIBINTL) $(LTLIBTHREAD) $(LTLIBUNISTRING) \
- $(OPENMP_CFLAGS) @INTL_MACOSX_LIBS@ -release @VERSION@ \
- $(am__append_3) $(am__append_12)
+libgettextlib_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(FABS_LIBM) \
+ $(ISNAND_LIBM) $(ISNANF_LIBM) $(ISNANL_LIBM) $(LIB_ACL) \
+ $(LOG10_LIBM) $(LTLIBICONV) $(LTLIBINTL) $(LTLIBTHREAD) \
+ $(LTLIBUNISTRING) $(OPENMP_CFLAGS) $(POW_LIBM) \
+ @INTL_MACOSX_LIBS@ -release @VERSION@ $(am__append_3) \
+ $(am__append_12)
# Use this preprocessor expression to decide whether #include_next works.
# Do not rely on a 'configure'-time test for this, since the expression
@@ -2161,6 +2484,9 @@ HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
# Specify that libgettextlib should installed in $(libdir).
lib_LTLIBRARIES = libgettextlib.la
GPERF = gperf
+V_GPERF = $(V_GPERF_@AM_V@)
+V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
+V_GPERF_0 = @echo " GPERF " $@;
libcroco_rpl_la_SOURCES = \
libcroco/cr-additional-sel.c \
libcroco/cr-attr-sel.c \
@@ -2205,11 +2531,14 @@ libxml_rpl_la_SOURCES = \
libxml/HTMLtree.c \
libxml/SAX.c \
libxml/SAX2.c \
+ libxml/buf.h \
+ libxml/buf.c \
libxml/c14n.c \
libxml/catalog.c \
libxml/chvalid.c \
libxml/debugXML.c \
libxml/dict.c \
+ libxml/enc.h \
libxml/encoding.c \
libxml/entities.c \
libxml/error.c \
@@ -2223,9 +2552,12 @@ libxml_rpl_la_SOURCES = \
libxml/parserInternals.c \
libxml/pattern.c \
libxml/relaxng.c \
+ libxml/save.h \
libxml/schematron.c \
libxml/threads.c \
+ libxml/timsort.h \
libxml/tree.c \
+ libxml/trionan.c \
libxml/uri.c \
libxml/valid.c \
libxml/xinclude.c \
@@ -2290,7 +2622,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.gnulib $(am__co
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gnulib-lib/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits gnulib-lib/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -2299,7 +2630,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/Makefile.gnulib:
+$(srcdir)/Makefile.gnulib $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -2405,6 +2736,10 @@ uniconv/$(am__dirstamp):
@$(MKDIR_P) uniconv
@: > uniconv/$(am__dirstamp)
uniconv/u8-conv-from-enc.lo: uniconv/$(am__dirstamp)
+unictype/$(am__dirstamp):
+ @$(MKDIR_P) unictype
+ @: > unictype/$(am__dirstamp)
+unictype/ctype_space.lo: unictype/$(am__dirstamp)
unilbrk/$(am__dirstamp):
@$(MKDIR_P) unilbrk
@: > unilbrk/$(am__dirstamp)
@@ -2479,6 +2814,7 @@ libxml/HTMLparser.lo: libxml/$(am__dirstamp)
libxml/HTMLtree.lo: libxml/$(am__dirstamp)
libxml/SAX.lo: libxml/$(am__dirstamp)
libxml/SAX2.lo: libxml/$(am__dirstamp)
+libxml/buf.lo: libxml/$(am__dirstamp)
libxml/c14n.lo: libxml/$(am__dirstamp)
libxml/catalog.lo: libxml/$(am__dirstamp)
libxml/chvalid.lo: libxml/$(am__dirstamp)
@@ -2500,6 +2836,7 @@ libxml/relaxng.lo: libxml/$(am__dirstamp)
libxml/schematron.lo: libxml/$(am__dirstamp)
libxml/threads.lo: libxml/$(am__dirstamp)
libxml/tree.lo: libxml/$(am__dirstamp)
+libxml/trionan.lo: libxml/$(am__dirstamp)
libxml/uri.lo: libxml/$(am__dirstamp)
libxml/valid.lo: libxml/$(am__dirstamp)
libxml/xinclude.lo: libxml/$(am__dirstamp)
@@ -2534,6 +2871,7 @@ libxml/libxml_rpl_la-HTMLparser.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-HTMLtree.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-SAX.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-SAX2.lo: libxml/$(am__dirstamp)
+libxml/libxml_rpl_la-buf.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-c14n.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-catalog.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-chvalid.lo: libxml/$(am__dirstamp)
@@ -2555,6 +2893,7 @@ libxml/libxml_rpl_la-relaxng.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-schematron.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-threads.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-tree.lo: libxml/$(am__dirstamp)
+libxml/libxml_rpl_la-trionan.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-uri.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-valid.lo: libxml/$(am__dirstamp)
libxml/libxml_rpl_la-xinclude.lo: libxml/$(am__dirstamp)
@@ -2590,6 +2929,8 @@ mostlyclean-compile:
-rm -f libxml/*.lo
-rm -f uniconv/*.$(OBJEXT)
-rm -f uniconv/*.lo
+ -rm -f unictype/*.$(OBJEXT)
+ -rm -f unictype/*.lo
-rm -f unilbrk/*.$(OBJEXT)
-rm -f unilbrk/*.lo
-rm -f uniname/*.$(OBJEXT)
@@ -2722,6 +3063,9 @@ libxml/libxml_rpl_la-SAX.lo: libxml/SAX.c
libxml/libxml_rpl_la-SAX2.lo: libxml/SAX2.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxml_rpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxml/libxml_rpl_la-SAX2.lo `test -f 'libxml/SAX2.c' || echo '$(srcdir)/'`libxml/SAX2.c
+libxml/libxml_rpl_la-buf.lo: libxml/buf.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxml_rpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxml/libxml_rpl_la-buf.lo `test -f 'libxml/buf.c' || echo '$(srcdir)/'`libxml/buf.c
+
libxml/libxml_rpl_la-c14n.lo: libxml/c14n.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxml_rpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxml/libxml_rpl_la-c14n.lo `test -f 'libxml/c14n.c' || echo '$(srcdir)/'`libxml/c14n.c
@@ -2785,6 +3129,9 @@ libxml/libxml_rpl_la-threads.lo: libxml/threads.c
libxml/libxml_rpl_la-tree.lo: libxml/tree.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxml_rpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxml/libxml_rpl_la-tree.lo `test -f 'libxml/tree.c' || echo '$(srcdir)/'`libxml/tree.c
+libxml/libxml_rpl_la-trionan.lo: libxml/trionan.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxml_rpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxml/libxml_rpl_la-trionan.lo `test -f 'libxml/trionan.c' || echo '$(srcdir)/'`libxml/trionan.c
+
libxml/libxml_rpl_la-uri.lo: libxml/uri.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxml_rpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxml/libxml_rpl_la-uri.lo `test -f 'libxml/uri.c' || echo '$(srcdir)/'`libxml/uri.c
@@ -2856,6 +3203,7 @@ clean-libtool:
-rm -rf libcroco/.libs libcroco/_libs
-rm -rf libxml/.libs libxml/_libs
-rm -rf uniconv/.libs uniconv/_libs
+ -rm -rf unictype/.libs unictype/_libs
-rm -rf unilbrk/.libs unilbrk/_libs
-rm -rf uniname/.libs uniname/_libs
-rm -rf unistr/.libs unistr/_libs
@@ -3028,6 +3376,7 @@ distclean-generic:
-rm -f libcroco/$(am__dirstamp)
-rm -f libxml/$(am__dirstamp)
-rm -f uniconv/$(am__dirstamp)
+ -rm -f unictype/$(am__dirstamp)
-rm -f unilbrk/$(am__dirstamp)
-rm -f uniname/$(am__dirstamp)
-rm -f unistr/$(am__dirstamp)
@@ -3131,6 +3480,8 @@ uninstall-am: uninstall-gettextsrcDATA uninstall-libLTLIBRARIES \
uninstall-gettextsrcDATA uninstall-hook \
uninstall-libLTLIBRARIES uninstall-local uninstall-pkgdataDATA
+.PRECIOUS: Makefile
+
# We need the following in order to create <alloca.h> when the system
# doesn't have one that works with the given compiler.
@@ -3421,21 +3772,45 @@ html-styled-ostream.c html_styled_ostream.priv.h html_styled_ostream.vt.h : html
@GL_GENERATE_ICONV_H_FALSE@ rm -f $@
iconv_open-aix.h: iconv_open-aix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \
mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
iconv_open-hpux.h: iconv_open-hpux.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \
mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
iconv_open-irix.h: iconv_open-irix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \
mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
iconv_open-osf.h: iconv_open-osf.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \
mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
iconv_open-solaris.h: iconv_open-solaris.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \
mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
+# We need the following in order to create an empty placeholder for
+# <langinfo.h> when the system doesn't have one.
+langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \
+ -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \
+ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
+ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
+ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
+ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
+ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/langinfo.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+
glib.h: glib.in.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
cat $(srcdir)/glib.in.h; \
@@ -3903,6 +4278,280 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
< $(srcdir)/locale.in.h; \
} > $@-t && \
mv $@-t $@
+
+# We need the following in order to create <math.h> when the system
+# doesn't have one that works with the given compiler.
+math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \
+ -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \
+ -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \
+ -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \
+ -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \
+ -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \
+ -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \
+ -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \
+ -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \
+ -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \
+ -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \
+ -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \
+ -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \
+ -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \
+ -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \
+ -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \
+ -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \
+ -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \
+ -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \
+ -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \
+ -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \
+ -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \
+ -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \
+ -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \
+ -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \
+ -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \
+ -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \
+ -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \
+ -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \
+ -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \
+ -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \
+ -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \
+ -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \
+ -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \
+ -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \
+ -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \
+ -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \
+ -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \
+ -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \
+ -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \
+ -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \
+ -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \
+ -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \
+ -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \
+ -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \
+ < $(srcdir)/math.in.h | \
+ sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \
+ -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \
+ -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \
+ -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \
+ -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \
+ -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \
+ -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \
+ -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \
+ -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \
+ -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \
+ -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \
+ -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \
+ -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \
+ -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \
+ -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \
+ -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \
+ -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \
+ -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \
+ -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \
+ -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \
+ -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \
+ -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \
+ -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \
+ -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \
+ -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \
+ -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \
+ -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \
+ -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \
+ -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \
+ -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \
+ -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \
+ -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \
+ -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \
+ -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \
+ -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \
+ -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \
+ -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \
+ -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \
+ -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \
+ -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \
+ -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \
+ -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \
+ -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \
+ -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \
+ -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \
+ -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \
+ -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \
+ -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \
+ -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \
+ -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \
+ -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \
+ | \
+ sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
+ -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
+ -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \
+ -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \
+ -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \
+ -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \
+ -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \
+ -e 's|@''HAVE_CBRT''@|$(HAVE_CBRT)|g' \
+ -e 's|@''HAVE_CBRTF''@|$(HAVE_CBRTF)|g' \
+ -e 's|@''HAVE_CBRTL''@|$(HAVE_CBRTL)|g' \
+ -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \
+ -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \
+ -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \
+ -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \
+ -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \
+ -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \
+ -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \
+ -e 's|@''HAVE_EXPM1''@|$(HAVE_EXPM1)|g' \
+ -e 's|@''HAVE_EXPM1F''@|$(HAVE_EXPM1F)|g' \
+ -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \
+ -e 's|@''HAVE_FABSL''@|$(HAVE_FABSL)|g' \
+ -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \
+ -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \
+ -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \
+ -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \
+ -e 's|@''HAVE_FMODL''@|$(HAVE_FMODL)|g' \
+ -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \
+ -e 's|@''HAVE_HYPOTF''@|$(HAVE_HYPOTF)|g' \
+ -e 's|@''HAVE_HYPOTL''@|$(HAVE_HYPOTL)|g' \
+ -e 's|@''HAVE_ILOGB''@|$(HAVE_ILOGB)|g' \
+ -e 's|@''HAVE_ILOGBF''@|$(HAVE_ILOGBF)|g' \
+ -e 's|@''HAVE_ILOGBL''@|$(HAVE_ILOGBL)|g' \
+ -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \
+ -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \
+ -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \
+ -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \
+ -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \
+ -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \
+ -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \
+ -e 's|@''HAVE_LOG10L''@|$(HAVE_LOG10L)|g' \
+ -e 's|@''HAVE_LOG1P''@|$(HAVE_LOG1P)|g' \
+ -e 's|@''HAVE_LOG1PF''@|$(HAVE_LOG1PF)|g' \
+ -e 's|@''HAVE_LOG1PL''@|$(HAVE_LOG1PL)|g' \
+ -e 's|@''HAVE_LOGBF''@|$(HAVE_LOGBF)|g' \
+ -e 's|@''HAVE_LOGBL''@|$(HAVE_LOGBL)|g' \
+ -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \
+ -e 's|@''HAVE_MODFL''@|$(HAVE_MODFL)|g' \
+ -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \
+ -e 's|@''HAVE_REMAINDER''@|$(HAVE_REMAINDER)|g' \
+ -e 's|@''HAVE_REMAINDERF''@|$(HAVE_REMAINDERF)|g' \
+ -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \
+ -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \
+ -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \
+ -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \
+ -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \
+ -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \
+ -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \
+ -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \
+ -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \
+ -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \
+ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \
+ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \
+ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \
+ -e 's|@''HAVE_DECL_CBRTF''@|$(HAVE_DECL_CBRTF)|g' \
+ -e 's|@''HAVE_DECL_CBRTL''@|$(HAVE_DECL_CBRTL)|g' \
+ -e 's|@''HAVE_DECL_CEILF''@|$(HAVE_DECL_CEILF)|g' \
+ -e 's|@''HAVE_DECL_CEILL''@|$(HAVE_DECL_CEILL)|g' \
+ -e 's|@''HAVE_DECL_COPYSIGNF''@|$(HAVE_DECL_COPYSIGNF)|g' \
+ -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \
+ -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \
+ -e 's|@''HAVE_DECL_EXP2''@|$(HAVE_DECL_EXP2)|g' \
+ -e 's|@''HAVE_DECL_EXP2F''@|$(HAVE_DECL_EXP2F)|g' \
+ -e 's|@''HAVE_DECL_EXP2L''@|$(HAVE_DECL_EXP2L)|g' \
+ -e 's|@''HAVE_DECL_EXPM1L''@|$(HAVE_DECL_EXPM1L)|g' \
+ -e 's|@''HAVE_DECL_FLOORF''@|$(HAVE_DECL_FLOORF)|g' \
+ -e 's|@''HAVE_DECL_FLOORL''@|$(HAVE_DECL_FLOORL)|g' \
+ -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \
+ -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \
+ -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \
+ -e 's|@''HAVE_DECL_LOG10L''@|$(HAVE_DECL_LOG10L)|g' \
+ -e 's|@''HAVE_DECL_LOG2''@|$(HAVE_DECL_LOG2)|g' \
+ -e 's|@''HAVE_DECL_LOG2F''@|$(HAVE_DECL_LOG2F)|g' \
+ -e 's|@''HAVE_DECL_LOG2L''@|$(HAVE_DECL_LOG2L)|g' \
+ -e 's|@''HAVE_DECL_LOGB''@|$(HAVE_DECL_LOGB)|g' \
+ -e 's|@''HAVE_DECL_REMAINDER''@|$(HAVE_DECL_REMAINDER)|g' \
+ -e 's|@''HAVE_DECL_REMAINDERL''@|$(HAVE_DECL_REMAINDERL)|g' \
+ -e 's|@''HAVE_DECL_RINTF''@|$(HAVE_DECL_RINTF)|g' \
+ -e 's|@''HAVE_DECL_ROUND''@|$(HAVE_DECL_ROUND)|g' \
+ -e 's|@''HAVE_DECL_ROUNDF''@|$(HAVE_DECL_ROUNDF)|g' \
+ -e 's|@''HAVE_DECL_ROUNDL''@|$(HAVE_DECL_ROUNDL)|g' \
+ -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \
+ -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \
+ -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \
+ -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \
+ -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \
+ -e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \
+ | \
+ sed -e 's|@''REPLACE_CBRTF''@|$(REPLACE_CBRTF)|g' \
+ -e 's|@''REPLACE_CBRTL''@|$(REPLACE_CBRTL)|g' \
+ -e 's|@''REPLACE_CEIL''@|$(REPLACE_CEIL)|g' \
+ -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \
+ -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \
+ -e 's|@''REPLACE_EXPM1''@|$(REPLACE_EXPM1)|g' \
+ -e 's|@''REPLACE_EXPM1F''@|$(REPLACE_EXPM1F)|g' \
+ -e 's|@''REPLACE_EXP2''@|$(REPLACE_EXP2)|g' \
+ -e 's|@''REPLACE_EXP2L''@|$(REPLACE_EXP2L)|g' \
+ -e 's|@''REPLACE_FABSL''@|$(REPLACE_FABSL)|g' \
+ -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \
+ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \
+ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \
+ -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \
+ -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \
+ -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \
+ -e 's|@''REPLACE_FMOD''@|$(REPLACE_FMOD)|g' \
+ -e 's|@''REPLACE_FMODF''@|$(REPLACE_FMODF)|g' \
+ -e 's|@''REPLACE_FMODL''@|$(REPLACE_FMODL)|g' \
+ -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \
+ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \
+ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \
+ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \
+ -e 's|@''REPLACE_HYPOT''@|$(REPLACE_HYPOT)|g' \
+ -e 's|@''REPLACE_HYPOTF''@|$(REPLACE_HYPOTF)|g' \
+ -e 's|@''REPLACE_HYPOTL''@|$(REPLACE_HYPOTL)|g' \
+ -e 's|@''REPLACE_ILOGB''@|$(REPLACE_ILOGB)|g' \
+ -e 's|@''REPLACE_ILOGBF''@|$(REPLACE_ILOGBF)|g' \
+ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \
+ -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \
+ -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \
+ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
+ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \
+ -e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \
+ -e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \
+ -e 's|@''REPLACE_LOGL''@|$(REPLACE_LOGL)|g' \
+ -e 's|@''REPLACE_LOG10''@|$(REPLACE_LOG10)|g' \
+ -e 's|@''REPLACE_LOG10F''@|$(REPLACE_LOG10F)|g' \
+ -e 's|@''REPLACE_LOG10L''@|$(REPLACE_LOG10L)|g' \
+ -e 's|@''REPLACE_LOG1P''@|$(REPLACE_LOG1P)|g' \
+ -e 's|@''REPLACE_LOG1PF''@|$(REPLACE_LOG1PF)|g' \
+ -e 's|@''REPLACE_LOG1PL''@|$(REPLACE_LOG1PL)|g' \
+ -e 's|@''REPLACE_LOG2''@|$(REPLACE_LOG2)|g' \
+ -e 's|@''REPLACE_LOG2F''@|$(REPLACE_LOG2F)|g' \
+ -e 's|@''REPLACE_LOG2L''@|$(REPLACE_LOG2L)|g' \
+ -e 's|@''REPLACE_LOGB''@|$(REPLACE_LOGB)|g' \
+ -e 's|@''REPLACE_LOGBF''@|$(REPLACE_LOGBF)|g' \
+ -e 's|@''REPLACE_LOGBL''@|$(REPLACE_LOGBL)|g' \
+ -e 's|@''REPLACE_MODF''@|$(REPLACE_MODF)|g' \
+ -e 's|@''REPLACE_MODFF''@|$(REPLACE_MODFF)|g' \
+ -e 's|@''REPLACE_MODFL''@|$(REPLACE_MODFL)|g' \
+ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \
+ -e 's|@''REPLACE_REMAINDER''@|$(REPLACE_REMAINDER)|g' \
+ -e 's|@''REPLACE_REMAINDERF''@|$(REPLACE_REMAINDERF)|g' \
+ -e 's|@''REPLACE_REMAINDERL''@|$(REPLACE_REMAINDERL)|g' \
+ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \
+ -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \
+ -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \
+ -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \
+ -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \
+ -e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \
+ -e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \
+ -e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \
+ -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
# This is a Makefile rule that generates multiple files at once; see the
# automake documentation, node "Multiple Outputs", for details.
ostream.h : $(top_srcdir)/../build-aux/moopp ostream.oo.h ostream.oo.c
@@ -4101,6 +4750,7 @@ spawn.h: spawn.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
@GL_GENERATE_STDDEF_H_TRUE@ < $(srcdir)/stddef.in.h; \
@@ -4652,10 +5302,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
-e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
-e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+ -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
-e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
-e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
-e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
@@ -4665,6 +5317,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -4679,6 +5332,13 @@ uniconv.h: uniconv.in.h
} > $@-t && \
mv -f $@-t $@
+unictype.h: unictype.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unictype.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+
unilbrk.h: unilbrk.in.h
$(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
diff --git a/gettext-tools/gnulib-lib/acl-errno-valid.c b/gettext-tools/gnulib-lib/acl-errno-valid.c
index 3287382..a64d3d3 100644
--- a/gettext-tools/gnulib-lib/acl-errno-valid.c
+++ b/gettext-tools/gnulib-lib/acl-errno-valid.c
@@ -1,6 +1,6 @@
/* Test whether ACLs are well supported on this system.
- Copyright 2013-2014 Free Software Foundation, Inc.
+ Copyright 2013-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/file-has-acl.c b/gettext-tools/gnulib-lib/acl-internal.c
index 5104a41..c1b7017 100644
--- a/gettext-tools/gnulib-lib/file-has-acl.c
+++ b/gettext-tools/gnulib-lib/acl-internal.c
@@ -1,6 +1,6 @@
-/* Test whether a file has a nontrivial access control list.
+/* Test whether a file has a nontrivial ACL. -*- coding: utf-8 -*-
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
@@ -17,19 +17,12 @@
Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
-/* Without this pragma, gcc 4.7.0 20120126 may suggest that the
- file_has_acl function might be candidate for attribute 'const' */
-#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
-# pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
-#endif
-
#include <config.h>
#include "acl.h"
#include "acl-internal.h"
-
#if USE_ACL && HAVE_ACL_GET_FILE
# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
@@ -122,8 +115,14 @@ acl_access_nontrivial (acl_t acl)
# endif
}
-# endif
+int
+acl_default_nontrivial (acl_t acl)
+{
+ /* acl is non-trivial if it is non-empty. */
+ return (acl_entries (acl) > 0);
+}
+# endif
#elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
@@ -344,18 +343,19 @@ acl_ace_nontrivial (int count, ace_t *entries)
/* Return 1 if the given ACL is non-trivial.
Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
int
-acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb)
+acl_nontrivial (int count, struct acl_entry *entries)
{
int i;
+ if (count > 3)
+ return 1;
+
for (i = 0; i < count; i++)
{
struct acl_entry *ace = &entries[i];
- if (!((ace->uid == sb->st_uid && ace->gid == ACL_NSGROUP)
- || (ace->uid == ACL_NSUSER && ace->gid == sb->st_gid)
- || (ace->uid == ACL_NSUSER && ace->gid == ACL_NSGROUP)))
- return 1;
+ if (ace->uid != ACL_NSUSER && ace->gid != ACL_NSGROUP)
+ return 1;
}
return 0;
}
@@ -475,445 +475,33 @@ acl_nontrivial (int count, struct acl *entries)
#endif
-
-/* Return 1 if NAME has a nontrivial access control list, 0 if NAME
- only has no or a base access control list, and -1 (setting errno)
- on error. SB must be set to the stat buffer of NAME, obtained
- through stat() or lstat(). */
-
-int
-file_has_acl (char const *name, struct stat const *sb)
+void
+free_permission_context (struct permission_context *ctx)
{
-#if USE_ACL
- if (! S_ISLNK (sb->st_mode))
- {
-# if HAVE_ACL_GET_FILE
-
- /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
- /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
- int ret;
-
- if (HAVE_ACL_EXTENDED_FILE) /* Linux */
- {
- /* On Linux, acl_extended_file is an optimized function: It only
- makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for
- ACL_TYPE_DEFAULT. */
- ret = acl_extended_file (name);
- }
- else /* FreeBSD, Mac OS X, IRIX, Tru64 */
- {
-# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
- /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT)
- always return NULL / EINVAL. There is no point in making
- these two useless calls. The real ACL is retrieved through
- acl_get_file (name, ACL_TYPE_EXTENDED). */
- acl_t acl = acl_get_file (name, ACL_TYPE_EXTENDED);
- if (acl)
- {
- ret = acl_extended_nontrivial (acl);
- acl_free (acl);
- }
- else
- ret = -1;
-# else /* FreeBSD, IRIX, Tru64 */
- acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS);
- if (acl)
- {
- int saved_errno;
-
- ret = acl_access_nontrivial (acl);
- saved_errno = errno;
- acl_free (acl);
- errno = saved_errno;
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
- /* On OSF/1, acl_get_file (name, ACL_TYPE_DEFAULT) always
- returns NULL with errno not set. There is no point in
- making this call. */
-# else /* FreeBSD, IRIX */
- /* On Linux, FreeBSD, IRIX, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT) on a directory
- either both succeed or both fail; it depends on the
- file system. Therefore there is no point in making the second
- call if the first one already failed. */
- if (ret == 0 && S_ISDIR (sb->st_mode))
- {
- acl = acl_get_file (name, ACL_TYPE_DEFAULT);
- if (acl)
- {
- ret = (0 < acl_entries (acl));
- acl_free (acl);
- }
- else
- ret = -1;
- }
-# endif
- }
- else
- ret = -1;
+#ifdef USE_ACL
+# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+ if (ctx->acl)
+ acl_free (ctx->acl);
+# if !HAVE_ACL_TYPE_EXTENDED
+ if (ctx->default_acl)
+ acl_free (ctx->default_acl);
# endif
- }
- if (ret < 0)
- return - acl_errno_valid (errno);
- return ret;
-# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-
-# if defined ACL_NO_TRIVIAL
-
- /* Solaris 10 (newer version), which has additional API declared in
- <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial,
- acl_fromtext, ...). */
- return acl_trivial (name);
-
-# else /* Solaris, Cygwin, general case */
-
- /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
- of Unixware. The acl() call returns the access and default ACL both
- at once. */
- {
- /* Initially, try to read the entries into a stack-allocated buffer.
- Use malloc if it does not fit. */
- enum
- {
- alloc_init = 4000 / sizeof (aclent_t), /* >= 3 */
- alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (aclent_t))
- };
- aclent_t buf[alloc_init];
- size_t alloc = alloc_init;
- aclent_t *entries = buf;
- aclent_t *malloced = NULL;
- int count;
-
- for (;;)
- {
- count = acl (name, GETACL, alloc, entries);
- if (count < 0 && errno == ENOSPC)
- {
- /* Increase the size of the buffer. */
- free (malloced);
- if (alloc > alloc_max / 2)
- {
- errno = ENOMEM;
- return -1;
- }
- alloc = 2 * alloc; /* <= alloc_max */
- entries = malloced =
- (aclent_t *) malloc (alloc * sizeof (aclent_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- continue;
- }
- break;
- }
- if (count < 0)
- {
- if (errno == ENOSYS || errno == ENOTSUP)
- ;
- else
- {
- int saved_errno = errno;
- free (malloced);
- errno = saved_errno;
- return -1;
- }
- }
- else if (count == 0)
- ;
- else
- {
- /* Don't use MIN_ACL_ENTRIES: It's set to 4 on Cygwin, but Cygwin
- returns only 3 entries for files with no ACL. But this is safe:
- If there are more than 4 entries, there cannot be only the
- "user::", "group::", "other:", and "mask:" entries. */
- if (count > 4)
- {
- free (malloced);
- return 1;
- }
-
- if (acl_nontrivial (count, entries))
- {
- free (malloced);
- return 1;
- }
- }
- free (malloced);
- }
-
-# ifdef ACE_GETACL
- /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
- file systems (whereas the other ones are used in UFS file systems). */
- {
- /* Initially, try to read the entries into a stack-allocated buffer.
- Use malloc if it does not fit. */
- enum
- {
- alloc_init = 4000 / sizeof (ace_t), /* >= 3 */
- alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t))
- };
- ace_t buf[alloc_init];
- size_t alloc = alloc_init;
- ace_t *entries = buf;
- ace_t *malloced = NULL;
- int count;
-
- for (;;)
- {
- count = acl (name, ACE_GETACL, alloc, entries);
- if (count < 0 && errno == ENOSPC)
- {
- /* Increase the size of the buffer. */
- free (malloced);
- if (alloc > alloc_max / 2)
- {
- errno = ENOMEM;
- return -1;
- }
- alloc = 2 * alloc; /* <= alloc_max */
- entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- continue;
- }
- break;
- }
- if (count < 0)
- {
- if (errno == ENOSYS || errno == EINVAL)
- ;
- else
- {
- int saved_errno = errno;
- free (malloced);
- errno = saved_errno;
- return -1;
- }
- }
- else if (count == 0)
- ;
- else
- {
- /* In the old (original Solaris 10) convention:
- If there are more than 3 entries, there cannot be only the
- ACE_OWNER, ACE_GROUP, ACE_OTHER entries.
- In the newer Solaris 10 and Solaris 11 convention:
- If there are more than 6 entries, there cannot be only the
- ACE_OWNER, ACE_GROUP, ACE_EVERYONE entries, each once with
- NEW_ACE_ACCESS_ALLOWED_ACE_TYPE and once with
- NEW_ACE_ACCESS_DENIED_ACE_TYPE. */
- if (count > 6)
- {
- free (malloced);
- return 1;
- }
-
- if (acl_ace_nontrivial (count, entries))
- {
- free (malloced);
- return 1;
- }
- }
- free (malloced);
- }
-# endif
-
- return 0;
+# elif defined GETACL /* Solaris, Cygwin */
+ free (ctx->entries);
+# ifdef ACE_GETACL
+ free (ctx->ace_entries);
# endif
# elif HAVE_GETACL /* HP-UX */
- {
- struct acl_entry entries[NACLENTRIES];
- int count;
-
- count = getacl (name, NACLENTRIES, entries);
-
- if (count < 0)
- {
- /* ENOSYS is seen on newer HP-UX versions.
- EOPNOTSUPP is typically seen on NFS mounts.
- ENOTSUP was seen on Quantum StorNext file systems (cvfs). */
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
- ;
- else
- return -1;
- }
- else if (count == 0)
- return 0;
- else /* count > 0 */
- {
- if (count > NACLENTRIES)
- /* If NACLENTRIES cannot be trusted, use dynamic memory
- allocation. */
- abort ();
-
- /* If there are more than 3 entries, there cannot be only the
- (uid,%), (%,gid), (%,%) entries. */
- if (count > 3)
- return 1;
-
- {
- struct stat statbuf;
-
- if (stat (name, &statbuf) < 0)
- return -1;
-
- return acl_nontrivial (count, entries, &statbuf);
- }
- }
- }
-
-# if HAVE_ACLV_H /* HP-UX >= 11.11 */
-
- {
- struct acl entries[NACLVENTRIES];
- int count;
-
- count = acl ((char *) name, ACL_GET, NACLVENTRIES, entries);
-
- if (count < 0)
- {
- /* EOPNOTSUPP is seen on NFS in HP-UX 11.11, 11.23.
- EINVAL is seen on NFS in HP-UX 11.31. */
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
- ;
- else
- return -1;
- }
- else if (count == 0)
- return 0;
- else /* count > 0 */
- {
- if (count > NACLVENTRIES)
- /* If NACLVENTRIES cannot be trusted, use dynamic memory
- allocation. */
- abort ();
-
- /* If there are more than 4 entries, there cannot be only the
- four base ACL entries. */
- if (count > 4)
- return 1;
-
- return aclv_nontrivial (count, entries);
- }
- }
-
+# if HAVE_ACLV_H
# endif
-# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */
-
- acl_type_t type;
- char aclbuf[1024];
- void *acl = aclbuf;
- size_t aclsize = sizeof (aclbuf);
- mode_t mode;
-
- for (;;)
- {
- /* The docs say that type being 0 is equivalent to ACL_ANY, but it
- is not true, in AIX 5.3. */
- type.u64 = ACL_ANY;
- if (aclx_get (name, 0, &type, aclbuf, &aclsize, &mode) >= 0)
- break;
- if (errno == ENOSYS)
- return 0;
- if (errno != ENOSPC)
- {
- if (acl != aclbuf)
- {
- int saved_errno = errno;
- free (acl);
- errno = saved_errno;
- }
- return -1;
- }
- aclsize = 2 * aclsize;
- if (acl != aclbuf)
- free (acl);
- acl = malloc (aclsize);
- if (acl == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- }
-
- if (type.u64 == ACL_AIXC)
- {
- int result = acl_nontrivial ((struct acl *) acl);
- if (acl != aclbuf)
- free (acl);
- return result;
- }
- else if (type.u64 == ACL_NFS4)
- {
- int result = acl_nfs4_nontrivial ((nfs4_acl_int_t *) acl);
- if (acl != aclbuf)
- free (acl);
- return result;
- }
- else
- {
- /* A newer type of ACL has been introduced in the system.
- We should better support it. */
- if (acl != aclbuf)
- free (acl);
- errno = EINVAL;
- return -1;
- }
-
# elif HAVE_STATACL /* older AIX */
- union { struct acl a; char room[4096]; } u;
-
- if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0)
- return -1;
-
- return acl_nontrivial (&u.a);
-
# elif HAVE_ACLSORT /* NonStop Kernel */
- {
- struct acl entries[NACLENTRIES];
- int count;
-
- count = acl ((char *) name, ACL_GET, NACLENTRIES, entries);
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == ENOTSUP)
- ;
- else
- return -1;
- }
- else if (count == 0)
- return 0;
- else /* count > 0 */
- {
- if (count > NACLENTRIES)
- /* If NACLENTRIES cannot be trusted, use dynamic memory
- allocation. */
- abort ();
-
- /* If there are more than 4 entries, there cannot be only the
- four base ACL entries. */
- if (count > 4)
- return 1;
-
- return acl_nontrivial (count, entries);
- }
- }
-
# endif
- }
#endif
-
- return 0;
}
diff --git a/gettext-tools/gnulib-lib/acl-internal.h b/gettext-tools/gnulib-lib/acl-internal.h
index b238006..560d146 100644
--- a/gettext-tools/gnulib-lib/acl-internal.h
+++ b/gettext-tools/gnulib-lib/acl-internal.h
@@ -1,6 +1,6 @@
-/* Internal implementation of access control lists.
+/* Internal implementation of access control lists. -*- coding: utf-8 -*-
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
@@ -127,18 +127,13 @@ rpl_acl_set_fd (int fd, acl_t acl)
# define acl_extended_file(name) (-1)
# endif
-/* Linux-specific */
-# ifndef HAVE_ACL_FROM_MODE
-# define HAVE_ACL_FROM_MODE false
-# define acl_from_mode(mode) (NULL)
+# if ! defined HAVE_ACL_FROM_MODE && ! defined HAVE_ACL_FROM_TEXT
+# define acl_from_mode (NULL)
# endif
-/* Set to 1 if a file's mode is implicit by the ACL.
- Set to 0 if a file's mode is stored independently from the ACL. */
+/* Set to 0 if a file's mode is stored independently from the ACL. */
# if (HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP) || defined __sgi /* Mac OS X, IRIX */
# define MODE_INSIDE_ACL 0
-# else
-# define MODE_INSIDE_ACL 1
# endif
/* Return the number of entries in ACL.
@@ -160,16 +155,19 @@ extern int acl_extended_nontrivial (acl_t);
Return 0 if it is trivial, i.e. equivalent to a simple stat() mode.
Return -1 and set errno upon failure to determine it. */
extern int acl_access_nontrivial (acl_t);
+
+/* ACL is an ACL, from a file, stored as type ACL_TYPE_DEFAULT.
+ Return 1 if the given ACL is non-trivial.
+ Return 0 if it is trivial, i.e. equivalent to a simple stat() mode.
+ Return -1 and set errno upon failure to determine it. */
+extern int acl_default_nontrivial (acl_t);
# endif
# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-/* Set to 1 if a file's mode is implicit by the ACL.
- Set to 0 if a file's mode is stored independently from the ACL. */
+/* Set to 0 if a file's mode is stored independently from the ACL. */
# if defined __CYGWIN__ /* Cygwin */
# define MODE_INSIDE_ACL 0
-# else /* Solaris */
-# define MODE_INSIDE_ACL 1
# endif
/* Return 1 if the given ACL is non-trivial.
@@ -220,7 +218,7 @@ extern int acl_ace_nontrivial (int count, ace_t *entries) _GL_ATTRIBUTE_PURE;
/* Return 1 if the given ACL is non-trivial.
Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-extern int acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb);
+extern int acl_nontrivial (int count, struct acl_entry *entries);
# if HAVE_ACLV_H /* HP-UX >= 11.11 */
@@ -248,6 +246,57 @@ extern int acl_nontrivial (int count, struct acl *entries);
# endif
+/* Set to 1 if a file's mode is implicit by the ACL. */
+# ifndef MODE_INSIDE_ACL
+# define MODE_INSIDE_ACL 1
+# endif
+
+#endif
+
+struct permission_context {
+ mode_t mode;
+#ifdef USE_ACL
+# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+ acl_t acl;
+# if !HAVE_ACL_TYPE_EXTENDED
+ acl_t default_acl;
+# endif
+ bool acls_not_supported;
+
+# elif defined GETACL /* Solaris, Cygwin */
+ int count;
+ aclent_t *entries;
+# ifdef ACE_GETACL
+ int ace_count;
+ ace_t *ace_entries;
+# endif
+
+# elif HAVE_GETACL /* HP-UX */
+ struct acl_entry entries[NACLENTRIES];
+ int count;
+# if HAVE_ACLV_H
+ struct acl aclv_entries[NACLVENTRIES];
+ int aclv_count;
+# endif
+
+# elif HAVE_STATACL /* older AIX */
+ union { struct acl a; char room[4096]; } u;
+ bool have_u;
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+ struct acl entries[NACLENTRIES];
+ int count;
+
+# endif
+#endif
+};
+
+int get_permissions (const char *, int, mode_t, struct permission_context *);
+int set_permissions (struct permission_context *, const char *, int);
+void free_permission_context (struct permission_context *)
+#if ! (defined USE_ACL && (HAVE_ACL_GET_FILE || defined GETACL))
+ _GL_ATTRIBUTE_CONST
#endif
+ ;
_GL_INLINE_HEADER_END
diff --git a/gettext-tools/gnulib-lib/acl.h b/gettext-tools/gnulib-lib/acl.h
index f67e350..88ea08d 100644
--- a/gettext-tools/gnulib-lib/acl.h
+++ b/gettext-tools/gnulib-lib/acl.h
@@ -1,6 +1,6 @@
/* acl.c - access control lists
- Copyright (C) 2002, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/acl_entries.c b/gettext-tools/gnulib-lib/acl_entries.c
index 39d6b28..936a131 100644
--- a/gettext-tools/gnulib-lib/acl_entries.c
+++ b/gettext-tools/gnulib-lib/acl_entries.c
@@ -1,6 +1,6 @@
/* Return the number of entries in an ACL.
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/addext.c b/gettext-tools/gnulib-lib/addext.c
index fef2b9b..bea586f 100644
--- a/gettext-tools/gnulib-lib/addext.c
+++ b/gettext-tools/gnulib-lib/addext.c
@@ -1,5 +1,6 @@
/* addext.c -- add an extension to a file name
- Copyright (C) 1990, 1997-1999, 2001-2003, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1997-1999, 2001-2003, 2005-2006, 2015 Free
+ Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/alignof.h b/gettext-tools/gnulib-lib/alignof.h
index 9d161df..be53fa5 100644
--- a/gettext-tools/gnulib-lib/alignof.h
+++ b/gettext-tools/gnulib-lib/alignof.h
@@ -1,5 +1,5 @@
/* Determine alignment of types.
- Copyright (C) 2003-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/alloca.in.h b/gettext-tools/gnulib-lib/alloca.in.h
index 964cb8d..b334262 100644
--- a/gettext-tools/gnulib-lib/alloca.in.h
+++ b/gettext-tools/gnulib-lib/alloca.in.h
@@ -1,5 +1,6 @@
/* Memory allocation on the stack.
- Copyright (C) 1995, 1999, 2001-2007 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1999, 2001-2007, 2015 Free Software Foundation,
+ Inc.
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
diff --git a/gettext-tools/gnulib-lib/allocator.h b/gettext-tools/gnulib-lib/allocator.h
index 0904b32..c7c851f 100644
--- a/gettext-tools/gnulib-lib/allocator.h
+++ b/gettext-tools/gnulib-lib/allocator.h
@@ -1,6 +1,6 @@
/* Memory allocators such as malloc+free.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/areadlink.c b/gettext-tools/gnulib-lib/areadlink.c
index b4b856c..248cc6b 100644
--- a/gettext-tools/gnulib-lib/areadlink.c
+++ b/gettext-tools/gnulib-lib/areadlink.c
@@ -1,7 +1,7 @@
/* areadlink.c -- readlink wrapper to return the link name in malloc'd storage
Unlike xreadlink and xreadlink_with_size, don't ever call exit.
- Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/areadlink.h b/gettext-tools/gnulib-lib/areadlink.h
index 59abb37..d9e0fa1 100644
--- a/gettext-tools/gnulib-lib/areadlink.h
+++ b/gettext-tools/gnulib-lib/areadlink.h
@@ -1,6 +1,6 @@
/* Read symbolic links without size limitation.
- Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/argmatch.c b/gettext-tools/gnulib-lib/argmatch.c
index f56ab55..0e452bd 100644
--- a/gettext-tools/gnulib-lib/argmatch.c
+++ b/gettext-tools/gnulib-lib/argmatch.c
@@ -1,6 +1,6 @@
/* argmatch.c -- find a match for a string in an array
- Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2014 Free Software
+ Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/argmatch.h b/gettext-tools/gnulib-lib/argmatch.h
index 8296aad..1543c52 100644
--- a/gettext-tools/gnulib-lib/argmatch.h
+++ b/gettext-tools/gnulib-lib/argmatch.h
@@ -1,6 +1,6 @@
/* argmatch.h -- definitions and prototypes for argmatch.c
- Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2014 Free Software
+ Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/asnprintf.c b/gettext-tools/gnulib-lib/asnprintf.c
index 0c62197..d6776ca 100644
--- a/gettext-tools/gnulib-lib/asnprintf.c
+++ b/gettext-tools/gnulib-lib/asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/asprintf.c b/gettext-tools/gnulib-lib/asprintf.c
index 9a69ac4..06ae3dd 100644
--- a/gettext-tools/gnulib-lib/asprintf.c
+++ b/gettext-tools/gnulib-lib/asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/backupfile.c b/gettext-tools/gnulib-lib/backupfile.c
index 9d75b02..5ec0228 100644
--- a/gettext-tools/gnulib-lib/backupfile.c
+++ b/gettext-tools/gnulib-lib/backupfile.c
@@ -1,5 +1,6 @@
/* backupfile.c -- make Emacs style backup file names
- Copyright (C) 1990-1999, 2000-2003, 2005-2006, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1990-2003, 2005-2006, 2012, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/backupfile.h b/gettext-tools/gnulib-lib/backupfile.h
index e2c8743..91c37fa 100644
--- a/gettext-tools/gnulib-lib/backupfile.h
+++ b/gettext-tools/gnulib-lib/backupfile.h
@@ -1,5 +1,6 @@
/* backupfile.h -- declarations for making Emacs style backup file names
- Copyright (C) 1990-1992, 1997-1999, 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 1990-1992, 1997-1999, 2001-2003, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/basename.c b/gettext-tools/gnulib-lib/basename.c
index 5874420..56421aa 100644
--- a/gettext-tools/gnulib-lib/basename.c
+++ b/gettext-tools/gnulib-lib/basename.c
@@ -1,5 +1,6 @@
/* Return the name-within-directory of a file name.
- Copyright (C) 1996-1999, 2000-2002, 2004, 2006, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1996-2002, 2004, 2006, 2010, 2012, 2015 Free Software
+ Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
diff --git a/gettext-tools/gnulib-lib/basename.h b/gettext-tools/gnulib-lib/basename.h
index 908cc3e..489cc67 100644
--- a/gettext-tools/gnulib-lib/basename.h
+++ b/gettext-tools/gnulib-lib/basename.h
@@ -1,5 +1,5 @@
/* Pathname hacking.
- Copyright (C) 2001-2003, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/binary-io.c b/gettext-tools/gnulib-lib/binary-io.c
index 8bbdb44..d828bcd 100644
--- a/gettext-tools/gnulib-lib/binary-io.c
+++ b/gettext-tools/gnulib-lib/binary-io.c
@@ -1,3 +1,4 @@
#include <config.h>
#define BINARY_IO_INLINE _GL_EXTERN_INLINE
#include "binary-io.h"
+typedef int dummy;
diff --git a/gettext-tools/gnulib-lib/binary-io.h b/gettext-tools/gnulib-lib/binary-io.h
index 7928f8c..f5b66c7 100644
--- a/gettext-tools/gnulib-lib/binary-io.h
+++ b/gettext-tools/gnulib-lib/binary-io.h
@@ -1,5 +1,5 @@
/* Binary mode I/O.
- Copyright (C) 2001, 2003, 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/byteswap.in.h b/gettext-tools/gnulib-lib/byteswap.in.h
index 5d1592a..db885d8 100644
--- a/gettext-tools/gnulib-lib/byteswap.in.h
+++ b/gettext-tools/gnulib-lib/byteswap.in.h
@@ -1,5 +1,5 @@
/* byteswap.h - Byte swapping
- Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
Written by Oskar Liljeblad <oskar@osk.mine.nu>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/c-ctype.c b/gettext-tools/gnulib-lib/c-ctype.c
index 48c6478..5d9d4d8 100644
--- a/gettext-tools/gnulib-lib/c-ctype.c
+++ b/gettext-tools/gnulib-lib/c-ctype.c
@@ -1,395 +1,3 @@
-/* Character handling in C locale.
-
- Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc.
-
-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 3 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, see <http://www.gnu.org/licenses/>. */
-
#include <config.h>
-
-/* Specification. */
-#define NO_C_CTYPE_MACROS
+#define C_CTYPE_INLINE _GL_EXTERN_INLINE
#include "c-ctype.h"
-
-/* The function isascii is not locale dependent. Its use in EBCDIC is
- questionable. */
-bool
-c_isascii (int c)
-{
- return (c >= 0x00 && c <= 0x7f);
-}
-
-bool
-c_isalnum (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
-#else
- return ((c >= '0' && c <= '9')
- || (c >= 'A' && c <= 'Z')
- || (c >= 'a' && c <= 'z'));
-#endif
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isalpha (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
-#else
- return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
-#endif
-#else
- switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isblank (int c)
-{
- return (c == ' ' || c == '\t');
-}
-
-bool
-c_iscntrl (int c)
-{
-#if C_CTYPE_ASCII
- return ((c & ~0x1f) == 0 || c == 0x7f);
-#else
- switch (c)
- {
- case ' ': case '!': case '"': case '#': case '$': case '%':
- case '&': case '\'': case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 0;
- default:
- return 1;
- }
-#endif
-}
-
-bool
-c_isdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS
- return (c >= '0' && c <= '9');
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_islower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'a' && c <= 'z');
-#else
- switch (c)
- {
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isgraph (int c)
-{
-#if C_CTYPE_ASCII
- return (c >= '!' && c <= '~');
-#else
- switch (c)
- {
- case '!': case '"': case '#': case '$': case '%': case '&':
- case '\'': case '(': case ')': case '*': case '+': case ',':
- case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isprint (int c)
-{
-#if C_CTYPE_ASCII
- return (c >= ' ' && c <= '~');
-#else
- switch (c)
- {
- case ' ': case '!': case '"': case '#': case '$': case '%':
- case '&': case '\'': case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_ispunct (int c)
-{
-#if C_CTYPE_ASCII
- return ((c >= '!' && c <= '~')
- && !((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
-#else
- switch (c)
- {
- case '!': case '"': case '#': case '$': case '%': case '&':
- case '\'': case '(': case ')': case '*': case '+': case ',':
- case '-': case '.': case '/':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isspace (int c)
-{
- return (c == ' ' || c == '\t'
- || c == '\n' || c == '\v' || c == '\f' || c == '\r');
-}
-
-bool
-c_isupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
- return (c >= 'A' && c <= 'Z');
-#else
- switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isxdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
-#else
- return ((c >= '0' && c <= '9')
- || (c >= 'A' && c <= 'F')
- || (c >= 'a' && c <= 'f'));
-#endif
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-int
-c_tolower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
-#else
- switch (c)
- {
- case 'A': return 'a';
- case 'B': return 'b';
- case 'C': return 'c';
- case 'D': return 'd';
- case 'E': return 'e';
- case 'F': return 'f';
- case 'G': return 'g';
- case 'H': return 'h';
- case 'I': return 'i';
- case 'J': return 'j';
- case 'K': return 'k';
- case 'L': return 'l';
- case 'M': return 'm';
- case 'N': return 'n';
- case 'O': return 'o';
- case 'P': return 'p';
- case 'Q': return 'q';
- case 'R': return 'r';
- case 'S': return 's';
- case 'T': return 't';
- case 'U': return 'u';
- case 'V': return 'v';
- case 'W': return 'w';
- case 'X': return 'x';
- case 'Y': return 'y';
- case 'Z': return 'z';
- default: return c;
- }
-#endif
-}
-
-int
-c_toupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
-#else
- switch (c)
- {
- case 'a': return 'A';
- case 'b': return 'B';
- case 'c': return 'C';
- case 'd': return 'D';
- case 'e': return 'E';
- case 'f': return 'F';
- case 'g': return 'G';
- case 'h': return 'H';
- case 'i': return 'I';
- case 'j': return 'J';
- case 'k': return 'K';
- case 'l': return 'L';
- case 'm': return 'M';
- case 'n': return 'N';
- case 'o': return 'O';
- case 'p': return 'P';
- case 'q': return 'Q';
- case 'r': return 'R';
- case 's': return 'S';
- case 't': return 'T';
- case 'u': return 'U';
- case 'v': return 'V';
- case 'w': return 'W';
- case 'x': return 'X';
- case 'y': return 'Y';
- case 'z': return 'Z';
- default: return c;
- }
-#endif
-}
diff --git a/gettext-tools/gnulib-lib/c-ctype.h b/gettext-tools/gnulib-lib/c-ctype.h
index b465277..1512530 100644
--- a/gettext-tools/gnulib-lib/c-ctype.h
+++ b/gettext-tools/gnulib-lib/c-ctype.h
@@ -5,7 +5,7 @@
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2015 Free Software Foundation, Inc.
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
@@ -25,6 +25,13 @@ along with this program; if not, see <http://www.gnu.org/licenses/>. */
#include <stdbool.h>
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef C_CTYPE_INLINE
+# define C_CTYPE_INLINE _GL_INLINE
+#endif
#ifdef __cplusplus
extern "C" {
@@ -39,38 +46,6 @@ extern "C" {
characters. */
-/* Check whether the ASCII optimizations apply. */
-
-/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
- '0', '1', ..., '9' have consecutive integer values. */
-#define C_CTYPE_CONSECUTIVE_DIGITS 1
-
-#if ('A' <= 'Z') \
- && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
- && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
- && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
- && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
- && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
- && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
- && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
- && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
- && ('Y' + 1 == 'Z')
-#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
-#endif
-
-#if ('a' <= 'z') \
- && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
- && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
- && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
- && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
- && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
- && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
- && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
- && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
- && ('y' + 1 == 'z')
-#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
-#endif
-
#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
&& (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
@@ -96,11 +71,84 @@ extern "C" {
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
Testing the value of '\n' and '\r' is not relevant. */
-#define C_CTYPE_ASCII 1
+# define C_CTYPE_ASCII 1
+#elif ! (' ' == '\x40' && '0' == '\xf0' \
+ && 'A' == '\xc1' && 'J' == '\xd1' && 'S' == '\xe2' \
+ && 'a' == '\x81' && 'j' == '\x91' && 's' == '\xa2')
+# error "Only ASCII and EBCDIC are supported"
#endif
+#if 'A' < 0
+# error "EBCDIC and char is signed -- not supported"
+#endif
+
+/* Cases for control characters. */
+
+#define _C_CTYPE_CNTRL \
+ case '\a': case '\b': case '\f': case '\n': \
+ case '\r': case '\t': case '\v': \
+ _C_CTYPE_OTHER_CNTRL
+
+/* ASCII control characters other than those with \-letter escapes. */
+
+#if C_CTYPE_ASCII
+# define _C_CTYPE_OTHER_CNTRL \
+ case '\x00': case '\x01': case '\x02': case '\x03': \
+ case '\x04': case '\x05': case '\x06': case '\x0e': \
+ case '\x0f': case '\x10': case '\x11': case '\x12': \
+ case '\x13': case '\x14': case '\x15': case '\x16': \
+ case '\x17': case '\x18': case '\x19': case '\x1a': \
+ case '\x1b': case '\x1c': case '\x1d': case '\x1e': \
+ case '\x1f': case '\x7f'
+#else
+ /* Use EBCDIC code page 1047's assignments for ASCII control chars;
+ assume all EBCDIC code pages agree about these assignments. */
+# define _C_CTYPE_OTHER_CNTRL \
+ case '\x00': case '\x01': case '\x02': case '\x03': \
+ case '\x07': case '\x0e': case '\x0f': case '\x10': \
+ case '\x11': case '\x12': case '\x13': case '\x18': \
+ case '\x19': case '\x1c': case '\x1d': case '\x1e': \
+ case '\x1f': case '\x26': case '\x27': case '\x2d': \
+ case '\x2e': case '\x32': case '\x37': case '\x3c': \
+ case '\x3d': case '\x3f'
+#endif
-/* Function declarations. */
+/* Cases for lowercase hex letters, and lowercase letters, all offset by N. */
+
+#define _C_CTYPE_LOWER_A_THRU_F_N(n) \
+ case 'a' + (n): case 'b' + (n): case 'c' + (n): case 'd' + (n): \
+ case 'e' + (n): case 'f' + (n)
+#define _C_CTYPE_LOWER_N(n) \
+ _C_CTYPE_LOWER_A_THRU_F_N(n): \
+ case 'g' + (n): case 'h' + (n): case 'i' + (n): case 'j' + (n): \
+ case 'k' + (n): case 'l' + (n): case 'm' + (n): case 'n' + (n): \
+ case 'o' + (n): case 'p' + (n): case 'q' + (n): case 'r' + (n): \
+ case 's' + (n): case 't' + (n): case 'u' + (n): case 'v' + (n): \
+ case 'w' + (n): case 'x' + (n): case 'y' + (n): case 'z' + (n)
+
+/* Cases for hex letters, digits, lower, punct, and upper. */
+
+#define _C_CTYPE_A_THRU_F \
+ _C_CTYPE_LOWER_A_THRU_F_N (0): \
+ _C_CTYPE_LOWER_A_THRU_F_N ('A' - 'a')
+#define _C_CTYPE_DIGIT \
+ case '0': case '1': case '2': case '3': \
+ case '4': case '5': case '6': case '7': \
+ case '8': case '9'
+#define _C_CTYPE_LOWER _C_CTYPE_LOWER_N (0)
+#define _C_CTYPE_PUNCT \
+ case '!': case '"': case '#': case '$': \
+ case '%': case '&': case '\'': case '(': \
+ case ')': case '*': case '+': case ',': \
+ case '-': case '.': case '/': case ':': \
+ case ';': case '<': case '=': case '>': \
+ case '?': case '@': case '[': case '\\': \
+ case ']': case '^': case '_': case '`': \
+ case '{': case '|': case '}': case '~'
+#define _C_CTYPE_UPPER _C_CTYPE_LOWER_N ('A' - 'a')
+
+
+/* Function definitions. */
/* Unlike the functions in <ctype.h>, which require an argument in the range
of the 'unsigned char' type, the functions here operate on values that are
@@ -117,179 +165,202 @@ extern "C" {
if (c_isalpha (*s)) ...
*/
-extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */
-
-extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_islower (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST;
-
-extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
-extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
-
-
-#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \
- && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS)
-
-/* ASCII optimizations. */
-
-#undef c_isascii
-#define c_isascii(c) \
- ({ int __c = (c); \
- (__c >= 0x00 && __c <= 0x7f); \
- })
+C_CTYPE_INLINE bool
+c_isalnum (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalnum
-#define c_isalnum(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
- })
-#else
-#undef c_isalnum
-#define c_isalnum(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || (__c >= 'A' && __c <= 'Z') \
- || (__c >= 'a' && __c <= 'z')); \
- })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isalpha (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_LOWER:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalpha
-#define c_isalpha(c) \
- ({ int __c = (c); \
- ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
- })
-#else
-#undef c_isalpha
-#define c_isalpha(c) \
- ({ int __c = (c); \
- ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
- })
-#endif
-#endif
+/* The function isascii is not locale dependent.
+ Its use in EBCDIC is questionable. */
+C_CTYPE_INLINE bool
+c_isascii (int c)
+{
+ switch (c)
+ {
+ case ' ':
+ _C_CTYPE_CNTRL:
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_PUNCT:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#undef c_isblank
-#define c_isblank(c) \
- ({ int __c = (c); \
- (__c == ' ' || __c == '\t'); \
- })
+C_CTYPE_INLINE bool
+c_isblank (int c)
+{
+ return c == ' ' || c == '\t';
+}
-#if C_CTYPE_ASCII
-#undef c_iscntrl
-#define c_iscntrl(c) \
- ({ int __c = (c); \
- ((__c & ~0x1f) == 0 || __c == 0x7f); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_iscntrl (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_CNTRL:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_DIGITS
-#undef c_isdigit
-#define c_isdigit(c) \
- ({ int __c = (c); \
- (__c >= '0' && __c <= '9'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isdigit (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_islower
-#define c_islower(c) \
- ({ int __c = (c); \
- (__c >= 'a' && __c <= 'z'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isgraph (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_PUNCT:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_ASCII
-#undef c_isgraph
-#define c_isgraph(c) \
- ({ int __c = (c); \
- (__c >= '!' && __c <= '~'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_islower (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_LOWER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_ASCII
-#undef c_isprint
-#define c_isprint(c) \
- ({ int __c = (c); \
- (__c >= ' ' && __c <= '~'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isprint (int c)
+{
+ switch (c)
+ {
+ case ' ':
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_PUNCT:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_ASCII
-#undef c_ispunct
-#define c_ispunct(c) \
- ({ int _c = (c); \
- (c_isgraph (_c) && ! c_isalnum (_c)); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_ispunct (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_PUNCT:
+ return true;
+ default:
+ return false;
+ }
+}
-#undef c_isspace
-#define c_isspace(c) \
- ({ int __c = (c); \
- (__c == ' ' || __c == '\t' \
- || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
- })
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-#undef c_isupper
-#define c_isupper(c) \
- ({ int __c = (c); \
- (__c >= 'A' && __c <= 'Z'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isspace (int c)
+{
+ switch (c)
+ {
+ case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isxdigit
-#define c_isxdigit(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
- })
-#else
-#undef c_isxdigit
-#define c_isxdigit(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || (__c >= 'A' && __c <= 'F') \
- || (__c >= 'a' && __c <= 'f')); \
- })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isupper (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_tolower
-#define c_tolower(c) \
- ({ int __c = (c); \
- (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
- })
-#undef c_toupper
-#define c_toupper(c) \
- ({ int __c = (c); \
- (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isxdigit (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_A_THRU_F:
+ return true;
+ default:
+ return false;
+ }
+}
-#endif /* optimizing for speed */
+C_CTYPE_INLINE int
+c_tolower (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_UPPER:
+ return c - 'A' + 'a';
+ default:
+ return c;
+ }
+}
+C_CTYPE_INLINE int
+c_toupper (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_LOWER:
+ return c - 'a' + 'A';
+ default:
+ return c;
+ }
+}
#ifdef __cplusplus
}
#endif
+_GL_INLINE_HEADER_END
+
#endif /* C_CTYPE_H */
diff --git a/gettext-tools/gnulib-lib/c-strcase.h b/gettext-tools/gnulib-lib/c-strcase.h
index 8e66044..f25bcca 100644
--- a/gettext-tools/gnulib-lib/c-strcase.h
+++ b/gettext-tools/gnulib-lib/c-strcase.h
@@ -1,5 +1,5 @@
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/c-strcasecmp.c b/gettext-tools/gnulib-lib/c-strcasecmp.c
index b9b26a4..6deb6d1 100644
--- a/gettext-tools/gnulib-lib/c-strcasecmp.c
+++ b/gettext-tools/gnulib-lib/c-strcasecmp.c
@@ -1,5 +1,5 @@
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/c-strcaseeq.h b/gettext-tools/gnulib-lib/c-strcaseeq.h
index 5139a30..28dc55e 100644
--- a/gettext-tools/gnulib-lib/c-strcaseeq.h
+++ b/gettext-tools/gnulib-lib/c-strcaseeq.h
@@ -1,5 +1,5 @@
/* Optimized case-insensitive string comparison in C locale.
- Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
@@ -33,9 +33,6 @@
# if C_CTYPE_ASCII
# define CASEEQ(other,upper) \
(c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper))
-# elif C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-# define CASEEQ(other,upper) \
- (c_isupper (upper) ? (other) == (upper) || (other) == (upper) - 'A' + 'a' : (other) == (upper))
# else
# define CASEEQ(other,upper) \
(c_toupper (other) == (upper))
diff --git a/gettext-tools/gnulib-lib/c-strcasestr.c b/gettext-tools/gnulib-lib/c-strcasestr.c
index 12e5503..cffece8 100644
--- a/gettext-tools/gnulib-lib/c-strcasestr.c
+++ b/gettext-tools/gnulib-lib/c-strcasestr.c
@@ -1,5 +1,5 @@
/* c-strcasestr.c -- case insensitive substring search in C locale
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/c-strcasestr.h b/gettext-tools/gnulib-lib/c-strcasestr.h
index 3b6ceb9..3084cd6 100644
--- a/gettext-tools/gnulib-lib/c-strcasestr.h
+++ b/gettext-tools/gnulib-lib/c-strcasestr.h
@@ -1,5 +1,5 @@
/* Case-insensitive searching in a string in C locale.
- Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/c-strncasecmp.c b/gettext-tools/gnulib-lib/c-strncasecmp.c
index 972eb80..b98e368 100644
--- a/gettext-tools/gnulib-lib/c-strncasecmp.c
+++ b/gettext-tools/gnulib-lib/c-strncasecmp.c
@@ -1,5 +1,5 @@
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/c-strstr.c b/gettext-tools/gnulib-lib/c-strstr.c
index c13cde2..c8bebe6 100644
--- a/gettext-tools/gnulib-lib/c-strstr.c
+++ b/gettext-tools/gnulib-lib/c-strstr.c
@@ -1,5 +1,5 @@
/* c-strstr.c -- substring search in C locale
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/c-strstr.h b/gettext-tools/gnulib-lib/c-strstr.h
index bc7378b..4d44197 100644
--- a/gettext-tools/gnulib-lib/c-strstr.h
+++ b/gettext-tools/gnulib-lib/c-strstr.h
@@ -1,5 +1,5 @@
/* Searching in a string.
- Copyright (C) 2001-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/canonicalize-lgpl.c b/gettext-tools/gnulib-lib/canonicalize-lgpl.c
index 902380f..1c9f2ee 100644
--- a/gettext-tools/gnulib-lib/canonicalize-lgpl.c
+++ b/gettext-tools/gnulib-lib/canonicalize-lgpl.c
@@ -1,5 +1,5 @@
/* Return the canonical absolute name of a given file.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/careadlinkat.c b/gettext-tools/gnulib-lib/careadlinkat.c
index b36fea2..f2f5da2 100644
--- a/gettext-tools/gnulib-lib/careadlinkat.c
+++ b/gettext-tools/gnulib-lib/careadlinkat.c
@@ -1,6 +1,6 @@
/* Read symbolic links into a buffer without size limitation, relative to fd.
- Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/careadlinkat.h b/gettext-tools/gnulib-lib/careadlinkat.h
index 704f815..4eb9fcc 100644
--- a/gettext-tools/gnulib-lib/careadlinkat.h
+++ b/gettext-tools/gnulib-lib/careadlinkat.h
@@ -1,6 +1,6 @@
/* Read symbolic links into a buffer without size limitation, relative to fd.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/classpath.c b/gettext-tools/gnulib-lib/classpath.c
index 0d18bf5..2a57de2 100644
--- a/gettext-tools/gnulib-lib/classpath.c
+++ b/gettext-tools/gnulib-lib/classpath.c
@@ -1,5 +1,5 @@
/* Java CLASSPATH handling.
- Copyright (C) 2001-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/classpath.h b/gettext-tools/gnulib-lib/classpath.h
index ae8b0cf..f34cdc7 100644
--- a/gettext-tools/gnulib-lib/classpath.h
+++ b/gettext-tools/gnulib-lib/classpath.h
@@ -1,5 +1,5 @@
/* Java CLASSPATH handling.
- Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/clean-temp.c b/gettext-tools/gnulib-lib/clean-temp.c
index 057700a..d388464 100644
--- a/gettext-tools/gnulib-lib/clean-temp.c
+++ b/gettext-tools/gnulib-lib/clean-temp.c
@@ -1,5 +1,5 @@
/* Temporary directories and temporary files with automatic cleanup.
- Copyright (C) 2001, 2003, 2006-2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001, 2003, 2006-2007, 2009-2015 Free Software Foundation,
Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
@@ -575,6 +575,9 @@ static bool
supports_delete_on_close ()
{
static int known; /* 1 = yes, -1 = no, 0 = unknown */
+ /* M4 wants to close and later reopen a temporary file, so
+ delete-on-close must not be used. */
+ known = -1;
if (!known)
{
OSVERSIONINFO v;
diff --git a/gettext-tools/gnulib-lib/clean-temp.h b/gettext-tools/gnulib-lib/clean-temp.h
index 2e01dd7..b730cd7 100644
--- a/gettext-tools/gnulib-lib/clean-temp.h
+++ b/gettext-tools/gnulib-lib/clean-temp.h
@@ -1,5 +1,5 @@
/* Temporary directories and temporary files with automatic cleanup.
- Copyright (C) 2006, 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/cloexec.c b/gettext-tools/gnulib-lib/cloexec.c
index 48a0c97..29d1a38 100644
--- a/gettext-tools/gnulib-lib/cloexec.c
+++ b/gettext-tools/gnulib-lib/cloexec.c
@@ -1,6 +1,6 @@
/* closexec.c - set or clear the close-on-exec descriptor flag
- Copyright (C) 1991, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1991, 2004-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/cloexec.h b/gettext-tools/gnulib-lib/cloexec.h
index 6c442dc..ef5bacc 100644
--- a/gettext-tools/gnulib-lib/cloexec.h
+++ b/gettext-tools/gnulib-lib/cloexec.h
@@ -1,6 +1,6 @@
/* closexec.c - set or clear the close-on-exec descriptor flag
- Copyright (C) 2004, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/close.c b/gettext-tools/gnulib-lib/close.c
index d7dcb3f..54d1f71 100644
--- a/gettext-tools/gnulib-lib/close.c
+++ b/gettext-tools/gnulib-lib/close.c
@@ -1,5 +1,5 @@
/* close replacement.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/closedir.c b/gettext-tools/gnulib-lib/closedir.c
index 940c6f9..f80843f 100644
--- a/gettext-tools/gnulib-lib/closedir.c
+++ b/gettext-tools/gnulib-lib/closedir.c
@@ -1,5 +1,5 @@
/* Stop reading the entries of a directory.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/closeout.c b/gettext-tools/gnulib-lib/closeout.c
index 20b021d..a790176 100644
--- a/gettext-tools/gnulib-lib/closeout.c
+++ b/gettext-tools/gnulib-lib/closeout.c
@@ -1,5 +1,5 @@
/* closeout.c - close standard output and standard error
- Copyright (C) 1998-2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1998-2007, 2012, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/closeout.h b/gettext-tools/gnulib-lib/closeout.h
index 33e309e..896e22f 100644
--- a/gettext-tools/gnulib-lib/closeout.h
+++ b/gettext-tools/gnulib-lib/closeout.h
@@ -1,5 +1,5 @@
/* Close standard output and standard error.
- Copyright (C) 1998-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1998-2003, 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/concat-filename.c b/gettext-tools/gnulib-lib/concat-filename.c
index 661312a..1c4e77a 100644
--- a/gettext-tools/gnulib-lib/concat-filename.c
+++ b/gettext-tools/gnulib-lib/concat-filename.c
@@ -1,5 +1,5 @@
/* Construct a full filename from a directory and a relative filename.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/concat-filename.h b/gettext-tools/gnulib-lib/concat-filename.h
index 88f1cf7..e308744 100644
--- a/gettext-tools/gnulib-lib/concat-filename.h
+++ b/gettext-tools/gnulib-lib/concat-filename.h
@@ -1,5 +1,5 @@
/* Construct a full filename from a directory and a relative filename.
- Copyright (C) 2001-2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/config.charset b/gettext-tools/gnulib-lib/config.charset
index 289bc44..f06d7e9 100644
--- a/gettext-tools/gnulib-lib/config.charset
+++ b/gettext-tools/gnulib-lib/config.charset
@@ -1,7 +1,7 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
-# Copyright (C) 2000-2004, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2004, 2006-2015 Free Software Foundation, Inc.
#
# 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
@@ -348,12 +348,10 @@ case "$os" in
#echo "sun_eu_greek ?" # what is this?
echo "UTF-8 UTF-8"
;;
- freebsd* | os2*)
+ freebsd*)
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
- # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
- # reuse FreeBSD's locale data for OS/2.
echo "C ASCII"
echo "US-ASCII ASCII"
for l in la_LN lt_LN; do
diff --git a/gettext-tools/gnulib-lib/copy-acl.c b/gettext-tools/gnulib-lib/copy-acl.c
index eebb359..2be8c9e 100644
--- a/gettext-tools/gnulib-lib/copy-acl.c
+++ b/gettext-tools/gnulib-lib/copy-acl.c
@@ -1,6 +1,6 @@
-/* copy-acl.c - copy access control list from one file to another file
+/* Copy access control list from one file to file. -*- coding: utf-8 -*-
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/copy-file.c b/gettext-tools/gnulib-lib/copy-file.c
index 488cc94..90e377c 100644
--- a/gettext-tools/gnulib-lib/copy-file.c
+++ b/gettext-tools/gnulib-lib/copy-file.c
@@ -1,5 +1,5 @@
/* Copying of files.
- Copyright (C) 2001-2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -101,6 +101,7 @@ qcopy_file_preserving (const char *src_filename, const char *dest_filename)
}
free (buf);
+ buf = NULL; /* To avoid double free in error case. */
#if !USE_ACL
if (close (dest_fd) < 0)
@@ -174,6 +175,7 @@ qcopy_file_preserving (const char *src_filename, const char *dest_filename)
error_src:
close (src_fd);
error:
+ free (buf);
return err;
}
diff --git a/gettext-tools/gnulib-lib/copy-file.h b/gettext-tools/gnulib-lib/copy-file.h
index 0fa24be..cdc55e5 100644
--- a/gettext-tools/gnulib-lib/copy-file.h
+++ b/gettext-tools/gnulib-lib/copy-file.h
@@ -1,5 +1,5 @@
/* Copying of files.
- Copyright (C) 2001-2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/csharpcomp.c b/gettext-tools/gnulib-lib/csharpcomp.c
index 42d34fa..4628571 100644
--- a/gettext-tools/gnulib-lib/csharpcomp.c
+++ b/gettext-tools/gnulib-lib/csharpcomp.c
@@ -1,5 +1,5 @@
/* Compile a C# program.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/csharpcomp.h b/gettext-tools/gnulib-lib/csharpcomp.h
index ae31bfe..5bb2d2b 100644
--- a/gettext-tools/gnulib-lib/csharpcomp.h
+++ b/gettext-tools/gnulib-lib/csharpcomp.h
@@ -1,5 +1,5 @@
/* Compile a C# program.
- Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/csharpexec.c b/gettext-tools/gnulib-lib/csharpexec.c
index 138e92b..a414d6c 100644
--- a/gettext-tools/gnulib-lib/csharpexec.c
+++ b/gettext-tools/gnulib-lib/csharpexec.c
@@ -1,5 +1,5 @@
/* Execute a C# program.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/csharpexec.h b/gettext-tools/gnulib-lib/csharpexec.h
index bfc66fa..cc62cdc 100644
--- a/gettext-tools/gnulib-lib/csharpexec.h
+++ b/gettext-tools/gnulib-lib/csharpexec.h
@@ -1,5 +1,5 @@
/* Execute a C# program.
- Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/diffseq.h b/gettext-tools/gnulib-lib/diffseq.h
index 02ef9f2..2a02651 100644
--- a/gettext-tools/gnulib-lib/diffseq.h
+++ b/gettext-tools/gnulib-lib/diffseq.h
@@ -1,6 +1,6 @@
/* Analyze differences between two vectors.
- Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2014 Free Software
+ Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -41,8 +41,8 @@
EQUAL A two-argument macro that tests two elements for
equality.
OFFSET A signed integer type sufficient to hold the
- difference between two indices. Usually
- something like ssize_t.
+ difference between two indices. Usually
+ something like ptrdiff_t.
EXTRA_CONTEXT_FIELDS Declarations of fields for 'struct context'.
NOTE_DELETE(ctxt, xoff) Record the removal of the object xvec[xoff].
NOTE_INSERT(ctxt, yoff) Record the insertion of the object yvec[yoff].
diff --git a/gettext-tools/gnulib-lib/dirent-private.h b/gettext-tools/gnulib-lib/dirent-private.h
index 83531a1..aa01f60 100644
--- a/gettext-tools/gnulib-lib/dirent-private.h
+++ b/gettext-tools/gnulib-lib/dirent-private.h
@@ -1,5 +1,5 @@
/* Private details of the DIR type.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/dirent.in.h b/gettext-tools/gnulib-lib/dirent.in.h
index 4822d6b..154d268 100644
--- a/gettext-tools/gnulib-lib/dirent.in.h
+++ b/gettext-tools/gnulib-lib/dirent.in.h
@@ -1,5 +1,5 @@
/* A GNU-like <dirent.h>.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
@@ -77,6 +77,7 @@ typedef struct gl_directory DIR;
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef opendir
# define opendir rpl_opendir
+# define GNULIB_defined_opendir 1
# endif
_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
@@ -128,6 +129,7 @@ _GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef closedir
# define closedir rpl_closedir
+# define GNULIB_defined_closedir 1
# endif
_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
diff --git a/gettext-tools/gnulib-lib/dosname.h b/gettext-tools/gnulib-lib/dosname.h
index b92adfa..893baf6 100644
--- a/gettext-tools/gnulib-lib/dosname.h
+++ b/gettext-tools/gnulib-lib/dosname.h
@@ -1,6 +1,6 @@
/* File names on MS-DOS/Windows systems.
- Copyright (C) 2000-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/dup-safer-flag.c b/gettext-tools/gnulib-lib/dup-safer-flag.c
index 2d860fb..f4610ee 100644
--- a/gettext-tools/gnulib-lib/dup-safer-flag.c
+++ b/gettext-tools/gnulib-lib/dup-safer-flag.c
@@ -1,7 +1,7 @@
/* Duplicate a file descriptor result, avoiding clobbering
STD{IN,OUT,ERR}_FILENO, with specific flags.
- Copyright (C) 2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/dup-safer.c b/gettext-tools/gnulib-lib/dup-safer.c
index 8df3cda..c6436cd 100644
--- a/gettext-tools/gnulib-lib/dup-safer.c
+++ b/gettext-tools/gnulib-lib/dup-safer.c
@@ -1,6 +1,6 @@
/* Invoke dup, but avoid some glitches.
- Copyright (C) 2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/dup2.c b/gettext-tools/gnulib-lib/dup2.c
index 7de6805..0e13214 100644
--- a/gettext-tools/gnulib-lib/dup2.c
+++ b/gettext-tools/gnulib-lib/dup2.c
@@ -1,6 +1,6 @@
/* Duplicate an open file descriptor to a specified file descriptor.
- Copyright (C) 1999, 2004-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2004-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/errno.in.h b/gettext-tools/gnulib-lib/errno.in.h
index 832afc8..affbb97 100644
--- a/gettext-tools/gnulib-lib/errno.in.h
+++ b/gettext-tools/gnulib-lib/errno.in.h
@@ -1,6 +1,6 @@
/* A POSIX-like <errno.h>.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/error-progname.c b/gettext-tools/gnulib-lib/error-progname.c
index 189bbd5..525d11f 100644
--- a/gettext-tools/gnulib-lib/error-progname.c
+++ b/gettext-tools/gnulib-lib/error-progname.c
@@ -1,5 +1,5 @@
/* Use of program name in error-reporting functions.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/error-progname.h b/gettext-tools/gnulib-lib/error-progname.h
index 77ae822..f16107a 100644
--- a/gettext-tools/gnulib-lib/error-progname.h
+++ b/gettext-tools/gnulib-lib/error-progname.h
@@ -1,5 +1,5 @@
/* Use of program name in error-reporting functions.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/error.c b/gettext-tools/gnulib-lib/error.c
index 18ff5db..0ac7695 100644
--- a/gettext-tools/gnulib-lib/error.c
+++ b/gettext-tools/gnulib-lib/error.c
@@ -1,5 +1,5 @@
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2007, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@ -379,10 +379,10 @@ error_at_line (int status, int errnum, const char *file_name,
}
#if _LIBC
- __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
+ __fxprintf (NULL, file_name != NULL ? "%s:%u: " : " ",
file_name, line_number);
#else
- fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
+ fprintf (stderr, file_name != NULL ? "%s:%u: " : " ",
file_name, line_number);
#endif
diff --git a/gettext-tools/gnulib-lib/error.h b/gettext-tools/gnulib-lib/error.h
index 873d9aa..c5b3736 100644
--- a/gettext-tools/gnulib-lib/error.h
+++ b/gettext-tools/gnulib-lib/error.h
@@ -1,5 +1,5 @@
/* Declaration for error-reporting function
- Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
+ Copyright (C) 1995-1997, 2003, 2006, 2008-2015 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
@@ -31,6 +31,16 @@
# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
#endif
+/* On mingw, the flavor of printf depends on whether the extensions module
+ * is in use; the check for <stdio.h> determines the witness macro. */
+#ifndef _GL_ATTRIBUTE_SPEC_PRINTF
+# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__
+# else
+# define _GL_ATTRIBUTE_SPEC_PRINTF __printf__
+# endif
+#endif
+
#if GNULIB_REPLACE_ERROR
# undef error_print_progname
# undef error_message_count
@@ -49,11 +59,11 @@ extern "C" {
If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */
extern void error (int __status, int __errnum, const char *__format, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4));
extern void error_at_line (int __status, int __errnum, const char *__fname,
unsigned int __lineno, const char *__format, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6));
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6));
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
diff --git a/gettext-tools/gnulib-lib/execute.c b/gettext-tools/gnulib-lib/execute.c
index 489abf5..7553244 100644
--- a/gettext-tools/gnulib-lib/execute.c
+++ b/gettext-tools/gnulib-lib/execute.c
@@ -1,5 +1,5 @@
/* Creation of autonomous subprocesses.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/execute.h b/gettext-tools/gnulib-lib/execute.h
index 8bc0285..33f2ec6 100644
--- a/gettext-tools/gnulib-lib/execute.h
+++ b/gettext-tools/gnulib-lib/execute.h
@@ -1,5 +1,5 @@
/* Creation of autonomous subprocesses.
- Copyright (C) 2001-2003, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/exitfail.c b/gettext-tools/gnulib-lib/exitfail.c
index 609afc5..8035b89 100644
--- a/gettext-tools/gnulib-lib/exitfail.c
+++ b/gettext-tools/gnulib-lib/exitfail.c
@@ -1,6 +1,6 @@
/* Failure exit status
- Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/exitfail.h b/gettext-tools/gnulib-lib/exitfail.h
index 2b1daca..5f09786 100644
--- a/gettext-tools/gnulib-lib/exitfail.h
+++ b/gettext-tools/gnulib-lib/exitfail.h
@@ -1,6 +1,6 @@
/* Failure exit status
- Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fatal-signal.c b/gettext-tools/gnulib-lib/fatal-signal.c
index 9a6f5f1..5ed9c4b 100644
--- a/gettext-tools/gnulib-lib/fatal-signal.c
+++ b/gettext-tools/gnulib-lib/fatal-signal.c
@@ -1,5 +1,5 @@
/* Emergency actions in case of a fatal signal.
- Copyright (C) 2003-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fatal-signal.h b/gettext-tools/gnulib-lib/fatal-signal.h
index de98317..2037cef 100644
--- a/gettext-tools/gnulib-lib/fatal-signal.h
+++ b/gettext-tools/gnulib-lib/fatal-signal.h
@@ -1,5 +1,5 @@
/* Emergency actions in case of a fatal signal.
- Copyright (C) 2003-2004, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fcntl.c b/gettext-tools/gnulib-lib/fcntl.c
index 1e35dd1..23b73e9 100644
--- a/gettext-tools/gnulib-lib/fcntl.c
+++ b/gettext-tools/gnulib-lib/fcntl.c
@@ -1,6 +1,6 @@
/* Provide file descriptor control.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fcntl.in.h b/gettext-tools/gnulib-lib/fcntl.in.h
index f63cd6a..e288018 100644
--- a/gettext-tools/gnulib-lib/fcntl.in.h
+++ b/gettext-tools/gnulib-lib/fcntl.in.h
@@ -1,6 +1,6 @@
/* Like <fcntl.h>, but with non-working flags defined to 0.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fd-hook.c b/gettext-tools/gnulib-lib/fd-hook.c
index 0171cc6..b1488c4 100644
--- a/gettext-tools/gnulib-lib/fd-hook.c
+++ b/gettext-tools/gnulib-lib/fd-hook.c
@@ -1,5 +1,5 @@
/* Hook for making making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/fd-hook.h b/gettext-tools/gnulib-lib/fd-hook.h
index 1aa264e..bdb9aef 100644
--- a/gettext-tools/gnulib-lib/fd-hook.h
+++ b/gettext-tools/gnulib-lib/fd-hook.h
@@ -1,5 +1,5 @@
/* Hook for making making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/fd-ostream.c b/gettext-tools/gnulib-lib/fd-ostream.c
index 783fecf..7d72ad2 100644
--- a/gettext-tools/gnulib-lib/fd-ostream.c
+++ b/gettext-tools/gnulib-lib/fd-ostream.c
@@ -2,7 +2,7 @@
#line 1 "fd-ostream.oo.c"
/* Output stream referring to a file descriptor.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fd-ostream.h b/gettext-tools/gnulib-lib/fd-ostream.h
index c33f6fb..c60e725 100644
--- a/gettext-tools/gnulib-lib/fd-ostream.h
+++ b/gettext-tools/gnulib-lib/fd-ostream.h
@@ -2,7 +2,7 @@
#line 1 "fd-ostream.oo.h"
/* Output stream referring to a file descriptor.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fd-ostream.oo.c b/gettext-tools/gnulib-lib/fd-ostream.oo.c
index 0c8978f..64b9597 100644
--- a/gettext-tools/gnulib-lib/fd-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/fd-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream referring to a file descriptor.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fd-ostream.oo.h b/gettext-tools/gnulib-lib/fd-ostream.oo.h
index bd1f0b4..155b627 100644
--- a/gettext-tools/gnulib-lib/fd-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/fd-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream referring to a file descriptor.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fd-safer-flag.c b/gettext-tools/gnulib-lib/fd-safer-flag.c
index 1701100..b24861d 100644
--- a/gettext-tools/gnulib-lib/fd-safer-flag.c
+++ b/gettext-tools/gnulib-lib/fd-safer-flag.c
@@ -1,7 +1,7 @@
/* Adjust a file descriptor result so that it avoids clobbering
STD{IN,OUT,ERR}_FILENO, with specific flags.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fd-safer.c b/gettext-tools/gnulib-lib/fd-safer.c
index 148f735..6c1fb2b 100644
--- a/gettext-tools/gnulib-lib/fd-safer.c
+++ b/gettext-tools/gnulib-lib/fd-safer.c
@@ -1,6 +1,6 @@
/* Return a safer copy of a file descriptor.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/file-ostream.c b/gettext-tools/gnulib-lib/file-ostream.c
index 7a7c5d5..b299429 100644
--- a/gettext-tools/gnulib-lib/file-ostream.c
+++ b/gettext-tools/gnulib-lib/file-ostream.c
@@ -2,7 +2,7 @@
#line 1 "file-ostream.oo.c"
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/file-ostream.h b/gettext-tools/gnulib-lib/file-ostream.h
index 44e794c..f156871 100644
--- a/gettext-tools/gnulib-lib/file-ostream.h
+++ b/gettext-tools/gnulib-lib/file-ostream.h
@@ -2,7 +2,7 @@
#line 1 "file-ostream.oo.h"
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/file-ostream.oo.c b/gettext-tools/gnulib-lib/file-ostream.oo.c
index e5884bc..a500825 100644
--- a/gettext-tools/gnulib-lib/file-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/file-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/file-ostream.oo.h b/gettext-tools/gnulib-lib/file-ostream.oo.h
index 6da1dbd..395cef7 100644
--- a/gettext-tools/gnulib-lib/file-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/file-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/filename.h b/gettext-tools/gnulib-lib/filename.h
index 96dbaaa..4576993 100644
--- a/gettext-tools/gnulib-lib/filename.h
+++ b/gettext-tools/gnulib-lib/filename.h
@@ -1,5 +1,5 @@
/* Basic filename support macros.
- Copyright (C) 2001-2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/findprog.c b/gettext-tools/gnulib-lib/findprog.c
index 523d251..731a04e 100644
--- a/gettext-tools/gnulib-lib/findprog.c
+++ b/gettext-tools/gnulib-lib/findprog.c
@@ -1,5 +1,5 @@
/* Locating a program in PATH.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/findprog.h b/gettext-tools/gnulib-lib/findprog.h
index 90362b6..3bd0653 100644
--- a/gettext-tools/gnulib-lib/findprog.h
+++ b/gettext-tools/gnulib-lib/findprog.h
@@ -1,5 +1,5 @@
/* Locating a program in PATH.
- Copyright (C) 2001-2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/float+.h b/gettext-tools/gnulib-lib/float+.h
index 5ff1511..e6aaa92 100644
--- a/gettext-tools/gnulib-lib/float+.h
+++ b/gettext-tools/gnulib-lib/float+.h
@@ -1,5 +1,5 @@
/* Supplemental information about the floating-point formats.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/float.c b/gettext-tools/gnulib-lib/float.c
index b7c321d..dac9f88 100644
--- a/gettext-tools/gnulib-lib/float.c
+++ b/gettext-tools/gnulib-lib/float.c
@@ -1,5 +1,5 @@
/* Auxiliary definitions for <float.h>.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/float.in.h b/gettext-tools/gnulib-lib/float.in.h
index db809f8..3bb3826 100644
--- a/gettext-tools/gnulib-lib/float.in.h
+++ b/gettext-tools/gnulib-lib/float.in.h
@@ -1,6 +1,6 @@
/* A correct <float.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fnmatch.c b/gettext-tools/gnulib-lib/fnmatch.c
index 5b73973..4c58844 100644
--- a/gettext-tools/gnulib-lib/fnmatch.c
+++ b/gettext-tools/gnulib-lib/fnmatch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-2007, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fnmatch.in.h b/gettext-tools/gnulib-lib/fnmatch.in.h
index d4cea65..eb5815a 100644
--- a/gettext-tools/gnulib-lib/fnmatch.in.h
+++ b/gettext-tools/gnulib-lib/fnmatch.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2014 Free
+/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2015 Free
Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/fnmatch_loop.c b/gettext-tools/gnulib-lib/fnmatch_loop.c
index b39918c..48e83c6 100644
--- a/gettext-tools/gnulib-lib/fnmatch_loop.c
+++ b/gettext-tools/gnulib-lib/fnmatch_loop.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-2006, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2006, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fopen.c b/gettext-tools/gnulib-lib/fopen.c
index 8fead5a..139ede2 100644
--- a/gettext-tools/gnulib-lib/fopen.c
+++ b/gettext-tools/gnulib-lib/fopen.c
@@ -1,5 +1,5 @@
/* Open a stream to a file.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fstat.c b/gettext-tools/gnulib-lib/fstat.c
index ffcda9f..7a0521f 100644
--- a/gettext-tools/gnulib-lib/fstat.c
+++ b/gettext-tools/gnulib-lib/fstat.c
@@ -1,5 +1,5 @@
/* fstat() replacement.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fstrcmp.c b/gettext-tools/gnulib-lib/fstrcmp.c
index 9c73904..d40e6ef 100644
--- a/gettext-tools/gnulib-lib/fstrcmp.c
+++ b/gettext-tools/gnulib-lib/fstrcmp.c
@@ -1,5 +1,5 @@
/* Functions to make fuzzy comparisons between strings
- Copyright (C) 1988-1989, 1992-1993, 1995, 2001-2003, 2006, 2008-2014 Free
+ Copyright (C) 1988-1989, 1992-1993, 1995, 2001-2003, 2006, 2008-2015 Free
Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -23,7 +23,9 @@
#include <string.h>
#include <stdbool.h>
+#include <stddef.h>
#include <stdio.h>
+#include <stdint.h>
#include <stdlib.h>
#include <limits.h>
@@ -32,20 +34,16 @@
#include "minmax.h"
#include "xalloc.h"
-#ifndef uintptr_t
-# define uintptr_t unsigned long
-#endif
-
#define ELEMENT char
#define EQUAL(x,y) ((x) == (y))
-#define OFFSET int
+#define OFFSET ptrdiff_t
#define EXTRA_CONTEXT_FIELDS \
/* The number of edits beyond which the computation can be aborted. */ \
- int edit_count_limit; \
+ ptrdiff_t edit_count_limit; \
/* The number of edits (= number of elements inserted, plus the number of \
elements deleted), temporarily minus edit_count_limit. */ \
- int edit_count;
+ ptrdiff_t edit_count;
#define NOTE_DELETE(ctxt, xoff) ctxt->edit_count++
#define NOTE_INSERT(ctxt, yoff) ctxt->edit_count++
#define EARLY_ABORT(ctxt) ctxt->edit_count > 0
@@ -61,8 +59,8 @@
already allocated memory, store the allocated memory per thread. Free
it only when the thread exits. */
-static gl_tls_key_t buffer_key; /* TLS key for a 'int *' */
-static gl_tls_key_t bufmax_key; /* TLS key for a 'size_t' */
+static gl_tls_key_t buffer_key; /* TLS key for a 'ptrdiff_t *' */
+static gl_tls_key_t bufmax_key; /* TLS key for a 'uintptr_t' */
static void
keys_init (void)
@@ -87,17 +85,22 @@ double
fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
{
struct context ctxt;
- int xvec_length = strlen (string1);
- int yvec_length = strlen (string2);
- int i;
+ size_t xvec_length = strlen (string1);
+ size_t yvec_length = strlen (string2);
+ size_t length_sum = xvec_length + yvec_length;
+ ptrdiff_t i;
- size_t fdiag_len;
- int *buffer;
- size_t bufmax;
+ ptrdiff_t fdiag_len;
+ ptrdiff_t *buffer;
+ uintptr_t bufmax;
/* short-circuit obvious comparisons */
if (xvec_length == 0 || yvec_length == 0) /* Prob: 1% */
- return (xvec_length == 0 && yvec_length == 0 ? 1.0 : 0.0);
+ return length_sum == 0;
+
+ if (! (xvec_length <= length_sum
+ && length_sum <= MIN (UINTPTR_MAX, PTRDIFF_MAX) - 3))
+ xalloc_die ();
if (lower_bound > 0)
{
@@ -117,9 +120,8 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
/ (xvec_length + yvec_length)
= 2 * min (xvec_length, yvec_length) / (xvec_length + yvec_length).
*/
- volatile double upper_bound =
- (double) (2 * MIN (xvec_length, yvec_length))
- / (xvec_length + yvec_length);
+ ptrdiff_t length_min = MIN (xvec_length, yvec_length);
+ volatile double upper_bound = 2.0 * length_min / length_sum;
if (upper_bound < lower_bound) /* Prob: 74% */
/* Return an arbitrary value < LOWER_BOUND. */
@@ -128,7 +130,7 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
#if CHAR_BIT <= 8
/* When X and Y are both small, avoid the overhead of setting up an
array of size 256. */
- if (xvec_length + yvec_length >= 20) /* Prob: 99% */
+ if (length_sum >= 20) /* Prob: 99% */
{
/* Compute a less quick upper bound.
Each edit is an insertion or deletion of a character, hence
@@ -148,8 +150,9 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
<= (xvec_length + yvec_length - sum_C | OCC(X,C) - OCC(Y,C) |)
/ (xvec_length + yvec_length).
*/
- int occ_diff[UCHAR_MAX + 1]; /* array C -> OCC(X,C) - OCC(Y,C) */
- int sum;
+ ptrdiff_t occ_diff[UCHAR_MAX + 1]; /* array C -> OCC(X,C) - OCC(Y,C) */
+ ptrdiff_t sum;
+ double dsum;
/* Determine the occurrence counts in X. */
memset (occ_diff, 0, sizeof (occ_diff));
@@ -162,11 +165,12 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
sum = 0;
for (i = 0; i <= UCHAR_MAX; i++)
{
- int d = occ_diff[i];
+ ptrdiff_t d = occ_diff[i];
sum += (d >= 0 ? d : -d);
}
- upper_bound = 1.0 - (double) sum / (xvec_length + yvec_length);
+ dsum = sum;
+ upper_bound = 1.0 - dsum / length_sum;
if (upper_bound < lower_bound) /* Prob: 66% */
/* Return an arbitrary value < LOWER_BOUND. */
@@ -180,10 +184,10 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
ctxt.yvec = string2;
/* Allocate memory for fdiag and bdiag from a thread-local pool. */
- fdiag_len = xvec_length + yvec_length + 3;
+ fdiag_len = length_sum + 3;
gl_once (keys_init_once, keys_init);
- buffer = (int *) gl_tls_get (buffer_key);
- bufmax = (size_t) (uintptr_t) gl_tls_get (bufmax_key);
+ buffer = gl_tls_get (buffer_key);
+ bufmax = (uintptr_t) gl_tls_get (bufmax_key);
if (fdiag_len > bufmax)
{
/* Need more memory. */
@@ -192,9 +196,8 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
bufmax = fdiag_len;
/* Calling xrealloc would be a waste: buffer's contents does not need
to be preserved. */
- if (buffer != NULL)
- free (buffer);
- buffer = (int *) xnmalloc (bufmax, 2 * sizeof (int));
+ free (buffer);
+ buffer = xnmalloc (bufmax, 2 * sizeof *buffer);
gl_tls_set (buffer_key, buffer);
gl_tls_set (bufmax_key, (void *) (uintptr_t) bufmax);
}
@@ -213,7 +216,7 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
rounding errors. */
ctxt.edit_count_limit =
(lower_bound < 1.0
- ? (int) ((xvec_length + yvec_length) * (1.0 - lower_bound + 0.000001))
+ ? (ptrdiff_t) (length_sum * (1.0 - lower_bound + 0.000001))
: 0);
/* Now do the main comparison algorithm */
diff --git a/gettext-tools/gnulib-lib/fstrcmp.h b/gettext-tools/gnulib-lib/fstrcmp.h
index e3d24fe..b2a240f 100644
--- a/gettext-tools/gnulib-lib/fstrcmp.h
+++ b/gettext-tools/gnulib-lib/fstrcmp.h
@@ -1,5 +1,5 @@
/* Fuzzy string comparison.
- Copyright (C) 1995, 2000, 2002-2003, 2006, 2008-2014 Free Software
+ Copyright (C) 1995, 2000, 2002-2003, 2006, 2008-2015 Free Software
Foundation, Inc.
This file was written by Peter Miller <pmiller@agso.gov.au>
diff --git a/gettext-tools/gnulib-lib/full-write.c b/gettext-tools/gnulib-lib/full-write.c
index b803677..027f77a 100644
--- a/gettext-tools/gnulib-lib/full-write.c
+++ b/gettext-tools/gnulib-lib/full-write.c
@@ -1,6 +1,6 @@
/* An interface to read and write that retries (if necessary) until complete.
- Copyright (C) 1993-1994, 1997-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 1997-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/full-write.h b/gettext-tools/gnulib-lib/full-write.h
index 589f6e1..b32b53d 100644
--- a/gettext-tools/gnulib-lib/full-write.h
+++ b/gettext-tools/gnulib-lib/full-write.h
@@ -1,6 +1,6 @@
/* An interface to write() that writes all it is asked to write.
- Copyright (C) 2002-2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/fwriteerror.c b/gettext-tools/gnulib-lib/fwriteerror.c
index 9d62e5c..8e7c3ea 100644
--- a/gettext-tools/gnulib-lib/fwriteerror.c
+++ b/gettext-tools/gnulib-lib/fwriteerror.c
@@ -1,5 +1,5 @@
/* Detect write error on a stream.
- Copyright (C) 2003-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/fwriteerror.h b/gettext-tools/gnulib-lib/fwriteerror.h
index 6f7fedc..438f453 100644
--- a/gettext-tools/gnulib-lib/fwriteerror.h
+++ b/gettext-tools/gnulib-lib/fwriteerror.h
@@ -1,5 +1,5 @@
/* Detect write error on a stream.
- Copyright (C) 2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gcd.c b/gettext-tools/gnulib-lib/gcd.c
index e61b62e..414005e 100644
--- a/gettext-tools/gnulib-lib/gcd.c
+++ b/gettext-tools/gnulib-lib/gcd.c
@@ -1,5 +1,5 @@
/* Arithmetic.
- Copyright (C) 2001-2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gcd.h b/gettext-tools/gnulib-lib/gcd.h
index c356a66..56ce191 100644
--- a/gettext-tools/gnulib-lib/gcd.h
+++ b/gettext-tools/gnulib-lib/gcd.h
@@ -1,5 +1,5 @@
/* Arithmetic.
- Copyright (C) 2001-2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/get-permissions.c b/gettext-tools/gnulib-lib/get-permissions.c
new file mode 100644
index 0000000..9dfb076
--- /dev/null
+++ b/gettext-tools/gnulib-lib/get-permissions.c
@@ -0,0 +1,291 @@
+/* Get permissions of a file. -*- coding: utf-8 -*-
+
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+
+ Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
+
+#include <config.h>
+
+#include <string.h>
+#include "acl.h"
+
+#include "acl-internal.h"
+
+/* Read the permissions of a file into CTX. If DESC is a valid file descriptor,
+ use file descriptor operations, else use filename based operations on NAME.
+ MODE is the file mode obtained from a previous stat call.
+ Return 0 if successful. Return -1 and set errno upon failure. */
+
+int
+get_permissions (const char *name, int desc, mode_t mode,
+ struct permission_context *ctx)
+{
+ memset (ctx, 0, sizeof *ctx);
+ ctx->mode = mode;
+
+#if USE_ACL && HAVE_ACL_GET_FILE
+ /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
+ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+# if !HAVE_ACL_TYPE_EXTENDED
+ /* Linux, FreeBSD, IRIX, Tru64 */
+
+ if (HAVE_ACL_GET_FD && desc != -1)
+ ctx->acl = acl_get_fd (desc);
+ else
+ ctx->acl = acl_get_file (name, ACL_TYPE_ACCESS);
+ if (ctx->acl == NULL)
+ return acl_errno_valid (errno) ? -1 : 0;
+
+ /* With POSIX ACLs, a file cannot have "no" acl; a file without
+ extended permissions has a "minimal" acl which is equivalent to the
+ file mode. */
+
+ if (S_ISDIR (mode))
+ {
+ ctx->default_acl = acl_get_file (name, ACL_TYPE_DEFAULT);
+ if (ctx->default_acl == NULL)
+ return -1;
+ }
+
+# if HAVE_ACL_TYPE_NFS4 /* FreeBSD */
+
+ /* TODO (see set_permissions). */
+
+# endif
+
+# else /* HAVE_ACL_TYPE_EXTENDED */
+ /* Mac OS X */
+
+ /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
+ and acl_get_file (name, ACL_TYPE_DEFAULT)
+ always return NULL / EINVAL. You have to use
+ acl_get_file (name, ACL_TYPE_EXTENDED)
+ or acl_get_fd (open (name, ...))
+ to retrieve an ACL.
+ On the other hand,
+ acl_set_file (name, ACL_TYPE_ACCESS, acl)
+ and acl_set_file (name, ACL_TYPE_DEFAULT, acl)
+ have the same effect as
+ acl_set_file (name, ACL_TYPE_EXTENDED, acl):
+ Each of these calls sets the file's ACL. */
+
+ if (HAVE_ACL_GET_FD && desc != -1)
+ ctx->acl = acl_get_fd (desc);
+ else
+ ctx->acl = acl_get_file (name, ACL_TYPE_EXTENDED);
+ if (ctx->acl == NULL)
+ return acl_errno_valid (errno) ? -1 : 0;
+
+# endif
+
+#elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+
+ /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
+ of Unixware. The acl() call returns the access and default ACL both
+ at once. */
+# ifdef ACE_GETACL
+ /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
+ file systems (whereas the other ones are used in UFS file systems).
+ There is an API
+ pathconf (name, _PC_ACL_ENABLED)
+ fpathconf (desc, _PC_ACL_ENABLED)
+ that allows to determine which of the two kinds of ACLs is supported
+ for the given file. But some file systems may implement this call
+ incorrectly, so better not use it.
+ When fetching the source ACL, we simply fetch both ACL types.
+ When setting the destination ACL, we try either ACL types, assuming
+ that the kernel will translate the ACL from one form to the other.
+ (See in <http://docs.sun.com/app/docs/doc/819-2241/6n4huc7ia?l=en&a=view>
+ the description of ENOTSUP.) */
+ for (;;)
+ {
+ int ret;
+
+ if (desc != -1)
+ ret = facl (desc, ACE_GETACLCNT, 0, NULL);
+ else
+ ret = acl (name, ACE_GETACLCNT, 0, NULL);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == EINVAL)
+ ret = 0;
+ else
+ return -1;
+ }
+ ctx->ace_count = ret;
+
+ if (ctx->ace_count == 0)
+ break;
+
+ ctx->ace_entries = (ace_t *) malloc (ctx->ace_count * sizeof (ace_t));
+ if (ctx->ace_entries == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+
+ if (desc != -1)
+ ret = facl (desc, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
+ else
+ ret = acl (name, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == EINVAL)
+ {
+ free (ctx->ace_entries);
+ ctx->ace_entries = NULL;
+ ctx->ace_count = 0;
+ break;
+ }
+ else
+ return -1;
+ }
+ if (ret <= ctx->ace_count)
+ {
+ ctx->ace_count = ret;
+ break;
+ }
+ /* Huh? The number of ACL entries has increased since the last call.
+ Repeat. */
+ free (ctx->ace_entries);
+ ctx->ace_entries = NULL;
+ }
+# endif
+
+ for (;;)
+ {
+ int ret;
+
+ if (desc != -1)
+ ret = facl (desc, GETACLCNT, 0, NULL);
+ else
+ ret = acl (name, GETACLCNT, 0, NULL);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
+ ret = 0;
+ else
+ return -1;
+ }
+ ctx->count = ret;
+
+ if (ctx->count == 0)
+ break;
+
+ ctx->entries = (aclent_t *) malloc (ctx->count * sizeof (aclent_t));
+ if (ctx->entries == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+
+ if (desc != -1)
+ ret = facl (desc, GETACL, ctx->count, ctx->entries);
+ else
+ ret = acl (name, GETACL, ctx->count, ctx->entries);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
+ {
+ free (ctx->entries);
+ ctx->entries = NULL;
+ ctx->count = 0;
+ break;
+ }
+ else
+ return -1;
+ }
+ if (ret <= ctx->count)
+ {
+ ctx->count = ret;
+ break;
+ }
+ /* Huh? The number of ACL entries has increased since the last call.
+ Repeat. */
+ free (ctx->entries);
+ ctx->entries = NULL;
+ }
+
+#elif USE_ACL && HAVE_GETACL /* HP-UX */
+
+ {
+ int ret;
+
+ if (desc != -1)
+ ret = fgetacl (desc, NACLENTRIES, ctx->entries);
+ else
+ ret = getacl (name, NACLENTRIES, ctx->entries);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
+ ret = 0;
+ else
+ return -1;
+ }
+ else if (ret > NACLENTRIES)
+ /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */
+ abort ();
+ ctx->count = ret;
+
+# if HAVE_ACLV_H
+ ret = acl ((char *) name, ACL_GET, NACLVENTRIES, ctx->aclv_entries);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+ ret = 0;
+ else
+ return -2;
+ }
+ else if (ret > NACLVENTRIES)
+ /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation. */
+ abort ();
+ ctx->aclv_count = ret;
+# endif
+ }
+
+#elif USE_ACL && HAVE_ACLX_GET && ACL_AIX_WIP /* AIX */
+
+ /* TODO (see set_permissions). */
+
+#elif USE_ACL && HAVE_STATACL /* older AIX */
+
+ {
+ int ret;
+ if (desc != -1)
+ ret = fstatacl (desc, STX_NORMAL, &ctx->u.a, sizeof ctx->u);
+ else
+ ret = statacl ((char *) name, STX_NORMAL, &ctx->u.a, sizeof ctx->u);
+ if (ret == 0)
+ ctx->have_u = true;
+ }
+
+#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */
+
+ {
+ int ret = acl ((char *) name, ACL_GET, NACLENTRIES, ctx->entries);
+ if (ret < 0)
+ return -1;
+ else if (ret > NACLENTRIES)
+ /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */
+ abort ();
+ ctx->count = ret;
+ }
+
+#endif
+
+ return 0;
+
+}
diff --git a/gettext-tools/gnulib-lib/getdelim.c b/gettext-tools/gnulib-lib/getdelim.c
index e5714ba..88258e5 100644
--- a/gettext-tools/gnulib-lib/getdelim.c
+++ b/gettext-tools/gnulib-lib/getdelim.c
@@ -1,5 +1,5 @@
/* getdelim.c --- Implementation of replacement getdelim function.
- Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2014 Free Software
+ Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or
diff --git a/gettext-tools/gnulib-lib/getdtablesize.c b/gettext-tools/gnulib-lib/getdtablesize.c
index f0c6271..03eb7ef 100644
--- a/gettext-tools/gnulib-lib/getdtablesize.c
+++ b/gettext-tools/gnulib-lib/getdtablesize.c
@@ -1,5 +1,5 @@
/* getdtablesize() function for platforms that don't have it.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
@@ -84,32 +84,38 @@ getdtablesize (void)
return dtablesize;
}
-#elif HAVE_GETDTABLESIZE
+#else
+# include <limits.h>
# include <sys/resource.h>
-# undef getdtablesize
-int
-rpl_getdtablesize(void)
-{
- /* To date, this replacement is only compiled for Cygwin 1.7.25,
- which auto-increased the RLIMIT_NOFILE soft limit until it
- hits the compile-time constant hard limit of 3200. Although
- that version of cygwin supported a child process inheriting
- a smaller soft limit, the smaller limit is not enforced, so
- we might as well just report the hard limit. */
- struct rlimit lim;
- if (!getrlimit (RLIMIT_NOFILE, &lim) && lim.rlim_max != RLIM_INFINITY)
- return lim.rlim_max;
- return getdtablesize ();
-}
+# ifndef RLIM_SAVED_CUR
+# define RLIM_SAVED_CUR RLIM_INFINITY
+# endif
+# ifndef RLIM_SAVED_MAX
+# define RLIM_SAVED_MAX RLIM_INFINITY
+# endif
-#elif defined _SC_OPEN_MAX
+# ifdef __CYGWIN__
+ /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it
+ hits the compile-time constant hard limit of 3200. We might as
+ well just report the hard limit. */
+# define rlim_cur rlim_max
+# endif
int
getdtablesize (void)
{
- return sysconf (_SC_OPEN_MAX);
+ struct rlimit lim;
+
+ if (getrlimit (RLIMIT_NOFILE, &lim) == 0
+ && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX
+ && lim.rlim_cur != RLIM_INFINITY
+ && lim.rlim_cur != RLIM_SAVED_CUR
+ && lim.rlim_cur != RLIM_SAVED_MAX)
+ return lim.rlim_cur;
+
+ return INT_MAX;
}
#endif
diff --git a/gettext-tools/gnulib-lib/getline.c b/gettext-tools/gnulib-lib/getline.c
index 5282e80..811c773 100644
--- a/gettext-tools/gnulib-lib/getline.c
+++ b/gettext-tools/gnulib-lib/getline.c
@@ -1,5 +1,5 @@
/* getline.c --- Implementation of replacement getline function.
- Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/gettext-tools/gnulib-lib/getopt.c b/gettext-tools/gnulib-lib/getopt.c
index 7d950af..212cbf7 100644
--- a/gettext-tools/gnulib-lib/getopt.c
+++ b/gettext-tools/gnulib-lib/getopt.c
@@ -2,7 +2,7 @@
NOTE: getopt is part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software
+ Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
@@ -487,7 +487,20 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
const struct option *p;
struct option_list *next;
} *ambig_list = NULL;
+#ifdef _LIBC
+/* malloc() not used for _LIBC to simplify failure messages. */
+# define free_option_list(l)
+#else
+# define free_option_list(l) \
+ while (l != NULL) \
+ { \
+ struct option_list *pn = l->next; \
+ free (l); \
+ l = pn; \
+ }
+#endif
int exact = 0;
+ int ambig = 0;
int indfound = -1;
int option_index;
@@ -514,22 +527,37 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
pfound = p;
indfound = option_index;
}
+ else if (ambig)
+ ; /* Taking simpler path to handling ambiguities. */
else if (long_only
|| pfound->has_arg != p->has_arg
|| pfound->flag != p->flag
|| pfound->val != p->val)
{
/* Second or later nonexact match found. */
+#ifdef _LIBC
+ struct option_list *newp = alloca (sizeof (*newp));
+#else
struct option_list *newp = malloc (sizeof (*newp));
- newp->p = p;
- newp->next = ambig_list;
- ambig_list = newp;
+ if (newp == NULL)
+ {
+ free_option_list (ambig_list);
+ ambig_list = NULL;
+ ambig = 1; /* Use simpler fallback message. */
+ }
+ else
+#endif
+ {
+ newp->p = p;
+ newp->next = ambig_list;
+ ambig_list = newp;
+ }
}
}
- if (ambig_list != NULL && !exact)
+ if ((ambig || ambig_list) && !exact)
{
- if (print_errors)
+ if (print_errors && ambig_list)
{
struct option_list first;
first.p = pfound;
@@ -585,18 +613,20 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
fputc ('\n', stderr);
#endif
}
+ else if (print_errors && ambig)
+ {
+ fprintf (stderr,
+ _("%s: option '%s' is ambiguous\n"),
+ argv[0], argv[d->optind]);
+ }
d->__nextchar += strlen (d->__nextchar);
d->optind++;
d->optopt = 0;
+ free_option_list (ambig_list);
return '?';
}
- while (ambig_list != NULL)
- {
- struct option_list *pn = ambig_list->next;
- free (ambig_list);
- ambig_list = pn;
- }
+ free_option_list (ambig_list);
if (pfound != NULL)
{
diff --git a/gettext-tools/gnulib-lib/getopt.in.h b/gettext-tools/gnulib-lib/getopt.in.h
index c74c812..f869970 100644
--- a/gettext-tools/gnulib-lib/getopt.in.h
+++ b/gettext-tools/gnulib-lib/getopt.in.h
@@ -1,5 +1,5 @@
/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/getopt1.c b/gettext-tools/gnulib-lib/getopt1.c
index a184865..2b1feb6 100644
--- a/gettext-tools/gnulib-lib/getopt1.c
+++ b/gettext-tools/gnulib-lib/getopt1.c
@@ -1,5 +1,5 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software
+ Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/getopt_int.h b/gettext-tools/gnulib-lib/getopt_int.h
index 24ed672..e893a6e 100644
--- a/gettext-tools/gnulib-lib/getopt_int.h
+++ b/gettext-tools/gnulib-lib/getopt_int.h
@@ -1,5 +1,5 @@
/* Internal declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/gettext.h b/gettext-tools/gnulib-lib/gettext.h
index ac4d7d5..f37d586 100644
--- a/gettext-tools/gnulib-lib/gettext.h
+++ b/gettext-tools/gnulib-lib/gettext.h
@@ -1,5 +1,6 @@
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011, 2015 Free
+ Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/gettimeofday.c b/gettext-tools/gnulib-lib/gettimeofday.c
index 8b2058e..e0e2e69 100644
--- a/gettext-tools/gnulib-lib/gettimeofday.c
+++ b/gettext-tools/gnulib-lib/gettimeofday.c
@@ -1,6 +1,6 @@
/* Provide gettimeofday for systems that don't have it or for which it's broken.
- Copyright (C) 2001-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/gl_anyhash_list1.h b/gettext-tools/gnulib-lib/gl_anyhash_list1.h
index 54d594f..87eb649 100644
--- a/gettext-tools/gnulib-lib/gl_anyhash_list1.h
+++ b/gettext-tools/gnulib-lib/gl_anyhash_list1.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by a hash table with another list.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_anyhash_list2.h b/gettext-tools/gnulib-lib/gl_anyhash_list2.h
index 982c04d..b8aa064 100644
--- a/gettext-tools/gnulib-lib/gl_anyhash_list2.h
+++ b/gettext-tools/gnulib-lib/gl_anyhash_list2.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by a hash table with another list.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_anylinked_list1.h b/gettext-tools/gnulib-lib/gl_anylinked_list1.h
index 6433442..aa336e3 100644
--- a/gettext-tools/gnulib-lib/gl_anylinked_list1.h
+++ b/gettext-tools/gnulib-lib/gl_anylinked_list1.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by a linked list.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_anylinked_list2.h b/gettext-tools/gnulib-lib/gl_anylinked_list2.h
index 8711823..5ba2806 100644
--- a/gettext-tools/gnulib-lib/gl_anylinked_list2.h
+++ b/gettext-tools/gnulib-lib/gl_anylinked_list2.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by a linked list.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
@@ -163,13 +163,13 @@ gl_linked_nx_create (gl_list_implementation_t implementation,
return NULL;
}
-static size_t
+static size_t _GL_ATTRIBUTE_PURE
gl_linked_size (gl_list_t list)
{
return list->count;
}
-static const void *
+static const void * _GL_ATTRIBUTE_PURE
gl_linked_node_value (gl_list_t list, gl_list_node_t node)
{
return node->value;
@@ -215,19 +215,19 @@ gl_linked_node_nx_set_value (gl_list_t list, gl_list_node_t node,
return 0;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_linked_next_node (gl_list_t list, gl_list_node_t node)
{
return (node->next != &list->root ? node->next : NULL);
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_linked_previous_node (gl_list_t list, gl_list_node_t node)
{
return (node->prev != &list->root ? node->prev : NULL);
}
-static const void *
+static const void * _GL_ATTRIBUTE_PURE
gl_linked_get_at (gl_list_t list, size_t position)
{
size_t count = list->count;
@@ -312,7 +312,7 @@ gl_linked_nx_set_at (gl_list_t list, size_t position, const void *elt)
return node;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_linked_search_from_to (gl_list_t list, size_t start_index, size_t end_index,
const void *elt)
{
@@ -465,7 +465,7 @@ gl_linked_search_from_to (gl_list_t list, size_t start_index, size_t end_index,
}
}
-static size_t
+static size_t _GL_ATTRIBUTE_PURE
gl_linked_indexof_from_to (gl_list_t list, size_t start_index, size_t end_index,
const void *elt)
{
@@ -1027,7 +1027,7 @@ gl_linked_iterator_free (gl_list_iterator_t *iterator)
/* ---------------------- Sorted gl_list_t Data Type ---------------------- */
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_linked_sortedlist_search (gl_list_t list, gl_listelement_compar_fn compar,
const void *elt)
{
@@ -1045,7 +1045,7 @@ gl_linked_sortedlist_search (gl_list_t list, gl_listelement_compar_fn compar,
return NULL;
}
-static gl_list_node_t
+static gl_list_node_t _GL_ATTRIBUTE_PURE
gl_linked_sortedlist_search_from_to (gl_list_t list,
gl_listelement_compar_fn compar,
size_t low, size_t high,
@@ -1093,7 +1093,7 @@ gl_linked_sortedlist_search_from_to (gl_list_t list,
return NULL;
}
-static size_t
+static size_t _GL_ATTRIBUTE_PURE
gl_linked_sortedlist_indexof (gl_list_t list, gl_listelement_compar_fn compar,
const void *elt)
{
@@ -1114,7 +1114,7 @@ gl_linked_sortedlist_indexof (gl_list_t list, gl_listelement_compar_fn compar,
return (size_t)(-1);
}
-static size_t
+static size_t _GL_ATTRIBUTE_PURE
gl_linked_sortedlist_indexof_from_to (gl_list_t list,
gl_listelement_compar_fn compar,
size_t low, size_t high,
diff --git a/gettext-tools/gnulib-lib/gl_array_list.c b/gettext-tools/gnulib-lib/gl_array_list.c
index 3220dd8..6224f40 100644
--- a/gettext-tools/gnulib-lib/gl_array_list.c
+++ b/gettext-tools/gnulib-lib/gl_array_list.c
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by an array.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_array_list.h b/gettext-tools/gnulib-lib/gl_array_list.h
index 57b1b0e..e5f5683 100644
--- a/gettext-tools/gnulib-lib/gl_array_list.h
+++ b/gettext-tools/gnulib-lib/gl_array_list.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by an array.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_linkedhash_list.c b/gettext-tools/gnulib-lib/gl_linkedhash_list.c
index 44e7baa..03605c5 100644
--- a/gettext-tools/gnulib-lib/gl_linkedhash_list.c
+++ b/gettext-tools/gnulib-lib/gl_linkedhash_list.c
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by a hash table with a linked list.
- Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_linkedhash_list.h b/gettext-tools/gnulib-lib/gl_linkedhash_list.h
index c6a6c47..403d14f 100644
--- a/gettext-tools/gnulib-lib/gl_linkedhash_list.h
+++ b/gettext-tools/gnulib-lib/gl_linkedhash_list.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by a hash table with a linked list.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_list.h b/gettext-tools/gnulib-lib/gl_list.h
index ad6d12f..a0c7d27 100644
--- a/gettext-tools/gnulib-lib/gl_list.h
+++ b/gettext-tools/gnulib-lib/gl_list.h
@@ -1,5 +1,5 @@
-/* Abstract sequential list data type.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Abstract sequential list data type. -*- coding: utf-8 -*-
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/gl_xlist.h b/gettext-tools/gnulib-lib/gl_xlist.h
index a4f4e89..7ea62c1 100644
--- a/gettext-tools/gnulib-lib/gl_xlist.h
+++ b/gettext-tools/gnulib-lib/gl_xlist.h
@@ -1,5 +1,5 @@
/* Abstract sequential list data type, with out-of-memory checking.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/glib/gstrfuncs.c b/gettext-tools/gnulib-lib/glib/gstrfuncs.c
index 7db411a..c2e43c2 100644
--- a/gettext-tools/gnulib-lib/glib/gstrfuncs.c
+++ b/gettext-tools/gnulib-lib/glib/gstrfuncs.c
@@ -621,8 +621,8 @@ g_parse_long_long (const gchar *nptr,
/* this code is based on on the strtol(3) code from GNU libc released under
* the GNU General Public License.
*
- * Copyright (C) 1991,92,94,95,96,97,98,99,2000,01,02
- * Free Software Foundation, Inc.
+ * Copyright (C) 1991-1992, 1994-2000, 1901-1902, 2015 Free Software
+ * Foundation, Inc.
*/
#define ISSPACE(c) ((c) == ' ' || (c) == '\f' || (c) == '\n' || \
(c) == '\r' || (c) == '\t' || (c) == '\v')
diff --git a/gettext-tools/gnulib-lib/glthread/lock.c b/gettext-tools/gnulib-lib/glthread/lock.c
index 33c15a0..b64132a 100644
--- a/gettext-tools/gnulib-lib/glthread/lock.c
+++ b/gettext-tools/gnulib-lib/glthread/lock.c
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/glthread/lock.h b/gettext-tools/gnulib-lib/glthread/lock.h
index 36096c4..cf3d0d9 100644
--- a/gettext-tools/gnulib-lib/glthread/lock.h
+++ b/gettext-tools/gnulib-lib/glthread/lock.h
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/glthread/threadlib.c b/gettext-tools/gnulib-lib/glthread/threadlib.c
index 26870de..f01d351 100644
--- a/gettext-tools/gnulib-lib/glthread/threadlib.c
+++ b/gettext-tools/gnulib-lib/glthread/threadlib.c
@@ -1,5 +1,5 @@
/* Multithreading primitives.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/glthread/tls.c b/gettext-tools/gnulib-lib/glthread/tls.c
index 971c72a..f1c0cd7 100644
--- a/gettext-tools/gnulib-lib/glthread/tls.c
+++ b/gettext-tools/gnulib-lib/glthread/tls.c
@@ -1,5 +1,5 @@
/* Thread-local storage in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/glthread/tls.h b/gettext-tools/gnulib-lib/glthread/tls.h
index c0a56e4..cf53a2b 100644
--- a/gettext-tools/gnulib-lib/glthread/tls.h
+++ b/gettext-tools/gnulib-lib/glthread/tls.h
@@ -1,5 +1,5 @@
/* Thread-local storage in multithreaded situations.
- Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/hash.c b/gettext-tools/gnulib-lib/hash.c
index 1844724..89fa5ec 100644
--- a/gettext-tools/gnulib-lib/hash.c
+++ b/gettext-tools/gnulib-lib/hash.c
@@ -1,5 +1,6 @@
/* hash - implement simple hashing table with string based keys.
- Copyright (C) 1994-1995, 2000-2006 Free Software Foundation, Inc.
+ Copyright (C) 1994-1995, 2000-2006, 2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, October 1994.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/hash.h b/gettext-tools/gnulib-lib/hash.h
index a56ad77..b98e340 100644
--- a/gettext-tools/gnulib-lib/hash.h
+++ b/gettext-tools/gnulib-lib/hash.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1995, 2000-2003, 2005-2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 2000-2003, 2005-2006, 2015 Free Software
+ * Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/html-ostream.c b/gettext-tools/gnulib-lib/html-ostream.c
index fcee1ac..64c816c 100644
--- a/gettext-tools/gnulib-lib/html-ostream.c
+++ b/gettext-tools/gnulib-lib/html-ostream.c
@@ -2,7 +2,7 @@
#line 1 "html-ostream.oo.c"
/* Output stream that produces HTML output.
- Copyright (C) 2006-2009 Free Software Foundation, Inc.
+ Copyright (C) 2006-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-ostream.h b/gettext-tools/gnulib-lib/html-ostream.h
index 9871dd3..4a33ed7 100644
--- a/gettext-tools/gnulib-lib/html-ostream.h
+++ b/gettext-tools/gnulib-lib/html-ostream.h
@@ -2,7 +2,7 @@
#line 1 "html-ostream.oo.h"
/* Output stream that produces HTML output.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-ostream.oo.c b/gettext-tools/gnulib-lib/html-ostream.oo.c
index bf5c130..afa84d3 100644
--- a/gettext-tools/gnulib-lib/html-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/html-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream that produces HTML output.
- Copyright (C) 2006-2009 Free Software Foundation, Inc.
+ Copyright (C) 2006-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-ostream.oo.h b/gettext-tools/gnulib-lib/html-ostream.oo.h
index 5ee26de..87c6f3d 100644
--- a/gettext-tools/gnulib-lib/html-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/html-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream that produces HTML output.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-styled-ostream.c b/gettext-tools/gnulib-lib/html-styled-ostream.c
index 6be0085..fb15e46 100644
--- a/gettext-tools/gnulib-lib/html-styled-ostream.c
+++ b/gettext-tools/gnulib-lib/html-styled-ostream.c
@@ -2,7 +2,7 @@
#line 1 "html-styled-ostream.oo.c"
/* Output stream for CSS styled text, producing HTML output.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-styled-ostream.h b/gettext-tools/gnulib-lib/html-styled-ostream.h
index fe87d32..4a0ae03 100644
--- a/gettext-tools/gnulib-lib/html-styled-ostream.h
+++ b/gettext-tools/gnulib-lib/html-styled-ostream.h
@@ -2,7 +2,7 @@
#line 1 "html-styled-ostream.oo.h"
/* Output stream for CSS styled text, producing HTML output.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-styled-ostream.oo.c b/gettext-tools/gnulib-lib/html-styled-ostream.oo.c
index 2766ab0..ef187dd 100644
--- a/gettext-tools/gnulib-lib/html-styled-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/html-styled-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream for CSS styled text, producing HTML output.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/html-styled-ostream.oo.h b/gettext-tools/gnulib-lib/html-styled-ostream.oo.h
index c28e0b9..d66bb2e 100644
--- a/gettext-tools/gnulib-lib/html-styled-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/html-styled-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream for CSS styled text, producing HTML output.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/iconv.c b/gettext-tools/gnulib-lib/iconv.c
index b5a427b..28c13c5 100644
--- a/gettext-tools/gnulib-lib/iconv.c
+++ b/gettext-tools/gnulib-lib/iconv.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2001, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/iconv.in.h b/gettext-tools/gnulib-lib/iconv.in.h
index d0e9836..94ab806 100644
--- a/gettext-tools/gnulib-lib/iconv.in.h
+++ b/gettext-tools/gnulib-lib/iconv.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <iconv.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/iconv_close.c b/gettext-tools/gnulib-lib/iconv_close.c
index d66c115..59e0aca 100644
--- a/gettext-tools/gnulib-lib/iconv_close.c
+++ b/gettext-tools/gnulib-lib/iconv_close.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/iconv_open.c b/gettext-tools/gnulib-lib/iconv_open.c
index 37ce9ce..09d042d 100644
--- a/gettext-tools/gnulib-lib/iconv_open.c
+++ b/gettext-tools/gnulib-lib/iconv_open.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/iconveh.h b/gettext-tools/gnulib-lib/iconveh.h
index 9deaea1..118e29c 100644
--- a/gettext-tools/gnulib-lib/iconveh.h
+++ b/gettext-tools/gnulib-lib/iconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion handler type.
- Copyright (C) 2001-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/ignore-value.h b/gettext-tools/gnulib-lib/ignore-value.h
index 4dd0946..2e3121f 100644
--- a/gettext-tools/gnulib-lib/ignore-value.h
+++ b/gettext-tools/gnulib-lib/ignore-value.h
@@ -1,6 +1,6 @@
-/* ignore a function return without a compiler warning
+/* ignore a function return without a compiler warning. -*- coding: utf-8 -*-
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/intprops.h b/gettext-tools/gnulib-lib/intprops.h
index d0bb7a6..ecafaf7 100644
--- a/gettext-tools/gnulib-lib/intprops.h
+++ b/gettext-tools/gnulib-lib/intprops.h
@@ -1,6 +1,6 @@
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2005, 2009-2015 Free Software Foundation, Inc.
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
@@ -22,8 +22,7 @@
#include <limits.h>
-/* Return an integer value, converted to the same type as the integer
- expression E after integer type promotion. V is the unconverted value. */
+/* Return a value with the common real type of E and V and the value of V. */
#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
@@ -48,12 +47,12 @@
/* True if the signed integer expression E uses two's complement. */
#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
-/* True if the arithmetic type T is signed. */
+/* True if the real type T is signed. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* Return 1 if the integer expression E, after integer promotion, has
- a signed type. */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+/* Return 1 if the real expression E, after promotion, has a
+ signed or floating type. */
+#define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
/* Minimum and maximum values for integer types and expressions. These
@@ -76,11 +75,11 @@
/* The maximum and minimum values for the type of the expression E,
after integer promotion. E should not have side effects. */
#define _GL_INT_MINIMUM(e) \
- (_GL_INT_SIGNED (e) \
+ (EXPR_SIGNED (e) \
? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_CONVERT (e, 0))
#define _GL_INT_MAXIMUM(e) \
- (_GL_INT_SIGNED (e) \
+ (EXPR_SIGNED (e) \
? _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_NEGATE_CONVERT (e, 1))
#define _GL_SIGNED_INT_MAXIMUM(e) \
@@ -263,22 +262,29 @@
: (a) % - (b)) \
== 0)
-
-/* Integer overflow checks.
+/* Check for integer overflow, and report low order bits of answer.
The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
might not yield numerically correct answers due to arithmetic overflow.
- They work correctly on all known practical hosts, and do not rely
+ The INT_<op>_WRAPV macros also store the low-order bits of the answer.
+ These macros work correctly on all known practical hosts, and do not rely
on undefined behavior due to signed arithmetic overflow.
- Example usage:
+ Example usage, assuming A and B are long int:
- long int i = ...;
- long int j = ...;
- if (INT_MULTIPLY_OVERFLOW (i, j))
- printf ("multiply would overflow");
+ if (INT_MULTIPLY_OVERFLOW (a, b))
+ printf ("result would overflow\n");
else
- printf ("product is %ld", i * j);
+ printf ("result is %ld (no overflow)\n", a * b);
+
+ Example usage with WRAPV flavor:
+
+ long int result;
+ bool overflow = INT_MULTIPLY_WRAPV (a, b, &result);
+ printf ("result is %ld (%s)\n", result,
+ overflow ? "after overflow" : "no overflow");
+
+ Restrictions on these macros:
These macros do not check for all possible numerical problems or
undefined or unspecified behavior: they do not check for division
@@ -287,6 +293,9 @@
These macros may evaluate their arguments zero or multiple times, so the
arguments should not have side effects.
+ The WRAPV macros are not constant expressions. They support only
+ +, binary -, and *. The result type must be signed.
+
These macros are tuned for their last argument being a constant.
Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
@@ -317,4 +326,104 @@
_GL_INT_MINIMUM (0 * (b) + (a)), \
_GL_INT_MAXIMUM (0 * (b) + (a)))
+/* Compute A + B, A - B, A * B, respectively, storing the result into *R.
+ Return 1 if the result overflows. See above for restrictions. */
+#define INT_ADD_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW)
+#define INT_SUBTRACT_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW)
+#define INT_MULTIPLY_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+ https://llvm.org/bugs/show_bug.cgi?id=25390
+ For now, assume all versions of GCC-like compilers generate bogus
+ warnings for _Generic. This matters only for older compilers that
+ lack __builtin_add_overflow. */
+#if __GNUC__
+# define _GL__GENERIC_BOGUS 1
+#else
+# define _GL__GENERIC_BOGUS 0
+#endif
+
+/* Store A <op> B into *R, where OP specifies the operation.
+ BUILTIN is the builtin operation, and OVERFLOW the overflow predicate.
+ See above for restrictions. */
+#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+ (_Generic \
+ (*(r), \
+ signed char: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+ signed char, SCHAR_MIN, SCHAR_MAX), \
+ short int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+ short int, SHRT_MIN, SHRT_MAX), \
+ int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+ int, INT_MIN, INT_MAX), \
+ long int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+ long int, LONG_MIN, LONG_MAX), \
+ long long int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+ long long int, LLONG_MIN, LLONG_MAX)))
+#else
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+ (sizeof *(r) == sizeof (signed char) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+ signed char, SCHAR_MIN, SCHAR_MAX) \
+ : sizeof *(r) == sizeof (short int) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+ short int, SHRT_MIN, SHRT_MAX) \
+ : sizeof *(r) == sizeof (int) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+ int, INT_MIN, INT_MAX) \
+ : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
+# ifdef LLONG_MAX
+# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+ (sizeof *(r) == sizeof (long int) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+ long int, LONG_MIN, LONG_MAX) \
+ : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+ long long int, LLONG_MIN, LLONG_MAX))
+# else
+# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+ long int, LONG_MIN, LONG_MAX))
+# endif
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where the operation
+ is given by OP. Use the unsigned type UT for calculation to avoid
+ overflow problems. *R's type is T, with extremal values TMIN and
+ TMAX. T must be a signed integer type. */
+#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
+ (sizeof ((a) op (b)) < sizeof (t) \
+ ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \
+ : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax))
+#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \
+ ((overflow (a, b) \
+ || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \
+ || (tmax) < ((a) op (b))) \
+ ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 1) \
+ : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 0))
+
+/* Return A <op> B, where the operation is given by OP. Use the
+ unsigned type UT for calculation to avoid overflow problems.
+ Convert the result to type T without overflow by subtracting TMIN
+ from large values before converting, and adding it afterwards.
+ Compilers can optimize all the operations except OP. */
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t, tmin, tmax) \
+ (((ut) (a) op (ut) (b)) <= (tmax) \
+ ? (t) ((ut) (a) op (ut) (b)) \
+ : ((t) (((ut) (a) op (ut) (b)) - (tmin)) + (tmin)))
+
#endif /* _GL_INTPROPS_H */
diff --git a/gettext-tools/gnulib-lib/isinf.c b/gettext-tools/gnulib-lib/isinf.c
new file mode 100644
index 0000000..3ba77c5
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isinf.c
@@ -0,0 +1,39 @@
+/* Test for positive or negative infinity.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3, 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Ben Pfaff <blp@gnu.org>, 2008. */
+
+#include <config.h>
+
+#include <float.h>
+
+int
+gl_isinff (float x)
+{
+ return x < -FLT_MAX || x > FLT_MAX;
+}
+
+int
+gl_isinfd (double x)
+{
+ return x < -DBL_MAX || x > DBL_MAX;
+}
+
+int
+gl_isinfl (long double x)
+{
+ return x < -LDBL_MAX || x > LDBL_MAX;
+}
diff --git a/gettext-tools/gnulib-lib/isnan.c b/gettext-tools/gnulib-lib/isnan.c
new file mode 100644
index 0000000..5eb11d9
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnan.c
@@ -0,0 +1,189 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+/* Specification. */
+#ifdef USE_LONG_DOUBLE
+/* Specification found in math.h or isnanl-nolibm.h. */
+extern int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
+#elif ! defined USE_FLOAT
+/* Specification found in math.h or isnand-nolibm.h. */
+extern int rpl_isnand (double x);
+#else /* defined USE_FLOAT */
+/* Specification found in math.h or isnanf-nolibm.h. */
+extern int rpl_isnanf (float x);
+#endif
+
+#include <float.h>
+#include <string.h>
+
+#include "float+.h"
+
+#ifdef USE_LONG_DOUBLE
+# define FUNC rpl_isnanl
+# define DOUBLE long double
+# define MAX_EXP LDBL_MAX_EXP
+# define MIN_EXP LDBL_MIN_EXP
+# if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+# define KNOWN_EXPBIT0_LOCATION
+# define EXPBIT0_WORD LDBL_EXPBIT0_WORD
+# define EXPBIT0_BIT LDBL_EXPBIT0_BIT
+# endif
+# define SIZE SIZEOF_LDBL
+# define L_(literal) literal##L
+#elif ! defined USE_FLOAT
+# define FUNC rpl_isnand
+# define DOUBLE double
+# define MAX_EXP DBL_MAX_EXP
+# define MIN_EXP DBL_MIN_EXP
+# if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+# define KNOWN_EXPBIT0_LOCATION
+# define EXPBIT0_WORD DBL_EXPBIT0_WORD
+# define EXPBIT0_BIT DBL_EXPBIT0_BIT
+# endif
+# define SIZE SIZEOF_DBL
+# define L_(literal) literal
+#else /* defined USE_FLOAT */
+# define FUNC rpl_isnanf
+# define DOUBLE float
+# define MAX_EXP FLT_MAX_EXP
+# define MIN_EXP FLT_MIN_EXP
+# if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+# define KNOWN_EXPBIT0_LOCATION
+# define EXPBIT0_WORD FLT_EXPBIT0_WORD
+# define EXPBIT0_BIT FLT_EXPBIT0_BIT
+# endif
+# define SIZE SIZEOF_FLT
+# define L_(literal) literal##f
+#endif
+
+#define EXP_MASK ((MAX_EXP - MIN_EXP) | 7)
+
+#define NWORDS \
+ ((sizeof (DOUBLE) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { DOUBLE value; unsigned int word[NWORDS]; } memory_double;
+
+/* Most hosts nowadays use IEEE floating point, so they use IEC 60559
+ representations, have infinities and NaNs, and do not trap on
+ exceptions. Define IEEE_FLOATING_POINT if this host is one of the
+ typical ones. The C11 macro __STDC_IEC_559__ is close to what is
+ wanted here, but is not quite right because this file does not require
+ all the features of C11 Annex F (and does not require C11 at all,
+ for that matter). */
+
+#define IEEE_FLOATING_POINT (FLT_RADIX == 2 && FLT_MANT_DIG == 24 \
+ && FLT_MIN_EXP == -125 && FLT_MAX_EXP == 128)
+
+int
+FUNC (DOUBLE x)
+{
+#if defined KNOWN_EXPBIT0_LOCATION && IEEE_FLOATING_POINT
+# if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+ /* Special CPU dependent code is needed to treat bit patterns outside the
+ IEEE 754 specification (such as Pseudo-NaNs, Pseudo-Infinities,
+ Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals) as NaNs.
+ These bit patterns are:
+ - exponent = 0x0001..0x7FFF, mantissa bit 63 = 0,
+ - exponent = 0x0000, mantissa bit 63 = 1.
+ The NaN bit pattern is:
+ - exponent = 0x7FFF, mantissa >= 0x8000000000000001. */
+ memory_double m;
+ unsigned int exponent;
+
+ m.value = x;
+ exponent = (m.word[EXPBIT0_WORD] >> EXPBIT0_BIT) & EXP_MASK;
+# ifdef WORDS_BIGENDIAN
+ /* Big endian: EXPBIT0_WORD = 0, EXPBIT0_BIT = 16. */
+ if (exponent == 0)
+ return 1 & (m.word[0] >> 15);
+ else if (exponent == EXP_MASK)
+ return (((m.word[0] ^ 0x8000U) << 16) | m.word[1] | (m.word[2] >> 16)) != 0;
+ else
+ return 1 & ~(m.word[0] >> 15);
+# else
+ /* Little endian: EXPBIT0_WORD = 2, EXPBIT0_BIT = 0. */
+ if (exponent == 0)
+ return (m.word[1] >> 31);
+ else if (exponent == EXP_MASK)
+ return ((m.word[1] ^ 0x80000000U) | m.word[0]) != 0;
+ else
+ return (m.word[1] >> 31) ^ 1;
+# endif
+# else
+ /* Be careful to not do any floating-point operation on x, such as x == x,
+ because x may be a signaling NaN. */
+# if defined __SUNPRO_C || defined __ICC || defined _MSC_VER \
+ || defined __DECC || defined __TINYC__ \
+ || (defined __sgi && !defined __GNUC__)
+ /* The Sun C 5.0, Intel ICC 10.0, Microsoft Visual C/C++ 9.0, Compaq (ex-DEC)
+ 6.4, and TinyCC compilers don't recognize the initializers as constant
+ expressions. The Compaq compiler also fails when constant-folding
+ 0.0 / 0.0 even when constant-folding is not required. The Microsoft
+ Visual C/C++ compiler also fails when constant-folding 1.0 / 0.0 even
+ when constant-folding is not required. The SGI MIPSpro C compiler
+ complains about "floating-point operation result is out of range". */
+ static DOUBLE zero = L_(0.0);
+ memory_double nan;
+ DOUBLE plus_inf = L_(1.0) / zero;
+ DOUBLE minus_inf = -L_(1.0) / zero;
+ nan.value = zero / zero;
+# else
+ static memory_double nan = { L_(0.0) / L_(0.0) };
+ static DOUBLE plus_inf = L_(1.0) / L_(0.0);
+ static DOUBLE minus_inf = -L_(1.0) / L_(0.0);
+# endif
+ {
+ memory_double m;
+
+ /* A NaN can be recognized through its exponent. But exclude +Infinity and
+ -Infinity, which have the same exponent. */
+ m.value = x;
+ if (((m.word[EXPBIT0_WORD] ^ nan.word[EXPBIT0_WORD])
+ & (EXP_MASK << EXPBIT0_BIT))
+ == 0)
+ return (memcmp (&m.value, &plus_inf, SIZE) != 0
+ && memcmp (&m.value, &minus_inf, SIZE) != 0);
+ else
+ return 0;
+ }
+# endif
+#else
+ /* The configuration did not find sufficient information, or does
+ not use IEEE floating point. Give up about the signaling NaNs;
+ handle only the quiet NaNs. */
+ if (x == x)
+ {
+# if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+ /* Detect any special bit patterns that pass ==; see comment above. */
+ memory_double m1;
+ memory_double m2;
+
+ memset (&m1.value, 0, SIZE);
+ memset (&m2.value, 0, SIZE);
+ m1.value = x;
+ m2.value = x + (x ? 0.0L : -0.0L);
+ if (memcmp (&m1.value, &m2.value, SIZE) != 0)
+ return 1;
+# endif
+ return 0;
+ }
+ else
+ return 1;
+#endif
+}
diff --git a/gettext-tools/gnulib-lib/isnand-nolibm.h b/gettext-tools/gnulib-lib/isnand-nolibm.h
new file mode 100644
index 0000000..ca3a87a
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnand-nolibm.h
@@ -0,0 +1,33 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#if HAVE_ISNAND_IN_LIBC
+/* Get declaration of isnan macro. */
+# include <math.h>
+# if __GNUC__ >= 4
+ /* GCC 4.0 and newer provides three built-ins for isnan. */
+# undef isnand
+# define isnand(x) __builtin_isnan ((double)(x))
+# else
+# undef isnand
+# define isnand(x) isnan ((double)(x))
+# endif
+#else
+/* Test whether X is a NaN. */
+# undef isnand
+# define isnand rpl_isnand
+extern int isnand (double x);
+#endif
diff --git a/gettext-tools/gnulib-lib/isnand.c b/gettext-tools/gnulib-lib/isnand.c
new file mode 100644
index 0000000..3fd803b
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnand.c
@@ -0,0 +1,19 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
+
+#include "isnan.c"
diff --git a/gettext-tools/gnulib-lib/isnanf-nolibm.h b/gettext-tools/gnulib-lib/isnanf-nolibm.h
new file mode 100644
index 0000000..1e8d75a
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnanf-nolibm.h
@@ -0,0 +1,40 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#if HAVE_ISNANF_IN_LIBC
+/* Get declaration of isnan macro or (older) isnanf function. */
+# include <math.h>
+# if __GNUC__ >= 4
+ /* GCC 4.0 and newer provides three built-ins for isnan. */
+# undef isnanf
+# define isnanf(x) __builtin_isnanf ((float)(x))
+# elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+# else
+ /* Get declaration of isnanf(), if not declared in <math.h>. */
+# if defined __sgi
+ /* We can't include <ieeefp.h>, because it conflicts with our definition of
+ isnand. Therefore declare isnanf separately. */
+extern int isnanf (float x);
+# endif
+# endif
+#else
+/* Test whether X is a NaN. */
+# undef isnanf
+# define isnanf rpl_isnanf
+extern int isnanf (float x);
+#endif
diff --git a/gettext-tools/gnulib-lib/isnanf.c b/gettext-tools/gnulib-lib/isnanf.c
new file mode 100644
index 0000000..7fc5da2
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnanf.c
@@ -0,0 +1,20 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#define USE_FLOAT
+#include "isnan.c"
diff --git a/gettext-tools/gnulib-lib/isnanl-nolibm.h b/gettext-tools/gnulib-lib/isnanl-nolibm.h
new file mode 100644
index 0000000..22d536d
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnanl-nolibm.h
@@ -0,0 +1,33 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#if HAVE_ISNANL_IN_LIBC
+/* Get declaration of isnan macro or (older) isnanl function. */
+# include <math.h>
+# if __GNUC__ >= 4
+ /* GCC 4.0 and newer provides three built-ins for isnan. */
+# undef isnanl
+# define isnanl(x) __builtin_isnanl ((long double)(x))
+# elif defined isnan
+# undef isnanl
+# define isnanl(x) isnan ((long double)(x))
+# endif
+#else
+/* Test whether X is a NaN. */
+# undef isnanl
+# define isnanl rpl_isnanl
+extern int isnanl (long double x);
+#endif
diff --git a/gettext-tools/gnulib-lib/isnanl.c b/gettext-tools/gnulib-lib/isnanl.c
new file mode 100644
index 0000000..8f05eb7
--- /dev/null
+++ b/gettext-tools/gnulib-lib/isnanl.c
@@ -0,0 +1,20 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#define USE_LONG_DOUBLE
+#include "isnan.c"
diff --git a/gettext-tools/gnulib-lib/iswblank.c b/gettext-tools/gnulib-lib/iswblank.c
index 9c1672f..94be115 100644
--- a/gettext-tools/gnulib-lib/iswblank.c
+++ b/gettext-tools/gnulib-lib/iswblank.c
@@ -1,5 +1,5 @@
/* Test wide character for being blank.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/itold.c b/gettext-tools/gnulib-lib/itold.c
index 937f480..1eee03e 100644
--- a/gettext-tools/gnulib-lib/itold.c
+++ b/gettext-tools/gnulib-lib/itold.c
@@ -1,5 +1,5 @@
/* Replacement for 'int' to 'long double' conversion routine.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javacomp.c b/gettext-tools/gnulib-lib/javacomp.c
index f54fb59..c7571c8 100644
--- a/gettext-tools/gnulib-lib/javacomp.c
+++ b/gettext-tools/gnulib-lib/javacomp.c
@@ -1,5 +1,5 @@
/* Compile a Java program.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javacomp.h b/gettext-tools/gnulib-lib/javacomp.h
index 757e82e..a2f651e 100644
--- a/gettext-tools/gnulib-lib/javacomp.h
+++ b/gettext-tools/gnulib-lib/javacomp.h
@@ -1,5 +1,5 @@
/* Compile a Java program.
- Copyright (C) 2001-2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javaexec.c b/gettext-tools/gnulib-lib/javaexec.c
index e48f29b..e6bfd37 100644
--- a/gettext-tools/gnulib-lib/javaexec.c
+++ b/gettext-tools/gnulib-lib/javaexec.c
@@ -1,5 +1,5 @@
/* Execute a Java program.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javaexec.h b/gettext-tools/gnulib-lib/javaexec.h
index ca9bbd0..b50ce3a 100644
--- a/gettext-tools/gnulib-lib/javaexec.h
+++ b/gettext-tools/gnulib-lib/javaexec.h
@@ -1,5 +1,5 @@
/* Execute a Java program.
- Copyright (C) 2001-2002, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javaversion.c b/gettext-tools/gnulib-lib/javaversion.c
index 9cf06c3..7eda578 100644
--- a/gettext-tools/gnulib-lib/javaversion.c
+++ b/gettext-tools/gnulib-lib/javaversion.c
@@ -1,5 +1,5 @@
/* Determine the Java version supported by javaexec.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javaversion.h b/gettext-tools/gnulib-lib/javaversion.h
index dc750fe..41d21b7 100644
--- a/gettext-tools/gnulib-lib/javaversion.h
+++ b/gettext-tools/gnulib-lib/javaversion.h
@@ -1,5 +1,5 @@
/* Determine the Java version supported by javaexec.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/javaversion.java b/gettext-tools/gnulib-lib/javaversion.java
index 82732d4..99a7bbe 100644
--- a/gettext-tools/gnulib-lib/javaversion.java
+++ b/gettext-tools/gnulib-lib/javaversion.java
@@ -1,5 +1,5 @@
/* Show the Java version.
- * Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
*
* 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
diff --git a/gettext-tools/gnulib-lib/langinfo.in.h b/gettext-tools/gnulib-lib/langinfo.in.h
new file mode 100644
index 0000000..04fd535
--- /dev/null
+++ b/gettext-tools/gnulib-lib/langinfo.in.h
@@ -0,0 +1,194 @@
+/* Substitute for and wrapper around <langinfo.h>.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+ 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 3, 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, see <http://www.gnu.org/licenses/>. */
+
+/*
+ * POSIX <langinfo.h> for platforms that lack it or have an incomplete one.
+ * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html>
+ */
+
+#ifndef _@GUARD_PREFIX@_LANGINFO_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_LANGINFO_H@
+# @INCLUDE_NEXT@ @NEXT_LANGINFO_H@
+#endif
+
+#ifndef _@GUARD_PREFIX@_LANGINFO_H
+#define _@GUARD_PREFIX@_LANGINFO_H
+
+
+#if !@HAVE_LANGINFO_H@
+
+/* A platform that lacks <langinfo.h>. */
+
+/* Assume that it also lacks <nl_types.h> and the nl_item type. */
+# if !GNULIB_defined_nl_item
+typedef int nl_item;
+# define GNULIB_defined_nl_item 1
+# endif
+
+/* nl_langinfo items of the LC_CTYPE category */
+# define CODESET 10000
+/* nl_langinfo items of the LC_NUMERIC category */
+# define RADIXCHAR 10001
+# define DECIMAL_POINT RADIXCHAR
+# define THOUSEP 10002
+# define THOUSANDS_SEP THOUSEP
+# define GROUPING 10114
+/* nl_langinfo items of the LC_TIME category */
+# define D_T_FMT 10003
+# define D_FMT 10004
+# define T_FMT 10005
+# define T_FMT_AMPM 10006
+# define AM_STR 10007
+# define PM_STR 10008
+# define DAY_1 10009
+# define DAY_2 (DAY_1 + 1)
+# define DAY_3 (DAY_1 + 2)
+# define DAY_4 (DAY_1 + 3)
+# define DAY_5 (DAY_1 + 4)
+# define DAY_6 (DAY_1 + 5)
+# define DAY_7 (DAY_1 + 6)
+# define ABDAY_1 10016
+# define ABDAY_2 (ABDAY_1 + 1)
+# define ABDAY_3 (ABDAY_1 + 2)
+# define ABDAY_4 (ABDAY_1 + 3)
+# define ABDAY_5 (ABDAY_1 + 4)
+# define ABDAY_6 (ABDAY_1 + 5)
+# define ABDAY_7 (ABDAY_1 + 6)
+# define MON_1 10023
+# define MON_2 (MON_1 + 1)
+# define MON_3 (MON_1 + 2)
+# define MON_4 (MON_1 + 3)
+# define MON_5 (MON_1 + 4)
+# define MON_6 (MON_1 + 5)
+# define MON_7 (MON_1 + 6)
+# define MON_8 (MON_1 + 7)
+# define MON_9 (MON_1 + 8)
+# define MON_10 (MON_1 + 9)
+# define MON_11 (MON_1 + 10)
+# define MON_12 (MON_1 + 11)
+# define ABMON_1 10035
+# define ABMON_2 (ABMON_1 + 1)
+# define ABMON_3 (ABMON_1 + 2)
+# define ABMON_4 (ABMON_1 + 3)
+# define ABMON_5 (ABMON_1 + 4)
+# define ABMON_6 (ABMON_1 + 5)
+# define ABMON_7 (ABMON_1 + 6)
+# define ABMON_8 (ABMON_1 + 7)
+# define ABMON_9 (ABMON_1 + 8)
+# define ABMON_10 (ABMON_1 + 9)
+# define ABMON_11 (ABMON_1 + 10)
+# define ABMON_12 (ABMON_1 + 11)
+# define ERA 10047
+# define ERA_D_FMT 10048
+# define ERA_D_T_FMT 10049
+# define ERA_T_FMT 10050
+# define ALT_DIGITS 10051
+/* nl_langinfo items of the LC_MONETARY category */
+# define CRNCYSTR 10052
+# define CURRENCY_SYMBOL CRNCYSTR
+# define INT_CURR_SYMBOL 10100
+# define MON_DECIMAL_POINT 10101
+# define MON_THOUSANDS_SEP 10102
+# define MON_GROUPING 10103
+# define POSITIVE_SIGN 10104
+# define NEGATIVE_SIGN 10105
+# define FRAC_DIGITS 10106
+# define INT_FRAC_DIGITS 10107
+# define P_CS_PRECEDES 10108
+# define N_CS_PRECEDES 10109
+# define P_SEP_BY_SPACE 10110
+# define N_SEP_BY_SPACE 10111
+# define P_SIGN_POSN 10112
+# define N_SIGN_POSN 10113
+/* nl_langinfo items of the LC_MESSAGES category */
+# define YESEXPR 10053
+# define NOEXPR 10054
+
+#else
+
+/* A platform that has <langinfo.h>. */
+
+# if !@HAVE_LANGINFO_CODESET@
+# define CODESET 10000
+# define GNULIB_defined_CODESET 1
+# endif
+
+# if !@HAVE_LANGINFO_T_FMT_AMPM@
+# define T_FMT_AMPM 10006
+# define GNULIB_defined_T_FMT_AMPM 1
+# endif
+
+# if !@HAVE_LANGINFO_ERA@
+# define ERA 10047
+# define ERA_D_FMT 10048
+# define ERA_D_T_FMT 10049
+# define ERA_T_FMT 10050
+# define ALT_DIGITS 10051
+# define GNULIB_defined_ERA 1
+# endif
+
+# if !@HAVE_LANGINFO_YESEXPR@
+# define YESEXPR 10053
+# define NOEXPR 10054
+# define GNULIB_defined_YESEXPR 1
+# endif
+
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* Declare overridden functions. */
+
+
+/* Return a piece of locale dependent information.
+ Note: The difference between nl_langinfo (CODESET) and locale_charset ()
+ is that the latter normalizes the encoding names to GNU conventions. */
+
+#if @GNULIB_NL_LANGINFO@
+# if @REPLACE_NL_LANGINFO@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef nl_langinfo
+# define nl_langinfo rpl_nl_langinfo
+# endif
+_GL_FUNCDECL_RPL (nl_langinfo, char *, (nl_item item));
+_GL_CXXALIAS_RPL (nl_langinfo, char *, (nl_item item));
+# else
+# if !@HAVE_NL_LANGINFO@
+_GL_FUNCDECL_SYS (nl_langinfo, char *, (nl_item item));
+# endif
+_GL_CXXALIAS_SYS (nl_langinfo, char *, (nl_item item));
+# endif
+_GL_CXXALIASWARN (nl_langinfo);
+#elif defined GNULIB_POSIXCHECK
+# undef nl_langinfo
+# if HAVE_RAW_DECL_NL_LANGINFO
+_GL_WARN_ON_USE (nl_langinfo, "nl_langinfo is not portable - "
+ "use gnulib module nl_langinfo for portability");
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_LANGINFO_H */
+#endif /* _@GUARD_PREFIX@_LANGINFO_H */
diff --git a/gettext-tools/gnulib-lib/libxml/COPYING b/gettext-tools/gnulib-lib/libxml/COPYING
index 417e955..d613185 100644
--- a/gettext-tools/gnulib-lib/libxml/COPYING
+++ b/gettext-tools/gnulib-lib/libxml/COPYING
@@ -2,7 +2,7 @@ Except where otherwise noted in the source code (e.g. the files hash.c,
list.c and the trio files, which are covered by a similar licence but
with different Copyright notices) all the files are:
- Copyright (C) 1998-2003 Daniel Veillard. All Rights Reserved.
+ Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -17,11 +17,7 @@ all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
-NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of Daniel Veillard shall not
-be used in advertising or otherwise to promote the sale, use or other deal-
-ings in this Software without prior written authorization from him.
-
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/gettext-tools/gnulib-lib/libxml/DOCBparser.c b/gettext-tools/gnulib-lib/libxml/DOCBparser.c
index 3573743..f12511b 100644
--- a/gettext-tools/gnulib-lib/libxml/DOCBparser.c
+++ b/gettext-tools/gnulib-lib/libxml/DOCBparser.c
@@ -53,7 +53,7 @@ docbEncodeEntities(unsigned char *out ATTRIBUTE_UNUSED,
/**
* docbParseDocument:
* @ctxt: an SGML parser context
- *
+ *
* parse an SGML document (and build a tree if using the standard SAX
* interface).
*
@@ -163,12 +163,12 @@ docbCreatePushParserCtxt(docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
* @cur: a pointer to an array of xmlChar
* @encoding: a free form C string describing the SGML document encoding, or NULL
* @sax: the SAX handler block
- * @userData: if using SAX, this pointer will be provided on callbacks.
+ * @userData: if using SAX, this pointer will be provided on callbacks.
*
* parse an SGML in-memory document and build a tree.
* It use the given SAX function block to handle the parsing callback.
* If sax is NULL, fallback to the default DOM tree building routines.
- *
+ *
* Returns the resulting document tree
*/
@@ -196,7 +196,7 @@ docbSAXParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,
* @encoding: a free form C string describing the SGML document encoding, or NULL
*
* parse an SGML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
@@ -221,7 +221,7 @@ docbParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,
* @filename: the filename
* @encoding: the SGML document encoding, or NULL
*
- * Create a parser context for a file content.
+ * Create a parser context for a file content.
* Automatic support for ZLIB/Compress compressed document is provided
* by default if found at compile-time.
*
@@ -247,7 +247,7 @@ docbCreateFileParserCtxt(const char *filename ATTRIBUTE_UNUSED,
* @filename: the filename
* @encoding: a free form C string describing the SGML document encoding, or NULL
* @sax: the SAX handler block
- * @userData: if using SAX, this pointer will be provided on callbacks.
+ * @userData: if using SAX, this pointer will be provided on callbacks.
*
* parse an SGML file and build a tree. Automatic support for ZLIB/Compress
* compressed document is provided by default if found at compile-time.
diff --git a/gettext-tools/gnulib-lib/libxml/DOCBparser.in.h b/gettext-tools/gnulib-lib/libxml/DOCBparser.in.h
index 461d4ee..9394fa7 100644
--- a/gettext-tools/gnulib-lib/libxml/DOCBparser.in.h
+++ b/gettext-tools/gnulib-lib/libxml/DOCBparser.in.h
@@ -47,44 +47,44 @@ XMLPUBFUN int XMLCALL
const unsigned char *in,
int *inlen, int quoteChar);
-XMLPUBFUN docbDocPtr XMLCALL
+XMLPUBFUN docbDocPtr XMLCALL
docbSAXParseDoc (xmlChar *cur,
const char *encoding,
docbSAXHandlerPtr sax,
void *userData);
-XMLPUBFUN docbDocPtr XMLCALL
+XMLPUBFUN docbDocPtr XMLCALL
docbParseDoc (xmlChar *cur,
const char *encoding);
-XMLPUBFUN docbDocPtr XMLCALL
+XMLPUBFUN docbDocPtr XMLCALL
docbSAXParseFile (const char *filename,
const char *encoding,
docbSAXHandlerPtr sax,
void *userData);
-XMLPUBFUN docbDocPtr XMLCALL
+XMLPUBFUN docbDocPtr XMLCALL
docbParseFile (const char *filename,
const char *encoding);
/**
* Interfaces for the Push mode.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
docbFreeParserCtxt (docbParserCtxtPtr ctxt);
-XMLPUBFUN docbParserCtxtPtr XMLCALL
+XMLPUBFUN docbParserCtxtPtr XMLCALL
docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
void *user_data,
const char *chunk,
int size,
const char *filename,
xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
docbParseChunk (docbParserCtxtPtr ctxt,
const char *chunk,
int size,
int terminate);
-XMLPUBFUN docbParserCtxtPtr XMLCALL
+XMLPUBFUN docbParserCtxtPtr XMLCALL
docbCreateFileParserCtxt(const char *filename,
const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
docbParseDocument (docbParserCtxtPtr ctxt);
#ifdef __cplusplus
diff --git a/gettext-tools/gnulib-lib/libxml/HTMLparser.c b/gettext-tools/gnulib-lib/libxml/HTMLparser.c
index 5e23ad7..b729197 100644
--- a/gettext-tools/gnulib-lib/libxml/HTMLparser.c
+++ b/gettext-tools/gnulib-lib/libxml/HTMLparser.c
@@ -44,6 +44,9 @@
#include <libxml/globals.h>
#include <libxml/uri.h>
+#include "buf.h"
+#include "enc.h"
+
#define HTML_MAX_NAMELEN 1000
#define HTML_PARSER_BIG_BUFFER_SIZE 1000
#define HTML_PARSER_BUFFER_SIZE 100
@@ -59,7 +62,7 @@ static void htmlParseComment(htmlParserCtxtPtr ctxt);
/************************************************************************
* *
- * Some factorized error routines *
+ * Some factorized error routines *
* *
************************************************************************/
@@ -147,7 +150,7 @@ htmlParseErrInt(xmlParserCtxtPtr ctxt, xmlParserErrors error,
/************************************************************************
* *
- * Parser stacks related functions and macros *
+ * Parser stacks related functions and macros *
* *
************************************************************************/
@@ -163,6 +166,10 @@ htmlParseErrInt(xmlParserCtxtPtr ctxt, xmlParserErrors error,
static int
htmlnamePush(htmlParserCtxtPtr ctxt, const xmlChar * value)
{
+ if ((ctxt->html < 3) && (xmlStrEqual(value, BAD_CAST "head")))
+ ctxt->html = 3;
+ if ((ctxt->html < 10) && (xmlStrEqual(value, BAD_CAST "body")))
+ ctxt->html = 10;
if (ctxt->nameNr >= ctxt->nameMax) {
ctxt->nameMax *= 2;
ctxt->nameTab = (const xmlChar * *)
@@ -205,6 +212,59 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
return (ret);
}
+/**
+ * htmlNodeInfoPush:
+ * @ctxt: an HTML parser context
+ * @value: the node info
+ *
+ * Pushes a new element name on top of the node info stack
+ *
+ * Returns 0 in case of error, the index in the stack otherwise
+ */
+static int
+htmlNodeInfoPush(htmlParserCtxtPtr ctxt, htmlParserNodeInfo *value)
+{
+ if (ctxt->nodeInfoNr >= ctxt->nodeInfoMax) {
+ if (ctxt->nodeInfoMax == 0)
+ ctxt->nodeInfoMax = 5;
+ ctxt->nodeInfoMax *= 2;
+ ctxt->nodeInfoTab = (htmlParserNodeInfo *)
+ xmlRealloc((htmlParserNodeInfo *)ctxt->nodeInfoTab,
+ ctxt->nodeInfoMax *
+ sizeof(ctxt->nodeInfoTab[0]));
+ if (ctxt->nodeInfoTab == NULL) {
+ htmlErrMemory(ctxt, NULL);
+ return (0);
+ }
+ }
+ ctxt->nodeInfoTab[ctxt->nodeInfoNr] = *value;
+ ctxt->nodeInfo = &ctxt->nodeInfoTab[ctxt->nodeInfoNr];
+ return (ctxt->nodeInfoNr++);
+}
+
+/**
+ * htmlNodeInfoPop:
+ * @ctxt: an HTML parser context
+ *
+ * Pops the top element name from the node info stack
+ *
+ * Returns 0 in case of error, the pointer to NodeInfo otherwise
+ */
+static htmlParserNodeInfo *
+htmlNodeInfoPop(htmlParserCtxtPtr ctxt)
+{
+ if (ctxt->nodeInfoNr <= 0)
+ return (NULL);
+ ctxt->nodeInfoNr--;
+ if (ctxt->nodeInfoNr < 0)
+ return (NULL);
+ if (ctxt->nodeInfoNr > 0)
+ ctxt->nodeInfo = &ctxt->nodeInfoTab[ctxt->nodeInfoNr - 1];
+ else
+ ctxt->nodeInfo = NULL;
+ return &ctxt->nodeInfoTab[ctxt->nodeInfoNr];
+}
+
/*
* Macros for accessing the content. Those should be used only by the parser,
* and not exported.
@@ -263,8 +323,6 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
#define NEXT xmlNextChar(ctxt)
#define RAW (ctxt->token ? -1 : (*ctxt->input->cur))
-#define NXT(val) ctxt->input->cur[(val)]
-#define CUR_PTR ctxt->input->cur
#define NEXTL(l) do { \
@@ -273,7 +331,7 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
} else ctxt->input->col++; \
ctxt->token = 0; ctxt->input->cur += l; ctxt->nbChars++; \
} while (0)
-
+
/************
\
if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt); \
@@ -288,6 +346,58 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
else i += xmlCopyChar(l,&b[i],v)
/**
+ * htmlFindEncoding:
+ * @the HTML parser context
+ *
+ * Ty to find and encoding in the current data available in the input
+ * buffer this is needed to try to switch to the proper encoding when
+ * one face a character error.
+ * That's an heuristic, since it's operating outside of parsing it could
+ * try to use a meta which had been commented out, that's the reason it
+ * should only be used in case of error, not as a default.
+ *
+ * Returns an encoding string or NULL if not found, the string need to
+ * be freed
+ */
+static xmlChar *
+htmlFindEncoding(xmlParserCtxtPtr ctxt) {
+ const xmlChar *start, *cur, *end;
+
+ if ((ctxt == NULL) || (ctxt->input == NULL) ||
+ (ctxt->input->encoding != NULL) || (ctxt->input->buf == NULL) ||
+ (ctxt->input->buf->encoder != NULL))
+ return(NULL);
+ if ((ctxt->input->cur == NULL) || (ctxt->input->end == NULL))
+ return(NULL);
+
+ start = ctxt->input->cur;
+ end = ctxt->input->end;
+ /* we also expect the input buffer to be zero terminated */
+ if (*end != 0)
+ return(NULL);
+
+ cur = xmlStrcasestr(start, BAD_CAST "HTTP-EQUIV");
+ if (cur == NULL)
+ return(NULL);
+ cur = xmlStrcasestr(cur, BAD_CAST "CONTENT");
+ if (cur == NULL)
+ return(NULL);
+ cur = xmlStrcasestr(cur, BAD_CAST "CHARSET=");
+ if (cur == NULL)
+ return(NULL);
+ cur += 8;
+ start = cur;
+ while (((*cur >= 'A') && (*cur <= 'Z')) ||
+ ((*cur >= 'a') && (*cur <= 'z')) ||
+ ((*cur >= '0') && (*cur <= '9')) ||
+ (*cur == '-') || (*cur == '_') || (*cur == ':') || (*cur == '/'))
+ cur++;
+ if (cur == start)
+ return(NULL);
+ return(xmlStrndup(start, cur - start));
+}
+
+/**
* htmlCurrentChar:
* @ctxt: the HTML parser context
* @len: pointer to the length of the char read
@@ -309,7 +419,7 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
if (ctxt->token != 0) {
*len = 0;
return(ctxt->token);
- }
+ }
if (ctxt->charset == XML_CHAR_ENCODING_UTF8) {
/*
* We are supposed to handle UTF8, check it's valid
@@ -318,7 +428,7 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
* UCS-4 range (hex.) UTF-8 octet sequence (binary)
* 0000 0000-0000 007F 0xxxxxxx
* 0000 0080-0000 07FF 110xxxxx 10xxxxxx
- * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
+ * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
*
* Check for the 0x110000 limit too
*/
@@ -328,19 +438,25 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
c = *cur;
if (c & 0x80) {
- if (cur[1] == 0)
+ if (cur[1] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if ((cur[1] & 0xc0) != 0x80)
goto encoding_error;
if ((c & 0xe0) == 0xe0) {
- if (cur[2] == 0)
+ if (cur[2] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if ((cur[2] & 0xc0) != 0x80)
goto encoding_error;
if ((c & 0xf0) == 0xf0) {
- if (cur[3] == 0)
+ if (cur[3] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if (((c & 0xf8) != 0xf0) ||
((cur[3] & 0xc0) != 0x80))
goto encoding_error;
@@ -366,9 +482,16 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
if (!IS_CHAR(val)) {
htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
"Char 0x%X out of allowed range\n", val);
- }
+ }
return(val);
} else {
+ if ((*ctxt->input->cur == 0) &&
+ (ctxt->input->cur < ctxt->input->end)) {
+ htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
+ "Char 0x%X out of allowed range\n", 0);
+ *len = 1;
+ return(' ');
+ }
/* 1-byte code */
*len = 1;
return((int) *ctxt->input->cur);
@@ -386,8 +509,28 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
/*
* Humm this is bad, do an automatic flow conversion
*/
- xmlSwitchEncoding(ctxt, XML_CHAR_ENCODING_8859_1);
- ctxt->charset = XML_CHAR_ENCODING_UTF8;
+ {
+ xmlChar * guess;
+ xmlCharEncodingHandlerPtr handler;
+
+ guess = htmlFindEncoding(ctxt);
+ if (guess == NULL) {
+ xmlSwitchEncoding(ctxt, XML_CHAR_ENCODING_8859_1);
+ } else {
+ if (ctxt->input->encoding != NULL)
+ xmlFree((xmlChar *) ctxt->input->encoding);
+ ctxt->input->encoding = guess;
+ handler = xmlFindCharEncodingHandler((const char *) guess);
+ if (handler != NULL) {
+ xmlSwitchToEncoding(ctxt, handler);
+ } else {
+ htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
+ "Unsupported encoding %s", guess, NULL);
+ }
+ }
+ ctxt->charset = XML_CHAR_ENCODING_UTF8;
+ }
+
return(xmlCurrentChar(ctxt, len));
encoding_error:
@@ -401,15 +544,19 @@ encoding_error:
{
char buffer[150];
- snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
- ctxt->input->cur[0], ctxt->input->cur[1],
- ctxt->input->cur[2], ctxt->input->cur[3]);
+ if (ctxt->input->end - ctxt->input->cur >= 4) {
+ snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+ ctxt->input->cur[0], ctxt->input->cur[1],
+ ctxt->input->cur[2], ctxt->input->cur[3]);
+ } else {
+ snprintf(buffer, 149, "Bytes: 0x%02X\n", ctxt->input->cur[0]);
+ }
htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
"Input is not proper UTF-8, indicate encoding !\n",
BAD_CAST buffer, NULL);
}
- ctxt->charset = XML_CHAR_ENCODING_8859_1;
+ ctxt->charset = XML_CHAR_ENCODING_8859_1;
*len = 1;
return((int) *ctxt->input->cur);
}
@@ -449,7 +596,7 @@ htmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
/************************************************************************
* *
- * The list of HTML elements and their properties *
+ * The list of HTML elements and their properties *
* *
************************************************************************/
@@ -472,11 +619,11 @@ htmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
#define NB_FONTSTYLE 8
#define PHRASE "em", "strong", "dfn", "code", "samp", "kbd", "var", "cite", "abbr", "acronym"
#define NB_PHRASE 10
-#define SPECIAL "a", "img", "applet", "object", "font", "basefont", "br", "script", "map", "q", "sub", "sup", "span", "bdo", "iframe"
-#define NB_SPECIAL 15
-#define INLINE PCDATA FONTSTYLE PHRASE SPECIAL FORMCTRL
+#define SPECIAL "a", "img", "applet", "embed", "object", "font", "basefont", "br", "script", "map", "q", "sub", "sup", "span", "bdo", "iframe"
+#define NB_SPECIAL 16
+#define INLINE FONTSTYLE, PHRASE, SPECIAL, FORMCTRL
#define NB_INLINE NB_PCDATA + NB_FONTSTYLE + NB_PHRASE + NB_SPECIAL + NB_FORMCTRL
-#define BLOCK HEADING, LIST "pre", "p", "dl", "div", "center", "noscript", "noframes", "blockquote", "form", "isindex", "hr", "table", "fieldset", "address"
+#define BLOCK HEADING, LIST, "pre", "p", "dl", "div", "center", "noscript", "noframes", "blockquote", "form", "isindex", "hr", "table", "fieldset", "address"
#define NB_BLOCK NB_HEADING + NB_LIST + 14
#define FORMCTRL "input", "select", "textarea", "label", "button"
#define NB_FORMCTRL 5
@@ -572,6 +719,7 @@ static const char* const version_attr[] = { "version", NULL } ;
static const char* const html_content[] = { "head", "body", "frameset", NULL } ;
static const char* const iframe_attrs[] = { COREATTRS, "longdesc", "name", "src", "frameborder", "marginwidth", "marginheight", "scrolling", "align", "height", "width", NULL } ;
static const char* const img_attrs[] = { ATTRS, "longdesc", "name", "height", "width", "usemap", "ismap", NULL } ;
+static const char* const embed_attrs[] = { COREATTRS, "align", "alt", "border", "code", "codebase", "frameborder", "height", "hidden", "hspace", "name", "palette", "pluginspace", "pluginurl", "src", "type", "units", "vspace", "width", NULL } ;
static const char* const input_attrs[] = { ATTRS, "type", "name", "value", "checked", "disabled", "readonly", "size", "maxlength", "src", "alt", "usemap", "ismap", "tabindex", "accesskey", "onfocus", "onblur", "onselect", "onchange", "accept", NULL } ;
static const char* const prompt_attrs[] = { COREATTRS, I18N, "prompt", NULL } ;
static const char* const label_attrs[] = { ATTRS, "for", "accesskey", "onfocus", "onblur", NULL } ;
@@ -582,7 +730,7 @@ static const char* const map_contents[] = { BLOCK, "area", NULL } ;
static const char* const name_attr[] = { "name", NULL } ;
static const char* const action_attr[] = { "action", NULL } ;
static const char* const blockli_elt[] = { BLOCK, "li", NULL } ;
-static const char* const meta_attrs[] = { I18N, "http-equiv", "name", "scheme", NULL } ;
+static const char* const meta_attrs[] = { I18N, "http-equiv", "name", "scheme", "charset", NULL } ;
static const char* const content_attr[] = { "content", NULL } ;
static const char* const type_attr[] = { "type", NULL } ;
static const char* const noframes_content[] = { "body", FLOW MODIFIER, NULL } ;
@@ -601,7 +749,7 @@ static const char* const language_attr[] = { "language", NULL } ;
static const char* const select_content[] = { "optgroup", "option", NULL } ;
static const char* const select_attrs[] = { ATTRS, "name", "size", "multiple", "disabled", "tabindex", "onfocus", "onblur", "onchange", NULL } ;
static const char* const style_attrs[] = { I18N, "media", "title", NULL } ;
-static const char* const table_attrs[] = { ATTRS "summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding", "datapagesize", NULL } ;
+static const char* const table_attrs[] = { ATTRS, "summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding", "datapagesize", NULL } ;
static const char* const table_depr[] = { "align", "bgcolor", NULL } ;
static const char* const table_contents[] = { "caption", "col", "colgroup", "thead", "tfoot", "tbody", "tr", NULL} ;
static const char* const tr_elt[] = { "tr", NULL } ;
@@ -698,7 +846,7 @@ html40ElementTable[] = {
DECL html_flow, NULL, DECL html_attrs, DECL align_attr, NULL
},
{ "dl", 0, 0, 0, 0, 0, 0, 0, "definition list ",
- DECL dl_contents , "dd" , html_attrs, DECL compact_attr, NULL
+ DECL dl_contents , "dd" , DECL html_attrs, DECL compact_attr, NULL
},
{ "dt", 0, 1, 0, 0, 0, 0, 0, "definition term ",
DECL html_inline, NULL, DECL html_attrs, NULL, NULL
@@ -706,6 +854,9 @@ html40ElementTable[] = {
{ "em", 0, 3, 0, 0, 0, 0, 1, "emphasis",
DECL html_inline, NULL, DECL html_attrs, NULL, NULL
},
+{ "embed", 0, 1, 0, 0, 1, 1, 1, "generic embedded object ",
+ EMPTY, NULL, DECL embed_attrs, NULL, NULL
+},
{ "fieldset", 0, 0, 0, 0, 0, 0, 0, "form control group ",
DECL fieldset_contents , NULL, DECL html_attrs, NULL, NULL
},
@@ -755,7 +906,7 @@ html40ElementTable[] = {
DECL html_flow, NULL, NULL, DECL iframe_attrs, NULL
},
{ "img", 0, 2, 2, 1, 0, 0, 1, "embedded image ",
- EMPTY, NULL, DECL img_attrs, DECL align_attr, src_alt_attrs
+ EMPTY, NULL, DECL img_attrs, DECL align_attr, DECL src_alt_attrs
},
{ "input", 0, 2, 2, 1, 0, 0, 1, "form control ",
EMPTY, NULL, DECL input_attrs , DECL align_attr, NULL
@@ -782,7 +933,7 @@ html40ElementTable[] = {
EMPTY, NULL, DECL link_attrs, DECL target_attr, NULL
},
{ "map", 0, 0, 0, 0, 0, 0, 2, "client-side image map ",
- DECL map_contents , NULL, DECL html_attrs , NULL, name_attr
+ DECL map_contents , NULL, DECL html_attrs , NULL, DECL name_attr
},
{ "menu", 0, 0, 0, 0, 1, 1, 0, "menu list ",
DECL blockli_elt , NULL, NULL, DECL compact_attrs, NULL
@@ -803,7 +954,7 @@ html40ElementTable[] = {
DECL li_elt , "li" , DECL html_attrs, DECL ol_attrs, NULL
},
{ "optgroup", 0, 0, 0, 0, 0, 0, 0, "option group ",
- option_elt , "option", DECL optgroup_attrs, NULL, DECL label_attr
+ DECL option_elt , "option", DECL optgroup_attrs, NULL, DECL label_attr
},
{ "option", 0, 1, 0, 0, 0, 0, 0, "selectable choice " ,
DECL html_pcdata, NULL, DECL option_attrs, NULL, NULL
@@ -812,7 +963,7 @@ html40ElementTable[] = {
DECL html_inline, NULL, DECL html_attrs, DECL align_attr, NULL
},
{ "param", 0, 2, 2, 1, 0, 0, 0, "named property value ",
- EMPTY, NULL, DECL param_attrs, NULL, name_attr
+ EMPTY, NULL, DECL param_attrs, NULL, DECL name_attr
},
{ "pre", 0, 0, 0, 0, 0, 0, 0, "preformatted text ",
DECL pre_content, NULL, DECL html_attrs, DECL width_attr, NULL
@@ -930,18 +1081,18 @@ static const char * const htmlStartClose[] = {
"listing", "xmp", NULL,
"ol", "p", "head", "ul", NULL,
"menu", "p", "head", "ul", NULL,
-"p", "p", "head", "h1", "h2", "h3", "h4", "h5", "h6", NULL,
+"p", "p", "head", "h1", "h2", "h3", "h4", "h5", "h6", FONTSTYLE, NULL,
"div", "p", "head", NULL,
-"noscript", "p", "head", NULL,
+"noscript", "p", NULL,
"center", "font", "b", "i", "p", "head", NULL,
-"a", "a", NULL,
+"a", "a", "head", NULL,
"caption", "p", NULL,
"colgroup", "caption", "colgroup", "col", "p", NULL,
"col", "caption", "col", "p", NULL,
"table", "p", "head", "h1", "h2", "h3", "h4", "h5", "h6", "pre",
"listing", "xmp", "a", NULL,
"th", "th", "td", "p", "span", "font", "a", "b", "i", "u", NULL,
-"td", "th", "td", "p", "span", "font", "a", "b", "i", "u", NULL,
+"td", "th", "td", "p", "span", "font", "a", "b", "i", "u", NULL,
"tr", "th", "td", "tr", "caption", "col", "colgroup", "p", NULL,
"thead", "caption", "col", "colgroup", NULL,
"tfoot", "th", "td", "tr", "caption", "col", "colgroup", "thead",
@@ -952,6 +1103,43 @@ static const char * const htmlStartClose[] = {
"option", "option", NULL,
"fieldset", "legend", "p", "head", "h1", "h2", "h3", "h4", "h5", "h6",
"pre", "listing", "xmp", "a", NULL,
+/* most tags in in FONTSTYLE, PHRASE and SPECIAL should close <head> */
+"tt", "head", NULL,
+"i", "head", NULL,
+"b", "head", NULL,
+"u", "head", NULL,
+"s", "head", NULL,
+"strike", "head", NULL,
+"big", "head", NULL,
+"small", "head", NULL,
+
+"em", "head", NULL,
+"strong", "head", NULL,
+"dfn", "head", NULL,
+"code", "head", NULL,
+"samp", "head", NULL,
+"kbd", "head", NULL,
+"var", "head", NULL,
+"cite", "head", NULL,
+"abbr", "head", NULL,
+"acronym", "head", NULL,
+
+/* "a" */
+"img", "head", NULL,
+/* "applet" */
+/* "embed" */
+/* "object" */
+"font", "head", NULL,
+/* "basefont" */
+"br", "head", NULL,
+/* "script" */
+"map", "head", NULL,
+"q", "head", NULL,
+"sub", "head", NULL,
+"sup", "head", NULL,
+"span", "head", NULL,
+"bdo", "head", NULL,
+"iframe", "head", NULL,
NULL
};
@@ -989,7 +1177,7 @@ static const char *const htmlScriptAttributes[] = {
"onfocus",
"onblur",
"onsubmit",
- "onrest",
+ "onreset",
"onchange",
"onselect"
};
@@ -1000,7 +1188,7 @@ static const char *const htmlScriptAttributes[] = {
* elements the parser can decide how to handle extra endtags.
* Endtags are only allowed to close elements with lower or equal
* priority.
- */
+ */
typedef struct {
const char *name;
@@ -1027,7 +1215,7 @@ static int htmlStartCloseIndexinitialized = 0;
/************************************************************************
* *
- * functions to handle HTML specific data *
+ * functions to handle HTML specific data *
* *
************************************************************************/
@@ -1077,7 +1265,7 @@ htmlTagLookup(const xmlChar *tag) {
/**
* htmlGetEndPriority:
* @name: The name of the element to look up the priority for.
- *
+ *
* Return value: The "endtag" priority.
**/
static int
@@ -1156,7 +1344,7 @@ htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar * newtag)
* A missplaced endtag can only close elements with lower
* or equal priority, so if we find an element with higher
* priority before we find an element with
- * matching name, we just ignore this endtag
+ * matching name, we just ignore this endtag
*/
if (htmlGetEndPriority(ctxt->nameTab[i]) > priority)
return;
@@ -1207,7 +1395,7 @@ htmlAutoCloseOnEnd(htmlParserCtxtPtr ctxt)
* called when a new tag has been detected and generates the
* appropriates closes if possible/needed.
* If newtag is NULL this mean we are at the end of the resource
- * and we should check
+ * and we should check
*/
static void
htmlAutoClose(htmlParserCtxtPtr ctxt, const xmlChar * newtag)
@@ -1295,6 +1483,10 @@ htmlIsAutoClosed(htmlDocPtr doc, htmlNodePtr elem) {
*/
static void
htmlCheckImplied(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
+ int i;
+
+ if (ctxt->options & HTML_PARSE_NOIMPLIED)
+ return;
if (!htmlOmittedDefaultValue)
return;
if (xmlStrEqual(newtag, BAD_CAST"html"))
@@ -1306,24 +1498,31 @@ htmlCheckImplied(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
}
if ((xmlStrEqual(newtag, BAD_CAST"body")) || (xmlStrEqual(newtag, BAD_CAST"head")))
return;
- if ((ctxt->nameNr <= 1) &&
+ if ((ctxt->nameNr <= 1) &&
((xmlStrEqual(newtag, BAD_CAST"script")) ||
(xmlStrEqual(newtag, BAD_CAST"style")) ||
(xmlStrEqual(newtag, BAD_CAST"meta")) ||
(xmlStrEqual(newtag, BAD_CAST"link")) ||
(xmlStrEqual(newtag, BAD_CAST"title")) ||
(xmlStrEqual(newtag, BAD_CAST"base")))) {
- /*
- * dropped OBJECT ... i you put it first BODY will be
- * assumed !
- */
- htmlnamePush(ctxt, BAD_CAST"head");
- if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL))
- ctxt->sax->startElement(ctxt->userData, BAD_CAST"head", NULL);
+ if (ctxt->html >= 3) {
+ /* we already saw or generated an <head> before */
+ return;
+ }
+ /*
+ * dropped OBJECT ... i you put it first BODY will be
+ * assumed !
+ */
+ htmlnamePush(ctxt, BAD_CAST"head");
+ if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL))
+ ctxt->sax->startElement(ctxt->userData, BAD_CAST"head", NULL);
} else if ((!xmlStrEqual(newtag, BAD_CAST"noframes")) &&
(!xmlStrEqual(newtag, BAD_CAST"frame")) &&
(!xmlStrEqual(newtag, BAD_CAST"frameset"))) {
- int i;
+ if (ctxt->html >= 10) {
+ /* we already saw or generated a <body> before */
+ return;
+ }
for (i = 0;i < ctxt->nameNr;i++) {
if (xmlStrEqual(ctxt->nameTab[i], BAD_CAST"body")) {
return;
@@ -1332,7 +1531,7 @@ htmlCheckImplied(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
return;
}
}
-
+
htmlnamePush(ctxt, BAD_CAST"body");
if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL))
ctxt->sax->startElement(ctxt->userData, BAD_CAST"body", NULL);
@@ -1394,12 +1593,12 @@ htmlIsScriptAttribute(const xmlChar *name) {
unsigned int i;
if (name == NULL)
- return(0);
+ return(0);
/*
* all script attributes start with 'on'
*/
if ((name[0] != 'o') || (name[1] != 'n'))
- return(0);
+ return(0);
for (i = 0;
i < sizeof(htmlScriptAttributes)/sizeof(htmlScriptAttributes[0]);
i++) {
@@ -1411,7 +1610,7 @@ htmlIsScriptAttribute(const xmlChar *name) {
/************************************************************************
* *
- * The list of HTML predefined entities *
+ * The list of HTML predefined entities *
* *
************************************************************************/
@@ -1825,7 +2024,7 @@ UTF8ToHtml(unsigned char* out, int *outlen,
if (inend - in < trailing) {
break;
- }
+ }
for ( ; trailing; trailing--) {
if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80))
@@ -1842,6 +2041,8 @@ UTF8ToHtml(unsigned char* out, int *outlen,
} else {
int len;
const htmlEntityDesc * ent;
+ const char *cp;
+ char nbuf[16];
/*
* Try to lookup a predefined HTML entity for it
@@ -1849,16 +2050,16 @@ UTF8ToHtml(unsigned char* out, int *outlen,
ent = htmlEntityValueLookup(c);
if (ent == NULL) {
- /* no chance for this in Ascii */
- *outlen = out - outstart;
- *inlen = processed - instart;
- return(-2);
+ snprintf(nbuf, sizeof(nbuf), "#%u", c);
+ cp = nbuf;
}
- len = strlen(ent->name);
+ else
+ cp = ent->name;
+ len = strlen(cp);
if (out + 2 + len >= outend)
break;
*out++ = '&';
- memcpy(out, ent->name, len);
+ memcpy(out, cp, len);
out += len;
*out++ = ';';
}
@@ -2013,7 +2214,7 @@ htmlNewInputStream(htmlParserCtxtPtr ctxt) {
* *
************************************************************************/
/*
- * all tags allowing pc data from the html 4.01 loose dtd
+ * all tags allowing pc data from the html 4.01 loose dtd
* NOTE: it might be more apropriate to integrate this information
* into the html40ElementTable array but I don't want to risk any
* binary incomptibility
@@ -2073,7 +2274,7 @@ static int areBlanks(htmlParserCtxtPtr ctxt, const xmlChar *str, int len) {
if (lastChild == NULL) {
if ((ctxt->node->type != XML_ELEMENT_NODE) &&
(ctxt->node->content != NULL)) return(0);
- /* keep ws in constructs like ...<b> </b>...
+ /* keep ws in constructs like ...<b> </b>...
for all tags "b" allowing PCDATA */
for ( i = 0; i < sizeof(allowPCData)/sizeof(allowPCData[0]); i++ ) {
if ( xmlStrEqual(ctxt->name, BAD_CAST allowPCData[i]) ) {
@@ -2083,7 +2284,7 @@ static int areBlanks(htmlParserCtxtPtr ctxt, const xmlChar *str, int len) {
} else if (xmlNodeIsText(lastChild)) {
return(0);
} else {
- /* keep ws in constructs like <p><b>xy</b> <i>z</i><p>
+ /* keep ws in constructs like <p><b>xy</b> <i>z</i><p>
for all tags "p" allowing PCDATA */
for ( i = 0; i < sizeof(allowPCData)/sizeof(allowPCData[0]); i++ ) {
if ( xmlStrEqual(lastChild->name, BAD_CAST allowPCData[i]) ) {
@@ -2123,7 +2324,7 @@ htmlNewDocNoDtD(const xmlChar *URI, const xmlChar *ExternalID) {
cur->intSubset = NULL;
cur->doc = cur;
cur->name = NULL;
- cur->children = NULL;
+ cur->children = NULL;
cur->extSubset = NULL;
cur->oldNs = NULL;
cur->encoding = NULL;
@@ -2133,6 +2334,7 @@ htmlNewDocNoDtD(const xmlChar *URI, const xmlChar *ExternalID) {
cur->refs = NULL;
cur->_private = NULL;
cur->charset = XML_CHAR_ENCODING_UTF8;
+ cur->properties = XML_DOC_HTML | XML_DOC_USERBUILT;
if ((ExternalID != NULL) ||
(URI != NULL))
xmlCreateIntSubset(cur, BAD_CAST "html", ExternalID, URI);
@@ -2190,21 +2392,54 @@ htmlParseHTMLName(htmlParserCtxtPtr ctxt) {
xmlChar loc[HTML_PARSER_BUFFER_SIZE];
if (!IS_ASCII_LETTER(CUR) && (CUR != '_') &&
- (CUR != ':')) return(NULL);
+ (CUR != ':') && (CUR != '.')) return(NULL);
while ((i < HTML_PARSER_BUFFER_SIZE) &&
((IS_ASCII_LETTER(CUR)) || (IS_ASCII_DIGIT(CUR)) ||
- (CUR == ':') || (CUR == '-') || (CUR == '_'))) {
+ (CUR == ':') || (CUR == '-') || (CUR == '_') ||
+ (CUR == '.'))) {
if ((CUR >= 'A') && (CUR <= 'Z')) loc[i] = CUR + 0x20;
else loc[i] = CUR;
i++;
-
+
NEXT;
}
-
+
return(xmlDictLookup(ctxt->dict, loc, i));
}
+
+/**
+ * htmlParseHTMLName_nonInvasive:
+ * @ctxt: an HTML parser context
+ *
+ * parse an HTML tag or attribute name, note that we convert it to lowercase
+ * since HTML names are not case-sensitive, this doesn't consume the data
+ * from the stream, it's a look-ahead
+ *
+ * Returns the Tag Name parsed or NULL
+ */
+
+static const xmlChar *
+htmlParseHTMLName_nonInvasive(htmlParserCtxtPtr ctxt) {
+ int i = 0;
+ xmlChar loc[HTML_PARSER_BUFFER_SIZE];
+
+ if (!IS_ASCII_LETTER(NXT(1)) && (NXT(1) != '_') &&
+ (NXT(1) != ':')) return(NULL);
+
+ while ((i < HTML_PARSER_BUFFER_SIZE) &&
+ ((IS_ASCII_LETTER(NXT(1+i))) || (IS_ASCII_DIGIT(NXT(1+i))) ||
+ (NXT(1+i) == ':') || (NXT(1+i) == '-') || (NXT(1+i) == '_'))) {
+ if ((NXT(1+i) >= 'A') && (NXT(1+i) <= 'Z')) loc[i] = NXT(1+i) + 0x20;
+ else loc[i] = NXT(1+i);
+ i++;
+ }
+
+ return(xmlDictLookup(ctxt->dict, loc, i));
+}
+
+
/**
* htmlParseName:
* @ctxt: an HTML parser context
@@ -2268,7 +2503,7 @@ htmlParseNameComplex(xmlParserCtxtPtr ctxt) {
while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
((IS_LETTER(c)) || (IS_DIGIT(c)) ||
(c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
+ (c == '_') || (c == ':') ||
(IS_COMBINING(c)) ||
(IS_EXTENDER(c)))) {
if (count++ > 100) {
@@ -2287,7 +2522,7 @@ htmlParseNameComplex(xmlParserCtxtPtr ctxt) {
* htmlParseHTMLAttribute:
* @ctxt: an HTML parser context
* @stop: a char stop value
- *
+ *
* parse an HTML attribute value till the stop (quote), if
* stop is 0 then it stops at the first space
*
@@ -2332,13 +2567,13 @@ htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
{ *out++ =((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000)
{ *out++ =((c >> 12) & 0x0F) | 0xE0; bits= 6; }
- else
+ else
{ *out++ =((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
*out++ = ((c >> bits) & 0x3F) | 0x80;
}
-
+
if (out - buffer > buffer_size - 100) {
int indx = out - buffer;
@@ -2384,9 +2619,9 @@ htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
{ *out++ =((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000)
{ *out++ =((c >> 12) & 0x0F) | 0xE0; bits= 6; }
- else
+ else
{ *out++ =((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
*out++ = ((c >> bits) & 0x3F) | 0x80;
}
@@ -2409,16 +2644,16 @@ htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
{ *out++ =((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000)
{ *out++ =((c >> 12) & 0x0F) | 0xE0; bits= 6; }
- else
+ else
{ *out++ =((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
*out++ = ((c >> bits) & 0x3F) | 0x80;
}
NEXT;
}
}
- *out++ = 0;
+ *out = 0;
return(buffer);
}
@@ -2479,7 +2714,7 @@ htmlParseEntityRef(htmlParserCtxtPtr ctxt, const xmlChar **str) {
* parse a value for an attribute
* Note: the parser won't do substitution of entities here, this
* will be handled later in xmlStringGetNodeList, unless it was
- * asked for ctxt->replaceEntities != 0
+ * asked for ctxt->replaceEntities != 0
*
* Returns the AttValue parsed or NULL.
*/
@@ -2520,7 +2755,7 @@ htmlParseAttValue(htmlParserCtxtPtr ctxt) {
/**
* htmlParseSystemLiteral:
* @ctxt: an HTML parser context
- *
+ *
* parse an HTML Literal
*
* [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
@@ -2561,7 +2796,7 @@ htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) {
htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_STARTED,
" or ' expected\n", NULL, NULL);
}
-
+
return(ret);
}
@@ -2610,7 +2845,7 @@ htmlParsePubidLiteral(htmlParserCtxtPtr ctxt) {
htmlParseErr(ctxt, XML_ERR_LITERAL_NOT_STARTED,
"PubidLiteral \" or ' expected\n", NULL, NULL);
}
-
+
return(ret);
}
@@ -2644,23 +2879,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
SHRINK;
cur = CUR_CHAR(l);
while (IS_CHAR_CH(cur)) {
- if ((cur == '<') && (NXT(1) == '!') && (NXT(2) == '-') &&
- (NXT(3) == '-')) {
- if ((nbchar != 0) && (ctxt->sax != NULL) && (!ctxt->disableSAX)) {
- if (ctxt->sax->cdataBlock!= NULL) {
- /*
- * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
- */
- ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
- } else if (ctxt->sax->characters != NULL) {
- ctxt->sax->characters(ctxt->userData, buf, nbchar);
- }
- }
- nbchar = 0;
- htmlParseComment(ctxt);
- cur = CUR_CHAR(l);
- continue;
- } else if ((cur == '<') && (NXT(1) == '/')) {
+ if ((cur == '<') && (NXT(1) == '/')) {
/*
* One should break here, the specification is clear:
* Authors should therefore escape "</" within the content.
@@ -2673,8 +2892,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
* CDATA.
*/
if (ctxt->recovery) {
- if (xmlStrncasecmp(ctxt->name, ctxt->input->cur+2,
- xmlStrlen(ctxt->name)) == 0)
+ if (xmlStrncasecmp(ctxt->name, ctxt->input->cur+2,
+ xmlStrlen(ctxt->name)) == 0)
{
break; /* while */
} else {
@@ -2684,7 +2903,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
}
} else {
if (((NXT(2) >= 'A') && (NXT(2) <= 'Z')) ||
- ((NXT(2) >= 'a') && (NXT(2) <= 'z')))
+ ((NXT(2) >= 'a') && (NXT(2) <= 'z')))
{
break; /* while */
}
@@ -2708,9 +2927,11 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
}
if ((!(IS_CHAR_CH(cur))) && (!((cur == 0) && (ctxt->progressive)))) {
- htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
- "Invalid char in CDATA 0x%X\n", cur);
- NEXT;
+ htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
+ "Invalid char in CDATA 0x%X\n", cur);
+ if (ctxt->input->cur < ctxt->input->end) {
+ NEXT;
+ }
}
if ((nbchar != 0) && (ctxt->sax != NULL) && (!ctxt->disableSAX)) {
@@ -2727,8 +2948,9 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
/**
- * htmlParseCharData:
+ * htmlParseCharDataInternal:
* @ctxt: an HTML parser context
+ * @readahead: optional read ahead character in ascii range
*
* parse a CharData section.
* if we are within a CDATA section ']]>' marks an end of section.
@@ -2737,26 +2959,40 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
*/
static void
-htmlParseCharData(htmlParserCtxtPtr ctxt) {
- xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 5];
+htmlParseCharDataInternal(htmlParserCtxtPtr ctxt, int readahead) {
+ xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 6];
int nbchar = 0;
int cur, l;
+ int chunk = 0;
+
+ if (readahead)
+ buf[nbchar++] = readahead;
SHRINK;
cur = CUR_CHAR(l);
while (((cur != '<') || (ctxt->token == '<')) &&
- ((cur != '&') || (ctxt->token == '&')) &&
- (IS_CHAR(cur))) {
- COPY_BUF(l,buf,nbchar,cur);
+ ((cur != '&') || (ctxt->token == '&')) &&
+ (cur != 0)) {
+ if (!(IS_CHAR(cur))) {
+ htmlParseErrInt(ctxt, XML_ERR_INVALID_CHAR,
+ "Invalid char in CDATA 0x%X\n", cur);
+ } else {
+ COPY_BUF(l,buf,nbchar,cur);
+ }
if (nbchar >= HTML_PARSER_BIG_BUFFER_SIZE) {
/*
* Ok the segment is to be consumed as chars.
*/
if ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
if (areBlanks(ctxt, buf, nbchar)) {
- if (ctxt->sax->ignorableWhitespace != NULL)
- ctxt->sax->ignorableWhitespace(ctxt->userData,
- buf, nbchar);
+ if (ctxt->keepBlanks) {
+ if (ctxt->sax->characters != NULL)
+ ctxt->sax->characters(ctxt->userData, buf, nbchar);
+ } else {
+ if (ctxt->sax->ignorableWhitespace != NULL)
+ ctxt->sax->ignorableWhitespace(ctxt->userData,
+ buf, nbchar);
+ }
} else {
htmlCheckParagraph(ctxt);
if (ctxt->sax->characters != NULL)
@@ -2766,6 +3002,12 @@ htmlParseCharData(htmlParserCtxtPtr ctxt) {
nbchar = 0;
}
NEXTL(l);
+ chunk++;
+ if (chunk > HTML_PARSER_BUFFER_SIZE) {
+ chunk = 0;
+ SHRINK;
+ GROW;
+ }
cur = CUR_CHAR(l);
if (cur == 0) {
SHRINK;
@@ -2781,8 +3023,14 @@ htmlParseCharData(htmlParserCtxtPtr ctxt) {
*/
if ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
if (areBlanks(ctxt, buf, nbchar)) {
- if (ctxt->sax->ignorableWhitespace != NULL)
- ctxt->sax->ignorableWhitespace(ctxt->userData, buf, nbchar);
+ if (ctxt->keepBlanks) {
+ if (ctxt->sax->characters != NULL)
+ ctxt->sax->characters(ctxt->userData, buf, nbchar);
+ } else {
+ if (ctxt->sax->ignorableWhitespace != NULL)
+ ctxt->sax->ignorableWhitespace(ctxt->userData,
+ buf, nbchar);
+ }
} else {
htmlCheckParagraph(ctxt);
if (ctxt->sax->characters != NULL)
@@ -2799,6 +3047,21 @@ htmlParseCharData(htmlParserCtxtPtr ctxt) {
}
/**
+ * htmlParseCharData:
+ * @ctxt: an HTML parser context
+ *
+ * parse a CharData section.
+ * if we are within a CDATA section ']]>' marks an end of section.
+ *
+ * [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
+ */
+
+static void
+htmlParseCharData(htmlParserCtxtPtr ctxt) {
+ htmlParseCharDataInternal(ctxt, 0);
+}
+
+/**
* htmlParseExternalID:
* @ctxt: an HTML parser context
* @publicID: a xmlChar** receiving PubidLiteral
@@ -2960,7 +3223,7 @@ htmlParsePI(htmlParserCtxtPtr ctxt) {
}
xmlFree(buf);
} else {
- htmlParseErr(ctxt, XML_ERR_PI_NOT_STARTED,
+ htmlParseErr(ctxt, XML_ERR_PI_NOT_STARTED,
"PI is not started correctly", NULL, NULL);
}
ctxt->instate = state;
@@ -3001,12 +3264,17 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
ctxt->instate = state;
return;
}
+ len = 0;
+ buf[len] = 0;
q = CUR_CHAR(ql);
+ if (!IS_CHAR(q))
+ goto unfinished;
NEXTL(ql);
r = CUR_CHAR(rl);
+ if (!IS_CHAR(r))
+ goto unfinished;
NEXTL(rl);
cur = CUR_CHAR(l);
- len = 0;
while (IS_CHAR(cur) &&
((cur != '>') ||
(r != '-') || (q != '-'))) {
@@ -3037,18 +3305,20 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
}
}
buf[len] = 0;
- if (!IS_CHAR(cur)) {
- htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
- "Comment not terminated \n<!--%.50s\n", buf, NULL);
- xmlFree(buf);
- } else {
+ if (IS_CHAR(cur)) {
NEXT;
if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
(!ctxt->disableSAX))
ctxt->sax->comment(ctxt->userData, buf);
xmlFree(buf);
+ ctxt->instate = state;
+ return;
}
- ctxt->instate = state;
+
+unfinished:
+ htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
+ "Comment not terminated \n<!--%.50s\n", buf, NULL);
+ xmlFree(buf);
}
/**
@@ -3076,7 +3346,7 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) {
((NXT(2) == 'x') || NXT(2) == 'X')) {
SKIP(3);
while (CUR != ';') {
- if ((CUR >= '0') && (CUR <= '9'))
+ if ((CUR >= '0') && (CUR <= '9'))
val = val * 16 + (CUR - '0');
else if ((CUR >= 'a') && (CUR <= 'f'))
val = val * 16 + (CUR - 'a') + 10;
@@ -3084,9 +3354,9 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) {
val = val * 16 + (CUR - 'A') + 10;
else {
htmlParseErr(ctxt, XML_ERR_INVALID_HEX_CHARREF,
- "htmlParseCharRef: invalid hexadecimal value\n",
+ "htmlParseCharRef: missing semicolon\n",
NULL, NULL);
- return(0);
+ break;
}
NEXT;
}
@@ -3095,13 +3365,13 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) {
} else if ((CUR == '&') && (NXT(1) == '#')) {
SKIP(2);
while (CUR != ';') {
- if ((CUR >= '0') && (CUR <= '9'))
+ if ((CUR >= '0') && (CUR <= '9'))
val = val * 10 + (CUR - '0');
else {
htmlParseErr(ctxt, XML_ERR_INVALID_DEC_CHARREF,
- "htmlParseCharRef: invalid decimal value\n",
+ "htmlParseCharRef: missing semicolon\n",
NULL, NULL);
- return(0);
+ break;
}
NEXT;
}
@@ -3131,7 +3401,7 @@ htmlParseCharRef(htmlParserCtxtPtr ctxt) {
*
* parse a DOCTYPE declaration
*
- * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
+ * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
* ('[' (markupdecl | PEReference | S)* ']' S?)? '>'
*/
@@ -3235,11 +3505,6 @@ htmlParseAttribute(htmlParserCtxtPtr ctxt, xmlChar **value) {
NEXT;
SKIP_BLANKS;
val = htmlParseAttValue(ctxt);
- } else if (htmlIsBooleanAttr(name)) {
- /*
- * assume a minimized attribute
- */
- val = xmlStrdup(name);
}
*value = val;
@@ -3247,34 +3512,26 @@ htmlParseAttribute(htmlParserCtxtPtr ctxt, xmlChar **value) {
}
/**
- * htmlCheckEncoding:
+ * htmlCheckEncodingDirect:
* @ctxt: an HTML parser context
* @attvalue: the attribute value
*
- * Checks an http-equiv attribute from a Meta tag to detect
+ * Checks an attribute value to detect
* the encoding
* If a new encoding is detected the parser is switched to decode
* it and pass UTF8
*/
static void
-htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
- const xmlChar *encoding;
+htmlCheckEncodingDirect(htmlParserCtxtPtr ctxt, const xmlChar *encoding) {
- if ((ctxt == NULL) || (attvalue == NULL))
+ if ((ctxt == NULL) || (encoding == NULL) ||
+ (ctxt->options & HTML_PARSE_IGNORE_ENC))
return;
- /* do not change encoding */
+ /* do not change encoding */
if (ctxt->input->encoding != NULL)
return;
- encoding = xmlStrcasestr(attvalue, BAD_CAST"charset=");
- if (encoding != NULL) {
- encoding += 8;
- } else {
- encoding = xmlStrcasestr(attvalue, BAD_CAST"charset =");
- if (encoding != NULL)
- encoding += 9;
- }
if (encoding != NULL) {
xmlCharEncoding enc;
xmlCharEncodingHandlerPtr handler;
@@ -3290,7 +3547,7 @@ htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
* registered set of known encodings
*/
if (enc != XML_CHAR_ENCODING_ERROR) {
- if (((enc == XML_CHAR_ENCODING_UTF16LE) ||
+ if (((enc == XML_CHAR_ENCODING_UTF16LE) ||
(enc == XML_CHAR_ENCODING_UTF16BE) ||
(enc == XML_CHAR_ENCODING_UCS4LE) ||
(enc == XML_CHAR_ENCODING_UCS4BE)) &&
@@ -3312,7 +3569,9 @@ htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
xmlSwitchToEncoding(ctxt, handler);
ctxt->charset = XML_CHAR_ENCODING_UTF8;
} else {
- ctxt->errNo = XML_ERR_UNSUPPORTED_ENCODING;
+ htmlParseErr(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
+ "htmlCheckEncoding: unknown encoding %s\n",
+ encoding, NULL);
}
}
@@ -3327,22 +3586,51 @@ htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
* convert as much as possible to the parser reading buffer.
*/
processed = ctxt->input->cur - ctxt->input->base;
- xmlBufferShrink(ctxt->input->buf->buffer, processed);
- nbchars = xmlCharEncInFunc(ctxt->input->buf->encoder,
- ctxt->input->buf->buffer,
- ctxt->input->buf->raw);
+ xmlBufShrink(ctxt->input->buf->buffer, processed);
+ nbchars = xmlCharEncInput(ctxt->input->buf, 1);
if (nbchars < 0) {
htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
"htmlCheckEncoding: encoder error\n",
NULL, NULL);
}
- ctxt->input->base =
- ctxt->input->cur = ctxt->input->buf->buffer->content;
+ xmlBufResetInput(ctxt->input->buf->buffer, ctxt->input);
}
}
}
/**
+ * htmlCheckEncoding:
+ * @ctxt: an HTML parser context
+ * @attvalue: the attribute value
+ *
+ * Checks an http-equiv attribute from a Meta tag to detect
+ * the encoding
+ * If a new encoding is detected the parser is switched to decode
+ * it and pass UTF8
+ */
+static void
+htmlCheckEncoding(htmlParserCtxtPtr ctxt, const xmlChar *attvalue) {
+ const xmlChar *encoding;
+
+ if (!attvalue)
+ return;
+
+ encoding = xmlStrcasestr(attvalue, BAD_CAST"charset");
+ if (encoding != NULL) {
+ encoding += 7;
+ }
+ /*
+ * skip blank
+ */
+ if (encoding && IS_BLANK_CH(*encoding))
+ encoding = xmlStrcasestr(attvalue, BAD_CAST"=");
+ if (encoding && *encoding == '=') {
+ encoding ++;
+ htmlCheckEncodingDirect(ctxt, encoding);
+ }
+}
+
+/**
* htmlCheckMeta:
* @ctxt: an HTML parser context
* @atts: the attributes values
@@ -3366,6 +3654,8 @@ htmlCheckMeta(htmlParserCtxtPtr ctxt, const xmlChar **atts) {
if ((value != NULL) && (!xmlStrcasecmp(att, BAD_CAST"http-equiv"))
&& (!xmlStrcasecmp(value, BAD_CAST"Content-Type")))
http = 1;
+ else if ((value != NULL) && (!xmlStrcasecmp(att, BAD_CAST"charset")))
+ htmlCheckEncodingDirect(ctxt, value);
else if ((value != NULL) && (!xmlStrcasecmp(att, BAD_CAST"content")))
content = value;
att = atts[i++];
@@ -3378,7 +3668,7 @@ htmlCheckMeta(htmlParserCtxtPtr ctxt, const xmlChar **atts) {
/**
* htmlParseStartTag:
* @ctxt: an HTML parser context
- *
+ *
* parse a start of tag either for rule element or
* EmptyElement. In both case we don't parse the tag closing chars.
*
@@ -3392,7 +3682,7 @@ htmlCheckMeta(htmlParserCtxtPtr ctxt, const xmlChar **atts) {
*
* [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>'
*
- * Returns 0 in case of success and -1 in case of error.
+ * Returns 0 in case of success, -1 in case of error and 1 if discarded
*/
static int
@@ -3405,12 +3695,15 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
int maxatts;
int meta = 0;
int i;
+ int discardtag = 0;
if ((ctxt == NULL) || (ctxt->input == NULL)) {
htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
"htmlParseStartTag: context error\n", NULL, NULL);
return -1;
}
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
if (CUR != '<') return -1;
NEXT;
@@ -3423,8 +3716,17 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
htmlParseErr(ctxt, XML_ERR_NAME_REQUIRED,
"htmlParseStartTag: invalid element name\n",
NULL, NULL);
+ /* if recover preserve text on classic misconstructs */
+ if ((ctxt->recovery) && ((IS_BLANK_CH(CUR)) || (CUR == '<') ||
+ (CUR == '=') || (CUR == '>') || (((CUR >= '0') && (CUR <= '9'))))) {
+ htmlParseCharDataInternal(ctxt, '<');
+ return(-1);
+ }
+
+
/* Dump the bogus tag like browsers do */
- while ((IS_CHAR_CH(CUR)) && (CUR != '>'))
+ while ((IS_CHAR_CH(CUR)) && (CUR != '>') &&
+ (ctxt->instate != XML_PARSER_EOF))
NEXT;
return -1;
}
@@ -3449,14 +3751,16 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
"htmlParseStartTag: misplaced <html> tag\n",
name, NULL);
- return 0;
+ discardtag = 1;
+ ctxt->depth++;
}
- if ((ctxt->nameNr != 1) &&
+ if ((ctxt->nameNr != 1) &&
(xmlStrEqual(name, BAD_CAST"head"))) {
htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
"htmlParseStartTag: misplaced <head> tag\n",
name, NULL);
- return 0;
+ discardtag = 1;
+ ctxt->depth++;
}
if (xmlStrEqual(name, BAD_CAST"body")) {
int indx;
@@ -3465,9 +3769,8 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
"htmlParseStartTag: misplaced <body> tag\n",
name, NULL);
- while ((IS_CHAR_CH(CUR)) && (CUR != '>'))
- NEXT;
- return 0;
+ discardtag = 1;
+ ctxt->depth++;
}
}
}
@@ -3479,7 +3782,7 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
*/
SKIP_BLANKS;
while ((IS_CHAR_CH(CUR)) &&
- (CUR != '>') &&
+ (CUR != '>') &&
((CUR != '/') || (NXT(1) != '>'))) {
long cons = ctxt->nbChars;
@@ -3560,18 +3863,20 @@ failed:
/*
* Handle specific association to the META tag
*/
- if (meta)
+ if (meta && (nbatts != 0))
htmlCheckMeta(ctxt, atts);
/*
* SAX: Start of Element !
*/
- htmlnamePush(ctxt, name);
- if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL)) {
- if (nbatts != 0)
- ctxt->sax->startElement(ctxt->userData, name, atts);
- else
- ctxt->sax->startElement(ctxt->userData, name, NULL);
+ if (!discardtag) {
+ htmlnamePush(ctxt, name);
+ if ((ctxt->sax != NULL) && (ctxt->sax->startElement != NULL)) {
+ if (nbatts != 0)
+ ctxt->sax->startElement(ctxt->userData, name, atts);
+ else
+ ctxt->sax->startElement(ctxt->userData, name, NULL);
+ }
}
if (atts != NULL) {
@@ -3581,7 +3886,7 @@ failed:
}
}
- return 0;
+ return(discardtag);
}
/**
@@ -3616,7 +3921,6 @@ htmlParseEndTag(htmlParserCtxtPtr ctxt)
name = htmlParseHTMLName(ctxt);
if (name == NULL)
return (0);
-
/*
* We should definitely be at the ending "S? '>'" part
*/
@@ -3637,6 +3941,18 @@ htmlParseEndTag(htmlParserCtxtPtr ctxt)
NEXT;
/*
+ * if we ignored misplaced tags in htmlParseStartTag don't pop them
+ * out now.
+ */
+ if ((ctxt->depth > 0) &&
+ (xmlStrEqual(name, BAD_CAST "html") ||
+ xmlStrEqual(name, BAD_CAST "body") ||
+ xmlStrEqual(name, BAD_CAST "head"))) {
+ ctxt->depth--;
+ return (0);
+ }
+
+ /*
* If the name read is not one of the element in the parsing stack
* then return, it's just an error.
*/
@@ -3677,6 +3993,7 @@ htmlParseEndTag(htmlParserCtxtPtr ctxt)
if ((oldname != NULL) && (xmlStrEqual(oldname, name))) {
if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
ctxt->sax->endElement(ctxt->userData, name);
+ htmlNodeInfoPop(ctxt);
htmlnamePop(ctxt);
ret = 1;
} else {
@@ -3690,7 +4007,7 @@ htmlParseEndTag(htmlParserCtxtPtr ctxt)
/**
* htmlParseReference:
* @ctxt: an HTML parser context
- *
+ *
* parse and handle entity references in content,
* this will end-up in a call to character() since this is either a
* CharRef, or a predefined entity.
@@ -3714,7 +4031,7 @@ htmlParseReference(htmlParserCtxtPtr ctxt) {
else if (c < 0x800) { out[i++]=((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000) { out[i++]=((c >> 12) & 0x0F) | 0xE0; bits= 6; }
else { out[i++]=((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
out[i++]= ((c >> bits) & 0x3F) | 0x80;
}
@@ -3749,9 +4066,9 @@ htmlParseReference(htmlParserCtxtPtr ctxt) {
{ out[i++]=((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000)
{ out[i++]=((c >> 12) & 0x0F) | 0xE0; bits= 6; }
- else
+ else
{ out[i++]=((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
out[i++]= ((c >> bits) & 0x3F) | 0x80;
}
@@ -3769,12 +4086,14 @@ htmlParseReference(htmlParserCtxtPtr ctxt) {
* @ctxt: an HTML parser context
*
* Parse a content: comment, sub-element, reference or text.
+ * Kept for compatibility with old code
*/
static void
htmlParseContent(htmlParserCtxtPtr ctxt) {
xmlChar *currentNode;
int depth;
+ const xmlChar *name;
currentNode = xmlStrdup(ctxt->name);
depth = ctxt->nameNr;
@@ -3782,6 +4101,10 @@ htmlParseContent(htmlParserCtxtPtr ctxt) {
long cons = ctxt->nbChars;
GROW;
+
+ if (ctxt->instate == XML_PARSER_EOF)
+ break;
+
/*
* Our tag or one of it's parent or children is ending.
*/
@@ -3795,6 +4118,31 @@ htmlParseContent(htmlParserCtxtPtr ctxt) {
continue; /* while */
}
+ else if ((CUR == '<') &&
+ ((IS_ASCII_LETTER(NXT(1))) ||
+ (NXT(1) == '_') || (NXT(1) == ':'))) {
+ name = htmlParseHTMLName_nonInvasive(ctxt);
+ if (name == NULL) {
+ htmlParseErr(ctxt, XML_ERR_NAME_REQUIRED,
+ "htmlParseStartTag: invalid element name\n",
+ NULL, NULL);
+ /* Dump the bogus tag like browsers do */
+ while ((IS_CHAR_CH(CUR)) && (CUR != '>'))
+ NEXT;
+
+ if (currentNode != NULL)
+ xmlFree(currentNode);
+ return;
+ }
+
+ if (ctxt->name != NULL) {
+ if (htmlCheckAutoClose(name, ctxt->name) == 1) {
+ htmlAutoClose(ctxt, name);
+ continue;
+ }
+ }
+ }
+
/*
* Has this node been popped out during parsing of
* the next element
@@ -3851,7 +4199,7 @@ htmlParseContent(htmlParserCtxtPtr ctxt) {
/*
* Fourth case : a reference. If if has not been resolved,
- * parsing returns it's Name, create the node
+ * parsing returns it's Name, create the node
*/
else if (CUR == '&') {
htmlParseReference(ctxt);
@@ -3887,23 +4235,11 @@ htmlParseContent(htmlParserCtxtPtr ctxt) {
}
/**
- * htmlParseContent:
- * @ctxt: an HTML parser context
- *
- * Parse a content: comment, sub-element, reference or text.
- */
-
-void
-__htmlParseContent(void *ctxt) {
- if (ctxt != NULL)
- htmlParseContent((htmlParserCtxtPtr) ctxt);
-}
-
-/**
* htmlParseElement:
* @ctxt: an HTML parser context
*
* parse an HTML element, this is highly recursive
+ * this is kept for compatibility with previous code versions
*
* [39] element ::= EmptyElemTag | STag content ETag
*
@@ -3925,6 +4261,10 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
"htmlParseElement: context error\n", NULL, NULL);
return;
}
+
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
+
/* Capture start position */
if (ctxt->record_info) {
node_info.begin_pos = ctxt->input->consumed +
@@ -3934,7 +4274,7 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
failed = htmlParseStartTag(ctxt);
name = ctxt->name;
- if (failed || (name == NULL)) {
+ if ((failed == -1) || (name == NULL)) {
if (CUR == '>')
NEXT;
return;
@@ -3969,10 +4309,10 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
/*
* end of parsing of this node.
*/
- if (xmlStrEqual(name, ctxt->name)) {
+ if (xmlStrEqual(name, ctxt->name)) {
nodePop(ctxt);
htmlnamePop(ctxt);
- }
+ }
/*
* Capture end position and add node
@@ -4006,8 +4346,8 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
oldptr = ctxt->input->cur;
htmlParseContent(ctxt);
if (oldptr==ctxt->input->cur) break;
- if (ctxt->nameNr < depth) break;
- }
+ if (ctxt->nameNr < depth) break;
+ }
/*
* Capture end position and add node
@@ -4027,10 +4367,305 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
xmlFree(currentNode);
}
+static void
+htmlParserFinishElementParsing(htmlParserCtxtPtr ctxt) {
+ /*
+ * Capture end position and add node
+ */
+ if ( ctxt->node != NULL && ctxt->record_info ) {
+ ctxt->nodeInfo->end_pos = ctxt->input->consumed +
+ (CUR_PTR - ctxt->input->base);
+ ctxt->nodeInfo->end_line = ctxt->input->line;
+ ctxt->nodeInfo->node = ctxt->node;
+ xmlParserAddNodeInfo(ctxt, ctxt->nodeInfo);
+ htmlNodeInfoPop(ctxt);
+ }
+ if (!IS_CHAR_CH(CUR)) {
+ htmlAutoCloseOnEnd(ctxt);
+ }
+}
+
+/**
+ * htmlParseElementInternal:
+ * @ctxt: an HTML parser context
+ *
+ * parse an HTML element, new version, non recursive
+ *
+ * [39] element ::= EmptyElemTag | STag content ETag
+ *
+ * [41] Attribute ::= Name Eq AttValue
+ */
+
+static void
+htmlParseElementInternal(htmlParserCtxtPtr ctxt) {
+ const xmlChar *name;
+ const htmlElemDesc * info;
+ htmlParserNodeInfo node_info = { 0, };
+ int failed;
+
+ if ((ctxt == NULL) || (ctxt->input == NULL)) {
+ htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "htmlParseElementInternal: context error\n", NULL, NULL);
+ return;
+ }
+
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
+
+ /* Capture start position */
+ if (ctxt->record_info) {
+ node_info.begin_pos = ctxt->input->consumed +
+ (CUR_PTR - ctxt->input->base);
+ node_info.begin_line = ctxt->input->line;
+ }
+
+ failed = htmlParseStartTag(ctxt);
+ name = ctxt->name;
+ if ((failed == -1) || (name == NULL)) {
+ if (CUR == '>')
+ NEXT;
+ return;
+ }
+
+ /*
+ * Lookup the info for that element.
+ */
+ info = htmlTagLookup(name);
+ if (info == NULL) {
+ htmlParseErr(ctxt, XML_HTML_UNKNOWN_TAG,
+ "Tag %s invalid\n", name, NULL);
+ }
+
+ /*
+ * Check for an Empty Element labeled the XML/SGML way
+ */
+ if ((CUR == '/') && (NXT(1) == '>')) {
+ SKIP(2);
+ if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
+ ctxt->sax->endElement(ctxt->userData, name);
+ htmlnamePop(ctxt);
+ return;
+ }
+
+ if (CUR == '>') {
+ NEXT;
+ } else {
+ htmlParseErr(ctxt, XML_ERR_GT_REQUIRED,
+ "Couldn't find end of Start Tag %s\n", name, NULL);
+
+ /*
+ * end of parsing of this node.
+ */
+ if (xmlStrEqual(name, ctxt->name)) {
+ nodePop(ctxt);
+ htmlnamePop(ctxt);
+ }
+
+ if (ctxt->record_info)
+ htmlNodeInfoPush(ctxt, &node_info);
+ htmlParserFinishElementParsing(ctxt);
+ return;
+ }
+
+ /*
+ * Check for an Empty Element from DTD definition
+ */
+ if ((info != NULL) && (info->empty)) {
+ if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
+ ctxt->sax->endElement(ctxt->userData, name);
+ htmlnamePop(ctxt);
+ return;
+ }
+
+ if (ctxt->record_info)
+ htmlNodeInfoPush(ctxt, &node_info);
+}
+
+/**
+ * htmlParseContentInternal:
+ * @ctxt: an HTML parser context
+ *
+ * Parse a content: comment, sub-element, reference or text.
+ * New version for non recursive htmlParseElementInternal
+ */
+
+static void
+htmlParseContentInternal(htmlParserCtxtPtr ctxt) {
+ xmlChar *currentNode;
+ int depth;
+ const xmlChar *name;
+
+ currentNode = xmlStrdup(ctxt->name);
+ depth = ctxt->nameNr;
+ while (1) {
+ long cons = ctxt->nbChars;
+
+ GROW;
+
+ if (ctxt->instate == XML_PARSER_EOF)
+ break;
+
+ /*
+ * Our tag or one of it's parent or children is ending.
+ */
+ if ((CUR == '<') && (NXT(1) == '/')) {
+ if (htmlParseEndTag(ctxt) &&
+ ((currentNode != NULL) || (ctxt->nameNr == 0))) {
+ if (currentNode != NULL)
+ xmlFree(currentNode);
+
+ currentNode = xmlStrdup(ctxt->name);
+ depth = ctxt->nameNr;
+ }
+ continue; /* while */
+ }
+
+ else if ((CUR == '<') &&
+ ((IS_ASCII_LETTER(NXT(1))) ||
+ (NXT(1) == '_') || (NXT(1) == ':'))) {
+ name = htmlParseHTMLName_nonInvasive(ctxt);
+ if (name == NULL) {
+ htmlParseErr(ctxt, XML_ERR_NAME_REQUIRED,
+ "htmlParseStartTag: invalid element name\n",
+ NULL, NULL);
+ /* Dump the bogus tag like browsers do */
+ while ((IS_CHAR_CH(CUR)) && (CUR != '>'))
+ NEXT;
+
+ htmlParserFinishElementParsing(ctxt);
+ if (currentNode != NULL)
+ xmlFree(currentNode);
+
+ currentNode = xmlStrdup(ctxt->name);
+ depth = ctxt->nameNr;
+ continue;
+ }
+
+ if (ctxt->name != NULL) {
+ if (htmlCheckAutoClose(name, ctxt->name) == 1) {
+ htmlAutoClose(ctxt, name);
+ continue;
+ }
+ }
+ }
+
+ /*
+ * Has this node been popped out during parsing of
+ * the next element
+ */
+ if ((ctxt->nameNr > 0) && (depth >= ctxt->nameNr) &&
+ (!xmlStrEqual(currentNode, ctxt->name)))
+ {
+ htmlParserFinishElementParsing(ctxt);
+ if (currentNode != NULL) xmlFree(currentNode);
+
+ currentNode = xmlStrdup(ctxt->name);
+ depth = ctxt->nameNr;
+ continue;
+ }
+
+ if ((CUR != 0) && ((xmlStrEqual(currentNode, BAD_CAST"script")) ||
+ (xmlStrEqual(currentNode, BAD_CAST"style")))) {
+ /*
+ * Handle SCRIPT/STYLE separately
+ */
+ htmlParseScript(ctxt);
+ } else {
+ /*
+ * Sometimes DOCTYPE arrives in the middle of the document
+ */
+ if ((CUR == '<') && (NXT(1) == '!') &&
+ (UPP(2) == 'D') && (UPP(3) == 'O') &&
+ (UPP(4) == 'C') && (UPP(5) == 'T') &&
+ (UPP(6) == 'Y') && (UPP(7) == 'P') &&
+ (UPP(8) == 'E')) {
+ htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
+ "Misplaced DOCTYPE declaration\n",
+ BAD_CAST "DOCTYPE" , NULL);
+ htmlParseDocTypeDecl(ctxt);
+ }
+
+ /*
+ * First case : a comment
+ */
+ if ((CUR == '<') && (NXT(1) == '!') &&
+ (NXT(2) == '-') && (NXT(3) == '-')) {
+ htmlParseComment(ctxt);
+ }
+
+ /*
+ * Second case : a Processing Instruction.
+ */
+ else if ((CUR == '<') && (NXT(1) == '?')) {
+ htmlParsePI(ctxt);
+ }
+
+ /*
+ * Third case : a sub-element.
+ */
+ else if (CUR == '<') {
+ htmlParseElementInternal(ctxt);
+ if (currentNode != NULL) xmlFree(currentNode);
+
+ currentNode = xmlStrdup(ctxt->name);
+ depth = ctxt->nameNr;
+ }
+
+ /*
+ * Fourth case : a reference. If if has not been resolved,
+ * parsing returns it's Name, create the node
+ */
+ else if (CUR == '&') {
+ htmlParseReference(ctxt);
+ }
+
+ /*
+ * Fifth case : end of the resource
+ */
+ else if (CUR == 0) {
+ htmlAutoCloseOnEnd(ctxt);
+ break;
+ }
+
+ /*
+ * Last case, text. Note that References are handled directly.
+ */
+ else {
+ htmlParseCharData(ctxt);
+ }
+
+ if (cons == ctxt->nbChars) {
+ if (ctxt->node != NULL) {
+ htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "detected an error in element content\n",
+ NULL, NULL);
+ }
+ break;
+ }
+ }
+ GROW;
+ }
+ if (currentNode != NULL) xmlFree(currentNode);
+}
+
+/**
+ * htmlParseContent:
+ * @ctxt: an HTML parser context
+ *
+ * Parse a content: comment, sub-element, reference or text.
+ * This is the entry point when called from parser.c
+ */
+
+void
+__htmlParseContent(void *ctxt) {
+ if (ctxt != NULL)
+ htmlParseContentInternal((htmlParserCtxtPtr) ctxt);
+}
+
/**
* htmlParseDocument:
* @ctxt: an HTML parser context
- *
+ *
* parse an HTML document (and build a tree if using the standard SAX
* interface).
*
@@ -4040,6 +4675,8 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
int
htmlParseDocument(htmlParserCtxtPtr ctxt) {
+ xmlChar start[4];
+ xmlCharEncoding enc;
xmlDtdPtr dtd;
xmlInitParser();
@@ -4052,6 +4689,7 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
return(XML_ERR_INTERNAL_ERROR);
}
ctxt->html = 1;
+ ctxt->linenumbers = 1;
GROW;
/*
* SAX: beginning of the document processing.
@@ -4059,12 +4697,29 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator);
+ if ((ctxt->encoding == (const xmlChar *)XML_CHAR_ENCODING_NONE) &&
+ ((ctxt->input->end - ctxt->input->cur) >= 4)) {
+ /*
+ * Get the 4 first bytes and decode the charset
+ * if enc != XML_CHAR_ENCODING_NONE
+ * plug some encoding conversion routines.
+ */
+ start[0] = RAW;
+ start[1] = NXT(1);
+ start[2] = NXT(2);
+ start[3] = NXT(3);
+ enc = xmlDetectCharEncoding(&start[0], 4);
+ if (enc != XML_CHAR_ENCODING_NONE) {
+ xmlSwitchEncoding(ctxt, enc);
+ }
+ }
+
/*
* Wipe out everything which is before the first '<'
*/
SKIP_BLANKS;
if (CUR == 0) {
- htmlParseErr(ctxt, XML_ERR_DOCUMENT_EMPTY,
+ htmlParseErr(ctxt, XML_ERR_DOCUMENT_EMPTY,
"Document is empty\n", NULL, NULL);
}
@@ -4078,10 +4733,10 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
while (((CUR == '<') && (NXT(1) == '!') &&
(NXT(2) == '-') && (NXT(3) == '-')) ||
((CUR == '<') && (NXT(1) == '?'))) {
- htmlParseComment(ctxt);
- htmlParsePI(ctxt);
+ htmlParseComment(ctxt);
+ htmlParsePI(ctxt);
SKIP_BLANKS;
- }
+ }
/*
@@ -4103,15 +4758,15 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
while (((CUR == '<') && (NXT(1) == '!') &&
(NXT(2) == '-') && (NXT(3) == '-')) ||
((CUR == '<') && (NXT(1) == '?'))) {
- htmlParseComment(ctxt);
- htmlParsePI(ctxt);
+ htmlParseComment(ctxt);
+ htmlParsePI(ctxt);
SKIP_BLANKS;
- }
+ }
/*
* Time to start parsing the tree itself
*/
- htmlParseContent(ctxt);
+ htmlParseContentInternal(ctxt);
/*
* autoclose
@@ -4126,11 +4781,11 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
ctxt->sax->endDocument(ctxt->userData);
- if (ctxt->myDoc != NULL) {
+ if ((!(ctxt->options & HTML_PARSE_NODEFDTD)) && (ctxt->myDoc != NULL)) {
dtd = xmlGetIntSubset(ctxt->myDoc);
if (dtd == NULL)
- ctxt->myDoc->intSubset =
- xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "html",
+ ctxt->myDoc->intSubset =
+ xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "html",
BAD_CAST "-//W3C//DTD HTML 4.0 Transitional//EN",
BAD_CAST "http://www.w3.org/TR/REC-html40/loose.dtd");
}
@@ -4176,7 +4831,7 @@ htmlInitParserCtxt(htmlParserCtxtPtr ctxt)
memset(sax, 0, sizeof(htmlSAXHandler));
/* Allocate the Input stack */
- ctxt->inputTab = (htmlParserInputPtr *)
+ ctxt->inputTab = (htmlParserInputPtr *)
xmlMalloc(5 * sizeof(htmlParserInputPtr));
if (ctxt->inputTab == NULL) {
htmlErrMemory(NULL, "htmlInitParserCtxt: out of memory\n");
@@ -4214,7 +4869,7 @@ htmlInitParserCtxt(htmlParserCtxtPtr ctxt)
if (ctxt->nameTab == NULL) {
htmlErrMemory(NULL, "htmlInitParserCtxt: out of memory\n");
ctxt->nameNr = 0;
- ctxt->nameMax = 10;
+ ctxt->nameMax = 0;
ctxt->name = NULL;
ctxt->nodeNr = 0;
ctxt->nodeMax = 0;
@@ -4228,6 +4883,10 @@ htmlInitParserCtxt(htmlParserCtxtPtr ctxt)
ctxt->nameMax = 10;
ctxt->name = NULL;
+ ctxt->nodeInfoTab = NULL;
+ ctxt->nodeInfoNr = 0;
+ ctxt->nodeInfoMax = 0;
+
if (sax == NULL) ctxt->sax = (xmlSAXHandlerPtr) &htmlDefaultSAXHandler;
else {
ctxt->sax = sax;
@@ -4327,9 +4986,7 @@ htmlCreateMemoryParserCtxt(const char *buffer, int size) {
input->filename = NULL;
input->buf = buf;
- input->base = input->buf->buffer->content;
- input->cur = input->buf->buffer->content;
- input->end = &input->buf->buffer->content[input->buf->buffer->use];
+ xmlBufResetInput(buf->buffer, input);
inputPush(ctxt, input);
return(ctxt);
@@ -4347,8 +5004,7 @@ htmlCreateMemoryParserCtxt(const char *buffer, int size) {
* Returns the new parser context or NULL
*/
static htmlParserCtxtPtr
-htmlCreateDocParserCtxt(const xmlChar *cur,
- const char *encoding ATTRIBUTE_UNUSED) {
+htmlCreateDocParserCtxt(const xmlChar *cur, const char *encoding) {
int len;
htmlParserCtxtPtr ctxt;
@@ -4356,6 +5012,8 @@ htmlCreateDocParserCtxt(const xmlChar *cur,
return(NULL);
len = xmlStrlen(cur);
ctxt = htmlCreateMemoryParserCtxt((char *)cur, len);
+ if (ctxt == NULL)
+ return(NULL);
if (encoding != NULL) {
xmlCharEncoding enc;
@@ -4373,7 +5031,7 @@ htmlCreateDocParserCtxt(const xmlChar *cur,
xmlSwitchEncoding(ctxt, enc);
if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) {
htmlParseErr(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
- "Unsupported encoding %s\n",
+ "Unsupported encoding %s\n",
(const xmlChar *) encoding, NULL);
}
} else {
@@ -4396,7 +5054,7 @@ htmlCreateDocParserCtxt(const xmlChar *cur,
#ifdef LIBXML_PUSH_ENABLED
/************************************************************************
* *
- * Progressive parsing interfaces *
+ * Progressive parsing interfaces *
* *
************************************************************************/
@@ -4420,85 +5078,190 @@ htmlCreateDocParserCtxt(const xmlChar *cur,
*/
static int
htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first,
- xmlChar next, xmlChar third, int iscomment) {
+ xmlChar next, xmlChar third, int iscomment,
+ int ignoreattrval)
+{
int base, len;
htmlParserInputPtr in;
const xmlChar *buf;
int incomment = 0;
+ int invalue = 0;
+ char valdellim = 0x0;
in = ctxt->input;
- if (in == NULL) return(-1);
+ if (in == NULL)
+ return (-1);
+
base = in->cur - in->base;
- if (base < 0) return(-1);
+ if (base < 0)
+ return (-1);
+
if (ctxt->checkIndex > base)
base = ctxt->checkIndex;
+
if (in->buf == NULL) {
- buf = in->base;
- len = in->length;
+ buf = in->base;
+ len = in->length;
} else {
- buf = in->buf->buffer->content;
- len = in->buf->buffer->use;
+ buf = xmlBufContent(in->buf->buffer);
+ len = xmlBufUse(in->buf->buffer);
}
+
/* take into account the sequence length */
- if (third) len -= 2;
- else if (next) len --;
- for (;base < len;base++) {
- if (!incomment && (base + 4 < len) && !iscomment) {
- if ((buf[base] == '<') && (buf[base + 1] == '!') &&
- (buf[base + 2] == '-') && (buf[base + 3] == '-')) {
- incomment = 1;
- /* do not increment past <! - some people use <!--> */
- base += 2;
- }
- }
- if (incomment) {
- if (base + 3 > len)
- return(-1);
- if ((buf[base] == '-') && (buf[base + 1] == '-') &&
- (buf[base + 2] == '>')) {
- incomment = 0;
- base += 2;
- }
- continue;
- }
+ if (third)
+ len -= 2;
+ else if (next)
+ len--;
+ for (; base < len; base++) {
+ if ((!incomment) && (base + 4 < len) && (!iscomment)) {
+ if ((buf[base] == '<') && (buf[base + 1] == '!') &&
+ (buf[base + 2] == '-') && (buf[base + 3] == '-')) {
+ incomment = 1;
+ /* do not increment past <! - some people use <!--> */
+ base += 2;
+ }
+ }
+ if (ignoreattrval) {
+ if (buf[base] == '"' || buf[base] == '\'') {
+ if (invalue) {
+ if (buf[base] == valdellim) {
+ invalue = 0;
+ continue;
+ }
+ } else {
+ valdellim = buf[base];
+ invalue = 1;
+ continue;
+ }
+ } else if (invalue) {
+ continue;
+ }
+ }
+ if (incomment) {
+ if (base + 3 > len)
+ return (-1);
+ if ((buf[base] == '-') && (buf[base + 1] == '-') &&
+ (buf[base + 2] == '>')) {
+ incomment = 0;
+ base += 2;
+ }
+ continue;
+ }
if (buf[base] == first) {
- if (third != 0) {
- if ((buf[base + 1] != next) ||
- (buf[base + 2] != third)) continue;
- } else if (next != 0) {
- if (buf[base + 1] != next) continue;
- }
- ctxt->checkIndex = 0;
+ if (third != 0) {
+ if ((buf[base + 1] != next) || (buf[base + 2] != third))
+ continue;
+ } else if (next != 0) {
+ if (buf[base + 1] != next)
+ continue;
+ }
+ ctxt->checkIndex = 0;
#ifdef DEBUG_PUSH
- if (next == 0)
- xmlGenericError(xmlGenericErrorContext,
- "HPP: lookup '%c' found at %d\n",
- first, base);
- else if (third == 0)
- xmlGenericError(xmlGenericErrorContext,
- "HPP: lookup '%c%c' found at %d\n",
- first, next, base);
- else
- xmlGenericError(xmlGenericErrorContext,
- "HPP: lookup '%c%c%c' found at %d\n",
- first, next, third, base);
+ if (next == 0)
+ xmlGenericError(xmlGenericErrorContext,
+ "HPP: lookup '%c' found at %d\n",
+ first, base);
+ else if (third == 0)
+ xmlGenericError(xmlGenericErrorContext,
+ "HPP: lookup '%c%c' found at %d\n",
+ first, next, base);
+ else
+ xmlGenericError(xmlGenericErrorContext,
+ "HPP: lookup '%c%c%c' found at %d\n",
+ first, next, third, base);
#endif
- return(base - (in->cur - in->base));
- }
+ return (base - (in->cur - in->base));
+ }
}
- ctxt->checkIndex = base;
+ if ((!incomment) && (!invalue))
+ ctxt->checkIndex = base;
#ifdef DEBUG_PUSH
if (next == 0)
- xmlGenericError(xmlGenericErrorContext,
- "HPP: lookup '%c' failed\n", first);
+ xmlGenericError(xmlGenericErrorContext,
+ "HPP: lookup '%c' failed\n", first);
else if (third == 0)
- xmlGenericError(xmlGenericErrorContext,
- "HPP: lookup '%c%c' failed\n", first, next);
- else
- xmlGenericError(xmlGenericErrorContext,
- "HPP: lookup '%c%c%c' failed\n", first, next, third);
+ xmlGenericError(xmlGenericErrorContext,
+ "HPP: lookup '%c%c' failed\n", first, next);
+ else
+ xmlGenericError(xmlGenericErrorContext,
+ "HPP: lookup '%c%c%c' failed\n", first, next,
+ third);
#endif
- return(-1);
+ return (-1);
+}
+
+/**
+ * htmlParseLookupChars:
+ * @ctxt: an HTML parser context
+ * @stop: Array of chars, which stop the lookup.
+ * @stopLen: Length of stop-Array
+ *
+ * Try to find if any char of the stop-Array is available in the input
+ * stream.
+ * This function has a side effect of (possibly) incrementing ctxt->checkIndex
+ * to avoid rescanning sequences of bytes, it DOES change the state of the
+ * parser, do not use liberally.
+ *
+ * Returns the index to the current parsing point if a stopChar
+ * is available, -1 otherwise.
+ */
+static int
+htmlParseLookupChars(htmlParserCtxtPtr ctxt, const xmlChar * stop,
+ int stopLen)
+{
+ int base, len;
+ htmlParserInputPtr in;
+ const xmlChar *buf;
+ int incomment = 0;
+ int i;
+
+ in = ctxt->input;
+ if (in == NULL)
+ return (-1);
+
+ base = in->cur - in->base;
+ if (base < 0)
+ return (-1);
+
+ if (ctxt->checkIndex > base)
+ base = ctxt->checkIndex;
+
+ if (in->buf == NULL) {
+ buf = in->base;
+ len = in->length;
+ } else {
+ buf = xmlBufContent(in->buf->buffer);
+ len = xmlBufUse(in->buf->buffer);
+ }
+
+ for (; base < len; base++) {
+ if (!incomment && (base + 4 < len)) {
+ if ((buf[base] == '<') && (buf[base + 1] == '!') &&
+ (buf[base + 2] == '-') && (buf[base + 3] == '-')) {
+ incomment = 1;
+ /* do not increment past <! - some people use <!--> */
+ base += 2;
+ }
+ }
+ if (incomment) {
+ if (base + 3 > len)
+ return (-1);
+ if ((buf[base] == '-') && (buf[base + 1] == '-') &&
+ (buf[base + 2] == '>')) {
+ incomment = 0;
+ base += 2;
+ }
+ continue;
+ }
+ for (i = 0; i < stopLen; ++i) {
+ if (buf[base] == stop[i]) {
+ ctxt->checkIndex = 0;
+ return (base - (in->cur - in->base));
+ }
+ }
+ }
+ ctxt->checkIndex = base;
+ return (-1);
}
/**
@@ -4517,6 +5280,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
int avail = 0;
xmlChar cur, next;
+ htmlParserNodeInfo node_info;
+
#ifdef DEBUG_PUSH
switch (ctxt->instate) {
case XML_PARSER_EOF:
@@ -4577,10 +5342,10 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if (in->buf == NULL)
avail = in->length - (in->cur - in->base);
else
- avail = in->buf->buffer->use - (in->cur - in->base);
+ avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base);
if ((avail == 0) && (terminate)) {
htmlAutoCloseOnEnd(ctxt);
- if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
+ if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
/*
* SAX: end of the document processing.
*/
@@ -4613,7 +5378,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if (in->buf == NULL)
avail = in->length - (in->cur - in->base);
else
- avail = in->buf->buffer->use - (in->cur - in->base);
+ avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base);
}
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData,
@@ -4630,7 +5395,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
(UPP(6) == 'Y') && (UPP(7) == 'P') &&
(UPP(8) == 'E')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4655,15 +5420,28 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if (in->buf == NULL)
avail = in->length - (in->cur - in->base);
else
- avail = in->buf->buffer->use - (in->cur - in->base);
- if (avail < 2)
+ avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base);
+ /*
+ * no chars in buffer
+ */
+ if (avail < 1)
goto done;
+ /*
+ * not enouth chars in buffer
+ */
+ if (avail < 2) {
+ if (!terminate)
+ goto done;
+ else
+ next = ' ';
+ } else {
+ next = in->cur[1];
+ }
cur = in->cur[0];
- next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '-', '-', '>', 1) < 0))
+ (htmlParseLookupSequence(ctxt, '-', '-', '>', 1, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4673,7 +5451,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
ctxt->instate = XML_PARSER_MISC;
} else if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4687,7 +5465,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
(UPP(6) == 'Y') && (UPP(7) == 'P') &&
(UPP(8) == 'E')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4715,15 +5493,15 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if (in->buf == NULL)
avail = in->length - (in->cur - in->base);
else
- avail = in->buf->buffer->use - (in->cur - in->base);
- if (avail < 2)
+ avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base);
+ if (avail < 2)
goto done;
cur = in->cur[0];
next = in->cur[1];
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '-', '-', '>', 1) < 0))
+ (htmlParseLookupSequence(ctxt, '-', '-', '>', 1, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4733,7 +5511,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
ctxt->instate = XML_PARSER_PROLOG;
} else if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4756,7 +5534,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if (in->buf == NULL)
avail = in->length - (in->cur - in->base);
else
- avail = in->buf->buffer->use - (in->cur - in->base);
+ avail = xmlBufUse(in->buf->buffer) - (in->cur - in->base);
if (avail < 1)
goto done;
cur = in->cur[0];
@@ -4770,7 +5548,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if ((cur == '<') && (next == '!') &&
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '-', '-', '>', 1) < 0))
+ (htmlParseLookupSequence(ctxt, '-', '-', '>', 1, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4780,7 +5558,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
ctxt->instate = XML_PARSER_EPILOG;
} else if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4809,8 +5587,22 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
int failed;
const htmlElemDesc * info;
- if (avail < 2)
+ /*
+ * no chars in buffer
+ */
+ if (avail < 1)
goto done;
+ /*
+ * not enouth chars in buffer
+ */
+ if (avail < 2) {
+ if (!terminate)
+ goto done;
+ else
+ next = ' ';
+ } else {
+ next = in->cur[1];
+ }
cur = in->cur[0];
if (cur != '<') {
ctxt->instate = XML_PARSER_CONTENT;
@@ -4820,7 +5612,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
#endif
break;
}
- if (in->cur[1] == '/') {
+ if (next == '/') {
ctxt->instate = XML_PARSER_END_TAG;
ctxt->checkIndex = 0;
#ifdef DEBUG_PUSH
@@ -4830,12 +5622,20 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
break;
}
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
+ /* Capture start position */
+ if (ctxt->record_info) {
+ node_info.begin_pos = ctxt->input->consumed +
+ (CUR_PTR - ctxt->input->base);
+ node_info.begin_line = ctxt->input->line;
+ }
+
+
failed = htmlParseStartTag(ctxt);
name = ctxt->name;
- if (failed ||
+ if ((failed == -1) ||
(name == NULL)) {
if (CUR == '>')
NEXT;
@@ -4877,10 +5677,13 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
/*
* end of parsing of this node.
*/
- if (xmlStrEqual(name, ctxt->name)) {
+ if (xmlStrEqual(name, ctxt->name)) {
nodePop(ctxt);
htmlnamePop(ctxt);
- }
+ }
+
+ if (ctxt->record_info)
+ htmlNodeInfoPush(ctxt, &node_info);
ctxt->instate = XML_PARSER_CONTENT;
#ifdef DEBUG_PUSH
@@ -4898,6 +5701,10 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
ctxt->sax->endElement(ctxt->userData, name);
htmlnamePop(ctxt);
}
+
+ if (ctxt->record_info)
+ htmlNodeInfoPush(ctxt, &node_info);
+
ctxt->instate = XML_PARSER_CONTENT;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4925,14 +5732,20 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if ((cur != '<') && (cur != '&')) {
if (ctxt->sax != NULL) {
if (IS_BLANK_CH(cur)) {
- if (ctxt->sax->ignorableWhitespace != NULL)
- ctxt->sax->ignorableWhitespace(
- ctxt->userData, &cur, 1);
+ if (ctxt->keepBlanks) {
+ if (ctxt->sax->characters != NULL)
+ ctxt->sax->characters(
+ ctxt->userData, &in->cur[0], 1);
+ } else {
+ if (ctxt->sax->ignorableWhitespace != NULL)
+ ctxt->sax->ignorableWhitespace(
+ ctxt->userData, &in->cur[0], 1);
+ }
} else {
htmlCheckParagraph(ctxt);
if (ctxt->sax->characters != NULL)
ctxt->sax->characters(
- ctxt->userData, &cur, 1);
+ ctxt->userData, &in->cur[0], 1);
}
}
ctxt->token = 0;
@@ -4955,7 +5768,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
int idx;
xmlChar val;
- idx = htmlParseLookupSequence(ctxt, '<', '/', 0, 0);
+ idx = htmlParseLookupSequence(ctxt, '<', '/', 0, 0, 0);
if (idx < 0)
goto done;
val = in->cur[idx + 2];
@@ -4982,7 +5795,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
(UPP(6) == 'Y') && (UPP(7) == 'P') &&
(UPP(8) == 'E')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
htmlParseErr(ctxt, XML_HTML_STRUCURE_ERROR,
"Misplaced DOCTYPE declaration\n",
@@ -4992,7 +5805,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
(in->cur[2] == '-') && (in->cur[3] == '-')) {
if ((!terminate) &&
(htmlParseLookupSequence(
- ctxt, '-', '-', '>', 1) < 0))
+ ctxt, '-', '-', '>', 1, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -5002,7 +5815,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
ctxt->instate = XML_PARSER_CONTENT;
} else if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -5030,7 +5843,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
break;
} else if (cur == '&') {
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, ';', 0, 0, 0) < 0))
+ (htmlParseLookupChars(ctxt,
+ BAD_CAST "; >/", 4) < 0))
goto done;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -5046,7 +5860,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
* data detection.
*/
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '<', 0, 0, 0) < 0))
+ (htmlParseLookupChars(ctxt, BAD_CAST "<&", 2) < 0))
goto done;
ctxt->checkIndex = 0;
#ifdef DEBUG_PUSH
@@ -5072,7 +5886,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if (avail < 2)
goto done;
if ((!terminate) &&
- (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+ (htmlParseLookupSequence(ctxt, '>', 0, 0, 0, 1) < 0))
goto done;
htmlParseEndTag(ctxt);
if (ctxt->nameNr == 0) {
@@ -5199,10 +6013,10 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
}
}
-done:
+done:
if ((avail == 0) && (terminate)) {
htmlAutoCloseOnEnd(ctxt);
- if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
+ if ((ctxt->nameNr == 0) && (ctxt->instate != XML_PARSER_EOF)) {
/*
* SAX: end of the document processing.
*/
@@ -5211,14 +6025,14 @@ done:
ctxt->sax->endDocument(ctxt->userData);
}
}
- if ((ctxt->myDoc != NULL) &&
+ if ((!(ctxt->options & HTML_PARSE_NODEFDTD)) && (ctxt->myDoc != NULL) &&
((terminate) || (ctxt->instate == XML_PARSER_EOF) ||
(ctxt->instate == XML_PARSER_EPILOG))) {
xmlDtdPtr dtd;
dtd = xmlGetIntSubset(ctxt->myDoc);
if (dtd == NULL)
- ctxt->myDoc->intSubset =
- xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "html",
+ ctxt->myDoc->intSubset =
+ xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "html",
BAD_CAST "-//W3C//DTD HTML 4.0 Transitional//EN",
BAD_CAST "http://www.w3.org/TR/REC-html40/loose.dtd");
}
@@ -5249,20 +6063,17 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
}
if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
(ctxt->input->buf != NULL) && (ctxt->instate != XML_PARSER_EOF)) {
- int base = ctxt->input->base - ctxt->input->buf->buffer->content;
- int cur = ctxt->input->cur - ctxt->input->base;
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer, ctxt->input);
+ size_t cur = ctxt->input->cur - ctxt->input->base;
int res;
-
- res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
+
+ res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
if (res < 0) {
ctxt->errNo = XML_PARSER_EOF;
ctxt->disableSAX = 1;
return (XML_PARSER_EOF);
}
- ctxt->input->base = ctxt->input->buf->buffer->content + base;
- ctxt->input->cur = ctxt->input->base + cur;
- ctxt->input->end =
- &ctxt->input->buf->buffer->content[ctxt->input->buf->buffer->use];
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size);
#endif
@@ -5277,13 +6088,16 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
if ((in->encoder != NULL) && (in->buffer != NULL) &&
(in->raw != NULL)) {
int nbchars;
-
- nbchars = xmlCharEncInFunc(in->encoder, in->buffer, in->raw);
+ size_t base = xmlBufGetInputBase(in->buffer, ctxt->input);
+ size_t current = ctxt->input->cur - ctxt->input->base;
+
+ nbchars = xmlCharEncInput(in, terminate);
if (nbchars < 0) {
htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
"encoder error\n", NULL, NULL);
return(XML_ERR_INVALID_ENCODING);
}
+ xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current);
}
}
}
@@ -5294,14 +6108,14 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
(ctxt->instate != XML_PARSER_MISC)) {
ctxt->errNo = XML_ERR_DOCUMENT_END;
ctxt->wellFormed = 0;
- }
+ }
if (ctxt->instate != XML_PARSER_EOF) {
if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
ctxt->sax->endDocument(ctxt->userData);
}
ctxt->instate = XML_PARSER_EOF;
}
- return((xmlParserErrors) ctxt->errNo);
+ return((xmlParserErrors) ctxt->errNo);
}
/************************************************************************
@@ -5326,7 +6140,7 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
* Returns the new parser context or NULL
*/
htmlParserCtxtPtr
-htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
+htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
const char *chunk, int size, const char *filename,
xmlCharEncoding enc) {
htmlParserCtxtPtr ctxt;
@@ -5357,7 +6171,7 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
memcpy(ctxt->sax, sax, sizeof(htmlSAXHandler));
if (user_data != NULL)
ctxt->userData = user_data;
- }
+ }
if (filename == NULL) {
ctxt->directory = NULL;
} else {
@@ -5377,24 +6191,18 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
inputStream->filename = (char *)
xmlCanonicPath((const xmlChar *) filename);
inputStream->buf = buf;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end =
- &inputStream->buf->buffer->content[inputStream->buf->buffer->use];
+ xmlBufResetInput(buf->buffer, inputStream);
inputPush(ctxt, inputStream);
if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
- (ctxt->input->buf != NULL)) {
- int base = ctxt->input->base - ctxt->input->buf->buffer->content;
- int cur = ctxt->input->cur - ctxt->input->base;
+ (ctxt->input->buf != NULL)) {
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer, ctxt->input);
+ size_t cur = ctxt->input->cur - ctxt->input->base;
- xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
+ xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
- ctxt->input->base = ctxt->input->buf->buffer->content + base;
- ctxt->input->cur = ctxt->input->base + cur;
- ctxt->input->end =
- &ctxt->input->buf->buffer->content[ctxt->input->buf->buffer->use];
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size);
#endif
@@ -5410,12 +6218,12 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
* @cur: a pointer to an array of xmlChar
* @encoding: a free form C string describing the HTML document encoding, or NULL
* @sax: the SAX handler block
- * @userData: if using SAX, this pointer will be provided on callbacks.
+ * @userData: if using SAX, this pointer will be provided on callbacks.
*
* Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks
* to handle parse events. If sax is NULL, fallback to the default DOM
* behavior and return a tree.
- *
+ *
* Returns the resulting document tree unless SAX is NULL or the document is
* not well formed.
*/
@@ -5432,7 +6240,7 @@ htmlSAXParseDoc(xmlChar *cur, const char *encoding, htmlSAXHandlerPtr sax, void
ctxt = htmlCreateDocParserCtxt(cur, encoding);
if (ctxt == NULL) return(NULL);
- if (sax != NULL) {
+ if (sax != NULL) {
if (ctxt->sax != NULL) xmlFree (ctxt->sax);
ctxt->sax = sax;
ctxt->userData = userData;
@@ -5445,7 +6253,7 @@ htmlSAXParseDoc(xmlChar *cur, const char *encoding, htmlSAXHandlerPtr sax, void
ctxt->userData = NULL;
}
htmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -5455,7 +6263,7 @@ htmlSAXParseDoc(xmlChar *cur, const char *encoding, htmlSAXHandlerPtr sax, void
* @encoding: a free form C string describing the HTML document encoding, or NULL
*
* parse an HTML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
@@ -5470,7 +6278,7 @@ htmlParseDoc(xmlChar *cur, const char *encoding) {
* @filename: the filename
* @encoding: a free form C string describing the HTML document encoding, or NULL
*
- * Create a parser context for a file content.
+ * Create a parser context for a file content.
* Automatic support for ZLIB/Compress compressed document is provided
* by default if found at compile-time.
*
@@ -5502,7 +6310,7 @@ htmlCreateFileParserCtxt(const char *filename, const char *encoding)
xmlFreeParserCtxt(ctxt);
return(NULL);
}
-
+
inputStream = xmlLoadExternalEntity(canonicFilename, NULL, ctxt);
xmlFree(canonicFilename);
if (inputStream == NULL) {
@@ -5514,15 +6322,19 @@ htmlCreateFileParserCtxt(const char *filename, const char *encoding)
/* set encoding */
if (encoding) {
- content = xmlMallocAtomic (xmlStrlen(content_line) + strlen(encoding) + 1);
- if (content) {
- strcpy ((char *)content, (char *)content_line);
- strcat ((char *)content, (char *)encoding);
- htmlCheckEncoding (ctxt, content);
- xmlFree (content);
+ size_t l = strlen(encoding);
+
+ if (l < 1000) {
+ content = xmlMallocAtomic (xmlStrlen(content_line) + l + 1);
+ if (content) {
+ strcpy ((char *)content, (char *)content_line);
+ strcat ((char *)content, (char *)encoding);
+ htmlCheckEncoding (ctxt, content);
+ xmlFree (content);
+ }
}
}
-
+
return(ctxt);
}
@@ -5531,7 +6343,7 @@ htmlCreateFileParserCtxt(const char *filename, const char *encoding)
* @filename: the filename
* @encoding: a free form C string describing the HTML document encoding, or NULL
* @sax: the SAX handler block
- * @userData: if using SAX, this pointer will be provided on callbacks.
+ * @userData: if using SAX, this pointer will be provided on callbacks.
*
* parse an HTML file and build a tree. Automatic support for ZLIB/Compress
* compressed document is provided by default if found at compile-time.
@@ -5543,7 +6355,7 @@ htmlCreateFileParserCtxt(const char *filename, const char *encoding)
*/
htmlDocPtr
-htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandlerPtr sax,
+htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandlerPtr sax,
void *userData) {
htmlDocPtr ret;
htmlParserCtxtPtr ctxt;
@@ -5567,7 +6379,7 @@ htmlSAXParseFile(const char *filename, const char *encoding, htmlSAXHandlerPtr s
ctxt->userData = NULL;
}
htmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -5589,7 +6401,7 @@ htmlParseFile(const char *filename, const char *encoding) {
/**
* htmlHandleOmittedElem:
- * @val: int 0 or 1
+ * @val: int 0 or 1
*
* Set and return the previous value for handling HTML omitted tags.
*
@@ -5729,7 +6541,7 @@ htmlNodeStatus(const htmlNodePtr node, int legacy) {
* current scope
*/
#define DICT_FREE(str) \
- if ((str) && ((!dict) || \
+ if ((str) && ((!dict) || \
(xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
xmlFree((char *)(str));
@@ -5744,7 +6556,7 @@ htmlCtxtReset(htmlParserCtxtPtr ctxt)
{
xmlParserInputPtr input;
xmlDictPtr dict;
-
+
if (ctxt == NULL)
return;
@@ -5796,6 +6608,7 @@ htmlCtxtReset(htmlParserCtxtPtr ctxt)
ctxt->wellFormed = 1;
ctxt->nsWellFormed = 1;
+ ctxt->disableSAX = 0;
ctxt->valid = 1;
ctxt->vctxt.userData = ctxt;
ctxt->vctxt.error = xmlParserValidityError;
@@ -5806,7 +6619,7 @@ htmlCtxtReset(htmlParserCtxtPtr ctxt)
ctxt->inSubset = 0;
ctxt->errNo = XML_ERR_OK;
ctxt->depth = 0;
- ctxt->charset = XML_CHAR_ENCODING_UTF8;
+ ctxt->charset = XML_CHAR_ENCODING_NONE;
ctxt->catalogs = NULL;
xmlInitNodeInfoSeq(&ctxt->node_seq);
@@ -5871,6 +6684,22 @@ htmlCtxtUseOptions(htmlParserCtxtPtr ctxt, int options)
ctxt->options |= HTML_PARSE_COMPACT;
options -= HTML_PARSE_COMPACT;
}
+ if (options & XML_PARSE_HUGE) {
+ ctxt->options |= XML_PARSE_HUGE;
+ options -= XML_PARSE_HUGE;
+ }
+ if (options & HTML_PARSE_NODEFDTD) {
+ ctxt->options |= HTML_PARSE_NODEFDTD;
+ options -= HTML_PARSE_NODEFDTD;
+ }
+ if (options & HTML_PARSE_IGNORE_ENC) {
+ ctxt->options |= HTML_PARSE_IGNORE_ENC;
+ options -= HTML_PARSE_IGNORE_ENC;
+ }
+ if (options & HTML_PARSE_NOIMPLIED) {
+ ctxt->options |= HTML_PARSE_NOIMPLIED;
+ options -= HTML_PARSE_NOIMPLIED;
+ }
ctxt->dictNames = 0;
return (options);
}
@@ -5884,7 +6713,7 @@ htmlCtxtUseOptions(htmlParserCtxtPtr ctxt, int options)
* @reuse: keep the context for reuse
*
* Common front-end for the htmlRead functions
- *
+ *
* Returns the resulting document tree or NULL
*/
static htmlDocPtr
@@ -5892,15 +6721,19 @@ htmlDoRead(htmlParserCtxtPtr ctxt, const char *URL, const char *encoding,
int options, int reuse)
{
htmlDocPtr ret;
-
+
htmlCtxtUseOptions(ctxt, options);
ctxt->html = 1;
if (encoding != NULL) {
xmlCharEncodingHandlerPtr hdlr;
hdlr = xmlFindCharEncodingHandler(encoding);
- if (hdlr != NULL)
+ if (hdlr != NULL) {
xmlSwitchToEncoding(ctxt, hdlr);
+ if (ctxt->input->encoding != NULL)
+ xmlFree((xmlChar *) ctxt->input->encoding);
+ ctxt->input->encoding = xmlStrdup((xmlChar *)encoding);
+ }
}
if ((URL != NULL) && (ctxt->input != NULL) &&
(ctxt->input->filename == NULL))
@@ -5926,7 +6759,7 @@ htmlDoRead(htmlParserCtxtPtr ctxt, const char *URL, const char *encoding,
* @options: a combination of htmlParserOption(s)
*
* parse an XML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -5951,7 +6784,7 @@ htmlReadDoc(const xmlChar * cur, const char *URL, const char *encoding, int opti
* @options: a combination of htmlParserOption(s)
*
* parse an XML file from the filesystem or the network.
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -5975,7 +6808,7 @@ htmlReadFile(const char *filename, const char *encoding, int options)
* @options: a combination of htmlParserOption(s)
*
* parse an XML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6001,7 +6834,7 @@ htmlReadMemory(const char *buffer, int size, const char *URL, const char *encodi
* @options: a combination of htmlParserOption(s)
*
* parse an XML from a file descriptor and build a tree.
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6013,6 +6846,7 @@ htmlReadFd(int fd, const char *URL, const char *encoding, int options)
if (fd < 0)
return (NULL);
+ xmlInitParser();
xmlInitParser();
input = xmlParserInputBufferCreateFd(fd, XML_CHAR_ENCODING_NONE);
@@ -6043,7 +6877,7 @@ htmlReadFd(int fd, const char *URL, const char *encoding, int options)
* @options: a combination of htmlParserOption(s)
*
* parse an HTML document from I/O functions and source and build a tree.
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6060,8 +6894,11 @@ htmlReadIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose,
input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
XML_CHAR_ENCODING_NONE);
- if (input == NULL)
+ if (input == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
return (NULL);
+ }
ctxt = htmlNewParserCtxt();
if (ctxt == NULL) {
xmlFreeParserInputBuffer(input);
@@ -6087,7 +6924,7 @@ htmlReadIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose,
*
* parse an XML in-memory document and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6100,6 +6937,7 @@ htmlCtxtReadDoc(htmlParserCtxtPtr ctxt, const xmlChar * cur,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
htmlCtxtReset(ctxt);
@@ -6120,7 +6958,7 @@ htmlCtxtReadDoc(htmlParserCtxtPtr ctxt, const xmlChar * cur,
*
* parse an XML file from the filesystem or the network.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6133,6 +6971,7 @@ htmlCtxtReadFile(htmlParserCtxtPtr ctxt, const char *filename,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
htmlCtxtReset(ctxt);
@@ -6155,7 +6994,7 @@ htmlCtxtReadFile(htmlParserCtxtPtr ctxt, const char *filename,
*
* parse an XML in-memory document and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6169,6 +7008,7 @@ htmlCtxtReadMemory(htmlParserCtxtPtr ctxt, const char *buffer, int size,
return (NULL);
if (buffer == NULL)
return (NULL);
+ xmlInitParser();
htmlCtxtReset(ctxt);
@@ -6197,7 +7037,7 @@ htmlCtxtReadMemory(htmlParserCtxtPtr ctxt, const char *buffer, int size,
*
* parse an XML from a file descriptor and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6211,6 +7051,7 @@ htmlCtxtReadFd(htmlParserCtxtPtr ctxt, int fd,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
htmlCtxtReset(ctxt);
@@ -6239,7 +7080,7 @@ htmlCtxtReadFd(htmlParserCtxtPtr ctxt, int fd,
*
* parse an HTML document from I/O functions and source and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
htmlDocPtr
@@ -6255,13 +7096,17 @@ htmlCtxtReadIO(htmlParserCtxtPtr ctxt, xmlInputReadCallback ioread,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
htmlCtxtReset(ctxt);
input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
XML_CHAR_ENCODING_NONE);
- if (input == NULL)
+ if (input == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
return (NULL);
+ }
stream = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE);
if (stream == NULL) {
xmlFreeParserInputBuffer(input);
diff --git a/gettext-tools/gnulib-lib/libxml/HTMLparser.in.h b/gettext-tools/gnulib-lib/libxml/HTMLparser.in.h
index 05905e4..551186c 100644
--- a/gettext-tools/gnulib-lib/libxml/HTMLparser.in.h
+++ b/gettext-tools/gnulib-lib/libxml/HTMLparser.in.h
@@ -83,87 +83,87 @@ struct _htmlEntityDesc {
/*
* There is only few public functions.
*/
-XMLPUBFUN const htmlElemDesc * XMLCALL
+XMLPUBFUN const htmlElemDesc * XMLCALL
htmlTagLookup (const xmlChar *tag);
-XMLPUBFUN const htmlEntityDesc * XMLCALL
+XMLPUBFUN const htmlEntityDesc * XMLCALL
htmlEntityLookup(const xmlChar *name);
-XMLPUBFUN const htmlEntityDesc * XMLCALL
+XMLPUBFUN const htmlEntityDesc * XMLCALL
htmlEntityValueLookup(unsigned int value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlIsAutoClosed(htmlDocPtr doc,
htmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlAutoCloseTag(htmlDocPtr doc,
const xmlChar *name,
htmlNodePtr elem);
-XMLPUBFUN const htmlEntityDesc * XMLCALL
+XMLPUBFUN const htmlEntityDesc * XMLCALL
htmlParseEntityRef(htmlParserCtxtPtr ctxt,
const xmlChar **str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlParseCharRef(htmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlParseElement(htmlParserCtxtPtr ctxt);
-XMLPUBFUN htmlParserCtxtPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr XMLCALL
htmlNewParserCtxt(void);
-XMLPUBFUN htmlParserCtxtPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr XMLCALL
htmlCreateMemoryParserCtxt(const char *buffer,
int size);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlParseDocument(htmlParserCtxtPtr ctxt);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr XMLCALL
htmlSAXParseDoc (xmlChar *cur,
const char *encoding,
htmlSAXHandlerPtr sax,
void *userData);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr XMLCALL
htmlParseDoc (xmlChar *cur,
const char *encoding);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr XMLCALL
htmlSAXParseFile(const char *filename,
const char *encoding,
htmlSAXHandlerPtr sax,
void *userData);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr XMLCALL
htmlParseFile (const char *filename,
const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
UTF8ToHtml (unsigned char *out,
int *outlen,
const unsigned char *in,
int *inlen);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlEncodeEntities(unsigned char *out,
int *outlen,
const unsigned char *in,
int *inlen, int quoteChar);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlIsScriptAttribute(const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlHandleOmittedElem(int val);
#ifdef LIBXML_PUSH_ENABLED
/**
* Interfaces for the Push mode.
*/
-XMLPUBFUN htmlParserCtxtPtr XMLCALL
+XMLPUBFUN htmlParserCtxtPtr XMLCALL
htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
void *user_data,
const char *chunk,
int size,
const char *filename,
xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlParseChunk (htmlParserCtxtPtr ctxt,
const char *chunk,
int size,
int terminate);
#endif /* LIBXML_PUSH_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlFreeParserCtxt (htmlParserCtxtPtr ctxt);
/*
@@ -177,12 +177,15 @@ XMLPUBFUN void XMLCALL
*/
typedef enum {
HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */
+ HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */
HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */
HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */
HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */
HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */
HTML_PARSE_NONET = 1<<11,/* Forbid network access */
- HTML_PARSE_COMPACT = 1<<16 /* compact small text nodes */
+ HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */
+ HTML_PARSE_COMPACT = 1<<16,/* compact small text nodes */
+ HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */
} htmlParserOption;
XMLPUBFUN void XMLCALL
diff --git a/gettext-tools/gnulib-lib/libxml/HTMLtree.c b/gettext-tools/gnulib-lib/libxml/HTMLtree.c
index c1e5a0a..2fd0c9c 100644
--- a/gettext-tools/gnulib-lib/libxml/HTMLtree.c
+++ b/gettext-tools/gnulib-lib/libxml/HTMLtree.c
@@ -30,16 +30,18 @@
#include <libxml/globals.h>
#include <libxml/uri.h>
+#include "buf.h"
+
/************************************************************************
* *
- * Getting/Setting encoding meta tags *
+ * Getting/Setting encoding meta tags *
* *
************************************************************************/
/**
* htmlGetMetaEncoding:
* @doc: the document
- *
+ *
* Encoding definition lookup in the Meta tags
*
* Returns the current encoding as flagged in the HTML source
@@ -126,17 +128,17 @@ found_meta:
found_content:
encoding = xmlStrstr(content, BAD_CAST"charset=");
- if (encoding == NULL)
+ if (encoding == NULL)
encoding = xmlStrstr(content, BAD_CAST"Charset=");
- if (encoding == NULL)
+ if (encoding == NULL)
encoding = xmlStrstr(content, BAD_CAST"CHARSET=");
if (encoding != NULL) {
encoding += 8;
} else {
encoding = xmlStrstr(content, BAD_CAST"charset =");
- if (encoding == NULL)
+ if (encoding == NULL)
encoding = xmlStrstr(content, BAD_CAST"Charset =");
- if (encoding == NULL)
+ if (encoding == NULL)
encoding = xmlStrstr(content, BAD_CAST"CHARSET =");
if (encoding != NULL)
encoding += 9;
@@ -151,7 +153,7 @@ found_content:
* htmlSetMetaEncoding:
* @doc: the document
* @encoding: the encoding string
- *
+ *
* Sets the current encoding in the Meta tags
* NOTE: this will not change the document content encoding, just
* the META flag associated.
@@ -160,14 +162,19 @@ found_content:
*/
int
htmlSetMetaEncoding(htmlDocPtr doc, const xmlChar *encoding) {
- htmlNodePtr cur, meta;
- const xmlChar *content;
+ htmlNodePtr cur, meta = NULL, head = NULL;
+ const xmlChar *content = NULL;
char newcontent[100];
+ newcontent[0] = 0;
if (doc == NULL)
return(-1);
+ /* html isn't a real encoding it's just libxml2 way to get entities */
+ if (!xmlStrcasecmp(encoding, BAD_CAST "html"))
+ return(-1);
+
if (encoding != NULL) {
snprintf(newcontent, sizeof(newcontent), "text/html; charset=%s",
(char *)encoding);
@@ -201,39 +208,24 @@ htmlSetMetaEncoding(htmlDocPtr doc, const xmlChar *encoding) {
if ((cur->type == XML_ELEMENT_NODE) && (cur->name != NULL)) {
if (xmlStrcasecmp(cur->name, BAD_CAST"head") == 0)
break;
- if (xmlStrcasecmp(cur->name, BAD_CAST"meta") == 0)
+ if (xmlStrcasecmp(cur->name, BAD_CAST"meta") == 0) {
+ head = cur->parent;
goto found_meta;
+ }
}
cur = cur->next;
}
if (cur == NULL)
return(-1);
found_head:
- if (cur->children == NULL) {
- if (encoding == NULL)
- return(0);
- meta = xmlNewDocNode(doc, NULL, BAD_CAST"meta", NULL);
- xmlAddChild(cur, meta);
- xmlNewProp(meta, BAD_CAST"http-equiv", BAD_CAST"Content-Type");
- xmlNewProp(meta, BAD_CAST"content", BAD_CAST newcontent);
- return(0);
- }
+ head = cur;
+ if (cur->children == NULL)
+ goto create;
cur = cur->children;
found_meta:
- if (encoding != NULL) {
- /*
- * Create a new Meta element with the right attributes
- */
-
- meta = xmlNewDocNode(doc, NULL, BAD_CAST"meta", NULL);
- xmlAddPrevSibling(cur, meta);
- xmlNewProp(meta, BAD_CAST"http-equiv", BAD_CAST"Content-Type");
- xmlNewProp(meta, BAD_CAST"content", BAD_CAST newcontent);
- }
-
/*
- * Search and destroy all the remaining the meta elements carrying
+ * Search and update all the remaining the meta elements carrying
* encoding informations
*/
while (cur != NULL) {
@@ -253,11 +245,11 @@ found_meta:
if ((!xmlStrcasecmp(attr->name, BAD_CAST"http-equiv"))
&& (!xmlStrcasecmp(value, BAD_CAST"Content-Type")))
http = 1;
- else
+ else
{
- if ((value != NULL) &&
- (!xmlStrcasecmp(attr->name, BAD_CAST"content")))
- content = value;
+ if ((value != NULL) &&
+ (!xmlStrcasecmp(attr->name, BAD_CAST"content")))
+ content = value;
}
if ((http != 0) && (content != NULL))
break;
@@ -266,16 +258,41 @@ found_meta:
}
if ((http != 0) && (content != NULL)) {
meta = cur;
- cur = cur->next;
- xmlUnlinkNode(meta);
- xmlFreeNode(meta);
- continue;
+ break;
}
}
}
cur = cur->next;
}
+create:
+ if (meta == NULL) {
+ if ((encoding != NULL) && (head != NULL)) {
+ /*
+ * Create a new Meta element with the right attributes
+ */
+
+ meta = xmlNewDocNode(doc, NULL, BAD_CAST"meta", NULL);
+ if (head->children == NULL)
+ xmlAddChild(head, meta);
+ else
+ xmlAddPrevSibling(head->children, meta);
+ xmlNewProp(meta, BAD_CAST"http-equiv", BAD_CAST"Content-Type");
+ xmlNewProp(meta, BAD_CAST"content", BAD_CAST newcontent);
+ }
+ } else {
+ /* remove the meta tag if NULL is passed */
+ if (encoding == NULL) {
+ xmlUnlinkNode(meta);
+ xmlFreeNode(meta);
+ }
+ /* change the document only if there is a real encoding change */
+ else if (xmlStrcasestr(content, encoding) == NULL) {
+ xmlSetProp(meta, BAD_CAST"content", BAD_CAST newcontent);
+ }
+ }
+
+
return(0);
}
@@ -299,7 +316,7 @@ static const char* htmlBooleanAttrs[] = {
* @name: the name of the attribute to check
*
* Determine if a given attribute is a boolean attribute.
- *
+ *
* returns: false if the attribute is not boolean, true otherwise.
*/
int
@@ -316,9 +333,14 @@ htmlIsBooleanAttr(const xmlChar *name)
}
#ifdef LIBXML_OUTPUT_ENABLED
+/*
+ * private routine exported from xmlIO.c
+ */
+xmlOutputBufferPtr
+xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
/************************************************************************
* *
- * Output error handlers *
+ * Output error handlers *
* *
************************************************************************/
/**
@@ -367,17 +389,13 @@ htmlSaveErr(int code, xmlNodePtr node, const char *extra)
/************************************************************************
* *
- * Dumping HTML tree content to a simple buffer *
+ * Dumping HTML tree content to a simple buffer *
* *
************************************************************************/
-static int
-htmlNodeDumpFormat(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
- int format);
-
/**
- * htmlNodeDumpFormat:
- * @buf: the HTML buffer output
+ * htmlBufNodeDumpFormat:
+ * @buf: the xmlBufPtr output
* @doc: the document
* @cur: the current node
* @format: should formatting spaces been added
@@ -386,10 +404,10 @@ htmlNodeDumpFormat(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
*
* Returns the number of byte written or -1 in case of error
*/
-static int
-htmlNodeDumpFormat(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
+static size_t
+htmlBufNodeDumpFormat(xmlBufPtr buf, xmlDocPtr doc, xmlNodePtr cur,
int format) {
- unsigned int use;
+ size_t use;
int ret;
xmlOutputBufferPtr outbuf;
@@ -412,10 +430,10 @@ htmlNodeDumpFormat(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
outbuf->context = NULL;
outbuf->written = 0;
- use = buf->use;
+ use = xmlBufUse(buf);
htmlNodeDumpFormatOutput(outbuf, doc, cur, NULL, format);
xmlFree(outbuf);
- ret = buf->use - use;
+ ret = xmlBufUse(buf) - use;
return (ret);
}
@@ -432,9 +450,24 @@ htmlNodeDumpFormat(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
*/
int
htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
+ xmlBufPtr buffer;
+ size_t ret;
+
+ if ((buf == NULL) || (cur == NULL))
+ return(-1);
+
xmlInitParser();
+ buffer = xmlBufFromBuffer(buf);
+ if (buffer == NULL)
+ return(-1);
+
+ ret = htmlBufNodeDumpFormat(buffer, doc, cur, 1);
- return(htmlNodeDumpFormat(buf, doc, cur, 1));
+ xmlBufBackToBuffer(buffer);
+
+ if (ret > INT_MAX)
+ return(-1);
+ return((int) ret);
}
/**
@@ -467,7 +500,7 @@ htmlNodeDumpFileFormat(FILE *out, xmlDocPtr doc,
if (enc != XML_CHAR_ENCODING_UTF8) {
handler = xmlFindCharEncodingHandler(encoding);
if (handler == NULL)
- return(-1);
+ htmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL, encoding);
}
}
@@ -479,7 +512,7 @@ htmlNodeDumpFileFormat(FILE *out, xmlDocPtr doc,
if (handler == NULL)
handler = xmlFindCharEncodingHandler("ascii");
- /*
+ /*
* save the content to a temp buffer.
*/
buf = xmlOutputBufferCreateFile(out, handler);
@@ -548,11 +581,9 @@ htmlDocDumpMemoryFormat(xmlDocPtr cur, xmlChar**mem, int *size, int format) {
}
handler = xmlFindCharEncodingHandler(encoding);
- if (handler == NULL) {
- *mem = NULL;
- *size = 0;
- return;
- }
+ if (handler == NULL)
+ htmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL, encoding);
+
} else {
handler = xmlFindCharEncodingHandler(encoding);
}
@@ -566,22 +597,22 @@ htmlDocDumpMemoryFormat(xmlDocPtr cur, xmlChar**mem, int *size, int format) {
if (handler == NULL)
handler = xmlFindCharEncodingHandler("ascii");
- buf = xmlAllocOutputBuffer(handler);
+ buf = xmlAllocOutputBufferInternal(handler);
if (buf == NULL) {
*mem = NULL;
*size = 0;
return;
}
- htmlDocContentDumpFormatOutput(buf, cur, NULL, format);
+ htmlDocContentDumpFormatOutput(buf, cur, NULL, format);
xmlOutputBufferFlush(buf);
if (buf->conv != NULL) {
- *size = buf->conv->use;
- *mem = xmlStrndup(buf->conv->content, *size);
+ *size = xmlBufUse(buf->conv);
+ *mem = xmlStrndup(xmlBufContent(buf->conv), *size);
} else {
- *size = buf->buffer->use;
- *mem = xmlStrndup(buf->buffer->content, *size);
+ *size = xmlBufUse(buf->buffer);
+ *mem = xmlStrndup(xmlBufContent(buf->buffer), *size);
}
(void)xmlOutputBufferClose(buf);
}
@@ -603,7 +634,7 @@ htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) {
/************************************************************************
* *
- * Dumping HTML tree content to an I/O output buffer *
+ * Dumping HTML tree content to an I/O output buffer *
* *
************************************************************************/
@@ -614,7 +645,7 @@ void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
* @buf: the HTML buffer output
* @doc: the document
* @encoding: the encoding string
- *
+ *
* TODO: check whether encoding is needed
*
* Dump the HTML document DTD, if any.
@@ -632,14 +663,15 @@ htmlDtdDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
xmlOutputBufferWriteString(buf, (const char *)cur->name);
if (cur->ExternalID != NULL) {
xmlOutputBufferWriteString(buf, " PUBLIC ");
- xmlBufferWriteQuotedString(buf->buffer, cur->ExternalID);
+ xmlBufWriteQuotedString(buf->buffer, cur->ExternalID);
if (cur->SystemID != NULL) {
xmlOutputBufferWriteString(buf, " ");
- xmlBufferWriteQuotedString(buf->buffer, cur->SystemID);
- }
- } else if (cur->SystemID != NULL) {
+ xmlBufWriteQuotedString(buf->buffer, cur->SystemID);
+ }
+ } else if (cur->SystemID != NULL &&
+ xmlStrcmp(cur->SystemID, BAD_CAST "about:legacy-compat")) {
xmlOutputBufferWriteString(buf, " SYSTEM ");
- xmlBufferWriteQuotedString(buf->buffer, cur->SystemID);
+ xmlBufWriteQuotedString(buf->buffer, cur->SystemID);
}
xmlOutputBufferWriteString(buf, ">\n");
}
@@ -659,9 +691,10 @@ htmlAttrDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlAttrPtr cur,
xmlChar *value;
/*
- * TODO: The html output method should not escape a & character
- * occurring in an attribute value immediately followed by
- * a { character (see Section B.7.1 of the HTML 4.0 Recommendation).
+ * The html output method should not escape a & character
+ * occurring in an attribute value immediately followed by
+ * a { character (see Section B.7.1 of the HTML 4.0 Recommendation).
+ * This is implemented in xmlEncodeEntitiesReentrant
*/
if (cur == NULL) {
@@ -684,20 +717,51 @@ htmlAttrDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlAttrPtr cur,
(!xmlStrcasecmp(cur->name, BAD_CAST "src")) ||
((!xmlStrcasecmp(cur->name, BAD_CAST "name")) &&
(!xmlStrcasecmp(cur->parent->name, BAD_CAST "a"))))) {
- xmlChar *escaped;
xmlChar *tmp = value;
+ /* xmlURIEscapeStr() escapes '"' so it can be safely used. */
+ xmlBufCCat(buf->buffer, "\"");
while (IS_BLANK_CH(*tmp)) tmp++;
- escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&,+");
- if (escaped != NULL) {
- xmlBufferWriteQuotedString(buf->buffer, escaped);
- xmlFree(escaped);
- } else {
- xmlBufferWriteQuotedString(buf->buffer, value);
+ /* URI Escape everything, except server side includes. */
+ for ( ; ; ) {
+ xmlChar *escaped;
+ xmlChar endChar;
+ xmlChar *end = NULL;
+ xmlChar *start = (xmlChar *)xmlStrstr(tmp, BAD_CAST "<!--");
+ if (start != NULL) {
+ end = (xmlChar *)xmlStrstr(tmp, BAD_CAST "-->");
+ if (end != NULL) {
+ *start = '\0';
+ }
+ }
+
+ /* Escape the whole string, or until start (set to '\0'). */
+ escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&,+");
+ if (escaped != NULL) {
+ xmlBufCat(buf->buffer, escaped);
+ xmlFree(escaped);
+ } else {
+ xmlBufCat(buf->buffer, tmp);
+ }
+
+ if (end == NULL) { /* Everything has been written. */
+ break;
+ }
+
+ /* Do not escape anything within server side includes. */
+ *start = '<'; /* Restore the first character of "<!--". */
+ end += 3; /* strlen("-->") */
+ endChar = *end;
+ *end = '\0';
+ xmlBufCat(buf->buffer, start);
+ *end = endChar;
+ tmp = end;
}
+
+ xmlBufCCat(buf->buffer, "\"");
} else {
- xmlBufferWriteQuotedString(buf->buffer, value);
+ xmlBufWriteQuotedString(buf->buffer, value);
}
xmlFree(value);
} else {
@@ -780,6 +844,10 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
htmlDocContentDumpOutput(buf, (xmlDocPtr) cur, encoding);
return;
}
+ if (cur->type == XML_ATTRIBUTE_NODE) {
+ htmlAttrDumpOutput(buf, doc, (xmlAttrPtr) cur, encoding);
+ return;
+ }
if (cur->type == HTML_TEXT_NODE) {
if (cur->content != NULL) {
if (((cur->name == (const xmlChar *)xmlStringText) ||
@@ -1043,7 +1111,7 @@ htmlDocDump(FILE *f, xmlDocPtr cur) {
handler = xmlFindCharEncodingHandler(encoding);
if (handler == NULL)
- return(-1);
+ htmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL, encoding);
} else {
handler = xmlFindCharEncodingHandler(encoding);
}
@@ -1083,7 +1151,7 @@ htmlSaveFile(const char *filename, xmlDocPtr cur) {
if ((cur == NULL) || (filename == NULL))
return(-1);
-
+
xmlInitParser();
encoding = (const char *) htmlGetMetaEncoding(cur);
@@ -1102,7 +1170,7 @@ htmlSaveFile(const char *filename, xmlDocPtr cur) {
handler = xmlFindCharEncodingHandler(encoding);
if (handler == NULL)
- return(-1);
+ htmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL, encoding);
}
}
@@ -1114,7 +1182,7 @@ htmlSaveFile(const char *filename, xmlDocPtr cur) {
if (handler == NULL)
handler = xmlFindCharEncodingHandler("ascii");
- /*
+ /*
* save the content to a temp buffer.
*/
buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
@@ -1134,7 +1202,7 @@ htmlSaveFile(const char *filename, xmlDocPtr cur) {
* @encoding: the document encoding
*
* Dump an HTML document to a file using a given encoding.
- *
+ *
* returns: the number of byte written or -1 in case of failure.
*/
int
@@ -1146,7 +1214,7 @@ htmlSaveFileFormat(const char *filename, xmlDocPtr cur,
if ((cur == NULL) || (filename == NULL))
return(-1);
-
+
xmlInitParser();
if (encoding != NULL) {
@@ -1163,9 +1231,9 @@ htmlSaveFileFormat(const char *filename, xmlDocPtr cur,
handler = xmlFindCharEncodingHandler(encoding);
if (handler == NULL)
- return(-1);
- htmlSetMetaEncoding(cur, (const xmlChar *) encoding);
+ htmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL, encoding);
}
+ htmlSetMetaEncoding(cur, (const xmlChar *) encoding);
} else {
htmlSetMetaEncoding(cur, (const xmlChar *) "UTF-8");
}
@@ -1178,7 +1246,7 @@ htmlSaveFileFormat(const char *filename, xmlDocPtr cur,
if (handler == NULL)
handler = xmlFindCharEncodingHandler("ascii");
- /*
+ /*
* save the content to a temp buffer.
*/
buf = xmlOutputBufferCreateFilename(filename, handler, 0);
@@ -1198,7 +1266,7 @@ htmlSaveFileFormat(const char *filename, xmlDocPtr cur,
*
* Dump an HTML document to a file using a given encoding
* and formatting returns/spaces are added.
- *
+ *
* returns: the number of byte written or -1 in case of failure.
*/
int
diff --git a/gettext-tools/gnulib-lib/libxml/HTMLtree.in.h b/gettext-tools/gnulib-lib/libxml/HTMLtree.in.h
index 6ea8207..c0e1103 100644
--- a/gettext-tools/gnulib-lib/libxml/HTMLtree.in.h
+++ b/gettext-tools/gnulib-lib/libxml/HTMLtree.in.h
@@ -62,78 +62,78 @@ extern "C" {
XMLPUBFUN htmlDocPtr XMLCALL
htmlNewDoc (const xmlChar *URI,
const xmlChar *ExternalID);
-XMLPUBFUN htmlDocPtr XMLCALL
+XMLPUBFUN htmlDocPtr XMLCALL
htmlNewDocNoDtD (const xmlChar *URI,
const xmlChar *ExternalID);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
htmlGetMetaEncoding (htmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlSetMetaEncoding (htmlDocPtr doc,
const xmlChar *encoding);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlDocDumpMemory (xmlDocPtr cur,
xmlChar **mem,
int *size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlDocDumpMemoryFormat (xmlDocPtr cur,
xmlChar **mem,
int *size,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlDocDump (FILE *f,
xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlSaveFile (const char *filename,
xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlNodeDump (xmlBufferPtr buf,
xmlDocPtr doc,
xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlNodeDumpFile (FILE *out,
xmlDocPtr doc,
xmlNodePtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlNodeDumpFileFormat (FILE *out,
xmlDocPtr doc,
xmlNodePtr cur,
const char *encoding,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlSaveFileEnc (const char *filename,
xmlDocPtr cur,
const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlSaveFileFormat (const char *filename,
xmlDocPtr cur,
const char *encoding,
int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
xmlDocPtr doc,
xmlNodePtr cur,
const char *encoding,
int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
xmlDocPtr cur,
const char *encoding);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
xmlDocPtr cur,
const char *encoding,
int format);
-XMLPUBFUN void XMLCALL
- htmlNodeDumpOutput (xmlOutputBufferPtr buf,
+XMLPUBFUN void XMLCALL
+ htmlNodeDumpOutput (xmlOutputBufferPtr buf,
xmlDocPtr doc,
- xmlNodePtr cur,
+ xmlNodePtr cur,
const char *encoding);
#endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
htmlIsBooleanAttr (const xmlChar *name);
diff --git a/gettext-tools/gnulib-lib/libxml/SAX.c b/gettext-tools/gnulib-lib/libxml/SAX.c
index 8e5d460..292af57 100644
--- a/gettext-tools/gnulib-lib/libxml/SAX.c
+++ b/gettext-tools/gnulib-lib/libxml/SAX.c
@@ -41,7 +41,7 @@
void
initxmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr, int warning)
{
-
+
if(hdlr->initialized == 1)
return;
diff --git a/gettext-tools/gnulib-lib/libxml/SAX.in.h b/gettext-tools/gnulib-lib/libxml/SAX.in.h
index 0ca161b..20093ce 100644
--- a/gettext-tools/gnulib-lib/libxml/SAX.in.h
+++ b/gettext-tools/gnulib-lib/libxml/SAX.in.h
@@ -25,53 +25,53 @@ extern "C" {
#endif
XMLPUBFUN const xmlChar * XMLCALL
getPublicId (void *ctx);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
getSystemId (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
setDocumentLocator (void *ctx,
xmlSAXLocatorPtr loc);
-
-XMLPUBFUN int XMLCALL
+
+XMLPUBFUN int XMLCALL
getLineNumber (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
getColumnNumber (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
isStandalone (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
hasInternalSubset (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
hasExternalSubset (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
internalSubset (void *ctx,
const xmlChar *name,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
externalSubset (void *ctx,
const xmlChar *name,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
getEntity (void *ctx,
const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
getParameterEntity (void *ctx,
const xmlChar *name);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
resolveEntity (void *ctx,
const xmlChar *publicId,
const xmlChar *systemId);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
entityDecl (void *ctx,
const xmlChar *name,
int type,
const xmlChar *publicId,
const xmlChar *systemId,
xmlChar *content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
attributeDecl (void *ctx,
const xmlChar *elem,
const xmlChar *fullname,
@@ -79,87 +79,87 @@ XMLPUBFUN void XMLCALL
int def,
const xmlChar *defaultValue,
xmlEnumerationPtr tree);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
elementDecl (void *ctx,
const xmlChar *name,
int type,
xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
notationDecl (void *ctx,
const xmlChar *name,
const xmlChar *publicId,
const xmlChar *systemId);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
unparsedEntityDecl (void *ctx,
const xmlChar *name,
const xmlChar *publicId,
const xmlChar *systemId,
const xmlChar *notationName);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
startDocument (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
endDocument (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
attribute (void *ctx,
const xmlChar *fullname,
const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
startElement (void *ctx,
const xmlChar *fullname,
const xmlChar **atts);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
endElement (void *ctx,
const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
reference (void *ctx,
const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
characters (void *ctx,
const xmlChar *ch,
int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
ignorableWhitespace (void *ctx,
const xmlChar *ch,
int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
processingInstruction (void *ctx,
const xmlChar *target,
const xmlChar *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
globalNamespace (void *ctx,
const xmlChar *href,
const xmlChar *prefix);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
setNamespace (void *ctx,
const xmlChar *name);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
getNamespace (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
checkNamespace (void *ctx,
xmlChar *nameSpace);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
namespaceDecl (void *ctx,
const xmlChar *href,
const xmlChar *prefix);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
comment (void *ctx,
const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
cdataBlock (void *ctx,
const xmlChar *value,
int len);
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr,
int warning);
#ifdef LIBXML_HTML_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
#endif
#ifdef LIBXML_DOCB_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
#endif
#endif /* LIBXML_SAX1_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/SAX2.c b/gettext-tools/gnulib-lib/libxml/SAX2.c
index 7d4ab64..ffef3e1 100644
--- a/gettext-tools/gnulib-lib/libxml/SAX2.c
+++ b/gettext-tools/gnulib-lib/libxml/SAX2.c
@@ -11,6 +11,7 @@
#include "libxml.h"
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include <libxml/xmlmemory.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
@@ -26,6 +27,11 @@
#include <libxml/HTMLtree.h>
#include <libxml/globals.h>
+/* Define SIZE_T_MAX unless defined through <limits.h>. */
+#ifndef SIZE_T_MAX
+# define SIZE_T_MAX ((size_t)-1)
+#endif /* !SIZE_T_MAX */
+
/* #define DEBUG_SAX2 */
/* #define DEBUG_SAX2_TREE */
@@ -39,7 +45,7 @@
*> values "system" and "public". I have made the default be "system" to
*> match yours.
*/
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -51,12 +57,29 @@
*/
static void
xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
+ xmlStructuredErrorFunc schannel = NULL;
+ const char *str1 = "out of memory\n";
+
if (ctxt != NULL) {
- if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
- ctxt->sax->error(ctxt->userData, "%s: out of memory\n", msg);
+ ctxt->errNo = XML_ERR_NO_MEMORY;
+ if ((ctxt->sax != NULL) && (ctxt->sax->initialized == XML_SAX2_MAGIC))
+ schannel = ctxt->sax->serror;
+ __xmlRaiseError(schannel,
+ ctxt->vctxt.error, ctxt->vctxt.userData,
+ ctxt, NULL, XML_FROM_PARSER, XML_ERR_NO_MEMORY,
+ XML_ERR_ERROR, NULL, 0, (const char *) str1,
+ NULL, NULL, 0, 0,
+ msg, (const char *) str1, NULL);
ctxt->errNo = XML_ERR_NO_MEMORY;
ctxt->instate = XML_PARSER_EOF;
ctxt->disableSAX = 1;
+ } else {
+ __xmlRaiseError(schannel,
+ NULL, NULL,
+ ctxt, NULL, XML_FROM_PARSER, XML_ERR_NO_MEMORY,
+ XML_ERR_ERROR, NULL, 0, (const char *) str1,
+ NULL, NULL, 0, 0,
+ msg, (const char *) str1, NULL);
}
}
@@ -120,7 +143,7 @@ xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
if (ctxt != NULL)
ctxt->errNo = error;
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_PARSER, error,
- XML_ERR_FATAL, NULL, 0,
+ XML_ERR_FATAL, NULL, 0,
(const char *) str1, (const char *) str2,
NULL, 0, 0, msg, str1, str2);
if (ctxt != NULL) {
@@ -151,7 +174,7 @@ xmlWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
if (ctxt != NULL)
ctxt->errNo = error;
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_PARSER, error,
- XML_ERR_WARNING, NULL, 0,
+ XML_ERR_WARNING, NULL, 0,
(const char *) str1, NULL,
NULL, 0, 0, msg, str1);
}
@@ -176,7 +199,7 @@ xmlNsErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
if (ctxt != NULL)
ctxt->errNo = error;
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_NAMESPACE, error,
- XML_ERR_ERROR, NULL, 0,
+ XML_ERR_ERROR, NULL, 0,
(const char *) str1, (const char *) str2,
NULL, 0, 0, msg, str1, str2);
}
@@ -200,7 +223,7 @@ xmlNsWarnMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
if (ctxt != NULL)
ctxt->errNo = error;
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_NAMESPACE, error,
- XML_ERR_WARNING, NULL, 0,
+ XML_ERR_WARNING, NULL, 0,
(const char *) str1, (const char *) str2,
NULL, 0, 0, msg, str1, str2);
}
@@ -234,7 +257,7 @@ xmlSAX2GetSystemId(void *ctx)
{
xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
if ((ctx == NULL) || (ctxt->input == NULL)) return(NULL);
- return((const xmlChar *) ctxt->input->filename);
+ return((const xmlChar *) ctxt->input->filename);
}
/**
@@ -349,7 +372,7 @@ xmlSAX2InternalSubset(void *ctx, const xmlChar *name,
xmlFreeDtd(dtd);
ctxt->myDoc->intSubset = NULL;
}
- ctxt->myDoc->intSubset =
+ ctxt->myDoc->intSubset =
xmlCreateIntSubset(ctxt->myDoc, name, ExternalID, SystemID);
if (ctxt->myDoc->intSubset == NULL)
xmlSAX2ErrMemory(ctxt, "xmlSAX2InternalSubset");
@@ -388,6 +411,7 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
xmlParserInputPtr input = NULL;
xmlCharEncoding enc;
int oldcharset;
+ const xmlChar *oldencoding;
/*
* Ask the Entity resolver to load the damn thing
@@ -409,6 +433,8 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
oldinputMax = ctxt->inputMax;
oldinputTab = ctxt->inputTab;
oldcharset = ctxt->charset;
+ oldencoding = ctxt->encoding;
+ ctxt->encoding = NULL;
ctxt->inputTab = (xmlParserInputPtr *)
xmlMalloc(5 * sizeof(xmlParserInputPtr));
@@ -419,6 +445,7 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
ctxt->inputMax = oldinputMax;
ctxt->inputTab = oldinputTab;
ctxt->charset = oldcharset;
+ ctxt->encoding = oldencoding;
return;
}
ctxt->inputNr = 0;
@@ -464,6 +491,11 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
ctxt->inputMax = oldinputMax;
ctxt->inputTab = oldinputTab;
ctxt->charset = oldcharset;
+ if ((ctxt->encoding != NULL) &&
+ ((ctxt->dict == NULL) ||
+ (!xmlDictOwns(ctxt->dict, ctxt->encoding))))
+ xmlFree((xmlChar *) ctxt->encoding);
+ ctxt->encoding = oldencoding;
/* ctxt->wellFormed = oldwellFormed; */
}
}
@@ -568,6 +600,7 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
* parse the external entity
*/
xmlNodePtr children;
+ unsigned long oldnbent = ctxt->nbentities;
val = xmlParseCtxtExternalEntity(ctxt, ret->URI,
ret->ExternalID, &children);
@@ -580,7 +613,11 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
return(NULL);
}
ret->owner = 1;
- ret->checked = 1;
+ if (ret->checked == 0) {
+ ret->checked = (ctxt->nbentities - oldnbent + 1) * 2;
+ if ((ret->content != NULL) && (xmlStrchr(ret->content, '<')))
+ ret->checked |= 1;
+ }
}
return(ret);
}
@@ -614,8 +651,8 @@ xmlSAX2GetParameterEntity(void *ctx, const xmlChar *name)
/**
* xmlSAX2EntityDecl:
* @ctx: the user data (XML parser context)
- * @name: the entity name
- * @type: the entity type
+ * @name: the entity name
+ * @type: the entity type
* @publicId: The public ID of the entity
* @systemId: The system ID of the entity
* @content: the entity value (without processing).
@@ -650,7 +687,7 @@ xmlSAX2EntityDecl(void *ctx, const xmlChar *name, int type,
base = ctxt->input->filename;
if (base == NULL)
base = ctxt->directory;
-
+
URI = xmlBuildURI(systemId, (const xmlChar *) base);
ent->URI = URI;
}
@@ -659,7 +696,7 @@ xmlSAX2EntityDecl(void *ctx, const xmlChar *name, int type,
systemId, content);
if ((ent == NULL) && (ctxt->pedantic) &&
(ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
- ctxt->sax->warning(ctxt->userData,
+ ctxt->sax->warning(ctxt->userData,
"Entity(%s) already defined in the external subset\n", name);
if ((ent != NULL) && (ent->URI == NULL) && (systemId != NULL)) {
xmlChar *URI;
@@ -669,7 +706,7 @@ xmlSAX2EntityDecl(void *ctx, const xmlChar *name, int type,
base = ctxt->input->filename;
if (base == NULL)
base = ctxt->directory;
-
+
URI = xmlBuildURI(systemId, (const xmlChar *) base);
ent->URI = URI;
}
@@ -684,8 +721,8 @@ xmlSAX2EntityDecl(void *ctx, const xmlChar *name, int type,
* xmlSAX2AttributeDecl:
* @ctx: the user data (XML parser context)
* @elem: the name of the element
- * @fullname: the attribute name
- * @type: the attribute type
+ * @fullname: the attribute name
+ * @type: the attribute type
* @def: the type of default value
* @defaultValue: the attribute default value
* @tree: the tree of enumerated value set
@@ -728,7 +765,7 @@ xmlSAX2AttributeDecl(void *ctx, const xmlChar *elem, const xmlChar *fullname,
(xmlAttributeDefault) def, defaultValue, tree);
else if (ctxt->inSubset == 2)
attr = xmlAddAttributeDecl(&ctxt->vctxt, ctxt->myDoc->extSubset, elem,
- name, prefix, (xmlAttributeType) type,
+ name, prefix, (xmlAttributeType) type,
(xmlAttributeDefault) def, defaultValue, tree);
else {
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
@@ -754,8 +791,8 @@ xmlSAX2AttributeDecl(void *ctx, const xmlChar *elem, const xmlChar *fullname,
/**
* xmlSAX2ElementDecl:
* @ctx: the user data (XML parser context)
- * @name: the element name
- * @type: the element type
+ * @name: the element name
+ * @type: the element type
* @content: the element value tree
*
* An element definition has been parsed
@@ -876,7 +913,7 @@ xmlSAX2UnparsedEntityDecl(void *ctx, const xmlChar *name,
publicId, systemId, notationName);
if ((ent == NULL) && (ctxt->pedantic) &&
(ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
- ctxt->sax->warning(ctxt->userData,
+ ctxt->sax->warning(ctxt->userData,
"Entity(%s) already defined in the internal subset\n", name);
if ((ent != NULL) && (ent->URI == NULL) && (systemId != NULL)) {
xmlChar *URI;
@@ -886,7 +923,7 @@ xmlSAX2UnparsedEntityDecl(void *ctx, const xmlChar *name,
base = ctxt->input->filename;
if (base == NULL)
base = ctxt->directory;
-
+
URI = xmlBuildURI(systemId, (const xmlChar *) base);
ent->URI = URI;
}
@@ -896,7 +933,7 @@ xmlSAX2UnparsedEntityDecl(void *ctx, const xmlChar *name,
publicId, systemId, notationName);
if ((ent == NULL) && (ctxt->pedantic) &&
(ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
- ctxt->sax->warning(ctxt->userData,
+ ctxt->sax->warning(ctxt->userData,
"Entity(%s) already defined in the external subset\n", name);
if ((ent != NULL) && (ent->URI == NULL) && (systemId != NULL)) {
xmlChar *URI;
@@ -906,7 +943,7 @@ xmlSAX2UnparsedEntityDecl(void *ctx, const xmlChar *name,
base = ctxt->input->filename;
if (base == NULL)
base = ctxt->directory;
-
+
URI = xmlBuildURI(systemId, (const xmlChar *) base);
ent->URI = URI;
}
@@ -961,6 +998,8 @@ xmlSAX2StartDocument(void *ctx)
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartDocument");
return;
}
+ ctxt->myDoc->properties = XML_DOC_HTML;
+ ctxt->myDoc->parseFlags = ctxt->options;
#else
xmlGenericError(xmlGenericErrorContext,
"libxml2 built without HTML support\n");
@@ -972,6 +1011,10 @@ xmlSAX2StartDocument(void *ctx)
} else {
doc = ctxt->myDoc = xmlNewDoc(ctxt->version);
if (doc != NULL) {
+ doc->properties = 0;
+ if (ctxt->options & XML_PARSE_OLD10)
+ doc->properties |= XML_DOC_OLD10;
+ doc->parseFlags = ctxt->options;
if (ctxt->encoding != NULL)
doc->encoding = xmlStrdup(ctxt->encoding);
else
@@ -1035,7 +1078,7 @@ xmlSAX2EndDocument(void *ctx)
}
}
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
/**
* xmlSAX2AttributeInternal:
* @ctx: the user data (XML parser context)
@@ -1059,25 +1102,31 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
xmlChar *nval;
xmlNsPtr namespace;
- /*
- * Split the full name into a namespace prefix and the tag name
- */
- name = xmlSplitQName(ctxt, fullname, &ns);
- if ((name != NULL) && (name[0] == 0)) {
- if (xmlStrEqual(ns, BAD_CAST "xmlns")) {
- xmlNsErrMsg(ctxt, XML_ERR_NS_DECL_ERROR,
- "invalid namespace declaration '%s'\n",
- fullname, NULL);
- } else {
- xmlNsWarnMsg(ctxt, XML_WAR_NS_COLUMN,
- "Avoid attribute ending with ':' like '%s'\n",
- fullname, NULL);
- }
- if (ns != NULL)
- xmlFree(ns);
- ns = NULL;
- xmlFree(name);
+ if (ctxt->html) {
name = xmlStrdup(fullname);
+ ns = NULL;
+ namespace = NULL;
+ } else {
+ /*
+ * Split the full name into a namespace prefix and the tag name
+ */
+ name = xmlSplitQName(ctxt, fullname, &ns);
+ if ((name != NULL) && (name[0] == 0)) {
+ if (xmlStrEqual(ns, BAD_CAST "xmlns")) {
+ xmlNsErrMsg(ctxt, XML_ERR_NS_DECL_ERROR,
+ "invalid namespace declaration '%s'\n",
+ fullname, NULL);
+ } else {
+ xmlNsWarnMsg(ctxt, XML_WAR_NS_COLUMN,
+ "Avoid attribute ending with ':' like '%s'\n",
+ fullname, NULL);
+ }
+ if (ns != NULL)
+ xmlFree(ns);
+ ns = NULL;
+ xmlFree(name);
+ name = xmlStrdup(fullname);
+ }
}
if (name == NULL) {
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
@@ -1086,24 +1135,33 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
return;
}
+#ifdef LIBXML_HTML_ENABLED
+ if ((ctxt->html) &&
+ (value == NULL) && (htmlIsBooleanAttr(fullname))) {
+ nval = xmlStrdup(fullname);
+ value = (const xmlChar *) nval;
+ } else
+#endif
+ {
#ifdef LIBXML_VALID_ENABLED
- /*
- * Do the last stage of the attribute normalization
- * Needed for HTML too:
- * http://www.w3.org/TR/html4/types.html#h-6.2
- */
- ctxt->vctxt.valid = 1;
- nval = xmlValidCtxtNormalizeAttributeValue(&ctxt->vctxt,
- ctxt->myDoc, ctxt->node,
- fullname, value);
- if (ctxt->vctxt.valid != 1) {
- ctxt->valid = 0;
- }
- if (nval != NULL)
- value = nval;
+ /*
+ * Do the last stage of the attribute normalization
+ * Needed for HTML too:
+ * http://www.w3.org/TR/html4/types.html#h-6.2
+ */
+ ctxt->vctxt.valid = 1;
+ nval = xmlValidCtxtNormalizeAttributeValue(&ctxt->vctxt,
+ ctxt->myDoc, ctxt->node,
+ fullname, value);
+ if (ctxt->vctxt.valid != 1) {
+ ctxt->valid = 0;
+ }
+ if (nval != NULL)
+ value = nval;
#else
- nval = NULL;
+ nval = NULL;
#endif /* LIBXML_VALID_ENABLED */
+ }
/*
* Check whether it's a namespace definition
@@ -1119,6 +1177,12 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
val = xmlStringDecodeEntities(ctxt, value, XML_SUBSTITUTE_REF,
0,0,0);
ctxt->depth--;
+ if (val == NULL) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
+ if (name != NULL)
+ xmlFree(name);
+ return;
+ }
} else {
val = (xmlChar *) value;
}
@@ -1129,12 +1193,12 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
uri = xmlParseURI((const char *)val);
if (uri == NULL) {
if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
- ctxt->sax->warning(ctxt->userData,
+ ctxt->sax->warning(ctxt->userData,
"xmlns: %s not a valid URI\n", val);
} else {
if (uri->scheme == NULL) {
if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
- ctxt->sax->warning(ctxt->userData,
+ ctxt->sax->warning(ctxt->userData,
"xmlns: URI %s is not absolute\n", val);
}
xmlFreeURI(uri);
@@ -1154,7 +1218,7 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
ctxt->valid &= xmlValidateOneNamespace(&ctxt->vctxt, ctxt->myDoc,
ctxt->node, prefix, nsret, val);
#endif /* LIBXML_VALID_ENABLED */
- if (name != NULL)
+ if (name != NULL)
xmlFree(name);
if (nval != NULL)
xmlFree(nval);
@@ -1176,7 +1240,7 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
if (val == NULL) {
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
xmlFree(ns);
- if (name != NULL)
+ if (name != NULL)
xmlFree(name);
return;
}
@@ -1217,7 +1281,7 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
ctxt->valid &= xmlValidateOneNamespace(&ctxt->vctxt, ctxt->myDoc,
ctxt->node, prefix, nsret, value);
#endif /* LIBXML_VALID_ENABLED */
- if (name != NULL)
+ if (name != NULL)
xmlFree(name);
if (nval != NULL)
xmlFree(nval);
@@ -1227,30 +1291,32 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
}
if (ns != NULL) {
- xmlAttrPtr prop;
namespace = xmlSearchNs(ctxt->myDoc, ctxt->node, ns);
+
if (namespace == NULL) {
xmlNsErrMsg(ctxt, XML_NS_ERR_UNDEFINED_NAMESPACE,
"Namespace prefix %s of attribute %s is not defined\n",
ns, name);
- }
-
- prop = ctxt->node->properties;
- while (prop != NULL) {
- if (prop->ns != NULL) {
- if ((xmlStrEqual(name, prop->name)) &&
- ((namespace == prop->ns) ||
- (xmlStrEqual(namespace->href, prop->ns->href)))) {
- xmlNsErrMsg(ctxt, XML_ERR_ATTRIBUTE_REDEFINED,
- "Attribute %s in %s redefined\n",
- name, namespace->href);
- ctxt->wellFormed = 0;
- if (ctxt->recovery == 0) ctxt->disableSAX = 1;
- goto error;
- }
- }
- prop = prop->next;
- }
+ } else {
+ xmlAttrPtr prop;
+
+ prop = ctxt->node->properties;
+ while (prop != NULL) {
+ if (prop->ns != NULL) {
+ if ((xmlStrEqual(name, prop->name)) &&
+ ((namespace == prop->ns) ||
+ (xmlStrEqual(namespace->href, prop->ns->href)))) {
+ xmlNsErrMsg(ctxt, XML_ERR_ATTRIBUTE_REDEFINED,
+ "Attribute %s in %s redefined\n",
+ name, namespace->href);
+ ctxt->wellFormed = 0;
+ if (ctxt->recovery == 0) ctxt->disableSAX = 1;
+ goto error;
+ }
+ }
+ prop = prop->next;
+ }
+ }
} else {
namespace = NULL;
}
@@ -1281,7 +1347,7 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
#ifdef LIBXML_VALID_ENABLED
if ((!ctxt->html) && ctxt->validate && ctxt->wellFormed &&
ctxt->myDoc && ctxt->myDoc->intSubset) {
-
+
/*
* If we don't substitute entities, the validation should be
* done on a value with replaced entities anyway.
@@ -1293,7 +1359,7 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
val = xmlStringDecodeEntities(ctxt, value, XML_SUBSTITUTE_REF,
0,0,0);
ctxt->depth--;
-
+
if (val == NULL)
ctxt->valid &= xmlValidateOneAttribute(&ctxt->vctxt,
ctxt->myDoc, ctxt->node, ret, value);
@@ -1350,7 +1416,7 @@ xmlSAX2AttributeInternal(void *ctx, const xmlChar *fullname,
error:
if (nval != NULL)
xmlFree(nval);
- if (ns != NULL)
+ if (ns != NULL)
xmlFree(ns);
}
@@ -1401,6 +1467,10 @@ process_external_subset:
} else {
fulln = xmlStrdup(attr->name);
}
+ if (fulln == NULL) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
+ break;
+ }
/*
* Check that the attribute is not declared in the
@@ -1423,6 +1493,7 @@ process_external_subset:
(const char *)fulln,
(const char *)attr->elem);
}
+ xmlFree(fulln);
}
attr = attr->nexth;
}
@@ -1444,7 +1515,7 @@ process_external_subset:
* - this is a namespace prefix
* - the user required for completion in the tree
* like XSLT
- * - there isn't already an attribute definition
+ * - there isn't already an attribute definition
* in the internal subset overriding it.
*/
if (((attr->prefix != NULL) &&
@@ -1533,17 +1604,17 @@ xmlSAX2StartElement(void *ctx, const xmlChar *fullname, const xmlChar **atts)
/*
* First check on validity:
*/
- if (ctxt->validate && (ctxt->myDoc->extSubset == NULL) &&
+ if (ctxt->validate && (ctxt->myDoc->extSubset == NULL) &&
((ctxt->myDoc->intSubset == NULL) ||
- ((ctxt->myDoc->intSubset->notations == NULL) &&
+ ((ctxt->myDoc->intSubset->notations == NULL) &&
(ctxt->myDoc->intSubset->elements == NULL) &&
- (ctxt->myDoc->intSubset->attributes == NULL) &&
+ (ctxt->myDoc->intSubset->attributes == NULL) &&
(ctxt->myDoc->intSubset->entities == NULL)))) {
xmlErrValid(ctxt, XML_ERR_NO_DTD,
"Validation failed: no DTD found !", NULL, NULL);
ctxt->validate = 0;
}
-
+
/*
* Split the full name into a namespace prefix and the tag name
@@ -1721,7 +1792,6 @@ void
xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED)
{
xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
- xmlParserNodeInfo node_info;
xmlNodePtr cur;
if (ctx == NULL) return;
@@ -1732,13 +1802,13 @@ xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED)
else
xmlGenericError(xmlGenericErrorContext, "SAX.xmlSAX2EndElement(%s)\n", name);
#endif
-
+
/* Capture end position and add node */
if (cur != NULL && ctxt->record_info) {
- node_info.end_pos = ctxt->input->cur - ctxt->input->base;
- node_info.end_line = ctxt->input->line;
- node_info.node = cur;
- xmlParserAddNodeInfo(ctxt, &node_info);
+ ctxt->nodeInfo->end_pos = ctxt->input->cur - ctxt->input->base;
+ ctxt->nodeInfo->end_line = ctxt->input->line;
+ ctxt->nodeInfo->node = cur;
+ xmlParserAddNodeInfo(ctxt, ctxt->nodeInfo);
}
ctxt->nodemem = -1;
@@ -1749,7 +1819,7 @@ xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED)
cur);
#endif /* LIBXML_VALID_ENABLED */
-
+
/*
* end of parsing of this node.
*/
@@ -1758,15 +1828,15 @@ xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED)
#endif
nodePop(ctxt);
}
-#endif /* LIBXML_SAX1_ENABLED || LIBXML_HTML_ENABLE */
+#endif /* LIBXML_SAX1_ENABLED || LIBXML_HTML_ENABLED || LIBXML_LEGACY_ENABLED */
/*
* xmlSAX2TextNode:
* @ctxt: the parser context
* @str: the input string
* @len: the string length
- *
- * Remove the entities from an attribute value
+ *
+ * Callback for a text node
*
* Returns the newly allocated string or NULL if not needed or error
*/
@@ -1799,7 +1869,7 @@ xmlSAX2TextNode(xmlParserCtxtPtr ctxt, const xmlChar *str, int len) {
if ((len < (int) (2 * sizeof(void *))) &&
(ctxt->options & XML_PARSE_COMPACT)) {
- /* store the string in the node overrithing properties and nsDef */
+ /* store the string in the node overriding properties and nsDef */
xmlChar *tmp = (xmlChar *) &(ret->properties);
memcpy(tmp, str, len);
tmp[len] = 0;
@@ -1831,6 +1901,18 @@ skip:
} else
ret->content = (xmlChar *) intern;
+ if (ctxt->linenumbers) {
+ if (ctxt->input != NULL) {
+ if (ctxt->input->line < 65535)
+ ret->line = (short) ctxt->input->line;
+ else {
+ ret->line = 65535;
+ if (ctxt->options & XML_PARSE_BIG_LINES)
+ ret->psvi = (void *) (long) ctxt->input->line;
+ }
+ }
+ }
+
if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))
xmlRegisterNodeDefaultValue(ret);
return(ret);
@@ -1842,7 +1924,7 @@ skip:
* @ctxt: the parser context
* @str: the input string
* @len: the string length
- *
+ *
* Remove the entities from an attribute value
*
* Returns the newly allocated string or NULL if not needed or error
@@ -1908,7 +1990,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt,
memset(ret, 0, sizeof(xmlAttr));
ret->type = XML_ATTRIBUTE_NODE;
- ret->parent = ctxt->node;
+ ret->parent = ctxt->node;
ret->doc = ctxt->myDoc;
ret->ns = namespace;
@@ -1932,7 +2014,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt,
xmlRegisterNodeDefaultValue((xmlNodePtr)ret);
} else {
if (ctxt->dictNames)
- ret = xmlNewNsPropEatName(ctxt->node, namespace,
+ ret = xmlNewNsPropEatName(ctxt->node, namespace,
(xmlChar *) localname, NULL);
else
ret = xmlNewNsProp(ctxt->node, namespace, localname, NULL);
@@ -2018,7 +2100,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt,
xmlChar *nvalnorm;
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(localname, prefix, fn, 50);
if (fullname != NULL) {
ctxt->vctxt.valid = 1;
@@ -2069,6 +2151,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt,
*/
if (dup == NULL)
dup = xmlStrndup(value, valueend - value);
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
#ifdef LIBXML_VALID_ENABLED
if (xmlValidateNCName(dup, 1) != 0) {
xmlErrValid(ctxt, XML_DTD_XMLID_VALUE,
@@ -2076,6 +2159,7 @@ xmlSAX2AttributeNs(xmlParserCtxtPtr ctxt,
(const char *) dup, NULL);
}
#endif
+#endif
xmlAddID(&ctxt->vctxt, ctxt->myDoc, dup, ret);
} else if (xmlIsID(ctxt->myDoc, ctxt->node, ret)) {
/* might be worth duplicate entry points and not copy */
@@ -2125,6 +2209,7 @@ xmlSAX2StartElementNs(void *ctx,
xmlNodePtr parent;
xmlNsPtr last = NULL, ns;
const xmlChar *uri, *pref;
+ xmlChar *lname = NULL;
int i, j;
if (ctx == NULL) return;
@@ -2132,18 +2217,32 @@ xmlSAX2StartElementNs(void *ctx,
/*
* First check on validity:
*/
- if (ctxt->validate && (ctxt->myDoc->extSubset == NULL) &&
+ if (ctxt->validate && (ctxt->myDoc->extSubset == NULL) &&
((ctxt->myDoc->intSubset == NULL) ||
- ((ctxt->myDoc->intSubset->notations == NULL) &&
+ ((ctxt->myDoc->intSubset->notations == NULL) &&
(ctxt->myDoc->intSubset->elements == NULL) &&
- (ctxt->myDoc->intSubset->attributes == NULL) &&
+ (ctxt->myDoc->intSubset->attributes == NULL) &&
(ctxt->myDoc->intSubset->entities == NULL)))) {
- xmlErrValid(ctxt, XML_ERR_NO_DTD,
+ xmlErrValid(ctxt, XML_DTD_NO_DTD,
"Validation failed: no DTD found !", NULL, NULL);
ctxt->validate = 0;
}
/*
+ * Take care of the rare case of an undefined namespace prefix
+ */
+ if ((prefix != NULL) && (URI == NULL)) {
+ if (ctxt->dictNames) {
+ const xmlChar *fullname;
+
+ fullname = xmlDictQLookup(ctxt->dict, prefix, localname);
+ if (fullname != NULL)
+ localname = fullname;
+ } else {
+ lname = xmlBuildQName(localname, prefix, NULL, 0);
+ }
+ }
+ /*
* allocate the node
*/
if (ctxt->freeElems != NULL) {
@@ -2156,7 +2255,10 @@ xmlSAX2StartElementNs(void *ctx,
if (ctxt->dictNames)
ret->name = localname;
else {
- ret->name = xmlStrdup(localname);
+ if (lname == NULL)
+ ret->name = xmlStrdup(localname);
+ else
+ ret->name = lname;
if (ret->name == NULL) {
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
return;
@@ -2166,10 +2268,13 @@ xmlSAX2StartElementNs(void *ctx,
xmlRegisterNodeDefaultValue(ret);
} else {
if (ctxt->dictNames)
- ret = xmlNewDocNodeEatName(ctxt->myDoc, NULL,
+ ret = xmlNewDocNodeEatName(ctxt->myDoc, NULL,
(xmlChar *) localname, NULL);
- else
+ else if (lname == NULL)
ret = xmlNewDocNode(ctxt->myDoc, NULL, localname, NULL);
+ else
+ ret = xmlNewDocNodeEatName(ctxt->myDoc, NULL,
+ (xmlChar *) lname, NULL);
if (ret == NULL) {
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
return;
@@ -2184,7 +2289,7 @@ xmlSAX2StartElementNs(void *ctx,
}
}
- if ((ctxt->myDoc->children == NULL) || (parent == NULL)) {
+ if (parent == NULL) {
xmlAddChild((xmlNodePtr) ctxt->myDoc, (xmlNodePtr) ret);
}
/*
@@ -2204,8 +2309,12 @@ xmlSAX2StartElementNs(void *ctx,
if ((URI != NULL) && (prefix == pref))
ret->ns = ns;
} else {
- xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
- return;
+ /*
+ * any out of memory error would already have been raised
+ * but we can't be garanteed it's the actual error due to the
+ * API, best is to skip in this case
+ */
+ continue;
}
#ifdef LIBXML_VALID_ENABLED
if ((!ctxt->html) && ctxt->validate && ctxt->wellFormed &&
@@ -2256,9 +2365,14 @@ xmlSAX2StartElementNs(void *ctx,
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
return;
}
- xmlNsWarnMsg(ctxt, XML_NS_ERR_UNDEFINED_NAMESPACE,
- "Namespace prefix %s was not found\n",
- prefix, NULL);
+ if (prefix != NULL)
+ xmlNsWarnMsg(ctxt, XML_NS_ERR_UNDEFINED_NAMESPACE,
+ "Namespace prefix %s was not found\n",
+ prefix, NULL);
+ else
+ xmlNsWarnMsg(ctxt, XML_NS_ERR_UNDEFINED_NAMESPACE,
+ "Namespace default prefix was not found\n",
+ NULL, NULL);
}
}
@@ -2267,8 +2381,33 @@ xmlSAX2StartElementNs(void *ctx,
*/
if (nb_attributes > 0) {
for (j = 0,i = 0;i < nb_attributes;i++,j+=5) {
+ /*
+ * Handle the rare case of an undefined atribute prefix
+ */
+ if ((attributes[j+1] != NULL) && (attributes[j+2] == NULL)) {
+ if (ctxt->dictNames) {
+ const xmlChar *fullname;
+
+ fullname = xmlDictQLookup(ctxt->dict, attributes[j+1],
+ attributes[j]);
+ if (fullname != NULL) {
+ xmlSAX2AttributeNs(ctxt, fullname, NULL,
+ attributes[j+3], attributes[j+4]);
+ continue;
+ }
+ } else {
+ lname = xmlBuildQName(attributes[j], attributes[j+1],
+ NULL, 0);
+ if (lname != NULL) {
+ xmlSAX2AttributeNs(ctxt, lname, NULL,
+ attributes[j+3], attributes[j+4]);
+ xmlFree(lname);
+ continue;
+ }
+ }
+ }
xmlSAX2AttributeNs(ctxt, attributes[j], attributes[j+1],
- attributes[j+3], attributes[j+4]);
+ attributes[j+3], attributes[j+4]);
}
}
@@ -2339,7 +2478,7 @@ xmlSAX2EndElementNs(void *ctx,
* @ctx: the user data (XML parser context)
* @name: The entity name
*
- * called when an entity xmlSAX2Reference is detected.
+ * called when an entity xmlSAX2Reference is detected.
*/
void
xmlSAX2Reference(void *ctx, const xmlChar *name)
@@ -2360,7 +2499,9 @@ xmlSAX2Reference(void *ctx, const xmlChar *name)
xmlGenericError(xmlGenericErrorContext,
"add xmlSAX2Reference %s to %s \n", name, ctxt->node->name);
#endif
- xmlAddChild(ctxt->node, ret);
+ if (xmlAddChild(ctxt->node, ret) == NULL) {
+ xmlFreeNode(ret);
+ }
}
/**
@@ -2437,9 +2578,23 @@ xmlSAX2Characters(void *ctx, const xmlChar *ch, int len)
(xmlDictOwns(ctxt->dict, lastChild->content))) {
lastChild->content = xmlStrdup(lastChild->content);
}
+ if (lastChild->content == NULL) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters: xmlStrdup returned NULL");
+ return;
+ }
+ if (((size_t)ctxt->nodelen + (size_t)len > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters: huge text node");
+ return;
+ }
+ if ((size_t)ctxt->nodelen > SIZE_T_MAX - (size_t)len ||
+ (size_t)ctxt->nodemem + (size_t)len > SIZE_T_MAX / 2) {
+ xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters overflow prevented");
+ return;
+ }
if (ctxt->nodelen + len >= ctxt->nodemem) {
xmlChar *newbuf;
- int size;
+ size_t size;
size = ctxt->nodemem + len;
size *= 2;
@@ -2520,7 +2675,6 @@ xmlSAX2ProcessingInstruction(void *ctx, const xmlChar *target,
ret = xmlNewDocPI(ctxt->myDoc, target, data);
if (ret == NULL) return;
- parent = ctxt->node;
if (ctxt->linenumbers) {
if (ctxt->input != NULL) {
@@ -2537,7 +2691,7 @@ xmlSAX2ProcessingInstruction(void *ctx, const xmlChar *target,
xmlAddChild((xmlNodePtr) ctxt->myDoc->extSubset, ret);
return;
}
- if ((ctxt->myDoc->children == NULL) || (parent == NULL)) {
+ if (parent == NULL) {
#ifdef DEBUG_SAX_TREE
xmlGenericError(xmlGenericErrorContext,
"Setting PI %s as root\n", target);
@@ -2598,7 +2752,7 @@ xmlSAX2Comment(void *ctx, const xmlChar *value)
xmlAddChild((xmlNodePtr) ctxt->myDoc->extSubset, ret);
return;
}
- if ((ctxt->myDoc->children == NULL) || (parent == NULL)) {
+ if (parent == NULL) {
#ifdef DEBUG_SAX_TREE
xmlGenericError(xmlGenericErrorContext,
"Setting xmlSAX2Comment as root\n");
diff --git a/gettext-tools/gnulib-lib/libxml/SAX2.in.h b/gettext-tools/gnulib-lib/libxml/SAX2.in.h
index 8d2db02..a55212e 100644
--- a/gettext-tools/gnulib-lib/libxml/SAX2.in.h
+++ b/gettext-tools/gnulib-lib/libxml/SAX2.in.h
@@ -23,53 +23,53 @@ extern "C" {
#endif
XMLPUBFUN const xmlChar * XMLCALL
xmlSAX2GetPublicId (void *ctx);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlSAX2GetSystemId (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2SetDocumentLocator (void *ctx,
xmlSAXLocatorPtr loc);
-
-XMLPUBFUN int XMLCALL
+
+XMLPUBFUN int XMLCALL
xmlSAX2GetLineNumber (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSAX2GetColumnNumber (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSAX2IsStandalone (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSAX2HasInternalSubset (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSAX2HasExternalSubset (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2InternalSubset (void *ctx,
const xmlChar *name,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2ExternalSubset (void *ctx,
const xmlChar *name,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlSAX2GetEntity (void *ctx,
const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlSAX2GetParameterEntity (void *ctx,
const xmlChar *name);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlSAX2ResolveEntity (void *ctx,
const xmlChar *publicId,
const xmlChar *systemId);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2EntityDecl (void *ctx,
const xmlChar *name,
int type,
const xmlChar *publicId,
const xmlChar *systemId,
xmlChar *content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2AttributeDecl (void *ctx,
const xmlChar *elem,
const xmlChar *fullname,
@@ -77,36 +77,38 @@ XMLPUBFUN void XMLCALL
int def,
const xmlChar *defaultValue,
xmlEnumerationPtr tree);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2ElementDecl (void *ctx,
const xmlChar *name,
int type,
xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2NotationDecl (void *ctx,
const xmlChar *name,
const xmlChar *publicId,
const xmlChar *systemId);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2UnparsedEntityDecl (void *ctx,
const xmlChar *name,
const xmlChar *publicId,
const xmlChar *systemId,
const xmlChar *notationName);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2StartDocument (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2EndDocument (void *ctx);
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
-XMLPUBFUN void XMLCALL
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
+ defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
+ defined(LIBXML_LEGACY_ENABLED)
+XMLPUBFUN void XMLCALL
xmlSAX2StartElement (void *ctx,
const xmlChar *fullname,
const xmlChar **atts);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2EndElement (void *ctx,
const xmlChar *name);
-#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED */
+#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
XMLPUBFUN void XMLCALL
xmlSAX2StartElementNs (void *ctx,
const xmlChar *localname,
@@ -122,25 +124,25 @@ XMLPUBFUN void XMLCALL
const xmlChar *localname,
const xmlChar *prefix,
const xmlChar *URI);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2Reference (void *ctx,
const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2Characters (void *ctx,
const xmlChar *ch,
int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2IgnorableWhitespace (void *ctx,
const xmlChar *ch,
int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2ProcessingInstruction (void *ctx,
const xmlChar *target,
const xmlChar *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2Comment (void *ctx,
const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2CDataBlock (void *ctx,
const xmlChar *value,
int len);
@@ -153,22 +155,22 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlSAXVersion (xmlSAXHandler *hdlr,
int version);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
int warning);
#ifdef LIBXML_HTML_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
htmlDefaultSAXHandlerInit (void);
#endif
#ifdef LIBXML_DOCB_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
docbDefaultSAXHandlerInit (void);
#endif
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDefaultSAXHandlerInit (void);
#ifdef __cplusplus
}
diff --git a/gettext-tools/gnulib-lib/libxml/buf.c b/gettext-tools/gnulib-lib/libxml/buf.c
new file mode 100644
index 0000000..07922ff
--- /dev/null
+++ b/gettext-tools/gnulib-lib/libxml/buf.c
@@ -0,0 +1,1345 @@
+/*
+ * buf.c: memory buffers for libxml2
+ *
+ * new buffer structures and entry points to simplify the maintainance
+ * of libxml2 and ensure we keep good control over memory allocations
+ * and stay 64 bits clean.
+ * The new entry point use the xmlBufPtr opaque structure and
+ * xmlBuf...() counterparts to the old xmlBuf...() functions
+ *
+ * See Copyright for the status of this software.
+ *
+ * daniel@veillard.com
+ */
+
+#define IN_LIBXML
+#include "libxml.h"
+
+#include <string.h> /* for memset() only ! */
+#include <limits.h>
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <libxml/tree.h>
+#include <libxml/globals.h>
+#include <libxml/tree.h>
+#include <libxml/parserInternals.h> /* for XML_MAX_TEXT_LENGTH */
+#include "buf.h"
+
+#define WITH_BUFFER_COMPAT
+
+/**
+ * xmlBuf:
+ *
+ * A buffer structure. The base of the structure is somehow compatible
+ * with struct _xmlBuffer to limit risks on application which accessed
+ * directly the input->buf->buffer structures.
+ */
+
+struct _xmlBuf {
+ xmlChar *content; /* The buffer content UTF8 */
+ unsigned int compat_use; /* for binary compatibility */
+ unsigned int compat_size; /* for binary compatibility */
+ xmlBufferAllocationScheme alloc; /* The realloc method */
+ xmlChar *contentIO; /* in IO mode we may have a different base */
+ size_t use; /* The buffer size used */
+ size_t size; /* The buffer size */
+ xmlBufferPtr buffer; /* wrapper for an old buffer */
+ int error; /* an error code if a failure occured */
+};
+
+#ifdef WITH_BUFFER_COMPAT
+/*
+ * Macro for compatibility with xmlBuffer to be used after an xmlBuf
+ * is updated. This makes sure the compat fields are updated too.
+ */
+#define UPDATE_COMPAT(buf) \
+ if (buf->size < INT_MAX) buf->compat_size = buf->size; \
+ else buf->compat_size = INT_MAX; \
+ if (buf->use < INT_MAX) buf->compat_use = buf->use; \
+ else buf->compat_use = INT_MAX;
+
+/*
+ * Macro for compatibility with xmlBuffer to be used in all the xmlBuf
+ * entry points, it checks that the compat fields have not been modified
+ * by direct call to xmlBuffer function from code compiled before 2.9.0 .
+ */
+#define CHECK_COMPAT(buf) \
+ if (buf->size != (size_t) buf->compat_size) \
+ if (buf->compat_size < INT_MAX) \
+ buf->size = buf->compat_size; \
+ if (buf->use != (size_t) buf->compat_use) \
+ if (buf->compat_use < INT_MAX) \
+ buf->use = buf->compat_use;
+
+#else /* ! WITH_BUFFER_COMPAT */
+#define UPDATE_COMPAT(buf)
+#define CHECK_COMPAT(buf)
+#endif /* WITH_BUFFER_COMPAT */
+
+/**
+ * xmlBufMemoryError:
+ * @extra: extra informations
+ *
+ * Handle an out of memory condition
+ * To be improved...
+ */
+static void
+xmlBufMemoryError(xmlBufPtr buf, const char *extra)
+{
+ __xmlSimpleError(XML_FROM_BUFFER, XML_ERR_NO_MEMORY, NULL, NULL, extra);
+ if ((buf) && (buf->error == 0))
+ buf->error = XML_ERR_NO_MEMORY;
+}
+
+/**
+ * xmlBufOverflowError:
+ * @extra: extra informations
+ *
+ * Handle a buffer overflow error
+ * To be improved...
+ */
+static void
+xmlBufOverflowError(xmlBufPtr buf, const char *extra)
+{
+ __xmlSimpleError(XML_FROM_BUFFER, XML_BUF_OVERFLOW, NULL, NULL, extra);
+ if ((buf) && (buf->error == 0))
+ buf->error = XML_BUF_OVERFLOW;
+}
+
+
+/**
+ * xmlBufCreate:
+ *
+ * routine to create an XML buffer.
+ * returns the new structure.
+ */
+xmlBufPtr
+xmlBufCreate(void) {
+ xmlBufPtr ret;
+
+ ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
+ if (ret == NULL) {
+ xmlBufMemoryError(NULL, "creating buffer");
+ return(NULL);
+ }
+ ret->compat_use = 0;
+ ret->use = 0;
+ ret->error = 0;
+ ret->buffer = NULL;
+ ret->size = xmlDefaultBufferSize;
+ ret->compat_size = xmlDefaultBufferSize;
+ ret->alloc = xmlBufferAllocScheme;
+ ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar));
+ if (ret->content == NULL) {
+ xmlBufMemoryError(ret, "creating buffer");
+ xmlFree(ret);
+ return(NULL);
+ }
+ ret->content[0] = 0;
+ ret->contentIO = NULL;
+ return(ret);
+}
+
+/**
+ * xmlBufCreateSize:
+ * @size: initial size of buffer
+ *
+ * routine to create an XML buffer.
+ * returns the new structure.
+ */
+xmlBufPtr
+xmlBufCreateSize(size_t size) {
+ xmlBufPtr ret;
+
+ ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
+ if (ret == NULL) {
+ xmlBufMemoryError(NULL, "creating buffer");
+ return(NULL);
+ }
+ ret->compat_use = 0;
+ ret->use = 0;
+ ret->error = 0;
+ ret->buffer = NULL;
+ ret->alloc = xmlBufferAllocScheme;
+ ret->size = (size ? size+2 : 0); /* +1 for ending null */
+ ret->compat_size = (int) ret->size;
+ if (ret->size){
+ ret->content = (xmlChar *) xmlMallocAtomic(ret->size * sizeof(xmlChar));
+ if (ret->content == NULL) {
+ xmlBufMemoryError(ret, "creating buffer");
+ xmlFree(ret);
+ return(NULL);
+ }
+ ret->content[0] = 0;
+ } else
+ ret->content = NULL;
+ ret->contentIO = NULL;
+ return(ret);
+}
+
+/**
+ * xmlBufDetach:
+ * @buf: the buffer
+ *
+ * Remove the string contained in a buffer and give it back to the
+ * caller. The buffer is reset to an empty content.
+ * This doesn't work with immutable buffers as they can't be reset.
+ *
+ * Returns the previous string contained by the buffer.
+ */
+xmlChar *
+xmlBufDetach(xmlBufPtr buf) {
+ xmlChar *ret;
+
+ if (buf == NULL)
+ return(NULL);
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
+ return(NULL);
+ if (buf->buffer != NULL)
+ return(NULL);
+ if (buf->error)
+ return(NULL);
+
+ ret = buf->content;
+ buf->content = NULL;
+ buf->size = 0;
+ buf->use = 0;
+ buf->compat_use = 0;
+ buf->compat_size = 0;
+
+ return ret;
+}
+
+
+/**
+ * xmlBufCreateStatic:
+ * @mem: the memory area
+ * @size: the size in byte
+ *
+ * routine to create an XML buffer from an immutable memory area.
+ * The area won't be modified nor copied, and is expected to be
+ * present until the end of the buffer lifetime.
+ *
+ * returns the new structure.
+ */
+xmlBufPtr
+xmlBufCreateStatic(void *mem, size_t size) {
+ xmlBufPtr ret;
+
+ if ((mem == NULL) || (size == 0))
+ return(NULL);
+
+ ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
+ if (ret == NULL) {
+ xmlBufMemoryError(NULL, "creating buffer");
+ return(NULL);
+ }
+ if (size < INT_MAX) {
+ ret->compat_use = size;
+ ret->compat_size = size;
+ } else {
+ ret->compat_use = INT_MAX;
+ ret->compat_size = INT_MAX;
+ }
+ ret->use = size;
+ ret->size = size;
+ ret->alloc = XML_BUFFER_ALLOC_IMMUTABLE;
+ ret->content = (xmlChar *) mem;
+ ret->error = 0;
+ ret->buffer = NULL;
+ return(ret);
+}
+
+/**
+ * xmlBufGetAllocationScheme:
+ * @buf: the buffer
+ *
+ * Get the buffer allocation scheme
+ *
+ * Returns the scheme or -1 in case of error
+ */
+int
+xmlBufGetAllocationScheme(xmlBufPtr buf) {
+ if (buf == NULL) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufGetAllocationScheme: buf == NULL\n");
+#endif
+ return(-1);
+ }
+ return(buf->alloc);
+}
+
+/**
+ * xmlBufSetAllocationScheme:
+ * @buf: the buffer to tune
+ * @scheme: allocation scheme to use
+ *
+ * Sets the allocation scheme for this buffer
+ *
+ * returns 0 in case of success and -1 in case of failure
+ */
+int
+xmlBufSetAllocationScheme(xmlBufPtr buf,
+ xmlBufferAllocationScheme scheme) {
+ if ((buf == NULL) || (buf->error != 0)) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufSetAllocationScheme: buf == NULL or in error\n");
+#endif
+ return(-1);
+ }
+ if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
+ (buf->alloc == XML_BUFFER_ALLOC_IO))
+ return(-1);
+ if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
+ (scheme == XML_BUFFER_ALLOC_EXACT) ||
+ (scheme == XML_BUFFER_ALLOC_HYBRID) ||
+ (scheme == XML_BUFFER_ALLOC_IMMUTABLE) ||
+ (scheme == XML_BUFFER_ALLOC_BOUNDED)) {
+ buf->alloc = scheme;
+ if (buf->buffer)
+ buf->buffer->alloc = scheme;
+ return(0);
+ }
+ /*
+ * Switching a buffer ALLOC_IO has the side effect of initializing
+ * the contentIO field with the current content
+ */
+ if (scheme == XML_BUFFER_ALLOC_IO) {
+ buf->alloc = XML_BUFFER_ALLOC_IO;
+ buf->contentIO = buf->content;
+ }
+ return(-1);
+}
+
+/**
+ * xmlBufFree:
+ * @buf: the buffer to free
+ *
+ * Frees an XML buffer. It frees both the content and the structure which
+ * encapsulate it.
+ */
+void
+xmlBufFree(xmlBufPtr buf) {
+ if (buf == NULL) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufFree: buf == NULL\n");
+#endif
+ return;
+ }
+
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
+ (buf->contentIO != NULL)) {
+ xmlFree(buf->contentIO);
+ } else if ((buf->content != NULL) &&
+ (buf->alloc != XML_BUFFER_ALLOC_IMMUTABLE)) {
+ xmlFree(buf->content);
+ }
+ xmlFree(buf);
+}
+
+/**
+ * xmlBufEmpty:
+ * @buf: the buffer
+ *
+ * empty a buffer.
+ */
+void
+xmlBufEmpty(xmlBufPtr buf) {
+ if ((buf == NULL) || (buf->error != 0)) return;
+ if (buf->content == NULL) return;
+ CHECK_COMPAT(buf)
+ buf->use = 0;
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) {
+ buf->content = BAD_CAST "";
+ } else if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
+ (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+ buf->size += start_buf;
+ buf->content = buf->contentIO;
+ buf->content[0] = 0;
+ } else {
+ buf->content[0] = 0;
+ }
+ UPDATE_COMPAT(buf)
+}
+
+/**
+ * xmlBufShrink:
+ * @buf: the buffer to dump
+ * @len: the number of xmlChar to remove
+ *
+ * Remove the beginning of an XML buffer.
+ * NOTE that this routine behaviour differs from xmlBufferShrink()
+ * as it will return 0 on error instead of -1 due to size_t being
+ * used as the return type.
+ *
+ * Returns the number of byte removed or 0 in case of failure
+ */
+size_t
+xmlBufShrink(xmlBufPtr buf, size_t len) {
+ if ((buf == NULL) || (buf->error != 0)) return(0);
+ CHECK_COMPAT(buf)
+ if (len == 0) return(0);
+ if (len > buf->use) return(0);
+
+ buf->use -= len;
+ if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
+ ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) {
+ /*
+ * we just move the content pointer, but also make sure
+ * the perceived buffer size has shrinked accordingly
+ */
+ buf->content += len;
+ buf->size -= len;
+
+ /*
+ * sometimes though it maybe be better to really shrink
+ * on IO buffers
+ */
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+ if (start_buf >= buf->size) {
+ memmove(buf->contentIO, &buf->content[0], buf->use);
+ buf->content = buf->contentIO;
+ buf->content[buf->use] = 0;
+ buf->size += start_buf;
+ }
+ }
+ } else {
+ memmove(buf->content, &buf->content[len], buf->use);
+ buf->content[buf->use] = 0;
+ }
+ UPDATE_COMPAT(buf)
+ return(len);
+}
+
+/**
+ * xmlBufGrowInternal:
+ * @buf: the buffer
+ * @len: the minimum free size to allocate
+ *
+ * Grow the available space of an XML buffer, @len is the target value
+ * Error checking should be done on buf->error since using the return
+ * value doesn't work that well
+ *
+ * Returns 0 in case of error or the length made available otherwise
+ */
+static size_t
+xmlBufGrowInternal(xmlBufPtr buf, size_t len) {
+ size_t size;
+ xmlChar *newbuf;
+
+ if ((buf == NULL) || (buf->error != 0)) return(0);
+ CHECK_COMPAT(buf)
+
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
+ if (buf->use + len < buf->size)
+ return(buf->size - buf->use);
+
+ /*
+ * Windows has a BIG problem on realloc timing, so we try to double
+ * the buffer size (if that's enough) (bug 146697)
+ * Apparently BSD too, and it's probably best for linux too
+ * On an embedded system this may be something to change
+ */
+#if 1
+ if (buf->size > (size_t) len)
+ size = buf->size * 2;
+ else
+ size = buf->use + len + 100;
+#else
+ size = buf->use + len + 100;
+#endif
+
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if ((buf->use + len >= XML_MAX_TEXT_LENGTH) ||
+ (buf->size >= XML_MAX_TEXT_LENGTH)) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(0);
+ }
+ if (size >= XML_MAX_TEXT_LENGTH)
+ size = XML_MAX_TEXT_LENGTH;
+ }
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+ newbuf = (xmlChar *) xmlRealloc(buf->contentIO, start_buf + size);
+ if (newbuf == NULL) {
+ xmlBufMemoryError(buf, "growing buffer");
+ return(0);
+ }
+ buf->contentIO = newbuf;
+ buf->content = newbuf + start_buf;
+ } else {
+ newbuf = (xmlChar *) xmlRealloc(buf->content, size);
+ if (newbuf == NULL) {
+ xmlBufMemoryError(buf, "growing buffer");
+ return(0);
+ }
+ buf->content = newbuf;
+ }
+ buf->size = size;
+ UPDATE_COMPAT(buf)
+ return(buf->size - buf->use);
+}
+
+/**
+ * xmlBufGrow:
+ * @buf: the buffer
+ * @len: the minimum free size to allocate
+ *
+ * Grow the available space of an XML buffer, @len is the target value
+ * This is been kept compatible with xmlBufferGrow() as much as possible
+ *
+ * Returns -1 in case of error or the length made available otherwise
+ */
+int
+xmlBufGrow(xmlBufPtr buf, int len) {
+ size_t ret;
+
+ if ((buf == NULL) || (len < 0)) return(-1);
+ if (len == 0)
+ return(0);
+ ret = xmlBufGrowInternal(buf, len);
+ if (buf->error != 0)
+ return(-1);
+ return((int) ret);
+}
+
+/**
+ * xmlBufInflate:
+ * @buf: the buffer
+ * @len: the minimum extra free size to allocate
+ *
+ * Grow the available space of an XML buffer, adding at least @len bytes
+ *
+ * Returns 0 if successful or -1 in case of error
+ */
+int
+xmlBufInflate(xmlBufPtr buf, size_t len) {
+ if (buf == NULL) return(-1);
+ xmlBufGrowInternal(buf, len + buf->size);
+ if (buf->error)
+ return(-1);
+ return(0);
+}
+
+/**
+ * xmlBufDump:
+ * @file: the file output
+ * @buf: the buffer to dump
+ *
+ * Dumps an XML buffer to a FILE *.
+ * Returns the number of #xmlChar written
+ */
+size_t
+xmlBufDump(FILE *file, xmlBufPtr buf) {
+ size_t ret;
+
+ if ((buf == NULL) || (buf->error != 0)) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufDump: buf == NULL or in error\n");
+#endif
+ return(0);
+ }
+ if (buf->content == NULL) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufDump: buf->content == NULL\n");
+#endif
+ return(0);
+ }
+ CHECK_COMPAT(buf)
+ if (file == NULL)
+ file = stdout;
+ ret = fwrite(buf->content, sizeof(xmlChar), buf->use, file);
+ return(ret);
+}
+
+/**
+ * xmlBufContent:
+ * @buf: the buffer
+ *
+ * Function to extract the content of a buffer
+ *
+ * Returns the internal content
+ */
+
+xmlChar *
+xmlBufContent(const xmlBuf *buf)
+{
+ if ((!buf) || (buf->error))
+ return NULL;
+
+ return(buf->content);
+}
+
+/**
+ * xmlBufEnd:
+ * @buf: the buffer
+ *
+ * Function to extract the end of the content of a buffer
+ *
+ * Returns the end of the internal content or NULL in case of error
+ */
+
+xmlChar *
+xmlBufEnd(xmlBufPtr buf)
+{
+ if ((!buf) || (buf->error))
+ return NULL;
+ CHECK_COMPAT(buf)
+
+ return(&buf->content[buf->use]);
+}
+
+/**
+ * xmlBufAddLen:
+ * @buf: the buffer
+ * @len: the size which were added at the end
+ *
+ * Sometime data may be added at the end of the buffer without
+ * using the xmlBuf APIs that is used to expand the used space
+ * and set the zero terminating at the end of the buffer
+ *
+ * Returns -1 in case of error and 0 otherwise
+ */
+int
+xmlBufAddLen(xmlBufPtr buf, size_t len) {
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (len > (buf->size - buf->use))
+ return(-1);
+ buf->use += len;
+ UPDATE_COMPAT(buf)
+ if (buf->size > buf->use)
+ buf->content[buf->use] = 0;
+ else
+ return(-1);
+ return(0);
+}
+
+/**
+ * xmlBufErase:
+ * @buf: the buffer
+ * @len: the size to erase at the end
+ *
+ * Sometime data need to be erased at the end of the buffer
+ *
+ * Returns -1 in case of error and 0 otherwise
+ */
+int
+xmlBufErase(xmlBufPtr buf, size_t len) {
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (len > buf->use)
+ return(-1);
+ buf->use -= len;
+ buf->content[buf->use] = 0;
+ UPDATE_COMPAT(buf)
+ return(0);
+}
+
+/**
+ * xmlBufLength:
+ * @buf: the buffer
+ *
+ * Function to get the length of a buffer
+ *
+ * Returns the length of data in the internal content
+ */
+
+size_t
+xmlBufLength(const xmlBufPtr buf)
+{
+ if ((!buf) || (buf->error))
+ return 0;
+ CHECK_COMPAT(buf)
+
+ return(buf->use);
+}
+
+/**
+ * xmlBufUse:
+ * @buf: the buffer
+ *
+ * Function to get the length of a buffer
+ *
+ * Returns the length of data in the internal content
+ */
+
+size_t
+xmlBufUse(const xmlBufPtr buf)
+{
+ if ((!buf) || (buf->error))
+ return 0;
+ CHECK_COMPAT(buf)
+
+ return(buf->use);
+}
+
+/**
+ * xmlBufAvail:
+ * @buf: the buffer
+ *
+ * Function to find how much free space is allocated but not
+ * used in the buffer. It does not account for the terminating zero
+ * usually needed
+ *
+ * Returns the amount or 0 if none or an error occured
+ */
+
+size_t
+xmlBufAvail(const xmlBufPtr buf)
+{
+ if ((!buf) || (buf->error))
+ return 0;
+ CHECK_COMPAT(buf)
+
+ return(buf->size - buf->use);
+}
+
+/**
+ * xmlBufIsEmpty:
+ * @buf: the buffer
+ *
+ * Tell if a buffer is empty
+ *
+ * Returns 0 if no, 1 if yes and -1 in case of error
+ */
+int
+xmlBufIsEmpty(const xmlBufPtr buf)
+{
+ if ((!buf) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+
+ return(buf->use == 0);
+}
+
+/**
+ * xmlBufResize:
+ * @buf: the buffer to resize
+ * @size: the desired size
+ *
+ * Resize a buffer to accommodate minimum size of @size.
+ *
+ * Returns 0 in case of problems, 1 otherwise
+ */
+int
+xmlBufResize(xmlBufPtr buf, size_t size)
+{
+ unsigned int newSize;
+ xmlChar* rebuf = NULL;
+ size_t start_buf;
+
+ if ((buf == NULL) || (buf->error))
+ return(0);
+ CHECK_COMPAT(buf)
+
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if (size >= XML_MAX_TEXT_LENGTH) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(0);
+ }
+ }
+
+ /* Don't resize if we don't have to */
+ if (size < buf->size)
+ return 1;
+
+ /* figure out new size */
+ switch (buf->alloc){
+ case XML_BUFFER_ALLOC_IO:
+ case XML_BUFFER_ALLOC_DOUBLEIT:
+ /*take care of empty case*/
+ newSize = (buf->size ? buf->size*2 : size + 10);
+ while (size > newSize) {
+ if (newSize > UINT_MAX / 2) {
+ xmlBufMemoryError(buf, "growing buffer");
+ return 0;
+ }
+ newSize *= 2;
+ }
+ break;
+ case XML_BUFFER_ALLOC_EXACT:
+ newSize = size+10;
+ break;
+ case XML_BUFFER_ALLOC_HYBRID:
+ if (buf->use < BASE_BUFFER_SIZE)
+ newSize = size;
+ else {
+ newSize = buf->size * 2;
+ while (size > newSize) {
+ if (newSize > UINT_MAX / 2) {
+ xmlBufMemoryError(buf, "growing buffer");
+ return 0;
+ }
+ newSize *= 2;
+ }
+ }
+ break;
+
+ default:
+ newSize = size+10;
+ break;
+ }
+
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ start_buf = buf->content - buf->contentIO;
+
+ if (start_buf > newSize) {
+ /* move data back to start */
+ memmove(buf->contentIO, buf->content, buf->use);
+ buf->content = buf->contentIO;
+ buf->content[buf->use] = 0;
+ buf->size += start_buf;
+ } else {
+ rebuf = (xmlChar *) xmlRealloc(buf->contentIO, start_buf + newSize);
+ if (rebuf == NULL) {
+ xmlBufMemoryError(buf, "growing buffer");
+ return 0;
+ }
+ buf->contentIO = rebuf;
+ buf->content = rebuf + start_buf;
+ }
+ } else {
+ if (buf->content == NULL) {
+ rebuf = (xmlChar *) xmlMallocAtomic(newSize);
+ } else if (buf->size - buf->use < 100) {
+ rebuf = (xmlChar *) xmlRealloc(buf->content, newSize);
+ } else {
+ /*
+ * if we are reallocating a buffer far from being full, it's
+ * better to make a new allocation and copy only the used range
+ * and free the old one.
+ */
+ rebuf = (xmlChar *) xmlMallocAtomic(newSize);
+ if (rebuf != NULL) {
+ memcpy(rebuf, buf->content, buf->use);
+ xmlFree(buf->content);
+ rebuf[buf->use] = 0;
+ }
+ }
+ if (rebuf == NULL) {
+ xmlBufMemoryError(buf, "growing buffer");
+ return 0;
+ }
+ buf->content = rebuf;
+ }
+ buf->size = newSize;
+ UPDATE_COMPAT(buf)
+
+ return 1;
+}
+
+/**
+ * xmlBufAdd:
+ * @buf: the buffer to dump
+ * @str: the #xmlChar string
+ * @len: the number of #xmlChar to add
+ *
+ * Add a string range to an XML buffer. if len == -1, the length of
+ * str is recomputed.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len) {
+ unsigned int needSize;
+
+ if ((str == NULL) || (buf == NULL) || (buf->error))
+ return -1;
+ CHECK_COMPAT(buf)
+
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
+ if (len < -1) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufAdd: len < 0\n");
+#endif
+ return -1;
+ }
+ if (len == 0) return 0;
+
+ if (len < 0)
+ len = xmlStrlen(str);
+
+ if (len < 0) return -1;
+ if (len == 0) return 0;
+
+ needSize = buf->use + len + 2;
+ if (needSize > buf->size){
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if (needSize >= XML_MAX_TEXT_LENGTH) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(-1);
+ }
+ }
+ if (!xmlBufResize(buf, needSize)){
+ xmlBufMemoryError(buf, "growing buffer");
+ return XML_ERR_NO_MEMORY;
+ }
+ }
+
+ memmove(&buf->content[buf->use], str, len*sizeof(xmlChar));
+ buf->use += len;
+ buf->content[buf->use] = 0;
+ UPDATE_COMPAT(buf)
+ return 0;
+}
+
+/**
+ * xmlBufAddHead:
+ * @buf: the buffer
+ * @str: the #xmlChar string
+ * @len: the number of #xmlChar to add
+ *
+ * Add a string range to the beginning of an XML buffer.
+ * if len == -1, the length of @str is recomputed.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) {
+ unsigned int needSize;
+
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
+ if (str == NULL) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufAddHead: str == NULL\n");
+#endif
+ return -1;
+ }
+ if (len < -1) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufAddHead: len < 0\n");
+#endif
+ return -1;
+ }
+ if (len == 0) return 0;
+
+ if (len < 0)
+ len = xmlStrlen(str);
+
+ if (len <= 0) return -1;
+
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+ if (start_buf > (unsigned int) len) {
+ /*
+ * We can add it in the space previously shrinked
+ */
+ buf->content -= len;
+ memmove(&buf->content[0], str, len);
+ buf->use += len;
+ buf->size += len;
+ UPDATE_COMPAT(buf)
+ return(0);
+ }
+ }
+ needSize = buf->use + len + 2;
+ if (needSize > buf->size){
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
+ /*
+ * Used to provide parsing limits
+ */
+ if (needSize >= XML_MAX_TEXT_LENGTH) {
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
+ return(-1);
+ }
+ }
+ if (!xmlBufResize(buf, needSize)){
+ xmlBufMemoryError(buf, "growing buffer");
+ return XML_ERR_NO_MEMORY;
+ }
+ }
+
+ memmove(&buf->content[len], &buf->content[0], buf->use);
+ memmove(&buf->content[0], str, len);
+ buf->use += len;
+ buf->content[buf->use] = 0;
+ UPDATE_COMPAT(buf)
+ return 0;
+}
+
+/**
+ * xmlBufCat:
+ * @buf: the buffer to add to
+ * @str: the #xmlChar string
+ *
+ * Append a zero terminated string to an XML buffer.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufCat(xmlBufPtr buf, const xmlChar *str) {
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
+ if (str == NULL) return -1;
+ return xmlBufAdd(buf, str, -1);
+}
+
+/**
+ * xmlBufCCat:
+ * @buf: the buffer to dump
+ * @str: the C char string
+ *
+ * Append a zero terminated C string to an XML buffer.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufCCat(xmlBufPtr buf, const char *str) {
+ const char *cur;
+
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
+ if (str == NULL) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufCCat: str == NULL\n");
+#endif
+ return -1;
+ }
+ for (cur = str;*cur != 0;cur++) {
+ if (buf->use + 10 >= buf->size) {
+ if (!xmlBufResize(buf, buf->use+10)){
+ xmlBufMemoryError(buf, "growing buffer");
+ return XML_ERR_NO_MEMORY;
+ }
+ }
+ buf->content[buf->use++] = *cur;
+ }
+ buf->content[buf->use] = 0;
+ UPDATE_COMPAT(buf)
+ return 0;
+}
+
+/**
+ * xmlBufWriteCHAR:
+ * @buf: the XML buffer
+ * @string: the string to add
+ *
+ * routine which manages and grows an output buffer. This one adds
+ * xmlChars at the end of the buffer.
+ *
+ * Returns 0 if successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufWriteCHAR(xmlBufPtr buf, const xmlChar *string) {
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
+ return(-1);
+ return(xmlBufCat(buf, string));
+}
+
+/**
+ * xmlBufWriteChar:
+ * @buf: the XML buffer output
+ * @string: the string to add
+ *
+ * routine which manage and grows an output buffer. This one add
+ * C chars at the end of the array.
+ *
+ * Returns 0 if successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufWriteChar(xmlBufPtr buf, const char *string) {
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
+ return(-1);
+ return(xmlBufCCat(buf, string));
+}
+
+
+/**
+ * xmlBufWriteQuotedString:
+ * @buf: the XML buffer output
+ * @string: the string to add
+ *
+ * routine which manage and grows an output buffer. This one writes
+ * a quoted or double quoted #xmlChar string, checking first if it holds
+ * quote or double-quotes internally
+ *
+ * Returns 0 if successful, a positive error code number otherwise
+ * and -1 in case of internal or API error.
+ */
+int
+xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string) {
+ const xmlChar *cur, *base;
+ if ((buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
+ return(-1);
+ if (xmlStrchr(string, '\"')) {
+ if (xmlStrchr(string, '\'')) {
+#ifdef DEBUG_BUFFER
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlBufWriteQuotedString: string contains quote and double-quotes !\n");
+#endif
+ xmlBufCCat(buf, "\"");
+ base = cur = string;
+ while(*cur != 0){
+ if(*cur == '"'){
+ if (base != cur)
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&quot;", 6);
+ cur++;
+ base = cur;
+ }
+ else {
+ cur++;
+ }
+ }
+ if (base != cur)
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufCCat(buf, "\"");
+ }
+ else{
+ xmlBufCCat(buf, "\'");
+ xmlBufCat(buf, string);
+ xmlBufCCat(buf, "\'");
+ }
+ } else {
+ xmlBufCCat(buf, "\"");
+ xmlBufCat(buf, string);
+ xmlBufCCat(buf, "\"");
+ }
+ return(0);
+}
+
+/**
+ * xmlBufFromBuffer:
+ * @buffer: incoming old buffer to convert to a new one
+ *
+ * Helper routine to switch from the old buffer structures in use
+ * in various APIs. It creates a wrapper xmlBufPtr which will be
+ * used for internal processing until the xmlBufBackToBuffer() is
+ * issued.
+ *
+ * Returns a new xmlBufPtr unless the call failed and NULL is returned
+ */
+xmlBufPtr
+xmlBufFromBuffer(xmlBufferPtr buffer) {
+ xmlBufPtr ret;
+
+ if (buffer == NULL)
+ return(NULL);
+
+ ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
+ if (ret == NULL) {
+ xmlBufMemoryError(NULL, "creating buffer");
+ return(NULL);
+ }
+ ret->use = buffer->use;
+ ret->size = buffer->size;
+ ret->compat_use = buffer->use;
+ ret->compat_size = buffer->size;
+ ret->error = 0;
+ ret->buffer = buffer;
+ ret->alloc = buffer->alloc;
+ ret->content = buffer->content;
+ ret->contentIO = buffer->contentIO;
+
+ return(ret);
+}
+
+/**
+ * xmlBufBackToBuffer:
+ * @buf: new buffer wrapping the old one
+ *
+ * Function to be called once internal processing had been done to
+ * update back the buffer provided by the user. This can lead to
+ * a failure in case the size accumulated in the xmlBuf is larger
+ * than what an xmlBuffer can support on 64 bits (INT_MAX)
+ * The xmlBufPtr @buf wrapper is deallocated by this call in any case.
+ *
+ * Returns the old xmlBufferPtr unless the call failed and NULL is returned
+ */
+xmlBufferPtr
+xmlBufBackToBuffer(xmlBufPtr buf) {
+ xmlBufferPtr ret;
+
+ if ((buf == NULL) || (buf->error))
+ return(NULL);
+ CHECK_COMPAT(buf)
+ if (buf->buffer == NULL) {
+ xmlBufFree(buf);
+ return(NULL);
+ }
+
+ ret = buf->buffer;
+ /*
+ * What to do in case of error in the buffer ???
+ */
+ if (buf->use > INT_MAX) {
+ /*
+ * Worse case, we really allocated and used more than the
+ * maximum allowed memory for an xmlBuffer on this architecture.
+ * Keep the buffer but provide a truncated size value.
+ */
+ xmlBufOverflowError(buf, "Used size too big for xmlBuffer");
+ ret->use = INT_MAX;
+ ret->size = INT_MAX;
+ } else if (buf->size > INT_MAX) {
+ /*
+ * milder case, we allocated more than the maximum allowed memory
+ * for an xmlBuffer on this architecture, but used less than the
+ * limit.
+ * Keep the buffer but provide a truncated size value.
+ */
+ xmlBufOverflowError(buf, "Allocated size too big for xmlBuffer");
+ ret->size = INT_MAX;
+ }
+ ret->use = (int) buf->use;
+ ret->size = (int) buf->size;
+ ret->alloc = buf->alloc;
+ ret->content = buf->content;
+ ret->contentIO = buf->contentIO;
+ xmlFree(buf);
+ return(ret);
+}
+
+/**
+ * xmlBufMergeBuffer:
+ * @buf: an xmlBufPtr
+ * @buffer: the buffer to consume into @buf
+ *
+ * The content of @buffer is appended to @buf and @buffer is freed
+ *
+ * Returns -1 in case of error, 0 otherwise, in any case @buffer is freed
+ */
+int
+xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer) {
+ int ret = 0;
+
+ if ((buf == NULL) || (buf->error)) {
+ xmlBufferFree(buffer);
+ return(-1);
+ }
+ CHECK_COMPAT(buf)
+ if ((buffer != NULL) && (buffer->content != NULL) &&
+ (buffer->use > 0)) {
+ ret = xmlBufAdd(buf, buffer->content, buffer->use);
+ }
+ xmlBufferFree(buffer);
+ return(ret);
+}
+
+/**
+ * xmlBufResetInput:
+ * @buf: an xmlBufPtr
+ * @input: an xmlParserInputPtr
+ *
+ * Update the input to use the current set of pointers from the buffer.
+ *
+ * Returns -1 in case of error, 0 otherwise
+ */
+int
+xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input) {
+ if ((input == NULL) || (buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ input->base = input->cur = buf->content;
+ input->end = &buf->content[buf->use];
+ return(0);
+}
+
+/**
+ * xmlBufGetInputBase:
+ * @buf: an xmlBufPtr
+ * @input: an xmlParserInputPtr
+ *
+ * Get the base of the @input relative to the beginning of the buffer
+ *
+ * Returns the size_t corresponding to the displacement
+ */
+size_t
+xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input) {
+ size_t base;
+
+ if ((input == NULL) || (buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ base = input->base - buf->content;
+ /*
+ * We could do some pointer arythmetic checks but that's probably
+ * sufficient.
+ */
+ if (base > buf->size) {
+ xmlBufOverflowError(buf, "Input reference outside of the buffer");
+ base = 0;
+ }
+ return(base);
+}
+
+/**
+ * xmlBufSetInputBaseCur:
+ * @buf: an xmlBufPtr
+ * @input: an xmlParserInputPtr
+ * @base: the base value relative to the beginning of the buffer
+ * @cur: the cur value relative to the beginning of the buffer
+ *
+ * Update the input to use the base and cur relative to the buffer
+ * after a possible reallocation of its content
+ *
+ * Returns -1 in case of error, 0 otherwise
+ */
+int
+xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
+ size_t base, size_t cur) {
+ if ((input == NULL) || (buf == NULL) || (buf->error))
+ return(-1);
+ CHECK_COMPAT(buf)
+ input->base = &buf->content[base];
+ input->cur = input->base + cur;
+ input->end = &buf->content[buf->use];
+ return(0);
+}
+
+#define bottom_buf
+#include "elfgcchack.h"
diff --git a/gettext-tools/gnulib-lib/libxml/buf.h b/gettext-tools/gnulib-lib/libxml/buf.h
new file mode 100644
index 0000000..ebdc978
--- /dev/null
+++ b/gettext-tools/gnulib-lib/libxml/buf.h
@@ -0,0 +1,72 @@
+/*
+ * Summary: Internal Interfaces for memory buffers in libxml2
+ * Description: this module describes most of the new xmlBuf buffer
+ * entry points, those are private routines, with a
+ * few exceptions exported in tree.h. This was added
+ * in 2.9.0.
+ *
+ * Copy: See Copyright for the status of this software.
+ *
+ * Author: Daniel Veillard
+ */
+
+#ifndef __XML_BUF_H__
+#define __XML_BUF_H__
+
+#include <libxml/tree.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+xmlBufPtr xmlBufCreate(void);
+xmlBufPtr xmlBufCreateSize(size_t size);
+xmlBufPtr xmlBufCreateStatic(void *mem, size_t size);
+
+int xmlBufSetAllocationScheme(xmlBufPtr buf,
+ xmlBufferAllocationScheme scheme);
+int xmlBufGetAllocationScheme(xmlBufPtr buf);
+
+void xmlBufFree(xmlBufPtr buf);
+void xmlBufEmpty(xmlBufPtr buf);
+
+/* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
+int xmlBufGrow(xmlBufPtr buf, int len);
+int xmlBufInflate(xmlBufPtr buf, size_t len);
+int xmlBufResize(xmlBufPtr buf, size_t len);
+
+int xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
+int xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len);
+int xmlBufCat(xmlBufPtr buf, const xmlChar *str);
+int xmlBufCCat(xmlBufPtr buf, const char *str);
+int xmlBufWriteCHAR(xmlBufPtr buf, const xmlChar *string);
+int xmlBufWriteChar(xmlBufPtr buf, const char *string);
+int xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
+
+size_t xmlBufAvail(const xmlBufPtr buf);
+size_t xmlBufLength(const xmlBufPtr buf);
+/* size_t xmlBufUse(const xmlBufPtr buf); */
+int xmlBufIsEmpty(const xmlBufPtr buf);
+int xmlBufAddLen(xmlBufPtr buf, size_t len);
+int xmlBufErase(xmlBufPtr buf, size_t len);
+
+/* const xmlChar * xmlBufContent(const xmlBuf *buf); */
+/* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
+
+xmlChar * xmlBufDetach(xmlBufPtr buf);
+
+size_t xmlBufDump(FILE *file, xmlBufPtr buf);
+
+xmlBufPtr xmlBufFromBuffer(xmlBufferPtr buffer);
+xmlBufferPtr xmlBufBackToBuffer(xmlBufPtr buf);
+int xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
+
+int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
+size_t xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
+int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
+ size_t base, size_t cur);
+#ifdef __cplusplus
+}
+#endif
+#endif /* __XML_BUF_H__ */
+
diff --git a/gettext-tools/gnulib-lib/libxml/c14n.c b/gettext-tools/gnulib-lib/libxml/c14n.c
index bb7c9ba..ca77f92 100644
--- a/gettext-tools/gnulib-lib/libxml/c14n.c
+++ b/gettext-tools/gnulib-lib/libxml/c14n.c
@@ -1,12 +1,12 @@
/*
- * "Canonical XML" implementation
+ * "Canonical XML" implementation
* http://www.w3.org/TR/xml-c14n
- *
+ *
* "Exclusive XML Canonicalization" implementation
* http://www.w3.org/TR/xml-exc-c14n
*
* See Copyright for the status of this software.
- *
+ *
* Author: Aleksey Sanin <aleksey@aleksey.com>
*/
#define IN_LIBXML
@@ -27,6 +27,8 @@
#include <libxml/xpathInternals.h>
#include <libxml/c14n.h>
+#include "buf.h"
+
/************************************************************************
* *
* Some declaration better left private ATM *
@@ -44,7 +46,7 @@ typedef struct _xmlC14NVisibleNsStack {
int nsPrevStart; /* the begginning of the stack for previous visible node */
int nsPrevEnd; /* the end of the stack for previous visible node */
int nsMax; /* size of the array as allocated */
- xmlNsPtr *nsTab; /* array of ns in no particular order */
+ xmlNsPtr *nsTab; /* array of ns in no particular order */
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
} xmlC14NVisibleNsStack, *xmlC14NVisibleNsStackPtr;
@@ -52,7 +54,7 @@ typedef struct _xmlC14NCtx {
/* input parameters */
xmlDocPtr doc;
xmlC14NIsVisibleCallback is_visible_callback;
- void* user_data;
+ void* user_data;
int with_comments;
xmlOutputBufferPtr buf;
@@ -61,8 +63,10 @@ typedef struct _xmlC14NCtx {
int parent_is_doc;
xmlC14NVisibleNsStackPtr ns_rendered;
+ /* C14N mode */
+ xmlC14NMode mode;
+
/* exclusive canonicalization */
- int exclusive;
xmlChar **inclusive_ns_prefixes;
/* error number */
@@ -71,17 +75,17 @@ typedef struct _xmlC14NCtx {
static xmlC14NVisibleNsStackPtr xmlC14NVisibleNsStackCreate (void);
static void xmlC14NVisibleNsStackDestroy (xmlC14NVisibleNsStackPtr cur);
-static void xmlC14NVisibleNsStackAdd (xmlC14NVisibleNsStackPtr cur,
+static void xmlC14NVisibleNsStackAdd (xmlC14NVisibleNsStackPtr cur,
xmlNsPtr ns,
xmlNodePtr node);
-static void xmlC14NVisibleNsStackSave (xmlC14NVisibleNsStackPtr cur,
+static void xmlC14NVisibleNsStackSave (xmlC14NVisibleNsStackPtr cur,
xmlC14NVisibleNsStackPtr state);
-static void xmlC14NVisibleNsStackRestore (xmlC14NVisibleNsStackPtr cur,
+static void xmlC14NVisibleNsStackRestore (xmlC14NVisibleNsStackPtr cur,
xmlC14NVisibleNsStackPtr state);
-static void xmlC14NVisibleNsStackShift (xmlC14NVisibleNsStackPtr cur);
-static int xmlC14NVisibleNsStackFind (xmlC14NVisibleNsStackPtr cur,
+static void xmlC14NVisibleNsStackShift (xmlC14NVisibleNsStackPtr cur);
+static int xmlC14NVisibleNsStackFind (xmlC14NVisibleNsStackPtr cur,
xmlNsPtr ns);
-static int xmlExcC14NVisibleNsStackFind (xmlC14NVisibleNsStackPtr cur,
+static int xmlExcC14NVisibleNsStackFind (xmlC14NVisibleNsStackPtr cur,
xmlNsPtr ns,
xmlC14NCtxPtr ctx);
@@ -103,23 +107,26 @@ typedef enum {
static xmlChar *xmlC11NNormalizeString(const xmlChar * input,
xmlC14NNormalizationMode mode);
-#define xmlC11NNormalizeAttr( a ) \
+#define xmlC11NNormalizeAttr( a ) \
xmlC11NNormalizeString((a), XMLC14N_NORMALIZE_ATTR)
-#define xmlC11NNormalizeComment( a ) \
+#define xmlC11NNormalizeComment( a ) \
xmlC11NNormalizeString((a), XMLC14N_NORMALIZE_COMMENT)
-#define xmlC11NNormalizePI( a ) \
+#define xmlC11NNormalizePI( a ) \
xmlC11NNormalizeString((a), XMLC14N_NORMALIZE_PI)
-#define xmlC11NNormalizeText( a ) \
+#define xmlC11NNormalizeText( a ) \
xmlC11NNormalizeString((a), XMLC14N_NORMALIZE_TEXT)
-#define xmlC14NIsVisible( ctx, node, parent ) \
+#define xmlC14NIsVisible( ctx, node, parent ) \
(((ctx)->is_visible_callback != NULL) ? \
(ctx)->is_visible_callback((ctx)->user_data, \
(xmlNodePtr)(node), (xmlNodePtr)(parent)) : 1)
+#define xmlC14NIsExclusive( ctx ) \
+ ( (ctx)->mode == XML_C14N_EXCLUSIVE_1_0 )
+
/************************************************************************
* *
- * Some factorized error routines *
+ * Some factorized error routines *
* *
************************************************************************/
@@ -234,7 +241,7 @@ xmlC14NErr(xmlC14NCtxPtr ctxt, xmlNodePtr node, int error,
__xmlRaiseError(NULL, NULL, NULL,
ctxt, node, XML_FROM_C14N, error,
XML_ERR_ERROR, NULL, 0,
- NULL, NULL, NULL, 0, 0, msg);
+ NULL, NULL, NULL, 0, 0, "%s", msg);
}
/************************************************************************
@@ -244,25 +251,25 @@ xmlC14NErr(xmlC14NCtxPtr ctxt, xmlNodePtr node, int error,
************************************************************************/
#define XML_NAMESPACES_DEFAULT 16
-static int
+static int
xmlC14NIsNodeInNodeset(xmlNodeSetPtr nodes, xmlNodePtr node, xmlNodePtr parent) {
if((nodes != NULL) && (node != NULL)) {
if(node->type != XML_NAMESPACE_DECL) {
return(xmlXPathNodeSetContains(nodes, node));
} else {
xmlNs ns;
-
- memcpy(&ns, node, sizeof(ns));
-
+
+ memcpy(&ns, node, sizeof(ns));
+
/* this is a libxml hack! check xpath.c for details */
if((parent != NULL) && (parent->type == XML_ATTRIBUTE_NODE)) {
ns.next = (xmlNsPtr)parent->parent;
} else {
- ns.next = (xmlNsPtr)parent;
+ ns.next = (xmlNsPtr)parent;
}
- /*
- * If the input is an XPath node-set, then the node-set must explicitly
+ /*
+ * If the input is an XPath node-set, then the node-set must explicitly
* contain every node to be rendered to the canonical form.
*/
return(xmlXPathNodeSetContains(nodes, (xmlNodePtr)&ns));
@@ -300,12 +307,12 @@ xmlC14NVisibleNsStackDestroy(xmlC14NVisibleNsStackPtr cur) {
}
memset(cur, 0, sizeof(xmlC14NVisibleNsStack));
xmlFree(cur);
-
+
}
-static void
+static void
xmlC14NVisibleNsStackAdd(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns, xmlNodePtr node) {
- if((cur == NULL) ||
+ if((cur == NULL) ||
((cur->nsTab == NULL) && (cur->nodeTab != NULL)) ||
((cur->nsTab != NULL) && (cur->nodeTab == NULL))) {
xmlC14NErrParam("adding namespace to stack");
@@ -323,9 +330,9 @@ xmlC14NVisibleNsStackAdd(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns, xmlNodePtr n
memset(cur->nodeTab, 0 , XML_NAMESPACES_DEFAULT * sizeof(xmlNodePtr));
cur->nsMax = XML_NAMESPACES_DEFAULT;
} else if(cur->nsMax == cur->nsCurEnd) {
- void *tmp;
+ void *tmp;
int tmpSize;
-
+
tmpSize = 2 * cur->nsMax;
tmp = xmlRealloc(cur->nsTab, tmpSize * sizeof(xmlNsPtr));
if (tmp == NULL) {
@@ -355,7 +362,7 @@ xmlC14NVisibleNsStackSave(xmlC14NVisibleNsStackPtr cur, xmlC14NVisibleNsStackPtr
xmlC14NErrParam("saving namespaces stack");
return;
}
-
+
state->nsCurEnd = cur->nsCurEnd;
state->nsPrevStart = cur->nsPrevStart;
state->nsPrevEnd = cur->nsPrevEnd;
@@ -372,7 +379,7 @@ xmlC14NVisibleNsStackRestore(xmlC14NVisibleNsStackPtr cur, xmlC14NVisibleNsStack
cur->nsPrevEnd = state->nsPrevEnd;
}
-static void
+static void
xmlC14NVisibleNsStackShift(xmlC14NVisibleNsStackPtr cur) {
if(cur == NULL) {
xmlC14NErrParam("shifting namespaces stack");
@@ -395,7 +402,7 @@ xmlC14NStrEqual(const xmlChar *str1, const xmlChar *str2) {
/**
* xmlC14NVisibleNsStackFind:
- * @ctx: the C14N context
+ * @ctx: the C14N context
* @ns: the namespace to check
*
* Checks whether the given namespace was already rendered or not
@@ -409,14 +416,14 @@ xmlC14NVisibleNsStackFind(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns)
const xmlChar *prefix;
const xmlChar *href;
int has_empty_ns;
-
+
if(cur == NULL) {
xmlC14NErrParam("searching namespaces stack (c14n)");
return (0);
}
/*
- * if the default namespace xmlns="" is not defined yet then
+ * if the default namespace xmlns="" is not defined yet then
* we do not want to print it out
*/
prefix = ((ns == NULL) || (ns->prefix == NULL)) ? BAD_CAST "" : ns->prefix;
@@ -427,7 +434,7 @@ xmlC14NVisibleNsStackFind(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns)
int start = (has_empty_ns) ? 0 : cur->nsPrevStart;
for (i = cur->nsCurEnd - 1; i >= start; --i) {
xmlNsPtr ns1 = cur->nsTab[i];
-
+
if(xmlC14NStrEqual(prefix, (ns1 != NULL) ? ns1->prefix : NULL)) {
return(xmlC14NStrEqual(href, (ns1 != NULL) ? ns1->href : NULL));
}
@@ -436,20 +443,20 @@ xmlC14NVisibleNsStackFind(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns)
return(has_empty_ns);
}
-static int
+static int
xmlExcC14NVisibleNsStackFind(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns, xmlC14NCtxPtr ctx) {
int i;
const xmlChar *prefix;
const xmlChar *href;
int has_empty_ns;
-
+
if(cur == NULL) {
xmlC14NErrParam("searching namespaces stack (exc c14n)");
return (0);
}
/*
- * if the default namespace xmlns="" is not defined yet then
+ * if the default namespace xmlns="" is not defined yet then
* we do not want to print it out
*/
prefix = ((ns == NULL) || (ns->prefix == NULL)) ? BAD_CAST "" : ns->prefix;
@@ -460,10 +467,10 @@ xmlExcC14NVisibleNsStackFind(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns, xmlC14NC
int start = 0;
for (i = cur->nsCurEnd - 1; i >= start; --i) {
xmlNsPtr ns1 = cur->nsTab[i];
-
+
if(xmlC14NStrEqual(prefix, (ns1 != NULL) ? ns1->prefix : NULL)) {
if(xmlC14NStrEqual(href, (ns1 != NULL) ? ns1->href : NULL)) {
- return(xmlC14NIsVisible(ctx, ns1, cur->nodeTab[i]));
+ return(xmlC14NIsVisible(ctx, ns1, cur->nodeTab[i]));
} else {
return(0);
}
@@ -478,8 +485,8 @@ xmlExcC14NVisibleNsStackFind(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns, xmlC14NC
/**
* xmlC14NIsXmlNs:
- * @ns: the namespace to check
- *
+ * @ns: the namespace to check
+ *
* Checks whether the given namespace is a default "xml:" namespace
* with href="http://www.w3.org/XML/1998/namespace"
*
@@ -492,16 +499,14 @@ xmlC14NIsXmlNs(xmlNsPtr ns)
{
return ((ns != NULL) &&
(xmlStrEqual(ns->prefix, BAD_CAST "xml")) &&
- (xmlStrEqual(ns->href,
- BAD_CAST
- "http://www.w3.org/XML/1998/namespace")));
+ (xmlStrEqual(ns->href, XML_XML_NAMESPACE)));
}
/**
* xmlC14NNsCompare:
* @ns1: the pointer to first namespace
- * @ns2: the pointer to second namespace
+ * @ns2: the pointer to second namespace
*
* Compares the namespaces by names (prefixes).
*
@@ -524,7 +529,7 @@ xmlC14NNsCompare(xmlNsPtr ns1, xmlNsPtr ns2)
/**
* xmlC14NPrintNamespaces:
* @ns: the pointer to namespace
- * @ctx: the C14N context
+ * @ctx: the C14N context
*
* Prints the given namespace to the output buffer from C14N context.
*
@@ -542,52 +547,53 @@ xmlC14NPrintNamespaces(const xmlNsPtr ns, xmlC14NCtxPtr ctx)
if (ns->prefix != NULL) {
xmlOutputBufferWriteString(ctx->buf, " xmlns:");
xmlOutputBufferWriteString(ctx->buf, (const char *) ns->prefix);
- xmlOutputBufferWriteString(ctx->buf, "=\"");
+ xmlOutputBufferWriteString(ctx->buf, "=");
} else {
- xmlOutputBufferWriteString(ctx->buf, " xmlns=\"");
+ xmlOutputBufferWriteString(ctx->buf, " xmlns=");
}
if(ns->href != NULL) {
- xmlOutputBufferWriteString(ctx->buf, (const char *) ns->href);
+ xmlBufWriteQuotedString(ctx->buf->buffer, ns->href);
+ } else {
+ xmlOutputBufferWriteString(ctx->buf, "\"\"");
}
- xmlOutputBufferWriteString(ctx->buf, "\"");
return (1);
}
/**
* xmlC14NProcessNamespacesAxis:
- * @ctx: the C14N context
+ * @ctx: the C14N context
* @node: the current node
*
* Prints out canonical namespace axis of the current node to the
- * buffer from C14N context as follows
+ * buffer from C14N context as follows
*
* Canonical XML v 1.0 (http://www.w3.org/TR/xml-c14n)
*
* Namespace Axis
- * Consider a list L containing only namespace nodes in the
- * axis and in the node-set in lexicographic order (ascending). To begin
- * processing L, if the first node is not the default namespace node (a node
- * with no namespace URI and no local name), then generate a space followed
+ * Consider a list L containing only namespace nodes in the
+ * axis and in the node-set in lexicographic order (ascending). To begin
+ * processing L, if the first node is not the default namespace node (a node
+ * with no namespace URI and no local name), then generate a space followed
* by xmlns="" if and only if the following conditions are met:
* - the element E that owns the axis is in the node-set
- * - The nearest ancestor element of E in the node-set has a default
- * namespace node in the node-set (default namespace nodes always
+ * - The nearest ancestor element of E in the node-set has a default
+ * namespace node in the node-set (default namespace nodes always
* have non-empty values in XPath)
- * The latter condition eliminates unnecessary occurrences of xmlns="" in
- * the canonical form since an element only receives an xmlns="" if its
- * default namespace is empty and if it has an immediate parent in the
- * canonical form that has a non-empty default namespace. To finish
- * processing L, simply process every namespace node in L, except omit
- * namespace node with local name xml, which defines the xml prefix,
+ * The latter condition eliminates unnecessary occurrences of xmlns="" in
+ * the canonical form since an element only receives an xmlns="" if its
+ * default namespace is empty and if it has an immediate parent in the
+ * canonical form that has a non-empty default namespace. To finish
+ * processing L, simply process every namespace node in L, except omit
+ * namespace node with local name xml, which defines the xml prefix,
* if its string value is http://www.w3.org/XML/1998/namespace.
*
* Exclusive XML Canonicalization v 1.0 (http://www.w3.org/TR/xml-exc-c14n)
- * Canonical XML applied to a document subset requires the search of the
- * ancestor nodes of each orphan element node for attributes in the xml
- * namespace, such as xml:lang and xml:space. These are copied into the
- * element node except if a declaration of the same attribute is already
- * in the attribute axis of the element (whether or not it is included in
- * the document subset). This search and copying are omitted from the
+ * Canonical XML applied to a document subset requires the search of the
+ * ancestor nodes of each orphan element node for attributes in the xml
+ * namespace, such as xml:lang and xml:space. These are copied into the
+ * element node except if a declaration of the same attribute is already
+ * in the attribute axis of the element (whether or not it is included in
+ * the document subset). This search and copying are omitted from the
* Exclusive XML Canonicalization method.
*
* Returns 0 on success or -1 on fail.
@@ -600,7 +606,7 @@ xmlC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
xmlListPtr list;
int already_rendered;
int has_empty_ns = 0;
-
+
if ((ctx == NULL) || (cur == NULL) || (cur->type != XML_ELEMENT_NODE)) {
xmlC14NErrParam("processing namespaces axis (c14n)");
return (-1);
@@ -619,29 +625,29 @@ xmlC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
for(n = cur; n != NULL; n = n->parent) {
for(ns = n->nsDef; ns != NULL; ns = ns->next) {
tmp = xmlSearchNs(cur->doc, cur, ns->prefix);
-
+
if((tmp == ns) && !xmlC14NIsXmlNs(ns) && xmlC14NIsVisible(ctx, ns, cur)) {
already_rendered = xmlC14NVisibleNsStackFind(ctx->ns_rendered, ns);
if(visible) {
- xmlC14NVisibleNsStackAdd(ctx->ns_rendered, ns, cur);
+ xmlC14NVisibleNsStackAdd(ctx->ns_rendered, ns, cur);
}
if(!already_rendered) {
- xmlListInsert(list, ns);
+ xmlListInsert(list, ns);
}
- if(xmlStrlen(ns->prefix) == 0) {
+ if(xmlStrlen(ns->prefix) == 0) {
has_empty_ns = 1;
}
}
}
}
-
+
/**
- * if the first node is not the default namespace node (a node with no
- * namespace URI and no local name), then generate a space followed by
+ * if the first node is not the default namespace node (a node with no
+ * namespace URI and no local name), then generate a space followed by
* xmlns="" if and only if the following conditions are met:
* - the element E that owns the axis is in the node-set
- * - the nearest ancestor element of E in the node-set has a default
- * namespace node in the node-set (default namespace nodes always
+ * - the nearest ancestor element of E in the node-set has a default
+ * namespace node in the node-set (default namespace nodes always
* have non-empty values in XPath)
*/
if(visible && !has_empty_ns) {
@@ -649,17 +655,17 @@ xmlC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
memset(&ns_default, 0, sizeof(ns_default));
if(!xmlC14NVisibleNsStackFind(ctx->ns_rendered, &ns_default)) {
- xmlC14NPrintNamespaces(&ns_default, ctx);
+ xmlC14NPrintNamespaces(&ns_default, ctx);
}
}
-
-
- /*
- * print out all elements from list
+
+
+ /*
+ * print out all elements from list
*/
xmlListWalk(list, (xmlListWalker) xmlC14NPrintNamespaces, (const void *) ctx);
- /*
+ /*
* Cleanup
*/
xmlListDelete(list);
@@ -669,28 +675,28 @@ xmlC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
/**
* xmlExcC14NProcessNamespacesAxis:
- * @ctx: the C14N context
+ * @ctx: the C14N context
* @node: the current node
*
* Prints out exclusive canonical namespace axis of the current node to the
- * buffer from C14N context as follows
+ * buffer from C14N context as follows
*
* Exclusive XML Canonicalization
* http://www.w3.org/TR/xml-exc-c14n
*
- * If the element node is in the XPath subset then output the node in
- * accordance with Canonical XML except for namespace nodes which are
+ * If the element node is in the XPath subset then output the node in
+ * accordance with Canonical XML except for namespace nodes which are
* rendered as follows:
*
* 1. Render each namespace node iff:
- * * it is visibly utilized by the immediate parent element or one of
+ * * it is visibly utilized by the immediate parent element or one of
* its attributes, or is present in InclusiveNamespaces PrefixList, and
- * * its prefix and value do not appear in ns_rendered. ns_rendered is
- * obtained by popping the state stack in order to obtain a list of
- * prefixes and their values which have already been rendered by
+ * * its prefix and value do not appear in ns_rendered. ns_rendered is
+ * obtained by popping the state stack in order to obtain a list of
+ * prefixes and their values which have already been rendered by
* an output ancestor of the namespace node's parent element.
- * 2. Append the rendered namespace node to the list ns_rendered of namespace
- * nodes rendered by output ancestors. Push ns_rendered on state stack and
+ * 2. Append the rendered namespace node to the list ns_rendered of namespace
+ * nodes rendered by output ancestors. Push ns_rendered on state stack and
* recurse.
* 3. After the recursion returns, pop thestate stack.
*
@@ -707,13 +713,13 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
int has_empty_ns = 0;
int has_visibly_utilized_empty_ns = 0;
int has_empty_ns_in_inclusive_list = 0;
-
+
if ((ctx == NULL) || (cur == NULL) || (cur->type != XML_ELEMENT_NODE)) {
xmlC14NErrParam("processing namespaces axis (exc c14n)");
return (-1);
}
- if(!ctx->exclusive) {
+ if(!xmlC14NIsExclusive(ctx)) {
xmlC14NErrParam("processing namespaces axis (exc c14n)");
return (-1);
@@ -728,15 +734,15 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
return (-1);
}
- /*
+ /*
* process inclusive namespaces:
- * All namespace nodes appearing on inclusive ns list are
+ * All namespace nodes appearing on inclusive ns list are
* handled as provided in Canonical XML
*/
if(ctx->inclusive_ns_prefixes != NULL) {
- xmlChar *prefix;
+ xmlChar *prefix;
int i;
-
+
for (i = 0; ctx->inclusive_ns_prefixes[i] != NULL; ++i) {
prefix = ctx->inclusive_ns_prefixes[i];
/*
@@ -747,23 +753,23 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
prefix = NULL;
has_empty_ns_in_inclusive_list = 1;
}
-
- ns = xmlSearchNs(cur->doc, cur, prefix);
+
+ ns = xmlSearchNs(cur->doc, cur, prefix);
if((ns != NULL) && !xmlC14NIsXmlNs(ns) && xmlC14NIsVisible(ctx, ns, cur)) {
already_rendered = xmlC14NVisibleNsStackFind(ctx->ns_rendered, ns);
if(visible) {
- xmlC14NVisibleNsStackAdd(ctx->ns_rendered, ns, cur);
+ xmlC14NVisibleNsStackAdd(ctx->ns_rendered, ns, cur);
}
if(!already_rendered) {
- xmlListInsert(list, ns);
+ xmlListInsert(list, ns);
}
- if(xmlStrlen(ns->prefix) == 0) {
+ if(xmlStrlen(ns->prefix) == 0) {
has_empty_ns = 1;
}
}
}
}
-
+
/* add node namespace */
if(cur->ns != NULL) {
ns = cur->ns;
@@ -772,32 +778,32 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
has_visibly_utilized_empty_ns = 1;
}
if((ns != NULL) && !xmlC14NIsXmlNs(ns)) {
- if(visible && xmlC14NIsVisible(ctx, ns, cur)) {
+ if(visible && xmlC14NIsVisible(ctx, ns, cur)) {
if(!xmlExcC14NVisibleNsStackFind(ctx->ns_rendered, ns, ctx)) {
xmlListInsert(list, ns);
}
}
if(visible) {
- xmlC14NVisibleNsStackAdd(ctx->ns_rendered, ns, cur);
+ xmlC14NVisibleNsStackAdd(ctx->ns_rendered, ns, cur);
}
if(xmlStrlen(ns->prefix) == 0) {
has_empty_ns = 1;
}
}
-
-
+
+
/* add attributes */
for(attr = cur->properties; attr != NULL; attr = attr->next) {
- /*
+ /*
* we need to check that attribute is visible and has non
- * default namespace (XML Namespaces: "default namespaces
- * do not apply directly to attributes")
+ * default namespace (XML Namespaces: "default namespaces
+ * do not apply directly to attributes")
*/
if((attr->ns != NULL) && !xmlC14NIsXmlNs(attr->ns) && xmlC14NIsVisible(ctx, attr, cur)) {
already_rendered = xmlExcC14NVisibleNsStackFind(ctx->ns_rendered, attr->ns, ctx);
- xmlC14NVisibleNsStackAdd(ctx->ns_rendered, attr->ns, cur);
+ xmlC14NVisibleNsStackAdd(ctx->ns_rendered, attr->ns, cur);
if(!already_rendered && visible) {
- xmlListInsert(list, attr->ns);
+ xmlListInsert(list, attr->ns);
}
if(xmlStrlen(attr->ns->prefix) == 0) {
has_empty_ns = 1;
@@ -810,33 +816,33 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
/*
* Process xmlns=""
*/
- if(visible && has_visibly_utilized_empty_ns &&
+ if(visible && has_visibly_utilized_empty_ns &&
!has_empty_ns && !has_empty_ns_in_inclusive_list) {
static xmlNs ns_default;
memset(&ns_default, 0, sizeof(ns_default));
-
+
already_rendered = xmlExcC14NVisibleNsStackFind(ctx->ns_rendered, &ns_default, ctx);
if(!already_rendered) {
- xmlC14NPrintNamespaces(&ns_default, ctx);
+ xmlC14NPrintNamespaces(&ns_default, ctx);
}
} else if(visible && !has_empty_ns && has_empty_ns_in_inclusive_list) {
static xmlNs ns_default;
memset(&ns_default, 0, sizeof(ns_default));
if(!xmlC14NVisibleNsStackFind(ctx->ns_rendered, &ns_default)) {
- xmlC14NPrintNamespaces(&ns_default, ctx);
+ xmlC14NPrintNamespaces(&ns_default, ctx);
}
}
-
- /*
- * print out all elements from list
+
+ /*
+ * print out all elements from list
*/
xmlListWalk(list, (xmlListWalker) xmlC14NPrintNamespaces, (const void *) ctx);
- /*
+ /*
* Cleanup
*/
xmlListDelete(list);
@@ -845,9 +851,28 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
/**
+ * xmlC14NIsXmlAttr:
+ * @attr: the attr to check
+ *
+ * Checks whether the given attribute is a default "xml:" namespace
+ * with href="http://www.w3.org/XML/1998/namespace"
+ *
+ * Returns 1 if the node is default or 0 otherwise
+ */
+
+/* todo: make it a define? */
+static int
+xmlC14NIsXmlAttr(xmlAttrPtr attr)
+{
+ return ((attr->ns != NULL) &&
+ (xmlC14NIsXmlNs(attr->ns) != 0));
+}
+
+
+/**
* xmlC14NAttrsCompare:
* @attr1: the pointer tls o first attr
- * @attr2: the pointer to second attr
+ * @attr2: the pointer to second attr
*
* Prints the given attribute to the output buffer from C14N context.
*
@@ -871,7 +896,7 @@ xmlC14NAttrsCompare(xmlAttrPtr attr1, xmlAttrPtr attr2)
return (xmlStrcmp(attr1->name, attr2->name));
}
- /*
+ /*
* Attributes in the default namespace are first
* because the default namespace is not applied to
* unqualified attributes
@@ -896,10 +921,10 @@ xmlC14NAttrsCompare(xmlAttrPtr attr1, xmlAttrPtr attr2)
/**
* xmlC14NPrintAttrs:
* @attr: the pointer to attr
- * @ctx: the C14N context
+ * @ctx: the C14N context
*
* Prints out canonical attribute urrent node to the
- * buffer from C14N context as follows
+ * buffer from C14N context as follows
*
* Canonical XML v 1.0 (http://www.w3.org/TR/xml-c14n)
*
@@ -925,7 +950,7 @@ xmlC14NPrintAttrs(const xmlAttrPtr attr, xmlC14NCtxPtr ctx)
xmlOutputBufferWriteString(ctx->buf, (const char *) attr->name);
xmlOutputBufferWriteString(ctx->buf, "=\"");
- value = xmlNodeListGetString(attr->doc, attr->children, 1);
+ value = xmlNodeListGetString(ctx->doc, attr->children, 1);
/* todo: should we log an error if value==NULL ? */
if (value != NULL) {
buffer = xmlC11NNormalizeAttr(value);
@@ -943,33 +968,156 @@ xmlC14NPrintAttrs(const xmlAttrPtr attr, xmlC14NCtxPtr ctx)
}
/**
+ * xmlC14NFindHiddenParentAttr:
+ *
+ * Finds an attribute in a hidden parent node.
+ *
+ * Returns a pointer to the attribute node (if found) or NULL otherwise.
+ */
+static xmlAttrPtr
+xmlC14NFindHiddenParentAttr(xmlC14NCtxPtr ctx, xmlNodePtr cur, const xmlChar * name, const xmlChar * ns)
+{
+ xmlAttrPtr res;
+ while((cur != NULL) && (!xmlC14NIsVisible(ctx, cur, cur->parent))) {
+ res = xmlHasNsProp(cur, name, ns);
+ if(res != NULL) {
+ return res;
+ }
+
+ cur = cur->parent;
+ }
+
+ return NULL;
+}
+
+/**
+ * xmlC14NFixupBaseAttr:
+ *
+ * Fixes up the xml:base attribute
+ *
+ * Returns the newly created attribute or NULL
+ */
+static xmlAttrPtr
+xmlC14NFixupBaseAttr(xmlC14NCtxPtr ctx, xmlAttrPtr xml_base_attr)
+{
+ xmlChar * res = NULL;
+ xmlNodePtr cur;
+ xmlAttrPtr attr;
+ xmlChar * tmp_str;
+ xmlChar * tmp_str2;
+ int tmp_str_len;
+
+ if ((ctx == NULL) || (xml_base_attr == NULL) || (xml_base_attr->parent == NULL)) {
+ xmlC14NErrParam("processing xml:base attribute");
+ return (NULL);
+ }
+
+ /* start from current value */
+ res = xmlNodeListGetString(ctx->doc, xml_base_attr->children, 1);
+ if(res == NULL) {
+ xmlC14NErrInternal("processing xml:base attribute - can't get attr value");
+ return (NULL);
+ }
+
+ /* go up the stack until we find a node that we rendered already */
+ cur = xml_base_attr->parent->parent;
+ while((cur != NULL) && (!xmlC14NIsVisible(ctx, cur, cur->parent))) {
+ attr = xmlHasNsProp(cur, BAD_CAST "base", XML_XML_NAMESPACE);
+ if(attr != NULL) {
+ /* get attr value */
+ tmp_str = xmlNodeListGetString(ctx->doc, attr->children, 1);
+ if(tmp_str == NULL) {
+ xmlFree(res);
+
+ xmlC14NErrInternal("processing xml:base attribute - can't get attr value");
+ return (NULL);
+ }
+
+ /* we need to add '/' if our current base uri ends with '..' or '.'
+ to ensure that we are forced to go "up" all the time */
+ tmp_str_len = xmlStrlen(tmp_str);
+ if(tmp_str_len > 1 && tmp_str[tmp_str_len - 2] == '.') {
+ tmp_str2 = xmlStrcat(tmp_str, BAD_CAST "/");
+ if(tmp_str2 == NULL) {
+ xmlFree(tmp_str);
+ xmlFree(res);
+
+ xmlC14NErrInternal("processing xml:base attribute - can't modify uri");
+ return (NULL);
+ }
+
+ tmp_str = tmp_str2;
+ }
+
+ /* build uri */
+ tmp_str2 = xmlBuildURI(res, tmp_str);
+ if(tmp_str2 == NULL) {
+ xmlFree(tmp_str);
+ xmlFree(res);
+
+ xmlC14NErrInternal("processing xml:base attribute - can't construct uri");
+ return (NULL);
+ }
+
+ /* cleanup and set the new res */
+ xmlFree(tmp_str);
+ xmlFree(res);
+ res = tmp_str2;
+ }
+
+ /* next */
+ cur = cur->parent;
+ }
+
+ /* check if result uri is empty or not */
+ if((res == NULL) || xmlStrEqual(res, BAD_CAST "")) {
+ xmlFree(res);
+ return (NULL);
+ }
+
+ /* create and return the new attribute node */
+ attr = xmlNewNsProp(NULL, xml_base_attr->ns, BAD_CAST "base", res);
+ if(attr == NULL) {
+ xmlFree(res);
+
+ xmlC14NErrInternal("processing xml:base attribute - can't construct attribute");
+ return (NULL);
+ }
+
+ /* done */
+ xmlFree(res);
+ return (attr);
+}
+
+/**
* xmlC14NProcessAttrsAxis:
- * @ctx: the C14N context
+ * @ctx: the C14N context
* @cur: the current node
* @parent_visible: the visibility of parent node
+ * @all_parents_visible: the visibility of all parent nodes
*
* Prints out canonical attribute axis of the current node to the
- * buffer from C14N context as follows
+ * buffer from C14N context as follows
*
* Canonical XML v 1.0 (http://www.w3.org/TR/xml-c14n)
*
- * Attribute Axis
- * In lexicographic order (ascending), process each node that
+ * Attribute Axis
+ * In lexicographic order (ascending), process each node that
* is in the element's attribute axis and in the node-set.
- *
- * The processing of an element node E MUST be modified slightly
- * when an XPath node-set is given as input and the element's
+ *
+ * The processing of an element node E MUST be modified slightly
+ * when an XPath node-set is given as input and the element's
* parent is omitted from the node-set.
*
*
* Exclusive XML Canonicalization v 1.0 (http://www.w3.org/TR/xml-exc-c14n)
*
- * Canonical XML applied to a document subset requires the search of the
- * ancestor nodes of each orphan element node for attributes in the xml
- * namespace, such as xml:lang and xml:space. These are copied into the
- * element node except if a declaration of the same attribute is already
- * in the attribute axis of the element (whether or not it is included in
- * the document subset). This search and copying are omitted from the
+ * Canonical XML applied to a document subset requires the search of the
+ * ancestor nodes of each orphan element node for attributes in the xml
+ * namespace, such as xml:lang and xml:space. These are copied into the
+ * element node except if a declaration of the same attribute is already
+ * in the attribute axis of the element (whether or not it is included in
+ * the document subset). This search and copying are omitted from the
* Exclusive XML Canonicalization method.
*
* Returns 0 on success or -1 on fail.
@@ -979,6 +1127,12 @@ xmlC14NProcessAttrsAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int parent_visible)
{
xmlAttrPtr attr;
xmlListPtr list;
+ xmlAttrPtr attrs_to_delete = NULL;
+
+ /* special processing for 1.1 spec */
+ xmlAttrPtr xml_base_attr = NULL;
+ xmlAttrPtr xml_lang_attr = NULL;
+ xmlAttrPtr xml_space_attr = NULL;
if ((ctx == NULL) || (cur == NULL) || (cur->type != XML_ELEMENT_NODE)) {
xmlC14NErrParam("processing attributes axis");
@@ -994,57 +1148,200 @@ xmlC14NProcessAttrsAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int parent_visible)
return (-1);
}
- /*
- * Add all visible attributes from current node.
- */
- attr = cur->properties;
- while (attr != NULL) {
- /* check that attribute is visible */
- if (xmlC14NIsVisible(ctx, attr, cur)) {
- xmlListInsert(list, attr);
+ switch(ctx->mode) {
+ case XML_C14N_1_0:
+ /* The processing of an element node E MUST be modified slightly when an XPath node-set is
+ * given as input and the element's parent is omitted from the node-set. The method for processing
+ * the attribute axis of an element E in the node-set is enhanced. All element nodes along E's
+ * ancestor axis are examined for nearest occurrences of attributes in the xml namespace, such
+ * as xml:lang and xml:space (whether or not they are in the node-set). From this list of attributes,
+ * remove any that are in E's attribute axis (whether or not they are in the node-set). Then,
+ * lexicographically merge this attribute list with the nodes of E's attribute axis that are in
+ * the node-set. The result of visiting the attribute axis is computed by processing the attribute
+ * nodes in this merged attribute list.
+ */
+
+ /*
+ * Add all visible attributes from current node.
+ */
+ attr = cur->properties;
+ while (attr != NULL) {
+ /* check that attribute is visible */
+ if (xmlC14NIsVisible(ctx, attr, cur)) {
+ xmlListInsert(list, attr);
+ }
+ attr = attr->next;
}
- attr = attr->next;
- }
- /*
- * include attributes in "xml" namespace defined in ancestors
- * (only for non-exclusive XML Canonicalization)
- */
- if (parent_visible && (!ctx->exclusive) && (cur->parent != NULL)
- && (!xmlC14NIsVisible(ctx, cur->parent, cur->parent->parent))) {
/*
- * If XPath node-set is not specified then the parent is always
- * visible!
+ * Handle xml attributes
*/
- cur = cur->parent;
- while (cur != NULL) {
- attr = cur->properties;
- while (attr != NULL) {
- if ((attr->ns != NULL)
- && (xmlStrEqual(attr->ns->prefix, BAD_CAST "xml"))) {
- if (xmlListSearch(list, attr) == NULL) {
- xmlListInsert(list, attr);
+ if (parent_visible && (cur->parent != NULL) &&
+ (!xmlC14NIsVisible(ctx, cur->parent, cur->parent->parent)))
+ {
+ xmlNodePtr tmp;
+
+ /*
+ * If XPath node-set is not specified then the parent is always
+ * visible!
+ */
+ tmp = cur->parent;
+ while (tmp != NULL) {
+ attr = tmp->properties;
+ while (attr != NULL) {
+ if (xmlC14NIsXmlAttr(attr) != 0) {
+ if (xmlListSearch(list, attr) == NULL) {
+ xmlListInsert(list, attr);
+ }
}
+ attr = attr->next;
+ }
+ tmp = tmp->parent;
+ }
+ }
+
+ /* done */
+ break;
+ case XML_C14N_EXCLUSIVE_1_0:
+ /* attributes in the XML namespace, such as xml:lang and xml:space
+ * are not imported into orphan nodes of the document subset
+ */
+
+ /*
+ * Add all visible attributes from current node.
+ */
+ attr = cur->properties;
+ while (attr != NULL) {
+ /* check that attribute is visible */
+ if (xmlC14NIsVisible(ctx, attr, cur)) {
+ xmlListInsert(list, attr);
+ }
+ attr = attr->next;
+ }
+
+ /* do nothing special for xml attributes */
+ break;
+ case XML_C14N_1_1:
+ /* The processing of an element node E MUST be modified slightly when an XPath node-set is
+ * given as input and some of the element's ancestors are omitted from the node-set.
+ *
+ * Simple inheritable attributes are attributes that have a value that requires at most a simple
+ * redeclaration. This redeclaration is done by supplying a new value in the child axis. The
+ * redeclaration of a simple inheritable attribute A contained in one of E's ancestors is done
+ * by supplying a value to an attribute Ae inside E with the same name. Simple inheritable attributes
+ * are xml:lang and xml:space.
+ *
+ * The method for processing the attribute axis of an element E in the node-set is hence enhanced.
+ * All element nodes along E's ancestor axis are examined for the nearest occurrences of simple
+ * inheritable attributes in the xml namespace, such as xml:lang and xml:space (whether or not they
+ * are in the node-set). From this list of attributes, any simple inheritable attributes that are
+ * already in E's attribute axis (whether or not they are in the node-set) are removed. Then,
+ * lexicographically merge this attribute list with the nodes of E's attribute axis that are in
+ * the node-set. The result of visiting the attribute axis is computed by processing the attribute
+ * nodes in this merged attribute list.
+ *
+ * The xml:id attribute is not a simple inheritable attribute and no processing of these attributes is
+ * performed.
+ *
+ * The xml:base attribute is not a simple inheritable attribute and requires special processing beyond
+ * a simple redeclaration.
+ *
+ * Attributes in the XML namespace other than xml:base, xml:id, xml:lang, and xml:space MUST be processed
+ * as ordinary attributes.
+ */
+
+ /*
+ * Add all visible attributes from current node.
+ */
+ attr = cur->properties;
+ while (attr != NULL) {
+ /* special processing for XML attribute kiks in only when we have invisible parents */
+ if ((!parent_visible) || (xmlC14NIsXmlAttr(attr) == 0)) {
+ /* check that attribute is visible */
+ if (xmlC14NIsVisible(ctx, attr, cur)) {
+ xmlListInsert(list, attr);
+ }
+ } else {
+ int matched = 0;
+
+ /* check for simple inheritance attributes */
+ if((!matched) && (xml_lang_attr == NULL) && xmlStrEqual(attr->name, BAD_CAST "lang")) {
+ xml_lang_attr = attr;
+ matched = 1;
+ }
+ if((!matched) && (xml_space_attr == NULL) && xmlStrEqual(attr->name, BAD_CAST "space")) {
+ xml_space_attr = attr;
+ matched = 1;
+ }
+
+ /* check for base attr */
+ if((!matched) && (xml_base_attr == NULL) && xmlStrEqual(attr->name, BAD_CAST "base")) {
+ xml_base_attr = attr;
+ matched = 1;
+ }
+
+ /* otherwise, it is a normal attribute, so just check if it is visible */
+ if((!matched) && xmlC14NIsVisible(ctx, attr, cur)) {
+ xmlListInsert(list, attr);
+ }
+ }
+
+ /* move to the next one */
+ attr = attr->next;
+ }
+
+ /* special processing for XML attribute kiks in only when we have invisible parents */
+ if ((parent_visible)) {
+
+ /* simple inheritance attributes - copy */
+ if(xml_lang_attr == NULL) {
+ xml_lang_attr = xmlC14NFindHiddenParentAttr(ctx, cur->parent, BAD_CAST "lang", XML_XML_NAMESPACE);
+ }
+ if(xml_lang_attr != NULL) {
+ xmlListInsert(list, xml_lang_attr);
+ }
+ if(xml_space_attr == NULL) {
+ xml_space_attr = xmlC14NFindHiddenParentAttr(ctx, cur->parent, BAD_CAST "space", XML_XML_NAMESPACE);
+ }
+ if(xml_space_attr != NULL) {
+ xmlListInsert(list, xml_space_attr);
+ }
+
+ /* base uri attribute - fix up */
+ if(xml_base_attr == NULL) {
+ /* if we don't have base uri attribute, check if we have a "hidden" one above */
+ xml_base_attr = xmlC14NFindHiddenParentAttr(ctx, cur->parent, BAD_CAST "base", XML_XML_NAMESPACE);
+ }
+ if(xml_base_attr != NULL) {
+ xml_base_attr = xmlC14NFixupBaseAttr(ctx, xml_base_attr);
+ if(xml_base_attr != NULL) {
+ xmlListInsert(list, xml_base_attr);
+
+ /* note that we MUST delete returned attr node ourselves! */
+ xml_base_attr->next = attrs_to_delete;
+ attrs_to_delete = xml_base_attr;
}
- attr = attr->next;
}
- cur = cur->parent;
}
+
+ /* done */
+ break;
}
- /*
- * print out all elements from list
+ /*
+ * print out all elements from list
*/
xmlListWalk(list, (xmlListWalker) xmlC14NPrintAttrs, (const void *) ctx);
- /*
+ /*
* Cleanup
*/
+ xmlFreePropList(attrs_to_delete);
xmlListDelete(list);
return (0);
}
-/**
+/**
* xmlC14NCheckForRelativeNamespaces:
* @ctx: the C14N context
* @cur: the current element node
@@ -1094,21 +1391,23 @@ xmlC14NCheckForRelativeNamespaces(xmlC14NCtxPtr ctx, xmlNodePtr cur)
/**
* xmlC14NProcessElementNode:
- * @ctx: the pointer to C14N context object
+ * @ctx: the pointer to C14N context object
* @cur: the node to process
- *
+ * @visible: this node is visible
+ * @all_parents_visible: whether all the parents of this node are visible
+ *
* Canonical XML v 1.0 (http://www.w3.org/TR/xml-c14n)
*
* Element Nodes
- * If the element is not in the node-set, then the result is obtained
- * by processing the namespace axis, then the attribute axis, then
- * processing the child nodes of the element that are in the node-set
- * (in document order). If the element is in the node-set, then the result
- * is an open angle bracket (<), the element QName, the result of
- * processing the namespace axis, the result of processing the attribute
- * axis, a close angle bracket (>), the result of processing the child
- * nodes of the element that are in the node-set (in document order), an
- * open angle bracket, a forward slash (/), the element QName, and a close
+ * If the element is not in the node-set, then the result is obtained
+ * by processing the namespace axis, then the attribute axis, then
+ * processing the child nodes of the element that are in the node-set
+ * (in document order). If the element is in the node-set, then the result
+ * is an open angle bracket (<), the element QName, the result of
+ * processing the namespace axis, the result of processing the attribute
+ * axis, a close angle bracket (>), the result of processing the child
+ * nodes of the element that are in the node-set (in document order), an
+ * open angle bracket, a forward slash (/), the element QName, and a close
* angle bracket.
*
* Returns non-negative value on success or negative value on fail
@@ -1125,7 +1424,7 @@ xmlC14NProcessElementNode(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
return (-1);
}
- /*
+ /*
* Check relative relative namespaces:
* implementations of XML canonicalization MUST report an operation
* failure on documents containing relative namespace URIs.
@@ -1136,13 +1435,13 @@ xmlC14NProcessElementNode(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
}
- /*
+ /*
* Save ns_rendered stack position
*/
memset(&state, 0, sizeof(state));
xmlC14NVisibleNsStackSave(ctx->ns_rendered, &state);
- if (visible) {
+ if (visible) {
if (ctx->parent_is_doc) {
/* save this flag into the stack */
parent_is_doc = ctx->parent_is_doc;
@@ -1159,7 +1458,7 @@ xmlC14NProcessElementNode(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
xmlOutputBufferWriteString(ctx->buf, (const char *) cur->name);
}
- if (!ctx->exclusive) {
+ if (!xmlC14NIsExclusive(ctx)) {
ret = xmlC14NProcessNamespacesAxis(ctx, cur, visible);
} else {
ret = xmlExcC14NProcessNamespacesAxis(ctx, cur, visible);
@@ -1172,14 +1471,14 @@ xmlC14NProcessElementNode(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
if(visible) {
xmlC14NVisibleNsStackShift(ctx->ns_rendered);
}
-
+
ret = xmlC14NProcessAttrsAxis(ctx, cur, visible);
if (ret < 0) {
xmlC14NErrInternal("processing attributes axis");
- return (-1);
+ return (-1);
}
- if (visible) {
+ if (visible) {
xmlOutputBufferWriteString(ctx->buf, ">");
}
if (cur->children != NULL) {
@@ -1205,7 +1504,7 @@ xmlC14NProcessElementNode(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
}
}
- /*
+ /*
* Restore ns_rendered stack position
*/
xmlC14NVisibleNsStackRestore(ctx->ns_rendered, &state);
@@ -1214,9 +1513,9 @@ xmlC14NProcessElementNode(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
/**
* xmlC14NProcessNode:
- * @ctx: the pointer to C14N context object
+ * @ctx: the pointer to C14N context object
* @cur: the node to process
- *
+ *
* Processes the given node
*
* Returns non-negative value on success or negative value on fail
@@ -1241,9 +1540,9 @@ xmlC14NProcessNode(xmlC14NCtxPtr ctx, xmlNodePtr cur)
case XML_TEXT_NODE:
/*
* Text Nodes
- * the string value, except all ampersands are replaced
- * by &amp;, all open angle brackets (<) are replaced by &lt;, all closing
- * angle brackets (>) are replaced by &gt;, and all #xD characters are
+ * the string value, except all ampersands are replaced
+ * by &amp;, all open angle brackets (<) are replaced by &lt;, all closing
+ * angle brackets (>) are replaced by &gt;, and all #xD characters are
* replaced by &#xD;.
*/
/* cdata sections are processed as text nodes */
@@ -1263,16 +1562,16 @@ xmlC14NProcessNode(xmlC14NCtxPtr ctx, xmlNodePtr cur)
}
break;
case XML_PI_NODE:
- /*
- * Processing Instruction (PI) Nodes-
- * The opening PI symbol (<?), the PI target name of the node,
- * a leading space and the string value if it is not empty, and
- * the closing PI symbol (?>). If the string value is empty,
- * then the leading space is not added. Also, a trailing #xA is
- * rendered after the closing PI symbol for PI children of the
- * root node with a lesser document order than the document
- * element, and a leading #xA is rendered before the opening PI
- * symbol of PI children of the root node with a greater document
+ /*
+ * Processing Instruction (PI) Nodes-
+ * The opening PI symbol (<?), the PI target name of the node,
+ * a leading space and the string value if it is not empty, and
+ * the closing PI symbol (?>). If the string value is empty,
+ * then the leading space is not added. Also, a trailing #xA is
+ * rendered after the closing PI symbol for PI children of the
+ * root node with a lesser document order than the document
+ * element, and a leading #xA is rendered before the opening PI
+ * symbol of PI children of the root node with a greater document
* order than the document element.
*/
if (visible) {
@@ -1311,17 +1610,17 @@ xmlC14NProcessNode(xmlC14NCtxPtr ctx, xmlNodePtr cur)
case XML_COMMENT_NODE:
/*
* Comment Nodes
- * Nothing if generating canonical XML without comments. For
- * canonical XML with comments, generate the opening comment
- * symbol (<!--), the string value of the node, and the
- * closing comment symbol (-->). Also, a trailing #xA is rendered
- * after the closing comment symbol for comment children of the
- * root node with a lesser document order than the document
- * element, and a leading #xA is rendered before the opening
- * comment symbol of comment children of the root node with a
- * greater document order than the document element. (Comment
- * children of the root node represent comments outside of the
- * top-level document element and outside of the document type
+ * Nothing if generating canonical XML without comments. For
+ * canonical XML with comments, generate the opening comment
+ * symbol (<!--), the string value of the node, and the
+ * closing comment symbol (-->). Also, a trailing #xA is rendered
+ * after the closing comment symbol for comment children of the
+ * root node with a lesser document order than the document
+ * element, and a leading #xA is rendered before the opening
+ * comment symbol of comment children of the root node with a
+ * greater document order than the document element. (Comment
+ * children of the root node represent comments outside of the
+ * top-level document element and outside of the document type
* declaration).
*/
if (visible && ctx->with_comments) {
@@ -1391,8 +1690,8 @@ xmlC14NProcessNode(xmlC14NCtxPtr ctx, xmlNodePtr cur)
case XML_XINCLUDE_START:
case XML_XINCLUDE_END:
#endif
- /*
- * should be ignored according to "W3C Canonical XML"
+ /*
+ * should be ignored according to "W3C Canonical XML"
*/
break;
default:
@@ -1405,9 +1704,9 @@ xmlC14NProcessNode(xmlC14NCtxPtr ctx, xmlNodePtr cur)
/**
* xmlC14NProcessNodeList:
- * @ctx: the pointer to C14N context object
+ * @ctx: the pointer to C14N context object
* @cur: the node to start from
- *
+ *
* Processes all nodes in the row starting from cur.
*
* Returns non-negative value on success or negative value on fail
@@ -1432,7 +1731,7 @@ xmlC14NProcessNodeList(xmlC14NCtxPtr ctx, xmlNodePtr cur)
/**
* xmlC14NFreeCtx:
* @ctx: the pointer to C14N context object
- *
+ *
* Cleanups the C14N context object.
*/
@@ -1452,28 +1751,29 @@ xmlC14NFreeCtx(xmlC14NCtxPtr ctx)
/**
* xmlC14NNewCtx:
- * @doc: the XML document for canonization
- * @is_visible_callback:the function to use to determine is node visible
+ * @doc: the XML document for canonization
+ * @is_visible_callback:the function to use to determine is node visible
* or not
- * @user_data: the first parameter for @is_visible_callback function
+ * @user_data: the first parameter for @is_visible_callback function
* (in most cases, it is nodes set)
- * @inclusive_ns_prefixe the list of inclusive namespace prefixes
+ * @mode: the c14n mode (see @xmlC14NMode)
+ * @inclusive_ns_prefixe the list of inclusive namespace prefixes
* ended with a NULL or NULL if there is no
- * inclusive namespaces (only for exclusive
+ * inclusive namespaces (only for `
* canonicalization)
- * @with_comments: include comments in the result (!=0) or not (==0)
- * @buf: the output buffer to store canonical XML; this
+ * @with_comments: include comments in the result (!=0) or not (==0)
+ * @buf: the output buffer to store canonical XML; this
* buffer MUST have encoder==NULL because C14N requires
* UTF-8 output
- *
+ *
* Creates new C14N context object to store C14N parameters.
*
* Returns pointer to newly created object (success) or NULL (fail)
*/
static xmlC14NCtxPtr
-xmlC14NNewCtx(xmlDocPtr doc,
+xmlC14NNewCtx(xmlDocPtr doc,
xmlC14NIsVisibleCallback is_visible_callback, void* user_data,
- int exclusive, xmlChar ** inclusive_ns_prefixes,
+ xmlC14NMode mode, xmlChar ** inclusive_ns_prefixes,
int with_comments, xmlOutputBufferPtr buf)
{
xmlC14NCtxPtr ctx = NULL;
@@ -1531,11 +1831,11 @@ xmlC14NNewCtx(xmlDocPtr doc,
}
/*
- * Set "exclusive" flag, create a nodes set for namespaces
- * stack and remember list of incluseve prefixes
+ * Set "mode" flag and remember list of incluseve prefixes
+ * for exclusive c14n
*/
- if (exclusive) {
- ctx->exclusive = 1;
+ ctx->mode = mode;
+ if(xmlC14NIsExclusive(ctx)) {
ctx->inclusive_ns_prefixes = inclusive_ns_prefixes;
}
return (ctx);
@@ -1543,34 +1843,34 @@ xmlC14NNewCtx(xmlDocPtr doc,
/**
* xmlC14NExecute:
- * @doc: the XML document for canonization
- * @is_visible_callback:the function to use to determine is node visible
+ * @doc: the XML document for canonization
+ * @is_visible_callback:the function to use to determine is node visible
* or not
- * @user_data: the first parameter for @is_visible_callback function
+ * @user_data: the first parameter for @is_visible_callback function
* (in most cases, it is nodes set)
- * @exclusive: the exclusive flag (0 - non-exclusive canonicalization;
- * otherwise - exclusive canonicalization)
- * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
+ * @mode: the c14n mode (see @xmlC14NMode)
+ * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
* ended with a NULL or NULL if there is no
- * inclusive namespaces (only for exclusive
+ * inclusive namespaces (only for exclusive
* canonicalization, ignored otherwise)
- * @with_comments: include comments in the result (!=0) or not (==0)
- * @buf: the output buffer to store canonical XML; this
+ * @with_comments: include comments in the result (!=0) or not (==0)
+ * @buf: the output buffer to store canonical XML; this
* buffer MUST have encoder==NULL because C14N requires
* UTF-8 output
- *
+ *
* Dumps the canonized image of given XML document into the provided buffer.
* For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or
* "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)
*
- * Returns non-negative value on success or a negative value on fail
+ * Returns non-negative value on success or a negative value on fail
*/
-int
+int
xmlC14NExecute(xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback,
- void* user_data, int exclusive, xmlChar **inclusive_ns_prefixes,
+ void* user_data, int mode, xmlChar **inclusive_ns_prefixes,
int with_comments, xmlOutputBufferPtr buf) {
xmlC14NCtxPtr ctx;
+ xmlC14NMode c14n_mode = XML_C14N_1_0;
int ret;
if ((buf == NULL) || (doc == NULL)) {
@@ -1578,6 +1878,19 @@ xmlC14NExecute(xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback,
return (-1);
}
+ /* for backward compatibility, we have to have "mode" as "int"
+ and here we check that user gives valid value */
+ switch(mode) {
+ case XML_C14N_1_0:
+ case XML_C14N_EXCLUSIVE_1_0:
+ case XML_C14N_1_1:
+ c14n_mode = (xmlC14NMode)mode;
+ break;
+ default:
+ xmlC14NErrParam("invalid mode for executing c14n");
+ return (-1);
+ }
+
/*
* Validate the encoding output buffer encoding
*/
@@ -1587,9 +1900,9 @@ xmlC14NExecute(xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback,
return (-1);
}
- ctx = xmlC14NNewCtx(doc, is_visible_callback, user_data,
- exclusive, inclusive_ns_prefixes,
- with_comments, buf);
+ ctx = xmlC14NNewCtx(doc, is_visible_callback, user_data,
+ c14n_mode, inclusive_ns_prefixes,
+ with_comments, buf);
if (ctx == NULL) {
xmlC14NErr(NULL, (xmlNodePtr) doc, XML_C14N_CREATE_CTXT,
"xmlC14NExecute: unable to create C14N context\n");
@@ -1598,12 +1911,12 @@ xmlC14NExecute(xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback,
- /*
+ /*
* Root Node
- * The root node is the parent of the top-level document element. The
- * result of processing each of its child nodes that is in the node-set
- * in document order. The root node does not generate a byte order mark,
- * XML declaration, nor anything from within the document type
+ * The root node is the parent of the top-level document element. The
+ * result of processing each of its child nodes that is in the node-set
+ * in document order. The root node does not generate a byte order mark,
+ * XML declaration, nor anything from within the document type
* declaration.
*/
if (doc->children != NULL) {
@@ -1625,7 +1938,7 @@ xmlC14NExecute(xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback,
return (-1);
}
- /*
+ /*
* Cleanup
*/
xmlC14NFreeCtx(ctx);
@@ -1634,34 +1947,33 @@ xmlC14NExecute(xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback,
/**
* xmlC14NDocSaveTo:
- * @doc: the XML document for canonization
- * @nodes: the nodes set to be included in the canonized image
- * or NULL if all document nodes should be included
- * @exclusive: the exclusive flag (0 - non-exclusive canonicalization;
- * otherwise - exclusive canonicalization)
- * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
+ * @doc: the XML document for canonization
+ * @nodes: the nodes set to be included in the canonized image
+ * or NULL if all document nodes should be included
+ * @mode: the c14n mode (see @xmlC14NMode)
+ * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
* ended with a NULL or NULL if there is no
- * inclusive namespaces (only for exclusive
+ * inclusive namespaces (only for exclusive
* canonicalization, ignored otherwise)
- * @with_comments: include comments in the result (!=0) or not (==0)
- * @buf: the output buffer to store canonical XML; this
+ * @with_comments: include comments in the result (!=0) or not (==0)
+ * @buf: the output buffer to store canonical XML; this
* buffer MUST have encoder==NULL because C14N requires
* UTF-8 output
- *
+ *
* Dumps the canonized image of given XML document into the provided buffer.
* For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or
* "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)
*
- * Returns non-negative value on success or a negative value on fail
+ * Returns non-negative value on success or a negative value on fail
*/
int
xmlC14NDocSaveTo(xmlDocPtr doc, xmlNodeSetPtr nodes,
- int exclusive, xmlChar ** inclusive_ns_prefixes,
+ int mode, xmlChar ** inclusive_ns_prefixes,
int with_comments, xmlOutputBufferPtr buf) {
- return(xmlC14NExecute(doc,
+ return(xmlC14NExecute(doc,
(xmlC14NIsVisibleCallback)xmlC14NIsNodeInNodeset,
nodes,
- exclusive,
+ mode,
inclusive_ns_prefixes,
with_comments,
buf));
@@ -1670,29 +1982,28 @@ xmlC14NDocSaveTo(xmlDocPtr doc, xmlNodeSetPtr nodes,
/**
* xmlC14NDocDumpMemory:
- * @doc: the XML document for canonization
- * @nodes: the nodes set to be included in the canonized image
- * or NULL if all document nodes should be included
- * @exclusive: the exclusive flag (0 - non-exclusive canonicalization;
- * otherwise - exclusive canonicalization)
- * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
+ * @doc: the XML document for canonization
+ * @nodes: the nodes set to be included in the canonized image
+ * or NULL if all document nodes should be included
+ * @mode: the c14n mode (see @xmlC14NMode)
+ * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
* ended with a NULL or NULL if there is no
- * inclusive namespaces (only for exclusive
+ * inclusive namespaces (only for exclusive
* canonicalization, ignored otherwise)
- * @with_comments: include comments in the result (!=0) or not (==0)
- * @doc_txt_ptr: the memory pointer for allocated canonical XML text;
+ * @with_comments: include comments in the result (!=0) or not (==0)
+ * @doc_txt_ptr: the memory pointer for allocated canonical XML text;
* the caller of this functions is responsible for calling
- * xmlFree() to free allocated memory
- *
+ * xmlFree() to free allocated memory
+ *
* Dumps the canonized image of given XML document into memory.
* For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or
* "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)
*
- * Returns the number of bytes written on success or a negative value on fail
+ * Returns the number of bytes written on success or a negative value on fail
*/
int
xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes,
- int exclusive, xmlChar ** inclusive_ns_prefixes,
+ int mode, xmlChar ** inclusive_ns_prefixes,
int with_comments, xmlChar ** doc_txt_ptr)
{
int ret;
@@ -1706,7 +2017,7 @@ xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes,
*doc_txt_ptr = NULL;
/*
- * create memory buffer with UTF8 (default) encoding
+ * create memory buffer with UTF8 (default) encoding
*/
buf = xmlAllocOutputBuffer(NULL);
if (buf == NULL) {
@@ -1717,7 +2028,7 @@ xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes,
/*
* canonize document and write to buffer
*/
- ret = xmlC14NDocSaveTo(doc, nodes, exclusive, inclusive_ns_prefixes,
+ ret = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes,
with_comments, buf);
if (ret < 0) {
xmlC14NErrInternal("saving doc to output buffer");
@@ -1725,9 +2036,9 @@ xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes,
return (-1);
}
- ret = buf->buffer->use;
+ ret = xmlBufUse(buf->buffer);
if (ret > 0) {
- *doc_txt_ptr = xmlStrndup(buf->buffer->content, ret);
+ *doc_txt_ptr = xmlStrndup(xmlBufContent(buf->buffer), ret);
}
(void) xmlOutputBufferClose(buf);
@@ -1740,31 +2051,30 @@ xmlC14NDocDumpMemory(xmlDocPtr doc, xmlNodeSetPtr nodes,
/**
* xmlC14NDocSave:
- * @doc: the XML document for canonization
- * @nodes: the nodes set to be included in the canonized image
- * or NULL if all document nodes should be included
- * @exclusive: the exclusive flag (0 - non-exclusive canonicalization;
- * otherwise - exclusive canonicalization)
- * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
+ * @doc: the XML document for canonization
+ * @nodes: the nodes set to be included in the canonized image
+ * or NULL if all document nodes should be included
+ * @mode: the c14n mode (see @xmlC14NMode)
+ * @inclusive_ns_prefixes: the list of inclusive namespace prefixes
* ended with a NULL or NULL if there is no
- * inclusive namespaces (only for exclusive
+ * inclusive namespaces (only for exclusive
* canonicalization, ignored otherwise)
- * @with_comments: include comments in the result (!=0) or not (==0)
- * @filename: the filename to store canonical XML image
- * @compression: the compression level (zlib requred):
+ * @with_comments: include comments in the result (!=0) or not (==0)
+ * @filename: the filename to store canonical XML image
+ * @compression: the compression level (zlib requred):
* -1 - libxml default,
- * 0 - uncompressed,
+ * 0 - uncompressed,
* >0 - compression level
- *
+ *
* Dumps the canonized image of given XML document into the file.
* For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or
* "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)
*
- * Returns the number of bytes written success or a negative value on fail
+ * Returns the number of bytes written success or a negative value on fail
*/
int
xmlC14NDocSave(xmlDocPtr doc, xmlNodeSetPtr nodes,
- int exclusive, xmlChar ** inclusive_ns_prefixes,
+ int mode, xmlChar ** inclusive_ns_prefixes,
int with_comments, const char *filename, int compression)
{
xmlOutputBufferPtr buf;
@@ -1779,7 +2089,7 @@ xmlC14NDocSave(xmlDocPtr doc, xmlNodeSetPtr nodes,
compression = xmlGetCompressMode();
#endif
- /*
+ /*
* save the content to a temp buffer, use default UTF8 encoding.
*/
buf = xmlOutputBufferCreateFilename(filename, NULL, compression);
@@ -1791,7 +2101,7 @@ xmlC14NDocSave(xmlDocPtr doc, xmlNodeSetPtr nodes,
/*
* canonize document and write to buffer
*/
- ret = xmlC14NDocSaveTo(doc, nodes, exclusive, inclusive_ns_prefixes,
+ ret = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes,
with_comments, buf);
if (ret < 0) {
xmlC14NErrInternal("cannicanize document to buffer");
@@ -1799,8 +2109,8 @@ xmlC14NDocSave(xmlDocPtr doc, xmlNodeSetPtr nodes,
return (-1);
}
- /*
- * get the numbers of bytes written
+ /*
+ * get the numbers of bytes written
*/
ret = xmlOutputBufferClose(buf);
return (ret);
@@ -1814,14 +2124,14 @@ xmlC14NDocSave(xmlDocPtr doc, xmlNodeSetPtr nodes,
#define growBufferReentrant() { \
buffer_size *= 2; \
buffer = (xmlChar *) \
- xmlRealloc(buffer, buffer_size * sizeof(xmlChar)); \
+ xmlRealloc(buffer, buffer_size * sizeof(xmlChar)); \
if (buffer == NULL) { \
xmlC14NErrMemory("growing buffer"); \
return(NULL); \
} \
}
-/**
+/**
* xmlC11NNormalizeString:
* @input: the input string
* @mode: the normalization mode (attribute, comment, PI or text)
@@ -1919,7 +2229,7 @@ xmlC11NNormalizeString(const xmlChar * input,
}
cur++;
}
- *out++ = 0;
+ *out = 0;
return (buffer);
}
#endif /* LIBXML_OUTPUT_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/c14n.in.h b/gettext-tools/gnulib-lib/libxml/c14n.in.h
index 9f4c6c0..b8971d9 100644
--- a/gettext-tools/gnulib-lib/libxml/c14n.in.h
+++ b/gettext-tools/gnulib-lib/libxml/c14n.in.h
@@ -2,30 +2,30 @@
* Summary: Provide Canonical XML and Exclusive XML Canonicalization
* Description: the c14n modules provides a
*
- * "Canonical XML" implementation
+ * "Canonical XML" implementation
* http://www.w3.org/TR/xml-c14n
- *
+ *
* and an
*
* "Exclusive XML Canonicalization" implementation
* http://www.w3.org/TR/xml-exc-c14n
-
+
* Copy: See Copyright for the status of this software.
- *
+ *
* Author: Aleksey Sanin <aleksey@aleksey.com>
*/
#ifndef __XML_C14N_H__
-#define __XML_C14N_H__
+#define __XML_C14N_H__
#ifdef LIBXML_C14N_ENABLED
#ifdef LIBXML_OUTPUT_ENABLED
#ifdef __cplusplus
extern "C" {
-#endif /* __cplusplus */
+#endif /* __cplusplus */
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
-#include <libxml/xpath.h>
+#include <libxml/xpath.h>
/*
* XML Canonicazation
@@ -37,44 +37,55 @@ extern "C" {
* Canonical form of an XML document could be created if and only if
* a) default attributes (if any) are added to all nodes
* b) all character and parsed entity references are resolved
- * In order to achive this in libxml2 the document MUST be loaded with
+ * In order to achive this in libxml2 the document MUST be loaded with
* following global setings:
- *
+ *
* xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
* xmlSubstituteEntitiesDefault(1);
*
* or corresponding parser context setting:
* xmlParserCtxtPtr ctxt;
- *
- * ...
+ *
+ * ...
* ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
* ctxt->replaceEntities = 1;
* ...
*/
+/*
+ * xmlC14NMode:
+ *
+ * Predefined values for C14N modes
+ *
+ */
+typedef enum {
+ XML_C14N_1_0 = 0, /* Origianal C14N 1.0 spec */
+ XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */
+ XML_C14N_1_1 = 2 /* C14N 1.1 spec */
+} xmlC14NMode;
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlC14NDocSaveTo (xmlDocPtr doc,
xmlNodeSetPtr nodes,
- int exclusive,
+ int mode, /* a xmlC14NMode */
xmlChar **inclusive_ns_prefixes,
- int with_comments,
+ int with_comments,
xmlOutputBufferPtr buf);
XMLPUBFUN int XMLCALL
xmlC14NDocDumpMemory (xmlDocPtr doc,
xmlNodeSetPtr nodes,
- int exclusive,
+ int mode, /* a xmlC14NMode */
xmlChar **inclusive_ns_prefixes,
- int with_comments,
+ int with_comments,
xmlChar **doc_txt_ptr);
XMLPUBFUN int XMLCALL
xmlC14NDocSave (xmlDocPtr doc,
xmlNodeSetPtr nodes,
- int exclusive,
+ int mode, /* a xmlC14NMode */
xmlChar **inclusive_ns_prefixes,
- int with_comments,
+ int with_comments,
const char* filename,
int compression);
@@ -82,17 +93,27 @@ XMLPUBFUN int XMLCALL
/**
* This is the core C14N function
*/
-typedef int (*xmlC14NIsVisibleCallback) (void* user_data,
+/**
+ * xmlC14NIsVisibleCallback:
+ * @user_data: user data
+ * @node: the curent node
+ * @parent: the parent node
+ *
+ * Signature for a C14N callback on visible nodes
+ *
+ * Returns 1 if the node should be included
+ */
+typedef int (*xmlC14NIsVisibleCallback) (void* user_data,
xmlNodePtr node,
xmlNodePtr parent);
XMLPUBFUN int XMLCALL
xmlC14NExecute (xmlDocPtr doc,
xmlC14NIsVisibleCallback is_visible_callback,
- void* user_data,
- int exclusive,
+ void* user_data,
+ int mode, /* a xmlC14NMode */
xmlChar **inclusive_ns_prefixes,
- int with_comments,
+ int with_comments,
xmlOutputBufferPtr buf);
#ifdef __cplusplus
diff --git a/gettext-tools/gnulib-lib/libxml/catalog.c b/gettext-tools/gnulib-lib/libxml/catalog.c
index 5456094..5773db3 100644
--- a/gettext-tools/gnulib-lib/libxml/catalog.c
+++ b/gettext-tools/gnulib-lib/libxml/catalog.c
@@ -1,5 +1,5 @@
/**
- * catalog.c: set of generic Catalog related routines
+ * catalog.c: set of generic Catalog related routines
*
* Reference: SGML Open Technical Resolution TR9401:1997.
* http://www.jclark.com/sp/catalog.htm
@@ -41,9 +41,17 @@
#include <libxml/threads.h>
#include <libxml/globals.h>
+#include "buf.h"
+
#define MAX_DELEGATE 50
#define MAX_CATAL_DEPTH 50
+#ifdef _WIN32
+# define PATH_SEAPARATOR ';'
+#else
+# define PATH_SEAPARATOR ':'
+#endif
+
/**
* TODO:
*
@@ -54,7 +62,7 @@
*> values "system" and "public". I have made the default be "system" to
*> match yours.
*/
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -71,9 +79,17 @@
#if defined(_WIN32) && defined(_MSC_VER)
#undef XML_XML_DEFAULT_CATALOG
static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog";
+#if defined(_WIN32_WCE)
+/* Windows CE don't have a A variant */
+#define GetModuleHandleA GetModuleHandle
+#define GetModuleFileNameA GetModuleFileName
+#else
+#if !defined(_WINDOWS_)
void* __stdcall GetModuleHandleA(const char*);
unsigned long __stdcall GetModuleFileNameA(void*, char*, unsigned long);
#endif
+#endif
+#endif
static xmlChar *xmlCatalogNormalizePublic(const xmlChar *pubID);
static int xmlExpandCatalog(xmlCatalogPtr catal, const char *filename);
@@ -194,7 +210,7 @@ static int xmlCatalogInitialized = 0;
/************************************************************************
* *
- * Catalog error handlers *
+ * Catalog error handlers *
* *
************************************************************************/
@@ -247,9 +263,9 @@ xmlCatalogErr(xmlCatalogEntryPtr catal, xmlNodePtr node, int error,
* @name: name of the entry
* @value: value of the entry
* @prefer: the PUBLIC vs. SYSTEM current preference value
- * @group: for members of a group, the group entry
+ * @group: for members of a group, the group entry
*
- * create a new Catalog entry, this type is shared both by XML and
+ * create a new Catalog entry, this type is shared both by XML and
* SGML catalogs, but the acceptable types values differs.
*
* Returns the xmlCatalogEntryPtr or NULL in case of error
@@ -387,7 +403,7 @@ xmlFreeCatalogHashEntryList(xmlCatalogEntryPtr catal) {
* @type: type of catalog
* @prefer: the PUBLIC vs. SYSTEM current preference value
*
- * create a new Catalog, this type is shared both by XML and
+ * create a new Catalog, this type is shared both by XML and
* SGML catalogs, but the acceptable types values differs.
*
* Returns the xmlCatalogPtr or NULL in case of error
@@ -555,7 +571,7 @@ static void xmlDumpXMLCatalogNode(xmlCatalogEntryPtr catal, xmlNodePtr catalog,
xns = xmlSearchNsByHref(doc, node, XML_XML_NAMESPACE);
if (xns != NULL)
xmlSetNsProp(node, xns, BAD_CAST "base",
- cur->value);
+ cur->value);
}
switch (cur->prefer) {
case XML_CATA_PREFER_NONE:
@@ -673,7 +689,7 @@ BAD_CAST "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd");
xmlAddChild((xmlNodePtr) doc, catalog);
xmlDumpXMLCatalogNode(catal, catalog, doc, ns, NULL);
-
+
/*
* reserialize it
*/
@@ -810,7 +826,7 @@ xmlCatalogUnWrapURN(const xmlChar *urn) {
if (xmlStrncmp(urn, BAD_CAST XML_URN_PUBID, sizeof(XML_URN_PUBID) - 1))
return(NULL);
urn += sizeof(XML_URN_PUBID) - 1;
-
+
while (*urn != 0) {
if (i > sizeof(result) - 4)
break;
@@ -900,10 +916,7 @@ xmlParseCatalogFile(const char *filename) {
inputStream->filename = (char *) xmlCanonicPath((const xmlChar *)filename);
inputStream->buf = buf;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end =
- &inputStream->buf->buffer->content[inputStream->buf->buffer->use];
+ xmlBufResetInput(buf->buffer, inputStream);
inputPush(ctxt, inputStream);
if ((ctxt->directory == NULL) && (directory == NULL))
@@ -926,7 +939,7 @@ xmlParseCatalogFile(const char *filename) {
ctxt->myDoc = NULL;
}
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -978,25 +991,27 @@ xmlLoadFileContent(const char *filename)
return (NULL);
}
#endif
- content = xmlMallocAtomic(size + 10);
+ content = (xmlChar*)xmlMallocAtomic(size + 10);
if (content == NULL) {
xmlCatalogErrMemory("allocating catalog data");
+#ifdef HAVE_STAT
+ close(fd);
+#else
+ fclose(fd);
+#endif
return (NULL);
}
#ifdef HAVE_STAT
len = read(fd, content, size);
+ close(fd);
#else
len = fread(content, 1, size, fd);
+ fclose(fd);
#endif
if (len < 0) {
xmlFree(content);
return (NULL);
}
-#ifdef HAVE_STAT
- close(fd);
-#else
- fclose(fd);
-#endif
content[len] = 0;
return(content);
@@ -1319,7 +1334,7 @@ xmlParseXMLCatalogNodeList(xmlNodePtr cur, xmlCatalogPrefer prefer,
*
* Parses the catalog file to extract the XML tree and then analyze the
* tree to build a list of Catalog entries corresponding to this catalog
- *
+ *
* Returns the resulting Catalog entries list
*/
static xmlCatalogEntryPtr
@@ -1387,19 +1402,17 @@ xmlParseXMLCatalogFile(xmlCatalogPrefer prefer, const xmlChar *filename) {
* @catal: an existing but incomplete catalog entry
*
* Fetch and parse the subcatalog referenced by an entry
- *
+ *
* Returns 0 in case of success, -1 otherwise
*/
static int
xmlFetchXMLCatalogFile(xmlCatalogEntryPtr catal) {
xmlCatalogEntryPtr doc;
- if (catal == NULL)
+ if (catal == NULL)
return(-1);
if (catal->URL == NULL)
return(-1);
- if (catal->children != NULL)
- return(-1);
/*
* lock the whole catalog for modification
@@ -1488,7 +1501,7 @@ xmlAddXMLCatalog(xmlCatalogEntryPtr catal, const xmlChar *type,
xmlCatalogEntryType typ;
int doregister = 0;
- if ((catal == NULL) ||
+ if ((catal == NULL) ||
((catal->type != XML_CATA_CATALOG) &&
(catal->type != XML_CATA_BROKEN_CATALOG)))
return(-1);
@@ -1541,7 +1554,7 @@ xmlAddXMLCatalog(xmlCatalogEntryPtr catal, const xmlChar *type,
NULL, catal->prefer, NULL);
if (doregister) {
catal->type = XML_CATA_CATALOG;
- cur = xmlHashLookup(xmlCatalogXMLFiles, catal->URL);
+ cur = (xmlCatalogEntryPtr)xmlHashLookup(xmlCatalogXMLFiles, catal->URL);
if (cur != NULL)
cur->children = catal->children;
}
@@ -1564,7 +1577,7 @@ xmlDelXMLCatalog(xmlCatalogEntryPtr catal, const xmlChar *value) {
xmlCatalogEntryPtr cur;
int ret = 0;
- if ((catal == NULL) ||
+ if ((catal == NULL) ||
((catal->type != XML_CATA_CATALOG) &&
(catal->type != XML_CATA_BROKEN_CATALOG)))
return(-1);
@@ -1779,7 +1792,7 @@ xmlCatalogXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID,
}
if (nbList < MAX_DELEGATE)
delegates[nbList++] = cur->URL;
-
+
if (cur->children == NULL) {
xmlFetchXMLCatalogFile(cur);
}
@@ -1816,6 +1829,8 @@ xmlCatalogXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID,
if (ret != NULL) {
catal->depth--;
return(ret);
+ } else if (catal->depth > MAX_CATAL_DEPTH) {
+ return(NULL);
}
}
}
@@ -1856,6 +1871,13 @@ xmlCatalogXMLResolveURI(xmlCatalogEntryPtr catal, const xmlChar *URI) {
if (URI == NULL)
return(NULL);
+ if (catal->depth > MAX_CATAL_DEPTH) {
+ xmlCatalogErr(catal, NULL, XML_CATALOG_RECURSION,
+ "Detected recursion in catalog %s\n",
+ catal->name, NULL, NULL);
+ return(NULL);
+ }
+
/*
* First tries steps 2/ 3/ 4/ if a system ID is provided.
*/
@@ -1983,7 +2005,7 @@ xmlCatalogListXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID,
xmlChar *ret = NULL;
xmlChar *urnID = NULL;
xmlChar *normid;
-
+
if (catal == NULL)
return(NULL);
if ((pubID == NULL) && (sysID == NULL))
@@ -1992,7 +2014,7 @@ xmlCatalogListXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID,
normid = xmlCatalogNormalizePublic(pubID);
if (normid != NULL)
pubID = (*normid != 0 ? normid : NULL);
-
+
if (!xmlStrncmp(pubID, BAD_CAST XML_URN_PUBID, sizeof(XML_URN_PUBID) - 1)) {
urnID = xmlCatalogUnWrapURN(pubID);
if (xmlDebugCatalogs) {
@@ -2041,16 +2063,18 @@ xmlCatalogListXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID,
if (catal->children != NULL) {
ret = xmlCatalogXMLResolve(catal->children, pubID, sysID);
if (ret != NULL) {
- if (normid != NULL)
- xmlFree(normid);
- return(ret);
- }
+ break;
+ } else if ((catal->children != NULL) &&
+ (catal->children->depth > MAX_CATAL_DEPTH)) {
+ ret = NULL;
+ break;
+ }
}
}
catal = catal->next;
}
- if (normid != NULL)
- xmlFree(normid);
+ if (normid != NULL)
+ xmlFree(normid);
return(ret);
}
@@ -2070,7 +2094,7 @@ static xmlChar *
xmlCatalogListXMLResolveURI(xmlCatalogEntryPtr catal, const xmlChar *URI) {
xmlChar *ret = NULL;
xmlChar *urnID = NULL;
-
+
if (catal == NULL)
return(NULL);
if (URI == NULL)
@@ -2130,7 +2154,7 @@ xmlCatalogListXMLResolveURI(xmlCatalogEntryPtr catal, const xmlChar *URI) {
*/
static const xmlChar *
xmlParseSGMLCatalogComment(const xmlChar *cur) {
- if ((cur[0] != '-') || (cur[1] != '-'))
+ if ((cur[0] != '-') || (cur[1] != '-'))
return(cur);
SKIP(2);
while ((cur[0] != 0) && ((cur[0] != '-') || ((cur[1] != '-'))))
@@ -2593,6 +2617,8 @@ xmlCatalogSGMLResolve(xmlCatalogPtr catal, const xmlChar *pubID,
return(ret);
if (sysID != NULL)
ret = xmlCatalogGetSGMLSystem(catal->sgml, sysID);
+ if (ret != NULL)
+ return(ret);
return(NULL);
}
@@ -2663,7 +2689,7 @@ xmlLoadACatalog(const char *filename)
first = content;
-
+
while ((*first != 0) && (*first != '-') && (*first != '<') &&
(!(((*first >= 'A') && (*first <= 'Z')) ||
((*first >= 'a') && (*first <= 'z')))))
@@ -2758,7 +2784,7 @@ xmlACatalogResolveSystem(xmlCatalogPtr catal, const xmlChar *sysID) {
if ((sysID == NULL) || (catal == NULL))
return(NULL);
-
+
if (xmlDebugCatalogs)
xmlGenericError(xmlGenericErrorContext,
"Resolve sysID %s\n", sysID);
@@ -2793,7 +2819,7 @@ xmlACatalogResolvePublic(xmlCatalogPtr catal, const xmlChar *pubID) {
if ((pubID == NULL) || (catal == NULL))
return(NULL);
-
+
if (xmlDebugCatalogs)
xmlGenericError(xmlGenericErrorContext,
"Resolve pubID %s\n", pubID);
@@ -2889,7 +2915,7 @@ xmlACatalogResolveURI(xmlCatalogPtr catal, const xmlChar *URI) {
sgml = xmlCatalogSGMLResolve(catal, NULL, URI);
if (sgml != NULL)
- sgml = xmlStrdup(sgml);
+ ret = xmlStrdup(sgml);
}
return(ret);
}
@@ -2912,7 +2938,7 @@ xmlACatalogDump(xmlCatalogPtr catal, FILE *out) {
} else {
xmlHashScan(catal->sgml,
(xmlHashScanner) xmlCatalogDumpEntry, out);
- }
+ }
}
#endif /* LIBXML_OUTPUT_ENABLED */
@@ -2920,7 +2946,7 @@ xmlACatalogDump(xmlCatalogPtr catal, FILE *out) {
* xmlACatalogAdd:
* @catal: a Catalog
* @type: the type of record to add to the catalog
- * @orig: the system, public or prefix to match
+ * @orig: the system, public or prefix to match
* @replace: the replacement value for the match
*
* Add an entry in the catalog, it may overwrite existing but
@@ -2979,7 +3005,7 @@ xmlACatalogRemove(xmlCatalogPtr catal, const xmlChar *value) {
(xmlHashDeallocator) xmlFreeCatalogEntry);
if (res == 0)
res = 1;
- }
+ }
return(res);
}
@@ -3038,7 +3064,7 @@ xmlCatalogIsEmpty(xmlCatalogPtr catal) {
return(1);
if (res < 0)
return(-1);
- }
+ }
return(0);
}
@@ -3061,7 +3087,7 @@ xmlInitializeCatalogData(void) {
if (xmlCatalogInitialized != 0)
return;
- if (getenv("XML_DEBUG_CATALOG"))
+ if (getenv("XML_DEBUG_CATALOG"))
xmlDebugCatalogs = 1;
xmlCatalogMutex = xmlNewRMutex();
@@ -3082,7 +3108,7 @@ xmlInitializeCatalog(void) {
xmlInitializeCatalogData();
xmlRMutexLock(xmlCatalogMutex);
- if (getenv("XML_DEBUG_CATALOG"))
+ if (getenv("XML_DEBUG_CATALOG"))
xmlDebugCatalogs = 1;
if (xmlDefaultCatalog == NULL) {
@@ -3105,12 +3131,12 @@ xmlInitializeCatalog(void) {
unsigned long len = GetModuleFileNameA(hmodule, buf, 255);
if (len != 0) {
char* p = &(buf[len]);
- while (*p != '\\' && p > buf)
+ while (*p != '\\' && p > buf)
p--;
if (p != buf) {
xmlChar* uri;
strncpy(p, "\\..\\etc\\catalog", 255 - (p - buf));
- uri = xmlCanonicPath(buf);
+ uri = xmlCanonicPath((const xmlChar*)buf);
if (uri != NULL) {
strncpy(XML_XML_DEFAULT_CATALOG, uri, 255);
xmlFree(uri);
@@ -3124,15 +3150,15 @@ xmlInitializeCatalog(void) {
catalogs = XML_XML_DEFAULT_CATALOG;
#endif
- catal = xmlCreateNewCatalog(XML_XML_CATALOG_TYPE,
+ catal = xmlCreateNewCatalog(XML_XML_CATALOG_TYPE,
xmlCatalogDefaultPrefer);
if (catal != NULL) {
- /* the XML_CATALOG_FILES envvar is allowed to contain a
+ /* the XML_CATALOG_FILES envvar is allowed to contain a
space-separated list of entries. */
cur = catalogs;
nextent = &catal->xml;
while (*cur != '\0') {
- while (xmlIsBlank_ch(*cur))
+ while (xmlIsBlank_ch(*cur))
cur++;
if (*cur != 0) {
paths = cur;
@@ -3209,6 +3235,9 @@ xmlLoadCatalogs(const char *pathss) {
const char *cur;
const char *paths;
xmlChar *path;
+#ifdef _WIN32
+ int i, iLen;
+#endif
if (pathss == NULL)
return;
@@ -3218,15 +3247,23 @@ xmlLoadCatalogs(const char *pathss) {
while (xmlIsBlank_ch(*cur)) cur++;
if (*cur != 0) {
paths = cur;
- while ((*cur != 0) && (*cur != ':') && (!xmlIsBlank_ch(*cur)))
+ while ((*cur != 0) && (*cur != PATH_SEAPARATOR) && (!xmlIsBlank_ch(*cur)))
cur++;
path = xmlStrndup((const xmlChar *)paths, cur - paths);
+#ifdef _WIN32
+ iLen = strlen((const char*)path);
+ for(i = 0; i < iLen; i++) {
+ if(path[i] == '\\') {
+ path[i] = '/';
+ }
+ }
+#endif
if (path != NULL) {
xmlLoadCatalog((const char *) path);
xmlFree(path);
}
}
- while (*cur == ':')
+ while (*cur == PATH_SEAPARATOR)
cur++;
}
}
@@ -3246,7 +3283,7 @@ xmlCatalogCleanup(void) {
xmlGenericError(xmlGenericErrorContext,
"Catalogs cleanup\n");
if (xmlCatalogXMLFiles != NULL)
- xmlHashFree(xmlCatalogXMLFiles,
+ xmlHashFree(xmlCatalogXMLFiles,
(xmlHashDeallocator)xmlFreeCatalogHashEntryList);
xmlCatalogXMLFiles = NULL;
if (xmlDefaultCatalog != NULL)
@@ -3361,7 +3398,7 @@ xmlCatalogDump(FILE *out) {
/**
* xmlCatalogAdd:
* @type: the type of record to add to the catalog
- * @orig: the system, public or prefix to match
+ * @orig: the system, public or prefix to match
* @replace: the replacement value for the match
*
* Add an entry in the catalog, it may overwrite existing but
@@ -3392,7 +3429,7 @@ xmlCatalogAdd(const xmlChar *type, const xmlChar *orig, const xmlChar *replace)
xmlRMutexUnlock(xmlCatalogMutex);
return(0);
- }
+ }
res = xmlACatalogAdd(xmlDefaultCatalog, type, orig, replace);
xmlRMutexUnlock(xmlCatalogMutex);
@@ -3518,8 +3555,8 @@ xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer) {
xmlGenericError(xmlGenericErrorContext,
"Setting catalog preference to SYSTEM\n");
break;
- case XML_CATA_PREFER_NONE:
- break;
+ default:
+ return(ret);
}
}
xmlCatalogDefaultPrefer = prefer;
@@ -3580,7 +3617,7 @@ xmlCatalogFreeLocal(void *catalogs) {
*
* Returns the updated list
*/
-void *
+void *
xmlCatalogAddLocal(void *catalogs, const xmlChar *URL) {
xmlCatalogEntryPtr catal, add;
@@ -3600,7 +3637,7 @@ xmlCatalogAddLocal(void *catalogs, const xmlChar *URL) {
return(catalogs);
catal = (xmlCatalogEntryPtr) catalogs;
- if (catal == NULL)
+ if (catal == NULL)
return((void *) add);
while (catal->next != NULL)
@@ -3615,7 +3652,7 @@ xmlCatalogAddLocal(void *catalogs, const xmlChar *URL) {
* @pubID: the public ID string
* @sysID: the system ID string
*
- * Do a complete resolution lookup of an External Identifier using a
+ * Do a complete resolution lookup of an External Identifier using a
* document's private catalog list
*
* Returns the URI of the resource or NULL if not found, it must be freed
@@ -3660,7 +3697,7 @@ xmlCatalogLocalResolve(void *catalogs, const xmlChar *pubID,
* @catalogs: a document's list of catalogs
* @URI: the URI
*
- * Do a complete resolution lookup of an URI using a
+ * Do a complete resolution lookup of an URI using a
* document's private catalog list
*
* Returns the URI of the resource or NULL if not found, it must be freed
@@ -3721,7 +3758,7 @@ xmlCatalogGetSystem(const xmlChar *sysID) {
if (sysID == NULL)
return(NULL);
-
+
/*
* Check first the XML catalogs
*/
@@ -3765,7 +3802,7 @@ xmlCatalogGetPublic(const xmlChar *pubID) {
if (pubID == NULL)
return(NULL);
-
+
/*
* Check first the XML catalogs
*/
diff --git a/gettext-tools/gnulib-lib/libxml/catalog.in.h b/gettext-tools/gnulib-lib/libxml/catalog.in.h
index b444137..5a13f51 100644
--- a/gettext-tools/gnulib-lib/libxml/catalog.in.h
+++ b/gettext-tools/gnulib-lib/libxml/catalog.in.h
@@ -68,111 +68,111 @@ typedef xmlCatalog *xmlCatalogPtr;
*/
XMLPUBFUN xmlCatalogPtr XMLCALL
xmlNewCatalog (int sgml);
-XMLPUBFUN xmlCatalogPtr XMLCALL
+XMLPUBFUN xmlCatalogPtr XMLCALL
xmlLoadACatalog (const char *filename);
-XMLPUBFUN xmlCatalogPtr XMLCALL
+XMLPUBFUN xmlCatalogPtr XMLCALL
xmlLoadSGMLSuperCatalog (const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlConvertSGMLCatalog (xmlCatalogPtr catal);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlACatalogAdd (xmlCatalogPtr catal,
const xmlChar *type,
const xmlChar *orig,
const xmlChar *replace);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlACatalogRemove (xmlCatalogPtr catal,
const xmlChar *value);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlACatalogResolve (xmlCatalogPtr catal,
const xmlChar *pubID,
const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlACatalogResolveSystem(xmlCatalogPtr catal,
const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlACatalogResolvePublic(xmlCatalogPtr catal,
const xmlChar *pubID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlACatalogResolveURI (xmlCatalogPtr catal,
const xmlChar *URI);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlACatalogDump (xmlCatalogPtr catal,
FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeCatalog (xmlCatalogPtr catal);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCatalogIsEmpty (xmlCatalogPtr catal);
/*
* Global operations.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlInitializeCatalog (void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlLoadCatalog (const char *filename);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlLoadCatalogs (const char *paths);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCatalogCleanup (void);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCatalogDump (FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlCatalogResolve (const xmlChar *pubID,
const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlCatalogResolveSystem (const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlCatalogResolvePublic (const xmlChar *pubID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlCatalogResolveURI (const xmlChar *URI);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCatalogAdd (const xmlChar *type,
const xmlChar *orig,
const xmlChar *replace);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCatalogRemove (const xmlChar *value);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlParseCatalogFile (const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCatalogConvert (void);
/*
* Strictly minimal interfaces for per-document catalogs used
* by the parser.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCatalogFreeLocal (void *catalogs);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlCatalogAddLocal (void *catalogs,
const xmlChar *URL);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlCatalogLocalResolve (void *catalogs,
const xmlChar *pubID,
const xmlChar *sysID);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlCatalogLocalResolveURI(void *catalogs,
const xmlChar *URI);
/*
* Preference settings.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCatalogSetDebug (int level);
-XMLPUBFUN xmlCatalogPrefer XMLCALL
+XMLPUBFUN xmlCatalogPrefer XMLCALL
xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCatalogSetDefaults (xmlCatalogAllow allow);
-XMLPUBFUN xmlCatalogAllow XMLCALL
+XMLPUBFUN xmlCatalogAllow XMLCALL
xmlCatalogGetDefaults (void);
/* DEPRECATED interfaces */
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlCatalogGetSystem (const xmlChar *sysID);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlCatalogGetPublic (const xmlChar *pubID);
#ifdef __cplusplus
diff --git a/gettext-tools/gnulib-lib/libxml/chvalid.c b/gettext-tools/gnulib-lib/libxml/chvalid.c
index 00dd962..06e8db0 100644
--- a/gettext-tools/gnulib-lib/libxml/chvalid.c
+++ b/gettext-tools/gnulib-lib/libxml/chvalid.c
@@ -46,109 +46,109 @@ const unsigned char xmlIsPubidChar_tab[256] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 };
-static const xmlChSRange xmlIsBaseChar_srng[] = { {0x100, 0x131},
- {0x134, 0x13e}, {0x141, 0x148}, {0x14a, 0x17e}, {0x180, 0x1c3},
- {0x1cd, 0x1f0}, {0x1f4, 0x1f5}, {0x1fa, 0x217}, {0x250, 0x2a8},
- {0x2bb, 0x2c1}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c},
- {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3d6}, {0x3da, 0x3da},
- {0x3dc, 0x3dc}, {0x3de, 0x3de}, {0x3e0, 0x3e0}, {0x3e2, 0x3f3},
- {0x401, 0x40c}, {0x40e, 0x44f}, {0x451, 0x45c}, {0x45e, 0x481},
- {0x490, 0x4c4}, {0x4c7, 0x4c8}, {0x4cb, 0x4cc}, {0x4d0, 0x4eb},
- {0x4ee, 0x4f5}, {0x4f8, 0x4f9}, {0x531, 0x556}, {0x559, 0x559},
- {0x561, 0x586}, {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a},
- {0x641, 0x64a}, {0x671, 0x6b7}, {0x6ba, 0x6be}, {0x6c0, 0x6ce},
- {0x6d0, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x905, 0x939},
- {0x93d, 0x93d}, {0x958, 0x961}, {0x985, 0x98c}, {0x98f, 0x990},
- {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9},
- {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a},
- {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33},
- {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
- {0xa72, 0xa74}, {0xa85, 0xa8b}, {0xa8d, 0xa8d}, {0xa8f, 0xa91},
- {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9},
- {0xabd, 0xabd}, {0xae0, 0xae0}, {0xb05, 0xb0c}, {0xb0f, 0xb10},
- {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb36, 0xb39},
- {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb85, 0xb8a},
- {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c},
- {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb5},
- {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28},
- {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, {0xc85, 0xc8c},
- {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9},
- {0xcde, 0xcde}, {0xce0, 0xce1}, {0xd05, 0xd0c}, {0xd0e, 0xd10},
- {0xd12, 0xd28}, {0xd2a, 0xd39}, {0xd60, 0xd61}, {0xe01, 0xe2e},
- {0xe30, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe45}, {0xe81, 0xe82},
- {0xe84, 0xe84}, {0xe87, 0xe88}, {0xe8a, 0xe8a}, {0xe8d, 0xe8d},
- {0xe94, 0xe97}, {0xe99, 0xe9f}, {0xea1, 0xea3}, {0xea5, 0xea5},
- {0xea7, 0xea7}, {0xeaa, 0xeab}, {0xead, 0xeae}, {0xeb0, 0xeb0},
- {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xf40, 0xf47},
- {0xf49, 0xf69}, {0x10a0, 0x10c5}, {0x10d0, 0x10f6}, {0x1100, 0x1100},
- {0x1102, 0x1103}, {0x1105, 0x1107}, {0x1109, 0x1109}, {0x110b, 0x110c},
- {0x110e, 0x1112}, {0x113c, 0x113c}, {0x113e, 0x113e}, {0x1140, 0x1140},
- {0x114c, 0x114c}, {0x114e, 0x114e}, {0x1150, 0x1150}, {0x1154, 0x1155},
- {0x1159, 0x1159}, {0x115f, 0x1161}, {0x1163, 0x1163}, {0x1165, 0x1165},
- {0x1167, 0x1167}, {0x1169, 0x1169}, {0x116d, 0x116e}, {0x1172, 0x1173},
- {0x1175, 0x1175}, {0x119e, 0x119e}, {0x11a8, 0x11a8}, {0x11ab, 0x11ab},
- {0x11ae, 0x11af}, {0x11b7, 0x11b8}, {0x11ba, 0x11ba}, {0x11bc, 0x11c2},
- {0x11eb, 0x11eb}, {0x11f0, 0x11f0}, {0x11f9, 0x11f9}, {0x1e00, 0x1e9b},
- {0x1ea0, 0x1ef9}, {0x1f00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45},
- {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b},
- {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc},
- {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3},
- {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc},
- {0x2126, 0x2126}, {0x212a, 0x212b}, {0x212e, 0x212e}, {0x2180, 0x2182},
+static const xmlChSRange xmlIsBaseChar_srng[] = { {0x100, 0x131},
+ {0x134, 0x13e}, {0x141, 0x148}, {0x14a, 0x17e}, {0x180, 0x1c3},
+ {0x1cd, 0x1f0}, {0x1f4, 0x1f5}, {0x1fa, 0x217}, {0x250, 0x2a8},
+ {0x2bb, 0x2c1}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c},
+ {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3d6}, {0x3da, 0x3da},
+ {0x3dc, 0x3dc}, {0x3de, 0x3de}, {0x3e0, 0x3e0}, {0x3e2, 0x3f3},
+ {0x401, 0x40c}, {0x40e, 0x44f}, {0x451, 0x45c}, {0x45e, 0x481},
+ {0x490, 0x4c4}, {0x4c7, 0x4c8}, {0x4cb, 0x4cc}, {0x4d0, 0x4eb},
+ {0x4ee, 0x4f5}, {0x4f8, 0x4f9}, {0x531, 0x556}, {0x559, 0x559},
+ {0x561, 0x586}, {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a},
+ {0x641, 0x64a}, {0x671, 0x6b7}, {0x6ba, 0x6be}, {0x6c0, 0x6ce},
+ {0x6d0, 0x6d3}, {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x905, 0x939},
+ {0x93d, 0x93d}, {0x958, 0x961}, {0x985, 0x98c}, {0x98f, 0x990},
+ {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9},
+ {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a},
+ {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33},
+ {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
+ {0xa72, 0xa74}, {0xa85, 0xa8b}, {0xa8d, 0xa8d}, {0xa8f, 0xa91},
+ {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9},
+ {0xabd, 0xabd}, {0xae0, 0xae0}, {0xb05, 0xb0c}, {0xb0f, 0xb10},
+ {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb36, 0xb39},
+ {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb85, 0xb8a},
+ {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c},
+ {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb5},
+ {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28},
+ {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, {0xc85, 0xc8c},
+ {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9},
+ {0xcde, 0xcde}, {0xce0, 0xce1}, {0xd05, 0xd0c}, {0xd0e, 0xd10},
+ {0xd12, 0xd28}, {0xd2a, 0xd39}, {0xd60, 0xd61}, {0xe01, 0xe2e},
+ {0xe30, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe45}, {0xe81, 0xe82},
+ {0xe84, 0xe84}, {0xe87, 0xe88}, {0xe8a, 0xe8a}, {0xe8d, 0xe8d},
+ {0xe94, 0xe97}, {0xe99, 0xe9f}, {0xea1, 0xea3}, {0xea5, 0xea5},
+ {0xea7, 0xea7}, {0xeaa, 0xeab}, {0xead, 0xeae}, {0xeb0, 0xeb0},
+ {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xf40, 0xf47},
+ {0xf49, 0xf69}, {0x10a0, 0x10c5}, {0x10d0, 0x10f6}, {0x1100, 0x1100},
+ {0x1102, 0x1103}, {0x1105, 0x1107}, {0x1109, 0x1109}, {0x110b, 0x110c},
+ {0x110e, 0x1112}, {0x113c, 0x113c}, {0x113e, 0x113e}, {0x1140, 0x1140},
+ {0x114c, 0x114c}, {0x114e, 0x114e}, {0x1150, 0x1150}, {0x1154, 0x1155},
+ {0x1159, 0x1159}, {0x115f, 0x1161}, {0x1163, 0x1163}, {0x1165, 0x1165},
+ {0x1167, 0x1167}, {0x1169, 0x1169}, {0x116d, 0x116e}, {0x1172, 0x1173},
+ {0x1175, 0x1175}, {0x119e, 0x119e}, {0x11a8, 0x11a8}, {0x11ab, 0x11ab},
+ {0x11ae, 0x11af}, {0x11b7, 0x11b8}, {0x11ba, 0x11ba}, {0x11bc, 0x11c2},
+ {0x11eb, 0x11eb}, {0x11f0, 0x11f0}, {0x11f9, 0x11f9}, {0x1e00, 0x1e9b},
+ {0x1ea0, 0x1ef9}, {0x1f00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45},
+ {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b},
+ {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc},
+ {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3},
+ {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc},
+ {0x2126, 0x2126}, {0x212a, 0x212b}, {0x212e, 0x212e}, {0x2180, 0x2182},
{0x3041, 0x3094}, {0x30a1, 0x30fa}, {0x3105, 0x312c}, {0xac00, 0xd7a3}};
const xmlChRangeGroup xmlIsBaseCharGroup =
{197, 0, xmlIsBaseChar_srng, (xmlChLRangePtr)0};
-static const xmlChSRange xmlIsChar_srng[] = { {0x100, 0xd7ff},
+static const xmlChSRange xmlIsChar_srng[] = { {0x100, 0xd7ff},
{0xe000, 0xfffd}};
static const xmlChLRange xmlIsChar_lrng[] = { {0x10000, 0x10ffff}};
const xmlChRangeGroup xmlIsCharGroup =
{2, 1, xmlIsChar_srng, xmlIsChar_lrng};
-static const xmlChSRange xmlIsCombining_srng[] = { {0x300, 0x345},
- {0x360, 0x361}, {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9},
- {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4},
- {0x64b, 0x652}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6dd, 0x6df},
- {0x6e0, 0x6e4}, {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x901, 0x903},
- {0x93c, 0x93c}, {0x93e, 0x94c}, {0x94d, 0x94d}, {0x951, 0x954},
- {0x962, 0x963}, {0x981, 0x983}, {0x9bc, 0x9bc}, {0x9be, 0x9be},
- {0x9bf, 0x9bf}, {0x9c0, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9cd},
- {0x9d7, 0x9d7}, {0x9e2, 0x9e3}, {0xa02, 0xa02}, {0xa3c, 0xa3c},
- {0xa3e, 0xa3e}, {0xa3f, 0xa3f}, {0xa40, 0xa42}, {0xa47, 0xa48},
- {0xa4b, 0xa4d}, {0xa70, 0xa71}, {0xa81, 0xa83}, {0xabc, 0xabc},
- {0xabe, 0xac5}, {0xac7, 0xac9}, {0xacb, 0xacd}, {0xb01, 0xb03},
- {0xb3c, 0xb3c}, {0xb3e, 0xb43}, {0xb47, 0xb48}, {0xb4b, 0xb4d},
- {0xb56, 0xb57}, {0xb82, 0xb83}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8},
- {0xbca, 0xbcd}, {0xbd7, 0xbd7}, {0xc01, 0xc03}, {0xc3e, 0xc44},
- {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc82, 0xc83},
- {0xcbe, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6},
- {0xd02, 0xd03}, {0xd3e, 0xd43}, {0xd46, 0xd48}, {0xd4a, 0xd4d},
- {0xd57, 0xd57}, {0xe31, 0xe31}, {0xe34, 0xe3a}, {0xe47, 0xe4e},
- {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, {0xebb, 0xebc}, {0xec8, 0xecd},
- {0xf18, 0xf19}, {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39},
- {0xf3e, 0xf3e}, {0xf3f, 0xf3f}, {0xf71, 0xf84}, {0xf86, 0xf8b},
- {0xf90, 0xf95}, {0xf97, 0xf97}, {0xf99, 0xfad}, {0xfb1, 0xfb7},
- {0xfb9, 0xfb9}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, {0x302a, 0x302f},
+static const xmlChSRange xmlIsCombining_srng[] = { {0x300, 0x345},
+ {0x360, 0x361}, {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9},
+ {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4},
+ {0x64b, 0x652}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6dd, 0x6df},
+ {0x6e0, 0x6e4}, {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x901, 0x903},
+ {0x93c, 0x93c}, {0x93e, 0x94c}, {0x94d, 0x94d}, {0x951, 0x954},
+ {0x962, 0x963}, {0x981, 0x983}, {0x9bc, 0x9bc}, {0x9be, 0x9be},
+ {0x9bf, 0x9bf}, {0x9c0, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9cd},
+ {0x9d7, 0x9d7}, {0x9e2, 0x9e3}, {0xa02, 0xa02}, {0xa3c, 0xa3c},
+ {0xa3e, 0xa3e}, {0xa3f, 0xa3f}, {0xa40, 0xa42}, {0xa47, 0xa48},
+ {0xa4b, 0xa4d}, {0xa70, 0xa71}, {0xa81, 0xa83}, {0xabc, 0xabc},
+ {0xabe, 0xac5}, {0xac7, 0xac9}, {0xacb, 0xacd}, {0xb01, 0xb03},
+ {0xb3c, 0xb3c}, {0xb3e, 0xb43}, {0xb47, 0xb48}, {0xb4b, 0xb4d},
+ {0xb56, 0xb57}, {0xb82, 0xb83}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8},
+ {0xbca, 0xbcd}, {0xbd7, 0xbd7}, {0xc01, 0xc03}, {0xc3e, 0xc44},
+ {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc82, 0xc83},
+ {0xcbe, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6},
+ {0xd02, 0xd03}, {0xd3e, 0xd43}, {0xd46, 0xd48}, {0xd4a, 0xd4d},
+ {0xd57, 0xd57}, {0xe31, 0xe31}, {0xe34, 0xe3a}, {0xe47, 0xe4e},
+ {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, {0xebb, 0xebc}, {0xec8, 0xecd},
+ {0xf18, 0xf19}, {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39},
+ {0xf3e, 0xf3e}, {0xf3f, 0xf3f}, {0xf71, 0xf84}, {0xf86, 0xf8b},
+ {0xf90, 0xf95}, {0xf97, 0xf97}, {0xf99, 0xfad}, {0xfb1, 0xfb7},
+ {0xfb9, 0xfb9}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, {0x302a, 0x302f},
{0x3099, 0x3099}, {0x309a, 0x309a}};
const xmlChRangeGroup xmlIsCombiningGroup =
{95, 0, xmlIsCombining_srng, (xmlChLRangePtr)0};
-static const xmlChSRange xmlIsDigit_srng[] = { {0x660, 0x669},
- {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f},
- {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f},
- {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9},
+static const xmlChSRange xmlIsDigit_srng[] = { {0x660, 0x669},
+ {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f},
+ {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f},
+ {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9},
{0xf20, 0xf29}};
const xmlChRangeGroup xmlIsDigitGroup =
{14, 0, xmlIsDigit_srng, (xmlChLRangePtr)0};
-static const xmlChSRange xmlIsExtender_srng[] = { {0x2d0, 0x2d0},
- {0x2d1, 0x2d1}, {0x387, 0x387}, {0x640, 0x640}, {0xe46, 0xe46},
- {0xec6, 0xec6}, {0x3005, 0x3005}, {0x3031, 0x3035}, {0x309d, 0x309e},
+static const xmlChSRange xmlIsExtender_srng[] = { {0x2d0, 0x2d0},
+ {0x2d1, 0x2d1}, {0x387, 0x387}, {0x640, 0x640}, {0xe46, 0xe46},
+ {0xec6, 0xec6}, {0x3005, 0x3005}, {0x3031, 0x3035}, {0x309d, 0x309e},
{0x30fc, 0x30fe}};
const xmlChRangeGroup xmlIsExtenderGroup =
{10, 0, xmlIsExtender_srng, (xmlChLRangePtr)0};
-static const xmlChSRange xmlIsIdeographic_srng[] = { {0x3007, 0x3007},
+static const xmlChSRange xmlIsIdeographic_srng[] = { {0x3007, 0x3007},
{0x3021, 0x3029}, {0x4e00, 0x9fa5}};
const xmlChRangeGroup xmlIsIdeographicGroup =
{3, 0, xmlIsIdeographic_srng, (xmlChLRangePtr)0};
diff --git a/gettext-tools/gnulib-lib/libxml/debugXML.c b/gettext-tools/gnulib-lib/libxml/debugXML.c
index 3985ad3..b05fdff 100644
--- a/gettext-tools/gnulib-lib/libxml/debugXML.c
+++ b/gettext-tools/gnulib-lib/libxml/debugXML.c
@@ -85,7 +85,7 @@ xmlCtxtDumpCleanCtxt(xmlDebugCtxtPtr ctxt ATTRIBUTE_UNUSED)
*
* Check that a given namespace is in scope on a node.
*
- * Returns 1 if in scope, -1 in case of argument error,
+ * Returns 1 if in scope, -1 in case of argument error,
* -2 if the namespace is not in scope, and -3 if not on
* an ancestor node.
*/
@@ -141,9 +141,9 @@ xmlCtxtDumpSpaces(xmlDebugCtxtPtr ctxt)
return;
if ((ctxt->output != NULL) && (ctxt->depth > 0)) {
if (ctxt->depth < 50)
- fprintf(ctxt->output, &ctxt->shift[100 - 2 * ctxt->depth]);
+ fprintf(ctxt->output, "%s", &ctxt->shift[100 - 2 * ctxt->depth]);
else
- fprintf(ctxt->output, ctxt->shift);
+ fprintf(ctxt->output, "%s", ctxt->shift);
}
}
@@ -162,7 +162,7 @@ xmlDebugErr(xmlDebugCtxtPtr ctxt, int error, const char *msg)
NULL, ctxt->node, XML_FROM_CHECK,
error, XML_ERR_ERROR, NULL, 0,
NULL, NULL, NULL, 0, 0,
- msg);
+ "%s", msg);
}
static void
xmlDebugErr2(xmlDebugCtxtPtr ctxt, int error, const char *msg, int extra)
@@ -254,12 +254,16 @@ xmlCtxtCheckName(xmlDebugCtxtPtr ctxt, const xmlChar * name)
xmlDebugErr(ctxt, XML_CHECK_NO_NAME, "Name is NULL");
return;
}
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
if (xmlValidateName(name, 0)) {
xmlDebugErr3(ctxt, XML_CHECK_NOT_NCNAME,
"Name is not an NCName '%s'", (const char *) name);
}
+#endif
if ((ctxt->dict != NULL) &&
- (!xmlDictOwns(ctxt->dict, name))) {
+ (!xmlDictOwns(ctxt->dict, name)) &&
+ ((ctxt->doc == NULL) ||
+ ((ctxt->doc->parseFlags & (XML_PARSE_SAX1 | XML_PARSE_NODICT)) == 0))) {
xmlDebugErr3(ctxt, XML_CHECK_OUTSIDE_DICT,
"Name is not from the document dictionnary '%s'",
(const char *) name);
@@ -309,7 +313,7 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
(node != (xmlNodePtr) node->parent->properties))
xmlDebugErr(ctxt, XML_CHECK_NO_PREV,
"Attr has no prev and not first of attr list\n");
-
+
} else if ((node->parent != NULL) && (node->parent->children != node))
xmlDebugErr(ctxt, XML_CHECK_NO_PREV,
"Node has no prev and not first of parent list\n");
@@ -320,7 +324,8 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
}
if (node->next == NULL) {
if ((node->parent != NULL) && (node->type != XML_ATTRIBUTE_NODE) &&
- (node->parent->last != node))
+ (node->parent->last != node) &&
+ (node->parent->type == XML_ELEMENT_NODE))
xmlDebugErr(ctxt, XML_CHECK_NO_NEXT,
"Node has no next and not last of parent list\n");
} else {
@@ -351,7 +356,6 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
(node->type != XML_ELEMENT_DECL) &&
(node->type != XML_ATTRIBUTE_DECL) &&
(node->type != XML_DTD_NODE) &&
- (node->type != XML_ELEMENT_DECL) &&
(node->type != XML_HTML_DOCUMENT_NODE) &&
(node->type != XML_DOCUMENT_NODE)) {
if (node->content != NULL)
@@ -1065,7 +1069,7 @@ xmlCtxtDumpNode(xmlDebugCtxtPtr ctxt, xmlNodePtr node)
return;
}
xmlCtxtDumpOneNode(ctxt, node);
- if ((node->type != XML_NAMESPACE_DECL) &&
+ if ((node->type != XML_NAMESPACE_DECL) &&
(node->children != NULL) && (node->type != XML_ENTITY_REF_NODE)) {
ctxt->depth++;
xmlCtxtDumpNodeList(ctxt, node->children);
@@ -1600,7 +1604,7 @@ int
xmlLsCountNode(xmlNodePtr node) {
int ret = 0;
xmlNodePtr list = NULL;
-
+
if (node == NULL)
return(0);
@@ -1641,7 +1645,7 @@ xmlLsCountNode(xmlNodePtr node) {
ret = 1;
break;
}
- for (;list != NULL;ret++)
+ for (;list != NULL;ret++)
list = list->next;
return(ret);
}
@@ -1709,11 +1713,11 @@ xmlLsOneNode(FILE *output, xmlNodePtr node) {
if (node->type != XML_NAMESPACE_DECL) {
if (node->properties != NULL)
fprintf(output, "a");
- else
+ else
fprintf(output, "-");
- if (node->nsDef != NULL)
+ if (node->nsDef != NULL)
fprintf(output, "n");
- else
+ else
fprintf(output, "-");
}
@@ -1721,8 +1725,11 @@ xmlLsOneNode(FILE *output, xmlNodePtr node) {
switch (node->type) {
case XML_ELEMENT_NODE:
- if (node->name != NULL)
+ if (node->name != NULL) {
+ if ((node->ns != NULL) && (node->ns->prefix != NULL))
+ fprintf(output, "%s:", node->ns->prefix);
fprintf(output, "%s", (const char *) node->name);
+ }
break;
case XML_ATTRIBUTE_NODE:
if (node->name != NULL)
@@ -1780,7 +1787,7 @@ xmlLsOneNode(FILE *output, xmlNodePtr node) {
* xmlBoolToText:
* @boolval: a bool to turn into text
*
- * Convenient way to turn bool into text
+ * Convenient way to turn bool into text
*
* Returns a pointer to either "True" or "False"
*/
@@ -1796,7 +1803,7 @@ xmlBoolToText(int boolval)
#ifdef LIBXML_XPATH_ENABLED
/****************************************************************
* *
- * The XML shell related functions *
+ * The XML shell related functions *
* *
****************************************************************/
@@ -2047,7 +2054,7 @@ xmlShellBase(xmlShellCtxtPtr ctxt,
if (node == NULL) {
fprintf(ctxt->output, "NULL\n");
return (0);
- }
+ }
base = xmlNodeGetBase(node->doc, node);
@@ -2274,7 +2281,7 @@ xmlShellDir(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED,
if (node == NULL) {
fprintf(ctxt->output, "NULL\n");
return (0);
- }
+ }
if ((node->type == XML_DOCUMENT_NODE) ||
(node->type == XML_HTML_DOCUMENT_NODE)) {
xmlDebugDumpDocumentHead(ctxt->output, (xmlDocPtr) node);
@@ -2409,7 +2416,7 @@ xmlShellCat(xmlShellCtxtPtr ctxt, char *arg ATTRIBUTE_UNUSED,
if (node == NULL) {
fprintf(ctxt->output, "NULL\n");
return (0);
- }
+ }
if (ctxt->doc->type == XML_HTML_DOCUMENT_NODE) {
#ifdef LIBXML_HTML_ENABLED
if (node->type == XML_HTML_DOCUMENT_NODE)
@@ -2693,6 +2700,8 @@ xmlShellDu(xmlShellCtxtPtr ctxt,
} else if (node->type == XML_ELEMENT_NODE) {
for (i = 0; i < indent; i++)
fprintf(ctxt->output, " ");
+ if ((node->ns) && (node->ns->prefix))
+ fprintf(ctxt->output, "%s:", node->ns->prefix);
fprintf(ctxt->output, "%s\n", node->name);
} else {
}
@@ -2745,7 +2754,7 @@ xmlShellDu(xmlShellCtxtPtr ctxt,
* xmlShellPwd:
* @ctxt: the shell context
* @buffer: the output buffer
- * @node: a node
+ * @node: a node
* @node2: unused
*
* Implements the XML shell function "pwd"
@@ -2790,7 +2799,7 @@ xmlShellPwd(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, char *buffer,
* @input: the line reading function
* @output: the output FILE*, defaults to stdout if NULL
*
- * Implements the XML shell
+ * Implements the XML shell
* This allow to load, validate, view, modify and save a document
* using a environment similar to a UNIX commandline.
*/
@@ -2800,7 +2809,6 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
{
char prompt[500] = "/ > ";
char *cmdline = NULL, *cur;
- int nbargs;
char command[100];
char arg[400];
int i;
@@ -2835,6 +2843,10 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
while (1) {
if (ctxt->node == (xmlNodePtr) ctxt->doc)
snprintf(prompt, sizeof(prompt), "%s > ", "/");
+ else if ((ctxt->node != NULL) && (ctxt->node->name) &&
+ (ctxt->node->ns) && (ctxt->node->ns->prefix))
+ snprintf(prompt, sizeof(prompt), "%s:%s > ",
+ (ctxt->node->ns->prefix), ctxt->node->name);
else if ((ctxt->node != NULL) && (ctxt->node->name))
snprintf(prompt, sizeof(prompt), "%s > ", ctxt->node->name);
else
@@ -2852,7 +2864,6 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
* Parse the command itself
*/
cur = cmdline;
- nbargs = 0;
while ((*cur == ' ') || (*cur == '\t'))
cur++;
i = 0;
@@ -2865,7 +2876,6 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
command[i] = 0;
if (i == 0)
continue;
- nbargs++;
/*
* Parse the argument
@@ -2879,8 +2889,6 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
arg[i++] = *cur++;
}
arg[i] = 0;
- if (i != 0)
- nbargs++;
/*
* start interpreting the command
@@ -2913,6 +2921,7 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
fprintf(ctxt->output, "\t the default namespace if any uses 'defaultns' prefix\n");
#endif /* LIBXML_XPATH_ENABLED */
fprintf(ctxt->output, "\tpwd display current working directory\n");
+ fprintf(ctxt->output, "\twhereis display absolute path of [path] or current working directory\n");
fprintf(ctxt->output, "\tquit leave shell\n");
#ifdef LIBXML_OUTPUT_ENABLED
fprintf(ctxt->output, "\tsave [name] save this document to name or the original name\n");
@@ -2939,11 +2948,11 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
} else if (!strcmp(command, "save")) {
xmlShellSave(ctxt, arg, NULL, NULL);
} else if (!strcmp(command, "write")) {
- if ((arg == NULL) || (arg[0] == 0))
+ if (arg[0] == 0)
xmlGenericError(xmlGenericErrorContext,
"Write command requires a filename argument\n");
else
- xmlShellWrite(ctxt, arg, NULL, NULL);
+ xmlShellWrite(ctxt, arg, ctxt->node, NULL);
#endif /* LIBXML_OUTPUT_ENABLED */
} else if (!strcmp(command, "grep")) {
xmlShellGrep(ctxt, arg, ctxt->node, NULL);
@@ -2962,7 +2971,79 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
if (!xmlShellPwd(ctxt, dir, ctxt->node, NULL))
fprintf(ctxt->output, "%s\n", dir);
} else if (!strcmp(command, "du")) {
- xmlShellDu(ctxt, NULL, ctxt->node, NULL);
+ if (arg[0] == 0) {
+ xmlShellDu(ctxt, NULL, ctxt->node, NULL);
+ } else {
+ ctxt->pctxt->node = ctxt->node;
+#ifdef LIBXML_XPATH_ENABLED
+ ctxt->pctxt->node = ctxt->node;
+ list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt);
+#else
+ list = NULL;
+#endif /* LIBXML_XPATH_ENABLED */
+ if (list != NULL) {
+ switch (list->type) {
+ case XPATH_UNDEFINED:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s: no such node\n", arg);
+ break;
+ case XPATH_NODESET:{
+ int indx;
+
+ if (list->nodesetval == NULL)
+ break;
+
+ for (indx = 0;
+ indx < list->nodesetval->nodeNr;
+ indx++)
+ xmlShellDu(ctxt, NULL,
+ list->nodesetval->
+ nodeTab[indx], NULL);
+ break;
+ }
+ case XPATH_BOOLEAN:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a Boolean\n", arg);
+ break;
+ case XPATH_NUMBER:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a number\n", arg);
+ break;
+ case XPATH_STRING:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a string\n", arg);
+ break;
+ case XPATH_POINT:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a point\n", arg);
+ break;
+ case XPATH_RANGE:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a range\n", arg);
+ break;
+ case XPATH_LOCATIONSET:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a range\n", arg);
+ break;
+ case XPATH_USERS:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is user-defined\n", arg);
+ break;
+ case XPATH_XSLT_TREE:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is an XSLT value tree\n",
+ arg);
+ break;
+ }
+#ifdef LIBXML_XPATH_ENABLED
+ xmlXPathFreeObject(list);
+#endif
+ } else {
+ xmlGenericError(xmlGenericErrorContext,
+ "%s: no such node\n", arg);
+ }
+ ctxt->pctxt->node = NULL;
+ }
} else if (!strcmp(command, "base")) {
xmlShellBase(ctxt, NULL, ctxt->node, NULL);
} else if (!strcmp(command, "set")) {
@@ -3080,12 +3161,94 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
}
ctxt->pctxt->node = NULL;
}
+ } else if (!strcmp(command, "whereis")) {
+ char dir[500];
+
+ if (arg[0] == 0) {
+ if (!xmlShellPwd(ctxt, dir, ctxt->node, NULL))
+ fprintf(ctxt->output, "%s\n", dir);
+ } else {
+ ctxt->pctxt->node = ctxt->node;
+#ifdef LIBXML_XPATH_ENABLED
+ list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt);
+#else
+ list = NULL;
+#endif /* LIBXML_XPATH_ENABLED */
+ if (list != NULL) {
+ switch (list->type) {
+ case XPATH_UNDEFINED:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s: no such node\n", arg);
+ break;
+ case XPATH_NODESET:{
+ int indx;
+
+ if (list->nodesetval == NULL)
+ break;
+
+ for (indx = 0;
+ indx < list->nodesetval->nodeNr;
+ indx++) {
+ if (!xmlShellPwd(ctxt, dir, list->nodesetval->
+ nodeTab[indx], NULL))
+ fprintf(ctxt->output, "%s\n", dir);
+ }
+ break;
+ }
+ case XPATH_BOOLEAN:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a Boolean\n", arg);
+ break;
+ case XPATH_NUMBER:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a number\n", arg);
+ break;
+ case XPATH_STRING:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a string\n", arg);
+ break;
+ case XPATH_POINT:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a point\n", arg);
+ break;
+ case XPATH_RANGE:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a range\n", arg);
+ break;
+ case XPATH_LOCATIONSET:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is a range\n", arg);
+ break;
+ case XPATH_USERS:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is user-defined\n", arg);
+ break;
+ case XPATH_XSLT_TREE:
+ xmlGenericError(xmlGenericErrorContext,
+ "%s is an XSLT value tree\n",
+ arg);
+ break;
+ }
+#ifdef LIBXML_XPATH_ENABLED
+ xmlXPathFreeObject(list);
+#endif
+ } else {
+ xmlGenericError(xmlGenericErrorContext,
+ "%s: no such node\n", arg);
+ }
+ ctxt->pctxt->node = NULL;
+ }
} else if (!strcmp(command, "cd")) {
if (arg[0] == 0) {
ctxt->node = (xmlNodePtr) ctxt->doc;
} else {
#ifdef LIBXML_XPATH_ENABLED
+ int l;
+
ctxt->pctxt->node = ctxt->node;
+ l = strlen(arg);
+ if ((l >= 2) && (arg[l - 1] == '/'))
+ arg[l - 1] = 0;
list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt);
#else
list = NULL;
@@ -3244,6 +3407,7 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
"Unknown command %s\n", command);
}
free(cmdline); /* not xmlFree here ! */
+ cmdline = NULL;
}
#ifdef LIBXML_XPATH_ENABLED
xmlXPathFreeContext(ctxt->pctxt);
diff --git a/gettext-tools/gnulib-lib/libxml/debugXML.in.h b/gettext-tools/gnulib-lib/libxml/debugXML.in.h
index 5a9d20b..5b3be13 100644
--- a/gettext-tools/gnulib-lib/libxml/debugXML.in.h
+++ b/gettext-tools/gnulib-lib/libxml/debugXML.in.h
@@ -25,18 +25,18 @@ extern "C" {
/*
* The standard Dump routines.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDebugDumpString (FILE *output,
const xmlChar *str);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDebugDumpAttr (FILE *output,
xmlAttrPtr attr,
int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDebugDumpAttrList (FILE *output,
xmlAttrPtr attr,
int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDebugDumpOneNode (FILE *output,
xmlNodePtr node,
int depth);
@@ -54,16 +54,16 @@ XMLPUBFUN void XMLCALL
XMLPUBFUN void XMLCALL
xmlDebugDumpDocument (FILE *output,
xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDebugDumpDTD (FILE *output,
xmlDtdPtr dtd);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDebugDumpEntities (FILE *output,
xmlDocPtr doc);
/****************************************************************
* *
- * Checking routines *
+ * Checking routines *
* *
****************************************************************/
@@ -73,16 +73,16 @@ XMLPUBFUN int XMLCALL
/****************************************************************
* *
- * XML shell helpers *
+ * XML shell helpers *
* *
****************************************************************/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlLsOneNode (FILE *output, xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlLsCountNode (xmlNodePtr node);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char * XMLCALL
xmlBoolToText (int boolval);
/****************************************************************
@@ -136,63 +136,63 @@ typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
xmlNodePtr node,
xmlNodePtr node2);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlShellPrintXPathError (int errorType,
const char *arg);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlShellPrintXPathResult(xmlXPathObjectPtr list);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellList (xmlShellCtxtPtr ctxt,
char *arg,
xmlNodePtr node,
xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellBase (xmlShellCtxtPtr ctxt,
char *arg,
xmlNodePtr node,
xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellDir (xmlShellCtxtPtr ctxt,
char *arg,
xmlNodePtr node,
xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellLoad (xmlShellCtxtPtr ctxt,
char *filename,
xmlNodePtr node,
xmlNodePtr node2);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlShellPrintNode (xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellCat (xmlShellCtxtPtr ctxt,
char *arg,
xmlNodePtr node,
xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellWrite (xmlShellCtxtPtr ctxt,
char *filename,
xmlNodePtr node,
xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellSave (xmlShellCtxtPtr ctxt,
char *filename,
xmlNodePtr node,
xmlNodePtr node2);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_VALID_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellValidate (xmlShellCtxtPtr ctxt,
char *dtd,
xmlNodePtr node,
xmlNodePtr node2);
#endif /* LIBXML_VALID_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellDu (xmlShellCtxtPtr ctxt,
char *arg,
xmlNodePtr tree,
xmlNodePtr node2);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlShellPwd (xmlShellCtxtPtr ctxt,
char *buffer,
xmlNodePtr node,
@@ -201,12 +201,12 @@ XMLPUBFUN int XMLCALL
/*
* The Shell interface.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlShell (xmlDocPtr doc,
char *filename,
xmlShellReadlineFunc input,
FILE *output);
-
+
#endif /* LIBXML_XPATH_ENABLED */
#ifdef __cplusplus
diff --git a/gettext-tools/gnulib-lib/libxml/dict.c b/gettext-tools/gnulib-lib/libxml/dict.c
index 3b4054f..8c8f931 100644
--- a/gettext-tools/gnulib-lib/libxml/dict.c
+++ b/gettext-tools/gnulib-lib/libxml/dict.c
@@ -2,7 +2,7 @@
* dict.c: dictionary of reusable strings, just used to avoid allocation
* and freeing operations.
*
- * Copyright (C) 2003 Daniel Veillard.
+ * Copyright (C) 2003-2012 Daniel Veillard.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -19,19 +19,72 @@
#define IN_LIBXML
#include "libxml.h"
+#include <limits.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+
+/*
+ * Following http://www.ocert.org/advisories/ocert-2011-003.html
+ * it seems that having hash randomization might be a good idea
+ * when using XML with untrusted data
+ * Note1: that it works correctly only if compiled with WITH_BIG_KEY
+ * which is the default.
+ * Note2: the fast function used for a small dict won't protect very
+ * well but since the attack is based on growing a very big hash
+ * list we will use the BigKey algo as soon as the hash size grows
+ * over MIN_DICT_SIZE so this actually works
+ */
+#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
+#define DICT_RANDOMIZATION
+#endif
+
#include <string.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#else
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#elif defined(WIN32)
+typedef unsigned __int32 uint32_t;
+#endif
+#endif
#include <libxml/tree.h>
#include <libxml/dict.h>
#include <libxml/xmlmemory.h>
#include <libxml/xmlerror.h>
#include <libxml/globals.h>
-#define MAX_HASH_LEN 4
+/* #define DEBUG_GROW */
+/* #define DICT_DEBUG_PATTERNS */
+
+#define MAX_HASH_LEN 3
#define MIN_DICT_SIZE 128
#define MAX_DICT_HASH 8 * 2048
-
-/* #define ALLOW_REMOVAL */
-/* #define DEBUG_GROW */
+#define WITH_BIG_KEY
+
+#ifdef WITH_BIG_KEY
+#define xmlDictComputeKey(dict, name, len) \
+ (((dict)->size == MIN_DICT_SIZE) ? \
+ xmlDictComputeFastKey(name, len, (dict)->seed) : \
+ xmlDictComputeBigKey(name, len, (dict)->seed))
+
+#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
+ (((prefix) == NULL) ? \
+ (xmlDictComputeKey(dict, name, len)) : \
+ (((dict)->size == MIN_DICT_SIZE) ? \
+ xmlDictComputeFastQKey(prefix, plen, name, len, (dict)->seed) : \
+ xmlDictComputeBigQKey(prefix, plen, name, len, (dict)->seed)))
+
+#else /* !WITH_BIG_KEY */
+#define xmlDictComputeKey(dict, name, len) \
+ xmlDictComputeFastKey(name, len, (dict)->seed)
+#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
+ xmlDictComputeFastQKey(prefix, plen, name, len, (dict)->seed)
+#endif /* WITH_BIG_KEY */
/*
* An entry in the dictionnary
@@ -41,8 +94,9 @@ typedef xmlDictEntry *xmlDictEntryPtr;
struct _xmlDictEntry {
struct _xmlDictEntry *next;
const xmlChar *name;
- int len;
+ unsigned int len;
int valid;
+ unsigned long okey;
};
typedef struct _xmlDictStrings xmlDictStrings;
@@ -51,8 +105,8 @@ struct _xmlDictStrings {
xmlDictStringsPtr next;
xmlChar *free;
xmlChar *end;
- int size;
- int nbStrings;
+ size_t size;
+ size_t nbStrings;
xmlChar array[1];
};
/*
@@ -60,14 +114,17 @@ struct _xmlDictStrings {
*/
struct _xmlDict {
int ref_counter;
- xmlRMutexPtr mutex;
struct _xmlDictEntry *dict;
- int size;
- int nbElems;
+ size_t size;
+ unsigned int nbElems;
xmlDictStringsPtr strings;
struct _xmlDict *subdict;
+ /* used for randomization */
+ int seed;
+ /* used to impose a limit on size */
+ size_t limit;
};
/*
@@ -81,28 +138,84 @@ static xmlRMutexPtr xmlDictMutex = NULL;
*/
static int xmlDictInitialized = 0;
+#ifdef DICT_RANDOMIZATION
+#ifdef HAVE_RAND_R
+/*
+ * Internal data for random function, protected by xmlDictMutex
+ */
+static unsigned int rand_seed = 0;
+#endif
+#endif
+
/**
* xmlInitializeDict:
*
* Do the dictionary mutex initialization.
+ * this function is deprecated
+ *
+ * Returns 0 if initialization was already done, and 1 if that
+ * call led to the initialization
+ */
+int xmlInitializeDict(void) {
+ return(0);
+}
+
+/**
+ * __xmlInitializeDict:
+ *
+ * This function is not public
+ * Do the dictionary mutex initialization.
* this function is not thread safe, initialization should
- * preferably be done once at startup
+ * normally be done once at setup when called from xmlOnceInit()
+ * we may also land in this code if thread support is not compiled in
+ *
+ * Returns 0 if initialization was already done, and 1 if that
+ * call led to the initialization
*/
-static int xmlInitializeDict(void) {
+int __xmlInitializeDict(void) {
if (xmlDictInitialized)
return(1);
if ((xmlDictMutex = xmlNewRMutex()) == NULL)
return(0);
+ xmlRMutexLock(xmlDictMutex);
+#ifdef DICT_RANDOMIZATION
+#ifdef HAVE_RAND_R
+ rand_seed = time(NULL);
+ rand_r(& rand_seed);
+#else
+ srand(time(NULL));
+#endif
+#endif
xmlDictInitialized = 1;
+ xmlRMutexUnlock(xmlDictMutex);
return(1);
}
+#ifdef DICT_RANDOMIZATION
+int __xmlRandom(void) {
+ int ret;
+
+ if (xmlDictInitialized == 0)
+ __xmlInitializeDict();
+
+ xmlRMutexLock(xmlDictMutex);
+#ifdef HAVE_RAND_R
+ ret = rand_r(& rand_seed);
+#else
+ ret = rand();
+#endif
+ xmlRMutexUnlock(xmlDictMutex);
+ return(ret);
+}
+#endif
+
/**
* xmlDictCleanup:
*
- * Free the dictionary mutex.
+ * Free the dictionary mutex. Do not call unless sure the library
+ * is not in use anymore !
*/
void
xmlDictCleanup(void) {
@@ -118,32 +231,41 @@ xmlDictCleanup(void) {
* xmlDictAddString:
* @dict: the dictionnary
* @name: the name of the userdata
- * @len: the length of the name, if -1 it is recomputed
+ * @len: the length of the name
*
* Add the string to the array[s]
*
* Returns the pointer of the local string, or NULL in case of error.
*/
static const xmlChar *
-xmlDictAddString(xmlDictPtr dict, const xmlChar *name, int namelen) {
+xmlDictAddString(xmlDictPtr dict, const xmlChar *name, unsigned int namelen) {
xmlDictStringsPtr pool;
const xmlChar *ret;
- int size = 0; /* + sizeof(_xmlDictStrings) == 1024 */
+ size_t size = 0; /* + sizeof(_xmlDictStrings) == 1024 */
+ size_t limit = 0;
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "-");
+#endif
pool = dict->strings;
while (pool != NULL) {
if (pool->end - pool->free > namelen)
goto found_pool;
if (pool->size > size) size = pool->size;
+ limit += pool->size;
pool = pool->next;
}
/*
* Not found, need to allocate
*/
if (pool == NULL) {
+ if ((dict->limit > 0) && (limit > dict->limit)) {
+ return(NULL);
+ }
+
if (size == 0) size = 1000;
else size *= 4; /* exponential growth */
- if (size < 4 * namelen)
+ if (size < 4 * namelen)
size = 4 * namelen; /* just in case ! */
pool = (xmlDictStringsPtr) xmlMalloc(sizeof(xmlDictStrings) + size);
if (pool == NULL)
@@ -154,12 +276,16 @@ xmlDictAddString(xmlDictPtr dict, const xmlChar *name, int namelen) {
pool->end = &pool->array[size];
pool->next = dict->strings;
dict->strings = pool;
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "+");
+#endif
}
found_pool:
ret = pool->free;
memcpy(pool->free, name, namelen);
pool->free += namelen;
*(pool->free++) = 0;
+ pool->nbStrings++;
return(ret);
}
@@ -167,40 +293,48 @@ found_pool:
* xmlDictAddQString:
* @dict: the dictionnary
* @prefix: the prefix of the userdata
+ * @plen: the prefix length
* @name: the name of the userdata
- * @len: the length of the name, if -1 it is recomputed
+ * @len: the length of the name
*
* Add the QName to the array[s]
*
* Returns the pointer of the local string, or NULL in case of error.
*/
static const xmlChar *
-xmlDictAddQString(xmlDictPtr dict, const xmlChar *prefix,
- const xmlChar *name, int namelen)
+xmlDictAddQString(xmlDictPtr dict, const xmlChar *prefix, unsigned int plen,
+ const xmlChar *name, unsigned int namelen)
{
xmlDictStringsPtr pool;
const xmlChar *ret;
- int size = 0; /* + sizeof(_xmlDictStrings) == 1024 */
- int plen;
+ size_t size = 0; /* + sizeof(_xmlDictStrings) == 1024 */
+ size_t limit = 0;
if (prefix == NULL) return(xmlDictAddString(dict, name, namelen));
- plen = xmlStrlen(prefix);
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "=");
+#endif
pool = dict->strings;
while (pool != NULL) {
- if (pool->end - pool->free > namelen)
+ if (pool->end - pool->free > namelen + plen + 1)
goto found_pool;
if (pool->size > size) size = pool->size;
+ limit += pool->size;
pool = pool->next;
}
/*
* Not found, need to allocate
*/
if (pool == NULL) {
+ if ((dict->limit > 0) && (limit > dict->limit)) {
+ return(NULL);
+ }
+
if (size == 0) size = 1000;
else size *= 4; /* exponential growth */
- if (size < 4 * namelen)
- size = 4 * namelen; /* just in case ! */
+ if (size < 4 * (namelen + plen + 1))
+ size = 4 * (namelen + plen + 1); /* just in case ! */
pool = (xmlDictStringsPtr) xmlMalloc(sizeof(xmlDictStrings) + size);
if (pool == NULL)
return(NULL);
@@ -210,27 +344,106 @@ xmlDictAddQString(xmlDictPtr dict, const xmlChar *prefix,
pool->end = &pool->array[size];
pool->next = dict->strings;
dict->strings = pool;
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "+");
+#endif
}
found_pool:
ret = pool->free;
memcpy(pool->free, prefix, plen);
pool->free += plen;
*(pool->free++) = ':';
- namelen -= plen + 1;
memcpy(pool->free, name, namelen);
pool->free += namelen;
*(pool->free++) = 0;
+ pool->nbStrings++;
return(ret);
}
+#ifdef WITH_BIG_KEY
+/*
+ * xmlDictComputeBigKey:
+ *
+ * Calculate a hash key using a good hash function that works well for
+ * larger hash table sizes.
+ *
+ * Hash function by "One-at-a-Time Hash" see
+ * http://burtleburtle.net/bob/hash/doobs.html
+ */
+
+static uint32_t
+xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) {
+ uint32_t hash;
+ int i;
+
+ if (namelen <= 0 || data == NULL) return(0);
+
+ hash = seed;
+
+ for (i = 0;i < namelen; i++) {
+ hash += data[i];
+ hash += (hash << 10);
+ hash ^= (hash >> 6);
+ }
+ hash += (hash << 3);
+ hash ^= (hash >> 11);
+ hash += (hash << 15);
+
+ return hash;
+}
+
+/*
+ * xmlDictComputeBigQKey:
+ *
+ * Calculate a hash key for two strings using a good hash function
+ * that works well for larger hash table sizes.
+ *
+ * Hash function by "One-at-a-Time Hash" see
+ * http://burtleburtle.net/bob/hash/doobs.html
+ *
+ * Neither of the two strings must be NULL.
+ */
+static unsigned long
+xmlDictComputeBigQKey(const xmlChar *prefix, int plen,
+ const xmlChar *name, int len, int seed)
+{
+ uint32_t hash;
+ int i;
+
+ hash = seed;
+
+ for (i = 0;i < plen; i++) {
+ hash += prefix[i];
+ hash += (hash << 10);
+ hash ^= (hash >> 6);
+ }
+ hash += ':';
+ hash += (hash << 10);
+ hash ^= (hash >> 6);
+
+ for (i = 0;i < len; i++) {
+ hash += name[i];
+ hash += (hash << 10);
+ hash ^= (hash >> 6);
+ }
+ hash += (hash << 3);
+ hash ^= (hash >> 11);
+ hash += (hash << 15);
+
+ return hash;
+}
+#endif /* WITH_BIG_KEY */
+
/*
- * xmlDictComputeKey:
- * Calculate the hash key
+ * xmlDictComputeFastKey:
+ *
+ * Calculate a hash key using a fast hash function that works well
+ * for low hash table fill.
*/
static unsigned long
-xmlDictComputeKey(const xmlChar *name, int namelen) {
- unsigned long value = 0L;
-
+xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) {
+ unsigned long value = seed;
+
if (name == NULL) return(0);
value = *name;
value <<= 5;
@@ -254,26 +467,29 @@ xmlDictComputeKey(const xmlChar *name, int namelen) {
}
/*
- * xmlDictComputeQKey:
- * Calculate the hash key
+ * xmlDictComputeFastQKey:
+ *
+ * Calculate a hash key for two strings using a fast hash function
+ * that works well for low hash table fill.
+ *
+ * Neither of the two strings must be NULL.
*/
static unsigned long
-xmlDictComputeQKey(const xmlChar *prefix, const xmlChar *name, int len)
+xmlDictComputeFastQKey(const xmlChar *prefix, int plen,
+ const xmlChar *name, int len, int seed)
{
- unsigned long value = 0L;
- int plen;
-
- if (prefix == NULL)
- return(xmlDictComputeKey(name, len));
+ unsigned long value = (unsigned long) seed;
- plen = xmlStrlen(prefix);
if (plen == 0)
value += 30 * (unsigned long) ':';
else
value += 30 * (*prefix);
-
+
if (len > 10) {
- value += name[len - (plen + 1 + 1)];
+ int offset = len - (plen + 1 + 1);
+ if (offset < 0)
+ offset = len - (10 + 1);
+ value += name[offset];
len = 10;
if (plen > 10)
plen = 10;
@@ -324,12 +540,17 @@ xmlDictCreate(void) {
xmlDictPtr dict;
if (!xmlDictInitialized)
- if (!xmlInitializeDict())
+ if (!__xmlInitializeDict())
return(NULL);
-
+
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "C");
+#endif
+
dict = xmlMalloc(sizeof(xmlDict));
if (dict) {
dict->ref_counter = 1;
+ dict->limit = 0;
dict->size = MIN_DICT_SIZE;
dict->nbElems = 0;
@@ -337,11 +558,13 @@ xmlDictCreate(void) {
dict->strings = NULL;
dict->subdict = NULL;
if (dict->dict) {
- if ((dict->mutex = xmlNewRMutex()) != NULL) {
- memset(dict->dict, 0, MIN_DICT_SIZE * sizeof(xmlDictEntry));
- return(dict);
- }
- xmlFree(dict->dict);
+ memset(dict->dict, 0, MIN_DICT_SIZE * sizeof(xmlDictEntry));
+#ifdef DICT_RANDOMIZATION
+ dict->seed = __xmlRandom();
+#else
+ dict->seed = 0;
+#endif
+ return(dict);
}
xmlFree(dict);
}
@@ -362,8 +585,12 @@ xmlDictCreate(void) {
xmlDictPtr
xmlDictCreateSub(xmlDictPtr sub) {
xmlDictPtr dict = xmlDictCreate();
-
+
if ((dict != NULL) && (sub != NULL)) {
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "R");
+#endif
+ dict->seed = sub->seed;
dict->subdict = sub;
xmlDictReference(dict->subdict);
}
@@ -381,7 +608,7 @@ xmlDictCreateSub(xmlDictPtr sub) {
int
xmlDictReference(xmlDictPtr dict) {
if (!xmlDictInitialized)
- if (!xmlInitializeDict())
+ if (!__xmlInitializeDict())
return(-1);
if (dict == NULL) return -1;
@@ -401,15 +628,17 @@ xmlDictReference(xmlDictPtr dict) {
* Returns 0 in case of success, -1 in case of failure
*/
static int
-xmlDictGrow(xmlDictPtr dict, int size) {
- unsigned long key;
- int oldsize, i;
+xmlDictGrow(xmlDictPtr dict, size_t size) {
+ unsigned long key, okey;
+ size_t oldsize, i;
xmlDictEntryPtr iter, next;
struct _xmlDictEntry *olddict;
#ifdef DEBUG_GROW
unsigned long nbElem = 0;
#endif
-
+ int ret = 0;
+ int keep_keys = 1;
+
if (dict == NULL)
return(-1);
if (size < 8)
@@ -417,11 +646,17 @@ xmlDictGrow(xmlDictPtr dict, int size) {
if (size > 8 * 2048)
return(-1);
+#ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "*");
+#endif
+
oldsize = dict->size;
olddict = dict->dict;
if (olddict == NULL)
return(-1);
-
+ if (oldsize == MIN_DICT_SIZE)
+ keep_keys = 0;
+
dict->dict = xmlMalloc(size * sizeof(xmlDictEntry));
if (dict->dict == NULL) {
dict->dict = olddict;
@@ -431,17 +666,44 @@ xmlDictGrow(xmlDictPtr dict, int size) {
dict->size = size;
/* If the two loops are merged, there would be situations where
- a new entry needs to allocated and data copied into it from
- the main dict. So instead, we run through the array twice, first
- copying all the elements in the main array (where we can't get
- conflicts) and then the rest, so we only free (and don't allocate)
+ a new entry needs to allocated and data copied into it from
+ the main dict. It is nicer to run through the array twice, first
+ copying all the elements in the main array (less probability of
+ allocate) and then the rest, so we only free in the second loop.
*/
for (i = 0; i < oldsize; i++) {
- if (olddict[i].valid == 0)
+ if (olddict[i].valid == 0)
continue;
- key = xmlDictComputeKey(olddict[i].name, olddict[i].len) % dict->size;
- memcpy(&(dict->dict[key]), &(olddict[i]), sizeof(xmlDictEntry));
- dict->dict[key].next = NULL;
+
+ if (keep_keys)
+ okey = olddict[i].okey;
+ else
+ okey = xmlDictComputeKey(dict, olddict[i].name, olddict[i].len);
+ key = okey % dict->size;
+
+ if (dict->dict[key].valid == 0) {
+ memcpy(&(dict->dict[key]), &(olddict[i]), sizeof(xmlDictEntry));
+ dict->dict[key].next = NULL;
+ dict->dict[key].okey = okey;
+ } else {
+ xmlDictEntryPtr entry;
+
+ entry = xmlMalloc(sizeof(xmlDictEntry));
+ if (entry != NULL) {
+ entry->name = olddict[i].name;
+ entry->len = olddict[i].len;
+ entry->okey = okey;
+ entry->next = dict->dict[key].next;
+ entry->valid = 1;
+ dict->dict[key].next = entry;
+ } else {
+ /*
+ * we don't have much ways to alert from herei
+ * result is loosing an entry and unicity garantee
+ */
+ ret = -1;
+ }
+ }
#ifdef DEBUG_GROW
nbElem++;
#endif
@@ -456,15 +718,21 @@ xmlDictGrow(xmlDictPtr dict, int size) {
* put back the entry in the new dict
*/
- key = xmlDictComputeKey(iter->name, iter->len) % dict->size;
+ if (keep_keys)
+ okey = iter->okey;
+ else
+ okey = xmlDictComputeKey(dict, iter->name, iter->len);
+ key = okey % dict->size;
if (dict->dict[key].valid == 0) {
memcpy(&(dict->dict[key]), iter, sizeof(xmlDictEntry));
dict->dict[key].next = NULL;
dict->dict[key].valid = 1;
+ dict->dict[key].okey = okey;
xmlFree(iter);
} else {
- iter->next = dict->dict[key].next;
- dict->dict[key].next = iter;
+ iter->next = dict->dict[key].next;
+ iter->okey = okey;
+ dict->dict[key].next = iter;
}
#ifdef DEBUG_GROW
@@ -479,10 +747,10 @@ xmlDictGrow(xmlDictPtr dict, int size) {
#ifdef DEBUG_GROW
xmlGenericError(xmlGenericErrorContext,
- "xmlDictGrow : from %d to %d, %d elems\n", oldsize, size, nbElem);
+ "xmlDictGrow : from %lu to %lu, %u elems\n", oldsize, size, nbElem);
#endif
- return(0);
+ return(ret);
}
/**
@@ -494,7 +762,7 @@ xmlDictGrow(xmlDictPtr dict, int size) {
*/
void
xmlDictFree(xmlDictPtr dict) {
- int i;
+ size_t i;
xmlDictEntryPtr iter;
xmlDictEntryPtr next;
int inside_dict = 0;
@@ -504,7 +772,7 @@ xmlDictFree(xmlDictPtr dict) {
return;
if (!xmlDictInitialized)
- if (!xmlInitializeDict())
+ if (!__xmlInitializeDict())
return;
/* decrement the counter, it may be shared by a parser and docs */
@@ -535,7 +803,6 @@ xmlDictFree(xmlDictPtr dict) {
inside_dict = 0;
iter = next;
}
- inside_dict = 0;
}
xmlFree(dict->dict);
}
@@ -545,7 +812,6 @@ xmlDictFree(xmlDictPtr dict) {
xmlFree(pool);
pool = nextp;
}
- xmlFreeRMutex(dict->mutex);
xmlFree(dict);
}
@@ -565,17 +831,24 @@ xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len) {
xmlDictEntryPtr entry;
xmlDictEntryPtr insert;
const xmlChar *ret;
+ unsigned int l;
if ((dict == NULL) || (name == NULL))
return(NULL);
if (len < 0)
- len = xmlStrlen(name);
+ l = strlen((const char *) name);
+ else
+ l = len;
+
+ if (((dict->limit > 0) && (l >= dict->limit)) ||
+ (l > INT_MAX / 2))
+ return(NULL);
/*
* Check for duplicate and insertion location.
*/
- okey = xmlDictComputeKey(name, len);
+ okey = xmlDictComputeKey(dict, name, l);
key = okey % dict->size;
if (dict->dict[key].valid == 0) {
insert = NULL;
@@ -583,63 +856,74 @@ xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len) {
for (insert = &(dict->dict[key]); insert->next != NULL;
insert = insert->next) {
#ifdef __GNUC__
- if (insert->len == len) {
- if (!memcmp(insert->name, name, len))
+ if ((insert->okey == okey) && (insert->len == l)) {
+ if (!memcmp(insert->name, name, l))
return(insert->name);
}
#else
- if ((insert->len == len) &&
- (!xmlStrncmp(insert->name, name, len)))
+ if ((insert->okey == okey) && (insert->len == l) &&
+ (!xmlStrncmp(insert->name, name, l)))
return(insert->name);
#endif
nbi++;
}
#ifdef __GNUC__
- if (insert->len == len) {
- if (!memcmp(insert->name, name, len))
+ if ((insert->okey == okey) && (insert->len == l)) {
+ if (!memcmp(insert->name, name, l))
return(insert->name);
}
#else
- if ((insert->len == len) &&
- (!xmlStrncmp(insert->name, name, len)))
+ if ((insert->okey == okey) && (insert->len == l) &&
+ (!xmlStrncmp(insert->name, name, l)))
return(insert->name);
#endif
}
if (dict->subdict) {
- key = okey % dict->subdict->size;
+ unsigned long skey;
+
+ /* we cannot always reuse the same okey for the subdict */
+ if (((dict->size == MIN_DICT_SIZE) &&
+ (dict->subdict->size != MIN_DICT_SIZE)) ||
+ ((dict->size != MIN_DICT_SIZE) &&
+ (dict->subdict->size == MIN_DICT_SIZE)))
+ skey = xmlDictComputeKey(dict->subdict, name, l);
+ else
+ skey = okey;
+
+ key = skey % dict->subdict->size;
if (dict->subdict->dict[key].valid != 0) {
xmlDictEntryPtr tmp;
for (tmp = &(dict->subdict->dict[key]); tmp->next != NULL;
tmp = tmp->next) {
#ifdef __GNUC__
- if (tmp->len == len) {
- if (!memcmp(tmp->name, name, len))
+ if ((tmp->okey == skey) && (tmp->len == l)) {
+ if (!memcmp(tmp->name, name, l))
return(tmp->name);
}
#else
- if ((tmp->len == len) &&
- (!xmlStrncmp(tmp->name, name, len)))
+ if ((tmp->okey == skey) && (tmp->len == l) &&
+ (!xmlStrncmp(tmp->name, name, l)))
return(tmp->name);
#endif
nbi++;
}
#ifdef __GNUC__
- if (tmp->len == len) {
- if (!memcmp(tmp->name, name, len))
+ if ((tmp->okey == skey) && (tmp->len == l)) {
+ if (!memcmp(tmp->name, name, l))
return(tmp->name);
}
#else
- if ((tmp->len == len) &&
- (!xmlStrncmp(tmp->name, name, len)))
+ if ((tmp->okey == skey) && (tmp->len == l) &&
+ (!xmlStrncmp(tmp->name, name, l)))
return(tmp->name);
#endif
}
key = okey % dict->size;
}
- ret = xmlDictAddString(dict, name, len);
+ ret = xmlDictAddString(dict, name, l);
if (ret == NULL)
return(NULL);
if (insert == NULL) {
@@ -650,19 +934,22 @@ xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len) {
return(NULL);
}
entry->name = ret;
- entry->len = len;
+ entry->len = l;
entry->next = NULL;
entry->valid = 1;
+ entry->okey = okey;
- if (insert != NULL)
+ if (insert != NULL)
insert->next = entry;
dict->nbElems++;
if ((nbi > MAX_HASH_LEN) &&
- (dict->size <= ((MAX_DICT_HASH / 2) / MAX_HASH_LEN)))
- xmlDictGrow(dict, MAX_HASH_LEN * 2 * dict->size);
+ (dict->size <= ((MAX_DICT_HASH / 2) / MAX_HASH_LEN))) {
+ if (xmlDictGrow(dict, MAX_HASH_LEN * 2 * dict->size) != 0)
+ return(NULL);
+ }
/* Note that entry may have been freed at this point by xmlDictGrow */
return(ret);
@@ -682,17 +969,23 @@ const xmlChar *
xmlDictExists(xmlDictPtr dict, const xmlChar *name, int len) {
unsigned long key, okey, nbi = 0;
xmlDictEntryPtr insert;
+ unsigned int l;
if ((dict == NULL) || (name == NULL))
return(NULL);
if (len < 0)
- len = xmlStrlen(name);
+ l = strlen((const char *) name);
+ else
+ l = len;
+ if (((dict->limit > 0) && (l >= dict->limit)) ||
+ (l > INT_MAX / 2))
+ return(NULL);
/*
* Check for duplicate and insertion location.
*/
- okey = xmlDictComputeKey(name, len);
+ okey = xmlDictComputeKey(dict, name, l);
key = okey % dict->size;
if (dict->dict[key].valid == 0) {
insert = NULL;
@@ -700,60 +993,70 @@ xmlDictExists(xmlDictPtr dict, const xmlChar *name, int len) {
for (insert = &(dict->dict[key]); insert->next != NULL;
insert = insert->next) {
#ifdef __GNUC__
- if (insert->len == len) {
- if (!memcmp(insert->name, name, len))
+ if ((insert->okey == okey) && (insert->len == l)) {
+ if (!memcmp(insert->name, name, l))
return(insert->name);
}
#else
- if ((insert->len == len) &&
- (!xmlStrncmp(insert->name, name, len)))
+ if ((insert->okey == okey) && (insert->len == l) &&
+ (!xmlStrncmp(insert->name, name, l)))
return(insert->name);
#endif
nbi++;
}
#ifdef __GNUC__
- if (insert->len == len) {
- if (!memcmp(insert->name, name, len))
+ if ((insert->okey == okey) && (insert->len == l)) {
+ if (!memcmp(insert->name, name, l))
return(insert->name);
}
#else
- if ((insert->len == len) &&
- (!xmlStrncmp(insert->name, name, len)))
+ if ((insert->okey == okey) && (insert->len == l) &&
+ (!xmlStrncmp(insert->name, name, l)))
return(insert->name);
#endif
}
if (dict->subdict) {
- key = okey % dict->subdict->size;
+ unsigned long skey;
+
+ /* we cannot always reuse the same okey for the subdict */
+ if (((dict->size == MIN_DICT_SIZE) &&
+ (dict->subdict->size != MIN_DICT_SIZE)) ||
+ ((dict->size != MIN_DICT_SIZE) &&
+ (dict->subdict->size == MIN_DICT_SIZE)))
+ skey = xmlDictComputeKey(dict->subdict, name, l);
+ else
+ skey = okey;
+
+ key = skey % dict->subdict->size;
if (dict->subdict->dict[key].valid != 0) {
xmlDictEntryPtr tmp;
for (tmp = &(dict->subdict->dict[key]); tmp->next != NULL;
tmp = tmp->next) {
#ifdef __GNUC__
- if (tmp->len == len) {
- if (!memcmp(tmp->name, name, len))
+ if ((tmp->okey == skey) && (tmp->len == l)) {
+ if (!memcmp(tmp->name, name, l))
return(tmp->name);
}
#else
- if ((tmp->len == len) &&
- (!xmlStrncmp(tmp->name, name, len)))
+ if ((tmp->okey == skey) && (tmp->len == l) &&
+ (!xmlStrncmp(tmp->name, name, l)))
return(tmp->name);
#endif
nbi++;
}
#ifdef __GNUC__
- if (tmp->len == len) {
- if (!memcmp(tmp->name, name, len))
+ if ((tmp->okey == skey) && (tmp->len == l)) {
+ if (!memcmp(tmp->name, name, l))
return(tmp->name);
}
#else
- if ((tmp->len == len) &&
- (!xmlStrncmp(tmp->name, name, len)))
+ if ((tmp->okey == skey) && (tmp->len == l) &&
+ (!xmlStrncmp(tmp->name, name, l)))
return(tmp->name);
#endif
}
- key = okey % dict->size;
}
/* not found */
@@ -763,7 +1066,7 @@ xmlDictExists(xmlDictPtr dict, const xmlChar *name, int len) {
/**
* xmlDictQLookup:
* @dict: the dictionnary
- * @prefix: the prefix
+ * @prefix: the prefix
* @name: the name
*
* Add the QName @prefix:@name to the hash @dict if not present.
@@ -776,54 +1079,67 @@ xmlDictQLookup(xmlDictPtr dict, const xmlChar *prefix, const xmlChar *name) {
xmlDictEntryPtr entry;
xmlDictEntryPtr insert;
const xmlChar *ret;
- int len;
+ unsigned int len, plen, l;
if ((dict == NULL) || (name == NULL))
return(NULL);
+ if (prefix == NULL)
+ return(xmlDictLookup(dict, name, -1));
- len = xmlStrlen(name);
- if (prefix != NULL)
- len += 1 + xmlStrlen(prefix);
+ l = len = strlen((const char *) name);
+ plen = strlen((const char *) prefix);
+ len += 1 + plen;
/*
* Check for duplicate and insertion location.
*/
- okey = xmlDictComputeQKey(prefix, name, len);
+ okey = xmlDictComputeQKey(dict, prefix, plen, name, l);
key = okey % dict->size;
if (dict->dict[key].valid == 0) {
insert = NULL;
} else {
for (insert = &(dict->dict[key]); insert->next != NULL;
insert = insert->next) {
- if ((insert->len == len) &&
+ if ((insert->okey == okey) && (insert->len == len) &&
(xmlStrQEqual(prefix, name, insert->name)))
return(insert->name);
nbi++;
}
- if ((insert->len == len) &&
+ if ((insert->okey == okey) && (insert->len == len) &&
(xmlStrQEqual(prefix, name, insert->name)))
return(insert->name);
}
if (dict->subdict) {
- key = okey % dict->subdict->size;
+ unsigned long skey;
+
+ /* we cannot always reuse the same okey for the subdict */
+ if (((dict->size == MIN_DICT_SIZE) &&
+ (dict->subdict->size != MIN_DICT_SIZE)) ||
+ ((dict->size != MIN_DICT_SIZE) &&
+ (dict->subdict->size == MIN_DICT_SIZE)))
+ skey = xmlDictComputeQKey(dict->subdict, prefix, plen, name, l);
+ else
+ skey = okey;
+
+ key = skey % dict->subdict->size;
if (dict->subdict->dict[key].valid != 0) {
xmlDictEntryPtr tmp;
for (tmp = &(dict->subdict->dict[key]); tmp->next != NULL;
tmp = tmp->next) {
- if ((tmp->len == len) &&
+ if ((tmp->okey == skey) && (tmp->len == len) &&
(xmlStrQEqual(prefix, name, tmp->name)))
return(tmp->name);
nbi++;
}
- if ((tmp->len == len) &&
+ if ((tmp->okey == skey) && (tmp->len == len) &&
(xmlStrQEqual(prefix, name, tmp->name)))
return(tmp->name);
}
key = okey % dict->size;
}
- ret = xmlDictAddQString(dict, prefix, name, len);
+ ret = xmlDictAddQString(dict, prefix, plen, name, l);
if (ret == NULL)
return(NULL);
if (insert == NULL) {
@@ -837,8 +1153,9 @@ xmlDictQLookup(xmlDictPtr dict, const xmlChar *prefix, const xmlChar *name) {
entry->len = len;
entry->next = NULL;
entry->valid = 1;
+ entry->okey = okey;
- if (insert != NULL)
+ if (insert != NULL)
insert->next = entry;
dict->nbElems++;
@@ -896,6 +1213,50 @@ xmlDictSize(xmlDictPtr dict) {
return(dict->nbElems);
}
+/**
+ * xmlDictSetLimit:
+ * @dict: the dictionnary
+ * @limit: the limit in bytes
+ *
+ * Set a size limit for the dictionary
+ * Added in 2.9.0
+ *
+ * Returns the previous limit of the dictionary or 0
+ */
+size_t
+xmlDictSetLimit(xmlDictPtr dict, size_t limit) {
+ size_t ret;
+
+ if (dict == NULL)
+ return(0);
+ ret = dict->limit;
+ dict->limit = limit;
+ return(ret);
+}
+
+/**
+ * xmlDictGetUsage:
+ * @dict: the dictionnary
+ *
+ * Get how much memory is used by a dictionary for strings
+ * Added in 2.9.0
+ *
+ * Returns the amount of strings allocated
+ */
+size_t
+xmlDictGetUsage(xmlDictPtr dict) {
+ xmlDictStringsPtr pool;
+ size_t limit = 0;
+
+ if (dict == NULL)
+ return(0);
+ pool = dict->strings;
+ while (pool != NULL) {
+ limit += pool->size;
+ pool = pool->next;
+ }
+ return(limit);
+}
#define bottom_dict
#include "elfgcchack.h"
diff --git a/gettext-tools/gnulib-lib/libxml/dict.in.h b/gettext-tools/gnulib-lib/libxml/dict.in.h
index abb8339..7022ec8 100644
--- a/gettext-tools/gnulib-lib/libxml/dict.in.h
+++ b/gettext-tools/gnulib-lib/libxml/dict.in.h
@@ -11,6 +11,7 @@
#ifndef __XML_DICT_H__
#define __XML_DICT_H__
+#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
@@ -25,36 +26,46 @@ typedef struct _xmlDict xmlDict;
typedef xmlDict *xmlDictPtr;
/*
+ * Initializer
+ */
+XMLPUBFUN int XMLCALL xmlInitializeDict(void);
+
+/*
* Constructor and destructor.
*/
XMLPUBFUN xmlDictPtr XMLCALL
xmlDictCreate (void);
+XMLPUBFUN size_t XMLCALL
+ xmlDictSetLimit (xmlDictPtr dict,
+ size_t limit);
+XMLPUBFUN size_t XMLCALL
+ xmlDictGetUsage (xmlDictPtr dict);
XMLPUBFUN xmlDictPtr XMLCALL
xmlDictCreateSub(xmlDictPtr sub);
XMLPUBFUN int XMLCALL
xmlDictReference(xmlDictPtr dict);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDictFree (xmlDictPtr dict);
/*
* Lookup of entry in the dictionnary.
*/
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlDictLookup (xmlDictPtr dict,
const xmlChar *name,
int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlDictExists (xmlDictPtr dict,
const xmlChar *name,
int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlDictQLookup (xmlDictPtr dict,
const xmlChar *prefix,
const xmlChar *name);
XMLPUBFUN int XMLCALL
xmlDictOwns (xmlDictPtr dict,
const xmlChar *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlDictSize (xmlDictPtr dict);
/*
diff --git a/gettext-tools/gnulib-lib/libxml/elfgcchack.h b/gettext-tools/gnulib-lib/libxml/elfgcchack.h
index e69de29..8c52884 100644
--- a/gettext-tools/gnulib-lib/libxml/elfgcchack.h
+++ b/gettext-tools/gnulib-lib/libxml/elfgcchack.h
@@ -0,0 +1,17808 @@
+/*
+ * elfgcchack.h: hack by Arjan van de Ven <arjanv@redhat.com> to speed
+ * up the code when using gcc for call within the library.
+ *
+ * Based on the analysis http://people.redhat.com/drepper/dsohowto.pdf
+ * from Ulrich drepper. Rewritten to be generated from the XML description
+ * file for libxml2 API
+ * autogenerated with xsltproc doc/elfgcchack.xsl doc/libxml2-api.xml
+ */
+
+#ifdef IN_LIBXML
+#ifdef __GNUC__
+#ifdef PIC
+#ifdef linux
+#if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
+
+#include "libxml/c14n.h"
+#include "libxml/catalog.h"
+#include "libxml/chvalid.h"
+#include "libxml/debugXML.h"
+#include "libxml/dict.h"
+#include "libxml/DOCBparser.h"
+#include "libxml/encoding.h"
+#include "libxml/entities.h"
+#include "libxml/globals.h"
+#include "libxml/hash.h"
+#include "libxml/HTMLparser.h"
+#include "libxml/HTMLtree.h"
+#include "libxml/list.h"
+#include "libxml/nanoftp.h"
+#include "libxml/nanohttp.h"
+#include "libxml/parser.h"
+#include "libxml/parserInternals.h"
+#include "libxml/pattern.h"
+#include "libxml/relaxng.h"
+#include "libxml/SAX2.h"
+#include "libxml/SAX.h"
+#include "libxml/schemasInternals.h"
+#include "libxml/schematron.h"
+#include "libxml/threads.h"
+#include "libxml/tree.h"
+#include "libxml/uri.h"
+#include "libxml/valid.h"
+#include "libxml/xinclude.h"
+#include "libxml/xlink.h"
+#include "libxml/xmlautomata.h"
+#include "libxml/xmlerror.h"
+#include "libxml/xmlexports.h"
+#include "libxml/xmlIO.h"
+#include "libxml/xmlmemory.h"
+#include "libxml/xmlreader.h"
+#include "libxml/xmlregexp.h"
+#include "libxml/xmlsave.h"
+#include "libxml/xmlschemas.h"
+#include "libxml/xmlschemastypes.h"
+#include "libxml/xmlstring.h"
+#include "libxml/xmlunicode.h"
+#include "libxml/xmlversion.h"
+#include "libxml/xmlwriter.h"
+#include "libxml/xpath.h"
+#include "libxml/xpathInternals.h"
+#include "libxml/xpointer.h"
+#include "libxml/xmlmodule.h"
+
+/* special hot spot not exported ones */
+
+#ifdef bottom_globals
+#undef __xmlGenericError
+extern __typeof (__xmlGenericError) __xmlGenericError __attribute((alias("__xmlGenericError__internal_alias")));
+#else
+#ifndef __xmlGenericError
+extern __typeof (__xmlGenericError) __xmlGenericError__internal_alias __attribute((visibility("hidden")));
+#define __xmlGenericError __xmlGenericError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef __xmlGenericErrorContext
+extern __typeof (__xmlGenericErrorContext) __xmlGenericErrorContext __attribute((alias("__xmlGenericErrorContext__internal_alias")));
+#else
+#ifndef __xmlGenericErrorContext
+extern __typeof (__xmlGenericErrorContext) __xmlGenericErrorContext__internal_alias __attribute((visibility("hidden")));
+#define __xmlGenericErrorContext __xmlGenericErrorContext__internal_alias
+#endif
+#endif
+
+/* list generated from libxml2-api.xml */
+#if defined(LIBXML_DOCB_ENABLED)
+#ifdef bottom_DOCBparser
+#undef docbCreatePushParserCtxt
+extern __typeof (docbCreatePushParserCtxt) docbCreatePushParserCtxt __attribute((alias("docbCreatePushParserCtxt__internal_alias")));
+#else
+#ifndef docbCreatePushParserCtxt
+extern __typeof (docbCreatePushParserCtxt) docbCreatePushParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define docbCreatePushParserCtxt docbCreatePushParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlAttrAllowed
+extern __typeof (htmlAttrAllowed) htmlAttrAllowed __attribute((alias("htmlAttrAllowed__internal_alias")));
+#else
+#ifndef htmlAttrAllowed
+extern __typeof (htmlAttrAllowed) htmlAttrAllowed__internal_alias __attribute((visibility("hidden")));
+#define htmlAttrAllowed htmlAttrAllowed__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlAutoCloseTag
+extern __typeof (htmlAutoCloseTag) htmlAutoCloseTag __attribute((alias("htmlAutoCloseTag__internal_alias")));
+#else
+#ifndef htmlAutoCloseTag
+extern __typeof (htmlAutoCloseTag) htmlAutoCloseTag__internal_alias __attribute((visibility("hidden")));
+#define htmlAutoCloseTag htmlAutoCloseTag__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCreateFileParserCtxt
+extern __typeof (htmlCreateFileParserCtxt) htmlCreateFileParserCtxt __attribute((alias("htmlCreateFileParserCtxt__internal_alias")));
+#else
+#ifndef htmlCreateFileParserCtxt
+extern __typeof (htmlCreateFileParserCtxt) htmlCreateFileParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define htmlCreateFileParserCtxt htmlCreateFileParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCreateMemoryParserCtxt
+extern __typeof (htmlCreateMemoryParserCtxt) htmlCreateMemoryParserCtxt __attribute((alias("htmlCreateMemoryParserCtxt__internal_alias")));
+#else
+#ifndef htmlCreateMemoryParserCtxt
+extern __typeof (htmlCreateMemoryParserCtxt) htmlCreateMemoryParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define htmlCreateMemoryParserCtxt htmlCreateMemoryParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCreatePushParserCtxt
+extern __typeof (htmlCreatePushParserCtxt) htmlCreatePushParserCtxt __attribute((alias("htmlCreatePushParserCtxt__internal_alias")));
+#else
+#ifndef htmlCreatePushParserCtxt
+extern __typeof (htmlCreatePushParserCtxt) htmlCreatePushParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define htmlCreatePushParserCtxt htmlCreatePushParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtReadDoc
+extern __typeof (htmlCtxtReadDoc) htmlCtxtReadDoc __attribute((alias("htmlCtxtReadDoc__internal_alias")));
+#else
+#ifndef htmlCtxtReadDoc
+extern __typeof (htmlCtxtReadDoc) htmlCtxtReadDoc__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtReadDoc htmlCtxtReadDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtReadFd
+extern __typeof (htmlCtxtReadFd) htmlCtxtReadFd __attribute((alias("htmlCtxtReadFd__internal_alias")));
+#else
+#ifndef htmlCtxtReadFd
+extern __typeof (htmlCtxtReadFd) htmlCtxtReadFd__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtReadFd htmlCtxtReadFd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtReadFile
+extern __typeof (htmlCtxtReadFile) htmlCtxtReadFile __attribute((alias("htmlCtxtReadFile__internal_alias")));
+#else
+#ifndef htmlCtxtReadFile
+extern __typeof (htmlCtxtReadFile) htmlCtxtReadFile__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtReadFile htmlCtxtReadFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtReadIO
+extern __typeof (htmlCtxtReadIO) htmlCtxtReadIO __attribute((alias("htmlCtxtReadIO__internal_alias")));
+#else
+#ifndef htmlCtxtReadIO
+extern __typeof (htmlCtxtReadIO) htmlCtxtReadIO__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtReadIO htmlCtxtReadIO__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtReadMemory
+extern __typeof (htmlCtxtReadMemory) htmlCtxtReadMemory __attribute((alias("htmlCtxtReadMemory__internal_alias")));
+#else
+#ifndef htmlCtxtReadMemory
+extern __typeof (htmlCtxtReadMemory) htmlCtxtReadMemory__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtReadMemory htmlCtxtReadMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtReset
+extern __typeof (htmlCtxtReset) htmlCtxtReset __attribute((alias("htmlCtxtReset__internal_alias")));
+#else
+#ifndef htmlCtxtReset
+extern __typeof (htmlCtxtReset) htmlCtxtReset__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtReset htmlCtxtReset__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlCtxtUseOptions
+extern __typeof (htmlCtxtUseOptions) htmlCtxtUseOptions __attribute((alias("htmlCtxtUseOptions__internal_alias")));
+#else
+#ifndef htmlCtxtUseOptions
+extern __typeof (htmlCtxtUseOptions) htmlCtxtUseOptions__internal_alias __attribute((visibility("hidden")));
+#define htmlCtxtUseOptions htmlCtxtUseOptions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_SAX2
+#undef htmlDefaultSAXHandlerInit
+extern __typeof (htmlDefaultSAXHandlerInit) htmlDefaultSAXHandlerInit __attribute((alias("htmlDefaultSAXHandlerInit__internal_alias")));
+#else
+#ifndef htmlDefaultSAXHandlerInit
+extern __typeof (htmlDefaultSAXHandlerInit) htmlDefaultSAXHandlerInit__internal_alias __attribute((visibility("hidden")));
+#define htmlDefaultSAXHandlerInit htmlDefaultSAXHandlerInit__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlDocContentDumpFormatOutput
+extern __typeof (htmlDocContentDumpFormatOutput) htmlDocContentDumpFormatOutput __attribute((alias("htmlDocContentDumpFormatOutput__internal_alias")));
+#else
+#ifndef htmlDocContentDumpFormatOutput
+extern __typeof (htmlDocContentDumpFormatOutput) htmlDocContentDumpFormatOutput__internal_alias __attribute((visibility("hidden")));
+#define htmlDocContentDumpFormatOutput htmlDocContentDumpFormatOutput__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlDocContentDumpOutput
+extern __typeof (htmlDocContentDumpOutput) htmlDocContentDumpOutput __attribute((alias("htmlDocContentDumpOutput__internal_alias")));
+#else
+#ifndef htmlDocContentDumpOutput
+extern __typeof (htmlDocContentDumpOutput) htmlDocContentDumpOutput__internal_alias __attribute((visibility("hidden")));
+#define htmlDocContentDumpOutput htmlDocContentDumpOutput__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlDocDump
+extern __typeof (htmlDocDump) htmlDocDump __attribute((alias("htmlDocDump__internal_alias")));
+#else
+#ifndef htmlDocDump
+extern __typeof (htmlDocDump) htmlDocDump__internal_alias __attribute((visibility("hidden")));
+#define htmlDocDump htmlDocDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlDocDumpMemory
+extern __typeof (htmlDocDumpMemory) htmlDocDumpMemory __attribute((alias("htmlDocDumpMemory__internal_alias")));
+#else
+#ifndef htmlDocDumpMemory
+extern __typeof (htmlDocDumpMemory) htmlDocDumpMemory__internal_alias __attribute((visibility("hidden")));
+#define htmlDocDumpMemory htmlDocDumpMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlDocDumpMemoryFormat
+extern __typeof (htmlDocDumpMemoryFormat) htmlDocDumpMemoryFormat __attribute((alias("htmlDocDumpMemoryFormat__internal_alias")));
+#else
+#ifndef htmlDocDumpMemoryFormat
+extern __typeof (htmlDocDumpMemoryFormat) htmlDocDumpMemoryFormat__internal_alias __attribute((visibility("hidden")));
+#define htmlDocDumpMemoryFormat htmlDocDumpMemoryFormat__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlElementAllowedHere
+extern __typeof (htmlElementAllowedHere) htmlElementAllowedHere __attribute((alias("htmlElementAllowedHere__internal_alias")));
+#else
+#ifndef htmlElementAllowedHere
+extern __typeof (htmlElementAllowedHere) htmlElementAllowedHere__internal_alias __attribute((visibility("hidden")));
+#define htmlElementAllowedHere htmlElementAllowedHere__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlElementStatusHere
+extern __typeof (htmlElementStatusHere) htmlElementStatusHere __attribute((alias("htmlElementStatusHere__internal_alias")));
+#else
+#ifndef htmlElementStatusHere
+extern __typeof (htmlElementStatusHere) htmlElementStatusHere__internal_alias __attribute((visibility("hidden")));
+#define htmlElementStatusHere htmlElementStatusHere__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlEncodeEntities
+extern __typeof (htmlEncodeEntities) htmlEncodeEntities __attribute((alias("htmlEncodeEntities__internal_alias")));
+#else
+#ifndef htmlEncodeEntities
+extern __typeof (htmlEncodeEntities) htmlEncodeEntities__internal_alias __attribute((visibility("hidden")));
+#define htmlEncodeEntities htmlEncodeEntities__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlEntityLookup
+extern __typeof (htmlEntityLookup) htmlEntityLookup __attribute((alias("htmlEntityLookup__internal_alias")));
+#else
+#ifndef htmlEntityLookup
+extern __typeof (htmlEntityLookup) htmlEntityLookup__internal_alias __attribute((visibility("hidden")));
+#define htmlEntityLookup htmlEntityLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlEntityValueLookup
+extern __typeof (htmlEntityValueLookup) htmlEntityValueLookup __attribute((alias("htmlEntityValueLookup__internal_alias")));
+#else
+#ifndef htmlEntityValueLookup
+extern __typeof (htmlEntityValueLookup) htmlEntityValueLookup__internal_alias __attribute((visibility("hidden")));
+#define htmlEntityValueLookup htmlEntityValueLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlFreeParserCtxt
+extern __typeof (htmlFreeParserCtxt) htmlFreeParserCtxt __attribute((alias("htmlFreeParserCtxt__internal_alias")));
+#else
+#ifndef htmlFreeParserCtxt
+extern __typeof (htmlFreeParserCtxt) htmlFreeParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define htmlFreeParserCtxt htmlFreeParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlGetMetaEncoding
+extern __typeof (htmlGetMetaEncoding) htmlGetMetaEncoding __attribute((alias("htmlGetMetaEncoding__internal_alias")));
+#else
+#ifndef htmlGetMetaEncoding
+extern __typeof (htmlGetMetaEncoding) htmlGetMetaEncoding__internal_alias __attribute((visibility("hidden")));
+#define htmlGetMetaEncoding htmlGetMetaEncoding__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlHandleOmittedElem
+extern __typeof (htmlHandleOmittedElem) htmlHandleOmittedElem __attribute((alias("htmlHandleOmittedElem__internal_alias")));
+#else
+#ifndef htmlHandleOmittedElem
+extern __typeof (htmlHandleOmittedElem) htmlHandleOmittedElem__internal_alias __attribute((visibility("hidden")));
+#define htmlHandleOmittedElem htmlHandleOmittedElem__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlInitAutoClose
+extern __typeof (htmlInitAutoClose) htmlInitAutoClose __attribute((alias("htmlInitAutoClose__internal_alias")));
+#else
+#ifndef htmlInitAutoClose
+extern __typeof (htmlInitAutoClose) htmlInitAutoClose__internal_alias __attribute((visibility("hidden")));
+#define htmlInitAutoClose htmlInitAutoClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlIsAutoClosed
+extern __typeof (htmlIsAutoClosed) htmlIsAutoClosed __attribute((alias("htmlIsAutoClosed__internal_alias")));
+#else
+#ifndef htmlIsAutoClosed
+extern __typeof (htmlIsAutoClosed) htmlIsAutoClosed__internal_alias __attribute((visibility("hidden")));
+#define htmlIsAutoClosed htmlIsAutoClosed__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlIsBooleanAttr
+extern __typeof (htmlIsBooleanAttr) htmlIsBooleanAttr __attribute((alias("htmlIsBooleanAttr__internal_alias")));
+#else
+#ifndef htmlIsBooleanAttr
+extern __typeof (htmlIsBooleanAttr) htmlIsBooleanAttr__internal_alias __attribute((visibility("hidden")));
+#define htmlIsBooleanAttr htmlIsBooleanAttr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlIsScriptAttribute
+extern __typeof (htmlIsScriptAttribute) htmlIsScriptAttribute __attribute((alias("htmlIsScriptAttribute__internal_alias")));
+#else
+#ifndef htmlIsScriptAttribute
+extern __typeof (htmlIsScriptAttribute) htmlIsScriptAttribute__internal_alias __attribute((visibility("hidden")));
+#define htmlIsScriptAttribute htmlIsScriptAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlNewDoc
+extern __typeof (htmlNewDoc) htmlNewDoc __attribute((alias("htmlNewDoc__internal_alias")));
+#else
+#ifndef htmlNewDoc
+extern __typeof (htmlNewDoc) htmlNewDoc__internal_alias __attribute((visibility("hidden")));
+#define htmlNewDoc htmlNewDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlNewDocNoDtD
+extern __typeof (htmlNewDocNoDtD) htmlNewDocNoDtD __attribute((alias("htmlNewDocNoDtD__internal_alias")));
+#else
+#ifndef htmlNewDocNoDtD
+extern __typeof (htmlNewDocNoDtD) htmlNewDocNoDtD__internal_alias __attribute((visibility("hidden")));
+#define htmlNewDocNoDtD htmlNewDocNoDtD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlNewParserCtxt
+extern __typeof (htmlNewParserCtxt) htmlNewParserCtxt __attribute((alias("htmlNewParserCtxt__internal_alias")));
+#else
+#ifndef htmlNewParserCtxt
+extern __typeof (htmlNewParserCtxt) htmlNewParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define htmlNewParserCtxt htmlNewParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlNodeDump
+extern __typeof (htmlNodeDump) htmlNodeDump __attribute((alias("htmlNodeDump__internal_alias")));
+#else
+#ifndef htmlNodeDump
+extern __typeof (htmlNodeDump) htmlNodeDump__internal_alias __attribute((visibility("hidden")));
+#define htmlNodeDump htmlNodeDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlNodeDumpFile
+extern __typeof (htmlNodeDumpFile) htmlNodeDumpFile __attribute((alias("htmlNodeDumpFile__internal_alias")));
+#else
+#ifndef htmlNodeDumpFile
+extern __typeof (htmlNodeDumpFile) htmlNodeDumpFile__internal_alias __attribute((visibility("hidden")));
+#define htmlNodeDumpFile htmlNodeDumpFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlNodeDumpFileFormat
+extern __typeof (htmlNodeDumpFileFormat) htmlNodeDumpFileFormat __attribute((alias("htmlNodeDumpFileFormat__internal_alias")));
+#else
+#ifndef htmlNodeDumpFileFormat
+extern __typeof (htmlNodeDumpFileFormat) htmlNodeDumpFileFormat__internal_alias __attribute((visibility("hidden")));
+#define htmlNodeDumpFileFormat htmlNodeDumpFileFormat__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlNodeDumpFormatOutput
+extern __typeof (htmlNodeDumpFormatOutput) htmlNodeDumpFormatOutput __attribute((alias("htmlNodeDumpFormatOutput__internal_alias")));
+#else
+#ifndef htmlNodeDumpFormatOutput
+extern __typeof (htmlNodeDumpFormatOutput) htmlNodeDumpFormatOutput__internal_alias __attribute((visibility("hidden")));
+#define htmlNodeDumpFormatOutput htmlNodeDumpFormatOutput__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlNodeDumpOutput
+extern __typeof (htmlNodeDumpOutput) htmlNodeDumpOutput __attribute((alias("htmlNodeDumpOutput__internal_alias")));
+#else
+#ifndef htmlNodeDumpOutput
+extern __typeof (htmlNodeDumpOutput) htmlNodeDumpOutput__internal_alias __attribute((visibility("hidden")));
+#define htmlNodeDumpOutput htmlNodeDumpOutput__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlNodeStatus
+extern __typeof (htmlNodeStatus) htmlNodeStatus __attribute((alias("htmlNodeStatus__internal_alias")));
+#else
+#ifndef htmlNodeStatus
+extern __typeof (htmlNodeStatus) htmlNodeStatus__internal_alias __attribute((visibility("hidden")));
+#define htmlNodeStatus htmlNodeStatus__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseCharRef
+extern __typeof (htmlParseCharRef) htmlParseCharRef __attribute((alias("htmlParseCharRef__internal_alias")));
+#else
+#ifndef htmlParseCharRef
+extern __typeof (htmlParseCharRef) htmlParseCharRef__internal_alias __attribute((visibility("hidden")));
+#define htmlParseCharRef htmlParseCharRef__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseChunk
+extern __typeof (htmlParseChunk) htmlParseChunk __attribute((alias("htmlParseChunk__internal_alias")));
+#else
+#ifndef htmlParseChunk
+extern __typeof (htmlParseChunk) htmlParseChunk__internal_alias __attribute((visibility("hidden")));
+#define htmlParseChunk htmlParseChunk__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseDoc
+extern __typeof (htmlParseDoc) htmlParseDoc __attribute((alias("htmlParseDoc__internal_alias")));
+#else
+#ifndef htmlParseDoc
+extern __typeof (htmlParseDoc) htmlParseDoc__internal_alias __attribute((visibility("hidden")));
+#define htmlParseDoc htmlParseDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseDocument
+extern __typeof (htmlParseDocument) htmlParseDocument __attribute((alias("htmlParseDocument__internal_alias")));
+#else
+#ifndef htmlParseDocument
+extern __typeof (htmlParseDocument) htmlParseDocument__internal_alias __attribute((visibility("hidden")));
+#define htmlParseDocument htmlParseDocument__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseElement
+extern __typeof (htmlParseElement) htmlParseElement __attribute((alias("htmlParseElement__internal_alias")));
+#else
+#ifndef htmlParseElement
+extern __typeof (htmlParseElement) htmlParseElement__internal_alias __attribute((visibility("hidden")));
+#define htmlParseElement htmlParseElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseEntityRef
+extern __typeof (htmlParseEntityRef) htmlParseEntityRef __attribute((alias("htmlParseEntityRef__internal_alias")));
+#else
+#ifndef htmlParseEntityRef
+extern __typeof (htmlParseEntityRef) htmlParseEntityRef__internal_alias __attribute((visibility("hidden")));
+#define htmlParseEntityRef htmlParseEntityRef__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlParseFile
+extern __typeof (htmlParseFile) htmlParseFile __attribute((alias("htmlParseFile__internal_alias")));
+#else
+#ifndef htmlParseFile
+extern __typeof (htmlParseFile) htmlParseFile__internal_alias __attribute((visibility("hidden")));
+#define htmlParseFile htmlParseFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlReadDoc
+extern __typeof (htmlReadDoc) htmlReadDoc __attribute((alias("htmlReadDoc__internal_alias")));
+#else
+#ifndef htmlReadDoc
+extern __typeof (htmlReadDoc) htmlReadDoc__internal_alias __attribute((visibility("hidden")));
+#define htmlReadDoc htmlReadDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlReadFd
+extern __typeof (htmlReadFd) htmlReadFd __attribute((alias("htmlReadFd__internal_alias")));
+#else
+#ifndef htmlReadFd
+extern __typeof (htmlReadFd) htmlReadFd__internal_alias __attribute((visibility("hidden")));
+#define htmlReadFd htmlReadFd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlReadFile
+extern __typeof (htmlReadFile) htmlReadFile __attribute((alias("htmlReadFile__internal_alias")));
+#else
+#ifndef htmlReadFile
+extern __typeof (htmlReadFile) htmlReadFile__internal_alias __attribute((visibility("hidden")));
+#define htmlReadFile htmlReadFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlReadIO
+extern __typeof (htmlReadIO) htmlReadIO __attribute((alias("htmlReadIO__internal_alias")));
+#else
+#ifndef htmlReadIO
+extern __typeof (htmlReadIO) htmlReadIO__internal_alias __attribute((visibility("hidden")));
+#define htmlReadIO htmlReadIO__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlReadMemory
+extern __typeof (htmlReadMemory) htmlReadMemory __attribute((alias("htmlReadMemory__internal_alias")));
+#else
+#ifndef htmlReadMemory
+extern __typeof (htmlReadMemory) htmlReadMemory__internal_alias __attribute((visibility("hidden")));
+#define htmlReadMemory htmlReadMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlSAXParseDoc
+extern __typeof (htmlSAXParseDoc) htmlSAXParseDoc __attribute((alias("htmlSAXParseDoc__internal_alias")));
+#else
+#ifndef htmlSAXParseDoc
+extern __typeof (htmlSAXParseDoc) htmlSAXParseDoc__internal_alias __attribute((visibility("hidden")));
+#define htmlSAXParseDoc htmlSAXParseDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlSAXParseFile
+extern __typeof (htmlSAXParseFile) htmlSAXParseFile __attribute((alias("htmlSAXParseFile__internal_alias")));
+#else
+#ifndef htmlSAXParseFile
+extern __typeof (htmlSAXParseFile) htmlSAXParseFile__internal_alias __attribute((visibility("hidden")));
+#define htmlSAXParseFile htmlSAXParseFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlSaveFile
+extern __typeof (htmlSaveFile) htmlSaveFile __attribute((alias("htmlSaveFile__internal_alias")));
+#else
+#ifndef htmlSaveFile
+extern __typeof (htmlSaveFile) htmlSaveFile__internal_alias __attribute((visibility("hidden")));
+#define htmlSaveFile htmlSaveFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlSaveFileEnc
+extern __typeof (htmlSaveFileEnc) htmlSaveFileEnc __attribute((alias("htmlSaveFileEnc__internal_alias")));
+#else
+#ifndef htmlSaveFileEnc
+extern __typeof (htmlSaveFileEnc) htmlSaveFileEnc__internal_alias __attribute((visibility("hidden")));
+#define htmlSaveFileEnc htmlSaveFileEnc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlSaveFileFormat
+extern __typeof (htmlSaveFileFormat) htmlSaveFileFormat __attribute((alias("htmlSaveFileFormat__internal_alias")));
+#else
+#ifndef htmlSaveFileFormat
+extern __typeof (htmlSaveFileFormat) htmlSaveFileFormat__internal_alias __attribute((visibility("hidden")));
+#define htmlSaveFileFormat htmlSaveFileFormat__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLtree
+#undef htmlSetMetaEncoding
+extern __typeof (htmlSetMetaEncoding) htmlSetMetaEncoding __attribute((alias("htmlSetMetaEncoding__internal_alias")));
+#else
+#ifndef htmlSetMetaEncoding
+extern __typeof (htmlSetMetaEncoding) htmlSetMetaEncoding__internal_alias __attribute((visibility("hidden")));
+#define htmlSetMetaEncoding htmlSetMetaEncoding__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_HTMLparser
+#undef htmlTagLookup
+extern __typeof (htmlTagLookup) htmlTagLookup __attribute((alias("htmlTagLookup__internal_alias")));
+#else
+#ifndef htmlTagLookup
+extern __typeof (htmlTagLookup) htmlTagLookup__internal_alias __attribute((visibility("hidden")));
+#define htmlTagLookup htmlTagLookup__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef inputPop
+extern __typeof (inputPop) inputPop __attribute((alias("inputPop__internal_alias")));
+#else
+#ifndef inputPop
+extern __typeof (inputPop) inputPop__internal_alias __attribute((visibility("hidden")));
+#define inputPop inputPop__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef inputPush
+extern __typeof (inputPush) inputPush __attribute((alias("inputPush__internal_alias")));
+#else
+#ifndef inputPush
+extern __typeof (inputPush) inputPush__internal_alias __attribute((visibility("hidden")));
+#define inputPush inputPush__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef namePop
+extern __typeof (namePop) namePop __attribute((alias("namePop__internal_alias")));
+#else
+#ifndef namePop
+extern __typeof (namePop) namePop__internal_alias __attribute((visibility("hidden")));
+#define namePop namePop__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef namePush
+extern __typeof (namePush) namePush __attribute((alias("namePush__internal_alias")));
+#else
+#ifndef namePush
+extern __typeof (namePush) namePush__internal_alias __attribute((visibility("hidden")));
+#define namePush namePush__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef nodePop
+extern __typeof (nodePop) nodePop __attribute((alias("nodePop__internal_alias")));
+#else
+#ifndef nodePop
+extern __typeof (nodePop) nodePop__internal_alias __attribute((visibility("hidden")));
+#define nodePop nodePop__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef nodePush
+extern __typeof (nodePush) nodePush __attribute((alias("nodePush__internal_alias")));
+#else
+#ifndef nodePush
+extern __typeof (nodePush) nodePush__internal_alias __attribute((visibility("hidden")));
+#define nodePush nodePush__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef valuePop
+extern __typeof (valuePop) valuePop __attribute((alias("valuePop__internal_alias")));
+#else
+#ifndef valuePop
+extern __typeof (valuePop) valuePop__internal_alias __attribute((visibility("hidden")));
+#define valuePop valuePop__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef valuePush
+extern __typeof (valuePush) valuePush __attribute((alias("valuePush__internal_alias")));
+#else
+#ifndef valuePush
+extern __typeof (valuePush) valuePush__internal_alias __attribute((visibility("hidden")));
+#define valuePush valuePush__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogAdd
+extern __typeof (xmlACatalogAdd) xmlACatalogAdd __attribute((alias("xmlACatalogAdd__internal_alias")));
+#else
+#ifndef xmlACatalogAdd
+extern __typeof (xmlACatalogAdd) xmlACatalogAdd__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogAdd xmlACatalogAdd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogDump
+extern __typeof (xmlACatalogDump) xmlACatalogDump __attribute((alias("xmlACatalogDump__internal_alias")));
+#else
+#ifndef xmlACatalogDump
+extern __typeof (xmlACatalogDump) xmlACatalogDump__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogDump xmlACatalogDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogRemove
+extern __typeof (xmlACatalogRemove) xmlACatalogRemove __attribute((alias("xmlACatalogRemove__internal_alias")));
+#else
+#ifndef xmlACatalogRemove
+extern __typeof (xmlACatalogRemove) xmlACatalogRemove__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogRemove xmlACatalogRemove__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogResolve
+extern __typeof (xmlACatalogResolve) xmlACatalogResolve __attribute((alias("xmlACatalogResolve__internal_alias")));
+#else
+#ifndef xmlACatalogResolve
+extern __typeof (xmlACatalogResolve) xmlACatalogResolve__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogResolve xmlACatalogResolve__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogResolvePublic
+extern __typeof (xmlACatalogResolvePublic) xmlACatalogResolvePublic __attribute((alias("xmlACatalogResolvePublic__internal_alias")));
+#else
+#ifndef xmlACatalogResolvePublic
+extern __typeof (xmlACatalogResolvePublic) xmlACatalogResolvePublic__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogResolvePublic xmlACatalogResolvePublic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogResolveSystem
+extern __typeof (xmlACatalogResolveSystem) xmlACatalogResolveSystem __attribute((alias("xmlACatalogResolveSystem__internal_alias")));
+#else
+#ifndef xmlACatalogResolveSystem
+extern __typeof (xmlACatalogResolveSystem) xmlACatalogResolveSystem__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogResolveSystem xmlACatalogResolveSystem__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlACatalogResolveURI
+extern __typeof (xmlACatalogResolveURI) xmlACatalogResolveURI __attribute((alias("xmlACatalogResolveURI__internal_alias")));
+#else
+#ifndef xmlACatalogResolveURI
+extern __typeof (xmlACatalogResolveURI) xmlACatalogResolveURI__internal_alias __attribute((visibility("hidden")));
+#define xmlACatalogResolveURI xmlACatalogResolveURI__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlAddAttributeDecl
+extern __typeof (xmlAddAttributeDecl) xmlAddAttributeDecl __attribute((alias("xmlAddAttributeDecl__internal_alias")));
+#else
+#ifndef xmlAddAttributeDecl
+extern __typeof (xmlAddAttributeDecl) xmlAddAttributeDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlAddAttributeDecl xmlAddAttributeDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlAddChild
+extern __typeof (xmlAddChild) xmlAddChild __attribute((alias("xmlAddChild__internal_alias")));
+#else
+#ifndef xmlAddChild
+extern __typeof (xmlAddChild) xmlAddChild__internal_alias __attribute((visibility("hidden")));
+#define xmlAddChild xmlAddChild__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlAddChildList
+extern __typeof (xmlAddChildList) xmlAddChildList __attribute((alias("xmlAddChildList__internal_alias")));
+#else
+#ifndef xmlAddChildList
+extern __typeof (xmlAddChildList) xmlAddChildList__internal_alias __attribute((visibility("hidden")));
+#define xmlAddChildList xmlAddChildList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlAddDocEntity
+extern __typeof (xmlAddDocEntity) xmlAddDocEntity __attribute((alias("xmlAddDocEntity__internal_alias")));
+#else
+#ifndef xmlAddDocEntity
+extern __typeof (xmlAddDocEntity) xmlAddDocEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlAddDocEntity xmlAddDocEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlAddDtdEntity
+extern __typeof (xmlAddDtdEntity) xmlAddDtdEntity __attribute((alias("xmlAddDtdEntity__internal_alias")));
+#else
+#ifndef xmlAddDtdEntity
+extern __typeof (xmlAddDtdEntity) xmlAddDtdEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlAddDtdEntity xmlAddDtdEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlAddElementDecl
+extern __typeof (xmlAddElementDecl) xmlAddElementDecl __attribute((alias("xmlAddElementDecl__internal_alias")));
+#else
+#ifndef xmlAddElementDecl
+extern __typeof (xmlAddElementDecl) xmlAddElementDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlAddElementDecl xmlAddElementDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlAddEncodingAlias
+extern __typeof (xmlAddEncodingAlias) xmlAddEncodingAlias __attribute((alias("xmlAddEncodingAlias__internal_alias")));
+#else
+#ifndef xmlAddEncodingAlias
+extern __typeof (xmlAddEncodingAlias) xmlAddEncodingAlias__internal_alias __attribute((visibility("hidden")));
+#define xmlAddEncodingAlias xmlAddEncodingAlias__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlAddID
+extern __typeof (xmlAddID) xmlAddID __attribute((alias("xmlAddID__internal_alias")));
+#else
+#ifndef xmlAddID
+extern __typeof (xmlAddID) xmlAddID__internal_alias __attribute((visibility("hidden")));
+#define xmlAddID xmlAddID__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlAddNextSibling
+extern __typeof (xmlAddNextSibling) xmlAddNextSibling __attribute((alias("xmlAddNextSibling__internal_alias")));
+#else
+#ifndef xmlAddNextSibling
+extern __typeof (xmlAddNextSibling) xmlAddNextSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlAddNextSibling xmlAddNextSibling__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlAddNotationDecl
+extern __typeof (xmlAddNotationDecl) xmlAddNotationDecl __attribute((alias("xmlAddNotationDecl__internal_alias")));
+#else
+#ifndef xmlAddNotationDecl
+extern __typeof (xmlAddNotationDecl) xmlAddNotationDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlAddNotationDecl xmlAddNotationDecl__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_tree
+#undef xmlAddPrevSibling
+extern __typeof (xmlAddPrevSibling) xmlAddPrevSibling __attribute((alias("xmlAddPrevSibling__internal_alias")));
+#else
+#ifndef xmlAddPrevSibling
+extern __typeof (xmlAddPrevSibling) xmlAddPrevSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlAddPrevSibling xmlAddPrevSibling__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlAddRef
+extern __typeof (xmlAddRef) xmlAddRef __attribute((alias("xmlAddRef__internal_alias")));
+#else
+#ifndef xmlAddRef
+extern __typeof (xmlAddRef) xmlAddRef__internal_alias __attribute((visibility("hidden")));
+#define xmlAddRef xmlAddRef__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlAddSibling
+extern __typeof (xmlAddSibling) xmlAddSibling __attribute((alias("xmlAddSibling__internal_alias")));
+#else
+#ifndef xmlAddSibling
+extern __typeof (xmlAddSibling) xmlAddSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlAddSibling xmlAddSibling__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlAllocOutputBuffer
+extern __typeof (xmlAllocOutputBuffer) xmlAllocOutputBuffer __attribute((alias("xmlAllocOutputBuffer__internal_alias")));
+#else
+#ifndef xmlAllocOutputBuffer
+extern __typeof (xmlAllocOutputBuffer) xmlAllocOutputBuffer__internal_alias __attribute((visibility("hidden")));
+#define xmlAllocOutputBuffer xmlAllocOutputBuffer__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlAllocParserInputBuffer
+extern __typeof (xmlAllocParserInputBuffer) xmlAllocParserInputBuffer __attribute((alias("xmlAllocParserInputBuffer__internal_alias")));
+#else
+#ifndef xmlAllocParserInputBuffer
+extern __typeof (xmlAllocParserInputBuffer) xmlAllocParserInputBuffer__internal_alias __attribute((visibility("hidden")));
+#define xmlAllocParserInputBuffer xmlAllocParserInputBuffer__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlAttrSerializeTxtContent
+extern __typeof (xmlAttrSerializeTxtContent) xmlAttrSerializeTxtContent __attribute((alias("xmlAttrSerializeTxtContent__internal_alias")));
+#else
+#ifndef xmlAttrSerializeTxtContent
+extern __typeof (xmlAttrSerializeTxtContent) xmlAttrSerializeTxtContent__internal_alias __attribute((visibility("hidden")));
+#define xmlAttrSerializeTxtContent xmlAttrSerializeTxtContent__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataCompile
+extern __typeof (xmlAutomataCompile) xmlAutomataCompile __attribute((alias("xmlAutomataCompile__internal_alias")));
+#else
+#ifndef xmlAutomataCompile
+extern __typeof (xmlAutomataCompile) xmlAutomataCompile__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataCompile xmlAutomataCompile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataGetInitState
+extern __typeof (xmlAutomataGetInitState) xmlAutomataGetInitState __attribute((alias("xmlAutomataGetInitState__internal_alias")));
+#else
+#ifndef xmlAutomataGetInitState
+extern __typeof (xmlAutomataGetInitState) xmlAutomataGetInitState__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataGetInitState xmlAutomataGetInitState__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataIsDeterminist
+extern __typeof (xmlAutomataIsDeterminist) xmlAutomataIsDeterminist __attribute((alias("xmlAutomataIsDeterminist__internal_alias")));
+#else
+#ifndef xmlAutomataIsDeterminist
+extern __typeof (xmlAutomataIsDeterminist) xmlAutomataIsDeterminist__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataIsDeterminist xmlAutomataIsDeterminist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewAllTrans
+extern __typeof (xmlAutomataNewAllTrans) xmlAutomataNewAllTrans __attribute((alias("xmlAutomataNewAllTrans__internal_alias")));
+#else
+#ifndef xmlAutomataNewAllTrans
+extern __typeof (xmlAutomataNewAllTrans) xmlAutomataNewAllTrans__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewAllTrans xmlAutomataNewAllTrans__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewCountTrans
+extern __typeof (xmlAutomataNewCountTrans) xmlAutomataNewCountTrans __attribute((alias("xmlAutomataNewCountTrans__internal_alias")));
+#else
+#ifndef xmlAutomataNewCountTrans
+extern __typeof (xmlAutomataNewCountTrans) xmlAutomataNewCountTrans__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewCountTrans xmlAutomataNewCountTrans__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewCountTrans2
+extern __typeof (xmlAutomataNewCountTrans2) xmlAutomataNewCountTrans2 __attribute((alias("xmlAutomataNewCountTrans2__internal_alias")));
+#else
+#ifndef xmlAutomataNewCountTrans2
+extern __typeof (xmlAutomataNewCountTrans2) xmlAutomataNewCountTrans2__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewCountTrans2 xmlAutomataNewCountTrans2__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewCountedTrans
+extern __typeof (xmlAutomataNewCountedTrans) xmlAutomataNewCountedTrans __attribute((alias("xmlAutomataNewCountedTrans__internal_alias")));
+#else
+#ifndef xmlAutomataNewCountedTrans
+extern __typeof (xmlAutomataNewCountedTrans) xmlAutomataNewCountedTrans__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewCountedTrans xmlAutomataNewCountedTrans__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewCounter
+extern __typeof (xmlAutomataNewCounter) xmlAutomataNewCounter __attribute((alias("xmlAutomataNewCounter__internal_alias")));
+#else
+#ifndef xmlAutomataNewCounter
+extern __typeof (xmlAutomataNewCounter) xmlAutomataNewCounter__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewCounter xmlAutomataNewCounter__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewCounterTrans
+extern __typeof (xmlAutomataNewCounterTrans) xmlAutomataNewCounterTrans __attribute((alias("xmlAutomataNewCounterTrans__internal_alias")));
+#else
+#ifndef xmlAutomataNewCounterTrans
+extern __typeof (xmlAutomataNewCounterTrans) xmlAutomataNewCounterTrans__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewCounterTrans xmlAutomataNewCounterTrans__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewEpsilon
+extern __typeof (xmlAutomataNewEpsilon) xmlAutomataNewEpsilon __attribute((alias("xmlAutomataNewEpsilon__internal_alias")));
+#else
+#ifndef xmlAutomataNewEpsilon
+extern __typeof (xmlAutomataNewEpsilon) xmlAutomataNewEpsilon__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewEpsilon xmlAutomataNewEpsilon__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewNegTrans
+extern __typeof (xmlAutomataNewNegTrans) xmlAutomataNewNegTrans __attribute((alias("xmlAutomataNewNegTrans__internal_alias")));
+#else
+#ifndef xmlAutomataNewNegTrans
+extern __typeof (xmlAutomataNewNegTrans) xmlAutomataNewNegTrans__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewNegTrans xmlAutomataNewNegTrans__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewOnceTrans
+extern __typeof (xmlAutomataNewOnceTrans) xmlAutomataNewOnceTrans __attribute((alias("xmlAutomataNewOnceTrans__internal_alias")));
+#else
+#ifndef xmlAutomataNewOnceTrans
+extern __typeof (xmlAutomataNewOnceTrans) xmlAutomataNewOnceTrans__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewOnceTrans xmlAutomataNewOnceTrans__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewOnceTrans2
+extern __typeof (xmlAutomataNewOnceTrans2) xmlAutomataNewOnceTrans2 __attribute((alias("xmlAutomataNewOnceTrans2__internal_alias")));
+#else
+#ifndef xmlAutomataNewOnceTrans2
+extern __typeof (xmlAutomataNewOnceTrans2) xmlAutomataNewOnceTrans2__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewOnceTrans2 xmlAutomataNewOnceTrans2__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewState
+extern __typeof (xmlAutomataNewState) xmlAutomataNewState __attribute((alias("xmlAutomataNewState__internal_alias")));
+#else
+#ifndef xmlAutomataNewState
+extern __typeof (xmlAutomataNewState) xmlAutomataNewState__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewState xmlAutomataNewState__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewTransition
+extern __typeof (xmlAutomataNewTransition) xmlAutomataNewTransition __attribute((alias("xmlAutomataNewTransition__internal_alias")));
+#else
+#ifndef xmlAutomataNewTransition
+extern __typeof (xmlAutomataNewTransition) xmlAutomataNewTransition__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewTransition xmlAutomataNewTransition__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataNewTransition2
+extern __typeof (xmlAutomataNewTransition2) xmlAutomataNewTransition2 __attribute((alias("xmlAutomataNewTransition2__internal_alias")));
+#else
+#ifndef xmlAutomataNewTransition2
+extern __typeof (xmlAutomataNewTransition2) xmlAutomataNewTransition2__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataNewTransition2 xmlAutomataNewTransition2__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlAutomataSetFinalState
+extern __typeof (xmlAutomataSetFinalState) xmlAutomataSetFinalState __attribute((alias("xmlAutomataSetFinalState__internal_alias")));
+#else
+#ifndef xmlAutomataSetFinalState
+extern __typeof (xmlAutomataSetFinalState) xmlAutomataSetFinalState__internal_alias __attribute((visibility("hidden")));
+#define xmlAutomataSetFinalState xmlAutomataSetFinalState__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlBoolToText
+extern __typeof (xmlBoolToText) xmlBoolToText __attribute((alias("xmlBoolToText__internal_alias")));
+#else
+#ifndef xmlBoolToText
+extern __typeof (xmlBoolToText) xmlBoolToText__internal_alias __attribute((visibility("hidden")));
+#define xmlBoolToText xmlBoolToText__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufContent
+extern __typeof (xmlBufContent) xmlBufContent __attribute((alias("xmlBufContent__internal_alias")));
+#else
+#ifndef xmlBufContent
+extern __typeof (xmlBufContent) xmlBufContent__internal_alias __attribute((visibility("hidden")));
+#define xmlBufContent xmlBufContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufEnd
+extern __typeof (xmlBufEnd) xmlBufEnd __attribute((alias("xmlBufEnd__internal_alias")));
+#else
+#ifndef xmlBufEnd
+extern __typeof (xmlBufEnd) xmlBufEnd__internal_alias __attribute((visibility("hidden")));
+#define xmlBufEnd xmlBufEnd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufGetNodeContent
+extern __typeof (xmlBufGetNodeContent) xmlBufGetNodeContent __attribute((alias("xmlBufGetNodeContent__internal_alias")));
+#else
+#ifndef xmlBufGetNodeContent
+extern __typeof (xmlBufGetNodeContent) xmlBufGetNodeContent__internal_alias __attribute((visibility("hidden")));
+#define xmlBufGetNodeContent xmlBufGetNodeContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlBufNodeDump
+extern __typeof (xmlBufNodeDump) xmlBufNodeDump __attribute((alias("xmlBufNodeDump__internal_alias")));
+#else
+#ifndef xmlBufNodeDump
+extern __typeof (xmlBufNodeDump) xmlBufNodeDump__internal_alias __attribute((visibility("hidden")));
+#define xmlBufNodeDump xmlBufNodeDump__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufShrink
+extern __typeof (xmlBufShrink) xmlBufShrink __attribute((alias("xmlBufShrink__internal_alias")));
+#else
+#ifndef xmlBufShrink
+extern __typeof (xmlBufShrink) xmlBufShrink__internal_alias __attribute((visibility("hidden")));
+#define xmlBufShrink xmlBufShrink__internal_alias
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufUse
+extern __typeof (xmlBufUse) xmlBufUse __attribute((alias("xmlBufUse__internal_alias")));
+#else
+#ifndef xmlBufUse
+extern __typeof (xmlBufUse) xmlBufUse__internal_alias __attribute((visibility("hidden")));
+#define xmlBufUse xmlBufUse__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferAdd
+extern __typeof (xmlBufferAdd) xmlBufferAdd __attribute((alias("xmlBufferAdd__internal_alias")));
+#else
+#ifndef xmlBufferAdd
+extern __typeof (xmlBufferAdd) xmlBufferAdd__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferAdd xmlBufferAdd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferAddHead
+extern __typeof (xmlBufferAddHead) xmlBufferAddHead __attribute((alias("xmlBufferAddHead__internal_alias")));
+#else
+#ifndef xmlBufferAddHead
+extern __typeof (xmlBufferAddHead) xmlBufferAddHead__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferAddHead xmlBufferAddHead__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferCCat
+extern __typeof (xmlBufferCCat) xmlBufferCCat __attribute((alias("xmlBufferCCat__internal_alias")));
+#else
+#ifndef xmlBufferCCat
+extern __typeof (xmlBufferCCat) xmlBufferCCat__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferCCat xmlBufferCCat__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferCat
+extern __typeof (xmlBufferCat) xmlBufferCat __attribute((alias("xmlBufferCat__internal_alias")));
+#else
+#ifndef xmlBufferCat
+extern __typeof (xmlBufferCat) xmlBufferCat__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferCat xmlBufferCat__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferContent
+extern __typeof (xmlBufferContent) xmlBufferContent __attribute((alias("xmlBufferContent__internal_alias")));
+#else
+#ifndef xmlBufferContent
+extern __typeof (xmlBufferContent) xmlBufferContent__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferContent xmlBufferContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferCreate
+extern __typeof (xmlBufferCreate) xmlBufferCreate __attribute((alias("xmlBufferCreate__internal_alias")));
+#else
+#ifndef xmlBufferCreate
+extern __typeof (xmlBufferCreate) xmlBufferCreate__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferCreate xmlBufferCreate__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferCreateSize
+extern __typeof (xmlBufferCreateSize) xmlBufferCreateSize __attribute((alias("xmlBufferCreateSize__internal_alias")));
+#else
+#ifndef xmlBufferCreateSize
+extern __typeof (xmlBufferCreateSize) xmlBufferCreateSize__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferCreateSize xmlBufferCreateSize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferCreateStatic
+extern __typeof (xmlBufferCreateStatic) xmlBufferCreateStatic __attribute((alias("xmlBufferCreateStatic__internal_alias")));
+#else
+#ifndef xmlBufferCreateStatic
+extern __typeof (xmlBufferCreateStatic) xmlBufferCreateStatic__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferCreateStatic xmlBufferCreateStatic__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferDetach
+extern __typeof (xmlBufferDetach) xmlBufferDetach __attribute((alias("xmlBufferDetach__internal_alias")));
+#else
+#ifndef xmlBufferDetach
+extern __typeof (xmlBufferDetach) xmlBufferDetach__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferDetach xmlBufferDetach__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferDump
+extern __typeof (xmlBufferDump) xmlBufferDump __attribute((alias("xmlBufferDump__internal_alias")));
+#else
+#ifndef xmlBufferDump
+extern __typeof (xmlBufferDump) xmlBufferDump__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferDump xmlBufferDump__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferEmpty
+extern __typeof (xmlBufferEmpty) xmlBufferEmpty __attribute((alias("xmlBufferEmpty__internal_alias")));
+#else
+#ifndef xmlBufferEmpty
+extern __typeof (xmlBufferEmpty) xmlBufferEmpty__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferEmpty xmlBufferEmpty__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferFree
+extern __typeof (xmlBufferFree) xmlBufferFree __attribute((alias("xmlBufferFree__internal_alias")));
+#else
+#ifndef xmlBufferFree
+extern __typeof (xmlBufferFree) xmlBufferFree__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferFree xmlBufferFree__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferGrow
+extern __typeof (xmlBufferGrow) xmlBufferGrow __attribute((alias("xmlBufferGrow__internal_alias")));
+#else
+#ifndef xmlBufferGrow
+extern __typeof (xmlBufferGrow) xmlBufferGrow__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferGrow xmlBufferGrow__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferLength
+extern __typeof (xmlBufferLength) xmlBufferLength __attribute((alias("xmlBufferLength__internal_alias")));
+#else
+#ifndef xmlBufferLength
+extern __typeof (xmlBufferLength) xmlBufferLength__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferLength xmlBufferLength__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferResize
+extern __typeof (xmlBufferResize) xmlBufferResize __attribute((alias("xmlBufferResize__internal_alias")));
+#else
+#ifndef xmlBufferResize
+extern __typeof (xmlBufferResize) xmlBufferResize__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferResize xmlBufferResize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferSetAllocationScheme
+extern __typeof (xmlBufferSetAllocationScheme) xmlBufferSetAllocationScheme __attribute((alias("xmlBufferSetAllocationScheme__internal_alias")));
+#else
+#ifndef xmlBufferSetAllocationScheme
+extern __typeof (xmlBufferSetAllocationScheme) xmlBufferSetAllocationScheme__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferSetAllocationScheme xmlBufferSetAllocationScheme__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferShrink
+extern __typeof (xmlBufferShrink) xmlBufferShrink __attribute((alias("xmlBufferShrink__internal_alias")));
+#else
+#ifndef xmlBufferShrink
+extern __typeof (xmlBufferShrink) xmlBufferShrink__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferShrink xmlBufferShrink__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferWriteCHAR
+extern __typeof (xmlBufferWriteCHAR) xmlBufferWriteCHAR __attribute((alias("xmlBufferWriteCHAR__internal_alias")));
+#else
+#ifndef xmlBufferWriteCHAR
+extern __typeof (xmlBufferWriteCHAR) xmlBufferWriteCHAR__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferWriteCHAR xmlBufferWriteCHAR__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferWriteChar
+extern __typeof (xmlBufferWriteChar) xmlBufferWriteChar __attribute((alias("xmlBufferWriteChar__internal_alias")));
+#else
+#ifndef xmlBufferWriteChar
+extern __typeof (xmlBufferWriteChar) xmlBufferWriteChar__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferWriteChar xmlBufferWriteChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufferWriteQuotedString
+extern __typeof (xmlBufferWriteQuotedString) xmlBufferWriteQuotedString __attribute((alias("xmlBufferWriteQuotedString__internal_alias")));
+#else
+#ifndef xmlBufferWriteQuotedString
+extern __typeof (xmlBufferWriteQuotedString) xmlBufferWriteQuotedString__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferWriteQuotedString xmlBufferWriteQuotedString__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBuildQName
+extern __typeof (xmlBuildQName) xmlBuildQName __attribute((alias("xmlBuildQName__internal_alias")));
+#else
+#ifndef xmlBuildQName
+extern __typeof (xmlBuildQName) xmlBuildQName__internal_alias __attribute((visibility("hidden")));
+#define xmlBuildQName xmlBuildQName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlBuildRelativeURI
+extern __typeof (xmlBuildRelativeURI) xmlBuildRelativeURI __attribute((alias("xmlBuildRelativeURI__internal_alias")));
+#else
+#ifndef xmlBuildRelativeURI
+extern __typeof (xmlBuildRelativeURI) xmlBuildRelativeURI__internal_alias __attribute((visibility("hidden")));
+#define xmlBuildRelativeURI xmlBuildRelativeURI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlBuildURI
+extern __typeof (xmlBuildURI) xmlBuildURI __attribute((alias("xmlBuildURI__internal_alias")));
+#else
+#ifndef xmlBuildURI
+extern __typeof (xmlBuildURI) xmlBuildURI__internal_alias __attribute((visibility("hidden")));
+#define xmlBuildURI xmlBuildURI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlByteConsumed
+extern __typeof (xmlByteConsumed) xmlByteConsumed __attribute((alias("xmlByteConsumed__internal_alias")));
+#else
+#ifndef xmlByteConsumed
+extern __typeof (xmlByteConsumed) xmlByteConsumed__internal_alias __attribute((visibility("hidden")));
+#define xmlByteConsumed xmlByteConsumed__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_c14n
+#undef xmlC14NDocDumpMemory
+extern __typeof (xmlC14NDocDumpMemory) xmlC14NDocDumpMemory __attribute((alias("xmlC14NDocDumpMemory__internal_alias")));
+#else
+#ifndef xmlC14NDocDumpMemory
+extern __typeof (xmlC14NDocDumpMemory) xmlC14NDocDumpMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlC14NDocDumpMemory xmlC14NDocDumpMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_c14n
+#undef xmlC14NDocSave
+extern __typeof (xmlC14NDocSave) xmlC14NDocSave __attribute((alias("xmlC14NDocSave__internal_alias")));
+#else
+#ifndef xmlC14NDocSave
+extern __typeof (xmlC14NDocSave) xmlC14NDocSave__internal_alias __attribute((visibility("hidden")));
+#define xmlC14NDocSave xmlC14NDocSave__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_c14n
+#undef xmlC14NDocSaveTo
+extern __typeof (xmlC14NDocSaveTo) xmlC14NDocSaveTo __attribute((alias("xmlC14NDocSaveTo__internal_alias")));
+#else
+#ifndef xmlC14NDocSaveTo
+extern __typeof (xmlC14NDocSaveTo) xmlC14NDocSaveTo__internal_alias __attribute((visibility("hidden")));
+#define xmlC14NDocSaveTo xmlC14NDocSaveTo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_c14n
+#undef xmlC14NExecute
+extern __typeof (xmlC14NExecute) xmlC14NExecute __attribute((alias("xmlC14NExecute__internal_alias")));
+#else
+#ifndef xmlC14NExecute
+extern __typeof (xmlC14NExecute) xmlC14NExecute__internal_alias __attribute((visibility("hidden")));
+#define xmlC14NExecute xmlC14NExecute__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlCanonicPath
+extern __typeof (xmlCanonicPath) xmlCanonicPath __attribute((alias("xmlCanonicPath__internal_alias")));
+#else
+#ifndef xmlCanonicPath
+extern __typeof (xmlCanonicPath) xmlCanonicPath__internal_alias __attribute((visibility("hidden")));
+#define xmlCanonicPath xmlCanonicPath__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogAdd
+extern __typeof (xmlCatalogAdd) xmlCatalogAdd __attribute((alias("xmlCatalogAdd__internal_alias")));
+#else
+#ifndef xmlCatalogAdd
+extern __typeof (xmlCatalogAdd) xmlCatalogAdd__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogAdd xmlCatalogAdd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogAddLocal
+extern __typeof (xmlCatalogAddLocal) xmlCatalogAddLocal __attribute((alias("xmlCatalogAddLocal__internal_alias")));
+#else
+#ifndef xmlCatalogAddLocal
+extern __typeof (xmlCatalogAddLocal) xmlCatalogAddLocal__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogAddLocal xmlCatalogAddLocal__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogCleanup
+extern __typeof (xmlCatalogCleanup) xmlCatalogCleanup __attribute((alias("xmlCatalogCleanup__internal_alias")));
+#else
+#ifndef xmlCatalogCleanup
+extern __typeof (xmlCatalogCleanup) xmlCatalogCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogCleanup xmlCatalogCleanup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogConvert
+extern __typeof (xmlCatalogConvert) xmlCatalogConvert __attribute((alias("xmlCatalogConvert__internal_alias")));
+#else
+#ifndef xmlCatalogConvert
+extern __typeof (xmlCatalogConvert) xmlCatalogConvert__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogConvert xmlCatalogConvert__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogDump
+extern __typeof (xmlCatalogDump) xmlCatalogDump __attribute((alias("xmlCatalogDump__internal_alias")));
+#else
+#ifndef xmlCatalogDump
+extern __typeof (xmlCatalogDump) xmlCatalogDump__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogDump xmlCatalogDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogFreeLocal
+extern __typeof (xmlCatalogFreeLocal) xmlCatalogFreeLocal __attribute((alias("xmlCatalogFreeLocal__internal_alias")));
+#else
+#ifndef xmlCatalogFreeLocal
+extern __typeof (xmlCatalogFreeLocal) xmlCatalogFreeLocal__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogFreeLocal xmlCatalogFreeLocal__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogGetDefaults
+extern __typeof (xmlCatalogGetDefaults) xmlCatalogGetDefaults __attribute((alias("xmlCatalogGetDefaults__internal_alias")));
+#else
+#ifndef xmlCatalogGetDefaults
+extern __typeof (xmlCatalogGetDefaults) xmlCatalogGetDefaults__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogGetDefaults xmlCatalogGetDefaults__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogGetPublic
+extern __typeof (xmlCatalogGetPublic) xmlCatalogGetPublic __attribute((alias("xmlCatalogGetPublic__internal_alias")));
+#else
+#ifndef xmlCatalogGetPublic
+extern __typeof (xmlCatalogGetPublic) xmlCatalogGetPublic__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogGetPublic xmlCatalogGetPublic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogGetSystem
+extern __typeof (xmlCatalogGetSystem) xmlCatalogGetSystem __attribute((alias("xmlCatalogGetSystem__internal_alias")));
+#else
+#ifndef xmlCatalogGetSystem
+extern __typeof (xmlCatalogGetSystem) xmlCatalogGetSystem__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogGetSystem xmlCatalogGetSystem__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogIsEmpty
+extern __typeof (xmlCatalogIsEmpty) xmlCatalogIsEmpty __attribute((alias("xmlCatalogIsEmpty__internal_alias")));
+#else
+#ifndef xmlCatalogIsEmpty
+extern __typeof (xmlCatalogIsEmpty) xmlCatalogIsEmpty__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogIsEmpty xmlCatalogIsEmpty__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogLocalResolve
+extern __typeof (xmlCatalogLocalResolve) xmlCatalogLocalResolve __attribute((alias("xmlCatalogLocalResolve__internal_alias")));
+#else
+#ifndef xmlCatalogLocalResolve
+extern __typeof (xmlCatalogLocalResolve) xmlCatalogLocalResolve__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogLocalResolve xmlCatalogLocalResolve__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogLocalResolveURI
+extern __typeof (xmlCatalogLocalResolveURI) xmlCatalogLocalResolveURI __attribute((alias("xmlCatalogLocalResolveURI__internal_alias")));
+#else
+#ifndef xmlCatalogLocalResolveURI
+extern __typeof (xmlCatalogLocalResolveURI) xmlCatalogLocalResolveURI__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogLocalResolveURI xmlCatalogLocalResolveURI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogRemove
+extern __typeof (xmlCatalogRemove) xmlCatalogRemove __attribute((alias("xmlCatalogRemove__internal_alias")));
+#else
+#ifndef xmlCatalogRemove
+extern __typeof (xmlCatalogRemove) xmlCatalogRemove__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogRemove xmlCatalogRemove__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogResolve
+extern __typeof (xmlCatalogResolve) xmlCatalogResolve __attribute((alias("xmlCatalogResolve__internal_alias")));
+#else
+#ifndef xmlCatalogResolve
+extern __typeof (xmlCatalogResolve) xmlCatalogResolve__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogResolve xmlCatalogResolve__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogResolvePublic
+extern __typeof (xmlCatalogResolvePublic) xmlCatalogResolvePublic __attribute((alias("xmlCatalogResolvePublic__internal_alias")));
+#else
+#ifndef xmlCatalogResolvePublic
+extern __typeof (xmlCatalogResolvePublic) xmlCatalogResolvePublic__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogResolvePublic xmlCatalogResolvePublic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogResolveSystem
+extern __typeof (xmlCatalogResolveSystem) xmlCatalogResolveSystem __attribute((alias("xmlCatalogResolveSystem__internal_alias")));
+#else
+#ifndef xmlCatalogResolveSystem
+extern __typeof (xmlCatalogResolveSystem) xmlCatalogResolveSystem__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogResolveSystem xmlCatalogResolveSystem__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogResolveURI
+extern __typeof (xmlCatalogResolveURI) xmlCatalogResolveURI __attribute((alias("xmlCatalogResolveURI__internal_alias")));
+#else
+#ifndef xmlCatalogResolveURI
+extern __typeof (xmlCatalogResolveURI) xmlCatalogResolveURI__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogResolveURI xmlCatalogResolveURI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogSetDebug
+extern __typeof (xmlCatalogSetDebug) xmlCatalogSetDebug __attribute((alias("xmlCatalogSetDebug__internal_alias")));
+#else
+#ifndef xmlCatalogSetDebug
+extern __typeof (xmlCatalogSetDebug) xmlCatalogSetDebug__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogSetDebug xmlCatalogSetDebug__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogSetDefaultPrefer
+extern __typeof (xmlCatalogSetDefaultPrefer) xmlCatalogSetDefaultPrefer __attribute((alias("xmlCatalogSetDefaultPrefer__internal_alias")));
+#else
+#ifndef xmlCatalogSetDefaultPrefer
+extern __typeof (xmlCatalogSetDefaultPrefer) xmlCatalogSetDefaultPrefer__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogSetDefaultPrefer xmlCatalogSetDefaultPrefer__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlCatalogSetDefaults
+extern __typeof (xmlCatalogSetDefaults) xmlCatalogSetDefaults __attribute((alias("xmlCatalogSetDefaults__internal_alias")));
+#else
+#ifndef xmlCatalogSetDefaults
+extern __typeof (xmlCatalogSetDefaults) xmlCatalogSetDefaults__internal_alias __attribute((visibility("hidden")));
+#define xmlCatalogSetDefaults xmlCatalogSetDefaults__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlCharEncCloseFunc
+extern __typeof (xmlCharEncCloseFunc) xmlCharEncCloseFunc __attribute((alias("xmlCharEncCloseFunc__internal_alias")));
+#else
+#ifndef xmlCharEncCloseFunc
+extern __typeof (xmlCharEncCloseFunc) xmlCharEncCloseFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlCharEncCloseFunc xmlCharEncCloseFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlCharEncFirstLine
+extern __typeof (xmlCharEncFirstLine) xmlCharEncFirstLine __attribute((alias("xmlCharEncFirstLine__internal_alias")));
+#else
+#ifndef xmlCharEncFirstLine
+extern __typeof (xmlCharEncFirstLine) xmlCharEncFirstLine__internal_alias __attribute((visibility("hidden")));
+#define xmlCharEncFirstLine xmlCharEncFirstLine__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlCharEncInFunc
+extern __typeof (xmlCharEncInFunc) xmlCharEncInFunc __attribute((alias("xmlCharEncInFunc__internal_alias")));
+#else
+#ifndef xmlCharEncInFunc
+extern __typeof (xmlCharEncInFunc) xmlCharEncInFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlCharEncInFunc xmlCharEncInFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlCharEncOutFunc
+extern __typeof (xmlCharEncOutFunc) xmlCharEncOutFunc __attribute((alias("xmlCharEncOutFunc__internal_alias")));
+#else
+#ifndef xmlCharEncOutFunc
+extern __typeof (xmlCharEncOutFunc) xmlCharEncOutFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlCharEncOutFunc xmlCharEncOutFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlCharInRange
+extern __typeof (xmlCharInRange) xmlCharInRange __attribute((alias("xmlCharInRange__internal_alias")));
+#else
+#ifndef xmlCharInRange
+extern __typeof (xmlCharInRange) xmlCharInRange__internal_alias __attribute((visibility("hidden")));
+#define xmlCharInRange xmlCharInRange__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlCharStrdup
+extern __typeof (xmlCharStrdup) xmlCharStrdup __attribute((alias("xmlCharStrdup__internal_alias")));
+#else
+#ifndef xmlCharStrdup
+extern __typeof (xmlCharStrdup) xmlCharStrdup__internal_alias __attribute((visibility("hidden")));
+#define xmlCharStrdup xmlCharStrdup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlCharStrndup
+extern __typeof (xmlCharStrndup) xmlCharStrndup __attribute((alias("xmlCharStrndup__internal_alias")));
+#else
+#ifndef xmlCharStrndup
+extern __typeof (xmlCharStrndup) xmlCharStrndup__internal_alias __attribute((visibility("hidden")));
+#define xmlCharStrndup xmlCharStrndup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlCheckFilename
+extern __typeof (xmlCheckFilename) xmlCheckFilename __attribute((alias("xmlCheckFilename__internal_alias")));
+#else
+#ifndef xmlCheckFilename
+extern __typeof (xmlCheckFilename) xmlCheckFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlCheckFilename xmlCheckFilename__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlCheckHTTPInput
+extern __typeof (xmlCheckHTTPInput) xmlCheckHTTPInput __attribute((alias("xmlCheckHTTPInput__internal_alias")));
+#else
+#ifndef xmlCheckHTTPInput
+extern __typeof (xmlCheckHTTPInput) xmlCheckHTTPInput__internal_alias __attribute((visibility("hidden")));
+#define xmlCheckHTTPInput xmlCheckHTTPInput__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCheckLanguageID
+extern __typeof (xmlCheckLanguageID) xmlCheckLanguageID __attribute((alias("xmlCheckLanguageID__internal_alias")));
+#else
+#ifndef xmlCheckLanguageID
+extern __typeof (xmlCheckLanguageID) xmlCheckLanguageID__internal_alias __attribute((visibility("hidden")));
+#define xmlCheckLanguageID xmlCheckLanguageID__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlCheckUTF8
+extern __typeof (xmlCheckUTF8) xmlCheckUTF8 __attribute((alias("xmlCheckUTF8__internal_alias")));
+#else
+#ifndef xmlCheckUTF8
+extern __typeof (xmlCheckUTF8) xmlCheckUTF8__internal_alias __attribute((visibility("hidden")));
+#define xmlCheckUTF8 xmlCheckUTF8__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlCheckVersion
+extern __typeof (xmlCheckVersion) xmlCheckVersion __attribute((alias("xmlCheckVersion__internal_alias")));
+#else
+#ifndef xmlCheckVersion
+extern __typeof (xmlCheckVersion) xmlCheckVersion__internal_alias __attribute((visibility("hidden")));
+#define xmlCheckVersion xmlCheckVersion__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlChildElementCount
+extern __typeof (xmlChildElementCount) xmlChildElementCount __attribute((alias("xmlChildElementCount__internal_alias")));
+#else
+#ifndef xmlChildElementCount
+extern __typeof (xmlChildElementCount) xmlChildElementCount__internal_alias __attribute((visibility("hidden")));
+#define xmlChildElementCount xmlChildElementCount__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlCleanupCharEncodingHandlers
+extern __typeof (xmlCleanupCharEncodingHandlers) xmlCleanupCharEncodingHandlers __attribute((alias("xmlCleanupCharEncodingHandlers__internal_alias")));
+#else
+#ifndef xmlCleanupCharEncodingHandlers
+extern __typeof (xmlCleanupCharEncodingHandlers) xmlCleanupCharEncodingHandlers__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupCharEncodingHandlers xmlCleanupCharEncodingHandlers__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlCleanupEncodingAliases
+extern __typeof (xmlCleanupEncodingAliases) xmlCleanupEncodingAliases __attribute((alias("xmlCleanupEncodingAliases__internal_alias")));
+#else
+#ifndef xmlCleanupEncodingAliases
+extern __typeof (xmlCleanupEncodingAliases) xmlCleanupEncodingAliases__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupEncodingAliases xmlCleanupEncodingAliases__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlCleanupGlobals
+extern __typeof (xmlCleanupGlobals) xmlCleanupGlobals __attribute((alias("xmlCleanupGlobals__internal_alias")));
+#else
+#ifndef xmlCleanupGlobals
+extern __typeof (xmlCleanupGlobals) xmlCleanupGlobals__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupGlobals xmlCleanupGlobals__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlCleanupInputCallbacks
+extern __typeof (xmlCleanupInputCallbacks) xmlCleanupInputCallbacks __attribute((alias("xmlCleanupInputCallbacks__internal_alias")));
+#else
+#ifndef xmlCleanupInputCallbacks
+extern __typeof (xmlCleanupInputCallbacks) xmlCleanupInputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupInputCallbacks xmlCleanupInputCallbacks__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlCleanupMemory
+extern __typeof (xmlCleanupMemory) xmlCleanupMemory __attribute((alias("xmlCleanupMemory__internal_alias")));
+#else
+#ifndef xmlCleanupMemory
+extern __typeof (xmlCleanupMemory) xmlCleanupMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupMemory xmlCleanupMemory__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlCleanupOutputCallbacks
+extern __typeof (xmlCleanupOutputCallbacks) xmlCleanupOutputCallbacks __attribute((alias("xmlCleanupOutputCallbacks__internal_alias")));
+#else
+#ifndef xmlCleanupOutputCallbacks
+extern __typeof (xmlCleanupOutputCallbacks) xmlCleanupOutputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupOutputCallbacks xmlCleanupOutputCallbacks__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCleanupParser
+extern __typeof (xmlCleanupParser) xmlCleanupParser __attribute((alias("xmlCleanupParser__internal_alias")));
+#else
+#ifndef xmlCleanupParser
+extern __typeof (xmlCleanupParser) xmlCleanupParser__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupParser xmlCleanupParser__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlCleanupPredefinedEntities
+extern __typeof (xmlCleanupPredefinedEntities) xmlCleanupPredefinedEntities __attribute((alias("xmlCleanupPredefinedEntities__internal_alias")));
+#else
+#ifndef xmlCleanupPredefinedEntities
+extern __typeof (xmlCleanupPredefinedEntities) xmlCleanupPredefinedEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupPredefinedEntities xmlCleanupPredefinedEntities__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlCleanupThreads
+extern __typeof (xmlCleanupThreads) xmlCleanupThreads __attribute((alias("xmlCleanupThreads__internal_alias")));
+#else
+#ifndef xmlCleanupThreads
+extern __typeof (xmlCleanupThreads) xmlCleanupThreads__internal_alias __attribute((visibility("hidden")));
+#define xmlCleanupThreads xmlCleanupThreads__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlClearNodeInfoSeq
+extern __typeof (xmlClearNodeInfoSeq) xmlClearNodeInfoSeq __attribute((alias("xmlClearNodeInfoSeq__internal_alias")));
+#else
+#ifndef xmlClearNodeInfoSeq
+extern __typeof (xmlClearNodeInfoSeq) xmlClearNodeInfoSeq__internal_alias __attribute((visibility("hidden")));
+#define xmlClearNodeInfoSeq xmlClearNodeInfoSeq__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlClearParserCtxt
+extern __typeof (xmlClearParserCtxt) xmlClearParserCtxt __attribute((alias("xmlClearParserCtxt__internal_alias")));
+#else
+#ifndef xmlClearParserCtxt
+extern __typeof (xmlClearParserCtxt) xmlClearParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlClearParserCtxt xmlClearParserCtxt__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlConvertSGMLCatalog
+extern __typeof (xmlConvertSGMLCatalog) xmlConvertSGMLCatalog __attribute((alias("xmlConvertSGMLCatalog__internal_alias")));
+#else
+#ifndef xmlConvertSGMLCatalog
+extern __typeof (xmlConvertSGMLCatalog) xmlConvertSGMLCatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlConvertSGMLCatalog xmlConvertSGMLCatalog__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_valid
+#undef xmlCopyAttributeTable
+extern __typeof (xmlCopyAttributeTable) xmlCopyAttributeTable __attribute((alias("xmlCopyAttributeTable__internal_alias")));
+#else
+#ifndef xmlCopyAttributeTable
+extern __typeof (xmlCopyAttributeTable) xmlCopyAttributeTable__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyAttributeTable xmlCopyAttributeTable__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlCopyChar
+extern __typeof (xmlCopyChar) xmlCopyChar __attribute((alias("xmlCopyChar__internal_alias")));
+#else
+#ifndef xmlCopyChar
+extern __typeof (xmlCopyChar) xmlCopyChar__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyChar xmlCopyChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlCopyCharMultiByte
+extern __typeof (xmlCopyCharMultiByte) xmlCopyCharMultiByte __attribute((alias("xmlCopyCharMultiByte__internal_alias")));
+#else
+#ifndef xmlCopyCharMultiByte
+extern __typeof (xmlCopyCharMultiByte) xmlCopyCharMultiByte__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyCharMultiByte xmlCopyCharMultiByte__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlCopyDoc
+extern __typeof (xmlCopyDoc) xmlCopyDoc __attribute((alias("xmlCopyDoc__internal_alias")));
+#else
+#ifndef xmlCopyDoc
+extern __typeof (xmlCopyDoc) xmlCopyDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyDoc xmlCopyDoc__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlCopyDocElementContent
+extern __typeof (xmlCopyDocElementContent) xmlCopyDocElementContent __attribute((alias("xmlCopyDocElementContent__internal_alias")));
+#else
+#ifndef xmlCopyDocElementContent
+extern __typeof (xmlCopyDocElementContent) xmlCopyDocElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyDocElementContent xmlCopyDocElementContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlCopyDtd
+extern __typeof (xmlCopyDtd) xmlCopyDtd __attribute((alias("xmlCopyDtd__internal_alias")));
+#else
+#ifndef xmlCopyDtd
+extern __typeof (xmlCopyDtd) xmlCopyDtd__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyDtd xmlCopyDtd__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlCopyElementContent
+extern __typeof (xmlCopyElementContent) xmlCopyElementContent __attribute((alias("xmlCopyElementContent__internal_alias")));
+#else
+#ifndef xmlCopyElementContent
+extern __typeof (xmlCopyElementContent) xmlCopyElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyElementContent xmlCopyElementContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_valid
+#undef xmlCopyElementTable
+extern __typeof (xmlCopyElementTable) xmlCopyElementTable __attribute((alias("xmlCopyElementTable__internal_alias")));
+#else
+#ifndef xmlCopyElementTable
+extern __typeof (xmlCopyElementTable) xmlCopyElementTable__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyElementTable xmlCopyElementTable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_entities
+#undef xmlCopyEntitiesTable
+extern __typeof (xmlCopyEntitiesTable) xmlCopyEntitiesTable __attribute((alias("xmlCopyEntitiesTable__internal_alias")));
+#else
+#ifndef xmlCopyEntitiesTable
+extern __typeof (xmlCopyEntitiesTable) xmlCopyEntitiesTable__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyEntitiesTable xmlCopyEntitiesTable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_valid
+#undef xmlCopyEnumeration
+extern __typeof (xmlCopyEnumeration) xmlCopyEnumeration __attribute((alias("xmlCopyEnumeration__internal_alias")));
+#else
+#ifndef xmlCopyEnumeration
+extern __typeof (xmlCopyEnumeration) xmlCopyEnumeration__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyEnumeration xmlCopyEnumeration__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlCopyError
+extern __typeof (xmlCopyError) xmlCopyError __attribute((alias("xmlCopyError__internal_alias")));
+#else
+#ifndef xmlCopyError
+extern __typeof (xmlCopyError) xmlCopyError__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyError xmlCopyError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCopyNamespace
+extern __typeof (xmlCopyNamespace) xmlCopyNamespace __attribute((alias("xmlCopyNamespace__internal_alias")));
+#else
+#ifndef xmlCopyNamespace
+extern __typeof (xmlCopyNamespace) xmlCopyNamespace__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyNamespace xmlCopyNamespace__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCopyNamespaceList
+extern __typeof (xmlCopyNamespaceList) xmlCopyNamespaceList __attribute((alias("xmlCopyNamespaceList__internal_alias")));
+#else
+#ifndef xmlCopyNamespaceList
+extern __typeof (xmlCopyNamespaceList) xmlCopyNamespaceList__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyNamespaceList xmlCopyNamespaceList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCopyNode
+extern __typeof (xmlCopyNode) xmlCopyNode __attribute((alias("xmlCopyNode__internal_alias")));
+#else
+#ifndef xmlCopyNode
+extern __typeof (xmlCopyNode) xmlCopyNode__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyNode xmlCopyNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCopyNodeList
+extern __typeof (xmlCopyNodeList) xmlCopyNodeList __attribute((alias("xmlCopyNodeList__internal_alias")));
+#else
+#ifndef xmlCopyNodeList
+extern __typeof (xmlCopyNodeList) xmlCopyNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyNodeList xmlCopyNodeList__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_valid
+#undef xmlCopyNotationTable
+extern __typeof (xmlCopyNotationTable) xmlCopyNotationTable __attribute((alias("xmlCopyNotationTable__internal_alias")));
+#else
+#ifndef xmlCopyNotationTable
+extern __typeof (xmlCopyNotationTable) xmlCopyNotationTable__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyNotationTable xmlCopyNotationTable__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCopyProp
+extern __typeof (xmlCopyProp) xmlCopyProp __attribute((alias("xmlCopyProp__internal_alias")));
+#else
+#ifndef xmlCopyProp
+extern __typeof (xmlCopyProp) xmlCopyProp__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyProp xmlCopyProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCopyPropList
+extern __typeof (xmlCopyPropList) xmlCopyPropList __attribute((alias("xmlCopyPropList__internal_alias")));
+#else
+#ifndef xmlCopyPropList
+extern __typeof (xmlCopyPropList) xmlCopyPropList__internal_alias __attribute((visibility("hidden")));
+#define xmlCopyPropList xmlCopyPropList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCreateDocParserCtxt
+extern __typeof (xmlCreateDocParserCtxt) xmlCreateDocParserCtxt __attribute((alias("xmlCreateDocParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreateDocParserCtxt
+extern __typeof (xmlCreateDocParserCtxt) xmlCreateDocParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateDocParserCtxt xmlCreateDocParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlCreateEntitiesTable
+extern __typeof (xmlCreateEntitiesTable) xmlCreateEntitiesTable __attribute((alias("xmlCreateEntitiesTable__internal_alias")));
+#else
+#ifndef xmlCreateEntitiesTable
+extern __typeof (xmlCreateEntitiesTable) xmlCreateEntitiesTable__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateEntitiesTable xmlCreateEntitiesTable__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCreateEntityParserCtxt
+extern __typeof (xmlCreateEntityParserCtxt) xmlCreateEntityParserCtxt __attribute((alias("xmlCreateEntityParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreateEntityParserCtxt
+extern __typeof (xmlCreateEntityParserCtxt) xmlCreateEntityParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateEntityParserCtxt xmlCreateEntityParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlCreateEnumeration
+extern __typeof (xmlCreateEnumeration) xmlCreateEnumeration __attribute((alias("xmlCreateEnumeration__internal_alias")));
+#else
+#ifndef xmlCreateEnumeration
+extern __typeof (xmlCreateEnumeration) xmlCreateEnumeration__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateEnumeration xmlCreateEnumeration__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCreateFileParserCtxt
+extern __typeof (xmlCreateFileParserCtxt) xmlCreateFileParserCtxt __attribute((alias("xmlCreateFileParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreateFileParserCtxt
+extern __typeof (xmlCreateFileParserCtxt) xmlCreateFileParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateFileParserCtxt xmlCreateFileParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCreateIOParserCtxt
+extern __typeof (xmlCreateIOParserCtxt) xmlCreateIOParserCtxt __attribute((alias("xmlCreateIOParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreateIOParserCtxt
+extern __typeof (xmlCreateIOParserCtxt) xmlCreateIOParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateIOParserCtxt xmlCreateIOParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlCreateIntSubset
+extern __typeof (xmlCreateIntSubset) xmlCreateIntSubset __attribute((alias("xmlCreateIntSubset__internal_alias")));
+#else
+#ifndef xmlCreateIntSubset
+extern __typeof (xmlCreateIntSubset) xmlCreateIntSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateIntSubset xmlCreateIntSubset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCreateMemoryParserCtxt
+extern __typeof (xmlCreateMemoryParserCtxt) xmlCreateMemoryParserCtxt __attribute((alias("xmlCreateMemoryParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreateMemoryParserCtxt
+extern __typeof (xmlCreateMemoryParserCtxt) xmlCreateMemoryParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateMemoryParserCtxt xmlCreateMemoryParserCtxt__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_PUSH_ENABLED)
+#ifdef bottom_parser
+#undef xmlCreatePushParserCtxt
+extern __typeof (xmlCreatePushParserCtxt) xmlCreatePushParserCtxt __attribute((alias("xmlCreatePushParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreatePushParserCtxt
+extern __typeof (xmlCreatePushParserCtxt) xmlCreatePushParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreatePushParserCtxt xmlCreatePushParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlCreateURI
+extern __typeof (xmlCreateURI) xmlCreateURI __attribute((alias("xmlCreateURI__internal_alias")));
+#else
+#ifndef xmlCreateURI
+extern __typeof (xmlCreateURI) xmlCreateURI__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateURI xmlCreateURI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCreateURLParserCtxt
+extern __typeof (xmlCreateURLParserCtxt) xmlCreateURLParserCtxt __attribute((alias("xmlCreateURLParserCtxt__internal_alias")));
+#else
+#ifndef xmlCreateURLParserCtxt
+extern __typeof (xmlCreateURLParserCtxt) xmlCreateURLParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlCreateURLParserCtxt xmlCreateURLParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlCtxtGetLastError
+extern __typeof (xmlCtxtGetLastError) xmlCtxtGetLastError __attribute((alias("xmlCtxtGetLastError__internal_alias")));
+#else
+#ifndef xmlCtxtGetLastError
+extern __typeof (xmlCtxtGetLastError) xmlCtxtGetLastError__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtGetLastError xmlCtxtGetLastError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtReadDoc
+extern __typeof (xmlCtxtReadDoc) xmlCtxtReadDoc __attribute((alias("xmlCtxtReadDoc__internal_alias")));
+#else
+#ifndef xmlCtxtReadDoc
+extern __typeof (xmlCtxtReadDoc) xmlCtxtReadDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtReadDoc xmlCtxtReadDoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtReadFd
+extern __typeof (xmlCtxtReadFd) xmlCtxtReadFd __attribute((alias("xmlCtxtReadFd__internal_alias")));
+#else
+#ifndef xmlCtxtReadFd
+extern __typeof (xmlCtxtReadFd) xmlCtxtReadFd__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtReadFd xmlCtxtReadFd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtReadFile
+extern __typeof (xmlCtxtReadFile) xmlCtxtReadFile __attribute((alias("xmlCtxtReadFile__internal_alias")));
+#else
+#ifndef xmlCtxtReadFile
+extern __typeof (xmlCtxtReadFile) xmlCtxtReadFile__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtReadFile xmlCtxtReadFile__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtReadIO
+extern __typeof (xmlCtxtReadIO) xmlCtxtReadIO __attribute((alias("xmlCtxtReadIO__internal_alias")));
+#else
+#ifndef xmlCtxtReadIO
+extern __typeof (xmlCtxtReadIO) xmlCtxtReadIO__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtReadIO xmlCtxtReadIO__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtReadMemory
+extern __typeof (xmlCtxtReadMemory) xmlCtxtReadMemory __attribute((alias("xmlCtxtReadMemory__internal_alias")));
+#else
+#ifndef xmlCtxtReadMemory
+extern __typeof (xmlCtxtReadMemory) xmlCtxtReadMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtReadMemory xmlCtxtReadMemory__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtReset
+extern __typeof (xmlCtxtReset) xmlCtxtReset __attribute((alias("xmlCtxtReset__internal_alias")));
+#else
+#ifndef xmlCtxtReset
+extern __typeof (xmlCtxtReset) xmlCtxtReset__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtReset xmlCtxtReset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlCtxtResetLastError
+extern __typeof (xmlCtxtResetLastError) xmlCtxtResetLastError __attribute((alias("xmlCtxtResetLastError__internal_alias")));
+#else
+#ifndef xmlCtxtResetLastError
+extern __typeof (xmlCtxtResetLastError) xmlCtxtResetLastError__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtResetLastError xmlCtxtResetLastError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtResetPush
+extern __typeof (xmlCtxtResetPush) xmlCtxtResetPush __attribute((alias("xmlCtxtResetPush__internal_alias")));
+#else
+#ifndef xmlCtxtResetPush
+extern __typeof (xmlCtxtResetPush) xmlCtxtResetPush__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtResetPush xmlCtxtResetPush__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlCtxtUseOptions
+extern __typeof (xmlCtxtUseOptions) xmlCtxtUseOptions __attribute((alias("xmlCtxtUseOptions__internal_alias")));
+#else
+#ifndef xmlCtxtUseOptions
+extern __typeof (xmlCtxtUseOptions) xmlCtxtUseOptions__internal_alias __attribute((visibility("hidden")));
+#define xmlCtxtUseOptions xmlCtxtUseOptions__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlCurrentChar
+extern __typeof (xmlCurrentChar) xmlCurrentChar __attribute((alias("xmlCurrentChar__internal_alias")));
+#else
+#ifndef xmlCurrentChar
+extern __typeof (xmlCurrentChar) xmlCurrentChar__internal_alias __attribute((visibility("hidden")));
+#define xmlCurrentChar xmlCurrentChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDOMWrapAdoptNode
+extern __typeof (xmlDOMWrapAdoptNode) xmlDOMWrapAdoptNode __attribute((alias("xmlDOMWrapAdoptNode__internal_alias")));
+#else
+#ifndef xmlDOMWrapAdoptNode
+extern __typeof (xmlDOMWrapAdoptNode) xmlDOMWrapAdoptNode__internal_alias __attribute((visibility("hidden")));
+#define xmlDOMWrapAdoptNode xmlDOMWrapAdoptNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDOMWrapCloneNode
+extern __typeof (xmlDOMWrapCloneNode) xmlDOMWrapCloneNode __attribute((alias("xmlDOMWrapCloneNode__internal_alias")));
+#else
+#ifndef xmlDOMWrapCloneNode
+extern __typeof (xmlDOMWrapCloneNode) xmlDOMWrapCloneNode__internal_alias __attribute((visibility("hidden")));
+#define xmlDOMWrapCloneNode xmlDOMWrapCloneNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDOMWrapFreeCtxt
+extern __typeof (xmlDOMWrapFreeCtxt) xmlDOMWrapFreeCtxt __attribute((alias("xmlDOMWrapFreeCtxt__internal_alias")));
+#else
+#ifndef xmlDOMWrapFreeCtxt
+extern __typeof (xmlDOMWrapFreeCtxt) xmlDOMWrapFreeCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlDOMWrapFreeCtxt xmlDOMWrapFreeCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDOMWrapNewCtxt
+extern __typeof (xmlDOMWrapNewCtxt) xmlDOMWrapNewCtxt __attribute((alias("xmlDOMWrapNewCtxt__internal_alias")));
+#else
+#ifndef xmlDOMWrapNewCtxt
+extern __typeof (xmlDOMWrapNewCtxt) xmlDOMWrapNewCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlDOMWrapNewCtxt xmlDOMWrapNewCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDOMWrapReconcileNamespaces
+extern __typeof (xmlDOMWrapReconcileNamespaces) xmlDOMWrapReconcileNamespaces __attribute((alias("xmlDOMWrapReconcileNamespaces__internal_alias")));
+#else
+#ifndef xmlDOMWrapReconcileNamespaces
+extern __typeof (xmlDOMWrapReconcileNamespaces) xmlDOMWrapReconcileNamespaces__internal_alias __attribute((visibility("hidden")));
+#define xmlDOMWrapReconcileNamespaces xmlDOMWrapReconcileNamespaces__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDOMWrapRemoveNode
+extern __typeof (xmlDOMWrapRemoveNode) xmlDOMWrapRemoveNode __attribute((alias("xmlDOMWrapRemoveNode__internal_alias")));
+#else
+#ifndef xmlDOMWrapRemoveNode
+extern __typeof (xmlDOMWrapRemoveNode) xmlDOMWrapRemoveNode__internal_alias __attribute((visibility("hidden")));
+#define xmlDOMWrapRemoveNode xmlDOMWrapRemoveNode__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugCheckDocument
+extern __typeof (xmlDebugCheckDocument) xmlDebugCheckDocument __attribute((alias("xmlDebugCheckDocument__internal_alias")));
+#else
+#ifndef xmlDebugCheckDocument
+extern __typeof (xmlDebugCheckDocument) xmlDebugCheckDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugCheckDocument xmlDebugCheckDocument__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpAttr
+extern __typeof (xmlDebugDumpAttr) xmlDebugDumpAttr __attribute((alias("xmlDebugDumpAttr__internal_alias")));
+#else
+#ifndef xmlDebugDumpAttr
+extern __typeof (xmlDebugDumpAttr) xmlDebugDumpAttr__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpAttr xmlDebugDumpAttr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpAttrList
+extern __typeof (xmlDebugDumpAttrList) xmlDebugDumpAttrList __attribute((alias("xmlDebugDumpAttrList__internal_alias")));
+#else
+#ifndef xmlDebugDumpAttrList
+extern __typeof (xmlDebugDumpAttrList) xmlDebugDumpAttrList__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpAttrList xmlDebugDumpAttrList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpDTD
+extern __typeof (xmlDebugDumpDTD) xmlDebugDumpDTD __attribute((alias("xmlDebugDumpDTD__internal_alias")));
+#else
+#ifndef xmlDebugDumpDTD
+extern __typeof (xmlDebugDumpDTD) xmlDebugDumpDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpDTD xmlDebugDumpDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpDocument
+extern __typeof (xmlDebugDumpDocument) xmlDebugDumpDocument __attribute((alias("xmlDebugDumpDocument__internal_alias")));
+#else
+#ifndef xmlDebugDumpDocument
+extern __typeof (xmlDebugDumpDocument) xmlDebugDumpDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpDocument xmlDebugDumpDocument__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpDocumentHead
+extern __typeof (xmlDebugDumpDocumentHead) xmlDebugDumpDocumentHead __attribute((alias("xmlDebugDumpDocumentHead__internal_alias")));
+#else
+#ifndef xmlDebugDumpDocumentHead
+extern __typeof (xmlDebugDumpDocumentHead) xmlDebugDumpDocumentHead__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpDocumentHead xmlDebugDumpDocumentHead__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpEntities
+extern __typeof (xmlDebugDumpEntities) xmlDebugDumpEntities __attribute((alias("xmlDebugDumpEntities__internal_alias")));
+#else
+#ifndef xmlDebugDumpEntities
+extern __typeof (xmlDebugDumpEntities) xmlDebugDumpEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpEntities xmlDebugDumpEntities__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpNode
+extern __typeof (xmlDebugDumpNode) xmlDebugDumpNode __attribute((alias("xmlDebugDumpNode__internal_alias")));
+#else
+#ifndef xmlDebugDumpNode
+extern __typeof (xmlDebugDumpNode) xmlDebugDumpNode__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpNode xmlDebugDumpNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpNodeList
+extern __typeof (xmlDebugDumpNodeList) xmlDebugDumpNodeList __attribute((alias("xmlDebugDumpNodeList__internal_alias")));
+#else
+#ifndef xmlDebugDumpNodeList
+extern __typeof (xmlDebugDumpNodeList) xmlDebugDumpNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpNodeList xmlDebugDumpNodeList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpOneNode
+extern __typeof (xmlDebugDumpOneNode) xmlDebugDumpOneNode __attribute((alias("xmlDebugDumpOneNode__internal_alias")));
+#else
+#ifndef xmlDebugDumpOneNode
+extern __typeof (xmlDebugDumpOneNode) xmlDebugDumpOneNode__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpOneNode xmlDebugDumpOneNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlDebugDumpString
+extern __typeof (xmlDebugDumpString) xmlDebugDumpString __attribute((alias("xmlDebugDumpString__internal_alias")));
+#else
+#ifndef xmlDebugDumpString
+extern __typeof (xmlDebugDumpString) xmlDebugDumpString__internal_alias __attribute((visibility("hidden")));
+#define xmlDebugDumpString xmlDebugDumpString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlDecodeEntities
+extern __typeof (xmlDecodeEntities) xmlDecodeEntities __attribute((alias("xmlDecodeEntities__internal_alias")));
+#else
+#ifndef xmlDecodeEntities
+extern __typeof (xmlDecodeEntities) xmlDecodeEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlDecodeEntities xmlDecodeEntities__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlDefaultSAXHandlerInit
+extern __typeof (xmlDefaultSAXHandlerInit) xmlDefaultSAXHandlerInit __attribute((alias("xmlDefaultSAXHandlerInit__internal_alias")));
+#else
+#ifndef xmlDefaultSAXHandlerInit
+extern __typeof (xmlDefaultSAXHandlerInit) xmlDefaultSAXHandlerInit__internal_alias __attribute((visibility("hidden")));
+#define xmlDefaultSAXHandlerInit xmlDefaultSAXHandlerInit__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlDelEncodingAlias
+extern __typeof (xmlDelEncodingAlias) xmlDelEncodingAlias __attribute((alias("xmlDelEncodingAlias__internal_alias")));
+#else
+#ifndef xmlDelEncodingAlias
+extern __typeof (xmlDelEncodingAlias) xmlDelEncodingAlias__internal_alias __attribute((visibility("hidden")));
+#define xmlDelEncodingAlias xmlDelEncodingAlias__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlDeregisterNodeDefault
+extern __typeof (xmlDeregisterNodeDefault) xmlDeregisterNodeDefault __attribute((alias("xmlDeregisterNodeDefault__internal_alias")));
+#else
+#ifndef xmlDeregisterNodeDefault
+extern __typeof (xmlDeregisterNodeDefault) xmlDeregisterNodeDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlDeregisterNodeDefault xmlDeregisterNodeDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlDetectCharEncoding
+extern __typeof (xmlDetectCharEncoding) xmlDetectCharEncoding __attribute((alias("xmlDetectCharEncoding__internal_alias")));
+#else
+#ifndef xmlDetectCharEncoding
+extern __typeof (xmlDetectCharEncoding) xmlDetectCharEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlDetectCharEncoding xmlDetectCharEncoding__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictCleanup
+extern __typeof (xmlDictCleanup) xmlDictCleanup __attribute((alias("xmlDictCleanup__internal_alias")));
+#else
+#ifndef xmlDictCleanup
+extern __typeof (xmlDictCleanup) xmlDictCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlDictCleanup xmlDictCleanup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictCreate
+extern __typeof (xmlDictCreate) xmlDictCreate __attribute((alias("xmlDictCreate__internal_alias")));
+#else
+#ifndef xmlDictCreate
+extern __typeof (xmlDictCreate) xmlDictCreate__internal_alias __attribute((visibility("hidden")));
+#define xmlDictCreate xmlDictCreate__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictCreateSub
+extern __typeof (xmlDictCreateSub) xmlDictCreateSub __attribute((alias("xmlDictCreateSub__internal_alias")));
+#else
+#ifndef xmlDictCreateSub
+extern __typeof (xmlDictCreateSub) xmlDictCreateSub__internal_alias __attribute((visibility("hidden")));
+#define xmlDictCreateSub xmlDictCreateSub__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictExists
+extern __typeof (xmlDictExists) xmlDictExists __attribute((alias("xmlDictExists__internal_alias")));
+#else
+#ifndef xmlDictExists
+extern __typeof (xmlDictExists) xmlDictExists__internal_alias __attribute((visibility("hidden")));
+#define xmlDictExists xmlDictExists__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictFree
+extern __typeof (xmlDictFree) xmlDictFree __attribute((alias("xmlDictFree__internal_alias")));
+#else
+#ifndef xmlDictFree
+extern __typeof (xmlDictFree) xmlDictFree__internal_alias __attribute((visibility("hidden")));
+#define xmlDictFree xmlDictFree__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictGetUsage
+extern __typeof (xmlDictGetUsage) xmlDictGetUsage __attribute((alias("xmlDictGetUsage__internal_alias")));
+#else
+#ifndef xmlDictGetUsage
+extern __typeof (xmlDictGetUsage) xmlDictGetUsage__internal_alias __attribute((visibility("hidden")));
+#define xmlDictGetUsage xmlDictGetUsage__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictLookup
+extern __typeof (xmlDictLookup) xmlDictLookup __attribute((alias("xmlDictLookup__internal_alias")));
+#else
+#ifndef xmlDictLookup
+extern __typeof (xmlDictLookup) xmlDictLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlDictLookup xmlDictLookup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictOwns
+extern __typeof (xmlDictOwns) xmlDictOwns __attribute((alias("xmlDictOwns__internal_alias")));
+#else
+#ifndef xmlDictOwns
+extern __typeof (xmlDictOwns) xmlDictOwns__internal_alias __attribute((visibility("hidden")));
+#define xmlDictOwns xmlDictOwns__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictQLookup
+extern __typeof (xmlDictQLookup) xmlDictQLookup __attribute((alias("xmlDictQLookup__internal_alias")));
+#else
+#ifndef xmlDictQLookup
+extern __typeof (xmlDictQLookup) xmlDictQLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlDictQLookup xmlDictQLookup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictReference
+extern __typeof (xmlDictReference) xmlDictReference __attribute((alias("xmlDictReference__internal_alias")));
+#else
+#ifndef xmlDictReference
+extern __typeof (xmlDictReference) xmlDictReference__internal_alias __attribute((visibility("hidden")));
+#define xmlDictReference xmlDictReference__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictSetLimit
+extern __typeof (xmlDictSetLimit) xmlDictSetLimit __attribute((alias("xmlDictSetLimit__internal_alias")));
+#else
+#ifndef xmlDictSetLimit
+extern __typeof (xmlDictSetLimit) xmlDictSetLimit__internal_alias __attribute((visibility("hidden")));
+#define xmlDictSetLimit xmlDictSetLimit__internal_alias
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlDictSize
+extern __typeof (xmlDictSize) xmlDictSize __attribute((alias("xmlDictSize__internal_alias")));
+#else
+#ifndef xmlDictSize
+extern __typeof (xmlDictSize) xmlDictSize__internal_alias __attribute((visibility("hidden")));
+#define xmlDictSize xmlDictSize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDocCopyNode
+extern __typeof (xmlDocCopyNode) xmlDocCopyNode __attribute((alias("xmlDocCopyNode__internal_alias")));
+#else
+#ifndef xmlDocCopyNode
+extern __typeof (xmlDocCopyNode) xmlDocCopyNode__internal_alias __attribute((visibility("hidden")));
+#define xmlDocCopyNode xmlDocCopyNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDocCopyNodeList
+extern __typeof (xmlDocCopyNodeList) xmlDocCopyNodeList __attribute((alias("xmlDocCopyNodeList__internal_alias")));
+#else
+#ifndef xmlDocCopyNodeList
+extern __typeof (xmlDocCopyNodeList) xmlDocCopyNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlDocCopyNodeList xmlDocCopyNodeList__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlDocDump
+extern __typeof (xmlDocDump) xmlDocDump __attribute((alias("xmlDocDump__internal_alias")));
+#else
+#ifndef xmlDocDump
+extern __typeof (xmlDocDump) xmlDocDump__internal_alias __attribute((visibility("hidden")));
+#define xmlDocDump xmlDocDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlDocDumpFormatMemory
+extern __typeof (xmlDocDumpFormatMemory) xmlDocDumpFormatMemory __attribute((alias("xmlDocDumpFormatMemory__internal_alias")));
+#else
+#ifndef xmlDocDumpFormatMemory
+extern __typeof (xmlDocDumpFormatMemory) xmlDocDumpFormatMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlDocDumpFormatMemory xmlDocDumpFormatMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlDocDumpFormatMemoryEnc
+extern __typeof (xmlDocDumpFormatMemoryEnc) xmlDocDumpFormatMemoryEnc __attribute((alias("xmlDocDumpFormatMemoryEnc__internal_alias")));
+#else
+#ifndef xmlDocDumpFormatMemoryEnc
+extern __typeof (xmlDocDumpFormatMemoryEnc) xmlDocDumpFormatMemoryEnc__internal_alias __attribute((visibility("hidden")));
+#define xmlDocDumpFormatMemoryEnc xmlDocDumpFormatMemoryEnc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlDocDumpMemory
+extern __typeof (xmlDocDumpMemory) xmlDocDumpMemory __attribute((alias("xmlDocDumpMemory__internal_alias")));
+#else
+#ifndef xmlDocDumpMemory
+extern __typeof (xmlDocDumpMemory) xmlDocDumpMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlDocDumpMemory xmlDocDumpMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlDocDumpMemoryEnc
+extern __typeof (xmlDocDumpMemoryEnc) xmlDocDumpMemoryEnc __attribute((alias("xmlDocDumpMemoryEnc__internal_alias")));
+#else
+#ifndef xmlDocDumpMemoryEnc
+extern __typeof (xmlDocDumpMemoryEnc) xmlDocDumpMemoryEnc__internal_alias __attribute((visibility("hidden")));
+#define xmlDocDumpMemoryEnc xmlDocDumpMemoryEnc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlDocFormatDump
+extern __typeof (xmlDocFormatDump) xmlDocFormatDump __attribute((alias("xmlDocFormatDump__internal_alias")));
+#else
+#ifndef xmlDocFormatDump
+extern __typeof (xmlDocFormatDump) xmlDocFormatDump__internal_alias __attribute((visibility("hidden")));
+#define xmlDocFormatDump xmlDocFormatDump__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlDocGetRootElement
+extern __typeof (xmlDocGetRootElement) xmlDocGetRootElement __attribute((alias("xmlDocGetRootElement__internal_alias")));
+#else
+#ifndef xmlDocGetRootElement
+extern __typeof (xmlDocGetRootElement) xmlDocGetRootElement__internal_alias __attribute((visibility("hidden")));
+#define xmlDocGetRootElement xmlDocGetRootElement__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_tree
+#undef xmlDocSetRootElement
+extern __typeof (xmlDocSetRootElement) xmlDocSetRootElement __attribute((alias("xmlDocSetRootElement__internal_alias")));
+#else
+#ifndef xmlDocSetRootElement
+extern __typeof (xmlDocSetRootElement) xmlDocSetRootElement__internal_alias __attribute((visibility("hidden")));
+#define xmlDocSetRootElement xmlDocSetRootElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlDumpAttributeDecl
+extern __typeof (xmlDumpAttributeDecl) xmlDumpAttributeDecl __attribute((alias("xmlDumpAttributeDecl__internal_alias")));
+#else
+#ifndef xmlDumpAttributeDecl
+extern __typeof (xmlDumpAttributeDecl) xmlDumpAttributeDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpAttributeDecl xmlDumpAttributeDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlDumpAttributeTable
+extern __typeof (xmlDumpAttributeTable) xmlDumpAttributeTable __attribute((alias("xmlDumpAttributeTable__internal_alias")));
+#else
+#ifndef xmlDumpAttributeTable
+extern __typeof (xmlDumpAttributeTable) xmlDumpAttributeTable__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpAttributeTable xmlDumpAttributeTable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlDumpElementDecl
+extern __typeof (xmlDumpElementDecl) xmlDumpElementDecl __attribute((alias("xmlDumpElementDecl__internal_alias")));
+#else
+#ifndef xmlDumpElementDecl
+extern __typeof (xmlDumpElementDecl) xmlDumpElementDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpElementDecl xmlDumpElementDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlDumpElementTable
+extern __typeof (xmlDumpElementTable) xmlDumpElementTable __attribute((alias("xmlDumpElementTable__internal_alias")));
+#else
+#ifndef xmlDumpElementTable
+extern __typeof (xmlDumpElementTable) xmlDumpElementTable__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpElementTable xmlDumpElementTable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_entities
+#undef xmlDumpEntitiesTable
+extern __typeof (xmlDumpEntitiesTable) xmlDumpEntitiesTable __attribute((alias("xmlDumpEntitiesTable__internal_alias")));
+#else
+#ifndef xmlDumpEntitiesTable
+extern __typeof (xmlDumpEntitiesTable) xmlDumpEntitiesTable__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpEntitiesTable xmlDumpEntitiesTable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_entities
+#undef xmlDumpEntityDecl
+extern __typeof (xmlDumpEntityDecl) xmlDumpEntityDecl __attribute((alias("xmlDumpEntityDecl__internal_alias")));
+#else
+#ifndef xmlDumpEntityDecl
+extern __typeof (xmlDumpEntityDecl) xmlDumpEntityDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpEntityDecl xmlDumpEntityDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlDumpNotationDecl
+extern __typeof (xmlDumpNotationDecl) xmlDumpNotationDecl __attribute((alias("xmlDumpNotationDecl__internal_alias")));
+#else
+#ifndef xmlDumpNotationDecl
+extern __typeof (xmlDumpNotationDecl) xmlDumpNotationDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpNotationDecl xmlDumpNotationDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlDumpNotationTable
+extern __typeof (xmlDumpNotationTable) xmlDumpNotationTable __attribute((alias("xmlDumpNotationTable__internal_alias")));
+#else
+#ifndef xmlDumpNotationTable
+extern __typeof (xmlDumpNotationTable) xmlDumpNotationTable__internal_alias __attribute((visibility("hidden")));
+#define xmlDumpNotationTable xmlDumpNotationTable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlElemDump
+extern __typeof (xmlElemDump) xmlElemDump __attribute((alias("xmlElemDump__internal_alias")));
+#else
+#ifndef xmlElemDump
+extern __typeof (xmlElemDump) xmlElemDump__internal_alias __attribute((visibility("hidden")));
+#define xmlElemDump xmlElemDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlEncodeEntities
+extern __typeof (xmlEncodeEntities) xmlEncodeEntities __attribute((alias("xmlEncodeEntities__internal_alias")));
+#else
+#ifndef xmlEncodeEntities
+extern __typeof (xmlEncodeEntities) xmlEncodeEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlEncodeEntities xmlEncodeEntities__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlEncodeEntitiesReentrant
+extern __typeof (xmlEncodeEntitiesReentrant) xmlEncodeEntitiesReentrant __attribute((alias("xmlEncodeEntitiesReentrant__internal_alias")));
+#else
+#ifndef xmlEncodeEntitiesReentrant
+extern __typeof (xmlEncodeEntitiesReentrant) xmlEncodeEntitiesReentrant__internal_alias __attribute((visibility("hidden")));
+#define xmlEncodeEntitiesReentrant xmlEncodeEntitiesReentrant__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlEncodeSpecialChars
+extern __typeof (xmlEncodeSpecialChars) xmlEncodeSpecialChars __attribute((alias("xmlEncodeSpecialChars__internal_alias")));
+#else
+#ifndef xmlEncodeSpecialChars
+extern __typeof (xmlEncodeSpecialChars) xmlEncodeSpecialChars__internal_alias __attribute((visibility("hidden")));
+#define xmlEncodeSpecialChars xmlEncodeSpecialChars__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlErrMemory
+extern __typeof (xmlErrMemory) xmlErrMemory __attribute((alias("xmlErrMemory__internal_alias")));
+#else
+#ifndef xmlErrMemory
+extern __typeof (xmlErrMemory) xmlErrMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlErrMemory xmlErrMemory__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpCtxtNbCons
+extern __typeof (xmlExpCtxtNbCons) xmlExpCtxtNbCons __attribute((alias("xmlExpCtxtNbCons__internal_alias")));
+#else
+#ifndef xmlExpCtxtNbCons
+extern __typeof (xmlExpCtxtNbCons) xmlExpCtxtNbCons__internal_alias __attribute((visibility("hidden")));
+#define xmlExpCtxtNbCons xmlExpCtxtNbCons__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpCtxtNbNodes
+extern __typeof (xmlExpCtxtNbNodes) xmlExpCtxtNbNodes __attribute((alias("xmlExpCtxtNbNodes__internal_alias")));
+#else
+#ifndef xmlExpCtxtNbNodes
+extern __typeof (xmlExpCtxtNbNodes) xmlExpCtxtNbNodes__internal_alias __attribute((visibility("hidden")));
+#define xmlExpCtxtNbNodes xmlExpCtxtNbNodes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpDump
+extern __typeof (xmlExpDump) xmlExpDump __attribute((alias("xmlExpDump__internal_alias")));
+#else
+#ifndef xmlExpDump
+extern __typeof (xmlExpDump) xmlExpDump__internal_alias __attribute((visibility("hidden")));
+#define xmlExpDump xmlExpDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpExpDerive
+extern __typeof (xmlExpExpDerive) xmlExpExpDerive __attribute((alias("xmlExpExpDerive__internal_alias")));
+#else
+#ifndef xmlExpExpDerive
+extern __typeof (xmlExpExpDerive) xmlExpExpDerive__internal_alias __attribute((visibility("hidden")));
+#define xmlExpExpDerive xmlExpExpDerive__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpFree
+extern __typeof (xmlExpFree) xmlExpFree __attribute((alias("xmlExpFree__internal_alias")));
+#else
+#ifndef xmlExpFree
+extern __typeof (xmlExpFree) xmlExpFree__internal_alias __attribute((visibility("hidden")));
+#define xmlExpFree xmlExpFree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpFreeCtxt
+extern __typeof (xmlExpFreeCtxt) xmlExpFreeCtxt __attribute((alias("xmlExpFreeCtxt__internal_alias")));
+#else
+#ifndef xmlExpFreeCtxt
+extern __typeof (xmlExpFreeCtxt) xmlExpFreeCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlExpFreeCtxt xmlExpFreeCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpGetLanguage
+extern __typeof (xmlExpGetLanguage) xmlExpGetLanguage __attribute((alias("xmlExpGetLanguage__internal_alias")));
+#else
+#ifndef xmlExpGetLanguage
+extern __typeof (xmlExpGetLanguage) xmlExpGetLanguage__internal_alias __attribute((visibility("hidden")));
+#define xmlExpGetLanguage xmlExpGetLanguage__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpGetStart
+extern __typeof (xmlExpGetStart) xmlExpGetStart __attribute((alias("xmlExpGetStart__internal_alias")));
+#else
+#ifndef xmlExpGetStart
+extern __typeof (xmlExpGetStart) xmlExpGetStart__internal_alias __attribute((visibility("hidden")));
+#define xmlExpGetStart xmlExpGetStart__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpIsNillable
+extern __typeof (xmlExpIsNillable) xmlExpIsNillable __attribute((alias("xmlExpIsNillable__internal_alias")));
+#else
+#ifndef xmlExpIsNillable
+extern __typeof (xmlExpIsNillable) xmlExpIsNillable__internal_alias __attribute((visibility("hidden")));
+#define xmlExpIsNillable xmlExpIsNillable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpMaxToken
+extern __typeof (xmlExpMaxToken) xmlExpMaxToken __attribute((alias("xmlExpMaxToken__internal_alias")));
+#else
+#ifndef xmlExpMaxToken
+extern __typeof (xmlExpMaxToken) xmlExpMaxToken__internal_alias __attribute((visibility("hidden")));
+#define xmlExpMaxToken xmlExpMaxToken__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpNewAtom
+extern __typeof (xmlExpNewAtom) xmlExpNewAtom __attribute((alias("xmlExpNewAtom__internal_alias")));
+#else
+#ifndef xmlExpNewAtom
+extern __typeof (xmlExpNewAtom) xmlExpNewAtom__internal_alias __attribute((visibility("hidden")));
+#define xmlExpNewAtom xmlExpNewAtom__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpNewCtxt
+extern __typeof (xmlExpNewCtxt) xmlExpNewCtxt __attribute((alias("xmlExpNewCtxt__internal_alias")));
+#else
+#ifndef xmlExpNewCtxt
+extern __typeof (xmlExpNewCtxt) xmlExpNewCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlExpNewCtxt xmlExpNewCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpNewOr
+extern __typeof (xmlExpNewOr) xmlExpNewOr __attribute((alias("xmlExpNewOr__internal_alias")));
+#else
+#ifndef xmlExpNewOr
+extern __typeof (xmlExpNewOr) xmlExpNewOr__internal_alias __attribute((visibility("hidden")));
+#define xmlExpNewOr xmlExpNewOr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpNewRange
+extern __typeof (xmlExpNewRange) xmlExpNewRange __attribute((alias("xmlExpNewRange__internal_alias")));
+#else
+#ifndef xmlExpNewRange
+extern __typeof (xmlExpNewRange) xmlExpNewRange__internal_alias __attribute((visibility("hidden")));
+#define xmlExpNewRange xmlExpNewRange__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpNewSeq
+extern __typeof (xmlExpNewSeq) xmlExpNewSeq __attribute((alias("xmlExpNewSeq__internal_alias")));
+#else
+#ifndef xmlExpNewSeq
+extern __typeof (xmlExpNewSeq) xmlExpNewSeq__internal_alias __attribute((visibility("hidden")));
+#define xmlExpNewSeq xmlExpNewSeq__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpParse
+extern __typeof (xmlExpParse) xmlExpParse __attribute((alias("xmlExpParse__internal_alias")));
+#else
+#ifndef xmlExpParse
+extern __typeof (xmlExpParse) xmlExpParse__internal_alias __attribute((visibility("hidden")));
+#define xmlExpParse xmlExpParse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpRef
+extern __typeof (xmlExpRef) xmlExpRef __attribute((alias("xmlExpRef__internal_alias")));
+#else
+#ifndef xmlExpRef
+extern __typeof (xmlExpRef) xmlExpRef__internal_alias __attribute((visibility("hidden")));
+#define xmlExpRef xmlExpRef__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpStringDerive
+extern __typeof (xmlExpStringDerive) xmlExpStringDerive __attribute((alias("xmlExpStringDerive__internal_alias")));
+#else
+#ifndef xmlExpStringDerive
+extern __typeof (xmlExpStringDerive) xmlExpStringDerive__internal_alias __attribute((visibility("hidden")));
+#define xmlExpStringDerive xmlExpStringDerive__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlExpSubsume
+extern __typeof (xmlExpSubsume) xmlExpSubsume __attribute((alias("xmlExpSubsume__internal_alias")));
+#else
+#ifndef xmlExpSubsume
+extern __typeof (xmlExpSubsume) xmlExpSubsume__internal_alias __attribute((visibility("hidden")));
+#define xmlExpSubsume xmlExpSubsume__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlFileClose
+extern __typeof (xmlFileClose) xmlFileClose __attribute((alias("xmlFileClose__internal_alias")));
+#else
+#ifndef xmlFileClose
+extern __typeof (xmlFileClose) xmlFileClose__internal_alias __attribute((visibility("hidden")));
+#define xmlFileClose xmlFileClose__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlFileMatch
+extern __typeof (xmlFileMatch) xmlFileMatch __attribute((alias("xmlFileMatch__internal_alias")));
+#else
+#ifndef xmlFileMatch
+extern __typeof (xmlFileMatch) xmlFileMatch__internal_alias __attribute((visibility("hidden")));
+#define xmlFileMatch xmlFileMatch__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlFileOpen
+extern __typeof (xmlFileOpen) xmlFileOpen __attribute((alias("xmlFileOpen__internal_alias")));
+#else
+#ifndef xmlFileOpen
+extern __typeof (xmlFileOpen) xmlFileOpen__internal_alias __attribute((visibility("hidden")));
+#define xmlFileOpen xmlFileOpen__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlFileRead
+extern __typeof (xmlFileRead) xmlFileRead __attribute((alias("xmlFileRead__internal_alias")));
+#else
+#ifndef xmlFileRead
+extern __typeof (xmlFileRead) xmlFileRead__internal_alias __attribute((visibility("hidden")));
+#define xmlFileRead xmlFileRead__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlFindCharEncodingHandler
+extern __typeof (xmlFindCharEncodingHandler) xmlFindCharEncodingHandler __attribute((alias("xmlFindCharEncodingHandler__internal_alias")));
+#else
+#ifndef xmlFindCharEncodingHandler
+extern __typeof (xmlFindCharEncodingHandler) xmlFindCharEncodingHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlFindCharEncodingHandler xmlFindCharEncodingHandler__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlFirstElementChild
+extern __typeof (xmlFirstElementChild) xmlFirstElementChild __attribute((alias("xmlFirstElementChild__internal_alias")));
+#else
+#ifndef xmlFirstElementChild
+extern __typeof (xmlFirstElementChild) xmlFirstElementChild__internal_alias __attribute((visibility("hidden")));
+#define xmlFirstElementChild xmlFirstElementChild__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeAttributeTable
+extern __typeof (xmlFreeAttributeTable) xmlFreeAttributeTable __attribute((alias("xmlFreeAttributeTable__internal_alias")));
+#else
+#ifndef xmlFreeAttributeTable
+extern __typeof (xmlFreeAttributeTable) xmlFreeAttributeTable__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeAttributeTable xmlFreeAttributeTable__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlFreeAutomata
+extern __typeof (xmlFreeAutomata) xmlFreeAutomata __attribute((alias("xmlFreeAutomata__internal_alias")));
+#else
+#ifndef xmlFreeAutomata
+extern __typeof (xmlFreeAutomata) xmlFreeAutomata__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeAutomata xmlFreeAutomata__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlFreeCatalog
+extern __typeof (xmlFreeCatalog) xmlFreeCatalog __attribute((alias("xmlFreeCatalog__internal_alias")));
+#else
+#ifndef xmlFreeCatalog
+extern __typeof (xmlFreeCatalog) xmlFreeCatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeCatalog xmlFreeCatalog__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeDoc
+extern __typeof (xmlFreeDoc) xmlFreeDoc __attribute((alias("xmlFreeDoc__internal_alias")));
+#else
+#ifndef xmlFreeDoc
+extern __typeof (xmlFreeDoc) xmlFreeDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeDoc xmlFreeDoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeDocElementContent
+extern __typeof (xmlFreeDocElementContent) xmlFreeDocElementContent __attribute((alias("xmlFreeDocElementContent__internal_alias")));
+#else
+#ifndef xmlFreeDocElementContent
+extern __typeof (xmlFreeDocElementContent) xmlFreeDocElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeDocElementContent xmlFreeDocElementContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeDtd
+extern __typeof (xmlFreeDtd) xmlFreeDtd __attribute((alias("xmlFreeDtd__internal_alias")));
+#else
+#ifndef xmlFreeDtd
+extern __typeof (xmlFreeDtd) xmlFreeDtd__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeDtd xmlFreeDtd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeElementContent
+extern __typeof (xmlFreeElementContent) xmlFreeElementContent __attribute((alias("xmlFreeElementContent__internal_alias")));
+#else
+#ifndef xmlFreeElementContent
+extern __typeof (xmlFreeElementContent) xmlFreeElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeElementContent xmlFreeElementContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeElementTable
+extern __typeof (xmlFreeElementTable) xmlFreeElementTable __attribute((alias("xmlFreeElementTable__internal_alias")));
+#else
+#ifndef xmlFreeElementTable
+extern __typeof (xmlFreeElementTable) xmlFreeElementTable__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeElementTable xmlFreeElementTable__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlFreeEntitiesTable
+extern __typeof (xmlFreeEntitiesTable) xmlFreeEntitiesTable __attribute((alias("xmlFreeEntitiesTable__internal_alias")));
+#else
+#ifndef xmlFreeEntitiesTable
+extern __typeof (xmlFreeEntitiesTable) xmlFreeEntitiesTable__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeEntitiesTable xmlFreeEntitiesTable__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeEnumeration
+extern __typeof (xmlFreeEnumeration) xmlFreeEnumeration __attribute((alias("xmlFreeEnumeration__internal_alias")));
+#else
+#ifndef xmlFreeEnumeration
+extern __typeof (xmlFreeEnumeration) xmlFreeEnumeration__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeEnumeration xmlFreeEnumeration__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeIDTable
+extern __typeof (xmlFreeIDTable) xmlFreeIDTable __attribute((alias("xmlFreeIDTable__internal_alias")));
+#else
+#ifndef xmlFreeIDTable
+extern __typeof (xmlFreeIDTable) xmlFreeIDTable__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeIDTable xmlFreeIDTable__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlFreeInputStream
+extern __typeof (xmlFreeInputStream) xmlFreeInputStream __attribute((alias("xmlFreeInputStream__internal_alias")));
+#else
+#ifndef xmlFreeInputStream
+extern __typeof (xmlFreeInputStream) xmlFreeInputStream__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeInputStream xmlFreeInputStream__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlFreeMutex
+extern __typeof (xmlFreeMutex) xmlFreeMutex __attribute((alias("xmlFreeMutex__internal_alias")));
+#else
+#ifndef xmlFreeMutex
+extern __typeof (xmlFreeMutex) xmlFreeMutex__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeMutex xmlFreeMutex__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeNode
+extern __typeof (xmlFreeNode) xmlFreeNode __attribute((alias("xmlFreeNode__internal_alias")));
+#else
+#ifndef xmlFreeNode
+extern __typeof (xmlFreeNode) xmlFreeNode__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeNode xmlFreeNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeNodeList
+extern __typeof (xmlFreeNodeList) xmlFreeNodeList __attribute((alias("xmlFreeNodeList__internal_alias")));
+#else
+#ifndef xmlFreeNodeList
+extern __typeof (xmlFreeNodeList) xmlFreeNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeNodeList xmlFreeNodeList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeNotationTable
+extern __typeof (xmlFreeNotationTable) xmlFreeNotationTable __attribute((alias("xmlFreeNotationTable__internal_alias")));
+#else
+#ifndef xmlFreeNotationTable
+extern __typeof (xmlFreeNotationTable) xmlFreeNotationTable__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeNotationTable xmlFreeNotationTable__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeNs
+extern __typeof (xmlFreeNs) xmlFreeNs __attribute((alias("xmlFreeNs__internal_alias")));
+#else
+#ifndef xmlFreeNs
+extern __typeof (xmlFreeNs) xmlFreeNs__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeNs xmlFreeNs__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeNsList
+extern __typeof (xmlFreeNsList) xmlFreeNsList __attribute((alias("xmlFreeNsList__internal_alias")));
+#else
+#ifndef xmlFreeNsList
+extern __typeof (xmlFreeNsList) xmlFreeNsList__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeNsList xmlFreeNsList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlFreeParserCtxt
+extern __typeof (xmlFreeParserCtxt) xmlFreeParserCtxt __attribute((alias("xmlFreeParserCtxt__internal_alias")));
+#else
+#ifndef xmlFreeParserCtxt
+extern __typeof (xmlFreeParserCtxt) xmlFreeParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeParserCtxt xmlFreeParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlFreeParserInputBuffer
+extern __typeof (xmlFreeParserInputBuffer) xmlFreeParserInputBuffer __attribute((alias("xmlFreeParserInputBuffer__internal_alias")));
+#else
+#ifndef xmlFreeParserInputBuffer
+extern __typeof (xmlFreeParserInputBuffer) xmlFreeParserInputBuffer__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeParserInputBuffer xmlFreeParserInputBuffer__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlFreePattern
+extern __typeof (xmlFreePattern) xmlFreePattern __attribute((alias("xmlFreePattern__internal_alias")));
+#else
+#ifndef xmlFreePattern
+extern __typeof (xmlFreePattern) xmlFreePattern__internal_alias __attribute((visibility("hidden")));
+#define xmlFreePattern xmlFreePattern__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlFreePatternList
+extern __typeof (xmlFreePatternList) xmlFreePatternList __attribute((alias("xmlFreePatternList__internal_alias")));
+#else
+#ifndef xmlFreePatternList
+extern __typeof (xmlFreePatternList) xmlFreePatternList__internal_alias __attribute((visibility("hidden")));
+#define xmlFreePatternList xmlFreePatternList__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreeProp
+extern __typeof (xmlFreeProp) xmlFreeProp __attribute((alias("xmlFreeProp__internal_alias")));
+#else
+#ifndef xmlFreeProp
+extern __typeof (xmlFreeProp) xmlFreeProp__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeProp xmlFreeProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlFreePropList
+extern __typeof (xmlFreePropList) xmlFreePropList __attribute((alias("xmlFreePropList__internal_alias")));
+#else
+#ifndef xmlFreePropList
+extern __typeof (xmlFreePropList) xmlFreePropList__internal_alias __attribute((visibility("hidden")));
+#define xmlFreePropList xmlFreePropList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlFreeRMutex
+extern __typeof (xmlFreeRMutex) xmlFreeRMutex __attribute((alias("xmlFreeRMutex__internal_alias")));
+#else
+#ifndef xmlFreeRMutex
+extern __typeof (xmlFreeRMutex) xmlFreeRMutex__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeRMutex xmlFreeRMutex__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlFreeRefTable
+extern __typeof (xmlFreeRefTable) xmlFreeRefTable __attribute((alias("xmlFreeRefTable__internal_alias")));
+#else
+#ifndef xmlFreeRefTable
+extern __typeof (xmlFreeRefTable) xmlFreeRefTable__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeRefTable xmlFreeRefTable__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlFreeStreamCtxt
+extern __typeof (xmlFreeStreamCtxt) xmlFreeStreamCtxt __attribute((alias("xmlFreeStreamCtxt__internal_alias")));
+#else
+#ifndef xmlFreeStreamCtxt
+extern __typeof (xmlFreeStreamCtxt) xmlFreeStreamCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeStreamCtxt xmlFreeStreamCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlFreeTextReader
+extern __typeof (xmlFreeTextReader) xmlFreeTextReader __attribute((alias("xmlFreeTextReader__internal_alias")));
+#else
+#ifndef xmlFreeTextReader
+extern __typeof (xmlFreeTextReader) xmlFreeTextReader__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeTextReader xmlFreeTextReader__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlFreeTextWriter
+extern __typeof (xmlFreeTextWriter) xmlFreeTextWriter __attribute((alias("xmlFreeTextWriter__internal_alias")));
+#else
+#ifndef xmlFreeTextWriter
+extern __typeof (xmlFreeTextWriter) xmlFreeTextWriter__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeTextWriter xmlFreeTextWriter__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlFreeURI
+extern __typeof (xmlFreeURI) xmlFreeURI __attribute((alias("xmlFreeURI__internal_alias")));
+#else
+#ifndef xmlFreeURI
+extern __typeof (xmlFreeURI) xmlFreeURI__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeURI xmlFreeURI__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlFreeValidCtxt
+extern __typeof (xmlFreeValidCtxt) xmlFreeValidCtxt __attribute((alias("xmlFreeValidCtxt__internal_alias")));
+#else
+#ifndef xmlFreeValidCtxt
+extern __typeof (xmlFreeValidCtxt) xmlFreeValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlFreeValidCtxt xmlFreeValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlGcMemGet
+extern __typeof (xmlGcMemGet) xmlGcMemGet __attribute((alias("xmlGcMemGet__internal_alias")));
+#else
+#ifndef xmlGcMemGet
+extern __typeof (xmlGcMemGet) xmlGcMemGet__internal_alias __attribute((visibility("hidden")));
+#define xmlGcMemGet xmlGcMemGet__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlGcMemSetup
+extern __typeof (xmlGcMemSetup) xmlGcMemSetup __attribute((alias("xmlGcMemSetup__internal_alias")));
+#else
+#ifndef xmlGcMemSetup
+extern __typeof (xmlGcMemSetup) xmlGcMemSetup__internal_alias __attribute((visibility("hidden")));
+#define xmlGcMemSetup xmlGcMemSetup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetBufferAllocationScheme
+extern __typeof (xmlGetBufferAllocationScheme) xmlGetBufferAllocationScheme __attribute((alias("xmlGetBufferAllocationScheme__internal_alias")));
+#else
+#ifndef xmlGetBufferAllocationScheme
+extern __typeof (xmlGetBufferAllocationScheme) xmlGetBufferAllocationScheme__internal_alias __attribute((visibility("hidden")));
+#define xmlGetBufferAllocationScheme xmlGetBufferAllocationScheme__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlGetCharEncodingHandler
+extern __typeof (xmlGetCharEncodingHandler) xmlGetCharEncodingHandler __attribute((alias("xmlGetCharEncodingHandler__internal_alias")));
+#else
+#ifndef xmlGetCharEncodingHandler
+extern __typeof (xmlGetCharEncodingHandler) xmlGetCharEncodingHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlGetCharEncodingHandler xmlGetCharEncodingHandler__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlGetCharEncodingName
+extern __typeof (xmlGetCharEncodingName) xmlGetCharEncodingName __attribute((alias("xmlGetCharEncodingName__internal_alias")));
+#else
+#ifndef xmlGetCharEncodingName
+extern __typeof (xmlGetCharEncodingName) xmlGetCharEncodingName__internal_alias __attribute((visibility("hidden")));
+#define xmlGetCharEncodingName xmlGetCharEncodingName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetCompressMode
+extern __typeof (xmlGetCompressMode) xmlGetCompressMode __attribute((alias("xmlGetCompressMode__internal_alias")));
+#else
+#ifndef xmlGetCompressMode
+extern __typeof (xmlGetCompressMode) xmlGetCompressMode__internal_alias __attribute((visibility("hidden")));
+#define xmlGetCompressMode xmlGetCompressMode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetDocCompressMode
+extern __typeof (xmlGetDocCompressMode) xmlGetDocCompressMode __attribute((alias("xmlGetDocCompressMode__internal_alias")));
+#else
+#ifndef xmlGetDocCompressMode
+extern __typeof (xmlGetDocCompressMode) xmlGetDocCompressMode__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDocCompressMode xmlGetDocCompressMode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlGetDocEntity
+extern __typeof (xmlGetDocEntity) xmlGetDocEntity __attribute((alias("xmlGetDocEntity__internal_alias")));
+#else
+#ifndef xmlGetDocEntity
+extern __typeof (xmlGetDocEntity) xmlGetDocEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDocEntity xmlGetDocEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetDtdAttrDesc
+extern __typeof (xmlGetDtdAttrDesc) xmlGetDtdAttrDesc __attribute((alias("xmlGetDtdAttrDesc__internal_alias")));
+#else
+#ifndef xmlGetDtdAttrDesc
+extern __typeof (xmlGetDtdAttrDesc) xmlGetDtdAttrDesc__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDtdAttrDesc xmlGetDtdAttrDesc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetDtdElementDesc
+extern __typeof (xmlGetDtdElementDesc) xmlGetDtdElementDesc __attribute((alias("xmlGetDtdElementDesc__internal_alias")));
+#else
+#ifndef xmlGetDtdElementDesc
+extern __typeof (xmlGetDtdElementDesc) xmlGetDtdElementDesc__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDtdElementDesc xmlGetDtdElementDesc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlGetDtdEntity
+extern __typeof (xmlGetDtdEntity) xmlGetDtdEntity __attribute((alias("xmlGetDtdEntity__internal_alias")));
+#else
+#ifndef xmlGetDtdEntity
+extern __typeof (xmlGetDtdEntity) xmlGetDtdEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDtdEntity xmlGetDtdEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetDtdNotationDesc
+extern __typeof (xmlGetDtdNotationDesc) xmlGetDtdNotationDesc __attribute((alias("xmlGetDtdNotationDesc__internal_alias")));
+#else
+#ifndef xmlGetDtdNotationDesc
+extern __typeof (xmlGetDtdNotationDesc) xmlGetDtdNotationDesc__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDtdNotationDesc xmlGetDtdNotationDesc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetDtdQAttrDesc
+extern __typeof (xmlGetDtdQAttrDesc) xmlGetDtdQAttrDesc __attribute((alias("xmlGetDtdQAttrDesc__internal_alias")));
+#else
+#ifndef xmlGetDtdQAttrDesc
+extern __typeof (xmlGetDtdQAttrDesc) xmlGetDtdQAttrDesc__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDtdQAttrDesc xmlGetDtdQAttrDesc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetDtdQElementDesc
+extern __typeof (xmlGetDtdQElementDesc) xmlGetDtdQElementDesc __attribute((alias("xmlGetDtdQElementDesc__internal_alias")));
+#else
+#ifndef xmlGetDtdQElementDesc
+extern __typeof (xmlGetDtdQElementDesc) xmlGetDtdQElementDesc__internal_alias __attribute((visibility("hidden")));
+#define xmlGetDtdQElementDesc xmlGetDtdQElementDesc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlGetEncodingAlias
+extern __typeof (xmlGetEncodingAlias) xmlGetEncodingAlias __attribute((alias("xmlGetEncodingAlias__internal_alias")));
+#else
+#ifndef xmlGetEncodingAlias
+extern __typeof (xmlGetEncodingAlias) xmlGetEncodingAlias__internal_alias __attribute((visibility("hidden")));
+#define xmlGetEncodingAlias xmlGetEncodingAlias__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlGetExternalEntityLoader
+extern __typeof (xmlGetExternalEntityLoader) xmlGetExternalEntityLoader __attribute((alias("xmlGetExternalEntityLoader__internal_alias")));
+#else
+#ifndef xmlGetExternalEntityLoader
+extern __typeof (xmlGetExternalEntityLoader) xmlGetExternalEntityLoader__internal_alias __attribute((visibility("hidden")));
+#define xmlGetExternalEntityLoader xmlGetExternalEntityLoader__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlGetFeature
+extern __typeof (xmlGetFeature) xmlGetFeature __attribute((alias("xmlGetFeature__internal_alias")));
+#else
+#ifndef xmlGetFeature
+extern __typeof (xmlGetFeature) xmlGetFeature__internal_alias __attribute((visibility("hidden")));
+#define xmlGetFeature xmlGetFeature__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlGetFeaturesList
+extern __typeof (xmlGetFeaturesList) xmlGetFeaturesList __attribute((alias("xmlGetFeaturesList__internal_alias")));
+#else
+#ifndef xmlGetFeaturesList
+extern __typeof (xmlGetFeaturesList) xmlGetFeaturesList__internal_alias __attribute((visibility("hidden")));
+#define xmlGetFeaturesList xmlGetFeaturesList__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlGetGlobalState
+extern __typeof (xmlGetGlobalState) xmlGetGlobalState __attribute((alias("xmlGetGlobalState__internal_alias")));
+#else
+#ifndef xmlGetGlobalState
+extern __typeof (xmlGetGlobalState) xmlGetGlobalState__internal_alias __attribute((visibility("hidden")));
+#define xmlGetGlobalState xmlGetGlobalState__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetID
+extern __typeof (xmlGetID) xmlGetID __attribute((alias("xmlGetID__internal_alias")));
+#else
+#ifndef xmlGetID
+extern __typeof (xmlGetID) xmlGetID__internal_alias __attribute((visibility("hidden")));
+#define xmlGetID xmlGetID__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetIntSubset
+extern __typeof (xmlGetIntSubset) xmlGetIntSubset __attribute((alias("xmlGetIntSubset__internal_alias")));
+#else
+#ifndef xmlGetIntSubset
+extern __typeof (xmlGetIntSubset) xmlGetIntSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlGetIntSubset xmlGetIntSubset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetLastChild
+extern __typeof (xmlGetLastChild) xmlGetLastChild __attribute((alias("xmlGetLastChild__internal_alias")));
+#else
+#ifndef xmlGetLastChild
+extern __typeof (xmlGetLastChild) xmlGetLastChild__internal_alias __attribute((visibility("hidden")));
+#define xmlGetLastChild xmlGetLastChild__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlGetLastError
+extern __typeof (xmlGetLastError) xmlGetLastError __attribute((alias("xmlGetLastError__internal_alias")));
+#else
+#ifndef xmlGetLastError
+extern __typeof (xmlGetLastError) xmlGetLastError__internal_alias __attribute((visibility("hidden")));
+#define xmlGetLastError xmlGetLastError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetLineNo
+extern __typeof (xmlGetLineNo) xmlGetLineNo __attribute((alias("xmlGetLineNo__internal_alias")));
+#else
+#ifndef xmlGetLineNo
+extern __typeof (xmlGetLineNo) xmlGetLineNo__internal_alias __attribute((visibility("hidden")));
+#define xmlGetLineNo xmlGetLineNo__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetNoNsProp
+extern __typeof (xmlGetNoNsProp) xmlGetNoNsProp __attribute((alias("xmlGetNoNsProp__internal_alias")));
+#else
+#ifndef xmlGetNoNsProp
+extern __typeof (xmlGetNoNsProp) xmlGetNoNsProp__internal_alias __attribute((visibility("hidden")));
+#define xmlGetNoNsProp xmlGetNoNsProp__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_tree
+#undef xmlGetNodePath
+extern __typeof (xmlGetNodePath) xmlGetNodePath __attribute((alias("xmlGetNodePath__internal_alias")));
+#else
+#ifndef xmlGetNodePath
+extern __typeof (xmlGetNodePath) xmlGetNodePath__internal_alias __attribute((visibility("hidden")));
+#define xmlGetNodePath xmlGetNodePath__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlGetNsList
+extern __typeof (xmlGetNsList) xmlGetNsList __attribute((alias("xmlGetNsList__internal_alias")));
+#else
+#ifndef xmlGetNsList
+extern __typeof (xmlGetNsList) xmlGetNsList__internal_alias __attribute((visibility("hidden")));
+#define xmlGetNsList xmlGetNsList__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetNsProp
+extern __typeof (xmlGetNsProp) xmlGetNsProp __attribute((alias("xmlGetNsProp__internal_alias")));
+#else
+#ifndef xmlGetNsProp
+extern __typeof (xmlGetNsProp) xmlGetNsProp__internal_alias __attribute((visibility("hidden")));
+#define xmlGetNsProp xmlGetNsProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlGetParameterEntity
+extern __typeof (xmlGetParameterEntity) xmlGetParameterEntity __attribute((alias("xmlGetParameterEntity__internal_alias")));
+#else
+#ifndef xmlGetParameterEntity
+extern __typeof (xmlGetParameterEntity) xmlGetParameterEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlGetParameterEntity xmlGetParameterEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlGetPredefinedEntity
+extern __typeof (xmlGetPredefinedEntity) xmlGetPredefinedEntity __attribute((alias("xmlGetPredefinedEntity__internal_alias")));
+#else
+#ifndef xmlGetPredefinedEntity
+extern __typeof (xmlGetPredefinedEntity) xmlGetPredefinedEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlGetPredefinedEntity xmlGetPredefinedEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlGetProp
+extern __typeof (xmlGetProp) xmlGetProp __attribute((alias("xmlGetProp__internal_alias")));
+#else
+#ifndef xmlGetProp
+extern __typeof (xmlGetProp) xmlGetProp__internal_alias __attribute((visibility("hidden")));
+#define xmlGetProp xmlGetProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlGetRefs
+extern __typeof (xmlGetRefs) xmlGetRefs __attribute((alias("xmlGetRefs__internal_alias")));
+#else
+#ifndef xmlGetRefs
+extern __typeof (xmlGetRefs) xmlGetRefs__internal_alias __attribute((visibility("hidden")));
+#define xmlGetRefs xmlGetRefs__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlGetThreadId
+extern __typeof (xmlGetThreadId) xmlGetThreadId __attribute((alias("xmlGetThreadId__internal_alias")));
+#else
+#ifndef xmlGetThreadId
+extern __typeof (xmlGetThreadId) xmlGetThreadId__internal_alias __attribute((visibility("hidden")));
+#define xmlGetThreadId xmlGetThreadId__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlGetUTF8Char
+extern __typeof (xmlGetUTF8Char) xmlGetUTF8Char __attribute((alias("xmlGetUTF8Char__internal_alias")));
+#else
+#ifndef xmlGetUTF8Char
+extern __typeof (xmlGetUTF8Char) xmlGetUTF8Char__internal_alias __attribute((visibility("hidden")));
+#define xmlGetUTF8Char xmlGetUTF8Char__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlHandleEntity
+extern __typeof (xmlHandleEntity) xmlHandleEntity __attribute((alias("xmlHandleEntity__internal_alias")));
+#else
+#ifndef xmlHandleEntity
+extern __typeof (xmlHandleEntity) xmlHandleEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlHandleEntity xmlHandleEntity__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlHasFeature
+extern __typeof (xmlHasFeature) xmlHasFeature __attribute((alias("xmlHasFeature__internal_alias")));
+#else
+#ifndef xmlHasFeature
+extern __typeof (xmlHasFeature) xmlHasFeature__internal_alias __attribute((visibility("hidden")));
+#define xmlHasFeature xmlHasFeature__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlHasNsProp
+extern __typeof (xmlHasNsProp) xmlHasNsProp __attribute((alias("xmlHasNsProp__internal_alias")));
+#else
+#ifndef xmlHasNsProp
+extern __typeof (xmlHasNsProp) xmlHasNsProp__internal_alias __attribute((visibility("hidden")));
+#define xmlHasNsProp xmlHasNsProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlHasProp
+extern __typeof (xmlHasProp) xmlHasProp __attribute((alias("xmlHasProp__internal_alias")));
+#else
+#ifndef xmlHasProp
+extern __typeof (xmlHasProp) xmlHasProp__internal_alias __attribute((visibility("hidden")));
+#define xmlHasProp xmlHasProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashAddEntry
+extern __typeof (xmlHashAddEntry) xmlHashAddEntry __attribute((alias("xmlHashAddEntry__internal_alias")));
+#else
+#ifndef xmlHashAddEntry
+extern __typeof (xmlHashAddEntry) xmlHashAddEntry__internal_alias __attribute((visibility("hidden")));
+#define xmlHashAddEntry xmlHashAddEntry__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashAddEntry2
+extern __typeof (xmlHashAddEntry2) xmlHashAddEntry2 __attribute((alias("xmlHashAddEntry2__internal_alias")));
+#else
+#ifndef xmlHashAddEntry2
+extern __typeof (xmlHashAddEntry2) xmlHashAddEntry2__internal_alias __attribute((visibility("hidden")));
+#define xmlHashAddEntry2 xmlHashAddEntry2__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashAddEntry3
+extern __typeof (xmlHashAddEntry3) xmlHashAddEntry3 __attribute((alias("xmlHashAddEntry3__internal_alias")));
+#else
+#ifndef xmlHashAddEntry3
+extern __typeof (xmlHashAddEntry3) xmlHashAddEntry3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashAddEntry3 xmlHashAddEntry3__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashCopy
+extern __typeof (xmlHashCopy) xmlHashCopy __attribute((alias("xmlHashCopy__internal_alias")));
+#else
+#ifndef xmlHashCopy
+extern __typeof (xmlHashCopy) xmlHashCopy__internal_alias __attribute((visibility("hidden")));
+#define xmlHashCopy xmlHashCopy__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashCreate
+extern __typeof (xmlHashCreate) xmlHashCreate __attribute((alias("xmlHashCreate__internal_alias")));
+#else
+#ifndef xmlHashCreate
+extern __typeof (xmlHashCreate) xmlHashCreate__internal_alias __attribute((visibility("hidden")));
+#define xmlHashCreate xmlHashCreate__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashCreateDict
+extern __typeof (xmlHashCreateDict) xmlHashCreateDict __attribute((alias("xmlHashCreateDict__internal_alias")));
+#else
+#ifndef xmlHashCreateDict
+extern __typeof (xmlHashCreateDict) xmlHashCreateDict__internal_alias __attribute((visibility("hidden")));
+#define xmlHashCreateDict xmlHashCreateDict__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashFree
+extern __typeof (xmlHashFree) xmlHashFree __attribute((alias("xmlHashFree__internal_alias")));
+#else
+#ifndef xmlHashFree
+extern __typeof (xmlHashFree) xmlHashFree__internal_alias __attribute((visibility("hidden")));
+#define xmlHashFree xmlHashFree__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashLookup
+extern __typeof (xmlHashLookup) xmlHashLookup __attribute((alias("xmlHashLookup__internal_alias")));
+#else
+#ifndef xmlHashLookup
+extern __typeof (xmlHashLookup) xmlHashLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlHashLookup xmlHashLookup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashLookup2
+extern __typeof (xmlHashLookup2) xmlHashLookup2 __attribute((alias("xmlHashLookup2__internal_alias")));
+#else
+#ifndef xmlHashLookup2
+extern __typeof (xmlHashLookup2) xmlHashLookup2__internal_alias __attribute((visibility("hidden")));
+#define xmlHashLookup2 xmlHashLookup2__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashLookup3
+extern __typeof (xmlHashLookup3) xmlHashLookup3 __attribute((alias("xmlHashLookup3__internal_alias")));
+#else
+#ifndef xmlHashLookup3
+extern __typeof (xmlHashLookup3) xmlHashLookup3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashLookup3 xmlHashLookup3__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashQLookup
+extern __typeof (xmlHashQLookup) xmlHashQLookup __attribute((alias("xmlHashQLookup__internal_alias")));
+#else
+#ifndef xmlHashQLookup
+extern __typeof (xmlHashQLookup) xmlHashQLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlHashQLookup xmlHashQLookup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashQLookup2
+extern __typeof (xmlHashQLookup2) xmlHashQLookup2 __attribute((alias("xmlHashQLookup2__internal_alias")));
+#else
+#ifndef xmlHashQLookup2
+extern __typeof (xmlHashQLookup2) xmlHashQLookup2__internal_alias __attribute((visibility("hidden")));
+#define xmlHashQLookup2 xmlHashQLookup2__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashQLookup3
+extern __typeof (xmlHashQLookup3) xmlHashQLookup3 __attribute((alias("xmlHashQLookup3__internal_alias")));
+#else
+#ifndef xmlHashQLookup3
+extern __typeof (xmlHashQLookup3) xmlHashQLookup3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashQLookup3 xmlHashQLookup3__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashRemoveEntry
+extern __typeof (xmlHashRemoveEntry) xmlHashRemoveEntry __attribute((alias("xmlHashRemoveEntry__internal_alias")));
+#else
+#ifndef xmlHashRemoveEntry
+extern __typeof (xmlHashRemoveEntry) xmlHashRemoveEntry__internal_alias __attribute((visibility("hidden")));
+#define xmlHashRemoveEntry xmlHashRemoveEntry__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashRemoveEntry2
+extern __typeof (xmlHashRemoveEntry2) xmlHashRemoveEntry2 __attribute((alias("xmlHashRemoveEntry2__internal_alias")));
+#else
+#ifndef xmlHashRemoveEntry2
+extern __typeof (xmlHashRemoveEntry2) xmlHashRemoveEntry2__internal_alias __attribute((visibility("hidden")));
+#define xmlHashRemoveEntry2 xmlHashRemoveEntry2__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashRemoveEntry3
+extern __typeof (xmlHashRemoveEntry3) xmlHashRemoveEntry3 __attribute((alias("xmlHashRemoveEntry3__internal_alias")));
+#else
+#ifndef xmlHashRemoveEntry3
+extern __typeof (xmlHashRemoveEntry3) xmlHashRemoveEntry3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashRemoveEntry3 xmlHashRemoveEntry3__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashScan
+extern __typeof (xmlHashScan) xmlHashScan __attribute((alias("xmlHashScan__internal_alias")));
+#else
+#ifndef xmlHashScan
+extern __typeof (xmlHashScan) xmlHashScan__internal_alias __attribute((visibility("hidden")));
+#define xmlHashScan xmlHashScan__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashScan3
+extern __typeof (xmlHashScan3) xmlHashScan3 __attribute((alias("xmlHashScan3__internal_alias")));
+#else
+#ifndef xmlHashScan3
+extern __typeof (xmlHashScan3) xmlHashScan3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashScan3 xmlHashScan3__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashScanFull
+extern __typeof (xmlHashScanFull) xmlHashScanFull __attribute((alias("xmlHashScanFull__internal_alias")));
+#else
+#ifndef xmlHashScanFull
+extern __typeof (xmlHashScanFull) xmlHashScanFull__internal_alias __attribute((visibility("hidden")));
+#define xmlHashScanFull xmlHashScanFull__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashScanFull3
+extern __typeof (xmlHashScanFull3) xmlHashScanFull3 __attribute((alias("xmlHashScanFull3__internal_alias")));
+#else
+#ifndef xmlHashScanFull3
+extern __typeof (xmlHashScanFull3) xmlHashScanFull3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashScanFull3 xmlHashScanFull3__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashSize
+extern __typeof (xmlHashSize) xmlHashSize __attribute((alias("xmlHashSize__internal_alias")));
+#else
+#ifndef xmlHashSize
+extern __typeof (xmlHashSize) xmlHashSize__internal_alias __attribute((visibility("hidden")));
+#define xmlHashSize xmlHashSize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashUpdateEntry
+extern __typeof (xmlHashUpdateEntry) xmlHashUpdateEntry __attribute((alias("xmlHashUpdateEntry__internal_alias")));
+#else
+#ifndef xmlHashUpdateEntry
+extern __typeof (xmlHashUpdateEntry) xmlHashUpdateEntry__internal_alias __attribute((visibility("hidden")));
+#define xmlHashUpdateEntry xmlHashUpdateEntry__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashUpdateEntry2
+extern __typeof (xmlHashUpdateEntry2) xmlHashUpdateEntry2 __attribute((alias("xmlHashUpdateEntry2__internal_alias")));
+#else
+#ifndef xmlHashUpdateEntry2
+extern __typeof (xmlHashUpdateEntry2) xmlHashUpdateEntry2__internal_alias __attribute((visibility("hidden")));
+#define xmlHashUpdateEntry2 xmlHashUpdateEntry2__internal_alias
+#endif
+#endif
+
+#ifdef bottom_hash
+#undef xmlHashUpdateEntry3
+extern __typeof (xmlHashUpdateEntry3) xmlHashUpdateEntry3 __attribute((alias("xmlHashUpdateEntry3__internal_alias")));
+#else
+#ifndef xmlHashUpdateEntry3
+extern __typeof (xmlHashUpdateEntry3) xmlHashUpdateEntry3__internal_alias __attribute((visibility("hidden")));
+#define xmlHashUpdateEntry3 xmlHashUpdateEntry3__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOFTPClose
+extern __typeof (xmlIOFTPClose) xmlIOFTPClose __attribute((alias("xmlIOFTPClose__internal_alias")));
+#else
+#ifndef xmlIOFTPClose
+extern __typeof (xmlIOFTPClose) xmlIOFTPClose__internal_alias __attribute((visibility("hidden")));
+#define xmlIOFTPClose xmlIOFTPClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOFTPMatch
+extern __typeof (xmlIOFTPMatch) xmlIOFTPMatch __attribute((alias("xmlIOFTPMatch__internal_alias")));
+#else
+#ifndef xmlIOFTPMatch
+extern __typeof (xmlIOFTPMatch) xmlIOFTPMatch__internal_alias __attribute((visibility("hidden")));
+#define xmlIOFTPMatch xmlIOFTPMatch__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOFTPOpen
+extern __typeof (xmlIOFTPOpen) xmlIOFTPOpen __attribute((alias("xmlIOFTPOpen__internal_alias")));
+#else
+#ifndef xmlIOFTPOpen
+extern __typeof (xmlIOFTPOpen) xmlIOFTPOpen__internal_alias __attribute((visibility("hidden")));
+#define xmlIOFTPOpen xmlIOFTPOpen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOFTPRead
+extern __typeof (xmlIOFTPRead) xmlIOFTPRead __attribute((alias("xmlIOFTPRead__internal_alias")));
+#else
+#ifndef xmlIOFTPRead
+extern __typeof (xmlIOFTPRead) xmlIOFTPRead__internal_alias __attribute((visibility("hidden")));
+#define xmlIOFTPRead xmlIOFTPRead__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOHTTPClose
+extern __typeof (xmlIOHTTPClose) xmlIOHTTPClose __attribute((alias("xmlIOHTTPClose__internal_alias")));
+#else
+#ifndef xmlIOHTTPClose
+extern __typeof (xmlIOHTTPClose) xmlIOHTTPClose__internal_alias __attribute((visibility("hidden")));
+#define xmlIOHTTPClose xmlIOHTTPClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOHTTPMatch
+extern __typeof (xmlIOHTTPMatch) xmlIOHTTPMatch __attribute((alias("xmlIOHTTPMatch__internal_alias")));
+#else
+#ifndef xmlIOHTTPMatch
+extern __typeof (xmlIOHTTPMatch) xmlIOHTTPMatch__internal_alias __attribute((visibility("hidden")));
+#define xmlIOHTTPMatch xmlIOHTTPMatch__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOHTTPOpen
+extern __typeof (xmlIOHTTPOpen) xmlIOHTTPOpen __attribute((alias("xmlIOHTTPOpen__internal_alias")));
+#else
+#ifndef xmlIOHTTPOpen
+extern __typeof (xmlIOHTTPOpen) xmlIOHTTPOpen__internal_alias __attribute((visibility("hidden")));
+#define xmlIOHTTPOpen xmlIOHTTPOpen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOHTTPOpenW
+extern __typeof (xmlIOHTTPOpenW) xmlIOHTTPOpenW __attribute((alias("xmlIOHTTPOpenW__internal_alias")));
+#else
+#ifndef xmlIOHTTPOpenW
+extern __typeof (xmlIOHTTPOpenW) xmlIOHTTPOpenW__internal_alias __attribute((visibility("hidden")));
+#define xmlIOHTTPOpenW xmlIOHTTPOpenW__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlIOHTTPRead
+extern __typeof (xmlIOHTTPRead) xmlIOHTTPRead __attribute((alias("xmlIOHTTPRead__internal_alias")));
+#else
+#ifndef xmlIOHTTPRead
+extern __typeof (xmlIOHTTPRead) xmlIOHTTPRead__internal_alias __attribute((visibility("hidden")));
+#define xmlIOHTTPRead xmlIOHTTPRead__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_parser
+#undef xmlIOParseDTD
+extern __typeof (xmlIOParseDTD) xmlIOParseDTD __attribute((alias("xmlIOParseDTD__internal_alias")));
+#else
+#ifndef xmlIOParseDTD
+extern __typeof (xmlIOParseDTD) xmlIOParseDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlIOParseDTD xmlIOParseDTD__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlInitCharEncodingHandlers
+extern __typeof (xmlInitCharEncodingHandlers) xmlInitCharEncodingHandlers __attribute((alias("xmlInitCharEncodingHandlers__internal_alias")));
+#else
+#ifndef xmlInitCharEncodingHandlers
+extern __typeof (xmlInitCharEncodingHandlers) xmlInitCharEncodingHandlers__internal_alias __attribute((visibility("hidden")));
+#define xmlInitCharEncodingHandlers xmlInitCharEncodingHandlers__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlInitGlobals
+extern __typeof (xmlInitGlobals) xmlInitGlobals __attribute((alias("xmlInitGlobals__internal_alias")));
+#else
+#ifndef xmlInitGlobals
+extern __typeof (xmlInitGlobals) xmlInitGlobals__internal_alias __attribute((visibility("hidden")));
+#define xmlInitGlobals xmlInitGlobals__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlInitMemory
+extern __typeof (xmlInitMemory) xmlInitMemory __attribute((alias("xmlInitMemory__internal_alias")));
+#else
+#ifndef xmlInitMemory
+extern __typeof (xmlInitMemory) xmlInitMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlInitMemory xmlInitMemory__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlInitNodeInfoSeq
+extern __typeof (xmlInitNodeInfoSeq) xmlInitNodeInfoSeq __attribute((alias("xmlInitNodeInfoSeq__internal_alias")));
+#else
+#ifndef xmlInitNodeInfoSeq
+extern __typeof (xmlInitNodeInfoSeq) xmlInitNodeInfoSeq__internal_alias __attribute((visibility("hidden")));
+#define xmlInitNodeInfoSeq xmlInitNodeInfoSeq__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlInitParser
+extern __typeof (xmlInitParser) xmlInitParser __attribute((alias("xmlInitParser__internal_alias")));
+#else
+#ifndef xmlInitParser
+extern __typeof (xmlInitParser) xmlInitParser__internal_alias __attribute((visibility("hidden")));
+#define xmlInitParser xmlInitParser__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlInitParserCtxt
+extern __typeof (xmlInitParserCtxt) xmlInitParserCtxt __attribute((alias("xmlInitParserCtxt__internal_alias")));
+#else
+#ifndef xmlInitParserCtxt
+extern __typeof (xmlInitParserCtxt) xmlInitParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlInitParserCtxt xmlInitParserCtxt__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlInitThreads
+extern __typeof (xmlInitThreads) xmlInitThreads __attribute((alias("xmlInitThreads__internal_alias")));
+#else
+#ifndef xmlInitThreads
+extern __typeof (xmlInitThreads) xmlInitThreads__internal_alias __attribute((visibility("hidden")));
+#define xmlInitThreads xmlInitThreads__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlInitializeCatalog
+extern __typeof (xmlInitializeCatalog) xmlInitializeCatalog __attribute((alias("xmlInitializeCatalog__internal_alias")));
+#else
+#ifndef xmlInitializeCatalog
+extern __typeof (xmlInitializeCatalog) xmlInitializeCatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlInitializeCatalog xmlInitializeCatalog__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_dict
+#undef xmlInitializeDict
+extern __typeof (xmlInitializeDict) xmlInitializeDict __attribute((alias("xmlInitializeDict__internal_alias")));
+#else
+#ifndef xmlInitializeDict
+extern __typeof (xmlInitializeDict) xmlInitializeDict__internal_alias __attribute((visibility("hidden")));
+#define xmlInitializeDict xmlInitializeDict__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlInitializeGlobalState
+extern __typeof (xmlInitializeGlobalState) xmlInitializeGlobalState __attribute((alias("xmlInitializeGlobalState__internal_alias")));
+#else
+#ifndef xmlInitializeGlobalState
+extern __typeof (xmlInitializeGlobalState) xmlInitializeGlobalState__internal_alias __attribute((visibility("hidden")));
+#define xmlInitializeGlobalState xmlInitializeGlobalState__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlInitializePredefinedEntities
+extern __typeof (xmlInitializePredefinedEntities) xmlInitializePredefinedEntities __attribute((alias("xmlInitializePredefinedEntities__internal_alias")));
+#else
+#ifndef xmlInitializePredefinedEntities
+extern __typeof (xmlInitializePredefinedEntities) xmlInitializePredefinedEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlInitializePredefinedEntities xmlInitializePredefinedEntities__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsBaseChar
+extern __typeof (xmlIsBaseChar) xmlIsBaseChar __attribute((alias("xmlIsBaseChar__internal_alias")));
+#else
+#ifndef xmlIsBaseChar
+extern __typeof (xmlIsBaseChar) xmlIsBaseChar__internal_alias __attribute((visibility("hidden")));
+#define xmlIsBaseChar xmlIsBaseChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsBlank
+extern __typeof (xmlIsBlank) xmlIsBlank __attribute((alias("xmlIsBlank__internal_alias")));
+#else
+#ifndef xmlIsBlank
+extern __typeof (xmlIsBlank) xmlIsBlank__internal_alias __attribute((visibility("hidden")));
+#define xmlIsBlank xmlIsBlank__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlIsBlankNode
+extern __typeof (xmlIsBlankNode) xmlIsBlankNode __attribute((alias("xmlIsBlankNode__internal_alias")));
+#else
+#ifndef xmlIsBlankNode
+extern __typeof (xmlIsBlankNode) xmlIsBlankNode__internal_alias __attribute((visibility("hidden")));
+#define xmlIsBlankNode xmlIsBlankNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsChar
+extern __typeof (xmlIsChar) xmlIsChar __attribute((alias("xmlIsChar__internal_alias")));
+#else
+#ifndef xmlIsChar
+extern __typeof (xmlIsChar) xmlIsChar__internal_alias __attribute((visibility("hidden")));
+#define xmlIsChar xmlIsChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsCombining
+extern __typeof (xmlIsCombining) xmlIsCombining __attribute((alias("xmlIsCombining__internal_alias")));
+#else
+#ifndef xmlIsCombining
+extern __typeof (xmlIsCombining) xmlIsCombining__internal_alias __attribute((visibility("hidden")));
+#define xmlIsCombining xmlIsCombining__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsDigit
+extern __typeof (xmlIsDigit) xmlIsDigit __attribute((alias("xmlIsDigit__internal_alias")));
+#else
+#ifndef xmlIsDigit
+extern __typeof (xmlIsDigit) xmlIsDigit__internal_alias __attribute((visibility("hidden")));
+#define xmlIsDigit xmlIsDigit__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsExtender
+extern __typeof (xmlIsExtender) xmlIsExtender __attribute((alias("xmlIsExtender__internal_alias")));
+#else
+#ifndef xmlIsExtender
+extern __typeof (xmlIsExtender) xmlIsExtender__internal_alias __attribute((visibility("hidden")));
+#define xmlIsExtender xmlIsExtender__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlIsID
+extern __typeof (xmlIsID) xmlIsID __attribute((alias("xmlIsID__internal_alias")));
+#else
+#ifndef xmlIsID
+extern __typeof (xmlIsID) xmlIsID__internal_alias __attribute((visibility("hidden")));
+#define xmlIsID xmlIsID__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsIdeographic
+extern __typeof (xmlIsIdeographic) xmlIsIdeographic __attribute((alias("xmlIsIdeographic__internal_alias")));
+#else
+#ifndef xmlIsIdeographic
+extern __typeof (xmlIsIdeographic) xmlIsIdeographic__internal_alias __attribute((visibility("hidden")));
+#define xmlIsIdeographic xmlIsIdeographic__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlIsLetter
+extern __typeof (xmlIsLetter) xmlIsLetter __attribute((alias("xmlIsLetter__internal_alias")));
+#else
+#ifndef xmlIsLetter
+extern __typeof (xmlIsLetter) xmlIsLetter__internal_alias __attribute((visibility("hidden")));
+#define xmlIsLetter xmlIsLetter__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlIsMainThread
+extern __typeof (xmlIsMainThread) xmlIsMainThread __attribute((alias("xmlIsMainThread__internal_alias")));
+#else
+#ifndef xmlIsMainThread
+extern __typeof (xmlIsMainThread) xmlIsMainThread__internal_alias __attribute((visibility("hidden")));
+#define xmlIsMainThread xmlIsMainThread__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlIsMixedElement
+extern __typeof (xmlIsMixedElement) xmlIsMixedElement __attribute((alias("xmlIsMixedElement__internal_alias")));
+#else
+#ifndef xmlIsMixedElement
+extern __typeof (xmlIsMixedElement) xmlIsMixedElement__internal_alias __attribute((visibility("hidden")));
+#define xmlIsMixedElement xmlIsMixedElement__internal_alias
+#endif
+#endif
+
+#ifdef bottom_chvalid
+#undef xmlIsPubidChar
+extern __typeof (xmlIsPubidChar) xmlIsPubidChar __attribute((alias("xmlIsPubidChar__internal_alias")));
+#else
+#ifndef xmlIsPubidChar
+extern __typeof (xmlIsPubidChar) xmlIsPubidChar__internal_alias __attribute((visibility("hidden")));
+#define xmlIsPubidChar xmlIsPubidChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlIsRef
+extern __typeof (xmlIsRef) xmlIsRef __attribute((alias("xmlIsRef__internal_alias")));
+#else
+#ifndef xmlIsRef
+extern __typeof (xmlIsRef) xmlIsRef__internal_alias __attribute((visibility("hidden")));
+#define xmlIsRef xmlIsRef__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlsave
+#undef xmlIsXHTML
+extern __typeof (xmlIsXHTML) xmlIsXHTML __attribute((alias("xmlIsXHTML__internal_alias")));
+#else
+#ifndef xmlIsXHTML
+extern __typeof (xmlIsXHTML) xmlIsXHTML__internal_alias __attribute((visibility("hidden")));
+#define xmlIsXHTML xmlIsXHTML__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlKeepBlanksDefault
+extern __typeof (xmlKeepBlanksDefault) xmlKeepBlanksDefault __attribute((alias("xmlKeepBlanksDefault__internal_alias")));
+#else
+#ifndef xmlKeepBlanksDefault
+extern __typeof (xmlKeepBlanksDefault) xmlKeepBlanksDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlKeepBlanksDefault xmlKeepBlanksDefault__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlLastElementChild
+extern __typeof (xmlLastElementChild) xmlLastElementChild __attribute((alias("xmlLastElementChild__internal_alias")));
+#else
+#ifndef xmlLastElementChild
+extern __typeof (xmlLastElementChild) xmlLastElementChild__internal_alias __attribute((visibility("hidden")));
+#define xmlLastElementChild xmlLastElementChild__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlLineNumbersDefault
+extern __typeof (xmlLineNumbersDefault) xmlLineNumbersDefault __attribute((alias("xmlLineNumbersDefault__internal_alias")));
+#else
+#ifndef xmlLineNumbersDefault
+extern __typeof (xmlLineNumbersDefault) xmlLineNumbersDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlLineNumbersDefault xmlLineNumbersDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlLinkGetData
+extern __typeof (xmlLinkGetData) xmlLinkGetData __attribute((alias("xmlLinkGetData__internal_alias")));
+#else
+#ifndef xmlLinkGetData
+extern __typeof (xmlLinkGetData) xmlLinkGetData__internal_alias __attribute((visibility("hidden")));
+#define xmlLinkGetData xmlLinkGetData__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListAppend
+extern __typeof (xmlListAppend) xmlListAppend __attribute((alias("xmlListAppend__internal_alias")));
+#else
+#ifndef xmlListAppend
+extern __typeof (xmlListAppend) xmlListAppend__internal_alias __attribute((visibility("hidden")));
+#define xmlListAppend xmlListAppend__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListClear
+extern __typeof (xmlListClear) xmlListClear __attribute((alias("xmlListClear__internal_alias")));
+#else
+#ifndef xmlListClear
+extern __typeof (xmlListClear) xmlListClear__internal_alias __attribute((visibility("hidden")));
+#define xmlListClear xmlListClear__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListCopy
+extern __typeof (xmlListCopy) xmlListCopy __attribute((alias("xmlListCopy__internal_alias")));
+#else
+#ifndef xmlListCopy
+extern __typeof (xmlListCopy) xmlListCopy__internal_alias __attribute((visibility("hidden")));
+#define xmlListCopy xmlListCopy__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListCreate
+extern __typeof (xmlListCreate) xmlListCreate __attribute((alias("xmlListCreate__internal_alias")));
+#else
+#ifndef xmlListCreate
+extern __typeof (xmlListCreate) xmlListCreate__internal_alias __attribute((visibility("hidden")));
+#define xmlListCreate xmlListCreate__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListDelete
+extern __typeof (xmlListDelete) xmlListDelete __attribute((alias("xmlListDelete__internal_alias")));
+#else
+#ifndef xmlListDelete
+extern __typeof (xmlListDelete) xmlListDelete__internal_alias __attribute((visibility("hidden")));
+#define xmlListDelete xmlListDelete__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListDup
+extern __typeof (xmlListDup) xmlListDup __attribute((alias("xmlListDup__internal_alias")));
+#else
+#ifndef xmlListDup
+extern __typeof (xmlListDup) xmlListDup__internal_alias __attribute((visibility("hidden")));
+#define xmlListDup xmlListDup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListEmpty
+extern __typeof (xmlListEmpty) xmlListEmpty __attribute((alias("xmlListEmpty__internal_alias")));
+#else
+#ifndef xmlListEmpty
+extern __typeof (xmlListEmpty) xmlListEmpty__internal_alias __attribute((visibility("hidden")));
+#define xmlListEmpty xmlListEmpty__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListEnd
+extern __typeof (xmlListEnd) xmlListEnd __attribute((alias("xmlListEnd__internal_alias")));
+#else
+#ifndef xmlListEnd
+extern __typeof (xmlListEnd) xmlListEnd__internal_alias __attribute((visibility("hidden")));
+#define xmlListEnd xmlListEnd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListFront
+extern __typeof (xmlListFront) xmlListFront __attribute((alias("xmlListFront__internal_alias")));
+#else
+#ifndef xmlListFront
+extern __typeof (xmlListFront) xmlListFront__internal_alias __attribute((visibility("hidden")));
+#define xmlListFront xmlListFront__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListInsert
+extern __typeof (xmlListInsert) xmlListInsert __attribute((alias("xmlListInsert__internal_alias")));
+#else
+#ifndef xmlListInsert
+extern __typeof (xmlListInsert) xmlListInsert__internal_alias __attribute((visibility("hidden")));
+#define xmlListInsert xmlListInsert__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListMerge
+extern __typeof (xmlListMerge) xmlListMerge __attribute((alias("xmlListMerge__internal_alias")));
+#else
+#ifndef xmlListMerge
+extern __typeof (xmlListMerge) xmlListMerge__internal_alias __attribute((visibility("hidden")));
+#define xmlListMerge xmlListMerge__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListPopBack
+extern __typeof (xmlListPopBack) xmlListPopBack __attribute((alias("xmlListPopBack__internal_alias")));
+#else
+#ifndef xmlListPopBack
+extern __typeof (xmlListPopBack) xmlListPopBack__internal_alias __attribute((visibility("hidden")));
+#define xmlListPopBack xmlListPopBack__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListPopFront
+extern __typeof (xmlListPopFront) xmlListPopFront __attribute((alias("xmlListPopFront__internal_alias")));
+#else
+#ifndef xmlListPopFront
+extern __typeof (xmlListPopFront) xmlListPopFront__internal_alias __attribute((visibility("hidden")));
+#define xmlListPopFront xmlListPopFront__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListPushBack
+extern __typeof (xmlListPushBack) xmlListPushBack __attribute((alias("xmlListPushBack__internal_alias")));
+#else
+#ifndef xmlListPushBack
+extern __typeof (xmlListPushBack) xmlListPushBack__internal_alias __attribute((visibility("hidden")));
+#define xmlListPushBack xmlListPushBack__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListPushFront
+extern __typeof (xmlListPushFront) xmlListPushFront __attribute((alias("xmlListPushFront__internal_alias")));
+#else
+#ifndef xmlListPushFront
+extern __typeof (xmlListPushFront) xmlListPushFront__internal_alias __attribute((visibility("hidden")));
+#define xmlListPushFront xmlListPushFront__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListRemoveAll
+extern __typeof (xmlListRemoveAll) xmlListRemoveAll __attribute((alias("xmlListRemoveAll__internal_alias")));
+#else
+#ifndef xmlListRemoveAll
+extern __typeof (xmlListRemoveAll) xmlListRemoveAll__internal_alias __attribute((visibility("hidden")));
+#define xmlListRemoveAll xmlListRemoveAll__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListRemoveFirst
+extern __typeof (xmlListRemoveFirst) xmlListRemoveFirst __attribute((alias("xmlListRemoveFirst__internal_alias")));
+#else
+#ifndef xmlListRemoveFirst
+extern __typeof (xmlListRemoveFirst) xmlListRemoveFirst__internal_alias __attribute((visibility("hidden")));
+#define xmlListRemoveFirst xmlListRemoveFirst__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListRemoveLast
+extern __typeof (xmlListRemoveLast) xmlListRemoveLast __attribute((alias("xmlListRemoveLast__internal_alias")));
+#else
+#ifndef xmlListRemoveLast
+extern __typeof (xmlListRemoveLast) xmlListRemoveLast__internal_alias __attribute((visibility("hidden")));
+#define xmlListRemoveLast xmlListRemoveLast__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListReverse
+extern __typeof (xmlListReverse) xmlListReverse __attribute((alias("xmlListReverse__internal_alias")));
+#else
+#ifndef xmlListReverse
+extern __typeof (xmlListReverse) xmlListReverse__internal_alias __attribute((visibility("hidden")));
+#define xmlListReverse xmlListReverse__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListReverseSearch
+extern __typeof (xmlListReverseSearch) xmlListReverseSearch __attribute((alias("xmlListReverseSearch__internal_alias")));
+#else
+#ifndef xmlListReverseSearch
+extern __typeof (xmlListReverseSearch) xmlListReverseSearch__internal_alias __attribute((visibility("hidden")));
+#define xmlListReverseSearch xmlListReverseSearch__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListReverseWalk
+extern __typeof (xmlListReverseWalk) xmlListReverseWalk __attribute((alias("xmlListReverseWalk__internal_alias")));
+#else
+#ifndef xmlListReverseWalk
+extern __typeof (xmlListReverseWalk) xmlListReverseWalk__internal_alias __attribute((visibility("hidden")));
+#define xmlListReverseWalk xmlListReverseWalk__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListSearch
+extern __typeof (xmlListSearch) xmlListSearch __attribute((alias("xmlListSearch__internal_alias")));
+#else
+#ifndef xmlListSearch
+extern __typeof (xmlListSearch) xmlListSearch__internal_alias __attribute((visibility("hidden")));
+#define xmlListSearch xmlListSearch__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListSize
+extern __typeof (xmlListSize) xmlListSize __attribute((alias("xmlListSize__internal_alias")));
+#else
+#ifndef xmlListSize
+extern __typeof (xmlListSize) xmlListSize__internal_alias __attribute((visibility("hidden")));
+#define xmlListSize xmlListSize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListSort
+extern __typeof (xmlListSort) xmlListSort __attribute((alias("xmlListSort__internal_alias")));
+#else
+#ifndef xmlListSort
+extern __typeof (xmlListSort) xmlListSort__internal_alias __attribute((visibility("hidden")));
+#define xmlListSort xmlListSort__internal_alias
+#endif
+#endif
+
+#ifdef bottom_list
+#undef xmlListWalk
+extern __typeof (xmlListWalk) xmlListWalk __attribute((alias("xmlListWalk__internal_alias")));
+#else
+#ifndef xmlListWalk
+extern __typeof (xmlListWalk) xmlListWalk__internal_alias __attribute((visibility("hidden")));
+#define xmlListWalk xmlListWalk__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlLoadACatalog
+extern __typeof (xmlLoadACatalog) xmlLoadACatalog __attribute((alias("xmlLoadACatalog__internal_alias")));
+#else
+#ifndef xmlLoadACatalog
+extern __typeof (xmlLoadACatalog) xmlLoadACatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlLoadACatalog xmlLoadACatalog__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlLoadCatalog
+extern __typeof (xmlLoadCatalog) xmlLoadCatalog __attribute((alias("xmlLoadCatalog__internal_alias")));
+#else
+#ifndef xmlLoadCatalog
+extern __typeof (xmlLoadCatalog) xmlLoadCatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlLoadCatalog xmlLoadCatalog__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlLoadCatalogs
+extern __typeof (xmlLoadCatalogs) xmlLoadCatalogs __attribute((alias("xmlLoadCatalogs__internal_alias")));
+#else
+#ifndef xmlLoadCatalogs
+extern __typeof (xmlLoadCatalogs) xmlLoadCatalogs__internal_alias __attribute((visibility("hidden")));
+#define xmlLoadCatalogs xmlLoadCatalogs__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlLoadExternalEntity
+extern __typeof (xmlLoadExternalEntity) xmlLoadExternalEntity __attribute((alias("xmlLoadExternalEntity__internal_alias")));
+#else
+#ifndef xmlLoadExternalEntity
+extern __typeof (xmlLoadExternalEntity) xmlLoadExternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlLoadExternalEntity xmlLoadExternalEntity__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlLoadSGMLSuperCatalog
+extern __typeof (xmlLoadSGMLSuperCatalog) xmlLoadSGMLSuperCatalog __attribute((alias("xmlLoadSGMLSuperCatalog__internal_alias")));
+#else
+#ifndef xmlLoadSGMLSuperCatalog
+extern __typeof (xmlLoadSGMLSuperCatalog) xmlLoadSGMLSuperCatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlLoadSGMLSuperCatalog xmlLoadSGMLSuperCatalog__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlLockLibrary
+extern __typeof (xmlLockLibrary) xmlLockLibrary __attribute((alias("xmlLockLibrary__internal_alias")));
+#else
+#ifndef xmlLockLibrary
+extern __typeof (xmlLockLibrary) xmlLockLibrary__internal_alias __attribute((visibility("hidden")));
+#define xmlLockLibrary xmlLockLibrary__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlLsCountNode
+extern __typeof (xmlLsCountNode) xmlLsCountNode __attribute((alias("xmlLsCountNode__internal_alias")));
+#else
+#ifndef xmlLsCountNode
+extern __typeof (xmlLsCountNode) xmlLsCountNode__internal_alias __attribute((visibility("hidden")));
+#define xmlLsCountNode xmlLsCountNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlLsOneNode
+extern __typeof (xmlLsOneNode) xmlLsOneNode __attribute((alias("xmlLsOneNode__internal_alias")));
+#else
+#ifndef xmlLsOneNode
+extern __typeof (xmlLsOneNode) xmlLsOneNode__internal_alias __attribute((visibility("hidden")));
+#define xmlLsOneNode xmlLsOneNode__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMallocAtomicLoc
+extern __typeof (xmlMallocAtomicLoc) xmlMallocAtomicLoc __attribute((alias("xmlMallocAtomicLoc__internal_alias")));
+#else
+#ifndef xmlMallocAtomicLoc
+extern __typeof (xmlMallocAtomicLoc) xmlMallocAtomicLoc__internal_alias __attribute((visibility("hidden")));
+#define xmlMallocAtomicLoc xmlMallocAtomicLoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMallocLoc
+extern __typeof (xmlMallocLoc) xmlMallocLoc __attribute((alias("xmlMallocLoc__internal_alias")));
+#else
+#ifndef xmlMallocLoc
+extern __typeof (xmlMallocLoc) xmlMallocLoc__internal_alias __attribute((visibility("hidden")));
+#define xmlMallocLoc xmlMallocLoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemBlocks
+extern __typeof (xmlMemBlocks) xmlMemBlocks __attribute((alias("xmlMemBlocks__internal_alias")));
+#else
+#ifndef xmlMemBlocks
+extern __typeof (xmlMemBlocks) xmlMemBlocks__internal_alias __attribute((visibility("hidden")));
+#define xmlMemBlocks xmlMemBlocks__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemDisplay
+extern __typeof (xmlMemDisplay) xmlMemDisplay __attribute((alias("xmlMemDisplay__internal_alias")));
+#else
+#ifndef xmlMemDisplay
+extern __typeof (xmlMemDisplay) xmlMemDisplay__internal_alias __attribute((visibility("hidden")));
+#define xmlMemDisplay xmlMemDisplay__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemDisplayLast
+extern __typeof (xmlMemDisplayLast) xmlMemDisplayLast __attribute((alias("xmlMemDisplayLast__internal_alias")));
+#else
+#ifndef xmlMemDisplayLast
+extern __typeof (xmlMemDisplayLast) xmlMemDisplayLast__internal_alias __attribute((visibility("hidden")));
+#define xmlMemDisplayLast xmlMemDisplayLast__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemFree
+extern __typeof (xmlMemFree) xmlMemFree __attribute((alias("xmlMemFree__internal_alias")));
+#else
+#ifndef xmlMemFree
+extern __typeof (xmlMemFree) xmlMemFree__internal_alias __attribute((visibility("hidden")));
+#define xmlMemFree xmlMemFree__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemGet
+extern __typeof (xmlMemGet) xmlMemGet __attribute((alias("xmlMemGet__internal_alias")));
+#else
+#ifndef xmlMemGet
+extern __typeof (xmlMemGet) xmlMemGet__internal_alias __attribute((visibility("hidden")));
+#define xmlMemGet xmlMemGet__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemMalloc
+extern __typeof (xmlMemMalloc) xmlMemMalloc __attribute((alias("xmlMemMalloc__internal_alias")));
+#else
+#ifndef xmlMemMalloc
+extern __typeof (xmlMemMalloc) xmlMemMalloc__internal_alias __attribute((visibility("hidden")));
+#define xmlMemMalloc xmlMemMalloc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemRealloc
+extern __typeof (xmlMemRealloc) xmlMemRealloc __attribute((alias("xmlMemRealloc__internal_alias")));
+#else
+#ifndef xmlMemRealloc
+extern __typeof (xmlMemRealloc) xmlMemRealloc__internal_alias __attribute((visibility("hidden")));
+#define xmlMemRealloc xmlMemRealloc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemSetup
+extern __typeof (xmlMemSetup) xmlMemSetup __attribute((alias("xmlMemSetup__internal_alias")));
+#else
+#ifndef xmlMemSetup
+extern __typeof (xmlMemSetup) xmlMemSetup__internal_alias __attribute((visibility("hidden")));
+#define xmlMemSetup xmlMemSetup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemShow
+extern __typeof (xmlMemShow) xmlMemShow __attribute((alias("xmlMemShow__internal_alias")));
+#else
+#ifndef xmlMemShow
+extern __typeof (xmlMemShow) xmlMemShow__internal_alias __attribute((visibility("hidden")));
+#define xmlMemShow xmlMemShow__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemStrdupLoc
+extern __typeof (xmlMemStrdupLoc) xmlMemStrdupLoc __attribute((alias("xmlMemStrdupLoc__internal_alias")));
+#else
+#ifndef xmlMemStrdupLoc
+extern __typeof (xmlMemStrdupLoc) xmlMemStrdupLoc__internal_alias __attribute((visibility("hidden")));
+#define xmlMemStrdupLoc xmlMemStrdupLoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemUsed
+extern __typeof (xmlMemUsed) xmlMemUsed __attribute((alias("xmlMemUsed__internal_alias")));
+#else
+#ifndef xmlMemUsed
+extern __typeof (xmlMemUsed) xmlMemUsed__internal_alias __attribute((visibility("hidden")));
+#define xmlMemUsed xmlMemUsed__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemoryDump
+extern __typeof (xmlMemoryDump) xmlMemoryDump __attribute((alias("xmlMemoryDump__internal_alias")));
+#else
+#ifndef xmlMemoryDump
+extern __typeof (xmlMemoryDump) xmlMemoryDump__internal_alias __attribute((visibility("hidden")));
+#define xmlMemoryDump xmlMemoryDump__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlMemoryStrdup
+extern __typeof (xmlMemoryStrdup) xmlMemoryStrdup __attribute((alias("xmlMemoryStrdup__internal_alias")));
+#else
+#ifndef xmlMemoryStrdup
+extern __typeof (xmlMemoryStrdup) xmlMemoryStrdup__internal_alias __attribute((visibility("hidden")));
+#define xmlMemoryStrdup xmlMemoryStrdup__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_MODULES_ENABLED)
+#ifdef bottom_xmlmodule
+#undef xmlModuleClose
+extern __typeof (xmlModuleClose) xmlModuleClose __attribute((alias("xmlModuleClose__internal_alias")));
+#else
+#ifndef xmlModuleClose
+extern __typeof (xmlModuleClose) xmlModuleClose__internal_alias __attribute((visibility("hidden")));
+#define xmlModuleClose xmlModuleClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_MODULES_ENABLED)
+#ifdef bottom_xmlmodule
+#undef xmlModuleFree
+extern __typeof (xmlModuleFree) xmlModuleFree __attribute((alias("xmlModuleFree__internal_alias")));
+#else
+#ifndef xmlModuleFree
+extern __typeof (xmlModuleFree) xmlModuleFree__internal_alias __attribute((visibility("hidden")));
+#define xmlModuleFree xmlModuleFree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_MODULES_ENABLED)
+#ifdef bottom_xmlmodule
+#undef xmlModuleOpen
+extern __typeof (xmlModuleOpen) xmlModuleOpen __attribute((alias("xmlModuleOpen__internal_alias")));
+#else
+#ifndef xmlModuleOpen
+extern __typeof (xmlModuleOpen) xmlModuleOpen__internal_alias __attribute((visibility("hidden")));
+#define xmlModuleOpen xmlModuleOpen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_MODULES_ENABLED)
+#ifdef bottom_xmlmodule
+#undef xmlModuleSymbol
+extern __typeof (xmlModuleSymbol) xmlModuleSymbol __attribute((alias("xmlModuleSymbol__internal_alias")));
+#else
+#ifndef xmlModuleSymbol
+extern __typeof (xmlModuleSymbol) xmlModuleSymbol__internal_alias __attribute((visibility("hidden")));
+#define xmlModuleSymbol xmlModuleSymbol__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlMutexLock
+extern __typeof (xmlMutexLock) xmlMutexLock __attribute((alias("xmlMutexLock__internal_alias")));
+#else
+#ifndef xmlMutexLock
+extern __typeof (xmlMutexLock) xmlMutexLock__internal_alias __attribute((visibility("hidden")));
+#define xmlMutexLock xmlMutexLock__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlMutexUnlock
+extern __typeof (xmlMutexUnlock) xmlMutexUnlock __attribute((alias("xmlMutexUnlock__internal_alias")));
+#else
+#ifndef xmlMutexUnlock
+extern __typeof (xmlMutexUnlock) xmlMutexUnlock__internal_alias __attribute((visibility("hidden")));
+#define xmlMutexUnlock xmlMutexUnlock__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlNamespaceParseNCName
+extern __typeof (xmlNamespaceParseNCName) xmlNamespaceParseNCName __attribute((alias("xmlNamespaceParseNCName__internal_alias")));
+#else
+#ifndef xmlNamespaceParseNCName
+extern __typeof (xmlNamespaceParseNCName) xmlNamespaceParseNCName__internal_alias __attribute((visibility("hidden")));
+#define xmlNamespaceParseNCName xmlNamespaceParseNCName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlNamespaceParseNSDef
+extern __typeof (xmlNamespaceParseNSDef) xmlNamespaceParseNSDef __attribute((alias("xmlNamespaceParseNSDef__internal_alias")));
+#else
+#ifndef xmlNamespaceParseNSDef
+extern __typeof (xmlNamespaceParseNSDef) xmlNamespaceParseNSDef__internal_alias __attribute((visibility("hidden")));
+#define xmlNamespaceParseNSDef xmlNamespaceParseNSDef__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlNamespaceParseQName
+extern __typeof (xmlNamespaceParseQName) xmlNamespaceParseQName __attribute((alias("xmlNamespaceParseQName__internal_alias")));
+#else
+#ifndef xmlNamespaceParseQName
+extern __typeof (xmlNamespaceParseQName) xmlNamespaceParseQName__internal_alias __attribute((visibility("hidden")));
+#define xmlNamespaceParseQName xmlNamespaceParseQName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPCheckResponse
+extern __typeof (xmlNanoFTPCheckResponse) xmlNanoFTPCheckResponse __attribute((alias("xmlNanoFTPCheckResponse__internal_alias")));
+#else
+#ifndef xmlNanoFTPCheckResponse
+extern __typeof (xmlNanoFTPCheckResponse) xmlNanoFTPCheckResponse__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPCheckResponse xmlNanoFTPCheckResponse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPCleanup
+extern __typeof (xmlNanoFTPCleanup) xmlNanoFTPCleanup __attribute((alias("xmlNanoFTPCleanup__internal_alias")));
+#else
+#ifndef xmlNanoFTPCleanup
+extern __typeof (xmlNanoFTPCleanup) xmlNanoFTPCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPCleanup xmlNanoFTPCleanup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPClose
+extern __typeof (xmlNanoFTPClose) xmlNanoFTPClose __attribute((alias("xmlNanoFTPClose__internal_alias")));
+#else
+#ifndef xmlNanoFTPClose
+extern __typeof (xmlNanoFTPClose) xmlNanoFTPClose__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPClose xmlNanoFTPClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPCloseConnection
+extern __typeof (xmlNanoFTPCloseConnection) xmlNanoFTPCloseConnection __attribute((alias("xmlNanoFTPCloseConnection__internal_alias")));
+#else
+#ifndef xmlNanoFTPCloseConnection
+extern __typeof (xmlNanoFTPCloseConnection) xmlNanoFTPCloseConnection__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPCloseConnection xmlNanoFTPCloseConnection__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPConnect
+extern __typeof (xmlNanoFTPConnect) xmlNanoFTPConnect __attribute((alias("xmlNanoFTPConnect__internal_alias")));
+#else
+#ifndef xmlNanoFTPConnect
+extern __typeof (xmlNanoFTPConnect) xmlNanoFTPConnect__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPConnect xmlNanoFTPConnect__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPConnectTo
+extern __typeof (xmlNanoFTPConnectTo) xmlNanoFTPConnectTo __attribute((alias("xmlNanoFTPConnectTo__internal_alias")));
+#else
+#ifndef xmlNanoFTPConnectTo
+extern __typeof (xmlNanoFTPConnectTo) xmlNanoFTPConnectTo__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPConnectTo xmlNanoFTPConnectTo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPCwd
+extern __typeof (xmlNanoFTPCwd) xmlNanoFTPCwd __attribute((alias("xmlNanoFTPCwd__internal_alias")));
+#else
+#ifndef xmlNanoFTPCwd
+extern __typeof (xmlNanoFTPCwd) xmlNanoFTPCwd__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPCwd xmlNanoFTPCwd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPDele
+extern __typeof (xmlNanoFTPDele) xmlNanoFTPDele __attribute((alias("xmlNanoFTPDele__internal_alias")));
+#else
+#ifndef xmlNanoFTPDele
+extern __typeof (xmlNanoFTPDele) xmlNanoFTPDele__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPDele xmlNanoFTPDele__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPFreeCtxt
+extern __typeof (xmlNanoFTPFreeCtxt) xmlNanoFTPFreeCtxt __attribute((alias("xmlNanoFTPFreeCtxt__internal_alias")));
+#else
+#ifndef xmlNanoFTPFreeCtxt
+extern __typeof (xmlNanoFTPFreeCtxt) xmlNanoFTPFreeCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPFreeCtxt xmlNanoFTPFreeCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPGet
+extern __typeof (xmlNanoFTPGet) xmlNanoFTPGet __attribute((alias("xmlNanoFTPGet__internal_alias")));
+#else
+#ifndef xmlNanoFTPGet
+extern __typeof (xmlNanoFTPGet) xmlNanoFTPGet__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPGet xmlNanoFTPGet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPGetConnection
+extern __typeof (xmlNanoFTPGetConnection) xmlNanoFTPGetConnection __attribute((alias("xmlNanoFTPGetConnection__internal_alias")));
+#else
+#ifndef xmlNanoFTPGetConnection
+extern __typeof (xmlNanoFTPGetConnection) xmlNanoFTPGetConnection__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPGetConnection xmlNanoFTPGetConnection__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPGetResponse
+extern __typeof (xmlNanoFTPGetResponse) xmlNanoFTPGetResponse __attribute((alias("xmlNanoFTPGetResponse__internal_alias")));
+#else
+#ifndef xmlNanoFTPGetResponse
+extern __typeof (xmlNanoFTPGetResponse) xmlNanoFTPGetResponse__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPGetResponse xmlNanoFTPGetResponse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPGetSocket
+extern __typeof (xmlNanoFTPGetSocket) xmlNanoFTPGetSocket __attribute((alias("xmlNanoFTPGetSocket__internal_alias")));
+#else
+#ifndef xmlNanoFTPGetSocket
+extern __typeof (xmlNanoFTPGetSocket) xmlNanoFTPGetSocket__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPGetSocket xmlNanoFTPGetSocket__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPInit
+extern __typeof (xmlNanoFTPInit) xmlNanoFTPInit __attribute((alias("xmlNanoFTPInit__internal_alias")));
+#else
+#ifndef xmlNanoFTPInit
+extern __typeof (xmlNanoFTPInit) xmlNanoFTPInit__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPInit xmlNanoFTPInit__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPList
+extern __typeof (xmlNanoFTPList) xmlNanoFTPList __attribute((alias("xmlNanoFTPList__internal_alias")));
+#else
+#ifndef xmlNanoFTPList
+extern __typeof (xmlNanoFTPList) xmlNanoFTPList__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPList xmlNanoFTPList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPNewCtxt
+extern __typeof (xmlNanoFTPNewCtxt) xmlNanoFTPNewCtxt __attribute((alias("xmlNanoFTPNewCtxt__internal_alias")));
+#else
+#ifndef xmlNanoFTPNewCtxt
+extern __typeof (xmlNanoFTPNewCtxt) xmlNanoFTPNewCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPNewCtxt xmlNanoFTPNewCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPOpen
+extern __typeof (xmlNanoFTPOpen) xmlNanoFTPOpen __attribute((alias("xmlNanoFTPOpen__internal_alias")));
+#else
+#ifndef xmlNanoFTPOpen
+extern __typeof (xmlNanoFTPOpen) xmlNanoFTPOpen__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPOpen xmlNanoFTPOpen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPProxy
+extern __typeof (xmlNanoFTPProxy) xmlNanoFTPProxy __attribute((alias("xmlNanoFTPProxy__internal_alias")));
+#else
+#ifndef xmlNanoFTPProxy
+extern __typeof (xmlNanoFTPProxy) xmlNanoFTPProxy__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPProxy xmlNanoFTPProxy__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPQuit
+extern __typeof (xmlNanoFTPQuit) xmlNanoFTPQuit __attribute((alias("xmlNanoFTPQuit__internal_alias")));
+#else
+#ifndef xmlNanoFTPQuit
+extern __typeof (xmlNanoFTPQuit) xmlNanoFTPQuit__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPQuit xmlNanoFTPQuit__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPRead
+extern __typeof (xmlNanoFTPRead) xmlNanoFTPRead __attribute((alias("xmlNanoFTPRead__internal_alias")));
+#else
+#ifndef xmlNanoFTPRead
+extern __typeof (xmlNanoFTPRead) xmlNanoFTPRead__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPRead xmlNanoFTPRead__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPScanProxy
+extern __typeof (xmlNanoFTPScanProxy) xmlNanoFTPScanProxy __attribute((alias("xmlNanoFTPScanProxy__internal_alias")));
+#else
+#ifndef xmlNanoFTPScanProxy
+extern __typeof (xmlNanoFTPScanProxy) xmlNanoFTPScanProxy__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPScanProxy xmlNanoFTPScanProxy__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_FTP_ENABLED)
+#ifdef bottom_nanoftp
+#undef xmlNanoFTPUpdateURL
+extern __typeof (xmlNanoFTPUpdateURL) xmlNanoFTPUpdateURL __attribute((alias("xmlNanoFTPUpdateURL__internal_alias")));
+#else
+#ifndef xmlNanoFTPUpdateURL
+extern __typeof (xmlNanoFTPUpdateURL) xmlNanoFTPUpdateURL__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoFTPUpdateURL xmlNanoFTPUpdateURL__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPAuthHeader
+extern __typeof (xmlNanoHTTPAuthHeader) xmlNanoHTTPAuthHeader __attribute((alias("xmlNanoHTTPAuthHeader__internal_alias")));
+#else
+#ifndef xmlNanoHTTPAuthHeader
+extern __typeof (xmlNanoHTTPAuthHeader) xmlNanoHTTPAuthHeader__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPAuthHeader xmlNanoHTTPAuthHeader__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPCleanup
+extern __typeof (xmlNanoHTTPCleanup) xmlNanoHTTPCleanup __attribute((alias("xmlNanoHTTPCleanup__internal_alias")));
+#else
+#ifndef xmlNanoHTTPCleanup
+extern __typeof (xmlNanoHTTPCleanup) xmlNanoHTTPCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPCleanup xmlNanoHTTPCleanup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPClose
+extern __typeof (xmlNanoHTTPClose) xmlNanoHTTPClose __attribute((alias("xmlNanoHTTPClose__internal_alias")));
+#else
+#ifndef xmlNanoHTTPClose
+extern __typeof (xmlNanoHTTPClose) xmlNanoHTTPClose__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPClose xmlNanoHTTPClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPContentLength
+extern __typeof (xmlNanoHTTPContentLength) xmlNanoHTTPContentLength __attribute((alias("xmlNanoHTTPContentLength__internal_alias")));
+#else
+#ifndef xmlNanoHTTPContentLength
+extern __typeof (xmlNanoHTTPContentLength) xmlNanoHTTPContentLength__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPContentLength xmlNanoHTTPContentLength__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPEncoding
+extern __typeof (xmlNanoHTTPEncoding) xmlNanoHTTPEncoding __attribute((alias("xmlNanoHTTPEncoding__internal_alias")));
+#else
+#ifndef xmlNanoHTTPEncoding
+extern __typeof (xmlNanoHTTPEncoding) xmlNanoHTTPEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPEncoding xmlNanoHTTPEncoding__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPFetch
+extern __typeof (xmlNanoHTTPFetch) xmlNanoHTTPFetch __attribute((alias("xmlNanoHTTPFetch__internal_alias")));
+#else
+#ifndef xmlNanoHTTPFetch
+extern __typeof (xmlNanoHTTPFetch) xmlNanoHTTPFetch__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPFetch xmlNanoHTTPFetch__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPInit
+extern __typeof (xmlNanoHTTPInit) xmlNanoHTTPInit __attribute((alias("xmlNanoHTTPInit__internal_alias")));
+#else
+#ifndef xmlNanoHTTPInit
+extern __typeof (xmlNanoHTTPInit) xmlNanoHTTPInit__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPInit xmlNanoHTTPInit__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPMethod
+extern __typeof (xmlNanoHTTPMethod) xmlNanoHTTPMethod __attribute((alias("xmlNanoHTTPMethod__internal_alias")));
+#else
+#ifndef xmlNanoHTTPMethod
+extern __typeof (xmlNanoHTTPMethod) xmlNanoHTTPMethod__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPMethod xmlNanoHTTPMethod__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPMethodRedir
+extern __typeof (xmlNanoHTTPMethodRedir) xmlNanoHTTPMethodRedir __attribute((alias("xmlNanoHTTPMethodRedir__internal_alias")));
+#else
+#ifndef xmlNanoHTTPMethodRedir
+extern __typeof (xmlNanoHTTPMethodRedir) xmlNanoHTTPMethodRedir__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPMethodRedir xmlNanoHTTPMethodRedir__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPMimeType
+extern __typeof (xmlNanoHTTPMimeType) xmlNanoHTTPMimeType __attribute((alias("xmlNanoHTTPMimeType__internal_alias")));
+#else
+#ifndef xmlNanoHTTPMimeType
+extern __typeof (xmlNanoHTTPMimeType) xmlNanoHTTPMimeType__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPMimeType xmlNanoHTTPMimeType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPOpen
+extern __typeof (xmlNanoHTTPOpen) xmlNanoHTTPOpen __attribute((alias("xmlNanoHTTPOpen__internal_alias")));
+#else
+#ifndef xmlNanoHTTPOpen
+extern __typeof (xmlNanoHTTPOpen) xmlNanoHTTPOpen__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPOpen xmlNanoHTTPOpen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPOpenRedir
+extern __typeof (xmlNanoHTTPOpenRedir) xmlNanoHTTPOpenRedir __attribute((alias("xmlNanoHTTPOpenRedir__internal_alias")));
+#else
+#ifndef xmlNanoHTTPOpenRedir
+extern __typeof (xmlNanoHTTPOpenRedir) xmlNanoHTTPOpenRedir__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPOpenRedir xmlNanoHTTPOpenRedir__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPRead
+extern __typeof (xmlNanoHTTPRead) xmlNanoHTTPRead __attribute((alias("xmlNanoHTTPRead__internal_alias")));
+#else
+#ifndef xmlNanoHTTPRead
+extern __typeof (xmlNanoHTTPRead) xmlNanoHTTPRead__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPRead xmlNanoHTTPRead__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPRedir
+extern __typeof (xmlNanoHTTPRedir) xmlNanoHTTPRedir __attribute((alias("xmlNanoHTTPRedir__internal_alias")));
+#else
+#ifndef xmlNanoHTTPRedir
+extern __typeof (xmlNanoHTTPRedir) xmlNanoHTTPRedir__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPRedir xmlNanoHTTPRedir__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPReturnCode
+extern __typeof (xmlNanoHTTPReturnCode) xmlNanoHTTPReturnCode __attribute((alias("xmlNanoHTTPReturnCode__internal_alias")));
+#else
+#ifndef xmlNanoHTTPReturnCode
+extern __typeof (xmlNanoHTTPReturnCode) xmlNanoHTTPReturnCode__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPReturnCode xmlNanoHTTPReturnCode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPSave
+extern __typeof (xmlNanoHTTPSave) xmlNanoHTTPSave __attribute((alias("xmlNanoHTTPSave__internal_alias")));
+#else
+#ifndef xmlNanoHTTPSave
+extern __typeof (xmlNanoHTTPSave) xmlNanoHTTPSave__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPSave xmlNanoHTTPSave__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_nanohttp
+#undef xmlNanoHTTPScanProxy
+extern __typeof (xmlNanoHTTPScanProxy) xmlNanoHTTPScanProxy __attribute((alias("xmlNanoHTTPScanProxy__internal_alias")));
+#else
+#ifndef xmlNanoHTTPScanProxy
+extern __typeof (xmlNanoHTTPScanProxy) xmlNanoHTTPScanProxy__internal_alias __attribute((visibility("hidden")));
+#define xmlNanoHTTPScanProxy xmlNanoHTTPScanProxy__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlNewAutomata
+extern __typeof (xmlNewAutomata) xmlNewAutomata __attribute((alias("xmlNewAutomata__internal_alias")));
+#else
+#ifndef xmlNewAutomata
+extern __typeof (xmlNewAutomata) xmlNewAutomata__internal_alias __attribute((visibility("hidden")));
+#define xmlNewAutomata xmlNewAutomata__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewCDataBlock
+extern __typeof (xmlNewCDataBlock) xmlNewCDataBlock __attribute((alias("xmlNewCDataBlock__internal_alias")));
+#else
+#ifndef xmlNewCDataBlock
+extern __typeof (xmlNewCDataBlock) xmlNewCDataBlock__internal_alias __attribute((visibility("hidden")));
+#define xmlNewCDataBlock xmlNewCDataBlock__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlNewCatalog
+extern __typeof (xmlNewCatalog) xmlNewCatalog __attribute((alias("xmlNewCatalog__internal_alias")));
+#else
+#ifndef xmlNewCatalog
+extern __typeof (xmlNewCatalog) xmlNewCatalog__internal_alias __attribute((visibility("hidden")));
+#define xmlNewCatalog xmlNewCatalog__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlNewCharEncodingHandler
+extern __typeof (xmlNewCharEncodingHandler) xmlNewCharEncodingHandler __attribute((alias("xmlNewCharEncodingHandler__internal_alias")));
+#else
+#ifndef xmlNewCharEncodingHandler
+extern __typeof (xmlNewCharEncodingHandler) xmlNewCharEncodingHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlNewCharEncodingHandler xmlNewCharEncodingHandler__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewCharRef
+extern __typeof (xmlNewCharRef) xmlNewCharRef __attribute((alias("xmlNewCharRef__internal_alias")));
+#else
+#ifndef xmlNewCharRef
+extern __typeof (xmlNewCharRef) xmlNewCharRef__internal_alias __attribute((visibility("hidden")));
+#define xmlNewCharRef xmlNewCharRef__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlNewChild
+extern __typeof (xmlNewChild) xmlNewChild __attribute((alias("xmlNewChild__internal_alias")));
+#else
+#ifndef xmlNewChild
+extern __typeof (xmlNewChild) xmlNewChild__internal_alias __attribute((visibility("hidden")));
+#define xmlNewChild xmlNewChild__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewComment
+extern __typeof (xmlNewComment) xmlNewComment __attribute((alias("xmlNewComment__internal_alias")));
+#else
+#ifndef xmlNewComment
+extern __typeof (xmlNewComment) xmlNewComment__internal_alias __attribute((visibility("hidden")));
+#define xmlNewComment xmlNewComment__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDoc
+extern __typeof (xmlNewDoc) xmlNewDoc __attribute((alias("xmlNewDoc__internal_alias")));
+#else
+#ifndef xmlNewDoc
+extern __typeof (xmlNewDoc) xmlNewDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDoc xmlNewDoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocComment
+extern __typeof (xmlNewDocComment) xmlNewDocComment __attribute((alias("xmlNewDocComment__internal_alias")));
+#else
+#ifndef xmlNewDocComment
+extern __typeof (xmlNewDocComment) xmlNewDocComment__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocComment xmlNewDocComment__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlNewDocElementContent
+extern __typeof (xmlNewDocElementContent) xmlNewDocElementContent __attribute((alias("xmlNewDocElementContent__internal_alias")));
+#else
+#ifndef xmlNewDocElementContent
+extern __typeof (xmlNewDocElementContent) xmlNewDocElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocElementContent xmlNewDocElementContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNewDocFragment
+extern __typeof (xmlNewDocFragment) xmlNewDocFragment __attribute((alias("xmlNewDocFragment__internal_alias")));
+#else
+#ifndef xmlNewDocFragment
+extern __typeof (xmlNewDocFragment) xmlNewDocFragment__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocFragment xmlNewDocFragment__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocNode
+extern __typeof (xmlNewDocNode) xmlNewDocNode __attribute((alias("xmlNewDocNode__internal_alias")));
+#else
+#ifndef xmlNewDocNode
+extern __typeof (xmlNewDocNode) xmlNewDocNode__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocNode xmlNewDocNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocNodeEatName
+extern __typeof (xmlNewDocNodeEatName) xmlNewDocNodeEatName __attribute((alias("xmlNewDocNodeEatName__internal_alias")));
+#else
+#ifndef xmlNewDocNodeEatName
+extern __typeof (xmlNewDocNodeEatName) xmlNewDocNodeEatName__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocNodeEatName xmlNewDocNodeEatName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocPI
+extern __typeof (xmlNewDocPI) xmlNewDocPI __attribute((alias("xmlNewDocPI__internal_alias")));
+#else
+#ifndef xmlNewDocPI
+extern __typeof (xmlNewDocPI) xmlNewDocPI__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocPI xmlNewDocPI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocProp
+extern __typeof (xmlNewDocProp) xmlNewDocProp __attribute((alias("xmlNewDocProp__internal_alias")));
+#else
+#ifndef xmlNewDocProp
+extern __typeof (xmlNewDocProp) xmlNewDocProp__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocProp xmlNewDocProp__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNewDocRawNode
+extern __typeof (xmlNewDocRawNode) xmlNewDocRawNode __attribute((alias("xmlNewDocRawNode__internal_alias")));
+#else
+#ifndef xmlNewDocRawNode
+extern __typeof (xmlNewDocRawNode) xmlNewDocRawNode__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocRawNode xmlNewDocRawNode__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocText
+extern __typeof (xmlNewDocText) xmlNewDocText __attribute((alias("xmlNewDocText__internal_alias")));
+#else
+#ifndef xmlNewDocText
+extern __typeof (xmlNewDocText) xmlNewDocText__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocText xmlNewDocText__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDocTextLen
+extern __typeof (xmlNewDocTextLen) xmlNewDocTextLen __attribute((alias("xmlNewDocTextLen__internal_alias")));
+#else
+#ifndef xmlNewDocTextLen
+extern __typeof (xmlNewDocTextLen) xmlNewDocTextLen__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDocTextLen xmlNewDocTextLen__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewDtd
+extern __typeof (xmlNewDtd) xmlNewDtd __attribute((alias("xmlNewDtd__internal_alias")));
+#else
+#ifndef xmlNewDtd
+extern __typeof (xmlNewDtd) xmlNewDtd__internal_alias __attribute((visibility("hidden")));
+#define xmlNewDtd xmlNewDtd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlNewElementContent
+extern __typeof (xmlNewElementContent) xmlNewElementContent __attribute((alias("xmlNewElementContent__internal_alias")));
+#else
+#ifndef xmlNewElementContent
+extern __typeof (xmlNewElementContent) xmlNewElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlNewElementContent xmlNewElementContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_entities
+#undef xmlNewEntity
+extern __typeof (xmlNewEntity) xmlNewEntity __attribute((alias("xmlNewEntity__internal_alias")));
+#else
+#ifndef xmlNewEntity
+extern __typeof (xmlNewEntity) xmlNewEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlNewEntity xmlNewEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNewEntityInputStream
+extern __typeof (xmlNewEntityInputStream) xmlNewEntityInputStream __attribute((alias("xmlNewEntityInputStream__internal_alias")));
+#else
+#ifndef xmlNewEntityInputStream
+extern __typeof (xmlNewEntityInputStream) xmlNewEntityInputStream__internal_alias __attribute((visibility("hidden")));
+#define xmlNewEntityInputStream xmlNewEntityInputStream__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlNewGlobalNs
+extern __typeof (xmlNewGlobalNs) xmlNewGlobalNs __attribute((alias("xmlNewGlobalNs__internal_alias")));
+#else
+#ifndef xmlNewGlobalNs
+extern __typeof (xmlNewGlobalNs) xmlNewGlobalNs__internal_alias __attribute((visibility("hidden")));
+#define xmlNewGlobalNs xmlNewGlobalNs__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNewIOInputStream
+extern __typeof (xmlNewIOInputStream) xmlNewIOInputStream __attribute((alias("xmlNewIOInputStream__internal_alias")));
+#else
+#ifndef xmlNewIOInputStream
+extern __typeof (xmlNewIOInputStream) xmlNewIOInputStream__internal_alias __attribute((visibility("hidden")));
+#define xmlNewIOInputStream xmlNewIOInputStream__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNewInputFromFile
+extern __typeof (xmlNewInputFromFile) xmlNewInputFromFile __attribute((alias("xmlNewInputFromFile__internal_alias")));
+#else
+#ifndef xmlNewInputFromFile
+extern __typeof (xmlNewInputFromFile) xmlNewInputFromFile__internal_alias __attribute((visibility("hidden")));
+#define xmlNewInputFromFile xmlNewInputFromFile__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNewInputStream
+extern __typeof (xmlNewInputStream) xmlNewInputStream __attribute((alias("xmlNewInputStream__internal_alias")));
+#else
+#ifndef xmlNewInputStream
+extern __typeof (xmlNewInputStream) xmlNewInputStream__internal_alias __attribute((visibility("hidden")));
+#define xmlNewInputStream xmlNewInputStream__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlNewMutex
+extern __typeof (xmlNewMutex) xmlNewMutex __attribute((alias("xmlNewMutex__internal_alias")));
+#else
+#ifndef xmlNewMutex
+extern __typeof (xmlNewMutex) xmlNewMutex__internal_alias __attribute((visibility("hidden")));
+#define xmlNewMutex xmlNewMutex__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewNode
+extern __typeof (xmlNewNode) xmlNewNode __attribute((alias("xmlNewNode__internal_alias")));
+#else
+#ifndef xmlNewNode
+extern __typeof (xmlNewNode) xmlNewNode__internal_alias __attribute((visibility("hidden")));
+#define xmlNewNode xmlNewNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewNodeEatName
+extern __typeof (xmlNewNodeEatName) xmlNewNodeEatName __attribute((alias("xmlNewNodeEatName__internal_alias")));
+#else
+#ifndef xmlNewNodeEatName
+extern __typeof (xmlNewNodeEatName) xmlNewNodeEatName__internal_alias __attribute((visibility("hidden")));
+#define xmlNewNodeEatName xmlNewNodeEatName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewNs
+extern __typeof (xmlNewNs) xmlNewNs __attribute((alias("xmlNewNs__internal_alias")));
+#else
+#ifndef xmlNewNs
+extern __typeof (xmlNewNs) xmlNewNs__internal_alias __attribute((visibility("hidden")));
+#define xmlNewNs xmlNewNs__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewNsProp
+extern __typeof (xmlNewNsProp) xmlNewNsProp __attribute((alias("xmlNewNsProp__internal_alias")));
+#else
+#ifndef xmlNewNsProp
+extern __typeof (xmlNewNsProp) xmlNewNsProp__internal_alias __attribute((visibility("hidden")));
+#define xmlNewNsProp xmlNewNsProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewNsPropEatName
+extern __typeof (xmlNewNsPropEatName) xmlNewNsPropEatName __attribute((alias("xmlNewNsPropEatName__internal_alias")));
+#else
+#ifndef xmlNewNsPropEatName
+extern __typeof (xmlNewNsPropEatName) xmlNewNsPropEatName__internal_alias __attribute((visibility("hidden")));
+#define xmlNewNsPropEatName xmlNewNsPropEatName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewPI
+extern __typeof (xmlNewPI) xmlNewPI __attribute((alias("xmlNewPI__internal_alias")));
+#else
+#ifndef xmlNewPI
+extern __typeof (xmlNewPI) xmlNewPI__internal_alias __attribute((visibility("hidden")));
+#define xmlNewPI xmlNewPI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNewParserCtxt
+extern __typeof (xmlNewParserCtxt) xmlNewParserCtxt __attribute((alias("xmlNewParserCtxt__internal_alias")));
+#else
+#ifndef xmlNewParserCtxt
+extern __typeof (xmlNewParserCtxt) xmlNewParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlNewParserCtxt xmlNewParserCtxt__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlNewProp
+extern __typeof (xmlNewProp) xmlNewProp __attribute((alias("xmlNewProp__internal_alias")));
+#else
+#ifndef xmlNewProp
+extern __typeof (xmlNewProp) xmlNewProp__internal_alias __attribute((visibility("hidden")));
+#define xmlNewProp xmlNewProp__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlNewRMutex
+extern __typeof (xmlNewRMutex) xmlNewRMutex __attribute((alias("xmlNewRMutex__internal_alias")));
+#else
+#ifndef xmlNewRMutex
+extern __typeof (xmlNewRMutex) xmlNewRMutex__internal_alias __attribute((visibility("hidden")));
+#define xmlNewRMutex xmlNewRMutex__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewReference
+extern __typeof (xmlNewReference) xmlNewReference __attribute((alias("xmlNewReference__internal_alias")));
+#else
+#ifndef xmlNewReference
+extern __typeof (xmlNewReference) xmlNewReference__internal_alias __attribute((visibility("hidden")));
+#define xmlNewReference xmlNewReference__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNewStringInputStream
+extern __typeof (xmlNewStringInputStream) xmlNewStringInputStream __attribute((alias("xmlNewStringInputStream__internal_alias")));
+#else
+#ifndef xmlNewStringInputStream
+extern __typeof (xmlNewStringInputStream) xmlNewStringInputStream__internal_alias __attribute((visibility("hidden")));
+#define xmlNewStringInputStream xmlNewStringInputStream__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewText
+extern __typeof (xmlNewText) xmlNewText __attribute((alias("xmlNewText__internal_alias")));
+#else
+#ifndef xmlNewText
+extern __typeof (xmlNewText) xmlNewText__internal_alias __attribute((visibility("hidden")));
+#define xmlNewText xmlNewText__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNewTextChild
+extern __typeof (xmlNewTextChild) xmlNewTextChild __attribute((alias("xmlNewTextChild__internal_alias")));
+#else
+#ifndef xmlNewTextChild
+extern __typeof (xmlNewTextChild) xmlNewTextChild__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextChild xmlNewTextChild__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNewTextLen
+extern __typeof (xmlNewTextLen) xmlNewTextLen __attribute((alias("xmlNewTextLen__internal_alias")));
+#else
+#ifndef xmlNewTextLen
+extern __typeof (xmlNewTextLen) xmlNewTextLen__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextLen xmlNewTextLen__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlNewTextReader
+extern __typeof (xmlNewTextReader) xmlNewTextReader __attribute((alias("xmlNewTextReader__internal_alias")));
+#else
+#ifndef xmlNewTextReader
+extern __typeof (xmlNewTextReader) xmlNewTextReader__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextReader xmlNewTextReader__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlNewTextReaderFilename
+extern __typeof (xmlNewTextReaderFilename) xmlNewTextReaderFilename __attribute((alias("xmlNewTextReaderFilename__internal_alias")));
+#else
+#ifndef xmlNewTextReaderFilename
+extern __typeof (xmlNewTextReaderFilename) xmlNewTextReaderFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextReaderFilename xmlNewTextReaderFilename__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlNewTextWriter
+extern __typeof (xmlNewTextWriter) xmlNewTextWriter __attribute((alias("xmlNewTextWriter__internal_alias")));
+#else
+#ifndef xmlNewTextWriter
+extern __typeof (xmlNewTextWriter) xmlNewTextWriter__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextWriter xmlNewTextWriter__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlNewTextWriterDoc
+extern __typeof (xmlNewTextWriterDoc) xmlNewTextWriterDoc __attribute((alias("xmlNewTextWriterDoc__internal_alias")));
+#else
+#ifndef xmlNewTextWriterDoc
+extern __typeof (xmlNewTextWriterDoc) xmlNewTextWriterDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextWriterDoc xmlNewTextWriterDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlNewTextWriterFilename
+extern __typeof (xmlNewTextWriterFilename) xmlNewTextWriterFilename __attribute((alias("xmlNewTextWriterFilename__internal_alias")));
+#else
+#ifndef xmlNewTextWriterFilename
+extern __typeof (xmlNewTextWriterFilename) xmlNewTextWriterFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextWriterFilename xmlNewTextWriterFilename__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlNewTextWriterMemory
+extern __typeof (xmlNewTextWriterMemory) xmlNewTextWriterMemory __attribute((alias("xmlNewTextWriterMemory__internal_alias")));
+#else
+#ifndef xmlNewTextWriterMemory
+extern __typeof (xmlNewTextWriterMemory) xmlNewTextWriterMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextWriterMemory xmlNewTextWriterMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlNewTextWriterPushParser
+extern __typeof (xmlNewTextWriterPushParser) xmlNewTextWriterPushParser __attribute((alias("xmlNewTextWriterPushParser__internal_alias")));
+#else
+#ifndef xmlNewTextWriterPushParser
+extern __typeof (xmlNewTextWriterPushParser) xmlNewTextWriterPushParser__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextWriterPushParser xmlNewTextWriterPushParser__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlNewTextWriterTree
+extern __typeof (xmlNewTextWriterTree) xmlNewTextWriterTree __attribute((alias("xmlNewTextWriterTree__internal_alias")));
+#else
+#ifndef xmlNewTextWriterTree
+extern __typeof (xmlNewTextWriterTree) xmlNewTextWriterTree__internal_alias __attribute((visibility("hidden")));
+#define xmlNewTextWriterTree xmlNewTextWriterTree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlNewValidCtxt
+extern __typeof (xmlNewValidCtxt) xmlNewValidCtxt __attribute((alias("xmlNewValidCtxt__internal_alias")));
+#else
+#ifndef xmlNewValidCtxt
+extern __typeof (xmlNewValidCtxt) xmlNewValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlNewValidCtxt xmlNewValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlNextChar
+extern __typeof (xmlNextChar) xmlNextChar __attribute((alias("xmlNextChar__internal_alias")));
+#else
+#ifndef xmlNextChar
+extern __typeof (xmlNextChar) xmlNextChar__internal_alias __attribute((visibility("hidden")));
+#define xmlNextChar xmlNextChar__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNextElementSibling
+extern __typeof (xmlNextElementSibling) xmlNextElementSibling __attribute((alias("xmlNextElementSibling__internal_alias")));
+#else
+#ifndef xmlNextElementSibling
+extern __typeof (xmlNextElementSibling) xmlNextElementSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlNextElementSibling xmlNextElementSibling__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlNoNetExternalEntityLoader
+extern __typeof (xmlNoNetExternalEntityLoader) xmlNoNetExternalEntityLoader __attribute((alias("xmlNoNetExternalEntityLoader__internal_alias")));
+#else
+#ifndef xmlNoNetExternalEntityLoader
+extern __typeof (xmlNoNetExternalEntityLoader) xmlNoNetExternalEntityLoader__internal_alias __attribute((visibility("hidden")));
+#define xmlNoNetExternalEntityLoader xmlNoNetExternalEntityLoader__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeAddContent
+extern __typeof (xmlNodeAddContent) xmlNodeAddContent __attribute((alias("xmlNodeAddContent__internal_alias")));
+#else
+#ifndef xmlNodeAddContent
+extern __typeof (xmlNodeAddContent) xmlNodeAddContent__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeAddContent xmlNodeAddContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeAddContentLen
+extern __typeof (xmlNodeAddContentLen) xmlNodeAddContentLen __attribute((alias("xmlNodeAddContentLen__internal_alias")));
+#else
+#ifndef xmlNodeAddContentLen
+extern __typeof (xmlNodeAddContentLen) xmlNodeAddContentLen__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeAddContentLen xmlNodeAddContentLen__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeBufGetContent
+extern __typeof (xmlNodeBufGetContent) xmlNodeBufGetContent __attribute((alias("xmlNodeBufGetContent__internal_alias")));
+#else
+#ifndef xmlNodeBufGetContent
+extern __typeof (xmlNodeBufGetContent) xmlNodeBufGetContent__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeBufGetContent xmlNodeBufGetContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlNodeDump
+extern __typeof (xmlNodeDump) xmlNodeDump __attribute((alias("xmlNodeDump__internal_alias")));
+#else
+#ifndef xmlNodeDump
+extern __typeof (xmlNodeDump) xmlNodeDump__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeDump xmlNodeDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlNodeDumpOutput
+extern __typeof (xmlNodeDumpOutput) xmlNodeDumpOutput __attribute((alias("xmlNodeDumpOutput__internal_alias")));
+#else
+#ifndef xmlNodeDumpOutput
+extern __typeof (xmlNodeDumpOutput) xmlNodeDumpOutput__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeDumpOutput xmlNodeDumpOutput__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeGetBase
+extern __typeof (xmlNodeGetBase) xmlNodeGetBase __attribute((alias("xmlNodeGetBase__internal_alias")));
+#else
+#ifndef xmlNodeGetBase
+extern __typeof (xmlNodeGetBase) xmlNodeGetBase__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeGetBase xmlNodeGetBase__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeGetContent
+extern __typeof (xmlNodeGetContent) xmlNodeGetContent __attribute((alias("xmlNodeGetContent__internal_alias")));
+#else
+#ifndef xmlNodeGetContent
+extern __typeof (xmlNodeGetContent) xmlNodeGetContent__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeGetContent xmlNodeGetContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeGetLang
+extern __typeof (xmlNodeGetLang) xmlNodeGetLang __attribute((alias("xmlNodeGetLang__internal_alias")));
+#else
+#ifndef xmlNodeGetLang
+extern __typeof (xmlNodeGetLang) xmlNodeGetLang__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeGetLang xmlNodeGetLang__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeGetSpacePreserve
+extern __typeof (xmlNodeGetSpacePreserve) xmlNodeGetSpacePreserve __attribute((alias("xmlNodeGetSpacePreserve__internal_alias")));
+#else
+#ifndef xmlNodeGetSpacePreserve
+extern __typeof (xmlNodeGetSpacePreserve) xmlNodeGetSpacePreserve__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeGetSpacePreserve xmlNodeGetSpacePreserve__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeIsText
+extern __typeof (xmlNodeIsText) xmlNodeIsText __attribute((alias("xmlNodeIsText__internal_alias")));
+#else
+#ifndef xmlNodeIsText
+extern __typeof (xmlNodeIsText) xmlNodeIsText__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeIsText xmlNodeIsText__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNodeListGetRawString
+extern __typeof (xmlNodeListGetRawString) xmlNodeListGetRawString __attribute((alias("xmlNodeListGetRawString__internal_alias")));
+#else
+#ifndef xmlNodeListGetRawString
+extern __typeof (xmlNodeListGetRawString) xmlNodeListGetRawString__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeListGetRawString xmlNodeListGetRawString__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeListGetString
+extern __typeof (xmlNodeListGetString) xmlNodeListGetString __attribute((alias("xmlNodeListGetString__internal_alias")));
+#else
+#ifndef xmlNodeListGetString
+extern __typeof (xmlNodeListGetString) xmlNodeListGetString__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeListGetString xmlNodeListGetString__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNodeSetBase
+extern __typeof (xmlNodeSetBase) xmlNodeSetBase __attribute((alias("xmlNodeSetBase__internal_alias")));
+#else
+#ifndef xmlNodeSetBase
+extern __typeof (xmlNodeSetBase) xmlNodeSetBase__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeSetBase xmlNodeSetBase__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlNodeSetContent
+extern __typeof (xmlNodeSetContent) xmlNodeSetContent __attribute((alias("xmlNodeSetContent__internal_alias")));
+#else
+#ifndef xmlNodeSetContent
+extern __typeof (xmlNodeSetContent) xmlNodeSetContent__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeSetContent xmlNodeSetContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNodeSetContentLen
+extern __typeof (xmlNodeSetContentLen) xmlNodeSetContentLen __attribute((alias("xmlNodeSetContentLen__internal_alias")));
+#else
+#ifndef xmlNodeSetContentLen
+extern __typeof (xmlNodeSetContentLen) xmlNodeSetContentLen__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeSetContentLen xmlNodeSetContentLen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNodeSetLang
+extern __typeof (xmlNodeSetLang) xmlNodeSetLang __attribute((alias("xmlNodeSetLang__internal_alias")));
+#else
+#ifndef xmlNodeSetLang
+extern __typeof (xmlNodeSetLang) xmlNodeSetLang__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeSetLang xmlNodeSetLang__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNodeSetName
+extern __typeof (xmlNodeSetName) xmlNodeSetName __attribute((alias("xmlNodeSetName__internal_alias")));
+#else
+#ifndef xmlNodeSetName
+extern __typeof (xmlNodeSetName) xmlNodeSetName__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeSetName xmlNodeSetName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlNodeSetSpacePreserve
+extern __typeof (xmlNodeSetSpacePreserve) xmlNodeSetSpacePreserve __attribute((alias("xmlNodeSetSpacePreserve__internal_alias")));
+#else
+#ifndef xmlNodeSetSpacePreserve
+extern __typeof (xmlNodeSetSpacePreserve) xmlNodeSetSpacePreserve__internal_alias __attribute((visibility("hidden")));
+#define xmlNodeSetSpacePreserve xmlNodeSetSpacePreserve__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlNormalizeURIPath
+extern __typeof (xmlNormalizeURIPath) xmlNormalizeURIPath __attribute((alias("xmlNormalizeURIPath__internal_alias")));
+#else
+#ifndef xmlNormalizeURIPath
+extern __typeof (xmlNormalizeURIPath) xmlNormalizeURIPath__internal_alias __attribute((visibility("hidden")));
+#define xmlNormalizeURIPath xmlNormalizeURIPath__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlNormalizeWindowsPath
+extern __typeof (xmlNormalizeWindowsPath) xmlNormalizeWindowsPath __attribute((alias("xmlNormalizeWindowsPath__internal_alias")));
+#else
+#ifndef xmlNormalizeWindowsPath
+extern __typeof (xmlNormalizeWindowsPath) xmlNormalizeWindowsPath__internal_alias __attribute((visibility("hidden")));
+#define xmlNormalizeWindowsPath xmlNormalizeWindowsPath__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferClose
+extern __typeof (xmlOutputBufferClose) xmlOutputBufferClose __attribute((alias("xmlOutputBufferClose__internal_alias")));
+#else
+#ifndef xmlOutputBufferClose
+extern __typeof (xmlOutputBufferClose) xmlOutputBufferClose__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferClose xmlOutputBufferClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferCreateBuffer
+extern __typeof (xmlOutputBufferCreateBuffer) xmlOutputBufferCreateBuffer __attribute((alias("xmlOutputBufferCreateBuffer__internal_alias")));
+#else
+#ifndef xmlOutputBufferCreateBuffer
+extern __typeof (xmlOutputBufferCreateBuffer) xmlOutputBufferCreateBuffer__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferCreateBuffer xmlOutputBufferCreateBuffer__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferCreateFd
+extern __typeof (xmlOutputBufferCreateFd) xmlOutputBufferCreateFd __attribute((alias("xmlOutputBufferCreateFd__internal_alias")));
+#else
+#ifndef xmlOutputBufferCreateFd
+extern __typeof (xmlOutputBufferCreateFd) xmlOutputBufferCreateFd__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferCreateFd xmlOutputBufferCreateFd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferCreateFile
+extern __typeof (xmlOutputBufferCreateFile) xmlOutputBufferCreateFile __attribute((alias("xmlOutputBufferCreateFile__internal_alias")));
+#else
+#ifndef xmlOutputBufferCreateFile
+extern __typeof (xmlOutputBufferCreateFile) xmlOutputBufferCreateFile__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferCreateFile xmlOutputBufferCreateFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferCreateFilename
+extern __typeof (xmlOutputBufferCreateFilename) xmlOutputBufferCreateFilename __attribute((alias("xmlOutputBufferCreateFilename__internal_alias")));
+#else
+#ifndef xmlOutputBufferCreateFilename
+extern __typeof (xmlOutputBufferCreateFilename) xmlOutputBufferCreateFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferCreateFilename xmlOutputBufferCreateFilename__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferCreateFilenameDefault
+extern __typeof (xmlOutputBufferCreateFilenameDefault) xmlOutputBufferCreateFilenameDefault __attribute((alias("xmlOutputBufferCreateFilenameDefault__internal_alias")));
+#else
+#ifndef xmlOutputBufferCreateFilenameDefault
+extern __typeof (xmlOutputBufferCreateFilenameDefault) xmlOutputBufferCreateFilenameDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferCreateFilenameDefault xmlOutputBufferCreateFilenameDefault__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferCreateIO
+extern __typeof (xmlOutputBufferCreateIO) xmlOutputBufferCreateIO __attribute((alias("xmlOutputBufferCreateIO__internal_alias")));
+#else
+#ifndef xmlOutputBufferCreateIO
+extern __typeof (xmlOutputBufferCreateIO) xmlOutputBufferCreateIO__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferCreateIO xmlOutputBufferCreateIO__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferFlush
+extern __typeof (xmlOutputBufferFlush) xmlOutputBufferFlush __attribute((alias("xmlOutputBufferFlush__internal_alias")));
+#else
+#ifndef xmlOutputBufferFlush
+extern __typeof (xmlOutputBufferFlush) xmlOutputBufferFlush__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferFlush xmlOutputBufferFlush__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferGetContent
+extern __typeof (xmlOutputBufferGetContent) xmlOutputBufferGetContent __attribute((alias("xmlOutputBufferGetContent__internal_alias")));
+#else
+#ifndef xmlOutputBufferGetContent
+extern __typeof (xmlOutputBufferGetContent) xmlOutputBufferGetContent__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferGetContent xmlOutputBufferGetContent__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferGetSize
+extern __typeof (xmlOutputBufferGetSize) xmlOutputBufferGetSize __attribute((alias("xmlOutputBufferGetSize__internal_alias")));
+#else
+#ifndef xmlOutputBufferGetSize
+extern __typeof (xmlOutputBufferGetSize) xmlOutputBufferGetSize__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferGetSize xmlOutputBufferGetSize__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferWrite
+extern __typeof (xmlOutputBufferWrite) xmlOutputBufferWrite __attribute((alias("xmlOutputBufferWrite__internal_alias")));
+#else
+#ifndef xmlOutputBufferWrite
+extern __typeof (xmlOutputBufferWrite) xmlOutputBufferWrite__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferWrite xmlOutputBufferWrite__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferWriteEscape
+extern __typeof (xmlOutputBufferWriteEscape) xmlOutputBufferWriteEscape __attribute((alias("xmlOutputBufferWriteEscape__internal_alias")));
+#else
+#ifndef xmlOutputBufferWriteEscape
+extern __typeof (xmlOutputBufferWriteEscape) xmlOutputBufferWriteEscape__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferWriteEscape xmlOutputBufferWriteEscape__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferWriteString
+extern __typeof (xmlOutputBufferWriteString) xmlOutputBufferWriteString __attribute((alias("xmlOutputBufferWriteString__internal_alias")));
+#else
+#ifndef xmlOutputBufferWriteString
+extern __typeof (xmlOutputBufferWriteString) xmlOutputBufferWriteString__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferWriteString xmlOutputBufferWriteString__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseAttValue
+extern __typeof (xmlParseAttValue) xmlParseAttValue __attribute((alias("xmlParseAttValue__internal_alias")));
+#else
+#ifndef xmlParseAttValue
+extern __typeof (xmlParseAttValue) xmlParseAttValue__internal_alias __attribute((visibility("hidden")));
+#define xmlParseAttValue xmlParseAttValue__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseAttribute
+extern __typeof (xmlParseAttribute) xmlParseAttribute __attribute((alias("xmlParseAttribute__internal_alias")));
+#else
+#ifndef xmlParseAttribute
+extern __typeof (xmlParseAttribute) xmlParseAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlParseAttribute xmlParseAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseAttributeListDecl
+extern __typeof (xmlParseAttributeListDecl) xmlParseAttributeListDecl __attribute((alias("xmlParseAttributeListDecl__internal_alias")));
+#else
+#ifndef xmlParseAttributeListDecl
+extern __typeof (xmlParseAttributeListDecl) xmlParseAttributeListDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseAttributeListDecl xmlParseAttributeListDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseAttributeType
+extern __typeof (xmlParseAttributeType) xmlParseAttributeType __attribute((alias("xmlParseAttributeType__internal_alias")));
+#else
+#ifndef xmlParseAttributeType
+extern __typeof (xmlParseAttributeType) xmlParseAttributeType__internal_alias __attribute((visibility("hidden")));
+#define xmlParseAttributeType xmlParseAttributeType__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseBalancedChunkMemory
+extern __typeof (xmlParseBalancedChunkMemory) xmlParseBalancedChunkMemory __attribute((alias("xmlParseBalancedChunkMemory__internal_alias")));
+#else
+#ifndef xmlParseBalancedChunkMemory
+extern __typeof (xmlParseBalancedChunkMemory) xmlParseBalancedChunkMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlParseBalancedChunkMemory xmlParseBalancedChunkMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseBalancedChunkMemoryRecover
+extern __typeof (xmlParseBalancedChunkMemoryRecover) xmlParseBalancedChunkMemoryRecover __attribute((alias("xmlParseBalancedChunkMemoryRecover__internal_alias")));
+#else
+#ifndef xmlParseBalancedChunkMemoryRecover
+extern __typeof (xmlParseBalancedChunkMemoryRecover) xmlParseBalancedChunkMemoryRecover__internal_alias __attribute((visibility("hidden")));
+#define xmlParseBalancedChunkMemoryRecover xmlParseBalancedChunkMemoryRecover__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseCDSect
+extern __typeof (xmlParseCDSect) xmlParseCDSect __attribute((alias("xmlParseCDSect__internal_alias")));
+#else
+#ifndef xmlParseCDSect
+extern __typeof (xmlParseCDSect) xmlParseCDSect__internal_alias __attribute((visibility("hidden")));
+#define xmlParseCDSect xmlParseCDSect__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_CATALOG_ENABLED)
+#ifdef bottom_catalog
+#undef xmlParseCatalogFile
+extern __typeof (xmlParseCatalogFile) xmlParseCatalogFile __attribute((alias("xmlParseCatalogFile__internal_alias")));
+#else
+#ifndef xmlParseCatalogFile
+extern __typeof (xmlParseCatalogFile) xmlParseCatalogFile__internal_alias __attribute((visibility("hidden")));
+#define xmlParseCatalogFile xmlParseCatalogFile__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseCharData
+extern __typeof (xmlParseCharData) xmlParseCharData __attribute((alias("xmlParseCharData__internal_alias")));
+#else
+#ifndef xmlParseCharData
+extern __typeof (xmlParseCharData) xmlParseCharData__internal_alias __attribute((visibility("hidden")));
+#define xmlParseCharData xmlParseCharData__internal_alias
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlParseCharEncoding
+extern __typeof (xmlParseCharEncoding) xmlParseCharEncoding __attribute((alias("xmlParseCharEncoding__internal_alias")));
+#else
+#ifndef xmlParseCharEncoding
+extern __typeof (xmlParseCharEncoding) xmlParseCharEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlParseCharEncoding xmlParseCharEncoding__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseCharRef
+extern __typeof (xmlParseCharRef) xmlParseCharRef __attribute((alias("xmlParseCharRef__internal_alias")));
+#else
+#ifndef xmlParseCharRef
+extern __typeof (xmlParseCharRef) xmlParseCharRef__internal_alias __attribute((visibility("hidden")));
+#define xmlParseCharRef xmlParseCharRef__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_PUSH_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseChunk
+extern __typeof (xmlParseChunk) xmlParseChunk __attribute((alias("xmlParseChunk__internal_alias")));
+#else
+#ifndef xmlParseChunk
+extern __typeof (xmlParseChunk) xmlParseChunk__internal_alias __attribute((visibility("hidden")));
+#define xmlParseChunk xmlParseChunk__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseComment
+extern __typeof (xmlParseComment) xmlParseComment __attribute((alias("xmlParseComment__internal_alias")));
+#else
+#ifndef xmlParseComment
+extern __typeof (xmlParseComment) xmlParseComment__internal_alias __attribute((visibility("hidden")));
+#define xmlParseComment xmlParseComment__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseContent
+extern __typeof (xmlParseContent) xmlParseContent __attribute((alias("xmlParseContent__internal_alias")));
+#else
+#ifndef xmlParseContent
+extern __typeof (xmlParseContent) xmlParseContent__internal_alias __attribute((visibility("hidden")));
+#define xmlParseContent xmlParseContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseCtxtExternalEntity
+extern __typeof (xmlParseCtxtExternalEntity) xmlParseCtxtExternalEntity __attribute((alias("xmlParseCtxtExternalEntity__internal_alias")));
+#else
+#ifndef xmlParseCtxtExternalEntity
+extern __typeof (xmlParseCtxtExternalEntity) xmlParseCtxtExternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlParseCtxtExternalEntity xmlParseCtxtExternalEntity__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseDTD
+extern __typeof (xmlParseDTD) xmlParseDTD __attribute((alias("xmlParseDTD__internal_alias")));
+#else
+#ifndef xmlParseDTD
+extern __typeof (xmlParseDTD) xmlParseDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlParseDTD xmlParseDTD__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseDefaultDecl
+extern __typeof (xmlParseDefaultDecl) xmlParseDefaultDecl __attribute((alias("xmlParseDefaultDecl__internal_alias")));
+#else
+#ifndef xmlParseDefaultDecl
+extern __typeof (xmlParseDefaultDecl) xmlParseDefaultDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseDefaultDecl xmlParseDefaultDecl__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseDoc
+extern __typeof (xmlParseDoc) xmlParseDoc __attribute((alias("xmlParseDoc__internal_alias")));
+#else
+#ifndef xmlParseDoc
+extern __typeof (xmlParseDoc) xmlParseDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlParseDoc xmlParseDoc__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseDocTypeDecl
+extern __typeof (xmlParseDocTypeDecl) xmlParseDocTypeDecl __attribute((alias("xmlParseDocTypeDecl__internal_alias")));
+#else
+#ifndef xmlParseDocTypeDecl
+extern __typeof (xmlParseDocTypeDecl) xmlParseDocTypeDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseDocTypeDecl xmlParseDocTypeDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseDocument
+extern __typeof (xmlParseDocument) xmlParseDocument __attribute((alias("xmlParseDocument__internal_alias")));
+#else
+#ifndef xmlParseDocument
+extern __typeof (xmlParseDocument) xmlParseDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlParseDocument xmlParseDocument__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseElement
+extern __typeof (xmlParseElement) xmlParseElement __attribute((alias("xmlParseElement__internal_alias")));
+#else
+#ifndef xmlParseElement
+extern __typeof (xmlParseElement) xmlParseElement__internal_alias __attribute((visibility("hidden")));
+#define xmlParseElement xmlParseElement__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseElementChildrenContentDecl
+extern __typeof (xmlParseElementChildrenContentDecl) xmlParseElementChildrenContentDecl __attribute((alias("xmlParseElementChildrenContentDecl__internal_alias")));
+#else
+#ifndef xmlParseElementChildrenContentDecl
+extern __typeof (xmlParseElementChildrenContentDecl) xmlParseElementChildrenContentDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseElementChildrenContentDecl xmlParseElementChildrenContentDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseElementContentDecl
+extern __typeof (xmlParseElementContentDecl) xmlParseElementContentDecl __attribute((alias("xmlParseElementContentDecl__internal_alias")));
+#else
+#ifndef xmlParseElementContentDecl
+extern __typeof (xmlParseElementContentDecl) xmlParseElementContentDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseElementContentDecl xmlParseElementContentDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseElementDecl
+extern __typeof (xmlParseElementDecl) xmlParseElementDecl __attribute((alias("xmlParseElementDecl__internal_alias")));
+#else
+#ifndef xmlParseElementDecl
+extern __typeof (xmlParseElementDecl) xmlParseElementDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseElementDecl xmlParseElementDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseElementMixedContentDecl
+extern __typeof (xmlParseElementMixedContentDecl) xmlParseElementMixedContentDecl __attribute((alias("xmlParseElementMixedContentDecl__internal_alias")));
+#else
+#ifndef xmlParseElementMixedContentDecl
+extern __typeof (xmlParseElementMixedContentDecl) xmlParseElementMixedContentDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseElementMixedContentDecl xmlParseElementMixedContentDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEncName
+extern __typeof (xmlParseEncName) xmlParseEncName __attribute((alias("xmlParseEncName__internal_alias")));
+#else
+#ifndef xmlParseEncName
+extern __typeof (xmlParseEncName) xmlParseEncName__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEncName xmlParseEncName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEncodingDecl
+extern __typeof (xmlParseEncodingDecl) xmlParseEncodingDecl __attribute((alias("xmlParseEncodingDecl__internal_alias")));
+#else
+#ifndef xmlParseEncodingDecl
+extern __typeof (xmlParseEncodingDecl) xmlParseEncodingDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEncodingDecl xmlParseEncodingDecl__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseEndTag
+extern __typeof (xmlParseEndTag) xmlParseEndTag __attribute((alias("xmlParseEndTag__internal_alias")));
+#else
+#ifndef xmlParseEndTag
+extern __typeof (xmlParseEndTag) xmlParseEndTag__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEndTag xmlParseEndTag__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseEntity
+extern __typeof (xmlParseEntity) xmlParseEntity __attribute((alias("xmlParseEntity__internal_alias")));
+#else
+#ifndef xmlParseEntity
+extern __typeof (xmlParseEntity) xmlParseEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEntity xmlParseEntity__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEntityDecl
+extern __typeof (xmlParseEntityDecl) xmlParseEntityDecl __attribute((alias("xmlParseEntityDecl__internal_alias")));
+#else
+#ifndef xmlParseEntityDecl
+extern __typeof (xmlParseEntityDecl) xmlParseEntityDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEntityDecl xmlParseEntityDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEntityRef
+extern __typeof (xmlParseEntityRef) xmlParseEntityRef __attribute((alias("xmlParseEntityRef__internal_alias")));
+#else
+#ifndef xmlParseEntityRef
+extern __typeof (xmlParseEntityRef) xmlParseEntityRef__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEntityRef xmlParseEntityRef__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEntityValue
+extern __typeof (xmlParseEntityValue) xmlParseEntityValue __attribute((alias("xmlParseEntityValue__internal_alias")));
+#else
+#ifndef xmlParseEntityValue
+extern __typeof (xmlParseEntityValue) xmlParseEntityValue__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEntityValue xmlParseEntityValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEnumeratedType
+extern __typeof (xmlParseEnumeratedType) xmlParseEnumeratedType __attribute((alias("xmlParseEnumeratedType__internal_alias")));
+#else
+#ifndef xmlParseEnumeratedType
+extern __typeof (xmlParseEnumeratedType) xmlParseEnumeratedType__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEnumeratedType xmlParseEnumeratedType__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseEnumerationType
+extern __typeof (xmlParseEnumerationType) xmlParseEnumerationType __attribute((alias("xmlParseEnumerationType__internal_alias")));
+#else
+#ifndef xmlParseEnumerationType
+extern __typeof (xmlParseEnumerationType) xmlParseEnumerationType__internal_alias __attribute((visibility("hidden")));
+#define xmlParseEnumerationType xmlParseEnumerationType__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseExtParsedEnt
+extern __typeof (xmlParseExtParsedEnt) xmlParseExtParsedEnt __attribute((alias("xmlParseExtParsedEnt__internal_alias")));
+#else
+#ifndef xmlParseExtParsedEnt
+extern __typeof (xmlParseExtParsedEnt) xmlParseExtParsedEnt__internal_alias __attribute((visibility("hidden")));
+#define xmlParseExtParsedEnt xmlParseExtParsedEnt__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseExternalEntity
+extern __typeof (xmlParseExternalEntity) xmlParseExternalEntity __attribute((alias("xmlParseExternalEntity__internal_alias")));
+#else
+#ifndef xmlParseExternalEntity
+extern __typeof (xmlParseExternalEntity) xmlParseExternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlParseExternalEntity xmlParseExternalEntity__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseExternalID
+extern __typeof (xmlParseExternalID) xmlParseExternalID __attribute((alias("xmlParseExternalID__internal_alias")));
+#else
+#ifndef xmlParseExternalID
+extern __typeof (xmlParseExternalID) xmlParseExternalID__internal_alias __attribute((visibility("hidden")));
+#define xmlParseExternalID xmlParseExternalID__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseExternalSubset
+extern __typeof (xmlParseExternalSubset) xmlParseExternalSubset __attribute((alias("xmlParseExternalSubset__internal_alias")));
+#else
+#ifndef xmlParseExternalSubset
+extern __typeof (xmlParseExternalSubset) xmlParseExternalSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlParseExternalSubset xmlParseExternalSubset__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseFile
+extern __typeof (xmlParseFile) xmlParseFile __attribute((alias("xmlParseFile__internal_alias")));
+#else
+#ifndef xmlParseFile
+extern __typeof (xmlParseFile) xmlParseFile__internal_alias __attribute((visibility("hidden")));
+#define xmlParseFile xmlParseFile__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseInNodeContext
+extern __typeof (xmlParseInNodeContext) xmlParseInNodeContext __attribute((alias("xmlParseInNodeContext__internal_alias")));
+#else
+#ifndef xmlParseInNodeContext
+extern __typeof (xmlParseInNodeContext) xmlParseInNodeContext__internal_alias __attribute((visibility("hidden")));
+#define xmlParseInNodeContext xmlParseInNodeContext__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseMarkupDecl
+extern __typeof (xmlParseMarkupDecl) xmlParseMarkupDecl __attribute((alias("xmlParseMarkupDecl__internal_alias")));
+#else
+#ifndef xmlParseMarkupDecl
+extern __typeof (xmlParseMarkupDecl) xmlParseMarkupDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseMarkupDecl xmlParseMarkupDecl__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseMemory
+extern __typeof (xmlParseMemory) xmlParseMemory __attribute((alias("xmlParseMemory__internal_alias")));
+#else
+#ifndef xmlParseMemory
+extern __typeof (xmlParseMemory) xmlParseMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlParseMemory xmlParseMemory__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseMisc
+extern __typeof (xmlParseMisc) xmlParseMisc __attribute((alias("xmlParseMisc__internal_alias")));
+#else
+#ifndef xmlParseMisc
+extern __typeof (xmlParseMisc) xmlParseMisc__internal_alias __attribute((visibility("hidden")));
+#define xmlParseMisc xmlParseMisc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseName
+extern __typeof (xmlParseName) xmlParseName __attribute((alias("xmlParseName__internal_alias")));
+#else
+#ifndef xmlParseName
+extern __typeof (xmlParseName) xmlParseName__internal_alias __attribute((visibility("hidden")));
+#define xmlParseName xmlParseName__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlParseNamespace
+extern __typeof (xmlParseNamespace) xmlParseNamespace __attribute((alias("xmlParseNamespace__internal_alias")));
+#else
+#ifndef xmlParseNamespace
+extern __typeof (xmlParseNamespace) xmlParseNamespace__internal_alias __attribute((visibility("hidden")));
+#define xmlParseNamespace xmlParseNamespace__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseNmtoken
+extern __typeof (xmlParseNmtoken) xmlParseNmtoken __attribute((alias("xmlParseNmtoken__internal_alias")));
+#else
+#ifndef xmlParseNmtoken
+extern __typeof (xmlParseNmtoken) xmlParseNmtoken__internal_alias __attribute((visibility("hidden")));
+#define xmlParseNmtoken xmlParseNmtoken__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseNotationDecl
+extern __typeof (xmlParseNotationDecl) xmlParseNotationDecl __attribute((alias("xmlParseNotationDecl__internal_alias")));
+#else
+#ifndef xmlParseNotationDecl
+extern __typeof (xmlParseNotationDecl) xmlParseNotationDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseNotationDecl xmlParseNotationDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseNotationType
+extern __typeof (xmlParseNotationType) xmlParseNotationType __attribute((alias("xmlParseNotationType__internal_alias")));
+#else
+#ifndef xmlParseNotationType
+extern __typeof (xmlParseNotationType) xmlParseNotationType__internal_alias __attribute((visibility("hidden")));
+#define xmlParseNotationType xmlParseNotationType__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParsePEReference
+extern __typeof (xmlParsePEReference) xmlParsePEReference __attribute((alias("xmlParsePEReference__internal_alias")));
+#else
+#ifndef xmlParsePEReference
+extern __typeof (xmlParsePEReference) xmlParsePEReference__internal_alias __attribute((visibility("hidden")));
+#define xmlParsePEReference xmlParsePEReference__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParsePI
+extern __typeof (xmlParsePI) xmlParsePI __attribute((alias("xmlParsePI__internal_alias")));
+#else
+#ifndef xmlParsePI
+extern __typeof (xmlParsePI) xmlParsePI__internal_alias __attribute((visibility("hidden")));
+#define xmlParsePI xmlParsePI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParsePITarget
+extern __typeof (xmlParsePITarget) xmlParsePITarget __attribute((alias("xmlParsePITarget__internal_alias")));
+#else
+#ifndef xmlParsePITarget
+extern __typeof (xmlParsePITarget) xmlParsePITarget__internal_alias __attribute((visibility("hidden")));
+#define xmlParsePITarget xmlParsePITarget__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParsePubidLiteral
+extern __typeof (xmlParsePubidLiteral) xmlParsePubidLiteral __attribute((alias("xmlParsePubidLiteral__internal_alias")));
+#else
+#ifndef xmlParsePubidLiteral
+extern __typeof (xmlParsePubidLiteral) xmlParsePubidLiteral__internal_alias __attribute((visibility("hidden")));
+#define xmlParsePubidLiteral xmlParsePubidLiteral__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlParseQuotedString
+extern __typeof (xmlParseQuotedString) xmlParseQuotedString __attribute((alias("xmlParseQuotedString__internal_alias")));
+#else
+#ifndef xmlParseQuotedString
+extern __typeof (xmlParseQuotedString) xmlParseQuotedString__internal_alias __attribute((visibility("hidden")));
+#define xmlParseQuotedString xmlParseQuotedString__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseReference
+extern __typeof (xmlParseReference) xmlParseReference __attribute((alias("xmlParseReference__internal_alias")));
+#else
+#ifndef xmlParseReference
+extern __typeof (xmlParseReference) xmlParseReference__internal_alias __attribute((visibility("hidden")));
+#define xmlParseReference xmlParseReference__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseSDDecl
+extern __typeof (xmlParseSDDecl) xmlParseSDDecl __attribute((alias("xmlParseSDDecl__internal_alias")));
+#else
+#ifndef xmlParseSDDecl
+extern __typeof (xmlParseSDDecl) xmlParseSDDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseSDDecl xmlParseSDDecl__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlParseStartTag
+extern __typeof (xmlParseStartTag) xmlParseStartTag __attribute((alias("xmlParseStartTag__internal_alias")));
+#else
+#ifndef xmlParseStartTag
+extern __typeof (xmlParseStartTag) xmlParseStartTag__internal_alias __attribute((visibility("hidden")));
+#define xmlParseStartTag xmlParseStartTag__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseSystemLiteral
+extern __typeof (xmlParseSystemLiteral) xmlParseSystemLiteral __attribute((alias("xmlParseSystemLiteral__internal_alias")));
+#else
+#ifndef xmlParseSystemLiteral
+extern __typeof (xmlParseSystemLiteral) xmlParseSystemLiteral__internal_alias __attribute((visibility("hidden")));
+#define xmlParseSystemLiteral xmlParseSystemLiteral__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseTextDecl
+extern __typeof (xmlParseTextDecl) xmlParseTextDecl __attribute((alias("xmlParseTextDecl__internal_alias")));
+#else
+#ifndef xmlParseTextDecl
+extern __typeof (xmlParseTextDecl) xmlParseTextDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseTextDecl xmlParseTextDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlParseURI
+extern __typeof (xmlParseURI) xmlParseURI __attribute((alias("xmlParseURI__internal_alias")));
+#else
+#ifndef xmlParseURI
+extern __typeof (xmlParseURI) xmlParseURI__internal_alias __attribute((visibility("hidden")));
+#define xmlParseURI xmlParseURI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlParseURIRaw
+extern __typeof (xmlParseURIRaw) xmlParseURIRaw __attribute((alias("xmlParseURIRaw__internal_alias")));
+#else
+#ifndef xmlParseURIRaw
+extern __typeof (xmlParseURIRaw) xmlParseURIRaw__internal_alias __attribute((visibility("hidden")));
+#define xmlParseURIRaw xmlParseURIRaw__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlParseURIReference
+extern __typeof (xmlParseURIReference) xmlParseURIReference __attribute((alias("xmlParseURIReference__internal_alias")));
+#else
+#ifndef xmlParseURIReference
+extern __typeof (xmlParseURIReference) xmlParseURIReference__internal_alias __attribute((visibility("hidden")));
+#define xmlParseURIReference xmlParseURIReference__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseVersionInfo
+extern __typeof (xmlParseVersionInfo) xmlParseVersionInfo __attribute((alias("xmlParseVersionInfo__internal_alias")));
+#else
+#ifndef xmlParseVersionInfo
+extern __typeof (xmlParseVersionInfo) xmlParseVersionInfo__internal_alias __attribute((visibility("hidden")));
+#define xmlParseVersionInfo xmlParseVersionInfo__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseVersionNum
+extern __typeof (xmlParseVersionNum) xmlParseVersionNum __attribute((alias("xmlParseVersionNum__internal_alias")));
+#else
+#ifndef xmlParseVersionNum
+extern __typeof (xmlParseVersionNum) xmlParseVersionNum__internal_alias __attribute((visibility("hidden")));
+#define xmlParseVersionNum xmlParseVersionNum__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParseXMLDecl
+extern __typeof (xmlParseXMLDecl) xmlParseXMLDecl __attribute((alias("xmlParseXMLDecl__internal_alias")));
+#else
+#ifndef xmlParseXMLDecl
+extern __typeof (xmlParseXMLDecl) xmlParseXMLDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlParseXMLDecl xmlParseXMLDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlParserAddNodeInfo
+extern __typeof (xmlParserAddNodeInfo) xmlParserAddNodeInfo __attribute((alias("xmlParserAddNodeInfo__internal_alias")));
+#else
+#ifndef xmlParserAddNodeInfo
+extern __typeof (xmlParserAddNodeInfo) xmlParserAddNodeInfo__internal_alias __attribute((visibility("hidden")));
+#define xmlParserAddNodeInfo xmlParserAddNodeInfo__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlParserError
+extern __typeof (xmlParserError) xmlParserError __attribute((alias("xmlParserError__internal_alias")));
+#else
+#ifndef xmlParserError
+extern __typeof (xmlParserError) xmlParserError__internal_alias __attribute((visibility("hidden")));
+#define xmlParserError xmlParserError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlParserFindNodeInfo
+extern __typeof (xmlParserFindNodeInfo) xmlParserFindNodeInfo __attribute((alias("xmlParserFindNodeInfo__internal_alias")));
+#else
+#ifndef xmlParserFindNodeInfo
+extern __typeof (xmlParserFindNodeInfo) xmlParserFindNodeInfo__internal_alias __attribute((visibility("hidden")));
+#define xmlParserFindNodeInfo xmlParserFindNodeInfo__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlParserFindNodeInfoIndex
+extern __typeof (xmlParserFindNodeInfoIndex) xmlParserFindNodeInfoIndex __attribute((alias("xmlParserFindNodeInfoIndex__internal_alias")));
+#else
+#ifndef xmlParserFindNodeInfoIndex
+extern __typeof (xmlParserFindNodeInfoIndex) xmlParserFindNodeInfoIndex__internal_alias __attribute((visibility("hidden")));
+#define xmlParserFindNodeInfoIndex xmlParserFindNodeInfoIndex__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserGetDirectory
+extern __typeof (xmlParserGetDirectory) xmlParserGetDirectory __attribute((alias("xmlParserGetDirectory__internal_alias")));
+#else
+#ifndef xmlParserGetDirectory
+extern __typeof (xmlParserGetDirectory) xmlParserGetDirectory__internal_alias __attribute((visibility("hidden")));
+#define xmlParserGetDirectory xmlParserGetDirectory__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlParserHandlePEReference
+extern __typeof (xmlParserHandlePEReference) xmlParserHandlePEReference __attribute((alias("xmlParserHandlePEReference__internal_alias")));
+#else
+#ifndef xmlParserHandlePEReference
+extern __typeof (xmlParserHandlePEReference) xmlParserHandlePEReference__internal_alias __attribute((visibility("hidden")));
+#define xmlParserHandlePEReference xmlParserHandlePEReference__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlParserHandleReference
+extern __typeof (xmlParserHandleReference) xmlParserHandleReference __attribute((alias("xmlParserHandleReference__internal_alias")));
+#else
+#ifndef xmlParserHandleReference
+extern __typeof (xmlParserHandleReference) xmlParserHandleReference__internal_alias __attribute((visibility("hidden")));
+#define xmlParserHandleReference xmlParserHandleReference__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateFd
+extern __typeof (xmlParserInputBufferCreateFd) xmlParserInputBufferCreateFd __attribute((alias("xmlParserInputBufferCreateFd__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateFd
+extern __typeof (xmlParserInputBufferCreateFd) xmlParserInputBufferCreateFd__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateFd xmlParserInputBufferCreateFd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateFile
+extern __typeof (xmlParserInputBufferCreateFile) xmlParserInputBufferCreateFile __attribute((alias("xmlParserInputBufferCreateFile__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateFile
+extern __typeof (xmlParserInputBufferCreateFile) xmlParserInputBufferCreateFile__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateFile xmlParserInputBufferCreateFile__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateFilename
+extern __typeof (xmlParserInputBufferCreateFilename) xmlParserInputBufferCreateFilename __attribute((alias("xmlParserInputBufferCreateFilename__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateFilename
+extern __typeof (xmlParserInputBufferCreateFilename) xmlParserInputBufferCreateFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateFilename xmlParserInputBufferCreateFilename__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateFilenameDefault
+extern __typeof (xmlParserInputBufferCreateFilenameDefault) xmlParserInputBufferCreateFilenameDefault __attribute((alias("xmlParserInputBufferCreateFilenameDefault__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateFilenameDefault
+extern __typeof (xmlParserInputBufferCreateFilenameDefault) xmlParserInputBufferCreateFilenameDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateFilenameDefault xmlParserInputBufferCreateFilenameDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateIO
+extern __typeof (xmlParserInputBufferCreateIO) xmlParserInputBufferCreateIO __attribute((alias("xmlParserInputBufferCreateIO__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateIO
+extern __typeof (xmlParserInputBufferCreateIO) xmlParserInputBufferCreateIO__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateIO xmlParserInputBufferCreateIO__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateMem
+extern __typeof (xmlParserInputBufferCreateMem) xmlParserInputBufferCreateMem __attribute((alias("xmlParserInputBufferCreateMem__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateMem
+extern __typeof (xmlParserInputBufferCreateMem) xmlParserInputBufferCreateMem__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateMem xmlParserInputBufferCreateMem__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferCreateStatic
+extern __typeof (xmlParserInputBufferCreateStatic) xmlParserInputBufferCreateStatic __attribute((alias("xmlParserInputBufferCreateStatic__internal_alias")));
+#else
+#ifndef xmlParserInputBufferCreateStatic
+extern __typeof (xmlParserInputBufferCreateStatic) xmlParserInputBufferCreateStatic__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferCreateStatic xmlParserInputBufferCreateStatic__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferGrow
+extern __typeof (xmlParserInputBufferGrow) xmlParserInputBufferGrow __attribute((alias("xmlParserInputBufferGrow__internal_alias")));
+#else
+#ifndef xmlParserInputBufferGrow
+extern __typeof (xmlParserInputBufferGrow) xmlParserInputBufferGrow__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferGrow xmlParserInputBufferGrow__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferPush
+extern __typeof (xmlParserInputBufferPush) xmlParserInputBufferPush __attribute((alias("xmlParserInputBufferPush__internal_alias")));
+#else
+#ifndef xmlParserInputBufferPush
+extern __typeof (xmlParserInputBufferPush) xmlParserInputBufferPush__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferPush xmlParserInputBufferPush__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlParserInputBufferRead
+extern __typeof (xmlParserInputBufferRead) xmlParserInputBufferRead __attribute((alias("xmlParserInputBufferRead__internal_alias")));
+#else
+#ifndef xmlParserInputBufferRead
+extern __typeof (xmlParserInputBufferRead) xmlParserInputBufferRead__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputBufferRead xmlParserInputBufferRead__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlParserInputGrow
+extern __typeof (xmlParserInputGrow) xmlParserInputGrow __attribute((alias("xmlParserInputGrow__internal_alias")));
+#else
+#ifndef xmlParserInputGrow
+extern __typeof (xmlParserInputGrow) xmlParserInputGrow__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputGrow xmlParserInputGrow__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlParserInputRead
+extern __typeof (xmlParserInputRead) xmlParserInputRead __attribute((alias("xmlParserInputRead__internal_alias")));
+#else
+#ifndef xmlParserInputRead
+extern __typeof (xmlParserInputRead) xmlParserInputRead__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputRead xmlParserInputRead__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlParserInputShrink
+extern __typeof (xmlParserInputShrink) xmlParserInputShrink __attribute((alias("xmlParserInputShrink__internal_alias")));
+#else
+#ifndef xmlParserInputShrink
+extern __typeof (xmlParserInputShrink) xmlParserInputShrink__internal_alias __attribute((visibility("hidden")));
+#define xmlParserInputShrink xmlParserInputShrink__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlParserPrintFileContext
+extern __typeof (xmlParserPrintFileContext) xmlParserPrintFileContext __attribute((alias("xmlParserPrintFileContext__internal_alias")));
+#else
+#ifndef xmlParserPrintFileContext
+extern __typeof (xmlParserPrintFileContext) xmlParserPrintFileContext__internal_alias __attribute((visibility("hidden")));
+#define xmlParserPrintFileContext xmlParserPrintFileContext__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlParserPrintFileInfo
+extern __typeof (xmlParserPrintFileInfo) xmlParserPrintFileInfo __attribute((alias("xmlParserPrintFileInfo__internal_alias")));
+#else
+#ifndef xmlParserPrintFileInfo
+extern __typeof (xmlParserPrintFileInfo) xmlParserPrintFileInfo__internal_alias __attribute((visibility("hidden")));
+#define xmlParserPrintFileInfo xmlParserPrintFileInfo__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlParserValidityError
+extern __typeof (xmlParserValidityError) xmlParserValidityError __attribute((alias("xmlParserValidityError__internal_alias")));
+#else
+#ifndef xmlParserValidityError
+extern __typeof (xmlParserValidityError) xmlParserValidityError__internal_alias __attribute((visibility("hidden")));
+#define xmlParserValidityError xmlParserValidityError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlParserValidityWarning
+extern __typeof (xmlParserValidityWarning) xmlParserValidityWarning __attribute((alias("xmlParserValidityWarning__internal_alias")));
+#else
+#ifndef xmlParserValidityWarning
+extern __typeof (xmlParserValidityWarning) xmlParserValidityWarning__internal_alias __attribute((visibility("hidden")));
+#define xmlParserValidityWarning xmlParserValidityWarning__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlParserWarning
+extern __typeof (xmlParserWarning) xmlParserWarning __attribute((alias("xmlParserWarning__internal_alias")));
+#else
+#ifndef xmlParserWarning
+extern __typeof (xmlParserWarning) xmlParserWarning__internal_alias __attribute((visibility("hidden")));
+#define xmlParserWarning xmlParserWarning__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlPathToURI
+extern __typeof (xmlPathToURI) xmlPathToURI __attribute((alias("xmlPathToURI__internal_alias")));
+#else
+#ifndef xmlPathToURI
+extern __typeof (xmlPathToURI) xmlPathToURI__internal_alias __attribute((visibility("hidden")));
+#define xmlPathToURI xmlPathToURI__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatternFromRoot
+extern __typeof (xmlPatternFromRoot) xmlPatternFromRoot __attribute((alias("xmlPatternFromRoot__internal_alias")));
+#else
+#ifndef xmlPatternFromRoot
+extern __typeof (xmlPatternFromRoot) xmlPatternFromRoot__internal_alias __attribute((visibility("hidden")));
+#define xmlPatternFromRoot xmlPatternFromRoot__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatternGetStreamCtxt
+extern __typeof (xmlPatternGetStreamCtxt) xmlPatternGetStreamCtxt __attribute((alias("xmlPatternGetStreamCtxt__internal_alias")));
+#else
+#ifndef xmlPatternGetStreamCtxt
+extern __typeof (xmlPatternGetStreamCtxt) xmlPatternGetStreamCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlPatternGetStreamCtxt xmlPatternGetStreamCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatternMatch
+extern __typeof (xmlPatternMatch) xmlPatternMatch __attribute((alias("xmlPatternMatch__internal_alias")));
+#else
+#ifndef xmlPatternMatch
+extern __typeof (xmlPatternMatch) xmlPatternMatch__internal_alias __attribute((visibility("hidden")));
+#define xmlPatternMatch xmlPatternMatch__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatternMaxDepth
+extern __typeof (xmlPatternMaxDepth) xmlPatternMaxDepth __attribute((alias("xmlPatternMaxDepth__internal_alias")));
+#else
+#ifndef xmlPatternMaxDepth
+extern __typeof (xmlPatternMaxDepth) xmlPatternMaxDepth__internal_alias __attribute((visibility("hidden")));
+#define xmlPatternMaxDepth xmlPatternMaxDepth__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatternMinDepth
+extern __typeof (xmlPatternMinDepth) xmlPatternMinDepth __attribute((alias("xmlPatternMinDepth__internal_alias")));
+#else
+#ifndef xmlPatternMinDepth
+extern __typeof (xmlPatternMinDepth) xmlPatternMinDepth__internal_alias __attribute((visibility("hidden")));
+#define xmlPatternMinDepth xmlPatternMinDepth__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatternStreamable
+extern __typeof (xmlPatternStreamable) xmlPatternStreamable __attribute((alias("xmlPatternStreamable__internal_alias")));
+#else
+#ifndef xmlPatternStreamable
+extern __typeof (xmlPatternStreamable) xmlPatternStreamable__internal_alias __attribute((visibility("hidden")));
+#define xmlPatternStreamable xmlPatternStreamable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlPatterncompile
+extern __typeof (xmlPatterncompile) xmlPatterncompile __attribute((alias("xmlPatterncompile__internal_alias")));
+#else
+#ifndef xmlPatterncompile
+extern __typeof (xmlPatterncompile) xmlPatterncompile__internal_alias __attribute((visibility("hidden")));
+#define xmlPatterncompile xmlPatterncompile__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlPedanticParserDefault
+extern __typeof (xmlPedanticParserDefault) xmlPedanticParserDefault __attribute((alias("xmlPedanticParserDefault__internal_alias")));
+#else
+#ifndef xmlPedanticParserDefault
+extern __typeof (xmlPedanticParserDefault) xmlPedanticParserDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlPedanticParserDefault xmlPedanticParserDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlPopInput
+extern __typeof (xmlPopInput) xmlPopInput __attribute((alias("xmlPopInput__internal_alias")));
+#else
+#ifndef xmlPopInput
+extern __typeof (xmlPopInput) xmlPopInput__internal_alias __attribute((visibility("hidden")));
+#define xmlPopInput xmlPopInput__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlPopInputCallbacks
+extern __typeof (xmlPopInputCallbacks) xmlPopInputCallbacks __attribute((alias("xmlPopInputCallbacks__internal_alias")));
+#else
+#ifndef xmlPopInputCallbacks
+extern __typeof (xmlPopInputCallbacks) xmlPopInputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlPopInputCallbacks xmlPopInputCallbacks__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlPreviousElementSibling
+extern __typeof (xmlPreviousElementSibling) xmlPreviousElementSibling __attribute((alias("xmlPreviousElementSibling__internal_alias")));
+#else
+#ifndef xmlPreviousElementSibling
+extern __typeof (xmlPreviousElementSibling) xmlPreviousElementSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlPreviousElementSibling xmlPreviousElementSibling__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlPrintURI
+extern __typeof (xmlPrintURI) xmlPrintURI __attribute((alias("xmlPrintURI__internal_alias")));
+#else
+#ifndef xmlPrintURI
+extern __typeof (xmlPrintURI) xmlPrintURI__internal_alias __attribute((visibility("hidden")));
+#define xmlPrintURI xmlPrintURI__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlPushInput
+extern __typeof (xmlPushInput) xmlPushInput __attribute((alias("xmlPushInput__internal_alias")));
+#else
+#ifndef xmlPushInput
+extern __typeof (xmlPushInput) xmlPushInput__internal_alias __attribute((visibility("hidden")));
+#define xmlPushInput xmlPushInput__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlRMutexLock
+extern __typeof (xmlRMutexLock) xmlRMutexLock __attribute((alias("xmlRMutexLock__internal_alias")));
+#else
+#ifndef xmlRMutexLock
+extern __typeof (xmlRMutexLock) xmlRMutexLock__internal_alias __attribute((visibility("hidden")));
+#define xmlRMutexLock xmlRMutexLock__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlRMutexUnlock
+extern __typeof (xmlRMutexUnlock) xmlRMutexUnlock __attribute((alias("xmlRMutexUnlock__internal_alias")));
+#else
+#ifndef xmlRMutexUnlock
+extern __typeof (xmlRMutexUnlock) xmlRMutexUnlock__internal_alias __attribute((visibility("hidden")));
+#define xmlRMutexUnlock xmlRMutexUnlock__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlReadDoc
+extern __typeof (xmlReadDoc) xmlReadDoc __attribute((alias("xmlReadDoc__internal_alias")));
+#else
+#ifndef xmlReadDoc
+extern __typeof (xmlReadDoc) xmlReadDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlReadDoc xmlReadDoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlReadFd
+extern __typeof (xmlReadFd) xmlReadFd __attribute((alias("xmlReadFd__internal_alias")));
+#else
+#ifndef xmlReadFd
+extern __typeof (xmlReadFd) xmlReadFd__internal_alias __attribute((visibility("hidden")));
+#define xmlReadFd xmlReadFd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlReadFile
+extern __typeof (xmlReadFile) xmlReadFile __attribute((alias("xmlReadFile__internal_alias")));
+#else
+#ifndef xmlReadFile
+extern __typeof (xmlReadFile) xmlReadFile__internal_alias __attribute((visibility("hidden")));
+#define xmlReadFile xmlReadFile__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlReadIO
+extern __typeof (xmlReadIO) xmlReadIO __attribute((alias("xmlReadIO__internal_alias")));
+#else
+#ifndef xmlReadIO
+extern __typeof (xmlReadIO) xmlReadIO__internal_alias __attribute((visibility("hidden")));
+#define xmlReadIO xmlReadIO__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlReadMemory
+extern __typeof (xmlReadMemory) xmlReadMemory __attribute((alias("xmlReadMemory__internal_alias")));
+#else
+#ifndef xmlReadMemory
+extern __typeof (xmlReadMemory) xmlReadMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlReadMemory xmlReadMemory__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderForDoc
+extern __typeof (xmlReaderForDoc) xmlReaderForDoc __attribute((alias("xmlReaderForDoc__internal_alias")));
+#else
+#ifndef xmlReaderForDoc
+extern __typeof (xmlReaderForDoc) xmlReaderForDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderForDoc xmlReaderForDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderForFd
+extern __typeof (xmlReaderForFd) xmlReaderForFd __attribute((alias("xmlReaderForFd__internal_alias")));
+#else
+#ifndef xmlReaderForFd
+extern __typeof (xmlReaderForFd) xmlReaderForFd__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderForFd xmlReaderForFd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderForFile
+extern __typeof (xmlReaderForFile) xmlReaderForFile __attribute((alias("xmlReaderForFile__internal_alias")));
+#else
+#ifndef xmlReaderForFile
+extern __typeof (xmlReaderForFile) xmlReaderForFile__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderForFile xmlReaderForFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderForIO
+extern __typeof (xmlReaderForIO) xmlReaderForIO __attribute((alias("xmlReaderForIO__internal_alias")));
+#else
+#ifndef xmlReaderForIO
+extern __typeof (xmlReaderForIO) xmlReaderForIO__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderForIO xmlReaderForIO__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderForMemory
+extern __typeof (xmlReaderForMemory) xmlReaderForMemory __attribute((alias("xmlReaderForMemory__internal_alias")));
+#else
+#ifndef xmlReaderForMemory
+extern __typeof (xmlReaderForMemory) xmlReaderForMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderForMemory xmlReaderForMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderNewDoc
+extern __typeof (xmlReaderNewDoc) xmlReaderNewDoc __attribute((alias("xmlReaderNewDoc__internal_alias")));
+#else
+#ifndef xmlReaderNewDoc
+extern __typeof (xmlReaderNewDoc) xmlReaderNewDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderNewDoc xmlReaderNewDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderNewFd
+extern __typeof (xmlReaderNewFd) xmlReaderNewFd __attribute((alias("xmlReaderNewFd__internal_alias")));
+#else
+#ifndef xmlReaderNewFd
+extern __typeof (xmlReaderNewFd) xmlReaderNewFd__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderNewFd xmlReaderNewFd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderNewFile
+extern __typeof (xmlReaderNewFile) xmlReaderNewFile __attribute((alias("xmlReaderNewFile__internal_alias")));
+#else
+#ifndef xmlReaderNewFile
+extern __typeof (xmlReaderNewFile) xmlReaderNewFile__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderNewFile xmlReaderNewFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderNewIO
+extern __typeof (xmlReaderNewIO) xmlReaderNewIO __attribute((alias("xmlReaderNewIO__internal_alias")));
+#else
+#ifndef xmlReaderNewIO
+extern __typeof (xmlReaderNewIO) xmlReaderNewIO__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderNewIO xmlReaderNewIO__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderNewMemory
+extern __typeof (xmlReaderNewMemory) xmlReaderNewMemory __attribute((alias("xmlReaderNewMemory__internal_alias")));
+#else
+#ifndef xmlReaderNewMemory
+extern __typeof (xmlReaderNewMemory) xmlReaderNewMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderNewMemory xmlReaderNewMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderNewWalker
+extern __typeof (xmlReaderNewWalker) xmlReaderNewWalker __attribute((alias("xmlReaderNewWalker__internal_alias")));
+#else
+#ifndef xmlReaderNewWalker
+extern __typeof (xmlReaderNewWalker) xmlReaderNewWalker__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderNewWalker xmlReaderNewWalker__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlReaderWalker
+extern __typeof (xmlReaderWalker) xmlReaderWalker __attribute((alias("xmlReaderWalker__internal_alias")));
+#else
+#ifndef xmlReaderWalker
+extern __typeof (xmlReaderWalker) xmlReaderWalker__internal_alias __attribute((visibility("hidden")));
+#define xmlReaderWalker xmlReaderWalker__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlmemory
+#undef xmlReallocLoc
+extern __typeof (xmlReallocLoc) xmlReallocLoc __attribute((alias("xmlReallocLoc__internal_alias")));
+#else
+#ifndef xmlReallocLoc
+extern __typeof (xmlReallocLoc) xmlReallocLoc__internal_alias __attribute((visibility("hidden")));
+#define xmlReallocLoc xmlReallocLoc__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED)
+#ifdef bottom_tree
+#undef xmlReconciliateNs
+extern __typeof (xmlReconciliateNs) xmlReconciliateNs __attribute((alias("xmlReconciliateNs__internal_alias")));
+#else
+#ifndef xmlReconciliateNs
+extern __typeof (xmlReconciliateNs) xmlReconciliateNs__internal_alias __attribute((visibility("hidden")));
+#define xmlReconciliateNs xmlReconciliateNs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlRecoverDoc
+extern __typeof (xmlRecoverDoc) xmlRecoverDoc __attribute((alias("xmlRecoverDoc__internal_alias")));
+#else
+#ifndef xmlRecoverDoc
+extern __typeof (xmlRecoverDoc) xmlRecoverDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlRecoverDoc xmlRecoverDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlRecoverFile
+extern __typeof (xmlRecoverFile) xmlRecoverFile __attribute((alias("xmlRecoverFile__internal_alias")));
+#else
+#ifndef xmlRecoverFile
+extern __typeof (xmlRecoverFile) xmlRecoverFile__internal_alias __attribute((visibility("hidden")));
+#define xmlRecoverFile xmlRecoverFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlRecoverMemory
+extern __typeof (xmlRecoverMemory) xmlRecoverMemory __attribute((alias("xmlRecoverMemory__internal_alias")));
+#else
+#ifndef xmlRecoverMemory
+extern __typeof (xmlRecoverMemory) xmlRecoverMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlRecoverMemory xmlRecoverMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegExecErrInfo
+extern __typeof (xmlRegExecErrInfo) xmlRegExecErrInfo __attribute((alias("xmlRegExecErrInfo__internal_alias")));
+#else
+#ifndef xmlRegExecErrInfo
+extern __typeof (xmlRegExecErrInfo) xmlRegExecErrInfo__internal_alias __attribute((visibility("hidden")));
+#define xmlRegExecErrInfo xmlRegExecErrInfo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegExecNextValues
+extern __typeof (xmlRegExecNextValues) xmlRegExecNextValues __attribute((alias("xmlRegExecNextValues__internal_alias")));
+#else
+#ifndef xmlRegExecNextValues
+extern __typeof (xmlRegExecNextValues) xmlRegExecNextValues__internal_alias __attribute((visibility("hidden")));
+#define xmlRegExecNextValues xmlRegExecNextValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegExecPushString
+extern __typeof (xmlRegExecPushString) xmlRegExecPushString __attribute((alias("xmlRegExecPushString__internal_alias")));
+#else
+#ifndef xmlRegExecPushString
+extern __typeof (xmlRegExecPushString) xmlRegExecPushString__internal_alias __attribute((visibility("hidden")));
+#define xmlRegExecPushString xmlRegExecPushString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegExecPushString2
+extern __typeof (xmlRegExecPushString2) xmlRegExecPushString2 __attribute((alias("xmlRegExecPushString2__internal_alias")));
+#else
+#ifndef xmlRegExecPushString2
+extern __typeof (xmlRegExecPushString2) xmlRegExecPushString2__internal_alias __attribute((visibility("hidden")));
+#define xmlRegExecPushString2 xmlRegExecPushString2__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegFreeExecCtxt
+extern __typeof (xmlRegFreeExecCtxt) xmlRegFreeExecCtxt __attribute((alias("xmlRegFreeExecCtxt__internal_alias")));
+#else
+#ifndef xmlRegFreeExecCtxt
+extern __typeof (xmlRegFreeExecCtxt) xmlRegFreeExecCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRegFreeExecCtxt xmlRegFreeExecCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegFreeRegexp
+extern __typeof (xmlRegFreeRegexp) xmlRegFreeRegexp __attribute((alias("xmlRegFreeRegexp__internal_alias")));
+#else
+#ifndef xmlRegFreeRegexp
+extern __typeof (xmlRegFreeRegexp) xmlRegFreeRegexp__internal_alias __attribute((visibility("hidden")));
+#define xmlRegFreeRegexp xmlRegFreeRegexp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegNewExecCtxt
+extern __typeof (xmlRegNewExecCtxt) xmlRegNewExecCtxt __attribute((alias("xmlRegNewExecCtxt__internal_alias")));
+#else
+#ifndef xmlRegNewExecCtxt
+extern __typeof (xmlRegNewExecCtxt) xmlRegNewExecCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRegNewExecCtxt xmlRegNewExecCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegexpCompile
+extern __typeof (xmlRegexpCompile) xmlRegexpCompile __attribute((alias("xmlRegexpCompile__internal_alias")));
+#else
+#ifndef xmlRegexpCompile
+extern __typeof (xmlRegexpCompile) xmlRegexpCompile__internal_alias __attribute((visibility("hidden")));
+#define xmlRegexpCompile xmlRegexpCompile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegexpExec
+extern __typeof (xmlRegexpExec) xmlRegexpExec __attribute((alias("xmlRegexpExec__internal_alias")));
+#else
+#ifndef xmlRegexpExec
+extern __typeof (xmlRegexpExec) xmlRegexpExec__internal_alias __attribute((visibility("hidden")));
+#define xmlRegexpExec xmlRegexpExec__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegexpIsDeterminist
+extern __typeof (xmlRegexpIsDeterminist) xmlRegexpIsDeterminist __attribute((alias("xmlRegexpIsDeterminist__internal_alias")));
+#else
+#ifndef xmlRegexpIsDeterminist
+extern __typeof (xmlRegexpIsDeterminist) xmlRegexpIsDeterminist__internal_alias __attribute((visibility("hidden")));
+#define xmlRegexpIsDeterminist xmlRegexpIsDeterminist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_xmlregexp
+#undef xmlRegexpPrint
+extern __typeof (xmlRegexpPrint) xmlRegexpPrint __attribute((alias("xmlRegexpPrint__internal_alias")));
+#else
+#ifndef xmlRegexpPrint
+extern __typeof (xmlRegexpPrint) xmlRegexpPrint__internal_alias __attribute((visibility("hidden")));
+#define xmlRegexpPrint xmlRegexpPrint__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_encoding
+#undef xmlRegisterCharEncodingHandler
+extern __typeof (xmlRegisterCharEncodingHandler) xmlRegisterCharEncodingHandler __attribute((alias("xmlRegisterCharEncodingHandler__internal_alias")));
+#else
+#ifndef xmlRegisterCharEncodingHandler
+extern __typeof (xmlRegisterCharEncodingHandler) xmlRegisterCharEncodingHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterCharEncodingHandler xmlRegisterCharEncodingHandler__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlRegisterDefaultInputCallbacks
+extern __typeof (xmlRegisterDefaultInputCallbacks) xmlRegisterDefaultInputCallbacks __attribute((alias("xmlRegisterDefaultInputCallbacks__internal_alias")));
+#else
+#ifndef xmlRegisterDefaultInputCallbacks
+extern __typeof (xmlRegisterDefaultInputCallbacks) xmlRegisterDefaultInputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterDefaultInputCallbacks xmlRegisterDefaultInputCallbacks__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlRegisterDefaultOutputCallbacks
+extern __typeof (xmlRegisterDefaultOutputCallbacks) xmlRegisterDefaultOutputCallbacks __attribute((alias("xmlRegisterDefaultOutputCallbacks__internal_alias")));
+#else
+#ifndef xmlRegisterDefaultOutputCallbacks
+extern __typeof (xmlRegisterDefaultOutputCallbacks) xmlRegisterDefaultOutputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefaultOutputCallbacks__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_HTTP_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlRegisterHTTPPostCallbacks
+extern __typeof (xmlRegisterHTTPPostCallbacks) xmlRegisterHTTPPostCallbacks __attribute((alias("xmlRegisterHTTPPostCallbacks__internal_alias")));
+#else
+#ifndef xmlRegisterHTTPPostCallbacks
+extern __typeof (xmlRegisterHTTPPostCallbacks) xmlRegisterHTTPPostCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterHTTPPostCallbacks xmlRegisterHTTPPostCallbacks__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlRegisterInputCallbacks
+extern __typeof (xmlRegisterInputCallbacks) xmlRegisterInputCallbacks __attribute((alias("xmlRegisterInputCallbacks__internal_alias")));
+#else
+#ifndef xmlRegisterInputCallbacks
+extern __typeof (xmlRegisterInputCallbacks) xmlRegisterInputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterInputCallbacks xmlRegisterInputCallbacks__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlRegisterNodeDefault
+extern __typeof (xmlRegisterNodeDefault) xmlRegisterNodeDefault __attribute((alias("xmlRegisterNodeDefault__internal_alias")));
+#else
+#ifndef xmlRegisterNodeDefault
+extern __typeof (xmlRegisterNodeDefault) xmlRegisterNodeDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterNodeDefault xmlRegisterNodeDefault__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlRegisterOutputCallbacks
+extern __typeof (xmlRegisterOutputCallbacks) xmlRegisterOutputCallbacks __attribute((alias("xmlRegisterOutputCallbacks__internal_alias")));
+#else
+#ifndef xmlRegisterOutputCallbacks
+extern __typeof (xmlRegisterOutputCallbacks) xmlRegisterOutputCallbacks__internal_alias __attribute((visibility("hidden")));
+#define xmlRegisterOutputCallbacks xmlRegisterOutputCallbacks__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGCleanupTypes
+extern __typeof (xmlRelaxNGCleanupTypes) xmlRelaxNGCleanupTypes __attribute((alias("xmlRelaxNGCleanupTypes__internal_alias")));
+#else
+#ifndef xmlRelaxNGCleanupTypes
+extern __typeof (xmlRelaxNGCleanupTypes) xmlRelaxNGCleanupTypes__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGCleanupTypes xmlRelaxNGCleanupTypes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGDump
+extern __typeof (xmlRelaxNGDump) xmlRelaxNGDump __attribute((alias("xmlRelaxNGDump__internal_alias")));
+#else
+#ifndef xmlRelaxNGDump
+extern __typeof (xmlRelaxNGDump) xmlRelaxNGDump__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGDump xmlRelaxNGDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGDumpTree
+extern __typeof (xmlRelaxNGDumpTree) xmlRelaxNGDumpTree __attribute((alias("xmlRelaxNGDumpTree__internal_alias")));
+#else
+#ifndef xmlRelaxNGDumpTree
+extern __typeof (xmlRelaxNGDumpTree) xmlRelaxNGDumpTree__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGDumpTree xmlRelaxNGDumpTree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGFree
+extern __typeof (xmlRelaxNGFree) xmlRelaxNGFree __attribute((alias("xmlRelaxNGFree__internal_alias")));
+#else
+#ifndef xmlRelaxNGFree
+extern __typeof (xmlRelaxNGFree) xmlRelaxNGFree__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGFree xmlRelaxNGFree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGFreeParserCtxt
+extern __typeof (xmlRelaxNGFreeParserCtxt) xmlRelaxNGFreeParserCtxt __attribute((alias("xmlRelaxNGFreeParserCtxt__internal_alias")));
+#else
+#ifndef xmlRelaxNGFreeParserCtxt
+extern __typeof (xmlRelaxNGFreeParserCtxt) xmlRelaxNGFreeParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGFreeParserCtxt xmlRelaxNGFreeParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGFreeValidCtxt
+extern __typeof (xmlRelaxNGFreeValidCtxt) xmlRelaxNGFreeValidCtxt __attribute((alias("xmlRelaxNGFreeValidCtxt__internal_alias")));
+#else
+#ifndef xmlRelaxNGFreeValidCtxt
+extern __typeof (xmlRelaxNGFreeValidCtxt) xmlRelaxNGFreeValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGFreeValidCtxt xmlRelaxNGFreeValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGGetParserErrors
+extern __typeof (xmlRelaxNGGetParserErrors) xmlRelaxNGGetParserErrors __attribute((alias("xmlRelaxNGGetParserErrors__internal_alias")));
+#else
+#ifndef xmlRelaxNGGetParserErrors
+extern __typeof (xmlRelaxNGGetParserErrors) xmlRelaxNGGetParserErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGGetParserErrors xmlRelaxNGGetParserErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGGetValidErrors
+extern __typeof (xmlRelaxNGGetValidErrors) xmlRelaxNGGetValidErrors __attribute((alias("xmlRelaxNGGetValidErrors__internal_alias")));
+#else
+#ifndef xmlRelaxNGGetValidErrors
+extern __typeof (xmlRelaxNGGetValidErrors) xmlRelaxNGGetValidErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGGetValidErrors xmlRelaxNGGetValidErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGInitTypes
+extern __typeof (xmlRelaxNGInitTypes) xmlRelaxNGInitTypes __attribute((alias("xmlRelaxNGInitTypes__internal_alias")));
+#else
+#ifndef xmlRelaxNGInitTypes
+extern __typeof (xmlRelaxNGInitTypes) xmlRelaxNGInitTypes__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGInitTypes xmlRelaxNGInitTypes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGNewDocParserCtxt
+extern __typeof (xmlRelaxNGNewDocParserCtxt) xmlRelaxNGNewDocParserCtxt __attribute((alias("xmlRelaxNGNewDocParserCtxt__internal_alias")));
+#else
+#ifndef xmlRelaxNGNewDocParserCtxt
+extern __typeof (xmlRelaxNGNewDocParserCtxt) xmlRelaxNGNewDocParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGNewDocParserCtxt xmlRelaxNGNewDocParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGNewMemParserCtxt
+extern __typeof (xmlRelaxNGNewMemParserCtxt) xmlRelaxNGNewMemParserCtxt __attribute((alias("xmlRelaxNGNewMemParserCtxt__internal_alias")));
+#else
+#ifndef xmlRelaxNGNewMemParserCtxt
+extern __typeof (xmlRelaxNGNewMemParserCtxt) xmlRelaxNGNewMemParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGNewMemParserCtxt xmlRelaxNGNewMemParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGNewParserCtxt
+extern __typeof (xmlRelaxNGNewParserCtxt) xmlRelaxNGNewParserCtxt __attribute((alias("xmlRelaxNGNewParserCtxt__internal_alias")));
+#else
+#ifndef xmlRelaxNGNewParserCtxt
+extern __typeof (xmlRelaxNGNewParserCtxt) xmlRelaxNGNewParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGNewParserCtxt xmlRelaxNGNewParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGNewValidCtxt
+extern __typeof (xmlRelaxNGNewValidCtxt) xmlRelaxNGNewValidCtxt __attribute((alias("xmlRelaxNGNewValidCtxt__internal_alias")));
+#else
+#ifndef xmlRelaxNGNewValidCtxt
+extern __typeof (xmlRelaxNGNewValidCtxt) xmlRelaxNGNewValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGNewValidCtxt xmlRelaxNGNewValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGParse
+extern __typeof (xmlRelaxNGParse) xmlRelaxNGParse __attribute((alias("xmlRelaxNGParse__internal_alias")));
+#else
+#ifndef xmlRelaxNGParse
+extern __typeof (xmlRelaxNGParse) xmlRelaxNGParse__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGParse xmlRelaxNGParse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGSetParserErrors
+extern __typeof (xmlRelaxNGSetParserErrors) xmlRelaxNGSetParserErrors __attribute((alias("xmlRelaxNGSetParserErrors__internal_alias")));
+#else
+#ifndef xmlRelaxNGSetParserErrors
+extern __typeof (xmlRelaxNGSetParserErrors) xmlRelaxNGSetParserErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGSetParserErrors xmlRelaxNGSetParserErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGSetParserStructuredErrors
+extern __typeof (xmlRelaxNGSetParserStructuredErrors) xmlRelaxNGSetParserStructuredErrors __attribute((alias("xmlRelaxNGSetParserStructuredErrors__internal_alias")));
+#else
+#ifndef xmlRelaxNGSetParserStructuredErrors
+extern __typeof (xmlRelaxNGSetParserStructuredErrors) xmlRelaxNGSetParserStructuredErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGSetParserStructuredErrors xmlRelaxNGSetParserStructuredErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGSetValidErrors
+extern __typeof (xmlRelaxNGSetValidErrors) xmlRelaxNGSetValidErrors __attribute((alias("xmlRelaxNGSetValidErrors__internal_alias")));
+#else
+#ifndef xmlRelaxNGSetValidErrors
+extern __typeof (xmlRelaxNGSetValidErrors) xmlRelaxNGSetValidErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGSetValidErrors xmlRelaxNGSetValidErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGSetValidStructuredErrors
+extern __typeof (xmlRelaxNGSetValidStructuredErrors) xmlRelaxNGSetValidStructuredErrors __attribute((alias("xmlRelaxNGSetValidStructuredErrors__internal_alias")));
+#else
+#ifndef xmlRelaxNGSetValidStructuredErrors
+extern __typeof (xmlRelaxNGSetValidStructuredErrors) xmlRelaxNGSetValidStructuredErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGSetValidStructuredErrors xmlRelaxNGSetValidStructuredErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGValidateDoc
+extern __typeof (xmlRelaxNGValidateDoc) xmlRelaxNGValidateDoc __attribute((alias("xmlRelaxNGValidateDoc__internal_alias")));
+#else
+#ifndef xmlRelaxNGValidateDoc
+extern __typeof (xmlRelaxNGValidateDoc) xmlRelaxNGValidateDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGValidateDoc xmlRelaxNGValidateDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGValidateFullElement
+extern __typeof (xmlRelaxNGValidateFullElement) xmlRelaxNGValidateFullElement __attribute((alias("xmlRelaxNGValidateFullElement__internal_alias")));
+#else
+#ifndef xmlRelaxNGValidateFullElement
+extern __typeof (xmlRelaxNGValidateFullElement) xmlRelaxNGValidateFullElement__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGValidateFullElement xmlRelaxNGValidateFullElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGValidatePopElement
+extern __typeof (xmlRelaxNGValidatePopElement) xmlRelaxNGValidatePopElement __attribute((alias("xmlRelaxNGValidatePopElement__internal_alias")));
+#else
+#ifndef xmlRelaxNGValidatePopElement
+extern __typeof (xmlRelaxNGValidatePopElement) xmlRelaxNGValidatePopElement__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGValidatePopElement xmlRelaxNGValidatePopElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGValidatePushCData
+extern __typeof (xmlRelaxNGValidatePushCData) xmlRelaxNGValidatePushCData __attribute((alias("xmlRelaxNGValidatePushCData__internal_alias")));
+#else
+#ifndef xmlRelaxNGValidatePushCData
+extern __typeof (xmlRelaxNGValidatePushCData) xmlRelaxNGValidatePushCData__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGValidatePushCData xmlRelaxNGValidatePushCData__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxNGValidatePushElement
+extern __typeof (xmlRelaxNGValidatePushElement) xmlRelaxNGValidatePushElement __attribute((alias("xmlRelaxNGValidatePushElement__internal_alias")));
+#else
+#ifndef xmlRelaxNGValidatePushElement
+extern __typeof (xmlRelaxNGValidatePushElement) xmlRelaxNGValidatePushElement__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxNGValidatePushElement xmlRelaxNGValidatePushElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_relaxng
+#undef xmlRelaxParserSetFlag
+extern __typeof (xmlRelaxParserSetFlag) xmlRelaxParserSetFlag __attribute((alias("xmlRelaxParserSetFlag__internal_alias")));
+#else
+#ifndef xmlRelaxParserSetFlag
+extern __typeof (xmlRelaxParserSetFlag) xmlRelaxParserSetFlag__internal_alias __attribute((visibility("hidden")));
+#define xmlRelaxParserSetFlag xmlRelaxParserSetFlag__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlRemoveID
+extern __typeof (xmlRemoveID) xmlRemoveID __attribute((alias("xmlRemoveID__internal_alias")));
+#else
+#ifndef xmlRemoveID
+extern __typeof (xmlRemoveID) xmlRemoveID__internal_alias __attribute((visibility("hidden")));
+#define xmlRemoveID xmlRemoveID__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlRemoveProp
+extern __typeof (xmlRemoveProp) xmlRemoveProp __attribute((alias("xmlRemoveProp__internal_alias")));
+#else
+#ifndef xmlRemoveProp
+extern __typeof (xmlRemoveProp) xmlRemoveProp__internal_alias __attribute((visibility("hidden")));
+#define xmlRemoveProp xmlRemoveProp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlRemoveRef
+extern __typeof (xmlRemoveRef) xmlRemoveRef __attribute((alias("xmlRemoveRef__internal_alias")));
+#else
+#ifndef xmlRemoveRef
+extern __typeof (xmlRemoveRef) xmlRemoveRef__internal_alias __attribute((visibility("hidden")));
+#define xmlRemoveRef xmlRemoveRef__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_tree
+#undef xmlReplaceNode
+extern __typeof (xmlReplaceNode) xmlReplaceNode __attribute((alias("xmlReplaceNode__internal_alias")));
+#else
+#ifndef xmlReplaceNode
+extern __typeof (xmlReplaceNode) xmlReplaceNode__internal_alias __attribute((visibility("hidden")));
+#define xmlReplaceNode xmlReplaceNode__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlResetError
+extern __typeof (xmlResetError) xmlResetError __attribute((alias("xmlResetError__internal_alias")));
+#else
+#ifndef xmlResetError
+extern __typeof (xmlResetError) xmlResetError__internal_alias __attribute((visibility("hidden")));
+#define xmlResetError xmlResetError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlResetLastError
+extern __typeof (xmlResetLastError) xmlResetLastError __attribute((alias("xmlResetLastError__internal_alias")));
+#else
+#ifndef xmlResetLastError
+extern __typeof (xmlResetLastError) xmlResetLastError__internal_alias __attribute((visibility("hidden")));
+#define xmlResetLastError xmlResetLastError__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2AttributeDecl
+extern __typeof (xmlSAX2AttributeDecl) xmlSAX2AttributeDecl __attribute((alias("xmlSAX2AttributeDecl__internal_alias")));
+#else
+#ifndef xmlSAX2AttributeDecl
+extern __typeof (xmlSAX2AttributeDecl) xmlSAX2AttributeDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2AttributeDecl xmlSAX2AttributeDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2CDataBlock
+extern __typeof (xmlSAX2CDataBlock) xmlSAX2CDataBlock __attribute((alias("xmlSAX2CDataBlock__internal_alias")));
+#else
+#ifndef xmlSAX2CDataBlock
+extern __typeof (xmlSAX2CDataBlock) xmlSAX2CDataBlock__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2CDataBlock xmlSAX2CDataBlock__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2Characters
+extern __typeof (xmlSAX2Characters) xmlSAX2Characters __attribute((alias("xmlSAX2Characters__internal_alias")));
+#else
+#ifndef xmlSAX2Characters
+extern __typeof (xmlSAX2Characters) xmlSAX2Characters__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2Characters xmlSAX2Characters__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2Comment
+extern __typeof (xmlSAX2Comment) xmlSAX2Comment __attribute((alias("xmlSAX2Comment__internal_alias")));
+#else
+#ifndef xmlSAX2Comment
+extern __typeof (xmlSAX2Comment) xmlSAX2Comment__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2Comment xmlSAX2Comment__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2ElementDecl
+extern __typeof (xmlSAX2ElementDecl) xmlSAX2ElementDecl __attribute((alias("xmlSAX2ElementDecl__internal_alias")));
+#else
+#ifndef xmlSAX2ElementDecl
+extern __typeof (xmlSAX2ElementDecl) xmlSAX2ElementDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2ElementDecl xmlSAX2ElementDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2EndDocument
+extern __typeof (xmlSAX2EndDocument) xmlSAX2EndDocument __attribute((alias("xmlSAX2EndDocument__internal_alias")));
+#else
+#ifndef xmlSAX2EndDocument
+extern __typeof (xmlSAX2EndDocument) xmlSAX2EndDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2EndDocument xmlSAX2EndDocument__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_SAX2
+#undef xmlSAX2EndElement
+extern __typeof (xmlSAX2EndElement) xmlSAX2EndElement __attribute((alias("xmlSAX2EndElement__internal_alias")));
+#else
+#ifndef xmlSAX2EndElement
+extern __typeof (xmlSAX2EndElement) xmlSAX2EndElement__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2EndElement xmlSAX2EndElement__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2EndElementNs
+extern __typeof (xmlSAX2EndElementNs) xmlSAX2EndElementNs __attribute((alias("xmlSAX2EndElementNs__internal_alias")));
+#else
+#ifndef xmlSAX2EndElementNs
+extern __typeof (xmlSAX2EndElementNs) xmlSAX2EndElementNs__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2EndElementNs xmlSAX2EndElementNs__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2EntityDecl
+extern __typeof (xmlSAX2EntityDecl) xmlSAX2EntityDecl __attribute((alias("xmlSAX2EntityDecl__internal_alias")));
+#else
+#ifndef xmlSAX2EntityDecl
+extern __typeof (xmlSAX2EntityDecl) xmlSAX2EntityDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2EntityDecl xmlSAX2EntityDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2ExternalSubset
+extern __typeof (xmlSAX2ExternalSubset) xmlSAX2ExternalSubset __attribute((alias("xmlSAX2ExternalSubset__internal_alias")));
+#else
+#ifndef xmlSAX2ExternalSubset
+extern __typeof (xmlSAX2ExternalSubset) xmlSAX2ExternalSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2ExternalSubset xmlSAX2ExternalSubset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2GetColumnNumber
+extern __typeof (xmlSAX2GetColumnNumber) xmlSAX2GetColumnNumber __attribute((alias("xmlSAX2GetColumnNumber__internal_alias")));
+#else
+#ifndef xmlSAX2GetColumnNumber
+extern __typeof (xmlSAX2GetColumnNumber) xmlSAX2GetColumnNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2GetColumnNumber xmlSAX2GetColumnNumber__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2GetEntity
+extern __typeof (xmlSAX2GetEntity) xmlSAX2GetEntity __attribute((alias("xmlSAX2GetEntity__internal_alias")));
+#else
+#ifndef xmlSAX2GetEntity
+extern __typeof (xmlSAX2GetEntity) xmlSAX2GetEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2GetEntity xmlSAX2GetEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2GetLineNumber
+extern __typeof (xmlSAX2GetLineNumber) xmlSAX2GetLineNumber __attribute((alias("xmlSAX2GetLineNumber__internal_alias")));
+#else
+#ifndef xmlSAX2GetLineNumber
+extern __typeof (xmlSAX2GetLineNumber) xmlSAX2GetLineNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2GetLineNumber xmlSAX2GetLineNumber__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2GetParameterEntity
+extern __typeof (xmlSAX2GetParameterEntity) xmlSAX2GetParameterEntity __attribute((alias("xmlSAX2GetParameterEntity__internal_alias")));
+#else
+#ifndef xmlSAX2GetParameterEntity
+extern __typeof (xmlSAX2GetParameterEntity) xmlSAX2GetParameterEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2GetParameterEntity xmlSAX2GetParameterEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2GetPublicId
+extern __typeof (xmlSAX2GetPublicId) xmlSAX2GetPublicId __attribute((alias("xmlSAX2GetPublicId__internal_alias")));
+#else
+#ifndef xmlSAX2GetPublicId
+extern __typeof (xmlSAX2GetPublicId) xmlSAX2GetPublicId__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2GetPublicId xmlSAX2GetPublicId__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2GetSystemId
+extern __typeof (xmlSAX2GetSystemId) xmlSAX2GetSystemId __attribute((alias("xmlSAX2GetSystemId__internal_alias")));
+#else
+#ifndef xmlSAX2GetSystemId
+extern __typeof (xmlSAX2GetSystemId) xmlSAX2GetSystemId__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2GetSystemId xmlSAX2GetSystemId__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2HasExternalSubset
+extern __typeof (xmlSAX2HasExternalSubset) xmlSAX2HasExternalSubset __attribute((alias("xmlSAX2HasExternalSubset__internal_alias")));
+#else
+#ifndef xmlSAX2HasExternalSubset
+extern __typeof (xmlSAX2HasExternalSubset) xmlSAX2HasExternalSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2HasExternalSubset xmlSAX2HasExternalSubset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2HasInternalSubset
+extern __typeof (xmlSAX2HasInternalSubset) xmlSAX2HasInternalSubset __attribute((alias("xmlSAX2HasInternalSubset__internal_alias")));
+#else
+#ifndef xmlSAX2HasInternalSubset
+extern __typeof (xmlSAX2HasInternalSubset) xmlSAX2HasInternalSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2HasInternalSubset xmlSAX2HasInternalSubset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2IgnorableWhitespace
+extern __typeof (xmlSAX2IgnorableWhitespace) xmlSAX2IgnorableWhitespace __attribute((alias("xmlSAX2IgnorableWhitespace__internal_alias")));
+#else
+#ifndef xmlSAX2IgnorableWhitespace
+extern __typeof (xmlSAX2IgnorableWhitespace) xmlSAX2IgnorableWhitespace__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2IgnorableWhitespace xmlSAX2IgnorableWhitespace__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2InitDefaultSAXHandler
+extern __typeof (xmlSAX2InitDefaultSAXHandler) xmlSAX2InitDefaultSAXHandler __attribute((alias("xmlSAX2InitDefaultSAXHandler__internal_alias")));
+#else
+#ifndef xmlSAX2InitDefaultSAXHandler
+extern __typeof (xmlSAX2InitDefaultSAXHandler) xmlSAX2InitDefaultSAXHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2InitDefaultSAXHandler xmlSAX2InitDefaultSAXHandler__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_DOCB_ENABLED)
+#ifdef bottom_SAX2
+#undef xmlSAX2InitDocbDefaultSAXHandler
+extern __typeof (xmlSAX2InitDocbDefaultSAXHandler) xmlSAX2InitDocbDefaultSAXHandler __attribute((alias("xmlSAX2InitDocbDefaultSAXHandler__internal_alias")));
+#else
+#ifndef xmlSAX2InitDocbDefaultSAXHandler
+extern __typeof (xmlSAX2InitDocbDefaultSAXHandler) xmlSAX2InitDocbDefaultSAXHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2InitDocbDefaultSAXHandler xmlSAX2InitDocbDefaultSAXHandler__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_SAX2
+#undef xmlSAX2InitHtmlDefaultSAXHandler
+extern __typeof (xmlSAX2InitHtmlDefaultSAXHandler) xmlSAX2InitHtmlDefaultSAXHandler __attribute((alias("xmlSAX2InitHtmlDefaultSAXHandler__internal_alias")));
+#else
+#ifndef xmlSAX2InitHtmlDefaultSAXHandler
+extern __typeof (xmlSAX2InitHtmlDefaultSAXHandler) xmlSAX2InitHtmlDefaultSAXHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2InitHtmlDefaultSAXHandler xmlSAX2InitHtmlDefaultSAXHandler__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2InternalSubset
+extern __typeof (xmlSAX2InternalSubset) xmlSAX2InternalSubset __attribute((alias("xmlSAX2InternalSubset__internal_alias")));
+#else
+#ifndef xmlSAX2InternalSubset
+extern __typeof (xmlSAX2InternalSubset) xmlSAX2InternalSubset__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2InternalSubset xmlSAX2InternalSubset__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2IsStandalone
+extern __typeof (xmlSAX2IsStandalone) xmlSAX2IsStandalone __attribute((alias("xmlSAX2IsStandalone__internal_alias")));
+#else
+#ifndef xmlSAX2IsStandalone
+extern __typeof (xmlSAX2IsStandalone) xmlSAX2IsStandalone__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2IsStandalone xmlSAX2IsStandalone__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2NotationDecl
+extern __typeof (xmlSAX2NotationDecl) xmlSAX2NotationDecl __attribute((alias("xmlSAX2NotationDecl__internal_alias")));
+#else
+#ifndef xmlSAX2NotationDecl
+extern __typeof (xmlSAX2NotationDecl) xmlSAX2NotationDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2NotationDecl xmlSAX2NotationDecl__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2ProcessingInstruction
+extern __typeof (xmlSAX2ProcessingInstruction) xmlSAX2ProcessingInstruction __attribute((alias("xmlSAX2ProcessingInstruction__internal_alias")));
+#else
+#ifndef xmlSAX2ProcessingInstruction
+extern __typeof (xmlSAX2ProcessingInstruction) xmlSAX2ProcessingInstruction__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2ProcessingInstruction xmlSAX2ProcessingInstruction__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2Reference
+extern __typeof (xmlSAX2Reference) xmlSAX2Reference __attribute((alias("xmlSAX2Reference__internal_alias")));
+#else
+#ifndef xmlSAX2Reference
+extern __typeof (xmlSAX2Reference) xmlSAX2Reference__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2Reference xmlSAX2Reference__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2ResolveEntity
+extern __typeof (xmlSAX2ResolveEntity) xmlSAX2ResolveEntity __attribute((alias("xmlSAX2ResolveEntity__internal_alias")));
+#else
+#ifndef xmlSAX2ResolveEntity
+extern __typeof (xmlSAX2ResolveEntity) xmlSAX2ResolveEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2ResolveEntity xmlSAX2ResolveEntity__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2SetDocumentLocator
+extern __typeof (xmlSAX2SetDocumentLocator) xmlSAX2SetDocumentLocator __attribute((alias("xmlSAX2SetDocumentLocator__internal_alias")));
+#else
+#ifndef xmlSAX2SetDocumentLocator
+extern __typeof (xmlSAX2SetDocumentLocator) xmlSAX2SetDocumentLocator__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2SetDocumentLocator xmlSAX2SetDocumentLocator__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2StartDocument
+extern __typeof (xmlSAX2StartDocument) xmlSAX2StartDocument __attribute((alias("xmlSAX2StartDocument__internal_alias")));
+#else
+#ifndef xmlSAX2StartDocument
+extern __typeof (xmlSAX2StartDocument) xmlSAX2StartDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2StartDocument xmlSAX2StartDocument__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_SAX2
+#undef xmlSAX2StartElement
+extern __typeof (xmlSAX2StartElement) xmlSAX2StartElement __attribute((alias("xmlSAX2StartElement__internal_alias")));
+#else
+#ifndef xmlSAX2StartElement
+extern __typeof (xmlSAX2StartElement) xmlSAX2StartElement__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2StartElement xmlSAX2StartElement__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2StartElementNs
+extern __typeof (xmlSAX2StartElementNs) xmlSAX2StartElementNs __attribute((alias("xmlSAX2StartElementNs__internal_alias")));
+#else
+#ifndef xmlSAX2StartElementNs
+extern __typeof (xmlSAX2StartElementNs) xmlSAX2StartElementNs__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2StartElementNs xmlSAX2StartElementNs__internal_alias
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAX2UnparsedEntityDecl
+extern __typeof (xmlSAX2UnparsedEntityDecl) xmlSAX2UnparsedEntityDecl __attribute((alias("xmlSAX2UnparsedEntityDecl__internal_alias")));
+#else
+#ifndef xmlSAX2UnparsedEntityDecl
+extern __typeof (xmlSAX2UnparsedEntityDecl) xmlSAX2UnparsedEntityDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlSAX2UnparsedEntityDecl xmlSAX2UnparsedEntityDecl__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_SAX2
+#undef xmlSAXDefaultVersion
+extern __typeof (xmlSAXDefaultVersion) xmlSAXDefaultVersion __attribute((alias("xmlSAXDefaultVersion__internal_alias")));
+#else
+#ifndef xmlSAXDefaultVersion
+extern __typeof (xmlSAXDefaultVersion) xmlSAXDefaultVersion__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXDefaultVersion xmlSAXDefaultVersion__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseDTD
+extern __typeof (xmlSAXParseDTD) xmlSAXParseDTD __attribute((alias("xmlSAXParseDTD__internal_alias")));
+#else
+#ifndef xmlSAXParseDTD
+extern __typeof (xmlSAXParseDTD) xmlSAXParseDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseDTD xmlSAXParseDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseDoc
+extern __typeof (xmlSAXParseDoc) xmlSAXParseDoc __attribute((alias("xmlSAXParseDoc__internal_alias")));
+#else
+#ifndef xmlSAXParseDoc
+extern __typeof (xmlSAXParseDoc) xmlSAXParseDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseDoc xmlSAXParseDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseEntity
+extern __typeof (xmlSAXParseEntity) xmlSAXParseEntity __attribute((alias("xmlSAXParseEntity__internal_alias")));
+#else
+#ifndef xmlSAXParseEntity
+extern __typeof (xmlSAXParseEntity) xmlSAXParseEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseEntity xmlSAXParseEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseFile
+extern __typeof (xmlSAXParseFile) xmlSAXParseFile __attribute((alias("xmlSAXParseFile__internal_alias")));
+#else
+#ifndef xmlSAXParseFile
+extern __typeof (xmlSAXParseFile) xmlSAXParseFile__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseFile xmlSAXParseFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseFileWithData
+extern __typeof (xmlSAXParseFileWithData) xmlSAXParseFileWithData __attribute((alias("xmlSAXParseFileWithData__internal_alias")));
+#else
+#ifndef xmlSAXParseFileWithData
+extern __typeof (xmlSAXParseFileWithData) xmlSAXParseFileWithData__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseFileWithData xmlSAXParseFileWithData__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseMemory
+extern __typeof (xmlSAXParseMemory) xmlSAXParseMemory __attribute((alias("xmlSAXParseMemory__internal_alias")));
+#else
+#ifndef xmlSAXParseMemory
+extern __typeof (xmlSAXParseMemory) xmlSAXParseMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseMemory xmlSAXParseMemory__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXParseMemoryWithData
+extern __typeof (xmlSAXParseMemoryWithData) xmlSAXParseMemoryWithData __attribute((alias("xmlSAXParseMemoryWithData__internal_alias")));
+#else
+#ifndef xmlSAXParseMemoryWithData
+extern __typeof (xmlSAXParseMemoryWithData) xmlSAXParseMemoryWithData__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXParseMemoryWithData xmlSAXParseMemoryWithData__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXUserParseFile
+extern __typeof (xmlSAXUserParseFile) xmlSAXUserParseFile __attribute((alias("xmlSAXUserParseFile__internal_alias")));
+#else
+#ifndef xmlSAXUserParseFile
+extern __typeof (xmlSAXUserParseFile) xmlSAXUserParseFile__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXUserParseFile xmlSAXUserParseFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSAXUserParseMemory
+extern __typeof (xmlSAXUserParseMemory) xmlSAXUserParseMemory __attribute((alias("xmlSAXUserParseMemory__internal_alias")));
+#else
+#ifndef xmlSAXUserParseMemory
+extern __typeof (xmlSAXUserParseMemory) xmlSAXUserParseMemory__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXUserParseMemory xmlSAXUserParseMemory__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_SAX2
+#undef xmlSAXVersion
+extern __typeof (xmlSAXVersion) xmlSAXVersion __attribute((alias("xmlSAXVersion__internal_alias")));
+#else
+#ifndef xmlSAXVersion
+extern __typeof (xmlSAXVersion) xmlSAXVersion__internal_alias __attribute((visibility("hidden")));
+#define xmlSAXVersion xmlSAXVersion__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveClose
+extern __typeof (xmlSaveClose) xmlSaveClose __attribute((alias("xmlSaveClose__internal_alias")));
+#else
+#ifndef xmlSaveClose
+extern __typeof (xmlSaveClose) xmlSaveClose__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveClose xmlSaveClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveDoc
+extern __typeof (xmlSaveDoc) xmlSaveDoc __attribute((alias("xmlSaveDoc__internal_alias")));
+#else
+#ifndef xmlSaveDoc
+extern __typeof (xmlSaveDoc) xmlSaveDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveDoc xmlSaveDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFile
+extern __typeof (xmlSaveFile) xmlSaveFile __attribute((alias("xmlSaveFile__internal_alias")));
+#else
+#ifndef xmlSaveFile
+extern __typeof (xmlSaveFile) xmlSaveFile__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFile xmlSaveFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFileEnc
+extern __typeof (xmlSaveFileEnc) xmlSaveFileEnc __attribute((alias("xmlSaveFileEnc__internal_alias")));
+#else
+#ifndef xmlSaveFileEnc
+extern __typeof (xmlSaveFileEnc) xmlSaveFileEnc__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFileEnc xmlSaveFileEnc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFileTo
+extern __typeof (xmlSaveFileTo) xmlSaveFileTo __attribute((alias("xmlSaveFileTo__internal_alias")));
+#else
+#ifndef xmlSaveFileTo
+extern __typeof (xmlSaveFileTo) xmlSaveFileTo__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFileTo xmlSaveFileTo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFlush
+extern __typeof (xmlSaveFlush) xmlSaveFlush __attribute((alias("xmlSaveFlush__internal_alias")));
+#else
+#ifndef xmlSaveFlush
+extern __typeof (xmlSaveFlush) xmlSaveFlush__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFlush xmlSaveFlush__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFormatFile
+extern __typeof (xmlSaveFormatFile) xmlSaveFormatFile __attribute((alias("xmlSaveFormatFile__internal_alias")));
+#else
+#ifndef xmlSaveFormatFile
+extern __typeof (xmlSaveFormatFile) xmlSaveFormatFile__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFormatFile xmlSaveFormatFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFormatFileEnc
+extern __typeof (xmlSaveFormatFileEnc) xmlSaveFormatFileEnc __attribute((alias("xmlSaveFormatFileEnc__internal_alias")));
+#else
+#ifndef xmlSaveFormatFileEnc
+extern __typeof (xmlSaveFormatFileEnc) xmlSaveFormatFileEnc__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFormatFileEnc xmlSaveFormatFileEnc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveFormatFileTo
+extern __typeof (xmlSaveFormatFileTo) xmlSaveFormatFileTo __attribute((alias("xmlSaveFormatFileTo__internal_alias")));
+#else
+#ifndef xmlSaveFormatFileTo
+extern __typeof (xmlSaveFormatFileTo) xmlSaveFormatFileTo__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveFormatFileTo xmlSaveFormatFileTo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveSetAttrEscape
+extern __typeof (xmlSaveSetAttrEscape) xmlSaveSetAttrEscape __attribute((alias("xmlSaveSetAttrEscape__internal_alias")));
+#else
+#ifndef xmlSaveSetAttrEscape
+extern __typeof (xmlSaveSetAttrEscape) xmlSaveSetAttrEscape__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveSetAttrEscape xmlSaveSetAttrEscape__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveSetEscape
+extern __typeof (xmlSaveSetEscape) xmlSaveSetEscape __attribute((alias("xmlSaveSetEscape__internal_alias")));
+#else
+#ifndef xmlSaveSetEscape
+extern __typeof (xmlSaveSetEscape) xmlSaveSetEscape__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveSetEscape xmlSaveSetEscape__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveToBuffer
+extern __typeof (xmlSaveToBuffer) xmlSaveToBuffer __attribute((alias("xmlSaveToBuffer__internal_alias")));
+#else
+#ifndef xmlSaveToBuffer
+extern __typeof (xmlSaveToBuffer) xmlSaveToBuffer__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveToBuffer xmlSaveToBuffer__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveToFd
+extern __typeof (xmlSaveToFd) xmlSaveToFd __attribute((alias("xmlSaveToFd__internal_alias")));
+#else
+#ifndef xmlSaveToFd
+extern __typeof (xmlSaveToFd) xmlSaveToFd__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveToFd xmlSaveToFd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveToFilename
+extern __typeof (xmlSaveToFilename) xmlSaveToFilename __attribute((alias("xmlSaveToFilename__internal_alias")));
+#else
+#ifndef xmlSaveToFilename
+extern __typeof (xmlSaveToFilename) xmlSaveToFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveToFilename xmlSaveToFilename__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveToIO
+extern __typeof (xmlSaveToIO) xmlSaveToIO __attribute((alias("xmlSaveToIO__internal_alias")));
+#else
+#ifndef xmlSaveToIO
+extern __typeof (xmlSaveToIO) xmlSaveToIO__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveToIO xmlSaveToIO__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlSaveTree
+extern __typeof (xmlSaveTree) xmlSaveTree __attribute((alias("xmlSaveTree__internal_alias")));
+#else
+#ifndef xmlSaveTree
+extern __typeof (xmlSaveTree) xmlSaveTree__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveTree xmlSaveTree__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlSaveUri
+extern __typeof (xmlSaveUri) xmlSaveUri __attribute((alias("xmlSaveUri__internal_alias")));
+#else
+#ifndef xmlSaveUri
+extern __typeof (xmlSaveUri) xmlSaveUri__internal_alias __attribute((visibility("hidden")));
+#define xmlSaveUri xmlSaveUri__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlScanName
+extern __typeof (xmlScanName) xmlScanName __attribute((alias("xmlScanName__internal_alias")));
+#else
+#ifndef xmlScanName
+extern __typeof (xmlScanName) xmlScanName__internal_alias __attribute((visibility("hidden")));
+#define xmlScanName xmlScanName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaCheckFacet
+extern __typeof (xmlSchemaCheckFacet) xmlSchemaCheckFacet __attribute((alias("xmlSchemaCheckFacet__internal_alias")));
+#else
+#ifndef xmlSchemaCheckFacet
+extern __typeof (xmlSchemaCheckFacet) xmlSchemaCheckFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaCheckFacet xmlSchemaCheckFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaCleanupTypes
+extern __typeof (xmlSchemaCleanupTypes) xmlSchemaCleanupTypes __attribute((alias("xmlSchemaCleanupTypes__internal_alias")));
+#else
+#ifndef xmlSchemaCleanupTypes
+extern __typeof (xmlSchemaCleanupTypes) xmlSchemaCleanupTypes__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaCleanupTypes xmlSchemaCleanupTypes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaCollapseString
+extern __typeof (xmlSchemaCollapseString) xmlSchemaCollapseString __attribute((alias("xmlSchemaCollapseString__internal_alias")));
+#else
+#ifndef xmlSchemaCollapseString
+extern __typeof (xmlSchemaCollapseString) xmlSchemaCollapseString__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaCollapseString xmlSchemaCollapseString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaCompareValues
+extern __typeof (xmlSchemaCompareValues) xmlSchemaCompareValues __attribute((alias("xmlSchemaCompareValues__internal_alias")));
+#else
+#ifndef xmlSchemaCompareValues
+extern __typeof (xmlSchemaCompareValues) xmlSchemaCompareValues__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaCompareValues xmlSchemaCompareValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaCompareValuesWhtsp
+extern __typeof (xmlSchemaCompareValuesWhtsp) xmlSchemaCompareValuesWhtsp __attribute((alias("xmlSchemaCompareValuesWhtsp__internal_alias")));
+#else
+#ifndef xmlSchemaCompareValuesWhtsp
+extern __typeof (xmlSchemaCompareValuesWhtsp) xmlSchemaCompareValuesWhtsp__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaCompareValuesWhtsp xmlSchemaCompareValuesWhtsp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaCopyValue
+extern __typeof (xmlSchemaCopyValue) xmlSchemaCopyValue __attribute((alias("xmlSchemaCopyValue__internal_alias")));
+#else
+#ifndef xmlSchemaCopyValue
+extern __typeof (xmlSchemaCopyValue) xmlSchemaCopyValue__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaCopyValue xmlSchemaCopyValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaDump
+extern __typeof (xmlSchemaDump) xmlSchemaDump __attribute((alias("xmlSchemaDump__internal_alias")));
+#else
+#ifndef xmlSchemaDump
+extern __typeof (xmlSchemaDump) xmlSchemaDump__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaDump xmlSchemaDump__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaFree
+extern __typeof (xmlSchemaFree) xmlSchemaFree __attribute((alias("xmlSchemaFree__internal_alias")));
+#else
+#ifndef xmlSchemaFree
+extern __typeof (xmlSchemaFree) xmlSchemaFree__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFree xmlSchemaFree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaFreeFacet
+extern __typeof (xmlSchemaFreeFacet) xmlSchemaFreeFacet __attribute((alias("xmlSchemaFreeFacet__internal_alias")));
+#else
+#ifndef xmlSchemaFreeFacet
+extern __typeof (xmlSchemaFreeFacet) xmlSchemaFreeFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFreeFacet xmlSchemaFreeFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaFreeParserCtxt
+extern __typeof (xmlSchemaFreeParserCtxt) xmlSchemaFreeParserCtxt __attribute((alias("xmlSchemaFreeParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaFreeParserCtxt
+extern __typeof (xmlSchemaFreeParserCtxt) xmlSchemaFreeParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFreeParserCtxt xmlSchemaFreeParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaFreeType
+extern __typeof (xmlSchemaFreeType) xmlSchemaFreeType __attribute((alias("xmlSchemaFreeType__internal_alias")));
+#else
+#ifndef xmlSchemaFreeType
+extern __typeof (xmlSchemaFreeType) xmlSchemaFreeType__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFreeType xmlSchemaFreeType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaFreeValidCtxt
+extern __typeof (xmlSchemaFreeValidCtxt) xmlSchemaFreeValidCtxt __attribute((alias("xmlSchemaFreeValidCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaFreeValidCtxt
+extern __typeof (xmlSchemaFreeValidCtxt) xmlSchemaFreeValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFreeValidCtxt xmlSchemaFreeValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaFreeValue
+extern __typeof (xmlSchemaFreeValue) xmlSchemaFreeValue __attribute((alias("xmlSchemaFreeValue__internal_alias")));
+#else
+#ifndef xmlSchemaFreeValue
+extern __typeof (xmlSchemaFreeValue) xmlSchemaFreeValue__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFreeValue xmlSchemaFreeValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaFreeWildcard
+extern __typeof (xmlSchemaFreeWildcard) xmlSchemaFreeWildcard __attribute((alias("xmlSchemaFreeWildcard__internal_alias")));
+#else
+#ifndef xmlSchemaFreeWildcard
+extern __typeof (xmlSchemaFreeWildcard) xmlSchemaFreeWildcard__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaFreeWildcard xmlSchemaFreeWildcard__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetBuiltInListSimpleTypeItemType
+extern __typeof (xmlSchemaGetBuiltInListSimpleTypeItemType) xmlSchemaGetBuiltInListSimpleTypeItemType __attribute((alias("xmlSchemaGetBuiltInListSimpleTypeItemType__internal_alias")));
+#else
+#ifndef xmlSchemaGetBuiltInListSimpleTypeItemType
+extern __typeof (xmlSchemaGetBuiltInListSimpleTypeItemType) xmlSchemaGetBuiltInListSimpleTypeItemType__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetBuiltInListSimpleTypeItemType xmlSchemaGetBuiltInListSimpleTypeItemType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetBuiltInType
+extern __typeof (xmlSchemaGetBuiltInType) xmlSchemaGetBuiltInType __attribute((alias("xmlSchemaGetBuiltInType__internal_alias")));
+#else
+#ifndef xmlSchemaGetBuiltInType
+extern __typeof (xmlSchemaGetBuiltInType) xmlSchemaGetBuiltInType__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetBuiltInType xmlSchemaGetBuiltInType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetCanonValue
+extern __typeof (xmlSchemaGetCanonValue) xmlSchemaGetCanonValue __attribute((alias("xmlSchemaGetCanonValue__internal_alias")));
+#else
+#ifndef xmlSchemaGetCanonValue
+extern __typeof (xmlSchemaGetCanonValue) xmlSchemaGetCanonValue__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetCanonValue xmlSchemaGetCanonValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetCanonValueWhtsp
+extern __typeof (xmlSchemaGetCanonValueWhtsp) xmlSchemaGetCanonValueWhtsp __attribute((alias("xmlSchemaGetCanonValueWhtsp__internal_alias")));
+#else
+#ifndef xmlSchemaGetCanonValueWhtsp
+extern __typeof (xmlSchemaGetCanonValueWhtsp) xmlSchemaGetCanonValueWhtsp__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetCanonValueWhtsp xmlSchemaGetCanonValueWhtsp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetFacetValueAsULong
+extern __typeof (xmlSchemaGetFacetValueAsULong) xmlSchemaGetFacetValueAsULong __attribute((alias("xmlSchemaGetFacetValueAsULong__internal_alias")));
+#else
+#ifndef xmlSchemaGetFacetValueAsULong
+extern __typeof (xmlSchemaGetFacetValueAsULong) xmlSchemaGetFacetValueAsULong__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetFacetValueAsULong xmlSchemaGetFacetValueAsULong__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaGetParserErrors
+extern __typeof (xmlSchemaGetParserErrors) xmlSchemaGetParserErrors __attribute((alias("xmlSchemaGetParserErrors__internal_alias")));
+#else
+#ifndef xmlSchemaGetParserErrors
+extern __typeof (xmlSchemaGetParserErrors) xmlSchemaGetParserErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetParserErrors xmlSchemaGetParserErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetPredefinedType
+extern __typeof (xmlSchemaGetPredefinedType) xmlSchemaGetPredefinedType __attribute((alias("xmlSchemaGetPredefinedType__internal_alias")));
+#else
+#ifndef xmlSchemaGetPredefinedType
+extern __typeof (xmlSchemaGetPredefinedType) xmlSchemaGetPredefinedType__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetPredefinedType xmlSchemaGetPredefinedType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaGetValType
+extern __typeof (xmlSchemaGetValType) xmlSchemaGetValType __attribute((alias("xmlSchemaGetValType__internal_alias")));
+#else
+#ifndef xmlSchemaGetValType
+extern __typeof (xmlSchemaGetValType) xmlSchemaGetValType__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetValType xmlSchemaGetValType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaGetValidErrors
+extern __typeof (xmlSchemaGetValidErrors) xmlSchemaGetValidErrors __attribute((alias("xmlSchemaGetValidErrors__internal_alias")));
+#else
+#ifndef xmlSchemaGetValidErrors
+extern __typeof (xmlSchemaGetValidErrors) xmlSchemaGetValidErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaGetValidErrors xmlSchemaGetValidErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaInitTypes
+extern __typeof (xmlSchemaInitTypes) xmlSchemaInitTypes __attribute((alias("xmlSchemaInitTypes__internal_alias")));
+#else
+#ifndef xmlSchemaInitTypes
+extern __typeof (xmlSchemaInitTypes) xmlSchemaInitTypes__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaInitTypes xmlSchemaInitTypes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaIsBuiltInTypeFacet
+extern __typeof (xmlSchemaIsBuiltInTypeFacet) xmlSchemaIsBuiltInTypeFacet __attribute((alias("xmlSchemaIsBuiltInTypeFacet__internal_alias")));
+#else
+#ifndef xmlSchemaIsBuiltInTypeFacet
+extern __typeof (xmlSchemaIsBuiltInTypeFacet) xmlSchemaIsBuiltInTypeFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaIsBuiltInTypeFacet xmlSchemaIsBuiltInTypeFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaIsValid
+extern __typeof (xmlSchemaIsValid) xmlSchemaIsValid __attribute((alias("xmlSchemaIsValid__internal_alias")));
+#else
+#ifndef xmlSchemaIsValid
+extern __typeof (xmlSchemaIsValid) xmlSchemaIsValid__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaIsValid xmlSchemaIsValid__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaNewDocParserCtxt
+extern __typeof (xmlSchemaNewDocParserCtxt) xmlSchemaNewDocParserCtxt __attribute((alias("xmlSchemaNewDocParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaNewDocParserCtxt
+extern __typeof (xmlSchemaNewDocParserCtxt) xmlSchemaNewDocParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewDocParserCtxt xmlSchemaNewDocParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaNewFacet
+extern __typeof (xmlSchemaNewFacet) xmlSchemaNewFacet __attribute((alias("xmlSchemaNewFacet__internal_alias")));
+#else
+#ifndef xmlSchemaNewFacet
+extern __typeof (xmlSchemaNewFacet) xmlSchemaNewFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewFacet xmlSchemaNewFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaNewMemParserCtxt
+extern __typeof (xmlSchemaNewMemParserCtxt) xmlSchemaNewMemParserCtxt __attribute((alias("xmlSchemaNewMemParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaNewMemParserCtxt
+extern __typeof (xmlSchemaNewMemParserCtxt) xmlSchemaNewMemParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewMemParserCtxt xmlSchemaNewMemParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaNewNOTATIONValue
+extern __typeof (xmlSchemaNewNOTATIONValue) xmlSchemaNewNOTATIONValue __attribute((alias("xmlSchemaNewNOTATIONValue__internal_alias")));
+#else
+#ifndef xmlSchemaNewNOTATIONValue
+extern __typeof (xmlSchemaNewNOTATIONValue) xmlSchemaNewNOTATIONValue__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewNOTATIONValue xmlSchemaNewNOTATIONValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaNewParserCtxt
+extern __typeof (xmlSchemaNewParserCtxt) xmlSchemaNewParserCtxt __attribute((alias("xmlSchemaNewParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaNewParserCtxt
+extern __typeof (xmlSchemaNewParserCtxt) xmlSchemaNewParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewParserCtxt xmlSchemaNewParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaNewQNameValue
+extern __typeof (xmlSchemaNewQNameValue) xmlSchemaNewQNameValue __attribute((alias("xmlSchemaNewQNameValue__internal_alias")));
+#else
+#ifndef xmlSchemaNewQNameValue
+extern __typeof (xmlSchemaNewQNameValue) xmlSchemaNewQNameValue__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewQNameValue xmlSchemaNewQNameValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaNewStringValue
+extern __typeof (xmlSchemaNewStringValue) xmlSchemaNewStringValue __attribute((alias("xmlSchemaNewStringValue__internal_alias")));
+#else
+#ifndef xmlSchemaNewStringValue
+extern __typeof (xmlSchemaNewStringValue) xmlSchemaNewStringValue__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewStringValue xmlSchemaNewStringValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaNewValidCtxt
+extern __typeof (xmlSchemaNewValidCtxt) xmlSchemaNewValidCtxt __attribute((alias("xmlSchemaNewValidCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaNewValidCtxt
+extern __typeof (xmlSchemaNewValidCtxt) xmlSchemaNewValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaNewValidCtxt xmlSchemaNewValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaParse
+extern __typeof (xmlSchemaParse) xmlSchemaParse __attribute((alias("xmlSchemaParse__internal_alias")));
+#else
+#ifndef xmlSchemaParse
+extern __typeof (xmlSchemaParse) xmlSchemaParse__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaParse xmlSchemaParse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSAXPlug
+extern __typeof (xmlSchemaSAXPlug) xmlSchemaSAXPlug __attribute((alias("xmlSchemaSAXPlug__internal_alias")));
+#else
+#ifndef xmlSchemaSAXPlug
+extern __typeof (xmlSchemaSAXPlug) xmlSchemaSAXPlug__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSAXPlug xmlSchemaSAXPlug__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSAXUnplug
+extern __typeof (xmlSchemaSAXUnplug) xmlSchemaSAXUnplug __attribute((alias("xmlSchemaSAXUnplug__internal_alias")));
+#else
+#ifndef xmlSchemaSAXUnplug
+extern __typeof (xmlSchemaSAXUnplug) xmlSchemaSAXUnplug__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSAXUnplug xmlSchemaSAXUnplug__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSetParserErrors
+extern __typeof (xmlSchemaSetParserErrors) xmlSchemaSetParserErrors __attribute((alias("xmlSchemaSetParserErrors__internal_alias")));
+#else
+#ifndef xmlSchemaSetParserErrors
+extern __typeof (xmlSchemaSetParserErrors) xmlSchemaSetParserErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSetParserErrors xmlSchemaSetParserErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSetParserStructuredErrors
+extern __typeof (xmlSchemaSetParserStructuredErrors) xmlSchemaSetParserStructuredErrors __attribute((alias("xmlSchemaSetParserStructuredErrors__internal_alias")));
+#else
+#ifndef xmlSchemaSetParserStructuredErrors
+extern __typeof (xmlSchemaSetParserStructuredErrors) xmlSchemaSetParserStructuredErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSetParserStructuredErrors xmlSchemaSetParserStructuredErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSetValidErrors
+extern __typeof (xmlSchemaSetValidErrors) xmlSchemaSetValidErrors __attribute((alias("xmlSchemaSetValidErrors__internal_alias")));
+#else
+#ifndef xmlSchemaSetValidErrors
+extern __typeof (xmlSchemaSetValidErrors) xmlSchemaSetValidErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSetValidErrors xmlSchemaSetValidErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSetValidOptions
+extern __typeof (xmlSchemaSetValidOptions) xmlSchemaSetValidOptions __attribute((alias("xmlSchemaSetValidOptions__internal_alias")));
+#else
+#ifndef xmlSchemaSetValidOptions
+extern __typeof (xmlSchemaSetValidOptions) xmlSchemaSetValidOptions__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSetValidOptions xmlSchemaSetValidOptions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaSetValidStructuredErrors
+extern __typeof (xmlSchemaSetValidStructuredErrors) xmlSchemaSetValidStructuredErrors __attribute((alias("xmlSchemaSetValidStructuredErrors__internal_alias")));
+#else
+#ifndef xmlSchemaSetValidStructuredErrors
+extern __typeof (xmlSchemaSetValidStructuredErrors) xmlSchemaSetValidStructuredErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaSetValidStructuredErrors xmlSchemaSetValidStructuredErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValPredefTypeNode
+extern __typeof (xmlSchemaValPredefTypeNode) xmlSchemaValPredefTypeNode __attribute((alias("xmlSchemaValPredefTypeNode__internal_alias")));
+#else
+#ifndef xmlSchemaValPredefTypeNode
+extern __typeof (xmlSchemaValPredefTypeNode) xmlSchemaValPredefTypeNode__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValPredefTypeNode xmlSchemaValPredefTypeNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValPredefTypeNodeNoNorm
+extern __typeof (xmlSchemaValPredefTypeNodeNoNorm) xmlSchemaValPredefTypeNodeNoNorm __attribute((alias("xmlSchemaValPredefTypeNodeNoNorm__internal_alias")));
+#else
+#ifndef xmlSchemaValPredefTypeNodeNoNorm
+extern __typeof (xmlSchemaValPredefTypeNodeNoNorm) xmlSchemaValPredefTypeNodeNoNorm__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValPredefTypeNodeNoNorm xmlSchemaValPredefTypeNodeNoNorm__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidCtxtGetOptions
+extern __typeof (xmlSchemaValidCtxtGetOptions) xmlSchemaValidCtxtGetOptions __attribute((alias("xmlSchemaValidCtxtGetOptions__internal_alias")));
+#else
+#ifndef xmlSchemaValidCtxtGetOptions
+extern __typeof (xmlSchemaValidCtxtGetOptions) xmlSchemaValidCtxtGetOptions__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidCtxtGetOptions xmlSchemaValidCtxtGetOptions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidCtxtGetParserCtxt
+extern __typeof (xmlSchemaValidCtxtGetParserCtxt) xmlSchemaValidCtxtGetParserCtxt __attribute((alias("xmlSchemaValidCtxtGetParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchemaValidCtxtGetParserCtxt
+extern __typeof (xmlSchemaValidCtxtGetParserCtxt) xmlSchemaValidCtxtGetParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidCtxtGetParserCtxt xmlSchemaValidCtxtGetParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateDoc
+extern __typeof (xmlSchemaValidateDoc) xmlSchemaValidateDoc __attribute((alias("xmlSchemaValidateDoc__internal_alias")));
+#else
+#ifndef xmlSchemaValidateDoc
+extern __typeof (xmlSchemaValidateDoc) xmlSchemaValidateDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateDoc xmlSchemaValidateDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValidateFacet
+extern __typeof (xmlSchemaValidateFacet) xmlSchemaValidateFacet __attribute((alias("xmlSchemaValidateFacet__internal_alias")));
+#else
+#ifndef xmlSchemaValidateFacet
+extern __typeof (xmlSchemaValidateFacet) xmlSchemaValidateFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateFacet xmlSchemaValidateFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValidateFacetWhtsp
+extern __typeof (xmlSchemaValidateFacetWhtsp) xmlSchemaValidateFacetWhtsp __attribute((alias("xmlSchemaValidateFacetWhtsp__internal_alias")));
+#else
+#ifndef xmlSchemaValidateFacetWhtsp
+extern __typeof (xmlSchemaValidateFacetWhtsp) xmlSchemaValidateFacetWhtsp__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateFacetWhtsp xmlSchemaValidateFacetWhtsp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateFile
+extern __typeof (xmlSchemaValidateFile) xmlSchemaValidateFile __attribute((alias("xmlSchemaValidateFile__internal_alias")));
+#else
+#ifndef xmlSchemaValidateFile
+extern __typeof (xmlSchemaValidateFile) xmlSchemaValidateFile__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateFile xmlSchemaValidateFile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValidateLengthFacet
+extern __typeof (xmlSchemaValidateLengthFacet) xmlSchemaValidateLengthFacet __attribute((alias("xmlSchemaValidateLengthFacet__internal_alias")));
+#else
+#ifndef xmlSchemaValidateLengthFacet
+extern __typeof (xmlSchemaValidateLengthFacet) xmlSchemaValidateLengthFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateLengthFacet xmlSchemaValidateLengthFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValidateLengthFacetWhtsp
+extern __typeof (xmlSchemaValidateLengthFacetWhtsp) xmlSchemaValidateLengthFacetWhtsp __attribute((alias("xmlSchemaValidateLengthFacetWhtsp__internal_alias")));
+#else
+#ifndef xmlSchemaValidateLengthFacetWhtsp
+extern __typeof (xmlSchemaValidateLengthFacetWhtsp) xmlSchemaValidateLengthFacetWhtsp__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateLengthFacetWhtsp xmlSchemaValidateLengthFacetWhtsp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValidateListSimpleTypeFacet
+extern __typeof (xmlSchemaValidateListSimpleTypeFacet) xmlSchemaValidateListSimpleTypeFacet __attribute((alias("xmlSchemaValidateListSimpleTypeFacet__internal_alias")));
+#else
+#ifndef xmlSchemaValidateListSimpleTypeFacet
+extern __typeof (xmlSchemaValidateListSimpleTypeFacet) xmlSchemaValidateListSimpleTypeFacet__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateListSimpleTypeFacet xmlSchemaValidateListSimpleTypeFacet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateOneElement
+extern __typeof (xmlSchemaValidateOneElement) xmlSchemaValidateOneElement __attribute((alias("xmlSchemaValidateOneElement__internal_alias")));
+#else
+#ifndef xmlSchemaValidateOneElement
+extern __typeof (xmlSchemaValidateOneElement) xmlSchemaValidateOneElement__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateOneElement xmlSchemaValidateOneElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValidatePredefinedType
+extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedType __attribute((alias("xmlSchemaValidatePredefinedType__internal_alias")));
+#else
+#ifndef xmlSchemaValidatePredefinedType
+extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedType__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidatePredefinedType xmlSchemaValidatePredefinedType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateSetFilename
+extern __typeof (xmlSchemaValidateSetFilename) xmlSchemaValidateSetFilename __attribute((alias("xmlSchemaValidateSetFilename__internal_alias")));
+#else
+#ifndef xmlSchemaValidateSetFilename
+extern __typeof (xmlSchemaValidateSetFilename) xmlSchemaValidateSetFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateSetFilename xmlSchemaValidateSetFilename__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateSetLocator
+extern __typeof (xmlSchemaValidateSetLocator) xmlSchemaValidateSetLocator __attribute((alias("xmlSchemaValidateSetLocator__internal_alias")));
+#else
+#ifndef xmlSchemaValidateSetLocator
+extern __typeof (xmlSchemaValidateSetLocator) xmlSchemaValidateSetLocator__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateSetLocator xmlSchemaValidateSetLocator__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateStream
+extern __typeof (xmlSchemaValidateStream) xmlSchemaValidateStream __attribute((alias("xmlSchemaValidateStream__internal_alias")));
+#else
+#ifndef xmlSchemaValidateStream
+extern __typeof (xmlSchemaValidateStream) xmlSchemaValidateStream__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateStream xmlSchemaValidateStream__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValueAppend
+extern __typeof (xmlSchemaValueAppend) xmlSchemaValueAppend __attribute((alias("xmlSchemaValueAppend__internal_alias")));
+#else
+#ifndef xmlSchemaValueAppend
+extern __typeof (xmlSchemaValueAppend) xmlSchemaValueAppend__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValueAppend xmlSchemaValueAppend__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValueGetAsBoolean
+extern __typeof (xmlSchemaValueGetAsBoolean) xmlSchemaValueGetAsBoolean __attribute((alias("xmlSchemaValueGetAsBoolean__internal_alias")));
+#else
+#ifndef xmlSchemaValueGetAsBoolean
+extern __typeof (xmlSchemaValueGetAsBoolean) xmlSchemaValueGetAsBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValueGetAsBoolean xmlSchemaValueGetAsBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValueGetAsString
+extern __typeof (xmlSchemaValueGetAsString) xmlSchemaValueGetAsString __attribute((alias("xmlSchemaValueGetAsString__internal_alias")));
+#else
+#ifndef xmlSchemaValueGetAsString
+extern __typeof (xmlSchemaValueGetAsString) xmlSchemaValueGetAsString__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValueGetAsString xmlSchemaValueGetAsString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaValueGetNext
+extern __typeof (xmlSchemaValueGetNext) xmlSchemaValueGetNext __attribute((alias("xmlSchemaValueGetNext__internal_alias")));
+#else
+#ifndef xmlSchemaValueGetNext
+extern __typeof (xmlSchemaValueGetNext) xmlSchemaValueGetNext__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValueGetNext xmlSchemaValueGetNext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemastypes
+#undef xmlSchemaWhiteSpaceReplace
+extern __typeof (xmlSchemaWhiteSpaceReplace) xmlSchemaWhiteSpaceReplace __attribute((alias("xmlSchemaWhiteSpaceReplace__internal_alias")));
+#else
+#ifndef xmlSchemaWhiteSpaceReplace
+extern __typeof (xmlSchemaWhiteSpaceReplace) xmlSchemaWhiteSpaceReplace__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaWhiteSpaceReplace xmlSchemaWhiteSpaceReplace__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronFree
+extern __typeof (xmlSchematronFree) xmlSchematronFree __attribute((alias("xmlSchematronFree__internal_alias")));
+#else
+#ifndef xmlSchematronFree
+extern __typeof (xmlSchematronFree) xmlSchematronFree__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronFree xmlSchematronFree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronFreeParserCtxt
+extern __typeof (xmlSchematronFreeParserCtxt) xmlSchematronFreeParserCtxt __attribute((alias("xmlSchematronFreeParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchematronFreeParserCtxt
+extern __typeof (xmlSchematronFreeParserCtxt) xmlSchematronFreeParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronFreeParserCtxt xmlSchematronFreeParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronFreeValidCtxt
+extern __typeof (xmlSchematronFreeValidCtxt) xmlSchematronFreeValidCtxt __attribute((alias("xmlSchematronFreeValidCtxt__internal_alias")));
+#else
+#ifndef xmlSchematronFreeValidCtxt
+extern __typeof (xmlSchematronFreeValidCtxt) xmlSchematronFreeValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronFreeValidCtxt xmlSchematronFreeValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronNewDocParserCtxt
+extern __typeof (xmlSchematronNewDocParserCtxt) xmlSchematronNewDocParserCtxt __attribute((alias("xmlSchematronNewDocParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchematronNewDocParserCtxt
+extern __typeof (xmlSchematronNewDocParserCtxt) xmlSchematronNewDocParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronNewDocParserCtxt xmlSchematronNewDocParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronNewMemParserCtxt
+extern __typeof (xmlSchematronNewMemParserCtxt) xmlSchematronNewMemParserCtxt __attribute((alias("xmlSchematronNewMemParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchematronNewMemParserCtxt
+extern __typeof (xmlSchematronNewMemParserCtxt) xmlSchematronNewMemParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronNewMemParserCtxt xmlSchematronNewMemParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronNewParserCtxt
+extern __typeof (xmlSchematronNewParserCtxt) xmlSchematronNewParserCtxt __attribute((alias("xmlSchematronNewParserCtxt__internal_alias")));
+#else
+#ifndef xmlSchematronNewParserCtxt
+extern __typeof (xmlSchematronNewParserCtxt) xmlSchematronNewParserCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronNewParserCtxt xmlSchematronNewParserCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronNewValidCtxt
+extern __typeof (xmlSchematronNewValidCtxt) xmlSchematronNewValidCtxt __attribute((alias("xmlSchematronNewValidCtxt__internal_alias")));
+#else
+#ifndef xmlSchematronNewValidCtxt
+extern __typeof (xmlSchematronNewValidCtxt) xmlSchematronNewValidCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronNewValidCtxt xmlSchematronNewValidCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronParse
+extern __typeof (xmlSchematronParse) xmlSchematronParse __attribute((alias("xmlSchematronParse__internal_alias")));
+#else
+#ifndef xmlSchematronParse
+extern __typeof (xmlSchematronParse) xmlSchematronParse__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronParse xmlSchematronParse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronSetValidStructuredErrors
+extern __typeof (xmlSchematronSetValidStructuredErrors) xmlSchematronSetValidStructuredErrors __attribute((alias("xmlSchematronSetValidStructuredErrors__internal_alias")));
+#else
+#ifndef xmlSchematronSetValidStructuredErrors
+extern __typeof (xmlSchematronSetValidStructuredErrors) xmlSchematronSetValidStructuredErrors__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronSetValidStructuredErrors xmlSchematronSetValidStructuredErrors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMATRON_ENABLED)
+#ifdef bottom_schematron
+#undef xmlSchematronValidateDoc
+extern __typeof (xmlSchematronValidateDoc) xmlSchematronValidateDoc __attribute((alias("xmlSchematronValidateDoc__internal_alias")));
+#else
+#ifndef xmlSchematronValidateDoc
+extern __typeof (xmlSchematronValidateDoc) xmlSchematronValidateDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlSchematronValidateDoc xmlSchematronValidateDoc__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSearchNs
+extern __typeof (xmlSearchNs) xmlSearchNs __attribute((alias("xmlSearchNs__internal_alias")));
+#else
+#ifndef xmlSearchNs
+extern __typeof (xmlSearchNs) xmlSearchNs__internal_alias __attribute((visibility("hidden")));
+#define xmlSearchNs xmlSearchNs__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSearchNsByHref
+extern __typeof (xmlSearchNsByHref) xmlSearchNsByHref __attribute((alias("xmlSearchNsByHref__internal_alias")));
+#else
+#ifndef xmlSearchNsByHref
+extern __typeof (xmlSearchNsByHref) xmlSearchNsByHref__internal_alias __attribute((visibility("hidden")));
+#define xmlSearchNsByHref xmlSearchNsByHref__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSetBufferAllocationScheme
+extern __typeof (xmlSetBufferAllocationScheme) xmlSetBufferAllocationScheme __attribute((alias("xmlSetBufferAllocationScheme__internal_alias")));
+#else
+#ifndef xmlSetBufferAllocationScheme
+extern __typeof (xmlSetBufferAllocationScheme) xmlSetBufferAllocationScheme__internal_alias __attribute((visibility("hidden")));
+#define xmlSetBufferAllocationScheme xmlSetBufferAllocationScheme__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSetCompressMode
+extern __typeof (xmlSetCompressMode) xmlSetCompressMode __attribute((alias("xmlSetCompressMode__internal_alias")));
+#else
+#ifndef xmlSetCompressMode
+extern __typeof (xmlSetCompressMode) xmlSetCompressMode__internal_alias __attribute((visibility("hidden")));
+#define xmlSetCompressMode xmlSetCompressMode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSetDocCompressMode
+extern __typeof (xmlSetDocCompressMode) xmlSetDocCompressMode __attribute((alias("xmlSetDocCompressMode__internal_alias")));
+#else
+#ifndef xmlSetDocCompressMode
+extern __typeof (xmlSetDocCompressMode) xmlSetDocCompressMode__internal_alias __attribute((visibility("hidden")));
+#define xmlSetDocCompressMode xmlSetDocCompressMode__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_parser
+#undef xmlSetEntityReferenceFunc
+extern __typeof (xmlSetEntityReferenceFunc) xmlSetEntityReferenceFunc __attribute((alias("xmlSetEntityReferenceFunc__internal_alias")));
+#else
+#ifndef xmlSetEntityReferenceFunc
+extern __typeof (xmlSetEntityReferenceFunc) xmlSetEntityReferenceFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlSetEntityReferenceFunc xmlSetEntityReferenceFunc__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_xmlIO
+#undef xmlSetExternalEntityLoader
+extern __typeof (xmlSetExternalEntityLoader) xmlSetExternalEntityLoader __attribute((alias("xmlSetExternalEntityLoader__internal_alias")));
+#else
+#ifndef xmlSetExternalEntityLoader
+extern __typeof (xmlSetExternalEntityLoader) xmlSetExternalEntityLoader__internal_alias __attribute((visibility("hidden")));
+#define xmlSetExternalEntityLoader xmlSetExternalEntityLoader__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_legacy
+#undef xmlSetFeature
+extern __typeof (xmlSetFeature) xmlSetFeature __attribute((alias("xmlSetFeature__internal_alias")));
+#else
+#ifndef xmlSetFeature
+extern __typeof (xmlSetFeature) xmlSetFeature__internal_alias __attribute((visibility("hidden")));
+#define xmlSetFeature xmlSetFeature__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlSetGenericErrorFunc
+extern __typeof (xmlSetGenericErrorFunc) xmlSetGenericErrorFunc __attribute((alias("xmlSetGenericErrorFunc__internal_alias")));
+#else
+#ifndef xmlSetGenericErrorFunc
+extern __typeof (xmlSetGenericErrorFunc) xmlSetGenericErrorFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlSetGenericErrorFunc xmlSetGenericErrorFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSetListDoc
+extern __typeof (xmlSetListDoc) xmlSetListDoc __attribute((alias("xmlSetListDoc__internal_alias")));
+#else
+#ifndef xmlSetListDoc
+extern __typeof (xmlSetListDoc) xmlSetListDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlSetListDoc xmlSetListDoc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSetNs
+extern __typeof (xmlSetNs) xmlSetNs __attribute((alias("xmlSetNs__internal_alias")));
+#else
+#ifndef xmlSetNs
+extern __typeof (xmlSetNs) xmlSetNs__internal_alias __attribute((visibility("hidden")));
+#define xmlSetNs xmlSetNs__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_tree
+#undef xmlSetNsProp
+extern __typeof (xmlSetNsProp) xmlSetNsProp __attribute((alias("xmlSetNsProp__internal_alias")));
+#else
+#ifndef xmlSetNsProp
+extern __typeof (xmlSetNsProp) xmlSetNsProp__internal_alias __attribute((visibility("hidden")));
+#define xmlSetNsProp xmlSetNsProp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#ifdef bottom_tree
+#undef xmlSetProp
+extern __typeof (xmlSetProp) xmlSetProp __attribute((alias("xmlSetProp__internal_alias")));
+#else
+#ifndef xmlSetProp
+extern __typeof (xmlSetProp) xmlSetProp__internal_alias __attribute((visibility("hidden")));
+#define xmlSetProp xmlSetProp__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_error
+#undef xmlSetStructuredErrorFunc
+extern __typeof (xmlSetStructuredErrorFunc) xmlSetStructuredErrorFunc __attribute((alias("xmlSetStructuredErrorFunc__internal_alias")));
+#else
+#ifndef xmlSetStructuredErrorFunc
+extern __typeof (xmlSetStructuredErrorFunc) xmlSetStructuredErrorFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlSetStructuredErrorFunc xmlSetStructuredErrorFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSetTreeDoc
+extern __typeof (xmlSetTreeDoc) xmlSetTreeDoc __attribute((alias("xmlSetTreeDoc__internal_alias")));
+#else
+#ifndef xmlSetTreeDoc
+extern __typeof (xmlSetTreeDoc) xmlSetTreeDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlSetTreeDoc xmlSetTreeDoc__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_SAX1_ENABLED)
+#ifdef bottom_parser
+#undef xmlSetupParserForBuffer
+extern __typeof (xmlSetupParserForBuffer) xmlSetupParserForBuffer __attribute((alias("xmlSetupParserForBuffer__internal_alias")));
+#else
+#ifndef xmlSetupParserForBuffer
+extern __typeof (xmlSetupParserForBuffer) xmlSetupParserForBuffer__internal_alias __attribute((visibility("hidden")));
+#define xmlSetupParserForBuffer xmlSetupParserForBuffer__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShell
+extern __typeof (xmlShell) xmlShell __attribute((alias("xmlShell__internal_alias")));
+#else
+#ifndef xmlShell
+extern __typeof (xmlShell) xmlShell__internal_alias __attribute((visibility("hidden")));
+#define xmlShell xmlShell__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellBase
+extern __typeof (xmlShellBase) xmlShellBase __attribute((alias("xmlShellBase__internal_alias")));
+#else
+#ifndef xmlShellBase
+extern __typeof (xmlShellBase) xmlShellBase__internal_alias __attribute((visibility("hidden")));
+#define xmlShellBase xmlShellBase__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellCat
+extern __typeof (xmlShellCat) xmlShellCat __attribute((alias("xmlShellCat__internal_alias")));
+#else
+#ifndef xmlShellCat
+extern __typeof (xmlShellCat) xmlShellCat__internal_alias __attribute((visibility("hidden")));
+#define xmlShellCat xmlShellCat__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellDir
+extern __typeof (xmlShellDir) xmlShellDir __attribute((alias("xmlShellDir__internal_alias")));
+#else
+#ifndef xmlShellDir
+extern __typeof (xmlShellDir) xmlShellDir__internal_alias __attribute((visibility("hidden")));
+#define xmlShellDir xmlShellDir__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellDu
+extern __typeof (xmlShellDu) xmlShellDu __attribute((alias("xmlShellDu__internal_alias")));
+#else
+#ifndef xmlShellDu
+extern __typeof (xmlShellDu) xmlShellDu__internal_alias __attribute((visibility("hidden")));
+#define xmlShellDu xmlShellDu__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellList
+extern __typeof (xmlShellList) xmlShellList __attribute((alias("xmlShellList__internal_alias")));
+#else
+#ifndef xmlShellList
+extern __typeof (xmlShellList) xmlShellList__internal_alias __attribute((visibility("hidden")));
+#define xmlShellList xmlShellList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellLoad
+extern __typeof (xmlShellLoad) xmlShellLoad __attribute((alias("xmlShellLoad__internal_alias")));
+#else
+#ifndef xmlShellLoad
+extern __typeof (xmlShellLoad) xmlShellLoad__internal_alias __attribute((visibility("hidden")));
+#define xmlShellLoad xmlShellLoad__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellPrintNode
+extern __typeof (xmlShellPrintNode) xmlShellPrintNode __attribute((alias("xmlShellPrintNode__internal_alias")));
+#else
+#ifndef xmlShellPrintNode
+extern __typeof (xmlShellPrintNode) xmlShellPrintNode__internal_alias __attribute((visibility("hidden")));
+#define xmlShellPrintNode xmlShellPrintNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellPrintXPathError
+extern __typeof (xmlShellPrintXPathError) xmlShellPrintXPathError __attribute((alias("xmlShellPrintXPathError__internal_alias")));
+#else
+#ifndef xmlShellPrintXPathError
+extern __typeof (xmlShellPrintXPathError) xmlShellPrintXPathError__internal_alias __attribute((visibility("hidden")));
+#define xmlShellPrintXPathError xmlShellPrintXPathError__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellPrintXPathResult
+extern __typeof (xmlShellPrintXPathResult) xmlShellPrintXPathResult __attribute((alias("xmlShellPrintXPathResult__internal_alias")));
+#else
+#ifndef xmlShellPrintXPathResult
+extern __typeof (xmlShellPrintXPathResult) xmlShellPrintXPathResult__internal_alias __attribute((visibility("hidden")));
+#define xmlShellPrintXPathResult xmlShellPrintXPathResult__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellPwd
+extern __typeof (xmlShellPwd) xmlShellPwd __attribute((alias("xmlShellPwd__internal_alias")));
+#else
+#ifndef xmlShellPwd
+extern __typeof (xmlShellPwd) xmlShellPwd__internal_alias __attribute((visibility("hidden")));
+#define xmlShellPwd xmlShellPwd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellSave
+extern __typeof (xmlShellSave) xmlShellSave __attribute((alias("xmlShellSave__internal_alias")));
+#else
+#ifndef xmlShellSave
+extern __typeof (xmlShellSave) xmlShellSave__internal_alias __attribute((visibility("hidden")));
+#define xmlShellSave xmlShellSave__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellValidate
+extern __typeof (xmlShellValidate) xmlShellValidate __attribute((alias("xmlShellValidate__internal_alias")));
+#else
+#ifndef xmlShellValidate
+extern __typeof (xmlShellValidate) xmlShellValidate__internal_alias __attribute((visibility("hidden")));
+#define xmlShellValidate xmlShellValidate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_debugXML
+#undef xmlShellWrite
+extern __typeof (xmlShellWrite) xmlShellWrite __attribute((alias("xmlShellWrite__internal_alias")));
+#else
+#ifndef xmlShellWrite
+extern __typeof (xmlShellWrite) xmlShellWrite__internal_alias __attribute((visibility("hidden")));
+#define xmlShellWrite xmlShellWrite__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlSkipBlankChars
+extern __typeof (xmlSkipBlankChars) xmlSkipBlankChars __attribute((alias("xmlSkipBlankChars__internal_alias")));
+#else
+#ifndef xmlSkipBlankChars
+extern __typeof (xmlSkipBlankChars) xmlSkipBlankChars__internal_alias __attribute((visibility("hidden")));
+#define xmlSkipBlankChars xmlSkipBlankChars__internal_alias
+#endif
+#endif
+
+#ifdef bottom_valid
+#undef xmlSnprintfElementContent
+extern __typeof (xmlSnprintfElementContent) xmlSnprintfElementContent __attribute((alias("xmlSnprintfElementContent__internal_alias")));
+#else
+#ifndef xmlSnprintfElementContent
+extern __typeof (xmlSnprintfElementContent) xmlSnprintfElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlSnprintfElementContent xmlSnprintfElementContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlSplitQName
+extern __typeof (xmlSplitQName) xmlSplitQName __attribute((alias("xmlSplitQName__internal_alias")));
+#else
+#ifndef xmlSplitQName
+extern __typeof (xmlSplitQName) xmlSplitQName__internal_alias __attribute((visibility("hidden")));
+#define xmlSplitQName xmlSplitQName__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSplitQName2
+extern __typeof (xmlSplitQName2) xmlSplitQName2 __attribute((alias("xmlSplitQName2__internal_alias")));
+#else
+#ifndef xmlSplitQName2
+extern __typeof (xmlSplitQName2) xmlSplitQName2__internal_alias __attribute((visibility("hidden")));
+#define xmlSplitQName2 xmlSplitQName2__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlSplitQName3
+extern __typeof (xmlSplitQName3) xmlSplitQName3 __attribute((alias("xmlSplitQName3__internal_alias")));
+#else
+#ifndef xmlSplitQName3
+extern __typeof (xmlSplitQName3) xmlSplitQName3__internal_alias __attribute((visibility("hidden")));
+#define xmlSplitQName3 xmlSplitQName3__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_valid
+#undef xmlSprintfElementContent
+extern __typeof (xmlSprintfElementContent) xmlSprintfElementContent __attribute((alias("xmlSprintfElementContent__internal_alias")));
+#else
+#ifndef xmlSprintfElementContent
+extern __typeof (xmlSprintfElementContent) xmlSprintfElementContent__internal_alias __attribute((visibility("hidden")));
+#define xmlSprintfElementContent xmlSprintfElementContent__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlStopParser
+extern __typeof (xmlStopParser) xmlStopParser __attribute((alias("xmlStopParser__internal_alias")));
+#else
+#ifndef xmlStopParser
+extern __typeof (xmlStopParser) xmlStopParser__internal_alias __attribute((visibility("hidden")));
+#define xmlStopParser xmlStopParser__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrEqual
+extern __typeof (xmlStrEqual) xmlStrEqual __attribute((alias("xmlStrEqual__internal_alias")));
+#else
+#ifndef xmlStrEqual
+extern __typeof (xmlStrEqual) xmlStrEqual__internal_alias __attribute((visibility("hidden")));
+#define xmlStrEqual xmlStrEqual__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrPrintf
+extern __typeof (xmlStrPrintf) xmlStrPrintf __attribute((alias("xmlStrPrintf__internal_alias")));
+#else
+#ifndef xmlStrPrintf
+extern __typeof (xmlStrPrintf) xmlStrPrintf__internal_alias __attribute((visibility("hidden")));
+#define xmlStrPrintf xmlStrPrintf__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrQEqual
+extern __typeof (xmlStrQEqual) xmlStrQEqual __attribute((alias("xmlStrQEqual__internal_alias")));
+#else
+#ifndef xmlStrQEqual
+extern __typeof (xmlStrQEqual) xmlStrQEqual__internal_alias __attribute((visibility("hidden")));
+#define xmlStrQEqual xmlStrQEqual__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrVPrintf
+extern __typeof (xmlStrVPrintf) xmlStrVPrintf __attribute((alias("xmlStrVPrintf__internal_alias")));
+#else
+#ifndef xmlStrVPrintf
+extern __typeof (xmlStrVPrintf) xmlStrVPrintf__internal_alias __attribute((visibility("hidden")));
+#define xmlStrVPrintf xmlStrVPrintf__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrcasecmp
+extern __typeof (xmlStrcasecmp) xmlStrcasecmp __attribute((alias("xmlStrcasecmp__internal_alias")));
+#else
+#ifndef xmlStrcasecmp
+extern __typeof (xmlStrcasecmp) xmlStrcasecmp__internal_alias __attribute((visibility("hidden")));
+#define xmlStrcasecmp xmlStrcasecmp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrcasestr
+extern __typeof (xmlStrcasestr) xmlStrcasestr __attribute((alias("xmlStrcasestr__internal_alias")));
+#else
+#ifndef xmlStrcasestr
+extern __typeof (xmlStrcasestr) xmlStrcasestr__internal_alias __attribute((visibility("hidden")));
+#define xmlStrcasestr xmlStrcasestr__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrcat
+extern __typeof (xmlStrcat) xmlStrcat __attribute((alias("xmlStrcat__internal_alias")));
+#else
+#ifndef xmlStrcat
+extern __typeof (xmlStrcat) xmlStrcat__internal_alias __attribute((visibility("hidden")));
+#define xmlStrcat xmlStrcat__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrchr
+extern __typeof (xmlStrchr) xmlStrchr __attribute((alias("xmlStrchr__internal_alias")));
+#else
+#ifndef xmlStrchr
+extern __typeof (xmlStrchr) xmlStrchr__internal_alias __attribute((visibility("hidden")));
+#define xmlStrchr xmlStrchr__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrcmp
+extern __typeof (xmlStrcmp) xmlStrcmp __attribute((alias("xmlStrcmp__internal_alias")));
+#else
+#ifndef xmlStrcmp
+extern __typeof (xmlStrcmp) xmlStrcmp__internal_alias __attribute((visibility("hidden")));
+#define xmlStrcmp xmlStrcmp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrdup
+extern __typeof (xmlStrdup) xmlStrdup __attribute((alias("xmlStrdup__internal_alias")));
+#else
+#ifndef xmlStrdup
+extern __typeof (xmlStrdup) xmlStrdup__internal_alias __attribute((visibility("hidden")));
+#define xmlStrdup xmlStrdup__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlStreamPop
+extern __typeof (xmlStreamPop) xmlStreamPop __attribute((alias("xmlStreamPop__internal_alias")));
+#else
+#ifndef xmlStreamPop
+extern __typeof (xmlStreamPop) xmlStreamPop__internal_alias __attribute((visibility("hidden")));
+#define xmlStreamPop xmlStreamPop__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlStreamPush
+extern __typeof (xmlStreamPush) xmlStreamPush __attribute((alias("xmlStreamPush__internal_alias")));
+#else
+#ifndef xmlStreamPush
+extern __typeof (xmlStreamPush) xmlStreamPush__internal_alias __attribute((visibility("hidden")));
+#define xmlStreamPush xmlStreamPush__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlStreamPushAttr
+extern __typeof (xmlStreamPushAttr) xmlStreamPushAttr __attribute((alias("xmlStreamPushAttr__internal_alias")));
+#else
+#ifndef xmlStreamPushAttr
+extern __typeof (xmlStreamPushAttr) xmlStreamPushAttr__internal_alias __attribute((visibility("hidden")));
+#define xmlStreamPushAttr xmlStreamPushAttr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlStreamPushNode
+extern __typeof (xmlStreamPushNode) xmlStreamPushNode __attribute((alias("xmlStreamPushNode__internal_alias")));
+#else
+#ifndef xmlStreamPushNode
+extern __typeof (xmlStreamPushNode) xmlStreamPushNode__internal_alias __attribute((visibility("hidden")));
+#define xmlStreamPushNode xmlStreamPushNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_pattern
+#undef xmlStreamWantsAnyNode
+extern __typeof (xmlStreamWantsAnyNode) xmlStreamWantsAnyNode __attribute((alias("xmlStreamWantsAnyNode__internal_alias")));
+#else
+#ifndef xmlStreamWantsAnyNode
+extern __typeof (xmlStreamWantsAnyNode) xmlStreamWantsAnyNode__internal_alias __attribute((visibility("hidden")));
+#define xmlStreamWantsAnyNode xmlStreamWantsAnyNode__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlStringCurrentChar
+extern __typeof (xmlStringCurrentChar) xmlStringCurrentChar __attribute((alias("xmlStringCurrentChar__internal_alias")));
+#else
+#ifndef xmlStringCurrentChar
+extern __typeof (xmlStringCurrentChar) xmlStringCurrentChar__internal_alias __attribute((visibility("hidden")));
+#define xmlStringCurrentChar xmlStringCurrentChar__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlStringDecodeEntities
+extern __typeof (xmlStringDecodeEntities) xmlStringDecodeEntities __attribute((alias("xmlStringDecodeEntities__internal_alias")));
+#else
+#ifndef xmlStringDecodeEntities
+extern __typeof (xmlStringDecodeEntities) xmlStringDecodeEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlStringDecodeEntities xmlStringDecodeEntities__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlStringGetNodeList
+extern __typeof (xmlStringGetNodeList) xmlStringGetNodeList __attribute((alias("xmlStringGetNodeList__internal_alias")));
+#else
+#ifndef xmlStringGetNodeList
+extern __typeof (xmlStringGetNodeList) xmlStringGetNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlStringGetNodeList xmlStringGetNodeList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parser
+#undef xmlStringLenDecodeEntities
+extern __typeof (xmlStringLenDecodeEntities) xmlStringLenDecodeEntities __attribute((alias("xmlStringLenDecodeEntities__internal_alias")));
+#else
+#ifndef xmlStringLenDecodeEntities
+extern __typeof (xmlStringLenDecodeEntities) xmlStringLenDecodeEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlStringLenDecodeEntities xmlStringLenDecodeEntities__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlStringLenGetNodeList
+extern __typeof (xmlStringLenGetNodeList) xmlStringLenGetNodeList __attribute((alias("xmlStringLenGetNodeList__internal_alias")));
+#else
+#ifndef xmlStringLenGetNodeList
+extern __typeof (xmlStringLenGetNodeList) xmlStringLenGetNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlStringLenGetNodeList xmlStringLenGetNodeList__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrlen
+extern __typeof (xmlStrlen) xmlStrlen __attribute((alias("xmlStrlen__internal_alias")));
+#else
+#ifndef xmlStrlen
+extern __typeof (xmlStrlen) xmlStrlen__internal_alias __attribute((visibility("hidden")));
+#define xmlStrlen xmlStrlen__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrncasecmp
+extern __typeof (xmlStrncasecmp) xmlStrncasecmp __attribute((alias("xmlStrncasecmp__internal_alias")));
+#else
+#ifndef xmlStrncasecmp
+extern __typeof (xmlStrncasecmp) xmlStrncasecmp__internal_alias __attribute((visibility("hidden")));
+#define xmlStrncasecmp xmlStrncasecmp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrncat
+extern __typeof (xmlStrncat) xmlStrncat __attribute((alias("xmlStrncat__internal_alias")));
+#else
+#ifndef xmlStrncat
+extern __typeof (xmlStrncat) xmlStrncat__internal_alias __attribute((visibility("hidden")));
+#define xmlStrncat xmlStrncat__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrncatNew
+extern __typeof (xmlStrncatNew) xmlStrncatNew __attribute((alias("xmlStrncatNew__internal_alias")));
+#else
+#ifndef xmlStrncatNew
+extern __typeof (xmlStrncatNew) xmlStrncatNew__internal_alias __attribute((visibility("hidden")));
+#define xmlStrncatNew xmlStrncatNew__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrncmp
+extern __typeof (xmlStrncmp) xmlStrncmp __attribute((alias("xmlStrncmp__internal_alias")));
+#else
+#ifndef xmlStrncmp
+extern __typeof (xmlStrncmp) xmlStrncmp__internal_alias __attribute((visibility("hidden")));
+#define xmlStrncmp xmlStrncmp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrndup
+extern __typeof (xmlStrndup) xmlStrndup __attribute((alias("xmlStrndup__internal_alias")));
+#else
+#ifndef xmlStrndup
+extern __typeof (xmlStrndup) xmlStrndup__internal_alias __attribute((visibility("hidden")));
+#define xmlStrndup xmlStrndup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrstr
+extern __typeof (xmlStrstr) xmlStrstr __attribute((alias("xmlStrstr__internal_alias")));
+#else
+#ifndef xmlStrstr
+extern __typeof (xmlStrstr) xmlStrstr__internal_alias __attribute((visibility("hidden")));
+#define xmlStrstr xmlStrstr__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlStrsub
+extern __typeof (xmlStrsub) xmlStrsub __attribute((alias("xmlStrsub__internal_alias")));
+#else
+#ifndef xmlStrsub
+extern __typeof (xmlStrsub) xmlStrsub__internal_alias __attribute((visibility("hidden")));
+#define xmlStrsub xmlStrsub__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlSubstituteEntitiesDefault
+extern __typeof (xmlSubstituteEntitiesDefault) xmlSubstituteEntitiesDefault __attribute((alias("xmlSubstituteEntitiesDefault__internal_alias")));
+#else
+#ifndef xmlSubstituteEntitiesDefault
+extern __typeof (xmlSubstituteEntitiesDefault) xmlSubstituteEntitiesDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlSubstituteEntitiesDefault xmlSubstituteEntitiesDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlSwitchEncoding
+extern __typeof (xmlSwitchEncoding) xmlSwitchEncoding __attribute((alias("xmlSwitchEncoding__internal_alias")));
+#else
+#ifndef xmlSwitchEncoding
+extern __typeof (xmlSwitchEncoding) xmlSwitchEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlSwitchEncoding xmlSwitchEncoding__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlSwitchInputEncoding
+extern __typeof (xmlSwitchInputEncoding) xmlSwitchInputEncoding __attribute((alias("xmlSwitchInputEncoding__internal_alias")));
+#else
+#ifndef xmlSwitchInputEncoding
+extern __typeof (xmlSwitchInputEncoding) xmlSwitchInputEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlSwitchInputEncoding xmlSwitchInputEncoding__internal_alias
+#endif
+#endif
+
+#ifdef bottom_parserInternals
+#undef xmlSwitchToEncoding
+extern __typeof (xmlSwitchToEncoding) xmlSwitchToEncoding __attribute((alias("xmlSwitchToEncoding__internal_alias")));
+#else
+#ifndef xmlSwitchToEncoding
+extern __typeof (xmlSwitchToEncoding) xmlSwitchToEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlSwitchToEncoding xmlSwitchToEncoding__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlTextConcat
+extern __typeof (xmlTextConcat) xmlTextConcat __attribute((alias("xmlTextConcat__internal_alias")));
+#else
+#ifndef xmlTextConcat
+extern __typeof (xmlTextConcat) xmlTextConcat__internal_alias __attribute((visibility("hidden")));
+#define xmlTextConcat xmlTextConcat__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlTextMerge
+extern __typeof (xmlTextMerge) xmlTextMerge __attribute((alias("xmlTextMerge__internal_alias")));
+#else
+#ifndef xmlTextMerge
+extern __typeof (xmlTextMerge) xmlTextMerge__internal_alias __attribute((visibility("hidden")));
+#define xmlTextMerge xmlTextMerge__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderAttributeCount
+extern __typeof (xmlTextReaderAttributeCount) xmlTextReaderAttributeCount __attribute((alias("xmlTextReaderAttributeCount__internal_alias")));
+#else
+#ifndef xmlTextReaderAttributeCount
+extern __typeof (xmlTextReaderAttributeCount) xmlTextReaderAttributeCount__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderAttributeCount xmlTextReaderAttributeCount__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderBaseUri
+extern __typeof (xmlTextReaderBaseUri) xmlTextReaderBaseUri __attribute((alias("xmlTextReaderBaseUri__internal_alias")));
+#else
+#ifndef xmlTextReaderBaseUri
+extern __typeof (xmlTextReaderBaseUri) xmlTextReaderBaseUri__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderBaseUri xmlTextReaderBaseUri__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderByteConsumed
+extern __typeof (xmlTextReaderByteConsumed) xmlTextReaderByteConsumed __attribute((alias("xmlTextReaderByteConsumed__internal_alias")));
+#else
+#ifndef xmlTextReaderByteConsumed
+extern __typeof (xmlTextReaderByteConsumed) xmlTextReaderByteConsumed__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderByteConsumed xmlTextReaderByteConsumed__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderClose
+extern __typeof (xmlTextReaderClose) xmlTextReaderClose __attribute((alias("xmlTextReaderClose__internal_alias")));
+#else
+#ifndef xmlTextReaderClose
+extern __typeof (xmlTextReaderClose) xmlTextReaderClose__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderClose xmlTextReaderClose__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstBaseUri
+extern __typeof (xmlTextReaderConstBaseUri) xmlTextReaderConstBaseUri __attribute((alias("xmlTextReaderConstBaseUri__internal_alias")));
+#else
+#ifndef xmlTextReaderConstBaseUri
+extern __typeof (xmlTextReaderConstBaseUri) xmlTextReaderConstBaseUri__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstBaseUri xmlTextReaderConstBaseUri__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstEncoding
+extern __typeof (xmlTextReaderConstEncoding) xmlTextReaderConstEncoding __attribute((alias("xmlTextReaderConstEncoding__internal_alias")));
+#else
+#ifndef xmlTextReaderConstEncoding
+extern __typeof (xmlTextReaderConstEncoding) xmlTextReaderConstEncoding__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstEncoding xmlTextReaderConstEncoding__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstLocalName
+extern __typeof (xmlTextReaderConstLocalName) xmlTextReaderConstLocalName __attribute((alias("xmlTextReaderConstLocalName__internal_alias")));
+#else
+#ifndef xmlTextReaderConstLocalName
+extern __typeof (xmlTextReaderConstLocalName) xmlTextReaderConstLocalName__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstLocalName xmlTextReaderConstLocalName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstName
+extern __typeof (xmlTextReaderConstName) xmlTextReaderConstName __attribute((alias("xmlTextReaderConstName__internal_alias")));
+#else
+#ifndef xmlTextReaderConstName
+extern __typeof (xmlTextReaderConstName) xmlTextReaderConstName__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstName xmlTextReaderConstName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstNamespaceUri
+extern __typeof (xmlTextReaderConstNamespaceUri) xmlTextReaderConstNamespaceUri __attribute((alias("xmlTextReaderConstNamespaceUri__internal_alias")));
+#else
+#ifndef xmlTextReaderConstNamespaceUri
+extern __typeof (xmlTextReaderConstNamespaceUri) xmlTextReaderConstNamespaceUri__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstNamespaceUri xmlTextReaderConstNamespaceUri__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstPrefix
+extern __typeof (xmlTextReaderConstPrefix) xmlTextReaderConstPrefix __attribute((alias("xmlTextReaderConstPrefix__internal_alias")));
+#else
+#ifndef xmlTextReaderConstPrefix
+extern __typeof (xmlTextReaderConstPrefix) xmlTextReaderConstPrefix__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstPrefix xmlTextReaderConstPrefix__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstString
+extern __typeof (xmlTextReaderConstString) xmlTextReaderConstString __attribute((alias("xmlTextReaderConstString__internal_alias")));
+#else
+#ifndef xmlTextReaderConstString
+extern __typeof (xmlTextReaderConstString) xmlTextReaderConstString__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstString xmlTextReaderConstString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstValue
+extern __typeof (xmlTextReaderConstValue) xmlTextReaderConstValue __attribute((alias("xmlTextReaderConstValue__internal_alias")));
+#else
+#ifndef xmlTextReaderConstValue
+extern __typeof (xmlTextReaderConstValue) xmlTextReaderConstValue__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstValue xmlTextReaderConstValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstXmlLang
+extern __typeof (xmlTextReaderConstXmlLang) xmlTextReaderConstXmlLang __attribute((alias("xmlTextReaderConstXmlLang__internal_alias")));
+#else
+#ifndef xmlTextReaderConstXmlLang
+extern __typeof (xmlTextReaderConstXmlLang) xmlTextReaderConstXmlLang__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstXmlLang xmlTextReaderConstXmlLang__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderConstXmlVersion
+extern __typeof (xmlTextReaderConstXmlVersion) xmlTextReaderConstXmlVersion __attribute((alias("xmlTextReaderConstXmlVersion__internal_alias")));
+#else
+#ifndef xmlTextReaderConstXmlVersion
+extern __typeof (xmlTextReaderConstXmlVersion) xmlTextReaderConstXmlVersion__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderConstXmlVersion xmlTextReaderConstXmlVersion__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderCurrentDoc
+extern __typeof (xmlTextReaderCurrentDoc) xmlTextReaderCurrentDoc __attribute((alias("xmlTextReaderCurrentDoc__internal_alias")));
+#else
+#ifndef xmlTextReaderCurrentDoc
+extern __typeof (xmlTextReaderCurrentDoc) xmlTextReaderCurrentDoc__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderCurrentDoc xmlTextReaderCurrentDoc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderCurrentNode
+extern __typeof (xmlTextReaderCurrentNode) xmlTextReaderCurrentNode __attribute((alias("xmlTextReaderCurrentNode__internal_alias")));
+#else
+#ifndef xmlTextReaderCurrentNode
+extern __typeof (xmlTextReaderCurrentNode) xmlTextReaderCurrentNode__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderCurrentNode xmlTextReaderCurrentNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderDepth
+extern __typeof (xmlTextReaderDepth) xmlTextReaderDepth __attribute((alias("xmlTextReaderDepth__internal_alias")));
+#else
+#ifndef xmlTextReaderDepth
+extern __typeof (xmlTextReaderDepth) xmlTextReaderDepth__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderDepth xmlTextReaderDepth__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderExpand
+extern __typeof (xmlTextReaderExpand) xmlTextReaderExpand __attribute((alias("xmlTextReaderExpand__internal_alias")));
+#else
+#ifndef xmlTextReaderExpand
+extern __typeof (xmlTextReaderExpand) xmlTextReaderExpand__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderExpand xmlTextReaderExpand__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetAttribute
+extern __typeof (xmlTextReaderGetAttribute) xmlTextReaderGetAttribute __attribute((alias("xmlTextReaderGetAttribute__internal_alias")));
+#else
+#ifndef xmlTextReaderGetAttribute
+extern __typeof (xmlTextReaderGetAttribute) xmlTextReaderGetAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetAttribute xmlTextReaderGetAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetAttributeNo
+extern __typeof (xmlTextReaderGetAttributeNo) xmlTextReaderGetAttributeNo __attribute((alias("xmlTextReaderGetAttributeNo__internal_alias")));
+#else
+#ifndef xmlTextReaderGetAttributeNo
+extern __typeof (xmlTextReaderGetAttributeNo) xmlTextReaderGetAttributeNo__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetAttributeNo xmlTextReaderGetAttributeNo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetAttributeNs
+extern __typeof (xmlTextReaderGetAttributeNs) xmlTextReaderGetAttributeNs __attribute((alias("xmlTextReaderGetAttributeNs__internal_alias")));
+#else
+#ifndef xmlTextReaderGetAttributeNs
+extern __typeof (xmlTextReaderGetAttributeNs) xmlTextReaderGetAttributeNs__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetAttributeNs xmlTextReaderGetAttributeNs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetErrorHandler
+extern __typeof (xmlTextReaderGetErrorHandler) xmlTextReaderGetErrorHandler __attribute((alias("xmlTextReaderGetErrorHandler__internal_alias")));
+#else
+#ifndef xmlTextReaderGetErrorHandler
+extern __typeof (xmlTextReaderGetErrorHandler) xmlTextReaderGetErrorHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetErrorHandler xmlTextReaderGetErrorHandler__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetParserColumnNumber
+extern __typeof (xmlTextReaderGetParserColumnNumber) xmlTextReaderGetParserColumnNumber __attribute((alias("xmlTextReaderGetParserColumnNumber__internal_alias")));
+#else
+#ifndef xmlTextReaderGetParserColumnNumber
+extern __typeof (xmlTextReaderGetParserColumnNumber) xmlTextReaderGetParserColumnNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetParserColumnNumber xmlTextReaderGetParserColumnNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetParserLineNumber
+extern __typeof (xmlTextReaderGetParserLineNumber) xmlTextReaderGetParserLineNumber __attribute((alias("xmlTextReaderGetParserLineNumber__internal_alias")));
+#else
+#ifndef xmlTextReaderGetParserLineNumber
+extern __typeof (xmlTextReaderGetParserLineNumber) xmlTextReaderGetParserLineNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetParserLineNumber xmlTextReaderGetParserLineNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetParserProp
+extern __typeof (xmlTextReaderGetParserProp) xmlTextReaderGetParserProp __attribute((alias("xmlTextReaderGetParserProp__internal_alias")));
+#else
+#ifndef xmlTextReaderGetParserProp
+extern __typeof (xmlTextReaderGetParserProp) xmlTextReaderGetParserProp__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetParserProp xmlTextReaderGetParserProp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderGetRemainder
+extern __typeof (xmlTextReaderGetRemainder) xmlTextReaderGetRemainder __attribute((alias("xmlTextReaderGetRemainder__internal_alias")));
+#else
+#ifndef xmlTextReaderGetRemainder
+extern __typeof (xmlTextReaderGetRemainder) xmlTextReaderGetRemainder__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderGetRemainder xmlTextReaderGetRemainder__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderHasAttributes
+extern __typeof (xmlTextReaderHasAttributes) xmlTextReaderHasAttributes __attribute((alias("xmlTextReaderHasAttributes__internal_alias")));
+#else
+#ifndef xmlTextReaderHasAttributes
+extern __typeof (xmlTextReaderHasAttributes) xmlTextReaderHasAttributes__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderHasAttributes xmlTextReaderHasAttributes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderHasValue
+extern __typeof (xmlTextReaderHasValue) xmlTextReaderHasValue __attribute((alias("xmlTextReaderHasValue__internal_alias")));
+#else
+#ifndef xmlTextReaderHasValue
+extern __typeof (xmlTextReaderHasValue) xmlTextReaderHasValue__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderHasValue xmlTextReaderHasValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderIsDefault
+extern __typeof (xmlTextReaderIsDefault) xmlTextReaderIsDefault __attribute((alias("xmlTextReaderIsDefault__internal_alias")));
+#else
+#ifndef xmlTextReaderIsDefault
+extern __typeof (xmlTextReaderIsDefault) xmlTextReaderIsDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderIsDefault xmlTextReaderIsDefault__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderIsEmptyElement
+extern __typeof (xmlTextReaderIsEmptyElement) xmlTextReaderIsEmptyElement __attribute((alias("xmlTextReaderIsEmptyElement__internal_alias")));
+#else
+#ifndef xmlTextReaderIsEmptyElement
+extern __typeof (xmlTextReaderIsEmptyElement) xmlTextReaderIsEmptyElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderIsEmptyElement xmlTextReaderIsEmptyElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderIsNamespaceDecl
+extern __typeof (xmlTextReaderIsNamespaceDecl) xmlTextReaderIsNamespaceDecl __attribute((alias("xmlTextReaderIsNamespaceDecl__internal_alias")));
+#else
+#ifndef xmlTextReaderIsNamespaceDecl
+extern __typeof (xmlTextReaderIsNamespaceDecl) xmlTextReaderIsNamespaceDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderIsNamespaceDecl xmlTextReaderIsNamespaceDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderIsValid
+extern __typeof (xmlTextReaderIsValid) xmlTextReaderIsValid __attribute((alias("xmlTextReaderIsValid__internal_alias")));
+#else
+#ifndef xmlTextReaderIsValid
+extern __typeof (xmlTextReaderIsValid) xmlTextReaderIsValid__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderIsValid xmlTextReaderIsValid__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderLocalName
+extern __typeof (xmlTextReaderLocalName) xmlTextReaderLocalName __attribute((alias("xmlTextReaderLocalName__internal_alias")));
+#else
+#ifndef xmlTextReaderLocalName
+extern __typeof (xmlTextReaderLocalName) xmlTextReaderLocalName__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderLocalName xmlTextReaderLocalName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderLocatorBaseURI
+extern __typeof (xmlTextReaderLocatorBaseURI) xmlTextReaderLocatorBaseURI __attribute((alias("xmlTextReaderLocatorBaseURI__internal_alias")));
+#else
+#ifndef xmlTextReaderLocatorBaseURI
+extern __typeof (xmlTextReaderLocatorBaseURI) xmlTextReaderLocatorBaseURI__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderLocatorBaseURI xmlTextReaderLocatorBaseURI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderLocatorLineNumber
+extern __typeof (xmlTextReaderLocatorLineNumber) xmlTextReaderLocatorLineNumber __attribute((alias("xmlTextReaderLocatorLineNumber__internal_alias")));
+#else
+#ifndef xmlTextReaderLocatorLineNumber
+extern __typeof (xmlTextReaderLocatorLineNumber) xmlTextReaderLocatorLineNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderLocatorLineNumber xmlTextReaderLocatorLineNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderLookupNamespace
+extern __typeof (xmlTextReaderLookupNamespace) xmlTextReaderLookupNamespace __attribute((alias("xmlTextReaderLookupNamespace__internal_alias")));
+#else
+#ifndef xmlTextReaderLookupNamespace
+extern __typeof (xmlTextReaderLookupNamespace) xmlTextReaderLookupNamespace__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderLookupNamespace xmlTextReaderLookupNamespace__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderMoveToAttribute
+extern __typeof (xmlTextReaderMoveToAttribute) xmlTextReaderMoveToAttribute __attribute((alias("xmlTextReaderMoveToAttribute__internal_alias")));
+#else
+#ifndef xmlTextReaderMoveToAttribute
+extern __typeof (xmlTextReaderMoveToAttribute) xmlTextReaderMoveToAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderMoveToAttribute xmlTextReaderMoveToAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderMoveToAttributeNo
+extern __typeof (xmlTextReaderMoveToAttributeNo) xmlTextReaderMoveToAttributeNo __attribute((alias("xmlTextReaderMoveToAttributeNo__internal_alias")));
+#else
+#ifndef xmlTextReaderMoveToAttributeNo
+extern __typeof (xmlTextReaderMoveToAttributeNo) xmlTextReaderMoveToAttributeNo__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderMoveToAttributeNo xmlTextReaderMoveToAttributeNo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderMoveToAttributeNs
+extern __typeof (xmlTextReaderMoveToAttributeNs) xmlTextReaderMoveToAttributeNs __attribute((alias("xmlTextReaderMoveToAttributeNs__internal_alias")));
+#else
+#ifndef xmlTextReaderMoveToAttributeNs
+extern __typeof (xmlTextReaderMoveToAttributeNs) xmlTextReaderMoveToAttributeNs__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderMoveToAttributeNs xmlTextReaderMoveToAttributeNs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderMoveToElement
+extern __typeof (xmlTextReaderMoveToElement) xmlTextReaderMoveToElement __attribute((alias("xmlTextReaderMoveToElement__internal_alias")));
+#else
+#ifndef xmlTextReaderMoveToElement
+extern __typeof (xmlTextReaderMoveToElement) xmlTextReaderMoveToElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderMoveToElement xmlTextReaderMoveToElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderMoveToFirstAttribute
+extern __typeof (xmlTextReaderMoveToFirstAttribute) xmlTextReaderMoveToFirstAttribute __attribute((alias("xmlTextReaderMoveToFirstAttribute__internal_alias")));
+#else
+#ifndef xmlTextReaderMoveToFirstAttribute
+extern __typeof (xmlTextReaderMoveToFirstAttribute) xmlTextReaderMoveToFirstAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderMoveToFirstAttribute xmlTextReaderMoveToFirstAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderMoveToNextAttribute
+extern __typeof (xmlTextReaderMoveToNextAttribute) xmlTextReaderMoveToNextAttribute __attribute((alias("xmlTextReaderMoveToNextAttribute__internal_alias")));
+#else
+#ifndef xmlTextReaderMoveToNextAttribute
+extern __typeof (xmlTextReaderMoveToNextAttribute) xmlTextReaderMoveToNextAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderMoveToNextAttribute xmlTextReaderMoveToNextAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderName
+extern __typeof (xmlTextReaderName) xmlTextReaderName __attribute((alias("xmlTextReaderName__internal_alias")));
+#else
+#ifndef xmlTextReaderName
+extern __typeof (xmlTextReaderName) xmlTextReaderName__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderName xmlTextReaderName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderNamespaceUri
+extern __typeof (xmlTextReaderNamespaceUri) xmlTextReaderNamespaceUri __attribute((alias("xmlTextReaderNamespaceUri__internal_alias")));
+#else
+#ifndef xmlTextReaderNamespaceUri
+extern __typeof (xmlTextReaderNamespaceUri) xmlTextReaderNamespaceUri__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderNamespaceUri xmlTextReaderNamespaceUri__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderNext
+extern __typeof (xmlTextReaderNext) xmlTextReaderNext __attribute((alias("xmlTextReaderNext__internal_alias")));
+#else
+#ifndef xmlTextReaderNext
+extern __typeof (xmlTextReaderNext) xmlTextReaderNext__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderNext xmlTextReaderNext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderNextSibling
+extern __typeof (xmlTextReaderNextSibling) xmlTextReaderNextSibling __attribute((alias("xmlTextReaderNextSibling__internal_alias")));
+#else
+#ifndef xmlTextReaderNextSibling
+extern __typeof (xmlTextReaderNextSibling) xmlTextReaderNextSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderNextSibling xmlTextReaderNextSibling__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderNodeType
+extern __typeof (xmlTextReaderNodeType) xmlTextReaderNodeType __attribute((alias("xmlTextReaderNodeType__internal_alias")));
+#else
+#ifndef xmlTextReaderNodeType
+extern __typeof (xmlTextReaderNodeType) xmlTextReaderNodeType__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderNodeType xmlTextReaderNodeType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderNormalization
+extern __typeof (xmlTextReaderNormalization) xmlTextReaderNormalization __attribute((alias("xmlTextReaderNormalization__internal_alias")));
+#else
+#ifndef xmlTextReaderNormalization
+extern __typeof (xmlTextReaderNormalization) xmlTextReaderNormalization__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderNormalization xmlTextReaderNormalization__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderPrefix
+extern __typeof (xmlTextReaderPrefix) xmlTextReaderPrefix __attribute((alias("xmlTextReaderPrefix__internal_alias")));
+#else
+#ifndef xmlTextReaderPrefix
+extern __typeof (xmlTextReaderPrefix) xmlTextReaderPrefix__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderPrefix xmlTextReaderPrefix__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderPreserve
+extern __typeof (xmlTextReaderPreserve) xmlTextReaderPreserve __attribute((alias("xmlTextReaderPreserve__internal_alias")));
+#else
+#ifndef xmlTextReaderPreserve
+extern __typeof (xmlTextReaderPreserve) xmlTextReaderPreserve__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderPreserve xmlTextReaderPreserve__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderPreservePattern
+extern __typeof (xmlTextReaderPreservePattern) xmlTextReaderPreservePattern __attribute((alias("xmlTextReaderPreservePattern__internal_alias")));
+#else
+#ifndef xmlTextReaderPreservePattern
+extern __typeof (xmlTextReaderPreservePattern) xmlTextReaderPreservePattern__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderPreservePattern xmlTextReaderPreservePattern__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderQuoteChar
+extern __typeof (xmlTextReaderQuoteChar) xmlTextReaderQuoteChar __attribute((alias("xmlTextReaderQuoteChar__internal_alias")));
+#else
+#ifndef xmlTextReaderQuoteChar
+extern __typeof (xmlTextReaderQuoteChar) xmlTextReaderQuoteChar__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderQuoteChar xmlTextReaderQuoteChar__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderRead
+extern __typeof (xmlTextReaderRead) xmlTextReaderRead __attribute((alias("xmlTextReaderRead__internal_alias")));
+#else
+#ifndef xmlTextReaderRead
+extern __typeof (xmlTextReaderRead) xmlTextReaderRead__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderRead xmlTextReaderRead__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderReadAttributeValue
+extern __typeof (xmlTextReaderReadAttributeValue) xmlTextReaderReadAttributeValue __attribute((alias("xmlTextReaderReadAttributeValue__internal_alias")));
+#else
+#ifndef xmlTextReaderReadAttributeValue
+extern __typeof (xmlTextReaderReadAttributeValue) xmlTextReaderReadAttributeValue__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderReadAttributeValue xmlTextReaderReadAttributeValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderReadInnerXml
+extern __typeof (xmlTextReaderReadInnerXml) xmlTextReaderReadInnerXml __attribute((alias("xmlTextReaderReadInnerXml__internal_alias")));
+#else
+#ifndef xmlTextReaderReadInnerXml
+extern __typeof (xmlTextReaderReadInnerXml) xmlTextReaderReadInnerXml__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderReadInnerXml xmlTextReaderReadInnerXml__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderReadOuterXml
+extern __typeof (xmlTextReaderReadOuterXml) xmlTextReaderReadOuterXml __attribute((alias("xmlTextReaderReadOuterXml__internal_alias")));
+#else
+#ifndef xmlTextReaderReadOuterXml
+extern __typeof (xmlTextReaderReadOuterXml) xmlTextReaderReadOuterXml__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderReadOuterXml xmlTextReaderReadOuterXml__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderReadState
+extern __typeof (xmlTextReaderReadState) xmlTextReaderReadState __attribute((alias("xmlTextReaderReadState__internal_alias")));
+#else
+#ifndef xmlTextReaderReadState
+extern __typeof (xmlTextReaderReadState) xmlTextReaderReadState__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderReadState xmlTextReaderReadState__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderReadString
+extern __typeof (xmlTextReaderReadString) xmlTextReaderReadString __attribute((alias("xmlTextReaderReadString__internal_alias")));
+#else
+#ifndef xmlTextReaderReadString
+extern __typeof (xmlTextReaderReadString) xmlTextReaderReadString__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderReadString xmlTextReaderReadString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderRelaxNGSetSchema
+extern __typeof (xmlTextReaderRelaxNGSetSchema) xmlTextReaderRelaxNGSetSchema __attribute((alias("xmlTextReaderRelaxNGSetSchema__internal_alias")));
+#else
+#ifndef xmlTextReaderRelaxNGSetSchema
+extern __typeof (xmlTextReaderRelaxNGSetSchema) xmlTextReaderRelaxNGSetSchema__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderRelaxNGSetSchema xmlTextReaderRelaxNGSetSchema__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderRelaxNGValidate
+extern __typeof (xmlTextReaderRelaxNGValidate) xmlTextReaderRelaxNGValidate __attribute((alias("xmlTextReaderRelaxNGValidate__internal_alias")));
+#else
+#ifndef xmlTextReaderRelaxNGValidate
+extern __typeof (xmlTextReaderRelaxNGValidate) xmlTextReaderRelaxNGValidate__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderRelaxNGValidate xmlTextReaderRelaxNGValidate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderRelaxNGValidateCtxt
+extern __typeof (xmlTextReaderRelaxNGValidateCtxt) xmlTextReaderRelaxNGValidateCtxt __attribute((alias("xmlTextReaderRelaxNGValidateCtxt__internal_alias")));
+#else
+#ifndef xmlTextReaderRelaxNGValidateCtxt
+extern __typeof (xmlTextReaderRelaxNGValidateCtxt) xmlTextReaderRelaxNGValidateCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderRelaxNGValidateCtxt xmlTextReaderRelaxNGValidateCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSchemaValidate
+extern __typeof (xmlTextReaderSchemaValidate) xmlTextReaderSchemaValidate __attribute((alias("xmlTextReaderSchemaValidate__internal_alias")));
+#else
+#ifndef xmlTextReaderSchemaValidate
+extern __typeof (xmlTextReaderSchemaValidate) xmlTextReaderSchemaValidate__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSchemaValidate xmlTextReaderSchemaValidate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSchemaValidateCtxt
+extern __typeof (xmlTextReaderSchemaValidateCtxt) xmlTextReaderSchemaValidateCtxt __attribute((alias("xmlTextReaderSchemaValidateCtxt__internal_alias")));
+#else
+#ifndef xmlTextReaderSchemaValidateCtxt
+extern __typeof (xmlTextReaderSchemaValidateCtxt) xmlTextReaderSchemaValidateCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSchemaValidateCtxt xmlTextReaderSchemaValidateCtxt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSetErrorHandler
+extern __typeof (xmlTextReaderSetErrorHandler) xmlTextReaderSetErrorHandler __attribute((alias("xmlTextReaderSetErrorHandler__internal_alias")));
+#else
+#ifndef xmlTextReaderSetErrorHandler
+extern __typeof (xmlTextReaderSetErrorHandler) xmlTextReaderSetErrorHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSetErrorHandler xmlTextReaderSetErrorHandler__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSetParserProp
+extern __typeof (xmlTextReaderSetParserProp) xmlTextReaderSetParserProp __attribute((alias("xmlTextReaderSetParserProp__internal_alias")));
+#else
+#ifndef xmlTextReaderSetParserProp
+extern __typeof (xmlTextReaderSetParserProp) xmlTextReaderSetParserProp__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSetParserProp xmlTextReaderSetParserProp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSetSchema
+extern __typeof (xmlTextReaderSetSchema) xmlTextReaderSetSchema __attribute((alias("xmlTextReaderSetSchema__internal_alias")));
+#else
+#ifndef xmlTextReaderSetSchema
+extern __typeof (xmlTextReaderSetSchema) xmlTextReaderSetSchema__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSetSchema xmlTextReaderSetSchema__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSetStructuredErrorHandler
+extern __typeof (xmlTextReaderSetStructuredErrorHandler) xmlTextReaderSetStructuredErrorHandler __attribute((alias("xmlTextReaderSetStructuredErrorHandler__internal_alias")));
+#else
+#ifndef xmlTextReaderSetStructuredErrorHandler
+extern __typeof (xmlTextReaderSetStructuredErrorHandler) xmlTextReaderSetStructuredErrorHandler__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSetStructuredErrorHandler xmlTextReaderSetStructuredErrorHandler__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderSetup
+extern __typeof (xmlTextReaderSetup) xmlTextReaderSetup __attribute((alias("xmlTextReaderSetup__internal_alias")));
+#else
+#ifndef xmlTextReaderSetup
+extern __typeof (xmlTextReaderSetup) xmlTextReaderSetup__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderSetup xmlTextReaderSetup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderStandalone
+extern __typeof (xmlTextReaderStandalone) xmlTextReaderStandalone __attribute((alias("xmlTextReaderStandalone__internal_alias")));
+#else
+#ifndef xmlTextReaderStandalone
+extern __typeof (xmlTextReaderStandalone) xmlTextReaderStandalone__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderStandalone xmlTextReaderStandalone__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderValue
+extern __typeof (xmlTextReaderValue) xmlTextReaderValue __attribute((alias("xmlTextReaderValue__internal_alias")));
+#else
+#ifndef xmlTextReaderValue
+extern __typeof (xmlTextReaderValue) xmlTextReaderValue__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderValue xmlTextReaderValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_READER_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderXmlLang
+extern __typeof (xmlTextReaderXmlLang) xmlTextReaderXmlLang __attribute((alias("xmlTextReaderXmlLang__internal_alias")));
+#else
+#ifndef xmlTextReaderXmlLang
+extern __typeof (xmlTextReaderXmlLang) xmlTextReaderXmlLang__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderXmlLang xmlTextReaderXmlLang__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndAttribute
+extern __typeof (xmlTextWriterEndAttribute) xmlTextWriterEndAttribute __attribute((alias("xmlTextWriterEndAttribute__internal_alias")));
+#else
+#ifndef xmlTextWriterEndAttribute
+extern __typeof (xmlTextWriterEndAttribute) xmlTextWriterEndAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndAttribute xmlTextWriterEndAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndCDATA
+extern __typeof (xmlTextWriterEndCDATA) xmlTextWriterEndCDATA __attribute((alias("xmlTextWriterEndCDATA__internal_alias")));
+#else
+#ifndef xmlTextWriterEndCDATA
+extern __typeof (xmlTextWriterEndCDATA) xmlTextWriterEndCDATA__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndCDATA xmlTextWriterEndCDATA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndComment
+extern __typeof (xmlTextWriterEndComment) xmlTextWriterEndComment __attribute((alias("xmlTextWriterEndComment__internal_alias")));
+#else
+#ifndef xmlTextWriterEndComment
+extern __typeof (xmlTextWriterEndComment) xmlTextWriterEndComment__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndComment xmlTextWriterEndComment__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndDTD
+extern __typeof (xmlTextWriterEndDTD) xmlTextWriterEndDTD __attribute((alias("xmlTextWriterEndDTD__internal_alias")));
+#else
+#ifndef xmlTextWriterEndDTD
+extern __typeof (xmlTextWriterEndDTD) xmlTextWriterEndDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndDTD xmlTextWriterEndDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndDTDAttlist
+extern __typeof (xmlTextWriterEndDTDAttlist) xmlTextWriterEndDTDAttlist __attribute((alias("xmlTextWriterEndDTDAttlist__internal_alias")));
+#else
+#ifndef xmlTextWriterEndDTDAttlist
+extern __typeof (xmlTextWriterEndDTDAttlist) xmlTextWriterEndDTDAttlist__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndDTDAttlist xmlTextWriterEndDTDAttlist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndDTDElement
+extern __typeof (xmlTextWriterEndDTDElement) xmlTextWriterEndDTDElement __attribute((alias("xmlTextWriterEndDTDElement__internal_alias")));
+#else
+#ifndef xmlTextWriterEndDTDElement
+extern __typeof (xmlTextWriterEndDTDElement) xmlTextWriterEndDTDElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndDTDElement xmlTextWriterEndDTDElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndDTDEntity
+extern __typeof (xmlTextWriterEndDTDEntity) xmlTextWriterEndDTDEntity __attribute((alias("xmlTextWriterEndDTDEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterEndDTDEntity
+extern __typeof (xmlTextWriterEndDTDEntity) xmlTextWriterEndDTDEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndDTDEntity xmlTextWriterEndDTDEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndDocument
+extern __typeof (xmlTextWriterEndDocument) xmlTextWriterEndDocument __attribute((alias("xmlTextWriterEndDocument__internal_alias")));
+#else
+#ifndef xmlTextWriterEndDocument
+extern __typeof (xmlTextWriterEndDocument) xmlTextWriterEndDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndDocument xmlTextWriterEndDocument__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndElement
+extern __typeof (xmlTextWriterEndElement) xmlTextWriterEndElement __attribute((alias("xmlTextWriterEndElement__internal_alias")));
+#else
+#ifndef xmlTextWriterEndElement
+extern __typeof (xmlTextWriterEndElement) xmlTextWriterEndElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndElement xmlTextWriterEndElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterEndPI
+extern __typeof (xmlTextWriterEndPI) xmlTextWriterEndPI __attribute((alias("xmlTextWriterEndPI__internal_alias")));
+#else
+#ifndef xmlTextWriterEndPI
+extern __typeof (xmlTextWriterEndPI) xmlTextWriterEndPI__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterEndPI xmlTextWriterEndPI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterFlush
+extern __typeof (xmlTextWriterFlush) xmlTextWriterFlush __attribute((alias("xmlTextWriterFlush__internal_alias")));
+#else
+#ifndef xmlTextWriterFlush
+extern __typeof (xmlTextWriterFlush) xmlTextWriterFlush__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterFlush xmlTextWriterFlush__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterFullEndElement
+extern __typeof (xmlTextWriterFullEndElement) xmlTextWriterFullEndElement __attribute((alias("xmlTextWriterFullEndElement__internal_alias")));
+#else
+#ifndef xmlTextWriterFullEndElement
+extern __typeof (xmlTextWriterFullEndElement) xmlTextWriterFullEndElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterFullEndElement xmlTextWriterFullEndElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterSetIndent
+extern __typeof (xmlTextWriterSetIndent) xmlTextWriterSetIndent __attribute((alias("xmlTextWriterSetIndent__internal_alias")));
+#else
+#ifndef xmlTextWriterSetIndent
+extern __typeof (xmlTextWriterSetIndent) xmlTextWriterSetIndent__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterSetIndent xmlTextWriterSetIndent__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterSetIndentString
+extern __typeof (xmlTextWriterSetIndentString) xmlTextWriterSetIndentString __attribute((alias("xmlTextWriterSetIndentString__internal_alias")));
+#else
+#ifndef xmlTextWriterSetIndentString
+extern __typeof (xmlTextWriterSetIndentString) xmlTextWriterSetIndentString__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterSetIndentString xmlTextWriterSetIndentString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterSetQuoteChar
+extern __typeof (xmlTextWriterSetQuoteChar) xmlTextWriterSetQuoteChar __attribute((alias("xmlTextWriterSetQuoteChar__internal_alias")));
+#else
+#ifndef xmlTextWriterSetQuoteChar
+extern __typeof (xmlTextWriterSetQuoteChar) xmlTextWriterSetQuoteChar__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterSetQuoteChar xmlTextWriterSetQuoteChar__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartAttribute
+extern __typeof (xmlTextWriterStartAttribute) xmlTextWriterStartAttribute __attribute((alias("xmlTextWriterStartAttribute__internal_alias")));
+#else
+#ifndef xmlTextWriterStartAttribute
+extern __typeof (xmlTextWriterStartAttribute) xmlTextWriterStartAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartAttribute xmlTextWriterStartAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartAttributeNS
+extern __typeof (xmlTextWriterStartAttributeNS) xmlTextWriterStartAttributeNS __attribute((alias("xmlTextWriterStartAttributeNS__internal_alias")));
+#else
+#ifndef xmlTextWriterStartAttributeNS
+extern __typeof (xmlTextWriterStartAttributeNS) xmlTextWriterStartAttributeNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartAttributeNS xmlTextWriterStartAttributeNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartCDATA
+extern __typeof (xmlTextWriterStartCDATA) xmlTextWriterStartCDATA __attribute((alias("xmlTextWriterStartCDATA__internal_alias")));
+#else
+#ifndef xmlTextWriterStartCDATA
+extern __typeof (xmlTextWriterStartCDATA) xmlTextWriterStartCDATA__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartCDATA xmlTextWriterStartCDATA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartComment
+extern __typeof (xmlTextWriterStartComment) xmlTextWriterStartComment __attribute((alias("xmlTextWriterStartComment__internal_alias")));
+#else
+#ifndef xmlTextWriterStartComment
+extern __typeof (xmlTextWriterStartComment) xmlTextWriterStartComment__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartComment xmlTextWriterStartComment__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartDTD
+extern __typeof (xmlTextWriterStartDTD) xmlTextWriterStartDTD __attribute((alias("xmlTextWriterStartDTD__internal_alias")));
+#else
+#ifndef xmlTextWriterStartDTD
+extern __typeof (xmlTextWriterStartDTD) xmlTextWriterStartDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartDTD xmlTextWriterStartDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartDTDAttlist
+extern __typeof (xmlTextWriterStartDTDAttlist) xmlTextWriterStartDTDAttlist __attribute((alias("xmlTextWriterStartDTDAttlist__internal_alias")));
+#else
+#ifndef xmlTextWriterStartDTDAttlist
+extern __typeof (xmlTextWriterStartDTDAttlist) xmlTextWriterStartDTDAttlist__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartDTDAttlist xmlTextWriterStartDTDAttlist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartDTDElement
+extern __typeof (xmlTextWriterStartDTDElement) xmlTextWriterStartDTDElement __attribute((alias("xmlTextWriterStartDTDElement__internal_alias")));
+#else
+#ifndef xmlTextWriterStartDTDElement
+extern __typeof (xmlTextWriterStartDTDElement) xmlTextWriterStartDTDElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartDTDElement xmlTextWriterStartDTDElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartDTDEntity
+extern __typeof (xmlTextWriterStartDTDEntity) xmlTextWriterStartDTDEntity __attribute((alias("xmlTextWriterStartDTDEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterStartDTDEntity
+extern __typeof (xmlTextWriterStartDTDEntity) xmlTextWriterStartDTDEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartDTDEntity xmlTextWriterStartDTDEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartDocument
+extern __typeof (xmlTextWriterStartDocument) xmlTextWriterStartDocument __attribute((alias("xmlTextWriterStartDocument__internal_alias")));
+#else
+#ifndef xmlTextWriterStartDocument
+extern __typeof (xmlTextWriterStartDocument) xmlTextWriterStartDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartDocument xmlTextWriterStartDocument__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartElement
+extern __typeof (xmlTextWriterStartElement) xmlTextWriterStartElement __attribute((alias("xmlTextWriterStartElement__internal_alias")));
+#else
+#ifndef xmlTextWriterStartElement
+extern __typeof (xmlTextWriterStartElement) xmlTextWriterStartElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartElement xmlTextWriterStartElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartElementNS
+extern __typeof (xmlTextWriterStartElementNS) xmlTextWriterStartElementNS __attribute((alias("xmlTextWriterStartElementNS__internal_alias")));
+#else
+#ifndef xmlTextWriterStartElementNS
+extern __typeof (xmlTextWriterStartElementNS) xmlTextWriterStartElementNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartElementNS xmlTextWriterStartElementNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterStartPI
+extern __typeof (xmlTextWriterStartPI) xmlTextWriterStartPI __attribute((alias("xmlTextWriterStartPI__internal_alias")));
+#else
+#ifndef xmlTextWriterStartPI
+extern __typeof (xmlTextWriterStartPI) xmlTextWriterStartPI__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterStartPI xmlTextWriterStartPI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteAttribute
+extern __typeof (xmlTextWriterWriteAttribute) xmlTextWriterWriteAttribute __attribute((alias("xmlTextWriterWriteAttribute__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteAttribute
+extern __typeof (xmlTextWriterWriteAttribute) xmlTextWriterWriteAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteAttribute xmlTextWriterWriteAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteAttributeNS
+extern __typeof (xmlTextWriterWriteAttributeNS) xmlTextWriterWriteAttributeNS __attribute((alias("xmlTextWriterWriteAttributeNS__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteAttributeNS
+extern __typeof (xmlTextWriterWriteAttributeNS) xmlTextWriterWriteAttributeNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteAttributeNS xmlTextWriterWriteAttributeNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteBase64
+extern __typeof (xmlTextWriterWriteBase64) xmlTextWriterWriteBase64 __attribute((alias("xmlTextWriterWriteBase64__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteBase64
+extern __typeof (xmlTextWriterWriteBase64) xmlTextWriterWriteBase64__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteBase64 xmlTextWriterWriteBase64__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteBinHex
+extern __typeof (xmlTextWriterWriteBinHex) xmlTextWriterWriteBinHex __attribute((alias("xmlTextWriterWriteBinHex__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteBinHex
+extern __typeof (xmlTextWriterWriteBinHex) xmlTextWriterWriteBinHex__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteBinHex xmlTextWriterWriteBinHex__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteCDATA
+extern __typeof (xmlTextWriterWriteCDATA) xmlTextWriterWriteCDATA __attribute((alias("xmlTextWriterWriteCDATA__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteCDATA
+extern __typeof (xmlTextWriterWriteCDATA) xmlTextWriterWriteCDATA__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteCDATA xmlTextWriterWriteCDATA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteComment
+extern __typeof (xmlTextWriterWriteComment) xmlTextWriterWriteComment __attribute((alias("xmlTextWriterWriteComment__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteComment
+extern __typeof (xmlTextWriterWriteComment) xmlTextWriterWriteComment__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteComment xmlTextWriterWriteComment__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTD
+extern __typeof (xmlTextWriterWriteDTD) xmlTextWriterWriteDTD __attribute((alias("xmlTextWriterWriteDTD__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTD
+extern __typeof (xmlTextWriterWriteDTD) xmlTextWriterWriteDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTD xmlTextWriterWriteDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDAttlist
+extern __typeof (xmlTextWriterWriteDTDAttlist) xmlTextWriterWriteDTDAttlist __attribute((alias("xmlTextWriterWriteDTDAttlist__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDAttlist
+extern __typeof (xmlTextWriterWriteDTDAttlist) xmlTextWriterWriteDTDAttlist__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDAttlist xmlTextWriterWriteDTDAttlist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDElement
+extern __typeof (xmlTextWriterWriteDTDElement) xmlTextWriterWriteDTDElement __attribute((alias("xmlTextWriterWriteDTDElement__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDElement
+extern __typeof (xmlTextWriterWriteDTDElement) xmlTextWriterWriteDTDElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDElement xmlTextWriterWriteDTDElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDEntity
+extern __typeof (xmlTextWriterWriteDTDEntity) xmlTextWriterWriteDTDEntity __attribute((alias("xmlTextWriterWriteDTDEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDEntity
+extern __typeof (xmlTextWriterWriteDTDEntity) xmlTextWriterWriteDTDEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDEntity xmlTextWriterWriteDTDEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDExternalEntity
+extern __typeof (xmlTextWriterWriteDTDExternalEntity) xmlTextWriterWriteDTDExternalEntity __attribute((alias("xmlTextWriterWriteDTDExternalEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDExternalEntity
+extern __typeof (xmlTextWriterWriteDTDExternalEntity) xmlTextWriterWriteDTDExternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDExternalEntity xmlTextWriterWriteDTDExternalEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDExternalEntityContents
+extern __typeof (xmlTextWriterWriteDTDExternalEntityContents) xmlTextWriterWriteDTDExternalEntityContents __attribute((alias("xmlTextWriterWriteDTDExternalEntityContents__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDExternalEntityContents
+extern __typeof (xmlTextWriterWriteDTDExternalEntityContents) xmlTextWriterWriteDTDExternalEntityContents__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDExternalEntityContents xmlTextWriterWriteDTDExternalEntityContents__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDInternalEntity
+extern __typeof (xmlTextWriterWriteDTDInternalEntity) xmlTextWriterWriteDTDInternalEntity __attribute((alias("xmlTextWriterWriteDTDInternalEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDInternalEntity
+extern __typeof (xmlTextWriterWriteDTDInternalEntity) xmlTextWriterWriteDTDInternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDInternalEntity xmlTextWriterWriteDTDInternalEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteDTDNotation
+extern __typeof (xmlTextWriterWriteDTDNotation) xmlTextWriterWriteDTDNotation __attribute((alias("xmlTextWriterWriteDTDNotation__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteDTDNotation
+extern __typeof (xmlTextWriterWriteDTDNotation) xmlTextWriterWriteDTDNotation__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteDTDNotation xmlTextWriterWriteDTDNotation__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteElement
+extern __typeof (xmlTextWriterWriteElement) xmlTextWriterWriteElement __attribute((alias("xmlTextWriterWriteElement__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteElement
+extern __typeof (xmlTextWriterWriteElement) xmlTextWriterWriteElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteElement xmlTextWriterWriteElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteElementNS
+extern __typeof (xmlTextWriterWriteElementNS) xmlTextWriterWriteElementNS __attribute((alias("xmlTextWriterWriteElementNS__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteElementNS
+extern __typeof (xmlTextWriterWriteElementNS) xmlTextWriterWriteElementNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteElementNS xmlTextWriterWriteElementNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatAttribute
+extern __typeof (xmlTextWriterWriteFormatAttribute) xmlTextWriterWriteFormatAttribute __attribute((alias("xmlTextWriterWriteFormatAttribute__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatAttribute
+extern __typeof (xmlTextWriterWriteFormatAttribute) xmlTextWriterWriteFormatAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatAttribute xmlTextWriterWriteFormatAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatAttributeNS
+extern __typeof (xmlTextWriterWriteFormatAttributeNS) xmlTextWriterWriteFormatAttributeNS __attribute((alias("xmlTextWriterWriteFormatAttributeNS__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatAttributeNS
+extern __typeof (xmlTextWriterWriteFormatAttributeNS) xmlTextWriterWriteFormatAttributeNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatAttributeNS xmlTextWriterWriteFormatAttributeNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatCDATA
+extern __typeof (xmlTextWriterWriteFormatCDATA) xmlTextWriterWriteFormatCDATA __attribute((alias("xmlTextWriterWriteFormatCDATA__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatCDATA
+extern __typeof (xmlTextWriterWriteFormatCDATA) xmlTextWriterWriteFormatCDATA__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatCDATA xmlTextWriterWriteFormatCDATA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatComment
+extern __typeof (xmlTextWriterWriteFormatComment) xmlTextWriterWriteFormatComment __attribute((alias("xmlTextWriterWriteFormatComment__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatComment
+extern __typeof (xmlTextWriterWriteFormatComment) xmlTextWriterWriteFormatComment__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatComment xmlTextWriterWriteFormatComment__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatDTD
+extern __typeof (xmlTextWriterWriteFormatDTD) xmlTextWriterWriteFormatDTD __attribute((alias("xmlTextWriterWriteFormatDTD__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatDTD
+extern __typeof (xmlTextWriterWriteFormatDTD) xmlTextWriterWriteFormatDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatDTD xmlTextWriterWriteFormatDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatDTDAttlist
+extern __typeof (xmlTextWriterWriteFormatDTDAttlist) xmlTextWriterWriteFormatDTDAttlist __attribute((alias("xmlTextWriterWriteFormatDTDAttlist__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatDTDAttlist
+extern __typeof (xmlTextWriterWriteFormatDTDAttlist) xmlTextWriterWriteFormatDTDAttlist__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatDTDAttlist xmlTextWriterWriteFormatDTDAttlist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatDTDElement
+extern __typeof (xmlTextWriterWriteFormatDTDElement) xmlTextWriterWriteFormatDTDElement __attribute((alias("xmlTextWriterWriteFormatDTDElement__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatDTDElement
+extern __typeof (xmlTextWriterWriteFormatDTDElement) xmlTextWriterWriteFormatDTDElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatDTDElement xmlTextWriterWriteFormatDTDElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatDTDInternalEntity
+extern __typeof (xmlTextWriterWriteFormatDTDInternalEntity) xmlTextWriterWriteFormatDTDInternalEntity __attribute((alias("xmlTextWriterWriteFormatDTDInternalEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatDTDInternalEntity
+extern __typeof (xmlTextWriterWriteFormatDTDInternalEntity) xmlTextWriterWriteFormatDTDInternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatDTDInternalEntity xmlTextWriterWriteFormatDTDInternalEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatElement
+extern __typeof (xmlTextWriterWriteFormatElement) xmlTextWriterWriteFormatElement __attribute((alias("xmlTextWriterWriteFormatElement__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatElement
+extern __typeof (xmlTextWriterWriteFormatElement) xmlTextWriterWriteFormatElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatElement xmlTextWriterWriteFormatElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatElementNS
+extern __typeof (xmlTextWriterWriteFormatElementNS) xmlTextWriterWriteFormatElementNS __attribute((alias("xmlTextWriterWriteFormatElementNS__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatElementNS
+extern __typeof (xmlTextWriterWriteFormatElementNS) xmlTextWriterWriteFormatElementNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatElementNS xmlTextWriterWriteFormatElementNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatPI
+extern __typeof (xmlTextWriterWriteFormatPI) xmlTextWriterWriteFormatPI __attribute((alias("xmlTextWriterWriteFormatPI__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatPI
+extern __typeof (xmlTextWriterWriteFormatPI) xmlTextWriterWriteFormatPI__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatPI xmlTextWriterWriteFormatPI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatRaw
+extern __typeof (xmlTextWriterWriteFormatRaw) xmlTextWriterWriteFormatRaw __attribute((alias("xmlTextWriterWriteFormatRaw__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatRaw
+extern __typeof (xmlTextWriterWriteFormatRaw) xmlTextWriterWriteFormatRaw__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatRaw xmlTextWriterWriteFormatRaw__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteFormatString
+extern __typeof (xmlTextWriterWriteFormatString) xmlTextWriterWriteFormatString __attribute((alias("xmlTextWriterWriteFormatString__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteFormatString
+extern __typeof (xmlTextWriterWriteFormatString) xmlTextWriterWriteFormatString__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteFormatString xmlTextWriterWriteFormatString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWritePI
+extern __typeof (xmlTextWriterWritePI) xmlTextWriterWritePI __attribute((alias("xmlTextWriterWritePI__internal_alias")));
+#else
+#ifndef xmlTextWriterWritePI
+extern __typeof (xmlTextWriterWritePI) xmlTextWriterWritePI__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWritePI xmlTextWriterWritePI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteRaw
+extern __typeof (xmlTextWriterWriteRaw) xmlTextWriterWriteRaw __attribute((alias("xmlTextWriterWriteRaw__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteRaw
+extern __typeof (xmlTextWriterWriteRaw) xmlTextWriterWriteRaw__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteRaw xmlTextWriterWriteRaw__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteRawLen
+extern __typeof (xmlTextWriterWriteRawLen) xmlTextWriterWriteRawLen __attribute((alias("xmlTextWriterWriteRawLen__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteRawLen
+extern __typeof (xmlTextWriterWriteRawLen) xmlTextWriterWriteRawLen__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteRawLen xmlTextWriterWriteRawLen__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteString
+extern __typeof (xmlTextWriterWriteString) xmlTextWriterWriteString __attribute((alias("xmlTextWriterWriteString__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteString
+extern __typeof (xmlTextWriterWriteString) xmlTextWriterWriteString__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteString xmlTextWriterWriteString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatAttribute
+extern __typeof (xmlTextWriterWriteVFormatAttribute) xmlTextWriterWriteVFormatAttribute __attribute((alias("xmlTextWriterWriteVFormatAttribute__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatAttribute
+extern __typeof (xmlTextWriterWriteVFormatAttribute) xmlTextWriterWriteVFormatAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatAttribute xmlTextWriterWriteVFormatAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatAttributeNS
+extern __typeof (xmlTextWriterWriteVFormatAttributeNS) xmlTextWriterWriteVFormatAttributeNS __attribute((alias("xmlTextWriterWriteVFormatAttributeNS__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatAttributeNS
+extern __typeof (xmlTextWriterWriteVFormatAttributeNS) xmlTextWriterWriteVFormatAttributeNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatAttributeNS xmlTextWriterWriteVFormatAttributeNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatCDATA
+extern __typeof (xmlTextWriterWriteVFormatCDATA) xmlTextWriterWriteVFormatCDATA __attribute((alias("xmlTextWriterWriteVFormatCDATA__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatCDATA
+extern __typeof (xmlTextWriterWriteVFormatCDATA) xmlTextWriterWriteVFormatCDATA__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatCDATA xmlTextWriterWriteVFormatCDATA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatComment
+extern __typeof (xmlTextWriterWriteVFormatComment) xmlTextWriterWriteVFormatComment __attribute((alias("xmlTextWriterWriteVFormatComment__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatComment
+extern __typeof (xmlTextWriterWriteVFormatComment) xmlTextWriterWriteVFormatComment__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatComment xmlTextWriterWriteVFormatComment__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatDTD
+extern __typeof (xmlTextWriterWriteVFormatDTD) xmlTextWriterWriteVFormatDTD __attribute((alias("xmlTextWriterWriteVFormatDTD__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatDTD
+extern __typeof (xmlTextWriterWriteVFormatDTD) xmlTextWriterWriteVFormatDTD__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatDTD xmlTextWriterWriteVFormatDTD__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatDTDAttlist
+extern __typeof (xmlTextWriterWriteVFormatDTDAttlist) xmlTextWriterWriteVFormatDTDAttlist __attribute((alias("xmlTextWriterWriteVFormatDTDAttlist__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatDTDAttlist
+extern __typeof (xmlTextWriterWriteVFormatDTDAttlist) xmlTextWriterWriteVFormatDTDAttlist__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatDTDAttlist xmlTextWriterWriteVFormatDTDAttlist__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatDTDElement
+extern __typeof (xmlTextWriterWriteVFormatDTDElement) xmlTextWriterWriteVFormatDTDElement __attribute((alias("xmlTextWriterWriteVFormatDTDElement__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatDTDElement
+extern __typeof (xmlTextWriterWriteVFormatDTDElement) xmlTextWriterWriteVFormatDTDElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatDTDElement xmlTextWriterWriteVFormatDTDElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatDTDInternalEntity
+extern __typeof (xmlTextWriterWriteVFormatDTDInternalEntity) xmlTextWriterWriteVFormatDTDInternalEntity __attribute((alias("xmlTextWriterWriteVFormatDTDInternalEntity__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatDTDInternalEntity
+extern __typeof (xmlTextWriterWriteVFormatDTDInternalEntity) xmlTextWriterWriteVFormatDTDInternalEntity__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatDTDInternalEntity xmlTextWriterWriteVFormatDTDInternalEntity__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatElement
+extern __typeof (xmlTextWriterWriteVFormatElement) xmlTextWriterWriteVFormatElement __attribute((alias("xmlTextWriterWriteVFormatElement__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatElement
+extern __typeof (xmlTextWriterWriteVFormatElement) xmlTextWriterWriteVFormatElement__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatElement xmlTextWriterWriteVFormatElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatElementNS
+extern __typeof (xmlTextWriterWriteVFormatElementNS) xmlTextWriterWriteVFormatElementNS __attribute((alias("xmlTextWriterWriteVFormatElementNS__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatElementNS
+extern __typeof (xmlTextWriterWriteVFormatElementNS) xmlTextWriterWriteVFormatElementNS__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatElementNS xmlTextWriterWriteVFormatElementNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatPI
+extern __typeof (xmlTextWriterWriteVFormatPI) xmlTextWriterWriteVFormatPI __attribute((alias("xmlTextWriterWriteVFormatPI__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatPI
+extern __typeof (xmlTextWriterWriteVFormatPI) xmlTextWriterWriteVFormatPI__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatPI xmlTextWriterWriteVFormatPI__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatRaw
+extern __typeof (xmlTextWriterWriteVFormatRaw) xmlTextWriterWriteVFormatRaw __attribute((alias("xmlTextWriterWriteVFormatRaw__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatRaw
+extern __typeof (xmlTextWriterWriteVFormatRaw) xmlTextWriterWriteVFormatRaw__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatRaw xmlTextWriterWriteVFormatRaw__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterWriteVFormatString
+extern __typeof (xmlTextWriterWriteVFormatString) xmlTextWriterWriteVFormatString __attribute((alias("xmlTextWriterWriteVFormatString__internal_alias")));
+#else
+#ifndef xmlTextWriterWriteVFormatString
+extern __typeof (xmlTextWriterWriteVFormatString) xmlTextWriterWriteVFormatString__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterWriteVFormatString xmlTextWriterWriteVFormatString__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefBufferAllocScheme
+extern __typeof (xmlThrDefBufferAllocScheme) xmlThrDefBufferAllocScheme __attribute((alias("xmlThrDefBufferAllocScheme__internal_alias")));
+#else
+#ifndef xmlThrDefBufferAllocScheme
+extern __typeof (xmlThrDefBufferAllocScheme) xmlThrDefBufferAllocScheme__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefBufferAllocScheme xmlThrDefBufferAllocScheme__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefDefaultBufferSize
+extern __typeof (xmlThrDefDefaultBufferSize) xmlThrDefDefaultBufferSize __attribute((alias("xmlThrDefDefaultBufferSize__internal_alias")));
+#else
+#ifndef xmlThrDefDefaultBufferSize
+extern __typeof (xmlThrDefDefaultBufferSize) xmlThrDefDefaultBufferSize__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefDefaultBufferSize xmlThrDefDefaultBufferSize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefDeregisterNodeDefault
+extern __typeof (xmlThrDefDeregisterNodeDefault) xmlThrDefDeregisterNodeDefault __attribute((alias("xmlThrDefDeregisterNodeDefault__internal_alias")));
+#else
+#ifndef xmlThrDefDeregisterNodeDefault
+extern __typeof (xmlThrDefDeregisterNodeDefault) xmlThrDefDeregisterNodeDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefDeregisterNodeDefault xmlThrDefDeregisterNodeDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefDoValidityCheckingDefaultValue
+extern __typeof (xmlThrDefDoValidityCheckingDefaultValue) xmlThrDefDoValidityCheckingDefaultValue __attribute((alias("xmlThrDefDoValidityCheckingDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefDoValidityCheckingDefaultValue
+extern __typeof (xmlThrDefDoValidityCheckingDefaultValue) xmlThrDefDoValidityCheckingDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefDoValidityCheckingDefaultValue xmlThrDefDoValidityCheckingDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefGetWarningsDefaultValue
+extern __typeof (xmlThrDefGetWarningsDefaultValue) xmlThrDefGetWarningsDefaultValue __attribute((alias("xmlThrDefGetWarningsDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefGetWarningsDefaultValue
+extern __typeof (xmlThrDefGetWarningsDefaultValue) xmlThrDefGetWarningsDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefGetWarningsDefaultValue xmlThrDefGetWarningsDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefIndentTreeOutput
+extern __typeof (xmlThrDefIndentTreeOutput) xmlThrDefIndentTreeOutput __attribute((alias("xmlThrDefIndentTreeOutput__internal_alias")));
+#else
+#ifndef xmlThrDefIndentTreeOutput
+extern __typeof (xmlThrDefIndentTreeOutput) xmlThrDefIndentTreeOutput__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefIndentTreeOutput xmlThrDefIndentTreeOutput__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefKeepBlanksDefaultValue
+extern __typeof (xmlThrDefKeepBlanksDefaultValue) xmlThrDefKeepBlanksDefaultValue __attribute((alias("xmlThrDefKeepBlanksDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefKeepBlanksDefaultValue
+extern __typeof (xmlThrDefKeepBlanksDefaultValue) xmlThrDefKeepBlanksDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefKeepBlanksDefaultValue xmlThrDefKeepBlanksDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefLineNumbersDefaultValue
+extern __typeof (xmlThrDefLineNumbersDefaultValue) xmlThrDefLineNumbersDefaultValue __attribute((alias("xmlThrDefLineNumbersDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefLineNumbersDefaultValue
+extern __typeof (xmlThrDefLineNumbersDefaultValue) xmlThrDefLineNumbersDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefLineNumbersDefaultValue xmlThrDefLineNumbersDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefLoadExtDtdDefaultValue
+extern __typeof (xmlThrDefLoadExtDtdDefaultValue) xmlThrDefLoadExtDtdDefaultValue __attribute((alias("xmlThrDefLoadExtDtdDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefLoadExtDtdDefaultValue
+extern __typeof (xmlThrDefLoadExtDtdDefaultValue) xmlThrDefLoadExtDtdDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefLoadExtDtdDefaultValue xmlThrDefLoadExtDtdDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefOutputBufferCreateFilenameDefault
+extern __typeof (xmlThrDefOutputBufferCreateFilenameDefault) xmlThrDefOutputBufferCreateFilenameDefault __attribute((alias("xmlThrDefOutputBufferCreateFilenameDefault__internal_alias")));
+#else
+#ifndef xmlThrDefOutputBufferCreateFilenameDefault
+extern __typeof (xmlThrDefOutputBufferCreateFilenameDefault) xmlThrDefOutputBufferCreateFilenameDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefOutputBufferCreateFilenameDefault xmlThrDefOutputBufferCreateFilenameDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefParserDebugEntities
+extern __typeof (xmlThrDefParserDebugEntities) xmlThrDefParserDebugEntities __attribute((alias("xmlThrDefParserDebugEntities__internal_alias")));
+#else
+#ifndef xmlThrDefParserDebugEntities
+extern __typeof (xmlThrDefParserDebugEntities) xmlThrDefParserDebugEntities__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefParserDebugEntities xmlThrDefParserDebugEntities__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefParserInputBufferCreateFilenameDefault
+extern __typeof (xmlThrDefParserInputBufferCreateFilenameDefault) xmlThrDefParserInputBufferCreateFilenameDefault __attribute((alias("xmlThrDefParserInputBufferCreateFilenameDefault__internal_alias")));
+#else
+#ifndef xmlThrDefParserInputBufferCreateFilenameDefault
+extern __typeof (xmlThrDefParserInputBufferCreateFilenameDefault) xmlThrDefParserInputBufferCreateFilenameDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefParserInputBufferCreateFilenameDefault xmlThrDefParserInputBufferCreateFilenameDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefPedanticParserDefaultValue
+extern __typeof (xmlThrDefPedanticParserDefaultValue) xmlThrDefPedanticParserDefaultValue __attribute((alias("xmlThrDefPedanticParserDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefPedanticParserDefaultValue
+extern __typeof (xmlThrDefPedanticParserDefaultValue) xmlThrDefPedanticParserDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefPedanticParserDefaultValue xmlThrDefPedanticParserDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefRegisterNodeDefault
+extern __typeof (xmlThrDefRegisterNodeDefault) xmlThrDefRegisterNodeDefault __attribute((alias("xmlThrDefRegisterNodeDefault__internal_alias")));
+#else
+#ifndef xmlThrDefRegisterNodeDefault
+extern __typeof (xmlThrDefRegisterNodeDefault) xmlThrDefRegisterNodeDefault__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefRegisterNodeDefault xmlThrDefRegisterNodeDefault__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefSaveNoEmptyTags
+extern __typeof (xmlThrDefSaveNoEmptyTags) xmlThrDefSaveNoEmptyTags __attribute((alias("xmlThrDefSaveNoEmptyTags__internal_alias")));
+#else
+#ifndef xmlThrDefSaveNoEmptyTags
+extern __typeof (xmlThrDefSaveNoEmptyTags) xmlThrDefSaveNoEmptyTags__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefSaveNoEmptyTags xmlThrDefSaveNoEmptyTags__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefSetGenericErrorFunc
+extern __typeof (xmlThrDefSetGenericErrorFunc) xmlThrDefSetGenericErrorFunc __attribute((alias("xmlThrDefSetGenericErrorFunc__internal_alias")));
+#else
+#ifndef xmlThrDefSetGenericErrorFunc
+extern __typeof (xmlThrDefSetGenericErrorFunc) xmlThrDefSetGenericErrorFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefSetGenericErrorFunc xmlThrDefSetGenericErrorFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefSetStructuredErrorFunc
+extern __typeof (xmlThrDefSetStructuredErrorFunc) xmlThrDefSetStructuredErrorFunc __attribute((alias("xmlThrDefSetStructuredErrorFunc__internal_alias")));
+#else
+#ifndef xmlThrDefSetStructuredErrorFunc
+extern __typeof (xmlThrDefSetStructuredErrorFunc) xmlThrDefSetStructuredErrorFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefSetStructuredErrorFunc xmlThrDefSetStructuredErrorFunc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefSubstituteEntitiesDefaultValue
+extern __typeof (xmlThrDefSubstituteEntitiesDefaultValue) xmlThrDefSubstituteEntitiesDefaultValue __attribute((alias("xmlThrDefSubstituteEntitiesDefaultValue__internal_alias")));
+#else
+#ifndef xmlThrDefSubstituteEntitiesDefaultValue
+extern __typeof (xmlThrDefSubstituteEntitiesDefaultValue) xmlThrDefSubstituteEntitiesDefaultValue__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefSubstituteEntitiesDefaultValue xmlThrDefSubstituteEntitiesDefaultValue__internal_alias
+#endif
+#endif
+
+#ifdef bottom_globals
+#undef xmlThrDefTreeIndentString
+extern __typeof (xmlThrDefTreeIndentString) xmlThrDefTreeIndentString __attribute((alias("xmlThrDefTreeIndentString__internal_alias")));
+#else
+#ifndef xmlThrDefTreeIndentString
+extern __typeof (xmlThrDefTreeIndentString) xmlThrDefTreeIndentString__internal_alias __attribute((visibility("hidden")));
+#define xmlThrDefTreeIndentString xmlThrDefTreeIndentString__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsAegeanNumbers
+extern __typeof (xmlUCSIsAegeanNumbers) xmlUCSIsAegeanNumbers __attribute((alias("xmlUCSIsAegeanNumbers__internal_alias")));
+#else
+#ifndef xmlUCSIsAegeanNumbers
+extern __typeof (xmlUCSIsAegeanNumbers) xmlUCSIsAegeanNumbers__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsAegeanNumbers xmlUCSIsAegeanNumbers__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsAlphabeticPresentationForms
+extern __typeof (xmlUCSIsAlphabeticPresentationForms) xmlUCSIsAlphabeticPresentationForms __attribute((alias("xmlUCSIsAlphabeticPresentationForms__internal_alias")));
+#else
+#ifndef xmlUCSIsAlphabeticPresentationForms
+extern __typeof (xmlUCSIsAlphabeticPresentationForms) xmlUCSIsAlphabeticPresentationForms__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsAlphabeticPresentationForms xmlUCSIsAlphabeticPresentationForms__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsArabic
+extern __typeof (xmlUCSIsArabic) xmlUCSIsArabic __attribute((alias("xmlUCSIsArabic__internal_alias")));
+#else
+#ifndef xmlUCSIsArabic
+extern __typeof (xmlUCSIsArabic) xmlUCSIsArabic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsArabic xmlUCSIsArabic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsArabicPresentationFormsA
+extern __typeof (xmlUCSIsArabicPresentationFormsA) xmlUCSIsArabicPresentationFormsA __attribute((alias("xmlUCSIsArabicPresentationFormsA__internal_alias")));
+#else
+#ifndef xmlUCSIsArabicPresentationFormsA
+extern __typeof (xmlUCSIsArabicPresentationFormsA) xmlUCSIsArabicPresentationFormsA__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsArabicPresentationFormsA xmlUCSIsArabicPresentationFormsA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsArabicPresentationFormsB
+extern __typeof (xmlUCSIsArabicPresentationFormsB) xmlUCSIsArabicPresentationFormsB __attribute((alias("xmlUCSIsArabicPresentationFormsB__internal_alias")));
+#else
+#ifndef xmlUCSIsArabicPresentationFormsB
+extern __typeof (xmlUCSIsArabicPresentationFormsB) xmlUCSIsArabicPresentationFormsB__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsArabicPresentationFormsB xmlUCSIsArabicPresentationFormsB__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsArmenian
+extern __typeof (xmlUCSIsArmenian) xmlUCSIsArmenian __attribute((alias("xmlUCSIsArmenian__internal_alias")));
+#else
+#ifndef xmlUCSIsArmenian
+extern __typeof (xmlUCSIsArmenian) xmlUCSIsArmenian__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsArmenian xmlUCSIsArmenian__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsArrows
+extern __typeof (xmlUCSIsArrows) xmlUCSIsArrows __attribute((alias("xmlUCSIsArrows__internal_alias")));
+#else
+#ifndef xmlUCSIsArrows
+extern __typeof (xmlUCSIsArrows) xmlUCSIsArrows__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsArrows xmlUCSIsArrows__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBasicLatin
+extern __typeof (xmlUCSIsBasicLatin) xmlUCSIsBasicLatin __attribute((alias("xmlUCSIsBasicLatin__internal_alias")));
+#else
+#ifndef xmlUCSIsBasicLatin
+extern __typeof (xmlUCSIsBasicLatin) xmlUCSIsBasicLatin__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBasicLatin xmlUCSIsBasicLatin__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBengali
+extern __typeof (xmlUCSIsBengali) xmlUCSIsBengali __attribute((alias("xmlUCSIsBengali__internal_alias")));
+#else
+#ifndef xmlUCSIsBengali
+extern __typeof (xmlUCSIsBengali) xmlUCSIsBengali__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBengali xmlUCSIsBengali__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBlock
+extern __typeof (xmlUCSIsBlock) xmlUCSIsBlock __attribute((alias("xmlUCSIsBlock__internal_alias")));
+#else
+#ifndef xmlUCSIsBlock
+extern __typeof (xmlUCSIsBlock) xmlUCSIsBlock__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBlock xmlUCSIsBlock__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBlockElements
+extern __typeof (xmlUCSIsBlockElements) xmlUCSIsBlockElements __attribute((alias("xmlUCSIsBlockElements__internal_alias")));
+#else
+#ifndef xmlUCSIsBlockElements
+extern __typeof (xmlUCSIsBlockElements) xmlUCSIsBlockElements__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBlockElements xmlUCSIsBlockElements__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBopomofo
+extern __typeof (xmlUCSIsBopomofo) xmlUCSIsBopomofo __attribute((alias("xmlUCSIsBopomofo__internal_alias")));
+#else
+#ifndef xmlUCSIsBopomofo
+extern __typeof (xmlUCSIsBopomofo) xmlUCSIsBopomofo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBopomofo xmlUCSIsBopomofo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBopomofoExtended
+extern __typeof (xmlUCSIsBopomofoExtended) xmlUCSIsBopomofoExtended __attribute((alias("xmlUCSIsBopomofoExtended__internal_alias")));
+#else
+#ifndef xmlUCSIsBopomofoExtended
+extern __typeof (xmlUCSIsBopomofoExtended) xmlUCSIsBopomofoExtended__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBopomofoExtended xmlUCSIsBopomofoExtended__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBoxDrawing
+extern __typeof (xmlUCSIsBoxDrawing) xmlUCSIsBoxDrawing __attribute((alias("xmlUCSIsBoxDrawing__internal_alias")));
+#else
+#ifndef xmlUCSIsBoxDrawing
+extern __typeof (xmlUCSIsBoxDrawing) xmlUCSIsBoxDrawing__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBoxDrawing xmlUCSIsBoxDrawing__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBraillePatterns
+extern __typeof (xmlUCSIsBraillePatterns) xmlUCSIsBraillePatterns __attribute((alias("xmlUCSIsBraillePatterns__internal_alias")));
+#else
+#ifndef xmlUCSIsBraillePatterns
+extern __typeof (xmlUCSIsBraillePatterns) xmlUCSIsBraillePatterns__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBraillePatterns xmlUCSIsBraillePatterns__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsBuhid
+extern __typeof (xmlUCSIsBuhid) xmlUCSIsBuhid __attribute((alias("xmlUCSIsBuhid__internal_alias")));
+#else
+#ifndef xmlUCSIsBuhid
+extern __typeof (xmlUCSIsBuhid) xmlUCSIsBuhid__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsBuhid xmlUCSIsBuhid__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsByzantineMusicalSymbols
+extern __typeof (xmlUCSIsByzantineMusicalSymbols) xmlUCSIsByzantineMusicalSymbols __attribute((alias("xmlUCSIsByzantineMusicalSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsByzantineMusicalSymbols
+extern __typeof (xmlUCSIsByzantineMusicalSymbols) xmlUCSIsByzantineMusicalSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsByzantineMusicalSymbols xmlUCSIsByzantineMusicalSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKCompatibility
+extern __typeof (xmlUCSIsCJKCompatibility) xmlUCSIsCJKCompatibility __attribute((alias("xmlUCSIsCJKCompatibility__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKCompatibility
+extern __typeof (xmlUCSIsCJKCompatibility) xmlUCSIsCJKCompatibility__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKCompatibility xmlUCSIsCJKCompatibility__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKCompatibilityForms
+extern __typeof (xmlUCSIsCJKCompatibilityForms) xmlUCSIsCJKCompatibilityForms __attribute((alias("xmlUCSIsCJKCompatibilityForms__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKCompatibilityForms
+extern __typeof (xmlUCSIsCJKCompatibilityForms) xmlUCSIsCJKCompatibilityForms__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKCompatibilityForms xmlUCSIsCJKCompatibilityForms__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKCompatibilityIdeographs
+extern __typeof (xmlUCSIsCJKCompatibilityIdeographs) xmlUCSIsCJKCompatibilityIdeographs __attribute((alias("xmlUCSIsCJKCompatibilityIdeographs__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKCompatibilityIdeographs
+extern __typeof (xmlUCSIsCJKCompatibilityIdeographs) xmlUCSIsCJKCompatibilityIdeographs__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKCompatibilityIdeographs xmlUCSIsCJKCompatibilityIdeographs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKCompatibilityIdeographsSupplement
+extern __typeof (xmlUCSIsCJKCompatibilityIdeographsSupplement) xmlUCSIsCJKCompatibilityIdeographsSupplement __attribute((alias("xmlUCSIsCJKCompatibilityIdeographsSupplement__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKCompatibilityIdeographsSupplement
+extern __typeof (xmlUCSIsCJKCompatibilityIdeographsSupplement) xmlUCSIsCJKCompatibilityIdeographsSupplement__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKCompatibilityIdeographsSupplement xmlUCSIsCJKCompatibilityIdeographsSupplement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKRadicalsSupplement
+extern __typeof (xmlUCSIsCJKRadicalsSupplement) xmlUCSIsCJKRadicalsSupplement __attribute((alias("xmlUCSIsCJKRadicalsSupplement__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKRadicalsSupplement
+extern __typeof (xmlUCSIsCJKRadicalsSupplement) xmlUCSIsCJKRadicalsSupplement__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKRadicalsSupplement xmlUCSIsCJKRadicalsSupplement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKSymbolsandPunctuation
+extern __typeof (xmlUCSIsCJKSymbolsandPunctuation) xmlUCSIsCJKSymbolsandPunctuation __attribute((alias("xmlUCSIsCJKSymbolsandPunctuation__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKSymbolsandPunctuation
+extern __typeof (xmlUCSIsCJKSymbolsandPunctuation) xmlUCSIsCJKSymbolsandPunctuation__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKSymbolsandPunctuation xmlUCSIsCJKSymbolsandPunctuation__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKUnifiedIdeographs
+extern __typeof (xmlUCSIsCJKUnifiedIdeographs) xmlUCSIsCJKUnifiedIdeographs __attribute((alias("xmlUCSIsCJKUnifiedIdeographs__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKUnifiedIdeographs
+extern __typeof (xmlUCSIsCJKUnifiedIdeographs) xmlUCSIsCJKUnifiedIdeographs__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKUnifiedIdeographs xmlUCSIsCJKUnifiedIdeographs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKUnifiedIdeographsExtensionA
+extern __typeof (xmlUCSIsCJKUnifiedIdeographsExtensionA) xmlUCSIsCJKUnifiedIdeographsExtensionA __attribute((alias("xmlUCSIsCJKUnifiedIdeographsExtensionA__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKUnifiedIdeographsExtensionA
+extern __typeof (xmlUCSIsCJKUnifiedIdeographsExtensionA) xmlUCSIsCJKUnifiedIdeographsExtensionA__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKUnifiedIdeographsExtensionA xmlUCSIsCJKUnifiedIdeographsExtensionA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCJKUnifiedIdeographsExtensionB
+extern __typeof (xmlUCSIsCJKUnifiedIdeographsExtensionB) xmlUCSIsCJKUnifiedIdeographsExtensionB __attribute((alias("xmlUCSIsCJKUnifiedIdeographsExtensionB__internal_alias")));
+#else
+#ifndef xmlUCSIsCJKUnifiedIdeographsExtensionB
+extern __typeof (xmlUCSIsCJKUnifiedIdeographsExtensionB) xmlUCSIsCJKUnifiedIdeographsExtensionB__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCJKUnifiedIdeographsExtensionB xmlUCSIsCJKUnifiedIdeographsExtensionB__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCat
+extern __typeof (xmlUCSIsCat) xmlUCSIsCat __attribute((alias("xmlUCSIsCat__internal_alias")));
+#else
+#ifndef xmlUCSIsCat
+extern __typeof (xmlUCSIsCat) xmlUCSIsCat__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCat xmlUCSIsCat__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatC
+extern __typeof (xmlUCSIsCatC) xmlUCSIsCatC __attribute((alias("xmlUCSIsCatC__internal_alias")));
+#else
+#ifndef xmlUCSIsCatC
+extern __typeof (xmlUCSIsCatC) xmlUCSIsCatC__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatC xmlUCSIsCatC__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatCc
+extern __typeof (xmlUCSIsCatCc) xmlUCSIsCatCc __attribute((alias("xmlUCSIsCatCc__internal_alias")));
+#else
+#ifndef xmlUCSIsCatCc
+extern __typeof (xmlUCSIsCatCc) xmlUCSIsCatCc__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatCc xmlUCSIsCatCc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatCf
+extern __typeof (xmlUCSIsCatCf) xmlUCSIsCatCf __attribute((alias("xmlUCSIsCatCf__internal_alias")));
+#else
+#ifndef xmlUCSIsCatCf
+extern __typeof (xmlUCSIsCatCf) xmlUCSIsCatCf__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatCf xmlUCSIsCatCf__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatCo
+extern __typeof (xmlUCSIsCatCo) xmlUCSIsCatCo __attribute((alias("xmlUCSIsCatCo__internal_alias")));
+#else
+#ifndef xmlUCSIsCatCo
+extern __typeof (xmlUCSIsCatCo) xmlUCSIsCatCo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatCo xmlUCSIsCatCo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatCs
+extern __typeof (xmlUCSIsCatCs) xmlUCSIsCatCs __attribute((alias("xmlUCSIsCatCs__internal_alias")));
+#else
+#ifndef xmlUCSIsCatCs
+extern __typeof (xmlUCSIsCatCs) xmlUCSIsCatCs__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatCs xmlUCSIsCatCs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatL
+extern __typeof (xmlUCSIsCatL) xmlUCSIsCatL __attribute((alias("xmlUCSIsCatL__internal_alias")));
+#else
+#ifndef xmlUCSIsCatL
+extern __typeof (xmlUCSIsCatL) xmlUCSIsCatL__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatL xmlUCSIsCatL__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatLl
+extern __typeof (xmlUCSIsCatLl) xmlUCSIsCatLl __attribute((alias("xmlUCSIsCatLl__internal_alias")));
+#else
+#ifndef xmlUCSIsCatLl
+extern __typeof (xmlUCSIsCatLl) xmlUCSIsCatLl__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatLl xmlUCSIsCatLl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatLm
+extern __typeof (xmlUCSIsCatLm) xmlUCSIsCatLm __attribute((alias("xmlUCSIsCatLm__internal_alias")));
+#else
+#ifndef xmlUCSIsCatLm
+extern __typeof (xmlUCSIsCatLm) xmlUCSIsCatLm__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatLm xmlUCSIsCatLm__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatLo
+extern __typeof (xmlUCSIsCatLo) xmlUCSIsCatLo __attribute((alias("xmlUCSIsCatLo__internal_alias")));
+#else
+#ifndef xmlUCSIsCatLo
+extern __typeof (xmlUCSIsCatLo) xmlUCSIsCatLo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatLo xmlUCSIsCatLo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatLt
+extern __typeof (xmlUCSIsCatLt) xmlUCSIsCatLt __attribute((alias("xmlUCSIsCatLt__internal_alias")));
+#else
+#ifndef xmlUCSIsCatLt
+extern __typeof (xmlUCSIsCatLt) xmlUCSIsCatLt__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatLt xmlUCSIsCatLt__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatLu
+extern __typeof (xmlUCSIsCatLu) xmlUCSIsCatLu __attribute((alias("xmlUCSIsCatLu__internal_alias")));
+#else
+#ifndef xmlUCSIsCatLu
+extern __typeof (xmlUCSIsCatLu) xmlUCSIsCatLu__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatLu xmlUCSIsCatLu__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatM
+extern __typeof (xmlUCSIsCatM) xmlUCSIsCatM __attribute((alias("xmlUCSIsCatM__internal_alias")));
+#else
+#ifndef xmlUCSIsCatM
+extern __typeof (xmlUCSIsCatM) xmlUCSIsCatM__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatM xmlUCSIsCatM__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatMc
+extern __typeof (xmlUCSIsCatMc) xmlUCSIsCatMc __attribute((alias("xmlUCSIsCatMc__internal_alias")));
+#else
+#ifndef xmlUCSIsCatMc
+extern __typeof (xmlUCSIsCatMc) xmlUCSIsCatMc__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatMc xmlUCSIsCatMc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatMe
+extern __typeof (xmlUCSIsCatMe) xmlUCSIsCatMe __attribute((alias("xmlUCSIsCatMe__internal_alias")));
+#else
+#ifndef xmlUCSIsCatMe
+extern __typeof (xmlUCSIsCatMe) xmlUCSIsCatMe__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatMe xmlUCSIsCatMe__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatMn
+extern __typeof (xmlUCSIsCatMn) xmlUCSIsCatMn __attribute((alias("xmlUCSIsCatMn__internal_alias")));
+#else
+#ifndef xmlUCSIsCatMn
+extern __typeof (xmlUCSIsCatMn) xmlUCSIsCatMn__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatMn xmlUCSIsCatMn__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatN
+extern __typeof (xmlUCSIsCatN) xmlUCSIsCatN __attribute((alias("xmlUCSIsCatN__internal_alias")));
+#else
+#ifndef xmlUCSIsCatN
+extern __typeof (xmlUCSIsCatN) xmlUCSIsCatN__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatN xmlUCSIsCatN__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatNd
+extern __typeof (xmlUCSIsCatNd) xmlUCSIsCatNd __attribute((alias("xmlUCSIsCatNd__internal_alias")));
+#else
+#ifndef xmlUCSIsCatNd
+extern __typeof (xmlUCSIsCatNd) xmlUCSIsCatNd__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatNd xmlUCSIsCatNd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatNl
+extern __typeof (xmlUCSIsCatNl) xmlUCSIsCatNl __attribute((alias("xmlUCSIsCatNl__internal_alias")));
+#else
+#ifndef xmlUCSIsCatNl
+extern __typeof (xmlUCSIsCatNl) xmlUCSIsCatNl__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatNl xmlUCSIsCatNl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatNo
+extern __typeof (xmlUCSIsCatNo) xmlUCSIsCatNo __attribute((alias("xmlUCSIsCatNo__internal_alias")));
+#else
+#ifndef xmlUCSIsCatNo
+extern __typeof (xmlUCSIsCatNo) xmlUCSIsCatNo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatNo xmlUCSIsCatNo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatP
+extern __typeof (xmlUCSIsCatP) xmlUCSIsCatP __attribute((alias("xmlUCSIsCatP__internal_alias")));
+#else
+#ifndef xmlUCSIsCatP
+extern __typeof (xmlUCSIsCatP) xmlUCSIsCatP__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatP xmlUCSIsCatP__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPc
+extern __typeof (xmlUCSIsCatPc) xmlUCSIsCatPc __attribute((alias("xmlUCSIsCatPc__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPc
+extern __typeof (xmlUCSIsCatPc) xmlUCSIsCatPc__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPc xmlUCSIsCatPc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPd
+extern __typeof (xmlUCSIsCatPd) xmlUCSIsCatPd __attribute((alias("xmlUCSIsCatPd__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPd
+extern __typeof (xmlUCSIsCatPd) xmlUCSIsCatPd__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPd xmlUCSIsCatPd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPe
+extern __typeof (xmlUCSIsCatPe) xmlUCSIsCatPe __attribute((alias("xmlUCSIsCatPe__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPe
+extern __typeof (xmlUCSIsCatPe) xmlUCSIsCatPe__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPe xmlUCSIsCatPe__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPf
+extern __typeof (xmlUCSIsCatPf) xmlUCSIsCatPf __attribute((alias("xmlUCSIsCatPf__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPf
+extern __typeof (xmlUCSIsCatPf) xmlUCSIsCatPf__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPf xmlUCSIsCatPf__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPi
+extern __typeof (xmlUCSIsCatPi) xmlUCSIsCatPi __attribute((alias("xmlUCSIsCatPi__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPi
+extern __typeof (xmlUCSIsCatPi) xmlUCSIsCatPi__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPi xmlUCSIsCatPi__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPo
+extern __typeof (xmlUCSIsCatPo) xmlUCSIsCatPo __attribute((alias("xmlUCSIsCatPo__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPo
+extern __typeof (xmlUCSIsCatPo) xmlUCSIsCatPo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPo xmlUCSIsCatPo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatPs
+extern __typeof (xmlUCSIsCatPs) xmlUCSIsCatPs __attribute((alias("xmlUCSIsCatPs__internal_alias")));
+#else
+#ifndef xmlUCSIsCatPs
+extern __typeof (xmlUCSIsCatPs) xmlUCSIsCatPs__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatPs xmlUCSIsCatPs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatS
+extern __typeof (xmlUCSIsCatS) xmlUCSIsCatS __attribute((alias("xmlUCSIsCatS__internal_alias")));
+#else
+#ifndef xmlUCSIsCatS
+extern __typeof (xmlUCSIsCatS) xmlUCSIsCatS__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatS xmlUCSIsCatS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatSc
+extern __typeof (xmlUCSIsCatSc) xmlUCSIsCatSc __attribute((alias("xmlUCSIsCatSc__internal_alias")));
+#else
+#ifndef xmlUCSIsCatSc
+extern __typeof (xmlUCSIsCatSc) xmlUCSIsCatSc__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatSc xmlUCSIsCatSc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatSk
+extern __typeof (xmlUCSIsCatSk) xmlUCSIsCatSk __attribute((alias("xmlUCSIsCatSk__internal_alias")));
+#else
+#ifndef xmlUCSIsCatSk
+extern __typeof (xmlUCSIsCatSk) xmlUCSIsCatSk__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatSk xmlUCSIsCatSk__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatSm
+extern __typeof (xmlUCSIsCatSm) xmlUCSIsCatSm __attribute((alias("xmlUCSIsCatSm__internal_alias")));
+#else
+#ifndef xmlUCSIsCatSm
+extern __typeof (xmlUCSIsCatSm) xmlUCSIsCatSm__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatSm xmlUCSIsCatSm__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatSo
+extern __typeof (xmlUCSIsCatSo) xmlUCSIsCatSo __attribute((alias("xmlUCSIsCatSo__internal_alias")));
+#else
+#ifndef xmlUCSIsCatSo
+extern __typeof (xmlUCSIsCatSo) xmlUCSIsCatSo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatSo xmlUCSIsCatSo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatZ
+extern __typeof (xmlUCSIsCatZ) xmlUCSIsCatZ __attribute((alias("xmlUCSIsCatZ__internal_alias")));
+#else
+#ifndef xmlUCSIsCatZ
+extern __typeof (xmlUCSIsCatZ) xmlUCSIsCatZ__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatZ xmlUCSIsCatZ__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatZl
+extern __typeof (xmlUCSIsCatZl) xmlUCSIsCatZl __attribute((alias("xmlUCSIsCatZl__internal_alias")));
+#else
+#ifndef xmlUCSIsCatZl
+extern __typeof (xmlUCSIsCatZl) xmlUCSIsCatZl__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatZl xmlUCSIsCatZl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatZp
+extern __typeof (xmlUCSIsCatZp) xmlUCSIsCatZp __attribute((alias("xmlUCSIsCatZp__internal_alias")));
+#else
+#ifndef xmlUCSIsCatZp
+extern __typeof (xmlUCSIsCatZp) xmlUCSIsCatZp__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatZp xmlUCSIsCatZp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCatZs
+extern __typeof (xmlUCSIsCatZs) xmlUCSIsCatZs __attribute((alias("xmlUCSIsCatZs__internal_alias")));
+#else
+#ifndef xmlUCSIsCatZs
+extern __typeof (xmlUCSIsCatZs) xmlUCSIsCatZs__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCatZs xmlUCSIsCatZs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCherokee
+extern __typeof (xmlUCSIsCherokee) xmlUCSIsCherokee __attribute((alias("xmlUCSIsCherokee__internal_alias")));
+#else
+#ifndef xmlUCSIsCherokee
+extern __typeof (xmlUCSIsCherokee) xmlUCSIsCherokee__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCherokee xmlUCSIsCherokee__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCombiningDiacriticalMarks
+extern __typeof (xmlUCSIsCombiningDiacriticalMarks) xmlUCSIsCombiningDiacriticalMarks __attribute((alias("xmlUCSIsCombiningDiacriticalMarks__internal_alias")));
+#else
+#ifndef xmlUCSIsCombiningDiacriticalMarks
+extern __typeof (xmlUCSIsCombiningDiacriticalMarks) xmlUCSIsCombiningDiacriticalMarks__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCombiningDiacriticalMarks xmlUCSIsCombiningDiacriticalMarks__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCombiningDiacriticalMarksforSymbols
+extern __typeof (xmlUCSIsCombiningDiacriticalMarksforSymbols) xmlUCSIsCombiningDiacriticalMarksforSymbols __attribute((alias("xmlUCSIsCombiningDiacriticalMarksforSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsCombiningDiacriticalMarksforSymbols
+extern __typeof (xmlUCSIsCombiningDiacriticalMarksforSymbols) xmlUCSIsCombiningDiacriticalMarksforSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCombiningDiacriticalMarksforSymbols xmlUCSIsCombiningDiacriticalMarksforSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCombiningHalfMarks
+extern __typeof (xmlUCSIsCombiningHalfMarks) xmlUCSIsCombiningHalfMarks __attribute((alias("xmlUCSIsCombiningHalfMarks__internal_alias")));
+#else
+#ifndef xmlUCSIsCombiningHalfMarks
+extern __typeof (xmlUCSIsCombiningHalfMarks) xmlUCSIsCombiningHalfMarks__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCombiningHalfMarks xmlUCSIsCombiningHalfMarks__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCombiningMarksforSymbols
+extern __typeof (xmlUCSIsCombiningMarksforSymbols) xmlUCSIsCombiningMarksforSymbols __attribute((alias("xmlUCSIsCombiningMarksforSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsCombiningMarksforSymbols
+extern __typeof (xmlUCSIsCombiningMarksforSymbols) xmlUCSIsCombiningMarksforSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCombiningMarksforSymbols xmlUCSIsCombiningMarksforSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsControlPictures
+extern __typeof (xmlUCSIsControlPictures) xmlUCSIsControlPictures __attribute((alias("xmlUCSIsControlPictures__internal_alias")));
+#else
+#ifndef xmlUCSIsControlPictures
+extern __typeof (xmlUCSIsControlPictures) xmlUCSIsControlPictures__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsControlPictures xmlUCSIsControlPictures__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCurrencySymbols
+extern __typeof (xmlUCSIsCurrencySymbols) xmlUCSIsCurrencySymbols __attribute((alias("xmlUCSIsCurrencySymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsCurrencySymbols
+extern __typeof (xmlUCSIsCurrencySymbols) xmlUCSIsCurrencySymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCurrencySymbols xmlUCSIsCurrencySymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCypriotSyllabary
+extern __typeof (xmlUCSIsCypriotSyllabary) xmlUCSIsCypriotSyllabary __attribute((alias("xmlUCSIsCypriotSyllabary__internal_alias")));
+#else
+#ifndef xmlUCSIsCypriotSyllabary
+extern __typeof (xmlUCSIsCypriotSyllabary) xmlUCSIsCypriotSyllabary__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCypriotSyllabary xmlUCSIsCypriotSyllabary__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCyrillic
+extern __typeof (xmlUCSIsCyrillic) xmlUCSIsCyrillic __attribute((alias("xmlUCSIsCyrillic__internal_alias")));
+#else
+#ifndef xmlUCSIsCyrillic
+extern __typeof (xmlUCSIsCyrillic) xmlUCSIsCyrillic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCyrillic xmlUCSIsCyrillic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsCyrillicSupplement
+extern __typeof (xmlUCSIsCyrillicSupplement) xmlUCSIsCyrillicSupplement __attribute((alias("xmlUCSIsCyrillicSupplement__internal_alias")));
+#else
+#ifndef xmlUCSIsCyrillicSupplement
+extern __typeof (xmlUCSIsCyrillicSupplement) xmlUCSIsCyrillicSupplement__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsCyrillicSupplement xmlUCSIsCyrillicSupplement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsDeseret
+extern __typeof (xmlUCSIsDeseret) xmlUCSIsDeseret __attribute((alias("xmlUCSIsDeseret__internal_alias")));
+#else
+#ifndef xmlUCSIsDeseret
+extern __typeof (xmlUCSIsDeseret) xmlUCSIsDeseret__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsDeseret xmlUCSIsDeseret__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsDevanagari
+extern __typeof (xmlUCSIsDevanagari) xmlUCSIsDevanagari __attribute((alias("xmlUCSIsDevanagari__internal_alias")));
+#else
+#ifndef xmlUCSIsDevanagari
+extern __typeof (xmlUCSIsDevanagari) xmlUCSIsDevanagari__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsDevanagari xmlUCSIsDevanagari__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsDingbats
+extern __typeof (xmlUCSIsDingbats) xmlUCSIsDingbats __attribute((alias("xmlUCSIsDingbats__internal_alias")));
+#else
+#ifndef xmlUCSIsDingbats
+extern __typeof (xmlUCSIsDingbats) xmlUCSIsDingbats__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsDingbats xmlUCSIsDingbats__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsEnclosedAlphanumerics
+extern __typeof (xmlUCSIsEnclosedAlphanumerics) xmlUCSIsEnclosedAlphanumerics __attribute((alias("xmlUCSIsEnclosedAlphanumerics__internal_alias")));
+#else
+#ifndef xmlUCSIsEnclosedAlphanumerics
+extern __typeof (xmlUCSIsEnclosedAlphanumerics) xmlUCSIsEnclosedAlphanumerics__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsEnclosedAlphanumerics xmlUCSIsEnclosedAlphanumerics__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsEnclosedCJKLettersandMonths
+extern __typeof (xmlUCSIsEnclosedCJKLettersandMonths) xmlUCSIsEnclosedCJKLettersandMonths __attribute((alias("xmlUCSIsEnclosedCJKLettersandMonths__internal_alias")));
+#else
+#ifndef xmlUCSIsEnclosedCJKLettersandMonths
+extern __typeof (xmlUCSIsEnclosedCJKLettersandMonths) xmlUCSIsEnclosedCJKLettersandMonths__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsEnclosedCJKLettersandMonths xmlUCSIsEnclosedCJKLettersandMonths__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsEthiopic
+extern __typeof (xmlUCSIsEthiopic) xmlUCSIsEthiopic __attribute((alias("xmlUCSIsEthiopic__internal_alias")));
+#else
+#ifndef xmlUCSIsEthiopic
+extern __typeof (xmlUCSIsEthiopic) xmlUCSIsEthiopic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsEthiopic xmlUCSIsEthiopic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGeneralPunctuation
+extern __typeof (xmlUCSIsGeneralPunctuation) xmlUCSIsGeneralPunctuation __attribute((alias("xmlUCSIsGeneralPunctuation__internal_alias")));
+#else
+#ifndef xmlUCSIsGeneralPunctuation
+extern __typeof (xmlUCSIsGeneralPunctuation) xmlUCSIsGeneralPunctuation__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGeneralPunctuation xmlUCSIsGeneralPunctuation__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGeometricShapes
+extern __typeof (xmlUCSIsGeometricShapes) xmlUCSIsGeometricShapes __attribute((alias("xmlUCSIsGeometricShapes__internal_alias")));
+#else
+#ifndef xmlUCSIsGeometricShapes
+extern __typeof (xmlUCSIsGeometricShapes) xmlUCSIsGeometricShapes__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGeometricShapes xmlUCSIsGeometricShapes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGeorgian
+extern __typeof (xmlUCSIsGeorgian) xmlUCSIsGeorgian __attribute((alias("xmlUCSIsGeorgian__internal_alias")));
+#else
+#ifndef xmlUCSIsGeorgian
+extern __typeof (xmlUCSIsGeorgian) xmlUCSIsGeorgian__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGeorgian xmlUCSIsGeorgian__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGothic
+extern __typeof (xmlUCSIsGothic) xmlUCSIsGothic __attribute((alias("xmlUCSIsGothic__internal_alias")));
+#else
+#ifndef xmlUCSIsGothic
+extern __typeof (xmlUCSIsGothic) xmlUCSIsGothic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGothic xmlUCSIsGothic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGreek
+extern __typeof (xmlUCSIsGreek) xmlUCSIsGreek __attribute((alias("xmlUCSIsGreek__internal_alias")));
+#else
+#ifndef xmlUCSIsGreek
+extern __typeof (xmlUCSIsGreek) xmlUCSIsGreek__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGreek xmlUCSIsGreek__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGreekExtended
+extern __typeof (xmlUCSIsGreekExtended) xmlUCSIsGreekExtended __attribute((alias("xmlUCSIsGreekExtended__internal_alias")));
+#else
+#ifndef xmlUCSIsGreekExtended
+extern __typeof (xmlUCSIsGreekExtended) xmlUCSIsGreekExtended__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGreekExtended xmlUCSIsGreekExtended__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGreekandCoptic
+extern __typeof (xmlUCSIsGreekandCoptic) xmlUCSIsGreekandCoptic __attribute((alias("xmlUCSIsGreekandCoptic__internal_alias")));
+#else
+#ifndef xmlUCSIsGreekandCoptic
+extern __typeof (xmlUCSIsGreekandCoptic) xmlUCSIsGreekandCoptic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGreekandCoptic xmlUCSIsGreekandCoptic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGujarati
+extern __typeof (xmlUCSIsGujarati) xmlUCSIsGujarati __attribute((alias("xmlUCSIsGujarati__internal_alias")));
+#else
+#ifndef xmlUCSIsGujarati
+extern __typeof (xmlUCSIsGujarati) xmlUCSIsGujarati__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGujarati xmlUCSIsGujarati__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsGurmukhi
+extern __typeof (xmlUCSIsGurmukhi) xmlUCSIsGurmukhi __attribute((alias("xmlUCSIsGurmukhi__internal_alias")));
+#else
+#ifndef xmlUCSIsGurmukhi
+extern __typeof (xmlUCSIsGurmukhi) xmlUCSIsGurmukhi__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsGurmukhi xmlUCSIsGurmukhi__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHalfwidthandFullwidthForms
+extern __typeof (xmlUCSIsHalfwidthandFullwidthForms) xmlUCSIsHalfwidthandFullwidthForms __attribute((alias("xmlUCSIsHalfwidthandFullwidthForms__internal_alias")));
+#else
+#ifndef xmlUCSIsHalfwidthandFullwidthForms
+extern __typeof (xmlUCSIsHalfwidthandFullwidthForms) xmlUCSIsHalfwidthandFullwidthForms__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHalfwidthandFullwidthForms xmlUCSIsHalfwidthandFullwidthForms__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHangulCompatibilityJamo
+extern __typeof (xmlUCSIsHangulCompatibilityJamo) xmlUCSIsHangulCompatibilityJamo __attribute((alias("xmlUCSIsHangulCompatibilityJamo__internal_alias")));
+#else
+#ifndef xmlUCSIsHangulCompatibilityJamo
+extern __typeof (xmlUCSIsHangulCompatibilityJamo) xmlUCSIsHangulCompatibilityJamo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHangulCompatibilityJamo xmlUCSIsHangulCompatibilityJamo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHangulJamo
+extern __typeof (xmlUCSIsHangulJamo) xmlUCSIsHangulJamo __attribute((alias("xmlUCSIsHangulJamo__internal_alias")));
+#else
+#ifndef xmlUCSIsHangulJamo
+extern __typeof (xmlUCSIsHangulJamo) xmlUCSIsHangulJamo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHangulJamo xmlUCSIsHangulJamo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHangulSyllables
+extern __typeof (xmlUCSIsHangulSyllables) xmlUCSIsHangulSyllables __attribute((alias("xmlUCSIsHangulSyllables__internal_alias")));
+#else
+#ifndef xmlUCSIsHangulSyllables
+extern __typeof (xmlUCSIsHangulSyllables) xmlUCSIsHangulSyllables__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHangulSyllables xmlUCSIsHangulSyllables__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHanunoo
+extern __typeof (xmlUCSIsHanunoo) xmlUCSIsHanunoo __attribute((alias("xmlUCSIsHanunoo__internal_alias")));
+#else
+#ifndef xmlUCSIsHanunoo
+extern __typeof (xmlUCSIsHanunoo) xmlUCSIsHanunoo__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHanunoo xmlUCSIsHanunoo__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHebrew
+extern __typeof (xmlUCSIsHebrew) xmlUCSIsHebrew __attribute((alias("xmlUCSIsHebrew__internal_alias")));
+#else
+#ifndef xmlUCSIsHebrew
+extern __typeof (xmlUCSIsHebrew) xmlUCSIsHebrew__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHebrew xmlUCSIsHebrew__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHighPrivateUseSurrogates
+extern __typeof (xmlUCSIsHighPrivateUseSurrogates) xmlUCSIsHighPrivateUseSurrogates __attribute((alias("xmlUCSIsHighPrivateUseSurrogates__internal_alias")));
+#else
+#ifndef xmlUCSIsHighPrivateUseSurrogates
+extern __typeof (xmlUCSIsHighPrivateUseSurrogates) xmlUCSIsHighPrivateUseSurrogates__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHighPrivateUseSurrogates xmlUCSIsHighPrivateUseSurrogates__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHighSurrogates
+extern __typeof (xmlUCSIsHighSurrogates) xmlUCSIsHighSurrogates __attribute((alias("xmlUCSIsHighSurrogates__internal_alias")));
+#else
+#ifndef xmlUCSIsHighSurrogates
+extern __typeof (xmlUCSIsHighSurrogates) xmlUCSIsHighSurrogates__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHighSurrogates xmlUCSIsHighSurrogates__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsHiragana
+extern __typeof (xmlUCSIsHiragana) xmlUCSIsHiragana __attribute((alias("xmlUCSIsHiragana__internal_alias")));
+#else
+#ifndef xmlUCSIsHiragana
+extern __typeof (xmlUCSIsHiragana) xmlUCSIsHiragana__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsHiragana xmlUCSIsHiragana__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsIPAExtensions
+extern __typeof (xmlUCSIsIPAExtensions) xmlUCSIsIPAExtensions __attribute((alias("xmlUCSIsIPAExtensions__internal_alias")));
+#else
+#ifndef xmlUCSIsIPAExtensions
+extern __typeof (xmlUCSIsIPAExtensions) xmlUCSIsIPAExtensions__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsIPAExtensions xmlUCSIsIPAExtensions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsIdeographicDescriptionCharacters
+extern __typeof (xmlUCSIsIdeographicDescriptionCharacters) xmlUCSIsIdeographicDescriptionCharacters __attribute((alias("xmlUCSIsIdeographicDescriptionCharacters__internal_alias")));
+#else
+#ifndef xmlUCSIsIdeographicDescriptionCharacters
+extern __typeof (xmlUCSIsIdeographicDescriptionCharacters) xmlUCSIsIdeographicDescriptionCharacters__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsIdeographicDescriptionCharacters xmlUCSIsIdeographicDescriptionCharacters__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKanbun
+extern __typeof (xmlUCSIsKanbun) xmlUCSIsKanbun __attribute((alias("xmlUCSIsKanbun__internal_alias")));
+#else
+#ifndef xmlUCSIsKanbun
+extern __typeof (xmlUCSIsKanbun) xmlUCSIsKanbun__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKanbun xmlUCSIsKanbun__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKangxiRadicals
+extern __typeof (xmlUCSIsKangxiRadicals) xmlUCSIsKangxiRadicals __attribute((alias("xmlUCSIsKangxiRadicals__internal_alias")));
+#else
+#ifndef xmlUCSIsKangxiRadicals
+extern __typeof (xmlUCSIsKangxiRadicals) xmlUCSIsKangxiRadicals__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKangxiRadicals xmlUCSIsKangxiRadicals__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKannada
+extern __typeof (xmlUCSIsKannada) xmlUCSIsKannada __attribute((alias("xmlUCSIsKannada__internal_alias")));
+#else
+#ifndef xmlUCSIsKannada
+extern __typeof (xmlUCSIsKannada) xmlUCSIsKannada__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKannada xmlUCSIsKannada__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKatakana
+extern __typeof (xmlUCSIsKatakana) xmlUCSIsKatakana __attribute((alias("xmlUCSIsKatakana__internal_alias")));
+#else
+#ifndef xmlUCSIsKatakana
+extern __typeof (xmlUCSIsKatakana) xmlUCSIsKatakana__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKatakana xmlUCSIsKatakana__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKatakanaPhoneticExtensions
+extern __typeof (xmlUCSIsKatakanaPhoneticExtensions) xmlUCSIsKatakanaPhoneticExtensions __attribute((alias("xmlUCSIsKatakanaPhoneticExtensions__internal_alias")));
+#else
+#ifndef xmlUCSIsKatakanaPhoneticExtensions
+extern __typeof (xmlUCSIsKatakanaPhoneticExtensions) xmlUCSIsKatakanaPhoneticExtensions__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKatakanaPhoneticExtensions xmlUCSIsKatakanaPhoneticExtensions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKhmer
+extern __typeof (xmlUCSIsKhmer) xmlUCSIsKhmer __attribute((alias("xmlUCSIsKhmer__internal_alias")));
+#else
+#ifndef xmlUCSIsKhmer
+extern __typeof (xmlUCSIsKhmer) xmlUCSIsKhmer__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKhmer xmlUCSIsKhmer__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsKhmerSymbols
+extern __typeof (xmlUCSIsKhmerSymbols) xmlUCSIsKhmerSymbols __attribute((alias("xmlUCSIsKhmerSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsKhmerSymbols
+extern __typeof (xmlUCSIsKhmerSymbols) xmlUCSIsKhmerSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsKhmerSymbols xmlUCSIsKhmerSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLao
+extern __typeof (xmlUCSIsLao) xmlUCSIsLao __attribute((alias("xmlUCSIsLao__internal_alias")));
+#else
+#ifndef xmlUCSIsLao
+extern __typeof (xmlUCSIsLao) xmlUCSIsLao__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLao xmlUCSIsLao__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLatin1Supplement
+extern __typeof (xmlUCSIsLatin1Supplement) xmlUCSIsLatin1Supplement __attribute((alias("xmlUCSIsLatin1Supplement__internal_alias")));
+#else
+#ifndef xmlUCSIsLatin1Supplement
+extern __typeof (xmlUCSIsLatin1Supplement) xmlUCSIsLatin1Supplement__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLatin1Supplement xmlUCSIsLatin1Supplement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLatinExtendedA
+extern __typeof (xmlUCSIsLatinExtendedA) xmlUCSIsLatinExtendedA __attribute((alias("xmlUCSIsLatinExtendedA__internal_alias")));
+#else
+#ifndef xmlUCSIsLatinExtendedA
+extern __typeof (xmlUCSIsLatinExtendedA) xmlUCSIsLatinExtendedA__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLatinExtendedA xmlUCSIsLatinExtendedA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLatinExtendedAdditional
+extern __typeof (xmlUCSIsLatinExtendedAdditional) xmlUCSIsLatinExtendedAdditional __attribute((alias("xmlUCSIsLatinExtendedAdditional__internal_alias")));
+#else
+#ifndef xmlUCSIsLatinExtendedAdditional
+extern __typeof (xmlUCSIsLatinExtendedAdditional) xmlUCSIsLatinExtendedAdditional__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLatinExtendedAdditional xmlUCSIsLatinExtendedAdditional__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLatinExtendedB
+extern __typeof (xmlUCSIsLatinExtendedB) xmlUCSIsLatinExtendedB __attribute((alias("xmlUCSIsLatinExtendedB__internal_alias")));
+#else
+#ifndef xmlUCSIsLatinExtendedB
+extern __typeof (xmlUCSIsLatinExtendedB) xmlUCSIsLatinExtendedB__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLatinExtendedB xmlUCSIsLatinExtendedB__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLetterlikeSymbols
+extern __typeof (xmlUCSIsLetterlikeSymbols) xmlUCSIsLetterlikeSymbols __attribute((alias("xmlUCSIsLetterlikeSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsLetterlikeSymbols
+extern __typeof (xmlUCSIsLetterlikeSymbols) xmlUCSIsLetterlikeSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLetterlikeSymbols xmlUCSIsLetterlikeSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLimbu
+extern __typeof (xmlUCSIsLimbu) xmlUCSIsLimbu __attribute((alias("xmlUCSIsLimbu__internal_alias")));
+#else
+#ifndef xmlUCSIsLimbu
+extern __typeof (xmlUCSIsLimbu) xmlUCSIsLimbu__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLimbu xmlUCSIsLimbu__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLinearBIdeograms
+extern __typeof (xmlUCSIsLinearBIdeograms) xmlUCSIsLinearBIdeograms __attribute((alias("xmlUCSIsLinearBIdeograms__internal_alias")));
+#else
+#ifndef xmlUCSIsLinearBIdeograms
+extern __typeof (xmlUCSIsLinearBIdeograms) xmlUCSIsLinearBIdeograms__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLinearBIdeograms xmlUCSIsLinearBIdeograms__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLinearBSyllabary
+extern __typeof (xmlUCSIsLinearBSyllabary) xmlUCSIsLinearBSyllabary __attribute((alias("xmlUCSIsLinearBSyllabary__internal_alias")));
+#else
+#ifndef xmlUCSIsLinearBSyllabary
+extern __typeof (xmlUCSIsLinearBSyllabary) xmlUCSIsLinearBSyllabary__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLinearBSyllabary xmlUCSIsLinearBSyllabary__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsLowSurrogates
+extern __typeof (xmlUCSIsLowSurrogates) xmlUCSIsLowSurrogates __attribute((alias("xmlUCSIsLowSurrogates__internal_alias")));
+#else
+#ifndef xmlUCSIsLowSurrogates
+extern __typeof (xmlUCSIsLowSurrogates) xmlUCSIsLowSurrogates__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsLowSurrogates xmlUCSIsLowSurrogates__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMalayalam
+extern __typeof (xmlUCSIsMalayalam) xmlUCSIsMalayalam __attribute((alias("xmlUCSIsMalayalam__internal_alias")));
+#else
+#ifndef xmlUCSIsMalayalam
+extern __typeof (xmlUCSIsMalayalam) xmlUCSIsMalayalam__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMalayalam xmlUCSIsMalayalam__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMathematicalAlphanumericSymbols
+extern __typeof (xmlUCSIsMathematicalAlphanumericSymbols) xmlUCSIsMathematicalAlphanumericSymbols __attribute((alias("xmlUCSIsMathematicalAlphanumericSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsMathematicalAlphanumericSymbols
+extern __typeof (xmlUCSIsMathematicalAlphanumericSymbols) xmlUCSIsMathematicalAlphanumericSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMathematicalAlphanumericSymbols xmlUCSIsMathematicalAlphanumericSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMathematicalOperators
+extern __typeof (xmlUCSIsMathematicalOperators) xmlUCSIsMathematicalOperators __attribute((alias("xmlUCSIsMathematicalOperators__internal_alias")));
+#else
+#ifndef xmlUCSIsMathematicalOperators
+extern __typeof (xmlUCSIsMathematicalOperators) xmlUCSIsMathematicalOperators__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMathematicalOperators xmlUCSIsMathematicalOperators__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMiscellaneousMathematicalSymbolsA
+extern __typeof (xmlUCSIsMiscellaneousMathematicalSymbolsA) xmlUCSIsMiscellaneousMathematicalSymbolsA __attribute((alias("xmlUCSIsMiscellaneousMathematicalSymbolsA__internal_alias")));
+#else
+#ifndef xmlUCSIsMiscellaneousMathematicalSymbolsA
+extern __typeof (xmlUCSIsMiscellaneousMathematicalSymbolsA) xmlUCSIsMiscellaneousMathematicalSymbolsA__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMiscellaneousMathematicalSymbolsA xmlUCSIsMiscellaneousMathematicalSymbolsA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMiscellaneousMathematicalSymbolsB
+extern __typeof (xmlUCSIsMiscellaneousMathematicalSymbolsB) xmlUCSIsMiscellaneousMathematicalSymbolsB __attribute((alias("xmlUCSIsMiscellaneousMathematicalSymbolsB__internal_alias")));
+#else
+#ifndef xmlUCSIsMiscellaneousMathematicalSymbolsB
+extern __typeof (xmlUCSIsMiscellaneousMathematicalSymbolsB) xmlUCSIsMiscellaneousMathematicalSymbolsB__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMiscellaneousMathematicalSymbolsB xmlUCSIsMiscellaneousMathematicalSymbolsB__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMiscellaneousSymbols
+extern __typeof (xmlUCSIsMiscellaneousSymbols) xmlUCSIsMiscellaneousSymbols __attribute((alias("xmlUCSIsMiscellaneousSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsMiscellaneousSymbols
+extern __typeof (xmlUCSIsMiscellaneousSymbols) xmlUCSIsMiscellaneousSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMiscellaneousSymbols xmlUCSIsMiscellaneousSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMiscellaneousSymbolsandArrows
+extern __typeof (xmlUCSIsMiscellaneousSymbolsandArrows) xmlUCSIsMiscellaneousSymbolsandArrows __attribute((alias("xmlUCSIsMiscellaneousSymbolsandArrows__internal_alias")));
+#else
+#ifndef xmlUCSIsMiscellaneousSymbolsandArrows
+extern __typeof (xmlUCSIsMiscellaneousSymbolsandArrows) xmlUCSIsMiscellaneousSymbolsandArrows__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMiscellaneousSymbolsandArrows xmlUCSIsMiscellaneousSymbolsandArrows__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMiscellaneousTechnical
+extern __typeof (xmlUCSIsMiscellaneousTechnical) xmlUCSIsMiscellaneousTechnical __attribute((alias("xmlUCSIsMiscellaneousTechnical__internal_alias")));
+#else
+#ifndef xmlUCSIsMiscellaneousTechnical
+extern __typeof (xmlUCSIsMiscellaneousTechnical) xmlUCSIsMiscellaneousTechnical__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMiscellaneousTechnical xmlUCSIsMiscellaneousTechnical__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMongolian
+extern __typeof (xmlUCSIsMongolian) xmlUCSIsMongolian __attribute((alias("xmlUCSIsMongolian__internal_alias")));
+#else
+#ifndef xmlUCSIsMongolian
+extern __typeof (xmlUCSIsMongolian) xmlUCSIsMongolian__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMongolian xmlUCSIsMongolian__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMusicalSymbols
+extern __typeof (xmlUCSIsMusicalSymbols) xmlUCSIsMusicalSymbols __attribute((alias("xmlUCSIsMusicalSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsMusicalSymbols
+extern __typeof (xmlUCSIsMusicalSymbols) xmlUCSIsMusicalSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMusicalSymbols xmlUCSIsMusicalSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsMyanmar
+extern __typeof (xmlUCSIsMyanmar) xmlUCSIsMyanmar __attribute((alias("xmlUCSIsMyanmar__internal_alias")));
+#else
+#ifndef xmlUCSIsMyanmar
+extern __typeof (xmlUCSIsMyanmar) xmlUCSIsMyanmar__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsMyanmar xmlUCSIsMyanmar__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsNumberForms
+extern __typeof (xmlUCSIsNumberForms) xmlUCSIsNumberForms __attribute((alias("xmlUCSIsNumberForms__internal_alias")));
+#else
+#ifndef xmlUCSIsNumberForms
+extern __typeof (xmlUCSIsNumberForms) xmlUCSIsNumberForms__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsNumberForms xmlUCSIsNumberForms__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsOgham
+extern __typeof (xmlUCSIsOgham) xmlUCSIsOgham __attribute((alias("xmlUCSIsOgham__internal_alias")));
+#else
+#ifndef xmlUCSIsOgham
+extern __typeof (xmlUCSIsOgham) xmlUCSIsOgham__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsOgham xmlUCSIsOgham__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsOldItalic
+extern __typeof (xmlUCSIsOldItalic) xmlUCSIsOldItalic __attribute((alias("xmlUCSIsOldItalic__internal_alias")));
+#else
+#ifndef xmlUCSIsOldItalic
+extern __typeof (xmlUCSIsOldItalic) xmlUCSIsOldItalic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsOldItalic xmlUCSIsOldItalic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsOpticalCharacterRecognition
+extern __typeof (xmlUCSIsOpticalCharacterRecognition) xmlUCSIsOpticalCharacterRecognition __attribute((alias("xmlUCSIsOpticalCharacterRecognition__internal_alias")));
+#else
+#ifndef xmlUCSIsOpticalCharacterRecognition
+extern __typeof (xmlUCSIsOpticalCharacterRecognition) xmlUCSIsOpticalCharacterRecognition__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsOpticalCharacterRecognition xmlUCSIsOpticalCharacterRecognition__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsOriya
+extern __typeof (xmlUCSIsOriya) xmlUCSIsOriya __attribute((alias("xmlUCSIsOriya__internal_alias")));
+#else
+#ifndef xmlUCSIsOriya
+extern __typeof (xmlUCSIsOriya) xmlUCSIsOriya__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsOriya xmlUCSIsOriya__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsOsmanya
+extern __typeof (xmlUCSIsOsmanya) xmlUCSIsOsmanya __attribute((alias("xmlUCSIsOsmanya__internal_alias")));
+#else
+#ifndef xmlUCSIsOsmanya
+extern __typeof (xmlUCSIsOsmanya) xmlUCSIsOsmanya__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsOsmanya xmlUCSIsOsmanya__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsPhoneticExtensions
+extern __typeof (xmlUCSIsPhoneticExtensions) xmlUCSIsPhoneticExtensions __attribute((alias("xmlUCSIsPhoneticExtensions__internal_alias")));
+#else
+#ifndef xmlUCSIsPhoneticExtensions
+extern __typeof (xmlUCSIsPhoneticExtensions) xmlUCSIsPhoneticExtensions__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsPhoneticExtensions xmlUCSIsPhoneticExtensions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsPrivateUse
+extern __typeof (xmlUCSIsPrivateUse) xmlUCSIsPrivateUse __attribute((alias("xmlUCSIsPrivateUse__internal_alias")));
+#else
+#ifndef xmlUCSIsPrivateUse
+extern __typeof (xmlUCSIsPrivateUse) xmlUCSIsPrivateUse__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsPrivateUse xmlUCSIsPrivateUse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsPrivateUseArea
+extern __typeof (xmlUCSIsPrivateUseArea) xmlUCSIsPrivateUseArea __attribute((alias("xmlUCSIsPrivateUseArea__internal_alias")));
+#else
+#ifndef xmlUCSIsPrivateUseArea
+extern __typeof (xmlUCSIsPrivateUseArea) xmlUCSIsPrivateUseArea__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsPrivateUseArea xmlUCSIsPrivateUseArea__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsRunic
+extern __typeof (xmlUCSIsRunic) xmlUCSIsRunic __attribute((alias("xmlUCSIsRunic__internal_alias")));
+#else
+#ifndef xmlUCSIsRunic
+extern __typeof (xmlUCSIsRunic) xmlUCSIsRunic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsRunic xmlUCSIsRunic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsShavian
+extern __typeof (xmlUCSIsShavian) xmlUCSIsShavian __attribute((alias("xmlUCSIsShavian__internal_alias")));
+#else
+#ifndef xmlUCSIsShavian
+extern __typeof (xmlUCSIsShavian) xmlUCSIsShavian__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsShavian xmlUCSIsShavian__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSinhala
+extern __typeof (xmlUCSIsSinhala) xmlUCSIsSinhala __attribute((alias("xmlUCSIsSinhala__internal_alias")));
+#else
+#ifndef xmlUCSIsSinhala
+extern __typeof (xmlUCSIsSinhala) xmlUCSIsSinhala__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSinhala xmlUCSIsSinhala__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSmallFormVariants
+extern __typeof (xmlUCSIsSmallFormVariants) xmlUCSIsSmallFormVariants __attribute((alias("xmlUCSIsSmallFormVariants__internal_alias")));
+#else
+#ifndef xmlUCSIsSmallFormVariants
+extern __typeof (xmlUCSIsSmallFormVariants) xmlUCSIsSmallFormVariants__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSmallFormVariants xmlUCSIsSmallFormVariants__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSpacingModifierLetters
+extern __typeof (xmlUCSIsSpacingModifierLetters) xmlUCSIsSpacingModifierLetters __attribute((alias("xmlUCSIsSpacingModifierLetters__internal_alias")));
+#else
+#ifndef xmlUCSIsSpacingModifierLetters
+extern __typeof (xmlUCSIsSpacingModifierLetters) xmlUCSIsSpacingModifierLetters__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSpacingModifierLetters xmlUCSIsSpacingModifierLetters__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSpecials
+extern __typeof (xmlUCSIsSpecials) xmlUCSIsSpecials __attribute((alias("xmlUCSIsSpecials__internal_alias")));
+#else
+#ifndef xmlUCSIsSpecials
+extern __typeof (xmlUCSIsSpecials) xmlUCSIsSpecials__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSpecials xmlUCSIsSpecials__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSuperscriptsandSubscripts
+extern __typeof (xmlUCSIsSuperscriptsandSubscripts) xmlUCSIsSuperscriptsandSubscripts __attribute((alias("xmlUCSIsSuperscriptsandSubscripts__internal_alias")));
+#else
+#ifndef xmlUCSIsSuperscriptsandSubscripts
+extern __typeof (xmlUCSIsSuperscriptsandSubscripts) xmlUCSIsSuperscriptsandSubscripts__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSuperscriptsandSubscripts xmlUCSIsSuperscriptsandSubscripts__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSupplementalArrowsA
+extern __typeof (xmlUCSIsSupplementalArrowsA) xmlUCSIsSupplementalArrowsA __attribute((alias("xmlUCSIsSupplementalArrowsA__internal_alias")));
+#else
+#ifndef xmlUCSIsSupplementalArrowsA
+extern __typeof (xmlUCSIsSupplementalArrowsA) xmlUCSIsSupplementalArrowsA__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSupplementalArrowsA xmlUCSIsSupplementalArrowsA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSupplementalArrowsB
+extern __typeof (xmlUCSIsSupplementalArrowsB) xmlUCSIsSupplementalArrowsB __attribute((alias("xmlUCSIsSupplementalArrowsB__internal_alias")));
+#else
+#ifndef xmlUCSIsSupplementalArrowsB
+extern __typeof (xmlUCSIsSupplementalArrowsB) xmlUCSIsSupplementalArrowsB__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSupplementalArrowsB xmlUCSIsSupplementalArrowsB__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSupplementalMathematicalOperators
+extern __typeof (xmlUCSIsSupplementalMathematicalOperators) xmlUCSIsSupplementalMathematicalOperators __attribute((alias("xmlUCSIsSupplementalMathematicalOperators__internal_alias")));
+#else
+#ifndef xmlUCSIsSupplementalMathematicalOperators
+extern __typeof (xmlUCSIsSupplementalMathematicalOperators) xmlUCSIsSupplementalMathematicalOperators__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSupplementalMathematicalOperators xmlUCSIsSupplementalMathematicalOperators__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSupplementaryPrivateUseAreaA
+extern __typeof (xmlUCSIsSupplementaryPrivateUseAreaA) xmlUCSIsSupplementaryPrivateUseAreaA __attribute((alias("xmlUCSIsSupplementaryPrivateUseAreaA__internal_alias")));
+#else
+#ifndef xmlUCSIsSupplementaryPrivateUseAreaA
+extern __typeof (xmlUCSIsSupplementaryPrivateUseAreaA) xmlUCSIsSupplementaryPrivateUseAreaA__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSupplementaryPrivateUseAreaA xmlUCSIsSupplementaryPrivateUseAreaA__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSupplementaryPrivateUseAreaB
+extern __typeof (xmlUCSIsSupplementaryPrivateUseAreaB) xmlUCSIsSupplementaryPrivateUseAreaB __attribute((alias("xmlUCSIsSupplementaryPrivateUseAreaB__internal_alias")));
+#else
+#ifndef xmlUCSIsSupplementaryPrivateUseAreaB
+extern __typeof (xmlUCSIsSupplementaryPrivateUseAreaB) xmlUCSIsSupplementaryPrivateUseAreaB__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSupplementaryPrivateUseAreaB xmlUCSIsSupplementaryPrivateUseAreaB__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsSyriac
+extern __typeof (xmlUCSIsSyriac) xmlUCSIsSyriac __attribute((alias("xmlUCSIsSyriac__internal_alias")));
+#else
+#ifndef xmlUCSIsSyriac
+extern __typeof (xmlUCSIsSyriac) xmlUCSIsSyriac__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsSyriac xmlUCSIsSyriac__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTagalog
+extern __typeof (xmlUCSIsTagalog) xmlUCSIsTagalog __attribute((alias("xmlUCSIsTagalog__internal_alias")));
+#else
+#ifndef xmlUCSIsTagalog
+extern __typeof (xmlUCSIsTagalog) xmlUCSIsTagalog__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTagalog xmlUCSIsTagalog__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTagbanwa
+extern __typeof (xmlUCSIsTagbanwa) xmlUCSIsTagbanwa __attribute((alias("xmlUCSIsTagbanwa__internal_alias")));
+#else
+#ifndef xmlUCSIsTagbanwa
+extern __typeof (xmlUCSIsTagbanwa) xmlUCSIsTagbanwa__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTagbanwa xmlUCSIsTagbanwa__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTags
+extern __typeof (xmlUCSIsTags) xmlUCSIsTags __attribute((alias("xmlUCSIsTags__internal_alias")));
+#else
+#ifndef xmlUCSIsTags
+extern __typeof (xmlUCSIsTags) xmlUCSIsTags__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTags xmlUCSIsTags__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTaiLe
+extern __typeof (xmlUCSIsTaiLe) xmlUCSIsTaiLe __attribute((alias("xmlUCSIsTaiLe__internal_alias")));
+#else
+#ifndef xmlUCSIsTaiLe
+extern __typeof (xmlUCSIsTaiLe) xmlUCSIsTaiLe__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTaiLe xmlUCSIsTaiLe__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTaiXuanJingSymbols
+extern __typeof (xmlUCSIsTaiXuanJingSymbols) xmlUCSIsTaiXuanJingSymbols __attribute((alias("xmlUCSIsTaiXuanJingSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsTaiXuanJingSymbols
+extern __typeof (xmlUCSIsTaiXuanJingSymbols) xmlUCSIsTaiXuanJingSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTaiXuanJingSymbols xmlUCSIsTaiXuanJingSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTamil
+extern __typeof (xmlUCSIsTamil) xmlUCSIsTamil __attribute((alias("xmlUCSIsTamil__internal_alias")));
+#else
+#ifndef xmlUCSIsTamil
+extern __typeof (xmlUCSIsTamil) xmlUCSIsTamil__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTamil xmlUCSIsTamil__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTelugu
+extern __typeof (xmlUCSIsTelugu) xmlUCSIsTelugu __attribute((alias("xmlUCSIsTelugu__internal_alias")));
+#else
+#ifndef xmlUCSIsTelugu
+extern __typeof (xmlUCSIsTelugu) xmlUCSIsTelugu__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTelugu xmlUCSIsTelugu__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsThaana
+extern __typeof (xmlUCSIsThaana) xmlUCSIsThaana __attribute((alias("xmlUCSIsThaana__internal_alias")));
+#else
+#ifndef xmlUCSIsThaana
+extern __typeof (xmlUCSIsThaana) xmlUCSIsThaana__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsThaana xmlUCSIsThaana__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsThai
+extern __typeof (xmlUCSIsThai) xmlUCSIsThai __attribute((alias("xmlUCSIsThai__internal_alias")));
+#else
+#ifndef xmlUCSIsThai
+extern __typeof (xmlUCSIsThai) xmlUCSIsThai__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsThai xmlUCSIsThai__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsTibetan
+extern __typeof (xmlUCSIsTibetan) xmlUCSIsTibetan __attribute((alias("xmlUCSIsTibetan__internal_alias")));
+#else
+#ifndef xmlUCSIsTibetan
+extern __typeof (xmlUCSIsTibetan) xmlUCSIsTibetan__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsTibetan xmlUCSIsTibetan__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsUgaritic
+extern __typeof (xmlUCSIsUgaritic) xmlUCSIsUgaritic __attribute((alias("xmlUCSIsUgaritic__internal_alias")));
+#else
+#ifndef xmlUCSIsUgaritic
+extern __typeof (xmlUCSIsUgaritic) xmlUCSIsUgaritic__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsUgaritic xmlUCSIsUgaritic__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsUnifiedCanadianAboriginalSyllabics
+extern __typeof (xmlUCSIsUnifiedCanadianAboriginalSyllabics) xmlUCSIsUnifiedCanadianAboriginalSyllabics __attribute((alias("xmlUCSIsUnifiedCanadianAboriginalSyllabics__internal_alias")));
+#else
+#ifndef xmlUCSIsUnifiedCanadianAboriginalSyllabics
+extern __typeof (xmlUCSIsUnifiedCanadianAboriginalSyllabics) xmlUCSIsUnifiedCanadianAboriginalSyllabics__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsUnifiedCanadianAboriginalSyllabics xmlUCSIsUnifiedCanadianAboriginalSyllabics__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsVariationSelectors
+extern __typeof (xmlUCSIsVariationSelectors) xmlUCSIsVariationSelectors __attribute((alias("xmlUCSIsVariationSelectors__internal_alias")));
+#else
+#ifndef xmlUCSIsVariationSelectors
+extern __typeof (xmlUCSIsVariationSelectors) xmlUCSIsVariationSelectors__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsVariationSelectors xmlUCSIsVariationSelectors__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsVariationSelectorsSupplement
+extern __typeof (xmlUCSIsVariationSelectorsSupplement) xmlUCSIsVariationSelectorsSupplement __attribute((alias("xmlUCSIsVariationSelectorsSupplement__internal_alias")));
+#else
+#ifndef xmlUCSIsVariationSelectorsSupplement
+extern __typeof (xmlUCSIsVariationSelectorsSupplement) xmlUCSIsVariationSelectorsSupplement__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsVariationSelectorsSupplement xmlUCSIsVariationSelectorsSupplement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsYiRadicals
+extern __typeof (xmlUCSIsYiRadicals) xmlUCSIsYiRadicals __attribute((alias("xmlUCSIsYiRadicals__internal_alias")));
+#else
+#ifndef xmlUCSIsYiRadicals
+extern __typeof (xmlUCSIsYiRadicals) xmlUCSIsYiRadicals__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsYiRadicals xmlUCSIsYiRadicals__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsYiSyllables
+extern __typeof (xmlUCSIsYiSyllables) xmlUCSIsYiSyllables __attribute((alias("xmlUCSIsYiSyllables__internal_alias")));
+#else
+#ifndef xmlUCSIsYiSyllables
+extern __typeof (xmlUCSIsYiSyllables) xmlUCSIsYiSyllables__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsYiSyllables xmlUCSIsYiSyllables__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_UNICODE_ENABLED)
+#ifdef bottom_xmlunicode
+#undef xmlUCSIsYijingHexagramSymbols
+extern __typeof (xmlUCSIsYijingHexagramSymbols) xmlUCSIsYijingHexagramSymbols __attribute((alias("xmlUCSIsYijingHexagramSymbols__internal_alias")));
+#else
+#ifndef xmlUCSIsYijingHexagramSymbols
+extern __typeof (xmlUCSIsYijingHexagramSymbols) xmlUCSIsYijingHexagramSymbols__internal_alias __attribute((visibility("hidden")));
+#define xmlUCSIsYijingHexagramSymbols xmlUCSIsYijingHexagramSymbols__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlURIEscape
+extern __typeof (xmlURIEscape) xmlURIEscape __attribute((alias("xmlURIEscape__internal_alias")));
+#else
+#ifndef xmlURIEscape
+extern __typeof (xmlURIEscape) xmlURIEscape__internal_alias __attribute((visibility("hidden")));
+#define xmlURIEscape xmlURIEscape__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlURIEscapeStr
+extern __typeof (xmlURIEscapeStr) xmlURIEscapeStr __attribute((alias("xmlURIEscapeStr__internal_alias")));
+#else
+#ifndef xmlURIEscapeStr
+extern __typeof (xmlURIEscapeStr) xmlURIEscapeStr__internal_alias __attribute((visibility("hidden")));
+#define xmlURIEscapeStr xmlURIEscapeStr__internal_alias
+#endif
+#endif
+
+#ifdef bottom_uri
+#undef xmlURIUnescapeString
+extern __typeof (xmlURIUnescapeString) xmlURIUnescapeString __attribute((alias("xmlURIUnescapeString__internal_alias")));
+#else
+#ifndef xmlURIUnescapeString
+extern __typeof (xmlURIUnescapeString) xmlURIUnescapeString__internal_alias __attribute((visibility("hidden")));
+#define xmlURIUnescapeString xmlURIUnescapeString__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Charcmp
+extern __typeof (xmlUTF8Charcmp) xmlUTF8Charcmp __attribute((alias("xmlUTF8Charcmp__internal_alias")));
+#else
+#ifndef xmlUTF8Charcmp
+extern __typeof (xmlUTF8Charcmp) xmlUTF8Charcmp__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Charcmp xmlUTF8Charcmp__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Size
+extern __typeof (xmlUTF8Size) xmlUTF8Size __attribute((alias("xmlUTF8Size__internal_alias")));
+#else
+#ifndef xmlUTF8Size
+extern __typeof (xmlUTF8Size) xmlUTF8Size__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Size xmlUTF8Size__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Strlen
+extern __typeof (xmlUTF8Strlen) xmlUTF8Strlen __attribute((alias("xmlUTF8Strlen__internal_alias")));
+#else
+#ifndef xmlUTF8Strlen
+extern __typeof (xmlUTF8Strlen) xmlUTF8Strlen__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Strlen xmlUTF8Strlen__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Strloc
+extern __typeof (xmlUTF8Strloc) xmlUTF8Strloc __attribute((alias("xmlUTF8Strloc__internal_alias")));
+#else
+#ifndef xmlUTF8Strloc
+extern __typeof (xmlUTF8Strloc) xmlUTF8Strloc__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Strloc xmlUTF8Strloc__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Strndup
+extern __typeof (xmlUTF8Strndup) xmlUTF8Strndup __attribute((alias("xmlUTF8Strndup__internal_alias")));
+#else
+#ifndef xmlUTF8Strndup
+extern __typeof (xmlUTF8Strndup) xmlUTF8Strndup__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Strndup xmlUTF8Strndup__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Strpos
+extern __typeof (xmlUTF8Strpos) xmlUTF8Strpos __attribute((alias("xmlUTF8Strpos__internal_alias")));
+#else
+#ifndef xmlUTF8Strpos
+extern __typeof (xmlUTF8Strpos) xmlUTF8Strpos__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Strpos xmlUTF8Strpos__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Strsize
+extern __typeof (xmlUTF8Strsize) xmlUTF8Strsize __attribute((alias("xmlUTF8Strsize__internal_alias")));
+#else
+#ifndef xmlUTF8Strsize
+extern __typeof (xmlUTF8Strsize) xmlUTF8Strsize__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Strsize xmlUTF8Strsize__internal_alias
+#endif
+#endif
+
+#ifdef bottom_xmlstring
+#undef xmlUTF8Strsub
+extern __typeof (xmlUTF8Strsub) xmlUTF8Strsub __attribute((alias("xmlUTF8Strsub__internal_alias")));
+#else
+#ifndef xmlUTF8Strsub
+extern __typeof (xmlUTF8Strsub) xmlUTF8Strsub__internal_alias __attribute((visibility("hidden")));
+#define xmlUTF8Strsub xmlUTF8Strsub__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlUnlinkNode
+extern __typeof (xmlUnlinkNode) xmlUnlinkNode __attribute((alias("xmlUnlinkNode__internal_alias")));
+#else
+#ifndef xmlUnlinkNode
+extern __typeof (xmlUnlinkNode) xmlUnlinkNode__internal_alias __attribute((visibility("hidden")));
+#define xmlUnlinkNode xmlUnlinkNode__internal_alias
+#endif
+#endif
+
+#ifdef bottom_threads
+#undef xmlUnlockLibrary
+extern __typeof (xmlUnlockLibrary) xmlUnlockLibrary __attribute((alias("xmlUnlockLibrary__internal_alias")));
+#else
+#ifndef xmlUnlockLibrary
+extern __typeof (xmlUnlockLibrary) xmlUnlockLibrary__internal_alias __attribute((visibility("hidden")));
+#define xmlUnlockLibrary xmlUnlockLibrary__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlUnsetNsProp
+extern __typeof (xmlUnsetNsProp) xmlUnsetNsProp __attribute((alias("xmlUnsetNsProp__internal_alias")));
+#else
+#ifndef xmlUnsetNsProp
+extern __typeof (xmlUnsetNsProp) xmlUnsetNsProp__internal_alias __attribute((visibility("hidden")));
+#define xmlUnsetNsProp xmlUnsetNsProp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlUnsetProp
+extern __typeof (xmlUnsetProp) xmlUnsetProp __attribute((alias("xmlUnsetProp__internal_alias")));
+#else
+#ifndef xmlUnsetProp
+extern __typeof (xmlUnsetProp) xmlUnsetProp__internal_alias __attribute((visibility("hidden")));
+#define xmlUnsetProp xmlUnsetProp__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidBuildContentModel
+extern __typeof (xmlValidBuildContentModel) xmlValidBuildContentModel __attribute((alias("xmlValidBuildContentModel__internal_alias")));
+#else
+#ifndef xmlValidBuildContentModel
+extern __typeof (xmlValidBuildContentModel) xmlValidBuildContentModel__internal_alias __attribute((visibility("hidden")));
+#define xmlValidBuildContentModel xmlValidBuildContentModel__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidCtxtNormalizeAttributeValue
+extern __typeof (xmlValidCtxtNormalizeAttributeValue) xmlValidCtxtNormalizeAttributeValue __attribute((alias("xmlValidCtxtNormalizeAttributeValue__internal_alias")));
+#else
+#ifndef xmlValidCtxtNormalizeAttributeValue
+extern __typeof (xmlValidCtxtNormalizeAttributeValue) xmlValidCtxtNormalizeAttributeValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidCtxtNormalizeAttributeValue xmlValidCtxtNormalizeAttributeValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidGetPotentialChildren
+extern __typeof (xmlValidGetPotentialChildren) xmlValidGetPotentialChildren __attribute((alias("xmlValidGetPotentialChildren__internal_alias")));
+#else
+#ifndef xmlValidGetPotentialChildren
+extern __typeof (xmlValidGetPotentialChildren) xmlValidGetPotentialChildren__internal_alias __attribute((visibility("hidden")));
+#define xmlValidGetPotentialChildren xmlValidGetPotentialChildren__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidGetValidElements
+extern __typeof (xmlValidGetValidElements) xmlValidGetValidElements __attribute((alias("xmlValidGetValidElements__internal_alias")));
+#else
+#ifndef xmlValidGetValidElements
+extern __typeof (xmlValidGetValidElements) xmlValidGetValidElements__internal_alias __attribute((visibility("hidden")));
+#define xmlValidGetValidElements xmlValidGetValidElements__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidNormalizeAttributeValue
+extern __typeof (xmlValidNormalizeAttributeValue) xmlValidNormalizeAttributeValue __attribute((alias("xmlValidNormalizeAttributeValue__internal_alias")));
+#else
+#ifndef xmlValidNormalizeAttributeValue
+extern __typeof (xmlValidNormalizeAttributeValue) xmlValidNormalizeAttributeValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidNormalizeAttributeValue xmlValidNormalizeAttributeValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateAttributeDecl
+extern __typeof (xmlValidateAttributeDecl) xmlValidateAttributeDecl __attribute((alias("xmlValidateAttributeDecl__internal_alias")));
+#else
+#ifndef xmlValidateAttributeDecl
+extern __typeof (xmlValidateAttributeDecl) xmlValidateAttributeDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateAttributeDecl xmlValidateAttributeDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateAttributeValue
+extern __typeof (xmlValidateAttributeValue) xmlValidateAttributeValue __attribute((alias("xmlValidateAttributeValue__internal_alias")));
+#else
+#ifndef xmlValidateAttributeValue
+extern __typeof (xmlValidateAttributeValue) xmlValidateAttributeValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateAttributeValue xmlValidateAttributeValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateDocument
+extern __typeof (xmlValidateDocument) xmlValidateDocument __attribute((alias("xmlValidateDocument__internal_alias")));
+#else
+#ifndef xmlValidateDocument
+extern __typeof (xmlValidateDocument) xmlValidateDocument__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateDocument xmlValidateDocument__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateDocumentFinal
+extern __typeof (xmlValidateDocumentFinal) xmlValidateDocumentFinal __attribute((alias("xmlValidateDocumentFinal__internal_alias")));
+#else
+#ifndef xmlValidateDocumentFinal
+extern __typeof (xmlValidateDocumentFinal) xmlValidateDocumentFinal__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateDocumentFinal xmlValidateDocumentFinal__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateDtd
+extern __typeof (xmlValidateDtd) xmlValidateDtd __attribute((alias("xmlValidateDtd__internal_alias")));
+#else
+#ifndef xmlValidateDtd
+extern __typeof (xmlValidateDtd) xmlValidateDtd__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateDtd xmlValidateDtd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateDtdFinal
+extern __typeof (xmlValidateDtdFinal) xmlValidateDtdFinal __attribute((alias("xmlValidateDtdFinal__internal_alias")));
+#else
+#ifndef xmlValidateDtdFinal
+extern __typeof (xmlValidateDtdFinal) xmlValidateDtdFinal__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateDtdFinal xmlValidateDtdFinal__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateElement
+extern __typeof (xmlValidateElement) xmlValidateElement __attribute((alias("xmlValidateElement__internal_alias")));
+#else
+#ifndef xmlValidateElement
+extern __typeof (xmlValidateElement) xmlValidateElement__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateElement xmlValidateElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateElementDecl
+extern __typeof (xmlValidateElementDecl) xmlValidateElementDecl __attribute((alias("xmlValidateElementDecl__internal_alias")));
+#else
+#ifndef xmlValidateElementDecl
+extern __typeof (xmlValidateElementDecl) xmlValidateElementDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateElementDecl xmlValidateElementDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
+#ifdef bottom_tree
+#undef xmlValidateNCName
+extern __typeof (xmlValidateNCName) xmlValidateNCName __attribute((alias("xmlValidateNCName__internal_alias")));
+#else
+#ifndef xmlValidateNCName
+extern __typeof (xmlValidateNCName) xmlValidateNCName__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNCName xmlValidateNCName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlValidateNMToken
+extern __typeof (xmlValidateNMToken) xmlValidateNMToken __attribute((alias("xmlValidateNMToken__internal_alias")));
+#else
+#ifndef xmlValidateNMToken
+extern __typeof (xmlValidateNMToken) xmlValidateNMToken__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNMToken xmlValidateNMToken__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlValidateName
+extern __typeof (xmlValidateName) xmlValidateName __attribute((alias("xmlValidateName__internal_alias")));
+#else
+#ifndef xmlValidateName
+extern __typeof (xmlValidateName) xmlValidateName__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateName xmlValidateName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateNameValue
+extern __typeof (xmlValidateNameValue) xmlValidateNameValue __attribute((alias("xmlValidateNameValue__internal_alias")));
+#else
+#ifndef xmlValidateNameValue
+extern __typeof (xmlValidateNameValue) xmlValidateNameValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNameValue xmlValidateNameValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateNamesValue
+extern __typeof (xmlValidateNamesValue) xmlValidateNamesValue __attribute((alias("xmlValidateNamesValue__internal_alias")));
+#else
+#ifndef xmlValidateNamesValue
+extern __typeof (xmlValidateNamesValue) xmlValidateNamesValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNamesValue xmlValidateNamesValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateNmtokenValue
+extern __typeof (xmlValidateNmtokenValue) xmlValidateNmtokenValue __attribute((alias("xmlValidateNmtokenValue__internal_alias")));
+#else
+#ifndef xmlValidateNmtokenValue
+extern __typeof (xmlValidateNmtokenValue) xmlValidateNmtokenValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNmtokenValue xmlValidateNmtokenValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateNmtokensValue
+extern __typeof (xmlValidateNmtokensValue) xmlValidateNmtokensValue __attribute((alias("xmlValidateNmtokensValue__internal_alias")));
+#else
+#ifndef xmlValidateNmtokensValue
+extern __typeof (xmlValidateNmtokensValue) xmlValidateNmtokensValue__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNmtokensValue xmlValidateNmtokensValue__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateNotationDecl
+extern __typeof (xmlValidateNotationDecl) xmlValidateNotationDecl __attribute((alias("xmlValidateNotationDecl__internal_alias")));
+#else
+#ifndef xmlValidateNotationDecl
+extern __typeof (xmlValidateNotationDecl) xmlValidateNotationDecl__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNotationDecl xmlValidateNotationDecl__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateNotationUse
+extern __typeof (xmlValidateNotationUse) xmlValidateNotationUse __attribute((alias("xmlValidateNotationUse__internal_alias")));
+#else
+#ifndef xmlValidateNotationUse
+extern __typeof (xmlValidateNotationUse) xmlValidateNotationUse__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateNotationUse xmlValidateNotationUse__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateOneAttribute
+extern __typeof (xmlValidateOneAttribute) xmlValidateOneAttribute __attribute((alias("xmlValidateOneAttribute__internal_alias")));
+#else
+#ifndef xmlValidateOneAttribute
+extern __typeof (xmlValidateOneAttribute) xmlValidateOneAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateOneAttribute xmlValidateOneAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateOneElement
+extern __typeof (xmlValidateOneElement) xmlValidateOneElement __attribute((alias("xmlValidateOneElement__internal_alias")));
+#else
+#ifndef xmlValidateOneElement
+extern __typeof (xmlValidateOneElement) xmlValidateOneElement__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateOneElement xmlValidateOneElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateOneNamespace
+extern __typeof (xmlValidateOneNamespace) xmlValidateOneNamespace __attribute((alias("xmlValidateOneNamespace__internal_alias")));
+#else
+#ifndef xmlValidateOneNamespace
+extern __typeof (xmlValidateOneNamespace) xmlValidateOneNamespace__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateOneNamespace xmlValidateOneNamespace__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidatePopElement
+extern __typeof (xmlValidatePopElement) xmlValidatePopElement __attribute((alias("xmlValidatePopElement__internal_alias")));
+#else
+#ifndef xmlValidatePopElement
+extern __typeof (xmlValidatePopElement) xmlValidatePopElement__internal_alias __attribute((visibility("hidden")));
+#define xmlValidatePopElement xmlValidatePopElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidatePushCData
+extern __typeof (xmlValidatePushCData) xmlValidatePushCData __attribute((alias("xmlValidatePushCData__internal_alias")));
+#else
+#ifndef xmlValidatePushCData
+extern __typeof (xmlValidatePushCData) xmlValidatePushCData__internal_alias __attribute((visibility("hidden")));
+#define xmlValidatePushCData xmlValidatePushCData__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidatePushElement
+extern __typeof (xmlValidatePushElement) xmlValidatePushElement __attribute((alias("xmlValidatePushElement__internal_alias")));
+#else
+#ifndef xmlValidatePushElement
+extern __typeof (xmlValidatePushElement) xmlValidatePushElement__internal_alias __attribute((visibility("hidden")));
+#define xmlValidatePushElement xmlValidatePushElement__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_tree
+#undef xmlValidateQName
+extern __typeof (xmlValidateQName) xmlValidateQName __attribute((alias("xmlValidateQName__internal_alias")));
+#else
+#ifndef xmlValidateQName
+extern __typeof (xmlValidateQName) xmlValidateQName__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateQName xmlValidateQName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_VALID_ENABLED)
+#ifdef bottom_valid
+#undef xmlValidateRoot
+extern __typeof (xmlValidateRoot) xmlValidateRoot __attribute((alias("xmlValidateRoot__internal_alias")));
+#else
+#ifndef xmlValidateRoot
+extern __typeof (xmlValidateRoot) xmlValidateRoot__internal_alias __attribute((visibility("hidden")));
+#define xmlValidateRoot xmlValidateRoot__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeFreeContext
+extern __typeof (xmlXIncludeFreeContext) xmlXIncludeFreeContext __attribute((alias("xmlXIncludeFreeContext__internal_alias")));
+#else
+#ifndef xmlXIncludeFreeContext
+extern __typeof (xmlXIncludeFreeContext) xmlXIncludeFreeContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeFreeContext xmlXIncludeFreeContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeNewContext
+extern __typeof (xmlXIncludeNewContext) xmlXIncludeNewContext __attribute((alias("xmlXIncludeNewContext__internal_alias")));
+#else
+#ifndef xmlXIncludeNewContext
+extern __typeof (xmlXIncludeNewContext) xmlXIncludeNewContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeNewContext xmlXIncludeNewContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcess
+extern __typeof (xmlXIncludeProcess) xmlXIncludeProcess __attribute((alias("xmlXIncludeProcess__internal_alias")));
+#else
+#ifndef xmlXIncludeProcess
+extern __typeof (xmlXIncludeProcess) xmlXIncludeProcess__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcess xmlXIncludeProcess__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcessFlags
+extern __typeof (xmlXIncludeProcessFlags) xmlXIncludeProcessFlags __attribute((alias("xmlXIncludeProcessFlags__internal_alias")));
+#else
+#ifndef xmlXIncludeProcessFlags
+extern __typeof (xmlXIncludeProcessFlags) xmlXIncludeProcessFlags__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcessFlags xmlXIncludeProcessFlags__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcessFlagsData
+extern __typeof (xmlXIncludeProcessFlagsData) xmlXIncludeProcessFlagsData __attribute((alias("xmlXIncludeProcessFlagsData__internal_alias")));
+#else
+#ifndef xmlXIncludeProcessFlagsData
+extern __typeof (xmlXIncludeProcessFlagsData) xmlXIncludeProcessFlagsData__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcessFlagsData xmlXIncludeProcessFlagsData__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcessNode
+extern __typeof (xmlXIncludeProcessNode) xmlXIncludeProcessNode __attribute((alias("xmlXIncludeProcessNode__internal_alias")));
+#else
+#ifndef xmlXIncludeProcessNode
+extern __typeof (xmlXIncludeProcessNode) xmlXIncludeProcessNode__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcessNode xmlXIncludeProcessNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcessTree
+extern __typeof (xmlXIncludeProcessTree) xmlXIncludeProcessTree __attribute((alias("xmlXIncludeProcessTree__internal_alias")));
+#else
+#ifndef xmlXIncludeProcessTree
+extern __typeof (xmlXIncludeProcessTree) xmlXIncludeProcessTree__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcessTree xmlXIncludeProcessTree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcessTreeFlags
+extern __typeof (xmlXIncludeProcessTreeFlags) xmlXIncludeProcessTreeFlags __attribute((alias("xmlXIncludeProcessTreeFlags__internal_alias")));
+#else
+#ifndef xmlXIncludeProcessTreeFlags
+extern __typeof (xmlXIncludeProcessTreeFlags) xmlXIncludeProcessTreeFlags__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcessTreeFlags xmlXIncludeProcessTreeFlags__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeProcessTreeFlagsData
+extern __typeof (xmlXIncludeProcessTreeFlagsData) xmlXIncludeProcessTreeFlagsData __attribute((alias("xmlXIncludeProcessTreeFlagsData__internal_alias")));
+#else
+#ifndef xmlXIncludeProcessTreeFlagsData
+extern __typeof (xmlXIncludeProcessTreeFlagsData) xmlXIncludeProcessTreeFlagsData__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeProcessTreeFlagsData xmlXIncludeProcessTreeFlagsData__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+#ifdef bottom_xinclude
+#undef xmlXIncludeSetFlags
+extern __typeof (xmlXIncludeSetFlags) xmlXIncludeSetFlags __attribute((alias("xmlXIncludeSetFlags__internal_alias")));
+#else
+#ifndef xmlXIncludeSetFlags
+extern __typeof (xmlXIncludeSetFlags) xmlXIncludeSetFlags__internal_alias __attribute((visibility("hidden")));
+#define xmlXIncludeSetFlags xmlXIncludeSetFlags__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathAddValues
+extern __typeof (xmlXPathAddValues) xmlXPathAddValues __attribute((alias("xmlXPathAddValues__internal_alias")));
+#else
+#ifndef xmlXPathAddValues
+extern __typeof (xmlXPathAddValues) xmlXPathAddValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathAddValues xmlXPathAddValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathBooleanFunction
+extern __typeof (xmlXPathBooleanFunction) xmlXPathBooleanFunction __attribute((alias("xmlXPathBooleanFunction__internal_alias")));
+#else
+#ifndef xmlXPathBooleanFunction
+extern __typeof (xmlXPathBooleanFunction) xmlXPathBooleanFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathBooleanFunction xmlXPathBooleanFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastBooleanToNumber
+extern __typeof (xmlXPathCastBooleanToNumber) xmlXPathCastBooleanToNumber __attribute((alias("xmlXPathCastBooleanToNumber__internal_alias")));
+#else
+#ifndef xmlXPathCastBooleanToNumber
+extern __typeof (xmlXPathCastBooleanToNumber) xmlXPathCastBooleanToNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastBooleanToNumber xmlXPathCastBooleanToNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastBooleanToString
+extern __typeof (xmlXPathCastBooleanToString) xmlXPathCastBooleanToString __attribute((alias("xmlXPathCastBooleanToString__internal_alias")));
+#else
+#ifndef xmlXPathCastBooleanToString
+extern __typeof (xmlXPathCastBooleanToString) xmlXPathCastBooleanToString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastBooleanToString xmlXPathCastBooleanToString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNodeSetToBoolean
+extern __typeof (xmlXPathCastNodeSetToBoolean) xmlXPathCastNodeSetToBoolean __attribute((alias("xmlXPathCastNodeSetToBoolean__internal_alias")));
+#else
+#ifndef xmlXPathCastNodeSetToBoolean
+extern __typeof (xmlXPathCastNodeSetToBoolean) xmlXPathCastNodeSetToBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNodeSetToBoolean xmlXPathCastNodeSetToBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNodeSetToNumber
+extern __typeof (xmlXPathCastNodeSetToNumber) xmlXPathCastNodeSetToNumber __attribute((alias("xmlXPathCastNodeSetToNumber__internal_alias")));
+#else
+#ifndef xmlXPathCastNodeSetToNumber
+extern __typeof (xmlXPathCastNodeSetToNumber) xmlXPathCastNodeSetToNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNodeSetToNumber xmlXPathCastNodeSetToNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNodeSetToString
+extern __typeof (xmlXPathCastNodeSetToString) xmlXPathCastNodeSetToString __attribute((alias("xmlXPathCastNodeSetToString__internal_alias")));
+#else
+#ifndef xmlXPathCastNodeSetToString
+extern __typeof (xmlXPathCastNodeSetToString) xmlXPathCastNodeSetToString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNodeSetToString xmlXPathCastNodeSetToString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNodeToNumber
+extern __typeof (xmlXPathCastNodeToNumber) xmlXPathCastNodeToNumber __attribute((alias("xmlXPathCastNodeToNumber__internal_alias")));
+#else
+#ifndef xmlXPathCastNodeToNumber
+extern __typeof (xmlXPathCastNodeToNumber) xmlXPathCastNodeToNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNodeToNumber xmlXPathCastNodeToNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNodeToString
+extern __typeof (xmlXPathCastNodeToString) xmlXPathCastNodeToString __attribute((alias("xmlXPathCastNodeToString__internal_alias")));
+#else
+#ifndef xmlXPathCastNodeToString
+extern __typeof (xmlXPathCastNodeToString) xmlXPathCastNodeToString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNodeToString xmlXPathCastNodeToString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNumberToBoolean
+extern __typeof (xmlXPathCastNumberToBoolean) xmlXPathCastNumberToBoolean __attribute((alias("xmlXPathCastNumberToBoolean__internal_alias")));
+#else
+#ifndef xmlXPathCastNumberToBoolean
+extern __typeof (xmlXPathCastNumberToBoolean) xmlXPathCastNumberToBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNumberToBoolean xmlXPathCastNumberToBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastNumberToString
+extern __typeof (xmlXPathCastNumberToString) xmlXPathCastNumberToString __attribute((alias("xmlXPathCastNumberToString__internal_alias")));
+#else
+#ifndef xmlXPathCastNumberToString
+extern __typeof (xmlXPathCastNumberToString) xmlXPathCastNumberToString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastNumberToString xmlXPathCastNumberToString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastStringToBoolean
+extern __typeof (xmlXPathCastStringToBoolean) xmlXPathCastStringToBoolean __attribute((alias("xmlXPathCastStringToBoolean__internal_alias")));
+#else
+#ifndef xmlXPathCastStringToBoolean
+extern __typeof (xmlXPathCastStringToBoolean) xmlXPathCastStringToBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastStringToBoolean xmlXPathCastStringToBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastStringToNumber
+extern __typeof (xmlXPathCastStringToNumber) xmlXPathCastStringToNumber __attribute((alias("xmlXPathCastStringToNumber__internal_alias")));
+#else
+#ifndef xmlXPathCastStringToNumber
+extern __typeof (xmlXPathCastStringToNumber) xmlXPathCastStringToNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastStringToNumber xmlXPathCastStringToNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastToBoolean
+extern __typeof (xmlXPathCastToBoolean) xmlXPathCastToBoolean __attribute((alias("xmlXPathCastToBoolean__internal_alias")));
+#else
+#ifndef xmlXPathCastToBoolean
+extern __typeof (xmlXPathCastToBoolean) xmlXPathCastToBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastToBoolean xmlXPathCastToBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastToNumber
+extern __typeof (xmlXPathCastToNumber) xmlXPathCastToNumber __attribute((alias("xmlXPathCastToNumber__internal_alias")));
+#else
+#ifndef xmlXPathCastToNumber
+extern __typeof (xmlXPathCastToNumber) xmlXPathCastToNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastToNumber xmlXPathCastToNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCastToString
+extern __typeof (xmlXPathCastToString) xmlXPathCastToString __attribute((alias("xmlXPathCastToString__internal_alias")));
+#else
+#ifndef xmlXPathCastToString
+extern __typeof (xmlXPathCastToString) xmlXPathCastToString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCastToString xmlXPathCastToString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCeilingFunction
+extern __typeof (xmlXPathCeilingFunction) xmlXPathCeilingFunction __attribute((alias("xmlXPathCeilingFunction__internal_alias")));
+#else
+#ifndef xmlXPathCeilingFunction
+extern __typeof (xmlXPathCeilingFunction) xmlXPathCeilingFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCeilingFunction xmlXPathCeilingFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCmpNodes
+extern __typeof (xmlXPathCmpNodes) xmlXPathCmpNodes __attribute((alias("xmlXPathCmpNodes__internal_alias")));
+#else
+#ifndef xmlXPathCmpNodes
+extern __typeof (xmlXPathCmpNodes) xmlXPathCmpNodes__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCmpNodes xmlXPathCmpNodes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCompareValues
+extern __typeof (xmlXPathCompareValues) xmlXPathCompareValues __attribute((alias("xmlXPathCompareValues__internal_alias")));
+#else
+#ifndef xmlXPathCompareValues
+extern __typeof (xmlXPathCompareValues) xmlXPathCompareValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCompareValues xmlXPathCompareValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCompile
+extern __typeof (xmlXPathCompile) xmlXPathCompile __attribute((alias("xmlXPathCompile__internal_alias")));
+#else
+#ifndef xmlXPathCompile
+extern __typeof (xmlXPathCompile) xmlXPathCompile__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCompile xmlXPathCompile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCompiledEval
+extern __typeof (xmlXPathCompiledEval) xmlXPathCompiledEval __attribute((alias("xmlXPathCompiledEval__internal_alias")));
+#else
+#ifndef xmlXPathCompiledEval
+extern __typeof (xmlXPathCompiledEval) xmlXPathCompiledEval__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCompiledEval xmlXPathCompiledEval__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCompiledEvalToBoolean
+extern __typeof (xmlXPathCompiledEvalToBoolean) xmlXPathCompiledEvalToBoolean __attribute((alias("xmlXPathCompiledEvalToBoolean__internal_alias")));
+#else
+#ifndef xmlXPathCompiledEvalToBoolean
+extern __typeof (xmlXPathCompiledEvalToBoolean) xmlXPathCompiledEvalToBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCompiledEvalToBoolean xmlXPathCompiledEvalToBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathConcatFunction
+extern __typeof (xmlXPathConcatFunction) xmlXPathConcatFunction __attribute((alias("xmlXPathConcatFunction__internal_alias")));
+#else
+#ifndef xmlXPathConcatFunction
+extern __typeof (xmlXPathConcatFunction) xmlXPathConcatFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathConcatFunction xmlXPathConcatFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathContainsFunction
+extern __typeof (xmlXPathContainsFunction) xmlXPathContainsFunction __attribute((alias("xmlXPathContainsFunction__internal_alias")));
+#else
+#ifndef xmlXPathContainsFunction
+extern __typeof (xmlXPathContainsFunction) xmlXPathContainsFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathContainsFunction xmlXPathContainsFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathContextSetCache
+extern __typeof (xmlXPathContextSetCache) xmlXPathContextSetCache __attribute((alias("xmlXPathContextSetCache__internal_alias")));
+#else
+#ifndef xmlXPathContextSetCache
+extern __typeof (xmlXPathContextSetCache) xmlXPathContextSetCache__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathContextSetCache xmlXPathContextSetCache__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathConvertBoolean
+extern __typeof (xmlXPathConvertBoolean) xmlXPathConvertBoolean __attribute((alias("xmlXPathConvertBoolean__internal_alias")));
+#else
+#ifndef xmlXPathConvertBoolean
+extern __typeof (xmlXPathConvertBoolean) xmlXPathConvertBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathConvertBoolean xmlXPathConvertBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathConvertNumber
+extern __typeof (xmlXPathConvertNumber) xmlXPathConvertNumber __attribute((alias("xmlXPathConvertNumber__internal_alias")));
+#else
+#ifndef xmlXPathConvertNumber
+extern __typeof (xmlXPathConvertNumber) xmlXPathConvertNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathConvertNumber xmlXPathConvertNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathConvertString
+extern __typeof (xmlXPathConvertString) xmlXPathConvertString __attribute((alias("xmlXPathConvertString__internal_alias")));
+#else
+#ifndef xmlXPathConvertString
+extern __typeof (xmlXPathConvertString) xmlXPathConvertString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathConvertString xmlXPathConvertString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCountFunction
+extern __typeof (xmlXPathCountFunction) xmlXPathCountFunction __attribute((alias("xmlXPathCountFunction__internal_alias")));
+#else
+#ifndef xmlXPathCountFunction
+extern __typeof (xmlXPathCountFunction) xmlXPathCountFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCountFunction xmlXPathCountFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathCtxtCompile
+extern __typeof (xmlXPathCtxtCompile) xmlXPathCtxtCompile __attribute((alias("xmlXPathCtxtCompile__internal_alias")));
+#else
+#ifndef xmlXPathCtxtCompile
+extern __typeof (xmlXPathCtxtCompile) xmlXPathCtxtCompile__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathCtxtCompile xmlXPathCtxtCompile__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathDebugDumpCompExpr
+extern __typeof (xmlXPathDebugDumpCompExpr) xmlXPathDebugDumpCompExpr __attribute((alias("xmlXPathDebugDumpCompExpr__internal_alias")));
+#else
+#ifndef xmlXPathDebugDumpCompExpr
+extern __typeof (xmlXPathDebugDumpCompExpr) xmlXPathDebugDumpCompExpr__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathDebugDumpCompExpr xmlXPathDebugDumpCompExpr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathDebugDumpObject
+extern __typeof (xmlXPathDebugDumpObject) xmlXPathDebugDumpObject __attribute((alias("xmlXPathDebugDumpObject__internal_alias")));
+#else
+#ifndef xmlXPathDebugDumpObject
+extern __typeof (xmlXPathDebugDumpObject) xmlXPathDebugDumpObject__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathDebugDumpObject xmlXPathDebugDumpObject__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathDifference
+extern __typeof (xmlXPathDifference) xmlXPathDifference __attribute((alias("xmlXPathDifference__internal_alias")));
+#else
+#ifndef xmlXPathDifference
+extern __typeof (xmlXPathDifference) xmlXPathDifference__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathDifference xmlXPathDifference__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathDistinct
+extern __typeof (xmlXPathDistinct) xmlXPathDistinct __attribute((alias("xmlXPathDistinct__internal_alias")));
+#else
+#ifndef xmlXPathDistinct
+extern __typeof (xmlXPathDistinct) xmlXPathDistinct__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathDistinct xmlXPathDistinct__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathDistinctSorted
+extern __typeof (xmlXPathDistinctSorted) xmlXPathDistinctSorted __attribute((alias("xmlXPathDistinctSorted__internal_alias")));
+#else
+#ifndef xmlXPathDistinctSorted
+extern __typeof (xmlXPathDistinctSorted) xmlXPathDistinctSorted__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathDistinctSorted xmlXPathDistinctSorted__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathDivValues
+extern __typeof (xmlXPathDivValues) xmlXPathDivValues __attribute((alias("xmlXPathDivValues__internal_alias")));
+#else
+#ifndef xmlXPathDivValues
+extern __typeof (xmlXPathDivValues) xmlXPathDivValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathDivValues xmlXPathDivValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathEqualValues
+extern __typeof (xmlXPathEqualValues) xmlXPathEqualValues __attribute((alias("xmlXPathEqualValues__internal_alias")));
+#else
+#ifndef xmlXPathEqualValues
+extern __typeof (xmlXPathEqualValues) xmlXPathEqualValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathEqualValues xmlXPathEqualValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathErr
+extern __typeof (xmlXPathErr) xmlXPathErr __attribute((alias("xmlXPathErr__internal_alias")));
+#else
+#ifndef xmlXPathErr
+extern __typeof (xmlXPathErr) xmlXPathErr__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathErr xmlXPathErr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathEval
+extern __typeof (xmlXPathEval) xmlXPathEval __attribute((alias("xmlXPathEval__internal_alias")));
+#else
+#ifndef xmlXPathEval
+extern __typeof (xmlXPathEval) xmlXPathEval__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathEval xmlXPathEval__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathEvalExpr
+extern __typeof (xmlXPathEvalExpr) xmlXPathEvalExpr __attribute((alias("xmlXPathEvalExpr__internal_alias")));
+#else
+#ifndef xmlXPathEvalExpr
+extern __typeof (xmlXPathEvalExpr) xmlXPathEvalExpr__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathEvalExpr xmlXPathEvalExpr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathEvalExpression
+extern __typeof (xmlXPathEvalExpression) xmlXPathEvalExpression __attribute((alias("xmlXPathEvalExpression__internal_alias")));
+#else
+#ifndef xmlXPathEvalExpression
+extern __typeof (xmlXPathEvalExpression) xmlXPathEvalExpression__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathEvalExpression xmlXPathEvalExpression__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathEvalPredicate
+extern __typeof (xmlXPathEvalPredicate) xmlXPathEvalPredicate __attribute((alias("xmlXPathEvalPredicate__internal_alias")));
+#else
+#ifndef xmlXPathEvalPredicate
+extern __typeof (xmlXPathEvalPredicate) xmlXPathEvalPredicate__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathEvalPredicate xmlXPathEvalPredicate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathEvaluatePredicateResult
+extern __typeof (xmlXPathEvaluatePredicateResult) xmlXPathEvaluatePredicateResult __attribute((alias("xmlXPathEvaluatePredicateResult__internal_alias")));
+#else
+#ifndef xmlXPathEvaluatePredicateResult
+extern __typeof (xmlXPathEvaluatePredicateResult) xmlXPathEvaluatePredicateResult__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathEvaluatePredicateResult xmlXPathEvaluatePredicateResult__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFalseFunction
+extern __typeof (xmlXPathFalseFunction) xmlXPathFalseFunction __attribute((alias("xmlXPathFalseFunction__internal_alias")));
+#else
+#ifndef xmlXPathFalseFunction
+extern __typeof (xmlXPathFalseFunction) xmlXPathFalseFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFalseFunction xmlXPathFalseFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFloorFunction
+extern __typeof (xmlXPathFloorFunction) xmlXPathFloorFunction __attribute((alias("xmlXPathFloorFunction__internal_alias")));
+#else
+#ifndef xmlXPathFloorFunction
+extern __typeof (xmlXPathFloorFunction) xmlXPathFloorFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFloorFunction xmlXPathFloorFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFreeCompExpr
+extern __typeof (xmlXPathFreeCompExpr) xmlXPathFreeCompExpr __attribute((alias("xmlXPathFreeCompExpr__internal_alias")));
+#else
+#ifndef xmlXPathFreeCompExpr
+extern __typeof (xmlXPathFreeCompExpr) xmlXPathFreeCompExpr__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFreeCompExpr xmlXPathFreeCompExpr__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFreeContext
+extern __typeof (xmlXPathFreeContext) xmlXPathFreeContext __attribute((alias("xmlXPathFreeContext__internal_alias")));
+#else
+#ifndef xmlXPathFreeContext
+extern __typeof (xmlXPathFreeContext) xmlXPathFreeContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFreeContext xmlXPathFreeContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFreeNodeSet
+extern __typeof (xmlXPathFreeNodeSet) xmlXPathFreeNodeSet __attribute((alias("xmlXPathFreeNodeSet__internal_alias")));
+#else
+#ifndef xmlXPathFreeNodeSet
+extern __typeof (xmlXPathFreeNodeSet) xmlXPathFreeNodeSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFreeNodeSet xmlXPathFreeNodeSet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFreeNodeSetList
+extern __typeof (xmlXPathFreeNodeSetList) xmlXPathFreeNodeSetList __attribute((alias("xmlXPathFreeNodeSetList__internal_alias")));
+#else
+#ifndef xmlXPathFreeNodeSetList
+extern __typeof (xmlXPathFreeNodeSetList) xmlXPathFreeNodeSetList__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFreeNodeSetList xmlXPathFreeNodeSetList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFreeObject
+extern __typeof (xmlXPathFreeObject) xmlXPathFreeObject __attribute((alias("xmlXPathFreeObject__internal_alias")));
+#else
+#ifndef xmlXPathFreeObject
+extern __typeof (xmlXPathFreeObject) xmlXPathFreeObject__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFreeObject xmlXPathFreeObject__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFreeParserContext
+extern __typeof (xmlXPathFreeParserContext) xmlXPathFreeParserContext __attribute((alias("xmlXPathFreeParserContext__internal_alias")));
+#else
+#ifndef xmlXPathFreeParserContext
+extern __typeof (xmlXPathFreeParserContext) xmlXPathFreeParserContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFreeParserContext xmlXPathFreeParserContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFunctionLookup
+extern __typeof (xmlXPathFunctionLookup) xmlXPathFunctionLookup __attribute((alias("xmlXPathFunctionLookup__internal_alias")));
+#else
+#ifndef xmlXPathFunctionLookup
+extern __typeof (xmlXPathFunctionLookup) xmlXPathFunctionLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFunctionLookup xmlXPathFunctionLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathFunctionLookupNS
+extern __typeof (xmlXPathFunctionLookupNS) xmlXPathFunctionLookupNS __attribute((alias("xmlXPathFunctionLookupNS__internal_alias")));
+#else
+#ifndef xmlXPathFunctionLookupNS
+extern __typeof (xmlXPathFunctionLookupNS) xmlXPathFunctionLookupNS__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathFunctionLookupNS xmlXPathFunctionLookupNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathHasSameNodes
+extern __typeof (xmlXPathHasSameNodes) xmlXPathHasSameNodes __attribute((alias("xmlXPathHasSameNodes__internal_alias")));
+#else
+#ifndef xmlXPathHasSameNodes
+extern __typeof (xmlXPathHasSameNodes) xmlXPathHasSameNodes__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathHasSameNodes xmlXPathHasSameNodes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathIdFunction
+extern __typeof (xmlXPathIdFunction) xmlXPathIdFunction __attribute((alias("xmlXPathIdFunction__internal_alias")));
+#else
+#ifndef xmlXPathIdFunction
+extern __typeof (xmlXPathIdFunction) xmlXPathIdFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathIdFunction xmlXPathIdFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathInit
+extern __typeof (xmlXPathInit) xmlXPathInit __attribute((alias("xmlXPathInit__internal_alias")));
+#else
+#ifndef xmlXPathInit
+extern __typeof (xmlXPathInit) xmlXPathInit__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathInit xmlXPathInit__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathIntersection
+extern __typeof (xmlXPathIntersection) xmlXPathIntersection __attribute((alias("xmlXPathIntersection__internal_alias")));
+#else
+#ifndef xmlXPathIntersection
+extern __typeof (xmlXPathIntersection) xmlXPathIntersection__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathIntersection xmlXPathIntersection__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathIsInf
+extern __typeof (xmlXPathIsInf) xmlXPathIsInf __attribute((alias("xmlXPathIsInf__internal_alias")));
+#else
+#ifndef xmlXPathIsInf
+extern __typeof (xmlXPathIsInf) xmlXPathIsInf__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathIsInf xmlXPathIsInf__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathIsNaN
+extern __typeof (xmlXPathIsNaN) xmlXPathIsNaN __attribute((alias("xmlXPathIsNaN__internal_alias")));
+#else
+#ifndef xmlXPathIsNaN
+extern __typeof (xmlXPathIsNaN) xmlXPathIsNaN__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathIsNaN xmlXPathIsNaN__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathIsNodeType
+extern __typeof (xmlXPathIsNodeType) xmlXPathIsNodeType __attribute((alias("xmlXPathIsNodeType__internal_alias")));
+#else
+#ifndef xmlXPathIsNodeType
+extern __typeof (xmlXPathIsNodeType) xmlXPathIsNodeType__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathIsNodeType xmlXPathIsNodeType__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathLangFunction
+extern __typeof (xmlXPathLangFunction) xmlXPathLangFunction __attribute((alias("xmlXPathLangFunction__internal_alias")));
+#else
+#ifndef xmlXPathLangFunction
+extern __typeof (xmlXPathLangFunction) xmlXPathLangFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathLangFunction xmlXPathLangFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathLastFunction
+extern __typeof (xmlXPathLastFunction) xmlXPathLastFunction __attribute((alias("xmlXPathLastFunction__internal_alias")));
+#else
+#ifndef xmlXPathLastFunction
+extern __typeof (xmlXPathLastFunction) xmlXPathLastFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathLastFunction xmlXPathLastFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathLeading
+extern __typeof (xmlXPathLeading) xmlXPathLeading __attribute((alias("xmlXPathLeading__internal_alias")));
+#else
+#ifndef xmlXPathLeading
+extern __typeof (xmlXPathLeading) xmlXPathLeading__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathLeading xmlXPathLeading__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathLeadingSorted
+extern __typeof (xmlXPathLeadingSorted) xmlXPathLeadingSorted __attribute((alias("xmlXPathLeadingSorted__internal_alias")));
+#else
+#ifndef xmlXPathLeadingSorted
+extern __typeof (xmlXPathLeadingSorted) xmlXPathLeadingSorted__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathLeadingSorted xmlXPathLeadingSorted__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathLocalNameFunction
+extern __typeof (xmlXPathLocalNameFunction) xmlXPathLocalNameFunction __attribute((alias("xmlXPathLocalNameFunction__internal_alias")));
+#else
+#ifndef xmlXPathLocalNameFunction
+extern __typeof (xmlXPathLocalNameFunction) xmlXPathLocalNameFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathLocalNameFunction xmlXPathLocalNameFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathModValues
+extern __typeof (xmlXPathModValues) xmlXPathModValues __attribute((alias("xmlXPathModValues__internal_alias")));
+#else
+#ifndef xmlXPathModValues
+extern __typeof (xmlXPathModValues) xmlXPathModValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathModValues xmlXPathModValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathMultValues
+extern __typeof (xmlXPathMultValues) xmlXPathMultValues __attribute((alias("xmlXPathMultValues__internal_alias")));
+#else
+#ifndef xmlXPathMultValues
+extern __typeof (xmlXPathMultValues) xmlXPathMultValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathMultValues xmlXPathMultValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNamespaceURIFunction
+extern __typeof (xmlXPathNamespaceURIFunction) xmlXPathNamespaceURIFunction __attribute((alias("xmlXPathNamespaceURIFunction__internal_alias")));
+#else
+#ifndef xmlXPathNamespaceURIFunction
+extern __typeof (xmlXPathNamespaceURIFunction) xmlXPathNamespaceURIFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNamespaceURIFunction xmlXPathNamespaceURIFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewBoolean
+extern __typeof (xmlXPathNewBoolean) xmlXPathNewBoolean __attribute((alias("xmlXPathNewBoolean__internal_alias")));
+#else
+#ifndef xmlXPathNewBoolean
+extern __typeof (xmlXPathNewBoolean) xmlXPathNewBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewBoolean xmlXPathNewBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewCString
+extern __typeof (xmlXPathNewCString) xmlXPathNewCString __attribute((alias("xmlXPathNewCString__internal_alias")));
+#else
+#ifndef xmlXPathNewCString
+extern __typeof (xmlXPathNewCString) xmlXPathNewCString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewCString xmlXPathNewCString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewContext
+extern __typeof (xmlXPathNewContext) xmlXPathNewContext __attribute((alias("xmlXPathNewContext__internal_alias")));
+#else
+#ifndef xmlXPathNewContext
+extern __typeof (xmlXPathNewContext) xmlXPathNewContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewContext xmlXPathNewContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewFloat
+extern __typeof (xmlXPathNewFloat) xmlXPathNewFloat __attribute((alias("xmlXPathNewFloat__internal_alias")));
+#else
+#ifndef xmlXPathNewFloat
+extern __typeof (xmlXPathNewFloat) xmlXPathNewFloat__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewFloat xmlXPathNewFloat__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewNodeSet
+extern __typeof (xmlXPathNewNodeSet) xmlXPathNewNodeSet __attribute((alias("xmlXPathNewNodeSet__internal_alias")));
+#else
+#ifndef xmlXPathNewNodeSet
+extern __typeof (xmlXPathNewNodeSet) xmlXPathNewNodeSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewNodeSet xmlXPathNewNodeSet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewNodeSetList
+extern __typeof (xmlXPathNewNodeSetList) xmlXPathNewNodeSetList __attribute((alias("xmlXPathNewNodeSetList__internal_alias")));
+#else
+#ifndef xmlXPathNewNodeSetList
+extern __typeof (xmlXPathNewNodeSetList) xmlXPathNewNodeSetList__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewNodeSetList xmlXPathNewNodeSetList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewParserContext
+extern __typeof (xmlXPathNewParserContext) xmlXPathNewParserContext __attribute((alias("xmlXPathNewParserContext__internal_alias")));
+#else
+#ifndef xmlXPathNewParserContext
+extern __typeof (xmlXPathNewParserContext) xmlXPathNewParserContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewParserContext xmlXPathNewParserContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewString
+extern __typeof (xmlXPathNewString) xmlXPathNewString __attribute((alias("xmlXPathNewString__internal_alias")));
+#else
+#ifndef xmlXPathNewString
+extern __typeof (xmlXPathNewString) xmlXPathNewString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewString xmlXPathNewString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNewValueTree
+extern __typeof (xmlXPathNewValueTree) xmlXPathNewValueTree __attribute((alias("xmlXPathNewValueTree__internal_alias")));
+#else
+#ifndef xmlXPathNewValueTree
+extern __typeof (xmlXPathNewValueTree) xmlXPathNewValueTree__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNewValueTree xmlXPathNewValueTree__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextAncestor
+extern __typeof (xmlXPathNextAncestor) xmlXPathNextAncestor __attribute((alias("xmlXPathNextAncestor__internal_alias")));
+#else
+#ifndef xmlXPathNextAncestor
+extern __typeof (xmlXPathNextAncestor) xmlXPathNextAncestor__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextAncestor xmlXPathNextAncestor__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextAncestorOrSelf
+extern __typeof (xmlXPathNextAncestorOrSelf) xmlXPathNextAncestorOrSelf __attribute((alias("xmlXPathNextAncestorOrSelf__internal_alias")));
+#else
+#ifndef xmlXPathNextAncestorOrSelf
+extern __typeof (xmlXPathNextAncestorOrSelf) xmlXPathNextAncestorOrSelf__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextAncestorOrSelf xmlXPathNextAncestorOrSelf__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextAttribute
+extern __typeof (xmlXPathNextAttribute) xmlXPathNextAttribute __attribute((alias("xmlXPathNextAttribute__internal_alias")));
+#else
+#ifndef xmlXPathNextAttribute
+extern __typeof (xmlXPathNextAttribute) xmlXPathNextAttribute__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextAttribute xmlXPathNextAttribute__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextChild
+extern __typeof (xmlXPathNextChild) xmlXPathNextChild __attribute((alias("xmlXPathNextChild__internal_alias")));
+#else
+#ifndef xmlXPathNextChild
+extern __typeof (xmlXPathNextChild) xmlXPathNextChild__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextChild xmlXPathNextChild__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextDescendant
+extern __typeof (xmlXPathNextDescendant) xmlXPathNextDescendant __attribute((alias("xmlXPathNextDescendant__internal_alias")));
+#else
+#ifndef xmlXPathNextDescendant
+extern __typeof (xmlXPathNextDescendant) xmlXPathNextDescendant__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextDescendant xmlXPathNextDescendant__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextDescendantOrSelf
+extern __typeof (xmlXPathNextDescendantOrSelf) xmlXPathNextDescendantOrSelf __attribute((alias("xmlXPathNextDescendantOrSelf__internal_alias")));
+#else
+#ifndef xmlXPathNextDescendantOrSelf
+extern __typeof (xmlXPathNextDescendantOrSelf) xmlXPathNextDescendantOrSelf__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextDescendantOrSelf xmlXPathNextDescendantOrSelf__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextFollowing
+extern __typeof (xmlXPathNextFollowing) xmlXPathNextFollowing __attribute((alias("xmlXPathNextFollowing__internal_alias")));
+#else
+#ifndef xmlXPathNextFollowing
+extern __typeof (xmlXPathNextFollowing) xmlXPathNextFollowing__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextFollowing xmlXPathNextFollowing__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextFollowingSibling
+extern __typeof (xmlXPathNextFollowingSibling) xmlXPathNextFollowingSibling __attribute((alias("xmlXPathNextFollowingSibling__internal_alias")));
+#else
+#ifndef xmlXPathNextFollowingSibling
+extern __typeof (xmlXPathNextFollowingSibling) xmlXPathNextFollowingSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextFollowingSibling xmlXPathNextFollowingSibling__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextNamespace
+extern __typeof (xmlXPathNextNamespace) xmlXPathNextNamespace __attribute((alias("xmlXPathNextNamespace__internal_alias")));
+#else
+#ifndef xmlXPathNextNamespace
+extern __typeof (xmlXPathNextNamespace) xmlXPathNextNamespace__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextNamespace xmlXPathNextNamespace__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextParent
+extern __typeof (xmlXPathNextParent) xmlXPathNextParent __attribute((alias("xmlXPathNextParent__internal_alias")));
+#else
+#ifndef xmlXPathNextParent
+extern __typeof (xmlXPathNextParent) xmlXPathNextParent__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextParent xmlXPathNextParent__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextPreceding
+extern __typeof (xmlXPathNextPreceding) xmlXPathNextPreceding __attribute((alias("xmlXPathNextPreceding__internal_alias")));
+#else
+#ifndef xmlXPathNextPreceding
+extern __typeof (xmlXPathNextPreceding) xmlXPathNextPreceding__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextPreceding xmlXPathNextPreceding__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextPrecedingSibling
+extern __typeof (xmlXPathNextPrecedingSibling) xmlXPathNextPrecedingSibling __attribute((alias("xmlXPathNextPrecedingSibling__internal_alias")));
+#else
+#ifndef xmlXPathNextPrecedingSibling
+extern __typeof (xmlXPathNextPrecedingSibling) xmlXPathNextPrecedingSibling__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextPrecedingSibling xmlXPathNextPrecedingSibling__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNextSelf
+extern __typeof (xmlXPathNextSelf) xmlXPathNextSelf __attribute((alias("xmlXPathNextSelf__internal_alias")));
+#else
+#ifndef xmlXPathNextSelf
+extern __typeof (xmlXPathNextSelf) xmlXPathNextSelf__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNextSelf xmlXPathNextSelf__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeEval
+extern __typeof (xmlXPathNodeEval) xmlXPathNodeEval __attribute((alias("xmlXPathNodeEval__internal_alias")));
+#else
+#ifndef xmlXPathNodeEval
+extern __typeof (xmlXPathNodeEval) xmlXPathNodeEval__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeEval xmlXPathNodeEval__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeLeading
+extern __typeof (xmlXPathNodeLeading) xmlXPathNodeLeading __attribute((alias("xmlXPathNodeLeading__internal_alias")));
+#else
+#ifndef xmlXPathNodeLeading
+extern __typeof (xmlXPathNodeLeading) xmlXPathNodeLeading__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeLeading xmlXPathNodeLeading__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeLeadingSorted
+extern __typeof (xmlXPathNodeLeadingSorted) xmlXPathNodeLeadingSorted __attribute((alias("xmlXPathNodeLeadingSorted__internal_alias")));
+#else
+#ifndef xmlXPathNodeLeadingSorted
+extern __typeof (xmlXPathNodeLeadingSorted) xmlXPathNodeLeadingSorted__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeLeadingSorted xmlXPathNodeLeadingSorted__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetAdd
+extern __typeof (xmlXPathNodeSetAdd) xmlXPathNodeSetAdd __attribute((alias("xmlXPathNodeSetAdd__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetAdd
+extern __typeof (xmlXPathNodeSetAdd) xmlXPathNodeSetAdd__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetAdd xmlXPathNodeSetAdd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetAddNs
+extern __typeof (xmlXPathNodeSetAddNs) xmlXPathNodeSetAddNs __attribute((alias("xmlXPathNodeSetAddNs__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetAddNs
+extern __typeof (xmlXPathNodeSetAddNs) xmlXPathNodeSetAddNs__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetAddNs xmlXPathNodeSetAddNs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetAddUnique
+extern __typeof (xmlXPathNodeSetAddUnique) xmlXPathNodeSetAddUnique __attribute((alias("xmlXPathNodeSetAddUnique__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetAddUnique
+extern __typeof (xmlXPathNodeSetAddUnique) xmlXPathNodeSetAddUnique__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetAddUnique xmlXPathNodeSetAddUnique__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetContains
+extern __typeof (xmlXPathNodeSetContains) xmlXPathNodeSetContains __attribute((alias("xmlXPathNodeSetContains__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetContains
+extern __typeof (xmlXPathNodeSetContains) xmlXPathNodeSetContains__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetContains xmlXPathNodeSetContains__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetCreate
+extern __typeof (xmlXPathNodeSetCreate) xmlXPathNodeSetCreate __attribute((alias("xmlXPathNodeSetCreate__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetCreate
+extern __typeof (xmlXPathNodeSetCreate) xmlXPathNodeSetCreate__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetCreate xmlXPathNodeSetCreate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetDel
+extern __typeof (xmlXPathNodeSetDel) xmlXPathNodeSetDel __attribute((alias("xmlXPathNodeSetDel__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetDel
+extern __typeof (xmlXPathNodeSetDel) xmlXPathNodeSetDel__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetDel xmlXPathNodeSetDel__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetFreeNs
+extern __typeof (xmlXPathNodeSetFreeNs) xmlXPathNodeSetFreeNs __attribute((alias("xmlXPathNodeSetFreeNs__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetFreeNs
+extern __typeof (xmlXPathNodeSetFreeNs) xmlXPathNodeSetFreeNs__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetFreeNs xmlXPathNodeSetFreeNs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetMerge
+extern __typeof (xmlXPathNodeSetMerge) xmlXPathNodeSetMerge __attribute((alias("xmlXPathNodeSetMerge__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetMerge
+extern __typeof (xmlXPathNodeSetMerge) xmlXPathNodeSetMerge__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetMerge xmlXPathNodeSetMerge__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetRemove
+extern __typeof (xmlXPathNodeSetRemove) xmlXPathNodeSetRemove __attribute((alias("xmlXPathNodeSetRemove__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetRemove
+extern __typeof (xmlXPathNodeSetRemove) xmlXPathNodeSetRemove__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetRemove xmlXPathNodeSetRemove__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeSetSort
+extern __typeof (xmlXPathNodeSetSort) xmlXPathNodeSetSort __attribute((alias("xmlXPathNodeSetSort__internal_alias")));
+#else
+#ifndef xmlXPathNodeSetSort
+extern __typeof (xmlXPathNodeSetSort) xmlXPathNodeSetSort__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeSetSort xmlXPathNodeSetSort__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeTrailing
+extern __typeof (xmlXPathNodeTrailing) xmlXPathNodeTrailing __attribute((alias("xmlXPathNodeTrailing__internal_alias")));
+#else
+#ifndef xmlXPathNodeTrailing
+extern __typeof (xmlXPathNodeTrailing) xmlXPathNodeTrailing__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeTrailing xmlXPathNodeTrailing__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNodeTrailingSorted
+extern __typeof (xmlXPathNodeTrailingSorted) xmlXPathNodeTrailingSorted __attribute((alias("xmlXPathNodeTrailingSorted__internal_alias")));
+#else
+#ifndef xmlXPathNodeTrailingSorted
+extern __typeof (xmlXPathNodeTrailingSorted) xmlXPathNodeTrailingSorted__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNodeTrailingSorted xmlXPathNodeTrailingSorted__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNormalizeFunction
+extern __typeof (xmlXPathNormalizeFunction) xmlXPathNormalizeFunction __attribute((alias("xmlXPathNormalizeFunction__internal_alias")));
+#else
+#ifndef xmlXPathNormalizeFunction
+extern __typeof (xmlXPathNormalizeFunction) xmlXPathNormalizeFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNormalizeFunction xmlXPathNormalizeFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNotEqualValues
+extern __typeof (xmlXPathNotEqualValues) xmlXPathNotEqualValues __attribute((alias("xmlXPathNotEqualValues__internal_alias")));
+#else
+#ifndef xmlXPathNotEqualValues
+extern __typeof (xmlXPathNotEqualValues) xmlXPathNotEqualValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNotEqualValues xmlXPathNotEqualValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNotFunction
+extern __typeof (xmlXPathNotFunction) xmlXPathNotFunction __attribute((alias("xmlXPathNotFunction__internal_alias")));
+#else
+#ifndef xmlXPathNotFunction
+extern __typeof (xmlXPathNotFunction) xmlXPathNotFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNotFunction xmlXPathNotFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNsLookup
+extern __typeof (xmlXPathNsLookup) xmlXPathNsLookup __attribute((alias("xmlXPathNsLookup__internal_alias")));
+#else
+#ifndef xmlXPathNsLookup
+extern __typeof (xmlXPathNsLookup) xmlXPathNsLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNsLookup xmlXPathNsLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathNumberFunction
+extern __typeof (xmlXPathNumberFunction) xmlXPathNumberFunction __attribute((alias("xmlXPathNumberFunction__internal_alias")));
+#else
+#ifndef xmlXPathNumberFunction
+extern __typeof (xmlXPathNumberFunction) xmlXPathNumberFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathNumberFunction xmlXPathNumberFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathObjectCopy
+extern __typeof (xmlXPathObjectCopy) xmlXPathObjectCopy __attribute((alias("xmlXPathObjectCopy__internal_alias")));
+#else
+#ifndef xmlXPathObjectCopy
+extern __typeof (xmlXPathObjectCopy) xmlXPathObjectCopy__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathObjectCopy xmlXPathObjectCopy__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathOrderDocElems
+extern __typeof (xmlXPathOrderDocElems) xmlXPathOrderDocElems __attribute((alias("xmlXPathOrderDocElems__internal_alias")));
+#else
+#ifndef xmlXPathOrderDocElems
+extern __typeof (xmlXPathOrderDocElems) xmlXPathOrderDocElems__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathOrderDocElems xmlXPathOrderDocElems__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathParseNCName
+extern __typeof (xmlXPathParseNCName) xmlXPathParseNCName __attribute((alias("xmlXPathParseNCName__internal_alias")));
+#else
+#ifndef xmlXPathParseNCName
+extern __typeof (xmlXPathParseNCName) xmlXPathParseNCName__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathParseNCName xmlXPathParseNCName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathParseName
+extern __typeof (xmlXPathParseName) xmlXPathParseName __attribute((alias("xmlXPathParseName__internal_alias")));
+#else
+#ifndef xmlXPathParseName
+extern __typeof (xmlXPathParseName) xmlXPathParseName__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathParseName xmlXPathParseName__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathPopBoolean
+extern __typeof (xmlXPathPopBoolean) xmlXPathPopBoolean __attribute((alias("xmlXPathPopBoolean__internal_alias")));
+#else
+#ifndef xmlXPathPopBoolean
+extern __typeof (xmlXPathPopBoolean) xmlXPathPopBoolean__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathPopBoolean xmlXPathPopBoolean__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathPopExternal
+extern __typeof (xmlXPathPopExternal) xmlXPathPopExternal __attribute((alias("xmlXPathPopExternal__internal_alias")));
+#else
+#ifndef xmlXPathPopExternal
+extern __typeof (xmlXPathPopExternal) xmlXPathPopExternal__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathPopExternal xmlXPathPopExternal__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathPopNodeSet
+extern __typeof (xmlXPathPopNodeSet) xmlXPathPopNodeSet __attribute((alias("xmlXPathPopNodeSet__internal_alias")));
+#else
+#ifndef xmlXPathPopNodeSet
+extern __typeof (xmlXPathPopNodeSet) xmlXPathPopNodeSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathPopNodeSet xmlXPathPopNodeSet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathPopNumber
+extern __typeof (xmlXPathPopNumber) xmlXPathPopNumber __attribute((alias("xmlXPathPopNumber__internal_alias")));
+#else
+#ifndef xmlXPathPopNumber
+extern __typeof (xmlXPathPopNumber) xmlXPathPopNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathPopNumber xmlXPathPopNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathPopString
+extern __typeof (xmlXPathPopString) xmlXPathPopString __attribute((alias("xmlXPathPopString__internal_alias")));
+#else
+#ifndef xmlXPathPopString
+extern __typeof (xmlXPathPopString) xmlXPathPopString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathPopString xmlXPathPopString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathPositionFunction
+extern __typeof (xmlXPathPositionFunction) xmlXPathPositionFunction __attribute((alias("xmlXPathPositionFunction__internal_alias")));
+#else
+#ifndef xmlXPathPositionFunction
+extern __typeof (xmlXPathPositionFunction) xmlXPathPositionFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathPositionFunction xmlXPathPositionFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterAllFunctions
+extern __typeof (xmlXPathRegisterAllFunctions) xmlXPathRegisterAllFunctions __attribute((alias("xmlXPathRegisterAllFunctions__internal_alias")));
+#else
+#ifndef xmlXPathRegisterAllFunctions
+extern __typeof (xmlXPathRegisterAllFunctions) xmlXPathRegisterAllFunctions__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterAllFunctions xmlXPathRegisterAllFunctions__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterFunc
+extern __typeof (xmlXPathRegisterFunc) xmlXPathRegisterFunc __attribute((alias("xmlXPathRegisterFunc__internal_alias")));
+#else
+#ifndef xmlXPathRegisterFunc
+extern __typeof (xmlXPathRegisterFunc) xmlXPathRegisterFunc__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterFunc xmlXPathRegisterFunc__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterFuncLookup
+extern __typeof (xmlXPathRegisterFuncLookup) xmlXPathRegisterFuncLookup __attribute((alias("xmlXPathRegisterFuncLookup__internal_alias")));
+#else
+#ifndef xmlXPathRegisterFuncLookup
+extern __typeof (xmlXPathRegisterFuncLookup) xmlXPathRegisterFuncLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterFuncLookup xmlXPathRegisterFuncLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterFuncNS
+extern __typeof (xmlXPathRegisterFuncNS) xmlXPathRegisterFuncNS __attribute((alias("xmlXPathRegisterFuncNS__internal_alias")));
+#else
+#ifndef xmlXPathRegisterFuncNS
+extern __typeof (xmlXPathRegisterFuncNS) xmlXPathRegisterFuncNS__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterFuncNS xmlXPathRegisterFuncNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterNs
+extern __typeof (xmlXPathRegisterNs) xmlXPathRegisterNs __attribute((alias("xmlXPathRegisterNs__internal_alias")));
+#else
+#ifndef xmlXPathRegisterNs
+extern __typeof (xmlXPathRegisterNs) xmlXPathRegisterNs__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterNs xmlXPathRegisterNs__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterVariable
+extern __typeof (xmlXPathRegisterVariable) xmlXPathRegisterVariable __attribute((alias("xmlXPathRegisterVariable__internal_alias")));
+#else
+#ifndef xmlXPathRegisterVariable
+extern __typeof (xmlXPathRegisterVariable) xmlXPathRegisterVariable__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterVariable xmlXPathRegisterVariable__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterVariableLookup
+extern __typeof (xmlXPathRegisterVariableLookup) xmlXPathRegisterVariableLookup __attribute((alias("xmlXPathRegisterVariableLookup__internal_alias")));
+#else
+#ifndef xmlXPathRegisterVariableLookup
+extern __typeof (xmlXPathRegisterVariableLookup) xmlXPathRegisterVariableLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterVariableLookup xmlXPathRegisterVariableLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisterVariableNS
+extern __typeof (xmlXPathRegisterVariableNS) xmlXPathRegisterVariableNS __attribute((alias("xmlXPathRegisterVariableNS__internal_alias")));
+#else
+#ifndef xmlXPathRegisterVariableNS
+extern __typeof (xmlXPathRegisterVariableNS) xmlXPathRegisterVariableNS__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisterVariableNS xmlXPathRegisterVariableNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisteredFuncsCleanup
+extern __typeof (xmlXPathRegisteredFuncsCleanup) xmlXPathRegisteredFuncsCleanup __attribute((alias("xmlXPathRegisteredFuncsCleanup__internal_alias")));
+#else
+#ifndef xmlXPathRegisteredFuncsCleanup
+extern __typeof (xmlXPathRegisteredFuncsCleanup) xmlXPathRegisteredFuncsCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisteredFuncsCleanup xmlXPathRegisteredFuncsCleanup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisteredNsCleanup
+extern __typeof (xmlXPathRegisteredNsCleanup) xmlXPathRegisteredNsCleanup __attribute((alias("xmlXPathRegisteredNsCleanup__internal_alias")));
+#else
+#ifndef xmlXPathRegisteredNsCleanup
+extern __typeof (xmlXPathRegisteredNsCleanup) xmlXPathRegisteredNsCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisteredNsCleanup xmlXPathRegisteredNsCleanup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRegisteredVariablesCleanup
+extern __typeof (xmlXPathRegisteredVariablesCleanup) xmlXPathRegisteredVariablesCleanup __attribute((alias("xmlXPathRegisteredVariablesCleanup__internal_alias")));
+#else
+#ifndef xmlXPathRegisteredVariablesCleanup
+extern __typeof (xmlXPathRegisteredVariablesCleanup) xmlXPathRegisteredVariablesCleanup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVariablesCleanup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRoot
+extern __typeof (xmlXPathRoot) xmlXPathRoot __attribute((alias("xmlXPathRoot__internal_alias")));
+#else
+#ifndef xmlXPathRoot
+extern __typeof (xmlXPathRoot) xmlXPathRoot__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRoot xmlXPathRoot__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathRoundFunction
+extern __typeof (xmlXPathRoundFunction) xmlXPathRoundFunction __attribute((alias("xmlXPathRoundFunction__internal_alias")));
+#else
+#ifndef xmlXPathRoundFunction
+extern __typeof (xmlXPathRoundFunction) xmlXPathRoundFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathRoundFunction xmlXPathRoundFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathSetContextNode
+extern __typeof (xmlXPathSetContextNode) xmlXPathSetContextNode __attribute((alias("xmlXPathSetContextNode__internal_alias")));
+#else
+#ifndef xmlXPathSetContextNode
+extern __typeof (xmlXPathSetContextNode) xmlXPathSetContextNode__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathSetContextNode xmlXPathSetContextNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathStartsWithFunction
+extern __typeof (xmlXPathStartsWithFunction) xmlXPathStartsWithFunction __attribute((alias("xmlXPathStartsWithFunction__internal_alias")));
+#else
+#ifndef xmlXPathStartsWithFunction
+extern __typeof (xmlXPathStartsWithFunction) xmlXPathStartsWithFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathStartsWithFunction xmlXPathStartsWithFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathStringEvalNumber
+extern __typeof (xmlXPathStringEvalNumber) xmlXPathStringEvalNumber __attribute((alias("xmlXPathStringEvalNumber__internal_alias")));
+#else
+#ifndef xmlXPathStringEvalNumber
+extern __typeof (xmlXPathStringEvalNumber) xmlXPathStringEvalNumber__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathStringEvalNumber xmlXPathStringEvalNumber__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathStringFunction
+extern __typeof (xmlXPathStringFunction) xmlXPathStringFunction __attribute((alias("xmlXPathStringFunction__internal_alias")));
+#else
+#ifndef xmlXPathStringFunction
+extern __typeof (xmlXPathStringFunction) xmlXPathStringFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathStringFunction xmlXPathStringFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathStringLengthFunction
+extern __typeof (xmlXPathStringLengthFunction) xmlXPathStringLengthFunction __attribute((alias("xmlXPathStringLengthFunction__internal_alias")));
+#else
+#ifndef xmlXPathStringLengthFunction
+extern __typeof (xmlXPathStringLengthFunction) xmlXPathStringLengthFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathStringLengthFunction xmlXPathStringLengthFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathSubValues
+extern __typeof (xmlXPathSubValues) xmlXPathSubValues __attribute((alias("xmlXPathSubValues__internal_alias")));
+#else
+#ifndef xmlXPathSubValues
+extern __typeof (xmlXPathSubValues) xmlXPathSubValues__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathSubValues xmlXPathSubValues__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathSubstringAfterFunction
+extern __typeof (xmlXPathSubstringAfterFunction) xmlXPathSubstringAfterFunction __attribute((alias("xmlXPathSubstringAfterFunction__internal_alias")));
+#else
+#ifndef xmlXPathSubstringAfterFunction
+extern __typeof (xmlXPathSubstringAfterFunction) xmlXPathSubstringAfterFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathSubstringAfterFunction xmlXPathSubstringAfterFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathSubstringBeforeFunction
+extern __typeof (xmlXPathSubstringBeforeFunction) xmlXPathSubstringBeforeFunction __attribute((alias("xmlXPathSubstringBeforeFunction__internal_alias")));
+#else
+#ifndef xmlXPathSubstringBeforeFunction
+extern __typeof (xmlXPathSubstringBeforeFunction) xmlXPathSubstringBeforeFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathSubstringBeforeFunction xmlXPathSubstringBeforeFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathSubstringFunction
+extern __typeof (xmlXPathSubstringFunction) xmlXPathSubstringFunction __attribute((alias("xmlXPathSubstringFunction__internal_alias")));
+#else
+#ifndef xmlXPathSubstringFunction
+extern __typeof (xmlXPathSubstringFunction) xmlXPathSubstringFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathSubstringFunction xmlXPathSubstringFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathSumFunction
+extern __typeof (xmlXPathSumFunction) xmlXPathSumFunction __attribute((alias("xmlXPathSumFunction__internal_alias")));
+#else
+#ifndef xmlXPathSumFunction
+extern __typeof (xmlXPathSumFunction) xmlXPathSumFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathSumFunction xmlXPathSumFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathTrailing
+extern __typeof (xmlXPathTrailing) xmlXPathTrailing __attribute((alias("xmlXPathTrailing__internal_alias")));
+#else
+#ifndef xmlXPathTrailing
+extern __typeof (xmlXPathTrailing) xmlXPathTrailing__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathTrailing xmlXPathTrailing__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathTrailingSorted
+extern __typeof (xmlXPathTrailingSorted) xmlXPathTrailingSorted __attribute((alias("xmlXPathTrailingSorted__internal_alias")));
+#else
+#ifndef xmlXPathTrailingSorted
+extern __typeof (xmlXPathTrailingSorted) xmlXPathTrailingSorted__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathTrailingSorted xmlXPathTrailingSorted__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathTranslateFunction
+extern __typeof (xmlXPathTranslateFunction) xmlXPathTranslateFunction __attribute((alias("xmlXPathTranslateFunction__internal_alias")));
+#else
+#ifndef xmlXPathTranslateFunction
+extern __typeof (xmlXPathTranslateFunction) xmlXPathTranslateFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathTranslateFunction xmlXPathTranslateFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathTrueFunction
+extern __typeof (xmlXPathTrueFunction) xmlXPathTrueFunction __attribute((alias("xmlXPathTrueFunction__internal_alias")));
+#else
+#ifndef xmlXPathTrueFunction
+extern __typeof (xmlXPathTrueFunction) xmlXPathTrueFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathTrueFunction xmlXPathTrueFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathValueFlipSign
+extern __typeof (xmlXPathValueFlipSign) xmlXPathValueFlipSign __attribute((alias("xmlXPathValueFlipSign__internal_alias")));
+#else
+#ifndef xmlXPathValueFlipSign
+extern __typeof (xmlXPathValueFlipSign) xmlXPathValueFlipSign__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathValueFlipSign xmlXPathValueFlipSign__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathVariableLookup
+extern __typeof (xmlXPathVariableLookup) xmlXPathVariableLookup __attribute((alias("xmlXPathVariableLookup__internal_alias")));
+#else
+#ifndef xmlXPathVariableLookup
+extern __typeof (xmlXPathVariableLookup) xmlXPathVariableLookup__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathVariableLookup xmlXPathVariableLookup__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathVariableLookupNS
+extern __typeof (xmlXPathVariableLookupNS) xmlXPathVariableLookupNS __attribute((alias("xmlXPathVariableLookupNS__internal_alias")));
+#else
+#ifndef xmlXPathVariableLookupNS
+extern __typeof (xmlXPathVariableLookupNS) xmlXPathVariableLookupNS__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathVariableLookupNS xmlXPathVariableLookupNS__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathWrapCString
+extern __typeof (xmlXPathWrapCString) xmlXPathWrapCString __attribute((alias("xmlXPathWrapCString__internal_alias")));
+#else
+#ifndef xmlXPathWrapCString
+extern __typeof (xmlXPathWrapCString) xmlXPathWrapCString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathWrapCString xmlXPathWrapCString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathWrapExternal
+extern __typeof (xmlXPathWrapExternal) xmlXPathWrapExternal __attribute((alias("xmlXPathWrapExternal__internal_alias")));
+#else
+#ifndef xmlXPathWrapExternal
+extern __typeof (xmlXPathWrapExternal) xmlXPathWrapExternal__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathWrapExternal xmlXPathWrapExternal__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathWrapNodeSet
+extern __typeof (xmlXPathWrapNodeSet) xmlXPathWrapNodeSet __attribute((alias("xmlXPathWrapNodeSet__internal_alias")));
+#else
+#ifndef xmlXPathWrapNodeSet
+extern __typeof (xmlXPathWrapNodeSet) xmlXPathWrapNodeSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathWrapNodeSet xmlXPathWrapNodeSet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPathWrapString
+extern __typeof (xmlXPathWrapString) xmlXPathWrapString __attribute((alias("xmlXPathWrapString__internal_alias")));
+#else
+#ifndef xmlXPathWrapString
+extern __typeof (xmlXPathWrapString) xmlXPathWrapString__internal_alias __attribute((visibility("hidden")));
+#define xmlXPathWrapString xmlXPathWrapString__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#ifdef bottom_xpath
+#undef xmlXPatherror
+extern __typeof (xmlXPatherror) xmlXPatherror __attribute((alias("xmlXPatherror__internal_alias")));
+#else
+#ifndef xmlXPatherror
+extern __typeof (xmlXPatherror) xmlXPatherror__internal_alias __attribute((visibility("hidden")));
+#define xmlXPatherror xmlXPatherror__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrBuildNodeList
+extern __typeof (xmlXPtrBuildNodeList) xmlXPtrBuildNodeList __attribute((alias("xmlXPtrBuildNodeList__internal_alias")));
+#else
+#ifndef xmlXPtrBuildNodeList
+extern __typeof (xmlXPtrBuildNodeList) xmlXPtrBuildNodeList__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrBuildNodeList xmlXPtrBuildNodeList__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrEval
+extern __typeof (xmlXPtrEval) xmlXPtrEval __attribute((alias("xmlXPtrEval__internal_alias")));
+#else
+#ifndef xmlXPtrEval
+extern __typeof (xmlXPtrEval) xmlXPtrEval__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrEval xmlXPtrEval__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrEvalRangePredicate
+extern __typeof (xmlXPtrEvalRangePredicate) xmlXPtrEvalRangePredicate __attribute((alias("xmlXPtrEvalRangePredicate__internal_alias")));
+#else
+#ifndef xmlXPtrEvalRangePredicate
+extern __typeof (xmlXPtrEvalRangePredicate) xmlXPtrEvalRangePredicate__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrEvalRangePredicate xmlXPtrEvalRangePredicate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrFreeLocationSet
+extern __typeof (xmlXPtrFreeLocationSet) xmlXPtrFreeLocationSet __attribute((alias("xmlXPtrFreeLocationSet__internal_alias")));
+#else
+#ifndef xmlXPtrFreeLocationSet
+extern __typeof (xmlXPtrFreeLocationSet) xmlXPtrFreeLocationSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrFreeLocationSet xmlXPtrFreeLocationSet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrLocationSetAdd
+extern __typeof (xmlXPtrLocationSetAdd) xmlXPtrLocationSetAdd __attribute((alias("xmlXPtrLocationSetAdd__internal_alias")));
+#else
+#ifndef xmlXPtrLocationSetAdd
+extern __typeof (xmlXPtrLocationSetAdd) xmlXPtrLocationSetAdd__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrLocationSetAdd xmlXPtrLocationSetAdd__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrLocationSetCreate
+extern __typeof (xmlXPtrLocationSetCreate) xmlXPtrLocationSetCreate __attribute((alias("xmlXPtrLocationSetCreate__internal_alias")));
+#else
+#ifndef xmlXPtrLocationSetCreate
+extern __typeof (xmlXPtrLocationSetCreate) xmlXPtrLocationSetCreate__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrLocationSetCreate xmlXPtrLocationSetCreate__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrLocationSetDel
+extern __typeof (xmlXPtrLocationSetDel) xmlXPtrLocationSetDel __attribute((alias("xmlXPtrLocationSetDel__internal_alias")));
+#else
+#ifndef xmlXPtrLocationSetDel
+extern __typeof (xmlXPtrLocationSetDel) xmlXPtrLocationSetDel__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrLocationSetDel xmlXPtrLocationSetDel__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrLocationSetMerge
+extern __typeof (xmlXPtrLocationSetMerge) xmlXPtrLocationSetMerge __attribute((alias("xmlXPtrLocationSetMerge__internal_alias")));
+#else
+#ifndef xmlXPtrLocationSetMerge
+extern __typeof (xmlXPtrLocationSetMerge) xmlXPtrLocationSetMerge__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrLocationSetMerge xmlXPtrLocationSetMerge__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrLocationSetRemove
+extern __typeof (xmlXPtrLocationSetRemove) xmlXPtrLocationSetRemove __attribute((alias("xmlXPtrLocationSetRemove__internal_alias")));
+#else
+#ifndef xmlXPtrLocationSetRemove
+extern __typeof (xmlXPtrLocationSetRemove) xmlXPtrLocationSetRemove__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrLocationSetRemove xmlXPtrLocationSetRemove__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewCollapsedRange
+extern __typeof (xmlXPtrNewCollapsedRange) xmlXPtrNewCollapsedRange __attribute((alias("xmlXPtrNewCollapsedRange__internal_alias")));
+#else
+#ifndef xmlXPtrNewCollapsedRange
+extern __typeof (xmlXPtrNewCollapsedRange) xmlXPtrNewCollapsedRange__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewCollapsedRange xmlXPtrNewCollapsedRange__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewContext
+extern __typeof (xmlXPtrNewContext) xmlXPtrNewContext __attribute((alias("xmlXPtrNewContext__internal_alias")));
+#else
+#ifndef xmlXPtrNewContext
+extern __typeof (xmlXPtrNewContext) xmlXPtrNewContext__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewContext xmlXPtrNewContext__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewLocationSetNodeSet
+extern __typeof (xmlXPtrNewLocationSetNodeSet) xmlXPtrNewLocationSetNodeSet __attribute((alias("xmlXPtrNewLocationSetNodeSet__internal_alias")));
+#else
+#ifndef xmlXPtrNewLocationSetNodeSet
+extern __typeof (xmlXPtrNewLocationSetNodeSet) xmlXPtrNewLocationSetNodeSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewLocationSetNodeSet xmlXPtrNewLocationSetNodeSet__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewLocationSetNodes
+extern __typeof (xmlXPtrNewLocationSetNodes) xmlXPtrNewLocationSetNodes __attribute((alias("xmlXPtrNewLocationSetNodes__internal_alias")));
+#else
+#ifndef xmlXPtrNewLocationSetNodes
+extern __typeof (xmlXPtrNewLocationSetNodes) xmlXPtrNewLocationSetNodes__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewLocationSetNodes xmlXPtrNewLocationSetNodes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewRange
+extern __typeof (xmlXPtrNewRange) xmlXPtrNewRange __attribute((alias("xmlXPtrNewRange__internal_alias")));
+#else
+#ifndef xmlXPtrNewRange
+extern __typeof (xmlXPtrNewRange) xmlXPtrNewRange__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewRange xmlXPtrNewRange__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewRangeNodeObject
+extern __typeof (xmlXPtrNewRangeNodeObject) xmlXPtrNewRangeNodeObject __attribute((alias("xmlXPtrNewRangeNodeObject__internal_alias")));
+#else
+#ifndef xmlXPtrNewRangeNodeObject
+extern __typeof (xmlXPtrNewRangeNodeObject) xmlXPtrNewRangeNodeObject__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewRangeNodeObject xmlXPtrNewRangeNodeObject__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewRangeNodePoint
+extern __typeof (xmlXPtrNewRangeNodePoint) xmlXPtrNewRangeNodePoint __attribute((alias("xmlXPtrNewRangeNodePoint__internal_alias")));
+#else
+#ifndef xmlXPtrNewRangeNodePoint
+extern __typeof (xmlXPtrNewRangeNodePoint) xmlXPtrNewRangeNodePoint__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewRangeNodePoint xmlXPtrNewRangeNodePoint__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewRangeNodes
+extern __typeof (xmlXPtrNewRangeNodes) xmlXPtrNewRangeNodes __attribute((alias("xmlXPtrNewRangeNodes__internal_alias")));
+#else
+#ifndef xmlXPtrNewRangeNodes
+extern __typeof (xmlXPtrNewRangeNodes) xmlXPtrNewRangeNodes__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewRangeNodes xmlXPtrNewRangeNodes__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewRangePointNode
+extern __typeof (xmlXPtrNewRangePointNode) xmlXPtrNewRangePointNode __attribute((alias("xmlXPtrNewRangePointNode__internal_alias")));
+#else
+#ifndef xmlXPtrNewRangePointNode
+extern __typeof (xmlXPtrNewRangePointNode) xmlXPtrNewRangePointNode__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewRangePointNode xmlXPtrNewRangePointNode__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrNewRangePoints
+extern __typeof (xmlXPtrNewRangePoints) xmlXPtrNewRangePoints __attribute((alias("xmlXPtrNewRangePoints__internal_alias")));
+#else
+#ifndef xmlXPtrNewRangePoints
+extern __typeof (xmlXPtrNewRangePoints) xmlXPtrNewRangePoints__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrNewRangePoints xmlXPtrNewRangePoints__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrRangeToFunction
+extern __typeof (xmlXPtrRangeToFunction) xmlXPtrRangeToFunction __attribute((alias("xmlXPtrRangeToFunction__internal_alias")));
+#else
+#ifndef xmlXPtrRangeToFunction
+extern __typeof (xmlXPtrRangeToFunction) xmlXPtrRangeToFunction__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrRangeToFunction xmlXPtrRangeToFunction__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_XPTR_ENABLED)
+#ifdef bottom_xpointer
+#undef xmlXPtrWrapLocationSet
+extern __typeof (xmlXPtrWrapLocationSet) xmlXPtrWrapLocationSet __attribute((alias("xmlXPtrWrapLocationSet__internal_alias")));
+#else
+#ifndef xmlXPtrWrapLocationSet
+extern __typeof (xmlXPtrWrapLocationSet) xmlXPtrWrapLocationSet__internal_alias __attribute((visibility("hidden")));
+#define xmlXPtrWrapLocationSet xmlXPtrWrapLocationSet__internal_alias
+#endif
+#endif
+#endif
+
+
+#endif
+#endif
+#endif
+#endif
+#endif
+
diff --git a/gettext-tools/gnulib-lib/libxml/enc.h b/gettext-tools/gnulib-lib/libxml/enc.h
new file mode 100644
index 0000000..057d206
--- /dev/null
+++ b/gettext-tools/gnulib-lib/libxml/enc.h
@@ -0,0 +1,32 @@
+/*
+ * Summary: Internal Interfaces for encoding in libxml2
+ * Description: this module describes a few interfaces which were
+ * addded along with the API changes in 2.9.0
+ * those are private routines at this point
+ *
+ * Copy: See Copyright for the status of this software.
+ *
+ * Author: Daniel Veillard
+ */
+
+#ifndef __XML_ENC_H__
+#define __XML_ENC_H__
+
+#include <libxml/tree.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
+ xmlBufferPtr in, int len);
+int xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len);
+int xmlCharEncInput(xmlParserInputBufferPtr input, int flush);
+int xmlCharEncOutput(xmlOutputBufferPtr output, int init);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __XML_ENC_H__ */
+
+
diff --git a/gettext-tools/gnulib-lib/libxml/encoding.c b/gettext-tools/gnulib-lib/libxml/encoding.c
index ee33df1..574e1ae 100644
--- a/gettext-tools/gnulib-lib/libxml/encoding.c
+++ b/gettext-tools/gnulib-lib/libxml/encoding.c
@@ -1,7 +1,7 @@
/*
* encoding.c : implements the encoding conversion functions needed for XML
*
- * Related specs:
+ * Related specs:
* rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies
* rfc2781 UTF-16, an encoding of ISO 10646, P. Hoffman, F. Yergeau
* [ISO-10646] UTF-8 and UTF-16 in Annexes
@@ -24,6 +24,7 @@
#include "libxml.h"
#include <string.h>
+#include <limits.h>
#ifdef HAVE_CTYPE_H
#include <ctype.h>
@@ -44,6 +45,9 @@
#include <libxml/globals.h>
#include <libxml/xmlerror.h>
+#include "buf.h"
+#include "enc.h"
+
static xmlCharEncodingHandlerPtr xmlUTF16LEHandler = NULL;
static xmlCharEncodingHandlerPtr xmlUTF16BEHandler = NULL;
@@ -58,7 +62,7 @@ static xmlCharEncodingAliasPtr xmlCharEncodingAliases = NULL;
static int xmlCharEncodingAliasesNb = 0;
static int xmlCharEncodingAliasesMax = 0;
-#ifdef LIBXML_ICONV_ENABLED
+#if defined(LIBXML_ICONV_ENABLED) || defined(LIBXML_ICU_ENABLED)
#if 0
#define DEBUG_ENCODING /* Define this to get encoding traces */
#endif
@@ -97,6 +101,54 @@ xmlEncodingErr(xmlParserErrors error, const char *msg, const char *val)
NULL, 0, val, NULL, NULL, 0, 0, msg, val);
}
+#ifdef LIBXML_ICU_ENABLED
+static uconv_t*
+openIcuConverter(const char* name, int toUnicode)
+{
+ UErrorCode status = U_ZERO_ERROR;
+ uconv_t *conv = (uconv_t *) xmlMalloc(sizeof(uconv_t));
+ if (conv == NULL)
+ return NULL;
+
+ conv->uconv = ucnv_open(name, &status);
+ if (U_FAILURE(status))
+ goto error;
+
+ status = U_ZERO_ERROR;
+ if (toUnicode) {
+ ucnv_setToUCallBack(conv->uconv, UCNV_TO_U_CALLBACK_STOP,
+ NULL, NULL, NULL, &status);
+ }
+ else {
+ ucnv_setFromUCallBack(conv->uconv, UCNV_FROM_U_CALLBACK_STOP,
+ NULL, NULL, NULL, &status);
+ }
+ if (U_FAILURE(status))
+ goto error;
+
+ status = U_ZERO_ERROR;
+ conv->utf8 = ucnv_open("UTF-8", &status);
+ if (U_SUCCESS(status))
+ return conv;
+
+error:
+ if (conv->uconv)
+ ucnv_close(conv->uconv);
+ xmlFree(conv);
+ return NULL;
+}
+
+static void
+closeIcuConverter(uconv_t *conv)
+{
+ if (conv != NULL) {
+ ucnv_close(conv->uconv);
+ ucnv_close(conv->utf8);
+ xmlFree(conv);
+ }
+}
+#endif /* LIBXML_ICU_ENABLED */
+
/************************************************************************
* *
* Conversions To/From UTF8 encoding *
@@ -135,12 +187,12 @@ asciiToUTF8(unsigned char* out, int *outlen,
break;
if (c < 0x80) {
*out++ = c;
- } else {
+ } else {
*outlen = out - outstart;
*inlen = processed - base;
return(-1);
}
-
+
processed = (const unsigned char*) in;
}
*outlen = out - outstart;
@@ -206,7 +258,7 @@ UTF8Toascii(unsigned char* out, int *outlen,
if (inend - in < trailing) {
break;
- }
+ }
for ( ; trailing; trailing--) {
if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80))
@@ -263,19 +315,19 @@ isolat1ToUTF8(unsigned char* out, int *outlen,
outend = out + *outlen;
inend = in + (*inlen);
instop = inend;
-
- while (in < inend && out < outend - 1) {
- if (*in >= 0x80) {
+
+ while ((in < inend) && (out < outend - 1)) {
+ if (*in >= 0x80) {
*out++ = (((*in) >> 6) & 0x1F) | 0xC0;
- *out++ = ((*in) & 0x3F) | 0x80;
+ *out++ = ((*in) & 0x3F) | 0x80;
++in;
}
- if (instop - in > outend - out) instop = in + (outend - out);
- while (in < instop && *in < 0x80) {
+ if ((instop - in) > (outend - out)) instop = in + (outend - out);
+ while ((in < instop) && (*in < 0x80)) {
*out++ = *in++;
}
- }
- if (in < inend && out < outend && *in < 0x80) {
+ }
+ if ((in < inend) && (out < outend) && (*in < 0x80)) {
*out++ = *in++;
}
*outlen = out - outstart;
@@ -379,7 +431,7 @@ UTF8Toisolat1(unsigned char* out, int *outlen,
if (inend - in < trailing) {
break;
- }
+ }
for ( ; trailing; trailing--) {
if (in >= inend)
@@ -487,7 +539,7 @@ UTF16LEToUTF8(unsigned char* out, int *outlen,
else if (c < 0x800) { *out++= ((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000) { *out++= ((c >> 12) & 0x0F) | 0xE0; bits= 6; }
else { *out++= ((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
if (out >= outend)
break;
@@ -512,7 +564,7 @@ UTF16LEToUTF8(unsigned char* out, int *outlen,
* block of chars out.
*
* Returns the number of bytes written, or -1 if lack of space, or -2
- * if the transcoding failed.
+ * if the transcoding failed.
*/
static int
UTF8ToUTF16LE(unsigned char* outb, int *outlen,
@@ -558,7 +610,7 @@ UTF8ToUTF16LE(unsigned char* outb, int *outlen,
if (inend - in < trailing) {
break;
- }
+ }
for ( ; trailing; trailing--) {
if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80))
@@ -621,7 +673,7 @@ UTF8ToUTF16LE(unsigned char* outb, int *outlen,
* block of chars out.
*
* Returns the number of bytes written, or -1 if lack of space, or -2
- * if the transcoding failed.
+ * if the transcoding failed.
*/
static int
UTF8ToUTF16(unsigned char* outb, int *outlen,
@@ -693,7 +745,7 @@ UTF16BEToUTF8(unsigned char* out, int *outlen,
in++;
} else {
c= *in++;
- }
+ }
if ((c & 0xFC00) == 0xD800) { /* surrogates */
if (in >= inend) { /* (in > inend) shouldn't happens */
*outlen = out - outstart;
@@ -723,15 +775,15 @@ UTF16BEToUTF8(unsigned char* out, int *outlen,
}
/* assertion: c is a single UTF-4 value */
- if (out >= outend)
+ if (out >= outend)
break;
if (c < 0x80) { *out++= c; bits= -6; }
else if (c < 0x800) { *out++= ((c >> 6) & 0x1F) | 0xC0; bits= 0; }
else if (c < 0x10000) { *out++= ((c >> 12) & 0x0F) | 0xE0; bits= 6; }
else { *out++= ((c >> 18) & 0x07) | 0xF0; bits= 12; }
-
+
for ( ; bits >= 0; bits-= 6) {
- if (out >= outend)
+ if (out >= outend)
break;
*out++= ((c >> bits) & 0x3F) | 0x80;
}
@@ -754,7 +806,7 @@ UTF16BEToUTF8(unsigned char* out, int *outlen,
* block of chars out.
*
* Returns the number of byte written, or -1 by lack of space, or -2
- * if the transcoding failed.
+ * if the transcoding failed.
*/
static int
UTF8ToUTF16BE(unsigned char* outb, int *outlen,
@@ -800,7 +852,7 @@ UTF8ToUTF16BE(unsigned char* outb, int *outlen,
if (inend - in < trailing) {
break;
- }
+ }
for ( ; trailing; trailing--) {
if ((in >= inend) || (((d= *in++) & 0xC0) != 0x80)) break;
@@ -864,13 +916,13 @@ UTF8ToUTF16BE(unsigned char* outb, int *outlen,
*
* Guess the encoding of the entity using the first bytes of the entity content
* according to the non-normative appendix F of the XML-1.0 recommendation.
- *
+ *
* Returns one of the XML_CHAR_ENCODING_... values.
*/
xmlCharEncoding
xmlDetectCharEncoding(const unsigned char* in, int len)
{
- if (in == NULL)
+ if (in == NULL)
return(XML_CHAR_ENCODING_NONE);
if (len >= 4) {
if ((in[0] == 0x00) && (in[1] == 0x00) &&
@@ -951,7 +1003,7 @@ xmlCleanupEncodingAliases(void) {
* @alias: the alias name as parsed, in UTF-8 format (ASCII actually)
*
* Lookup an encoding name for the given alias.
- *
+ *
* Returns NULL if not found, otherwise the original name
*/
const char *
@@ -989,7 +1041,7 @@ xmlGetEncodingAlias(const char *alias) {
*
* Registers an alias @alias for an encoding named @name. Existing alias
* will be overwritten.
- *
+ *
* Returns 0 in case of success, -1 in case of error
*/
int
@@ -1009,13 +1061,13 @@ xmlAddEncodingAlias(const char *name, const char *alias) {
if (xmlCharEncodingAliases == NULL) {
xmlCharEncodingAliasesNb = 0;
xmlCharEncodingAliasesMax = 20;
- xmlCharEncodingAliases = (xmlCharEncodingAliasPtr)
+ xmlCharEncodingAliases = (xmlCharEncodingAliasPtr)
xmlMalloc(xmlCharEncodingAliasesMax * sizeof(xmlCharEncodingAlias));
if (xmlCharEncodingAliases == NULL)
return(-1);
} else if (xmlCharEncodingAliasesNb >= xmlCharEncodingAliasesMax) {
xmlCharEncodingAliasesMax *= 2;
- xmlCharEncodingAliases = (xmlCharEncodingAliasPtr)
+ xmlCharEncodingAliases = (xmlCharEncodingAliasPtr)
xmlRealloc(xmlCharEncodingAliases,
xmlCharEncodingAliasesMax * sizeof(xmlCharEncodingAlias));
}
@@ -1046,7 +1098,7 @@ xmlAddEncodingAlias(const char *name, const char *alias) {
* @alias: the alias name as parsed, in UTF-8 format (ASCII actually)
*
* Unregisters an encoding alias @alias
- *
+ *
* Returns 0 in case of success, -1 in case of error
*/
int
@@ -1081,7 +1133,7 @@ xmlDelEncodingAlias(const char *alias) {
* Compare the string to the encoding schemes already known. Note
* that the comparison is case insensitive accordingly to the section
* [XML] 4.3.3 Character Encoding in Entities.
- *
+ *
* Returns one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE
* if not recognized.
*/
@@ -1118,7 +1170,7 @@ xmlParseCharEncoding(const char* name)
*/
if (!strcmp(upper, "UTF-16")) return(XML_CHAR_ENCODING_UTF16LE);
if (!strcmp(upper, "UTF16")) return(XML_CHAR_ENCODING_UTF16LE);
-
+
if (!strcmp(upper, "ISO-10646-UCS-2")) return(XML_CHAR_ENCODING_UCS2);
if (!strcmp(upper, "UCS-2")) return(XML_CHAR_ENCODING_UCS2);
if (!strcmp(upper, "UCS2")) return(XML_CHAR_ENCODING_UCS2);
@@ -1131,7 +1183,7 @@ xmlParseCharEncoding(const char* name)
if (!strcmp(upper, "UCS-4")) return(XML_CHAR_ENCODING_UCS4LE);
if (!strcmp(upper, "UCS4")) return(XML_CHAR_ENCODING_UCS4LE);
-
+
if (!strcmp(upper, "ISO-8859-1")) return(XML_CHAR_ENCODING_8859_1);
if (!strcmp(upper, "ISO-LATIN-1")) return(XML_CHAR_ENCODING_8859_1);
if (!strcmp(upper, "ISO LATIN 1")) return(XML_CHAR_ENCODING_8859_1);
@@ -1254,7 +1306,7 @@ static xmlCharEncodingHandlerPtr xmlDefaultCharEncodingHandler = NULL;
* Returns the xmlCharEncodingHandlerPtr created (or NULL in case of error).
*/
xmlCharEncodingHandlerPtr
-xmlNewCharEncodingHandler(const char *name,
+xmlNewCharEncodingHandler(const char *name,
xmlCharEncodingInputFunc input,
xmlCharEncodingOutputFunc output) {
xmlCharEncodingHandlerPtr handler;
@@ -1299,6 +1351,7 @@ xmlNewCharEncodingHandler(const char *name,
xmlEncodingErrMemory("xmlNewCharEncodingHandler : out of memory !\n");
return(NULL);
}
+ memset(handler, 0, sizeof(xmlCharEncodingHandler));
handler->input = input;
handler->output = output;
handler->name = up;
@@ -1306,7 +1359,11 @@ xmlNewCharEncodingHandler(const char *name,
#ifdef LIBXML_ICONV_ENABLED
handler->iconv_in = NULL;
handler->iconv_out = NULL;
-#endif /* LIBXML_ICONV_ENABLED */
+#endif
+#ifdef LIBXML_ICU_ENABLED
+ handler->uconv_in = NULL;
+ handler->uconv_out = NULL;
+#endif
/*
* registers and returns the handler.
@@ -1330,7 +1387,7 @@ xmlNewCharEncodingHandler(const char *name,
void
xmlInitCharEncodingHandlers(void) {
unsigned short int tst = 0x1234;
- unsigned char *ptr = (unsigned char *) &tst;
+ unsigned char *ptr = (unsigned char *) &tst;
if (handlers != NULL) return;
@@ -1350,9 +1407,9 @@ xmlInitCharEncodingHandlers(void) {
}
xmlNewCharEncodingHandler("UTF-8", UTF8ToUTF8, UTF8ToUTF8);
#ifdef LIBXML_OUTPUT_ENABLED
- xmlUTF16LEHandler =
+ xmlUTF16LEHandler =
xmlNewCharEncodingHandler("UTF-16LE", UTF16LEToUTF8, UTF8ToUTF16LE);
- xmlUTF16BEHandler =
+ xmlUTF16BEHandler =
xmlNewCharEncodingHandler("UTF-16BE", UTF16BEToUTF8, UTF8ToUTF16BE);
xmlNewCharEncodingHandler("UTF-16", UTF16LEToUTF8, UTF8ToUTF16);
xmlNewCharEncodingHandler("ISO-8859-1", isolat1ToUTF8, UTF8Toisolat1);
@@ -1362,16 +1419,16 @@ xmlInitCharEncodingHandlers(void) {
xmlNewCharEncodingHandler("HTML", NULL, UTF8ToHtml);
#endif
#else
- xmlUTF16LEHandler =
+ xmlUTF16LEHandler =
xmlNewCharEncodingHandler("UTF-16LE", UTF16LEToUTF8, NULL);
- xmlUTF16BEHandler =
+ xmlUTF16BEHandler =
xmlNewCharEncodingHandler("UTF-16BE", UTF16BEToUTF8, NULL);
xmlNewCharEncodingHandler("UTF-16", UTF16LEToUTF8, NULL);
xmlNewCharEncodingHandler("ISO-8859-1", isolat1ToUTF8, NULL);
xmlNewCharEncodingHandler("ASCII", asciiToUTF8, NULL);
xmlNewCharEncodingHandler("US-ASCII", asciiToUTF8, NULL);
#endif /* LIBXML_OUTPUT_ENABLED */
-#ifndef LIBXML_ICONV_ENABLED
+#if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED)
#ifdef LIBXML_ISO8859X_ENABLED
xmlRegisterCharEncodingHandlersISO8859x ();
#endif
@@ -1414,7 +1471,7 @@ xmlCleanupCharEncodingHandlers(void) {
void
xmlRegisterCharEncodingHandler(xmlCharEncodingHandlerPtr handler) {
if (handlers == NULL) xmlInitCharEncodingHandlers();
- if (handler == NULL) {
+ if ((handler == NULL) || (handlers == NULL)) {
xmlEncodingErr(XML_I18N_NO_HANDLER,
"xmlRegisterCharEncodingHandler: NULL handler !\n", NULL);
return;
@@ -1458,6 +1515,10 @@ xmlGetCharEncodingHandler(xmlCharEncoding enc) {
if (handler != NULL) return(handler);
handler = xmlFindCharEncodingHandler("ebcdic");
if (handler != NULL) return(handler);
+ handler = xmlFindCharEncodingHandler("EBCDIC-US");
+ if (handler != NULL) return(handler);
+ handler = xmlFindCharEncodingHandler("IBM-037");
+ if (handler != NULL) return(handler);
break;
case XML_CHAR_ENCODING_UCS4BE:
handler = xmlFindCharEncodingHandler("ISO-10646-UCS-4");
@@ -1548,10 +1609,10 @@ xmlGetCharEncodingHandler(xmlCharEncoding enc) {
handler = xmlFindCharEncodingHandler("EUC-JP");
if (handler != NULL) return(handler);
break;
- default:
+ default:
break;
}
-
+
#ifdef DEBUG_ENCODING
xmlGenericError(xmlGenericErrorContext,
"No handler found for encoding %d\n", enc);
@@ -1576,6 +1637,10 @@ xmlFindCharEncodingHandler(const char *name) {
xmlCharEncodingHandlerPtr enc;
iconv_t icv_in, icv_out;
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ xmlCharEncodingHandlerPtr encu;
+ uconv_t *ucv_in, *ucv_out;
+#endif /* LIBXML_ICU_ENABLED */
char upper[100];
int i;
@@ -1600,14 +1665,17 @@ xmlFindCharEncodingHandler(const char *name) {
}
upper[i] = 0;
- for (i = 0;i < nbCharEncodingHandler; i++)
- if (!strcmp(upper, handlers[i]->name)) {
+ if (handlers != NULL) {
+ for (i = 0;i < nbCharEncodingHandler; i++) {
+ if (!strcmp(upper, handlers[i]->name)) {
#ifdef DEBUG_ENCODING
- xmlGenericError(xmlGenericErrorContext,
- "Found registered handler for encoding %s\n", name);
+ xmlGenericError(xmlGenericErrorContext,
+ "Found registered handler for encoding %s\n", name);
#endif
- return(handlers[i]);
- }
+ return(handlers[i]);
+ }
+ }
+ }
#ifdef LIBXML_ICONV_ENABLED
/* check whether iconv can handle this */
@@ -1627,6 +1695,7 @@ xmlFindCharEncodingHandler(const char *name) {
iconv_close(icv_out);
return(NULL);
}
+ memset(enc, 0, sizeof(xmlCharEncodingHandler));
enc->name = xmlMemStrdup(name);
enc->input = NULL;
enc->output = NULL;
@@ -1642,6 +1711,36 @@ xmlFindCharEncodingHandler(const char *name) {
"iconv : problems with filters for '%s'\n", name);
}
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ /* check whether icu can handle this */
+ ucv_in = openIcuConverter(name, 1);
+ ucv_out = openIcuConverter(name, 0);
+ if (ucv_in != NULL && ucv_out != NULL) {
+ encu = (xmlCharEncodingHandlerPtr)
+ xmlMalloc(sizeof(xmlCharEncodingHandler));
+ if (encu == NULL) {
+ closeIcuConverter(ucv_in);
+ closeIcuConverter(ucv_out);
+ return(NULL);
+ }
+ memset(encu, 0, sizeof(xmlCharEncodingHandler));
+ encu->name = xmlMemStrdup(name);
+ encu->input = NULL;
+ encu->output = NULL;
+ encu->uconv_in = ucv_in;
+ encu->uconv_out = ucv_out;
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "Found ICU converter handler for encoding %s\n", name);
+#endif
+ return encu;
+ } else if (ucv_in != NULL || ucv_out != NULL) {
+ closeIcuConverter(ucv_in);
+ closeIcuConverter(ucv_out);
+ xmlEncodingErr(XML_ERR_INTERNAL_ERROR,
+ "ICU converter : problems with filters for '%s'\n", name);
+ }
+#endif /* LIBXML_ICU_ENABLED */
#ifdef DEBUG_ENCODING
xmlGenericError(xmlGenericErrorContext,
@@ -1679,12 +1778,12 @@ xmlFindCharEncodingHandler(const char *name) {
* @in: a pointer to an array of ISO Latin 1 chars
* @inlen: the length of @in
*
- * Returns 0 if success, or
+ * Returns 0 if success, or
* -1 by lack of space, or
* -2 if the transcoding fails (for *in is not valid utf8 string or
* the result of transformation can't fit into the encoding we want), or
* -3 if there the last byte can't form a single output char.
- *
+ *
* The value of @inlen after return is the number of octets consumed
* as the return value is positive, else unpredictable.
* The value of @outlen after return is the number of ocetes consumed.
@@ -1703,7 +1802,7 @@ xmlIconvWrapper(iconv_t cd, unsigned char *out, int *outlen,
}
icv_inlen = *inlen;
icv_outlen = *outlen;
- ret = iconv(cd, (char **) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
+ ret = iconv(cd, (ICONV_CONST char **) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
*inlen -= icv_inlen;
*outlen -= icv_outlen;
if ((icv_inlen != 0) || (ret == -1)) {
@@ -1732,27 +1831,97 @@ xmlIconvWrapper(iconv_t cd, unsigned char *out, int *outlen,
/************************************************************************
* *
+ * ICU based generic conversion functions *
+ * *
+ ************************************************************************/
+
+#ifdef LIBXML_ICU_ENABLED
+/**
+ * xmlUconvWrapper:
+ * @cd: ICU uconverter data structure
+ * @toUnicode : non-zero if toUnicode. 0 otherwise.
+ * @out: a pointer to an array of bytes to store the result
+ * @outlen: the length of @out
+ * @in: a pointer to an array of ISO Latin 1 chars
+ * @inlen: the length of @in
+ *
+ * Returns 0 if success, or
+ * -1 by lack of space, or
+ * -2 if the transcoding fails (for *in is not valid utf8 string or
+ * the result of transformation can't fit into the encoding we want), or
+ * -3 if there the last byte can't form a single output char.
+ *
+ * The value of @inlen after return is the number of octets consumed
+ * as the return value is positive, else unpredictable.
+ * The value of @outlen after return is the number of ocetes consumed.
+ */
+static int
+xmlUconvWrapper(uconv_t *cd, int toUnicode, unsigned char *out, int *outlen,
+ const unsigned char *in, int *inlen) {
+ const char *ucv_in = (const char *) in;
+ char *ucv_out = (char *) out;
+ UErrorCode err = U_ZERO_ERROR;
+
+ if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL)) {
+ if (outlen != NULL) *outlen = 0;
+ return(-1);
+ }
+
+ /*
+ * TODO(jungshik)
+ * 1. is ucnv_convert(To|From)Algorithmic better?
+ * 2. had we better use an explicit pivot buffer?
+ * 3. error returned comes from 'fromUnicode' only even
+ * when toUnicode is true !
+ */
+ if (toUnicode) {
+ /* encoding => UTF-16 => UTF-8 */
+ ucnv_convertEx(cd->utf8, cd->uconv, &ucv_out, ucv_out + *outlen,
+ &ucv_in, ucv_in + *inlen, NULL, NULL, NULL, NULL,
+ 0, TRUE, &err);
+ } else {
+ /* UTF-8 => UTF-16 => encoding */
+ ucnv_convertEx(cd->uconv, cd->utf8, &ucv_out, ucv_out + *outlen,
+ &ucv_in, ucv_in + *inlen, NULL, NULL, NULL, NULL,
+ 0, TRUE, &err);
+ }
+ *inlen = ucv_in - (const char*) in;
+ *outlen = ucv_out - (char *) out;
+ if (U_SUCCESS(err))
+ return 0;
+ if (err == U_BUFFER_OVERFLOW_ERROR)
+ return -1;
+ if (err == U_INVALID_CHAR_FOUND || err == U_ILLEGAL_CHAR_FOUND)
+ return -2;
+ /* if (err == U_TRUNCATED_CHAR_FOUND) */
+ return -3;
+}
+#endif /* LIBXML_ICU_ENABLED */
+
+/************************************************************************
+ * *
* The real API used by libxml for on-the-fly conversion *
* *
************************************************************************/
/**
- * xmlCharEncFirstLine:
+ * xmlCharEncFirstLineInt:
* @handler: char enconding transformation data structure
* @out: an xmlBuffer for the output.
* @in: an xmlBuffer for the input
- *
+ * @len: number of bytes to convert for the first line, or -1
+ *
* Front-end for the encoding handler input function, but handle only
* the very first line, i.e. limit itself to 45 chars.
- *
- * Returns the number of byte written if success, or
+ *
+ * Returns the number of byte written if success, or
* -1 general error
* -2 if the transcoding fails (for *in is not valid utf8 string or
* the result of transformation can't fit into the encoding we want), or
*/
int
-xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
- xmlBufferPtr in) {
+xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
+ xmlBufferPtr in, int len) {
int ret = -2;
int written;
int toconv;
@@ -1761,19 +1930,28 @@ xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
if (out == NULL) return(-1);
if (in == NULL) return(-1);
- written = out->size - out->use;
+ /* calculate space available */
+ written = out->size - out->use - 1; /* count '\0' */
toconv = in->use;
- if (toconv * 2 >= written) {
- xmlBufferGrow(out, toconv);
- written = out->size - out->use - 1;
- }
-
/*
* echo '<?xml version="1.0" encoding="UCS4"?>' | wc -c => 38
* 45 chars should be sufficient to reach the end of the encoding
* declaration without going too far inside the document content.
+ * on UTF-16 this means 90bytes, on UCS4 this means 180
+ * The actual value depending on guessed encoding is passed as @len
+ * if provided
*/
- written = 45;
+ if (len >= 0) {
+ if (toconv > len)
+ toconv = len;
+ } else {
+ if (toconv > 180)
+ toconv = 180;
+ }
+ if (toconv * 2 >= written) {
+ xmlBufferGrow(out, toconv * 2);
+ written = out->size - out->use - 1;
+ }
if (handler->input != NULL) {
ret = handler->input(&out->content[out->use], &written,
@@ -1792,6 +1970,16 @@ xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
if (ret == -1) ret = -3;
}
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (handler->uconv_in != NULL) {
+ ret = xmlUconvWrapper(handler->uconv_in, 1, &out->content[out->use],
+ &written, in->content, &toconv);
+ xmlBufferShrink(in, toconv);
+ out->use += written;
+ out->content[out->use] = 0;
+ if (ret == -1) ret = -3;
+ }
+#endif /* LIBXML_ICU_ENABLED */
#ifdef DEBUG_ENCODING
switch (ret) {
case 0:
@@ -1824,14 +2012,280 @@ xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
}
/**
+ * xmlCharEncFirstLine:
+ * @handler: char enconding transformation data structure
+ * @out: an xmlBuffer for the output.
+ * @in: an xmlBuffer for the input
+ *
+ * Front-end for the encoding handler input function, but handle only
+ * the very first line, i.e. limit itself to 45 chars.
+ *
+ * Returns the number of byte written if success, or
+ * -1 general error
+ * -2 if the transcoding fails (for *in is not valid utf8 string or
+ * the result of transformation can't fit into the encoding we want), or
+ */
+int
+xmlCharEncFirstLine(xmlCharEncodingHandler *handler, xmlBufferPtr out,
+ xmlBufferPtr in) {
+ return(xmlCharEncFirstLineInt(handler, out, in, -1));
+}
+
+/**
+ * xmlCharEncFirstLineInput:
+ * @input: a parser input buffer
+ * @len: number of bytes to convert for the first line, or -1
+ *
+ * Front-end for the encoding handler input function, but handle only
+ * the very first line. Point is that this is based on autodetection
+ * of the encoding and once that first line is converted we may find
+ * out that a different decoder is needed to process the input.
+ *
+ * Returns the number of byte written if success, or
+ * -1 general error
+ * -2 if the transcoding fails (for *in is not valid utf8 string or
+ * the result of transformation can't fit into the encoding we want), or
+ */
+int
+xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len)
+{
+ int ret = -2;
+ size_t written;
+ size_t toconv;
+ int c_in;
+ int c_out;
+ xmlBufPtr in;
+ xmlBufPtr out;
+
+ if ((input == NULL) || (input->encoder == NULL) ||
+ (input->buffer == NULL) || (input->raw == NULL))
+ return (-1);
+ out = input->buffer;
+ in = input->raw;
+
+ toconv = xmlBufUse(in);
+ if (toconv == 0)
+ return (0);
+ written = xmlBufAvail(out) - 1; /* count '\0' */
+ /*
+ * echo '<?xml version="1.0" encoding="UCS4"?>' | wc -c => 38
+ * 45 chars should be sufficient to reach the end of the encoding
+ * declaration without going too far inside the document content.
+ * on UTF-16 this means 90bytes, on UCS4 this means 180
+ * The actual value depending on guessed encoding is passed as @len
+ * if provided
+ */
+ if (len >= 0) {
+ if (toconv > (unsigned int) len)
+ toconv = len;
+ } else {
+ if (toconv > 180)
+ toconv = 180;
+ }
+ if (toconv * 2 >= written) {
+ xmlBufGrow(out, toconv * 2);
+ written = xmlBufAvail(out) - 1;
+ }
+ if (written > 360)
+ written = 360;
+
+ c_in = toconv;
+ c_out = written;
+ if (input->encoder->input != NULL) {
+ ret = input->encoder->input(xmlBufEnd(out), &c_out,
+ xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ }
+#ifdef LIBXML_ICONV_ENABLED
+ else if (input->encoder->iconv_in != NULL) {
+ ret = xmlIconvWrapper(input->encoder->iconv_in, xmlBufEnd(out),
+ &c_out, xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ if (ret == -1)
+ ret = -3;
+ }
+#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (input->encoder->uconv_in != NULL) {
+ ret = xmlUconvWrapper(input->encoder->uconv_in, 1, xmlBufEnd(out),
+ &c_out, xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ if (ret == -1)
+ ret = -3;
+ }
+#endif /* LIBXML_ICU_ENABLED */
+ switch (ret) {
+ case 0:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of input\n",
+ c_in, c_out);
+#endif
+ break;
+ case -1:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of input, %d left\n",
+ c_in, c_out, (int)xmlBufUse(in));
+#endif
+ break;
+ case -3:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of input, %d left\n",
+ c_in, c_out, (int)xmlBufUse(in));
+#endif
+ break;
+ case -2: {
+ char buf[50];
+ const xmlChar *content = xmlBufContent(in);
+
+ snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
+ content[0], content[1],
+ content[2], content[3]);
+ buf[49] = 0;
+ xmlEncodingErr(XML_I18N_CONV_FAILED,
+ "input conversion failed due to input error, bytes %s\n",
+ buf);
+ }
+ }
+ /*
+ * Ignore when input buffer is not on a boundary
+ */
+ if (ret == -3) ret = 0;
+ if (ret == -1) ret = 0;
+ return(ret);
+}
+
+/**
+ * xmlCharEncInput:
+ * @input: a parser input buffer
+ * @flush: try to flush all the raw buffer
+ *
+ * Generic front-end for the encoding handler on parser input
+ *
+ * Returns the number of byte written if success, or
+ * -1 general error
+ * -2 if the transcoding fails (for *in is not valid utf8 string or
+ * the result of transformation can't fit into the encoding we want), or
+ */
+int
+xmlCharEncInput(xmlParserInputBufferPtr input, int flush)
+{
+ int ret = -2;
+ size_t written;
+ size_t toconv;
+ int c_in;
+ int c_out;
+ xmlBufPtr in;
+ xmlBufPtr out;
+
+ if ((input == NULL) || (input->encoder == NULL) ||
+ (input->buffer == NULL) || (input->raw == NULL))
+ return (-1);
+ out = input->buffer;
+ in = input->raw;
+
+ toconv = xmlBufUse(in);
+ if (toconv == 0)
+ return (0);
+ if ((toconv > 64 * 1024) && (flush == 0))
+ toconv = 64 * 1024;
+ written = xmlBufAvail(out);
+ if (written > 0)
+ written--; /* count '\0' */
+ if (toconv * 2 >= written) {
+ xmlBufGrow(out, toconv * 2);
+ written = xmlBufAvail(out);
+ if (written > 0)
+ written--; /* count '\0' */
+ }
+ if ((written > 128 * 1024) && (flush == 0))
+ written = 128 * 1024;
+
+ c_in = toconv;
+ c_out = written;
+ if (input->encoder->input != NULL) {
+ ret = input->encoder->input(xmlBufEnd(out), &c_out,
+ xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ }
+#ifdef LIBXML_ICONV_ENABLED
+ else if (input->encoder->iconv_in != NULL) {
+ ret = xmlIconvWrapper(input->encoder->iconv_in, xmlBufEnd(out),
+ &c_out, xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ if (ret == -1)
+ ret = -3;
+ }
+#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (input->encoder->uconv_in != NULL) {
+ ret = xmlUconvWrapper(input->encoder->uconv_in, 1, xmlBufEnd(out),
+ &c_out, xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ if (ret == -1)
+ ret = -3;
+ }
+#endif /* LIBXML_ICU_ENABLED */
+ switch (ret) {
+ case 0:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of input\n",
+ c_in, c_out);
+#endif
+ break;
+ case -1:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of input, %d left\n",
+ c_in, c_out, (int)xmlBufUse(in));
+#endif
+ break;
+ case -3:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of input, %d left\n",
+ c_in, c_out, (int)xmlBufUse(in));
+#endif
+ break;
+ case -2: {
+ char buf[50];
+ const xmlChar *content = xmlBufContent(in);
+
+ snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
+ content[0], content[1],
+ content[2], content[3]);
+ buf[49] = 0;
+ xmlEncodingErr(XML_I18N_CONV_FAILED,
+ "input conversion failed due to input error, bytes %s\n",
+ buf);
+ }
+ }
+ /*
+ * Ignore when input buffer is not on a boundary
+ */
+ if (ret == -3)
+ ret = 0;
+ return (c_out? c_out : ret);
+}
+
+/**
* xmlCharEncInFunc:
* @handler: char encoding transformation data structure
* @out: an xmlBuffer for the output.
* @in: an xmlBuffer for the input
- *
+ *
* Generic front-end for the encoding handler input function
- *
- * Returns the number of byte written if success, or
+ *
+ * Returns the number of byte written if success, or
* -1 general error
* -2 if the transcoding fails (for *in is not valid utf8 string or
* the result of transformation can't fit into the encoding we want), or
@@ -1854,7 +2308,7 @@ xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
toconv = in->use;
if (toconv == 0)
return (0);
- written = out->size - out->use;
+ written = out->size - out->use -1; /* count '\0' */
if (toconv * 2 >= written) {
xmlBufferGrow(out, out->size + toconv * 2);
written = out->size - out->use - 1;
@@ -1877,6 +2331,17 @@ xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
ret = -3;
}
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (handler->uconv_in != NULL) {
+ ret = xmlUconvWrapper(handler->uconv_in, 1, &out->content[out->use],
+ &written, in->content, &toconv);
+ xmlBufferShrink(in, toconv);
+ out->use += written;
+ out->content[out->use] = 0;
+ if (ret == -1)
+ ret = -3;
+ }
+#endif /* LIBXML_ICU_ENABLED */
switch (ret) {
case 0:
#ifdef DEBUG_ENCODING
@@ -1902,7 +2367,7 @@ xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
case -2: {
char buf[50];
- snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
+ snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
in->content[0], in->content[1],
in->content[2], in->content[3]);
buf[49] = 0;
@@ -1919,20 +2384,251 @@ xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
return (written? written : ret);
}
+#ifdef LIBXML_OUTPUT_ENABLED
+/**
+ * xmlCharEncOutput:
+ * @output: a parser output buffer
+ * @init: is this an initialization call without data
+ *
+ * Generic front-end for the encoding handler on parser output
+ * a first call with @init == 1 has to be made first to initiate the
+ * output in case of non-stateless encoding needing to initiate their
+ * state or the output (like the BOM in UTF16).
+ * In case of UTF8 sequence conversion errors for the given encoder,
+ * the content will be automatically remapped to a CharRef sequence.
+ *
+ * Returns the number of byte written if success, or
+ * -1 general error
+ * -2 if the transcoding fails (for *in is not valid utf8 string or
+ * the result of transformation can't fit into the encoding we want), or
+ */
+int
+xmlCharEncOutput(xmlOutputBufferPtr output, int init)
+{
+ int ret = -2;
+ size_t written;
+ size_t writtentot = 0;
+ size_t toconv;
+ int c_in;
+ int c_out;
+ xmlBufPtr in;
+ xmlBufPtr out;
+ int charref_len = 0;
+
+ if ((output == NULL) || (output->encoder == NULL) ||
+ (output->buffer == NULL) || (output->conv == NULL))
+ return (-1);
+ out = output->conv;
+ in = output->buffer;
+
+retry:
+
+ written = xmlBufAvail(out);
+ if (written > 0)
+ written--; /* count '\0' */
+
+ /*
+ * First specific handling of the initialization call
+ */
+ if (init) {
+ c_in = 0;
+ c_out = written;
+ if (output->encoder->output != NULL) {
+ ret = output->encoder->output(xmlBufEnd(out), &c_out,
+ NULL, &c_in);
+ if (ret > 0) /* Gennady: check return value */
+ xmlBufAddLen(out, c_out);
+ }
+#ifdef LIBXML_ICONV_ENABLED
+ else if (output->encoder->iconv_out != NULL) {
+ ret = xmlIconvWrapper(output->encoder->iconv_out, xmlBufEnd(out),
+ &c_out, NULL, &c_in);
+ xmlBufAddLen(out, c_out);
+ }
+#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (output->encoder->uconv_out != NULL) {
+ ret = xmlUconvWrapper(output->encoder->uconv_out, 0, xmlBufEnd(out),
+ &c_out, NULL, &c_in);
+ xmlBufAddLen(out, c_out);
+ }
+#endif /* LIBXML_ICU_ENABLED */
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "initialized encoder\n");
+#endif
+ return(0);
+ }
+
+ /*
+ * Conversion itself.
+ */
+ toconv = xmlBufUse(in);
+ if (toconv == 0)
+ return (0);
+ if (toconv > 64 * 1024)
+ toconv = 64 * 1024;
+ if (toconv * 4 >= written) {
+ xmlBufGrow(out, toconv * 4);
+ written = xmlBufAvail(out) - 1;
+ }
+ if (written > 256 * 1024)
+ written = 256 * 1024;
+
+ c_in = toconv;
+ c_out = written;
+ if (output->encoder->output != NULL) {
+ ret = output->encoder->output(xmlBufEnd(out), &c_out,
+ xmlBufContent(in), &c_in);
+ if (c_out > 0) {
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ writtentot += c_out;
+ }
+ }
+#ifdef LIBXML_ICONV_ENABLED
+ else if (output->encoder->iconv_out != NULL) {
+ ret = xmlIconvWrapper(output->encoder->iconv_out, xmlBufEnd(out),
+ &c_out, xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ writtentot += c_out;
+ if (ret == -1) {
+ if (c_out > 0) {
+ /*
+ * Can be a limitation of iconv
+ */
+ charref_len = 0;
+ goto retry;
+ }
+ ret = -3;
+ }
+ }
+#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (output->encoder->uconv_out != NULL) {
+ ret = xmlUconvWrapper(output->encoder->uconv_out, 0, xmlBufEnd(out),
+ &c_out, xmlBufContent(in), &c_in);
+ xmlBufShrink(in, c_in);
+ xmlBufAddLen(out, c_out);
+ writtentot += c_out;
+ if (ret == -1) {
+ if (c_out > 0) {
+ /*
+ * Can be a limitation of uconv
+ */
+ charref_len = 0;
+ goto retry;
+ }
+ ret = -3;
+ }
+ }
+#endif /* LIBXML_ICU_ENABLED */
+ else {
+ xmlEncodingErr(XML_I18N_NO_OUTPUT,
+ "xmlCharEncOutFunc: no output function !\n", NULL);
+ return(-1);
+ }
+
+ if (ret >= 0) output += ret;
+
+ /*
+ * Attempt to handle error cases
+ */
+ switch (ret) {
+ case 0:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "converted %d bytes to %d bytes of output\n",
+ c_in, c_out);
+#endif
+ break;
+ case -1:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "output conversion failed by lack of space\n");
+#endif
+ break;
+ case -3:
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,"converted %d bytes to %d bytes of output %d left\n",
+ c_in, c_out, (int) xmlBufUse(in));
+#endif
+ break;
+ case -2: {
+ int len = (int) xmlBufUse(in);
+ xmlChar *content = xmlBufContent(in);
+ int cur;
+
+ cur = xmlGetUTF8Char(content, &len);
+ if ((charref_len != 0) && (c_out < charref_len)) {
+ /*
+ * We attempted to insert a character reference and failed.
+ * Undo what was written and skip the remaining charref.
+ */
+ xmlBufErase(out, c_out);
+ writtentot -= c_out;
+ xmlBufShrink(in, charref_len - c_out);
+ charref_len = 0;
+
+ ret = -1;
+ break;
+ } else if (cur > 0) {
+ xmlChar charref[20];
+
+#ifdef DEBUG_ENCODING
+ xmlGenericError(xmlGenericErrorContext,
+ "handling output conversion error\n");
+ xmlGenericError(xmlGenericErrorContext,
+ "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+ content[0], content[1],
+ content[2], content[3]);
+#endif
+ /*
+ * Removes the UTF8 sequence, and replace it by a charref
+ * and continue the transcoding phase, hoping the error
+ * did not mangle the encoder state.
+ */
+ charref_len = snprintf((char *) &charref[0], sizeof(charref),
+ "&#%d;", cur);
+ xmlBufShrink(in, len);
+ xmlBufAddHead(in, charref, -1);
+
+ goto retry;
+ } else {
+ char buf[50];
+
+ snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
+ content[0], content[1],
+ content[2], content[3]);
+ buf[49] = 0;
+ xmlEncodingErr(XML_I18N_CONV_FAILED,
+ "output conversion failed due to conv error, bytes %s\n",
+ buf);
+ if (xmlBufGetAllocationScheme(in) != XML_BUFFER_ALLOC_IMMUTABLE)
+ content[0] = ' ';
+ }
+ break;
+ }
+ }
+ return(ret);
+}
+#endif
+
/**
* xmlCharEncOutFunc:
* @handler: char enconding transformation data structure
* @out: an xmlBuffer for the output.
* @in: an xmlBuffer for the input
- *
+ *
* Generic front-end for the encoding handler output function
- * a first call with @in == NULL has to be made firs to initiate the
+ * a first call with @in == NULL has to be made firs to initiate the
* output in case of non-stateless encoding needing to initiate their
* state or the output (like the BOM in UTF16).
* In case of UTF8 sequence conversion errors for the given encoder,
* the content will be automatically remapped to a CharRef sequence.
- *
- * Returns the number of byte written if success, or
+ *
+ * Returns the number of byte written if success, or
* -1 general error
* -2 if the transcoding fails (for *in is not valid utf8 string or
* the result of transformation can't fit into the encoding we want), or
@@ -1945,12 +2641,13 @@ xmlCharEncOutFunc(xmlCharEncodingHandler *handler, xmlBufferPtr out,
int writtentot = 0;
int toconv;
int output = 0;
+ int charref_len = 0;
if (handler == NULL) return(-1);
if (out == NULL) return(-1);
retry:
-
+
written = out->size - out->use;
if (written > 0)
@@ -1977,6 +2674,15 @@ retry:
out->content[out->use] = 0;
}
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (handler->uconv_out != NULL) {
+ ret = xmlUconvWrapper(handler->uconv_out, 0,
+ &out->content[out->use],
+ &written, NULL, &toconv);
+ out->use += written;
+ out->content[out->use] = 0;
+ }
+#endif /* LIBXML_ICU_ENABLED */
#ifdef DEBUG_ENCODING
xmlGenericError(xmlGenericErrorContext,
"initialized encoder\n");
@@ -1990,16 +2696,18 @@ retry:
toconv = in->use;
if (toconv == 0)
return(0);
- if (toconv * 2 >= written) {
- xmlBufferGrow(out, toconv * 2);
+ if (toconv * 4 >= written) {
+ xmlBufferGrow(out, toconv * 4);
written = out->size - out->use - 1;
}
if (handler->output != NULL) {
ret = handler->output(&out->content[out->use], &written,
in->content, &toconv);
- xmlBufferShrink(in, toconv);
- out->use += written;
- writtentot += written;
+ if (written > 0) {
+ xmlBufferShrink(in, toconv);
+ out->use += written;
+ writtentot += written;
+ }
out->content[out->use] = 0;
}
#ifdef LIBXML_ICONV_ENABLED
@@ -2015,12 +2723,34 @@ retry:
/*
* Can be a limitation of iconv
*/
+ charref_len = 0;
goto retry;
}
ret = -3;
}
}
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ else if (handler->uconv_out != NULL) {
+ ret = xmlUconvWrapper(handler->uconv_out, 0,
+ &out->content[out->use],
+ &written, in->content, &toconv);
+ xmlBufferShrink(in, toconv);
+ out->use += written;
+ writtentot += written;
+ out->content[out->use] = 0;
+ if (ret == -1) {
+ if (written > 0) {
+ /*
+ * Can be a limitation of iconv
+ */
+ charref_len = 0;
+ goto retry;
+ }
+ ret = -3;
+ }
+ }
+#endif /* LIBXML_ICU_ENABLED */
else {
xmlEncodingErr(XML_I18N_NO_OUTPUT,
"xmlCharEncOutFunc: no output function !\n", NULL);
@@ -2058,7 +2788,19 @@ retry:
int cur;
cur = xmlGetUTF8Char(utf, &len);
- if (cur > 0) {
+ if ((charref_len != 0) && (written < charref_len)) {
+ /*
+ * We attempted to insert a character reference and failed.
+ * Undo what was written and skip the remaining charref.
+ */
+ out->use -= written;
+ writtentot -= written;
+ xmlBufferShrink(in, charref_len - written);
+ charref_len = 0;
+
+ ret = -1;
+ break;
+ } else if (cur > 0) {
xmlChar charref[20];
#ifdef DEBUG_ENCODING
@@ -2074,7 +2816,8 @@ retry:
* and continue the transcoding phase, hoping the error
* did not mangle the encoder state.
*/
- snprintf((char *) &charref[0], sizeof(charref), "&#%d;", cur);
+ charref_len = snprintf((char *) &charref[0], sizeof(charref),
+ "&#%d;", cur);
xmlBufferShrink(in, len);
xmlBufferAddHead(in, charref, -1);
@@ -2082,7 +2825,7 @@ retry:
} else {
char buf[50];
- snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
+ snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
in->content[0], in->content[1],
in->content[2], in->content[3]);
buf[49] = 0;
@@ -2101,7 +2844,7 @@ retry:
/**
* xmlCharEncCloseFunc:
* @handler: char enconding transformation data structure
- *
+ *
* Generic front-end for encoding handler close function
*
* Returns 0 if success, or -1 in case of error
@@ -2109,17 +2852,27 @@ retry:
int
xmlCharEncCloseFunc(xmlCharEncodingHandler *handler) {
int ret = 0;
+ int tofree = 0;
+ int i, handler_in_list = 0;
+
if (handler == NULL) return(-1);
if (handler->name == NULL) return(-1);
+ if (handlers != NULL) {
+ for (i = 0;i < nbCharEncodingHandler; i++) {
+ if (handler == handlers[i]) {
+ handler_in_list = 1;
+ break;
+ }
+ }
+ }
#ifdef LIBXML_ICONV_ENABLED
/*
* Iconv handlers can be used only once, free the whole block.
* and the associated icon resources.
*/
- if ((handler->iconv_out != NULL) || (handler->iconv_in != NULL)) {
- if (handler->name != NULL)
- xmlFree(handler->name);
- handler->name = NULL;
+ if ((handler_in_list == 0) &&
+ ((handler->iconv_out != NULL) || (handler->iconv_in != NULL))) {
+ tofree = 1;
if (handler->iconv_out != NULL) {
if (iconv_close(handler->iconv_out))
ret = -1;
@@ -2130,9 +2883,29 @@ xmlCharEncCloseFunc(xmlCharEncodingHandler *handler) {
ret = -1;
handler->iconv_in = NULL;
}
- xmlFree(handler);
}
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ if ((handler_in_list == 0) &&
+ ((handler->uconv_out != NULL) || (handler->uconv_in != NULL))) {
+ tofree = 1;
+ if (handler->uconv_out != NULL) {
+ closeIcuConverter(handler->uconv_out);
+ handler->uconv_out = NULL;
+ }
+ if (handler->uconv_in != NULL) {
+ closeIcuConverter(handler->uconv_in);
+ handler->uconv_in = NULL;
+ }
+ }
+#endif
+ if (tofree) {
+ /* free up only dynamic handlers iconv/uconv */
+ if (handler->name != NULL)
+ xmlFree(handler->name);
+ handler->name = NULL;
+ xmlFree(handler);
+ }
#ifdef DEBUG_ENCODING
if (ret)
xmlGenericError(xmlGenericErrorContext,
@@ -2162,7 +2935,7 @@ xmlCharEncCloseFunc(xmlCharEncodingHandler *handler) {
long
xmlByteConsumed(xmlParserCtxtPtr ctxt) {
xmlParserInputPtr in;
-
+
if (ctxt == NULL) return(-1);
in = ctxt->input;
if (in == NULL) return(-1);
@@ -2208,6 +2981,23 @@ xmlByteConsumed(xmlParserCtxtPtr ctxt) {
cur += toconv;
} while (ret == -2);
#endif
+#ifdef LIBXML_ICU_ENABLED
+ } else if (handler->uconv_out != NULL) {
+ do {
+ toconv = in->end - cur;
+ written = 32000;
+ ret = xmlUconvWrapper(handler->uconv_out, 0, &convbuf[0],
+ &written, cur, &toconv);
+ if (ret < 0) {
+ if (written > 0)
+ ret = -2;
+ else
+ return(-1);
+ }
+ unused += written;
+ cur += toconv;
+ } while (ret == -2);
+#endif
} else {
/* could not find a converter */
return(-1);
@@ -2220,7 +3010,7 @@ xmlByteConsumed(xmlParserCtxtPtr ctxt) {
return(in->consumed + (in->cur - in->base));
}
-#ifndef LIBXML_ICONV_ENABLED
+#if !defined(LIBXML_ICONV_ENABLED) && !defined(LIBXML_ICU_ENABLED)
#ifdef LIBXML_ISO8859X_ENABLED
/**
@@ -2246,6 +3036,7 @@ UTF8ToISO8859x(unsigned char* out, int *outlen,
const unsigned char* outstart = out;
const unsigned char* inend;
const unsigned char* instart = in;
+ const unsigned char* processed = in;
if ((out == NULL) || (outlen == NULL) || (inlen == NULL) ||
(xlattable == NULL))
@@ -2262,81 +3053,82 @@ UTF8ToISO8859x(unsigned char* out, int *outlen,
while (in < inend) {
unsigned char d = *in++;
if (d < 0x80) {
- *out++ = d;
+ *out++ = d;
} else if (d < 0xC0) {
/* trailing byte in leading position */
*outlen = out - outstart;
- *inlen = in - instart - 1;
+ *inlen = processed - instart;
return(-2);
} else if (d < 0xE0) {
unsigned char c;
if (!(in < inend)) {
/* trailing byte not in input buffer */
*outlen = out - outstart;
- *inlen = in - instart - 1;
- return(-2);
+ *inlen = processed - instart;
+ return(-3);
}
c = *in++;
if ((c & 0xC0) != 0x80) {
/* not a trailing byte */
*outlen = out - outstart;
- *inlen = in - instart - 2;
+ *inlen = processed - instart;
return(-2);
}
- c = c & 0x3F;
+ c = c & 0x3F;
d = d & 0x1F;
d = xlattable [48 + c + xlattable [d] * 64];
if (d == 0) {
/* not in character set */
*outlen = out - outstart;
- *inlen = in - instart - 2;
+ *inlen = processed - instart;
return(-2);
}
- *out++ = d;
+ *out++ = d;
} else if (d < 0xF0) {
unsigned char c1;
unsigned char c2;
if (!(in < inend - 1)) {
/* trailing bytes not in input buffer */
*outlen = out - outstart;
- *inlen = in - instart - 1;
- return(-2);
+ *inlen = processed - instart;
+ return(-3);
}
c1 = *in++;
if ((c1 & 0xC0) != 0x80) {
/* not a trailing byte (c1) */
*outlen = out - outstart;
- *inlen = in - instart - 2;
+ *inlen = processed - instart;
return(-2);
}
c2 = *in++;
if ((c2 & 0xC0) != 0x80) {
/* not a trailing byte (c2) */
*outlen = out - outstart;
- *inlen = in - instart - 2;
+ *inlen = processed - instart;
return(-2);
}
- c1 = c1 & 0x3F;
- c2 = c2 & 0x3F;
+ c1 = c1 & 0x3F;
+ c2 = c2 & 0x3F;
d = d & 0x0F;
- d = xlattable [48 + c2 + xlattable [48 + c1 +
- xlattable [32 + d] * 64] * 64];
+ d = xlattable [48 + c2 + xlattable [48 + c1 +
+ xlattable [32 + d] * 64] * 64];
if (d == 0) {
/* not in character set */
*outlen = out - outstart;
- *inlen = in - instart - 3;
+ *inlen = processed - instart;
return(-2);
}
- *out++ = d;
+ *out++ = d;
} else {
/* cannot transcode >= U+010000 */
*outlen = out - outstart;
- *inlen = in - instart - 1;
+ *inlen = processed - instart;
return(-2);
}
+ processed = in;
}
*outlen = out - outstart;
- *inlen = in - instart;
+ *inlen = processed - instart;
return(*outlen);
}
@@ -2370,16 +3162,16 @@ ISO8859xToUTF8(unsigned char* out, int *outlen,
outend = out + *outlen;
inend = in + *inlen;
instop = inend;
- c = *in;
- while (in < inend && out < outend - 1) {
- if (c >= 0x80) {
- c = unicodetable [c - 0x80];
+
+ while ((in < inend) && (out < outend - 2)) {
+ if (*in >= 0x80) {
+ c = unicodetable [*in - 0x80];
if (c == 0) {
/* undefined code point */
*outlen = out - outstart;
*inlen = in - instart;
return (-1);
- }
+ }
if (c < 0x800) {
*out++ = ((c >> 6) & 0x1F) | 0xC0;
*out++ = (c & 0x3F) | 0x80;
@@ -2387,48 +3179,47 @@ ISO8859xToUTF8(unsigned char* out, int *outlen,
*out++ = ((c >> 12) & 0x0F) | 0xE0;
*out++ = ((c >> 6) & 0x3F) | 0x80;
*out++ = (c & 0x3F) | 0x80;
- }
+ }
++in;
- c = *in;
}
- if (instop - in > outend - out) instop = in + (outend - out);
- while (c < 0x80 && in < instop) {
- *out++ = c;
- ++in;
- c = *in;
+ if (instop - in > outend - out) instop = in + (outend - out);
+ while ((*in < 0x80) && (in < instop)) {
+ *out++ = *in++;
}
- }
- if (in < inend && out < outend && c < 0x80) {
- *out++ = c;
- ++in;
+ }
+ if ((in < inend) && (out < outend) && (*in < 0x80)) {
+ *out++ = *in++;
+ }
+ if ((in < inend) && (out < outend) && (*in < 0x80)) {
+ *out++ = *in++;
}
*outlen = out - outstart;
*inlen = in - instart;
return (*outlen);
}
-
+
/************************************************************************
* Lookup tables for ISO-8859-2..ISO-8859-16 transcoding *
************************************************************************/
static unsigned short const xmlunicodetable_ISO8859_2 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,
- 0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
- 0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,
- 0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,
- 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
- 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
- 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
- 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
- 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
- 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
- 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
- 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,
+ 0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
+ 0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,
+ 0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,
+ 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
+ 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
+ 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
+ 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
+ 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
+ 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
+ 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
+ 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9,
};
static unsigned char const xmltranscodetable_ISO8859_2 [48 + 6 * 64] = {
@@ -2462,22 +3253,22 @@ static unsigned char const xmltranscodetable_ISO8859_2 [48 + 6 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_3 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x0000, 0x0124, 0x00a7,
- 0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x0000, 0x017b,
- 0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,
- 0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x0000, 0x017c,
- 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x010a, 0x0108, 0x00c7,
- 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
- 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,
- 0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,
- 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x010b, 0x0109, 0x00e7,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,
- 0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x0000, 0x0124, 0x00a7,
+ 0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x0000, 0x017b,
+ 0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,
+ 0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x0000, 0x017c,
+ 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x010a, 0x0108, 0x00c7,
+ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
+ 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,
+ 0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,
+ 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x010b, 0x0109, 0x00e7,
+ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
+ 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,
+ 0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9,
};
static unsigned char const xmltranscodetable_ISO8859_3 [48 + 7 * 64] = {
@@ -2515,22 +3306,22 @@ static unsigned char const xmltranscodetable_ISO8859_3 [48 + 7 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_4 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,
- 0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,
- 0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,
- 0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,
- 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
- 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,
- 0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
- 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,
- 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
- 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,
- 0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
- 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,
+ 0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,
+ 0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,
+ 0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,
+ 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
+ 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,
+ 0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
+ 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,
+ 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
+ 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,
+ 0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
+ 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9,
};
static unsigned char const xmltranscodetable_ISO8859_4 [48 + 6 * 64] = {
@@ -2564,22 +3355,22 @@ static unsigned char const xmltranscodetable_ISO8859_4 [48 + 6 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_5 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
- 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,
- 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
- 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
- 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
- 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
- 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
- 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
- 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
- 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
- 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
- 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
+ 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,
+ 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
+ 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
+ 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
+ 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
+ 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
+ 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
+ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
+ 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
+ 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
+ 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f,
};
static unsigned char const xmltranscodetable_ISO8859_5 [48 + 6 * 64] = {
@@ -2613,22 +3404,22 @@ static unsigned char const xmltranscodetable_ISO8859_5 [48 + 6 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_6 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x060c, 0x00ad, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x061b, 0x0000, 0x0000, 0x0000, 0x061f,
- 0x0000, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
- 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
- 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,
- 0x0638, 0x0639, 0x063a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
- 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
- 0x0650, 0x0651, 0x0652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x060c, 0x00ad, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x061b, 0x0000, 0x0000, 0x0000, 0x061f,
+ 0x0000, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
+ 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
+ 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,
+ 0x0638, 0x0639, 0x063a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
+ 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
+ 0x0650, 0x0651, 0x0652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
static unsigned char const xmltranscodetable_ISO8859_6 [48 + 5 * 64] = {
@@ -2658,22 +3449,22 @@ static unsigned char const xmltranscodetable_ISO8859_6 [48 + 5 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_7 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x2018, 0x2019, 0x00a3, 0x0000, 0x0000, 0x00a6, 0x00a7,
- 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x0000, 0x2015,
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,
- 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
- 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
- 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
- 0x03a0, 0x03a1, 0x0000, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
- 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
- 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
- 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
- 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
- 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x0000,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x2018, 0x2019, 0x00a3, 0x0000, 0x0000, 0x00a6, 0x00a7,
+ 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x0000, 0x2015,
+ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,
+ 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
+ 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
+ 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
+ 0x03a0, 0x03a1, 0x0000, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
+ 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
+ 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
+ 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
+ 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
+ 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x0000,
};
static unsigned char const xmltranscodetable_ISO8859_7 [48 + 7 * 64] = {
@@ -2711,22 +3502,22 @@ static unsigned char const xmltranscodetable_ISO8859_7 [48 + 7 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_8 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
- 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
- 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2017,
- 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
- 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
- 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
- 0x05e8, 0x05e9, 0x05ea, 0x0000, 0x0000, 0x200e, 0x200f, 0x0000,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
+ 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
+ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
+ 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2017,
+ 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
+ 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
+ 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
+ 0x05e8, 0x05e9, 0x05ea, 0x0000, 0x0000, 0x200e, 0x200f, 0x0000,
};
static unsigned char const xmltranscodetable_ISO8859_8 [48 + 7 * 64] = {
@@ -2764,22 +3555,22 @@ static unsigned char const xmltranscodetable_ISO8859_8 [48 + 7 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_9 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
- 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
- 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
- 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
- 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
- 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
- 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
- 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
- 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
+ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
+ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
+ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
+ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
+ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
+ 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
+ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
+ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
+ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
+ 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
+ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff,
};
static unsigned char const xmltranscodetable_ISO8859_9 [48 + 5 * 64] = {
@@ -2809,22 +3600,22 @@ static unsigned char const xmltranscodetable_ISO8859_9 [48 + 5 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_10 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,
- 0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,
- 0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,
- 0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,
- 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
- 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,
- 0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,
- 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
- 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
- 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,
- 0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,
- 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,
+ 0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,
+ 0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,
+ 0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,
+ 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
+ 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,
+ 0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,
+ 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
+ 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
+ 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,
+ 0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,
+ 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138,
};
static unsigned char const xmltranscodetable_ISO8859_10 [48 + 7 * 64] = {
@@ -2862,22 +3653,22 @@ static unsigned char const xmltranscodetable_ISO8859_10 [48 + 7 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_11 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,
- 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
- 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,
- 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
- 0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,
- 0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
- 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
- 0x0e38, 0x0e39, 0x0e3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e3f,
- 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
- 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
- 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
- 0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,
+ 0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
+ 0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,
+ 0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
+ 0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,
+ 0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
+ 0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
+ 0x0e38, 0x0e39, 0x0e3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e3f,
+ 0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
+ 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
+ 0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
+ 0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x0000, 0x0000, 0x0000, 0x0000,
};
static unsigned char const xmltranscodetable_ISO8859_11 [48 + 6 * 64] = {
@@ -2911,22 +3702,22 @@ static unsigned char const xmltranscodetable_ISO8859_11 [48 + 6 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_13 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,
- 0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,
- 0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
- 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
- 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
- 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
- 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
- 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
- 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
- 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
- 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,
+ 0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
+ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,
+ 0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
+ 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
+ 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
+ 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
+ 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
+ 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
+ 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
+ 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
+ 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019,
};
static unsigned char const xmltranscodetable_ISO8859_13 [48 + 7 * 64] = {
@@ -2964,22 +3755,22 @@ static unsigned char const xmltranscodetable_ISO8859_13 [48 + 7 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_14 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,
- 0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,
- 0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,
- 0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,
- 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
- 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
- 0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,
- 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,
- 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,
- 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,
+ 0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,
+ 0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,
+ 0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,
+ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
+ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
+ 0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,
+ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,
+ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
+ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
+ 0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,
+ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff,
};
static unsigned char const xmltranscodetable_ISO8859_14 [48 + 10 * 64] = {
@@ -3029,22 +3820,22 @@ static unsigned char const xmltranscodetable_ISO8859_14 [48 + 10 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_15 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,
- 0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,
- 0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,
- 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
- 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
- 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
- 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
- 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
- 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,
+ 0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
+ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,
+ 0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,
+ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
+ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
+ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
+ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
+ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
+ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
+ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
+ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
};
static unsigned char const xmltranscodetable_ISO8859_15 [48 + 6 * 64] = {
@@ -3078,22 +3869,22 @@ static unsigned char const xmltranscodetable_ISO8859_15 [48 + 6 * 64] = {
};
static unsigned short const xmlunicodetable_ISO8859_16 [128] = {
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
- 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
- 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
- 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
- 0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,
- 0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,
- 0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,
- 0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,
- 0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,
- 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
- 0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,
- 0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,
- 0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
- 0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,
- 0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff,
+ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+ 0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,
+ 0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,
+ 0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,
+ 0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,
+ 0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,
+ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
+ 0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,
+ 0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,
+ 0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,
+ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
+ 0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,
+ 0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff,
};
static unsigned char const xmltranscodetable_ISO8859_16 [48 + 9 * 64] = {
@@ -3292,4 +4083,3 @@ xmlRegisterCharEncodingHandlersISO8859x (void) {
#define bottom_encoding
#include "elfgcchack.h"
-
diff --git a/gettext-tools/gnulib-lib/libxml/encoding.in.h b/gettext-tools/gnulib-lib/libxml/encoding.in.h
index c74b25f..7967cc6 100644
--- a/gettext-tools/gnulib-lib/libxml/encoding.in.h
+++ b/gettext-tools/gnulib-lib/libxml/encoding.in.h
@@ -27,6 +27,9 @@
#ifdef LIBXML_ICONV_ENABLED
#include <iconv.h>
#endif
+#ifdef LIBXML_ICU_ENABLED
+#include <unicode/ucnv.h>
+#endif
#ifdef __cplusplus
extern "C" {
#endif
@@ -125,6 +128,13 @@ typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
* Block defining the handlers for non UTF-8 encodings.
* If iconv is supported, there are two extra fields.
*/
+#ifdef LIBXML_ICU_ENABLED
+struct _uconv_t {
+ UConverter *uconv; /* for conversion between an encoding and UTF-16 */
+ UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
+};
+typedef struct _uconv_t uconv_t;
+#endif
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
@@ -136,6 +146,10 @@ struct _xmlCharEncodingHandler {
iconv_t iconv_in;
iconv_t iconv_out;
#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+ uconv_t *uconv_in;
+ uconv_t *uconv_out;
+#endif /* LIBXML_ICU_ENABLED */
};
#ifdef __cplusplus
@@ -149,32 +163,32 @@ extern "C" {
/*
* Interfaces for encoding handlers.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlInitCharEncodingHandlers (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupCharEncodingHandlers (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
xmlGetCharEncodingHandler (xmlCharEncoding enc);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
xmlFindCharEncodingHandler (const char *name);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
- xmlNewCharEncodingHandler (const char *name,
- xmlCharEncodingInputFunc input,
- xmlCharEncodingOutputFunc output);
+ xmlNewCharEncodingHandler (const char *name,
+ xmlCharEncodingInputFunc input,
+ xmlCharEncodingOutputFunc output);
/*
* Interfaces for encoding names and aliases.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlAddEncodingAlias (const char *name,
const char *alias);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlDelEncodingAlias (const char *alias);
XMLPUBFUN const char * XMLCALL
xmlGetEncodingAlias (const char *alias);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupEncodingAliases (void);
XMLPUBFUN xmlCharEncoding XMLCALL
xmlParseCharEncoding (const char *name);
@@ -188,12 +202,12 @@ XMLPUBFUN xmlCharEncoding XMLCALL
xmlDetectCharEncoding (const unsigned char *in,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCharEncOutFunc (xmlCharEncodingHandler *handler,
xmlBufferPtr out,
xmlBufferPtr in);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCharEncInFunc (xmlCharEncodingHandler *handler,
xmlBufferPtr out,
xmlBufferPtr in);
@@ -201,20 +215,20 @@ XMLPUBFUN int XMLCALL
xmlCharEncFirstLine (xmlCharEncodingHandler *handler,
xmlBufferPtr out,
xmlBufferPtr in);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCharEncCloseFunc (xmlCharEncodingHandler *handler);
/*
* Export a few useful functions
*/
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
UTF8Toisolat1 (unsigned char *out,
int *outlen,
const unsigned char *in,
int *inlen);
#endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
isolat1ToUTF8 (unsigned char *out,
int *outlen,
const unsigned char *in,
diff --git a/gettext-tools/gnulib-lib/libxml/entities.c b/gettext-tools/gnulib-lib/libxml/entities.c
index 91a3978..a72afb3 100644
--- a/gettext-tools/gnulib-lib/libxml/entities.c
+++ b/gettext-tools/gnulib-lib/libxml/entities.c
@@ -22,41 +22,43 @@
#include <libxml/globals.h>
#include <libxml/dict.h>
+#include "save.h"
+
/*
* The XML predefined entities.
*/
static xmlEntity xmlEntityLt = {
NULL, XML_ENTITY_DECL, BAD_CAST "lt",
- NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,
BAD_CAST "<", BAD_CAST "<", 1,
XML_INTERNAL_PREDEFINED_ENTITY,
NULL, NULL, NULL, NULL, 0, 1
};
static xmlEntity xmlEntityGt = {
NULL, XML_ENTITY_DECL, BAD_CAST "gt",
- NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,
BAD_CAST ">", BAD_CAST ">", 1,
XML_INTERNAL_PREDEFINED_ENTITY,
NULL, NULL, NULL, NULL, 0, 1
};
static xmlEntity xmlEntityAmp = {
NULL, XML_ENTITY_DECL, BAD_CAST "amp",
- NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,
BAD_CAST "&", BAD_CAST "&", 1,
XML_INTERNAL_PREDEFINED_ENTITY,
NULL, NULL, NULL, NULL, 0, 1
};
static xmlEntity xmlEntityQuot = {
NULL, XML_ENTITY_DECL, BAD_CAST "quot",
- NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,
BAD_CAST "\"", BAD_CAST "\"", 1,
XML_INTERNAL_PREDEFINED_ENTITY,
NULL, NULL, NULL, NULL, 0, 1
};
static xmlEntity xmlEntityApos = {
NULL, XML_ENTITY_DECL, BAD_CAST "apos",
- NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL,
BAD_CAST "'", BAD_CAST "'", 1,
XML_INTERNAL_PREDEFINED_ENTITY,
NULL, NULL, NULL, NULL, 0, 1
@@ -139,45 +141,19 @@ xmlFreeEntity(xmlEntityPtr entity)
}
/*
- * xmlAddEntity : register a new entity for an entities table.
+ * xmlCreateEntity:
+ *
+ * internal routine doing the entity node strutures allocations
*/
static xmlEntityPtr
-xmlAddEntity(xmlDtdPtr dtd, const xmlChar *name, int type,
- const xmlChar *ExternalID, const xmlChar *SystemID,
- const xmlChar *content) {
- xmlDictPtr dict = NULL;
- xmlEntitiesTablePtr table = NULL;
+xmlCreateEntity(xmlDictPtr dict, const xmlChar *name, int type,
+ const xmlChar *ExternalID, const xmlChar *SystemID,
+ const xmlChar *content) {
xmlEntityPtr ret;
- if (name == NULL)
- return(NULL);
- if (dtd == NULL)
- return(NULL);
- if (dtd->doc != NULL)
- dict = dtd->doc->dict;
-
- switch (type) {
- case XML_INTERNAL_GENERAL_ENTITY:
- case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
- case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
- if (dtd->entities == NULL)
- dtd->entities = xmlHashCreateDict(0, dict);
- table = dtd->entities;
- break;
- case XML_INTERNAL_PARAMETER_ENTITY:
- case XML_EXTERNAL_PARAMETER_ENTITY:
- if (dtd->pentities == NULL)
- dtd->pentities = xmlHashCreateDict(0, dict);
- table = dtd->pentities;
- break;
- case XML_INTERNAL_PREDEFINED_ENTITY:
- return(NULL);
- }
- if (table == NULL)
- return(NULL);
ret = (xmlEntityPtr) xmlMalloc(sizeof(xmlEntity));
if (ret == NULL) {
- xmlEntitiesErrMemory("xmlAddEntity:: malloc failed");
+ xmlEntitiesErrMemory("xmlCreateEntity: malloc failed");
return(NULL);
}
memset(ret, 0, sizeof(xmlEntity));
@@ -216,6 +192,50 @@ xmlAddEntity(xmlDtdPtr dtd, const xmlChar *name, int type,
the defining entity */
ret->orig = NULL;
ret->owner = 0;
+
+ return(ret);
+}
+
+/*
+ * xmlAddEntity : register a new entity for an entities table.
+ */
+static xmlEntityPtr
+xmlAddEntity(xmlDtdPtr dtd, const xmlChar *name, int type,
+ const xmlChar *ExternalID, const xmlChar *SystemID,
+ const xmlChar *content) {
+ xmlDictPtr dict = NULL;
+ xmlEntitiesTablePtr table = NULL;
+ xmlEntityPtr ret;
+
+ if (name == NULL)
+ return(NULL);
+ if (dtd == NULL)
+ return(NULL);
+ if (dtd->doc != NULL)
+ dict = dtd->doc->dict;
+
+ switch (type) {
+ case XML_INTERNAL_GENERAL_ENTITY:
+ case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
+ case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
+ if (dtd->entities == NULL)
+ dtd->entities = xmlHashCreateDict(0, dict);
+ table = dtd->entities;
+ break;
+ case XML_INTERNAL_PARAMETER_ENTITY:
+ case XML_EXTERNAL_PARAMETER_ENTITY:
+ if (dtd->pentities == NULL)
+ dtd->pentities = xmlHashCreateDict(0, dict);
+ table = dtd->pentities;
+ break;
+ case XML_INTERNAL_PREDEFINED_ENTITY:
+ return(NULL);
+ }
+ if (table == NULL)
+ return(NULL);
+ ret = xmlCreateEntity(dict, name, type, ExternalID, SystemID, content);
+ if (ret == NULL)
+ return(NULL);
ret->doc = dtd->doc;
if (xmlHashAddEntry(table, name, ret)) {
@@ -363,6 +383,44 @@ xmlAddDocEntity(xmlDocPtr doc, const xmlChar *name, int type,
}
/**
+ * xmlNewEntity:
+ * @doc: the document
+ * @name: the entity name
+ * @type: the entity type XML_xxx_yyy_ENTITY
+ * @ExternalID: the entity external ID if available
+ * @SystemID: the entity system ID if available
+ * @content: the entity content
+ *
+ * Create a new entity, this differs from xmlAddDocEntity() that if
+ * the document is NULL or has no internal subset defined, then an
+ * unlinked entity structure will be returned, it is then the responsability
+ * of the caller to link it to the document later or free it when not needed
+ * anymore.
+ *
+ * Returns a pointer to the entity or NULL in case of error
+ */
+xmlEntityPtr
+xmlNewEntity(xmlDocPtr doc, const xmlChar *name, int type,
+ const xmlChar *ExternalID, const xmlChar *SystemID,
+ const xmlChar *content) {
+ xmlEntityPtr ret;
+ xmlDictPtr dict;
+
+ if ((doc != NULL) && (doc->intSubset != NULL)) {
+ return(xmlAddDocEntity(doc, name, type, ExternalID, SystemID, content));
+ }
+ if (doc != NULL)
+ dict = doc->dict;
+ else
+ dict = NULL;
+ ret = xmlCreateEntity(dict, name, type, ExternalID, SystemID, content);
+ if (ret == NULL)
+ return(NULL);
+ ret->doc = doc;
+ return(ret);
+}
+
+/**
* xmlGetEntityFromTable:
* @table: an entity table
* @name: the entity name
@@ -370,7 +428,7 @@ xmlAddDocEntity(xmlDocPtr doc, const xmlChar *name, int type,
*
* Do an entity lookup in the table.
* returns the corresponding parameter entity, if found.
- *
+ *
* Returns A pointer to the entity structure or NULL if not found.
*/
static xmlEntityPtr
@@ -385,7 +443,7 @@ xmlGetEntityFromTable(xmlEntitiesTablePtr table, const xmlChar *name) {
*
* Do an entity lookup in the internal and external subsets and
* returns the corresponding parameter entity, if found.
- *
+ *
* Returns A pointer to the entity structure or NULL if not found.
*/
xmlEntityPtr
@@ -416,7 +474,7 @@ xmlGetParameterEntity(xmlDocPtr doc, const xmlChar *name) {
* Do an entity lookup in the DTD entity hash table and
* returns the corresponding entity, if found.
* Note: the first argument is the document node, not the DTD node.
- *
+ *
* Returns A pointer to the entity structure or NULL if not found.
*/
xmlEntityPtr
@@ -440,11 +498,11 @@ xmlGetDtdEntity(xmlDocPtr doc, const xmlChar *name) {
* Do an entity lookup in the document entity hash table and
* returns the corresponding entity, otherwise a lookup is done
* in the predefined entities too.
- *
+ *
* Returns A pointer to the entity structure or NULL if not found.
*/
xmlEntityPtr
-xmlGetDocEntity(xmlDocPtr doc, const xmlChar *name) {
+xmlGetDocEntity(const xmlDoc *doc, const xmlChar *name) {
xmlEntityPtr cur;
xmlEntitiesTablePtr table;
@@ -472,20 +530,20 @@ xmlGetDocEntity(xmlDocPtr doc, const xmlChar *name) {
* Macro used to grow the current buffer.
*/
#define growBufferReentrant() { \
- buffer_size *= 2; \
- buffer = (xmlChar *) \
- xmlRealloc(buffer, buffer_size * sizeof(xmlChar)); \
- if (buffer == NULL) { \
- xmlEntitiesErrMemory("xmlEncodeEntitiesReentrant: realloc failed");\
- return(NULL); \
- } \
+ xmlChar *tmp; \
+ size_t new_size = buffer_size * 2; \
+ if (new_size < buffer_size) goto mem_error; \
+ tmp = (xmlChar *) xmlRealloc(buffer, new_size); \
+ if (tmp == NULL) goto mem_error; \
+ buffer = tmp; \
+ buffer_size = new_size; \
}
-
/**
- * xmlEncodeEntitiesReentrant:
+ * xmlEncodeEntitiesInternal:
* @doc: the document containing the string
* @input: A string to convert to XML.
+ * @attr: are we handling an atrbute value
*
* Do a global encoding of a string, replacing the predefined entities
* and non ASCII values with their entities and CharRef counterparts.
@@ -494,12 +552,12 @@ xmlGetDocEntity(xmlDocPtr doc, const xmlChar *name) {
*
* Returns A newly allocated string with the substitution done.
*/
-xmlChar *
-xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
+static xmlChar *
+xmlEncodeEntitiesInternal(xmlDocPtr doc, const xmlChar *input, int attr) {
const xmlChar *cur = input;
xmlChar *buffer = NULL;
xmlChar *out = NULL;
- int buffer_size = 0;
+ size_t buffer_size = 0;
int html = 0;
if (input == NULL) return(NULL);
@@ -512,14 +570,14 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
buffer_size = 1000;
buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
if (buffer == NULL) {
- xmlEntitiesErrMemory("xmlEncodeEntitiesReentrant: malloc failed");
+ xmlEntitiesErrMemory("xmlEncodeEntities: malloc failed");
return(NULL);
}
out = buffer;
while (*cur != '\0') {
- if (out - buffer > buffer_size - 100) {
- int indx = out - buffer;
+ size_t indx = out - buffer;
+ if (indx + 100 > buffer_size) {
growBufferReentrant();
out = &buffer[indx];
@@ -529,6 +587,27 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
* By default one have to encode at least '<', '>', '"' and '&' !
*/
if (*cur == '<') {
+ const xmlChar *end;
+
+ /*
+ * Special handling of server side include in HTML attributes
+ */
+ if (html && attr &&
+ (cur[1] == '!') && (cur[2] == '-') && (cur[3] == '-') &&
+ ((end = xmlStrstr(cur, BAD_CAST "-->")) != NULL)) {
+ while (cur != end) {
+ *out++ = *cur++;
+ indx = out - buffer;
+ if (indx + 100 > buffer_size) {
+ growBufferReentrant();
+ out = &buffer[indx];
+ }
+ }
+ *out++ = *cur++;
+ *out++ = *cur++;
+ *out++ = *cur++;
+ continue;
+ }
*out++ = '&';
*out++ = 'l';
*out++ = 't';
@@ -539,6 +618,23 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
*out++ = 't';
*out++ = ';';
} else if (*cur == '&') {
+ /*
+ * Special handling of &{...} construct from HTML 4, see
+ * http://www.w3.org/TR/html401/appendix/notes.html#h-B.7.1
+ */
+ if (html && attr && (cur[1] == '{') &&
+ (strchr((const char *) cur, '}'))) {
+ while (*cur != '}') {
+ *out++ = *cur++;
+ indx = out - buffer;
+ if (indx + 100 > buffer_size) {
+ growBufferReentrant();
+ out = &buffer[indx];
+ }
+ }
+ *out++ = *cur++;
+ continue;
+ }
*out++ = '&';
*out++ = 'a';
*out++ = 'm';
@@ -553,7 +649,7 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
} else if (*cur >= 0x80) {
if (((doc != NULL) && (doc->encoding != NULL)) || (html)) {
/*
- * Bjørn Reese <br@sseusa.com> provided the patch
+ * Bjørn Reese <br@sseusa.com> provided the patch
xmlChar xc;
xc = (*cur & 0x3F) << 6;
if (cur[1] != 0) {
@@ -571,7 +667,7 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
if (*cur < 0xC0) {
xmlEntitiesErr(XML_CHECK_NOT_UTF8,
- "xmlEncodeEntitiesReentrant : input not UTF-8");
+ "xmlEncodeEntities: input not UTF-8");
if (doc != NULL)
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
snprintf(buf, sizeof(buf), "&#%d;", *cur);
@@ -604,7 +700,7 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
}
if ((l == 1) || (!IS_CHAR(val))) {
xmlEntitiesErr(XML_ERR_INVALID_CHAR,
- "xmlEncodeEntitiesReentrant : char out of range\n");
+ "xmlEncodeEntities: char out of range\n");
if (doc != NULL)
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
snprintf(buf, sizeof(buf), "&#%d;", *cur);
@@ -634,8 +730,46 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
}
cur++;
}
- *out++ = 0;
+ *out = 0;
return(buffer);
+
+mem_error:
+ xmlEntitiesErrMemory("xmlEncodeEntities: realloc failed");
+ xmlFree(buffer);
+ return(NULL);
+}
+
+/**
+ * xmlEncodeAttributeEntities:
+ * @doc: the document containing the string
+ * @input: A string to convert to XML.
+ *
+ * Do a global encoding of a string, replacing the predefined entities
+ * and non ASCII values with their entities and CharRef counterparts for
+ * attribute values.
+ *
+ * Returns A newly allocated string with the substitution done.
+ */
+xmlChar *
+xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input) {
+ return xmlEncodeEntitiesInternal(doc, input, 1);
+}
+
+/**
+ * xmlEncodeEntitiesReentrant:
+ * @doc: the document containing the string
+ * @input: A string to convert to XML.
+ *
+ * Do a global encoding of a string, replacing the predefined entities
+ * and non ASCII values with their entities and CharRef counterparts.
+ * Contrary to xmlEncodeEntities, this routine is reentrant, and result
+ * must be deallocated.
+ *
+ * Returns A newly allocated string with the substitution done.
+ */
+xmlChar *
+xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
+ return xmlEncodeEntitiesInternal(doc, input, 0);
}
/**
@@ -649,11 +783,11 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
* Returns A newly allocated string with the substitution done.
*/
xmlChar *
-xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
+xmlEncodeSpecialChars(const xmlDoc *doc ATTRIBUTE_UNUSED, const xmlChar *input) {
const xmlChar *cur = input;
xmlChar *buffer = NULL;
xmlChar *out = NULL;
- int buffer_size = 0;
+ size_t buffer_size = 0;
if (input == NULL) return(NULL);
/*
@@ -668,8 +802,8 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
out = buffer;
while (*cur != '\0') {
- if (out - buffer > buffer_size - 10) {
- int indx = out - buffer;
+ size_t indx = out - buffer;
+ if (indx + 10 > buffer_size) {
growBufferReentrant();
out = &buffer[indx];
@@ -716,8 +850,13 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
}
cur++;
}
- *out++ = 0;
+ *out = 0;
return(buffer);
+
+mem_error:
+ xmlEntitiesErrMemory("xmlEncodeSpecialChars: realloc failed");
+ xmlFree(buffer);
+ return(NULL);
}
/**
@@ -764,7 +903,7 @@ xmlFreeEntitiesTable(xmlEntitiesTablePtr table) {
* @ent: An entity
*
* Build a copy of an entity
- *
+ *
* Returns the new xmlEntitiesPtr or NULL in case of error.
*/
static xmlEntityPtr
@@ -800,7 +939,7 @@ xmlCopyEntity(xmlEntityPtr ent) {
* @table: An entity table
*
* Build a copy of an entity table.
- *
+ *
* Returns the new xmlEntitiesTablePtr or NULL in case of error.
*/
xmlEntitiesTablePtr
@@ -949,7 +1088,7 @@ static void
xmlDumpEntityDeclScan(xmlEntityPtr ent, xmlBufferPtr buf) {
xmlDumpEntityDecl(buf, ent);
}
-
+
/**
* xmlDumpEntitiesTable:
* @buf: An XML buffer.
diff --git a/gettext-tools/gnulib-lib/libxml/entities.in.h b/gettext-tools/gnulib-lib/libxml/entities.in.h
index fdd7222..47b4573 100644
--- a/gettext-tools/gnulib-lib/libxml/entities.in.h
+++ b/gettext-tools/gnulib-lib/libxml/entities.in.h
@@ -57,6 +57,9 @@ struct _xmlEntity {
const xmlChar *URI; /* the full URI as computed */
int owner; /* does the entity own the childrens */
int checked; /* was the entity content checked */
+ /* this is also used to count entities
+ * references done from that entity
+ * and if it contains '<' */
};
/*
@@ -72,9 +75,17 @@ typedef xmlEntitiesTable *xmlEntitiesTablePtr;
*/
#ifdef LIBXML_LEGACY_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlInitializePredefinedEntities (void);
#endif /* LIBXML_LEGACY_ENABLED */
+
+XMLPUBFUN xmlEntityPtr XMLCALL
+ xmlNewEntity (xmlDocPtr doc,
+ const xmlChar *name,
+ int type,
+ const xmlChar *ExternalID,
+ const xmlChar *SystemID,
+ const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
xmlAddDocEntity (xmlDocPtr doc,
const xmlChar *name,
@@ -82,53 +93,53 @@ XMLPUBFUN xmlEntityPtr XMLCALL
const xmlChar *ExternalID,
const xmlChar *SystemID,
const xmlChar *content);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlAddDtdEntity (xmlDocPtr doc,
const xmlChar *name,
int type,
const xmlChar *ExternalID,
const xmlChar *SystemID,
const xmlChar *content);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlGetPredefinedEntity (const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
- xmlGetDocEntity (xmlDocPtr doc,
+XMLPUBFUN xmlEntityPtr XMLCALL
+ xmlGetDocEntity (const xmlDoc *doc,
const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlGetDtdEntity (xmlDocPtr doc,
const xmlChar *name);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlGetParameterEntity (xmlDocPtr doc,
const xmlChar *name);
#ifdef LIBXML_LEGACY_ENABLED
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlEncodeEntities (xmlDocPtr doc,
const xmlChar *input);
#endif /* LIBXML_LEGACY_ENABLED */
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlEncodeEntitiesReentrant(xmlDocPtr doc,
const xmlChar *input);
-XMLPUBFUN xmlChar * XMLCALL
- xmlEncodeSpecialChars (xmlDocPtr doc,
+XMLPUBFUN xmlChar * XMLCALL
+ xmlEncodeSpecialChars (const xmlDoc *doc,
const xmlChar *input);
-XMLPUBFUN xmlEntitiesTablePtr XMLCALL
+XMLPUBFUN xmlEntitiesTablePtr XMLCALL
xmlCreateEntitiesTable (void);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlEntitiesTablePtr XMLCALL
+XMLPUBFUN xmlEntitiesTablePtr XMLCALL
xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpEntitiesTable (xmlBufferPtr buf,
xmlEntitiesTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpEntityDecl (xmlBufferPtr buf,
xmlEntityPtr ent);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_LEGACY_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupPredefinedEntities(void);
#endif /* LIBXML_LEGACY_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/error.c b/gettext-tools/gnulib-lib/libxml/error.c
index 722ffbb..9c45040 100644
--- a/gettext-tools/gnulib-lib/libxml/error.c
+++ b/gettext-tools/gnulib-lib/libxml/error.c
@@ -31,9 +31,9 @@ void XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED,
\
size = 150; \
\
- while (1) { \
+ while (size < 64000) { \
va_start(ap, msg); \
- chars = vsnprintf(str, size, msg, ap); \
+ chars = vsnprintf(str, size, msg, ap); \
va_end(ap); \
if ((chars > -1) && (chars < size)) { \
if (prev_size == chars) { \
@@ -54,9 +54,9 @@ void XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED,
}
/************************************************************************
- * *
- * Handling of out of context errors *
- * *
+ * *
+ * Handling of out of context errors *
+ * *
************************************************************************/
/**
@@ -64,7 +64,7 @@ void XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED,
* @ctx: an error context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Default handler for out of context error messages.
*/
void XMLCDECL
@@ -82,7 +82,7 @@ xmlGenericErrorDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
/**
* initGenericErrorDefaultFunc:
* @handler: the handler
- *
+ *
* Set or reset (if NULL) the default handler for generic errors
* to the builtin error function.
*/
@@ -132,20 +132,20 @@ xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
*/
void
xmlSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
- xmlGenericErrorContext = ctx;
+ xmlStructuredErrorContext = ctx;
xmlStructuredError = handler;
}
/************************************************************************
- * *
- * Handling of parsing errors *
- * *
+ * *
+ * Handling of parsing errors *
+ * *
************************************************************************/
/**
* xmlParserPrintFileInfo:
* @input: an xmlParserInputPtr input
- *
+ *
* Displays the associated file and line informations for the current input
*/
@@ -165,19 +165,21 @@ xmlParserPrintFileInfo(xmlParserInputPtr input) {
/**
* xmlParserPrintFileContext:
* @input: an xmlParserInputPtr input
- *
+ *
* Displays current context within the input content for error tracking
*/
static void
-xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
+xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
xmlGenericErrorFunc channel, void *data ) {
const xmlChar *cur, *base;
unsigned int n, col; /* GCC warns if signed, because compared with sizeof() */
xmlChar content[81]; /* space for 80 chars + line terminator */
xmlChar *ctnt;
- if (input == NULL) return;
+ if ((input == NULL) || (input->cur == NULL) ||
+ (*input->cur == 0)) return;
+
cur = input->cur;
base = input->base;
/* skip backwards over any end-of-lines */
@@ -186,8 +188,8 @@ xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
}
n = 0;
/* search backwards for beginning-of-line (to max buff size) */
- while ((n++ < (sizeof(content)-1)) && (cur > base) &&
- (*(cur) != '\n') && (*(cur) != '\r'))
+ while ((n++ < (sizeof(content)-1)) && (cur > base) &&
+ (*(cur) != '\n') && (*(cur) != '\r'))
cur--;
if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
/* calculate the error position in terms of the current position */
@@ -196,8 +198,8 @@ xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
n = 0;
ctnt = content;
/* copy selected text to our buffer */
- while ((*cur != 0) && (*(cur) != '\n') &&
- (*(cur) != '\r') && (n < sizeof(content)-1)) {
+ while ((*cur != 0) && (*(cur) != '\n') &&
+ (*(cur) != '\r') && (n < sizeof(content)-1)) {
*ctnt++ = *cur++;
n++;
}
@@ -221,7 +223,7 @@ xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
/**
* xmlParserPrintFileContext:
* @input: an xmlParserInputPtr input
- *
+ *
* Displays current context within the input content for error tracking
*/
void
@@ -292,7 +294,10 @@ xmlReportError(xmlErrorPtr err, xmlParserCtxtPtr ctxt, const char *str,
} else {
if (file != NULL)
channel(data, "%s:%d: ", file, line);
- else if ((line != 0) && (domain == XML_FROM_PARSER))
+ else if ((line != 0) &&
+ ((domain == XML_FROM_PARSER) || (domain == XML_FROM_SCHEMASV)||
+ (domain == XML_FROM_SCHEMASP)||(domain == XML_FROM_DTD) ||
+ (domain == XML_FROM_RELAXNGP)||(domain == XML_FROM_RELAXNGV)))
channel(data, "Entity: line %d: ", line);
}
if (name != NULL) {
@@ -360,6 +365,15 @@ xmlReportError(xmlErrorPtr err, xmlParserCtxtPtr ctxt, const char *str,
case XML_FROM_I18N:
channel(data, "encoding ");
break;
+ case XML_FROM_SCHEMATRONV:
+ channel(data, "schematron ");
+ break;
+ case XML_FROM_BUFFER:
+ channel(data, "internal buffer ");
+ break;
+ case XML_FROM_URI:
+ channel(data, "URI ");
+ break;
default:
break;
}
@@ -429,7 +443,7 @@ xmlReportError(xmlErrorPtr err, xmlParserCtxtPtr ctxt, const char *str,
* @str2: extra string info
* @str3: extra string info
* @int1: extra int info
- * @col: column number of the error or 0 if N/A
+ * @col: column number of the error or 0 if N/A
* @msg: the message to display/transmit
* @...: extra parameters for the message display
*
@@ -452,6 +466,8 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
xmlErrorPtr to = &xmlLastError;
xmlNodePtr baseptr = NULL;
+ if (code == XML_ERR_OK)
+ return;
if ((xmlGetWarningsDefaultValue == 0) && (level == XML_ERR_WARNING))
return;
if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) ||
@@ -459,8 +475,11 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
(domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) {
ctxt = (xmlParserCtxtPtr) ctx;
if ((schannel == NULL) && (ctxt != NULL) && (ctxt->sax != NULL) &&
- (ctxt->sax->initialized == XML_SAX2_MAGIC))
+ (ctxt->sax->initialized == XML_SAX2_MAGIC) &&
+ (ctxt->sax->serror != NULL)) {
schannel = ctxt->sax->serror;
+ data = ctxt->userData;
+ }
}
/*
* Check if structured error handler set
@@ -471,18 +490,8 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
* if user has defined handler, change data ptr to user's choice
*/
if (schannel != NULL)
- data = xmlGenericErrorContext;
+ data = xmlStructuredErrorContext;
}
- if ((domain == XML_FROM_VALID) &&
- ((channel == xmlParserValidityError) ||
- (channel == xmlParserValidityWarning))) {
- ctxt = (xmlParserCtxtPtr) ctx;
- if ((schannel == NULL) && (ctxt != NULL) && (ctxt->sax != NULL) &&
- (ctxt->sax->initialized == XML_SAX2_MAGIC))
- schannel = ctxt->sax->serror;
- }
- if (code == XML_ERR_OK)
- return;
/*
* Formatting the message
*/
@@ -526,6 +535,8 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
line = node->line;
+ if ((line == 0) || (line == 65535))
+ line = xmlGetLineNo(node);
}
/*
@@ -573,7 +584,6 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
if ((to->file == NULL) && (node != NULL) && (node->doc != NULL)) {
to->file = (char *) xmlStrdup(node->doc->URL);
}
- file = to->file;
}
to->line = line;
if (str1 != NULL)
@@ -590,27 +600,28 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
if (to != &xmlLastError)
xmlCopyError(to,&xmlLastError);
+ if (schannel != NULL) {
+ schannel(data, to);
+ return;
+ }
+
/*
* Find the callback channel if channel param is NULL
*/
- if ((ctxt != NULL) && (channel == NULL) && (xmlStructuredError == NULL) && (ctxt->sax != NULL)) {
+ if ((ctxt != NULL) && (channel == NULL) &&
+ (xmlStructuredError == NULL) && (ctxt->sax != NULL)) {
if (level == XML_ERR_WARNING)
channel = ctxt->sax->warning;
else
channel = ctxt->sax->error;
data = ctxt->userData;
} else if (channel == NULL) {
- if (xmlStructuredError != NULL)
- schannel = xmlStructuredError;
- else
- channel = xmlGenericError;
- if (!data) {
- data = xmlGenericErrorContext;
- }
- }
- if (schannel != NULL) {
- schannel(data, to);
- return;
+ channel = xmlGenericError;
+ if (ctxt != NULL) {
+ data = ctxt;
+ } else {
+ data = xmlGenericErrorContext;
+ }
}
if (channel == NULL)
return;
@@ -662,7 +673,7 @@ __xmlSimpleError(int domain, int code, xmlNodePtr node,
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format an error messages, gives file, line, position and
* extra parameters.
*/
@@ -705,7 +716,7 @@ xmlParserError(void *ctx, const char *msg, ...)
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format a warning messages, gives file, line, position and
* extra parameters.
*/
@@ -726,7 +737,7 @@ xmlParserWarning(void *ctx, const char *msg, ...)
}
xmlParserPrintFileInfo(input);
}
-
+
xmlGenericError(xmlGenericErrorContext, "warning: ");
XML_GET_VAR_STR(msg, str);
xmlGenericError(xmlGenericErrorContext, "%s", str);
@@ -744,9 +755,9 @@ xmlParserWarning(void *ctx, const char *msg, ...)
}
/************************************************************************
- * *
- * Handling of validation errors *
- * *
+ * *
+ * Handling of validation errors *
+ * *
************************************************************************/
/**
@@ -754,7 +765,7 @@ xmlParserWarning(void *ctx, const char *msg, ...)
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format an validity error messages, gives file,
* line, position and extra parameters.
*/
@@ -772,7 +783,7 @@ xmlParserValidityError(void *ctx, const char *msg, ...)
input = ctxt->input;
if ((input->filename == NULL) && (ctxt->inputNr > 1))
input = ctxt->inputTab[ctxt->inputNr - 2];
-
+
if (had_info == 0) {
xmlParserPrintFileInfo(input);
}
@@ -798,7 +809,7 @@ xmlParserValidityError(void *ctx, const char *msg, ...)
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format a validity warning messages, gives file, line,
* position and extra parameters.
*/
@@ -817,7 +828,7 @@ xmlParserValidityWarning(void *ctx, const char *msg, ...)
xmlParserPrintFileInfo(input);
}
-
+
xmlGenericError(xmlGenericErrorContext, "validity warning: ");
XML_GET_VAR_STR(msg, str);
xmlGenericError(xmlGenericErrorContext, "%s", str);
@@ -927,6 +938,7 @@ xmlCtxtResetLastError(void *ctx)
if (ctxt == NULL)
return;
+ ctxt->errNo = XML_ERR_OK;
if (ctxt->lastError.code == XML_ERR_OK)
return;
xmlResetError(&ctxt->lastError);
diff --git a/gettext-tools/gnulib-lib/libxml/globals.c b/gettext-tools/gnulib-lib/libxml/globals.c
index c104a1a..e351b03 100644
--- a/gettext-tools/gnulib-lib/libxml/globals.c
+++ b/gettext-tools/gnulib-lib/libxml/globals.c
@@ -46,7 +46,8 @@ static xmlMutexPtr xmlThrDefMutex = NULL;
*/
void xmlInitGlobals(void)
{
- xmlThrDefMutex = xmlNewMutex();
+ if (xmlThrDefMutex == NULL)
+ xmlThrDefMutex = xmlNewMutex();
}
/**
@@ -60,12 +61,13 @@ void xmlCleanupGlobals(void)
xmlFreeMutex(xmlThrDefMutex);
xmlThrDefMutex = NULL;
}
+ __xmlGlobalInitMutexDestroy();
}
/************************************************************************
- * *
+ * *
* All the user accessible global variables of the library *
- * *
+ * *
************************************************************************/
/*
@@ -147,6 +149,7 @@ xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlStrdup;
#undef xmlGenericError
#undef xmlStructuredError
#undef xmlGenericErrorContext
+#undef xmlStructuredErrorContext
#undef xmlGetWarningsDefaultValue
#undef xmlIndentTreeOutput
#undef xmlTreeIndentString
@@ -243,7 +246,7 @@ static int xmlPedanticParserDefaultValueThrDef = 0;
* xmlLineNumbersDefaultValue:
*
* Global setting, indicate that the parser should store the line number
- * in the content field of elements in the DOM tree.
+ * in the content field of elements in the DOM tree.
* Disabled by default since this may not be safe for old classes of
* applicaton.
*/
@@ -313,6 +316,13 @@ static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL;
*/
void *xmlGenericErrorContext = NULL;
static void *xmlGenericErrorContextThrDef = NULL;
+/**
+ * xmlStructuredErrorContext:
+ *
+ * Global setting passed to structured error callbacks
+ */
+void *xmlStructuredErrorContext = NULL;
+static void *xmlStructuredErrorContextThrDef = NULL;
xmlError xmlLastError;
/*
@@ -499,7 +509,7 @@ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
#endif
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
#endif
@@ -513,7 +523,7 @@ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId;
gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber;
gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber;
- gs->xmlDoValidityCheckingDefaultValue =
+ gs->xmlDoValidityCheckingDefaultValue =
xmlDoValidityCheckingDefaultValueThrDef;
#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY)
gs->xmlFree = (xmlFreeFunc) xmlMemFree;
@@ -538,12 +548,13 @@ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
gs->xmlParserVersion = LIBXML_VERSION_STRING;
gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef;
gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef;
- gs->xmlSubstituteEntitiesDefaultValue =
+ gs->xmlSubstituteEntitiesDefaultValue =
xmlSubstituteEntitiesDefaultValueThrDef;
gs->xmlGenericError = xmlGenericErrorThrDef;
gs->xmlStructuredError = xmlStructuredErrorThrDef;
gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef;
+ gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef;
gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef;
gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef;
@@ -572,7 +583,7 @@ xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
void
xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
xmlMutexLock(xmlThrDefMutex);
- xmlGenericErrorContextThrDef = ctx;
+ xmlStructuredErrorContextThrDef = ctx;
xmlStructuredErrorThrDef = handler;
xmlMutexUnlock(xmlThrDefMutex);
}
@@ -589,7 +600,7 @@ xmlRegisterNodeFunc
xmlRegisterNodeDefault(xmlRegisterNodeFunc func)
{
xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue;
-
+
__xmlRegisterCallbacks = 1;
xmlRegisterNodeDefaultValue = func;
return(old);
@@ -599,10 +610,10 @@ xmlRegisterNodeFunc
xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func)
{
xmlRegisterNodeFunc old;
-
+
xmlMutexLock(xmlThrDefMutex);
old = xmlRegisterNodeDefaultValueThrDef;
-
+
__xmlRegisterCallbacks = 1;
xmlRegisterNodeDefaultValueThrDef = func;
xmlMutexUnlock(xmlThrDefMutex);
@@ -622,7 +633,7 @@ xmlDeregisterNodeFunc
xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func)
{
xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue;
-
+
__xmlRegisterCallbacks = 1;
xmlDeregisterNodeDefaultValue = func;
return(old);
@@ -635,7 +646,7 @@ xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func)
xmlMutexLock(xmlThrDefMutex);
old = xmlDeregisterNodeDefaultValueThrDef;
-
+
__xmlRegisterCallbacks = 1;
xmlDeregisterNodeDefaultValueThrDef = func;
xmlMutexUnlock(xmlThrDefMutex);
@@ -647,7 +658,7 @@ xmlParserInputBufferCreateFilenameFunc
xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func)
{
xmlParserInputBufferCreateFilenameFunc old;
-
+
xmlMutexLock(xmlThrDefMutex);
old = xmlParserInputBufferCreateFilenameValueThrDef;
if (old == NULL) {
@@ -664,7 +675,7 @@ xmlOutputBufferCreateFilenameFunc
xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func)
{
xmlOutputBufferCreateFilenameFunc old;
-
+
xmlMutexLock(xmlThrDefMutex);
old = xmlOutputBufferCreateFilenameValueThrDef;
#ifdef LIBXML_OUTPUT_ENABLED
@@ -721,7 +732,7 @@ __xmlMalloc(void){
if (IS_MAIN_THREAD)
return (&xmlMalloc);
else
- return (&xmlGetGlobalState()->xmlMalloc);
+ return (&xmlGetGlobalState()->xmlMalloc);
}
#undef xmlMallocAtomic
@@ -875,6 +886,15 @@ __xmlGenericErrorContext(void) {
return (&xmlGetGlobalState()->xmlGenericErrorContext);
}
+#undef xmlStructuredErrorContext
+void * *
+__xmlStructuredErrorContext(void) {
+ if (IS_MAIN_THREAD)
+ return (&xmlStructuredErrorContext);
+ else
+ return (&xmlGetGlobalState()->xmlStructuredErrorContext);
+}
+
#undef xmlGetWarningsDefaultValue
int *
__xmlGetWarningsDefaultValue(void) {
@@ -909,7 +929,7 @@ int xmlThrDefIndentTreeOutput(int v) {
return ret;
}
-#undef xmlTreeIndentString
+#undef xmlTreeIndentString
const char * *
__xmlTreeIndentString(void) {
if (IS_MAIN_THREAD)
diff --git a/gettext-tools/gnulib-lib/libxml/globals.in.h b/gettext-tools/gnulib-lib/libxml/globals.in.h
index 1173a8f..a9305aa 100644
--- a/gettext-tools/gnulib-lib/libxml/globals.in.h
+++ b/gettext-tools/gnulib-lib/libxml/globals.in.h
@@ -28,8 +28,36 @@ extern "C" {
XMLPUBFUN void XMLCALL xmlInitGlobals(void);
XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
-typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
-typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
+/**
+ * xmlParserInputBufferCreateFilenameFunc:
+ * @URI: the URI to read from
+ * @enc: the requested source encoding
+ *
+ * Signature for the function doing the lookup for a suitable input method
+ * corresponding to an URI.
+ *
+ * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
+ * method was found.
+ */
+typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
+ xmlCharEncoding enc);
+
+
+/**
+ * xmlOutputBufferCreateFilenameFunc:
+ * @URI: the URI to write to
+ * @enc: the requested target encoding
+ *
+ * Signature for the function doing the lookup for a suitable output method
+ * corresponding to an URI.
+ *
+ * Returns the new xmlOutputBufferPtr in case of success or NULL if no
+ * method was found.
+ */
+typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
+ xmlCharEncodingHandlerPtr encoder,
+ int compression);
+
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
XMLPUBFUN xmlOutputBufferCreateFilenameFunc
@@ -52,6 +80,7 @@ XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc
#undef xmlGenericError
#undef xmlStructuredError
#undef xmlGenericErrorContext
+#undef xmlStructuredErrorContext
#undef xmlGetWarningsDefaultValue
#undef xmlIndentTreeOutput
#undef xmlTreeIndentString
@@ -73,12 +102,24 @@ XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc
#undef xmlParserInputBufferCreateFilenameValue
#undef xmlOutputBufferCreateFilenameValue
+/**
+ * xmlRegisterNodeFunc:
+ * @node: the current node
+ *
+ * Signature for the registration callback of a created node
+ */
typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
+/**
+ * xmlDeregisterNodeFunc:
+ * @node: the current node
+ *
+ * Signature for the deregistration callback of a discarded node
+ */
typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
typedef struct _xmlGlobalState xmlGlobalState;
typedef xmlGlobalState *xmlGlobalStatePtr;
-struct _xmlGlobalState
+struct _xmlGlobalState
{
const char *xmlParserVersion;
@@ -114,14 +155,16 @@ struct _xmlGlobalState
int xmlIndentTreeOutput;
const char *xmlTreeIndentString;
- xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
- xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
+ xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
+ xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
xmlMallocFunc xmlMallocAtomic;
xmlError xmlLastError;
xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
+
+ void *xmlStructuredErrorContext;
};
#ifdef __cplusplus
@@ -143,10 +186,11 @@ XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNo
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
-XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
+XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
-XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
- xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
+ xmlThrDefParserInputBufferCreateFilenameDefault(
+ xmlParserInputBufferCreateFilenameFunc func);
/** DOC_DISABLE */
/*
@@ -258,7 +302,8 @@ XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
#else
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
#endif
-XMLPUBFUN xmlBufferAllocationScheme XMLCALL xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
+XMLPUBFUN xmlBufferAllocationScheme XMLCALL
+ xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);
XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
#ifdef LIBXML_THREAD_ENABLED
@@ -318,6 +363,14 @@ XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
XMLPUBVAR void * xmlGenericErrorContext;
#endif
+XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
+#ifdef LIBXML_THREAD_ENABLED
+#define xmlStructuredErrorContext \
+(*(__xmlStructuredErrorContext()))
+#else
+XMLPUBVAR void * xmlStructuredErrorContext;
+#endif
+
XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGetWarningsDefaultValue \
@@ -432,7 +485,8 @@ XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
#endif
-XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
+ __xmlParserInputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserInputBufferCreateFilenameValue \
(*(__xmlParserInputBufferCreateFilenameValue()))
diff --git a/gettext-tools/gnulib-lib/libxml/hash.c b/gettext-tools/gnulib-lib/libxml/hash.c
index e92a5a0..f9a2017 100644
--- a/gettext-tools/gnulib-lib/libxml/hash.c
+++ b/gettext-tools/gnulib-lib/libxml/hash.c
@@ -3,7 +3,7 @@
*
* Reference: Your favorite introductory book on algorithms
*
- * Copyright (C) 2000 Bjorn Reese and Daniel Veillard.
+ * Copyright (C) 2000,2012 Bjorn Reese and Daniel Veillard.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -21,6 +21,22 @@
#include "libxml.h"
#include <string.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+
+/*
+ * Following http://www.ocert.org/advisories/ocert-2011-003.html
+ * it seems that having hash randomization might be a good idea
+ * when using XML with untrusted data
+ */
+#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
+#define HASH_RANDOMIZATION
+#endif
+
#include <libxml/parser.h>
#include <libxml/hash.h>
#include <libxml/xmlmemory.h>
@@ -53,6 +69,9 @@ struct _xmlHashTable {
int size;
int nbElems;
xmlDictPtr dict;
+#ifdef HASH_RANDOMIZATION
+ int random_seed;
+#endif
};
/*
@@ -64,18 +83,23 @@ xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name,
const xmlChar *name2, const xmlChar *name3) {
unsigned long value = 0L;
char ch;
-
+
+#ifdef HASH_RANDOMIZATION
+ value = table->random_seed;
+#endif
if (name != NULL) {
value += 30 * (*name);
while ((ch = *name++) != 0) {
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
}
}
+ value = value ^ ((value << 5) + (value >> 3));
if (name2 != NULL) {
while ((ch = *name2++) != 0) {
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
}
}
+ value = value ^ ((value << 5) + (value >> 3));
if (name3 != NULL) {
while ((ch = *name3++) != 0) {
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
@@ -91,7 +115,10 @@ xmlHashComputeQKey(xmlHashTablePtr table,
const xmlChar *prefix3, const xmlChar *name3) {
unsigned long value = 0L;
char ch;
-
+
+#ifdef HASH_RANDOMIZATION
+ value = table->random_seed;
+#endif
if (prefix != NULL)
value += 30 * (*prefix);
else
@@ -108,6 +135,7 @@ xmlHashComputeQKey(xmlHashTablePtr table,
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
}
}
+ value = value ^ ((value << 5) + (value >> 3));
if (prefix2 != NULL) {
while ((ch = *prefix2++) != 0) {
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
@@ -119,6 +147,7 @@ xmlHashComputeQKey(xmlHashTablePtr table,
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
}
}
+ value = value ^ ((value << 5) + (value >> 3));
if (prefix3 != NULL) {
while ((ch = *prefix3++) != 0) {
value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
@@ -144,10 +173,10 @@ xmlHashComputeQKey(xmlHashTablePtr table,
xmlHashTablePtr
xmlHashCreate(int size) {
xmlHashTablePtr table;
-
+
if (size <= 0)
size = 256;
-
+
table = xmlMalloc(sizeof(xmlHashTable));
if (table) {
table->dict = NULL;
@@ -155,8 +184,11 @@ xmlHashCreate(int size) {
table->nbElems = 0;
table->table = xmlMalloc(size * sizeof(xmlHashEntry));
if (table->table) {
- memset(table->table, 0, size * sizeof(xmlHashEntry));
- return(table);
+ memset(table->table, 0, size * sizeof(xmlHashEntry));
+#ifdef HASH_RANDOMIZATION
+ table->random_seed = __xmlRandom();
+#endif
+ return(table);
}
xmlFree(table);
}
@@ -202,7 +234,7 @@ xmlHashGrow(xmlHashTablePtr table, int size) {
#ifdef DEBUG_GROW
unsigned long nbElem = 0;
#endif
-
+
if (table == NULL)
return(-1);
if (size < 8)
@@ -214,7 +246,7 @@ xmlHashGrow(xmlHashTablePtr table, int size) {
oldtable = table->table;
if (oldtable == NULL)
return(-1);
-
+
table->table = xmlMalloc(size * sizeof(xmlHashEntry));
if (table->table == NULL) {
table->table = oldtable;
@@ -224,13 +256,13 @@ xmlHashGrow(xmlHashTablePtr table, int size) {
table->size = size;
/* If the two loops are merged, there would be situations where
- a new entry needs to allocated and data copied into it from
+ a new entry needs to allocated and data copied into it from
the main table. So instead, we run through the array twice, first
copying all the elements in the main array (where we can't get
conflicts) and then the rest, so we only free (and don't allocate)
*/
for (i = 0; i < oldsize; i++) {
- if (oldtable[i].valid == 0)
+ if (oldtable[i].valid == 0)
continue;
key = xmlHashComputeKey(table, oldtable[i].name, oldtable[i].name2,
oldtable[i].name3);
@@ -254,8 +286,8 @@ xmlHashGrow(xmlHashTablePtr table, int size) {
table->table[key].next = NULL;
xmlFree(iter);
} else {
- iter->next = table->table[key].next;
- table->table[key].next = iter;
+ iter->next = table->table[key].next;
+ table->table[key].next = iter;
}
#ifdef DEBUG_GROW
@@ -320,7 +352,6 @@ xmlHashFree(xmlHashTablePtr table, xmlHashDeallocator f) {
inside_table = 0;
iter = next;
}
- inside_table = 0;
}
xmlFree(table->table);
}
@@ -572,7 +603,7 @@ xmlHashAddEntry3(xmlHashTablePtr table, const xmlChar *name,
entry->valid = 1;
- if (insert != NULL)
+ if (insert != NULL)
insert->next = entry;
table->nbElems++;
@@ -721,7 +752,7 @@ xmlHashUpdateEntry3(xmlHashTablePtr table, const xmlChar *name,
* Returns the a pointer to the userdata
*/
void *
-xmlHashLookup3(xmlHashTablePtr table, const xmlChar *name,
+xmlHashLookup3(xmlHashTablePtr table, const xmlChar *name,
const xmlChar *name2, const xmlChar *name3) {
unsigned long key;
xmlHashEntryPtr entry;
@@ -794,14 +825,14 @@ typedef struct {
void *data;
} stubData;
-static void
-stubHashScannerFull (void *payload, void *data, const xmlChar *name,
+static void
+stubHashScannerFull (void *payload, void *data, const xmlChar *name,
const xmlChar *name2 ATTRIBUTE_UNUSED,
const xmlChar *name3 ATTRIBUTE_UNUSED) {
stubData *stubdata = (stubData *) data;
stubdata->hashscanner (payload, stubdata->data, (xmlChar *) name);
-}
-
+}
+
/**
* xmlHashScan:
* @table: the hash table
@@ -814,7 +845,7 @@ void
xmlHashScan(xmlHashTablePtr table, xmlHashScanner f, void *data) {
stubData stubdata;
stubdata.data = data;
- stubdata.hashscanner = f;
+ stubdata.hashscanner = f;
xmlHashScanFull (table, stubHashScannerFull, &stubdata);
}
@@ -828,7 +859,7 @@ xmlHashScan(xmlHashTablePtr table, xmlHashScanner f, void *data) {
*/
void
xmlHashScanFull(xmlHashTablePtr table, xmlHashScannerFull f, void *data) {
- int i;
+ int i, nb;
xmlHashEntryPtr iter;
xmlHashEntryPtr next;
@@ -839,15 +870,26 @@ xmlHashScanFull(xmlHashTablePtr table, xmlHashScannerFull f, void *data) {
if (table->table) {
for(i = 0; i < table->size; i++) {
- if (table->table[i].valid == 0)
+ if (table->table[i].valid == 0)
continue;
iter = &(table->table[i]);
while (iter) {
next = iter->next;
+ nb = table->nbElems;
if ((f != NULL) && (iter->payload != NULL))
f(iter->payload, data, iter->name,
iter->name2, iter->name3);
- iter = next;
+ if (nb != table->nbElems) {
+ /* table was modified by the callback, be careful */
+ if (iter == &(table->table[i])) {
+ if (table->table[i].valid == 0)
+ iter = NULL;
+ if (table->table[i].next != next)
+ iter = &(table->table[i]);
+ } else
+ iter = next;
+ } else
+ iter = next;
}
}
}
@@ -867,7 +909,7 @@ xmlHashScanFull(xmlHashTablePtr table, xmlHashScannerFull f, void *data) {
* the comparison is considered to match.
*/
void
-xmlHashScan3(xmlHashTablePtr table, const xmlChar *name,
+xmlHashScan3(xmlHashTablePtr table, const xmlChar *name,
const xmlChar *name2, const xmlChar *name3,
xmlHashScanner f, void *data) {
xmlHashScanFull3 (table, name, name2, name3,
@@ -888,7 +930,7 @@ xmlHashScan3(xmlHashTablePtr table, const xmlChar *name,
* the comparison is considered to match.
*/
void
-xmlHashScanFull3(xmlHashTablePtr table, const xmlChar *name,
+xmlHashScanFull3(xmlHashTablePtr table, const xmlChar *name,
const xmlChar *name2, const xmlChar *name3,
xmlHashScannerFull f, void *data) {
int i;
@@ -942,6 +984,9 @@ xmlHashCopy(xmlHashTablePtr table, xmlHashCopier f) {
return(NULL);
ret = xmlHashCreate(table->size);
+ if (ret == NULL)
+ return(NULL);
+
if (table->table) {
for(i = 0; i < table->size; i++) {
if (table->table[i].valid == 0)
diff --git a/gettext-tools/gnulib-lib/libxml/hash.in.h b/gettext-tools/gnulib-lib/libxml/hash.in.h
index 7fe4be7..dc8ab7e 100644
--- a/gettext-tools/gnulib-lib/libxml/hash.in.h
+++ b/gettext-tools/gnulib-lib/libxml/hash.in.h
@@ -1,7 +1,7 @@
/*
* Summary: Chained hash tables
- * Description: This module implements the hash table support used in
- * various places in the library.
+ * Description: This module implements the hash table support used in
+ * various places in the library.
*
* Copy: See Copyright for the status of this software.
*
@@ -108,40 +108,40 @@ XMLPUBFUN xmlHashTablePtr XMLCALL
XMLPUBFUN xmlHashTablePtr XMLCALL
xmlHashCreateDict(int size,
xmlDictPtr dict);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlHashFree (xmlHashTablePtr table,
xmlHashDeallocator f);
/*
* Add a new entry to the hash table.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashAddEntry (xmlHashTablePtr table,
const xmlChar *name,
void *userdata);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashUpdateEntry(xmlHashTablePtr table,
const xmlChar *name,
void *userdata,
xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashAddEntry2(xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
void *userdata);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashUpdateEntry2(xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
void *userdata,
xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashAddEntry3(xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
const xmlChar *name3,
void *userdata);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashUpdateEntry3(xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
@@ -152,13 +152,13 @@ XMLPUBFUN int XMLCALL
/*
* Remove an entry from the hash table.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
const xmlChar *name2, xmlHashDeallocator f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
const xmlChar *name2, const xmlChar *name3,
xmlHashDeallocator f);
@@ -166,29 +166,29 @@ XMLPUBFUN int XMLCALL
/*
* Retrieve the userdata.
*/
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlHashLookup (xmlHashTablePtr table,
const xmlChar *name);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlHashLookup2 (xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlHashLookup3 (xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
const xmlChar *name3);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlHashQLookup (xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *prefix);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlHashQLookup2 (xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *prefix,
const xmlChar *name2,
const xmlChar *prefix2);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlHashQLookup3 (xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *prefix,
@@ -200,27 +200,27 @@ XMLPUBFUN void * XMLCALL
/*
* Helpers.
*/
-XMLPUBFUN xmlHashTablePtr XMLCALL
+XMLPUBFUN xmlHashTablePtr XMLCALL
xmlHashCopy (xmlHashTablePtr table,
xmlHashCopier f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlHashSize (xmlHashTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlHashScan (xmlHashTablePtr table,
xmlHashScanner f,
void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlHashScan3 (xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
const xmlChar *name3,
xmlHashScanner f,
void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlHashScanFull (xmlHashTablePtr table,
xmlHashScannerFull f,
void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlHashScanFull3(xmlHashTablePtr table,
const xmlChar *name,
const xmlChar *name2,
diff --git a/gettext-tools/gnulib-lib/libxml/legacy.c b/gettext-tools/gnulib-lib/libxml/legacy.c
index e75178a..86362bf 100644
--- a/gettext-tools/gnulib-lib/libxml/legacy.c
+++ b/gettext-tools/gnulib-lib/libxml/legacy.c
@@ -393,7 +393,7 @@ xmlSetFeature(xmlParserCtxtPtr ctxt, const char *name, void *value)
* @end: an end marker xmlChar, 0 if none
* @end2: an end marker xmlChar, 0 if none
* @end3: an end marker xmlChar, 0 if none
- *
+ *
* This function is deprecated, we now always process entities content
* through xmlStringDecodeEntities
*
@@ -456,7 +456,7 @@ xmlNamespaceParseNCName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
/**
* xmlNamespaceParseQName:
* @ctxt: an XML parser context
- * @prefix: a xmlChar **
+ * @prefix: a xmlChar **
*
* TODO: this seems not in use anymore, the namespace handling is done on
* top of the SAX interfaces, i.e. not on raw input.
@@ -603,7 +603,7 @@ xmlScanName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
/**
* xmlParserHandleReference:
* @ctxt: the parser context
- *
+ *
* TODO: Remove, now deprecated ... the test is done directly in the
* content parsing
* routines.
@@ -615,7 +615,7 @@ xmlScanName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
* [ WFC: Entity Declared ]
* the Name given in the entity reference must match that in an entity
* declaration, except that well-formed documents need not declare any
- * of the following entities: amp, lt, gt, apos, quot.
+ * of the following entities: amp, lt, gt, apos, quot.
*
* [ WFC: Parsed Entity ]
* An entity reference must not contain the name of an unparsed entity
@@ -624,7 +624,7 @@ xmlScanName(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
* '&#x' [0-9a-fA-F]+ ';'
*
* A PEReference may have been detected in the current input stream
- * the handling is done accordingly to
+ * the handling is done accordingly to
* http://www.w3.org/TR/REC-xml#entproc
*/
void
@@ -693,7 +693,7 @@ xmlNewGlobalNs(xmlDocPtr doc ATTRIBUTE_UNUSED,
/**
* xmlUpgradeOldNs:
* @doc: a document pointer
- *
+ *
* Upgrade old style Namespaces (PI) and move them to the root of the document.
* DEPRECATED
*/
@@ -719,7 +719,7 @@ xmlUpgradeOldNs(xmlDocPtr doc ATTRIBUTE_UNUSED)
*
* People must migrate their code to xmlEncodeEntitiesReentrant !
* This routine will issue a warning when encountered.
- *
+ *
* Returns NULL
*/
const xmlChar *
@@ -740,7 +740,7 @@ xmlEncodeEntities(xmlDocPtr doc ATTRIBUTE_UNUSED,
/************************************************************************
* *
- * Old set of SAXv1 functions *
+ * Old set of SAXv1 functions *
* *
************************************************************************/
static int deprecated_v1_msg = 0;
@@ -961,8 +961,8 @@ getParameterEntity(void *ctx, const xmlChar * name)
/**
* entityDecl:
* @ctx: the user data (XML parser context)
- * @name: the entity name
- * @type: the entity type
+ * @name: the entity name
+ * @type: the entity type
* @publicId: The public ID of the entity
* @systemId: The system ID of the entity
* @content: the entity value (without processing).
@@ -983,8 +983,8 @@ entityDecl(void *ctx, const xmlChar * name, int type,
* attributeDecl:
* @ctx: the user data (XML parser context)
* @elem: the name of the element
- * @fullname: the attribute name
- * @type: the attribute type
+ * @fullname: the attribute name
+ * @type: the attribute type
* @def: the type of default value
* @defaultValue: the attribute default value
* @tree: the tree of enumerated value set
@@ -1005,8 +1005,8 @@ attributeDecl(void *ctx, const xmlChar * elem, const xmlChar * fullname,
/**
* elementDecl:
* @ctx: the user data (XML parser context)
- * @name: the element name
- * @type: the element type
+ * @name: the element name
+ * @type: the element type
* @content: the element value tree
*
* An element definition has been parsed
@@ -1151,7 +1151,7 @@ void
endElement(void *ctx, const xmlChar * name ATTRIBUTE_UNUSED)
{
DEPRECATED("endElement")
- xmlSAX2EndElement(ctx, name);
+ xmlSAX2EndElement(ctx, name);
}
/**
@@ -1159,7 +1159,7 @@ endElement(void *ctx, const xmlChar * name ATTRIBUTE_UNUSED)
* @ctx: the user data (XML parser context)
* @name: The entity name
*
- * called when an entity reference is detected.
+ * called when an entity reference is detected.
* DEPRECATED: use xmlSAX2Reference()
*/
void
diff --git a/gettext-tools/gnulib-lib/libxml/libxml.h b/gettext-tools/gnulib-lib/libxml/libxml.h
index 696be62..2da9044 100644
--- a/gettext-tools/gnulib-lib/libxml/libxml.h
+++ b/gettext-tools/gnulib-lib/libxml/libxml.h
@@ -20,7 +20,20 @@
#if defined(macintosh)
#include "config-mac.h"
+#elif defined(_WIN32_WCE)
+/*
+ * Windows CE compatibility definitions and functions
+ * This is needed to compile libxml2 for Windows CE.
+ * At least I tested it with WinCE 5.0 for Emulator and WinCE 4.2/SH4 target
+ */
+#include <win32config.h>
+#include <libxml/xmlversion.h>
#else
+/*
+ * Currently supported platforms use either autoconf or
+ * copy to config.h own "preset" configuration file.
+ * As result ifdef HAVE_CONFIG_H is omited here.
+ */
#include "config.h"
#include <libxml/xmlversion.h>
#endif
@@ -64,6 +77,23 @@ void __xmlLoaderErr(void *ctx, const char *msg, const char *filename);
void __htmlParseContent(void *ctx);
#endif
+/*
+ * internal global initialization critical section routines.
+ */
+void __xmlGlobalInitMutexLock(void);
+void __xmlGlobalInitMutexUnlock(void);
+void __xmlGlobalInitMutexDestroy(void);
+
+int __xmlInitializeDict(void);
+
+#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
+/*
+ * internal thread safe random function
+ */
+int __xmlRandom(void);
+#endif
+
+int xmlNop(void);
#ifdef IN_LIBXML
#ifdef __GNUC__
@@ -76,4 +106,7 @@ void __htmlParseContent(void *ctx);
#endif
#endif
#endif
+#if !defined(PIC) && !defined(NOLIBTOOL)
+# define LIBXML_STATIC
+#endif
#endif /* ! __XML_LIBXML_H__ */
diff --git a/gettext-tools/gnulib-lib/libxml/list.c b/gettext-tools/gnulib-lib/libxml/list.c
index 2dc6d96..d33d928 100644
--- a/gettext-tools/gnulib-lib/libxml/list.c
+++ b/gettext-tools/gnulib-lib/libxml/list.c
@@ -94,15 +94,15 @@ xmlLinkCompare(const void *data0, const void *data1)
*
* Returns the link containing the data or NULL
*/
-static xmlLinkPtr
-xmlListLowerSearch(xmlListPtr l, void *data)
+static xmlLinkPtr
+xmlListLowerSearch(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
if (l == NULL)
return(NULL);
for(lk = l->sentinel->next;lk != l->sentinel && l->linkCompare(lk->data, data) <0 ;lk = lk->next);
- return lk;
+ return lk;
}
/**
@@ -114,15 +114,15 @@ xmlListLowerSearch(xmlListPtr l, void *data)
*
* Returns the link containing the data or NULL
*/
-static xmlLinkPtr
-xmlListHigherSearch(xmlListPtr l, void *data)
+static xmlLinkPtr
+xmlListHigherSearch(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
if (l == NULL)
return(NULL);
for(lk = l->sentinel->prev;lk != l->sentinel && l->linkCompare(lk->data, data) >0 ;lk = lk->prev);
- return lk;
+ return lk;
}
/**
@@ -134,8 +134,8 @@ xmlListHigherSearch(xmlListPtr l, void *data)
*
* Returns the link containing the data or NULL
*/
-static xmlLinkPtr
-xmlListLinkSearch(xmlListPtr l, void *data)
+static xmlLinkPtr
+xmlListLinkSearch(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
if (l == NULL)
@@ -159,8 +159,8 @@ xmlListLinkSearch(xmlListPtr l, void *data)
*
* Returns the link containing the data or NULL
*/
-static xmlLinkPtr
-xmlListLinkReverseSearch(xmlListPtr l, void *data)
+static xmlLinkPtr
+xmlListLinkReverseSearch(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
if (l == NULL)
@@ -189,16 +189,16 @@ xmlListCreate(xmlListDeallocator deallocator, xmlListDataCompare compare)
{
xmlListPtr l;
if (NULL == (l = (xmlListPtr )xmlMalloc( sizeof(xmlList)))) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Cannot initialize memory for list");
return (NULL);
}
/* Initialize the list to NULL */
memset(l, 0, sizeof(xmlList));
-
+
/* Add the sentinel */
if (NULL ==(l->sentinel = (xmlLinkPtr )xmlMalloc(sizeof(xmlLink)))) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Cannot initialize memory for sentinel");
xmlFree(l);
return (NULL);
@@ -206,7 +206,7 @@ xmlListCreate(xmlListDeallocator deallocator, xmlListDataCompare compare)
l->sentinel->next = l->sentinel;
l->sentinel->prev = l->sentinel;
l->sentinel->data = NULL;
-
+
/* If there is a link deallocator, use it */
if (deallocator != NULL)
l->linkDeallocator = deallocator;
@@ -217,7 +217,7 @@ xmlListCreate(xmlListDeallocator deallocator, xmlListDataCompare compare)
l->linkCompare = xmlLinkCompare;
return l;
}
-
+
/**
* xmlListSearch:
* @l: a list
@@ -228,7 +228,7 @@ xmlListCreate(xmlListDeallocator deallocator, xmlListDataCompare compare)
* Returns the value associated to @data or NULL in case of error
*/
void *
-xmlListSearch(xmlListPtr l, void *data)
+xmlListSearch(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
if (l == NULL)
@@ -249,7 +249,7 @@ xmlListSearch(xmlListPtr l, void *data)
* Returns the value associated to @data or NULL in case of error
*/
void *
-xmlListReverseSearch(xmlListPtr l, void *data)
+xmlListReverseSearch(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
if (l == NULL)
@@ -270,7 +270,7 @@ xmlListReverseSearch(xmlListPtr l, void *data)
* Returns 0 in case of success, 1 in case of failure
*/
int
-xmlListInsert(xmlListPtr l, void *data)
+xmlListInsert(xmlListPtr l, void *data)
{
xmlLinkPtr lkPlace, lkNew;
@@ -280,7 +280,7 @@ xmlListInsert(xmlListPtr l, void *data)
/* Add the new link */
lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink));
if (lkNew == NULL) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Cannot initialize memory for new link");
return (1);
}
@@ -302,7 +302,7 @@ xmlListInsert(xmlListPtr l, void *data)
*
* Returns 0 in case of success, 1 in case of failure
*/
-int xmlListAppend(xmlListPtr l, void *data)
+int xmlListAppend(xmlListPtr l, void *data)
{
xmlLinkPtr lkPlace, lkNew;
@@ -312,16 +312,16 @@ int xmlListAppend(xmlListPtr l, void *data)
/* Add the new link */
lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink));
if (lkNew == NULL) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Cannot initialize memory for new link");
- return (0);
+ return (1);
}
lkNew->data = data;
lkNew->next = lkPlace->next;
(lkPlace->next)->prev = lkNew;
lkPlace->next = lkNew;
lkNew->prev = lkPlace;
- return 1;
+ return 0;
}
/**
@@ -353,7 +353,7 @@ int
xmlListRemoveFirst(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
-
+
if (l == NULL)
return(0);
/*Find the first instance of this data */
@@ -378,7 +378,7 @@ int
xmlListRemoveLast(xmlListPtr l, void *data)
{
xmlLinkPtr lk;
-
+
if (l == NULL)
return(0);
/*Find the last instance of this data */
@@ -403,7 +403,7 @@ int
xmlListRemoveAll(xmlListPtr l, void *data)
{
int count=0;
-
+
if (l == NULL)
return(0);
@@ -422,7 +422,7 @@ void
xmlListClear(xmlListPtr l)
{
xmlLinkPtr lk;
-
+
if (l == NULL)
return;
lk = l->sentinel->next;
@@ -458,14 +458,14 @@ xmlListEmpty(xmlListPtr l)
*
* Returns the first element in the list, or NULL
*/
-xmlLinkPtr
+xmlLinkPtr
xmlListFront(xmlListPtr l)
{
if (l == NULL)
return(NULL);
return (l->sentinel->next);
}
-
+
/**
* xmlListEnd:
* @l: a list
@@ -474,14 +474,14 @@ xmlListFront(xmlListPtr l)
*
* Returns the last element in the list, or NULL
*/
-xmlLinkPtr
+xmlLinkPtr
xmlListEnd(xmlListPtr l)
{
if (l == NULL)
return(NULL);
return (l->sentinel->prev);
}
-
+
/**
* xmlListSize:
* @l: a list
@@ -539,7 +539,7 @@ xmlListPopBack(xmlListPtr l)
* Returns 1 if successful, 0 otherwise
*/
int
-xmlListPushFront(xmlListPtr l, void *data)
+xmlListPushFront(xmlListPtr l, void *data)
{
xmlLinkPtr lkPlace, lkNew;
@@ -549,7 +549,7 @@ xmlListPushFront(xmlListPtr l, void *data)
/* Add the new link */
lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink));
if (lkNew == NULL) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Cannot initialize memory for new link");
return (0);
}
@@ -571,7 +571,7 @@ xmlListPushFront(xmlListPtr l, void *data)
* Returns 1 if successful, 0 otherwise
*/
int
-xmlListPushBack(xmlListPtr l, void *data)
+xmlListPushBack(xmlListPtr l, void *data)
{
xmlLinkPtr lkPlace, lkNew;
@@ -580,7 +580,7 @@ xmlListPushBack(xmlListPtr l, void *data)
lkPlace = l->sentinel->prev;
/* Add the new link */
if (NULL ==(lkNew = (xmlLinkPtr )xmlMalloc(sizeof(xmlLink)))) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Cannot initialize memory for new link");
return (0);
}
@@ -643,7 +643,7 @@ void
xmlListSort(xmlListPtr l)
{
xmlListPtr lTemp;
-
+
if (l == NULL)
return;
if(xmlListEmpty(l))
@@ -725,10 +725,10 @@ xmlListMerge(xmlListPtr l1, xmlListPtr l2)
* @old: the list
*
* Duplicate the list
- *
+ *
* Returns a new copy of the list or NULL in case of error
*/
-xmlListPtr
+xmlListPtr
xmlListDup(const xmlListPtr old)
{
xmlListPtr cur;
@@ -754,7 +754,7 @@ xmlListDup(const xmlListPtr old)
* @old: the old list
*
* Move all the element from the old list in the new list
- *
+ *
* Returns 0 in case of success 1 in case of error
*/
int
@@ -771,7 +771,7 @@ xmlListCopy(xmlListPtr cur, const xmlListPtr old)
return (1);
}
}
- return (0);
+ return (0);
}
/* xmlListUnique() */
/* xmlListSwap */
diff --git a/gettext-tools/gnulib-lib/libxml/list.in.h b/gettext-tools/gnulib-lib/libxml/list.in.h
index 1d83482..0504e0c 100644
--- a/gettext-tools/gnulib-lib/libxml/list.in.h
+++ b/gettext-tools/gnulib-lib/libxml/list.in.h
@@ -1,6 +1,6 @@
/*
* Summary: lists interfaces
- * Description: this module implement the list support used in
+ * Description: this module implement the list support used in
* various place in the library.
*
* Copy: See Copyright for the status of this software.
@@ -55,76 +55,76 @@ typedef int (*xmlListWalker) (const void *data, const void *user);
XMLPUBFUN xmlListPtr XMLCALL
xmlListCreate (xmlListDeallocator deallocator,
xmlListDataCompare compare);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListDelete (xmlListPtr l);
/* Basic Operators */
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlListSearch (xmlListPtr l,
void *data);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlListReverseSearch (xmlListPtr l,
void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListInsert (xmlListPtr l,
void *data) ;
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListAppend (xmlListPtr l,
void *data) ;
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListRemoveFirst (xmlListPtr l,
void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListRemoveLast (xmlListPtr l,
void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListRemoveAll (xmlListPtr l,
void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListClear (xmlListPtr l);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListEmpty (xmlListPtr l);
-XMLPUBFUN xmlLinkPtr XMLCALL
+XMLPUBFUN xmlLinkPtr XMLCALL
xmlListFront (xmlListPtr l);
-XMLPUBFUN xmlLinkPtr XMLCALL
+XMLPUBFUN xmlLinkPtr XMLCALL
xmlListEnd (xmlListPtr l);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListSize (xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListPopFront (xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListPopBack (xmlListPtr l);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListPushFront (xmlListPtr l,
void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListPushBack (xmlListPtr l,
void *data);
/* Advanced Operators */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListReverse (xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListSort (xmlListPtr l);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListWalk (xmlListPtr l,
xmlListWalker walker,
const void *user);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListReverseWalk (xmlListPtr l,
xmlListWalker walker,
const void *user);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlListMerge (xmlListPtr l1,
xmlListPtr l2);
-XMLPUBFUN xmlListPtr XMLCALL
+XMLPUBFUN xmlListPtr XMLCALL
xmlListDup (const xmlListPtr old);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlListCopy (xmlListPtr cur,
const xmlListPtr old);
/* Link operators */
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlLinkGetData (xmlLinkPtr lk);
/* xmlListUnique() */
diff --git a/gettext-tools/gnulib-lib/libxml/nanoftp.c b/gettext-tools/gnulib-lib/libxml/nanoftp.c
index c78503b..2135ab9 100644
--- a/gettext-tools/gnulib-lib/libxml/nanoftp.c
+++ b/gettext-tools/gnulib-lib/libxml/nanoftp.c
@@ -41,7 +41,7 @@
#include <netdb.h>
#endif
#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
+#include <fcntl.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
@@ -77,8 +77,10 @@
#endif
-#ifdef __MINGW32__
+#if defined(__MINGW32__) || defined(_WIN32_WCE)
+#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
+#endif
#include <wsockcompat.h>
#include <winsock2.h>
#undef XML_SOCKLEN_T
@@ -89,10 +91,9 @@
* A couple portability macros
*/
#ifndef _WINSOCKAPI_
-#ifndef __BEOS__
+#if !defined(__BEOS__) || defined(__HAIKU__)
#define closesocket(s) close(s)
#endif
-#define SOCKET int
#endif
#ifdef __BEOS__
@@ -102,8 +103,10 @@
#endif
#ifdef _AIX
+#ifdef HAVE_BROKEN_SS_FAMILY
#define ss_family __ss_family
#endif
+#endif
#ifndef XML_SOCKLEN_T
#define XML_SOCKLEN_T unsigned int
@@ -185,7 +188,7 @@ void
xmlNanoFTPInit(void) {
const char *env;
#ifdef _WINSOCKAPI_
- WSADATA wsaData;
+ WSADATA wsaData;
#endif
if (initialized)
@@ -302,15 +305,15 @@ xmlNanoFTPScanURL(void *ctx, const char *URL) {
/*
* Clear any existing data from the context
*/
- if (ctxt->protocol != NULL) {
+ if (ctxt->protocol != NULL) {
xmlFree(ctxt->protocol);
ctxt->protocol = NULL;
}
- if (ctxt->hostname != NULL) {
+ if (ctxt->hostname != NULL) {
xmlFree(ctxt->hostname);
ctxt->hostname = NULL;
}
- if (ctxt->path != NULL) {
+ if (ctxt->path != NULL) {
xmlFree(ctxt->path);
ctxt->path = NULL;
}
@@ -324,7 +327,7 @@ xmlNanoFTPScanURL(void *ctx, const char *URL) {
xmlFreeURI(uri);
return;
}
-
+
ctxt->protocol = xmlMemStrdup(uri->scheme);
ctxt->hostname = xmlMemStrdup(uri->server);
if (uri->path != NULL)
@@ -355,7 +358,7 @@ xmlNanoFTPScanURL(void *ctx, const char *URL) {
* @URL: The URL used to update the context
*
* Update an FTP context by parsing the URL and finding
- * new path it indicates. If there is an error in the
+ * new path it indicates. If there is an error in the
* protocol, hostname, port or other information, the
* error is raised. It indicates a new connection has to
* be established.
@@ -400,7 +403,7 @@ xmlNanoFTPUpdateURL(void *ctx, const char *URL) {
ctxt->path = NULL;
}
- if (uri->path == NULL)
+ if (uri->path == NULL)
ctxt->path = xmlMemStrdup("/");
else
ctxt->path = xmlMemStrdup(uri->path);
@@ -424,7 +427,7 @@ void
xmlNanoFTPScanProxy(const char *URL) {
xmlURIPtr uri;
- if (proxy != NULL) {
+ if (proxy != NULL) {
xmlFree(proxy);
proxy = NULL;
}
@@ -448,7 +451,7 @@ xmlNanoFTPScanProxy(const char *URL) {
xmlFreeURI(uri);
return;
}
-
+
proxy = xmlMemStrdup(uri->server);
if (uri->port != 0)
proxyPort = uri->port;
@@ -482,7 +485,7 @@ xmlNanoFTPNewCtxt(const char *URL) {
ret->returnValue = 0;
ret->controlBufIndex = 0;
ret->controlBufUsed = 0;
- ret->controlFd = -1;
+ ret->controlFd = INVALID_SOCKET;
unescaped = xmlURIUnescapeString(URL, 0, NULL);
if (unescaped != NULL) {
@@ -509,8 +512,8 @@ xmlNanoFTPFreeCtxt(void * ctx) {
if (ctxt->protocol != NULL) xmlFree(ctxt->protocol);
if (ctxt->path != NULL) xmlFree(ctxt->path);
ctxt->passive = 1;
- if (ctxt->controlFd >= 0) closesocket(ctxt->controlFd);
- ctxt->controlFd = -1;
+ if (ctxt->controlFd != INVALID_SOCKET) closesocket(ctxt->controlFd);
+ ctxt->controlFd = INVALID_SOCKET;
ctxt->controlBufIndex = -1;
ctxt->controlBufUsed = -1;
xmlFree(ctxt);
@@ -520,7 +523,7 @@ xmlNanoFTPFreeCtxt(void * ctx) {
* xmlNanoFTPParseResponse:
* @buf: the buffer containing the response
* @len: the buffer length
- *
+ *
* Parsing of the server answer, we just extract the code.
*
* returns 0 for errors
@@ -532,22 +535,22 @@ xmlNanoFTPParseResponse(char *buf, int len) {
int val = 0;
if (len < 3) return(-1);
- if ((*buf >= '0') && (*buf <= '9'))
+ if ((*buf >= '0') && (*buf <= '9'))
val = val * 10 + (*buf - '0');
else
return(0);
buf++;
- if ((*buf >= '0') && (*buf <= '9'))
+ if ((*buf >= '0') && (*buf <= '9'))
val = val * 10 + (*buf - '0');
else
return(0);
buf++;
- if ((*buf >= '0') && (*buf <= '9'))
+ if ((*buf >= '0') && (*buf <= '9'))
val = val * 10 + (*buf - '0');
else
return(0);
buf++;
- if (*buf == '-')
+ if (*buf == '-')
return(-val);
return(val);
}
@@ -565,7 +568,7 @@ xmlNanoFTPGetMore(void *ctx) {
int len;
int size;
- if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET)) return(-1);
if ((ctxt->controlBufIndex < 0) || (ctxt->controlBufIndex > FTP_BUF_SIZE)) {
#ifdef DEBUG_FTP
@@ -617,8 +620,8 @@ xmlNanoFTPGetMore(void *ctx) {
if ((len = recv(ctxt->controlFd, &ctxt->controlBuf[ctxt->controlBufIndex],
size, 0)) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "recv failed");
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
#ifdef DEBUG_FTP
@@ -646,7 +649,7 @@ xmlNanoFTPReadResponse(void *ctx) {
int len;
int res = -1, cur = -1;
- if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET)) return(-1);
get_more:
/*
@@ -735,7 +738,7 @@ xmlNanoFTPCheckResponse(void *ctx) {
fd_set rfd;
struct timeval tv;
- if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET)) return(-1);
tv.tv_sec = 0;
tv.tv_usec = 0;
FD_ZERO(&rfd);
@@ -746,7 +749,7 @@ xmlNanoFTPCheckResponse(void *ctx) {
case -1:
__xmlIOErr(XML_FROM_FTP, 0, "select");
return(-1);
-
+
}
return(xmlNanoFTPReadResponse(ctx));
@@ -772,7 +775,7 @@ xmlNanoFTPSendUser(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
return(res);
@@ -800,7 +803,7 @@ xmlNanoFTPSendPasswd(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
return(res);
@@ -824,14 +827,14 @@ xmlNanoFTPQuit(void *ctx) {
char buf[200];
int len, res;
- if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET)) return(-1);
snprintf(buf, sizeof(buf), "QUIT\r\n");
len = strlen(buf);
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf); /* Just to be consistent, even though we know it can't have a % in it */
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
return(res);
@@ -905,6 +908,8 @@ xmlNanoFTPConnect(void *ctx) {
return (-1);
}
if (tmp->ai_addrlen > sizeof(ctxt->ftpAddr)) {
+ if (result)
+ freeaddrinfo (result);
__xmlIOErr(XML_FROM_FTP, 0, "gethostbyname address mismatch");
return (-1);
}
@@ -925,9 +930,9 @@ xmlNanoFTPConnect(void *ctx) {
#endif
{
if (proxy)
- hp = gethostbyname (proxy);
+ hp = gethostbyname (GETHOSTBYNAME_ARG_CAST proxy);
else
- hp = gethostbyname (ctxt->hostname);
+ hp = gethostbyname (GETHOSTBYNAME_ARG_CAST ctxt->hostname);
if (hp == NULL) {
__xmlIOErr(XML_FROM_FTP, 0, "gethostbyname failed");
return (-1);
@@ -944,12 +949,13 @@ xmlNanoFTPConnect(void *ctx) {
((struct sockaddr_in *)&ctxt->ftpAddr)->sin_family = AF_INET;
memcpy (&((struct sockaddr_in *)&ctxt->ftpAddr)->sin_addr,
hp->h_addr_list[0], hp->h_length);
- ((struct sockaddr_in *)&ctxt->ftpAddr)->sin_port = (u_short)htons ((unsigned short)port);
+ ((struct sockaddr_in *)&ctxt->ftpAddr)->sin_port =
+ (unsigned short)htons ((unsigned short)port);
ctxt->controlFd = socket (AF_INET, SOCK_STREAM, 0);
addrlen = sizeof (struct sockaddr_in);
}
- if (ctxt->controlFd < 0) {
+ if (ctxt->controlFd == INVALID_SOCKET) {
__xmlIOErr(XML_FROM_FTP, 0, "socket failed");
return(-1);
}
@@ -960,8 +966,8 @@ xmlNanoFTPConnect(void *ctx) {
if (connect(ctxt->controlFd, (struct sockaddr *) &ctxt->ftpAddr,
addrlen) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "Failed to create a connection");
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
@@ -970,8 +976,8 @@ xmlNanoFTPConnect(void *ctx) {
*/
res = xmlNanoFTPGetResponse(ctxt);
if (res != 2) {
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
@@ -1024,11 +1030,11 @@ xmlNanoFTPConnect(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
closesocket(ctxt->controlFd);
- ctxt->controlFd = -1;
+ ctxt->controlFd = INVALID_SOCKET;
return(res);
}
res = xmlNanoFTPGetResponse(ctxt);
@@ -1046,17 +1052,17 @@ xmlNanoFTPConnect(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
closesocket(ctxt->controlFd);
- ctxt->controlFd = -1;
+ ctxt->controlFd = INVALID_SOCKET;
return(res);
}
res = xmlNanoFTPGetResponse(ctxt);
if (res > 3) {
closesocket(ctxt->controlFd);
- ctxt->controlFd = -1;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
break;
@@ -1067,7 +1073,7 @@ xmlNanoFTPConnect(void *ctx) {
case -1:
default:
closesocket(ctxt->controlFd);
- ctxt->controlFd = -1;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
}
@@ -1087,11 +1093,11 @@ xmlNanoFTPConnect(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(res);
}
res = xmlNanoFTPGetResponse(ctxt);
@@ -1099,10 +1105,10 @@ xmlNanoFTPConnect(void *ctx) {
/* we assume it worked :-\ 1 is error for SITE command */
proxyType = 1;
break;
- }
+ }
if (proxyType == 1) {
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
case 2:
@@ -1118,11 +1124,11 @@ xmlNanoFTPConnect(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(res);
}
res = xmlNanoFTPGetResponse(ctxt);
@@ -1130,7 +1136,7 @@ xmlNanoFTPConnect(void *ctx) {
/* we assume it worked :-\ */
proxyType = 2;
return(0);
- }
+ }
if (ctxt->passwd == NULL)
snprintf(buf, sizeof(buf), "PASS anonymous@\r\n");
else
@@ -1140,11 +1146,11 @@ xmlNanoFTPConnect(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(res);
}
res = xmlNanoFTPGetResponse(ctxt);
@@ -1154,8 +1160,8 @@ xmlNanoFTPConnect(void *ctx) {
return(0);
}
if (proxyType == 2) {
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
case 3:
@@ -1164,8 +1170,8 @@ xmlNanoFTPConnect(void *ctx) {
* send the code or at least the sequence in use.
*/
default:
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
}
@@ -1174,8 +1180,8 @@ xmlNanoFTPConnect(void *ctx) {
*/
res = xmlNanoFTPSendUser(ctxt);
if (res < 0) {
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
res = xmlNanoFTPGetResponse(ctxt);
@@ -1189,14 +1195,14 @@ xmlNanoFTPConnect(void *ctx) {
case 5:
case -1:
default:
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
res = xmlNanoFTPSendPasswd(ctxt);
if (res < 0) {
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
res = xmlNanoFTPGetResponse(ctxt);
@@ -1211,8 +1217,8 @@ xmlNanoFTPConnect(void *ctx) {
case 5:
case -1:
default:
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
- ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
+ ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
@@ -1235,12 +1241,18 @@ xmlNanoFTPConnectTo(const char *server, int port) {
int res;
xmlNanoFTPInit();
- if (server == NULL)
+ if (server == NULL)
return(NULL);
if (port <= 0)
return(NULL);
ctxt = (xmlNanoFTPCtxtPtr) xmlNanoFTPNewCtxt(NULL);
+ if (ctxt == NULL)
+ return(NULL);
ctxt->hostname = xmlMemStrdup(server);
+ if (ctxt->hostname == NULL) {
+ xmlNanoFTPFreeCtxt(ctxt);
+ return(NULL);
+ }
if (port != 0)
ctxt->port = port;
res = xmlNanoFTPConnect(ctxt);
@@ -1268,7 +1280,7 @@ xmlNanoFTPCwd(void *ctx, const char *directory) {
int len;
int res;
- if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET)) return(-1);
if (directory == NULL) return 0;
/*
@@ -1284,7 +1296,7 @@ xmlNanoFTPCwd(void *ctx, const char *directory) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
return(res);
@@ -1317,8 +1329,8 @@ xmlNanoFTPDele(void *ctx, const char *file) {
int len;
int res;
- if ((ctxt == NULL) || (ctxt->controlFd < 0) || (file == NULL)) return(-1);
- if (file == NULL) return (0);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET) ||
+ (file == NULL)) return(-1);
/*
* Expected response code for DELE:
@@ -1328,14 +1340,14 @@ xmlNanoFTPDele(void *ctx, const char *file) {
* 450, 550
* 500, 501, 502, 421, 530
*/
-
+
snprintf(buf, sizeof(buf), "DELE %s\r\n", file);
buf[sizeof(buf) - 1] = 0;
len = strlen(buf);
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
return(res);
@@ -1360,7 +1372,7 @@ xmlNanoFTPDele(void *ctx, const char *file) {
* Returns -1 incase of error, 0 otherwise
*/
-int
+SOCKET
xmlNanoFTPGetConnection(void *ctx) {
xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
char buf[200], *cur;
@@ -1375,7 +1387,7 @@ xmlNanoFTPGetConnection(void *ctx) {
#endif
XML_SOCKLEN_T dataAddrLen;
- if (ctxt == NULL) return(-1);
+ if (ctxt == NULL) return INVALID_SOCKET;
memset (&dataAddr, 0, sizeof(dataAddr));
#ifdef SUPPORT_IP6
@@ -1391,9 +1403,9 @@ xmlNanoFTPGetConnection(void *ctx) {
dataAddrLen = sizeof (struct sockaddr_in);
}
- if (ctxt->dataFd < 0) {
+ if (ctxt->dataFd == INVALID_SOCKET) {
__xmlIOErr(XML_FROM_FTP, 0, "socket failed");
- return (-1);
+ return INVALID_SOCKET;
}
if (ctxt->passive) {
@@ -1407,36 +1419,36 @@ xmlNanoFTPGetConnection(void *ctx) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(res);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
res = xmlNanoFTPReadResponse(ctx);
if (res != 2) {
if (res == 5) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(-1);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
} else {
/*
* retry with an active connection
*/
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
ctxt->passive = 0;
}
}
- cur = &ctxt->controlBuf[ctxt->controlBufAnswer];
+ cur = &ctxt->controlBuf[ctxt->controlBufAnswer];
while (((*cur < '0') || (*cur > '9')) && *cur != '\0') cur++;
#ifdef SUPPORT_IP6
if ((ctxt->ftpAddr).ss_family == AF_INET6) {
if (sscanf (cur, "%u", &temp[0]) != 1) {
__xmlIOErr(XML_FROM_FTP, XML_FTP_EPSV_ANSWER,
"Invalid answer to EPSV\n");
- if (ctxt->dataFd != -1) {
- closesocket (ctxt->dataFd); ctxt->dataFd = -1;
+ if (ctxt->dataFd != INVALID_SOCKET) {
+ closesocket (ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
}
- return (-1);
+ return INVALID_SOCKET;
}
memcpy (&((struct sockaddr_in6 *)&dataAddr)->sin6_addr, &((struct sockaddr_in6 *)&ctxt->ftpAddr)->sin6_addr, sizeof(struct in6_addr));
((struct sockaddr_in6 *)&dataAddr)->sin6_port = htons (temp[0]);
@@ -1448,10 +1460,10 @@ xmlNanoFTPGetConnection(void *ctx) {
&temp[3], &temp[4], &temp[5]) != 6) {
__xmlIOErr(XML_FROM_FTP, XML_FTP_PASV_ANSWER,
"Invalid answer to PASV\n");
- if (ctxt->dataFd != -1) {
- closesocket (ctxt->dataFd); ctxt->dataFd = -1;
+ if (ctxt->dataFd != INVALID_SOCKET) {
+ closesocket (ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
}
- return (-1);
+ return INVALID_SOCKET;
}
for (i=0; i<6; i++) ad[i] = (unsigned char) (temp[i] & 0xff);
memcpy (&((struct sockaddr_in *)&dataAddr)->sin_addr, &ad[0], 4);
@@ -1460,8 +1472,8 @@ xmlNanoFTPGetConnection(void *ctx) {
if (connect(ctxt->dataFd, (struct sockaddr *) &dataAddr, dataAddrLen) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "Failed to create a data connection");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return (-1);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
} else {
getsockname(ctxt->dataFd, (struct sockaddr *) &dataAddr, &dataAddrLen);
@@ -1474,15 +1486,15 @@ xmlNanoFTPGetConnection(void *ctx) {
if (bind(ctxt->dataFd, (struct sockaddr *) &dataAddr, dataAddrLen) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "bind failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return (-1);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
getsockname(ctxt->dataFd, (struct sockaddr *) &dataAddr, &dataAddrLen);
if (listen(ctxt->dataFd, 1) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "listen failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return (-1);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
#ifdef SUPPORT_IP6
if ((ctxt->ftpAddr).ss_family == AF_INET6) {
@@ -1508,20 +1520,20 @@ xmlNanoFTPGetConnection(void *ctx) {
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(res);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
res = xmlNanoFTPGetResponse(ctxt);
if (res != 2) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(-1);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
}
return(ctxt->dataFd);
-
+
}
/**
@@ -1540,9 +1552,9 @@ xmlNanoFTPCloseConnection(void *ctx) {
fd_set rfd, efd;
struct timeval tv;
- if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+ if ((ctxt == NULL) || (ctxt->controlFd == INVALID_SOCKET)) return(-1);
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
tv.tv_sec = 15;
tv.tv_usec = 0;
FD_ZERO(&rfd);
@@ -1554,7 +1566,7 @@ xmlNanoFTPCloseConnection(void *ctx) {
#ifdef DEBUG_FTP
perror("select");
#endif
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
if (res == 0) {
@@ -1562,11 +1574,11 @@ xmlNanoFTPCloseConnection(void *ctx) {
xmlGenericError(xmlGenericErrorContext,
"xmlNanoFTPCloseConnection: timeout\n");
#endif
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
} else {
res = xmlNanoFTPGetResponse(ctxt);
if (res != 2) {
- closesocket(ctxt->controlFd); ctxt->controlFd = -1;
+ closesocket(ctxt->controlFd); ctxt->controlFd = INVALID_SOCKET;
return(-1);
}
}
@@ -1579,7 +1591,7 @@ xmlNanoFTPCloseConnection(void *ctx) {
* @callback: the user callback
* @userData: the user callback data
*
- * Parse at most one entry from the listing.
+ * Parse at most one entry from the listing.
*
* Returns -1 incase of error, the length of data parsed otherwise
*/
@@ -1616,7 +1628,7 @@ xmlNanoFTPParseList(const char *list, ftpListCallback callback, void *userData)
if (*cur == 0) return(0);
i = 0;
while (*cur != ' ') {
- if (i < 10)
+ if (i < 10)
attrib[i++] = *cur;
cur++;
if (*cur == 0) return(0);
@@ -1630,7 +1642,7 @@ xmlNanoFTPParseList(const char *list, ftpListCallback callback, void *userData)
if (*cur == 0) return(0);
i = 0;
while (*cur != ' ') {
- if (i < 10)
+ if (i < 10)
owner[i++] = *cur;
cur++;
if (*cur == 0) return(0);
@@ -1640,7 +1652,7 @@ xmlNanoFTPParseList(const char *list, ftpListCallback callback, void *userData)
if (*cur == 0) return(0);
i = 0;
while (*cur != ' ') {
- if (i < 10)
+ if (i < 10)
group[i++] = *cur;
cur++;
if (*cur == 0) return(0);
@@ -1727,7 +1739,7 @@ xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
if (xmlNanoFTPCwd(ctxt, ctxt->path) < 1)
return(-1);
ctxt->dataFd = xmlNanoFTPGetConnection(ctxt);
- if (ctxt->dataFd == -1)
+ if (ctxt->dataFd == INVALID_SOCKET)
return(-1);
snprintf(buf, sizeof(buf), "LIST -L\r\n");
} else {
@@ -1736,7 +1748,7 @@ xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
return(-1);
}
ctxt->dataFd = xmlNanoFTPGetConnection(ctxt);
- if (ctxt->dataFd == -1)
+ if (ctxt->dataFd == INVALID_SOCKET)
return(-1);
snprintf(buf, sizeof(buf), "LIST -L %s\r\n", filename);
}
@@ -1745,15 +1757,15 @@ xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(res);
}
res = xmlNanoFTPReadResponse(ctxt);
if (res != 1) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(-res);
}
@@ -1769,18 +1781,18 @@ xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
#ifdef DEBUG_FTP
perror("select");
#endif
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(-1);
}
if (res == 0) {
res = xmlNanoFTPCheckResponse(ctxt);
if (res < 0) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ ctxt->dataFd = INVALID_SOCKET;
return(-1);
}
if (res == 2) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(0);
}
@@ -1789,8 +1801,8 @@ xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
if ((len = recv(ctxt->dataFd, &buf[indx], sizeof(buf) - (indx + 1), 0)) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "recv");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ ctxt->dataFd = INVALID_SOCKET;
return(-1);
}
#ifdef DEBUG_FTP
@@ -1822,34 +1834,34 @@ xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
*/
-int
+SOCKET
xmlNanoFTPGetSocket(void *ctx, const char *filename) {
xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
char buf[300];
int res, len;
if (ctx == NULL)
- return(-1);
+ return INVALID_SOCKET;
if ((filename == NULL) && (ctxt->path == NULL))
- return(-1);
+ return INVALID_SOCKET;
ctxt->dataFd = xmlNanoFTPGetConnection(ctxt);
- if (ctxt->dataFd == -1)
- return(-1);
+ if (ctxt->dataFd == INVALID_SOCKET)
+ return INVALID_SOCKET;
snprintf(buf, sizeof(buf), "TYPE I\r\n");
len = strlen(buf);
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(res);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
res = xmlNanoFTPReadResponse(ctxt);
if (res != 2) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(-res);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
if (filename == NULL)
snprintf(buf, sizeof(buf), "RETR %s\r\n", ctxt->path);
@@ -1860,16 +1872,16 @@ xmlNanoFTPGetSocket(void *ctx, const char *filename) {
#ifdef DEBUG_FTP
xmlGenericError(xmlGenericErrorContext, "%s", buf);
#endif
- res = send(ctxt->controlFd, buf, len, 0);
+ res = send(ctxt->controlFd, SEND_ARG2_CAST buf, len, 0);
if (res < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "send failed");
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(res);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
res = xmlNanoFTPReadResponse(ctxt);
if (res != 1) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- return(-res);
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ return INVALID_SOCKET;
}
return(ctxt->dataFd);
}
@@ -1901,7 +1913,7 @@ xmlNanoFTPGet(void *ctx, ftpDataCallback callback, void *userData,
return(-1);
if (callback == NULL)
return(-1);
- if (xmlNanoFTPGetSocket(ctxt, filename) < 0)
+ if (xmlNanoFTPGetSocket(ctxt, filename) == INVALID_SOCKET)
return(-1);
do {
@@ -1914,18 +1926,18 @@ xmlNanoFTPGet(void *ctx, ftpDataCallback callback, void *userData,
#ifdef DEBUG_FTP
perror("select");
#endif
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(-1);
}
if (res == 0) {
res = xmlNanoFTPCheckResponse(ctxt);
if (res < 0) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
- ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
+ ctxt->dataFd = INVALID_SOCKET;
return(-1);
}
if (res == 2) {
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(0);
}
@@ -1934,7 +1946,7 @@ xmlNanoFTPGet(void *ctx, ftpDataCallback callback, void *userData,
if ((len = recv(ctxt->dataFd, buf, sizeof(buf), 0)) < 0) {
__xmlIOErr(XML_FROM_FTP, 0, "recv failed");
callback(userData, buf, len);
- closesocket(ctxt->dataFd); ctxt->dataFd = -1;
+ closesocket(ctxt->dataFd); ctxt->dataFd = INVALID_SOCKET;
return(-1);
}
callback(userData, buf, len);
@@ -1960,7 +1972,7 @@ xmlNanoFTPRead(void *ctx, void *dest, int len) {
xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
if (ctx == NULL) return(-1);
- if (ctxt->dataFd < 0) return(0);
+ if (ctxt->dataFd == INVALID_SOCKET) return(0);
if (dest == NULL) return(-1);
if (len <= 0) return(0);
@@ -1982,13 +1994,13 @@ xmlNanoFTPRead(void *ctx, void *dest, int len) {
*
* Start to fetch the given ftp:// resource
*
- * Returns an FTP context, or NULL
+ * Returns an FTP context, or NULL
*/
void*
xmlNanoFTPOpen(const char *URL) {
xmlNanoFTPCtxtPtr ctxt;
- int sock;
+ SOCKET sock;
xmlNanoFTPInit();
if (URL == NULL) return(NULL);
@@ -2001,7 +2013,7 @@ xmlNanoFTPOpen(const char *URL) {
return(NULL);
}
sock = xmlNanoFTPGetSocket(ctxt, ctxt->path);
- if (sock < 0) {
+ if (sock == INVALID_SOCKET) {
xmlNanoFTPFreeCtxt(ctxt);
return(NULL);
}
@@ -2024,14 +2036,14 @@ xmlNanoFTPClose(void *ctx) {
if (ctxt == NULL)
return(-1);
- if (ctxt->dataFd >= 0) {
+ if (ctxt->dataFd != INVALID_SOCKET) {
closesocket(ctxt->dataFd);
- ctxt->dataFd = -1;
+ ctxt->dataFd = INVALID_SOCKET;
}
- if (ctxt->controlFd >= 0) {
+ if (ctxt->controlFd != INVALID_SOCKET) {
xmlNanoFTPQuit(ctxt);
closesocket(ctxt->controlFd);
- ctxt->controlFd = -1;
+ ctxt->controlFd = INVALID_SOCKET;
}
xmlNanoFTPFreeCtxt(ctxt);
return(0);
@@ -2039,9 +2051,9 @@ xmlNanoFTPClose(void *ctx) {
#ifdef STANDALONE
/************************************************************************
- * *
- * Basic test in Standalone mode *
- * *
+ * *
+ * Basic test in Standalone mode *
+ * *
************************************************************************/
static
void ftpList(void *userData, const char *filename, const char* attrib,
@@ -2056,7 +2068,7 @@ void ftpData(void *userData, const char *data, int len) {
if (len <= 0) {
fclose((FILE*)userData);
return;
- }
+ }
fwrite(data, len, 1, (FILE*)userData);
}
@@ -2088,7 +2100,7 @@ int main(int argc, char **argv) {
if (xmlNanoFTPGet(ctxt, ftpData, (void *) output, tstfile) < 0)
xmlGenericError(xmlGenericErrorContext,
"Failed to get file\n");
-
+
}
xmlNanoFTPClose(ctxt);
xmlMemoryDump();
diff --git a/gettext-tools/gnulib-lib/libxml/nanoftp.in.h b/gettext-tools/gnulib-lib/libxml/nanoftp.in.h
index e3c28a0..abb4bf7 100644
--- a/gettext-tools/gnulib-lib/libxml/nanoftp.in.h
+++ b/gettext-tools/gnulib-lib/libxml/nanoftp.in.h
@@ -7,7 +7,7 @@
*
* Author: Daniel Veillard
*/
-
+
#ifndef __NANO_FTP_H__
#define __NANO_FTP_H__
@@ -15,12 +15,32 @@
#ifdef LIBXML_FTP_ENABLED
+/* Needed for portability to Windows 64 bits */
+#if defined(__MINGW32__) || defined(_WIN32_WCE)
+#include <winsock2.h>
+#else
+/**
+ * SOCKET:
+ *
+ * macro used to provide portability of code to windows sockets
+ */
+#define SOCKET int
+/**
+ * INVALID_SOCKET:
+ *
+ * macro used to provide portability of code to windows sockets
+ * the value to be used when the socket is not valid
+ */
+#undef INVALID_SOCKET
+#define INVALID_SOCKET (-1)
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
/**
- * ftpListCallback:
+ * ftpListCallback:
* @userData: user provided data for the callback
* @filename: the file name (including "->" when links are shown)
* @attrib: the attribute string
@@ -44,7 +64,7 @@ typedef void (*ftpListCallback) (void *userData,
const char *month, int day, int hour,
int minute);
/**
- * ftpDataCallback:
+ * ftpDataCallback:
* @userData: the user provided context
* @data: the data received
* @len: its size in bytes
@@ -60,78 +80,78 @@ typedef void (*ftpDataCallback) (void *userData,
*/
XMLPUBFUN void XMLCALL
xmlNanoFTPInit (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoFTPCleanup (void);
/*
* Creating/freeing contexts.
*/
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoFTPNewCtxt (const char *URL);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoFTPFreeCtxt (void * ctx);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoFTPConnectTo (const char *server,
int port);
/*
* Opening/closing session connections.
*/
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoFTPOpen (const char *URL);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPConnect (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPClose (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPQuit (void *ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoFTPScanProxy (const char *URL);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoFTPProxy (const char *host,
int port,
const char *user,
const char *passwd,
int type);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPUpdateURL (void *ctx,
const char *URL);
/*
* Rather internal commands.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPGetResponse (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPCheckResponse (void *ctx);
/*
* CD/DIR/GET handlers.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPCwd (void *ctx,
const char *directory);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPDele (void *ctx,
const char *file);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN SOCKET XMLCALL
xmlNanoFTPGetConnection (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPCloseConnection(void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPList (void *ctx,
ftpListCallback callback,
void *userData,
const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN SOCKET XMLCALL
xmlNanoFTPGetSocket (void *ctx,
const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPGet (void *ctx,
ftpDataCallback callback,
void *userData,
const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoFTPRead (void *ctx,
void *dest,
int len);
diff --git a/gettext-tools/gnulib-lib/libxml/nanohttp.c b/gettext-tools/gnulib-lib/libxml/nanohttp.c
index ae7923f..e109ad7 100644
--- a/gettext-tools/gnulib-lib/libxml/nanohttp.c
+++ b/gettext-tools/gnulib-lib/libxml/nanohttp.c
@@ -10,7 +10,7 @@
*
* daniel@veillard.com
*/
-
+
#define NEED_SOCKETS
#define IN_LIBXML
#include "libxml.h"
@@ -46,7 +46,7 @@
#include <resolv.h>
#endif
#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
+#include <fcntl.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
@@ -54,15 +54,16 @@
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
+#ifndef HAVE_POLL_H
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
+#else
+#include <poll.h>
+#endif
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
-#ifdef SUPPORT_IP6
-#include <resolv.h>
-#endif
#ifdef HAVE_ZLIB_H
#include <zlib.h>
#endif
@@ -71,19 +72,18 @@
#ifdef VMS
#include <stropts>
#define XML_SOCKLEN_T unsigned int
-#define SOCKET int
#endif
-
-#ifdef __MINGW32__
+#if defined(__MINGW32__) || defined(_WIN32_WCE)
+#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
+#endif
#include <wsockcompat.h>
#include <winsock2.h>
#undef XML_SOCKLEN_T
#define XML_SOCKLEN_T unsigned int
#endif
-
#include <libxml/globals.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlmemory.h>
@@ -96,10 +96,11 @@
* A couple portability macros
*/
#ifndef _WINSOCKAPI_
-#ifndef __BEOS__
+#if !defined(__BEOS__) || defined(__HAIKU__)
#define closesocket(s) close(s)
#endif
#define SOCKET int
+#define INVALID_SOCKET (-1)
#endif
#ifdef __BEOS__
@@ -111,9 +112,6 @@
#ifndef XML_SOCKLEN_T
#define XML_SOCKLEN_T unsigned int
#endif
-#ifndef SOCKET
-#define SOCKET int
-#endif
#ifdef STANDALONE
#define DEBUG_HTTP
@@ -147,6 +145,7 @@ typedef struct xmlNanoHTTPCtxt {
int inlen; /* len of the input buffer */
int last; /* return code for last operation */
int returnValue; /* the protocol return value */
+ int version; /* the protocol version */
int ContentLength; /* specified content length from HTTP header */
char *contentType; /* the MIME type for the input */
char *location; /* the new URL in case of redirect */
@@ -192,10 +191,10 @@ static int socket_errno(void) {
#ifdef SUPPORT_IP6
static
int have_ipv6(void) {
- int s;
+ SOCKET s;
s = socket (AF_INET6, SOCK_STREAM, 0);
- if (s != -1) {
+ if (s != INVALID_SOCKET) {
close (s);
return (1);
}
@@ -214,7 +213,7 @@ void
xmlNanoHTTPInit(void) {
const char *env;
#ifdef _WINSOCKAPI_
- WSADATA wsaData;
+ WSADATA wsaData;
#endif
if (initialized)
@@ -277,22 +276,24 @@ xmlNanoHTTPCleanup(void) {
static void
xmlNanoHTTPScanURL(xmlNanoHTTPCtxtPtr ctxt, const char *URL) {
xmlURIPtr uri;
+ int len;
+
/*
* Clear any existing data from the context
*/
- if (ctxt->protocol != NULL) {
+ if (ctxt->protocol != NULL) {
xmlFree(ctxt->protocol);
ctxt->protocol = NULL;
}
- if (ctxt->hostname != NULL) {
+ if (ctxt->hostname != NULL) {
xmlFree(ctxt->hostname);
ctxt->hostname = NULL;
}
- if (ctxt->path != NULL) {
+ if (ctxt->path != NULL) {
xmlFree(ctxt->path);
ctxt->path = NULL;
}
- if (ctxt->query != NULL) {
+ if (ctxt->query != NULL) {
xmlFree(ctxt->query);
ctxt->query = NULL;
}
@@ -306,9 +307,17 @@ xmlNanoHTTPScanURL(xmlNanoHTTPCtxtPtr ctxt, const char *URL) {
xmlFreeURI(uri);
return;
}
-
+
ctxt->protocol = xmlMemStrdup(uri->scheme);
- ctxt->hostname = xmlMemStrdup(uri->server);
+ /* special case of IPv6 addresses, the [] need to be removed */
+ if ((uri->server != NULL) && (*uri->server == '[')) {
+ len = strlen(uri->server);
+ if ((len > 2) && (uri->server[len - 1] == ']')) {
+ ctxt->hostname = (char *) xmlCharStrndup(uri->server + 1, len -2);
+ } else
+ ctxt->hostname = xmlMemStrdup(uri->server);
+ } else
+ ctxt->hostname = xmlMemStrdup(uri->server);
if (uri->path != NULL)
ctxt->path = xmlMemStrdup(uri->path);
else
@@ -335,7 +344,7 @@ void
xmlNanoHTTPScanProxy(const char *URL) {
xmlURIPtr uri;
- if (proxy != NULL) {
+ if (proxy != NULL) {
xmlFree(proxy);
proxy = NULL;
}
@@ -359,7 +368,7 @@ xmlNanoHTTPScanProxy(const char *URL) {
xmlFreeURI(uri);
return;
}
-
+
proxy = xmlMemStrdup(uri->server);
if (uri->port != 0)
proxyPort = uri->port;
@@ -389,7 +398,7 @@ xmlNanoHTTPNewCtxt(const char *URL) {
memset(ret, 0, sizeof(xmlNanoHTTPCtxt));
ret->port = 80;
ret->returnValue = 0;
- ret->fd = -1;
+ ret->fd = INVALID_SOCKET;
ret->ContentLength = -1;
xmlNanoHTTPScanURL(ret, URL);
@@ -426,8 +435,8 @@ xmlNanoHTTPFreeCtxt(xmlNanoHTTPCtxtPtr ctxt) {
#endif
ctxt->state = XML_NANO_HTTP_NONE;
- if (ctxt->fd >= 0) closesocket(ctxt->fd);
- ctxt->fd = -1;
+ if (ctxt->fd != INVALID_SOCKET) closesocket(ctxt->fd);
+ ctxt->fd = INVALID_SOCKET;
xmlFree(ctxt);
}
@@ -440,51 +449,64 @@ xmlNanoHTTPFreeCtxt(xmlNanoHTTPCtxtPtr ctxt) {
*/
static int
-xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt, const char * xmt_ptr, int outlen) {
-
- int total_sent = 0;
+xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt, const char *xmt_ptr, int outlen)
+{
+ int total_sent = 0;
+#ifdef HAVE_POLL_H
+ struct pollfd p;
+#else
+ struct timeval tv;
+ fd_set wfd;
+#endif
- if ( (ctxt->state & XML_NANO_HTTP_WRITE) && (xmt_ptr != NULL ) ) {
+ if ((ctxt->state & XML_NANO_HTTP_WRITE) && (xmt_ptr != NULL)) {
while (total_sent < outlen) {
- int nsent = send(ctxt->fd, xmt_ptr + total_sent,
- outlen - total_sent, 0);
- if (nsent>0)
+ int nsent = send(ctxt->fd, SEND_ARG2_CAST (xmt_ptr + total_sent),
+ outlen - total_sent, 0);
+
+ if (nsent > 0)
total_sent += nsent;
- else if ( ( nsent == -1 ) &&
+ else if ((nsent == -1) &&
#if defined(EAGAIN) && EAGAIN != EWOULDBLOCK
- ( socket_errno( ) != EAGAIN ) &&
+ (socket_errno() != EAGAIN) &&
+#endif
+ (socket_errno() != EWOULDBLOCK)) {
+ __xmlIOErr(XML_FROM_HTTP, 0, "send failed\n");
+ if (total_sent == 0)
+ total_sent = -1;
+ break;
+ } else {
+ /*
+ * No data sent
+ * Since non-blocking sockets are used, wait for
+ * socket to be writable or default timeout prior
+ * to retrying.
+ */
+#ifndef HAVE_POLL_H
+#ifndef _WINSOCKAPI_
+ if (ctxt->fd > FD_SETSIZE)
+ return -1;
#endif
- ( socket_errno( ) != EWOULDBLOCK ) ) {
- __xmlIOErr(XML_FROM_HTTP, 0, "send failed\n");
- if ( total_sent == 0 )
- total_sent = -1;
- break;
- }
- else {
- /*
- ** No data sent
- ** Since non-blocking sockets are used, wait for
- ** socket to be writable or default timeout prior
- ** to retrying.
- */
-
- struct timeval tv;
- fd_set wfd;
-
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
- FD_ZERO( &wfd );
+
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+ FD_ZERO(&wfd);
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable: 4018)
#endif
- FD_SET( ctxt->fd, &wfd );
+ FD_SET(ctxt->fd, &wfd);
#ifdef _MSC_VER
#pragma warning(pop)
#endif
- (void)select( ctxt->fd + 1, NULL, &wfd, NULL, &tv );
- }
- }
+ (void) select(ctxt->fd + 1, NULL, &wfd, NULL, &tv);
+#else
+ p.fd = ctxt->fd;
+ p.events = POLLOUT;
+ (void) poll(&p, 1, timeout * 1000);
+#endif /* !HAVE_POLL_H */
+ }
+ }
}
return total_sent;
@@ -501,96 +523,119 @@ xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt, const char * xmt_ptr, int outlen) {
*/
static int
-xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
+xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt)
+{
+#ifdef HAVE_POLL_H
+ struct pollfd p;
+#else
fd_set rfd;
struct timeval tv;
+#endif
while (ctxt->state & XML_NANO_HTTP_READ) {
- if (ctxt->in == NULL) {
- ctxt->in = (char *) xmlMallocAtomic(65000 * sizeof(char));
- if (ctxt->in == NULL) {
- xmlHTTPErrMemory("allocating input");
- ctxt->last = -1;
- return(-1);
- }
- ctxt->inlen = 65000;
- ctxt->inptr = ctxt->content = ctxt->inrptr = ctxt->in;
- }
- if (ctxt->inrptr > ctxt->in + XML_NANO_HTTP_CHUNK) {
- int delta = ctxt->inrptr - ctxt->in;
- int len = ctxt->inptr - ctxt->inrptr;
-
- memmove(ctxt->in, ctxt->inrptr, len);
- ctxt->inrptr -= delta;
- ctxt->content -= delta;
- ctxt->inptr -= delta;
- }
+ if (ctxt->in == NULL) {
+ ctxt->in = (char *) xmlMallocAtomic(65000 * sizeof(char));
+ if (ctxt->in == NULL) {
+ xmlHTTPErrMemory("allocating input");
+ ctxt->last = -1;
+ return (-1);
+ }
+ ctxt->inlen = 65000;
+ ctxt->inptr = ctxt->content = ctxt->inrptr = ctxt->in;
+ }
+ if (ctxt->inrptr > ctxt->in + XML_NANO_HTTP_CHUNK) {
+ int delta = ctxt->inrptr - ctxt->in;
+ int len = ctxt->inptr - ctxt->inrptr;
+
+ memmove(ctxt->in, ctxt->inrptr, len);
+ ctxt->inrptr -= delta;
+ ctxt->content -= delta;
+ ctxt->inptr -= delta;
+ }
if ((ctxt->in + ctxt->inlen) < (ctxt->inptr + XML_NANO_HTTP_CHUNK)) {
- int d_inptr = ctxt->inptr - ctxt->in;
- int d_content = ctxt->content - ctxt->in;
- int d_inrptr = ctxt->inrptr - ctxt->in;
- char * tmp_ptr = ctxt->in;
+ int d_inptr = ctxt->inptr - ctxt->in;
+ int d_content = ctxt->content - ctxt->in;
+ int d_inrptr = ctxt->inrptr - ctxt->in;
+ char *tmp_ptr = ctxt->in;
- ctxt->inlen *= 2;
+ ctxt->inlen *= 2;
ctxt->in = (char *) xmlRealloc(tmp_ptr, ctxt->inlen);
- if (ctxt->in == NULL) {
- xmlHTTPErrMemory("allocating input buffer");
- xmlFree( tmp_ptr );
- ctxt->last = -1;
- return(-1);
- }
+ if (ctxt->in == NULL) {
+ xmlHTTPErrMemory("allocating input buffer");
+ xmlFree(tmp_ptr);
+ ctxt->last = -1;
+ return (-1);
+ }
ctxt->inptr = ctxt->in + d_inptr;
ctxt->content = ctxt->in + d_content;
ctxt->inrptr = ctxt->in + d_inrptr;
- }
- ctxt->last = recv(ctxt->fd, ctxt->inptr, XML_NANO_HTTP_CHUNK, 0);
- if (ctxt->last > 0) {
- ctxt->inptr += ctxt->last;
- return(ctxt->last);
- }
- if (ctxt->last == 0) {
- return(0);
- }
- if (ctxt->last == -1) {
- switch (socket_errno()) {
- case EINPROGRESS:
- case EWOULDBLOCK:
+ }
+ ctxt->last = recv(ctxt->fd, ctxt->inptr, XML_NANO_HTTP_CHUNK, 0);
+ if (ctxt->last > 0) {
+ ctxt->inptr += ctxt->last;
+ return (ctxt->last);
+ }
+ if (ctxt->last == 0) {
+ return (0);
+ }
+ if (ctxt->last == -1) {
+ switch (socket_errno()) {
+ case EINPROGRESS:
+ case EWOULDBLOCK:
#if defined(EAGAIN) && EAGAIN != EWOULDBLOCK
- case EAGAIN:
+ case EAGAIN:
+#endif
+ break;
+
+ case ECONNRESET:
+ case ESHUTDOWN:
+ return (0);
+
+ default:
+ __xmlIOErr(XML_FROM_HTTP, 0, "recv failed\n");
+ return (-1);
+ }
+ }
+#ifdef HAVE_POLL_H
+ p.fd = ctxt->fd;
+ p.events = POLLIN;
+ if ((poll(&p, 1, timeout * 1000) < 1)
+#if defined(EINTR)
+ && (errno != EINTR)
+#endif
+ )
+ return (0);
+#else /* !HAVE_POLL_H */
+#ifndef _WINSOCKAPI_
+ if (ctxt->fd > FD_SETSIZE)
+ return 0;
#endif
- break;
- case ECONNRESET:
- case ESHUTDOWN:
- return ( 0 );
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+ FD_ZERO(&rfd);
- default:
- __xmlIOErr(XML_FROM_HTTP, 0, "recv failed\n");
- return(-1);
- }
- }
-
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
- FD_ZERO(&rfd);
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable: 4018)
#endif
- FD_SET(ctxt->fd, &rfd);
+
+ FD_SET(ctxt->fd, &rfd);
+
#ifdef _MSC_VER
#pragma warning(pop)
#endif
-
- if ( (select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1)
+
+ if ((select(ctxt->fd + 1, &rfd, NULL, NULL, &tv) < 1)
#if defined(EINTR)
- && (errno != EINTR)
+ && (errno != EINTR)
#endif
- )
- return(0);
+ )
+ return (0);
+#endif /* !HAVE_POLL_H */
}
- return(0);
+ return (0);
}
/**
@@ -609,7 +654,7 @@ xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) {
char buf[4096];
char *bp = buf;
int rc;
-
+
while (bp - buf < 4095) {
if (ctxt->inrptr == ctxt->inptr) {
if ( (rc = xmlNanoHTTPRecv(ctxt)) == 0) {
@@ -687,6 +732,7 @@ xmlNanoHTTPScanAnswer(xmlNanoHTTPCtxtPtr ctxt, const char *line) {
}
if ((*cur != 0) && (*cur != ' ') && (*cur != '\t')) return;
ctxt->returnValue = ret;
+ ctxt->version = version;
} else if (!xmlStrncasecmp(BAD_CAST line, BAD_CAST"Content-Type:", 13)) {
const xmlChar *charset, *last, *mime;
cur += 13;
@@ -745,9 +791,9 @@ xmlNanoHTTPScanAnswer(xmlNanoHTTPCtxtPtr ctxt, const char *line) {
xmlFree(ctxt->location);
if (*cur == '/') {
xmlChar *tmp_http = xmlStrdup(BAD_CAST "http://");
- xmlChar *tmp_loc =
+ xmlChar *tmp_loc =
xmlStrcat(tmp_http, (const xmlChar *) ctxt->hostname);
- ctxt->location =
+ ctxt->location =
(char *) xmlStrcat (tmp_loc, (const xmlChar *) cur);
} else {
ctxt->location = xmlMemStrdup(cur);
@@ -801,90 +847,99 @@ xmlNanoHTTPScanAnswer(xmlNanoHTTPCtxtPtr ctxt, const char *line) {
* Returns -1 in case of failure, the file descriptor number otherwise
*/
-static int
+static SOCKET
xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
{
+#ifndef HAVE_POLL_H
fd_set wfd;
#ifdef _WINSOCKAPI_
fd_set xfd;
#endif
struct timeval tv;
+#else /* !HAVE_POLL_H */
+ struct pollfd p;
+#endif /* !HAVE_POLL_H */
int status;
+
int addrlen;
+
SOCKET s;
-
+
#ifdef SUPPORT_IP6
if (addr->sa_family == AF_INET6) {
- s = socket (PF_INET6, SOCK_STREAM, IPPROTO_TCP);
- addrlen = sizeof (struct sockaddr_in6);
- }
- else
+ s = socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP);
+ addrlen = sizeof(struct sockaddr_in6);
+ } else
#endif
{
- s = socket (PF_INET, SOCK_STREAM, IPPROTO_TCP);
- addrlen = sizeof (struct sockaddr_in);
+ s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+ addrlen = sizeof(struct sockaddr_in);
}
- if (s==-1) {
+ if (s == INVALID_SOCKET) {
#ifdef DEBUG_HTTP
- perror("socket");
+ perror("socket");
#endif
- __xmlIOErr(XML_FROM_HTTP, 0, "socket failed\n");
- return(-1);
+ __xmlIOErr(XML_FROM_HTTP, 0, "socket failed\n");
+ return INVALID_SOCKET;
}
-
#ifdef _WINSOCKAPI_
{
- u_long one = 1;
+ u_long one = 1;
- status = ioctlsocket(s, FIONBIO, &one) == SOCKET_ERROR ? -1 : 0;
+ status = ioctlsocket(s, FIONBIO, &one) == SOCKET_ERROR ? -1 : 0;
}
#else /* _WINSOCKAPI_ */
#if defined(VMS)
{
- int enable = 1;
- status = ioctl(s, FIONBIO, &enable);
+ int enable = 1;
+
+ status = ioctl(s, FIONBIO, &enable);
}
#else /* VMS */
-#if defined(__BEOS__)
- {
- bool noblock = true;
- status = setsockopt(s, SOL_SOCKET, SO_NONBLOCK, &noblock, sizeof(noblock));
- }
+#if defined(__BEOS__) && !defined(__HAIKU__)
+ {
+ bool noblock = true;
+
+ status =
+ setsockopt(s, SOL_SOCKET, SO_NONBLOCK, &noblock,
+ sizeof(noblock));
+ }
#else /* __BEOS__ */
if ((status = fcntl(s, F_GETFL, 0)) != -1) {
#ifdef O_NONBLOCK
- status |= O_NONBLOCK;
+ status |= O_NONBLOCK;
#else /* O_NONBLOCK */
#ifdef F_NDELAY
- status |= F_NDELAY;
+ status |= F_NDELAY;
#endif /* F_NDELAY */
#endif /* !O_NONBLOCK */
- status = fcntl(s, F_SETFL, status);
+ status = fcntl(s, F_SETFL, status);
}
if (status < 0) {
#ifdef DEBUG_HTTP
- perror("nonblocking");
+ perror("nonblocking");
#endif
- __xmlIOErr(XML_FROM_HTTP, 0, "error setting non-blocking IO\n");
- closesocket(s);
- return(-1);
+ __xmlIOErr(XML_FROM_HTTP, 0, "error setting non-blocking IO\n");
+ closesocket(s);
+ return INVALID_SOCKET;
}
#endif /* !__BEOS__ */
#endif /* !VMS */
#endif /* !_WINSOCKAPI_ */
- if (connect (s, addr, addrlen) == -1) {
- switch (socket_errno()) {
- case EINPROGRESS:
- case EWOULDBLOCK:
- break;
- default:
- __xmlIOErr(XML_FROM_HTTP, 0, "error connecting to HTTP server");
- closesocket(s);
- return(-1);
- }
- }
-
+ if (connect(s, addr, addrlen) == -1) {
+ switch (socket_errno()) {
+ case EINPROGRESS:
+ case EWOULDBLOCK:
+ break;
+ default:
+ __xmlIOErr(XML_FROM_HTTP, 0,
+ "error connecting to HTTP server");
+ closesocket(s);
+ return INVALID_SOCKET;
+ }
+ }
+#ifndef HAVE_POLL_H
tv.tv_sec = timeout;
tv.tv_usec = 0;
@@ -892,63 +947,83 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
#pragma warning(push)
#pragma warning(disable: 4018)
#endif
+#ifndef _WINSOCKAPI_
+ if (s > FD_SETSIZE)
+ return INVALID_SOCKET;
+#endif
FD_ZERO(&wfd);
FD_SET(s, &wfd);
-#ifdef _WINSOCKAPI_
+#ifdef _WINSOCKAPI_
FD_ZERO(&xfd);
FD_SET(s, &xfd);
-
- switch(select(s+1, NULL, &wfd, &xfd, &tv))
+
+ switch (select(s + 1, NULL, &wfd, &xfd, &tv))
#else
- switch(select(s+1, NULL, &wfd, NULL, &tv))
+ switch (select(s + 1, NULL, &wfd, NULL, &tv))
#endif
#ifdef _MSC_VER
#pragma warning(pop)
#endif
+
+#else /* !HAVE_POLL_H */
+ p.fd = s;
+ p.events = POLLOUT;
+ switch (poll(&p, 1, timeout * 1000))
+#endif /* !HAVE_POLL_H */
+
{
- case 0:
- /* Time out */
- __xmlIOErr(XML_FROM_HTTP, 0, "Connect attempt timed out");
- closesocket(s);
- return(-1);
- case -1:
- /* Ermm.. ?? */
- __xmlIOErr(XML_FROM_HTTP, 0, "Connect failed");
- closesocket(s);
- return(-1);
+ case 0:
+ /* Time out */
+ __xmlIOErr(XML_FROM_HTTP, 0, "Connect attempt timed out");
+ closesocket(s);
+ return INVALID_SOCKET;
+ case -1:
+ /* Ermm.. ?? */
+ __xmlIOErr(XML_FROM_HTTP, 0, "Connect failed");
+ closesocket(s);
+ return INVALID_SOCKET;
}
- if ( FD_ISSET(s, &wfd)
+#ifndef HAVE_POLL_H
+ if (FD_ISSET(s, &wfd)
#ifdef _WINSOCKAPI_
- || FD_ISSET(s, &xfd)
+ || FD_ISSET(s, &xfd)
#endif
- ) {
- XML_SOCKLEN_T len;
- len = sizeof(status);
+ )
+#else /* !HAVE_POLL_H */
+ if (p.revents == POLLOUT)
+#endif /* !HAVE_POLL_H */
+ {
+ XML_SOCKLEN_T len;
+
+ len = sizeof(status);
#ifdef SO_ERROR
- if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char*)&status, &len) < 0 ) {
- /* Solaris error code */
- __xmlIOErr(XML_FROM_HTTP, 0, "getsockopt failed\n");
- return (-1);
- }
-#endif
- if ( status ) {
- __xmlIOErr(XML_FROM_HTTP, 0, "Error connecting to remote host");
- closesocket(s);
- errno = status;
- return (-1);
- }
+ if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char *) &status, &len) <
+ 0) {
+ /* Solaris error code */
+ __xmlIOErr(XML_FROM_HTTP, 0, "getsockopt failed\n");
+ closesocket(s);
+ return INVALID_SOCKET;
+ }
+#endif
+ if (status) {
+ __xmlIOErr(XML_FROM_HTTP, 0,
+ "Error connecting to remote host");
+ closesocket(s);
+ errno = status;
+ return INVALID_SOCKET;
+ }
} else {
- /* pbm */
- __xmlIOErr(XML_FROM_HTTP, 0, "select failed\n");
- closesocket(s);
- return (-1);
+ /* pbm */
+ __xmlIOErr(XML_FROM_HTTP, 0, "select failed\n");
+ closesocket(s);
+ return INVALID_SOCKET;
}
-
- return(s);
+
+ return (s);
}
-
+
/**
* xmlNanoHTTPConnectHost:
* @host: the host name
@@ -960,7 +1035,7 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
* Returns -1 in case of failure, the file descriptor number otherwise
*/
-static int
+static SOCKET
xmlNanoHTTPConnectHost(const char *host, int port)
{
struct hostent *h;
@@ -973,7 +1048,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
struct sockaddr_in6 sockin6;
#endif
int i;
- int s;
+ SOCKET s;
memset (&sockin, 0, sizeof(sockin));
#ifdef SUPPORT_IP6
@@ -1004,7 +1079,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
status = getaddrinfo (host, NULL, &hints, &result);
if (status) {
__xmlIOErr(XML_FROM_HTTP, 0, "getaddrinfo failed\n");
- return (-1);
+ return INVALID_SOCKET;
}
for (res = result; res; res = res->ai_next) {
@@ -1012,7 +1087,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
if (res->ai_addrlen > sizeof(sockin)) {
__xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
freeaddrinfo (result);
- return (-1);
+ return INVALID_SOCKET;
}
memcpy (&sockin, res->ai_addr, res->ai_addrlen);
sockin.sin_port = htons (port);
@@ -1022,7 +1097,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
if (res->ai_addrlen > sizeof(sockin6)) {
__xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
freeaddrinfo (result);
- return (-1);
+ return INVALID_SOCKET;
}
memcpy (&sockin6, res->ai_addr, res->ai_addrlen);
sockin6.sin6_port = htons (port);
@@ -1032,7 +1107,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
continue; /* for */
s = xmlNanoHTTPConnectAttempt (addr);
- if (s != -1) {
+ if (s != INVALID_SOCKET) {
freeaddrinfo (result);
return (s);
}
@@ -1047,7 +1122,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
#endif
#if !defined(HAVE_GETADDRINFO) || !defined(_WIN32)
{
- h = gethostbyname (host);
+ h = gethostbyname (GETHOSTBYNAME_ARG_CAST host);
if (h == NULL) {
/*
@@ -1073,10 +1148,12 @@ xmlNanoHTTPConnectHost(const char *host, int port)
"Non-recoverable errors: FORMERR, REFUSED, or NOTIMP.";
break;
+#ifdef NO_ADDRESS
case NO_ADDRESS:
h_err_txt =
"Valid name, no data record of requested type.";
break;
+#endif
default:
h_err_txt = "No error text defined.";
@@ -1086,7 +1163,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
#else
__xmlIOErr(XML_FROM_HTTP, 0, "Failed to resolve host");
#endif
- return (-1);
+ return INVALID_SOCKET;
}
for (i = 0; h->h_addr_list[i]; i++) {
@@ -1094,19 +1171,19 @@ xmlNanoHTTPConnectHost(const char *host, int port)
/* A records (IPv4) */
if ((unsigned int) h->h_length > sizeof(ia)) {
__xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
- return (-1);
+ return INVALID_SOCKET;
}
memcpy (&ia, h->h_addr_list[i], h->h_length);
sockin.sin_family = h->h_addrtype;
sockin.sin_addr = ia;
- sockin.sin_port = (u_short)htons ((unsigned short)port);
+ sockin.sin_port = (unsigned short)htons ((unsigned short)port);
addr = (struct sockaddr *) &sockin;
#ifdef SUPPORT_IP6
} else if (have_ipv6 () && (h->h_addrtype == AF_INET6)) {
/* AAAA records (IPv6) */
if ((unsigned int) h->h_length > sizeof(ia6)) {
__xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
- return (-1);
+ return INVALID_SOCKET;
}
memcpy (&ia6, h->h_addr_list[i], h->h_length);
sockin6.sin6_family = h->h_addrtype;
@@ -1118,7 +1195,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
break; /* for */
s = xmlNanoHTTPConnectAttempt (addr);
- if (s != -1)
+ if (s != INVALID_SOCKET)
return (s);
}
}
@@ -1129,7 +1206,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
"xmlNanoHTTPConnectHost: unable to connect to '%s'.\n",
host);
#endif
- return (-1);
+ return INVALID_SOCKET;
}
@@ -1201,19 +1278,22 @@ xmlNanoHTTPRead(void *ctx, void *dest, int len) {
#ifdef HAVE_ZLIB_H
if (ctxt->usesGzip == 1) {
if (ctxt->strm == NULL) return(0);
-
+
ctxt->strm->next_out = dest;
ctxt->strm->avail_out = len;
+ ctxt->strm->avail_in = ctxt->inptr - ctxt->inrptr;
- do {
- orig_avail_in = ctxt->strm->avail_in = ctxt->inptr - ctxt->inrptr - bytes_read;
+ while (ctxt->strm->avail_out > 0 &&
+ (ctxt->strm->avail_in > 0 || xmlNanoHTTPRecv(ctxt) > 0)) {
+ orig_avail_in = ctxt->strm->avail_in =
+ ctxt->inptr - ctxt->inrptr - bytes_read;
ctxt->strm->next_in = BAD_CAST (ctxt->inrptr + bytes_read);
z_ret = inflate(ctxt->strm, Z_NO_FLUSH);
bytes_read += orig_avail_in - ctxt->strm->avail_in;
if (z_ret != Z_OK) break;
- } while (ctxt->strm->avail_out > 0 && xmlNanoHTTPRecv(ctxt) > 0);
+ }
ctxt->inrptr += bytes_read;
return(len - ctxt->strm->avail_out);
@@ -1270,30 +1350,30 @@ xmlNanoHTTPMethodRedir(const char *URL, const char *method, const char *input,
const char *headers, int ilen ) {
xmlNanoHTTPCtxtPtr ctxt;
char *bp, *p;
- int blen, ret;
- int head;
+ int blen;
+ SOCKET ret;
int nbRedirects = 0;
char *redirURL = NULL;
#ifdef DEBUG_HTTP
int xmt_bytes;
#endif
-
+
if (URL == NULL) return(NULL);
if (method == NULL) method = "GET";
xmlNanoHTTPInit();
retry:
- if (redirURL == NULL)
+ if (redirURL == NULL) {
ctxt = xmlNanoHTTPNewCtxt(URL);
- else {
+ if (ctxt == NULL)
+ return(NULL);
+ } else {
ctxt = xmlNanoHTTPNewCtxt(redirURL);
+ if (ctxt == NULL)
+ return(NULL);
ctxt->location = xmlMemStrdup(redirURL);
}
- if ( ctxt == NULL ) {
- return ( NULL );
- }
-
if ((ctxt->protocol == NULL) || (strcmp(ctxt->protocol, "http"))) {
__xmlIOErr(XML_FROM_HTTP, XML_HTTP_URL_SYNTAX, "Not a valid HTTP URI");
xmlNanoHTTPFreeCtxt(ctxt);
@@ -1315,7 +1395,7 @@ retry:
blen = strlen(ctxt->hostname);
ret = xmlNanoHTTPConnectHost(ctxt->hostname, ctxt->port);
}
- if (ret < 0) {
+ if (ret == INVALID_SOCKET) {
xmlNanoHTTPFreeCtxt(ctxt);
if (redirURL != NULL) xmlFree(redirURL);
return(NULL);
@@ -1330,13 +1410,23 @@ retry:
if (headers != NULL)
blen += strlen(headers) + 2;
if (contentType && *contentType)
+ /* reserve for string plus 'Content-Type: \r\n" */
blen += strlen(*contentType) + 16;
if (ctxt->query != NULL)
+ /* 1 for '?' */
blen += strlen(ctxt->query) + 1;
blen += strlen(method) + strlen(ctxt->path) + 24;
#ifdef HAVE_ZLIB_H
+ /* reserve for possible 'Accept-Encoding: gzip' string */
blen += 23;
#endif
+ if (ctxt->port != 80) {
+ /* reserve space for ':xxxxx', incl. potential proxy */
+ if (proxy)
+ blen += 12;
+ else
+ blen += 6;
+ }
bp = (char*)xmlMallocAtomic(blen);
if ( bp == NULL ) {
xmlNanoHTTPFreeCtxt( ctxt );
@@ -1348,13 +1438,13 @@ retry:
if (proxy) {
if (ctxt->port != 80) {
- p += snprintf( p, blen - (p - bp), "%s http://%s:%d%s",
+ p += snprintf( p, blen - (p - bp), "%s http://%s:%d%s",
method, ctxt->hostname,
- ctxt->port, ctxt->path );
+ ctxt->port, ctxt->path );
}
- else
+ else
p += snprintf( p, blen - (p - bp), "%s http://%s%s", method,
- ctxt->hostname, ctxt->path);
+ ctxt->hostname, ctxt->path);
}
else
p += snprintf( p, blen - (p - bp), "%s %s", method, ctxt->path);
@@ -1362,14 +1452,19 @@ retry:
if (ctxt->query != NULL)
p += snprintf( p, blen - (p - bp), "?%s", ctxt->query);
- p += snprintf( p, blen - (p - bp), " HTTP/1.0\r\nHost: %s\r\n",
+ if (ctxt->port == 80) {
+ p += snprintf( p, blen - (p - bp), " HTTP/1.0\r\nHost: %s\r\n",
ctxt->hostname);
+ } else {
+ p += snprintf( p, blen - (p - bp), " HTTP/1.0\r\nHost: %s:%d\r\n",
+ ctxt->hostname, ctxt->port);
+ }
#ifdef HAVE_ZLIB_H
p += snprintf(p, blen - (p - bp), "Accept-Encoding: gzip\r\n");
#endif
- if (contentType != NULL && *contentType)
+ if (contentType != NULL && *contentType)
p += snprintf(p, blen - (p - bp), "Content-Type: %s\r\n", *contentType);
if (headers != NULL)
@@ -1408,7 +1503,7 @@ retry:
if ( xmt_bytes != ilen )
xmlGenericError( xmlGenericErrorContext,
- "xmlNanoHTTPMethodRedir: Only %d of %d %s %s\n",
+ "xmlNanoHTTPMethodRedir: Only %d of %d %s %s\n",
xmt_bytes, ilen,
"bytes of HTTP content sent to host",
ctxt->hostname );
@@ -1418,11 +1513,9 @@ retry:
}
ctxt->state = XML_NANO_HTTP_READ;
- head = 1;
while ((p = xmlNanoHTTPReadLine(ctxt)) != NULL) {
- if (head && (*p == 0)) {
- head = 0;
+ if (*p == 0) {
ctxt->content = ctxt->inrptr;
xmlFree(p);
break;
@@ -1532,12 +1625,13 @@ xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) {
char *buf = NULL;
int fd;
int len;
-
+ int ret = 0;
+
if (filename == NULL) return(-1);
ctxt = xmlNanoHTTPOpen(URL, contentType);
if (ctxt == NULL) return(-1);
- if (!strcmp(filename, "-"))
+ if (!strcmp(filename, "-"))
fd = 0;
else {
fd = open(filename, O_CREAT | O_WRONLY, 00644);
@@ -1553,12 +1647,14 @@ xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) {
xmlNanoHTTPFetchContent( ctxt, &buf, &len );
if ( len > 0 ) {
- write(fd, buf, len);
+ if (write(fd, buf, len) == -1) {
+ ret = -1;
+ }
}
xmlNanoHTTPClose(ctxt);
close(fd);
- return(0);
+ return(ret);
}
#ifdef LIBXML_OUTPUT_ENABLED
@@ -1577,13 +1673,14 @@ xmlNanoHTTPSave(void *ctxt, const char *filename) {
char *buf = NULL;
int fd;
int len;
-
+ int ret = 0;
+
if ((ctxt == NULL) || (filename == NULL)) return(-1);
- if (!strcmp(filename, "-"))
+ if (!strcmp(filename, "-"))
fd = 0;
else {
- fd = open(filename, O_CREAT | O_WRONLY);
+ fd = open(filename, O_CREAT | O_WRONLY, 0666);
if (fd < 0) {
xmlNanoHTTPClose(ctxt);
return(-1);
@@ -1592,12 +1689,14 @@ xmlNanoHTTPSave(void *ctxt, const char *filename) {
xmlNanoHTTPFetchContent( ctxt, &buf, &len );
if ( len > 0 ) {
- write(fd, buf, len);
+ if (write(fd, buf, len) == -1) {
+ ret = -1;
+ }
}
xmlNanoHTTPClose(ctxt);
close(fd);
- return(0);
+ return(ret);
}
#endif /* LIBXML_OUTPUT_ENABLED */
@@ -1707,7 +1806,7 @@ xmlNanoHTTPMimeType( void * ctx ) {
* Check if all the content was read
*
* Returns 0 if all the content was read and available, returns
- * -1 if received content length was less than specified or an error
+ * -1 if received content length was less than specified or an error
* occurred.
*/
static int
@@ -1761,7 +1860,7 @@ int main(int argc, char **argv) {
char *contentType = NULL;
if (argv[1] != NULL) {
- if (argv[2] != NULL)
+ if (argv[2] != NULL)
xmlNanoHTTPFetch(argv[1], argv[2], &contentType);
else
xmlNanoHTTPFetch(argv[1], "-", &contentType);
diff --git a/gettext-tools/gnulib-lib/libxml/nanohttp.in.h b/gettext-tools/gnulib-lib/libxml/nanohttp.in.h
index 1d8ac24..22b8fb4 100644
--- a/gettext-tools/gnulib-lib/libxml/nanohttp.in.h
+++ b/gettext-tools/gnulib-lib/libxml/nanohttp.in.h
@@ -7,7 +7,7 @@
*
* Author: Daniel Veillard
*/
-
+
#ifndef __NANO_HTTP_H__
#define __NANO_HTTP_H__
@@ -20,22 +20,22 @@ extern "C" {
#endif
XMLPUBFUN void XMLCALL
xmlNanoHTTPInit (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoHTTPCleanup (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoHTTPScanProxy (const char *URL);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoHTTPFetch (const char *URL,
const char *filename,
char **contentType);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoHTTPMethod (const char *URL,
const char *method,
const char *input,
char **contentType,
const char *headers,
int ilen);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoHTTPMethodRedir (const char *URL,
const char *method,
const char *input,
@@ -43,16 +43,16 @@ XMLPUBFUN void * XMLCALL
char **redir,
const char *headers,
int ilen);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoHTTPOpen (const char *URL,
char **contentType);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlNanoHTTPOpenRedir (const char *URL,
char **contentType,
char **redir);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoHTTPReturnCode (void *ctx);
-XMLPUBFUN const char * XMLCALL
+XMLPUBFUN const char * XMLCALL
xmlNanoHTTPAuthHeader (void *ctx);
XMLPUBFUN const char * XMLCALL
xmlNanoHTTPRedir (void *ctx);
@@ -62,16 +62,16 @@ XMLPUBFUN const char * XMLCALL
xmlNanoHTTPEncoding (void *ctx);
XMLPUBFUN const char * XMLCALL
xmlNanoHTTPMimeType (void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoHTTPRead (void *ctx,
void *dest,
int len);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNanoHTTPSave (void *ctxt,
const char *filename);
#endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNanoHTTPClose (void *ctx);
#ifdef __cplusplus
}
diff --git a/gettext-tools/gnulib-lib/libxml/parser.c b/gettext-tools/gnulib-lib/libxml/parser.c
index bd44585..c5741e3 100644
--- a/gettext-tools/gnulib-lib/libxml/parser.c
+++ b/gettext-tools/gnulib-lib/libxml/parser.c
@@ -17,7 +17,7 @@
* parserInternals.c to reduce this file size.
* As much as possible the functions are associated with their relative
* production in the XML specification. A few productions defining the
- * different ranges of character are actually implanted either in
+ * different ranges of character are actually implanted either in
* parserInternals.h or parserInternals.c
* The DOM tree build is realized from the default SAX callbacks in
* the module SAX.c.
@@ -40,6 +40,7 @@
#endif
#include <stdlib.h>
+#include <limits.h>
#include <string.h>
#include <stdarg.h>
#include <libxml/xmlmemory.h>
@@ -79,36 +80,193 @@
#ifdef HAVE_ZLIB_H
#include <zlib.h>
#endif
+#ifdef HAVE_LZMA_H
+#include <lzma.h>
+#endif
+
+#include "buf.h"
+#include "enc.h"
+
+static void
+xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info);
+
+static xmlParserCtxtPtr
+xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
+ const xmlChar *base, xmlParserCtxtPtr pctx);
+
+static void xmlHaltParser(xmlParserCtxtPtr ctxt);
+
+/************************************************************************
+ * *
+ * Arbitrary limits set in the parser. See XML_PARSE_HUGE *
+ * *
+ ************************************************************************/
+
+#define XML_PARSER_BIG_ENTITY 1000
+#define XML_PARSER_LOT_ENTITY 5000
+
+/*
+ * XML_PARSER_NON_LINEAR is the threshold where the ratio of parsed entity
+ * replacement over the size in byte of the input indicates that you have
+ * and eponential behaviour. A value of 10 correspond to at least 3 entity
+ * replacement per byte of input.
+ */
+#define XML_PARSER_NON_LINEAR 10
+
+/*
+ * xmlParserEntityCheck
+ *
+ * Function to check non-linear entity expansion behaviour
+ * This is here to detect and stop exponential linear entity expansion
+ * This is not a limitation of the parser but a safety
+ * boundary feature. It can be disabled with the XML_PARSE_HUGE
+ * parser option.
+ */
+static int
+xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
+ xmlEntityPtr ent, size_t replacement)
+{
+ size_t consumed = 0;
+
+ if ((ctxt == NULL) || (ctxt->options & XML_PARSE_HUGE))
+ return (0);
+ if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
+ return (1);
+
+ /*
+ * This may look absurd but is needed to detect
+ * entities problems
+ */
+ if ((ent != NULL) && (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
+ (ent->content != NULL) && (ent->checked == 0)) {
+ unsigned long oldnbent = ctxt->nbentities;
+ xmlChar *rep;
+
+ ent->checked = 1;
+
+ rep = xmlStringDecodeEntities(ctxt, ent->content,
+ XML_SUBSTITUTE_REF, 0, 0, 0);
+
+ ent->checked = (ctxt->nbentities - oldnbent + 1) * 2;
+ if (rep != NULL) {
+ if (xmlStrchr(rep, '<'))
+ ent->checked |= 1;
+ xmlFree(rep);
+ rep = NULL;
+ }
+ }
+ if (replacement != 0) {
+ if (replacement < XML_MAX_TEXT_LENGTH)
+ return(0);
+
+ /*
+ * If the volume of entity copy reaches 10 times the
+ * amount of parsed data and over the large text threshold
+ * then that's very likely to be an abuse.
+ */
+ if (ctxt->input != NULL) {
+ consumed = ctxt->input->consumed +
+ (ctxt->input->cur - ctxt->input->base);
+ }
+ consumed += ctxt->sizeentities;
+
+ if (replacement < XML_PARSER_NON_LINEAR * consumed)
+ return(0);
+ } else if (size != 0) {
+ /*
+ * Do the check based on the replacement size of the entity
+ */
+ if (size < XML_PARSER_BIG_ENTITY)
+ return(0);
+
+ /*
+ * A limit on the amount of text data reasonably used
+ */
+ if (ctxt->input != NULL) {
+ consumed = ctxt->input->consumed +
+ (ctxt->input->cur - ctxt->input->base);
+ }
+ consumed += ctxt->sizeentities;
+
+ if ((size < XML_PARSER_NON_LINEAR * consumed) &&
+ (ctxt->nbentities * 3 < XML_PARSER_NON_LINEAR * consumed))
+ return (0);
+ } else if (ent != NULL) {
+ /*
+ * use the number of parsed entities in the replacement
+ */
+ size = ent->checked / 2;
+
+ /*
+ * The amount of data parsed counting entities size only once
+ */
+ if (ctxt->input != NULL) {
+ consumed = ctxt->input->consumed +
+ (ctxt->input->cur - ctxt->input->base);
+ }
+ consumed += ctxt->sizeentities;
+
+ /*
+ * Check the density of entities for the amount of data
+ * knowing an entity reference will take at least 3 bytes
+ */
+ if (size * 3 < consumed * XML_PARSER_NON_LINEAR)
+ return (0);
+ } else {
+ /*
+ * strange we got no data for checking
+ */
+ if (((ctxt->lastError.code != XML_ERR_UNDECLARED_ENTITY) &&
+ (ctxt->lastError.code != XML_WAR_UNDECLARED_ENTITY)) ||
+ (ctxt->nbentities <= 10000))
+ return (0);
+ }
+ xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+ return (1);
+}
/**
* xmlParserMaxDepth:
*
- * arbitrary depth limit for the XML documents that we allow to
- * process. This is not a limitation of the parser but a safety
- * boundary feature.
+ * arbitrary depth limit for the XML documents that we allow to
+ * process. This is not a limitation of the parser but a safety
+ * boundary feature. It can be disabled with the XML_PARSE_HUGE
+ * parser option.
*/
-unsigned int xmlParserMaxDepth = 1024;
+unsigned int xmlParserMaxDepth = 256;
-#define SAX2 1
+
+#define SAX2 1
#define XML_PARSER_BIG_BUFFER_SIZE 300
#define XML_PARSER_BUFFER_SIZE 100
-
#define SAX_COMPAT_MODE BAD_CAST "SAX compatibility mode document"
+/**
+ * XML_PARSER_CHUNK_SIZE
+ *
+ * When calling GROW that's the minimal amount of data
+ * the parser expected to have received. It is not a hard
+ * limit but an optimization when reading strings like Names
+ * It is not strictly needed as long as inputs available characters
+ * are followed by 0, which should be provided by the I/O level
+ */
+#define XML_PARSER_CHUNK_SIZE 100
+
/*
* List of XML prefixed PI allowed by W3C specs
*/
static const char *xmlW3CPIs[] = {
"xml-stylesheet",
+ "xml-model",
NULL
};
/* DEPR void xmlParserHandleReference(xmlParserCtxtPtr ctxt); */
-xmlEntityPtr xmlParseStringPEReference(xmlParserCtxtPtr ctxt,
- const xmlChar **str);
+static xmlEntityPtr xmlParseStringPEReference(xmlParserCtxtPtr ctxt,
+ const xmlChar **str);
static xmlParserErrors
xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
@@ -116,6 +274,9 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
void *user_data, int depth, const xmlChar *URL,
const xmlChar *ID, xmlNodePtr *list);
+static int
+xmlCtxtUseOptionsInternal(xmlParserCtxtPtr ctxt, int options,
+ const char *encoding);
#ifdef LIBXML_LEGACY_ENABLED
static void
xmlAddEntityReference(xmlEntityPtr ent, xmlNodePtr firstNode,
@@ -126,9 +287,12 @@ static xmlParserErrors
xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
const xmlChar *string, void *user_data, xmlNodePtr *lst);
+static int
+xmlLoadEntityContent(xmlParserCtxtPtr ctxt, xmlEntityPtr entity);
+
/************************************************************************
* *
- * Some factorized error routines *
+ * Some factorized error routines *
* *
************************************************************************/
@@ -149,14 +313,15 @@ xmlErrAttributeDup(xmlParserCtxtPtr ctxt, const xmlChar * prefix,
return;
if (ctxt != NULL)
ctxt->errNo = XML_ERR_ATTRIBUTE_REDEFINED;
+
if (prefix == NULL)
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_PARSER,
- ctxt->errNo, XML_ERR_FATAL, NULL, 0,
+ XML_ERR_ATTRIBUTE_REDEFINED, XML_ERR_FATAL, NULL, 0,
(const char *) localname, NULL, NULL, 0, 0,
"Attribute %s redefined\n", localname);
else
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_PARSER,
- ctxt->errNo, XML_ERR_FATAL, NULL, 0,
+ XML_ERR_ATTRIBUTE_REDEFINED, XML_ERR_FATAL, NULL, 0,
(const char *) prefix, (const char *) localname,
NULL, 0, 0, "Attribute %s:%s redefined\n", prefix,
localname);
@@ -179,193 +344,201 @@ static void
xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info)
{
const char *errmsg;
+ char errstr[129] = "";
if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
(ctxt->instate == XML_PARSER_EOF))
return;
switch (error) {
case XML_ERR_INVALID_HEX_CHARREF:
- errmsg = "CharRef: invalid hexadecimal value\n";
+ errmsg = "CharRef: invalid hexadecimal value";
break;
case XML_ERR_INVALID_DEC_CHARREF:
- errmsg = "CharRef: invalid decimal value\n";
+ errmsg = "CharRef: invalid decimal value";
break;
case XML_ERR_INVALID_CHARREF:
- errmsg = "CharRef: invalid value\n";
+ errmsg = "CharRef: invalid value";
break;
case XML_ERR_INTERNAL_ERROR:
errmsg = "internal error";
break;
case XML_ERR_PEREF_AT_EOF:
- errmsg = "PEReference at end of document\n";
+ errmsg = "PEReference at end of document";
break;
case XML_ERR_PEREF_IN_PROLOG:
- errmsg = "PEReference in prolog\n";
+ errmsg = "PEReference in prolog";
break;
case XML_ERR_PEREF_IN_EPILOG:
- errmsg = "PEReference in epilog\n";
+ errmsg = "PEReference in epilog";
break;
case XML_ERR_PEREF_NO_NAME:
- errmsg = "PEReference: no name\n";
+ errmsg = "PEReference: no name";
break;
case XML_ERR_PEREF_SEMICOL_MISSING:
- errmsg = "PEReference: expecting ';'\n";
+ errmsg = "PEReference: expecting ';'";
break;
case XML_ERR_ENTITY_LOOP:
- errmsg = "Detected an entity reference loop\n";
+ errmsg = "Detected an entity reference loop";
break;
case XML_ERR_ENTITY_NOT_STARTED:
- errmsg = "EntityValue: \" or ' expected\n";
+ errmsg = "EntityValue: \" or ' expected";
break;
case XML_ERR_ENTITY_PE_INTERNAL:
- errmsg = "PEReferences forbidden in internal subset\n";
+ errmsg = "PEReferences forbidden in internal subset";
break;
case XML_ERR_ENTITY_NOT_FINISHED:
- errmsg = "EntityValue: \" or ' expected\n";
+ errmsg = "EntityValue: \" or ' expected";
break;
case XML_ERR_ATTRIBUTE_NOT_STARTED:
- errmsg = "AttValue: \" or ' expected\n";
+ errmsg = "AttValue: \" or ' expected";
break;
case XML_ERR_LT_IN_ATTRIBUTE:
- errmsg = "Unescaped '<' not allowed in attributes values\n";
+ errmsg = "Unescaped '<' not allowed in attributes values";
break;
case XML_ERR_LITERAL_NOT_STARTED:
- errmsg = "SystemLiteral \" or ' expected\n";
+ errmsg = "SystemLiteral \" or ' expected";
break;
case XML_ERR_LITERAL_NOT_FINISHED:
- errmsg = "Unfinished System or Public ID \" or ' expected\n";
+ errmsg = "Unfinished System or Public ID \" or ' expected";
break;
case XML_ERR_MISPLACED_CDATA_END:
- errmsg = "Sequence ']]>' not allowed in content\n";
+ errmsg = "Sequence ']]>' not allowed in content";
break;
case XML_ERR_URI_REQUIRED:
- errmsg = "SYSTEM or PUBLIC, the URI is missing\n";
+ errmsg = "SYSTEM or PUBLIC, the URI is missing";
break;
case XML_ERR_PUBID_REQUIRED:
- errmsg = "PUBLIC, the Public Identifier is missing\n";
+ errmsg = "PUBLIC, the Public Identifier is missing";
break;
case XML_ERR_HYPHEN_IN_COMMENT:
- errmsg = "Comment must not contain '--' (double-hyphen)\n";
+ errmsg = "Comment must not contain '--' (double-hyphen)";
break;
case XML_ERR_PI_NOT_STARTED:
- errmsg = "xmlParsePI : no target name\n";
+ errmsg = "xmlParsePI : no target name";
break;
case XML_ERR_RESERVED_XML_NAME:
- errmsg = "Invalid PI name\n";
+ errmsg = "Invalid PI name";
break;
case XML_ERR_NOTATION_NOT_STARTED:
- errmsg = "NOTATION: Name expected here\n";
+ errmsg = "NOTATION: Name expected here";
break;
case XML_ERR_NOTATION_NOT_FINISHED:
- errmsg = "'>' required to close NOTATION declaration\n";
+ errmsg = "'>' required to close NOTATION declaration";
break;
case XML_ERR_VALUE_REQUIRED:
- errmsg = "Entity value required\n";
+ errmsg = "Entity value required";
break;
case XML_ERR_URI_FRAGMENT:
errmsg = "Fragment not allowed";
break;
case XML_ERR_ATTLIST_NOT_STARTED:
- errmsg = "'(' required to start ATTLIST enumeration\n";
+ errmsg = "'(' required to start ATTLIST enumeration";
break;
case XML_ERR_NMTOKEN_REQUIRED:
- errmsg = "NmToken expected in ATTLIST enumeration\n";
+ errmsg = "NmToken expected in ATTLIST enumeration";
break;
case XML_ERR_ATTLIST_NOT_FINISHED:
- errmsg = "')' required to finish ATTLIST enumeration\n";
+ errmsg = "')' required to finish ATTLIST enumeration";
break;
case XML_ERR_MIXED_NOT_STARTED:
- errmsg = "MixedContentDecl : '|' or ')*' expected\n";
+ errmsg = "MixedContentDecl : '|' or ')*' expected";
break;
case XML_ERR_PCDATA_REQUIRED:
- errmsg = "MixedContentDecl : '#PCDATA' expected\n";
+ errmsg = "MixedContentDecl : '#PCDATA' expected";
break;
case XML_ERR_ELEMCONTENT_NOT_STARTED:
- errmsg = "ContentDecl : Name or '(' expected\n";
+ errmsg = "ContentDecl : Name or '(' expected";
break;
case XML_ERR_ELEMCONTENT_NOT_FINISHED:
- errmsg = "ContentDecl : ',' '|' or ')' expected\n";
+ errmsg = "ContentDecl : ',' '|' or ')' expected";
break;
case XML_ERR_PEREF_IN_INT_SUBSET:
errmsg =
- "PEReference: forbidden within markup decl in internal subset\n";
+ "PEReference: forbidden within markup decl in internal subset";
break;
case XML_ERR_GT_REQUIRED:
- errmsg = "expected '>'\n";
+ errmsg = "expected '>'";
break;
case XML_ERR_CONDSEC_INVALID:
- errmsg = "XML conditional section '[' expected\n";
+ errmsg = "XML conditional section '[' expected";
break;
case XML_ERR_EXT_SUBSET_NOT_FINISHED:
- errmsg = "Content error in the external subset\n";
+ errmsg = "Content error in the external subset";
break;
case XML_ERR_CONDSEC_INVALID_KEYWORD:
errmsg =
- "conditional section INCLUDE or IGNORE keyword expected\n";
+ "conditional section INCLUDE or IGNORE keyword expected";
break;
case XML_ERR_CONDSEC_NOT_FINISHED:
- errmsg = "XML conditional section not closed\n";
+ errmsg = "XML conditional section not closed";
break;
case XML_ERR_XMLDECL_NOT_STARTED:
- errmsg = "Text declaration '<?xml' required\n";
+ errmsg = "Text declaration '<?xml' required";
break;
case XML_ERR_XMLDECL_NOT_FINISHED:
- errmsg = "parsing XML declaration: '?>' expected\n";
+ errmsg = "parsing XML declaration: '?>' expected";
break;
case XML_ERR_EXT_ENTITY_STANDALONE:
- errmsg = "external parsed entities cannot be standalone\n";
+ errmsg = "external parsed entities cannot be standalone";
break;
case XML_ERR_ENTITYREF_SEMICOL_MISSING:
- errmsg = "EntityRef: expecting ';'\n";
+ errmsg = "EntityRef: expecting ';'";
break;
case XML_ERR_DOCTYPE_NOT_FINISHED:
- errmsg = "DOCTYPE improperly terminated\n";
+ errmsg = "DOCTYPE improperly terminated";
break;
case XML_ERR_LTSLASH_REQUIRED:
- errmsg = "EndTag: '</' not found\n";
+ errmsg = "EndTag: '</' not found";
break;
case XML_ERR_EQUAL_REQUIRED:
- errmsg = "expected '='\n";
+ errmsg = "expected '='";
break;
case XML_ERR_STRING_NOT_CLOSED:
- errmsg = "String not closed expecting \" or '\n";
+ errmsg = "String not closed expecting \" or '";
break;
case XML_ERR_STRING_NOT_STARTED:
- errmsg = "String not started expecting ' or \"\n";
+ errmsg = "String not started expecting ' or \"";
break;
case XML_ERR_ENCODING_NAME:
- errmsg = "Invalid XML encoding name\n";
+ errmsg = "Invalid XML encoding name";
break;
case XML_ERR_STANDALONE_VALUE:
- errmsg = "standalone accepts only 'yes' or 'no'\n";
+ errmsg = "standalone accepts only 'yes' or 'no'";
break;
case XML_ERR_DOCUMENT_EMPTY:
- errmsg = "Document is empty\n";
+ errmsg = "Document is empty";
break;
case XML_ERR_DOCUMENT_END:
- errmsg = "Extra content at the end of the document\n";
+ errmsg = "Extra content at the end of the document";
break;
case XML_ERR_NOT_WELL_BALANCED:
- errmsg = "chunk is not well balanced\n";
+ errmsg = "chunk is not well balanced";
break;
case XML_ERR_EXTRA_CONTENT:
- errmsg = "extra content at the end of well balanced chunk\n";
+ errmsg = "extra content at the end of well balanced chunk";
break;
case XML_ERR_VERSION_MISSING:
- errmsg = "Malformed declaration expecting version\n";
+ errmsg = "Malformed declaration expecting version";
+ break;
+ case XML_ERR_NAME_TOO_LONG:
+ errmsg = "Name too long use XML_PARSE_HUGE option";
break;
#if 0
case:
- errmsg = "\n";
+ errmsg = "";
break;
#endif
default:
- errmsg = "Unregistered error message\n";
+ errmsg = "Unregistered error message";
}
+ if (info == NULL)
+ snprintf(errstr, 128, "%s\n", errmsg);
+ else
+ snprintf(errstr, 128, "%s: %%s\n", errmsg);
if (ctxt != NULL)
ctxt->errNo = error;
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_PARSER, error,
- XML_ERR_FATAL, NULL, 0, info, NULL, NULL, 0, 0, errmsg,
+ XML_ERR_FATAL, NULL, 0, info, NULL, NULL, 0, 0, &errstr[0],
info);
if (ctxt != NULL) {
ctxt->wellFormed = 0;
@@ -392,7 +565,7 @@ xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
if (ctxt != NULL)
ctxt->errNo = error;
__xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_PARSER, error,
- XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, 0, 0, msg);
+ XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, 0, 0, "%s", msg);
if (ctxt != NULL) {
ctxt->wellFormed = 0;
if (ctxt->recovery == 0)
@@ -415,20 +588,28 @@ xmlWarningMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1, const xmlChar *str2)
{
xmlStructuredErrorFunc schannel = NULL;
-
+
if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
(ctxt->instate == XML_PARSER_EOF))
return;
if ((ctxt != NULL) && (ctxt->sax != NULL) &&
(ctxt->sax->initialized == XML_SAX2_MAGIC))
schannel = ctxt->sax->serror;
- __xmlRaiseError(schannel,
+ if (ctxt != NULL) {
+ __xmlRaiseError(schannel,
(ctxt->sax) ? ctxt->sax->warning : NULL,
ctxt->userData,
ctxt, NULL, XML_FROM_PARSER, error,
XML_ERR_WARNING, NULL, 0,
(const char *) str1, (const char *) str2, NULL, 0, 0,
msg, (const char *) str1, (const char *) str2);
+ } else {
+ __xmlRaiseError(schannel, NULL, NULL,
+ ctxt, NULL, XML_FROM_PARSER, error,
+ XML_ERR_WARNING, NULL, 0,
+ (const char *) str1, (const char *) str2, NULL, 0, 0,
+ msg, (const char *) str1, (const char *) str2);
+ }
}
/**
@@ -442,7 +623,7 @@ xmlWarningMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*/
static void
xmlValidityError(xmlParserCtxtPtr ctxt, xmlParserErrors error,
- const char *msg, const xmlChar *str1)
+ const char *msg, const xmlChar *str1, const xmlChar *str2)
{
xmlStructuredErrorFunc schannel = NULL;
@@ -454,14 +635,20 @@ xmlValidityError(xmlParserCtxtPtr ctxt, xmlParserErrors error,
if ((ctxt->sax != NULL) && (ctxt->sax->initialized == XML_SAX2_MAGIC))
schannel = ctxt->sax->serror;
}
- __xmlRaiseError(schannel,
+ if (ctxt != NULL) {
+ __xmlRaiseError(schannel,
ctxt->vctxt.error, ctxt->vctxt.userData,
ctxt, NULL, XML_FROM_DTD, error,
XML_ERR_ERROR, NULL, 0, (const char *) str1,
- NULL, NULL, 0, 0,
- msg, (const char *) str1);
- if (ctxt != NULL) {
+ (const char *) str2, NULL, 0, 0,
+ msg, (const char *) str1, (const char *) str2);
ctxt->valid = 0;
+ } else {
+ __xmlRaiseError(schannel, NULL, NULL,
+ ctxt, NULL, XML_FROM_DTD, error,
+ XML_ERR_ERROR, NULL, 0, (const char *) str1,
+ (const char *) str2, NULL, 0, 0,
+ msg, (const char *) str1, (const char *) str2);
}
}
@@ -506,7 +693,7 @@ xmlFatalErrMsgInt(xmlParserCtxtPtr ctxt, xmlParserErrors error,
*/
static void
xmlFatalErrMsgStrIntStr(xmlParserCtxtPtr ctxt, xmlParserErrors error,
- const char *msg, const xmlChar *str1, int val,
+ const char *msg, const xmlChar *str1, int val,
const xmlChar *str2)
{
if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
@@ -607,9 +794,34 @@ xmlNsErr(xmlParserCtxtPtr ctxt, xmlParserErrors error,
ctxt->nsWellFormed = 0;
}
+/**
+ * xmlNsWarn
+ * @ctxt: an XML parser context
+ * @error: the error number
+ * @msg: the message
+ * @info1: extra information string
+ * @info2: extra information string
+ *
+ * Handle a namespace warning error
+ */
+static void
+xmlNsWarn(xmlParserCtxtPtr ctxt, xmlParserErrors error,
+ const char *msg,
+ const xmlChar * info1, const xmlChar * info2,
+ const xmlChar * info3)
+{
+ if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
+ (ctxt->instate == XML_PARSER_EOF))
+ return;
+ __xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_NAMESPACE, error,
+ XML_ERR_WARNING, NULL, 0, (const char *) info1,
+ (const char *) info2, (const char *) info3, 0, 0, msg,
+ info1, info2, info3);
+}
+
/************************************************************************
* *
- * Library wide options *
+ * Library wide options *
* *
************************************************************************/
@@ -806,13 +1018,25 @@ xmlHasFeature(xmlFeature feature)
return(1);
#else
return(0);
-#endif
+#endif
case XML_WITH_ZLIB:
#ifdef LIBXML_ZLIB_ENABLED
return(1);
#else
return(0);
#endif
+ case XML_WITH_LZMA:
+#ifdef LIBXML_LZMA_ENABLED
+ return(1);
+#else
+ return(0);
+#endif
+ case XML_WITH_ICU:
+#ifdef LIBXML_ICU_ENABLED
+ return(1);
+#else
+ return(0);
+#endif
default:
break;
}
@@ -821,7 +1045,7 @@ xmlHasFeature(xmlFeature feature)
/************************************************************************
* *
- * SAX2 defaulted attributes handling *
+ * SAX2 defaulted attributes handling *
* *
************************************************************************/
@@ -845,8 +1069,8 @@ xmlDetectSAX2(xmlParserCtxtPtr ctxt) {
ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3);
ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5);
ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
- if ((ctxt->str_xml==NULL) || (ctxt->str_xmlns==NULL) ||
- (ctxt->str_xml_ns == NULL)) {
+ if ((ctxt->str_xml==NULL) || (ctxt->str_xmlns==NULL) ||
+ (ctxt->str_xml_ns == NULL)) {
xmlErrMemory(ctxt, NULL);
}
}
@@ -856,10 +1080,108 @@ typedef xmlDefAttrs *xmlDefAttrsPtr;
struct _xmlDefAttrs {
int nbAttrs; /* number of defaulted attributes on that element */
int maxAttrs; /* the size of the array */
- const xmlChar *values[4]; /* array of localname/prefix/values */
+ const xmlChar *values[5]; /* array of localname/prefix/values/external */
};
/**
+ * xmlAttrNormalizeSpace:
+ * @src: the source string
+ * @dst: the target string
+ *
+ * Normalize the space in non CDATA attribute values:
+ * If the attribute type is not CDATA, then the XML processor MUST further
+ * process the normalized attribute value by discarding any leading and
+ * trailing space (#x20) characters, and by replacing sequences of space
+ * (#x20) characters by a single space (#x20) character.
+ * Note that the size of dst need to be at least src, and if one doesn't need
+ * to preserve dst (and it doesn't come from a dictionary or read-only) then
+ * passing src as dst is just fine.
+ *
+ * Returns a pointer to the normalized value (dst) or NULL if no conversion
+ * is needed.
+ */
+static xmlChar *
+xmlAttrNormalizeSpace(const xmlChar *src, xmlChar *dst)
+{
+ if ((src == NULL) || (dst == NULL))
+ return(NULL);
+
+ while (*src == 0x20) src++;
+ while (*src != 0) {
+ if (*src == 0x20) {
+ while (*src == 0x20) src++;
+ if (*src != 0)
+ *dst++ = 0x20;
+ } else {
+ *dst++ = *src++;
+ }
+ }
+ *dst = 0;
+ if (dst == src)
+ return(NULL);
+ return(dst);
+}
+
+/**
+ * xmlAttrNormalizeSpace2:
+ * @src: the source string
+ *
+ * Normalize the space in non CDATA attribute values, a slightly more complex
+ * front end to avoid allocation problems when running on attribute values
+ * coming from the input.
+ *
+ * Returns a pointer to the normalized value (dst) or NULL if no conversion
+ * is needed.
+ */
+static const xmlChar *
+xmlAttrNormalizeSpace2(xmlParserCtxtPtr ctxt, xmlChar *src, int *len)
+{
+ int i;
+ int remove_head = 0;
+ int need_realloc = 0;
+ const xmlChar *cur;
+
+ if ((ctxt == NULL) || (src == NULL) || (len == NULL))
+ return(NULL);
+ i = *len;
+ if (i <= 0)
+ return(NULL);
+
+ cur = src;
+ while (*cur == 0x20) {
+ cur++;
+ remove_head++;
+ }
+ while (*cur != 0) {
+ if (*cur == 0x20) {
+ cur++;
+ if ((*cur == 0x20) || (*cur == 0)) {
+ need_realloc = 1;
+ break;
+ }
+ } else
+ cur++;
+ }
+ if (need_realloc) {
+ xmlChar *ret;
+
+ ret = xmlStrndup(src + remove_head, i - remove_head + 1);
+ if (ret == NULL) {
+ xmlErrMemory(ctxt, NULL);
+ return(NULL);
+ }
+ xmlAttrNormalizeSpace(ret, ret);
+ *len = (int) strlen((const char *)ret);
+ return(ret);
+ } else if (remove_head) {
+ *len -= remove_head;
+ memmove(src, src + remove_head, 1 + *len);
+ return(src);
+ }
+ return(NULL);
+}
+
+/**
* xmlAddDefAttrs:
* @ctxt: an XML parser context
* @fullname: the element fullname
@@ -878,6 +1200,14 @@ xmlAddDefAttrs(xmlParserCtxtPtr ctxt,
const xmlChar *name;
const xmlChar *prefix;
+ /*
+ * Allows to detect attribute redefinitions
+ */
+ if (ctxt->attsSpecial != NULL) {
+ if (xmlHashLookup2(ctxt->attsSpecial, fullname, fullattr) != NULL)
+ return;
+ }
+
if (ctxt->attsDefault == NULL) {
ctxt->attsDefault = xmlHashCreateDict(10, ctxt->dict);
if (ctxt->attsDefault == NULL)
@@ -903,22 +1233,30 @@ xmlAddDefAttrs(xmlParserCtxtPtr ctxt,
defaults = xmlHashLookup2(ctxt->attsDefault, name, prefix);
if (defaults == NULL) {
defaults = (xmlDefAttrsPtr) xmlMalloc(sizeof(xmlDefAttrs) +
- (4 * 4) * sizeof(const xmlChar *));
+ (4 * 5) * sizeof(const xmlChar *));
if (defaults == NULL)
goto mem_error;
defaults->nbAttrs = 0;
defaults->maxAttrs = 4;
- xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix, defaults, NULL);
+ if (xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix,
+ defaults, NULL) < 0) {
+ xmlFree(defaults);
+ goto mem_error;
+ }
} else if (defaults->nbAttrs >= defaults->maxAttrs) {
xmlDefAttrsPtr temp;
temp = (xmlDefAttrsPtr) xmlRealloc(defaults, sizeof(xmlDefAttrs) +
- (2 * defaults->maxAttrs * 4) * sizeof(const xmlChar *));
+ (2 * defaults->maxAttrs * 5) * sizeof(const xmlChar *));
if (temp == NULL)
goto mem_error;
defaults = temp;
defaults->maxAttrs *= 2;
- xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix, defaults, NULL);
+ if (xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix,
+ defaults, NULL) < 0) {
+ xmlFree(defaults);
+ goto mem_error;
+ }
}
/*
@@ -934,13 +1272,17 @@ xmlAddDefAttrs(xmlParserCtxtPtr ctxt,
prefix = xmlDictLookup(ctxt->dict, fullattr, len);
}
- defaults->values[4 * defaults->nbAttrs] = name;
- defaults->values[4 * defaults->nbAttrs + 1] = prefix;
+ defaults->values[5 * defaults->nbAttrs] = name;
+ defaults->values[5 * defaults->nbAttrs + 1] = prefix;
/* intern the string and precompute the end */
len = xmlStrlen(value);
value = xmlDictLookup(ctxt->dict, value, len);
- defaults->values[4 * defaults->nbAttrs + 2] = value;
- defaults->values[4 * defaults->nbAttrs + 3] = value + len;
+ defaults->values[5 * defaults->nbAttrs + 2] = value;
+ defaults->values[5 * defaults->nbAttrs + 3] = value + len;
+ if (ctxt->external)
+ defaults->values[5 * defaults->nbAttrs + 4] = BAD_CAST "external";
+ else
+ defaults->values[5 * defaults->nbAttrs + 4] = NULL;
defaults->nbAttrs++;
return;
@@ -957,7 +1299,7 @@ mem_error:
* @fullattr: the attribute fullname
* @type: the attribute type
*
- * Register that this attribute is not CDATA
+ * Register this attribute type
*/
static void
xmlAddSpecialAttr(xmlParserCtxtPtr ctxt,
@@ -971,6 +1313,9 @@ xmlAddSpecialAttr(xmlParserCtxtPtr ctxt,
goto mem_error;
}
+ if (xmlHashLookup2(ctxt->attsSpecial, fullname, fullattr) != NULL)
+ return;
+
xmlHashAddEntry2(ctxt->attsSpecial, fullname, fullattr,
(void *) (long) type);
return;
@@ -981,6 +1326,45 @@ mem_error:
}
/**
+ * xmlCleanSpecialAttrCallback:
+ *
+ * Removes CDATA attributes from the special attribute table
+ */
+static void
+xmlCleanSpecialAttrCallback(void *payload, void *data,
+ const xmlChar *fullname, const xmlChar *fullattr,
+ const xmlChar *unused ATTRIBUTE_UNUSED) {
+ xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) data;
+
+ if (((long) payload) == XML_ATTRIBUTE_CDATA) {
+ xmlHashRemoveEntry2(ctxt->attsSpecial, fullname, fullattr, NULL);
+ }
+}
+
+/**
+ * xmlCleanSpecialAttr:
+ * @ctxt: an XML parser context
+ *
+ * Trim the list of attributes defined to remove all those of type
+ * CDATA as they are not special. This call should be done when finishing
+ * to parse the DTD and before starting to parse the document root.
+ */
+static void
+xmlCleanSpecialAttr(xmlParserCtxtPtr ctxt)
+{
+ if (ctxt->attsSpecial == NULL)
+ return;
+
+ xmlHashScanFull(ctxt->attsSpecial, xmlCleanSpecialAttrCallback, ctxt);
+
+ if (xmlHashSize(ctxt->attsSpecial) == 0) {
+ xmlHashFree(ctxt->attsSpecial, NULL);
+ ctxt->attsSpecial = NULL;
+ }
+ return;
+}
+
+/**
* xmlCheckLanguageID:
* @lang: pointer to the string value
*
@@ -996,70 +1380,192 @@ mem_error:
* [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+
* [38] Subcode ::= ([a-z] | [A-Z])+
*
+ * The current REC reference the sucessors of RFC 1766, currently 5646
+ *
+ * http://www.rfc-editor.org/rfc/rfc5646.txt
+ * langtag = language
+ * ["-" script]
+ * ["-" region]
+ * *("-" variant)
+ * *("-" extension)
+ * ["-" privateuse]
+ * language = 2*3ALPHA ; shortest ISO 639 code
+ * ["-" extlang] ; sometimes followed by
+ * ; extended language subtags
+ * / 4ALPHA ; or reserved for future use
+ * / 5*8ALPHA ; or registered language subtag
+ *
+ * extlang = 3ALPHA ; selected ISO 639 codes
+ * *2("-" 3ALPHA) ; permanently reserved
+ *
+ * script = 4ALPHA ; ISO 15924 code
+ *
+ * region = 2ALPHA ; ISO 3166-1 code
+ * / 3DIGIT ; UN M.49 code
+ *
+ * variant = 5*8alphanum ; registered variants
+ * / (DIGIT 3alphanum)
+ *
+ * extension = singleton 1*("-" (2*8alphanum))
+ *
+ * ; Single alphanumerics
+ * ; "x" reserved for private use
+ * singleton = DIGIT ; 0 - 9
+ * / %x41-57 ; A - W
+ * / %x59-5A ; Y - Z
+ * / %x61-77 ; a - w
+ * / %x79-7A ; y - z
+ *
+ * it sounds right to still allow Irregular i-xxx IANA and user codes too
+ * The parser below doesn't try to cope with extension or privateuse
+ * that could be added but that's not interoperable anyway
+ *
* Returns 1 if correct 0 otherwise
**/
int
xmlCheckLanguageID(const xmlChar * lang)
{
- const xmlChar *cur = lang;
+ const xmlChar *cur = lang, *nxt;
if (cur == NULL)
return (0);
if (((cur[0] == 'i') && (cur[1] == '-')) ||
- ((cur[0] == 'I') && (cur[1] == '-'))) {
+ ((cur[0] == 'I') && (cur[1] == '-')) ||
+ ((cur[0] == 'x') && (cur[1] == '-')) ||
+ ((cur[0] == 'X') && (cur[1] == '-'))) {
/*
- * IANA code
+ * Still allow IANA code and user code which were coming
+ * from the previous version of the XML-1.0 specification
+ * it's deprecated but we should not fail
*/
cur += 2;
- while (((cur[0] >= 'A') && (cur[0] <= 'Z')) || /* non input consuming */
+ while (((cur[0] >= 'A') && (cur[0] <= 'Z')) ||
((cur[0] >= 'a') && (cur[0] <= 'z')))
cur++;
- } else if (((cur[0] == 'x') && (cur[1] == '-')) ||
- ((cur[0] == 'X') && (cur[1] == '-'))) {
- /*
- * User code
- */
- cur += 2;
- while (((cur[0] >= 'A') && (cur[0] <= 'Z')) || /* non input consuming */
- ((cur[0] >= 'a') && (cur[0] <= 'z')))
- cur++;
- } else if (((cur[0] >= 'A') && (cur[0] <= 'Z')) ||
- ((cur[0] >= 'a') && (cur[0] <= 'z'))) {
+ return(cur[0] == 0);
+ }
+ nxt = cur;
+ while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) ||
+ ((nxt[0] >= 'a') && (nxt[0] <= 'z')))
+ nxt++;
+ if (nxt - cur >= 4) {
/*
- * ISO639
+ * Reserved
*/
- cur++;
- if (((cur[0] >= 'A') && (cur[0] <= 'Z')) ||
- ((cur[0] >= 'a') && (cur[0] <= 'z')))
- cur++;
- else
- return (0);
- } else
- return (0);
- while (cur[0] != 0) { /* non input consuming */
- if (cur[0] != '-')
- return (0);
- cur++;
- if (((cur[0] >= 'A') && (cur[0] <= 'Z')) ||
- ((cur[0] >= 'a') && (cur[0] <= 'z')))
- cur++;
- else
- return (0);
- while (((cur[0] >= 'A') && (cur[0] <= 'Z')) || /* non input consuming */
- ((cur[0] >= 'a') && (cur[0] <= 'z')))
- cur++;
+ if ((nxt - cur > 8) || (nxt[0] != 0))
+ return(0);
+ return(1);
}
+ if (nxt - cur < 2)
+ return(0);
+ /* we got an ISO 639 code */
+ if (nxt[0] == 0)
+ return(1);
+ if (nxt[0] != '-')
+ return(0);
+
+ nxt++;
+ cur = nxt;
+ /* now we can have extlang or script or region or variant */
+ if ((nxt[0] >= '0') && (nxt[0] <= '9'))
+ goto region_m49;
+
+ while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) ||
+ ((nxt[0] >= 'a') && (nxt[0] <= 'z')))
+ nxt++;
+ if (nxt - cur == 4)
+ goto script;
+ if (nxt - cur == 2)
+ goto region;
+ if ((nxt - cur >= 5) && (nxt - cur <= 8))
+ goto variant;
+ if (nxt - cur != 3)
+ return(0);
+ /* we parsed an extlang */
+ if (nxt[0] == 0)
+ return(1);
+ if (nxt[0] != '-')
+ return(0);
+
+ nxt++;
+ cur = nxt;
+ /* now we can have script or region or variant */
+ if ((nxt[0] >= '0') && (nxt[0] <= '9'))
+ goto region_m49;
+
+ while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) ||
+ ((nxt[0] >= 'a') && (nxt[0] <= 'z')))
+ nxt++;
+ if (nxt - cur == 2)
+ goto region;
+ if ((nxt - cur >= 5) && (nxt - cur <= 8))
+ goto variant;
+ if (nxt - cur != 4)
+ return(0);
+ /* we parsed a script */
+script:
+ if (nxt[0] == 0)
+ return(1);
+ if (nxt[0] != '-')
+ return(0);
+
+ nxt++;
+ cur = nxt;
+ /* now we can have region or variant */
+ if ((nxt[0] >= '0') && (nxt[0] <= '9'))
+ goto region_m49;
+
+ while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) ||
+ ((nxt[0] >= 'a') && (nxt[0] <= 'z')))
+ nxt++;
+
+ if ((nxt - cur >= 5) && (nxt - cur <= 8))
+ goto variant;
+ if (nxt - cur != 2)
+ return(0);
+ /* we parsed a region */
+region:
+ if (nxt[0] == 0)
+ return(1);
+ if (nxt[0] != '-')
+ return(0);
+
+ nxt++;
+ cur = nxt;
+ /* now we can just have a variant */
+ while (((nxt[0] >= 'A') && (nxt[0] <= 'Z')) ||
+ ((nxt[0] >= 'a') && (nxt[0] <= 'z')))
+ nxt++;
+
+ if ((nxt - cur < 5) || (nxt - cur > 8))
+ return(0);
+
+ /* we parsed a variant */
+variant:
+ if (nxt[0] == 0)
+ return(1);
+ if (nxt[0] != '-')
+ return(0);
+ /* extensions and private use subtags not checked */
return (1);
+
+region_m49:
+ if (((nxt[1] >= '0') && (nxt[1] <= '9')) &&
+ ((nxt[2] >= '0') && (nxt[2] <= '9'))) {
+ nxt += 3;
+ goto region;
+ }
+ return(0);
}
/************************************************************************
* *
- * Parser stacks related functions and macros *
+ * Parser stacks related functions and macros *
* *
************************************************************************/
-xmlEntityPtr xmlParseStringEntityRef(xmlParserCtxtPtr ctxt,
- const xmlChar ** str);
+static xmlEntityPtr xmlParseStringEntityRef(xmlParserCtxtPtr ctxt,
+ const xmlChar ** str);
#ifdef SAX2
/**
@@ -1078,7 +1584,7 @@ nsPush(xmlParserCtxtPtr ctxt, const xmlChar *prefix, const xmlChar *URL)
{
if (ctxt->options & XML_PARSE_NSCLEAN) {
int i;
- for (i = 0;i < ctxt->nsNr;i += 2) {
+ for (i = ctxt->nsNr - 2;i >= 0;i -= 2) {
if (ctxt->nsTab[i] == prefix) {
/* in scope */
if (ctxt->nsTab[i + 1] == URL)
@@ -1099,15 +1605,16 @@ nsPush(xmlParserCtxtPtr ctxt, const xmlChar *prefix, const xmlChar *URL)
return (-1);
}
} else if (ctxt->nsNr >= ctxt->nsMax) {
+ const xmlChar ** tmp;
ctxt->nsMax *= 2;
- ctxt->nsTab = (const xmlChar **)
- xmlRealloc((char *) ctxt->nsTab,
- ctxt->nsMax * sizeof(ctxt->nsTab[0]));
- if (ctxt->nsTab == NULL) {
+ tmp = (const xmlChar **) xmlRealloc((char *) ctxt->nsTab,
+ ctxt->nsMax * sizeof(ctxt->nsTab[0]));
+ if (tmp == NULL) {
xmlErrMemory(ctxt, NULL);
ctxt->nsMax /= 2;
return (-1);
}
+ ctxt->nsTab = tmp;
}
ctxt->nsTab[ctxt->nsNr++] = prefix;
ctxt->nsTab[ctxt->nsNr++] = URL;
@@ -1134,7 +1641,7 @@ nsPop(xmlParserCtxtPtr ctxt, int nr)
}
if (ctxt->nsNr <= 0)
return (0);
-
+
for (i = 0;i < nr;i++) {
ctxt->nsNr--;
ctxt->nsTab[ctxt->nsNr] = NULL;
@@ -1184,13 +1691,13 @@ mem_error:
*
* Pushes a new parser input on top of the input stack
*
- * Returns 0 in case of error, the index in the stack otherwise
+ * Returns -1 in case of error, the index in the stack otherwise
*/
int
inputPush(xmlParserCtxtPtr ctxt, xmlParserInputPtr value)
{
if ((ctxt == NULL) || (value == NULL))
- return(0);
+ return(-1);
if (ctxt->inputNr >= ctxt->inputMax) {
ctxt->inputMax *= 2;
ctxt->inputTab =
@@ -1199,7 +1706,10 @@ inputPush(xmlParserCtxtPtr ctxt, xmlParserInputPtr value)
sizeof(ctxt->inputTab[0]));
if (ctxt->inputTab == NULL) {
xmlErrMemory(ctxt, NULL);
- return (0);
+ xmlFreeInputStream(value);
+ ctxt->inputMax /= 2;
+ value = NULL;
+ return (-1);
}
}
ctxt->inputTab[ctxt->inputNr] = value;
@@ -1239,7 +1749,7 @@ inputPop(xmlParserCtxtPtr ctxt)
*
* Pushes a new element node on top of the node stack
*
- * Returns 0 in case of error, the index in the stack otherwise
+ * Returns -1 in case of error, the index in the stack otherwise
*/
int
nodePush(xmlParserCtxtPtr ctxt, xmlNodePtr value)
@@ -1253,22 +1763,24 @@ nodePush(xmlParserCtxtPtr ctxt, xmlNodePtr value)
sizeof(ctxt->nodeTab[0]));
if (tmp == NULL) {
xmlErrMemory(ctxt, NULL);
- return (0);
+ return (-1);
}
ctxt->nodeTab = tmp;
ctxt->nodeMax *= 2;
}
- if (((unsigned int) ctxt->nodeNr) > xmlParserMaxDepth) {
+ if ((((unsigned int) ctxt->nodeNr) > xmlParserMaxDepth) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
xmlFatalErrMsgInt(ctxt, XML_ERR_INTERNAL_ERROR,
- "Excessive depth in document: change xmlParserMaxDepth = %d\n",
+ "Excessive depth in document: %d use XML_PARSE_HUGE option\n",
xmlParserMaxDepth);
- ctxt->instate = XML_PARSER_EOF;
- return(0);
+ xmlHaltParser(ctxt);
+ return(-1);
}
ctxt->nodeTab[ctxt->nodeNr] = value;
ctxt->node = value;
return (ctxt->nodeNr++);
}
+
/**
* nodePop:
* @ctxt: an XML parser context
@@ -1384,15 +1896,14 @@ namePush(xmlParserCtxtPtr ctxt, const xmlChar * value)
if (ctxt->nameNr >= ctxt->nameMax) {
const xmlChar * *tmp;
- ctxt->nameMax *= 2;
tmp = (const xmlChar * *) xmlRealloc((xmlChar * *)ctxt->nameTab,
- ctxt->nameMax *
+ ctxt->nameMax * 2 *
sizeof(ctxt->nameTab[0]));
if (tmp == NULL) {
- ctxt->nameMax /= 2;
goto mem_error;
}
ctxt->nameTab = tmp;
+ ctxt->nameMax *= 2;
}
ctxt->nameTab[ctxt->nameNr] = value;
ctxt->name = value;
@@ -1428,13 +1939,17 @@ namePop(xmlParserCtxtPtr ctxt)
static int spacePush(xmlParserCtxtPtr ctxt, int val) {
if (ctxt->spaceNr >= ctxt->spaceMax) {
+ int *tmp;
+
ctxt->spaceMax *= 2;
- ctxt->spaceTab = (int *) xmlRealloc(ctxt->spaceTab,
- ctxt->spaceMax * sizeof(ctxt->spaceTab[0]));
- if (ctxt->spaceTab == NULL) {
+ tmp = (int *) xmlRealloc(ctxt->spaceTab,
+ ctxt->spaceMax * sizeof(ctxt->spaceTab[0]));
+ if (tmp == NULL) {
xmlErrMemory(ctxt, NULL);
- return(0);
+ ctxt->spaceMax /=2;
+ return(-1);
}
+ ctxt->spaceTab = tmp;
}
ctxt->spaceTab[ctxt->spaceNr] = val;
ctxt->space = &ctxt->spaceTab[ctxt->spaceNr];
@@ -1474,7 +1989,7 @@ static int spacePop(xmlParserCtxtPtr ctxt) {
* to compare on ASCII based substring.
* SKIP(n) Skip n xmlChar, and must also be used only to skip ASCII defined
* strings without newlines within the parser.
- * NEXT1(l) Skip 1 xmlChar, and must also be used only to skip 1 non-newline ASCII
+ * NEXT1(l) Skip 1 xmlChar, and must also be used only to skip 1 non-newline ASCII
* defined char within the parser.
* Clean macros, not dependent of an ASCII context, expect UTF-8 encoding
*
@@ -1523,10 +2038,10 @@ static int spacePop(xmlParserCtxtPtr ctxt) {
#define SKIPL(val) do { \
int skipl; \
for(skipl=0; skipl<val; skipl++) { \
- if (*(ctxt->input->cur) == '\n') { \
+ if (*(ctxt->input->cur) == '\n') { \
ctxt->input->line++; ctxt->input->col = 1; \
- } else ctxt->input->col++; \
- ctxt->nbChars++; \
+ } else ctxt->input->col++; \
+ ctxt->nbChars++; \
ctxt->input->cur++; \
} \
if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt); \
@@ -1552,8 +2067,25 @@ static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
xmlGROW (ctxt);
static void xmlGROW (xmlParserCtxtPtr ctxt) {
+ unsigned long curEnd = ctxt->input->end - ctxt->input->cur;
+ unsigned long curBase = ctxt->input->cur - ctxt->input->base;
+
+ if (((curEnd > (unsigned long) XML_MAX_LOOKUP_LIMIT) ||
+ (curBase > (unsigned long) XML_MAX_LOOKUP_LIMIT)) &&
+ ((ctxt->input->buf) && (ctxt->input->buf->readcallback != (xmlInputReadCallback) xmlNop)) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
+ xmlHaltParser(ctxt);
+ return;
+ }
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
- if ((*ctxt->input->cur == 0) &&
+ if ((ctxt->input->cur > ctxt->input->end) ||
+ (ctxt->input->cur < ctxt->input->base)) {
+ xmlHaltParser(ctxt);
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "cur index out of bound");
+ return;
+ }
+ if ((ctxt->input->cur != NULL) && (*ctxt->input->cur == 0) &&
(xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))
xmlPopInput(ctxt);
}
@@ -1612,6 +2144,8 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
while (IS_BLANK_CH(*cur)) {
if (*cur == '\n') {
ctxt->input->line++; ctxt->input->col = 1;
+ } else {
+ ctxt->input->col++;
}
cur++;
res++;
@@ -1626,7 +2160,8 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
int cur;
do {
cur = CUR;
- while (IS_BLANK_CH(cur)) { /* CHECKED tstblanks.xml */
+ while ((IS_BLANK_CH(cur) && /* CHECKED tstblanks.xml */
+ (ctxt->instate != XML_PARSER_EOF))) {
NEXT;
cur = CUR;
res++;
@@ -1640,7 +2175,8 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
* Need to handle support of entities branching here
*/
if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt);
- } while (IS_BLANK(cur)); /* CHECKED tstblanks.xml */
+ } while ((IS_BLANK(cur)) && /* CHECKED tstblanks.xml */
+ (ctxt->instate != XML_PARSER_EOF));
}
return(res);
}
@@ -1680,10 +2216,12 @@ xmlPopInput(xmlParserCtxtPtr ctxt) {
*
* xmlPushInput: switch to a new input stream which is stacked on top
* of the previous one(s).
+ * Returns -1 in case of error or the index in the input stack
*/
-void
+int
xmlPushInput(xmlParserCtxtPtr ctxt, xmlParserInputPtr input) {
- if (input == NULL) return;
+ int ret;
+ if (input == NULL) return(-1);
if (xmlParserDebugEntities) {
if ((ctxt->input != NULL) && (ctxt->input->filename))
@@ -1693,8 +2231,11 @@ xmlPushInput(xmlParserCtxtPtr ctxt, xmlParserInputPtr input) {
xmlGenericError(xmlGenericErrorContext,
"Pushing input %d : %.30s\n", ctxt->inputNr+1, input->cur);
}
- inputPush(ctxt, input);
+ ret = inputPush(ctxt, input);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
GROW;
+ return(ret);
}
/**
@@ -1708,7 +2249,7 @@ xmlPushInput(xmlParserCtxtPtr ctxt, xmlParserInputPtr input) {
*
* [ WFC: Legal Character ]
* Characters referred to using character references must match the
- * production for Char.
+ * production for Char.
*
* Returns the value parsed (as an int), 0 in case of error
*/
@@ -1729,8 +2270,10 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
if (count++ > 20) {
count = 0;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(0);
}
- if ((RAW >= '0') && (RAW <= '9'))
+ if ((RAW >= '0') && (RAW <= '9'))
val = val * 16 + (CUR - '0');
else if ((RAW >= 'a') && (RAW <= 'f') && (count < 20))
val = val * 16 + (CUR - 'a') + 10;
@@ -1760,8 +2303,10 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
if (count++ > 20) {
count = 0;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(0);
}
- if ((RAW >= '0') && (RAW <= '9'))
+ if ((RAW >= '0') && (RAW <= '9'))
val = val * 10 + (CUR - '0');
else {
xmlFatalErr(ctxt, XML_ERR_INVALID_DEC_CHARREF, NULL);
@@ -1787,7 +2332,7 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
/*
* [ WFC: Legal Character ]
* Characters referred to using character references must match the
- * production for Char.
+ * production for Char.
*/
if ((IS_CHAR(val) && (outofrange == 0))) {
return(val);
@@ -1812,7 +2357,7 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
*
* [ WFC: Legal Character ]
* Characters referred to using character references must match the
- * production for Char.
+ * production for Char.
*
* Returns the value parsed (as an int), 0 in case of error, str will be
* updated to the current value of the index
@@ -1831,7 +2376,7 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
ptr += 3;
cur = *ptr;
while (cur != ';') { /* Non input consuming loop */
- if ((cur >= '0') && (cur <= '9'))
+ if ((cur >= '0') && (cur <= '9'))
val = val * 16 + (cur - '0');
else if ((cur >= 'a') && (cur <= 'f'))
val = val * 16 + (cur - 'a') + 10;
@@ -1854,7 +2399,7 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
ptr += 2;
cur = *ptr;
while (cur != ';') { /* Non input consuming loops */
- if ((cur >= '0') && (cur <= '9'))
+ if ((cur >= '0') && (cur <= '9'))
val = val * 10 + (cur - '0');
else {
xmlFatalErr(ctxt, XML_ERR_INVALID_DEC_CHARREF, NULL);
@@ -1878,7 +2423,7 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
/*
* [ WFC: Legal Character ]
* Characters referred to using character references must match the
- * production for Char.
+ * production for Char.
*/
if ((IS_CHAR(val) && (outofrange == 0))) {
return(val);
@@ -1900,9 +2445,9 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
*
* Returns the new input stream or NULL
*/
-
+
static void deallocblankswrapper (xmlChar *str) {xmlFree(str);}
-
+
static xmlParserInputPtr
xmlNewBlanksWrapperInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
xmlParserInputPtr input;
@@ -1924,7 +2469,8 @@ xmlNewBlanksWrapperInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
buffer = xmlMallocAtomic(length);
if (buffer == NULL) {
xmlErrMemory(ctxt, NULL);
- return(NULL);
+ xmlFree(input);
+ return(NULL);
}
buffer [0] = ' ';
buffer [1] = '%';
@@ -1943,12 +2489,12 @@ xmlNewBlanksWrapperInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
/**
* xmlParserHandlePEReference:
* @ctxt: the parser context
- *
+ *
* [69] PEReference ::= '%' Name ';'
*
* [ WFC: No Recursion ]
* A parsed entity must not contain a recursive
- * reference to itself, either directly or indirectly.
+ * reference to itself, either directly or indirectly.
*
* [ WFC: Entity Declared ]
* In a document without any DTD, a document with only an internal DTD
@@ -1966,9 +2512,9 @@ xmlNewBlanksWrapperInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
* NOTE: misleading but this is handled.
*
* A PEReference may have been detected in the current input stream
- * the handling is done accordingly to
+ * the handling is done accordingly to
* http://www.w3.org/TR/REC-xml#entproc
- * i.e.
+ * i.e.
* - Included in literal in entity values
* - Included as Parameter Entity reference within DTDs
*/
@@ -2045,8 +2591,10 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
NEXT;
if ((ctxt->sax != NULL) && (ctxt->sax->getParameterEntity != NULL))
entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
if (entity == NULL) {
-
+
/*
* [ WFC: Entity Declared ]
* In a document without any DTD, a document with only an
@@ -2071,16 +2619,18 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
if ((ctxt->validate) && (ctxt->vctxt.error != NULL)) {
xmlValidityError(ctxt, XML_WAR_UNDECLARED_ENTITY,
"PEReference: %%%s; not found\n",
- name);
- } else
+ name, NULL);
+ } else
xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
"PEReference: %%%s; not found\n",
name, NULL);
ctxt->valid = 0;
}
+ xmlParserEntityCheck(ctxt, 0, NULL, 0);
} else if (ctxt->input->free != deallocblankswrapper) {
input = xmlNewBlanksWrapperInputStream(ctxt, entity);
- xmlPushInput(ctxt, input);
+ if (xmlPushInput(ctxt, input) < 0)
+ return;
} else {
if ((entity->etype == XML_INTERNAL_PARAMETER_ENTITY) ||
(entity->etype == XML_EXTERNAL_PARAMETER_ENTITY)) {
@@ -2088,14 +2638,32 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
xmlCharEncoding enc;
/*
+ * Note: external parameter entities will not be loaded, it
+ * is not required for a non-validating parser, unless the
+ * option of validating, or substituting entities were
+ * given. Doing so is far more secure as the parser will
+ * only process data coming from the document entity by
+ * default.
+ */
+ if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
+ ((ctxt->options & XML_PARSE_NOENT) == 0) &&
+ ((ctxt->options & XML_PARSE_DTDVALID) == 0) &&
+ ((ctxt->options & XML_PARSE_DTDLOAD) == 0) &&
+ ((ctxt->options & XML_PARSE_DTDATTR) == 0) &&
+ (ctxt->replaceEntities == 0) &&
+ (ctxt->validate == 0))
+ return;
+
+ /*
* handle the extra spaces added before and after
* c.f. http://www.w3.org/TR/REC-xml#as-PE
* this is done independently.
*/
input = xmlNewEntityInputStream(ctxt, entity);
- xmlPushInput(ctxt, input);
+ if (xmlPushInput(ctxt, input) < 0)
+ return;
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines.
@@ -2105,6 +2673,8 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
* the amount of data in the buffer.
*/
GROW
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
if ((ctxt->input->end - ctxt->input->cur)>=4) {
start[0] = RAW;
start[1] = NXT(1);
@@ -2135,14 +2705,17 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
/*
* Macro used to grow the current buffer.
+ * buffer##_size is expected to be a size_t
+ * mem_error: is expected to handle memory allocation failures
*/
-#define growBuffer(buffer) { \
+#define growBuffer(buffer, n) { \
xmlChar *tmp; \
- buffer##_size *= 2; \
- tmp = (xmlChar *) \
- xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
+ size_t new_size = buffer##_size * 2 + n; \
+ if (new_size < buffer##_size) goto mem_error; \
+ tmp = (xmlChar *) xmlRealloc(buffer, new_size); \
if (tmp == NULL) goto mem_error; \
buffer = tmp; \
+ buffer##_size = new_size; \
}
/**
@@ -2154,7 +2727,7 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
* @end: an end marker xmlChar, 0 if none
* @end2: an end marker xmlChar, 0 if none
* @end3: an end marker xmlChar, 0 if none
- *
+ *
* Takes a entity string content and process to do the adequate substitutions.
*
* [67] Reference ::= EntityRef | CharRef
@@ -2168,19 +2741,22 @@ xmlChar *
xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
int what, xmlChar end, xmlChar end2, xmlChar end3) {
xmlChar *buffer = NULL;
- int buffer_size = 0;
+ size_t buffer_size = 0;
+ size_t nbchars = 0;
xmlChar *current = NULL;
+ xmlChar *rep = NULL;
const xmlChar *last;
xmlEntityPtr ent;
int c,l;
- int nbchars = 0;
if ((ctxt == NULL) || (str == NULL) || (len < 0))
return(NULL);
last = str + len;
- if (ctxt->depth > 40) {
+ if (((ctxt->depth > 40) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) ||
+ (ctxt->depth > 1024)) {
xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
return(NULL);
}
@@ -2189,7 +2765,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
* allocate a translation buffer.
*/
buffer_size = XML_PARSER_BIG_BUFFER_SIZE;
- buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
+ buffer = (xmlChar *) xmlMallocAtomic(buffer_size);
if (buffer == NULL) goto mem_error;
/*
@@ -2209,8 +2785,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
if (val != 0) {
COPY_BUF(0,buffer,nbchars,val);
}
- if (nbchars > buffer_size - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer);
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
} else if ((c == '&') && (what & XML_SUBSTITUTE_REF)) {
if (xmlParserDebugEntities)
@@ -2218,42 +2794,53 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
"String decoding Entity Reference: %.30s\n",
str);
ent = xmlParseStringEntityRef(ctxt, &str);
+ if ((ctxt->lastError.code == XML_ERR_ENTITY_LOOP) ||
+ (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR))
+ goto int_error;
+ xmlParserEntityCheck(ctxt, 0, ent, 0);
+ if (ent != NULL)
+ ctxt->nbentities += ent->checked / 2;
if ((ent != NULL) &&
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
if (ent->content != NULL) {
COPY_BUF(0,buffer,nbchars,ent->content[0]);
- if (nbchars > buffer_size - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer);
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
} else {
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
"predefined entity has no content\n");
}
} else if ((ent != NULL) && (ent->content != NULL)) {
- xmlChar *rep;
-
ctxt->depth++;
rep = xmlStringDecodeEntities(ctxt, ent->content, what,
0, 0, 0);
ctxt->depth--;
+
+ if ((ctxt->lastError.code == XML_ERR_ENTITY_LOOP) ||
+ (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR))
+ goto int_error;
+
if (rep != NULL) {
current = rep;
while (*current != 0) { /* non input consuming loop */
buffer[nbchars++] = *current++;
- if (nbchars >
- buffer_size - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer);
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
+ goto int_error;
+ growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
}
xmlFree(rep);
+ rep = NULL;
}
} else if (ent != NULL) {
int i = xmlStrlen(ent->name);
const xmlChar *cur = ent->name;
buffer[nbchars++] = '&';
- if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer);
+ if (nbchars + i + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE);
}
for (;i > 0;i--)
buffer[nbchars++] = *cur++;
@@ -2264,9 +2851,15 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
xmlGenericError(xmlGenericErrorContext,
"String decoding PE Reference: %.30s\n", str);
ent = xmlParseStringPEReference(ctxt, &str);
+ if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
+ goto int_error;
+ xmlParserEntityCheck(ctxt, 0, ent, 0);
+ if (ent != NULL)
+ ctxt->nbentities += ent->checked / 2;
if (ent != NULL) {
- xmlChar *rep;
-
+ if (ent->content == NULL) {
+ xmlLoadEntityContent(ctxt, ent);
+ }
ctxt->depth++;
rep = xmlStringDecodeEntities(ctxt, ent->content, what,
0, 0, 0);
@@ -2275,19 +2868,21 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
current = rep;
while (*current != 0) { /* non input consuming loop */
buffer[nbchars++] = *current++;
- if (nbchars >
- buffer_size - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer);
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
+ goto int_error;
+ growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
}
xmlFree(rep);
+ rep = NULL;
}
}
} else {
COPY_BUF(l,buffer,nbchars,c);
str += l;
- if (nbchars > buffer_size - XML_PARSER_BUFFER_SIZE) {
- growBuffer(buffer);
+ if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+ growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
}
}
if (str < last)
@@ -2295,11 +2890,16 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
else
c = 0;
}
- buffer[nbchars++] = 0;
+ buffer[nbchars] = 0;
return(buffer);
mem_error:
xmlErrMemory(ctxt, NULL);
+int_error:
+ if (rep != NULL)
+ xmlFree(rep);
+ if (buffer != NULL)
+ xmlFree(buffer);
return(NULL);
}
@@ -2311,7 +2911,7 @@ mem_error:
* @end: an end marker xmlChar, 0 if none
* @end2: an end marker xmlChar, 0 if none
* @end3: an end marker xmlChar, 0 if none
- *
+ *
* Takes a entity string content and process to do the adequate substitutions.
*
* [67] Reference ::= EntityRef | CharRef
@@ -2414,7 +3014,7 @@ static int areBlanks(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
* xmlSplitQName:
* @ctxt: an XML parser context
* @name: an XML parser context
- * @prefix: a xmlChar **
+ * @prefix: a xmlChar **
*
* parse an UTF8 encoded XML qualified name string
*
@@ -2465,7 +3065,7 @@ xmlSplitQName(xmlParserCtxtPtr ctxt, const xmlChar *name, xmlChar **prefix) {
* for the processing speed.
*/
max = len * 2;
-
+
buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
if (buffer == NULL) {
xmlErrMemory(ctxt, NULL);
@@ -2480,7 +3080,7 @@ xmlSplitQName(xmlParserCtxtPtr ctxt, const xmlChar *name, xmlChar **prefix) {
tmp = (xmlChar *) xmlRealloc(buffer,
max * sizeof(xmlChar));
if (tmp == NULL) {
- xmlFree(tmp);
+ xmlFree(buffer);
xmlErrMemory(ctxt, NULL);
return(NULL);
}
@@ -2491,7 +3091,7 @@ xmlSplitQName(xmlParserCtxtPtr ctxt, const xmlChar *name, xmlChar **prefix) {
}
buffer[len] = 0;
}
-
+
if ((c == ':') && (*cur == 0)) {
if (buffer != NULL)
xmlFree(buffer);
@@ -2544,7 +3144,7 @@ xmlSplitQName(xmlParserCtxtPtr ctxt, const xmlChar *name, xmlChar **prefix) {
* for the processing speed.
*/
max = len * 2;
-
+
buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
if (buffer == NULL) {
xmlErrMemory(ctxt, NULL);
@@ -2570,7 +3170,7 @@ xmlSplitQName(xmlParserCtxtPtr ctxt, const xmlChar *name, xmlChar **prefix) {
}
buffer[len] = 0;
}
-
+
if (buffer == NULL)
ret = xmlStrndup(buf, len);
else {
@@ -2588,10 +3188,221 @@ xmlSplitQName(xmlParserCtxtPtr ctxt, const xmlChar *name, xmlChar **prefix) {
* *
************************************************************************/
-static const xmlChar * xmlParseNameComplex(xmlParserCtxtPtr ctxt);
+/************************************************************************
+ * *
+ * Routines to parse Name, NCName and NmToken *
+ * *
+ ************************************************************************/
+#ifdef DEBUG
+static unsigned long nbParseName = 0;
+static unsigned long nbParseNmToken = 0;
+static unsigned long nbParseNCName = 0;
+static unsigned long nbParseNCNameComplex = 0;
+static unsigned long nbParseNameComplex = 0;
+static unsigned long nbParseStringName = 0;
+#endif
+
+/*
+ * The two following functions are related to the change of accepted
+ * characters for Name and NmToken in the Revision 5 of XML-1.0
+ * They correspond to the modified production [4] and the new production [4a]
+ * changes in that revision. Also note that the macros used for the
+ * productions Letter, Digit, CombiningChar and Extender are not needed
+ * anymore.
+ * We still keep compatibility to pre-revision5 parsing semantic if the
+ * new XML_PARSE_OLD10 option is given to the parser.
+ */
+static int
+xmlIsNameStartChar(xmlParserCtxtPtr ctxt, int c) {
+ if ((ctxt->options & XML_PARSE_OLD10) == 0) {
+ /*
+ * Use the new checks of production [4] [4a] amd [5] of the
+ * Update 5 of XML-1.0
+ */
+ if ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */
+ (((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z')) ||
+ (c == '_') || (c == ':') ||
+ ((c >= 0xC0) && (c <= 0xD6)) ||
+ ((c >= 0xD8) && (c <= 0xF6)) ||
+ ((c >= 0xF8) && (c <= 0x2FF)) ||
+ ((c >= 0x370) && (c <= 0x37D)) ||
+ ((c >= 0x37F) && (c <= 0x1FFF)) ||
+ ((c >= 0x200C) && (c <= 0x200D)) ||
+ ((c >= 0x2070) && (c <= 0x218F)) ||
+ ((c >= 0x2C00) && (c <= 0x2FEF)) ||
+ ((c >= 0x3001) && (c <= 0xD7FF)) ||
+ ((c >= 0xF900) && (c <= 0xFDCF)) ||
+ ((c >= 0xFDF0) && (c <= 0xFFFD)) ||
+ ((c >= 0x10000) && (c <= 0xEFFFF))))
+ return(1);
+ } else {
+ if (IS_LETTER(c) || (c == '_') || (c == ':'))
+ return(1);
+ }
+ return(0);
+}
+
+static int
+xmlIsNameChar(xmlParserCtxtPtr ctxt, int c) {
+ if ((ctxt->options & XML_PARSE_OLD10) == 0) {
+ /*
+ * Use the new checks of production [4] [4a] amd [5] of the
+ * Update 5 of XML-1.0
+ */
+ if ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */
+ (((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z')) ||
+ ((c >= '0') && (c <= '9')) || /* !start */
+ (c == '_') || (c == ':') ||
+ (c == '-') || (c == '.') || (c == 0xB7) || /* !start */
+ ((c >= 0xC0) && (c <= 0xD6)) ||
+ ((c >= 0xD8) && (c <= 0xF6)) ||
+ ((c >= 0xF8) && (c <= 0x2FF)) ||
+ ((c >= 0x300) && (c <= 0x36F)) || /* !start */
+ ((c >= 0x370) && (c <= 0x37D)) ||
+ ((c >= 0x37F) && (c <= 0x1FFF)) ||
+ ((c >= 0x200C) && (c <= 0x200D)) ||
+ ((c >= 0x203F) && (c <= 0x2040)) || /* !start */
+ ((c >= 0x2070) && (c <= 0x218F)) ||
+ ((c >= 0x2C00) && (c <= 0x2FEF)) ||
+ ((c >= 0x3001) && (c <= 0xD7FF)) ||
+ ((c >= 0xF900) && (c <= 0xFDCF)) ||
+ ((c >= 0xFDF0) && (c <= 0xFFFD)) ||
+ ((c >= 0x10000) && (c <= 0xEFFFF))))
+ return(1);
+ } else {
+ if ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
+ (c == '.') || (c == '-') ||
+ (c == '_') || (c == ':') ||
+ (IS_COMBINING(c)) ||
+ (IS_EXTENDER(c)))
+ return(1);
+ }
+ return(0);
+}
+
static xmlChar * xmlParseAttValueInternal(xmlParserCtxtPtr ctxt,
int *len, int *alloc, int normalize);
+static const xmlChar *
+xmlParseNameComplex(xmlParserCtxtPtr ctxt) {
+ int len = 0, l;
+ int c;
+ int count = 0;
+
+#ifdef DEBUG
+ nbParseNameComplex++;
+#endif
+
+ /*
+ * Handler for more complex cases
+ */
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ c = CUR_CHAR(l);
+ if ((ctxt->options & XML_PARSE_OLD10) == 0) {
+ /*
+ * Use the new checks of production [4] [4a] amd [5] of the
+ * Update 5 of XML-1.0
+ */
+ if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */
+ (!(((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z')) ||
+ (c == '_') || (c == ':') ||
+ ((c >= 0xC0) && (c <= 0xD6)) ||
+ ((c >= 0xD8) && (c <= 0xF6)) ||
+ ((c >= 0xF8) && (c <= 0x2FF)) ||
+ ((c >= 0x370) && (c <= 0x37D)) ||
+ ((c >= 0x37F) && (c <= 0x1FFF)) ||
+ ((c >= 0x200C) && (c <= 0x200D)) ||
+ ((c >= 0x2070) && (c <= 0x218F)) ||
+ ((c >= 0x2C00) && (c <= 0x2FEF)) ||
+ ((c >= 0x3001) && (c <= 0xD7FF)) ||
+ ((c >= 0xF900) && (c <= 0xFDCF)) ||
+ ((c >= 0xFDF0) && (c <= 0xFFFD)) ||
+ ((c >= 0x10000) && (c <= 0xEFFFF))))) {
+ return(NULL);
+ }
+ len += l;
+ NEXTL(l);
+ c = CUR_CHAR(l);
+ while ((c != ' ') && (c != '>') && (c != '/') && /* accelerators */
+ (((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z')) ||
+ ((c >= '0') && (c <= '9')) || /* !start */
+ (c == '_') || (c == ':') ||
+ (c == '-') || (c == '.') || (c == 0xB7) || /* !start */
+ ((c >= 0xC0) && (c <= 0xD6)) ||
+ ((c >= 0xD8) && (c <= 0xF6)) ||
+ ((c >= 0xF8) && (c <= 0x2FF)) ||
+ ((c >= 0x300) && (c <= 0x36F)) || /* !start */
+ ((c >= 0x370) && (c <= 0x37D)) ||
+ ((c >= 0x37F) && (c <= 0x1FFF)) ||
+ ((c >= 0x200C) && (c <= 0x200D)) ||
+ ((c >= 0x203F) && (c <= 0x2040)) || /* !start */
+ ((c >= 0x2070) && (c <= 0x218F)) ||
+ ((c >= 0x2C00) && (c <= 0x2FEF)) ||
+ ((c >= 0x3001) && (c <= 0xD7FF)) ||
+ ((c >= 0xF900) && (c <= 0xFDCF)) ||
+ ((c >= 0xFDF0) && (c <= 0xFFFD)) ||
+ ((c >= 0x10000) && (c <= 0xEFFFF))
+ )) {
+ if (count++ > XML_PARSER_CHUNK_SIZE) {
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ }
+ len += l;
+ NEXTL(l);
+ c = CUR_CHAR(l);
+ }
+ } else {
+ if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */
+ (!IS_LETTER(c) && (c != '_') &&
+ (c != ':'))) {
+ return(NULL);
+ }
+ len += l;
+ NEXTL(l);
+ c = CUR_CHAR(l);
+
+ while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
+ ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
+ (c == '.') || (c == '-') ||
+ (c == '_') || (c == ':') ||
+ (IS_COMBINING(c)) ||
+ (IS_EXTENDER(c)))) {
+ if (count++ > XML_PARSER_CHUNK_SIZE) {
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ }
+ len += l;
+ NEXTL(l);
+ c = CUR_CHAR(l);
+ if (c == 0) {
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ c = CUR_CHAR(l);
+ }
+ }
+ }
+ if ((len > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name");
+ return(NULL);
+ }
+ if ((*ctxt->input->cur == '\n') && (ctxt->input->cur[-1] == '\r'))
+ return(xmlDictLookup(ctxt->dict, ctxt->input->cur - (len + 1), len));
+ return(xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len));
+}
+
/**
* xmlParseName:
* @ctxt: an XML parser context
@@ -2616,6 +3427,10 @@ xmlParseName(xmlParserCtxtPtr ctxt) {
GROW;
+#ifdef DEBUG
+ nbParseName++;
+#endif
+
/*
* Accelerator for simple ASCII names
*/
@@ -2632,6 +3447,11 @@ xmlParseName(xmlParserCtxtPtr ctxt) {
in++;
if ((*in > 0) && (*in < 0x80)) {
count = in - ctxt->input->cur;
+ if ((count > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name");
+ return(NULL);
+ }
ret = xmlDictLookup(ctxt->dict, ctxt->input->cur, count);
ctxt->input->cur = in;
ctxt->nbChars += count;
@@ -2641,9 +3461,136 @@ xmlParseName(xmlParserCtxtPtr ctxt) {
return(ret);
}
}
+ /* accelerator for special cases */
return(xmlParseNameComplex(ctxt));
}
+static const xmlChar *
+xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) {
+ int len = 0, l;
+ int c;
+ int count = 0;
+ const xmlChar *end; /* needed because CUR_CHAR() can move cur on \r\n */
+
+#ifdef DEBUG
+ nbParseNCNameComplex++;
+#endif
+
+ /*
+ * Handler for more complex cases
+ */
+ GROW;
+ end = ctxt->input->cur;
+ c = CUR_CHAR(l);
+ if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */
+ (!xmlIsNameStartChar(ctxt, c) || (c == ':'))) {
+ return(NULL);
+ }
+
+ while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
+ (xmlIsNameChar(ctxt, c) && (c != ':'))) {
+ if (count++ > XML_PARSER_CHUNK_SIZE) {
+ if ((len > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
+ return(NULL);
+ }
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ }
+ len += l;
+ NEXTL(l);
+ end = ctxt->input->cur;
+ c = CUR_CHAR(l);
+ if (c == 0) {
+ count = 0;
+ /*
+ * when shrinking to extend the buffer we really need to preserve
+ * the part of the name we already parsed. Hence rolling back
+ * by current lenght.
+ */
+ ctxt->input->cur -= l;
+ GROW;
+ ctxt->input->cur += l;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ end = ctxt->input->cur;
+ c = CUR_CHAR(l);
+ }
+ }
+ if ((len > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
+ return(NULL);
+ }
+ return(xmlDictLookup(ctxt->dict, end - len, len));
+}
+
+/**
+ * xmlParseNCName:
+ * @ctxt: an XML parser context
+ * @len: length of the string parsed
+ *
+ * parse an XML name.
+ *
+ * [4NS] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
+ * CombiningChar | Extender
+ *
+ * [5NS] NCName ::= (Letter | '_') (NCNameChar)*
+ *
+ * Returns the Name parsed or NULL
+ */
+
+static const xmlChar *
+xmlParseNCName(xmlParserCtxtPtr ctxt) {
+ const xmlChar *in, *e;
+ const xmlChar *ret;
+ int count = 0;
+
+#ifdef DEBUG
+ nbParseNCName++;
+#endif
+
+ /*
+ * Accelerator for simple ASCII names
+ */
+ in = ctxt->input->cur;
+ e = ctxt->input->end;
+ if ((((*in >= 0x61) && (*in <= 0x7A)) ||
+ ((*in >= 0x41) && (*in <= 0x5A)) ||
+ (*in == '_')) && (in < e)) {
+ in++;
+ while ((((*in >= 0x61) && (*in <= 0x7A)) ||
+ ((*in >= 0x41) && (*in <= 0x5A)) ||
+ ((*in >= 0x30) && (*in <= 0x39)) ||
+ (*in == '_') || (*in == '-') ||
+ (*in == '.')) && (in < e))
+ in++;
+ if (in >= e)
+ goto complex;
+ if ((*in > 0) && (*in < 0x80)) {
+ count = in - ctxt->input->cur;
+ if ((count > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
+ return(NULL);
+ }
+ ret = xmlDictLookup(ctxt->dict, ctxt->input->cur, count);
+ ctxt->input->cur = in;
+ ctxt->nbChars += count;
+ ctxt->input->col += count;
+ if (ret == NULL) {
+ xmlErrMemory(ctxt, NULL);
+ }
+ return(ret);
+ }
+ }
+complex:
+ return(xmlParseNCNameComplex(ctxt));
+}
+
/**
* xmlParseNameAndCompare:
* @ctxt: an XML parser context
@@ -2662,15 +3609,17 @@ xmlParseNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *other) {
const xmlChar *ret;
GROW;
-
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+
in = ctxt->input->cur;
while (*in != 0 && *in == *cmp) {
- ++in;
+ ++in;
++cmp;
ctxt->input->col++;
}
if (*cmp == 0 && (*in == '>' || IS_BLANK_CH (*in))) {
- /* success */
+ /* success */
ctxt->input->cur = in;
return (const xmlChar*) 1;
}
@@ -2683,42 +3632,6 @@ xmlParseNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *other) {
return ret;
}
-static const xmlChar *
-xmlParseNameComplex(xmlParserCtxtPtr ctxt) {
- int len = 0, l;
- int c;
- int count = 0;
-
- /*
- * Handler for more complex cases
- */
- GROW;
- c = CUR_CHAR(l);
- if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */
- (!IS_LETTER(c) && (c != '_') &&
- (c != ':'))) {
- return(NULL);
- }
-
- while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
- ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
- (c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
- (IS_COMBINING(c)) ||
- (IS_EXTENDER(c)))) {
- if (count++ > 100) {
- count = 0;
- GROW;
- }
- len += l;
- NEXTL(l);
- c = CUR_CHAR(l);
- }
- if ((*ctxt->input->cur == '\n') && (ctxt->input->cur[-1] == '\r'))
- return(xmlDictLookup(ctxt->dict, ctxt->input->cur - (len + 1), len));
- return(xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len));
-}
-
/**
* xmlParseStringName:
* @ctxt: an XML parser context
@@ -2733,7 +3646,7 @@ xmlParseNameComplex(xmlParserCtxtPtr ctxt) {
*
* [6] Names ::= Name (#x20 Name)*
*
- * Returns the Name parsed or NULL. The @str pointer
+ * Returns the Name parsed or NULL. The @str pointer
* is updated to the current location in the string.
*/
@@ -2744,17 +3657,19 @@ xmlParseStringName(xmlParserCtxtPtr ctxt, const xmlChar** str) {
int len = 0, l;
int c;
+#ifdef DEBUG
+ nbParseStringName++;
+#endif
+
c = CUR_SCHAR(cur, l);
- if (!IS_LETTER(c) && (c != '_') &&
- (c != ':')) {
+ if (!xmlIsNameStartChar(ctxt, c)) {
return(NULL);
}
- while ((IS_LETTER(c)) || (IS_DIGIT(c)) || /* test bigentname.xml */
- (c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
- (IS_COMBINING(c)) ||
- (IS_EXTENDER(c))) {
+ COPY_BUF(l,buf,len,c);
+ cur += l;
+ c = CUR_SCHAR(cur, l);
+ while (xmlIsNameChar(ctxt, c)) {
COPY_BUF(l,buf,len,c);
cur += l;
c = CUR_SCHAR(cur, l);
@@ -2765,21 +3680,23 @@ xmlParseStringName(xmlParserCtxtPtr ctxt, const xmlChar** str) {
*/
xmlChar *buffer;
int max = len * 2;
-
+
buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
if (buffer == NULL) {
xmlErrMemory(ctxt, NULL);
return(NULL);
}
memcpy(buffer, buf, len);
- while ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
- /* test bigentname.xml */
- (c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
- (IS_COMBINING(c)) ||
- (IS_EXTENDER(c))) {
+ while (xmlIsNameChar(ctxt, c)) {
if (len + 10 > max) {
xmlChar *tmp;
+
+ if ((len > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
+ xmlFree(buffer);
+ return(NULL);
+ }
max *= 2;
tmp = (xmlChar *) xmlRealloc(buffer,
max * sizeof(xmlChar));
@@ -2799,6 +3716,11 @@ xmlParseStringName(xmlParserCtxtPtr ctxt, const xmlChar** str) {
return(buffer);
}
}
+ if ((len > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NCName");
+ return(NULL);
+ }
*str = cur;
return(xmlStrndup(buf, len));
}
@@ -2806,7 +3728,7 @@ xmlParseStringName(xmlParserCtxtPtr ctxt, const xmlChar** str) {
/**
* xmlParseNmtoken:
* @ctxt: an XML parser context
- *
+ *
* parse an XML Nmtoken.
*
* [7] Nmtoken ::= (NameChar)+
@@ -2823,21 +3745,30 @@ xmlParseNmtoken(xmlParserCtxtPtr ctxt) {
int c;
int count = 0;
+#ifdef DEBUG
+ nbParseNmToken++;
+#endif
+
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
c = CUR_CHAR(l);
- while ((IS_LETTER(c)) || (IS_DIGIT(c)) || /* test bigtoken.xml */
- (c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
- (IS_COMBINING(c)) ||
- (IS_EXTENDER(c))) {
- if (count++ > 100) {
+ while (xmlIsNameChar(ctxt, c)) {
+ if (count++ > XML_PARSER_CHUNK_SIZE) {
count = 0;
GROW;
}
COPY_BUF(l,buf,len,c);
NEXTL(l);
c = CUR_CHAR(l);
+ if (c == 0) {
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ c = CUR_CHAR(l);
+ }
if (len >= XML_MAX_NAMELEN) {
/*
* Okay someone managed to make a huge token, so he's ready to pay
@@ -2845,25 +3776,31 @@ xmlParseNmtoken(xmlParserCtxtPtr ctxt) {
*/
xmlChar *buffer;
int max = len * 2;
-
+
buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
if (buffer == NULL) {
xmlErrMemory(ctxt, NULL);
return(NULL);
}
memcpy(buffer, buf, len);
- while ((IS_LETTER(c)) || (IS_DIGIT(c)) || /* test bigtoken.xml */
- (c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
- (IS_COMBINING(c)) ||
- (IS_EXTENDER(c))) {
- if (count++ > 100) {
+ while (xmlIsNameChar(ctxt, c)) {
+ if (count++ > XML_PARSER_CHUNK_SIZE) {
count = 0;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buffer);
+ return(NULL);
+ }
}
if (len + 10 > max) {
xmlChar *tmp;
+ if ((max > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken");
+ xmlFree(buffer);
+ return(NULL);
+ }
max *= 2;
tmp = (xmlChar *) xmlRealloc(buffer,
max * sizeof(xmlChar));
@@ -2884,6 +3821,11 @@ xmlParseNmtoken(xmlParserCtxtPtr ctxt) {
}
if (len == 0)
return(NULL);
+ if ((len > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "NmToken");
+ return(NULL);
+ }
return(xmlStrndup(buf, len));
}
@@ -2930,6 +3872,10 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
ctxt->instate = XML_PARSER_ENTITY_VALUE;
input = ctxt->input;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return(NULL);
+ }
NEXT;
c = CUR_CHAR(l);
/*
@@ -2937,12 +3883,12 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
* When a parameter entity reference appears in a literal entity
* value, ... a single or double quote character in the replacement
* text is always treated as a normal data character and will not
- * terminate the literal.
+ * terminate the literal.
* In practice it means we stop the loop only when back at parsing
* the initial entity and the quote is found
*/
- while ((IS_CHAR(c)) && ((c != stop) || /* checked */
- (ctxt->input != input))) {
+ while (((IS_CHAR(c)) && ((c != stop) || /* checked */
+ (ctxt->input != input))) && (ctxt->instate != XML_PARSER_EOF)) {
if (len + 5 >= size) {
xmlChar *tmp;
@@ -2971,6 +3917,10 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
}
}
buf[len] = 0;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return(NULL);
+ }
/*
* Raise problem w.r.t. '&' and '%' being used in non-entities
@@ -3018,12 +3968,12 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
*/
ret = xmlStringDecodeEntities(ctxt, buf, XML_SUBSTITUTE_PEREF,
0, 0, 0);
- if (orig != NULL)
+ if (orig != NULL)
*orig = buf;
else
xmlFree(buf);
}
-
+
return(ret);
}
@@ -3043,8 +3993,9 @@ static xmlChar *
xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
xmlChar limit = 0;
xmlChar *buf = NULL;
- int len = 0;
- int buf_size = 0;
+ xmlChar *rep = NULL;
+ size_t len = 0;
+ size_t buf_size = 0;
int c, l, in_space = 0;
xmlChar *current = NULL;
xmlEntityPtr ent;
@@ -3061,20 +4012,31 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
xmlFatalErr(ctxt, XML_ERR_ATTRIBUTE_NOT_STARTED, NULL);
return(NULL);
}
-
+
/*
* allocate a translation buffer.
*/
buf_size = XML_PARSER_BUFFER_SIZE;
- buf = (xmlChar *) xmlMallocAtomic(buf_size * sizeof(xmlChar));
+ buf = (xmlChar *) xmlMallocAtomic(buf_size);
if (buf == NULL) goto mem_error;
/*
* OK loop until we reach one of the ending char or a size limit.
*/
c = CUR_CHAR(l);
- while ((NXT(0) != limit) && /* checked */
- (c != '<')) {
+ while (((NXT(0) != limit) && /* checked */
+ (IS_CHAR(c)) && (c != '<')) &&
+ (ctxt->instate != XML_PARSER_EOF)) {
+ /*
+ * Impose a reasonable limit on attribute size, unless XML_PARSE_HUGE
+ * special option is given
+ */
+ if ((len > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ goto mem_error;
+ }
if (c == 0) break;
if (c == '&') {
in_space = 0;
@@ -3083,8 +4045,8 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
if (val == '&') {
if (ctxt->replaceEntities) {
- if (len > buf_size - 10) {
- growBuffer(buf);
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
buf[len++] = '&';
} else {
@@ -3092,8 +4054,8 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
* The reparsing will be done in xmlStringGetNodeList()
* called by the attribute() function in SAX.c
*/
- if (len > buf_size - 10) {
- growBuffer(buf);
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
buf[len++] = '&';
buf[len++] = '#';
@@ -3101,18 +4063,21 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
buf[len++] = '8';
buf[len++] = ';';
}
- } else {
- if (len > buf_size - 10) {
- growBuffer(buf);
+ } else if (val != 0) {
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
len += xmlCopyChar(0, &buf[len], val);
}
} else {
ent = xmlParseEntityRef(ctxt);
+ ctxt->nbentities++;
+ if (ent != NULL)
+ ctxt->nbentities += ent->owner;
if ((ent != NULL) &&
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
- if (len > buf_size - 10) {
- growBuffer(buf);
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
if ((ctxt->replaceEntities == 0) &&
(ent->content[0] == '&')) {
@@ -3124,10 +4089,8 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
} else {
buf[len++] = ent->content[0];
}
- } else if ((ent != NULL) &&
+ } else if ((ent != NULL) &&
(ctxt->replaceEntities != 0)) {
- xmlChar *rep;
-
if (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) {
rep = xmlStringDecodeEntities(ctxt, ent->content,
XML_SUBSTITUTE_REF,
@@ -3135,16 +4098,22 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
if (rep != NULL) {
current = rep;
while (*current != 0) { /* non input consuming */
- buf[len++] = *current++;
- if (len > buf_size - 10) {
- growBuffer(buf);
+ if ((*current == 0xD) || (*current == 0xA) ||
+ (*current == 0x9)) {
+ buf[len++] = 0x20;
+ current++;
+ } else
+ buf[len++] = *current++;
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
}
xmlFree(rep);
+ rep = NULL;
}
} else {
- if (len > buf_size - 10) {
- growBuffer(buf);
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
if (ent->content != NULL)
buf[len++] = ent->content[0];
@@ -3158,20 +4127,27 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
* entities problems
*/
if ((ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
- (ent->content != NULL)) {
- xmlChar *rep;
+ (ent->content != NULL) && (ent->checked == 0)) {
+ unsigned long oldnbent = ctxt->nbentities;
+
rep = xmlStringDecodeEntities(ctxt, ent->content,
- XML_SUBSTITUTE_REF, 0, 0, 0);
- if (rep != NULL)
+ XML_SUBSTITUTE_REF, 0, 0, 0);
+
+ ent->checked = (ctxt->nbentities - oldnbent + 1) * 2;
+ if (rep != NULL) {
+ if (xmlStrchr(rep, '<'))
+ ent->checked |= 1;
xmlFree(rep);
+ rep = NULL;
+ }
}
/*
* Just output the reference
*/
buf[len++] = '&';
- if (len > buf_size - i - 10) {
- growBuffer(buf);
+ while (len + i + 10 > buf_size) {
+ growBuffer(buf, i + 10);
}
for (;i > 0;i--)
buf[len++] = *cur++;
@@ -3183,8 +4159,8 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
if ((len != 0) || (!normalize)) {
if ((!normalize) || (!in_space)) {
COPY_BUF(l,buf,len,0x20);
- if (len > buf_size - 10) {
- growBuffer(buf);
+ while (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
}
in_space = 1;
@@ -3192,8 +4168,8 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
} else {
in_space = 0;
COPY_BUF(l,buf,len,c);
- if (len > buf_size - 10) {
- growBuffer(buf);
+ if (len + 10 > buf_size) {
+ growBuffer(buf, 10);
}
}
NEXTL(l);
@@ -3201,22 +4177,46 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
GROW;
c = CUR_CHAR(l);
}
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto error;
+
if ((in_space) && (normalize)) {
- while (buf[len - 1] == 0x20) len--;
+ while ((len > 0) && (buf[len - 1] == 0x20)) len--;
}
buf[len] = 0;
if (RAW == '<') {
xmlFatalErr(ctxt, XML_ERR_LT_IN_ATTRIBUTE, NULL);
} else if (RAW != limit) {
- xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
- "AttValue: ' expected\n");
+ if ((c != 0) && (!IS_CHAR(c))) {
+ xmlFatalErrMsg(ctxt, XML_ERR_INVALID_CHAR,
+ "invalid character in attribute value\n");
+ } else {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue: ' expected\n");
+ }
} else
NEXT;
- if (attlen != NULL) *attlen = len;
+
+ /*
+ * There we potentially risk an overflow, don't allow attribute value of
+ * length more than INT_MAX it is a very reasonnable assumption !
+ */
+ if (len >= INT_MAX) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ goto mem_error;
+ }
+
+ if (attlen != NULL) *attlen = (int) len;
return(buf);
mem_error:
xmlErrMemory(ctxt, NULL);
+error:
+ if (buf != NULL)
+ xmlFree(buf);
+ if (rep != NULL)
+ xmlFree(rep);
return(NULL);
}
@@ -3233,20 +4233,20 @@ mem_error:
*
* 3.3.3 Attribute-Value Normalization:
* Before the value of an attribute is passed to the application or
- * checked for validity, the XML processor must normalize it as follows:
+ * checked for validity, the XML processor must normalize it as follows:
* - a character reference is processed by appending the referenced
* character to the attribute value
* - an entity reference is processed by recursively processing the
- * replacement text of the entity
+ * replacement text of the entity
* - a whitespace character (#x20, #xD, #xA, #x9) is processed by
* appending #x20 to the normalized value, except that only a single
* #x20 is appended for a "#xD#xA" sequence that is part of an external
- * parsed entity or the literal entity value of an internal parsed entity
- * - other characters are processed by appending them to the normalized value
+ * parsed entity or the literal entity value of an internal parsed entity
+ * - other characters are processed by appending them to the normalized value
* If the declared value is not CDATA, then the XML processor must further
* process the normalized attribute value by discarding any leading and
* trailing space (#x20) characters, and by replacing sequences of space
- * (#x20) characters by a single space (#x20) character.
+ * (#x20) characters by a single space (#x20) character.
* All attributes for which no declaration has been read should be treated
* by a non-validating parser as if declared CDATA.
*
@@ -3263,7 +4263,7 @@ xmlParseAttValue(xmlParserCtxtPtr ctxt) {
/**
* xmlParseSystemLiteral:
* @ctxt: an XML parser context
- *
+ *
* parse an XML Literal
*
* [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
@@ -3292,7 +4292,7 @@ xmlParseSystemLiteral(xmlParserCtxtPtr ctxt) {
xmlFatalErr(ctxt, XML_ERR_LITERAL_NOT_STARTED, NULL);
return(NULL);
}
-
+
buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
if (buf == NULL) {
xmlErrMemory(ctxt, NULL);
@@ -3304,6 +4304,13 @@ xmlParseSystemLiteral(xmlParserCtxtPtr ctxt) {
if (len + 5 >= size) {
xmlChar *tmp;
+ if ((size > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "SystemLiteral");
+ xmlFree(buf);
+ ctxt->instate = (xmlParserInputState) state;
+ return(NULL);
+ }
size *= 2;
tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
if (tmp == NULL) {
@@ -3318,6 +4325,10 @@ xmlParseSystemLiteral(xmlParserCtxtPtr ctxt) {
if (count > 50) {
GROW;
count = 0;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return(NULL);
+ }
}
COPY_BUF(l,buf,len,cur);
NEXTL(l);
@@ -3381,6 +4392,12 @@ xmlParsePubidLiteral(xmlParserCtxtPtr ctxt) {
if (len + 1 >= size) {
xmlChar *tmp;
+ if ((size > XML_MAX_NAME_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Public ID");
+ xmlFree(buf);
+ return(NULL);
+ }
size *= 2;
tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
if (tmp == NULL) {
@@ -3395,6 +4412,10 @@ xmlParsePubidLiteral(xmlParserCtxtPtr ctxt) {
if (count > 50) {
GROW;
count = 0;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return(NULL);
+ }
}
NEXT;
cur = CUR;
@@ -3414,7 +4435,7 @@ xmlParsePubidLiteral(xmlParserCtxtPtr ctxt) {
return(buf);
}
-void xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata);
+static void xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata);
/*
* used for the test in the inner loop of the char data testing
@@ -3465,7 +4486,7 @@ static const unsigned char test_char_data[256] = {
* The right angle bracket (>) may be represented using the string "&gt;",
* and must, for compatibility, be escaped using "&gt;" or a character
* reference when it appears in the string "]]>" in content, when that
- * string is not marking the end of a CDATA section.
+ * string is not marking the end of a CDATA section.
*
* [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
*/
@@ -3488,7 +4509,7 @@ xmlParseCharData(xmlParserCtxtPtr ctxt, int cdata) {
in = ctxt->input->cur;
do {
get_more_space:
- while (*in == 0x20) in++;
+ while (*in == 0x20) { in++; ctxt->input->col++; }
if (*in == 0xA) {
do {
ctxt->input->line++; ctxt->input->col = 1;
@@ -3578,6 +4599,9 @@ get_more:
line = ctxt->input->line;
col = ctxt->input->col;
}
+ /* something really bad happened in the SAX callback */
+ if (ctxt->instate != XML_PARSER_CONTENT)
+ return;
}
ctxt->input->cur = in;
if (*in == 0xD) {
@@ -3598,6 +4622,8 @@ get_more:
}
SHRINK;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
in = ctxt->input->cur;
} while (((*in >= 0x20) && (*in <= 0x7F)) || (*in == 0x09));
nbchar = 0;
@@ -3616,7 +4642,7 @@ get_more:
* of xmlParseCharData() when the parsing requires handling
* of non-ASCII characters.
*/
-void
+static void
xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
xmlChar buf[XML_PARSER_BIG_BUFFER_SIZE + 5];
int nbchar = 0;
@@ -3627,7 +4653,7 @@ xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
GROW;
cur = CUR_CHAR(l);
while ((cur != '<') && /* checked */
- (cur != '&') &&
+ (cur != '&') &&
(IS_CHAR(cur))) /* test also done in xmlCurrentChar() */ {
if ((cur == ']') && (NXT(1) == ']') &&
(NXT(2) == '>')) {
@@ -3658,11 +4684,16 @@ xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
}
}
nbchar = 0;
+ /* something really bad happened in the SAX callback */
+ if (ctxt->instate != XML_PARSER_CONTENT)
+ return;
}
count++;
if (count > 50) {
GROW;
count = 0;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
}
NEXTL(l);
cur = CUR_CHAR(l);
@@ -3755,7 +4786,7 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
}
} else {
/*
- * We handle [83] so we return immediately, if
+ * We handle [83] so we return immediately, if
* "S SystemLiteral" is not detected. From a purely parsing
* point of view that's a nice mess.
*/
@@ -3764,7 +4795,7 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
ptr = CUR_PTR;
if (!IS_BLANK_CH(*ptr)) return(NULL);
-
+
while (IS_BLANK_CH(*ptr)) ptr++; /* TODO: dangerous, fix ! */
if ((*ptr != '\'') && (*ptr != '"')) return(NULL);
}
@@ -3792,12 +4823,15 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
* [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'
*/
static void
-xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, int len, int size) {
+xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf,
+ size_t len, size_t size) {
int q, ql;
int r, rl;
int cur, l;
- xmlParserInputPtr input = ctxt->input;
- int count = 0;
+ size_t count = 0;
+ int inputid;
+
+ inputid = ctxt->input->id;
if (buf == NULL) {
len = 0;
@@ -3808,13 +4842,28 @@ xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, int len, int size) {
return;
}
}
+ GROW; /* Assure there's enough input data */
q = CUR_CHAR(ql);
if (q == 0)
goto not_terminated;
+ if (!IS_CHAR(q)) {
+ xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
+ "xmlParseComment: invalid xmlChar value %d\n",
+ q);
+ xmlFree (buf);
+ return;
+ }
NEXTL(ql);
r = CUR_CHAR(rl);
if (r == 0)
goto not_terminated;
+ if (!IS_CHAR(r)) {
+ xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
+ "xmlParseComment: invalid xmlChar value %d\n",
+ q);
+ xmlFree (buf);
+ return;
+ }
NEXTL(rl);
cur = CUR_CHAR(l);
if (cur == 0)
@@ -3825,16 +4874,26 @@ xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, int len, int size) {
if ((r == '-') && (q == '-')) {
xmlFatalErr(ctxt, XML_ERR_HYPHEN_IN_COMMENT, NULL);
}
+ if ((len > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
+ "Comment too big found", NULL);
+ xmlFree (buf);
+ return;
+ }
if (len + 5 >= size) {
xmlChar *new_buf;
- size *= 2;
- new_buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+ size_t new_size;
+
+ new_size = size * 2;
+ new_buf = (xmlChar *) xmlRealloc(buf, new_size);
if (new_buf == NULL) {
xmlFree (buf);
xmlErrMemory(ctxt, NULL);
return;
}
buf = new_buf;
+ size = new_size;
}
COPY_BUF(ql,buf,len,q);
q = r;
@@ -3846,6 +4905,10 @@ xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, int len, int size) {
if (count > 50) {
GROW;
count = 0;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return;
+ }
}
NEXTL(l);
cur = CUR_CHAR(l);
@@ -3856,12 +4919,15 @@ xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, int len, int size) {
}
}
buf[len] = 0;
- if (!IS_CHAR(cur)) {
+ if (cur == 0) {
xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
"Comment not terminated \n<!--%.50s\n", buf);
- xmlFree(buf);
+ } else if (!IS_CHAR(cur)) {
+ xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
+ "xmlParseComment: invalid xmlChar value %d\n",
+ cur);
} else {
- if (input != ctxt->input) {
+ if (inputid != ctxt->input->id) {
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
"Comment doesn't start and stop in the same entity\n");
}
@@ -3869,14 +4935,16 @@ xmlParseCommentComplex(xmlParserCtxtPtr ctxt, xmlChar *buf, int len, int size) {
if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
(!ctxt->disableSAX))
ctxt->sax->comment(ctxt->userData, buf);
- xmlFree(buf);
}
+ xmlFree(buf);
return;
not_terminated:
xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
"Comment not terminated\n", NULL);
xmlFree(buf);
+ return;
}
+
/**
* xmlParseComment:
* @ctxt: an XML parser context
@@ -3890,20 +4958,22 @@ not_terminated:
void
xmlParseComment(xmlParserCtxtPtr ctxt) {
xmlChar *buf = NULL;
- int size = XML_PARSER_BUFFER_SIZE;
- int len = 0;
+ size_t size = XML_PARSER_BUFFER_SIZE;
+ size_t len = 0;
xmlParserInputState state;
const xmlChar *in;
- int nbchar = 0, ccol;
+ size_t nbchar = 0;
+ int ccol;
+ int inputid;
/*
* Check that there is a comment right here.
*/
if ((RAW != '<') || (NXT(1) != '!') ||
(NXT(2) != '-') || (NXT(3) != '-')) return;
-
state = ctxt->instate;
ctxt->instate = XML_PARSER_COMMENT;
+ inputid = ctxt->input->id;
SKIP(4);
SHRINK;
GROW;
@@ -3973,6 +5043,13 @@ get_more:
buf[len] = 0;
}
}
+ if ((len > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
+ "Comment too big found", NULL);
+ xmlFree (buf);
+ return;
+ }
ctxt->input->cur = in;
if (*in == 0xA) {
in++;
@@ -3990,10 +5067,18 @@ get_more:
}
SHRINK;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return;
+ }
in = ctxt->input->cur;
if (*in == '-') {
if (in[1] == '-') {
if (in[2] == '>') {
+ if (ctxt->input->id != inputid) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+ "comment doesn't start and stop in the same entity\n");
+ }
SKIP(3);
if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
(!ctxt->disableSAX)) {
@@ -4004,16 +5089,18 @@ get_more:
}
if (buf != NULL)
xmlFree(buf);
- ctxt->instate = state;
+ if (ctxt->instate != XML_PARSER_EOF)
+ ctxt->instate = state;
return;
}
- if (buf != NULL)
- xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
- "Comment not terminated \n<!--%.50s\n",
+ if (buf != NULL) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_HYPHEN_IN_COMMENT,
+ "Double hyphen within comment: "
+ "<!--%.50s\n",
buf);
- else
- xmlFatalErrMsgStr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
- "Comment not terminated \n", NULL);
+ } else
+ xmlFatalErrMsgStr(ctxt, XML_ERR_HYPHEN_IN_COMMENT,
+ "Double hyphen within comment\n", NULL);
in++;
ctxt->input->col++;
}
@@ -4031,7 +5118,7 @@ get_more:
/**
* xmlParsePITarget:
* @ctxt: an XML parser context
- *
+ *
* parse the name of a PI
*
* [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))
@@ -4067,6 +5154,10 @@ xmlParsePITarget(xmlParserCtxtPtr ctxt) {
"xmlParsePITarget: invalid name prefix 'xml'\n",
NULL, NULL);
}
+ if ((name != NULL) && (xmlStrchr(name, ':') != NULL)) {
+ xmlNsErr(ctxt, XML_NS_ERR_COLON,
+ "colons are forbidden from PI names '%s'\n", name, NULL, NULL);
+ }
return(name);
}
@@ -4075,7 +5166,7 @@ xmlParsePITarget(xmlParserCtxtPtr ctxt) {
* xmlParseCatalogPI:
* @ctxt: an XML parser context
* @catalog: the PI value string
- *
+ *
* parse an XML Catalog Processing Instruction.
*
* <?oasis-xml-catalog catalog="http://example.com/catalog.xml"?>
@@ -4135,7 +5226,7 @@ error:
/**
* xmlParsePI:
* @ctxt: an XML parser context
- *
+ *
* parse an XML Processing Instruction.
*
* [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
@@ -4146,8 +5237,8 @@ error:
void
xmlParsePI(xmlParserCtxtPtr ctxt) {
xmlChar *buf = NULL;
- int len = 0;
- int size = XML_PARSER_BUFFER_SIZE;
+ size_t len = 0;
+ size_t size = XML_PARSER_BUFFER_SIZE;
int cur, l;
const xmlChar *target;
xmlParserInputState state;
@@ -4183,7 +5274,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
(ctxt->sax->processingInstruction != NULL))
ctxt->sax->processingInstruction(ctxt->userData,
target, NULL);
- ctxt->instate = state;
+ if (ctxt->instate != XML_PARSER_EOF)
+ ctxt->instate = state;
return;
}
buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
@@ -4203,9 +5295,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
((cur != '?') || (NXT(1) != '>'))) {
if (len + 5 >= size) {
xmlChar *tmp;
-
- size *= 2;
- tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+ size_t new_size = size * 2;
+ tmp = (xmlChar *) xmlRealloc(buf, new_size);
if (tmp == NULL) {
xmlErrMemory(ctxt, NULL);
xmlFree(buf);
@@ -4213,11 +5304,24 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
return;
}
buf = tmp;
+ size = new_size;
}
count++;
if (count > 50) {
GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return;
+ }
count = 0;
+ if ((len > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
+ "PI %s too big found", target);
+ xmlFree(buf);
+ ctxt->instate = state;
+ return;
+ }
}
COPY_BUF(l,buf,len,cur);
NEXTL(l);
@@ -4228,6 +5332,14 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
cur = CUR_CHAR(l);
}
}
+ if ((len > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
+ "PI %s too big found", target);
+ xmlFree(buf);
+ ctxt->instate = state;
+ return;
+ }
buf[len] = 0;
if (cur != '?') {
xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
@@ -4263,7 +5375,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
} else {
xmlFatalErr(ctxt, XML_ERR_PI_NOT_STARTED, NULL);
}
- ctxt->instate = state;
+ if (ctxt->instate != XML_PARSER_EOF)
+ ctxt->instate = state;
}
}
@@ -4288,7 +5401,7 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
const xmlChar *name;
xmlChar *Pubid;
xmlChar *Systemid;
-
+
if (CMP10(CUR_PTR, '<', '!', 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N')) {
xmlParserInputPtr input = ctxt->input;
SHRINK;
@@ -4310,6 +5423,11 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
"Space required after the NOTATION name'\n");
return;
}
+ if (xmlStrchr(name, ':') != NULL) {
+ xmlNsErr(ctxt, XML_NS_ERR_COLON,
+ "colons are forbidden from notation names '%s'\n",
+ name, NULL, NULL);
+ }
SKIP_BLANKS;
/*
@@ -4366,7 +5484,7 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
int isParameter = 0;
xmlChar *orig = NULL;
int skipped;
-
+
/* GROW; done in the caller */
if (CMP8(CUR_PTR, '<', '!', 'E', 'N', 'T', 'I', 'T', 'Y')) {
xmlParserInputPtr input = ctxt->input;
@@ -4394,6 +5512,11 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
"xmlParseEntityDecl: no name\n");
return;
}
+ if (xmlStrchr(name, ':') != NULL) {
+ xmlNsErr(ctxt, XML_NS_ERR_COLON,
+ "colons are forbidden from entities names '%s'\n",
+ name, NULL, NULL);
+ }
skipped = SKIP_BLANKS;
if (skipped == 0) {
xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
@@ -4465,6 +5588,11 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
(xmlStrEqual(ctxt->myDoc->version, SAX_COMPAT_MODE))) {
if (ctxt->myDoc == NULL) {
ctxt->myDoc = xmlNewDoc(SAX_COMPAT_MODE);
+ if (ctxt->myDoc == NULL) {
+ xmlErrMemory(ctxt, "New Doc failed");
+ return;
+ }
+ ctxt->myDoc->properties = XML_DOC_INTERNAL;
}
if (ctxt->myDoc->intSubset == NULL)
ctxt->myDoc->intSubset = xmlNewDtd(ctxt->myDoc,
@@ -4533,6 +5661,11 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
(xmlStrEqual(ctxt->myDoc->version, SAX_COMPAT_MODE)))) {
if (ctxt->myDoc == NULL) {
ctxt->myDoc = xmlNewDoc(SAX_COMPAT_MODE);
+ if (ctxt->myDoc == NULL) {
+ xmlErrMemory(ctxt, "New Doc failed");
+ return;
+ }
+ ctxt->myDoc->properties = XML_DOC_INTERNAL;
}
if (ctxt->myDoc->intSubset == NULL)
@@ -4545,10 +5678,13 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
}
}
}
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
SKIP_BLANKS;
if (RAW != '>') {
xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED,
"xmlParseEntityDecl: entity %s not terminated\n", name);
+ xmlHaltParser(ctxt);
} else {
if (input != ctxt->input) {
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
@@ -4608,13 +5744,13 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
*
* [ VC: Fixed Attribute Default ]
* if an attribute has a default value declared with the #FIXED
- * keyword, instances of that attribute must match the default value.
+ * keyword, instances of that attribute must match the default value.
*
* [ WFC: No < in Attribute Values ]
* handled in xmlParseAttValue()
*
* returns: XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
- * or XML_ATTRIBUTE_FIXED.
+ * or XML_ATTRIBUTE_FIXED.
*/
int
@@ -4663,7 +5799,7 @@ xmlParseDefaultDecl(xmlParserCtxtPtr ctxt, xmlChar **value) {
*
* [ VC: Notation Attributes ]
* Values of this type must match one of the notation names included
- * in the declaration; all notation names in the declaration must be declared.
+ * in the declaration; all notation names in the declaration must be declared.
*
* Returns: the notation attribute tree built while parsing
*/
@@ -4671,7 +5807,7 @@ xmlParseDefaultDecl(xmlParserCtxtPtr ctxt, xmlChar **value) {
xmlEnumerationPtr
xmlParseNotationType(xmlParserCtxtPtr ctxt) {
const xmlChar *name;
- xmlEnumerationPtr ret = NULL, last = NULL, cur;
+ xmlEnumerationPtr ret = NULL, last = NULL, cur, tmp;
if (RAW != '(') {
xmlFatalErr(ctxt, XML_ERR_NOTATION_NOT_STARTED, NULL);
@@ -4685,22 +5821,39 @@ xmlParseNotationType(xmlParserCtxtPtr ctxt) {
if (name == NULL) {
xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
"Name expected in NOTATION declaration\n");
- return(ret);
+ xmlFreeEnumeration(ret);
+ return(NULL);
}
- cur = xmlCreateEnumeration(name);
- if (cur == NULL) return(ret);
- if (last == NULL) ret = last = cur;
- else {
- last->next = cur;
- last = cur;
+ tmp = ret;
+ while (tmp != NULL) {
+ if (xmlStrEqual(name, tmp->name)) {
+ xmlValidityError(ctxt, XML_DTD_DUP_TOKEN,
+ "standalone: attribute notation value token %s duplicated\n",
+ name, NULL);
+ if (!xmlDictOwns(ctxt->dict, name))
+ xmlFree((xmlChar *) name);
+ break;
+ }
+ tmp = tmp->next;
+ }
+ if (tmp == NULL) {
+ cur = xmlCreateEnumeration(name);
+ if (cur == NULL) {
+ xmlFreeEnumeration(ret);
+ return(NULL);
+ }
+ if (last == NULL) ret = last = cur;
+ else {
+ last->next = cur;
+ last = cur;
+ }
}
SKIP_BLANKS;
} while (RAW == '|');
if (RAW != ')') {
xmlFatalErr(ctxt, XML_ERR_NOTATION_NOT_FINISHED, NULL);
- if ((last != NULL) && (last != ret))
- xmlFreeEnumeration(last);
- return(ret);
+ xmlFreeEnumeration(ret);
+ return(NULL);
}
NEXT;
return(ret);
@@ -4724,7 +5877,7 @@ xmlParseNotationType(xmlParserCtxtPtr ctxt) {
xmlEnumerationPtr
xmlParseEnumerationType(xmlParserCtxtPtr ctxt) {
xmlChar *name;
- xmlEnumerationPtr ret = NULL, last = NULL, cur;
+ xmlEnumerationPtr ret = NULL, last = NULL, cur, tmp;
if (RAW != '(') {
xmlFatalErr(ctxt, XML_ERR_ATTLIST_NOT_STARTED, NULL);
@@ -4739,13 +5892,31 @@ xmlParseEnumerationType(xmlParserCtxtPtr ctxt) {
xmlFatalErr(ctxt, XML_ERR_NMTOKEN_REQUIRED, NULL);
return(ret);
}
- cur = xmlCreateEnumeration(name);
- xmlFree(name);
- if (cur == NULL) return(ret);
- if (last == NULL) ret = last = cur;
- else {
- last->next = cur;
- last = cur;
+ tmp = ret;
+ while (tmp != NULL) {
+ if (xmlStrEqual(name, tmp->name)) {
+ xmlValidityError(ctxt, XML_DTD_DUP_TOKEN,
+ "standalone: attribute enumeration value token %s duplicated\n",
+ name, NULL);
+ if (!xmlDictOwns(ctxt->dict, name))
+ xmlFree(name);
+ break;
+ }
+ tmp = tmp->next;
+ }
+ if (tmp == NULL) {
+ cur = xmlCreateEnumeration(name);
+ if (!xmlDictOwns(ctxt->dict, name))
+ xmlFree(name);
+ if (cur == NULL) {
+ xmlFreeEnumeration(ret);
+ return(NULL);
+ }
+ if (last == NULL) ret = last = cur;
+ else {
+ last->next = cur;
+ last = cur;
+ }
}
SKIP_BLANKS;
} while (RAW == '|');
@@ -4828,15 +5999,15 @@ xmlParseEnumeratedType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree) {
* [ VC: Entity Name ]
* Values of type ENTITY must match the Name production, values
* of type ENTITIES must match Names; each Entity Name must match the
- * name of an unparsed entity declared in the DTD.
+ * name of an unparsed entity declared in the DTD.
*
* [ VC: Name Token ]
* Values of type NMTOKEN must match the Nmtoken production; values
- * of type NMTOKENS must match Nmtokens.
+ * of type NMTOKENS must match Nmtokens.
*
* Returns the attribute type
*/
-int
+int
xmlParseAttributeType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree) {
SHRINK;
if (CMP5(CUR_PTR, 'C', 'D', 'A', 'T', 'A')) {
@@ -4901,7 +6072,7 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
}
SKIP_BLANKS;
GROW;
- while (RAW != '>') {
+ while ((RAW != '>') && (ctxt->instate != XML_PARSER_EOF)) {
const xmlChar *check = CUR_PTR;
int type;
int def;
@@ -4946,6 +6117,8 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
xmlFreeEnumeration(tree);
break;
}
+ if ((type != XML_ATTRIBUTE_CDATA) && (defaultValue != NULL))
+ xmlAttrNormalizeSpace(defaultValue, defaultValue);
GROW;
if (RAW != '>') {
@@ -4977,11 +6150,11 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
xmlFreeEnumeration(tree);
if ((ctxt->sax2) && (defaultValue != NULL) &&
- (def != XML_ATTRIBUTE_IMPLIED) &&
+ (def != XML_ATTRIBUTE_IMPLIED) &&
(def != XML_ATTRIBUTE_REQUIRED)) {
xmlAddDefAttrs(ctxt, elemName, attrName, defaultValue);
}
- if ((ctxt->sax2) && (type != XML_ATTRIBUTE_CDATA)) {
+ if (ctxt->sax2) {
xmlAddSpecialAttr(ctxt, elemName, attrName, type);
}
if (defaultValue != NULL)
@@ -4990,8 +6163,9 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
}
if (RAW == '>') {
if (input != ctxt->input) {
- xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
- "Attribute list declaration doesn't start and stop in the same entity\n");
+ xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
+ "Attribute list declaration doesn't start and stop in the same entity\n",
+ NULL, NULL);
}
NEXT;
}
@@ -5005,7 +6179,7 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
*
* parse the declaration for a Mixed Element content
* The leading '(' and spaces have been skipped in xmlParseElementContentDecl
- *
+ *
* [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' |
* '(' S? '#PCDATA' S? ')'
*
@@ -5013,7 +6187,7 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
*
* [ VC: No Duplicate Types ]
* The same name must not appear more than once in a single
- * mixed-content declaration.
+ * mixed-content declaration.
*
* returns: the list of the xmlElementContentPtr describing the element choices
*/
@@ -5031,10 +6205,12 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
if ((ctxt->validate) && (ctxt->input->id != inputchk)) {
xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
"Element content declaration doesn't start and stop in the same entity\n",
- NULL);
+ NULL, NULL);
}
NEXT;
ret = xmlNewDocElementContent(ctxt->myDoc, NULL, XML_ELEMENT_CONTENT_PCDATA);
+ if (ret == NULL)
+ return(NULL);
if (RAW == '*') {
ret->ocur = XML_ELEMENT_CONTENT_MULT;
NEXT;
@@ -5045,7 +6221,7 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
ret = cur = xmlNewDocElementContent(ctxt->myDoc, NULL, XML_ELEMENT_CONTENT_PCDATA);
if (ret == NULL) return(NULL);
}
- while (RAW == '|') {
+ while ((RAW == '|') && (ctxt->instate != XML_PARSER_EOF)) {
NEXT;
if (elem == NULL) {
ret = xmlNewDocElementContent(ctxt->myDoc, NULL, XML_ELEMENT_CONTENT_OR);
@@ -5083,11 +6259,12 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
if (cur->c2 != NULL)
cur->c2->parent = cur;
}
- ret->ocur = XML_ELEMENT_CONTENT_MULT;
+ if (ret != NULL)
+ ret->ocur = XML_ELEMENT_CONTENT_MULT;
if ((ctxt->validate) && (ctxt->input->id != inputchk)) {
xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
"Element content declaration doesn't start and stop in the same entity\n",
- NULL);
+ NULL, NULL);
}
SKIP(2);
} else {
@@ -5103,13 +6280,14 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
}
/**
- * xmlParseElementChildrenContentDecl:
+ * xmlParseElementChildrenContentDeclPriv:
* @ctxt: an XML parser context
* @inputchk: the input used for the current entity, needed for boundary checks
+ * @depth: the level of recursion
*
* parse the declaration for a Mixed Element content
* The leading '(' and spaces have been skipped in xmlParseElementContentDecl
- *
+ *
*
* [47] children ::= (choice | seq) ('?' | '*' | '+')?
*
@@ -5130,15 +6308,23 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
* be empty, and neither the first nor last non-blank character of
* the replacement text should be a connector (| or ,).
*
- * Returns the tree of xmlElementContentPtr describing the element
+ * Returns the tree of xmlElementContentPtr describing the element
* hierarchy.
*/
-xmlElementContentPtr
-xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
+static xmlElementContentPtr
+xmlParseElementChildrenContentDeclPriv(xmlParserCtxtPtr ctxt, int inputchk,
+ int depth) {
xmlElementContentPtr ret = NULL, cur = NULL, last = NULL, op = NULL;
const xmlChar *elem;
xmlChar type = 0;
+ if (((depth > 128) && ((ctxt->options & XML_PARSE_HUGE) == 0)) ||
+ (depth > 2048)) {
+ xmlFatalErrMsgInt(ctxt, XML_ERR_ELEMCONTENT_NOT_FINISHED,
+"xmlParseElementChildrenContentDecl : depth %d too deep, use XML_PARSE_HUGE\n",
+ depth);
+ return(NULL);
+ }
SKIP_BLANKS;
GROW;
if (RAW == '(') {
@@ -5147,7 +6333,8 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
/* Recurse on first child */
NEXT;
SKIP_BLANKS;
- cur = ret = xmlParseElementChildrenContentDecl(ctxt, inputid);
+ cur = ret = xmlParseElementChildrenContentDeclPriv(ctxt, inputid,
+ depth + 1);
SKIP_BLANKS;
GROW;
} else {
@@ -5178,7 +6365,7 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
}
SKIP_BLANKS;
SHRINK;
- while (RAW != ')') {
+ while ((RAW != ')') && (ctxt->instate != XML_PARSER_EOF)) {
/*
* Each loop we parse one separator and one element.
*/
@@ -5265,6 +6452,8 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
}
} else {
xmlFatalErr(ctxt, XML_ERR_ELEMCONTENT_NOT_FINISHED, NULL);
+ if ((last != NULL) && (last != ret))
+ xmlFreeDocElementContent(ctxt->myDoc, last);
if (ret != NULL)
xmlFreeDocElementContent(ctxt->myDoc, ret);
return(NULL);
@@ -5277,7 +6466,8 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
/* Recurse on second child */
NEXT;
SKIP_BLANKS;
- last = xmlParseElementChildrenContentDecl(ctxt, inputid);
+ last = xmlParseElementChildrenContentDeclPriv(ctxt, inputid,
+ depth + 1);
SKIP_BLANKS;
} else {
elem = xmlParseName(ctxt);
@@ -5288,6 +6478,11 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
return(NULL);
}
last = xmlNewDocElementContent(ctxt->myDoc, elem, XML_ELEMENT_CONTENT_ELEMENT);
+ if (last == NULL) {
+ if (ret != NULL)
+ xmlFreeDocElementContent(ctxt->myDoc, ret);
+ return(NULL);
+ }
if (RAW == '?') {
last->ocur = XML_ELEMENT_CONTENT_OPT;
NEXT;
@@ -5312,7 +6507,7 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
if ((ctxt->validate) && (ctxt->input->id != inputchk)) {
xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
"Element content declaration doesn't start and stop in the same entity\n",
- NULL);
+ NULL, NULL);
}
NEXT;
if (RAW == '?') {
@@ -5383,6 +6578,42 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
}
/**
+ * xmlParseElementChildrenContentDecl:
+ * @ctxt: an XML parser context
+ * @inputchk: the input used for the current entity, needed for boundary checks
+ *
+ * parse the declaration for a Mixed Element content
+ * The leading '(' and spaces have been skipped in xmlParseElementContentDecl
+ *
+ * [47] children ::= (choice | seq) ('?' | '*' | '+')?
+ *
+ * [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?
+ *
+ * [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')'
+ *
+ * [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'
+ *
+ * [ VC: Proper Group/PE Nesting ] applies to [49] and [50]
+ * TODO Parameter-entity replacement text must be properly nested
+ * with parenthesized groups. That is to say, if either of the
+ * opening or closing parentheses in a choice, seq, or Mixed
+ * construct is contained in the replacement text for a parameter
+ * entity, both must be contained in the same replacement text. For
+ * interoperability, if a parameter-entity reference appears in a
+ * choice, seq, or Mixed construct, its replacement text should not
+ * be empty, and neither the first nor last non-blank character of
+ * the replacement text should be a connector (| or ,).
+ *
+ * Returns the tree of xmlElementContentPtr describing the element
+ * hierarchy.
+ */
+xmlElementContentPtr
+xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
+ /* stub left for API/ABI compat */
+ return(xmlParseElementChildrenContentDeclPriv(ctxt, inputchk, 1));
+}
+
+/**
* xmlParseElementContentDecl:
* @ctxt: an XML parser context
* @name: the name of the element being defined.
@@ -5390,7 +6621,7 @@ xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
*
* parse the declaration for an Element content either Mixed or Children,
* the cases EMPTY and ANY are handled directly in xmlParseElementDecl
- *
+ *
* [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children
*
* returns: the type of element content XML_ELEMENT_TYPE_xxx
@@ -5413,12 +6644,14 @@ xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, const xmlChar *name,
}
NEXT;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
SKIP_BLANKS;
if (CMP7(CUR_PTR, '#', 'P', 'C', 'D', 'A', 'T', 'A')) {
tree = xmlParseElementMixedContentDecl(ctxt, inputid);
res = XML_ELEMENT_TYPE_MIXED;
} else {
- tree = xmlParseElementChildrenContentDecl(ctxt, inputid);
+ tree = xmlParseElementChildrenContentDeclPriv(ctxt, inputid, 1);
res = XML_ELEMENT_TYPE_ELEMENT;
}
SKIP_BLANKS;
@@ -5516,7 +6749,7 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
"Element declaration doesn't start and stop in the same entity\n");
}
-
+
NEXT;
if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
(ctxt->sax->elementDecl != NULL)) {
@@ -5528,7 +6761,7 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
/*
* this is a trick: if xmlAddElementDecl is called,
* instead of copying the full tree it is plugged directly
- * if called from the parser. Avoid duplicating the
+ * if called from the parser. Avoid duplicating the
* interfaces or change the API/ABI
*/
xmlFreeDocElementContent(ctxt->myDoc, content);
@@ -5545,8 +6778,8 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
* xmlParseConditionalSections
* @ctxt: an XML parser context
*
- * [61] conditionalSect ::= includeSect | ignoreSect
- * [62] includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>'
+ * [61] conditionalSect ::= includeSect | ignoreSect
+ * [62] includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>'
* [63] ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'
* [64] ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*
* [65] Ignore ::= Char* - (Char* ('<![' | ']]>') Char*)
@@ -5554,6 +6787,8 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
static void
xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
+ int id = ctxt->input->id;
+
SKIP(3);
SKIP_BLANKS;
if (CMP7(CUR_PTR, 'I', 'N', 'C', 'L', 'U', 'D', 'E')) {
@@ -5561,7 +6796,14 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
SKIP_BLANKS;
if (RAW != '[') {
xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL);
+ xmlHaltParser(ctxt);
+ return;
} else {
+ if (ctxt->input->id != id) {
+ xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
+ "All markup of the conditional section is not in the same entity\n",
+ NULL, NULL);
+ }
NEXT;
}
if (xmlParserDebugEntities) {
@@ -5573,8 +6815,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
"Entering INCLUDE Conditional Section\n");
}
- while ((RAW != 0) && ((RAW != ']') || (NXT(1) != ']') ||
- (NXT(2) != '>'))) {
+ while (((RAW != 0) && ((RAW != ']') || (NXT(1) != ']') ||
+ (NXT(2) != '>'))) && (ctxt->instate != XML_PARSER_EOF)) {
const xmlChar *check = CUR_PTR;
unsigned int cons = ctxt->input->consumed;
@@ -5616,7 +6858,14 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
SKIP_BLANKS;
if (RAW != '[') {
xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL);
+ xmlHaltParser(ctxt);
+ return;
} else {
+ if (ctxt->input->id != id) {
+ xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
+ "All markup of the conditional section is not in the same entity\n",
+ NULL, NULL);
+ }
NEXT;
}
if (xmlParserDebugEntities) {
@@ -5637,7 +6886,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
if (ctxt->recovery == 0) ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_IGNORE;
- while ((depth >= 0) && (RAW != 0)) {
+ while (((depth >= 0) && (RAW != 0)) &&
+ (ctxt->instate != XML_PARSER_EOF)) {
if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) {
depth++;
SKIP(3);
@@ -5665,6 +6915,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
} else {
xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID_KEYWORD, NULL);
+ xmlHaltParser(ctxt);
+ return;
}
if (RAW == 0)
@@ -5673,14 +6925,21 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
if (RAW == 0) {
xmlFatalErr(ctxt, XML_ERR_CONDSEC_NOT_FINISHED, NULL);
} else {
- SKIP(3);
+ if (ctxt->input->id != id) {
+ xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
+ "All markup of the conditional section is not in the same entity\n",
+ NULL, NULL);
+ }
+ if ((ctxt-> instate != XML_PARSER_EOF) &&
+ ((ctxt->input->cur + 3) <= ctxt->input->end))
+ SKIP(3);
}
}
/**
* xmlParseMarkupDecl:
* @ctxt: an XML parser context
- *
+ *
* parse Markup declarations
*
* [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl |
@@ -5697,7 +6956,7 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
* In the internal DTD subset, parameter-entity references can occur
* only where markup declarations can occur, not within markup declarations.
* (This does not apply to references that occur in external parameter
- * entities or to the external subset.)
+ * entities or to the external subset.)
*/
void
xmlParseMarkupDecl(xmlParserCtxtPtr ctxt) {
@@ -5728,6 +6987,14 @@ xmlParseMarkupDecl(xmlParserCtxtPtr ctxt) {
xmlParsePI(ctxt);
}
}
+
+ /*
+ * detect requirement to exit there and act accordingly
+ * and avoid having instate overriden later on
+ */
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
+
/*
* This is only for internal subset. On external entities,
* the replacement is done before parsing stage
@@ -5751,12 +7018,10 @@ xmlParseMarkupDecl(xmlParserCtxtPtr ctxt) {
/**
* xmlParseTextDecl:
* @ctxt: an XML parser context
- *
+ *
* parse an XML declaration header for external entities
*
* [77] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'
- *
- * Question: Seems that EncodingDecl is mandatory ? Is that a typo ?
*/
void
@@ -5828,7 +7093,7 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) {
* @ctxt: an XML parser context
* @ExternalID: the external identifier
* @SystemID: the system identifier (or URL)
- *
+ *
* parse Markup declarations from an external subset
*
* [30] extSubset ::= textDecl? extSubsetDecl
@@ -5840,18 +7105,38 @@ xmlParseExternalSubset(xmlParserCtxtPtr ctxt, const xmlChar *ExternalID,
const xmlChar *SystemID) {
xmlDetectSAX2(ctxt);
GROW;
+
+ if ((ctxt->encoding == NULL) &&
+ (ctxt->input->end - ctxt->input->cur >= 4)) {
+ xmlChar start[4];
+ xmlCharEncoding enc;
+
+ start[0] = RAW;
+ start[1] = NXT(1);
+ start[2] = NXT(2);
+ start[3] = NXT(3);
+ enc = xmlDetectCharEncoding(start, 4);
+ if (enc != XML_CHAR_ENCODING_NONE)
+ xmlSwitchEncoding(ctxt, enc);
+ }
+
if (CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) {
xmlParseTextDecl(ctxt);
if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) {
/*
* The XML REC instructs us to stop parsing right here
*/
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
return;
}
}
if (ctxt->myDoc == NULL) {
ctxt->myDoc = xmlNewDoc(BAD_CAST "1.0");
+ if (ctxt->myDoc == NULL) {
+ xmlErrMemory(ctxt, "New Doc failed");
+ return;
+ }
+ ctxt->myDoc->properties = XML_DOC_INTERNAL;
}
if ((ctxt->myDoc != NULL) && (ctxt->myDoc->intSubset == NULL))
xmlCreateIntSubset(ctxt->myDoc, NULL, ExternalID, SystemID);
@@ -5885,7 +7170,7 @@ xmlParseExternalSubset(xmlParserCtxtPtr ctxt, const xmlChar *ExternalID,
break;
}
}
-
+
if (RAW != 0) {
xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
}
@@ -5895,7 +7180,7 @@ xmlParseExternalSubset(xmlParserCtxtPtr ctxt, const xmlChar *ExternalID,
/**
* xmlParseReference:
* @ctxt: an XML parser context
- *
+ *
* parse and handle entity references in content, depending on the SAX
* interface, this may end-up in a call to character() if this is a
* CharRef, a predefined entity, if there is no reference() callback.
@@ -5907,14 +7192,25 @@ void
xmlParseReference(xmlParserCtxtPtr ctxt) {
xmlEntityPtr ent;
xmlChar *val;
- if (RAW != '&') return;
+ int was_checked;
+ xmlNodePtr list = NULL;
+ xmlParserErrors ret = XML_ERR_OK;
+
+
+ if (RAW != '&')
+ return;
+ /*
+ * Simple case of a CharRef
+ */
if (NXT(1) == '#') {
int i = 0;
xmlChar out[10];
int hex = NXT(2);
int value = xmlParseCharRef(ctxt);
-
+
+ if (value == 0)
+ return;
if (ctxt->charset != XML_CHAR_ENCODING_UTF8) {
/*
* So we are using non-UTF-8 buffers
@@ -5946,359 +7242,367 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
(!ctxt->disableSAX))
ctxt->sax->characters(ctxt->userData, out, i);
}
- } else {
- int was_checked;
+ return;
+ }
- ent = xmlParseEntityRef(ctxt);
- if (ent == NULL) return;
- if (!ctxt->wellFormed)
- return;
- was_checked = ent->checked;
- if ((ent->name != NULL) &&
- (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) {
- xmlNodePtr list = NULL;
- xmlParserErrors ret = XML_ERR_OK;
+ /*
+ * We are seeing an entity reference
+ */
+ ent = xmlParseEntityRef(ctxt);
+ if (ent == NULL) return;
+ if (!ctxt->wellFormed)
+ return;
+ was_checked = ent->checked;
+
+ /* special case of predefined entities */
+ if ((ent->name == NULL) ||
+ (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
+ val = ent->content;
+ if (val == NULL) return;
+ /*
+ * inline the entity.
+ */
+ if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL) &&
+ (!ctxt->disableSAX))
+ ctxt->sax->characters(ctxt->userData, val, xmlStrlen(val));
+ return;
+ }
+ /*
+ * The first reference to the entity trigger a parsing phase
+ * where the ent->children is filled with the result from
+ * the parsing.
+ * Note: external parsed entities will not be loaded, it is not
+ * required for a non-validating parser, unless the parsing option
+ * of validating, or substituting entities were given. Doing so is
+ * far more secure as the parser will only process data coming from
+ * the document entity by default.
+ */
+ if (((ent->checked == 0) ||
+ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) &&
+ ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ||
+ (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) {
+ unsigned long oldnbent = ctxt->nbentities;
- /*
- * The first reference to the entity trigger a parsing phase
- * where the ent->children is filled with the result from
- * the parsing.
- */
- if (ent->checked == 0) {
- xmlChar *value;
+ /*
+ * This is a bit hackish but this seems the best
+ * way to make sure both SAX and DOM entity support
+ * behaves okay.
+ */
+ void *user_data;
+ if (ctxt->userData == ctxt)
+ user_data = NULL;
+ else
+ user_data = ctxt->userData;
- value = ent->content;
+ /*
+ * Check that this entity is well formed
+ * 4.3.2: An internal general parsed entity is well-formed
+ * if its replacement text matches the production labeled
+ * content.
+ */
+ if (ent->etype == XML_INTERNAL_GENERAL_ENTITY) {
+ ctxt->depth++;
+ ret = xmlParseBalancedChunkMemoryInternal(ctxt, ent->content,
+ user_data, &list);
+ ctxt->depth--;
+
+ } else if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY) {
+ ctxt->depth++;
+ ret = xmlParseExternalEntityPrivate(ctxt->myDoc, ctxt, ctxt->sax,
+ user_data, ctxt->depth, ent->URI,
+ ent->ExternalID, &list);
+ ctxt->depth--;
+ } else {
+ ret = XML_ERR_ENTITY_PE_INTERNAL;
+ xmlErrMsgStr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "invalid entity type found\n", NULL);
+ }
- /*
- * Check that this entity is well formed
- */
- if ((value != NULL) && (value[0] != 0) &&
- (value[1] == 0) && (value[0] == '<') &&
- (xmlStrEqual(ent->name, BAD_CAST "lt"))) {
- /*
- * DONE: get definite answer on this !!!
- * Lots of entity decls are used to declare a single
- * char
- * <!ENTITY lt "<">
- * Which seems to be valid since
- * 2.4: The ampersand character (&) and the left angle
- * bracket (<) may appear in their literal form only
- * when used ... They are also legal within the literal
- * entity value of an internal entity declaration;i
- * see "4.3.2 Well-Formed Parsed Entities".
- * IMHO 2.4 and 4.3.2 are directly in contradiction.
- * Looking at the OASIS test suite and James Clark
- * tests, this is broken. However the XML REC uses
- * it. Is the XML REC not well-formed ????
- * This is a hack to avoid this problem
- *
- * ANSWER: since lt gt amp .. are already defined,
- * this is a redefinition and hence the fact that the
- * content is not well balanced is not a Wf error, this
- * is lousy but acceptable.
- */
- list = xmlNewDocText(ctxt->myDoc, value);
- if (list != NULL) {
- if ((ent->etype == XML_INTERNAL_GENERAL_ENTITY) &&
- (ent->children == NULL)) {
- ent->children = list;
- ent->last = list;
- ent->owner = 1;
- list->parent = (xmlNodePtr) ent;
- } else {
- xmlFreeNodeList(list);
- }
- } else if (list != NULL) {
- xmlFreeNodeList(list);
- }
- } else {
- /*
- * 4.3.2: An internal general parsed entity is well-formed
- * if its replacement text matches the production labeled
- * content.
- */
+ /*
+ * Store the number of entities needing parsing for this entity
+ * content and do checkings
+ */
+ ent->checked = (ctxt->nbentities - oldnbent + 1) * 2;
+ if ((ent->content != NULL) && (xmlStrchr(ent->content, '<')))
+ ent->checked |= 1;
+ if (ret == XML_ERR_ENTITY_LOOP) {
+ xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+ xmlFreeNodeList(list);
+ return;
+ }
+ if (xmlParserEntityCheck(ctxt, 0, ent, 0)) {
+ xmlFreeNodeList(list);
+ return;
+ }
- void *user_data;
+ if ((ret == XML_ERR_OK) && (list != NULL)) {
+ if (((ent->etype == XML_INTERNAL_GENERAL_ENTITY) ||
+ (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY))&&
+ (ent->children == NULL)) {
+ ent->children = list;
+ if (ctxt->replaceEntities) {
/*
- * This is a bit hackish but this seems the best
- * way to make sure both SAX and DOM entity support
- * behaves okay.
+ * Prune it directly in the generated document
+ * except for single text nodes.
*/
- if (ctxt->userData == ctxt)
- user_data = NULL;
- else
- user_data = ctxt->userData;
-
- if (ent->etype == XML_INTERNAL_GENERAL_ENTITY) {
- ctxt->depth++;
- ret = xmlParseBalancedChunkMemoryInternal(ctxt,
- value, user_data, &list);
- ctxt->depth--;
- } else if (ent->etype ==
- XML_EXTERNAL_GENERAL_PARSED_ENTITY) {
- ctxt->depth++;
- ret = xmlParseExternalEntityPrivate(ctxt->myDoc, ctxt,
- ctxt->sax, user_data, ctxt->depth,
- ent->URI, ent->ExternalID, &list);
- ctxt->depth--;
+ if (((list->type == XML_TEXT_NODE) &&
+ (list->next == NULL)) ||
+ (ctxt->parseMode == XML_PARSE_READER)) {
+ list->parent = (xmlNodePtr) ent;
+ list = NULL;
+ ent->owner = 1;
} else {
- ret = XML_ERR_ENTITY_PE_INTERNAL;
- xmlErrMsgStr(ctxt, XML_ERR_INTERNAL_ERROR,
- "invalid entity type found\n", NULL);
- }
- if (ret == XML_ERR_ENTITY_LOOP) {
- xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
- return;
- } else if ((ret == XML_ERR_OK) && (list != NULL)) {
- if (((ent->etype == XML_INTERNAL_GENERAL_ENTITY) ||
- (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY))&&
- (ent->children == NULL)) {
- ent->children = list;
- if (ctxt->replaceEntities) {
- /*
- * Prune it directly in the generated document
- * except for single text nodes.
- */
- if (((list->type == XML_TEXT_NODE) &&
- (list->next == NULL)) ||
- (ctxt->parseMode == XML_PARSE_READER)) {
- list->parent = (xmlNodePtr) ent;
- list = NULL;
- ent->owner = 1;
- } else {
- ent->owner = 0;
- while (list != NULL) {
- list->parent = (xmlNodePtr) ctxt->node;
- list->doc = ctxt->myDoc;
- if (list->next == NULL)
- ent->last = list;
- list = list->next;
- }
- list = ent->children;
+ ent->owner = 0;
+ while (list != NULL) {
+ list->parent = (xmlNodePtr) ctxt->node;
+ list->doc = ctxt->myDoc;
+ if (list->next == NULL)
+ ent->last = list;
+ list = list->next;
+ }
+ list = ent->children;
#ifdef LIBXML_LEGACY_ENABLED
- if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
- xmlAddEntityReference(ent, list, NULL);
+ if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
+ xmlAddEntityReference(ent, list, NULL);
#endif /* LIBXML_LEGACY_ENABLED */
- }
- } else {
- ent->owner = 1;
- while (list != NULL) {
- list->parent = (xmlNodePtr) ent;
- if (list->next == NULL)
- ent->last = list;
- list = list->next;
- }
- }
- } else {
- xmlFreeNodeList(list);
- list = NULL;
- }
- } else if ((ret != XML_ERR_OK) &&
- (ret != XML_WAR_UNDECLARED_ENTITY)) {
- xmlFatalErr(ctxt, ret, NULL);
- } else if (list != NULL) {
- xmlFreeNodeList(list);
- list = NULL;
+ }
+ } else {
+ ent->owner = 1;
+ while (list != NULL) {
+ list->parent = (xmlNodePtr) ent;
+ xmlSetTreeDoc(list, ent->doc);
+ if (list->next == NULL)
+ ent->last = list;
+ list = list->next;
}
}
- ent->checked = 1;
+ } else {
+ xmlFreeNodeList(list);
+ list = NULL;
}
+ } else if ((ret != XML_ERR_OK) &&
+ (ret != XML_WAR_UNDECLARED_ENTITY)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
+ "Entity '%s' failed to parse\n", ent->name);
+ xmlParserEntityCheck(ctxt, 0, ent, 0);
+ } else if (list != NULL) {
+ xmlFreeNodeList(list);
+ list = NULL;
+ }
+ if (ent->checked == 0)
+ ent->checked = 2;
+ } else if (ent->checked != 1) {
+ ctxt->nbentities += ent->checked / 2;
+ }
- if (ent->children == NULL) {
- /*
- * Probably running in SAX mode and the callbacks don't
- * build the entity content. So unless we already went
- * though parsing for first checking go though the entity
- * content to generate callbacks associated to the entity
- */
- if (was_checked == 1) {
- void *user_data;
- /*
- * This is a bit hackish but this seems the best
- * way to make sure both SAX and DOM entity support
- * behaves okay.
- */
- if (ctxt->userData == ctxt)
- user_data = NULL;
- else
- user_data = ctxt->userData;
-
- if (ent->etype == XML_INTERNAL_GENERAL_ENTITY) {
- ctxt->depth++;
- ret = xmlParseBalancedChunkMemoryInternal(ctxt,
- ent->content, user_data, NULL);
- ctxt->depth--;
- } else if (ent->etype ==
- XML_EXTERNAL_GENERAL_PARSED_ENTITY) {
- ctxt->depth++;
- ret = xmlParseExternalEntityPrivate(ctxt->myDoc, ctxt,
- ctxt->sax, user_data, ctxt->depth,
- ent->URI, ent->ExternalID, NULL);
- ctxt->depth--;
- } else {
- ret = XML_ERR_ENTITY_PE_INTERNAL;
- xmlErrMsgStr(ctxt, XML_ERR_INTERNAL_ERROR,
- "invalid entity type found\n", NULL);
- }
- if (ret == XML_ERR_ENTITY_LOOP) {
- xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
- return;
- }
- }
- if ((ctxt->sax != NULL) && (ctxt->sax->reference != NULL) &&
- (ctxt->replaceEntities == 0) && (!ctxt->disableSAX)) {
- /*
- * Entity reference callback comes second, it's somewhat
- * superfluous but a compatibility to historical behaviour
- */
- ctxt->sax->reference(ctxt->userData, ent->name);
- }
+ /*
+ * Now that the entity content has been gathered
+ * provide it to the application, this can take different forms based
+ * on the parsing modes.
+ */
+ if (ent->children == NULL) {
+ /*
+ * Probably running in SAX mode and the callbacks don't
+ * build the entity content. So unless we already went
+ * though parsing for first checking go though the entity
+ * content to generate callbacks associated to the entity
+ */
+ if (was_checked != 0) {
+ void *user_data;
+ /*
+ * This is a bit hackish but this seems the best
+ * way to make sure both SAX and DOM entity support
+ * behaves okay.
+ */
+ if (ctxt->userData == ctxt)
+ user_data = NULL;
+ else
+ user_data = ctxt->userData;
+
+ if (ent->etype == XML_INTERNAL_GENERAL_ENTITY) {
+ ctxt->depth++;
+ ret = xmlParseBalancedChunkMemoryInternal(ctxt,
+ ent->content, user_data, NULL);
+ ctxt->depth--;
+ } else if (ent->etype ==
+ XML_EXTERNAL_GENERAL_PARSED_ENTITY) {
+ ctxt->depth++;
+ ret = xmlParseExternalEntityPrivate(ctxt->myDoc, ctxt,
+ ctxt->sax, user_data, ctxt->depth,
+ ent->URI, ent->ExternalID, NULL);
+ ctxt->depth--;
+ } else {
+ ret = XML_ERR_ENTITY_PE_INTERNAL;
+ xmlErrMsgStr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "invalid entity type found\n", NULL);
+ }
+ if (ret == XML_ERR_ENTITY_LOOP) {
+ xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
return;
}
- if ((ctxt->sax != NULL) && (ctxt->sax->reference != NULL) &&
- (ctxt->replaceEntities == 0) && (!ctxt->disableSAX)) {
+ }
+ if ((ctxt->sax != NULL) && (ctxt->sax->reference != NULL) &&
+ (ctxt->replaceEntities == 0) && (!ctxt->disableSAX)) {
+ /*
+ * Entity reference callback comes second, it's somewhat
+ * superfluous but a compatibility to historical behaviour
+ */
+ ctxt->sax->reference(ctxt->userData, ent->name);
+ }
+ return;
+ }
+
+ /*
+ * If we didn't get any children for the entity being built
+ */
+ if ((ctxt->sax != NULL) && (ctxt->sax->reference != NULL) &&
+ (ctxt->replaceEntities == 0) && (!ctxt->disableSAX)) {
+ /*
+ * Create a node.
+ */
+ ctxt->sax->reference(ctxt->userData, ent->name);
+ return;
+ }
+
+ if ((ctxt->replaceEntities) || (ent->children == NULL)) {
+ /*
+ * There is a problem on the handling of _private for entities
+ * (bug 155816): Should we copy the content of the field from
+ * the entity (possibly overwriting some value set by the user
+ * when a copy is created), should we leave it alone, or should
+ * we try to take care of different situations? The problem
+ * is exacerbated by the usage of this field by the xmlReader.
+ * To fix this bug, we look at _private on the created node
+ * and, if it's NULL, we copy in whatever was in the entity.
+ * If it's not NULL we leave it alone. This is somewhat of a
+ * hack - maybe we should have further tests to determine
+ * what to do.
+ */
+ if ((ctxt->node != NULL) && (ent->children != NULL)) {
+ /*
+ * Seems we are generating the DOM content, do
+ * a simple tree copy for all references except the first
+ * In the first occurrence list contains the replacement.
+ */
+ if (((list == NULL) && (ent->owner == 0)) ||
+ (ctxt->parseMode == XML_PARSE_READER)) {
+ xmlNodePtr nw = NULL, cur, firstChild = NULL;
+
/*
- * Create a node.
+ * We are copying here, make sure there is no abuse
*/
- ctxt->sax->reference(ctxt->userData, ent->name);
- return;
- }
- if ((ctxt->replaceEntities) || (ent->children == NULL)) {
+ ctxt->sizeentcopy += ent->length + 5;
+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
+ return;
+
/*
- * There is a problem on the handling of _private for entities
- * (bug 155816): Should we copy the content of the field from
- * the entity (possibly overwriting some value set by the user
- * when a copy is created), should we leave it alone, or should
- * we try to take care of different situations? The problem
- * is exacerbated by the usage of this field by the xmlReader.
- * To fix this bug, we look at _private on the created node
- * and, if it's NULL, we copy in whatever was in the entity.
- * If it's not NULL we leave it alone. This is somewhat of a
- * hack - maybe we should have further tests to determine
- * what to do.
+ * when operating on a reader, the entities definitions
+ * are always owning the entities subtree.
+ if (ctxt->parseMode == XML_PARSE_READER)
+ ent->owner = 1;
*/
- if ((ctxt->node != NULL) && (ent->children != NULL)) {
- /*
- * Seems we are generating the DOM content, do
- * a simple tree copy for all references except the first
- * In the first occurrence list contains the replacement.
- * progressive == 2 means we are operating on the Reader
- * and since nodes are discarded we must copy all the time.
- */
- if (((list == NULL) && (ent->owner == 0)) ||
- (ctxt->parseMode == XML_PARSE_READER)) {
- xmlNodePtr nw = NULL, cur, firstChild = NULL;
+ cur = ent->children;
+ while (cur != NULL) {
+ nw = xmlDocCopyNode(cur, ctxt->myDoc, 1);
+ if (nw != NULL) {
+ if (nw->_private == NULL)
+ nw->_private = cur->_private;
+ if (firstChild == NULL){
+ firstChild = nw;
+ }
+ nw = xmlAddChild(ctxt->node, nw);
+ }
+ if (cur == ent->last) {
/*
- * when operating on a reader, the entities definitions
- * are always owning the entities subtree.
- if (ctxt->parseMode == XML_PARSE_READER)
- ent->owner = 1;
+ * needed to detect some strange empty
+ * node cases in the reader tests
*/
+ if ((ctxt->parseMode == XML_PARSE_READER) &&
+ (nw != NULL) &&
+ (nw->type == XML_ELEMENT_NODE) &&
+ (nw->children == NULL))
+ nw->extra = 1;
- cur = ent->children;
- while (cur != NULL) {
- nw = xmlDocCopyNode(cur, ctxt->myDoc, 1);
- if (nw != NULL) {
- if (nw->_private == NULL)
- nw->_private = cur->_private;
- if (firstChild == NULL){
- firstChild = nw;
- }
- nw = xmlAddChild(ctxt->node, nw);
- }
- if (cur == ent->last) {
- /*
- * needed to detect some strange empty
- * node cases in the reader tests
- */
- if ((ctxt->parseMode == XML_PARSE_READER) &&
- (nw != NULL) &&
- (nw->type == XML_ELEMENT_NODE) &&
- (nw->children == NULL))
- nw->extra = 1;
-
- break;
- }
- cur = cur->next;
- }
+ break;
+ }
+ cur = cur->next;
+ }
#ifdef LIBXML_LEGACY_ENABLED
- if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
- xmlAddEntityReference(ent, firstChild, nw);
+ if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
+ xmlAddEntityReference(ent, firstChild, nw);
#endif /* LIBXML_LEGACY_ENABLED */
- } else if (list == NULL) {
- xmlNodePtr nw = NULL, cur, next, last,
- firstChild = NULL;
- /*
- * Copy the entity child list and make it the new
- * entity child list. The goal is to make sure any
- * ID or REF referenced will be the one from the
- * document content and not the entity copy.
- */
- cur = ent->children;
- ent->children = NULL;
- last = ent->last;
- ent->last = NULL;
- while (cur != NULL) {
- next = cur->next;
- cur->next = NULL;
- cur->parent = NULL;
- nw = xmlDocCopyNode(cur, ctxt->myDoc, 1);
- if (nw != NULL) {
- if (nw->_private == NULL)
- nw->_private = cur->_private;
- if (firstChild == NULL){
- firstChild = cur;
- }
- xmlAddChild((xmlNodePtr) ent, nw);
- xmlAddChild(ctxt->node, cur);
- }
- if (cur == last)
- break;
- cur = next;
+ } else if ((list == NULL) || (ctxt->inputNr > 0)) {
+ xmlNodePtr nw = NULL, cur, next, last,
+ firstChild = NULL;
+
+ /*
+ * We are copying here, make sure there is no abuse
+ */
+ ctxt->sizeentcopy += ent->length + 5;
+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
+ return;
+
+ /*
+ * Copy the entity child list and make it the new
+ * entity child list. The goal is to make sure any
+ * ID or REF referenced will be the one from the
+ * document content and not the entity copy.
+ */
+ cur = ent->children;
+ ent->children = NULL;
+ last = ent->last;
+ ent->last = NULL;
+ while (cur != NULL) {
+ next = cur->next;
+ cur->next = NULL;
+ cur->parent = NULL;
+ nw = xmlDocCopyNode(cur, ctxt->myDoc, 1);
+ if (nw != NULL) {
+ if (nw->_private == NULL)
+ nw->_private = cur->_private;
+ if (firstChild == NULL){
+ firstChild = cur;
}
- ent->owner = 1;
+ xmlAddChild((xmlNodePtr) ent, nw);
+ xmlAddChild(ctxt->node, cur);
+ }
+ if (cur == last)
+ break;
+ cur = next;
+ }
+ if (ent->owner == 0)
+ ent->owner = 1;
#ifdef LIBXML_LEGACY_ENABLED
- if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
- xmlAddEntityReference(ent, firstChild, nw);
+ if (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)
+ xmlAddEntityReference(ent, firstChild, nw);
#endif /* LIBXML_LEGACY_ENABLED */
- } else {
- const xmlChar *nbktext;
-
- /*
- * the name change is to avoid coalescing of the
- * node with a possible previous text one which
- * would make ent->children a dangling pointer
- */
- nbktext = xmlDictLookup(ctxt->dict, BAD_CAST "nbktext",
- -1);
- if (ent->children->type == XML_TEXT_NODE)
- ent->children->name = nbktext;
- if ((ent->last != ent->children) &&
- (ent->last->type == XML_TEXT_NODE))
- ent->last->name = nbktext;
- xmlAddChildList(ctxt->node, ent->children);
- }
+ } else {
+ const xmlChar *nbktext;
- /*
- * This is to avoid a nasty side effect, see
- * characters() in SAX.c
- */
- ctxt->nodemem = 0;
- ctxt->nodelen = 0;
- return;
- }
+ /*
+ * the name change is to avoid coalescing of the
+ * node with a possible previous text one which
+ * would make ent->children a dangling pointer
+ */
+ nbktext = xmlDictLookup(ctxt->dict, BAD_CAST "nbktext",
+ -1);
+ if (ent->children->type == XML_TEXT_NODE)
+ ent->children->name = nbktext;
+ if ((ent->last != ent->children) &&
+ (ent->last->type == XML_TEXT_NODE))
+ ent->last->name = nbktext;
+ xmlAddChildList(ctxt->node, ent->children);
}
- } else {
- val = ent->content;
- if (val == NULL) return;
+
/*
- * inline the entity.
+ * This is to avoid a nasty side effect, see
+ * characters() in SAX.c
*/
- if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL) &&
- (!ctxt->disableSAX))
- ctxt->sax->characters(ctxt->userData, val, xmlStrlen(val));
+ ctxt->nodemem = 0;
+ ctxt->nodelen = 0;
+ return;
}
}
}
@@ -6337,132 +7641,153 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
xmlEntityPtr ent = NULL;
GROW;
-
- if (RAW == '&') {
- NEXT;
- name = xmlParseName(ctxt);
- if (name == NULL) {
- xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
- "xmlParseEntityRef: no name\n");
- } else {
- if (RAW == ';') {
- NEXT;
- /*
- * Ask first SAX for entity resolution, otherwise try the
- * predefined set.
- */
- if (ctxt->sax != NULL) {
- if (ctxt->sax->getEntity != NULL)
- ent = ctxt->sax->getEntity(ctxt->userData, name);
- if ((ctxt->wellFormed == 1 ) && (ent == NULL))
- ent = xmlGetPredefinedEntity(name);
- if ((ctxt->wellFormed == 1 ) && (ent == NULL) &&
- (ctxt->userData==ctxt)) {
- ent = xmlSAX2GetEntity(ctxt, name);
- }
- }
- /*
- * [ WFC: Entity Declared ]
- * In a document without any DTD, a document with only an
- * internal DTD subset which contains no parameter entity
- * references, or a document with "standalone='yes'", the
- * Name given in the entity reference must match that in an
- * entity declaration, except that well-formed documents
- * need not declare any of the following entities: amp, lt,
- * gt, apos, quot.
- * The declaration of a parameter entity must precede any
- * reference to it.
- * Similarly, the declaration of a general entity must
- * precede any reference to it which appears in a default
- * value in an attribute-list declaration. Note that if
- * entities are declared in the external subset or in
- * external parameter entities, a non-validating processor
- * is not obligated to read and process their declarations;
- * for such documents, the rule that an entity must be
- * declared is a well-formedness constraint only if
- * standalone='yes'.
- */
- if (ent == NULL) {
- if ((ctxt->standalone == 1) ||
- ((ctxt->hasExternalSubset == 0) &&
- (ctxt->hasPErefs == 0))) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
- "Entity '%s' not defined\n", name);
- } else {
- xmlErrMsgStr(ctxt, XML_WAR_UNDECLARED_ENTITY,
- "Entity '%s' not defined\n", name);
- if ((ctxt->inSubset == 0) &&
- (ctxt->sax != NULL) &&
- (ctxt->sax->reference != NULL)) {
- ctxt->sax->reference(ctxt->userData, name);
- }
- }
- ctxt->valid = 0;
- }
-
- /*
- * [ WFC: Parsed Entity ]
- * An entity reference must not contain the name of an
- * unparsed entity
- */
- else if (ent->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_UNPARSED_ENTITY,
- "Entity reference to unparsed entity %s\n", name);
- }
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
- /*
- * [ WFC: No External Entity References ]
- * Attribute values cannot contain direct or indirect
- * entity references to external entities.
- */
- else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
- (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_EXTERNAL,
- "Attribute references external entity '%s'\n", name);
- }
- /*
- * [ WFC: No < in Attribute Values ]
- * The replacement text of any entity referred to directly or
- * indirectly in an attribute value (other than "&lt;") must
- * not contain a <.
- */
- else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
- (ent != NULL) &&
- (!xmlStrEqual(ent->name, BAD_CAST "lt")) &&
- (ent->content != NULL) &&
- (xmlStrchr(ent->content, '<'))) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
- "'<' in entity '%s' is not allowed in attributes values\n", name);
- }
+ if (RAW != '&')
+ return(NULL);
+ NEXT;
+ name = xmlParseName(ctxt);
+ if (name == NULL) {
+ xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
+ "xmlParseEntityRef: no name\n");
+ return(NULL);
+ }
+ if (RAW != ';') {
+ xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+ return(NULL);
+ }
+ NEXT;
- /*
- * Internal check, no parameter entities here ...
- */
- else {
- switch (ent->etype) {
- case XML_INTERNAL_PARAMETER_ENTITY:
- case XML_EXTERNAL_PARAMETER_ENTITY:
- xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_PARAMETER,
- "Attempt to reference the parameter entity '%s'\n",
- name);
- break;
- default:
- break;
- }
- }
+ /*
+ * Predefined entities override any extra definition
+ */
+ if ((ctxt->options & XML_PARSE_OLDSAX) == 0) {
+ ent = xmlGetPredefinedEntity(name);
+ if (ent != NULL)
+ return(ent);
+ }
- /*
- * [ WFC: No Recursion ]
- * A parsed entity must not contain a recursive reference
- * to itself, either directly or indirectly.
- * Done somewhere else
- */
+ /*
+ * Increase the number of entity references parsed
+ */
+ ctxt->nbentities++;
- } else {
- xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+ /*
+ * Ask first SAX for entity resolution, otherwise try the
+ * entities which may have stored in the parser context.
+ */
+ if (ctxt->sax != NULL) {
+ if (ctxt->sax->getEntity != NULL)
+ ent = ctxt->sax->getEntity(ctxt->userData, name);
+ if ((ctxt->wellFormed == 1 ) && (ent == NULL) &&
+ (ctxt->options & XML_PARSE_OLDSAX))
+ ent = xmlGetPredefinedEntity(name);
+ if ((ctxt->wellFormed == 1 ) && (ent == NULL) &&
+ (ctxt->userData==ctxt)) {
+ ent = xmlSAX2GetEntity(ctxt, name);
+ }
+ }
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
+ /*
+ * [ WFC: Entity Declared ]
+ * In a document without any DTD, a document with only an
+ * internal DTD subset which contains no parameter entity
+ * references, or a document with "standalone='yes'", the
+ * Name given in the entity reference must match that in an
+ * entity declaration, except that well-formed documents
+ * need not declare any of the following entities: amp, lt,
+ * gt, apos, quot.
+ * The declaration of a parameter entity must precede any
+ * reference to it.
+ * Similarly, the declaration of a general entity must
+ * precede any reference to it which appears in a default
+ * value in an attribute-list declaration. Note that if
+ * entities are declared in the external subset or in
+ * external parameter entities, a non-validating processor
+ * is not obligated to read and process their declarations;
+ * for such documents, the rule that an entity must be
+ * declared is a well-formedness constraint only if
+ * standalone='yes'.
+ */
+ if (ent == NULL) {
+ if ((ctxt->standalone == 1) ||
+ ((ctxt->hasExternalSubset == 0) &&
+ (ctxt->hasPErefs == 0))) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
+ "Entity '%s' not defined\n", name);
+ } else {
+ xmlErrMsgStr(ctxt, XML_WAR_UNDECLARED_ENTITY,
+ "Entity '%s' not defined\n", name);
+ if ((ctxt->inSubset == 0) &&
+ (ctxt->sax != NULL) &&
+ (ctxt->sax->reference != NULL)) {
+ ctxt->sax->reference(ctxt->userData, name);
}
}
+ xmlParserEntityCheck(ctxt, 0, ent, 0);
+ ctxt->valid = 0;
+ }
+
+ /*
+ * [ WFC: Parsed Entity ]
+ * An entity reference must not contain the name of an
+ * unparsed entity
+ */
+ else if (ent->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNPARSED_ENTITY,
+ "Entity reference to unparsed entity %s\n", name);
}
+
+ /*
+ * [ WFC: No External Entity References ]
+ * Attribute values cannot contain direct or indirect
+ * entity references to external entities.
+ */
+ else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
+ (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_EXTERNAL,
+ "Attribute references external entity '%s'\n", name);
+ }
+ /*
+ * [ WFC: No < in Attribute Values ]
+ * The replacement text of any entity referred to directly or
+ * indirectly in an attribute value (other than "&lt;") must
+ * not contain a <.
+ */
+ else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
+ (ent != NULL) &&
+ (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) {
+ if (((ent->checked & 1) || (ent->checked == 0)) &&
+ (ent->content != NULL) && (xmlStrchr(ent->content, '<'))) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
+ "'<' in entity '%s' is not allowed in attributes values\n", name);
+ }
+ }
+
+ /*
+ * Internal check, no parameter entities here ...
+ */
+ else {
+ switch (ent->etype) {
+ case XML_INTERNAL_PARAMETER_ENTITY:
+ case XML_EXTERNAL_PARAMETER_ENTITY:
+ xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_PARAMETER,
+ "Attempt to reference the parameter entity '%s'\n",
+ name);
+ break;
+ default:
+ break;
+ }
+ }
+
+ /*
+ * [ WFC: No Recursion ]
+ * A parsed entity must not contain a recursive reference
+ * to itself, either directly or indirectly.
+ * Done somewhere else
+ */
return(ent);
}
@@ -6497,7 +7822,7 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
* Returns the xmlEntityPtr if found, or NULL otherwise. The str pointer
* is updated to the current location in the string.
*/
-xmlEntityPtr
+static xmlEntityPtr
xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
xmlChar *name;
const xmlChar *ptr;
@@ -6508,129 +7833,156 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
return(NULL);
ptr = *str;
cur = *ptr;
- if (cur == '&') {
- ptr++;
- cur = *ptr;
- name = xmlParseStringName(ctxt, &ptr);
- if (name == NULL) {
- xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
- "xmlParseStringEntityRef: no name\n");
- } else {
- if (*ptr == ';') {
- ptr++;
- /*
- * Ask first SAX for entity resolution, otherwise try the
- * predefined set.
- */
- if (ctxt->sax != NULL) {
- if (ctxt->sax->getEntity != NULL)
- ent = ctxt->sax->getEntity(ctxt->userData, name);
- if (ent == NULL)
- ent = xmlGetPredefinedEntity(name);
- if ((ent == NULL) && (ctxt->userData==ctxt)) {
- ent = xmlSAX2GetEntity(ctxt, name);
- }
- }
- /*
- * [ WFC: Entity Declared ]
- * In a document without any DTD, a document with only an
- * internal DTD subset which contains no parameter entity
- * references, or a document with "standalone='yes'", the
- * Name given in the entity reference must match that in an
- * entity declaration, except that well-formed documents
- * need not declare any of the following entities: amp, lt,
- * gt, apos, quot.
- * The declaration of a parameter entity must precede any
- * reference to it.
- * Similarly, the declaration of a general entity must
- * precede any reference to it which appears in a default
- * value in an attribute-list declaration. Note that if
- * entities are declared in the external subset or in
- * external parameter entities, a non-validating processor
- * is not obligated to read and process their declarations;
- * for such documents, the rule that an entity must be
- * declared is a well-formedness constraint only if
- * standalone='yes'.
- */
- if (ent == NULL) {
- if ((ctxt->standalone == 1) ||
- ((ctxt->hasExternalSubset == 0) &&
- (ctxt->hasPErefs == 0))) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
- "Entity '%s' not defined\n", name);
- } else {
- xmlErrMsgStr(ctxt, XML_WAR_UNDECLARED_ENTITY,
- "Entity '%s' not defined\n",
- name);
- }
- /* TODO ? check regressions ctxt->valid = 0; */
- }
+ if (cur != '&')
+ return(NULL);
- /*
- * [ WFC: Parsed Entity ]
- * An entity reference must not contain the name of an
- * unparsed entity
- */
- else if (ent->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_UNPARSED_ENTITY,
- "Entity reference to unparsed entity %s\n", name);
- }
+ ptr++;
+ name = xmlParseStringName(ctxt, &ptr);
+ if (name == NULL) {
+ xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
+ "xmlParseStringEntityRef: no name\n");
+ *str = ptr;
+ return(NULL);
+ }
+ if (*ptr != ';') {
+ xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+ xmlFree(name);
+ *str = ptr;
+ return(NULL);
+ }
+ ptr++;
- /*
- * [ WFC: No External Entity References ]
- * Attribute values cannot contain direct or indirect
- * entity references to external entities.
- */
- else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
- (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_EXTERNAL,
- "Attribute references external entity '%s'\n", name);
- }
- /*
- * [ WFC: No < in Attribute Values ]
- * The replacement text of any entity referred to directly or
- * indirectly in an attribute value (other than "&lt;") must
- * not contain a <.
- */
- else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
- (ent != NULL) &&
- (!xmlStrEqual(ent->name, BAD_CAST "lt")) &&
- (ent->content != NULL) &&
- (xmlStrchr(ent->content, '<'))) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
- "'<' in entity '%s' is not allowed in attributes values\n",
- name);
- }
- /*
- * Internal check, no parameter entities here ...
- */
- else {
- switch (ent->etype) {
- case XML_INTERNAL_PARAMETER_ENTITY:
- case XML_EXTERNAL_PARAMETER_ENTITY:
- xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_PARAMETER,
- "Attempt to reference the parameter entity '%s'\n",
- name);
- break;
- default:
- break;
- }
- }
+ /*
+ * Predefined entities override any extra definition
+ */
+ if ((ctxt->options & XML_PARSE_OLDSAX) == 0) {
+ ent = xmlGetPredefinedEntity(name);
+ if (ent != NULL) {
+ xmlFree(name);
+ *str = ptr;
+ return(ent);
+ }
+ }
- /*
- * [ WFC: No Recursion ]
- * A parsed entity must not contain a recursive reference
- * to itself, either directly or indirectly.
- * Done somewhere else
- */
+ /*
+ * Increate the number of entity references parsed
+ */
+ ctxt->nbentities++;
- } else {
- xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
- }
- xmlFree(name);
+ /*
+ * Ask first SAX for entity resolution, otherwise try the
+ * entities which may have stored in the parser context.
+ */
+ if (ctxt->sax != NULL) {
+ if (ctxt->sax->getEntity != NULL)
+ ent = ctxt->sax->getEntity(ctxt->userData, name);
+ if ((ent == NULL) && (ctxt->options & XML_PARSE_OLDSAX))
+ ent = xmlGetPredefinedEntity(name);
+ if ((ent == NULL) && (ctxt->userData==ctxt)) {
+ ent = xmlSAX2GetEntity(ctxt, name);
+ }
+ }
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(name);
+ return(NULL);
+ }
+
+ /*
+ * [ WFC: Entity Declared ]
+ * In a document without any DTD, a document with only an
+ * internal DTD subset which contains no parameter entity
+ * references, or a document with "standalone='yes'", the
+ * Name given in the entity reference must match that in an
+ * entity declaration, except that well-formed documents
+ * need not declare any of the following entities: amp, lt,
+ * gt, apos, quot.
+ * The declaration of a parameter entity must precede any
+ * reference to it.
+ * Similarly, the declaration of a general entity must
+ * precede any reference to it which appears in a default
+ * value in an attribute-list declaration. Note that if
+ * entities are declared in the external subset or in
+ * external parameter entities, a non-validating processor
+ * is not obligated to read and process their declarations;
+ * for such documents, the rule that an entity must be
+ * declared is a well-formedness constraint only if
+ * standalone='yes'.
+ */
+ if (ent == NULL) {
+ if ((ctxt->standalone == 1) ||
+ ((ctxt->hasExternalSubset == 0) &&
+ (ctxt->hasPErefs == 0))) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
+ "Entity '%s' not defined\n", name);
+ } else {
+ xmlErrMsgStr(ctxt, XML_WAR_UNDECLARED_ENTITY,
+ "Entity '%s' not defined\n",
+ name);
+ }
+ xmlParserEntityCheck(ctxt, 0, ent, 0);
+ /* TODO ? check regressions ctxt->valid = 0; */
+ }
+
+ /*
+ * [ WFC: Parsed Entity ]
+ * An entity reference must not contain the name of an
+ * unparsed entity
+ */
+ else if (ent->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNPARSED_ENTITY,
+ "Entity reference to unparsed entity %s\n", name);
+ }
+
+ /*
+ * [ WFC: No External Entity References ]
+ * Attribute values cannot contain direct or indirect
+ * entity references to external entities.
+ */
+ else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
+ (ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_EXTERNAL,
+ "Attribute references external entity '%s'\n", name);
+ }
+ /*
+ * [ WFC: No < in Attribute Values ]
+ * The replacement text of any entity referred to directly or
+ * indirectly in an attribute value (other than "&lt;") must
+ * not contain a <.
+ */
+ else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
+ (ent != NULL) && (ent->content != NULL) &&
+ (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
+ (xmlStrchr(ent->content, '<'))) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
+ "'<' in entity '%s' is not allowed in attributes values\n",
+ name);
+ }
+
+ /*
+ * Internal check, no parameter entities here ...
+ */
+ else {
+ switch (ent->etype) {
+ case XML_INTERNAL_PARAMETER_ENTITY:
+ case XML_EXTERNAL_PARAMETER_ENTITY:
+ xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_PARAMETER,
+ "Attempt to reference the parameter entity '%s'\n",
+ name);
+ break;
+ default:
+ break;
}
}
+
+ /*
+ * [ WFC: No Recursion ]
+ * A parsed entity must not contain a recursive reference
+ * to itself, either directly or indirectly.
+ * Done somewhere else
+ */
+
+ xmlFree(name);
*str = ptr;
return(ent);
}
@@ -6647,7 +7999,7 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
*
* [ WFC: No Recursion ]
* A parsed entity must not contain a recursive
- * reference to itself, either directly or indirectly.
+ * reference to itself, either directly or indirectly.
*
* [ WFC: Entity Declared ]
* In a document without any DTD, a document with only an internal DTD
@@ -6671,90 +8023,200 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt)
xmlEntityPtr entity = NULL;
xmlParserInputPtr input;
- if (RAW == '%') {
- NEXT;
- name = xmlParseName(ctxt);
- if (name == NULL) {
- xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
- "xmlParsePEReference: no name\n");
- } else {
- if (RAW == ';') {
- NEXT;
- if ((ctxt->sax != NULL) &&
- (ctxt->sax->getParameterEntity != NULL))
- entity = ctxt->sax->getParameterEntity(ctxt->userData,
- name);
- if (entity == NULL) {
- /*
- * [ WFC: Entity Declared ]
- * In a document without any DTD, a document with only an
- * internal DTD subset which contains no parameter entity
- * references, or a document with "standalone='yes'", ...
- * ... The declaration of a parameter entity must precede
- * any reference to it...
- */
- if ((ctxt->standalone == 1) ||
- ((ctxt->hasExternalSubset == 0) &&
- (ctxt->hasPErefs == 0))) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
- "PEReference: %%%s; not found\n",
- name);
- } else {
- /*
- * [ VC: Entity Declared ]
- * In a document with an external subset or external
- * parameter entities with "standalone='no'", ...
- * ... The declaration of a parameter entity must
- * precede any reference to it...
- */
- xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
- "PEReference: %%%s; not found\n",
- name, NULL);
- ctxt->valid = 0;
- }
- } else {
- /*
- * Internal checking in case the entity quest barfed
- */
- if ((entity->etype != XML_INTERNAL_PARAMETER_ENTITY) &&
- (entity->etype != XML_EXTERNAL_PARAMETER_ENTITY)) {
- xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
- "Internal: %%%s; is not a parameter entity\n",
- name, NULL);
- } else if (ctxt->input->free != deallocblankswrapper) {
- input =
- xmlNewBlanksWrapperInputStream(ctxt, entity);
- xmlPushInput(ctxt, input);
- } else {
- /*
- * TODO !!!
- * handle the extra spaces added before and after
- * c.f. http://www.w3.org/TR/REC-xml#as-PE
- */
- input = xmlNewEntityInputStream(ctxt, entity);
- xmlPushInput(ctxt, input);
- if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
- (CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) &&
- (IS_BLANK_CH(NXT(5)))) {
- xmlParseTextDecl(ctxt);
- if (ctxt->errNo ==
- XML_ERR_UNSUPPORTED_ENCODING) {
- /*
- * The XML REC instructs us to stop parsing
- * right here
- */
- ctxt->instate = XML_PARSER_EOF;
- return;
- }
- }
- }
- }
- ctxt->hasPErefs = 1;
- } else {
- xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+ if (RAW != '%')
+ return;
+ NEXT;
+ name = xmlParseName(ctxt);
+ if (name == NULL) {
+ xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
+ "xmlParsePEReference: no name\n");
+ return;
+ }
+ if (RAW != ';') {
+ xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+ return;
+ }
+
+ NEXT;
+
+ /*
+ * Increate the number of entity references parsed
+ */
+ ctxt->nbentities++;
+
+ /*
+ * Request the entity from SAX
+ */
+ if ((ctxt->sax != NULL) &&
+ (ctxt->sax->getParameterEntity != NULL))
+ entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
+ if (entity == NULL) {
+ /*
+ * [ WFC: Entity Declared ]
+ * In a document without any DTD, a document with only an
+ * internal DTD subset which contains no parameter entity
+ * references, or a document with "standalone='yes'", ...
+ * ... The declaration of a parameter entity must precede
+ * any reference to it...
+ */
+ if ((ctxt->standalone == 1) ||
+ ((ctxt->hasExternalSubset == 0) &&
+ (ctxt->hasPErefs == 0))) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
+ "PEReference: %%%s; not found\n",
+ name);
+ } else {
+ /*
+ * [ VC: Entity Declared ]
+ * In a document with an external subset or external
+ * parameter entities with "standalone='no'", ...
+ * ... The declaration of a parameter entity must
+ * precede any reference to it...
+ */
+ xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
+ "PEReference: %%%s; not found\n",
+ name, NULL);
+ ctxt->valid = 0;
+ }
+ xmlParserEntityCheck(ctxt, 0, NULL, 0);
+ } else {
+ /*
+ * Internal checking in case the entity quest barfed
+ */
+ if ((entity->etype != XML_INTERNAL_PARAMETER_ENTITY) &&
+ (entity->etype != XML_EXTERNAL_PARAMETER_ENTITY)) {
+ xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
+ "Internal: %%%s; is not a parameter entity\n",
+ name, NULL);
+ } else if (ctxt->input->free != deallocblankswrapper) {
+ input = xmlNewBlanksWrapperInputStream(ctxt, entity);
+ if (xmlPushInput(ctxt, input) < 0)
+ return;
+ } else {
+ /*
+ * TODO !!!
+ * handle the extra spaces added before and after
+ * c.f. http://www.w3.org/TR/REC-xml#as-PE
+ */
+ input = xmlNewEntityInputStream(ctxt, entity);
+ if (xmlPushInput(ctxt, input) < 0)
+ return;
+ if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
+ (CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) &&
+ (IS_BLANK_CH(NXT(5)))) {
+ xmlParseTextDecl(ctxt);
+ if (ctxt->errNo ==
+ XML_ERR_UNSUPPORTED_ENCODING) {
+ /*
+ * The XML REC instructs us to stop parsing
+ * right here
+ */
+ xmlHaltParser(ctxt);
+ return;
+ }
+ }
+ }
+ }
+ ctxt->hasPErefs = 1;
+}
+
+/**
+ * xmlLoadEntityContent:
+ * @ctxt: an XML parser context
+ * @entity: an unloaded system entity
+ *
+ * Load the original content of the given system entity from the
+ * ExternalID/SystemID given. This is to be used for Included in Literal
+ * http://www.w3.org/TR/REC-xml/#inliteral processing of entities references
+ *
+ * Returns 0 in case of success and -1 in case of failure
+ */
+static int
+xmlLoadEntityContent(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
+ xmlParserInputPtr input;
+ xmlBufferPtr buf;
+ int l, c;
+ int count = 0;
+
+ if ((ctxt == NULL) || (entity == NULL) ||
+ ((entity->etype != XML_EXTERNAL_PARAMETER_ENTITY) &&
+ (entity->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY)) ||
+ (entity->content != NULL)) {
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "xmlLoadEntityContent parameter error");
+ return(-1);
+ }
+
+ if (xmlParserDebugEntities)
+ xmlGenericError(xmlGenericErrorContext,
+ "Reading %s entity content input\n", entity->name);
+
+ buf = xmlBufferCreate();
+ if (buf == NULL) {
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "xmlLoadEntityContent parameter error");
+ return(-1);
+ }
+
+ input = xmlNewEntityInputStream(ctxt, entity);
+ if (input == NULL) {
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+ "xmlLoadEntityContent input error");
+ xmlBufferFree(buf);
+ return(-1);
+ }
+
+ /*
+ * Push the entity as the current input, read char by char
+ * saving to the buffer until the end of the entity or an error
+ */
+ if (xmlPushInput(ctxt, input) < 0) {
+ xmlBufferFree(buf);
+ return(-1);
+ }
+
+ GROW;
+ c = CUR_CHAR(l);
+ while ((ctxt->input == input) && (ctxt->input->cur < ctxt->input->end) &&
+ (IS_CHAR(c))) {
+ xmlBufferAdd(buf, ctxt->input->cur, l);
+ if (count++ > XML_PARSER_CHUNK_SIZE) {
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlBufferFree(buf);
+ return(-1);
}
- }
+ }
+ NEXTL(l);
+ c = CUR_CHAR(l);
+ if (c == 0) {
+ count = 0;
+ GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlBufferFree(buf);
+ return(-1);
+ }
+ c = CUR_CHAR(l);
+ }
}
+
+ if ((ctxt->input == input) && (ctxt->input->cur >= ctxt->input->end)) {
+ xmlPopInput(ctxt);
+ } else if (!IS_CHAR(c)) {
+ xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
+ "xmlLoadEntityContent: invalid char value %d\n",
+ c);
+ xmlBufferFree(buf);
+ return(-1);
+ }
+ entity->content = buf->content;
+ buf->content = NULL;
+ xmlBufferFree(buf);
+
+ return(0);
}
/**
@@ -6768,7 +8230,7 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt)
*
* [ WFC: No Recursion ]
* A parsed entity must not contain a recursive
- * reference to itself, either directly or indirectly.
+ * reference to itself, either directly or indirectly.
*
* [ WFC: Entity Declared ]
* In a document without any DTD, a document with only an internal DTD
@@ -6788,7 +8250,7 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt)
* Returns the string of the entity content.
* str is updated to the current value of the index
*/
-xmlEntityPtr
+static xmlEntityPtr
xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
const xmlChar *ptr;
xmlChar cur;
@@ -6798,67 +8260,80 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
if ((str == NULL) || (*str == NULL)) return(NULL);
ptr = *str;
cur = *ptr;
- if (cur == '%') {
- ptr++;
- cur = *ptr;
- name = xmlParseStringName(ctxt, &ptr);
- if (name == NULL) {
- xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
- "xmlParseStringPEReference: no name\n");
+ if (cur != '%')
+ return(NULL);
+ ptr++;
+ name = xmlParseStringName(ctxt, &ptr);
+ if (name == NULL) {
+ xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
+ "xmlParseStringPEReference: no name\n");
+ *str = ptr;
+ return(NULL);
+ }
+ cur = *ptr;
+ if (cur != ';') {
+ xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+ xmlFree(name);
+ *str = ptr;
+ return(NULL);
+ }
+ ptr++;
+
+ /*
+ * Increate the number of entity references parsed
+ */
+ ctxt->nbentities++;
+
+ /*
+ * Request the entity from SAX
+ */
+ if ((ctxt->sax != NULL) &&
+ (ctxt->sax->getParameterEntity != NULL))
+ entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(name);
+ return(NULL);
+ }
+ if (entity == NULL) {
+ /*
+ * [ WFC: Entity Declared ]
+ * In a document without any DTD, a document with only an
+ * internal DTD subset which contains no parameter entity
+ * references, or a document with "standalone='yes'", ...
+ * ... The declaration of a parameter entity must precede
+ * any reference to it...
+ */
+ if ((ctxt->standalone == 1) ||
+ ((ctxt->hasExternalSubset == 0) && (ctxt->hasPErefs == 0))) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
+ "PEReference: %%%s; not found\n", name);
} else {
- cur = *ptr;
- if (cur == ';') {
- ptr++;
- cur = *ptr;
- if ((ctxt->sax != NULL) &&
- (ctxt->sax->getParameterEntity != NULL))
- entity = ctxt->sax->getParameterEntity(ctxt->userData,
- name);
- if (entity == NULL) {
- /*
- * [ WFC: Entity Declared ]
- * In a document without any DTD, a document with only an
- * internal DTD subset which contains no parameter entity
- * references, or a document with "standalone='yes'", ...
- * ... The declaration of a parameter entity must precede
- * any reference to it...
- */
- if ((ctxt->standalone == 1) ||
- ((ctxt->hasExternalSubset == 0) &&
- (ctxt->hasPErefs == 0))) {
- xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
- "PEReference: %%%s; not found\n", name);
- } else {
- /*
- * [ VC: Entity Declared ]
- * In a document with an external subset or external
- * parameter entities with "standalone='no'", ...
- * ... The declaration of a parameter entity must
- * precede any reference to it...
- */
- xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
- "PEReference: %%%s; not found\n",
- name, NULL);
- ctxt->valid = 0;
- }
- } else {
- /*
- * Internal checking in case the entity quest barfed
- */
- if ((entity->etype != XML_INTERNAL_PARAMETER_ENTITY) &&
- (entity->etype != XML_EXTERNAL_PARAMETER_ENTITY)) {
- xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
- "%%%s; is not a parameter entity\n",
- name, NULL);
- }
- }
- ctxt->hasPErefs = 1;
- } else {
- xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
- }
- xmlFree(name);
+ /*
+ * [ VC: Entity Declared ]
+ * In a document with an external subset or external
+ * parameter entities with "standalone='no'", ...
+ * ... The declaration of a parameter entity must
+ * precede any reference to it...
+ */
+ xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
+ "PEReference: %%%s; not found\n",
+ name, NULL);
+ ctxt->valid = 0;
+ }
+ xmlParserEntityCheck(ctxt, 0, NULL, 0);
+ } else {
+ /*
+ * Internal checking in case the entity quest barfed
+ */
+ if ((entity->etype != XML_INTERNAL_PARAMETER_ENTITY) &&
+ (entity->etype != XML_EXTERNAL_PARAMETER_ENTITY)) {
+ xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
+ "%%%s; is not a parameter entity\n",
+ name, NULL);
}
}
+ ctxt->hasPErefs = 1;
+ xmlFree(name);
*str = ptr;
return(entity);
}
@@ -6869,12 +8344,12 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
*
* parse a DOCTYPE declaration
*
- * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
+ * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
* ('[' (markupdecl | PEReference | S)* ']' S?)? '>'
*
* [ VC: Root Element Type ]
* The Name in the document type declaration must match the element
- * type of the root element.
+ * type of the root element.
*/
void
@@ -6921,6 +8396,8 @@ xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt) {
if ((ctxt->sax != NULL) && (ctxt->sax->internalSubset != NULL) &&
(!ctxt->disableSAX))
ctxt->sax->internalSubset(ctxt->userData, name, ExternalID, URI);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
/*
* Is there any internal subset declarations ?
@@ -6956,11 +8433,11 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
ctxt->instate = XML_PARSER_DTD;
NEXT;
/*
- * Parse the succession of Markup declarations and
+ * Parse the succession of Markup declarations and
* PEReferences.
* Subsequence (markupdecl | PEReference | S)*
*/
- while (RAW != ']') {
+ while ((RAW != ']') && (ctxt->instate != XML_PARSER_EOF)) {
const xmlChar *check = CUR_PTR;
unsigned int cons = ctxt->input->consumed;
@@ -6980,7 +8457,7 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
break;
}
}
- if (RAW == ']') {
+ if (RAW == ']') {
NEXT;
SKIP_BLANKS;
}
@@ -7011,8 +8488,8 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
*
* [ WFC: No < in Attribute Values ]
* The replacement text of any entity referred to directly or indirectly in
- * an attribute value (other than "&lt;") must not contain a <.
- *
+ * an attribute value (other than "&lt;") must not contain a <.
+ *
* [ VC: Attribute Value Type ]
* The attribute must have been declared; the value must be of the type
* declared for it.
@@ -7093,7 +8570,7 @@ xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlChar **value) {
/**
* xmlParseStartTag:
* @ctxt: an XML parser context
- *
+ *
* parse a start of tag either for rule element or
* EmptyElement. In both case we don't parse the tag closing chars.
*
@@ -7101,13 +8578,13 @@ xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlChar **value) {
*
* [ WFC: Unique Att Spec ]
* No attribute name may appear more than once in the same start-tag or
- * empty-element tag.
+ * empty-element tag.
*
* [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'
*
* [ WFC: Unique Att Spec ]
* No attribute name may appear more than once in the same start-tag or
- * empty-element tag.
+ * empty-element tag.
*
* With namespace:
*
@@ -7146,9 +8623,9 @@ xmlParseStartTag(xmlParserCtxtPtr ctxt) {
SKIP_BLANKS;
GROW;
- while ((RAW != '>') &&
+ while (((RAW != '>') &&
((RAW != '/') || (NXT(1) != '>')) &&
- (IS_BYTE_CHAR(RAW))) {
+ (IS_BYTE_CHAR(RAW))) && (ctxt->instate != XML_PARSER_EOF)) {
const xmlChar *q = CUR_PTR;
unsigned int cons = ctxt->input->consumed;
@@ -7157,7 +8634,7 @@ xmlParseStartTag(xmlParserCtxtPtr ctxt) {
/*
* [ WFC: Unique Att Spec ]
* No attribute name may appear more than once in the same
- * start-tag or empty-element tag.
+ * start-tag or empty-element tag.
*/
for (i = 0; i < nbatts;i += 2) {
if (xmlStrEqual(atts[i], attname)) {
@@ -7206,7 +8683,7 @@ xmlParseStartTag(xmlParserCtxtPtr ctxt) {
xmlFree(attvalue);
}
-failed:
+failed:
GROW
if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
@@ -7288,7 +8765,7 @@ xmlParseEndTag1(xmlParserCtxtPtr ctxt, int line) {
/*
* [ WFC: Element Type Match ]
* The Name in an element's end-tag must match the element type in the
- * start-tag.
+ * start-tag.
*
*/
if (name != (xmlChar*)1) {
@@ -7335,38 +8812,6 @@ xmlParseEndTag(xmlParserCtxtPtr ctxt) {
* *
************************************************************************/
-static const xmlChar *
-xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) {
- int len = 0, l;
- int c;
- int count = 0;
-
- /*
- * Handler for more complex cases
- */
- GROW;
- c = CUR_CHAR(l);
- if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */
- (!IS_LETTER(c) && (c != '_'))) {
- return(NULL);
- }
-
- while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
- ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
- (c == '.') || (c == '-') || (c == '_') ||
- (IS_COMBINING(c)) ||
- (IS_EXTENDER(c)))) {
- if (count++ > 100) {
- count = 0;
- GROW;
- }
- len += l;
- NEXTL(l);
- c = CUR_CHAR(l);
- }
- return(xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len));
-}
-
/*
* xmlGetNamespace:
* @ctxt: an XML parser context
@@ -7392,56 +8837,6 @@ xmlGetNamespace(xmlParserCtxtPtr ctxt, const xmlChar *prefix) {
}
/**
- * xmlParseNCName:
- * @ctxt: an XML parser context
- * @len: lenght of the string parsed
- *
- * parse an XML name.
- *
- * [4NS] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
- * CombiningChar | Extender
- *
- * [5NS] NCName ::= (Letter | '_') (NCNameChar)*
- *
- * Returns the Name parsed or NULL
- */
-
-static const xmlChar *
-xmlParseNCName(xmlParserCtxtPtr ctxt) {
- const xmlChar *in;
- const xmlChar *ret;
- int count = 0;
-
- /*
- * Accelerator for simple ASCII names
- */
- in = ctxt->input->cur;
- if (((*in >= 0x61) && (*in <= 0x7A)) ||
- ((*in >= 0x41) && (*in <= 0x5A)) ||
- (*in == '_')) {
- in++;
- while (((*in >= 0x61) && (*in <= 0x7A)) ||
- ((*in >= 0x41) && (*in <= 0x5A)) ||
- ((*in >= 0x30) && (*in <= 0x39)) ||
- (*in == '_') || (*in == '-') ||
- (*in == '.'))
- in++;
- if ((*in > 0) && (*in < 0x80)) {
- count = in - ctxt->input->cur;
- ret = xmlDictLookup(ctxt->dict, ctxt->input->cur, count);
- ctxt->input->cur = in;
- ctxt->nbChars += count;
- ctxt->input->col += count;
- if (ret == NULL) {
- xmlErrMemory(ctxt, NULL);
- }
- return(ret);
- }
- }
- return(xmlParseNCNameComplex(ctxt));
-}
-
-/**
* xmlParseQName:
* @ctxt: an XML parser context
* @prefix: pointer to store the prefix part
@@ -7466,7 +8861,7 @@ xmlParseQName(xmlParserCtxtPtr ctxt, const xmlChar **prefix) {
if (CUR == ':') {
l = xmlParseName(ctxt);
if (l != NULL) {
- xmlNsErr(ctxt, XML_NS_ERR_QNAME,
+ xmlNsErr(ctxt, XML_NS_ERR_QNAME,
"Failed to parse QName '%s'\n", l, NULL, NULL);
*prefix = NULL;
return(l);
@@ -7483,7 +8878,13 @@ xmlParseQName(xmlParserCtxtPtr ctxt, const xmlChar **prefix) {
xmlNsErr(ctxt, XML_NS_ERR_QNAME,
"Failed to parse QName '%s:'\n", p, NULL, NULL);
- tmp = xmlBuildQName(BAD_CAST "", p, NULL, 0);
+ l = xmlParseNmtoken(ctxt);
+ if (l == NULL)
+ tmp = xmlBuildQName(BAD_CAST "", p, NULL, 0);
+ else {
+ tmp = xmlBuildQName(l, p, NULL, 0);
+ xmlFree((char *)l);
+ }
p = xmlDictLookup(ctxt->dict, tmp, -1);
if (tmp != NULL) xmlFree(tmp);
*prefix = NULL;
@@ -7531,7 +8932,7 @@ xmlParseQName(xmlParserCtxtPtr ctxt, const xmlChar **prefix) {
static const xmlChar *
xmlParseQNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *name,
xmlChar const *prefix) {
- const xmlChar *cmp = name;
+ const xmlChar *cmp;
const xmlChar *in;
const xmlChar *ret;
const xmlChar *prefix2;
@@ -7540,10 +8941,10 @@ xmlParseQNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *name,
GROW;
in = ctxt->input->cur;
-
+
cmp = prefix;
while (*in != 0 && *in == *cmp) {
- ++in;
+ ++in;
++cmp;
}
if ((*cmp == 0) && (*in == ':')) {
@@ -7581,20 +8982,20 @@ xmlParseQNameAndCompare(xmlParserCtxtPtr ctxt, xmlChar const *name,
*
* 3.3.3 Attribute-Value Normalization:
* Before the value of an attribute is passed to the application or
- * checked for validity, the XML processor must normalize it as follows:
+ * checked for validity, the XML processor must normalize it as follows:
* - a character reference is processed by appending the referenced
* character to the attribute value
* - an entity reference is processed by recursively processing the
- * replacement text of the entity
+ * replacement text of the entity
* - a whitespace character (#x20, #xD, #xA, #x9) is processed by
* appending #x20 to the normalized value, except that only a single
* #x20 is appended for a "#xD#xA" sequence that is part of an external
- * parsed entity or the literal entity value of an internal parsed entity
- * - other characters are processed by appending them to the normalized value
+ * parsed entity or the literal entity value of an internal parsed entity
+ * - other characters are processed by appending them to the normalized value
* If the declared value is not CDATA, then the XML processor must further
* process the normalized attribute value by discarding any leading and
* trailing space (#x20) characters, and by replacing sequences of space
- * (#x20) characters by a single space (#x20) character.
+ * (#x20) characters by a single space (#x20) character.
* All attributes for which no declaration has been read should be treated
* by a non-validating parser as if declared CDATA.
*
@@ -7609,9 +9010,12 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
xmlChar limit = 0;
const xmlChar *in = NULL, *start, *end, *last;
xmlChar *ret = NULL;
+ int line, col;
GROW;
in = (xmlChar *) CUR_PTR;
+ line = ctxt->input->line;
+ col = ctxt->input->col;
if (*in != '"' && *in != '\'') {
xmlFatalErr(ctxt, XML_ERR_ATTRIBUTE_NOT_STARTED, NULL);
return (NULL);
@@ -7624,6 +9028,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
* pure ASCII.
*/
limit = *in++;
+ col++;
end = ctxt->input->end;
start = in;
if (in >= end) {
@@ -7640,34 +9045,56 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
/*
* Skip any leading spaces
*/
- while ((in < end) && (*in != limit) &&
+ while ((in < end) && (*in != limit) &&
((*in == 0x20) || (*in == 0x9) ||
(*in == 0xA) || (*in == 0xD))) {
+ if (*in == 0xA) {
+ line++; col = 1;
+ } else {
+ col++;
+ }
in++;
start = in;
if (in >= end) {
const xmlChar *oldbase = ctxt->input->base;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
if (oldbase != ctxt->input->base) {
long delta = ctxt->input->base - oldbase;
start = start + delta;
in = in + delta;
}
end = ctxt->input->end;
+ if (((in - start) > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ return(NULL);
+ }
}
}
while ((in < end) && (*in != limit) && (*in >= 0x20) &&
(*in <= 0x7f) && (*in != '&') && (*in != '<')) {
+ col++;
if ((*in++ == 0x20) && (*in == 0x20)) break;
if (in >= end) {
const xmlChar *oldbase = ctxt->input->base;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
if (oldbase != ctxt->input->base) {
long delta = ctxt->input->base - oldbase;
start = start + delta;
in = in + delta;
}
end = ctxt->input->end;
+ if (((in - start) > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ return(NULL);
+ }
}
}
last = in;
@@ -7675,13 +9102,20 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
* skip the trailing blanks
*/
while ((last[-1] == 0x20) && (last > start)) last--;
- while ((in < end) && (*in != limit) &&
+ while ((in < end) && (*in != limit) &&
((*in == 0x20) || (*in == 0x9) ||
(*in == 0xA) || (*in == 0xD))) {
+ if (*in == 0xA) {
+ line++, col = 1;
+ } else {
+ col++;
+ }
in++;
if (in >= end) {
const xmlChar *oldbase = ctxt->input->base;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
if (oldbase != ctxt->input->base) {
long delta = ctxt->input->base - oldbase;
start = start + delta;
@@ -7689,28 +9123,56 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
last = last + delta;
}
end = ctxt->input->end;
+ if (((in - start) > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ return(NULL);
+ }
}
}
+ if (((in - start) > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ return(NULL);
+ }
if (*in != limit) goto need_complex;
} else {
while ((in < end) && (*in != limit) && (*in >= 0x20) &&
(*in <= 0x7f) && (*in != '&') && (*in != '<')) {
in++;
+ col++;
if (in >= end) {
const xmlChar *oldbase = ctxt->input->base;
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(NULL);
if (oldbase != ctxt->input->base) {
long delta = ctxt->input->base - oldbase;
start = start + delta;
in = in + delta;
}
end = ctxt->input->end;
+ if (((in - start) > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ return(NULL);
+ }
}
}
last = in;
+ if (((in - start) > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
+ "AttValue length too long\n");
+ return(NULL);
+ }
if (*in != limit) goto need_complex;
}
in++;
+ col++;
if (len != NULL) {
*len = last - start;
ret = (xmlChar *) start;
@@ -7719,6 +9181,8 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
ret = xmlStrndup(start, last - start);
}
CUR_PTR = in;
+ ctxt->input->line = line;
+ ctxt->input->col = col;
if (alloc) *alloc = 0;
return ret;
need_complex:
@@ -7743,9 +9207,10 @@ need_complex:
static const xmlChar *
xmlParseAttribute2(xmlParserCtxtPtr ctxt,
- const xmlChar *pref, const xmlChar *elem,
- const xmlChar **prefix, xmlChar **value,
- int *len, int *alloc) {
+ const xmlChar * pref, const xmlChar * elem,
+ const xmlChar ** prefix, xmlChar ** value,
+ int *len, int *alloc)
+{
const xmlChar *name;
xmlChar *val, *internal_val = NULL;
int normalize = 0;
@@ -7754,9 +9219,9 @@ xmlParseAttribute2(xmlParserCtxtPtr ctxt,
GROW;
name = xmlParseQName(ctxt, prefix);
if (name == NULL) {
- xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
- "error parsing attribute name\n");
- return(NULL);
+ xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
+ "error parsing attribute name\n");
+ return (NULL);
}
/*
@@ -7766,8 +9231,9 @@ xmlParseAttribute2(xmlParserCtxtPtr ctxt,
int type;
type = (int) (long) xmlHashQLookup2(ctxt->attsSpecial,
- pref, elem, *prefix, name);
- if (type != 0) normalize = 1;
+ pref, elem, *prefix, name);
+ if (type != 0)
+ normalize = 1;
}
/*
@@ -7776,58 +9242,75 @@ xmlParseAttribute2(xmlParserCtxtPtr ctxt,
SKIP_BLANKS;
if (RAW == '=') {
NEXT;
- SKIP_BLANKS;
- val = xmlParseAttValueInternal(ctxt, len, alloc, normalize);
- ctxt->instate = XML_PARSER_CONTENT;
+ SKIP_BLANKS;
+ val = xmlParseAttValueInternal(ctxt, len, alloc, normalize);
+ if (normalize) {
+ /*
+ * Sometimes a second normalisation pass for spaces is needed
+ * but that only happens if charrefs or entities refernces
+ * have been used in the attribute value, i.e. the attribute
+ * value have been extracted in an allocated string already.
+ */
+ if (*alloc) {
+ const xmlChar *val2;
+
+ val2 = xmlAttrNormalizeSpace2(ctxt, val, len);
+ if ((val2 != NULL) && (val2 != val)) {
+ xmlFree(val);
+ val = (xmlChar *) val2;
+ }
+ }
+ }
+ ctxt->instate = XML_PARSER_CONTENT;
} else {
- xmlFatalErrMsgStr(ctxt, XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
- "Specification mandate value for attribute %s\n", name);
- return(NULL);
+ xmlFatalErrMsgStr(ctxt, XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
+ "Specification mandate value for attribute %s\n",
+ name);
+ return (NULL);
}
- if (*prefix == ctxt->str_xml) {
- /*
- * Check that xml:lang conforms to the specification
- * No more registered as an error, just generate a warning now
- * since this was deprecated in XML second edition
- */
- if ((ctxt->pedantic) && (xmlStrEqual(name, BAD_CAST "lang"))) {
- internal_val = xmlStrndup(val, *len);
- if (!xmlCheckLanguageID(internal_val)) {
- xmlWarningMsg(ctxt, XML_WAR_LANG_VALUE,
- "Malformed value for xml:lang : %s\n",
- internal_val, NULL);
- }
- }
+ if (*prefix == ctxt->str_xml) {
+ /*
+ * Check that xml:lang conforms to the specification
+ * No more registered as an error, just generate a warning now
+ * since this was deprecated in XML second edition
+ */
+ if ((ctxt->pedantic) && (xmlStrEqual(name, BAD_CAST "lang"))) {
+ internal_val = xmlStrndup(val, *len);
+ if (!xmlCheckLanguageID(internal_val)) {
+ xmlWarningMsg(ctxt, XML_WAR_LANG_VALUE,
+ "Malformed value for xml:lang : %s\n",
+ internal_val, NULL);
+ }
+ }
- /*
- * Check that xml:space conforms to the specification
- */
- if (xmlStrEqual(name, BAD_CAST "space")) {
- internal_val = xmlStrndup(val, *len);
- if (xmlStrEqual(internal_val, BAD_CAST "default"))
- *(ctxt->space) = 0;
- else if (xmlStrEqual(internal_val, BAD_CAST "preserve"))
- *(ctxt->space) = 1;
- else {
- xmlWarningMsg(ctxt, XML_WAR_SPACE_VALUE,
-"Invalid value \"%s\" for xml:space : \"default\" or \"preserve\" expected\n",
- internal_val, NULL);
- }
- }
- if (internal_val) {
- xmlFree(internal_val);
- }
- }
+ /*
+ * Check that xml:space conforms to the specification
+ */
+ if (xmlStrEqual(name, BAD_CAST "space")) {
+ internal_val = xmlStrndup(val, *len);
+ if (xmlStrEqual(internal_val, BAD_CAST "default"))
+ *(ctxt->space) = 0;
+ else if (xmlStrEqual(internal_val, BAD_CAST "preserve"))
+ *(ctxt->space) = 1;
+ else {
+ xmlWarningMsg(ctxt, XML_WAR_SPACE_VALUE,
+ "Invalid value \"%s\" for xml:space : \"default\" or \"preserve\" expected\n",
+ internal_val, NULL);
+ }
+ }
+ if (internal_val) {
+ xmlFree(internal_val);
+ }
+ }
*value = val;
- return(name);
+ return (name);
}
-
/**
* xmlParseStartTag2:
* @ctxt: an XML parser context
- *
+ *
* parse a start of tag either for rule element or
* EmptyElement. In both case we don't parse the tag closing chars.
* This routine is called when running SAX2 parsing
@@ -7836,13 +9319,13 @@ xmlParseAttribute2(xmlParserCtxtPtr ctxt,
*
* [ WFC: Unique Att Spec ]
* No attribute name may appear more than once in the same start-tag or
- * empty-element tag.
+ * empty-element tag.
*
* [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'
*
* [ WFC: Unique Att Spec ]
* No attribute name may appear more than once in the same start-tag or
- * empty-element tag.
+ * empty-element tag.
*
* With namespace:
*
@@ -7865,7 +9348,7 @@ xmlParseStartTag2(xmlParserCtxtPtr ctxt, const xmlChar **pref,
const xmlChar **atts = ctxt->atts;
int maxatts = ctxt->maxatts;
int nratts, nbatts, nbdef;
- int i, j, nbNs, attval, oldline, oldcol;
+ int i, j, nbNs, attval, oldline, oldcol, inputNr;
const xmlChar *base;
unsigned long cur;
int nsNr = ctxt->nsNr;
@@ -7884,6 +9367,7 @@ reparse:
SHRINK;
base = ctxt->input->base;
cur = ctxt->input->cur - ctxt->input->base;
+ inputNr = ctxt->inputNr;
oldline = ctxt->input->line;
oldcol = ctxt->input->col;
nbatts = 0;
@@ -7909,18 +9393,19 @@ reparse:
*/
SKIP_BLANKS;
GROW;
- if (ctxt->input->base != base) goto base_changed;
+ if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
+ goto base_changed;
- while ((RAW != '>') &&
+ while (((RAW != '>') &&
((RAW != '/') || (NXT(1) != '>')) &&
- (IS_BYTE_CHAR(RAW))) {
+ (IS_BYTE_CHAR(RAW))) && (ctxt->instate != XML_PARSER_EOF)) {
const xmlChar *q = CUR_PTR;
unsigned int cons = ctxt->input->consumed;
int len = -1, alloc = 0;
attname = xmlParseAttribute2(ctxt, prefix, localname,
&aprefix, &attvalue, &len, &alloc);
- if (ctxt->input->base != base) {
+ if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) {
if ((attvalue != NULL) && (alloc != 0))
xmlFree(attvalue);
attvalue = NULL;
@@ -7932,20 +9417,42 @@ reparse:
const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len);
xmlURIPtr uri;
+ if (URL == NULL) {
+ xmlErrMemory(ctxt, "dictionary allocation failure");
+ if ((attvalue != NULL) && (alloc != 0))
+ xmlFree(attvalue);
+ return(NULL);
+ }
if (*URL != 0) {
uri = xmlParseURI((const char *) URL);
if (uri == NULL) {
- xmlWarningMsg(ctxt, XML_WAR_NS_URI,
- "xmlns: %s not a valid URI\n",
- URL, NULL);
+ xmlNsErr(ctxt, XML_WAR_NS_URI,
+ "xmlns: '%s' is not a valid URI\n",
+ URL, NULL, NULL);
} else {
if (uri->scheme == NULL) {
- xmlWarningMsg(ctxt, XML_WAR_NS_URI_RELATIVE,
- "xmlns: URI %s is not absolute\n",
- URL, NULL);
+ xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE,
+ "xmlns: URI %s is not absolute\n",
+ URL, NULL, NULL);
}
xmlFreeURI(uri);
}
+ if (URL == ctxt->str_xml_ns) {
+ if (attname != ctxt->str_xml) {
+ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+ "xml namespace URI cannot be the default namespace\n",
+ NULL, NULL, NULL);
+ }
+ goto skip_default_ns;
+ }
+ if ((len == 29) &&
+ (xmlStrEqual(URL,
+ BAD_CAST "http://www.w3.org/2000/xmlns/"))) {
+ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+ "reuse of the xmlns namespace name is forbidden\n",
+ NULL, NULL, NULL);
+ goto skip_default_ns;
+ }
}
/*
* check that it's not a defined namespace
@@ -7957,7 +9464,15 @@ reparse:
xmlErrAttributeDup(ctxt, NULL, attname);
else
if (nsPush(ctxt, NULL, URL) > 0) nbNs++;
+skip_default_ns:
if (alloc != 0) xmlFree(attvalue);
+ if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
+ break;
+ if (!IS_BLANK_CH(RAW)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
+ "attributes construct error\n");
+ break;
+ }
SKIP_BLANKS;
continue;
}
@@ -7974,22 +9489,49 @@ reparse:
/*
* Do not keep a namespace definition node
*/
- if (alloc != 0) xmlFree(attvalue);
- SKIP_BLANKS;
- continue;
+ goto skip_ns;
+ }
+ if (URL == ctxt->str_xml_ns) {
+ if (attname != ctxt->str_xml) {
+ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+ "xml namespace URI mapped to wrong prefix\n",
+ NULL, NULL, NULL);
+ }
+ goto skip_ns;
+ }
+ if (attname == ctxt->str_xmlns) {
+ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+ "redefinition of the xmlns prefix is forbidden\n",
+ NULL, NULL, NULL);
+ goto skip_ns;
}
- uri = xmlParseURI((const char *) URL);
- if (uri == NULL) {
- xmlWarningMsg(ctxt, XML_WAR_NS_URI,
- "xmlns:%s: '%s' is not a valid URI\n",
- attname, URL);
+ if ((len == 29) &&
+ (xmlStrEqual(URL,
+ BAD_CAST "http://www.w3.org/2000/xmlns/"))) {
+ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+ "reuse of the xmlns namespace name is forbidden\n",
+ NULL, NULL, NULL);
+ goto skip_ns;
+ }
+ if ((URL == NULL) || (URL[0] == 0)) {
+ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+ "xmlns:%s: Empty XML namespace is not allowed\n",
+ attname, NULL, NULL);
+ goto skip_ns;
} else {
- if ((ctxt->pedantic) && (uri->scheme == NULL)) {
- xmlWarningMsg(ctxt, XML_WAR_NS_URI_RELATIVE,
+ uri = xmlParseURI((const char *) URL);
+ if (uri == NULL) {
+ xmlNsErr(ctxt, XML_WAR_NS_URI,
+ "xmlns:%s: '%s' is not a valid URI\n",
+ attname, URL, NULL);
+ } else {
+ if ((ctxt->pedantic) && (uri->scheme == NULL)) {
+ xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE,
"xmlns:%s: URI %s is not absolute\n",
- attname, URL);
+ attname, URL, NULL);
+ }
+ xmlFreeURI(uri);
}
- xmlFreeURI(uri);
}
/*
@@ -8002,9 +9544,18 @@ reparse:
xmlErrAttributeDup(ctxt, aprefix, attname);
else
if (nsPush(ctxt, attname, URL) > 0) nbNs++;
+skip_ns:
if (alloc != 0) xmlFree(attvalue);
+ if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
+ break;
+ if (!IS_BLANK_CH(RAW)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
+ "attributes construct error\n");
+ break;
+ }
SKIP_BLANKS;
- if (ctxt->input->base != base) goto base_changed;
+ if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
+ goto base_changed;
continue;
}
@@ -8036,10 +9587,13 @@ reparse:
xmlFree(attvalue);
}
-failed:
+failed:
GROW
- if (ctxt->input->base != base) goto base_changed;
+ if (ctxt->instate == XML_PARSER_EOF)
+ break;
+ if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
+ goto base_changed;
if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
break;
if (!IS_BLANK_CH(RAW)) {
@@ -8055,7 +9609,8 @@ failed:
break;
}
GROW;
- if (ctxt->input->base != base) goto base_changed;
+ if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
+ goto base_changed;
}
/*
@@ -8067,8 +9622,8 @@ failed:
defaults = xmlHashLookup2(ctxt->attsDefault, localname, prefix);
if (defaults != NULL) {
for (i = 0;i < defaults->nbAttrs;i++) {
- attname = defaults->values[4 * i];
- aprefix = defaults->values[4 * i + 1];
+ attname = defaults->values[5 * i];
+ aprefix = defaults->values[5 * i + 1];
/*
* special work for namespaces defaulted defs
@@ -8083,9 +9638,9 @@ failed:
if (j <= nbNs) continue;
nsname = xmlGetNamespace(ctxt, NULL);
- if (nsname != defaults->values[4 * i + 2]) {
+ if (nsname != defaults->values[5 * i + 2]) {
if (nsPush(ctxt, NULL,
- defaults->values[4 * i + 2]) > 0)
+ defaults->values[5 * i + 2]) > 0)
nbNs++;
}
} else if (aprefix == ctxt->str_xmlns) {
@@ -8100,7 +9655,7 @@ failed:
nsname = xmlGetNamespace(ctxt, attname);
if (nsname != defaults->values[2]) {
if (nsPush(ctxt, attname,
- defaults->values[4 * i + 2]) > 0)
+ defaults->values[5 * i + 2]) > 0)
nbNs++;
}
} else {
@@ -8126,8 +9681,14 @@ failed:
atts[nbatts++] = NULL;
else
atts[nbatts++] = xmlGetNamespace(ctxt, aprefix);
- atts[nbatts++] = defaults->values[4 * i + 2];
- atts[nbatts++] = defaults->values[4 * i + 3];
+ atts[nbatts++] = defaults->values[5 * i + 2];
+ atts[nbatts++] = defaults->values[5 * i + 3];
+ if ((ctxt->standalone == 1) &&
+ (defaults->values[5 * i + 4] != NULL)) {
+ xmlValidityError(ctxt, XML_DTD_STANDALONE_DEFAULTED,
+ "standalone: attribute %s on %s defaulted from external subset\n",
+ attname, localname);
+ }
nbdef++;
}
}
@@ -8154,7 +9715,7 @@ failed:
/*
* [ WFC: Unique Att Spec ]
* No attribute name may appear more than once in the same
- * start-tag or empty-element tag.
+ * start-tag or empty-element tag.
* As extended by the Namespace in XML REC.
*/
for (j = 0; j < i;j += 5) {
@@ -8216,6 +9777,17 @@ base_changed:
if ((ctxt->attallocs[j] != 0) && (atts[i] != NULL))
xmlFree((xmlChar *) atts[i]);
}
+
+ /*
+ * We can't switch from one entity to another in the middle
+ * of a start tag
+ */
+ if (inputNr != ctxt->inputNr) {
+ xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+ "Start tag doesn't start and stop in the same entity\n");
+ return(NULL);
+ }
+
ctxt->input->cur = ctxt->input->base + cur;
ctxt->input->line = oldline;
ctxt->input->col = oldcol;
@@ -8255,9 +9827,11 @@ xmlParseEndTag2(xmlParserCtxtPtr ctxt, const xmlChar *prefix,
if ((tlen > 0) && (xmlStrncmp(ctxt->input->cur, ctxt->name, tlen) == 0)) {
if (ctxt->input->cur[tlen] == '>') {
ctxt->input->cur += tlen + 1;
+ ctxt->input->col += tlen + 1;
goto done;
}
ctxt->input->cur += tlen;
+ ctxt->input->col += tlen;
name = (xmlChar*)1;
} else {
if (prefix == NULL)
@@ -8270,6 +9844,8 @@ xmlParseEndTag2(xmlParserCtxtPtr ctxt, const xmlChar *prefix,
* We should definitely be at the ending "S? '>'" part
*/
GROW;
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
SKIP_BLANKS;
if ((!IS_BYTE_CHAR(RAW)) || (RAW != '>')) {
xmlFatalErr(ctxt, XML_ERR_GT_REQUIRED, NULL);
@@ -8279,11 +9855,13 @@ xmlParseEndTag2(xmlParserCtxtPtr ctxt, const xmlChar *prefix,
/*
* [ WFC: Element Type Match ]
* The Name in an element's end-tag must match the element type in the
- * start-tag.
+ * start-tag.
*
*/
if (name != (xmlChar*)1) {
if (name == NULL) name = BAD_CAST "unparseable";
+ if ((line == 0) && (ctxt->node != NULL))
+ line = ctxt->node->line;
xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NAME_MISMATCH,
"Opening and ending tag mismatch: %s line %d and %s\n",
ctxt->name, line, name);
@@ -8306,7 +9884,7 @@ done:
/**
* xmlParseCDSect:
* @ctxt: an XML parser context
- *
+ *
* Parse escaped pure raw content.
*
* [18] CDSect ::= CDStart CData CDEnd
@@ -8359,14 +9937,21 @@ xmlParseCDSect(xmlParserCtxtPtr ctxt) {
if (len + 5 >= size) {
xmlChar *tmp;
- size *= 2;
- tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+ if ((size > XML_MAX_TEXT_LENGTH) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_CDATA_NOT_FINISHED,
+ "CData section too big found", NULL);
+ xmlFree (buf);
+ return;
+ }
+ tmp = (xmlChar *) xmlRealloc(buf, size * 2 * sizeof(xmlChar));
if (tmp == NULL) {
xmlFree(buf);
xmlErrMemory(ctxt, NULL);
return;
}
buf = tmp;
+ size *= 2;
}
COPY_BUF(rl,buf,len,r);
r = s;
@@ -8376,6 +9961,10 @@ xmlParseCDSect(xmlParserCtxtPtr ctxt) {
count++;
if (count > 50) {
GROW;
+ if (ctxt->instate == XML_PARSER_EOF) {
+ xmlFree(buf);
+ return;
+ }
count = 0;
}
NEXTL(l);
@@ -8455,7 +10044,7 @@ xmlParseContent(xmlParserCtxtPtr ctxt) {
/*
* Fifth case : a reference. If if has not been resolved,
- * parsing returns it's Name, create the node
+ * parsing returns it's Name, create the node
*/
else if (*cur == '&') {
@@ -8480,7 +10069,7 @@ xmlParseContent(xmlParserCtxtPtr ctxt) {
if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) {
xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
"detected an error in element content\n");
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
break;
}
}
@@ -8496,25 +10085,26 @@ xmlParseContent(xmlParserCtxtPtr ctxt) {
*
* [ WFC: Element Type Match ]
* The Name in an element's end-tag must match the element type in the
- * start-tag.
+ * start-tag.
*
*/
void
xmlParseElement(xmlParserCtxtPtr ctxt) {
const xmlChar *name;
- const xmlChar *prefix;
- const xmlChar *URI;
+ const xmlChar *prefix = NULL;
+ const xmlChar *URI = NULL;
xmlParserNodeInfo node_info;
- int line, tlen;
+ int line, tlen = 0;
xmlNodePtr ret;
int nsNr = ctxt->nsNr;
- if ((unsigned int) ctxt->nameNr > xmlParserMaxDepth) {
- xmlFatalErrMsgInt(ctxt, XML_ERR_INTERNAL_ERROR,
- "Excessive depth in document: change xmlParserMaxDepth = %d\n",
- xmlParserMaxDepth);
- ctxt->instate = XML_PARSER_EOF;
+ if (((unsigned int) ctxt->nameNr > xmlParserMaxDepth) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErrMsgInt(ctxt, XML_ERR_INTERNAL_ERROR,
+ "Excessive depth in document: %d use XML_PARSE_HUGE option\n",
+ xmlParserMaxDepth);
+ xmlHaltParser(ctxt);
return;
}
@@ -8541,6 +10131,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
else
name = xmlParseStartTag(ctxt);
#endif /* LIBXML_SAX1_ENABLED */
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
if (name == NULL) {
spacePop(ctxt);
return;
@@ -8552,7 +10144,7 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
/*
* [ VC: Root Element Type ]
* The Name in the document type declaration must match the element
- * type of the root element.
+ * type of the root element.
*/
if (ctxt->validate && ctxt->wellFormed && ctxt->myDoc &&
ctxt->node && (ctxt->node == ctxt->myDoc->children))
@@ -8621,6 +10213,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
* Parse the content of the element:
*/
xmlParseContent(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return;
if (!IS_BYTE_CHAR(RAW)) {
xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NOT_FINISHED,
"Premature end of data in tag %s line %d\n",
@@ -8667,7 +10261,9 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
*
* parse the XML version value.
*
- * [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+
+ * [26] VersionNum ::= '1.' [0-9]+
+ *
+ * In practice allow [0-9].[0-9]+ at that level
*
* Returns the string giving the XML version number, or NULL
*/
@@ -8684,17 +10280,28 @@ xmlParseVersionNum(xmlParserCtxtPtr ctxt) {
return(NULL);
}
cur = CUR;
- while (((cur >= 'a') && (cur <= 'z')) ||
- ((cur >= 'A') && (cur <= 'Z')) ||
- ((cur >= '0') && (cur <= '9')) ||
- (cur == '_') || (cur == '.') ||
- (cur == ':') || (cur == '-')) {
+ if (!((cur >= '0') && (cur <= '9'))) {
+ xmlFree(buf);
+ return(NULL);
+ }
+ buf[len++] = cur;
+ NEXT;
+ cur=CUR;
+ if (cur != '.') {
+ xmlFree(buf);
+ return(NULL);
+ }
+ buf[len++] = cur;
+ NEXT;
+ cur=CUR;
+ while ((cur >= '0') && (cur <= '9')) {
if (len + 1 >= size) {
xmlChar *tmp;
size *= 2;
tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
if (tmp == NULL) {
+ xmlFree(buf);
xmlErrMemory(ctxt, NULL);
return(NULL);
}
@@ -8711,11 +10318,11 @@ xmlParseVersionNum(xmlParserCtxtPtr ctxt) {
/**
* xmlParseVersionInfo:
* @ctxt: an XML parser context
- *
+ *
* parse the XML version.
*
* [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")
- *
+ *
* [25] Eq ::= S? '=' S?
*
* Returns the version string, e.g. "1.0"
@@ -8780,7 +10387,7 @@ xmlParseEncName(xmlParserCtxtPtr ctxt) {
xmlErrMemory(ctxt, NULL);
return(NULL);
}
-
+
buf[len++] = cur;
NEXT;
cur = CUR;
@@ -8820,7 +10427,7 @@ xmlParseEncName(xmlParserCtxtPtr ctxt) {
/**
* xmlParseEncodingDecl:
* @ctxt: an XML parser context
- *
+ *
* parse the XML encoding declaration
*
* [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'")
@@ -8849,6 +10456,8 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
encoding = xmlParseEncName(ctxt);
if (RAW != '"') {
xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL);
+ xmlFree((xmlChar *) encoding);
+ return(NULL);
} else
NEXT;
} else if (RAW == '\''){
@@ -8856,11 +10465,22 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
encoding = xmlParseEncName(ctxt);
if (RAW != '\'') {
xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL);
+ xmlFree((xmlChar *) encoding);
+ return(NULL);
} else
NEXT;
} else {
xmlFatalErr(ctxt, XML_ERR_STRING_NOT_STARTED, NULL);
}
+
+ /*
+ * Non standard parsing, allowing the user to ignore encoding
+ */
+ if (ctxt->options & XML_PARSE_IGNORE_ENC) {
+ xmlFree((xmlChar *) encoding);
+ return(NULL);
+ }
+
/*
* UTF-16 encoding stwich has already taken place at this stage,
* more over the little-endian/big-endian selection is already done
@@ -8868,6 +10488,18 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
if ((encoding != NULL) &&
((!xmlStrcasecmp(encoding, BAD_CAST "UTF-16")) ||
(!xmlStrcasecmp(encoding, BAD_CAST "UTF16")))) {
+ /*
+ * If no encoding was passed to the parser, that we are
+ * using UTF-16 and no decoder is present i.e. the
+ * document is apparently UTF-8 compatible, then raise an
+ * encoding mismatch fatal error
+ */
+ if ((ctxt->encoding == NULL) &&
+ (ctxt->input->buf != NULL) &&
+ (ctxt->input->buf->encoder == NULL)) {
+ xmlFatalErrMsg(ctxt, XML_ERR_INVALID_ENCODING,
+ "Document labelled UTF-16 but has UTF-8 content\n");
+ }
if (ctxt->encoding != NULL)
xmlFree((xmlChar *) ctxt->encoding);
ctxt->encoding = encoding;
@@ -8891,7 +10523,11 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
handler = xmlFindCharEncodingHandler((const char *) encoding);
if (handler != NULL) {
- xmlSwitchToEncoding(ctxt, handler);
+ if (xmlSwitchToEncoding(ctxt, handler) < 0) {
+ /* failed to convert */
+ ctxt->errNo = XML_ERR_UNSUPPORTED_ENCODING;
+ return(NULL);
+ }
} else {
xmlFatalErrMsgStr(ctxt, XML_ERR_UNSUPPORTED_ENCODING,
"Unsupported encoding %s\n", encoding);
@@ -8909,7 +10545,7 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
* parse the XML standalone declaration
*
* [32] SDDecl ::= S 'standalone' Eq
- * (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"'))
+ * (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"'))
*
* [ VC: Standalone Document Declaration ]
* TODO The standalone document declaration must have the value "no"
@@ -8925,12 +10561,17 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
* - element types with element content, if white space occurs directly
* within any instance of those types.
*
- * Returns 1 if standalone, 0 otherwise
+ * Returns:
+ * 1 if standalone="yes"
+ * 0 if standalone="no"
+ * -2 if standalone attribute is missing or invalid
+ * (A standalone value of -2 means that the XML declaration was found,
+ * but no value was specified for the standalone attribute).
*/
int
xmlParseSDDecl(xmlParserCtxtPtr ctxt) {
- int standalone = -1;
+ int standalone = -2;
SKIP_BLANKS;
if (CMP10(CUR_PTR, 's', 't', 'a', 'n', 'd', 'a', 'l', 'o', 'n', 'e')) {
@@ -8984,7 +10625,7 @@ xmlParseSDDecl(xmlParserCtxtPtr ctxt) {
/**
* xmlParseXMLDecl:
* @ctxt: an XML parser context
- *
+ *
* parse an XML declaration header
*
* [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
@@ -9021,11 +10662,23 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
} else {
if (!xmlStrEqual(version, (const xmlChar *) XML_DEFAULT_VERSION)) {
/*
- * TODO: Blueberry should be detected here
+ * Changed here for XML-1.0 5th edition
*/
- xmlWarningMsg(ctxt, XML_WAR_UNKNOWN_VERSION,
- "Unsupported version '%s'\n",
- version, NULL);
+ if (ctxt->options & XML_PARSE_OLD10) {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNKNOWN_VERSION,
+ "Unsupported version '%s'\n",
+ version);
+ } else {
+ if ((version[0] == '1') && ((version[1] == '.'))) {
+ xmlWarningMsg(ctxt, XML_WAR_UNKNOWN_VERSION,
+ "Unsupported version '%s'\n",
+ version, NULL);
+ } else {
+ xmlFatalErrMsgStr(ctxt, XML_ERR_UNKNOWN_VERSION,
+ "Unsupported version '%s'\n",
+ version);
+ }
+ }
}
if (ctxt->version != NULL)
xmlFree((void *) ctxt->version);
@@ -9043,7 +10696,8 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, "Blank needed here\n");
}
xmlParseEncodingDecl(ctxt);
- if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) {
+ if ((ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) ||
+ (ctxt->instate == XML_PARSER_EOF)) {
/*
* The XML REC instructs us to stop parsing right here
*/
@@ -9060,6 +10714,12 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
}
xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, "Blank needed here\n");
}
+
+ /*
+ * We can grow the input buffer freely at that point
+ */
+ GROW;
+
SKIP_BLANKS;
ctxt->input->standalone = xmlParseSDDecl(ctxt);
@@ -9080,7 +10740,7 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
/**
* xmlParseMisc:
* @ctxt: an XML parser context
- *
+ *
* parse an XML Misc* optional field.
*
* [27] Misc ::= Comment | PI | S
@@ -9088,9 +10748,10 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
void
xmlParseMisc(xmlParserCtxtPtr ctxt) {
- while (((RAW == '<') && (NXT(1) == '?')) ||
- (CMP4(CUR_PTR, '<', '!', '-', '-')) ||
- IS_BLANK_CH(CUR)) {
+ while ((ctxt->instate != XML_PARSER_EOF) &&
+ (((RAW == '<') && (NXT(1) == '?')) ||
+ (CMP4(CUR_PTR, '<', '!', '-', '-')) ||
+ IS_BLANK_CH(CUR))) {
if ((RAW == '<') && (NXT(1) == '?')) {
xmlParsePI(ctxt);
} else if (IS_BLANK_CH(CUR)) {
@@ -9103,7 +10764,7 @@ xmlParseMisc(xmlParserCtxtPtr ctxt) {
/**
* xmlParseDocument:
* @ctxt: an XML parser context
- *
+ *
* parse an XML document (and build a tree if using the standard SAX
* interface).
*
@@ -9137,10 +10798,12 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
*/
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
- if ((ctxt->encoding == (const xmlChar *)XML_CHAR_ENCODING_NONE) &&
+ if ((ctxt->encoding == NULL) &&
((ctxt->input->end - ctxt->input->cur) >= 4)) {
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines.
@@ -9158,19 +10821,26 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
if (CUR == 0) {
xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL);
+ return(-1);
}
/*
* Check for the XMLDecl in the Prolog.
+ * do not GROW here to avoid the detected encoder to decode more
+ * than just the first line, unless the amount of data is really
+ * too small to hold "<?xml version="1.0" encoding="foo"
*/
- GROW;
+ if ((ctxt->input->end - ctxt->input->cur) < 35) {
+ GROW;
+ }
if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && (IS_BLANK_CH(NXT(5)))) {
/*
* Note that we will switch encoding on the fly.
*/
xmlParseXMLDecl(ctxt);
- if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) {
+ if ((ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) ||
+ (ctxt->instate == XML_PARSER_EOF)) {
/*
* The XML REC instructs us to stop parsing right here
*/
@@ -9183,6 +10853,12 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
}
if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX))
ctxt->sax->startDocument(ctxt->userData);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
+ if ((ctxt->myDoc != NULL) && (ctxt->input != NULL) &&
+ (ctxt->input->buf != NULL) && (ctxt->input->buf->compressed >= 0)) {
+ ctxt->myDoc->compression = ctxt->input->buf->compressed;
+ }
/*
* The Misc part of the Prolog
@@ -9202,6 +10878,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
if (RAW == '[') {
ctxt->instate = XML_PARSER_DTD;
xmlParseInternalSubset(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
}
/*
@@ -9212,8 +10890,11 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
(!ctxt->disableSAX))
ctxt->sax->externalSubset(ctxt->userData, ctxt->intSubName,
ctxt->extSubSystem, ctxt->extSubURI);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
ctxt->inSubset = 0;
+ xmlCleanSpecialAttr(ctxt);
ctxt->instate = XML_PARSER_PROLOG;
xmlParseMisc(ctxt);
@@ -9258,6 +10939,15 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
ctxt->myDoc = NULL;
}
+ if ((ctxt->wellFormed) && (ctxt->myDoc != NULL)) {
+ ctxt->myDoc->properties |= XML_DOC_WELLFORMED;
+ if (ctxt->valid)
+ ctxt->myDoc->properties |= XML_DOC_DTDVALID;
+ if (ctxt->nsWellFormed)
+ ctxt->myDoc->properties |= XML_DOC_NSVALID;
+ if (ctxt->options & XML_PARSE_OLD10)
+ ctxt->myDoc->properties |= XML_DOC_OLD10;
+ }
if (! ctxt->wellFormed) {
ctxt->valid = 0;
return(-1);
@@ -9268,7 +10958,7 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
/**
* xmlParseExtParsedEnt:
* @ctxt: an XML parser context
- *
+ *
* parse a general parsed entity
* An external general parsed entity is well-formed if it matches the
* production labeled extParsedEnt.
@@ -9299,7 +10989,7 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator);
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines.
@@ -9342,6 +11032,8 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
}
if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX))
ctxt->sax->startDocument(ctxt->userData);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
/*
* Doing validity checking on chunk doesn't make sense
@@ -9352,7 +11044,9 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
ctxt->depth = 0;
xmlParseContent(ctxt);
-
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
+
if ((RAW == '<') && (NXT(1) == '/')) {
xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
} else if (RAW != 0) {
@@ -9372,7 +11066,7 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
#ifdef LIBXML_PUSH_ENABLED
/************************************************************************
* *
- * Progressive parsing interfaces *
+ * Progressive parsing interfaces *
* *
************************************************************************/
@@ -9409,8 +11103,8 @@ xmlParseLookupSequence(xmlParserCtxtPtr ctxt, xmlChar first,
buf = in->base;
len = in->length;
} else {
- buf = in->buf->buffer->content;
- len = in->buf->buffer->use;
+ buf = xmlBufContent(in->buf->buffer);
+ len = xmlBufUse(in->buf->buffer);
}
/* take into account the sequence length */
if (third) len -= 2;
@@ -9433,7 +11127,7 @@ xmlParseLookupSequence(xmlParserCtxtPtr ctxt, xmlChar first,
xmlGenericError(xmlGenericErrorContext,
"PP: lookup '%c%c' found at %d\n",
first, next, base);
- else
+ else
xmlGenericError(xmlGenericErrorContext,
"PP: lookup '%c%c%c' found at %d\n",
first, next, third, base);
@@ -9449,7 +11143,7 @@ xmlParseLookupSequence(xmlParserCtxtPtr ctxt, xmlChar first,
else if (third == 0)
xmlGenericError(xmlGenericErrorContext,
"PP: lookup '%c%c' failed\n", first, next);
- else
+ else
xmlGenericError(xmlGenericErrorContext,
"PP: lookup '%c%c%c' failed\n", first, next, third);
#endif
@@ -9531,7 +11225,7 @@ xmlCheckCdataPush(const xmlChar *utf, int len) {
if ((utf == NULL) || (len <= 0))
return(0);
-
+
for (ix = 0; ix < len;) { /* string is 0-terminated */
c = utf[ix];
if ((c & 0x80) == 0x00) { /* 1-byte code, starts with 10 */
@@ -9542,7 +11236,7 @@ xmlCheckCdataPush(const xmlChar *utf, int len) {
else
return(-ix);
} else if ((c & 0xe0) == 0xc0) {/* 2-byte code, starts with 110 */
- if (ix + 2 > len) return(ix);
+ if (ix + 2 > len) return(-ix);
if ((utf[ix+1] & 0xc0 ) != 0x80)
return(-ix);
codepoint = (utf[ix] & 0x1f) << 6;
@@ -9551,7 +11245,7 @@ xmlCheckCdataPush(const xmlChar *utf, int len) {
return(-ix);
ix += 2;
} else if ((c & 0xf0) == 0xe0) {/* 3-byte code, starts with 1110 */
- if (ix + 3 > len) return(ix);
+ if (ix + 3 > len) return(-ix);
if (((utf[ix+1] & 0xc0) != 0x80) ||
((utf[ix+2] & 0xc0) != 0x80))
return(-ix);
@@ -9562,7 +11256,7 @@ xmlCheckCdataPush(const xmlChar *utf, int len) {
return(-ix);
ix += 3;
} else if ((c & 0xf8) == 0xf0) {/* 4-byte code, starts with 11110 */
- if (ix + 4 > len) return(ix);
+ if (ix + 4 > len) return(-ix);
if (((utf[ix+1] & 0xc0) != 0x80) ||
((utf[ix+2] & 0xc0) != 0x80) ||
((utf[ix+3] & 0xc0) != 0x80))
@@ -9659,11 +11353,11 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
}
xmlParseGetLasts(ctxt, &lastlt, &lastgt);
- while (1) {
+ while (ctxt->instate != XML_PARSER_EOF) {
if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
return(0);
-
+
/*
* Pop-up of finished entities.
*/
@@ -9678,22 +11372,22 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
/*
* If we are operating on converted input, try to flush
* remainng chars to avoid them stalling in the non-converted
- * buffer.
+ * buffer. But do not do this in document start where
+ * encoding="..." may not have been read and we work on a
+ * guessed encoding.
*/
- if ((ctxt->input->buf->raw != NULL) &&
- (ctxt->input->buf->raw->use > 0)) {
- int base = ctxt->input->base -
- ctxt->input->buf->buffer->content;
- int current = ctxt->input->cur - ctxt->input->base;
+ if ((ctxt->instate != XML_PARSER_START) &&
+ (ctxt->input->buf->raw != NULL) &&
+ (xmlBufIsEmpty(ctxt->input->buf->raw) == 0)) {
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer,
+ ctxt->input);
+ size_t current = ctxt->input->cur - ctxt->input->base;
xmlParserInputBufferPush(ctxt->input->buf, 0, "");
- ctxt->input->base = ctxt->input->buf->buffer->content + base;
- ctxt->input->cur = ctxt->input->base + current;
- ctxt->input->end =
- &ctxt->input->buf->buffer->content[
- ctxt->input->buf->buffer->use];
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input,
+ base, current);
}
- avail = ctxt->input->buf->buffer->use -
+ avail = xmlBufUse(ctxt->input->buf->buffer) -
(ctxt->input->cur - ctxt->input->base);
}
if (avail < 1)
@@ -9715,7 +11409,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
if (avail < 4)
goto done;
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines,
@@ -9740,7 +11434,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->sax->setDocumentLocator(ctxt->userData,
&xmlDefaultSAXLocator);
xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL);
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: entering EOF\n");
@@ -9773,7 +11467,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
* The XML REC instructs us to stop parsing right
* here
*/
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
return(0);
}
ctxt->standalone = ctxt->input->standalone;
@@ -9820,8 +11514,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
break;
case XML_PARSER_START_TAG: {
const xmlChar *name;
- const xmlChar *prefix;
- const xmlChar *URI;
+ const xmlChar *prefix = NULL;
+ const xmlChar *URI = NULL;
int nsNr = ctxt->nsNr;
if ((avail < 2) && (ctxt->inputNr == 1))
@@ -9829,7 +11523,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
cur = ctxt->input->cur[0];
if (cur != '<') {
xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL);
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
ctxt->sax->endDocument(ctxt->userData);
goto done;
@@ -9857,9 +11551,11 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
else
name = xmlParseStartTag(ctxt);
#endif /* LIBXML_SAX1_ENABLED */
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
if (name == NULL) {
spacePop(ctxt);
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
ctxt->sax->endDocument(ctxt->userData);
goto done;
@@ -9868,7 +11564,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
/*
* [ VC: Root Element Type ]
* The Name in the document type declaration must match
- * the element type of the root element.
+ * the element type of the root element.
*/
if (ctxt->validate && ctxt->wellFormed && ctxt->myDoc &&
ctxt->node && (ctxt->node == ctxt->myDoc->children))
@@ -9897,12 +11593,15 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->sax->endElement(ctxt->userData, name);
#endif /* LIBXML_SAX1_ENABLED */
}
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
spacePop(ctxt);
if (ctxt->nameNr == 0) {
ctxt->instate = XML_PARSER_EPILOG;
} else {
ctxt->instate = XML_PARSER_CONTENT;
}
+ ctxt->progressive = 1;
break;
}
if (RAW == '>') {
@@ -9922,6 +11621,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
#endif /* LIBXML_SAX1_ENABLED */
ctxt->instate = XML_PARSER_CONTENT;
+ ctxt->progressive = 1;
break;
}
case XML_PARSER_CONTENT: {
@@ -9939,9 +11639,13 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
break;
} else if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
+ (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
+ ctxt->progressive = XML_PARSER_PI;
goto done;
+ }
xmlParsePI(ctxt);
+ ctxt->instate = XML_PARSER_CONTENT;
+ ctxt->progressive = 1;
} else if ((cur == '<') && (next != '!')) {
ctxt->instate = XML_PARSER_START_TAG;
break;
@@ -9955,10 +11659,13 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->input->cur += 4;
term = xmlParseLookupSequence(ctxt, '-', '-', '>');
ctxt->input->cur -= 4;
- if ((!terminate) && (term < 0))
+ if ((!terminate) && (term < 0)) {
+ ctxt->progressive = XML_PARSER_COMMENT;
goto done;
+ }
xmlParseComment(ctxt);
ctxt->instate = XML_PARSER_CONTENT;
+ ctxt->progressive = 1;
} else if ((cur == '<') && (ctxt->input->cur[1] == '!') &&
(ctxt->input->cur[2] == '[') &&
(ctxt->input->cur[3] == 'C') &&
@@ -10015,7 +11722,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) {
xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
"detected an error in element content\n");
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
break;
}
break;
@@ -10043,7 +11750,9 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
else
xmlParseEndTag1(ctxt, 0);
#endif /* LIBXML_SAX1_ENABLED */
- if (ctxt->nameNr == 0) {
+ if (ctxt->instate == XML_PARSER_EOF) {
+ /* Nothing */
+ } else if (ctxt->nameNr == 0) {
ctxt->instate = XML_PARSER_EPILOG;
} else {
ctxt->instate = XML_PARSER_CONTENT;
@@ -10051,7 +11760,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
break;
case XML_PARSER_CDATA_SECTION: {
/*
- * The Push mode need to have the SAX callback for
+ * The Push mode need to have the SAX callback for
* cdataBlock merge back contiguous callbacks.
*/
int base;
@@ -10061,7 +11770,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
if (avail >= XML_PARSER_BIG_BUFFER_SIZE + 2) {
int tmp;
- tmp = xmlCheckCdataPush(ctxt->input->cur,
+ tmp = xmlCheckCdataPush(ctxt->input->cur,
XML_PARSER_BIG_BUFFER_SIZE);
if (tmp < 0) {
tmp = -tmp;
@@ -10076,6 +11785,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->sax->characters(ctxt->userData,
ctxt->input->cur, tmp);
}
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
SKIPL(tmp);
ctxt->checkIndex = 0;
}
@@ -10089,7 +11800,20 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->input->cur += tmp;
goto encoding_error;
}
- if ((ctxt->sax != NULL) && (base > 0) &&
+ if ((ctxt->sax != NULL) && (base == 0) &&
+ (ctxt->sax->cdataBlock != NULL) &&
+ (!ctxt->disableSAX)) {
+ /*
+ * Special case to provide identical behaviour
+ * between pull and push parsers on enpty CDATA
+ * sections
+ */
+ if ((ctxt->input->cur - ctxt->input->base >= 9) &&
+ (!strncmp((const char *)&ctxt->input->cur[-9],
+ "<![CDATA[", 9)))
+ ctxt->sax->cdataBlock(ctxt->userData,
+ BAD_CAST "", 0);
+ } else if ((ctxt->sax != NULL) && (base > 0) &&
(!ctxt->disableSAX)) {
if (ctxt->sax->cdataBlock != NULL)
ctxt->sax->cdataBlock(ctxt->userData,
@@ -10098,6 +11822,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->sax->characters(ctxt->userData,
ctxt->input->cur, base);
}
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
SKIPL(base + 3);
ctxt->checkIndex = 0;
ctxt->instate = XML_PARSER_CONTENT;
@@ -10114,7 +11840,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
avail = ctxt->input->length -
(ctxt->input->cur - ctxt->input->base);
else
- avail = ctxt->input->buf->buffer->use -
+ avail = xmlBufUse(ctxt->input->buf->buffer) -
(ctxt->input->cur - ctxt->input->base);
if (avail < 2)
goto done;
@@ -10122,25 +11848,38 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
next = ctxt->input->cur[1];
if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
+ (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
+ ctxt->progressive = XML_PARSER_PI;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing PI\n");
#endif
xmlParsePI(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
+ ctxt->instate = XML_PARSER_MISC;
+ ctxt->progressive = 1;
+ ctxt->checkIndex = 0;
} else if ((cur == '<') && (next == '!') &&
(ctxt->input->cur[2] == '-') &&
(ctxt->input->cur[3] == '-')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+ (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)) {
+ ctxt->progressive = XML_PARSER_COMMENT;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing Comment\n");
#endif
xmlParseComment(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
ctxt->instate = XML_PARSER_MISC;
+ ctxt->progressive = 1;
+ ctxt->checkIndex = 0;
} else if ((cur == '<') && (next == '!') &&
(ctxt->input->cur[2] == 'D') &&
(ctxt->input->cur[3] == 'O') &&
@@ -10150,14 +11889,20 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
(ctxt->input->cur[7] == 'P') &&
(ctxt->input->cur[8] == 'E')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
+ (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0)) {
+ ctxt->progressive = XML_PARSER_DTD;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing internal subset\n");
#endif
ctxt->inSubset = 1;
+ ctxt->progressive = 0;
+ ctxt->checkIndex = 0;
xmlParseDocTypeDecl(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
if (RAW == '[') {
ctxt->instate = XML_PARSER_DTD;
#ifdef DEBUG_PUSH
@@ -10175,6 +11920,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
ctxt->intSubName, ctxt->extSubSystem,
ctxt->extSubURI);
ctxt->inSubset = 0;
+ xmlCleanSpecialAttr(ctxt);
ctxt->instate = XML_PARSER_PROLOG;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -10186,7 +11932,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
goto done;
} else {
ctxt->instate = XML_PARSER_START_TAG;
- ctxt->progressive = 1;
+ ctxt->progressive = XML_PARSER_START_TAG;
xmlParseGetLasts(ctxt, &lastlt, &lastgt);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -10199,38 +11945,50 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
if (ctxt->input->buf == NULL)
avail = ctxt->input->length - (ctxt->input->cur - ctxt->input->base);
else
- avail = ctxt->input->buf->buffer->use - (ctxt->input->cur - ctxt->input->base);
- if (avail < 2)
+ avail = xmlBufUse(ctxt->input->buf->buffer) -
+ (ctxt->input->cur - ctxt->input->base);
+ if (avail < 2)
goto done;
cur = ctxt->input->cur[0];
next = ctxt->input->cur[1];
if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
+ (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
+ ctxt->progressive = XML_PARSER_PI;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing PI\n");
#endif
xmlParsePI(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
+ ctxt->instate = XML_PARSER_PROLOG;
+ ctxt->progressive = 1;
} else if ((cur == '<') && (next == '!') &&
(ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+ (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)) {
+ ctxt->progressive = XML_PARSER_COMMENT;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing Comment\n");
#endif
xmlParseComment(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
ctxt->instate = XML_PARSER_PROLOG;
+ ctxt->progressive = 1;
} else if ((cur == '<') && (next == '!') &&
(avail < 4)) {
goto done;
} else {
ctxt->instate = XML_PARSER_START_TAG;
if (ctxt->progressive == 0)
- ctxt->progressive = 1;
+ ctxt->progressive = XML_PARSER_START_TAG;
xmlParseGetLasts(ctxt, &lastlt, &lastgt);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -10243,38 +12001,49 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
if (ctxt->input->buf == NULL)
avail = ctxt->input->length - (ctxt->input->cur - ctxt->input->base);
else
- avail = ctxt->input->buf->buffer->use - (ctxt->input->cur - ctxt->input->base);
+ avail = xmlBufUse(ctxt->input->buf->buffer) -
+ (ctxt->input->cur - ctxt->input->base);
if (avail < 2)
goto done;
cur = ctxt->input->cur[0];
next = ctxt->input->cur[1];
if ((cur == '<') && (next == '?')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
+ (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0)) {
+ ctxt->progressive = XML_PARSER_PI;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing PI\n");
#endif
xmlParsePI(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
ctxt->instate = XML_PARSER_EPILOG;
+ ctxt->progressive = 1;
} else if ((cur == '<') && (next == '!') &&
(ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) {
if ((!terminate) &&
- (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+ (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0)) {
+ ctxt->progressive = XML_PARSER_COMMENT;
goto done;
+ }
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: Parsing Comment\n");
#endif
xmlParseComment(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
ctxt->instate = XML_PARSER_EPILOG;
+ ctxt->progressive = 1;
} else if ((cur == '<') && (next == '!') &&
(avail < 4)) {
goto done;
} else {
xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL);
- ctxt->instate = XML_PARSER_EOF;
+ xmlHaltParser(ctxt);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
"PP: entering EOF\n");
@@ -10298,29 +12067,28 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
int base, i;
xmlChar *buf;
xmlChar quote = 0;
+ size_t use;
base = ctxt->input->cur - ctxt->input->base;
if (base < 0) return(0);
if (ctxt->checkIndex > base)
base = ctxt->checkIndex;
- buf = ctxt->input->buf->buffer->content;
- for (;(unsigned int) base < ctxt->input->buf->buffer->use;
- base++) {
+ buf = xmlBufContent(ctxt->input->buf->buffer);
+ use = xmlBufUse(ctxt->input->buf->buffer);
+ for (;(unsigned int) base < use; base++) {
if (quote != 0) {
if (buf[base] == quote)
quote = 0;
- continue;
+ continue;
}
if ((quote == 0) && (buf[base] == '<')) {
int found = 0;
/* special handling of comments */
- if (((unsigned int) base + 4 <
- ctxt->input->buf->buffer->use) &&
+ if (((unsigned int) base + 4 < use) &&
(buf[base + 1] == '!') &&
(buf[base + 2] == '-') &&
(buf[base + 3] == '-')) {
- for (;(unsigned int) base + 3 <
- ctxt->input->buf->buffer->use; base++) {
+ for (;(unsigned int) base + 3 < use; base++) {
if ((buf[base] == '-') &&
(buf[base + 1] == '-') &&
(buf[base + 2] == '>')) {
@@ -10351,17 +12119,14 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
fprintf(stderr, "%c%c%c%c: ", buf[base],
buf[base + 1], buf[base + 2], buf[base + 3]);
#endif
- if ((unsigned int) base +1 >=
- ctxt->input->buf->buffer->use)
+ if ((unsigned int) base +1 >= use)
break;
if (buf[base + 1] == ']') {
/* conditional crap, skip both ']' ! */
base++;
continue;
}
- for (i = 1;
- (unsigned int) base + i < ctxt->input->buf->buffer->use;
- i++) {
+ for (i = 1; (unsigned int) base + i < use; i++) {
if (buf[base + i] == '>') {
#if 0
fprintf(stderr, "found\n");
@@ -10379,7 +12144,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
fprintf(stderr, "end of stream\n");
#endif
break;
-
+
}
not_end_of_int_subset:
continue; /* for */
@@ -10387,6 +12152,10 @@ not_end_of_int_subset:
/*
* We didn't found the end of the Internal subset
*/
+ if (quote == 0)
+ ctxt->checkIndex = base;
+ else
+ ctxt->checkIndex = 0;
#ifdef DEBUG_PUSH
if (next == 0)
xmlGenericError(xmlGenericErrorContext,
@@ -10395,13 +12164,19 @@ not_end_of_int_subset:
goto done;
found_end_int_subset:
+ ctxt->checkIndex = 0;
xmlParseInternalSubset(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
ctxt->inSubset = 2;
if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
(ctxt->sax->externalSubset != NULL))
ctxt->sax->externalSubset(ctxt->userData, ctxt->intSubName,
ctxt->extSubSystem, ctxt->extSubURI);
ctxt->inSubset = 0;
+ xmlCleanSpecialAttr(ctxt);
+ if (ctxt->instate == XML_PARSER_EOF)
+ goto done;
ctxt->instate = XML_PARSER_PROLOG;
ctxt->checkIndex = 0;
#ifdef DEBUG_PUSH
@@ -10484,7 +12259,7 @@ found_end_int_subset:
break;
}
}
-done:
+done:
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext, "PP: done %d\n", ret);
#endif
@@ -10504,6 +12279,55 @@ encoding_error:
}
/**
+ * xmlParseCheckTransition:
+ * @ctxt: an XML parser context
+ * @chunk: a char array
+ * @size: the size in byte of the chunk
+ *
+ * Check depending on the current parser state if the chunk given must be
+ * processed immediately or one need more data to advance on parsing.
+ *
+ * Returns -1 in case of error, 0 if the push is not needed and 1 if needed
+ */
+static int
+xmlParseCheckTransition(xmlParserCtxtPtr ctxt, const char *chunk, int size) {
+ if ((ctxt == NULL) || (chunk == NULL) || (size < 0))
+ return(-1);
+ if (ctxt->instate == XML_PARSER_START_TAG) {
+ if (memchr(chunk, '>', size) != NULL)
+ return(1);
+ return(0);
+ }
+ if (ctxt->progressive == XML_PARSER_COMMENT) {
+ if (memchr(chunk, '>', size) != NULL)
+ return(1);
+ return(0);
+ }
+ if (ctxt->instate == XML_PARSER_CDATA_SECTION) {
+ if (memchr(chunk, '>', size) != NULL)
+ return(1);
+ return(0);
+ }
+ if (ctxt->progressive == XML_PARSER_PI) {
+ if (memchr(chunk, '>', size) != NULL)
+ return(1);
+ return(0);
+ }
+ if (ctxt->instate == XML_PARSER_END_TAG) {
+ if (memchr(chunk, '>', size) != NULL)
+ return(1);
+ return(0);
+ }
+ if ((ctxt->progressive == XML_PARSER_DTD) ||
+ (ctxt->instate == XML_PARSER_DTD)) {
+ if (memchr(chunk, '>', size) != NULL)
+ return(1);
+ return(0);
+ }
+ return(1);
+}
+
+/**
* xmlParseChunk:
* @ctxt: an XML parser context
* @chunk: an char array
@@ -10518,11 +12342,16 @@ int
xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
int terminate) {
int end_in_lf = 0;
+ int remain = 0;
+ size_t old_avail = 0;
+ size_t avail = 0;
if (ctxt == NULL)
return(XML_ERR_INTERNAL_ERROR);
if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
return(ctxt->errNo);
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(-1);
if (ctxt->instate == XML_PARSER_START)
xmlDetectSAX2(ctxt);
if ((size > 0) && (chunk != NULL) && (!terminate) &&
@@ -10530,22 +12359,58 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
end_in_lf = 1;
size--;
}
+
+xmldecl_done:
+
if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
(ctxt->input->buf != NULL) && (ctxt->instate != XML_PARSER_EOF)) {
- int base = ctxt->input->base - ctxt->input->buf->buffer->content;
- int cur = ctxt->input->cur - ctxt->input->base;
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer, ctxt->input);
+ size_t cur = ctxt->input->cur - ctxt->input->base;
int res;
-
- res =xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
+
+ old_avail = xmlBufUse(ctxt->input->buf->buffer);
+ /*
+ * Specific handling if we autodetected an encoding, we should not
+ * push more than the first line ... which depend on the encoding
+ * And only push the rest once the final encoding was detected
+ */
+ if ((ctxt->instate == XML_PARSER_START) && (ctxt->input != NULL) &&
+ (ctxt->input->buf != NULL) && (ctxt->input->buf->encoder != NULL)) {
+ unsigned int len = 45;
+
+ if ((xmlStrcasestr(BAD_CAST ctxt->input->buf->encoder->name,
+ BAD_CAST "UTF-16")) ||
+ (xmlStrcasestr(BAD_CAST ctxt->input->buf->encoder->name,
+ BAD_CAST "UTF16")))
+ len = 90;
+ else if ((xmlStrcasestr(BAD_CAST ctxt->input->buf->encoder->name,
+ BAD_CAST "UCS-4")) ||
+ (xmlStrcasestr(BAD_CAST ctxt->input->buf->encoder->name,
+ BAD_CAST "UCS4")))
+ len = 180;
+
+ if (ctxt->input->buf->rawconsumed < len)
+ len -= ctxt->input->buf->rawconsumed;
+
+ /*
+ * Change size for reading the initial declaration only
+ * if size is greater than len. Otherwise, memmove in xmlBufferAdd
+ * will blindly copy extra bytes from memory.
+ */
+ if ((unsigned int) size > len) {
+ remain = size - len;
+ size = len;
+ } else {
+ remain = 0;
+ }
+ }
+ res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
if (res < 0) {
ctxt->errNo = XML_PARSER_EOF;
- ctxt->disableSAX = 1;
+ xmlHaltParser(ctxt);
return (XML_PARSER_EOF);
}
- ctxt->input->base = ctxt->input->buf->buffer->content + base;
- ctxt->input->cur = ctxt->input->base + cur;
- ctxt->input->end =
- &ctxt->input->buf->buffer->content[ctxt->input->buf->buffer->use];
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext, "PP: pushed %d\n", size);
#endif
@@ -10556,44 +12421,88 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
if ((in->encoder != NULL) && (in->buffer != NULL) &&
(in->raw != NULL)) {
int nbchars;
-
- nbchars = xmlCharEncInFunc(in->encoder, in->buffer, in->raw);
+ size_t base = xmlBufGetInputBase(in->buffer, ctxt->input);
+ size_t current = ctxt->input->cur - ctxt->input->base;
+
+ nbchars = xmlCharEncInput(in, terminate);
if (nbchars < 0) {
/* TODO 2.6.0 */
xmlGenericError(xmlGenericErrorContext,
"xmlParseChunk: encoder error\n");
return(XML_ERR_INVALID_ENCODING);
}
+ xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current);
}
}
}
- xmlParseTryOrFinish(ctxt, terminate);
+ if (remain != 0) {
+ xmlParseTryOrFinish(ctxt, 0);
+ } else {
+ if ((ctxt->input != NULL) && (ctxt->input->buf != NULL))
+ avail = xmlBufUse(ctxt->input->buf->buffer);
+ /*
+ * Depending on the current state it may not be such
+ * a good idea to try parsing if there is nothing in the chunk
+ * which would be worth doing a parser state transition and we
+ * need to wait for more data
+ */
+ if ((terminate) || (avail > XML_MAX_TEXT_LENGTH) ||
+ (old_avail == 0) || (avail == 0) ||
+ (xmlParseCheckTransition(ctxt,
+ (const char *)&ctxt->input->base[old_avail],
+ avail - old_avail)))
+ xmlParseTryOrFinish(ctxt, terminate);
+ }
+ if (ctxt->instate == XML_PARSER_EOF)
+ return(ctxt->errNo);
+
+ if ((ctxt->input != NULL) &&
+ (((ctxt->input->end - ctxt->input->cur) > XML_MAX_LOOKUP_LIMIT) ||
+ ((ctxt->input->cur - ctxt->input->base) > XML_MAX_LOOKUP_LIMIT)) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
+ xmlHaltParser(ctxt);
+ }
+ if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
+ return(ctxt->errNo);
+
+ if (remain != 0) {
+ chunk += size;
+ size = remain;
+ remain = 0;
+ goto xmldecl_done;
+ }
if ((end_in_lf == 1) && (ctxt->input != NULL) &&
(ctxt->input->buf != NULL)) {
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer,
+ ctxt->input);
+ size_t current = ctxt->input->cur - ctxt->input->base;
+
xmlParserInputBufferPush(ctxt->input->buf, 1, "\r");
+
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input,
+ base, current);
}
- if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
- return(ctxt->errNo);
if (terminate) {
/*
* Check for termination
*/
- int avail = 0;
+ int cur_avail = 0;
if (ctxt->input != NULL) {
if (ctxt->input->buf == NULL)
- avail = ctxt->input->length -
- (ctxt->input->cur - ctxt->input->base);
+ cur_avail = ctxt->input->length -
+ (ctxt->input->cur - ctxt->input->base);
else
- avail = ctxt->input->buf->buffer->use -
- (ctxt->input->cur - ctxt->input->base);
+ cur_avail = xmlBufUse(ctxt->input->buf->buffer) -
+ (ctxt->input->cur - ctxt->input->base);
}
-
+
if ((ctxt->instate != XML_PARSER_EOF) &&
(ctxt->instate != XML_PARSER_EPILOG)) {
xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL);
- }
- if ((ctxt->instate == XML_PARSER_EPILOG) && (avail > 0)) {
+ }
+ if ((ctxt->instate == XML_PARSER_EPILOG) && (cur_avail > 0)) {
xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL);
}
if (ctxt->instate != XML_PARSER_EOF) {
@@ -10602,12 +12511,15 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
}
ctxt->instate = XML_PARSER_EOF;
}
- return((xmlParserErrors) ctxt->errNo);
+ if (ctxt->wellFormed == 0)
+ return((xmlParserErrors) ctxt->errNo);
+ else
+ return(0);
}
/************************************************************************
* *
- * I/O front end functions to the parser *
+ * I/O front end functions to the parser *
* *
************************************************************************/
@@ -10631,7 +12543,7 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
*/
xmlParserCtxtPtr
-xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
+xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
const char *chunk, int size, const char *filename) {
xmlParserCtxtPtr ctxt;
xmlParserInputPtr inputStream;
@@ -10680,7 +12592,7 @@ xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
if (user_data != NULL)
ctxt->userData = user_data;
- }
+ }
if (filename == NULL) {
ctxt->directory = NULL;
} else {
@@ -10706,11 +12618,7 @@ xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
}
}
inputStream->buf = buf;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end =
- &inputStream->buf->buffer->content[inputStream->buf->buffer->use];
-
+ xmlBufResetInput(inputStream->buf->buffer, inputStream);
inputPush(ctxt, inputStream);
/*
@@ -10721,15 +12629,12 @@ xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
if ((size == 0) || (chunk == NULL)) {
ctxt->charset = XML_CHAR_ENCODING_NONE;
} else if ((ctxt->input != NULL) && (ctxt->input->buf != NULL)) {
- int base = ctxt->input->base - ctxt->input->buf->buffer->content;
- int cur = ctxt->input->cur - ctxt->input->base;
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer, ctxt->input);
+ size_t cur = ctxt->input->cur - ctxt->input->base;
- xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
+ xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
- ctxt->input->base = ctxt->input->buf->buffer->content + base;
- ctxt->input->cur = ctxt->input->base + cur;
- ctxt->input->end =
- &ctxt->input->buf->buffer->content[ctxt->input->buf->buffer->use];
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext, "PP: pushed %d\n", size);
#endif
@@ -10744,24 +12649,47 @@ xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
#endif /* LIBXML_PUSH_ENABLED */
/**
- * xmlStopParser:
+ * xmlHaltParser:
* @ctxt: an XML parser context
*
- * Blocks further parser processing
+ * Blocks further parser processing don't override error
+ * for internal use
*/
-void
-xmlStopParser(xmlParserCtxtPtr ctxt) {
+static void
+xmlHaltParser(xmlParserCtxtPtr ctxt) {
if (ctxt == NULL)
return;
ctxt->instate = XML_PARSER_EOF;
ctxt->disableSAX = 1;
if (ctxt->input != NULL) {
+ /*
+ * in case there was a specific allocation deallocate before
+ * overriding base
+ */
+ if (ctxt->input->free != NULL) {
+ ctxt->input->free((xmlChar *) ctxt->input->base);
+ ctxt->input->free = NULL;
+ }
ctxt->input->cur = BAD_CAST"";
ctxt->input->base = ctxt->input->cur;
}
}
/**
+ * xmlStopParser:
+ * @ctxt: an XML parser context
+ *
+ * Blocks further parser processing
+ */
+void
+xmlStopParser(xmlParserCtxtPtr ctxt) {
+ if (ctxt == NULL)
+ return;
+ xmlHaltParser(ctxt);
+ ctxt->errNo = XML_ERR_USER_STOP;
+}
+
+/**
* xmlCreateIOParserCtxt:
* @sax: a SAX handler
* @user_data: The user data returned on SAX callbacks
@@ -10782,11 +12710,15 @@ xmlCreateIOParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
xmlParserCtxtPtr ctxt;
xmlParserInputPtr inputStream;
xmlParserInputBufferPtr buf;
-
+
if (ioread == NULL) return(NULL);
buf = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx, enc);
- if (buf == NULL) return(NULL);
+ if (buf == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
+ return (NULL);
+ }
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
@@ -10811,7 +12743,7 @@ xmlCreateIOParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
if (user_data != NULL)
ctxt->userData = user_data;
- }
+ }
inputStream = xmlNewIOInputStream(ctxt, buf, enc);
if (inputStream == NULL) {
@@ -10826,7 +12758,7 @@ xmlCreateIOParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
#ifdef LIBXML_VALID_ENABLED
/************************************************************************
* *
- * Front ends when parsing a DTD *
+ * Front ends when parsing a DTD *
* *
************************************************************************/
@@ -10837,7 +12769,7 @@ xmlCreateIOParserCtxt(xmlSAXHandlerPtr sax, void *user_data,
* @enc: the charset encoding if known
*
* Load and parse a DTD
- *
+ *
* Returns the resulting xmlDtdPtr or NULL in case of error.
* @input will be freed by the function in any case.
*/
@@ -10859,10 +12791,13 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
return(NULL);
}
+ /* We are loading a DTD */
+ ctxt->options |= XML_PARSE_DTDLOAD;
+
/*
* Set-up the SAX context
*/
- if (sax != NULL) {
+ if (sax != NULL) {
if (ctxt->sax != NULL)
xmlFree(ctxt->sax);
ctxt->sax = sax;
@@ -10885,7 +12820,11 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
/*
* plug some encoding conversion routines here.
*/
- xmlPushInput(ctxt, pinput);
+ if (xmlPushInput(ctxt, pinput) < 0) {
+ if (sax != NULL) ctxt->sax = NULL;
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
if (enc != XML_CHAR_ENCODING_NONE) {
xmlSwitchEncoding(ctxt, enc);
}
@@ -10902,12 +12841,17 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
*/
ctxt->inSubset = 2;
ctxt->myDoc = xmlNewDoc(BAD_CAST "1.0");
+ if (ctxt->myDoc == NULL) {
+ xmlErrMemory(ctxt, "New Doc failed");
+ return(NULL);
+ }
+ ctxt->myDoc->properties = XML_DOC_INTERNAL;
ctxt->myDoc->extSubset = xmlNewDtd(ctxt->myDoc, BAD_CAST "none",
BAD_CAST "none", BAD_CAST "none");
if ((enc == XML_CHAR_ENCODING_NONE) &&
((ctxt->input->end - ctxt->input->cur) >= 4)) {
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines.
@@ -10946,7 +12890,7 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
}
if (sax != NULL) ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -10957,7 +12901,7 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input,
* @SystemID: a NAME* containing the URL to the DTD
*
* Load and parse an external subset.
- *
+ *
* Returns the resulting xmlDtdPtr or NULL in case of error.
*/
@@ -10977,16 +12921,19 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID,
return(NULL);
}
+ /* We are loading a DTD */
+ ctxt->options |= XML_PARSE_DTDLOAD;
+
/*
* Set-up the SAX context
*/
- if (sax != NULL) {
+ if (sax != NULL) {
if (ctxt->sax != NULL)
xmlFree(ctxt->sax);
ctxt->sax = sax;
ctxt->userData = ctxt;
}
-
+
/*
* Canonicalise the system ID
*/
@@ -11014,7 +12961,13 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID,
/*
* plug some encoding conversion routines here.
*/
- xmlPushInput(ctxt, input);
+ if (xmlPushInput(ctxt, input) < 0) {
+ if (sax != NULL) ctxt->sax = NULL;
+ xmlFreeParserCtxt(ctxt);
+ if (systemIdCanonic != NULL)
+ xmlFree(systemIdCanonic);
+ return(NULL);
+ }
if ((ctxt->input->end - ctxt->input->cur) >= 4) {
enc = xmlDetectCharEncoding(ctxt->input->cur, 4);
xmlSwitchEncoding(ctxt, enc);
@@ -11035,6 +12988,13 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID,
*/
ctxt->inSubset = 2;
ctxt->myDoc = xmlNewDoc(BAD_CAST "1.0");
+ if (ctxt->myDoc == NULL) {
+ xmlErrMemory(ctxt, "New Doc failed");
+ if (sax != NULL) ctxt->sax = NULL;
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
+ ctxt->myDoc->properties = XML_DOC_INTERNAL;
ctxt->myDoc->extSubset = xmlNewDtd(ctxt->myDoc, BAD_CAST "none",
ExternalID, SystemID);
xmlParseExternalSubset(ctxt, ExternalID, SystemID);
@@ -11061,7 +13021,7 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID,
}
if (sax != NULL) ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -11072,7 +13032,7 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID,
* @SystemID: a NAME* containing the URL to the DTD
*
* Load and parse an external subset.
- *
+ *
* Returns the resulting xmlDtdPtr or NULL in case of error.
*/
@@ -11084,7 +13044,7 @@ xmlParseDTD(const xmlChar *ExternalID, const xmlChar *SystemID) {
/************************************************************************
* *
- * Front ends when parsing an Entity *
+ * Front ends when parsing an Entity *
* *
************************************************************************/
@@ -11115,12 +13075,11 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
int ret = 0;
xmlChar start[4];
xmlCharEncoding enc;
- xmlParserInputPtr inputStream;
- char *directory = NULL;
if (ctx == NULL) return(-1);
- if (ctx->depth > 40) {
+ if (((ctx->depth > 40) && ((ctx->options & XML_PARSE_HUGE) == 0)) ||
+ (ctx->depth > 1024)) {
return(XML_ERR_ENTITY_LOOP);
}
@@ -11131,27 +13090,11 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
if (ctx->myDoc == NULL) /* @@ relax but check for dereferences */
return(-1);
- ctxt = xmlNewParserCtxt();
+ ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, ctx);
if (ctxt == NULL) {
return(-1);
}
-
- ctxt->userData = ctxt;
- ctxt->_private = ctx->_private;
-
- inputStream = xmlLoadExternalEntity((char *)URL, (char *)ID, ctxt);
- if (inputStream == NULL) {
- xmlFreeParserCtxt(ctxt);
- return(-1);
- }
-
- inputPush(ctxt, inputStream);
- if ((ctxt->directory == NULL) && (directory == NULL))
- directory = xmlParserGetDirectory((char *)URL);
- if ((ctxt->directory == NULL) && (directory != NULL))
- ctxt->directory = directory;
-
oldsax = ctxt->sax;
ctxt->sax = ctx->sax;
xmlDetectSAX2(ctxt);
@@ -11160,6 +13103,7 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
xmlFreeParserCtxt(ctxt);
return(-1);
}
+ newDoc->properties = XML_DOC_INTERNAL;
if (ctx->myDoc->dict) {
newDoc->dict = ctx->myDoc->dict;
xmlDictReference(newDoc->dict);
@@ -11189,7 +13133,7 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
newDoc->children->doc = ctx->myDoc;
}
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines.
@@ -11211,9 +13155,27 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
*/
if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) && (IS_BLANK_CH(NXT(5)))) {
xmlParseTextDecl(ctxt);
+ /*
+ * An XML-1.0 document can't reference an entity not XML-1.0
+ */
+ if ((xmlStrEqual(ctx->version, BAD_CAST "1.0")) &&
+ (!xmlStrEqual(ctxt->input->version, BAD_CAST "1.0"))) {
+ xmlFatalErrMsg(ctxt, XML_ERR_VERSION_MISMATCH,
+ "Version mismatch between document and entity\n");
+ }
}
/*
+ * If the user provided its own SAX callbacks then reuse the
+ * useData callback field, otherwise the expected setup in a
+ * DOM builder is to have userData == ctxt
+ */
+ if (ctx->userData == ctx)
+ ctxt->userData = ctxt;
+ else
+ ctxt->userData = ctx->userData;
+
+ /*
* Doing validity checking on chunk doesn't make sense
*/
ctxt->instate = XML_PARSER_CONTENT;
@@ -11244,7 +13206,7 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
ctxt->linenumbers = ctx->linenumbers;
xmlParseContent(ctxt);
-
+
ctx->validate = ctxt->validate;
ctx->valid = ctxt->valid;
if ((RAW == '<') && (NXT(1) == '/')) {
@@ -11287,7 +13249,7 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
newDoc->intSubset = NULL;
newDoc->extSubset = NULL;
xmlFreeDoc(newDoc);
-
+
return(ret);
}
@@ -11321,12 +13283,12 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
xmlChar start[4];
xmlCharEncoding enc;
- if (depth > 40) {
+ if (((depth > 40) &&
+ ((oldctxt == NULL) || (oldctxt->options & XML_PARSE_HUGE) == 0)) ||
+ (depth > 1024)) {
return(XML_ERR_ENTITY_LOOP);
}
-
-
if (list != NULL)
*list = NULL;
if ((URL == NULL) && (ID == NULL))
@@ -11335,7 +13297,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
return(XML_ERR_INTERNAL_ERROR);
- ctxt = xmlCreateEntityParserCtxt(URL, ID, NULL);
+ ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, oldctxt);
if (ctxt == NULL) return(XML_WAR_UNDECLARED_ENTITY);
ctxt->userData = ctxt;
if (oldctxt != NULL) {
@@ -11372,6 +13334,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
xmlFreeParserCtxt(ctxt);
return(XML_ERR_INTERNAL_ERROR);
}
+ newDoc->properties = XML_DOC_INTERNAL;
newDoc->intSubset = doc->intSubset;
newDoc->extSubset = doc->extSubset;
newDoc->dict = doc->dict;
@@ -11398,7 +13361,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
ctxt->myDoc = doc;
newRoot->doc = doc;
- /*
+ /*
* Get the 4 first bytes and decode the charset
* if enc != XML_CHAR_ENCODING_NONE
* plug some encoding conversion routines.
@@ -11426,7 +13389,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
ctxt->depth = depth;
xmlParseContent(ctxt);
-
+
if ((RAW == '<') && (NXT(1) == '/')) {
xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
} else if (RAW != 0) {
@@ -11459,11 +13422,34 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
}
ret = XML_ERR_OK;
}
- if (sax != NULL)
+
+ /*
+ * Record in the parent context the number of entities replacement
+ * done when parsing that reference.
+ */
+ if (oldctxt != NULL)
+ oldctxt->nbentities += ctxt->nbentities;
+
+ /*
+ * Also record the size of the entity parsed
+ */
+ if (ctxt->input != NULL && oldctxt != NULL) {
+ oldctxt->sizeentities += ctxt->input->consumed;
+ oldctxt->sizeentities += (ctxt->input->cur - ctxt->input->base);
+ }
+ /*
+ * And record the last error if any
+ */
+ if (ctxt->lastError.code != XML_ERR_OK)
+ xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
+
+ if (sax != NULL)
ctxt->sax = oldsax;
- oldctxt->node_seq.maximum = ctxt->node_seq.maximum;
- oldctxt->node_seq.length = ctxt->node_seq.length;
- oldctxt->node_seq.buffer = ctxt->node_seq.buffer;
+ if (oldctxt != NULL) {
+ oldctxt->node_seq.maximum = ctxt->node_seq.maximum;
+ oldctxt->node_seq.length = ctxt->node_seq.length;
+ oldctxt->node_seq.buffer = ctxt->node_seq.buffer;
+ }
ctxt->node_seq.maximum = 0;
ctxt->node_seq.length = 0;
ctxt->node_seq.buffer = NULL;
@@ -11471,7 +13457,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
newDoc->intSubset = NULL;
newDoc->extSubset = NULL;
xmlFreeDoc(newDoc);
-
+
return(ret);
}
@@ -11548,9 +13534,9 @@ xmlParseBalancedChunkMemory(xmlDocPtr doc, xmlSAXHandlerPtr sax,
*
* Returns XML_ERR_OK if the chunk is well balanced, and the parser
* error code otherwise
- *
+ *
* In case recover is set to 1, the nodelist will not be empty even if
- * the parsed chunk is not well balanced.
+ * the parsed chunk is not well balanced.
*/
static xmlParserErrors
xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
@@ -11563,8 +13549,12 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
xmlNodePtr last = NULL;
int size;
xmlParserErrors ret = XML_ERR_OK;
+#ifdef SAX2
+ int i;
+#endif
- if (oldctxt->depth > 40) {
+ if (((oldctxt->depth > 40) && ((oldctxt->options & XML_PARSE_HUGE) == 0)) ||
+ (oldctxt->depth > 1024)) {
return(XML_ERR_ENTITY_LOOP);
}
@@ -11588,12 +13578,19 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5);
ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
+#ifdef SAX2
+ /* propagate namespaces down the entity */
+ for (i = 0;i < oldctxt->nsNr;i += 2) {
+ nsPush(ctxt, oldctxt->nsTab[i], oldctxt->nsTab[i+1]);
+ }
+#endif
+
oldsax = ctxt->sax;
ctxt->sax = oldctxt->sax;
xmlDetectSAX2(ctxt);
ctxt->replaceEntities = oldctxt->replaceEntities;
ctxt->options = oldctxt->options;
-
+
ctxt->_private = oldctxt->_private;
if (oldctxt->myDoc == NULL) {
newDoc = xmlNewDoc(BAD_CAST "1.0");
@@ -11603,6 +13600,7 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
xmlFreeParserCtxt(ctxt);
return(XML_ERR_INTERNAL_ERROR);
}
+ newDoc->properties = XML_DOC_INTERNAL;
newDoc->dict = ctxt->dict;
xmlDictReference(newDoc->dict);
ctxt->myDoc = newDoc;
@@ -11658,7 +13656,7 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
} else {
ret = XML_ERR_OK;
}
-
+
if ((lst != NULL) && (ret == XML_ERR_OK)) {
xmlNodePtr cur;
@@ -11687,7 +13685,20 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
ctxt->myDoc->children = content;
ctxt->myDoc->last = last;
}
-
+
+ /*
+ * Record in the parent context the number of entities replacement
+ * done when parsing that reference.
+ */
+ if (oldctxt != NULL)
+ oldctxt->nbentities += ctxt->nbentities;
+
+ /*
+ * Also record the last error if any
+ */
+ if (ctxt->lastError.code != XML_ERR_OK)
+ xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
+
ctxt->sax = oldsax;
ctxt->dict = NULL;
ctxt->attsDefault = NULL;
@@ -11696,7 +13707,7 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
if (newDoc != NULL) {
xmlFreeDoc(newDoc);
}
-
+
return(ret);
}
@@ -11770,22 +13781,22 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
if (doc->type == XML_DOCUMENT_NODE)
ctxt = xmlCreateMemoryParserCtxt((char *) data, datalen);
#ifdef LIBXML_HTML_ENABLED
- else if (doc->type == XML_HTML_DOCUMENT_NODE)
+ else if (doc->type == XML_HTML_DOCUMENT_NODE) {
ctxt = htmlCreateMemoryParserCtxt((char *) data, datalen);
+ /*
+ * When parsing in context, it makes no sense to add implied
+ * elements like html/body/etc...
+ */
+ options |= HTML_PARSE_NOIMPLIED;
+ }
#endif
else
return(XML_ERR_INTERNAL_ERROR);
if (ctxt == NULL)
return(XML_ERR_NO_MEMORY);
- fake = xmlNewComment(NULL);
- if (fake == NULL) {
- xmlFreeParserCtxt(ctxt);
- return(XML_ERR_NO_MEMORY);
- }
- xmlAddChild(node, fake);
- /*
+ /*
* Use input doc's dict if present, else assure XML_PARSE_NODICT is set.
* We need a dictionary for xmlDetectSAX2, so if there's no doc dict
* we must wait until the last moment to free the original one.
@@ -11797,9 +13808,33 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
} else
options |= XML_PARSE_NODICT;
- xmlCtxtUseOptions(ctxt, options);
+ if (doc->encoding != NULL) {
+ xmlCharEncodingHandlerPtr hdlr;
+
+ if (ctxt->encoding != NULL)
+ xmlFree((xmlChar *) ctxt->encoding);
+ ctxt->encoding = xmlStrdup((const xmlChar *) doc->encoding);
+
+ hdlr = xmlFindCharEncodingHandler((const char *) doc->encoding);
+ if (hdlr != NULL) {
+ xmlSwitchToEncoding(ctxt, hdlr);
+ } else {
+ return(XML_ERR_UNSUPPORTED_ENCODING);
+ }
+ }
+
+ xmlCtxtUseOptionsInternal(ctxt, options, NULL);
xmlDetectSAX2(ctxt);
ctxt->myDoc = doc;
+ /* parsing in context, i.e. as within existing content */
+ ctxt->instate = XML_PARSER_CONTENT;
+
+ fake = xmlNewComment(NULL);
+ if (fake == NULL) {
+ xmlFreeParserCtxt(ctxt);
+ return(XML_ERR_NO_MEMORY);
+ }
+ xmlAddChild(node, fake);
if (node->type == XML_ELEMENT_NODE) {
nodePush(ctxt, node);
@@ -11828,8 +13863,7 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
}
cur = cur->parent;
}
- ctxt->instate = XML_PARSER_CONTENT;
- }
+ }
if ((ctxt->validate) || (ctxt->replaceEntities != 0)) {
/*
@@ -11864,12 +13898,12 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
} else {
ret = XML_ERR_OK;
}
-
+
/*
* Return the newly created nodeset after unlinking it from
* the pseudo sibling.
*/
-
+
cur = fake->next;
fake->next = NULL;
node->last = fake;
@@ -11897,7 +13931,7 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
if (doc->dict != NULL)
ctxt->dict = NULL;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
#else /* !SAX2 */
return(XML_ERR_INTERNAL_ERROR);
@@ -11925,13 +13959,14 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
*
* Returns 0 if the chunk is well balanced, -1 in case of args problem and
* the parser error code otherwise
- *
+ *
* In case recover is set to 1, the nodelist will not be empty even if
- * the parsed chunk is not well balanced.
+ * the parsed chunk is not well balanced, assuming the parsing succeeded to
+ * some extent.
*/
int
xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
- void *user_data, int depth, const xmlChar *string, xmlNodePtr *lst,
+ void *user_data, int depth, const xmlChar *string, xmlNodePtr *lst,
int recover) {
xmlParserCtxtPtr ctxt;
xmlDocPtr newDoc;
@@ -11966,6 +14001,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
xmlFreeParserCtxt(ctxt);
return(-1);
}
+ newDoc->properties = XML_DOC_INTERNAL;
if ((doc != NULL) && (doc->dict != NULL)) {
xmlDictFree(ctxt->dict);
ctxt->dict = doc->dict;
@@ -11975,7 +14011,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
ctxt->dictNames = 1;
} else {
- xmlCtxtUseOptions(ctxt, XML_PARSE_NODICT);
+ xmlCtxtUseOptionsInternal(ctxt, XML_PARSE_NODICT, NULL);
}
if (doc != NULL) {
newDoc->intSubset = doc->intSubset;
@@ -12038,7 +14074,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
} else {
ret = 0;
}
-
+
if ((lst != NULL) && ((ret == 0) || (recover == 1))) {
xmlNodePtr cur;
@@ -12055,15 +14091,15 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
}
newDoc->children->children = NULL;
}
-
- if (sax != NULL)
+
+ if (sax != NULL)
ctxt->sax = oldsax;
xmlFreeParserCtxt(ctxt);
newDoc->intSubset = NULL;
newDoc->extSubset = NULL;
newDoc->oldNs = NULL;
xmlFreeDoc(newDoc);
-
+
return(ret);
}
@@ -12111,7 +14147,7 @@ xmlSAXParseEntity(xmlSAXHandlerPtr sax, const char *filename) {
if (sax != NULL)
ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -12135,10 +14171,11 @@ xmlParseEntity(const char *filename) {
#endif /* LIBXML_SAX1_ENABLED */
/**
- * xmlCreateEntityParserCtxt:
+ * xmlCreateEntityParserCtxtInternal:
* @URL: the entity URL
* @ID: the entity PUBLIC ID
* @base: a possible base for the target URI
+ * @pctx: parser context used to set options on new context
*
* Create a parser context for an external entity
* Automatic support for ZLIB/Compress compressed document is provided
@@ -12146,19 +14183,24 @@ xmlParseEntity(const char *filename) {
*
* Returns the new parser context or NULL
*/
-xmlParserCtxtPtr
-xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
- const xmlChar *base) {
+static xmlParserCtxtPtr
+xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
+ const xmlChar *base, xmlParserCtxtPtr pctx) {
xmlParserCtxtPtr ctxt;
xmlParserInputPtr inputStream;
char *directory = NULL;
xmlChar *uri;
-
+
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
return(NULL);
}
+ if (pctx != NULL) {
+ ctxt->options = pctx->options;
+ ctxt->_private = pctx->_private;
+ }
+
uri = xmlBuildURI(URL, base);
if (uri == NULL) {
@@ -12193,9 +14235,28 @@ xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
return(ctxt);
}
+/**
+ * xmlCreateEntityParserCtxt:
+ * @URL: the entity URL
+ * @ID: the entity PUBLIC ID
+ * @base: a possible base for the target URI
+ *
+ * Create a parser context for an external entity
+ * Automatic support for ZLIB/Compress compressed document is provided
+ * by default if found at compile-time.
+ *
+ * Returns the new parser context or NULL
+ */
+xmlParserCtxtPtr
+xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
+ const xmlChar *base) {
+ return xmlCreateEntityParserCtxtInternal(URL, ID, base, NULL);
+
+}
+
/************************************************************************
* *
- * Front ends when parsing from a file *
+ * Front ends when parsing from a file *
* *
************************************************************************/
@@ -12204,7 +14265,7 @@ xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
* @filename: the filename or URL
* @options: a combination of xmlParserOption
*
- * Create a parser context for a file or URL content.
+ * Create a parser context for a file or URL content.
* Automatic support for ZLIB/Compress compressed document is provided
* by default if found at compile-time and for file accesses
*
@@ -12224,9 +14285,9 @@ xmlCreateURLParserCtxt(const char *filename, int options)
}
if (options)
- xmlCtxtUseOptions(ctxt, options);
+ xmlCtxtUseOptionsInternal(ctxt, options, NULL);
ctxt->linenumbers = 1;
-
+
inputStream = xmlLoadExternalEntity(filename, NULL, ctxt);
if (inputStream == NULL) {
xmlFreeParserCtxt(ctxt);
@@ -12246,7 +14307,7 @@ xmlCreateURLParserCtxt(const char *filename, int options)
* xmlCreateFileParserCtxt:
* @filename: the filename
*
- * Create a parser context for a file content.
+ * Create a parser context for a file content.
* Automatic support for ZLIB/Compress compressed document is provided
* by default if found at compile-time.
*
@@ -12283,7 +14344,6 @@ xmlSAXParseFileWithData(xmlSAXHandlerPtr sax, const char *filename,
int recovery, void *data) {
xmlDocPtr ret;
xmlParserCtxtPtr ctxt;
- char *directory = NULL;
xmlInitParser();
@@ -12301,10 +14361,8 @@ xmlSAXParseFileWithData(xmlSAXHandlerPtr sax, const char *filename,
ctxt->_private = data;
}
- if ((ctxt->directory == NULL) && (directory == NULL))
- directory = xmlParserGetDirectory(filename);
- if ((ctxt->directory == NULL) && (directory != NULL))
- ctxt->directory = (char *) xmlStrdup((xmlChar *) directory);
+ if (ctxt->directory == NULL)
+ ctxt->directory = xmlParserGetDirectory(filename);
ctxt->recovery = recovery;
@@ -12327,7 +14385,7 @@ xmlSAXParseFileWithData(xmlSAXHandlerPtr sax, const char *filename,
if (sax != NULL)
ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -12357,13 +14415,14 @@ xmlSAXParseFile(xmlSAXHandlerPtr sax, const char *filename,
* @cur: a pointer to an array of xmlChar
*
* parse an XML in-memory document and build a tree.
- * In the case the document is not Well Formed, a tree is built anyway
- *
- * Returns the resulting document tree
+ * In the case the document is not Well Formed, a attempt to build a
+ * tree is tried anyway
+ *
+ * Returns the resulting document tree or NULL in case of failure
*/
xmlDocPtr
-xmlRecoverDoc(xmlChar *cur) {
+xmlRecoverDoc(const xmlChar *cur) {
return(xmlSAXParseDoc(NULL, cur, 1));
}
@@ -12389,9 +14448,10 @@ xmlParseFile(const char *filename) {
*
* parse an XML file and build a tree. Automatic support for ZLIB/Compress
* compressed document is provided by default if found at compile-time.
- * In the case the document is not Well Formed, a tree is built anyway
+ * In the case the document is not Well Formed, it attempts to build
+ * a tree anyway
*
- * Returns the resulting document tree
+ * Returns the resulting document tree or NULL in case of failure
*/
xmlDocPtr
@@ -12425,7 +14485,7 @@ xmlSetupParserForBuffer(xmlParserCtxtPtr ctxt, const xmlChar* buffer,
xmlClearParserCtxt(ctxt);
return;
}
-
+
xmlClearParserCtxt(ctxt);
if (filename != NULL)
input->filename = (char *) xmlCanonicPath((const xmlChar *)filename);
@@ -12443,7 +14503,7 @@ xmlSetupParserForBuffer(xmlParserCtxtPtr ctxt, const xmlChar* buffer,
*
* parse an XML file and call the given SAX handler routines.
* Automatic support for ZLIB/Compress compressed document is provided
- *
+ *
* Returns 0 in case of success or a error number otherwise
*/
int
@@ -12451,21 +14511,19 @@ xmlSAXUserParseFile(xmlSAXHandlerPtr sax, void *user_data,
const char *filename) {
int ret = 0;
xmlParserCtxtPtr ctxt;
-
+
ctxt = xmlCreateFileParserCtxt(filename);
if (ctxt == NULL) return -1;
-#ifdef LIBXML_SAX1_ENABLED
if (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler)
-#endif /* LIBXML_SAX1_ENABLED */
xmlFree(ctxt->sax);
ctxt->sax = sax;
xmlDetectSAX2(ctxt);
if (user_data != NULL)
ctxt->userData = user_data;
-
+
xmlParseDocument(ctxt);
-
+
if (ctxt->wellFormed)
ret = 0;
else {
@@ -12481,14 +14539,14 @@ xmlSAXUserParseFile(xmlSAXHandlerPtr sax, void *user_data,
ctxt->myDoc = NULL;
}
xmlFreeParserCtxt(ctxt);
-
+
return ret;
}
#endif /* LIBXML_SAX1_ENABLED */
/************************************************************************
* *
- * Front ends when parsing from memory *
+ * Front ends when parsing from memory *
* *
************************************************************************/
@@ -12532,9 +14590,7 @@ xmlCreateMemoryParserCtxt(const char *buffer, int size) {
input->filename = NULL;
input->buf = buf;
- input->base = input->buf->buffer->content;
- input->cur = input->buf->buffer->content;
- input->end = &input->buf->buffer->content[input->buf->buffer->use];
+ xmlBufResetInput(input->buf->buffer, input);
inputPush(ctxt, input);
return(ctxt);
@@ -12566,6 +14622,8 @@ xmlSAXParseMemoryWithData(xmlSAXHandlerPtr sax, const char *buffer,
xmlDocPtr ret;
xmlParserCtxtPtr ctxt;
+ xmlInitParser();
+
ctxt = xmlCreateMemoryParserCtxt(buffer, size);
if (ctxt == NULL) return(NULL);
if (sax != NULL) {
@@ -12588,10 +14646,10 @@ xmlSAXParseMemoryWithData(xmlSAXHandlerPtr sax, const char *buffer,
xmlFreeDoc(ctxt->myDoc);
ctxt->myDoc = NULL;
}
- if (sax != NULL)
+ if (sax != NULL)
ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -12606,7 +14664,7 @@ xmlSAXParseMemoryWithData(xmlSAXHandlerPtr sax, const char *buffer,
* parse an XML in-memory block and use the given SAX function block
* to handle the parsing callback. If sax is NULL, fallback to the default
* DOM tree building routines.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -12621,7 +14679,7 @@ xmlSAXParseMemory(xmlSAXHandlerPtr sax, const char *buffer,
* @size: the size of the array
*
* parse an XML in-memory block and build a tree.
- *
+ *
* Returns the resulting document tree
*/
@@ -12635,9 +14693,10 @@ xmlDocPtr xmlParseMemory(const char *buffer, int size) {
* @size: the size of the array
*
* parse an XML in-memory block and build a tree.
- * In the case the document is not Well Formed, a tree is built anyway
- *
- * Returns the resulting document tree
+ * In the case the document is not Well Formed, an attempt to
+ * build a tree is tried anyway
+ *
+ * Returns the resulting document tree or NULL in case of error
*/
xmlDocPtr xmlRecoverMemory(const char *buffer, int size) {
@@ -12653,26 +14712,28 @@ xmlDocPtr xmlRecoverMemory(const char *buffer, int size) {
*
* A better SAX parsing routine.
* parse an XML in-memory buffer and call the given SAX handler routines.
- *
+ *
* Returns 0 in case of success or a error number otherwise
*/
int xmlSAXUserParseMemory(xmlSAXHandlerPtr sax, void *user_data,
const char *buffer, int size) {
int ret = 0;
xmlParserCtxtPtr ctxt;
- xmlSAXHandlerPtr oldsax = NULL;
-
- if (sax == NULL) return -1;
+
+ xmlInitParser();
+
ctxt = xmlCreateMemoryParserCtxt(buffer, size);
if (ctxt == NULL) return -1;
- oldsax = ctxt->sax;
+ if (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler)
+ xmlFree(ctxt->sax);
ctxt->sax = sax;
xmlDetectSAX2(ctxt);
+
if (user_data != NULL)
ctxt->userData = user_data;
-
+
xmlParseDocument(ctxt);
-
+
if (ctxt->wellFormed)
ret = 0;
else {
@@ -12681,13 +14742,14 @@ int xmlSAXUserParseMemory(xmlSAXHandlerPtr sax, void *user_data,
else
ret = -1;
}
- ctxt->sax = oldsax;
+ if (sax != NULL)
+ ctxt->sax = NULL;
if (ctxt->myDoc != NULL) {
xmlFreeDoc(ctxt->myDoc);
ctxt->myDoc = NULL;
}
xmlFreeParserCtxt(ctxt);
-
+
return ret;
}
#endif /* LIBXML_SAX1_ENABLED */
@@ -12721,7 +14783,7 @@ xmlCreateDocParserCtxt(const xmlChar *cur) {
* parse an XML in-memory document and build a tree.
* It use the given SAX function block to handle the parsing callback.
* If sax is NULL, fallback to the default DOM tree building routines.
- *
+ *
* Returns the resulting document tree
*/
@@ -12736,7 +14798,7 @@ xmlSAXParseDoc(xmlSAXHandlerPtr sax, const xmlChar *cur, int recovery) {
ctxt = xmlCreateDocParserCtxt(cur);
if (ctxt == NULL) return(NULL);
- if (sax != NULL) {
+ if (sax != NULL) {
oldsax = ctxt->sax;
ctxt->sax = sax;
ctxt->userData = NULL;
@@ -12753,7 +14815,7 @@ xmlSAXParseDoc(xmlSAXHandlerPtr sax, const xmlChar *cur, int recovery) {
if (sax != NULL)
ctxt->sax = oldsax;
xmlFreeParserCtxt(ctxt);
-
+
return(ret);
}
@@ -12762,7 +14824,7 @@ xmlSAXParseDoc(xmlSAXHandlerPtr sax, const xmlChar *cur, int recovery) {
* @cur: a pointer to an array of xmlChar
*
* parse an XML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
@@ -12775,8 +14837,8 @@ xmlParseDoc(const xmlChar *cur) {
#ifdef LIBXML_LEGACY_ENABLED
/************************************************************************
* *
- * Specific function to keep track of entities references *
- * and used by the XSLT debugger *
+ * Specific function to keep track of entities references *
+ * and used by the XSLT debugger *
* *
************************************************************************/
@@ -12786,7 +14848,7 @@ static xmlEntityReferenceFunc xmlEntityRefFunc = NULL;
* xmlAddEntityReference:
* @ent : A valid entity
* @firstNode : A valid first node for children of entity
- * @lastNode : A valid last node of children entity
+ * @lastNode : A valid last node of children entity
*
* Notify of a reference to an entity of type XML_EXTERNAL_GENERAL_PARSED_ENTITY
*/
@@ -12815,7 +14877,7 @@ xmlSetEntityReferenceFunc(xmlEntityReferenceFunc func)
/************************************************************************
* *
- * Miscellaneous *
+ * Miscellaneous *
* *
************************************************************************/
@@ -12839,37 +14901,57 @@ xmlInitParser(void) {
if (xmlParserInitialized != 0)
return;
- if ((xmlGenericError == xmlGenericErrorDefaultFunc) ||
- (xmlGenericError == NULL))
- initGenericErrorDefaultFunc(NULL);
- xmlInitGlobals();
- xmlInitThreads();
- xmlInitMemory();
- xmlInitCharEncodingHandlers();
- xmlDefaultSAXHandlerInit();
- xmlRegisterDefaultInputCallbacks();
+#ifdef LIBXML_THREAD_ENABLED
+ __xmlGlobalInitMutexLock();
+ if (xmlParserInitialized == 0) {
+#endif
+ xmlInitThreads();
+ xmlInitGlobals();
+ if ((xmlGenericError == xmlGenericErrorDefaultFunc) ||
+ (xmlGenericError == NULL))
+ initGenericErrorDefaultFunc(NULL);
+ xmlInitMemory();
+ xmlInitializeDict();
+ xmlInitCharEncodingHandlers();
+ xmlDefaultSAXHandlerInit();
+ xmlRegisterDefaultInputCallbacks();
#ifdef LIBXML_OUTPUT_ENABLED
- xmlRegisterDefaultOutputCallbacks();
+ xmlRegisterDefaultOutputCallbacks();
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_HTML_ENABLED
- htmlInitAutoClose();
- htmlDefaultSAXHandlerInit();
+ htmlInitAutoClose();
+ htmlDefaultSAXHandlerInit();
#endif
#ifdef LIBXML_XPATH_ENABLED
- xmlXPathInit();
+ xmlXPathInit();
+#endif
+ xmlParserInitialized = 1;
+#ifdef LIBXML_THREAD_ENABLED
+ }
+ __xmlGlobalInitMutexUnlock();
#endif
- xmlParserInitialized = 1;
}
/**
* xmlCleanupParser:
*
- * Cleanup function for the XML library. It tries to reclaim all
- * parsing related global memory allocated for the library processing.
- * It doesn't deallocate any document related memory. Calling this
- * function should not prevent reusing the library but one should
- * call xmlCleanupParser() only when the process has
- * finished using the library or XML document built with it.
+ * This function name is somewhat misleading. It does not clean up
+ * parser state, it cleans up memory allocated by the library itself.
+ * It is a cleanup function for the XML library. It tries to reclaim all
+ * related global memory allocated for the library processing.
+ * It doesn't deallocate any document related memory. One should
+ * call xmlCleanupParser() only when the process has finished using
+ * the library and all XML/HTML documents built with it.
+ * See also xmlInitParser() which has the opposite function of preparing
+ * the library for operations.
+ *
+ * WARNING: if your application is multithreaded or has plugin support
+ * calling this may crash the application if another thread or
+ * a plugin is still using libxml2. It's sometimes very hard to
+ * guess if libxml2 is in use in the application, some libraries
+ * or plugins may use it without notice. In case of doubt abstain
+ * from calling this function or do it just before calling exit()
+ * to avoid leak reports from valgrind !
*/
void
@@ -12890,8 +14972,8 @@ xmlCleanupParser(void) {
xmlSchemaCleanupTypes();
xmlRelaxNGCleanupTypes();
#endif
- xmlCleanupGlobals();
xmlResetLastError();
+ xmlCleanupGlobals();
xmlCleanupThreads(); /* must be last if called not from the main thread */
xmlCleanupMemory();
xmlParserInitialized = 0;
@@ -12911,7 +14993,7 @@ xmlCleanupParser(void) {
* current scope
*/
#define DICT_FREE(str) \
- if ((str) && ((!dict) || \
+ if ((str) && ((!dict) || \
(xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
xmlFree((char *)(str));
@@ -12926,7 +15008,7 @@ xmlCtxtReset(xmlParserCtxtPtr ctxt)
{
xmlParserInputPtr input;
xmlDictPtr dict;
-
+
if (ctxt == NULL)
return;
@@ -12939,8 +15021,12 @@ xmlCtxtReset(xmlParserCtxtPtr ctxt)
ctxt->input = NULL;
ctxt->spaceNr = 0;
- ctxt->spaceTab[0] = -1;
- ctxt->space = &ctxt->spaceTab[0];
+ if (ctxt->spaceTab != NULL) {
+ ctxt->spaceTab[0] = -1;
+ ctxt->space = &ctxt->spaceTab[0];
+ } else {
+ ctxt->space = NULL;
+ }
ctxt->nodeNr = 0;
@@ -12988,6 +15074,9 @@ xmlCtxtReset(xmlParserCtxtPtr ctxt)
ctxt->depth = 0;
ctxt->charset = XML_CHAR_ENCODING_UTF8;
ctxt->catalogs = NULL;
+ ctxt->nbentities = 0;
+ ctxt->sizeentities = 0;
+ ctxt->sizeentcopy = 0;
xmlInitNodeInfoSeq(&ctxt->node_seq);
if (ctxt->attsDefault != NULL) {
@@ -13072,25 +15161,18 @@ xmlCtxtResetPush(xmlParserCtxtPtr ctxt, const char *chunk,
inputStream->filename = (char *)
xmlCanonicPath((const xmlChar *) filename);
inputStream->buf = buf;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end =
- &inputStream->buf->buffer->content[inputStream->buf->buffer->use];
+ xmlBufResetInput(buf->buffer, inputStream);
inputPush(ctxt, inputStream);
if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
(ctxt->input->buf != NULL)) {
- int base = ctxt->input->base - ctxt->input->buf->buffer->content;
- int cur = ctxt->input->cur - ctxt->input->base;
+ size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer, ctxt->input);
+ size_t cur = ctxt->input->cur - ctxt->input->base;
xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
- ctxt->input->base = ctxt->input->buf->buffer->content + base;
- ctxt->input->cur = ctxt->input->base + cur;
- ctxt->input->end =
- &ctxt->input->buf->buffer->content[ctxt->input->buf->buffer->
- use];
+ xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur);
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext, "PP: pushed %d\n", size);
#endif
@@ -13099,6 +15181,10 @@ xmlCtxtResetPush(xmlParserCtxtPtr ctxt, const char *chunk,
if (encoding != NULL) {
xmlCharEncodingHandlerPtr hdlr;
+ if (ctxt->encoding != NULL)
+ xmlFree((xmlChar *) ctxt->encoding);
+ ctxt->encoding = xmlStrdup((const xmlChar *) encoding);
+
hdlr = xmlFindCharEncodingHandler(encoding);
if (hdlr != NULL) {
xmlSwitchToEncoding(ctxt, hdlr);
@@ -13113,50 +15199,63 @@ xmlCtxtResetPush(xmlParserCtxtPtr ctxt, const char *chunk,
return(0);
}
+
/**
- * xmlCtxtUseOptions:
+ * xmlCtxtUseOptionsInternal:
* @ctxt: an XML parser context
* @options: a combination of xmlParserOption
+ * @encoding: the user provided encoding to use
*
* Applies the options to the parser context
*
* Returns 0 in case of success, the set of unknown or unimplemented options
* in case of error.
*/
-int
-xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
+static int
+xmlCtxtUseOptionsInternal(xmlParserCtxtPtr ctxt, int options, const char *encoding)
{
if (ctxt == NULL)
return(-1);
+ if (encoding != NULL) {
+ if (ctxt->encoding != NULL)
+ xmlFree((xmlChar *) ctxt->encoding);
+ ctxt->encoding = xmlStrdup((const xmlChar *) encoding);
+ }
if (options & XML_PARSE_RECOVER) {
ctxt->recovery = 1;
options -= XML_PARSE_RECOVER;
+ ctxt->options |= XML_PARSE_RECOVER;
} else
ctxt->recovery = 0;
if (options & XML_PARSE_DTDLOAD) {
ctxt->loadsubset = XML_DETECT_IDS;
options -= XML_PARSE_DTDLOAD;
+ ctxt->options |= XML_PARSE_DTDLOAD;
} else
ctxt->loadsubset = 0;
if (options & XML_PARSE_DTDATTR) {
ctxt->loadsubset |= XML_COMPLETE_ATTRS;
options -= XML_PARSE_DTDATTR;
+ ctxt->options |= XML_PARSE_DTDATTR;
}
if (options & XML_PARSE_NOENT) {
ctxt->replaceEntities = 1;
/* ctxt->loadsubset |= XML_DETECT_IDS; */
options -= XML_PARSE_NOENT;
+ ctxt->options |= XML_PARSE_NOENT;
} else
ctxt->replaceEntities = 0;
if (options & XML_PARSE_PEDANTIC) {
ctxt->pedantic = 1;
options -= XML_PARSE_PEDANTIC;
+ ctxt->options |= XML_PARSE_PEDANTIC;
} else
ctxt->pedantic = 0;
if (options & XML_PARSE_NOBLANKS) {
ctxt->keepBlanks = 0;
ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
options -= XML_PARSE_NOBLANKS;
+ ctxt->options |= XML_PARSE_NOBLANKS;
} else
ctxt->keepBlanks = 1;
if (options & XML_PARSE_DTDVALID) {
@@ -13166,6 +15265,7 @@ xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
if (options & XML_PARSE_NOERROR)
ctxt->vctxt.error = NULL;
options -= XML_PARSE_DTDVALID;
+ ctxt->options |= XML_PARSE_DTDVALID;
} else
ctxt->validate = 0;
if (options & XML_PARSE_NOWARNING) {
@@ -13185,17 +15285,20 @@ xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
ctxt->sax->endElementNs = NULL;
ctxt->sax->initialized = 1;
options -= XML_PARSE_SAX1;
+ ctxt->options |= XML_PARSE_SAX1;
}
#endif /* LIBXML_SAX1_ENABLED */
if (options & XML_PARSE_NODICT) {
ctxt->dictNames = 0;
options -= XML_PARSE_NODICT;
+ ctxt->options |= XML_PARSE_NODICT;
} else {
ctxt->dictNames = 1;
}
if (options & XML_PARSE_NOCDATA) {
ctxt->sax->cdataBlock = NULL;
options -= XML_PARSE_NOCDATA;
+ ctxt->options |= XML_PARSE_NOCDATA;
}
if (options & XML_PARSE_NSCLEAN) {
ctxt->options |= XML_PARSE_NSCLEAN;
@@ -13209,11 +15312,53 @@ xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
ctxt->options |= XML_PARSE_COMPACT;
options -= XML_PARSE_COMPACT;
}
+ if (options & XML_PARSE_OLD10) {
+ ctxt->options |= XML_PARSE_OLD10;
+ options -= XML_PARSE_OLD10;
+ }
+ if (options & XML_PARSE_NOBASEFIX) {
+ ctxt->options |= XML_PARSE_NOBASEFIX;
+ options -= XML_PARSE_NOBASEFIX;
+ }
+ if (options & XML_PARSE_HUGE) {
+ ctxt->options |= XML_PARSE_HUGE;
+ options -= XML_PARSE_HUGE;
+ if (ctxt->dict != NULL)
+ xmlDictSetLimit(ctxt->dict, 0);
+ }
+ if (options & XML_PARSE_OLDSAX) {
+ ctxt->options |= XML_PARSE_OLDSAX;
+ options -= XML_PARSE_OLDSAX;
+ }
+ if (options & XML_PARSE_IGNORE_ENC) {
+ ctxt->options |= XML_PARSE_IGNORE_ENC;
+ options -= XML_PARSE_IGNORE_ENC;
+ }
+ if (options & XML_PARSE_BIG_LINES) {
+ ctxt->options |= XML_PARSE_BIG_LINES;
+ options -= XML_PARSE_BIG_LINES;
+ }
ctxt->linenumbers = 1;
return (options);
}
/**
+ * xmlCtxtUseOptions:
+ * @ctxt: an XML parser context
+ * @options: a combination of xmlParserOption
+ *
+ * Applies the options to the parser context
+ *
+ * Returns 0 in case of success, the set of unknown or unimplemented options
+ * in case of error.
+ */
+int
+xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
+{
+ return(xmlCtxtUseOptionsInternal(ctxt, options, NULL));
+}
+
+/**
* xmlDoRead:
* @ctxt: an XML parser context
* @URL: the base URL to use for the document
@@ -13222,7 +15367,7 @@ xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
* @reuse: keep the context for reuse
*
* Common front-end for the xmlRead functions
- *
+ *
* Returns the resulting document tree or NULL
*/
static xmlDocPtr
@@ -13230,8 +15375,8 @@ xmlDoRead(xmlParserCtxtPtr ctxt, const char *URL, const char *encoding,
int options, int reuse)
{
xmlDocPtr ret;
-
- xmlCtxtUseOptions(ctxt, options);
+
+ xmlCtxtUseOptionsInternal(ctxt, options, encoding);
if (encoding != NULL) {
xmlCharEncodingHandlerPtr hdlr;
@@ -13267,7 +15412,7 @@ xmlDoRead(xmlParserCtxtPtr ctxt, const char *URL, const char *encoding,
* @options: a combination of xmlParserOption
*
* parse an XML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13277,6 +15422,7 @@ xmlReadDoc(const xmlChar * cur, const char *URL, const char *encoding, int optio
if (cur == NULL)
return (NULL);
+ xmlInitParser();
ctxt = xmlCreateDocParserCtxt(cur);
if (ctxt == NULL)
@@ -13291,7 +15437,7 @@ xmlReadDoc(const xmlChar * cur, const char *URL, const char *encoding, int optio
* @options: a combination of xmlParserOption
*
* parse an XML file from the filesystem or the network.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13299,6 +15445,7 @@ xmlReadFile(const char *filename, const char *encoding, int options)
{
xmlParserCtxtPtr ctxt;
+ xmlInitParser();
ctxt = xmlCreateURLParserCtxt(filename, options);
if (ctxt == NULL)
return (NULL);
@@ -13314,7 +15461,7 @@ xmlReadFile(const char *filename, const char *encoding, int options)
* @options: a combination of xmlParserOption
*
* parse an XML in-memory document and build a tree.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13322,6 +15469,7 @@ xmlReadMemory(const char *buffer, int size, const char *URL, const char *encodin
{
xmlParserCtxtPtr ctxt;
+ xmlInitParser();
ctxt = xmlCreateMemoryParserCtxt(buffer, size);
if (ctxt == NULL)
return (NULL);
@@ -13338,7 +15486,7 @@ xmlReadMemory(const char *buffer, int size, const char *URL, const char *encodin
* parse an XML from a file descriptor and build a tree.
* NOTE that the file descriptor will not be closed when the
* reader is closed or reset.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13350,6 +15498,7 @@ xmlReadFd(int fd, const char *URL, const char *encoding, int options)
if (fd < 0)
return (NULL);
+ xmlInitParser();
input = xmlParserInputBufferCreateFd(fd, XML_CHAR_ENCODING_NONE);
if (input == NULL)
@@ -13380,7 +15529,7 @@ xmlReadFd(int fd, const char *URL, const char *encoding, int options)
* @options: a combination of xmlParserOption
*
* parse an XML document from I/O functions and source and build a tree.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13393,11 +15542,15 @@ xmlReadIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose,
if (ioread == NULL)
return (NULL);
+ xmlInitParser();
input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
XML_CHAR_ENCODING_NONE);
- if (input == NULL)
+ if (input == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
return (NULL);
+ }
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
xmlFreeParserInputBuffer(input);
@@ -13423,7 +15576,7 @@ xmlReadIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose,
*
* parse an XML in-memory document and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13436,6 +15589,7 @@ xmlCtxtReadDoc(xmlParserCtxtPtr ctxt, const xmlChar * cur,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
xmlCtxtReset(ctxt);
@@ -13456,7 +15610,7 @@ xmlCtxtReadDoc(xmlParserCtxtPtr ctxt, const xmlChar * cur,
*
* parse an XML file from the filesystem or the network.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13469,6 +15623,7 @@ xmlCtxtReadFile(xmlParserCtxtPtr ctxt, const char *filename,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
xmlCtxtReset(ctxt);
@@ -13491,7 +15646,7 @@ xmlCtxtReadFile(xmlParserCtxtPtr ctxt, const char *filename,
*
* parse an XML in-memory document and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13505,6 +15660,7 @@ xmlCtxtReadMemory(xmlParserCtxtPtr ctxt, const char *buffer, int size,
return (NULL);
if (buffer == NULL)
return (NULL);
+ xmlInitParser();
xmlCtxtReset(ctxt);
@@ -13535,7 +15691,7 @@ xmlCtxtReadMemory(xmlParserCtxtPtr ctxt, const char *buffer, int size,
* This reuses the existing @ctxt parser context
* NOTE that the file descriptor will not be closed when the
* reader is closed or reset.
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13549,6 +15705,7 @@ xmlCtxtReadFd(xmlParserCtxtPtr ctxt, int fd,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
xmlCtxtReset(ctxt);
@@ -13578,7 +15735,7 @@ xmlCtxtReadFd(xmlParserCtxtPtr ctxt, int fd,
*
* parse an XML document from I/O functions and source and build a tree.
* This reuses the existing @ctxt parser context
- *
+ *
* Returns the resulting document tree
*/
xmlDocPtr
@@ -13594,13 +15751,17 @@ xmlCtxtReadIO(xmlParserCtxtPtr ctxt, xmlInputReadCallback ioread,
return (NULL);
if (ctxt == NULL)
return (NULL);
+ xmlInitParser();
xmlCtxtReset(ctxt);
input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
XML_CHAR_ENCODING_NONE);
- if (input == NULL)
+ if (input == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
return (NULL);
+ }
stream = xmlNewIOInputStream(ctxt, input, XML_CHAR_ENCODING_NONE);
if (stream == NULL) {
xmlFreeParserInputBuffer(input);
diff --git a/gettext-tools/gnulib-lib/libxml/parser.in.h b/gettext-tools/gnulib-lib/libxml/parser.in.h
index 31528c4..ab5e6d2 100644
--- a/gettext-tools/gnulib-lib/libxml/parser.in.h
+++ b/gettext-tools/gnulib-lib/libxml/parser.in.h
@@ -80,7 +80,7 @@ struct _xmlParserInput {
* xmlParserNodeInfo:
*
* The parser can be asked to collect Node informations, i.e. at what
- * place in the file they were detected.
+ * place in the file they were detected.
* NOTE: This is off by default and not very well tested.
*/
typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
@@ -125,9 +125,9 @@ typedef enum {
XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */
XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */
XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */
- XML_PARSER_EPILOG, /* the Misc* after the last end tag */
+ XML_PARSER_EPILOG, /* the Misc* after the last end tag */
XML_PARSER_IGNORE, /* within an IGNORED section */
- XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */
+ XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */
} xmlParserInputState;
/**
@@ -190,7 +190,10 @@ struct _xmlParserCtxt {
const xmlChar *version; /* the XML version string */
const xmlChar *encoding; /* the declared encoding, if any */
int standalone; /* standalone document */
- int html; /* an HTML(1)/Docbook(2) document */
+ int html; /* an HTML(1)/Docbook(2) document
+ * 3 is HTML after <head>
+ * 10 is HTML after <body>
+ */
/* Input stream stack */
xmlParserInputPtr input; /* Current input stream */
@@ -218,7 +221,7 @@ struct _xmlParserCtxt {
xmlValidCtxt vctxt; /* The validity context */
xmlParserInputState instate; /* current type of input */
- int token; /* next char look-ahead */
+ int token; /* next char look-ahead */
char *directory; /* the data directory */
@@ -297,6 +300,17 @@ struct _xmlParserCtxt {
*/
xmlError lastError;
xmlParserMode parseMode; /* the parser mode */
+ unsigned long nbentities; /* number of entities references */
+ unsigned long sizeentities; /* size of parsed entities */
+
+ /* for use by HTML non-recursive parser */
+ xmlParserNodeInfo *nodeInfo; /* Current NodeInfo */
+ int nodeInfoNr; /* Depth of the parsing stack */
+ int nodeInfoMax; /* Max depth of the parsing stack */
+ xmlParserNodeInfo *nodeInfoTab; /* array of nodeInfos */
+
+ int input_id; /* we need to label inputs */
+ unsigned long sizeentcopy; /* volume of entity copy */
};
/**
@@ -387,8 +401,8 @@ typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
/**
* entityDeclSAXFunc:
* @ctx: the user data (XML parser context)
- * @name: the entity name
- * @type: the entity type
+ * @name: the entity name
+ * @type: the entity type
* @publicId: The public ID of the entity
* @systemId: The system ID of the entity
* @content: the entity value (without processing).
@@ -418,8 +432,8 @@ typedef void (*notationDeclSAXFunc)(void *ctx,
* attributeDeclSAXFunc:
* @ctx: the user data (XML parser context)
* @elem: the name of the element
- * @fullname: the attribute name
- * @type: the attribute type
+ * @fullname: the attribute name
+ * @type: the attribute type
* @def: the type of default value
* @defaultValue: the attribute default value
* @tree: the tree of enumerated value set
@@ -436,8 +450,8 @@ typedef void (*attributeDeclSAXFunc)(void *ctx,
/**
* elementDeclSAXFunc:
* @ctx: the user data (XML parser context)
- * @name: the element name
- * @type: the element type
+ * @name: the element name
+ * @type: the element type
* @content: the element value tree
*
* An element definition has been parsed.
@@ -524,7 +538,7 @@ typedef void (*attributeSAXFunc) (void *ctx,
* @ctx: the user data (XML parser context)
* @name: The entity name
*
- * Called when an entity reference is detected.
+ * Called when an entity reference is detected.
*/
typedef void (*referenceSAXFunc) (void *ctx,
const xmlChar *name);
@@ -588,33 +602,33 @@ typedef void (*cdataBlockSAXFunc) (
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format a warning messages, callback.
*/
typedef void (XMLCDECL *warningSAXFunc) (void *ctx,
- const char *msg, ...);
+ const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
* errorSAXFunc:
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format an error messages, callback.
*/
typedef void (XMLCDECL *errorSAXFunc) (void *ctx,
- const char *msg, ...);
+ const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
* fatalErrorSAXFunc:
* @ctx: an XML parser context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Display and format fatal error messages, callback.
* Note: so far fatalError() SAX callbacks are not used, error()
* get all the callbacks for errors.
*/
typedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx,
- const char *msg, ...);
+ const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
* isStandaloneSAXFunc:
* @ctx: the user data (XML parser context)
@@ -684,7 +698,7 @@ typedef void (*startElementNsSAX2Func) (void *ctx,
int nb_attributes,
int nb_defaulted,
const xmlChar **attributes);
-
+
/**
* endElementNsSAX2Func:
* @ctx: the user data (XML parser context)
@@ -779,7 +793,7 @@ struct _xmlSAXHandlerV1 {
* xmlExternalEntityLoader:
* @URL: The System ID of the resource requested
* @ID: The Public ID of the resource requested
- * @context: the XML parser context
+ * @context: the XML parser context
*
* External entity loaders types.
*
@@ -805,18 +819,18 @@ extern "C" {
/*
* Init/Cleanup
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlInitParser (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupParser (void);
/*
* Input functions
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParserInputRead (xmlParserInputPtr in,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParserInputGrow (xmlParserInputPtr in,
int len);
@@ -824,101 +838,101 @@ XMLPUBFUN int XMLCALL
* Basic parsing Interfaces
*/
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlParseDoc (const xmlChar *cur);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlParseFile (const char *filename);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlParseMemory (const char *buffer,
int size);
#endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSubstituteEntitiesDefault(int val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlKeepBlanksDefault (int val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlStopParser (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlPedanticParserDefault(int val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlLineNumbersDefault (int val);
#ifdef LIBXML_SAX1_ENABLED
/*
- * Recovery mode
+ * Recovery mode
*/
-XMLPUBFUN xmlDocPtr XMLCALL
- xmlRecoverDoc (xmlChar *cur);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
+ xmlRecoverDoc (const xmlChar *cur);
+XMLPUBFUN xmlDocPtr XMLCALL
xmlRecoverMemory (const char *buffer,
int size);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlRecoverFile (const char *filename);
#endif /* LIBXML_SAX1_ENABLED */
/*
* Less common routines and SAX interfaces
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseDocument (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSAXUserParseFile (xmlSAXHandlerPtr sax,
void *user_data,
const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSAXUserParseMemory (xmlSAXHandlerPtr sax,
void *user_data,
const char *buffer,
int size);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlSAXParseDoc (xmlSAXHandlerPtr sax,
const xmlChar *cur,
int recovery);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlSAXParseMemory (xmlSAXHandlerPtr sax,
const char *buffer,
- int size,
+ int size,
int recovery);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
const char *buffer,
- int size,
+ int size,
int recovery,
void *data);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlSAXParseFile (xmlSAXHandlerPtr sax,
const char *filename,
int recovery);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlSAXParseFileWithData (xmlSAXHandlerPtr sax,
const char *filename,
int recovery,
void *data);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlSAXParseEntity (xmlSAXHandlerPtr sax,
const char *filename);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlParseEntity (const char *filename);
#endif /* LIBXML_SAX1_ENABLED */
#ifdef LIBXML_VALID_ENABLED
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
xmlSAXParseDTD (xmlSAXHandlerPtr sax,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
xmlParseDTD (const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
xmlIOParseDTD (xmlSAXHandlerPtr sax,
xmlParserInputBufferPtr input,
xmlCharEncoding enc);
#endif /* LIBXML_VALID_ENABLE */
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseBalancedChunkMemory(xmlDocPtr doc,
xmlSAXHandlerPtr sax,
void *user_data,
@@ -933,7 +947,7 @@ XMLPUBFUN xmlParserErrors XMLCALL
int options,
xmlNodePtr *lst);
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
xmlSAXHandlerPtr sax,
void *user_data,
@@ -941,7 +955,7 @@ XMLPUBFUN int XMLCALL
const xmlChar *string,
xmlNodePtr *lst,
int recover);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseExternalEntity (xmlDocPtr doc,
xmlSAXHandlerPtr sax,
void *user_data,
@@ -950,7 +964,7 @@ XMLPUBFUN int XMLCALL
const xmlChar *ID,
xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
const xmlChar *URL,
const xmlChar *ID,
@@ -959,35 +973,35 @@ XMLPUBFUN int XMLCALL
/*
* Parser contexts handling.
*/
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlNewParserCtxt (void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlInitParserCtxt (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlClearParserCtxt (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeParserCtxt (xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt,
const xmlChar* buffer,
const char *filename);
#endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreateDocParserCtxt (const xmlChar *cur);
#ifdef LIBXML_LEGACY_ENABLED
/*
* Reading/setting optional parsing features.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlGetFeaturesList (int *len,
const char **result);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlGetFeature (xmlParserCtxtPtr ctxt,
const char *name,
void *result);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSetFeature (xmlParserCtxtPtr ctxt,
const char *name,
void *value);
@@ -997,13 +1011,13 @@ XMLPUBFUN int XMLCALL
/*
* Interfaces for the Push mode.
*/
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
void *user_data,
const char *chunk,
int size,
const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseChunk (xmlParserCtxtPtr ctxt,
const char *chunk,
int size,
@@ -1014,7 +1028,7 @@ XMLPUBFUN int XMLCALL
* Special I/O mode.
*/
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax,
void *user_data,
xmlInputReadCallback ioread,
@@ -1022,7 +1036,7 @@ XMLPUBFUN xmlParserCtxtPtr XMLCALL
void *ioctx,
xmlCharEncoding enc);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlNewIOInputStream (xmlParserCtxtPtr ctxt,
xmlParserInputBufferPtr input,
xmlCharEncoding enc);
@@ -1033,14 +1047,14 @@ XMLPUBFUN xmlParserInputPtr XMLCALL
XMLPUBFUN const xmlParserNodeInfo* XMLCALL
xmlParserFindNodeInfo (const xmlParserCtxtPtr ctxt,
const xmlNodePtr node);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
-XMLPUBFUN unsigned long XMLCALL
+XMLPUBFUN unsigned long XMLCALL
xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
const xmlNodePtr node);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt,
const xmlParserNodeInfoPtr info);
@@ -1048,7 +1062,7 @@ XMLPUBFUN void XMLCALL
* External entities handling actually implemented in xmlIO.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
XMLPUBFUN xmlExternalEntityLoader XMLCALL
xmlGetExternalEntityLoader(void);
@@ -1089,9 +1103,15 @@ typedef enum {
XML_PARSE_NSCLEAN = 1<<13,/* remove redundant namespaces declarations */
XML_PARSE_NOCDATA = 1<<14,/* merge CDATA as text nodes */
XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
- XML_PARSE_COMPACT = 1<<16 /* compact small text nodes; no modification of
+ XML_PARSE_COMPACT = 1<<16,/* compact small text nodes; no modification of
the tree allowed afterwards (will possibly
crash if you try to modify the tree) */
+ XML_PARSE_OLD10 = 1<<17,/* parse using XML-1.0 before update 5 */
+ XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */
+ XML_PARSE_HUGE = 1<<19,/* relax any hardcoded limit from the parser */
+ XML_PARSE_OLDSAX = 1<<20,/* parse using SAX2 interface before 2.7.0 */
+ XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */
+ XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
} xmlParserOption;
XMLPUBFUN void XMLCALL
@@ -1207,6 +1227,8 @@ typedef enum {
XML_WITH_DEBUG_MEM = 29,
XML_WITH_DEBUG_RUN = 30,
XML_WITH_ZLIB = 31,
+ XML_WITH_ICU = 32,
+ XML_WITH_LZMA = 33,
XML_WITH_NONE = 99999 /* just to be sure of allocation size */
} xmlFeature;
@@ -1217,4 +1239,3 @@ XMLPUBFUN int XMLCALL
}
#endif
#endif /* __XML_PARSER_H__ */
-
diff --git a/gettext-tools/gnulib-lib/libxml/parserInternals.c b/gettext-tools/gnulib-lib/libxml/parserInternals.c
index f4da58d..2b8646c 100644
--- a/gettext-tools/gnulib-lib/libxml/parserInternals.c
+++ b/gettext-tools/gnulib-lib/libxml/parserInternals.c
@@ -55,6 +55,9 @@
#include <libxml/globals.h>
#include <libxml/chvalid.h>
+#include "buf.h"
+#include "enc.h"
+
/*
* Various global defaults for parsing
*/
@@ -73,15 +76,15 @@ xmlCheckVersion(int version) {
xmlInitParser();
if ((myversion / 10000) != (version / 10000)) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Fatal: program compiled against libxml %d using libxml %d\n",
(version / 10000), (myversion / 10000));
- fprintf(stderr,
+ fprintf(stderr,
"Fatal: program compiled against libxml %d using libxml %d\n",
(version / 10000), (myversion / 10000));
}
if ((myversion / 100) < (version / 100)) {
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"Warning: program compiled against libxml %d using older %d\n",
(version / 100), (myversion / 100));
}
@@ -90,7 +93,7 @@ xmlCheckVersion(int version) {
/************************************************************************
* *
- * Some factorized error routines *
+ * Some factorized error routines *
* *
************************************************************************/
@@ -225,7 +228,7 @@ xmlIsLetter(int c) {
/************************************************************************
* *
- * Input handling functions for progressive parsing *
+ * Input handling functions for progressive parsing *
* *
************************************************************************/
@@ -242,7 +245,7 @@ xmlIsLetter(int c) {
static
void check_buffer(xmlParserInputPtr in) {
- if (in->base != in->buf->buffer->content) {
+ if (in->base != xmlBufContent(in->buf->buffer)) {
xmlGenericError(xmlGenericErrorContext,
"xmlParserInput: base mismatch problem\n");
}
@@ -250,17 +253,17 @@ void check_buffer(xmlParserInputPtr in) {
xmlGenericError(xmlGenericErrorContext,
"xmlParserInput: cur < base problem\n");
}
- if (in->cur > in->base + in->buf->buffer->use) {
+ if (in->cur > in->base + xmlBufUse(in->buf->buffer)) {
xmlGenericError(xmlGenericErrorContext,
"xmlParserInput: cur > base + use problem\n");
}
- xmlGenericError(xmlGenericErrorContext,"buffer %x : content %x, cur %d, use %d, size %d\n",
- (int) in, (int) in->buf->buffer->content, in->cur - in->base,
- in->buf->buffer->use, in->buf->buffer->size);
+ xmlGenericError(xmlGenericErrorContext,"buffer %x : content %x, cur %d, use %d\n",
+ (int) in, (int) xmlBufContent(in->buf->buffer), in->cur - in->base,
+ xmlBufUse(in->buf->buffer));
}
#else
-#define CHECK_BUFFER(in)
+#define CHECK_BUFFER(in)
#endif
@@ -269,50 +272,13 @@ void check_buffer(xmlParserInputPtr in) {
* @in: an XML parser input
* @len: an indicative size for the lookahead
*
- * This function refresh the input for the parser. It doesn't try to
- * preserve pointers to the input buffer, and discard already read data
+ * This function was internal and is deprecated.
*
- * Returns the number of xmlChars read, or -1 in case of error, 0 indicate the
- * end of this entity
+ * Returns -1 as this is an error to use it.
*/
int
-xmlParserInputRead(xmlParserInputPtr in, int len) {
- int ret;
- int used;
- int indx;
-
- if (in == NULL) return(-1);
-#ifdef DEBUG_INPUT
- xmlGenericError(xmlGenericErrorContext, "Read\n");
-#endif
- if (in->buf == NULL) return(-1);
- if (in->base == NULL) return(-1);
- if (in->cur == NULL) return(-1);
- if (in->buf->buffer == NULL) return(-1);
- if (in->buf->readcallback == NULL) return(-1);
-
- CHECK_BUFFER(in);
-
- used = in->cur - in->buf->buffer->content;
- ret = xmlBufferShrink(in->buf->buffer, used);
- if (ret > 0) {
- in->cur -= ret;
- in->consumed += ret;
- }
- ret = xmlParserInputBufferRead(in->buf, len);
- if (in->base != in->buf->buffer->content) {
- /*
- * the buffer has been reallocated
- */
- indx = in->cur - in->base;
- in->base = in->buf->buffer->content;
- in->cur = &in->buf->buffer->content[indx];
- }
- in->end = &in->buf->buffer->content[in->buf->buffer->use];
-
- CHECK_BUFFER(in);
-
- return(ret);
+xmlParserInputRead(xmlParserInputPtr in ATTRIBUTE_UNUSED, int len ATTRIBUTE_UNUSED) {
+ return(-1);
}
/**
@@ -323,15 +289,16 @@ xmlParserInputRead(xmlParserInputPtr in, int len) {
* This function increase the input for the parser. It tries to
* preserve pointers to the input buffer, and keep already read data
*
- * Returns the number of xmlChars read, or -1 in case of error, 0 indicate the
+ * Returns the amount of char read, or -1 in case of error, 0 indicate the
* end of this entity
*/
int
xmlParserInputGrow(xmlParserInputPtr in, int len) {
- int ret;
- int indx;
+ size_t ret;
+ size_t indx;
+ const xmlChar *content;
- if (in == NULL) return(-1);
+ if ((in == NULL) || (len < 0)) return(-1);
#ifdef DEBUG_INPUT
xmlGenericError(xmlGenericErrorContext, "Grow\n");
#endif
@@ -343,15 +310,15 @@ xmlParserInputGrow(xmlParserInputPtr in, int len) {
CHECK_BUFFER(in);
indx = in->cur - in->base;
- if (in->buf->buffer->use > (unsigned int) indx + INPUT_CHUNK) {
+ if (xmlBufUse(in->buf->buffer) > (unsigned int) indx + INPUT_CHUNK) {
CHECK_BUFFER(in);
return(0);
}
- if (in->buf->readcallback != NULL)
+ if (in->buf->readcallback != NULL) {
ret = xmlParserInputBufferGrow(in->buf, len);
- else
+ } else
return(0);
/*
@@ -360,15 +327,17 @@ xmlParserInputGrow(xmlParserInputPtr in, int len) {
* pointer arithmetic. Insure will raise it as a bug but in
* that specific case, that's not !
*/
- if (in->base != in->buf->buffer->content) {
+
+ content = xmlBufContent(in->buf->buffer);
+ if (in->base != content) {
/*
* the buffer has been reallocated
*/
indx = in->cur - in->base;
- in->base = in->buf->buffer->content;
- in->cur = &in->buf->buffer->content[indx];
+ in->base = content;
+ in->cur = &content[indx];
}
- in->end = &in->buf->buffer->content[in->buf->buffer->use];
+ in->end = xmlBufEnd(in->buf->buffer);
CHECK_BUFFER(in);
@@ -383,9 +352,10 @@ xmlParserInputGrow(xmlParserInputPtr in, int len) {
*/
void
xmlParserInputShrink(xmlParserInputPtr in) {
- int used;
- int ret;
- int indx;
+ size_t used;
+ size_t ret;
+ size_t indx;
+ const xmlChar *content;
#ifdef DEBUG_INPUT
xmlGenericError(xmlGenericErrorContext, "Shrink\n");
@@ -398,42 +368,43 @@ xmlParserInputShrink(xmlParserInputPtr in) {
CHECK_BUFFER(in);
- used = in->cur - in->buf->buffer->content;
+ used = in->cur - xmlBufContent(in->buf->buffer);
/*
* Do not shrink on large buffers whose only a tiny fraction
* was consumed
*/
if (used > INPUT_CHUNK) {
- ret = xmlBufferShrink(in->buf->buffer, used - LINE_LEN);
+ ret = xmlBufShrink(in->buf->buffer, used - LINE_LEN);
if (ret > 0) {
in->cur -= ret;
in->consumed += ret;
}
- in->end = &in->buf->buffer->content[in->buf->buffer->use];
+ in->end = xmlBufEnd(in->buf->buffer);
}
CHECK_BUFFER(in);
- if (in->buf->buffer->use > INPUT_CHUNK) {
+ if (xmlBufUse(in->buf->buffer) > INPUT_CHUNK) {
return;
}
xmlParserInputBufferRead(in->buf, 2 * INPUT_CHUNK);
- if (in->base != in->buf->buffer->content) {
+ content = xmlBufContent(in->buf->buffer);
+ if (in->base != content) {
/*
* the buffer has been reallocated
*/
indx = in->cur - in->base;
- in->base = in->buf->buffer->content;
- in->cur = &in->buf->buffer->content[indx];
+ in->base = content;
+ in->cur = &content[indx];
}
- in->end = &in->buf->buffer->content[in->buf->buffer->use];
+ in->end = xmlBufEnd(in->buf->buffer);
CHECK_BUFFER(in);
}
/************************************************************************
* *
- * UTF8 character input and related functions *
+ * UTF8 character input and related functions *
* *
************************************************************************/
@@ -484,7 +455,7 @@ xmlNextChar(xmlParserCtxtPtr ctxt)
* UCS-4 range (hex.) UTF-8 octet sequence (binary)
* 0000 0000-0000 007F 0xxxxxxx
* 0000 0080-0000 07FF 110xxxxx 10xxxxxx
- * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
+ * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
*
* Check for the 0x110000 limit too
*/
@@ -494,20 +465,26 @@ xmlNextChar(xmlParserCtxtPtr ctxt)
if (c & 0x80) {
if (c == 0xC0)
goto encoding_error;
- if (cur[1] == 0)
+ if (cur[1] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if ((cur[1] & 0xc0) != 0x80)
goto encoding_error;
if ((c & 0xe0) == 0xe0) {
unsigned int val;
- if (cur[2] == 0)
+ if (cur[2] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if ((cur[2] & 0xc0) != 0x80)
goto encoding_error;
if ((c & 0xf0) == 0xf0) {
- if (cur[3] == 0)
+ if (cur[3] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if (((c & 0xf8) != 0xf0) ||
((cur[3] & 0xc0) != 0x80))
goto encoding_error;
@@ -628,7 +605,7 @@ xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
* UCS-4 range (hex.) UTF-8 octet sequence (binary)
* 0000 0000-0000 007F 0xxxxxxx
* 0000 0080-0000 07FF 110xxxxx 10xxxxxx
- * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
+ * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
*
* Check for the 0x110000 limit too
*/
@@ -638,21 +615,26 @@ xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
c = *cur;
if (c & 0x80) {
- if (c == 0xC0)
+ if (((c & 0x40) == 0) || (c == 0xC0))
goto encoding_error;
- if (cur[1] == 0)
+ if (cur[1] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if ((cur[1] & 0xc0) != 0x80)
goto encoding_error;
if ((c & 0xe0) == 0xe0) {
-
- if (cur[2] == 0)
+ if (cur[2] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if ((cur[2] & 0xc0) != 0x80)
goto encoding_error;
if ((c & 0xf0) == 0xf0) {
- if (cur[3] == 0)
+ if (cur[3] == 0) {
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ cur = ctxt->input->cur;
+ }
if (((c & 0xf8) != 0xf0) ||
((cur[3] & 0xc0) != 0x80))
goto encoding_error;
@@ -662,27 +644,40 @@ xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
val |= (cur[1] & 0x3f) << 12;
val |= (cur[2] & 0x3f) << 6;
val |= cur[3] & 0x3f;
+ if (val < 0x10000)
+ goto encoding_error;
} else {
/* 3-byte code */
*len = 3;
val = (cur[0] & 0xf) << 12;
val |= (cur[1] & 0x3f) << 6;
val |= cur[2] & 0x3f;
+ if (val < 0x800)
+ goto encoding_error;
}
} else {
/* 2-byte code */
*len = 2;
val = (cur[0] & 0x1f) << 6;
val |= cur[1] & 0x3f;
+ if (val < 0x80)
+ goto encoding_error;
}
if (!IS_CHAR(val)) {
xmlErrEncodingInt(ctxt, XML_ERR_INVALID_CHAR,
"Char 0x%X out of allowed range\n", val);
- }
+ }
return(val);
} else {
/* 1-byte code */
*len = 1;
+ if (*ctxt->input->cur == 0)
+ xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+ if ((*ctxt->input->cur == 0) &&
+ (ctxt->input->end > ctxt->input->cur)) {
+ xmlErrEncodingInt(ctxt, XML_ERR_INVALID_CHAR,
+ "Char 0x0 out of allowed range\n", 0);
+ }
if (*ctxt->input->cur == 0xD) {
if (ctxt->input->cur[1] == 0xA) {
ctxt->nbChars++;
@@ -735,7 +730,7 @@ encoding_error:
"Input is not proper UTF-8, indicate encoding !\n%s",
BAD_CAST buffer, NULL);
}
- ctxt->charset = XML_CHAR_ENCODING_8859_1;
+ ctxt->charset = XML_CHAR_ENCODING_8859_1;
*len = 1;
return((int) *ctxt->input->cur);
}
@@ -764,7 +759,7 @@ xmlStringCurrentChar(xmlParserCtxtPtr ctxt, const xmlChar * cur, int *len)
* UCS-4 range (hex.) UTF-8 octet sequence (binary)
* 0000 0000-0000 007F 0xxxxxxx
* 0000 0080-0000 07FF 110xxxxx 10xxxxxx
- * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
+ * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
*
* Check for the 0x110000 limit too
*/
@@ -857,7 +852,7 @@ encoding_error:
* @out: pointer to an array of xmlChar
* @val: the char value
*
- * append the char value in the array
+ * append the char value in the array
*
* Returns the number of xmlChar written
*/
@@ -871,7 +866,7 @@ xmlCopyCharMultiByte(xmlChar *out, int val) {
* UCS-4 range (hex.) UTF-8 octet sequence (binary)
* 0000 0000-0000 007F 0xxxxxxx
* 0000 0080-0000 07FF 110xxxxx 10xxxxxx
- * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
+ * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
*/
if (val >= 0x80) {
xmlChar *savedout = out;
@@ -899,7 +894,7 @@ xmlCopyCharMultiByte(xmlChar *out, int val) {
* @out: pointer to an array of xmlChar
* @val: the char value
*
- * append the char value in the array
+ * append the char value in the array
*
* Returns the number of xmlChar written
*/
@@ -921,6 +916,12 @@ xmlCopyChar(int len ATTRIBUTE_UNUSED, xmlChar *out, int val) {
* *
************************************************************************/
+static int
+xmlSwitchToEncodingInt(xmlParserCtxtPtr ctxt,
+ xmlCharEncodingHandlerPtr handler, int len);
+static int
+xmlSwitchInputEncodingInt(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
+ xmlCharEncodingHandlerPtr handler, int len);
/**
* xmlSwitchEncoding:
* @ctxt: the parser context
@@ -935,6 +936,8 @@ int
xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
{
xmlCharEncodingHandlerPtr handler;
+ int len = -1;
+ int ret;
if (ctxt == NULL) return(-1);
switch (enc) {
@@ -978,9 +981,33 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
(ctxt->input->cur[2] == 0xBF)) {
ctxt->input->cur += 3;
}
- break ;
- default:
- break;
+ len = 90;
+ break;
+ case XML_CHAR_ENCODING_UCS2:
+ len = 90;
+ break;
+ case XML_CHAR_ENCODING_UCS4BE:
+ case XML_CHAR_ENCODING_UCS4LE:
+ case XML_CHAR_ENCODING_UCS4_2143:
+ case XML_CHAR_ENCODING_UCS4_3412:
+ len = 180;
+ break;
+ case XML_CHAR_ENCODING_EBCDIC:
+ case XML_CHAR_ENCODING_8859_1:
+ case XML_CHAR_ENCODING_8859_2:
+ case XML_CHAR_ENCODING_8859_3:
+ case XML_CHAR_ENCODING_8859_4:
+ case XML_CHAR_ENCODING_8859_5:
+ case XML_CHAR_ENCODING_8859_6:
+ case XML_CHAR_ENCODING_8859_7:
+ case XML_CHAR_ENCODING_8859_8:
+ case XML_CHAR_ENCODING_8859_9:
+ case XML_CHAR_ENCODING_ASCII:
+ case XML_CHAR_ENCODING_2022_JP:
+ case XML_CHAR_ENCODING_SHIFT_JIS:
+ case XML_CHAR_ENCODING_EUC_JP:
+ len = 45;
+ break;
}
handler = xmlGetCharEncodingHandler(enc);
if (handler == NULL) {
@@ -1071,7 +1098,15 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
if (handler == NULL)
return(-1);
ctxt->charset = XML_CHAR_ENCODING_UTF8;
- return(xmlSwitchToEncoding(ctxt, handler));
+ ret = xmlSwitchToEncodingInt(ctxt, handler, len);
+ if ((ret < 0) || (ctxt->errNo == XML_I18N_CONV_FAILED)) {
+ /*
+ * on encoding conversion errors, stop the parser
+ */
+ xmlStopParser(ctxt);
+ ctxt->errNo = XML_I18N_CONV_FAILED;
+ }
+ return(ret);
}
/**
@@ -1079,15 +1114,16 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
* @ctxt: the parser context
* @input: the input stream
* @handler: the encoding handler
+ * @len: the number of bytes to convert for the first line or -1
*
* change the input functions when discovering the character encoding
* of a given entity.
*
* Returns 0 in case of success, -1 otherwise
*/
-int
-xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
- xmlCharEncodingHandlerPtr handler)
+static int
+xmlSwitchInputEncodingInt(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
+ xmlCharEncodingHandlerPtr handler, int len)
{
int nbchars;
@@ -1128,12 +1164,12 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
/*
* Is there already some content down the pipe to convert ?
*/
- if ((input->buf->buffer != NULL) && (input->buf->buffer->use > 0)) {
+ if (xmlBufIsEmpty(input->buf->buffer) == 0) {
int processed;
unsigned int use;
/*
- * Specific handling of the Byte Order Mark for
+ * Specific handling of the Byte Order Mark for
* UTF-16
*/
if ((handler->name != NULL) &&
@@ -1164,19 +1200,17 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
* Move it as the raw buffer and create a new input buffer
*/
processed = input->cur - input->base;
- xmlBufferShrink(input->buf->buffer, processed);
+ xmlBufShrink(input->buf->buffer, processed);
input->buf->raw = input->buf->buffer;
- input->buf->buffer = xmlBufferCreate();
+ input->buf->buffer = xmlBufCreate();
input->buf->rawconsumed = processed;
- use = input->buf->raw->use;
+ use = xmlBufUse(input->buf->raw);
if (ctxt->html) {
/*
* convert as much as possible of the buffer
*/
- nbchars = xmlCharEncInFunc(input->buf->encoder,
- input->buf->buffer,
- input->buf->raw);
+ nbchars = xmlCharEncInput(input->buf, 1);
} else {
/*
* convert just enough to get
@@ -1184,9 +1218,7 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
* parsed with the autodetected encoding
* into the parser reading buffer.
*/
- nbchars = xmlCharEncFirstLine(input->buf->encoder,
- input->buf->buffer,
- input->buf->raw);
+ nbchars = xmlCharEncFirstLineInput(input->buf, len);
}
if (nbchars < 0) {
xmlErrInternal(ctxt,
@@ -1194,10 +1226,8 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
NULL);
return (-1);
}
- input->buf->rawconsumed += use - input->buf->raw->use;
- input->base = input->cur = input->buf->buffer->content;
- input->end = &input->base[input->buf->buffer->use];
-
+ input->buf->rawconsumed += use - xmlBufUse(input->buf->raw);
+ xmlBufResetInput(input->buf->buffer, input);
}
return (0);
} else if (input->length == 0) {
@@ -1212,8 +1242,9 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
}
/**
- * xmlSwitchToEncoding:
+ * xmlSwitchInputEncoding:
* @ctxt: the parser context
+ * @input: the input stream
* @handler: the encoding handler
*
* change the input functions when discovering the character encoding
@@ -1222,13 +1253,32 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
* Returns 0 in case of success, -1 otherwise
*/
int
-xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
-{
+xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
+ xmlCharEncodingHandlerPtr handler) {
+ return(xmlSwitchInputEncodingInt(ctxt, input, handler, -1));
+}
+
+/**
+ * xmlSwitchToEncodingInt:
+ * @ctxt: the parser context
+ * @handler: the encoding handler
+ * @len: the length to convert or -1
+ *
+ * change the input functions when discovering the character encoding
+ * of a given entity, and convert only @len bytes of the output, this
+ * is needed on auto detect to allows any declared encoding later to
+ * convert the actual content after the xmlDecl
+ *
+ * Returns 0 in case of success, -1 otherwise
+ */
+static int
+xmlSwitchToEncodingInt(xmlParserCtxtPtr ctxt,
+ xmlCharEncodingHandlerPtr handler, int len) {
int ret = 0;
if (handler != NULL) {
if (ctxt->input != NULL) {
- ret = xmlSwitchInputEncoding(ctxt, ctxt->input, handler);
+ ret = xmlSwitchInputEncodingInt(ctxt, ctxt->input, handler, len);
} else {
xmlErrInternal(ctxt, "xmlSwitchToEncoding : no input\n",
NULL);
@@ -1238,11 +1288,27 @@ xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
* The parsing is now done in UTF8 natively
*/
ctxt->charset = XML_CHAR_ENCODING_UTF8;
- } else
+ } else
return(-1);
return(ret);
}
+/**
+ * xmlSwitchToEncoding:
+ * @ctxt: the parser context
+ * @handler: the encoding handler
+ *
+ * change the input functions when discovering the character encoding
+ * of a given entity.
+ *
+ * Returns 0 in case of success, -1 otherwise
+ */
+int
+xmlSwitchToEncoding(xmlParserCtxtPtr ctxt, xmlCharEncodingHandlerPtr handler)
+{
+ return (xmlSwitchToEncodingInt(ctxt, handler, -1));
+}
+
/************************************************************************
* *
* Commodity functions to handle entities processing *
@@ -1265,7 +1331,7 @@ xmlFreeInputStream(xmlParserInputPtr input) {
if (input->version != NULL) xmlFree((char *) input->version);
if ((input->free != NULL) && (input->base != NULL))
input->free((xmlChar *) input->base);
- if (input->buf != NULL)
+ if (input->buf != NULL)
xmlFreeParserInputBuffer(input->buf);
xmlFree(input);
}
@@ -1274,13 +1340,13 @@ xmlFreeInputStream(xmlParserInputPtr input) {
* xmlNewInputStream:
* @ctxt: an XML parser context
*
- * Create a new input stream structure
+ * Create a new input stream structure.
+ *
* Returns the new input stream or NULL
*/
xmlParserInputPtr
xmlNewInputStream(xmlParserCtxtPtr ctxt) {
xmlParserInputPtr input;
- static int id = 0;
input = (xmlParserInputPtr) xmlMalloc(sizeof(xmlParserInput));
if (input == NULL) {
@@ -1291,11 +1357,15 @@ xmlNewInputStream(xmlParserCtxtPtr ctxt) {
input->line = 1;
input->col = 1;
input->standalone = -1;
+
/*
- * we don't care about thread reentrancy unicity for a single
- * parser context (and hence thread) is sufficient.
+ * If the context is NULL the id cannot be initialized, but that
+ * should not happen while parsing which is the situation where
+ * the id is actually needed.
*/
- input->id = id++;
+ if (ctxt != NULL)
+ input->id = ctxt->input_id++;
+
return(input);
}
@@ -1324,9 +1394,8 @@ xmlNewIOInputStream(xmlParserCtxtPtr ctxt, xmlParserInputBufferPtr input,
}
inputStream->filename = NULL;
inputStream->buf = input;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end = &inputStream->base[inputStream->buf->buffer->use];
+ xmlBufResetInput(inputStream->buf->buffer, inputStream);
+
if (enc != XML_CHAR_ENCODING_NONE) {
xmlSwitchEncoding(ctxt, enc);
}
@@ -1387,8 +1456,11 @@ xmlNewEntityInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
if (input == NULL) {
return(NULL);
}
- input->filename = (char *) entity->URI;
+ if (entity->URI != NULL)
+ input->filename = (char *) xmlStrdup((xmlChar *) entity->URI);
input->base = entity->content;
+ if (entity->length == 0)
+ entity->length = xmlStrlen(entity->content);
input->cur = entity->content;
input->length = entity->length;
input->end = &entity->content[input->length];
@@ -1467,7 +1539,7 @@ xmlNewInputFromFile(xmlParserCtxtPtr ctxt, const char *filename) {
inputStream = xmlCheckHTTPInput(ctxt, inputStream);
if (inputStream == NULL)
return(NULL);
-
+
if (inputStream->filename == NULL)
URI = xmlStrdup((xmlChar *) filename);
else
@@ -1478,9 +1550,7 @@ xmlNewInputFromFile(xmlParserCtxtPtr ctxt, const char *filename) {
if (URI != NULL) xmlFree((char *) URI);
inputStream->directory = directory;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end = &inputStream->base[inputStream->buf->buffer->use];
+ xmlBufResetInput(inputStream->buf->buffer, inputStream);
if ((ctxt->directory == NULL) && (directory != NULL))
ctxt->directory = (char *) xmlStrdup((const xmlChar *) directory);
return(inputStream);
@@ -1519,6 +1589,8 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
xmlErrMemory(NULL, "cannot initialize parser context\n");
return(-1);
}
+ xmlDictSetLimit(ctxt->dict, XML_MAX_DICTIONARY_LIMIT);
+
if (ctxt->sax == NULL)
ctxt->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
if (ctxt->sax == NULL) {
@@ -1630,12 +1702,20 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
ctxt->nsWellFormed = 1;
ctxt->valid = 1;
ctxt->loadsubset = xmlLoadExtDtdDefaultValue;
+ if (ctxt->loadsubset) {
+ ctxt->options |= XML_PARSE_DTDLOAD;
+ }
ctxt->validate = xmlDoValidityCheckingDefaultValue;
ctxt->pedantic = xmlPedanticParserDefaultValue;
+ if (ctxt->pedantic) {
+ ctxt->options |= XML_PARSE_PEDANTIC;
+ }
ctxt->linenumbers = xmlLineNumbersDefaultValue;
ctxt->keepBlanks = xmlKeepBlanksDefaultValue;
- if (ctxt->keepBlanks == 0)
+ if (ctxt->keepBlanks == 0) {
ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
+ ctxt->options |= XML_PARSE_NOBLANKS;
+ }
ctxt->vctxt.finishDtd = XML_CTXT_FINISH_DTD_0;
ctxt->vctxt.userData = ctxt;
@@ -1647,8 +1727,12 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
else
ctxt->vctxt.warning = xmlParserValidityWarning;
ctxt->vctxt.nodeMax = 0;
+ ctxt->options |= XML_PARSE_DTDVALID;
}
ctxt->replaceEntities = xmlSubstituteEntitiesDefaultValue;
+ if (ctxt->replaceEntities) {
+ ctxt->options |= XML_PARSE_NOENT;
+ }
ctxt->record_info = 0;
ctxt->nbChars = 0;
ctxt->checkIndex = 0;
@@ -1657,6 +1741,10 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
ctxt->depth = 0;
ctxt->charset = XML_CHAR_ENCODING_UTF8;
ctxt->catalogs = NULL;
+ ctxt->nbentities = 0;
+ ctxt->sizeentities = 0;
+ ctxt->sizeentcopy = 0;
+ ctxt->input_id = 1;
xmlInitNodeInfoSeq(&ctxt->node_seq);
return(0);
}
@@ -1682,6 +1770,7 @@ xmlFreeParserCtxt(xmlParserCtxtPtr ctxt)
if (ctxt->spaceTab != NULL) xmlFree(ctxt->spaceTab);
if (ctxt->nameTab != NULL) xmlFree((xmlChar * *)ctxt->nameTab);
if (ctxt->nodeTab != NULL) xmlFree(ctxt->nodeTab);
+ if (ctxt->nodeInfoTab != NULL) xmlFree(ctxt->nodeInfoTab);
if (ctxt->inputTab != NULL) xmlFree(ctxt->inputTab);
if (ctxt->version != NULL) xmlFree((char *) ctxt->version);
if (ctxt->encoding != NULL) xmlFree((char *) ctxt->encoding);
@@ -1701,7 +1790,7 @@ xmlFreeParserCtxt(xmlParserCtxtPtr ctxt)
if (ctxt->nsTab != NULL) xmlFree((char *) ctxt->nsTab);
if (ctxt->pushTab != NULL) xmlFree(ctxt->pushTab);
if (ctxt->attallocs != NULL) xmlFree(ctxt->attallocs);
- if (ctxt->attsDefault != NULL)
+ if (ctxt->attsDefault != NULL)
xmlHashFree(ctxt->attsDefault, (xmlHashDeallocator) xmlFree);
if (ctxt->attsSpecial != NULL)
xmlHashFree(ctxt->attsSpecial, NULL);
@@ -1801,7 +1890,7 @@ xmlClearParserCtxt(xmlParserCtxtPtr ctxt)
* @node: an XML node within the tree
*
* Find the parser node info struct for a given node
- *
+ *
* Returns an xmlParserNodeInfo block pointer or NULL
*/
const xmlParserNodeInfo *
@@ -1859,7 +1948,7 @@ xmlClearNodeInfoSeq(xmlParserNodeInfoSeqPtr seq)
* @seq: a node info sequence pointer
* @node: an XML node pointer
*
- *
+ *
* xmlParserFindNodeInfoIndex : Find the index that the info record for
* the given node is or should be at in a sorted sequence
*
@@ -1916,7 +2005,7 @@ xmlParserAddNodeInfo(xmlParserCtxtPtr ctxt,
pos = xmlParserFindNodeInfoIndex(&ctxt->node_seq, (xmlNodePtr)
info->node);
- if ((pos < ctxt->node_seq.length) &&
+ if ((pos < ctxt->node_seq.length) &&
(ctxt->node_seq.buffer != NULL) &&
(ctxt->node_seq.buffer[pos].node == info->node)) {
ctxt->node_seq.buffer[pos] = *info;
@@ -1924,7 +2013,8 @@ xmlParserAddNodeInfo(xmlParserCtxtPtr ctxt,
/* Otherwise, we need to add new node to buffer */
else {
- if (ctxt->node_seq.length + 1 > ctxt->node_seq.maximum) {
+ if ((ctxt->node_seq.length + 1 > ctxt->node_seq.maximum) ||
+ (ctxt->node_seq.buffer == NULL)) {
xmlParserNodeInfo *tmp_buffer;
unsigned int byte_size;
@@ -1969,7 +2059,7 @@ xmlParserAddNodeInfo(xmlParserCtxtPtr ctxt,
************************************************************************/
/**
* xmlPedanticParserDefault:
- * @val: int 0 or 1
+ * @val: int 0 or 1
*
* Set and return the previous value for enabling pedantic warnings.
*
@@ -1986,7 +2076,7 @@ xmlPedanticParserDefault(int val) {
/**
* xmlLineNumbersDefault:
- * @val: int 0 or 1
+ * @val: int 0 or 1
*
* Set and return the previous value for enabling line numbers in elements
* contents. This may break on old application and is turned off by default.
@@ -2004,7 +2094,7 @@ xmlLineNumbersDefault(int val) {
/**
* xmlSubstituteEntitiesDefault:
- * @val: int 0 or 1
+ * @val: int 0 or 1
*
* Set and return the previous value for default entity support.
* Initially the parser always keep entity references instead of substituting
@@ -2026,7 +2116,7 @@ xmlSubstituteEntitiesDefault(int val) {
/**
* xmlKeepBlanksDefault:
- * @val: int 0 or 1
+ * @val: int 0 or 1
*
* Set and return the previous value for default blanks text nodes support.
* The 1.x version of the parser used an heuristic to try to detect
@@ -2037,7 +2127,7 @@ xmlSubstituteEntitiesDefault(int val) {
* ignorableWhitespace() are only generated when running the parser in
* validating mode and when the current element doesn't allow CDATA or
* mixed content.
- * This function is provided as a way to force the standard behavior
+ * This function is provided as a way to force the standard behavior
* on 1.X libs and to switch back to the old mode for compatibility when
* running 1.X client code on 2.X . Upgrade of 1.X code should be done
* by using xmlIsBlankNode() commodity function to detect the "empty"
@@ -2053,7 +2143,7 @@ xmlKeepBlanksDefault(int val) {
int old = xmlKeepBlanksDefaultValue;
xmlKeepBlanksDefaultValue = val;
- xmlIndentTreeOutput = !val;
+ if (!val) xmlIndentTreeOutput = 1;
return(old);
}
diff --git a/gettext-tools/gnulib-lib/libxml/parserInternals.in.h b/gettext-tools/gnulib-lib/libxml/parserInternals.in.h
index 7ac0ce6..6065320 100644
--- a/gettext-tools/gnulib-lib/libxml/parserInternals.in.h
+++ b/gettext-tools/gnulib-lib/libxml/parserInternals.in.h
@@ -1,5 +1,5 @@
/*
- * Summary: internals routines exported by the parser.
+ * Summary: internals routines and limits exported by the parser.
* Description: this module exports a number of internal parsing routines
* they are not really all intended for applications but
* can prove useful doing low level processing.
@@ -24,18 +24,60 @@ extern "C" {
/**
* xmlParserMaxDepth:
*
- * arbitrary depth limit for the XML documents that we allow to
- * process. This is not a limitation of the parser but a safety
- * boundary feature.
+ * arbitrary depth limit for the XML documents that we allow to
+ * process. This is not a limitation of the parser but a safety
+ * boundary feature, use XML_PARSE_HUGE option to override it.
*/
XMLPUBVAR unsigned int xmlParserMaxDepth;
- /**
- * XML_MAX_NAMELEN:
- *
- * Identifiers can be longer, but this will be more costly
- * at runtime.
- */
+/**
+ * XML_MAX_TEXT_LENGTH:
+ *
+ * Maximum size allowed for a single text node when building a tree.
+ * This is not a limitation of the parser but a safety boundary feature,
+ * use XML_PARSE_HUGE option to override it.
+ * Introduced in 2.9.0
+ */
+#define XML_MAX_TEXT_LENGTH 10000000
+
+/**
+ * XML_MAX_NAME_LENGTH:
+ *
+ * Maximum size allowed for a markup identitier
+ * This is not a limitation of the parser but a safety boundary feature,
+ * use XML_PARSE_HUGE option to override it.
+ * Note that with the use of parsing dictionaries overriding the limit
+ * may result in more runtime memory usage in face of "unfriendly' content
+ * Introduced in 2.9.0
+ */
+#define XML_MAX_NAME_LENGTH 50000
+
+/**
+ * XML_MAX_DICTIONARY_LIMIT:
+ *
+ * Maximum size allowed by the parser for a dictionary by default
+ * This is not a limitation of the parser but a safety boundary feature,
+ * use XML_PARSE_HUGE option to override it.
+ * Introduced in 2.9.0
+ */
+#define XML_MAX_DICTIONARY_LIMIT 10000000
+
+/**
+ * XML_MAX_LOOKUP_LIMIT:
+ *
+ * Maximum size allowed by the parser for ahead lookup
+ * This is an upper boundary enforced by the parser to avoid bad
+ * behaviour on "unfriendly' content
+ * Introduced in 2.9.0
+ */
+#define XML_MAX_LOOKUP_LIMIT 10000000
+
+/**
+ * XML_MAX_NAMELEN:
+ *
+ * Identifiers can be longer, but this will be more costly
+ * at runtime.
+ */
#define XML_MAX_NAMELEN 100
/**
@@ -48,7 +90,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
/************************************************************************
* *
- * UNICODE version of the macros. *
+ * UNICODE version of the macros. *
* *
************************************************************************/
/**
@@ -144,7 +186,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
*
* Always false (all combining chars > 0xff)
*/
-#define IS_COMBINING_CH(c) 0
+#define IS_COMBINING_CH(c) 0
/**
* IS_EXTENDER:
@@ -185,7 +227,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
* Macro to check the following production in the XML spec:
*
*
- * [84] Letter ::= BaseChar | Ideographic
+ * [84] Letter ::= BaseChar | Ideographic
*/
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
@@ -242,7 +284,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
*
* Skips the end of line chars.
*/
-#define SKIP_EOL(p) \
+#define SKIP_EOL(p) \
if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; } \
if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }
@@ -279,25 +321,25 @@ XMLPUBFUN int XMLCALL xmlIsLetter (int c);
/**
* Parser context.
*/
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreateFileParserCtxt (const char *filename);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreateURLParserCtxt (const char *filename,
int options);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreateMemoryParserCtxt(const char *buffer,
int size);
-XMLPUBFUN xmlParserCtxtPtr XMLCALL
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
xmlCreateEntityParserCtxt(const xmlChar *URL,
const xmlChar *ID,
const xmlChar *base);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSwitchEncoding (xmlParserCtxtPtr ctxt,
xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSwitchToEncoding (xmlParserCtxtPtr ctxt,
xmlCharEncodingHandlerPtr handler);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt,
xmlParserInputPtr input,
xmlCharEncodingHandlerPtr handler);
@@ -315,29 +357,29 @@ XMLPUBFUN void XMLCALL
/**
* Input Streams.
*/
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlNewStringInputStream (xmlParserCtxtPtr ctxt,
const xmlChar *buffer);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlNewEntityInputStream (xmlParserCtxtPtr ctxt,
xmlEntityPtr entity);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN int XMLCALL
xmlPushInput (xmlParserCtxtPtr ctxt,
xmlParserInputPtr input);
-XMLPUBFUN xmlChar XMLCALL
+XMLPUBFUN xmlChar XMLCALL
xmlPopInput (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeInputStream (xmlParserInputPtr input);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlNewInputFromFile (xmlParserCtxtPtr ctxt,
const char *filename);
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlNewInputStream (xmlParserCtxtPtr ctxt);
/**
* Namespaces.
*/
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlSplitQName (xmlParserCtxtPtr ctxt,
const xmlChar *name,
xmlChar **prefix);
@@ -345,112 +387,112 @@ XMLPUBFUN xmlChar * XMLCALL
/**
* Generic production rules.
*/
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlParseName (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseNmtoken (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseEntityValue (xmlParserCtxtPtr ctxt,
xmlChar **orig);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseAttValue (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseSystemLiteral (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParsePubidLiteral (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseCharData (xmlParserCtxtPtr ctxt,
int cdata);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseExternalID (xmlParserCtxtPtr ctxt,
xmlChar **publicID,
int strict);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseComment (xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlParsePITarget (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParsePI (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseNotationDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseEntityDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseDefaultDecl (xmlParserCtxtPtr ctxt,
xmlChar **value);
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XMLPUBFUN xmlEnumerationPtr XMLCALL
xmlParseNotationType (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XMLPUBFUN xmlEnumerationPtr XMLCALL
xmlParseEnumerationType (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseEnumeratedType (xmlParserCtxtPtr ctxt,
xmlEnumerationPtr *tree);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseAttributeType (xmlParserCtxtPtr ctxt,
xmlEnumerationPtr *tree);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr XMLCALL
xmlParseElementMixedContentDecl
(xmlParserCtxtPtr ctxt,
int inputchk);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr XMLCALL
xmlParseElementChildrenContentDecl
(xmlParserCtxtPtr ctxt,
int inputchk);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
const xmlChar *name,
xmlElementContentPtr *result);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseElementDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseMarkupDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseCharRef (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlEntityPtr XMLCALL
+XMLPUBFUN xmlEntityPtr XMLCALL
xmlParseEntityRef (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseReference (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParsePEReference (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlParseAttribute (xmlParserCtxtPtr ctxt,
xmlChar **value);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlParseStartTag (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseEndTag (xmlParserCtxtPtr ctxt);
#endif /* LIBXML_SAX1_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseCDSect (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseContent (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseElement (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseVersionNum (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseVersionInfo (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseEncName (xmlParserCtxtPtr ctxt);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlParseEncodingDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseSDDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseXMLDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseTextDecl (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseMisc (xmlParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParseExternalSubset (xmlParserCtxtPtr ctxt,
const xmlChar *ExternalID,
- const xmlChar *SystemID);
+ const xmlChar *SystemID);
/**
* XML_SUBSTITUTE_NONE:
*
@@ -474,7 +516,7 @@ XMLPUBFUN void XMLCALL
*
* Both general and parameter entities need to be substituted.
*/
-#define XML_SUBSTITUTE_BOTH 3
+#define XML_SUBSTITUTE_BOTH 3
XMLPUBFUN xmlChar * XMLCALL
xmlStringDecodeEntities (xmlParserCtxtPtr ctxt,
@@ -554,21 +596,21 @@ XMLPUBFUN htmlParserCtxtPtr XMLCALL htmlCreateFileParserCtxt(const char *filenam
typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent,
xmlNodePtr firstNode,
xmlNodePtr lastNode);
-
+
XMLPUBFUN void XMLCALL xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlParseQuotedString (xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
xmlParseNamespace (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlScanName (xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL xmlParserHandleReference(xmlParserCtxtPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlNamespaceParseQName (xmlParserCtxtPtr ctxt,
xmlChar **prefix);
/**
@@ -581,7 +623,7 @@ XMLPUBFUN xmlChar * XMLCALL
xmlChar end,
xmlChar end2,
xmlChar end3);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlHandleEntity (xmlParserCtxtPtr ctxt,
xmlEntityPtr entity);
diff --git a/gettext-tools/gnulib-lib/libxml/pattern.c b/gettext-tools/gnulib-lib/libxml/pattern.c
index cf41606..33dee3a 100644
--- a/gettext-tools/gnulib-lib/libxml/pattern.c
+++ b/gettext-tools/gnulib-lib/libxml/pattern.c
@@ -3,7 +3,7 @@
*
* Reference:
* http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/
- * to some extent
+ * to some extent
* http://www.w3.org/TR/1999/REC-xml-19991116
*
* See Copyright for the status of this software.
@@ -39,6 +39,9 @@
/* #define DEBUG_STREAMING */
+#ifdef ERROR
+#undef ERROR
+#endif
#define ERROR(a, b, c, d)
#define ERROR5(a, b, c, d, e)
@@ -53,7 +56,7 @@
* NOTE: Those private flags (XML_STREAM_xxx) are used
* in _xmlStreamCtxt->flag. They extend the public
* xmlPatternFlags, so be carefull not to interfere with the
-* reserved values for xmlPatternFlags.
+* reserved values for xmlPatternFlags.
*/
#define XML_STREAM_FINAL_IS_ANY_NODE 1<<14
#define XML_STREAM_FROM_ROOT 1<<15
@@ -159,7 +162,7 @@ struct _xmlStepOp {
#define PAT_FROM_CUR (1<<9)
struct _xmlPattern {
- void *data; /* the associated template */
+ void *data; /* the associated template */
xmlDictPtr dict; /* the optional dictionary */
struct _xmlPattern *next; /* next pattern if | is used */
const xmlChar *pattern; /* the pattern */
@@ -178,15 +181,15 @@ struct _xmlPatParserContext {
int error; /* error code */
xmlDictPtr dict; /* the dictionary if any */
xmlPatternPtr comp; /* the result */
- xmlNodePtr elem; /* the current node if any */
+ xmlNodePtr elem; /* the current node if any */
const xmlChar **namespaces; /* the namespaces definitions */
int nb_namespaces; /* the number of namespaces */
};
/************************************************************************
- * *
- * Type functions *
- * *
+ * *
+ * Type functions *
+ * *
************************************************************************/
/**
@@ -305,7 +308,8 @@ xmlNewPatParserContext(const xmlChar *pattern, xmlDictPtr dict,
cur->base = pattern;
if (namespaces != NULL) {
int i;
- for (i = 0;namespaces[2 * i] != NULL;i++);
+ for (i = 0;namespaces[2 * i] != NULL;i++)
+ ;
cur->nb_namespaces = i;
} else {
cur->nb_namespaces = 0;
@@ -323,7 +327,7 @@ xmlNewPatParserContext(const xmlChar *pattern, xmlDictPtr dict,
static void
xmlFreePatParserContext(xmlPatParserContextPtr ctxt) {
if (ctxt == NULL)
- return;
+ return;
memset(ctxt, -1, sizeof(xmlPatParserContext));
xmlFree(ctxt);
}
@@ -451,9 +455,9 @@ xmlReversePattern(xmlPatternPtr comp) {
}
/************************************************************************
- * *
- * The interpreter for the precompiled patterns *
- * *
+ * *
+ * The interpreter for the precompiled patterns *
+ * *
************************************************************************/
static int
@@ -705,7 +709,7 @@ rollback:
* *
************************************************************************/
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -715,14 +719,14 @@ rollback:
#define PEEKPREV(val) ctxt->cur[-(val)]
#define CUR_PTR ctxt->cur
-#define SKIP_BLANKS \
+#define SKIP_BLANKS \
while (IS_BLANK_CH(CUR)) NEXT
#define CURRENT (*ctxt->cur)
#define NEXT ((*ctxt->cur) ? ctxt->cur++: ctxt->cur)
-#define PUSH(op, val, val2) \
+#define PUSH(op, val, val2) \
if (xmlPatternAdd(ctxt, ctxt->comp, (op), (val), (val2))) goto error;
#define XSLT_ERROR(X) \
@@ -768,7 +772,7 @@ xmlPatScanLiteral(xmlPatParserContextPtr ctxt) {
if (ctxt->dict)
ret = (xmlChar *) xmlDictLookup(ctxt->dict, q, cur - q);
else
- ret = xmlStrndup(q, cur - q);
+ ret = xmlStrndup(q, cur - q);
}
cur += len;
CUR_PTR = cur;
@@ -787,7 +791,7 @@ xmlPatScanLiteral(xmlPatParserContextPtr ctxt) {
if (ctxt->dict)
ret = (xmlChar *) xmlDictLookup(ctxt->dict, q, cur - q);
else
- ret = xmlStrndup(q, cur - q);
+ ret = xmlStrndup(q, cur - q);
}
cur += len;
CUR_PTR = cur;
@@ -804,7 +808,7 @@ xmlPatScanLiteral(xmlPatParserContextPtr ctxt) {
* xmlPatScanName:
* @ctxt: the XPath Parser context
*
- * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' |
+ * [4] NameChar ::= Letter | Digit | '.' | '-' | '_' |
* CombiningChar | Extender
*
* [5] Name ::= (Letter | '_' | ':') (NameChar)*
@@ -829,7 +833,7 @@ xmlPatScanName(xmlPatParserContextPtr ctxt) {
while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
(val == '.') || (val == '-') ||
- (val == '_') ||
+ (val == '_') ||
(IS_COMBINING(val)) ||
(IS_EXTENDER(val))) {
cur += len;
@@ -838,7 +842,7 @@ xmlPatScanName(xmlPatParserContextPtr ctxt) {
if (ctxt->dict)
ret = (xmlChar *) xmlDictLookup(ctxt->dict, q, cur - q);
else
- ret = xmlStrndup(q, cur - q);
+ ret = xmlStrndup(q, cur - q);
CUR_PTR = cur;
return(ret);
}
@@ -918,7 +922,7 @@ xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) {
xmlChar *token = NULL;
xmlChar *name = NULL;
xmlChar *URL = NULL;
-
+
SKIP_BLANKS;
name = xmlPatScanNCName(ctxt);
if (name == NULL) {
@@ -935,10 +939,10 @@ xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) {
if (CUR == ':') {
int i;
xmlChar *prefix = name;
-
+
NEXT;
- if (IS_BLANK_CH(CUR)) {
+ if (IS_BLANK_CH(CUR)) {
ERROR5(NULL, NULL, NULL, "Invalid QName.\n", NULL);
XML_PAT_FREE_STRING(ctxt, prefix);
ctxt->error = 1;
@@ -953,11 +957,11 @@ xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) {
(prefix[2] == 'l') &&
(prefix[3] == 0))
{
- XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE);
+ XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE);
} else {
for (i = 0;i < ctxt->nb_namespaces;i++) {
if (xmlStrEqual(ctxt->namespaces[2 * i + 1], prefix)) {
- XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i])
+ XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i])
break;
}
}
@@ -965,7 +969,7 @@ xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) {
ERROR5(NULL, NULL, NULL,
"xmlCompileAttributeTest : no namespace bound to prefix %s\n",
prefix);
- ctxt->error = 1;
+ ctxt->error = 1;
goto error;
}
}
@@ -979,7 +983,7 @@ xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) {
"xmlCompileAttributeTest : Name expected\n");
ctxt->error = 1;
goto error;
- }
+ }
} else {
PUSH(XML_OP_ATTR, token, URL);
}
@@ -989,7 +993,7 @@ xmlCompileAttributeTest(xmlPatParserContextPtr ctxt) {
return;
error:
if (URL != NULL)
- XML_PAT_FREE_STRING(ctxt, URL)
+ XML_PAT_FREE_STRING(ctxt, URL)
if (token != NULL)
XML_PAT_FREE_STRING(ctxt, token);
}
@@ -1002,7 +1006,7 @@ error:
* form suitable for fast matching.
*
* [3] Step ::= '.' | NameTest
- * [4] NameTest ::= QName | '*' | NCName ':' '*'
+ * [4] NameTest ::= QName | '*' | NCName ':' '*'
*/
static void
@@ -1033,7 +1037,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
}
NEXT;
xmlCompileAttributeTest(ctxt);
- if (ctxt->error != 0)
+ if (ctxt->error != 0)
goto error;
return;
}
@@ -1058,7 +1062,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
NEXT;
if (CUR != ':') {
xmlChar *prefix = name;
- int i;
+ int i;
if (hasBlanks || IS_BLANK_CH(CUR)) {
ERROR5(NULL, NULL, NULL, "Invalid QName.\n", NULL);
@@ -1091,6 +1095,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
}
}
XML_PAT_FREE_STRING(ctxt, prefix);
+ name = NULL;
if (token == NULL) {
if (CUR == '*') {
NEXT;
@@ -1106,7 +1111,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
}
} else {
NEXT;
- if (xmlStrEqual(name, (const xmlChar *) "child")) {
+ if (xmlStrEqual(name, (const xmlChar *) "child")) {
XML_PAT_FREE_STRING(ctxt, name);
name = xmlPatScanName(ctxt);
if (name == NULL) {
@@ -1124,7 +1129,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
if (CUR == ':') {
xmlChar *prefix = name;
int i;
-
+
NEXT;
if (IS_BLANK_CH(CUR)) {
ERROR5(NULL, NULL, NULL, "Invalid QName.\n", NULL);
@@ -1140,11 +1145,11 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
(prefix[2] == 'l') &&
(prefix[3] == 0))
{
- XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE)
+ XML_PAT_COPY_NSNAME(ctxt, URL, XML_XML_NAMESPACE)
} else {
for (i = 0;i < ctxt->nb_namespaces;i++) {
if (xmlStrEqual(ctxt->namespaces[2 * i + 1], prefix)) {
- XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i])
+ XML_PAT_COPY_NSNAME(ctxt, URL, ctxt->namespaces[2 * i])
break;
}
}
@@ -1157,6 +1162,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
}
}
XML_PAT_FREE_STRING(ctxt, prefix);
+ name = NULL;
if (token == NULL) {
if (CUR == '*') {
NEXT;
@@ -1191,7 +1197,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
"The 'element' or 'attribute' axis is expected.\n", NULL);
ctxt->error = 1;
goto error;
- }
+ }
}
} else if (CUR == '*') {
if (name != NULL) {
@@ -1206,7 +1212,7 @@ xmlCompileStepPattern(xmlPatParserContextPtr ctxt) {
return;
error:
if (URL != NULL)
- XML_PAT_FREE_STRING(ctxt, URL)
+ XML_PAT_FREE_STRING(ctxt, URL)
if (token != NULL)
XML_PAT_FREE_STRING(ctxt, token)
if (name != NULL)
@@ -1220,7 +1226,7 @@ error:
* Compile the Path Pattern and generates a precompiled
* form suitable for fast matching.
*
- * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
+ * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
*/
static void
xmlCompilePathPattern(xmlPatParserContextPtr ctxt) {
@@ -1230,7 +1236,7 @@ xmlCompilePathPattern(xmlPatParserContextPtr ctxt) {
} else if ((CUR == '.') || (ctxt->comp->flags & XML_PATTERN_NOTPATTERN)) {
ctxt->comp->flags |= PAT_FROM_CUR;
}
-
+
if ((CUR == '/') && (NXT(1) == '/')) {
PUSH(XML_OP_ANCESTOR, NULL, NULL);
NEXT;
@@ -1293,7 +1299,7 @@ xmlCompilePathPattern(xmlPatParserContextPtr ctxt) {
ERROR5(NULL, NULL, NULL,
"Incomplete expression '%s'.\n", ctxt->base);
ctxt->error = 1;
- goto error;
+ goto error;
}
xmlCompileStepPattern(ctxt);
if (ctxt->error != 0)
@@ -1317,7 +1323,7 @@ error:
* Compile the Path Pattern and generates a precompiled
* form suitable for fast matching.
*
- * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
+ * [5] Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
*/
static void
xmlCompileIDCXPathPath(xmlPatParserContextPtr ctxt) {
@@ -1372,7 +1378,7 @@ xmlCompileIDCXPathPath(xmlPatParserContextPtr ctxt) {
*/
do {
xmlCompileStepPattern(ctxt);
- if (ctxt->error != 0)
+ if (ctxt->error != 0)
goto error;
SKIP_BLANKS;
if (CUR != '/')
@@ -1391,7 +1397,7 @@ xmlCompileIDCXPathPath(xmlPatParserContextPtr ctxt) {
}
if (CUR == 0)
goto error_unfinished;
-
+
} while (CUR != 0);
if (CUR != 0) {
@@ -1407,7 +1413,7 @@ error:
error_unfinished:
ctxt->error = 1;
ERROR5(NULL, NULL, NULL,
- "Unfinished expression '%s'.\n", ctxt->base);
+ "Unfinished expression '%s'.\n", ctxt->base);
return;
}
@@ -1562,7 +1568,7 @@ xmlStreamCompAddStep(xmlStreamCompPtr comp, const xmlChar *name,
/**
* xmlStreamCompile:
* @comp: the precompiled pattern
- *
+ *
* Tries to stream compile a pattern
*
* Returns -1 in case of failure and 0 in case of success.
@@ -1599,7 +1605,7 @@ xmlStreamCompile(xmlPatternPtr comp) {
xmlDictReference(stream->dict);
}
- i = 0;
+ i = 0;
if (comp->flags & PAT_FROM_ROOT)
stream->flags |= XML_STREAM_FROM_ROOT;
@@ -1615,12 +1621,12 @@ xmlStreamCompile(xmlPatternPtr comp) {
break;
case XML_OP_NS:
s = xmlStreamCompAddStep(stream, NULL, step.value,
- XML_ELEMENT_NODE, flags);
+ XML_ELEMENT_NODE, flags);
if (s < 0)
goto error;
prevs = s;
- flags = 0;
- break;
+ flags = 0;
+ break;
case XML_OP_ATTR:
flags |= XML_STREAM_STEP_ATTR;
prevs = -1;
@@ -1630,7 +1636,7 @@ xmlStreamCompile(xmlPatternPtr comp) {
if (s < 0)
goto error;
break;
- case XML_OP_ELEM:
+ case XML_OP_ELEM:
if ((step.value == NULL) && (step.value2 == NULL)) {
/*
* We have a "." or "self::node()" here.
@@ -1649,7 +1655,7 @@ xmlStreamCompile(xmlPatternPtr comp) {
if (comp->nbStep == i + 1) {
stream->flags |= XML_STREAM_FINAL_IS_ANY_NODE;
}
- flags |= XML_STREAM_STEP_NODE;
+ flags |= XML_STREAM_STEP_NODE;
s = xmlStreamCompAddStep(stream, NULL, NULL,
XML_STREAM_ANY_NODE, flags);
if (s < 0)
@@ -1665,39 +1671,39 @@ xmlStreamCompile(xmlPatternPtr comp) {
stream->steps[prevs].flags |= XML_STREAM_STEP_IN_SET;
prevs = -1;
}
- break;
+ break;
} else {
/* Just skip this one. */
continue;
}
}
- /* An element node. */
+ /* An element node. */
s = xmlStreamCompAddStep(stream, step.value, step.value2,
- XML_ELEMENT_NODE, flags);
+ XML_ELEMENT_NODE, flags);
if (s < 0)
goto error;
prevs = s;
- flags = 0;
- break;
+ flags = 0;
+ break;
case XML_OP_CHILD:
/* An element node child. */
s = xmlStreamCompAddStep(stream, step.value, step.value2,
- XML_ELEMENT_NODE, flags);
+ XML_ELEMENT_NODE, flags);
if (s < 0)
goto error;
prevs = s;
flags = 0;
- break;
+ break;
case XML_OP_ALL:
s = xmlStreamCompAddStep(stream, NULL, NULL,
- XML_ELEMENT_NODE, flags);
+ XML_ELEMENT_NODE, flags);
if (s < 0)
goto error;
prevs = s;
flags = 0;
break;
- case XML_OP_PARENT:
+ case XML_OP_PARENT:
break;
case XML_OP_ANCESTOR:
/* Skip redundant continuations. */
@@ -1711,7 +1717,7 @@ xmlStreamCompile(xmlPatternPtr comp) {
stream->flags |= XML_STREAM_DESC;
break;
}
- }
+ }
if ((! root) && (comp->flags & XML_PATTERN_NOTPATTERN) == 0) {
/*
* If this should behave like a real pattern, we will mark
@@ -1723,7 +1729,7 @@ xmlStreamCompile(xmlPatternPtr comp) {
if (stream->nbStep > 0) {
if ((stream->steps[0].flags & XML_STREAM_STEP_DESC) == 0)
- stream->steps[0].flags |= XML_STREAM_STEP_DESC;
+ stream->steps[0].flags |= XML_STREAM_STEP_DESC;
}
}
if (stream->nbStep <= s)
@@ -1916,7 +1922,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
if ((nodeType != XML_ATTRIBUTE_NODE) &&
(((stream->flags & XML_PATTERN_NOTPATTERN) == 0) ||
(stream->level == 0))) {
- ret = 1;
+ ret = 1;
}
stream->level++;
goto stream_next;
@@ -1925,7 +1931,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
/*
* Skip blocked expressions.
*/
- stream->level++;
+ stream->level++;
goto stream_next;
}
@@ -1968,7 +1974,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
* If there are "//", then we need to process every "//"
* occuring in the states, plus any other state for this
* level.
- */
+ */
stepNr = stream->states[2 * i];
/* TODO: should not happen anymore: dead states */
@@ -1986,7 +1992,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
if ((tmp < stream->level) && (!desc))
goto next_state;
}
- /*
+ /*
* Check for correct node-type.
*/
step = comp->steps[stepNr];
@@ -2000,7 +2006,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
goto next_state;
} else if (step.nodeType != XML_STREAM_ANY_NODE)
goto next_state;
- }
+ }
/*
* Compare local/namespace-name.
*/
@@ -2021,9 +2027,9 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
xmlStrEqual(step.name, name) &&
((step.ns == ns) || xmlStrEqual(step.ns, ns)))
{
- match = 1;
- }
-#if 0
+ match = 1;
+ }
+#if 0
/*
* TODO: Pointer comparison won't work, since not guaranteed that the given
* values are in the same dict; especially if it's the namespace name,
@@ -2038,8 +2044,8 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
} else {
match = ((step.name == name) && (step.ns == ns));
}
-#endif /* if 0 ------------------------------------------------------- */
- if (match) {
+#endif /* if 0 ------------------------------------------------------- */
+ if (match) {
final = step.flags & XML_STREAM_STEP_FINAL;
if (desc) {
if (final) {
@@ -2064,7 +2070,7 @@ xmlStreamPushInternal(xmlStreamCtxtPtr stream,
*/
ret = 1;
}
- }
+ }
if (((comp->flags & XML_STREAM_DESC) == 0) &&
((! match) || final)) {
/*
@@ -2095,7 +2101,7 @@ next_state:
* Re/enter the expression if it is a "descendant" one,
* or if we are at the 1st level of evaluation.
*/
-
+
if (stream->level == 1) {
if (XML_STREAM_XS_IDC(stream)) {
/*
@@ -2105,7 +2111,7 @@ next_state:
goto stream_next;
} else
goto compare;
- }
+ }
/*
* A "//" is always reentrant.
*/
@@ -2115,14 +2121,14 @@ next_state:
/*
* XS-IDC: Process the 2nd level, since the missing
* "self::node()" is responsible for the 2nd level being
- * the real start level.
- */
+ * the real start level.
+ */
if ((stream->level == 2) && XML_STREAM_XS_IDC(stream))
goto compare;
goto stream_next;
}
-
+
compare:
/*
* Check expected node-type.
@@ -2131,7 +2137,7 @@ compare:
if (nodeType == XML_ATTRIBUTE_NODE)
goto stream_next;
else if (step.nodeType != XML_STREAM_ANY_NODE)
- goto stream_next;
+ goto stream_next;
}
/*
* Compare local/namespace-name.
@@ -2153,10 +2159,10 @@ compare:
xmlStrEqual(step.name, name) &&
((step.ns == ns) || xmlStrEqual(step.ns, ns)))
{
- match = 1;
- }
+ match = 1;
+ }
final = step.flags & XML_STREAM_STEP_FINAL;
- if (match) {
+ if (match) {
if (final)
ret = 1;
else
@@ -2181,7 +2187,7 @@ compare:
stream_next:
stream = stream->next;
} /* while stream != NULL */
-
+
if (err > 0)
ret = -1;
#ifdef DEBUG_STREAMING
@@ -2273,7 +2279,7 @@ xmlStreamPushAttr(xmlStreamCtxtPtr stream,
int
xmlStreamPop(xmlStreamCtxtPtr stream) {
int i, lev;
-
+
if (stream == NULL)
return(-1);
while (stream != NULL) {
@@ -2283,12 +2289,16 @@ xmlStreamPop(xmlStreamCtxtPtr stream) {
if (stream->blockLevel == stream->level)
stream->blockLevel = -1;
- stream->level--;
- if (stream->level < 0)
- return(-1);
+ /*
+ * stream->level can be zero when XML_FINAL_IS_ANY_NODE is set
+ * (see the thread at
+ * http://mail.gnome.org/archives/xslt/2008-July/msg00027.html)
+ */
+ if (stream->level)
+ stream->level--;
/*
* Check evolution of existing states
- */
+ */
for (i = stream->nbState -1; i >= 0; i--) {
/* discard obsoleted states */
lev = stream->states[(2 * i) + 1];
@@ -2316,11 +2326,11 @@ xmlStreamPop(xmlStreamCtxtPtr stream) {
*/
int
xmlStreamWantsAnyNode(xmlStreamCtxtPtr streamCtxt)
-{
+{
if (streamCtxt == NULL)
return(-1);
while (streamCtxt != NULL) {
- if (streamCtxt->comp->flags & XML_STREAM_FINAL_IS_ANY_NODE)
+ if (streamCtxt->comp->flags & XML_STREAM_FINAL_IS_ANY_NODE)
return(1);
streamCtxt = streamCtxt->next;
}
@@ -2371,13 +2381,13 @@ xmlPatterncompile(const xmlChar *pattern, xmlDict *dict, int flags,
}
or++;
}
- if (ctxt == NULL) goto error;
+ if (ctxt == NULL) goto error;
cur = xmlNewPattern();
if (cur == NULL) goto error;
/*
* Assign string dict.
*/
- if (dict) {
+ if (dict) {
cur->dict = dict;
xmlDictReference(dict);
}
@@ -2560,7 +2570,7 @@ xmlPatternMaxDepth(xmlPatternPtr comp) {
* part of the set.
*
* Returns -1 in case of error otherwise the depth,
- *
+ *
*/
int
xmlPatternMinDepth(xmlPatternPtr comp) {
diff --git a/gettext-tools/gnulib-lib/libxml/relaxng.c b/gettext-tools/gnulib-lib/libxml/relaxng.c
index 16527cc..5779e7f 100644
--- a/gettext-tools/gnulib-lib/libxml/relaxng.c
+++ b/gettext-tools/gnulib-lib/libxml/relaxng.c
@@ -39,9 +39,10 @@
static const xmlChar *xmlRelaxNGNs = (const xmlChar *)
"http://relaxng.org/ns/structure/1.0";
-#define IS_RELAXNG(node, type) \
+#define IS_RELAXNG(node, typ) \
((node != NULL) && (node->ns != NULL) && \
- (xmlStrEqual(node->name, (const xmlChar *) type)) && \
+ (node->type == XML_ELEMENT_NODE) && \
+ (xmlStrEqual(node->name, (const xmlChar *) typ)) && \
(xmlStrEqual(node->ns->href, xmlRelaxNGNs)))
@@ -60,7 +61,7 @@ static const xmlChar *xmlRelaxNGNs = (const xmlChar *)
#define DEBUG_LIST 1
-#define DEBUG_INCLUDE 1
+#define DEBUG_INCLUDE 1
#define DEBUG_ERROR 1
@@ -71,7 +72,7 @@ static const xmlChar *xmlRelaxNGNs = (const xmlChar *)
#define MAX_ERROR 5
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -149,6 +150,7 @@ typedef enum {
#define IS_PROCESSED (1 << 5)
#define IS_COMPILABLE (1 << 6)
#define IS_NOT_COMPILABLE (1 << 7)
+#define IS_EXTERNAL_REF (1 << 8)
struct _xmlRelaxNGDefine {
xmlRelaxNGType type; /* the type of definition */
@@ -414,12 +416,13 @@ struct _xmlRelaxNGDocument {
xmlDocPtr doc; /* the associated XML document */
xmlRelaxNGDefinePtr content; /* the definitions */
xmlRelaxNGPtr schema; /* the schema */
+ int externalRef; /* 1 if an external ref */
};
/************************************************************************
* *
- * Some factorized error routines *
+ * Some factorized error routines *
* *
************************************************************************/
@@ -562,9 +565,9 @@ xmlRngVErr(xmlRelaxNGValidCtxtPtr ctxt, xmlNodePtr node, int error,
}
/************************************************************************
- * *
- * Preliminary type checking interfaces *
- * *
+ * *
+ * Preliminary type checking interfaces *
+ * *
************************************************************************/
/**
@@ -652,9 +655,9 @@ struct _xmlRelaxNGTypeLibrary {
};
/************************************************************************
- * *
- * Allocation functions *
- * *
+ * *
+ * Allocation functions *
+ * *
************************************************************************/
static void xmlRelaxNGFreeGrammar(xmlRelaxNGGrammarPtr grammar);
static void xmlRelaxNGFreeDefine(xmlRelaxNGDefinePtr define);
@@ -1006,7 +1009,7 @@ xmlRelaxNGNewStates(xmlRelaxNGValidCtxtPtr ctxt, int size)
xmlRelaxNGStatesPtr ret;
if ((ctxt != NULL) &&
- (ctxt->freeState != NULL) && (ctxt->freeStatesNr > 0)) {
+ (ctxt->freeStates != NULL) && (ctxt->freeStatesNr > 0)) {
ctxt->freeStatesNr--;
ret = ctxt->freeStates[ctxt->freeStatesNr];
ret->nbState = 0;
@@ -1092,7 +1095,7 @@ xmlRelaxNGAddStates(xmlRelaxNGValidCtxtPtr ctxt,
{
int i;
- if (state == NULL) {
+ if (state == NULL || states == NULL) {
return (-1);
}
if (states->nbState >= states->maxState) {
@@ -1395,9 +1398,9 @@ xmlRelaxNGFreeValidState(xmlRelaxNGValidCtxtPtr ctxt,
}
/************************************************************************
- * *
- * Semi internal functions *
- * *
+ * *
+ * Semi internal functions *
+ * *
************************************************************************/
/**
@@ -1427,9 +1430,9 @@ xmlRelaxParserSetFlag(xmlRelaxNGParserCtxtPtr ctxt, int flags)
}
/************************************************************************
- * *
- * Document functions *
- * *
+ * *
+ * Document functions *
+ * *
************************************************************************/
static xmlDocPtr xmlRelaxNGCleanupDoc(xmlRelaxNGParserCtxtPtr ctxt,
xmlDocPtr doc);
@@ -1559,8 +1562,8 @@ xmlRelaxNGRemoveRedefine(xmlRelaxNGParserCtxtPtr ctxt,
href = xmlGetProp(tmp, BAD_CAST "href");
#endif
if (xmlRelaxNGRemoveRedefine(ctxt, href,
- inc->doc->children->
- children, name) == 1) {
+ xmlDocGetRootElement(inc->doc)->children,
+ name) == 1) {
found = 1;
}
#ifdef DEBUG_INCLUDE
@@ -1970,6 +1973,7 @@ xmlRelaxNGLoadExternalRef(xmlRelaxNGParserCtxtPtr ctxt,
ret->doc = doc;
ret->href = xmlStrdup(URL);
ret->next = ctxt->documents;
+ ret->externalRef = 1;
ctxt->documents = ret;
/*
@@ -2004,9 +2008,9 @@ xmlRelaxNGLoadExternalRef(xmlRelaxNGParserCtxtPtr ctxt,
}
/************************************************************************
- * *
- * Error functions *
- * *
+ * *
+ * Error functions *
+ * *
************************************************************************/
#define VALID_ERR(a) xmlRelaxNGAddValidError(ctxt, a, NULL, NULL, 0);
@@ -2357,7 +2361,7 @@ xmlRelaxNGAddValidError(xmlRelaxNGValidCtxtPtr ctxt,
* generate the error directly
*/
if (((ctxt->flags & FLAGS_IGNORABLE) == 0) ||
- (ctxt->flags & FLAGS_NEGATIVE)) {
+ (ctxt->flags & FLAGS_NEGATIVE)) {
xmlNodePtr node, seq;
/*
@@ -2372,6 +2376,9 @@ xmlRelaxNGAddValidError(xmlRelaxNGValidCtxtPtr ctxt,
} else {
node = seq = NULL;
}
+ if ((node == NULL) && (seq == NULL)) {
+ node = ctxt->pnode;
+ }
xmlRelaxNGShowValidError(ctxt, err, node, seq, arg1, arg2);
}
/*
@@ -2384,9 +2391,9 @@ xmlRelaxNGAddValidError(xmlRelaxNGValidCtxtPtr ctxt,
/************************************************************************
- * *
- * Type library hooks *
- * *
+ * *
+ * Type library hooks *
+ * *
************************************************************************/
static xmlChar *xmlRelaxNGNormalize(xmlRelaxNGValidCtxtPtr ctxt,
const xmlChar * str);
@@ -2588,13 +2595,10 @@ xmlRelaxNGSchemaTypeCompare(void *data ATTRIBUTE_UNUSED,
}
ret = xmlSchemaValPredefTypeNode(typ, value2, &res2, ctxt2);
if (ret != 0) {
- if ((comp1 == NULL) && (res1 != NULL))
+ if (res1 != (xmlSchemaValPtr) comp1)
xmlSchemaFreeValue(res1);
return (-1);
}
- if (res1 == NULL) {
- return (-1);
- }
ret = xmlSchemaCompareValues(res1, res2);
if (res1 != (xmlSchemaValPtr) comp1)
xmlSchemaFreeValue(res1);
@@ -2841,14 +2845,18 @@ xmlRelaxNGCleanupTypes(void)
}
/************************************************************************
- * *
- * Compiling element content into regexp *
- * *
+ * *
+ * Compiling element content into regexp *
+ * *
* Sometime the element content can be compiled into a pure regexp, *
* This allows a faster execution and streamability at that level *
- * *
+ * *
************************************************************************/
+/* from automata.c but not exported */
+void xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
+
+
static int xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt,
xmlRelaxNGDefinePtr def);
@@ -3032,14 +3040,25 @@ xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def)
ctxt->am = xmlNewAutomata();
if (ctxt->am == NULL)
return (-1);
+
+ /*
+ * assume identical strings but not same pointer are different
+ * atoms, needed for non-determinism detection
+ * That way if 2 elements with the same name are in a choice
+ * branch the automata is found non-deterministic and
+ * we fallback to the normal validation which does the right
+ * thing of exploring both choices.
+ */
+ xmlAutomataSetFlags(ctxt->am, 1);
+
ctxt->state = xmlAutomataGetInitState(ctxt->am);
while (list != NULL) {
xmlRelaxNGCompile(ctxt, list);
list = list->next;
}
xmlAutomataSetFinalState(ctxt->am, ctxt->state);
- def->contModel = xmlAutomataCompile(ctxt->am);
- xmlRegexpIsDeterminist(def->contModel);
+ if (xmlAutomataIsDeterminist(ctxt->am))
+ def->contModel = xmlAutomataCompile(ctxt->am);
xmlFreeAutomata(ctxt->am);
ctxt->state = oldstate;
@@ -3063,6 +3082,7 @@ xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def)
ctxt->am = xmlNewAutomata();
if (ctxt->am == NULL)
return (-1);
+ xmlAutomataSetFlags(ctxt->am, 1);
ctxt->state = xmlAutomataGetInitState(ctxt->am);
while (list != NULL) {
xmlRelaxNGCompile(ctxt, list);
@@ -3071,6 +3091,11 @@ xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def)
xmlAutomataSetFinalState(ctxt->am, ctxt->state);
def->contModel = xmlAutomataCompile(ctxt->am);
if (!xmlRegexpIsDeterminist(def->contModel)) {
+#ifdef DEBUG_COMPILE
+ xmlGenericError(xmlGenericErrorContext,
+ "Content model not determinist %s\n",
+ def->name);
+#endif
/*
* we can only use the automata if it is determinist
*/
@@ -3098,7 +3123,11 @@ xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def)
case XML_RELAXNG_OPTIONAL:{
xmlAutomataStatePtr oldstate = ctxt->state;
- xmlRelaxNGCompile(ctxt, def->content);
+ list = def->content;
+ while (list != NULL) {
+ xmlRelaxNGCompile(ctxt, list);
+ list = list->next;
+ }
xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state);
break;
}
@@ -3294,9 +3323,9 @@ xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def)
}
/************************************************************************
- * *
- * Parsing functions *
- * *
+ * *
+ * Parsing functions *
+ * *
************************************************************************/
static xmlRelaxNGDefinePtr xmlRelaxNGParseAttribute(xmlRelaxNGParserCtxtPtr
@@ -3440,6 +3469,9 @@ xmlRelaxNGGetDataTypeLibrary(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
{
xmlChar *ret, *escape;
+ if (node == NULL)
+ return(NULL);
+
if ((IS_RELAXNG(node, "data")) || (IS_RELAXNG(node, "value"))) {
ret = xmlGetProp(node, BAD_CAST "datatypeLibrary");
if (ret != NULL) {
@@ -3787,7 +3819,11 @@ xmlRelaxNGCompareNameClasses(xmlRelaxNGDefinePtr def1,
return (0);
return (1);
} else if (def1->type == XML_RELAXNG_EXCEPT) {
- TODO ret = 0;
+ ret = xmlRelaxNGCompareNameClasses(def1->content, def2);
+ if (ret == 0)
+ ret = 1;
+ else if (ret == 1)
+ ret = 0;
} else {
TODO ret = 0;
}
@@ -4616,6 +4652,72 @@ xmlRelaxNGParseDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node)
}
/**
+ * xmlRelaxNGParseImportRef:
+ * @payload: the parser context
+ * @data: the current grammar
+ * @name: the reference name
+ *
+ * Import import one references into the current grammar
+ */
+static void
+xmlRelaxNGParseImportRef(void *payload, void *data, xmlChar *name) {
+ xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data;
+ xmlRelaxNGDefinePtr def = (xmlRelaxNGDefinePtr) payload;
+ int tmp;
+
+ def->dflags |= IS_EXTERNAL_REF;
+
+ tmp = xmlHashAddEntry(ctxt->grammar->refs, name, def);
+ if (tmp < 0) {
+ xmlRelaxNGDefinePtr prev;
+
+ prev = (xmlRelaxNGDefinePtr)
+ xmlHashLookup(ctxt->grammar->refs, def->name);
+ if (prev == NULL) {
+ if (def->name != NULL) {
+ xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED,
+ "Error refs definitions '%s'\n",
+ def->name, NULL);
+ } else {
+ xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED,
+ "Error refs definitions\n",
+ NULL, NULL);
+ }
+ } else {
+ def->nextHash = prev->nextHash;
+ prev->nextHash = def;
+ }
+ }
+}
+
+/**
+ * xmlRelaxNGParseImportRefs:
+ * @ctxt: the parser context
+ * @grammar: the sub grammar
+ *
+ * Import references from the subgrammar into the current grammar
+ *
+ * Returns 0 in case of success, -1 in case of failure
+ */
+static int
+xmlRelaxNGParseImportRefs(xmlRelaxNGParserCtxtPtr ctxt,
+ xmlRelaxNGGrammarPtr grammar) {
+ if ((ctxt == NULL) || (grammar == NULL) || (ctxt->grammar == NULL))
+ return(-1);
+ if (grammar->refs == NULL)
+ return(0);
+ if (ctxt->grammar->refs == NULL)
+ ctxt->grammar->refs = xmlHashCreate(10);
+ if (ctxt->grammar->refs == NULL) {
+ xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED,
+ "Could not create references hash\n", NULL, NULL);
+ return(-1);
+ }
+ xmlHashScan(grammar->refs, xmlRelaxNGParseImportRef, ctxt);
+ return(0);
+}
+
+/**
* xmlRelaxNGProcessExternalRef:
* @ctxt: the parser context
* @node: the externlRef node
@@ -4683,6 +4785,8 @@ xmlRelaxNGProcessExternalRef(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node)
if ((docu->schema != NULL) &&
(docu->schema->topgrammar != NULL)) {
docu->content = docu->schema->topgrammar->start;
+ if (docu->schema->topgrammar->refs)
+ xmlRelaxNGParseImportRefs(ctxt, docu->schema->topgrammar);
}
/*
@@ -5267,7 +5371,8 @@ xmlRelaxNGParseNameClass(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node,
} else {
xmlRngPErr(ctxt, node, XML_RNGP_CHOICE_CONTENT,
"expecting name, anyName, nsName or choice : got %s\n",
- node->name, NULL);
+ (node == NULL ? (const xmlChar *) "nothing" : node->name),
+ NULL);
return (NULL);
}
if (ret != def) {
@@ -5569,6 +5674,12 @@ xmlRelaxNGCheckReference(xmlRelaxNGDefinePtr ref,
xmlRelaxNGGrammarPtr grammar;
xmlRelaxNGDefinePtr def, cur;
+ /*
+ * Those rules don't apply to imported ref from xmlRelaxNGParseImportRef
+ */
+ if (ref->dflags & IS_EXTERNAL_REF)
+ return;
+
grammar = ctxt->grammar;
if (grammar == NULL) {
xmlRngPErr(ctxt, ref->node, XML_ERR_INTERNAL_ERROR,
@@ -6133,7 +6244,7 @@ xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt,
xmlRelaxNGDefinePtr cur, int flags,
xmlRelaxNGType ptype)
{
- int nflags = flags;
+ int nflags;
xmlRelaxNGContentType ret, tmp, val = XML_RELAXNG_CONTENT_EMPTY;
while (cur != NULL) {
@@ -6157,6 +6268,16 @@ xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt,
"Found forbidden pattern data/except//ref\n",
NULL, NULL);
}
+ if (cur->content == NULL) {
+ if (cur->type == XML_RELAXNG_PARENTREF)
+ xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_NO_DEF,
+ "Internal found no define for parent refs\n",
+ NULL, NULL);
+ else
+ xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_NO_DEF,
+ "Internal found no define for ref %s\n",
+ (cur->name ? cur->name: BAD_CAST "null"), NULL);
+ }
if (cur->depth > -4) {
cur->depth = -4;
ret = xmlRelaxNGCheckRules(ctxt, cur->content,
@@ -6408,6 +6529,10 @@ xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt,
if (ptype == XML_RELAXNG_GROUP) {
val = xmlRelaxNGGroupContentType(val, ret);
} else if (ptype == XML_RELAXNG_INTERLEAVE) {
+ /*
+ * TODO: scan complain that tmp is never used, seems on purpose
+ * need double-checking
+ */
tmp = xmlRelaxNGGroupContentType(val, ret);
if (tmp != XML_RELAXNG_CONTENT_ERROR)
tmp = xmlRelaxNGMaxContentType(val, ret);
@@ -6479,7 +6604,7 @@ xmlRelaxNGParseGrammar(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes)
}
/*
- * Apply 4.17 mergingd rules to defines and starts
+ * Apply 4.17 merging rules to defines and starts
*/
xmlRelaxNGCombineStart(ctxt, ret);
if (ret->defs != NULL) {
@@ -6495,6 +6620,9 @@ xmlRelaxNGParseGrammar(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes)
ctxt);
}
+
+ /* @@@@ */
+
ctxt->grammar = old;
return (ret);
}
@@ -6528,12 +6656,17 @@ xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node)
ctxt->define = NULL;
if (IS_RELAXNG(node, "grammar")) {
schema->topgrammar = xmlRelaxNGParseGrammar(ctxt, node->children);
+ if (schema->topgrammar == NULL) {
+ xmlRelaxNGFree(schema);
+ return (NULL);
+ }
} else {
xmlRelaxNGGrammarPtr tmp, ret;
schema->topgrammar = ret = xmlRelaxNGNewGrammar(ctxt);
if (schema->topgrammar == NULL) {
- return (schema);
+ xmlRelaxNGFree(schema);
+ return (NULL);
}
/*
* Link the new grammar in the tree
@@ -6579,9 +6712,9 @@ xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node)
}
/************************************************************************
- * *
- * Reading RelaxNGs *
- * *
+ * *
+ * Reading RelaxNGs *
+ * *
************************************************************************/
/**
@@ -7190,7 +7323,7 @@ xmlRelaxNGCleanupTree(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr root)
}
}
/*
- * Thisd is not an else since "include" is transformed
+ * This is not an else since "include" is transformed
* into a div
*/
if (xmlStrEqual(cur->name, BAD_CAST "div")) {
@@ -7219,13 +7352,13 @@ xmlRelaxNGCleanupTree(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr root)
if (ns != NULL)
xmlFree(ns);
/*
- * Since we are about to delete cur, if it's nsDef is non-NULL we
+ * Since we are about to delete cur, if its nsDef is non-NULL we
* need to preserve it (it contains the ns definitions for the
* children we just moved). We'll just stick it on to the end
* of cur->parent's list, since it's never going to be re-serialized
* (bug 143738).
*/
- if (cur->nsDef != NULL) {
+ if ((cur->nsDef != NULL) && (cur->parent != NULL)) {
xmlNsPtr parDef = (xmlNsPtr)&cur->parent->nsDef;
while (parDef->next != NULL)
parDef = parDef->next;
@@ -7243,7 +7376,8 @@ xmlRelaxNGCleanupTree(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr root)
else if ((cur->type == XML_TEXT_NODE) ||
(cur->type == XML_CDATA_SECTION_NODE)) {
if (IS_BLANK_NODE(cur)) {
- if (cur->parent->type == XML_ELEMENT_NODE) {
+ if ((cur->parent != NULL) &&
+ (cur->parent->type == XML_ELEMENT_NODE)) {
if ((!xmlStrEqual(cur->parent->name, BAD_CAST "value"))
&&
(!xmlStrEqual
@@ -7395,7 +7529,7 @@ xmlRelaxNGParse(xmlRelaxNGParserCtxtPtr ctxt)
xmlRngPErr(ctxt, (xmlNodePtr) doc,
XML_RNGP_EMPTY, "xmlRelaxNGParse: %s is empty\n",
(ctxt->URL ? ctxt->URL : BAD_CAST "schemas"), NULL);
-
+
xmlFreeDoc(ctxt->document);
ctxt->document = NULL;
return (NULL);
@@ -7537,9 +7671,9 @@ xmlRelaxNGSetParserStructuredErrors(xmlRelaxNGParserCtxtPtr ctxt,
#ifdef LIBXML_OUTPUT_ENABLED
/************************************************************************
- * *
- * Dump back a compiled form *
- * *
+ * *
+ * Dump back a compiled form *
+ * *
************************************************************************/
static void xmlRelaxNGDumpDefine(FILE * output,
xmlRelaxNGDefinePtr define);
@@ -7680,7 +7814,7 @@ xmlRelaxNGDumpDefine(FILE * output, xmlRelaxNGDefinePtr define)
* xmlRelaxNGDumpGrammar:
* @output: the file output
* @grammar: a grammar structure
- * @top: is this a top grammar
+ * @top: is this a top grammar
*
* Dump a RelaxNG structure back
*/
@@ -7773,9 +7907,9 @@ xmlRelaxNGDumpTree(FILE * output, xmlRelaxNGPtr schema)
#endif /* LIBXML_OUTPUT_ENABLED */
/************************************************************************
- * *
- * Validation of compiled content *
- * *
+ * *
+ * Validation of compiled content *
+ * *
************************************************************************/
static int xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGDefinePtr define);
@@ -7918,9 +8052,9 @@ xmlRelaxNGValidateCompiledContent(xmlRelaxNGValidCtxtPtr ctxt,
}
/************************************************************************
- * *
- * Progressive validation of when possible *
- * *
+ * *
+ * Progressive validation of when possible *
+ * *
************************************************************************/
static int xmlRelaxNGValidateAttributeList(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGDefinePtr defines);
@@ -8220,7 +8354,7 @@ xmlRelaxNGValidatePushElement(xmlRelaxNGValidCtxtPtr ctxt,
* xmlRelaxNGValidatePushCData:
* @ctxt: the RelaxNG validation context
* @data: some character data read
- * @len: the lenght of the data
+ * @len: the length of the data
*
* check the CData parsed for validation in the current stack
*
@@ -8343,7 +8477,7 @@ xmlRelaxNGValidateFullElement(xmlRelaxNGValidCtxtPtr ctxt,
ret = -1;
else
ret = 1;
- xmlRelaxNGFreeValidState(ctxt, state);
+ xmlRelaxNGFreeValidState(ctxt, ctxt->state);
ctxt->state = NULL;
#ifdef DEBUG_PROGRESSIVE
if (ret < 0)
@@ -8354,9 +8488,9 @@ xmlRelaxNGValidateFullElement(xmlRelaxNGValidCtxtPtr ctxt,
}
/************************************************************************
- * *
- * Generic interpreted validation implementation *
- * *
+ * *
+ * Generic interpreted validation implementation *
+ * *
************************************************************************/
static int xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGDefinePtr define);
@@ -8758,6 +8892,11 @@ xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt,
case XML_RELAXNG_ZEROORMORE:{
xmlChar *cur, *temp;
+ if ((ctxt->state->value == NULL) ||
+ (*ctxt->state->value == 0)) {
+ ret = 0;
+ break;
+ }
oldflags = ctxt->flags;
ctxt->flags |= FLAGS_IGNORABLE;
cur = ctxt->state->value;
@@ -8779,6 +8918,30 @@ xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGPopErrors(ctxt, 0);
break;
}
+ case XML_RELAXNG_OPTIONAL:{
+ xmlChar *temp;
+
+ if ((ctxt->state->value == NULL) ||
+ (*ctxt->state->value == 0)) {
+ ret = 0;
+ break;
+ }
+ oldflags = ctxt->flags;
+ ctxt->flags |= FLAGS_IGNORABLE;
+ temp = ctxt->state->value;
+ ret = xmlRelaxNGValidateValue(ctxt, define->content);
+ ctxt->flags = oldflags;
+ if (ret != 0) {
+ ctxt->state->value = temp;
+ if (ctxt->errNr > 0)
+ xmlRelaxNGPopErrors(ctxt, 0);
+ ret = 0;
+ break;
+ }
+ if (ctxt->errNr > 0)
+ xmlRelaxNGPopErrors(ctxt, 0);
+ break;
+ }
case XML_RELAXNG_EXCEPT:{
xmlRelaxNGDefinePtr list;
@@ -8812,7 +8975,12 @@ xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt,
}
case XML_RELAXNG_REF:
case XML_RELAXNG_PARENTREF:
- ret = xmlRelaxNGValidateValue(ctxt, define->content);
+ if (define->content == NULL) {
+ VALID_ERR(XML_RELAXNG_ERR_NODEFINE);
+ ret = -1;
+ } else {
+ ret = xmlRelaxNGValidateValue(ctxt, define->content);
+ }
break;
default:
TODO ret = -1;
@@ -8889,6 +9057,19 @@ xmlRelaxNGAttributeMatch(xmlRelaxNGValidCtxtPtr ctxt,
return (ret);
list = list->next;
}
+ } else if (define->type == XML_RELAXNG_CHOICE) {
+ xmlRelaxNGDefinePtr list;
+
+ list = define->nameClass;
+ while (list != NULL) {
+ ret = xmlRelaxNGAttributeMatch(ctxt, list, prop);
+ if (ret == 1)
+ return (1);
+ if (ret < 0)
+ return (ret);
+ list = list->next;
+ }
+ return (0);
} else {
TODO}
return (1);
@@ -9248,6 +9429,10 @@ xmlRelaxNGValidateInterleave(xmlRelaxNGValidCtxtPtr ctxt,
oldstate = ctxt->state;
for (i = 0; i < nbgroups; i++) {
ctxt->state = xmlRelaxNGCopyValidState(ctxt, oldstate);
+ if (ctxt->state == NULL) {
+ ret = -1;
+ break;
+ }
group = partitions->groups[i];
if (lasts[i] != NULL) {
last = lasts[i]->next;
@@ -9319,6 +9504,7 @@ xmlRelaxNGValidateInterleave(xmlRelaxNGValidCtxtPtr ctxt,
oldstate =
ctxt->states->tabState[ctxt->states->nbState - 1];
ctxt->states->tabState[ctxt->states->nbState - 1] = NULL;
+ ctxt->states->nbState--;
}
}
for (j = 0; j < ctxt->states->nbState ; j++) {
@@ -9327,7 +9513,12 @@ xmlRelaxNGValidateInterleave(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGFreeStates(ctxt, ctxt->states);
ctxt->states = NULL;
if (found == 0) {
- VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, cur->name);
+ if (cur == NULL) {
+ VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA,
+ (const xmlChar *) "noname");
+ } else {
+ VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, cur->name);
+ }
ret = -1;
ctxt->state = oldstate;
goto done;
@@ -9672,7 +9863,7 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
ctxt->depth++;
switch (define->type) {
case XML_RELAXNG_EMPTY:
- node = xmlRelaxNGSkipIgnored(ctxt, node);
+ xmlRelaxNGSkipIgnored(ctxt, node);
ret = 0;
break;
case XML_RELAXNG_NOT_ALLOWED:
@@ -9828,7 +10019,8 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
ret = -1;
} else {
state = ctxt->state;
- ctxt->state->seq = nseq;
+ if (ctxt->state != NULL)
+ ctxt->state->seq = nseq;
if (ret == 0)
ret = xmlRelaxNGValidateElementEnd(ctxt, 1);
xmlRelaxNGFreeValidState(ctxt, state);
@@ -9873,8 +10065,8 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
}
for (i = 0; i < ctxt->states->nbState; i++) {
xmlRelaxNGFreeValidState(ctxt,
- ctxt->states->
- tabState[i]);
+ ctxt->states->tabState[i]);
+ ctxt->states->tabState[i] = NULL;
}
xmlRelaxNGFreeStates(ctxt, ctxt->states);
ctxt->flags = oldflags;
@@ -9996,11 +10188,8 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
} else {
for (j = 0; j < ctxt->states->nbState; j++) {
xmlRelaxNGAddStates(ctxt, res,
- xmlRelaxNGCopyValidState(ctxt,
- ctxt->
- states->
- tabState
- [j]));
+ xmlRelaxNGCopyValidState(ctxt,
+ ctxt->states->tabState[j]));
}
}
oldflags = ctxt->flags;
@@ -10029,10 +10218,7 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
j++) {
tmp =
xmlRelaxNGAddStates(ctxt, res,
- ctxt->
- states->
- tabState
- [j]);
+ ctxt->states->tabState[j]);
if (tmp == 1)
progress = 1;
}
@@ -10066,9 +10252,7 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
} else if (ctxt->states != NULL) {
for (j = 0; j < ctxt->states->nbState; j++) {
tmp = xmlRelaxNGAddStates(ctxt, res,
- ctxt->
- states->
- tabState[j]);
+ ctxt->states->tabState[j]);
if (tmp == 1)
progress = 1;
}
@@ -10106,8 +10290,7 @@ xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt,
for (i = base; i < res->nbState; i++)
xmlRelaxNGAddStates(ctxt, states,
xmlRelaxNGCopyValidState
- (ctxt,
- res->tabState[i]));
+ (ctxt, res->tabState[i]));
ctxt->states = states;
}
}
@@ -10629,10 +10812,64 @@ xmlRelaxNGValidateDocument(xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc)
return (ret);
}
+/**
+ * xmlRelaxNGCleanPSVI:
+ * @node: an input element or document
+ *
+ * Call this routine to speed up XPath computation on static documents.
+ * This stamps all the element nodes with the document order
+ * Like for line information, the order is kept in the element->content
+ * field, the value stored is actually - the node number (starting at -1)
+ * to be able to differentiate from line numbers.
+ *
+ * Returns the number of elements found in the document or -1 in case
+ * of error.
+ */
+static void
+xmlRelaxNGCleanPSVI(xmlNodePtr node) {
+ xmlNodePtr cur;
+
+ if ((node == NULL) ||
+ ((node->type != XML_ELEMENT_NODE) &&
+ (node->type != XML_DOCUMENT_NODE) &&
+ (node->type != XML_HTML_DOCUMENT_NODE)))
+ return;
+ if (node->type == XML_ELEMENT_NODE)
+ node->psvi = NULL;
+
+ cur = node->children;
+ while (cur != NULL) {
+ if (cur->type == XML_ELEMENT_NODE) {
+ cur->psvi = NULL;
+ if (cur->children != NULL) {
+ cur = cur->children;
+ continue;
+ }
+ }
+ if (cur->next != NULL) {
+ cur = cur->next;
+ continue;
+ }
+ do {
+ cur = cur->parent;
+ if (cur == NULL)
+ break;
+ if (cur == node) {
+ cur = NULL;
+ break;
+ }
+ if (cur->next != NULL) {
+ cur = cur->next;
+ break;
+ }
+ } while (cur != NULL);
+ }
+ return;
+}
/************************************************************************
- * *
- * Validation interfaces *
- * *
+ * *
+ * Validation interfaces *
+ * *
************************************************************************/
/**
@@ -10803,6 +11040,11 @@ xmlRelaxNGValidateDoc(xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc)
ret = xmlRelaxNGValidateDocument(ctxt, doc);
/*
+ * Remove all left PSVI
+ */
+ xmlRelaxNGCleanPSVI((xmlNodePtr) doc);
+
+ /*
* TODO: build error codes
*/
if (ret == -1)
diff --git a/gettext-tools/gnulib-lib/libxml/relaxng.in.h b/gettext-tools/gnulib-lib/libxml/relaxng.in.h
index 6acd467..f269c9e 100644
--- a/gettext-tools/gnulib-lib/libxml/relaxng.in.h
+++ b/gettext-tools/gnulib-lib/libxml/relaxng.in.h
@@ -25,11 +25,32 @@ typedef xmlRelaxNG *xmlRelaxNGPtr;
/**
- * A schemas validation context
+ * xmlRelaxNGValidityErrorFunc:
+ * @ctx: the validation context
+ * @msg: the message
+ * @...: extra arguments
+ *
+ * Signature of an error callback from a Relax-NG validation
+ */
+typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
+ const char *msg,
+ ...) LIBXML_ATTR_FORMAT(2,3);
+
+/**
+ * xmlRelaxNGValidityWarningFunc:
+ * @ctx: the validation context
+ * @msg: the message
+ * @...: extra arguments
+ *
+ * Signature of a warning callback from a Relax-NG validation
*/
-typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...);
-typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...);
+typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
+ const char *msg,
+ ...) LIBXML_ATTR_FORMAT(2,3);
+/**
+ * A schemas validation context
+ */
typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
@@ -97,27 +118,27 @@ typedef enum {
XMLPUBFUN int XMLCALL
xmlRelaxNGInitTypes (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGCleanupTypes (void);
/*
* Interfaces for parsing.
*/
-XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
xmlRelaxNGNewParserCtxt (const char *URL);
-XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
xmlRelaxNGNewMemParserCtxt (const char *buffer,
int size);
-XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc);
XMLPUBFUN int XMLCALL
xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt,
- int flag);
+ int flag);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
xmlRelaxNGValidityErrorFunc err,
xmlRelaxNGValidityWarningFunc warn,
@@ -132,12 +153,12 @@ XMLPUBFUN void XMLCALL
xmlRelaxNGParserCtxtPtr ctxt,
xmlStructuredErrorFunc serror,
void *ctx);
-XMLPUBFUN xmlRelaxNGPtr XMLCALL
+XMLPUBFUN xmlRelaxNGPtr XMLCALL
xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGFree (xmlRelaxNGPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGDump (FILE *output,
xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
@@ -147,12 +168,12 @@ XMLPUBFUN void XMLCALL
/*
* Interfaces for validating
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGValidityErrorFunc err,
xmlRelaxNGValidityWarningFunc warn,
void *ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
xmlRelaxNGValidityErrorFunc *err,
xmlRelaxNGValidityWarningFunc *warn,
@@ -160,29 +181,29 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN void XMLCALL
xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
xmlStructuredErrorFunc serror, void *ctx);
-XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
+XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt,
- xmlDocPtr doc);
+ xmlDocPtr doc);
/*
* Interfaces for progressive validation when possible
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt,
const xmlChar *data,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem);
diff --git a/gettext-tools/gnulib-lib/libxml/save.h b/gettext-tools/gnulib-lib/libxml/save.h
new file mode 100644
index 0000000..2c32a10
--- /dev/null
+++ b/gettext-tools/gnulib-lib/libxml/save.h
@@ -0,0 +1,35 @@
+/*
+ * Summary: Internal Interfaces for saving in libxml2
+ * Description: this module describes a few interfaces which were
+ * addded along with the API changes in 2.9.0
+ * those are private routines at this point
+ *
+ * Copy: See Copyright for the status of this software.
+ *
+ * Author: Daniel Veillard
+ */
+
+#ifndef __XML_SAVE_H__
+#define __XML_SAVE_H__
+
+#include <libxml/tree.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LIBXML_OUTPUT_ENABLED
+void xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
+ xmlAttrPtr attr, const xmlChar * string);
+void xmlBufDumpNotationTable(xmlBufPtr buf, xmlNotationTablePtr table);
+void xmlBufDumpElementDecl(xmlBufPtr buf, xmlElementPtr elem);
+void xmlBufDumpAttributeDecl(xmlBufPtr buf, xmlAttributePtr attr);
+void xmlBufDumpEntityDecl(xmlBufPtr buf, xmlEntityPtr ent);
+xmlChar *xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __XML_SAVE_H__ */
+
diff --git a/gettext-tools/gnulib-lib/libxml/schemasInternals.in.h b/gettext-tools/gnulib-lib/libxml/schemasInternals.in.h
index b68a6e1..4f0ca9a 100644
--- a/gettext-tools/gnulib-lib/libxml/schemasInternals.in.h
+++ b/gettext-tools/gnulib-lib/libxml/schemasInternals.in.h
@@ -104,8 +104,8 @@ typedef enum {
XML_SCHEMA_TYPE_IDC_UNIQUE,
XML_SCHEMA_TYPE_IDC_KEY,
XML_SCHEMA_TYPE_IDC_KEYREF,
- XML_SCHEMA_TYPE_PARTICLE = 25,
- XML_SCHEMA_TYPE_ATTRIBUTE_USE,
+ XML_SCHEMA_TYPE_PARTICLE = 25,
+ XML_SCHEMA_TYPE_ATTRIBUTE_USE,
XML_SCHEMA_FACET_MININCLUSIVE = 1000,
XML_SCHEMA_FACET_MINEXCLUSIVE,
XML_SCHEMA_FACET_MAXINCLUSIVE,
diff --git a/gettext-tools/gnulib-lib/libxml/schematron.c b/gettext-tools/gnulib-lib/libxml/schematron.c
index 0a90ff8..eb4befe 100644
--- a/gettext-tools/gnulib-lib/libxml/schematron.c
+++ b/gettext-tools/gnulib-lib/libxml/schematron.c
@@ -53,7 +53,7 @@ static const xmlChar *xmlOldSchematronNs = SCT_OLD_NS;
#define NEXT_SCHEMATRON(node) \
while (node != NULL) { \
- if ((node->type == XML_ELEMENT_NODE ) && (node->ns != NULL) && \
+ if ((node->type == XML_ELEMENT_NODE ) && (node->ns != NULL) && \
((xmlStrEqual(node->ns->href, xmlSchematronNs)) || \
(xmlStrEqual(node->ns->href, xmlOldSchematronNs)))) \
break; \
@@ -65,7 +65,7 @@ static const xmlChar *xmlOldSchematronNs = SCT_OLD_NS;
*
* macro to flag unimplemented blocks
*/
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -165,9 +165,17 @@ struct _xmlSchematronValidCtxt {
FILE *outputFile; /* if using XML_SCHEMATRON_OUT_FILE */
xmlBufferPtr outputBuffer; /* if using XML_SCHEMATRON_OUT_BUFFER */
+#ifdef LIBXML_OUTPUT_ENABLED
xmlOutputWriteCallback iowrite; /* if using XML_SCHEMATRON_OUT_IO */
xmlOutputCloseCallback ioclose;
+#endif
void *ioctx;
+
+ /* error reporting data */
+ void *userData; /* user specific data block */
+ xmlSchematronValidityErrorFunc error;/* the callback in case of errors */
+ xmlSchematronValidityWarningFunc warning;/* callback in case of warning */
+ xmlStructuredErrorFunc serror; /* the structured function */
};
struct _xmlSchematronParserCtxt {
@@ -193,12 +201,11 @@ struct _xmlSchematronParserCtxt {
int maxIncludes; /* size of the array */
xmlNodePtr *includes; /* the array of includes */
- /* error rreporting data */
+ /* error reporting data */
void *userData; /* user specific data block */
xmlSchematronValidityErrorFunc error;/* the callback in case of errors */
xmlSchematronValidityWarningFunc warning;/* callback in case of warning */
xmlStructuredErrorFunc serror; /* the structured function */
-
};
#define XML_STRON_CTXT_PARSER 1
@@ -235,7 +242,7 @@ xmlSchematronPErrMemory(xmlSchematronParserCtxtPtr ctxt,
* @msg: the error message
* @str1: extra data
* @str2: extra data
- *
+ *
* Handle a parser error
*/
static void
@@ -563,7 +570,7 @@ xmlSchematronFree(xmlSchematronPtr schema)
if (schema->namespaces != NULL)
xmlFree((char **) schema->namespaces);
-
+
xmlSchematronFreeRules(schema->rules);
xmlSchematronFreePatterns(schema->patterns);
xmlDictFree(schema->dict);
@@ -714,6 +721,7 @@ xmlSchematronFreeParserCtxt(xmlSchematronParserCtxtPtr ctxt)
xmlFree(ctxt);
}
+#if 0
/**
* xmlSchematronPushInclude:
* @ctxt: the schema parser context
@@ -782,6 +790,7 @@ xmlSchematronPopInclude(xmlSchematronParserCtxtPtr ctxt)
return(xmlSchematronPopInclude(ctxt));
return(ret);
}
+#endif
/**
* xmlSchematronAddNamespace:
@@ -819,9 +828,9 @@ xmlSchematronAddNamespace(xmlSchematronParserCtxtPtr ctxt,
ctxt->namespaces = tmp;
ctxt->maxNamespaces *= 2;
}
- ctxt->namespaces[2 * ctxt->nbNamespaces] =
+ ctxt->namespaces[2 * ctxt->nbNamespaces] =
xmlDictLookup(ctxt->dict, ns, -1);
- ctxt->namespaces[2 * ctxt->nbNamespaces + 1] =
+ ctxt->namespaces[2 * ctxt->nbNamespaces + 1] =
xmlDictLookup(ctxt->dict, prefix, -1);
ctxt->nbNamespaces++;
ctxt->namespaces[2 * ctxt->nbNamespaces] = NULL;
@@ -987,6 +996,7 @@ xmlSchematronParsePattern(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr pat)
}
}
+#if 0
/**
* xmlSchematronLoadInclude:
* @ctxt: a schema validation context
@@ -1051,6 +1061,7 @@ done:
xmlFree(URI);
return(ret);
}
+#endif
/**
* xmlSchematronParse:
@@ -1200,6 +1211,9 @@ xmlSchematronParse(xmlSchematronParserCtxtPtr ctxt)
}
/* the original document must be kept for reporting */
ret->doc = doc;
+ if (preserve) {
+ ret->preserve = 1;
+ }
preserve = 1;
exit:
@@ -1276,7 +1290,7 @@ xmlSchematronReportOutput(xmlSchematronValidCtxtPtr ctxt ATTRIBUTE_UNUSED,
* to be deallocated by teh caller
*/
static xmlChar *
-xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
+xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
xmlNodePtr test, xmlNodePtr cur) {
xmlChar *ret = NULL;
xmlNodePtr child, node;
@@ -1302,7 +1316,7 @@ xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
xmlFree(path);
}
- if ((node->ns == NULL) || (node->ns->prefix == NULL))
+ if ((node->ns == NULL) || (node->ns->prefix == NULL))
ret = xmlStrcat(ret, node->name);
else {
ret = xmlStrcat(ret, node->ns->prefix);
@@ -1353,8 +1367,8 @@ xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
* been done.
*/
static void
-xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt,
- xmlSchematronTestPtr test, xmlNodePtr cur, int success) {
+xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt,
+ xmlSchematronTestPtr test, xmlNodePtr cur, xmlSchematronPatternPtr pattern, int success) {
if ((ctxt == NULL) || (cur == NULL) || (test == NULL))
return;
/* if quiet and not SVRL report only failures */
@@ -1385,18 +1399,41 @@ xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt,
report = xmlSchematronFormatReport(ctxt, test->node, cur);
if (report == NULL) {
if (test->type == XML_SCHEMATRON_ASSERT) {
- snprintf(msg, 999, "%s line %ld: node failed assert\n",
- (const char *) path, line);
+ report = xmlStrdup((const xmlChar *) "node failed assert");
} else {
- snprintf(msg, 999, "%s line %ld: node failed report\n",
- (const char *) path, line);
+ report = xmlStrdup((const xmlChar *) "node failed report");
+ }
}
- } else {
snprintf(msg, 999, "%s line %ld: %s\n", (const char *) path,
line, (const char *) report);
- xmlFree((char *) report);
+
+ if (ctxt->flags & XML_SCHEMATRON_OUT_ERROR) {
+ xmlStructuredErrorFunc schannel = NULL;
+ xmlGenericErrorFunc channel = NULL;
+ void *data = NULL;
+
+ if (ctxt != NULL) {
+ if (ctxt->serror != NULL)
+ schannel = ctxt->serror;
+ else
+ channel = ctxt->error;
+ data = ctxt->userData;
}
+
+ __xmlRaiseError(schannel, channel, data,
+ NULL, cur, XML_FROM_SCHEMATRONV,
+ (test->type == XML_SCHEMATRON_ASSERT)?XML_SCHEMATRONV_ASSERT:XML_SCHEMATRONV_REPORT,
+ XML_ERR_ERROR, NULL, line,
+ (pattern == NULL)?NULL:((const char *) pattern->name),
+ (const char *) path,
+ (const char *) report, 0, 0,
+ "%s", msg);
+ } else {
xmlSchematronReportOutput(ctxt, cur, &msg[0]);
+ }
+
+ xmlFree((char *) report);
+
if ((path != NULL) && (path != (xmlChar *) cur->name))
xmlFree(path);
}
@@ -1410,11 +1447,11 @@ xmlSchematronReportSuccess(xmlSchematronValidCtxtPtr ctxt,
* called from the validation engine when starting to check a pattern
*/
static void
-xmlSchematronReportPattern(xmlSchematronValidCtxtPtr ctxt,
+xmlSchematronReportPattern(xmlSchematronValidCtxtPtr ctxt,
xmlSchematronPatternPtr pattern) {
if ((ctxt == NULL) || (pattern == NULL))
return;
- if (ctxt->flags & XML_SCHEMATRON_OUT_QUIET)
+ if ((ctxt->flags & XML_SCHEMATRON_OUT_QUIET) || (ctxt->flags & XML_SCHEMATRON_OUT_ERROR)) /* Error gives pattern name as part of error */
return;
if (ctxt->flags & XML_SCHEMATRON_OUT_XML) {
TODO
@@ -1436,6 +1473,26 @@ xmlSchematronReportPattern(xmlSchematronValidCtxtPtr ctxt,
************************************************************************/
/**
+ * xmlSchematronSetValidStructuredErrors:
+ * @ctxt: a Schematron validation context
+ * @serror: the structured error function
+ * @ctx: the functions context
+ *
+ * Set the structured error callback
+ */
+void
+xmlSchematronSetValidStructuredErrors(xmlSchematronValidCtxtPtr ctxt,
+ xmlStructuredErrorFunc serror, void *ctx)
+{
+ if (ctxt == NULL)
+ return;
+ ctxt->serror = serror;
+ ctxt->error = NULL;
+ ctxt->warning = NULL;
+ ctxt->userData = ctx;
+}
+
+/**
* xmlSchematronNewValidCtxt:
* @schema: a precompiled XML Schematrons
* @options: a set of xmlSchematronValidOptions
@@ -1517,7 +1574,7 @@ xmlSchematronNextNode(xmlNodePtr cur) {
(cur->type != XML_DTD_NODE))
return(cur);
}
-
+
do {
cur = cur->parent;
if (cur == NULL) break;
@@ -1534,7 +1591,7 @@ xmlSchematronNextNode(xmlNodePtr cur) {
* xmlSchematronRunTest:
* @ctxt: the schema validation context
* @test: the current test
- * @instance: the document instace tree
+ * @instance: the document instace tree
* @cur: the current node in the instance
*
* Validate a rule against a tree instance at a given position
@@ -1543,7 +1600,7 @@ xmlSchematronNextNode(xmlNodePtr cur) {
*/
static int
xmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt,
- xmlSchematronTestPtr test, xmlDocPtr instance, xmlNodePtr cur)
+ xmlSchematronTestPtr test, xmlDocPtr instance, xmlNodePtr cur, xmlSchematronPatternPtr pattern)
{
xmlXPathObjectPtr ret;
int failed;
@@ -1590,7 +1647,7 @@ xmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt,
else if ((!failed) && (test->type == XML_SCHEMATRON_REPORT))
ctxt->nberrors++;
- xmlSchematronReportSuccess(ctxt, test, cur, !failed);
+ xmlSchematronReportSuccess(ctxt, test, cur, pattern, !failed);
return(!failed);
}
@@ -1598,7 +1655,7 @@ xmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt,
/**
* xmlSchematronValidateDoc:
* @ctxt: the schema validation context
- * @instance: the document instace tree
+ * @instance: the document instace tree
*
* Validate a tree instance against the schematron
*
@@ -1636,13 +1693,13 @@ xmlSchematronValidateDoc(xmlSchematronValidCtxtPtr ctxt, xmlDocPtr instance)
if (xmlPatternMatch(rule->pattern, cur) == 1) {
test = rule->tests;
while (test != NULL) {
- xmlSchematronRunTest(ctxt, test, instance, cur);
+ xmlSchematronRunTest(ctxt, test, instance, cur, (xmlSchematronPatternPtr)rule->pattern);
test = test->next;
}
}
rule = rule->next;
}
-
+
cur = xmlSchematronNextNode(cur);
}
} else {
@@ -1650,14 +1707,14 @@ xmlSchematronValidateDoc(xmlSchematronValidCtxtPtr ctxt, xmlDocPtr instance)
* Process all contexts one at a time
*/
pattern = ctxt->schema->patterns;
-
+
while (pattern != NULL) {
xmlSchematronReportPattern(ctxt, pattern);
/*
* TODO convert the pattern rule to a direct XPath and
* compute directly instead of using the pattern matching
- * over the full document...
+ * over the full document...
* Check the exact semantic
*/
cur = root;
@@ -1667,13 +1724,13 @@ xmlSchematronValidateDoc(xmlSchematronValidCtxtPtr ctxt, xmlDocPtr instance)
if (xmlPatternMatch(rule->pattern, cur) == 1) {
test = rule->tests;
while (test != NULL) {
- xmlSchematronRunTest(ctxt, test, instance, cur);
+ xmlSchematronRunTest(ctxt, test, instance, cur, pattern);
test = test->next;
}
}
rule = rule->patnext;
}
-
+
cur = xmlSchematronNextNode(cur);
}
pattern = pattern->next;
diff --git a/gettext-tools/gnulib-lib/libxml/schematron.in.h b/gettext-tools/gnulib-lib/libxml/schematron.in.h
index 6eaa699..364eaec 100644
--- a/gettext-tools/gnulib-lib/libxml/schematron.in.h
+++ b/gettext-tools/gnulib-lib/libxml/schematron.in.h
@@ -25,6 +25,7 @@ typedef enum {
XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */
XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */
XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */
+ XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */
XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */
XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */
XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */
@@ -37,11 +38,28 @@ typedef struct _xmlSchematron xmlSchematron;
typedef xmlSchematron *xmlSchematronPtr;
/**
- * A schemas validation context
+ * xmlSchematronValidityErrorFunc:
+ * @ctx: the validation context
+ * @msg: the message
+ * @...: extra arguments
+ *
+ * Signature of an error callback from a Schematron validation
*/
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);
+
+/**
+ * xmlSchematronValidityWarningFunc:
+ * @ctx: the validation context
+ * @msg: the message
+ * @...: extra arguments
+ *
+ * Signature of a warning callback from a Schematron validation
+ */
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);
+/**
+ * A schemas validation context
+ */
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
@@ -51,17 +69,17 @@ typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
/*
* Interfaces for parsing.
*/
-XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
xmlSchematronNewParserCtxt (const char *URL);
-XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
xmlSchematronNewMemParserCtxt(const char *buffer,
int size);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt);
/*****
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
xmlSchematronValidityErrorFunc err,
xmlSchematronValidityWarningFunc warn,
@@ -74,20 +92,20 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt);
*****/
-XMLPUBFUN xmlSchematronPtr XMLCALL
+XMLPUBFUN xmlSchematronPtr XMLCALL
xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchematronFree (xmlSchematronPtr schema);
/*
* Interfaces for validating
*/
-/******
XMLPUBFUN void XMLCALL
xmlSchematronSetValidStructuredErrors(
xmlSchematronValidCtxtPtr ctxt,
xmlStructuredErrorFunc serror,
void *ctx);
-XMLPUBFUN void XMLCALL
+/******
+XMLPUBFUN void XMLCALL
xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt,
xmlSchematronValidityErrorFunc err,
xmlSchematronValidityWarningFunc warn,
@@ -107,12 +125,12 @@ XMLPUBFUN int XMLCALL
xmlNodePtr elem);
*******/
-XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
+XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
xmlSchematronNewValidCtxt (xmlSchematronPtr schema,
- int options);
-XMLPUBFUN void XMLCALL
+ int options);
+XMLPUBFUN void XMLCALL
xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt,
xmlDocPtr instance);
diff --git a/gettext-tools/gnulib-lib/libxml/threads.c b/gettext-tools/gnulib-lib/libxml/threads.c
index 7124bca..b9d6cae 100644
--- a/gettext-tools/gnulib-lib/libxml/threads.c
+++ b/gettext-tools/gnulib-lib/libxml/threads.c
@@ -1,5 +1,5 @@
/**
- * threads.c: set of generic threading related routines
+ * threads.c: set of generic threading related routines
*
* See Copyright for the status of this software.
*
@@ -26,9 +26,7 @@
#endif
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
-#endif
-
-#ifdef HAVE_WIN32_THREADS
+#elif defined HAVE_WIN32_THREADS
#include <windows.h>
#ifndef HAVE_COMPILER_TLS
#include <process.h>
@@ -49,7 +47,7 @@
#ifdef HAVE_PTHREAD_H
static int libxml_is_threaded = -1;
-#ifdef __GNUC__
+#if defined(__GNUC__) && defined(__GLIBC__)
#ifdef linux
#if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
extern int pthread_once (pthread_once_t *__once_control,
@@ -63,6 +61,8 @@ extern int pthread_setspecific (pthread_key_t __key,
extern int pthread_key_create (pthread_key_t *__key,
void (*__destr_function) (void *))
__attribute((weak));
+extern int pthread_key_delete (pthread_key_t __key)
+ __attribute((weak));
extern int pthread_mutex_init ()
__attribute((weak));
extern int pthread_mutex_destroy ()
@@ -73,17 +73,23 @@ extern int pthread_mutex_unlock ()
__attribute((weak));
extern int pthread_cond_init ()
__attribute((weak));
+extern int pthread_cond_destroy ()
+ __attribute((weak));
+extern int pthread_cond_wait ()
+ __attribute((weak));
extern int pthread_equal ()
__attribute((weak));
extern pthread_t pthread_self ()
__attribute((weak));
extern int pthread_key_create ()
__attribute((weak));
+extern int pthread_key_delete ()
+ __attribute((weak));
extern int pthread_cond_signal ()
__attribute((weak));
#endif
#endif /* linux */
-#endif /* __GNUC__ */
+#endif /* defined(__GNUC__) && defined(__GLIBC__) */
#endif /* HAVE_PTHREAD_H */
/*
@@ -101,8 +107,8 @@ struct _xmlMutex {
#elif defined HAVE_WIN32_THREADS
HANDLE mutex;
#elif defined HAVE_BEOS_THREADS
- sem_id sem;
- thread_id tid;
+ sem_id sem;
+ thread_id tid;
#else
int empty;
#endif
@@ -114,21 +120,22 @@ struct _xmlMutex {
struct _xmlRMutex {
#ifdef HAVE_PTHREAD_H
pthread_mutex_t lock;
- unsigned int held;
- unsigned int waiters;
- pthread_t tid;
- pthread_cond_t cv;
+ unsigned int held;
+ unsigned int waiters;
+ pthread_t tid;
+ pthread_cond_t cv;
#elif defined HAVE_WIN32_THREADS
CRITICAL_SECTION cs;
unsigned int count;
#elif defined HAVE_BEOS_THREADS
- xmlMutexPtr lock;
- thread_id tid;
- int32 count;
+ xmlMutexPtr lock;
+ thread_id tid;
+ int32 count;
#else
int empty;
#endif
};
+
/*
* This module still has some internal static data.
* - xmlLibraryLock a global lock
@@ -136,9 +143,11 @@ struct _xmlRMutex {
*/
#ifdef HAVE_PTHREAD_H
-static pthread_key_t globalkey;
-static pthread_t mainthread;
+static pthread_key_t globalkey;
+static pthread_t mainthread;
static pthread_once_t once_control = PTHREAD_ONCE_INIT;
+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
+static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
#elif defined HAVE_WIN32_THREADS
#if defined(HAVE_COMPILER_TLS)
static __declspec(thread) xmlGlobalState tlstate;
@@ -147,19 +156,23 @@ static __declspec(thread) int tlstate_inited = 0;
static DWORD globalkey = TLS_OUT_OF_INDEXES;
#endif /* HAVE_COMPILER_TLS */
static DWORD mainthread;
-static struct
-{
+static struct {
DWORD done;
DWORD control;
-} run_once = { 0, 0 };
+} run_once = { 0, 0};
+static volatile LPCRITICAL_SECTION global_init_lock = NULL;
+
/* endif HAVE_WIN32_THREADS */
#elif defined HAVE_BEOS_THREADS
int32 globalkey = 0;
thread_id mainthread = 0;
int32 run_once_init = 0;
+static int32 global_init_lock = -1;
+static vint32 global_init_count = 0;
#endif
-static xmlRMutexPtr xmlLibraryLock = NULL;
+static xmlRMutexPtr xmlLibraryLock = NULL;
+
#ifdef LIBXML_THREAD_ENABLED
static void xmlOnceInit(void);
#endif
@@ -181,15 +194,15 @@ xmlNewMutex(void)
return (NULL);
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded != 0)
- pthread_mutex_init(&tok->lock, NULL);
+ pthread_mutex_init(&tok->lock, NULL);
#elif defined HAVE_WIN32_THREADS
tok->mutex = CreateMutex(NULL, FALSE, NULL);
#elif defined HAVE_BEOS_THREADS
- if ((tok->sem = create_sem(1, "xmlMutex")) < B_OK) {
- free(tok);
- return NULL;
- }
- tok->tid = -1;
+ if ((tok->sem = create_sem(1, "xmlMutex")) < B_OK) {
+ free(tok);
+ return NULL;
+ }
+ tok->tid = -1;
#endif
return (tok);
}
@@ -204,15 +217,16 @@ xmlNewMutex(void)
void
xmlFreeMutex(xmlMutexPtr tok)
{
- if (tok == NULL) return;
+ if (tok == NULL)
+ return;
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded != 0)
- pthread_mutex_destroy(&tok->lock);
+ pthread_mutex_destroy(&tok->lock);
#elif defined HAVE_WIN32_THREADS
CloseHandle(tok->mutex);
#elif defined HAVE_BEOS_THREADS
- delete_sem(tok->sem);
+ delete_sem(tok->sem);
#endif
free(tok);
}
@@ -230,17 +244,17 @@ xmlMutexLock(xmlMutexPtr tok)
return;
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded != 0)
- pthread_mutex_lock(&tok->lock);
+ pthread_mutex_lock(&tok->lock);
#elif defined HAVE_WIN32_THREADS
WaitForSingleObject(tok->mutex, INFINITE);
#elif defined HAVE_BEOS_THREADS
- if (acquire_sem(tok->sem) != B_NO_ERROR) {
+ if (acquire_sem(tok->sem) != B_NO_ERROR) {
#ifdef DEBUG_THREADS
- xmlGenericError(xmlGenericErrorContext, "xmlMutexLock():BeOS:Couldn't aquire semaphore\n");
- exit();
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlMutexLock():BeOS:Couldn't aquire semaphore\n");
#endif
- }
- tok->tid = find_thread(NULL);
+ }
+ tok->tid = find_thread(NULL);
#endif
}
@@ -258,14 +272,14 @@ xmlMutexUnlock(xmlMutexPtr tok)
return;
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded != 0)
- pthread_mutex_unlock(&tok->lock);
+ pthread_mutex_unlock(&tok->lock);
#elif defined HAVE_WIN32_THREADS
ReleaseMutex(tok->mutex);
#elif defined HAVE_BEOS_THREADS
- if (tok->tid == find_thread(NULL)) {
- tok->tid = -1;
- release_sem(tok->sem);
- }
+ if (tok->tid == find_thread(NULL)) {
+ tok->tid = -1;
+ release_sem(tok->sem);
+ }
#endif
}
@@ -288,20 +302,20 @@ xmlNewRMutex(void)
return (NULL);
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded != 0) {
- pthread_mutex_init(&tok->lock, NULL);
- tok->held = 0;
- tok->waiters = 0;
- pthread_cond_init(&tok->cv, NULL);
+ pthread_mutex_init(&tok->lock, NULL);
+ tok->held = 0;
+ tok->waiters = 0;
+ pthread_cond_init(&tok->cv, NULL);
}
#elif defined HAVE_WIN32_THREADS
InitializeCriticalSection(&tok->cs);
tok->count = 0;
#elif defined HAVE_BEOS_THREADS
- if ((tok->lock = xmlNewMutex()) == NULL) {
- free(tok);
- return NULL;
- }
- tok->count = 0;
+ if ((tok->lock = xmlNewMutex()) == NULL) {
+ free(tok);
+ return NULL;
+ }
+ tok->count = 0;
#endif
return (tok);
}
@@ -320,13 +334,13 @@ xmlFreeRMutex(xmlRMutexPtr tok ATTRIBUTE_UNUSED)
return;
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded != 0) {
- pthread_mutex_destroy(&tok->lock);
- pthread_cond_destroy(&tok->cv);
+ pthread_mutex_destroy(&tok->lock);
+ pthread_cond_destroy(&tok->cv);
}
#elif defined HAVE_WIN32_THREADS
DeleteCriticalSection(&tok->cs);
#elif defined HAVE_BEOS_THREADS
- xmlFreeMutex(tok->lock);
+ xmlFreeMutex(tok->lock);
#endif
free(tok);
}
@@ -364,15 +378,15 @@ xmlRMutexLock(xmlRMutexPtr tok)
pthread_mutex_unlock(&tok->lock);
#elif defined HAVE_WIN32_THREADS
EnterCriticalSection(&tok->cs);
- ++tok->count;
+ tok->count++;
#elif defined HAVE_BEOS_THREADS
- if (tok->lock->tid == find_thread(NULL)) {
- tok->count++;
- return;
- } else {
- xmlMutexLock(tok->lock);
- tok->count = 1;
- }
+ if (tok->lock->tid == find_thread(NULL)) {
+ tok->count++;
+ return;
+ } else {
+ xmlMutexLock(tok->lock);
+ tok->count = 1;
+ }
#endif
}
@@ -390,26 +404,139 @@ xmlRMutexUnlock(xmlRMutexPtr tok ATTRIBUTE_UNUSED)
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded == 0)
return;
-
+
pthread_mutex_lock(&tok->lock);
tok->held--;
if (tok->held == 0) {
if (tok->waiters)
pthread_cond_signal(&tok->cv);
- tok->tid = 0;
+ memset(&tok->tid, 0, sizeof(tok->tid));
}
pthread_mutex_unlock(&tok->lock);
#elif defined HAVE_WIN32_THREADS
- if (!--tok->count)
- LeaveCriticalSection(&tok->cs);
+ if (tok->count > 0) {
+ tok->count--;
+ LeaveCriticalSection(&tok->cs);
+ }
#elif defined HAVE_BEOS_THREADS
- if (tok->lock->tid == find_thread(NULL)) {
- tok->count--;
- if (tok->count == 0) {
- xmlMutexUnlock(tok->lock);
- }
- return;
- }
+ if (tok->lock->tid == find_thread(NULL)) {
+ tok->count--;
+ if (tok->count == 0) {
+ xmlMutexUnlock(tok->lock);
+ }
+ return;
+ }
+#endif
+}
+
+/**
+ * xmlGlobalInitMutexLock
+ *
+ * Makes sure that the global initialization mutex is initialized and
+ * locks it.
+ */
+void
+__xmlGlobalInitMutexLock(void)
+{
+ /* Make sure the global init lock is initialized and then lock it. */
+#ifdef HAVE_PTHREAD_H
+ /* The mutex is statically initialized, so we just lock it. */
+ if (pthread_mutex_lock != NULL)
+ pthread_mutex_lock(&global_init_lock);
+#elif defined HAVE_WIN32_THREADS
+ LPCRITICAL_SECTION cs;
+
+ /* Create a new critical section */
+ if (global_init_lock == NULL) {
+ cs = malloc(sizeof(CRITICAL_SECTION));
+ if (cs == NULL) {
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlGlobalInitMutexLock: out of memory\n");
+ return;
+ }
+ InitializeCriticalSection(cs);
+
+ /* Swap it into the global_init_lock */
+#ifdef InterlockedCompareExchangePointer
+ InterlockedCompareExchangePointer(&global_init_lock, cs, NULL);
+#else /* Use older void* version */
+ InterlockedCompareExchange((void **) &global_init_lock,
+ (void *) cs, NULL);
+#endif /* InterlockedCompareExchangePointer */
+
+ /* If another thread successfully recorded its critical
+ * section in the global_init_lock then discard the one
+ * allocated by this thread. */
+ if (global_init_lock != cs) {
+ DeleteCriticalSection(cs);
+ free(cs);
+ }
+ }
+
+ /* Lock the chosen critical section */
+ EnterCriticalSection(global_init_lock);
+#elif defined HAVE_BEOS_THREADS
+ int32 sem;
+
+ /* Allocate a new semaphore */
+ sem = create_sem(1, "xmlGlobalinitMutex");
+
+ while (global_init_lock == -1) {
+ if (atomic_add(&global_init_count, 1) == 0) {
+ global_init_lock = sem;
+ } else {
+ snooze(1);
+ atomic_add(&global_init_count, -1);
+ }
+ }
+
+ /* If another thread successfully recorded its critical
+ * section in the global_init_lock then discard the one
+ * allocated by this thread. */
+ if (global_init_lock != sem)
+ delete_sem(sem);
+
+ /* Acquire the chosen semaphore */
+ if (acquire_sem(global_init_lock) != B_NO_ERROR) {
+#ifdef DEBUG_THREADS
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlGlobalInitMutexLock():BeOS:Couldn't acquire semaphore\n");
+#endif
+ }
+#endif
+}
+
+void
+__xmlGlobalInitMutexUnlock(void)
+{
+#ifdef HAVE_PTHREAD_H
+ if (pthread_mutex_unlock != NULL)
+ pthread_mutex_unlock(&global_init_lock);
+#elif defined HAVE_WIN32_THREADS
+ if (global_init_lock != NULL) {
+ LeaveCriticalSection(global_init_lock);
+ }
+#elif defined HAVE_BEOS_THREADS
+ release_sem(global_init_lock);
+#endif
+}
+
+/**
+ * xmlGlobalInitMutexDestroy
+ *
+ * Makes sure that the global initialization mutex is destroyed before
+ * application termination.
+ */
+void
+__xmlGlobalInitMutexDestroy(void)
+{
+#ifdef HAVE_PTHREAD_H
+#elif defined HAVE_WIN32_THREADS
+ if (global_init_lock != NULL) {
+ DeleteCriticalSection(global_init_lock);
+ free(global_init_lock);
+ global_init_lock = NULL;
+ }
#endif
}
@@ -423,6 +550,7 @@ xmlRMutexUnlock(xmlRMutexPtr tok ATTRIBUTE_UNUSED)
#ifdef xmlLastError
#undef xmlLastError
#endif
+
/**
* xmlFreeGlobalState:
* @state: a thread global state
@@ -453,10 +581,13 @@ static xmlGlobalStatePtr
xmlNewGlobalState(void)
{
xmlGlobalState *gs;
-
+
gs = malloc(sizeof(xmlGlobalState));
- if (gs == NULL)
- return(NULL);
+ if (gs == NULL) {
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlGetGlobalState: out of memory\n");
+ return (NULL);
+ }
memset(gs, 0, sizeof(xmlGlobalState));
xmlInitializeGlobalState(gs);
@@ -464,19 +595,20 @@ xmlNewGlobalState(void)
}
#endif /* LIBXML_THREAD_ENABLED */
-
-#ifdef HAVE_WIN32_THREADS
+#ifdef HAVE_PTHREAD_H
+#elif defined HAVE_WIN32_THREADS
#if !defined(HAVE_COMPILER_TLS)
#if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL)
-typedef struct _xmlGlobalStateCleanupHelperParams
-{
+typedef struct _xmlGlobalStateCleanupHelperParams {
HANDLE thread;
void *memory;
} xmlGlobalStateCleanupHelperParams;
-static void XMLCDECL xmlGlobalStateCleanupHelper (void *p)
+static void XMLCDECL
+xmlGlobalStateCleanupHelper(void *p)
{
- xmlGlobalStateCleanupHelperParams *params = (xmlGlobalStateCleanupHelperParams *) p;
+ xmlGlobalStateCleanupHelperParams *params =
+ (xmlGlobalStateCleanupHelperParams *) p;
WaitForSingleObject(params->thread, INFINITE);
CloseHandle(params->thread);
xmlFreeGlobalState(params->memory);
@@ -485,14 +617,13 @@ static void XMLCDECL xmlGlobalStateCleanupHelper (void *p)
}
#else /* LIBXML_STATIC && !LIBXML_STATIC_FOR_DLL */
-typedef struct _xmlGlobalStateCleanupHelperParams
-{
+typedef struct _xmlGlobalStateCleanupHelperParams {
void *memory;
- struct _xmlGlobalStateCleanupHelperParams * prev;
- struct _xmlGlobalStateCleanupHelperParams * next;
+ struct _xmlGlobalStateCleanupHelperParams *prev;
+ struct _xmlGlobalStateCleanupHelperParams *next;
} xmlGlobalStateCleanupHelperParams;
-static xmlGlobalStateCleanupHelperParams * cleanup_helpers_head = NULL;
+static xmlGlobalStateCleanupHelperParams *cleanup_helpers_head = NULL;
static CRITICAL_SECTION cleanup_helpers_cs;
#endif /* LIBXMLSTATIC && !LIBXML_STATIC_FOR_DLL */
@@ -500,17 +631,20 @@ static CRITICAL_SECTION cleanup_helpers_cs;
#endif /* HAVE_WIN32_THREADS */
#if defined HAVE_BEOS_THREADS
+
/**
* xmlGlobalStateCleanup:
* @data: unused parameter
*
* Used for Beos only
*/
-void xmlGlobalStateCleanup(void *data)
+void
+xmlGlobalStateCleanup(void *data)
{
- void *globalval = tls_get(globalkey);
- if (globalval != NULL)
- xmlFreeGlobalState(globalval);
+ void *globalval = tls_get(globalkey);
+
+ if (globalval != NULL)
+ xmlFreeGlobalState(globalval);
}
#endif
@@ -528,13 +662,15 @@ xmlGetGlobalState(void)
xmlGlobalState *globalval;
if (libxml_is_threaded == 0)
- return(NULL);
+ return (NULL);
pthread_once(&once_control, xmlOnceInit);
if ((globalval = (xmlGlobalState *)
- pthread_getspecific(globalkey)) == NULL) {
+ pthread_getspecific(globalkey)) == NULL) {
xmlGlobalState *tsd = xmlNewGlobalState();
+ if (tsd == NULL)
+ return(NULL);
pthread_setspecific(globalkey, tsd);
return (tsd);
@@ -543,43 +679,54 @@ xmlGetGlobalState(void)
#elif defined HAVE_WIN32_THREADS
#if defined(HAVE_COMPILER_TLS)
if (!tlstate_inited) {
- tlstate_inited = 1;
- xmlInitializeGlobalState(&tlstate);
+ tlstate_inited = 1;
+ xmlInitializeGlobalState(&tlstate);
}
return &tlstate;
#else /* HAVE_COMPILER_TLS */
xmlGlobalState *globalval;
- xmlGlobalStateCleanupHelperParams * p;
+ xmlGlobalStateCleanupHelperParams *p;
xmlOnceInit();
#if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL)
- globalval = (xmlGlobalState *)TlsGetValue(globalkey);
+ globalval = (xmlGlobalState *) TlsGetValue(globalkey);
#else
- p = (xmlGlobalStateCleanupHelperParams*)TlsGetValue(globalkey);
- globalval = (xmlGlobalState *)(p ? p->memory : NULL);
+ p = (xmlGlobalStateCleanupHelperParams *) TlsGetValue(globalkey);
+ globalval = (xmlGlobalState *) (p ? p->memory : NULL);
#endif
if (globalval == NULL) {
- xmlGlobalState *tsd = xmlNewGlobalState();
- p = (xmlGlobalStateCleanupHelperParams *) malloc(sizeof(xmlGlobalStateCleanupHelperParams));
- p->memory = tsd;
+ xmlGlobalState *tsd = xmlNewGlobalState();
+
+ if (tsd == NULL)
+ return(NULL);
+ p = (xmlGlobalStateCleanupHelperParams *)
+ malloc(sizeof(xmlGlobalStateCleanupHelperParams));
+ if (p == NULL) {
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlGetGlobalState: out of memory\n");
+ xmlFreeGlobalState(tsd);
+ return(NULL);
+ }
+ p->memory = tsd;
#if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL)
- DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
- GetCurrentProcess(), &p->thread, 0, TRUE, DUPLICATE_SAME_ACCESS);
- TlsSetValue(globalkey, tsd);
- _beginthread(xmlGlobalStateCleanupHelper, 0, p);
+ DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
+ GetCurrentProcess(), &p->thread, 0, TRUE,
+ DUPLICATE_SAME_ACCESS);
+ TlsSetValue(globalkey, tsd);
+ _beginthread(xmlGlobalStateCleanupHelper, 0, p);
#else
- EnterCriticalSection(&cleanup_helpers_cs);
+ EnterCriticalSection(&cleanup_helpers_cs);
if (cleanup_helpers_head != NULL) {
cleanup_helpers_head->prev = p;
}
- p->next = cleanup_helpers_head;
- p->prev = NULL;
- cleanup_helpers_head = p;
- TlsSetValue(globalkey, p);
- LeaveCriticalSection(&cleanup_helpers_cs);
+ p->next = cleanup_helpers_head;
+ p->prev = NULL;
+ cleanup_helpers_head = p;
+ TlsSetValue(globalkey, p);
+ LeaveCriticalSection(&cleanup_helpers_cs);
#endif
- return (tsd);
+ return (tsd);
}
return (globalval);
#endif /* HAVE_COMPILER_TLS */
@@ -588,9 +735,10 @@ xmlGetGlobalState(void)
xmlOnceInit();
- if ((globalval = (xmlGlobalState *)
- tls_get(globalkey)) == NULL) {
+ if ((globalval = (xmlGlobalState *) tls_get(globalkey)) == NULL) {
xmlGlobalState *tsd = xmlNewGlobalState();
+ if (tsd == NULL)
+ return (NULL);
tls_set(globalkey, tsd);
on_exit_thread(xmlGlobalStateCleanup, NULL);
@@ -598,7 +746,7 @@ xmlGetGlobalState(void)
}
return (globalval);
#else
- return(NULL);
+ return (NULL);
#endif
}
@@ -612,6 +760,8 @@ xmlGetGlobalState(void)
* xmlGetThreadId:
*
* xmlGetThreadId() find the current thread ID number
+ * Note that this is likely to be broken on some platforms using pthreads
+ * as the specification doesn't mandate pthread_t to be an integer type
*
* Returns the current thread ID number
*/
@@ -619,15 +769,21 @@ int
xmlGetThreadId(void)
{
#ifdef HAVE_PTHREAD_H
+ pthread_t id;
+ int ret;
+
if (libxml_is_threaded == 0)
- return(0);
- return((int) pthread_self());
+ return (0);
+ id = pthread_self();
+ /* horrible but preserves compat, see warning above */
+ memcpy(&ret, &id, sizeof(ret));
+ return (ret);
#elif defined HAVE_WIN32_THREADS
return GetCurrentThreadId();
#elif defined HAVE_BEOS_THREADS
- return find_thread(NULL);
+ return find_thread(NULL);
#else
- return((int) 0);
+ return ((int) 0);
#endif
}
@@ -645,25 +801,25 @@ xmlIsMainThread(void)
if (libxml_is_threaded == -1)
xmlInitThreads();
if (libxml_is_threaded == 0)
- return(1);
+ return (1);
pthread_once(&once_control, xmlOnceInit);
#elif defined HAVE_WIN32_THREADS
- xmlOnceInit ();
+ xmlOnceInit();
#elif defined HAVE_BEOS_THREADS
xmlOnceInit();
#endif
-
+
#ifdef DEBUG_THREADS
xmlGenericError(xmlGenericErrorContext, "xmlIsMainThread()\n");
#endif
#ifdef HAVE_PTHREAD_H
- return(mainthread == pthread_self());
+ return (pthread_equal(mainthread,pthread_self()));
#elif defined HAVE_WIN32_THREADS
- return(mainthread == GetCurrentThreadId ());
+ return (mainthread == GetCurrentThreadId());
#elif defined HAVE_BEOS_THREADS
- return(mainthread == find_thread(NULL));
+ return (mainthread == find_thread(NULL));
#else
- return(1);
+ return (1);
#endif
}
@@ -706,34 +862,34 @@ xmlUnlockLibrary(void)
void
xmlInitThreads(void)
{
-#ifdef DEBUG_THREADS
- xmlGenericError(xmlGenericErrorContext, "xmlInitThreads()\n");
-#endif
-#if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
- InitializeCriticalSection(&cleanup_helpers_cs);
-#endif
#ifdef HAVE_PTHREAD_H
if (libxml_is_threaded == -1) {
if ((pthread_once != NULL) &&
- (pthread_getspecific != NULL) &&
- (pthread_setspecific != NULL) &&
- (pthread_key_create != NULL) &&
- (pthread_mutex_init != NULL) &&
- (pthread_mutex_destroy != NULL) &&
- (pthread_mutex_lock != NULL) &&
- (pthread_mutex_unlock != NULL) &&
- (pthread_cond_init != NULL) &&
- (pthread_equal != NULL) &&
- (pthread_self != NULL) &&
- (pthread_key_create != NULL) &&
- (pthread_cond_signal != NULL)) {
- libxml_is_threaded = 1;
+ (pthread_getspecific != NULL) &&
+ (pthread_setspecific != NULL) &&
+ (pthread_key_create != NULL) &&
+ (pthread_key_delete != NULL) &&
+ (pthread_mutex_init != NULL) &&
+ (pthread_mutex_destroy != NULL) &&
+ (pthread_mutex_lock != NULL) &&
+ (pthread_mutex_unlock != NULL) &&
+ (pthread_cond_init != NULL) &&
+ (pthread_cond_destroy != NULL) &&
+ (pthread_cond_wait != NULL) &&
+ (pthread_equal != NULL) &&
+ (pthread_self != NULL) &&
+ (pthread_cond_signal != NULL)) {
+ libxml_is_threaded = 1;
+
/* fprintf(stderr, "Running multithreaded\n"); */
- } else {
+ } else {
+
/* fprintf(stderr, "Running without multithread\n"); */
- libxml_is_threaded = 0;
- }
+ libxml_is_threaded = 0;
+ }
}
+#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+ InitializeCriticalSection(&cleanup_helpers_cs);
#endif
}
@@ -742,6 +898,14 @@ xmlInitThreads(void)
*
* xmlCleanupThreads() is used to to cleanup all the thread related
* data of the libxml2 library once processing has ended.
+ *
+ * WARNING: if your application is multithreaded or has plugin support
+ * calling this may crash the application if another thread or
+ * a plugin is still using libxml2. It's sometimes very hard to
+ * guess if libxml2 is in use in the application, some libraries
+ * or plugins may use it without notice. In case of doubt abstain
+ * from calling this function or do it just before calling exit()
+ * to avoid leak reports from valgrind !
*/
void
xmlCleanupThreads(void)
@@ -749,27 +913,34 @@ xmlCleanupThreads(void)
#ifdef DEBUG_THREADS
xmlGenericError(xmlGenericErrorContext, "xmlCleanupThreads()\n");
#endif
-#if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+#ifdef HAVE_PTHREAD_H
+ if ((libxml_is_threaded) && (pthread_key_delete != NULL))
+ pthread_key_delete(globalkey);
+ once_control = once_control_init;
+#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
if (globalkey != TLS_OUT_OF_INDEXES) {
- xmlGlobalStateCleanupHelperParams * p;
- EnterCriticalSection(&cleanup_helpers_cs);
- p = cleanup_helpers_head;
- while (p != NULL) {
- xmlGlobalStateCleanupHelperParams * temp = p;
- p = p->next;
- xmlFreeGlobalState(temp->memory);
- free(temp);
- }
- cleanup_helpers_head = 0;
- LeaveCriticalSection(&cleanup_helpers_cs);
- TlsFree(globalkey);
- globalkey = TLS_OUT_OF_INDEXES;
+ xmlGlobalStateCleanupHelperParams *p;
+
+ EnterCriticalSection(&cleanup_helpers_cs);
+ p = cleanup_helpers_head;
+ while (p != NULL) {
+ xmlGlobalStateCleanupHelperParams *temp = p;
+
+ p = p->next;
+ xmlFreeGlobalState(temp->memory);
+ free(temp);
+ }
+ cleanup_helpers_head = 0;
+ LeaveCriticalSection(&cleanup_helpers_cs);
+ TlsFree(globalkey);
+ globalkey = TLS_OUT_OF_INDEXES;
}
DeleteCriticalSection(&cleanup_helpers_cs);
#endif
}
#ifdef LIBXML_THREAD_ENABLED
+
/**
* xmlOnceInit
*
@@ -780,38 +951,36 @@ xmlCleanupThreads(void)
* details.
*/
static void
-xmlOnceInit(void) {
+xmlOnceInit(void)
+{
#ifdef HAVE_PTHREAD_H
(void) pthread_key_create(&globalkey, xmlFreeGlobalState);
mainthread = pthread_self();
-#endif
-
-#if defined(HAVE_WIN32_THREADS)
+ __xmlInitializeDict();
+#elif defined(HAVE_WIN32_THREADS)
if (!run_once.done) {
- if (InterlockedIncrement(&run_once.control) == 1)
- {
+ if (InterlockedIncrement(&run_once.control) == 1) {
#if !defined(HAVE_COMPILER_TLS)
globalkey = TlsAlloc();
#endif
mainthread = GetCurrentThreadId();
+ __xmlInitializeDict();
run_once.done = 1;
- }
- else {
+ } else {
/* Another thread is working; give up our slice and
* wait until they're done. */
while (!run_once.done)
Sleep(0);
}
}
-#endif
-
-#ifdef HAVE_BEOS_THREADS
- if (atomic_add(&run_once_init, 1) == 0) {
- globalkey = tls_allocate();
- tls_set(globalkey, NULL);
- mainthread = find_thread(NULL);
- } else
- atomic_add(&run_once_init, -1);
+#elif defined HAVE_BEOS_THREADS
+ if (atomic_add(&run_once_init, 1) == 0) {
+ globalkey = tls_allocate();
+ tls_set(globalkey, NULL);
+ mainthread = find_thread(NULL);
+ __xmlInitializeDict();
+ } else
+ atomic_add(&run_once_init, -1);
#endif
}
#endif
@@ -827,38 +996,41 @@ xmlOnceInit(void) {
*
* Returns TRUE always
*/
-#if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+#ifdef HAVE_PTHREAD_H
+#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
#if defined(LIBXML_STATIC_FOR_DLL)
-BOOL WINAPI xmlDllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL XMLCALL
+xmlDllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
#else
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI
+DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
#endif
{
- switch(fdwReason) {
- case DLL_THREAD_DETACH:
- if (globalkey != TLS_OUT_OF_INDEXES) {
- xmlGlobalState *globalval = NULL;
- xmlGlobalStateCleanupHelperParams * p =
- (xmlGlobalStateCleanupHelperParams*)TlsGetValue(globalkey);
- globalval = (xmlGlobalState *)(p ? p->memory : NULL);
- if (globalval) {
- xmlFreeGlobalState(globalval);
- TlsSetValue(globalkey,NULL);
+ switch (fdwReason) {
+ case DLL_THREAD_DETACH:
+ if (globalkey != TLS_OUT_OF_INDEXES) {
+ xmlGlobalState *globalval = NULL;
+ xmlGlobalStateCleanupHelperParams *p =
+ (xmlGlobalStateCleanupHelperParams *)
+ TlsGetValue(globalkey);
+ globalval = (xmlGlobalState *) (p ? p->memory : NULL);
+ if (globalval) {
+ xmlFreeGlobalState(globalval);
+ TlsSetValue(globalkey, NULL);
+ }
+ if (p) {
+ EnterCriticalSection(&cleanup_helpers_cs);
+ if (p == cleanup_helpers_head)
+ cleanup_helpers_head = p->next;
+ else
+ p->prev->next = p->next;
+ if (p->next != NULL)
+ p->next->prev = p->prev;
+ LeaveCriticalSection(&cleanup_helpers_cs);
+ free(p);
+ }
}
- if (p)
- {
- EnterCriticalSection(&cleanup_helpers_cs);
- if (p == cleanup_helpers_head)
- cleanup_helpers_head = p->next;
- else
- p->prev->next = p->next;
- if (p->next != NULL)
- p->next->prev = p->prev;
- LeaveCriticalSection(&cleanup_helpers_cs);
- free(p);
- }
- }
- break;
+ break;
}
return TRUE;
}
diff --git a/gettext-tools/gnulib-lib/libxml/threads.in.h b/gettext-tools/gnulib-lib/libxml/threads.in.h
index 4f7d10f..d31f16a 100644
--- a/gettext-tools/gnulib-lib/libxml/threads.in.h
+++ b/gettext-tools/gnulib-lib/libxml/threads.in.h
@@ -36,42 +36,46 @@ typedef xmlRMutex *xmlRMutexPtr;
#ifdef __cplusplus
extern "C" {
#endif
-XMLPUBFUN xmlMutexPtr XMLCALL
+XMLPUBFUN xmlMutexPtr XMLCALL
xmlNewMutex (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlMutexLock (xmlMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlMutexUnlock (xmlMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeMutex (xmlMutexPtr tok);
-XMLPUBFUN xmlRMutexPtr XMLCALL
+XMLPUBFUN xmlRMutexPtr XMLCALL
xmlNewRMutex (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRMutexLock (xmlRMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRMutexUnlock (xmlRMutexPtr tok);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeRMutex (xmlRMutexPtr tok);
/*
* Library wide APIs.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlInitThreads (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlLockLibrary (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlUnlockLibrary(void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlGetThreadId (void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlIsMainThread (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupThreads(void);
-XMLPUBFUN xmlGlobalStatePtr XMLCALL
+XMLPUBFUN xmlGlobalStatePtr XMLCALL
xmlGetGlobalState(void);
+#if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL)
+int XMLCALL xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved);
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/gettext-tools/gnulib-lib/libxml/timsort.h b/gettext-tools/gnulib-lib/libxml/timsort.h
new file mode 100644
index 0000000..795f272
--- /dev/null
+++ b/gettext-tools/gnulib-lib/libxml/timsort.h
@@ -0,0 +1,518 @@
+/*
+ * taken from https://github.com/swenson/sort
+ * Kept as is for the moment to be able to apply upstream patches for that
+ * code, currently used only to speed up XPath node sorting, see xpath.c
+ */
+
+/*
+ * All code in this header, unless otherwise specified, is hereby licensed under the MIT Public License:
+
+Copyright (c) 2010 Christopher Swenson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#else
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#elif defined(WIN32)
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#endif
+#endif
+
+#ifndef MK_UINT64
+#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER < 1300
+#define MK_UINT64(x) ((uint64_t)(x))
+#else
+#define MK_UINT64(x) x##ULL
+#endif
+#endif
+
+#ifndef MAX
+#define MAX(x,y) (((x) > (y) ? (x) : (y)))
+#endif
+#ifndef MIN
+#define MIN(x,y) (((x) < (y) ? (x) : (y)))
+#endif
+
+int compute_minrun(uint64_t);
+
+#ifndef CLZ
+#if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 3))
+#define CLZ __builtin_clzll
+#else
+
+int clzll(uint64_t);
+
+/* adapted from Hacker's Delight */
+int clzll(uint64_t x) /* {{{ */
+{
+ int n;
+
+ if (x == 0) return(64);
+ n = 0;
+ if (x <= MK_UINT64(0x00000000FFFFFFFF)) {n = n + 32; x = x << 32;}
+ if (x <= MK_UINT64(0x0000FFFFFFFFFFFF)) {n = n + 16; x = x << 16;}
+ if (x <= MK_UINT64(0x00FFFFFFFFFFFFFF)) {n = n + 8; x = x << 8;}
+ if (x <= MK_UINT64(0x0FFFFFFFFFFFFFFF)) {n = n + 4; x = x << 4;}
+ if (x <= MK_UINT64(0x3FFFFFFFFFFFFFFF)) {n = n + 2; x = x << 2;}
+ if (x <= MK_UINT64(0x7FFFFFFFFFFFFFFF)) {n = n + 1;}
+ return n;
+}
+/* }}} */
+
+#define CLZ clzll
+#endif
+#endif
+
+int compute_minrun(uint64_t size) /* {{{ */
+{
+ const int top_bit = 64 - CLZ(size);
+ const int shift = MAX(top_bit, 6) - 6;
+ const int minrun = size >> shift;
+ const uint64_t mask = (MK_UINT64(1) << shift) - 1;
+ if (mask & size) return minrun + 1;
+ return minrun;
+}
+/* }}} */
+
+#ifndef SORT_NAME
+#error "Must declare SORT_NAME"
+#endif
+
+#ifndef SORT_TYPE
+#error "Must declare SORT_TYPE"
+#endif
+
+#ifndef SORT_CMP
+#define SORT_CMP(x, y) ((x) < (y) ? -1 : ((x) == (y) ? 0 : 1))
+#endif
+
+
+#define SORT_SWAP(x,y) {SORT_TYPE __SORT_SWAP_t = (x); (x) = (y); (y) = __SORT_SWAP_t;}
+
+#define SORT_CONCAT(x, y) x ## _ ## y
+#define SORT_MAKE_STR1(x, y) SORT_CONCAT(x,y)
+#define SORT_MAKE_STR(x) SORT_MAKE_STR1(SORT_NAME,x)
+
+#define BINARY_INSERTION_FIND SORT_MAKE_STR(binary_insertion_find)
+#define BINARY_INSERTION_SORT_START SORT_MAKE_STR(binary_insertion_sort_start)
+#define BINARY_INSERTION_SORT SORT_MAKE_STR(binary_insertion_sort)
+#define REVERSE_ELEMENTS SORT_MAKE_STR(reverse_elements)
+#define COUNT_RUN SORT_MAKE_STR(count_run)
+#define CHECK_INVARIANT SORT_MAKE_STR(check_invariant)
+#define TIM_SORT SORT_MAKE_STR(tim_sort)
+#define TIM_SORT_RESIZE SORT_MAKE_STR(tim_sort_resize)
+#define TIM_SORT_MERGE SORT_MAKE_STR(tim_sort_merge)
+#define TIM_SORT_COLLAPSE SORT_MAKE_STR(tim_sort_collapse)
+
+#define TIM_SORT_RUN_T SORT_MAKE_STR(tim_sort_run_t)
+#define TEMP_STORAGE_T SORT_MAKE_STR(temp_storage_t)
+
+typedef struct {
+ int64_t start;
+ int64_t length;
+} TIM_SORT_RUN_T;
+
+void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size);
+void TIM_SORT(SORT_TYPE *dst, const size_t size);
+
+/* Function used to do a binary search for binary insertion sort */
+static int64_t BINARY_INSERTION_FIND(SORT_TYPE *dst, const SORT_TYPE x, const size_t size)
+{
+ int64_t l, c, r;
+ SORT_TYPE lx;
+ SORT_TYPE cx;
+ l = 0;
+ r = size - 1;
+ c = r >> 1;
+ lx = dst[l];
+
+ /* check for beginning conditions */
+ if (SORT_CMP(x, lx) < 0)
+ return 0;
+ else if (SORT_CMP(x, lx) == 0)
+ {
+ int64_t i = 1;
+ while (SORT_CMP(x, dst[i]) == 0) i++;
+ return i;
+ }
+
+ cx = dst[c];
+ while (1)
+ {
+ const int val = SORT_CMP(x, cx);
+ if (val < 0)
+ {
+ if (c - l <= 1) return c;
+ r = c;
+ }
+ else if (val > 0)
+ {
+ if (r - c <= 1) return c + 1;
+ l = c;
+ lx = cx;
+ }
+ else
+ {
+ do
+ {
+ cx = dst[++c];
+ } while (SORT_CMP(x, cx) == 0);
+ return c;
+ }
+ c = l + ((r - l) >> 1);
+ cx = dst[c];
+ }
+}
+
+/* Binary insertion sort, but knowing that the first "start" entries are sorted. Used in timsort. */
+static void BINARY_INSERTION_SORT_START(SORT_TYPE *dst, const size_t start, const size_t size)
+{
+ int64_t i;
+ for (i = start; i < (int64_t) size; i++)
+ {
+ int64_t j;
+ SORT_TYPE x;
+ int64_t location;
+ /* If this entry is already correct, just move along */
+ if (SORT_CMP(dst[i - 1], dst[i]) <= 0) continue;
+
+ /* Else we need to find the right place, shift everything over, and squeeze in */
+ x = dst[i];
+ location = BINARY_INSERTION_FIND(dst, x, i);
+ for (j = i - 1; j >= location; j--)
+ {
+ dst[j + 1] = dst[j];
+ }
+ dst[location] = x;
+ }
+}
+
+/* Binary insertion sort */
+void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size)
+{
+ BINARY_INSERTION_SORT_START(dst, 1, size);
+}
+
+/* timsort implementation, based on timsort.txt */
+
+static void REVERSE_ELEMENTS(SORT_TYPE *dst, int64_t start, int64_t end)
+{
+ while (1)
+ {
+ if (start >= end) return;
+ SORT_SWAP(dst[start], dst[end]);
+ start++;
+ end--;
+ }
+}
+
+static int64_t COUNT_RUN(SORT_TYPE *dst, const int64_t start, const size_t size)
+{
+ int64_t curr;
+ if (size - start == 1) return 1;
+ if (start >= (int64_t) size - 2)
+ {
+ if (SORT_CMP(dst[size - 2], dst[size - 1]) > 0)
+ SORT_SWAP(dst[size - 2], dst[size - 1]);
+ return 2;
+ }
+
+ curr = start + 2;
+
+ if (SORT_CMP(dst[start], dst[start + 1]) <= 0)
+ {
+ /* increasing run */
+ while (1)
+ {
+ if (curr == (int64_t) size - 1) break;
+ if (SORT_CMP(dst[curr - 1], dst[curr]) > 0) break;
+ curr++;
+ }
+ return curr - start;
+ }
+ else
+ {
+ /* decreasing run */
+ while (1)
+ {
+ if (curr == (int64_t) size - 1) break;
+ if (SORT_CMP(dst[curr - 1], dst[curr]) <= 0) break;
+ curr++;
+ }
+ /* reverse in-place */
+ REVERSE_ELEMENTS(dst, start, curr - 1);
+ return curr - start;
+ }
+}
+
+#define PUSH_NEXT() do {\
+len = COUNT_RUN(dst, curr, size);\
+run = minrun;\
+if (run < minrun) run = minrun;\
+if (run > (int64_t) size - curr) run = size - curr;\
+if (run > len)\
+{\
+ BINARY_INSERTION_SORT_START(&dst[curr], len, run);\
+ len = run;\
+}\
+{\
+run_stack[stack_curr].start = curr;\
+run_stack[stack_curr].length = len;\
+stack_curr++;\
+}\
+curr += len;\
+if (curr == (int64_t) size)\
+{\
+ /* finish up */ \
+ while (stack_curr > 1) \
+ { \
+ TIM_SORT_MERGE(dst, run_stack, stack_curr, store); \
+ run_stack[stack_curr - 2].length += run_stack[stack_curr - 1].length; \
+ stack_curr--; \
+ } \
+ if (store->storage != NULL)\
+ {\
+ free(store->storage);\
+ store->storage = NULL;\
+ }\
+ return;\
+}\
+}\
+while (0)
+
+static int CHECK_INVARIANT(TIM_SORT_RUN_T *stack, const int stack_curr)
+{
+ int64_t A, B, C;
+ if (stack_curr < 2) return 1;
+ if (stack_curr == 2)
+ {
+ const int64_t A1 = stack[stack_curr - 2].length;
+ const int64_t B1 = stack[stack_curr - 1].length;
+ if (A1 <= B1) return 0;
+ return 1;
+ }
+ A = stack[stack_curr - 3].length;
+ B = stack[stack_curr - 2].length;
+ C = stack[stack_curr - 1].length;
+ if ((A <= B + C) || (B <= C)) return 0;
+ return 1;
+}
+
+typedef struct {
+ size_t alloc;
+ SORT_TYPE *storage;
+} TEMP_STORAGE_T;
+
+
+static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size)
+{
+ if (store->alloc < new_size)
+ {
+ SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE));
+ if (tempstore == NULL)
+ {
+ fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", sizeof(SORT_TYPE) * new_size);
+ exit(1);
+ }
+ store->storage = tempstore;
+ store->alloc = new_size;
+ }
+}
+
+static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const int stack_curr, TEMP_STORAGE_T *store)
+{
+ const int64_t A = stack[stack_curr - 2].length;
+ const int64_t B = stack[stack_curr - 1].length;
+ const int64_t curr = stack[stack_curr - 2].start;
+ SORT_TYPE *storage;
+ int64_t i, j, k;
+
+ TIM_SORT_RESIZE(store, MIN(A, B));
+ storage = store->storage;
+
+ /* left merge */
+ if (A < B)
+ {
+ memcpy(storage, &dst[curr], A * sizeof(SORT_TYPE));
+ i = 0;
+ j = curr + A;
+
+ for (k = curr; k < curr + A + B; k++)
+ {
+ if ((i < A) && (j < curr + A + B))
+ {
+ if (SORT_CMP(storage[i], dst[j]) <= 0)
+ dst[k] = storage[i++];
+ else
+ dst[k] = dst[j++];
+ }
+ else if (i < A)
+ {
+ dst[k] = storage[i++];
+ }
+ else
+ dst[k] = dst[j++];
+ }
+ }
+ /* right merge */
+ else
+ {
+ memcpy(storage, &dst[curr + A], B * sizeof(SORT_TYPE));
+ i = B - 1;
+ j = curr + A - 1;
+
+ for (k = curr + A + B - 1; k >= curr; k--)
+ {
+ if ((i >= 0) && (j >= curr))
+ {
+ if (SORT_CMP(dst[j], storage[i]) > 0)
+ dst[k] = dst[j--];
+ else
+ dst[k] = storage[i--];
+ }
+ else if (i >= 0)
+ dst[k] = storage[i--];
+ else
+ dst[k] = dst[j--];
+ }
+ }
+}
+
+static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr, TEMP_STORAGE_T *store, const size_t size)
+{
+ while (1) {
+ int64_t A, B, C, D;
+ int ABC, BCD, BD, CD;
+
+ /* if the stack only has one thing on it, we are done with the collapse */
+ if (stack_curr <= 1) {
+ break;
+ }
+
+ /* if this is the last merge, just do it */
+ if ((stack_curr == 2) && (stack[0].length + stack[1].length == size)) {
+ TIM_SORT_MERGE(dst, stack, stack_curr, store);
+ stack[0].length += stack[1].length;
+ stack_curr--;
+ break;
+ }
+ /* check if the invariant is off for a stack of 2 elements */
+ else if ((stack_curr == 2) && (stack[0].length <= stack[1].length)) {
+ TIM_SORT_MERGE(dst, stack, stack_curr, store);
+ stack[0].length += stack[1].length;
+ stack_curr--;
+ break;
+ } else if (stack_curr == 2) {
+ break;
+ }
+
+ B = stack[stack_curr - 3].length;
+ C = stack[stack_curr - 2].length;
+ D = stack[stack_curr - 1].length;
+
+ if (stack_curr >= 4) {
+ A = stack[stack_curr - 4].length;
+ ABC = (A <= B + C);
+ } else {
+ ABC = 0;
+ }
+
+ BCD = (B <= C + D) || ABC;
+ CD = (C <= D);
+ BD = (B < D);
+
+ /* Both invariants are good */
+ if (!BCD && !CD) {
+ break;
+ }
+
+ /* left merge */
+ if (BCD && !CD) {
+ TIM_SORT_MERGE(dst, stack, stack_curr - 1, store);
+ stack[stack_curr - 3].length += stack[stack_curr - 2].length;
+ stack[stack_curr - 2] = stack[stack_curr - 1];
+ stack_curr--;
+ } else {
+ /* right merge */
+ TIM_SORT_MERGE(dst, stack, stack_curr, store);
+ stack[stack_curr - 2].length += stack[stack_curr - 1].length;
+ stack_curr--;
+ }
+ }
+
+ return stack_curr;
+}
+
+void TIM_SORT(SORT_TYPE *dst, const size_t size)
+{
+ int minrun;
+ TEMP_STORAGE_T _store, *store;
+ TIM_SORT_RUN_T run_stack[128];
+ int stack_curr = 0;
+ int64_t len, run;
+ int64_t curr = 0;
+
+ if (size < 64)
+ {
+ BINARY_INSERTION_SORT(dst, size);
+ return;
+ }
+
+ /* compute the minimum run length */
+ minrun = compute_minrun(size);
+
+ /* temporary storage for merges */
+ store = &_store;
+ store->alloc = 0;
+ store->storage = NULL;
+
+ PUSH_NEXT();
+ PUSH_NEXT();
+ PUSH_NEXT();
+
+ while (1)
+ {
+ if (!CHECK_INVARIANT(run_stack, stack_curr))
+ {
+ stack_curr = TIM_SORT_COLLAPSE(dst, run_stack, stack_curr, store, size);
+ continue;
+ }
+ PUSH_NEXT();
+ }
+}
+
+#undef SORT_CONCAT
+#undef SORT_MAKE_STR1
+#undef SORT_MAKE_STR
+#undef SORT_NAME
+#undef SORT_TYPE
+#undef SORT_CMP
+#undef TEMP_STORAGE_T
+#undef TIM_SORT_RUN_T
+#undef PUSH_NEXT
+#undef SORT_SWAP
+#undef SORT_CONCAT
+#undef SORT_MAKE_STR1
+#undef SORT_MAKE_STR
+#undef BINARY_INSERTION_FIND
+#undef BINARY_INSERTION_SORT_START
+#undef BINARY_INSERTION_SORT
+#undef REVERSE_ELEMENTS
+#undef COUNT_RUN
+#undef TIM_SORT
+#undef TIM_SORT_RESIZE
+#undef TIM_SORT_COLLAPSE
+#undef TIM_SORT_RUN_T
+#undef TEMP_STORAGE_T
diff --git a/gettext-tools/gnulib-lib/libxml/tree.c b/gettext-tools/gnulib-lib/libxml/tree.c
index d5b9fec..6a158ce 100644
--- a/gettext-tools/gnulib-lib/libxml/tree.c
+++ b/gettext-tools/gnulib-lib/libxml/tree.c
@@ -14,7 +14,7 @@
#include "libxml.h"
#include <string.h> /* for memset() only ! */
-
+#include <limits.h>
#ifdef HAVE_CTYPE_H
#include <ctype.h>
#endif
@@ -41,21 +41,25 @@
#include <libxml/debugXML.h>
#endif
+#include "buf.h"
+#include "save.h"
+
int __xmlRegisterCallbacks = 0;
/************************************************************************
* *
- * Forward declarations *
+ * Forward declarations *
* *
************************************************************************/
-xmlNsPtr xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns);
+static xmlNsPtr
+xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns);
-static xmlChar* xmlGetPropNodeValueInternal(xmlAttrPtr prop);
+static xmlChar* xmlGetPropNodeValueInternal(const xmlAttr *prop);
/************************************************************************
* *
- * Tree memory error handler *
+ * Tree memory error handler *
* *
************************************************************************/
/**
@@ -92,6 +96,9 @@ xmlTreeErr(int code, xmlNodePtr node, const char *extra)
case XML_TREE_UNTERMINATED_ENTITY:
msg = "unterminated entity reference %15s\n";
break;
+ case XML_TREE_NOT_UTF8:
+ msg = "string is not in UTF-8\n";
+ break;
default:
msg = "unexpected error number\n";
}
@@ -100,7 +107,7 @@ xmlTreeErr(int code, xmlNodePtr node, const char *extra)
/************************************************************************
* *
- * A few static variables and macros *
+ * A few static variables and macros *
* *
************************************************************************/
/* #undef xmlStringText */
@@ -120,7 +127,7 @@ static int xmlCheckDTD = 1;
(n)->last = NULL; \
} else { \
while (ulccur->next != NULL) { \
- ulccur->parent = (n); \
+ ulccur->parent = (n); \
ulccur = ulccur->next; \
} \
ulccur->parent = (n); \
@@ -135,12 +142,12 @@ static int xmlCheckDTD = 1;
/************************************************************************
* *
- * Functions to move to entities.c once the *
+ * Functions to move to entities.c once the *
* API freeze is smoothen and they can be made public. *
* *
************************************************************************/
#include <libxml/hash.h>
-
+
#ifdef LIBXML_TREE_ENABLED
/**
* xmlGetEntityFromDtd:
@@ -149,17 +156,17 @@ static int xmlCheckDTD = 1;
*
* Do an entity lookup in the DTD entity hash table and
* return the corresponding entity, if found.
- *
+ *
* Returns A pointer to the entity structure or NULL if not found.
*/
static xmlEntityPtr
-xmlGetEntityFromDtd(xmlDtdPtr dtd, const xmlChar *name) {
+xmlGetEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) {
xmlEntitiesTablePtr table;
-
+
if((dtd != NULL) && (dtd->entities != NULL)) {
table = (xmlEntitiesTablePtr) dtd->entities;
return((xmlEntityPtr) xmlHashLookup(table, name));
- /* return(xmlGetEntityFromTable(table, name)); */
+ /* return(xmlGetEntityFromTable(table, name)); */
}
return(NULL);
}
@@ -167,16 +174,16 @@ xmlGetEntityFromDtd(xmlDtdPtr dtd, const xmlChar *name) {
* xmlGetParameterEntityFromDtd:
* @dtd: A pointer to the DTD to search
* @name: The entity name
- *
+ *
* Do an entity lookup in the DTD pararmeter entity hash table and
* return the corresponding entity, if found.
*
* Returns A pointer to the entity structure or NULL if not found.
*/
static xmlEntityPtr
-xmlGetParameterEntityFromDtd(xmlDtdPtr dtd, const xmlChar *name) {
+xmlGetParameterEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) {
xmlEntitiesTablePtr table;
-
+
if ((dtd != NULL) && (dtd->pentities != NULL)) {
table = (xmlEntitiesTablePtr) dtd->pentities;
return((xmlEntityPtr) xmlHashLookup(table, name));
@@ -237,7 +244,7 @@ xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix,
/**
* xmlSplitQName2:
* @name: the full QName
- * @prefix: a xmlChar **
+ * @prefix: a xmlChar **
*
* parse an XML qualified name string
*
@@ -275,9 +282,9 @@ xmlSplitQName2(const xmlChar *name, xmlChar **prefix) {
* we are not trying to validate but just to cut, and yes it will
* work even if this is as set of UTF-8 encoded chars
*/
- while ((name[len] != 0) && (name[len] != ':'))
+ while ((name[len] != 0) && (name[len] != ':'))
len++;
-
+
if (name[len] == 0)
return(NULL);
@@ -307,7 +314,7 @@ xmlSplitQName2(const xmlChar *name, xmlChar **prefix) {
* parse an XML qualified name string,i
*
* returns NULL if it is not a Qualified Name, otherwise, update len
- * with the lenght in byte of the prefix and return a pointer
+ * with the length in byte of the prefix and return a pointer
* to the start of the name without the prefix
*/
@@ -326,9 +333,9 @@ xmlSplitQName3(const xmlChar *name, int *len) {
* we are not trying to validate but just to cut, and yes it will
* work even if this is as set of UTF-8 encoded chars
*/
- while ((name[l] != 0) && (name[l] != ':'))
+ while ((name[l] != 0) && (name[l] != ':'))
l++;
-
+
if (name[l] == 0)
return(NULL);
@@ -342,10 +349,10 @@ xmlSplitQName3(const xmlChar *name, int *len) {
* Check Name, NCName and QName strings *
* *
************************************************************************/
-
+
#define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
/**
* xmlValidateNCName:
* @value: the value to check
@@ -665,19 +672,22 @@ try_complex:
* Allocation and deallocation of basic structures *
* *
************************************************************************/
-
+
/**
* xmlSetBufferAllocationScheme:
* @scheme: allocation method to use
- *
+ *
* Set the buffer allocation method. Types are
* XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down
- * XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed,
+ * XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed,
* improves performance
*/
void
xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme) {
- xmlBufferAllocScheme = scheme;
+ if ((scheme == XML_BUFFER_ALLOC_EXACT) ||
+ (scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
+ (scheme == XML_BUFFER_ALLOC_HYBRID))
+ xmlBufferAllocScheme = scheme;
}
/**
@@ -685,9 +695,12 @@ xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme) {
*
* Types are
* XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down
- * XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed,
+ * XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed,
* improves performance
- *
+ * XML_BUFFER_ALLOC_HYBRID - use exact sizes on small strings to keep memory usage tight
+ * in normal usage, and doubleit on large strings to avoid
+ * pathological performance.
+ *
* Returns the current allocation scheme
*/
xmlBufferAllocationScheme
@@ -704,8 +717,11 @@ xmlGetBufferAllocationScheme(void) {
* Creation of a new Namespace. This function will refuse to create
* a namespace with a similar prefix than an existing one present on this
* node.
+ * Note that for a default namespace, @prefix should be NULL.
+ *
* We use href==NULL in the case of an element creation where the namespace
* was not defined.
+ *
* Returns a new namespace pointer or NULL
*/
xmlNsPtr
@@ -715,8 +731,19 @@ xmlNewNs(xmlNodePtr node, const xmlChar *href, const xmlChar *prefix) {
if ((node != NULL) && (node->type != XML_ELEMENT_NODE))
return(NULL);
- if ((prefix != NULL) && (xmlStrEqual(prefix, BAD_CAST "xml")))
- return(NULL);
+ if ((prefix != NULL) && (xmlStrEqual(prefix, BAD_CAST "xml"))) {
+ /* xml namespace is predefined, no need to add it */
+ if (xmlStrEqual(href, XML_XML_NAMESPACE))
+ return(NULL);
+
+ /*
+ * Problem, this is an attempt to bind xml prefix to a wrong
+ * namespace, which breaks
+ * Namespace constraint: Reserved Prefixes and Namespace Names
+ * from XML namespace. But documents authors may not care in
+ * their context so let's proceed.
+ */
+ }
/*
* Allocate a new Namespace and fill the fields.
@@ -730,9 +757,9 @@ xmlNewNs(xmlNodePtr node, const xmlChar *href, const xmlChar *prefix) {
cur->type = XML_LOCAL_NAMESPACE;
if (href != NULL)
- cur->href = xmlStrdup(href);
+ cur->href = xmlStrdup(href);
if (prefix != NULL)
- cur->prefix = xmlStrdup(prefix);
+ cur->prefix = xmlStrdup(prefix);
/*
* Add it at the end to preserve parsing order ...
@@ -748,14 +775,14 @@ xmlNewNs(xmlNodePtr node, const xmlChar *href, const xmlChar *prefix) {
(xmlStrEqual(prev->prefix, cur->prefix))) {
xmlFreeNs(cur);
return(NULL);
- }
+ }
while (prev->next != NULL) {
prev = prev->next;
if (((prev->prefix == NULL) && (cur->prefix == NULL)) ||
(xmlStrEqual(prev->prefix, cur->prefix))) {
xmlFreeNs(cur);
return(NULL);
- }
+ }
}
prev->next = cur;
}
@@ -779,7 +806,9 @@ xmlSetNs(xmlNodePtr node, xmlNsPtr ns) {
#endif
return;
}
- node->ns = ns;
+ if ((node->type == XML_ELEMENT_NODE) ||
+ (node->type == XML_ATTRIBUTE_NODE))
+ node->ns = ns;
}
/**
@@ -864,11 +893,11 @@ xmlNewDtd(xmlDocPtr doc, const xmlChar *name,
cur->type = XML_DTD_NODE;
if (name != NULL)
- cur->name = xmlStrdup(name);
+ cur->name = xmlStrdup(name);
if (ExternalID != NULL)
- cur->ExternalID = xmlStrdup(ExternalID);
+ cur->ExternalID = xmlStrdup(ExternalID);
if (SystemID != NULL)
- cur->SystemID = xmlStrdup(SystemID);
+ cur->SystemID = xmlStrdup(SystemID);
if (doc != NULL)
doc->extSubset = cur;
cur->doc = doc;
@@ -887,7 +916,7 @@ xmlNewDtd(xmlDocPtr doc, const xmlChar *name,
*/
xmlDtdPtr
-xmlGetIntSubset(xmlDocPtr doc) {
+xmlGetIntSubset(const xmlDoc *doc) {
xmlNodePtr cur;
if (doc == NULL)
@@ -946,7 +975,7 @@ xmlCreateIntSubset(xmlDocPtr doc, const xmlChar *name,
}
}
if (ExternalID != NULL) {
- cur->ExternalID = xmlStrdup(ExternalID);
+ cur->ExternalID = xmlStrdup(ExternalID);
if (cur->ExternalID == NULL) {
xmlTreeErrMemory("building internal subset");
if (cur->name != NULL)
@@ -956,7 +985,7 @@ xmlCreateIntSubset(xmlDocPtr doc, const xmlChar *name,
}
}
if (SystemID != NULL) {
- cur->SystemID = xmlStrdup(SystemID);
+ cur->SystemID = xmlStrdup(SystemID);
if (cur->SystemID == NULL) {
xmlTreeErrMemory("building internal subset");
if (cur->name != NULL)
@@ -1019,7 +1048,7 @@ xmlCreateIntSubset(xmlDocPtr doc, const xmlChar *name,
* current scope
*/
#define DICT_FREE(str) \
- if ((str) && ((!dict) || \
+ if ((str) && ((!dict) || \
(xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
xmlFree((char *)(str));
@@ -1102,7 +1131,7 @@ xmlFreeDtd(xmlDtdPtr cur) {
/* TODO !!! */
if (cur->notations != NULL)
xmlFreeNotationTable((xmlNotationTablePtr) cur->notations);
-
+
if (cur->elements != NULL)
xmlFreeElementTable((xmlElementTablePtr) cur->elements);
if (cur->attributes != NULL)
@@ -1141,15 +1170,17 @@ xmlNewDoc(const xmlChar *version) {
memset(cur, 0, sizeof(xmlDoc));
cur->type = XML_DOCUMENT_NODE;
- cur->version = xmlStrdup(version);
+ cur->version = xmlStrdup(version);
if (cur->version == NULL) {
xmlTreeErrMemory("building doc");
xmlFree(cur);
- return(NULL);
+ return(NULL);
}
cur->standalone = -1;
cur->compression = -1; /* not initialized */
cur->doc = cur;
+ cur->parseFlags = 0;
+ cur->properties = XML_DOC_USERBUILT;
/*
* The in memory encoding is always UTF8
* This field will never change and would
@@ -1235,16 +1266,21 @@ xmlFreeDoc(xmlDocPtr cur) {
* Returns a pointer to the first child
*/
xmlNodePtr
-xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
+xmlStringLenGetNodeList(const xmlDoc *doc, const xmlChar *value, int len) {
xmlNodePtr ret = NULL, last = NULL;
xmlNodePtr node;
xmlChar *val;
const xmlChar *cur = value, *end = cur + len;
const xmlChar *q;
xmlEntityPtr ent;
+ xmlBufPtr buf;
if (value == NULL) return(NULL);
+ buf = xmlBufCreateSize(0);
+ if (buf == NULL) return(NULL);
+ xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_HYBRID);
+
q = cur;
while ((cur < end) && (*cur != 0)) {
if (cur[0] == '&') {
@@ -1255,19 +1291,8 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
* Save the current text.
*/
if (cur != q) {
- if ((last != NULL) && (last->type == XML_TEXT_NODE)) {
- xmlNodeAddContentLen(last, q, cur - q);
- } else {
- node = xmlNewDocTextLen(doc, q, cur - q);
- if (node == NULL) return(ret);
- if (last == NULL)
- last = ret = node;
- else {
- last->next = node;
- node->prev = last;
- last = node;
- }
- }
+ if (xmlBufAdd(buf, q, cur - q))
+ goto out;
}
q = cur;
if ((cur + 2 < end) && (cur[1] == '#') && (cur[2] == 'x')) {
@@ -1277,7 +1302,7 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
else
tmp = 0;
while (tmp != ';') { /* Non input consuming loop */
- if ((tmp >= '0') && (tmp <= '9'))
+ if ((tmp >= '0') && (tmp <= '9'))
charval = charval * 16 + (tmp - '0');
else if ((tmp >= 'a') && (tmp <= 'f'))
charval = charval * 16 + (tmp - 'a') + 10;
@@ -1305,7 +1330,7 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
else
tmp = 0;
while (tmp != ';') { /* Non input consuming loops */
- if ((tmp >= '0') && (tmp <= '9'))
+ if ((tmp >= '0') && (tmp <= '9'))
charval = charval * 10 + (tmp - '0');
else {
xmlTreeErr(XML_TREE_INVALID_DEC, (xmlNodePtr) doc,
@@ -1332,7 +1357,7 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
if ((cur >= end) || (*cur == 0)) {
xmlTreeErr(XML_TREE_UNTERMINATED_ENTITY, (xmlNodePtr) doc,
(const char *) q);
- return(ret);
+ goto out;
}
if (cur != q) {
/*
@@ -1342,23 +1367,36 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
ent = xmlGetDocEntity(doc, val);
if ((ent != NULL) &&
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
- if (last == NULL) {
- node = xmlNewDocText(doc, ent->content);
- last = ret = node;
- } else if (last->type != XML_TEXT_NODE) {
- node = xmlNewDocText(doc, ent->content);
- last = xmlAddNextSibling(last, node);
- } else
- xmlNodeAddContent(last, ent->content);
-
+
+ if (xmlBufCat(buf, ent->content))
+ goto out;
+
} else {
/*
+ * Flush buffer so far
+ */
+ if (!xmlBufIsEmpty(buf)) {
+ node = xmlNewDocText(doc, NULL);
+ if (node == NULL) {
+ if (val != NULL) xmlFree(val);
+ goto out;
+ }
+ node->content = xmlBufDetach(buf);
+
+ if (last == NULL) {
+ last = ret = node;
+ } else {
+ last = xmlAddNextSibling(last, node);
+ }
+ }
+
+ /*
* Create a new REFERENCE_REF node
*/
node = xmlNewReference(doc, val);
if (node == NULL) {
if (val != NULL) xmlFree(val);
- return(ret);
+ goto out;
}
else if ((ent != NULL) && (ent->children == NULL)) {
xmlNodePtr temp;
@@ -1385,40 +1423,44 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
q = cur;
}
if (charval != 0) {
- xmlChar buf[10];
+ xmlChar buffer[10];
int l;
- l = xmlCopyCharMultiByte(buf, charval);
- buf[l] = 0;
- node = xmlNewDocText(doc, buf);
- if (node != NULL) {
- if (last == NULL) {
- last = ret = node;
- } else {
- last = xmlAddNextSibling(last, node);
- }
- }
+ l = xmlCopyCharMultiByte(buffer, charval);
+ buffer[l] = 0;
+
+ if (xmlBufCat(buf, buffer))
+ goto out;
charval = 0;
}
} else
cur++;
}
- if ((cur != q) || (ret == NULL)) {
+
+ if (cur != q) {
/*
* Handle the last piece of text.
*/
- if ((last != NULL) && (last->type == XML_TEXT_NODE)) {
- xmlNodeAddContentLen(last, q, cur - q);
+ if (xmlBufAdd(buf, q, cur - q))
+ goto out;
+ }
+
+ if (!xmlBufIsEmpty(buf)) {
+ node = xmlNewDocText(doc, NULL);
+ if (node == NULL) goto out;
+ node->content = xmlBufDetach(buf);
+
+ if (last == NULL) {
+ ret = node;
} else {
- node = xmlNewDocTextLen(doc, q, cur - q);
- if (node == NULL) return(ret);
- if (last == NULL) {
- last = ret = node;
- } else {
- last = xmlAddNextSibling(last, node);
- }
+ xmlAddNextSibling(last, node);
}
+ } else if (ret == NULL) {
+ ret = xmlNewDocText(doc, BAD_CAST "");
}
+
+out:
+ xmlBufFree(buf);
return(ret);
}
@@ -1432,16 +1474,21 @@ xmlStringLenGetNodeList(xmlDocPtr doc, const xmlChar *value, int len) {
* Returns a pointer to the first child
*/
xmlNodePtr
-xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
+xmlStringGetNodeList(const xmlDoc *doc, const xmlChar *value) {
xmlNodePtr ret = NULL, last = NULL;
xmlNodePtr node;
xmlChar *val;
const xmlChar *cur = value;
const xmlChar *q;
xmlEntityPtr ent;
+ xmlBufPtr buf;
if (value == NULL) return(NULL);
+ buf = xmlBufCreateSize(0);
+ if (buf == NULL) return(NULL);
+ xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_HYBRID);
+
q = cur;
while (*cur != 0) {
if (cur[0] == '&') {
@@ -1452,26 +1499,15 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
* Save the current text.
*/
if (cur != q) {
- if ((last != NULL) && (last->type == XML_TEXT_NODE)) {
- xmlNodeAddContentLen(last, q, cur - q);
- } else {
- node = xmlNewDocTextLen(doc, q, cur - q);
- if (node == NULL) return(ret);
- if (last == NULL)
- last = ret = node;
- else {
- last->next = node;
- node->prev = last;
- last = node;
- }
- }
+ if (xmlBufAdd(buf, q, cur - q))
+ goto out;
}
q = cur;
if ((cur[1] == '#') && (cur[2] == 'x')) {
cur += 3;
tmp = *cur;
while (tmp != ';') { /* Non input consuming loop */
- if ((tmp >= '0') && (tmp <= '9'))
+ if ((tmp >= '0') && (tmp <= '9'))
charval = charval * 16 + (tmp - '0');
else if ((tmp >= 'a') && (tmp <= 'f'))
charval = charval * 16 + (tmp - 'a') + 10;
@@ -1493,7 +1529,7 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
cur += 2;
tmp = *cur;
while (tmp != ';') { /* Non input consuming loops */
- if ((tmp >= '0') && (tmp <= '9'))
+ if ((tmp >= '0') && (tmp <= '9'))
charval = charval * 10 + (tmp - '0');
else {
xmlTreeErr(XML_TREE_INVALID_DEC, (xmlNodePtr) doc,
@@ -1517,7 +1553,7 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
if (*cur == 0) {
xmlTreeErr(XML_TREE_UNTERMINATED_ENTITY,
(xmlNodePtr) doc, (const char *) q);
- return(ret);
+ goto out;
}
if (cur != q) {
/*
@@ -1527,23 +1563,32 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
ent = xmlGetDocEntity(doc, val);
if ((ent != NULL) &&
(ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
- if (last == NULL) {
- node = xmlNewDocText(doc, ent->content);
- last = ret = node;
- } else if (last->type != XML_TEXT_NODE) {
- node = xmlNewDocText(doc, ent->content);
- last = xmlAddNextSibling(last, node);
- } else
- xmlNodeAddContent(last, ent->content);
-
+
+ if (xmlBufCat(buf, ent->content))
+ goto out;
+
} else {
/*
+ * Flush buffer so far
+ */
+ if (!xmlBufIsEmpty(buf)) {
+ node = xmlNewDocText(doc, NULL);
+ node->content = xmlBufDetach(buf);
+
+ if (last == NULL) {
+ last = ret = node;
+ } else {
+ last = xmlAddNextSibling(last, node);
+ }
+ }
+
+ /*
* Create a new REFERENCE_REF node
*/
node = xmlNewReference(doc, val);
if (node == NULL) {
if (val != NULL) xmlFree(val);
- return(ret);
+ goto out;
}
else if ((ent != NULL) && (ent->children == NULL)) {
xmlNodePtr temp;
@@ -1569,20 +1614,14 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
q = cur;
}
if (charval != 0) {
- xmlChar buf[10];
+ xmlChar buffer[10];
int len;
- len = xmlCopyCharMultiByte(buf, charval);
- buf[len] = 0;
- node = xmlNewDocText(doc, buf);
- if (node != NULL) {
- if (last == NULL) {
- last = ret = node;
- } else {
- last = xmlAddNextSibling(last, node);
- }
- }
+ len = xmlCopyCharMultiByte(buffer, charval);
+ buffer[len] = 0;
+ if (xmlBufCat(buf, buffer))
+ goto out;
charval = 0;
}
} else
@@ -1592,18 +1631,22 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
/*
* Handle the last piece of text.
*/
- if ((last != NULL) && (last->type == XML_TEXT_NODE)) {
- xmlNodeAddContentLen(last, q, cur - q);
+ xmlBufAdd(buf, q, cur - q);
+ }
+
+ if (!xmlBufIsEmpty(buf)) {
+ node = xmlNewDocText(doc, NULL);
+ node->content = xmlBufDetach(buf);
+
+ if (last == NULL) {
+ ret = node;
} else {
- node = xmlNewDocTextLen(doc, q, cur - q);
- if (node == NULL) return(ret);
- if (last == NULL) {
- last = ret = node;
- } else {
- last = xmlAddNextSibling(last, node);
- }
+ xmlAddNextSibling(last, node);
}
}
+
+out:
+ xmlBufFree(buf);
return(ret);
}
@@ -1619,14 +1662,19 @@ xmlStringGetNodeList(xmlDocPtr doc, const xmlChar *value) {
* Returns a pointer to the string copy, the caller must free it with xmlFree().
*/
xmlChar *
-xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine)
+xmlNodeListGetString(xmlDocPtr doc, const xmlNode *list, int inLine)
{
- xmlNodePtr node = list;
+ const xmlNode *node = list;
xmlChar *ret = NULL;
xmlEntityPtr ent;
+ int attr;
if (list == NULL)
return (NULL);
+ if ((list->parent != NULL) && (list->parent->type == XML_ATTRIBUTE_NODE))
+ attr = 1;
+ else
+ attr = 0;
while (node != NULL) {
if ((node->type == XML_TEXT_NODE) ||
@@ -1636,7 +1684,10 @@ xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine)
} else {
xmlChar *buffer;
- buffer = xmlEncodeEntitiesReentrant(doc, node->content);
+ if (attr)
+ buffer = xmlEncodeAttributeEntities(doc, node->content);
+ else
+ buffer = xmlEncodeEntitiesReentrant(doc, node->content);
if (buffer != NULL) {
ret = xmlStrcat(ret, buffer);
xmlFree(buffer);
@@ -1701,9 +1752,9 @@ xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine)
* Returns a pointer to the string copy, the caller must free it with xmlFree().
*/
xmlChar *
-xmlNodeListGetRawString(xmlDocPtr doc, xmlNodePtr list, int inLine)
+xmlNodeListGetRawString(const xmlDoc *doc, const xmlNode *list, int inLine)
{
- xmlNodePtr node = list;
+ const xmlNode *node = list;
xmlChar *ret = NULL;
xmlEntityPtr ent;
@@ -1780,7 +1831,9 @@ xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns,
xmlDocPtr doc = NULL;
if ((node != NULL) && (node->type != XML_ELEMENT_NODE)) {
- if (eatname == 1)
+ if ((eatname == 1) &&
+ ((node->doc == NULL) ||
+ (!(xmlDictOwns(node->doc->dict, name)))))
xmlFree((xmlChar *) name);
return (NULL);
}
@@ -1790,7 +1843,9 @@ xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns,
*/
cur = (xmlAttrPtr) xmlMalloc(sizeof(xmlAttr));
if (cur == NULL) {
- if (eatname == 1)
+ if ((eatname == 1) &&
+ ((node == NULL) || (node->doc == NULL) ||
+ (!(xmlDictOwns(node->doc->dict, name)))))
xmlFree((xmlChar *) name);
xmlTreeErrMemory("building attribute");
return (NULL);
@@ -1814,11 +1869,15 @@ xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns,
cur->name = name;
if (value != NULL) {
- xmlChar *buffer;
xmlNodePtr tmp;
- buffer = xmlEncodeEntitiesReentrant(doc, value);
- cur->children = xmlStringGetNodeList(doc, buffer);
+ if(!xmlCheckUTF8(value)) {
+ xmlTreeErr(XML_TREE_NOT_UTF8, (xmlNodePtr) doc,
+ NULL);
+ if (doc != NULL)
+ doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
+ }
+ cur->children = xmlNewDocText(doc, value);
cur->last = NULL;
tmp = cur->children;
while (tmp != NULL) {
@@ -1827,7 +1886,6 @@ xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns,
cur->last = tmp;
tmp = tmp->next;
}
- xmlFree(buffer);
}
/*
@@ -1846,7 +1904,8 @@ xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns,
}
}
- if (xmlIsID((node == NULL) ? NULL : node->doc, node, cur) == 1)
+ if ((value != NULL) && (node != NULL) &&
+ (xmlIsID(node->doc, node, cur) == 1))
xmlAddID(NULL, node->doc, value, cur);
if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))
@@ -1927,7 +1986,7 @@ xmlNewNsPropEatName(xmlNodePtr node, xmlNsPtr ns, xmlChar *name,
return(NULL);
}
- return xmlNewPropInternal(node, ns, name, value, 1);
+ return xmlNewPropInternal(node, ns, name, value, 1);
}
/**
@@ -1966,7 +2025,7 @@ xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value) {
cur->name = xmlDictLookup(doc->dict, name, -1);
else
cur->name = xmlStrdup(name);
- cur->doc = doc;
+ cur->doc = doc;
if (value != NULL) {
xmlNodePtr tmp;
@@ -2173,7 +2232,7 @@ xmlNewNode(xmlNsPtr ns, const xmlChar *name) {
}
memset(cur, 0, sizeof(xmlNode));
cur->type = XML_ELEMENT_NODE;
-
+
cur->name = xmlStrdup(name);
cur->ns = ns;
@@ -2210,13 +2269,13 @@ xmlNewNodeEatName(xmlNsPtr ns, xmlChar *name) {
*/
cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode));
if (cur == NULL) {
- xmlFree(name);
xmlTreeErrMemory("building node");
+ /* we can't check here that name comes from the doc dictionnary */
return(NULL);
}
memset(cur, 0, sizeof(xmlNode));
cur->type = XML_ELEMENT_NODE;
-
+
cur->name = name;
cur->ns = ns;
@@ -2290,6 +2349,11 @@ xmlNewDocNodeEatName(xmlDocPtr doc, xmlNsPtr ns,
cur->children = xmlStringGetNodeList(doc, content);
UPDATE_LAST_CHILD_AND_PARENT(cur)
}
+ } else {
+ /* if name don't come from the doc dictionnary free it here */
+ if ((name != NULL) && (doc != NULL) &&
+ (!(xmlDictOwns(doc->dict, name))))
+ xmlFree(name);
}
return(cur);
}
@@ -2399,9 +2463,9 @@ xmlNewText(const xmlChar *content) {
* a child TEXT node will be created containing the string @content.
* NOTE: Use xmlNewChild() if @content will contain entities that need to be
* preserved. Use this function, xmlNewTextChild(), if you need to ensure that
- * reserved XML chars that might appear in @content, such as the ampersand,
- * greater-than or less-than signs, are automatically replaced by their XML
- * escaped entity representations.
+ * reserved XML chars that might appear in @content, such as the ampersand,
+ * greater-than or less-than signs, are automatically replaced by their XML
+ * escaped entity representations.
*
* Returns a pointer to the new node object.
*/
@@ -2519,7 +2583,7 @@ xmlNewCharRef(xmlDocPtr doc, const xmlChar *name) {
* Returns a pointer to the new node object.
*/
xmlNodePtr
-xmlNewReference(xmlDocPtr doc, const xmlChar *name) {
+xmlNewReference(const xmlDoc *doc, const xmlChar *name) {
xmlNodePtr cur;
xmlEntityPtr ent;
@@ -2537,7 +2601,7 @@ xmlNewReference(xmlDocPtr doc, const xmlChar *name) {
memset(cur, 0, sizeof(xmlNode));
cur->type = XML_ENTITY_REF_NODE;
- cur->doc = doc;
+ cur->doc = (xmlDoc *)doc;
if (name[0] == '&') {
int len;
name++;
@@ -2575,11 +2639,11 @@ xmlNewReference(xmlDocPtr doc, const xmlChar *name) {
* Returns a pointer to the new node object.
*/
xmlNodePtr
-xmlNewDocText(xmlDocPtr doc, const xmlChar *content) {
+xmlNewDocText(const xmlDoc *doc, const xmlChar *content) {
xmlNodePtr cur;
cur = xmlNewText(content);
- if (cur != NULL) cur->doc = doc;
+ if (cur != NULL) cur->doc = (xmlDoc *)doc;
return(cur);
}
@@ -2729,14 +2793,33 @@ void
xmlSetTreeDoc(xmlNodePtr tree, xmlDocPtr doc) {
xmlAttrPtr prop;
- if (tree == NULL)
+ if ((tree == NULL) || (tree->type == XML_NAMESPACE_DECL))
return;
if (tree->doc != doc) {
if(tree->type == XML_ELEMENT_NODE) {
prop = tree->properties;
while (prop != NULL) {
+ if (prop->atype == XML_ATTRIBUTE_ID) {
+ xmlRemoveID(tree->doc, prop);
+ }
+
prop->doc = doc;
xmlSetListDoc(prop->children, doc);
+
+ /*
+ * TODO: ID attributes should be also added to the new
+ * document, but this breaks things like xmlReplaceNode.
+ * The underlying problem is that xmlRemoveID is only called
+ * if a node is destroyed, not if it's unlinked.
+ */
+#if 0
+ if (xmlIsID(doc, tree, prop)) {
+ xmlChar *idVal = xmlNodeListGetString(doc, prop->children,
+ 1);
+ xmlAddID(NULL, doc, idVal, prop);
+ }
+#endif
+
prop = prop->next;
}
}
@@ -2757,7 +2840,7 @@ void
xmlSetListDoc(xmlNodePtr list, xmlDocPtr doc) {
xmlNodePtr cur;
- if (list == NULL)
+ if ((list == NULL) || (list->type == XML_NAMESPACE_DECL))
return;
cur = list;
while (cur != NULL) {
@@ -2849,14 +2932,14 @@ xmlNewChild(xmlNodePtr parent, xmlNsPtr ns,
/**
* xmlAddPropSibling:
- * @prev: the attribute to which @prop is added after
+ * @prev: the attribute to which @prop is added after
* @cur: the base attribute passed to calling function
* @prop: the new attribute
*
* Add a new attribute after @prev using @cur as base attribute.
* When inserting before @cur, @prev is passed as @cur->prev.
* When inserting after @cur, @prev is passed as @cur.
- * If an existing attribute is found it is detroyed prior to adding @prop.
+ * If an existing attribute is found it is detroyed prior to adding @prop.
*
* Returns the attribute being inserted or NULL in case of error.
*/
@@ -2864,7 +2947,9 @@ static xmlNodePtr
xmlAddPropSibling(xmlNodePtr prev, xmlNodePtr cur, xmlNodePtr prop) {
xmlAttrPtr attr;
- if (cur->type != XML_ATTRIBUTE_NODE)
+ if ((cur == NULL) || (cur->type != XML_ATTRIBUTE_NODE) ||
+ (prop == NULL) || (prop->type != XML_ATTRIBUTE_NODE) ||
+ ((prev != NULL) && (prev->type != XML_ATTRIBUTE_NODE)))
return(NULL);
/* check if an attribute with the same name exists */
@@ -2906,20 +2991,20 @@ xmlAddPropSibling(xmlNodePtr prev, xmlNodePtr cur, xmlNodePtr prop) {
* first unlinked from its existing context.
* As a result of text merging @elem may be freed.
* If the new node is ATTRIBUTE, it is added into properties instead of children.
- * If there is an attribute with equal name, it is first destroyed.
+ * If there is an attribute with equal name, it is first destroyed.
*
* Returns the new node or NULL in case of error.
*/
xmlNodePtr
xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) {
- if (cur == NULL) {
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddNextSibling : cur == NULL\n");
#endif
return(NULL);
}
- if (elem == NULL) {
+ if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddNextSibling : elem == NULL\n");
@@ -2973,7 +3058,7 @@ xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) {
}
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
- defined(LIBXML_SCHEMAS_ENABLED)
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
/**
* xmlAddPrevSibling:
* @cur: the child node
@@ -2984,20 +3069,20 @@ xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) {
* If the new node was already inserted in a document it is
* first unlinked from its existing context.
* If the new node is ATTRIBUTE, it is added into properties instead of children.
- * If there is an attribute with equal name, it is first destroyed.
+ * If there is an attribute with equal name, it is first destroyed.
*
* Returns the new node or NULL in case of error.
*/
xmlNodePtr
xmlAddPrevSibling(xmlNodePtr cur, xmlNodePtr elem) {
- if (cur == NULL) {
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddPrevSibling : cur == NULL\n");
#endif
return(NULL);
}
- if (elem == NULL) {
+ if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddPrevSibling : elem == NULL\n");
@@ -3068,7 +3153,7 @@ xmlNodePtr
xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
xmlNodePtr parent;
- if (cur == NULL) {
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddSibling : cur == NULL\n");
@@ -3076,7 +3161,7 @@ xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
return(NULL);
}
- if (elem == NULL) {
+ if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddSibling : elem == NULL\n");
@@ -3084,11 +3169,19 @@ xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
return(NULL);
}
+ if (cur == elem) {
+#ifdef DEBUG_TREE
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlAddSibling : cur == elem\n");
+#endif
+ return(NULL);
+ }
+
/*
* Constant time is we can rely on the ->parent->last to find
* the last sibling.
*/
- if ((cur->type != XML_ATTRIBUTE_NODE) && (cur->parent != NULL) &&
+ if ((cur->type != XML_ATTRIBUTE_NODE) && (cur->parent != NULL) &&
(cur->parent->children != NULL) &&
(cur->parent->last != NULL) &&
(cur->parent->last->next == NULL)) {
@@ -3136,7 +3229,7 @@ xmlNodePtr
xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) {
xmlNodePtr prev;
- if (parent == NULL) {
+ if ((parent == NULL) || (parent->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddChildList : parent == NULL\n");
@@ -3144,7 +3237,7 @@ xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) {
return(NULL);
}
- if (cur == NULL) {
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddChildList : child == NULL\n");
@@ -3170,10 +3263,10 @@ xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) {
/*
* If cur and parent->last both are TEXT nodes, then merge them.
*/
- if ((cur->type == XML_TEXT_NODE) &&
+ if ((cur->type == XML_TEXT_NODE) &&
(parent->last->type == XML_TEXT_NODE) &&
(cur->name == parent->last->name)) {
- xmlNodeAddContent(parent->last, cur->content);
+ xmlNodeAddContent(parent->last, cur->content);
/*
* if it's the only child, nothing more to be done.
*/
@@ -3197,7 +3290,10 @@ xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) {
cur = cur->next;
}
cur->parent = parent;
- cur->doc = parent->doc; /* the parent may not be linked to a doc ! */
+ /* the parent may not be linked to a doc ! */
+ if (cur->doc != parent->doc) {
+ xmlSetTreeDoc(cur, parent->doc);
+ }
parent->last = cur;
return(cur);
@@ -3211,7 +3307,7 @@ xmlAddChildList(xmlNodePtr parent, xmlNodePtr cur) {
* Add a new node to @parent, at the end of the child (or property) list
* merging adjacent TEXT nodes (in which case @cur is freed)
* If the new node is ATTRIBUTE, it is added into properties instead of children.
- * If there is an attribute with equal name, it is first destroyed.
+ * If there is an attribute with equal name, it is first destroyed.
*
* Returns the child or NULL in case of error.
*/
@@ -3219,7 +3315,7 @@ xmlNodePtr
xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) {
xmlNodePtr prev;
- if (parent == NULL) {
+ if ((parent == NULL) || (parent->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddChild : parent == NULL\n");
@@ -3227,7 +3323,7 @@ xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) {
return(NULL);
}
- if (cur == NULL) {
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlAddChild : child == NULL\n");
@@ -3290,9 +3386,7 @@ xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) {
if (cur->type == XML_ATTRIBUTE_NODE) {
if (parent->type != XML_ELEMENT_NODE)
return(NULL);
- if (parent->properties == NULL) {
- parent->properties = (xmlAttrPtr) cur;
- } else {
+ if (parent->properties != NULL) {
/* check if an attribute with the same name exists */
xmlAttrPtr lastattr;
@@ -3307,8 +3401,13 @@ xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) {
}
if (lastattr == (xmlAttrPtr) cur)
return(cur);
+
+ }
+ if (parent->properties == NULL) {
+ parent->properties = (xmlAttrPtr) cur;
+ } else {
/* find the end */
- lastattr = parent->properties;
+ xmlAttrPtr lastattr = parent->properties;
while (lastattr->next != NULL) {
lastattr = lastattr->next;
}
@@ -3337,8 +3436,8 @@ xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) {
* Returns the last child or NULL if none.
*/
xmlNodePtr
-xmlGetLastChild(xmlNodePtr parent) {
- if (parent == NULL) {
+xmlGetLastChild(const xmlNode *parent) {
+ if ((parent == NULL) || (parent->type == XML_NAMESPACE_DECL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlGetLastChild : parent == NULL\n");
@@ -3348,6 +3447,202 @@ xmlGetLastChild(xmlNodePtr parent) {
return(parent->last);
}
+#ifdef LIBXML_TREE_ENABLED
+/*
+ * 5 interfaces from DOM ElementTraversal
+ */
+
+/**
+ * xmlChildElementCount:
+ * @parent: the parent node
+ *
+ * Finds the current number of child nodes of that element which are
+ * element nodes.
+ * Note the handling of entities references is different than in
+ * the W3C DOM element traversal spec since we don't have back reference
+ * from entities content to entities references.
+ *
+ * Returns the count of element child or 0 if not available
+ */
+unsigned long
+xmlChildElementCount(xmlNodePtr parent) {
+ unsigned long ret = 0;
+ xmlNodePtr cur = NULL;
+
+ if (parent == NULL)
+ return(0);
+ switch (parent->type) {
+ case XML_ELEMENT_NODE:
+ case XML_ENTITY_NODE:
+ case XML_DOCUMENT_NODE:
+ case XML_DOCUMENT_FRAG_NODE:
+ case XML_HTML_DOCUMENT_NODE:
+ cur = parent->children;
+ break;
+ default:
+ return(0);
+ }
+ while (cur != NULL) {
+ if (cur->type == XML_ELEMENT_NODE)
+ ret++;
+ cur = cur->next;
+ }
+ return(ret);
+}
+
+/**
+ * xmlFirstElementChild:
+ * @parent: the parent node
+ *
+ * Finds the first child node of that element which is a Element node
+ * Note the handling of entities references is different than in
+ * the W3C DOM element traversal spec since we don't have back reference
+ * from entities content to entities references.
+ *
+ * Returns the first element child or NULL if not available
+ */
+xmlNodePtr
+xmlFirstElementChild(xmlNodePtr parent) {
+ xmlNodePtr cur = NULL;
+
+ if (parent == NULL)
+ return(NULL);
+ switch (parent->type) {
+ case XML_ELEMENT_NODE:
+ case XML_ENTITY_NODE:
+ case XML_DOCUMENT_NODE:
+ case XML_DOCUMENT_FRAG_NODE:
+ case XML_HTML_DOCUMENT_NODE:
+ cur = parent->children;
+ break;
+ default:
+ return(NULL);
+ }
+ while (cur != NULL) {
+ if (cur->type == XML_ELEMENT_NODE)
+ return(cur);
+ cur = cur->next;
+ }
+ return(NULL);
+}
+
+/**
+ * xmlLastElementChild:
+ * @parent: the parent node
+ *
+ * Finds the last child node of that element which is a Element node
+ * Note the handling of entities references is different than in
+ * the W3C DOM element traversal spec since we don't have back reference
+ * from entities content to entities references.
+ *
+ * Returns the last element child or NULL if not available
+ */
+xmlNodePtr
+xmlLastElementChild(xmlNodePtr parent) {
+ xmlNodePtr cur = NULL;
+
+ if (parent == NULL)
+ return(NULL);
+ switch (parent->type) {
+ case XML_ELEMENT_NODE:
+ case XML_ENTITY_NODE:
+ case XML_DOCUMENT_NODE:
+ case XML_DOCUMENT_FRAG_NODE:
+ case XML_HTML_DOCUMENT_NODE:
+ cur = parent->last;
+ break;
+ default:
+ return(NULL);
+ }
+ while (cur != NULL) {
+ if (cur->type == XML_ELEMENT_NODE)
+ return(cur);
+ cur = cur->prev;
+ }
+ return(NULL);
+}
+
+/**
+ * xmlPreviousElementSibling:
+ * @node: the current node
+ *
+ * Finds the first closest previous sibling of the node which is an
+ * element node.
+ * Note the handling of entities references is different than in
+ * the W3C DOM element traversal spec since we don't have back reference
+ * from entities content to entities references.
+ *
+ * Returns the previous element sibling or NULL if not available
+ */
+xmlNodePtr
+xmlPreviousElementSibling(xmlNodePtr node) {
+ if (node == NULL)
+ return(NULL);
+ switch (node->type) {
+ case XML_ELEMENT_NODE:
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ case XML_ENTITY_REF_NODE:
+ case XML_ENTITY_NODE:
+ case XML_PI_NODE:
+ case XML_COMMENT_NODE:
+ case XML_XINCLUDE_START:
+ case XML_XINCLUDE_END:
+ node = node->prev;
+ break;
+ default:
+ return(NULL);
+ }
+ while (node != NULL) {
+ if (node->type == XML_ELEMENT_NODE)
+ return(node);
+ node = node->prev;
+ }
+ return(NULL);
+}
+
+/**
+ * xmlNextElementSibling:
+ * @node: the current node
+ *
+ * Finds the first closest next sibling of the node which is an
+ * element node.
+ * Note the handling of entities references is different than in
+ * the W3C DOM element traversal spec since we don't have back reference
+ * from entities content to entities references.
+ *
+ * Returns the next element sibling or NULL if not available
+ */
+xmlNodePtr
+xmlNextElementSibling(xmlNodePtr node) {
+ if (node == NULL)
+ return(NULL);
+ switch (node->type) {
+ case XML_ELEMENT_NODE:
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ case XML_ENTITY_REF_NODE:
+ case XML_ENTITY_NODE:
+ case XML_PI_NODE:
+ case XML_COMMENT_NODE:
+ case XML_DTD_NODE:
+ case XML_XINCLUDE_START:
+ case XML_XINCLUDE_END:
+ node = node->next;
+ break;
+ default:
+ return(NULL);
+ }
+ while (node != NULL) {
+ if (node->type == XML_ELEMENT_NODE)
+ return(node);
+ node = node->next;
+ }
+ return(NULL);
+}
+
+#endif /* LIBXML_TREE_ENABLED */
+
/**
* xmlFreeNodeList:
* @cur: the first node in the list
@@ -3450,6 +3745,11 @@ xmlFreeNode(xmlNodePtr cur) {
if (cur->doc != NULL) dict = cur->doc->dict;
+ if (cur->type == XML_ENTITY_DECL) {
+ xmlEntityPtr ent = (xmlEntityPtr) cur;
+ DICT_FREE(ent->SystemID);
+ DICT_FREE(ent->ExternalID);
+ }
if ((cur->children != NULL) &&
(cur->type != XML_ENTITY_REF_NODE))
xmlFreeNodeList(cur->children);
@@ -3490,6 +3790,10 @@ xmlFreeNode(xmlNodePtr cur) {
* @cur: the node
*
* Unlink a node from it's current context, the node is not freed
+ * If one need to free the node, use xmlFreeNode() routine after the
+ * unlink to discard it.
+ * Note that namespace nodes can't be unlinked as they do not have
+ * pointer to their parent.
*/
void
xmlUnlinkNode(xmlNodePtr cur) {
@@ -3500,6 +3804,8 @@ xmlUnlinkNode(xmlNodePtr cur) {
#endif
return;
}
+ if (cur->type == XML_NAMESPACE_DECL)
+ return;
if (cur->type == XML_DTD_NODE) {
xmlDocPtr doc;
doc = cur->doc;
@@ -3510,6 +3816,28 @@ xmlUnlinkNode(xmlNodePtr cur) {
doc->extSubset = NULL;
}
}
+ if (cur->type == XML_ENTITY_DECL) {
+ xmlDocPtr doc;
+ doc = cur->doc;
+ if (doc != NULL) {
+ if (doc->intSubset != NULL) {
+ if (xmlHashLookup(doc->intSubset->entities, cur->name) == cur)
+ xmlHashRemoveEntry(doc->intSubset->entities, cur->name,
+ NULL);
+ if (xmlHashLookup(doc->intSubset->pentities, cur->name) == cur)
+ xmlHashRemoveEntry(doc->intSubset->pentities, cur->name,
+ NULL);
+ }
+ if (doc->extSubset != NULL) {
+ if (xmlHashLookup(doc->extSubset->entities, cur->name) == cur)
+ xmlHashRemoveEntry(doc->extSubset->entities, cur->name,
+ NULL);
+ if (xmlHashLookup(doc->extSubset->pentities, cur->name) == cur)
+ xmlHashRemoveEntry(doc->extSubset->pentities, cur->name,
+ NULL);
+ }
+ }
+ }
if (cur->parent != NULL) {
xmlNodePtr parent;
parent = cur->parent;
@@ -3546,14 +3874,15 @@ xmlUnlinkNode(xmlNodePtr cur) {
xmlNodePtr
xmlReplaceNode(xmlNodePtr old, xmlNodePtr cur) {
if (old == cur) return(NULL);
- if ((old == NULL) || (old->parent == NULL)) {
+ if ((old == NULL) || (old->type == XML_NAMESPACE_DECL) ||
+ (old->parent == NULL)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlReplaceNode : old == NULL or without parent\n");
#endif
return(NULL);
}
- if (cur == NULL) {
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL)) {
xmlUnlinkNode(old);
return(old);
}
@@ -3605,7 +3934,7 @@ xmlReplaceNode(xmlNodePtr old, xmlNodePtr cur) {
* Copy operations *
* *
************************************************************************/
-
+
/**
* xmlCopyNamespace:
* @cur: the namespace
@@ -3667,6 +3996,8 @@ xmlCopyPropInternal(xmlDocPtr doc, xmlNodePtr target, xmlAttrPtr cur) {
xmlAttrPtr ret;
if (cur == NULL) return(NULL);
+ if ((target != NULL) && (target->type != XML_ELEMENT_NODE))
+ return(NULL);
if (target != NULL)
ret = xmlNewDocProp(target->doc, cur->name, NULL);
else if (doc != NULL)
@@ -3722,7 +4053,7 @@ xmlCopyPropInternal(xmlDocPtr doc, xmlNodePtr target, xmlAttrPtr cur) {
ret->ns = xmlNewReconciliedNs(target->doc, target, cur->ns);
}
}
-
+
} else
ret->ns = NULL;
@@ -3786,6 +4117,8 @@ xmlCopyPropList(xmlNodePtr target, xmlAttrPtr cur) {
xmlAttrPtr ret = NULL;
xmlAttrPtr p = NULL,q;
+ if ((target != NULL) && (target->type != XML_ELEMENT_NODE))
+ return(NULL);
while (cur != NULL) {
q = xmlCopyProp(target, cur);
if (q == NULL)
@@ -3822,7 +4155,7 @@ xmlCopyPropList(xmlNodePtr target, xmlAttrPtr cur) {
*/
static xmlNodePtr
-xmlStaticCopyNode(const xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
+xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
int extended) {
xmlNodePtr ret;
@@ -3843,7 +4176,7 @@ xmlStaticCopyNode(const xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
return((xmlNodePtr) xmlCopyPropInternal(doc, parent, (xmlAttrPtr) node));
case XML_NAMESPACE_DECL:
return((xmlNodePtr) xmlCopyNamespaceList((xmlNsPtr) node));
-
+
case XML_DOCUMENT_NODE:
case XML_HTML_DOCUMENT_NODE:
#ifdef LIBXML_DOCB_ENABLED
@@ -3873,7 +4206,7 @@ xmlStaticCopyNode(const xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
ret->type = node->type;
ret->doc = doc;
- ret->parent = parent;
+ ret->parent = parent;
if (node->name == xmlStringText)
ret->name = xmlStringText;
else if (node->name == xmlStringTextNoenc)
@@ -3912,10 +4245,11 @@ xmlStaticCopyNode(const xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
if (tmp != ret)
return(tmp);
}
-
+
if (!extended)
goto out;
- if ((node->type == XML_ELEMENT_NODE) && (node->nsDef != NULL))
+ if (((node->type == XML_ELEMENT_NODE) ||
+ (node->type == XML_XINCLUDE_START)) && (node->nsDef != NULL))
ret->nsDef = xmlCopyNamespaceList(node->nsDef);
if (node->ns != NULL) {
@@ -3934,6 +4268,8 @@ xmlStaticCopyNode(const xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
while (root->parent != NULL) root = root->parent;
ret->ns = xmlNewNs(root, ns->href, ns->prefix);
+ } else {
+ ret->ns = xmlNewReconciliedNs(doc, ret, node->ns);
}
} else {
/*
@@ -3942,7 +4278,8 @@ xmlStaticCopyNode(const xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
ret->ns = ns;
}
}
- if ((node->type == XML_ELEMENT_NODE) && (node->properties != NULL))
+ if (((node->type == XML_ELEMENT_NODE) ||
+ (node->type == XML_XINCLUDE_START)) && (node->properties != NULL))
ret->properties = xmlCopyPropList(ret, node->properties);
if (node->type == XML_ENTITY_REF_NODE) {
if ((doc == NULL) || (node->doc != doc)) {
@@ -3984,6 +4321,7 @@ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
}
if (doc->intSubset == NULL) {
q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node );
+ if (q == NULL) return(NULL);
q->doc = doc;
q->parent = parent;
doc->intSubset = (xmlDtdPtr) q;
@@ -3995,6 +4333,7 @@ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
} else
#endif /* LIBXML_TREE_ENABLED */
q = xmlStaticCopyNode(node, doc, parent, 1);
+ if (q == NULL) return(NULL);
if (ret == NULL) {
q->prev = NULL;
ret = p = q;
@@ -4021,7 +4360,7 @@ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
* Returns: a new #xmlNodePtr, or NULL in case of error.
*/
xmlNodePtr
-xmlCopyNode(const xmlNodePtr node, int extended) {
+xmlCopyNode(xmlNodePtr node, int extended) {
xmlNodePtr ret;
ret = xmlStaticCopyNode(node, NULL, NULL, extended);
@@ -4041,7 +4380,7 @@ xmlCopyNode(const xmlNodePtr node, int extended) {
* Returns: a new #xmlNodePtr, or NULL in case of error.
*/
xmlNodePtr
-xmlDocCopyNode(const xmlNodePtr node, xmlDocPtr doc, int extended) {
+xmlDocCopyNode(xmlNodePtr node, xmlDocPtr doc, int extended) {
xmlNodePtr ret;
ret = xmlStaticCopyNode(node, doc, NULL, extended);
@@ -4057,7 +4396,7 @@ xmlDocCopyNode(const xmlNodePtr node, xmlDocPtr doc, int extended) {
*
* Returns: a new #xmlNodePtr, or NULL in case of error.
*/
-xmlNodePtr xmlDocCopyNodeList(xmlDocPtr doc, const xmlNodePtr node) {
+xmlNodePtr xmlDocCopyNodeList(xmlDocPtr doc, xmlNodePtr node) {
xmlNodePtr ret = xmlStaticCopyNodeList(node, doc, NULL);
return(ret);
}
@@ -4071,7 +4410,7 @@ xmlNodePtr xmlDocCopyNodeList(xmlDocPtr doc, const xmlNodePtr node) {
*
* Returns: a new #xmlNodePtr, or NULL in case of error.
*/
-xmlNodePtr xmlCopyNodeList(const xmlNodePtr node) {
+xmlNodePtr xmlCopyNodeList(xmlNodePtr node) {
xmlNodePtr ret = xmlStaticCopyNodeList(node, NULL, NULL);
return(ret);
}
@@ -4108,7 +4447,7 @@ xmlCopyDtd(xmlDtdPtr dtd) {
if (dtd->pentities != NULL)
ret->pentities = (void *) xmlCopyEntitiesTable(
(xmlEntitiesTablePtr) dtd->pentities);
-
+
cur = dtd->children;
while (cur != NULL) {
q = NULL;
@@ -4123,7 +4462,7 @@ xmlCopyDtd(xmlDtdPtr dtd) {
break;
case XML_INTERNAL_PARAMETER_ENTITY:
case XML_EXTERNAL_PARAMETER_ENTITY:
- q = (xmlNodePtr)
+ q = (xmlNodePtr)
xmlGetParameterEntityFromDtd(ret, tmp->name);
break;
case XML_INTERNAL_PREDEFINED_ENTITY:
@@ -4135,27 +4474,27 @@ xmlCopyDtd(xmlDtdPtr dtd) {
xmlGetDtdQElementDesc(ret, tmp->name, tmp->prefix);
} else if (cur->type == XML_ATTRIBUTE_DECL) {
xmlAttributePtr tmp = (xmlAttributePtr) cur;
- q = (xmlNodePtr)
+ q = (xmlNodePtr)
xmlGetDtdQAttrDesc(ret, tmp->elem, tmp->name, tmp->prefix);
} else if (cur->type == XML_COMMENT_NODE) {
q = xmlCopyNode(cur, 0);
}
-
+
if (q == NULL) {
cur = cur->next;
continue;
}
-
+
if (p == NULL)
ret->children = q;
else
- p->next = q;
-
- q->prev = p;
- q->parent = (xmlNodePtr) ret;
+ p->next = q;
+
+ q->prev = p;
+ q->parent = (xmlNodePtr) ret;
q->next = NULL;
ret->last = q;
- p = q;
+ p = q;
cur = cur->next;
}
@@ -4197,6 +4536,10 @@ xmlCopyDoc(xmlDocPtr doc, int recursive) {
#ifdef LIBXML_TREE_ENABLED
if (doc->intSubset != NULL) {
ret->intSubset = xmlCopyDtd(doc->intSubset);
+ if (ret->intSubset == NULL) {
+ xmlFreeDoc(ret);
+ return(NULL);
+ }
xmlSetTreeDoc((xmlNodePtr)ret->intSubset, ret);
ret->intSubset->parent = ret;
}
@@ -4205,7 +4548,7 @@ xmlCopyDoc(xmlDocPtr doc, int recursive) {
ret->oldNs = xmlCopyNamespaceList(doc->oldNs);
if (doc->children != NULL) {
xmlNodePtr tmp;
-
+
ret->children = xmlStaticCopyNodeList(doc->children, ret,
(xmlNodePtr)ret);
ret->last = NULL;
@@ -4225,41 +4568,73 @@ xmlCopyDoc(xmlDocPtr doc, int recursive) {
* Content access functions *
* *
************************************************************************/
-
+
/**
- * xmlGetLineNo:
+ * xmlGetLineNoInternal:
* @node: valid node
+ * @depth: used to limit any risk of recursion
*
- * Get line number of @node. This requires activation of this option
- * before invoking the parser by calling xmlLineNumbersDefault(1)
+ * Get line number of @node.
+ * Try to override the limitation of lines being store in 16 bits ints
*
* Returns the line number if successful, -1 otherwise
*/
-long
-xmlGetLineNo(xmlNodePtr node)
+static long
+xmlGetLineNoInternal(const xmlNode *node, int depth)
{
long result = -1;
+ if (depth >= 5)
+ return(-1);
+
if (!node)
return result;
if ((node->type == XML_ELEMENT_NODE) ||
(node->type == XML_TEXT_NODE) ||
(node->type == XML_COMMENT_NODE) ||
- (node->type == XML_PI_NODE))
- result = (long) node->line;
- else if ((node->prev != NULL) &&
+ (node->type == XML_PI_NODE)) {
+ if (node->line == 65535) {
+ if ((node->type == XML_TEXT_NODE) && (node->psvi != NULL))
+ result = (long) node->psvi;
+ else if ((node->type == XML_ELEMENT_NODE) &&
+ (node->children != NULL))
+ result = xmlGetLineNoInternal(node->children, depth + 1);
+ else if (node->next != NULL)
+ result = xmlGetLineNoInternal(node->next, depth + 1);
+ else if (node->prev != NULL)
+ result = xmlGetLineNoInternal(node->prev, depth + 1);
+ }
+ if ((result == -1) || (result == 65535))
+ result = (long) node->line;
+ } else if ((node->prev != NULL) &&
((node->prev->type == XML_ELEMENT_NODE) ||
(node->prev->type == XML_TEXT_NODE) ||
(node->prev->type == XML_COMMENT_NODE) ||
(node->prev->type == XML_PI_NODE)))
- result = xmlGetLineNo(node->prev);
+ result = xmlGetLineNoInternal(node->prev, depth + 1);
else if ((node->parent != NULL) &&
(node->parent->type == XML_ELEMENT_NODE))
- result = xmlGetLineNo(node->parent);
+ result = xmlGetLineNoInternal(node->parent, depth + 1);
return result;
}
+/**
+ * xmlGetLineNo:
+ * @node: valid node
+ *
+ * Get line number of @node.
+ * Try to override the limitation of lines being store in 16 bits ints
+ * if XML_PARSE_BIG_LINES parser option was used
+ *
+ * Returns the line number if successful, -1 otherwise
+ */
+long
+xmlGetLineNo(const xmlNode *node)
+{
+ return(xmlGetLineNoInternal(node, 0));
+}
+
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
/**
* xmlGetNodePath:
@@ -4271,9 +4646,9 @@ xmlGetLineNo(xmlNodePtr node)
* the returned string
*/
xmlChar *
-xmlGetNodePath(xmlNodePtr node)
+xmlGetNodePath(const xmlNode *node)
{
- xmlNodePtr cur, tmp, next;
+ const xmlNode *cur, *tmp, *next;
xmlChar *buffer = NULL, *temp;
size_t buf_len;
xmlChar *buf;
@@ -4282,7 +4657,7 @@ xmlGetNodePath(xmlNodePtr node)
char nametemp[100];
int occur = 0, generic;
- if (node == NULL)
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL))
return (NULL);
buf_len = 500;
@@ -4317,7 +4692,7 @@ xmlGetNodePath(xmlNodePtr node)
if (cur->ns) {
if (cur->ns->prefix != NULL) {
snprintf(nametemp, sizeof(nametemp) - 1, "%s:%s",
- (char *)cur->ns->prefix, (char *)cur->name);
+ (char *)cur->ns->prefix, (char *)cur->name);
nametemp[sizeof(nametemp) - 1] = 0;
name = nametemp;
} else {
@@ -4327,7 +4702,7 @@ xmlGetNodePath(xmlNodePtr node)
*/
generic = 1;
name = "*";
- }
+ }
}
next = cur->parent;
@@ -4415,7 +4790,7 @@ xmlGetNodePath(xmlNodePtr node)
{
occur = 1;
break;
- }
+ }
tmp = tmp->next;
}
} else
@@ -4458,10 +4833,10 @@ xmlGetNodePath(xmlNodePtr node)
if (cur->ns) {
if (cur->ns->prefix != NULL)
snprintf(nametemp, sizeof(nametemp) - 1, "%s:%s",
- (char *)cur->ns->prefix, (char *)cur->name);
+ (char *)cur->ns->prefix, (char *)cur->name);
else
snprintf(nametemp, sizeof(nametemp) - 1, "%s",
- (char *)cur->name);
+ (char *)cur->name);
nametemp[sizeof(nametemp) - 1] = 0;
name = nametemp;
}
@@ -4517,7 +4892,7 @@ xmlGetNodePath(xmlNodePtr node)
* Returns the #xmlNodePtr for the root or NULL
*/
xmlNodePtr
-xmlDocGetRootElement(xmlDocPtr doc) {
+xmlDocGetRootElement(const xmlDoc *doc) {
xmlNodePtr ret;
if (doc == NULL) return(NULL);
@@ -4529,7 +4904,7 @@ xmlDocGetRootElement(xmlDocPtr doc) {
}
return(ret);
}
-
+
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
/**
* xmlDocSetRootElement:
@@ -4547,7 +4922,7 @@ xmlDocSetRootElement(xmlDocPtr doc, xmlNodePtr root) {
xmlNodePtr old = NULL;
if (doc == NULL) return(NULL);
- if (root == NULL)
+ if ((root == NULL) || (root->type == XML_NAMESPACE_DECL))
return(NULL);
xmlUnlinkNode(root);
xmlSetTreeDoc(root, doc);
@@ -4571,7 +4946,7 @@ xmlDocSetRootElement(xmlDocPtr doc, xmlNodePtr root) {
return(old);
}
#endif
-
+
#if defined(LIBXML_TREE_ENABLED)
/**
* xmlNodeSetLang:
@@ -4619,7 +4994,7 @@ xmlNodeSetLang(xmlNodePtr cur, const xmlChar *lang) {
xmlSetNsProp(cur, ns, BAD_CAST "lang", lang);
}
#endif /* LIBXML_TREE_ENABLED */
-
+
/**
* xmlNodeGetLang:
* @cur: the node being checked
@@ -4631,9 +5006,11 @@ xmlNodeSetLang(xmlNodePtr cur, const xmlChar *lang) {
* It's up to the caller to free the memory with xmlFree().
*/
xmlChar *
-xmlNodeGetLang(xmlNodePtr cur) {
+xmlNodeGetLang(const xmlNode *cur) {
xmlChar *lang;
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
+ return(NULL);
while (cur != NULL) {
lang = xmlGetNsProp(cur, BAD_CAST "lang", XML_XML_NAMESPACE);
if (lang != NULL)
@@ -4642,7 +5019,7 @@ xmlNodeGetLang(xmlNodePtr cur) {
}
return(NULL);
}
-
+
#ifdef LIBXML_TREE_ENABLED
/**
@@ -4710,9 +5087,11 @@ xmlNodeSetSpacePreserve(xmlNodePtr cur, int val) {
* Returns -1 if xml:space is not inherited, 0 if "default", 1 if "preserve"
*/
int
-xmlNodeGetSpacePreserve(xmlNodePtr cur) {
+xmlNodeGetSpacePreserve(const xmlNode *cur) {
xmlChar *space;
+ if ((cur == NULL) || (cur->type != XML_ELEMENT_NODE))
+ return(-1);
while (cur != NULL) {
space = xmlGetNsProp(cur, BAD_CAST "space", XML_XML_NAMESPACE);
if (space != NULL) {
@@ -4730,7 +5109,7 @@ xmlNodeGetSpacePreserve(xmlNodePtr cur) {
}
return(-1);
}
-
+
#ifdef LIBXML_TREE_ENABLED
/**
* xmlNodeSetName:
@@ -4743,6 +5122,7 @@ void
xmlNodeSetName(xmlNodePtr cur, const xmlChar *name) {
xmlDocPtr doc;
xmlDictPtr dict;
+ const xmlChar *freeme = NULL;
if (cur == NULL) return;
if (name == NULL) return;
@@ -4780,15 +5160,19 @@ xmlNodeSetName(xmlNodePtr cur, const xmlChar *name) {
dict = NULL;
if (dict != NULL) {
if ((cur->name != NULL) && (!xmlDictOwns(dict, cur->name)))
- xmlFree((xmlChar *) cur->name);
+ freeme = cur->name;
cur->name = xmlDictLookup(dict, name, -1);
} else {
- if (cur->name != NULL) xmlFree((xmlChar *) cur->name);
+ if (cur->name != NULL)
+ freeme = cur->name;
cur->name = xmlStrdup(name);
}
+
+ if (freeme)
+ xmlFree((xmlChar *) freeme);
}
#endif
-
+
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
/**
* xmlNodeSetBase:
@@ -4801,7 +5185,7 @@ xmlNodeSetName(xmlNodePtr cur, const xmlChar *name) {
void
xmlNodeSetBase(xmlNodePtr cur, const xmlChar* uri) {
xmlNsPtr ns;
- const xmlChar* fixed;
+ xmlChar* fixed;
if (cur == NULL) return;
switch(cur->type) {
@@ -4841,7 +5225,7 @@ xmlNodeSetBase(xmlNodePtr cur, const xmlChar* uri) {
return;
}
}
-
+
ns = xmlSearchNsByHref(cur->doc, cur, XML_XML_NAMESPACE);
if (ns == NULL)
return;
@@ -4867,19 +5251,21 @@ xmlNodeSetBase(xmlNodePtr cur, const xmlChar* uri) {
* and
* 5.1.2. Base URI from the Encapsulating Entity
* However it does not return the document base (5.1.3), use
- * xmlDocumentGetBase() for this
+ * doc->URL in this case
*
* Returns a pointer to the base URL, or NULL if not found
* It's up to the caller to free the memory with xmlFree().
*/
xmlChar *
-xmlNodeGetBase(xmlDocPtr doc, xmlNodePtr cur) {
+xmlNodeGetBase(const xmlDoc *doc, const xmlNode *cur) {
xmlChar *oldbase = NULL;
xmlChar *base, *newbase;
- if ((cur == NULL) && (doc == NULL))
+ if ((cur == NULL) && (doc == NULL))
+ return(NULL);
+ if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL))
return(NULL);
- if (doc == NULL) doc = cur->doc;
+ if (doc == NULL) doc = cur->doc;
if ((doc != NULL) && (doc->type == XML_HTML_DOCUMENT_NODE)) {
cur = doc->children;
while ((cur != NULL) && (cur->name != NULL)) {
@@ -4941,7 +5327,7 @@ xmlNodeGetBase(xmlDocPtr doc, xmlNodePtr cur) {
}
return(oldbase);
}
-
+
/**
* xmlNodeBufGetContent:
* @buffer: a buffer
@@ -4952,31 +5338,59 @@ xmlNodeGetBase(xmlDocPtr doc, xmlNodePtr cur) {
* of the values carried by this node child's (TEXT and ENTITY_REF).
* Entity references are substituted.
* Fills up the buffer @buffer with this value
- *
+ *
* Returns 0 in case of success and -1 in case of error.
*/
int
-xmlNodeBufGetContent(xmlBufferPtr buffer, xmlNodePtr cur)
+xmlNodeBufGetContent(xmlBufferPtr buffer, const xmlNode *cur)
{
+ xmlBufPtr buf;
+ int ret;
+
if ((cur == NULL) || (buffer == NULL)) return(-1);
+ buf = xmlBufFromBuffer(buffer);
+ ret = xmlBufGetNodeContent(buf, cur);
+ buffer = xmlBufBackToBuffer(buf);
+ if ((ret < 0) || (buffer == NULL))
+ return(-1);
+ return(0);
+}
+
+/**
+ * xmlBufGetNodeContent:
+ * @buf: a buffer xmlBufPtr
+ * @cur: the node being read
+ *
+ * Read the value of a node @cur, this can be either the text carried
+ * directly by this node if it's a TEXT node or the aggregate string
+ * of the values carried by this node child's (TEXT and ENTITY_REF).
+ * Entity references are substituted.
+ * Fills up the buffer @buf with this value
+ *
+ * Returns 0 in case of success and -1 in case of error.
+ */
+int
+xmlBufGetNodeContent(xmlBufPtr buf, const xmlNode *cur)
+{
+ if ((cur == NULL) || (buf == NULL)) return(-1);
switch (cur->type) {
case XML_CDATA_SECTION_NODE:
case XML_TEXT_NODE:
- xmlBufferCat(buffer, cur->content);
+ xmlBufCat(buf, cur->content);
break;
case XML_DOCUMENT_FRAG_NODE:
case XML_ELEMENT_NODE:{
- xmlNodePtr tmp = cur;
+ const xmlNode *tmp = cur;
while (tmp != NULL) {
switch (tmp->type) {
case XML_CDATA_SECTION_NODE:
case XML_TEXT_NODE:
if (tmp->content != NULL)
- xmlBufferCat(buffer, tmp->content);
+ xmlBufCat(buf, tmp->content);
break;
case XML_ENTITY_REF_NODE:
- xmlNodeBufGetContent(buffer, tmp);
+ xmlBufGetNodeContent(buf, tmp);
break;
default:
break;
@@ -5020,16 +5434,16 @@ xmlNodeBufGetContent(xmlBufferPtr buffer, xmlNodePtr cur)
while (tmp != NULL) {
if (tmp->type == XML_TEXT_NODE)
- xmlBufferCat(buffer, tmp->content);
+ xmlBufCat(buf, tmp->content);
else
- xmlNodeBufGetContent(buffer, tmp);
+ xmlBufGetNodeContent(buf, tmp);
tmp = tmp->next;
}
break;
}
case XML_COMMENT_NODE:
case XML_PI_NODE:
- xmlBufferCat(buffer, cur->content);
+ xmlBufCat(buf, cur->content);
break;
case XML_ENTITY_REF_NODE:{
xmlEntityPtr ent;
@@ -5047,7 +5461,7 @@ xmlNodeBufGetContent(xmlBufferPtr buffer, xmlNodePtr cur)
* xmlNodeGetContent() which handles all possible node types */
tmp = ent->children;
while (tmp) {
- xmlNodeBufGetContent(buffer, tmp);
+ xmlBufGetNodeContent(buf, tmp);
tmp = tmp->next;
}
break;
@@ -5069,13 +5483,13 @@ xmlNodeBufGetContent(xmlBufferPtr buffer, xmlNodePtr cur)
if ((cur->type == XML_ELEMENT_NODE) ||
(cur->type == XML_TEXT_NODE) ||
(cur->type == XML_CDATA_SECTION_NODE)) {
- xmlNodeBufGetContent(buffer, cur);
+ xmlBufGetNodeContent(buf, cur);
}
cur = cur->next;
}
break;
case XML_NAMESPACE_DECL:
- xmlBufferCat(buffer, ((xmlNsPtr) cur)->href);
+ xmlBufCat(buf, ((xmlNsPtr) cur)->href);
break;
case XML_ELEMENT_DECL:
case XML_ATTRIBUTE_DECL:
@@ -5084,6 +5498,7 @@ xmlNodeBufGetContent(xmlBufferPtr buffer, xmlNodePtr cur)
}
return(0);
}
+
/**
* xmlNodeGetContent:
* @cur: the node being read
@@ -5096,23 +5511,22 @@ xmlNodeBufGetContent(xmlBufferPtr buffer, xmlNodePtr cur)
* It's up to the caller to free the memory with xmlFree().
*/
xmlChar *
-xmlNodeGetContent(xmlNodePtr cur)
+xmlNodeGetContent(const xmlNode *cur)
{
if (cur == NULL)
return (NULL);
switch (cur->type) {
case XML_DOCUMENT_FRAG_NODE:
case XML_ELEMENT_NODE:{
- xmlBufferPtr buffer;
+ xmlBufPtr buf;
xmlChar *ret;
- buffer = xmlBufferCreateSize(64);
- if (buffer == NULL)
+ buf = xmlBufCreateSize(64);
+ if (buf == NULL)
return (NULL);
- xmlNodeBufGetContent(buffer, cur);
- ret = buffer->content;
- buffer->content = NULL;
- xmlBufferFree(buffer);
+ xmlBufGetNodeContent(buf, cur);
+ ret = xmlBufDetach(buf);
+ xmlBufFree(buf);
return (ret);
}
case XML_ATTRIBUTE_NODE:
@@ -5124,7 +5538,7 @@ xmlNodeGetContent(xmlNodePtr cur)
return (NULL);
case XML_ENTITY_REF_NODE:{
xmlEntityPtr ent;
- xmlBufferPtr buffer;
+ xmlBufPtr buf;
xmlChar *ret;
/* lookup entity declaration */
@@ -5132,15 +5546,14 @@ xmlNodeGetContent(xmlNodePtr cur)
if (ent == NULL)
return (NULL);
- buffer = xmlBufferCreate();
- if (buffer == NULL)
+ buf = xmlBufCreate();
+ if (buf == NULL)
return (NULL);
- xmlNodeBufGetContent(buffer, cur);
+ xmlBufGetNodeContent(buf, cur);
- ret = buffer->content;
- buffer->content = NULL;
- xmlBufferFree(buffer);
+ ret = xmlBufDetach(buf);
+ xmlBufFree(buf);
return (ret);
}
case XML_ENTITY_NODE:
@@ -5155,18 +5568,17 @@ xmlNodeGetContent(xmlNodePtr cur)
case XML_DOCB_DOCUMENT_NODE:
#endif
case XML_HTML_DOCUMENT_NODE: {
- xmlBufferPtr buffer;
+ xmlBufPtr buf;
xmlChar *ret;
- buffer = xmlBufferCreate();
- if (buffer == NULL)
+ buf = xmlBufCreate();
+ if (buf == NULL)
return (NULL);
- xmlNodeBufGetContent(buffer, (xmlNodePtr) cur);
+ xmlBufGetNodeContent(buf, (xmlNodePtr) cur);
- ret = buffer->content;
- buffer->content = NULL;
- xmlBufferFree(buffer);
+ ret = xmlBufDetach(buf);
+ xmlBufFree(buf);
return (ret);
}
case XML_NAMESPACE_DECL: {
@@ -5199,6 +5611,9 @@ xmlNodeGetContent(xmlNodePtr cur)
* @content: the new value of the content
*
* Replace the content of a node.
+ * NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity
+ * references, but XML special chars need to be escaped first by using
+ * xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().
*/
void
xmlNodeSetContent(xmlNodePtr cur, const xmlChar *content) {
@@ -5228,12 +5643,12 @@ xmlNodeSetContent(xmlNodePtr cur, const xmlChar *content) {
if (!((cur->doc != NULL) && (cur->doc->dict != NULL) &&
(xmlDictOwns(cur->doc->dict, cur->content))))
xmlFree(cur->content);
- }
+ }
if (cur->children != NULL) xmlFreeNodeList(cur->children);
cur->last = cur->children = NULL;
if (content != NULL) {
cur->content = xmlStrdup(content);
- } else
+ } else
cur->content = NULL;
cur->properties = NULL;
cur->nsDef = NULL;
@@ -5273,6 +5688,9 @@ xmlNodeSetContent(xmlNodePtr cur, const xmlChar *content) {
* @len: the size of @content
*
* Replace the content of a node.
+ * NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity
+ * references, but XML special chars need to be escaped first by using
+ * xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().
*/
void
xmlNodeSetContentLen(xmlNodePtr cur, const xmlChar *content, int len) {
@@ -5303,12 +5721,12 @@ xmlNodeSetContentLen(xmlNodePtr cur, const xmlChar *content, int len) {
if (!((cur->doc != NULL) && (cur->doc->dict != NULL) &&
(xmlDictOwns(cur->doc->dict, cur->content))))
xmlFree(cur->content);
- }
+ }
if (cur->children != NULL) xmlFreeNodeList(cur->children);
cur->children = cur->last = NULL;
if (content != NULL) {
cur->content = xmlStrndup(content, len);
- } else
+ } else
cur->content = NULL;
cur->properties = NULL;
cur->nsDef = NULL;
@@ -5342,8 +5760,11 @@ xmlNodeSetContentLen(xmlNodePtr cur, const xmlChar *content, int len) {
* @cur: the node being modified
* @content: extra content
* @len: the size of @content
- *
+ *
* Append the extra substring to the node content.
+ * NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be
+ * raw text, so unescaped XML special chars are allowed, entity
+ * references are not supported.
*/
void
xmlNodeAddContentLen(xmlNodePtr cur, const xmlChar *content, int len) {
@@ -5414,8 +5835,11 @@ xmlNodeAddContentLen(xmlNodePtr cur, const xmlChar *content, int len) {
* xmlNodeAddContent:
* @cur: the node being modified
* @content: extra content
- *
+ *
* Append the extra substring to the node content.
+ * NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be
+ * raw text, so unescaped XML special chars are allowed, entity
+ * references are not supported.
*/
void
xmlNodeAddContent(xmlNodePtr cur, const xmlChar *content) {
@@ -5437,7 +5861,7 @@ xmlNodeAddContent(xmlNodePtr cur, const xmlChar *content) {
* xmlTextMerge:
* @first: the first text node
* @second: the second text node being merged
- *
+ *
* Merge two text nodes into one
* Returns the first text node augmented
*/
@@ -5467,7 +5891,7 @@ xmlTextMerge(xmlNodePtr first, xmlNodePtr second) {
* namespace if defined
*/
xmlNsPtr *
-xmlGetNsList(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node)
+xmlGetNsList(const xmlDoc *doc ATTRIBUTE_UNUSED, const xmlNode *node)
{
xmlNsPtr cur;
xmlNsPtr *ret = NULL;
@@ -5475,6 +5899,9 @@ xmlGetNsList(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node)
int maxns = 10;
int i;
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL))
+ return(NULL);
+
while (node != NULL) {
if (node->type == XML_ELEMENT_NODE) {
cur = node->nsDef;
@@ -5522,9 +5949,9 @@ xmlGetNsList(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node)
/*
* xmlTreeEnsureXMLDecl:
* @doc: the doc
-*
+*
* Ensures that there is an XML namespace declaration on the doc.
-*
+*
* Returns the XML ns-struct or NULL on API and internal errors.
*/
static xmlNsPtr
@@ -5544,7 +5971,7 @@ xmlTreeEnsureXMLDecl(xmlDocPtr doc)
}
memset(ns, 0, sizeof(xmlNs));
ns->type = XML_LOCAL_NAMESPACE;
- ns->href = xmlStrdup(XML_XML_NAMESPACE);
+ ns->href = xmlStrdup(XML_XML_NAMESPACE);
ns->prefix = xmlStrdup((const xmlChar *)"xml");
doc->oldNs = ns;
return (ns);
@@ -5569,11 +5996,11 @@ xmlTreeEnsureXMLDecl(xmlDocPtr doc)
*/
xmlNsPtr
xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace) {
-
+
xmlNsPtr cur;
- xmlNodePtr orig = node;
+ const xmlNode *orig = node;
- if (node == NULL) return(NULL);
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL)) return(NULL);
if ((nameSpace != NULL) &&
(xmlStrEqual(nameSpace, (const xmlChar *)"xml"))) {
if ((doc == NULL) && (node->type == XML_ELEMENT_NODE)) {
@@ -5589,8 +6016,8 @@ xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace) {
}
memset(cur, 0, sizeof(xmlNs));
cur->type = XML_LOCAL_NAMESPACE;
- cur->href = xmlStrdup(XML_XML_NAMESPACE);
- cur->prefix = xmlStrdup((const xmlChar *)"xml");
+ cur->href = xmlStrdup(XML_XML_NAMESPACE);
+ cur->prefix = xmlStrdup((const xmlChar *)"xml");
cur->next = node->nsDef;
node->nsDef = cur;
return(cur);
@@ -5625,7 +6052,7 @@ xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace) {
return(cur);
cur = cur->next;
}
- if (orig != node) {
+ if (orig != node) {
cur = node->ns;
if (cur != NULL) {
if ((cur->prefix == NULL) && (nameSpace == NULL) &&
@@ -5636,7 +6063,7 @@ xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace) {
(xmlStrEqual(cur->prefix, nameSpace)))
return(cur);
}
- }
+ }
}
node = node->parent;
}
@@ -5652,7 +6079,7 @@ xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace) {
*
* Verify that the given namespace held on @ancestor is still in scope
* on node.
- *
+ *
* Returns 1 if true, 0 if false and -1 in case of error.
*/
static int
@@ -5685,7 +6112,7 @@ xmlNsInScope(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node,
return (-1);
return (1);
}
-
+
/**
* xmlSearchNsByHref:
* @doc: the document
@@ -5703,7 +6130,7 @@ xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href)
xmlNodePtr orig = node;
int is_attr;
- if ((node == NULL) || (href == NULL))
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL) || (href == NULL))
return (NULL);
if (xmlStrEqual(href, XML_XML_NAMESPACE)) {
/*
@@ -5739,7 +6166,7 @@ xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href)
if (doc->oldNs == NULL)
return(xmlTreeEnsureXMLDecl(doc));
else
- return(doc->oldNs);
+ return(doc->oldNs);
}
is_attr = (node->type == XML_ATTRIBUTE_NODE);
while (node != NULL) {
@@ -5768,7 +6195,7 @@ xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href)
return (cur);
}
}
- }
+ }
}
node = node->parent;
}
@@ -5788,13 +6215,13 @@ xmlSearchNsByHref(xmlDocPtr doc, xmlNodePtr node, const xmlChar * href)
* @tree or on one of its ancestors then a new prefix is generated.
* Returns the (new) namespace definition or NULL in case of error
*/
-xmlNsPtr
+static xmlNsPtr
xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns) {
xmlNsPtr def;
xmlChar prefix[50];
int counter = 1;
- if (tree == NULL) {
+ if ((tree == NULL) || (tree->type != XML_ELEMENT_NODE)) {
#ifdef DEBUG_TREE
xmlGenericError(xmlGenericErrorContext,
"xmlNewReconciliedNs : tree == NULL\n");
@@ -5831,7 +6258,7 @@ xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr tree, xmlNsPtr ns) {
snprintf((char *) prefix, sizeof(prefix), "default%d", counter++);
else
snprintf((char *) prefix, sizeof(prefix), "%.20s%d",
- (char *)ns->prefix, counter++);
+ (char *)ns->prefix, counter++);
def = xmlSearchNs(doc, tree, prefix);
}
@@ -6026,7 +6453,7 @@ xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) {
}
}
/* exit condition */
- if (node == tree)
+ if (node == tree)
node = NULL;
} else
break;
@@ -6040,7 +6467,7 @@ xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) {
#endif /* LIBXML_TREE_ENABLED */
static xmlAttrPtr
-xmlGetPropNodeInternal(xmlNodePtr node, const xmlChar *name,
+xmlGetPropNodeInternal(const xmlNode *node, const xmlChar *name,
const xmlChar *nsName, int useDTD)
{
xmlAttrPtr prop;
@@ -6082,14 +6509,14 @@ xmlGetPropNodeInternal(xmlNodePtr node, const xmlChar *name,
/*
* Check if there is a default/fixed attribute declaration in
* the internal or external subset.
- */
+ */
if ((node->doc != NULL) && (node->doc->intSubset != NULL)) {
xmlDocPtr doc = node->doc;
xmlAttributePtr attrDecl = NULL;
xmlChar *elemQName, *tmpstr = NULL;
/*
- * We need the QName of the element for the DTD-lookup.
+ * We need the QName of the element for the DTD-lookup.
*/
if ((node->ns != NULL) && (node->ns->prefix != NULL)) {
tmpstr = xmlStrdup(node->ns->prefix);
@@ -6140,7 +6567,7 @@ xmlGetPropNodeInternal(xmlNodePtr node, const xmlChar *name,
cur++;
}
xmlFree(nsList);
- }
+ }
if (tmpstr != NULL)
xmlFree(tmpstr);
/*
@@ -6154,7 +6581,7 @@ xmlGetPropNodeInternal(xmlNodePtr node, const xmlChar *name,
}
static xmlChar*
-xmlGetPropNodeValueInternal(xmlAttrPtr prop)
+xmlGetPropNodeValueInternal(const xmlAttr *prop)
{
if (prop == NULL)
return(NULL);
@@ -6184,7 +6611,7 @@ xmlGetPropNodeValueInternal(xmlAttrPtr prop)
} else if (prop->type == XML_ATTRIBUTE_DECL) {
return(xmlStrdup(((xmlAttributePtr)prop)->defaultValue));
}
- return(NULL);
+ return(NULL);
}
/**
@@ -6196,11 +6623,11 @@ xmlGetPropNodeValueInternal(xmlAttrPtr prop)
* This function also looks in DTD attribute declaration for #FIXED or
* default declaration values unless DTD use has been turned off.
*
- * Returns the attribute or the attribute declaration or NULL if
+ * Returns the attribute or the attribute declaration or NULL if
* neither was found.
*/
xmlAttrPtr
-xmlHasProp(xmlNodePtr node, const xmlChar *name) {
+xmlHasProp(const xmlNode *node, const xmlChar *name) {
xmlAttrPtr prop;
xmlDocPtr doc;
@@ -6255,7 +6682,7 @@ xmlHasProp(xmlNodePtr node, const xmlChar *name) {
* if neither was found.
*/
xmlAttrPtr
-xmlHasNsProp(xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace) {
+xmlHasNsProp(const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace) {
return(xmlGetPropNodeInternal(node, name, nameSpace, xmlCheckDTD));
}
@@ -6277,13 +6704,13 @@ xmlHasNsProp(xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace) {
* It's up to the caller to free the memory with xmlFree().
*/
xmlChar *
-xmlGetProp(xmlNodePtr node, const xmlChar *name) {
- xmlAttrPtr prop;
+xmlGetProp(const xmlNode *node, const xmlChar *name) {
+ xmlAttrPtr prop;
prop = xmlHasProp(node, name);
if (prop == NULL)
return(NULL);
- return(xmlGetPropNodeValueInternal(prop));
+ return(xmlGetPropNodeValueInternal(prop));
}
/**
@@ -6302,9 +6729,9 @@ xmlGetProp(xmlNodePtr node, const xmlChar *name) {
* It's up to the caller to free the memory with xmlFree().
*/
xmlChar *
-xmlGetNoNsProp(xmlNodePtr node, const xmlChar *name) {
+xmlGetNoNsProp(const xmlNode *node, const xmlChar *name) {
xmlAttrPtr prop;
-
+
prop = xmlGetPropNodeInternal(node, name, NULL, xmlCheckDTD);
if (prop == NULL)
return(NULL);
@@ -6327,7 +6754,7 @@ xmlGetNoNsProp(xmlNodePtr node, const xmlChar *name) {
* It's up to the caller to free the memory with xmlFree().
*/
xmlChar *
-xmlGetNsProp(xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace) {
+xmlGetNsProp(const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace) {
xmlAttrPtr prop;
prop = xmlGetPropNodeInternal(node, name, nameSpace, xmlCheckDTD);
@@ -6370,7 +6797,7 @@ xmlUnsetProp(xmlNodePtr node, const xmlChar *name) {
int
xmlUnsetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name) {
xmlAttrPtr prop;
-
+
prop = xmlGetPropNodeInternal(node, name, (ns != NULL) ? ns->href : NULL, 0);
if (prop == NULL)
return(-1);
@@ -6393,7 +6820,7 @@ xmlUnsetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name) {
* error it there's no such ns-binding for the prefix in
* scope.
* Returns the attribute pointer.
- *
+ *
*/
xmlAttrPtr
xmlSetProp(xmlNodePtr node, const xmlChar *name, const xmlChar *value) {
@@ -6436,7 +6863,7 @@ xmlSetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name,
const xmlChar *value)
{
xmlAttrPtr prop;
-
+
if (ns && (ns->href == NULL))
return(NULL);
prop = xmlGetPropNodeInternal(node, name, (ns != NULL) ? ns->href : NULL, 0);
@@ -6448,17 +6875,21 @@ xmlSetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name,
xmlRemoveID(node->doc, prop);
prop->atype = XML_ATTRIBUTE_ID;
}
- if (prop->children != NULL)
+ if (prop->children != NULL)
xmlFreeNodeList(prop->children);
prop->children = NULL;
prop->last = NULL;
prop->ns = ns;
if (value != NULL) {
- xmlChar *buffer;
xmlNodePtr tmp;
-
- buffer = xmlEncodeEntitiesReentrant(node->doc, value);
- prop->children = xmlStringGetNodeList(node->doc, buffer);
+
+ if(!xmlCheckUTF8(value)) {
+ xmlTreeErr(XML_TREE_NOT_UTF8, (xmlNodePtr) node->doc,
+ NULL);
+ if (node->doc != NULL)
+ node->doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
+ }
+ prop->children = xmlNewDocText(node->doc, value);
prop->last = NULL;
tmp = prop->children;
while (tmp != NULL) {
@@ -6467,7 +6898,6 @@ xmlSetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name,
prop->last = tmp;
tmp = tmp->next;
}
- xmlFree(buffer);
}
if (prop->atype == XML_ATTRIBUTE_ID)
xmlAddID(NULL, node->doc, value, prop);
@@ -6484,12 +6914,12 @@ xmlSetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name,
/**
* xmlNodeIsText:
* @node: the node
- *
+ *
* Is this node a Text node ?
* Returns 1 yes, 0 no
*/
int
-xmlNodeIsText(xmlNodePtr node) {
+xmlNodeIsText(const xmlNode *node) {
if (node == NULL) return(0);
if (node->type == XML_TEXT_NODE) return(1);
@@ -6499,14 +6929,14 @@ xmlNodeIsText(xmlNodePtr node) {
/**
* xmlIsBlankNode:
* @node: the node
- *
+ *
* Checks whether this node is an empty or whitespace only
* (and possibly ignorable) text-node.
*
* Returns 1 yes, 0 no
*/
int
-xmlIsBlankNode(xmlNodePtr node) {
+xmlIsBlankNode(const xmlNode *node) {
const xmlChar *cur;
if (node == NULL) return(0);
@@ -6528,7 +6958,7 @@ xmlIsBlankNode(xmlNodePtr node) {
* @node: the node
* @content: the content
* @len: @content length
- *
+ *
* Concat the given string at the end of the existing node content
*
* Returns -1 in case of error, 0 otherwise
@@ -6593,6 +7023,7 @@ xmlBufferCreate(void) {
return(NULL);
}
ret->content[0] = 0;
+ ret->contentIO = NULL;
return(ret);
}
@@ -6625,10 +7056,39 @@ xmlBufferCreateSize(size_t size) {
ret->content[0] = 0;
} else
ret->content = NULL;
+ ret->contentIO = NULL;
return(ret);
}
/**
+ * xmlBufferDetach:
+ * @buf: the buffer
+ *
+ * Remove the string contained in a buffer and gie it back to the
+ * caller. The buffer is reset to an empty content.
+ * This doesn't work with immutable buffers as they can't be reset.
+ *
+ * Returns the previous string contained by the buffer.
+ */
+xmlChar *
+xmlBufferDetach(xmlBufferPtr buf) {
+ xmlChar *ret;
+
+ if (buf == NULL)
+ return(NULL);
+ if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)
+ return(NULL);
+
+ ret = buf->content;
+ buf->content = NULL;
+ buf->size = 0;
+ buf->use = 0;
+
+ return ret;
+}
+
+
+/**
* xmlBufferCreateStatic:
* @mem: the memory area
* @size: the size in byte
@@ -6666,7 +7126,7 @@ xmlBufferCreateStatic(void *mem, size_t size) {
* Sets the allocation scheme for this buffer
*/
void
-xmlBufferSetAllocationScheme(xmlBufferPtr buf,
+xmlBufferSetAllocationScheme(xmlBufferPtr buf,
xmlBufferAllocationScheme scheme) {
if (buf == NULL) {
#ifdef DEBUG_BUFFER
@@ -6675,9 +7135,13 @@ xmlBufferSetAllocationScheme(xmlBufferPtr buf,
#endif
return;
}
- if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
-
- buf->alloc = scheme;
+ if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
+ (buf->alloc == XML_BUFFER_ALLOC_IO)) return;
+ if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
+ (scheme == XML_BUFFER_ALLOC_EXACT) ||
+ (scheme == XML_BUFFER_ALLOC_HYBRID) ||
+ (scheme == XML_BUFFER_ALLOC_IMMUTABLE))
+ buf->alloc = scheme;
}
/**
@@ -6697,7 +7161,10 @@ xmlBufferFree(xmlBufferPtr buf) {
return;
}
- if ((buf->content != NULL) &&
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
+ (buf->contentIO != NULL)) {
+ xmlFree(buf->contentIO);
+ } else if ((buf->content != NULL) &&
(buf->alloc != XML_BUFFER_ALLOC_IMMUTABLE)) {
xmlFree(buf->content);
}
@@ -6717,8 +7184,15 @@ xmlBufferEmpty(xmlBufferPtr buf) {
buf->use = 0;
if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) {
buf->content = BAD_CAST "";
+ } else if ((buf->alloc == XML_BUFFER_ALLOC_IO) &&
+ (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+ buf->size += start_buf;
+ buf->content = buf->contentIO;
+ buf->content[0] = 0;
} else {
- memset(buf->content, 0, buf->size);
+ buf->content[0] = 0;
}
}
@@ -6738,10 +7212,30 @@ xmlBufferShrink(xmlBufferPtr buf, unsigned int len) {
if (len > buf->use) return(-1);
buf->use -= len;
- if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) {
+ if ((buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) ||
+ ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL))) {
+ /*
+ * we just move the content pointer, but also make sure
+ * the perceived buffer size has shrinked accordingly
+ */
buf->content += len;
+ buf->size -= len;
+
+ /*
+ * sometimes though it maybe be better to really shrink
+ * on IO buffers
+ */
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+ if (start_buf >= buf->size) {
+ memmove(buf->contentIO, &buf->content[0], buf->use);
+ buf->content = buf->contentIO;
+ buf->content[buf->use] = 0;
+ buf->size += start_buf;
+ }
+ }
} else {
- memmove(buf->content, &buf->content[len], buf->use * sizeof(xmlChar));
+ memmove(buf->content, &buf->content[len], buf->use);
buf->content[buf->use] = 0;
}
return(len);
@@ -6766,11 +7260,13 @@ xmlBufferGrow(xmlBufferPtr buf, unsigned int len) {
if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
if (len + buf->use < buf->size) return(0);
-/*
- * Windows has a BIG problem on realloc timing, so we try to double
- * the buffer size (if that's enough) (bug 146697)
- */
-#ifdef WIN32
+ /*
+ * Windows has a BIG problem on realloc timing, so we try to double
+ * the buffer size (if that's enough) (bug 146697)
+ * Apparently BSD too, and it's probably best for linux too
+ * On an embedded system this may be something to change
+ */
+#if 1
if (buf->size > len)
size = buf->size * 2;
else
@@ -6779,12 +7275,24 @@ xmlBufferGrow(xmlBufferPtr buf, unsigned int len) {
size = buf->use + len + 100;
#endif
- newbuf = (xmlChar *) xmlRealloc(buf->content, size);
- if (newbuf == NULL) {
- xmlTreeErrMemory("growing buffer");
- return(-1);
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+ newbuf = (xmlChar *) xmlRealloc(buf->contentIO, start_buf + size);
+ if (newbuf == NULL) {
+ xmlTreeErrMemory("growing buffer");
+ return(-1);
+ }
+ buf->contentIO = newbuf;
+ buf->content = newbuf + start_buf;
+ } else {
+ newbuf = (xmlChar *) xmlRealloc(buf->content, size);
+ if (newbuf == NULL) {
+ xmlTreeErrMemory("growing buffer");
+ return(-1);
+ }
+ buf->content = newbuf;
}
- buf->content = newbuf;
buf->size = size;
return(buf->size - buf->use);
}
@@ -6831,7 +7339,7 @@ xmlBufferDump(FILE *file, xmlBufferPtr buf) {
*/
const xmlChar *
-xmlBufferContent(const xmlBufferPtr buf)
+xmlBufferContent(const xmlBuffer *buf)
{
if(!buf)
return NULL;
@@ -6841,7 +7349,7 @@ xmlBufferContent(const xmlBufferPtr buf)
/**
* xmlBufferLength:
- * @buf: the buffer
+ * @buf: the buffer
*
* Function to get the length of a buffer
*
@@ -6849,7 +7357,7 @@ xmlBufferContent(const xmlBufferPtr buf)
*/
int
-xmlBufferLength(const xmlBufferPtr buf)
+xmlBufferLength(const xmlBuffer *buf)
{
if(!buf)
return 0;
@@ -6871,6 +7379,7 @@ xmlBufferResize(xmlBufferPtr buf, unsigned int size)
{
unsigned int newSize;
xmlChar* rebuf = NULL;
+ size_t start_buf;
if (buf == NULL)
return(0);
@@ -6883,42 +7392,83 @@ xmlBufferResize(xmlBufferPtr buf, unsigned int size)
/* figure out new size */
switch (buf->alloc){
- case XML_BUFFER_ALLOC_DOUBLEIT:
- /*take care of empty case*/
- newSize = (buf->size ? buf->size*2 : size + 10);
- while (size > newSize) newSize *= 2;
- break;
- case XML_BUFFER_ALLOC_EXACT:
- newSize = size+10;
- break;
- default:
- newSize = size+10;
- break;
- }
-
- if (buf->content == NULL)
- rebuf = (xmlChar *) xmlMallocAtomic(newSize * sizeof(xmlChar));
- else if (buf->size - buf->use < 100) {
- rebuf = (xmlChar *) xmlRealloc(buf->content,
- newSize * sizeof(xmlChar));
- } else {
- /*
- * if we are reallocating a buffer far from being full, it's
- * better to make a new allocation and copy only the used range
- * and free the old one.
- */
- rebuf = (xmlChar *) xmlMallocAtomic(newSize * sizeof(xmlChar));
- if (rebuf != NULL) {
- memcpy(rebuf, buf->content, buf->use);
- xmlFree(buf->content);
- rebuf[buf->use] = 0;
- }
+ case XML_BUFFER_ALLOC_IO:
+ case XML_BUFFER_ALLOC_DOUBLEIT:
+ /*take care of empty case*/
+ newSize = (buf->size ? buf->size*2 : size + 10);
+ while (size > newSize) {
+ if (newSize > UINT_MAX / 2) {
+ xmlTreeErrMemory("growing buffer");
+ return 0;
+ }
+ newSize *= 2;
+ }
+ break;
+ case XML_BUFFER_ALLOC_EXACT:
+ newSize = size+10;
+ break;
+ case XML_BUFFER_ALLOC_HYBRID:
+ if (buf->use < BASE_BUFFER_SIZE)
+ newSize = size;
+ else {
+ newSize = buf->size * 2;
+ while (size > newSize) {
+ if (newSize > UINT_MAX / 2) {
+ xmlTreeErrMemory("growing buffer");
+ return 0;
+ }
+ newSize *= 2;
+ }
+ }
+ break;
+
+ default:
+ newSize = size+10;
+ break;
}
- if (rebuf == NULL) {
- xmlTreeErrMemory("growing buffer");
- return 0;
+
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ start_buf = buf->content - buf->contentIO;
+
+ if (start_buf > newSize) {
+ /* move data back to start */
+ memmove(buf->contentIO, buf->content, buf->use);
+ buf->content = buf->contentIO;
+ buf->content[buf->use] = 0;
+ buf->size += start_buf;
+ } else {
+ rebuf = (xmlChar *) xmlRealloc(buf->contentIO, start_buf + newSize);
+ if (rebuf == NULL) {
+ xmlTreeErrMemory("growing buffer");
+ return 0;
+ }
+ buf->contentIO = rebuf;
+ buf->content = rebuf + start_buf;
+ }
+ } else {
+ if (buf->content == NULL) {
+ rebuf = (xmlChar *) xmlMallocAtomic(newSize);
+ } else if (buf->size - buf->use < 100) {
+ rebuf = (xmlChar *) xmlRealloc(buf->content, newSize);
+ } else {
+ /*
+ * if we are reallocating a buffer far from being full, it's
+ * better to make a new allocation and copy only the used range
+ * and free the old one.
+ */
+ rebuf = (xmlChar *) xmlMallocAtomic(newSize);
+ if (rebuf != NULL) {
+ memcpy(rebuf, buf->content, buf->use);
+ xmlFree(buf->content);
+ rebuf[buf->use] = 0;
+ }
+ }
+ if (rebuf == NULL) {
+ xmlTreeErrMemory("growing buffer");
+ return 0;
+ }
+ buf->content = rebuf;
}
- buf->content = rebuf;
buf->size = newSize;
return 1;
@@ -6956,7 +7506,8 @@ xmlBufferAdd(xmlBufferPtr buf, const xmlChar *str, int len) {
if (len < 0)
len = xmlStrlen(str);
- if (len <= 0) return -1;
+ if (len < 0) return -1;
+ if (len == 0) return 0;
needSize = buf->use + len + 2;
if (needSize > buf->size){
@@ -7012,6 +7563,20 @@ xmlBufferAddHead(xmlBufferPtr buf, const xmlChar *str, int len) {
if (len <= 0) return -1;
+ if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
+ size_t start_buf = buf->content - buf->contentIO;
+
+ if (start_buf > (unsigned int) len) {
+ /*
+ * We can add it in the space previously shrinked
+ */
+ buf->content -= len;
+ memmove(&buf->content[0], str, len);
+ buf->use += len;
+ buf->size += len;
+ return(0);
+ }
+ }
needSize = buf->use + len + 2;
if (needSize > buf->size){
if (!xmlBufferResize(buf, needSize)){
@@ -7020,8 +7585,8 @@ xmlBufferAddHead(xmlBufferPtr buf, const xmlChar *str, int len) {
}
}
- memmove(&buf->content[len], &buf->content[0], buf->use * sizeof(xmlChar));
- memmove(&buf->content[0], str, len * sizeof(xmlChar));
+ memmove(&buf->content[len], &buf->content[0], buf->use);
+ memmove(&buf->content[0], str, len);
buf->use += len;
buf->content[buf->use] = 0;
return 0;
@@ -7176,7 +7741,7 @@ xmlBufferWriteQuotedString(xmlBufferPtr buf, const xmlChar *string) {
* Returns 0 (uncompressed) to 9 (max compression)
*/
int
-xmlGetDocCompressMode (xmlDocPtr doc) {
+xmlGetDocCompressMode (const xmlDoc *doc) {
if (doc == NULL) return(-1);
return(doc->compression);
}
@@ -7268,7 +7833,7 @@ struct xmlNsMap {
/*
* xmlDOMWrapNsMapFree:
* @map: the ns-map
-*
+*
* Frees the ns-map
*/
static void
@@ -7299,7 +7864,7 @@ xmlDOMWrapNsMapFree(xmlNsMapPtr nsmap)
* @oldNs: the old ns-struct
* @newNs: the new ns-struct
* @depth: depth and ns-kind information
-*
+*
* Adds an ns-mapping item.
*/
static xmlNsMapItemPtr
@@ -7327,7 +7892,7 @@ xmlDOMWrapNsMapAddItem(xmlNsMapPtr *nsmap, int position,
memset(map, 0, sizeof(struct xmlNsMap));
*nsmap = map;
}
-
+
if (map->pool != NULL) {
/*
* Reuse an item from the pool.
@@ -7346,11 +7911,11 @@ xmlDOMWrapNsMapAddItem(xmlNsMapPtr *nsmap, int position,
}
memset(ret, 0, sizeof(struct xmlNsMapItem));
}
-
+
if (map->first == NULL) {
/*
* First ever.
- */
+ */
map->first = ret;
map->last = ret;
} else if (position == -1) {
@@ -7359,16 +7924,15 @@ xmlDOMWrapNsMapAddItem(xmlNsMapPtr *nsmap, int position,
*/
ret->prev = map->last;
map->last->next = ret;
- map->last = ret;
+ map->last = ret;
} else if (position == 0) {
/*
* Set on first position.
*/
map->first->prev = ret;
- ret->next = map->first;
- map->first = ret;
- } else
- return(NULL);
+ ret->next = map->first;
+ map->first = ret;
+ }
ret->oldNs = oldNs;
ret->newNs = newNs;
@@ -7382,10 +7946,10 @@ xmlDOMWrapNsMapAddItem(xmlNsMapPtr *nsmap, int position,
* @doc: the doc
* @nsName: the namespace name
* @prefix: the prefix
-*
+*
* Creates or reuses an xmlNs struct on doc->oldNs with
* the given prefix and namespace name.
-*
+*
* Returns the aquired ns struct or NULL in case of an API
* or internal error.
*/
@@ -7416,8 +7980,11 @@ xmlDOMWrapStoreNs(xmlDocPtr doc,
}
}
/* Create. */
- ns->next = xmlNewNs(NULL, nsName, prefix);
- return (ns->next);
+ if (ns != NULL) {
+ ns->next = xmlNewNs(NULL, nsName, prefix);
+ return (ns->next);
+ }
+ return(NULL);
}
/*
@@ -7425,7 +7992,7 @@ xmlDOMWrapStoreNs(xmlDocPtr doc,
*
* Allocates and initializes a new DOM-wrapper context.
*
-* Returns the xmlDOMWrapCtxtPtr or NULL in case of an internal errror.
+* Returns the xmlDOMWrapCtxtPtr or NULL in case of an internal error.
*/
xmlDOMWrapCtxtPtr
xmlDOMWrapNewCtxt(void)
@@ -7464,9 +8031,9 @@ xmlDOMWrapFreeCtxt(xmlDOMWrapCtxtPtr ctxt)
* xmlTreeLookupNsListByPrefix:
* @nsList: a list of ns-structs
* @prefix: the searched prefix
-*
+*
* Searches for a ns-decl with the given prefix in @nsList.
-*
+*
* Returns the ns-decl if found, NULL if not found and on
* API errors.
*/
@@ -7494,9 +8061,9 @@ xmlTreeNSListLookupByPrefix(xmlNsPtr nsList, const xmlChar *prefix)
* xmlDOMWrapNSNormGatherInScopeNs:
* @map: the namespace map
* @node: the node to start with
-*
+*
* Puts in-scope namespaces into the ns-map.
-*
+*
* Returns 0 on success, -1 on API or internal errors.
*/
static int
@@ -7510,6 +8077,8 @@ xmlDOMWrapNSNormGatherInScopeNs(xmlNsMapPtr *map,
if ((map == NULL) || (*map != NULL))
return (-1);
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL))
+ return (-1);
/*
* Get in-scope ns-decls of @parent.
*/
@@ -7588,7 +8157,7 @@ xmlDOMWrapNSNormGatherInScopeNs(xmlNsMapPtr *map,
*
* For internal use. Adds a ns-decl mapping.
*
-* Returns 0 on success, -1 on internal errors.
+* Returns 0 on success, -1 on internal errors.
*/
static int
xmlDOMWrapNSNormAddNsMapItem2(xmlNsPtr **list, int *size, int *number,
@@ -7632,7 +8201,7 @@ xmlDOMWrapNSNormAddNsMapItem2(xmlNsPtr **list, int *size, int *number,
* NOTE: This function was not intensively tested.
*
* Returns 0 on success, 1 if the node is not supported,
-* -1 on API and internal errors.
+* -1 on API and internal errors.
*/
int
xmlDOMWrapRemoveNode(xmlDOMWrapCtxtPtr ctxt, xmlDocPtr doc,
@@ -7649,7 +8218,7 @@ xmlDOMWrapRemoveNode(xmlDOMWrapCtxtPtr ctxt, xmlDocPtr doc,
if (node->parent == NULL)
return (0);
- switch (node->type) {
+ switch (node->type) {
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
case XML_ENTITY_REF_NODE:
@@ -7657,7 +8226,7 @@ xmlDOMWrapRemoveNode(xmlDOMWrapCtxtPtr ctxt, xmlDocPtr doc,
case XML_COMMENT_NODE:
xmlUnlinkNode(node);
return (0);
- case XML_ELEMENT_NODE:
+ case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
break;
default:
@@ -7681,7 +8250,7 @@ xmlDOMWrapRemoveNode(xmlDOMWrapCtxtPtr ctxt, xmlDocPtr doc,
}
/* No break on purpose. */
case XML_ATTRIBUTE_NODE:
- if (node->ns != NULL) {
+ if (node->ns != NULL) {
/*
* Find a mapping.
*/
@@ -7725,14 +8294,14 @@ xmlDOMWrapRemoveNode(xmlDOMWrapCtxtPtr ctxt, xmlDocPtr doc,
break;
default:
goto next_sibling;
- }
-next_node:
+ }
+next_node:
if ((node->type == XML_ELEMENT_NODE) &&
(node->children != NULL)) {
node = node->children;
continue;
}
-next_sibling:
+next_sibling:
if (node == NULL)
break;
if (node->next != NULL)
@@ -7777,6 +8346,8 @@ xmlSearchNsByNamespaceStrict(xmlDocPtr doc, xmlNodePtr node,
if ((doc == NULL) || (nsName == NULL) || (retNs == NULL))
return (-1);
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL))
+ return(-1);
*retNs = NULL;
if (xmlStrEqual(nsName, XML_XML_NAMESPACE)) {
@@ -7825,7 +8396,7 @@ xmlSearchNsByNamespaceStrict(xmlDocPtr doc, xmlNodePtr node,
*/
if (out) {
int ret;
-
+
ret = xmlNsInScope(doc, node, prev, ns->prefix);
if (ret < 0)
return (-1);
@@ -7875,8 +8446,8 @@ xmlSearchNsByPrefixStrict(xmlDocPtr doc, xmlNodePtr node,
xmlNodePtr cur;
xmlNsPtr ns;
- if ((doc == NULL) || (node == NULL))
- return (-1);
+ if ((doc == NULL) || (node == NULL) || (node->type == XML_NAMESPACE_DECL))
+ return(-1);
if (retNs)
*retNs = NULL;
@@ -7893,7 +8464,7 @@ xmlSearchNsByPrefixStrict(xmlDocPtr doc, xmlNodePtr node,
if (cur->type == XML_ELEMENT_NODE) {
if (cur->nsDef != NULL) {
ns = cur->nsDef;
- do {
+ do {
if ((prefix == ns->prefix) ||
xmlStrEqual(prefix, ns->prefix))
{
@@ -7907,7 +8478,7 @@ xmlSearchNsByPrefixStrict(xmlDocPtr doc, xmlNodePtr node,
return (1);
}
ns = ns->next;
- } while (ns != NULL);
+ } while (ns != NULL);
}
} else if ((cur->type == XML_ENTITY_NODE) ||
(cur->type == XML_ENTITY_DECL))
@@ -7944,6 +8515,9 @@ xmlDOMWrapNSNormDeclareNsForced(xmlDocPtr doc,
char buf[50];
const xmlChar *pref;
int counter = 0;
+
+ if ((doc == NULL) || (elem == NULL) || (elem->type != XML_ELEMENT_NODE))
+ return(NULL);
/*
* Create a ns-decl on @anchor.
*/
@@ -8014,12 +8588,12 @@ xmlDOMWrapNSNormAquireNormalizedNs(xmlDocPtr doc,
xmlNsPtr ns,
xmlNsPtr *retNs,
xmlNsMapPtr *nsMap,
-
+
int depth,
int ancestorsOnly,
int prefixed)
{
- xmlNsMapItemPtr mi;
+ xmlNsMapItemPtr mi;
if ((doc == NULL) || (ns == NULL) || (retNs == NULL) ||
(nsMap == NULL))
@@ -8044,13 +8618,13 @@ xmlDOMWrapNSNormAquireNormalizedNs(xmlDocPtr doc,
*/
if ((XML_NSMAP_NOTEMPTY(*nsMap)) &&
(! (ancestorsOnly && (elem == NULL))))
- {
+ {
/*
* Try to find an equal ns-name in in-scope ns-decls.
*/
XML_NSMAP_FOREACH(*nsMap, mi) {
- if ((mi->depth >= XML_TREE_NSMAP_PARENT) &&
- /*
+ if ((mi->depth >= XML_TREE_NSMAP_PARENT) &&
+ /*
* ancestorsOnly: This should be turned on to gain speed,
* if one knows that the branch itself was already
* ns-wellformed and no stale references existed.
@@ -8058,10 +8632,10 @@ xmlDOMWrapNSNormAquireNormalizedNs(xmlDocPtr doc,
*/
((! ancestorsOnly) || (mi->depth == XML_TREE_NSMAP_PARENT)) &&
/* Skip shadowed prefixes. */
- (mi->shadowDepth == -1) &&
+ (mi->shadowDepth == -1) &&
/* Skip xmlns="" or xmlns:foo="". */
((mi->newNs->href != NULL) &&
- (mi->newNs->href[0] != 0)) &&
+ (mi->newNs->href[0] != 0)) &&
/* Ensure a prefix if wanted. */
((! prefixed) || (mi->newNs->prefix != NULL)) &&
/* Equal ns name */
@@ -8088,7 +8662,7 @@ xmlDOMWrapNSNormAquireNormalizedNs(xmlDocPtr doc,
return (-1);
/*
* Insert mapping.
- */
+ */
if (xmlDOMWrapNsMapAddItem(nsMap, -1, ns,
tmpns, XML_TREE_NSMAP_DOC) == NULL) {
xmlFreeNs(tmpns);
@@ -8130,7 +8704,7 @@ xmlDOMWrapNSNormAquireNormalizedNs(xmlDocPtr doc,
}
typedef enum {
- XML_DOM_RECONNS_REMOVEREDUND = 1<<0
+ XML_DOM_RECONNS_REMOVEREDUND = 1<<0
} xmlDOMReconcileNSOptions;
/*
@@ -8148,7 +8722,7 @@ typedef enum {
* NOTE: This function was not intensively tested.
*
* Returns 0 if succeeded, -1 otherwise and on API/internal errors.
-*/
+*/
int
xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
@@ -8163,7 +8737,7 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
xmlNsMapItemPtr /* topmi = NULL, */ mi;
/* @ancestorsOnly should be set by an option flag. */
int ancestorsOnly = 0;
- int optRemoveRedundantNS =
+ int optRemoveRedundantNS =
((xmlDOMReconcileNSOptions) options & XML_DOM_RECONNS_REMOVEREDUND) ? 1 : 0;
xmlNsPtr *listRedund = NULL;
int sizeRedund = 0, nbRedund = 0, ret, i, j;
@@ -8199,7 +8773,7 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
}
parnsdone = 1;
}
-
+
/*
* Lookup the ns ancestor-axis for equal ns-decls in scope.
*/
@@ -8211,7 +8785,7 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
xmlStrEqual(ns->prefix, mi->newNs->prefix)) &&
((ns->href == mi->newNs->href) ||
xmlStrEqual(ns->href, mi->newNs->href)))
- {
+ {
/*
* A redundant ns-decl was found.
* Add it to the list of redundant ns-decls.
@@ -8221,11 +8795,11 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
goto internal_error;
/*
* Remove the ns-decl from the element-node.
- */
+ */
if (prevns)
prevns->next = ns->next;
else
- cur->nsDef = ns->next;
+ cur->nsDef = ns->next;
goto next_ns_decl;
}
}
@@ -8236,7 +8810,7 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
* ns-decl is declared on the same element.
*/
if ((cur->ns != NULL) && adoptns && (cur->ns == ns))
- adoptns = 0;
+ adoptns = 0;
/*
* Does it shadow any ns-decl?
*/
@@ -8246,7 +8820,7 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
(mi->shadowDepth == -1) &&
((ns->prefix == mi->newNs->prefix) ||
xmlStrEqual(ns->prefix, mi->newNs->prefix))) {
-
+
mi->shadowDepth = depth;
}
}
@@ -8256,11 +8830,11 @@ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt ATTRIBUTE_UNUSED,
*/
if (xmlDOMWrapNsMapAddItem(&nsMap, -1, ns, ns,
depth) == NULL)
- goto internal_error;
+ goto internal_error;
prevns = ns;
next_ns_decl:
- ns = ns->next;
+ ns = ns->next;
}
}
if (! adoptns)
@@ -8270,7 +8844,7 @@ next_ns_decl:
/* No ns, no fun. */
if (cur->ns == NULL)
goto ns_end;
-
+
if (! parnsdone) {
if ((elem->parent) &&
((xmlNodePtr) elem->parent->doc != elem->parent)) {
@@ -8289,7 +8863,7 @@ next_ns_decl:
cur->ns = listRedund[++j];
break;
}
- }
+ }
}
/*
* Adopt ns-references.
@@ -8327,7 +8901,7 @@ ns_end:
cur = (xmlNodePtr) cur->properties;
continue;
}
- break;
+ break;
default:
goto next_sibling;
}
@@ -8340,18 +8914,18 @@ into_content:
cur = cur->children;
continue;
}
-next_sibling:
+next_sibling:
if (cur == elem)
break;
if (cur->type == XML_ELEMENT_NODE) {
- if (XML_NSMAP_NOTEMPTY(nsMap)) {
+ if (XML_NSMAP_NOTEMPTY(nsMap)) {
/*
* Pop mappings.
*/
while ((nsMap->last != NULL) &&
(nsMap->last->depth >= depth))
{
- XML_NSMAP_POP(nsMap, mi)
+ XML_NSMAP_POP(nsMap, mi)
}
/*
* Unshadow.
@@ -8360,7 +8934,7 @@ next_sibling:
if (mi->shadowDepth >= depth)
mi->shadowDepth = -1;
}
- }
+ }
depth--;
}
if (cur->next != NULL)
@@ -8374,13 +8948,13 @@ next_sibling:
goto next_sibling;
}
} while (cur != NULL);
-
+
ret = 0;
goto exit;
internal_error:
ret = -1;
exit:
- if (listRedund) {
+ if (listRedund) {
for (i = 0, j = 0; i < nbRedund; i++, j += 2) {
xmlFreeNs(listRedund[j]);
}
@@ -8431,7 +9005,7 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt,
int parnsdone;
/* @ancestorsOnly should be set per option. */
int ancestorsOnly = 0;
-
+
/*
* Optimize string adoption for equal or none dicts.
*/
@@ -8460,6 +9034,9 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt,
parnsdone = 0;
cur = node;
+ if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL))
+ goto internal_error;
+
while (cur != NULL) {
/*
* Paranoid source-doc sanity check.
@@ -8485,17 +9062,17 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt,
}
cur->doc = destDoc;
switch (cur->type) {
- case XML_XINCLUDE_START:
+ case XML_XINCLUDE_START:
case XML_XINCLUDE_END:
/*
* TODO
*/
return (-1);
- case XML_ELEMENT_NODE:
+ case XML_ELEMENT_NODE:
curElem = cur;
depth++;
/*
- * Namespace declarations.
+ * Namespace declarations.
* - ns->href and ns->prefix are never in the dict, so
* we need not move the values over to the destination dict.
* - Note that for custom handling of ns-references,
@@ -8519,10 +9096,10 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt,
* NOTE: ns->prefix and ns->href are never in the dict.
* XML_TREE_ADOPT_STR(ns->prefix)
* XML_TREE_ADOPT_STR(ns->href)
- */
+ */
/*
* Does it shadow any ns-decl?
- */
+ */
if (XML_NSMAP_NOTEMPTY(nsMap)) {
XML_NSMAP_FOREACH(nsMap, mi) {
if ((mi->depth >= XML_TREE_NSMAP_PARENT) &&
@@ -8530,7 +9107,7 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt,
((ns->prefix == mi->newNs->prefix) ||
xmlStrEqual(ns->prefix,
mi->newNs->prefix))) {
-
+
mi->shadowDepth = depth;
}
}
@@ -8593,7 +9170,7 @@ xmlDOMWrapAdoptBranch(xmlDOMWrapCtxtPtr ctxt,
* Aquire a normalized ns-decl and add it to the map.
*/
if (xmlDOMWrapNSNormAquireNormalizedNs(destDoc,
- /* ns-decls on curElem or on destDoc->oldNs */
+ /* ns-decls on curElem or on destDoc->oldNs */
destParent ? curElem : NULL,
cur->ns, &ns,
&nsMap, depth,
@@ -8629,7 +9206,7 @@ ns_end:
*/
if ((sourceDoc != NULL) &&
(((xmlAttrPtr) cur)->atype == XML_ATTRIBUTE_ID))
- {
+ {
xmlRemoveID(sourceDoc, (xmlAttrPtr) cur);
}
((xmlAttrPtr) cur)->atype = 0;
@@ -8637,13 +9214,13 @@ ns_end:
}
break;
case XML_TEXT_NODE:
- case XML_CDATA_SECTION_NODE:
+ case XML_CDATA_SECTION_NODE:
/*
* This puts the content in the dest dict, only if
* it was previously in the source dict.
*/
- XML_TREE_ADOPT_STR_2(cur->content)
- goto leave_node;
+ XML_TREE_ADOPT_STR_2(cur->content)
+ goto leave_node;
case XML_ENTITY_REF_NODE:
/*
* Remove reference to the entitity-node.
@@ -8668,7 +9245,7 @@ ns_end:
XML_TREE_ADOPT_STR(cur->name)
XML_TREE_ADOPT_STR_2(cur->content)
break;
- case XML_COMMENT_NODE:
+ case XML_COMMENT_NODE:
break;
default:
goto internal_error;
@@ -8691,15 +9268,15 @@ leave_node:
/*
* TODO: Do we expect nsDefs on XML_XINCLUDE_START?
*/
- if (XML_NSMAP_NOTEMPTY(nsMap)) {
+ if (XML_NSMAP_NOTEMPTY(nsMap)) {
/*
* Pop mappings.
*/
while ((nsMap->last != NULL) &&
(nsMap->last->depth >= depth))
{
- XML_NSMAP_POP(nsMap, mi)
- }
+ XML_NSMAP_POP(nsMap, mi)
+ }
/*
* Unshadow.
*/
@@ -8721,10 +9298,10 @@ leave_node:
goto leave_node;
}
}
-
+
goto exit;
-internal_error:
+internal_error:
ret = -1;
exit:
@@ -8742,7 +9319,7 @@ exit:
nsMap->pool = nsMap->first;
nsMap->first = NULL;
}
- } else
+ } else
xmlDOMWrapNsMapFree(nsMap);
}
return(ret);
@@ -8764,7 +9341,7 @@ exit:
* 2) If *no* @destParent is given, then @destDoc->oldNs entries are used.
* This is the case when you don't know already where the cloned branch
* will be added to.
-*
+*
* If @destParent is given, it ensures that the tree is namespace
* wellformed by creating additional ns-decls where needed.
* Note that, since prefixes of already existent ns-decls can be
@@ -8798,7 +9375,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
/* gather @parent's ns-decls. */
int parnsdone = 0;
/*
- * @ancestorsOnly:
+ * @ancestorsOnly:
* TODO: @ancestorsOnly should be set per option.
*
*/
@@ -8825,7 +9402,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
return (-1);
}
if (sourceDoc == NULL)
- sourceDoc = node->doc;
+ sourceDoc = node->doc;
if (sourceDoc == NULL)
return (-1);
@@ -8837,8 +9414,11 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
nsMap = (xmlNsMapPtr) ctxt->namespaceMap;
*resNode = NULL;
-
+
cur = node;
+ if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL))
+ return(-1);
+
while (cur != NULL) {
if (cur->doc != sourceDoc) {
/*
@@ -8846,7 +9426,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
* TODO: Do we need to reconciliate XIncluded nodes?
* TODO: This here returns -1 in this case.
*/
- goto internal_error;
+ goto internal_error;
}
/*
* Create a new node.
@@ -8861,9 +9441,9 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
break;
case XML_ELEMENT_NODE:
case XML_TEXT_NODE:
- case XML_CDATA_SECTION_NODE:
+ case XML_CDATA_SECTION_NODE:
case XML_COMMENT_NODE:
- case XML_PI_NODE:
+ case XML_PI_NODE:
case XML_DOCUMENT_FRAG_NODE:
case XML_ENTITY_REF_NODE:
case XML_ENTITY_NODE:
@@ -8875,20 +9455,20 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
xmlTreeErrMemory("xmlDOMWrapCloneNode(): allocating a node");
goto internal_error;
}
- memset(clone, 0, sizeof(xmlNode));
+ memset(clone, 0, sizeof(xmlNode));
/*
* Set hierachical links.
*/
- if (resultClone != NULL) {
+ if (resultClone != NULL) {
clone->parent = parentClone;
if (prevClone) {
prevClone->next = clone;
clone->prev = prevClone;
- } else
+ } else
parentClone->children = clone;
} else
resultClone = clone;
-
+
break;
case XML_ATTRIBUTE_NODE:
/*
@@ -8899,7 +9479,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
xmlTreeErrMemory("xmlDOMWrapCloneNode(): allocating an attr-node");
goto internal_error;
}
- memset(clone, 0, sizeof(xmlAttr));
+ memset(clone, 0, sizeof(xmlAttr));
/*
* Set hierachical links.
* TODO: Change this to add to the end of attributes.
@@ -8909,7 +9489,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
if (prevClone) {
prevClone->next = clone;
clone->prev = prevClone;
- } else
+ } else
parentClone->properties = (xmlAttrPtr) clone;
} else
resultClone = clone;
@@ -8922,8 +9502,8 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
}
clone->type = cur->type;
- clone->doc = destDoc;
-
+ clone->doc = destDoc;
+
/*
* Clone the name of the node if any.
*/
@@ -8933,14 +9513,14 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
/*
* NOTE: Although xmlStringTextNoenc is never assigned to a node
* in tree.c, it might be set in Libxslt via
- * "xsl:disable-output-escaping".
+ * "xsl:disable-output-escaping".
*/
clone->name = xmlStringTextNoenc;
else if (cur->name == xmlStringComment)
clone->name = xmlStringComment;
else if (cur->name != NULL) {
DICT_CONST_COPY(cur->name, clone->name);
- }
+ }
switch (cur->type) {
case XML_XINCLUDE_START:
@@ -8963,7 +9543,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
*/
if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap,
destParent) == -1)
- goto internal_error;
+ goto internal_error;
}
parnsdone = 1;
}
@@ -8983,7 +9563,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
}
memset(cloneNs, 0, sizeof(xmlNs));
cloneNs->type = XML_LOCAL_NAMESPACE;
-
+
if (ns->href != NULL)
cloneNs->href = xmlStrdup(ns->href);
if (ns->prefix != NULL)
@@ -9004,7 +9584,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
* Does it shadow any ns-decl?
*/
if (XML_NSMAP_NOTEMPTY(nsMap)) {
- XML_NSMAP_FOREACH(nsMap, mi) {
+ XML_NSMAP_FOREACH(nsMap, mi) {
if ((mi->depth >= XML_TREE_NSMAP_PARENT) &&
(mi->shadowDepth == -1) &&
((ns->prefix == mi->newNs->prefix) ||
@@ -9029,7 +9609,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
}
/* cur->ns will be processed further down. */
break;
- case XML_ATTRIBUTE_NODE:
+ case XML_ATTRIBUTE_NODE:
/* IDs will be processed further down. */
/* cur->ns will be processed further down. */
break;
@@ -9038,12 +9618,12 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
/*
* Note that this will also cover the values of attributes.
*/
- DICT_COPY(cur->content, clone->content);
+ DICT_COPY(cur->content, clone->content);
goto leave_node;
case XML_ENTITY_NODE:
/* TODO: What to do here? */
goto leave_node;
- case XML_ENTITY_REF_NODE:
+ case XML_ENTITY_REF_NODE:
if (sourceDoc != destDoc) {
if ((destDoc->intSubset) || (destDoc->extSubset)) {
xmlEntityPtr ent;
@@ -9083,13 +9663,13 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
/* handle_ns_reference: */
/*
** The following will take care of references to ns-decls ********
- ** and is intended only for element- and attribute-nodes.
+ ** and is intended only for element- and attribute-nodes.
**
*/
if (! parnsdone) {
if (destParent && (ctxt == NULL)) {
if (xmlDOMWrapNSNormGatherInScopeNs(&nsMap, destParent) == -1)
- goto internal_error;
+ goto internal_error;
}
parnsdone = 1;
}
@@ -9100,7 +9680,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
/*
* Search for a mapping.
*/
- XML_NSMAP_FOREACH(nsMap, mi) {
+ XML_NSMAP_FOREACH(nsMap, mi) {
if ((mi->shadowDepth == -1) &&
(cur->ns == mi->oldNs)) {
/*
@@ -9132,7 +9712,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt,
* Aquire a normalized ns-decl and add it to the map.
*/
if (xmlDOMWrapNSNormAquireNormalizedNs(destDoc,
- /* ns-decls on curElem or on destDoc->oldNs */
+ /* ns-decls on curElem or on destDoc->oldNs */
destParent ? curElem : NULL,
cur->ns, &ns,
&nsMap, depth,
@@ -9155,9 +9735,9 @@ end_ns_reference:
(clone->parent != NULL))
{
if (xmlIsID(destDoc, clone->parent, (xmlAttrPtr) clone)) {
-
+
xmlChar *idVal;
-
+
idVal = xmlNodeListGetString(cur->doc, cur->children, 1);
if (idVal != NULL) {
if (xmlAddID(NULL, destDoc, idVal, (xmlAttrPtr) cur) == NULL) {
@@ -9173,12 +9753,12 @@ end_ns_reference:
**
** The following will traverse the tree **************************
**
- *
+ *
* Walk the element's attributes before descending into child-nodes.
*/
if ((cur->type == XML_ELEMENT_NODE) && (cur->properties != NULL)) {
prevClone = NULL;
- parentClone = clone;
+ parentClone = clone;
cur = (xmlNodePtr) cur->properties;
continue;
}
@@ -9208,14 +9788,14 @@ leave_node:
/*
* TODO: Do we expect nsDefs on XML_XINCLUDE_START?
*/
- if (XML_NSMAP_NOTEMPTY(nsMap)) {
+ if (XML_NSMAP_NOTEMPTY(nsMap)) {
/*
* Pop mappings.
*/
while ((nsMap->last != NULL) &&
(nsMap->last->depth >= depth))
{
- XML_NSMAP_POP(nsMap, mi)
+ XML_NSMAP_POP(nsMap, mi)
}
/*
* Unshadow.
@@ -9224,7 +9804,7 @@ leave_node:
if (mi->shadowDepth >= depth)
mi->shadowDepth = -1;
}
- }
+ }
depth--;
}
if (cur->next != NULL) {
@@ -9237,7 +9817,8 @@ leave_node:
if (clone->parent != NULL)
clone->parent->last = clone;
clone = clone->parent;
- parentClone = clone->parent;
+ if (clone != NULL)
+ parentClone = clone->parent;
/*
* Process parent --> next;
*/
@@ -9246,14 +9827,14 @@ leave_node:
} else {
/* This is for attributes only. */
clone = clone->parent;
- parentClone = clone->parent;
+ parentClone = clone->parent;
/*
* Process parent-element --> children.
*/
cur = cur->parent;
- goto into_content;
+ goto into_content;
}
- }
+ }
goto exit;
internal_error:
@@ -9274,7 +9855,7 @@ exit:
nsMap->pool = nsMap->first;
nsMap->first = NULL;
}
- } else
+ } else
xmlDOMWrapNsMapFree(nsMap);
}
/*
@@ -9314,7 +9895,7 @@ xmlDOMWrapAdoptAttr(xmlDOMWrapCtxtPtr ctxt,
if ((attr == NULL) || (destDoc == NULL))
return (-1);
-
+
attr->doc = destDoc;
if (attr->ns != NULL) {
xmlNsPtr ns = NULL;
@@ -9341,13 +9922,13 @@ xmlDOMWrapAdoptAttr(xmlDOMWrapCtxtPtr ctxt,
ns = xmlDOMWrapNSNormDeclareNsForced(destDoc, destParent,
attr->ns->href, attr->ns->prefix, 1);
}
- }
+ }
if (ns == NULL)
goto internal_error;
attr->ns = ns;
- }
-
- XML_TREE_ADOPT_STR(attr->name);
+ }
+
+ XML_TREE_ADOPT_STR(attr->name);
attr->atype = 0;
attr->psvi = NULL;
/*
@@ -9356,13 +9937,15 @@ xmlDOMWrapAdoptAttr(xmlDOMWrapCtxtPtr ctxt,
if (attr->children == NULL)
return (0);
cur = attr->children;
+ if ((cur != NULL) && (cur->type == XML_NAMESPACE_DECL))
+ goto internal_error;
while (cur != NULL) {
cur->doc = destDoc;
switch (cur->type) {
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
XML_TREE_ADOPT_STR_2(cur->content)
- break;
+ break;
case XML_ENTITY_REF_NODE:
/*
* Remove reference to the entitity-node.
@@ -9380,7 +9963,7 @@ xmlDOMWrapAdoptAttr(xmlDOMWrapCtxtPtr ctxt,
cur->content = ent->content;
cur->children = (xmlNodePtr) ent;
cur->last = (xmlNodePtr) ent;
- }
+ }
}
break;
default:
@@ -9417,9 +10000,9 @@ internal_error:
* References of out-of scope ns-decls are remapped to point to @destDoc:
* 1) If @destParent is given, then nsDef entries on element-nodes are used
* 2) If *no* @destParent is given, then @destDoc->oldNs entries are used
-* This is the case when you have an unliked node and just want to move it
-* to the context of
-*
+* This is the case when you have an unlinked node and just want to move it
+* to the context of
+*
* If @destParent is given, it ensures that the tree is namespace
* wellformed by creating additional ns-decls where needed.
* Note that, since prefixes of already existent ns-decls can be
@@ -9436,16 +10019,17 @@ int
xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt,
xmlDocPtr sourceDoc,
xmlNodePtr node,
- xmlDocPtr destDoc,
+ xmlDocPtr destDoc,
xmlNodePtr destParent,
int options)
{
- if ((node == NULL) || (destDoc == NULL) ||
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL) ||
+ (destDoc == NULL) ||
((destParent != NULL) && (destParent->doc != destDoc)))
return(-1);
/*
* Check node->doc sanity.
- */
+ */
if ((node->doc != NULL) && (sourceDoc != NULL) &&
(node->doc != sourceDoc)) {
/*
@@ -9458,7 +10042,7 @@ xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt,
if (sourceDoc == destDoc)
return (-1);
switch (node->type) {
- case XML_ELEMENT_NODE:
+ case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
@@ -9484,7 +10068,7 @@ xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt,
} else if (node->type == XML_ATTRIBUTE_NODE) {
return (xmlDOMWrapAdoptAttr(ctxt, sourceDoc,
(xmlAttrPtr) node, destDoc, destParent, options));
- } else {
+ } else {
xmlNodePtr cur = node;
int adoptStr = 1;
@@ -9496,7 +10080,7 @@ xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt,
(sourceDoc->dict == destDoc->dict))
adoptStr = 0;
switch (node->type) {
- case XML_TEXT_NODE:
+ case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
XML_TREE_ADOPT_STR_2(node->content)
break;
@@ -9529,7 +10113,7 @@ xmlDOMWrapAdoptNode(xmlDOMWrapCtxtPtr ctxt,
default:
break;
}
- }
+ }
return (0);
}
diff --git a/gettext-tools/gnulib-lib/libxml/tree.in.h b/gettext-tools/gnulib-lib/libxml/tree.in.h
index 321280e..4a9b3bc 100644
--- a/gettext-tools/gnulib-lib/libxml/tree.in.h
+++ b/gettext-tools/gnulib-lib/libxml/tree.in.h
@@ -13,6 +13,7 @@
#define __XML_TREE_H__
#include <stdio.h>
+#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>
@@ -71,15 +72,19 @@ typedef xmlEntity *xmlEntityPtr;
*/
typedef enum {
- XML_BUFFER_ALLOC_DOUBLEIT,
- XML_BUFFER_ALLOC_EXACT,
- XML_BUFFER_ALLOC_IMMUTABLE
+ XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */
+ XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */
+ XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
+ XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */
+ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */
+ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */
} xmlBufferAllocationScheme;
/**
* xmlBuffer:
*
- * A buffer structure.
+ * A buffer structure, this old construct is limited to 2GB and
+ * is being deprecated, use API with xmlBuf instead
*/
typedef struct _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
@@ -88,9 +93,45 @@ struct _xmlBuffer {
unsigned int use; /* The buffer size used */
unsigned int size; /* The buffer size */
xmlBufferAllocationScheme alloc; /* The realloc method */
+ xmlChar *contentIO; /* in IO mode we may have a different base */
};
/**
+ * xmlBuf:
+ *
+ * A buffer structure, new one, the actual structure internals are not public
+ */
+
+typedef struct _xmlBuf xmlBuf;
+
+/**
+ * xmlBufPtr:
+ *
+ * A pointer to a buffer structure, the actual structure internals are not
+ * public
+ */
+
+typedef xmlBuf *xmlBufPtr;
+
+/*
+ * A few public routines for xmlBuf. As those are expected to be used
+ * mostly internally the bulk of the routines are internal in buf.h
+ */
+XMLPUBFUN xmlChar* XMLCALL xmlBufContent (const xmlBuf* buf);
+XMLPUBFUN xmlChar* XMLCALL xmlBufEnd (xmlBufPtr buf);
+XMLPUBFUN size_t XMLCALL xmlBufUse (const xmlBufPtr buf);
+XMLPUBFUN size_t XMLCALL xmlBufShrink (xmlBufPtr buf, size_t len);
+
+/*
+ * LIBXML2_NEW_BUFFER:
+ *
+ * Macro used to express that the API use the new buffers for
+ * xmlParserInputBuffer and xmlOutputBuffer. The change was
+ * introduced in 2.9.0.
+ */
+#define LIBXML2_NEW_BUFFER
+
+/**
* XML_XML_NAMESPACE:
*
* This is the namespace for the special xml: prefix predefined in the
@@ -477,11 +518,28 @@ struct _xmlNode {
/**
* XML_GET_LINE:
*
- * Macro to extract the line number of an element node.
+ * Macro to extract the line number of an element node.
*/
#define XML_GET_LINE(n) \
(xmlGetLineNo(n))
+/**
+ * xmlDocProperty
+ *
+ * Set of properties of the document as found by the parser
+ * Some of them are linked to similary named xmlParserOption
+ */
+typedef enum {
+ XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */
+ XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */
+ XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */
+ XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */
+ XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */
+ XML_DOC_USERBUILT = 1<<5, /* Document was built using the API
+ and not by parsing an instance */
+ XML_DOC_INTERNAL = 1<<6, /* built for internal processing */
+ XML_DOC_HTML = 1<<7 /* parsed or built HTML document */
+} xmlDocProperties;
/**
* xmlDoc:
@@ -503,7 +561,12 @@ struct _xmlDoc {
/* End of common part */
int compression;/* level of zlib compression */
- int standalone; /* standalone document (no external refs) */
+ int standalone; /* standalone document (no external refs)
+ 1 if standalone="yes"
+ 0 if standalone="no"
+ -1 if there is no XML declaration
+ -2 if there is an XML declaration, but no
+ standalone attribute was specified */
struct _xmlDtd *intSubset; /* the document internal subset */
struct _xmlDtd *extSubset; /* the document external subset */
struct _xmlNs *oldNs; /* Global namespace, the old way */
@@ -516,6 +579,10 @@ struct _xmlDoc {
actually an xmlCharEncoding */
struct _xmlDict *dict; /* dict used to allocate names or NULL */
void *psvi; /* for type/PSVI informations */
+ int parseFlags; /* set of xmlParserOption used to parse the
+ document */
+ int properties; /* set of xmlDocProperties for this document
+ set at the end of parsing */
};
@@ -525,9 +592,9 @@ typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
/**
* xmlDOMWrapAcquireNsFunction:
* @ctxt: a DOM wrapper context
- * @node: the context node (element or attribute)
+ * @node: the context node (element or attribute)
* @nsName: the requested namespace name
- * @nsPrefix: the requested namespace prefix
+ * @nsPrefix: the requested namespace prefix
*
* A function called to acquire namespaces (xmlNs) from the wrapper.
*
@@ -574,7 +641,7 @@ struct _xmlDOMWrapCtxt {
/**
* xmlRootNode:
*
- * Macro for compatibility naming layer with libxml1. Maps
+ * Macro for compatibility naming layer with libxml1. Maps
* to "children".
*/
#ifndef xmlRootNode
@@ -588,436 +655,450 @@ struct _xmlDOMWrapCtxt {
/*
* Some helper functions
*/
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
+ defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
+ defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
+ defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN int XMLCALL
xmlValidateNCName (const xmlChar *value,
int space);
#endif
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateQName (const xmlChar *value,
int space);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateName (const xmlChar *value,
int space);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNMToken (const xmlChar *value,
int space);
#endif
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlBuildQName (const xmlChar *ncname,
const xmlChar *prefix,
xmlChar *memory,
int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlSplitQName2 (const xmlChar *name,
xmlChar **prefix);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlSplitQName3 (const xmlChar *name,
int *len);
/*
- * Handling Buffers.
+ * Handling Buffers, the old ones see @xmlBuf for the new ones.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
-XMLPUBFUN xmlBufferAllocationScheme XMLCALL
+XMLPUBFUN xmlBufferAllocationScheme XMLCALL
xmlGetBufferAllocationScheme(void);
-XMLPUBFUN xmlBufferPtr XMLCALL
+XMLPUBFUN xmlBufferPtr XMLCALL
xmlBufferCreate (void);
-XMLPUBFUN xmlBufferPtr XMLCALL
+XMLPUBFUN xmlBufferPtr XMLCALL
xmlBufferCreateSize (size_t size);
-XMLPUBFUN xmlBufferPtr XMLCALL
+XMLPUBFUN xmlBufferPtr XMLCALL
xmlBufferCreateStatic (void *mem,
size_t size);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferResize (xmlBufferPtr buf,
unsigned int size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlBufferFree (xmlBufferPtr buf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferDump (FILE *file,
xmlBufferPtr buf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferAdd (xmlBufferPtr buf,
const xmlChar *str,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferAddHead (xmlBufferPtr buf,
const xmlChar *str,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferCat (xmlBufferPtr buf,
const xmlChar *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferCCat (xmlBufferPtr buf,
const char *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferShrink (xmlBufferPtr buf,
unsigned int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlBufferGrow (xmlBufferPtr buf,
unsigned int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlBufferEmpty (xmlBufferPtr buf);
-XMLPUBFUN const xmlChar* XMLCALL
- xmlBufferContent (const xmlBufferPtr buf);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN const xmlChar* XMLCALL
+ xmlBufferContent (const xmlBuffer *buf);
+XMLPUBFUN xmlChar* XMLCALL
+ xmlBufferDetach (xmlBufferPtr buf);
+XMLPUBFUN void XMLCALL
xmlBufferSetAllocationScheme(xmlBufferPtr buf,
xmlBufferAllocationScheme scheme);
-XMLPUBFUN int XMLCALL
- xmlBufferLength (const xmlBufferPtr buf);
+XMLPUBFUN int XMLCALL
+ xmlBufferLength (const xmlBuffer *buf);
/*
* Creating/freeing new structures.
*/
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
xmlCreateIntSubset (xmlDocPtr doc,
const xmlChar *name,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
xmlNewDtd (xmlDocPtr doc,
const xmlChar *name,
const xmlChar *ExternalID,
const xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
- xmlGetIntSubset (xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
+ xmlGetIntSubset (const xmlDoc *doc);
+XMLPUBFUN void XMLCALL
xmlFreeDtd (xmlDtdPtr cur);
#ifdef LIBXML_LEGACY_ENABLED
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
xmlNewGlobalNs (xmlDocPtr doc,
const xmlChar *href,
const xmlChar *prefix);
#endif /* LIBXML_LEGACY_ENABLED */
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
xmlNewNs (xmlNodePtr node,
const xmlChar *href,
const xmlChar *prefix);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeNs (xmlNsPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeNsList (xmlNsPtr cur);
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlNewDoc (const xmlChar *version);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeDoc (xmlDocPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlNewDocProp (xmlDocPtr doc,
const xmlChar *name,
const xmlChar *value);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlNewProp (xmlNodePtr node,
const xmlChar *name,
const xmlChar *value);
#endif
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlNewNsProp (xmlNodePtr node,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *value);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlNewNsPropEatName (xmlNodePtr node,
xmlNsPtr ns,
xmlChar *name,
const xmlChar *value);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreePropList (xmlAttrPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeProp (xmlAttrPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlCopyProp (xmlNodePtr target,
xmlAttrPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlCopyPropList (xmlNodePtr target,
xmlAttrPtr cur);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlDtdPtr XMLCALL
+XMLPUBFUN xmlDtdPtr XMLCALL
xmlCopyDtd (xmlDtdPtr dtd);
#endif /* LIBXML_TREE_ENABLED */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlCopyDoc (xmlDocPtr doc,
int recursive);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
/*
* Creating new nodes.
*/
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocNode (xmlDocPtr doc,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocNodeEatName (xmlDocPtr doc,
xmlNsPtr ns,
xmlChar *name,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewNode (xmlNsPtr ns,
const xmlChar *name);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewNodeEatName (xmlNsPtr ns,
xmlChar *name);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewChild (xmlNodePtr parent,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *content);
#endif
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlNewDocText (xmlDocPtr doc,
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlNewDocText (const xmlDoc *doc,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewText (const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocPI (xmlDocPtr doc,
const xmlChar *name,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewPI (const xmlChar *name,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocTextLen (xmlDocPtr doc,
const xmlChar *content,
int len);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewTextLen (const xmlChar *content,
int len);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocComment (xmlDocPtr doc,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewComment (const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewCDataBlock (xmlDocPtr doc,
const xmlChar *content,
int len);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewCharRef (xmlDocPtr doc,
const xmlChar *name);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlNewReference (xmlDocPtr doc,
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlNewReference (const xmlDoc *doc,
const xmlChar *name);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlCopyNode (const xmlNodePtr node,
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlCopyNode (xmlNodePtr node,
int recursive);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlDocCopyNode (const xmlNodePtr node,
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlDocCopyNode (xmlNodePtr node,
xmlDocPtr doc,
int recursive);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlDocCopyNodeList (xmlDocPtr doc,
- const xmlNodePtr node);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlCopyNodeList (const xmlNodePtr node);
+ xmlNodePtr node);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlCopyNodeList (xmlNodePtr node);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewTextChild (xmlNodePtr parent,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocRawNode (xmlDocPtr doc,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *content);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlNewDocFragment (xmlDocPtr doc);
#endif /* LIBXML_TREE_ENABLED */
/*
* Navigating.
*/
-XMLPUBFUN long XMLCALL
- xmlGetLineNo (xmlNodePtr node);
+XMLPUBFUN long XMLCALL
+ xmlGetLineNo (const xmlNode *node);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
-XMLPUBFUN xmlChar * XMLCALL
- xmlGetNodePath (xmlNodePtr node);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlGetNodePath (const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlDocGetRootElement (xmlDocPtr doc);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlGetLastChild (xmlNodePtr parent);
-XMLPUBFUN int XMLCALL
- xmlNodeIsText (xmlNodePtr node);
-XMLPUBFUN int XMLCALL
- xmlIsBlankNode (xmlNodePtr node);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlDocGetRootElement (const xmlDoc *doc);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlGetLastChild (const xmlNode *parent);
+XMLPUBFUN int XMLCALL
+ xmlNodeIsText (const xmlNode *node);
+XMLPUBFUN int XMLCALL
+ xmlIsBlankNode (const xmlNode *node);
/*
* Changing the structure.
*/
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlDocSetRootElement (xmlDocPtr doc,
xmlNodePtr root);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeSetName (xmlNodePtr cur,
const xmlChar *name);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlAddChild (xmlNodePtr parent,
xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlAddChildList (xmlNodePtr parent,
xmlNodePtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlReplaceNode (xmlNodePtr old,
xmlNodePtr cur);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
- defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlNodePtr XMLCALL
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
+XMLPUBFUN xmlNodePtr XMLCALL
xmlAddPrevSibling (xmlNodePtr cur,
xmlNodePtr elem);
#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlAddSibling (xmlNodePtr cur,
xmlNodePtr elem);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlAddNextSibling (xmlNodePtr cur,
xmlNodePtr elem);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlUnlinkNode (xmlNodePtr cur);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlTextMerge (xmlNodePtr first,
xmlNodePtr second);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextConcat (xmlNodePtr node,
const xmlChar *content,
int len);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeNodeList (xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeNode (xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetTreeDoc (xmlNodePtr tree,
xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetListDoc (xmlNodePtr list,
xmlDocPtr doc);
/*
* Namespaces.
*/
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
xmlSearchNs (xmlDocPtr doc,
xmlNodePtr node,
const xmlChar *nameSpace);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
xmlSearchNsByHref (xmlDocPtr doc,
xmlNodePtr node,
const xmlChar *href);
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN xmlNsPtr * XMLCALL
- xmlGetNsList (xmlDocPtr doc,
- xmlNodePtr node);
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
+ defined(LIBXML_SCHEMAS_ENABLED)
+XMLPUBFUN xmlNsPtr * XMLCALL
+ xmlGetNsList (const xmlDoc *doc,
+ const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetNs (xmlNodePtr node,
xmlNsPtr ns);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
xmlCopyNamespace (xmlNsPtr cur);
-XMLPUBFUN xmlNsPtr XMLCALL
+XMLPUBFUN xmlNsPtr XMLCALL
xmlCopyNamespaceList (xmlNsPtr cur);
/*
* Changing the content.
*/
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
-XMLPUBFUN xmlAttrPtr XMLCALL
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlSetProp (xmlNodePtr node,
const xmlChar *name,
const xmlChar *value);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlSetNsProp (xmlNodePtr node,
xmlNsPtr ns,
const xmlChar *name,
const xmlChar *value);
-#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
-XMLPUBFUN xmlChar * XMLCALL
- xmlGetNoNsProp (xmlNodePtr node,
+#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
+XMLPUBFUN xmlChar * XMLCALL
+ xmlGetNoNsProp (const xmlNode *node,
const xmlChar *name);
-XMLPUBFUN xmlChar * XMLCALL
- xmlGetProp (xmlNodePtr node,
+XMLPUBFUN xmlChar * XMLCALL
+ xmlGetProp (const xmlNode *node,
const xmlChar *name);
-XMLPUBFUN xmlAttrPtr XMLCALL
- xmlHasProp (xmlNodePtr node,
+XMLPUBFUN xmlAttrPtr XMLCALL
+ xmlHasProp (const xmlNode *node,
const xmlChar *name);
-XMLPUBFUN xmlAttrPtr XMLCALL
- xmlHasNsProp (xmlNodePtr node,
+XMLPUBFUN xmlAttrPtr XMLCALL
+ xmlHasNsProp (const xmlNode *node,
const xmlChar *name,
const xmlChar *nameSpace);
-XMLPUBFUN xmlChar * XMLCALL
- xmlGetNsProp (xmlNodePtr node,
+XMLPUBFUN xmlChar * XMLCALL
+ xmlGetNsProp (const xmlNode *node,
const xmlChar *name,
const xmlChar *nameSpace);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlStringGetNodeList (xmlDocPtr doc,
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlStringGetNodeList (const xmlDoc *doc,
const xmlChar *value);
-XMLPUBFUN xmlNodePtr XMLCALL
- xmlStringLenGetNodeList (xmlDocPtr doc,
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlStringLenGetNodeList (const xmlDoc *doc,
const xmlChar *value,
int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlNodeListGetString (xmlDocPtr doc,
- xmlNodePtr list,
+ const xmlNode *list,
int inLine);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlChar * XMLCALL
- xmlNodeListGetRawString (xmlDocPtr doc,
- xmlNodePtr list,
+XMLPUBFUN xmlChar * XMLCALL
+ xmlNodeListGetRawString (const xmlDoc *doc,
+ const xmlNode *list,
int inLine);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeSetContent (xmlNodePtr cur,
const xmlChar *content);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeSetContentLen (xmlNodePtr cur,
const xmlChar *content,
int len);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeAddContent (xmlNodePtr cur,
const xmlChar *content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeAddContentLen (xmlNodePtr cur,
const xmlChar *content,
int len);
-XMLPUBFUN xmlChar * XMLCALL
- xmlNodeGetContent (xmlNodePtr cur);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlNodeGetContent (const xmlNode *cur);
+
XMLPUBFUN int XMLCALL
xmlNodeBufGetContent (xmlBufferPtr buffer,
- xmlNodePtr cur);
-XMLPUBFUN xmlChar * XMLCALL
- xmlNodeGetLang (xmlNodePtr cur);
-XMLPUBFUN int XMLCALL
- xmlNodeGetSpacePreserve (xmlNodePtr cur);
+ const xmlNode *cur);
+XMLPUBFUN int XMLCALL
+ xmlBufGetNodeContent (xmlBufPtr buf,
+ const xmlNode *cur);
+
+XMLPUBFUN xmlChar * XMLCALL
+ xmlNodeGetLang (const xmlNode *cur);
+XMLPUBFUN int XMLCALL
+ xmlNodeGetSpacePreserve (const xmlNode *cur);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeSetLang (xmlNodePtr cur,
const xmlChar *lang);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeSetSpacePreserve (xmlNodePtr cur,
int val);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN xmlChar * XMLCALL
- xmlNodeGetBase (xmlDocPtr doc,
- xmlNodePtr cur);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlNodeGetBase (const xmlDoc *doc,
+ const xmlNode *cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeSetBase (xmlNodePtr cur,
const xmlChar *uri);
#endif
@@ -1025,14 +1106,14 @@ XMLPUBFUN void XMLCALL
/*
* Removing content.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRemoveProp (xmlAttrPtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlUnsetNsProp (xmlNodePtr node,
xmlNsPtr ns,
const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlUnsetProp (xmlNodePtr node,
const xmlChar *name);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
@@ -1040,13 +1121,13 @@ XMLPUBFUN int XMLCALL
/*
* Internal, don't use.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlBufferWriteCHAR (xmlBufferPtr buf,
const xmlChar *string);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlBufferWriteChar (xmlBufferPtr buf,
const char *string);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlBufferWriteQuotedString(xmlBufferPtr buf,
const xmlChar *string);
@@ -1061,7 +1142,7 @@ XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
/*
* Namespace handling.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlReconciliateNs (xmlDocPtr doc,
xmlNodePtr tree);
#endif
@@ -1070,61 +1151,67 @@ XMLPUBFUN int XMLCALL
/*
* Saving.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDocDumpFormatMemory (xmlDocPtr cur,
xmlChar **mem,
int *size,
int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDocDumpMemory (xmlDocPtr cur,
xmlChar **mem,
int *size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDocDumpMemoryEnc (xmlDocPtr out_doc,
xmlChar **doc_txt_ptr,
int * doc_txt_len,
const char *txt_encoding);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
xmlChar **doc_txt_ptr,
int * doc_txt_len,
const char *txt_encoding,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlDocFormatDump (FILE *f,
xmlDocPtr cur,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlDocDump (FILE *f,
xmlDocPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlElemDump (FILE *f,
xmlDocPtr doc,
xmlNodePtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSaveFile (const char *filename,
xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSaveFormatFile (const char *filename,
xmlDocPtr cur,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN size_t XMLCALL
+ xmlBufNodeDump (xmlBufPtr buf,
+ xmlDocPtr doc,
+ xmlNodePtr cur,
+ int level,
+ int format);
+XMLPUBFUN int XMLCALL
xmlNodeDump (xmlBufferPtr buf,
xmlDocPtr doc,
xmlNodePtr cur,
int level,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSaveFileTo (xmlOutputBufferPtr buf,
xmlDocPtr cur,
const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSaveFormatFileTo (xmlOutputBufferPtr buf,
xmlDocPtr cur,
const char *encoding,
int format);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlNodeDumpOutput (xmlOutputBufferPtr buf,
xmlDocPtr doc,
xmlNodePtr cur,
@@ -1132,13 +1219,13 @@ XMLPUBFUN void XMLCALL
int format,
const char *encoding);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSaveFormatFileEnc (const char *filename,
xmlDocPtr cur,
const char *encoding,
int format);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSaveFileEnc (const char *filename,
xmlDocPtr cur,
const char *encoding);
@@ -1147,21 +1234,21 @@ XMLPUBFUN int XMLCALL
/*
* XHTML
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlIsXHTML (const xmlChar *systemID,
const xmlChar *publicID);
/*
* Compression.
*/
-XMLPUBFUN int XMLCALL
- xmlGetDocCompressMode (xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN int XMLCALL
+ xmlGetDocCompressMode (const xmlDoc *doc);
+XMLPUBFUN void XMLCALL
xmlSetDocCompressMode (xmlDocPtr doc,
int mode);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlGetCompressMode (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetCompressMode (int mode);
/*
@@ -1179,7 +1266,7 @@ XMLPUBFUN int XMLCALL
xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt,
xmlDocPtr sourceDoc,
xmlNodePtr node,
- xmlDocPtr destDoc,
+ xmlDocPtr destDoc,
xmlNodePtr destParent,
int options);
XMLPUBFUN int XMLCALL
@@ -1197,6 +1284,22 @@ XMLPUBFUN int XMLCALL
int deep,
int options);
+#ifdef LIBXML_TREE_ENABLED
+/*
+ * 5 interfaces from DOM ElementTraversal, but different in entities
+ * traversal.
+ */
+XMLPUBFUN unsigned long XMLCALL
+ xmlChildElementCount (xmlNodePtr parent);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlNextElementSibling (xmlNodePtr node);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlFirstElementChild (xmlNodePtr parent);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlLastElementChild (xmlNodePtr parent);
+XMLPUBFUN xmlNodePtr XMLCALL
+ xmlPreviousElementSibling (xmlNodePtr node);
+#endif
#ifdef __cplusplus
}
#endif
diff --git a/gettext-tools/gnulib-lib/libxml/trionan.c b/gettext-tools/gnulib-lib/libxml/trionan.c
new file mode 100644
index 0000000..18c78d1
--- /dev/null
+++ b/gettext-tools/gnulib-lib/libxml/trionan.c
@@ -0,0 +1,71 @@
+/* Replacement 'trionan.c', using Gnulib functions. */
+
+#include "config.h"
+#include <math.h>
+
+/* Copied from gnulib/tests/infinity.h. */
+
+/* Infinityd () returns a 'double' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */
+#if defined _MSC_VER
+static double
+Infinityd ()
+{
+ static double zero = 0.0;
+ return 1.0 / zero;
+}
+#else
+# define Infinityd() (1.0 / 0.0)
+#endif
+
+/* Copied from gnulib/tests/nan.h. */
+
+/* NaNd () returns a 'double' not-a-number. */
+
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. */
+#if defined __DECC || defined _MSC_VER
+static double
+NaNd ()
+{
+ static double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNd() (0.0 / 0.0)
+#endif
+
+/* Copied from gnulib/tests/minus-zero.h. */
+
+/* minus_zerod represents the value -0.0. */
+
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
+ ICC 10.0 has a bug when optimizing the expression -zero.
+ The expression -DBL_MIN * DBL_MIN does not work when cross-compiling
+ to PowerPC on Mac OS X 10.5. */
+#if defined __hpux || defined __sgi || defined __ICC
+static double
+compute_minus_zerod (void)
+{
+ return -DBL_MIN * DBL_MIN;
+}
+# define minus_zerod compute_minus_zerod ()
+#else
+static double minus_zerod = -0.0;
+#endif
+
+#undef INFINITY
+#undef NAN
+
+#define INFINITY Infinityd()
+#define NAN NaNd()
+
+#define trio_pinf() INFINITY
+#define trio_ninf() -INFINITY
+#define trio_nan() NAN
+#define trio_nzero() minus_zerod
+
+#define trio_isnan(x) isnan(x)
+#define trio_isinf(x) isinf(x)
+#define trio_signbit(x) signbit(x)
diff --git a/gettext-tools/gnulib-lib/libxml/uri.c b/gettext-tools/gnulib-lib/libxml/uri.c
index 1e29223..ff47abb 100644
--- a/gettext-tools/gnulib-lib/libxml/uri.c
+++ b/gettext-tools/gnulib-lib/libxml/uri.c
@@ -1,7 +1,7 @@
/**
- * uri.c: set of generic URI related routines
+ * uri.c: set of generic URI related routines
*
- * Reference: RFCs 2396, 2732 and 2373
+ * Reference: RFCs 3986, 2732 and 2373
*
* See Copyright for the status of this software.
*
@@ -18,14 +18,41 @@
#include <libxml/globals.h>
#include <libxml/xmlerror.h>
-/************************************************************************
- * *
- * Macros to differentiate various character type *
- * directly extracted from RFC 2396 *
- * *
- ************************************************************************/
+/**
+ * MAX_URI_LENGTH:
+ *
+ * The definition of the URI regexp in the above RFC has no size limit
+ * In practice they are usually relativey short except for the
+ * data URI scheme as defined in RFC 2397. Even for data URI the usual
+ * maximum size before hitting random practical limits is around 64 KB
+ * and 4KB is usually a maximum admitted limit for proper operations.
+ * The value below is more a security limit than anything else and
+ * really should never be hit by 'normal' operations
+ * Set to 1 MByte in 2012, this is only enforced on output
+ */
+#define MAX_URI_LENGTH 1024 * 1024
+
+static void
+xmlURIErrMemory(const char *extra)
+{
+ if (extra)
+ __xmlRaiseError(NULL, NULL, NULL,
+ NULL, NULL, XML_FROM_URI,
+ XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0,
+ extra, NULL, NULL, 0, 0,
+ "Memory allocation failed : %s\n", extra);
+ else
+ __xmlRaiseError(NULL, NULL, NULL,
+ NULL, NULL, XML_FROM_URI,
+ XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0,
+ NULL, NULL, NULL, 0, 0,
+ "Memory allocation failed\n");
+}
+
+static void xmlCleanURI(xmlURIPtr uri);
/*
+ * Old rule from 2396 used in legacy handling code
* alpha = lowalpha | upalpha
*/
#define IS_ALPHA(x) (IS_LOWALPHA(x) || IS_UPALPHA(x))
@@ -61,31 +88,30 @@
#define IS_ALPHANUM(x) (IS_ALPHA(x) || IS_DIGIT(x))
/*
- * hex = digit | "A" | "B" | "C" | "D" | "E" | "F" |
- * "a" | "b" | "c" | "d" | "e" | "f"
- */
-
-#define IS_HEX(x) ((IS_DIGIT(x)) || (((x) >= 'a') && ((x) <= 'f')) || \
- (((x) >= 'A') && ((x) <= 'F')))
-
-/*
* mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
*/
-#define IS_MARK(x) (((x) == '-') || ((x) == '_') || ((x) == '.') || \
- ((x) == '!') || ((x) == '~') || ((x) == '*') || ((x) == '\'') || \
+#define IS_MARK(x) (((x) == '-') || ((x) == '_') || ((x) == '.') || \
+ ((x) == '!') || ((x) == '~') || ((x) == '*') || ((x) == '\'') || \
((x) == '(') || ((x) == ')'))
+/*
+ * unwise = "{" | "}" | "|" | "\" | "^" | "`"
+ */
+#define IS_UNWISE(p) \
+ (((*(p) == '{')) || ((*(p) == '}')) || ((*(p) == '|')) || \
+ ((*(p) == '\\')) || ((*(p) == '^')) || ((*(p) == '[')) || \
+ ((*(p) == ']')) || ((*(p) == '`')))
/*
* reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," |
- * "[" | "]"
+ * "[" | "]"
*/
-#define IS_RESERVED(x) (((x) == ';') || ((x) == '/') || ((x) == '?') || \
- ((x) == ':') || ((x) == '@') || ((x) == '&') || ((x) == '=') || \
- ((x) == '+') || ((x) == '$') || ((x) == ',') || ((x) == '[') || \
- ((x) == ']'))
+#define IS_RESERVED(x) (((x) == ';') || ((x) == '/') || ((x) == '?') || \
+ ((x) == ':') || ((x) == '@') || ((x) == '&') || ((x) == '=') || \
+ ((x) == '+') || ((x) == '$') || ((x) == ',') || ((x) == '[') || \
+ ((x) == ']'))
/*
* unreserved = alphanum | mark
@@ -94,98 +120,879 @@
#define IS_UNRESERVED(x) (IS_ALPHANUM(x) || IS_MARK(x))
/*
- * escaped = "%" hex hex
+ * Skip to next pointer char, handle escaped sequences
*/
-#define IS_ESCAPED(p) ((*(p) == '%') && (IS_HEX((p)[1])) && \
- (IS_HEX((p)[2])))
+#define NEXT(p) ((*p == '%')? p += 3 : p++)
/*
- * uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |
- * "&" | "=" | "+" | "$" | ","
+ * Productions from the spec.
+ *
+ * authority = server | reg_name
+ * reg_name = 1*( unreserved | escaped | "$" | "," |
+ * ";" | ":" | "@" | "&" | "=" | "+" )
+ *
+ * path = [ abs_path | opaque_part ]
*/
-#define IS_URIC_NO_SLASH(p) ((IS_UNRESERVED(*(p))) || (IS_ESCAPED(p)) ||\
- ((*(p) == ';')) || ((*(p) == '?')) || ((*(p) == ':')) ||\
- ((*(p) == '@')) || ((*(p) == '&')) || ((*(p) == '=')) ||\
- ((*(p) == '+')) || ((*(p) == '$')) || ((*(p) == ',')))
+
+#define STRNDUP(s, n) (char *) xmlStrndup((const xmlChar *)(s), (n))
+
+/************************************************************************
+ * *
+ * RFC 3986 parser *
+ * *
+ ************************************************************************/
+
+#define ISA_DIGIT(p) ((*(p) >= '0') && (*(p) <= '9'))
+#define ISA_ALPHA(p) (((*(p) >= 'a') && (*(p) <= 'z')) || \
+ ((*(p) >= 'A') && (*(p) <= 'Z')))
+#define ISA_HEXDIG(p) \
+ (ISA_DIGIT(p) || ((*(p) >= 'a') && (*(p) <= 'f')) || \
+ ((*(p) >= 'A') && (*(p) <= 'F')))
/*
- * pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","
+ * sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
+ * / "*" / "+" / "," / ";" / "="
*/
-#define IS_PCHAR(p) ((IS_UNRESERVED(*(p))) || (IS_ESCAPED(p)) || \
- ((*(p) == ':')) || ((*(p) == '@')) || ((*(p) == '&')) ||\
- ((*(p) == '=')) || ((*(p) == '+')) || ((*(p) == '$')) ||\
- ((*(p) == ',')))
+#define ISA_SUB_DELIM(p) \
+ (((*(p) == '!')) || ((*(p) == '$')) || ((*(p) == '&')) || \
+ ((*(p) == '(')) || ((*(p) == ')')) || ((*(p) == '*')) || \
+ ((*(p) == '+')) || ((*(p) == ',')) || ((*(p) == ';')) || \
+ ((*(p) == '=')) || ((*(p) == '\'')))
/*
- * rel_segment = 1*( unreserved | escaped |
- * ";" | "@" | "&" | "=" | "+" | "$" | "," )
+ * gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
*/
+#define ISA_GEN_DELIM(p) \
+ (((*(p) == ':')) || ((*(p) == '/')) || ((*(p) == '?')) || \
+ ((*(p) == '#')) || ((*(p) == '[')) || ((*(p) == ']')) || \
+ ((*(p) == '@')))
-#define IS_SEGMENT(p) ((IS_UNRESERVED(*(p))) || (IS_ESCAPED(p)) || \
- ((*(p) == ';')) || ((*(p) == '@')) || ((*(p) == '&')) || \
- ((*(p) == '=')) || ((*(p) == '+')) || ((*(p) == '$')) || \
- ((*(p) == ',')))
+/*
+ * reserved = gen-delims / sub-delims
+ */
+#define ISA_RESERVED(p) (ISA_GEN_DELIM(p) || (ISA_SUB_DELIM(p)))
/*
- * scheme = alpha *( alpha | digit | "+" | "-" | "." )
+ * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
*/
+#define ISA_UNRESERVED(p) \
+ ((ISA_ALPHA(p)) || (ISA_DIGIT(p)) || ((*(p) == '-')) || \
+ ((*(p) == '.')) || ((*(p) == '_')) || ((*(p) == '~')))
-#define IS_SCHEME(x) ((IS_ALPHA(x)) || (IS_DIGIT(x)) || \
- ((x) == '+') || ((x) == '-') || ((x) == '.'))
+/*
+ * pct-encoded = "%" HEXDIG HEXDIG
+ */
+#define ISA_PCT_ENCODED(p) \
+ ((*(p) == '%') && (ISA_HEXDIG(p + 1)) && (ISA_HEXDIG(p + 2)))
/*
- * reg_name = 1*( unreserved | escaped | "$" | "," |
- * ";" | ":" | "@" | "&" | "=" | "+" )
+ * pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
*/
+#define ISA_PCHAR(p) \
+ (ISA_UNRESERVED(p) || ISA_PCT_ENCODED(p) || ISA_SUB_DELIM(p) || \
+ ((*(p) == ':')) || ((*(p) == '@')))
-#define IS_REG_NAME(p) ((IS_UNRESERVED(*(p))) || (IS_ESCAPED(p)) || \
- ((*(p) == '$')) || ((*(p) == ',')) || ((*(p) == ';')) || \
- ((*(p) == ':')) || ((*(p) == '@')) || ((*(p) == '&')) || \
- ((*(p) == '=')) || ((*(p) == '+')))
+/**
+ * xmlParse3986Scheme:
+ * @uri: pointer to an URI structure
+ * @str: pointer to the string to analyze
+ *
+ * Parse an URI scheme
+ *
+ * ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986Scheme(xmlURIPtr uri, const char **str) {
+ const char *cur;
-/*
- * userinfo = *( unreserved | escaped | ";" | ":" | "&" | "=" |
- * "+" | "$" | "," )
+ if (str == NULL)
+ return(-1);
+
+ cur = *str;
+ if (!ISA_ALPHA(cur))
+ return(2);
+ cur++;
+ while (ISA_ALPHA(cur) || ISA_DIGIT(cur) ||
+ (*cur == '+') || (*cur == '-') || (*cur == '.')) cur++;
+ if (uri != NULL) {
+ if (uri->scheme != NULL) xmlFree(uri->scheme);
+ uri->scheme = STRNDUP(*str, cur - *str);
+ }
+ *str = cur;
+ return(0);
+}
+
+/**
+ * xmlParse3986Fragment:
+ * @uri: pointer to an URI structure
+ * @str: pointer to the string to analyze
+ *
+ * Parse the query part of an URI
+ *
+ * fragment = *( pchar / "/" / "?" )
+ * NOTE: the strict syntax as defined by 3986 does not allow '[' and ']'
+ * in the fragment identifier but this is used very broadly for
+ * xpointer scheme selection, so we are allowing it here to not break
+ * for example all the DocBook processing chains.
+ *
+ * Returns 0 or the error code
*/
-#define IS_USERINFO(p) ((IS_UNRESERVED(*(p))) || (IS_ESCAPED(p)) || \
- ((*(p) == ';')) || ((*(p) == ':')) || ((*(p) == '&')) || \
- ((*(p) == '=')) || ((*(p) == '+')) || ((*(p) == '$')) || \
- ((*(p) == ',')))
+static int
+xmlParse3986Fragment(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
-/*
- * uric = reserved | unreserved | escaped
+ if (str == NULL)
+ return (-1);
+
+ cur = *str;
+
+ while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
+ (*cur == '[') || (*cur == ']') ||
+ ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
+ NEXT(cur);
+ if (uri != NULL) {
+ if (uri->fragment != NULL)
+ xmlFree(uri->fragment);
+ if (uri->cleanup & 2)
+ uri->fragment = STRNDUP(*str, cur - *str);
+ else
+ uri->fragment = xmlURIUnescapeString(*str, cur - *str, NULL);
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986Query:
+ * @uri: pointer to an URI structure
+ * @str: pointer to the string to analyze
+ *
+ * Parse the query part of an URI
+ *
+ * query = *uric
+ *
+ * Returns 0 or the error code
*/
+static int
+xmlParse3986Query(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
-#define IS_URIC(p) ((IS_UNRESERVED(*(p))) || (IS_ESCAPED(p)) || \
- (IS_RESERVED(*(p))))
+ if (str == NULL)
+ return (-1);
-/*
-* unwise = "{" | "}" | "|" | "\" | "^" | "`"
-*/
+ cur = *str;
-#define IS_UNWISE(p) \
- (((*(p) == '{')) || ((*(p) == '}')) || ((*(p) == '|')) || \
- ((*(p) == '\\')) || ((*(p) == '^')) || ((*(p) == '[')) || \
- ((*(p) == ']')) || ((*(p) == '`')))
+ while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
+ ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
+ NEXT(cur);
+ if (uri != NULL) {
+ if (uri->query != NULL)
+ xmlFree(uri->query);
+ if (uri->cleanup & 2)
+ uri->query = STRNDUP(*str, cur - *str);
+ else
+ uri->query = xmlURIUnescapeString(*str, cur - *str, NULL);
-/*
- * Skip to next pointer char, handle escaped sequences
+ /* Save the raw bytes of the query as well.
+ * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00114
+ */
+ if (uri->query_raw != NULL)
+ xmlFree (uri->query_raw);
+ uri->query_raw = STRNDUP (*str, cur - *str);
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986Port:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse a port part and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * port = *DIGIT
+ *
+ * Returns 0 or the error code
*/
+static int
+xmlParse3986Port(xmlURIPtr uri, const char **str)
+{
+ const char *cur = *str;
-#define NEXT(p) ((*p == '%')? p += 3 : p++)
+ if (ISA_DIGIT(cur)) {
+ if (uri != NULL)
+ uri->port = 0;
+ while (ISA_DIGIT(cur)) {
+ if (uri != NULL)
+ uri->port = uri->port * 10 + (*cur - '0');
+ cur++;
+ }
+ *str = cur;
+ return(0);
+ }
+ return(1);
+}
-/*
- * Productions from the spec.
+/**
+ * xmlParse3986Userinfo:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
*
- * authority = server | reg_name
- * reg_name = 1*( unreserved | escaped | "$" | "," |
- * ";" | ":" | "@" | "&" | "=" | "+" )
+ * Parse an user informations part and fills in the appropriate fields
+ * of the @uri structure
*
- * path = [ abs_path | opaque_part ]
+ * userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
+ *
+ * Returns 0 or the error code
*/
+static int
+xmlParse3986Userinfo(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
-#define STRNDUP(s, n) (char *) xmlStrndup((const xmlChar *)(s), (n))
+ cur = *str;
+ while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) ||
+ ISA_SUB_DELIM(cur) || (*cur == ':'))
+ NEXT(cur);
+ if (*cur == '@') {
+ if (uri != NULL) {
+ if (uri->user != NULL) xmlFree(uri->user);
+ if (uri->cleanup & 2)
+ uri->user = STRNDUP(*str, cur - *str);
+ else
+ uri->user = xmlURIUnescapeString(*str, cur - *str, NULL);
+ }
+ *str = cur;
+ return(0);
+ }
+ return(1);
+}
+
+/**
+ * xmlParse3986DecOctet:
+ * @str: the string to analyze
+ *
+ * dec-octet = DIGIT ; 0-9
+ * / %x31-39 DIGIT ; 10-99
+ * / "1" 2DIGIT ; 100-199
+ * / "2" %x30-34 DIGIT ; 200-249
+ * / "25" %x30-35 ; 250-255
+ *
+ * Skip a dec-octet.
+ *
+ * Returns 0 if found and skipped, 1 otherwise
+ */
+static int
+xmlParse3986DecOctet(const char **str) {
+ const char *cur = *str;
+
+ if (!(ISA_DIGIT(cur)))
+ return(1);
+ if (!ISA_DIGIT(cur+1))
+ cur++;
+ else if ((*cur != '0') && (ISA_DIGIT(cur + 1)) && (!ISA_DIGIT(cur+2)))
+ cur += 2;
+ else if ((*cur == '1') && (ISA_DIGIT(cur + 1)) && (ISA_DIGIT(cur + 2)))
+ cur += 3;
+ else if ((*cur == '2') && (*(cur + 1) >= '0') &&
+ (*(cur + 1) <= '4') && (ISA_DIGIT(cur + 2)))
+ cur += 3;
+ else if ((*cur == '2') && (*(cur + 1) == '5') &&
+ (*(cur + 2) >= '0') && (*(cur + 1) <= '5'))
+ cur += 3;
+ else
+ return(1);
+ *str = cur;
+ return(0);
+}
+/**
+ * xmlParse3986Host:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an host part and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * host = IP-literal / IPv4address / reg-name
+ * IP-literal = "[" ( IPv6address / IPvFuture ) "]"
+ * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
+ * reg-name = *( unreserved / pct-encoded / sub-delims )
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986Host(xmlURIPtr uri, const char **str)
+{
+ const char *cur = *str;
+ const char *host;
+
+ host = cur;
+ /*
+ * IPv6 and future adressing scheme are enclosed between brackets
+ */
+ if (*cur == '[') {
+ cur++;
+ while ((*cur != ']') && (*cur != 0))
+ cur++;
+ if (*cur != ']')
+ return(1);
+ cur++;
+ goto found;
+ }
+ /*
+ * try to parse an IPv4
+ */
+ if (ISA_DIGIT(cur)) {
+ if (xmlParse3986DecOctet(&cur) != 0)
+ goto not_ipv4;
+ if (*cur != '.')
+ goto not_ipv4;
+ cur++;
+ if (xmlParse3986DecOctet(&cur) != 0)
+ goto not_ipv4;
+ if (*cur != '.')
+ goto not_ipv4;
+ if (xmlParse3986DecOctet(&cur) != 0)
+ goto not_ipv4;
+ if (*cur != '.')
+ goto not_ipv4;
+ if (xmlParse3986DecOctet(&cur) != 0)
+ goto not_ipv4;
+ goto found;
+not_ipv4:
+ cur = *str;
+ }
+ /*
+ * then this should be a hostname which can be empty
+ */
+ while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) || ISA_SUB_DELIM(cur))
+ NEXT(cur);
+found:
+ if (uri != NULL) {
+ if (uri->authority != NULL) xmlFree(uri->authority);
+ uri->authority = NULL;
+ if (uri->server != NULL) xmlFree(uri->server);
+ if (cur != host) {
+ if (uri->cleanup & 2)
+ uri->server = STRNDUP(host, cur - host);
+ else
+ uri->server = xmlURIUnescapeString(host, cur - host, NULL);
+ } else
+ uri->server = NULL;
+ }
+ *str = cur;
+ return(0);
+}
+
+/**
+ * xmlParse3986Authority:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an authority part and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * authority = [ userinfo "@" ] host [ ":" port ]
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986Authority(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
+ int ret;
+
+ cur = *str;
+ /*
+ * try to parse an userinfo and check for the trailing @
+ */
+ ret = xmlParse3986Userinfo(uri, &cur);
+ if ((ret != 0) || (*cur != '@'))
+ cur = *str;
+ else
+ cur++;
+ ret = xmlParse3986Host(uri, &cur);
+ if (ret != 0) return(ret);
+ if (*cur == ':') {
+ cur++;
+ ret = xmlParse3986Port(uri, &cur);
+ if (ret != 0) return(ret);
+ }
+ *str = cur;
+ return(0);
+}
+
+/**
+ * xmlParse3986Segment:
+ * @str: the string to analyze
+ * @forbid: an optional forbidden character
+ * @empty: allow an empty segment
+ *
+ * Parse a segment and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * segment = *pchar
+ * segment-nz = 1*pchar
+ * segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
+ * ; non-zero-length segment without any colon ":"
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986Segment(const char **str, char forbid, int empty)
+{
+ const char *cur;
+
+ cur = *str;
+ if (!ISA_PCHAR(cur)) {
+ if (empty)
+ return(0);
+ return(1);
+ }
+ while (ISA_PCHAR(cur) && (*cur != forbid))
+ NEXT(cur);
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986PathAbEmpty:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an path absolute or empty and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * path-abempty = *( "/" segment )
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986PathAbEmpty(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
+ int ret;
+
+ cur = *str;
+
+ while (*cur == '/') {
+ cur++;
+ ret = xmlParse3986Segment(&cur, 0, 1);
+ if (ret != 0) return(ret);
+ }
+ if (uri != NULL) {
+ if (uri->path != NULL) xmlFree(uri->path);
+ if (*str != cur) {
+ if (uri->cleanup & 2)
+ uri->path = STRNDUP(*str, cur - *str);
+ else
+ uri->path = xmlURIUnescapeString(*str, cur - *str, NULL);
+ } else {
+ uri->path = NULL;
+ }
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986PathAbsolute:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an path absolute and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * path-absolute = "/" [ segment-nz *( "/" segment ) ]
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986PathAbsolute(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
+ int ret;
+
+ cur = *str;
+
+ if (*cur != '/')
+ return(1);
+ cur++;
+ ret = xmlParse3986Segment(&cur, 0, 0);
+ if (ret == 0) {
+ while (*cur == '/') {
+ cur++;
+ ret = xmlParse3986Segment(&cur, 0, 1);
+ if (ret != 0) return(ret);
+ }
+ }
+ if (uri != NULL) {
+ if (uri->path != NULL) xmlFree(uri->path);
+ if (cur != *str) {
+ if (uri->cleanup & 2)
+ uri->path = STRNDUP(*str, cur - *str);
+ else
+ uri->path = xmlURIUnescapeString(*str, cur - *str, NULL);
+ } else {
+ uri->path = NULL;
+ }
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986PathRootless:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an path without root and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * path-rootless = segment-nz *( "/" segment )
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986PathRootless(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
+ int ret;
+
+ cur = *str;
+
+ ret = xmlParse3986Segment(&cur, 0, 0);
+ if (ret != 0) return(ret);
+ while (*cur == '/') {
+ cur++;
+ ret = xmlParse3986Segment(&cur, 0, 1);
+ if (ret != 0) return(ret);
+ }
+ if (uri != NULL) {
+ if (uri->path != NULL) xmlFree(uri->path);
+ if (cur != *str) {
+ if (uri->cleanup & 2)
+ uri->path = STRNDUP(*str, cur - *str);
+ else
+ uri->path = xmlURIUnescapeString(*str, cur - *str, NULL);
+ } else {
+ uri->path = NULL;
+ }
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986PathNoScheme:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an path which is not a scheme and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * path-noscheme = segment-nz-nc *( "/" segment )
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986PathNoScheme(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
+ int ret;
+
+ cur = *str;
+
+ ret = xmlParse3986Segment(&cur, ':', 0);
+ if (ret != 0) return(ret);
+ while (*cur == '/') {
+ cur++;
+ ret = xmlParse3986Segment(&cur, 0, 1);
+ if (ret != 0) return(ret);
+ }
+ if (uri != NULL) {
+ if (uri->path != NULL) xmlFree(uri->path);
+ if (cur != *str) {
+ if (uri->cleanup & 2)
+ uri->path = STRNDUP(*str, cur - *str);
+ else
+ uri->path = xmlURIUnescapeString(*str, cur - *str, NULL);
+ } else {
+ uri->path = NULL;
+ }
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986HierPart:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an hierarchical part and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * hier-part = "//" authority path-abempty
+ * / path-absolute
+ * / path-rootless
+ * / path-empty
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986HierPart(xmlURIPtr uri, const char **str)
+{
+ const char *cur;
+ int ret;
+
+ cur = *str;
+
+ if ((*cur == '/') && (*(cur + 1) == '/')) {
+ cur += 2;
+ ret = xmlParse3986Authority(uri, &cur);
+ if (ret != 0) return(ret);
+ if (uri->server == NULL)
+ uri->port = -1;
+ ret = xmlParse3986PathAbEmpty(uri, &cur);
+ if (ret != 0) return(ret);
+ *str = cur;
+ return(0);
+ } else if (*cur == '/') {
+ ret = xmlParse3986PathAbsolute(uri, &cur);
+ if (ret != 0) return(ret);
+ } else if (ISA_PCHAR(cur)) {
+ ret = xmlParse3986PathRootless(uri, &cur);
+ if (ret != 0) return(ret);
+ } else {
+ /* path-empty is effectively empty */
+ if (uri != NULL) {
+ if (uri->path != NULL) xmlFree(uri->path);
+ uri->path = NULL;
+ }
+ }
+ *str = cur;
+ return (0);
+}
+
+/**
+ * xmlParse3986RelativeRef:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an URI string and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * relative-ref = relative-part [ "?" query ] [ "#" fragment ]
+ * relative-part = "//" authority path-abempty
+ * / path-absolute
+ * / path-noscheme
+ * / path-empty
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986RelativeRef(xmlURIPtr uri, const char *str) {
+ int ret;
+
+ if ((*str == '/') && (*(str + 1) == '/')) {
+ str += 2;
+ ret = xmlParse3986Authority(uri, &str);
+ if (ret != 0) return(ret);
+ ret = xmlParse3986PathAbEmpty(uri, &str);
+ if (ret != 0) return(ret);
+ } else if (*str == '/') {
+ ret = xmlParse3986PathAbsolute(uri, &str);
+ if (ret != 0) return(ret);
+ } else if (ISA_PCHAR(str)) {
+ ret = xmlParse3986PathNoScheme(uri, &str);
+ if (ret != 0) return(ret);
+ } else {
+ /* path-empty is effectively empty */
+ if (uri != NULL) {
+ if (uri->path != NULL) xmlFree(uri->path);
+ uri->path = NULL;
+ }
+ }
+
+ if (*str == '?') {
+ str++;
+ ret = xmlParse3986Query(uri, &str);
+ if (ret != 0) return(ret);
+ }
+ if (*str == '#') {
+ str++;
+ ret = xmlParse3986Fragment(uri, &str);
+ if (ret != 0) return(ret);
+ }
+ if (*str != 0) {
+ xmlCleanURI(uri);
+ return(1);
+ }
+ return(0);
+}
+
+
+/**
+ * xmlParse3986URI:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an URI string and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * scheme ":" hier-part [ "?" query ] [ "#" fragment ]
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986URI(xmlURIPtr uri, const char *str) {
+ int ret;
+
+ ret = xmlParse3986Scheme(uri, &str);
+ if (ret != 0) return(ret);
+ if (*str != ':') {
+ return(1);
+ }
+ str++;
+ ret = xmlParse3986HierPart(uri, &str);
+ if (ret != 0) return(ret);
+ if (*str == '?') {
+ str++;
+ ret = xmlParse3986Query(uri, &str);
+ if (ret != 0) return(ret);
+ }
+ if (*str == '#') {
+ str++;
+ ret = xmlParse3986Fragment(uri, &str);
+ if (ret != 0) return(ret);
+ }
+ if (*str != 0) {
+ xmlCleanURI(uri);
+ return(1);
+ }
+ return(0);
+}
+
+/**
+ * xmlParse3986URIReference:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an URI reference string and fills in the appropriate fields
+ * of the @uri structure
+ *
+ * URI-reference = URI / relative-ref
+ *
+ * Returns 0 or the error code
+ */
+static int
+xmlParse3986URIReference(xmlURIPtr uri, const char *str) {
+ int ret;
+
+ if (str == NULL)
+ return(-1);
+ xmlCleanURI(uri);
+
+ /*
+ * Try first to parse absolute refs, then fallback to relative if
+ * it fails.
+ */
+ ret = xmlParse3986URI(uri, str);
+ if (ret != 0) {
+ xmlCleanURI(uri);
+ ret = xmlParse3986RelativeRef(uri, str);
+ if (ret != 0) {
+ xmlCleanURI(uri);
+ return(ret);
+ }
+ }
+ return(0);
+}
+
+/**
+ * xmlParseURI:
+ * @str: the URI string to analyze
+ *
+ * Parse an URI based on RFC 3986
+ *
+ * URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
+ *
+ * Returns a newly built xmlURIPtr or NULL in case of error
+ */
+xmlURIPtr
+xmlParseURI(const char *str) {
+ xmlURIPtr uri;
+ int ret;
+
+ if (str == NULL)
+ return(NULL);
+ uri = xmlCreateURI();
+ if (uri != NULL) {
+ ret = xmlParse3986URIReference(uri, str);
+ if (ret) {
+ xmlFreeURI(uri);
+ return(NULL);
+ }
+ }
+ return(uri);
+}
+
+/**
+ * xmlParseURIReference:
+ * @uri: pointer to an URI structure
+ * @str: the string to analyze
+ *
+ * Parse an URI reference string based on RFC 3986 and fills in the
+ * appropriate fields of the @uri structure
+ *
+ * URI-reference = URI / relative-ref
+ *
+ * Returns 0 or the error code
+ */
+int
+xmlParseURIReference(xmlURIPtr uri, const char *str) {
+ return(xmlParse3986URIReference(uri, str));
+}
+
+/**
+ * xmlParseURIRaw:
+ * @str: the URI string to analyze
+ * @raw: if 1 unescaping of URI pieces are disabled
+ *
+ * Parse an URI but allows to keep intact the original fragments.
+ *
+ * URI-reference = URI / relative-ref
+ *
+ * Returns a newly built xmlURIPtr or NULL in case of error
+ */
+xmlURIPtr
+xmlParseURIRaw(const char *str, int raw) {
+ xmlURIPtr uri;
+ int ret;
+
+ if (str == NULL)
+ return(NULL);
+ uri = xmlCreateURI();
+ if (uri != NULL) {
+ if (raw) {
+ uri->cleanup |= 2;
+ }
+ ret = xmlParseURIReference(uri, str);
+ if (ret) {
+ xmlFreeURI(uri);
+ return(NULL);
+ }
+ }
+ return(uri);
+}
/************************************************************************
* *
@@ -206,8 +1013,7 @@ xmlCreateURI(void) {
ret = (xmlURIPtr) xmlMalloc(sizeof(xmlURI));
if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlCreateURI: out of memory\n");
+ xmlURIErrMemory("creating URI structure\n");
return(NULL);
}
memset(ret, 0, sizeof(xmlURI));
@@ -215,6 +1021,31 @@ xmlCreateURI(void) {
}
/**
+ * xmlSaveUriRealloc:
+ *
+ * Function to handle properly a reallocation when saving an URI
+ * Also imposes some limit on the length of an URI string output
+ */
+static xmlChar *
+xmlSaveUriRealloc(xmlChar *ret, int *max) {
+ xmlChar *temp;
+ int tmp;
+
+ if (*max > MAX_URI_LENGTH) {
+ xmlURIErrMemory("reaching arbitrary MAX_URI_LENGTH limit\n");
+ return(NULL);
+ }
+ tmp = *max * 2;
+ temp = (xmlChar *) xmlRealloc(ret, (tmp + 1));
+ if (temp == NULL) {
+ xmlURIErrMemory("saving URI\n");
+ return(NULL);
+ }
+ *max = tmp;
+ return(temp);
+}
+
+/**
* xmlSaveUri:
* @uri: pointer to an xmlURI
*
@@ -225,6 +1056,7 @@ xmlCreateURI(void) {
xmlChar *
xmlSaveUri(xmlURIPtr uri) {
xmlChar *ret = NULL;
+ xmlChar *temp;
const char *p;
int len;
int max;
@@ -235,8 +1067,7 @@ xmlSaveUri(xmlURIPtr uri) {
max = 80;
ret = (xmlChar *) xmlMallocAtomic((max + 1) * sizeof(xmlChar));
if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
+ xmlURIErrMemory("saving URI\n");
return(NULL);
}
len = 0;
@@ -245,24 +1076,16 @@ xmlSaveUri(xmlURIPtr uri) {
p = uri->scheme;
while (*p != 0) {
if (len >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret, (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = *p++;
}
if (len >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret, (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = ':';
}
@@ -270,13 +1093,9 @@ xmlSaveUri(xmlURIPtr uri) {
p = uri->opaque;
while (*p != 0) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret, (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
if (IS_RESERVED(*(p)) || IS_UNRESERVED(*(p)))
ret[len++] = *p++;
@@ -289,15 +1108,11 @@ xmlSaveUri(xmlURIPtr uri) {
}
}
} else {
- if (uri->server != NULL) {
+ if ((uri->server != NULL) || (uri->port == -1)) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret, (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = '/';
ret[len++] = '/';
@@ -305,14 +1120,9 @@ xmlSaveUri(xmlURIPtr uri) {
p = uri->user;
while (*p != 0) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
if ((IS_UNRESERVED(*(p))) ||
((*(p) == ';')) || ((*(p) == ':')) ||
@@ -329,68 +1139,45 @@ xmlSaveUri(xmlURIPtr uri) {
}
}
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = '@';
}
- p = uri->server;
- while (*p != 0) {
- if (len >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
+ if (uri->server != NULL) {
+ p = uri->server;
+ while (*p != 0) {
+ if (len >= max) {
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
+ ret[len++] = *p++;
}
- ret[len++] = *p++;
- }
- if (uri->port > 0) {
- if (len + 10 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
+ if (uri->port > 0) {
+ if (len + 10 >= max) {
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
+ len += snprintf((char *) &ret[len], max - len, ":%d", uri->port);
}
- len += snprintf((char *) &ret[len], max - len, ":%d", uri->port);
}
} else if (uri->authority != NULL) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = '/';
ret[len++] = '/';
p = uri->authority;
while (*p != 0) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
if ((IS_UNRESERVED(*(p))) ||
((*(p) == '$')) || ((*(p) == ',')) || ((*(p) == ';')) ||
@@ -407,30 +1194,37 @@ xmlSaveUri(xmlURIPtr uri) {
}
} else if (uri->scheme != NULL) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
- ret[len++] = '/';
- ret[len++] = '/';
}
if (uri->path != NULL) {
p = uri->path;
+ /*
+ * the colon in file:///d: should not be escaped or
+ * Windows accesses fail later.
+ */
+ if ((uri->scheme != NULL) &&
+ (p[0] == '/') &&
+ (((p[1] >= 'a') && (p[1] <= 'z')) ||
+ ((p[1] >= 'A') && (p[1] <= 'Z'))) &&
+ (p[2] == ':') &&
+ (xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) {
+ if (len + 3 >= max) {
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
+ }
+ ret[len++] = *p++;
+ ret[len++] = *p++;
+ ret[len++] = *p++;
+ }
while (*p != 0) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
if ((IS_UNRESERVED(*(p))) || ((*(p) == '/')) ||
((*(p) == ';')) || ((*(p) == '@')) || ((*(p) == '&')) ||
@@ -446,31 +1240,37 @@ xmlSaveUri(xmlURIPtr uri) {
}
}
}
- if (uri->query != NULL) {
- if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
+ if (uri->query_raw != NULL) {
+ if (len + 1 >= max) {
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
+ }
+ ret[len++] = '?';
+ p = uri->query_raw;
+ while (*p != 0) {
+ if (len + 1 >= max) {
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
+ ret[len++] = *p++;
+ }
+ } else if (uri->query != NULL) {
+ if (len + 3 >= max) {
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = '?';
p = uri->query;
while (*p != 0) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
- if ((IS_UNRESERVED(*(p))) || (IS_RESERVED(*(p))))
+ if ((IS_UNRESERVED(*(p))) || (IS_RESERVED(*(p))))
ret[len++] = *p++;
else {
int val = *(unsigned char *)p++;
@@ -484,29 +1284,19 @@ xmlSaveUri(xmlURIPtr uri) {
}
if (uri->fragment != NULL) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
ret[len++] = '#';
p = uri->fragment;
while (*p != 0) {
if (len + 3 >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret,
- (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
- if ((IS_UNRESERVED(*(p))) || (IS_RESERVED(*(p))))
+ if ((IS_UNRESERVED(*(p))) || (IS_RESERVED(*(p))))
ret[len++] = *p++;
else {
int val = *(unsigned char *)p++;
@@ -518,16 +1308,16 @@ xmlSaveUri(xmlURIPtr uri) {
}
}
if (len >= max) {
- max *= 2;
- ret = (xmlChar *) xmlRealloc(ret, (max + 1) * sizeof(xmlChar));
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveUri: out of memory\n");
- return(NULL);
- }
+ temp = xmlSaveUriRealloc(ret, &max);
+ if (temp == NULL) goto mem_error;
+ ret = temp;
}
- ret[len++] = 0;
+ ret[len] = 0;
return(ret);
+
+mem_error:
+ xmlFree(ret);
+ return(NULL);
}
/**
@@ -574,6 +1364,8 @@ xmlCleanURI(xmlURIPtr uri) {
uri->authority = NULL;
if (uri->query != NULL) xmlFree(uri->query);
uri->query = NULL;
+ if (uri->query_raw != NULL) xmlFree(uri->query_raw);
+ uri->query_raw = NULL;
}
/**
@@ -594,6 +1386,7 @@ xmlFreeURI(xmlURIPtr uri) {
if (uri->opaque != NULL) xmlFree(uri->opaque);
if (uri->authority != NULL) xmlFree(uri->authority);
if (uri->query != NULL) xmlFree(uri->query);
+ if (uri->query_raw != NULL) xmlFree(uri->query_raw);
xmlFree(uri);
}
@@ -738,10 +1531,11 @@ xmlNormalizeURIPath(char *path) {
break;
}
/* Valgrind complained, strcpy(cur, segp + 3); */
- /* string will overlap, do not use strcpy */
- tmp = cur;
- segp += 3;
- while ((*tmp++ = *segp++) != 0);
+ /* string will overlap, do not use strcpy */
+ tmp = cur;
+ segp += 3;
+ while ((*tmp++ = *segp++) != 0)
+ ;
/* If there are no previous segments, then keep going from here. */
segp = cur;
@@ -805,10 +1599,13 @@ static int is_hex(char c) {
* @len: the length in bytes to unescape (or <= 0 to indicate full string)
* @target: optional destination buffer
*
- * Unescaping routine, does not do validity checks !
- * Output is direct unsigned char translation of %XX values (no encoding)
+ * Unescaping routine, but does not check that the string is an URI. The
+ * output is a direct unsigned char translation of %XX values (no encoding)
+ * Note that the length of the result can only be smaller or same size as
+ * the input string.
*
- * Returns an copy of the string, but unescaped
+ * Returns a copy of the string, but unescaped, will return NULL only in case
+ * of error
*/
char *
xmlURIUnescapeString(const char *str, int len, char *target) {
@@ -823,8 +1620,7 @@ xmlURIUnescapeString(const char *str, int len, char *target) {
if (target == NULL) {
ret = (char *) xmlMallocAtomic(len + 1);
if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlURIUnescapeString: out of memory\n");
+ xmlURIErrMemory("unescaping URI value\n");
return(NULL);
}
} else
@@ -834,14 +1630,14 @@ xmlURIUnescapeString(const char *str, int len, char *target) {
while(len > 0) {
if ((len > 2) && (*in == '%') && (is_hex(in[1])) && (is_hex(in[2]))) {
in++;
- if ((*in >= '0') && (*in <= '9'))
+ if ((*in >= '0') && (*in <= '9'))
*out = (*in - '0');
else if ((*in >= 'a') && (*in <= 'f'))
*out = (*in - 'a') + 10;
else if ((*in >= 'A') && (*in <= 'F'))
*out = (*in - 'A') + 10;
in++;
- if ((*in >= '0') && (*in <= '9'))
+ if ((*in >= '0') && (*in <= '9'))
*out = *out * 16 + (*in - '0');
else if ((*in >= 'a') && (*in <= 'f'))
*out = *out * 16 + (*in - 'a') + 10;
@@ -872,9 +1668,9 @@ xmlURIUnescapeString(const char *str, int len, char *target) {
xmlChar *
xmlURIEscapeStr(const xmlChar *str, const xmlChar *list) {
xmlChar *ret, ch;
+ xmlChar *temp;
const xmlChar *in;
-
- unsigned int len, out;
+ int len, out;
if (str == NULL)
return(NULL);
@@ -886,21 +1682,20 @@ xmlURIEscapeStr(const xmlChar *str, const xmlChar *list) {
len += 20;
ret = (xmlChar *) xmlMallocAtomic(len);
if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlURIEscapeStr: out of memory\n");
+ xmlURIErrMemory("escaping URI value\n");
return(NULL);
}
in = (const xmlChar *) str;
out = 0;
while(*in != 0) {
if (len - out <= 3) {
- len += 20;
- ret = (xmlChar *) xmlRealloc(ret, len);
- if (ret == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlURIEscapeStr: out of memory\n");
+ temp = xmlSaveUriRealloc(ret, &len);
+ if (temp == NULL) {
+ xmlURIErrMemory("escaping URI value\n");
+ xmlFree(ret);
return(NULL);
}
+ ret = temp;
}
ch = *in;
@@ -951,9 +1746,9 @@ xmlURIEscape(const xmlChar * str)
int ret2;
#define NULLCHK(p) if(!p) { \
- xmlGenericError(xmlGenericErrorContext, \
- "xmlURIEscape: out of memory\n"); \
- return NULL; }
+ xmlURIErrMemory("escaping URI value\n"); \
+ xmlFreeURI(uri); \
+ return NULL; } \
if (str == NULL)
return (NULL);
@@ -996,7 +1791,7 @@ xmlURIEscape(const xmlChar * str)
if (uri->user) {
segment = xmlURIEscapeStr(BAD_CAST uri->user, BAD_CAST ";:&=+$,");
NULLCHK(segment)
- ret = xmlStrcat(ret,BAD_CAST "//");
+ ret = xmlStrcat(ret,BAD_CAST "//");
ret = xmlStrcat(ret, segment);
ret = xmlStrcat(ret, BAD_CAST "@");
xmlFree(segment);
@@ -1006,7 +1801,7 @@ xmlURIEscape(const xmlChar * str)
segment = xmlURIEscapeStr(BAD_CAST uri->server, BAD_CAST "/?;:@");
NULLCHK(segment)
if (uri->user == NULL)
- ret = xmlStrcat(ret, BAD_CAST "//");
+ ret = xmlStrcat(ret, BAD_CAST "//");
ret = xmlStrcat(ret, segment);
xmlFree(segment);
}
@@ -1027,7 +1822,11 @@ xmlURIEscape(const xmlChar * str)
xmlFree(segment);
}
- if (uri->query) {
+ if (uri->query_raw) {
+ ret = xmlStrcat(ret, BAD_CAST "?");
+ ret = xmlStrcat(ret, BAD_CAST uri->query_raw);
+ }
+ else if (uri->query) {
segment =
xmlURIEscapeStr(BAD_CAST uri->query, BAD_CAST ";/?:@&=+,$");
NULLCHK(segment)
@@ -1059,780 +1858,6 @@ xmlURIEscape(const xmlChar * str)
/************************************************************************
* *
- * Escaped URI parsing *
- * *
- ************************************************************************/
-
-/**
- * xmlParseURIFragment:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an URI fragment string and fills in the appropriate fields
- * of the @uri structure.
- *
- * fragment = *uric
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIFragment(xmlURIPtr uri, const char **str)
-{
- const char *cur;
-
- if (str == NULL)
- return (-1);
-
- cur = *str;
-
- while (IS_URIC(cur) || IS_UNWISE(cur))
- NEXT(cur);
- if (uri != NULL) {
- if (uri->fragment != NULL)
- xmlFree(uri->fragment);
- if (uri->cleanup & 2)
- uri->fragment = STRNDUP(*str, cur - *str);
- else
- uri->fragment = xmlURIUnescapeString(*str, cur - *str, NULL);
- }
- *str = cur;
- return (0);
-}
-
-/**
- * xmlParseURIQuery:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse the query part of an URI
- *
- * query = *uric
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIQuery(xmlURIPtr uri, const char **str)
-{
- const char *cur;
-
- if (str == NULL)
- return (-1);
-
- cur = *str;
-
- while ((IS_URIC(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
- NEXT(cur);
- if (uri != NULL) {
- if (uri->query != NULL)
- xmlFree(uri->query);
- if (uri->cleanup & 2)
- uri->query = STRNDUP(*str, cur - *str);
- else
- uri->query = xmlURIUnescapeString(*str, cur - *str, NULL);
- }
- *str = cur;
- return (0);
-}
-
-/**
- * xmlParseURIScheme:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an URI scheme
- *
- * scheme = alpha *( alpha | digit | "+" | "-" | "." )
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIScheme(xmlURIPtr uri, const char **str) {
- const char *cur;
-
- if (str == NULL)
- return(-1);
-
- cur = *str;
- if (!IS_ALPHA(*cur))
- return(2);
- cur++;
- while (IS_SCHEME(*cur)) cur++;
- if (uri != NULL) {
- if (uri->scheme != NULL) xmlFree(uri->scheme);
- uri->scheme = STRNDUP(*str, cur - *str);
- }
- *str = cur;
- return(0);
-}
-
-/**
- * xmlParseURIOpaquePart:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an URI opaque part
- *
- * opaque_part = uric_no_slash *uric
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIOpaquePart(xmlURIPtr uri, const char **str)
-{
- const char *cur;
-
- if (str == NULL)
- return (-1);
-
- cur = *str;
- if (!((IS_URIC_NO_SLASH(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))) {
- return (3);
- }
- NEXT(cur);
- while ((IS_URIC(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
- NEXT(cur);
- if (uri != NULL) {
- if (uri->opaque != NULL)
- xmlFree(uri->opaque);
- if (uri->cleanup & 2)
- uri->opaque = STRNDUP(*str, cur - *str);
- else
- uri->opaque = xmlURIUnescapeString(*str, cur - *str, NULL);
- }
- *str = cur;
- return (0);
-}
-
-/**
- * xmlParseURIServer:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse a server subpart of an URI, it's a finer grain analysis
- * of the authority part.
- *
- * server = [ [ userinfo "@" ] hostport ]
- * userinfo = *( unreserved | escaped |
- * ";" | ":" | "&" | "=" | "+" | "$" | "," )
- * hostport = host [ ":" port ]
- * host = hostname | IPv4address | IPv6reference
- * hostname = *( domainlabel "." ) toplabel [ "." ]
- * domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
- * toplabel = alpha | alpha *( alphanum | "-" ) alphanum
- * IPv6reference = "[" IPv6address "]"
- * IPv6address = hexpart [ ":" IPv4address ]
- * IPv4address = 1*3digit "." 1*3digit "." 1*3digit "." 1*3digit
- * hexpart = hexseq | hexseq "::" [ hexseq ]| "::" [ hexseq ]
- * hexseq = hex4 *( ":" hex4)
- * hex4 = 1*4hexdig
- * port = *digit
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIServer(xmlURIPtr uri, const char **str) {
- const char *cur;
- const char *host, *tmp;
- const int IPV4max = 4;
- const int IPV6max = 8;
- int oct;
-
- if (str == NULL)
- return(-1);
-
- cur = *str;
-
- /*
- * is there a userinfo ?
- */
- while (IS_USERINFO(cur)) NEXT(cur);
- if (*cur == '@') {
- if (uri != NULL) {
- if (uri->user != NULL) xmlFree(uri->user);
- if (uri->cleanup & 2)
- uri->path = STRNDUP(*str, cur - *str);
- else
- uri->user = xmlURIUnescapeString(*str, cur - *str, NULL);
- }
- cur++;
- } else {
- if (uri != NULL) {
- if (uri->user != NULL) xmlFree(uri->user);
- uri->user = NULL;
- }
- cur = *str;
- }
- /*
- * This can be empty in the case where there is no server
- */
- host = cur;
- if (*cur == '/') {
- if (uri != NULL) {
- if (uri->authority != NULL) xmlFree(uri->authority);
- uri->authority = NULL;
- if (uri->server != NULL) xmlFree(uri->server);
- uri->server = NULL;
- uri->port = 0;
- }
- return(0);
- }
- /*
- * host part of hostport can denote an IPV4 address, an IPV6 address
- * or an unresolved name. Check the IP first, its easier to detect
- * errors if wrong one.
- * An IPV6 address must start with a '[' and end with a ']'.
- */
- if (*cur == '[') {
- int compress=0;
- cur++;
- for (oct = 0; oct < IPV6max; ++oct) {
- if (*cur == ':') {
- if (compress)
- return(3); /* multiple compression attempted */
- if (!oct) { /* initial char is compression */
- if (*++cur != ':')
- return(3);
- }
- compress = 1; /* set compression-encountered flag */
- cur++; /* skip over the second ':' */
- continue;
- }
- while(IS_HEX(*cur)) cur++;
- if (oct == (IPV6max-1))
- continue;
- if (*cur != ':')
- break;
- cur++;
- }
- if ((!compress) && (oct != IPV6max))
- return(3);
- if (*cur != ']')
- return(3);
- if (uri != NULL) {
- if (uri->server != NULL) xmlFree(uri->server);
- uri->server = (char *)xmlStrndup((xmlChar *)host+1,
- (cur-host)-1);
- }
- cur++;
- } else {
- /*
- * Not IPV6, maybe IPV4
- */
- for (oct = 0; oct < IPV4max; ++oct) {
- if (*cur == '.')
- return(3); /* e.g. http://.xml/ or http://18.29..30/ */
- while(IS_DIGIT(*cur)) cur++;
- if (oct == (IPV4max-1))
- continue;
- if (*cur != '.')
- break;
- cur++;
- }
- }
- if ((host[0] != '[') && (oct < IPV4max || (*cur == '.' && cur++) ||
- IS_ALPHA(*cur))) {
- /* maybe host_name */
- if (!IS_ALPHANUM(*cur))
- return(4); /* e.g. http://xml.$oft */
- do {
- do ++cur; while (IS_ALPHANUM(*cur));
- if (*cur == '-') {
- --cur;
- if (*cur == '.')
- return(5); /* e.g. http://xml.-soft */
- ++cur;
- continue;
- }
- if (*cur == '.') {
- --cur;
- if (*cur == '-')
- return(6); /* e.g. http://xml-.soft */
- if (*cur == '.')
- return(7); /* e.g. http://xml..soft */
- ++cur;
- continue;
- }
- break;
- } while (1);
- tmp = cur;
- if (tmp[-1] == '.')
- --tmp; /* e.g. http://xml.$Oft/ */
- do --tmp; while (tmp >= host && IS_ALPHANUM(*tmp));
- if ((++tmp == host || tmp[-1] == '.') && !IS_ALPHA(*tmp))
- return(8); /* e.g. http://xmlsOft.0rg/ */
- }
- if (uri != NULL) {
- if (uri->authority != NULL) xmlFree(uri->authority);
- uri->authority = NULL;
- if (host[0] != '[') { /* it's not an IPV6 addr */
- if (uri->server != NULL) xmlFree(uri->server);
- if (uri->cleanup & 2)
- uri->server = STRNDUP(host, cur - host);
- else
- uri->server = xmlURIUnescapeString(host, cur - host, NULL);
- }
- }
- /*
- * finish by checking for a port presence.
- */
- if (*cur == ':') {
- cur++;
- if (IS_DIGIT(*cur)) {
- if (uri != NULL)
- uri->port = 0;
- while (IS_DIGIT(*cur)) {
- if (uri != NULL)
- uri->port = uri->port * 10 + (*cur - '0');
- cur++;
- }
- }
- }
- *str = cur;
- return(0);
-}
-
-/**
- * xmlParseURIRelSegment:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an URI relative segment
- *
- * rel_segment = 1*( unreserved | escaped | ";" | "@" | "&" | "=" |
- * "+" | "$" | "," )
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIRelSegment(xmlURIPtr uri, const char **str)
-{
- const char *cur;
-
- if (str == NULL)
- return (-1);
-
- cur = *str;
- if (!((IS_SEGMENT(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))) {
- return (3);
- }
- NEXT(cur);
- while ((IS_SEGMENT(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
- NEXT(cur);
- if (uri != NULL) {
- if (uri->path != NULL)
- xmlFree(uri->path);
- if (uri->cleanup & 2)
- uri->path = STRNDUP(*str, cur - *str);
- else
- uri->path = xmlURIUnescapeString(*str, cur - *str, NULL);
- }
- *str = cur;
- return (0);
-}
-
-/**
- * xmlParseURIPathSegments:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- * @slash: should we add a leading slash
- *
- * Parse an URI set of path segments
- *
- * path_segments = segment *( "/" segment )
- * segment = *pchar *( ";" param )
- * param = *pchar
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIPathSegments(xmlURIPtr uri, const char **str, int slash)
-{
- const char *cur;
-
- if (str == NULL)
- return (-1);
-
- cur = *str;
-
- do {
- while ((IS_PCHAR(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
- NEXT(cur);
- while (*cur == ';') {
- cur++;
- while ((IS_PCHAR(cur)) ||
- ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
- NEXT(cur);
- }
- if (*cur != '/')
- break;
- cur++;
- } while (1);
- if (uri != NULL) {
- int len, len2 = 0;
- char *path;
-
- /*
- * Concat the set of path segments to the current path
- */
- len = cur - *str;
- if (slash)
- len++;
-
- if (uri->path != NULL) {
- len2 = strlen(uri->path);
- len += len2;
- }
- path = (char *) xmlMallocAtomic(len + 1);
- if (path == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlParseURIPathSegments: out of memory\n");
- *str = cur;
- return (-1);
- }
- if (uri->path != NULL)
- memcpy(path, uri->path, len2);
- if (slash) {
- path[len2] = '/';
- len2++;
- }
- path[len2] = 0;
- if (cur - *str > 0) {
- if (uri->cleanup & 2) {
- memcpy(&path[len2], *str, cur - *str);
- path[len2 + (cur - *str)] = 0;
- } else
- xmlURIUnescapeString(*str, cur - *str, &path[len2]);
- }
- if (uri->path != NULL)
- xmlFree(uri->path);
- uri->path = path;
- }
- *str = cur;
- return (0);
-}
-
-/**
- * xmlParseURIAuthority:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse the authority part of an URI.
- *
- * authority = server | reg_name
- * server = [ [ userinfo "@" ] hostport ]
- * reg_name = 1*( unreserved | escaped | "$" | "," | ";" | ":" |
- * "@" | "&" | "=" | "+" )
- *
- * Note : this is completely ambiguous since reg_name is allowed to
- * use the full set of chars in use by server:
- *
- * 3.2.1. Registry-based Naming Authority
- *
- * The structure of a registry-based naming authority is specific
- * to the URI scheme, but constrained to the allowed characters
- * for an authority component.
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIAuthority(xmlURIPtr uri, const char **str) {
- const char *cur;
- int ret;
-
- if (str == NULL)
- return(-1);
-
- cur = *str;
-
- /*
- * try first to parse it as a server string.
- */
- ret = xmlParseURIServer(uri, str);
- if ((ret == 0) && (*str != NULL) &&
- ((**str == 0) || (**str == '/') || (**str == '?')))
- return(0);
- *str = cur;
-
- /*
- * failed, fallback to reg_name
- */
- if (!IS_REG_NAME(cur)) {
- return(5);
- }
- NEXT(cur);
- while (IS_REG_NAME(cur)) NEXT(cur);
- if (uri != NULL) {
- if (uri->server != NULL) xmlFree(uri->server);
- uri->server = NULL;
- if (uri->user != NULL) xmlFree(uri->user);
- uri->user = NULL;
- if (uri->authority != NULL) xmlFree(uri->authority);
- if (uri->cleanup & 2)
- uri->authority = STRNDUP(*str, cur - *str);
- else
- uri->authority = xmlURIUnescapeString(*str, cur - *str, NULL);
- }
- *str = cur;
- return(0);
-}
-
-/**
- * xmlParseURIHierPart:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an URI hierarchical part
- *
- * hier_part = ( net_path | abs_path ) [ "?" query ]
- * abs_path = "/" path_segments
- * net_path = "//" authority [ abs_path ]
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseURIHierPart(xmlURIPtr uri, const char **str) {
- int ret;
- const char *cur;
-
- if (str == NULL)
- return(-1);
-
- cur = *str;
-
- if ((cur[0] == '/') && (cur[1] == '/')) {
- cur += 2;
- ret = xmlParseURIAuthority(uri, &cur);
- if (ret != 0)
- return(ret);
- if (cur[0] == '/') {
- cur++;
- ret = xmlParseURIPathSegments(uri, &cur, 1);
- }
- } else if (cur[0] == '/') {
- cur++;
- ret = xmlParseURIPathSegments(uri, &cur, 1);
- } else {
- return(4);
- }
- if (ret != 0)
- return(ret);
- if (*cur == '?') {
- cur++;
- ret = xmlParseURIQuery(uri, &cur);
- if (ret != 0)
- return(ret);
- }
- *str = cur;
- return(0);
-}
-
-/**
- * xmlParseAbsoluteURI:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an URI reference string and fills in the appropriate fields
- * of the @uri structure
- *
- * absoluteURI = scheme ":" ( hier_part | opaque_part )
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseAbsoluteURI(xmlURIPtr uri, const char **str) {
- int ret;
- const char *cur;
-
- if (str == NULL)
- return(-1);
-
- cur = *str;
-
- ret = xmlParseURIScheme(uri, str);
- if (ret != 0) return(ret);
- if (**str != ':') {
- *str = cur;
- return(1);
- }
- (*str)++;
- if (**str == '/')
- return(xmlParseURIHierPart(uri, str));
- return(xmlParseURIOpaquePart(uri, str));
-}
-
-/**
- * xmlParseRelativeURI:
- * @uri: pointer to an URI structure
- * @str: pointer to the string to analyze
- *
- * Parse an relative URI string and fills in the appropriate fields
- * of the @uri structure
- *
- * relativeURI = ( net_path | abs_path | rel_path ) [ "?" query ]
- * abs_path = "/" path_segments
- * net_path = "//" authority [ abs_path ]
- * rel_path = rel_segment [ abs_path ]
- *
- * Returns 0 or the error code
- */
-static int
-xmlParseRelativeURI(xmlURIPtr uri, const char **str) {
- int ret = 0;
- const char *cur;
-
- if (str == NULL)
- return(-1);
-
- cur = *str;
- if ((cur[0] == '/') && (cur[1] == '/')) {
- cur += 2;
- ret = xmlParseURIAuthority(uri, &cur);
- if (ret != 0)
- return(ret);
- if (cur[0] == '/') {
- cur++;
- ret = xmlParseURIPathSegments(uri, &cur, 1);
- }
- } else if (cur[0] == '/') {
- cur++;
- ret = xmlParseURIPathSegments(uri, &cur, 1);
- } else if (cur[0] != '#' && cur[0] != '?') {
- ret = xmlParseURIRelSegment(uri, &cur);
- if (ret != 0)
- return(ret);
- if (cur[0] == '/') {
- cur++;
- ret = xmlParseURIPathSegments(uri, &cur, 1);
- }
- }
- if (ret != 0)
- return(ret);
- if (*cur == '?') {
- cur++;
- ret = xmlParseURIQuery(uri, &cur);
- if (ret != 0)
- return(ret);
- }
- *str = cur;
- return(ret);
-}
-
-/**
- * xmlParseURIReference:
- * @uri: pointer to an URI structure
- * @str: the string to analyze
- *
- * Parse an URI reference string and fills in the appropriate fields
- * of the @uri structure
- *
- * URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
- *
- * Returns 0 or the error code
- */
-int
-xmlParseURIReference(xmlURIPtr uri, const char *str) {
- int ret;
- const char *tmp = str;
-
- if (str == NULL)
- return(-1);
- xmlCleanURI(uri);
-
- /*
- * Try first to parse absolute refs, then fallback to relative if
- * it fails.
- */
- ret = xmlParseAbsoluteURI(uri, &str);
- if (ret != 0) {
- xmlCleanURI(uri);
- str = tmp;
- ret = xmlParseRelativeURI(uri, &str);
- }
- if (ret != 0) {
- xmlCleanURI(uri);
- return(ret);
- }
-
- if (*str == '#') {
- str++;
- ret = xmlParseURIFragment(uri, &str);
- if (ret != 0) return(ret);
- }
- if (*str != 0) {
- xmlCleanURI(uri);
- return(1);
- }
- return(0);
-}
-
-/**
- * xmlParseURI:
- * @str: the URI string to analyze
- *
- * Parse an URI
- *
- * URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
- *
- * Returns a newly built xmlURIPtr or NULL in case of error
- */
-xmlURIPtr
-xmlParseURI(const char *str) {
- xmlURIPtr uri;
- int ret;
-
- if (str == NULL)
- return(NULL);
- uri = xmlCreateURI();
- if (uri != NULL) {
- ret = xmlParseURIReference(uri, str);
- if (ret) {
- xmlFreeURI(uri);
- return(NULL);
- }
- }
- return(uri);
-}
-
-/**
- * xmlParseURIRaw:
- * @str: the URI string to analyze
- * @raw: if 1 unescaping of URI pieces are disabled
- *
- * Parse an URI but allows to keep intact the original fragments.
- *
- * URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
- *
- * Returns a newly built xmlURIPtr or NULL in case of error
- */
-xmlURIPtr
-xmlParseURIRaw(const char *str, int raw) {
- xmlURIPtr uri;
- int ret;
-
- if (str == NULL)
- return(NULL);
- uri = xmlCreateURI();
- if (uri != NULL) {
- if (raw) {
- uri->cleanup |= 2;
- }
- ret = xmlParseURIReference(uri, str);
- if (ret) {
- xmlFreeURI(uri);
- return(NULL);
- }
- }
- return(uri);
-}
-
-/************************************************************************
- * *
* Public functions *
* *
************************************************************************/
@@ -1844,7 +1869,7 @@ xmlParseURIRaw(const char *str, int raw) {
*
* Computes he final URI of the reference done by checking that
* the given URI is valid, and building the final URI using the
- * base URI. This is processed according to section 5.2 of the
+ * base URI. This is processed according to section 5.2 of the
* RFC 2396
*
* 5.2. Resolving Relative References to Absolute Form
@@ -1868,7 +1893,7 @@ xmlBuildURI(const xmlChar *URI, const xmlChar *base) {
* as a reference to "." rather than as a synonym for the current
* URI. Should we do that here?
*/
- if (URI == NULL)
+ if (URI == NULL)
ret = -1;
else {
if (*URI) {
@@ -1939,12 +1964,16 @@ xmlBuildURI(const xmlChar *URI, const xmlChar *base) {
res->server = xmlMemStrdup(bas->server);
if (bas->user != NULL)
res->user = xmlMemStrdup(bas->user);
- res->port = bas->port;
+ res->port = bas->port;
}
if (bas->path != NULL)
res->path = xmlMemStrdup(bas->path);
- if (ref->query != NULL)
+ if (ref->query_raw != NULL)
+ res->query_raw = xmlMemStrdup (ref->query_raw);
+ else if (ref->query != NULL)
res->query = xmlMemStrdup(ref->query);
+ else if (bas->query_raw != NULL)
+ res->query_raw = xmlMemStrdup(bas->query_raw);
else if (bas->query != NULL)
res->query = xmlMemStrdup(bas->query);
if (ref->fragment != NULL)
@@ -1964,8 +1993,10 @@ xmlBuildURI(const xmlChar *URI, const xmlChar *base) {
}
if (bas->scheme != NULL)
res->scheme = xmlMemStrdup(bas->scheme);
-
- if (ref->query != NULL)
+
+ if (ref->query_raw != NULL)
+ res->query_raw = xmlMemStrdup(ref->query_raw);
+ else if (ref->query != NULL)
res->query = xmlMemStrdup(ref->query);
if (ref->fragment != NULL)
res->fragment = xmlMemStrdup(ref->fragment);
@@ -1984,7 +2015,7 @@ xmlBuildURI(const xmlChar *URI, const xmlChar *base) {
res->server = xmlMemStrdup(ref->server);
if (ref->user != NULL)
res->user = xmlMemStrdup(ref->user);
- res->port = ref->port;
+ res->port = ref->port;
}
if (ref->path != NULL)
res->path = xmlMemStrdup(ref->path);
@@ -1996,7 +2027,7 @@ xmlBuildURI(const xmlChar *URI, const xmlChar *base) {
res->server = xmlMemStrdup(bas->server);
if (bas->user != NULL)
res->user = xmlMemStrdup(bas->user);
- res->port = bas->port;
+ res->port = bas->port;
}
/*
@@ -2024,8 +2055,7 @@ xmlBuildURI(const xmlChar *URI, const xmlChar *base) {
len += strlen(bas->path);
res->path = (char *) xmlMallocAtomic(len);
if (res->path == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlBuildURI: out of memory\n");
+ xmlURIErrMemory("resolving URI against base\n");
goto done;
}
res->path[0] = 0;
@@ -2209,7 +2239,8 @@ xmlBuildRelativeURI (const xmlChar * URI, const xmlChar * base)
uptr = (xmlChar *) ref->path;
if (*uptr == '/')
uptr++;
- val = xmlStrdup(uptr);
+ /* exception characters from xmlSaveUri */
+ val = xmlURIEscapeStr(uptr, BAD_CAST "/;&=+$,");
}
goto done;
}
@@ -2270,10 +2301,11 @@ xmlBuildRelativeURI (const xmlChar * URI, const xmlChar * base)
}
len = xmlStrlen (uptr) + 1;
}
-
+
if (nbslash == 0) {
if (uptr != NULL)
- val = xmlStrdup (uptr);
+ /* exception characters from xmlSaveUri */
+ val = xmlURIEscapeStr(uptr, BAD_CAST "/;&=+$,");
goto done;
}
@@ -2284,8 +2316,7 @@ xmlBuildRelativeURI (const xmlChar * URI, const xmlChar * base)
*/
val = (xmlChar *) xmlMalloc (len + 3 * nbslash);
if (val == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlBuildRelativeURI: out of memory\n");
+ xmlURIErrMemory("building relative URI\n");
goto done;
}
vptr = val;
@@ -2313,6 +2344,12 @@ xmlBuildRelativeURI (const xmlChar * URI, const xmlChar * base)
vptr[len - 1] = 0;
}
+ /* escape the freshly-built path */
+ vptr = val;
+ /* exception characters from xmlSaveUri */
+ val = xmlURIEscapeStr(vptr, BAD_CAST "/;&=+$,");
+ xmlFree(vptr);
+
done:
/*
* Free the working variables
@@ -2331,14 +2368,14 @@ done:
* xmlCanonicPath:
* @path: the resource locator in a filesystem notation
*
- * Constructs a canonic path from the specified path.
+ * Constructs a canonic path from the specified path.
*
- * Returns a new canonic path, or a duplicate of the path parameter if the
+ * Returns a new canonic path, or a duplicate of the path parameter if the
* construction fails. The caller is responsible for freeing the memory occupied
- * by the returned string. If there is insufficient memory available, or the
+ * by the returned string. If there is insufficient memory available, or the
* argument is NULL, the function returns NULL.
*/
-#define IS_WINDOWS_PATH(p) \
+#define IS_WINDOWS_PATH(p) \
((p != NULL) && \
(((p[0] >= 'a') && (p[0] <= 'z')) || \
((p[0] >= 'A') && (p[0] <= 'Z'))) && \
@@ -2346,7 +2383,11 @@ done:
xmlChar *
xmlCanonicPath(const xmlChar *path)
{
-#if defined(_WIN32) && !defined(__CYGWIN__)
+/*
+ * For Windows implementations, additional work needs to be done to
+ * replace backslashes in pathnames with "forward slashes"
+ */
+#if defined(_WIN32) && !defined(__CYGWIN__)
int len = 0;
int i = 0;
xmlChar *p = NULL;
@@ -2357,11 +2398,30 @@ xmlCanonicPath(const xmlChar *path)
if (path == NULL)
return(NULL);
+
+#if defined(_WIN32)
+ /*
+ * We must not change the backslashes to slashes if the the path
+ * starts with \\?\
+ * Those paths can be up to 32k characters long.
+ * Was added specifically for OpenOffice, those paths can't be converted
+ * to URIs anyway.
+ */
+ if ((path[0] == '\\') && (path[1] == '\\') && (path[2] == '?') &&
+ (path[3] == '\\') )
+ return xmlStrdup((const xmlChar *) path);
+#endif
+
+ /* sanitize filename starting with // so it can be used as URI */
+ if ((path[0] == '/') && (path[1] == '/') && (path[2] != '/'))
+ path++;
+
if ((uri = xmlParseURI((const char *) path)) != NULL) {
xmlFreeURI(uri);
return xmlStrdup(path);
}
+ /* Check if this is an "absolute uri" */
absuri = xmlStrstr(path, BAD_CAST "://");
if (absuri != NULL) {
int l, j;
@@ -2370,47 +2430,55 @@ xmlCanonicPath(const xmlChar *path)
/*
* this looks like an URI where some parts have not been
- * escaped leading to a parsing problem check that the first
+ * escaped leading to a parsing problem. Check that the first
* part matches a protocol.
*/
l = absuri - path;
+ /* Bypass if first part (part before the '://') is > 20 chars */
if ((l <= 0) || (l > 20))
goto path_processing;
+ /* Bypass if any non-alpha characters are present in first part */
for (j = 0;j < l;j++) {
c = path[j];
if (!(((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z'))))
goto path_processing;
}
+ /* Escape all except the characters specified in the supplied path */
escURI = xmlURIEscapeStr(path, BAD_CAST ":/?_.#&;=");
if (escURI != NULL) {
+ /* Try parsing the escaped path */
uri = xmlParseURI((const char *) escURI);
+ /* If successful, return the escaped string */
if (uri != NULL) {
xmlFreeURI(uri);
return escURI;
}
- xmlFreeURI(uri);
}
}
path_processing:
-#if defined(_WIN32) && !defined(__CYGWIN__)
+/* For Windows implementations, replace backslashes with 'forward slashes' */
+#if defined(_WIN32) && !defined(__CYGWIN__)
/*
- * This really need to be cleaned up by someone with a Windows box
+ * Create a URI structure
*/
uri = xmlCreateURI();
- if (uri == NULL) {
+ if (uri == NULL) { /* Guard against 'out of memory' */
return(NULL);
}
len = xmlStrlen(path);
if ((len > 2) && IS_WINDOWS_PATH(path)) {
+ /* make the scheme 'file' */
uri->scheme = xmlStrdup(BAD_CAST "file");
+ /* allocate space for leading '/' + path + string terminator */
uri->path = xmlMallocAtomic(len + 2);
if (uri->path == NULL) {
- xmlFreeURI(uri);
+ xmlFreeURI(uri); /* Guard agains 'out of memory' */
return(NULL);
}
+ /* Put in leading '/' plus path */
uri->path[0] = '/';
p = uri->path + 1;
strncpy(p, path, len + 1);
@@ -2422,18 +2490,15 @@ path_processing:
}
p = uri->path;
}
+ /* Now change all occurences of '\' to '/' */
while (*p != '\0') {
if (*p == '\\')
*p = '/';
p++;
}
- if (uri->path == NULL) {
- xmlFreeURI(uri);
- return(NULL);
- }
if (uri->scheme == NULL) {
- ret = xmlStrdup((const xmlChar *) path);
+ ret = xmlStrdup((const xmlChar *) uri->path);
} else {
ret = xmlSaveUri(uri);
}
@@ -2451,7 +2516,7 @@ path_processing:
*
* Constructs an URI expressing the existing path
*
- * Returns a new URI, or a duplicate of the path parameter if the
+ * Returns a new URI, or a duplicate of the path parameter if the
* construction fails. The caller is responsible for freeing the memory
* occupied by the returned string. If there is insufficient memory available,
* or the argument is NULL, the function returns NULL.
@@ -2473,6 +2538,24 @@ xmlPathToURI(const xmlChar *path)
cal = xmlCanonicPath(path);
if (cal == NULL)
return(NULL);
+#if defined(_WIN32) && !defined(__CYGWIN__)
+ /* xmlCanonicPath can return an URI on Windows (is that the intended behaviour?)
+ If 'cal' is a valid URI allready then we are done here, as continuing would make
+ it invalid. */
+ if ((uri = xmlParseURI((const char *) cal)) != NULL) {
+ xmlFreeURI(uri);
+ return cal;
+ }
+ /* 'cal' can contain a relative path with backslashes. If that is processed
+ by xmlSaveURI, they will be escaped and the external entity loader machinery
+ will fail. So convert them to slashes. Misuse 'ret' for walking. */
+ ret = cal;
+ while (*ret != '\0') {
+ if (*ret == '\\')
+ *ret = '/';
+ ret++;
+ }
+#endif
memset(&temp, 0, sizeof(temp));
temp.path = (char *) cal;
ret = xmlSaveUri(&temp);
diff --git a/gettext-tools/gnulib-lib/libxml/uri.in.h b/gettext-tools/gnulib-lib/libxml/uri.in.h
index 5e29671..db48262 100644
--- a/gettext-tools/gnulib-lib/libxml/uri.in.h
+++ b/gettext-tools/gnulib-lib/libxml/uri.in.h
@@ -23,6 +23,10 @@ extern "C" {
*
* A parsed URI reference. This is a struct containing the various fields
* as described in RFC 2396 but separated for further processing.
+ *
+ * Note: query is a deprecated field which is incorrectly unescaped.
+ * query_raw takes precedence over query if the former is set.
+ * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
*/
typedef struct _xmlURI xmlURI;
typedef xmlURI *xmlURIPtr;
@@ -34,9 +38,10 @@ struct _xmlURI {
char *user; /* the user part */
int port; /* the port number */
char *path; /* the path string */
- char *query; /* the query string */
+ char *query; /* the query string (deprecated - use with caution) */
char *fragment; /* the fragment identifier */
int cleanup; /* parsing potentially unclean URI */
+ char *query_raw; /* the query string (as it appears in the URI) */
};
/*
@@ -44,43 +49,43 @@ struct _xmlURI {
* xmlChar * xmlNodeGetBase (xmlDocPtr doc,
* xmlNodePtr cur);
*/
-XMLPUBFUN xmlURIPtr XMLCALL
+XMLPUBFUN xmlURIPtr XMLCALL
xmlCreateURI (void);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlBuildURI (const xmlChar *URI,
- const xmlChar *base);
-XMLPUBFUN xmlChar * XMLCALL
+ const xmlChar *base);
+XMLPUBFUN xmlChar * XMLCALL
xmlBuildRelativeURI (const xmlChar *URI,
- const xmlChar *base);
-XMLPUBFUN xmlURIPtr XMLCALL
+ const xmlChar *base);
+XMLPUBFUN xmlURIPtr XMLCALL
xmlParseURI (const char *str);
-XMLPUBFUN xmlURIPtr XMLCALL
+XMLPUBFUN xmlURIPtr XMLCALL
xmlParseURIRaw (const char *str,
int raw);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParseURIReference (xmlURIPtr uri,
const char *str);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlSaveUri (xmlURIPtr uri);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlPrintURI (FILE *stream,
xmlURIPtr uri);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlURIEscapeStr (const xmlChar *str,
- const xmlChar *list);
-XMLPUBFUN char * XMLCALL
+ const xmlChar *list);
+XMLPUBFUN char * XMLCALL
xmlURIUnescapeString (const char *str,
int len,
char *target);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlNormalizeURIPath (char *path);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlURIEscape (const xmlChar *str);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeURI (xmlURIPtr uri);
-XMLPUBFUN xmlChar* XMLCALL
+XMLPUBFUN xmlChar* XMLCALL
xmlCanonicPath (const xmlChar *path);
-XMLPUBFUN xmlChar* XMLCALL
+XMLPUBFUN xmlChar* XMLCALL
xmlPathToURI (const xmlChar *path);
#ifdef __cplusplus
diff --git a/gettext-tools/gnulib-lib/libxml/valid.c b/gettext-tools/gnulib-lib/libxml/valid.c
index a239e68..45a3f70 100644
--- a/gettext-tools/gnulib-lib/libxml/valid.c
+++ b/gettext-tools/gnulib-lib/libxml/valid.c
@@ -31,11 +31,16 @@ static xmlElementPtr xmlGetDtdElementDesc2(xmlDtdPtr dtd, const xmlChar *name,
/* #define DEBUG_VALID_ALGO */
/* #define DEBUG_REGEXP_ALGO */
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
+#ifdef LIBXML_VALID_ENABLED
+static int
+xmlValidateAttributeValueInternal(xmlDocPtr doc, xmlAttributeType type,
+ const xmlChar *value);
+#endif
/************************************************************************
* *
* Error handling routines *
@@ -117,7 +122,7 @@ xmlErrValid(xmlValidCtxtPtr ctxt, xmlParserErrors error,
__xmlRaiseError(NULL, channel, data,
pctxt, NULL, XML_FROM_VALID, error,
XML_ERR_ERROR, NULL, 0, NULL, NULL, NULL, 0, 0,
- msg);
+ "%s", msg);
}
#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
@@ -296,7 +301,7 @@ vstateVPush(xmlValidCtxtPtr ctxt, xmlElementPtr elemDecl, xmlNodePtr node) {
if (elemDecl->contModel == NULL)
xmlValidBuildContentModel(ctxt, elemDecl);
if (elemDecl->contModel != NULL) {
- ctxt->vstateTab[ctxt->vstateNr].exec =
+ ctxt->vstateTab[ctxt->vstateNr].exec =
xmlRegNewExecCtxt(elemDecl->contModel, NULL, NULL);
} else {
ctxt->vstateTab[ctxt->vstateNr].exec = NULL;
@@ -618,7 +623,7 @@ xmlValidStateDebug(xmlValidCtxtPtr ctxt) {
#define DEBUG_VALID_STATE(n,c) xmlValidStateDebug(ctxt);
#define DEBUG_VALID_MSG(m) \
xmlGenericError(xmlGenericErrorContext, "%s\n", m);
-
+
#else
#define DEBUG_VALID_STATE(n,c)
#define DEBUG_VALID_MSG(m)
@@ -632,8 +637,6 @@ xmlValidStateDebug(xmlValidCtxtPtr ctxt) {
else if ((doc->intSubset == NULL) && \
(doc->extSubset == NULL)) return(0)
-xmlAttributePtr xmlScanAttributeDecl(xmlDtdPtr dtd, const xmlChar *elem);
-
#ifdef LIBXML_REGEXP_ENABLED
/************************************************************************
@@ -673,7 +676,7 @@ xmlValidBuildAContentModel(xmlElementContentPtr content,
xmlAutomataStatePtr oldstate = ctxt->state;
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(content->name, content->prefix, fn, 50);
if (fullname == NULL) {
xmlVErrMemory(ctxt, "Building content model");
@@ -698,9 +701,9 @@ xmlValidBuildAContentModel(xmlElementContentPtr content,
break;
case XML_ELEMENT_CONTENT_MULT:
ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
- ctxt->state, NULL);
+ ctxt->state, NULL);
xmlAutomataNewTransition(ctxt->am,
- ctxt->state, ctxt->state, fullname, NULL);
+ ctxt->state, ctxt->state, fullname, NULL);
break;
}
if ((fullname != fn) && (fullname != content->name))
@@ -749,7 +752,7 @@ xmlValidBuildAContentModel(xmlElementContentPtr content,
xmlElementContentOccur ocur;
ocur = content->ocur;
- if ((ocur == XML_ELEMENT_CONTENT_PLUS) ||
+ if ((ocur == XML_ELEMENT_CONTENT_PLUS) ||
(ocur == XML_ELEMENT_CONTENT_MULT)) {
ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
ctxt->state, NULL);
@@ -941,7 +944,7 @@ xmlNewDocElementContent(xmlDocPtr doc, const xmlChar *name,
}
break;
default:
- xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"Internal: ELEMENT content corrupted invalid type\n",
NULL);
return(NULL);
@@ -998,7 +1001,7 @@ xmlNewElementContent(const xmlChar *name, xmlElementContentType type) {
* @cur: An element content pointer.
*
* Build a copy of an element content description.
- *
+ *
* Returns the new xmlElementContentPtr or NULL in case of error.
*/
xmlElementContentPtr
@@ -1025,7 +1028,7 @@ xmlCopyDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) {
else
ret->name = xmlStrdup(cur->name);
}
-
+
if (cur->prefix != NULL) {
if (dict)
ret->prefix = xmlDictLookup(dict, cur->prefix, -1);
@@ -1055,7 +1058,7 @@ xmlCopyDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) {
else
tmp->name = xmlStrdup(cur->name);
}
-
+
if (cur->prefix != NULL) {
if (dict)
tmp->prefix = xmlDictLookup(dict, cur->prefix, -1);
@@ -1079,7 +1082,7 @@ xmlCopyDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) {
*
* Build a copy of an element content description.
* Deprecated, use xmlCopyDocElementContent instead
- *
+ *
* Returns the new xmlElementContentPtr or NULL in case of error.
*/
xmlElementContentPtr
@@ -1111,7 +1114,7 @@ xmlFreeDocElementContent(xmlDocPtr doc, xmlElementContentPtr cur) {
case XML_ELEMENT_CONTENT_OR:
break;
default:
- xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"Internal: ELEMENT content corrupted invalid type\n",
NULL);
return;
@@ -1197,7 +1200,7 @@ xmlDumpElementContent(xmlBufferPtr buf, xmlElementContentPtr content, int glob)
xmlDumpElementContent(buf, content->c2, 0);
break;
default:
- xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"Internal: ELEMENT content corrupted invalid type\n",
NULL);
}
@@ -1394,7 +1397,7 @@ xmlAddElementDecl(xmlValidCtxtPtr ctxt,
switch (type) {
case XML_ELEMENT_TYPE_EMPTY:
if (content != NULL) {
- xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
"xmlAddElementDecl: content != NULL for EMPTY\n",
NULL);
return(NULL);
@@ -1402,7 +1405,7 @@ xmlAddElementDecl(xmlValidCtxtPtr ctxt,
break;
case XML_ELEMENT_TYPE_ANY:
if (content != NULL) {
- xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
"xmlAddElementDecl: content != NULL for ANY\n",
NULL);
return(NULL);
@@ -1410,7 +1413,7 @@ xmlAddElementDecl(xmlValidCtxtPtr ctxt,
break;
case XML_ELEMENT_TYPE_MIXED:
if (content == NULL) {
- xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
"xmlAddElementDecl: content == NULL for MIXED\n",
NULL);
return(NULL);
@@ -1418,14 +1421,14 @@ xmlAddElementDecl(xmlValidCtxtPtr ctxt,
break;
case XML_ELEMENT_TYPE_ELEMENT:
if (content == NULL) {
- xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
"xmlAddElementDecl: content == NULL for ELEMENT\n",
NULL);
return(NULL);
}
break;
default:
- xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
"Internal: ELEMENT decl corrupted invalid type\n",
NULL);
return(NULL);
@@ -1605,7 +1608,7 @@ xmlFreeElementTable(xmlElementTablePtr table) {
* @elem: An element
*
* Build a copy of an element.
- *
+ *
* Returns the new xmlElementPtr or NULL in case of error.
*/
static xmlElementPtr
@@ -1639,7 +1642,7 @@ xmlCopyElement(xmlElementPtr elem) {
* @table: An element table
*
* Build a copy of an element table.
- *
+ *
* Returns the new xmlElementTablePtr or NULL in case of error.
*/
xmlElementTablePtr
@@ -1704,7 +1707,7 @@ xmlDumpElementDecl(xmlBufferPtr buf, xmlElementPtr elem) {
xmlBufferWriteChar(buf, ">\n");
break;
default:
- xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"Internal: ELEMENT struct corrupted invalid type\n",
NULL);
}
@@ -1795,6 +1798,7 @@ xmlCopyEnumeration(xmlEnumerationPtr cur) {
if (cur == NULL) return(NULL);
ret = xmlCreateEnumeration((xmlChar *) cur->name);
+ if (ret == NULL) return(NULL);
if (cur->next != NULL) ret->next = xmlCopyEnumeration(cur->next);
else ret->next = NULL;
@@ -1815,7 +1819,7 @@ static void
xmlDumpEnumeration(xmlBufferPtr buf, xmlEnumerationPtr cur) {
if ((buf == NULL) || (cur == NULL))
return;
-
+
xmlBufferWriteCHAR(buf, cur->name);
if (cur->next == NULL)
xmlBufferWriteChar(buf, ")");
@@ -1828,53 +1832,6 @@ xmlDumpEnumeration(xmlBufferPtr buf, xmlEnumerationPtr cur) {
#ifdef LIBXML_VALID_ENABLED
/**
- * xmlScanAttributeDeclCallback:
- * @attr: the attribute decl
- * @list: the list to update
- *
- * Callback called by xmlScanAttributeDecl when a new attribute
- * has to be entered in the list.
- */
-static void
-xmlScanAttributeDeclCallback(xmlAttributePtr attr, xmlAttributePtr *list,
- const xmlChar* name ATTRIBUTE_UNUSED) {
- attr->nexth = *list;
- *list = attr;
-}
-
-/**
- * xmlScanAttributeDecl:
- * @dtd: pointer to the DTD
- * @elem: the element name
- *
- * When inserting a new element scan the DtD for existing attributes
- * for that element and initialize the Attribute chain
- *
- * Returns the pointer to the first attribute decl in the chain,
- * possibly NULL.
- */
-xmlAttributePtr
-xmlScanAttributeDecl(xmlDtdPtr dtd, const xmlChar *elem) {
- xmlAttributePtr ret = NULL;
- xmlAttributeTablePtr table;
-
- if (dtd == NULL) {
- return(NULL);
- }
- if (elem == NULL) {
- return(NULL);
- }
- table = (xmlAttributeTablePtr) dtd->attributes;
- if (table == NULL)
- return(NULL);
-
- /* WRONG !!! */
- xmlHashScan3(table, NULL, NULL, elem,
- (xmlHashScanner) xmlScanAttributeDeclCallback, &ret);
- return(ret);
-}
-
-/**
* xmlScanIDAttributeDecl:
* @ctxt: the validation context
* @elem: the element name
@@ -2017,14 +1974,14 @@ xmlAddAttributeDecl(xmlValidCtxtPtr ctxt,
case XML_ATTRIBUTE_NOTATION:
break;
default:
- xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(ctxt, XML_ERR_INTERNAL_ERROR,
"Internal: ATTRIBUTE struct corrupted invalid type\n",
NULL);
xmlFreeEnumeration(tree);
return(NULL);
}
- if ((defaultValue != NULL) &&
- (!xmlValidateAttributeValue(type, defaultValue))) {
+ if ((defaultValue != NULL) &&
+ (!xmlValidateAttributeValueInternal(dtd->doc, type, defaultValue))) {
xmlErrValidNode(ctxt, (xmlNodePtr) dtd, XML_DTD_ATTRIBUTE_DEFAULT,
"Attribute %s of %s: invalid default value\n",
elem, name, defaultValue);
@@ -2042,8 +1999,10 @@ xmlAddAttributeDecl(xmlValidCtxtPtr ctxt,
(dtd->doc->intSubset != NULL) &&
(dtd->doc->intSubset->attributes != NULL)) {
ret = xmlHashLookup3(dtd->doc->intSubset->attributes, name, ns, elem);
- if (ret != NULL)
+ if (ret != NULL) {
+ xmlFreeEnumeration(tree);
return(NULL);
+ }
}
/*
@@ -2057,6 +2016,7 @@ xmlAddAttributeDecl(xmlValidCtxtPtr ctxt,
if (table == NULL) {
xmlVErrMemory(ctxt,
"xmlAddAttributeDecl: Table creation failed!\n");
+ xmlFreeEnumeration(tree);
return(NULL);
}
@@ -2064,6 +2024,7 @@ xmlAddAttributeDecl(xmlValidCtxtPtr ctxt,
ret = (xmlAttributePtr) xmlMalloc(sizeof(xmlAttribute));
if (ret == NULL) {
xmlVErrMemory(ctxt, "malloc failed");
+ xmlFreeEnumeration(tree);
return(NULL);
}
memset(ret, 0, sizeof(xmlAttribute));
@@ -2193,7 +2154,7 @@ xmlFreeAttributeTable(xmlAttributeTablePtr table) {
* @attr: An attribute
*
* Build a copy of an attribute.
- *
+ *
* Returns the new xmlAttributePtr or NULL in case of error.
*/
static xmlAttributePtr
@@ -2226,7 +2187,7 @@ xmlCopyAttribute(xmlAttributePtr attr) {
* @table: An attribute table
*
* Build a copy of an attribute table.
- *
+ *
* Returns the new xmlAttributeTablePtr or NULL in case of error.
*/
xmlAttributeTablePtr
@@ -2291,7 +2252,7 @@ xmlDumpAttributeDecl(xmlBufferPtr buf, xmlAttributePtr attr) {
xmlDumpEnumeration(buf, attr->tree);
break;
default:
- xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"Internal: ATTRIBUTE struct corrupted invalid type\n",
NULL);
}
@@ -2308,7 +2269,7 @@ xmlDumpAttributeDecl(xmlBufferPtr buf, xmlAttributePtr attr) {
xmlBufferWriteChar(buf, " #FIXED");
break;
default:
- xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"Internal: ATTRIBUTE struct corrupted invalid def\n",
NULL);
}
@@ -2438,7 +2399,7 @@ xmlAddNotationDecl(xmlValidCtxtPtr ctxt, xmlDtdPtr dtd,
*/
if (xmlHashAddEntry(table, name, ret)) {
#ifdef LIBXML_VALID_ENABLED
- xmlErrValid(NULL, XML_DTD_NOTATION_REDEFINED,
+ xmlErrValid(NULL, XML_DTD_NOTATION_REDEFINED,
"xmlAddNotationDecl: %s already defined\n",
(const char *) name);
#endif /* LIBXML_VALID_ENABLED */
@@ -2465,7 +2426,7 @@ xmlFreeNotationTable(xmlNotationTablePtr table) {
* @nota: A notation
*
* Build a copy of a notation.
- *
+ *
* Returns the new xmlNotationPtr or NULL in case of error.
*/
static xmlNotationPtr
@@ -2497,7 +2458,7 @@ xmlCopyNotation(xmlNotationPtr nota) {
* @table: A notation table
*
* Build a copy of a notation table.
- *
+ *
* Returns the new xmlNotationTablePtr or NULL in case of error.
*/
xmlNotationTablePtr
@@ -2575,7 +2536,7 @@ xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) {
* current scope
*/
#define DICT_FREE(str) \
- if ((str) && ((!dict) || \
+ if ((str) && ((!dict) || \
(xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
xmlFree((char *)(str));
@@ -2613,7 +2574,7 @@ xmlFreeID(xmlIDPtr id) {
*
* Returns NULL if not, otherwise the new xmlIDPtr
*/
-xmlIDPtr
+xmlIDPtr
xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value,
xmlAttrPtr attr) {
xmlIDPtr ret;
@@ -2673,10 +2634,9 @@ xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value,
/*
* The id is already defined in this DTD.
*/
- if ((ctxt != NULL) && (ctxt->error != NULL)) {
+ if (ctxt != NULL) {
xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED,
- "ID %s already defined\n",
- value, NULL, NULL);
+ "ID %s already defined\n", value, NULL, NULL);
}
#endif /* LIBXML_VALID_ENABLED */
xmlFreeID(ret);
@@ -2719,14 +2679,15 @@ xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
(!strcmp((char *) attr->ns->prefix, "xml")))
return(1);
if (doc == NULL) return(0);
- if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) {
+ if ((doc->intSubset == NULL) && (doc->extSubset == NULL) &&
+ (doc->type != XML_HTML_DOCUMENT_NODE)) {
return(0);
} else if (doc->type == XML_HTML_DOCUMENT_NODE) {
if ((xmlStrEqual(BAD_CAST "id", attr->name)) ||
((xmlStrEqual(BAD_CAST "name", attr->name)) &&
- ((elem == NULL) || (!xmlStrEqual(elem->name, BAD_CAST "input")))))
+ ((elem == NULL) || (xmlStrEqual(elem->name, BAD_CAST "a")))))
return(1);
- return(0);
+ return(0);
} else if (elem == NULL) {
return(0);
} else {
@@ -2779,23 +2740,24 @@ xmlRemoveID(xmlDocPtr doc, xmlAttrPtr attr) {
if (doc == NULL) return(-1);
if (attr == NULL) return(-1);
+
table = (xmlIDTablePtr) doc->ids;
- if (table == NULL)
+ if (table == NULL)
return(-1);
- if (attr == NULL)
- return(-1);
ID = xmlNodeListGetString(doc, attr->children, 1);
if (ID == NULL)
- return(-1);
+ return(-1);
+
id = xmlHashLookup(table, ID);
if (id == NULL || id->attr != attr) {
- xmlFree(ID);
- return(-1);
+ xmlFree(ID);
+ return(-1);
}
+
xmlHashRemoveEntry(table, ID, (xmlHashDeallocator) xmlFreeID);
xmlFree(ID);
- attr->atype = 0;
+ attr->atype = 0;
return(0);
}
@@ -2808,7 +2770,7 @@ xmlRemoveID(xmlDocPtr doc, xmlAttrPtr attr) {
*
* Returns NULL if not found, otherwise the xmlAttrPtr defining the ID
*/
-xmlAttrPtr
+xmlAttrPtr
xmlGetID(xmlDocPtr doc, const xmlChar *ID) {
xmlIDTablePtr table;
xmlIDPtr id;
@@ -2822,7 +2784,7 @@ xmlGetID(xmlDocPtr doc, const xmlChar *ID) {
}
table = (xmlIDTablePtr) doc->ids;
- if (table == NULL)
+ if (table == NULL)
return(NULL);
id = xmlHashLookup(table, ID);
@@ -2843,7 +2805,7 @@ xmlGetID(xmlDocPtr doc, const xmlChar *ID) {
* Refs *
* *
************************************************************************/
-typedef struct xmlRemoveMemo_t
+typedef struct xmlRemoveMemo_t
{
xmlListPtr l;
xmlAttrPtr ap;
@@ -2851,7 +2813,7 @@ typedef struct xmlRemoveMemo_t
typedef xmlRemoveMemo *xmlRemoveMemoPtr;
-typedef struct xmlValidateMemo_t
+typedef struct xmlValidateMemo_t
{
xmlValidCtxtPtr ctxt;
const xmlChar *name;
@@ -2934,7 +2896,7 @@ xmlDummyCompare(const void *data0 ATTRIBUTE_UNUSED,
*
* Returns NULL if not, otherwise the new xmlRefPtr
*/
-xmlRefPtr
+xmlRefPtr
xmlAddRef(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value,
xmlAttrPtr attr) {
xmlRefPtr ret;
@@ -2998,19 +2960,32 @@ xmlAddRef(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value,
xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"xmlAddRef: Reference list creation failed!\n",
NULL);
- return(NULL);
+ goto failed;
}
if (xmlHashAddEntry(table, value, ref_list) < 0) {
xmlListDelete(ref_list);
xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
"xmlAddRef: Reference list insertion failed!\n",
NULL);
- return(NULL);
+ goto failed;
}
}
-/* xmlListInsert(ref_list, ret); */
- xmlListAppend(ref_list, ret);
+ if (xmlListAppend(ref_list, ret) != 0) {
+ xmlErrValid(NULL, XML_ERR_INTERNAL_ERROR,
+ "xmlAddRef: Reference list insertion failed!\n",
+ NULL);
+ goto failed;
+ }
return(ret);
+failed:
+ if (ret != NULL) {
+ if (ret->value != NULL)
+ xmlFree((char *)ret->value);
+ if (ret->name != NULL)
+ xmlFree((char *)ret->name);
+ xmlFree(ret);
+ }
+ return(NULL);
}
/**
@@ -3049,7 +3024,7 @@ xmlIsRef(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
return(0);
} else if (doc->type == XML_HTML_DOCUMENT_NODE) {
/* TODO @@@ */
- return(0);
+ return(0);
} else {
xmlAttributePtr attrDecl;
@@ -3085,21 +3060,21 @@ xmlRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) {
if (doc == NULL) return(-1);
if (attr == NULL) return(-1);
+
table = (xmlRefTablePtr) doc->refs;
- if (table == NULL)
+ if (table == NULL)
return(-1);
- if (attr == NULL)
- return(-1);
ID = xmlNodeListGetString(doc, attr->children, 1);
if (ID == NULL)
return(-1);
- ref_list = xmlHashLookup(table, ID);
+ ref_list = xmlHashLookup(table, ID);
if(ref_list == NULL) {
xmlFree(ID);
return (-1);
}
+
/* At this point, ref_list refers to a list of references which
* have the same key as the supplied attr. Our list of references
* is ordered by reference address and we don't have that information
@@ -3112,7 +3087,7 @@ xmlRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) {
*/
target.l = ref_list;
target.ap = attr;
-
+
/* Remove the supplied attr from our list */
xmlListWalk(ref_list, xmlWalkRemoveRef, &target);
@@ -3129,11 +3104,11 @@ xmlRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) {
* @doc: pointer to the document
* @ID: the ID value
*
- * Find the set of references for the supplied ID.
+ * Find the set of references for the supplied ID.
*
* Returns NULL if not found, otherwise node set for the ID.
*/
-xmlListPtr
+xmlListPtr
xmlGetRefs(xmlDocPtr doc, const xmlChar *ID) {
xmlRefTablePtr table;
@@ -3146,7 +3121,7 @@ xmlGetRefs(xmlDocPtr doc, const xmlChar *ID) {
}
table = (xmlRefTablePtr) doc->refs;
- if (table == NULL)
+ if (table == NULL)
return(NULL);
return (xmlHashLookup(table, ID));
@@ -3211,7 +3186,7 @@ xmlGetDtdElementDesc2(xmlDtdPtr dtd, const xmlChar *name, int create) {
if (dtd->doc != NULL)
dict = dtd->doc->dict;
- if (!create)
+ if (!create)
return(NULL);
/*
* Create the Element table if needed.
@@ -3377,7 +3352,8 @@ int
xmlValidateNotationUse(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
const xmlChar *notationName) {
xmlNotationPtr notaDecl;
- if ((doc == NULL) || (doc->intSubset == NULL)) return(-1);
+ if ((doc == NULL) || (doc->intSubset == NULL) ||
+ (notationName == NULL)) return(-1);
notaDecl = xmlGetDtdNotationDesc(doc->intSubset, notationName);
if ((notaDecl == NULL) && (doc->extSubset != NULL))
@@ -3432,8 +3408,78 @@ xmlIsMixedElement(xmlDocPtr doc, const xmlChar *name) {
}
#ifdef LIBXML_VALID_ENABLED
+
+static int
+xmlIsDocNameStartChar(xmlDocPtr doc, int c) {
+ if ((doc == NULL) || (doc->properties & XML_DOC_OLD10) == 0) {
+ /*
+ * Use the new checks of production [4] [4a] amd [5] of the
+ * Update 5 of XML-1.0
+ */
+ if (((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z')) ||
+ (c == '_') || (c == ':') ||
+ ((c >= 0xC0) && (c <= 0xD6)) ||
+ ((c >= 0xD8) && (c <= 0xF6)) ||
+ ((c >= 0xF8) && (c <= 0x2FF)) ||
+ ((c >= 0x370) && (c <= 0x37D)) ||
+ ((c >= 0x37F) && (c <= 0x1FFF)) ||
+ ((c >= 0x200C) && (c <= 0x200D)) ||
+ ((c >= 0x2070) && (c <= 0x218F)) ||
+ ((c >= 0x2C00) && (c <= 0x2FEF)) ||
+ ((c >= 0x3001) && (c <= 0xD7FF)) ||
+ ((c >= 0xF900) && (c <= 0xFDCF)) ||
+ ((c >= 0xFDF0) && (c <= 0xFFFD)) ||
+ ((c >= 0x10000) && (c <= 0xEFFFF)))
+ return(1);
+ } else {
+ if (IS_LETTER(c) || (c == '_') || (c == ':'))
+ return(1);
+ }
+ return(0);
+}
+
+static int
+xmlIsDocNameChar(xmlDocPtr doc, int c) {
+ if ((doc == NULL) || (doc->properties & XML_DOC_OLD10) == 0) {
+ /*
+ * Use the new checks of production [4] [4a] amd [5] of the
+ * Update 5 of XML-1.0
+ */
+ if (((c >= 'a') && (c <= 'z')) ||
+ ((c >= 'A') && (c <= 'Z')) ||
+ ((c >= '0') && (c <= '9')) || /* !start */
+ (c == '_') || (c == ':') ||
+ (c == '-') || (c == '.') || (c == 0xB7) || /* !start */
+ ((c >= 0xC0) && (c <= 0xD6)) ||
+ ((c >= 0xD8) && (c <= 0xF6)) ||
+ ((c >= 0xF8) && (c <= 0x2FF)) ||
+ ((c >= 0x300) && (c <= 0x36F)) || /* !start */
+ ((c >= 0x370) && (c <= 0x37D)) ||
+ ((c >= 0x37F) && (c <= 0x1FFF)) ||
+ ((c >= 0x200C) && (c <= 0x200D)) ||
+ ((c >= 0x203F) && (c <= 0x2040)) || /* !start */
+ ((c >= 0x2070) && (c <= 0x218F)) ||
+ ((c >= 0x2C00) && (c <= 0x2FEF)) ||
+ ((c >= 0x3001) && (c <= 0xD7FF)) ||
+ ((c >= 0xF900) && (c <= 0xFDCF)) ||
+ ((c >= 0xFDF0) && (c <= 0xFFFD)) ||
+ ((c >= 0x10000) && (c <= 0xEFFFF)))
+ return(1);
+ } else {
+ if ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
+ (c == '.') || (c == '-') ||
+ (c == '_') || (c == ':') ||
+ (IS_COMBINING(c)) ||
+ (IS_EXTENDER(c)))
+ return(1);
+ }
+ return(0);
+}
+
/**
* xmlValidateNameValue:
+ * @doc: pointer to the document or NULL
* @value: an Name value
*
* Validate that the given value match Name production
@@ -3441,8 +3487,8 @@ xmlIsMixedElement(xmlDocPtr doc, const xmlChar *name) {
* returns 1 if valid or 0 otherwise
*/
-int
-xmlValidateNameValue(const xmlChar *value) {
+static int
+xmlValidateNameValueInternal(xmlDocPtr doc, const xmlChar *value) {
const xmlChar *cur;
int val, len;
@@ -3450,18 +3496,12 @@ xmlValidateNameValue(const xmlChar *value) {
cur = value;
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
- if (!IS_LETTER(val) && (val != '_') &&
- (val != ':')) {
+ if (!xmlIsDocNameStartChar(doc, val))
return(0);
- }
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
- while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
- (val == '.') || (val == '-') ||
- (val == '_') || (val == ':') ||
- (IS_COMBINING(val)) ||
- (IS_EXTENDER(val))) {
+ while (xmlIsDocNameChar(doc, val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
@@ -3472,7 +3512,22 @@ xmlValidateNameValue(const xmlChar *value) {
}
/**
- * xmlValidateNamesValue:
+ * xmlValidateNameValue:
+ * @value: an Name value
+ *
+ * Validate that the given value match Name production
+ *
+ * returns 1 if valid or 0 otherwise
+ */
+
+int
+xmlValidateNameValue(const xmlChar *value) {
+ return(xmlValidateNameValueInternal(NULL, value));
+}
+
+/**
+ * xmlValidateNamesValueInternal:
+ * @doc: pointer to the document or NULL
* @value: an Names value
*
* Validate that the given value match Names production
@@ -3480,8 +3535,8 @@ xmlValidateNameValue(const xmlChar *value) {
* returns 1 if valid or 0 otherwise
*/
-int
-xmlValidateNamesValue(const xmlChar *value) {
+static int
+xmlValidateNamesValueInternal(xmlDocPtr doc, const xmlChar *value) {
const xmlChar *cur;
int val, len;
@@ -3489,19 +3544,13 @@ xmlValidateNamesValue(const xmlChar *value) {
cur = value;
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
-
- if (!IS_LETTER(val) && (val != '_') &&
- (val != ':')) {
+
+ if (!xmlIsDocNameStartChar(doc, val))
return(0);
- }
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
- while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
- (val == '.') || (val == '-') ||
- (val == '_') || (val == ':') ||
- (IS_COMBINING(val)) ||
- (IS_EXTENDER(val))) {
+ while (xmlIsDocNameChar(doc, val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
@@ -3513,18 +3562,13 @@ xmlValidateNamesValue(const xmlChar *value) {
cur += len;
}
- if (!IS_LETTER(val) && (val != '_') &&
- (val != ':')) {
+ if (!xmlIsDocNameStartChar(doc, val))
return(0);
- }
+
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
- while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
- (val == '.') || (val == '-') ||
- (val == '_') || (val == ':') ||
- (IS_COMBINING(val)) ||
- (IS_EXTENDER(val))) {
+ while (xmlIsDocNameChar(doc, val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
@@ -3536,18 +3580,33 @@ xmlValidateNamesValue(const xmlChar *value) {
}
/**
- * xmlValidateNmtokenValue:
+ * xmlValidateNamesValue:
+ * @value: an Names value
+ *
+ * Validate that the given value match Names production
+ *
+ * returns 1 if valid or 0 otherwise
+ */
+
+int
+xmlValidateNamesValue(const xmlChar *value) {
+ return(xmlValidateNamesValueInternal(NULL, value));
+}
+
+/**
+ * xmlValidateNmtokenValueInternal:
+ * @doc: pointer to the document or NULL
* @value: an Nmtoken value
*
* Validate that the given value match Nmtoken production
*
* [ VC: Name Token ]
- *
+ *
* returns 1 if valid or 0 otherwise
*/
-int
-xmlValidateNmtokenValue(const xmlChar *value) {
+static int
+xmlValidateNmtokenValueInternal(xmlDocPtr doc, const xmlChar *value) {
const xmlChar *cur;
int val, len;
@@ -3555,19 +3614,13 @@ xmlValidateNmtokenValue(const xmlChar *value) {
cur = value;
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
-
- if (!IS_LETTER(val) && !IS_DIGIT(val) &&
- (val != '.') && (val != '-') &&
- (val != '_') && (val != ':') &&
- (!IS_COMBINING(val)) &&
- (!IS_EXTENDER(val)))
+
+ if (!xmlIsDocNameChar(doc, val))
return(0);
- while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
- (val == '.') || (val == '-') ||
- (val == '_') || (val == ':') ||
- (IS_COMBINING(val)) ||
- (IS_EXTENDER(val))) {
+ val = xmlStringCurrentChar(NULL, cur, &len);
+ cur += len;
+ while (xmlIsDocNameChar(doc, val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
@@ -3578,18 +3631,35 @@ xmlValidateNmtokenValue(const xmlChar *value) {
}
/**
- * xmlValidateNmtokensValue:
+ * xmlValidateNmtokenValue:
+ * @value: an Nmtoken value
+ *
+ * Validate that the given value match Nmtoken production
+ *
+ * [ VC: Name Token ]
+ *
+ * returns 1 if valid or 0 otherwise
+ */
+
+int
+xmlValidateNmtokenValue(const xmlChar *value) {
+ return(xmlValidateNmtokenValueInternal(NULL, value));
+}
+
+/**
+ * xmlValidateNmtokensValueInternal:
+ * @doc: pointer to the document or NULL
* @value: an Nmtokens value
*
* Validate that the given value match Nmtokens production
*
* [ VC: Name Token ]
- *
+ *
* returns 1 if valid or 0 otherwise
*/
-int
-xmlValidateNmtokensValue(const xmlChar *value) {
+static int
+xmlValidateNmtokensValueInternal(xmlDocPtr doc, const xmlChar *value) {
const xmlChar *cur;
int val, len;
@@ -3597,24 +3667,16 @@ xmlValidateNmtokensValue(const xmlChar *value) {
cur = value;
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
-
+
while (IS_BLANK(val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
- if (!IS_LETTER(val) && !IS_DIGIT(val) &&
- (val != '.') && (val != '-') &&
- (val != '_') && (val != ':') &&
- (!IS_COMBINING(val)) &&
- (!IS_EXTENDER(val)))
+ if (!xmlIsDocNameChar(doc, val))
return(0);
- while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
- (val == '.') || (val == '-') ||
- (val == '_') || (val == ':') ||
- (IS_COMBINING(val)) ||
- (IS_EXTENDER(val))) {
+ while (xmlIsDocNameChar(doc, val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
@@ -3627,18 +3689,13 @@ xmlValidateNmtokensValue(const xmlChar *value) {
}
if (val == 0) return(1);
- if (!IS_LETTER(val) && !IS_DIGIT(val) &&
- (val != '.') && (val != '-') &&
- (val != '_') && (val != ':') &&
- (!IS_COMBINING(val)) &&
- (!IS_EXTENDER(val)))
+ if (!xmlIsDocNameChar(doc, val))
return(0);
- while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
- (val == '.') || (val == '-') ||
- (val == '_') || (val == ':') ||
- (IS_COMBINING(val)) ||
- (IS_EXTENDER(val))) {
+ val = xmlStringCurrentChar(NULL, cur, &len);
+ cur += len;
+
+ while (xmlIsDocNameChar(doc, val)) {
val = xmlStringCurrentChar(NULL, cur, &len);
cur += len;
}
@@ -3650,6 +3707,22 @@ xmlValidateNmtokensValue(const xmlChar *value) {
}
/**
+ * xmlValidateNmtokensValue:
+ * @value: an Nmtokens value
+ *
+ * Validate that the given value match Nmtokens production
+ *
+ * [ VC: Name Token ]
+ *
+ * returns 1 if valid or 0 otherwise
+ */
+
+int
+xmlValidateNmtokensValue(const xmlChar *value) {
+ return(xmlValidateNmtokensValueInternal(NULL, value));
+}
+
+/**
* xmlValidateNotationDecl:
* @ctxt: the validation context
* @doc: a document instance
@@ -3673,6 +3746,40 @@ xmlValidateNotationDecl(xmlValidCtxtPtr ctxt ATTRIBUTE_UNUSED, xmlDocPtr doc ATT
}
/**
+ * xmlValidateAttributeValueInternal:
+ * @doc: the document
+ * @type: an attribute type
+ * @value: an attribute value
+ *
+ * Validate that the given attribute value match the proper production
+ *
+ * returns 1 if valid or 0 otherwise
+ */
+
+static int
+xmlValidateAttributeValueInternal(xmlDocPtr doc, xmlAttributeType type,
+ const xmlChar *value) {
+ switch (type) {
+ case XML_ATTRIBUTE_ENTITIES:
+ case XML_ATTRIBUTE_IDREFS:
+ return(xmlValidateNamesValueInternal(doc, value));
+ case XML_ATTRIBUTE_ENTITY:
+ case XML_ATTRIBUTE_IDREF:
+ case XML_ATTRIBUTE_ID:
+ case XML_ATTRIBUTE_NOTATION:
+ return(xmlValidateNameValueInternal(doc, value));
+ case XML_ATTRIBUTE_NMTOKENS:
+ case XML_ATTRIBUTE_ENUMERATION:
+ return(xmlValidateNmtokensValueInternal(doc, value));
+ case XML_ATTRIBUTE_NMTOKEN:
+ return(xmlValidateNmtokenValueInternal(doc, value));
+ case XML_ATTRIBUTE_CDATA:
+ break;
+ }
+ return(1);
+}
+
+/**
* xmlValidateAttributeValue:
* @type: an attribute type
* @value: an attribute value
@@ -3692,31 +3799,13 @@ xmlValidateNotationDecl(xmlValidCtxtPtr ctxt ATTRIBUTE_UNUSED, xmlDocPtr doc ATT
*
* [ VC: Name Token ]
* Values of type NMTOKEN must match the Nmtoken production; values
- * of type NMTOKENS must match Nmtokens.
+ * of type NMTOKENS must match Nmtokens.
*
* returns 1 if valid or 0 otherwise
*/
-
int
xmlValidateAttributeValue(xmlAttributeType type, const xmlChar *value) {
- switch (type) {
- case XML_ATTRIBUTE_ENTITIES:
- case XML_ATTRIBUTE_IDREFS:
- return(xmlValidateNamesValue(value));
- case XML_ATTRIBUTE_ENTITY:
- case XML_ATTRIBUTE_IDREF:
- case XML_ATTRIBUTE_ID:
- case XML_ATTRIBUTE_NOTATION:
- return(xmlValidateNameValue(value));
- case XML_ATTRIBUTE_NMTOKENS:
- case XML_ATTRIBUTE_ENUMERATION:
- return(xmlValidateNmtokensValue(value));
- case XML_ATTRIBUTE_NMTOKEN:
- return(xmlValidateNmtokenValue(value));
- case XML_ATTRIBUTE_CDATA:
- break;
- }
- return(1);
+ return(xmlValidateAttributeValueInternal(NULL, type, value));
}
/**
@@ -3769,7 +3858,7 @@ xmlValidateAttributeValue2(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
if ((ent == NULL) && (doc->standalone == 1)) {
doc->standalone = 0;
ent = xmlGetDocEntity(doc, value);
- }
+ }
if (ent == NULL) {
xmlErrValidNode(ctxt, (xmlNodePtr) doc,
XML_DTD_UNKNOWN_ENTITY,
@@ -3880,7 +3969,7 @@ xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(elem->name, elem->ns->prefix, fn, 50);
if (fullname == NULL)
return(NULL);
@@ -3965,13 +4054,10 @@ xmlValidNormalizeAttributeValue(xmlDocPtr doc, xmlNodePtr elem,
if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(elem->name, elem->ns->prefix, fn, 50);
if (fullname == NULL)
return(NULL);
- attrDecl = xmlGetDtdAttrDesc(doc->intSubset, fullname, name);
- if ((attrDecl == NULL) && (doc->extSubset != NULL))
- attrDecl = xmlGetDtdAttrDesc(doc->extSubset, fullname, name);
if ((fullname != fn) && (fullname != elem->name))
xmlFree(fullname);
}
@@ -4034,11 +4120,12 @@ xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
int val;
CHECK_DTD;
if(attr == NULL) return(1);
-
+
/* Attribute Default Legal */
/* Enumeration */
if (attr->defaultValue != NULL) {
- val = xmlValidateAttributeValue(attr->atype, attr->defaultValue);
+ val = xmlValidateAttributeValueInternal(doc, attr->atype,
+ attr->defaultValue);
if (val == 0) {
xmlErrValidNode(ctxt, (xmlNodePtr) attr, XML_DTD_ATTRIBUTE_DEFAULT,
"Syntax of default value for attribute %s of %s is not valid\n",
@@ -4081,7 +4168,7 @@ xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
}
}
if (nbId > 1) {
-
+
xmlErrValidNodeNr(ctxt, (xmlNodePtr) attr, XML_DTD_ID_SUBSET,
"Element %s has %d ID attribute defined in the internal subset : %s\n",
attr->elem, nbId, attr->name);
@@ -4144,7 +4231,7 @@ xmlValidateElementDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
xmlElementPtr tst;
CHECK_DTD;
-
+
if (elem == NULL) return(1);
#if 0
@@ -4169,15 +4256,15 @@ xmlValidateElementDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
while (next != NULL) {
if (next->type == XML_ELEMENT_CONTENT_ELEMENT) {
if ((xmlStrEqual(next->name, name)) &&
- (xmlStrEqual(next->prefix, cur->prefix))) {
- if (cur->prefix == NULL) {
+ (xmlStrEqual(next->prefix, cur->c1->prefix))) {
+ if (cur->c1->prefix == NULL) {
xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR,
"Definition of %s has duplicate references of %s\n",
elem->name, name, NULL);
} else {
xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR,
"Definition of %s has duplicate references of %s:%s\n",
- elem->name, cur->prefix, name);
+ elem->name, cur->c1->prefix, name);
}
ret = 0;
}
@@ -4186,15 +4273,15 @@ xmlValidateElementDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
if (next->c1 == NULL) break;
if (next->c1->type != XML_ELEMENT_CONTENT_ELEMENT) break;
if ((xmlStrEqual(next->c1->name, name)) &&
- (xmlStrEqual(next->c1->prefix, cur->prefix))) {
- if (cur->prefix == NULL) {
+ (xmlStrEqual(next->c1->prefix, cur->c1->prefix))) {
+ if (cur->c1->prefix == NULL) {
xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR,
"Definition of %s has duplicate references to %s\n",
elem->name, name, NULL);
} else {
xmlErrValidNode(ctxt, (xmlNodePtr) elem, XML_DTD_CONTENT_ERROR,
"Definition of %s has duplicate references to %s:%s\n",
- elem->name, cur->prefix, name);
+ elem->name, cur->c1->prefix, name);
}
ret = 0;
}
@@ -4261,7 +4348,7 @@ xmlValidateElementDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
int
xmlValidateOneAttribute(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
- xmlNodePtr elem, xmlAttrPtr attr, const xmlChar *value)
+ xmlNodePtr elem, xmlAttrPtr attr, const xmlChar *value)
{
xmlAttributePtr attrDecl = NULL;
int val;
@@ -4274,7 +4361,7 @@ xmlValidateOneAttribute(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
if ((elem->ns != NULL) && (elem->ns->prefix != NULL)) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(elem->name, elem->ns->prefix, fn, 50);
if (fullname == NULL)
return(0);
@@ -4319,7 +4406,7 @@ xmlValidateOneAttribute(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
}
attr->atype = attrDecl->atype;
- val = xmlValidateAttributeValue(attrDecl->atype, value);
+ val = xmlValidateAttributeValueInternal(doc, attrDecl->atype, value);
if (val == 0) {
xmlErrValidNode(ctxt, elem, XML_DTD_ATTRIBUTE_VALUE,
"Syntax of value for attribute %s of %s is not valid\n",
@@ -4358,7 +4445,7 @@ xmlValidateOneAttribute(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
nota = xmlGetDtdNotationDesc(doc->intSubset, value);
if (nota == NULL)
nota = xmlGetDtdNotationDesc(doc->extSubset, value);
-
+
if (nota == NULL) {
xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_NOTATION,
"Value \"%s\" for attribute %s of %s is not a declared Notation\n",
@@ -4451,7 +4538,7 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) {
if (prefix != NULL) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(elem->name, prefix, fn, 50);
if (fullname == NULL) {
xmlVErrMemory(ctxt, "Validating namespace");
@@ -4504,7 +4591,7 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) {
return(0);
}
- val = xmlValidateAttributeValue(attrDecl->atype, value);
+ val = xmlValidateAttributeValueInternal(doc, attrDecl->atype, value);
if (val == 0) {
if (ns->prefix != NULL) {
xmlErrValidNode(ctxt, elem, XML_DTD_INVALID_DEFAULT,
@@ -4555,7 +4642,7 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) {
nota = xmlGetDtdNotationDesc(doc->intSubset, value);
if (nota == NULL)
nota = xmlGetDtdNotationDesc(doc->extSubset, value);
-
+
if (nota == NULL) {
if (ns->prefix != NULL) {
xmlErrValidNode(ctxt, elem, XML_DTD_UNKNOWN_NOTATION,
@@ -4691,7 +4778,7 @@ xmlValidateElementType(xmlValidCtxtPtr ctxt) {
NODE = xmlValidateSkipIgnorable(NODE);
if ((NODE == NULL) && (CONT == NULL))
return(1);
- if ((NODE == NULL) &&
+ if ((NODE == NULL) &&
((CONT->ocur == XML_ELEMENT_CONTENT_MULT) ||
(CONT->ocur == XML_ELEMENT_CONTENT_OPT))) {
return(1);
@@ -5150,7 +5237,7 @@ xmlValidateElementContent(xmlValidCtxtPtr ctxt, xmlNodePtr child,
xmlElementContentPtr cont;
const xmlChar *name;
- if (elemDecl == NULL)
+ if ((elemDecl == NULL) || (parent == NULL) || (ctxt == NULL))
return(-1);
cont = elemDecl->content;
name = elemDecl->name;
@@ -5200,7 +5287,7 @@ xmlValidateElementContent(xmlValidCtxtPtr ctxt, xmlNodePtr child,
if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(cur->name,
cur->ns->prefix, fn, 50);
if (fullname == NULL) {
@@ -5314,7 +5401,7 @@ fail:
last = tmp;
}
if (cur->type == XML_CDATA_SECTION_NODE) {
- /*
+ /*
* E59 spaces in CDATA does not match the
* nonterminal S
*/
@@ -5431,7 +5518,8 @@ xmlValidateOneCdataElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
int ret = 1;
xmlNodePtr cur, child;
- if ((ctxt == NULL) || (doc == NULL) || (elem == NULL))
+ if ((ctxt == NULL) || (doc == NULL) || (elem == NULL) ||
+ (elem->type != XML_ELEMENT_NODE))
return(0);
child = elem->children;
@@ -5512,7 +5600,7 @@ xmlValidateCheckMixed(xmlValidCtxtPtr ctxt,
} else if ((cont->type != XML_ELEMENT_CONTENT_OR) ||
(cont->c1 == NULL) ||
(cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)){
- xmlErrValid(NULL, XML_DTD_MIXED_CORRUPT,
+ xmlErrValid(NULL, XML_DTD_MIXED_CORRUPT,
"Internal: MIXED struct corrupted\n",
NULL);
break;
@@ -5536,7 +5624,7 @@ xmlValidateCheckMixed(xmlValidCtxtPtr ctxt,
} else if ((cont->type != XML_ELEMENT_CONTENT_OR) ||
(cont->c1 == NULL) ||
(cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)){
- xmlErrValid(ctxt, XML_DTD_MIXED_CORRUPT,
+ xmlErrValid(ctxt, XML_DTD_MIXED_CORRUPT,
"Internal: MIXED struct corrupted\n",
NULL);
break;
@@ -5565,7 +5653,7 @@ xmlValidGetElemDecl(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
xmlElementPtr elemDecl = NULL;
const xmlChar *prefix = NULL;
- if ((ctxt == NULL) || (doc == NULL) ||
+ if ((ctxt == NULL) || (doc == NULL) ||
(elem == NULL) || (elem->name == NULL))
return(NULL);
if (extsubset != NULL)
@@ -5709,7 +5797,7 @@ xmlValidatePushElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
* xmlValidatePushCData:
* @ctxt: the validation context
* @data: some character data read
- * @len: the lenght of the data
+ * @len: the length of the data
*
* check the CData parsed for validation in the current stack
*
@@ -5931,7 +6019,7 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
return(0);
/*
- * If vstateNr is not zero that means continuous validation is
+ * If vstateNr is not zero that means continuous validation is
* activated, do not try to check the content model at that level.
*/
if (ctxt->vstateNr == 0) {
@@ -5974,7 +6062,7 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
if ((child->ns != NULL) && (child->ns->prefix != NULL)) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(child->name, child->ns->prefix,
fn, 50);
if (fullname == NULL)
@@ -5992,7 +6080,7 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
} else if ((cont->type != XML_ELEMENT_CONTENT_OR) ||
(cont->c1 == NULL) ||
(cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)){
- xmlErrValid(NULL, XML_DTD_MIXED_CORRUPT,
+ xmlErrValid(NULL, XML_DTD_MIXED_CORRUPT,
"Internal: MIXED struct corrupted\n",
NULL);
break;
@@ -6015,7 +6103,7 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
} else if ((cont->type != XML_ELEMENT_CONTENT_OR) ||
(cont->c1 == NULL) ||
(cont->c1->type != XML_ELEMENT_CONTENT_PCDATA)) {
- xmlErrValid(ctxt, XML_DTD_MIXED_CORRUPT,
+ xmlErrValid(ctxt, XML_DTD_MIXED_CORRUPT,
"Internal: MIXED struct corrupted\n",
NULL);
break;
@@ -6095,7 +6183,7 @@ child_ok:
}
} else {
xmlAttrPtr attrib;
-
+
attrib = elem->properties;
while (attrib != NULL) {
if (xmlStrEqual(attrib->name, attr->name)) {
@@ -6110,18 +6198,18 @@ child_ok:
* allow to define the URI instead of the prefix :-(
*/
if (nameSpace == NULL) {
- if (qualified < 0)
+ if (qualified < 0)
qualified = 0;
} else if (!xmlStrEqual(nameSpace->prefix,
attr->prefix)) {
- if (qualified < 1)
+ if (qualified < 1)
qualified = 1;
} else
goto found;
} else {
/*
* We should allow applications to define namespaces
- * for their application even if the DTD doesn't
+ * for their application even if the DTD doesn't
* carry one, otherwise, basically we would always
* break.
*/
@@ -6194,7 +6282,7 @@ child_ok:
}
}
}
-found:
+found:
attr = attr->nexth;
}
return(ret);
@@ -6241,7 +6329,7 @@ xmlValidateRoot(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
if ((root->ns != NULL) && (root->ns->prefix != NULL)) {
xmlChar fn[50];
xmlChar *fullname;
-
+
fullname = xmlBuildQName(root->name, root->ns->prefix, fn, 50);
if (fullname == NULL) {
xmlVErrMemory(ctxt, NULL);
@@ -6252,7 +6340,7 @@ xmlValidateRoot(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
xmlFree(fullname);
if (ret == 1)
goto name_ok;
- }
+ }
if ((xmlStrEqual(doc->intSubset->name, BAD_CAST "HTML")) &&
(xmlStrEqual(root->name, BAD_CAST "html")))
goto name_ok;
@@ -6273,7 +6361,7 @@ name_ok:
* @doc: a document instance
* @elem: an element instance
*
- * Try to validate the subtree under an element
+ * Try to validate the subtree under an element
*
* returns 1 if valid or 0 otherwise
*/
@@ -6293,7 +6381,8 @@ xmlValidateElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr elem) {
* they don't really mean anything validation wise.
*/
if ((elem->type == XML_XINCLUDE_START) ||
- (elem->type == XML_XINCLUDE_END))
+ (elem->type == XML_XINCLUDE_END) ||
+ (elem->type == XML_NAMESPACE_DECL))
return(1);
CHECK_DTD;
@@ -6452,7 +6541,7 @@ xmlValidateCheckRefCallback(xmlListPtr ref_list, xmlValidCtxtPtr ctxt,
memo.name = name;
xmlListWalk(ref_list, xmlWalkValidateList, &memo);
-
+
}
/**
@@ -6464,7 +6553,7 @@ xmlValidateCheckRefCallback(xmlListPtr ref_list, xmlValidCtxtPtr ctxt,
* incremental validation steps have been completed
*
* basically it does the following checks described by the XML Rec
- *
+ *
* Check all the IDREF/IDREFS attributes definition for validity
*
* returns 1 if valid or 0 otherwise
@@ -6473,15 +6562,20 @@ xmlValidateCheckRefCallback(xmlListPtr ref_list, xmlValidCtxtPtr ctxt,
int
xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
xmlRefTablePtr table;
+ unsigned int save;
if (ctxt == NULL)
return(0);
if (doc == NULL) {
- xmlErrValid(ctxt, XML_DTD_NO_DOC,
+ xmlErrValid(ctxt, XML_DTD_NO_DOC,
"xmlValidateDocumentFinal: doc == NULL\n", NULL);
return(0);
}
+ /* trick to get correct line id report */
+ save = ctxt->finishDtd;
+ ctxt->finishDtd = 0;
+
/*
* Check all the NOTATION/NOTATIONS attributes
*/
@@ -6495,6 +6589,8 @@ xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
ctxt->doc = doc;
ctxt->valid = 1;
xmlHashScan(table, (xmlHashScanner) xmlValidateCheckRefCallback, ctxt);
+
+ ctxt->finishDtd = save;
return(ctxt->valid);
}
@@ -6589,7 +6685,7 @@ xmlValidateAttributeCallback(xmlAttributePtr cur, xmlValidCtxtPtr ctxt,
case XML_ATTRIBUTE_ENTITIES:
case XML_ATTRIBUTE_NOTATION:
if (cur->defaultValue != NULL) {
-
+
ret = xmlValidateAttributeValue2(ctxt, ctxt->doc, cur->name,
cur->atype, cur->defaultValue);
if ((ret == 0) && (ctxt->valid == 1))
@@ -6646,9 +6742,9 @@ xmlValidateAttributeCallback(xmlAttributePtr cur, xmlValidCtxtPtr ctxt,
* subsets have been parsed
*
* basically it does the following checks described by the XML Rec
- * - check that ENTITY and ENTITIES type attributes default or
+ * - check that ENTITY and ENTITIES type attributes default or
* possible values matches one of the defined entities.
- * - check that NOTATION type attributes default or
+ * - check that NOTATION type attributes default or
* possible values matches one of the defined notations.
*
* returns 1 if valid or 0 if invalid and -1 if not well-formed
@@ -6660,7 +6756,7 @@ xmlValidateDtdFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
xmlAttributeTablePtr table;
xmlEntitiesTablePtr entities;
- if (doc == NULL) return(0);
+ if ((doc == NULL) || (ctxt == NULL)) return(0);
if ((doc->intSubset == NULL) && (doc->extSubset == NULL))
return(0);
ctxt->doc = doc;
@@ -6719,7 +6815,7 @@ xmlValidateDocument(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
xmlChar *sysID;
if (doc->intSubset->SystemID != NULL) {
sysID = xmlBuildURI(doc->intSubset->SystemID,
- doc->URL);
+ doc->URL);
if (sysID == NULL) {
xmlErrValid(ctxt, XML_DTD_LOAD_ERROR,
"Could not build URI for external subset \"%s\"\n",
@@ -6792,17 +6888,17 @@ xmlValidGetPotentialChildren(xmlElementContent *ctree,
if (*len >= max) return(*len);
switch (ctree->type) {
- case XML_ELEMENT_CONTENT_PCDATA:
+ case XML_ELEMENT_CONTENT_PCDATA:
for (i = 0; i < *len;i++)
if (xmlStrEqual(BAD_CAST "#PCDATA", names[i])) return(*len);
names[(*len)++] = BAD_CAST "#PCDATA";
break;
- case XML_ELEMENT_CONTENT_ELEMENT:
+ case XML_ELEMENT_CONTENT_ELEMENT:
for (i = 0; i < *len;i++)
if (xmlStrEqual(ctree->name, names[i])) return(*len);
names[(*len)++] = ctree->name;
break;
- case XML_ELEMENT_CONTENT_SEQ:
+ case XML_ELEMENT_CONTENT_SEQ:
xmlValidGetPotentialChildren(ctree->c1, names, len, max);
xmlValidGetPotentialChildren(ctree->c2, names, len, max);
break;
@@ -6811,7 +6907,7 @@ xmlValidGetPotentialChildren(xmlElementContent *ctree,
xmlValidGetPotentialChildren(ctree->c2, names, len, max);
break;
}
-
+
return(*len);
}
@@ -6853,19 +6949,19 @@ xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names,
int max) {
xmlValidCtxt vctxt;
int nb_valid_elements = 0;
- const xmlChar *elements[256];
+ const xmlChar *elements[256]={0};
int nb_elements = 0, i;
const xmlChar *name;
-
+
xmlNode *ref_node;
xmlNode *parent;
xmlNode *test_node;
-
+
xmlNode *prev_next;
xmlNode *next_prev;
xmlNode *parent_childs;
xmlNode *parent_last;
-
+
xmlElement *element_desc;
if (prev == NULL && next == NULL)
@@ -6890,7 +6986,7 @@ xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names,
element_desc = xmlGetDtdElementDesc(parent->doc->extSubset,
parent->name);
if (element_desc == NULL) return(-1);
-
+
/*
* Do a backup of the current tree structure
*/
@@ -6901,16 +6997,19 @@ xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names,
/*
* Creates a dummy node and insert it into the tree
- */
+ */
test_node = xmlNewDocNode (ref_node->doc, NULL, BAD_CAST "<!dummy?>", NULL);
+ if (test_node == NULL)
+ return(-1);
+
test_node->parent = parent;
test_node->prev = prev;
test_node->next = next;
name = test_node->name;
-
+
if (prev) prev->next = test_node;
else parent->children = test_node;
-
+
if (next) next->prev = test_node;
else parent->last = test_node;
@@ -6920,7 +7019,7 @@ xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names,
*/
nb_elements = xmlValidGetPotentialChildren(element_desc->content,
elements, &nb_elements, 256);
-
+
for (i = 0;i < nb_elements;i++) {
test_node->name = elements[i];
if (xmlValidateOneElement(&vctxt, parent->doc, parent)) {
diff --git a/gettext-tools/gnulib-lib/libxml/valid.in.h b/gettext-tools/gnulib-lib/libxml/valid.in.h
index 7492d28..2bc7b38 100644
--- a/gettext-tools/gnulib-lib/libxml/valid.in.h
+++ b/gettext-tools/gnulib-lib/libxml/valid.in.h
@@ -41,7 +41,7 @@ typedef xmlValidState *xmlValidStatePtr;
*/
typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
const char *msg,
- ...);
+ ...) LIBXML_ATTR_FORMAT(2,3);
/**
* xmlValidityWarningFunc:
@@ -56,7 +56,7 @@ typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
*/
typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
const char *msg,
- ...);
+ ...) LIBXML_ATTR_FORMAT(2,3);
#ifdef IN_LIBXML
/**
@@ -150,55 +150,55 @@ typedef struct _xmlHashTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;
/* Notation */
-XMLPUBFUN xmlNotationPtr XMLCALL
+XMLPUBFUN xmlNotationPtr XMLCALL
xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
xmlDtdPtr dtd,
const xmlChar *name,
const xmlChar *PublicID,
const xmlChar *SystemID);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlNotationTablePtr XMLCALL
+XMLPUBFUN xmlNotationTablePtr XMLCALL
xmlCopyNotationTable (xmlNotationTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeNotationTable (xmlNotationTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpNotationDecl (xmlBufferPtr buf,
xmlNotationPtr nota);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpNotationTable (xmlBufferPtr buf,
xmlNotationTablePtr table);
#endif /* LIBXML_OUTPUT_ENABLED */
/* Element Content */
/* the non Doc version are being deprecated */
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr XMLCALL
xmlNewElementContent (const xmlChar *name,
xmlElementContentType type);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr XMLCALL
xmlCopyElementContent (xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeElementContent (xmlElementContentPtr cur);
/* the new versions with doc argument */
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr XMLCALL
xmlNewDocElementContent (xmlDocPtr doc,
const xmlChar *name,
xmlElementContentType type);
-XMLPUBFUN xmlElementContentPtr XMLCALL
+XMLPUBFUN xmlElementContentPtr XMLCALL
xmlCopyDocElementContent(xmlDocPtr doc,
xmlElementContentPtr content);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeDocElementContent(xmlDocPtr doc,
xmlElementContentPtr cur);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSnprintfElementContent(char *buf,
int size,
xmlElementContentPtr content,
int englob);
#ifdef LIBXML_OUTPUT_ENABLED
/* DEPRECATED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSprintfElementContent(char *buf,
xmlElementContentPtr content,
int englob);
@@ -206,39 +206,39 @@ XMLPUBFUN void XMLCALL
/* DEPRECATED */
/* Element */
-XMLPUBFUN xmlElementPtr XMLCALL
+XMLPUBFUN xmlElementPtr XMLCALL
xmlAddElementDecl (xmlValidCtxtPtr ctxt,
xmlDtdPtr dtd,
const xmlChar *name,
xmlElementTypeVal type,
xmlElementContentPtr content);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlElementTablePtr XMLCALL
+XMLPUBFUN xmlElementTablePtr XMLCALL
xmlCopyElementTable (xmlElementTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeElementTable (xmlElementTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpElementTable (xmlBufferPtr buf,
xmlElementTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpElementDecl (xmlBufferPtr buf,
xmlElementPtr elem);
#endif /* LIBXML_OUTPUT_ENABLED */
/* Enumeration */
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XMLPUBFUN xmlEnumerationPtr XMLCALL
xmlCreateEnumeration (const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeEnumeration (xmlEnumerationPtr cur);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlEnumerationPtr XMLCALL
+XMLPUBFUN xmlEnumerationPtr XMLCALL
xmlCopyEnumeration (xmlEnumerationPtr cur);
#endif /* LIBXML_TREE_ENABLED */
/* Attribute */
-XMLPUBFUN xmlAttributePtr XMLCALL
+XMLPUBFUN xmlAttributePtr XMLCALL
xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
xmlDtdPtr dtd,
const xmlChar *elem,
@@ -249,55 +249,55 @@ XMLPUBFUN xmlAttributePtr XMLCALL
const xmlChar *defaultValue,
xmlEnumerationPtr tree);
#ifdef LIBXML_TREE_ENABLED
-XMLPUBFUN xmlAttributeTablePtr XMLCALL
+XMLPUBFUN xmlAttributeTablePtr XMLCALL
xmlCopyAttributeTable (xmlAttributeTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeAttributeTable (xmlAttributeTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpAttributeTable (xmlBufferPtr buf,
xmlAttributeTablePtr table);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlDumpAttributeDecl (xmlBufferPtr buf,
xmlAttributePtr attr);
#endif /* LIBXML_OUTPUT_ENABLED */
/* IDs */
-XMLPUBFUN xmlIDPtr XMLCALL
+XMLPUBFUN xmlIDPtr XMLCALL
xmlAddID (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
const xmlChar *value,
xmlAttrPtr attr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeIDTable (xmlIDTablePtr table);
-XMLPUBFUN xmlAttrPtr XMLCALL
+XMLPUBFUN xmlAttrPtr XMLCALL
xmlGetID (xmlDocPtr doc,
const xmlChar *ID);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlIsID (xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr);
-XMLPUBFUN int XMLCALL
- xmlRemoveID (xmlDocPtr doc,
+XMLPUBFUN int XMLCALL
+ xmlRemoveID (xmlDocPtr doc,
xmlAttrPtr attr);
/* IDREFs */
-XMLPUBFUN xmlRefPtr XMLCALL
+XMLPUBFUN xmlRefPtr XMLCALL
xmlAddRef (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
const xmlChar *value,
xmlAttrPtr attr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeRefTable (xmlRefTablePtr table);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlIsRef (xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr);
-XMLPUBFUN int XMLCALL
- xmlRemoveRef (xmlDocPtr doc,
+XMLPUBFUN int XMLCALL
+ xmlRemoveRef (xmlDocPtr doc,
xmlAttrPtr attr);
-XMLPUBFUN xmlListPtr XMLCALL
+XMLPUBFUN xmlListPtr XMLCALL
xmlGetRefs (xmlDocPtr doc,
const xmlChar *ID);
@@ -306,146 +306,146 @@ XMLPUBFUN xmlListPtr XMLCALL
*/
#ifdef LIBXML_VALID_ENABLED
/* Allocate/Release Validation Contexts */
-XMLPUBFUN xmlValidCtxtPtr XMLCALL
+XMLPUBFUN xmlValidCtxtPtr XMLCALL
xmlNewValidCtxt(void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeValidCtxt(xmlValidCtxtPtr);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateRoot (xmlValidCtxtPtr ctxt,
xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlElementPtr elem);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlValidNormalizeAttributeValue(xmlDocPtr doc,
xmlNodePtr elem,
const xmlChar *name,
const xmlChar *value);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem,
const xmlChar *name,
const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlAttributePtr attr);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateAttributeValue(xmlAttributeType type,
const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNotationPtr nota);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateDtd (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlDtdPtr dtd);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateDocument (xmlValidCtxtPtr ctxt,
xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateElement (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateOneElement (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem,
xmlAttrPtr attr,
const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem,
const xmlChar *prefix,
xmlNsPtr ns,
const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
xmlDocPtr doc);
#endif /* LIBXML_VALID_ENABLED */
#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
const xmlChar *notationName);
#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlIsMixedElement (xmlDocPtr doc,
const xmlChar *name);
-XMLPUBFUN xmlAttributePtr XMLCALL
+XMLPUBFUN xmlAttributePtr XMLCALL
xmlGetDtdAttrDesc (xmlDtdPtr dtd,
const xmlChar *elem,
const xmlChar *name);
-XMLPUBFUN xmlAttributePtr XMLCALL
+XMLPUBFUN xmlAttributePtr XMLCALL
xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
const xmlChar *elem,
const xmlChar *name,
const xmlChar *prefix);
-XMLPUBFUN xmlNotationPtr XMLCALL
+XMLPUBFUN xmlNotationPtr XMLCALL
xmlGetDtdNotationDesc (xmlDtdPtr dtd,
const xmlChar *name);
-XMLPUBFUN xmlElementPtr XMLCALL
+XMLPUBFUN xmlElementPtr XMLCALL
xmlGetDtdQElementDesc (xmlDtdPtr dtd,
const xmlChar *name,
const xmlChar *prefix);
-XMLPUBFUN xmlElementPtr XMLCALL
+XMLPUBFUN xmlElementPtr XMLCALL
xmlGetDtdElementDesc (xmlDtdPtr dtd,
const xmlChar *name);
#ifdef LIBXML_VALID_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidGetPotentialChildren(xmlElementContent *ctree,
const xmlChar **names,
int *len,
int max);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidGetValidElements(xmlNode *prev,
xmlNode *next,
const xmlChar **names,
int max);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNameValue (const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNamesValue (const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNmtokenValue (const xmlChar *value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidateNmtokensValue(const xmlChar *value);
#ifdef LIBXML_REGEXP_ENABLED
/*
* Validation based on the regexp support
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
xmlElementPtr elem);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidatePushElement (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem,
const xmlChar *qname);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidatePushCData (xmlValidCtxtPtr ctxt,
const xmlChar *data,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlValidatePopElement (xmlValidCtxtPtr ctxt,
xmlDocPtr doc,
xmlNodePtr elem,
diff --git a/gettext-tools/gnulib-lib/libxml/xinclude.c b/gettext-tools/gnulib-lib/libxml/xinclude.c
index c58bbcf..ff3dafb 100644
--- a/gettext-tools/gnulib-lib/libxml/xinclude.c
+++ b/gettext-tools/gnulib-lib/libxml/xinclude.c
@@ -17,6 +17,7 @@
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/uri.h>
+#include <libxml/xpath.h>
#include <libxml/xpointer.h>
#include <libxml/parserInternals.h>
#include <libxml/xmlerror.h>
@@ -26,6 +27,7 @@
#ifdef LIBXML_XINCLUDE_ENABLED
#include <libxml/xinclude.h>
+#include "buf.h"
#define XINCLUDE_MAX_DEPTH 40
@@ -92,7 +94,7 @@ xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr tree);
/************************************************************************
* *
- * XInclude error handler *
+ * XInclude error handler *
* *
************************************************************************/
@@ -412,14 +414,13 @@ xmlXIncludeFreeContext(xmlXIncludeCtxtPtr ctxt) {
* xmlXIncludeParseFile:
* @ctxt: the XInclude context
* @URL: the URL or file path
- *
+ *
* parse a document for XInclude
*/
static xmlDocPtr
xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) {
xmlDocPtr ret;
xmlParserCtxtPtr pctxt;
- char *directory = NULL;
xmlParserInputPtr inputStream;
xmlInitParser();
@@ -434,20 +435,20 @@ xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) {
* pass in the application data to the parser context.
*/
pctxt->_private = ctxt->_private;
-
+
/*
* try to ensure that new documents included are actually
* built with the same dictionary as the including document.
*/
- if ((ctxt->doc != NULL) && (ctxt->doc->dict != NULL) &&
- (pctxt->dict != NULL)) {
- xmlDictFree(pctxt->dict);
+ if ((ctxt->doc != NULL) && (ctxt->doc->dict != NULL)) {
+ if (pctxt->dict != NULL)
+ xmlDictFree(pctxt->dict);
pctxt->dict = ctxt->doc->dict;
xmlDictReference(pctxt->dict);
}
xmlCtxtUseOptions(pctxt, ctxt->parseFlags | XML_PARSE_DTDLOAD);
-
+
inputStream = xmlLoadExternalEntity(URL, NULL, pctxt);
if (inputStream == NULL) {
xmlFreeParserCtxt(pctxt);
@@ -456,10 +457,8 @@ xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) {
inputPush(pctxt, inputStream);
- if ((pctxt->directory == NULL) && (directory == NULL))
- directory = xmlParserGetDirectory(URL);
- if ((pctxt->directory == NULL) && (directory != NULL))
- pctxt->directory = (char *) xmlStrdup((xmlChar *) directory);
+ if (pctxt->directory == NULL)
+ pctxt->directory = xmlParserGetDirectory(URL);
pctxt->loadsubset |= XML_DETECT_IDS;
@@ -475,7 +474,7 @@ xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) {
pctxt->myDoc = NULL;
}
xmlFreeParserCtxt(pctxt);
-
+
return(ret);
}
@@ -483,7 +482,7 @@ xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) {
* xmlXIncludeAddNode:
* @ctxt: the XInclude context
* @cur: the new node
- *
+ *
* Add a new node to process to an XInclude context
*/
static int
@@ -514,11 +513,10 @@ xmlXIncludeAddNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr cur) {
href = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_HREF);
if (href == NULL) {
href = xmlStrdup(BAD_CAST ""); /* @@@@ href is now optional */
- if (href == NULL)
+ if (href == NULL)
return(-1);
- local = 1;
}
- if (href[0] == '#')
+ if ((href[0] == '#') || (href[0] == 0))
local = 1;
parse = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE);
if (parse != NULL) {
@@ -617,6 +615,19 @@ xmlXIncludeAddNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr cur) {
}
/*
+ * If local and xml then we need a fragment
+ */
+ if ((local == 1) && (xml == 1) &&
+ ((fragment == NULL) || (fragment[0] == 0))) {
+ xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_RECURSION,
+ "detected a local recursion with no xpointer in %s\n",
+ URL);
+ if (fragment != NULL)
+ xmlFree(fragment);
+ return(-1);
+ }
+
+ /*
* Check the URL against the stack for recursions
*/
if ((!local) && (xml == 1)) {
@@ -646,7 +657,7 @@ xmlXIncludeAddNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr cur) {
* @ctxt: the XInclude context
* @doc: the new document
* @url: the associated URL
- *
+ *
* The XInclude recursive nature is handled at this point.
*/
static void
@@ -673,6 +684,10 @@ xmlXIncludeRecurseDoc(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc,
newctxt = xmlXIncludeNewContext(doc);
if (newctxt != NULL) {
/*
+ * Copy the private user data
+ */
+ newctxt->_private = ctxt->_private;
+ /*
* Copy the existing document set
*/
newctxt->incMax = ctxt->incMax;
@@ -736,7 +751,7 @@ xmlXIncludeRecurseDoc(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc,
* @ctxt: the XInclude context
* @txt: the new text node
* @url: the associated URL
- *
+ *
* Add a new txtument to the list
*/
static void
@@ -785,13 +800,17 @@ xmlXIncludeAddTxt(xmlXIncludeCtxtPtr ctxt, xmlNodePtr txt, const xmlURL url) {
* *
************************************************************************/
+static xmlNodePtr
+xmlXIncludeCopyNodeList(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
+ xmlDocPtr source, xmlNodePtr elem);
+
/**
* xmlXIncludeCopyNode:
* @ctxt: the XInclude context
* @target: the document target
* @source: the document source
* @elem: the element
- *
+ *
* Make a copy of the node while preserving the XInclude semantic
* of the Infoset copy
*/
@@ -805,7 +824,10 @@ xmlXIncludeCopyNode(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
return(NULL);
if (elem->type == XML_DTD_NODE)
return(NULL);
- result = xmlDocCopyNode(elem, target, 1);
+ if (elem->type == XML_DOCUMENT_NODE)
+ result = xmlXIncludeCopyNodeList(ctxt, target, source, elem->children);
+ else
+ result = xmlDocCopyNode(elem, target, 1);
return(result);
}
@@ -815,7 +837,7 @@ xmlXIncludeCopyNode(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
* @target: the document target
* @source: the document source
* @elem: the element list
- *
+ *
* Make a copy of the node list while preserving the XInclude semantic
* of the Infoset copy
*/
@@ -854,11 +876,11 @@ xmlXIncludeCopyNodeList(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
static xmlNodePtr
xmlXIncludeGetNthChild(xmlNodePtr cur, int no) {
int i;
- if (cur == NULL)
- return(cur);
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
+ return(NULL);
cur = cur->children;
for (i = 0;i <= no;cur = cur->next) {
- if (cur == NULL)
+ if (cur == NULL)
return(cur);
if ((cur->type == XML_ELEMENT_NODE) ||
(cur->type == XML_DOCUMENT_NODE) ||
@@ -902,11 +924,13 @@ xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
return(NULL);
start = (xmlNodePtr) range->user;
- if (start == NULL)
+ if ((start == NULL) || (start->type == XML_NAMESPACE_DECL))
return(NULL);
end = range->user2;
if (end == NULL)
return(xmlDocCopyNode(start, target, 1));
+ if (end->type == XML_NAMESPACE_DECL)
+ return(NULL);
cur = start;
index1 = range->index;
@@ -954,7 +978,6 @@ xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
if ((cur == start) && (index1 > 1)) {
content += (index1 - 1);
len -= (index1 - 1);
- index1 = 0;
} else {
len = index2;
}
@@ -966,7 +989,7 @@ xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
/* prune and return full set */
if (level == lastLevel)
xmlAddNextSibling(last, tmp);
- else
+ else
xmlAddChild(last, tmp);
return(list);
} else { /* ending node not a text node */
@@ -1185,6 +1208,7 @@ xmlXIncludeCopyXPointer(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
}
break;
}
+#ifdef LIBXML_XPTR_ENABLED
case XPATH_LOCATIONSET: {
xmlLocationSetPtr set = (xmlLocationSetPtr) obj->user;
if (set == NULL)
@@ -1204,7 +1228,6 @@ xmlXIncludeCopyXPointer(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
}
break;
}
-#ifdef LIBXML_XPTR_ENABLED
case XPATH_RANGE:
return(xmlXIncludeCopyRange(ctxt, target, source, obj));
#endif
@@ -1270,7 +1293,7 @@ xmlXIncludeMergeEntity(xmlEntityPtr ent, xmlXIncludeMergeDataPtr data,
if (prev != NULL) {
if (ent->etype != prev->etype)
goto error;
-
+
if ((ent->SystemID != NULL) && (prev->SystemID != NULL)) {
if (!xmlStrEqual(ent->SystemID, prev->SystemID))
goto error;
@@ -1370,7 +1393,7 @@ xmlXIncludeMergeEntities(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc,
* @ctxt: the XInclude context
* @url: the associated URL
* @nr: the xinclude node number
- *
+ *
* Load the document, and store the result in the XInclude context
*
* Returns 0 in case of success, -1 in case of failure
@@ -1394,7 +1417,7 @@ xmlXIncludeLoadDoc(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
*/
uri = xmlParseURI((const char *)url);
if (uri == NULL) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_HREF_URI,
"invalid value URI %s\n", url);
return(-1);
@@ -1412,7 +1435,7 @@ xmlXIncludeLoadDoc(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
xmlFreeURI(uri);
if (URL == NULL) {
if (ctxt->incTab != NULL)
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_HREF_URI,
"invalid value URI %s\n", url);
else
@@ -1531,7 +1554,7 @@ loaded:
ctxt->incTab[nr]->inc = xmlXIncludeCopyNodeList(ctxt, ctxt->doc,
doc, doc->children);
}
- }
+ }
#ifdef LIBXML_XPTR_ENABLED
else {
/*
@@ -1549,7 +1572,7 @@ loaded:
xptrctxt = xmlXPtrNewContext(doc, NULL, NULL);
}
if (xptrctxt == NULL) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_XPTR_FAILED,
"could not create XPointer context\n", NULL);
xmlFree(URL);
@@ -1575,7 +1598,7 @@ loaded:
case XPATH_POINT:
case XPATH_USERS:
case XPATH_XSLT_TREE:
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_XPTR_RESULT,
"XPointer is not a range: #%s\n",
fragment);
@@ -1602,6 +1625,7 @@ loaded:
if (set->nodeTab[i] == NULL)
continue;
switch (set->nodeTab[i]->type) {
+ case XML_ELEMENT_NODE:
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
case XML_ENTITY_REF_NODE:
@@ -1614,28 +1638,16 @@ loaded:
case XML_DOCB_DOCUMENT_NODE:
#endif
continue;
- case XML_ELEMENT_NODE: {
- xmlChar *nodeBase;
- xmlNodePtr el = set->nodeTab[i];
-
- nodeBase = xmlNodeGetBase(el->doc, el);
- if (nodeBase != NULL) {
- if (!xmlStrEqual(nodeBase, el->doc->URL))
- xmlNodeSetBase(el, nodeBase);
- xmlFree(nodeBase);
- }
- continue;
- }
case XML_ATTRIBUTE_NODE:
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_XPTR_RESULT,
"XPointer selects an attribute: #%s\n",
fragment);
set->nodeTab[i] = NULL;
continue;
case XML_NAMESPACE_DECL:
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_XPTR_RESULT,
"XPointer selects a namespace: #%s\n",
fragment);
@@ -1650,7 +1662,7 @@ loaded:
case XML_ENTITY_DECL:
case XML_XINCLUDE_START:
case XML_XINCLUDE_END:
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_XPTR_RESULT,
"XPointer selects unexpected nodes: #%s\n",
fragment);
@@ -1676,7 +1688,9 @@ loaded:
/*
* Do the xml:base fixup if needed
*/
- if ((doc != NULL) && (URL != NULL) && (xmlStrchr(URL, (xmlChar) '/'))) {
+ if ((doc != NULL) && (URL != NULL) &&
+ (!(ctxt->parseFlags & XML_PARSE_NOBASEFIX)) &&
+ (!(doc->parseFlags & XML_PARSE_NOBASEFIX))) {
xmlNodePtr node;
xmlChar *base;
xmlChar *curBase;
@@ -1694,7 +1708,7 @@ loaded:
*/
curBase = xmlBuildRelativeURI(URL, ctxt->base);
if (curBase == NULL) { /* Error return */
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_HREF_URI,
"trying to build relative URI from %s\n", URL);
} else {
@@ -1735,7 +1749,7 @@ loaded:
xmlChar *relBase;
relBase = xmlBuildURI(xmlBase, base);
if (relBase == NULL) { /* error */
- xmlXIncludeErr(ctxt,
+ xmlXIncludeErr(ctxt,
ctxt->incTab[nr]->ref,
XML_XINCLUDE_HREF_URI,
"trying to rebuild base from %s\n",
@@ -1772,7 +1786,7 @@ loaded:
* @ctxt: the XInclude context
* @url: the associated URL
* @nr: the xinclude node number
- *
+ *
* Load the content, and store the result in the XInclude context
*
* Returns 0 in case of success, -1 in case of failure
@@ -1786,6 +1800,9 @@ xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
int i;
xmlChar *encoding = NULL;
xmlCharEncoding enc = (xmlCharEncoding) 0;
+ xmlParserCtxtPtr pctxt;
+ xmlParserInputPtr inputStream;
+ int xinclude_multibyte_fallback_used = 0;
/*
* Check the URL and remove any fragment identifier
@@ -1816,7 +1833,7 @@ xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
* directly through ctxt->doc.
*/
if (URL[0] == 0) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_TEXT_DOCUMENT,
"text serialization of document not available\n", NULL);
xmlFree(URL);
@@ -1860,40 +1877,65 @@ xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
/*
* Load it.
*/
- buf = xmlParserInputBufferCreateFilename((const char *)URL, enc);
+ pctxt = xmlNewParserCtxt();
+ inputStream = xmlLoadExternalEntity((const char*)URL, NULL, pctxt);
+ if(inputStream == NULL) {
+ xmlFreeParserCtxt(pctxt);
+ xmlFree(URL);
+ return(-1);
+ }
+ buf = inputStream->buf;
if (buf == NULL) {
+ xmlFreeInputStream (inputStream);
+ xmlFreeParserCtxt(pctxt);
xmlFree(URL);
return(-1);
}
+ if (buf->encoder)
+ xmlCharEncCloseFunc(buf->encoder);
+ buf->encoder = xmlGetCharEncodingHandler(enc);
node = xmlNewText(NULL);
/*
* Scan all chars from the resource and add the to the node
*/
+xinclude_multibyte_fallback:
while (xmlParserInputBufferRead(buf, 128) > 0) {
int len;
const xmlChar *content;
- content = xmlBufferContent(buf->buffer);
- len = xmlBufferLength(buf->buffer);
+ content = xmlBufContent(buf->buffer);
+ len = xmlBufLength(buf->buffer);
for (i = 0;i < len;) {
int cur;
int l;
cur = xmlStringCurrentChar(NULL, &content[i], &l);
if (!IS_CHAR(cur)) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
- XML_XINCLUDE_INVALID_CHAR,
- "%s contains invalid char\n", URL);
+ /* Handle splitted multibyte char at buffer boundary */
+ if (((len - i) < 4) && (!xinclude_multibyte_fallback_used)) {
+ xinclude_multibyte_fallback_used = 1;
+ xmlBufShrink(buf->buffer, i);
+ goto xinclude_multibyte_fallback;
+ } else {
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ XML_XINCLUDE_INVALID_CHAR,
+ "%s contains invalid char\n", URL);
+ xmlFreeParserInputBuffer(buf);
+ xmlFree(URL);
+ return(-1);
+ }
} else {
+ xinclude_multibyte_fallback_used = 0;
xmlNodeAddContentLen(node, &content[i], l);
}
i += l;
}
- xmlBufferShrink(buf->buffer, len);
+ xmlBufShrink(buf->buffer, len);
}
- xmlFreeParserInputBuffer(buf);
+ xmlFreeParserCtxt(pctxt);
xmlXIncludeAddTxt(ctxt, node, URL);
+ xmlFreeInputStream(inputStream);
loaded:
/*
@@ -1909,7 +1951,7 @@ loaded:
* @ctxt: the XInclude context
* @fallback: the fallback node
* @nr: the xinclude node number
- *
+ *
* Load the content of the fallback node, and store the result
* in the XInclude context
*
@@ -1919,8 +1961,9 @@ static int
xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback, int nr) {
xmlXIncludeCtxtPtr newctxt;
int ret = 0;
-
- if ((fallback == NULL) || (ctxt == NULL))
+
+ if ((fallback == NULL) || (fallback->type == XML_NAMESPACE_DECL) ||
+ (ctxt == NULL))
return(-1);
if (fallback->children != NULL) {
/*
@@ -1930,6 +1973,7 @@ xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback, int nr) {
newctxt = xmlXIncludeNewContext(ctxt->doc);
if (newctxt == NULL)
return (-1);
+ newctxt->_private = ctxt->_private;
newctxt->base = xmlStrdup(ctxt->base); /* Inherit the base from the existing context */
xmlXIncludeSetFlags(newctxt, ctxt->parseFlags);
ret = xmlXIncludeDoProcess(newctxt, ctxt->doc, fallback->children);
@@ -2004,7 +2048,7 @@ xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) {
href = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_HREF);
if (href == NULL) {
href = xmlStrdup(BAD_CAST ""); /* @@@@ href is now optional */
- if (href == NULL)
+ if (href == NULL)
return(-1);
}
parse = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE);
@@ -2049,7 +2093,7 @@ xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) {
xmlFree(eschref);
}
if (URI == NULL) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_HREF_URI, "failed build URL\n", NULL);
if (parse != NULL)
xmlFree(parse);
@@ -2082,7 +2126,7 @@ xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) {
* Restore the original base before checking for fallback
*/
ctxt->base = oldBase;
-
+
if (ret < 0) {
xmlNodePtr children;
@@ -2100,14 +2144,14 @@ xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) {
((xmlStrEqual(children->ns->href, XINCLUDE_NS)) ||
(xmlStrEqual(children->ns->href, XINCLUDE_OLD_NS)))) {
ret = xmlXIncludeLoadFallback(ctxt, children, nr);
- if (ret == 0)
+ if (ret == 0)
break;
}
children = children->next;
}
}
if (ret < 0) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_NO_FALLBACK,
"could not load %s, and no fallback was found\n",
URI);
@@ -2145,7 +2189,7 @@ xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, int nr) {
if ((nr < 0) || (nr >= ctxt->incNr))
return(-1);
cur = ctxt->incTab[nr]->ref;
- if (cur == NULL)
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return(-1);
/*
@@ -2176,7 +2220,7 @@ xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, int nr) {
tmp = tmp->next;
}
if (nb_elem > 1) {
- xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+ xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
XML_XINCLUDE_MULTIPLE_ROOT,
"XInclude error: would result in multiple root nodes\n",
NULL);
@@ -2223,7 +2267,7 @@ xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, int nr) {
}
}
-
+
return(0);
}
@@ -2320,7 +2364,7 @@ xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr tree) {
int ret = 0;
int i, start;
- if ((doc == NULL) || (tree == NULL))
+ if ((doc == NULL) || (tree == NULL) || (tree->type == XML_NAMESPACE_DECL))
return(-1);
if (ctxt == NULL)
return(-1);
@@ -2415,7 +2459,43 @@ xmlXIncludeSetFlags(xmlXIncludeCtxtPtr ctxt, int flags) {
ctxt->parseFlags = flags;
return(0);
}
-
+
+/**
+ * xmlXIncludeProcessTreeFlagsData:
+ * @tree: an XML node
+ * @flags: a set of xmlParserOption used for parsing XML includes
+ * @data: application data that will be passed to the parser context
+ * in the _private field of the parser context(s)
+ *
+ * Implement the XInclude substitution on the XML node @tree
+ *
+ * Returns 0 if no substitution were done, -1 if some processing failed
+ * or the number of substitutions done.
+ */
+
+int
+xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, int flags, void *data) {
+ xmlXIncludeCtxtPtr ctxt;
+ int ret = 0;
+
+ if ((tree == NULL) || (tree->type == XML_NAMESPACE_DECL) ||
+ (tree->doc == NULL))
+ return(-1);
+
+ ctxt = xmlXIncludeNewContext(tree->doc);
+ if (ctxt == NULL)
+ return(-1);
+ ctxt->_private = data;
+ ctxt->base = xmlStrdup((xmlChar *)tree->doc->URL);
+ xmlXIncludeSetFlags(ctxt, flags);
+ ret = xmlXIncludeDoProcess(ctxt, tree->doc, tree);
+ if ((ret >= 0) && (ctxt->nbErrors > 0))
+ ret = -1;
+
+ xmlXIncludeFreeContext(ctxt);
+ return(ret);
+}
+
/**
* xmlXIncludeProcessFlagsData:
* @doc: an XML document
@@ -2430,27 +2510,14 @@ xmlXIncludeSetFlags(xmlXIncludeCtxtPtr ctxt, int flags) {
*/
int
xmlXIncludeProcessFlagsData(xmlDocPtr doc, int flags, void *data) {
- xmlXIncludeCtxtPtr ctxt;
xmlNodePtr tree;
- int ret = 0;
if (doc == NULL)
return(-1);
tree = xmlDocGetRootElement(doc);
if (tree == NULL)
return(-1);
- ctxt = xmlXIncludeNewContext(doc);
- if (ctxt == NULL)
- return(-1);
- ctxt->_private = data;
- ctxt->base = xmlStrdup((xmlChar *)doc->URL);
- xmlXIncludeSetFlags(ctxt, flags);
- ret = xmlXIncludeDoProcess(ctxt, doc, tree);
- if ((ret >= 0) && (ctxt->nbErrors > 0))
- ret = -1;
-
- xmlXIncludeFreeContext(ctxt);
- return(ret);
+ return(xmlXIncludeProcessTreeFlagsData(tree, flags, data));
}
/**
@@ -2497,7 +2564,8 @@ xmlXIncludeProcessTreeFlags(xmlNodePtr tree, int flags) {
xmlXIncludeCtxtPtr ctxt;
int ret = 0;
- if ((tree == NULL) || (tree->doc == NULL))
+ if ((tree == NULL) || (tree->type == XML_NAMESPACE_DECL) ||
+ (tree->doc == NULL))
return(-1);
ctxt = xmlXIncludeNewContext(tree->doc);
if (ctxt == NULL)
@@ -2541,7 +2609,8 @@ int
xmlXIncludeProcessNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node) {
int ret = 0;
- if ((node == NULL) || (node->doc == NULL) || (ctxt == NULL))
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL) ||
+ (node->doc == NULL) || (ctxt == NULL))
return(-1);
ret = xmlXIncludeDoProcess(ctxt, node->doc, node);
if ((ret >= 0) && (ctxt->nbErrors > 0))
diff --git a/gettext-tools/gnulib-lib/libxml/xinclude.in.h b/gettext-tools/gnulib-lib/libxml/xinclude.in.h
index ba9c9b5..863ab25 100644
--- a/gettext-tools/gnulib-lib/libxml/xinclude.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xinclude.in.h
@@ -89,18 +89,22 @@ typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;
/*
* standalone processing
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXIncludeProcess (xmlDocPtr doc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXIncludeProcessFlags (xmlDocPtr doc,
int flags);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXIncludeProcessFlagsData(xmlDocPtr doc,
int flags,
void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
+ xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
+ int flags,
+ void *data);
+XMLPUBFUN int XMLCALL
xmlXIncludeProcessTree (xmlNodePtr tree);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
int flags);
/*
diff --git a/gettext-tools/gnulib-lib/libxml/xlink.c b/gettext-tools/gnulib-lib/libxml/xlink.c
index 0d9be73..c0e4ff3 100644
--- a/gettext-tools/gnulib-lib/libxml/xlink.c
+++ b/gettext-tools/gnulib-lib/libxml/xlink.c
@@ -47,7 +47,7 @@
* Default setting and related functions *
* *
****************************************************************/
-
+
static xlinkHandlerPtr xlinkDefaultHandler = NULL;
static xlinkNodeDetectFunc xlinkDefaultDetect = NULL;
@@ -93,7 +93,7 @@ xlinkGetDefaultDetect (void) {
*
* Set the default xlink detection routine
*/
-void
+void
xlinkSetDefaultDetect (xlinkNodeDetectFunc func) {
xlinkDefaultDetect = func;
}
@@ -104,7 +104,7 @@ xlinkSetDefaultDetect (xlinkNodeDetectFunc func) {
* *
****************************************************************/
-
+
/**
* xlinkIsLink:
* @doc: the document containing the node
@@ -119,7 +119,7 @@ xlinkSetDefaultDetect (xlinkNodeDetectFunc func) {
* Returns the xlinkType of the node (XLINK_TYPE_NONE if there is no
* link detected.
*/
-xlinkType
+xlinkType
xlinkIsLink (xmlDocPtr doc, xmlNodePtr node) {
xmlChar *type = NULL, *role = NULL;
xlinkType ret = XLINK_TYPE_NONE;
@@ -150,14 +150,14 @@ xlinkIsLink (xmlDocPtr doc, xmlNodePtr node) {
if (type != NULL) {
if (xmlStrEqual(type, BAD_CAST "simple")) {
ret = XLINK_TYPE_SIMPLE;
- } if (xmlStrEqual(type, BAD_CAST "extended")) {
+ } else if (xmlStrEqual(type, BAD_CAST "extended")) {
role = xmlGetNsProp(node, BAD_CAST "role", XLINK_NAMESPACE);
if (role != NULL) {
xmlNsPtr xlink;
xlink = xmlSearchNs(doc, node, XLINK_NAMESPACE);
if (xlink == NULL) {
/* Humm, fallback method */
- if (xmlStrEqual(role, BAD_CAST"xlink:external-linkset"))
+ if (xmlStrEqual(role, BAD_CAST"xlink:external-linkset"))
ret = XLINK_TYPE_EXTENDED_SET;
} else {
xmlChar buf[200];
diff --git a/gettext-tools/gnulib-lib/libxml/xlink.in.h b/gettext-tools/gnulib-lib/libxml/xlink.in.h
index 083c7ed..a209a99 100644
--- a/gettext-tools/gnulib-lib/libxml/xlink.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xlink.in.h
@@ -57,7 +57,7 @@ typedef enum {
* xlinkNodeDetectFunc:
* @ctx: user data pointer
* @node: the node to check
- *
+ *
* This is the prototype for the link detection routine.
* It calls the default link detection callbacks upon link detection.
*/
@@ -157,26 +157,26 @@ struct _xlinkHandler {
/*
* The default detection routine, can be overridden, they call the default
- * detection callbacks.
+ * detection callbacks.
*/
-XMLPUBFUN xlinkNodeDetectFunc XMLCALL
+XMLPUBFUN xlinkNodeDetectFunc XMLCALL
xlinkGetDefaultDetect (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xlinkSetDefaultDetect (xlinkNodeDetectFunc func);
/*
* Routines to set/get the default handlers.
*/
-XMLPUBFUN xlinkHandlerPtr XMLCALL
+XMLPUBFUN xlinkHandlerPtr XMLCALL
xlinkGetDefaultHandler (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xlinkSetDefaultHandler (xlinkHandlerPtr handler);
/*
* Link detection module itself.
*/
-XMLPUBFUN xlinkType XMLCALL
+XMLPUBFUN xlinkType XMLCALL
xlinkIsLink (xmlDocPtr doc,
xmlNodePtr node);
diff --git a/gettext-tools/gnulib-lib/libxml/xmlIO.c b/gettext-tools/gnulib-lib/libxml/xmlIO.c
index 90db848..8b13184 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlIO.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlIO.c
@@ -35,11 +35,18 @@
#ifdef HAVE_ZLIB_H
#include <zlib.h>
#endif
+#ifdef HAVE_LZMA_H
+#include <lzma.h>
+#endif
-#ifdef WIN32
+#if defined(WIN32) || defined(_WIN32)
#include <windows.h>
#endif
+#if defined(_WIN32_WCE)
+#include <winnls.h> /* for CP_UTF8 */
+#endif
+
/* Figure a portable way to know if a file is a directory. */
#ifndef HAVE_STAT
# ifdef HAVE__STAT
@@ -89,6 +96,9 @@
#endif
#include <libxml/globals.h>
+#include "buf.h"
+#include "enc.h"
+
/* #define VERBOSE_FAILURE */
/* #define DEBUG_EXTERNAL_ENTITIES */
/* #define DEBUG_INPUT */
@@ -131,11 +141,14 @@ typedef struct _xmlOutputCallback {
static xmlOutputCallback xmlOutputCallbackTable[MAX_OUTPUT_CALLBACK];
static int xmlOutputCallbackNr = 0;
static int xmlOutputCallbackInitialized = 0;
+
+xmlOutputBufferPtr
+xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
#endif /* LIBXML_OUTPUT_ENABLED */
/************************************************************************
* *
- * Tree memory error handler *
+ * Tree memory error handler *
* *
************************************************************************/
@@ -418,7 +431,7 @@ __xmlIOErr(int domain, int code, const char *extra)
idx = 0;
if (code >= XML_IO_UNKNOWN) idx = code - XML_IO_UNKNOWN;
if (idx >= (sizeof(IOerr) / sizeof(IOerr[0]))) idx = 0;
-
+
__xmlSimpleError(domain, code, NULL, IOerr[idx], extra);
}
@@ -470,12 +483,12 @@ __xmlLoaderErr(void *ctx, const char *msg, const char *filename)
XML_IO_LOAD_ERROR, level, NULL, 0,
filename, NULL, NULL, 0, 0,
msg, filename);
-
+
}
/************************************************************************
* *
- * Tree memory error handler *
+ * Tree memory error handler *
* *
************************************************************************/
/**
@@ -497,7 +510,7 @@ xmlNormalizeWindowsPath(const xmlChar *path)
* xmlCleanupInputCallbacks:
*
* clears the entire input callback table. this includes the
- * compiled-in I/O.
+ * compiled-in I/O.
*/
void
xmlCleanupInputCallbacks(void)
@@ -522,7 +535,7 @@ xmlCleanupInputCallbacks(void)
* xmlPopInputCallbacks:
*
* Clear the top input callback from the input stack. this includes the
- * compiled-in I/O.
+ * compiled-in I/O.
*
* Returns the number of input callback registered or -1 in case of error.
*/
@@ -534,7 +547,7 @@ xmlPopInputCallbacks(void)
if (xmlInputCallbackNr <= 0)
return(-1);
-
+
xmlInputCallbackNr--;
xmlInputCallbackTable[xmlInputCallbackNr].matchcallback = NULL;
xmlInputCallbackTable[xmlInputCallbackNr].opencallback = NULL;
@@ -549,7 +562,7 @@ xmlPopInputCallbacks(void)
* xmlCleanupOutputCallbacks:
*
* clears the entire output callback table. this includes the
- * compiled-in I/O callbacks.
+ * compiled-in I/O callbacks.
*/
void
xmlCleanupOutputCallbacks(void)
@@ -606,6 +619,34 @@ xmlWrapOpenUtf8(const char *path,int mode)
return fd;
}
+#ifdef HAVE_ZLIB_H
+static gzFile
+xmlWrapGzOpenUtf8(const char *path, const char *mode)
+{
+ gzFile fd;
+ wchar_t *wPath;
+
+ fd = gzopen (path, mode);
+ if (fd)
+ return fd;
+
+ wPath = __xmlIOWin32UTF8ToWChar(path);
+ if(wPath)
+ {
+ int d, m = (strstr(mode, "r") ? O_RDONLY : O_RDWR);
+#ifdef _O_BINARY
+ m |= (strstr(mode, "b") ? _O_BINARY : 0);
+#endif
+ d = _wopen(wPath, m);
+ if (d >= 0)
+ fd = gzdopen(d, mode);
+ xmlFree(wPath);
+ }
+
+ return fd;
+}
+#endif
+
/**
* xmlWrapStatUtf8:
* @path: the path in utf-8 encoding
@@ -672,7 +713,10 @@ typedef int (* xmlWrapStatFunc) (const char *f, struct stat *s);
static xmlWrapStatFunc xmlWrapStat = xmlWrapStatNative;
typedef FILE* (* xmlWrapOpenFunc)(const char *f,int mode);
static xmlWrapOpenFunc xmlWrapOpen = xmlWrapOpenNative;
-
+#ifdef HAVE_ZLIB_H
+typedef gzFile (* xmlWrapGzOpenFunc) (const char *f, const char *mode);
+static xmlWrapGzOpenFunc xmlWrapGzOpen = gzopen;
+#endif
/**
* xmlInitPlatformSpecificIo:
*
@@ -692,9 +736,15 @@ xmlInitPlatformSpecificIo(void)
if(GetVersionEx(&osvi) && (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)) {
xmlWrapStat = xmlWrapStatUtf8;
xmlWrapOpen = xmlWrapOpenUtf8;
+#ifdef HAVE_ZLIB_H
+ xmlWrapGzOpen = xmlWrapGzOpenUtf8;
+#endif
} else {
xmlWrapStat = xmlWrapStatNative;
xmlWrapOpen = xmlWrapOpenNative;
+#ifdef HAVE_ZLIB_H
+ xmlWrapGzOpen = gzopen;
+#endif
}
xmlPlatformIoInitialized = 1;
@@ -721,13 +771,21 @@ int
xmlCheckFilename (const char *path)
{
#ifdef HAVE_STAT
- struct stat stat_buffer;
+ struct stat stat_buffer;
#endif
- if (path == NULL)
- return(0);
+ if (path == NULL)
+ return(0);
#ifdef HAVE_STAT
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+ /*
+ * On Windows stat and wstat do not work with long pathname,
+ * which start with '\\?\'
+ */
+ if ((path[0] == '\\') && (path[1] == '\\') && (path[2] == '?') &&
+ (path[3] == '\\') )
+ return 1;
+
if (xmlWrapStat(path, &stat_buffer) == -1)
return 0;
#else
@@ -742,7 +800,14 @@ xmlCheckFilename (const char *path)
return 1;
}
-static int
+/**
+ * xmlNop:
+ *
+ * No Operation function, does nothing, no input
+ *
+ * Returns zero
+ */
+int
xmlNop(void) {
return(0);
}
@@ -829,7 +894,7 @@ xmlFileMatch (const char *filename ATTRIBUTE_UNUSED) {
*/
static void *
xmlFileOpen_real (const char *filename) {
- const char *path = NULL;
+ const char *path = filename;
FILE *fd;
if (filename == NULL)
@@ -840,23 +905,27 @@ xmlFileOpen_real (const char *filename) {
return((void *) fd);
}
- if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17))
+ if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17)) {
#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
path = &filename[17];
#else
path = &filename[16];
#endif
- else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
+ } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
path = &filename[8];
#else
path = &filename[7];
#endif
- } else
- path = filename;
+ } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:/", 6)) {
+ /* lots of generators seems to lazy to read RFC 1738 */
+#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+ path = &filename[6];
+#else
+ path = &filename[5];
+#endif
+ }
- if (path == NULL)
- return(NULL);
if (!xmlCheckFilename(path))
return(NULL);
@@ -883,13 +952,15 @@ xmlFileOpen (const char *filename) {
char *unescaped;
void *retval;
- unescaped = xmlURIUnescapeString(filename, 0, NULL);
- if (unescaped != NULL) {
- retval = xmlFileOpen_real(unescaped);
- xmlFree(unescaped);
- } else {
- retval = xmlFileOpen_real(filename);
+ retval = xmlFileOpen_real(filename);
+ if (retval == NULL) {
+ unescaped = xmlURIUnescapeString(filename, 0, NULL);
+ if (unescaped != NULL) {
+ retval = xmlFileOpen_real(unescaped);
+ xmlFree(unescaped);
+ }
}
+
return retval;
}
@@ -925,7 +996,7 @@ xmlFileOpenW (const char *filename) {
#else
path = &filename[7];
#endif
- } else
+ } else
path = filename;
if (path == NULL)
@@ -934,7 +1005,7 @@ xmlFileOpenW (const char *filename) {
#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
fd = xmlWrapOpen(path, 1);
#else
- fd = fopen(path, "wb");
+ fd = fopen(path, "wb");
#endif /* WIN32 */
if (fd == NULL) xmlIOErr(0, path);
@@ -955,7 +1026,7 @@ xmlFileOpenW (const char *filename) {
int
xmlFileRead (void * context, char * buffer, int len) {
int ret;
- if ((context == NULL) || (buffer == NULL))
+ if ((context == NULL) || (buffer == NULL))
return(-1);
ret = fread(&buffer[0], 1, len, (FILE *) context);
if (ret < 0) xmlIOErr(0, "fread()");
@@ -977,7 +1048,7 @@ static int
xmlFileWrite (void * context, const char * buffer, int len) {
int items;
- if ((context == NULL) || (buffer == NULL))
+ if ((context == NULL) || (buffer == NULL))
return(-1);
items = fwrite(&buffer[0], len, 1, (FILE *) context);
if ((items == 0) && (ferror((FILE *) context))) {
@@ -1092,7 +1163,12 @@ xmlGzfileOpen_real (const char *filename) {
gzFile fd;
if (!strcmp(filename, "-")) {
- fd = gzdopen(dup(0), "rb");
+ int duped_fd = dup(fileno(stdin));
+ fd = gzdopen(duped_fd, "rb");
+ if (fd == Z_NULL && duped_fd >= 0) {
+ close(duped_fd); /* gzdOpen() does not close on failure */
+ }
+
return((void *) fd);
}
@@ -1108,7 +1184,7 @@ xmlGzfileOpen_real (const char *filename) {
#else
path = &filename[7];
#endif
- } else
+ } else
path = filename;
if (path == NULL)
@@ -1116,7 +1192,11 @@ xmlGzfileOpen_real (const char *filename) {
if (!xmlCheckFilename(path))
return(NULL);
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+ fd = xmlWrapGzOpen(path, "rb");
+#else
fd = gzopen(path, "rb");
+#endif
return((void *) fd);
}
@@ -1162,7 +1242,12 @@ xmlGzfileOpenW (const char *filename, int compression) {
snprintf(mode, sizeof(mode), "wb%d", compression);
if (!strcmp(filename, "-")) {
- fd = gzdopen(dup(1), mode);
+ int duped_fd = dup(fileno(stdout));
+ fd = gzdopen(duped_fd, "rb");
+ if (fd == Z_NULL && duped_fd >= 0) {
+ close(duped_fd); /* gzdOpen() does not close on failure */
+ }
+
return((void *) fd);
}
@@ -1178,13 +1263,17 @@ xmlGzfileOpenW (const char *filename, int compression) {
#else
path = &filename[7];
#endif
- } else
+ } else
path = filename;
if (path == NULL)
return(NULL);
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+ fd = xmlWrapGzOpen(path, mode);
+#else
fd = gzopen(path, mode);
+#endif
return((void *) fd);
}
#endif /* LIBXML_OUTPUT_ENABLED */
@@ -1245,6 +1334,125 @@ xmlGzfileClose (void * context) {
}
#endif /* HAVE_ZLIB_H */
+#ifdef LIBXML_LZMA_ENABLED
+/************************************************************************
+ * *
+ * I/O for compressed file accesses *
+ * *
+ ************************************************************************/
+#include "xzlib.h"
+/**
+ * xmlXzfileMatch:
+ * @filename: the URI for matching
+ *
+ * input from compressed file test
+ *
+ * Returns 1 if matches, 0 otherwise
+ */
+static int
+xmlXzfileMatch (const char *filename ATTRIBUTE_UNUSED) {
+ return(1);
+}
+
+/**
+ * xmlXzFileOpen_real:
+ * @filename: the URI for matching
+ *
+ * input from compressed file open
+ * if @filename is " " then the standard input is used
+ *
+ * Returns an I/O context or NULL in case of error
+ */
+static void *
+xmlXzfileOpen_real (const char *filename) {
+ const char *path = NULL;
+ xzFile fd;
+
+ if (!strcmp(filename, "-")) {
+ fd = __libxml2_xzdopen(dup(fileno(stdin)), "rb");
+ return((void *) fd);
+ }
+
+ if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17)) {
+ path = &filename[16];
+ } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
+ path = &filename[7];
+ } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:/", 6)) {
+ /* lots of generators seems to lazy to read RFC 1738 */
+ path = &filename[5];
+ } else
+ path = filename;
+
+ if (path == NULL)
+ return(NULL);
+ if (!xmlCheckFilename(path))
+ return(NULL);
+
+ fd = __libxml2_xzopen(path, "rb");
+ return((void *) fd);
+}
+
+/**
+ * xmlXzfileOpen:
+ * @filename: the URI for matching
+ *
+ * Wrapper around xmlXzfileOpen_real that try it with an unescaped
+ * version of @filename, if this fails fallback to @filename
+ *
+ * Returns a handler or NULL in case or failure
+ */
+static void *
+xmlXzfileOpen (const char *filename) {
+ char *unescaped;
+ void *retval;
+
+ retval = xmlXzfileOpen_real(filename);
+ if (retval == NULL) {
+ unescaped = xmlURIUnescapeString(filename, 0, NULL);
+ if (unescaped != NULL) {
+ retval = xmlXzfileOpen_real(unescaped);
+ }
+ xmlFree(unescaped);
+ }
+
+ return retval;
+}
+
+/**
+ * xmlXzfileRead:
+ * @context: the I/O context
+ * @buffer: where to drop data
+ * @len: number of bytes to write
+ *
+ * Read @len bytes to @buffer from the compressed I/O channel.
+ *
+ * Returns the number of bytes written
+ */
+static int
+xmlXzfileRead (void * context, char * buffer, int len) {
+ int ret;
+
+ ret = __libxml2_xzread((xzFile) context, &buffer[0], len);
+ if (ret < 0) xmlIOErr(0, "xzread()");
+ return(ret);
+}
+
+/**
+ * xmlXzfileClose:
+ * @context: the I/O context
+ *
+ * Close a compressed I/O channel
+ */
+static int
+xmlXzfileClose (void * context) {
+ int ret;
+
+ ret = (__libxml2_xzclose((xzFile) context) == LZMA_OK ) ? 0 : -1;
+ if (ret < 0) xmlIOErr(0, "xzclose()");
+ return(ret);
+}
+#endif /* LIBXML_LZMA_ENABLED */
+
#ifdef LIBXML_HTTP_ENABLED
/************************************************************************
* *
@@ -1306,7 +1514,7 @@ append_reverse_ulong( xmlZMemBuff * buff, unsigned long data ) {
/*
** This is plagiarized from putLong in gzio.c (zlib source) where
- ** the number "4" is hardcoded. If zlib is ever patched to
+ ** the number "4" is hardcoded. If zlib is ever patched to
** support 64 bit file sizes, this code would need to be patched
** as well.
*/
@@ -1358,7 +1566,7 @@ xmlFreeZMemBuff( xmlZMemBuffPtr buff ) {
*
* Create a memory buffer to hold the compressed XML document. The
* compressed document in memory will end up being identical to what
- * would be created if gzopen/gzwrite/gzclose were being used to
+ * would be created if gzopen/gzwrite/gzclose were being used to
* write the document to disk. The code for the header/trailer data to
* the compression is plagiarized from the zlib source files.
*/
@@ -1407,7 +1615,7 @@ xmlCreateZMemBuff( int compression ) {
buff->crc = crc32( 0L, NULL, 0 );
hdr_lgth = snprintf( (char *)buff->zbuff, buff->size,
"%c%c%c%c%c%c%c%c%c%c",
- GZ_MAGIC1, GZ_MAGIC2, Z_DEFLATED,
+ GZ_MAGIC1, GZ_MAGIC2, Z_DEFLATED,
0, 0, 0, 0, 0, 0, LXML_ZLIB_OS_CODE );
buff->zctrl.next_out = buff->zbuff + hdr_lgth;
buff->zctrl.avail_out = buff->size - hdr_lgth;
@@ -1445,11 +1653,11 @@ xmlZMemBuffExtend( xmlZMemBuffPtr buff, size_t ext_amt ) {
new_size = buff->size + ext_amt;
#ifdef DEBUG_HTTP
- if ( cur_used > new_size )
+ if ( cur_used > new_size )
xmlGenericError( xmlGenericErrorContext,
"xmlZMemBuffExtend: %s\n%s %d bytes.\n",
"Buffer overwrite detected during compressed memory",
- "buffer extension. Overflowed by",
+ "buffer extension. Overflowed by",
(cur_used - new_size ) );
#endif
@@ -1587,7 +1795,7 @@ xmlZMemBuffGetContent( xmlZMemBuffPtr buff, char ** data_ref ) {
"Error flushing zlib buffers. Error code", z_err );
xmlIOErr(XML_IO_WRITE, (const char *) msg);
}
-
+
return ( zlgth );
}
#endif /* LIBXML_OUTPUT_ENABLED */
@@ -1707,7 +1915,7 @@ xmlIOHTTPOpenW(const char *post_uri, int compression)
{
/* Any character conversions should have been done before this */
- ctxt->doc_buff = xmlAllocOutputBuffer(NULL);
+ ctxt->doc_buff = xmlAllocOutputBufferInternal(NULL);
}
if (ctxt->doc_buff == NULL) {
@@ -1718,7 +1926,7 @@ xmlIOHTTPOpenW(const char *post_uri, int compression)
return (ctxt);
}
#endif /* LIBXML_OUTPUT_ENABLED */
-
+
#ifdef LIBXML_OUTPUT_ENABLED
/**
* xmlIOHTTPDfltOpenW
@@ -1746,7 +1954,7 @@ xmlIOHTTPDfltOpenW( const char * post_uri ) {
*
* Returns the number of bytes written
*/
-int
+int
xmlIOHTTPRead(void * context, char * buffer, int len) {
if ((buffer == NULL) || (len < 0)) return(-1);
return(xmlNanoHTTPRead(context, &buffer[0], len));
@@ -1766,7 +1974,7 @@ xmlIOHTTPRead(void * context, char * buffer, int len) {
*/
static int
-xmlIOHTTPWrite( void * context, const char * buffer, int len ) {
+xmlIOHTTPWrite( void * context, const char * buffer, int len ) {
xmlIOHTTPWriteCtxtPtr ctxt = context;
@@ -1778,7 +1986,7 @@ xmlIOHTTPWrite( void * context, const char * buffer, int len ) {
/* Use gzwrite or fwrite as previously setup in the open call */
#ifdef HAVE_ZLIB_H
- if ( ctxt->compression > 0 )
+ if ( ctxt->compression > 0 )
len = xmlZMemBuffAppend( ctxt->doc_buff, buffer, len );
else
@@ -1853,8 +2061,8 @@ xmlIOHTTPCloseWrite( void * context, const char * http_mthd ) {
/* Pull the data out of the memory output buffer */
xmlOutputBufferPtr dctxt = ctxt->doc_buff;
- http_content = (char *)dctxt->buffer->content;
- content_lgth = dctxt->buffer->use;
+ http_content = (char *) xmlBufContent(dctxt->buffer);
+ content_lgth = xmlBufUse(dctxt->buffer);
}
if ( http_content == NULL ) {
@@ -1869,7 +2077,7 @@ xmlIOHTTPCloseWrite( void * context, const char * http_mthd ) {
else {
http_ctxt = xmlNanoHTTPMethod( ctxt->uri, http_mthd, http_content,
- &content_type, content_encoding,
+ &content_type, content_encoding,
content_lgth );
if ( http_ctxt != NULL ) {
@@ -1888,7 +2096,7 @@ xmlIOHTTPCloseWrite( void * context, const char * http_mthd ) {
/*
** Since either content or reply may be gzipped,
- ** dump them to separate files instead of the
+ ** dump them to separate files instead of the
** standard error context.
*/
@@ -2025,7 +2233,7 @@ xmlIOFTPOpen (const char *filename) {
*
* Returns the number of bytes written
*/
-int
+int
xmlIOFTPRead(void * context, char * buffer, int len) {
if ((buffer == NULL) || (len < 0)) return(-1);
return(xmlNanoFTPRead(context, &buffer[0], len));
@@ -2088,7 +2296,7 @@ int
xmlRegisterOutputCallbacks(xmlOutputMatchCallback matchFunc,
xmlOutputOpenCallback openFunc, xmlOutputWriteCallback writeFunc,
xmlOutputCloseCallback closeFunc) {
- if (xmlOutputCallbackNr >= MAX_INPUT_CALLBACK) {
+ if (xmlOutputCallbackNr >= MAX_OUTPUT_CALLBACK) {
return(-1);
}
xmlOutputCallbackTable[xmlOutputCallbackNr].matchcallback = matchFunc;
@@ -2120,6 +2328,10 @@ xmlRegisterDefaultInputCallbacks(void) {
xmlRegisterInputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
xmlGzfileRead, xmlGzfileClose);
#endif /* HAVE_ZLIB_H */
+#ifdef LIBXML_LZMA_ENABLED
+ xmlRegisterInputCallbacks(xmlXzfileMatch, xmlXzfileOpen,
+ xmlXzfileRead, xmlXzfileClose);
+#endif /* LIBXML_LZMA_ENABLED */
#ifdef LIBXML_HTTP_ENABLED
xmlRegisterInputCallbacks(xmlIOHTTPMatch, xmlIOHTTPOpen,
@@ -2217,15 +2429,15 @@ xmlAllocParserInputBuffer(xmlCharEncoding enc) {
return(NULL);
}
memset(ret, 0, (size_t) sizeof(xmlParserInputBuffer));
- ret->buffer = xmlBufferCreateSize(2 * xmlDefaultBufferSize);
+ ret->buffer = xmlBufCreateSize(2 * xmlDefaultBufferSize);
if (ret->buffer == NULL) {
xmlFree(ret);
return(NULL);
}
- ret->buffer->alloc = XML_BUFFER_ALLOC_DOUBLEIT;
+ xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_DOUBLEIT);
ret->encoder = xmlGetCharEncodingHandler(enc);
if (ret->encoder != NULL)
- ret->raw = xmlBufferCreateSize(2 * xmlDefaultBufferSize);
+ ret->raw = xmlBufCreateSize(2 * xmlDefaultBufferSize);
else
ret->raw = NULL;
ret->readcallback = NULL;
@@ -2256,19 +2468,80 @@ xmlAllocOutputBuffer(xmlCharEncodingHandlerPtr encoder) {
return(NULL);
}
memset(ret, 0, (size_t) sizeof(xmlOutputBuffer));
- ret->buffer = xmlBufferCreate();
+ ret->buffer = xmlBufCreate();
+ if (ret->buffer == NULL) {
+ xmlFree(ret);
+ return(NULL);
+ }
+
+ /* try to avoid a performance problem with Windows realloc() */
+ if (xmlBufGetAllocationScheme(ret->buffer) == XML_BUFFER_ALLOC_EXACT)
+ xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_DOUBLEIT);
+
+ ret->encoder = encoder;
+ if (encoder != NULL) {
+ ret->conv = xmlBufCreateSize(4000);
+ if (ret->conv == NULL) {
+ xmlFree(ret);
+ return(NULL);
+ }
+
+ /*
+ * This call is designed to initiate the encoder state
+ */
+ xmlCharEncOutput(ret, 1);
+ } else
+ ret->conv = NULL;
+ ret->writecallback = NULL;
+ ret->closecallback = NULL;
+ ret->context = NULL;
+ ret->written = 0;
+
+ return(ret);
+}
+
+/**
+ * xmlAllocOutputBufferInternal:
+ * @encoder: the encoding converter or NULL
+ *
+ * Create a buffered parser output
+ *
+ * Returns the new parser output or NULL
+ */
+xmlOutputBufferPtr
+xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder) {
+ xmlOutputBufferPtr ret;
+
+ ret = (xmlOutputBufferPtr) xmlMalloc(sizeof(xmlOutputBuffer));
+ if (ret == NULL) {
+ xmlIOErrMemory("creating output buffer");
+ return(NULL);
+ }
+ memset(ret, 0, (size_t) sizeof(xmlOutputBuffer));
+ ret->buffer = xmlBufCreate();
if (ret->buffer == NULL) {
xmlFree(ret);
return(NULL);
}
- ret->buffer->alloc = XML_BUFFER_ALLOC_DOUBLEIT;
+
+
+ /*
+ * For conversion buffers we use the special IO handling
+ */
+ xmlBufSetAllocationScheme(ret->buffer, XML_BUFFER_ALLOC_IO);
+
ret->encoder = encoder;
if (encoder != NULL) {
- ret->conv = xmlBufferCreateSize(4000);
+ ret->conv = xmlBufCreateSize(4000);
+ if (ret->conv == NULL) {
+ xmlFree(ret);
+ return(NULL);
+ }
+
/*
* This call is designed to initiate the encoder state
*/
- xmlCharEncOutFunc(encoder, ret->conv, NULL);
+ xmlCharEncOutput(ret, 1);
} else
ret->conv = NULL;
ret->writecallback = NULL;
@@ -2278,6 +2551,7 @@ xmlAllocOutputBuffer(xmlCharEncodingHandlerPtr encoder) {
return(ret);
}
+
#endif /* LIBXML_OUTPUT_ENABLED */
/**
@@ -2291,7 +2565,7 @@ xmlFreeParserInputBuffer(xmlParserInputBufferPtr in) {
if (in == NULL) return;
if (in->raw) {
- xmlBufferFree(in->raw);
+ xmlBufFree(in->raw);
in->raw = NULL;
}
if (in->encoder != NULL) {
@@ -2301,7 +2575,7 @@ xmlFreeParserInputBuffer(xmlParserInputBufferPtr in) {
in->closecallback(in->context);
}
if (in->buffer != NULL) {
- xmlBufferFree(in->buffer);
+ xmlBufFree(in->buffer);
in->buffer = NULL;
}
@@ -2333,14 +2607,14 @@ xmlOutputBufferClose(xmlOutputBufferPtr out)
}
written = out->written;
if (out->conv) {
- xmlBufferFree(out->conv);
+ xmlBufFree(out->conv);
out->conv = NULL;
}
if (out->encoder != NULL) {
xmlCharEncCloseFunc(out->encoder);
}
if (out->buffer != NULL) {
- xmlBufferFree(out->buffer);
+ xmlBufFree(out->buffer);
out->buffer = NULL;
}
@@ -2392,6 +2666,9 @@ __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
#ifdef HAVE_ZLIB_H
if ((xmlInputCallbackTable[i].opencallback == xmlGzfileOpen) &&
(strcmp(URI, "-") != 0)) {
+#if defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1230
+ ret->compressed = !gzdirect(context);
+#else
if (((z_stream *)context)->avail_in > 4) {
char *cptr, buff4[4];
cptr = (char *) ((z_stream *)context)->next_in;
@@ -2403,6 +2680,13 @@ __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
gzrewind(context);
}
}
+#endif
+ }
+#endif
+#ifdef LIBXML_LZMA_ENABLED
+ if ((xmlInputCallbackTable[i].opencallback == xmlXzfileOpen) &&
+ (strcmp(URI, "-") != 0)) {
+ ret->compressed = __libxml2_xzcompressed(context);
}
#endif
}
@@ -2478,7 +2762,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
if ((compression > 0) && (compression <= 9) && (is_file_uri == 1)) {
context = xmlGzfileOpenW(unescaped, compression);
if (context != NULL) {
- ret = xmlAllocOutputBuffer(encoder);
+ ret = xmlAllocOutputBufferInternal(encoder);
if (ret != NULL) {
ret->context = context;
ret->writecallback = xmlGzfileWrite;
@@ -2515,7 +2799,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
if ((compression > 0) && (compression <= 9) && (is_file_uri == 1)) {
context = xmlGzfileOpenW(URI, compression);
if (context != NULL) {
- ret = xmlAllocOutputBuffer(encoder);
+ ret = xmlAllocOutputBufferInternal(encoder);
if (ret != NULL) {
ret->context = context;
ret->writecallback = xmlGzfileWrite;
@@ -2548,7 +2832,7 @@ __xmlOutputBufferCreateFilename(const char *URI,
/*
* Allocate the Output buffer front-end.
*/
- ret = xmlAllocOutputBuffer(encoder);
+ ret = xmlAllocOutputBufferInternal(encoder);
if (ret != NULL) {
ret->context = context;
ret->writecallback = xmlOutputCallbackTable[i].writecallback;
@@ -2585,7 +2869,7 @@ xmlOutputBufferCreateFilename(const char *URI,
/**
* xmlParserInputBufferCreateFile:
- * @file: a FILE*
+ * @file: a FILE*
* @enc: the charset encoding if known
*
* Create a buffered parser input for the progressive parsing of a FILE *
@@ -2615,7 +2899,7 @@ xmlParserInputBufferCreateFile(FILE *file, xmlCharEncoding enc) {
#ifdef LIBXML_OUTPUT_ENABLED
/**
* xmlOutputBufferCreateFile:
- * @file: a FILE*
+ * @file: a FILE*
* @encoder: the encoding converter or NULL
*
* Create a buffered output for the progressive saving to a FILE *
@@ -2632,7 +2916,7 @@ xmlOutputBufferCreateFile(FILE *file, xmlCharEncodingHandlerPtr encoder) {
if (file == NULL) return(NULL);
- ret = xmlAllocOutputBuffer(encoder);
+ ret = xmlAllocOutputBufferInternal(encoder);
if (ret != NULL) {
ret->context = file;
ret->writecallback = xmlFileWrite;
@@ -2666,6 +2950,39 @@ xmlOutputBufferCreateBuffer(xmlBufferPtr buffer,
return(ret);
}
+/**
+ * xmlOutputBufferGetContent:
+ * @out: an xmlOutputBufferPtr
+ *
+ * Gives a pointer to the data currently held in the output buffer
+ *
+ * Returns a pointer to the data or NULL in case of error
+ */
+const xmlChar *
+xmlOutputBufferGetContent(xmlOutputBufferPtr out) {
+ if ((out == NULL) || (out->buffer == NULL))
+ return(NULL);
+
+ return(xmlBufContent(out->buffer));
+}
+
+/**
+ * xmlOutputBufferGetSize:
+ * @out: an xmlOutputBufferPtr
+ *
+ * Gives the length of the data currently held in the output buffer
+ *
+ * Returns 0 in case or error or no data is held, the size otherwise
+ */
+size_t
+xmlOutputBufferGetSize(xmlOutputBufferPtr out) {
+ if ((out == NULL) || (out->buffer == NULL))
+ return(0);
+
+ return(xmlBufUse(out->buffer));
+}
+
+
#endif /* LIBXML_OUTPUT_ENABLED */
/**
@@ -2718,7 +3035,7 @@ xmlParserInputBufferCreateMem(const char *mem, int size, xmlCharEncoding enc) {
ret->context = (void *) mem;
ret->readcallback = (xmlInputReadCallback) xmlNop;
ret->closecallback = NULL;
- errcode = xmlBufferAdd(ret->buffer, (const xmlChar *) mem, size);
+ errcode = xmlBufAdd(ret->buffer, (const xmlChar *) mem, size);
if (errcode != 0) {
xmlFree(ret);
return(NULL);
@@ -2755,14 +3072,14 @@ xmlParserInputBufferCreateStatic(const char *mem, int size,
return(NULL);
}
memset(ret, 0, (size_t) sizeof(xmlParserInputBuffer));
- ret->buffer = xmlBufferCreateStatic((void *)mem, (size_t) size);
+ ret->buffer = xmlBufCreateStatic((void *)mem, (size_t) size);
if (ret->buffer == NULL) {
xmlFree(ret);
return(NULL);
}
ret->encoder = xmlGetCharEncodingHandler(enc);
if (ret->encoder != NULL)
- ret->raw = xmlBufferCreateSize(2 * xmlDefaultBufferSize);
+ ret->raw = xmlBufCreateSize(2 * xmlDefaultBufferSize);
else
ret->raw = NULL;
ret->compressed = -1;
@@ -2779,7 +3096,7 @@ xmlParserInputBufferCreateStatic(const char *mem, int size,
* @fd: a file descriptor number
* @encoder: the encoding converter or NULL
*
- * Create a buffered output for the progressive saving
+ * Create a buffered output for the progressive saving
* to a file descriptor
*
* Returns the new parser output or NULL
@@ -2790,7 +3107,7 @@ xmlOutputBufferCreateFd(int fd, xmlCharEncodingHandlerPtr encoder) {
if (fd < 0) return(NULL);
- ret = xmlAllocOutputBuffer(encoder);
+ ret = xmlAllocOutputBufferInternal(encoder);
if (ret != NULL) {
ret->context = (void *) (long) fd;
ret->writecallback = xmlFdWrite;
@@ -2851,7 +3168,7 @@ xmlOutputBufferCreateIO(xmlOutputWriteCallback iowrite,
if (iowrite == NULL) return(NULL);
- ret = xmlAllocOutputBuffer(encoder);
+ ret = xmlAllocOutputBufferInternal(encoder);
if (ret != NULL) {
ret->context = (void *) ioctx;
ret->writecallback = iowrite;
@@ -2931,33 +3248,33 @@ xmlParserInputBufferPush(xmlParserInputBufferPtr in,
* Store the data in the incoming raw buffer
*/
if (in->raw == NULL) {
- in->raw = xmlBufferCreate();
+ in->raw = xmlBufCreate();
}
- ret = xmlBufferAdd(in->raw, (const xmlChar *) buf, len);
+ ret = xmlBufAdd(in->raw, (const xmlChar *) buf, len);
if (ret != 0)
return(-1);
/*
* convert as much as possible to the parser reading buffer.
*/
- use = in->raw->use;
- nbchars = xmlCharEncInFunc(in->encoder, in->buffer, in->raw);
+ use = xmlBufUse(in->raw);
+ nbchars = xmlCharEncInput(in, 1);
if (nbchars < 0) {
xmlIOErr(XML_IO_ENCODER, NULL);
in->error = XML_IO_ENCODER;
return(-1);
}
- in->rawconsumed += (use - in->raw->use);
+ in->rawconsumed += (use - xmlBufUse(in->raw));
} else {
nbchars = len;
- ret = xmlBufferAdd(in->buffer, (xmlChar *) buf, nbchars);
+ ret = xmlBufAdd(in->buffer, (xmlChar *) buf, nbchars);
if (ret != 0)
return(-1);
}
#ifdef DEBUG_INPUT
xmlGenericError(xmlGenericErrorContext,
"I/O: pushed %d chars, buffer %d/%d\n",
- nbchars, in->buffer->use, in->buffer->size);
+ nbchars, xmlBufUse(in->buffer), xmlBufLength(in->buffer));
#endif
return(nbchars);
}
@@ -2995,29 +3312,23 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
char *buffer = NULL;
int res = 0;
int nbchars = 0;
- int buffree;
- unsigned int needSize;
if ((in == NULL) || (in->error)) return(-1);
if ((len <= MINLEN) && (len != 4))
len = MINLEN;
- buffree = in->buffer->size - in->buffer->use;
- if (buffree <= 0) {
+ if (xmlBufAvail(in->buffer) <= 0) {
xmlIOErr(XML_IO_BUFFER_FULL, NULL);
in->error = XML_IO_BUFFER_FULL;
return(-1);
}
- needSize = in->buffer->use + len + 1;
- if (needSize > in->buffer->size){
- if (!xmlBufferResize(in->buffer, needSize)){
- xmlIOErrMemory("growing input buffer");
- in->error = XML_ERR_NO_MEMORY;
- return(-1);
- }
+ if (xmlBufGrow(in->buffer, len + 1) < 0) {
+ xmlIOErrMemory("growing input buffer");
+ in->error = XML_ERR_NO_MEMORY;
+ return(-1);
}
- buffer = (char *)&in->buffer->content[in->buffer->use];
+ buffer = (char *)xmlBufEnd(in->buffer);
/*
* Call the read method for this I/O type.
@@ -3034,6 +3345,17 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
if (res < 0) {
return(-1);
}
+
+ /*
+ * try to establish compressed status of input if not done already
+ */
+ if (in->compressed == -1) {
+#ifdef LIBXML_LZMA_ENABLED
+ if (in->readcallback == xmlXzfileRead)
+ in->compressed = __libxml2_xzcompressed(in->context);
+#endif
+ }
+
len = res;
if (in->encoder != NULL) {
unsigned int use;
@@ -3042,32 +3364,31 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
* Store the data in the incoming raw buffer
*/
if (in->raw == NULL) {
- in->raw = xmlBufferCreate();
+ in->raw = xmlBufCreate();
}
- res = xmlBufferAdd(in->raw, (const xmlChar *) buffer, len);
+ res = xmlBufAdd(in->raw, (const xmlChar *) buffer, len);
if (res != 0)
return(-1);
/*
* convert as much as possible to the parser reading buffer.
*/
- use = in->raw->use;
- nbchars = xmlCharEncInFunc(in->encoder, in->buffer, in->raw);
+ use = xmlBufUse(in->raw);
+ nbchars = xmlCharEncInput(in, 1);
if (nbchars < 0) {
xmlIOErr(XML_IO_ENCODER, NULL);
in->error = XML_IO_ENCODER;
return(-1);
}
- in->rawconsumed += (use - in->raw->use);
+ in->rawconsumed += (use - xmlBufUse(in->raw));
} else {
nbchars = len;
- in->buffer->use += nbchars;
- buffer[nbchars] = 0;
+ xmlBufAddLen(in->buffer, nbchars);
}
#ifdef DEBUG_INPUT
xmlGenericError(xmlGenericErrorContext,
- "I/O: read %d chars, buffer %d/%d\n",
- nbchars, in->buffer->use, in->buffer->size);
+ "I/O: read %d chars, buffer %d\n",
+ nbchars, xmlBufUse(in->buffer));
#endif
return(nbchars);
}
@@ -3089,8 +3410,7 @@ xmlParserInputBufferRead(xmlParserInputBufferPtr in, int len) {
if ((in == NULL) || (in->error)) return(-1);
if (in->readcallback != NULL)
return(xmlParserInputBufferGrow(in, len));
- else if ((in->buffer != NULL) &&
- (in->buffer->alloc == XML_BUFFER_ALLOC_IMMUTABLE))
+ else if (xmlBufGetAllocationScheme(in->buffer) == XML_BUFFER_ALLOC_IMMUTABLE)
return(0);
else
return(-1);
@@ -3135,30 +3455,30 @@ xmlOutputBufferWrite(xmlOutputBufferPtr out, int len, const char *buf) {
* Store the data in the incoming raw buffer
*/
if (out->conv == NULL) {
- out->conv = xmlBufferCreate();
+ out->conv = xmlBufCreate();
}
- ret = xmlBufferAdd(out->buffer, (const xmlChar *) buf, chunk);
+ ret = xmlBufAdd(out->buffer, (const xmlChar *) buf, chunk);
if (ret != 0)
return(-1);
- if ((out->buffer->use < MINLEN) && (chunk == len))
+ if ((xmlBufUse(out->buffer) < MINLEN) && (chunk == len))
goto done;
/*
* convert as much as possible to the parser reading buffer.
*/
- ret = xmlCharEncOutFunc(out->encoder, out->conv, out->buffer);
+ ret = xmlCharEncOutput(out, 0);
if ((ret < 0) && (ret != -3)) {
xmlIOErr(XML_IO_ENCODER, NULL);
out->error = XML_IO_ENCODER;
return(-1);
}
- nbchars = out->conv->use;
+ nbchars = xmlBufUse(out->conv);
} else {
- ret = xmlBufferAdd(out->buffer, (const xmlChar *) buf, chunk);
+ ret = xmlBufAdd(out->buffer, (const xmlChar *) buf, chunk);
if (ret != 0)
return(-1);
- nbchars = out->buffer->use;
+ nbchars = xmlBufUse(out->buffer);
}
buf += chunk;
len -= chunk;
@@ -3171,15 +3491,15 @@ xmlOutputBufferWrite(xmlOutputBufferPtr out, int len, const char *buf) {
* second write the stuff to the I/O channel
*/
if (out->encoder != NULL) {
- ret = out->writecallback(out->context,
- (const char *)out->conv->content, nbchars);
+ ret = out->writecallback(out->context,
+ (const char *)xmlBufContent(out->conv), nbchars);
if (ret >= 0)
- xmlBufferShrink(out->conv, ret);
+ xmlBufShrink(out->conv, ret);
} else {
- ret = out->writecallback(out->context,
- (const char *)out->buffer->content, nbchars);
+ ret = out->writecallback(out->context,
+ (const char *)xmlBufContent(out->buffer), nbchars);
if (ret >= 0)
- xmlBufferShrink(out->buffer, ret);
+ xmlBufShrink(out->buffer, ret);
}
if (ret < 0) {
xmlIOErr(XML_IO_WRITE, NULL);
@@ -3221,9 +3541,9 @@ xmlEscapeContent(unsigned char* out, int *outlen,
const unsigned char* inend;
inend = in + (*inlen);
-
+
while ((in < inend) && (out < outend)) {
- if (*in == '<') {
+ if (*in == '<') {
if (outend - out < 4) break;
*out++ = '&';
*out++ = 'l';
@@ -3253,7 +3573,7 @@ xmlEscapeContent(unsigned char* out, int *outlen,
*out++ = (unsigned char) *in;
}
++in;
- }
+ }
*outlen = out - outstart;
*inlen = in - base;
return(0);
@@ -3287,7 +3607,8 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
if ((out == NULL) || (out->error) || (str == NULL) ||
(out->buffer == NULL) ||
- (out->buffer->alloc == XML_BUFFER_ALLOC_IMMUTABLE)) return(-1);
+ (xmlBufGetAllocationScheme(out->buffer) == XML_BUFFER_ALLOC_IMMUTABLE))
+ return(-1);
len = strlen((const char *)str);
if (len < 0) return(0);
if (out->error) return(-1);
@@ -3300,7 +3621,18 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
* how many bytes to consume and how many bytes to store.
*/
cons = len;
- chunk = (out->buffer->size - out->buffer->use) - 1;
+ chunk = xmlBufAvail(out->buffer) - 1;
+
+ /*
+ * make sure we have enough room to save first, if this is
+ * not the case force a flush, but make sure we stay in the loop
+ */
+ if (chunk < 40) {
+ if (xmlBufGrow(out->buffer, 100) < 0)
+ return(-1);
+ oldwritten = -1;
+ continue;
+ }
/*
* first handle encoding stuff.
@@ -3310,36 +3642,33 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
* Store the data in the incoming raw buffer
*/
if (out->conv == NULL) {
- out->conv = xmlBufferCreate();
+ out->conv = xmlBufCreate();
}
- ret = escaping(out->buffer->content + out->buffer->use ,
+ ret = escaping(xmlBufEnd(out->buffer) ,
&chunk, str, &cons);
if ((ret < 0) || (chunk == 0)) /* chunk==0 => nothing done */
return(-1);
- out->buffer->use += chunk;
- out->buffer->content[out->buffer->use] = 0;
+ xmlBufAddLen(out->buffer, chunk);
- if ((out->buffer->use < MINLEN) && (cons == len))
+ if ((xmlBufUse(out->buffer) < MINLEN) && (cons == len))
goto done;
/*
* convert as much as possible to the output buffer.
*/
- ret = xmlCharEncOutFunc(out->encoder, out->conv, out->buffer);
+ ret = xmlCharEncOutput(out, 0);
if ((ret < 0) && (ret != -3)) {
xmlIOErr(XML_IO_ENCODER, NULL);
out->error = XML_IO_ENCODER;
return(-1);
}
- nbchars = out->conv->use;
+ nbchars = xmlBufUse(out->conv);
} else {
- ret = escaping(out->buffer->content + out->buffer->use ,
- &chunk, str, &cons);
+ ret = escaping(xmlBufEnd(out->buffer), &chunk, str, &cons);
if ((ret < 0) || (chunk == 0)) /* chunk==0 => nothing done */
return(-1);
- out->buffer->use += chunk;
- out->buffer->content[out->buffer->use] = 0;
- nbchars = out->buffer->use;
+ xmlBufAddLen(out->buffer, chunk);
+ nbchars = xmlBufUse(out->buffer);
}
str += cons;
len -= cons;
@@ -3352,15 +3681,15 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
* second write the stuff to the I/O channel
*/
if (out->encoder != NULL) {
- ret = out->writecallback(out->context,
- (const char *)out->conv->content, nbchars);
+ ret = out->writecallback(out->context,
+ (const char *)xmlBufContent(out->conv), nbchars);
if (ret >= 0)
- xmlBufferShrink(out->conv, ret);
+ xmlBufShrink(out->conv, ret);
} else {
- ret = out->writecallback(out->context,
- (const char *)out->buffer->content, nbchars);
+ ret = out->writecallback(out->context,
+ (const char *)xmlBufContent(out->buffer), nbchars);
if (ret >= 0)
- xmlBufferShrink(out->buffer, ret);
+ xmlBufShrink(out->buffer, ret);
}
if (ret < 0) {
xmlIOErr(XML_IO_WRITE, NULL);
@@ -3368,8 +3697,8 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
return(ret);
}
out->written += ret;
- } else if (out->buffer->size - out->buffer->use < MINLEN) {
- xmlBufferResize(out->buffer, out->buffer->size + MINLEN);
+ } else if (xmlBufAvail(out->buffer) < MINLEN) {
+ xmlBufGrow(out->buffer, MINLEN);
}
written += nbchars;
} while ((len > 0) && (oldwritten != written));
@@ -3398,7 +3727,7 @@ done:
int
xmlOutputBufferWriteString(xmlOutputBufferPtr out, const char *str) {
int len;
-
+
if ((out == NULL) || (out->error)) return(-1);
if (str == NULL)
return(-1);
@@ -3427,14 +3756,16 @@ xmlOutputBufferFlush(xmlOutputBufferPtr out) {
*/
if ((out->conv != NULL) && (out->encoder != NULL)) {
/*
- * convert as much as possible to the parser reading buffer.
+ * convert as much as possible to the parser output buffer.
*/
- nbchars = xmlCharEncOutFunc(out->encoder, out->conv, out->buffer);
- if (nbchars < 0) {
- xmlIOErr(XML_IO_ENCODER, NULL);
- out->error = XML_IO_ENCODER;
- return(-1);
- }
+ do {
+ nbchars = xmlCharEncOutput(out, 0);
+ if (nbchars < 0) {
+ xmlIOErr(XML_IO_ENCODER, NULL);
+ out->error = XML_IO_ENCODER;
+ return(-1);
+ }
+ } while (nbchars);
}
/*
@@ -3443,14 +3774,16 @@ xmlOutputBufferFlush(xmlOutputBufferPtr out) {
if ((out->conv != NULL) && (out->encoder != NULL) &&
(out->writecallback != NULL)) {
ret = out->writecallback(out->context,
- (const char *)out->conv->content, out->conv->use);
+ (const char *)xmlBufContent(out->conv),
+ xmlBufUse(out->conv));
if (ret >= 0)
- xmlBufferShrink(out->conv, ret);
+ xmlBufShrink(out->conv, ret);
} else if (out->writecallback != NULL) {
ret = out->writecallback(out->context,
- (const char *)out->buffer->content, out->buffer->use);
+ (const char *)xmlBufContent(out->buffer),
+ xmlBufUse(out->buffer));
if (ret >= 0)
- xmlBufferShrink(out->buffer, ret);
+ xmlBufShrink(out->buffer, ret);
}
if (ret < 0) {
xmlIOErr(XML_IO_FLUSH, NULL);
@@ -3480,7 +3813,6 @@ xmlParserGetDirectory(const char *filename) {
char *ret = NULL;
char dir[1024];
char *cur;
- char sep = '/';
#ifdef _WIN32_WCE /* easy way by now ... wince does not have dirs! */
return NULL;
@@ -3490,18 +3822,21 @@ xmlParserGetDirectory(const char *filename) {
xmlRegisterDefaultInputCallbacks();
if (filename == NULL) return(NULL);
+
#if defined(WIN32) && !defined(__CYGWIN__)
- sep = '\\';
+# define IS_XMLPGD_SEP(ch) ((ch=='/')||(ch=='\\'))
+#else
+# define IS_XMLPGD_SEP(ch) (ch=='/')
#endif
strncpy(dir, filename, 1023);
dir[1023] = 0;
cur = &dir[strlen(dir)];
while (cur > dir) {
- if (*cur == sep) break;
+ if (IS_XMLPGD_SEP(*cur)) break;
cur --;
}
- if (*cur == sep) {
+ if (IS_XMLPGD_SEP(*cur)) {
if (cur == dir) dir[1] = 0;
else *cur = 0;
ret = xmlMemStrdup(dir);
@@ -3512,6 +3847,7 @@ xmlParserGetDirectory(const char *filename) {
}
}
return(ret);
+#undef IS_XMLPGD_SEP
}
/****************************************************************
@@ -3612,9 +3948,9 @@ static int xmlNoNetExists(const char *URL) {
#else
path = &URL[7];
#endif
- } else
+ } else
path = URL;
-
+
return xmlCheckFilename(path);
}
@@ -3632,7 +3968,7 @@ static int xmlNoNetExists(const char *URL) {
*
* Returns a new allocated URL, or NULL.
*/
-xmlChar *
+static xmlChar *
xmlResolveResourceFromCatalog(const char *URL, const char *ID,
xmlParserCtxtPtr ctxt) {
xmlChar *resource = NULL;
@@ -3802,9 +4138,9 @@ xmlLoadExternalEntity(const char *URL, const char *ID,
}
/************************************************************************
- * *
- * Disabling Network access *
- * *
+ * *
+ * Disabling Network access *
+ * *
************************************************************************/
/**
diff --git a/gettext-tools/gnulib-lib/libxml/xmlIO.in.h b/gettext-tools/gnulib-lib/libxml/xmlIO.in.h
index eea9ed6..3e41744 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlIO.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlIO.in.h
@@ -26,7 +26,7 @@ extern "C" {
* xmlInputMatchCallback:
* @filename: the filename or URI
*
- * Callback used in the I/O Input API to detect if the current handler
+ * Callback used in the I/O Input API to detect if the current handler
* can provide input fonctionnalities for this resource.
*
* Returns 1 if yes and 0 if another Input module should be used
@@ -72,7 +72,7 @@ typedef int (XMLCALL *xmlInputCloseCallback) (void * context);
* xmlOutputMatchCallback:
* @filename: the filename or URI
*
- * Callback used in the I/O Output API to detect if the current handler
+ * Callback used in the I/O Output API to detect if the current handler
* can provide output fonctionnalities for this resource.
*
* Returns 1 if yes and 0 if another Output module should be used
@@ -126,11 +126,11 @@ struct _xmlParserInputBuffer {
void* context;
xmlInputReadCallback readcallback;
xmlInputCloseCallback closecallback;
-
+
xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
-
- xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
- xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */
+
+ xmlBufPtr buffer; /* Local buffer encoded in UTF-8 */
+ xmlBufPtr raw; /* if encoder != NULL buffer for raw input */
int compressed; /* -1=unknown, 0=not compressed, 1=compressed */
int error;
unsigned long rawconsumed;/* amount consumed from raw */
@@ -142,11 +142,11 @@ struct _xmlOutputBuffer {
void* context;
xmlOutputWriteCallback writecallback;
xmlOutputCloseCallback closecallback;
-
+
xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
-
- xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */
- xmlBufferPtr conv; /* if encoder != NULL buffer for output */
+
+ xmlBufPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */
+ xmlBufPtr conv; /* if encoder != NULL buffer for output */
int written; /* total number of byte written */
int error;
};
@@ -155,13 +155,13 @@ struct _xmlOutputBuffer {
/*
* Interfaces for input
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupInputCallbacks (void);
XMLPUBFUN int XMLCALL
xmlPopInputCallbacks (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRegisterDefaultInputCallbacks (void);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
xmlAllocParserInputBuffer (xmlCharEncoding enc);
@@ -186,22 +186,22 @@ XMLPUBFUN xmlParserInputBufferPtr XMLCALL
xmlInputCloseCallback ioclose,
void *ioctx,
xmlCharEncoding enc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParserInputBufferRead (xmlParserInputBufferPtr in,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParserInputBufferGrow (xmlParserInputBufferPtr in,
int len);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlParserInputBufferPush (xmlParserInputBufferPtr in,
int len,
const char *buf);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeParserInputBuffer (xmlParserInputBufferPtr in);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN char * XMLCALL
xmlParserGetDirectory (const char *filename);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc,
xmlInputOpenCallback openFunc,
xmlInputReadCallback readFunc,
@@ -209,15 +209,15 @@ XMLPUBFUN int XMLCALL
xmlParserInputBufferPtr
__xmlParserInputBufferCreateFilename(const char *URI,
- xmlCharEncoding enc);
+ xmlCharEncoding enc);
#ifdef LIBXML_OUTPUT_ENABLED
/*
* Interfaces for output
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupOutputCallbacks (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRegisterDefaultOutputCallbacks(void);
XMLPUBFUN xmlOutputBufferPtr XMLCALL
xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder);
@@ -245,24 +245,30 @@ XMLPUBFUN xmlOutputBufferPtr XMLCALL
void *ioctx,
xmlCharEncodingHandlerPtr encoder);
-XMLPUBFUN int XMLCALL
+/* Couple of APIs to get the output without digging into the buffers */
+XMLPUBFUN const xmlChar * XMLCALL
+ xmlOutputBufferGetContent (xmlOutputBufferPtr out);
+XMLPUBFUN size_t XMLCALL
+ xmlOutputBufferGetSize (xmlOutputBufferPtr out);
+
+XMLPUBFUN int XMLCALL
xmlOutputBufferWrite (xmlOutputBufferPtr out,
int len,
const char *buf);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlOutputBufferWriteString (xmlOutputBufferPtr out,
const char *str);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlOutputBufferWriteEscape (xmlOutputBufferPtr out,
const xmlChar *str,
xmlCharEncodingOutputFunc escaping);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlOutputBufferFlush (xmlOutputBufferPtr out);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlOutputBufferClose (xmlOutputBufferPtr out);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc,
xmlOutputOpenCallback openFunc,
xmlOutputWriteCallback writeFunc,
@@ -275,10 +281,10 @@ xmlOutputBufferPtr
#ifdef LIBXML_HTTP_ENABLED
/* This function only exists if HTTP support built into the library */
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRegisterHTTPPostCallbacks (void );
#endif /* LIBXML_HTTP_ENABLED */
-
+
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN xmlParserInputPtr XMLCALL
@@ -288,69 +294,69 @@ XMLPUBFUN xmlParserInputPtr XMLCALL
/*
* A predefined entity loader disabling network accesses
*/
-XMLPUBFUN xmlParserInputPtr XMLCALL
+XMLPUBFUN xmlParserInputPtr XMLCALL
xmlNoNetExternalEntityLoader (const char *URL,
const char *ID,
xmlParserCtxtPtr ctxt);
-/*
- * xmlNormalizeWindowsPath is obsolete, don't use it.
+/*
+ * xmlNormalizeWindowsPath is obsolete, don't use it.
* Check xmlCanonicPath in uri.h for a better alternative.
*/
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlNormalizeWindowsPath (const xmlChar *path);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlCheckFilename (const char *path);
/**
- * Default 'file://' protocol callbacks
+ * Default 'file://' protocol callbacks
*/
-XMLPUBFUN int XMLCALL
- xmlFileMatch (const char *filename);
-XMLPUBFUN void * XMLCALL
- xmlFileOpen (const char *filename);
-XMLPUBFUN int XMLCALL
- xmlFileRead (void * context,
- char * buffer,
+XMLPUBFUN int XMLCALL
+ xmlFileMatch (const char *filename);
+XMLPUBFUN void * XMLCALL
+ xmlFileOpen (const char *filename);
+XMLPUBFUN int XMLCALL
+ xmlFileRead (void * context,
+ char * buffer,
int len);
-XMLPUBFUN int XMLCALL
- xmlFileClose (void * context);
+XMLPUBFUN int XMLCALL
+ xmlFileClose (void * context);
/**
- * Default 'http://' protocol callbacks
+ * Default 'http://' protocol callbacks
*/
#ifdef LIBXML_HTTP_ENABLED
-XMLPUBFUN int XMLCALL
- xmlIOHTTPMatch (const char *filename);
-XMLPUBFUN void * XMLCALL
- xmlIOHTTPOpen (const char *filename);
+XMLPUBFUN int XMLCALL
+ xmlIOHTTPMatch (const char *filename);
+XMLPUBFUN void * XMLCALL
+ xmlIOHTTPOpen (const char *filename);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
xmlIOHTTPOpenW (const char * post_uri,
int compression );
#endif /* LIBXML_OUTPUT_ENABLED */
-XMLPUBFUN int XMLCALL
- xmlIOHTTPRead (void * context,
- char * buffer,
+XMLPUBFUN int XMLCALL
+ xmlIOHTTPRead (void * context,
+ char * buffer,
int len);
-XMLPUBFUN int XMLCALL
- xmlIOHTTPClose (void * context);
+XMLPUBFUN int XMLCALL
+ xmlIOHTTPClose (void * context);
#endif /* LIBXML_HTTP_ENABLED */
/**
- * Default 'ftp://' protocol callbacks
+ * Default 'ftp://' protocol callbacks
*/
-#ifdef LIBXML_FTP_ENABLED
-XMLPUBFUN int XMLCALL
- xmlIOFTPMatch (const char *filename);
-XMLPUBFUN void * XMLCALL
- xmlIOFTPOpen (const char *filename);
-XMLPUBFUN int XMLCALL
- xmlIOFTPRead (void * context,
- char * buffer,
+#ifdef LIBXML_FTP_ENABLED
+XMLPUBFUN int XMLCALL
+ xmlIOFTPMatch (const char *filename);
+XMLPUBFUN void * XMLCALL
+ xmlIOFTPOpen (const char *filename);
+XMLPUBFUN int XMLCALL
+ xmlIOFTPRead (void * context,
+ char * buffer,
int len);
-XMLPUBFUN int XMLCALL
- xmlIOFTPClose (void * context);
+XMLPUBFUN int XMLCALL
+ xmlIOFTPClose (void * context);
#endif /* LIBXML_FTP_ENABLED */
#ifdef __cplusplus
diff --git a/gettext-tools/gnulib-lib/libxml/xmlautomata.in.h b/gettext-tools/gnulib-lib/libxml/xmlautomata.in.h
index f98b55e..bf1b131 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlautomata.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlautomata.in.h
@@ -40,25 +40,25 @@ typedef xmlAutomataState *xmlAutomataStatePtr;
/*
* Building API
*/
-XMLPUBFUN xmlAutomataPtr XMLCALL
+XMLPUBFUN xmlAutomataPtr XMLCALL
xmlNewAutomata (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlFreeAutomata (xmlAutomataPtr am);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataGetInitState (xmlAutomataPtr am);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlAutomataSetFinalState (xmlAutomataPtr am,
xmlAutomataStatePtr state);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewState (xmlAutomataPtr am);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewTransition (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar *token,
void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewTransition2 (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
@@ -73,7 +73,7 @@ XMLPUBFUN xmlAutomataStatePtr XMLCALL
const xmlChar *token2,
void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewCountTrans (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
@@ -81,7 +81,7 @@ XMLPUBFUN xmlAutomataStatePtr XMLCALL
int min,
int max,
void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewCountTrans2 (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
@@ -90,7 +90,7 @@ XMLPUBFUN xmlAutomataStatePtr XMLCALL
int min,
int max,
void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewOnceTrans (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
@@ -99,46 +99,46 @@ XMLPUBFUN xmlAutomataStatePtr XMLCALL
int max,
void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
- xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
+ xmlAutomataNewOnceTrans2 (xmlAutomataPtr am,
xmlAutomataStatePtr from,
- xmlAutomataStatePtr to,
+ xmlAutomataStatePtr to,
const xmlChar *token,
const xmlChar *token2,
- int min,
- int max,
+ int min,
+ int max,
void *data);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewAllTrans (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int lax);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewEpsilon (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewCountedTrans (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int counter);
-XMLPUBFUN xmlAutomataStatePtr XMLCALL
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
xmlAutomataNewCounterTrans (xmlAutomataPtr am,
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int counter);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlAutomataNewCounter (xmlAutomataPtr am,
int min,
int max);
-XMLPUBFUN xmlRegexpPtr XMLCALL
+XMLPUBFUN xmlRegexpPtr XMLCALL
xmlAutomataCompile (xmlAutomataPtr am);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlAutomataIsDeterminist (xmlAutomataPtr am);
#ifdef __cplusplus
}
-#endif
+#endif
#endif /* LIBXML_AUTOMATA_ENABLED */
#endif /* LIBXML_REGEXP_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/xmlerror.in.h b/gettext-tools/gnulib-lib/libxml/xmlerror.in.h
index c5f2164..43e68ca 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlerror.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlerror.in.h
@@ -61,7 +61,10 @@ typedef enum {
XML_FROM_CHECK, /* The error checking module */
XML_FROM_WRITER, /* The xmlwriter module */
XML_FROM_MODULE, /* The dynamically loaded module module*/
- XML_FROM_I18N /* The module handling character conversion */
+ XML_FROM_I18N, /* The module handling character conversion */
+ XML_FROM_SCHEMATRONV,/* The Schematron validator module */
+ XML_FROM_BUFFER, /* The buffers module */
+ XML_FROM_URI /* The URI module */
} xmlErrorDomain;
/**
@@ -83,7 +86,7 @@ struct _xmlError {
char *str2; /* extra string information */
char *str3; /* extra string information */
int int1; /* extra number information */
- int int2; /* column number of the error or 0 if N/A (todo: rename this field when we would break ABI) */
+ int int2; /* error column # or 0 if N/A (todo: rename field when we would brk ABI) */
void *ctxt; /* the parser context if available */
void *node; /* the node in the tree */
};
@@ -202,11 +205,16 @@ typedef enum {
XML_ERR_NOTATION_PROCESSING, /* 105 */
XML_WAR_NS_COLUMN, /* 106 */
XML_WAR_ENTITY_REDEFINED, /* 107 */
+ XML_ERR_UNKNOWN_VERSION, /* 108 */
+ XML_ERR_VERSION_MISMATCH, /* 109 */
+ XML_ERR_NAME_TOO_LONG, /* 110 */
+ XML_ERR_USER_STOP, /* 111 */
XML_NS_ERR_XML_NAMESPACE = 200,
XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
XML_NS_ERR_QNAME, /* 202 */
XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */
XML_NS_ERR_EMPTY, /* 204 */
+ XML_NS_ERR_COLON, /* 205 */
XML_DTD_ATTRIBUTE_DEFAULT = 500,
XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */
XML_DTD_ATTRIBUTE_VALUE, /* 502 */
@@ -248,6 +256,7 @@ typedef enum {
XML_DTD_STANDALONE_DEFAULTED, /* 538 */
XML_DTD_XMLID_VALUE, /* 539 */
XML_DTD_XMLID_TYPE, /* 540 */
+ XML_DTD_DUP_TOKEN, /* 541 */
XML_HTML_STRUCURE_ERROR = 800,
XML_HTML_UNKNOWN_TAG, /* 801 */
XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
@@ -398,6 +407,7 @@ typedef enum {
XML_TREE_INVALID_HEX = 1300,
XML_TREE_INVALID_DEC, /* 1301 */
XML_TREE_UNTERMINATED_ENTITY, /* 1302 */
+ XML_TREE_NOT_UTF8, /* 1303 */
XML_SAVE_NOT_UTF8 = 1400,
XML_SAVE_CHAR_INVALID, /* 1401 */
XML_SAVE_NO_DOCTYPE, /* 1402 */
@@ -639,7 +649,7 @@ typedef enum {
XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */
XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */
XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */
- XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */
+ XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */
XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */
XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */
XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */
@@ -664,7 +674,7 @@ typedef enum {
XML_SCHEMAV_CVC_IDC, /* 1877 */
XML_SCHEMAV_CVC_WILDCARD, /* 1878 */
XML_SCHEMAV_MISC, /* 1879 */
- XML_XPTR_UNKNOWN_SCHEME = 1900,
+ XML_XPTR_UNKNOWN_SCHEME = 1900,
XML_XPTR_CHILDSEQ_START, /* 1901 */
XML_XPTR_EVAL_FAILED, /* 1902 */
XML_XPTR_EXTRA_OBJECTS, /* 1903 */
@@ -685,15 +695,15 @@ typedef enum {
XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */
XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */
XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */
- XML_SCHEMAP_SRC_RESOLVE, /* 3004 */
+ XML_SCHEMAP_SRC_RESOLVE, /* 3004 */
XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */
XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */
XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */
XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */
XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */
- XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */
+ XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */
XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */
- XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */
+ XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */
XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */
XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */
XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */
@@ -712,7 +722,7 @@ typedef enum {
XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */
XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */
XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */
- XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */
+ XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */
XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */
XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */
XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */
@@ -731,14 +741,14 @@ typedef enum {
XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */
XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */
XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */
- XML_SCHEMAP_SRC_INCLUDE, /* 3050 */
+ XML_SCHEMAP_SRC_INCLUDE, /* 3050 */
XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */
XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */
XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */
XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */
XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */
XML_SCHEMAP_NO_XMLNS, /* 3056 */
- XML_SCHEMAP_NO_XSI, /* 3057 */
+ XML_SCHEMAP_NO_XSI, /* 3057 */
XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */
XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */
XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */
@@ -773,6 +783,8 @@ typedef enum {
XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */
XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */
XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */
+ XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */
+ XML_SCHEMATRONV_REPORT,
XML_MODULE_OPEN = 4900, /* 4900 */
XML_MODULE_CLOSE, /* 4901 */
XML_CHECK_FOUND_ELEMENT = 5000,
@@ -817,11 +829,8 @@ typedef enum {
XML_I18N_NO_HANDLER, /* 6001 */
XML_I18N_EXCESS_HANDLER, /* 6002 */
XML_I18N_CONV_FAILED, /* 6003 */
- XML_I18N_NO_OUTPUT /* 6004 */
-#if 0
- XML_CHECK_, /* 5033 */
- XML_CHECK_X /* 503 */
-#endif
+ XML_I18N_NO_OUTPUT, /* 6004 */
+ XML_BUF_OVERFLOW = 7000
} xmlParserErrors;
/**
@@ -835,7 +844,7 @@ typedef enum {
*/
typedef void (XMLCDECL *xmlGenericErrorFunc) (void *ctx,
const char *msg,
- ...);
+ ...) LIBXML_ATTR_FORMAT(2,3);
/**
* xmlStructuredErrorFunc:
* @userData: user provided data for the error callback
@@ -850,38 +859,38 @@ typedef void (XMLCALL *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr erro
* Use the following function to reset the two global variables
* xmlGenericError and xmlGenericErrorContext.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetGenericErrorFunc (void *ctx,
xmlGenericErrorFunc handler);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSetStructuredErrorFunc (void *ctx,
xmlStructuredErrorFunc handler);
/*
* Default message routines used by SAX and Valid context for error
* and warning reporting.
*/
-XMLPUBFUN void XMLCDECL
+XMLPUBFUN void XMLCDECL
xmlParserError (void *ctx,
const char *msg,
- ...);
-XMLPUBFUN void XMLCDECL
+ ...) LIBXML_ATTR_FORMAT(2,3);
+XMLPUBFUN void XMLCDECL
xmlParserWarning (void *ctx,
const char *msg,
- ...);
-XMLPUBFUN void XMLCDECL
+ ...) LIBXML_ATTR_FORMAT(2,3);
+XMLPUBFUN void XMLCDECL
xmlParserValidityError (void *ctx,
const char *msg,
- ...);
-XMLPUBFUN void XMLCDECL
+ ...) LIBXML_ATTR_FORMAT(2,3);
+XMLPUBFUN void XMLCDECL
xmlParserValidityWarning (void *ctx,
const char *msg,
- ...);
-XMLPUBFUN void XMLCALL
+ ...) LIBXML_ATTR_FORMAT(2,3);
+XMLPUBFUN void XMLCALL
xmlParserPrintFileInfo (xmlParserInputPtr input);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlParserPrintFileContext (xmlParserInputPtr input);
/*
@@ -899,19 +908,19 @@ XMLPUBFUN void XMLCALL
xmlResetError (xmlErrorPtr err);
XMLPUBFUN int XMLCALL
xmlCopyError (xmlErrorPtr from,
- xmlErrorPtr to);
+ xmlErrorPtr to);
#ifdef IN_LIBXML
/*
* Internal callback reporting routine
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
__xmlRaiseError (xmlStructuredErrorFunc schannel,
- xmlGenericErrorFunc channel,
- void *data,
+ xmlGenericErrorFunc channel,
+ void *data,
void *ctx,
- void *node,
- int domain,
+ void *node,
+ int domain,
int code,
xmlErrorLevel level,
const char *file,
@@ -922,10 +931,10 @@ XMLPUBFUN void XMLCALL
int int1,
int col,
const char *msg,
- ...);
-XMLPUBFUN void XMLCALL
+ ...) LIBXML_ATTR_FORMAT(16,17);
+XMLPUBFUN void XMLCALL
__xmlSimpleError (int domain,
- int code,
+ int code,
xmlNodePtr node,
const char *msg,
const char *extra);
diff --git a/gettext-tools/gnulib-lib/libxml/xmlexports.in.h b/gettext-tools/gnulib-lib/libxml/xmlexports.in.h
index 29a6f54..2c79f81 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlexports.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlexports.in.h
@@ -43,7 +43,7 @@
/**
* XMLCDECL:
*
- * Macro which declares the calling convention for exported functions that
+ * Macro which declares the calling convention for exported functions that
* use '...'.
*/
#define XMLCDECL
@@ -108,9 +108,14 @@
#undef XMLPUBVAR
#undef XMLCALL
#undef XMLCDECL
+ /*
+ * if defined(IN_LIBXML) this raises problems on mingw with msys
+ * _imp__xmlFree listed as missing. Try to workaround the problem
+ * by also making that declaration when compiling client code.
+ */
#if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
#define XMLPUBFUN __declspec(dllexport)
- #define XMLPUBVAR __declspec(dllexport)
+ #define XMLPUBVAR __declspec(dllexport) extern
#else
#define XMLPUBFUN
#if !defined(LIBXML_STATIC)
diff --git a/gettext-tools/gnulib-lib/libxml/xmlmemory.c b/gettext-tools/gnulib-lib/libxml/xmlmemory.c
index 362a0b0..f24fd6d 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlmemory.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlmemory.c
@@ -34,7 +34,7 @@
/**
* MEM_LIST:
*
- * keep track of all allocated blocks for error reporting
+ * keep track of all allocated blocks for error reporting
* Always build the memory list !
*/
#ifdef DEBUG_MEMORY_LOCATION
@@ -58,7 +58,7 @@ void xmlMallocBreakpoint(void);
/************************************************************************
* *
- * Macros, variables and associated types *
+ * Macros, variables and associated types *
* *
************************************************************************/
@@ -162,7 +162,7 @@ xmlMallocLoc(size_t size, const char * file, int line)
{
MEMHDR *p;
void *ret;
-
+
if (!xmlMemInitialized) xmlInitMemory();
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
@@ -170,7 +170,7 @@ xmlMallocLoc(size_t size, const char * file, int line)
#endif
TEST_POINT
-
+
p = (MEMHDR *) malloc(RESERVE_SIZE+size);
if (!p) {
@@ -178,7 +178,7 @@ xmlMallocLoc(size_t size, const char * file, int line)
"xmlMallocLoc : Out of free space\n");
xmlMemoryDump();
return(NULL);
- }
+ }
p->mh_tag = MEMTAG;
p->mh_size = size;
p->mh_type = MALLOC_TYPE;
@@ -193,19 +193,20 @@ xmlMallocLoc(size_t size, const char * file, int line)
debugmem_list_add(p);
#endif
xmlMutexUnlock(xmlMemMutex);
-
+
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"Malloc(%d) Ok\n",size);
#endif
-
+
if (xmlMemStopAtBlock == p->mh_number) xmlMallocBreakpoint();
ret = HDR_2_CLIENT(p);
if (xmlMemTraceBlockAt == ret) {
xmlGenericError(xmlGenericErrorContext,
- "%p : Malloc(%d) Ok\n", xmlMemTraceBlockAt, size);
+ "%p : Malloc(%lu) Ok\n", xmlMemTraceBlockAt,
+ (long unsigned)size);
xmlMallocBreakpoint();
}
@@ -230,7 +231,7 @@ xmlMallocAtomicLoc(size_t size, const char * file, int line)
{
MEMHDR *p;
void *ret;
-
+
if (!xmlMemInitialized) xmlInitMemory();
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
@@ -238,7 +239,7 @@ xmlMallocAtomicLoc(size_t size, const char * file, int line)
#endif
TEST_POINT
-
+
p = (MEMHDR *) malloc(RESERVE_SIZE+size);
if (!p) {
@@ -246,7 +247,7 @@ xmlMallocAtomicLoc(size_t size, const char * file, int line)
"xmlMallocLoc : Out of free space\n");
xmlMemoryDump();
return(NULL);
- }
+ }
p->mh_tag = MEMTAG;
p->mh_size = size;
p->mh_type = MALLOC_ATOMIC_TYPE;
@@ -266,14 +267,15 @@ xmlMallocAtomicLoc(size_t size, const char * file, int line)
xmlGenericError(xmlGenericErrorContext,
"Malloc(%d) Ok\n",size);
#endif
-
+
if (xmlMemStopAtBlock == p->mh_number) xmlMallocBreakpoint();
ret = HDR_2_CLIENT(p);
if (xmlMemTraceBlockAt == ret) {
xmlGenericError(xmlGenericErrorContext,
- "%p : Malloc(%d) Ok\n", xmlMemTraceBlockAt, size);
+ "%p : Malloc(%lu) Ok\n", xmlMemTraceBlockAt,
+ (long unsigned)size);
xmlMallocBreakpoint();
}
@@ -311,7 +313,7 @@ xmlMemMalloc(size_t size)
void *
xmlReallocLoc(void *ptr,size_t size, const char * file, int line)
{
- MEMHDR *p;
+ MEMHDR *p, *tmp;
unsigned long number;
#ifdef DEBUG_MEMORY
size_t oldsize;
@@ -341,15 +343,18 @@ xmlReallocLoc(void *ptr,size_t size, const char * file, int line)
debugmem_list_delete(p);
#endif
xmlMutexUnlock(xmlMemMutex);
-
- p = (MEMHDR *) realloc(p,RESERVE_SIZE+size);
- if (!p) {
+
+ tmp = (MEMHDR *) realloc(p,RESERVE_SIZE+size);
+ if (!tmp) {
+ free(p);
goto error;
}
+ p = tmp;
if (xmlMemTraceBlockAt == ptr) {
xmlGenericError(xmlGenericErrorContext,
- "%p : Realloced(%d -> %d) Ok\n",
- xmlMemTraceBlockAt, p->mh_size, size);
+ "%p : Realloced(%lu -> %lu) Ok\n",
+ xmlMemTraceBlockAt, (long unsigned)p->mh_size,
+ (long unsigned)size);
xmlMallocBreakpoint();
}
p->mh_tag = MEMTAG;
@@ -374,8 +379,8 @@ xmlReallocLoc(void *ptr,size_t size, const char * file, int line)
"Realloced(%d to %d) Ok\n", oldsize, size);
#endif
return(HDR_2_CLIENT(p));
-
-error:
+
+error:
return(NULL);
}
@@ -409,6 +414,9 @@ xmlMemFree(void *ptr)
size_t size;
#endif
+ if (ptr == NULL)
+ return;
+
if (ptr == (void *) -1) {
xmlGenericError(xmlGenericErrorContext,
"trying to free pointer from freed area\n");
@@ -452,10 +460,10 @@ xmlMemFree(void *ptr)
xmlGenericError(xmlGenericErrorContext,
"Freed(%d) Ok\n", size);
#endif
-
+
return;
-
-error:
+
+error:
xmlGenericError(xmlGenericErrorContext,
"xmlMemFree(%lX) error\n", (unsigned long) ptr);
xmlMallocBreakpoint();
@@ -501,16 +509,13 @@ xmlMemStrdupLoc(const char *str, const char *file, int line)
debugmem_list_add(p);
#endif
xmlMutexUnlock(xmlMemMutex);
-
+
s = (char *) HDR_2_CLIENT(p);
-
+
if (xmlMemStopAtBlock == p->mh_number) xmlMallocBreakpoint();
- if (s != NULL)
- strcpy(s,str);
- else
- goto error;
-
+ strcpy(s,str);
+
TEST_POINT
if (xmlMemTraceBlockAt == s) {
@@ -549,7 +554,12 @@ xmlMemoryStrdup(const char *str) {
int
xmlMemUsed(void) {
- return(debugMemSize);
+ int res;
+
+ xmlMutexLock(xmlMemMutex);
+ res = debugMemSize;
+ xmlMutexUnlock(xmlMemMutex);
+ return(res);
}
/**
@@ -562,7 +572,12 @@ xmlMemUsed(void) {
int
xmlMemBlocks(void) {
- return(debugMemBlocks);
+ int res;
+
+ xmlMutexLock(xmlMemMutex);
+ res = debugMemBlocks;
+ xmlMutexUnlock(xmlMemMutex);
+ return(res);
}
#ifdef MEM_LIST
@@ -577,13 +592,15 @@ xmlMemBlocks(void) {
static void
xmlMemContentShow(FILE *fp, MEMHDR *p)
{
- int i,j,k,len = p->mh_size;
- const char *buf = (const char *) HDR_2_CLIENT(p);
+ int i,j,k,len;
+ const char *buf;
if (p == NULL) {
fprintf(fp, " NULL");
return;
}
+ len = p->mh_size;
+ buf = (const char *) HDR_2_CLIENT(p);
for (i = 0;i < len;i++) {
if (buf[i] == 0) break;
@@ -614,7 +631,7 @@ xmlMemContentShow(FILE *fp, MEMHDR *p)
} else if ((i == 0) && (buf[i] == 0)) {
fprintf(fp," null");
} else {
- if (buf[i] == 0) fprintf(fp," \"%.25s\"", buf);
+ if (buf[i] == 0) fprintf(fp," \"%.25s\"", buf);
else {
fprintf(fp," [");
for (j = 0;j < i;j++)
@@ -626,6 +643,79 @@ xmlMemContentShow(FILE *fp, MEMHDR *p)
#endif
/**
+ * xmlMemDisplayLast:
+ * @fp: a FILE descriptor used as the output file, if NULL, the result is
+ * written to the file .memorylist
+ * @nbBytes: the amount of memory to dump
+ *
+ * the last nbBytes of memory allocated and not freed, useful for dumping
+ * the memory left allocated between two places at runtime.
+ */
+
+void
+xmlMemDisplayLast(FILE *fp, long nbBytes)
+{
+#ifdef MEM_LIST
+ MEMHDR *p;
+ unsigned idx;
+ int nb = 0;
+#endif
+ FILE *old_fp = fp;
+
+ if (nbBytes <= 0)
+ return;
+
+ if (fp == NULL) {
+ fp = fopen(".memorylist", "w");
+ if (fp == NULL)
+ return;
+ }
+
+#ifdef MEM_LIST
+ fprintf(fp," Last %li MEMORY ALLOCATED : %lu, MAX was %lu\n",
+ nbBytes, debugMemSize, debugMaxMemSize);
+ fprintf(fp,"BLOCK NUMBER SIZE TYPE\n");
+ idx = 0;
+ xmlMutexLock(xmlMemMutex);
+ p = memlist;
+ while ((p) && (nbBytes > 0)) {
+ fprintf(fp,"%-5u %6lu %6lu ",idx++,p->mh_number,
+ (unsigned long)p->mh_size);
+ switch (p->mh_type) {
+ case STRDUP_TYPE:fprintf(fp,"strdup() in ");break;
+ case MALLOC_TYPE:fprintf(fp,"malloc() in ");break;
+ case REALLOC_TYPE:fprintf(fp,"realloc() in ");break;
+ case MALLOC_ATOMIC_TYPE:fprintf(fp,"atomicmalloc() in ");break;
+ case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
+ default:
+ fprintf(fp,"Unknown memory block, may be corrupted");
+ xmlMutexUnlock(xmlMemMutex);
+ if (old_fp == NULL)
+ fclose(fp);
+ return;
+ }
+ if (p->mh_file != NULL) fprintf(fp,"%s(%u)", p->mh_file, p->mh_line);
+ if (p->mh_tag != MEMTAG)
+ fprintf(fp," INVALID");
+ nb++;
+ if (nb < 100)
+ xmlMemContentShow(fp, p);
+ else
+ fprintf(fp," skip");
+
+ fprintf(fp,"\n");
+ nbBytes -= (unsigned long)p->mh_size;
+ p = p->mh_next;
+ }
+ xmlMutexUnlock(xmlMemMutex);
+#else
+ fprintf(fp,"Memory list not compiled (MEM_LIST not defined !)\n");
+#endif
+ if (old_fp == NULL)
+ fclose(fp);
+}
+
+/**
* xmlMemDisplay:
* @fp: a FILE descriptor used as the output file, if NULL, the result is
* written to the file .memorylist
@@ -662,7 +752,7 @@ xmlMemDisplay(FILE *fp)
fprintf(fp," %s\n\n", buf);
#endif
-
+
fprintf(fp," MEMORY ALLOCATED : %lu, MAX was %lu\n",
debugMemSize, debugMaxMemSize);
fprintf(fp,"BLOCK NUMBER SIZE TYPE\n");
@@ -739,7 +829,7 @@ static void debugmem_list_delete(MEMHDR *p)
*
* internal error function.
*/
-
+
static void debugmem_tag_error(void *p)
{
xmlGenericError(xmlGenericErrorContext,
@@ -799,7 +889,7 @@ xmlMemShow(FILE *fp, int nr ATTRIBUTE_UNUSED)
}
}
xmlMutexUnlock(xmlMemMutex);
-#endif /* MEM_LIST */
+#endif /* MEM_LIST */
}
/**
@@ -846,11 +936,11 @@ xmlInitMemory(void)
{
#ifdef HAVE_STDLIB_H
char *breakpoint;
-#endif
+#endif
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlInitMemory()\n");
-#endif
+#endif
/*
This is really not good code (see Bug 130419). Suggestions for
improvement will be welcome!
@@ -864,18 +954,18 @@ xmlInitMemory(void)
if (breakpoint != NULL) {
sscanf(breakpoint, "%ud", &xmlMemStopAtBlock);
}
-#endif
+#endif
#ifdef HAVE_STDLIB_H
breakpoint = getenv("XML_MEM_TRACE");
if (breakpoint != NULL) {
sscanf(breakpoint, "%p", &xmlMemTraceBlockAt);
}
-#endif
-
+#endif
+
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlInitMemory() Ok\n");
-#endif
+#endif
return(0);
}
@@ -890,7 +980,7 @@ xmlCleanupMemory(void) {
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlCleanupMemory()\n");
-#endif
+#endif
if (xmlMemInitialized == 0)
return;
@@ -900,7 +990,7 @@ xmlCleanupMemory(void) {
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlCleanupMemory() Ok\n");
-#endif
+#endif
}
/**
@@ -924,7 +1014,7 @@ xmlMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc,
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlMemSetup()\n");
-#endif
+#endif
if (freeFunc == NULL)
return(-1);
if (mallocFunc == NULL)
@@ -941,7 +1031,7 @@ xmlMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc,
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlMemSetup() Ok\n");
-#endif
+#endif
return(0);
}
@@ -991,7 +1081,7 @@ xmlGcMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc,
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlGcMemSetup()\n");
-#endif
+#endif
if (freeFunc == NULL)
return(-1);
if (mallocFunc == NULL)
@@ -1010,7 +1100,7 @@ xmlGcMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc,
#ifdef DEBUG_MEMORY
xmlGenericError(xmlGenericErrorContext,
"xmlGcMemSetup() Ok\n");
-#endif
+#endif
return(0);
}
diff --git a/gettext-tools/gnulib-lib/libxml/xmlmemory.in.h b/gettext-tools/gnulib-lib/libxml/xmlmemory.in.h
index 235721c..17e375a 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlmemory.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlmemory.in.h
@@ -20,7 +20,7 @@
*
* DEBUG_MEMORY replaces the allocator with a collect and debug
* shell to the libc allocator.
- * DEBUG_MEMORY should only be activated when debugging
+ * DEBUG_MEMORY should only be activated when debugging
* libxml i.e. if libxml has been configured with --with-debug-mem too.
*/
/* #define DEBUG_MEMORY_FREED */
@@ -35,7 +35,7 @@
/**
* DEBUG_MEMORY_LOCATION:
*
- * DEBUG_MEMORY_LOCATION should be activated only when debugging
+ * DEBUG_MEMORY_LOCATION should be activated only when debugging
* libxml i.e. if libxml has been configured with --with-debug-mem too.
*/
#ifdef DEBUG_MEMORY_LOCATION
@@ -63,7 +63,7 @@ typedef void (XMLCALL *xmlFreeFunc)(void *mem);
*
* Returns a pointer to the newly allocated block or NULL in case of error.
*/
-typedef void *(XMLCALL *xmlMallocFunc)(size_t size);
+typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size);
/**
* xmlReallocFunc:
@@ -88,11 +88,11 @@ typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);
/*
* The 4 interfaces used for all memory handling within libxml.
-LIBXML_DLL_IMPORT extern xmlFreeFunc xmlFree;
-LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMalloc;
-LIBXML_DLL_IMPORT extern xmlMallocFunc xmlMallocAtomic;
-LIBXML_DLL_IMPORT extern xmlReallocFunc xmlRealloc;
-LIBXML_DLL_IMPORT extern xmlStrdupFunc xmlMemStrdup;
+LIBXML_DLL_IMPORT xmlFreeFunc xmlFree;
+LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc;
+LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic;
+LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc;
+LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup;
*/
/*
@@ -105,18 +105,18 @@ XMLPUBFUN int XMLCALL
xmlMallocFunc mallocFunc,
xmlReallocFunc reallocFunc,
xmlStrdupFunc strdupFunc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlMemGet (xmlFreeFunc *freeFunc,
xmlMallocFunc *mallocFunc,
xmlReallocFunc *reallocFunc,
xmlStrdupFunc *strdupFunc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlGcMemSetup (xmlFreeFunc freeFunc,
xmlMallocFunc mallocFunc,
xmlMallocFunc mallocAtomicFunc,
xmlReallocFunc reallocFunc,
xmlStrdupFunc strdupFunc);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlGcMemGet (xmlFreeFunc *freeFunc,
xmlMallocFunc *mallocFunc,
xmlMallocFunc *mallocAtomicFunc,
@@ -126,42 +126,44 @@ XMLPUBFUN int XMLCALL
/*
* Initialization of the memory layer.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlInitMemory (void);
-/*
+/*
* Cleanup of the memory layer.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlCleanupMemory (void);
/*
* These are specific to the XML debug memory wrapper.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlMemUsed (void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlMemBlocks (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlMemDisplay (FILE *fp);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
+ xmlMemDisplayLast(FILE *fp, long nbBytes);
+XMLPUBFUN void XMLCALL
xmlMemShow (FILE *fp, int nr);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlMemoryDump (void);
-XMLPUBFUN void * XMLCALL
- xmlMemMalloc (size_t size);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
+ xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
+XMLPUBFUN void * XMLCALL
xmlMemRealloc (void *ptr,size_t size);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlMemFree (void *ptr);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN char * XMLCALL
xmlMemoryStrdup (const char *str);
-XMLPUBFUN void * XMLCALL
- xmlMallocLoc (size_t size, const char *file, int line);
-XMLPUBFUN void * XMLCALL
+XMLPUBFUN void * XMLCALL
+ xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
+XMLPUBFUN void * XMLCALL
xmlReallocLoc (void *ptr, size_t size, const char *file, int line);
-XMLPUBFUN void * XMLCALL
- xmlMallocAtomicLoc (size_t size, const char *file, int line);
-XMLPUBFUN char * XMLCALL
+XMLPUBFUN void * XMLCALL
+ xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
+XMLPUBFUN char * XMLCALL
xmlMemStrdupLoc (const char *str, const char *file, int line);
diff --git a/gettext-tools/gnulib-lib/libxml/xmlmodule.c b/gettext-tools/gnulib-lib/libxml/xmlmodule.c
index 15bcf07..50ed666 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlmodule.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlmodule.c
@@ -30,7 +30,7 @@ static int xmlModulePlatformSymbol(void *handle, const char *name, void **result
/************************************************************************
* *
- * module memory error handler *
+ * module memory error handler *
* *
************************************************************************/
@@ -61,6 +61,10 @@ xmlModuleErrMemory(xmlModulePtr module, const char *extra)
* @options: a set of xmlModuleOption
*
* Opens a module/shared library given its name or path
+ * NOTE: that due to portability issues, behaviour can only be
+ * guaranteed with @name using ASCII. We canot guarantee that
+ * an UTF-8 string would work, which is why name is a const char *
+ * and not a const xmlChar * .
* TODO: options are not yet implemented.
*
* Returns a handle for the module or NULL in case of error
@@ -99,6 +103,10 @@ xmlModuleOpen(const char *name, int options ATTRIBUTE_UNUSED)
* @symbol: the resulting symbol address
*
* Lookup for a symbol address in the given module
+ * NOTE: that due to portability issues, behaviour can only be
+ * guaranteed with @name using ASCII. We canot guarantee that
+ * an UTF-8 string would work, which is why name is a const char *
+ * and not a const xmlChar * .
*
* Returns 0 if the symbol was found, or -1 in case of error
*/
@@ -106,8 +114,8 @@ int
xmlModuleSymbol(xmlModulePtr module, const char *name, void **symbol)
{
int rc = -1;
-
- if ((NULL == module) || (symbol == NULL)) {
+
+ if ((NULL == module) || (symbol == NULL) || (name == NULL)) {
__xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0,
NULL, NULL, 0, 0, "null parameter\n");
@@ -190,7 +198,7 @@ xmlModuleFree(xmlModulePtr module)
return (0);
}
-#ifdef HAVE_DLOPEN
+#if defined(HAVE_DLOPEN) && !defined(_WIN32)
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#endif
@@ -300,7 +308,7 @@ xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
static void *
xmlModulePlatformOpen(const char *name)
{
- return LoadLibrary(name);
+ return LoadLibraryA(name);
}
/*
@@ -326,7 +334,14 @@ xmlModulePlatformClose(void *handle)
static int
xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
{
+#ifdef _WIN32_WCE
+ /*
+ * GetProcAddressA seems only available on WinCE
+ */
+ *symbol = GetProcAddressA(handle, name);
+#else
*symbol = GetProcAddress(handle, name);
+#endif
return (NULL == *symbol) ? -1 : 0;
}
diff --git a/gettext-tools/gnulib-lib/libxml/xmlmodule.in.h b/gettext-tools/gnulib-lib/libxml/xmlmodule.in.h
index 8f4a560..9667820 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlmodule.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlmodule.in.h
@@ -50,7 +50,7 @@ XMLPUBFUN int XMLCALL xmlModuleFree (xmlModulePtr module);
#ifdef __cplusplus
}
-#endif
+#endif
#endif /* LIBXML_MODULES_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/xmlreader.c b/gettext-tools/gnulib-lib/libxml/xmlreader.c
index c8bcf7b..471e7e2 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlreader.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlreader.c
@@ -1,7 +1,7 @@
/*
* xmlreader.c: implements the xmlTextReader streaming node API
*
- * NOTE:
+ * NOTE:
* XmlTextReader.Normalization Property won't be supported, since
* it makes the parser non compliant to the XML recommendation
*
@@ -44,6 +44,33 @@
#include <libxml/pattern.h>
#endif
+#include "buf.h"
+
+#define MAX_ERR_MSG_SIZE 64000
+
+/*
+ * The following VA_COPY was coded following an example in
+ * the Samba project. It may not be sufficient for some
+ * esoteric implementations of va_list but (hopefully) will
+ * be sufficient for libxml2.
+ */
+#ifndef VA_COPY
+ #ifdef HAVE_VA_COPY
+ #define VA_COPY(dest, src) va_copy(dest, src)
+ #else
+ #ifdef HAVE___VA_COPY
+ #define VA_COPY(dest,src) __va_copy(dest, src)
+ #else
+ #ifndef VA_LIST_IS_ARRAY
+ #define VA_COPY(dest,src) (dest) = (src)
+ #else
+ #include <string.h>
+ #define VA_COPY(dest,src) memcpy((char *)(dest),(char *)(src),sizeof(va_list))
+ #endif
+ #endif
+ #endif
+#endif
+
/* #define DEBUG_CALLBACKS */
/* #define DEBUG_READER */
@@ -52,7 +79,7 @@
*
* macro to flag unimplemented blocks
*/
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -107,14 +134,14 @@ struct _xmlTextReader {
endElementNsSAX2Func endElementNs; /* idem */
charactersSAXFunc characters;
cdataBlockSAXFunc cdataBlock;
- unsigned int base; /* base of the segment in the input */
- unsigned int cur; /* current position in the input */
+ unsigned int base; /* base of the segment in the input */
+ unsigned int cur; /* current position in the input */
xmlNodePtr node; /* current node */
xmlNodePtr curnode;/* current attribute node */
int depth; /* depth of the current node */
xmlNodePtr faketext;/* fake xmlNs chld */
int preserve;/* preserve the resulting document */
- xmlBufferPtr buffer; /* used to return const xmlChar * */
+ xmlBufPtr buffer; /* used to return const xmlChar * */
xmlDictPtr dict; /* the context dictionnary */
/* entity stack when traversing entities content */
@@ -131,6 +158,7 @@ struct _xmlTextReader {
/* Handling of RelaxNG validation */
xmlRelaxNGPtr rngSchemas; /* The Relax NG schemas */
xmlRelaxNGValidCtxtPtr rngValidCtxt;/* The Relax NG validation context */
+ int rngPreserveCtxt; /* 1 if the context was provided by the user */
int rngValidErrors;/* The number of errors detected */
xmlNodePtr rngFullNode; /* the node if RNG not progressive */
/* Handling of Schemas validation */
@@ -186,7 +214,7 @@ static int xmlTextReaderNextTree(xmlTextReaderPtr reader);
* current scope
*/
#define DICT_FREE(str) \
- if ((str) && ((!dict) || \
+ if ((str) && ((!dict) || \
(xmlDictOwns(dict, (const xmlChar *)(str)) == 0))) \
xmlFree((char *)(str));
@@ -231,11 +259,9 @@ xmlTextReaderRemoveID(xmlDocPtr doc, xmlAttrPtr attr) {
if (doc == NULL) return(-1);
if (attr == NULL) return(-1);
table = (xmlIDTablePtr) doc->ids;
- if (table == NULL)
+ if (table == NULL)
return(-1);
- if (attr == NULL)
- return(-1);
ID = xmlNodeListGetString(doc, attr->children, 1);
if (ID == NULL)
return(-1);
@@ -260,7 +286,10 @@ static void
xmlTextReaderFreeProp(xmlTextReaderPtr reader, xmlAttrPtr cur) {
xmlDictPtr dict;
- dict = reader->ctxt->dict;
+ if ((reader != NULL) && (reader->ctxt != NULL))
+ dict = reader->ctxt->dict;
+ else
+ dict = NULL;
if (cur == NULL) return;
if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue))
@@ -297,7 +326,7 @@ xmlTextReaderFreeProp(xmlTextReaderPtr reader, xmlAttrPtr cur) {
static void
xmlTextReaderFreePropList(xmlTextReaderPtr reader, xmlAttrPtr cur) {
xmlAttrPtr next;
- if (cur == NULL) return;
+
while (cur != NULL) {
next = cur->next;
xmlTextReaderFreeProp(reader, cur);
@@ -318,7 +347,10 @@ xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur) {
xmlNodePtr next;
xmlDictPtr dict;
- dict = reader->ctxt->dict;
+ if ((reader != NULL) && (reader->ctxt != NULL))
+ dict = reader->ctxt->dict;
+ else
+ dict = NULL;
if (cur == NULL) return;
if (cur->type == XML_NAMESPACE_DECL) {
xmlFreeNsList((xmlNsPtr) cur);
@@ -395,7 +427,10 @@ static void
xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) {
xmlDictPtr dict;
- dict = reader->ctxt->dict;
+ if ((reader != NULL) && (reader->ctxt != NULL))
+ dict = reader->ctxt->dict;
+ else
+ dict = NULL;
if (cur->type == XML_DTD_NODE) {
xmlFreeDtd((xmlDtdPtr) cur);
return;
@@ -787,9 +822,10 @@ xmlTextReaderCDataBlock(void *ctx, const xmlChar *ch, int len)
*/
static int
xmlTextReaderPushData(xmlTextReaderPtr reader) {
- xmlBufferPtr inbuf;
+ xmlBufPtr inbuf;
int val, s;
xmlTextReaderState oldstate;
+ int alloc;
if ((reader->input == NULL) || (reader->input->buffer == NULL))
return(-1);
@@ -797,17 +833,18 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
oldstate = reader->state;
reader->state = XML_TEXTREADER_NONE;
inbuf = reader->input->buffer;
+ alloc = xmlBufGetAllocationScheme(inbuf);
while (reader->state == XML_TEXTREADER_NONE) {
- if (inbuf->use < reader->cur + CHUNK_SIZE) {
+ if (xmlBufUse(inbuf) < reader->cur + CHUNK_SIZE) {
/*
* Refill the buffer unless we are at the end of the stream
*/
if (reader->mode != XML_TEXTREADER_MODE_EOF) {
val = xmlParserInputBufferRead(reader->input, 4096);
if ((val == 0) &&
- (inbuf->alloc == XML_BUFFER_ALLOC_IMMUTABLE)) {
- if (inbuf->use == reader->cur) {
+ (alloc == XML_BUFFER_ALLOC_IMMUTABLE)) {
+ if (xmlBufUse(inbuf) == reader->cur) {
reader->mode = XML_TEXTREADER_MODE_EOF;
reader->state = oldstate;
}
@@ -823,28 +860,30 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
break;
}
- } else
+ } else
break;
}
/*
* parse by block of CHUNK_SIZE bytes, various tests show that
* it's the best tradeoff at least on a 1.2GH Duron
*/
- if (inbuf->use >= reader->cur + CHUNK_SIZE) {
+ if (xmlBufUse(inbuf) >= reader->cur + CHUNK_SIZE) {
val = xmlParseChunk(reader->ctxt,
- (const char *) &inbuf->content[reader->cur],
- CHUNK_SIZE, 0);
+ (const char *) xmlBufContent(inbuf) + reader->cur,
+ CHUNK_SIZE, 0);
reader->cur += CHUNK_SIZE;
- if ((val != 0) || (reader->ctxt->wellFormed == 0))
- return(-1);
+ if (val != 0)
+ reader->ctxt->wellFormed = 0;
+ if (reader->ctxt->wellFormed == 0)
+ break;
} else {
- s = inbuf->use - reader->cur;
+ s = xmlBufUse(inbuf) - reader->cur;
val = xmlParseChunk(reader->ctxt,
- (const char *) &inbuf->content[reader->cur],
- s, 0);
+ (const char *) xmlBufContent(inbuf) + reader->cur,
+ s, 0);
reader->cur += s;
- if ((val != 0) || (reader->ctxt->wellFormed == 0))
- return(-1);
+ if (val != 0)
+ reader->ctxt->wellFormed = 0;
break;
}
}
@@ -853,10 +892,10 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
* Discard the consumed input when needed and possible
*/
if (reader->mode == XML_TEXTREADER_MODE_INTERACTIVE) {
- if (inbuf->alloc != XML_BUFFER_ALLOC_IMMUTABLE) {
+ if (alloc != XML_BUFFER_ALLOC_IMMUTABLE) {
if ((reader->cur >= 4096) &&
- (inbuf->use - reader->cur <= CHUNK_SIZE)) {
- val = xmlBufferShrink(inbuf, reader->cur);
+ (xmlBufUse(inbuf) - reader->cur <= CHUNK_SIZE)) {
+ val = xmlBufShrink(inbuf, reader->cur);
if (val >= 0) {
reader->cur -= val;
}
@@ -869,18 +908,27 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
* parser.
*/
else if (reader->mode == XML_TEXTREADER_MODE_EOF) {
- if (reader->mode != XML_TEXTREADER_DONE) {
- s = inbuf->use - reader->cur;
+ if (reader->state != XML_TEXTREADER_DONE) {
+ s = xmlBufUse(inbuf) - reader->cur;
val = xmlParseChunk(reader->ctxt,
- (const char *) &inbuf->content[reader->cur],
- s, 1);
- reader->cur = inbuf->use;
- reader->mode = XML_TEXTREADER_DONE;
- if ((val != 0) || (reader->ctxt->wellFormed == 0))
- return(-1);
+ (const char *) xmlBufContent(inbuf) + reader->cur,
+ s, 1);
+ reader->cur = xmlBufUse(inbuf);
+ reader->state = XML_TEXTREADER_DONE;
+ if (val != 0) {
+ if (reader->ctxt->wellFormed)
+ reader->ctxt->wellFormed = 0;
+ else
+ return(-1);
+ }
}
}
reader->state = oldstate;
+ if (reader->ctxt->wellFormed == 0) {
+ reader->mode = XML_TEXTREADER_MODE_EOF;
+ return(-1);
+ }
+
return(0);
}
@@ -949,7 +997,7 @@ printf("Expand failed !\n");
* xmlTextReaderValidateCData:
* @reader: the xmlTextReaderPtr used
* @data: pointer to the CData
- * @len: lenght of the CData block in bytes.
+ * @len: length of the CData block in bytes.
*
* Push some CData for validation
*/
@@ -1012,7 +1060,7 @@ xmlTextReaderValidatePop(xmlTextReaderPtr reader) {
int ret;
if (reader->rngFullNode != NULL) {
- if (node == reader->rngFullNode)
+ if (node == reader->rngFullNode)
reader->rngFullNode = NULL;
return;
}
@@ -1047,7 +1095,7 @@ xmlTextReaderValidateEntity(xmlTextReaderPtr reader) {
*/
if ((node->children == NULL) && (ctxt->sax != NULL) &&
(ctxt->sax->getEntity != NULL)) {
- node->children = (xmlNodePtr)
+ node->children = (xmlNodePtr)
ctxt->sax->getEntity(ctxt, node->name);
}
@@ -1169,8 +1217,10 @@ xmlTextReaderDoExpand(xmlTextReaderPtr reader) {
if (reader->mode == XML_TEXTREADER_MODE_EOF)
return(1);
val = xmlTextReaderPushData(reader);
- if (val < 0)
+ if (val < 0){
+ reader->mode = XML_TEXTREADER_MODE_ERROR;
return(-1);
+ }
} while(reader->mode != XML_TEXTREADER_MODE_EOF);
return(1);
}
@@ -1191,6 +1241,9 @@ xmlTextReaderCollectSiblings(xmlNodePtr node)
xmlBufferPtr buffer;
xmlChar *ret;
+ if ((node == NULL) || (node->type == XML_NAMESPACE_DECL))
+ return(NULL);
+
buffer = xmlBufferCreate();
if (buffer == NULL)
return NULL;
@@ -1235,7 +1288,7 @@ xmlTextReaderRead(xmlTextReaderPtr reader) {
xmlTextReaderState oldstate = XML_TEXTREADER_START;
xmlNodePtr oldnode = NULL;
-
+
if (reader == NULL)
return(-1);
reader->curnode = NULL;
@@ -1243,8 +1296,6 @@ xmlTextReaderRead(xmlTextReaderPtr reader) {
return(xmlTextReaderReadTree(reader));
if (reader->ctxt == NULL)
return(-1);
- if (reader->ctxt->wellFormed != 1)
- return(-1);
#ifdef DEBUG_READER
fprintf(stderr, "\nREAD ");
@@ -1257,17 +1308,23 @@ xmlTextReaderRead(xmlTextReaderPtr reader) {
*/
do {
val = xmlTextReaderPushData(reader);
- if (val < 0)
+ if (val < 0){
+ reader->mode = XML_TEXTREADER_MODE_ERROR;
+ reader->state = XML_TEXTREADER_ERROR;
return(-1);
+ }
} while ((reader->ctxt->node == NULL) &&
((reader->mode != XML_TEXTREADER_MODE_EOF) &&
- (reader->mode != XML_TEXTREADER_DONE)));
+ (reader->state != XML_TEXTREADER_DONE)));
if (reader->ctxt->node == NULL) {
if (reader->ctxt->myDoc != NULL) {
reader->node = reader->ctxt->myDoc->children;
}
- if (reader->node == NULL)
+ if (reader->node == NULL){
+ reader->mode = XML_TEXTREADER_MODE_ERROR;
+ reader->state = XML_TEXTREADER_ERROR;
return(-1);
+ }
reader->state = XML_TEXTREADER_ELEMENT;
} else {
if (reader->ctxt->myDoc != NULL) {
@@ -1287,7 +1344,7 @@ xmlTextReaderRead(xmlTextReaderPtr reader) {
get_next_node:
if (reader->node == NULL) {
- if (reader->mode == XML_TEXTREADER_DONE)
+ if (reader->mode == XML_TEXTREADER_MODE_EOF)
return(0);
else
return(-1);
@@ -1314,8 +1371,11 @@ get_next_node:
(reader->ctxt->node == reader->node->parent)) &&
(reader->ctxt->instate != XML_PARSER_EOF)) {
val = xmlTextReaderPushData(reader);
- if (val < 0)
+ if (val < 0){
+ reader->mode = XML_TEXTREADER_MODE_ERROR;
+ reader->state = XML_TEXTREADER_ERROR;
return(-1);
+ }
if (reader->node == NULL)
goto node_end;
}
@@ -1362,8 +1422,7 @@ get_next_node:
#endif
(reader->entNr == 0) &&
(reader->node->prev != NULL) &&
- (reader->node->prev->type != XML_DTD_NODE) &&
- (reader->entNr == 0)) {
+ (reader->node->prev->type != XML_DTD_NODE)) {
xmlNodePtr tmp = reader->node->prev;
if ((tmp->extra & NODE_IS_PRESERVED) == 0) {
xmlUnlinkNode(tmp);
@@ -1381,7 +1440,7 @@ get_next_node:
goto node_found;
}
#ifdef LIBXML_REGEXP_ENABLED
- if ((reader->validate) && (reader->node->type == XML_ELEMENT_NODE))
+ if ((reader->validate != XML_TEXTREADER_NOT_VALIDATE) && (reader->node->type == XML_ELEMENT_NODE))
xmlTextReaderValidatePop(reader);
#endif /* LIBXML_REGEXP_ENABLED */
if ((reader->preserves > 0) &&
@@ -1394,9 +1453,9 @@ get_next_node:
(reader->node->type == XML_DOCB_DOCUMENT_NODE) ||
#endif
(reader->node->type == XML_HTML_DOCUMENT_NODE)) {
- if (reader->mode != XML_TEXTREADER_DONE) {
+ if (reader->mode != XML_TEXTREADER_MODE_EOF) {
val = xmlParseChunk(reader->ctxt, "", 0, 1);
- reader->mode = XML_TEXTREADER_DONE;
+ reader->state = XML_TEXTREADER_DONE;
if (val != 0)
return(-1);
}
@@ -1406,14 +1465,13 @@ get_next_node:
/*
* Cleanup of the old node
*/
- if ((reader->preserves == 0) &&
+ if ((oldnode != NULL) && (reader->preserves == 0) &&
#ifdef LIBXML_XINCLUDE_ENABLED
(reader->in_xinclude == 0) &&
#endif
(reader->entNr == 0) &&
(oldnode->type != XML_DTD_NODE) &&
- ((oldnode->extra & NODE_IS_PRESERVED) == 0) &&
- (reader->entNr == 0)) {
+ ((oldnode->extra & NODE_IS_PRESERVED) == 0)) {
xmlUnlinkNode(oldnode);
xmlTextReaderFreeNode(reader, oldnode);
}
@@ -1459,7 +1517,7 @@ node_found:
(xmlStrEqual(reader->node->ns->href, XINCLUDE_OLD_NS)))) {
if (reader->xincctxt == NULL) {
reader->xincctxt = xmlXIncludeNewContext(reader->ctxt->myDoc);
- xmlXIncludeSetFlags(reader->xincctxt,
+ xmlXIncludeSetFlags(reader->xincctxt,
reader->parserFlags & (~XML_PARSE_NOXINCNODE));
}
/*
@@ -1472,7 +1530,7 @@ node_found:
if ((reader->node != NULL) && (reader->node->type == XML_XINCLUDE_START)) {
reader->in_xinclude++;
goto get_next_node;
- }
+ }
if ((reader->node != NULL) && (reader->node->type == XML_XINCLUDE_END)) {
reader->in_xinclude--;
goto get_next_node;
@@ -1490,7 +1548,7 @@ node_found:
*/
if ((reader->node->children == NULL) && (reader->ctxt->sax != NULL) &&
(reader->ctxt->sax->getEntity != NULL)) {
- reader->node->children = (xmlNodePtr)
+ reader->node->children = (xmlNodePtr)
reader->ctxt->sax->getEntity(reader->ctxt, reader->node->name);
}
@@ -1515,10 +1573,10 @@ node_found:
goto get_next_node;
}
#ifdef LIBXML_REGEXP_ENABLED
- if ((reader->validate) && (reader->node != NULL)) {
+ if ((reader->validate != XML_TEXTREADER_NOT_VALIDATE) && (reader->node != NULL)) {
xmlNodePtr node = reader->node;
- if ((node->type == XML_ELEMENT_NODE) &&
+ if ((node->type == XML_ELEMENT_NODE) &&
((reader->state != XML_TEXTREADER_END) &&
(reader->state != XML_TEXTREADER_BACKTRACK))) {
xmlTextReaderValidatePush(reader);
@@ -1543,14 +1601,14 @@ node_found:
#endif /* LIBXML_PATTERN_ENABLED */
#ifdef LIBXML_SCHEMAS_ENABLED
if ((reader->validate == XML_TEXTREADER_VALIDATE_XSD) &&
- (reader->xsdValidErrors == 0) &&
+ (reader->xsdValidErrors == 0) &&
(reader->xsdValidCtxt != NULL)) {
reader->xsdValidErrors = !xmlSchemaIsValid(reader->xsdValidCtxt);
}
#endif /* LIBXML_PATTERN_ENABLED */
return(1);
node_end:
- reader->mode = XML_TEXTREADER_DONE;
+ reader->state = XML_TEXTREADER_DONE;
return(0);
}
@@ -1634,7 +1692,7 @@ xmlTextReaderNext(xmlTextReaderPtr reader) {
* Reads the contents of the current node, including child nodes and markup.
*
* Returns a string containing the XML content, or NULL if the current node
- * is neither an element nor attribute, or has no child nodes. The
+ * is neither an element nor attribute, or has no child nodes. The
* string must be deallocated by the caller.
*/
xmlChar *
@@ -1679,9 +1737,9 @@ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
*
* Reads the contents of the current node, including child nodes and markup.
*
- * Returns a string containing the XML content, or NULL if the current node
- * is neither an element nor attribute, or has no child nodes. The
- * string must be deallocated by the caller.
+ * Returns a string containing the node and any XML content, or NULL if the
+ * current node cannot be serialized. The string must be deallocated
+ * by the caller.
*/
xmlChar *
xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
@@ -1696,7 +1754,11 @@ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
if (xmlTextReaderExpand(reader) == NULL) {
return NULL;
}
- node = xmlDocCopyNode(node, doc, 1);
+ if (node->type == XML_DTD_NODE) {
+ node = (xmlNodePtr) xmlCopyDtd((xmlDtdPtr) node);
+ } else {
+ node = xmlDocCopyNode(node, doc, 1);
+ }
buff = xmlBufferCreate();
if (xmlNodeDump(buff, doc, node, 0, 0) == -1) {
xmlFreeNode(node);
@@ -1741,6 +1803,7 @@ xmlTextReaderReadString(xmlTextReaderPtr reader)
if (xmlTextReaderDoExpand(reader) != -1) {
return xmlTextReaderCollectSiblings(node->children);
}
+ break;
case XML_ATTRIBUTE_NODE:
TODO
break;
@@ -1838,17 +1901,22 @@ xmlTextReaderNextTree(xmlTextReaderPtr reader)
}
if (reader->state != XML_TEXTREADER_BACKTRACK) {
- if (reader->node->children != 0) {
- reader->node = reader->node->children;
- reader->depth++;
+ /* Here removed traversal to child, because we want to skip the subtree,
+ replace with traversal to sibling to skip subtree */
+ if (reader->node->next != 0) {
+ /* Move to sibling if present,skipping sub-tree */
+ reader->node = reader->node->next;
reader->state = XML_TEXTREADER_START;
return(1);
}
+ /* if reader->node->next is NULL mean no subtree for current node,
+ so need to move to sibling of parent node if present */
if ((reader->node->type == XML_ELEMENT_NODE) ||
(reader->node->type == XML_ATTRIBUTE_NODE)) {
reader->state = XML_TEXTREADER_BACKTRACK;
- return(1);
+ /* This will move to parent if present */
+ xmlTextReaderRead(reader);
}
}
@@ -1867,7 +1935,8 @@ xmlTextReaderNextTree(xmlTextReaderPtr reader)
reader->node = reader->node->parent;
reader->depth--;
reader->state = XML_TEXTREADER_BACKTRACK;
- return(1);
+ /* Repeat process to move to sibling of parent node if present */
+ xmlTextReaderNextTree(reader);
}
reader->state = XML_TEXTREADER_END;
@@ -2015,16 +2084,19 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
ret->entMax = 0;
ret->entNr = 0;
ret->input = input;
- ret->buffer = xmlBufferCreateSize(100);
+ ret->buffer = xmlBufCreateSize(100);
if (ret->buffer == NULL) {
xmlFree(ret);
xmlGenericError(xmlGenericErrorContext,
"xmlNewTextReader : malloc failed\n");
return(NULL);
}
+ /* no operation on a reader should require a huge buffer */
+ xmlBufSetAllocationScheme(ret->buffer,
+ XML_BUFFER_ALLOC_BOUNDED);
ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
if (ret->sax == NULL) {
- xmlBufferFree(ret->buffer);
+ xmlBufFree(ret->buffer);
xmlFree(ret);
xmlGenericError(xmlGenericErrorContext,
"xmlNewTextReader : malloc failed\n");
@@ -2057,12 +2129,13 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
ret->mode = XML_TEXTREADER_MODE_INITIAL;
ret->node = NULL;
ret->curnode = NULL;
- if (ret->input->buffer->use < 4) {
+ if (xmlBufUse(ret->input->buffer) < 4) {
xmlParserInputBufferRead(input, 4);
}
- if (ret->input->buffer->use >= 4) {
+ if (xmlBufUse(ret->input->buffer) >= 4) {
ret->ctxt = xmlCreatePushParserCtxt(ret->sax, NULL,
- (const char *) ret->input->buffer->content, 4, URI);
+ (const char *) xmlBufContent(ret->input->buffer),
+ 4, URI);
ret->base = 0;
ret->cur = 4;
} else {
@@ -2070,11 +2143,11 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
ret->base = 0;
ret->cur = 0;
}
-
+
if (ret->ctxt == NULL) {
xmlGenericError(xmlGenericErrorContext,
"xmlNewTextReader : malloc failed\n");
- xmlBufferFree(ret->buffer);
+ xmlBufFree(ret->buffer);
xmlFree(ret->sax);
xmlFree(ret);
return(NULL);
@@ -2147,7 +2220,8 @@ xmlFreeTextReader(xmlTextReaderPtr reader) {
reader->rngSchemas = NULL;
}
if (reader->rngValidCtxt != NULL) {
- xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
+ if (! reader->rngPreserveCtxt)
+ xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
reader->rngValidCtxt = NULL;
}
if (reader->xsdPlug != NULL) {
@@ -2178,6 +2252,9 @@ xmlFreeTextReader(xmlTextReaderPtr reader) {
xmlFree(reader->patternTab);
}
#endif
+ if (reader->faketext != NULL) {
+ xmlFreeNode(reader->faketext);
+ }
if (reader->ctxt != NULL) {
if (reader->dict == reader->ctxt->dict)
reader->dict = NULL;
@@ -2199,11 +2276,8 @@ xmlFreeTextReader(xmlTextReaderPtr reader) {
xmlFree(reader->sax);
if ((reader->input != NULL) && (reader->allocs & XML_TEXTREADER_INPUT))
xmlFreeParserInputBuffer(reader->input);
- if (reader->faketext != NULL) {
- xmlFreeNode(reader->faketext);
- }
if (reader->buffer != NULL)
- xmlBufferFree(reader->buffer);
+ xmlBufFree(reader->buffer);
if (reader->entTab != NULL)
xmlFree(reader->entTab);
if (reader->dict != NULL)
@@ -2272,7 +2346,7 @@ xmlTextReaderGetAttributeNo(xmlTextReaderPtr reader, int no) {
if (reader->curnode != NULL)
return(NULL);
/* TODO: handle the xmlDecl */
- if (reader->node->type != XML_ELEMENT_NODE)
+ if (reader->node->type != XML_ELEMENT_NODE)
return(NULL);
ns = reader->node->nsDef;
@@ -2402,7 +2476,7 @@ xmlTextReaderGetAttributeNs(xmlTextReaderPtr reader, const xmlChar *localName,
}
ns = reader->node->nsDef;
while (ns != NULL) {
- if ((prefix == NULL && ns->prefix == NULL) ||
+ if ((prefix == NULL && ns->prefix == NULL) ||
((ns->prefix != NULL) && (xmlStrEqual(ns->prefix, localName)))) {
return xmlStrdup(ns->href);
}
@@ -2514,7 +2588,7 @@ xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, int no) {
if (reader->node == NULL)
return(-1);
/* TODO: handle the xmlDecl */
- if (reader->node->type != XML_ELEMENT_NODE)
+ if (reader->node->type != XML_ELEMENT_NODE)
return(-1);
reader->curnode = NULL;
@@ -2601,7 +2675,7 @@ xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, const xmlChar *name) {
}
return(0);
}
-
+
/*
* Namespace default decl
*/
@@ -2678,7 +2752,7 @@ xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
}
ns = reader->node->nsDef;
while (ns != NULL) {
- if ((prefix == NULL && ns->prefix == NULL) ||
+ if ((prefix == NULL && ns->prefix == NULL) ||
((ns->prefix != NULL) && (xmlStrEqual(ns->prefix, localName)))) {
reader->curnode = (xmlNodePtr) ns;
return(1);
@@ -2824,7 +2898,7 @@ xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader) {
xmlNsPtr ns = (xmlNsPtr) reader->curnode;
if (reader->faketext == NULL) {
- reader->faketext = xmlNewDocText(reader->node->doc,
+ reader->faketext = xmlNewDocText(reader->node->doc,
ns->href);
} else {
if ((reader->faketext->content != NULL) &&
@@ -2862,7 +2936,7 @@ xmlTextReaderConstEncoding(xmlTextReaderPtr reader) {
doc = reader->ctxt->myDoc;
if (doc == NULL)
return(NULL);
-
+
if (doc->encoding == NULL)
return(NULL);
else
@@ -2894,7 +2968,7 @@ xmlTextReaderAttributeCount(xmlTextReaderPtr reader) {
return(-1);
if (reader->node == NULL)
return(0);
-
+
if (reader->curnode != NULL)
node = reader->curnode;
else
@@ -2925,14 +2999,14 @@ xmlTextReaderAttributeCount(xmlTextReaderPtr reader) {
*
* Get the node type of the current node
* Reference:
- * http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html
+ * http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html
*
* Returns the xmlNodeType of the current node or -1 in case of error
*/
int
xmlTextReaderNodeType(xmlTextReaderPtr reader) {
xmlNodePtr node;
-
+
if (reader == NULL)
return(-1);
if (reader->node == NULL)
@@ -3028,7 +3102,8 @@ xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader) {
*
* The local name of the node.
*
- * Returns the local name or NULL if not available
+ * Returns the local name or NULL if not available,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderLocalName(xmlTextReaderPtr reader) {
@@ -3089,7 +3164,8 @@ xmlTextReaderConstLocalName(xmlTextReaderPtr reader) {
*
* The qualified name of the node, equal to Prefix :LocalName.
*
- * Returns the local name or NULL if not available
+ * Returns the local name or NULL if not available,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderName(xmlTextReaderPtr reader) {
@@ -3108,7 +3184,7 @@ xmlTextReaderName(xmlTextReaderPtr reader) {
if ((node->ns == NULL) ||
(node->ns->prefix == NULL))
return(xmlStrdup(node->name));
-
+
ret = xmlStrdup(node->ns->prefix);
ret = xmlStrcat(ret, BAD_CAST ":");
ret = xmlStrcat(ret, node->name);
@@ -3232,7 +3308,8 @@ xmlTextReaderConstName(xmlTextReaderPtr reader) {
*
* A shorthand reference to the namespace associated with the node.
*
- * Returns the prefix or NULL if not available
+ * Returns the prefix or NULL if not available,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderPrefix(xmlTextReaderPtr reader) {
@@ -3295,7 +3372,8 @@ xmlTextReaderConstPrefix(xmlTextReaderPtr reader) {
*
* The URI defining the namespace associated with the node.
*
- * Returns the namespace URI or NULL if not available
+ * Returns the namespace URI or NULL if not available,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderNamespaceUri(xmlTextReaderPtr reader) {
@@ -3350,7 +3428,8 @@ xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader) {
*
* The base URI of the node.
*
- * Returns the base URI or NULL if not available
+ * Returns the base URI or NULL if not available,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderBaseUri(xmlTextReaderPtr reader) {
@@ -3540,22 +3619,35 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) {
return(((xmlNsPtr) node)->href);
case XML_ATTRIBUTE_NODE:{
xmlAttrPtr attr = (xmlAttrPtr) node;
+ const xmlChar *ret;
if ((attr->children != NULL) &&
(attr->children->type == XML_TEXT_NODE) &&
(attr->children->next == NULL))
return(attr->children->content);
else {
- if (reader->buffer == NULL)
- reader->buffer = xmlBufferCreateSize(100);
if (reader->buffer == NULL) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlTextReaderSetup : malloc failed\n");
- return (NULL);
+ reader->buffer = xmlBufCreateSize(100);
+ if (reader->buffer == NULL) {
+ xmlGenericError(xmlGenericErrorContext,
+ "xmlTextReaderSetup : malloc failed\n");
+ return (NULL);
+ }
+ xmlBufSetAllocationScheme(reader->buffer,
+ XML_BUFFER_ALLOC_BOUNDED);
+ } else
+ xmlBufEmpty(reader->buffer);
+ xmlBufGetNodeContent(reader->buffer, node);
+ ret = xmlBufContent(reader->buffer);
+ if (ret == NULL) {
+ /* error on the buffer best to reallocate */
+ xmlBufFree(reader->buffer);
+ reader->buffer = xmlBufCreateSize(100);
+ xmlBufSetAllocationScheme(reader->buffer,
+ XML_BUFFER_ALLOC_BOUNDED);
+ ret = BAD_CAST "";
}
- reader->buffer->use = 0;
- xmlNodeBufGetContent(reader->buffer, node);
- return(reader->buffer->content);
+ return(ret);
}
break;
}
@@ -3608,7 +3700,8 @@ xmlTextReaderQuoteChar(xmlTextReaderPtr reader) {
*
* The xml:lang scope within which the node resides.
*
- * Returns the xml:lang value or NULL if none exists.
+ * Returns the xml:lang value or NULL if none exists.,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderXmlLang(xmlTextReaderPtr reader) {
@@ -3833,7 +3926,7 @@ xmlNodePtr
xmlTextReaderCurrentNode(xmlTextReaderPtr reader) {
if (reader == NULL)
return(NULL);
-
+
if (reader->curnode != NULL)
return(reader->curnode);
return(reader->node);
@@ -3855,7 +3948,7 @@ xmlTextReaderPreserve(xmlTextReaderPtr reader) {
if (reader == NULL)
return(NULL);
-
+
if (reader->curnode != NULL)
cur = reader->curnode;
else
@@ -3868,7 +3961,7 @@ xmlTextReaderPreserve(xmlTextReaderPtr reader) {
cur->extra |= NODE_IS_SPRESERVED;
}
reader->preserves++;
-
+
parent = cur->parent;;
while (parent != NULL) {
if (parent->type == XML_ELEMENT_NODE)
@@ -3884,7 +3977,7 @@ xmlTextReaderPreserve(xmlTextReaderPtr reader) {
* @reader: the xmlTextReaderPtr used
* @pattern: an XPath subset pattern
* @namespaces: the prefix definitions, array of [URI, prefix] or NULL
- *
+ *
* This tells the XML Reader to preserve all nodes matched by the
* pattern. The caller must also use xmlTextReaderCurrentDoc() to
* keep an handle on the resulting document once parsing has finished
@@ -3899,7 +3992,7 @@ xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern,
if ((reader == NULL) || (pattern == NULL))
return(-1);
-
+
comp = xmlPatterncompile(pattern, reader->dict, 0, namespaces);
if (comp == NULL)
return(-1);
@@ -3936,7 +4029,7 @@ xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern,
* @reader: the xmlTextReaderPtr used
*
* Hacking interface allowing to get the xmlDocPtr correponding to the
- * current document being accessed by the xmlTextReader.
+ * current document being accessed by the xmlTextReader.
* NOTE: as a result of this call, the reader will not destroy the
* associated XML document and calling xmlFreeDoc() on the result
* is needed once the reader parsing has finished.
@@ -3949,75 +4042,82 @@ xmlTextReaderCurrentDoc(xmlTextReaderPtr reader) {
return(NULL);
if (reader->doc != NULL)
return(reader->doc);
- if ((reader == NULL) || (reader->ctxt == NULL) ||
- (reader->ctxt->myDoc == NULL))
+ if ((reader->ctxt == NULL) || (reader->ctxt->myDoc == NULL))
return(NULL);
-
+
reader->preserve = 1;
return(reader->ctxt->myDoc);
}
#ifdef LIBXML_SCHEMAS_ENABLED
+static char *xmlTextReaderBuildMessage(const char *msg, va_list ap);
-static char *
-xmlTextReaderBuildMessage(const char *msg, va_list ap);
-
-static void XMLCDECL
+static void XMLCDECL
xmlTextReaderValidityError(void *ctxt, const char *msg, ...);
-static void XMLCDECL
+static void XMLCDECL
xmlTextReaderValidityWarning(void *ctxt, const char *msg, ...);
-static void XMLCDECL xmlTextReaderValidityErrorRelay(void *ctx, const char *msg, ...)
+static void XMLCDECL
+xmlTextReaderValidityErrorRelay(void *ctx, const char *msg, ...)
{
- xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx;
- char * str;
- va_list ap;
-
- va_start(ap,msg);
- str = xmlTextReaderBuildMessage(msg,ap);
- if (!reader->errorFunc) {
- xmlTextReaderValidityError(ctx, "%s", str);
- } else {
- reader->errorFunc(reader->errorFuncArg, str, XML_PARSER_SEVERITY_VALIDITY_ERROR, NULL /* locator */);
- }
- if (str != NULL)
- xmlFree(str);
- va_end(ap);
+ xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx;
+
+ char *str;
+
+ va_list ap;
+
+ va_start(ap, msg);
+ str = xmlTextReaderBuildMessage(msg, ap);
+ if (!reader->errorFunc) {
+ xmlTextReaderValidityError(ctx, "%s", str);
+ } else {
+ reader->errorFunc(reader->errorFuncArg, str,
+ XML_PARSER_SEVERITY_VALIDITY_ERROR,
+ NULL /* locator */ );
+ }
+ if (str != NULL)
+ xmlFree(str);
+ va_end(ap);
}
-static void XMLCDECL xmlTextReaderValidityWarningRelay(void *ctx, const char *msg, ...)
+static void XMLCDECL
+xmlTextReaderValidityWarningRelay(void *ctx, const char *msg, ...)
{
- xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx;
- char * str;
- va_list ap;
-
- va_start(ap,msg);
- str = xmlTextReaderBuildMessage(msg,ap);
- if (!reader->errorFunc) {
- xmlTextReaderValidityWarning(ctx, "%s", str);
- } else {
- reader->errorFunc(reader->errorFuncArg, str, XML_PARSER_SEVERITY_VALIDITY_WARNING, NULL /* locator */);
- }
- if (str != NULL)
- xmlFree(str);
- va_end(ap);
+ xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx;
+
+ char *str;
+
+ va_list ap;
+
+ va_start(ap, msg);
+ str = xmlTextReaderBuildMessage(msg, ap);
+ if (!reader->errorFunc) {
+ xmlTextReaderValidityWarning(ctx, "%s", str);
+ } else {
+ reader->errorFunc(reader->errorFuncArg, str,
+ XML_PARSER_SEVERITY_VALIDITY_WARNING,
+ NULL /* locator */ );
+ }
+ if (str != NULL)
+ xmlFree(str);
+ va_end(ap);
}
-static void
-xmlTextReaderStructuredError(void *ctxt, xmlErrorPtr error);
+static void
+ xmlTextReaderStructuredError(void *ctxt, xmlErrorPtr error);
-static void xmlTextReaderValidityStructuredRelay(void * userData, xmlErrorPtr error)
+static void
+xmlTextReaderValidityStructuredRelay(void *userData, xmlErrorPtr error)
{
- xmlTextReaderPtr reader = (xmlTextReaderPtr) userData;
+ xmlTextReaderPtr reader = (xmlTextReaderPtr) userData;
- if (reader->sErrorFunc) {
- reader->sErrorFunc(reader->errorFuncArg, error);
- } else {
- xmlTextReaderStructuredError(reader, error);
- }
+ if (reader->sErrorFunc) {
+ reader->sErrorFunc(reader->errorFuncArg, error);
+ } else {
+ xmlTextReaderStructuredError(reader, error);
+ }
}
-
/**
* xmlTextReaderRelaxNGSetSchema:
* @reader: the xmlTextReaderPtr used
@@ -4042,9 +4142,11 @@ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) {
reader->rngSchemas = NULL;
}
if (reader->rngValidCtxt != NULL) {
- xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
+ if (! reader->rngPreserveCtxt)
+ xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
reader->rngValidCtxt = NULL;
}
+ reader->rngPreserveCtxt = 0;
return(0);
}
if (reader->mode != XML_TEXTREADER_MODE_INITIAL)
@@ -4054,9 +4156,11 @@ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) {
reader->rngSchemas = NULL;
}
if (reader->rngValidCtxt != NULL) {
- xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
+ if (! reader->rngPreserveCtxt)
+ xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
reader->rngValidCtxt = NULL;
}
+ reader->rngPreserveCtxt = 0;
reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(schema);
if (reader->rngValidCtxt == NULL)
return(-1);
@@ -4067,7 +4171,7 @@ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) {
reader);
}
if (reader->sErrorFunc != NULL) {
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
xmlTextReaderValidityStructuredRelay,
reader);
}
@@ -4078,6 +4182,60 @@ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) {
}
/**
+ * xmlTextReaderLocator:
+ * @ctx: the xmlTextReaderPtr used
+ * @file: returned file information
+ * @line: returned line information
+ *
+ * Internal locator function for the readers
+ *
+ * Returns 0 in case the Schema validation could be (des)activated and
+ * -1 in case of error.
+ */
+static int
+xmlTextReaderLocator(void *ctx, const char **file, unsigned long *line) {
+ xmlTextReaderPtr reader;
+
+ if ((ctx == NULL) || ((file == NULL) && (line == NULL)))
+ return(-1);
+
+ if (file != NULL)
+ *file = NULL;
+ if (line != NULL)
+ *line = 0;
+
+ reader = (xmlTextReaderPtr) ctx;
+ if ((reader->ctxt != NULL) && (reader->ctxt->input != NULL)) {
+ if (file != NULL)
+ *file = reader->ctxt->input->filename;
+ if (line != NULL)
+ *line = reader->ctxt->input->line;
+ return(0);
+ }
+ if (reader->node != NULL) {
+ long res;
+ int ret = 0;
+
+ if (line != NULL) {
+ res = xmlGetLineNo(reader->node);
+ if (res > 0)
+ *line = (unsigned long) res;
+ else
+ ret = -1;
+ }
+ if (file != NULL) {
+ xmlDocPtr doc = reader->node->doc;
+ if ((doc != NULL) && (doc->URL != NULL))
+ *file = (const char *) doc->URL;
+ else
+ ret = -1;
+ }
+ return(ret);
+ }
+ return(-1);
+}
+
+/**
* xmlTextReaderSetSchema:
* @reader: the xmlTextReaderPtr used
* @schema: a precompiled Schema schema
@@ -4103,15 +4261,15 @@ xmlTextReaderSetSchema(xmlTextReaderPtr reader, xmlSchemaPtr schema) {
if (reader->xsdValidCtxt != NULL) {
if (! reader->xsdPreserveCtxt)
xmlSchemaFreeValidCtxt(reader->xsdValidCtxt);
- reader->xsdValidCtxt = NULL;
+ reader->xsdValidCtxt = NULL;
}
reader->xsdPreserveCtxt = 0;
if (reader->xsdSchemas != NULL) {
xmlSchemaFree(reader->xsdSchemas);
reader->xsdSchemas = NULL;
- }
+ }
return(0);
- }
+ }
if (reader->mode != XML_TEXTREADER_MODE_INITIAL)
return(-1);
if (reader->xsdPlug != NULL) {
@@ -4120,7 +4278,7 @@ xmlTextReaderSetSchema(xmlTextReaderPtr reader, xmlSchemaPtr schema) {
}
if (reader->xsdValidCtxt != NULL) {
if (! reader->xsdPreserveCtxt)
- xmlSchemaFreeValidCtxt(reader->xsdValidCtxt);
+ xmlSchemaFreeValidCtxt(reader->xsdValidCtxt);
reader->xsdValidCtxt = NULL;
}
reader->xsdPreserveCtxt = 0;
@@ -4144,6 +4302,10 @@ xmlTextReaderSetSchema(xmlTextReaderPtr reader, xmlSchemaPtr schema) {
reader->xsdValidCtxt = NULL;
return(-1);
}
+ xmlSchemaValidateSetLocator(reader->xsdValidCtxt,
+ xmlTextReaderLocator,
+ (void *) reader);
+
if (reader->errorFunc != NULL) {
xmlSchemaSetValidErrors(reader->xsdValidCtxt,
xmlTextReaderValidityErrorRelay,
@@ -4161,67 +4323,91 @@ xmlTextReaderSetSchema(xmlTextReaderPtr reader, xmlSchemaPtr schema) {
}
/**
- * xmlTextReaderRelaxNGValidate:
+ * xmlTextReaderRelaxNGValidateInternal:
* @reader: the xmlTextReaderPtr used
* @rng: the path to a RelaxNG schema or NULL
+ * @ctxt: the RelaxNG schema validation context or NULL
+ * @options: options (not yet used)
*
* Use RelaxNG to validate the document as it is processed.
* Activation is only possible before the first Read().
- * if @rng is NULL, then RelaxNG validation is desactivated.
+ * If both @rng and @ctxt are NULL, then RelaxNG validation is deactivated.
*
- * Returns 0 in case the RelaxNG validation could be (des)activated and
- * -1 in case of error.
+ * Returns 0 in case the RelaxNG validation could be (de)activated and
+ * -1 in case of error.
*/
-int
-xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, const char *rng) {
- xmlRelaxNGParserCtxtPtr ctxt;
-
+static int
+xmlTextReaderRelaxNGValidateInternal(xmlTextReaderPtr reader,
+ const char *rng,
+ xmlRelaxNGValidCtxtPtr ctxt,
+ int options ATTRIBUTE_UNUSED)
+{
if (reader == NULL)
- return(-1);
-
- if (rng == NULL) {
- if (reader->rngValidCtxt != NULL) {
+ return(-1);
+
+ if ((rng != NULL) && (ctxt != NULL))
+ return (-1);
+
+ if (((rng != NULL) || (ctxt != NULL)) &&
+ ((reader->mode != XML_TEXTREADER_MODE_INITIAL) ||
+ (reader->ctxt == NULL)))
+ return(-1);
+
+ /* Cleanup previous validation stuff. */
+ if (reader->rngValidCtxt != NULL) {
+ if ( !reader->rngPreserveCtxt)
xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
- reader->rngValidCtxt = NULL;
- }
- if (reader->rngSchemas != NULL) {
- xmlRelaxNGFree(reader->rngSchemas);
- reader->rngSchemas = NULL;
- }
- return(0);
+ reader->rngValidCtxt = NULL;
}
- if (reader->mode != XML_TEXTREADER_MODE_INITIAL)
- return(-1);
+ reader->rngPreserveCtxt = 0;
if (reader->rngSchemas != NULL) {
xmlRelaxNGFree(reader->rngSchemas);
reader->rngSchemas = NULL;
}
- if (reader->rngValidCtxt != NULL) {
- xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt);
- reader->rngValidCtxt = NULL;
- }
- ctxt = xmlRelaxNGNewParserCtxt(rng);
- if (reader->errorFunc != NULL) {
- xmlRelaxNGSetParserErrors(ctxt,
- xmlTextReaderValidityErrorRelay,
- xmlTextReaderValidityWarningRelay,
- reader);
+
+ if ((rng == NULL) && (ctxt == NULL)) {
+ /* We just want to deactivate the validation, so get out. */
+ return(0);
}
+
+
+ if (rng != NULL) {
+ xmlRelaxNGParserCtxtPtr pctxt;
+ /* Parse the schema and create validation environment. */
+
+ pctxt = xmlRelaxNGNewParserCtxt(rng);
+ if (reader->errorFunc != NULL) {
+ xmlRelaxNGSetParserErrors(pctxt,
+ xmlTextReaderValidityErrorRelay,
+ xmlTextReaderValidityWarningRelay,
+ reader);
+ }
if (reader->sErrorFunc != NULL) {
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
- xmlTextReaderValidityStructuredRelay,
- reader);
- }
- reader->rngSchemas = xmlRelaxNGParse(ctxt);
- xmlRelaxNGFreeParserCtxt(ctxt);
- if (reader->rngSchemas == NULL)
- return(-1);
- reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(reader->rngSchemas);
- if (reader->rngValidCtxt == NULL) {
- xmlRelaxNGFree(reader->rngSchemas);
- reader->rngSchemas = NULL;
- return(-1);
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
+ xmlTextReaderValidityStructuredRelay,
+ reader);
+ }
+ reader->rngSchemas = xmlRelaxNGParse(pctxt);
+ xmlRelaxNGFreeParserCtxt(pctxt);
+ if (reader->rngSchemas == NULL)
+ return(-1);
+ reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(reader->rngSchemas);
+ if (reader->rngValidCtxt == NULL) {
+ xmlRelaxNGFree(reader->rngSchemas);
+ reader->rngSchemas = NULL;
+ return(-1);
+ }
+ } else {
+ /* Use the given validation context. */
+ reader->rngValidCtxt = ctxt;
+ reader->rngPreserveCtxt = 1;
}
+ /*
+ * Redirect the validation context's error channels to use
+ * the reader channels.
+ * TODO: In case the user provides the validation context we
+ * could make this redirection optional.
+ */
if (reader->errorFunc != NULL) {
xmlRelaxNGSetValidErrors(reader->rngValidCtxt,
xmlTextReaderValidityErrorRelay,
@@ -4229,7 +4415,7 @@ xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, const char *rng) {
reader);
}
if (reader->sErrorFunc != NULL) {
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
xmlTextReaderValidityStructuredRelay,
reader);
}
@@ -4258,7 +4444,7 @@ xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader,
const char *xsd,
xmlSchemaValidCtxtPtr ctxt,
int options ATTRIBUTE_UNUSED)
-{
+{
if (reader == NULL)
return(-1);
@@ -4269,7 +4455,7 @@ xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader,
((reader->mode != XML_TEXTREADER_MODE_INITIAL) ||
(reader->ctxt == NULL)))
return(-1);
-
+
/* Cleanup previous validation stuff. */
if (reader->xsdPlug != NULL) {
xmlSchemaSAXUnplug(reader->xsdPlug);
@@ -4277,20 +4463,20 @@ xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader,
}
if (reader->xsdValidCtxt != NULL) {
if (! reader->xsdPreserveCtxt)
- xmlSchemaFreeValidCtxt(reader->xsdValidCtxt);
+ xmlSchemaFreeValidCtxt(reader->xsdValidCtxt);
reader->xsdValidCtxt = NULL;
}
reader->xsdPreserveCtxt = 0;
if (reader->xsdSchemas != NULL) {
xmlSchemaFree(reader->xsdSchemas);
reader->xsdSchemas = NULL;
- }
+ }
if ((xsd == NULL) && (ctxt == NULL)) {
/* We just want to deactivate the validation, so get out. */
return(0);
- }
-
+ }
+
if (xsd != NULL) {
xmlSchemaParserCtxtPtr pctxt;
/* Parse the schema and create validation environment. */
@@ -4322,18 +4508,21 @@ xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader,
return(-1);
}
} else {
- /* Use the given validation context. */
+ /* Use the given validation context. */
reader->xsdValidCtxt = ctxt;
reader->xsdPreserveCtxt = 1;
reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt,
&(reader->ctxt->sax),
&(reader->ctxt->userData));
- if (reader->xsdPlug == NULL) {
+ if (reader->xsdPlug == NULL) {
reader->xsdValidCtxt = NULL;
reader->xsdPreserveCtxt = 0;
return(-1);
}
}
+ xmlSchemaValidateSetLocator(reader->xsdValidCtxt,
+ xmlTextReaderLocator,
+ (void *) reader);
/*
* Redirect the validation context's error channels to use
* the reader channels.
@@ -4347,7 +4536,7 @@ xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader,
reader);
}
if (reader->sErrorFunc != NULL) {
- xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt,
+ xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt,
xmlTextReaderValidityStructuredRelay,
reader);
}
@@ -4394,6 +4583,46 @@ xmlTextReaderSchemaValidate(xmlTextReaderPtr reader, const char *xsd)
{
return(xmlTextReaderSchemaValidateInternal(reader, xsd, NULL, 0));
}
+
+/**
+ * xmlTextReaderRelaxNGValidateCtxt:
+ * @reader: the xmlTextReaderPtr used
+ * @ctxt: the RelaxNG schema validation context or NULL
+ * @options: options (not used yet)
+ *
+ * Use RelaxNG schema context to validate the document as it is processed.
+ * Activation is only possible before the first Read().
+ * If @ctxt is NULL, then RelaxNG schema validation is deactivated.
+ *
+ * Returns 0 in case the schemas validation could be (de)activated and
+ * -1 in case of error.
+ */
+int
+xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
+ xmlRelaxNGValidCtxtPtr ctxt,
+ int options)
+{
+ return(xmlTextReaderRelaxNGValidateInternal(reader, NULL, ctxt, options));
+}
+
+/**
+ * xmlTextReaderRelaxNGValidate:
+ * @reader: the xmlTextReaderPtr used
+ * @rng: the path to a RelaxNG schema or NULL
+ *
+ * Use RelaxNG schema to validate the document as it is processed.
+ * Activation is only possible before the first Read().
+ * If @rng is NULL, then RelaxNG schema validation is deactivated.
+ *
+ * Returns 0 in case the schemas validation could be (de)activated and
+ * -1 in case of error.
+ */
+int
+xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, const char *rng)
+{
+ return(xmlTextReaderRelaxNGValidateInternal(reader, rng, NULL, 0));
+}
+
#endif
/**
@@ -4418,7 +4647,7 @@ xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader) {
node = reader->curnode;
else
node = reader->node;
-
+
if (XML_NAMESPACE_DECL == node->type)
return(1);
else
@@ -4442,10 +4671,10 @@ xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader) {
if (reader->doc != NULL)
doc = reader->doc;
else if (reader->ctxt != NULL)
- doc = reader->ctxt->myDoc;
+ doc = reader->ctxt->myDoc;
if (doc == NULL)
return(NULL);
-
+
if (doc->version == NULL)
return(NULL);
else
@@ -4486,30 +4715,32 @@ xmlTextReaderStandalone(xmlTextReaderPtr reader) {
/* helper to build a xmlMalloc'ed string from a format and va_list */
static char *
xmlTextReaderBuildMessage(const char *msg, va_list ap) {
- int size;
+ int size = 0;
int chars;
char *larger;
- char *str;
-
- str = (char *) xmlMallocAtomic(150);
- if (str == NULL) {
- xmlGenericError(xmlGenericErrorContext, "xmlMalloc failed !\n");
- return NULL;
- }
-
- size = 150;
+ char *str = NULL;
+ va_list aq;
while (1) {
- chars = vsnprintf(str, size, msg, ap);
- if ((chars > -1) && (chars < size))
+ VA_COPY(aq, ap);
+ chars = vsnprintf(str, size, msg, aq);
+ va_end(aq);
+ if (chars < 0) {
+ xmlGenericError(xmlGenericErrorContext, "vsnprintf failed !\n");
+ if (str)
+ xmlFree(str);
+ return NULL;
+ }
+ if ((chars < size) || (size == MAX_ERR_MSG_SIZE))
break;
- if (chars > -1)
- size += chars + 1;
- else
- size += 100;
+ if (chars < MAX_ERR_MSG_SIZE)
+ size = chars + 1;
+ else
+ size = MAX_ERR_MSG_SIZE;
if ((larger = (char *) xmlRealloc(str, size)) == NULL) {
xmlGenericError(xmlGenericErrorContext, "xmlRealloc failed !\n");
- xmlFree(str);
+ if (str)
+ xmlFree(str);
return NULL;
}
str = larger;
@@ -4545,7 +4776,7 @@ xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator) {
input = ctx->inputTab[ctx->inputNr - 2];
if (input != NULL) {
ret = input->line;
- }
+ }
else {
ret = -1;
}
@@ -4560,7 +4791,8 @@ xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator) {
*
* Obtain the base URI for the given locator.
*
- * Returns the base URI or NULL in case of error.
+ * Returns the base URI or NULL in case of error,
+ * if non NULL it need to be freed by the caller.
*/
xmlChar *
xmlTextReaderLocatorBaseURI(xmlTextReaderLocatorPtr locator) {
@@ -4581,7 +4813,7 @@ xmlTextReaderLocatorBaseURI(xmlTextReaderLocatorPtr locator) {
input = ctx->inputTab[ctx->inputNr - 2];
if (input != NULL) {
ret = xmlStrdup(BAD_CAST input->filename);
- }
+ }
else {
ret = NULL;
}
@@ -4591,87 +4823,95 @@ xmlTextReaderLocatorBaseURI(xmlTextReaderLocatorPtr locator) {
}
static void
-xmlTextReaderGenericError(void *ctxt, xmlParserSeverities severity, char *str) {
- xmlParserCtxtPtr ctx = (xmlParserCtxtPtr)ctxt;
- xmlTextReaderPtr reader = (xmlTextReaderPtr)ctx->_private;
+xmlTextReaderGenericError(void *ctxt, xmlParserSeverities severity,
+ char *str)
+{
+ xmlParserCtxtPtr ctx = (xmlParserCtxtPtr) ctxt;
+
+ xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx->_private;
if (str != NULL) {
- if (reader->errorFunc)
- reader->errorFunc(reader->errorFuncArg,
- str,
- severity,
- (xmlTextReaderLocatorPtr)ctx);
- xmlFree(str);
+ if (reader->errorFunc)
+ reader->errorFunc(reader->errorFuncArg, str, severity,
+ (xmlTextReaderLocatorPtr) ctx);
+ xmlFree(str);
}
}
-static void
-xmlTextReaderStructuredError(void *ctxt, xmlErrorPtr error) {
- xmlParserCtxtPtr ctx = (xmlParserCtxtPtr) ctxt;
- xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx->_private;
+static void
+xmlTextReaderStructuredError(void *ctxt, xmlErrorPtr error)
+{
+ xmlParserCtxtPtr ctx = (xmlParserCtxtPtr) ctxt;
+
+ xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx->_private;
- if (error && reader->sErrorFunc) {
- reader->sErrorFunc(reader->errorFuncArg,
- (xmlErrorPtr) error);
- }
+ if (error && reader->sErrorFunc) {
+ reader->sErrorFunc(reader->errorFuncArg, (xmlErrorPtr) error);
+ }
}
-static void XMLCDECL
-xmlTextReaderError(void *ctxt, const char *msg, ...) {
+static void XMLCDECL
+xmlTextReaderError(void *ctxt, const char *msg, ...)
+{
va_list ap;
- va_start(ap,msg);
+ va_start(ap, msg);
xmlTextReaderGenericError(ctxt,
XML_PARSER_SEVERITY_ERROR,
- xmlTextReaderBuildMessage(msg,ap));
+ xmlTextReaderBuildMessage(msg, ap));
va_end(ap);
}
-static void XMLCDECL
-xmlTextReaderWarning(void *ctxt, const char *msg, ...) {
+static void XMLCDECL
+xmlTextReaderWarning(void *ctxt, const char *msg, ...)
+{
va_list ap;
- va_start(ap,msg);
+ va_start(ap, msg);
xmlTextReaderGenericError(ctxt,
XML_PARSER_SEVERITY_WARNING,
- xmlTextReaderBuildMessage(msg,ap));
+ xmlTextReaderBuildMessage(msg, ap));
va_end(ap);
}
-static void XMLCDECL
-xmlTextReaderValidityError(void *ctxt, const char *msg, ...) {
+static void XMLCDECL
+xmlTextReaderValidityError(void *ctxt, const char *msg, ...)
+{
va_list ap;
+
int len = xmlStrlen((const xmlChar *) msg);
if ((len > 1) && (msg[len - 2] != ':')) {
- /*
- * some callbacks only report locator information:
- * skip them (mimicking behaviour in error.c)
- */
- va_start(ap,msg);
- xmlTextReaderGenericError(ctxt,
- XML_PARSER_SEVERITY_VALIDITY_ERROR,
- xmlTextReaderBuildMessage(msg,ap));
- va_end(ap);
+ /*
+ * some callbacks only report locator information:
+ * skip them (mimicking behaviour in error.c)
+ */
+ va_start(ap, msg);
+ xmlTextReaderGenericError(ctxt,
+ XML_PARSER_SEVERITY_VALIDITY_ERROR,
+ xmlTextReaderBuildMessage(msg, ap));
+ va_end(ap);
}
}
-static void XMLCDECL
-xmlTextReaderValidityWarning(void *ctxt, const char *msg, ...) {
+static void XMLCDECL
+xmlTextReaderValidityWarning(void *ctxt, const char *msg, ...)
+{
va_list ap;
+
int len = xmlStrlen((const xmlChar *) msg);
if ((len != 0) && (msg[len - 1] != ':')) {
- /*
- * some callbacks only report locator information:
- * skip them (mimicking behaviour in error.c)
- */
- va_start(ap,msg);
- xmlTextReaderGenericError(ctxt,
- XML_PARSER_SEVERITY_VALIDITY_WARNING,
- xmlTextReaderBuildMessage(msg,ap));
- va_end(ap);
+ /*
+ * some callbacks only report locator information:
+ * skip them (mimicking behaviour in error.c)
+ */
+ va_start(ap, msg);
+ xmlTextReaderGenericError(ctxt,
+ XML_PARSER_SEVERITY_VALIDITY_WARNING,
+ xmlTextReaderBuildMessage(msg, ap));
+ va_end(ap);
}
}
@@ -4686,53 +4926,58 @@ xmlTextReaderValidityWarning(void *ctxt, const char *msg, ...) {
* If @f is NULL, the default error and warning handlers are restored.
*/
void
-xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
- xmlTextReaderErrorFunc f,
- void *arg) {
+xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
+ xmlTextReaderErrorFunc f, void *arg)
+{
if (f != NULL) {
- reader->ctxt->sax->error = xmlTextReaderError;
- reader->ctxt->sax->serror = NULL;
- reader->ctxt->vctxt.error = xmlTextReaderValidityError;
- reader->ctxt->sax->warning = xmlTextReaderWarning;
- reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning;
- reader->errorFunc = f;
- reader->sErrorFunc = NULL;
- reader->errorFuncArg = arg;
+ reader->ctxt->sax->error = xmlTextReaderError;
+ reader->ctxt->sax->serror = NULL;
+ reader->ctxt->vctxt.error = xmlTextReaderValidityError;
+ reader->ctxt->sax->warning = xmlTextReaderWarning;
+ reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning;
+ reader->errorFunc = f;
+ reader->sErrorFunc = NULL;
+ reader->errorFuncArg = arg;
#ifdef LIBXML_SCHEMAS_ENABLED
- if (reader->rngValidCtxt) {
- xmlRelaxNGSetValidErrors(reader->rngValidCtxt,
- xmlTextReaderValidityErrorRelay,
- xmlTextReaderValidityWarningRelay,
- reader);
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, reader);
- }
- if (reader->xsdValidCtxt) {
- xmlSchemaSetValidErrors(reader->xsdValidCtxt,
- xmlTextReaderValidityErrorRelay,
- xmlTextReaderValidityWarningRelay,
- reader);
- xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, reader);
- }
+ if (reader->rngValidCtxt) {
+ xmlRelaxNGSetValidErrors(reader->rngValidCtxt,
+ xmlTextReaderValidityErrorRelay,
+ xmlTextReaderValidityWarningRelay,
+ reader);
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL,
+ reader);
+ }
+ if (reader->xsdValidCtxt) {
+ xmlSchemaSetValidErrors(reader->xsdValidCtxt,
+ xmlTextReaderValidityErrorRelay,
+ xmlTextReaderValidityWarningRelay,
+ reader);
+ xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL,
+ reader);
+ }
#endif
- }
- else {
- /* restore defaults */
- reader->ctxt->sax->error = xmlParserError;
- reader->ctxt->vctxt.error = xmlParserValidityError;
- reader->ctxt->sax->warning = xmlParserWarning;
- reader->ctxt->vctxt.warning = xmlParserValidityWarning;
- reader->errorFunc = NULL;
- reader->sErrorFunc = NULL;
- reader->errorFuncArg = NULL;
+ } else {
+ /* restore defaults */
+ reader->ctxt->sax->error = xmlParserError;
+ reader->ctxt->vctxt.error = xmlParserValidityError;
+ reader->ctxt->sax->warning = xmlParserWarning;
+ reader->ctxt->vctxt.warning = xmlParserValidityWarning;
+ reader->errorFunc = NULL;
+ reader->sErrorFunc = NULL;
+ reader->errorFuncArg = NULL;
#ifdef LIBXML_SCHEMAS_ENABLED
- if (reader->rngValidCtxt) {
- xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, reader);
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, reader);
- }
- if (reader->xsdValidCtxt) {
- xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, reader);
- xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, reader);
- }
+ if (reader->rngValidCtxt) {
+ xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL,
+ reader);
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL,
+ reader);
+ }
+ if (reader->xsdValidCtxt) {
+ xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL,
+ reader);
+ xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL,
+ reader);
+ }
#endif
}
}
@@ -4748,54 +4993,59 @@ xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
* If @f is NULL, the default error and warning handlers are restored.
*/
void
-xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
- xmlStructuredErrorFunc f,
- void *arg) {
- if (f != NULL) {
- reader->ctxt->sax->error = NULL;
- reader->ctxt->sax->serror = xmlTextReaderStructuredError;
- reader->ctxt->vctxt.error = xmlTextReaderValidityError;
- reader->ctxt->sax->warning = xmlTextReaderWarning;
- reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning;
- reader->sErrorFunc = f;
- reader->errorFunc = NULL;
- reader->errorFuncArg = arg;
+xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
+ xmlStructuredErrorFunc f, void *arg)
+{
+ if (f != NULL) {
+ reader->ctxt->sax->error = NULL;
+ reader->ctxt->sax->serror = xmlTextReaderStructuredError;
+ reader->ctxt->vctxt.error = xmlTextReaderValidityError;
+ reader->ctxt->sax->warning = xmlTextReaderWarning;
+ reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning;
+ reader->sErrorFunc = f;
+ reader->errorFunc = NULL;
+ reader->errorFuncArg = arg;
#ifdef LIBXML_SCHEMAS_ENABLED
- if (reader->rngValidCtxt) {
- xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, reader);
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
- xmlTextReaderValidityStructuredRelay,
- reader);
- }
- if (reader->xsdValidCtxt) {
- xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, reader);
- xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt,
- xmlTextReaderValidityStructuredRelay,
- reader);
- }
+ if (reader->rngValidCtxt) {
+ xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL,
+ reader);
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt,
+ xmlTextReaderValidityStructuredRelay,
+ reader);
+ }
+ if (reader->xsdValidCtxt) {
+ xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL,
+ reader);
+ xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt,
+ xmlTextReaderValidityStructuredRelay,
+ reader);
+ }
#endif
- }
- else {
- /* restore defaults */
- reader->ctxt->sax->error = xmlParserError;
- reader->ctxt->sax->serror = NULL;
- reader->ctxt->vctxt.error = xmlParserValidityError;
- reader->ctxt->sax->warning = xmlParserWarning;
- reader->ctxt->vctxt.warning = xmlParserValidityWarning;
- reader->errorFunc = NULL;
- reader->sErrorFunc = NULL;
- reader->errorFuncArg = NULL;
+ } else {
+ /* restore defaults */
+ reader->ctxt->sax->error = xmlParserError;
+ reader->ctxt->sax->serror = NULL;
+ reader->ctxt->vctxt.error = xmlParserValidityError;
+ reader->ctxt->sax->warning = xmlParserWarning;
+ reader->ctxt->vctxt.warning = xmlParserValidityWarning;
+ reader->errorFunc = NULL;
+ reader->sErrorFunc = NULL;
+ reader->errorFuncArg = NULL;
#ifdef LIBXML_SCHEMAS_ENABLED
- if (reader->rngValidCtxt) {
- xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, reader);
- xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, reader);
- }
- if (reader->xsdValidCtxt) {
- xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, reader);
- xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, reader);
- }
+ if (reader->rngValidCtxt) {
+ xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL,
+ reader);
+ xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL,
+ reader);
+ }
+ if (reader->xsdValidCtxt) {
+ xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL,
+ reader);
+ xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL,
+ reader);
+ }
#endif
- }
+ }
}
/**
@@ -4807,17 +5057,19 @@ xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
* Returns the flag value 1 if valid, 0 if no, and -1 in case of error
*/
int
-xmlTextReaderIsValid(xmlTextReaderPtr reader) {
- if (reader == NULL) return(-1);
+xmlTextReaderIsValid(xmlTextReaderPtr reader)
+{
+ if (reader == NULL)
+ return (-1);
#ifdef LIBXML_SCHEMAS_ENABLED
if (reader->validate == XML_TEXTREADER_VALIDATE_RNG)
- return(reader->rngValidErrors == 0);
+ return (reader->rngValidErrors == 0);
if (reader->validate == XML_TEXTREADER_VALIDATE_XSD)
- return(reader->xsdValidErrors == 0);
+ return (reader->xsdValidErrors == 0);
#endif
if ((reader->ctxt != NULL) && (reader->ctxt->validate == 1))
- return(reader->ctxt->valid);
- return(0);
+ return (reader->ctxt->valid);
+ return (0);
}
/**
@@ -4829,14 +5081,14 @@ xmlTextReaderIsValid(xmlTextReaderPtr reader) {
* Retrieve the error callback function and user argument.
*/
void
-xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
- xmlTextReaderErrorFunc *f,
- void **arg) {
- if (f != NULL) *f = reader->errorFunc;
- if (arg != NULL) *arg = reader->errorFuncArg;
+xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
+ xmlTextReaderErrorFunc * f, void **arg)
+{
+ if (f != NULL)
+ *f = reader->errorFunc;
+ if (arg != NULL)
+ *arg = reader->errorFuncArg;
}
-
-
/************************************************************************
* *
* New set (2.6.0) of simpler and more flexible APIs *
@@ -4846,22 +5098,26 @@ xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
/**
* xmlTextReaderSetup:
* @reader: an XML reader
+ * @input: xmlParserInputBufferPtr used to feed the reader, will
+ * be destroyed with it.
* @URL: the base URL to use for the document
* @encoding: the document encoding, or NULL
* @options: a combination of xmlParserOption
- * @reuse: keep the context for reuse
*
* Setup an XML reader with new options
- *
+ *
* Returns 0 in case of success and -1 in case of error.
*/
-static int
+int
xmlTextReaderSetup(xmlTextReaderPtr reader,
xmlParserInputBufferPtr input, const char *URL,
const char *encoding, int options)
{
- if (reader == NULL)
+ if (reader == NULL) {
+ if (input != NULL)
+ xmlFreeParserInputBuffer(input);
return (-1);
+ }
/*
* we force the generation of compact text nodes on the reader
@@ -4884,12 +5140,15 @@ xmlTextReaderSetup(xmlTextReaderPtr reader,
reader->allocs |= XML_TEXTREADER_INPUT;
}
if (reader->buffer == NULL)
- reader->buffer = xmlBufferCreateSize(100);
+ reader->buffer = xmlBufCreateSize(100);
if (reader->buffer == NULL) {
xmlGenericError(xmlGenericErrorContext,
"xmlTextReaderSetup : malloc failed\n");
return (-1);
}
+ /* no operation on a reader should require a huge buffer */
+ xmlBufSetAllocationScheme(reader->buffer,
+ XML_BUFFER_ALLOC_BOUNDED);
if (reader->sax == NULL)
reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
if (reader->sax == NULL) {
@@ -4925,13 +5184,14 @@ xmlTextReaderSetup(xmlTextReaderPtr reader,
reader->node = NULL;
reader->curnode = NULL;
if (input != NULL) {
- if (reader->input->buffer->use < 4) {
+ if (xmlBufUse(reader->input->buffer) < 4) {
xmlParserInputBufferRead(input, 4);
}
if (reader->ctxt == NULL) {
- if (reader->input->buffer->use >= 4) {
+ if (xmlBufUse(reader->input->buffer) >= 4) {
reader->ctxt = xmlCreatePushParserCtxt(reader->sax, NULL,
- (const char *) reader->input->buffer->content, 4, URL);
+ (const char *) xmlBufContent(reader->input->buffer),
+ 4, URL);
reader->base = 0;
reader->cur = 4;
} else {
@@ -4960,10 +5220,7 @@ xmlTextReaderSetup(xmlTextReaderPtr reader,
inputStream->filename = (char *)
xmlCanonicPath((const xmlChar *) URL);
inputStream->buf = buf;
- inputStream->base = inputStream->buf->buffer->content;
- inputStream->cur = inputStream->buf->buffer->content;
- inputStream->end =
- &inputStream->buf->buffer->content[inputStream->buf->buffer->use];
+ xmlBufResetInput(buf->buffer, inputStream);
inputPush(reader->ctxt, inputStream);
reader->cur = 0;
@@ -5064,14 +5321,14 @@ xmlTextReaderByteConsumed(xmlTextReaderPtr reader) {
return(-1);
return(xmlByteConsumed(reader->ctxt));
}
-
+
/**
* xmlReaderWalker:
* @doc: a preparsed document
*
* Create an xmltextReader for a preparsed document.
- *
+ *
* Returns the new reader or NULL in case of error.
*/
xmlTextReaderPtr
@@ -5112,7 +5369,7 @@ xmlReaderWalker(xmlDocPtr doc)
*
* Create an xmltextReader for an XML in-memory document.
* The parsing flags @options are a combination of xmlParserOption.
- *
+ *
* Returns the new reader or NULL in case of error.
*/
xmlTextReaderPtr
@@ -5137,7 +5394,7 @@ xmlReaderForDoc(const xmlChar * cur, const char *URL, const char *encoding,
*
* parse an XML file from the filesystem or the network.
* The parsing flags @options are a combination of xmlParserOption.
- *
+ *
* Returns the new reader or NULL in case of error.
*/
xmlTextReaderPtr
@@ -5162,7 +5419,7 @@ xmlReaderForFile(const char *filename, const char *encoding, int options)
*
* Create an xmltextReader for an XML in-memory document.
* The parsing flags @options are a combination of xmlParserOption.
- *
+ *
* Returns the new reader or NULL in case of error.
*/
xmlTextReaderPtr
@@ -5198,7 +5455,7 @@ xmlReaderForMemory(const char *buffer, int size, const char *URL,
* The parsing flags @options are a combination of xmlParserOption.
* NOTE that the file descriptor will not be closed when the
* reader is closed or reset.
- *
+ *
* Returns the new reader or NULL in case of error.
*/
xmlTextReaderPtr
@@ -5235,7 +5492,7 @@ xmlReaderForFd(int fd, const char *URL, const char *encoding, int options)
*
* Create an xmltextReader for an XML document from I/O functions and source.
* The parsing flags @options are a combination of xmlParserOption.
- *
+ *
* Returns the new reader or NULL in case of error.
*/
xmlTextReaderPtr
@@ -5251,8 +5508,11 @@ xmlReaderForIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose,
input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
XML_CHAR_ENCODING_NONE);
- if (input == NULL)
+ if (input == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
return (NULL);
+ }
reader = xmlNewTextReader(input, URL);
if (reader == NULL) {
xmlFreeParserInputBuffer(input);
@@ -5270,7 +5530,7 @@ xmlReaderForIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose,
*
* Setup an xmltextReader to parse a preparsed XML document.
* This reuses the existing @reader xmlTextReader.
- *
+ *
* Returns 0 in case of success and -1 in case of error
*/
int
@@ -5318,7 +5578,7 @@ xmlReaderNewWalker(xmlTextReaderPtr reader, xmlDocPtr doc)
* Setup an xmltextReader to parse an XML in-memory document.
* The parsing flags @options are a combination of xmlParserOption.
* This reuses the existing @reader xmlTextReader.
- *
+ *
* Returns 0 in case of success and -1 in case of error
*/
int
@@ -5348,7 +5608,7 @@ xmlReaderNewDoc(xmlTextReaderPtr reader, const xmlChar * cur,
* parse an XML file from the filesystem or the network.
* The parsing flags @options are a combination of xmlParserOption.
* This reuses the existing @reader xmlTextReader.
- *
+ *
* Returns 0 in case of success and -1 in case of error
*/
int
@@ -5382,7 +5642,7 @@ xmlReaderNewFile(xmlTextReaderPtr reader, const char *filename,
* Setup an xmltextReader to parse an XML in-memory document.
* The parsing flags @options are a combination of xmlParserOption.
* This reuses the existing @reader xmlTextReader.
- *
+ *
* Returns 0 in case of success and -1 in case of error
*/
int
@@ -5417,7 +5677,7 @@ xmlReaderNewMemory(xmlTextReaderPtr reader, const char *buffer, int size,
* reader is closed or reset.
* The parsing flags @options are a combination of xmlParserOption.
* This reuses the existing @reader xmlTextReader.
- *
+ *
* Returns 0 in case of success and -1 in case of error
*/
int
@@ -5452,7 +5712,7 @@ xmlReaderNewFd(xmlTextReaderPtr reader, int fd,
* and source.
* The parsing flags @options are a combination of xmlParserOption.
* This reuses the existing @reader xmlTextReader.
- *
+ *
* Returns 0 in case of success and -1 in case of error
*/
int
@@ -5469,16 +5729,21 @@ xmlReaderNewIO(xmlTextReaderPtr reader, xmlInputReadCallback ioread,
input = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx,
XML_CHAR_ENCODING_NONE);
- if (input == NULL)
+ if (input == NULL) {
+ if (ioclose != NULL)
+ ioclose(ioctx);
return (-1);
+ }
return (xmlTextReaderSetup(reader, input, URL, encoding, options));
}
+
/************************************************************************
* *
* Utilities *
* *
************************************************************************/
#ifdef NOT_USED_YET
+
/**
* xmlBase64Decode:
* @in: the input buffer
@@ -5494,22 +5759,34 @@ xmlReaderNewIO(xmlTextReaderPtr reader, xmlInputReadCallback ioread,
*/
static int
xmlBase64Decode(const unsigned char *in, unsigned long *inlen,
- unsigned char *to, unsigned long *tolen) {
- unsigned long incur; /* current index in in[] */
- unsigned long inblk; /* last block index in in[] */
- unsigned long outcur; /* current index in out[] */
- unsigned long inmax; /* size of in[] */
- unsigned long outmax; /* size of out[] */
- unsigned char cur; /* the current value read from in[] */
- unsigned char intmp[4], outtmp[4]; /* temporary buffers for the convert */
- int nbintmp; /* number of byte in intmp[] */
- int is_ignore; /* cur should be ignored */
- int is_end = 0; /* the end of the base64 was found */
+ unsigned char *to, unsigned long *tolen)
+{
+ unsigned long incur; /* current index in in[] */
+
+ unsigned long inblk; /* last block index in in[] */
+
+ unsigned long outcur; /* current index in out[] */
+
+ unsigned long inmax; /* size of in[] */
+
+ unsigned long outmax; /* size of out[] */
+
+ unsigned char cur; /* the current value read from in[] */
+
+ unsigned char intmp[4], outtmp[4]; /* temporary buffers for the convert */
+
+ int nbintmp; /* number of byte in intmp[] */
+
+ int is_ignore; /* cur should be ignored */
+
+ int is_end = 0; /* the end of the base64 was found */
+
int retval = 1;
+
int i;
if ((in == NULL) || (inlen == NULL) || (to == NULL) || (tolen == NULL))
- return(-1);
+ return (-1);
incur = 0;
inblk = 0;
@@ -5535,16 +5812,17 @@ xmlBase64Decode(const unsigned char *in, unsigned long *inlen,
cur = 63;
else if (cur == '.')
cur = 0;
- else if (cur == '=') /*no op , end of the base64 stream */
+ else if (cur == '=') /*no op , end of the base64 stream */
is_end = 1;
else {
is_ignore = 1;
- if (nbintmp == 0)
- inblk = incur;
- }
+ if (nbintmp == 0)
+ inblk = incur;
+ }
if (!is_ignore) {
int nbouttmp = 3;
+
int is_break = 0;
if (is_end) {
@@ -5558,30 +5836,30 @@ xmlBase64Decode(const unsigned char *in, unsigned long *inlen,
is_break = 1;
}
intmp[nbintmp++] = cur;
- /*
- * if intmp is full, push the 4byte sequence as a 3 byte
- * sequence out
- */
+ /*
+ * if intmp is full, push the 4byte sequence as a 3 byte
+ * sequence out
+ */
if (nbintmp == 4) {
nbintmp = 0;
outtmp[0] = (intmp[0] << 2) | ((intmp[1] & 0x30) >> 4);
outtmp[1] =
((intmp[1] & 0x0F) << 4) | ((intmp[2] & 0x3C) >> 2);
outtmp[2] = ((intmp[2] & 0x03) << 6) | (intmp[3] & 0x3F);
- if (outcur + 3 >= outmax) {
- retval = 2;
- break;
- }
+ if (outcur + 3 >= outmax) {
+ retval = 2;
+ break;
+ }
for (i = 0; i < nbouttmp; i++)
- to[outcur++] = outtmp[i];
- inblk = incur;
+ to[outcur++] = outtmp[i];
+ inblk = incur;
}
if (is_break) {
- retval = 0;
+ retval = 0;
break;
- }
+ }
}
}
@@ -5594,14 +5872,23 @@ xmlBase64Decode(const unsigned char *in, unsigned long *inlen,
* Test routine for the xmlBase64Decode function
*/
#if 0
-int main(int argc, char **argv) {
+int
+main(int argc, char **argv)
+{
char *input = " VW4 gcGV0 \n aXQgdGVzdCAuCg== ";
+
char output[100];
+
char output2[100];
+
char output3[100];
+
unsigned long inlen = strlen(input);
+
unsigned long outlen = 100;
+
int ret;
+
unsigned long cons, tmp, tmp2, prod;
/*
@@ -5610,25 +5897,28 @@ int main(int argc, char **argv) {
ret = xmlBase64Decode(input, &inlen, output, &outlen);
output[outlen] = 0;
- printf("ret: %d, inlen: %ld , outlen: %ld, output: '%s'\n", ret, inlen, outlen, output);
-
+ printf("ret: %d, inlen: %ld , outlen: %ld, output: '%s'\n", ret, inlen,
+ outlen, output)indent: Standard input:179: Error:Unmatched #endif
+;
+
/*
* output chunking
*/
cons = 0;
prod = 0;
while (cons < inlen) {
- tmp = 5;
- tmp2 = inlen - cons;
+ tmp = 5;
+ tmp2 = inlen - cons;
- printf("%ld %ld\n", cons, prod);
- ret = xmlBase64Decode(&input[cons], &tmp2, &output2[prod], &tmp);
- cons += tmp2;
- prod += tmp;
- printf("%ld %ld\n", cons, prod);
+ printf("%ld %ld\n", cons, prod);
+ ret = xmlBase64Decode(&input[cons], &tmp2, &output2[prod], &tmp);
+ cons += tmp2;
+ prod += tmp;
+ printf("%ld %ld\n", cons, prod);
}
output2[outlen] = 0;
- printf("ret: %d, cons: %ld , prod: %ld, output: '%s'\n", ret, cons, prod, output2);
+ printf("ret: %d, cons: %ld , prod: %ld, output: '%s'\n", ret, cons,
+ prod, output2);
/*
* input chunking
@@ -5636,20 +5926,21 @@ int main(int argc, char **argv) {
cons = 0;
prod = 0;
while (cons < inlen) {
- tmp = 100 - prod;
- tmp2 = inlen - cons;
- if (tmp2 > 5)
- tmp2 = 5;
+ tmp = 100 - prod;
+ tmp2 = inlen - cons;
+ if (tmp2 > 5)
+ tmp2 = 5;
- printf("%ld %ld\n", cons, prod);
- ret = xmlBase64Decode(&input[cons], &tmp2, &output3[prod], &tmp);
- cons += tmp2;
- prod += tmp;
- printf("%ld %ld\n", cons, prod);
+ printf("%ld %ld\n", cons, prod);
+ ret = xmlBase64Decode(&input[cons], &tmp2, &output3[prod], &tmp);
+ cons += tmp2;
+ prod += tmp;
+ printf("%ld %ld\n", cons, prod);
}
output3[outlen] = 0;
- printf("ret: %d, cons: %ld , prod: %ld, output: '%s'\n", ret, cons, prod, output3);
- return(0);
+ printf("ret: %d, cons: %ld , prod: %ld, output: '%s'\n", ret, cons,
+ prod, output3);
+ return (0);
}
#endif
diff --git a/gettext-tools/gnulib-lib/libxml/xmlreader.in.h b/gettext-tools/gnulib-lib/libxml/xmlreader.in.h
index 1d12988..2c99e3a 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlreader.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlreader.in.h
@@ -18,13 +18,26 @@
#include <libxml/xmlschemas.h>
#endif
-#ifdef LIBXML_READER_ENABLED
-
#ifdef __cplusplus
extern "C" {
#endif
/**
+ * xmlParserSeverities:
+ *
+ * How severe an error callback is when the per-reader error callback API
+ * is used.
+ */
+typedef enum {
+ XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
+ XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
+ XML_PARSER_SEVERITY_WARNING = 3,
+ XML_PARSER_SEVERITY_ERROR = 4
+} xmlParserSeverities;
+
+#ifdef LIBXML_READER_ENABLED
+
+/**
* xmlTextReaderMode:
*
* Internal state values for the reader.
@@ -42,7 +55,7 @@ typedef enum {
* xmlParserProperties:
*
* Some common options to use with xmlTextReaderSetParserProp, but it
- * is better to use xmlParserOption and the xmlReaderNewxxx and
+ * is better to use xmlParserOption and the xmlReaderNewxxx and
* xmlReaderForxxx APIs now.
*/
typedef enum {
@@ -53,19 +66,6 @@ typedef enum {
} xmlParserProperties;
/**
- * xmlParserSeverities:
- *
- * How severe an error callback is when the per-reader error callback API
- * is used.
- */
-typedef enum {
- XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
- XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
- XML_PARSER_SEVERITY_WARNING = 3,
- XML_PARSER_SEVERITY_ERROR = 4
-} xmlParserSeverities;
-
-/**
* xmlReaderTypes:
*
* Predefined constants for the different types of nodes.
@@ -111,128 +111,134 @@ typedef xmlTextReader *xmlTextReaderPtr;
XMLPUBFUN xmlTextReaderPtr XMLCALL
xmlNewTextReader (xmlParserInputBufferPtr input,
const char *URI);
-XMLPUBFUN xmlTextReaderPtr XMLCALL
+XMLPUBFUN xmlTextReaderPtr XMLCALL
xmlNewTextReaderFilename(const char *URI);
-XMLPUBFUN void XMLCALL
+
+XMLPUBFUN void XMLCALL
xmlFreeTextReader (xmlTextReaderPtr reader);
+XMLPUBFUN int XMLCALL
+ xmlTextReaderSetup(xmlTextReaderPtr reader,
+ xmlParserInputBufferPtr input, const char *URL,
+ const char *encoding, int options);
+
/*
* Iterators
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderRead (xmlTextReaderPtr reader);
#ifdef LIBXML_WRITER_ENABLED
-XMLPUBFUN xmlChar * XMLCALL
- xmlTextReaderReadInnerXml (xmlTextReaderPtr reader);
-
-XMLPUBFUN xmlChar * XMLCALL
- xmlTextReaderReadOuterXml (xmlTextReaderPtr reader);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);
+
+XMLPUBFUN xmlChar * XMLCALL
+ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
#endif
-XMLPUBFUN xmlChar * XMLCALL
- xmlTextReaderReadString (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
- xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlTextReaderReadString (xmlTextReaderPtr reader);
+XMLPUBFUN int XMLCALL
+ xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);
/*
* Attributes of the node
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderDepth (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderHasValue(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderIsDefault (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderNodeType (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderReadState (xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstName (xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstString (xmlTextReaderPtr reader,
- const xmlChar *str);
-XMLPUBFUN const xmlChar * XMLCALL
+ const xmlChar *str);
+XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstValue (xmlTextReaderPtr reader);
/*
* use the Const version of the routine for
* better performance and simpler code
*/
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderBaseUri (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderLocalName (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderName (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderPrefix (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderXmlLang (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderValue (xmlTextReaderPtr reader);
/*
* Methods of the XmlTextReader
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderClose (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
int no);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
const xmlChar *name);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
const xmlChar *localName,
const xmlChar *namespaceURI);
-XMLPUBFUN xmlParserInputBufferPtr XMLCALL
+XMLPUBFUN xmlParserInputBufferPtr XMLCALL
xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
const xmlChar *prefix);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
int no);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
const xmlChar *name);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
const xmlChar *localName,
const xmlChar *namespaceURI);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderNormalization (xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
@@ -240,14 +246,14 @@ XMLPUBFUN const xmlChar * XMLCALL
/*
* Extensions
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
int prop,
int value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
int prop);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
@@ -256,41 +262,46 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlTextReaderPreserve (xmlTextReaderPtr reader);
#ifdef LIBXML_PATTERN_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
- const xmlChar *pattern,
+ const xmlChar *pattern,
const xmlChar **namespaces);
#endif /* LIBXML_PATTERN_ENABLED */
-XMLPUBFUN xmlDocPtr XMLCALL
+XMLPUBFUN xmlDocPtr XMLCALL
xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
-XMLPUBFUN xmlNodePtr XMLCALL
+XMLPUBFUN xmlNodePtr XMLCALL
xmlTextReaderExpand (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderNext (xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
xmlTextReaderNextSibling (xmlTextReaderPtr reader);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderIsValid (xmlTextReaderPtr reader);
#ifdef LIBXML_SCHEMAS_ENABLED
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
const char *rng);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
+ xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
+ xmlRelaxNGValidCtxtPtr ctxt,
+ int options);
+
+XMLPUBFUN int XMLCALL
xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
xmlRelaxNGPtr schema);
XMLPUBFUN int XMLCALL
xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
- const char *xsd);
+ const char *xsd);
XMLPUBFUN int XMLCALL
xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
xmlSchemaValidCtxtPtr ctxt,
int options);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlTextReaderSetSchema (xmlTextReaderPtr reader,
- xmlSchemaPtr schema);
+ xmlSchemaPtr schema);
#endif
XMLPUBFUN const xmlChar * XMLCALL
xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
@@ -376,33 +387,42 @@ XMLPUBFUN int XMLCALL
* Error handling extensions
*/
typedef void * xmlTextReaderLocatorPtr;
-typedef void (XMLCALL *xmlTextReaderErrorFunc) (void *arg,
- const char *msg,
- xmlParserSeverities severity,
- xmlTextReaderLocatorPtr locator);
-XMLPUBFUN int XMLCALL
- xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
-/*int xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
-XMLPUBFUN xmlChar * XMLCALL
- xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
-XMLPUBFUN void XMLCALL
- xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
- xmlTextReaderErrorFunc f,
- void *arg);
+
+/**
+ * xmlTextReaderErrorFunc:
+ * @arg: the user argument
+ * @msg: the message
+ * @severity: the severity of the error
+ * @locator: a locator indicating where the error occured
+ *
+ * Signature of an error callback from a reader parser
+ */
+typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
+ const char *msg,
+ xmlParserSeverities severity,
+ xmlTextReaderLocatorPtr locator);
+XMLPUBFUN int XMLCALL
+ xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
+XMLPUBFUN void XMLCALL
+ xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
+ xmlTextReaderErrorFunc f,
+ void *arg);
XMLPUBFUN void XMLCALL
- xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
- xmlStructuredErrorFunc f,
- void *arg);
-XMLPUBFUN void XMLCALL
- xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
- xmlTextReaderErrorFunc *f,
- void **arg);
+ xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
+ xmlStructuredErrorFunc f,
+ void *arg);
+XMLPUBFUN void XMLCALL
+ xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
+ xmlTextReaderErrorFunc *f,
+ void **arg);
+
+#endif /* LIBXML_READER_ENABLED */
#ifdef __cplusplus
}
#endif
-#endif /* LIBXML_READER_ENABLED */
-
#endif /* __XML_XMLREADER_H__ */
diff --git a/gettext-tools/gnulib-lib/libxml/xmlregexp.c b/gettext-tools/gnulib-lib/libxml/xmlregexp.c
index e7d519e..3e912ab 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlregexp.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlregexp.c
@@ -1,7 +1,7 @@
/*
* regexp.c: generic and extensible Regular Expression engine
*
- * Basically designed with the purpose of compiling regexps for
+ * Basically designed with the purpose of compiling regexps for
* the variety of validation/shemas mechanisms now available in
* XML related specifications these include:
* - XML-1.0 DTD validation
@@ -44,6 +44,9 @@
#define MAX_PUSH 10000000
+#ifdef ERROR
+#undef ERROR
+#endif
#define ERROR(str) \
ctxt->error = XML_REGEXP_COMPILE_ERROR; \
xmlRegexpErrCompile(ctxt, str);
@@ -54,21 +57,26 @@
#define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
#define NEXTL(l) ctxt->cur += l;
#define XML_REG_STRING_SEPARATOR '|'
+/*
+ * Need PREV to check on a '-' within a Character Group. May only be used
+ * when it's guaranteed that cur is not at the beginning of ctxt->string!
+ */
+#define PREV (ctxt->cur[-1])
/**
* TODO:
*
* macro to flag unimplemented blocks
*/
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
/************************************************************************
- * *
- * Datatypes and structures *
- * *
+ * *
+ * Datatypes and structures *
+ * *
************************************************************************/
/*
@@ -145,7 +153,8 @@ typedef enum {
XML_REGEXP_START_STATE = 1,
XML_REGEXP_FINAL_STATE,
XML_REGEXP_TRANS_STATE,
- XML_REGEXP_SINK_STATE
+ XML_REGEXP_SINK_STATE,
+ XML_REGEXP_UNREACH_STATE
} xmlRegStateType;
typedef enum {
@@ -183,6 +192,7 @@ struct _xmlRegAtom {
int neg;
int codepoint;
xmlRegStatePtr start;
+ xmlRegStatePtr start0;
xmlRegStatePtr stop;
int maxRanges;
int nbRanges;
@@ -212,6 +222,7 @@ struct _xmlRegTrans {
struct _xmlAutomataState {
xmlRegStateType type;
xmlRegMarkedType mark;
+ xmlRegMarkedType markd;
xmlRegMarkedType reached;
int no;
int maxTrans;
@@ -226,6 +237,8 @@ struct _xmlAutomataState {
typedef struct _xmlAutomata xmlRegParserCtxt;
typedef xmlRegParserCtxt *xmlRegParserCtxtPtr;
+#define AM_AUTOMATA_RNG 1
+
struct _xmlAutomata {
xmlChar *string;
xmlChar *cur;
@@ -253,6 +266,7 @@ struct _xmlAutomata {
int determinist;
int negs;
+ int flags;
};
struct _xmlRegexp {
@@ -264,6 +278,7 @@ struct _xmlRegexp {
int nbCounters;
xmlRegCounter *counters;
int determinist;
+ int flags;
/*
* That's the compact form for determinists automatas
*/
@@ -346,9 +361,11 @@ static int xmlRegCheckCharacter(xmlRegAtomPtr atom, int codepoint);
static int xmlRegCheckCharacterRange(xmlRegAtomType type, int codepoint,
int neg, int start, int end, const xmlChar *blockName);
+void xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
+
/************************************************************************
* *
- * Regexp memory error handler *
+ * Regexp memory error handler *
* *
************************************************************************/
/**
@@ -395,9 +412,9 @@ xmlRegexpErrCompile(xmlRegParserCtxtPtr ctxt, const char *extra)
}
/************************************************************************
- * *
- * Allocation/Deallocation *
- * *
+ * *
+ * Allocation/Deallocation *
+ * *
************************************************************************/
static int xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt);
@@ -427,6 +444,7 @@ xmlRegEpxFromParse(xmlRegParserCtxtPtr ctxt) {
ret->nbCounters = ctxt->nbCounters;
ret->counters = ctxt->counters;
ret->determinist = ctxt->determinist;
+ ret->flags = ctxt->flags;
if (ret->determinist == -1) {
xmlRegexpIsDeterminist(ret);
}
@@ -727,11 +745,41 @@ xmlRegFreeRange(xmlRegRangePtr range) {
}
/**
+ * xmlRegCopyRange:
+ * @range: the regexp range
+ *
+ * Copy a regexp range
+ *
+ * Returns the new copy or NULL in case of error.
+ */
+static xmlRegRangePtr
+xmlRegCopyRange(xmlRegParserCtxtPtr ctxt, xmlRegRangePtr range) {
+ xmlRegRangePtr ret;
+
+ if (range == NULL)
+ return(NULL);
+
+ ret = xmlRegNewRange(ctxt, range->neg, range->type, range->start,
+ range->end);
+ if (ret == NULL)
+ return(NULL);
+ if (range->blockName != NULL) {
+ ret->blockName = xmlStrdup(range->blockName);
+ if (ret->blockName == NULL) {
+ xmlRegexpErrMemory(ctxt, "allocating range");
+ xmlRegFreeRange(ret);
+ return(NULL);
+ }
+ }
+ return(ret);
+}
+
+/**
* xmlRegNewAtom:
* @ctxt: the regexp parser context
* @type: the type of atom
*
- * Allocate a new regexp range
+ * Allocate a new atom
*
* Returns the new atom or NULL in case of error
*/
@@ -778,6 +826,52 @@ xmlRegFreeAtom(xmlRegAtomPtr atom) {
xmlFree(atom);
}
+/**
+ * xmlRegCopyAtom:
+ * @ctxt: the regexp parser context
+ * @atom: the oiginal atom
+ *
+ * Allocate a new regexp range
+ *
+ * Returns the new atom or NULL in case of error
+ */
+static xmlRegAtomPtr
+xmlRegCopyAtom(xmlRegParserCtxtPtr ctxt, xmlRegAtomPtr atom) {
+ xmlRegAtomPtr ret;
+
+ ret = (xmlRegAtomPtr) xmlMalloc(sizeof(xmlRegAtom));
+ if (ret == NULL) {
+ xmlRegexpErrMemory(ctxt, "copying atom");
+ return(NULL);
+ }
+ memset(ret, 0, sizeof(xmlRegAtom));
+ ret->type = atom->type;
+ ret->quant = atom->quant;
+ ret->min = atom->min;
+ ret->max = atom->max;
+ if (atom->nbRanges > 0) {
+ int i;
+
+ ret->ranges = (xmlRegRangePtr *) xmlMalloc(sizeof(xmlRegRangePtr) *
+ atom->nbRanges);
+ if (ret->ranges == NULL) {
+ xmlRegexpErrMemory(ctxt, "copying atom");
+ goto error;
+ }
+ for (i = 0;i < atom->nbRanges;i++) {
+ ret->ranges[i] = xmlRegCopyRange(ctxt, atom->ranges[i]);
+ if (ret->ranges[i] == NULL)
+ goto error;
+ ret->nbRanges = i + 1;
+ }
+ }
+ return(ret);
+
+error:
+ xmlRegFreeAtom(ret);
+ return(NULL);
+}
+
static xmlRegStatePtr
xmlRegNewState(xmlRegParserCtxtPtr ctxt) {
xmlRegStatePtr ret;
@@ -841,9 +935,9 @@ xmlRegFreeParserCtxt(xmlRegParserCtxtPtr ctxt) {
}
/************************************************************************
- * *
- * Display of Data structures *
- * *
+ * *
+ * Display of Data structures *
+ * *
************************************************************************/
static void
@@ -1050,7 +1144,7 @@ xmlRegPrintTrans(FILE *output, xmlRegTransPtr trans) {
fprintf(output, "char %c ", trans->atom->codepoint);
fprintf(output, "atom %d, to %d\n", trans->atom->no, trans->to);
}
-
+
static void
xmlRegPrintState(FILE *output, xmlRegStatePtr state) {
int i;
@@ -1064,7 +1158,7 @@ xmlRegPrintState(FILE *output, xmlRegStatePtr state) {
fprintf(output, "START ");
if (state->type == XML_REGEXP_FINAL_STATE)
fprintf(output, "FINAL ");
-
+
fprintf(output, "%d, %d transitions:\n", state->no, state->nbTrans);
for (i = 0;i < state->nbTrans; i++) {
xmlRegPrintTrans(output, &(state->trans[i]));
@@ -1114,12 +1208,12 @@ xmlRegPrintCtxt(FILE *output, xmlRegParserCtxtPtr ctxt) {
#endif
/************************************************************************
- * *
+ * *
* Finite Automata structures manipulations *
- * *
+ * *
************************************************************************/
-static void
+static void
xmlRegAtomAddRange(xmlRegParserCtxtPtr ctxt, xmlRegAtomPtr atom,
int neg, xmlRegAtomType type, int start, int end,
xmlChar *blockName) {
@@ -1159,7 +1253,7 @@ xmlRegAtomAddRange(xmlRegParserCtxtPtr ctxt, xmlRegAtomPtr atom,
return;
range->blockName = blockName;
atom->ranges[atom->nbRanges++] = range;
-
+
}
static int
@@ -1190,7 +1284,7 @@ xmlRegGetCounter(xmlRegParserCtxtPtr ctxt) {
return(ctxt->nbCounters++);
}
-static int
+static int
xmlRegAtomPush(xmlRegParserCtxtPtr ctxt, xmlRegAtomPtr atom) {
if (atom == NULL) {
ERROR("atom push: atom is NULL");
@@ -1222,7 +1316,7 @@ xmlRegAtomPush(xmlRegParserCtxtPtr ctxt, xmlRegAtomPtr atom) {
return(0);
}
-static void
+static void
xmlRegStateAddTransTo(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr target,
int from) {
if (target->maxTransTo == 0) {
@@ -1250,7 +1344,7 @@ xmlRegStateAddTransTo(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr target,
target->nbTransTo++;
}
-static void
+static void
xmlRegStateAddTrans(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr state,
xmlRegAtomPtr atom, xmlRegStatePtr target,
int counter, int count) {
@@ -1316,7 +1410,7 @@ xmlRegStateAddTrans(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr state,
printf("counted %d\n", counter);
else if (atom == NULL)
printf("epsilon transition\n");
- else if (atom != NULL)
+ else if (atom != NULL)
xmlRegPrintAtom(stdout, atom);
#endif
@@ -1449,6 +1543,8 @@ xmlFAGenerateCountedTransition(xmlRegParserCtxtPtr ctxt,
static int
xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
xmlRegStatePtr to, xmlRegAtomPtr atom) {
+ xmlRegStatePtr end;
+
if (atom == NULL) {
ERROR("genrate transition: atom == NULL");
return(-1);
@@ -1468,7 +1564,7 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
*/
xmlFAGenerateEpsilonTransition(ctxt, atom->stop, to);
#ifdef DV
- } else if ((to == NULL) && (atom->quant != XML_REGEXP_QUANT_RANGE) &&
+ } else if ((to == NULL) && (atom->quant != XML_REGEXP_QUANT_RANGE) &&
(atom->quant != XML_REGEXP_QUANT_ONCE)) {
to = xmlRegNewState(ctxt);
xmlRegStatePush(ctxt, to);
@@ -1482,10 +1578,15 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
/*
* transition done to the state after end of atom.
* 1. set transition from atom start to new state
- * 2. set transition from atom end to this state.
+ * 2. set transition from atom end to this state.
*/
- xmlFAGenerateEpsilonTransition(ctxt, atom->start, 0);
- xmlFAGenerateEpsilonTransition(ctxt, atom->stop, ctxt->state);
+ if (to == NULL) {
+ xmlFAGenerateEpsilonTransition(ctxt, atom->start, 0);
+ xmlFAGenerateEpsilonTransition(ctxt, atom->stop,
+ ctxt->state);
+ } else {
+ xmlFAGenerateEpsilonTransition(ctxt, atom->start, to);
+ }
break;
case XML_REGEXP_QUANT_MULT:
atom->quant = XML_REGEXP_QUANT_ONCE;
@@ -1498,58 +1599,89 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
break;
case XML_REGEXP_QUANT_RANGE: {
int counter;
- xmlRegStatePtr newstate;
+ xmlRegStatePtr inter, newstate;
/*
- * This one is nasty:
- * 1/ if range has minOccurs == 0, create a new state
- * and create epsilon transitions from atom->start
- * to atom->stop, as well as atom->start to the new
- * state
- * 2/ register a new counter
- * 3/ register an epsilon transition associated to
- * this counter going from atom->stop to atom->start
- * 4/ create a new state
- * 5/ generate a counted transition from atom->stop to
- * that state
+ * create the final state now if needed
*/
- if (atom->min == 0) {
- xmlFAGenerateEpsilonTransition(ctxt, atom->start,
- atom->stop);
+ if (to != NULL) {
+ newstate = to;
+ } else {
newstate = xmlRegNewState(ctxt);
xmlRegStatePush(ctxt, newstate);
- ctxt->state = newstate;
+ }
+
+ /*
+ * The principle here is to use counted transition
+ * to avoid explosion in the number of states in the
+ * graph. This is clearly more complex but should not
+ * be exploitable at runtime.
+ */
+ if ((atom->min == 0) && (atom->start0 == NULL)) {
+ xmlRegAtomPtr copy;
+ /*
+ * duplicate a transition based on atom to count next
+ * occurences after 1. We cannot loop to atom->start
+ * directly because we need an epsilon transition to
+ * newstate.
+ */
+ /* ???? For some reason it seems we never reach that
+ case, I suppose this got optimized out before when
+ building the automata */
+ copy = xmlRegCopyAtom(ctxt, atom);
+ if (copy == NULL)
+ return(-1);
+ copy->quant = XML_REGEXP_QUANT_ONCE;
+ copy->min = 0;
+ copy->max = 0;
+
+ if (xmlFAGenerateTransitions(ctxt, atom->start, NULL, copy)
+ < 0)
+ return(-1);
+ inter = ctxt->state;
+ counter = xmlRegGetCounter(ctxt);
+ ctxt->counters[counter].min = atom->min - 1;
+ ctxt->counters[counter].max = atom->max - 1;
+ /* count the number of times we see it again */
+ xmlFAGenerateCountedEpsilonTransition(ctxt, inter,
+ atom->stop, counter);
+ /* allow a way out based on the count */
+ xmlFAGenerateCountedTransition(ctxt, inter,
+ newstate, counter);
+ /* and also allow a direct exit for 0 */
xmlFAGenerateEpsilonTransition(ctxt, atom->start,
- newstate);
+ newstate);
+ } else {
+ /*
+ * either we need the atom at least once or there
+ * is an atom->start0 allowing to easilly plug the
+ * epsilon transition.
+ */
+ counter = xmlRegGetCounter(ctxt);
+ ctxt->counters[counter].min = atom->min - 1;
+ ctxt->counters[counter].max = atom->max - 1;
+ /* count the number of times we see it again */
+ xmlFAGenerateCountedEpsilonTransition(ctxt, atom->stop,
+ atom->start, counter);
+ /* allow a way out based on the count */
+ xmlFAGenerateCountedTransition(ctxt, atom->stop,
+ newstate, counter);
+ /* and if needed allow a direct exit for 0 */
+ if (atom->min == 0)
+ xmlFAGenerateEpsilonTransition(ctxt, atom->start0,
+ newstate);
+
}
- counter = xmlRegGetCounter(ctxt);
- ctxt->counters[counter].min = atom->min - 1;
- ctxt->counters[counter].max = atom->max - 1;
atom->min = 0;
atom->max = 0;
atom->quant = XML_REGEXP_QUANT_ONCE;
- if (to != NULL) {
- newstate = to;
- } else {
- newstate = xmlRegNewState(ctxt);
- xmlRegStatePush(ctxt, newstate);
- }
ctxt->state = newstate;
- xmlFAGenerateCountedTransition(ctxt, atom->stop,
- newstate, counter);
-
- /*
- * first check count and if OK jump forward;
- * if checking fail increment count and jump back
- */
- xmlFAGenerateCountedEpsilonTransition(ctxt, atom->stop,
- atom->start, counter);
}
default:
break;
}
return(0);
- }
+ }
if ((atom->min == 0) && (atom->max == 0) &&
(atom->quant == XML_REGEXP_QUANT_RANGE)) {
/*
@@ -1576,11 +1708,30 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
return(-1);
}
}
+ end = to;
+ if ((atom->quant == XML_REGEXP_QUANT_MULT) ||
+ (atom->quant == XML_REGEXP_QUANT_PLUS)) {
+ /*
+ * Do not pollute the target state by adding transitions from
+ * it as it is likely to be the shared target of multiple branches.
+ * So isolate with an epsilon transition.
+ */
+ xmlRegStatePtr tmp;
+
+ tmp = xmlRegNewState(ctxt);
+ if (tmp != NULL)
+ xmlRegStatePush(ctxt, tmp);
+ else {
+ return(-1);
+ }
+ xmlFAGenerateEpsilonTransition(ctxt, tmp, to);
+ to = tmp;
+ }
if (xmlRegAtomPush(ctxt, atom) < 0) {
return(-1);
}
xmlRegStateAddTrans(ctxt, from, atom, to, -1, -1);
- ctxt->state = to;
+ ctxt->state = end;
switch (atom->quant) {
case XML_REGEXP_QUANT_OPT:
atom->quant = XML_REGEXP_QUANT_ONCE;
@@ -1595,6 +1746,13 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
atom->quant = XML_REGEXP_QUANT_ONCE;
xmlRegStateAddTrans(ctxt, to, atom, to, -1, -1);
break;
+ case XML_REGEXP_QUANT_RANGE:
+#if DV_test
+ if (atom->min == 0) {
+ xmlFAGenerateEpsilonTransition(ctxt, from, to);
+ }
+#endif
+ break;
default:
break;
}
@@ -1605,7 +1763,7 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
* xmlFAReduceEpsilonTransitions:
* @ctxt: a regexp parser context
* @fromnr: the from state
- * @tonr: the to state
+ * @tonr: the to state
* @counter: should that transition be associated to a counted
*
*/
@@ -1649,7 +1807,7 @@ xmlFAReduceEpsilonTransitions(xmlRegParserCtxtPtr ctxt, int fromnr,
int newto = to->trans[transnr].to;
xmlRegStateAddTrans(ctxt, from, NULL,
- ctxt->states[newto],
+ ctxt->states[newto],
-1, to->trans[transnr].count);
} else {
#ifdef DEBUG_REGEXP_GRAPH
@@ -1671,11 +1829,11 @@ xmlFAReduceEpsilonTransitions(xmlRegParserCtxtPtr ctxt, int fromnr,
int newto = to->trans[transnr].to;
if (to->trans[transnr].counter >= 0) {
- xmlRegStateAddTrans(ctxt, from, to->trans[transnr].atom,
- ctxt->states[newto],
+ xmlRegStateAddTrans(ctxt, from, to->trans[transnr].atom,
+ ctxt->states[newto],
to->trans[transnr].counter, -1);
} else {
- xmlRegStateAddTrans(ctxt, from, to->trans[transnr].atom,
+ xmlRegStateAddTrans(ctxt, from, to->trans[transnr].atom,
ctxt->states[newto], counter, -1);
}
}
@@ -1687,7 +1845,7 @@ xmlFAReduceEpsilonTransitions(xmlRegParserCtxtPtr ctxt, int fromnr,
* xmlFAEliminateSimpleEpsilonTransitions:
* @ctxt: a regexp parser context
*
- * Eliminating general epsilon transitions can get costly in the general
+ * Eliminating general epsilon transitions can get costly in the general
* algorithm due to the large amount of generated new transitions and
* associated comparisons. However for simple epsilon transition used just
* to separate building blocks when generating the automata this can be
@@ -1709,6 +1867,8 @@ xmlFAEliminateSimpleEpsilonTransitions(xmlRegParserCtxtPtr ctxt) {
continue;
if (state->nbTrans != 1)
continue;
+ if (state->type == XML_REGEXP_UNREACH_STATE)
+ continue;
/* is the only transition out a basic transition */
if ((state->trans[0].atom == NULL) &&
(state->trans[0].to >= 0) &&
@@ -1721,48 +1881,37 @@ xmlFAEliminateSimpleEpsilonTransitions(xmlRegParserCtxtPtr ctxt) {
#ifdef DEBUG_REGEXP_GRAPH
printf("Found simple epsilon trans from start %d to %d\n",
statenr, newto);
-#endif
+#endif
} else {
#ifdef DEBUG_REGEXP_GRAPH
printf("Found simple epsilon trans from %d to %d\n",
statenr, newto);
-#endif
+#endif
for (i = 0;i < state->nbTransTo;i++) {
tmp = ctxt->states[state->transTo[i]];
for (j = 0;j < tmp->nbTrans;j++) {
if (tmp->trans[j].to == statenr) {
- tmp->trans[j].to = newto;
-#ifdef DEBUG_REGEXP_GRAPH
- printf("Changed transition %d on %d to go to %d\n",
- j, tmp->no, newto);
-#endif
- xmlRegStateAddTransTo(ctxt, ctxt->states[newto],
- tmp->no);
- }
- }
- }
-#if 0
- for (i = 0;i < ctxt->nbStates;i++) {
- tmp = ctxt->states[i];
- for (j = 0;j < tmp->nbTrans;j++) {
- if (tmp->trans[j].to == statenr) {
- tmp->trans[j].to = newto;
#ifdef DEBUG_REGEXP_GRAPH
printf("Changed transition %d on %d to go to %d\n",
j, tmp->no, newto);
-#endif
+#endif
+ tmp->trans[j].to = -1;
+ xmlRegStateAddTrans(ctxt, tmp, tmp->trans[j].atom,
+ ctxt->states[newto],
+ tmp->trans[j].counter,
+ tmp->trans[j].count);
}
}
}
-#endif
if (state->type == XML_REGEXP_FINAL_STATE)
ctxt->states[newto]->type = XML_REGEXP_FINAL_STATE;
/* eliminate the transition completely */
state->nbTrans = 0;
+ state->type = XML_REGEXP_UNREACH_STATE;
}
-
+
}
}
}
@@ -1779,16 +1928,33 @@ xmlFAEliminateEpsilonTransitions(xmlRegParserCtxtPtr ctxt) {
if (ctxt->states == NULL) return;
+ /*
+ * Eliminate simple epsilon transition and the associated unreachable
+ * states.
+ */
xmlFAEliminateSimpleEpsilonTransitions(ctxt);
+ for (statenr = 0;statenr < ctxt->nbStates;statenr++) {
+ state = ctxt->states[statenr];
+ if ((state != NULL) && (state->type == XML_REGEXP_UNREACH_STATE)) {
+#ifdef DEBUG_REGEXP_GRAPH
+ printf("Removed unreachable state %d\n", statenr);
+#endif
+ xmlRegFreeState(state);
+ ctxt->states[statenr] = NULL;
+ }
+ }
has_epsilon = 0;
/*
- * build the completed transitions bypassing the epsilons
+ * Build the completed transitions bypassing the epsilons
* Use a marking algorithm to avoid loops
- * mark sink states too.
+ * Mark sink states too.
+ * Process from the latests states backward to the start when
+ * there is long cascading epsilon chains this minimize the
+ * recursions and transition compares when adding the new ones
*/
- for (statenr = 0;statenr < ctxt->nbStates;statenr++) {
+ for (statenr = ctxt->nbStates - 1;statenr >= 0;statenr--) {
state = ctxt->states[statenr];
if (state == NULL)
continue;
@@ -1812,8 +1978,9 @@ xmlFAEliminateEpsilonTransitions(xmlRegParserCtxtPtr ctxt) {
printf("Found epsilon trans %d from %d to %d\n",
transnr, statenr, newto);
#endif
- state->mark = XML_REGEXP_MARK_START;
has_epsilon = 1;
+ state->trans[transnr].to = -2;
+ state->mark = XML_REGEXP_MARK_START;
xmlFAReduceEpsilonTransitions(ctxt, statenr,
newto, state->trans[transnr].counter);
state->mark = XML_REGEXP_MARK_NORMAL;
@@ -1932,12 +2099,13 @@ xmlFACompareRanges(xmlRegRangePtr range1, xmlRegRangePtr range2) {
(range2->type == XML_REGEXP_EPSILON)) {
return(0);
} else if (range1->type == range2->type) {
- if ((range1->type != XML_REGEXP_CHARVAL) ||
- (range1->end < range2->start) ||
- (range2->end < range1->start))
- ret = 1;
- else
+ if (range1->type != XML_REGEXP_CHARVAL)
+ ret = 1;
+ else if ((range1->end < range2->start) ||
+ (range2->end < range1->start))
ret = 0;
+ else
+ ret = 1;
} else if (range1->type == XML_REGEXP_CHARVAL) {
int codepoint;
int neg = 0;
@@ -1945,7 +2113,7 @@ xmlFACompareRanges(xmlRegRangePtr range1, xmlRegRangePtr range2) {
/*
* just check all codepoints in the range for acceptance,
* this is usually way cheaper since done only once at
- * compilation than testing over and over at runtime or
+ * compilation than testing over and over at runtime or
* pushing too many states when evaluating.
*/
if (((range1->neg == 0) && (range2->neg != 0)) ||
@@ -2064,7 +2232,7 @@ xmlFACompareRanges(xmlRegRangePtr range1, xmlRegRangePtr range2) {
if (((range1->neg == 0) && (range2->neg != 0)) ||
((range1->neg != 0) && (range2->neg == 0)))
ret = !ret;
- return(1);
+ return(ret);
}
/**
@@ -2272,6 +2440,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) {
* xmlFAEqualAtoms:
* @atom1: an atom
* @atom2: an atom
+ * @deep: if not set only compare string pointers
*
* Compares two atoms to check whether they are the same exactly
* this is used to remove equivalent transitions
@@ -2279,7 +2448,7 @@ xmlFACompareAtomTypes(xmlRegAtomType type1, xmlRegAtomType type2) {
* Returns 1 if same and 0 otherwise
*/
static int
-xmlFAEqualAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2) {
+xmlFAEqualAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2, int deep) {
int ret = 0;
if (atom1 == atom2)
@@ -2294,8 +2463,11 @@ xmlFAEqualAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2) {
ret = 0;
break;
case XML_REGEXP_STRING:
- ret = xmlStrEqual((xmlChar *)atom1->valuep,
- (xmlChar *)atom2->valuep);
+ if (!deep)
+ ret = (atom1->valuep == atom2->valuep);
+ else
+ ret = xmlStrEqual((xmlChar *)atom1->valuep,
+ (xmlChar *)atom2->valuep);
break;
case XML_REGEXP_CHARVAL:
ret = (atom1->codepoint == atom2->codepoint);
@@ -2313,6 +2485,7 @@ xmlFAEqualAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2) {
* xmlFACompareAtoms:
* @atom1: an atom
* @atom2: an atom
+ * @deep: if not set only compare string pointers
*
* Compares two atoms to check whether they intersect in some ways,
* this is used by xmlFAComputesDeterminism and xmlFARecurseDeterminism only
@@ -2320,7 +2493,7 @@ xmlFAEqualAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2) {
* Returns 1 if yes and 0 otherwise
*/
static int
-xmlFACompareAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2) {
+xmlFACompareAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2, int deep) {
int ret = 1;
if (atom1 == atom2)
@@ -2346,8 +2519,11 @@ xmlFACompareAtoms(xmlRegAtomPtr atom1, xmlRegAtomPtr atom2) {
}
switch (atom1->type) {
case XML_REGEXP_STRING:
- ret = xmlRegStrEqualWildcard((xmlChar *)atom1->valuep,
- (xmlChar *)atom2->valuep);
+ if (!deep)
+ ret = (atom1->valuep != atom2->valuep);
+ else
+ ret = xmlRegStrEqualWildcard((xmlChar *)atom1->valuep,
+ (xmlChar *)atom2->valuep);
break;
case XML_REGEXP_EPSILON:
goto not_determinist;
@@ -2410,9 +2586,16 @@ xmlFARecurseDeterminism(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr state,
int res;
int transnr, nbTrans;
xmlRegTransPtr t1;
+ int deep = 1;
if (state == NULL)
return(ret);
+ if (state->markd == XML_REGEXP_MARK_VISITED)
+ return(ret);
+
+ if (ctxt->flags & AM_AUTOMATA_RNG)
+ deep = 0;
+
/*
* don't recurse on transitions potentially added in the course of
* the elimination.
@@ -2424,10 +2607,12 @@ xmlFARecurseDeterminism(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr state,
* check transitions conflicting with the one looked at
*/
if (t1->atom == NULL) {
- if (t1->to == -1)
+ if (t1->to < 0)
continue;
+ state->markd = XML_REGEXP_MARK_VISITED;
res = xmlFARecurseDeterminism(ctxt, ctxt->states[t1->to],
to, atom);
+ state->markd = 0;
if (res == 0) {
ret = 0;
/* t1->nd = 1; */
@@ -2436,7 +2621,7 @@ xmlFARecurseDeterminism(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr state,
}
if (t1->to != to)
continue;
- if (xmlFACompareAtoms(t1->atom, atom)) {
+ if (xmlFACompareAtoms(t1->atom, atom, deep)) {
ret = 0;
/* mark the transition as non-deterministic */
t1->nd = 1;
@@ -2460,6 +2645,7 @@ xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt) {
xmlRegTransPtr t1, t2, last;
int i;
int ret = 1;
+ int deep = 1;
#ifdef DEBUG_REGEXP_GRAPH
printf("xmlFAComputesDeterminism\n");
@@ -2468,6 +2654,9 @@ xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt) {
if (ctxt->determinist != -1)
return(ctxt->determinist);
+ if (ctxt->flags & AM_AUTOMATA_RNG)
+ deep = 0;
+
/*
* First cleanup the automata removing cancelled transitions
*/
@@ -2495,7 +2684,13 @@ xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt) {
continue;
if (t2->atom != NULL) {
if (t1->to == t2->to) {
- if (xmlFAEqualAtoms(t1->atom, t2->atom))
+ /*
+ * Here we use deep because we want to keep the
+ * transitions which indicate a conflict
+ */
+ if (xmlFAEqualAtoms(t1->atom, t2->atom, deep) &&
+ (t1->counter == t2->counter) &&
+ (t1->count == t2->count))
t2->to = -1; /* eliminated */
}
}
@@ -2530,8 +2725,11 @@ xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt) {
if (t2->to == -1) /* eliminated */
continue;
if (t2->atom != NULL) {
- /* not determinist ! */
- if (xmlFACompareAtoms(t1->atom, t2->atom)) {
+ /*
+ * But here we don't use deep because we want to
+ * find transitions which indicate a conflict
+ */
+ if (xmlFACompareAtoms(t1->atom, t2->atom, 1)) {
ret = 0;
/* mark the transitions as non-deterministic ones */
t1->nd = 1;
@@ -2583,9 +2781,9 @@ xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt) {
}
/************************************************************************
- * *
+ * *
* Routines to check input against transition atoms *
- * *
+ * *
************************************************************************/
static int
@@ -2614,7 +2812,7 @@ xmlRegCheckCharacterRange(xmlRegAtomType type, int codepoint, int neg,
case XML_REGEXP_NOTINITNAME:
neg = !neg;
case XML_REGEXP_INITNAME:
- ret = (IS_LETTER(codepoint) ||
+ ret = (IS_LETTER(codepoint) ||
(codepoint == '_') || (codepoint == ':'));
break;
case XML_REGEXP_NOTNAMECHAR:
@@ -2862,9 +3060,9 @@ xmlRegCheckCharacter(xmlRegAtomPtr atom, int codepoint) {
}
/************************************************************************
- * *
+ * *
* Saving and restoring state of an execution context *
- * *
+ * *
************************************************************************/
#ifdef DEBUG_REGEXP_EXEC
@@ -2875,7 +3073,8 @@ xmlFARegDebugExec(xmlRegExecCtxtPtr exec) {
int i;
printf(": ");
for (i = 0;(i < 3) && (i < exec->inputStackNr);i++)
- printf("%s ", exec->inputStack[exec->inputStackNr - (i + 1)]);
+ printf("%s ", (const char *)
+ exec->inputStack[exec->inputStackNr - (i + 1)].value);
} else {
printf(": %s", &(exec->inputString[exec->index]));
}
@@ -2963,8 +3162,10 @@ xmlFARegExecRollBack(xmlRegExecCtxtPtr exec) {
exec->status = -6;
return;
}
- memcpy(exec->counts, exec->rollbacks[exec->nbRollbacks].counts,
+ if (exec->counts) {
+ memcpy(exec->counts, exec->rollbacks[exec->nbRollbacks].counts,
exec->comp->nbCounters * sizeof(int));
+ }
}
#ifdef DEBUG_REGEXP_EXEC
@@ -2974,9 +3175,9 @@ xmlFARegExecRollBack(xmlRegExecCtxtPtr exec) {
}
/************************************************************************
- * *
+ * *
* Verifier, running an input against a compiled regexp *
- * *
+ * *
************************************************************************/
static int
@@ -3008,9 +3209,10 @@ xmlFARegExec(xmlRegexpPtr comp, const xmlChar *content) {
memset(exec->counts, 0, comp->nbCounters * sizeof(int));
} else
exec->counts = NULL;
- while ((exec->status == 0) &&
+ while ((exec->status == 0) && (exec->state != NULL) &&
((exec->inputString[exec->index] != 0) ||
- (exec->state->type != XML_REGEXP_FINAL_STATE))) {
+ ((exec->state != NULL) &&
+ (exec->state->type != XML_REGEXP_FINAL_STATE)))) {
xmlRegTransPtr trans;
xmlRegAtomPtr atom;
@@ -3081,12 +3283,22 @@ xmlFARegExec(xmlRegexpPtr comp, const xmlChar *content) {
* this is a multiple input sequence
* If there is a counter associated increment it now.
* before potentially saving and rollback
+ * do not increment if the counter is already over the
+ * maximum limit in which case get to next transition
*/
if (trans->counter >= 0) {
- if (exec->counts == NULL) {
+ xmlRegCounterPtr counter;
+
+ if ((exec->counts == NULL) ||
+ (exec->comp == NULL) ||
+ (exec->comp->counters == NULL)) {
exec->status = -1;
goto error;
}
+ counter = &exec->comp->counters[trans->counter];
+ if (exec->counts[trans->counter] >= counter->max)
+ continue; /* for loop on transitions */
+
#ifdef DEBUG_REGEXP_EXEC
printf("Increasing count %d\n", trans->counter);
#endif
@@ -3182,10 +3394,18 @@ xmlFARegExec(xmlRegexpPtr comp, const xmlChar *content) {
xmlFARegExecSave(exec);
}
if (trans->counter >= 0) {
- if (exec->counts == NULL) {
- exec->status = -1;
+ xmlRegCounterPtr counter;
+
+ /* make sure we don't go over the counter maximum value */
+ if ((exec->counts == NULL) ||
+ (exec->comp == NULL) ||
+ (exec->comp->counters == NULL)) {
+ exec->status = -1;
goto error;
}
+ counter = &exec->comp->counters[trans->counter];
+ if (exec->counts[trans->counter] >= counter->max)
+ continue; /* for loop on transitions */
#ifdef DEBUG_REGEXP_EXEC
printf("Increasing count %d\n", trans->counter);
#endif
@@ -3243,6 +3463,8 @@ error:
}
xmlFree(exec->rollbacks);
}
+ if (exec->state == NULL)
+ return(-1);
if (exec->counts != NULL)
xmlFree(exec->counts);
if (exec->status == 0)
@@ -3256,9 +3478,9 @@ error:
}
/************************************************************************
- * *
+ * *
* Progressive interface to the verifier one atom at a time *
- * *
+ * *
************************************************************************/
#ifdef DEBUG_ERR
static void testerr(xmlRegExecCtxtPtr exec);
@@ -3375,7 +3597,7 @@ xmlFARegExecSaveInputString(xmlRegExecCtxtPtr exec, const xmlChar *value,
#endif
if (exec->inputStackMax == 0) {
exec->inputStackMax = 4;
- exec->inputStack = (xmlRegInputTokenPtr)
+ exec->inputStack = (xmlRegInputTokenPtr)
xmlMalloc(exec->inputStackMax * sizeof(xmlRegInputToken));
if (exec->inputStack == NULL) {
xmlRegexpErrMemory(NULL, "pushing input string");
@@ -3404,11 +3626,11 @@ xmlFARegExecSaveInputString(xmlRegExecCtxtPtr exec, const xmlChar *value,
/**
* xmlRegStrEqualWildcard:
- * @expStr: the string to be evaluated
+ * @expStr: the string to be evaluated
* @valStr: the validation string
*
* Checks if both strings are equal or have the same content. "*"
- * can be used as a wildcard in @valStr; "|" is used as a seperator of
+ * can be used as a wildcard in @valStr; "|" is used as a seperator of
* substrings in both @expStr and @valStr.
*
* Returns 1 if the comparison is satisfied and the number of substrings
@@ -3474,7 +3696,7 @@ xmlRegCompactPushString(xmlRegExecCtxtPtr exec,
if ((comp == NULL) || (comp->compact == NULL) || (comp->stringMap == NULL))
return(-1);
-
+
if (value == NULL) {
/*
* are we at a final state ?
@@ -3495,9 +3717,9 @@ xmlRegCompactPushString(xmlRegExecCtxtPtr exec,
for (i = 0;i < comp->nbstrings;i++) {
target = comp->compact[state * (comp->nbstrings + 1) + i + 1];
if ((target > 0) && (target <= comp->nbstates)) {
- target--; /* to avoid 0 */
+ target--; /* to avoid 0 */
if (xmlRegStrEqualWildcard(comp->stringMap[i], value)) {
- exec->index = target;
+ exec->index = target;
if ((exec->callback != NULL) && (comp->transdata != NULL)) {
exec->callback(exec->data, value,
comp->transdata[state * comp->nbstrings + i], data);
@@ -3631,7 +3853,7 @@ xmlRegExecPushStringInternal(xmlRegExecCtxtPtr exec, const xmlChar *value,
continue;
counter = &exec->comp->counters[t->counter];
count = exec->counts[t->counter];
- if ((count < counter->max) &&
+ if ((count < counter->max) &&
(t->atom != NULL) &&
(xmlStrEqual(value, t->atom->valuep))) {
ret = 0;
@@ -3871,7 +4093,7 @@ rollback:
*/
exec->determinist = 0;
xmlFARegExecRollBack(exec);
- if (exec->status == 0) {
+ if ((exec->inputStack != NULL ) && (exec->status == 0)) {
value = exec->inputStack[exec->index].value;
data = exec->inputStack[exec->index].data;
#ifdef DEBUG_PUSH
@@ -3989,7 +4211,7 @@ xmlRegExecGetValues(xmlRegExecCtxtPtr exec, int err,
int maxval;
int nb = 0;
- if ((exec == NULL) || (nbval == NULL) || (nbneg == NULL) ||
+ if ((exec == NULL) || (nbval == NULL) || (nbneg == NULL) ||
(values == NULL) || (*nbval <= 0))
return(-1);
@@ -4086,7 +4308,7 @@ xmlRegExecGetValues(xmlRegExecCtxtPtr exec, int err,
(*nbval)++;
}
} else {
- if ((exec->comp->states[trans->to] != NULL) &&
+ if ((exec->comp != NULL) && (exec->comp->states[trans->to] != NULL) &&
(exec->comp->states[trans->to]->type !=
XML_REGEXP_SINK_STATE)) {
if (atom->neg)
@@ -4095,7 +4317,7 @@ xmlRegExecGetValues(xmlRegExecCtxtPtr exec, int err,
values[nb++] = (xmlChar *) atom->valuep;
(*nbval)++;
}
- }
+ }
}
for (transno = 0;
(transno < state->nbTrans) && (nb < maxval);
@@ -4122,7 +4344,7 @@ xmlRegExecGetValues(xmlRegExecCtxtPtr exec, int err,
values[nb++] = (xmlChar *) atom->valuep;
(*nbneg)++;
}
- }
+ }
}
}
return(0);
@@ -4353,10 +4575,10 @@ progress:
}
#endif
/************************************************************************
- * *
+ * *
* Parser for the Schemas Datatype Regular Expressions *
* http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#regexs *
- * *
+ * *
************************************************************************/
/**
@@ -4385,7 +4607,7 @@ xmlFAIsChar(xmlRegParserCtxtPtr ctxt) {
*
* [27] charProp ::= IsCategory | IsBlock
* [28] IsCategory ::= Letters | Marks | Numbers | Punctuation |
- * Separators | Symbols | Others
+ * Separators | Symbols | Others
* [29] Letters ::= 'L' [ultmo]?
* [30] Marks ::= 'M' [nce]?
* [31] Numbers ::= 'N' [dlo]?
@@ -4400,7 +4622,7 @@ xmlFAParseCharProp(xmlRegParserCtxtPtr ctxt) {
int cur;
xmlRegAtomType type = (xmlRegAtomType) 0;
xmlChar *blockName = NULL;
-
+
cur = CUR;
if (cur == 'L') {
NEXT;
@@ -4572,15 +4794,15 @@ xmlFAParseCharProp(xmlRegParserCtxtPtr ctxt) {
NEXT;
start = ctxt->cur;
cur = CUR;
- if (((cur >= 'a') && (cur <= 'z')) ||
- ((cur >= 'A') && (cur <= 'Z')) ||
- ((cur >= '0') && (cur <= '9')) ||
+ if (((cur >= 'a') && (cur <= 'z')) ||
+ ((cur >= 'A') && (cur <= 'Z')) ||
+ ((cur >= '0') && (cur <= '9')) ||
(cur == 0x2D)) {
NEXT;
cur = CUR;
- while (((cur >= 'a') && (cur <= 'z')) ||
- ((cur >= 'A') && (cur <= 'Z')) ||
- ((cur >= '0') && (cur <= '9')) ||
+ while (((cur >= 'a') && (cur <= 'z')) ||
+ ((cur >= 'A') && (cur <= 'Z')) ||
+ ((cur >= '0') && (cur <= '9')) ||
(cur == 0x2D)) {
NEXT;
cur = CUR;
@@ -4606,7 +4828,7 @@ xmlFAParseCharProp(xmlRegParserCtxtPtr ctxt) {
* xmlFAParseCharClassEsc:
* @ctxt: a regexp parser context
*
- * [23] charClassEsc ::= ( SingleCharEsc | MultiCharEsc | catEsc | complEsc )
+ * [23] charClassEsc ::= ( SingleCharEsc | MultiCharEsc | catEsc | complEsc )
* [24] SingleCharEsc ::= '\' [nrt\|.?*+(){}#x2D#x5B#x5D#x5E]
* [25] catEsc ::= '\p{' charProp '}'
* [26] complEsc ::= '\P{' charProp '}'
@@ -4682,6 +4904,17 @@ xmlFAParseCharClassEsc(xmlRegParserCtxtPtr ctxt) {
}
}
} else if (ctxt->atom->type == XML_REGEXP_RANGES) {
+ switch (cur) {
+ case 'n':
+ cur = '\n';
+ break;
+ case 'r':
+ cur = '\r';
+ break;
+ case 't':
+ cur = '\t';
+ break;
+ }
xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
XML_REGEXP_CHARVAL, cur, cur, NULL);
}
@@ -4692,34 +4925,34 @@ xmlFAParseCharClassEsc(xmlRegParserCtxtPtr ctxt) {
xmlRegAtomType type = XML_REGEXP_ANYSPACE;
switch (cur) {
- case 's':
+ case 's':
type = XML_REGEXP_ANYSPACE;
break;
- case 'S':
+ case 'S':
type = XML_REGEXP_NOTSPACE;
break;
- case 'i':
+ case 'i':
type = XML_REGEXP_INITNAME;
break;
- case 'I':
+ case 'I':
type = XML_REGEXP_NOTINITNAME;
break;
- case 'c':
+ case 'c':
type = XML_REGEXP_NAMECHAR;
break;
- case 'C':
+ case 'C':
type = XML_REGEXP_NOTNAMECHAR;
break;
- case 'd':
+ case 'd':
type = XML_REGEXP_DECIMAL;
break;
- case 'D':
+ case 'D':
type = XML_REGEXP_NOTDECIMAL;
break;
- case 'w':
+ case 'w':
type = XML_REGEXP_REALCHAR;
break;
- case 'W':
+ case 'W':
type = XML_REGEXP_NOTREALCHAR;
break;
}
@@ -4730,72 +4963,16 @@ xmlFAParseCharClassEsc(xmlRegParserCtxtPtr ctxt) {
xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
type, 0, 0, NULL);
}
- }
-}
-
-/**
- * xmlFAParseCharRef:
- * @ctxt: a regexp parser context
- *
- * [19] XmlCharRef ::= ( '&#' [0-9]+ ';' ) | (' &#x' [0-9a-fA-F]+ ';' )
- */
-static int
-xmlFAParseCharRef(xmlRegParserCtxtPtr ctxt) {
- int ret = 0, cur;
-
- if ((CUR != '&') || (NXT(1) != '#'))
- return(-1);
- NEXT;
- NEXT;
- cur = CUR;
- if (cur == 'x') {
- NEXT;
- cur = CUR;
- if (((cur >= '0') && (cur <= '9')) ||
- ((cur >= 'a') && (cur <= 'f')) ||
- ((cur >= 'A') && (cur <= 'F'))) {
- while (((cur >= '0') && (cur <= '9')) ||
- ((cur >= 'a') && (cur <= 'f')) ||
- ((cur >= 'A') && (cur <= 'F'))) {
- if ((cur >= '0') && (cur <= '9'))
- ret = ret * 16 + cur - '0';
- else if ((cur >= 'a') && (cur <= 'f'))
- ret = ret * 16 + 10 + (cur - 'a');
- else
- ret = ret * 16 + 10 + (cur - 'A');
- NEXT;
- cur = CUR;
- }
- } else {
- ERROR("Char ref: expecting [0-9A-F]");
- return(-1);
- }
- } else {
- if ((cur >= '0') && (cur <= '9')) {
- while ((cur >= '0') && (cur <= '9')) {
- ret = ret * 10 + cur - '0';
- NEXT;
- cur = CUR;
- }
- } else {
- ERROR("Char ref: expecting [0-9]");
- return(-1);
- }
- }
- if (cur != ';') {
- ERROR("Char ref: expecting ';'");
- return(-1);
} else {
- NEXT;
+ ERROR("Wrong escape sequence, misuse of character '\\'");
}
- return(ret);
}
/**
* xmlFAParseCharRange:
* @ctxt: a regexp parser context
*
- * [17] charRange ::= seRange | XmlCharRef | XmlCharIncDash
+ * [17] charRange ::= seRange | XmlCharRef | XmlCharIncDash
* [18] seRange ::= charOrEsc '-' charOrEsc
* [20] charOrEsc ::= XmlChar | SingleCharEsc
* [21] XmlChar ::= [^\#x2D#x5B#x5D]
@@ -4812,12 +4989,6 @@ xmlFAParseCharRange(xmlRegParserCtxtPtr ctxt) {
return;
}
- if ((CUR == '&') && (NXT(1) == '#')) {
- end = start = xmlFAParseCharRef(ctxt);
- xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
- XML_REGEXP_CHARVAL, start, end, NULL);
- return;
- }
cur = CUR;
if (cur == '\\') {
NEXT;
@@ -4842,10 +5013,15 @@ xmlFAParseCharRange(xmlRegParserCtxtPtr ctxt) {
ERROR("Expecting a char range");
return;
}
- NEXTL(len);
- if (start == '-') {
+ /*
+ * Since we are "inside" a range, we can assume ctxt->cur is past
+ * the start of ctxt->string, and PREV should be safe
+ */
+ if ((start == '-') && (NXT(1) != ']') && (PREV != '[') && (PREV != '^')) {
+ NEXTL(len);
return;
}
+ NEXTL(len);
cur = CUR;
if ((cur != '-') || (NXT(1) == ']')) {
xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
@@ -4896,7 +5072,7 @@ xmlFAParseCharRange(xmlRegParserCtxtPtr ctxt) {
static void
xmlFAParsePosCharGroup(xmlRegParserCtxtPtr ctxt) {
do {
- if ((CUR == '\\') || (CUR == '.')) {
+ if (CUR == '\\') {
xmlFAParseCharClassEsc(ctxt);
} else {
xmlFAParseCharRange(ctxt);
@@ -4911,7 +5087,7 @@ xmlFAParsePosCharGroup(xmlRegParserCtxtPtr ctxt) {
*
* [13] charGroup ::= posCharGroup | negCharGroup | charClassSub
* [15] negCharGroup ::= '^' posCharGroup
- * [16] charClassSub ::= ( posCharGroup | negCharGroup ) '-' charClassExpr
+ * [16] charClassSub ::= ( posCharGroup | negCharGroup ) '-' charClassExpr
* [12] charClassExpr ::= '[' charGroup ']'
*/
static void
@@ -5085,9 +5261,15 @@ xmlFAParseAtom(xmlRegParserCtxtPtr ctxt) {
} else if (CUR == ')') {
return(0);
} else if (CUR == '(') {
- xmlRegStatePtr start, oldend;
+ xmlRegStatePtr start, oldend, start0;
NEXT;
+ /*
+ * this extra Epsilon transition is needed if we count with 0 allowed
+ * unfortunately this can't be known at that point
+ */
+ xmlFAGenerateEpsilonTransition(ctxt, ctxt->state, NULL);
+ start0 = ctxt->state;
xmlFAGenerateEpsilonTransition(ctxt, ctxt->state, NULL);
start = ctxt->state;
oldend = ctxt->end;
@@ -5103,6 +5285,7 @@ xmlFAParseAtom(xmlRegParserCtxtPtr ctxt) {
if (ctxt->atom == NULL)
return(-1);
ctxt->atom->start = start;
+ ctxt->atom->start0 = start0;
ctxt->atom->stop = ctxt->state;
ctxt->end = oldend;
return(1);
@@ -5152,7 +5335,7 @@ xmlFAParseBranch(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr to) {
previous = ctxt->state;
ret = xmlFAParsePiece(ctxt);
if (ret != 0) {
- if (xmlFAGenerateTransitions(ctxt, previous,
+ if (xmlFAGenerateTransitions(ctxt, previous,
(CUR=='|' || CUR==')') ? to : NULL, ctxt->atom) < 0)
return(-1);
previous = ctxt->state;
@@ -5161,7 +5344,7 @@ xmlFAParseBranch(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr to) {
while ((ret != 0) && (ctxt->error == 0)) {
ret = xmlFAParsePiece(ctxt);
if (ret != 0) {
- if (xmlFAGenerateTransitions(ctxt, previous,
+ if (xmlFAGenerateTransitions(ctxt, previous,
(CUR=='|' || CUR==')') ? to : NULL, ctxt->atom) < 0)
return(-1);
previous = ctxt->state;
@@ -5199,6 +5382,10 @@ xmlFAParseRegExp(xmlRegParserCtxtPtr ctxt, int top) {
end = ctxt->state;
while ((CUR == '|') && (ctxt->error == 0)) {
NEXT;
+ if (CUR == 0) {
+ ERROR("expecting a branch after |")
+ return;
+ }
ctxt->state = start;
ctxt->end = NULL;
xmlFAParseBranch(ctxt, end);
@@ -5210,9 +5397,9 @@ xmlFAParseRegExp(xmlRegParserCtxtPtr ctxt, int top) {
}
/************************************************************************
- * *
- * The basic API *
- * *
+ * *
+ * The basic API *
+ * *
************************************************************************/
/**
@@ -5281,6 +5468,10 @@ xmlRegexpCompile(const xmlChar *regexp) {
if (CUR != 0) {
ERROR("xmlFAParseRegExp: extra characters");
}
+ if (ctxt->error != 0) {
+ xmlRegFreeParserCtxt(ctxt);
+ return(NULL);
+ }
ctxt->end = ctxt->state;
ctxt->start->type = XML_REGEXP_START_STATE;
ctxt->end->type = XML_REGEXP_FINAL_STATE;
@@ -5345,10 +5536,12 @@ xmlRegexpIsDeterminist(xmlRegexpPtr comp) {
am->nbStates = comp->nbStates;
am->states = comp->states;
am->determinist = -1;
+ am->flags = comp->flags;
ret = xmlFAComputesDeterminism(am);
am->atoms = NULL;
am->states = NULL;
xmlFreeAutomata(am);
+ comp->determinist = ret;
return(ret);
}
@@ -5393,9 +5586,9 @@ xmlRegFreeRegexp(xmlRegexpPtr regexp) {
#ifdef LIBXML_AUTOMATA_ENABLED
/************************************************************************
- * *
- * The Automata interface *
- * *
+ * *
+ * The Automata interface *
+ * *
************************************************************************/
/**
@@ -5426,6 +5619,7 @@ xmlNewAutomata(void) {
xmlFreeAutomata(ctxt);
return(NULL);
}
+ ctxt->flags = 0;
return(ctxt);
}
@@ -5444,6 +5638,20 @@ xmlFreeAutomata(xmlAutomataPtr am) {
}
/**
+ * xmlAutomataSetFlags:
+ * @am: an automata
+ * @flags: a set of internal flags
+ *
+ * Set some flags on the automata
+ */
+void
+xmlAutomataSetFlags(xmlAutomataPtr am, int flags) {
+ if (am == NULL)
+ return;
+ am->flags |= flags;
+}
+
+/**
* xmlAutomataGetInitState:
* @am: an automata
*
@@ -5501,8 +5709,6 @@ xmlAutomataNewTransition(xmlAutomataPtr am, xmlAutomataStatePtr from,
if (atom == NULL)
return(NULL);
atom->data = data;
- if (atom == NULL)
- return(NULL);
atom->valuep = xmlStrdup(token);
if (xmlFAGenerateTransitions(am, from, to, atom) < 0) {
@@ -5651,7 +5857,7 @@ xmlAutomataNewNegTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
*
* If @to is NULL, this creates first a new target state in the automata
* and then adds a transition from the @from state to the target state
- * activated by a succession of input of value @token and @token2 and
+ * activated by a succession of input of value @token and @token2 and
* whose number is between @min and @max
*
* Returns the target state or NULL in case of error
@@ -5805,8 +6011,8 @@ xmlAutomataNewCountTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
*
* If @to is NULL, this creates first a new target state in the automata
* and then adds a transition from the @from state to the target state
- * activated by a succession of input of value @token and @token2 and whose
- * number is between @min and @max, moreover that transition can only be
+ * activated by a succession of input of value @token and @token2 and whose
+ * number is between @min and @max, moreover that transition can only be
* crossed once.
*
* Returns the target state or NULL in case of error
@@ -5848,7 +6054,7 @@ xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
str[lenn + lenp + 1] = 0;
atom->valuep = str;
- }
+ }
atom->data = data;
atom->quant = XML_REGEXP_QUANT_ONCEONLY;
atom->min = min;
@@ -5871,7 +6077,7 @@ xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
return(to);
}
-
+
/**
* xmlAutomataNewOnceTrans:
@@ -5940,7 +6146,7 @@ xmlAutomataNewOnceTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
*/
xmlAutomataStatePtr
xmlAutomataNewState(xmlAutomataPtr am) {
- xmlAutomataStatePtr to;
+ xmlAutomataStatePtr to;
if (am == NULL)
return(NULL);
@@ -6007,7 +6213,7 @@ xmlAutomataNewAllTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
*
* Returns the counter number or -1 in case of error
*/
-int
+int
xmlAutomataNewCounter(xmlAutomataPtr am, int min, int max) {
int ret;
@@ -6079,7 +6285,7 @@ xmlAutomataNewCounterTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
*
* Returns the compiled regexp or NULL in case of error
*/
-xmlRegexpPtr
+xmlRegexpPtr
xmlAutomataCompile(xmlAutomataPtr am) {
xmlRegexpPtr ret;
@@ -6099,7 +6305,7 @@ xmlAutomataCompile(xmlAutomataPtr am) {
*
* Returns 1 if true, 0 if not, and -1 in case of error
*/
-int
+int
xmlAutomataIsDeterminist(xmlAutomataPtr am) {
int ret;
@@ -6129,6 +6335,7 @@ struct _xmlExpCtxt {
int size;
int nbElems;
int nb_nodes;
+ int maxNodes;
const char *expr;
const char *cur;
int nb_cons;
@@ -6151,13 +6358,14 @@ xmlExpNewCtxt(int maxNodes, xmlDictPtr dict) {
if (maxNodes <= 4096)
maxNodes = 4096;
-
+
ret = (xmlExpCtxtPtr) xmlMalloc(sizeof(xmlExpCtxt));
if (ret == NULL)
return(NULL);
memset(ret, 0, sizeof(xmlExpCtxt));
ret->size = size;
ret->nbElems = 0;
+ ret->maxNodes = maxNodes;
ret->table = xmlMalloc(size * sizeof(xmlExpNodePtr));
if (ret->table == NULL) {
xmlFree(ret);
@@ -6204,7 +6412,7 @@ xmlExpFreeCtxt(xmlExpCtxtPtr ctxt) {
/* #define DEBUG_DERIV */
/*
- * TODO:
+ * TODO:
* - Wildcards
* - public API for creation
*
@@ -6272,7 +6480,7 @@ static unsigned short
xmlExpHashNameComputeKey(const xmlChar *name) {
unsigned short value = 0L;
char ch;
-
+
if (name != NULL) {
value += 30 * (*name);
while ((ch = *name++) != 0) {
@@ -6291,7 +6499,7 @@ xmlExpHashComputeKey(xmlExpNodeType type, xmlExpNodePtr left,
xmlExpNodePtr right) {
unsigned long value;
unsigned short ret;
-
+
switch (type) {
case XML_EXP_SEQ:
value = left->key;
@@ -6432,7 +6640,7 @@ xmlExpHashGetEntry(xmlExpCtxtPtr ctxt, xmlExpNodeType type,
left->exp_left->ref++;
tmp = xmlExpHashGetEntry(ctxt, XML_EXP_OR, left->exp_left, tmp,
NULL, 0, 0);
-
+
xmlExpFree(ctxt, left);
return(tmp);
}
@@ -6489,7 +6697,7 @@ xmlExpHashGetEntry(xmlExpCtxtPtr ctxt, xmlExpNodeType type,
return(right);
}
kbase = xmlExpHashComputeKey(type, left, right);
- } else
+ } else
return(NULL);
key = kbase % ctxt->size;
@@ -6630,7 +6838,7 @@ xmlExpRef(xmlExpNodePtr exp) {
* xmlExpNewAtom:
* @ctxt: the expression context
* @name: the atom name
- * @len: the atom name lenght in byte (or -1);
+ * @len: the atom name length in byte (or -1);
*
* Get the atom associated to this name from that context
*
@@ -6730,7 +6938,7 @@ xmlExpNewRange(xmlExpCtxtPtr ctxt, xmlExpNodePtr subset, int min, int max) {
************************************************************************/
static int
-xmlExpGetLanguageInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
+xmlExpGetLanguageInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
const xmlChar**list, int len, int nb) {
int tmp, tmp2;
tail:
@@ -6743,7 +6951,7 @@ tail:
return(0);
if (nb >= len)
return(-2);
- list[nb++] = exp->exp_str;
+ list[nb] = exp->exp_str;
return(1);
case XML_EXP_COUNT:
exp = exp->exp_left;
@@ -6767,7 +6975,7 @@ tail:
* @ctxt: the expression context
* @exp: the expression
* @langList: where to store the tokens
- * @len: the allocated lenght of @list
+ * @len: the allocated length of @list
*
* Find all the strings used in @exp and store them in @list
*
@@ -6775,7 +6983,7 @@ tail:
* -2 if there is more than @len strings
*/
int
-xmlExpGetLanguage(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
+xmlExpGetLanguage(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
const xmlChar**langList, int len) {
if ((ctxt == NULL) || (exp == NULL) || (langList == NULL) || (len <= 0))
return(-1);
@@ -6783,7 +6991,7 @@ xmlExpGetLanguage(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
}
static int
-xmlExpGetStartInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
+xmlExpGetStartInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
const xmlChar**list, int len, int nb) {
int tmp, tmp2;
tail:
@@ -6798,7 +7006,7 @@ tail:
return(0);
if (nb >= len)
return(-2);
- list[nb++] = exp->exp_str;
+ list[nb] = exp->exp_str;
return(1);
case XML_EXP_COUNT:
exp = exp->exp_left;
@@ -6833,7 +7041,7 @@ tail:
* @ctxt: the expression context
* @exp: the expression
* @tokList: where to store the tokens
- * @len: the allocated lenght of @list
+ * @len: the allocated length of @list
*
* Find all the strings that appears at the start of the languages
* accepted by @exp and store them in @list. E.g. for (a, b) | c
@@ -6843,7 +7051,7 @@ tail:
* -2 if there is more than @len strings
*/
int
-xmlExpGetStart(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
+xmlExpGetStart(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp,
const xmlChar**tokList, int len) {
if ((ctxt == NULL) || (exp == NULL) || (tokList == NULL) || (len <= 0))
return(-1);
@@ -7540,7 +7748,7 @@ xmlExpExpDeriveInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
xmlFree((xmlChar **) tab);
return(ret);
}
-
+
/**
* xmlExpExpDerive:
* @ctxt: the expressions context
@@ -7592,7 +7800,7 @@ xmlExpExpDerive(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
int
xmlExpSubsume(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
xmlExpNodePtr tmp;
-
+
if ((exp == NULL) || (ctxt == NULL) || (sub == NULL))
return(-1);
@@ -7636,7 +7844,7 @@ xmlExpSubsume(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
/************************************************************************
* *
- * Parsing expression *
+ * Parsing expression *
* *
************************************************************************/
@@ -7740,7 +7948,7 @@ parse_quantifier:
ret = xmlExpHashGetEntry(ctxt, XML_EXP_COUNT, ret, NULL, NULL,
0, -1);
SKIP_BLANKS
- }
+ }
return(ret);
}
@@ -7862,7 +8070,7 @@ xmlExpDumpInt(xmlBufferPtr buf, xmlExpNodePtr expr, int glob) {
break;
case XML_EXP_COUNT: {
char rep[40];
-
+
c = expr->exp_left;
if ((c->type == XML_EXP_SEQ) || (c->type == XML_EXP_OR))
xmlExpDumpInt(buf, c, 1);
diff --git a/gettext-tools/gnulib-lib/libxml/xmlregexp.in.h b/gettext-tools/gnulib-lib/libxml/xmlregexp.in.h
index 022cd6a..7009645 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlregexp.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlregexp.in.h
@@ -38,7 +38,7 @@ typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
#ifdef __cplusplus
}
-#endif
+#endif
#include <libxml/tree.h>
#include <libxml/dict.h>
#ifdef __cplusplus
@@ -51,16 +51,22 @@ extern "C" {
XMLPUBFUN xmlRegexpPtr XMLCALL
xmlRegexpCompile (const xmlChar *regexp);
XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRegexpExec (xmlRegexpPtr comp,
const xmlChar *value);
-XMLPUBFUN void XMLCALL
- xmlRegexpPrint (FILE *output,
+XMLPUBFUN void XMLCALL
+ xmlRegexpPrint (FILE *output,
xmlRegexpPtr regexp);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRegexpIsDeterminist(xmlRegexpPtr comp);
-/*
+/**
+ * xmlRegExecCallbacks:
+ * @exec: the regular expression context
+ * @token: the current token string
+ * @transdata: transition data
+ * @inputdata: input data
+ *
* Callback function when doing a transition in the automata
*/
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
@@ -71,17 +77,17 @@ typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
/*
* The progressive API
*/
-XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
- xmlRegNewExecCtxt (xmlRegexpPtr comp,
+XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
+ xmlRegNewExecCtxt (xmlRegexpPtr comp,
xmlRegExecCallbacks callback,
void *data);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
-XMLPUBFUN int XMLCALL
- xmlRegExecPushString(xmlRegExecCtxtPtr exec,
+XMLPUBFUN int XMLCALL
+ xmlRegExecPushString(xmlRegExecCtxtPtr exec,
const xmlChar *value,
void *data);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
const xmlChar *value,
const xmlChar *value2,
@@ -89,15 +95,15 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
- int *nbval,
- int *nbneg,
+ int *nbval,
+ int *nbneg,
xmlChar **values,
int *terminal);
XMLPUBFUN int XMLCALL
xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
- const xmlChar **string,
+ const xmlChar **string,
int *nbval,
- int *nbneg,
+ int *nbneg,
xmlChar **values,
int *terminal);
#ifdef LIBXML_EXPR_ENABLED
@@ -135,7 +141,7 @@ typedef enum {
} xmlExpNodeType;
/*
- * 2 core expressions shared by all for the empty language set
+ * 2 core expressions shared by all for the empty language set
* and for the set with just the empty token
*/
XMLPUBVAR xmlExpNodePtr forbiddenExp;
@@ -209,7 +215,7 @@ XMLPUBFUN void XMLCALL
#endif /* LIBXML_EXPR_ENABLED */
#ifdef __cplusplus
}
-#endif
+#endif
#endif /* LIBXML_REGEXP_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/xmlsave.c b/gettext-tools/gnulib-lib/libxml/xmlsave.c
index 6963e7b..774404b 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlsave.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlsave.c
@@ -19,6 +19,10 @@
#include <libxml/HTMLtree.h>
+#include "buf.h"
+#include "enc.h"
+#include "save.h"
+
/************************************************************************
* *
* XHTML detection *
@@ -66,7 +70,7 @@ xmlIsXHTML(const xmlChar *systemID, const xmlChar *publicID) {
#ifdef LIBXML_OUTPUT_ENABLED
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -92,7 +96,7 @@ struct _xmlSaveCtxt {
/************************************************************************
* *
- * Output error handlers *
+ * Output error handlers *
* *
************************************************************************/
/**
@@ -210,9 +214,9 @@ xmlEscapeEntities(unsigned char* out, int *outlen,
int val;
inend = in + (*inlen);
-
+
while ((in < inend) && (out < outend)) {
- if (*in == '<') {
+ if (*in == '<') {
if (outend - out < 4) break;
*out++ = '&';
*out++ = 'l';
@@ -248,7 +252,7 @@ xmlEscapeEntities(unsigned char* out, int *outlen,
/*
* We assume we have UTF-8 input.
*/
- if (outend - out < 10) break;
+ if (outend - out < 11) break;
if (*in < 0xC0) {
xmlSaveErr(XML_SAVE_NOT_UTF8, NULL, NULL);
@@ -408,13 +412,15 @@ xmlNewSaveCtxt(const char *encoding, int options)
ret->options = options;
if (options & XML_SAVE_FORMAT)
ret->format = 1;
+ else if (options & XML_SAVE_WSNONSIG)
+ ret->format = 2;
return(ret);
}
/************************************************************************
* *
- * Dumping XML tree content to a simple buffer *
+ * Dumping XML tree content to a simple buffer *
* *
************************************************************************/
/**
@@ -434,14 +440,14 @@ xmlAttrSerializeContent(xmlOutputBufferPtr buf, xmlAttrPtr attr)
while (children != NULL) {
switch (children->type) {
case XML_TEXT_NODE:
- xmlAttrSerializeTxtContent(buf->buffer, attr->doc,
- attr, children->content);
+ xmlBufAttrSerializeTxtContent(buf->buffer, attr->doc,
+ attr, children->content);
break;
case XML_ENTITY_REF_NODE:
- xmlBufferAdd(buf->buffer, BAD_CAST "&", 1);
- xmlBufferAdd(buf->buffer, children->name,
+ xmlBufAdd(buf->buffer, BAD_CAST "&", 1);
+ xmlBufAdd(buf->buffer, children->name,
xmlStrlen(children->name));
- xmlBufferAdd(buf->buffer, BAD_CAST ";", 1);
+ xmlBufAdd(buf->buffer, BAD_CAST ";", 1);
break;
default:
/* should not happen unless we have a badly built tree */
@@ -451,12 +457,136 @@ xmlAttrSerializeContent(xmlOutputBufferPtr buf, xmlAttrPtr attr)
}
}
+/**
+ * xmlBufDumpNotationTable:
+ * @buf: an xmlBufPtr output
+ * @table: A notation table
+ *
+ * This will dump the content of the notation table as an XML DTD definition
+ */
+void
+xmlBufDumpNotationTable(xmlBufPtr buf, xmlNotationTablePtr table) {
+ xmlBufferPtr buffer;
+
+ buffer = xmlBufferCreate();
+ if (buffer == NULL) {
+ /*
+ * TODO set the error in buf
+ */
+ return;
+ }
+ xmlDumpNotationTable(buffer, table);
+ xmlBufMergeBuffer(buf, buffer);
+}
+
+/**
+ * xmlBufDumpElementDecl:
+ * @buf: an xmlBufPtr output
+ * @elem: An element table
+ *
+ * This will dump the content of the element declaration as an XML
+ * DTD definition
+ */
+void
+xmlBufDumpElementDecl(xmlBufPtr buf, xmlElementPtr elem) {
+ xmlBufferPtr buffer;
+
+ buffer = xmlBufferCreate();
+ if (buffer == NULL) {
+ /*
+ * TODO set the error in buf
+ */
+ return;
+ }
+ xmlDumpElementDecl(buffer, elem);
+ xmlBufMergeBuffer(buf, buffer);
+}
+
+/**
+ * xmlBufDumpAttributeDecl:
+ * @buf: an xmlBufPtr output
+ * @attr: An attribute declaration
+ *
+ * This will dump the content of the attribute declaration as an XML
+ * DTD definition
+ */
+void
+xmlBufDumpAttributeDecl(xmlBufPtr buf, xmlAttributePtr attr) {
+ xmlBufferPtr buffer;
+
+ buffer = xmlBufferCreate();
+ if (buffer == NULL) {
+ /*
+ * TODO set the error in buf
+ */
+ return;
+ }
+ xmlDumpAttributeDecl(buffer, attr);
+ xmlBufMergeBuffer(buf, buffer);
+}
+
+/**
+ * xmlBufDumpEntityDecl:
+ * @buf: an xmlBufPtr output
+ * @ent: An entity table
+ *
+ * This will dump the content of the entity table as an XML DTD definition
+ */
+void
+xmlBufDumpEntityDecl(xmlBufPtr buf, xmlEntityPtr ent) {
+ xmlBufferPtr buffer;
+
+ buffer = xmlBufferCreate();
+ if (buffer == NULL) {
+ /*
+ * TODO set the error in buf
+ */
+ return;
+ }
+ xmlDumpEntityDecl(buffer, ent);
+ xmlBufMergeBuffer(buf, buffer);
+}
+
/************************************************************************
* *
- * Dumping XML tree content to an I/O output buffer *
+ * Dumping XML tree content to an I/O output buffer *
* *
************************************************************************/
+static int xmlSaveSwitchEncoding(xmlSaveCtxtPtr ctxt, const char *encoding) {
+ xmlOutputBufferPtr buf = ctxt->buf;
+
+ if ((encoding != NULL) && (buf->encoder == NULL) && (buf->conv == NULL)) {
+ buf->encoder = xmlFindCharEncodingHandler((const char *)encoding);
+ if (buf->encoder == NULL) {
+ xmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL,
+ (const char *)encoding);
+ return(-1);
+ }
+ buf->conv = xmlBufCreate();
+ if (buf->conv == NULL) {
+ xmlCharEncCloseFunc(buf->encoder);
+ xmlSaveErrMemory("creating encoding buffer");
+ return(-1);
+ }
+ /*
+ * initialize the state, e.g. if outputting a BOM
+ */
+ xmlCharEncOutput(buf, 1);
+ }
+ return(0);
+}
+
+static int xmlSaveClearEncoding(xmlSaveCtxtPtr ctxt) {
+ xmlOutputBufferPtr buf = ctxt->buf;
+ xmlOutputBufferFlush(buf);
+ xmlCharEncCloseFunc(buf->encoder);
+ xmlBufFree(buf->conv);
+ buf->encoder = NULL;
+ buf->conv = NULL;
+ return(0);
+}
+
#ifdef LIBXML_HTML_ENABLED
static void
xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
@@ -467,28 +597,86 @@ void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
static int xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur);
/**
+ * xmlOutputBufferWriteWSNonSig:
+ * @ctxt: The save context
+ * @extra: Number of extra indents to apply to ctxt->level
+ *
+ * Write out formatting for non-significant whitespace output.
+ */
+static void
+xmlOutputBufferWriteWSNonSig(xmlSaveCtxtPtr ctxt, int extra)
+{
+ int i;
+ if ((ctxt == NULL) || (ctxt->buf == NULL))
+ return;
+ xmlOutputBufferWrite(ctxt->buf, 1, "\n");
+ for (i = 0; i < (ctxt->level + extra); i += ctxt->indent_nr) {
+ xmlOutputBufferWrite(ctxt->buf, ctxt->indent_size *
+ ((ctxt->level + extra - i) > ctxt->indent_nr ?
+ ctxt->indent_nr : (ctxt->level + extra - i)),
+ ctxt->indent);
+ }
+}
+
+/**
* xmlNsDumpOutput:
* @buf: the XML buffer output
* @cur: a namespace
+ * @ctxt: the output save context. Optional.
*
* Dump a local Namespace definition.
* Should be called in the context of attributes dumps.
+ * If @ctxt is supplied, @buf should be its buffer.
*/
static void
-xmlNsDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur) {
+xmlNsDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur, xmlSaveCtxtPtr ctxt) {
if ((cur == NULL) || (buf == NULL)) return;
if ((cur->type == XML_LOCAL_NAMESPACE) && (cur->href != NULL)) {
if (xmlStrEqual(cur->prefix, BAD_CAST "xml"))
return;
+ if (ctxt != NULL && ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 2);
+ else
+ xmlOutputBufferWrite(buf, 1, " ");
+
/* Within the context of an element attributes */
if (cur->prefix != NULL) {
- xmlOutputBufferWrite(buf, 7, " xmlns:");
+ xmlOutputBufferWrite(buf, 6, "xmlns:");
xmlOutputBufferWriteString(buf, (const char *)cur->prefix);
} else
- xmlOutputBufferWrite(buf, 6, " xmlns");
+ xmlOutputBufferWrite(buf, 5, "xmlns");
xmlOutputBufferWrite(buf, 1, "=");
- xmlBufferWriteQuotedString(buf->buffer, cur->href);
+ xmlBufWriteQuotedString(buf->buffer, cur->href);
+ }
+}
+
+/**
+ * xmlNsDumpOutputCtxt
+ * @ctxt: the save context
+ * @cur: a namespace
+ *
+ * Dump a local Namespace definition to a save context.
+ * Should be called in the context of attribute dumps.
+ */
+static void
+xmlNsDumpOutputCtxt(xmlSaveCtxtPtr ctxt, xmlNsPtr cur) {
+ xmlNsDumpOutput(ctxt->buf, cur, ctxt);
+}
+
+/**
+ * xmlNsListDumpOutputCtxt
+ * @ctxt: the save context
+ * @cur: the first namespace
+ *
+ * Dump a list of local namespace definitions to a save context.
+ * Should be called in the context of attribute dumps.
+ */
+static void
+xmlNsListDumpOutputCtxt(xmlSaveCtxtPtr ctxt, xmlNsPtr cur) {
+ while (cur != NULL) {
+ xmlNsDumpOutput(ctxt->buf, cur, ctxt);
+ cur = cur->next;
}
}
@@ -503,7 +691,7 @@ xmlNsDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur) {
void
xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur) {
while (cur != NULL) {
- xmlNsDumpOutput(buf, cur);
+ xmlNsDumpOutput(buf, cur, NULL);
cur = cur->next;
}
}
@@ -512,7 +700,7 @@ xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur) {
* xmlDtdDumpOutput:
* @buf: the XML buffer output
* @dtd: the pointer to the DTD
- *
+ *
* Dump the XML document DTD, if any.
*/
static void
@@ -529,12 +717,12 @@ xmlDtdDumpOutput(xmlSaveCtxtPtr ctxt, xmlDtdPtr dtd) {
xmlOutputBufferWriteString(buf, (const char *)dtd->name);
if (dtd->ExternalID != NULL) {
xmlOutputBufferWrite(buf, 8, " PUBLIC ");
- xmlBufferWriteQuotedString(buf->buffer, dtd->ExternalID);
+ xmlBufWriteQuotedString(buf->buffer, dtd->ExternalID);
xmlOutputBufferWrite(buf, 1, " ");
- xmlBufferWriteQuotedString(buf->buffer, dtd->SystemID);
+ xmlBufWriteQuotedString(buf->buffer, dtd->SystemID);
} else if (dtd->SystemID != NULL) {
xmlOutputBufferWrite(buf, 8, " SYSTEM ");
- xmlBufferWriteQuotedString(buf->buffer, dtd->SystemID);
+ xmlBufWriteQuotedString(buf->buffer, dtd->SystemID);
}
if ((dtd->entities == NULL) && (dtd->elements == NULL) &&
(dtd->attributes == NULL) && (dtd->notations == NULL) &&
@@ -549,7 +737,8 @@ xmlDtdDumpOutput(xmlSaveCtxtPtr ctxt, xmlDtdPtr dtd) {
*/
if ((dtd->notations != NULL) && ((dtd->doc == NULL) ||
(dtd->doc->intSubset == dtd))) {
- xmlDumpNotationTable(buf->buffer, (xmlNotationTablePtr) dtd->notations);
+ xmlBufDumpNotationTable(buf->buffer,
+ (xmlNotationTablePtr) dtd->notations);
}
format = ctxt->format;
level = ctxt->level;
@@ -578,7 +767,10 @@ xmlAttrDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) {
if (cur == NULL) return;
buf = ctxt->buf;
if (buf == NULL) return;
- xmlOutputBufferWrite(buf, 1, " ");
+ if (ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 2);
+ else
+ xmlOutputBufferWrite(buf, 1, " ");
if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
xmlOutputBufferWrite(buf, 1, ":");
@@ -622,20 +814,82 @@ xmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
if (cur == NULL) return;
buf = ctxt->buf;
while (cur != NULL) {
- if ((ctxt->format) && (xmlIndentTreeOutput) &&
- (cur->type == XML_ELEMENT_NODE))
+ if ((ctxt->format == 1) && (xmlIndentTreeOutput) &&
+ ((cur->type == XML_ELEMENT_NODE) ||
+ (cur->type == XML_COMMENT_NODE) ||
+ (cur->type == XML_PI_NODE)))
xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level > ctxt->indent_nr ?
+ (ctxt->level > ctxt->indent_nr ?
ctxt->indent_nr : ctxt->level),
ctxt->indent);
xmlNodeDumpOutputInternal(ctxt, cur);
- if (ctxt->format) {
+ if (ctxt->format == 1) {
xmlOutputBufferWrite(buf, 1, "\n");
}
cur = cur->next;
}
}
+#ifdef LIBXML_HTML_ENABLED
+/**
+ * xmlNodeDumpOutputInternal:
+ * @cur: the current node
+ *
+ * Dump an HTML node, recursive behaviour, children are printed too.
+ */
+static int
+htmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
+ const xmlChar *oldenc = NULL;
+ const xmlChar *oldctxtenc = ctxt->encoding;
+ const xmlChar *encoding = ctxt->encoding;
+ xmlOutputBufferPtr buf = ctxt->buf;
+ int switched_encoding = 0;
+ xmlDocPtr doc;
+
+ xmlInitParser();
+
+ doc = cur->doc;
+ if (doc != NULL) {
+ oldenc = doc->encoding;
+ if (ctxt->encoding != NULL) {
+ doc->encoding = BAD_CAST ctxt->encoding;
+ } else if (doc->encoding != NULL) {
+ encoding = doc->encoding;
+ }
+ }
+
+ if ((encoding != NULL) && (doc != NULL))
+ htmlSetMetaEncoding(doc, (const xmlChar *) encoding);
+ if ((encoding == NULL) && (doc != NULL))
+ encoding = htmlGetMetaEncoding(doc);
+ if (encoding == NULL)
+ encoding = BAD_CAST "HTML";
+ if ((encoding != NULL) && (oldctxtenc == NULL) &&
+ (buf->encoder == NULL) && (buf->conv == NULL)) {
+ if (xmlSaveSwitchEncoding(ctxt, (const char*) encoding) < 0) {
+ doc->encoding = oldenc;
+ return(-1);
+ }
+ switched_encoding = 1;
+ }
+ if (ctxt->options & XML_SAVE_FORMAT)
+ htmlNodeDumpFormatOutput(buf, doc, cur,
+ (const char *)encoding, 1);
+ else
+ htmlNodeDumpFormatOutput(buf, doc, cur,
+ (const char *)encoding, 0);
+ /*
+ * Restore the state of the saving context at the end of the document
+ */
+ if ((switched_encoding) && (oldctxtenc == NULL)) {
+ xmlSaveClearEncoding(ctxt);
+ }
+ if (doc != NULL)
+ doc->encoding = oldenc;
+ return(0);
+}
+#endif
+
/**
* xmlNodeDumpOutputInternal:
* @cur: the current node
@@ -660,6 +914,19 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur);
return;
}
+#ifdef LIBXML_HTML_ENABLED
+ if (ctxt->options & XML_SAVE_XHTML) {
+ xhtmlNodeDumpOutput(ctxt, cur);
+ return;
+ }
+ if (((cur->type != XML_NAMESPACE_DECL) && (cur->doc != NULL) &&
+ (cur->doc->type == XML_HTML_DOCUMENT_NODE) &&
+ ((ctxt->options & XML_SAVE_AS_XML) == 0)) ||
+ (ctxt->options & XML_SAVE_AS_HTML)) {
+ htmlNodeDumpOutputInternal(ctxt, cur);
+ return;
+ }
+#endif
if (cur->type == XML_DTD_NODE) {
xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur);
return;
@@ -669,15 +936,15 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
return;
}
if (cur->type == XML_ELEMENT_DECL) {
- xmlDumpElementDecl(buf->buffer, (xmlElementPtr) cur);
+ xmlBufDumpElementDecl(buf->buffer, (xmlElementPtr) cur);
return;
}
if (cur->type == XML_ATTRIBUTE_DECL) {
- xmlDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur);
+ xmlBufDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur);
return;
}
if (cur->type == XML_ENTITY_DECL) {
- xmlDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur);
+ xmlBufDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur);
return;
}
if (cur->type == XML_TEXT_NODE) {
@@ -699,13 +966,18 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
xmlOutputBufferWrite(buf, 2, "<?");
xmlOutputBufferWriteString(buf, (const char *)cur->name);
if (cur->content != NULL) {
- xmlOutputBufferWrite(buf, 1, " ");
+ if (ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 0);
+ else
+ xmlOutputBufferWrite(buf, 1, " ");
xmlOutputBufferWriteString(buf, (const char *)cur->content);
}
xmlOutputBufferWrite(buf, 2, "?>");
} else {
xmlOutputBufferWrite(buf, 2, "<?");
xmlOutputBufferWriteString(buf, (const char *)cur->name);
+ if (ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 0);
xmlOutputBufferWrite(buf, 2, "?>");
}
return;
@@ -725,8 +997,8 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
return;
}
if (cur->type == XML_CDATA_SECTION_NODE) {
- if (cur->content == NULL) {
- xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>");
+ if (cur->content == NULL || *cur->content == '\0') {
+ xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>");
} else {
start = end = cur->content;
while (*end != '\0') {
@@ -753,7 +1025,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
return;
}
if (cur->type == XML_NAMESPACE_DECL) {
- xmlNsDumpOutput(buf, (xmlNsPtr) cur);
+ xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur);
return;
}
@@ -778,28 +1050,32 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
xmlOutputBufferWriteString(buf, (const char *)cur->name);
if (cur->nsDef)
- xmlNsListDumpOutput(buf, cur->nsDef);
+ xmlNsListDumpOutputCtxt(ctxt, cur->nsDef);
if (cur->properties != NULL)
xmlAttrListDumpOutput(ctxt, cur->properties);
if (((cur->type == XML_ELEMENT_NODE) || (cur->content == NULL)) &&
(cur->children == NULL) && ((ctxt->options & XML_SAVE_NO_EMPTY) == 0)) {
+ if (ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 0);
xmlOutputBufferWrite(buf, 2, "/>");
ctxt->format = format;
return;
}
+ if (ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 1);
xmlOutputBufferWrite(buf, 1, ">");
if ((cur->type != XML_ELEMENT_NODE) && (cur->content != NULL)) {
xmlOutputBufferWriteEscape(buf, cur->content, ctxt->escape);
}
if (cur->children != NULL) {
- if (ctxt->format) xmlOutputBufferWrite(buf, 1, "\n");
+ if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n");
if (ctxt->level >= 0) ctxt->level++;
xmlNodeListDumpOutput(ctxt, cur->children);
if (ctxt->level > 0) ctxt->level--;
- if ((xmlIndentTreeOutput) && (ctxt->format))
+ if ((xmlIndentTreeOutput) && (ctxt->format == 1))
xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level > ctxt->indent_nr ?
+ (ctxt->level > ctxt->indent_nr ?
ctxt->indent_nr : ctxt->level),
ctxt->indent);
}
@@ -810,6 +1086,8 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
}
xmlOutputBufferWriteString(buf, (const char *)cur->name);
+ if (ctxt->format == 2)
+ xmlOutputBufferWriteWSNonSig(ctxt, 0);
xmlOutputBufferWrite(buf, 1, ">");
ctxt->format = format;
}
@@ -832,11 +1110,15 @@ xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur) {
xmlCharEncodingOutputFunc oldescape = ctxt->escape;
xmlCharEncodingOutputFunc oldescapeAttr = ctxt->escapeAttr;
xmlOutputBufferPtr buf = ctxt->buf;
- xmlCharEncodingHandlerPtr handler = NULL;
xmlCharEncoding enc;
+ int switched_encoding = 0;
xmlInitParser();
+ if ((cur->type != XML_HTML_DOCUMENT_NODE) &&
+ (cur->type != XML_DOCUMENT_NODE))
+ return(-1);
+
if (ctxt->encoding != NULL) {
cur->encoding = BAD_CAST ctxt->encoding;
} else if (cur->encoding != NULL) {
@@ -846,110 +1128,125 @@ xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur) {
xmlGetCharEncodingName((xmlCharEncoding) cur->charset);
}
- enc = xmlParseCharEncoding((const char*) encoding);
- if ((encoding != NULL) && (oldctxtenc == NULL) &&
- (buf->encoder == NULL) && (buf->conv == NULL) &&
- ((ctxt->options & XML_SAVE_NO_DECL) == 0)) {
- if ((enc != XML_CHAR_ENCODING_UTF8) &&
- (enc != XML_CHAR_ENCODING_NONE) &&
- (enc != XML_CHAR_ENCODING_ASCII)) {
- /*
- * we need to switch to this encoding but just for this document
- * since we output the XMLDecl the conversion must be done to not
- * generate not well formed documents.
- */
- buf->encoder = xmlFindCharEncodingHandler((const char *)encoding);
- if (buf->encoder == NULL) {
- xmlSaveErr(XML_SAVE_UNKNOWN_ENCODING, NULL,
- (const char *)encoding);
+ if (((cur->type == XML_HTML_DOCUMENT_NODE) &&
+ ((ctxt->options & XML_SAVE_AS_XML) == 0) &&
+ ((ctxt->options & XML_SAVE_XHTML) == 0)) ||
+ (ctxt->options & XML_SAVE_AS_HTML)) {
+#ifdef LIBXML_HTML_ENABLED
+ if (encoding != NULL)
+ htmlSetMetaEncoding(cur, (const xmlChar *) encoding);
+ if (encoding == NULL)
+ encoding = htmlGetMetaEncoding(cur);
+ if (encoding == NULL)
+ encoding = BAD_CAST "HTML";
+ if ((encoding != NULL) && (oldctxtenc == NULL) &&
+ (buf->encoder == NULL) && (buf->conv == NULL)) {
+ if (xmlSaveSwitchEncoding(ctxt, (const char*) encoding) < 0) {
+ cur->encoding = oldenc;
return(-1);
}
- buf->conv = xmlBufferCreate();
- if (buf->conv == NULL) {
- xmlCharEncCloseFunc(buf->encoder);
- xmlSaveErrMemory("creating encoding buffer");
- return(-1);
+ }
+ if (ctxt->options & XML_SAVE_FORMAT)
+ htmlDocContentDumpFormatOutput(buf, cur,
+ (const char *)encoding, 1);
+ else
+ htmlDocContentDumpFormatOutput(buf, cur,
+ (const char *)encoding, 0);
+ if (ctxt->encoding != NULL)
+ cur->encoding = oldenc;
+ return(0);
+#else
+ return(-1);
+#endif
+ } else if ((cur->type == XML_DOCUMENT_NODE) ||
+ (ctxt->options & XML_SAVE_AS_XML) ||
+ (ctxt->options & XML_SAVE_XHTML)) {
+ enc = xmlParseCharEncoding((const char*) encoding);
+ if ((encoding != NULL) && (oldctxtenc == NULL) &&
+ (buf->encoder == NULL) && (buf->conv == NULL) &&
+ ((ctxt->options & XML_SAVE_NO_DECL) == 0)) {
+ if ((enc != XML_CHAR_ENCODING_UTF8) &&
+ (enc != XML_CHAR_ENCODING_NONE) &&
+ (enc != XML_CHAR_ENCODING_ASCII)) {
+ /*
+ * we need to switch to this encoding but just for this
+ * document since we output the XMLDecl the conversion
+ * must be done to not generate not well formed documents.
+ */
+ if (xmlSaveSwitchEncoding(ctxt, (const char*) encoding) < 0) {
+ cur->encoding = oldenc;
+ return(-1);
+ }
+ switched_encoding = 1;
}
- /*
- * initialize the state, e.g. if outputting a BOM
- */
- xmlCharEncOutFunc(buf->encoder, buf->conv, NULL);
+ if (ctxt->escape == xmlEscapeEntities)
+ ctxt->escape = NULL;
+ if (ctxt->escapeAttr == xmlEscapeEntities)
+ ctxt->escapeAttr = NULL;
}
- if (ctxt->escape == xmlEscapeEntities)
- ctxt->escape = NULL;
- if (ctxt->escapeAttr == xmlEscapeEntities)
- ctxt->escapeAttr = NULL;
- }
- /*
- * Save the XML declaration
- */
- if ((ctxt->options & XML_SAVE_NO_DECL) == 0) {
- xmlOutputBufferWrite(buf, 14, "<?xml version=");
- if (cur->version != NULL)
- xmlBufferWriteQuotedString(buf->buffer, cur->version);
- else
- xmlOutputBufferWrite(buf, 5, "\"1.0\"");
- if (encoding != NULL) {
- xmlOutputBufferWrite(buf, 10, " encoding=");
- xmlBufferWriteQuotedString(buf->buffer, (xmlChar *) encoding);
- }
- switch (cur->standalone) {
- case 0:
- xmlOutputBufferWrite(buf, 16, " standalone=\"no\"");
- break;
- case 1:
- xmlOutputBufferWrite(buf, 17, " standalone=\"yes\"");
- break;
+ /*
+ * Save the XML declaration
+ */
+ if ((ctxt->options & XML_SAVE_NO_DECL) == 0) {
+ xmlOutputBufferWrite(buf, 14, "<?xml version=");
+ if (cur->version != NULL)
+ xmlBufWriteQuotedString(buf->buffer, cur->version);
+ else
+ xmlOutputBufferWrite(buf, 5, "\"1.0\"");
+ if (encoding != NULL) {
+ xmlOutputBufferWrite(buf, 10, " encoding=");
+ xmlBufWriteQuotedString(buf->buffer, (xmlChar *) encoding);
+ }
+ switch (cur->standalone) {
+ case 0:
+ xmlOutputBufferWrite(buf, 16, " standalone=\"no\"");
+ break;
+ case 1:
+ xmlOutputBufferWrite(buf, 17, " standalone=\"yes\"");
+ break;
+ }
+ xmlOutputBufferWrite(buf, 3, "?>\n");
}
- xmlOutputBufferWrite(buf, 3, "?>\n");
- }
#ifdef LIBXML_HTML_ENABLED
- if ((ctxt->options & XML_SAVE_NO_XHTML) == 0) {
- dtd = xmlGetIntSubset(cur);
- if (dtd != NULL) {
- is_xhtml = xmlIsXHTML(dtd->SystemID, dtd->ExternalID);
- if (is_xhtml < 0) is_xhtml = 0;
+ if (ctxt->options & XML_SAVE_XHTML)
+ is_xhtml = 1;
+ if ((ctxt->options & XML_SAVE_NO_XHTML) == 0) {
+ dtd = xmlGetIntSubset(cur);
+ if (dtd != NULL) {
+ is_xhtml = xmlIsXHTML(dtd->SystemID, dtd->ExternalID);
+ if (is_xhtml < 0) is_xhtml = 0;
+ }
}
- }
#endif
- if (cur->children != NULL) {
- xmlNodePtr child = cur->children;
+ if (cur->children != NULL) {
+ xmlNodePtr child = cur->children;
- while (child != NULL) {
- ctxt->level = 0;
+ while (child != NULL) {
+ ctxt->level = 0;
#ifdef LIBXML_HTML_ENABLED
- if (is_xhtml)
- xhtmlNodeDumpOutput(ctxt, child);
- else
+ if (is_xhtml)
+ xhtmlNodeDumpOutput(ctxt, child);
+ else
#endif
- xmlNodeDumpOutputInternal(ctxt, child);
- xmlOutputBufferWrite(buf, 1, "\n");
- child = child->next;
+ xmlNodeDumpOutputInternal(ctxt, child);
+ xmlOutputBufferWrite(buf, 1, "\n");
+ child = child->next;
+ }
}
}
- if (ctxt->encoding != NULL)
- cur->encoding = oldenc;
-
+
/*
* Restore the state of the saving context at the end of the document
*/
- if ((encoding != NULL) && (oldctxtenc == NULL) &&
- ((ctxt->options & XML_SAVE_NO_DECL) == 0)) {
- if ((enc != XML_CHAR_ENCODING_UTF8) &&
- (enc != XML_CHAR_ENCODING_NONE) &&
- (enc != XML_CHAR_ENCODING_ASCII)) {
- xmlOutputBufferFlush(buf);
- xmlCharEncCloseFunc(buf->encoder);
- xmlBufferFree(buf->conv);
- buf->encoder = NULL;
- buf->conv = NULL;
- }
+ if ((switched_encoding) && (oldctxtenc == NULL)) {
+ xmlSaveClearEncoding(ctxt);
ctxt->escape = oldescape;
ctxt->escapeAttr = oldescapeAttr;
}
+ cur->encoding = oldenc;
return(0);
}
@@ -1058,7 +1355,7 @@ xhtmlAttrListDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) {
if ((cur->ns != NULL) && (xmlStrEqual(cur->name, BAD_CAST "lang")) &&
(xmlStrEqual(cur->ns->prefix, BAD_CAST "xml")))
xml_lang = cur;
- else if ((cur->ns == NULL) &&
+ else if ((cur->ns == NULL) &&
((cur->children == NULL) ||
(cur->children->content == NULL) ||
(cur->children->content[0] == 0)) &&
@@ -1098,7 +1395,7 @@ xhtmlAttrListDumpOutput(xmlSaveCtxtPtr ctxt, xmlAttrPtr cur) {
xmlOutputBufferWrite(buf, 11, " xml:lang=\"");
xmlAttrSerializeContent(buf, lang);
xmlOutputBufferWrite(buf, 1, "\"");
- } else
+ } else
if ((xml_lang != NULL) && (lang == NULL)) {
xmlOutputBufferWrite(buf, 7, " lang=\"");
xmlAttrSerializeContent(buf, xml_lang);
@@ -1126,14 +1423,14 @@ xhtmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
if (cur == NULL) return;
buf = ctxt->buf;
while (cur != NULL) {
- if ((ctxt->format) && (xmlIndentTreeOutput) &&
+ if ((ctxt->format == 1) && (xmlIndentTreeOutput) &&
(cur->type == XML_ELEMENT_NODE))
xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level > ctxt->indent_nr ?
+ (ctxt->level > ctxt->indent_nr ?
ctxt->indent_nr : ctxt->level),
ctxt->indent);
xhtmlNodeDumpOutput(ctxt, cur);
- if (ctxt->format) {
+ if (ctxt->format == 1) {
xmlOutputBufferWrite(buf, 1, "\n");
}
cur = cur->next;
@@ -1168,6 +1465,10 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
return;
if (cur->type == XML_XINCLUDE_END)
return;
+ if (cur->type == XML_NAMESPACE_DECL) {
+ xmlNsDumpOutputCtxt(ctxt, (xmlNsPtr) cur);
+ return;
+ }
if (cur->type == XML_DTD_NODE) {
xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur);
return;
@@ -1178,15 +1479,15 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
}
buf = ctxt->buf;
if (cur->type == XML_ELEMENT_DECL) {
- xmlDumpElementDecl(buf->buffer, (xmlElementPtr) cur);
+ xmlBufDumpElementDecl(buf->buffer, (xmlElementPtr) cur);
return;
}
if (cur->type == XML_ATTRIBUTE_DECL) {
- xmlDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur);
+ xmlBufDumpAttributeDecl(buf->buffer, (xmlAttributePtr) cur);
return;
}
if (cur->type == XML_ENTITY_DECL) {
- xmlDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur);
+ xmlBufDumpEntityDecl(buf->buffer, (xmlEntityPtr) cur);
return;
}
if (cur->type == XML_TEXT_NODE) {
@@ -1235,30 +1536,38 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
return;
}
if (cur->type == XML_CDATA_SECTION_NODE) {
- start = end = cur->content;
- while (*end != '\0') {
- if (*end == ']' && *(end + 1) == ']' && *(end + 2) == '>') {
- end = end + 2;
+ if (cur->content == NULL || *cur->content == '\0') {
+ xmlOutputBufferWrite(buf, 12, "<![CDATA[]]>");
+ } else {
+ start = end = cur->content;
+ while (*end != '\0') {
+ if (*end == ']' && *(end + 1) == ']' && *(end + 2) == '>') {
+ end = end + 2;
+ xmlOutputBufferWrite(buf, 9, "<![CDATA[");
+ xmlOutputBufferWrite(buf, end - start, (const char *)start);
+ xmlOutputBufferWrite(buf, 3, "]]>");
+ start = end;
+ }
+ end++;
+ }
+ if (start != end) {
xmlOutputBufferWrite(buf, 9, "<![CDATA[");
- xmlOutputBufferWrite(buf, end - start, (const char *)start);
+ xmlOutputBufferWriteString(buf, (const char *)start);
xmlOutputBufferWrite(buf, 3, "]]>");
- start = end;
}
- end++;
- }
- if (start != end) {
- xmlOutputBufferWrite(buf, 9, "<![CDATA[");
- xmlOutputBufferWriteString(buf, (const char *)start);
- xmlOutputBufferWrite(buf, 3, "]]>");
}
return;
}
+ if (cur->type == XML_ATTRIBUTE_NODE) {
+ xmlAttrDumpOutput(ctxt, (xmlAttrPtr) cur);
+ return;
+ }
format = ctxt->format;
if (format == 1) {
tmp = cur->children;
while (tmp != NULL) {
- if ((tmp->type == XML_TEXT_NODE) ||
+ if ((tmp->type == XML_TEXT_NODE) ||
(tmp->type == XML_ENTITY_REF_NODE)) {
format = 0;
break;
@@ -1274,7 +1583,7 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
xmlOutputBufferWriteString(buf, (const char *)cur->name);
if (cur->nsDef)
- xmlNsListDumpOutput(buf, cur->nsDef);
+ xmlNsListDumpOutputCtxt(ctxt, cur->nsDef);
if ((xmlStrEqual(cur->name, BAD_CAST "html") &&
(cur->ns == NULL) && (cur->nsDef == NULL))) {
/*
@@ -1286,10 +1595,10 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
if (cur->properties != NULL)
xhtmlAttrListDumpOutput(ctxt, cur->properties);
- if ((cur->type == XML_ELEMENT_NODE) &&
- (cur->parent != NULL) &&
- (cur->parent->parent == (xmlNodePtr) cur->doc) &&
- xmlStrEqual(cur->name, BAD_CAST"head") &&
+ if ((cur->type == XML_ELEMENT_NODE) &&
+ (cur->parent != NULL) &&
+ (cur->parent->parent == (xmlNodePtr) cur->doc) &&
+ xmlStrEqual(cur->name, BAD_CAST"head") &&
xmlStrEqual(cur->parent->name, BAD_CAST"html")) {
tmp = cur->children;
@@ -1322,11 +1631,11 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
} else {
if (addmeta == 1) {
xmlOutputBufferWrite(buf, 1, ">");
- if (ctxt->format) {
+ if (ctxt->format == 1) {
xmlOutputBufferWrite(buf, 1, "\n");
if (xmlIndentTreeOutput)
xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level + 1 > ctxt->indent_nr ?
+ (ctxt->level + 1 > ctxt->indent_nr ?
ctxt->indent_nr : ctxt->level + 1), ctxt->indent);
}
xmlOutputBufferWriteString(buf,
@@ -1337,7 +1646,7 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
xmlOutputBufferWrite(buf, 5, "UTF-8");
}
xmlOutputBufferWrite(buf, 4, "\" />");
- if (ctxt->format)
+ if (ctxt->format == 1)
xmlOutputBufferWrite(buf, 1, "\n");
} else {
xmlOutputBufferWrite(buf, 1, ">");
@@ -1357,11 +1666,11 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
}
xmlOutputBufferWrite(buf, 1, ">");
if (addmeta == 1) {
- if (ctxt->format) {
+ if (ctxt->format == 1) {
xmlOutputBufferWrite(buf, 1, "\n");
if (xmlIndentTreeOutput)
xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level + 1 > ctxt->indent_nr ?
+ (ctxt->level + 1 > ctxt->indent_nr ?
ctxt->indent_nr : ctxt->level + 1), ctxt->indent);
}
xmlOutputBufferWriteString(buf,
@@ -1451,16 +1760,16 @@ xhtmlNodeDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
if (cur->children != NULL) {
int indent = ctxt->format;
-
- if (format) xmlOutputBufferWrite(buf, 1, "\n");
+
+ if (format == 1) xmlOutputBufferWrite(buf, 1, "\n");
if (ctxt->level >= 0) ctxt->level++;
ctxt->format = format;
xhtmlNodeListDumpOutput(ctxt, cur->children);
if (ctxt->level > 0) ctxt->level--;
ctxt->format = indent;
- if ((xmlIndentTreeOutput) && (format))
+ if ((xmlIndentTreeOutput) && (format == 1))
xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level > ctxt->indent_nr ?
+ (ctxt->level > ctxt->indent_nr ?
ctxt->indent_nr : ctxt->level),
ctxt->indent);
}
@@ -1726,18 +2035,19 @@ xmlSaveSetAttrEscape(xmlSaveCtxtPtr ctxt, xmlCharEncodingOutputFunc escape)
* Public entry points based on buffers *
* *
************************************************************************/
+
/**
- * xmlAttrSerializeTxtContent:
- * @buf: the XML buffer output
+ * xmlBufAttrSerializeTxtContent:
+ * @buf: and xmlBufPtr output
* @doc: the document
* @attr: the attribute node
* @string: the text content
*
- * Serialize text attribute values to an xml simple buffer
+ * Serialize text attribute values to an xmlBufPtr
*/
void
-xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
- xmlAttrPtr attr, const xmlChar * string)
+xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
+ xmlAttrPtr attr, const xmlChar * string)
{
xmlChar *base, *cur;
@@ -1747,44 +2057,44 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
while (*cur != 0) {
if (*cur == '\n') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&#10;", 5);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&#10;", 5);
cur++;
base = cur;
} else if (*cur == '\r') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&#13;", 5);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&#13;", 5);
cur++;
base = cur;
} else if (*cur == '\t') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&#9;", 4);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&#9;", 4);
cur++;
base = cur;
} else if (*cur == '"') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&quot;", 6);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&quot;", 6);
cur++;
base = cur;
} else if (*cur == '<') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&lt;", 4);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&lt;", 4);
cur++;
base = cur;
} else if (*cur == '>') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&gt;", 4);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&gt;", 4);
cur++;
base = cur;
} else if (*cur == '&') {
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
- xmlBufferAdd(buf, BAD_CAST "&amp;", 5);
+ xmlBufAdd(buf, base, cur - base);
+ xmlBufAdd(buf, BAD_CAST "&amp;", 5);
cur++;
base = cur;
} else if ((*cur >= 0x80) && ((doc == NULL) ||
@@ -1792,17 +2102,17 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
/*
* We assume we have UTF-8 content.
*/
- unsigned char tmp[10];
+ unsigned char tmp[12];
int val = 0, l = 1;
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
+ xmlBufAdd(buf, base, cur - base);
if (*cur < 0xC0) {
xmlSaveErr(XML_SAVE_NOT_UTF8, (xmlNodePtr) attr, NULL);
if (doc != NULL)
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
xmlSerializeHexCharRef(tmp, *cur);
- xmlBufferAdd(buf, (xmlChar *) tmp, -1);
+ xmlBufAdd(buf, (xmlChar *) tmp, -1);
cur++;
base = cur;
continue;
@@ -1832,9 +2142,9 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
xmlSaveErr(XML_SAVE_CHAR_INVALID, (xmlNodePtr) attr, NULL);
if (doc != NULL)
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
-
+
xmlSerializeHexCharRef(tmp, *cur);
- xmlBufferAdd(buf, (xmlChar *) tmp, -1);
+ xmlBufAdd(buf, (xmlChar *) tmp, -1);
cur++;
base = cur;
continue;
@@ -1844,7 +2154,7 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
* as a char ref
*/
xmlSerializeHexCharRef(tmp, val);
- xmlBufferAdd(buf, (xmlChar *) tmp, -1);
+ xmlBufAdd(buf, (xmlChar *) tmp, -1);
cur += l;
base = cur;
} else {
@@ -1852,7 +2162,31 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
}
}
if (base != cur)
- xmlBufferAdd(buf, base, cur - base);
+ xmlBufAdd(buf, base, cur - base);
+}
+
+/**
+ * xmlAttrSerializeTxtContent:
+ * @buf: the XML buffer output
+ * @doc: the document
+ * @attr: the attribute node
+ * @string: the text content
+ *
+ * Serialize text attribute values to an xml simple buffer
+ */
+void
+xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
+ xmlAttrPtr attr, const xmlChar * string)
+{
+ xmlBufPtr buffer;
+
+ if ((buf == NULL) || (string == NULL))
+ return;
+ buffer = xmlBufFromBuffer(buf);
+ if (buffer == NULL)
+ return;
+ xmlBufAttrSerializeTxtContent(buffer, doc, attr, string);
+ xmlBufBackToBuffer(buffer);
}
/**
@@ -1866,6 +2200,8 @@ xmlAttrSerializeTxtContent(xmlBufferPtr buf, xmlDocPtr doc,
* Dump an XML node, recursive behaviour,children are printed too.
* Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1
* or xmlKeepBlanksDefault(0) was called
+ * Since this is using xmlBuffer structures it is limited to 2GB and somehow
+ * deprecated, use xmlBufNodeDump() instead.
*
* Returns the number of bytes written to the buffer or -1 in case of error
*/
@@ -1873,9 +2209,45 @@ int
xmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur, int level,
int format)
{
- unsigned int use;
+ xmlBufPtr buffer;
+ int ret;
+
+ if ((buf == NULL) || (cur == NULL))
+ return(-1);
+ buffer = xmlBufFromBuffer(buf);
+ if (buffer == NULL)
+ return(-1);
+ ret = xmlBufNodeDump(buffer, doc, cur, level, format);
+ xmlBufBackToBuffer(buffer);
+ if (ret > INT_MAX)
+ return(-1);
+ return((int) ret);
+}
+
+/**
+ * xmlBufNodeDump:
+ * @buf: the XML buffer output
+ * @doc: the document
+ * @cur: the current node
+ * @level: the imbrication level for indenting
+ * @format: is formatting allowed
+ *
+ * Dump an XML node, recursive behaviour,children are printed too.
+ * Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1
+ * or xmlKeepBlanksDefault(0) was called
+ *
+ * Returns the number of bytes written to the buffer, in case of error 0
+ * is returned or @buf stores the error
+ */
+
+size_t
+xmlBufNodeDump(xmlBufPtr buf, xmlDocPtr doc, xmlNodePtr cur, int level,
+ int format)
+{
+ size_t use;
int ret;
xmlOutputBufferPtr outbuf;
+ int oldalloc;
xmlInitParser();
@@ -1906,10 +2278,13 @@ xmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur, int level,
outbuf->context = NULL;
outbuf->written = 0;
- use = buf->use;
+ use = xmlBufUse(buf);
+ oldalloc = xmlBufGetAllocationScheme(buf);
+ xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
xmlNodeDumpOutput(outbuf, doc, cur, level, format, NULL);
+ xmlBufSetAllocationScheme(buf, oldalloc);
xmlFree(outbuf);
- ret = buf->use - use;
+ ret = xmlBufUse(buf) - use;
return (ret);
}
@@ -1996,9 +2371,10 @@ xmlNodeDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
ctxt.doc = doc;
ctxt.buf = buf;
ctxt.level = level;
- ctxt.format = format;
+ ctxt.format = format ? 1 : 0;
ctxt.encoding = (const xmlChar *) encoding;
xmlSaveCtxtInit(&ctxt);
+ ctxt.options |= XML_SAVE_AS_XML;
#ifdef LIBXML_HTML_ENABLED
dtd = xmlGetIntSubset(doc);
@@ -2081,17 +2457,18 @@ xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, xmlChar **doc_txt_ptr,
ctxt.doc = out_doc;
ctxt.buf = out_buff;
ctxt.level = 0;
- ctxt.format = format;
+ ctxt.format = format ? 1 : 0;
ctxt.encoding = (const xmlChar *) txt_encoding;
xmlSaveCtxtInit(&ctxt);
+ ctxt.options |= XML_SAVE_AS_XML;
xmlDocContentDumpOutput(&ctxt, out_doc);
xmlOutputBufferFlush(out_buff);
if (out_buff->conv != NULL) {
- *doc_txt_len = out_buff->conv->use;
- *doc_txt_ptr = xmlStrndup(out_buff->conv->content, *doc_txt_len);
+ *doc_txt_len = xmlBufUse(out_buff->conv);
+ *doc_txt_ptr = xmlStrndup(xmlBufContent(out_buff->conv), *doc_txt_len);
} else {
- *doc_txt_len = out_buff->buffer->use;
- *doc_txt_ptr = xmlStrndup(out_buff->buffer->content, *doc_txt_len);
+ *doc_txt_len = xmlBufUse(out_buff->buffer);
+ *doc_txt_ptr = xmlStrndup(xmlBufContent(out_buff->buffer),*doc_txt_len);
}
(void)xmlOutputBufferClose(out_buff);
@@ -2186,21 +2563,23 @@ xmlDocFormatDump(FILE *f, xmlDocPtr cur, int format) {
encoding = (const char *) cur->encoding;
if (encoding != NULL) {
- handler = xmlFindCharEncodingHandler(encoding);
- if (handler == NULL) {
- xmlFree((char *) cur->encoding);
- cur->encoding = NULL;
- }
+ handler = xmlFindCharEncodingHandler(encoding);
+ if (handler == NULL) {
+ xmlFree((char *) cur->encoding);
+ cur->encoding = NULL;
+ encoding = NULL;
}
+ }
buf = xmlOutputBufferCreateFile(f, handler);
if (buf == NULL) return(-1);
memset(&ctxt, 0, sizeof(ctxt));
ctxt.doc = cur;
ctxt.buf = buf;
ctxt.level = 0;
- ctxt.format = format;
+ ctxt.format = format ? 1 : 0;
ctxt.encoding = (const xmlChar *) encoding;
xmlSaveCtxtInit(&ctxt);
+ ctxt.options |= XML_SAVE_AS_XML;
xmlDocContentDumpOutput(&ctxt, cur);
ret = xmlOutputBufferClose(buf);
@@ -2250,6 +2629,7 @@ xmlSaveFileTo(xmlOutputBufferPtr buf, xmlDocPtr cur, const char *encoding) {
ctxt.format = 0;
ctxt.encoding = (const xmlChar *) encoding;
xmlSaveCtxtInit(&ctxt);
+ ctxt.options |= XML_SAVE_AS_XML;
xmlDocContentDumpOutput(&ctxt, cur);
ret = xmlOutputBufferClose(buf);
return(ret);
@@ -2286,9 +2666,10 @@ xmlSaveFormatFileTo(xmlOutputBufferPtr buf, xmlDocPtr cur,
ctxt.doc = cur;
ctxt.buf = buf;
ctxt.level = 0;
- ctxt.format = format;
+ ctxt.format = format ? 1 : 0;
ctxt.encoding = (const xmlChar *) encoding;
xmlSaveCtxtInit(&ctxt);
+ ctxt.options |= XML_SAVE_AS_XML;
xmlDocContentDumpOutput(&ctxt, cur);
ret = xmlOutputBufferClose(buf);
return (ret);
@@ -2331,7 +2712,7 @@ xmlSaveFormatFileEnc( const char * filename, xmlDocPtr cur,
#ifdef HAVE_ZLIB_H
if (cur->compression < 0) cur->compression = xmlGetCompressMode();
#endif
- /*
+ /*
* save the content to a temp buffer.
*/
buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
@@ -2340,9 +2721,10 @@ xmlSaveFormatFileEnc( const char * filename, xmlDocPtr cur,
ctxt.doc = cur;
ctxt.buf = buf;
ctxt.level = 0;
- ctxt.format = format;
+ ctxt.format = format ? 1 : 0;
ctxt.encoding = (const xmlChar *) encoding;
xmlSaveCtxtInit(&ctxt);
+ ctxt.options |= XML_SAVE_AS_XML;
xmlDocContentDumpOutput(&ctxt, cur);
diff --git a/gettext-tools/gnulib-lib/libxml/xmlsave.in.h b/gettext-tools/gnulib-lib/libxml/xmlsave.in.h
index c71c71a..fb329b2 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlsave.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlsave.in.h
@@ -30,7 +30,11 @@ typedef enum {
XML_SAVE_FORMAT = 1<<0, /* format save output */
XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */
XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */
- XML_SAVE_NO_XHTML = 1<<3 /* disable XHTML1 specific rules */
+ XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */
+ XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */
+ XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */
+ XML_SAVE_AS_HTML = 1<<6, /* force HTML serialization on XML doc */
+ XML_SAVE_WSNONSIG = 1<<7 /* format with non-significant whitespace */
} xmlSaveOption;
diff --git a/gettext-tools/gnulib-lib/libxml/xmlschemas.c b/gettext-tools/gnulib-lib/libxml/xmlschemas.c
index 11e3eac..fe533e6 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlschemas.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlschemas.c
@@ -90,7 +90,7 @@
#ifndef DEBUG_IDC_NODE_TABLE
#define DEBUG_IDC_NODE_TABLE
#endif
-#endif
+#endif
/* #define ENABLE_PARTICLE_RESTRICTION 1 */
@@ -107,7 +107,7 @@
#endif
#define UNBOUNDED (1 << 30)
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -374,7 +374,7 @@ typedef xmlSchemaBucket *xmlSchemaBucketPtr;
#define XML_SCHEMA_SCHEMA_REDEFINE 3
/**
- * xmlSchemaSchemaRelation:
+ * xmlSchemaSchemaRelation:
*
* Used to create a graph of schema relationships.
*/
@@ -402,12 +402,12 @@ struct _xmlSchemaBucket {
int parsed;
int imported;
int preserveDoc;
- xmlSchemaItemListPtr globals; /* Global components. */
+ xmlSchemaItemListPtr globals; /* Global components. */
xmlSchemaItemListPtr locals; /* Local components. */
};
/**
- * xmlSchemaImport:
+ * xmlSchemaImport:
* (extends xmlSchemaBucket)
*
* Reflects a schema. Holds some information
@@ -422,9 +422,9 @@ struct _xmlSchemaImport {
const xmlChar *schemaLocation; /* The URI of the schema document. */
/* For chameleon includes, @origTargetNamespace will be NULL */
const xmlChar *origTargetNamespace;
- /*
+ /*
* For chameleon includes, @targetNamespace will be the
- * targetNamespace of the including schema.
+ * targetNamespace of the including schema.
*/
const xmlChar *targetNamespace;
xmlDocPtr doc; /* The schema node-tree. */
@@ -457,7 +457,7 @@ struct _xmlSchemaInclude {
int parsed;
int imported;
int preserveDoc;
- xmlSchemaItemListPtr globals; /* Global components. */
+ xmlSchemaItemListPtr globals; /* Global components. */
xmlSchemaItemListPtr locals; /* Local components. */
/* The owning main or import schema bucket. */
@@ -517,7 +517,7 @@ struct _xmlSchemaAttributeUse {
xmlSchemaTypeType type;
xmlSchemaAnnotPtr annot;
xmlSchemaAttributeUsePtr next; /* The next attr. use. */
- /*
+ /*
* The attr. decl. OR a QName-ref. to an attr. decl. OR
* a QName-ref. to an attribute group definition.
*/
@@ -573,7 +573,7 @@ struct _xmlSchemaConstructionCtxt {
xmlDictPtr dict;
xmlSchemaItemListPtr buckets; /* List of schema buckets. */
/* xmlSchemaItemListPtr relations; */ /* List of schema relations. */
- xmlSchemaBucketPtr bucket; /* The current schema bucket */
+ xmlSchemaBucketPtr bucket; /* The current schema bucket */
xmlSchemaItemListPtr pending; /* All Components of all schemas that
need to be fixed. */
xmlHashTablePtr substGroups;
@@ -629,7 +629,7 @@ struct _xmlSchemaParserCtxt {
xmlSchemaBucketPtr redefined; /* The schema to be redefined. */
xmlSchemaRedefPtr redef; /* Used for redefinitions. */
- int redefCounter; /* Used for redefinitions. */
+ int redefCounter; /* Used for redefinitions. */
xmlSchemaItemListPtr attrProhibs;
};
@@ -783,7 +783,7 @@ struct _xmlSchemaPSVIIDCNode {
xmlNodePtr node;
xmlSchemaPSVIIDCKeyPtr *keys;
int nodeLine;
- int nodeQNameID;
+ int nodeQNameID;
};
@@ -879,7 +879,7 @@ struct _xmlSchemaIDCMatcher {
struct _xmlSchemaNodeInfo {
int nodeType;
xmlNodePtr node;
- int nodeLine;
+ int nodeLine;
const xmlChar *localName;
const xmlChar *nsName;
const xmlChar *value;
@@ -901,7 +901,7 @@ struct _xmlSchemaNodeInfo {
const xmlChar **nsBindings; /* Namespace bindings on this element */
int nbNsBindings;
- int sizeNsBindings;
+ int sizeNsBindings;
int hasKeyrefs;
int appliedXPath; /* Indicates that an XPath has been applied. */
@@ -938,7 +938,7 @@ typedef xmlSchemaAttrInfo *xmlSchemaAttrInfoPtr;
struct _xmlSchemaAttrInfo {
int nodeType;
xmlNodePtr node;
- int nodeLine;
+ int nodeLine;
const xmlChar *localName;
const xmlChar *nsName;
const xmlChar *value;
@@ -975,6 +975,7 @@ struct _xmlSchemaValidCtxt {
xmlSAXHandlerPtr sax;
xmlParserCtxtPtr parserCtxt;
void *user_data; /* TODO: What is this for? */
+ char *filename;
int err;
int nberrors;
@@ -1028,6 +1029,10 @@ struct _xmlSchemaValidCtxt {
int hasKeyrefs;
int createIDCNodeTables;
int psviExposeIDCNodeTables;
+
+ /* Locator for error reporting in streaming mode */
+ xmlSchemaValidityLocatorFunc locFunc;
+ void *locCtxt;
};
/**
@@ -1043,9 +1048,9 @@ struct _xmlSchemaSubstGroup {
};
/************************************************************************
- * *
- * Some predeclarations *
- * *
+ * *
+ * Some predeclarations *
+ * *
************************************************************************/
static int xmlSchemaParseInclude(xmlSchemaParserCtxtPtr ctxt,
@@ -1098,7 +1103,7 @@ xmlSchemaParseAttributeGroupRef(xmlSchemaParserCtxtPtr pctxt,
/************************************************************************
* *
- * Helper functions *
+ * Helper functions *
* *
************************************************************************/
@@ -1172,7 +1177,7 @@ xmlSchemaGetComponentTypeStr(xmlSchemaBasicItemPtr item)
if (WXS_IS_COMPLEX(WXS_TYPE_CAST item))
return(BAD_CAST "complex type definition");
else
- return(BAD_CAST "simple type definition");
+ return(BAD_CAST "simple type definition");
default:
return(xmlSchemaItemTypeToStr(item->type));
}
@@ -1300,11 +1305,11 @@ xmlSchemaFormatQName(xmlChar **buf,
*buf = xmlStrcat(*buf, localName);
} else {
*buf = xmlStrcat(*buf, BAD_CAST "(NULL)");
- }
+ }
return ((const xmlChar *) *buf);
}
-static const xmlChar*
+static const xmlChar*
xmlSchemaFormatQNameNs(xmlChar **buf, xmlNsPtr ns, const xmlChar *localName)
{
if (ns != NULL)
@@ -1466,7 +1471,7 @@ xmlSchemaWildcardPCToString(int pc)
* @retValue: the returned value
* @ws: the whitespace type of the value
*
- * Get a the cononical representation of the value.
+ * Get a the canonical representation of the value.
* The caller has to free the returned retValue.
*
* Returns 0 if the value could be built and -1 in case of
@@ -1480,16 +1485,16 @@ xmlSchemaGetCanonValueWhtspExt(xmlSchemaValPtr val,
int list;
xmlSchemaValType valType;
const xmlChar *value, *value2 = NULL;
-
+
if ((retValue == NULL) || (val == NULL))
return (-1);
list = xmlSchemaValueGetNext(val) ? 1 : 0;
*retValue = NULL;
do {
- value = NULL;
- valType = xmlSchemaGetValType(val);
- switch (valType) {
+ value = NULL;
+ valType = xmlSchemaGetValType(val);
+ switch (valType) {
case XML_SCHEMAS_STRING:
case XML_SCHEMAS_NORMSTRING:
case XML_SCHEMAS_ANYSIMPLETYPE:
@@ -1502,7 +1507,7 @@ xmlSchemaGetCanonValueWhtspExt(xmlSchemaValPtr val,
if (value2 != NULL)
value = value2;
}
- break;
+ break;
default:
if (xmlSchemaGetCanonValue(val, &value2) == -1) {
if (value2 != NULL)
@@ -1540,29 +1545,29 @@ internal_error:
* @buf: the string buffer
* @itemDes: the designation of the item
* @itemName: the name of the item
- * @item: the item as an object
+ * @item: the item as an object
* @itemNode: the node of the item
* @local: the local name
* @parsing: if the function is used during the parse
*
* Returns a representation of the given item used
- * for error reports.
+ * for error reports.
*
- * The following order is used to build the resulting
+ * The following order is used to build the resulting
* designation if the arguments are not NULL:
* 1a. If itemDes not NULL -> itemDes
* 1b. If (itemDes not NULL) and (itemName not NULL)
* -> itemDes + itemName
* 2. If the preceding was NULL and (item not NULL) -> item
* 3. If the preceding was NULL and (itemNode not NULL) -> itemNode
- *
+ *
* If the itemNode is an attribute node, the name of the attribute
* will be appended to the result.
*
* Returns the formatted string and sets @buf to the resulting value.
- */
-static xmlChar*
-xmlSchemaFormatItemForReport(xmlChar **buf,
+ */
+static xmlChar*
+xmlSchemaFormatItemForReport(xmlChar **buf,
const xmlChar *itemDes,
xmlSchemaBasicItemPtr item,
xmlNodePtr itemNode)
@@ -1574,9 +1579,9 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
xmlFree(*buf);
*buf = NULL;
}
-
+
if (itemDes != NULL) {
- *buf = xmlStrdup(itemDes);
+ *buf = xmlStrdup(itemDes);
} else if (item != NULL) {
switch (item->type) {
case XML_SCHEMA_TYPE_BASIC: {
@@ -1634,7 +1639,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
break;
case XML_SCHEMA_TYPE_ATTRIBUTE_USE: {
xmlSchemaAttributeUsePtr ause;
-
+
ause = WXS_ATTR_USE_CAST item;
*buf = xmlStrdup(BAD_CAST "attribute use ");
if (WXS_ATTRUSE_DECL(ause) != NULL) {
@@ -1650,7 +1655,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
break;
case XML_SCHEMA_TYPE_ATTRIBUTE: {
xmlSchemaAttributePtr attr;
-
+
attr = (xmlSchemaAttributePtr) item;
*buf = xmlStrdup(BAD_CAST "attribute decl.");
*buf = xmlStrcat(*buf, BAD_CAST " '");
@@ -1666,7 +1671,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
case XML_SCHEMA_TYPE_ELEMENT: {
xmlSchemaElementPtr elem;
- elem = (xmlSchemaElementPtr) item;
+ elem = (xmlSchemaElementPtr) item;
*buf = xmlStrdup(BAD_CAST "element decl.");
*buf = xmlStrcat(*buf, BAD_CAST " '");
*buf = xmlStrcat(*buf, xmlSchemaFormatQName(&str,
@@ -1676,7 +1681,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
break;
case XML_SCHEMA_TYPE_IDC_UNIQUE:
case XML_SCHEMA_TYPE_IDC_KEY:
- case XML_SCHEMA_TYPE_IDC_KEYREF:
+ case XML_SCHEMA_TYPE_IDC_KEYREF:
if (item->type == XML_SCHEMA_TYPE_IDC_UNIQUE)
*buf = xmlStrdup(BAD_CAST "unique '");
else if (item->type == XML_SCHEMA_TYPE_IDC_KEY)
@@ -1732,7 +1737,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
default:
named = 0;
}
- } else
+ } else
named = 0;
if ((named == 0) && (itemNode != NULL)) {
@@ -1740,7 +1745,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
if (itemNode->type == XML_ATTRIBUTE_NODE)
elem = itemNode->parent;
- else
+ else
elem = itemNode;
*buf = xmlStrdup(BAD_CAST "Element '");
if (elem->ns != NULL) {
@@ -1750,7 +1755,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
} else
*buf = xmlStrcat(*buf, elem->name);
*buf = xmlStrcat(*buf, BAD_CAST "'");
-
+
}
if ((itemNode != NULL) && (itemNode->type == XML_ATTRIBUTE_NODE)) {
*buf = xmlStrcat(*buf, BAD_CAST ", attribute '");
@@ -1763,7 +1768,7 @@ xmlSchemaFormatItemForReport(xmlChar **buf,
*buf = xmlStrcat(*buf, BAD_CAST "'");
}
FREE_AND_NULL(str)
-
+
return (*buf);
}
@@ -1786,13 +1791,13 @@ xmlSchemaFormatFacetEnumSet(xmlSchemaAbstractCtxtPtr actxt,
int res, found = 0;
if (*buf != NULL)
- xmlFree(*buf);
+ xmlFree(*buf);
*buf = NULL;
do {
/*
* Use the whitespace type of the base type.
- */
+ */
ws = xmlSchemaGetWhiteSpaceFacetValue(type->baseType);
for (facet = type->facets; facet != NULL; facet = facet->next) {
if (facet->type != XML_SCHEMA_FACET_ENUMERATION)
@@ -1836,7 +1841,7 @@ xmlSchemaFormatFacetEnumSet(xmlSchemaAbstractCtxtPtr actxt,
/************************************************************************
* *
- * Error functions *
+ * Error functions *
* *
************************************************************************/
@@ -1881,7 +1886,7 @@ xmlSchemaPErrMemory(xmlSchemaParserCtxtPtr ctxt,
* @msg: the error message
* @str1: extra data
* @str2: extra data
- *
+ *
* Handle a parser error
*/
static void
@@ -1914,7 +1919,7 @@ xmlSchemaPErr(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, int error,
* @msg: the error message
* @str1: extra data
* @str2: extra data
- *
+ *
* Handle a parser error
*/
static void
@@ -1933,7 +1938,7 @@ xmlSchemaPErr2(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node,
* xmlSchemaPErrExt:
* @ctxt: the parsing context
* @node: the context node
- * @error: the error code
+ * @error: the error code
* @strData1: extra data
* @strData2: extra data
* @strData3: extra data
@@ -1943,13 +1948,13 @@ xmlSchemaPErr2(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node,
* @str3: extra parameter for the message display
* @str4: extra parameter for the message display
* @str5: extra parameter for the message display
- *
+ *
* Handle a parser error
*/
static void
xmlSchemaPErrExt(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, int error,
- const xmlChar * strData1, const xmlChar * strData2,
- const xmlChar * strData3, const char *msg, const xmlChar * str1,
+ const xmlChar * strData1, const xmlChar * strData2,
+ const xmlChar * strData3, const char *msg, const xmlChar * str1,
const xmlChar * str2, const xmlChar * str3, const xmlChar * str4,
const xmlChar * str5)
{
@@ -1967,14 +1972,14 @@ xmlSchemaPErrExt(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, int error,
}
__xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASP,
error, XML_ERR_ERROR, NULL, 0,
- (const char *) strData1, (const char *) strData2,
- (const char *) strData3, 0, 0, msg, str1, str2,
+ (const char *) strData1, (const char *) strData2,
+ (const char *) strData3, 0, 0, msg, str1, str2,
str3, str4, str5);
}
/************************************************************************
* *
- * Allround error functions *
+ * Allround error functions *
* *
************************************************************************/
@@ -2016,7 +2021,7 @@ xmlSchemaPSimpleInternalErr(xmlNodePtr node,
* @str1: extra data
* @str2: extra data
* @str3: extra data
- *
+ *
* Handle a validation error
*/
static void
@@ -2028,16 +2033,17 @@ xmlSchemaErr4Line(xmlSchemaAbstractCtxtPtr ctxt,
{
xmlStructuredErrorFunc schannel = NULL;
xmlGenericErrorFunc channel = NULL;
- void *data = NULL;
-
+ void *data = NULL;
+
if (ctxt != NULL) {
if (ctxt->type == XML_SCHEMA_CTXT_VALIDATOR) {
xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) ctxt;
const char *file = NULL;
+ int col = 0;
if (errorLevel != XML_ERR_WARNING) {
vctxt->nberrors++;
vctxt->err = error;
- channel = vctxt->error;
+ channel = vctxt->error;
} else {
channel = vctxt->warning;
}
@@ -2062,6 +2068,7 @@ xmlSchemaErr4Line(xmlSchemaAbstractCtxtPtr ctxt,
(vctxt->parserCtxt->input != NULL)) {
file = vctxt->parserCtxt->input->filename;
line = vctxt->parserCtxt->input->line;
+ col = vctxt->parserCtxt->input->col;
}
} else {
/*
@@ -2077,19 +2084,33 @@ xmlSchemaErr4Line(xmlSchemaAbstractCtxtPtr ctxt,
else if ((vctxt->parserCtxt != NULL) &&
(vctxt->parserCtxt->input != NULL))
file = vctxt->parserCtxt->input->filename;
- }
+ }
+ if (vctxt->locFunc != NULL) {
+ if ((file == NULL) || (line == 0)) {
+ unsigned long l;
+ const char *f;
+ vctxt->locFunc(vctxt->locCtxt, &f, &l);
+ if (file == NULL)
+ file = f;
+ if (line == 0)
+ line = (int) l;
+ }
+ }
+ if ((file == NULL) && (vctxt->filename != NULL))
+ file = vctxt->filename;
+
__xmlRaiseError(schannel, channel, data, ctxt,
node, XML_FROM_SCHEMASV,
error, errorLevel, file, line,
(const char *) str1, (const char *) str2,
- (const char *) str3, 0, 0, msg, str1, str2, str3, str4);
+ (const char *) str3, 0, col, msg, str1, str2, str3, str4);
} else if (ctxt->type == XML_SCHEMA_CTXT_PARSER) {
xmlSchemaParserCtxtPtr pctxt = (xmlSchemaParserCtxtPtr) ctxt;
if (errorLevel != XML_ERR_WARNING) {
pctxt->nberrors++;
pctxt->err = error;
- channel = pctxt->error;
+ channel = pctxt->error;
} else {
channel = pctxt->warning;
}
@@ -2115,11 +2136,11 @@ xmlSchemaErr4Line(xmlSchemaAbstractCtxtPtr ctxt,
* @str1: extra data
* @str2: extra data
* @str3: extra data
- *
+ *
* Handle a validation error
*/
static void
-xmlSchemaErr3(xmlSchemaAbstractCtxtPtr actxt,
+xmlSchemaErr3(xmlSchemaAbstractCtxtPtr actxt,
int error, xmlNodePtr node, const char *msg,
const xmlChar *str1, const xmlChar *str2, const xmlChar *str3)
{
@@ -2128,7 +2149,7 @@ xmlSchemaErr3(xmlSchemaAbstractCtxtPtr actxt,
}
static void
-xmlSchemaErr4(xmlSchemaAbstractCtxtPtr actxt,
+xmlSchemaErr4(xmlSchemaAbstractCtxtPtr actxt,
int error, xmlNodePtr node, const char *msg,
const xmlChar *str1, const xmlChar *str2,
const xmlChar *str3, const xmlChar *str4)
@@ -2157,7 +2178,7 @@ xmlSchemaFormatNodeForError(xmlChar ** msg,
(node->type != XML_ELEMENT_NODE) &&
(node->type != XML_ATTRIBUTE_NODE))
{
- /*
+ /*
* Don't try to format other nodes than element and
* attribute nodes.
* Play save and return an empty string.
@@ -2171,7 +2192,7 @@ xmlSchemaFormatNodeForError(xmlChar ** msg,
*/
if (node->type == XML_ATTRIBUTE_NODE) {
xmlNodePtr elem = node->parent;
-
+
*msg = xmlStrdup(BAD_CAST "Element '");
if (elem->ns != NULL)
*msg = xmlStrcat(*msg, xmlSchemaFormatQName(&str,
@@ -2181,7 +2202,7 @@ xmlSchemaFormatNodeForError(xmlChar ** msg,
NULL, elem->name));
FREE_AND_NULL(str);
*msg = xmlStrcat(*msg, BAD_CAST "', ");
- *msg = xmlStrcat(*msg, BAD_CAST "attribute '");
+ *msg = xmlStrcat(*msg, BAD_CAST "attribute '");
} else {
*msg = xmlStrdup(BAD_CAST "Element '");
}
@@ -2197,7 +2218,7 @@ xmlSchemaFormatNodeForError(xmlChar ** msg,
xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) actxt;
/*
* Work on node infos.
- */
+ */
if (vctxt->inode->nodeType == XML_ATTRIBUTE_NODE) {
xmlSchemaNodeInfoPtr ielem =
vctxt->elemInfos[vctxt->depth];
@@ -2207,7 +2228,7 @@ xmlSchemaFormatNodeForError(xmlChar ** msg,
ielem->nsName, ielem->localName));
FREE_AND_NULL(str);
*msg = xmlStrcat(*msg, BAD_CAST "', ");
- *msg = xmlStrcat(*msg, BAD_CAST "attribute '");
+ *msg = xmlStrcat(*msg, BAD_CAST "attribute '");
} else {
*msg = xmlStrdup(BAD_CAST "Element '");
}
@@ -2216,7 +2237,7 @@ xmlSchemaFormatNodeForError(xmlChar ** msg,
FREE_AND_NULL(str);
*msg = xmlStrcat(*msg, BAD_CAST "': ");
} else if (actxt->type == XML_SCHEMA_CTXT_PARSER) {
- /*
+ /*
* Hmm, no node while parsing?
* Return an empty string, in case NULL will break something.
*/
@@ -2254,7 +2275,7 @@ xmlSchemaInternalErr2(xmlSchemaAbstractCtxtPtr actxt,
return;
msg = xmlStrdup(BAD_CAST "Internal error: ");
msg = xmlStrcat(msg, BAD_CAST funcName);
- msg = xmlStrcat(msg, BAD_CAST ", ");
+ msg = xmlStrcat(msg, BAD_CAST ", ");
msg = xmlStrcat(msg, BAD_CAST message);
msg = xmlStrcat(msg, BAD_CAST ".\n");
@@ -2262,7 +2283,7 @@ xmlSchemaInternalErr2(xmlSchemaAbstractCtxtPtr actxt,
xmlSchemaErr(actxt, XML_SCHEMAV_INTERNAL, NULL,
(const char *) msg, str1, str2);
- else if (actxt->type == XML_SCHEMA_CTXT_PARSER)
+ else if (actxt->type == XML_SCHEMA_CTXT_PARSER)
xmlSchemaErr(actxt, XML_SCHEMAP_INTERNAL, NULL,
(const char *) msg, str1, str2);
@@ -2309,7 +2330,7 @@ xmlSchemaCustomErr4(xmlSchemaAbstractCtxtPtr actxt,
} else
xmlSchemaFormatNodeForError(&msg, actxt, node);
msg = xmlStrcat(msg, (const xmlChar *) message);
- msg = xmlStrcat(msg, BAD_CAST ".\n");
+ msg = xmlStrcat(msg, BAD_CAST ".\n");
xmlSchemaErr4(actxt, error, node,
(const char *) msg, str1, str2, str3, str4);
FREE_AND_NULL(msg)
@@ -2325,7 +2346,7 @@ xmlSchemaCustomErr(xmlSchemaAbstractCtxtPtr actxt,
const xmlChar *str2)
{
xmlSchemaCustomErr4(actxt, error, node, item,
- message, str1, str2, NULL, NULL);
+ message, str1, str2, NULL, NULL);
}
@@ -2344,8 +2365,8 @@ xmlSchemaCustomWarning(xmlSchemaAbstractCtxtPtr actxt,
xmlSchemaFormatNodeForError(&msg, actxt, node);
msg = xmlStrcat(msg, (const xmlChar *) message);
- msg = xmlStrcat(msg, BAD_CAST ".\n");
-
+ msg = xmlStrcat(msg, BAD_CAST ".\n");
+
/* URGENT TODO: Set the error code to something sane. */
xmlSchemaErr4Line(actxt, XML_ERR_WARNING, error, node, 0,
(const char *) msg, str1, str2, str3, NULL);
@@ -2365,15 +2386,15 @@ xmlSchemaKeyrefErr(xmlSchemaValidCtxtPtr vctxt,
const xmlChar *str2)
{
xmlChar *msg = NULL, *qname = NULL;
-
- msg = xmlStrdup(BAD_CAST "Element '%s': ");
+
+ msg = xmlStrdup(BAD_CAST "Element '%s': ");
msg = xmlStrcat(msg, (const xmlChar *) message);
msg = xmlStrcat(msg, BAD_CAST ".\n");
xmlSchemaErr4Line(ACTXT_CAST vctxt, XML_ERR_ERROR,
error, NULL, idcNode->nodeLine, (const char *) msg,
xmlSchemaFormatQName(&qname,
vctxt->nodeQNames->items[idcNode->nodeQNameID +1],
- vctxt->nodeQNames->items[idcNode->nodeQNameID]),
+ vctxt->nodeQNames->items[idcNode->nodeQNameID]),
str1, str2, NULL);
FREE_AND_NULL(qname);
FREE_AND_NULL(msg);
@@ -2456,7 +2477,7 @@ xmlSchemaSimpleTypeErr(xmlSchemaAbstractCtxtPtr actxt,
if (type->builtInType != 0) {
msg = xmlStrcat(msg, BAD_CAST "xs:");
msg = xmlStrcat(msg, type->name);
- } else
+ } else
msg = xmlStrcat(msg,
xmlSchemaFormatQName(&str,
type->targetNamespace, type->name));
@@ -2494,12 +2515,12 @@ xmlSchemaIllegalAttrErr(xmlSchemaAbstractCtxtPtr actxt,
xmlNodePtr node)
{
xmlChar *msg = NULL, *str = NULL;
-
+
xmlSchemaFormatNodeForError(&msg, actxt, node);
msg = xmlStrcat(msg, BAD_CAST "The attribute '%s' is not allowed.\n");
xmlSchemaErr(actxt, error, node, (const char *) msg,
xmlSchemaFormatErrorNodeQName(&str, (xmlSchemaNodeInfoPtr) ni, node),
- NULL);
+ NULL);
FREE_AND_NULL(str)
FREE_AND_NULL(msg)
}
@@ -2518,7 +2539,7 @@ xmlSchemaComplexTypeErr(xmlSchemaAbstractCtxtPtr actxt,
xmlChar *localName, *nsName;
const xmlChar *cur, *end;
int i;
-
+
xmlSchemaFormatNodeForError(&msg, actxt, node);
msg = xmlStrcat(msg, (const xmlChar *) message);
msg = xmlStrcat(msg, BAD_CAST ".");
@@ -2533,7 +2554,7 @@ xmlSchemaComplexTypeErr(xmlSchemaAbstractCtxtPtr actxt,
} else
str = xmlStrdup(BAD_CAST " Expected is ( ");
nsName = NULL;
-
+
for (i = 0; i < nbval + nbneg; i++) {
cur = values[i];
if (cur == NULL)
@@ -2547,7 +2568,7 @@ xmlSchemaComplexTypeErr(xmlSchemaAbstractCtxtPtr actxt,
* Get the local name.
*/
localName = NULL;
-
+
end = cur;
if (*end == '*') {
localName = xmlStrdup(BAD_CAST "*");
@@ -2556,8 +2577,8 @@ xmlSchemaComplexTypeErr(xmlSchemaAbstractCtxtPtr actxt,
while ((*end != 0) && (*end != '|'))
end++;
localName = xmlStrncat(localName, BAD_CAST cur, end - cur);
- }
- if (*end != 0) {
+ }
+ if (*end != 0) {
end++;
/*
* Skip "*|*" if they come with negated expressions, since
@@ -2573,12 +2594,12 @@ xmlSchemaComplexTypeErr(xmlSchemaAbstractCtxtPtr actxt,
} else {
while (*end != 0)
end++;
-
+
if (i >= nbval)
nsName = xmlStrdup(BAD_CAST "{##other:");
else
nsName = xmlStrdup(BAD_CAST "{");
-
+
nsName = xmlStrncat(nsName, BAD_CAST cur, end - cur);
nsName = xmlStrcat(nsName, BAD_CAST "}");
}
@@ -2588,13 +2609,13 @@ xmlSchemaComplexTypeErr(xmlSchemaAbstractCtxtPtr actxt,
FREE_AND_NULL(localName);
continue;
}
- }
+ }
str = xmlStrcat(str, BAD_CAST localName);
FREE_AND_NULL(localName);
-
+
if (i < nbval + nbneg -1)
str = xmlStrcat(str, BAD_CAST ", ");
- }
+ }
str = xmlStrcat(str, BAD_CAST " ).\n");
msg = xmlStrcat(msg, BAD_CAST str);
FREE_AND_NULL(str)
@@ -2626,8 +2647,8 @@ xmlSchemaFacetErr(xmlSchemaAbstractCtxtPtr actxt,
/*
* If enumerations are validated, one must not expect the
* facet to be given.
- */
- } else
+ */
+ } else
facetType = facet->type;
msg = xmlStrcat(msg, BAD_CAST "[");
msg = xmlStrcat(msg, BAD_CAST "facet '");
@@ -2655,31 +2676,31 @@ xmlSchemaFacetErr(xmlSchemaAbstractCtxtPtr actxt,
snprintf(actLen, 24, "%lu", length);
if (facetType == XML_SCHEMA_FACET_LENGTH)
- msg = xmlStrcat(msg,
- BAD_CAST "this differs from the allowed length of '%s'.\n");
+ msg = xmlStrcat(msg,
+ BAD_CAST "this differs from the allowed length of '%s'.\n");
else if (facetType == XML_SCHEMA_FACET_MAXLENGTH)
- msg = xmlStrcat(msg,
+ msg = xmlStrcat(msg,
BAD_CAST "this exceeds the allowed maximum length of '%s'.\n");
else if (facetType == XML_SCHEMA_FACET_MINLENGTH)
- msg = xmlStrcat(msg,
+ msg = xmlStrcat(msg,
BAD_CAST "this underruns the allowed minimum length of '%s'.\n");
-
+
if (nodeType == XML_ATTRIBUTE_NODE)
xmlSchemaErr3(actxt, error, node, (const char *) msg,
value, (const xmlChar *) actLen, (const xmlChar *) len);
- else
+ else
xmlSchemaErr(actxt, error, node, (const char *) msg,
(const xmlChar *) actLen, (const xmlChar *) len);
-
+
} else if (facetType == XML_SCHEMA_FACET_ENUMERATION) {
msg = xmlStrcat(msg, BAD_CAST "The value '%s' is not an element "
"of the set {%s}.\n");
- xmlSchemaErr(actxt, error, node, (const char *) msg, value,
+ xmlSchemaErr(actxt, error, node, (const char *) msg, value,
xmlSchemaFormatFacetEnumSet(actxt, &str, type));
} else if (facetType == XML_SCHEMA_FACET_PATTERN) {
msg = xmlStrcat(msg, BAD_CAST "The value '%s' is not accepted "
"by the pattern '%s'.\n");
- xmlSchemaErr(actxt, error, node, (const char *) msg, value,
+ xmlSchemaErr(actxt, error, node, (const char *) msg, value,
facet->value);
} else if (facetType == XML_SCHEMA_FACET_MININCLUSIVE) {
msg = xmlStrcat(msg, BAD_CAST "The value '%s' is less than the "
@@ -2711,10 +2732,10 @@ xmlSchemaFacetErr(xmlSchemaAbstractCtxtPtr actxt,
"digits than are allowed ('%s').\n");
xmlSchemaErr(actxt, error, node, (const char*) msg, value,
facet->value);
- } else if (nodeType == XML_ATTRIBUTE_NODE) {
+ } else if (nodeType == XML_ATTRIBUTE_NODE) {
msg = xmlStrcat(msg, BAD_CAST "The value '%s' is not facet-valid.\n");
- xmlSchemaErr(actxt, error, node, (const char *) msg, value, NULL);
- } else {
+ xmlSchemaErr(actxt, error, node, (const char *) msg, value, NULL);
+ } else {
msg = xmlStrcat(msg, BAD_CAST "The value is not facet-valid.\n");
xmlSchemaErr(actxt, error, node, (const char *) msg, NULL, NULL);
}
@@ -2722,7 +2743,7 @@ xmlSchemaFacetErr(xmlSchemaAbstractCtxtPtr actxt,
msg = xmlStrcat(msg, (const xmlChar *) message);
msg = xmlStrcat(msg, BAD_CAST ".\n");
xmlSchemaErr(actxt, error, node, (const char *) msg, str1, str2);
- }
+ }
FREE_AND_NULL(str)
xmlFree(msg);
}
@@ -2967,9 +2988,9 @@ xmlSchemaPAttrUseErr4(xmlSchemaParserCtxtPtr ctxt,
const xmlChar *str3,const xmlChar *str4)
{
xmlChar *str = NULL, *msg = NULL;
-
+
xmlSchemaFormatItemForReport(&msg, NULL, ownerItem, NULL);
- msg = xmlStrcat(msg, BAD_CAST ", ");
+ msg = xmlStrcat(msg, BAD_CAST ", ");
msg = xmlStrcat(msg,
BAD_CAST xmlSchemaFormatItemForReport(&str, NULL,
WXS_BASIC_CAST attruse, NULL));
@@ -2977,7 +2998,7 @@ xmlSchemaPAttrUseErr4(xmlSchemaParserCtxtPtr ctxt,
msg = xmlStrcat(msg, BAD_CAST ": ");
msg = xmlStrcat(msg, (const xmlChar *) message);
msg = xmlStrcat(msg, BAD_CAST ".\n");
- xmlSchemaErr4(ACTXT_CAST ctxt, error, node,
+ xmlSchemaErr4(ACTXT_CAST ctxt, error, node,
(const char *) msg, str1, str2, str3, str4);
xmlFree(msg);
}
@@ -3071,7 +3092,7 @@ xmlSchemaPMutualExclAttrErr(xmlSchemaParserCtxtPtr ctxt,
* @error: the error code
* @type: the type specifier
* @ownerDes: the designation of the owner
- * @ownerItem: the schema object if existent
+ * @ownerItem: the schema object if existent
* @node: the validated node
* @value: the validated value
*
@@ -3079,7 +3100,7 @@ xmlSchemaPMutualExclAttrErr(xmlSchemaParserCtxtPtr ctxt,
* TODO: Should this report the value of an element as well?
*/
static void
-xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt,
+xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt,
xmlParserErrors error,
xmlSchemaBasicItemPtr ownerItem ATTRIBUTE_UNUSED,
xmlNodePtr node,
@@ -3091,37 +3112,37 @@ xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt,
const xmlChar *str2)
{
xmlChar *msg = NULL;
-
+
xmlSchemaFormatNodeForError(&msg, ACTXT_CAST ctxt, node);
if (message == NULL) {
/*
* Use default messages.
- */
+ */
if (type != NULL) {
if (node->type == XML_ATTRIBUTE_NODE)
msg = xmlStrcat(msg, BAD_CAST "'%s' is not a valid value of ");
else
msg = xmlStrcat(msg, BAD_CAST "The character content is not a "
- "valid value of ");
+ "valid value of ");
if (! xmlSchemaIsGlobalItem(type))
msg = xmlStrcat(msg, BAD_CAST "the local ");
else
msg = xmlStrcat(msg, BAD_CAST "the ");
-
+
if (WXS_IS_ATOMIC(type))
msg = xmlStrcat(msg, BAD_CAST "atomic type");
else if (WXS_IS_LIST(type))
msg = xmlStrcat(msg, BAD_CAST "list type");
else if (WXS_IS_UNION(type))
msg = xmlStrcat(msg, BAD_CAST "union type");
-
+
if (xmlSchemaIsGlobalItem(type)) {
xmlChar *str = NULL;
msg = xmlStrcat(msg, BAD_CAST " '");
if (type->builtInType != 0) {
msg = xmlStrcat(msg, BAD_CAST "xs:");
msg = xmlStrcat(msg, type->name);
- } else
+ } else
msg = xmlStrcat(msg,
xmlSchemaFormatQName(&str,
type->targetNamespace, type->name));
@@ -3134,7 +3155,7 @@ xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt,
else
msg = xmlStrcat(msg, BAD_CAST "The character content is not "
"valid.");
- }
+ }
if (expected) {
msg = xmlStrcat(msg, BAD_CAST " Expected is '");
msg = xmlStrcat(msg, BAD_CAST expected);
@@ -3151,7 +3172,7 @@ xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt,
xmlSchemaPErrExt(ctxt, node, error, NULL, NULL, NULL,
(const char*) msg, str1, str2, NULL, NULL, NULL);
}
- /* Cleanup. */
+ /* Cleanup. */
FREE_AND_NULL(msg)
}
@@ -3199,25 +3220,25 @@ xmlSchemaPContentErr(xmlSchemaParserCtxtPtr ctxt,
}
/************************************************************************
- * *
- * Streamable error functions *
- * *
+ * *
+ * Streamable error functions *
+ * *
************************************************************************/
/************************************************************************
- * *
- * Validation helper functions *
- * *
+ * *
+ * Validation helper functions *
+ * *
************************************************************************/
/************************************************************************
- * *
- * Allocation functions *
- * *
+ * *
+ * Allocation functions *
+ * *
************************************************************************/
/**
@@ -3372,7 +3393,7 @@ xmlSchemaItemListAddSize(xmlSchemaItemListPtr list,
static int
xmlSchemaItemListInsert(xmlSchemaItemListPtr list, void *item, int idx)
-{
+{
if (list->items == NULL) {
list->items = (void **) xmlMalloc(
20 * sizeof(void *));
@@ -3412,7 +3433,7 @@ xmlSchemaItemListInsertSize(xmlSchemaItemListPtr list,
int initialSize,
void *item,
int idx)
-{
+{
if (list->items == NULL) {
if (initialSize <= 0)
initialSize = 1;
@@ -3467,7 +3488,7 @@ xmlSchemaItemListRemove(xmlSchemaItemListPtr list, int idx)
list->sizeItems = 0;
} else if (list->nbItems -1 == idx) {
list->nbItems--;
- } else {
+ } else {
for (i = idx; i < list->nbItems -1; i++)
list->items[i] = list->items[i+1];
list->nbItems--;
@@ -3502,19 +3523,19 @@ xmlSchemaBucketFree(xmlSchemaBucketPtr bucket)
}
if (bucket->locals != NULL) {
xmlSchemaComponentListFree(bucket->locals);
- xmlSchemaItemListFree(bucket->locals);
+ xmlSchemaItemListFree(bucket->locals);
}
if (bucket->relations != NULL) {
xmlSchemaSchemaRelationPtr prev, cur = bucket->relations;
do {
- prev = cur;
+ prev = cur;
cur = cur->next;
xmlFree(prev);
} while (cur != NULL);
}
if ((! bucket->preserveDoc) && (bucket->doc != NULL)) {
xmlFreeDoc(bucket->doc);
- }
+ }
if (bucket->type == XML_SCHEMA_SCHEMA_IMPORT) {
if (WXS_IMPBUCKET(bucket)->schema != NULL)
xmlSchemaFree(WXS_IMPBUCKET(bucket)->schema);
@@ -3559,7 +3580,7 @@ xmlSchemaBucketCreate(xmlSchemaParserCtxtPtr pctxt,
xmlFree(ret);
return(NULL);
}
- /*
+ /*
* The following will assure that only the first bucket is marked as
* XML_SCHEMA_SCHEMA_MAIN and it points to the *main* schema.
* For each following import buckets an xmlSchema will be created.
@@ -3573,7 +3594,7 @@ xmlSchemaBucketCreate(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaBucketFree(ret);
return(NULL);
}
- /* Force the type to be XML_SCHEMA_SCHEMA_MAIN. */
+ /* Force the type to be XML_SCHEMA_SCHEMA_MAIN. */
ret->type = XML_SCHEMA_SCHEMA_MAIN;
/* Point to the *main* schema. */
WXS_CONSTRUCTOR(pctxt)->mainBucket = ret;
@@ -3583,12 +3604,12 @@ xmlSchemaBucketCreate(xmlSchemaParserCtxtPtr pctxt,
*/
mainSchema->targetNamespace = targetNamespace;
} else {
- if (type == XML_SCHEMA_SCHEMA_MAIN) {
+ if (type == XML_SCHEMA_SCHEMA_MAIN) {
PERROR_INT("xmlSchemaBucketCreate",
"main bucket but it's not the first one");
xmlSchemaBucketFree(ret);
return(NULL);
- } else if (type == XML_SCHEMA_SCHEMA_IMPORT) {
+ } else if (type == XML_SCHEMA_SCHEMA_IMPORT) {
/*
* Create a schema for imports and assign the
* targetNamespace.
@@ -3600,7 +3621,7 @@ xmlSchemaBucketCreate(xmlSchemaParserCtxtPtr pctxt,
}
WXS_IMPBUCKET(ret)->schema->targetNamespace = targetNamespace;
}
- }
+ }
if (WXS_IS_BUCKET_IMPMAIN(type)) {
int res;
/*
@@ -3643,11 +3664,11 @@ xmlSchemaBucketCreate(xmlSchemaParserCtxtPtr pctxt,
if (mainSchema->includes == NULL) {
xmlSchemaBucketFree(ret);
return(NULL);
- }
+ }
}
xmlSchemaItemListAdd(mainSchema->includes, ret);
}
- /*
+ /*
* Add to list of all buckets; this is used for lookup
* during schema construction time only.
*/
@@ -4015,7 +4036,7 @@ xmlSchemaComponentListFree(xmlSchemaItemListPtr list)
for (i = 0; i < list->nbItems; i++) {
item = items[i];
if (item == NULL)
- continue;
+ continue;
switch (item->type) {
case XML_SCHEMA_TYPE_SIMPLE:
case XML_SCHEMA_TYPE_COMPLEX:
@@ -4122,7 +4143,7 @@ xmlSchemaFree(xmlSchemaPtr schema)
xmlSchemaItemListPtr list = (xmlSchemaItemListPtr) schema->includes;
int i;
for (i = 0; i < list->nbItems; i++) {
- xmlSchemaBucketFree((xmlSchemaBucketPtr) list->items[i]);
+ xmlSchemaBucketFree((xmlSchemaBucketPtr) list->items[i]);
}
xmlSchemaItemListFree(list);
}
@@ -4135,9 +4156,9 @@ xmlSchemaFree(xmlSchemaPtr schema)
}
/************************************************************************
- * *
- * Debug functions *
- * *
+ * *
+ * Debug functions *
+ * *
************************************************************************/
#ifdef LIBXML_OUTPUT_ENABLED
@@ -4274,7 +4295,7 @@ xmlSchemaContentModelDump(xmlSchemaParticlePtr particle, FILE * output, int dept
for (i = 0;((i < depth) && (i < 25));i++)
shift[2 * i] = shift[2 * i + 1] = ' ';
shift[2 * i] = shift[2 * i + 1] = 0;
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
if (particle->children == NULL) {
fprintf(output, "MISSING particle term\n");
return;
@@ -4330,7 +4351,7 @@ xmlSchemaContentModelDump(xmlSchemaParticlePtr particle, FILE * output, int dept
/**
* xmlSchemaAttrUsesDump:
* @uses: attribute uses list
- * @output: the file output
+ * @output: the file output
*
* Dumps a list of attribute use components.
*/
@@ -4347,7 +4368,7 @@ xmlSchemaAttrUsesDump(xmlSchemaItemListPtr uses, FILE * output)
if ((uses == NULL) || (uses->nbItems == 0))
return;
- fprintf(output, " attributes:\n");
+ fprintf(output, " attributes:\n");
for (i = 0; i < uses->nbItems; i++) {
use = uses->items[i];
if (use->type == XML_SCHEMA_EXTRA_ATTR_USE_PROHIB) {
@@ -4533,7 +4554,7 @@ xmlSchemaDebugDumpIDCTable(FILE * output,
return;
do {
fprintf(output, "IDC: BINDING '%s' (%d)\n",
- xmlSchemaGetComponentQName(&str,
+ xmlSchemaGetComponentQName(&str,
bind->definition), bind->nbNodes);
FREE_AND_NULL(str)
for (i = 0; i < bind->nbNodes; i++) {
@@ -4587,7 +4608,7 @@ xmlSchemaDebugDumpIDCTable(FILE * output,
/************************************************************************
* *
- * Utilities *
+ * Utilities *
* *
************************************************************************/
@@ -4634,7 +4655,7 @@ xmlSchemaGetPropNodeNs(xmlNodePtr node, const char *uri, const char *name)
xmlAttrPtr prop;
if ((node == NULL) || (name == NULL))
- return(NULL);
+ return(NULL);
prop = node->properties;
while (prop != NULL) {
if ((prop->ns != NULL) &&
@@ -4692,9 +4713,9 @@ xmlSchemaGetProp(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node,
}
/************************************************************************
- * *
- * Parsing functions *
- * *
+ * *
+ * Parsing functions *
+ * *
************************************************************************/
#define WXS_FIND_GLOBAL_ITEM(slot) \
@@ -4729,12 +4750,12 @@ xmlSchemaGetElem(xmlSchemaPtr schema, const xmlChar * name,
const xmlChar * nsName)
{
xmlSchemaElementPtr ret = NULL;
-
+
if ((name == NULL) || (schema == NULL))
return(NULL);
if (schema != NULL) {
WXS_FIND_GLOBAL_ITEM(elemDecl)
- }
+ }
exit:
#ifdef DEBUG
if (ret == NULL) {
@@ -4765,9 +4786,9 @@ xmlSchemaGetType(xmlSchemaPtr schema, const xmlChar * name,
xmlSchemaTypePtr ret = NULL;
if (name == NULL)
- return (NULL);
+ return (NULL);
/* First try the built-in types. */
- if ((nsName != NULL) && xmlStrEqual(nsName, xmlSchemaNs)) {
+ if ((nsName != NULL) && xmlStrEqual(nsName, xmlSchemaNs)) {
ret = xmlSchemaGetPredefinedType(name, nsName);
if (ret != NULL)
goto exit;
@@ -4780,7 +4801,7 @@ xmlSchemaGetType(xmlSchemaPtr schema, const xmlChar * name,
}
if (schema != NULL) {
WXS_FIND_GLOBAL_ITEM(typeDecl)
- }
+ }
exit:
#ifdef DEBUG
@@ -4891,7 +4912,7 @@ xmlSchemaGetGroup(xmlSchemaPtr schema, const xmlChar * name,
WXS_FIND_GLOBAL_ITEM(groupDecl)
}
exit:
-
+
#ifdef DEBUG
if (ret == NULL) {
if (nsName == NULL)
@@ -4966,9 +4987,9 @@ xmlSchemaGetNamedComponent(xmlSchemaPtr schema,
}
/************************************************************************
- * *
- * Parsing functions *
- * *
+ * *
+ * Parsing functions *
+ * *
************************************************************************/
#define IS_BLANK_NODE(n) \
@@ -5000,7 +5021,7 @@ xmlSchemaIsBlank(xmlChar * str, int len)
str++;
len--;
}
-
+
return (1);
}
@@ -5061,7 +5082,7 @@ xmlSchemaFindRedefCompInGraph(xmlSchemaBucketPtr bucket,
default:
/* Should not be hit. */
return(NULL);
- }
+ }
}
}
subschemas:
@@ -5209,7 +5230,7 @@ xmlSchemaAddAttributeUse(xmlSchemaParserCtxtPtr pctxt,
* resolve references to the redefined components and to check constraints.
*/
static xmlSchemaRedefPtr
-xmlSchemaAddRedef(xmlSchemaParserCtxtPtr pctxt,
+xmlSchemaAddRedef(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaBucketPtr targetBucket,
void *item,
const xmlChar *refName,
@@ -5272,7 +5293,7 @@ xmlSchemaAddAttributeGroupDefinition(xmlSchemaParserCtxtPtr pctxt,
ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
ret->name = name;
ret->targetNamespace = nsName;
- ret->node = node;
+ ret->node = node;
/* TODO: Remove the flag. */
ret->flags |= XML_SCHEMAS_ATTRGROUP_GLOBAL;
@@ -5282,7 +5303,7 @@ xmlSchemaAddAttributeGroupDefinition(xmlSchemaParserCtxtPtr pctxt,
if (pctxt->redef == NULL) {
xmlFree(ret);
return(NULL);
- }
+ }
pctxt->redefCounter = 0;
}
WXS_ADD_GLOBAL(pctxt, ret);
@@ -5371,13 +5392,13 @@ xmlSchemaAddType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
if (ctxt->redef == NULL) {
xmlFree(ret);
return(NULL);
- }
+ }
ctxt->redefCounter = 0;
}
WXS_ADD_GLOBAL(ctxt, ret);
} else
WXS_ADD_LOCAL(ctxt, ret);
- WXS_ADD_PENDING(ctxt, ret);
+ WXS_ADD_PENDING(ctxt, ret);
return (ret);
}
@@ -5509,7 +5530,7 @@ xmlSchemaAddParticle(xmlSchemaParserCtxtPtr ctxt,
ret->children = NULL;
WXS_ADD_LOCAL(ctxt, ret);
- /*
+ /*
* Note that addition to pending components will be done locally
* to the specific parsing function, since the most particles
* need not to be fixed up (i.e. the reference to be resolved).
@@ -5558,7 +5579,7 @@ xmlSchemaAddModelGroupDefinition(xmlSchemaParserCtxtPtr ctxt,
if (ctxt->redef == NULL) {
xmlFree(ret);
return(NULL);
- }
+ }
ctxt->redefCounter = 0;
}
WXS_ADD_GLOBAL(ctxt, ret);
@@ -5595,7 +5616,7 @@ xmlSchemaAddIDC(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
const xmlChar *name, const xmlChar *nsName,
int category, xmlNodePtr node)
{
- xmlSchemaIDCPtr ret = NULL;
+ xmlSchemaIDCPtr ret = NULL;
if ((ctxt == NULL) || (schema == NULL) || (name == NULL))
return (NULL);
@@ -5611,8 +5632,8 @@ xmlSchemaAddIDC(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
ret->targetNamespace = nsName;
ret->name = name;
ret->type = category;
- ret->node = node;
-
+ ret->node = node;
+
WXS_ADD_GLOBAL(ctxt, ret);
/*
* Only keyrefs need to be fixup up.
@@ -5648,7 +5669,7 @@ xmlSchemaAddWildcard(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
}
memset(ret, 0, sizeof(xmlSchemaWildcard));
ret->type = type;
- ret->node = node;
+ ret->node = node;
WXS_ADD_LOCAL(ctxt, ret);
return (ret);
}
@@ -5704,7 +5725,7 @@ xmlSchemaSubstGroupAdd(xmlSchemaParserCtxtPtr pctxt,
static xmlSchemaSubstGroupPtr
xmlSchemaSubstGroupGet(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaElementPtr head)
-{
+{
if (WXS_SUBST_GROUPS(pctxt) == NULL)
return(NULL);
return(xmlHashLookup2(WXS_SUBST_GROUPS(pctxt),
@@ -5743,9 +5764,9 @@ xmlSchemaAddElementSubstitutionMember(xmlSchemaParserCtxtPtr pctxt,
}
/************************************************************************
- * *
+ * *
* Utilities for parsing *
- * *
+ * *
************************************************************************/
/**
@@ -5939,7 +5960,7 @@ xmlSchemaPValAttrNodeID(xmlSchemaParserCtxtPtr ctxt, xmlAttrPtr attr)
xmlFree((xmlChar *) value);
value = strip;
}
- res = xmlAddID(NULL, attr->doc, value, attr);
+ res = xmlAddID(NULL, attr->doc, value, attr);
if (res == NULL) {
ret = XML_SCHEMAP_S4S_ATTR_INVALID_VALUE;
xmlSchemaPSimpleTypeErr(ctxt,
@@ -6120,7 +6141,7 @@ xmlSchemaPGetBoolNodeValue(xmlSchemaParserCtxtPtr ctxt,
value = xmlNodeGetContent(node);
/*
* 3.2.2.1 Lexical representation
- * An instance of a datatype that is defined as ·boolean·
+ * An instance of a datatype that is defined as `boolean`
* can have the following legal literals {true, false, 1, 0}.
*/
if (xmlStrEqual(BAD_CAST value, BAD_CAST "true"))
@@ -6168,7 +6189,7 @@ xmlGetBooleanProp(xmlSchemaParserCtxtPtr ctxt,
return (def);
/*
* 3.2.2.1 Lexical representation
- * An instance of a datatype that is defined as ·boolean·
+ * An instance of a datatype that is defined as `boolean`
* can have the following legal literals {true, false, 1, 0}.
*/
if (xmlStrEqual(val, BAD_CAST "true"))
@@ -6191,9 +6212,9 @@ xmlGetBooleanProp(xmlSchemaParserCtxtPtr ctxt,
}
/************************************************************************
- * *
+ * *
* Shema extraction from an Infoset *
- * *
+ * *
************************************************************************/
static xmlSchemaTypePtr xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr
ctxt, xmlSchemaPtr schema,
@@ -6288,7 +6309,7 @@ xmlSchemaPValAttrNodeValue(xmlSchemaParserCtxtPtr pctxt,
ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
else
ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
- xmlSchemaPSimpleTypeErr(pctxt,
+ xmlSchemaPSimpleTypeErr(pctxt,
ret, ownerItem, (xmlNodePtr) attr,
type, NULL, value, NULL, NULL, NULL);
}
@@ -6352,7 +6373,7 @@ xmlSchemaPValAttrNode(xmlSchemaParserCtxtPtr ctxt,
* number otherwise and -1 in case of an internal or API error.
*/
static int
-xmlSchemaPValAttr(xmlSchemaParserCtxtPtr ctxt,
+xmlSchemaPValAttr(xmlSchemaParserCtxtPtr ctxt,
xmlSchemaBasicItemPtr ownerItem,
xmlNodePtr ownerElem,
const char *name,
@@ -6442,7 +6463,7 @@ xmlSchemaCheckReference(xmlSchemaParserCtxtPtr pctxt,
* @type: the hosting type where the attributes will be anchored
*
* Parses attribute uses and attribute declarations and
- * attribute group references.
+ * attribute group references.
*/
static int
xmlSchemaParseLocalAttributes(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
@@ -6797,7 +6818,7 @@ xmlSchemaParseWildcardNs(xmlSchemaParserCtxtPtr ctxt,
tmp->next = NULL;
if (wildc->nsSet == NULL)
wildc->nsSet = tmp;
- else
+ else if (lastNs != NULL)
lastNs->next = tmp;
lastNs = tmp;
}
@@ -7085,7 +7106,7 @@ xmlSchemaParseLocalAttribute(xmlSchemaParserCtxtPtr pctxt,
int parentType)
{
const xmlChar *attrValue, *name = NULL, *ns = NULL;
- xmlSchemaAttributeUsePtr use = NULL;
+ xmlSchemaAttributeUsePtr use = NULL;
xmlNodePtr child = NULL;
xmlAttrPtr attr;
const xmlChar *tmpNs = NULL, *tmpName = NULL, *defValue = NULL;
@@ -7139,7 +7160,7 @@ xmlSchemaParseLocalAttribute(xmlSchemaParserCtxtPtr pctxt,
/*
* Evaluate the target namespace
*/
- hasForm = 1;
+ hasForm = 1;
attrValue = xmlSchemaGetNodeContent(pctxt,
(xmlNodePtr) attr);
if (xmlStrEqual(attrValue, BAD_CAST "qualified")) {
@@ -7210,7 +7231,7 @@ xmlSchemaParseLocalAttribute(xmlSchemaParserCtxtPtr pctxt,
attr_next:
attr = attr->next;
- }
+ }
/*
* 3.2.3 : 2
* If default and use are both present, use must have
@@ -7236,7 +7257,7 @@ attr_next:
/* TODO: move XML_SCHEMAS_QUALIF_ATTR to the parser. */
if ((! hasForm) && (schema->flags & XML_SCHEMAS_QUALIF_ATTR))
- ns = pctxt->targetNamespace;
+ ns = pctxt->targetNamespace;
/*
* 3.2.6 Schema Component Constraint: xsi: Not Allowed
* TODO: Move this to the component layer.
@@ -7293,7 +7314,7 @@ attr_next:
use->attrDecl = attrDecl;
/*
* Value constraint.
- */
+ */
if (defValue != NULL) {
attrDecl->defValue = defValue;
if (defValueType == WXS_ATTR_DEF_VAL_FIXED)
@@ -7333,14 +7354,14 @@ attr_next:
if (defValueType == WXS_ATTR_DEF_VAL_FIXED)
use->flags |= XML_SCHEMA_ATTR_USE_FIXED;
}
-
+
check_children:
/*
* And now for the children...
*/
child = node->children;
if (occurs == XML_SCHEMAS_ATTR_USE_PROHIBITED) {
- xmlSchemaAttributeUseProhibPtr prohib;
+ xmlSchemaAttributeUseProhibPtr prohib;
if (IS_SCHEMA(child, "annotation")) {
xmlSchemaParseAnnotation(pctxt, child, 0);
@@ -7355,7 +7376,7 @@ check_children:
/*
* Check for pointlessness of attribute prohibitions.
*/
- if (parentType == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
+ if (parentType == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
xmlSchemaCustomWarning(ACTXT_CAST pctxt,
XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH,
node, NULL,
@@ -7373,7 +7394,7 @@ check_children:
return(NULL);
}
if (! isRef) {
- tmpName = name;
+ tmpName = name;
tmpNs = ns;
}
/*
@@ -7381,7 +7402,7 @@ check_children:
*/
if (uses) {
int i;
-
+
for (i = 0; i < uses->nbItems; i++) {
use = uses->items[i];
if ((use->type == XML_SCHEMA_EXTRA_ATTR_USE_PROHIB) &&
@@ -7389,16 +7410,16 @@ check_children:
(tmpNs == (WXS_ATTR_PROHIB_CAST use)->targetNamespace))
{
xmlChar *str = NULL;
-
+
xmlSchemaCustomWarning(ACTXT_CAST pctxt,
XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH,
node, NULL,
"Skipping duplicate attribute use prohibition '%s'",
xmlSchemaFormatQName(&str, tmpNs, tmpName),
NULL, NULL);
- FREE_AND_NULL(str)
+ FREE_AND_NULL(str)
return(NULL);
- }
+ }
}
}
/*
@@ -7417,7 +7438,7 @@ check_children:
WXS_ADD_PENDING(pctxt, prohib);
}
return(WXS_BASIC_CAST prohib);
- } else {
+ } else {
if (IS_SCHEMA(child, "annotation")) {
/*
* TODO: Should this go into the attr decl?
@@ -7464,7 +7485,7 @@ check_children:
NULL, node, child, NULL,
"(annotation?, simpleType?)");
}
- }
+ }
return (WXS_BASIC_CAST use);
}
@@ -7486,7 +7507,7 @@ xmlSchemaParseGlobalAttribute(xmlSchemaParserCtxtPtr pctxt,
* 3.2.3 Constraints on XML Representations of Attribute Declarations
*/
if ((pctxt == NULL) || (schema == NULL) || (node == NULL))
- return (NULL);
+ return (NULL);
/*
* 3.2.3 : 3.1
* One of ref or name must be present, but not both
@@ -7532,7 +7553,7 @@ xmlSchemaParseGlobalAttribute(xmlSchemaParserCtxtPtr pctxt,
if (ret == NULL)
return (NULL);
ret->flags |= XML_SCHEMAS_ATTR_GLOBAL;
-
+
/*
* Check for illegal attributes.
*/
@@ -7546,7 +7567,7 @@ xmlSchemaParseGlobalAttribute(xmlSchemaParserCtxtPtr pctxt,
(!xmlStrEqual(attr->name, BAD_CAST "type")))
{
xmlSchemaPIllegalAttrErr(pctxt,
- XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, NULL, attr);
+ XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, NULL, attr);
}
} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
xmlSchemaPIllegalAttrErr(pctxt,
@@ -7556,7 +7577,7 @@ xmlSchemaParseGlobalAttribute(xmlSchemaParserCtxtPtr pctxt,
}
xmlSchemaPValAttrQName(pctxt, schema, NULL,
node, "type", &ret->typeNs, &ret->typeName);
-
+
xmlSchemaPValAttrID(pctxt, node, BAD_CAST "id");
/*
* Attribute "fixed".
@@ -7641,12 +7662,12 @@ xmlSchemaParseAttributeGroupRef(xmlSchemaParserCtxtPtr pctxt,
XML_SCHEMAP_S4S_ATTR_MISSING,
NULL, node, "ref", NULL);
return (NULL);
- }
+ }
xmlSchemaPValAttrNodeQName(pctxt, schema,
NULL, attr, &refNs, &ref);
if (xmlSchemaCheckReference(pctxt, schema, node, attr, refNs) != 0)
return(NULL);
-
+
/*
* Check for illegal attributes.
*/
@@ -7698,13 +7719,13 @@ xmlSchemaParseAttributeGroupRef(xmlSchemaParserCtxtPtr pctxt,
/*
* SPEC src-redefine:
* (7.1) "If it has an <attributeGroup> among its contents
- * the ·actual value· of whose ref [attribute] is the same
- * as the ·actual value· of its own name attribute plus
+ * the `actual value` of whose ref [attribute] is the same
+ * as the `actual value` of its own name attribute plus
* target namespace, then it must have exactly one such group."
*/
if (pctxt->redefCounter != 0) {
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_SRC_REDEFINE, node, NULL,
"The redefining attribute group definition "
@@ -7738,7 +7759,7 @@ xmlSchemaParseAttributeGroupRef(xmlSchemaParserCtxtPtr pctxt,
ret->node = node;
/* Add to pending items, to be able to resolve the reference. */
WXS_ADD_PENDING(pctxt, ret);
- }
+ }
return (ret);
}
@@ -7785,7 +7806,7 @@ xmlSchemaParseAttributeGroupDefinition(xmlSchemaParserCtxtPtr pctxt,
ret = xmlSchemaAddAttributeGroupDefinition(pctxt, schema,
name, pctxt->targetNamespace, node);
if (ret == NULL)
- return (NULL);
+ return (NULL);
/*
* Check for illegal attributes.
*/
@@ -8185,7 +8206,7 @@ xmlSchemaAddAnnotation(xmlSchemaAnnotItemPtr annItem,
* Returns the parsed identity-constraint definition.
*/
static xmlSchemaIDCSelectPtr
-xmlSchemaParseIDCSelectorAndField(xmlSchemaParserCtxtPtr ctxt,
+xmlSchemaParseIDCSelectorAndField(xmlSchemaParserCtxtPtr ctxt,
xmlSchemaIDCPtr idc,
xmlNodePtr node,
int isField)
@@ -8227,7 +8248,7 @@ xmlSchemaParseIDCSelectorAndField(xmlSchemaParserCtxtPtr ctxt,
*/
attr = xmlSchemaGetPropNode(node, "xpath");
if (attr == NULL) {
- xmlSchemaPMissingAttrErr(ctxt,
+ xmlSchemaPMissingAttrErr(ctxt,
XML_SCHEMAP_S4S_ATTR_MISSING,
NULL, node,
"name", NULL);
@@ -8848,7 +8869,7 @@ xmlSchemaParseUnion(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
type->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
/*
* SPEC (Base type) (2) "If the <list> or <union> alternative is chosen,
- * then the ·simple ur-type definition·."
+ * then the `simple ur-type definition`."
*/
type->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
/*
@@ -9016,7 +9037,7 @@ xmlSchemaParseList(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
type->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
/*
* SPEC (Base type) (2) "If the <list> or <union> alternative is chosen,
- * then the ·simple ur-type definition·."
+ * then the `simple ur-type definition`."
*/
type->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
/*
@@ -9161,9 +9182,9 @@ xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
}
/*
* TargetNamespace:
- * SPEC "The ·actual value· of the targetNamespace [attribute]
+ * SPEC "The `actual value` of the targetNamespace [attribute]
* of the <schema> ancestor element information item if present,
- * otherwise ·absent·.
+ * otherwise `absent`.
*/
if (topLevel == 0) {
#ifdef ENABLE_NAMED_LOCALS
@@ -9195,7 +9216,7 @@ xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
if (attr->ns == NULL) {
if (!xmlStrEqual(attr->name, BAD_CAST "id")) {
xmlSchemaPIllegalAttrErr(ctxt,
- XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, NULL, attr);
+ XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, NULL, attr);
}
} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
xmlSchemaPIllegalAttrErr(ctxt,
@@ -9266,9 +9287,9 @@ xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
* And now for the children...
*/
oldCtxtType = ctxt->ctxtType;
-
+
ctxt->ctxtType = type;
-
+
child = node->children;
if (IS_SCHEMA(child, "annotation")) {
type->annot = xmlSchemaParseAnnotation(ctxt, child, 1);
@@ -9278,10 +9299,10 @@ xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
xmlSchemaPContentErr(ctxt, XML_SCHEMAP_S4S_ELEM_MISSING,
NULL, node, child, NULL,
"(annotation?, (restriction | list | union))");
- } else if (IS_SCHEMA(child, "restriction")) {
+ } else if (IS_SCHEMA(child, "restriction")) {
xmlSchemaParseRestriction(ctxt, schema, child,
- XML_SCHEMA_TYPE_SIMPLE);
- hasRestriction = 1;
+ XML_SCHEMA_TYPE_SIMPLE);
+ hasRestriction = 1;
child = child->next;
} else if (IS_SCHEMA(child, "list")) {
xmlSchemaParseList(ctxt, schema, child);
@@ -9298,8 +9319,8 @@ xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
/*
* REDEFINE: SPEC src-redefine (5)
* "Within the [children], each <simpleType> must have a
- * <restriction> among its [children] ... the ·actual value· of whose
- * base [attribute] must be the same as the ·actual value· of its own
+ * <restriction> among its [children] ... the `actual value` of whose
+ * base [attribute] must be the same as the `actual value` of its own
* name attribute plus target namespace;"
*/
if (topLevel && ctxt->isRedefine && (! hasRestriction)) {
@@ -9307,7 +9328,7 @@ xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
NULL, node, "This is a redefinition, thus the "
"<simpleType> must have a <restriction> child", NULL);
}
-
+
ctxt->ctxtType = oldCtxtType;
return (type);
}
@@ -9373,13 +9394,13 @@ xmlSchemaParseModelGroupDefRef(xmlSchemaParserCtxtPtr ctxt,
xmlSchemaPValAttrID(ctxt, node, BAD_CAST "id");
item = xmlSchemaAddParticle(ctxt, node, min, max);
if (item == NULL)
- return (NULL);
+ return (NULL);
/*
* Create a qname-reference and set as the term; it will be substituted
* for the model group after the reference has been resolved.
*/
item->children = (xmlSchemaTreeItemPtr)
- xmlSchemaNewQNameRef(ctxt, XML_SCHEMA_TYPE_GROUP, ref, refNs);
+ xmlSchemaNewQNameRef(ctxt, XML_SCHEMA_TYPE_GROUP, ref, refNs);
xmlSchemaPCheckParticleCorrect_2(ctxt, item, node, min, max);
/*
* And now for the children...
@@ -9419,7 +9440,7 @@ xmlSchemaParseModelGroupDefRef(xmlSchemaParserCtxtPtr ctxt,
* Note that the contraint src-redefine (6.2) can't be applied until
* references have been resolved. So we will do this at the
* component fixup level.
- *
+ *
* *WARNING* this interface is highly subject to change
*
* Returns -1 in case of error, 0 if the declaration is improper and
@@ -9493,7 +9514,7 @@ xmlSchemaParseModelGroupDefinition(xmlSchemaParserCtxtPtr ctxt,
child = child->next;
}
-
+
if (child != NULL) {
xmlSchemaPContentErr(ctxt,
@@ -9631,7 +9652,7 @@ xmlSchemaParseSchemaElement(xmlSchemaParserCtxtPtr ctxt,
attr = xmlSchemaGetPropNode(node, "version");
if (attr != NULL) {
res = xmlSchemaPValAttrNode(ctxt, NULL, NULL, attr,
- xmlSchemaGetBuiltInType(XML_SCHEMAS_TOKEN), &val);
+ xmlSchemaGetBuiltInType(XML_SCHEMAS_TOKEN), &val);
HFAILURE;
}
*/
@@ -9691,7 +9712,7 @@ xmlSchemaParseSchemaElement(xmlSchemaParserCtxtPtr ctxt,
}
attr = xmlSchemaGetPropNode(node, "blockDefault");
if (attr != NULL) {
- val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+ val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
res = xmlSchemaPValAttrBlockFinal(val, &(schema->flags), -1,
XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION,
XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION,
@@ -9752,14 +9773,14 @@ xmlSchemaParseSchemaTopLevel(xmlSchemaParserCtxtPtr ctxt,
HFAILURE;
HSTOP(ctxt);
if (tmpOldErrs != ctxt->nberrors)
- goto exit;
+ goto exit;
} else if (IS_SCHEMA(child, "include")) {
tmpOldErrs = ctxt->nberrors;
res = xmlSchemaParseInclude(ctxt, schema, child);
HFAILURE;
HSTOP(ctxt);
if (tmpOldErrs != ctxt->nberrors)
- goto exit;
+ goto exit;
} else if (IS_SCHEMA(child, "redefine")) {
tmpOldErrs = ctxt->nberrors;
res = xmlSchemaParseRedefine(ctxt, schema, child);
@@ -9884,7 +9905,7 @@ xmlSchemaConstructionCtxtFree(xmlSchemaConstructionCtxtPtr con)
xmlFree(con);
}
-static xmlSchemaConstructionCtxtPtr
+static xmlSchemaConstructionCtxtPtr
xmlSchemaConstructionCtxtCreate(xmlDictPtr dict)
{
xmlSchemaConstructionCtxtPtr ret;
@@ -9954,10 +9975,10 @@ xmlSchemaNewParserCtxtUseDict(const char *URL, xmlDictPtr dict)
xmlSchemaParserCtxtPtr ret;
ret = xmlSchemaParserCtxtCreate();
- if (ret == NULL)
+ if (ret == NULL)
return (NULL);
ret->dict = dict;
- xmlDictReference(dict);
+ xmlDictReference(dict);
if (URL != NULL)
ret->URL = xmlDictLookup(dict, (const xmlChar *) URL, -1);
return (ret);
@@ -10082,8 +10103,8 @@ xmlSchemaParseNewDocWithContext(xmlSchemaParserCtxtPtr pctxt,
xmlNodePtr node;
int ret, oldErrs;
xmlSchemaBucketPtr oldbucket = pctxt->constructor->bucket;
-
- /*
+
+ /*
* Save old values; reset the *main* schema.
* URGENT TODO: This is not good; move the per-document information
* to the parser. Get rid of passing the main schema to the
@@ -10093,9 +10114,9 @@ xmlSchemaParseNewDocWithContext(xmlSchemaParserCtxtPtr pctxt,
oldDoc = schema->doc;
if (schema->flags != 0)
xmlSchemaClearSchemaDefaults(schema);
- schema->doc = bucket->doc;
+ schema->doc = bucket->doc;
pctxt->schema = schema;
- /*
+ /*
* Keep the current target namespace on the parser *not* on the
* main schema.
*/
@@ -10108,7 +10129,7 @@ xmlSchemaParseNewDocWithContext(xmlSchemaParserCtxtPtr pctxt,
* We are parsing the schema for schemas!
*/
pctxt->isS4S = 1;
- }
+ }
/* Mark it as parsed, even if parsing fails. */
bucket->parsed++;
/* Compile the schema doc. */
@@ -10132,7 +10153,7 @@ xmlSchemaParseNewDocWithContext(xmlSchemaParserCtxtPtr pctxt,
ret = pctxt->err;
goto exit;
}
-
+
exit:
WXS_CONSTRUCTOR(pctxt)->bucket = oldbucket;
/* Restore schema values. */
@@ -10165,7 +10186,7 @@ xmlSchemaParseNewDoc(xmlSchemaParserCtxtPtr pctxt,
PERROR_INT("xmlSchemaParseNewDoc",
"no constructor");
return(-1);
- }
+ }
/* Create and init the temporary parser context. */
newpctxt = xmlSchemaNewParserCtxtUseDict(
(const char *) bucket->schemaLocation, pctxt->dict);
@@ -10173,7 +10194,7 @@ xmlSchemaParseNewDoc(xmlSchemaParserCtxtPtr pctxt,
return(-1);
newpctxt->constructor = pctxt->constructor;
/*
- * TODO: Can we avoid that the parser knows about the main schema?
+ * TODO: Can we avoid that the parser knows about the main schema?
* It would be better if he knows about the current schema bucket
* only.
*/
@@ -10183,16 +10204,16 @@ xmlSchemaParseNewDoc(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaSetParserStructuredErrors(newpctxt, pctxt->serror,
pctxt->errCtxt);
newpctxt->counter = pctxt->counter;
-
+
res = xmlSchemaParseNewDocWithContext(newpctxt, schema, bucket);
-
+
/* Channel back errors and cleanup the temporary parser context. */
if (res != 0)
pctxt->err = res;
pctxt->nberrors += newpctxt->nberrors;
pctxt->counter = newpctxt->counter;
- newpctxt->constructor = NULL;
+ newpctxt->constructor = NULL;
/* Free the parser context. */
xmlSchemaFreeParserCtxt(newpctxt);
return(res);
@@ -10217,11 +10238,11 @@ xmlSchemaSchemaRelationAddChild(xmlSchemaBucketPtr bucket,
static const xmlChar *
xmlSchemaBuildAbsoluteURI(xmlDictPtr dict, const xmlChar* location,
xmlNodePtr ctxtNode)
-{
+{
/*
* Build an absolue location URI.
*/
- if (location != NULL) {
+ if (location != NULL) {
if (ctxtNode == NULL)
return(location);
else {
@@ -10244,7 +10265,7 @@ xmlSchemaBuildAbsoluteURI(xmlDictPtr dict, const xmlChar* location,
}
return(NULL);
}
-
+
/**
@@ -10267,8 +10288,8 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
const char *schemaBuffer,
int schemaBufferLen,
xmlNodePtr invokingNode,
- const xmlChar *sourceTargetNamespace,
- const xmlChar *importNamespace,
+ const xmlChar *sourceTargetNamespace,
+ const xmlChar *importNamespace,
xmlSchemaBucketPtr *bucket)
{
const xmlChar *targetNamespace = NULL;
@@ -10279,7 +10300,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
if (bucket != NULL)
*bucket = NULL;
-
+
switch (type) {
case XML_SCHEMA_SCHEMA_IMPORT:
case XML_SCHEMA_SCHEMA_MAIN:
@@ -10291,23 +10312,23 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
case XML_SCHEMA_SCHEMA_REDEFINE:
err = XML_SCHEMAP_SRC_REDEFINE;
break;
- }
-
+ }
+
/* Special handling for the main schema:
* skip the location and relation logic and just parse the doc.
* We need just a bucket to be returned in this case.
- */
+ */
if ((type == XML_SCHEMA_SCHEMA_MAIN) || (! WXS_HAS_BUCKETS(pctxt)))
- goto doc_load;
+ goto doc_load;
- /* Note that we expect the location to be an absulute URI. */
+ /* Note that we expect the location to be an absulute URI. */
if (schemaLocation != NULL) {
bkt = xmlSchemaGetSchemaBucket(pctxt, schemaLocation);
if ((bkt != NULL) &&
(pctxt->constructor->bucket == bkt)) {
/* Report self-imports/inclusions/redefinitions. */
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt, err,
invokingNode, NULL,
"The schema must not import/include/redefine itself",
@@ -10320,7 +10341,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
*/
relation = xmlSchemaSchemaRelationCreate();
if (relation == NULL)
- return(-1);
+ return(-1);
xmlSchemaSchemaRelationAddChild(pctxt->constructor->bucket,
relation);
relation->type = type;
@@ -10329,7 +10350,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
* Save the namespace import information.
*/
if (WXS_IS_BUCKET_IMPMAIN(type)) {
- relation->importNamespace = importNamespace;
+ relation->importNamespace = importNamespace;
if (schemaLocation == NULL) {
/*
* No location; this is just an import of the namespace.
@@ -10342,32 +10363,48 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
}
/* Did we already fetch the doc? */
- if (bkt != NULL) {
- /* TODO: The following nasty cases will produce an error. */
+ if (bkt != NULL) {
if ((WXS_IS_BUCKET_IMPMAIN(type)) && (! bkt->imported)) {
- /* We included/redefined and then try to import a schema. */
- xmlSchemaCustomErr(ACTXT_CAST pctxt, err,
- invokingNode, NULL,
- "The schema document '%s' cannot be imported, since "
- "it was already included or redefined",
- schemaLocation, NULL);
- goto exit;
+ /*
+ * We included/redefined and then try to import a schema,
+ * but the new location provided for import was different.
+ */
+ if (schemaLocation == NULL)
+ schemaLocation = BAD_CAST "in_memory_buffer";
+ if (!xmlStrEqual(schemaLocation,
+ bkt->schemaLocation)) {
+ xmlSchemaCustomErr(ACTXT_CAST pctxt, err,
+ invokingNode, NULL,
+ "The schema document '%s' cannot be imported, since "
+ "it was already included or redefined",
+ schemaLocation, NULL);
+ goto exit;
+ }
} else if ((! WXS_IS_BUCKET_IMPMAIN(type)) && (bkt->imported)) {
- /* We imported and then try to include/redefine a schema. */
- xmlSchemaCustomErr(ACTXT_CAST pctxt, err,
- invokingNode, NULL,
- "The schema document '%s' cannot be included or "
- "redefined, since it was already imported",
- schemaLocation, NULL);
- goto exit;
- }
+ /*
+ * We imported and then try to include/redefine a schema,
+ * but the new location provided for the include/redefine
+ * was different.
+ */
+ if (schemaLocation == NULL)
+ schemaLocation = BAD_CAST "in_memory_buffer";
+ if (!xmlStrEqual(schemaLocation,
+ bkt->schemaLocation)) {
+ xmlSchemaCustomErr(ACTXT_CAST pctxt, err,
+ invokingNode, NULL,
+ "The schema document '%s' cannot be included or "
+ "redefined, since it was already imported",
+ schemaLocation, NULL);
+ goto exit;
+ }
+ }
}
-
+
if (WXS_IS_BUCKET_IMPMAIN(type)) {
/*
* Given that the schemaLocation [attribute] is only a hint, it is open
* to applications to ignore all but the first <import> for a given
- * namespace, regardless of the ·actual value· of schemaLocation, but
+ * namespace, regardless of the `actual value` of schemaLocation, but
* such a strategy risks missing useful information when new
* schemaLocations are offered.
*
@@ -10383,7 +10420,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
* 5 Attempt to resolve the namespace name to locate such a resource.
*
* NOTE: (3) and (5) are not supported.
- */
+ */
if (bkt != NULL) {
relation->bucket = bkt;
goto exit;
@@ -10391,7 +10428,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
bkt = xmlSchemaGetSchemaBucketByTNS(pctxt,
importNamespace, 1);
- if (bkt != NULL) {
+ if (bkt != NULL) {
relation->bucket = bkt;
if (bkt->schemaLocation == NULL) {
/* First given location of the schema; load the doc. */
@@ -10404,6 +10441,9 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
* URGENT TODO: We should report a warning here.
* res = XML_SCHEMAP_SRC_IMPORT;
*/
+ if (schemaLocation == NULL)
+ schemaLocation = BAD_CAST "in_memory_buffer";
+
xmlSchemaCustomWarning(ACTXT_CAST pctxt,
XML_SCHEMAP_WARN_SKIP_SCHEMA,
invokingNode, NULL,
@@ -10414,19 +10454,19 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
}
goto exit;
}
- }
- /*
+ }
+ /*
* No bucket + first location: load the doc and create a
* bucket.
*/
} else {
/* <include> and <redefine> */
if (bkt != NULL) {
-
+
if ((bkt->origTargetNamespace == NULL) &&
(bkt->targetNamespace != sourceTargetNamespace)) {
xmlSchemaBucketPtr chamel;
-
+
/*
* Chameleon include/redefine: skip loading only if it was
* aleady build for the targetNamespace of the including
@@ -10451,7 +10491,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
relation->bucket = chamel;
goto exit;
}
- /*
+ /*
* We need to parse the chameleon again for a different
* targetNamespace.
* CHAMELEON TODO: Optimize this by only parsing the
@@ -10462,7 +10502,7 @@ xmlSchemaAddSchemaDoc(xmlSchemaParserCtxtPtr pctxt,
} else {
relation->bucket = bkt;
goto exit;
- }
+ }
}
}
if ((bkt != NULL) && (bkt->doc != NULL)) {
@@ -10484,7 +10524,8 @@ doc_load:
if (schemaDoc->URL != NULL)
schemaLocation = xmlDictLookup(pctxt->dict,
schemaDoc->URL, -1);
-
+ else
+ schemaLocation = BAD_CAST "in_memory_buffer";
} else if ((schemaLocation != NULL) || (schemaBuffer != NULL)) {
xmlParserCtxtPtr parserCtxt;
@@ -10511,9 +10552,9 @@ doc_load:
/* Parse from memory buffer. */
doc = xmlCtxtReadMemory(parserCtxt, schemaBuffer, schemaBufferLen,
NULL, NULL, SCHEMAS_PARSE_OPTIONS);
- schemaLocation = xmlStrdup(BAD_CAST "in_memory_buffer");
+ schemaLocation = BAD_CAST "in_memory_buffer";
if (doc != NULL)
- doc->URL = schemaLocation;
+ doc->URL = xmlStrdup(schemaLocation);
}
/*
* For <import>:
@@ -10547,7 +10588,7 @@ doc_load:
xmlSchemaCustomErr(ACTXT_CAST pctxt, res,
invokingNode, NULL,
"Failed to parse the XML resource '%s'",
- schemaLocation, NULL);
+ schemaLocation, NULL);
}
}
xmlFreeParserCtxt(parserCtxt);
@@ -10567,11 +10608,11 @@ doc_load:
if (doc != NULL) {
xmlNodePtr docElem = NULL;
- located = 1;
+ located = 1;
docElem = xmlDocGetRootElement(doc);
if (docElem == NULL) {
xmlSchemaCustomErr(ACTXT_CAST pctxt, XML_SCHEMAP_NOROOT,
- invokingNode, NULL,
+ invokingNode, NULL,
"The document '%s' has no document element",
schemaLocation, NULL);
goto exit_error;
@@ -10590,14 +10631,14 @@ doc_load:
schemaLocation, NULL);
goto exit_error;
}
- /*
+ /*
* Note that we don't apply a type check for the
* targetNamespace value here.
*/
targetNamespace = xmlSchemaGetProp(pctxt, docElem,
"targetNamespace");
}
-
+
/* after_doc_loading: */
if ((bkt == NULL) && located) {
/* Only create a bucket if the schema was located. */
@@ -10624,14 +10665,14 @@ doc_load:
if (relation != NULL)
relation->bucket = bkt;
}
-
+
exit:
/*
* Return the bucket explicitely; this is needed for the
* main schema.
*/
if (bucket != NULL)
- *bucket = bkt;
+ *bucket = bkt;
return (0);
exit_error:
@@ -10647,7 +10688,7 @@ exit_failure:
xmlFreeDoc(doc);
if (bkt != NULL)
bkt->doc = NULL;
- }
+ }
return (-1);
}
@@ -10716,7 +10757,7 @@ xmlSchemaParseImport(xmlSchemaParserCtxtPtr pctxt, xmlSchemaPtr schema,
XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
NULL, node,
xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI),
- NULL, namespaceName, NULL, NULL, NULL);
+ NULL, schemaLocation, NULL, NULL, NULL);
return (pctxt->err);
}
/*
@@ -10747,8 +10788,8 @@ xmlSchemaParseImport(xmlSchemaParserCtxtPtr pctxt, xmlSchemaPtr schema,
thisTargetNamespace = WXS_BUCKET(pctxt)->origTargetNamespace;
if (namespaceName != NULL) {
/*
- * 1.1 If the namespace [attribute] is present, then its ·actual value·
- * must not match the ·actual value· of the enclosing <schema>'s
+ * 1.1 If the namespace [attribute] is present, then its `actual value`
+ * must not match the `actual value` of the enclosing <schema>'s
* targetNamespace [attribute].
*/
if (xmlStrEqual(thisTargetNamespace, namespaceName)) {
@@ -10802,11 +10843,11 @@ xmlSchemaParseImport(xmlSchemaParserCtxtPtr pctxt, xmlSchemaPtr schema,
"Failed to locate a schema at location '%s'. "
"Skipping the import", schemaLocation, NULL, NULL);
}
-
- if ((bucket != NULL) && CAN_PARSE_SCHEMA(bucket)) {
+
+ if ((bucket != NULL) && CAN_PARSE_SCHEMA(bucket)) {
ret = xmlSchemaParseNewDoc(pctxt, schema, bucket);
}
-
+
return (ret);
}
@@ -10888,7 +10929,7 @@ xmlSchemaParseIncludeOrRedefineAttrs(xmlSchemaParserCtxtPtr pctxt,
XML_SCHEMAP_SRC_REDEFINE,
NULL, node,
"The schema document '%s' cannot redefine itself.",
- *schemaLocation);
+ *schemaLocation);
} else {
xmlSchemaPCustomErr(pctxt,
XML_SCHEMAP_SRC_INCLUDE,
@@ -10898,7 +10939,7 @@ xmlSchemaParseIncludeOrRedefineAttrs(xmlSchemaParserCtxtPtr pctxt,
}
goto exit_error;
}
-
+
return(0);
exit_error:
return(pctxt->err);
@@ -10928,19 +10969,19 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
res = xmlSchemaParseIncludeOrRedefineAttrs(pctxt, schema,
node, (xmlChar **) (&schemaLocation), type);
if (res != 0)
- return(res);
+ return(res);
/*
* Load and add the schema document.
*/
res = xmlSchemaAddSchemaDoc(pctxt, type, schemaLocation, NULL,
NULL, 0, node, pctxt->targetNamespace, NULL, &bucket);
if (res != 0)
- return(res);
+ return(res);
/*
* If we get no schema bucket back, then this means that the schema
* document could not be located or was broken XML or was not
* a schema document.
- */
+ */
if ((bucket == NULL) || (bucket->doc == NULL)) {
if (type == XML_SCHEMA_SCHEMA_INCLUDE) {
/*
@@ -10949,7 +10990,7 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
* for inclusions, since the that was the feedback from the
* schema people. I.e. the following spec piece will *not* be
* satisfied:
- * SPEC src-include: "It is not an error for the ·actual value· of the
+ * SPEC src-include: "It is not an error for the `actual value` of the
* schemaLocation [attribute] to fail to resolve it all, in which
* case no corresponding inclusion is performed.
* So do we need a warning report here?"
@@ -10966,7 +11007,7 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
*
* SPEC src-redefine (1)
* "If there are any element information items among the [children]
- * other than <annotation> then the ·actual value· of the
+ * other than <annotation> then the `actual value` of the
* schemaLocation [attribute] must successfully resolve."
* TODO: Ask the WG if a the location has always to resolve
* here as well!
@@ -10982,13 +11023,13 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
* Check targetNamespace sanity before parsing the new schema.
* TODO: Note that we won't check further content if the
* targetNamespace was bad.
- */
- if (bucket->origTargetNamespace != NULL) {
+ */
+ if (bucket->origTargetNamespace != NULL) {
/*
* SPEC src-include (2.1)
- * "SII has a targetNamespace [attribute], and its ·actual
- * value· is identical to the ·actual value· of the targetNamespace
- * [attribute] of SII’ (which must have such an [attribute])."
+ * "SII has a targetNamespace [attribute], and its `actual
+ * value` is identical to the `actual value` of the targetNamespace
+ * [attribute] of SII' (which must have such an [attribute])."
*/
if (pctxt->targetNamespace == NULL) {
xmlSchemaCustomErr(ACTXT_CAST pctxt,
@@ -11012,28 +11053,29 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
pctxt->targetNamespace);
goto exit_error;
}
- } else if (pctxt->targetNamespace != NULL) {
+ } else if (pctxt->targetNamespace != NULL) {
/*
* Chameleons: the original target namespace will
* differ from the resulting namespace.
*/
isChameleon = 1;
if (bucket->parsed &&
- (bucket->targetNamespace != pctxt->targetNamespace)) {
- /*
- * This is a sanity check, I dunno yet if this can happen.
- */
- PERROR_INT("xmlSchemaParseIncludeOrRedefine",
- "trying to use an already parsed schema for a "
- "different targetNamespace");
- return(-1);
+ bucket->origTargetNamespace != NULL) {
+ xmlSchemaCustomErr(ACTXT_CAST pctxt,
+ XML_SCHEMAP_SRC_INCLUDE,
+ node, NULL,
+ "The target namespace of the included/redefined schema "
+ "'%s' has to be absent or the same as the "
+ "including/redefining schema's target namespace",
+ schemaLocation, NULL);
+ goto exit_error;
}
bucket->targetNamespace = pctxt->targetNamespace;
}
- }
+ }
/*
* Parse the schema.
- */
+ */
if (bucket && (!bucket->parsed) && (bucket->doc != NULL)) {
if (isChameleon) {
/* TODO: Get rid of this flag on the schema itself. */
@@ -11050,8 +11092,8 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
/*
* And now for the children...
*/
- child = node->children;
- if (type == XML_SCHEMA_SCHEMA_REDEFINE) {
+ child = node->children;
+ if (type == XML_SCHEMA_SCHEMA_REDEFINE) {
/*
* Parse (simpleType | complexType | group | attributeGroup))*
*/
@@ -11074,7 +11116,7 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
} else if (IS_SCHEMA(child, "complexType")) {
xmlSchemaParseComplexType(pctxt, schema, child, 1);
/* hasRedefinitions = 1; */
- } else if (IS_SCHEMA(child, "group")) {
+ } else if (IS_SCHEMA(child, "group")) {
/* hasRedefinitions = 1; */
xmlSchemaParseModelGroupDefinition(pctxt,
schema, child);
@@ -11094,7 +11136,7 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
*/
child = child->next;
}
- }
+ }
if (child != NULL) {
res = XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED;
if (type == XML_SCHEMA_SCHEMA_REDEFINE) {
@@ -11105,8 +11147,8 @@ xmlSchemaParseIncludeOrRedefine(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaPContentErr(pctxt, res,
NULL, node, child, NULL,
"(annotation?)");
- }
- }
+ }
+ }
return(res);
exit_error:
@@ -11156,7 +11198,7 @@ xmlSchemaParseInclude(xmlSchemaParserCtxtPtr pctxt, xmlSchemaPtr schema,
* Redefinition Constraints and Semantics (src-redefine)
* (6.1), (6.1.1), (6.1.2)
*
- * Schema Component Constraint:
+ * Schema Component Constraint:
* All Group Limited (cos-all-limited) (2)
* TODO: Actually this should go to component-level checks,
* but is done here due to performance. Move it to an other layer
@@ -11335,8 +11377,8 @@ xmlSchemaParseModelGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
/*
* SPEC src-redefine:
* (6.1) "If it has a <group> among its contents at
- * some level the ·actual value· of whose ref
- * [attribute] is the same as the ·actual value· of
+ * some level the `actual value` of whose ref
+ * [attribute] is the same as the `actual value` of
* its own name attribute plus target namespace, then
* all of the following must be true:"
* (6.1.1) "It must have exactly one such group."
@@ -11361,9 +11403,9 @@ xmlSchemaParseModelGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
xmlChar *str = NULL;
/*
* SPEC src-redefine:
- * (6.1.2) "The ·actual value· of both that
+ * (6.1.2) "The `actual value` of both that
* group's minOccurs and maxOccurs [attribute]
- * must be 1 (or ·absent·).
+ * must be 1 (or `absent`).
*/
xmlSchemaCustomErr(ACTXT_CAST ctxt,
XML_SCHEMAP_SRC_REDEFINE, child, NULL,
@@ -11380,7 +11422,7 @@ xmlSchemaParseModelGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
}
ctxt->redef->reference = WXS_BASIC_CAST part;
ctxt->redefCounter++;
- }
+ }
}
} else if (IS_SCHEMA(child, "any")) {
part = (xmlSchemaTreeItemPtr)
@@ -11417,7 +11459,7 @@ xmlSchemaParseModelGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
WXS_ADD_PENDING(ctxt, item);
}
if (withParticle)
- return ((xmlSchemaTreeItemPtr) particle);
+ return ((xmlSchemaTreeItemPtr) particle);
else
return ((xmlSchemaTreeItemPtr) item);
}
@@ -11469,7 +11511,7 @@ xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
*/
xmlSchemaPValAttrID(ctxt, node, BAD_CAST "id");
/*
- * Attribute
+ * Attribute
*/
/*
* Extract the base type. The "base" attribute is mandatory if inside
@@ -11477,8 +11519,8 @@ xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
*
* SPEC (1.2) "...otherwise (<restriction> has no <simpleType> "
* among its [children]), the simple type definition which is
- * the {content type} of the type definition ·resolved· to by
- * the ·actual value· of the base [attribute]"
+ * the {content type} of the type definition `resolved` to by
+ * the `actual value` of the base [attribute]"
*/
if (xmlSchemaPValAttrQName(ctxt, schema, NULL, node, "base",
&(type->baseNs), &(type->base)) == 0)
@@ -11501,8 +11543,8 @@ xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
/*
* REDEFINE: SPEC src-redefine (5)
* "Within the [children], each <simpleType> must have a
- * <restriction> among its [children] ... the ·actual value· of
- * whose base [attribute] must be the same as the ·actual value·
+ * <restriction> among its [children] ... the `actual value` of
+ * whose base [attribute] must be the same as the `actual value`
* of its own name attribute plus target namespace;"
*/
xmlSchemaPCustomErrExt(ctxt, XML_SCHEMAP_SRC_REDEFINE,
@@ -11518,7 +11560,7 @@ xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
type->base = NULL;
type->baseNs = NULL;
}
- }
+ }
}
/*
* And now for the children...
@@ -11585,7 +11627,7 @@ xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
/*
* Model group reference <group>.
*/
- } else if (IS_SCHEMA(child, "group")) {
+ } else if (IS_SCHEMA(child, "group")) {
type->subtypes = (xmlSchemaTypePtr)
xmlSchemaParseModelGroupDefRef(ctxt, schema, child);
/*
@@ -11923,13 +11965,13 @@ xmlSchemaParseSimpleContent(xmlSchemaParserCtxtPtr ctxt,
xmlSchemaPContentErr(ctxt,
XML_SCHEMAP_S4S_ELEM_MISSING,
NULL, node, NULL, NULL,
- "(annotation?, (restriction | extension))");
+ "(annotation?, (restriction | extension))");
}
if (child == NULL) {
xmlSchemaPContentErr(ctxt,
XML_SCHEMAP_S4S_ELEM_MISSING,
NULL, node, NULL, NULL,
- "(annotation?, (restriction | extension))");
+ "(annotation?, (restriction | extension))");
}
if (IS_SCHEMA(child, "restriction")) {
xmlSchemaParseRestriction(ctxt, schema, child,
@@ -12086,7 +12128,7 @@ xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
} else if (xmlSchemaPValAttrNode(ctxt, NULL, attr,
xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0) {
return (NULL);
- }
+ }
}
if (topLevel == 0) {
@@ -12175,7 +12217,7 @@ xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
NULL, (xmlNodePtr) attr, NULL,
"(#all | List of (extension | restriction))",
attrValue, NULL, NULL, NULL);
- } else
+ } else
final = 1;
} else if (xmlStrEqual(attr->name, BAD_CAST "block")) {
/*
@@ -12193,7 +12235,7 @@ xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
NULL, (xmlNodePtr) attr, NULL,
"(#all | List of (extension | restriction)) ",
attrValue, NULL, NULL, NULL);
- } else
+ } else
block = 1;
} else {
xmlSchemaPIllegalAttrErr(ctxt,
@@ -12204,7 +12246,7 @@ xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, NULL, attr);
}
} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
- xmlSchemaPIllegalAttrErr(ctxt,
+ xmlSchemaPIllegalAttrErr(ctxt,
XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, NULL, attr);
}
attr = attr->next;
@@ -12263,7 +12305,7 @@ xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
* SPEC
* "...the third alternative (neither <simpleContent> nor
* <complexContent>) is chosen. This case is understood as shorthand
- * for complex content restricting the ·ur-type definition·, and the
+ * for complex content restricting the `ur-type definition`, and the
* details of the mappings should be modified as necessary.
*/
type->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
@@ -12332,15 +12374,15 @@ xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
}
/************************************************************************
- * *
- * Validating using Schemas *
- * *
+ * *
+ * Validating using Schemas *
+ * *
************************************************************************/
/************************************************************************
- * *
- * Reading/Writing Schemas *
- * *
+ * *
+ * Reading/Writing Schemas *
+ * *
************************************************************************/
#if 0 /* Will be enabled if it is clear what options are needed. */
@@ -12440,7 +12482,7 @@ xmlSchemaNewMemParserCtxt(const char *buffer, int size)
return(NULL);
ret->buffer = buffer;
ret->size = size;
- ret->dict = xmlDictCreate();
+ ret->dict = xmlDictCreate();
return (ret);
}
@@ -12483,7 +12525,7 @@ xmlSchemaFreeParserCtxt(xmlSchemaParserCtxtPtr ctxt)
if (ctxt == NULL)
return;
if (ctxt->doc != NULL && !ctxt->preserve)
- xmlFreeDoc(ctxt->doc);
+ xmlFreeDoc(ctxt->doc);
if (ctxt->vctxt != NULL) {
xmlSchemaFreeValidCtxt(ctxt->vctxt);
}
@@ -12504,7 +12546,12 @@ xmlSchemaFreeParserCtxt(xmlSchemaParserCtxtPtr ctxt)
* *
************************************************************************/
-static void
+/**
+ * xmlSchemaBuildContentModelForSubstGroup:
+ *
+ * Returns 1 if nillable, 0 otherwise
+ */
+static int
xmlSchemaBuildContentModelForSubstGroup(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaParticlePtr particle, int counter, xmlAutomataStatePtr end)
{
@@ -12512,6 +12559,7 @@ xmlSchemaBuildContentModelForSubstGroup(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaElementPtr elemDecl, member;
xmlSchemaSubstGroupPtr substGroup;
int i;
+ int ret = 0;
elemDecl = (xmlSchemaElementPtr) particle->children;
/*
@@ -12527,7 +12575,7 @@ xmlSchemaBuildContentModelForSubstGroup(xmlSchemaParserCtxtPtr pctxt,
"Internal error: xmlSchemaBuildContentModelForSubstGroup, "
"declaration is marked having a subst. group but none "
"available.\n", elemDecl->name, NULL);
- return;
+ return(0);
}
if (counter >= 0) {
/*
@@ -12565,7 +12613,7 @@ xmlSchemaBuildContentModelForSubstGroup(xmlSchemaParserCtxtPtr pctxt,
* was incorrectly used instead of xmlAutomataNewTransition2()
* (seems like a copy&paste bug from the XML_SCHEMA_TYPE_ALL
* section in xmlSchemaBuildAContentModel() ).
- * TODO: Check if xmlAutomataNewOnceTrans2() was instead
+ * TODO: Check if xmlAutomataNewOnceTrans2() was instead
* intended for the above "counter" section originally. I.e.,
* check xs:all with subst-groups.
*
@@ -12574,7 +12622,7 @@ xmlSchemaBuildContentModelForSubstGroup(xmlSchemaParserCtxtPtr pctxt,
* 1, 1, member);
*/
tmp = xmlAutomataNewTransition2(pctxt->am, start, NULL,
- member->name, member->targetNamespace, member);
+ member->name, member->targetNamespace, member);
xmlAutomataNewEpsilon(pctxt->am, tmp, end);
}
} else {
@@ -12607,21 +12655,31 @@ xmlSchemaBuildContentModelForSubstGroup(xmlSchemaParserCtxtPtr pctxt,
xmlAutomataNewCountedTrans(pctxt->am, hop, start, counter);
xmlAutomataNewCounterTrans(pctxt->am, hop, end, counter);
}
- if (particle->minOccurs == 0)
+ if (particle->minOccurs == 0) {
xmlAutomataNewEpsilon(pctxt->am, start, end);
+ ret = 1;
+ }
pctxt->state = end;
+ return(ret);
}
-static void
+/**
+ * xmlSchemaBuildContentModelForElement:
+ *
+ * Returns 1 if nillable, 0 otherwise
+ */
+static int
xmlSchemaBuildContentModelForElement(xmlSchemaParserCtxtPtr ctxt,
xmlSchemaParticlePtr particle)
{
+ int ret = 0;
+
if (((xmlSchemaElementPtr) particle->children)->flags &
XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD) {
/*
* Substitution groups.
*/
- xmlSchemaBuildContentModelForSubstGroup(ctxt, particle, -1, NULL);
+ ret = xmlSchemaBuildContentModelForSubstGroup(ctxt, particle, -1, NULL);
} else {
xmlSchemaElementPtr elemDecl;
xmlAutomataStatePtr start;
@@ -12629,7 +12687,7 @@ xmlSchemaBuildContentModelForElement(xmlSchemaParserCtxtPtr ctxt,
elemDecl = (xmlSchemaElementPtr) particle->children;
if (elemDecl->flags & XML_SCHEMAS_ELEM_ABSTRACT)
- return;
+ return(0);
if (particle->maxOccurs == 1) {
start = ctxt->state;
ctxt->state = xmlAutomataNewTransition2(ctxt->am, start, NULL,
@@ -12637,11 +12695,11 @@ xmlSchemaBuildContentModelForElement(xmlSchemaParserCtxtPtr ctxt,
} else if ((particle->maxOccurs >= UNBOUNDED) &&
(particle->minOccurs < 2)) {
/* Special case. */
- start = ctxt->state;
+ start = ctxt->state;
ctxt->state = xmlAutomataNewTransition2(ctxt->am, start, NULL,
- elemDecl->name, elemDecl->targetNamespace, elemDecl);
+ elemDecl->name, elemDecl->targetNamespace, elemDecl);
ctxt->state = xmlAutomataNewTransition2(ctxt->am, ctxt->state, ctxt->state,
- elemDecl->name, elemDecl->targetNamespace, elemDecl);
+ elemDecl->name, elemDecl->targetNamespace, elemDecl);
} else {
int counter;
int maxOccurs = particle->maxOccurs == UNBOUNDED ?
@@ -12657,9 +12715,12 @@ xmlSchemaBuildContentModelForElement(xmlSchemaParserCtxtPtr ctxt,
ctxt->state = xmlAutomataNewCounterTrans(ctxt->am, ctxt->state,
NULL, counter);
}
- if (particle->minOccurs == 0)
+ if (particle->minOccurs == 0) {
xmlAutomataNewEpsilon(ctxt->am, start, ctxt->state);
+ ret = 1;
+ }
}
+ return(ret);
}
/**
@@ -12670,21 +12731,24 @@ xmlSchemaBuildContentModelForElement(xmlSchemaParserCtxtPtr ctxt,
*
* Create the automaton for the {content type} of a complex type.
*
+ * Returns 1 if the content is nillable, 0 otherwise
*/
-static void
+static int
xmlSchemaBuildAContentModel(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaParticlePtr particle)
{
+ int ret = 0, tmp2;
+
if (particle == NULL) {
- PERROR_INT("xmlSchemaBuildAContentModel", "particle is NULL");
- return;
+ PERROR_INT("xmlSchemaBuildAContentModel", "particle is NULL");
+ return(1);
}
if (particle->children == NULL) {
/*
* Just return in this case. A missing "term" of the particle
* might arise due to an invalid "term" component.
*/
- return;
+ return(1);
}
switch (particle->children->type) {
@@ -12736,7 +12800,8 @@ xmlSchemaBuildAContentModel(xmlSchemaParserCtxtPtr pctxt,
int counter;
xmlAutomataStatePtr hop;
int maxOccurs =
- particle->maxOccurs == UNBOUNDED ? UNBOUNDED : particle->maxOccurs - 1;
+ particle->maxOccurs == UNBOUNDED ? UNBOUNDED :
+ particle->maxOccurs - 1;
int minOccurs =
particle->minOccurs < 1 ? 0 : particle->minOccurs - 1;
@@ -12771,243 +12836,282 @@ xmlSchemaBuildAContentModel(xmlSchemaParserCtxtPtr pctxt,
}
if (particle->minOccurs == 0) {
xmlAutomataNewEpsilon(pctxt->am, start, end);
+ ret = 1;
}
pctxt->state = end;
break;
}
case XML_SCHEMA_TYPE_ELEMENT:
- xmlSchemaBuildContentModelForElement(pctxt, particle);
+ ret = xmlSchemaBuildContentModelForElement(pctxt, particle);
break;
case XML_SCHEMA_TYPE_SEQUENCE:{
- xmlSchemaTreeItemPtr sub;
+ xmlSchemaTreeItemPtr sub;
- /*
- * If max and min occurances are default (1) then
- * simply iterate over the particles of the <sequence>.
- */
- if ((particle->minOccurs == 1) && (particle->maxOccurs == 1)) {
- sub = particle->children->children;
- while (sub != NULL) {
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
- sub = sub->next;
- }
- } else {
- xmlAutomataStatePtr oldstate = pctxt->state;
-
- if (particle->maxOccurs >= UNBOUNDED) {
- if (particle->minOccurs > 1) {
- xmlAutomataStatePtr tmp;
- int counter;
-
- pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
- oldstate, NULL);
- oldstate = pctxt->state;
+ ret = 1;
+ /*
+ * If max and min occurances are default (1) then
+ * simply iterate over the particles of the <sequence>.
+ */
+ if ((particle->minOccurs == 1) && (particle->maxOccurs == 1)) {
+ sub = particle->children->children;
- counter = xmlAutomataNewCounter(pctxt->am,
- particle->minOccurs - 1, UNBOUNDED);
+ while (sub != NULL) {
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 != 1) ret = 0;
+ sub = sub->next;
+ }
+ } else {
+ xmlAutomataStatePtr oldstate = pctxt->state;
- sub = particle->children->children;
- while (sub != NULL) {
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
- sub = sub->next;
- }
- tmp = pctxt->state;
- xmlAutomataNewCountedTrans(pctxt->am, tmp,
- oldstate, counter);
- pctxt->state =
- xmlAutomataNewCounterTrans(pctxt->am, tmp,
- NULL, counter);
-
- } else {
- pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
- oldstate, NULL);
- oldstate = pctxt->state;
-
- sub = particle->children->children;
- while (sub != NULL) {
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
- sub = sub->next;
- }
- xmlAutomataNewEpsilon(pctxt->am, pctxt->state,
- oldstate);
- /*
- * epsilon needed to block previous trans from
- * being allowed to enter back from another
- * construct
- */
- pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
- pctxt->state, NULL);
- if (particle->minOccurs == 0) {
- xmlAutomataNewEpsilon(pctxt->am,
- oldstate, pctxt->state);
- }
- }
- } else if ((particle->maxOccurs > 1)
- || (particle->minOccurs > 1)) {
+ if (particle->maxOccurs >= UNBOUNDED) {
+ if (particle->minOccurs > 1) {
xmlAutomataStatePtr tmp;
int counter;
pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
- oldstate, NULL);
+ oldstate, NULL);
oldstate = pctxt->state;
counter = xmlAutomataNewCounter(pctxt->am,
- particle->minOccurs - 1,
- particle->maxOccurs - 1);
+ particle->minOccurs - 1, UNBOUNDED);
sub = particle->children->children;
while (sub != NULL) {
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 != 1) ret = 0;
sub = sub->next;
}
tmp = pctxt->state;
- xmlAutomataNewCountedTrans(pctxt->am,
- tmp, oldstate, counter);
+ xmlAutomataNewCountedTrans(pctxt->am, tmp,
+ oldstate, counter);
pctxt->state =
- xmlAutomataNewCounterTrans(pctxt->am, tmp, NULL,
- counter);
- if (particle->minOccurs == 0) {
+ xmlAutomataNewCounterTrans(pctxt->am, tmp,
+ NULL, counter);
+ if (ret == 1)
xmlAutomataNewEpsilon(pctxt->am,
- oldstate, pctxt->state);
- }
+ oldstate, pctxt->state);
+
} else {
+ pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
+ oldstate, NULL);
+ oldstate = pctxt->state;
+
sub = particle->children->children;
while (sub != NULL) {
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 != 1) ret = 0;
sub = sub->next;
}
+ xmlAutomataNewEpsilon(pctxt->am, pctxt->state,
+ oldstate);
+ /*
+ * epsilon needed to block previous trans from
+ * being allowed to enter back from another
+ * construct
+ */
+ pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
+ pctxt->state, NULL);
if (particle->minOccurs == 0) {
- xmlAutomataNewEpsilon(pctxt->am, oldstate,
- pctxt->state);
+ xmlAutomataNewEpsilon(pctxt->am,
+ oldstate, pctxt->state);
+ ret = 1;
}
}
- }
- break;
- }
- case XML_SCHEMA_TYPE_CHOICE:{
- xmlSchemaTreeItemPtr sub;
- xmlAutomataStatePtr start, end;
+ } else if ((particle->maxOccurs > 1)
+ || (particle->minOccurs > 1)) {
+ xmlAutomataStatePtr tmp;
+ int counter;
- start = pctxt->state;
- end = xmlAutomataNewState(pctxt->am);
+ pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
+ oldstate, NULL);
+ oldstate = pctxt->state;
- /*
- * iterate over the subtypes and remerge the end with an
- * epsilon transition
- */
- if (particle->maxOccurs == 1) {
- sub = particle->children->children;
+ counter = xmlAutomataNewCounter(pctxt->am,
+ particle->minOccurs - 1,
+ particle->maxOccurs - 1);
+
+ sub = particle->children->children;
while (sub != NULL) {
- pctxt->state = start;
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
- xmlAutomataNewEpsilon(pctxt->am, pctxt->state, end);
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 != 1) ret = 0;
sub = sub->next;
}
+ tmp = pctxt->state;
+ xmlAutomataNewCountedTrans(pctxt->am,
+ tmp, oldstate, counter);
+ pctxt->state =
+ xmlAutomataNewCounterTrans(pctxt->am, tmp, NULL,
+ counter);
+ if ((particle->minOccurs == 0) || (ret == 1)) {
+ xmlAutomataNewEpsilon(pctxt->am,
+ oldstate, pctxt->state);
+ ret = 1;
+ }
} else {
- int counter;
- xmlAutomataStatePtr hop, base;
- int maxOccurs = particle->maxOccurs == UNBOUNDED ?
- UNBOUNDED : particle->maxOccurs - 1;
- int minOccurs =
- particle->minOccurs < 1 ? 0 : particle->minOccurs - 1;
-
- /*
- * use a counter to keep track of the number of transtions
- * which went through the choice.
- */
- counter =
- xmlAutomataNewCounter(pctxt->am, minOccurs, maxOccurs);
- hop = xmlAutomataNewState(pctxt->am);
- base = xmlAutomataNewState(pctxt->am);
-
- sub = particle->children->children;
+ sub = particle->children->children;
while (sub != NULL) {
- pctxt->state = base;
- xmlSchemaBuildAContentModel(pctxt,
- (xmlSchemaParticlePtr) sub);
- xmlAutomataNewEpsilon(pctxt->am, pctxt->state, hop);
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 != 1) ret = 0;
sub = sub->next;
}
- xmlAutomataNewEpsilon(pctxt->am, start, base);
- xmlAutomataNewCountedTrans(pctxt->am, hop, base, counter);
- xmlAutomataNewCounterTrans(pctxt->am, hop, end, counter);
- }
- if (particle->minOccurs == 0) {
- xmlAutomataNewEpsilon(pctxt->am, start, end);
+
+ /*
+ * epsilon needed to block previous trans from
+ * being allowed to enter back from another
+ * construct
+ */
+ pctxt->state = xmlAutomataNewEpsilon(pctxt->am,
+ pctxt->state, NULL);
+
+ if (particle->minOccurs == 0) {
+ xmlAutomataNewEpsilon(pctxt->am, oldstate,
+ pctxt->state);
+ ret = 1;
+ }
}
- pctxt->state = end;
- break;
}
- case XML_SCHEMA_TYPE_ALL:{
- xmlAutomataStatePtr start;
- xmlSchemaParticlePtr sub;
- xmlSchemaElementPtr elemDecl;
- int lax;
-
- sub = (xmlSchemaParticlePtr) particle->children->children;
- if (sub == NULL)
- break;
- start = pctxt->state;
+ break;
+ }
+ case XML_SCHEMA_TYPE_CHOICE:{
+ xmlSchemaTreeItemPtr sub;
+ xmlAutomataStatePtr start, end;
+
+ ret = 0;
+ start = pctxt->state;
+ end = xmlAutomataNewState(pctxt->am);
+
+ /*
+ * iterate over the subtypes and remerge the end with an
+ * epsilon transition
+ */
+ if (particle->maxOccurs == 1) {
+ sub = particle->children->children;
while (sub != NULL) {
pctxt->state = start;
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 == 1) ret = 1;
+ xmlAutomataNewEpsilon(pctxt->am, pctxt->state, end);
+ sub = sub->next;
+ }
+ } else {
+ int counter;
+ xmlAutomataStatePtr hop, base;
+ int maxOccurs = particle->maxOccurs == UNBOUNDED ?
+ UNBOUNDED : particle->maxOccurs - 1;
+ int minOccurs =
+ particle->minOccurs < 1 ? 0 : particle->minOccurs - 1;
- elemDecl = (xmlSchemaElementPtr) sub->children;
- if (elemDecl == NULL) {
- PERROR_INT("xmlSchemaBuildAContentModel",
- "<element> particle has no term");
- return;
- };
- /*
- * NOTE: The {max occurs} of all the particles in the
- * {particles} of the group must be 0 or 1; this is
- * already ensured during the parse of the content of
- * <all>.
- */
- if (elemDecl->flags & XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD) {
- int counter;
-
- /*
- * This is an abstract group, we need to share
- * the same counter for all the element transitions
- * derived from the group
- */
- counter = xmlAutomataNewCounter(pctxt->am,
- sub->minOccurs, sub->maxOccurs);
- xmlSchemaBuildContentModelForSubstGroup(pctxt,
- sub, counter, pctxt->state);
- } else {
- if ((sub->minOccurs == 1) &&
- (sub->maxOccurs == 1)) {
- xmlAutomataNewOnceTrans2(pctxt->am, pctxt->state,
- pctxt->state,
- elemDecl->name,
- elemDecl->targetNamespace,
- 1, 1, elemDecl);
- } else if ((sub->minOccurs == 0) &&
- (sub->maxOccurs == 1)) {
-
- xmlAutomataNewCountTrans2(pctxt->am, pctxt->state,
- pctxt->state,
- elemDecl->name,
- elemDecl->targetNamespace,
- 0,
- 1,
- elemDecl);
- }
- }
- sub = (xmlSchemaParticlePtr) sub->next;
+ /*
+ * use a counter to keep track of the number of transtions
+ * which went through the choice.
+ */
+ counter =
+ xmlAutomataNewCounter(pctxt->am, minOccurs, maxOccurs);
+ hop = xmlAutomataNewState(pctxt->am);
+ base = xmlAutomataNewState(pctxt->am);
+
+ sub = particle->children->children;
+ while (sub != NULL) {
+ pctxt->state = base;
+ tmp2 = xmlSchemaBuildAContentModel(pctxt,
+ (xmlSchemaParticlePtr) sub);
+ if (tmp2 == 1) ret = 1;
+ xmlAutomataNewEpsilon(pctxt->am, pctxt->state, hop);
+ sub = sub->next;
}
- lax = particle->minOccurs == 0;
- pctxt->state =
- xmlAutomataNewAllTrans(pctxt->am, pctxt->state, NULL, lax);
+ xmlAutomataNewEpsilon(pctxt->am, start, base);
+ xmlAutomataNewCountedTrans(pctxt->am, hop, base, counter);
+ xmlAutomataNewCounterTrans(pctxt->am, hop, end, counter);
+ if (ret == 1)
+ xmlAutomataNewEpsilon(pctxt->am, base, end);
+ }
+ if (particle->minOccurs == 0) {
+ xmlAutomataNewEpsilon(pctxt->am, start, end);
+ ret = 1;
+ }
+ pctxt->state = end;
+ break;
+ }
+ case XML_SCHEMA_TYPE_ALL:{
+ xmlAutomataStatePtr start, tmp;
+ xmlSchemaParticlePtr sub;
+ xmlSchemaElementPtr elemDecl;
+
+ ret = 1;
+
+ sub = (xmlSchemaParticlePtr) particle->children->children;
+ if (sub == NULL)
break;
+
+ ret = 0;
+
+ start = pctxt->state;
+ tmp = xmlAutomataNewState(pctxt->am);
+ xmlAutomataNewEpsilon(pctxt->am, pctxt->state, tmp);
+ pctxt->state = tmp;
+ while (sub != NULL) {
+ pctxt->state = tmp;
+
+ elemDecl = (xmlSchemaElementPtr) sub->children;
+ if (elemDecl == NULL) {
+ PERROR_INT("xmlSchemaBuildAContentModel",
+ "<element> particle has no term");
+ return(ret);
+ };
+ /*
+ * NOTE: The {max occurs} of all the particles in the
+ * {particles} of the group must be 0 or 1; this is
+ * already ensured during the parse of the content of
+ * <all>.
+ */
+ if (elemDecl->flags & XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD) {
+ int counter;
+
+ /*
+ * This is an abstract group, we need to share
+ * the same counter for all the element transitions
+ * derived from the group
+ */
+ counter = xmlAutomataNewCounter(pctxt->am,
+ sub->minOccurs, sub->maxOccurs);
+ xmlSchemaBuildContentModelForSubstGroup(pctxt,
+ sub, counter, pctxt->state);
+ } else {
+ if ((sub->minOccurs == 1) &&
+ (sub->maxOccurs == 1)) {
+ xmlAutomataNewOnceTrans2(pctxt->am, pctxt->state,
+ pctxt->state,
+ elemDecl->name,
+ elemDecl->targetNamespace,
+ 1, 1, elemDecl);
+ } else if ((sub->minOccurs == 0) &&
+ (sub->maxOccurs == 1)) {
+
+ xmlAutomataNewCountTrans2(pctxt->am, pctxt->state,
+ pctxt->state,
+ elemDecl->name,
+ elemDecl->targetNamespace,
+ 0,
+ 1,
+ elemDecl);
+ }
+ }
+ sub = (xmlSchemaParticlePtr) sub->next;
+ }
+ pctxt->state =
+ xmlAutomataNewAllTrans(pctxt->am, pctxt->state, NULL, 0);
+ if (particle->minOccurs == 0) {
+ xmlAutomataNewEpsilon(pctxt->am, start, pctxt->state);
+ ret = 1;
}
+ break;
+ }
case XML_SCHEMA_TYPE_GROUP:
/*
* If we hit a model group definition, then this means that
@@ -13016,14 +13120,16 @@ xmlSchemaBuildAContentModel(xmlSchemaParserCtxtPtr pctxt,
* TODO: But the group should be substituted and not occur at
* all in the content model at this point. Fix this.
*/
+ ret = 1;
break;
default:
xmlSchemaInternalErr2(ACTXT_CAST pctxt,
"xmlSchemaBuildAContentModel",
"found unexpected term of type '%s' in content model",
WXS_ITEM_TYPE_NAME(particle->children), NULL);
- return;
+ return(ret);
}
+ return(ret);
}
/**
@@ -13107,8 +13213,8 @@ xmlSchemaResolveElementReferences(xmlSchemaElementPtr elemDecl,
if ((elemDecl->subtypes == NULL) && (elemDecl->namedType != NULL)) {
xmlSchemaTypePtr type;
- /* (type definition) ... otherwise the type definition ·resolved·
- * to by the ·actual value· of the type [attribute] ...
+ /* (type definition) ... otherwise the type definition `resolved`
+ * to by the `actual value` of the type [attribute] ...
*/
type = xmlSchemaGetType(ctxt->schema, elemDecl->namedType,
elemDecl->namedTypeNs);
@@ -13146,7 +13252,7 @@ xmlSchemaResolveElementReferences(xmlSchemaElementPtr elemDecl,
/*
* The type definitions is set to:
* SPEC "...the {type definition} of the element
- * declaration ·resolved· to by the ·actual value·
+ * declaration `resolved` to by the `actual value`
* of the substitutionGroup [attribute], if present"
*/
if (elemDecl->subtypes == NULL)
@@ -13184,8 +13290,8 @@ xmlSchemaResolveUnionMemberTypes(xmlSchemaParserCtxtPtr ctxt,
/*
* SPEC (1) "If the <union> alternative is chosen, then [Definition:]
- * define the explicit members as the type definitions ·resolved·
- * to by the items in the ·actual value· of the memberTypes [attribute],
+ * define the explicit members as the type definitions `resolved`
+ * to by the items in the `actual value` of the memberTypes [attribute],
* if any, followed by the type definitions corresponding to the
* <simpleType>s among the [children] of <union>, if any."
*/
@@ -13298,7 +13404,6 @@ xmlSchemaIsUserDerivedFromBuiltInType(xmlSchemaTypePtr type, int valType)
return (0);
}
-#endif
static xmlSchemaTypePtr
xmlSchemaQueryBuiltInType(xmlSchemaTypePtr type)
@@ -13311,6 +13416,7 @@ xmlSchemaQueryBuiltInType(xmlSchemaTypePtr type)
return(type);
return(xmlSchemaQueryBuiltInType(type->subtypes));
}
+#endif
/**
* xmlSchemaGetPrimitiveType:
@@ -13480,7 +13586,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
return (0);
}
/*
- * 3 If both O1 and O2 are sets of (namespace names or ·absent·),
+ * 3 If both O1 and O2 are sets of (namespace names or `absent`),
* then the union of those sets must be the value.
*/
if ((completeWild->nsSet != NULL) && (curWild->nsSet != NULL)) {
@@ -13514,7 +13620,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
}
/*
* 4 If the two are negations of different values (namespace names
- * or ·absent·), then a pair of not and ·absent· must be the value.
+ * or `absent`), then a pair of not and `absent` must be the value.
*/
if ((completeWild->negNsSet != NULL) &&
(curWild->negNsSet != NULL) &&
@@ -13556,7 +13662,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
if (nsFound && absentFound) {
/*
* 5.1 If the set S includes both the negated namespace
- * name and ·absent·, then any must be the value.
+ * name and `absent`, then any must be the value.
*/
completeWild->any = 1;
if (completeWild->nsSet != NULL) {
@@ -13570,7 +13676,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
} else if (nsFound && (!absentFound)) {
/*
* 5.2 If the set S includes the negated namespace name
- * but not ·absent·, then a pair of not and ·absent· must
+ * but not `absent`, then a pair of not and `absent` must
* be the value.
*/
if (completeWild->nsSet != NULL) {
@@ -13585,7 +13691,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
completeWild->negNsSet->value = NULL;
} else if ((!nsFound) && absentFound) {
/*
- * 5.3 If the set S includes ·absent· but not the negated
+ * 5.3 If the set S includes `absent` but not the negated
* namespace name, then the union is not expressible.
*/
xmlSchemaPErr(ctxt, completeWild->node,
@@ -13596,7 +13702,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
} else if ((!nsFound) && (!absentFound)) {
/*
* 5.4 If the set S does not include either the negated namespace
- * name or ·absent·, then whichever of O1 or O2 is a pair of not
+ * name or `absent`, then whichever of O1 or O2 is a pair of not
* and a namespace name must be the value.
*/
if (completeWild->negNsSet == NULL) {
@@ -13630,7 +13736,7 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
while (cur != NULL) {
if (cur->value == NULL) {
/*
- * 6.1 If the set S includes ·absent·, then any must be the
+ * 6.1 If the set S includes `absent`, then any must be the
* value.
*/
completeWild->any = 1;
@@ -13648,8 +13754,8 @@ xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt,
}
if (completeWild->negNsSet == NULL) {
/*
- * 6.2 If the set S does not include ·absent·, then a pair of not
- * and ·absent· must be the value.
+ * 6.2 If the set S does not include `absent`, then a pair of not
+ * and `absent` must be the value.
*/
if (completeWild->nsSet != NULL) {
xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
@@ -13732,9 +13838,9 @@ xmlSchemaIntersectWildcards(xmlSchemaParserCtxtPtr ctxt,
}
/*
* 3 If either O1 or O2 is a pair of not and a value (a namespace
- * name or ·absent·) and the other is a set of (namespace names or
- * ·absent·), then that set, minus the negated value if it was in
- * the set, minus ·absent· if it was in the set, must be the value.
+ * name or `absent`) and the other is a set of (namespace names or
+ * `absent`), then that set, minus the negated value if it was in
+ * the set, minus `absent` if it was in the set, must be the value.
*/
if (((completeWild->negNsSet != NULL) && (curWild->nsSet != NULL)) ||
((curWild->negNsSet != NULL) && (completeWild->nsSet != NULL))) {
@@ -13783,7 +13889,7 @@ xmlSchemaIntersectWildcards(xmlSchemaParserCtxtPtr ctxt,
return(0);
}
/*
- * 4 If both O1 and O2 are sets of (namespace names or ·absent·),
+ * 4 If both O1 and O2 are sets of (namespace names or `absent`),
* then the intersection of those sets must be the value.
*/
if ((completeWild->nsSet != NULL) && (curWild->nsSet != NULL)) {
@@ -13833,7 +13939,7 @@ xmlSchemaIntersectWildcards(xmlSchemaParserCtxtPtr ctxt,
}
/*
* 6 If the one is a negation of a namespace name and the other
- * is a negation of ·absent·, then the one which is the negation
+ * is a negation of `absent`, then the one which is the negation
* of a namespace name must be the value.
*/
if ((completeWild->negNsSet != NULL) && (curWild->negNsSet != NULL) &&
@@ -13865,15 +13971,15 @@ xmlSchemaCheckCOSNSSubset(xmlSchemaWildcardPtr sub,
if (super->any)
return (0);
/*
- * 2.1 sub must be a pair of not and a namespace name or ·absent·.
+ * 2.1 sub must be a pair of not and a namespace name or `absent`.
* 2.2 super must be a pair of not and the same value.
*/
if ((sub->negNsSet != NULL) &&
(super->negNsSet != NULL) &&
- (sub->negNsSet->value == sub->negNsSet->value))
+ (sub->negNsSet->value == super->negNsSet->value))
return (0);
/*
- * 3.1 sub must be a set whose members are either namespace names or ·absent·.
+ * 3.1 sub must be a set whose members are either namespace names or `absent`.
*/
if (sub->nsSet != NULL) {
/*
@@ -13904,7 +14010,7 @@ xmlSchemaCheckCOSNSSubset(xmlSchemaWildcardPtr sub,
xmlSchemaWildcardNsPtr cur;
/*
* 3.2.2 super must be a pair of not and a namespace name or
- * ·absent· and that value must not be in sub's set.
+ * `absent` and that value must not be in sub's set.
*/
cur = sub->nsSet;
while (cur != NULL) {
@@ -13929,7 +14035,7 @@ xmlSchemaGetEffectiveValueConstraint(xmlSchemaAttributeUsePtr attruse,
if (val != 0)
*val = NULL;
- if (attruse->defValue != NULL) {
+ if (attruse->defValue != NULL) {
*value = attruse->defValue;
if (val != NULL)
*val = attruse->defVal;
@@ -14009,12 +14115,12 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaItemListPtr baseUses,
xmlSchemaWildcardPtr wild,
xmlSchemaWildcardPtr baseWild)
-{
+{
xmlSchemaAttributeUsePtr cur = NULL, bcur;
int i, j, found; /* err = 0; */
const xmlChar *bEffValue;
int effFixed;
-
+
if (uses != NULL) {
for (i = 0; i < uses->nbItems; i++) {
cur = uses->items[i];
@@ -14022,7 +14128,7 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
if (baseUses == NULL)
goto not_found;
for (j = 0; j < baseUses->nbItems; j++) {
- bcur = baseUses->items[j];
+ bcur = baseUses->items[j];
if ((WXS_ATTRUSE_DECL_NAME(cur) ==
WXS_ATTRUSE_DECL_NAME(bcur)) &&
(WXS_ATTRUSE_DECL_TNS(cur) ==
@@ -14035,7 +14141,7 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
* namespace}, then all of the following must be true:"
*/
found = 1;
-
+
if ((cur->occurs == XML_SCHEMAS_ATTR_USE_OPTIONAL) &&
(bcur->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED))
{
@@ -14061,12 +14167,12 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
WXS_ATTRUSE_TYPEDEF(bcur), 0) != 0)
{
xmlChar *strA = NULL, *strB = NULL, *strC = NULL;
-
+
/*
* SPEC (2.1.2) "R's {attribute declaration}'s
* {type definition} must be validly derived from
* B's {type definition} given the empty set as
- * defined in Type Derivation OK (Simple) (§3.14.6)."
+ * defined in Type Derivation OK (Simple) ($3.14.6)."
*/
xmlSchemaPAttrUseErr4(pctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2,
@@ -14098,17 +14204,17 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
/*
* 2.1.3 ... one of the following must be true
*
- * 2.1.3.1 B's ·effective value constraint· is
- * ·absent· or default.
+ * 2.1.3.1 B's `effective value constraint` is
+ * `absent` or default.
*/
if ((bEffValue != NULL) &&
(effFixed == 1)) {
const xmlChar *rEffValue = NULL;
-
+
xmlSchemaGetEffectiveValueConstraint(bcur,
&effFixed, &rEffValue, NULL);
/*
- * 2.1.3.2 R's ·effective value constraint· is
+ * 2.1.3.2 R's `effective value constraint` is
* fixed with the same string as B's.
* MAYBE TODO: Compare the computed values.
* Hmm, it says "same string" so
@@ -14118,7 +14224,7 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
(! WXS_ARE_DEFAULT_STR_EQUAL(rEffValue, bEffValue)))
{
xmlChar *str = NULL;
-
+
xmlSchemaPAttrUseErr4(pctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3,
WXS_ITEM_NODE(item), item, cur,
@@ -14137,21 +14243,21 @@ xmlSchemaCheckDerivationOKRestriction2to4(xmlSchemaParserCtxtPtr pctxt,
break;
}
}
-not_found:
+not_found:
if (!found) {
/*
* (2.2) "otherwise the {base type definition} must have an
* {attribute wildcard} and the {target namespace} of the
- * R's {attribute declaration} must be ·valid· with respect
+ * R's {attribute declaration} must be `valid` with respect
* to that wildcard, as defined in Wildcard allows Namespace
- * Name (§3.10.4)."
+ * Name ($3.10.4)."
*/
if ((baseWild == NULL) ||
(xmlSchemaCheckCVCWildcardNamespace(baseWild,
(WXS_ATTRUSE_DECL(cur))->targetNamespace) != 0))
{
xmlChar *str = NULL;
-
+
xmlSchemaPAttrUseErr4(pctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2,
WXS_ITEM_NODE(item), item, cur,
@@ -14167,7 +14273,7 @@ not_found:
}
}
/*
- * SPEC derivation-ok-restriction (3):
+ * SPEC derivation-ok-restriction (3):
* (3) "For each attribute use in the {attribute uses} of the {base type
* definition} whose {required} is true, there must be an attribute
* use with an {attribute declaration} with the same {name} and
@@ -14182,7 +14288,7 @@ not_found:
found = 0;
if (uses != NULL) {
for (i = 0; i < uses->nbItems; i++) {
- cur = uses->items[i];
+ cur = uses->items[i];
if ((WXS_ATTRUSE_DECL_NAME(cur) ==
WXS_ATTRUSE_DECL_NAME(bcur)) &&
(WXS_ATTRUSE_DECL_TNS(cur) ==
@@ -14194,7 +14300,7 @@ not_found:
}
if (!found) {
xmlChar *strA = NULL, *strB = NULL;
-
+
xmlSchemaCustomErr4(ACTXT_CAST pctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3,
NULL, item,
@@ -14216,19 +14322,19 @@ not_found:
/*
* (4) "If there is an {attribute wildcard}, all of the
* following must be true:"
- */
+ */
if (baseWild == NULL) {
xmlChar *str = NULL;
/*
* (4.1) "The {base type definition} must also have one."
- */
+ */
xmlSchemaCustomErr4(ACTXT_CAST pctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
NULL, item,
"The %s has an attribute wildcard, "
"but the %s %s '%s' does not have one",
- WXS_ITEM_TYPE_NAME(item),
+ WXS_ITEM_TYPE_NAME(item),
WXS_ACTION_STR(action),
WXS_ITEM_TYPE_NAME(baseItem),
xmlSchemaGetComponentQName(&str, baseItem));
@@ -14242,7 +14348,7 @@ not_found:
* (4.2) "The complex type definition's {attribute wildcard}'s
* {namespace constraint} must be a subset of the {base type
* definition}'s {attribute wildcard}'s {namespace constraint},
- * as defined by Wildcard Subset (§3.10.6)."
+ * as defined by Wildcard Subset ($3.10.6)."
*/
xmlSchemaCustomErr4(ACTXT_CAST pctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
@@ -14256,8 +14362,8 @@ not_found:
FREE_AND_NULL(str);
return(pctxt->err);
}
- /* 4.3 Unless the {base type definition} is the ·ur-type
- * definition·, the complex type definition's {attribute
+ /* 4.3 Unless the {base type definition} is the `ur-type
+ * definition`, the complex type definition's {attribute
* wildcard}'s {process contents} must be identical to or
* stronger than the {base type definition}'s {attribute
* wildcard}'s {process contents}, where strict is stronger
@@ -14308,7 +14414,7 @@ xmlSchemaFixupTypeAttributeUses(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaTypePtr type)
{
xmlSchemaTypePtr baseType = NULL;
- xmlSchemaAttributeUsePtr use;
+ xmlSchemaAttributeUsePtr use;
xmlSchemaItemListPtr uses, baseUses, prohibs = NULL;
if (type->baseType == NULL) {
@@ -14316,7 +14422,7 @@ xmlSchemaFixupTypeAttributeUses(xmlSchemaParserCtxtPtr pctxt,
"no base type");
return (-1);
}
- baseType = type->baseType;
+ baseType = type->baseType;
if (WXS_IS_TYPE_NOT_FIXED(baseType))
if (xmlSchemaTypeFixup(baseType, ACTXT_CAST pctxt) == -1)
return(-1);
@@ -14328,7 +14434,7 @@ xmlSchemaFixupTypeAttributeUses(xmlSchemaParserCtxtPtr pctxt,
* wildcard, i.e. intersect multiple wildcards.
* Move attribute prohibitions into a separate list.
*/
- if (uses != NULL) {
+ if (uses != NULL) {
if (WXS_IS_RESTRICTION(type)) {
/*
* This one will transfer all attr. prohibitions
@@ -14362,7 +14468,7 @@ xmlSchemaFixupTypeAttributeUses(xmlSchemaParserCtxtPtr pctxt,
if (WXS_IS_RESTRICTION(type)) {
int usesCount;
- xmlSchemaAttributeUsePtr tmp;
+ xmlSchemaAttributeUsePtr tmp;
if (uses != NULL)
usesCount = uses->nbItems;
@@ -14412,15 +14518,15 @@ inherit_next: {}
}
} else {
/* Extension. */
- for (i = 0; i < baseUses->nbItems; i++) {
- use = baseUses->items[i];
+ for (i = 0; i < baseUses->nbItems; i++) {
+ use = baseUses->items[i];
if (uses == NULL) {
type->attrUses = xmlSchemaItemListCreate();
if (type->attrUses == NULL)
goto exit_failure;
uses = type->attrUses;
}
- xmlSchemaItemListAddSize(uses, baseUses->nbItems, use);
+ xmlSchemaItemListAddSize(uses, baseUses->nbItems, use);
}
}
}
@@ -14440,10 +14546,10 @@ inherit_next: {}
/*
* Compute the complete wildcard.
*/
- if (WXS_IS_EXTENSION(type)) {
+ if (WXS_IS_EXTENSION(type)) {
if (baseType->attributeWildcard != NULL) {
/*
- * (3.2.2.1) "If the ·base wildcard· is non-·absent·, then
+ * (3.2.2.1) "If the `base wildcard` is non-`absent`, then
* the appropriate case among the following:"
*/
if (type->attributeWildcard != NULL) {
@@ -14451,26 +14557,26 @@ inherit_next: {}
* Union the complete wildcard with the base wildcard.
* SPEC {attribute wildcard}
* (3.2.2.1.2) "otherwise a wildcard whose {process contents}
- * and {annotation} are those of the ·complete wildcard·,
+ * and {annotation} are those of the `complete wildcard`,
* and whose {namespace constraint} is the intensional union
- * of the {namespace constraint} of the ·complete wildcard·
- * and of the ·base wildcard·, as defined in Attribute
- * Wildcard Union (§3.10.6)."
+ * of the {namespace constraint} of the `complete wildcard`
+ * and of the `base wildcard`, as defined in Attribute
+ * Wildcard Union ($3.10.6)."
*/
if (xmlSchemaUnionWildcards(pctxt, type->attributeWildcard,
baseType->attributeWildcard) == -1)
- goto exit_failure;
+ goto exit_failure;
} else {
/*
- * (3.2.2.1.1) "If the ·complete wildcard· is ·absent·,
- * then the ·base wildcard·."
+ * (3.2.2.1.1) "If the `complete wildcard` is `absent`,
+ * then the `base wildcard`."
*/
type->attributeWildcard = baseType->attributeWildcard;
- }
+ }
} else {
/*
- * (3.2.2.2) "otherwise (the ·base wildcard· is ·absent·) the
- * ·complete wildcard"
+ * (3.2.2.2) "otherwise (the `base wildcard` is `absent`) the
+ * `complete wildcard`"
* NOOP
*/
}
@@ -14478,11 +14584,11 @@ inherit_next: {}
/*
* SPEC {attribute wildcard}
* (3.1) "If the <restriction> alternative is chosen, then the
- * ·complete wildcard·;"
+ * `complete wildcard`;"
* NOOP
*/
}
-
+
return (0);
exit_failure:
@@ -14586,6 +14692,7 @@ xmlSchemaGetParticleTotalRangeMin(xmlSchemaParticlePtr particle)
}
}
+#if 0
/**
* xmlSchemaGetParticleTotalRangeMax:
* @particle: the particle
@@ -14645,6 +14752,7 @@ xmlSchemaGetParticleTotalRangeMax(xmlSchemaParticlePtr particle)
return (particle->maxOccurs * sum);
}
}
+#endif
/**
* xmlSchemaIsParticleEmptiable:
@@ -14725,12 +14833,12 @@ xmlSchemaCheckCOSSTDerivedOK(xmlSchemaAbstractCtxtPtr actxt,
/* 2.2 */
if (type->baseType == baseType) {
/*
- * 2.2.1 D's ·base type definition· is B.
+ * 2.2.1 D's `base type definition` is B.
*/
return (0);
}
/*
- * 2.2.2 D's ·base type definition· is not the ·ur-type definition·
+ * 2.2.2 D's `base type definition` is not the `ur-type definition`
* and is validly derived from B given the subset, as defined by this
* constraint.
*/
@@ -14740,8 +14848,8 @@ xmlSchemaCheckCOSSTDerivedOK(xmlSchemaAbstractCtxtPtr actxt,
return (0);
}
/*
- * 2.2.3 D's {variety} is list or union and B is the ·simple ur-type
- * definition·.
+ * 2.2.3 D's {variety} is list or union and B is the `simple ur-type
+ * definition`.
*/
if (WXS_IS_ANY_SIMPLE_TYPE(baseType) &&
(WXS_IS_LIST(type) || WXS_IS_UNION(type))) {
@@ -14857,10 +14965,10 @@ static int
xmlSchemaCheckUnionTypeDefCircularRecur(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaTypePtr ctxType,
xmlSchemaTypeLinkPtr members)
-{
+{
xmlSchemaTypeLinkPtr member;
xmlSchemaTypePtr memberType;
-
+
member = members;
while (member != NULL) {
memberType = member->type;
@@ -14961,7 +15069,7 @@ xmlSchemaResolveTypeReferences(xmlSchemaTypePtr typeDef,
}
return;
}
- }
+ }
/*
* The ball of letters below means, that if we have a particle
* which has a QName-helper component as its {term}, we want
@@ -15004,7 +15112,7 @@ xmlSchemaResolveTypeReferences(xmlSchemaTypePtr typeDef,
* particle's {term}.
*/
WXS_TYPE_PARTICLE_TERM(typeDef) = WXS_MODELGROUPDEF_MODEL(groupDef);
-
+
if (WXS_MODELGROUPDEF_MODEL(groupDef)->type == XML_SCHEMA_TYPE_ALL) {
/*
* SPEC cos-all-limited (1.2)
@@ -15053,14 +15161,14 @@ xmlSchemaCheckSTPropsCorrect(xmlSchemaParserCtxtPtr ctxt,
* NOTE: This is somehow redundant, since we actually built a simple type
* to have all the needed information; this acts as an self test.
*/
- /* Base type: If the datatype has been ·derived· by ·restriction·
- * then the Simple Type Definition component from which it is ·derived·,
- * otherwise the Simple Type Definition for anySimpleType (§4.1.6).
+ /* Base type: If the datatype has been `derived` by `restriction`
+ * then the Simple Type Definition component from which it is `derived`,
+ * otherwise the Simple Type Definition for anySimpleType ($4.1.6).
*/
if (baseType == NULL) {
/*
* TODO: Think about: "modulo the impact of Missing
- * Sub-components (§5.3)."
+ * Sub-components ($5.3)."
*/
xmlSchemaPCustomErr(ctxt,
XML_SCHEMAP_ST_PROPS_CORRECT_1,
@@ -15078,13 +15186,14 @@ xmlSchemaCheckSTPropsCorrect(xmlSchemaParserCtxtPtr ctxt,
FREE_AND_NULL(str)
return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
}
- if ( (WXS_IS_LIST(type) || WXS_IS_UNION(type)) &&
- (WXS_IS_RESTRICTION(type) == 0) &&
- (! WXS_IS_ANY_SIMPLE_TYPE(baseType))) {
+ if ((WXS_IS_LIST(type) || WXS_IS_UNION(type)) &&
+ (WXS_IS_RESTRICTION(type) == 0) &&
+ ((! WXS_IS_ANY_SIMPLE_TYPE(baseType)) &&
+ (baseType->type != XML_SCHEMA_TYPE_SIMPLE))) {
xmlSchemaPCustomErr(ctxt,
XML_SCHEMAP_ST_PROPS_CORRECT_1,
WXS_BASIC_CAST type, NULL,
- "A type, derived by list or union, must have"
+ "A type, derived by list or union, must have "
"the simple ur-type definition as base type, not '%s'",
xmlSchemaGetComponentQName(&str, baseType));
FREE_AND_NULL(str)
@@ -15119,10 +15228,10 @@ xmlSchemaCheckSTPropsCorrect(xmlSchemaParserCtxtPtr ctxt,
}
/*
- * 2 All simple type definitions must be derived ultimately from the ·simple
- * ur-type definition (so· circular definitions are disallowed). That is, it
- * must be possible to reach a built-in primitive datatype or the ·simple
- * ur-type definition· by repeatedly following the {base type definition}.
+ * 2 All simple type definitions must be derived ultimately from the `simple
+ * ur-type definition` (so circular definitions are disallowed). That is, it
+ * must be possible to reach a built-in primitive datatype or the `simple
+ * ur-type definition` by repeatedly following the {base type definition}.
*
* NOTE: this is done in xmlSchemaCheckTypeDefCircular().
*/
@@ -15306,10 +15415,10 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
}
/*
* MAYBE TODO: (Hmm, not really) Datatypes states:
- * A ·list· datatype can be ·derived· from an ·atomic· datatype
- * whose ·lexical space· allows space (such as string or anyURI)or
- * a ·union· datatype any of whose {member type definitions}'s
- * ·lexical space· allows space.
+ * A `list` datatype can be `derived` from an `atomic` datatype
+ * whose `lexical space` allows space (such as string or anyURI)or
+ * a `union` datatype any of whose {member type definitions}'s
+ * `lexical space` allows space.
*/
} else {
/*
@@ -15346,7 +15455,7 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
/*
* 2.3.2.3 The {item type definition} must be validly derived
* from the {base type definition}'s {item type definition} given
- * the empty set, as defined in Type Derivation OK (Simple) (§3.14.6).
+ * the empty set, as defined in Type Derivation OK (Simple) ($3.14.6).
*/
{
xmlSchemaTypePtr baseItemType;
@@ -15393,7 +15502,7 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
case XML_SCHEMA_FACET_WHITESPACE:
/*
* TODO: 2.5.1.2 List datatypes
- * The value of ·whiteSpace· is fixed to the value collapse.
+ * The value of `whiteSpace` is fixed to the value collapse.
*/
case XML_SCHEMA_FACET_PATTERN:
case XML_SCHEMA_FACET_ENUMERATION:
@@ -15446,8 +15555,8 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
member = member->next;
}
/*
- * 3.3.1 If the {base type definition} is the ·simple ur-type
- * definition·
+ * 3.3.1 If the {base type definition} is the `simple ur-type
+ * definition`
*/
if (type->baseType->builtInType == XML_SCHEMAS_ANYSIMPLETYPE) {
/*
@@ -15509,7 +15618,7 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
* 3.3.2.3 The {member type definitions}, in order, must be validly
* derived from the corresponding type definitions in the {base
* type definition}'s {member type definitions} given the empty set,
- * as defined in Type Derivation OK (Simple) (§3.14.6).
+ * as defined in Type Derivation OK (Simple) ($3.14.6).
*/
{
xmlSchemaTypeLinkPtr baseMember;
@@ -15557,7 +15666,8 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3);
}
member = member->next;
- baseMember = baseMember->next;
+ if (baseMember != NULL)
+ baseMember = baseMember->next;
}
}
}
@@ -15601,7 +15711,7 @@ xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr pctxt,
* @ctxt: the schema parser context
* @type: the simple type definition
*
- * Checks crc-simple-type constraints.
+ * Checks crc-simple-type constraints.
*
* Returns 0 if the constraints are satisfied,
* if not a positive error code and -1 on internal
@@ -15615,8 +15725,8 @@ xmlSchemaCheckSRCSimpleType(xmlSchemaParserCtxtPtr ctxt,
/*
* src-simple-type.1 The corresponding simple type definition, if any,
* must satisfy the conditions set out in Constraints on Simple Type
- * Definition Schema Components (§3.14.6).
- */
+ * Definition Schema Components ($3.14.6).
+ */
if (WXS_IS_RESTRICTION(type)) {
/*
* src-simple-type.2 "If the <restriction> alternative is chosen,
@@ -15625,7 +15735,7 @@ xmlSchemaCheckSRCSimpleType(xmlSchemaParserCtxtPtr ctxt,
* NOTE: This is checked in the parse function of <restriction>.
*/
/*
- *
+ *
*/
} else if (WXS_IS_LIST(type)) {
/* src-simple-type.3 "If the <list> alternative is chosen, either it must have
@@ -15634,8 +15744,8 @@ xmlSchemaCheckSRCSimpleType(xmlSchemaParserCtxtPtr ctxt,
*
* NOTE: This is checked in the parse function of <list>.
*/
- } else if (WXS_IS_UNION(type)) {
- /*
+ } else if (WXS_IS_UNION(type)) {
+ /*
* src-simple-type.4 is checked in xmlSchemaCheckUnionTypeDefCircular().
*/
}
@@ -15713,8 +15823,8 @@ xmlSchemaParseCheckCOSValidDefault(xmlSchemaParserCtxtPtr pctxt,
* SPEC (2.1) "its {content type} must be a simple type definition
* or mixed."
* SPEC (2.2.2) "If the {content type} is mixed, then the {content
- * type}'s particle must be ·emptiable· as defined by
- * Particle Emptiable (§3.9.6)."
+ * type}'s particle must be `emptiable` as defined by
+ * Particle Emptiable ($3.9.6)."
*/
if ((! WXS_HAS_SIMPLE_CONTENT(type)) &&
((! WXS_HAS_MIXED_CONTENT(type)) || (! WXS_EMPTIABLE(type)))) {
@@ -15730,14 +15840,14 @@ xmlSchemaParseCheckCOSValidDefault(xmlSchemaParserCtxtPtr pctxt,
}
/*
* 1 If the type definition is a simple type definition, then the string
- * must be ·valid· with respect to that definition as defined by String
- * Valid (§3.14.4).
+ * must be `valid` with respect to that definition as defined by String
+ * Valid ($3.14.4).
*
* AND
*
* 2.2.1 If the {content type} is a simple type definition, then the
- * string must be ·valid· with respect to that simple type definition
- * as defined by String Valid (§3.14.4).
+ * string must be `valid` with respect to that simple type definition
+ * as defined by String Valid ($3.14.4).
*/
if (WXS_IS_SIMPLE(type))
ret = xmlSchemaVCheckCVCSimpleType(ACTXT_CAST pctxt, node,
@@ -15778,8 +15888,8 @@ xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
*
* SPEC (1) "The values of the properties of a complex type definition must
* be as described in the property tableau in The Complex Type Definition
- * Schema Component (§3.4.1), modulo the impact of Missing
- * Sub-components (§5.3)."
+ * Schema Component ($3.4.1), modulo the impact of Missing
+ * Sub-components ($5.3)."
*/
if ((type->baseType != NULL) &&
(WXS_IS_SIMPLE(type->baseType)) &&
@@ -15790,15 +15900,15 @@ xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
*/
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_SRC_CT_1,
- NULL, WXS_BASIC_CAST type,
+ NULL, WXS_BASIC_CAST type,
"If the base type is a simple type, the derivation method must be "
"'extension'", NULL, NULL);
return (XML_SCHEMAP_SRC_CT_1);
}
/*
- * SPEC (3) "Circular definitions are disallowed, except for the ·ur-type
- * definition·. That is, it must be possible to reach the ·ur-type
- * definition by repeatedly following the {base type definition}."
+ * SPEC (3) "Circular definitions are disallowed, except for the `ur-type
+ * definition`. That is, it must be possible to reach the `ur-type
+ * definition` by repeatedly following the {base type definition}."
*
* NOTE (3) is done in xmlSchemaCheckTypeDefCircular().
*/
@@ -15807,7 +15917,7 @@ xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
* - attribute uses need to be already inherited (apply attr. prohibitions)
* - attribute group references need to be expanded already
* - simple types need to be typefixed already
- */
+ */
if (type->attrUses &&
(((xmlSchemaItemListPtr) type->attrUses)->nbItems > 1))
{
@@ -15817,8 +15927,8 @@ xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
for (i = uses->nbItems -1; i >= 0; i--) {
use = uses->items[i];
-
- /*
+
+ /*
* SPEC ct-props-correct
* (4) "Two distinct attribute declarations in the
* {attribute uses} must not have identical {name}s and
@@ -15859,10 +15969,10 @@ xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
if (WXS_ATTRUSE_TYPEDEF(use) != NULL) {
if (xmlSchemaIsDerivedFromBuiltInType(
WXS_ATTRUSE_TYPEDEF(use), XML_SCHEMAS_ID))
- {
+ {
if (hasId) {
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_AG_PROPS_CORRECT,
NULL, WXS_BASIC_CAST type,
@@ -15876,7 +15986,7 @@ xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
if (xmlSchemaItemListRemove(uses, i) == -1)
goto exit_failure;
}
-
+
hasId = 1;
}
}
@@ -15950,8 +16060,8 @@ xmlSchemaCheckCOSCTDerivedOK(xmlSchemaAbstractCtxtPtr actxt,
if (type->baseType == baseType)
return (0);
/*
- * SPEC (2.3.1) "D's {base type definition} must not be the ·ur-type
- * definition·."
+ * SPEC (2.3.1) "D's {base type definition} must not be the `ur-type
+ * definition`."
*/
if (WXS_IS_ANYTYPE(type->baseType))
return (1);
@@ -15968,7 +16078,7 @@ xmlSchemaCheckCOSCTDerivedOK(xmlSchemaAbstractCtxtPtr actxt,
/*
* SPEC (2.3.2.2) "If D's {base type definition} is simple, then it
* must be validly derived from B given the subset as defined in Type
- * Derivation OK (Simple) (§3.14.6).
+ * Derivation OK (Simple) ($3.14.6).
*/
return (xmlSchemaCheckCOSSTDerivedOK(actxt, type->baseType,
baseType, set));
@@ -16029,7 +16139,7 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
* SPEC (1) "If the {base type definition} is a complex type definition,
* then all of the following must be true:"
*/
- if (WXS_IS_COMPLEX(base)) {
+ if (WXS_IS_COMPLEX(base)) {
/*
* SPEC (1.1) "The {final} of the {base type definition} must not
* contain extension."
@@ -16042,7 +16152,7 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
"contains 'extension'", NULL);
return (XML_SCHEMAP_COS_CT_EXTENDS_1_1);
}
-
+
/*
* ATTENTION: The constrains (1.2) and (1.3) are not applied,
* since they are automatically satisfied through the
@@ -16086,11 +16196,11 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
}
if (! found) {
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST ctxt,
XML_SCHEMAP_COS_CT_EXTENDS_1_2,
NULL, WXS_BASIC_CAST type,
- /*
+ /*
* TODO: The report does not indicate that also the
* type needs to be the same.
*/
@@ -16108,9 +16218,9 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
* definition must also have one, and the base type definition's
* {attribute wildcard}'s {namespace constraint} must be a subset
* of the complex type definition's {attribute wildcard}'s {namespace
- * constraint}, as defined by Wildcard Subset (§3.10.6)."
+ * constraint}, as defined by Wildcard Subset ($3.10.6)."
*/
-
+
/*
* MAYBE TODO: Enable if ever needed. But this will be needed only
* if created the type via a schema construction API.
@@ -16118,7 +16228,7 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
if (base->attributeWildcard != NULL) {
if (type->attributeWilcard == NULL) {
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_COS_CT_EXTENDS_1_3,
NULL, type,
@@ -16131,7 +16241,7 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
base->attributeWildcard, type->attributeWildcard))
{
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_COS_CT_EXTENDS_1_3,
NULL, type,
@@ -16205,9 +16315,9 @@ xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
}
/*
* URGENT TODO SPEC (1.4.3.2.2.2) "The particle of the
- * complex type definition must be a ·valid extension·
+ * complex type definition must be a `valid extension`
* of the {base type definition}'s particle, as defined
- * in Particle Valid (Extension) (§3.9.6)."
+ * in Particle Valid (Extension) ($3.9.6)."
*
* NOTE that we won't check "Particle Valid (Extension)",
* since it is ensured by the derivation process in
@@ -16285,7 +16395,7 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
*/
base = type->baseType;
if (! WXS_IS_COMPLEX(base)) {
- xmlSchemaCustomErr(ACTXT_CAST ctxt,
+ xmlSchemaCustomErr(ACTXT_CAST ctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1,
type->node, WXS_BASIC_CAST type,
"The base type must be a complex type", NULL, NULL);
@@ -16296,7 +16406,7 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
* SPEC (1) "The {base type definition} must be a complex type
* definition whose {final} does not contain restriction."
*/
- xmlSchemaCustomErr(ACTXT_CAST ctxt,
+ xmlSchemaCustomErr(ACTXT_CAST ctxt,
XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1,
type->node, WXS_BASIC_CAST type,
"The 'final' of the base type definition "
@@ -16324,7 +16434,7 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
if (base->builtInType == XML_SCHEMAS_ANYTYPE) {
/*
* SPEC (5.1) "The {base type definition} must be the
- * ·ur-type definition·."
+ * `ur-type definition`."
* PASS
*/
} else if ((type->contentType == XML_SCHEMA_CONTENT_SIMPLE) ||
@@ -16343,11 +16453,11 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
* SPEC (5.2.2.1) "The {content type} of the {base type
* definition} must be a simple type definition from which
* the {content type} is validly derived given the empty
- * set as defined in Type Derivation OK (Simple) (§3.14.6)."
+ * set as defined in Type Derivation OK (Simple) ($3.14.6)."
*
* ATTENTION TODO: This seems not needed if the type implicitely
* derived from the base type.
- *
+ *
*/
err = xmlSchemaCheckCOSSTDerivedOK(ACTXT_CAST ctxt,
type->contentTypeDef, base->contentTypeDef, 0);
@@ -16374,8 +16484,8 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
(xmlSchemaParticlePtr) base->subtypes))) {
/*
* SPEC (5.2.2.2) "The {base type definition} must be mixed
- * and have a particle which is ·emptiable· as defined in
- * Particle Emptiable (§3.9.6)."
+ * and have a particle which is `emptiable` as defined in
+ * Particle Emptiable ($3.9.6)."
* PASS
*/
} else {
@@ -16404,7 +16514,7 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
/*
* SPEC (5.3.2.2) "The {content type} of the {base type
* definition} must be elementOnly or mixed and have a particle
- * which is ·emptiable· as defined in Particle Emptiable (§3.9.6)."
+ * which is `emptiable` as defined in Particle Emptiable ($3.9.6)."
* PASS
*/
} else {
@@ -16421,7 +16531,7 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
/*
* SPEC (5.4.1.1) "The {content type} of the complex type definition
* itself must be element-only"
- */
+ */
if (WXS_HAS_MIXED_CONTENT(type) && (! WXS_HAS_MIXED_CONTENT(base))) {
/*
* SPEC (5.4.1.2) "The {content type} of the complex type
@@ -16437,9 +16547,9 @@ xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
}
/*
* SPEC (5.4.2) "The particle of the complex type definition itself
- * must be a ·valid restriction· of the particle of the {content
+ * must be a `valid restriction` of the particle of the {content
* type} of the {base type definition} as defined in Particle Valid
- * (Restriction) (§3.9.6).
+ * (Restriction) ($3.9.6).
*
* URGENT TODO: (5.4.2)
*/
@@ -16508,7 +16618,7 @@ xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt,
if (! WXS_HAS_SIMPLE_CONTENT(type)) {
/*
* 1 If the <complexContent> alternative is chosen, the type definition
- * ·resolved· to by the ·actual value· of the base [attribute]
+ * `resolved` to by the `actual value` of the base [attribute]
* must be a complex type definition;
*/
if (! WXS_IS_COMPLEX(base)) {
@@ -16528,7 +16638,7 @@ xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt,
* SPEC
* 2 If the <simpleContent> alternative is chosen, all of the
* following must be true:
- * 2.1 The type definition ·resolved· to by the ·actual value· of the
+ * 2.1 The type definition `resolved` to by the `actual value` of the
* base [attribute] must be one of the following:
*/
if (WXS_IS_SIMPLE(base)) {
@@ -16578,11 +16688,11 @@ xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt,
if (! xmlSchemaIsParticleEmptiable(
(xmlSchemaParticlePtr) base->subtypes)) {
ret = XML_SCHEMAP_SRC_CT_1;
- } else
+ } else
/*
* Attention: at this point the <simpleType> child is in
* ->contentTypeDef (put there during parsing).
- */
+ */
if (type->contentTypeDef == NULL) {
xmlChar *str = NULL;
/*
@@ -16634,14 +16744,14 @@ xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt,
/*
* SPEC (3) "The corresponding complex type definition component must
* satisfy the conditions set out in Constraints on Complex Type
- * Definition Schema Components (§3.4.6);"
+ * Definition Schema Components ($3.4.6);"
* NOTE (3) will be done in xmlSchemaTypeFixup().
*/
/*
* SPEC (4) If clause 2.2.1 or clause 2.2.2 in the correspondence specification
* above for {attribute wildcard} is satisfied, the intensional
* intersection must be expressible, as defined in Attribute Wildcard
- * Intersection (§3.10.6).
+ * Intersection ($3.10.6).
* NOTE (4) is done in xmlSchemaFixupTypeAttributeUses().
*/
return (ret);
@@ -16712,7 +16822,7 @@ xmlSchemaCheckRCaseNameAndTypeOK(xmlSchemaParserCtxtPtr ctxt,
return (1);
/*
* SPEC (2) "R's occurrence range is a valid restriction of B's
- * occurrence range as defined by Occurrence Range OK (§3.9.6)."
+ * occurrence range as defined by Occurrence Range OK ($3.9.6)."
*/
if (xmlSchemaCheckParticleRangeOK(r->minOccurs, r->maxOccurs,
b->minOccurs, b->maxOccurs) != 0)
@@ -16804,19 +16914,19 @@ xmlSchemaCheckRCaseNSCompat(xmlSchemaParserCtxtPtr ctxt,
{
/* TODO:Error codes (rcase-NSCompat). */
/*
- * SPEC "For an element declaration particle to be a ·valid restriction·
+ * SPEC "For an element declaration particle to be a `valid restriction`
* of a wildcard particle all of the following must be true:"
*
- * SPEC (1) "The element declaration's {target namespace} is ·valid·
+ * SPEC (1) "The element declaration's {target namespace} is `valid`
* with respect to the wildcard's {namespace constraint} as defined by
- * Wildcard allows Namespace Name (§3.10.4)."
+ * Wildcard allows Namespace Name ($3.10.4)."
*/
if (xmlSchemaCheckCVCWildcardNamespace((xmlSchemaWildcardPtr) b->children,
((xmlSchemaElementPtr) r->children)->targetNamespace) != 0)
return (1);
/*
* SPEC (2) "R's occurrence range is a valid restriction of B's
- * occurrence range as defined by Occurrence Range OK (§3.9.6)."
+ * occurrence range as defined by Occurrence Range OK ($3.9.6)."
*/
if (xmlSchemaCheckParticleRangeOK(r->minOccurs, r->maxOccurs,
b->minOccurs, b->maxOccurs) != 0)
@@ -16876,21 +16986,21 @@ xmlSchemaCheckRCaseNSSubset(xmlSchemaParserCtxtPtr ctxt,
/* TODO: Error codes (rcase-NSSubset). */
/*
* SPEC (1) "R's occurrence range is a valid restriction of B's
- * occurrence range as defined by Occurrence Range OK (§3.9.6)."
+ * occurrence range as defined by Occurrence Range OK ($3.9.6)."
*/
if (xmlSchemaCheckParticleRangeOK(r->minOccurs, r->maxOccurs,
b->minOccurs, b->maxOccurs))
return (1);
/*
* SPEC (2) "R's {namespace constraint} must be an intensional subset
- * of B's {namespace constraint} as defined by Wildcard Subset (§3.10.6)."
+ * of B's {namespace constraint} as defined by Wildcard Subset ($3.10.6)."
*/
if (xmlSchemaCheckCOSNSSubset((xmlSchemaWildcardPtr) r->children,
(xmlSchemaWildcardPtr) b->children))
return (1);
/*
- * SPEC (3) "Unless B is the content model wildcard of the ·ur-type
- * definition·, R's {process contents} must be identical to or stronger
+ * SPEC (3) "Unless B is the content model wildcard of the `ur-type
+ * definition`, R's {process contents} must be identical to or stronger
* than B's {process contents}, where strict is stronger than lax is
* stronger than skip."
*/
@@ -16940,6 +17050,7 @@ xmlSchemaCheckCOSParticleRestrict(xmlSchemaParserCtxtPtr ctxt,
return (0);
}
+#if 0
/**
* xmlSchemaCheckRCaseNSRecurseCheckCardinality:
* @ctxt: the schema parser context
@@ -16967,12 +17078,12 @@ xmlSchemaCheckRCaseNSRecurseCheckCardinality(xmlSchemaParserCtxtPtr ctxt,
if ((r->children == NULL) || (r->children->children == NULL))
return (-1);
/*
- * SPEC "For a group particle to be a ·valid restriction· of a
+ * SPEC "For a group particle to be a `valid restriction` of a
* wildcard particle..."
*
- * SPEC (1) "Every member of the {particles} of the group is a ·valid
- * restriction· of the wildcard as defined by
- * Particle Valid (Restriction) (§3.9.6)."
+ * SPEC (1) "Every member of the {particles} of the group is a `valid
+ * restriction` of the wildcard as defined by
+ * Particle Valid (Restriction) ($3.9.6)."
*/
part = (xmlSchemaParticlePtr) r->children->children;
do {
@@ -16983,7 +17094,7 @@ xmlSchemaCheckRCaseNSRecurseCheckCardinality(xmlSchemaParserCtxtPtr ctxt,
/*
* SPEC (2) "The effective total range of the group [...] is a
* valid restriction of B's occurrence range as defined by
- * Occurrence Range OK (§3.9.6)."
+ * Occurrence Range OK ($3.9.6)."
*/
if (xmlSchemaCheckParticleRangeOK(
xmlSchemaGetParticleTotalRangeMin(r),
@@ -16992,6 +17103,7 @@ xmlSchemaCheckRCaseNSRecurseCheckCardinality(xmlSchemaParserCtxtPtr ctxt,
return (1);
return (0);
}
+#endif
/**
* xmlSchemaCheckRCaseRecurse:
@@ -17022,11 +17134,11 @@ xmlSchemaCheckRCaseRecurse(xmlSchemaParserCtxtPtr ctxt,
(r->children->type != b->children->type))
return (-1);
/*
- * SPEC "For an all or sequence group particle to be a ·valid
- * restriction· of another group particle with the same {compositor}..."
+ * SPEC "For an all or sequence group particle to be a `valid
+ * restriction` of another group particle with the same {compositor}..."
*
* SPEC (1) "R's occurrence range is a valid restriction of B's
- * occurrence range as defined by Occurrence Range OK (§3.9.6)."
+ * occurrence range as defined by Occurrence Range OK ($3.9.6)."
*/
if (xmlSchemaCheckParticleRangeOK(r->minOccurs, r->maxOccurs,
b->minOccurs, b->maxOccurs))
@@ -17123,7 +17235,7 @@ xmlSchemaDeriveAndValidateFacets(xmlSchemaParserCtxtPtr pctxt,
/*
* SPEC st-restrict-facets 1:
- * "The {variety} of R is the same as that of B."
+ * "The {variety} of R is the same as that of B."
*/
/*
* SPEC st-restrict-facets 2:
@@ -17277,7 +17389,7 @@ xmlSchemaDeriveAndValidateFacets(xmlSchemaParserCtxtPtr pctxt,
flength = bflength;
if (flength) {
if (! fminlen)
- flength = bflength;
+ fminlen = bfminlen;
if (fminlen) {
/* (1.1) length >= minLength */
res = xmlSchemaCompareValues(flength->val, fminlen->val);
@@ -17595,7 +17707,7 @@ xmlSchemaDeriveAndValidateFacets(xmlSchemaParserCtxtPtr pctxt,
* The whitespace must be stronger.
*/
if (facet->whitespace < bfacet->whitespace) {
- FACET_RESTR_ERR(flength,
+ FACET_RESTR_ERR(facet,
"The 'whitespace' value has to be equal to "
"or stronger than the 'whitespace' value of "
"the base type")
@@ -17650,7 +17762,7 @@ xmlSchemaFinishMemberTypeDefinitionsProperty(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaTypeLinkPtr link, lastLink, prevLink, subLink, newLink;
/*
* The actual value is then formed by replacing any union type
- * definition in the ·explicit members· with the members of their
+ * definition in the `explicit members` with the members of their
* {member type definitions}, in order.
*
* TODO: There's a bug entry at
@@ -17696,7 +17808,7 @@ xmlSchemaFinishMemberTypeDefinitionsProperty(xmlSchemaParserCtxtPtr pctxt,
static void
xmlSchemaTypeFixupOptimFacets(xmlSchemaTypePtr type)
-{
+{
int has = 0, needVal = 0, normVal = 0;
has = (type->baseType->flags & XML_SCHEMAS_TYPE_HAS_FACETS) ? 1 : 0;
@@ -17708,7 +17820,7 @@ xmlSchemaTypeFixupOptimFacets(xmlSchemaTypePtr type)
}
if (type->facets != NULL) {
xmlSchemaFacetPtr fac;
-
+
for (fac = type->facets; fac != NULL; fac = fac->next) {
switch (fac->type) {
case XML_SCHEMA_FACET_WHITESPACE:
@@ -17726,7 +17838,7 @@ xmlSchemaTypeFixupOptimFacets(xmlSchemaTypePtr type)
has = 1;
break;
}
- }
+ }
}
if (normVal)
type->flags |= XML_SCHEMAS_TYPE_NORMVALUENEEDED;
@@ -17743,24 +17855,24 @@ xmlSchemaTypeFixupOptimFacets(xmlSchemaTypePtr type)
if ((prim->builtInType != XML_SCHEMAS_ANYSIMPLETYPE) &&
(prim->builtInType != XML_SCHEMAS_STRING)) {
type->flags |= XML_SCHEMAS_TYPE_FACETSNEEDVALUE;
- }
- }
+ }
+ }
}
static int
xmlSchemaTypeFixupWhitespace(xmlSchemaTypePtr type)
{
-
-
+
+
/*
* Evaluate the whitespace-facet value.
- */
+ */
if (WXS_IS_LIST(type)) {
type->flags |= XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE;
return (0);
} else if (WXS_IS_UNION(type))
return (0);
-
+
if (type->facetSet != NULL) {
xmlSchemaFacetLinkPtr lin;
@@ -17784,23 +17896,23 @@ xmlSchemaTypeFixupWhitespace(xmlSchemaTypePtr type)
}
}
/*
- * For all ·atomic· datatypes other than string (and types ·derived·
- * by ·restriction· from it) the value of whiteSpace is fixed to
+ * For all `atomic` datatypes other than string (and types `derived`
+ * by `restriction` from it) the value of whiteSpace is fixed to
* collapse
*/
{
xmlSchemaTypePtr anc;
- for (anc = type->baseType; anc != NULL &&
+ for (anc = type->baseType; anc != NULL &&
anc->builtInType != XML_SCHEMAS_ANYTYPE;
anc = anc->baseType) {
if (anc->type == XML_SCHEMA_TYPE_BASIC) {
- if (anc->builtInType == XML_SCHEMAS_NORMSTRING) {
+ if (anc->builtInType == XML_SCHEMAS_NORMSTRING) {
type->flags |= XML_SCHEMAS_TYPE_WHITESPACE_REPLACE;
} else if ((anc->builtInType == XML_SCHEMAS_STRING) ||
- (anc->builtInType == XML_SCHEMAS_ANYSIMPLETYPE)) {
+ (anc->builtInType == XML_SCHEMAS_ANYSIMPLETYPE)) {
type->flags |= XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE;
} else
@@ -17837,7 +17949,7 @@ xmlSchemaFixupSimpleTypeStageOne(xmlSchemaParserCtxtPtr pctxt,
} else if (WXS_IS_UNION(type)) {
/*
* Corresponds to <simpleType><union>...
- */
+ */
if (type->memberTypes == NULL) {
/*
* This one is really needed, so get out.
@@ -17845,8 +17957,8 @@ xmlSchemaFixupSimpleTypeStageOne(xmlSchemaParserCtxtPtr pctxt,
PERROR_INT("xmlSchemaFixupSimpleTypeStageOne",
"union type has no member-types assigned");
return(-1);
- }
- } else {
+ }
+ } else {
/*
* Corresponds to <simpleType><restriction>...
*/
@@ -17961,7 +18073,7 @@ xmlSchemaFixupSimpleTypeStageTwo(xmlSchemaParserCtxtPtr pctxt,
}
if (WXS_IS_TYPE_NOT_FIXED(type->baseType))
xmlSchemaTypeFixup(type->baseType, ACTXT_CAST pctxt);
- /*
+ /*
* If a member type of a union is a union itself, we need to substitute
* that member type for its member types.
* NOTE that this might change in WXS 1.1; i.e. we will keep the union
@@ -17969,12 +18081,12 @@ xmlSchemaFixupSimpleTypeStageTwo(xmlSchemaParserCtxtPtr pctxt,
*/
if ((type->memberTypes != NULL) &&
(xmlSchemaFinishMemberTypeDefinitionsProperty(pctxt, type) == -1))
- return(-1);
+ return(-1);
/*
- * SPEC src-simple-type 1
+ * SPEC src-simple-type 1
* "The corresponding simple type definition, if any, must satisfy
* the conditions set out in Constraints on Simple Type Definition
- * Schema Components (§3.14.6)."
+ * Schema Components ($3.14.6)."
*/
/*
* Schema Component Constraint: Simple Type Definition Properties Correct
@@ -17982,7 +18094,7 @@ xmlSchemaFixupSimpleTypeStageTwo(xmlSchemaParserCtxtPtr pctxt,
*/
res = xmlSchemaCheckSTPropsCorrect(pctxt, type);
HFAILURE HERROR
- /*
+ /*
* Schema Component Constraint: Derivation Valid (Restriction, Simple)
* (cos-st-restricts)
*/
@@ -18015,7 +18127,7 @@ xmlSchemaFixupSimpleTypeStageTwo(xmlSchemaParserCtxtPtr pctxt,
*/
res = xmlSchemaTypeFixupWhitespace(type);
HFAILURE HERROR
- xmlSchemaTypeFixupOptimFacets(type);
+ xmlSchemaTypeFixupOptimFacets(type);
exit_error:
#ifdef DEBUG_TYPE
@@ -18046,7 +18158,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
PERROR_INT("xmlSchemaFixupComplexType",
"missing baseType");
goto exit_failure;
- }
+ }
/*
* Fixup the base type.
*/
@@ -18058,12 +18170,12 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
* TODO: Generate a warning!
*/
return(0);
- }
+ }
/*
* This basically checks if the base type can be derived.
*/
res = xmlSchemaCheckSRCCT(pctxt, type);
- HFAILURE HERROR
+ HFAILURE HERROR
/*
* Fixup the content type.
*/
@@ -18137,7 +18249,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
type->facets = NULL;
content->facetSet = type->facetSet;
type->facetSet = NULL;
-
+
type->contentTypeDef = content;
if (WXS_IS_TYPE_NOT_FIXED(contentBase))
xmlSchemaTypeFixup(contentBase, ACTXT_CAST pctxt);
@@ -18146,10 +18258,10 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
* for circularity here.
*/
res = xmlSchemaFixupSimpleTypeStageOne(pctxt, content);
- HFAILURE HERROR
+ HFAILURE HERROR
res = xmlSchemaFixupSimpleTypeStageTwo(pctxt, content);
- HFAILURE HERROR
-
+ HFAILURE HERROR
+
} else if ((WXS_IS_COMPLEX(baseType)) &&
(baseType->contentType == XML_SCHEMA_CONTENT_MIXED) &&
(WXS_IS_RESTRICTION(type))) {
@@ -18234,7 +18346,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
( ((xmlSchemaTreeItemPtr) particle->children)->children == NULL))) {
if (type->flags & XML_SCHEMAS_TYPE_MIXED) {
/*
- * SPEC (2.1.4) "If the ·effective mixed· is true, then
+ * SPEC (2.1.4) "If the `effective mixed` is true, then
* a particle whose properties are as follows:..."
*
* Empty sequence model group with
@@ -18259,7 +18371,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
XML_SCHEMA_TYPE_SEQUENCE, type->node);
if (particle->children == NULL)
goto exit_failure;
-
+
type->subtypes = (xmlSchemaTypePtr) particle;
}
dummySequence = 1;
@@ -18296,7 +18408,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
if (type->contentType == XML_SCHEMA_CONTENT_EMPTY) {
/*
* SPEC (3.2.1)
- * "If the ·effective content· is empty, then the
+ * "If the `effective content` is empty, then the
* {content type} of the [...] base ..."
*/
type->contentType = baseType->contentType;
@@ -18394,8 +18506,8 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
particle->children->children =
(xmlSchemaTreeItemPtr) xmlSchemaAddParticle(pctxt,
type->node,
- ((xmlSchemaParticlePtr) type->subtypes)->minOccurs,
- ((xmlSchemaParticlePtr) type->subtypes)->maxOccurs);
+ ((xmlSchemaParticlePtr) baseType->subtypes)->minOccurs,
+ ((xmlSchemaParticlePtr) baseType->subtypes)->maxOccurs);
if (particle->children->children == NULL)
goto exit_failure;
particle = (xmlSchemaParticlePtr)
@@ -18403,7 +18515,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
particle->children =
((xmlSchemaParticlePtr) baseType->subtypes)->children;
/*
- * SPEC "followed by the ·effective content·."
+ * SPEC "followed by the `effective content`."
*/
particle->next = effectiveContent;
/*
@@ -18547,12 +18659,12 @@ xmlSchemaCheckFacet(xmlSchemaFacetPtr facet,
/* 4.3.5.5 Constraints on enumeration Schema Components
* Schema Component Constraint: enumeration valid restriction
- * It is an ·error· if any member of {value} is not in the
- * ·value space· of {base type definition}.
+ * It is an `error` if any member of {value} is not in the
+ * `value space` of {base type definition}.
*
* minInclusive, maxInclusive, minExclusive, maxExclusive:
- * The value ·must· be in the
- * ·value space· of the ·base type·.
+ * The value `must` be in the
+ * `value space` of the `base type`.
*/
/*
* This function is intended to deliver a compiled value
@@ -18572,11 +18684,11 @@ xmlSchemaCheckFacet(xmlSchemaFacetPtr facet,
}
} else
base = typeDecl;
-
+
if (! ctxtGiven) {
/*
* A context is needed if called from RelaxNG.
- */
+ */
pctxt = xmlSchemaNewParserCtxt("*");
if (pctxt == NULL)
return (-1);
@@ -18587,17 +18699,17 @@ xmlSchemaCheckFacet(xmlSchemaFacetPtr facet,
* facet->node is just the node holding the facet
* definition, *not* the attribute holding the *value*
* of the facet.
- */
+ */
ret = xmlSchemaVCheckCVCSimpleType(
ACTXT_CAST pctxt, facet->node, base,
facet->value, &(facet->val), 1, 1, 0);
if (ret != 0) {
if (ret < 0) {
/* No error message for RelaxNG. */
- if (ctxtGiven) {
+ if (ctxtGiven) {
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_INTERNAL, facet->node, NULL,
- "Internal error: xmlSchemaCheckFacet, "
+ "Internal error: xmlSchemaCheckFacet, "
"failed to validate the value '%s' of the "
"facet '%s' against the base type",
facet->value, xmlSchemaFacetTypeToString(facet->type));
@@ -18672,17 +18784,17 @@ xmlSchemaCheckFacet(xmlSchemaFacetPtr facet,
/* error code */
xmlSchemaCustomErr4(ACTXT_CAST pctxt,
ret, facet->node, WXS_BASIC_CAST typeDecl,
- "The value '%s' of the facet '%s' is not a valid '%s'",
+ "The value '%s' of the facet '%s' is not a valid '%s'",
facet->value,
xmlSchemaFacetTypeToString(facet->type),
- (facet->type != XML_SCHEMA_FACET_TOTALDIGITS) ?
+ (facet->type != XML_SCHEMA_FACET_TOTALDIGITS) ?
BAD_CAST "nonNegativeInteger" :
BAD_CAST "positiveInteger",
NULL);
}
}
break;
-
+
case XML_SCHEMA_FACET_WHITESPACE:{
if (xmlStrEqual(facet->value, BAD_CAST "preserve")) {
facet->whitespace = XML_SCHEMAS_FACET_PRESERVE;
@@ -18895,7 +19007,7 @@ xmlSchemaModelGroupToModelGroupDefFixup(
{
particle = WXS_PTC_CAST particle->next;
continue;
- }
+ }
if (WXS_MODELGROUPDEF_MODEL(WXS_PARTICLE_TERM(particle)) == NULL) {
/*
* TODO: Remove the particle.
@@ -18945,7 +19057,7 @@ xmlSchemaCheckAttrGroupCircularRecur(xmlSchemaAttributeGroupPtr ctxtGr,
if (gr == ctxtGr)
return(ref);
if (gr->flags & XML_SCHEMAS_ATTRGROUP_MARKED)
- continue;
+ continue;
/*
* Mark as visited to avoid infinite recursion on
* circular references not yet examined.
@@ -18955,12 +19067,12 @@ xmlSchemaCheckAttrGroupCircularRecur(xmlSchemaAttributeGroupPtr ctxtGr,
{
gr->flags |= XML_SCHEMAS_ATTRGROUP_MARKED;
circ = xmlSchemaCheckAttrGroupCircularRecur(ctxtGr,
- (xmlSchemaItemListPtr) gr->attrUses);
+ (xmlSchemaItemListPtr) gr->attrUses);
gr->flags ^= XML_SCHEMAS_ATTRGROUP_MARKED;
if (circ != NULL)
return (circ);
}
-
+
}
}
return (NULL);
@@ -18987,9 +19099,9 @@ xmlSchemaCheckAttrGroupCircular(xmlSchemaAttributeGroupPtr attrGr,
* not be an <attributeGroup> with ref [attribute] which resolves
* to the component corresponding to this <attributeGroup>. Indirect
* circularity is also ruled out. That is, when QName resolution
- * (Schema Document) (§3.15.3) is applied to a ·QName· arising from
+ * (Schema Document) ($3.15.3) is applied to a `QName` arising from
* any <attributeGroup>s with a ref [attribute] among the [children],
- * it must not be the case that a ·QName· is encountered at any depth
+ * it must not be the case that a `QName` is encountered at any depth
* which resolves to the component corresponding to this <attributeGroup>.
*/
if (attrGr->attrUses == NULL)
@@ -18998,9 +19110,9 @@ xmlSchemaCheckAttrGroupCircular(xmlSchemaAttributeGroupPtr attrGr,
return(0);
else {
xmlSchemaQNameRefPtr circ;
-
+
circ = xmlSchemaCheckAttrGroupCircularRecur(attrGr,
- (xmlSchemaItemListPtr) attrGr->attrUses);
+ (xmlSchemaItemListPtr) attrGr->attrUses);
if (circ != NULL) {
xmlChar *str = NULL;
/*
@@ -19032,7 +19144,7 @@ xmlSchemaAttributeGroupExpandRefs(xmlSchemaParserCtxtPtr pctxt,
* xmlSchemaExpandAttributeGroupRefs:
* @pctxt: the parser context
* @node: the node of the component holding the attribute uses
- * @completeWild: the intersected wildcard to be returned
+ * @completeWild: the intersected wildcard to be returned
* @list: the attribute uses
*
* Substitutes contained attribute group references
@@ -19061,7 +19173,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
for (i = 0; i < list->nbItems; i++) {
use = list->items[i];
- if (use->type == XML_SCHEMA_EXTRA_ATTR_USE_PROHIB) {
+ if (use->type == XML_SCHEMA_EXTRA_ATTR_USE_PROHIB) {
if (prohibs == NULL) {
PERROR_INT("xmlSchemaExpandAttributeGroupRefs",
"unexpected attr prohibition found");
@@ -19076,7 +19188,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
/*
* Note that duplicate prohibitions were already
* handled at parsing time.
- */
+ */
/*
* Add to list of prohibitions.
*/
@@ -19129,7 +19241,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
*completeWild = tmpWild;
created = 1;
}
-
+
if (xmlSchemaIntersectWildcards(pctxt, *completeWild,
gr->attributeWildcard) == -1)
return(-1);
@@ -19139,7 +19251,8 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
* Just remove the reference if the referenced group does not
* contain any attribute uses.
*/
- if (gr->attrUses == NULL) {
+ sublist = ((xmlSchemaItemListPtr) gr->attrUses);
+ if ((sublist == NULL) || sublist->nbItems == 0) {
if (xmlSchemaItemListRemove(list, i) == -1)
return(-1);
i--;
@@ -19148,18 +19261,15 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
/*
* Add the attribute uses.
*/
- sublist = ((xmlSchemaItemListPtr) gr->attrUses);
- if (sublist->nbItems != 0) {
- list->items[i] = sublist->items[0];
- if (sublist->nbItems != 1) {
- for (j = 1; j < sublist->nbItems; j++) {
- i++;
- if (xmlSchemaItemListInsert(list,
- sublist->items[j], i) == -1)
- return(-1);
- }
+ list->items[i] = sublist->items[0];
+ if (sublist->nbItems != 1) {
+ for (j = 1; j < sublist->nbItems; j++) {
+ i++;
+ if (xmlSchemaItemListInsert(list,
+ sublist->items[j], i) == -1)
+ return(-1);
}
- }
+ }
}
}
@@ -19205,7 +19315,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
/**
* xmlSchemaAttributeGroupExpandRefs:
* @pctxt: the parser context
- * @attrGr: the attribute group definition
+ * @attrGr: the attribute group definition
*
* Computation of:
* {attribute uses} property
@@ -19217,7 +19327,7 @@ xmlSchemaExpandAttributeGroupRefs(xmlSchemaParserCtxtPtr pctxt,
static int
xmlSchemaAttributeGroupExpandRefs(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaAttributeGroupPtr attrGr)
-{
+{
if ((attrGr->attrUses == NULL) ||
(attrGr->flags & XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED))
return(0);
@@ -19225,33 +19335,33 @@ xmlSchemaAttributeGroupExpandRefs(xmlSchemaParserCtxtPtr pctxt,
attrGr->flags |= XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED;
if (xmlSchemaExpandAttributeGroupRefs(pctxt, WXS_BASIC_CAST attrGr,
&(attrGr->attributeWildcard), attrGr->attrUses, NULL) == -1)
- return(-1);
+ return(-1);
return(0);
}
/**
* xmlSchemaAttributeGroupExpandRefs:
* @pctxt: the parser context
- * @attrGr: the attribute group definition
+ * @attrGr: the attribute group definition
*
* Substitutes contained attribute group references
* for their attribute uses. Wilcards are intersected.
- *
+ *
* Schema Component Constraint:
- * Attribute Group Definition Properties Correct (ag-props-correct)
+ * Attribute Group Definition Properties Correct (ag-props-correct)
*/
static int
xmlSchemaCheckAGPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaAttributeGroupPtr attrGr)
-{
+{
/*
* SPEC ag-props-correct
* (1) "The values of the properties of an attribute group definition
* must be as described in the property tableau in The Attribute
- * Group Definition Schema Component (§3.6.1), modulo the impact of
- * Missing Sub-components (§5.3);"
+ * Group Definition Schema Component ($3.6.1), modulo the impact of
+ * Missing Sub-components ($5.3);"
*/
-
+
if ((attrGr->attrUses != NULL) &&
(WXS_LIST_CAST attrGr->attrUses)->nbItems > 1)
{
@@ -19260,7 +19370,7 @@ xmlSchemaCheckAGPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
int i, j, hasId = 0;
for (i = uses->nbItems -1; i >= 0; i--) {
- use = uses->items[i];
+ use = uses->items[i];
/*
* SPEC ag-props-correct
* (2) "Two distinct members of the {attribute uses} must not have
@@ -19276,7 +19386,7 @@ xmlSchemaCheckAGPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
WXS_ATTRUSE_DECL_TNS(tmp)))
{
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_AG_PROPS_CORRECT,
attrGr->node, WXS_BASIC_CAST attrGr,
@@ -19300,13 +19410,13 @@ xmlSchemaCheckAGPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
* are derived from ID."
* TODO: Does 'derived' include member-types of unions?
*/
- if (WXS_ATTRUSE_TYPEDEF(use) != NULL) {
+ if (WXS_ATTRUSE_TYPEDEF(use) != NULL) {
if (xmlSchemaIsDerivedFromBuiltInType(
WXS_ATTRUSE_TYPEDEF(use), XML_SCHEMAS_ID))
- {
+ {
if (hasId) {
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_AG_PROPS_CORRECT,
attrGr->node, WXS_BASIC_CAST attrGr,
@@ -19319,7 +19429,7 @@ xmlSchemaCheckAGPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
FREE_AND_NULL(str);
if (xmlSchemaItemListRemove(uses, i) == -1)
return(-1);
- }
+ }
hasId = 1;
}
}
@@ -19383,10 +19493,10 @@ xmlSchemaCheckAttrPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
* SPEC a-props-correct (1)
* "The values of the properties of an attribute declaration must
* be as described in the property tableau in The Attribute
- * Declaration Schema Component (§3.2.1), modulo the impact of
- * Missing Sub-components (§5.3)."
+ * Declaration Schema Component ($3.2.1), modulo the impact of
+ * Missing Sub-components ($5.3)."
*/
-
+
if (WXS_ATTR_TYPEDEF(attr) == NULL)
return(0);
@@ -19412,9 +19522,9 @@ xmlSchemaCheckAttrPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
/*
* SPEC a-props-correct (2)
* "if there is a {value constraint}, the canonical lexical
- * representation of its value must be ·valid· with respect
- * to the {type definition} as defined in String Valid (§3.14.4)."
- * TODO: Don't care about the *cononical* stuff here, this requirement
+ * representation of its value must be `valid` with respect
+ * to the {type definition} as defined in String Valid ($3.14.4)."
+ * TODO: Don't care about the *canonical* stuff here, this requirement
* will be removed in WXS 1.1 anyway.
*/
ret = xmlSchemaVCheckCVCSimpleType(ACTXT_CAST pctxt,
@@ -19435,7 +19545,7 @@ xmlSchemaCheckAttrPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
return(pctxt->err);
}
}
-
+
return(0);
}
@@ -19481,15 +19591,15 @@ xmlSchemaCheckElemPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
/*
* SPEC (1) "The values of the properties of an element declaration
* must be as described in the property tableau in The Element
- * Declaration Schema Component (§3.3.1), modulo the impact of Missing
- * Sub-components (§5.3)."
+ * Declaration Schema Component ($3.3.1), modulo the impact of Missing
+ * Sub-components ($5.3)."
*/
if (WXS_SUBST_HEAD(elemDecl) != NULL) {
xmlSchemaElementPtr head = WXS_SUBST_HEAD(elemDecl), circ;
xmlSchemaCheckElementDeclComponent(head, pctxt);
/*
- * SPEC (3) "If there is a non-·absent· {substitution group
+ * SPEC (3) "If there is a non-`absent` {substitution group
* affiliation}, then {scope} must be global."
*/
if ((elemDecl->flags & XML_SCHEMAS_ELEM_GLOBAL) == 0) {
@@ -19533,9 +19643,9 @@ xmlSchemaCheckElemPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
* of the element declaration must be validly derived from the {type
* definition} of the {substitution group affiliation}, given the value
* of the {substitution group exclusions} of the {substitution group
- * affiliation}, as defined in Type Derivation OK (Complex) (§3.4.6)
+ * affiliation}, as defined in Type Derivation OK (Complex) ($3.4.6)
* (if the {type definition} is complex) or as defined in
- * Type Derivation OK (Simple) (§3.14.6) (if the {type definition} is
+ * Type Derivation OK (Simple) ($3.14.6) (if the {type definition} is
* simple)."
*
* NOTE: {substitution group exclusions} means the values of the
@@ -19599,9 +19709,9 @@ xmlSchemaCheckElemPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
/*
* SPEC (2) "If there is a {value constraint}, the canonical lexical
- * representation of its value must be ·valid· with respect to the
+ * representation of its value must be `valid` with respect to the
* {type definition} as defined in Element Default Valid (Immediate)
- * (§3.3.6)."
+ * ($3.3.6)."
*/
if (typeDef == NULL) {
xmlSchemaPErr(pctxt, elemDecl->node,
@@ -19669,7 +19779,7 @@ xmlSchemaCheckElemSubstGroup(xmlSchemaParserCtxtPtr ctxt,
/*
* SPEC (2) "It is validly substitutable for HEAD subject to HEAD's
* {disallowed substitutions} as the blocking constraint, as defined in
- * Substitution Group OK (Transitive) (§3.3.6)."
+ * Substitution Group OK (Transitive) ($3.3.6)."
*/
for (head = WXS_SUBST_HEAD(elemDecl); head != NULL;
head = WXS_SUBST_HEAD(head)) {
@@ -19761,12 +19871,12 @@ add_member:
* @ctxtParticle: the first particle of the context component
* @searchParticle: the element declaration particle to be analysed
*
- * Schema Component Constraint: Element Declarations Consistent
+ * Schema Component Constraint: Element Declarations Consistent
*/
static int
xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
xmlSchemaBasicItemPtr ctxtComponent,
- xmlSchemaParticlePtr ctxtParticle,
+ xmlSchemaParticlePtr ctxtParticle,
xmlSchemaParticlePtr searchParticle,
xmlSchemaParticlePtr curParticle,
int search)
@@ -19775,7 +19885,7 @@ xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
int ret = 0;
xmlSchemaParticlePtr cur = curParticle;
- if (curParticle == NULL) {
+ if (curParticle == NULL) {
return(0);
}
if (WXS_PARTICLE_TERM(curParticle) == NULL) {
@@ -19784,7 +19894,7 @@ xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
* might arise due to an invalid "term" component.
*/
return(0);
- }
+ }
while (cur != NULL) {
switch (WXS_PARTICLE_TERM(cur)->type) {
case XML_SCHEMA_TYPE_ANY:
@@ -19794,7 +19904,7 @@ xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
ret = xmlSchemaCheckElementDeclConsistent(pctxt,
ctxtComponent, ctxtParticle, cur, ctxtParticle, 1);
if (ret != 0)
- return(ret);
+ return(ret);
} else {
xmlSchemaElementPtr elem =
WXS_ELEM_CAST(WXS_PARTICLE_TERM(cur));
@@ -19802,7 +19912,7 @@ xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
* SPEC Element Declarations Consistent:
* "If the {particles} contains, either directly,
* indirectly (that is, within the {particles} of a
- * contained model group, recursively) or ·implicitly·
+ * contained model group, recursively) or `implicitly`
* two or more element declaration particles with
* the same {name} and {target namespace}, then
* all their type definitions must be the same
@@ -19814,7 +19924,7 @@ xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
WXS_PARTICLE_TERM_AS_ELEM(searchParticle)->targetNamespace))
{
xmlChar *strA = NULL, *strB = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
/* TODO: error code */
XML_SCHEMAP_COS_NONAMBIG,
@@ -19831,16 +19941,16 @@ xmlSchemaCheckElementDeclConsistent(xmlSchemaParserCtxtPtr pctxt,
FREE_AND_NULL(strB);
return(XML_SCHEMAP_COS_NONAMBIG);
}
- }
+ }
break;
- case XML_SCHEMA_TYPE_SEQUENCE: {
+ case XML_SCHEMA_TYPE_SEQUENCE: {
break;
}
case XML_SCHEMA_TYPE_CHOICE:{
/*
xmlSchemaTreeItemPtr sub;
-
- sub = WXS_PARTICLE_TERM(particle)->children; (xmlSchemaParticlePtr)
+
+ sub = WXS_PARTICLE_TERM(particle)->children; (xmlSchemaParticlePtr)
while (sub != NULL) {
ret = xmlSchemaCheckElementDeclConsistent(pctxt, ctxtComponent,
ctxtParticle, ctxtElem);
@@ -19877,7 +19987,7 @@ exit:
* @name: the name of the attribute
*
* Validates the value constraints of an element declaration.
- * Adds substitution group members.
+ * Adds substitution group members.
*/
static void
xmlSchemaCheckElementDeclComponent(xmlSchemaElementPtr elemDecl,
@@ -19892,7 +20002,7 @@ xmlSchemaCheckElementDeclComponent(xmlSchemaElementPtr elemDecl,
/*
* Adds substitution group members.
*/
- xmlSchemaCheckElemSubstGroup(ctxt, elemDecl);
+ xmlSchemaCheckElemSubstGroup(ctxt, elemDecl);
}
}
@@ -19922,7 +20032,7 @@ xmlSchemaResolveModelGroupParticleReferences(
XML_SCHEMA_EXTRA_QNAMEREF))
{
goto next_particle;
- }
+ }
ref = WXS_QNAME_CAST WXS_PARTICLE_TERM(particle);
/*
* Resolve the reference.
@@ -19938,7 +20048,7 @@ xmlSchemaResolveModelGroupParticleReferences(
ref->targetNamespace, ref->itemType, NULL);
/* TODO: remove the particle. */
goto next_particle;
- }
+ }
if (refItem->type == XML_SCHEMA_TYPE_GROUP) {
if (WXS_MODELGROUPDEF_MODEL(refItem) == NULL)
/* TODO: remove the particle. */
@@ -19988,9 +20098,9 @@ next_particle:
static int
xmlSchemaAreValuesEqual(xmlSchemaValPtr x,
- xmlSchemaValPtr y)
-{
- xmlSchemaTypePtr tx, ty, ptx, pty;
+ xmlSchemaValPtr y)
+{
+ xmlSchemaTypePtr tx, ty, ptx, pty;
int ret;
while (x != NULL) {
@@ -20000,12 +20110,12 @@ xmlSchemaAreValuesEqual(xmlSchemaValPtr x,
ptx = xmlSchemaGetPrimitiveType(tx);
pty = xmlSchemaGetPrimitiveType(ty);
/*
- * (1) if a datatype T' is ·derived· by ·restriction· from an
- * atomic datatype T then the ·value space· of T' is a subset of
- * the ·value space· of T. */
+ * (1) if a datatype T' is `derived` by `restriction` from an
+ * atomic datatype T then the `value space` of T' is a subset of
+ * the `value space` of T. */
/*
- * (2) if datatypes T' and T'' are ·derived· by ·restriction·
- * from a common atomic ancestor T then the ·value space·s of T'
+ * (2) if datatypes T' and T'' are `derived` by `restriction`
+ * from a common atomic ancestor T then the `value space`s of T'
* and T'' may overlap.
*/
if (ptx != pty)
@@ -20036,7 +20146,7 @@ xmlSchemaAreValuesEqual(xmlSchemaValPtr x,
if (x != NULL) {
y = xmlSchemaValueGetNext(y);
if (y == NULL)
- return (0);
+ return (0);
} else if (xmlSchemaValueGetNext(y) != NULL)
return (0);
else
@@ -20073,7 +20183,7 @@ xmlSchemaResolveAttrUseReferences(xmlSchemaAttributeUsePtr ause,
ref->name, ref->targetNamespace);
if (ause->attrDecl == NULL) {
xmlSchemaPResCompAttrErr(ctxt,
- XML_SCHEMAP_SRC_RESOLVE,
+ XML_SCHEMAP_SRC_RESOLVE,
WXS_BASIC_CAST ause, ause->node,
"ref", ref->name, ref->targetNamespace,
XML_SCHEMA_TYPE_ATTRIBUTE, NULL);
@@ -20086,11 +20196,11 @@ xmlSchemaResolveAttrUseReferences(xmlSchemaAttributeUsePtr ause,
/**
* xmlSchemaCheckAttrUsePropsCorrect:
* @ctxt: a parser context
- * @use: an attribute use
+ * @use: an attribute use
*
* Schema Component Constraint:
* Attribute Use Correct (au-props-correct)
- *
+ *
*/
static int
xmlSchemaCheckAttrUsePropsCorrect(xmlSchemaParserCtxtPtr ctxt,
@@ -20100,16 +20210,16 @@ xmlSchemaCheckAttrUsePropsCorrect(xmlSchemaParserCtxtPtr ctxt,
return(-1);
if ((use->defValue == NULL) || (WXS_ATTRUSE_DECL(use) == NULL) ||
((WXS_ATTRUSE_DECL(use))->type != XML_SCHEMA_TYPE_ATTRIBUTE))
- return(0);
+ return(0);
/*
* SPEC au-props-correct (1)
* "The values of the properties of an attribute use must be as
* described in the property tableau in The Attribute Use Schema
- * Component (§3.5.1), modulo the impact of Missing
- * Sub-components (§5.3)."
+ * Component ($3.5.1), modulo the impact of Missing
+ * Sub-components ($5.3)."
*/
-
+
if (((WXS_ATTRUSE_DECL(use))->defValue != NULL) &&
((WXS_ATTRUSE_DECL(use))->flags & XML_SCHEMAS_ATTR_FIXED) &&
((use->flags & XML_SCHEMA_ATTR_USE_FIXED) == 0))
@@ -20129,7 +20239,7 @@ xmlSchemaCheckAttrUsePropsCorrect(xmlSchemaParserCtxtPtr ctxt,
if ((use->defVal != NULL) && (WXS_ATTRUSE_TYPEDEF(use) != NULL)) {
int ret;
/*
- * TODO: The spec seems to be missing a check of the
+ * TODO: The spec seems to be missing a check of the
* value constraint of the attribute use. We will do it here.
*/
/*
@@ -20146,7 +20256,7 @@ xmlSchemaCheckAttrUsePropsCorrect(xmlSchemaParserCtxtPtr ctxt,
NULL, NULL);
return(ctxt->err);
}
-
+
ret = xmlSchemaVCheckCVCSimpleType(ACTXT_CAST ctxt,
use->node, WXS_ATTRUSE_TYPEDEF(use),
use->defValue, &(use->defVal),
@@ -20197,7 +20307,7 @@ xmlSchemaCheckAttrUsePropsCorrect(xmlSchemaParserCtxtPtr ctxt,
/**
* xmlSchemaResolveAttrTypeReferences:
* @item: an attribute declaration
- * @ctxt: a parser context
+ * @ctxt: a parser context
*
* Resolves the referenced type definition component.
*/
@@ -20208,8 +20318,8 @@ xmlSchemaResolveAttrTypeReferences(xmlSchemaAttributePtr item,
/*
* The simple type definition corresponding to the <simpleType> element
* information item in the [children], if present, otherwise the simple
- * type definition ·resolved· to by the ·actual value· of the type
- * [attribute], if present, otherwise the ·simple ur-type definition·.
+ * type definition `resolved` to by the `actual value` of the type
+ * [attribute], if present, otherwise the `simple ur-type definition`.
*/
if (item->flags & XML_SCHEMAS_ATTR_INTERNAL_RESOLVED)
return(0);
@@ -20288,7 +20398,7 @@ xmlSchemaResolveIDCKeyReferences(xmlSchemaIDCPtr idc,
((xmlSchemaIDCPtr) idc->ref->item)->nbFields) {
xmlChar *str = NULL;
xmlSchemaIDCPtr refer;
-
+
refer = (xmlSchemaIDCPtr) idc->ref->item;
/*
* SPEC c-props-correct(2)
@@ -20347,7 +20457,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
int wasRedefined;
if (redef == NULL)
- return(0);
+ return(0);
do {
item = redef->item;
@@ -20362,7 +20472,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
* <redefine>d schema. Currenlty we latter approach is used.
* SUPPLEMENT: It seems that the WG moves towards the latter
* approach, so we are doing it right.
- *
+ *
*/
prev = xmlSchemaFindRedefCompInGraph(
redef->targetBucket, item->type,
@@ -20373,11 +20483,11 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
/*
* SPEC src-redefine:
- * (6.2.1) "The ·actual value· of its own name attribute plus
- * target namespace must successfully ·resolve· to a model
+ * (6.2.1) "The `actual value` of its own name attribute plus
+ * target namespace must successfully `resolve` to a model
* group definition in I."
- * (7.2.1) "The ·actual value· of its own name attribute plus
- * target namespace must successfully ·resolve· to an attribute
+ * (7.2.1) "The `actual value` of its own name attribute plus
+ * target namespace must successfully `resolve` to an attribute
* group definition in I."
*
@@ -20394,7 +20504,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
/*
* TODO: error code.
* Probably XML_SCHEMAP_SRC_RESOLVE, if this is using the
- * reference kind.
+ * reference kind.
*/
XML_SCHEMAP_SRC_REDEFINE, node, NULL,
"The %s '%s' to be redefined could not be found in "
@@ -20402,7 +20512,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
WXS_ITEM_TYPE_NAME(item),
xmlSchemaFormatQName(&str, redef->refTargetNs,
redef->refName));
- FREE_AND_NULL(str);
+ FREE_AND_NULL(str);
err = pctxt->err;
redef = redef->next;
continue;
@@ -20428,7 +20538,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
* base type of the redefining type.
* TODO: How
*/
- ((xmlSchemaTypePtr) item)->baseType =
+ ((xmlSchemaTypePtr) item)->baseType =
(xmlSchemaTypePtr) prev;
break;
case XML_SCHEMA_TYPE_GROUP:
@@ -20483,7 +20593,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
default:
PERROR_INT("xmlSchemaResolveRedefReferences",
"Unexpected redefined component type");
- return(-1);
+ return(-1);
}
if (wasRedefined) {
xmlChar *str = NULL;
@@ -20493,7 +20603,7 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
node = WXS_ITEM_NODE(redef->reference);
else
node = WXS_ITEM_NODE(redef->item);
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
/* TODO: error code. */
XML_SCHEMAP_SRC_REDEFINE,
@@ -20502,12 +20612,12 @@ xmlSchemaCheckSRCRedefineFirst(xmlSchemaParserCtxtPtr pctxt)
"redefinition of the same component is not supported",
xmlSchemaGetComponentDesignation(&str, prev),
NULL);
- FREE_AND_NULL(str)
+ FREE_AND_NULL(str)
err = pctxt->err;
redef = redef->next;
continue;
}
- redef = redef->next;
+ redef = redef->next;
} while (redef != NULL);
return(err);
@@ -20521,7 +20631,7 @@ xmlSchemaCheckSRCRedefineSecond(xmlSchemaParserCtxtPtr pctxt)
xmlSchemaBasicItemPtr item;
if (redef == NULL)
- return(0);
+ return(0);
do {
if (redef->target == NULL) {
@@ -20529,7 +20639,7 @@ xmlSchemaCheckSRCRedefineSecond(xmlSchemaParserCtxtPtr pctxt)
continue;
}
item = redef->item;
-
+
switch (item->type) {
case XML_SCHEMA_TYPE_SIMPLE:
case XML_SCHEMA_TYPE_COMPLEX:
@@ -20538,7 +20648,7 @@ xmlSchemaCheckSRCRedefineSecond(xmlSchemaParserCtxtPtr pctxt)
* type to be 'absent', we'll NULL it.
*/
(WXS_TYPE_CAST redef->target)->name = NULL;
-
+
/*
* TODO: Seems like there's nothing more to do. The normal
* inheritance mechanism is used. But not 100% sure.
@@ -20550,10 +20660,10 @@ xmlSchemaCheckSRCRedefineSecond(xmlSchemaParserCtxtPtr pctxt)
* SPEC src-redefine:
* (6.2.2) "The {model group} of the model group definition
* which corresponds to it per XML Representation of Model
- * Group Definition Schema Components (§3.7.2) must be a
- * ·valid restriction· of the {model group} of that model
+ * Group Definition Schema Components ($3.7.2) must be a
+ * `valid restriction` of the {model group} of that model
* group definition in I, as defined in Particle Valid
- * (Restriction) (§3.9.6)."
+ * (Restriction) ($3.9.6)."
*/
break;
case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
@@ -20562,11 +20672,11 @@ xmlSchemaCheckSRCRedefineSecond(xmlSchemaParserCtxtPtr pctxt)
* (7.2.2) "The {attribute uses} and {attribute wildcard} of
* the attribute group definition which corresponds to it
* per XML Representation of Attribute Group Definition Schema
- * Components (§3.6.2) must be ·valid restrictions· of the
+ * Components ($3.6.2) must be `valid restrictions` of the
* {attribute uses} and {attribute wildcard} of that attribute
* group definition in I, as defined in clause 2, clause 3 and
* clause 4 of Derivation Valid (Restriction, Complex)
- * (§3.4.6) (where references to the base type definition are
+ * ($3.4.6) (where references to the base type definition are
* understood as references to the attribute group definition
* in I)."
*/
@@ -20587,7 +20697,7 @@ xmlSchemaCheckSRCRedefineSecond(xmlSchemaParserCtxtPtr pctxt)
} while (redef != NULL);
return(0);
}
-
+
static int
xmlSchemaAddComponents(xmlSchemaParserCtxtPtr pctxt,
@@ -20621,8 +20731,8 @@ xmlSchemaAddComponents(xmlSchemaParserCtxtPtr pctxt,
return(-1);
if (bucket->flags & XML_SCHEMA_BUCKET_COMPS_ADDED)
return(0);
- bucket->flags |= XML_SCHEMA_BUCKET_COMPS_ADDED;
-
+ bucket->flags |= XML_SCHEMA_BUCKET_COMPS_ADDED;
+
for (i = 0; i < bucket->globals->nbItems; i++) {
item = bucket->globals->items[i];
table = NULL;
@@ -20663,12 +20773,12 @@ xmlSchemaAddComponents(xmlSchemaParserCtxtPtr pctxt,
case XML_SCHEMA_TYPE_NOTATION:
name = ((xmlSchemaNotationPtr) item)->name;
WXS_GET_GLOBAL_HASH(bucket, notaDecl)
- break;
+ break;
default:
PERROR_INT("xmlSchemaAddComponents",
"Unexpected global component type");
- continue;
- }
+ continue;
+ }
if (*table == NULL) {
*table = xmlHashCreateDict(10, pctxt->dict);
if (*table == NULL) {
@@ -20676,11 +20786,11 @@ xmlSchemaAddComponents(xmlSchemaParserCtxtPtr pctxt,
"failed to create a component hash table");
return(-1);
}
- }
+ }
err = xmlHashAddEntry(*table, name, item);
- if (err != 0) {
+ if (err != 0) {
xmlChar *str = NULL;
-
+
xmlSchemaCustomErr(ACTXT_CAST pctxt,
XML_SCHEMAP_REDEFINED_TYPE,
WXS_ITEM_NODE(item),
@@ -20688,7 +20798,7 @@ xmlSchemaAddComponents(xmlSchemaParserCtxtPtr pctxt,
"A global %s '%s' does already exist",
WXS_ITEM_TYPE_NAME(item),
xmlSchemaGetComponentQName(&str, item));
- FREE_AND_NULL(str);
+ FREE_AND_NULL(str);
}
}
/*
@@ -20722,34 +20832,34 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
if ((con->pending == NULL) ||
(con->pending->nbItems == 0))
- return(0);
+ return(0);
/*
* Since xmlSchemaFixupComplexType() will create new particles
* (local components), and those particle components need a bucket
* on the constructor, we'll assure here that the constructor has
* a bucket.
- * TODO: Think about storing locals _only_ on the main bucket.
- */
+ * TODO: Think about storing locals _only_ on the main bucket.
+ */
if (con->bucket == NULL)
- con->bucket = rootBucket;
+ con->bucket = rootBucket;
/* TODO:
* SPEC (src-redefine):
* (6.2) "If it has no such self-reference, then all of the
* following must be true:"
-
+
* (6.2.2) The {model group} of the model group definition which
* corresponds to it per XML Representation of Model Group
- * Definition Schema Components (§3.7.2) must be a ·valid
- * restriction· of the {model group} of that model group definition
- * in I, as defined in Particle Valid (Restriction) (§3.9.6)."
+ * Definition Schema Components ($3.7.2) must be a `valid
+ * restriction` of the {model group} of that model group definition
+ * in I, as defined in Particle Valid (Restriction) ($3.9.6)."
*/
xmlSchemaCheckSRCRedefineFirst(pctxt);
/*
* Add global components to the schemata's hash tables.
- */
+ */
xmlSchemaAddComponents(pctxt, rootBucket);
pctxt->ctxtType = NULL;
@@ -20759,7 +20869,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
* Now that we have parsed *all* the schema document(s) and converted
* them to schema components, we can resolve references, apply component
* constraints, create the FSA from the content model, etc.
- */
+ */
/*
* Resolve references of..
*
@@ -20780,7 +20890,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
* 6. IDC key-references:
* - the referenced IDC 'key' or 'unique' definition
* 7. Attribute prohibitions which had a "ref" attribute.
- */
+ */
for (i = 0; i < nbItems; i++) {
item = items[i];
switch (item->type) {
@@ -20806,7 +20916,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
FIXHFAILURE;
break;
case XML_SCHEMA_EXTRA_QNAMEREF:
- if ((WXS_QNAME_CAST item)->itemType ==
+ if ((WXS_QNAME_CAST item)->itemType ==
XML_SCHEMA_TYPE_ATTRIBUTEGROUP)
{
xmlSchemaResolveAttrGroupReferences(
@@ -20843,11 +20953,11 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
}
if (pctxt->nberrors != 0)
goto exit_error;
-
+
/*
* Now that all references are resolved we
* can check for circularity of...
- * 1. the base axis of type definitions
+ * 1. the base axis of type definitions
* 2. nested model group definitions
* 3. nested attribute group definitions
* TODO: check for circual substitution groups.
@@ -20882,7 +20992,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
break;
default:
break;
- }
+ }
}
if (pctxt->nberrors != 0)
goto exit_error;
@@ -20898,7 +21008,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
item = items[i];
switch (item->type) {
case XML_SCHEMA_TYPE_SEQUENCE:
- case XML_SCHEMA_TYPE_CHOICE:
+ case XML_SCHEMA_TYPE_CHOICE:
xmlSchemaModelGroupToModelGroupDefFixup(pctxt,
WXS_MODEL_GROUP_CAST item);
break;
@@ -20929,7 +21039,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
}
if (pctxt->nberrors != 0)
goto exit_error;
- /*
+ /*
* First compute the variety of simple types. This is needed as
* a seperate step, since otherwise we won't be able to detect
* circular union types in all cases.
@@ -20959,7 +21069,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
switch (item->type) {
case XML_SCHEMA_TYPE_SIMPLE:
if (((xmlSchemaTypePtr) item)->memberTypes != NULL) {
- xmlSchemaCheckUnionTypeDefCircular(pctxt,
+ xmlSchemaCheckUnionTypeDefCircular(pctxt,
(xmlSchemaTypePtr) item);
FIXHFAILURE;
}
@@ -20970,7 +21080,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
}
if (pctxt->nberrors != 0)
goto exit_error;
-
+
/*
* Do the complete type fixup for simple types.
*/
@@ -20998,10 +21108,10 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
for (i = 0; i < nbItems; i++) {
item = items[i];
switch (item->type) {
- case XML_SCHEMA_TYPE_ATTRIBUTE:
+ case XML_SCHEMA_TYPE_ATTRIBUTE:
xmlSchemaCheckAttrPropsCorrect(pctxt, WXS_ATTR_CAST item);
FIXHFAILURE;
- break;
+ break;
default:
break;
}
@@ -21010,7 +21120,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
goto exit_error;
/*
* Apply constraints for attribute uses.
- */
+ */
for (i = 0; i < nbItems; i++) {
item = items[i];
switch (item->type) {
@@ -21057,7 +21167,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
if (pctxt->nberrors != 0)
goto exit_error;
- /*
+ /*
* Complex types are builded and checked.
*/
for (i = 0; i < nbItems; i++) {
@@ -21081,8 +21191,8 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
* will create particles and model groups in some cases.
*/
items = (xmlSchemaTreeItemPtr *) con->pending->items;
- nbItems = con->pending->nbItems;
-
+ nbItems = con->pending->nbItems;
+
/*
* Apply some constraints for element declarations.
*/
@@ -21091,7 +21201,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
switch (item->type) {
case XML_SCHEMA_TYPE_ELEMENT:
elemDecl = (xmlSchemaElementPtr) item;
-
+
if ((elemDecl->flags & XML_SCHEMAS_ELEM_INTERNAL_CHECKED) == 0)
{
xmlSchemaCheckElementDeclComponent(
@@ -21121,7 +21231,7 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
}
if (pctxt->nberrors != 0)
goto exit_error;
-
+
/*
* Finally we can build the automaton from the content model of
* complex types.
@@ -21142,10 +21252,10 @@ xmlSchemaFixupComponents(xmlSchemaParserCtxtPtr pctxt,
goto exit_error;
/*
* URGENT TODO: cos-element-consistent
- */
- goto exit;
+ */
+ goto exit;
-exit_error:
+exit_error:
ret = pctxt->err;
goto exit;
@@ -21159,12 +21269,12 @@ exit:
* if not cleared here.
*/
con->bucket = oldbucket;
- con->pending->nbItems = 0;
+ con->pending->nbItems = 0;
if (con->substGroups != NULL) {
xmlHashFree(con->substGroups,
(xmlHashDeallocator) xmlSchemaSubstGroupFree);
con->substGroups = NULL;
- }
+ }
if (con->redefs != NULL) {
xmlSchemaRedefListFree(con->redefs);
con->redefs = NULL;
@@ -21227,11 +21337,11 @@ xmlSchemaParse(xmlSchemaParserCtxtPtr ctxt)
if (res == -1)
goto exit_failure;
if (res != 0)
- goto exit;
+ goto exit;
if (bucket == NULL) {
/* TODO: Error code, actually we failed to *locate* the schema. */
- if (ctxt->URL)
+ if (ctxt->URL)
xmlSchemaCustomErr(ACTXT_CAST ctxt, XML_SCHEMAP_FAILED_LOAD,
NULL, NULL,
"Failed to locate the main schema resource at '%s'",
@@ -21242,16 +21352,16 @@ xmlSchemaParse(xmlSchemaParserCtxtPtr ctxt)
"Failed to locate the main schema resource",
NULL, NULL);
goto exit;
- }
+ }
/* Then do the parsing for good. */
if (xmlSchemaParseNewDocWithContext(ctxt, mainSchema, bucket) == -1)
goto exit_failure;
if (ctxt->nberrors != 0)
goto exit;
-
+
mainSchema->doc = bucket->doc;
mainSchema->preserve = ctxt->preserve;
-
+
ctxt->schema = mainSchema;
if (xmlSchemaFixupComponents(ctxt, WXS_CONSTRUCTOR(ctxt)->mainBucket) == -1)
@@ -21261,8 +21371,8 @@ xmlSchemaParse(xmlSchemaParserCtxtPtr ctxt)
* TODO: This is not nice, since we cannot distinguish from the
* result if there was an internal error or not.
*/
-exit:
- if (ctxt->nberrors != 0) {
+exit:
+ if (ctxt->nberrors != 0) {
if (mainSchema) {
xmlSchemaFree(mainSchema);
mainSchema = NULL;
@@ -21276,7 +21386,7 @@ exit:
ctxt->schema = NULL;
return(mainSchema);
exit_failure:
- /*
+ /*
* Quite verbose, but should catch internal errors, which were
* not communitated.
*/
@@ -21290,7 +21400,7 @@ exit_failure:
ctxt->ownsConstructor = 0;
}
PERROR_INT2("xmlSchemaParse",
- "An internal error occured");
+ "An internal error occured");
ctxt->schema = NULL;
return(NULL);
}
@@ -21427,8 +21537,8 @@ xmlSchemaGetWhiteSpaceFacetValue(xmlSchemaTypePtr type)
return(XML_SCHEMA_WHITESPACE_REPLACE);
else {
/*
- * For all ·atomic· datatypes other than string (and types ·derived·
- * by ·restriction· from it) the value of whiteSpace is fixed to
+ * For all `atomic` datatypes other than string (and types `derived`
+ * by `restriction` from it) the value of whiteSpace is fixed to
* collapse
* Note that this includes built-in list datatypes.
*/
@@ -21453,16 +21563,16 @@ xmlSchemaGetWhiteSpaceFacetValue(xmlSchemaTypePtr type)
}
/************************************************************************
- * *
- * Simple type validation *
- * *
+ * *
+ * Simple type validation *
+ * *
************************************************************************/
/************************************************************************
- * *
- * DOM Validation code *
- * *
+ * *
+ * DOM Validation code *
+ * *
************************************************************************/
/**
@@ -21515,11 +21625,11 @@ xmlSchemaAssembleByLocation(xmlSchemaValidCtxtPtr vctxt,
* XML_SCHEMA_SCHEMA_MAIN if it is the first schema document.
*/
ret = xmlSchemaAddSchemaDoc(pctxt, XML_SCHEMA_SCHEMA_IMPORT,
- location, NULL, NULL, 0, node, NULL, nsName,
+ location, NULL, NULL, 0, node, NULL, nsName,
&bucket);
if (ret != 0)
- return(ret);
- if (bucket == NULL) {
+ return(ret);
+ if (bucket == NULL) {
/*
* Generate a warning that the document could not be located.
*/
@@ -21549,17 +21659,17 @@ xmlSchemaAssembleByLocation(xmlSchemaValidCtxtPtr vctxt,
pctxt->nberrors = 0;
pctxt->err = 0;
pctxt->doc = bucket->doc;
-
- ret = xmlSchemaParseNewDocWithContext(pctxt, schema, bucket);
+
+ ret = xmlSchemaParseNewDocWithContext(pctxt, schema, bucket);
if (ret == -1) {
pctxt->doc = NULL;
goto exit_failure;
}
/* Paranoid error channelling. */
if ((ret == 0) && (pctxt->nberrors != 0))
- ret = pctxt->err;
- if (pctxt->nberrors == 0) {
- /*
+ ret = pctxt->err;
+ if (pctxt->nberrors == 0) {
+ /*
* Only bother to fixup pending components, if there was
* no error yet.
* For every XSI acquired schema (and its sub-schemata) we will
@@ -21575,7 +21685,7 @@ xmlSchemaAssembleByLocation(xmlSchemaValidCtxtPtr vctxt,
vctxt->err = ret;
vctxt->nberrors += pctxt->nberrors;
} else {
- /* Add to validation error sum. */
+ /* Add to validation error sum. */
vctxt->nberrors += pctxt->nberrors;
}
pctxt->doc = NULL;
@@ -21586,7 +21696,7 @@ exit_failure:
}
static xmlSchemaAttrInfoPtr
-xmlSchemaGetMetaAttrInfo(xmlSchemaValidCtxtPtr vctxt,
+xmlSchemaGetMetaAttrInfo(xmlSchemaValidCtxtPtr vctxt,
int metaType)
{
if (vctxt->nbAttrInfos == 0)
@@ -21676,7 +21786,7 @@ xmlSchemaAssembleByXSI(xmlSchemaValidCtxtPtr vctxt)
/*
* If using @schemaLocation then tuples are expected.
* I.e. the namespace name *and* the document's URI.
- */
+ */
xmlSchemaCustomWarning(ACTXT_CAST vctxt, XML_SCHEMAV_MISC,
iattr->node, NULL,
"The value must consist of tuples: the target namespace "
@@ -21705,7 +21815,7 @@ xmlSchemaLookupNamespace(xmlSchemaValidCtxtPtr vctxt,
if (vctxt->sax != NULL) {
int i, j;
xmlSchemaNodeInfoPtr inode;
-
+
for (i = vctxt->depth; i >= 0; i--) {
if (vctxt->elemInfos[i]->nbNsBindings != 0) {
inode = vctxt->elemInfos[i];
@@ -21719,16 +21829,16 @@ xmlSchemaLookupNamespace(xmlSchemaValidCtxtPtr vctxt,
* Note that the namespace bindings are already
* in a string dict.
*/
- return (inode->nsBindings[j+1]);
+ return (inode->nsBindings[j+1]);
}
}
}
}
return (NULL);
-#ifdef LIBXML_WRITER_ENABLED
+#ifdef LIBXML_READER_ENABLED
} else if (vctxt->reader != NULL) {
xmlChar *nsName;
-
+
nsName = xmlTextReaderLookupNamespace(vctxt->reader, prefix);
if (nsName != NULL) {
const xmlChar *ret;
@@ -21760,7 +21870,7 @@ xmlSchemaLookupNamespace(xmlSchemaValidCtxtPtr vctxt,
* This one works on the schema of the validation context.
*/
static int
-xmlSchemaValidateNotation(xmlSchemaValidCtxtPtr vctxt,
+xmlSchemaValidateNotation(xmlSchemaValidCtxtPtr vctxt,
xmlSchemaPtr schema,
xmlNodePtr node,
const xmlChar *value,
@@ -21785,7 +21895,7 @@ xmlSchemaValidateNotation(xmlSchemaValidCtxtPtr vctxt,
if (prefix != NULL) {
const xmlChar *nsName = NULL;
- if (vctxt != NULL)
+ if (vctxt != NULL)
nsName = xmlSchemaLookupNamespace(vctxt, BAD_CAST prefix);
else if (node != NULL) {
xmlNsPtr ns = xmlSearchNs(node->doc, node, prefix);
@@ -21802,9 +21912,9 @@ xmlSchemaValidateNotation(xmlSchemaValidCtxtPtr vctxt,
return (1);
}
if (xmlSchemaGetNotation(schema, localName, nsName) != NULL) {
- if (valNeeded && (val != NULL)) {
- (*val) = xmlSchemaNewNOTATIONValue(BAD_CAST localName,
- BAD_CAST xmlStrdup(nsName));
+ if ((valNeeded) && (val != NULL)) {
+ (*val) = xmlSchemaNewNOTATIONValue(xmlStrdup(localName),
+ xmlStrdup(nsName));
if (*val == NULL)
ret = -1;
}
@@ -21856,9 +21966,9 @@ xmlSchemaVAddNodeQName(xmlSchemaValidCtxtPtr vctxt,
}
/************************************************************************
- * *
+ * *
* Validation of identity-constraints (IDC) *
- * *
+ * *
************************************************************************/
/**
@@ -21900,6 +22010,20 @@ xmlSchemaAugmentIDC(xmlSchemaIDCPtr idcDef,
}
/**
+ * xmlSchemaAugmentImportedIDC:
+ * @imported: the imported schema
+ *
+ * Creates an augmented IDC definition for the imported schema.
+ */
+static void
+xmlSchemaAugmentImportedIDC(xmlSchemaImportPtr imported, xmlSchemaValidCtxtPtr vctxt) {
+ if (imported->schema->idcDef != NULL) {
+ xmlHashScan(imported->schema->idcDef ,
+ (xmlHashScanner) xmlSchemaAugmentIDC, vctxt);
+ }
+}
+
+/**
* xmlSchemaIDCNewBinding:
* @idcDef: the IDC definition of this binding
*
@@ -22123,7 +22247,7 @@ xmlSchemaIDCFreeBinding(xmlSchemaPSVIIDCBindingPtr bind)
if (bind->nodeTable != NULL)
xmlFree(bind->nodeTable);
if (bind->dupls != NULL)
- xmlSchemaItemListFree(bind->dupls);
+ xmlSchemaItemListFree(bind->dupls);
xmlFree(bind);
}
@@ -22158,12 +22282,12 @@ xmlSchemaIDCFreeMatcherList(xmlSchemaIDCMatcherPtr matcher)
while (matcher != NULL) {
next = matcher->next;
- if (matcher->keySeqs != NULL) {
+ if (matcher->keySeqs != NULL) {
int i;
for (i = 0; i < matcher->sizeKeySeqs; i++)
if (matcher->keySeqs[i] != NULL)
xmlFree(matcher->keySeqs[i]);
- xmlFree(matcher->keySeqs);
+ xmlFree(matcher->keySeqs);
}
if (matcher->targets != NULL) {
if (matcher->idcType == XML_SCHEMA_TYPE_IDC_KEYREF) {
@@ -22203,7 +22327,7 @@ xmlSchemaIDCReleaseMatcherList(xmlSchemaValidCtxtPtr vctxt,
while (matcher != NULL) {
next = matcher->next;
- if (matcher->keySeqs != NULL) {
+ if (matcher->keySeqs != NULL) {
int i;
/*
* Don't free the array, but only the content.
@@ -22232,7 +22356,7 @@ xmlSchemaIDCReleaseMatcherList(xmlSchemaValidCtxtPtr vctxt,
}
xmlSchemaItemListFree(matcher->targets);
matcher->targets = NULL;
- }
+ }
matcher->next = NULL;
/*
* Cache the matcher.
@@ -22274,7 +22398,7 @@ xmlSchemaIDCAddStateObject(xmlSchemaValidCtxtPtr vctxt,
sto = vctxt->xpathStatePool;
vctxt->xpathStatePool = sto->next;
sto->next = NULL;
- } else {
+ } else {
/*
* Create a new state object.
*/
@@ -22285,10 +22409,10 @@ xmlSchemaIDCAddStateObject(xmlSchemaValidCtxtPtr vctxt,
return (-1);
}
memset(sto, 0, sizeof(xmlSchemaIDCStateObj));
- }
+ }
/*
- * Add to global list.
- */
+ * Add to global list.
+ */
if (vctxt->xpathStates != NULL)
sto->next = vctxt->xpathStates;
vctxt->xpathStates = sto;
@@ -22308,13 +22432,13 @@ xmlSchemaIDCAddStateObject(xmlSchemaValidCtxtPtr vctxt,
VERROR_INT("xmlSchemaIDCAddStateObject",
"failed to create an XPath validation context");
return (-1);
- }
+ }
sto->type = type;
sto->depth = vctxt->depth;
sto->matcher = matcher;
sto->sel = sel;
sto->nbHistory = 0;
-
+
#ifdef DEBUG_IDC
xmlGenericError(xmlGenericErrorContext, "IDC: STO push '%s'\n",
sto->sel->xpath);
@@ -22338,7 +22462,7 @@ xmlSchemaXPathEvaluate(xmlSchemaValidCtxtPtr vctxt,
{
xmlSchemaIDCStateObjPtr sto, head = NULL, first;
int res, resolved = 0, depth = vctxt->depth;
-
+
if (vctxt->xpathStates == NULL)
return (0);
@@ -22347,8 +22471,8 @@ xmlSchemaXPathEvaluate(xmlSchemaValidCtxtPtr vctxt,
#ifdef DEBUG_IDC
{
xmlChar *str = NULL;
- xmlGenericError(xmlGenericErrorContext,
- "IDC: EVAL on %s, depth %d, type %d\n",
+ xmlGenericError(xmlGenericErrorContext,
+ "IDC: EVAL on %s, depth %d, type %d\n",
xmlSchemaFormatQName(&str, vctxt->inode->nsName,
vctxt->inode->localName), depth, nodeType);
FREE_AND_NULL(str)
@@ -22362,10 +22486,10 @@ xmlSchemaXPathEvaluate(xmlSchemaValidCtxtPtr vctxt,
while (sto != head) {
#ifdef DEBUG_IDC
if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_SELECTOR)
- xmlGenericError(xmlGenericErrorContext, "IDC: ['%s'] selector '%s'\n",
+ xmlGenericError(xmlGenericErrorContext, "IDC: ['%s'] selector '%s'\n",
sto->matcher->aidc->def->name, sto->sel->xpath);
else
- xmlGenericError(xmlGenericErrorContext, "IDC: ['%s'] field '%s'\n",
+ xmlGenericError(xmlGenericErrorContext, "IDC: ['%s'] field '%s'\n",
sto->matcher->aidc->def->name, sto->sel->xpath);
#endif
if (nodeType == XML_ELEMENT_NODE)
@@ -22395,7 +22519,7 @@ xmlSchemaXPathEvaluate(xmlSchemaValidCtxtPtr vctxt,
if (sto->history == NULL) {
sto->history = (int *) xmlMalloc(5 * sizeof(int));
if (sto->history == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"allocating the state object history", NULL);
return(-1);
}
@@ -22405,11 +22529,11 @@ xmlSchemaXPathEvaluate(xmlSchemaValidCtxtPtr vctxt,
sto->history = (int *) xmlRealloc(sto->history,
sto->sizeHistory * sizeof(int));
if (sto->history == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"re-allocating the state object history", NULL);
return(-1);
}
- }
+ }
sto->history[sto->nbHistory++] = depth;
#ifdef DEBUG_IDC
@@ -22478,7 +22602,7 @@ xmlSchemaFormatIDCKeySequence(xmlSchemaValidCtxtPtr vctxt,
*buf = xmlStrdup(BAD_CAST "[");
for (i = 0; i < count; i++) {
*buf = xmlStrcat(*buf, BAD_CAST "'");
- res = xmlSchemaGetCanonValueWhtspExt(seq[i]->val,
+ res = xmlSchemaGetCanonValueWhtspExt(seq[i]->val,
xmlSchemaGetWhiteSpaceFacetValue(seq[i]->type),
&value);
if (res == 0)
@@ -22536,7 +22660,7 @@ xmlSchemaXPathPop(xmlSchemaValidCtxtPtr vctxt)
*
* Processes and pops the history items of the IDC state objects.
* IDC key-sequences are validated/created on IDC bindings.
- *
+ *
* Returns 0 on success and -1 on internal errors.
*/
static int
@@ -22555,13 +22679,13 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
#ifdef DEBUG_IDC
{
xmlChar *str = NULL;
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"IDC: BACK on %s, depth %d\n",
xmlSchemaFormatQName(&str, vctxt->inode->nsName,
vctxt->inode->localName), vctxt->depth);
FREE_AND_NULL(str)
}
-#endif
+#endif
/*
* Evaluate the state objects.
*/
@@ -22587,14 +22711,14 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
if (matchDepth != depth) {
sto = sto->next;
continue;
- }
+ }
if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_FIELD) {
/*
* NOTE: According to
* http://www.w3.org/Bugs/Public/show_bug.cgi?id=2198
* ... the simple-content of complex types is also allowed.
*/
-
+
if (WXS_IS_COMPLEX(type)) {
if (WXS_HAS_SIMPLE_CONTENT(type)) {
/*
@@ -22609,17 +22733,17 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
}
} else
simpleType = NULL;
- } else
+ } else
simpleType = type;
if (simpleType == NULL) {
xmlChar *str = NULL;
-
+
/*
* Not qualified if the field resolves to a node of non
* simple type.
- */
+ */
xmlSchemaCustomErr(ACTXT_CAST vctxt,
- XML_SCHEMAV_CVC_IDC, NULL,
+ XML_SCHEMAV_CVC_IDC, NULL,
WXS_BASIC_CAST sto->matcher->aidc->def,
"The XPath '%s' of a field of %s does evaluate to a node of "
"non-simple type",
@@ -22629,7 +22753,7 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
sto->nbHistory--;
goto deregister_check;
}
-
+
if ((key == NULL) && (vctxt->inode->val == NULL)) {
/*
* Failed to provide the normalized value; maybe
@@ -22645,13 +22769,13 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
xmlSchemaIDCMatcherPtr matcher = sto->matcher;
xmlSchemaPSVIIDCKeyPtr *keySeq;
int pos, idx;
-
+
/*
* The key will be anchored on the matcher's list of
* key-sequences. The position in this list is determined
* by the target node's depth relative to the matcher's
* depth of creation (i.e. the depth of the scope element).
- *
+ *
* Element Depth Pos List-entries
* <scope> 0 NULL
* <bar> 1 NULL
@@ -22662,23 +22786,23 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
* The size of the list is only dependant on the depth of
* the tree.
* An entry will be NULLed in selector_leave, i.e. when
- * we hit the target's
- */
+ * we hit the target's
+ */
pos = sto->depth - matcher->depth;
idx = sto->sel->index;
-
+
/*
* Create/grow the array of key-sequences.
*/
if (matcher->keySeqs == NULL) {
- if (pos > 9)
+ if (pos > 9)
matcher->sizeKeySeqs = pos * 2;
else
matcher->sizeKeySeqs = 10;
- matcher->keySeqs = (xmlSchemaPSVIIDCKeyPtr **)
+ matcher->keySeqs = (xmlSchemaPSVIIDCKeyPtr **)
xmlMalloc(matcher->sizeKeySeqs *
- sizeof(xmlSchemaPSVIIDCKeyPtr *));
- if (matcher->keySeqs == NULL) {
+ sizeof(xmlSchemaPSVIIDCKeyPtr *));
+ if (matcher->keySeqs == NULL) {
xmlSchemaVErrMemory(NULL,
"allocating an array of key-sequences",
NULL);
@@ -22687,9 +22811,9 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
memset(matcher->keySeqs, 0,
matcher->sizeKeySeqs *
sizeof(xmlSchemaPSVIIDCKeyPtr *));
- } else if (pos >= matcher->sizeKeySeqs) {
+ } else if (pos >= matcher->sizeKeySeqs) {
int i = matcher->sizeKeySeqs;
-
+
matcher->sizeKeySeqs *= 2;
matcher->keySeqs = (xmlSchemaPSVIIDCKeyPtr **)
xmlRealloc(matcher->keySeqs,
@@ -22705,29 +22829,29 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
* The array needs to be NULLed.
* TODO: Use memset?
*/
- for (; i < matcher->sizeKeySeqs; i++)
- matcher->keySeqs[i] = NULL;
+ for (; i < matcher->sizeKeySeqs; i++)
+ matcher->keySeqs[i] = NULL;
}
-
+
/*
* Get/create the key-sequence.
*/
- keySeq = matcher->keySeqs[pos];
- if (keySeq == NULL) {
+ keySeq = matcher->keySeqs[pos];
+ if (keySeq == NULL) {
goto create_sequence;
} else if (keySeq[idx] != NULL) {
xmlChar *str = NULL;
/*
* cvc-identity-constraint:
- * 3 For each node in the ·target node set· all
+ * 3 For each node in the `target node set` all
* of the {fields}, with that node as the context
* node, evaluate to either an empty node-set or
* a node-set with exactly one member, which must
* have a simple type.
- *
+ *
* The key was already set; report an error.
*/
- xmlSchemaCustomErr(ACTXT_CAST vctxt,
+ xmlSchemaCustomErr(ACTXT_CAST vctxt,
XML_SCHEMAV_CVC_IDC, NULL,
WXS_BASIC_CAST matcher->aidc->def,
"The XPath '%s' of a field of %s evaluates to a "
@@ -22738,27 +22862,27 @@ xmlSchemaXPathProcessHistory(xmlSchemaValidCtxtPtr vctxt,
sto->nbHistory--;
goto deregister_check;
} else
- goto create_key;
-
+ goto create_key;
+
create_sequence:
/*
* Create a key-sequence.
*/
keySeq = (xmlSchemaPSVIIDCKeyPtr *) xmlMalloc(
- matcher->aidc->def->nbFields *
+ matcher->aidc->def->nbFields *
sizeof(xmlSchemaPSVIIDCKeyPtr));
if (keySeq == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"allocating an IDC key-sequence", NULL);
- return(-1);
- }
- memset(keySeq, 0, matcher->aidc->def->nbFields *
+ return(-1);
+ }
+ memset(keySeq, 0, matcher->aidc->def->nbFields *
sizeof(xmlSchemaPSVIIDCKeyPtr));
matcher->keySeqs[pos] = keySeq;
create_key:
/*
* Create a key once per node only.
- */
+ */
if (key == NULL) {
key = (xmlSchemaPSVIIDCKeyPtr) xmlMalloc(
sizeof(xmlSchemaPSVIIDCKey));
@@ -22767,7 +22891,7 @@ create_key:
"allocating a IDC key", NULL);
xmlFree(keySeq);
matcher->keySeqs[pos] = NULL;
- return(-1);
+ return(-1);
}
/*
* Consume the compiled value.
@@ -22783,10 +22907,10 @@ create_key:
return (-1);
}
}
- keySeq[idx] = key;
+ keySeq[idx] = key;
}
} else if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_SELECTOR) {
-
+
xmlSchemaPSVIIDCKeyPtr **keySeq = NULL;
/* xmlSchemaPSVIIDCBindingPtr bind; */
xmlSchemaPSVIIDCNodePtr ntItem;
@@ -22797,22 +22921,22 @@ create_key:
/*
* Here we have the following scenario:
* An IDC 'selector' state object resolved to a target node,
- * during the time this target node was in the
- * ancestor-or-self axis, the 'field' state object(s) looked
- * out for matching nodes to create a key-sequence for this
+ * during the time this target node was in the
+ * ancestor-or-self axis, the 'field' state object(s) looked
+ * out for matching nodes to create a key-sequence for this
* target node. Now we are back to this target node and need
- * to put the key-sequence, together with the target node
- * itself, into the node-table of the corresponding IDC
+ * to put the key-sequence, together with the target node
+ * itself, into the node-table of the corresponding IDC
* binding.
*/
matcher = sto->matcher;
idc = matcher->aidc->def;
nbKeys = idc->nbFields;
- pos = depth - matcher->depth;
+ pos = depth - matcher->depth;
/*
* Check if the matcher has any key-sequences at all, plus
* if it has a key-sequence for the current target node.
- */
+ */
if ((matcher->keySeqs == NULL) ||
(matcher->sizeKeySeqs <= pos)) {
if (idc->type == XML_SCHEMA_TYPE_IDC_KEY)
@@ -22820,15 +22944,15 @@ create_key:
else
goto selector_leave;
}
-
- keySeq = &(matcher->keySeqs[pos]);
+
+ keySeq = &(matcher->keySeqs[pos]);
if (*keySeq == NULL) {
if (idc->type == XML_SCHEMA_TYPE_IDC_KEY)
goto selector_key_error;
else
goto selector_leave;
}
-
+
for (i = 0; i < nbKeys; i++) {
if ((*keySeq)[i] == NULL) {
/*
@@ -22839,18 +22963,18 @@ create_key:
* All fields of a "key" IDC must resolve.
*/
goto selector_key_error;
- }
+ }
goto selector_leave;
}
}
/*
* All fields did resolve.
*/
-
+
/*
* 4.1 If the {identity-constraint category} is unique(/key),
- * then no two members of the ·qualified node set· have
- * ·key-sequences· whose members are pairwise equal, as
+ * then no two members of the `qualified node set` have
+ * `key-sequences` whose members are pairwise equal, as
* defined by Equal in [XML Schemas: Datatypes].
*
* Get the IDC binding from the matcher and check for
@@ -22860,10 +22984,10 @@ create_key:
bind = xmlSchemaIDCAcquireBinding(vctxt, matcher);
#endif
targets = xmlSchemaIDCAcquireTargetList(vctxt, matcher);
- if ((idc->type != XML_SCHEMA_TYPE_IDC_KEYREF) &&
+ if ((idc->type != XML_SCHEMA_TYPE_IDC_KEYREF) &&
(targets->nbItems != 0)) {
xmlSchemaPSVIIDCKeyPtr ckey, bkey, *bkeySeq;
-
+
i = 0;
res = 0;
/*
@@ -22874,7 +22998,7 @@ create_key:
((xmlSchemaPSVIIDCNodePtr) targets->items[i])->keys;
for (j = 0; j < nbKeys; j++) {
ckey = (*keySeq)[j];
- bkey = bkeySeq[j];
+ bkey = bkeySeq[j];
res = xmlSchemaAreValuesEqual(ckey->val, bkey->val);
if (res == -1) {
return (-1);
@@ -22896,10 +23020,10 @@ create_key:
} while (i < targets->nbItems);
if (i != targets->nbItems) {
xmlChar *str = NULL, *strB = NULL;
- /*
+ /*
* TODO: Try to report the key-sequence.
*/
- xmlSchemaCustomErr(ACTXT_CAST vctxt,
+ xmlSchemaCustomErr(ACTXT_CAST vctxt,
XML_SCHEMAV_CVC_IDC, NULL,
WXS_BASIC_CAST idc,
"Duplicate key-sequence %s in %s",
@@ -22917,15 +23041,15 @@ create_key:
ntItem = (xmlSchemaPSVIIDCNodePtr) xmlMalloc(
sizeof(xmlSchemaPSVIIDCNode));
if (ntItem == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"allocating an IDC node-table item", NULL);
xmlFree(*keySeq);
*keySeq = NULL;
return(-1);
- }
+ }
memset(ntItem, 0, sizeof(xmlSchemaPSVIIDCNode));
-
- /*
+
+ /*
* Store the node-table item in a global list.
*/
if (idc->type != XML_SCHEMA_TYPE_IDC_KEYREF) {
@@ -22947,7 +23071,7 @@ create_key:
xmlFree(ntItem);
xmlFree(*keySeq);
*keySeq = NULL;
- return (-1);
+ return (-1);
}
}
/*
@@ -22959,11 +23083,11 @@ create_key:
ntItem->keys = *keySeq;
*keySeq = NULL;
#if 0
- if (xmlSchemaIDCAppendNodeTableItem(bind, ntItem) == -1) {
+ if (xmlSchemaIDCAppendNodeTableItem(bind, ntItem) == -1)
#endif
if (xmlSchemaItemListAdd(targets, ntItem) == -1) {
if (idc->type == XML_SCHEMA_TYPE_IDC_KEYREF) {
- /*
+ /*
* Free the item, since keyref items won't be
* put on a global list.
*/
@@ -22972,18 +23096,18 @@ create_key:
}
return (-1);
}
-
+
goto selector_leave;
selector_key_error:
{
xmlChar *str = NULL;
/*
- * 4.2.1 (KEY) The ·target node set· and the
- * ·qualified node set· are equal, that is, every
- * member of the ·target node set· is also a member
- * of the ·qualified node set· and vice versa.
+ * 4.2.1 (KEY) The `target node set` and the
+ * `qualified node set` are equal, that is, every
+ * member of the `target node set` is also a member
+ * of the `qualified node set` and vice versa.
*/
- xmlSchemaCustomErr(ACTXT_CAST vctxt,
+ xmlSchemaCustomErr(ACTXT_CAST vctxt,
XML_SCHEMAV_CVC_IDC, NULL,
WXS_BASIC_CAST idc,
"Not all fields of %s evaluate to a node",
@@ -22999,7 +23123,7 @@ selector_leave:
*keySeq = NULL;
}
} /* if selector */
-
+
sto->nbHistory--;
deregister_check:
@@ -23050,15 +23174,15 @@ xmlSchemaIDCRegisterMatchers(xmlSchemaValidCtxtPtr vctxt,
xmlSchemaIDCMatcherPtr matcher, last = NULL;
xmlSchemaIDCPtr idc, refIdc;
xmlSchemaIDCAugPtr aidc;
-
+
idc = (xmlSchemaIDCPtr) elemDecl->idcs;
if (idc == NULL)
return (0);
-
+
#ifdef DEBUG_IDC
{
xmlChar *str = NULL;
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"IDC: REGISTER on %s, depth %d\n",
(char *) xmlSchemaFormatQName(&str, vctxt->inode->nsName,
vctxt->inode->localName), vctxt->depth);
@@ -23099,7 +23223,7 @@ xmlSchemaIDCRegisterMatchers(xmlSchemaValidCtxtPtr vctxt,
"Could not find an augmented IDC item for an IDC "
"definition");
return (-1);
- }
+ }
if ((aidc->keyrefDepth == -1) ||
(vctxt->depth < aidc->keyrefDepth))
aidc->keyrefDepth = vctxt->depth;
@@ -23130,10 +23254,10 @@ xmlSchemaIDCRegisterMatchers(xmlSchemaValidCtxtPtr vctxt,
vctxt->idcMatcherCache = matcher->nextCached;
matcher->nextCached = NULL;
} else {
- matcher = (xmlSchemaIDCMatcherPtr)
+ matcher = (xmlSchemaIDCMatcherPtr)
xmlMalloc(sizeof(xmlSchemaIDCMatcher));
if (matcher == NULL) {
- xmlSchemaVErrMemory(vctxt,
+ xmlSchemaVErrMemory(vctxt,
"allocating an IDC matcher", NULL);
return (-1);
}
@@ -23146,16 +23270,16 @@ xmlSchemaIDCRegisterMatchers(xmlSchemaValidCtxtPtr vctxt,
last = matcher;
matcher->type = IDC_MATCHER;
- matcher->depth = vctxt->depth;
+ matcher->depth = vctxt->depth;
matcher->aidc = aidc;
matcher->idcType = aidc->def->type;
-#ifdef DEBUG_IDC
+#ifdef DEBUG_IDC
xmlGenericError(xmlGenericErrorContext, "IDC: register matcher\n");
-#endif
+#endif
/*
- * Init the automaton state object.
+ * Init the automaton state object.
*/
- if (xmlSchemaIDCAddStateObject(vctxt, matcher,
+ if (xmlSchemaIDCAddStateObject(vctxt, matcher,
idc->selector, XPATH_STATE_OBJ_TYPE_IDC_SELECTOR) == -1)
return (-1);
@@ -23172,7 +23296,7 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
int res, i, j, k, nbTargets, nbFields, nbDupls, nbNodeTable;
xmlSchemaPSVIIDCKeyPtr *keys, *ntkeys;
xmlSchemaPSVIIDCNodePtr *targets, *dupls;
-
+
xmlSchemaIDCMatcherPtr matcher = ielem->idcMatchers;
/* vctxt->createIDCNodeTables */
while (matcher != NULL) {
@@ -23206,7 +23330,7 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
nbDupls = bind->dupls->nbItems;
} else {
dupls = NULL;
- nbDupls = 0;
+ nbDupls = 0;
}
if (bind->nodeTable != NULL) {
nbNodeTable = bind->nbNodes;
@@ -23219,29 +23343,29 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
* Transfer all IDC target-nodes to the IDC node-table.
*/
bind->nodeTable =
- (xmlSchemaPSVIIDCNodePtr *) matcher->targets->items;
+ (xmlSchemaPSVIIDCNodePtr *) matcher->targets->items;
bind->sizeNodes = matcher->targets->sizeItems;
bind->nbNodes = matcher->targets->nbItems;
matcher->targets->items = NULL;
matcher->targets->sizeItems = 0;
- matcher->targets->nbItems = 0;
+ matcher->targets->nbItems = 0;
} else {
/*
* Compare the key-sequences and add to the IDC node-table.
*/
nbTargets = matcher->targets->nbItems;
- targets = (xmlSchemaPSVIIDCNodePtr *) matcher->targets->items;
+ targets = (xmlSchemaPSVIIDCNodePtr *) matcher->targets->items;
nbFields = matcher->aidc->def->nbFields;
i = 0;
do {
keys = targets[i]->keys;
- if (nbDupls) {
+ if (nbDupls) {
/*
* Search in already found duplicates first.
*/
j = 0;
- do {
+ do {
if (nbFields == 1) {
res = xmlSchemaAreValuesEqual(keys[0]->val,
dupls[j]->keys[0]->val);
@@ -23276,11 +23400,11 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
}
}
j++;
- } while (j < nbDupls);
+ } while (j < nbDupls);
}
if (nbNodeTable) {
j = 0;
- do {
+ do {
if (nbFields == 1) {
res = xmlSchemaAreValuesEqual(keys[0]->val,
bind->nodeTable[j]->keys[0]->val);
@@ -23307,7 +23431,7 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
goto next_node_table_entry;
}
}
- }
+ }
/*
* Add the duplicate to the list of duplicates.
*/
@@ -23315,7 +23439,7 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
bind->dupls = xmlSchemaItemListCreate();
if (bind->dupls == NULL)
goto internal_error;
- }
+ }
if (xmlSchemaItemListAdd(bind->dupls, bind->nodeTable[j]) == -1)
goto internal_error;
/*
@@ -23350,12 +23474,12 @@ internal_error:
}
/**
- * xmlSchemaBubbleIDCNodeTables:
+ * xmlSchemaBubbleIDCNodeTables:
* @depth: the current tree depth
*
- * Merges IDC bindings of an element at @depth into the corresponding IDC
- * bindings of its parent element. If a duplicate note-table entry is found,
- * both, the parent node-table entry and child entry are discarded from the
+ * Merges IDC bindings of an element at @depth into the corresponding IDC
+ * bindings of its parent element. If a duplicate note-table entry is found,
+ * both, the parent node-table entry and child entry are discarded from the
* node-table of the parent.
*
* Returns 0 if OK and -1 on internal errors.
@@ -23369,19 +23493,19 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
xmlSchemaIDCAugPtr aidc;
int i, j, k, ret = 0, nbFields, oldNum, oldDupls;
- bind = vctxt->inode->idcTable;
+ bind = vctxt->inode->idcTable;
if (bind == NULL) {
/* Fine, no table, no bubbles. */
return (0);
}
-
+
parTable = &(vctxt->elemInfos[vctxt->depth -1]->idcTable);
/*
* Walk all bindings; create new or add to existing bindings.
* Remove duplicate key-sequences.
*/
while (bind != NULL) {
-
+
if ((bind->nbNodes == 0) && WXS_ILIST_IS_EMPTY(bind->dupls))
goto next_binding;
/*
@@ -23391,7 +23515,7 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
aidc = vctxt->aidcs;
do {
if (aidc->def == bind->definition) {
- if ((aidc->keyrefDepth == -1) ||
+ if ((aidc->keyrefDepth == -1) ||
(aidc->keyrefDepth >= vctxt->depth)) {
goto next_binding;
}
@@ -23407,7 +23531,7 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
* Search a matching parent binding for the
* IDC definition.
*/
- while (parBind != NULL) {
+ while (parBind != NULL) {
if (parBind->definition == bind->definition)
break;
parBind = parBind->next;
@@ -23415,7 +23539,7 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
if (parBind != NULL) {
/*
- * Compare every node-table entry of the child node,
+ * Compare every node-table entry of the child node,
* i.e. the key-sequence within, ...
*/
oldNum = parBind->nbNodes; /* Skip newly added items. */
@@ -23425,12 +23549,12 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
dupls = (xmlSchemaPSVIIDCNodePtr *) parBind->dupls->items;
} else {
dupls = NULL;
- oldDupls = 0;
+ oldDupls = 0;
}
-
+
parNodes = parBind->nodeTable;
nbFields = bind->definition->nbFields;
-
+
for (i = 0; i < bind->nbNodes; i++) {
node = bind->nodeTable[i];
if (node == NULL)
@@ -23440,7 +23564,7 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
* evaluated to be a duplicate key-sequence.
*/
if (oldDupls) {
- j = 0;
+ j = 0;
while (j < oldDupls) {
if (nbFields == 1) {
ret = xmlSchemaAreValuesEqual(
@@ -23473,12 +23597,12 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
/* Duplicate found. Skip this entry. */
continue;
}
- }
+ }
/*
* ... and with every key-sequence of the parent node.
*/
if (oldNum) {
- j = 0;
+ j = 0;
while (j < oldNum) {
parNode = parNodes[j];
if (nbFields == 1) {
@@ -23491,7 +23615,7 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
j++;
continue;
}
- } else {
+ } else {
for (k = 0; k < nbFields; k++) {
ret = xmlSchemaAreValuesEqual(
node->keys[k]->val,
@@ -23512,20 +23636,20 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
* Handle duplicates. Move the duplicate in
* the parent's node-table to the list of
* duplicates.
- */
+ */
oldNum--;
parBind->nbNodes--;
/*
* Move last old item to pos of duplicate.
*/
parNodes[j] = parNodes[oldNum];
-
+
if (parBind->nbNodes != oldNum) {
/*
- * If new items exist, move last new item to
+ * If new items exist, move last new item to
* last of old items.
*/
- parNodes[oldNum] =
+ parNodes[oldNum] =
parNodes[parBind->nbNodes];
}
if (parBind->dupls == NULL) {
@@ -23533,31 +23657,31 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
if (parBind->dupls == NULL)
goto internal_error;
}
- xmlSchemaItemListAdd(parBind->dupls, parNode);
+ xmlSchemaItemListAdd(parBind->dupls, parNode);
} else {
/*
- * Add the node-table entry (node and key-sequence) of
+ * Add the node-table entry (node and key-sequence) of
* the child node to the node table of the parent node.
*/
- if (parBind->nodeTable == NULL) {
- parBind->nodeTable = (xmlSchemaPSVIIDCNodePtr *)
+ if (parBind->nodeTable == NULL) {
+ parBind->nodeTable = (xmlSchemaPSVIIDCNodePtr *)
xmlMalloc(10 * sizeof(xmlSchemaPSVIIDCNodePtr));
if (parBind->nodeTable == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"allocating IDC list of node-table items", NULL);
goto internal_error;
}
parBind->sizeNodes = 1;
} else if (parBind->nbNodes >= parBind->sizeNodes) {
parBind->sizeNodes *= 2;
- parBind->nodeTable = (xmlSchemaPSVIIDCNodePtr *)
- xmlRealloc(parBind->nodeTable, parBind->sizeNodes *
+ parBind->nodeTable = (xmlSchemaPSVIIDCNodePtr *)
+ xmlRealloc(parBind->nodeTable, parBind->sizeNodes *
sizeof(xmlSchemaPSVIIDCNodePtr));
if (parBind->nodeTable == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"re-allocating IDC list of node-table items", NULL);
goto internal_error;
- }
+ }
}
parNodes = parBind->nodeTable;
/*
@@ -23567,9 +23691,9 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
parNodes[parBind->nbNodes++] = node;
}
- }
-
- }
+ }
+
+ }
} else {
/*
* No binding for the IDC was found: create a new one and
@@ -23578,7 +23702,7 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
parBind = xmlSchemaIDCNewBinding(bind->definition);
if (parBind == NULL)
goto internal_error;
-
+
/*
* TODO: Hmm, how to optimize the initial number of
* allocated entries?
@@ -23604,11 +23728,11 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
/*
* Copy the entries.
*/
- parBind->nodeTable = (xmlSchemaPSVIIDCNodePtr *)
+ parBind->nodeTable = (xmlSchemaPSVIIDCNodePtr *)
xmlMalloc(bind->nbNodes *
sizeof(xmlSchemaPSVIIDCNodePtr));
if (parBind->nodeTable == NULL) {
- xmlSchemaVErrMemory(NULL,
+ xmlSchemaVErrMemory(NULL,
"allocating an array of IDC node-table "
"items", NULL);
xmlSchemaIDCFreeBinding(parBind);
@@ -23627,15 +23751,17 @@ xmlSchemaBubbleIDCNodeTables(xmlSchemaValidCtxtPtr vctxt)
if (parBind->dupls != NULL)
xmlSchemaItemListFree(parBind->dupls);
parBind->dupls = bind->dupls;
- bind->dupls = NULL;
- }
- if (*parTable == NULL)
- *parTable = parBind;
- else {
- parBind->next = *parTable;
- *parTable = parBind;
- }
- }
+ bind->dupls = NULL;
+ }
+ if (parTable != NULL) {
+ if (*parTable == NULL)
+ *parTable = parBind;
+ else {
+ parBind->next = *parTable;
+ *parTable = parBind;
+ }
+ }
+ }
next_binding:
bind = bind->next;
@@ -23658,7 +23784,7 @@ xmlSchemaCheckCVCIDCKeyRef(xmlSchemaValidCtxtPtr vctxt)
{
xmlSchemaIDCMatcherPtr matcher;
xmlSchemaPSVIIDCBindingPtr bind;
-
+
matcher = vctxt->inode->idcMatchers;
/*
* Find a keyref.
@@ -23679,7 +23805,7 @@ xmlSchemaCheckCVCIDCKeyRef(xmlSchemaValidCtxtPtr vctxt)
*/
bind = vctxt->inode->idcTable;
while (bind != NULL) {
- if ((xmlSchemaIDCPtr) matcher->aidc->def->ref->item ==
+ if ((xmlSchemaIDCPtr) matcher->aidc->def->ref->item ==
bind->definition)
break;
bind = bind->next;
@@ -23748,7 +23874,7 @@ xmlSchemaCheckCVCIDCKeyRef(xmlSchemaValidCtxtPtr vctxt)
}
}
}
-
+
if (res == 0) {
xmlChar *str = NULL, *strB = NULL;
xmlSchemaKeyrefErr(vctxt,
@@ -23770,9 +23896,9 @@ xmlSchemaCheckCVCIDCKeyRef(xmlSchemaValidCtxtPtr vctxt)
}
/************************************************************************
- * *
- * XML Reader validation code *
- * *
+ * *
+ * XML Reader validation code *
+ * *
************************************************************************/
static xmlSchemaAttrInfoPtr
@@ -23832,7 +23958,7 @@ xmlSchemaValidatorPushAttribute(xmlSchemaValidCtxtPtr vctxt,
xmlNodePtr attrNode,
int nodeLine,
const xmlChar *localName,
- const xmlChar *nsName,
+ const xmlChar *nsName,
int ownedNames,
xmlChar *value,
int ownedValue)
@@ -23858,7 +23984,7 @@ xmlSchemaValidatorPushAttribute(xmlSchemaValidCtxtPtr vctxt,
if (nsName != NULL) {
if (xmlStrEqual(localName, BAD_CAST "nil")) {
if (xmlStrEqual(attr->nsName, xmlSchemaInstanceNs)) {
- attr->metaType = XML_SCHEMA_ATTR_INFO_META_XSI_NIL;
+ attr->metaType = XML_SCHEMA_ATTR_INFO_META_XSI_NIL;
}
} else if (xmlStrEqual(localName, BAD_CAST "type")) {
if (xmlStrEqual(attr->nsName, xmlSchemaInstanceNs)) {
@@ -24060,6 +24186,7 @@ xmlSchemaValidateFacets(xmlSchemaAbstractCtxtPtr actxt,
else
goto pattern_and_enum;
}
+
/*
* Whitespace handling is only of importance for string-based
* types.
@@ -24070,16 +24197,15 @@ xmlSchemaValidateFacets(xmlSchemaAbstractCtxtPtr actxt,
ws = xmlSchemaGetWhiteSpaceFacetValue(type);
} else
ws = XML_SCHEMA_WHITESPACE_COLLAPSE;
+
/*
* If the value was not computed (for string or
* anySimpleType based types), then use the provided
* type.
*/
- if (val == NULL)
- valType = valType;
- else
+ if (val != NULL)
valType = xmlSchemaGetValType(val);
-
+
ret = 0;
for (facetLink = type->facetSet; facetLink != NULL;
facetLink = facetLink->next) {
@@ -24128,11 +24254,11 @@ WXS_IS_LIST:
ret = 0;
for (facetLink = type->facetSet; facetLink != NULL;
facetLink = facetLink->next) {
-
+
switch (facetLink->facet->type) {
case XML_SCHEMA_FACET_LENGTH:
case XML_SCHEMA_FACET_MINLENGTH:
- case XML_SCHEMA_FACET_MAXLENGTH:
+ case XML_SCHEMA_FACET_MAXLENGTH:
ret = xmlSchemaValidateListSimpleTypeFacet(facetLink->facet,
value, length, NULL);
break;
@@ -24144,7 +24270,7 @@ WXS_IS_LIST:
"validating against a list type facet");
return (-1);
} else if (ret > 0) {
- if (fireErrors)
+ if (fireErrors)
xmlSchemaFacetErr(actxt, ret, node,
value, length, type, facetLink->facet, NULL, NULL, NULL);
else
@@ -24221,7 +24347,7 @@ pattern_and_enum:
if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN)
continue;
found = 1;
- /*
+ /*
* NOTE that for patterns, @value needs to be the
* normalized vaule.
*/
@@ -24233,7 +24359,7 @@ pattern_and_enum:
"validating against a pattern facet");
return (-1);
} else {
- /*
+ /*
* Save the last non-validating facet.
*/
facet = facetLink->facet;
@@ -24256,12 +24382,12 @@ pattern_and_enum:
return (error);
}
-
+
static xmlChar *
xmlSchemaNormalizeValue(xmlSchemaTypePtr type,
const xmlChar *value)
{
- switch (xmlSchemaGetWhiteSpaceFacetValue(type)) {
+ switch (xmlSchemaGetWhiteSpaceFacetValue(type)) {
case XML_SCHEMA_WHITESPACE_COLLAPSE:
return (xmlSchemaCollapseString(value));
case XML_SCHEMA_WHITESPACE_REPLACE:
@@ -24280,7 +24406,7 @@ xmlSchemaValidateQName(xmlSchemaValidCtxtPtr vctxt,
int ret;
const xmlChar *nsName;
xmlChar *local, *prefix = NULL;
-
+
ret = xmlValidateQName(value, 1);
if (ret != 0) {
if (ret == -1) {
@@ -24303,7 +24429,7 @@ xmlSchemaValidateQName(xmlSchemaValidCtxtPtr vctxt,
* - is there a default namespace?
*/
nsName = xmlSchemaLookupNamespace(vctxt, prefix);
-
+
if (prefix != NULL) {
xmlFree(prefix);
/*
@@ -24360,7 +24486,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
value = normValue; \
isNormalized = 1; \
}
-
+
if ((retVal != NULL) && (*retVal != NULL)) {
xmlSchemaFreeValue(*retVal);
*retVal = NULL;
@@ -24375,14 +24501,14 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
*/
/*
* 2.1 If The definition is ENTITY or is validly derived from ENTITY given
- * the empty set, as defined in Type Derivation OK (Simple) (§3.14.6), then
- * the string must be a ·declared entity name·.
+ * the empty set, as defined in Type Derivation OK (Simple) ($3.14.6), then
+ * the string must be a `declared entity name`.
*/
/*
* 2.2 If The definition is ENTITIES or is validly derived from ENTITIES
- * given the empty set, as defined in Type Derivation OK (Simple) (§3.14.6),
- * then every whitespace-delimited substring of the string must be a ·declared
- * entity name·.
+ * given the empty set, as defined in Type Derivation OK (Simple) ($3.14.6),
+ * then every whitespace-delimited substring of the string must be a `declared
+ * entity name`.
*/
/*
* 2.3 otherwise no further condition applies.
@@ -24394,8 +24520,8 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
if (WXS_IS_ANY_SIMPLE_TYPE(type) || WXS_IS_ATOMIC(type)) {
xmlSchemaTypePtr biType; /* The built-in type. */
/*
- * SPEC (1.2.1) "if {variety} is ·atomic· then the string must ·match·
- * a literal in the ·lexical space· of {base type definition}"
+ * SPEC (1.2.1) "if {variety} is `atomic` then the string must `match`
+ * a literal in the `lexical space` of {base type definition}"
*/
/*
* Whitespace-normalize.
@@ -24421,9 +24547,9 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
* NOTATIONs need to be processed here, since they need
* to lookup in the hashtable of NOTATION declarations of the schema.
*/
- if (actxt->type == XML_SCHEMA_CTXT_VALIDATOR) {
- switch (biType->builtInType) {
- case XML_SCHEMAS_NOTATION:
+ if (actxt->type == XML_SCHEMA_CTXT_VALIDATOR) {
+ switch (biType->builtInType) {
+ case XML_SCHEMAS_NOTATION:
ret = xmlSchemaValidateNotation(
(xmlSchemaValidCtxtPtr) actxt,
((xmlSchemaValidCtxtPtr) actxt)->schema,
@@ -24437,14 +24563,14 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
/* ws = xmlSchemaGetWhiteSpaceFacetValue(type); */
if (valNeeded)
ret = xmlSchemaValPredefTypeNodeNoNorm(biType,
- value, &val, NULL);
+ value, &val, node);
else
ret = xmlSchemaValPredefTypeNodeNoNorm(biType,
- value, NULL, NULL);
+ value, NULL, node);
break;
}
- } else if (actxt->type == XML_SCHEMA_CTXT_PARSER) {
- switch (biType->builtInType) {
+ } else if (actxt->type == XML_SCHEMA_CTXT_PARSER) {
+ switch (biType->builtInType) {
case XML_SCHEMAS_NOTATION:
ret = xmlSchemaValidateNotation(NULL,
((xmlSchemaParserCtxtPtr) actxt)->schema, node,
@@ -24459,7 +24585,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
ret = xmlSchemaValPredefTypeNodeNoNorm(biType,
value, NULL, node);
break;
- }
+ }
} else {
/*
* Validation via a public API is not implemented yet.
@@ -24476,7 +24602,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
if (WXS_IS_LIST(type))
ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
else
- ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
+ ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
}
if ((ret == 0) && (type->flags & XML_SCHEMAS_TYPE_HAS_FACETS)) {
/*
@@ -24491,10 +24617,10 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
"validating facets of atomic simple type");
goto internal_error;
}
- if (WXS_IS_LIST(type))
+ if (WXS_IS_LIST(type))
ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
else
- ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
+ ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
}
}
if (fireErrors && (ret > 0))
@@ -24506,9 +24632,9 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
xmlChar *tmpValue = NULL;
unsigned long len = 0;
xmlSchemaValPtr prevVal = NULL, curVal = NULL;
- /* 1.2.2 if {variety} is ·list· then the string must be a sequence
- * of white space separated tokens, each of which ·match·es a literal
- * in the ·lexical space· of {item type definition}
+ /* 1.2.2 if {variety} is `list` then the string must be a sequence
+ * of white space separated tokens, each of which `match`es a literal
+ * in the `lexical space` of {item type definition}
*/
/*
* Note that XML_SCHEMAS_TYPE_NORMVALUENEEDED will be set if
@@ -24519,7 +24645,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
* VAL TODO: Optimize validation of empty values.
* VAL TODO: We do not have computed values for lists.
*/
- itemType = WXS_LIST_ITEMTYPE(type);
+ itemType = WXS_LIST_ITEMTYPE(type);
cur = value;
do {
while (IS_BLANK_CH(*cur))
@@ -24558,7 +24684,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
}
ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
break;
- }
+ }
cur = end;
} while (*cur != 0);
FREE_AND_NULL(tmpValue);
@@ -24579,7 +24705,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
}
}
if (fireErrors && (ret > 0)) {
- /*
+ /*
* Report the normalized value.
*/
normalize = 1;
@@ -24589,10 +24715,10 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
} else if (WXS_IS_UNION(type)) {
xmlSchemaTypeLinkPtr memberLink;
/*
- * TODO: For all datatypes ·derived· by ·union· whiteSpace does
- * not apply directly; however, the normalization behavior of ·union·
+ * TODO: For all datatypes `derived` by `union` whiteSpace does
+ * not apply directly; however, the normalization behavior of `union`
* types is controlled by the value of whiteSpace on that one of the
- * ·memberTypes· against which the ·union· is successfully validated.
+ * `memberTypes` against which the `union` is successfully validated.
*
* This means that the value is normalized by the first validating
* member type, then the facets of the union type are applied. This
@@ -24600,8 +24726,8 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
*/
/*
- * 1.2.3 if {variety} is ·union· then the string must ·match· a
- * literal in the ·lexical space· of at least one member of
+ * 1.2.3 if {variety} is `union` then the string must `match` a
+ * literal in the `lexical space` of at least one member of
* {member type definitions}
*/
memberLink = xmlSchemaGetUnionSimpleTypeMemberTypes(type);
@@ -24609,7 +24735,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
AERROR_INT("xmlSchemaVCheckCVCSimpleType",
"union simple type has no member types");
goto internal_error;
- }
+ }
/*
* Always normalize union type values, since we currently
* cannot store the whitespace information with the value
@@ -24617,7 +24743,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
* not possible.
*/
while (memberLink != NULL) {
- if (valNeeded)
+ if (valNeeded)
ret = xmlSchemaVCheckCVCSimpleType(actxt, node,
memberLink->type, value, &val, 0, 1, 0);
else
@@ -24640,9 +24766,9 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
*/
if ((ret == 0) && (type->flags & XML_SCHEMAS_TYPE_HAS_FACETS)) {
/*
- * The normalization behavior of ·union· types is controlled by
- * the value of whiteSpace on that one of the ·memberTypes·
- * against which the ·union· is successfully validated.
+ * The normalization behavior of `union` types is controlled by
+ * the value of whiteSpace on that one of the `memberTypes`
+ * against which the `union` is successfully validated.
*/
NORMALIZE(memberLink->type);
ret = xmlSchemaValidateFacets(actxt, node, type,
@@ -24654,7 +24780,7 @@ xmlSchemaVCheckCVCSimpleType(xmlSchemaAbstractCtxtPtr actxt,
"validating facets of union simple type");
goto internal_error;
}
- ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
+ ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
}
}
if (fireErrors && (ret > 0))
@@ -24802,14 +24928,14 @@ xmlSchemaProcessXSIType(xmlSchemaValidCtxtPtr vctxt,
/*
* SPEC cvc-elt (3.3.4) : (4.3) (Type Derivation OK)
- * "The ·local type definition· must be validly
+ * "The `local type definition` must be validly
* derived from the {type definition} given the union of
* the {disallowed substitutions} and the {type definition}'s
* {prohibited substitutions}, as defined in
- * Type Derivation OK (Complex) (§3.4.6)
+ * Type Derivation OK (Complex) ($3.4.6)
* (if it is a complex type definition),
* or given {disallowed substitutions} as defined in Type
- * Derivation OK (Simple) (§3.14.6) (if it is a simple type
+ * Derivation OK (Simple) ($3.14.6) (if it is a simple type
* definition)."
*
* {disallowed substitutions}: the "block" on the element decl.
@@ -24892,9 +25018,9 @@ xmlSchemaValidateElemDecl(xmlSchemaValidCtxtPtr vctxt)
return (vctxt->err);
}
if (actualType == NULL) {
- VERROR(XML_SCHEMAV_CVC_TYPE_1, NULL,
- "The type definition is absent");
- return (XML_SCHEMAV_CVC_TYPE_1);
+ VERROR(XML_SCHEMAV_CVC_TYPE_1, NULL,
+ "The type definition is absent");
+ return (XML_SCHEMAV_CVC_TYPE_1);
}
if (vctxt->nbAttrInfos != 0) {
int ret;
@@ -24984,9 +25110,9 @@ xmlSchemaValidateElemDecl(xmlSchemaValidCtxtPtr vctxt)
* No actual type definition.
*/
if (actualType == NULL) {
- VERROR(XML_SCHEMAV_CVC_TYPE_1, NULL,
- "The type definition is absent");
- return (XML_SCHEMAV_CVC_TYPE_1);
+ VERROR(XML_SCHEMAV_CVC_TYPE_1, NULL,
+ "The type definition is absent");
+ return (XML_SCHEMAV_CVC_TYPE_1);
}
/*
* Remember the actual type definition.
@@ -25069,19 +25195,19 @@ xmlSchemaClearAttrInfos(xmlSchemaValidCtxtPtr vctxt)
static int
xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
{
- xmlSchemaTypePtr type = vctxt->inode->typeDef;
+ xmlSchemaTypePtr type = vctxt->inode->typeDef;
xmlSchemaItemListPtr attrUseList;
xmlSchemaAttributeUsePtr attrUse = NULL;
xmlSchemaAttributePtr attrDecl = NULL;
- xmlSchemaAttrInfoPtr iattr, tmpiattr;
+ xmlSchemaAttrInfoPtr iattr, tmpiattr;
int i, j, found, nbAttrs, nbUses;
int xpathRes = 0, res, wildIDs = 0, fixed;
xmlNodePtr defAttrOwnerElem = NULL;
/*
* SPEC (cvc-attribute)
- * (1) "The declaration must not be ·absent· (see Missing
- * Sub-components (§5.3) for how this can fail to be
+ * (1) "The declaration must not be `absent` (see Missing
+ * Sub-components ($5.3) for how this can fail to be
* the case)."
* (2) "Its {type definition} must not be absent."
*
@@ -25131,15 +25257,15 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
* use with an {attribute declaration} whose {name} matches
* the attribute information item's [local name] and whose
* {target namespace} is identical to the attribute information
- * item's [namespace name] (where an ·absent· {target namespace}
+ * item's [namespace name] (where an `absent` {target namespace}
* is taken to be identical to a [namespace name] with no value),
- * then the attribute information must be ·valid· with respect
+ * then the attribute information must be `valid` with respect
* to that attribute use as per Attribute Locally Valid (Use)
- * (§3.5.4). In this case the {attribute declaration} of that
- * attribute use is the ·context-determined declaration· for the
+ * ($3.5.4). In this case the {attribute declaration} of that
+ * attribute use is the `context-determined declaration` for the
* attribute information item with respect to Schema-Validity
- * Assessment (Attribute) (§3.2.4) and
- * Assessment Outcome (Attribute) (§3.2.5).
+ * Assessment (Attribute) ($3.2.4) and
+ * Assessment Outcome (Attribute) ($3.2.5).
*/
iattr->state = XML_SCHEMAS_ATTR_ASSESSED;
iattr->use = attrUse;
@@ -25173,7 +25299,7 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
}
tmpiattr->state = XML_SCHEMAS_ATTR_ERR_MISSING;
tmpiattr->use = attrUse;
- tmpiattr->decl = attrDecl;
+ tmpiattr->decl = attrDecl;
} else if ((attrUse->occurs == XML_SCHEMAS_ATTR_USE_OPTIONAL) &&
((attrUse->defValue != NULL) ||
(attrDecl->defValue != NULL))) {
@@ -25198,7 +25324,6 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
if (vctxt->nbAttrInfos == 0)
return (0);
- nbUses = vctxt->nbAttrInfos;
/*
* Validate against the wildcard.
*/
@@ -25217,13 +25342,13 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
continue;
/*
* SPEC (cvc-complex-type)
- * (3.2.2) "The attribute information item must be ·valid· with
- * respect to it as defined in Item Valid (Wildcard) (§3.10.4)."
+ * (3.2.2) "The attribute information item must be `valid` with
+ * respect to it as defined in Item Valid (Wildcard) ($3.10.4)."
*
* SPEC Item Valid (Wildcard) (cvc-wildcard)
- * "... its [namespace name] must be ·valid· with respect to
+ * "... its [namespace name] must be `valid` with respect to
* the wildcard constraint, as defined in Wildcard allows
- * Namespace Name (§3.10.4)."
+ * Namespace Name ($3.10.4)."
*/
if (xmlSchemaCheckCVCWildcardNamespace(type->attributeWildcard,
iattr->nsName) == 0) {
@@ -25259,11 +25384,11 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
* SPEC (cvc-complex-type)
* (5) "Let [Definition:] the wild IDs be the set of
* all attribute information item to which clause 3.2
- * applied and whose ·validation· resulted in a
- * ·context-determined declaration· of mustFind or no
- * ·context-determined declaration· at all, and whose
+ * applied and whose `validation` resulted in a
+ * `context-determined declaration` of mustFind or no
+ * `context-determined declaration` at all, and whose
* [local name] and [namespace name] resolve (as
- * defined by QName resolution (Instance) (§3.15.4)) to
+ * defined by QName resolution (Instance) ($3.15.4)) to
* an attribute declaration whose {type definition} is
* or is derived from ID. Then all of the following
* must be true:"
@@ -25273,7 +25398,7 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
iattr->typeDef, XML_SCHEMAS_ID)) {
/*
* SPEC (5.1) "There must be no more than one
- * item in ·wild IDs·."
+ * item in `wild IDs`."
*/
if (wildIDs != 0) {
/* VAL TODO */
@@ -25284,21 +25409,23 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
wildIDs++;
/*
* SPEC (cvc-complex-type)
- * (5.2) "If ·wild IDs· is non-empty, there must not
+ * (5.2) "If `wild IDs` is non-empty, there must not
* be any attribute uses among the {attribute uses}
* whose {attribute declaration}'s {type definition}
* is or is derived from ID."
*/
- for (j = 0; j < attrUseList->nbItems; j++) {
- if (xmlSchemaIsDerivedFromBuiltInType(
- WXS_ATTRUSE_TYPEDEF(attrUseList->items[j]),
- XML_SCHEMAS_ID)) {
- /* URGENT VAL TODO: implement */
- iattr->state = XML_SCHEMAS_ATTR_ERR_WILD_AND_USE_ID;
- TODO
- break;
- }
- }
+ if (attrUseList != NULL) {
+ for (j = 0; j < attrUseList->nbItems; j++) {
+ if (xmlSchemaIsDerivedFromBuiltInType(
+ WXS_ATTRUSE_TYPEDEF(attrUseList->items[j]),
+ XML_SCHEMAS_ID)) {
+ /* URGENT VAL TODO: implement */
+ iattr->state = XML_SCHEMAS_ATTR_ERR_WILD_AND_USE_ID;
+ TODO
+ break;
+ }
+ }
+ }
}
} else if (type->attributeWildcard->processContents ==
XML_SCHEMAS_ANY_LAX) {
@@ -25401,7 +25528,7 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
* VAL TODO: Should we use the *normalized* value? This currently
* uses the *initial* value.
*/
-
+
if (defAttrOwnerElem) {
xmlChar *normValue;
const xmlChar *value;
@@ -25419,7 +25546,7 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
if (xmlNewProp(defAttrOwnerElem,
iattr->localName, value) == NULL) {
VERROR_INT("xmlSchemaVAttributesComplex",
- "callling xmlNewProp()");
+ "calling xmlNewProp()");
if (normValue != NULL)
xmlFree(normValue);
goto internal_error;
@@ -25492,9 +25619,9 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
fixed = 0;
/*
* SPEC (cvc-attribute)
- * (3) "The item's ·normalized value· must be locally ·valid·
- * with respect to that {type definition} as per
- * String Valid (§3.14.4)."
+ * (3) "The item's `normalized value` must be locally `valid`
+ * with respect to that {type definition} as per
+ * String Valid ($3.14.4)."
*
* VAL TODO: Do we already have the
* "normalized attribute value" here?
@@ -25514,7 +25641,7 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
iattr->node, iattr->typeDef, iattr->value, NULL,
1, 0, 0);
}
-
+
if (res != 0) {
if (res == -1) {
VERROR_INT("xmlSchemaVAttributesComplex",
@@ -25529,12 +25656,12 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
goto eval_idcs;
}
- if (fixed) {
+ if (fixed) {
/*
* SPEC Attribute Locally Valid (Use) (cvc-au)
- * "For an attribute information item to be·valid·
+ * "For an attribute information item to be `valid`
* with respect to an attribute use its *normalized*
- * value· must match the *canonical* lexical
+ * value must match the *canonical* lexical
* representation of the attribute use's {value
* constraint}value, if it is present and fixed."
*
@@ -25543,7 +25670,7 @@ xmlSchemaVAttributesComplex(xmlSchemaValidCtxtPtr vctxt)
*/
/*
* SPEC Attribute Locally Valid (cvc-attribute)
- * (4) "The item's *actual* value· must match the *value* of
+ * (4) "The item's *actual* value must match the *value* of
* the {value constraint}, if it is present and fixed."
*/
if (iattr->val == NULL) {
@@ -25635,8 +25762,8 @@ eval_idcs:
xmlSchemaCustomErr(ACTXT_CAST vctxt,
XML_SCHEMAV_CVC_AU, NULL, NULL,
"The value '%s' does not match the fixed "
- "value constraint '%s'",
- iattr->value, iattr->vcValue);
+ "value constraint '%s'",
+ iattr->value, iattr->vcValue);
break;
case XML_SCHEMAS_ATTR_ERR_WILD_STRICT_NO_DECL:
VERROR(XML_SCHEMAV_CVC_WILDCARD, NULL,
@@ -25698,7 +25825,7 @@ xmlSchemaValidateElemWildcard(xmlSchemaValidCtxtPtr vctxt,
xmlSchemaElementPtr decl = NULL;
decl = xmlSchemaGetElem(vctxt->schema,
- vctxt->inode->localName, vctxt->inode->nsName);
+ vctxt->inode->localName, vctxt->inode->nsName);
if (decl != NULL) {
vctxt->inode->decl = decl;
return (0);
@@ -25756,16 +25883,16 @@ static int
xmlSchemaCheckCOSValidDefault(xmlSchemaValidCtxtPtr vctxt,
const xmlChar *value,
xmlSchemaValPtr *val)
-{
+{
int ret = 0;
xmlSchemaNodeInfoPtr inode = vctxt->inode;
/*
* cos-valid-default:
* Schema Component Constraint: Element Default Valid (Immediate)
- * For a string to be a valid default with respect to a type
+ * For a string to be a valid default with respect to a type
* definition the appropriate case among the following must be true:
- */
+ */
if WXS_IS_COMPLEX(inode->typeDef) {
/*
* Complex type.
@@ -25773,8 +25900,8 @@ xmlSchemaCheckCOSValidDefault(xmlSchemaValidCtxtPtr vctxt,
* SPEC (2.1) "its {content type} must be a simple type definition
* or mixed."
* SPEC (2.2.2) "If the {content type} is mixed, then the {content
- * type}'s particle must be ·emptiable· as defined by
- * Particle Emptiable (§3.9.6)."
+ * type}'s particle must be `emptiable` as defined by
+ * Particle Emptiable ($3.9.6)."
*/
if ((! WXS_HAS_SIMPLE_CONTENT(inode->typeDef)) &&
((! WXS_HAS_MIXED_CONTENT(inode->typeDef)) ||
@@ -25787,18 +25914,18 @@ xmlSchemaCheckCOSValidDefault(xmlSchemaValidCtxtPtr vctxt,
"or mixed content and a particle emptiable");
return(ret);
}
- }
+ }
/*
- * 1 If the type definition is a simple type definition, then the string
- * must be ·valid· with respect to that definition as defined by String
- * Valid (§3.14.4).
+ * 1 If the type definition is a simple type definition, then the string
+ * must be `valid` with respect to that definition as defined by String
+ * Valid ($3.14.4).
*
* AND
*
- * 2.2.1 If the {content type} is a simple type definition, then the
- * string must be ·valid· with respect to that simple type definition
- * as defined by String Valid (§3.14.4).
- */
+ * 2.2.1 If the {content type} is a simple type definition, then the
+ * string must be `valid` with respect to that simple type definition
+ * as defined by String Valid ($3.14.4).
+ */
if (WXS_IS_SIMPLE(inode->typeDef)) {
ret = xmlSchemaVCheckCVCSimpleType(ACTXT_CAST vctxt,
@@ -25812,7 +25939,7 @@ xmlSchemaCheckCOSValidDefault(xmlSchemaValidCtxtPtr vctxt,
if (ret < 0) {
VERROR_INT("xmlSchemaCheckCOSValidDefault",
"calling xmlSchemaVCheckCVCSimpleType()");
- }
+ }
return (ret);
}
@@ -25846,13 +25973,13 @@ xmlSchemaVContentModelCallback(xmlSchemaValidCtxtPtr vctxt ATTRIBUTE_UNUSED,
static int
xmlSchemaValidatorPushElem(xmlSchemaValidCtxtPtr vctxt)
-{
+{
vctxt->inode = xmlSchemaGetFreshElemInfo(vctxt);
if (vctxt->inode == NULL) {
VERROR_INT("xmlSchemaValidatorPushElem",
"calling xmlSchemaGetFreshElemInfo()");
return (-1);
- }
+ }
vctxt->nbAttrInfos = 0;
return (0);
}
@@ -25875,7 +26002,7 @@ xmlSchemaVCheckINodeDataType(xmlSchemaValidCtxtPtr vctxt,
-/*
+/*
* Process END of element.
*/
static int
@@ -25894,7 +26021,7 @@ xmlSchemaValidatorPopElem(xmlSchemaValidCtxtPtr vctxt)
*/
vctxt->skipDepth = vctxt->depth -1;
goto end_elem;
- }
+ }
if ((inode->typeDef == NULL) ||
(inode->flags & XML_SCHEMA_NODE_INFO_ERR_BAD_TYPE)) {
/*
@@ -25914,8 +26041,8 @@ xmlSchemaValidatorPopElem(xmlSchemaValidCtxtPtr vctxt)
* Workaround for "anyType".
*/
if (inode->typeDef->builtInType == XML_SCHEMAS_ANYTYPE)
- goto character_content;
-
+ goto character_content;
+
if ((inode->flags & XML_SCHEMA_ELEM_INFO_ERR_BAD_CONTENT) == 0) {
xmlChar *values[10];
int terminal, nbval = 10, nbneg;
@@ -25936,16 +26063,30 @@ xmlSchemaValidatorPopElem(xmlSchemaValidCtxtPtr vctxt)
#ifdef DEBUG_AUTOMATA
xmlGenericError(xmlGenericErrorContext,
"AUTOMATON create on '%s'\n", inode->localName);
-#endif
+#endif
+ }
+
+ /*
+ * Do not check further content if the node has been nilled
+ */
+ if (INODE_NILLED(inode)) {
+ ret = 0;
+#ifdef DEBUG_AUTOMATA
+ xmlGenericError(xmlGenericErrorContext,
+ "AUTOMATON succeeded on nilled '%s'\n",
+ inode->localName);
+#endif
+ goto skip_nilled;
}
+
/*
* Get hold of the still expected content, since a further
* call to xmlRegExecPushString() will loose this information.
- */
+ */
xmlRegExecNextValues(inode->regexCtxt,
&nbval, &nbneg, &values[0], &terminal);
ret = xmlRegExecPushString(inode->regexCtxt, NULL, NULL);
- if (ret <= 0) {
+ if ((ret<0) || ((ret==0) && (!INODE_NILLED(inode)))) {
/*
* Still missing something.
*/
@@ -25975,6 +26116,9 @@ xmlSchemaValidatorPopElem(xmlSchemaValidCtxtPtr vctxt)
}
}
+
+skip_nilled:
+
if (inode->typeDef->contentType == XML_SCHEMA_CONTENT_ELEMENTS)
goto end_elem;
@@ -25991,14 +26135,14 @@ character_content:
/*
* Speedup if no declaration exists.
*/
- if (WXS_IS_SIMPLE(inode->typeDef)) {
+ if (WXS_IS_SIMPLE(inode->typeDef)) {
ret = xmlSchemaVCheckINodeDataType(vctxt,
inode, inode->typeDef, inode->value);
} else if (WXS_HAS_SIMPLE_CONTENT(inode->typeDef)) {
ret = xmlSchemaVCheckINodeDataType(vctxt,
inode, inode->typeDef->contentTypeDef,
inode->value);
- }
+ }
if (ret < 0) {
VERROR_INT("xmlSchemaValidatorPopElem",
"calling xmlSchemaVCheckCVCSimpleType()");
@@ -26007,26 +26151,26 @@ character_content:
goto end_elem;
}
/*
- * cvc-elt (3.3.4) : 5
+ * cvc-elt (3.3.4) : 5
* The appropriate case among the following must be true:
*/
/*
- * cvc-elt (3.3.4) : 5.1
- * If the declaration has a {value constraint},
- * the item has neither element nor character [children] and
+ * cvc-elt (3.3.4) : 5.1
+ * If the declaration has a {value constraint},
+ * the item has neither element nor character [children] and
* clause 3.2 has not applied, then all of the following must be true:
*/
if ((inode->decl->value != NULL) &&
- (inode->flags & XML_SCHEMA_ELEM_INFO_EMPTY) &&
+ (inode->flags & XML_SCHEMA_ELEM_INFO_EMPTY) &&
(! INODE_NILLED(inode))) {
/*
- * cvc-elt (3.3.4) : 5.1.1
- * If the ·actual type definition· is a ·local type definition·
+ * cvc-elt (3.3.4) : 5.1.1
+ * If the `actual type definition` is a `local type definition`
* then the canonical lexical representation of the {value constraint}
- * value must be a valid default for the ·actual type definition· as
- * defined in Element Default Valid (Immediate) (§3.3.6).
+ * value must be a valid default for the `actual type definition` as
+ * defined in Element Default Valid (Immediate) ($3.3.6).
*/
- /*
+ /*
* NOTE: 'local' above means types acquired by xsi:type.
* NOTE: Although the *canonical* value is stated, it is not
* relevant if canonical or not. Additionally XML Schema 1.1
@@ -26049,22 +26193,22 @@ character_content:
* (see following).
*/
goto default_psvi;
- }
- /*
- * cvc-elt (3.3.4) : 5.1.2
- * The element information item with the canonical lexical
- * representation of the {value constraint} value used as its
- * ·normalized value· must be ·valid· with respect to the
- * ·actual type definition· as defined by Element Locally Valid (Type)
- * (§3.3.4).
- */
+ }
+ /*
+ * cvc-elt (3.3.4) : 5.1.2
+ * The element information item with the canonical lexical
+ * representation of the {value constraint} value used as its
+ * `normalized value` must be `valid` with respect to the
+ * `actual type definition` as defined by Element Locally Valid (Type)
+ * ($3.3.4).
+ */
if (WXS_IS_SIMPLE(inode->typeDef)) {
ret = xmlSchemaVCheckINodeDataType(vctxt,
inode, inode->typeDef, inode->decl->value);
} else if (WXS_HAS_SIMPLE_CONTENT(inode->typeDef)) {
ret = xmlSchemaVCheckINodeDataType(vctxt,
inode, inode->typeDef->contentTypeDef,
- inode->decl->value);
+ inode->decl->value);
}
if (ret != 0) {
if (ret < 0) {
@@ -26085,7 +26229,7 @@ default_psvi:
xmlChar *normValue;
/*
* VAL TODO: Normalize the value.
- */
+ */
normValue = xmlSchemaNormalizeValue(inode->typeDef,
inode->decl->value);
if (normValue != NULL) {
@@ -26098,42 +26242,42 @@ default_psvi:
"calling xmlNewText()");
goto internal_error;
} else
- xmlAddChild(inode->node, textChild);
+ xmlAddChild(inode->node, textChild);
}
-
- } else if (! INODE_NILLED(inode)) {
+
+ } else if (! INODE_NILLED(inode)) {
/*
- * 5.2.1 The element information item must be ·valid· with respect
- * to the ·actual type definition· as defined by Element Locally
- * Valid (Type) (§3.3.4).
- */
+ * 5.2.1 The element information item must be `valid` with respect
+ * to the `actual type definition` as defined by Element Locally
+ * Valid (Type) ($3.3.4).
+ */
if (WXS_IS_SIMPLE(inode->typeDef)) {
/*
* SPEC (cvc-type) (3.1)
* "If the type definition is a simple type definition, ..."
* (3.1.3) "If clause 3.2 of Element Locally Valid
- * (Element) (§3.3.4) did not apply, then the ·normalized value·
- * must be ·valid· with respect to the type definition as defined
- * by String Valid (§3.14.4).
- */
+ * (Element) ($3.3.4) did not apply, then the `normalized value`
+ * must be `valid` with respect to the type definition as defined
+ * by String Valid ($3.14.4).
+ */
ret = xmlSchemaVCheckINodeDataType(vctxt,
inode, inode->typeDef, inode->value);
} else if (WXS_HAS_SIMPLE_CONTENT(inode->typeDef)) {
/*
* SPEC (cvc-type) (3.2) "If the type definition is a complex type
* definition, then the element information item must be
- * ·valid· with respect to the type definition as per
- * Element Locally Valid (Complex Type) (§3.4.4);"
+ * `valid` with respect to the type definition as per
+ * Element Locally Valid (Complex Type) ($3.4.4);"
*
* SPEC (cvc-complex-type) (2.2)
- * "If the {content type} is a simple type definition, ...
- * the ·normalized value· of the element information item is
- * ·valid· with respect to that simple type definition as
- * defined by String Valid (§3.14.4)."
+ * "If the {content type} is a simple type definition, ...
+ * the `normalized value` of the element information item is
+ * `valid` with respect to that simple type definition as
+ * defined by String Valid ($3.14.4)."
*/
ret = xmlSchemaVCheckINodeDataType(vctxt,
inode, inode->typeDef->contentTypeDef, inode->value);
- }
+ }
if (ret != 0) {
if (ret < 0) {
VERROR_INT("xmlSchemaValidatorPopElem",
@@ -26143,7 +26287,7 @@ default_psvi:
goto end_elem;
}
/*
- * 5.2.2 If there is a fixed {value constraint} and clause 3.2 has
+ * 5.2.2 If there is a fixed {value constraint} and clause 3.2 has
* not applied, all of the following must be true:
*/
if ((inode->decl->value != NULL) &&
@@ -26154,7 +26298,7 @@ default_psvi:
* done on computed values.
*/
/*
- * 5.2.2.1 The element information item must have no element
+ * 5.2.2.1 The element information item must have no element
* information item [children].
*/
if (inode->flags &
@@ -26166,28 +26310,28 @@ default_psvi:
goto end_elem;
} else {
/*
- * 5.2.2.2 The appropriate case among the following must
+ * 5.2.2.2 The appropriate case among the following must
* be true:
- */
+ */
if (WXS_HAS_MIXED_CONTENT(inode->typeDef)) {
/*
- * 5.2.2.2.1 If the {content type} of the ·actual type
- * definition· is mixed, then the *initial value* of the
- * item must match the canonical lexical representation
+ * 5.2.2.2.1 If the {content type} of the `actual type
+ * definition` is mixed, then the *initial value* of the
+ * item must match the canonical lexical representation
* of the {value constraint} value.
*
- * ... the *initial value* of an element information
- * item is the string composed of, in order, the
- * [character code] of each character information item in
+ * ... the *initial value* of an element information
+ * item is the string composed of, in order, the
+ * [character code] of each character information item in
* the [children] of that element information item.
- */
+ */
if (! xmlStrEqual(inode->value, inode->decl->value)){
- /*
+ /*
* VAL TODO: Report invalid & expected values as well.
* VAL TODO: Implement the canonical stuff.
*/
ret = XML_SCHEMAV_CVC_ELT_5_2_2_2_1;
- xmlSchemaCustomErr(ACTXT_CAST vctxt,
+ xmlSchemaCustomErr(ACTXT_CAST vctxt,
ret, NULL, NULL,
"The initial value '%s' does not match the fixed "
"value constraint '%s'",
@@ -26196,9 +26340,9 @@ default_psvi:
}
} else if (WXS_HAS_SIMPLE_CONTENT(inode->typeDef)) {
/*
- * 5.2.2.2.2 If the {content type} of the ·actual type
- * definition· is a simple type definition, then the
- * *actual value* of the item must match the canonical
+ * 5.2.2.2.2 If the {content type} of the `actual type
+ * definition` is a simple type definition, then the
+ * *actual value* of the item must match the canonical
* lexical representation of the {value constraint} value.
*/
/*
@@ -26213,16 +26357,16 @@ default_psvi:
xmlSchemaCustomErr(ACTXT_CAST vctxt,
ret, NULL, NULL,
"The actual value '%s' does not match the fixed "
- "value constraint '%s'",
+ "value constraint '%s'",
inode->value,
inode->decl->value);
goto end_elem;
- }
+ }
}
- }
+ }
}
}
-
+
end_elem:
if (vctxt->depth < 0) {
/* TODO: raise error? */
@@ -26232,15 +26376,15 @@ end_elem:
vctxt->skipDepth = -1;
/*
* Evaluate the history of XPath state objects.
- */
+ */
if (inode->appliedXPath &&
(xmlSchemaXPathProcessHistory(vctxt, vctxt->depth) == -1))
goto internal_error;
/*
* MAYBE TODO:
- * SPEC (6) "The element information item must be ·valid· with
+ * SPEC (6) "The element information item must be `valid` with
* respect to each of the {identity-constraint definitions} as per
- * Identity-constraint Satisfied (§3.11.4)."
+ * Identity-constraint Satisfied ($3.11.4)."
*/
/*
* PSVI TODO: If we expose IDC node-tables via PSVI then the tables
@@ -26248,7 +26392,7 @@ end_elem:
* We will currently build IDC node-tables and bubble them only if
* keyrefs do exist.
*/
-
+
/*
* Add the current IDC target-nodes to the IDC node-tables.
*/
@@ -26282,7 +26426,7 @@ end_elem:
*/
if (xmlSchemaBubbleIDCNodeTables(vctxt) == -1)
goto internal_error;
- }
+ }
}
/*
* Clear the current ielem.
@@ -26315,11 +26459,11 @@ end_elem:
aidc = aidc->next;
} while (aidc != NULL);
}
- vctxt->depth--;
+ vctxt->depth--;
vctxt->inode = vctxt->elemInfos[vctxt->depth];
/*
- * VAL TODO: 7 If the element information item is the ·validation root·, it must be
- * ·valid· per Validation Root Valid (ID/IDREF) (§3.3.4).
+ * VAL TODO: 7 If the element information item is the `validation root`, it must be
+ * `valid` per Validation Root Valid (ID/IDREF) ($3.3.4).
*/
return (ret);
@@ -26400,11 +26544,11 @@ xmlSchemaValidateChildElem(xmlSchemaValidCtxtPtr vctxt)
* Fallback to "anyType".
*
* SPEC (cvc-assess-elt)
- * "If the item cannot be ·strictly assessed·, [...]
+ * "If the item cannot be `strictly assessed`, [...]
* an element information item's schema validity may be laxly
- * assessed if its ·context-determined declaration· is not
- * skip by ·validating· with respect to the ·ur-type
- * definition· as per Element Locally Valid (Type) (§3.3.4)."
+ * assessed if its `context-determined declaration` is not
+ * skip by `validating` with respect to the `ur-type
+ * definition` as per Element Locally Valid (Type) ($3.3.4)."
*/
vctxt->inode->typeDef =
xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
@@ -26476,9 +26620,9 @@ xmlSchemaValidateChildElem(xmlSchemaValidCtxtPtr vctxt)
* SPEC (2.4) "If the {content type} is element-only or mixed,
* then the sequence of the element information item's
* element information item [children], if any, taken in
- * order, is ·valid· with respect to the {content type}'s
+ * order, is `valid` with respect to the {content type}'s
* particle, as defined in Element Sequence Locally Valid
- * (Particle) (§3.9.4)."
+ * (Particle) ($3.9.4)."
*/
ret = xmlRegExecPushString2(regexCtxt,
vctxt->inode->localName,
@@ -26575,7 +26719,7 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
if (consumed != NULL)
*consumed = 0;
if (INODE_NILLED(vctxt->inode)) {
- /*
+ /*
* SPEC cvc-elt (3.3.4 - 3.2.1)
* "The element information item must have no character or
* element information item [children]."
@@ -26591,7 +26735,7 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
* information item [children]."
*/
if (vctxt->inode->typeDef->contentType ==
- XML_SCHEMA_CONTENT_EMPTY) {
+ XML_SCHEMA_CONTENT_EMPTY) {
VERROR(XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, NULL,
"Character content is not allowed, "
"because the content type is empty");
@@ -26602,12 +26746,12 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
XML_SCHEMA_CONTENT_ELEMENTS) {
if ((nodeType != XML_TEXT_NODE) ||
(! xmlSchemaIsBlank((xmlChar *) value, len))) {
- /*
- * SPEC cvc-complex-type (2.3)
- * "If the {content type} is element-only, then the
- * element information item has no character information
- * item [children] other than those whose [character
- * code] is defined as a white space in [XML 1.0 (Second
+ /*
+ * SPEC cvc-complex-type (2.3)
+ * "If the {content type} is element-only, then the
+ * element information item has no character information
+ * item [children] other than those whose [character
+ * code] is defined as a white space in [XML 1.0 (Second
* Edition)]."
*/
VERROR(XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, NULL,
@@ -26617,7 +26761,7 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
}
return (0);
}
-
+
if ((value == NULL) || (value[0] == 0))
return (0);
/*
@@ -26629,7 +26773,7 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
((vctxt->inode->decl == NULL) ||
(vctxt->inode->decl->value == NULL)))
return (0);
-
+
if (vctxt->inode->value == NULL) {
/*
* Set the value.
@@ -26672,7 +26816,7 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
len = xmlStrlen(value);
/*
* Concat the value.
- */
+ */
if (vctxt->inode->flags & XML_SCHEMA_NODE_INFO_FLAG_OWNED_VALUES) {
vctxt->inode->value = BAD_CAST xmlStrncat(
(xmlChar *) vctxt->inode->value, value, len);
@@ -26681,7 +26825,7 @@ xmlSchemaVPushText(xmlSchemaValidCtxtPtr vctxt,
BAD_CAST xmlStrncatNew(vctxt->inode->value, value, len);
vctxt->inode->flags |= XML_SCHEMA_NODE_INFO_FLAG_OWNED_VALUES;
}
- }
+ }
return (0);
}
@@ -26698,7 +26842,7 @@ xmlSchemaValidateElem(xmlSchemaValidCtxtPtr vctxt)
goto internal_error;
}
if (vctxt->xsiAssemble) {
- /*
+ /*
* We will stop validation if there was an error during
* dynamic schema construction.
* Note that we simply set @skipDepth to 0, this could
@@ -26715,6 +26859,11 @@ xmlSchemaValidateElem(xmlSchemaValidCtxtPtr vctxt)
vctxt->skipDepth = 0;
return(ret);
}
+ /*
+ * Augment the IDC definitions for the main schema and all imported ones
+ * NOTE: main schema is the first in the imported list
+ */
+ xmlHashScan(vctxt->schema->schemasImports,(xmlHashScanner)xmlSchemaAugmentImportedIDC, vctxt);
}
if (vctxt->depth > 0) {
/*
@@ -26808,15 +26957,15 @@ type_validation:
if (vctxt->inode->typeDef == NULL) {
vctxt->inode->flags |= XML_SCHEMA_NODE_INFO_ERR_BAD_TYPE;
ret = XML_SCHEMAV_CVC_TYPE_1;
- VERROR(ret, NULL,
- "The type definition is absent");
+ VERROR(ret, NULL,
+ "The type definition is absent");
goto exit;
- }
+ }
if (vctxt->inode->typeDef->flags & XML_SCHEMAS_TYPE_ABSTRACT) {
vctxt->inode->flags |= XML_SCHEMA_NODE_INFO_ERR_BAD_TYPE;
ret = XML_SCHEMAV_CVC_TYPE_2;
- VERROR(ret, NULL,
- "The type definition is abstract");
+ VERROR(ret, NULL,
+ "The type definition is abstract");
goto exit;
}
/*
@@ -26897,7 +27046,7 @@ root_found:
nodeType = xmlTextReaderNodeType(vctxt->reader);
if (nodeType == XML_ELEMENT_NODE) {
-
+
vctxt->depth++;
if (xmlSchemaValidatorPushElem(vctxt) == -1) {
VERROR_INT("xmlSchemaVReaderWalk",
@@ -27063,17 +27212,17 @@ internal_error:
#endif
/************************************************************************
- * *
- * SAX validation handlers *
- * *
+ * *
+ * SAX validation handlers *
+ * *
************************************************************************/
/*
* Process text content.
*/
static void
-xmlSchemaSAXHandleText(void *ctx,
- const xmlChar * ch,
+xmlSchemaSAXHandleText(void *ctx,
+ const xmlChar * ch,
int len)
{
xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) ctx;
@@ -27097,10 +27246,10 @@ xmlSchemaSAXHandleText(void *ctx,
* Process CDATA content.
*/
static void
-xmlSchemaSAXHandleCDataSection(void *ctx,
- const xmlChar * ch,
+xmlSchemaSAXHandleCDataSection(void *ctx,
+ const xmlChar * ch,
int len)
-{
+{
xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) ctx;
if (vctxt->depth < 0)
@@ -27134,20 +27283,20 @@ xmlSchemaSAXHandleReference(void *ctx ATTRIBUTE_UNUSED,
static void
xmlSchemaSAXHandleStartElementNs(void *ctx,
- const xmlChar * localname,
- const xmlChar * prefix ATTRIBUTE_UNUSED,
- const xmlChar * URI,
- int nb_namespaces,
- const xmlChar ** namespaces,
- int nb_attributes,
- int nb_defaulted ATTRIBUTE_UNUSED,
+ const xmlChar * localname,
+ const xmlChar * prefix ATTRIBUTE_UNUSED,
+ const xmlChar * URI,
+ int nb_namespaces,
+ const xmlChar ** namespaces,
+ int nb_attributes,
+ int nb_defaulted ATTRIBUTE_UNUSED,
const xmlChar ** attributes)
-{
+{
xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) ctx;
int ret;
xmlSchemaNodeInfoPtr ielem;
int i, j;
-
+
/*
* SAX VAL TODO: What to do with nb_defaulted?
*/
@@ -27175,16 +27324,16 @@ xmlSchemaSAXHandleStartElementNs(void *ctx,
ielem->flags |= XML_SCHEMA_ELEM_INFO_EMPTY;
/*
* Register namespaces on the elem info.
- */
+ */
if (nb_namespaces != 0) {
/*
* Although the parser builds its own namespace list,
* we have no access to it, so we'll use an own one.
*/
- for (i = 0, j = 0; i < nb_namespaces; i++, j += 2) {
+ for (i = 0, j = 0; i < nb_namespaces; i++, j += 2) {
/*
* Store prefix and namespace name.
- */
+ */
if (ielem->nsBindings == NULL) {
ielem->nsBindings =
(const xmlChar **) xmlMalloc(10 *
@@ -27220,7 +27369,7 @@ xmlSchemaSAXHandleStartElementNs(void *ctx,
} else
ielem->nsBindings[ielem->nbNsBindings * 2 + 1] =
namespaces[j+1];
- ielem->nbNsBindings++;
+ ielem->nbNsBindings++;
}
}
/*
@@ -27234,7 +27383,7 @@ xmlSchemaSAXHandleStartElementNs(void *ctx,
for (j = 0, i = 0; i < nb_attributes; i++, j += 5) {
/*
* Duplicate the value.
- */
+ */
value = xmlStrndup(attributes[j+3],
attributes[j+4] - attributes[j+3]);
/*
@@ -27261,7 +27410,7 @@ xmlSchemaSAXHandleStartElementNs(void *ctx,
goto internal_error;
}
goto exit;
- }
+ }
exit:
return;
@@ -27316,9 +27465,9 @@ internal_error:
}
/************************************************************************
- * *
- * Validation interfaces *
- * *
+ * *
+ * Validation interfaces *
+ * *
************************************************************************/
/**
@@ -27348,8 +27497,28 @@ xmlSchemaNewValidCtxt(xmlSchemaPtr schema)
}
/**
+ * xmlSchemaValidateSetFilename:
+ * @vctxt: the schema validation context
+ * @filename: the file name
+ *
+ * Workaround to provide file error reporting information when this is
+ * not provided by current APIs
+ */
+void
+xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt, const char *filename) {
+ if (vctxt == NULL)
+ return;
+ if (vctxt->filename != NULL)
+ xmlFree(vctxt->filename);
+ if (filename != NULL)
+ vctxt->filename = (char *) xmlStrdup((const xmlChar *) filename);
+ else
+ vctxt->filename = NULL;
+}
+
+/**
* xmlSchemaClearValidCtxt:
- * @ctxt: the schema validation context
+ * @vctxt: the schema validation context
*
* Free the resources associated to the schema validation context;
* leaves some fields alive intended for reuse of the context.
@@ -27371,7 +27540,7 @@ xmlSchemaClearValidCtxt(xmlSchemaValidCtxtPtr vctxt)
#ifdef LIBXML_READER_ENABLED
vctxt->reader = NULL;
#endif
- vctxt->hasKeyrefs = 0;
+ vctxt->hasKeyrefs = 0;
if (vctxt->value != NULL) {
xmlSchemaFreeValue(vctxt->value);
@@ -27441,7 +27610,7 @@ xmlSchemaClearValidCtxt(xmlSchemaValidCtxtPtr vctxt)
break;
xmlSchemaClearElemInfo(vctxt, ei);
}
- }
+ }
xmlSchemaItemListClear(vctxt->nodeQNames);
/* Recreate the dict. */
xmlDictFree(vctxt->dict);
@@ -27450,6 +27619,11 @@ xmlSchemaClearValidCtxt(xmlSchemaValidCtxtPtr vctxt)
* where the user provides the dict?
*/
vctxt->dict = xmlDictCreate();
+
+ if (vctxt->filename != NULL) {
+ xmlFree(vctxt->filename);
+ vctxt->filename = NULL;
+ }
}
/**
@@ -27535,6 +27709,8 @@ xmlSchemaFreeValidCtxt(xmlSchemaValidCtxtPtr ctxt)
xmlSchemaItemListFree(ctxt->nodeQNames);
if (ctxt->dict != NULL)
xmlDictFree(ctxt->dict);
+ if (ctxt->filename != NULL)
+ xmlFree(ctxt->filename);
xmlFree(ctxt);
}
@@ -27543,7 +27719,7 @@ xmlSchemaFreeValidCtxt(xmlSchemaValidCtxtPtr ctxt)
* @ctxt: the schema validation context
*
* Check if any error was detected during validation.
- *
+ *
* Returns 1 if valid so far, 0 if errors were detected, and -1 in case
* of internal error.
*/
@@ -27602,7 +27778,7 @@ xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
/**
* xmlSchemaGetValidErrors:
- * @ctxt: a XML-Schema validation context
+ * @ctxt: a XML-Schema validation context
* @err: the error function result
* @warn: the warning function result
* @ctx: the functions context result
@@ -27663,7 +27839,7 @@ xmlSchemaSetValidOptions(xmlSchemaValidCtxtPtr ctxt,
/**
* xmlSchemaValidCtxtGetOptions:
- * @ctxt: a schema validation context
+ * @ctxt: a schema validation context
*
* Get the validation context options.
*
@@ -27689,7 +27865,10 @@ xmlSchemaVDocWalk(xmlSchemaValidCtxtPtr vctxt)
const xmlChar *nsName;
/* DOC VAL TODO: Move this to the start function. */
- valRoot = xmlDocGetRootElement(vctxt->doc);
+ if (vctxt->validationRoot != NULL)
+ valRoot = vctxt->validationRoot;
+ else
+ valRoot = xmlDocGetRootElement(vctxt->doc);
if (valRoot == NULL) {
/* VAL TODO: Error code? */
VERROR(1, NULL, "The document has no document element");
@@ -27731,7 +27910,7 @@ xmlSchemaVDocWalk(xmlSchemaValidCtxtPtr vctxt)
nsName = NULL;
ret = xmlSchemaValidatorPushAttribute(vctxt,
(xmlNodePtr) attr,
- /*
+ /*
* Note that we give it the line number of the
* parent element.
*/
@@ -27787,7 +27966,7 @@ xmlSchemaVDocWalk(xmlSchemaValidCtxtPtr vctxt)
(node->type == XML_ENTITY_REF_NODE)) {
/*
* DOC VAL TODO: What to do with entities?
- */
+ */
VERROR_INT("xmlSchemaVDocWalk",
"there is at least one entity reference in the node-tree "
"currently being validated. Processing of entities with "
@@ -27847,7 +28026,7 @@ static int
xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
/*
* Some initialization.
- */
+ */
vctxt->err = 0;
vctxt->nberrors = 0;
vctxt->depth = -1;
@@ -27864,9 +28043,9 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
*/
if (vctxt->schema == NULL) {
xmlSchemaParserCtxtPtr pctxt;
-
+
vctxt->xsiAssemble = 1;
- /*
+ /*
* If not schema was given then we will create a schema
* dynamically using XSI schema locations.
*
@@ -27882,8 +28061,8 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
*/
vctxt->schema = xmlSchemaNewSchema(pctxt);
if (vctxt->schema == NULL)
- return (-1);
- /*
+ return (-1);
+ /*
* Create the schema construction context.
*/
pctxt->constructor = xmlSchemaConstructionCtxtCreate(pctxt->dict);
@@ -27894,14 +28073,13 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
* Take ownership of the constructor to be able to free it.
*/
pctxt->ownsConstructor = 1;
- }
+ }
/*
- * Augment the IDC definitions.
+ * Augment the IDC definitions for the main schema and all imported ones
+ * NOTE: main schema if the first in the imported list
*/
- if (vctxt->schema->idcDef != NULL) {
- xmlHashScan(vctxt->schema->idcDef,
- (xmlHashScanner) xmlSchemaAugmentIDC, vctxt);
- }
+ xmlHashScan(vctxt->schema->schemasImports,(xmlHashScanner)xmlSchemaAugmentImportedIDC, vctxt);
+
return(0);
}
@@ -28011,9 +28189,9 @@ xmlSchemaValidateDoc(xmlSchemaValidCtxtPtr ctxt, xmlDocPtr doc)
/************************************************************************
- * *
- * Function and data for SAX streaming API *
- * *
+ * *
+ * Function and data for SAX streaming API *
+ * *
************************************************************************/
typedef struct _xmlSchemaSplitSAXData xmlSchemaSplitSAXData;
typedef xmlSchemaSplitSAXData *xmlSchemaSplitSAXDataPtr;
@@ -28089,8 +28267,8 @@ externalSubsetSplit(void *ctx, const xmlChar *name,
{
xmlSchemaSAXPlugPtr ctxt = (xmlSchemaSAXPlugPtr) ctx;
if ((ctxt != NULL) && (ctxt->user_sax != NULL) &&
- (ctxt->user_sax->internalSubset != NULL))
- ctxt->user_sax->internalSubset(ctxt->user_data, name, ExternalID,
+ (ctxt->user_sax->externalSubset != NULL))
+ ctxt->user_sax->externalSubset(ctxt->user_data, name, ExternalID,
SystemID);
}
@@ -28296,8 +28474,8 @@ cdataBlockSplit(void *ctx, const xmlChar *value, int len)
if (ctxt == NULL)
return;
if ((ctxt->user_sax != NULL) &&
- (ctxt->user_sax->ignorableWhitespace != NULL))
- ctxt->user_sax->ignorableWhitespace(ctxt->user_data, value, len);
+ (ctxt->user_sax->cdataBlock != NULL))
+ ctxt->user_sax->cdataBlock(ctxt->user_data, value, len);
if (ctxt->ctxt != NULL)
xmlSchemaSAXHandleCDataSection(ctxt->ctxt, value, len);
}
@@ -28316,10 +28494,10 @@ referenceSplit(void *ctx, const xmlChar *name)
}
static void
-startElementNsSplit(void *ctx, const xmlChar * localname,
- const xmlChar * prefix, const xmlChar * URI,
- int nb_namespaces, const xmlChar ** namespaces,
- int nb_attributes, int nb_defaulted,
+startElementNsSplit(void *ctx, const xmlChar * localname,
+ const xmlChar * prefix, const xmlChar * URI,
+ int nb_namespaces, const xmlChar ** namespaces,
+ int nb_attributes, int nb_defaulted,
const xmlChar ** attributes) {
xmlSchemaSAXPlugPtr ctxt = (xmlSchemaSAXPlugPtr) ctx;
if (ctxt == NULL)
@@ -28338,7 +28516,7 @@ startElementNsSplit(void *ctx, const xmlChar * localname,
}
static void
-endElementNsSplit(void *ctx, const xmlChar * localname,
+endElementNsSplit(void *ctx, const xmlChar * localname,
const xmlChar * prefix, const xmlChar * URI) {
xmlSchemaSAXPlugPtr ctxt = (xmlSchemaSAXPlugPtr) ctx;
if (ctxt == NULL)
@@ -28379,7 +28557,7 @@ xmlSchemaSAXPlug(xmlSchemaValidCtxtPtr ctxt,
old_sax = *sax;
if ((old_sax != NULL) && (old_sax->initialized != XML_SAX2_MAGIC))
return(NULL);
- if ((old_sax != NULL) &&
+ if ((old_sax != NULL) &&
(old_sax->startElementNs == NULL) && (old_sax->endElementNs == NULL) &&
((old_sax->startElement != NULL) || (old_sax->endElement != NULL)))
return(NULL);
@@ -28397,7 +28575,7 @@ xmlSchemaSAXPlug(xmlSchemaValidCtxtPtr ctxt,
ret->ctxt = ctxt;
ret->user_sax_ptr = sax;
ret->user_sax = old_sax;
- if (old_sax == NULL) {
+ if (old_sax == NULL) {
/*
* go direct, no need for the split block and functions.
*/
@@ -28418,7 +28596,7 @@ xmlSchemaSAXPlug(xmlSchemaValidCtxtPtr ctxt,
} else {
/*
* for each callback unused by Schemas initialize it to the Split
- * routine only if non NULL in the user block, this can speed up
+ * routine only if non NULL in the user block, this can speed up
* things at the SAX level.
*/
if (old_sax->internalSubset != NULL)
@@ -28530,6 +28708,63 @@ xmlSchemaSAXUnplug(xmlSchemaSAXPlugPtr plug)
}
/**
+ * xmlSchemaValidateSetLocator:
+ * @vctxt: a schema validation context
+ * @f: the locator function pointer
+ * @ctxt: the locator context
+ *
+ * Allows to set a locator function to the validation context,
+ * which will be used to provide file and line information since
+ * those are not provided as part of the SAX validation flow
+ * Setting @f to NULL disable the locator.
+ */
+
+void
+xmlSchemaValidateSetLocator(xmlSchemaValidCtxtPtr vctxt,
+ xmlSchemaValidityLocatorFunc f,
+ void *ctxt)
+{
+ if (vctxt == NULL) return;
+ vctxt->locFunc = f;
+ vctxt->locCtxt = ctxt;
+}
+
+/**
+ * xmlSchemaValidateStreamLocator:
+ * @ctx: the xmlTextReaderPtr used
+ * @file: returned file information
+ * @line: returned line information
+ *
+ * Internal locator function for the readers
+ *
+ * Returns 0 in case the Schema validation could be (des)activated and
+ * -1 in case of error.
+ */
+static int
+xmlSchemaValidateStreamLocator(void *ctx, const char **file,
+ unsigned long *line) {
+ xmlParserCtxtPtr ctxt;
+
+ if ((ctx == NULL) || ((file == NULL) && (line == NULL)))
+ return(-1);
+
+ if (file != NULL)
+ *file = NULL;
+ if (line != NULL)
+ *line = 0;
+
+ ctxt = (xmlParserCtxtPtr) ctx;
+ if (ctxt->input != NULL) {
+ if (file != NULL)
+ *file = ctxt->input->filename;
+ if (line != NULL)
+ *line = ctxt->input->line;
+ return(0);
+ }
+ return(-1);
+}
+
+/**
* xmlSchemaValidateStream:
* @ctxt: a schema validation context
* @input: the input to use for reading the data
@@ -28571,7 +28806,8 @@ xmlSchemaValidateStream(xmlSchemaValidCtxtPtr ctxt,
if (options)
xmlCtxtUseOptions(pctxt, options);
#endif
- pctxt->linenumbers = 1;
+ pctxt->linenumbers = 1;
+ xmlSchemaValidateSetLocator(ctxt, xmlSchemaValidateStreamLocator, pctxt);
inputStream = xmlNewIOInputStream(pctxt, input, enc);;
if (inputStream == NULL) {
@@ -28600,7 +28836,7 @@ xmlSchemaValidateStream(xmlSchemaValidCtxtPtr ctxt,
ret = ctxt->parserCtxt->errNo;
if (ret == 0)
ret = 1;
- }
+ }
done:
ctxt->parserCtxt = NULL;
@@ -28639,16 +28875,33 @@ xmlSchemaValidateFile(xmlSchemaValidCtxtPtr ctxt,
if ((ctxt == NULL) || (filename == NULL))
return (-1);
-
+
input = xmlParserInputBufferCreateFilename(filename,
XML_CHAR_ENCODING_NONE);
if (input == NULL)
return (-1);
ret = xmlSchemaValidateStream(ctxt, input, XML_CHAR_ENCODING_NONE,
- NULL, NULL);
+ NULL, NULL);
return (ret);
}
+/**
+ * xmlSchemaValidCtxtGetParserCtxt:
+ * @ctxt: a schema validation context
+ *
+ * allow access to the parser context of the schema validation context
+ *
+ * Returns the parser context of the schema validation context or NULL
+ * in case of error.
+ */
+xmlParserCtxtPtr
+xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt)
+{
+ if (ctxt == NULL)
+ return(NULL);
+ return (ctxt->parserCtxt);
+}
+
#define bottom_xmlschemas
#include "elfgcchack.h"
#endif /* LIBXML_SCHEMAS_ENABLED */
diff --git a/gettext-tools/gnulib-lib/libxml/xmlschemas.in.h b/gettext-tools/gnulib-lib/libxml/xmlschemas.in.h
index 15faef5..97930c7 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlschemas.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlschemas.in.h
@@ -56,7 +56,7 @@ typedef enum {
/*
* ATTENTION: Change xmlSchemaSetValidOptions's check
-* for invalid values, if adding to the validation
+* for invalid values, if adding to the validation
* options below.
*/
/**
@@ -85,30 +85,65 @@ typedef struct _xmlSchema xmlSchema;
typedef xmlSchema *xmlSchemaPtr;
/**
- * A schemas validation context
+ * xmlSchemaValidityErrorFunc:
+ * @ctx: the validation context
+ * @msg: the message
+ * @...: extra arguments
+ *
+ * Signature of an error callback from an XSD validation
+ */
+typedef void (XMLCDECL *xmlSchemaValidityErrorFunc)
+ (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
+
+/**
+ * xmlSchemaValidityWarningFunc:
+ * @ctx: the validation context
+ * @msg: the message
+ * @...: extra arguments
+ *
+ * Signature of a warning callback from an XSD validation
*/
-typedef void (XMLCDECL *xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...);
-typedef void (XMLCDECL *xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...);
+typedef void (XMLCDECL *xmlSchemaValidityWarningFunc)
+ (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
+/**
+ * A schemas validation context
+ */
typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
+/**
+ * xmlSchemaValidityLocatorFunc:
+ * @ctx: user provided context
+ * @file: returned file information
+ * @line: returned line information
+ *
+ * A schemas validation locator, a callback called by the validator.
+ * This is used when file or node informations are not available
+ * to find out what file and line number are affected
+ *
+ * Returns: 0 in case of success and -1 in case of error
+ */
+
+typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx,
+ const char **file, unsigned long *line);
+
/*
* Interfaces for parsing.
*/
-XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
xmlSchemaNewParserCtxt (const char *URL);
-XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
xmlSchemaNewMemParserCtxt (const char *buffer,
int size);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
xmlSchemaNewDocParserCtxt (xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt,
xmlSchemaValidityErrorFunc err,
xmlSchemaValidityWarningFunc warn,
@@ -125,19 +160,19 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt);
-XMLPUBFUN xmlSchemaPtr XMLCALL
+XMLPUBFUN xmlSchemaPtr XMLCALL
xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaFree (xmlSchemaPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaDump (FILE *output,
xmlSchemaPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
* Interfaces for validating
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt,
xmlSchemaValidityErrorFunc err,
xmlSchemaValidityWarningFunc warn,
@@ -154,14 +189,17 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt,
int options);
+XMLPUBFUN void XMLCALL
+ xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
+ const char *filename);
XMLPUBFUN int XMLCALL
xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
-XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
+XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
xmlSchemaNewValidCtxt (xmlSchemaPtr schema);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt,
xmlDocPtr instance);
XMLPUBFUN int XMLCALL
@@ -178,8 +216,11 @@ XMLPUBFUN int XMLCALL
const char * filename,
int options);
+XMLPUBFUN xmlParserCtxtPtr XMLCALL
+ xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);
+
/*
- * Interface to insert Schemas SAX velidation in a SAX stream
+ * Interface to insert Schemas SAX validation in a SAX stream
*/
typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
@@ -190,6 +231,13 @@ XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
void **user_data);
XMLPUBFUN int XMLCALL
xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug);
+
+
+XMLPUBFUN void XMLCALL
+ xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt,
+ xmlSchemaValidityLocatorFunc f,
+ void *ctxt);
+
#ifdef __cplusplus
}
#endif
diff --git a/gettext-tools/gnulib-lib/libxml/xmlschemastypes.c b/gettext-tools/gnulib-lib/libxml/xmlschemastypes.c
index a35c539..ff64f50 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlschemastypes.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlschemastypes.c
@@ -40,7 +40,7 @@ extern double xmlXPathPINF;
extern double xmlXPathNINF;
#endif
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
@@ -75,7 +75,7 @@ typedef struct _xmlSchemaValDuration xmlSchemaValDuration;
typedef xmlSchemaValDuration *xmlSchemaValDurationPtr;
struct _xmlSchemaValDuration {
long mon; /* mon stores years also */
- long day;
+ long day;
double sec; /* sec stores min and hour also */
};
@@ -189,7 +189,7 @@ static xmlSchemaTypePtr xmlSchemaTypeNmtokensDef = NULL;
/************************************************************************
* *
- * Datatype error handlers *
+ * Datatype error handlers *
* *
************************************************************************/
/**
@@ -206,7 +206,7 @@ xmlSchemaTypeErrMemory(xmlNodePtr node, const char *extra)
/************************************************************************
* *
- * Base types support *
+ * Base types support *
* *
************************************************************************/
@@ -242,6 +242,10 @@ xmlSchemaNewMinLengthFacet(int value)
}
ret->type = XML_SCHEMA_FACET_MINLENGTH;
ret->val = xmlSchemaNewValue(XML_SCHEMAS_NNINTEGER);
+ if (ret->val == NULL) {
+ xmlFree(ret);
+ return(NULL);
+ }
ret->val->value.decimal.lo = value;
return (ret);
}
@@ -254,7 +258,7 @@ xmlSchemaNewMinLengthFacet(int value)
* Initialize one primitive built-in type
*/
static xmlSchemaTypePtr
-xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
+xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
xmlSchemaTypePtr baseType) {
xmlSchemaTypePtr ret;
@@ -267,31 +271,31 @@ xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
ret->name = (const xmlChar *)name;
ret->targetNamespace = XML_SCHEMAS_NAMESPACE_NAME;
ret->type = XML_SCHEMA_TYPE_BASIC;
- ret->baseType = baseType;
+ ret->baseType = baseType;
ret->contentType = XML_SCHEMA_CONTENT_BASIC;
/*
* Primitive types.
*/
- switch (type) {
- case XML_SCHEMAS_STRING:
- case XML_SCHEMAS_DECIMAL:
- case XML_SCHEMAS_DATE:
- case XML_SCHEMAS_DATETIME:
- case XML_SCHEMAS_TIME:
- case XML_SCHEMAS_GYEAR:
- case XML_SCHEMAS_GYEARMONTH:
- case XML_SCHEMAS_GMONTH:
- case XML_SCHEMAS_GMONTHDAY:
- case XML_SCHEMAS_GDAY:
- case XML_SCHEMAS_DURATION:
- case XML_SCHEMAS_FLOAT:
- case XML_SCHEMAS_DOUBLE:
- case XML_SCHEMAS_BOOLEAN:
- case XML_SCHEMAS_ANYURI:
- case XML_SCHEMAS_HEXBINARY:
- case XML_SCHEMAS_BASE64BINARY:
- case XML_SCHEMAS_QNAME:
- case XML_SCHEMAS_NOTATION:
+ switch (type) {
+ case XML_SCHEMAS_STRING:
+ case XML_SCHEMAS_DECIMAL:
+ case XML_SCHEMAS_DATE:
+ case XML_SCHEMAS_DATETIME:
+ case XML_SCHEMAS_TIME:
+ case XML_SCHEMAS_GYEAR:
+ case XML_SCHEMAS_GYEARMONTH:
+ case XML_SCHEMAS_GMONTH:
+ case XML_SCHEMAS_GMONTHDAY:
+ case XML_SCHEMAS_GDAY:
+ case XML_SCHEMAS_DURATION:
+ case XML_SCHEMAS_FLOAT:
+ case XML_SCHEMAS_DOUBLE:
+ case XML_SCHEMAS_BOOLEAN:
+ case XML_SCHEMAS_ANYURI:
+ case XML_SCHEMAS_HEXBINARY:
+ case XML_SCHEMAS_BASE64BINARY:
+ case XML_SCHEMAS_QNAME:
+ case XML_SCHEMAS_NOTATION:
ret->flags |= XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE;
break;
default:
@@ -309,7 +313,7 @@ xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
case XML_SCHEMAS_ENTITIES:
ret->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
ret->facets = xmlSchemaNewMinLengthFacet(1);
- ret->flags |= XML_SCHEMAS_TYPE_HAS_FACETS;
+ ret->flags |= XML_SCHEMAS_TYPE_HAS_FACETS;
break;
default:
ret->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
@@ -390,19 +394,19 @@ xmlSchemaInitTypes(void)
return;
xmlSchemaTypesBank = xmlHashCreate(40);
-
+
/*
* 3.4.7 Built-in Complex Type Definition
*/
xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
- XML_SCHEMAS_ANYTYPE,
+ XML_SCHEMAS_ANYTYPE,
NULL);
xmlSchemaTypeAnyTypeDef->baseType = xmlSchemaTypeAnyTypeDef;
xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
/*
* Init the content type.
*/
- xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
+ xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
{
xmlSchemaParticlePtr particle;
xmlSchemaModelGroupPtr sequence;
@@ -420,7 +424,7 @@ xmlSchemaInitTypes(void)
return;
}
memset(sequence, 0, sizeof(xmlSchemaModelGroup));
- sequence->type = XML_SCHEMA_TYPE_SEQUENCE;
+ sequence->type = XML_SCHEMA_TYPE_SEQUENCE;
particle->children = (xmlSchemaTreeItemPtr) sequence;
/* Second particle. */
particle = xmlSchemaAddParticle();
@@ -437,9 +441,9 @@ xmlSchemaInitTypes(void)
}
memset(wild, 0, sizeof(xmlSchemaWildcard));
wild->type = XML_SCHEMA_TYPE_ANY;
- wild->any = 1;
- wild->processContents = XML_SCHEMAS_ANY_LAX;
- particle->children = (xmlSchemaTreeItemPtr) wild;
+ wild->any = 1;
+ wild->processContents = XML_SCHEMAS_ANY_LAX;
+ particle->children = (xmlSchemaTreeItemPtr) wild;
/*
* Create the attribute wildcard.
*/
@@ -451,10 +455,10 @@ xmlSchemaInitTypes(void)
}
memset(wild, 0, sizeof(xmlSchemaWildcard));
wild->any = 1;
- wild->processContents = XML_SCHEMAS_ANY_LAX;
+ wild->processContents = XML_SCHEMAS_ANY_LAX;
xmlSchemaTypeAnyTypeDef->attributeWildcard = wild;
}
- xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType",
+ xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType",
XML_SCHEMAS_ANYSIMPLETYPE,
xmlSchemaTypeAnyTypeDef);
/*
@@ -513,7 +517,7 @@ xmlSchemaInitTypes(void)
xmlSchemaTypeAnySimpleTypeDef);
xmlSchemaTypeNotationDef = xmlSchemaInitBasicType("NOTATION",
XML_SCHEMAS_NOTATION,
- xmlSchemaTypeAnySimpleTypeDef);
+ xmlSchemaTypeAnySimpleTypeDef);
xmlSchemaTypeQNameDef = xmlSchemaInitBasicType("QName",
XML_SCHEMAS_QNAME,
xmlSchemaTypeAnySimpleTypeDef);
@@ -583,7 +587,7 @@ xmlSchemaInitTypes(void)
xmlSchemaTypeNCNameDef);
xmlSchemaTypeIdrefDef = xmlSchemaInitBasicType("IDREF",
XML_SCHEMAS_IDREF,
- xmlSchemaTypeNCNameDef);
+ xmlSchemaTypeNCNameDef);
xmlSchemaTypeEntityDef = xmlSchemaInitBasicType("ENTITY",
XML_SCHEMAS_ENTITY,
xmlSchemaTypeNCNameDef);
@@ -615,7 +619,7 @@ xmlSchemaInitTypes(void)
*
* Cleanup the default XML Schemas type library
*/
-void
+void
xmlSchemaCleanupTypes(void) {
if (xmlSchemaTypesInitialized == 0)
return;
@@ -629,13 +633,13 @@ xmlSchemaCleanupTypes(void) {
/* Content type. */
particle = (xmlSchemaParticlePtr) xmlSchemaTypeAnyTypeDef->subtypes;
/* Wildcard. */
- xmlSchemaFreeWildcard((xmlSchemaWildcardPtr)
+ xmlSchemaFreeWildcard((xmlSchemaWildcardPtr)
particle->children->children->children);
xmlFree((xmlSchemaParticlePtr) particle->children->children);
/* Sequence model group. */
xmlFree((xmlSchemaModelGroupPtr) particle->children);
xmlFree((xmlSchemaParticlePtr) particle);
- xmlSchemaTypeAnyTypeDef->subtypes = NULL;
+ xmlSchemaTypeAnyTypeDef->subtypes = NULL;
}
xmlHashFree(xmlSchemaTypesBank, (xmlHashDeallocator) xmlSchemaFreeType);
xmlSchemaTypesInitialized = 0;
@@ -665,12 +669,12 @@ xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
(facetType == XML_SCHEMA_FACET_WHITESPACE))
return (1);
else
- return (0);
+ return (0);
case XML_SCHEMAS_STRING:
case XML_SCHEMAS_NOTATION:
case XML_SCHEMAS_QNAME:
- case XML_SCHEMAS_ANYURI:
- case XML_SCHEMAS_BASE64BINARY:
+ case XML_SCHEMAS_ANYURI:
+ case XML_SCHEMAS_BASE64BINARY:
case XML_SCHEMAS_HEXBINARY:
if ((facetType == XML_SCHEMA_FACET_LENGTH) ||
(facetType == XML_SCHEMA_FACET_MINLENGTH) ||
@@ -693,12 +697,12 @@ xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
(facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
return (1);
else
- return (0);
+ return (0);
case XML_SCHEMAS_TIME:
- case XML_SCHEMAS_GDAY:
+ case XML_SCHEMAS_GDAY:
case XML_SCHEMAS_GMONTH:
- case XML_SCHEMAS_GMONTHDAY:
- case XML_SCHEMAS_GYEAR:
+ case XML_SCHEMAS_GMONTHDAY:
+ case XML_SCHEMAS_GYEAR:
case XML_SCHEMAS_GYEARMONTH:
case XML_SCHEMAS_DATE:
case XML_SCHEMAS_DATETIME:
@@ -714,7 +718,7 @@ xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
(facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
return (1);
else
- return (0);
+ return (0);
default:
break;
}
@@ -736,7 +740,7 @@ xmlSchemaGetBuiltInType(xmlSchemaValType type)
if (xmlSchemaTypesInitialized == 0)
xmlSchemaInitTypes();
switch (type) {
-
+
case XML_SCHEMAS_ANYSIMPLETYPE:
return (xmlSchemaTypeAnySimpleTypeDef);
case XML_SCHEMAS_STRING:
@@ -752,7 +756,7 @@ xmlSchemaGetBuiltInType(xmlSchemaValType type)
case XML_SCHEMAS_GMONTH:
return (xmlSchemaTypeGMonthDef);
case XML_SCHEMAS_GMONTHDAY:
- return (xmlSchemaTypeGMonthDayDef);
+ return (xmlSchemaTypeGMonthDayDef);
case XML_SCHEMAS_GYEAR:
return (xmlSchemaTypeGYearDef);
case XML_SCHEMAS_GYEARMONTH:
@@ -828,7 +832,7 @@ xmlSchemaGetBuiltInType(xmlSchemaValType type)
case XML_SCHEMAS_BASE64BINARY:
return (xmlSchemaTypeBase64BinaryDef);
case XML_SCHEMAS_ANYTYPE:
- return (xmlSchemaTypeAnyTypeDef);
+ return (xmlSchemaTypeAnyTypeDef);
default:
return (NULL);
}
@@ -880,7 +884,7 @@ xmlSchemaValueGetNext(xmlSchemaValPtr cur) {
*/
const xmlChar *
xmlSchemaValueGetAsString(xmlSchemaValPtr val)
-{
+{
if (val == NULL)
return (NULL);
switch (val->type) {
@@ -913,7 +917,7 @@ xmlSchemaValueGetAsString(xmlSchemaValPtr val)
*/
int
xmlSchemaValueGetAsBoolean(xmlSchemaValPtr val)
-{
+{
if ((val == NULL) || (val->type != XML_SCHEMAS_BOOLEAN))
return (0);
return (val->value.b);
@@ -924,8 +928,8 @@ xmlSchemaValueGetAsBoolean(xmlSchemaValPtr val)
* @type: the value type
* @value: the value
*
- * Allocate a new simple type value. The type can be
- * of XML_SCHEMAS_STRING.
+ * Allocate a new simple type value. The type can be
+ * of XML_SCHEMAS_STRING.
* WARNING: This one is intended to be expanded for other
* string based types. We need this for anySimpleType as well.
* The given value is consumed and freed with the struct.
@@ -1007,11 +1011,11 @@ xmlSchemaNewQNameValue(const xmlChar *namespaceName,
*
* Cleanup the default XML Schemas type library
*/
-void
+void
xmlSchemaFreeValue(xmlSchemaValPtr value) {
xmlSchemaValPtr prev;
- while (value != NULL) {
+ while (value != NULL) {
switch (value->type) {
case XML_SCHEMAS_STRING:
case XML_SCHEMAS_NORMSTRING:
@@ -1025,7 +1029,7 @@ xmlSchemaFreeValue(xmlSchemaValPtr value) {
case XML_SCHEMAS_IDREF:
case XML_SCHEMAS_IDREFS:
case XML_SCHEMAS_ENTITY:
- case XML_SCHEMAS_ENTITIES:
+ case XML_SCHEMAS_ENTITIES:
case XML_SCHEMAS_ANYURI:
case XML_SCHEMAS_ANYSIMPLETYPE:
if (value->value.str != NULL)
@@ -1052,7 +1056,7 @@ xmlSchemaFreeValue(xmlSchemaValPtr value) {
prev = value;
value = value->next;
xmlFree(prev);
- }
+ }
}
/**
@@ -1088,9 +1092,9 @@ xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type)
if ((type == NULL) || (type->type != XML_SCHEMA_TYPE_BASIC))
return (NULL);
switch (type->builtInType) {
- case XML_SCHEMAS_NMTOKENS:
+ case XML_SCHEMAS_NMTOKENS:
return (xmlSchemaTypeNmtokenDef );
- case XML_SCHEMAS_IDREFS:
+ case XML_SCHEMAS_IDREFS:
return (xmlSchemaTypeIdrefDef);
case XML_SCHEMAS_ENTITIES:
return (xmlSchemaTypeEntityDef);
@@ -1342,13 +1346,13 @@ _xmlSchemaParseGDay (xmlSchemaValDatePtr dt, const xmlChar **str) {
*/
static int
_xmlSchemaParseTime (xmlSchemaValDatePtr dt, const xmlChar **str) {
- const xmlChar *cur = *str;
+ const xmlChar *cur = *str;
int ret = 0;
int value = 0;
PARSE_2_DIGITS(value, cur, ret);
if (ret != 0)
- return ret;
+ return ret;
if (*cur != ':')
return 1;
if (!VALID_HOUR(value))
@@ -1614,7 +1618,7 @@ xmlSchemaValidateDates (xmlSchemaValType type,
const xmlChar *rewnd = cur;
cur++;
- ret = _xmlSchemaParseGDay(&(dt->value.date), &cur);
+ ret = _xmlSchemaParseGDay(&(dt->value.date), &cur);
if ((ret == 0) && ((*cur == 0) || (*cur != ':'))) {
/*
@@ -1852,7 +1856,7 @@ xmlSchemaValidateDuration (xmlSchemaTypePtr type ATTRIBUTE_UNUSED,
}
cur++;
if (collapse)
- while IS_WSP_BLANK_CH(*cur) cur++;
+ while IS_WSP_BLANK_CH(*cur) cur++;
}
if (isneg) {
@@ -1908,13 +1912,13 @@ xmlSchemaStrip(const xmlChar *value) {
*/
xmlChar *
xmlSchemaWhiteSpaceReplace(const xmlChar *value) {
- const xmlChar *cur = value;
- xmlChar *ret = NULL, *mcur;
+ const xmlChar *cur = value;
+ xmlChar *ret = NULL, *mcur;
- if (value == NULL)
+ if (value == NULL)
return(NULL);
-
- while ((*cur != 0) &&
+
+ while ((*cur != 0) &&
(((*cur) != 0xd) && ((*cur) != 0x9) && ((*cur) != 0xa))) {
cur++;
}
@@ -1927,7 +1931,7 @@ xmlSchemaWhiteSpaceReplace(const xmlChar *value) {
if ( ((*mcur) == 0xd) || ((*mcur) == 0x9) || ((*mcur) == 0xa) )
*mcur = ' ';
mcur++;
- } while (*mcur != 0);
+ } while (*mcur != 0);
return(ret);
}
@@ -2063,7 +2067,7 @@ xmlSchemaValAtomicListNode(xmlSchemaTypePtr type, const xmlChar *value,
* Parse an unsigned long into 3 fields.
*
* Returns the number of significant digits in the number or
- * -1 if overflow of the capacity
+ * -1 if overflow of the capacity and -2 if it's not a number.
*/
static int
xmlSchemaParseUInt(const xmlChar **str, unsigned long *llo,
@@ -2072,6 +2076,9 @@ xmlSchemaParseUInt(const xmlChar **str, unsigned long *llo,
const xmlChar *tmp, *cur = *str;
int ret = 0, i = 0;
+ if (!((*cur >= '0') && (*cur <= '9')))
+ return(-2);
+
while (*cur == '0') { /* ignore leading zeroes */
cur++;
}
@@ -2145,7 +2152,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
if ((flags == 0) && (value != NULL)) {
if ((type->builtInType != XML_SCHEMAS_STRING) &&
- (type->builtInType != XML_SCHEMAS_ANYTYPE) &&
+ (type->builtInType != XML_SCHEMAS_ANYTYPE) &&
(type->builtInType != XML_SCHEMAS_ANYSIMPLETYPE)) {
if (type->builtInType == XML_SCHEMAS_NORMSTRING)
norm = xmlSchemaWhiteSpaceReplace(value);
@@ -2157,7 +2164,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
}
switch (type->builtInType) {
- case XML_SCHEMAS_UNKNOWN:
+ case XML_SCHEMAS_UNKNOWN:
goto error;
case XML_SCHEMAS_ANYTYPE:
case XML_SCHEMAS_ANYSIMPLETYPE:
@@ -2168,10 +2175,10 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
*val = v;
} else {
goto error;
- }
+ }
}
goto return0;
- case XML_SCHEMAS_STRING:
+ case XML_SCHEMAS_STRING:
if (! normOnTheFly) {
const xmlChar *cur = value;
@@ -2250,7 +2257,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
const xmlChar *cur = value;
unsigned int len, neg, integ, hasLeadingZeroes;
xmlChar cval[25];
- xmlChar *cptr = cval;
+ xmlChar *cptr = cval;
if ((cur == NULL) || (*cur == 0))
goto return1;
@@ -2324,10 +2331,10 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
v = xmlSchemaNewValue(XML_SCHEMAS_DECIMAL);
if (v != NULL) {
/*
- * Now evaluate the significant digits of the number
- */
+ * Now evaluate the significant digits of the number
+ */
if (len != 0) {
-
+
if (integ != ~0u) {
/*
* Get rid of trailing zeroes in the
@@ -2342,9 +2349,9 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
* Terminate the (preparsed) string.
*/
if (len != 0) {
- *cptr = 0;
+ *cptr = 0;
cptr = cval;
-
+
xmlSchemaParseUInt((const xmlChar **)&cptr,
&v->value.decimal.lo,
&v->value.decimal.mi,
@@ -2386,9 +2393,11 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
normOnTheFly);
break;
case XML_SCHEMAS_FLOAT:
- case XML_SCHEMAS_DOUBLE:{
+ case XML_SCHEMAS_DOUBLE: {
const xmlChar *cur = value;
int neg = 0;
+ int digits_before = 0;
+ int digits_after = 0;
if (normOnTheFly)
while IS_WSP_BLANK_CH(*cur) cur++;
@@ -2461,12 +2470,17 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
goto return1;
while ((*cur >= '0') && (*cur <= '9')) {
cur++;
+ digits_before++;
}
if (*cur == '.') {
cur++;
- while ((*cur >= '0') && (*cur <= '9'))
+ while ((*cur >= '0') && (*cur <= '9')) {
cur++;
+ digits_after++;
+ }
}
+ if ((digits_before == 0) && (digits_after == 0))
+ goto return1;
if ((*cur == 'e') || (*cur == 'E')) {
cur++;
if ((*cur == '-') || (*cur == '+'))
@@ -2594,8 +2608,8 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
} else {
cur++;
}
- }
- }
+ }
+ }
if (val != NULL) {
v = xmlSchemaNewValue(XML_SCHEMAS_TOKEN);
if (v != NULL) {
@@ -2608,7 +2622,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
goto return0;
}
case XML_SCHEMAS_LANGUAGE:
- if (normOnTheFly) {
+ if (normOnTheFly) {
norm = xmlSchemaCollapseString(value);
if (norm != NULL)
value = norm;
@@ -2893,15 +2907,26 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
}
goto done;
}
- case XML_SCHEMAS_ANYURI:{
+ case XML_SCHEMAS_ANYURI:{
if (*value != 0) {
xmlURIPtr uri;
- if (normOnTheFly) {
+ xmlChar *tmpval, *cur;
+ if (normOnTheFly) {
norm = xmlSchemaCollapseString(value);
if (norm != NULL)
value = norm;
}
- uri = xmlParseURI((const char *) value);
+ tmpval = xmlStrdup(value);
+ for (cur = tmpval; *cur; ++cur) {
+ if (*cur < 32 || *cur >= 127 || *cur == ' ' ||
+ *cur == '<' || *cur == '>' || *cur == '"' ||
+ *cur == '{' || *cur == '}' || *cur == '|' ||
+ *cur == '\\' || *cur == '^' || *cur == '`' ||
+ *cur == '\'')
+ *cur = '_';
+ }
+ uri = xmlParseURI((const char *) tmpval);
+ xmlFree(tmpval);
if (uri == NULL)
goto return1;
xmlFreeURI(uri);
@@ -2975,12 +3000,12 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
}
case XML_SCHEMAS_BASE64BINARY:{
/* ISSUE:
- *
+ *
* Ignore all stray characters? (yes, currently)
* Worry about long lines? (no, currently)
- *
+ *
* rfc2045.txt:
- *
+ *
* "The encoded output stream must be represented in lines of
* no more than 76 characters each. All line breaks or other
* characters not found in Table 1 must be ignored by decoding
@@ -3116,7 +3141,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
} else if (*cur == '+')
cur++;
ret = xmlSchemaParseUInt(&cur, &lo, &mi, &hi);
- if (ret == -1)
+ if (ret < 0)
goto return1;
if (normOnTheFly)
while IS_WSP_BLANK_CH(*cur) cur++;
@@ -3161,7 +3186,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
case XML_SCHEMAS_BYTE:
case XML_SCHEMAS_SHORT:
case XML_SCHEMAS_INT:{
- const xmlChar *cur = value;
+ const xmlChar *cur = value;
unsigned long lo, mi, hi;
int sign = 0;
@@ -3391,7 +3416,7 @@ xmlSchemaCompareDecimals(xmlSchemaValPtr x, xmlSchemaValPtr y)
/*
* First test: If x is -ve and not zero
*/
- if ((x->value.decimal.sign) &&
+ if ((x->value.decimal.sign) &&
((x->value.decimal.lo != 0) ||
(x->value.decimal.mi != 0) ||
(x->value.decimal.hi != 0))) {
@@ -3548,8 +3573,8 @@ xmlSchemaCompareDurations(xmlSchemaValPtr x, xmlSchemaValPtr y)
/* seconds */
sec = x->value.dur.sec - y->value.dur.sec;
- carry = (long)sec / SECS_PER_DAY;
- sec -= (double)(carry * SECS_PER_DAY);
+ carry = (long)(sec / SECS_PER_DAY);
+ sec -= ((double)carry) * SECS_PER_DAY;
/* days */
day = x->value.dur.day - y->value.dur.day + carry;
@@ -3632,7 +3657,7 @@ xmlSchemaDupVal (xmlSchemaValPtr v)
xmlSchemaValPtr ret = xmlSchemaNewValue(v->type);
if (ret == NULL)
return NULL;
-
+
memcpy(ret, v, sizeof(xmlSchemaVal));
ret->next = NULL;
return ret;
@@ -3678,7 +3703,7 @@ xmlSchemaCopyValue(xmlSchemaValPtr val)
if (val->value.str != NULL)
cur->value.str = xmlStrdup(BAD_CAST val->value.str);
break;
- case XML_SCHEMAS_QNAME:
+ case XML_SCHEMAS_QNAME:
case XML_SCHEMAS_NOTATION:
cur = xmlSchemaDupVal(val);
if (val->value.qname.name != NULL)
@@ -3820,16 +3845,17 @@ _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur)
if (tyr == 0)
tyr--;
/*
- * Coverity detected an overrun in daysInMonth
+ * Coverity detected an overrun in daysInMonth
* of size 12 at position 12 with index variable "((r)->mon - 1)"
*/
- if (tmon < 0)
- tmon = 0;
+ if (tmon < 1)
+ tmon = 1;
if (tmon > 12)
tmon = 12;
tempdays += MAX_DAYINMONTH(tyr, tmon);
carry = -1;
- } else if (tempdays > (long) MAX_DAYINMONTH(r->year, r->mon)) {
+ } else if (VALID_YEAR(r->year) && VALID_MONTH(r->mon) &&
+ tempdays > (long) MAX_DAYINMONTH(r->year, r->mon)) {
tempdays = tempdays - MAX_DAYINMONTH(r->year, r->mon);
carry = 1;
} else
@@ -3845,7 +3871,7 @@ _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur)
r->year++;
}
}
-
+
r->day = tempdays;
/*
@@ -3910,7 +3936,7 @@ xmlSchemaDateNormalize (xmlSchemaValPtr dt, double offset)
* _xmlSchemaDateCastYMToDays:
* @dt: an #xmlSchemaValPtr
*
- * Convert mon and year of @dt to total number of days. Take the
+ * Convert mon and year of @dt to total number of days. Take the
* number of years since (or before) 1 AD and add the number of leap
* years. This is a function because negative
* years must be handled a little differently and there is no zero year.
@@ -4090,7 +4116,7 @@ xmlSchemaCompareDates (xmlSchemaValPtr x, xmlSchemaValPtr y)
ret = -1;
else if (sec > 0.0)
ret = 1;
-
+
}
xmlSchemaFreeValue(p1);
xmlSchemaFreeValue(q1);
@@ -4231,7 +4257,7 @@ xmlSchemaComparePreserveReplaceStrings(const xmlChar *x,
int invert)
{
int tmp;
-
+
while ((*x != 0) && (*y != 0)) {
if (IS_WSP_REPLACE_CH(*y)) {
if (! IS_WSP_SPACE_CH(*x)) {
@@ -4246,7 +4272,7 @@ xmlSchemaComparePreserveReplaceStrings(const xmlChar *x,
else
return(1);
}
- }
+ }
} else {
tmp = *x - *y;
if (tmp < 0) {
@@ -4300,7 +4326,7 @@ xmlSchemaComparePreserveCollapseStrings(const xmlChar *x,
{
int tmp;
- /*
+ /*
* Skip leading blank chars of the collapsed string.
*/
while IS_WSP_BLANK_CH(*y)
@@ -4389,12 +4415,12 @@ xmlSchemaCompareReplaceCollapseStrings(const xmlChar *x,
{
int tmp;
- /*
+ /*
* Skip leading blank chars of the collapsed string.
*/
while IS_WSP_BLANK_CH(*y)
y++;
-
+
while ((*x != 0) && (*y != 0)) {
if IS_WSP_BLANK_CH(*y) {
if (! IS_WSP_BLANK_CH(*x)) {
@@ -4414,8 +4440,8 @@ xmlSchemaCompareReplaceCollapseStrings(const xmlChar *x,
}
}
x++;
- y++;
- /*
+ y++;
+ /*
* Skip contiguous blank chars of the collapsed string.
*/
while IS_WSP_BLANK_CH(*y)
@@ -4449,7 +4475,7 @@ xmlSchemaCompareReplaceCollapseStrings(const xmlChar *x,
return(-1);
else
return(1);
- }
+ }
if (*y != 0) {
/*
* Skip trailing blank chars of the collapsed string.
@@ -4482,27 +4508,27 @@ xmlSchemaCompareReplacedStrings(const xmlChar *x,
const xmlChar *y)
{
int tmp;
-
+
while ((*x != 0) && (*y != 0)) {
if IS_WSP_BLANK_CH(*y) {
if (! IS_WSP_BLANK_CH(*x)) {
if ((*x - 0x20) < 0)
- return(-1);
+ return(-1);
else
return(1);
- }
+ }
} else {
if IS_WSP_BLANK_CH(*x) {
if ((0x20 - *y) < 0)
- return(-1);
+ return(-1);
else
return(1);
}
tmp = *x - *y;
if (tmp < 0)
- return(-1);
+ return(-1);
if (tmp > 0)
- return(1);
+ return(1);
}
x++;
y++;
@@ -4528,7 +4554,7 @@ static int
xmlSchemaCompareNormStrings(const xmlChar *x,
const xmlChar *y) {
int tmp;
-
+
while (IS_BLANK_CH(*x)) x++;
while (IS_BLANK_CH(*y)) y++;
while ((*x != 0) && (*y != 0)) {
@@ -4721,13 +4747,13 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
(ytype == XML_SCHEMAS_GYEARMONTH))
return (xmlSchemaCompareDates(x, y));
return (-2);
- /*
+ /*
* Note that we will support comparison of string types against
* anySimpleType as well.
*/
case XML_SCHEMAS_ANYSIMPLETYPE:
case XML_SCHEMAS_STRING:
- case XML_SCHEMAS_NORMSTRING:
+ case XML_SCHEMAS_NORMSTRING:
case XML_SCHEMAS_TOKEN:
case XML_SCHEMAS_LANGUAGE:
case XML_SCHEMAS_NMTOKEN:
@@ -4751,10 +4777,10 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
/*
* TODO: Compare those against QName.
*/
- if (ytype == XML_SCHEMAS_QNAME) {
+ if (ytype == XML_SCHEMAS_QNAME) {
TODO
if (y == NULL)
- return(-2);
+ return(-2);
return (-2);
}
if ((ytype == XML_SCHEMAS_ANYSIMPLETYPE) ||
@@ -4776,7 +4802,7 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
/* TODO: What about x < y or x > y. */
if (xmlStrEqual(xv, yv))
return (0);
- else
+ else
return (2);
} else if (yws == XML_SCHEMA_WHITESPACE_REPLACE)
return (xmlSchemaComparePreserveReplaceStrings(xv, yv, 0));
@@ -4802,7 +4828,7 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
return (xmlSchemaCompareNormStrings(xv, yv));
} else
return (-2);
-
+
}
return (-2);
}
@@ -4873,7 +4899,7 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
else
return(-1);
}
- return (-2);
+ return (-2);
case XML_SCHEMAS_IDREFS:
case XML_SCHEMAS_ENTITIES:
case XML_SCHEMAS_NMTOKENS:
@@ -4908,7 +4934,7 @@ xmlSchemaCompareValues(xmlSchemaValPtr x, xmlSchemaValPtr y) {
if (y->type == XML_SCHEMAS_STRING)
yws = XML_SCHEMA_WHITESPACE_PRESERVE;
- else if (x->type == XML_SCHEMAS_NORMSTRING)
+ else if (y->type == XML_SCHEMAS_NORMSTRING)
yws = XML_SCHEMA_WHITESPACE_REPLACE;
else
yws = XML_SCHEMA_WHITESPACE_COLLAPSE;
@@ -5061,7 +5087,7 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
if (expectedLen != NULL)
*expectedLen = facet->val->value.decimal.lo;
return (XML_SCHEMAV_CVC_LENGTH_VALID);
- }
+ }
} else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
if (actualLen < facet->val->value.decimal.lo) {
if (expectedLen != NULL)
@@ -5075,12 +5101,12 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
return (XML_SCHEMAV_CVC_MAXLENGTH_VALID);
}
} else
- /*
- * NOTE: That we can pass NULL as xmlSchemaValPtr to
+ /*
+ * NOTE: That we can pass NULL as xmlSchemaValPtr to
* xmlSchemaValidateFacet, since the remaining facet types
- * are: XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION.
+ * are: XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION.
*/
- return(xmlSchemaValidateFacet(NULL, facet, value, NULL));
+ return(xmlSchemaValidateFacet(NULL, facet, value, NULL));
return (0);
}
@@ -5093,7 +5119,7 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
* @ws: the whitespace type of the value
* @length: the actual length of the value
*
- * Checka a value against a "length", "minLength" and "maxLength"
+ * Checka a value against a "length", "minLength" and "maxLength"
* facet; sets @length to the computed length of @value.
*
* Returns 0 if the value is valid, a positive error code
@@ -5101,11 +5127,11 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
*/
static int
xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
- xmlSchemaTypeType valType,
+ xmlSchemaValType valType,
const xmlChar *value,
- xmlSchemaValPtr val,
+ xmlSchemaValPtr val,
unsigned long *length,
- xmlSchemaWhitespaceValueType ws)
+ xmlSchemaWhitespaceValueType ws)
{
unsigned int len = 0;
@@ -5116,7 +5142,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
(facet->type != XML_SCHEMA_FACET_MAXLENGTH) &&
(facet->type != XML_SCHEMA_FACET_MINLENGTH))
return (-1);
-
+
/*
* TODO: length, maxLength and minLength must be of type
* nonNegativeInteger only. Check if decimal is used somehow.
@@ -5150,7 +5176,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
if (ws == XML_SCHEMA_WHITESPACE_COLLAPSE)
len = xmlSchemaNormLen(value);
else
- /*
+ /*
* Should be OK for "preserve" as well.
*/
len = xmlUTF8Strlen(value);
@@ -5162,7 +5188,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
case XML_SCHEMAS_NMTOKEN:
case XML_SCHEMAS_NAME:
case XML_SCHEMAS_NCNAME:
- case XML_SCHEMAS_ID:
+ case XML_SCHEMAS_ID:
/*
* FIXME: What exactly to do with anyURI?
*/
@@ -5171,11 +5197,11 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
len = xmlSchemaNormLen(value);
break;
case XML_SCHEMAS_QNAME:
- case XML_SCHEMAS_NOTATION:
- /*
+ case XML_SCHEMAS_NOTATION:
+ /*
* For QName and NOTATION, those facets are
* deprecated and should be ignored.
- */
+ */
return (0);
default:
TODO
@@ -5195,7 +5221,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
if (len > facet->val->value.decimal.lo)
return(XML_SCHEMAV_CVC_MAXLENGTH_VALID);
}
-
+
return (0);
}
@@ -5207,18 +5233,18 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
* @val: the precomputed value
* @length: the actual length of the value
*
- * Checka a value against a "length", "minLength" and "maxLength"
+ * Checka a value against a "length", "minLength" and "maxLength"
* facet; sets @length to the computed length of @value.
*
* Returns 0 if the value is valid, a positive error code
* otherwise and -1 in case of an internal or API error.
*/
int
-xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
+xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
xmlSchemaFacetPtr facet,
const xmlChar *value,
xmlSchemaValPtr val,
- unsigned long *length)
+ unsigned long *length)
{
if (type == NULL)
return(-1);
@@ -5228,7 +5254,7 @@ xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
}
/**
- * xmlSchemaValidateLengthFacetWhtsp:
+ * xmlSchemaValidateLengthFacetWhtsp:
* @facet: the facet to check
* @valType: the built-in type
* @value: the lexical repr. of the value to be validated
@@ -5236,7 +5262,7 @@ xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
* @ws: the whitespace type of the value
* @length: the actual length of the value
*
- * Checka a value against a "length", "minLength" and "maxLength"
+ * Checka a value against a "length", "minLength" and "maxLength"
* facet; sets @length to the computed length of @value.
*
* Returns 0 if the value is valid, a positive error code
@@ -5271,7 +5297,7 @@ xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
static int
xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
xmlSchemaWhitespaceValueType fws,
- xmlSchemaValType valType,
+ xmlSchemaValType valType,
const xmlChar *value,
xmlSchemaValPtr val,
xmlSchemaWhitespaceValueType ws)
@@ -5283,7 +5309,7 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
switch (facet->type) {
case XML_SCHEMA_FACET_PATTERN:
- /*
+ /*
* NOTE that for patterns, the @value needs to be the normalized
* value, *not* the lexical initial value or the canonical value.
*/
@@ -5384,7 +5410,7 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
else {
switch (valType) {
case XML_SCHEMAS_STRING:
- case XML_SCHEMAS_NORMSTRING:
+ case XML_SCHEMAS_NORMSTRING:
if (ws == XML_SCHEMA_WHITESPACE_UNKNOWN) {
/*
* This is to ensure API compatibility with the old
@@ -5400,13 +5426,13 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
if (ws == XML_SCHEMA_WHITESPACE_COLLAPSE)
len = xmlSchemaNormLen(value);
else
- /*
+ /*
* Should be OK for "preserve" as well.
*/
len = xmlUTF8Strlen(value);
}
break;
- case XML_SCHEMAS_IDREF:
+ case XML_SCHEMAS_IDREF:
case XML_SCHEMAS_TOKEN:
case XML_SCHEMAS_LANGUAGE:
case XML_SCHEMAS_NMTOKEN:
@@ -5415,11 +5441,11 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
case XML_SCHEMAS_ID:
case XML_SCHEMAS_ANYURI:
if (value != NULL)
- len = xmlSchemaNormLen(value);
- break;
+ len = xmlSchemaNormLen(value);
+ break;
default:
TODO
- }
+ }
}
if (facet->type == XML_SCHEMA_FACET_LENGTH) {
if (len != facet->val->value.decimal.lo)
@@ -5529,7 +5555,7 @@ xmlSchemaValidateFacet(xmlSchemaTypePtr base,
int
xmlSchemaValidateFacetWhtsp(xmlSchemaFacetPtr facet,
xmlSchemaWhitespaceValueType fws,
- xmlSchemaValType valType,
+ xmlSchemaValType valType,
const xmlChar *value,
xmlSchemaValPtr val,
xmlSchemaWhitespaceValueType ws)
@@ -5590,13 +5616,13 @@ xmlSchemaFormatFloat(double number, char buffer[], int buffersize)
/*
* Result is in work, and after_fraction points
* just past the fractional part.
- * Use scientific notation
+ * Use scientific notation
*/
integer_place = DBL_DIG + EXPONENT_DIGITS + 1;
fraction_place = DBL_DIG - 1;
snprintf(work, sizeof(work),"%*.*e",
integer_place, fraction_place, number);
- after_fraction = strchr(work + DBL_DIG, 'e');
+ after_fraction = strchr(work + DBL_DIG, 'e');
/* Remove fractional trailing zeroes */
ptr = after_fraction;
while (*(--ptr) == '0')
@@ -5623,12 +5649,12 @@ xmlSchemaFormatFloat(double number, char buffer[], int buffersize)
* @val: the precomputed value
* @retValue: the returned value
*
- * Get a the cononical lexical representation of the value.
+ * Get the canonical lexical representation of the value.
* The caller has to FREE the returned retValue.
*
* WARNING: Some value types are not supported yet, resulting
* in a @retValue of "???".
- *
+ *
* TODO: XML Schema 1.0 does not define canonical representations
* for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay,
* anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.
@@ -5648,7 +5674,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
if (val->value.str == NULL)
*retValue = BAD_CAST xmlStrdup(BAD_CAST "");
else
- *retValue =
+ *retValue =
BAD_CAST xmlStrdup((const xmlChar *) val->value.str);
break;
case XML_SCHEMAS_NORMSTRING:
@@ -5665,7 +5691,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
case XML_SCHEMAS_TOKEN:
case XML_SCHEMAS_LANGUAGE:
case XML_SCHEMAS_NMTOKEN:
- case XML_SCHEMAS_NAME:
+ case XML_SCHEMAS_NAME:
case XML_SCHEMAS_NCNAME:
case XML_SCHEMAS_ID:
case XML_SCHEMAS_IDREF:
@@ -5674,10 +5700,10 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
case XML_SCHEMAS_ANYURI: /* Unclear */
if (val->value.str == NULL)
return (-1);
- *retValue =
+ *retValue =
BAD_CAST xmlSchemaCollapseString(BAD_CAST val->value.str);
if (*retValue == NULL)
- *retValue =
+ *retValue =
BAD_CAST xmlStrdup((const xmlChar *) val->value.str);
break;
case XML_SCHEMAS_QNAME:
@@ -5699,7 +5725,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
/*
* TODO: Lookout for a more simple implementation.
*/
- if ((val->value.decimal.total == 1) &&
+ if ((val->value.decimal.total == 1) &&
(val->value.decimal.lo == 0)) {
*retValue = xmlStrdup(BAD_CAST "0.0");
} else {
@@ -5733,7 +5759,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
else
snprintf(offs, bufsize - (offs - buf),
"%lu", dec.lo);
-
+
if (dec.frac != 0) {
if (dec.frac != dec.total) {
int diff = dec.total - dec.frac;
@@ -5746,7 +5772,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
unsigned int i = 0;
/*
* Insert missing zeroes behind the decimal point.
- */
+ */
while (*(offs + i) != 0)
i++;
if (i < dec.total) {
@@ -5883,7 +5909,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
snprintf((char *) *retValue, 6, "---%02u",
val->value.date.day);
}
- break;
+ break;
case XML_SCHEMAS_GMONTHDAY: {
/* TODO: Unclear in XML Schema 1.0 */
/* TODO: What to do with the timezone? */
@@ -5900,14 +5926,14 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
/* TODO: What to do with the timezone? */
if (val->value.date.year < 0)
snprintf(buf, 35, "-%04ld-%02u",
- labs(val->value.date.year),
+ labs(val->value.date.year),
val->value.date.mon);
else
snprintf(buf, 35, "%04ld-%02u",
val->value.date.year, val->value.date.mon);
*retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
}
- break;
+ break;
case XML_SCHEMAS_TIME:
{
char buf[30];
@@ -5918,8 +5944,8 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
norm = xmlSchemaDateNormalize(val, 0);
if (norm == NULL)
return (-1);
- /*
- * TODO: Check if "%.14g" is portable.
+ /*
+ * TODO: Check if "%.14g" is portable.
*/
snprintf(buf, 30,
"%02u:%02u:%02.14gZ",
@@ -5935,7 +5961,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
val->value.date.sec);
}
*retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
- }
+ }
break;
case XML_SCHEMAS_DATE:
{
@@ -5963,7 +5989,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
val->value.date.day);
}
*retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
- }
+ }
break;
case XML_SCHEMAS_DATETIME:
{
@@ -6007,8 +6033,8 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
*retValue = BAD_CAST xmlStrdup(BAD_CAST val->value.base64.str);
break;
case XML_SCHEMAS_FLOAT: {
- char buf[30];
- /*
+ char buf[30];
+ /*
* |m| < 16777216, -149 <= e <= 104.
* TODO: Handle, NaN, INF, -INF. The format is not
* yet conformant. The c type float does not cover
@@ -6029,7 +6055,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
snprintf(buf, 40, "%01.14e", val->value.d);
*retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
}
- break;
+ break;
default:
*retValue = BAD_CAST xmlStrdup(BAD_CAST "???");
return (1);
@@ -6045,7 +6071,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
* @retValue: the returned value
* @ws: the whitespace type of the value
*
- * Get a the cononical representation of the value.
+ * Get the canonical representation of the value.
* The caller has to free the returned @retValue.
*
* Returns 0 if the value could be built, 1 if the value type is
@@ -6088,7 +6114,7 @@ xmlSchemaGetCanonValueWhtsp(xmlSchemaValPtr val,
break;
default:
return (xmlSchemaGetCanonValue(val, retValue));
- }
+ }
return (0);
}
diff --git a/gettext-tools/gnulib-lib/libxml/xmlschemastypes.in.h b/gettext-tools/gnulib-lib/libxml/xmlschemastypes.in.h
index 9a3a7a1..35d48d4 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlschemastypes.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlschemastypes.in.h
@@ -30,23 +30,23 @@ typedef enum {
XML_SCHEMA_WHITESPACE_COLLAPSE = 3
} xmlSchemaWhitespaceValueType;
-XMLPUBFUN void XMLCALL
- xmlSchemaInitTypes (void);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
+ xmlSchemaInitTypes (void);
+XMLPUBFUN void XMLCALL
xmlSchemaCleanupTypes (void);
-XMLPUBFUN xmlSchemaTypePtr XMLCALL
+XMLPUBFUN xmlSchemaTypePtr XMLCALL
xmlSchemaGetPredefinedType (const xmlChar *name,
const xmlChar *ns);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
const xmlChar *value,
xmlSchemaValPtr *val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,
const xmlChar *value,
xmlSchemaValPtr *val,
xmlNodePtr node);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchemaValidateFacet (xmlSchemaTypePtr base,
xmlSchemaFacetPtr facet,
const xmlChar *value,
@@ -54,25 +54,25 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
xmlSchemaWhitespaceValueType fws,
- xmlSchemaValType valType,
+ xmlSchemaValType valType,
const xmlChar *value,
xmlSchemaValPtr val,
xmlSchemaWhitespaceValueType ws);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaFreeValue (xmlSchemaValPtr val);
-XMLPUBFUN xmlSchemaFacetPtr XMLCALL
+XMLPUBFUN xmlSchemaFacetPtr XMLCALL
xmlSchemaNewFacet (void);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,
xmlSchemaTypePtr typeDecl,
xmlSchemaParserCtxtPtr ctxt,
const xmlChar *name);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlSchemaCompareValues (xmlSchemaValPtr x,
xmlSchemaValPtr y);
-XMLPUBFUN xmlSchemaTypePtr XMLCALL
+XMLPUBFUN xmlSchemaTypePtr XMLCALL
xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);
XMLPUBFUN int XMLCALL
xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,
@@ -82,7 +82,7 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN xmlSchemaTypePtr XMLCALL
xmlSchemaGetBuiltInType (xmlSchemaValType type);
XMLPUBFUN int XMLCALL
- xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
+ xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
int facetType);
XMLPUBFUN xmlChar * XMLCALL
xmlSchemaCollapseString (const xmlChar *value);
@@ -91,7 +91,7 @@ XMLPUBFUN xmlChar * XMLCALL
XMLPUBFUN unsigned long XMLCALL
xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
- xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
+ xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
xmlSchemaFacetPtr facet,
const xmlChar *value,
xmlSchemaValPtr val,
@@ -100,19 +100,19 @@ XMLPUBFUN int XMLCALL
xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
xmlSchemaValType valType,
const xmlChar *value,
- xmlSchemaValPtr val,
+ xmlSchemaValPtr val,
unsigned long *length,
xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
- xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
+ xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
const xmlChar *value,
- xmlSchemaValPtr *val,
+ xmlSchemaValPtr *val,
xmlNodePtr node);
XMLPUBFUN int XMLCALL
xmlSchemaGetCanonValue (xmlSchemaValPtr val,
const xmlChar **retValue);
XMLPUBFUN int XMLCALL
- xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
+ xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
const xmlChar **retValue,
xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
diff --git a/gettext-tools/gnulib-lib/libxml/xmlstring.c b/gettext-tools/gnulib-lib/libxml/xmlstring.c
index 4f3b373..a37220d 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlstring.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlstring.c
@@ -3,7 +3,7 @@
*
* This module provides various utility functions for manipulating
* the xmlChar* type. All functions named xmlStr* have been moved here
- * from the parser.c file (their original home).
+ * from the parser.c file (their original home).
*
* See Copyright for the status of this software.
*
@@ -40,7 +40,7 @@
xmlChar *
xmlStrndup(const xmlChar *cur, int len) {
xmlChar *ret;
-
+
if ((cur == NULL) || (len < 0)) return(NULL);
ret = (xmlChar *) xmlMallocAtomic((len + 1) * sizeof(xmlChar));
if (ret == NULL) {
@@ -85,7 +85,7 @@ xmlChar *
xmlCharStrndup(const char *cur, int len) {
int i;
xmlChar *ret;
-
+
if ((cur == NULL) || (len < 0)) return(NULL);
ret = (xmlChar *) xmlMallocAtomic((len + 1) * sizeof(xmlChar));
if (ret == NULL) {
@@ -170,7 +170,7 @@ xmlStrEqual(const xmlChar *str1, const xmlChar *str2) {
* @name: the localname of the QName
* @str: the second xmlChar *
*
- * Check if a QName is Equal to a given string
+ * Check if a QName is Equal to a given string
*
* Returns 1 if they are equal, 0 if they are different
*/
@@ -340,7 +340,7 @@ xmlStrchr(const xmlChar *str, xmlChar val) {
const xmlChar *
xmlStrstr(const xmlChar *str, const xmlChar *val) {
int n;
-
+
if (str == NULL) return(NULL);
if (val == NULL) return(NULL);
n = xmlStrlen(val);
@@ -366,9 +366,9 @@ xmlStrstr(const xmlChar *str, const xmlChar *val) {
*/
const xmlChar *
-xmlStrcasestr(const xmlChar *str, xmlChar *val) {
+xmlStrcasestr(const xmlChar *str, const xmlChar *val) {
int n;
-
+
if (str == NULL) return(NULL);
if (val == NULL) return(NULL);
n = xmlStrlen(val);
@@ -396,7 +396,7 @@ xmlStrcasestr(const xmlChar *str, xmlChar *val) {
xmlChar *
xmlStrsub(const xmlChar *str, int start, int len) {
int i;
-
+
if (str == NULL) return(NULL);
if (start < 0) return(NULL);
if (len < 0) return(NULL);
@@ -519,7 +519,7 @@ xmlStrcat(xmlChar *cur, const xmlChar *add) {
const xmlChar *p = add;
if (add == NULL) return(cur);
- if (cur == NULL)
+ if (cur == NULL)
return(xmlStrdup(add));
while (*p != 0) p++; /* non input consuming */
@@ -537,20 +537,20 @@ xmlStrcat(xmlChar *cur, const xmlChar *add) {
*
* Returns the number of characters written to @buf or -1 if an error occurs.
*/
-int XMLCDECL
+int XMLCDECL
xmlStrPrintf(xmlChar *buf, int len, const xmlChar *msg, ...) {
va_list args;
int ret;
-
+
if((buf == NULL) || (msg == NULL)) {
return(-1);
}
-
+
va_start(args, msg);
ret = vsnprintf((char *) buf, len, (const char *) msg, args);
va_end(args);
buf[len - 1] = 0; /* be safe ! */
-
+
return(ret);
}
@@ -565,17 +565,17 @@ xmlStrPrintf(xmlChar *buf, int len, const xmlChar *msg, ...) {
*
* Returns the number of characters written to @buf or -1 if an error occurs.
*/
-int
+int
xmlStrVPrintf(xmlChar *buf, int len, const xmlChar *msg, va_list ap) {
int ret;
-
+
if((buf == NULL) || (msg == NULL)) {
return(-1);
}
-
+
ret = vsnprintf((char *) buf, len, (const char *) msg, ap);
buf[len - 1] = 0; /* be safe ! */
-
+
return(ret);
}
@@ -858,7 +858,7 @@ xmlChar *
xmlUTF8Strndup(const xmlChar *utf, int len) {
xmlChar *ret;
int i;
-
+
if ((utf == NULL) || (len < 0)) return(NULL);
i = xmlUTF8Strsize(utf, len);
ret = (xmlChar *) xmlMallocAtomic((i + 1) * sizeof(xmlChar));
diff --git a/gettext-tools/gnulib-lib/libxml/xmlstring.in.h b/gettext-tools/gnulib-lib/libxml/xmlstring.in.h
index 1dfc5ea..2036236 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlstring.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlstring.in.h
@@ -59,7 +59,7 @@ XMLPUBFUN const xmlChar * XMLCALL
const xmlChar *val);
XMLPUBFUN const xmlChar * XMLCALL
xmlStrcasestr (const xmlChar *str,
- xmlChar *val);
+ const xmlChar *val);
XMLPUBFUN int XMLCALL
xmlStrcmp (const xmlChar *str1,
const xmlChar *str2);
@@ -113,16 +113,16 @@ XMLPUBFUN int XMLCALL
XMLPUBFUN int XMLCALL
xmlUTF8Strsize (const xmlChar *utf,
int len);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlUTF8Strndup (const xmlChar *utf,
int len);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlUTF8Strpos (const xmlChar *utf,
int pos);
XMLPUBFUN int XMLCALL
xmlUTF8Strloc (const xmlChar *utf,
const xmlChar *utfchar);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlUTF8Strsub (const xmlChar *utf,
int start,
int len);
diff --git a/gettext-tools/gnulib-lib/libxml/xmlunicode.c b/gettext-tools/gnulib-lib/libxml/xmlunicode.c
index 450d0f0..ce6e9a4 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlunicode.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlunicode.c
@@ -204,729 +204,729 @@ static xmlUnicodeRange xmlUnicodeCats[] = {
{"Zp", xmlUCSIsCatZp},
{"Zs", xmlUCSIsCatZs}};
-static const xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f},
- {0xad, 0xad}, {0x600, 0x603}, {0x6dd, 0x6dd}, {0x70f, 0x70f},
- {0x17b4, 0x17b5}, {0x200b, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2063},
- {0x206a, 0x206f}, {0xd800, 0xd800}, {0xdb7f, 0xdb80}, {0xdbff, 0xdc00},
+static const xmlChSRange xmlCS[] = {{0x0, 0x1f}, {0x7f, 0x9f},
+ {0xad, 0xad}, {0x600, 0x603}, {0x6dd, 0x6dd}, {0x70f, 0x70f},
+ {0x17b4, 0x17b5}, {0x200b, 0x200f}, {0x202a, 0x202e}, {0x2060, 0x2063},
+ {0x206a, 0x206f}, {0xd800, 0xd800}, {0xdb7f, 0xdb80}, {0xdbff, 0xdc00},
{0xdfff, 0xe000}, {0xf8ff, 0xf8ff}, {0xfeff, 0xfeff}, {0xfff9, 0xfffb} };
-static const xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001},
- {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd},
+static const xmlChLRange xmlCL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001},
+ {0xe0020, 0xe007f}, {0xf0000, 0xf0000}, {0xffffd, 0xffffd},
{0x100000, 0x100000}, {0x10fffd, 0x10fffd} };
static xmlChRangeGroup xmlCG = {18,7,xmlCS,xmlCL};
-static const xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603},
- {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200b, 0x200f},
- {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, {0xfeff, 0xfeff},
+static const xmlChSRange xmlCfS[] = {{0xad, 0xad}, {0x600, 0x603},
+ {0x6dd, 0x6dd}, {0x70f, 0x70f}, {0x17b4, 0x17b5}, {0x200b, 0x200f},
+ {0x202a, 0x202e}, {0x2060, 0x2063}, {0x206a, 0x206f}, {0xfeff, 0xfeff},
{0xfff9, 0xfffb} };
-static const xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001},
+static const xmlChLRange xmlCfL[] = {{0x1d173, 0x1d17a}, {0xe0001, 0xe0001},
{0xe0020, 0xe007f} };
static xmlChRangeGroup xmlCfG = {11,3,xmlCfS,xmlCfL};
-static const xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a},
- {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6},
- {0xf8, 0x236}, {0x250, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4},
- {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x386, 0x386}, {0x388, 0x38a},
- {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3f5},
- {0x3f7, 0x3fb}, {0x400, 0x481}, {0x48a, 0x4ce}, {0x4d0, 0x4f5},
- {0x4f8, 0x4f9}, {0x500, 0x50f}, {0x531, 0x556}, {0x559, 0x559},
- {0x561, 0x587}, {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a},
- {0x640, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5},
- {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff},
- {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x74f}, {0x780, 0x7a5},
- {0x7b1, 0x7b1}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950},
- {0x958, 0x961}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8},
- {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd},
- {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a},
- {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33},
- {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
- {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8},
- {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd},
- {0xad0, 0xad0}, {0xae0, 0xae1}, {0xb05, 0xb0c}, {0xb0f, 0xb10},
- {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39},
- {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71},
- {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95},
- {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4},
- {0xba8, 0xbaa}, {0xbae, 0xbb5}, {0xbb7, 0xbb9}, {0xc05, 0xc0c},
- {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc33}, {0xc35, 0xc39},
- {0xc60, 0xc61}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8},
- {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcde, 0xcde},
- {0xce0, 0xce1}, {0xd05, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd28},
- {0xd2a, 0xd39}, {0xd60, 0xd61}, {0xd85, 0xd96}, {0xd9a, 0xdb1},
- {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30},
- {0xe32, 0xe33}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84},
- {0xe87, 0xe88}, {0xe8a, 0xe8a}, {0xe8d, 0xe8d}, {0xe94, 0xe97},
- {0xe99, 0xe9f}, {0xea1, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xea7},
- {0xeaa, 0xeab}, {0xead, 0xeb0}, {0xeb2, 0xeb3}, {0xebd, 0xebd},
- {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedd}, {0xf00, 0xf00},
- {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b}, {0x1000, 0x1021},
- {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055}, {0x10a0, 0x10c5},
- {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9},
- {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d},
- {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286},
- {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0},
- {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5},
- {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e},
- {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346},
- {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676},
- {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711},
- {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770},
- {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1877},
- {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974},
- {0x1d00, 0x1d6b}, {0x1e00, 0x1e9b}, {0x1ea0, 0x1ef9}, {0x1f00, 0x1f15},
- {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57},
- {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d},
- {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4},
- {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec},
- {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f},
- {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115},
- {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128},
- {0x212a, 0x212d}, {0x212f, 0x2131}, {0x2133, 0x2139}, {0x213d, 0x213f},
- {0x2145, 0x2149}, {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c},
- {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff},
- {0x3105, 0x312c}, {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff},
- {0x3400, 0x3400}, {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5},
- {0xa000, 0xa48c}, {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d},
- {0xfa30, 0xfa6a}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d},
- {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e},
- {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d},
- {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74},
- {0xfe76, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe},
+static const xmlChSRange xmlLS[] = {{0x41, 0x5a}, {0x61, 0x7a},
+ {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6},
+ {0xf8, 0x236}, {0x250, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4},
+ {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x386, 0x386}, {0x388, 0x38a},
+ {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3ce}, {0x3d0, 0x3f5},
+ {0x3f7, 0x3fb}, {0x400, 0x481}, {0x48a, 0x4ce}, {0x4d0, 0x4f5},
+ {0x4f8, 0x4f9}, {0x500, 0x50f}, {0x531, 0x556}, {0x559, 0x559},
+ {0x561, 0x587}, {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a},
+ {0x640, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5},
+ {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff},
+ {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x74f}, {0x780, 0x7a5},
+ {0x7b1, 0x7b1}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950},
+ {0x958, 0x961}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8},
+ {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd},
+ {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0xa05, 0xa0a},
+ {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33},
+ {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
+ {0xa72, 0xa74}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8},
+ {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd},
+ {0xad0, 0xad0}, {0xae0, 0xae1}, {0xb05, 0xb0c}, {0xb0f, 0xb10},
+ {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39},
+ {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71},
+ {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95},
+ {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4},
+ {0xba8, 0xbaa}, {0xbae, 0xbb5}, {0xbb7, 0xbb9}, {0xc05, 0xc0c},
+ {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc33}, {0xc35, 0xc39},
+ {0xc60, 0xc61}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8},
+ {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcde, 0xcde},
+ {0xce0, 0xce1}, {0xd05, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd28},
+ {0xd2a, 0xd39}, {0xd60, 0xd61}, {0xd85, 0xd96}, {0xd9a, 0xdb1},
+ {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30},
+ {0xe32, 0xe33}, {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84},
+ {0xe87, 0xe88}, {0xe8a, 0xe8a}, {0xe8d, 0xe8d}, {0xe94, 0xe97},
+ {0xe99, 0xe9f}, {0xea1, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xea7},
+ {0xeaa, 0xeab}, {0xead, 0xeb0}, {0xeb2, 0xeb3}, {0xebd, 0xebd},
+ {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedd}, {0xf00, 0xf00},
+ {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b}, {0x1000, 0x1021},
+ {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055}, {0x10a0, 0x10c5},
+ {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9},
+ {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d},
+ {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286},
+ {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0},
+ {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5},
+ {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e},
+ {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346},
+ {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676},
+ {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711},
+ {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770},
+ {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1877},
+ {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974},
+ {0x1d00, 0x1d6b}, {0x1e00, 0x1e9b}, {0x1ea0, 0x1ef9}, {0x1f00, 0x1f15},
+ {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57},
+ {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d},
+ {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4},
+ {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec},
+ {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f},
+ {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115},
+ {0x2119, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128},
+ {0x212a, 0x212d}, {0x212f, 0x2131}, {0x2133, 0x2139}, {0x213d, 0x213f},
+ {0x2145, 0x2149}, {0x3005, 0x3006}, {0x3031, 0x3035}, {0x303b, 0x303c},
+ {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff},
+ {0x3105, 0x312c}, {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff},
+ {0x3400, 0x3400}, {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5},
+ {0xa000, 0xa48c}, {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d},
+ {0xfa30, 0xfa6a}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d},
+ {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e},
+ {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfd3d},
+ {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb}, {0xfe70, 0xfe74},
+ {0xfe76, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xffbe},
{0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc} };
-static const xmlChLRange xmlLL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026},
- {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d},
- {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e},
- {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10400, 0x1049d},
- {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835},
- {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f},
- {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f},
- {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac},
- {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3},
- {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514},
- {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e},
- {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550},
- {0x1d552, 0x1d6a3}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da},
- {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734},
- {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788},
- {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9},
+static const xmlChLRange xmlLL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026},
+ {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d},
+ {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e},
+ {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10400, 0x1049d},
+ {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835},
+ {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f},
+ {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f},
+ {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac},
+ {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3},
+ {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514},
+ {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e},
+ {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550},
+ {0x1d552, 0x1d6a3}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da},
+ {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734},
+ {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788},
+ {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9},
{0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} };
static xmlChRangeGroup xmlLG = {279,50,xmlLS,xmlLL};
-static const xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa},
- {0xb5, 0xb5}, {0xba, 0xba}, {0xdf, 0xf6}, {0xf8, 0xff}, {0x101, 0x101},
- {0x103, 0x103}, {0x105, 0x105}, {0x107, 0x107}, {0x109, 0x109},
- {0x10b, 0x10b}, {0x10d, 0x10d}, {0x10f, 0x10f}, {0x111, 0x111},
- {0x113, 0x113}, {0x115, 0x115}, {0x117, 0x117}, {0x119, 0x119},
- {0x11b, 0x11b}, {0x11d, 0x11d}, {0x11f, 0x11f}, {0x121, 0x121},
- {0x123, 0x123}, {0x125, 0x125}, {0x127, 0x127}, {0x129, 0x129},
- {0x12b, 0x12b}, {0x12d, 0x12d}, {0x12f, 0x12f}, {0x131, 0x131},
- {0x133, 0x133}, {0x135, 0x135}, {0x137, 0x138}, {0x13a, 0x13a},
- {0x13c, 0x13c}, {0x13e, 0x13e}, {0x140, 0x140}, {0x142, 0x142},
- {0x144, 0x144}, {0x146, 0x146}, {0x148, 0x149}, {0x14b, 0x14b},
- {0x14d, 0x14d}, {0x14f, 0x14f}, {0x151, 0x151}, {0x153, 0x153},
- {0x155, 0x155}, {0x157, 0x157}, {0x159, 0x159}, {0x15b, 0x15b},
- {0x15d, 0x15d}, {0x15f, 0x15f}, {0x161, 0x161}, {0x163, 0x163},
- {0x165, 0x165}, {0x167, 0x167}, {0x169, 0x169}, {0x16b, 0x16b},
- {0x16d, 0x16d}, {0x16f, 0x16f}, {0x171, 0x171}, {0x173, 0x173},
- {0x175, 0x175}, {0x177, 0x177}, {0x17a, 0x17a}, {0x17c, 0x17c},
- {0x17e, 0x180}, {0x183, 0x183}, {0x185, 0x185}, {0x188, 0x188},
- {0x18c, 0x18d}, {0x192, 0x192}, {0x195, 0x195}, {0x199, 0x19b},
- {0x19e, 0x19e}, {0x1a1, 0x1a1}, {0x1a3, 0x1a3}, {0x1a5, 0x1a5},
- {0x1a8, 0x1a8}, {0x1aa, 0x1ab}, {0x1ad, 0x1ad}, {0x1b0, 0x1b0},
- {0x1b4, 0x1b4}, {0x1b6, 0x1b6}, {0x1b9, 0x1ba}, {0x1bd, 0x1bf},
- {0x1c6, 0x1c6}, {0x1c9, 0x1c9}, {0x1cc, 0x1cc}, {0x1ce, 0x1ce},
- {0x1d0, 0x1d0}, {0x1d2, 0x1d2}, {0x1d4, 0x1d4}, {0x1d6, 0x1d6},
- {0x1d8, 0x1d8}, {0x1da, 0x1da}, {0x1dc, 0x1dd}, {0x1df, 0x1df},
- {0x1e1, 0x1e1}, {0x1e3, 0x1e3}, {0x1e5, 0x1e5}, {0x1e7, 0x1e7},
- {0x1e9, 0x1e9}, {0x1eb, 0x1eb}, {0x1ed, 0x1ed}, {0x1ef, 0x1f0},
- {0x1f3, 0x1f3}, {0x1f5, 0x1f5}, {0x1f9, 0x1f9}, {0x1fb, 0x1fb},
- {0x1fd, 0x1fd}, {0x1ff, 0x1ff}, {0x201, 0x201}, {0x203, 0x203},
- {0x205, 0x205}, {0x207, 0x207}, {0x209, 0x209}, {0x20b, 0x20b},
- {0x20d, 0x20d}, {0x20f, 0x20f}, {0x211, 0x211}, {0x213, 0x213},
- {0x215, 0x215}, {0x217, 0x217}, {0x219, 0x219}, {0x21b, 0x21b},
- {0x21d, 0x21d}, {0x21f, 0x21f}, {0x221, 0x221}, {0x223, 0x223},
- {0x225, 0x225}, {0x227, 0x227}, {0x229, 0x229}, {0x22b, 0x22b},
- {0x22d, 0x22d}, {0x22f, 0x22f}, {0x231, 0x231}, {0x233, 0x236},
- {0x250, 0x2af}, {0x390, 0x390}, {0x3ac, 0x3ce}, {0x3d0, 0x3d1},
- {0x3d5, 0x3d7}, {0x3d9, 0x3d9}, {0x3db, 0x3db}, {0x3dd, 0x3dd},
- {0x3df, 0x3df}, {0x3e1, 0x3e1}, {0x3e3, 0x3e3}, {0x3e5, 0x3e5},
- {0x3e7, 0x3e7}, {0x3e9, 0x3e9}, {0x3eb, 0x3eb}, {0x3ed, 0x3ed},
- {0x3ef, 0x3f3}, {0x3f5, 0x3f5}, {0x3f8, 0x3f8}, {0x3fb, 0x3fb},
- {0x430, 0x45f}, {0x461, 0x461}, {0x463, 0x463}, {0x465, 0x465},
- {0x467, 0x467}, {0x469, 0x469}, {0x46b, 0x46b}, {0x46d, 0x46d},
- {0x46f, 0x46f}, {0x471, 0x471}, {0x473, 0x473}, {0x475, 0x475},
- {0x477, 0x477}, {0x479, 0x479}, {0x47b, 0x47b}, {0x47d, 0x47d},
- {0x47f, 0x47f}, {0x481, 0x481}, {0x48b, 0x48b}, {0x48d, 0x48d},
- {0x48f, 0x48f}, {0x491, 0x491}, {0x493, 0x493}, {0x495, 0x495},
- {0x497, 0x497}, {0x499, 0x499}, {0x49b, 0x49b}, {0x49d, 0x49d},
- {0x49f, 0x49f}, {0x4a1, 0x4a1}, {0x4a3, 0x4a3}, {0x4a5, 0x4a5},
- {0x4a7, 0x4a7}, {0x4a9, 0x4a9}, {0x4ab, 0x4ab}, {0x4ad, 0x4ad},
- {0x4af, 0x4af}, {0x4b1, 0x4b1}, {0x4b3, 0x4b3}, {0x4b5, 0x4b5},
- {0x4b7, 0x4b7}, {0x4b9, 0x4b9}, {0x4bb, 0x4bb}, {0x4bd, 0x4bd},
- {0x4bf, 0x4bf}, {0x4c2, 0x4c2}, {0x4c4, 0x4c4}, {0x4c6, 0x4c6},
- {0x4c8, 0x4c8}, {0x4ca, 0x4ca}, {0x4cc, 0x4cc}, {0x4ce, 0x4ce},
- {0x4d1, 0x4d1}, {0x4d3, 0x4d3}, {0x4d5, 0x4d5}, {0x4d7, 0x4d7},
- {0x4d9, 0x4d9}, {0x4db, 0x4db}, {0x4dd, 0x4dd}, {0x4df, 0x4df},
- {0x4e1, 0x4e1}, {0x4e3, 0x4e3}, {0x4e5, 0x4e5}, {0x4e7, 0x4e7},
- {0x4e9, 0x4e9}, {0x4eb, 0x4eb}, {0x4ed, 0x4ed}, {0x4ef, 0x4ef},
- {0x4f1, 0x4f1}, {0x4f3, 0x4f3}, {0x4f5, 0x4f5}, {0x4f9, 0x4f9},
- {0x501, 0x501}, {0x503, 0x503}, {0x505, 0x505}, {0x507, 0x507},
- {0x509, 0x509}, {0x50b, 0x50b}, {0x50d, 0x50d}, {0x50f, 0x50f},
- {0x561, 0x587}, {0x1d00, 0x1d2b}, {0x1d62, 0x1d6b}, {0x1e01, 0x1e01},
- {0x1e03, 0x1e03}, {0x1e05, 0x1e05}, {0x1e07, 0x1e07}, {0x1e09, 0x1e09},
- {0x1e0b, 0x1e0b}, {0x1e0d, 0x1e0d}, {0x1e0f, 0x1e0f}, {0x1e11, 0x1e11},
- {0x1e13, 0x1e13}, {0x1e15, 0x1e15}, {0x1e17, 0x1e17}, {0x1e19, 0x1e19},
- {0x1e1b, 0x1e1b}, {0x1e1d, 0x1e1d}, {0x1e1f, 0x1e1f}, {0x1e21, 0x1e21},
- {0x1e23, 0x1e23}, {0x1e25, 0x1e25}, {0x1e27, 0x1e27}, {0x1e29, 0x1e29},
- {0x1e2b, 0x1e2b}, {0x1e2d, 0x1e2d}, {0x1e2f, 0x1e2f}, {0x1e31, 0x1e31},
- {0x1e33, 0x1e33}, {0x1e35, 0x1e35}, {0x1e37, 0x1e37}, {0x1e39, 0x1e39},
- {0x1e3b, 0x1e3b}, {0x1e3d, 0x1e3d}, {0x1e3f, 0x1e3f}, {0x1e41, 0x1e41},
- {0x1e43, 0x1e43}, {0x1e45, 0x1e45}, {0x1e47, 0x1e47}, {0x1e49, 0x1e49},
- {0x1e4b, 0x1e4b}, {0x1e4d, 0x1e4d}, {0x1e4f, 0x1e4f}, {0x1e51, 0x1e51},
- {0x1e53, 0x1e53}, {0x1e55, 0x1e55}, {0x1e57, 0x1e57}, {0x1e59, 0x1e59},
- {0x1e5b, 0x1e5b}, {0x1e5d, 0x1e5d}, {0x1e5f, 0x1e5f}, {0x1e61, 0x1e61},
- {0x1e63, 0x1e63}, {0x1e65, 0x1e65}, {0x1e67, 0x1e67}, {0x1e69, 0x1e69},
- {0x1e6b, 0x1e6b}, {0x1e6d, 0x1e6d}, {0x1e6f, 0x1e6f}, {0x1e71, 0x1e71},
- {0x1e73, 0x1e73}, {0x1e75, 0x1e75}, {0x1e77, 0x1e77}, {0x1e79, 0x1e79},
- {0x1e7b, 0x1e7b}, {0x1e7d, 0x1e7d}, {0x1e7f, 0x1e7f}, {0x1e81, 0x1e81},
- {0x1e83, 0x1e83}, {0x1e85, 0x1e85}, {0x1e87, 0x1e87}, {0x1e89, 0x1e89},
- {0x1e8b, 0x1e8b}, {0x1e8d, 0x1e8d}, {0x1e8f, 0x1e8f}, {0x1e91, 0x1e91},
- {0x1e93, 0x1e93}, {0x1e95, 0x1e9b}, {0x1ea1, 0x1ea1}, {0x1ea3, 0x1ea3},
- {0x1ea5, 0x1ea5}, {0x1ea7, 0x1ea7}, {0x1ea9, 0x1ea9}, {0x1eab, 0x1eab},
- {0x1ead, 0x1ead}, {0x1eaf, 0x1eaf}, {0x1eb1, 0x1eb1}, {0x1eb3, 0x1eb3},
- {0x1eb5, 0x1eb5}, {0x1eb7, 0x1eb7}, {0x1eb9, 0x1eb9}, {0x1ebb, 0x1ebb},
- {0x1ebd, 0x1ebd}, {0x1ebf, 0x1ebf}, {0x1ec1, 0x1ec1}, {0x1ec3, 0x1ec3},
- {0x1ec5, 0x1ec5}, {0x1ec7, 0x1ec7}, {0x1ec9, 0x1ec9}, {0x1ecb, 0x1ecb},
- {0x1ecd, 0x1ecd}, {0x1ecf, 0x1ecf}, {0x1ed1, 0x1ed1}, {0x1ed3, 0x1ed3},
- {0x1ed5, 0x1ed5}, {0x1ed7, 0x1ed7}, {0x1ed9, 0x1ed9}, {0x1edb, 0x1edb},
- {0x1edd, 0x1edd}, {0x1edf, 0x1edf}, {0x1ee1, 0x1ee1}, {0x1ee3, 0x1ee3},
- {0x1ee5, 0x1ee5}, {0x1ee7, 0x1ee7}, {0x1ee9, 0x1ee9}, {0x1eeb, 0x1eeb},
- {0x1eed, 0x1eed}, {0x1eef, 0x1eef}, {0x1ef1, 0x1ef1}, {0x1ef3, 0x1ef3},
- {0x1ef5, 0x1ef5}, {0x1ef7, 0x1ef7}, {0x1ef9, 0x1ef9}, {0x1f00, 0x1f07},
- {0x1f10, 0x1f15}, {0x1f20, 0x1f27}, {0x1f30, 0x1f37}, {0x1f40, 0x1f45},
- {0x1f50, 0x1f57}, {0x1f60, 0x1f67}, {0x1f70, 0x1f7d}, {0x1f80, 0x1f87},
- {0x1f90, 0x1f97}, {0x1fa0, 0x1fa7}, {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7},
- {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, {0x1fd0, 0x1fd3},
- {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ff7},
- {0x2071, 0x2071}, {0x207f, 0x207f}, {0x210a, 0x210a}, {0x210e, 0x210f},
- {0x2113, 0x2113}, {0x212f, 0x212f}, {0x2134, 0x2134}, {0x2139, 0x2139},
- {0x213d, 0x213d}, {0x2146, 0x2149}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17},
+static const xmlChSRange xmlLlS[] = {{0x61, 0x7a}, {0xaa, 0xaa},
+ {0xb5, 0xb5}, {0xba, 0xba}, {0xdf, 0xf6}, {0xf8, 0xff}, {0x101, 0x101},
+ {0x103, 0x103}, {0x105, 0x105}, {0x107, 0x107}, {0x109, 0x109},
+ {0x10b, 0x10b}, {0x10d, 0x10d}, {0x10f, 0x10f}, {0x111, 0x111},
+ {0x113, 0x113}, {0x115, 0x115}, {0x117, 0x117}, {0x119, 0x119},
+ {0x11b, 0x11b}, {0x11d, 0x11d}, {0x11f, 0x11f}, {0x121, 0x121},
+ {0x123, 0x123}, {0x125, 0x125}, {0x127, 0x127}, {0x129, 0x129},
+ {0x12b, 0x12b}, {0x12d, 0x12d}, {0x12f, 0x12f}, {0x131, 0x131},
+ {0x133, 0x133}, {0x135, 0x135}, {0x137, 0x138}, {0x13a, 0x13a},
+ {0x13c, 0x13c}, {0x13e, 0x13e}, {0x140, 0x140}, {0x142, 0x142},
+ {0x144, 0x144}, {0x146, 0x146}, {0x148, 0x149}, {0x14b, 0x14b},
+ {0x14d, 0x14d}, {0x14f, 0x14f}, {0x151, 0x151}, {0x153, 0x153},
+ {0x155, 0x155}, {0x157, 0x157}, {0x159, 0x159}, {0x15b, 0x15b},
+ {0x15d, 0x15d}, {0x15f, 0x15f}, {0x161, 0x161}, {0x163, 0x163},
+ {0x165, 0x165}, {0x167, 0x167}, {0x169, 0x169}, {0x16b, 0x16b},
+ {0x16d, 0x16d}, {0x16f, 0x16f}, {0x171, 0x171}, {0x173, 0x173},
+ {0x175, 0x175}, {0x177, 0x177}, {0x17a, 0x17a}, {0x17c, 0x17c},
+ {0x17e, 0x180}, {0x183, 0x183}, {0x185, 0x185}, {0x188, 0x188},
+ {0x18c, 0x18d}, {0x192, 0x192}, {0x195, 0x195}, {0x199, 0x19b},
+ {0x19e, 0x19e}, {0x1a1, 0x1a1}, {0x1a3, 0x1a3}, {0x1a5, 0x1a5},
+ {0x1a8, 0x1a8}, {0x1aa, 0x1ab}, {0x1ad, 0x1ad}, {0x1b0, 0x1b0},
+ {0x1b4, 0x1b4}, {0x1b6, 0x1b6}, {0x1b9, 0x1ba}, {0x1bd, 0x1bf},
+ {0x1c6, 0x1c6}, {0x1c9, 0x1c9}, {0x1cc, 0x1cc}, {0x1ce, 0x1ce},
+ {0x1d0, 0x1d0}, {0x1d2, 0x1d2}, {0x1d4, 0x1d4}, {0x1d6, 0x1d6},
+ {0x1d8, 0x1d8}, {0x1da, 0x1da}, {0x1dc, 0x1dd}, {0x1df, 0x1df},
+ {0x1e1, 0x1e1}, {0x1e3, 0x1e3}, {0x1e5, 0x1e5}, {0x1e7, 0x1e7},
+ {0x1e9, 0x1e9}, {0x1eb, 0x1eb}, {0x1ed, 0x1ed}, {0x1ef, 0x1f0},
+ {0x1f3, 0x1f3}, {0x1f5, 0x1f5}, {0x1f9, 0x1f9}, {0x1fb, 0x1fb},
+ {0x1fd, 0x1fd}, {0x1ff, 0x1ff}, {0x201, 0x201}, {0x203, 0x203},
+ {0x205, 0x205}, {0x207, 0x207}, {0x209, 0x209}, {0x20b, 0x20b},
+ {0x20d, 0x20d}, {0x20f, 0x20f}, {0x211, 0x211}, {0x213, 0x213},
+ {0x215, 0x215}, {0x217, 0x217}, {0x219, 0x219}, {0x21b, 0x21b},
+ {0x21d, 0x21d}, {0x21f, 0x21f}, {0x221, 0x221}, {0x223, 0x223},
+ {0x225, 0x225}, {0x227, 0x227}, {0x229, 0x229}, {0x22b, 0x22b},
+ {0x22d, 0x22d}, {0x22f, 0x22f}, {0x231, 0x231}, {0x233, 0x236},
+ {0x250, 0x2af}, {0x390, 0x390}, {0x3ac, 0x3ce}, {0x3d0, 0x3d1},
+ {0x3d5, 0x3d7}, {0x3d9, 0x3d9}, {0x3db, 0x3db}, {0x3dd, 0x3dd},
+ {0x3df, 0x3df}, {0x3e1, 0x3e1}, {0x3e3, 0x3e3}, {0x3e5, 0x3e5},
+ {0x3e7, 0x3e7}, {0x3e9, 0x3e9}, {0x3eb, 0x3eb}, {0x3ed, 0x3ed},
+ {0x3ef, 0x3f3}, {0x3f5, 0x3f5}, {0x3f8, 0x3f8}, {0x3fb, 0x3fb},
+ {0x430, 0x45f}, {0x461, 0x461}, {0x463, 0x463}, {0x465, 0x465},
+ {0x467, 0x467}, {0x469, 0x469}, {0x46b, 0x46b}, {0x46d, 0x46d},
+ {0x46f, 0x46f}, {0x471, 0x471}, {0x473, 0x473}, {0x475, 0x475},
+ {0x477, 0x477}, {0x479, 0x479}, {0x47b, 0x47b}, {0x47d, 0x47d},
+ {0x47f, 0x47f}, {0x481, 0x481}, {0x48b, 0x48b}, {0x48d, 0x48d},
+ {0x48f, 0x48f}, {0x491, 0x491}, {0x493, 0x493}, {0x495, 0x495},
+ {0x497, 0x497}, {0x499, 0x499}, {0x49b, 0x49b}, {0x49d, 0x49d},
+ {0x49f, 0x49f}, {0x4a1, 0x4a1}, {0x4a3, 0x4a3}, {0x4a5, 0x4a5},
+ {0x4a7, 0x4a7}, {0x4a9, 0x4a9}, {0x4ab, 0x4ab}, {0x4ad, 0x4ad},
+ {0x4af, 0x4af}, {0x4b1, 0x4b1}, {0x4b3, 0x4b3}, {0x4b5, 0x4b5},
+ {0x4b7, 0x4b7}, {0x4b9, 0x4b9}, {0x4bb, 0x4bb}, {0x4bd, 0x4bd},
+ {0x4bf, 0x4bf}, {0x4c2, 0x4c2}, {0x4c4, 0x4c4}, {0x4c6, 0x4c6},
+ {0x4c8, 0x4c8}, {0x4ca, 0x4ca}, {0x4cc, 0x4cc}, {0x4ce, 0x4ce},
+ {0x4d1, 0x4d1}, {0x4d3, 0x4d3}, {0x4d5, 0x4d5}, {0x4d7, 0x4d7},
+ {0x4d9, 0x4d9}, {0x4db, 0x4db}, {0x4dd, 0x4dd}, {0x4df, 0x4df},
+ {0x4e1, 0x4e1}, {0x4e3, 0x4e3}, {0x4e5, 0x4e5}, {0x4e7, 0x4e7},
+ {0x4e9, 0x4e9}, {0x4eb, 0x4eb}, {0x4ed, 0x4ed}, {0x4ef, 0x4ef},
+ {0x4f1, 0x4f1}, {0x4f3, 0x4f3}, {0x4f5, 0x4f5}, {0x4f9, 0x4f9},
+ {0x501, 0x501}, {0x503, 0x503}, {0x505, 0x505}, {0x507, 0x507},
+ {0x509, 0x509}, {0x50b, 0x50b}, {0x50d, 0x50d}, {0x50f, 0x50f},
+ {0x561, 0x587}, {0x1d00, 0x1d2b}, {0x1d62, 0x1d6b}, {0x1e01, 0x1e01},
+ {0x1e03, 0x1e03}, {0x1e05, 0x1e05}, {0x1e07, 0x1e07}, {0x1e09, 0x1e09},
+ {0x1e0b, 0x1e0b}, {0x1e0d, 0x1e0d}, {0x1e0f, 0x1e0f}, {0x1e11, 0x1e11},
+ {0x1e13, 0x1e13}, {0x1e15, 0x1e15}, {0x1e17, 0x1e17}, {0x1e19, 0x1e19},
+ {0x1e1b, 0x1e1b}, {0x1e1d, 0x1e1d}, {0x1e1f, 0x1e1f}, {0x1e21, 0x1e21},
+ {0x1e23, 0x1e23}, {0x1e25, 0x1e25}, {0x1e27, 0x1e27}, {0x1e29, 0x1e29},
+ {0x1e2b, 0x1e2b}, {0x1e2d, 0x1e2d}, {0x1e2f, 0x1e2f}, {0x1e31, 0x1e31},
+ {0x1e33, 0x1e33}, {0x1e35, 0x1e35}, {0x1e37, 0x1e37}, {0x1e39, 0x1e39},
+ {0x1e3b, 0x1e3b}, {0x1e3d, 0x1e3d}, {0x1e3f, 0x1e3f}, {0x1e41, 0x1e41},
+ {0x1e43, 0x1e43}, {0x1e45, 0x1e45}, {0x1e47, 0x1e47}, {0x1e49, 0x1e49},
+ {0x1e4b, 0x1e4b}, {0x1e4d, 0x1e4d}, {0x1e4f, 0x1e4f}, {0x1e51, 0x1e51},
+ {0x1e53, 0x1e53}, {0x1e55, 0x1e55}, {0x1e57, 0x1e57}, {0x1e59, 0x1e59},
+ {0x1e5b, 0x1e5b}, {0x1e5d, 0x1e5d}, {0x1e5f, 0x1e5f}, {0x1e61, 0x1e61},
+ {0x1e63, 0x1e63}, {0x1e65, 0x1e65}, {0x1e67, 0x1e67}, {0x1e69, 0x1e69},
+ {0x1e6b, 0x1e6b}, {0x1e6d, 0x1e6d}, {0x1e6f, 0x1e6f}, {0x1e71, 0x1e71},
+ {0x1e73, 0x1e73}, {0x1e75, 0x1e75}, {0x1e77, 0x1e77}, {0x1e79, 0x1e79},
+ {0x1e7b, 0x1e7b}, {0x1e7d, 0x1e7d}, {0x1e7f, 0x1e7f}, {0x1e81, 0x1e81},
+ {0x1e83, 0x1e83}, {0x1e85, 0x1e85}, {0x1e87, 0x1e87}, {0x1e89, 0x1e89},
+ {0x1e8b, 0x1e8b}, {0x1e8d, 0x1e8d}, {0x1e8f, 0x1e8f}, {0x1e91, 0x1e91},
+ {0x1e93, 0x1e93}, {0x1e95, 0x1e9b}, {0x1ea1, 0x1ea1}, {0x1ea3, 0x1ea3},
+ {0x1ea5, 0x1ea5}, {0x1ea7, 0x1ea7}, {0x1ea9, 0x1ea9}, {0x1eab, 0x1eab},
+ {0x1ead, 0x1ead}, {0x1eaf, 0x1eaf}, {0x1eb1, 0x1eb1}, {0x1eb3, 0x1eb3},
+ {0x1eb5, 0x1eb5}, {0x1eb7, 0x1eb7}, {0x1eb9, 0x1eb9}, {0x1ebb, 0x1ebb},
+ {0x1ebd, 0x1ebd}, {0x1ebf, 0x1ebf}, {0x1ec1, 0x1ec1}, {0x1ec3, 0x1ec3},
+ {0x1ec5, 0x1ec5}, {0x1ec7, 0x1ec7}, {0x1ec9, 0x1ec9}, {0x1ecb, 0x1ecb},
+ {0x1ecd, 0x1ecd}, {0x1ecf, 0x1ecf}, {0x1ed1, 0x1ed1}, {0x1ed3, 0x1ed3},
+ {0x1ed5, 0x1ed5}, {0x1ed7, 0x1ed7}, {0x1ed9, 0x1ed9}, {0x1edb, 0x1edb},
+ {0x1edd, 0x1edd}, {0x1edf, 0x1edf}, {0x1ee1, 0x1ee1}, {0x1ee3, 0x1ee3},
+ {0x1ee5, 0x1ee5}, {0x1ee7, 0x1ee7}, {0x1ee9, 0x1ee9}, {0x1eeb, 0x1eeb},
+ {0x1eed, 0x1eed}, {0x1eef, 0x1eef}, {0x1ef1, 0x1ef1}, {0x1ef3, 0x1ef3},
+ {0x1ef5, 0x1ef5}, {0x1ef7, 0x1ef7}, {0x1ef9, 0x1ef9}, {0x1f00, 0x1f07},
+ {0x1f10, 0x1f15}, {0x1f20, 0x1f27}, {0x1f30, 0x1f37}, {0x1f40, 0x1f45},
+ {0x1f50, 0x1f57}, {0x1f60, 0x1f67}, {0x1f70, 0x1f7d}, {0x1f80, 0x1f87},
+ {0x1f90, 0x1f97}, {0x1fa0, 0x1fa7}, {0x1fb0, 0x1fb4}, {0x1fb6, 0x1fb7},
+ {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fc7}, {0x1fd0, 0x1fd3},
+ {0x1fd6, 0x1fd7}, {0x1fe0, 0x1fe7}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ff7},
+ {0x2071, 0x2071}, {0x207f, 0x207f}, {0x210a, 0x210a}, {0x210e, 0x210f},
+ {0x2113, 0x2113}, {0x212f, 0x212f}, {0x2134, 0x2134}, {0x2139, 0x2139},
+ {0x213d, 0x213d}, {0x2146, 0x2149}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17},
{0xff41, 0xff5a} };
-static const xmlChLRange xmlLlL[] = {{0x10428, 0x1044f}, {0x1d41a, 0x1d433},
- {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, {0x1d482, 0x1d49b},
- {0x1d4b6, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3},
- {0x1d4c5, 0x1d4cf}, {0x1d4ea, 0x1d503}, {0x1d51e, 0x1d537},
- {0x1d552, 0x1d56b}, {0x1d586, 0x1d59f}, {0x1d5ba, 0x1d5d3},
- {0x1d5ee, 0x1d607}, {0x1d622, 0x1d63b}, {0x1d656, 0x1d66f},
- {0x1d68a, 0x1d6a3}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6e1},
- {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e},
- {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f},
+static const xmlChLRange xmlLlL[] = {{0x10428, 0x1044f}, {0x1d41a, 0x1d433},
+ {0x1d44e, 0x1d454}, {0x1d456, 0x1d467}, {0x1d482, 0x1d49b},
+ {0x1d4b6, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3},
+ {0x1d4c5, 0x1d4cf}, {0x1d4ea, 0x1d503}, {0x1d51e, 0x1d537},
+ {0x1d552, 0x1d56b}, {0x1d586, 0x1d59f}, {0x1d5ba, 0x1d5d3},
+ {0x1d5ee, 0x1d607}, {0x1d622, 0x1d63b}, {0x1d656, 0x1d66f},
+ {0x1d68a, 0x1d6a3}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6e1},
+ {0x1d6fc, 0x1d714}, {0x1d716, 0x1d71b}, {0x1d736, 0x1d74e},
+ {0x1d750, 0x1d755}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d78f},
{0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7c9} };
static xmlChRangeGroup xmlLlG = {396,28,xmlLlS,xmlLlL};
-static const xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1},
- {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x559, 0x559},
- {0x640, 0x640}, {0x6e5, 0x6e6}, {0xe46, 0xe46}, {0xec6, 0xec6},
- {0x17d7, 0x17d7}, {0x1843, 0x1843}, {0x1d2c, 0x1d61}, {0x3005, 0x3005},
- {0x3031, 0x3035}, {0x303b, 0x303b}, {0x309d, 0x309e}, {0x30fc, 0x30fe},
+static const xmlChSRange xmlLmS[] = {{0x2b0, 0x2c1}, {0x2c6, 0x2d1},
+ {0x2e0, 0x2e4}, {0x2ee, 0x2ee}, {0x37a, 0x37a}, {0x559, 0x559},
+ {0x640, 0x640}, {0x6e5, 0x6e6}, {0xe46, 0xe46}, {0xec6, 0xec6},
+ {0x17d7, 0x17d7}, {0x1843, 0x1843}, {0x1d2c, 0x1d61}, {0x3005, 0x3005},
+ {0x3031, 0x3035}, {0x303b, 0x303b}, {0x309d, 0x309e}, {0x30fc, 0x30fe},
{0xff70, 0xff70}, {0xff9e, 0xff9f} };
static xmlChRangeGroup xmlLmG = {20,0,xmlLmS,NULL};
-static const xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3},
- {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x641, 0x64a},
- {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6ee, 0x6ef},
- {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f},
- {0x74d, 0x74f}, {0x780, 0x7a5}, {0x7b1, 0x7b1}, {0x904, 0x939},
- {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x985, 0x98c},
- {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2},
- {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9dc, 0x9dd}, {0x9df, 0x9e1},
- {0x9f0, 0x9f1}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28},
- {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39},
- {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d},
- {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3},
- {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1},
- {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30},
- {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d},
- {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a},
- {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c},
- {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb5},
- {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28},
- {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, {0xc85, 0xc8c},
- {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9},
- {0xcbd, 0xcbd}, {0xcde, 0xcde}, {0xce0, 0xce1}, {0xd05, 0xd0c},
- {0xd0e, 0xd10}, {0xd12, 0xd28}, {0xd2a, 0xd39}, {0xd60, 0xd61},
- {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd},
- {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe45},
- {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe87, 0xe88}, {0xe8a, 0xe8a},
- {0xe8d, 0xe8d}, {0xe94, 0xe97}, {0xe99, 0xe9f}, {0xea1, 0xea3},
- {0xea5, 0xea5}, {0xea7, 0xea7}, {0xeaa, 0xeab}, {0xead, 0xeb0},
- {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xedc, 0xedd},
- {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b},
- {0x1000, 0x1021}, {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055},
- {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9},
- {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d},
- {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286},
- {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0},
- {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5},
- {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e},
- {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346},
- {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676},
- {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711},
- {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770},
- {0x1780, 0x17b3}, {0x17dc, 0x17dc}, {0x1820, 0x1842}, {0x1844, 0x1877},
- {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974},
- {0x2135, 0x2138}, {0x3006, 0x3006}, {0x303c, 0x303c}, {0x3041, 0x3096},
- {0x309f, 0x309f}, {0x30a1, 0x30fa}, {0x30ff, 0x30ff}, {0x3105, 0x312c},
- {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff}, {0x3400, 0x3400},
- {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5}, {0xa000, 0xa48c},
- {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d}, {0xfa30, 0xfa6a},
- {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c},
- {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1},
- {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb},
- {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff66, 0xff6f}, {0xff71, 0xff9d},
- {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7},
+static const xmlChSRange xmlLoS[] = {{0x1bb, 0x1bb}, {0x1c0, 0x1c3},
+ {0x5d0, 0x5ea}, {0x5f0, 0x5f2}, {0x621, 0x63a}, {0x641, 0x64a},
+ {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5}, {0x6ee, 0x6ef},
+ {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f},
+ {0x74d, 0x74f}, {0x780, 0x7a5}, {0x7b1, 0x7b1}, {0x904, 0x939},
+ {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961}, {0x985, 0x98c},
+ {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2},
+ {0x9b6, 0x9b9}, {0x9bd, 0x9bd}, {0x9dc, 0x9dd}, {0x9df, 0x9e1},
+ {0x9f0, 0x9f1}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28},
+ {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39},
+ {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d},
+ {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3},
+ {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1},
+ {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30},
+ {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d}, {0xb5c, 0xb5d},
+ {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a},
+ {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c},
+ {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb5},
+ {0xbb7, 0xbb9}, {0xc05, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28},
+ {0xc2a, 0xc33}, {0xc35, 0xc39}, {0xc60, 0xc61}, {0xc85, 0xc8c},
+ {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9},
+ {0xcbd, 0xcbd}, {0xcde, 0xcde}, {0xce0, 0xce1}, {0xd05, 0xd0c},
+ {0xd0e, 0xd10}, {0xd12, 0xd28}, {0xd2a, 0xd39}, {0xd60, 0xd61},
+ {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd},
+ {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe33}, {0xe40, 0xe45},
+ {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe87, 0xe88}, {0xe8a, 0xe8a},
+ {0xe8d, 0xe8d}, {0xe94, 0xe97}, {0xe99, 0xe9f}, {0xea1, 0xea3},
+ {0xea5, 0xea5}, {0xea7, 0xea7}, {0xeaa, 0xeab}, {0xead, 0xeb0},
+ {0xeb2, 0xeb3}, {0xebd, 0xebd}, {0xec0, 0xec4}, {0xedc, 0xedd},
+ {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6a}, {0xf88, 0xf8b},
+ {0x1000, 0x1021}, {0x1023, 0x1027}, {0x1029, 0x102a}, {0x1050, 0x1055},
+ {0x10d0, 0x10f8}, {0x1100, 0x1159}, {0x115f, 0x11a2}, {0x11a8, 0x11f9},
+ {0x1200, 0x1206}, {0x1208, 0x1246}, {0x1248, 0x1248}, {0x124a, 0x124d},
+ {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1286},
+ {0x1288, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12ae}, {0x12b0, 0x12b0},
+ {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5},
+ {0x12c8, 0x12ce}, {0x12d0, 0x12d6}, {0x12d8, 0x12ee}, {0x12f0, 0x130e},
+ {0x1310, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x131e}, {0x1320, 0x1346},
+ {0x1348, 0x135a}, {0x13a0, 0x13f4}, {0x1401, 0x166c}, {0x166f, 0x1676},
+ {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x1700, 0x170c}, {0x170e, 0x1711},
+ {0x1720, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c}, {0x176e, 0x1770},
+ {0x1780, 0x17b3}, {0x17dc, 0x17dc}, {0x1820, 0x1842}, {0x1844, 0x1877},
+ {0x1880, 0x18a8}, {0x1900, 0x191c}, {0x1950, 0x196d}, {0x1970, 0x1974},
+ {0x2135, 0x2138}, {0x3006, 0x3006}, {0x303c, 0x303c}, {0x3041, 0x3096},
+ {0x309f, 0x309f}, {0x30a1, 0x30fa}, {0x30ff, 0x30ff}, {0x3105, 0x312c},
+ {0x3131, 0x318e}, {0x31a0, 0x31b7}, {0x31f0, 0x31ff}, {0x3400, 0x3400},
+ {0x4db5, 0x4db5}, {0x4e00, 0x4e00}, {0x9fa5, 0x9fa5}, {0xa000, 0xa48c},
+ {0xac00, 0xac00}, {0xd7a3, 0xd7a3}, {0xf900, 0xfa2d}, {0xfa30, 0xfa6a},
+ {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c},
+ {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1},
+ {0xfbd3, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdfb},
+ {0xfe70, 0xfe74}, {0xfe76, 0xfefc}, {0xff66, 0xff6f}, {0xff71, 0xff9d},
+ {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7},
{0xffda, 0xffdc} };
-static const xmlChLRange xmlLoL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026},
- {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d},
- {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e},
- {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10450, 0x1049d},
- {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835},
- {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f},
+static const xmlChLRange xmlLoL[] = {{0x10000, 0x1000b}, {0x1000d, 0x10026},
+ {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d},
+ {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10300, 0x1031e},
+ {0x10330, 0x10349}, {0x10380, 0x1039d}, {0x10450, 0x1049d},
+ {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835},
+ {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x1083f},
{0x20000, 0x20000}, {0x2a6d6, 0x2a6d6}, {0x2f800, 0x2fa1d} };
static xmlChRangeGroup xmlLoG = {211,20,xmlLoS,xmlLoL};
-static const xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8},
- {0x1cb, 0x1cb}, {0x1f2, 0x1f2}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f},
+static const xmlChSRange xmlLtS[] = {{0x1c5, 0x1c5}, {0x1c8, 0x1c8},
+ {0x1cb, 0x1cb}, {0x1f2, 0x1f2}, {0x1f88, 0x1f8f}, {0x1f98, 0x1f9f},
{0x1fa8, 0x1faf}, {0x1fbc, 0x1fbc}, {0x1fcc, 0x1fcc}, {0x1ffc, 0x1ffc} };
static xmlChRangeGroup xmlLtG = {10,0,xmlLtS,NULL};
-static const xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6},
- {0xd8, 0xde}, {0x100, 0x100}, {0x102, 0x102}, {0x104, 0x104},
- {0x106, 0x106}, {0x108, 0x108}, {0x10a, 0x10a}, {0x10c, 0x10c},
- {0x10e, 0x10e}, {0x110, 0x110}, {0x112, 0x112}, {0x114, 0x114},
- {0x116, 0x116}, {0x118, 0x118}, {0x11a, 0x11a}, {0x11c, 0x11c},
- {0x11e, 0x11e}, {0x120, 0x120}, {0x122, 0x122}, {0x124, 0x124},
- {0x126, 0x126}, {0x128, 0x128}, {0x12a, 0x12a}, {0x12c, 0x12c},
- {0x12e, 0x12e}, {0x130, 0x130}, {0x132, 0x132}, {0x134, 0x134},
- {0x136, 0x136}, {0x139, 0x139}, {0x13b, 0x13b}, {0x13d, 0x13d},
- {0x13f, 0x13f}, {0x141, 0x141}, {0x143, 0x143}, {0x145, 0x145},
- {0x147, 0x147}, {0x14a, 0x14a}, {0x14c, 0x14c}, {0x14e, 0x14e},
- {0x150, 0x150}, {0x152, 0x152}, {0x154, 0x154}, {0x156, 0x156},
- {0x158, 0x158}, {0x15a, 0x15a}, {0x15c, 0x15c}, {0x15e, 0x15e},
- {0x160, 0x160}, {0x162, 0x162}, {0x164, 0x164}, {0x166, 0x166},
- {0x168, 0x168}, {0x16a, 0x16a}, {0x16c, 0x16c}, {0x16e, 0x16e},
- {0x170, 0x170}, {0x172, 0x172}, {0x174, 0x174}, {0x176, 0x176},
- {0x178, 0x179}, {0x17b, 0x17b}, {0x17d, 0x17d}, {0x181, 0x182},
- {0x184, 0x184}, {0x186, 0x187}, {0x189, 0x18b}, {0x18e, 0x191},
- {0x193, 0x194}, {0x196, 0x198}, {0x19c, 0x19d}, {0x19f, 0x1a0},
- {0x1a2, 0x1a2}, {0x1a4, 0x1a4}, {0x1a6, 0x1a7}, {0x1a9, 0x1a9},
- {0x1ac, 0x1ac}, {0x1ae, 0x1af}, {0x1b1, 0x1b3}, {0x1b5, 0x1b5},
- {0x1b7, 0x1b8}, {0x1bc, 0x1bc}, {0x1c4, 0x1c4}, {0x1c7, 0x1c7},
- {0x1ca, 0x1ca}, {0x1cd, 0x1cd}, {0x1cf, 0x1cf}, {0x1d1, 0x1d1},
- {0x1d3, 0x1d3}, {0x1d5, 0x1d5}, {0x1d7, 0x1d7}, {0x1d9, 0x1d9},
- {0x1db, 0x1db}, {0x1de, 0x1de}, {0x1e0, 0x1e0}, {0x1e2, 0x1e2},
- {0x1e4, 0x1e4}, {0x1e6, 0x1e6}, {0x1e8, 0x1e8}, {0x1ea, 0x1ea},
- {0x1ec, 0x1ec}, {0x1ee, 0x1ee}, {0x1f1, 0x1f1}, {0x1f4, 0x1f4},
- {0x1f6, 0x1f8}, {0x1fa, 0x1fa}, {0x1fc, 0x1fc}, {0x1fe, 0x1fe},
- {0x200, 0x200}, {0x202, 0x202}, {0x204, 0x204}, {0x206, 0x206},
- {0x208, 0x208}, {0x20a, 0x20a}, {0x20c, 0x20c}, {0x20e, 0x20e},
- {0x210, 0x210}, {0x212, 0x212}, {0x214, 0x214}, {0x216, 0x216},
- {0x218, 0x218}, {0x21a, 0x21a}, {0x21c, 0x21c}, {0x21e, 0x21e},
- {0x220, 0x220}, {0x222, 0x222}, {0x224, 0x224}, {0x226, 0x226},
- {0x228, 0x228}, {0x22a, 0x22a}, {0x22c, 0x22c}, {0x22e, 0x22e},
- {0x230, 0x230}, {0x232, 0x232}, {0x386, 0x386}, {0x388, 0x38a},
- {0x38c, 0x38c}, {0x38e, 0x38f}, {0x391, 0x3a1}, {0x3a3, 0x3ab},
- {0x3d2, 0x3d4}, {0x3d8, 0x3d8}, {0x3da, 0x3da}, {0x3dc, 0x3dc},
- {0x3de, 0x3de}, {0x3e0, 0x3e0}, {0x3e2, 0x3e2}, {0x3e4, 0x3e4},
- {0x3e6, 0x3e6}, {0x3e8, 0x3e8}, {0x3ea, 0x3ea}, {0x3ec, 0x3ec},
- {0x3ee, 0x3ee}, {0x3f4, 0x3f4}, {0x3f7, 0x3f7}, {0x3f9, 0x3fa},
- {0x400, 0x42f}, {0x460, 0x460}, {0x462, 0x462}, {0x464, 0x464},
- {0x466, 0x466}, {0x468, 0x468}, {0x46a, 0x46a}, {0x46c, 0x46c},
- {0x46e, 0x46e}, {0x470, 0x470}, {0x472, 0x472}, {0x474, 0x474},
- {0x476, 0x476}, {0x478, 0x478}, {0x47a, 0x47a}, {0x47c, 0x47c},
- {0x47e, 0x47e}, {0x480, 0x480}, {0x48a, 0x48a}, {0x48c, 0x48c},
- {0x48e, 0x48e}, {0x490, 0x490}, {0x492, 0x492}, {0x494, 0x494},
- {0x496, 0x496}, {0x498, 0x498}, {0x49a, 0x49a}, {0x49c, 0x49c},
- {0x49e, 0x49e}, {0x4a0, 0x4a0}, {0x4a2, 0x4a2}, {0x4a4, 0x4a4},
- {0x4a6, 0x4a6}, {0x4a8, 0x4a8}, {0x4aa, 0x4aa}, {0x4ac, 0x4ac},
- {0x4ae, 0x4ae}, {0x4b0, 0x4b0}, {0x4b2, 0x4b2}, {0x4b4, 0x4b4},
- {0x4b6, 0x4b6}, {0x4b8, 0x4b8}, {0x4ba, 0x4ba}, {0x4bc, 0x4bc},
- {0x4be, 0x4be}, {0x4c0, 0x4c1}, {0x4c3, 0x4c3}, {0x4c5, 0x4c5},
- {0x4c7, 0x4c7}, {0x4c9, 0x4c9}, {0x4cb, 0x4cb}, {0x4cd, 0x4cd},
- {0x4d0, 0x4d0}, {0x4d2, 0x4d2}, {0x4d4, 0x4d4}, {0x4d6, 0x4d6},
- {0x4d8, 0x4d8}, {0x4da, 0x4da}, {0x4dc, 0x4dc}, {0x4de, 0x4de},
- {0x4e0, 0x4e0}, {0x4e2, 0x4e2}, {0x4e4, 0x4e4}, {0x4e6, 0x4e6},
- {0x4e8, 0x4e8}, {0x4ea, 0x4ea}, {0x4ec, 0x4ec}, {0x4ee, 0x4ee},
- {0x4f0, 0x4f0}, {0x4f2, 0x4f2}, {0x4f4, 0x4f4}, {0x4f8, 0x4f8},
- {0x500, 0x500}, {0x502, 0x502}, {0x504, 0x504}, {0x506, 0x506},
- {0x508, 0x508}, {0x50a, 0x50a}, {0x50c, 0x50c}, {0x50e, 0x50e},
- {0x531, 0x556}, {0x10a0, 0x10c5}, {0x1e00, 0x1e00}, {0x1e02, 0x1e02},
- {0x1e04, 0x1e04}, {0x1e06, 0x1e06}, {0x1e08, 0x1e08}, {0x1e0a, 0x1e0a},
- {0x1e0c, 0x1e0c}, {0x1e0e, 0x1e0e}, {0x1e10, 0x1e10}, {0x1e12, 0x1e12},
- {0x1e14, 0x1e14}, {0x1e16, 0x1e16}, {0x1e18, 0x1e18}, {0x1e1a, 0x1e1a},
- {0x1e1c, 0x1e1c}, {0x1e1e, 0x1e1e}, {0x1e20, 0x1e20}, {0x1e22, 0x1e22},
- {0x1e24, 0x1e24}, {0x1e26, 0x1e26}, {0x1e28, 0x1e28}, {0x1e2a, 0x1e2a},
- {0x1e2c, 0x1e2c}, {0x1e2e, 0x1e2e}, {0x1e30, 0x1e30}, {0x1e32, 0x1e32},
- {0x1e34, 0x1e34}, {0x1e36, 0x1e36}, {0x1e38, 0x1e38}, {0x1e3a, 0x1e3a},
- {0x1e3c, 0x1e3c}, {0x1e3e, 0x1e3e}, {0x1e40, 0x1e40}, {0x1e42, 0x1e42},
- {0x1e44, 0x1e44}, {0x1e46, 0x1e46}, {0x1e48, 0x1e48}, {0x1e4a, 0x1e4a},
- {0x1e4c, 0x1e4c}, {0x1e4e, 0x1e4e}, {0x1e50, 0x1e50}, {0x1e52, 0x1e52},
- {0x1e54, 0x1e54}, {0x1e56, 0x1e56}, {0x1e58, 0x1e58}, {0x1e5a, 0x1e5a},
- {0x1e5c, 0x1e5c}, {0x1e5e, 0x1e5e}, {0x1e60, 0x1e60}, {0x1e62, 0x1e62},
- {0x1e64, 0x1e64}, {0x1e66, 0x1e66}, {0x1e68, 0x1e68}, {0x1e6a, 0x1e6a},
- {0x1e6c, 0x1e6c}, {0x1e6e, 0x1e6e}, {0x1e70, 0x1e70}, {0x1e72, 0x1e72},
- {0x1e74, 0x1e74}, {0x1e76, 0x1e76}, {0x1e78, 0x1e78}, {0x1e7a, 0x1e7a},
- {0x1e7c, 0x1e7c}, {0x1e7e, 0x1e7e}, {0x1e80, 0x1e80}, {0x1e82, 0x1e82},
- {0x1e84, 0x1e84}, {0x1e86, 0x1e86}, {0x1e88, 0x1e88}, {0x1e8a, 0x1e8a},
- {0x1e8c, 0x1e8c}, {0x1e8e, 0x1e8e}, {0x1e90, 0x1e90}, {0x1e92, 0x1e92},
- {0x1e94, 0x1e94}, {0x1ea0, 0x1ea0}, {0x1ea2, 0x1ea2}, {0x1ea4, 0x1ea4},
- {0x1ea6, 0x1ea6}, {0x1ea8, 0x1ea8}, {0x1eaa, 0x1eaa}, {0x1eac, 0x1eac},
- {0x1eae, 0x1eae}, {0x1eb0, 0x1eb0}, {0x1eb2, 0x1eb2}, {0x1eb4, 0x1eb4},
- {0x1eb6, 0x1eb6}, {0x1eb8, 0x1eb8}, {0x1eba, 0x1eba}, {0x1ebc, 0x1ebc},
- {0x1ebe, 0x1ebe}, {0x1ec0, 0x1ec0}, {0x1ec2, 0x1ec2}, {0x1ec4, 0x1ec4},
- {0x1ec6, 0x1ec6}, {0x1ec8, 0x1ec8}, {0x1eca, 0x1eca}, {0x1ecc, 0x1ecc},
- {0x1ece, 0x1ece}, {0x1ed0, 0x1ed0}, {0x1ed2, 0x1ed2}, {0x1ed4, 0x1ed4},
- {0x1ed6, 0x1ed6}, {0x1ed8, 0x1ed8}, {0x1eda, 0x1eda}, {0x1edc, 0x1edc},
- {0x1ede, 0x1ede}, {0x1ee0, 0x1ee0}, {0x1ee2, 0x1ee2}, {0x1ee4, 0x1ee4},
- {0x1ee6, 0x1ee6}, {0x1ee8, 0x1ee8}, {0x1eea, 0x1eea}, {0x1eec, 0x1eec},
- {0x1eee, 0x1eee}, {0x1ef0, 0x1ef0}, {0x1ef2, 0x1ef2}, {0x1ef4, 0x1ef4},
- {0x1ef6, 0x1ef6}, {0x1ef8, 0x1ef8}, {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d},
- {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, {0x1f59, 0x1f59},
- {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f5f}, {0x1f68, 0x1f6f},
- {0x1fb8, 0x1fbb}, {0x1fc8, 0x1fcb}, {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec},
- {0x1ff8, 0x1ffb}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210b, 0x210d},
- {0x2110, 0x2112}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124},
- {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x212d}, {0x2130, 0x2131},
+static const xmlChSRange xmlLuS[] = {{0x41, 0x5a}, {0xc0, 0xd6},
+ {0xd8, 0xde}, {0x100, 0x100}, {0x102, 0x102}, {0x104, 0x104},
+ {0x106, 0x106}, {0x108, 0x108}, {0x10a, 0x10a}, {0x10c, 0x10c},
+ {0x10e, 0x10e}, {0x110, 0x110}, {0x112, 0x112}, {0x114, 0x114},
+ {0x116, 0x116}, {0x118, 0x118}, {0x11a, 0x11a}, {0x11c, 0x11c},
+ {0x11e, 0x11e}, {0x120, 0x120}, {0x122, 0x122}, {0x124, 0x124},
+ {0x126, 0x126}, {0x128, 0x128}, {0x12a, 0x12a}, {0x12c, 0x12c},
+ {0x12e, 0x12e}, {0x130, 0x130}, {0x132, 0x132}, {0x134, 0x134},
+ {0x136, 0x136}, {0x139, 0x139}, {0x13b, 0x13b}, {0x13d, 0x13d},
+ {0x13f, 0x13f}, {0x141, 0x141}, {0x143, 0x143}, {0x145, 0x145},
+ {0x147, 0x147}, {0x14a, 0x14a}, {0x14c, 0x14c}, {0x14e, 0x14e},
+ {0x150, 0x150}, {0x152, 0x152}, {0x154, 0x154}, {0x156, 0x156},
+ {0x158, 0x158}, {0x15a, 0x15a}, {0x15c, 0x15c}, {0x15e, 0x15e},
+ {0x160, 0x160}, {0x162, 0x162}, {0x164, 0x164}, {0x166, 0x166},
+ {0x168, 0x168}, {0x16a, 0x16a}, {0x16c, 0x16c}, {0x16e, 0x16e},
+ {0x170, 0x170}, {0x172, 0x172}, {0x174, 0x174}, {0x176, 0x176},
+ {0x178, 0x179}, {0x17b, 0x17b}, {0x17d, 0x17d}, {0x181, 0x182},
+ {0x184, 0x184}, {0x186, 0x187}, {0x189, 0x18b}, {0x18e, 0x191},
+ {0x193, 0x194}, {0x196, 0x198}, {0x19c, 0x19d}, {0x19f, 0x1a0},
+ {0x1a2, 0x1a2}, {0x1a4, 0x1a4}, {0x1a6, 0x1a7}, {0x1a9, 0x1a9},
+ {0x1ac, 0x1ac}, {0x1ae, 0x1af}, {0x1b1, 0x1b3}, {0x1b5, 0x1b5},
+ {0x1b7, 0x1b8}, {0x1bc, 0x1bc}, {0x1c4, 0x1c4}, {0x1c7, 0x1c7},
+ {0x1ca, 0x1ca}, {0x1cd, 0x1cd}, {0x1cf, 0x1cf}, {0x1d1, 0x1d1},
+ {0x1d3, 0x1d3}, {0x1d5, 0x1d5}, {0x1d7, 0x1d7}, {0x1d9, 0x1d9},
+ {0x1db, 0x1db}, {0x1de, 0x1de}, {0x1e0, 0x1e0}, {0x1e2, 0x1e2},
+ {0x1e4, 0x1e4}, {0x1e6, 0x1e6}, {0x1e8, 0x1e8}, {0x1ea, 0x1ea},
+ {0x1ec, 0x1ec}, {0x1ee, 0x1ee}, {0x1f1, 0x1f1}, {0x1f4, 0x1f4},
+ {0x1f6, 0x1f8}, {0x1fa, 0x1fa}, {0x1fc, 0x1fc}, {0x1fe, 0x1fe},
+ {0x200, 0x200}, {0x202, 0x202}, {0x204, 0x204}, {0x206, 0x206},
+ {0x208, 0x208}, {0x20a, 0x20a}, {0x20c, 0x20c}, {0x20e, 0x20e},
+ {0x210, 0x210}, {0x212, 0x212}, {0x214, 0x214}, {0x216, 0x216},
+ {0x218, 0x218}, {0x21a, 0x21a}, {0x21c, 0x21c}, {0x21e, 0x21e},
+ {0x220, 0x220}, {0x222, 0x222}, {0x224, 0x224}, {0x226, 0x226},
+ {0x228, 0x228}, {0x22a, 0x22a}, {0x22c, 0x22c}, {0x22e, 0x22e},
+ {0x230, 0x230}, {0x232, 0x232}, {0x386, 0x386}, {0x388, 0x38a},
+ {0x38c, 0x38c}, {0x38e, 0x38f}, {0x391, 0x3a1}, {0x3a3, 0x3ab},
+ {0x3d2, 0x3d4}, {0x3d8, 0x3d8}, {0x3da, 0x3da}, {0x3dc, 0x3dc},
+ {0x3de, 0x3de}, {0x3e0, 0x3e0}, {0x3e2, 0x3e2}, {0x3e4, 0x3e4},
+ {0x3e6, 0x3e6}, {0x3e8, 0x3e8}, {0x3ea, 0x3ea}, {0x3ec, 0x3ec},
+ {0x3ee, 0x3ee}, {0x3f4, 0x3f4}, {0x3f7, 0x3f7}, {0x3f9, 0x3fa},
+ {0x400, 0x42f}, {0x460, 0x460}, {0x462, 0x462}, {0x464, 0x464},
+ {0x466, 0x466}, {0x468, 0x468}, {0x46a, 0x46a}, {0x46c, 0x46c},
+ {0x46e, 0x46e}, {0x470, 0x470}, {0x472, 0x472}, {0x474, 0x474},
+ {0x476, 0x476}, {0x478, 0x478}, {0x47a, 0x47a}, {0x47c, 0x47c},
+ {0x47e, 0x47e}, {0x480, 0x480}, {0x48a, 0x48a}, {0x48c, 0x48c},
+ {0x48e, 0x48e}, {0x490, 0x490}, {0x492, 0x492}, {0x494, 0x494},
+ {0x496, 0x496}, {0x498, 0x498}, {0x49a, 0x49a}, {0x49c, 0x49c},
+ {0x49e, 0x49e}, {0x4a0, 0x4a0}, {0x4a2, 0x4a2}, {0x4a4, 0x4a4},
+ {0x4a6, 0x4a6}, {0x4a8, 0x4a8}, {0x4aa, 0x4aa}, {0x4ac, 0x4ac},
+ {0x4ae, 0x4ae}, {0x4b0, 0x4b0}, {0x4b2, 0x4b2}, {0x4b4, 0x4b4},
+ {0x4b6, 0x4b6}, {0x4b8, 0x4b8}, {0x4ba, 0x4ba}, {0x4bc, 0x4bc},
+ {0x4be, 0x4be}, {0x4c0, 0x4c1}, {0x4c3, 0x4c3}, {0x4c5, 0x4c5},
+ {0x4c7, 0x4c7}, {0x4c9, 0x4c9}, {0x4cb, 0x4cb}, {0x4cd, 0x4cd},
+ {0x4d0, 0x4d0}, {0x4d2, 0x4d2}, {0x4d4, 0x4d4}, {0x4d6, 0x4d6},
+ {0x4d8, 0x4d8}, {0x4da, 0x4da}, {0x4dc, 0x4dc}, {0x4de, 0x4de},
+ {0x4e0, 0x4e0}, {0x4e2, 0x4e2}, {0x4e4, 0x4e4}, {0x4e6, 0x4e6},
+ {0x4e8, 0x4e8}, {0x4ea, 0x4ea}, {0x4ec, 0x4ec}, {0x4ee, 0x4ee},
+ {0x4f0, 0x4f0}, {0x4f2, 0x4f2}, {0x4f4, 0x4f4}, {0x4f8, 0x4f8},
+ {0x500, 0x500}, {0x502, 0x502}, {0x504, 0x504}, {0x506, 0x506},
+ {0x508, 0x508}, {0x50a, 0x50a}, {0x50c, 0x50c}, {0x50e, 0x50e},
+ {0x531, 0x556}, {0x10a0, 0x10c5}, {0x1e00, 0x1e00}, {0x1e02, 0x1e02},
+ {0x1e04, 0x1e04}, {0x1e06, 0x1e06}, {0x1e08, 0x1e08}, {0x1e0a, 0x1e0a},
+ {0x1e0c, 0x1e0c}, {0x1e0e, 0x1e0e}, {0x1e10, 0x1e10}, {0x1e12, 0x1e12},
+ {0x1e14, 0x1e14}, {0x1e16, 0x1e16}, {0x1e18, 0x1e18}, {0x1e1a, 0x1e1a},
+ {0x1e1c, 0x1e1c}, {0x1e1e, 0x1e1e}, {0x1e20, 0x1e20}, {0x1e22, 0x1e22},
+ {0x1e24, 0x1e24}, {0x1e26, 0x1e26}, {0x1e28, 0x1e28}, {0x1e2a, 0x1e2a},
+ {0x1e2c, 0x1e2c}, {0x1e2e, 0x1e2e}, {0x1e30, 0x1e30}, {0x1e32, 0x1e32},
+ {0x1e34, 0x1e34}, {0x1e36, 0x1e36}, {0x1e38, 0x1e38}, {0x1e3a, 0x1e3a},
+ {0x1e3c, 0x1e3c}, {0x1e3e, 0x1e3e}, {0x1e40, 0x1e40}, {0x1e42, 0x1e42},
+ {0x1e44, 0x1e44}, {0x1e46, 0x1e46}, {0x1e48, 0x1e48}, {0x1e4a, 0x1e4a},
+ {0x1e4c, 0x1e4c}, {0x1e4e, 0x1e4e}, {0x1e50, 0x1e50}, {0x1e52, 0x1e52},
+ {0x1e54, 0x1e54}, {0x1e56, 0x1e56}, {0x1e58, 0x1e58}, {0x1e5a, 0x1e5a},
+ {0x1e5c, 0x1e5c}, {0x1e5e, 0x1e5e}, {0x1e60, 0x1e60}, {0x1e62, 0x1e62},
+ {0x1e64, 0x1e64}, {0x1e66, 0x1e66}, {0x1e68, 0x1e68}, {0x1e6a, 0x1e6a},
+ {0x1e6c, 0x1e6c}, {0x1e6e, 0x1e6e}, {0x1e70, 0x1e70}, {0x1e72, 0x1e72},
+ {0x1e74, 0x1e74}, {0x1e76, 0x1e76}, {0x1e78, 0x1e78}, {0x1e7a, 0x1e7a},
+ {0x1e7c, 0x1e7c}, {0x1e7e, 0x1e7e}, {0x1e80, 0x1e80}, {0x1e82, 0x1e82},
+ {0x1e84, 0x1e84}, {0x1e86, 0x1e86}, {0x1e88, 0x1e88}, {0x1e8a, 0x1e8a},
+ {0x1e8c, 0x1e8c}, {0x1e8e, 0x1e8e}, {0x1e90, 0x1e90}, {0x1e92, 0x1e92},
+ {0x1e94, 0x1e94}, {0x1ea0, 0x1ea0}, {0x1ea2, 0x1ea2}, {0x1ea4, 0x1ea4},
+ {0x1ea6, 0x1ea6}, {0x1ea8, 0x1ea8}, {0x1eaa, 0x1eaa}, {0x1eac, 0x1eac},
+ {0x1eae, 0x1eae}, {0x1eb0, 0x1eb0}, {0x1eb2, 0x1eb2}, {0x1eb4, 0x1eb4},
+ {0x1eb6, 0x1eb6}, {0x1eb8, 0x1eb8}, {0x1eba, 0x1eba}, {0x1ebc, 0x1ebc},
+ {0x1ebe, 0x1ebe}, {0x1ec0, 0x1ec0}, {0x1ec2, 0x1ec2}, {0x1ec4, 0x1ec4},
+ {0x1ec6, 0x1ec6}, {0x1ec8, 0x1ec8}, {0x1eca, 0x1eca}, {0x1ecc, 0x1ecc},
+ {0x1ece, 0x1ece}, {0x1ed0, 0x1ed0}, {0x1ed2, 0x1ed2}, {0x1ed4, 0x1ed4},
+ {0x1ed6, 0x1ed6}, {0x1ed8, 0x1ed8}, {0x1eda, 0x1eda}, {0x1edc, 0x1edc},
+ {0x1ede, 0x1ede}, {0x1ee0, 0x1ee0}, {0x1ee2, 0x1ee2}, {0x1ee4, 0x1ee4},
+ {0x1ee6, 0x1ee6}, {0x1ee8, 0x1ee8}, {0x1eea, 0x1eea}, {0x1eec, 0x1eec},
+ {0x1eee, 0x1eee}, {0x1ef0, 0x1ef0}, {0x1ef2, 0x1ef2}, {0x1ef4, 0x1ef4},
+ {0x1ef6, 0x1ef6}, {0x1ef8, 0x1ef8}, {0x1f08, 0x1f0f}, {0x1f18, 0x1f1d},
+ {0x1f28, 0x1f2f}, {0x1f38, 0x1f3f}, {0x1f48, 0x1f4d}, {0x1f59, 0x1f59},
+ {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f5f}, {0x1f68, 0x1f6f},
+ {0x1fb8, 0x1fbb}, {0x1fc8, 0x1fcb}, {0x1fd8, 0x1fdb}, {0x1fe8, 0x1fec},
+ {0x1ff8, 0x1ffb}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210b, 0x210d},
+ {0x2110, 0x2112}, {0x2115, 0x2115}, {0x2119, 0x211d}, {0x2124, 0x2124},
+ {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x212d}, {0x2130, 0x2131},
{0x2133, 0x2133}, {0x213e, 0x213f}, {0x2145, 0x2145}, {0xff21, 0xff3a} };
-static const xmlChLRange xmlLuL[] = {{0x10400, 0x10427}, {0x1d400, 0x1d419},
- {0x1d434, 0x1d44d}, {0x1d468, 0x1d481}, {0x1d49c, 0x1d49c},
- {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6},
- {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9},
- {0x1d504, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514},
- {0x1d516, 0x1d51c}, {0x1d538, 0x1d539}, {0x1d53b, 0x1d53e},
- {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550},
- {0x1d56c, 0x1d585}, {0x1d5a0, 0x1d5b9}, {0x1d5d4, 0x1d5ed},
- {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689},
- {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734},
+static const xmlChLRange xmlLuL[] = {{0x10400, 0x10427}, {0x1d400, 0x1d419},
+ {0x1d434, 0x1d44d}, {0x1d468, 0x1d481}, {0x1d49c, 0x1d49c},
+ {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6},
+ {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b5}, {0x1d4d0, 0x1d4e9},
+ {0x1d504, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514},
+ {0x1d516, 0x1d51c}, {0x1d538, 0x1d539}, {0x1d53b, 0x1d53e},
+ {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550},
+ {0x1d56c, 0x1d585}, {0x1d5a0, 0x1d5b9}, {0x1d5d4, 0x1d5ed},
+ {0x1d608, 0x1d621}, {0x1d63c, 0x1d655}, {0x1d670, 0x1d689},
+ {0x1d6a8, 0x1d6c0}, {0x1d6e2, 0x1d6fa}, {0x1d71c, 0x1d734},
{0x1d756, 0x1d76e}, {0x1d790, 0x1d7a8} };
static xmlChRangeGroup xmlLuG = {390,31,xmlLuS,xmlLuL};
-static const xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f},
- {0x483, 0x486}, {0x488, 0x489}, {0x591, 0x5a1}, {0x5a3, 0x5b9},
- {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4},
- {0x610, 0x615}, {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc},
- {0x6de, 0x6e4}, {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711},
- {0x730, 0x74a}, {0x7a6, 0x7b0}, {0x901, 0x903}, {0x93c, 0x93c},
- {0x93e, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x983},
- {0x9bc, 0x9bc}, {0x9be, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9cd},
- {0x9d7, 0x9d7}, {0x9e2, 0x9e3}, {0xa01, 0xa03}, {0xa3c, 0xa3c},
- {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa70, 0xa71},
- {0xa81, 0xa83}, {0xabc, 0xabc}, {0xabe, 0xac5}, {0xac7, 0xac9},
- {0xacb, 0xacd}, {0xae2, 0xae3}, {0xb01, 0xb03}, {0xb3c, 0xb3c},
- {0xb3e, 0xb43}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb56, 0xb57},
- {0xb82, 0xb82}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd},
- {0xbd7, 0xbd7}, {0xc01, 0xc03}, {0xc3e, 0xc44}, {0xc46, 0xc48},
- {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc82, 0xc83}, {0xcbc, 0xcbc},
- {0xcbe, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6},
- {0xd02, 0xd03}, {0xd3e, 0xd43}, {0xd46, 0xd48}, {0xd4a, 0xd4d},
- {0xd57, 0xd57}, {0xd82, 0xd83}, {0xdca, 0xdca}, {0xdcf, 0xdd4},
- {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xdf2, 0xdf3}, {0xe31, 0xe31},
- {0xe34, 0xe3a}, {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9},
- {0xebb, 0xebc}, {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35},
- {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf3f}, {0xf71, 0xf84},
- {0xf86, 0xf87}, {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6},
- {0x102c, 0x1032}, {0x1036, 0x1039}, {0x1056, 0x1059}, {0x1712, 0x1714},
- {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, {0x17b6, 0x17d3},
- {0x17dd, 0x17dd}, {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x192b},
- {0x1930, 0x193b}, {0x20d0, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a},
+static const xmlChSRange xmlMS[] = {{0x300, 0x357}, {0x35d, 0x36f},
+ {0x483, 0x486}, {0x488, 0x489}, {0x591, 0x5a1}, {0x5a3, 0x5b9},
+ {0x5bb, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4},
+ {0x610, 0x615}, {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc},
+ {0x6de, 0x6e4}, {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711},
+ {0x730, 0x74a}, {0x7a6, 0x7b0}, {0x901, 0x903}, {0x93c, 0x93c},
+ {0x93e, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x983},
+ {0x9bc, 0x9bc}, {0x9be, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9cd},
+ {0x9d7, 0x9d7}, {0x9e2, 0x9e3}, {0xa01, 0xa03}, {0xa3c, 0xa3c},
+ {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa70, 0xa71},
+ {0xa81, 0xa83}, {0xabc, 0xabc}, {0xabe, 0xac5}, {0xac7, 0xac9},
+ {0xacb, 0xacd}, {0xae2, 0xae3}, {0xb01, 0xb03}, {0xb3c, 0xb3c},
+ {0xb3e, 0xb43}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, {0xb56, 0xb57},
+ {0xb82, 0xb82}, {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd},
+ {0xbd7, 0xbd7}, {0xc01, 0xc03}, {0xc3e, 0xc44}, {0xc46, 0xc48},
+ {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc82, 0xc83}, {0xcbc, 0xcbc},
+ {0xcbe, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6},
+ {0xd02, 0xd03}, {0xd3e, 0xd43}, {0xd46, 0xd48}, {0xd4a, 0xd4d},
+ {0xd57, 0xd57}, {0xd82, 0xd83}, {0xdca, 0xdca}, {0xdcf, 0xdd4},
+ {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xdf2, 0xdf3}, {0xe31, 0xe31},
+ {0xe34, 0xe3a}, {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9},
+ {0xebb, 0xebc}, {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35},
+ {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf3f}, {0xf71, 0xf84},
+ {0xf86, 0xf87}, {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6},
+ {0x102c, 0x1032}, {0x1036, 0x1039}, {0x1056, 0x1059}, {0x1712, 0x1714},
+ {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, {0x17b6, 0x17d3},
+ {0x17dd, 0x17dd}, {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x192b},
+ {0x1930, 0x193b}, {0x20d0, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a},
{0xfb1e, 0xfb1e}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe23} };
-static const xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172},
- {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad},
+static const xmlChLRange xmlML[] = {{0x1d165, 0x1d169}, {0x1d16d, 0x1d172},
+ {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad},
{0xe0100, 0xe01ef} };
static xmlChRangeGroup xmlMG = {113,6,xmlMS,xmlML};
-static const xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940},
- {0x949, 0x94c}, {0x982, 0x983}, {0x9be, 0x9c0}, {0x9c7, 0x9c8},
- {0x9cb, 0x9cc}, {0x9d7, 0x9d7}, {0xa03, 0xa03}, {0xa3e, 0xa40},
- {0xa83, 0xa83}, {0xabe, 0xac0}, {0xac9, 0xac9}, {0xacb, 0xacc},
- {0xb02, 0xb03}, {0xb3e, 0xb3e}, {0xb40, 0xb40}, {0xb47, 0xb48},
- {0xb4b, 0xb4c}, {0xb57, 0xb57}, {0xbbe, 0xbbf}, {0xbc1, 0xbc2},
- {0xbc6, 0xbc8}, {0xbca, 0xbcc}, {0xbd7, 0xbd7}, {0xc01, 0xc03},
- {0xc41, 0xc44}, {0xc82, 0xc83}, {0xcbe, 0xcbe}, {0xcc0, 0xcc4},
- {0xcc7, 0xcc8}, {0xcca, 0xccb}, {0xcd5, 0xcd6}, {0xd02, 0xd03},
- {0xd3e, 0xd40}, {0xd46, 0xd48}, {0xd4a, 0xd4c}, {0xd57, 0xd57},
- {0xd82, 0xd83}, {0xdcf, 0xdd1}, {0xdd8, 0xddf}, {0xdf2, 0xdf3},
- {0xf3e, 0xf3f}, {0xf7f, 0xf7f}, {0x102c, 0x102c}, {0x1031, 0x1031},
- {0x1038, 0x1038}, {0x1056, 0x1057}, {0x17b6, 0x17b6}, {0x17be, 0x17c5},
- {0x17c7, 0x17c8}, {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931},
+static const xmlChSRange xmlMcS[] = {{0x903, 0x903}, {0x93e, 0x940},
+ {0x949, 0x94c}, {0x982, 0x983}, {0x9be, 0x9c0}, {0x9c7, 0x9c8},
+ {0x9cb, 0x9cc}, {0x9d7, 0x9d7}, {0xa03, 0xa03}, {0xa3e, 0xa40},
+ {0xa83, 0xa83}, {0xabe, 0xac0}, {0xac9, 0xac9}, {0xacb, 0xacc},
+ {0xb02, 0xb03}, {0xb3e, 0xb3e}, {0xb40, 0xb40}, {0xb47, 0xb48},
+ {0xb4b, 0xb4c}, {0xb57, 0xb57}, {0xbbe, 0xbbf}, {0xbc1, 0xbc2},
+ {0xbc6, 0xbc8}, {0xbca, 0xbcc}, {0xbd7, 0xbd7}, {0xc01, 0xc03},
+ {0xc41, 0xc44}, {0xc82, 0xc83}, {0xcbe, 0xcbe}, {0xcc0, 0xcc4},
+ {0xcc7, 0xcc8}, {0xcca, 0xccb}, {0xcd5, 0xcd6}, {0xd02, 0xd03},
+ {0xd3e, 0xd40}, {0xd46, 0xd48}, {0xd4a, 0xd4c}, {0xd57, 0xd57},
+ {0xd82, 0xd83}, {0xdcf, 0xdd1}, {0xdd8, 0xddf}, {0xdf2, 0xdf3},
+ {0xf3e, 0xf3f}, {0xf7f, 0xf7f}, {0x102c, 0x102c}, {0x1031, 0x1031},
+ {0x1038, 0x1038}, {0x1056, 0x1057}, {0x17b6, 0x17b6}, {0x17be, 0x17c5},
+ {0x17c7, 0x17c8}, {0x1923, 0x1926}, {0x1929, 0x192b}, {0x1930, 0x1931},
{0x1933, 0x1938} };
static const xmlChLRange xmlMcL[] = {{0x1d165, 0x1d166}, {0x1d16d, 0x1d172} };
static xmlChRangeGroup xmlMcG = {55,2,xmlMcS,xmlMcL};
-static const xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f},
- {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, {0x5bb, 0x5bd},
- {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, {0x610, 0x615},
- {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6df, 0x6e4},
- {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711}, {0x730, 0x74a},
- {0x7a6, 0x7b0}, {0x901, 0x902}, {0x93c, 0x93c}, {0x941, 0x948},
- {0x94d, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x981},
- {0x9bc, 0x9bc}, {0x9c1, 0x9c4}, {0x9cd, 0x9cd}, {0x9e2, 0x9e3},
- {0xa01, 0xa02}, {0xa3c, 0xa3c}, {0xa41, 0xa42}, {0xa47, 0xa48},
- {0xa4b, 0xa4d}, {0xa70, 0xa71}, {0xa81, 0xa82}, {0xabc, 0xabc},
- {0xac1, 0xac5}, {0xac7, 0xac8}, {0xacd, 0xacd}, {0xae2, 0xae3},
- {0xb01, 0xb01}, {0xb3c, 0xb3c}, {0xb3f, 0xb3f}, {0xb41, 0xb43},
- {0xb4d, 0xb4d}, {0xb56, 0xb56}, {0xb82, 0xb82}, {0xbc0, 0xbc0},
- {0xbcd, 0xbcd}, {0xc3e, 0xc40}, {0xc46, 0xc48}, {0xc4a, 0xc4d},
- {0xc55, 0xc56}, {0xcbc, 0xcbc}, {0xcbf, 0xcbf}, {0xcc6, 0xcc6},
- {0xccc, 0xccd}, {0xd41, 0xd43}, {0xd4d, 0xd4d}, {0xdca, 0xdca},
- {0xdd2, 0xdd4}, {0xdd6, 0xdd6}, {0xe31, 0xe31}, {0xe34, 0xe3a},
- {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, {0xebb, 0xebc},
- {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35}, {0xf37, 0xf37},
- {0xf39, 0xf39}, {0xf71, 0xf7e}, {0xf80, 0xf84}, {0xf86, 0xf87},
- {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x102d, 0x1030},
- {0x1032, 0x1032}, {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059},
- {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773},
- {0x17b7, 0x17bd}, {0x17c6, 0x17c6}, {0x17c9, 0x17d3}, {0x17dd, 0x17dd},
- {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x1922}, {0x1927, 0x1928},
- {0x1932, 0x1932}, {0x1939, 0x193b}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1},
- {0x20e5, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e},
+static const xmlChSRange xmlMnS[] = {{0x300, 0x357}, {0x35d, 0x36f},
+ {0x483, 0x486}, {0x591, 0x5a1}, {0x5a3, 0x5b9}, {0x5bb, 0x5bd},
+ {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, {0x5c4, 0x5c4}, {0x610, 0x615},
+ {0x64b, 0x658}, {0x670, 0x670}, {0x6d6, 0x6dc}, {0x6df, 0x6e4},
+ {0x6e7, 0x6e8}, {0x6ea, 0x6ed}, {0x711, 0x711}, {0x730, 0x74a},
+ {0x7a6, 0x7b0}, {0x901, 0x902}, {0x93c, 0x93c}, {0x941, 0x948},
+ {0x94d, 0x94d}, {0x951, 0x954}, {0x962, 0x963}, {0x981, 0x981},
+ {0x9bc, 0x9bc}, {0x9c1, 0x9c4}, {0x9cd, 0x9cd}, {0x9e2, 0x9e3},
+ {0xa01, 0xa02}, {0xa3c, 0xa3c}, {0xa41, 0xa42}, {0xa47, 0xa48},
+ {0xa4b, 0xa4d}, {0xa70, 0xa71}, {0xa81, 0xa82}, {0xabc, 0xabc},
+ {0xac1, 0xac5}, {0xac7, 0xac8}, {0xacd, 0xacd}, {0xae2, 0xae3},
+ {0xb01, 0xb01}, {0xb3c, 0xb3c}, {0xb3f, 0xb3f}, {0xb41, 0xb43},
+ {0xb4d, 0xb4d}, {0xb56, 0xb56}, {0xb82, 0xb82}, {0xbc0, 0xbc0},
+ {0xbcd, 0xbcd}, {0xc3e, 0xc40}, {0xc46, 0xc48}, {0xc4a, 0xc4d},
+ {0xc55, 0xc56}, {0xcbc, 0xcbc}, {0xcbf, 0xcbf}, {0xcc6, 0xcc6},
+ {0xccc, 0xccd}, {0xd41, 0xd43}, {0xd4d, 0xd4d}, {0xdca, 0xdca},
+ {0xdd2, 0xdd4}, {0xdd6, 0xdd6}, {0xe31, 0xe31}, {0xe34, 0xe3a},
+ {0xe47, 0xe4e}, {0xeb1, 0xeb1}, {0xeb4, 0xeb9}, {0xebb, 0xebc},
+ {0xec8, 0xecd}, {0xf18, 0xf19}, {0xf35, 0xf35}, {0xf37, 0xf37},
+ {0xf39, 0xf39}, {0xf71, 0xf7e}, {0xf80, 0xf84}, {0xf86, 0xf87},
+ {0xf90, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x102d, 0x1030},
+ {0x1032, 0x1032}, {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059},
+ {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773},
+ {0x17b7, 0x17bd}, {0x17c6, 0x17c6}, {0x17c9, 0x17d3}, {0x17dd, 0x17dd},
+ {0x180b, 0x180d}, {0x18a9, 0x18a9}, {0x1920, 0x1922}, {0x1927, 0x1928},
+ {0x1932, 0x1932}, {0x1939, 0x193b}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1},
+ {0x20e5, 0x20ea}, {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e},
{0xfe00, 0xfe0f}, {0xfe20, 0xfe23} };
-static const xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182},
+static const xmlChLRange xmlMnL[] = {{0x1d167, 0x1d169}, {0x1d17b, 0x1d182},
{0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0xe0100, 0xe01ef} };
static xmlChRangeGroup xmlMnG = {108,5,xmlMnS,xmlMnL};
-static const xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3},
- {0xb9, 0xb9}, {0xbc, 0xbe}, {0x660, 0x669}, {0x6f0, 0x6f9},
- {0x966, 0x96f}, {0x9e6, 0x9ef}, {0x9f4, 0x9f9}, {0xa66, 0xa6f},
- {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbf2}, {0xc66, 0xc6f},
- {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9},
- {0xf20, 0xf33}, {0x1040, 0x1049}, {0x1369, 0x137c}, {0x16ee, 0x16f0},
- {0x17e0, 0x17e9}, {0x17f0, 0x17f9}, {0x1810, 0x1819}, {0x1946, 0x194f},
- {0x2070, 0x2070}, {0x2074, 0x2079}, {0x2080, 0x2089}, {0x2153, 0x2183},
- {0x2460, 0x249b}, {0x24ea, 0x24ff}, {0x2776, 0x2793}, {0x3007, 0x3007},
- {0x3021, 0x3029}, {0x3038, 0x303a}, {0x3192, 0x3195}, {0x3220, 0x3229},
+static const xmlChSRange xmlNS[] = {{0x30, 0x39}, {0xb2, 0xb3},
+ {0xb9, 0xb9}, {0xbc, 0xbe}, {0x660, 0x669}, {0x6f0, 0x6f9},
+ {0x966, 0x96f}, {0x9e6, 0x9ef}, {0x9f4, 0x9f9}, {0xa66, 0xa6f},
+ {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbf2}, {0xc66, 0xc6f},
+ {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9},
+ {0xf20, 0xf33}, {0x1040, 0x1049}, {0x1369, 0x137c}, {0x16ee, 0x16f0},
+ {0x17e0, 0x17e9}, {0x17f0, 0x17f9}, {0x1810, 0x1819}, {0x1946, 0x194f},
+ {0x2070, 0x2070}, {0x2074, 0x2079}, {0x2080, 0x2089}, {0x2153, 0x2183},
+ {0x2460, 0x249b}, {0x24ea, 0x24ff}, {0x2776, 0x2793}, {0x3007, 0x3007},
+ {0x3021, 0x3029}, {0x3038, 0x303a}, {0x3192, 0x3195}, {0x3220, 0x3229},
{0x3251, 0x325f}, {0x3280, 0x3289}, {0x32b1, 0x32bf}, {0xff10, 0xff19} };
-static const xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323},
+static const xmlChLRange xmlNL[] = {{0x10107, 0x10133}, {0x10320, 0x10323},
{0x1034a, 0x1034a}, {0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
static xmlChRangeGroup xmlNG = {42,5,xmlNS,xmlNL};
-static const xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669},
- {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f},
- {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f},
- {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9},
- {0xf20, 0xf29}, {0x1040, 0x1049}, {0x1369, 0x1371}, {0x17e0, 0x17e9},
+static const xmlChSRange xmlNdS[] = {{0x30, 0x39}, {0x660, 0x669},
+ {0x6f0, 0x6f9}, {0x966, 0x96f}, {0x9e6, 0x9ef}, {0xa66, 0xa6f},
+ {0xae6, 0xaef}, {0xb66, 0xb6f}, {0xbe7, 0xbef}, {0xc66, 0xc6f},
+ {0xce6, 0xcef}, {0xd66, 0xd6f}, {0xe50, 0xe59}, {0xed0, 0xed9},
+ {0xf20, 0xf29}, {0x1040, 0x1049}, {0x1369, 0x1371}, {0x17e0, 0x17e9},
{0x1810, 0x1819}, {0x1946, 0x194f}, {0xff10, 0xff19} };
static const xmlChLRange xmlNdL[] = {{0x104a0, 0x104a9}, {0x1d7ce, 0x1d7ff} };
static xmlChRangeGroup xmlNdG = {21,2,xmlNdS,xmlNdL};
-static const xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9},
- {0xbc, 0xbe}, {0x9f4, 0x9f9}, {0xbf0, 0xbf2}, {0xf2a, 0xf33},
- {0x1372, 0x137c}, {0x17f0, 0x17f9}, {0x2070, 0x2070}, {0x2074, 0x2079},
- {0x2080, 0x2089}, {0x2153, 0x215f}, {0x2460, 0x249b}, {0x24ea, 0x24ff},
- {0x2776, 0x2793}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f},
+static const xmlChSRange xmlNoS[] = {{0xb2, 0xb3}, {0xb9, 0xb9},
+ {0xbc, 0xbe}, {0x9f4, 0x9f9}, {0xbf0, 0xbf2}, {0xf2a, 0xf33},
+ {0x1372, 0x137c}, {0x17f0, 0x17f9}, {0x2070, 0x2070}, {0x2074, 0x2079},
+ {0x2080, 0x2089}, {0x2153, 0x215f}, {0x2460, 0x249b}, {0x24ea, 0x24ff},
+ {0x2776, 0x2793}, {0x3192, 0x3195}, {0x3220, 0x3229}, {0x3251, 0x325f},
{0x3280, 0x3289}, {0x32b1, 0x32bf} };
static const xmlChLRange xmlNoL[] = {{0x10107, 0x10133}, {0x10320, 0x10323} };
static xmlChRangeGroup xmlNoG = {20,2,xmlNoS,xmlNoL};
-static const xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a},
- {0x2c, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, {0x5b, 0x5d}, {0x5f, 0x5f},
- {0x7b, 0x7b}, {0x7d, 0x7d}, {0xa1, 0xa1}, {0xab, 0xab}, {0xb7, 0xb7},
- {0xbb, 0xbb}, {0xbf, 0xbf}, {0x37e, 0x37e}, {0x387, 0x387},
- {0x55a, 0x55f}, {0x589, 0x58a}, {0x5be, 0x5be}, {0x5c0, 0x5c0},
- {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d}, {0x61b, 0x61b},
- {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4}, {0x700, 0x70d},
- {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4}, {0xe4f, 0xe4f},
- {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf3a, 0xf3d}, {0xf85, 0xf85},
- {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e},
- {0x169b, 0x169c}, {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6},
- {0x17d8, 0x17da}, {0x1800, 0x180a}, {0x1944, 0x1945}, {0x2010, 0x2027},
- {0x2030, 0x2043}, {0x2045, 0x2051}, {0x2053, 0x2054}, {0x2057, 0x2057},
- {0x207d, 0x207e}, {0x208d, 0x208e}, {0x2329, 0x232a}, {0x23b4, 0x23b6},
- {0x2768, 0x2775}, {0x27e6, 0x27eb}, {0x2983, 0x2998}, {0x29d8, 0x29db},
- {0x29fc, 0x29fd}, {0x3001, 0x3003}, {0x3008, 0x3011}, {0x3014, 0x301f},
- {0x3030, 0x3030}, {0x303d, 0x303d}, {0x30a0, 0x30a0}, {0x30fb, 0x30fb},
- {0xfd3e, 0xfd3f}, {0xfe30, 0xfe52}, {0xfe54, 0xfe61}, {0xfe63, 0xfe63},
- {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff0a},
- {0xff0c, 0xff0f}, {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d},
+static const xmlChSRange xmlPS[] = {{0x21, 0x23}, {0x25, 0x2a},
+ {0x2c, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40}, {0x5b, 0x5d}, {0x5f, 0x5f},
+ {0x7b, 0x7b}, {0x7d, 0x7d}, {0xa1, 0xa1}, {0xab, 0xab}, {0xb7, 0xb7},
+ {0xbb, 0xbb}, {0xbf, 0xbf}, {0x37e, 0x37e}, {0x387, 0x387},
+ {0x55a, 0x55f}, {0x589, 0x58a}, {0x5be, 0x5be}, {0x5c0, 0x5c0},
+ {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d}, {0x61b, 0x61b},
+ {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4}, {0x700, 0x70d},
+ {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4}, {0xe4f, 0xe4f},
+ {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf3a, 0xf3d}, {0xf85, 0xf85},
+ {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e},
+ {0x169b, 0x169c}, {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6},
+ {0x17d8, 0x17da}, {0x1800, 0x180a}, {0x1944, 0x1945}, {0x2010, 0x2027},
+ {0x2030, 0x2043}, {0x2045, 0x2051}, {0x2053, 0x2054}, {0x2057, 0x2057},
+ {0x207d, 0x207e}, {0x208d, 0x208e}, {0x2329, 0x232a}, {0x23b4, 0x23b6},
+ {0x2768, 0x2775}, {0x27e6, 0x27eb}, {0x2983, 0x2998}, {0x29d8, 0x29db},
+ {0x29fc, 0x29fd}, {0x3001, 0x3003}, {0x3008, 0x3011}, {0x3014, 0x301f},
+ {0x3030, 0x3030}, {0x303d, 0x303d}, {0x30a0, 0x30a0}, {0x30fb, 0x30fb},
+ {0xfd3e, 0xfd3f}, {0xfe30, 0xfe52}, {0xfe54, 0xfe61}, {0xfe63, 0xfe63},
+ {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff0a},
+ {0xff0c, 0xff0f}, {0xff1a, 0xff1b}, {0xff1f, 0xff20}, {0xff3b, 0xff3d},
{0xff3f, 0xff3f}, {0xff5b, 0xff5b}, {0xff5d, 0xff5d}, {0xff5f, 0xff65} };
static const xmlChLRange xmlPL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
static xmlChRangeGroup xmlPG = {84,2,xmlPS,xmlPL};
-static const xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a},
- {0x1806, 0x1806}, {0x2010, 0x2015}, {0x301c, 0x301c}, {0x3030, 0x3030},
- {0x30a0, 0x30a0}, {0xfe31, 0xfe32}, {0xfe58, 0xfe58}, {0xfe63, 0xfe63},
+static const xmlChSRange xmlPdS[] = {{0x2d, 0x2d}, {0x58a, 0x58a},
+ {0x1806, 0x1806}, {0x2010, 0x2015}, {0x301c, 0x301c}, {0x3030, 0x3030},
+ {0x30a0, 0x30a0}, {0xfe31, 0xfe32}, {0xfe58, 0xfe58}, {0xfe63, 0xfe63},
{0xff0d, 0xff0d} };
static xmlChRangeGroup xmlPdG = {11,0,xmlPdS,NULL};
-static const xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d},
- {0x7d, 0x7d}, {0xf3b, 0xf3b}, {0xf3d, 0xf3d}, {0x169c, 0x169c},
- {0x2046, 0x2046}, {0x207e, 0x207e}, {0x208e, 0x208e}, {0x232a, 0x232a},
- {0x23b5, 0x23b5}, {0x2769, 0x2769}, {0x276b, 0x276b}, {0x276d, 0x276d},
- {0x276f, 0x276f}, {0x2771, 0x2771}, {0x2773, 0x2773}, {0x2775, 0x2775},
- {0x27e7, 0x27e7}, {0x27e9, 0x27e9}, {0x27eb, 0x27eb}, {0x2984, 0x2984},
- {0x2986, 0x2986}, {0x2988, 0x2988}, {0x298a, 0x298a}, {0x298c, 0x298c},
- {0x298e, 0x298e}, {0x2990, 0x2990}, {0x2992, 0x2992}, {0x2994, 0x2994},
- {0x2996, 0x2996}, {0x2998, 0x2998}, {0x29d9, 0x29d9}, {0x29db, 0x29db},
- {0x29fd, 0x29fd}, {0x3009, 0x3009}, {0x300b, 0x300b}, {0x300d, 0x300d},
- {0x300f, 0x300f}, {0x3011, 0x3011}, {0x3015, 0x3015}, {0x3017, 0x3017},
- {0x3019, 0x3019}, {0x301b, 0x301b}, {0x301e, 0x301f}, {0xfd3f, 0xfd3f},
- {0xfe36, 0xfe36}, {0xfe38, 0xfe38}, {0xfe3a, 0xfe3a}, {0xfe3c, 0xfe3c},
- {0xfe3e, 0xfe3e}, {0xfe40, 0xfe40}, {0xfe42, 0xfe42}, {0xfe44, 0xfe44},
- {0xfe48, 0xfe48}, {0xfe5a, 0xfe5a}, {0xfe5c, 0xfe5c}, {0xfe5e, 0xfe5e},
- {0xff09, 0xff09}, {0xff3d, 0xff3d}, {0xff5d, 0xff5d}, {0xff60, 0xff60},
+static const xmlChSRange xmlPeS[] = {{0x29, 0x29}, {0x5d, 0x5d},
+ {0x7d, 0x7d}, {0xf3b, 0xf3b}, {0xf3d, 0xf3d}, {0x169c, 0x169c},
+ {0x2046, 0x2046}, {0x207e, 0x207e}, {0x208e, 0x208e}, {0x232a, 0x232a},
+ {0x23b5, 0x23b5}, {0x2769, 0x2769}, {0x276b, 0x276b}, {0x276d, 0x276d},
+ {0x276f, 0x276f}, {0x2771, 0x2771}, {0x2773, 0x2773}, {0x2775, 0x2775},
+ {0x27e7, 0x27e7}, {0x27e9, 0x27e9}, {0x27eb, 0x27eb}, {0x2984, 0x2984},
+ {0x2986, 0x2986}, {0x2988, 0x2988}, {0x298a, 0x298a}, {0x298c, 0x298c},
+ {0x298e, 0x298e}, {0x2990, 0x2990}, {0x2992, 0x2992}, {0x2994, 0x2994},
+ {0x2996, 0x2996}, {0x2998, 0x2998}, {0x29d9, 0x29d9}, {0x29db, 0x29db},
+ {0x29fd, 0x29fd}, {0x3009, 0x3009}, {0x300b, 0x300b}, {0x300d, 0x300d},
+ {0x300f, 0x300f}, {0x3011, 0x3011}, {0x3015, 0x3015}, {0x3017, 0x3017},
+ {0x3019, 0x3019}, {0x301b, 0x301b}, {0x301e, 0x301f}, {0xfd3f, 0xfd3f},
+ {0xfe36, 0xfe36}, {0xfe38, 0xfe38}, {0xfe3a, 0xfe3a}, {0xfe3c, 0xfe3c},
+ {0xfe3e, 0xfe3e}, {0xfe40, 0xfe40}, {0xfe42, 0xfe42}, {0xfe44, 0xfe44},
+ {0xfe48, 0xfe48}, {0xfe5a, 0xfe5a}, {0xfe5c, 0xfe5c}, {0xfe5e, 0xfe5e},
+ {0xff09, 0xff09}, {0xff3d, 0xff3d}, {0xff5d, 0xff5d}, {0xff60, 0xff60},
{0xff63, 0xff63} };
static xmlChRangeGroup xmlPeG = {63,0,xmlPeS,NULL};
-static const xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27},
- {0x2a, 0x2a}, {0x2c, 0x2c}, {0x2e, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40},
- {0x5c, 0x5c}, {0xa1, 0xa1}, {0xb7, 0xb7}, {0xbf, 0xbf}, {0x37e, 0x37e},
- {0x387, 0x387}, {0x55a, 0x55f}, {0x589, 0x589}, {0x5be, 0x5be},
- {0x5c0, 0x5c0}, {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d},
- {0x61b, 0x61b}, {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4},
- {0x700, 0x70d}, {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4},
- {0xe4f, 0xe4f}, {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf85, 0xf85},
- {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e},
- {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, {0x17d8, 0x17da},
- {0x1800, 0x1805}, {0x1807, 0x180a}, {0x1944, 0x1945}, {0x2016, 0x2017},
- {0x2020, 0x2027}, {0x2030, 0x2038}, {0x203b, 0x203e}, {0x2041, 0x2043},
- {0x2047, 0x2051}, {0x2053, 0x2053}, {0x2057, 0x2057}, {0x23b6, 0x23b6},
- {0x3001, 0x3003}, {0x303d, 0x303d}, {0xfe30, 0xfe30}, {0xfe45, 0xfe46},
- {0xfe49, 0xfe4c}, {0xfe50, 0xfe52}, {0xfe54, 0xfe57}, {0xfe5f, 0xfe61},
- {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff07},
- {0xff0a, 0xff0a}, {0xff0c, 0xff0c}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b},
+static const xmlChSRange xmlPoS[] = {{0x21, 0x23}, {0x25, 0x27},
+ {0x2a, 0x2a}, {0x2c, 0x2c}, {0x2e, 0x2f}, {0x3a, 0x3b}, {0x3f, 0x40},
+ {0x5c, 0x5c}, {0xa1, 0xa1}, {0xb7, 0xb7}, {0xbf, 0xbf}, {0x37e, 0x37e},
+ {0x387, 0x387}, {0x55a, 0x55f}, {0x589, 0x589}, {0x5be, 0x5be},
+ {0x5c0, 0x5c0}, {0x5c3, 0x5c3}, {0x5f3, 0x5f4}, {0x60c, 0x60d},
+ {0x61b, 0x61b}, {0x61f, 0x61f}, {0x66a, 0x66d}, {0x6d4, 0x6d4},
+ {0x700, 0x70d}, {0x964, 0x965}, {0x970, 0x970}, {0xdf4, 0xdf4},
+ {0xe4f, 0xe4f}, {0xe5a, 0xe5b}, {0xf04, 0xf12}, {0xf85, 0xf85},
+ {0x104a, 0x104f}, {0x10fb, 0x10fb}, {0x1361, 0x1368}, {0x166d, 0x166e},
+ {0x16eb, 0x16ed}, {0x1735, 0x1736}, {0x17d4, 0x17d6}, {0x17d8, 0x17da},
+ {0x1800, 0x1805}, {0x1807, 0x180a}, {0x1944, 0x1945}, {0x2016, 0x2017},
+ {0x2020, 0x2027}, {0x2030, 0x2038}, {0x203b, 0x203e}, {0x2041, 0x2043},
+ {0x2047, 0x2051}, {0x2053, 0x2053}, {0x2057, 0x2057}, {0x23b6, 0x23b6},
+ {0x3001, 0x3003}, {0x303d, 0x303d}, {0xfe30, 0xfe30}, {0xfe45, 0xfe46},
+ {0xfe49, 0xfe4c}, {0xfe50, 0xfe52}, {0xfe54, 0xfe57}, {0xfe5f, 0xfe61},
+ {0xfe68, 0xfe68}, {0xfe6a, 0xfe6b}, {0xff01, 0xff03}, {0xff05, 0xff07},
+ {0xff0a, 0xff0a}, {0xff0c, 0xff0c}, {0xff0e, 0xff0f}, {0xff1a, 0xff1b},
{0xff1f, 0xff20}, {0xff3c, 0xff3c}, {0xff61, 0xff61}, {0xff64, 0xff64} };
static const xmlChLRange xmlPoL[] = {{0x10100, 0x10101}, {0x1039f, 0x1039f} };
static xmlChRangeGroup xmlPoG = {72,2,xmlPoS,xmlPoL};
-static const xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b},
- {0x7b, 0x7b}, {0xf3a, 0xf3a}, {0xf3c, 0xf3c}, {0x169b, 0x169b},
- {0x201a, 0x201a}, {0x201e, 0x201e}, {0x2045, 0x2045}, {0x207d, 0x207d},
- {0x208d, 0x208d}, {0x2329, 0x2329}, {0x23b4, 0x23b4}, {0x2768, 0x2768},
- {0x276a, 0x276a}, {0x276c, 0x276c}, {0x276e, 0x276e}, {0x2770, 0x2770},
- {0x2772, 0x2772}, {0x2774, 0x2774}, {0x27e6, 0x27e6}, {0x27e8, 0x27e8},
- {0x27ea, 0x27ea}, {0x2983, 0x2983}, {0x2985, 0x2985}, {0x2987, 0x2987},
- {0x2989, 0x2989}, {0x298b, 0x298b}, {0x298d, 0x298d}, {0x298f, 0x298f},
- {0x2991, 0x2991}, {0x2993, 0x2993}, {0x2995, 0x2995}, {0x2997, 0x2997},
- {0x29d8, 0x29d8}, {0x29da, 0x29da}, {0x29fc, 0x29fc}, {0x3008, 0x3008},
- {0x300a, 0x300a}, {0x300c, 0x300c}, {0x300e, 0x300e}, {0x3010, 0x3010},
- {0x3014, 0x3014}, {0x3016, 0x3016}, {0x3018, 0x3018}, {0x301a, 0x301a},
- {0x301d, 0x301d}, {0xfd3e, 0xfd3e}, {0xfe35, 0xfe35}, {0xfe37, 0xfe37},
- {0xfe39, 0xfe39}, {0xfe3b, 0xfe3b}, {0xfe3d, 0xfe3d}, {0xfe3f, 0xfe3f},
- {0xfe41, 0xfe41}, {0xfe43, 0xfe43}, {0xfe47, 0xfe47}, {0xfe59, 0xfe59},
- {0xfe5b, 0xfe5b}, {0xfe5d, 0xfe5d}, {0xff08, 0xff08}, {0xff3b, 0xff3b},
+static const xmlChSRange xmlPsS[] = {{0x28, 0x28}, {0x5b, 0x5b},
+ {0x7b, 0x7b}, {0xf3a, 0xf3a}, {0xf3c, 0xf3c}, {0x169b, 0x169b},
+ {0x201a, 0x201a}, {0x201e, 0x201e}, {0x2045, 0x2045}, {0x207d, 0x207d},
+ {0x208d, 0x208d}, {0x2329, 0x2329}, {0x23b4, 0x23b4}, {0x2768, 0x2768},
+ {0x276a, 0x276a}, {0x276c, 0x276c}, {0x276e, 0x276e}, {0x2770, 0x2770},
+ {0x2772, 0x2772}, {0x2774, 0x2774}, {0x27e6, 0x27e6}, {0x27e8, 0x27e8},
+ {0x27ea, 0x27ea}, {0x2983, 0x2983}, {0x2985, 0x2985}, {0x2987, 0x2987},
+ {0x2989, 0x2989}, {0x298b, 0x298b}, {0x298d, 0x298d}, {0x298f, 0x298f},
+ {0x2991, 0x2991}, {0x2993, 0x2993}, {0x2995, 0x2995}, {0x2997, 0x2997},
+ {0x29d8, 0x29d8}, {0x29da, 0x29da}, {0x29fc, 0x29fc}, {0x3008, 0x3008},
+ {0x300a, 0x300a}, {0x300c, 0x300c}, {0x300e, 0x300e}, {0x3010, 0x3010},
+ {0x3014, 0x3014}, {0x3016, 0x3016}, {0x3018, 0x3018}, {0x301a, 0x301a},
+ {0x301d, 0x301d}, {0xfd3e, 0xfd3e}, {0xfe35, 0xfe35}, {0xfe37, 0xfe37},
+ {0xfe39, 0xfe39}, {0xfe3b, 0xfe3b}, {0xfe3d, 0xfe3d}, {0xfe3f, 0xfe3f},
+ {0xfe41, 0xfe41}, {0xfe43, 0xfe43}, {0xfe47, 0xfe47}, {0xfe59, 0xfe59},
+ {0xfe5b, 0xfe5b}, {0xfe5d, 0xfe5d}, {0xff08, 0xff08}, {0xff3b, 0xff3b},
{0xff5b, 0xff5b}, {0xff5f, 0xff5f}, {0xff62, 0xff62} };
static xmlChRangeGroup xmlPsG = {65,0,xmlPsS,NULL};
-static const xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b},
- {0x3c, 0x3e}, {0x5e, 0x5e}, {0x60, 0x60}, {0x7c, 0x7c}, {0x7e, 0x7e},
- {0xa2, 0xa9}, {0xac, 0xac}, {0xae, 0xb1}, {0xb4, 0xb4}, {0xb6, 0xb6},
- {0xb8, 0xb8}, {0xd7, 0xd7}, {0xf7, 0xf7}, {0x2c2, 0x2c5},
- {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375},
- {0x384, 0x385}, {0x3f6, 0x3f6}, {0x482, 0x482}, {0x60e, 0x60f},
- {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9f2, 0x9f3}, {0x9fa, 0x9fa},
- {0xaf1, 0xaf1}, {0xb70, 0xb70}, {0xbf3, 0xbfa}, {0xe3f, 0xe3f},
- {0xf01, 0xf03}, {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34},
- {0xf36, 0xf36}, {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc},
- {0xfcf, 0xfcf}, {0x17db, 0x17db}, {0x1940, 0x1940}, {0x19e0, 0x19ff},
- {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf},
- {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x2044, 0x2044}, {0x2052, 0x2052},
- {0x207a, 0x207c}, {0x208a, 0x208c}, {0x20a0, 0x20b1}, {0x2100, 0x2101},
- {0x2103, 0x2106}, {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118},
- {0x211e, 0x2123}, {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129},
- {0x212e, 0x212e}, {0x2132, 0x2132}, {0x213a, 0x213b}, {0x2140, 0x2144},
- {0x214a, 0x214b}, {0x2190, 0x2328}, {0x232b, 0x23b3}, {0x23b7, 0x23d0},
- {0x2400, 0x2426}, {0x2440, 0x244a}, {0x249c, 0x24e9}, {0x2500, 0x2617},
- {0x2619, 0x267d}, {0x2680, 0x2691}, {0x26a0, 0x26a1}, {0x2701, 0x2704},
- {0x2706, 0x2709}, {0x270c, 0x2727}, {0x2729, 0x274b}, {0x274d, 0x274d},
- {0x274f, 0x2752}, {0x2756, 0x2756}, {0x2758, 0x275e}, {0x2761, 0x2767},
- {0x2794, 0x2794}, {0x2798, 0x27af}, {0x27b1, 0x27be}, {0x27d0, 0x27e5},
- {0x27f0, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2b0d},
- {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb},
- {0x3004, 0x3004}, {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037},
- {0x303e, 0x303f}, {0x309b, 0x309c}, {0x3190, 0x3191}, {0x3196, 0x319f},
- {0x3200, 0x321e}, {0x322a, 0x3243}, {0x3250, 0x3250}, {0x3260, 0x327d},
- {0x327f, 0x327f}, {0x328a, 0x32b0}, {0x32c0, 0x32fe}, {0x3300, 0x33ff},
- {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, {0xfb29, 0xfb29}, {0xfdfc, 0xfdfd},
- {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xfe69, 0xfe69}, {0xff04, 0xff04},
- {0xff0b, 0xff0b}, {0xff1c, 0xff1e}, {0xff3e, 0xff3e}, {0xff40, 0xff40},
- {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe0, 0xffe6}, {0xffe8, 0xffee},
+static const xmlChSRange xmlSS[] = {{0x24, 0x24}, {0x2b, 0x2b},
+ {0x3c, 0x3e}, {0x5e, 0x5e}, {0x60, 0x60}, {0x7c, 0x7c}, {0x7e, 0x7e},
+ {0xa2, 0xa9}, {0xac, 0xac}, {0xae, 0xb1}, {0xb4, 0xb4}, {0xb6, 0xb6},
+ {0xb8, 0xb8}, {0xd7, 0xd7}, {0xf7, 0xf7}, {0x2c2, 0x2c5},
+ {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375},
+ {0x384, 0x385}, {0x3f6, 0x3f6}, {0x482, 0x482}, {0x60e, 0x60f},
+ {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9f2, 0x9f3}, {0x9fa, 0x9fa},
+ {0xaf1, 0xaf1}, {0xb70, 0xb70}, {0xbf3, 0xbfa}, {0xe3f, 0xe3f},
+ {0xf01, 0xf03}, {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34},
+ {0xf36, 0xf36}, {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc},
+ {0xfcf, 0xfcf}, {0x17db, 0x17db}, {0x1940, 0x1940}, {0x19e0, 0x19ff},
+ {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf}, {0x1fdd, 0x1fdf},
+ {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x2044, 0x2044}, {0x2052, 0x2052},
+ {0x207a, 0x207c}, {0x208a, 0x208c}, {0x20a0, 0x20b1}, {0x2100, 0x2101},
+ {0x2103, 0x2106}, {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118},
+ {0x211e, 0x2123}, {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129},
+ {0x212e, 0x212e}, {0x2132, 0x2132}, {0x213a, 0x213b}, {0x2140, 0x2144},
+ {0x214a, 0x214b}, {0x2190, 0x2328}, {0x232b, 0x23b3}, {0x23b7, 0x23d0},
+ {0x2400, 0x2426}, {0x2440, 0x244a}, {0x249c, 0x24e9}, {0x2500, 0x2617},
+ {0x2619, 0x267d}, {0x2680, 0x2691}, {0x26a0, 0x26a1}, {0x2701, 0x2704},
+ {0x2706, 0x2709}, {0x270c, 0x2727}, {0x2729, 0x274b}, {0x274d, 0x274d},
+ {0x274f, 0x2752}, {0x2756, 0x2756}, {0x2758, 0x275e}, {0x2761, 0x2767},
+ {0x2794, 0x2794}, {0x2798, 0x27af}, {0x27b1, 0x27be}, {0x27d0, 0x27e5},
+ {0x27f0, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2b0d},
+ {0x2e80, 0x2e99}, {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb},
+ {0x3004, 0x3004}, {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037},
+ {0x303e, 0x303f}, {0x309b, 0x309c}, {0x3190, 0x3191}, {0x3196, 0x319f},
+ {0x3200, 0x321e}, {0x322a, 0x3243}, {0x3250, 0x3250}, {0x3260, 0x327d},
+ {0x327f, 0x327f}, {0x328a, 0x32b0}, {0x32c0, 0x32fe}, {0x3300, 0x33ff},
+ {0x4dc0, 0x4dff}, {0xa490, 0xa4c6}, {0xfb29, 0xfb29}, {0xfdfc, 0xfdfd},
+ {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xfe69, 0xfe69}, {0xff04, 0xff04},
+ {0xff0b, 0xff0b}, {0xff1c, 0xff1e}, {0xff3e, 0xff3e}, {0xff40, 0xff40},
+ {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe0, 0xffe6}, {0xffe8, 0xffee},
{0xfffc, 0xfffd} };
-static const xmlChLRange xmlSL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f},
- {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164},
- {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9},
- {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356}, {0x1d6c1, 0x1d6c1},
- {0x1d6db, 0x1d6db}, {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715},
- {0x1d735, 0x1d735}, {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f},
+static const xmlChLRange xmlSL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f},
+ {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164},
+ {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9},
+ {0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356}, {0x1d6c1, 0x1d6c1},
+ {0x1d6db, 0x1d6db}, {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715},
+ {0x1d735, 0x1d735}, {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f},
{0x1d789, 0x1d789}, {0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} };
static xmlChRangeGroup xmlSG = {133,20,xmlSS,xmlSL};
-static const xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5},
- {0x9f2, 0x9f3}, {0xaf1, 0xaf1}, {0xbf9, 0xbf9}, {0xe3f, 0xe3f},
- {0x17db, 0x17db}, {0x20a0, 0x20b1}, {0xfdfc, 0xfdfc}, {0xfe69, 0xfe69},
+static const xmlChSRange xmlScS[] = {{0x24, 0x24}, {0xa2, 0xa5},
+ {0x9f2, 0x9f3}, {0xaf1, 0xaf1}, {0xbf9, 0xbf9}, {0xe3f, 0xe3f},
+ {0x17db, 0x17db}, {0x20a0, 0x20b1}, {0xfdfc, 0xfdfc}, {0xfe69, 0xfe69},
{0xff04, 0xff04}, {0xffe0, 0xffe1}, {0xffe5, 0xffe6} };
static xmlChRangeGroup xmlScG = {13,0,xmlScS,NULL};
-static const xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60},
- {0xa8, 0xa8}, {0xaf, 0xaf}, {0xb4, 0xb4}, {0xb8, 0xb8}, {0x2c2, 0x2c5},
- {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375},
- {0x384, 0x385}, {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf},
- {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c},
+static const xmlChSRange xmlSkS[] = {{0x5e, 0x5e}, {0x60, 0x60},
+ {0xa8, 0xa8}, {0xaf, 0xaf}, {0xb4, 0xb4}, {0xb8, 0xb8}, {0x2c2, 0x2c5},
+ {0x2d2, 0x2df}, {0x2e5, 0x2ed}, {0x2ef, 0x2ff}, {0x374, 0x375},
+ {0x384, 0x385}, {0x1fbd, 0x1fbd}, {0x1fbf, 0x1fc1}, {0x1fcd, 0x1fcf},
+ {0x1fdd, 0x1fdf}, {0x1fed, 0x1fef}, {0x1ffd, 0x1ffe}, {0x309b, 0x309c},
{0xff3e, 0xff3e}, {0xff40, 0xff40}, {0xffe3, 0xffe3} };
static xmlChRangeGroup xmlSkG = {22,0,xmlSkS,NULL};
-static const xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e},
- {0x7c, 0x7c}, {0x7e, 0x7e}, {0xac, 0xac}, {0xb1, 0xb1}, {0xd7, 0xd7},
- {0xf7, 0xf7}, {0x3f6, 0x3f6}, {0x2044, 0x2044}, {0x2052, 0x2052},
- {0x207a, 0x207c}, {0x208a, 0x208c}, {0x2140, 0x2144}, {0x214b, 0x214b},
- {0x2190, 0x2194}, {0x219a, 0x219b}, {0x21a0, 0x21a0}, {0x21a3, 0x21a3},
- {0x21a6, 0x21a6}, {0x21ae, 0x21ae}, {0x21ce, 0x21cf}, {0x21d2, 0x21d2},
- {0x21d4, 0x21d4}, {0x21f4, 0x22ff}, {0x2308, 0x230b}, {0x2320, 0x2321},
- {0x237c, 0x237c}, {0x239b, 0x23b3}, {0x25b7, 0x25b7}, {0x25c1, 0x25c1},
- {0x25f8, 0x25ff}, {0x266f, 0x266f}, {0x27d0, 0x27e5}, {0x27f0, 0x27ff},
- {0x2900, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2aff},
- {0xfb29, 0xfb29}, {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xff0b, 0xff0b},
- {0xff1c, 0xff1e}, {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe2, 0xffe2},
+static const xmlChSRange xmlSmS[] = {{0x2b, 0x2b}, {0x3c, 0x3e},
+ {0x7c, 0x7c}, {0x7e, 0x7e}, {0xac, 0xac}, {0xb1, 0xb1}, {0xd7, 0xd7},
+ {0xf7, 0xf7}, {0x3f6, 0x3f6}, {0x2044, 0x2044}, {0x2052, 0x2052},
+ {0x207a, 0x207c}, {0x208a, 0x208c}, {0x2140, 0x2144}, {0x214b, 0x214b},
+ {0x2190, 0x2194}, {0x219a, 0x219b}, {0x21a0, 0x21a0}, {0x21a3, 0x21a3},
+ {0x21a6, 0x21a6}, {0x21ae, 0x21ae}, {0x21ce, 0x21cf}, {0x21d2, 0x21d2},
+ {0x21d4, 0x21d4}, {0x21f4, 0x22ff}, {0x2308, 0x230b}, {0x2320, 0x2321},
+ {0x237c, 0x237c}, {0x239b, 0x23b3}, {0x25b7, 0x25b7}, {0x25c1, 0x25c1},
+ {0x25f8, 0x25ff}, {0x266f, 0x266f}, {0x27d0, 0x27e5}, {0x27f0, 0x27ff},
+ {0x2900, 0x2982}, {0x2999, 0x29d7}, {0x29dc, 0x29fb}, {0x29fe, 0x2aff},
+ {0xfb29, 0xfb29}, {0xfe62, 0xfe62}, {0xfe64, 0xfe66}, {0xff0b, 0xff0b},
+ {0xff1c, 0xff1e}, {0xff5c, 0xff5c}, {0xff5e, 0xff5e}, {0xffe2, 0xffe2},
{0xffe9, 0xffec} };
-static const xmlChLRange xmlSmL[] = {{0x1d6c1, 0x1d6c1}, {0x1d6db, 0x1d6db},
- {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, {0x1d735, 0x1d735},
- {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, {0x1d789, 0x1d789},
+static const xmlChLRange xmlSmL[] = {{0x1d6c1, 0x1d6c1}, {0x1d6db, 0x1d6db},
+ {0x1d6fb, 0x1d6fb}, {0x1d715, 0x1d715}, {0x1d735, 0x1d735},
+ {0x1d74f, 0x1d74f}, {0x1d76f, 0x1d76f}, {0x1d789, 0x1d789},
{0x1d7a9, 0x1d7a9}, {0x1d7c3, 0x1d7c3} };
static xmlChRangeGroup xmlSmG = {48,10,xmlSmS,xmlSmL};
-static const xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9},
- {0xae, 0xae}, {0xb0, 0xb0}, {0xb6, 0xb6}, {0x482, 0x482},
- {0x60e, 0x60f}, {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9fa, 0x9fa},
- {0xb70, 0xb70}, {0xbf3, 0xbf8}, {0xbfa, 0xbfa}, {0xf01, 0xf03},
- {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34}, {0xf36, 0xf36},
- {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc}, {0xfcf, 0xfcf},
- {0x1940, 0x1940}, {0x19e0, 0x19ff}, {0x2100, 0x2101}, {0x2103, 0x2106},
- {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118}, {0x211e, 0x2123},
- {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129}, {0x212e, 0x212e},
- {0x2132, 0x2132}, {0x213a, 0x213b}, {0x214a, 0x214a}, {0x2195, 0x2199},
- {0x219c, 0x219f}, {0x21a1, 0x21a2}, {0x21a4, 0x21a5}, {0x21a7, 0x21ad},
- {0x21af, 0x21cd}, {0x21d0, 0x21d1}, {0x21d3, 0x21d3}, {0x21d5, 0x21f3},
- {0x2300, 0x2307}, {0x230c, 0x231f}, {0x2322, 0x2328}, {0x232b, 0x237b},
- {0x237d, 0x239a}, {0x23b7, 0x23d0}, {0x2400, 0x2426}, {0x2440, 0x244a},
- {0x249c, 0x24e9}, {0x2500, 0x25b6}, {0x25b8, 0x25c0}, {0x25c2, 0x25f7},
- {0x2600, 0x2617}, {0x2619, 0x266e}, {0x2670, 0x267d}, {0x2680, 0x2691},
- {0x26a0, 0x26a1}, {0x2701, 0x2704}, {0x2706, 0x2709}, {0x270c, 0x2727},
- {0x2729, 0x274b}, {0x274d, 0x274d}, {0x274f, 0x2752}, {0x2756, 0x2756},
- {0x2758, 0x275e}, {0x2761, 0x2767}, {0x2794, 0x2794}, {0x2798, 0x27af},
- {0x27b1, 0x27be}, {0x2800, 0x28ff}, {0x2b00, 0x2b0d}, {0x2e80, 0x2e99},
- {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3004, 0x3004},
- {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037}, {0x303e, 0x303f},
- {0x3190, 0x3191}, {0x3196, 0x319f}, {0x3200, 0x321e}, {0x322a, 0x3243},
- {0x3250, 0x3250}, {0x3260, 0x327d}, {0x327f, 0x327f}, {0x328a, 0x32b0},
- {0x32c0, 0x32fe}, {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, {0xa490, 0xa4c6},
- {0xfdfd, 0xfdfd}, {0xffe4, 0xffe4}, {0xffe8, 0xffe8}, {0xffed, 0xffee},
+static const xmlChSRange xmlSoS[] = {{0xa6, 0xa7}, {0xa9, 0xa9},
+ {0xae, 0xae}, {0xb0, 0xb0}, {0xb6, 0xb6}, {0x482, 0x482},
+ {0x60e, 0x60f}, {0x6e9, 0x6e9}, {0x6fd, 0x6fe}, {0x9fa, 0x9fa},
+ {0xb70, 0xb70}, {0xbf3, 0xbf8}, {0xbfa, 0xbfa}, {0xf01, 0xf03},
+ {0xf13, 0xf17}, {0xf1a, 0xf1f}, {0xf34, 0xf34}, {0xf36, 0xf36},
+ {0xf38, 0xf38}, {0xfbe, 0xfc5}, {0xfc7, 0xfcc}, {0xfcf, 0xfcf},
+ {0x1940, 0x1940}, {0x19e0, 0x19ff}, {0x2100, 0x2101}, {0x2103, 0x2106},
+ {0x2108, 0x2109}, {0x2114, 0x2114}, {0x2116, 0x2118}, {0x211e, 0x2123},
+ {0x2125, 0x2125}, {0x2127, 0x2127}, {0x2129, 0x2129}, {0x212e, 0x212e},
+ {0x2132, 0x2132}, {0x213a, 0x213b}, {0x214a, 0x214a}, {0x2195, 0x2199},
+ {0x219c, 0x219f}, {0x21a1, 0x21a2}, {0x21a4, 0x21a5}, {0x21a7, 0x21ad},
+ {0x21af, 0x21cd}, {0x21d0, 0x21d1}, {0x21d3, 0x21d3}, {0x21d5, 0x21f3},
+ {0x2300, 0x2307}, {0x230c, 0x231f}, {0x2322, 0x2328}, {0x232b, 0x237b},
+ {0x237d, 0x239a}, {0x23b7, 0x23d0}, {0x2400, 0x2426}, {0x2440, 0x244a},
+ {0x249c, 0x24e9}, {0x2500, 0x25b6}, {0x25b8, 0x25c0}, {0x25c2, 0x25f7},
+ {0x2600, 0x2617}, {0x2619, 0x266e}, {0x2670, 0x267d}, {0x2680, 0x2691},
+ {0x26a0, 0x26a1}, {0x2701, 0x2704}, {0x2706, 0x2709}, {0x270c, 0x2727},
+ {0x2729, 0x274b}, {0x274d, 0x274d}, {0x274f, 0x2752}, {0x2756, 0x2756},
+ {0x2758, 0x275e}, {0x2761, 0x2767}, {0x2794, 0x2794}, {0x2798, 0x27af},
+ {0x27b1, 0x27be}, {0x2800, 0x28ff}, {0x2b00, 0x2b0d}, {0x2e80, 0x2e99},
+ {0x2e9b, 0x2ef3}, {0x2f00, 0x2fd5}, {0x2ff0, 0x2ffb}, {0x3004, 0x3004},
+ {0x3012, 0x3013}, {0x3020, 0x3020}, {0x3036, 0x3037}, {0x303e, 0x303f},
+ {0x3190, 0x3191}, {0x3196, 0x319f}, {0x3200, 0x321e}, {0x322a, 0x3243},
+ {0x3250, 0x3250}, {0x3260, 0x327d}, {0x327f, 0x327f}, {0x328a, 0x32b0},
+ {0x32c0, 0x32fe}, {0x3300, 0x33ff}, {0x4dc0, 0x4dff}, {0xa490, 0xa4c6},
+ {0xfdfd, 0xfdfd}, {0xffe4, 0xffe4}, {0xffe8, 0xffe8}, {0xffed, 0xffee},
{0xfffc, 0xfffd} };
-static const xmlChLRange xmlSoL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f},
- {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164},
- {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9},
+static const xmlChLRange xmlSoL[] = {{0x10102, 0x10102}, {0x10137, 0x1013f},
+ {0x1d000, 0x1d0f5}, {0x1d100, 0x1d126}, {0x1d12a, 0x1d164},
+ {0x1d16a, 0x1d16c}, {0x1d183, 0x1d184}, {0x1d18c, 0x1d1a9},
{0x1d1ae, 0x1d1dd}, {0x1d300, 0x1d356} };
static xmlChRangeGroup xmlSoG = {103,10,xmlSoS,xmlSoL};
-static const xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0},
- {0x1680, 0x1680}, {0x180e, 0x180e}, {0x2000, 0x200a}, {0x2028, 0x2029},
+static const xmlChSRange xmlZS[] = {{0x20, 0x20}, {0xa0, 0xa0},
+ {0x1680, 0x1680}, {0x180e, 0x180e}, {0x2000, 0x200a}, {0x2028, 0x2029},
{0x202f, 0x202f}, {0x205f, 0x205f}, {0x3000, 0x3000} };
static xmlChRangeGroup xmlZG = {9,0,xmlZS,NULL};
@@ -961,7 +961,7 @@ static xmlIntFunc
else
low = mid + 1;
}
- return (NULL);
+ return (NULL);
}
/**
diff --git a/gettext-tools/gnulib-lib/libxml/xmlversion.in.h b/gettext-tools/gnulib-lib/libxml/xmlversion.in.h
index 4c6d2bd..f7b483a 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlversion.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlversion.in.h
@@ -29,28 +29,28 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
*
* the version string like "1.2.3"
*/
-#define LIBXML_DOTTED_VERSION "2.6.27"
+#define LIBXML_DOTTED_VERSION "2.9.3"
/**
* LIBXML_VERSION:
*
* the version number: 1.2.3 value is 10203
*/
-#define LIBXML_VERSION 20627
+#define LIBXML_VERSION 20903
/**
* LIBXML_VERSION_STRING:
*
* the version number string, 1.2.3 value is "10203"
*/
-#define LIBXML_VERSION_STRING "20627"
+#define LIBXML_VERSION_STRING "20903"
/**
* LIBXML_VERSION_EXTRA:
*
* extra version information, used to show a CVS compilation
*/
-#define LIBXML_VERSION_EXTRA "-CVS2872"
+#define LIBXML_VERSION_EXTRA "-GITCVE-2015-8242"
/**
* LIBXML_TEST_VERSION:
@@ -58,7 +58,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
* Macro to check that the libxml version in use is compatible with
* the version the software has been compiled against
*/
-#define LIBXML_TEST_VERSION xmlCheckVersion(20627);
+#define LIBXML_TEST_VERSION xmlCheckVersion(20903);
#ifndef VMS
#if 0
@@ -91,12 +91,22 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
* Whether the thread support is configured in
*/
#if 0
-#if defined(_REENTRANT) || defined(__MT__) || (_POSIX_C_SOURCE - 0 >= 199506L)
+#if defined(_REENTRANT) || defined(__MT__) || \
+ (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))
#define LIBXML_THREAD_ENABLED
#endif
#endif
/**
+ * LIBXML_THREAD_ALLOC_ENABLED:
+ *
+ * Whether the allocation hooks are per-thread
+ */
+#if 0
+#define LIBXML_THREAD_ALLOC_ENABLED
+#endif
+
+/**
* LIBXML_TREE_ENABLED:
*
* Whether the DOM like tree manipulation API support is configured in
@@ -236,7 +246,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
*
* Whether XPath is configured in
*/
-#if 0
+#if 1
#define LIBXML_XPATH_ENABLED
#endif
@@ -245,7 +255,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
*
* Whether XPointer is configured in
*/
-#if 0
+#if 1
#define LIBXML_XPTR_ENABLED
#endif
@@ -268,6 +278,15 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
#endif
/**
+ * LIBXML_ICU_ENABLED:
+ *
+ * Whether icu support is available
+ */
+#if 0
+#define LIBXML_ICU_ENABLED
+#endif
+
+/**
* LIBXML_ISO8859X_ENABLED:
*
* Whether ISO-8859-* support is made available in case iconv is not
@@ -382,21 +401,86 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
#endif
/**
- * ATTRIBUTE_UNUSED:
+ * LIBXML_LZMA_ENABLED:
*
- * Macro used to signal to GCC unused function parameters
+ * Whether the Lzma support is compiled in
*/
+#if 0
+#define LIBXML_LZMA_ENABLED
+#endif
+
#ifdef __GNUC__
#ifdef HAVE_ANSIDECL_H
#include <ansidecl.h>
#endif
+
+/**
+ * ATTRIBUTE_UNUSED:
+ *
+ * Macro used to signal to GCC unused function parameters
+ */
+
#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__((unused))
+# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
+# define ATTRIBUTE_UNUSED __attribute__((unused))
+# else
+# define ATTRIBUTE_UNUSED
+# endif
#endif
+
+/**
+ * LIBXML_ATTR_ALLOC_SIZE:
+ *
+ * Macro used to indicate to GCC this is an allocator function
+ */
+
+#ifndef LIBXML_ATTR_ALLOC_SIZE
+# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
+# define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
+# else
+# define LIBXML_ATTR_ALLOC_SIZE(x)
+# endif
#else
-#define ATTRIBUTE_UNUSED
+# define LIBXML_ATTR_ALLOC_SIZE(x)
+#endif
+
+/**
+ * LIBXML_ATTR_FORMAT:
+ *
+ * Macro used to indicate to GCC the parameter are printf like
+ */
+
+#ifndef LIBXML_ATTR_FORMAT
+# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
+# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
+# else
+# define LIBXML_ATTR_FORMAT(fmt,args)
+# endif
+#else
+# define LIBXML_ATTR_FORMAT(fmt,args)
#endif
+#else /* ! __GNUC__ */
+/**
+ * ATTRIBUTE_UNUSED:
+ *
+ * Macro used to signal to GCC unused function parameters
+ */
+#define ATTRIBUTE_UNUSED
+/**
+ * LIBXML_ATTR_ALLOC_SIZE:
+ *
+ * Macro used to indicate to GCC this is an allocator function
+ */
+#define LIBXML_ATTR_ALLOC_SIZE(x)
+/**
+ * LIBXML_ATTR_FORMAT:
+ *
+ * Macro used to indicate to GCC the parameter are printf like
+ */
+#define LIBXML_ATTR_FORMAT(fmt,args)
+#endif /* __GNUC__ */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/gettext-tools/gnulib-lib/libxml/xmlwriter.c b/gettext-tools/gnulib-lib/libxml/xmlwriter.c
index 5821056..fac20ac 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlwriter.c
+++ b/gettext-tools/gnulib-lib/libxml/xmlwriter.c
@@ -10,7 +10,6 @@
#define IN_LIBXML
#include "libxml.h"
-
#include <string.h>
#include <libxml/xmlmemory.h>
@@ -22,15 +21,18 @@
#include <libxml/xmlwriter.h>
+#include "buf.h"
+#include "enc.h"
+#include "save.h"
+
#define B64LINELEN 72
#define B64CRLF "\r\n"
/*
* The following VA_COPY was coded following an example in
* the Samba project. It may not be sufficient for some
- * esoteric implementations of va_list (i.e. it may need
- * something involving a memcpy) but (hopefully) will be
- * sufficient for libxml2.
+ * esoteric implementations of va_list but (hopefully) will
+ * be sufficient for libxml2.
*/
#ifndef VA_COPY
#ifdef HAVE_VA_COPY
@@ -39,7 +41,12 @@
#ifdef HAVE___VA_COPY
#define VA_COPY(dest,src) __va_copy(dest, src)
#else
- #define VA_COPY(dest,src) (dest) = (src)
+ #ifndef VA_LIST_IS_ARRAY
+ #define VA_COPY(dest,src) (dest) = (src)
+ #else
+ #include <string.h>
+ #define VA_COPY(dest,src) memcpy((char *)(dest),(char *)(src),sizeof(va_list))
+ #endif
#endif
#endif
#endif
@@ -98,6 +105,7 @@ struct _xmlTextWriter {
static void xmlFreeTextWriterStackEntry(xmlLinkPtr lk);
static int xmlCmpTextWriterStackEntry(const void *data0,
const void *data1);
+static int xmlTextWriterOutputNSDecl(xmlTextWriterPtr writer);
static void xmlFreeTextWriterNsStackEntry(xmlLinkPtr lk);
static int xmlCmpTextWriterNsStackEntry(const void *data0,
const void *data1);
@@ -129,10 +137,10 @@ xmlWriterErrMsg(xmlTextWriterPtr ctxt, xmlParserErrors error,
if (ctxt != NULL) {
__xmlRaiseError(NULL, NULL, NULL, ctxt->ctxt,
NULL, XML_FROM_WRITER, error, XML_ERR_FATAL,
- NULL, 0, NULL, NULL, NULL, 0, 0, msg);
+ NULL, 0, NULL, NULL, NULL, 0, 0, "%s", msg);
} else {
__xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_WRITER, error,
- XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, 0, 0, msg);
+ XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, 0, 0, "%s", msg);
}
}
@@ -242,8 +250,8 @@ xmlNewTextWriterFilename(const char *uri, int compression)
out = xmlOutputBufferCreateFilename(uri, NULL, compression);
if (out == NULL) {
- xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
- "xmlNewTextWriterFilename : out of memory!\n");
+ xmlWriterErrMsg(NULL, XML_IO_EIO,
+ "xmlNewTextWriterFilename : cannot open uri\n");
return NULL;
}
@@ -370,7 +378,7 @@ xmlNewTextWriterDoc(xmlDocPtr * doc, int compression)
ctxt = xmlCreatePushParserCtxt(&saxHandler, NULL, NULL, 0, NULL);
if (ctxt == NULL) {
xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
- "xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt!\n");
+ "xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt!\n");
return NULL;
}
/*
@@ -389,8 +397,10 @@ xmlNewTextWriterDoc(xmlDocPtr * doc, int compression)
ret = xmlNewTextWriterPushParser(ctxt, compression);
if (ret == NULL) {
+ xmlFreeDoc(ctxt->myDoc);
+ xmlFreeParserCtxt(ctxt);
xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
- "xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser!\n");
+ "xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser!\n");
return NULL;
}
@@ -545,8 +555,10 @@ xmlTextWriterStartDocument(xmlTextWriterPtr writer, const char *version,
writer->out->encoder = encoder;
if (encoder != NULL) {
- writer->out->conv = xmlBufferCreateSize(4000);
- xmlCharEncOutFunc(encoder, writer->out->conv, NULL);
+ if (writer->out->conv == NULL) {
+ writer->out->conv = xmlBufCreateSize(4000);
+ }
+ xmlCharEncOutput(writer->out, 1);
if ((writer->doc != NULL) && (writer->doc->encoding == NULL))
writer->doc->encoding = xmlStrdup((xmlChar *)writer->out->encoder->name);
} else
@@ -624,9 +636,10 @@ xmlTextWriterStartDocument(xmlTextWriterPtr writer, const char *version,
* xmlTextWriterEndDocument:
* @writer: the xmlTextWriterPtr
*
- * End an xml document. All open elements are closed
+ * End an xml document. All open elements are closed, and
+ * the content is flushed to the output.
*
- * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
+ * Returns the bytes written or -1 in case of error
*/
int
xmlTextWriterEndDocument(xmlTextWriterPtr writer)
@@ -700,6 +713,9 @@ xmlTextWriterEndDocument(xmlTextWriterPtr writer)
return -1;
sum += count;
}
+
+ sum += xmlTextWriterFlush(writer);
+
return sum;
}
@@ -735,6 +751,11 @@ xmlTextWriterStartComment(xmlTextWriterPtr writer)
case XML_TEXTWRITER_NONE:
break;
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
count = xmlOutputBufferWriteString(writer->out, ">");
if (count < 0)
return -1;
@@ -887,8 +908,8 @@ xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
}
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteComment(writer, buf);
@@ -966,6 +987,11 @@ xmlTextWriterStartElement(xmlTextWriterPtr writer, const xmlChar * name)
sum += count;
/* fallthrough */
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
count = xmlOutputBufferWriteString(writer->out, ">");
if (count < 0)
return -1;
@@ -1056,17 +1082,31 @@ xmlTextWriterStartElementNS(xmlTextWriterPtr writer,
sum += count;
if (namespaceURI != 0) {
+ xmlTextWriterNsStackEntry *p = (xmlTextWriterNsStackEntry *)
+ xmlMalloc(sizeof(xmlTextWriterNsStackEntry));
+ if (p == 0) {
+ xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
+ "xmlTextWriterStartElementNS : out of memory!\n");
+ return -1;
+ }
+
buf = xmlStrdup(BAD_CAST "xmlns");
if (prefix != 0) {
buf = xmlStrcat(buf, BAD_CAST ":");
buf = xmlStrcat(buf, prefix);
}
- count = xmlTextWriterWriteAttribute(writer, buf, namespaceURI);
- xmlFree(buf);
- if (count < 0)
+ p->prefix = buf;
+ p->uri = xmlStrdup(namespaceURI);
+ if (p->uri == 0) {
+ xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
+ "xmlTextWriterStartElementNS : out of memory!\n");
+ xmlFree(p);
return -1;
- sum += count;
+ }
+ p->elem = xmlListFront(writer->nodes);
+
+ xmlListPushFront(writer->nsstack, p);
}
return sum;
@@ -1092,22 +1132,37 @@ xmlTextWriterEndElement(xmlTextWriterPtr writer)
return -1;
lk = xmlListFront(writer->nodes);
- if (lk == 0)
+ if (lk == 0) {
+ xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
+ }
p = (xmlTextWriterStackEntry *) xmlLinkGetData(lk);
- if (p == 0)
+ if (p == 0) {
+ xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
+ }
sum = 0;
switch (p->state) {
case XML_TEXTWRITER_ATTRIBUTE:
count = xmlTextWriterEndAttribute(writer);
- if (count < 0)
+ if (count < 0) {
+ xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
return -1;
+ }
sum += count;
/* fallthrough */
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
+
if (writer->indent) /* next element needs indent */
writer->doindent = 1;
count = xmlOutputBufferWriteString(writer->out, "/>");
@@ -1185,12 +1240,26 @@ xmlTextWriterFullEndElement(xmlTextWriterPtr writer)
sum += count;
/* fallthrough */
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
+
count = xmlOutputBufferWriteString(writer->out, ">");
if (count < 0)
return -1;
sum += count;
+ if (writer->indent)
+ writer->doindent = 0;
/* fallthrough */
case XML_TEXTWRITER_TEXT:
+ if ((writer->indent) && (writer->doindent)) {
+ count = xmlTextWriterWriteIndent(writer);
+ sum += count;
+ writer->doindent = 1;
+ } else
+ writer->doindent = 1;
count = xmlOutputBufferWriteString(writer->out, "</");
if (count < 0)
return -1;
@@ -1209,6 +1278,11 @@ xmlTextWriterFullEndElement(xmlTextWriterPtr writer)
return -1;
}
+ if (writer->indent) {
+ count = xmlOutputBufferWriteString(writer->out, "\n");
+ sum += count;
+ }
+
xmlListPopFront(writer->nodes);
return sum;
}
@@ -1259,8 +1333,8 @@ xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer, const char *format,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteRaw(writer, buf);
@@ -1388,8 +1462,8 @@ xmlTextWriterWriteVFormatString(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteString(writer, buf);
@@ -1435,8 +1509,8 @@ xmlTextWriterWriteString(xmlTextWriterPtr writer, const xmlChar * content)
break;
case XML_TEXTWRITER_ATTRIBUTE:
buf = NULL;
- xmlAttrSerializeTxtContent(writer->out->buffer, writer->doc,
- NULL, content);
+ xmlBufAttrSerializeTxtContent(writer->out->buffer,
+ writer->doc, NULL, content);
break;
default:
break;
@@ -1446,12 +1520,13 @@ xmlTextWriterWriteString(xmlTextWriterPtr writer, const xmlChar * content)
if (buf != NULL) {
count = xmlTextWriterWriteRaw(writer, buf);
- if (count < 0)
- return -1;
- sum += count;
if (buf != content) /* buf was allocated by us, so free it */
xmlFree(buf);
+
+ if (count < 0)
+ return -1;
+ sum += count;
}
return sum;
@@ -1596,7 +1671,7 @@ xmlTextWriterWriteBase64(xmlTextWriterPtr writer, const char *data,
* Write hqx encoded data to an xmlOutputBuffer.
* ::todo
*
- * Returns the bytes written (may be 0 because of buffering)
+ * Returns the bytes written (may be 0 because of buffering)
* or -1 in case of error
*/
static int
@@ -1605,8 +1680,8 @@ xmlOutputBufferWriteBinHex(xmlOutputBufferPtr out,
{
int count;
int sum;
- static char hex[16] =
- {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
+ static char hex[16] =
+ {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int i;
if ((out == NULL) || (data == NULL) || (len < 0)) {
@@ -1768,6 +1843,57 @@ xmlTextWriterStartAttributeNS(xmlTextWriterPtr writer,
if ((writer == NULL) || (name == NULL) || (*name == '\0'))
return -1;
+ /* Handle namespace first in case of error */
+ if (namespaceURI != 0) {
+ xmlTextWriterNsStackEntry nsentry, *curns;
+
+ buf = xmlStrdup(BAD_CAST "xmlns");
+ if (prefix != 0) {
+ buf = xmlStrcat(buf, BAD_CAST ":");
+ buf = xmlStrcat(buf, prefix);
+ }
+
+ nsentry.prefix = buf;
+ nsentry.uri = (xmlChar *)namespaceURI;
+ nsentry.elem = xmlListFront(writer->nodes);
+
+ curns = (xmlTextWriterNsStackEntry *)xmlListSearch(writer->nsstack,
+ (void *)&nsentry);
+ if ((curns != NULL)) {
+ xmlFree(buf);
+ if (xmlStrcmp(curns->uri, namespaceURI) == 0) {
+ /* Namespace already defined on element skip */
+ buf = NULL;
+ } else {
+ /* Prefix mismatch so error out */
+ return -1;
+ }
+ }
+
+ /* Do not add namespace decl to list - it is already there */
+ if (buf != NULL) {
+ p = (xmlTextWriterNsStackEntry *)
+ xmlMalloc(sizeof(xmlTextWriterNsStackEntry));
+ if (p == 0) {
+ xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
+ "xmlTextWriterStartAttributeNS : out of memory!\n");
+ return -1;
+ }
+
+ p->prefix = buf;
+ p->uri = xmlStrdup(namespaceURI);
+ if (p->uri == 0) {
+ xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
+ "xmlTextWriterStartAttributeNS : out of memory!\n");
+ xmlFree(p);
+ return -1;
+ }
+ p->elem = xmlListFront(writer->nodes);
+
+ xmlListPushFront(writer->nsstack, p);
+ }
+ }
+
buf = NULL;
if (prefix != 0) {
buf = xmlStrdup(prefix);
@@ -1782,34 +1908,6 @@ xmlTextWriterStartAttributeNS(xmlTextWriterPtr writer,
return -1;
sum += count;
- if (namespaceURI != 0) {
- buf = xmlStrdup(BAD_CAST "xmlns");
- if (prefix != 0) {
- buf = xmlStrcat(buf, BAD_CAST ":");
- buf = xmlStrcat(buf, prefix);
- }
-
- p = (xmlTextWriterNsStackEntry *)
- xmlMalloc(sizeof(xmlTextWriterNsStackEntry));
- if (p == 0) {
- xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
- "xmlTextWriterStartAttributeNS : out of memory!\n");
- return -1;
- }
-
- p->prefix = buf;
- p->uri = xmlStrdup(namespaceURI);
- if (p->uri == 0) {
- xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
- "xmlTextWriterStartAttributeNS : out of memory!\n");
- xmlFree(p);
- return -1;
- }
- p->elem = xmlListFront(writer->nodes);
-
- xmlListPushFront(writer->nsstack, p);
- }
-
return sum;
}
@@ -1828,22 +1926,17 @@ xmlTextWriterEndAttribute(xmlTextWriterPtr writer)
int sum;
xmlLinkPtr lk;
xmlTextWriterStackEntry *p;
- xmlTextWriterNsStackEntry *np;
if (writer == NULL)
return -1;
lk = xmlListFront(writer->nodes);
if (lk == 0) {
- xmlListDelete(writer->nsstack);
- writer->nsstack = NULL;
return -1;
}
p = (xmlTextWriterStackEntry *) xmlLinkGetData(lk);
if (p == 0) {
- xmlListDelete(writer->nsstack);
- writer->nsstack = NULL;
return -1;
}
@@ -1854,45 +1947,11 @@ xmlTextWriterEndAttribute(xmlTextWriterPtr writer)
count = xmlOutputBufferWrite(writer->out, 1, &writer->qchar);
if (count < 0) {
- xmlListDelete(writer->nsstack);
- writer->nsstack = NULL;
return -1;
}
sum += count;
-
- while (!xmlListEmpty(writer->nsstack)) {
- xmlChar *namespaceURI = NULL;
- xmlChar *prefix = NULL;
-
- lk = xmlListFront(writer->nsstack);
- np = (xmlTextWriterNsStackEntry *) xmlLinkGetData(lk);
-
- if (np != 0) {
- namespaceURI = xmlStrdup(np->uri);
- prefix = xmlStrdup(np->prefix);
- }
-
- xmlListPopFront(writer->nsstack);
-
- if (np != 0) {
- count =
- xmlTextWriterWriteAttribute(writer, prefix,
- namespaceURI);
- xmlFree(namespaceURI);
- xmlFree(prefix);
-
- if (count < 0) {
- xmlListDelete(writer->nsstack);
- writer->nsstack = NULL;
- return -1;
- }
- sum += count;
- }
- }
break;
-
default:
- xmlListClear(writer->nsstack);
return -1;
}
@@ -1949,8 +2008,8 @@ xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteAttribute(writer, name, buf);
@@ -2051,8 +2110,8 @@ xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteAttributeNS(writer, prefix, name, namespaceURI,
buf);
@@ -2081,38 +2140,24 @@ xmlTextWriterWriteAttributeNS(xmlTextWriterPtr writer,
{
int count;
int sum;
- xmlChar *buf;
if ((writer == NULL) || (name == NULL) || (*name == '\0'))
return -1;
- buf = NULL;
- if (prefix != NULL) {
- buf = xmlStrdup(prefix);
- buf = xmlStrcat(buf, BAD_CAST ":");
- }
- buf = xmlStrcat(buf, name);
-
sum = 0;
- count = xmlTextWriterWriteAttribute(writer, buf, content);
- xmlFree(buf);
+ count = xmlTextWriterStartAttributeNS(writer, prefix, name, namespaceURI);
+ if (count < 0)
+ return -1;
+ sum += count;
+ count = xmlTextWriterWriteString(writer, content);
+ if (count < 0)
+ return -1;
+ sum += count;
+ count = xmlTextWriterEndAttribute(writer);
if (count < 0)
return -1;
sum += count;
- if (namespaceURI != NULL) {
- buf = NULL;
- buf = xmlStrdup(BAD_CAST "xmlns");
- if (prefix != NULL) {
- buf = xmlStrcat(buf, BAD_CAST ":");
- buf = xmlStrcat(buf, prefix);
- }
- count = xmlTextWriterWriteAttribute(writer, buf, namespaceURI);
- xmlFree(buf);
- if (count < 0)
- return -1;
- sum += count;
- }
return sum;
}
@@ -2166,8 +2211,8 @@ xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteElement(writer, name, buf);
@@ -2197,10 +2242,12 @@ xmlTextWriterWriteElement(xmlTextWriterPtr writer, const xmlChar * name,
if (count == -1)
return -1;
sum += count;
- count = xmlTextWriterWriteString(writer, content);
- if (count == -1)
- return -1;
- sum += count;
+ if (content != NULL) {
+ count = xmlTextWriterWriteString(writer, content);
+ if (count == -1)
+ return -1;
+ sum += count;
+ }
count = xmlTextWriterEndElement(writer);
if (count == -1)
return -1;
@@ -2268,8 +2315,8 @@ xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteElementNS(writer, prefix, name, namespaceURI,
buf);
@@ -2359,6 +2406,11 @@ xmlTextWriterStartPI(xmlTextWriterPtr writer, const xmlChar * target)
sum += count;
/* fallthrough */
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
count = xmlOutputBufferWriteString(writer->out, ">");
if (count < 0)
return -1;
@@ -2454,8 +2506,8 @@ xmlTextWriterEndPI(xmlTextWriterPtr writer)
if (writer->indent) {
count = xmlOutputBufferWriteString(writer->out, "\n");
- if (count < 0)
- return -1;
+ if (count < 0)
+ return -1;
sum += count;
}
@@ -2512,8 +2564,8 @@ xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWritePI(writer, target, buf);
@@ -2583,6 +2635,7 @@ xmlTextWriterStartCDATA(xmlTextWriterPtr writer)
if (p != 0) {
switch (p->state) {
case XML_TEXTWRITER_NONE:
+ case XML_TEXTWRITER_TEXT:
case XML_TEXTWRITER_PI:
case XML_TEXTWRITER_PI_TEXT:
break;
@@ -2593,6 +2646,11 @@ xmlTextWriterStartCDATA(xmlTextWriterPtr writer)
sum += count;
/* fallthrough */
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
count = xmlOutputBufferWriteString(writer->out, ">");
if (count < 0)
return -1;
@@ -2719,8 +2777,8 @@ xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer, const char *format,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteCDATA(writer, buf);
@@ -3037,8 +3095,8 @@ xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteDTD(writer, name, pubid, sysid, buf);
@@ -3275,8 +3333,8 @@ xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteDTDElement(writer, name, buf);
@@ -3512,8 +3570,8 @@ xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteDTDAttlist(writer, name, buf);
@@ -3774,8 +3832,8 @@ xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
return -1;
buf = xmlTextWriterVSprintf(format, argptr);
- if (buf == 0)
- return 0;
+ if (buf == NULL)
+ return -1;
rc = xmlTextWriterWriteDTDInternalEntity(writer, pe, name, buf);
@@ -4249,6 +4307,51 @@ xmlCmpTextWriterStackEntry(const void *data0, const void *data1)
*/
/**
+ * xmlTextWriterOutputNSDecl:
+ * @writer: the xmlTextWriterPtr
+ *
+ * Output the current namespace declarations.
+ */
+static int
+xmlTextWriterOutputNSDecl(xmlTextWriterPtr writer)
+{
+ xmlLinkPtr lk;
+ xmlTextWriterNsStackEntry *np;
+ int count;
+ int sum;
+
+ sum = 0;
+ while (!xmlListEmpty(writer->nsstack)) {
+ xmlChar *namespaceURI = NULL;
+ xmlChar *prefix = NULL;
+
+ lk = xmlListFront(writer->nsstack);
+ np = (xmlTextWriterNsStackEntry *) xmlLinkGetData(lk);
+
+ if (np != 0) {
+ namespaceURI = xmlStrdup(np->uri);
+ prefix = xmlStrdup(np->prefix);
+ }
+
+ xmlListPopFront(writer->nsstack);
+
+ if (np != 0) {
+ count = xmlTextWriterWriteAttribute(writer, prefix, namespaceURI);
+ xmlFree(namespaceURI);
+ xmlFree(prefix);
+
+ if (count < 0) {
+ xmlListDelete(writer->nsstack);
+ writer->nsstack = NULL;
+ return -1;
+ }
+ sum += count;
+ }
+ }
+ return sum;
+}
+
+/**
* xmlFreeTextWriterNsStackEntry:
* @lk: the xmlLinkPtr
*
@@ -4301,8 +4404,8 @@ xmlCmpTextWriterNsStackEntry(const void *data0, const void *data1)
rc = xmlStrcmp(p0->prefix, p1->prefix);
- if (rc == 0)
- rc = p0->elem == p1->elem;
+ if ((rc != 0) || (p0->elem != p1->elem))
+ rc = -1;
return rc;
}
@@ -4513,6 +4616,26 @@ xmlTextWriterSetIndentString(xmlTextWriterPtr writer, const xmlChar * str)
}
/**
+ * xmlTextWriterSetQuoteChar:
+ * @writer: the xmlTextWriterPtr
+ * @quotechar: the quote character
+ *
+ * Set the character used for quoting attributes.
+ *
+ * Returns -1 on error or 0 otherwise.
+ */
+int
+xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar)
+{
+ if ((writer == NULL) || ((quotechar != '\'') && (quotechar != '"')))
+ return -1;
+
+ writer->qchar = quotechar;
+
+ return 0;
+}
+
+/**
* xmlTextWriterWriteIndent:
* @writer: the xmlTextWriterPtr
*
@@ -4569,6 +4692,11 @@ xmlTextWriterHandleStateDependencies(xmlTextWriterPtr writer,
sum = 0;
switch (p->state) {
case XML_TEXTWRITER_NAME:
+ /* Output namespace declarations */
+ count = xmlTextWriterOutputNSDecl(writer);
+ if (count < 0)
+ return -1;
+ sum += count;
extra[0] = '>';
p->state = XML_TEXTWRITER_TEXT;
break;
diff --git a/gettext-tools/gnulib-lib/libxml/xmlwriter.in.h b/gettext-tools/gnulib-lib/libxml/xmlwriter.in.h
index 31ceb5f..dd5add3 100644
--- a/gettext-tools/gnulib-lib/libxml/xmlwriter.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xmlwriter.in.h
@@ -1,4 +1,3 @@
-
/*
* Summary: text writing API for XML
* Description: text writing API for XML
@@ -69,11 +68,13 @@ extern "C" {
XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(2,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
writer,
const xmlChar *
@@ -102,12 +103,14 @@ extern "C" {
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
const xmlChar * name,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
const xmlChar * name,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(3,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
writer,
const xmlChar * name,
@@ -118,14 +121,16 @@ extern "C" {
const xmlChar * prefix,
const xmlChar * name,
const xmlChar * namespaceURI,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(5,6);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
const xmlChar * prefix,
const xmlChar * name,
const xmlChar * namespaceURI,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(5,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
writer,
const xmlChar *
@@ -141,10 +146,12 @@ extern "C" {
*/
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
- const char *format, va_list argptr);
+ const char *format, va_list argptr)
+ LIBXML_ATTR_FORMAT(2,0);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
const xmlChar * content, int len);
@@ -154,12 +161,14 @@ extern "C" {
XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
writer,
const char
- *format, ...);
+ *format, ...)
+ LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
writer,
const char
*format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(2,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
const xmlChar *
content);
@@ -193,12 +202,14 @@ extern "C" {
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
const xmlChar * name,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
const xmlChar * name,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(3,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
writer,
const xmlChar * name,
@@ -209,14 +220,16 @@ extern "C" {
const xmlChar * prefix,
const xmlChar * name,
const xmlChar * namespaceURI,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(5,6);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
const xmlChar * prefix,
const xmlChar * name,
const xmlChar * namespaceURI,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(5,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
writer,
const xmlChar *
@@ -242,11 +255,13 @@ extern "C" {
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
const xmlChar * target,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
const xmlChar * target,
- const char *format, va_list argptr);
+ const char *format, va_list argptr)
+ LIBXML_ATTR_FORMAT(3,0);
XMLPUBFUN int XMLCALL
xmlTextWriterWritePI(xmlTextWriterPtr writer,
const xmlChar * target,
@@ -270,10 +285,12 @@ extern "C" {
*/
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
- const char *format, va_list argptr);
+ const char *format, va_list argptr)
+ LIBXML_ATTR_FORMAT(2,0);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
const xmlChar * content);
@@ -296,13 +313,15 @@ extern "C" {
const xmlChar * name,
const xmlChar * pubid,
const xmlChar * sysid,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(5,6);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
const xmlChar * name,
const xmlChar * pubid,
const xmlChar * sysid,
- const char *format, va_list argptr);
+ const char *format, va_list argptr)
+ LIBXML_ATTR_FORMAT(5,0);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
const xmlChar * name,
@@ -332,12 +351,14 @@ extern "C" {
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
const xmlChar * name,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
const xmlChar * name,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(3,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
writer,
const xmlChar *
@@ -360,12 +381,14 @@ extern "C" {
XMLPUBFUN int XMLCALL
xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
const xmlChar * name,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
const xmlChar * name,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(3,0);
XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
writer,
const xmlChar *
@@ -389,13 +412,15 @@ extern "C" {
xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
int pe,
const xmlChar * name,
- const char *format, ...);
+ const char *format, ...)
+ LIBXML_ATTR_FORMAT(4,5);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
int pe,
const xmlChar * name,
const char *format,
- va_list argptr);
+ va_list argptr)
+ LIBXML_ATTR_FORMAT(4,0);
XMLPUBFUN int XMLCALL
xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
int pe,
@@ -445,6 +470,10 @@ extern "C" {
xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
const xmlChar * str);
+ XMLPUBFUN int XMLCALL
+ xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
+
+
/*
* misc
*/
diff --git a/gettext-tools/gnulib-lib/libxml/xpath.c b/gettext-tools/gnulib-lib/libxml/xpath.c
index 8964628..935fcff 100644
--- a/gettext-tools/gnulib-lib/libxml/xpath.c
+++ b/gettext-tools/gnulib-lib/libxml/xpath.c
@@ -55,15 +55,26 @@
#include <libxml/pattern.h>
#endif
+#include "buf.h"
+
#ifdef LIBXML_PATTERN_ENABLED
#define XPATH_STREAMING
#endif
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
+/**
+ * WITH_TIM_SORT:
+ *
+ * Use the Timsort algorithm provided in timsort.h to sort
+ * nodeset as this is a great improvement over the old Shell sort
+ * used in xmlXPathNodeSetSort()
+ */
+#define WITH_TIM_SORT
+
/*
* XP_OPTIMIZED_NON_ELEM_COMPARISON:
* If defined, this will use xmlXPathCmpNodesExt() instead of
@@ -79,7 +90,7 @@
* XP_OPTIMIZED_FILTER_FIRST:
* If defined, this will optimize expressions like "key('foo', 'val')[b][1]"
* in a way, that it stop evaluation at the first node.
-*/
+*/
#define XP_OPTIMIZED_FILTER_FIRST
/*
@@ -90,18 +101,373 @@
/* #define XP_DEBUG_OBJ_USAGE */
/*
+ * XPATH_MAX_STEPS:
+ * when compiling an XPath expression we arbitrary limit the maximum
+ * number of step operation in the compiled expression. 1000000 is
+ * an insanely large value which should never be reached under normal
+ * circumstances
+ */
+#define XPATH_MAX_STEPS 1000000
+
+/*
+ * XPATH_MAX_STACK_DEPTH:
+ * when evaluating an XPath expression we arbitrary limit the maximum
+ * number of object allowed to be pushed on the stack. 1000000 is
+ * an insanely large value which should never be reached under normal
+ * circumstances
+ */
+#define XPATH_MAX_STACK_DEPTH 1000000
+
+/*
+ * XPATH_MAX_NODESET_LENGTH:
+ * when evaluating an XPath expression nodesets are created and we
+ * arbitrary limit the maximum length of those node set. 10000000 is
+ * an insanely large value which should never be reached under normal
+ * circumstances, one would first need to construct an in memory tree
+ * with more than 10 millions nodes.
+ */
+#define XPATH_MAX_NODESET_LENGTH 10000000
+
+/*
* TODO:
* There are a few spots where some tests are done which depend upon ascii
* data. These should be enhanced for full UTF8 support (see particularly
* any use of the macros IS_ASCII_CHARACTER and IS_ASCII_DIGIT)
*/
+#ifdef XP_OPTIMIZED_NON_ELEM_COMPARISON
+/**
+ * xmlXPathCmpNodesExt:
+ * @node1: the first node
+ * @node2: the second node
+ *
+ * Compare two nodes w.r.t document order.
+ * This one is optimized for handling of non-element nodes.
+ *
+ * Returns -2 in case of error 1 if first point < second point, 0 if
+ * it's the same node, -1 otherwise
+ */
+static int
+xmlXPathCmpNodesExt(xmlNodePtr node1, xmlNodePtr node2) {
+ int depth1, depth2;
+ int misc = 0, precedence1 = 0, precedence2 = 0;
+ xmlNodePtr miscNode1 = NULL, miscNode2 = NULL;
+ xmlNodePtr cur, root;
+ long l1, l2;
+
+ if ((node1 == NULL) || (node2 == NULL))
+ return(-2);
+
+ if (node1 == node2)
+ return(0);
+
+ /*
+ * a couple of optimizations which will avoid computations in most cases
+ */
+ switch (node1->type) {
+ case XML_ELEMENT_NODE:
+ if (node2->type == XML_ELEMENT_NODE) {
+ if ((0 > (long) node1->content) && /* TODO: Would a != 0 suffice here? */
+ (0 > (long) node2->content) &&
+ (node1->doc == node2->doc))
+ {
+ l1 = -((long) node1->content);
+ l2 = -((long) node2->content);
+ if (l1 < l2)
+ return(1);
+ if (l1 > l2)
+ return(-1);
+ } else
+ goto turtle_comparison;
+ }
+ break;
+ case XML_ATTRIBUTE_NODE:
+ precedence1 = 1; /* element is owner */
+ miscNode1 = node1;
+ node1 = node1->parent;
+ misc = 1;
+ break;
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ case XML_COMMENT_NODE:
+ case XML_PI_NODE: {
+ miscNode1 = node1;
+ /*
+ * Find nearest element node.
+ */
+ if (node1->prev != NULL) {
+ do {
+ node1 = node1->prev;
+ if (node1->type == XML_ELEMENT_NODE) {
+ precedence1 = 3; /* element in prev-sibl axis */
+ break;
+ }
+ if (node1->prev == NULL) {
+ precedence1 = 2; /* element is parent */
+ /*
+ * URGENT TODO: Are there any cases, where the
+ * parent of such a node is not an element node?
+ */
+ node1 = node1->parent;
+ break;
+ }
+ } while (1);
+ } else {
+ precedence1 = 2; /* element is parent */
+ node1 = node1->parent;
+ }
+ if ((node1 == NULL) || (node1->type != XML_ELEMENT_NODE) ||
+ (0 <= (long) node1->content)) {
+ /*
+ * Fallback for whatever case.
+ */
+ node1 = miscNode1;
+ precedence1 = 0;
+ } else
+ misc = 1;
+ }
+ break;
+ case XML_NAMESPACE_DECL:
+ /*
+ * TODO: why do we return 1 for namespace nodes?
+ */
+ return(1);
+ default:
+ break;
+ }
+ switch (node2->type) {
+ case XML_ELEMENT_NODE:
+ break;
+ case XML_ATTRIBUTE_NODE:
+ precedence2 = 1; /* element is owner */
+ miscNode2 = node2;
+ node2 = node2->parent;
+ misc = 1;
+ break;
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ case XML_COMMENT_NODE:
+ case XML_PI_NODE: {
+ miscNode2 = node2;
+ if (node2->prev != NULL) {
+ do {
+ node2 = node2->prev;
+ if (node2->type == XML_ELEMENT_NODE) {
+ precedence2 = 3; /* element in prev-sibl axis */
+ break;
+ }
+ if (node2->prev == NULL) {
+ precedence2 = 2; /* element is parent */
+ node2 = node2->parent;
+ break;
+ }
+ } while (1);
+ } else {
+ precedence2 = 2; /* element is parent */
+ node2 = node2->parent;
+ }
+ if ((node2 == NULL) || (node2->type != XML_ELEMENT_NODE) ||
+ (0 <= (long) node2->content))
+ {
+ node2 = miscNode2;
+ precedence2 = 0;
+ } else
+ misc = 1;
+ }
+ break;
+ case XML_NAMESPACE_DECL:
+ return(1);
+ default:
+ break;
+ }
+ if (misc) {
+ if (node1 == node2) {
+ if (precedence1 == precedence2) {
+ /*
+ * The ugly case; but normally there aren't many
+ * adjacent non-element nodes around.
+ */
+ cur = miscNode2->prev;
+ while (cur != NULL) {
+ if (cur == miscNode1)
+ return(1);
+ if (cur->type == XML_ELEMENT_NODE)
+ return(-1);
+ cur = cur->prev;
+ }
+ return (-1);
+ } else {
+ /*
+ * Evaluate based on higher precedence wrt to the element.
+ * TODO: This assumes attributes are sorted before content.
+ * Is this 100% correct?
+ */
+ if (precedence1 < precedence2)
+ return(1);
+ else
+ return(-1);
+ }
+ }
+ /*
+ * Special case: One of the helper-elements is contained by the other.
+ * <foo>
+ * <node2>
+ * <node1>Text-1(precedence1 == 2)</node1>
+ * </node2>
+ * Text-6(precedence2 == 3)
+ * </foo>
+ */
+ if ((precedence2 == 3) && (precedence1 > 1)) {
+ cur = node1->parent;
+ while (cur) {
+ if (cur == node2)
+ return(1);
+ cur = cur->parent;
+ }
+ }
+ if ((precedence1 == 3) && (precedence2 > 1)) {
+ cur = node2->parent;
+ while (cur) {
+ if (cur == node1)
+ return(-1);
+ cur = cur->parent;
+ }
+ }
+ }
+
+ /*
+ * Speedup using document order if availble.
+ */
+ if ((node1->type == XML_ELEMENT_NODE) &&
+ (node2->type == XML_ELEMENT_NODE) &&
+ (0 > (long) node1->content) &&
+ (0 > (long) node2->content) &&
+ (node1->doc == node2->doc)) {
+
+ l1 = -((long) node1->content);
+ l2 = -((long) node2->content);
+ if (l1 < l2)
+ return(1);
+ if (l1 > l2)
+ return(-1);
+ }
+
+turtle_comparison:
+
+ if (node1 == node2->prev)
+ return(1);
+ if (node1 == node2->next)
+ return(-1);
+ /*
+ * compute depth to root
+ */
+ for (depth2 = 0, cur = node2; cur->parent != NULL; cur = cur->parent) {
+ if (cur->parent == node1)
+ return(1);
+ depth2++;
+ }
+ root = cur;
+ for (depth1 = 0, cur = node1; cur->parent != NULL; cur = cur->parent) {
+ if (cur->parent == node2)
+ return(-1);
+ depth1++;
+ }
+ /*
+ * Distinct document (or distinct entities :-( ) case.
+ */
+ if (root != cur) {
+ return(-2);
+ }
+ /*
+ * get the nearest common ancestor.
+ */
+ while (depth1 > depth2) {
+ depth1--;
+ node1 = node1->parent;
+ }
+ while (depth2 > depth1) {
+ depth2--;
+ node2 = node2->parent;
+ }
+ while (node1->parent != node2->parent) {
+ node1 = node1->parent;
+ node2 = node2->parent;
+ /* should not happen but just in case ... */
+ if ((node1 == NULL) || (node2 == NULL))
+ return(-2);
+ }
+ /*
+ * Find who's first.
+ */
+ if (node1 == node2->prev)
+ return(1);
+ if (node1 == node2->next)
+ return(-1);
+ /*
+ * Speedup using document order if availble.
+ */
+ if ((node1->type == XML_ELEMENT_NODE) &&
+ (node2->type == XML_ELEMENT_NODE) &&
+ (0 > (long) node1->content) &&
+ (0 > (long) node2->content) &&
+ (node1->doc == node2->doc)) {
+
+ l1 = -((long) node1->content);
+ l2 = -((long) node2->content);
+ if (l1 < l2)
+ return(1);
+ if (l1 > l2)
+ return(-1);
+ }
+
+ for (cur = node1->next;cur != NULL;cur = cur->next)
+ if (cur == node2)
+ return(1);
+ return(-1); /* assume there is no sibling list corruption */
+}
+#endif /* XP_OPTIMIZED_NON_ELEM_COMPARISON */
+
+/*
+ * Wrapper for the Timsort argorithm from timsort.h
+ */
+#ifdef WITH_TIM_SORT
+#define SORT_NAME libxml_domnode
+#define SORT_TYPE xmlNodePtr
+/**
+ * wrap_cmp:
+ * @x: a node
+ * @y: another node
+ *
+ * Comparison function for the Timsort implementation
+ *
+ * Returns -2 in case of error -1 if first point < second point, 0 if
+ * it's the same node, +1 otherwise
+ */
+static
+int wrap_cmp( xmlNodePtr x, xmlNodePtr y );
+#ifdef XP_OPTIMIZED_NON_ELEM_COMPARISON
+ static int wrap_cmp( xmlNodePtr x, xmlNodePtr y )
+ {
+ int res = xmlXPathCmpNodesExt(x, y);
+ return res == -2 ? res : -res;
+ }
+#else
+ static int wrap_cmp( xmlNodePtr x, xmlNodePtr y )
+ {
+ int res = xmlXPathCmpNodes(x, y);
+ return res == -2 ? res : -res;
+ }
+#endif
+#define SORT_CMP(x, y) (wrap_cmp(x, y))
+#include "timsort.h"
+#endif /* WITH_TIM_SORT */
+
#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
/************************************************************************
- * *
- * Floating point stuff *
- * *
+ * *
+ * Floating point stuff *
+ * *
************************************************************************/
#ifndef TRIO_REPLACE_STDIO
@@ -142,7 +508,7 @@ xmlXPathInit(void) {
* Provides a portable isnan() function to detect whether a double
* is a NotaNumber. Based on trio code
* http://sourceforge.net/projects/ctrio/
- *
+ *
* Returns 1 if the value is a NaN, 0 otherwise
*/
int
@@ -157,7 +523,7 @@ xmlXPathIsNaN(double val) {
* Provides a portable isinf() function to detect whether a double
* is a +Infinite or -Infinite. Based on trio code
* http://sourceforge.net/projects/ctrio/
- *
+ *
* Returns 1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise
*/
int
@@ -174,7 +540,7 @@ xmlXPathIsInf(double val) {
* Provides a portable function to detect the sign of a double
* Modified from trio code
* http://sourceforge.net/projects/ctrio/
- *
+ *
* Returns 1 if the value is Negative, 0 if positive
*/
static int
@@ -187,22 +553,23 @@ xmlXPathGetSign(double val) {
* TODO: when compatibility allows remove all "fake node libxslt" strings
* the test should just be name[0] = ' '
*/
-/* #define DEBUG */
-/* #define DEBUG_STEP */
-/* #define DEBUG_STEP_NTH */
-/* #define DEBUG_EXPR */
-/* #define DEBUG_EVAL_COUNTS */
+#ifdef DEBUG_XPATH_EXPRESSION
+#define DEBUG_STEP
+#define DEBUG_EXPR
+#define DEBUG_EVAL_COUNTS
+#endif
static xmlNs xmlXPathXMLNamespaceStruct = {
NULL,
XML_NAMESPACE_DECL,
XML_XML_NAMESPACE,
BAD_CAST "xml",
+ NULL,
NULL
};
static xmlNsPtr xmlXPathXMLNamespace = &xmlXPathXMLNamespaceStruct;
#ifndef LIBXML_THREAD_ENABLED
-/*
+/*
* Optimizer is disabled only when threaded apps are detected while
* the library ain't compiled for thread safety.
*/
@@ -251,6 +618,8 @@ static const char *xmlXPathErrorMessages[] = {
"Encoding error\n",
"Char out of XML range\n",
"Invalid or incomplete context\n",
+ "Stack usage error\n",
+ "Forbidden variable\n",
"?? Unknown error ??\n" /* Must be last in the list! */
};
#define MAXERRNO ((int)(sizeof(xmlXPathErrorMessages) / \
@@ -333,7 +702,7 @@ xmlXPathErr(xmlXPathParserContextPtr ctxt, int error)
error + XML_XPATH_EXPRESSION_OK - XPATH_EXPRESSION_OK,
XML_ERR_ERROR, NULL, 0,
NULL, NULL, NULL, 0, 0,
- xmlXPathErrorMessages[error]);
+ "%s", xmlXPathErrorMessages[error]);
return;
}
ctxt->error = error;
@@ -344,12 +713,12 @@ xmlXPathErr(xmlXPathParserContextPtr ctxt, int error)
XML_ERR_ERROR, NULL, 0,
(const char *) ctxt->base, NULL, NULL,
ctxt->cur - ctxt->base, 0,
- xmlXPathErrorMessages[error]);
+ "%s", xmlXPathErrorMessages[error]);
return;
}
/* cleanup current last error */
- xmlResetError(&ctxt->context->lastError);
+ xmlResetError(&ctxt->context->lastError);
ctxt->context->lastError.domain = XML_FROM_XPATH;
ctxt->context->lastError.code = error + XML_XPATH_EXPRESSION_OK -
@@ -368,7 +737,7 @@ xmlXPathErr(xmlXPathParserContextPtr ctxt, int error)
XML_ERR_ERROR, NULL, 0,
(const char *) ctxt->base, NULL, NULL,
ctxt->cur - ctxt->base, 0,
- xmlXPathErrorMessages[error]);
+ "%s", xmlXPathErrorMessages[error]);
}
}
@@ -389,9 +758,9 @@ xmlXPatherror(xmlXPathParserContextPtr ctxt, const char *file ATTRIBUTE_UNUSED,
}
/************************************************************************
- * *
- * Utilities *
- * *
+ * *
+ * Utilities *
+ * *
************************************************************************/
/**
@@ -411,15 +780,14 @@ struct _xmlPointerList {
* and here, we should make the functions public.
*/
static int
-xmlPointerListAddSize(xmlPointerListPtr list,
+xmlPointerListAddSize(xmlPointerListPtr list,
void *item,
int initialSize)
{
if (list->items == NULL) {
if (initialSize <= 0)
initialSize = 1;
- list->items = (void **) xmlMalloc(
- initialSize * sizeof(void *));
+ list->items = (void **) xmlMalloc(initialSize * sizeof(void *));
if (list->items == NULL) {
xmlXPathErrMemory(NULL,
"xmlPointerListCreate: allocating item\n");
@@ -428,12 +796,17 @@ xmlPointerListAddSize(xmlPointerListPtr list,
list->number = 0;
list->size = initialSize;
} else if (list->size <= list->number) {
+ if (list->size > 50000000) {
+ xmlXPathErrMemory(NULL,
+ "xmlPointerListAddSize: re-allocating item\n");
+ return(-1);
+ }
list->size *= 2;
list->items = (void **) xmlRealloc(list->items,
list->size * sizeof(void *));
if (list->items == NULL) {
xmlXPathErrMemory(NULL,
- "xmlPointerListCreate: re-allocating item\n");
+ "xmlPointerListAddSize: re-allocating item\n");
list->size = 0;
return(-1);
}
@@ -485,9 +858,9 @@ xmlPointerListFree(xmlPointerListPtr list)
}
/************************************************************************
- * *
- * Parser Types *
- * *
+ * *
+ * Parser Types *
+ * *
************************************************************************/
/*
@@ -532,7 +905,7 @@ typedef enum {
AXIS_PARENT,
AXIS_PRECEDING,
AXIS_PRECEDING_SIBLING,
- AXIS_SELF
+ AXIS_SELF
} xmlXPathAxisVal;
typedef enum {
@@ -548,11 +921,9 @@ typedef enum {
NODE_TYPE_NODE = 0,
NODE_TYPE_COMMENT = XML_COMMENT_NODE,
NODE_TYPE_TEXT = XML_TEXT_NODE,
- NODE_TYPE_PI = XML_PI_NODE
+ NODE_TYPE_PI = XML_PI_NODE
} xmlXPathTypeVal;
-#define XP_REWRITE_DOS_CHILD_ELEM 1
-
typedef struct _xmlXPathStepOp xmlXPathStepOp;
typedef xmlXPathStepOp *xmlXPathStepOpPtr;
struct _xmlXPathStepOp {
@@ -566,7 +937,6 @@ struct _xmlXPathStepOp {
void *value5;
void *cache;
void *cacheURI;
- int rewriteType;
};
struct _xmlXPathCompExpr {
@@ -586,9 +956,9 @@ struct _xmlXPathCompExpr {
};
/************************************************************************
- * *
- * Forward declarations *
- * *
+ * *
+ * Forward declarations *
+ * *
************************************************************************/
static void
xmlXPathFreeValueTree(xmlNodeSetPtr obj);
@@ -603,9 +973,9 @@ xmlXPathCompOpEvalToBoolean(xmlXPathParserContextPtr ctxt,
int isPredicate);
/************************************************************************
- * *
- * Parser Type functions *
- * *
+ * *
+ * Parser Type functions *
+ * *
************************************************************************/
/**
@@ -721,6 +1091,10 @@ xmlXPathCompExprAdd(xmlXPathCompExprPtr comp, int ch1, int ch2,
if (comp->nbStep >= comp->maxStep) {
xmlXPathStepOp *real;
+ if (comp->maxStep >= XPATH_MAX_STEPS) {
+ xmlXPathErrMemory(NULL, "adding step\n");
+ return(-1);
+ }
comp->maxStep *= 2;
real = (xmlXPathStepOp *) xmlRealloc(comp->steps,
comp->maxStep * sizeof(xmlXPathStepOp));
@@ -732,7 +1106,6 @@ xmlXPathCompExprAdd(xmlXPathCompExprPtr comp, int ch1, int ch2,
comp->steps = real;
}
comp->last = comp->nbStep;
- comp->steps[comp->nbStep].rewriteType = 0;
comp->steps[comp->nbStep].ch1 = ch1;
comp->steps[comp->nbStep].ch2 = ch2;
comp->steps[comp->nbStep].op = op;
@@ -795,19 +1168,19 @@ xmlXPathCompSwap(xmlXPathStepOpPtr op) {
xmlXPathCompExprAdd(ctxt->comp, ctxt->comp->last, -1, \
(op), (val), (val2), (val3), (val4), (val5))
-#define PUSH_LEAVE_EXPR(op, val, val2) \
+#define PUSH_LEAVE_EXPR(op, val, val2) \
xmlXPathCompExprAdd(ctxt->comp, -1, -1, (op), (val), (val2), 0 ,NULL ,NULL)
-#define PUSH_UNARY_EXPR(op, ch, val, val2) \
+#define PUSH_UNARY_EXPR(op, ch, val, val2) \
xmlXPathCompExprAdd(ctxt->comp, (ch), -1, (op), (val), (val2), 0 ,NULL ,NULL)
-#define PUSH_BINARY_EXPR(op, ch1, ch2, val, val2) \
+#define PUSH_BINARY_EXPR(op, ch1, ch2, val, val2) \
xmlXPathCompExprAdd(ctxt->comp, (ch1), (ch2), (op), \
(val), (val2), 0 ,NULL ,NULL)
/************************************************************************
* *
- * XPath object cache structures *
+ * XPath object cache structures *
* *
************************************************************************/
@@ -839,8 +1212,8 @@ struct _xmlXPathContextCache {
int dbgCachedLocset;
int dbgCachedUsers;
int dbgCachedXSLTTree;
- int dbgCachedUndefined;
-
+ int dbgCachedUndefined;
+
int dbgReusedAll;
int dbgReusedNodeset;
@@ -859,11 +1232,11 @@ struct _xmlXPathContextCache {
/************************************************************************
* *
- * Debugging related functions *
+ * Debugging related functions *
* *
************************************************************************/
-#define STRANGE \
+#define STRANGE \
xmlGenericError(xmlGenericErrorContext, \
"Internal error at %s:%d\n", \
__FILE__, __LINE__);
@@ -878,15 +1251,15 @@ xmlXPathDebugDumpNode(FILE *output, xmlNodePtr cur, int depth) {
shift[2 * i] = shift[2 * i + 1] = ' ';
shift[2 * i] = shift[2 * i + 1] = 0;
if (cur == NULL) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "Node is NULL !\n");
return;
-
+
}
if ((cur->type == XML_DOCUMENT_NODE) ||
(cur->type == XML_HTML_DOCUMENT_NODE)) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, " /\n");
} else if (cur->type == XML_ATTRIBUTE_NODE)
xmlDebugDumpAttr(output, (xmlAttrPtr)cur, depth);
@@ -903,10 +1276,10 @@ xmlXPathDebugDumpNodeList(FILE *output, xmlNodePtr cur, int depth) {
shift[2 * i] = shift[2 * i + 1] = ' ';
shift[2 * i] = shift[2 * i + 1] = 0;
if (cur == NULL) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "Node is NULL !\n");
return;
-
+
}
while (cur != NULL) {
@@ -926,16 +1299,16 @@ xmlXPathDebugDumpNodeSet(FILE *output, xmlNodeSetPtr cur, int depth) {
shift[2 * i] = shift[2 * i + 1] = 0;
if (cur == NULL) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "NodeSet is NULL !\n");
return;
-
+
}
if (cur != NULL) {
fprintf(output, "Set contains %d nodes:\n", cur->nodeNr);
for (i = 0;i < cur->nodeNr;i++) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "%d", i + 1);
xmlXPathDebugDumpNode(output, cur->nodeTab[i], depth + 1);
}
@@ -952,13 +1325,13 @@ xmlXPathDebugDumpValueTree(FILE *output, xmlNodeSetPtr cur, int depth) {
shift[2 * i] = shift[2 * i + 1] = 0;
if ((cur == NULL) || (cur->nodeNr == 0) || (cur->nodeTab[0] == NULL)) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "Value Tree is NULL !\n");
return;
-
+
}
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "%d", i + 1);
xmlXPathDebugDumpNodeList(output, cur->nodeTab[0]->children, depth + 1);
}
@@ -973,14 +1346,14 @@ xmlXPathDebugDumpLocationSet(FILE *output, xmlLocationSetPtr cur, int depth) {
shift[2 * i] = shift[2 * i + 1] = 0;
if (cur == NULL) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "LocationSet is NULL !\n");
return;
-
+
}
for (i = 0;i < cur->locNr;i++) {
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "%d : ", i + 1);
xmlXPathDebugDumpObject(output, cur->locTab[i], depth + 1);
}
@@ -1007,7 +1380,7 @@ xmlXPathDebugDumpObject(FILE *output, xmlXPathObjectPtr cur, int depth) {
shift[2 * i] = shift[2 * i + 1] = 0;
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
if (cur == NULL) {
fprintf(output, "Object is empty (NULL)\n");
@@ -1062,7 +1435,7 @@ xmlXPathDebugDumpObject(FILE *output, xmlXPathObjectPtr cur, int depth) {
if ((cur->user2 == NULL) ||
((cur->user2 == cur->user) && (cur->index == cur->index2))) {
fprintf(output, "Object is a collapsed range :\n");
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
if (cur->index >= 0)
fprintf(output, "index %d in ", cur->index);
fprintf(output, "node\n");
@@ -1070,14 +1443,14 @@ xmlXPathDebugDumpObject(FILE *output, xmlXPathObjectPtr cur, int depth) {
depth + 1);
} else {
fprintf(output, "Object is a range :\n");
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "From ");
if (cur->index >= 0)
fprintf(output, "index %d in ", cur->index);
fprintf(output, "node\n");
xmlXPathDebugDumpNode(output, (xmlNodePtr) cur->user,
depth + 1);
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "To ");
if (cur->index2 >= 0)
fprintf(output, "index %d in ", cur->index2);
@@ -1110,7 +1483,7 @@ xmlXPathDebugDumpStepOp(FILE *output, xmlXPathCompExprPtr comp,
shift[2 * i] = shift[2 * i + 1] = ' ';
shift[2 * i] = shift[2 * i + 1] = 0;
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
if (op == NULL) {
fprintf(output, "Step is NULL\n");
return;
@@ -1297,7 +1670,7 @@ xmlXPathDebugDumpCompExpr(FILE *output, xmlXPathCompExprPtr comp,
shift[2 * i] = shift[2 * i + 1] = ' ';
shift[2 * i] = shift[2 * i + 1] = 0;
- fprintf(output, shift);
+ fprintf(output, "%s", shift);
fprintf(output, "Compiled Expression : %d elements\n",
comp->nbStep);
@@ -1332,7 +1705,7 @@ static int xmlXPathDebugObjTotalRange = 0;
static int xmlXPathDebugObjTotalLocset = 0;
static int xmlXPathDebugObjTotalUsers = 0;
static int xmlXPathDebugObjTotalXSLTTree = 0;
-static int xmlXPathDebugObjTotalAll = 0;
+static int xmlXPathDebugObjTotalAll = 0;
static int xmlXPathDebugObjMaxUndefined = 0;
static int xmlXPathDebugObjMaxNodeset = 0;
@@ -1365,7 +1738,7 @@ xmlXPathDebugObjUsageReset(xmlXPathContextPtr ctxt)
cache->dbgCachedLocset = 0;
cache->dbgCachedUsers = 0;
cache->dbgCachedXSLTTree = 0;
- cache->dbgCachedUndefined = 0;
+ cache->dbgCachedUndefined = 0;
cache->dbgReusedAll = 0;
cache->dbgReusedNodeset = 0;
@@ -1379,7 +1752,7 @@ xmlXPathDebugObjUsageReset(xmlXPathContextPtr ctxt)
cache->dbgReusedXSLTTree = 0;
cache->dbgReusedUndefined = 0;
}
- }
+ }
xmlXPathDebugObjCounterUndefined = 0;
xmlXPathDebugObjCounterNodeset = 0;
@@ -1392,7 +1765,7 @@ xmlXPathDebugObjUsageReset(xmlXPathContextPtr ctxt)
xmlXPathDebugObjCounterUsers = 0;
xmlXPathDebugObjCounterXSLTTree = 0;
xmlXPathDebugObjCounterAll = 0;
-
+
xmlXPathDebugObjTotalUndefined = 0;
xmlXPathDebugObjTotalNodeset = 0;
xmlXPathDebugObjTotalBool = 0;
@@ -1403,7 +1776,7 @@ xmlXPathDebugObjUsageReset(xmlXPathContextPtr ctxt)
xmlXPathDebugObjTotalLocset = 0;
xmlXPathDebugObjTotalUsers = 0;
xmlXPathDebugObjTotalXSLTTree = 0;
- xmlXPathDebugObjTotalAll = 0;
+ xmlXPathDebugObjTotalAll = 0;
xmlXPathDebugObjMaxUndefined = 0;
xmlXPathDebugObjMaxNodeset = 0;
@@ -1429,10 +1802,10 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
if (ctxt->cache != NULL) {
xmlXPathContextCachePtr cache =
(xmlXPathContextCachePtr) ctxt->cache;
-
+
isCached = 1;
-
- cache->dbgReusedAll++;
+
+ cache->dbgReusedAll++;
switch (objType) {
case XPATH_UNDEFINED:
cache->dbgReusedUndefined++;
@@ -1466,7 +1839,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
break;
default:
break;
- }
+ }
}
}
@@ -1474,7 +1847,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_UNDEFINED:
if (! isCached)
xmlXPathDebugObjTotalUndefined++;
- xmlXPathDebugObjCounterUndefined++;
+ xmlXPathDebugObjCounterUndefined++;
if (xmlXPathDebugObjCounterUndefined >
xmlXPathDebugObjMaxUndefined)
xmlXPathDebugObjMaxUndefined =
@@ -1483,7 +1856,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_NODESET:
if (! isCached)
xmlXPathDebugObjTotalNodeset++;
- xmlXPathDebugObjCounterNodeset++;
+ xmlXPathDebugObjCounterNodeset++;
if (xmlXPathDebugObjCounterNodeset >
xmlXPathDebugObjMaxNodeset)
xmlXPathDebugObjMaxNodeset =
@@ -1492,7 +1865,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_BOOLEAN:
if (! isCached)
xmlXPathDebugObjTotalBool++;
- xmlXPathDebugObjCounterBool++;
+ xmlXPathDebugObjCounterBool++;
if (xmlXPathDebugObjCounterBool >
xmlXPathDebugObjMaxBool)
xmlXPathDebugObjMaxBool =
@@ -1501,7 +1874,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_NUMBER:
if (! isCached)
xmlXPathDebugObjTotalNumber++;
- xmlXPathDebugObjCounterNumber++;
+ xmlXPathDebugObjCounterNumber++;
if (xmlXPathDebugObjCounterNumber >
xmlXPathDebugObjMaxNumber)
xmlXPathDebugObjMaxNumber =
@@ -1510,7 +1883,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_STRING:
if (! isCached)
xmlXPathDebugObjTotalString++;
- xmlXPathDebugObjCounterString++;
+ xmlXPathDebugObjCounterString++;
if (xmlXPathDebugObjCounterString >
xmlXPathDebugObjMaxString)
xmlXPathDebugObjMaxString =
@@ -1519,7 +1892,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_POINT:
if (! isCached)
xmlXPathDebugObjTotalPoint++;
- xmlXPathDebugObjCounterPoint++;
+ xmlXPathDebugObjCounterPoint++;
if (xmlXPathDebugObjCounterPoint >
xmlXPathDebugObjMaxPoint)
xmlXPathDebugObjMaxPoint =
@@ -1546,7 +1919,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_USERS:
if (! isCached)
xmlXPathDebugObjTotalUsers++;
- xmlXPathDebugObjCounterUsers++;
+ xmlXPathDebugObjCounterUsers++;
if (xmlXPathDebugObjCounterUsers >
xmlXPathDebugObjMaxUsers)
xmlXPathDebugObjMaxUsers =
@@ -1555,7 +1928,7 @@ xmlXPathDebugObjUsageRequested(xmlXPathContextPtr ctxt,
case XPATH_XSLT_TREE:
if (! isCached)
xmlXPathDebugObjTotalXSLTTree++;
- xmlXPathDebugObjCounterXSLTTree++;
+ xmlXPathDebugObjCounterXSLTTree++;
if (xmlXPathDebugObjCounterXSLTTree >
xmlXPathDebugObjMaxXSLTTree)
xmlXPathDebugObjMaxXSLTTree =
@@ -1584,8 +1957,8 @@ xmlXPathDebugObjUsageReleased(xmlXPathContextPtr ctxt,
xmlXPathContextCachePtr cache =
(xmlXPathContextCachePtr) ctxt->cache;
- isCached = 1;
-
+ isCached = 1;
+
cache->dbgCachedAll++;
switch (objType) {
case XPATH_UNDEFINED:
@@ -1621,7 +1994,7 @@ xmlXPathDebugObjUsageReleased(xmlXPathContextPtr ctxt,
default:
break;
}
-
+
}
}
switch (objType) {
@@ -1657,7 +2030,7 @@ xmlXPathDebugObjUsageReleased(xmlXPathContextPtr ctxt,
break;
default:
break;
- }
+ }
xmlXPathDebugObjCounterAll--;
}
@@ -1680,7 +2053,7 @@ xmlXPathDebugObjUsageDisplay(xmlXPathContextPtr ctxt)
reqNumber = xmlXPathDebugObjTotalNumber;
reqXSLTTree = xmlXPathDebugObjTotalXSLTTree;
reqUndefined = xmlXPathDebugObjTotalUndefined;
-
+
printf("# XPath object usage:\n");
if (ctxt != NULL) {
@@ -1702,7 +2075,7 @@ xmlXPathDebugObjUsageDisplay(xmlXPathContextPtr ctxt)
reqXSLTTree += reXSLTTree;
reUndefined = cache->dbgReusedUndefined;
reqUndefined += reUndefined;
-
+
caAll = cache->dbgCachedAll;
caBool = cache->dbgCachedBool;
caNodeset = cache->dbgCachedNodeset;
@@ -1710,7 +2083,7 @@ xmlXPathDebugObjUsageDisplay(xmlXPathContextPtr ctxt)
caNumber = cache->dbgCachedNumber;
caXSLTTree = cache->dbgCachedXSLTTree;
caUndefined = cache->dbgCachedUndefined;
-
+
if (cache->nodesetObjs)
leftObjs -= cache->nodesetObjs->number;
if (cache->stringObjs)
@@ -1723,8 +2096,8 @@ xmlXPathDebugObjUsageDisplay(xmlXPathContextPtr ctxt)
leftObjs -= cache->miscObjs->number;
}
}
-
- printf("# all\n");
+
+ printf("# all\n");
printf("# total : %d\n", reqAll);
printf("# left : %d\n", leftObjs);
printf("# created: %d\n", xmlXPathDebugObjTotalAll);
@@ -1847,7 +2220,7 @@ xmlXPathFreeCache(xmlXPathContextCachePtr cache)
if (cache->numberObjs)
xmlXPathCacheFreeObjectList(cache->numberObjs);
if (cache->miscObjs)
- xmlXPathCacheFreeObjectList(cache->miscObjs);
+ xmlXPathCacheFreeObjectList(cache->miscObjs);
xmlFree(cache);
}
@@ -1856,7 +2229,7 @@ xmlXPathFreeCache(xmlXPathContextCachePtr cache)
*
* @ctxt: the XPath context
* @active: enables/disables (creates/frees) the cache
- * @value: a value with semantics dependant on @options
+ * @value: a value with semantics dependant on @options
* @options: options (currently only the value 0 is used)
*
* Creates/frees an object cache on the XPath context.
@@ -1883,7 +2256,7 @@ xmlXPathContextSetCache(xmlXPathContextPtr ctxt,
return(-1);
if (active) {
xmlXPathContextCachePtr cache;
-
+
if (ctxt->cache == NULL) {
ctxt->cache = xmlXPathNewCache();
if (ctxt->cache == NULL)
@@ -1918,7 +2291,7 @@ xmlXPathContextSetCache(xmlXPathContextPtr ctxt,
*/
static xmlXPathObjectPtr
xmlXPathCacheWrapNodeSet(xmlXPathContextPtr ctxt, xmlNodeSetPtr val)
-{
+{
if ((ctxt != NULL) && (ctxt->cache != NULL)) {
xmlXPathContextCachePtr cache =
(xmlXPathContextCachePtr) ctxt->cache;
@@ -1927,7 +2300,7 @@ xmlXPathCacheWrapNodeSet(xmlXPathContextPtr ctxt, xmlNodeSetPtr val)
(cache->miscObjs->number != 0))
{
xmlXPathObjectPtr ret;
-
+
ret = (xmlXPathObjectPtr)
cache->miscObjs->items[--cache->miscObjs->number];
ret->type = XPATH_NODESET;
@@ -1935,12 +2308,12 @@ xmlXPathCacheWrapNodeSet(xmlXPathContextPtr ctxt, xmlNodeSetPtr val)
#ifdef XP_DEBUG_OBJ_USAGE
xmlXPathDebugObjUsageRequested(ctxt, XPATH_NODESET);
#endif
- return(ret);
+ return(ret);
}
}
-
+
return(xmlXPathWrapNodeSet(val));
-
+
}
/**
@@ -1955,16 +2328,16 @@ xmlXPathCacheWrapNodeSet(xmlXPathContextPtr ctxt, xmlNodeSetPtr val)
*/
static xmlXPathObjectPtr
xmlXPathCacheWrapString(xmlXPathContextPtr ctxt, xmlChar *val)
-{
+{
if ((ctxt != NULL) && (ctxt->cache != NULL)) {
xmlXPathContextCachePtr cache = (xmlXPathContextCachePtr) ctxt->cache;
if ((cache->stringObjs != NULL) &&
(cache->stringObjs->number != 0))
{
-
+
xmlXPathObjectPtr ret;
-
+
ret = (xmlXPathObjectPtr)
cache->stringObjs->items[--cache->stringObjs->number];
ret->type = XPATH_STRING;
@@ -2013,20 +2386,20 @@ xmlXPathCacheNewNodeSet(xmlXPathContextPtr ctxt, xmlNodePtr val)
if ((cache->nodesetObjs != NULL) &&
(cache->nodesetObjs->number != 0))
- {
+ {
xmlXPathObjectPtr ret;
/*
* Use the nodset-cache.
- */
+ */
ret = (xmlXPathObjectPtr)
cache->nodesetObjs->items[--cache->nodesetObjs->number];
ret->type = XPATH_NODESET;
ret->boolval = 0;
- if (val) {
+ if (val) {
if ((ret->nodesetval->nodeMax == 0) ||
(val->type == XML_NAMESPACE_DECL))
{
- xmlXPathNodeSetAddUnique(ret->nodesetval, val);
+ xmlXPathNodeSetAddUnique(ret->nodesetval, val);
} else {
ret->nodesetval->nodeTab[0] = val;
ret->nodesetval->nodeNr = 1;
@@ -2050,6 +2423,11 @@ xmlXPathCacheNewNodeSet(xmlXPathContextPtr ctxt, xmlNodePtr val)
ret->type = XPATH_NODESET;
ret->boolval = 0;
ret->nodesetval = xmlXPathNodeSetCreate(val);
+ if (ret->nodesetval == NULL) {
+ ctxt->lastError.domain = XML_FROM_XPATH;
+ ctxt->lastError.code = XML_ERR_NO_MEMORY;
+ return(NULL);
+ }
#ifdef XP_DEBUG_OBJ_USAGE
xmlXPathDebugObjUsageRequested(ctxt, XPATH_NODESET);
#endif
@@ -2071,15 +2449,15 @@ xmlXPathCacheNewNodeSet(xmlXPathContextPtr ctxt, xmlNodePtr val)
*/
static xmlXPathObjectPtr
xmlXPathCacheNewCString(xmlXPathContextPtr ctxt, const char *val)
-{
+{
if ((ctxt != NULL) && (ctxt->cache)) {
xmlXPathContextCachePtr cache = (xmlXPathContextCachePtr) ctxt->cache;
if ((cache->stringObjs != NULL) &&
(cache->stringObjs->number != 0))
- {
+ {
xmlXPathObjectPtr ret;
-
+
ret = (xmlXPathObjectPtr)
cache->stringObjs->items[--cache->stringObjs->number];
@@ -2120,15 +2498,15 @@ xmlXPathCacheNewCString(xmlXPathContextPtr ctxt, const char *val)
*/
static xmlXPathObjectPtr
xmlXPathCacheNewString(xmlXPathContextPtr ctxt, const xmlChar *val)
-{
+{
if ((ctxt != NULL) && (ctxt->cache)) {
xmlXPathContextCachePtr cache = (xmlXPathContextCachePtr) ctxt->cache;
if ((cache->stringObjs != NULL) &&
(cache->stringObjs->number != 0))
- {
+ {
xmlXPathObjectPtr ret;
-
+
ret = (xmlXPathObjectPtr)
cache->stringObjs->items[--cache->stringObjs->number];
ret->type = XPATH_STRING;
@@ -2174,15 +2552,15 @@ xmlXPathCacheNewString(xmlXPathContextPtr ctxt, const xmlChar *val)
*/
static xmlXPathObjectPtr
xmlXPathCacheNewBoolean(xmlXPathContextPtr ctxt, int val)
-{
+{
if ((ctxt != NULL) && (ctxt->cache)) {
xmlXPathContextCachePtr cache = (xmlXPathContextCachePtr) ctxt->cache;
if ((cache->booleanObjs != NULL) &&
(cache->booleanObjs->number != 0))
- {
+ {
xmlXPathObjectPtr ret;
-
+
ret = (xmlXPathObjectPtr)
cache->booleanObjs->items[--cache->booleanObjs->number];
ret->type = XPATH_BOOLEAN;
@@ -2228,9 +2606,9 @@ xmlXPathCacheNewFloat(xmlXPathContextPtr ctxt, double val)
if ((cache->numberObjs != NULL) &&
(cache->numberObjs->number != 0))
- {
+ {
xmlXPathObjectPtr ret;
-
+
ret = (xmlXPathObjectPtr)
cache->numberObjs->items[--cache->numberObjs->number];
ret->type = XPATH_NUMBER;
@@ -2272,7 +2650,7 @@ xmlXPathCacheNewFloat(xmlXPathContextPtr ctxt, double val)
static xmlXPathObjectPtr
xmlXPathCacheConvertString(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
- xmlChar *res = NULL;
+ xmlChar *res = NULL;
if (val == NULL)
return(xmlXPathCacheNewCString(ctxt, ""));
@@ -2356,7 +2734,7 @@ xmlXPathCacheObjectCopy(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val)
static xmlXPathObjectPtr
xmlXPathCacheConvertBoolean(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
xmlXPathObjectPtr ret;
-
+
if (val == NULL)
return(xmlXPathCacheNewBoolean(ctxt, 0));
if (val->type == XPATH_BOOLEAN)
@@ -2380,7 +2758,7 @@ xmlXPathCacheConvertBoolean(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
static xmlXPathObjectPtr
xmlXPathCacheConvertNumber(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
xmlXPathObjectPtr ret;
-
+
if (val == NULL)
return(xmlXPathCacheNewFloat(ctxt, 0.0));
if (val->type == XPATH_NUMBER)
@@ -2392,11 +2770,47 @@ xmlXPathCacheConvertNumber(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
/************************************************************************
* *
- * Parser stacks related functions and macros *
+ * Parser stacks related functions and macros *
* *
************************************************************************/
/**
+ * xmlXPathSetFrame:
+ * @ctxt: an XPath parser context
+ *
+ * Set the callee evaluation frame
+ *
+ * Returns the previous frame value to be restored once done
+ */
+static int
+xmlXPathSetFrame(xmlXPathParserContextPtr ctxt) {
+ int ret;
+
+ if (ctxt == NULL)
+ return(0);
+ ret = ctxt->valueFrame;
+ ctxt->valueFrame = ctxt->valueNr;
+ return(ret);
+}
+
+/**
+ * xmlXPathPopFrame:
+ * @ctxt: an XPath parser context
+ * @frame: the previous frame value
+ *
+ * Remove the callee evaluation frame
+ */
+static void
+xmlXPathPopFrame(xmlXPathParserContextPtr ctxt, int frame) {
+ if (ctxt == NULL)
+ return;
+ if (ctxt->valueNr < ctxt->valueFrame) {
+ xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+ }
+ ctxt->valueFrame = frame;
+}
+
+/**
* valuePop:
* @ctxt: an XPath evaluation context
*
@@ -2411,6 +2825,12 @@ valuePop(xmlXPathParserContextPtr ctxt)
if ((ctxt == NULL) || (ctxt->valueNr <= 0))
return (NULL);
+
+ if (ctxt->valueNr <= ctxt->valueFrame) {
+ xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+ return (NULL);
+ }
+
ctxt->valueNr--;
if (ctxt->valueNr > 0)
ctxt->value = ctxt->valueTab[ctxt->valueNr - 1];
@@ -2436,11 +2856,17 @@ valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
if (ctxt->valueNr >= ctxt->valueMax) {
xmlXPathObjectPtr *tmp;
+ if (ctxt->valueMax >= XPATH_MAX_STACK_DEPTH) {
+ xmlXPathErrMemory(NULL, "XPath stack depth limit reached\n");
+ ctxt->error = XPATH_MEMORY_ERROR;
+ return (0);
+ }
tmp = (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab,
2 * ctxt->valueMax *
sizeof(ctxt->valueTab[0]));
if (tmp == NULL) {
- xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
+ xmlXPathErrMemory(NULL, "pushing value\n");
+ ctxt->error = XPATH_MEMORY_ERROR;
return (0);
}
ctxt->valueMax *= 2;
@@ -2631,7 +3057,7 @@ xmlXPathPopExternal (xmlXPathParserContextPtr ctxt) {
#define NEXTL(l) ctxt->cur += l
-#define SKIP_BLANKS \
+#define SKIP_BLANKS \
while (IS_BLANK_CH(*(ctxt->cur))) NEXT
#define CURRENT (*ctxt->cur)
@@ -2647,9 +3073,10 @@ xmlXPathPopExternal (xmlXPathParserContextPtr ctxt) {
#define UPPER_DOUBLE 1E9
#define LOWER_DOUBLE 1E-5
+#define LOWER_DOUBLE_EXP 5
#define INTEGER_DIGITS DBL_DIG
-#define FRACTION_DIGITS (DBL_DIG + 1)
+#define FRACTION_DIGITS (DBL_DIG + 1 + (LOWER_DOUBLE_EXP))
#define EXPONENT_DIGITS (3 + 2)
/**
@@ -2700,8 +3127,16 @@ xmlXPathFormatNumber(double number, char buffer[], int buffersize)
*ptr = 0;
}
} else {
- /* 3 is sign, decimal point, and terminating zero */
- char work[DBL_DIG + EXPONENT_DIGITS + 3];
+ /*
+ For the dimension of work,
+ DBL_DIG is number of significant digits
+ EXPONENT is only needed for "scientific notation"
+ 3 is sign, decimal point, and terminating zero
+ LOWER_DOUBLE_EXP is max number of leading zeroes in fraction
+ Note that this dimension is slightly (a few characters)
+ larger than actually necessary.
+ */
+ char work[DBL_DIG + EXPONENT_DIGITS + 3 + LOWER_DOUBLE_EXP];
int integer_place, fraction_place;
char *ptr;
char *after_fraction;
@@ -2724,24 +3159,31 @@ xmlXPathFormatNumber(double number, char buffer[], int buffersize)
size = snprintf(work, sizeof(work),"%*.*e",
integer_place, fraction_place, number);
while ((size > 0) && (work[size] != 'e')) size--;
- after_fraction = work + size;
}
else {
/* Use regular notation */
- if (absolute_value > 0.0)
- integer_place = 1 + (int)log10(absolute_value);
- else
- integer_place = 0;
- fraction_place = (integer_place > 0)
- ? DBL_DIG - integer_place
- : DBL_DIG;
+ if (absolute_value > 0.0) {
+ integer_place = (int)log10(absolute_value);
+ if (integer_place > 0)
+ fraction_place = DBL_DIG - integer_place - 1;
+ else
+ fraction_place = DBL_DIG - integer_place;
+ } else {
+ fraction_place = 1;
+ }
size = snprintf(work, sizeof(work), "%0.*f",
fraction_place, number);
- after_fraction = work + size;
+ }
+
+ /* Remove leading spaces sometimes inserted by snprintf */
+ while (work[0] == ' ') {
+ for (ptr = &work[0];(ptr[0] = ptr[1]);ptr++);
+ size--;
}
/* Remove fractional trailing zeroes */
+ after_fraction = work + size;
ptr = after_fraction;
while (*(--ptr) == '0')
;
@@ -2840,6 +3282,8 @@ xmlXPathCmpNodes(xmlNodePtr node1, xmlNodePtr node2) {
/*
* a couple of optimizations which will avoid computations in most cases
*/
+ if (node1 == node2) /* trivial case */
+ return(0);
if (node1->type == XML_ATTRIBUTE_NODE) {
attr1 = 1;
attrNode1 = node1;
@@ -2963,297 +3407,6 @@ xmlXPathCmpNodes(xmlNodePtr node1, xmlNodePtr node2) {
return(-1); /* assume there is no sibling list corruption */
}
-#ifdef XP_OPTIMIZED_NON_ELEM_COMPARISON
-/**
- * xmlXPathCmpNodesExt:
- * @node1: the first node
- * @node2: the second node
- *
- * Compare two nodes w.r.t document order.
- * This one is optimized for handling of non-element nodes.
- *
- * Returns -2 in case of error 1 if first point < second point, 0 if
- * it's the same node, -1 otherwise
- */
-static int
-xmlXPathCmpNodesExt(xmlNodePtr node1, xmlNodePtr node2) {
- int depth1, depth2;
- int misc = 0, precedence1 = 0, precedence2 = 0;
- xmlNodePtr miscNode1 = NULL, miscNode2 = NULL;
- xmlNodePtr cur, root;
- long l1, l2;
-
- if ((node1 == NULL) || (node2 == NULL))
- return(-2);
-
- if (node1 == node2)
- return(0);
-
- /*
- * a couple of optimizations which will avoid computations in most cases
- */
- switch (node1->type) {
- case XML_ELEMENT_NODE:
- if (node2->type == XML_ELEMENT_NODE) {
- if ((0 > (long) node1->content) && /* TODO: Would a != 0 suffice here? */
- (0 > (long) node2->content) &&
- (node1->doc == node2->doc))
- {
- l1 = -((long) node1->content);
- l2 = -((long) node2->content);
- if (l1 < l2)
- return(1);
- if (l1 > l2)
- return(-1);
- } else
- goto turtle_comparison;
- }
- break;
- case XML_ATTRIBUTE_NODE:
- precedence1 = 1; /* element is owner */
- miscNode1 = node1;
- node1 = node1->parent;
- misc = 1;
- break;
- case XML_TEXT_NODE:
- case XML_CDATA_SECTION_NODE:
- case XML_COMMENT_NODE:
- case XML_PI_NODE: {
- miscNode1 = node1;
- /*
- * Find nearest element node.
- */
- if (node1->prev != NULL) {
- do {
- node1 = node1->prev;
- if (node1->type == XML_ELEMENT_NODE) {
- precedence1 = 3; /* element in prev-sibl axis */
- break;
- }
- if (node1->prev == NULL) {
- precedence1 = 2; /* element is parent */
- /*
- * URGENT TODO: Are there any cases, where the
- * parent of such a node is not an element node?
- */
- node1 = node1->parent;
- break;
- }
- } while (1);
- } else {
- precedence1 = 2; /* element is parent */
- node1 = node1->parent;
- }
- if ((node1 == NULL) || (node1->type != XML_ELEMENT_NODE)) {
- /*
- * Fallback for whatever case.
- */
- node1 = miscNode1;
- precedence1 = 0;
- } else
- misc = 1;
- }
- break;
- case XML_NAMESPACE_DECL:
- /*
- * TODO: why do we return 1 for namespace nodes?
- */
- return(1);
- default:
- break;
- }
- switch (node2->type) {
- case XML_ELEMENT_NODE:
- break;
- case XML_ATTRIBUTE_NODE:
- precedence2 = 1; /* element is owner */
- miscNode2 = node2;
- node2 = node2->parent;
- misc = 1;
- break;
- case XML_TEXT_NODE:
- case XML_CDATA_SECTION_NODE:
- case XML_COMMENT_NODE:
- case XML_PI_NODE: {
- miscNode2 = node2;
- if (node2->prev != NULL) {
- do {
- node2 = node2->prev;
- if (node2->type == XML_ELEMENT_NODE) {
- precedence2 = 3; /* element in prev-sibl axis */
- break;
- }
- if (node2->prev == NULL) {
- precedence2 = 2; /* element is parent */
- node2 = node2->parent;
- break;
- }
- } while (1);
- } else {
- precedence2 = 2; /* element is parent */
- node2 = node2->parent;
- }
- if ((node2 == NULL) || (node2->type != XML_ELEMENT_NODE) ||
- (0 <= (long) node1->content))
- {
- node2 = miscNode2;
- precedence2 = 0;
- } else
- misc = 1;
- }
- break;
- case XML_NAMESPACE_DECL:
- return(1);
- default:
- break;
- }
- if (misc) {
- if (node1 == node2) {
- if (precedence1 == precedence2) {
- /*
- * The ugly case; but normally there aren't many
- * adjacent non-element nodes around.
- */
- cur = miscNode2->prev;
- while (cur != NULL) {
- if (cur == miscNode1)
- return(1);
- if (cur->type == XML_ELEMENT_NODE)
- return(-1);
- cur = cur->prev;
- }
- return (-1);
- } else {
- /*
- * Evaluate based on higher precedence wrt to the element.
- * TODO: This assumes attributes are sorted before content.
- * Is this 100% correct?
- */
- if (precedence1 < precedence2)
- return(1);
- else
- return(-1);
- }
- }
- /*
- * Special case: One of the helper-elements is contained by the other.
- * <foo>
- * <node2>
- * <node1>Text-1(precedence1 == 2)</node1>
- * </node2>
- * Text-6(precedence2 == 3)
- * </foo>
- */
- if ((precedence2 == 3) && (precedence1 > 1)) {
- cur = node1->parent;
- while (cur) {
- if (cur == node2)
- return(1);
- cur = cur->parent;
- }
- }
- if ((precedence1 == 3) && (precedence2 > 1)) {
- cur = node2->parent;
- while (cur) {
- if (cur == node1)
- return(-1);
- cur = cur->parent;
- }
- }
- }
-
- /*
- * Speedup using document order if availble.
- */
- if ((node1->type == XML_ELEMENT_NODE) &&
- (node2->type == XML_ELEMENT_NODE) &&
- (0 > (long) node1->content) &&
- (0 > (long) node2->content) &&
- (node1->doc == node2->doc)) {
-
- l1 = -((long) node1->content);
- l2 = -((long) node2->content);
- if (l1 < l2)
- return(1);
- if (l1 > l2)
- return(-1);
- }
-
-turtle_comparison:
-
- if (node1 == node2->prev)
- return(1);
- if (node1 == node2->next)
- return(-1);
- /*
- * compute depth to root
- */
- for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) {
- if (cur == node1)
- return(1);
- depth2++;
- }
- root = cur;
- for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) {
- if (cur == node2)
- return(-1);
- depth1++;
- }
- /*
- * Distinct document (or distinct entities :-( ) case.
- */
- if (root != cur) {
- return(-2);
- }
- /*
- * get the nearest common ancestor.
- */
- while (depth1 > depth2) {
- depth1--;
- node1 = node1->parent;
- }
- while (depth2 > depth1) {
- depth2--;
- node2 = node2->parent;
- }
- while (node1->parent != node2->parent) {
- node1 = node1->parent;
- node2 = node2->parent;
- /* should not happen but just in case ... */
- if ((node1 == NULL) || (node2 == NULL))
- return(-2);
- }
- /*
- * Find who's first.
- */
- if (node1 == node2->prev)
- return(1);
- if (node1 == node2->next)
- return(-1);
- /*
- * Speedup using document order if availble.
- */
- if ((node1->type == XML_ELEMENT_NODE) &&
- (node2->type == XML_ELEMENT_NODE) &&
- (0 > (long) node1->content) &&
- (0 > (long) node2->content) &&
- (node1->doc == node2->doc)) {
-
- l1 = -((long) node1->content);
- l2 = -((long) node2->content);
- if (l1 < l2)
- return(1);
- if (l1 > l2)
- return(-1);
- }
-
- for (cur = node1->next;cur != NULL;cur = cur->next)
- if (cur == node2)
- return(1);
- return(-1); /* assume there is no sibling list corruption */
-}
-#endif /* XP_OPTIMIZED_NON_ELEM_COMPARISON */
-
/**
* xmlXPathNodeSetSort:
* @set: the node set
@@ -3262,13 +3415,19 @@ turtle_comparison:
*/
void
xmlXPathNodeSetSort(xmlNodeSetPtr set) {
+#ifndef WITH_TIM_SORT
int i, j, incr, len;
xmlNodePtr tmp;
+#endif
if (set == NULL)
return;
- /* Use Shell's sort to sort the node-set */
+#ifndef WITH_TIM_SORT
+ /*
+ * Use the old Shell's sort implementation to sort the node-set
+ * Timsort ought to be quite faster
+ */
len = set->nodeNr;
for (incr = len / 2; incr > 0; incr /= 2) {
for (i = incr; i < len; i++) {
@@ -3291,6 +3450,9 @@ xmlXPathNodeSetSort(xmlNodeSetPtr set) {
}
}
}
+#else /* WITH_TIM_SORT */
+ libxml_domnode_tim_sort(set->nodeTab, set->nodeNr);
+#endif /* WITH_TIM_SORT */
}
#define XML_NODESET_DEFAULT 10
@@ -3325,9 +3487,9 @@ xmlXPathNodeSetDupNs(xmlNodePtr node, xmlNsPtr ns) {
memset(cur, 0, sizeof(xmlNs));
cur->type = XML_NAMESPACE_DECL;
if (ns->href != NULL)
- cur->href = xmlStrdup(ns->href);
+ cur->href = xmlStrdup(ns->href);
if (ns->prefix != NULL)
- cur->prefix = xmlStrdup(ns->prefix);
+ cur->prefix = xmlStrdup(ns->prefix);
cur->next = (xmlNsPtr) node;
return((xmlNodePtr) cur);
}
@@ -3421,7 +3583,7 @@ xmlXPathNodeSetCreateSize(int size) {
return(NULL);
}
memset(ret->nodeTab, 0 , size * (size_t) sizeof(xmlNodePtr));
- ret->nodeMax = size;
+ ret->nodeMax = size;
return(ret);
}
@@ -3469,16 +3631,18 @@ xmlXPathNodeSetContains (xmlNodeSetPtr cur, xmlNodePtr val) {
* @ns: a the namespace node
*
* add a new namespace node to an existing NodeSet
+ *
+ * Returns 0 in case of success and -1 in case of error
*/
-void
+int
xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
int i;
-
+
if ((cur == NULL) || (ns == NULL) || (node == NULL) ||
(ns->type != XML_NAMESPACE_DECL) ||
(node->type != XML_ELEMENT_NODE))
- return;
+ return(-1);
/* @@ with_ns to check whether namespace nodes should be looked at @@ */
/*
@@ -3489,7 +3653,7 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
(cur->nodeTab[i]->type == XML_NAMESPACE_DECL) &&
(((xmlNsPtr)cur->nodeTab[i])->next == (xmlNsPtr) node) &&
(xmlStrEqual(ns->prefix, ((xmlNsPtr)cur->nodeTab[i])->prefix)))
- return;
+ return(0);
}
/*
@@ -3500,7 +3664,7 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
sizeof(xmlNodePtr));
if (cur->nodeTab == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
- return;
+ return(-1);
}
memset(cur->nodeTab, 0 ,
XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
@@ -3508,16 +3672,21 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
} else if (cur->nodeNr == cur->nodeMax) {
xmlNodePtr *temp;
- cur->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax *
+ if (cur->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
+ xmlXPathErrMemory(NULL, "growing nodeset hit limit\n");
+ return(-1);
+ }
+ temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
- return;
+ return(-1);
}
+ cur->nodeMax *= 2;
cur->nodeTab = temp;
}
cur->nodeTab[cur->nodeNr++] = xmlXPathNodeSetDupNs(node, ns);
+ return(0);
}
/**
@@ -3526,24 +3695,21 @@ xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
* @val: a new xmlNodePtr
*
* add a new xmlNodePtr to an existing NodeSet
+ *
+ * Returns 0 in case of success, and -1 in case of error
*/
-void
+int
xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
int i;
- if ((cur == NULL) || (val == NULL)) return;
-
-#if 0
- if ((val->type == XML_ELEMENT_NODE) && (val->name[0] == ' '))
- return; /* an XSLT fake node */
-#endif
+ if ((cur == NULL) || (val == NULL)) return(-1);
/* @@ with_ns to check whether namespace nodes should be looked at @@ */
/*
* prevent duplcates
*/
for (i = 0;i < cur->nodeNr;i++)
- if (cur->nodeTab[i] == val) return;
+ if (cur->nodeTab[i] == val) return(0);
/*
* grow the nodeTab if needed
@@ -3553,7 +3719,7 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
sizeof(xmlNodePtr));
if (cur->nodeTab == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
- return;
+ return(-1);
}
memset(cur->nodeTab, 0 ,
XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
@@ -3561,22 +3727,27 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
} else if (cur->nodeNr == cur->nodeMax) {
xmlNodePtr *temp;
- cur->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax *
+ if (cur->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
+ xmlXPathErrMemory(NULL, "growing nodeset hit limit\n");
+ return(-1);
+ }
+ temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
- return;
+ return(-1);
}
+ cur->nodeMax *= 2;
cur->nodeTab = temp;
}
if (val->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) val;
- cur->nodeTab[cur->nodeNr++] =
+ cur->nodeTab[cur->nodeNr++] =
xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
} else
cur->nodeTab[cur->nodeNr++] = val;
+ return(0);
}
/**
@@ -3586,15 +3757,12 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
*
* add a new xmlNodePtr to an existing NodeSet, optimized version
* when we are sure the node is not already in the set.
+ *
+ * Returns 0 in case of success and -1 in case of failure
*/
-void
+int
xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) {
- if ((cur == NULL) || (val == NULL)) return;
-
-#if 0
- if ((val->type == XML_ELEMENT_NODE) && (val->name[0] == ' '))
- return; /* an XSLT fake node */
-#endif
+ if ((cur == NULL) || (val == NULL)) return(-1);
/* @@ with_ns to check whether namespace nodes should be looked at @@ */
/*
@@ -3605,7 +3773,7 @@ xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) {
sizeof(xmlNodePtr));
if (cur->nodeTab == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
- return;
+ return(-1);
}
memset(cur->nodeTab, 0 ,
XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
@@ -3613,22 +3781,27 @@ xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) {
} else if (cur->nodeNr == cur->nodeMax) {
xmlNodePtr *temp;
- cur->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax *
+ if (cur->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
+ xmlXPathErrMemory(NULL, "growing nodeset hit limit\n");
+ return(-1);
+ }
+ temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "growing nodeset\n");
- return;
+ return(-1);
}
cur->nodeTab = temp;
+ cur->nodeMax *= 2;
}
if (val->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) val;
- cur->nodeTab[cur->nodeNr++] =
+ cur->nodeTab[cur->nodeNr++] =
xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
} else
cur->nodeTab[cur->nodeNr++] = val;
+ return(0);
}
/**
@@ -3649,6 +3822,8 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
if (val2 == NULL) return(val1);
if (val1 == NULL) {
val1 = xmlXPathNodeSetCreate(NULL);
+ if (val1 == NULL)
+ return (NULL);
#if 0
/*
* TODO: The optimization won't work in every case, since
@@ -3658,7 +3833,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
* If there was a flag on the nodesetval, indicating that
* some temporary nodes are in, that would be helpfull.
*/
- /*
+ /*
* Optimization: Create an equally sized node-set
* and memcpy the content.
*/
@@ -3682,7 +3857,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
initNr = val1->nodeNr;
for (i = 0;i < val2->nodeNr;i++) {
- n2 = val2->nodeTab[i];
+ n2 = val2->nodeTab[i];
/*
* check against duplicates
*/
@@ -3693,7 +3868,7 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
skip = 1;
break;
} else if ((n1->type == XML_NAMESPACE_DECL) &&
- (n2->type == XML_NAMESPACE_DECL)) {
+ (n2->type == XML_NAMESPACE_DECL)) {
if ((((xmlNsPtr) n1)->next == ((xmlNsPtr) n2)->next) &&
(xmlStrEqual(((xmlNsPtr) n1)->prefix,
((xmlNsPtr) n2)->prefix)))
@@ -3722,14 +3897,18 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
} else if (val1->nodeNr == val1->nodeMax) {
xmlNodePtr *temp;
- val1->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(val1->nodeTab, val1->nodeMax *
+ if (val1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
+ xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
+ return(NULL);
+ }
+ temp = (xmlNodePtr *) xmlRealloc(val1->nodeTab, val1->nodeMax * 2 *
sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "merging nodeset\n");
return(NULL);
}
val1->nodeTab = temp;
+ val1->nodeMax *= 2;
}
if (n2->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) n2;
@@ -3743,66 +3922,6 @@ xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
return(val1);
}
-#if 0 /* xmlXPathNodeSetMergeUnique() is currently not used anymore */
-/**
- * xmlXPathNodeSetMergeUnique:
- * @val1: the first NodeSet or NULL
- * @val2: the second NodeSet
- *
- * Merges two nodesets, all nodes from @val2 are added to @val1
- * if @val1 is NULL, a new set is created and copied from @val2
- *
- * Returns @val1 once extended or NULL in case of error.
- */
-static xmlNodeSetPtr
-xmlXPathNodeSetMergeUnique(xmlNodeSetPtr val1, xmlNodeSetPtr val2) {
- int i;
-
- if (val2 == NULL) return(val1);
- if (val1 == NULL) {
- val1 = xmlXPathNodeSetCreate(NULL);
- }
-
- /* @@ with_ns to check whether namespace nodes should be looked at @@ */
-
- for (i = 0;i < val2->nodeNr;i++) {
- /*
- * grow the nodeTab if needed
- */
- if (val1->nodeMax == 0) {
- val1->nodeTab = (xmlNodePtr *) xmlMalloc(XML_NODESET_DEFAULT *
- sizeof(xmlNodePtr));
- if (val1->nodeTab == NULL) {
- xmlXPathErrMemory(NULL, "merging nodeset\n");
- return(NULL);
- }
- memset(val1->nodeTab, 0 ,
- XML_NODESET_DEFAULT * (size_t) sizeof(xmlNodePtr));
- val1->nodeMax = XML_NODESET_DEFAULT;
- } else if (val1->nodeNr == val1->nodeMax) {
- xmlNodePtr *temp;
-
- val1->nodeMax *= 2;
- temp = (xmlNodePtr *) xmlRealloc(val1->nodeTab, val1->nodeMax *
- sizeof(xmlNodePtr));
- if (temp == NULL) {
- xmlXPathErrMemory(NULL, "merging nodeset\n");
- return(NULL);
- }
- val1->nodeTab = temp;
- }
- if (val2->nodeTab[i]->type == XML_NAMESPACE_DECL) {
- xmlNsPtr ns = (xmlNsPtr) val2->nodeTab[i];
-
- val1->nodeTab[val1->nodeNr++] =
- xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
- } else
- val1->nodeTab[val1->nodeNr++] = val2->nodeTab[i];
- }
-
- return(val1);
-}
-#endif /* xmlXPathNodeSetMergeUnique() is currently not used anymore */
/**
* xmlXPathNodeSetMergeAndClear:
@@ -3838,9 +3957,11 @@ xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
xmlNodePtr n1, n2;
if (set1 == NULL)
- set1 = xmlXPathNodeSetCreate(NULL);
+ set1 = xmlXPathNodeSetCreate(NULL);
+ if (set1 == NULL)
+ return (NULL);
- initNbSet1 = set1->nodeNr;
+ initNbSet1 = set1->nodeNr;
for (i = 0;i < set2->nodeNr;i++) {
n2 = set2->nodeTab[i];
/*
@@ -3853,11 +3974,11 @@ xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
*/
for (j = 0; j < initNbSet1; j++) {
n1 = set1->nodeTab[j];
- if (n1 == n2) {
+ if (n1 == n2) {
goto skip_node;
} else if ((n1->type == XML_NAMESPACE_DECL) &&
(n2->type == XML_NAMESPACE_DECL))
- {
+ {
if ((((xmlNsPtr) n1)->next == ((xmlNsPtr) n2)->next) &&
(xmlStrEqual(((xmlNsPtr) n1)->prefix,
((xmlNsPtr) n2)->prefix)))
@@ -3886,19 +4007,23 @@ xmlXPathNodeSetMergeAndClear(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
set1->nodeMax = XML_NODESET_DEFAULT;
} else if (set1->nodeNr >= set1->nodeMax) {
xmlNodePtr *temp;
-
- set1->nodeMax *= 2;
+
+ if (set1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
+ xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
+ return(NULL);
+ }
temp = (xmlNodePtr *) xmlRealloc(
- set1->nodeTab, set1->nodeMax * sizeof(xmlNodePtr));
+ set1->nodeTab, set1->nodeMax * 2 * sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "merging nodeset\n");
return(NULL);
}
set1->nodeTab = temp;
+ set1->nodeMax *= 2;
}
if (n2->type == XML_NAMESPACE_DECL) {
xmlNsPtr ns = (xmlNsPtr) n2;
-
+
set1->nodeTab[set1->nodeNr++] =
xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
} else
@@ -3926,7 +4051,7 @@ skip_node:
static xmlNodeSetPtr
xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
int hasNullEntries)
-{
+{
if (set2 == NULL)
return(set1);
if ((set1 == NULL) && (hasNullEntries == 0)) {
@@ -3948,14 +4073,16 @@ xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
if (set1 == NULL)
set1 = xmlXPathNodeSetCreate(NULL);
-
+ if (set1 == NULL)
+ return (NULL);
+
for (i = 0;i < set2->nodeNr;i++) {
n2 = set2->nodeTab[i];
/*
* Skip NULLed entries.
*/
if (n2 == NULL)
- continue;
+ continue;
if (set1->nodeMax == 0) {
set1->nodeTab = (xmlNodePtr *) xmlMalloc(
XML_NODESET_DEFAULT * sizeof(xmlNodePtr));
@@ -3968,15 +4095,19 @@ xmlXPathNodeSetMergeAndClearNoDupls(xmlNodeSetPtr set1, xmlNodeSetPtr set2,
set1->nodeMax = XML_NODESET_DEFAULT;
} else if (set1->nodeNr >= set1->nodeMax) {
xmlNodePtr *temp;
-
- set1->nodeMax *= 2;
+
+ if (set1->nodeMax >= XPATH_MAX_NODESET_LENGTH) {
+ xmlXPathErrMemory(NULL, "merging nodeset hit limit\n");
+ return(NULL);
+ }
temp = (xmlNodePtr *) xmlRealloc(
- set1->nodeTab, set1->nodeMax * sizeof(xmlNodePtr));
+ set1->nodeTab, set1->nodeMax * 2 * sizeof(xmlNodePtr));
if (temp == NULL) {
xmlXPathErrMemory(NULL, "merging nodeset\n");
return(NULL);
}
set1->nodeTab = temp;
+ set1->nodeMax *= 2;
}
set1->nodeTab[set1->nodeNr++] = n2;
}
@@ -4007,7 +4138,7 @@ xmlXPathNodeSetDel(xmlNodeSetPtr cur, xmlNodePtr val) {
if (i >= cur->nodeNr) { /* not found */
#ifdef DEBUG
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"xmlXPathNodeSetDel: Node %s wasn't found in NodeList\n",
val->name);
#endif
@@ -4067,7 +4198,7 @@ xmlXPathFreeNodeSet(xmlNodeSetPtr obj) {
/**
* xmlXPathNodeSetClear:
* @set: the node set to clear
- *
+ *
* Clears the list from all temporary XPath objects (e.g. namespace nodes
* are feed), but does *not* free the list itself. Sets the length of the
* list to 0.
@@ -4080,13 +4211,13 @@ xmlXPathNodeSetClear(xmlNodeSetPtr set, int hasNsNodes)
else if (hasNsNodes) {
int i;
xmlNodePtr node;
-
+
for (i = 0; i < set->nodeNr; i++) {
node = set->nodeTab[i];
if ((node != NULL) &&
(node->type == XML_NAMESPACE_DECL))
xmlXPathNodeSetFreeNs((xmlNsPtr) node);
- }
+ }
}
set->nodeNr = 0;
}
@@ -4095,7 +4226,7 @@ xmlXPathNodeSetClear(xmlNodeSetPtr set, int hasNsNodes)
* xmlXPathNodeSetClearFromPos:
* @set: the node set to be cleared
* @pos: the start position to clear from
- *
+ *
* Clears the list from temporary XPath objects (e.g. namespace nodes
* are feed) starting with the entry at @pos, but does *not* free the list
* itself. Sets the length of the list to @pos.
@@ -4108,13 +4239,13 @@ xmlXPathNodeSetClearFromPos(xmlNodeSetPtr set, int pos, int hasNsNodes)
else if ((hasNsNodes)) {
int i;
xmlNodePtr node;
-
+
for (i = pos; i < set->nodeNr; i++) {
node = set->nodeTab[i];
if ((node != NULL) &&
(node->type == XML_NAMESPACE_DECL))
xmlXPathNodeSetFreeNs((xmlNsPtr) node);
- }
+ }
}
set->nodeNr = pos;
}
@@ -4267,8 +4398,12 @@ xmlXPathNewNodeSetList(xmlNodeSetPtr val)
ret = xmlXPathNewNodeSet(NULL);
else {
ret = xmlXPathNewNodeSet(val->nodeTab[0]);
- for (i = 1; i < val->nodeNr; ++i)
- xmlXPathNodeSetAddUnique(ret->nodesetval, val->nodeTab[i]);
+ if (ret) {
+ for (i = 1; i < val->nodeNr; ++i) {
+ if (xmlXPathNodeSetAddUnique(ret->nodesetval, val->nodeTab[i])
+ < 0) break;
+ }
+ }
}
return (ret);
@@ -4344,8 +4479,10 @@ xmlXPathDifference (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) {
for (i = 0; i < l1; i++) {
cur = xmlXPathNodeSetItem(nodes1, i);
- if (!xmlXPathNodeSetContains(nodes2, cur))
- xmlXPathNodeSetAddUnique(ret, cur);
+ if (!xmlXPathNodeSetContains(nodes2, cur)) {
+ if (xmlXPathNodeSetAddUnique(ret, cur) < 0)
+ break;
+ }
}
return(ret);
}
@@ -4367,6 +4504,8 @@ xmlXPathIntersection (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) {
int i, l1;
xmlNodePtr cur;
+ if (ret == NULL)
+ return(ret);
if (xmlXPathNodeSetIsEmpty(nodes1))
return(ret);
if (xmlXPathNodeSetIsEmpty(nodes2))
@@ -4376,8 +4515,10 @@ xmlXPathIntersection (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) {
for (i = 0; i < l1; i++) {
cur = xmlXPathNodeSetItem(nodes1, i);
- if (xmlXPathNodeSetContains(nodes2, cur))
- xmlXPathNodeSetAddUnique(ret, cur);
+ if (xmlXPathNodeSetContains(nodes2, cur)) {
+ if (xmlXPathNodeSetAddUnique(ret, cur) < 0)
+ break;
+ }
}
return(ret);
}
@@ -4388,7 +4529,7 @@ xmlXPathIntersection (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) {
*
* Implements the EXSLT - Sets distinct() function:
* node-set set:distinct (node-set)
- *
+ *
* Returns a subset of the nodes contained in @nodes, or @nodes if
* it is empty
*/
@@ -4404,6 +4545,8 @@ xmlXPathDistinctSorted (xmlNodeSetPtr nodes) {
return(nodes);
ret = xmlXPathNodeSetCreate(NULL);
+ if (ret == NULL)
+ return(ret);
l = xmlXPathNodeSetGetLength(nodes);
hash = xmlHashCreate (l);
for (i = 0; i < l; i++) {
@@ -4411,7 +4554,8 @@ xmlXPathDistinctSorted (xmlNodeSetPtr nodes) {
strval = xmlXPathCastNodeToString(cur);
if (xmlHashLookup(hash, strval) == NULL) {
xmlHashAddEntry(hash, strval, strval);
- xmlXPathNodeSetAddUnique(ret, cur);
+ if (xmlXPathNodeSetAddUnique(ret, cur) < 0)
+ break;
} else {
xmlFree(strval);
}
@@ -4492,6 +4636,8 @@ xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, xmlNodePtr node) {
return(nodes);
ret = xmlXPathNodeSetCreate(NULL);
+ if (ret == NULL)
+ return(ret);
if (xmlXPathNodeSetIsEmpty(nodes) ||
(!xmlXPathNodeSetContains(nodes, node)))
return(ret);
@@ -4501,7 +4647,8 @@ xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, xmlNodePtr node) {
cur = xmlXPathNodeSetItem(nodes, i);
if (cur == node)
break;
- xmlXPathNodeSetAddUnique(ret, cur);
+ if (xmlXPathNodeSetAddUnique(ret, cur) < 0)
+ break;
}
return(ret);
}
@@ -4594,17 +4741,21 @@ xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, xmlNodePtr node) {
return(nodes);
ret = xmlXPathNodeSetCreate(NULL);
+ if (ret == NULL)
+ return(ret);
if (xmlXPathNodeSetIsEmpty(nodes) ||
(!xmlXPathNodeSetContains(nodes, node)))
return(ret);
l = xmlXPathNodeSetGetLength(nodes);
- for (i = l; i > 0; i--) {
+ for (i = l - 1; i >= 0; i--) {
cur = xmlXPathNodeSetItem(nodes, i);
if (cur == node)
break;
- xmlXPathNodeSetAddUnique(ret, cur);
+ if (xmlXPathNodeSetAddUnique(ret, cur) < 0)
+ break;
}
+ xmlXPathNodeSetSort(ret); /* bug 413451 */
return(ret);
}
@@ -4690,7 +4841,7 @@ xmlXPathTrailing (xmlNodeSetPtr nodes1, xmlNodeSetPtr nodes2) {
*
* Returns 0 in case of success, -1 in case of error
*/
-int
+int
xmlXPathRegisterFunc(xmlXPathContextPtr ctxt, const xmlChar *name,
xmlXPathFunction f) {
return(xmlXPathRegisterFuncNS(ctxt, name, NULL, f));
@@ -4784,7 +4935,7 @@ xmlXPathFunction
xmlXPathFunctionLookupNS(xmlXPathContextPtr ctxt, const xmlChar *name,
const xmlChar *ns_uri) {
xmlXPathFunction ret;
-
+
if (ctxt == NULL)
return(NULL);
if (name == NULL)
@@ -4838,7 +4989,7 @@ xmlXPathRegisteredFuncsCleanup(xmlXPathContextPtr ctxt) {
*
* Returns 0 in case of success, -1 in case of error
*/
-int
+int
xmlXPathRegisterVariable(xmlXPathContextPtr ctxt, const xmlChar *name,
xmlXPathObjectPtr value) {
return(xmlXPathRegisterVariableNS(ctxt, name, NULL, value));
@@ -4870,7 +5021,7 @@ xmlXPathRegisterVariableNS(xmlXPathContextPtr ctxt, const xmlChar *name,
if (ctxt->varHash == NULL)
return(-1);
if (value == NULL)
- return(xmlHashRemoveEntry2(ctxt->varHash, name, ns_uri,
+ return(xmlHashRemoveEntry2(ctxt->varHash, name, ns_uri,
(xmlHashDeallocator)xmlXPathFreeObject));
return(xmlHashUpdateEntry2(ctxt->varHash, name, ns_uri,
(void *) value,
@@ -4926,7 +5077,7 @@ xmlXPathVariableLookup(xmlXPathContextPtr ctxt, const xmlChar *name) {
* @ns_uri: the variable namespace URI
*
* Search in the Variable array of the context for the given
- * variable value.
+ * variable value.
*
* Returns the a copy of the value or NULL if not found
*/
@@ -4971,7 +5122,7 @@ xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt) {
/**
* xmlXPathRegisterNs:
* @ctxt: the XPath context
- * @prefix: the namespace prefix
+ * @prefix: the namespace prefix cannot be NULL or empty string
* @ns_uri: the namespace name
*
* Register a new namespace. If @ns_uri is NULL it unregisters
@@ -4986,6 +5137,8 @@ xmlXPathRegisterNs(xmlXPathContextPtr ctxt, const xmlChar *prefix,
return(-1);
if (prefix == NULL)
return(-1);
+ if (prefix[0] == 0)
+ return(-1);
if (ctxt->nsHash == NULL)
ctxt->nsHash = xmlHashCreate(10);
@@ -5309,7 +5462,7 @@ xmlXPathObjectCopy(xmlXPathObjectPtr val) {
#endif
case XPATH_USERS:
ret->user = val->user;
- break;
+ break;
case XPATH_UNDEFINED:
xmlGenericError(xmlGenericErrorContext,
"xmlXPathObjectCopy: unsupported type %d\n",
@@ -5338,7 +5491,7 @@ xmlXPathFreeObject(xmlXPathObjectPtr obj) {
#endif
obj->type = XPATH_XSLT_TREE; /* TODO: Just for debugging. */
if (obj->nodesetval != NULL)
- xmlXPathFreeValueTree(obj->nodesetval);
+ xmlXPathFreeValueTree(obj->nodesetval);
} else {
if (obj->nodesetval != NULL)
xmlXPathFreeNodeSet(obj->nodesetval);
@@ -5355,7 +5508,7 @@ xmlXPathFreeObject(xmlXPathObjectPtr obj) {
#ifdef XP_DEBUG_OBJ_USAGE
xmlXPathDebugObjUsageReleased(NULL, obj->type);
#endif
- xmlFree(obj);
+ xmlFree(obj);
}
/**
@@ -5378,7 +5531,7 @@ xmlXPathReleaseObject(xmlXPathContextPtr ctxt, xmlXPathObjectPtr obj)
return;
if ((ctxt == NULL) || (ctxt->cache == NULL)) {
xmlXPathFreeObject(obj);
- } else {
+ } else {
xmlXPathContextCachePtr cache =
(xmlXPathContextCachePtr) ctxt->cache;
@@ -5387,7 +5540,7 @@ xmlXPathReleaseObject(xmlXPathContextPtr ctxt, xmlXPathObjectPtr obj)
case XPATH_XSLT_TREE:
if (obj->nodesetval != NULL) {
if (obj->boolval) {
- /*
+ /*
* It looks like the @boolval is used for
* evaluation if this an XSLT Result Tree Fragment.
* TODO: Check if this assumption is correct.
@@ -5434,7 +5587,7 @@ xmlXPathReleaseObject(xmlXPathContextPtr ctxt, xmlXPathObjectPtr obj)
xmlXPtrFreeLocationSet(obj->user);
}
goto free_obj;
-#endif
+#endif
default:
goto free_obj;
}
@@ -5455,7 +5608,7 @@ obj_cached:
if (obj->nodesetval != NULL) {
xmlNodeSetPtr tmpset = obj->nodesetval;
-
+
/*
* TODO: Due to those nasty ns-nodes, we need to traverse
* the list and free the ns-nodes.
@@ -5478,7 +5631,7 @@ obj_cached:
if ((tmpset->nodeTab[0] != NULL) &&
(tmpset->nodeTab[0]->type == XML_NAMESPACE_DECL))
xmlXPathNodeSetFreeNs((xmlNsPtr) tmpset->nodeTab[0]);
- }
+ }
tmpset->nodeNr = 0;
memset(obj, 0, sizeof(xmlXPathObject));
obj->nodesetval = tmpset;
@@ -5490,7 +5643,7 @@ obj_cached:
free_obj:
/*
* Cache is full; free the object.
- */
+ */
if (obj->nodesetval != NULL)
xmlXPathFreeNodeSet(obj->nodesetval);
#ifdef XP_DEBUG_OBJ_USAGE
@@ -5570,7 +5723,10 @@ xmlXPathCastNumberToString (double val) {
*/
xmlChar *
xmlXPathCastNodeToString (xmlNodePtr node) {
- return(xmlNodeGetContent(node));
+xmlChar *ret;
+ if ((ret = xmlNodeGetContent(node)) == NULL)
+ ret = xmlStrdup((const xmlChar *) "");
+ return(ret);
}
/**
@@ -5598,7 +5754,7 @@ xmlXPathCastNodeSetToString (xmlNodeSetPtr ns) {
* Converts an existing object to its string() equivalent
*
* Returns the allocated string value of the object, NULL in case of error.
- * It's up to the caller to free the string memory with xmlFree().
+ * It's up to the caller to free the string memory with xmlFree().
*/
xmlChar *
xmlXPathCastToString(xmlXPathObjectPtr val) {
@@ -5989,7 +6145,7 @@ xmlXPathNewContext(xmlDocPtr doc) {
}
#endif
- xmlXPathRegisterAllFunctions(ret);
+ xmlXPathRegisterAllFunctions(ret);
return(ret);
}
@@ -6020,7 +6176,7 @@ xmlXPathFreeContext(xmlXPathContextPtr ctxt) {
************************************************************************/
#define CHECK_CTXT(ctxt) \
- if (ctxt == NULL) { \
+ if (ctxt == NULL) { \
__xmlRaiseError(NULL, NULL, NULL, \
NULL, NULL, XML_FROM_XPATH, \
XML_ERR_INTERNAL_ERROR, XML_ERR_FATAL, \
@@ -6031,7 +6187,7 @@ xmlXPathFreeContext(xmlXPathContextPtr ctxt) {
} \
#define CHECK_CTXT_NEG(ctxt) \
- if (ctxt == NULL) { \
+ if (ctxt == NULL) { \
__xmlRaiseError(NULL, NULL, NULL, \
NULL, NULL, XML_FROM_XPATH, \
XML_ERR_INTERNAL_ERROR, XML_ERR_FATAL, \
@@ -6044,7 +6200,7 @@ xmlXPathFreeContext(xmlXPathContextPtr ctxt) {
#define CHECK_CONTEXT(ctxt) \
if ((ctxt == NULL) || (ctxt->doc == NULL) || \
- (ctxt->doc->children == NULL)) { \
+ (ctxt->doc->children == NULL)) { \
xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_INVALID_CTXT); \
return(NULL); \
}
@@ -6107,7 +6263,7 @@ xmlXPathCompParserContext(xmlXPathCompExprPtr comp, xmlXPathContextPtr ctxt) {
memset(ret, 0 , (size_t) sizeof(xmlXPathParserContext));
/* Allocate the value stack */
- ret->valueTab = (xmlXPathObjectPtr *)
+ ret->valueTab = (xmlXPathObjectPtr *)
xmlMalloc(10 * sizeof(xmlXPathObjectPtr));
if (ret->valueTab == NULL) {
xmlFree(ret);
@@ -6117,6 +6273,7 @@ xmlXPathCompParserContext(xmlXPathCompExprPtr comp, xmlXPathContextPtr ctxt) {
ret->valueNr = 0;
ret->valueMax = 10;
ret->value = NULL;
+ ret->valueFrame = 0;
ret->context = ctxt;
ret->comp = comp;
@@ -6254,7 +6411,7 @@ xmlXPathNodeValHash(xmlNodePtr node) {
tmp = tmp->next;
continue;
}
-
+
do {
tmp = tmp->parent;
if (tmp == NULL)
@@ -6413,7 +6570,7 @@ xmlXPathCompareNodeSetString(xmlXPathParserContextPtr ctxt, int inf, int strict,
* If both objects to be compared are node-sets, then the comparison
* will be true if and only if there is a node in the first node-set
* and a node in the second node-set such that the result of performing
- * the comparison on the string-values of the two nodes is true.
+ * the comparison on the string-values of the two nodes is true.
* ....
* When neither object to be compared is a node-set and the operator
* is <=, <, >= or >, then the objects are compared by converting both
@@ -6427,7 +6584,7 @@ xmlXPathCompareNodeSetString(xmlXPathParserContextPtr ctxt, int inf, int strict,
* represented by the string; any other string is converted to NaN
*
* Conclusion all nodes need to be converted first to their string value
- * and then the comparison must be done when possible
+ * and then the comparison must be done when possible
*/
static int
xmlXPathCompareNodeSets(int inf, int strict,
@@ -6482,7 +6639,7 @@ xmlXPathCompareNodeSets(int inf, int strict,
}
if (xmlXPathIsNaN(values2[j]))
continue;
- if (inf && strict)
+ if (inf && strict)
ret = (val1 < values2[j]);
else if (inf && !strict)
ret = (val1 <= values2[j]);
@@ -6822,7 +6979,7 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt,
case XPATH_STRING:
if ((arg2->stringval == NULL) ||
(arg2->stringval[0] == 0)) ret = 0;
- else
+ else
ret = 1;
ret = (arg1->boolval == ret);
break;
@@ -6857,7 +7014,7 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt,
case XPATH_NUMBER:
/* Hand check NaN and Infinity equalities */
if (xmlXPathIsNaN(arg1->floatval) ||
- xmlXPathIsNaN(arg2->floatval)) {
+ xmlXPathIsNaN(arg2->floatval)) {
ret = 0;
} else if (xmlXPathIsInf(arg1->floatval) == 1) {
if (xmlXPathIsInf(arg2->floatval) == 1)
@@ -6905,7 +7062,7 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt,
case XPATH_BOOLEAN:
if ((arg1->stringval == NULL) ||
(arg1->stringval[0] == 0)) ret = 0;
- else
+ else
ret = 1;
ret = (arg2->boolval == ret);
break;
@@ -6918,7 +7075,7 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt,
arg1 = valuePop(ctxt);
/* Hand check NaN and Infinity equalities */
if (xmlXPathIsNaN(arg1->floatval) ||
- xmlXPathIsNaN(arg2->floatval)) {
+ xmlXPathIsNaN(arg2->floatval)) {
ret = 0;
} else if (xmlXPathIsInf(arg1->floatval) == 1) {
if (xmlXPathIsInf(arg2->floatval) == 1)
@@ -6984,7 +7141,7 @@ xmlXPathEqualValues(xmlXPathParserContextPtr ctxt) {
int ret = 0;
if ((ctxt == NULL) || (ctxt->context == NULL)) return(0);
- arg2 = valuePop(ctxt);
+ arg2 = valuePop(ctxt);
arg1 = valuePop(ctxt);
if ((arg1 == NULL) || (arg2 == NULL)) {
if (arg1 != NULL)
@@ -7030,7 +7187,7 @@ xmlXPathEqualValues(xmlXPathParserContextPtr ctxt) {
case XPATH_BOOLEAN:
if ((arg1->nodesetval == NULL) ||
(arg1->nodesetval->nodeNr == 0)) ret = 0;
- else
+ else
ret = 1;
ret = (ret == arg2->boolval);
break;
@@ -7069,7 +7226,7 @@ xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt) {
int ret = 0;
if ((ctxt == NULL) || (ctxt->context == NULL)) return(0);
- arg2 = valuePop(ctxt);
+ arg2 = valuePop(ctxt);
arg1 = valuePop(ctxt);
if ((arg1 == NULL) || (arg2 == NULL)) {
if (arg1 != NULL)
@@ -7115,7 +7272,7 @@ xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt) {
case XPATH_BOOLEAN:
if ((arg1->nodesetval == NULL) ||
(arg1->nodesetval->nodeNr == 0)) ret = 0;
- else
+ else
ret = 1;
ret = (ret != arg2->boolval);
break;
@@ -7146,7 +7303,7 @@ xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt) {
* @inf: less than (1) or greater than (0)
* @strict: is the comparison strict
*
- * Implement the compare operation on XPath objects:
+ * Implement the compare operation on XPath objects:
* @arg1 < @arg2 (1, 1, ...
* @arg1 <= @arg2 (1, 0, ...
* @arg1 > @arg2 (0, 1, ...
@@ -7170,7 +7327,7 @@ xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict) {
xmlXPathObjectPtr arg1, arg2;
if ((ctxt == NULL) || (ctxt->context == NULL)) return(0);
- arg2 = valuePop(ctxt);
+ arg2 = valuePop(ctxt);
arg1 = valuePop(ctxt);
if ((arg1 == NULL) || (arg2 == NULL)) {
if (arg1 != NULL)
@@ -7411,7 +7568,7 @@ xmlXPathDivValues(xmlXPathParserContextPtr ctxt) {
ctxt->value->floatval = xmlXPathPINF;
else if (ctxt->value->floatval < 0)
ctxt->value->floatval = xmlXPathNINF;
- } else
+ } else
ctxt->value->floatval /= val;
}
@@ -7619,6 +7776,7 @@ xmlXPathNextChildElement(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
return(NULL);
}
+#if 0
/**
* xmlXPathNextDescendantOrSelfElemParent:
* @ctxt: the XPath Parser context
@@ -7646,10 +7804,10 @@ xmlXPathNextDescendantOrSelfElemParent(xmlNodePtr cur,
#ifdef LIBXML_DOCB_ENABLED
case XML_DOCB_DOCUMENT_NODE:
#endif
- case XML_HTML_DOCUMENT_NODE:
+ case XML_HTML_DOCUMENT_NODE:
return(contextNode);
default:
- return(NULL);
+ return(NULL);
}
return(NULL);
} else {
@@ -7660,7 +7818,7 @@ xmlXPathNextDescendantOrSelfElemParent(xmlNodePtr cur,
case XML_ELEMENT_NODE:
/* TODO: OK to have XInclude here? */
case XML_XINCLUDE_START:
- case XML_DOCUMENT_FRAG_NODE:
+ case XML_DOCUMENT_FRAG_NODE:
if (cur != start)
return(cur);
if (cur->children != NULL) {
@@ -7668,9 +7826,9 @@ xmlXPathNextDescendantOrSelfElemParent(xmlNodePtr cur,
continue;
}
break;
-#ifdef LIBXML_DOCB_ENABLED
/* Not sure if we need those here. */
case XML_DOCUMENT_NODE:
+#ifdef LIBXML_DOCB_ENABLED
case XML_DOCB_DOCUMENT_NODE:
#endif
case XML_HTML_DOCUMENT_NODE:
@@ -7679,13 +7837,13 @@ xmlXPathNextDescendantOrSelfElemParent(xmlNodePtr cur,
return(xmlDocGetRootElement((xmlDocPtr) cur));
default:
break;
- }
-
+ }
+
next_sibling:
if ((cur == NULL) || (cur == contextNode))
- return(NULL);
+ return(NULL);
if (cur->next != NULL) {
- cur = cur->next;
+ cur = cur->next;
} else {
cur = cur->parent;
goto next_sibling;
@@ -7693,7 +7851,8 @@ next_sibling:
}
}
return(NULL);
-}
+}
+#endif
/**
* xmlXPathNextDescendant:
@@ -7721,11 +7880,13 @@ xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
return(ctxt->context->node->children);
}
+ if (cur->type == XML_NAMESPACE_DECL)
+ return(NULL);
if (cur->children != NULL) {
/*
* Do not descend on entities declarations
*/
- if (cur->children->type != XML_ENTITY_DECL) {
+ if (cur->children->type != XML_ENTITY_DECL) {
cur = cur->children;
/*
* Skip DTDs
@@ -7743,7 +7904,7 @@ xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
(cur->type != XML_DTD_NODE))
return(cur);
}
-
+
do {
cur = cur->parent;
if (cur == NULL) break;
@@ -7772,14 +7933,14 @@ xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
xmlNodePtr
xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
- if (cur == NULL) {
- if (ctxt->context->node == NULL)
- return(NULL);
- if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
- (ctxt->context->node->type == XML_NAMESPACE_DECL))
- return(NULL);
+ if (cur == NULL)
return(ctxt->context->node);
- }
+
+ if (ctxt->context->node == NULL)
+ return(NULL);
+ if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
+ (ctxt->context->node->type == XML_NAMESPACE_DECL))
+ return(NULL);
return(xmlXPathNextDescendant(ctxt, cur));
}
@@ -7842,7 +8003,7 @@ xmlXPathNextParent(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
return(NULL);
case XML_NAMESPACE_DECL: {
xmlNsPtr ns = (xmlNsPtr) ctxt->context->node;
-
+
if ((ns->next != NULL) &&
(ns->next->type != XML_NAMESPACE_DECL))
return((xmlNodePtr) ns->next);
@@ -7915,7 +8076,7 @@ xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
return(NULL);
case XML_NAMESPACE_DECL: {
xmlNsPtr ns = (xmlNsPtr) ctxt->context->node;
-
+
if ((ns->next != NULL) &&
(ns->next->type != XML_NAMESPACE_DECL))
return((xmlNodePtr) ns->next);
@@ -7959,7 +8120,7 @@ xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
}
case XML_NAMESPACE_DECL: {
xmlNsPtr ns = (xmlNsPtr) ctxt->context->node;
-
+
if ((ns->next != NULL) &&
(ns->next->type != XML_NAMESPACE_DECL))
return((xmlNodePtr) ns->next);
@@ -8069,9 +8230,17 @@ xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
xmlNodePtr
xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
- if (cur != NULL && cur->children != NULL)
- return cur->children ;
- if (cur == NULL) cur = ctxt->context->node;
+ if ((cur != NULL) && (cur->type != XML_ATTRIBUTE_NODE) &&
+ (cur->type != XML_NAMESPACE_DECL) && (cur->children != NULL))
+ return(cur->children);
+
+ if (cur == NULL) {
+ cur = ctxt->context->node;
+ if (cur->type == XML_NAMESPACE_DECL)
+ return(NULL);
+ if (cur->type == XML_ATTRIBUTE_NODE)
+ cur = cur->parent;
+ }
if (cur == NULL) return(NULL) ; /* ERROR */
if (cur->next != NULL) return(cur->next) ;
do {
@@ -8095,6 +8264,10 @@ xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
static int
xmlXPathIsAncestor(xmlNodePtr ancestor, xmlNodePtr node) {
if ((ancestor == NULL) || (node == NULL)) return(0);
+ if (node->type == XML_NAMESPACE_DECL)
+ return(0);
+ if (ancestor->type == XML_NAMESPACE_DECL)
+ return(0);
/* nodes need to be in the same document */
if (ancestor->doc != node->doc) return(0);
/* avoid searching if ancestor or node is the root node */
@@ -8125,9 +8298,14 @@ xmlNodePtr
xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur)
{
if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
- if (cur == NULL)
+ if (cur == NULL) {
cur = ctxt->context->node;
- if (cur == NULL)
+ if (cur->type == XML_NAMESPACE_DECL)
+ return(NULL);
+ if (cur->type == XML_ATTRIBUTE_NODE)
+ return(cur->parent);
+ }
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return (NULL);
if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
cur = cur->prev;
@@ -8156,7 +8334,7 @@ xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur)
* node that are before the context node in document order, excluding any
* ancestors and excluding attribute nodes and namespace nodes; the nodes are
* ordered in reverse document order
- * This is a faster implementation but internal only since it requires a
+ * This is a faster implementation but internal only since it requires a
* state kept in the parser context: ctxt->ancestor.
*
* Returns the next element following that axis
@@ -8170,10 +8348,12 @@ xmlXPathNextPrecedingInternal(xmlXPathParserContextPtr ctxt,
cur = ctxt->context->node;
if (cur == NULL)
return (NULL);
- if (cur->type == XML_NAMESPACE_DECL)
- cur = (xmlNodePtr)((xmlNsPtr)cur)->next;
+ if (cur->type == XML_NAMESPACE_DECL)
+ return (NULL);
ctxt->ancestor = cur->parent;
}
+ if (cur->type == XML_NAMESPACE_DECL)
+ return(NULL);
if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
cur = cur->prev;
while (cur->prev == NULL) {
@@ -8213,7 +8393,7 @@ xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
if (ctxt->context->tmpNsList == NULL && cur != (xmlNodePtr) xmlXPathXMLNamespace) {
if (ctxt->context->tmpNsList != NULL)
xmlFree(ctxt->context->tmpNsList);
- ctxt->context->tmpNsList =
+ ctxt->context->tmpNsList =
xmlGetNsList(ctxt->context->doc, ctxt->context->node);
ctxt->context->tmpNsNr = 0;
if (ctxt->context->tmpNsList != NULL) {
@@ -8361,7 +8541,7 @@ xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr cur;
CHECK_ARITY(1);
- if ((ctxt->value == NULL) ||
+ if ((ctxt->value == NULL) ||
((ctxt->value->type != XPATH_NODESET) &&
(ctxt->value->type != XPATH_XSLT_TREE)))
XP_ERROR(XPATH_INVALID_TYPE);
@@ -8381,7 +8561,7 @@ xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs) {
int i = 0;
tmp = cur->nodesetval->nodeTab[0];
- if (tmp != NULL) {
+ if ((tmp != NULL) && (tmp->type != XML_NAMESPACE_DECL)) {
tmp = tmp->children;
while (tmp != NULL) {
tmp = tmp->next;
@@ -8414,6 +8594,8 @@ xmlXPathGetElementsByIds (xmlDocPtr doc, const xmlChar *ids) {
if (ids == NULL) return(NULL);
ret = xmlXPathNodeSetCreate(NULL);
+ if (ret == NULL)
+ return(ret);
while (IS_BLANK_CH(*cur)) cur++;
while (*cur != 0) {
@@ -8481,6 +8663,11 @@ xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs) {
int i;
ret = xmlXPathNodeSetCreate(NULL);
+ /*
+ * FIXME -- in an out-of-memory condition this will behave badly.
+ * The solution is not clear -- we already popped an item from
+ * ctxt, so the object is in a corrupt state.
+ */
if (obj->nodesetval != NULL) {
for (i = 0; i < obj->nodesetval->nodeNr; i++) {
@@ -8499,7 +8686,7 @@ xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs) {
}
obj = xmlXPathCacheConvertString(ctxt->context, obj);
ret = xmlXPathGetElementsByIds(ctxt->context->doc, obj->stringval);
- valuePush(ctxt, xmlXPathCacheWrapNodeSet(ctxt->context, ret));
+ valuePush(ctxt, xmlXPathCacheWrapNodeSet(ctxt->context, ret));
xmlXPathReleaseObject(ctxt->context, obj);
return;
}
@@ -8530,7 +8717,7 @@ xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs) {
}
CHECK_ARITY(1);
- if ((ctxt->value == NULL) ||
+ if ((ctxt->value == NULL) ||
((ctxt->value->type != XPATH_NODESET) &&
(ctxt->value->type != XPATH_XSLT_TREE)))
XP_ERROR(XPATH_INVALID_TYPE);
@@ -8588,7 +8775,7 @@ xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs) {
nargs = 1;
}
CHECK_ARITY(1);
- if ((ctxt->value == NULL) ||
+ if ((ctxt->value == NULL) ||
((ctxt->value->type != XPATH_NODESET) &&
(ctxt->value->type != XPATH_XSLT_TREE)))
XP_ERROR(XPATH_INVALID_TYPE);
@@ -8672,7 +8859,7 @@ xmlXPathNameFunction(xmlXPathParserContextPtr ctxt, int nargs)
cur->nodesetval->nodeTab[i]->name));
} else {
xmlChar *fullname;
-
+
fullname = xmlBuildQName(cur->nodesetval->nodeTab[i]->name,
cur->nodesetval->nodeTab[i]->ns->prefix,
NULL, 0);
@@ -8707,11 +8894,11 @@ xmlXPathNameFunction(xmlXPathParserContextPtr ctxt, int nargs)
* the node in the node-set that is first in document order.
* If the node-set is empty, an empty string is returned.
* - A number is converted to a string as follows
- * + NaN is converted to the string NaN
- * + positive zero is converted to the string 0
- * + negative zero is converted to the string 0
- * + positive infinity is converted to the string Infinity
- * + negative infinity is converted to the string -Infinity
+ * + NaN is converted to the string NaN
+ * + positive zero is converted to the string 0
+ * + negative zero is converted to the string 0
+ * + positive infinity is converted to the string Infinity
+ * + negative infinity is converted to the string -Infinity
* + if the number is an integer, the number is represented in
* decimal form as a Number with no decimal point and no leading
* zeros, preceded by a minus sign (-) if the number is negative
@@ -8785,7 +8972,7 @@ xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs) {
CHECK_TYPE(XPATH_STRING);
cur = valuePop(ctxt);
valuePush(ctxt, xmlXPathCacheNewFloat(ctxt->context,
- xmlUTF8Strlen(cur->stringval)));
+ xmlUTF8Strlen(cur->stringval)));
xmlXPathReleaseObject(ctxt->context, cur);
}
@@ -8924,12 +9111,12 @@ xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* or equal to the second argument and, if the third argument is specified,
* less than the sum of the second and third arguments; the comparisons
* and addition used for the above follow the standard IEEE 754 rules. Thus:
- * - substring("12345", 1.5, 2.6) returns "234"
- * - substring("12345", 0, 3) returns "12"
- * - substring("12345", 0 div 0, 3) returns ""
- * - substring("12345", 1, 0 div 0) returns ""
- * - substring("12345", -42, 1 div 0) returns "12345"
- * - substring("12345", -1 div 0, 1 div 0) returns ""
+ * - substring("12345", 1.5, 2.6) returns "234"
+ * - substring("12345", 0, 3) returns "12"
+ * - substring("12345", 0 div 0, 3) returns ""
+ * - substring("12345", 1, 0 div 0) returns ""
+ * - substring("12345", -42, 1 div 0) returns "12345"
+ * - substring("12345", -1 div 0, 1 div 0) returns ""
*/
void
xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs) {
@@ -8970,18 +9157,18 @@ xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*/
if (nargs != 3) {
le = (double)m;
- if (in < 1.0)
+ if (in < 1.0)
in = 1.0;
}
- /* Need to check for the special cases where either
+ /* Need to check for the special cases where either
* the index is NaN, the length is NaN, or both
* arguments are infinity (relying on Inf + -Inf = NaN)
*/
- if (!xmlXPathIsNaN(in + le) && !xmlXPathIsInf(in)) {
+ if (!xmlXPathIsInf(in) && !xmlXPathIsNaN(in + le)) {
/*
* To meet the requirements of the spec, the arguments
- * must be converted to integer format before
+ * must be converted to integer format before
* initial index calculations are done
*
* First we go to integer form, rounding up
@@ -9044,26 +9231,26 @@ void
xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr str;
xmlXPathObjectPtr find;
- xmlBufferPtr target;
+ xmlBufPtr target;
const xmlChar *point;
int offset;
-
+
CHECK_ARITY(2);
CAST_TO_STRING;
find = valuePop(ctxt);
CAST_TO_STRING;
str = valuePop(ctxt);
-
- target = xmlBufferCreate();
+
+ target = xmlBufCreate();
if (target) {
point = xmlStrstr(str->stringval, find->stringval);
if (point) {
offset = (int)(point - str->stringval);
- xmlBufferAdd(target, str->stringval, offset);
+ xmlBufAdd(target, str->stringval, offset);
}
valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
- xmlBufferContent(target)));
- xmlBufferFree(target);
+ xmlBufContent(target)));
+ xmlBufFree(target);
}
xmlXPathReleaseObject(ctxt->context, str);
xmlXPathReleaseObject(ctxt->context, find);
@@ -9087,27 +9274,27 @@ void
xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr str;
xmlXPathObjectPtr find;
- xmlBufferPtr target;
+ xmlBufPtr target;
const xmlChar *point;
int offset;
-
+
CHECK_ARITY(2);
CAST_TO_STRING;
find = valuePop(ctxt);
CAST_TO_STRING;
str = valuePop(ctxt);
-
- target = xmlBufferCreate();
+
+ target = xmlBufCreate();
if (target) {
point = xmlStrstr(str->stringval, find->stringval);
if (point) {
offset = (int)(point - str->stringval) + xmlStrlen(find->stringval);
- xmlBufferAdd(target, &str->stringval[offset],
+ xmlBufAdd(target, &str->stringval[offset],
xmlStrlen(str->stringval) - offset);
}
valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
- xmlBufferContent(target)));
- xmlBufferFree(target);
+ xmlBufContent(target)));
+ xmlBufFree(target);
}
xmlXPathReleaseObject(ctxt->context, str);
xmlXPathReleaseObject(ctxt->context, find);
@@ -9131,9 +9318,9 @@ void
xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr obj = NULL;
xmlChar *source = NULL;
- xmlBufferPtr target;
+ xmlBufPtr target;
xmlChar blank;
-
+
if (ctxt == NULL) return;
if (nargs == 0) {
/* Use current context node */
@@ -9149,13 +9336,13 @@ xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
obj = valuePop(ctxt);
source = obj->stringval;
- target = xmlBufferCreate();
+ target = xmlBufCreate();
if (target && source) {
-
+
/* Skip leading whitespaces */
while (IS_BLANK_CH(*source))
source++;
-
+
/* Collapse intermediate whitespaces, and skip trailing whitespaces */
blank = 0;
while (*source) {
@@ -9163,16 +9350,16 @@ xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
blank = 0x20;
} else {
if (blank) {
- xmlBufferAdd(target, &blank, 1);
+ xmlBufAdd(target, &blank, 1);
blank = 0;
}
- xmlBufferAdd(target, source, 1);
+ xmlBufAdd(target, source, 1);
}
source++;
}
valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
- xmlBufferContent(target)));
- xmlBufferFree(target);
+ xmlBufContent(target)));
+ xmlBufFree(target);
}
xmlXPathReleaseObject(ctxt->context, obj);
}
@@ -9203,7 +9390,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr str;
xmlXPathObjectPtr from;
xmlXPathObjectPtr to;
- xmlBufferPtr target;
+ xmlBufPtr target;
int offset, max;
xmlChar ch;
const xmlChar *point;
@@ -9218,7 +9405,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
CAST_TO_STRING;
str = valuePop(ctxt);
- target = xmlBufferCreate();
+ target = xmlBufCreate();
if (target) {
max = xmlUTF8Strlen(to->stringval);
for (cptr = str->stringval; (ch=*cptr); ) {
@@ -9227,10 +9414,10 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if (offset < max) {
point = xmlUTF8Strpos(to->stringval, offset);
if (point)
- xmlBufferAdd(target, point, xmlUTF8Strsize(point, 1));
+ xmlBufAdd(target, point, xmlUTF8Strsize(point, 1));
}
} else
- xmlBufferAdd(target, cptr, xmlUTF8Strsize(cptr, 1));
+ xmlBufAdd(target, cptr, xmlUTF8Strsize(cptr, 1));
/* Step to next character in input */
cptr++;
@@ -9239,6 +9426,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if ( (ch & 0xc0) != 0xc0 ) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathTranslateFunction: Invalid UTF8 string\n");
+ /* not asserting an XPath error is probably better */
break;
}
/* then skip over remaining bytes for this char */
@@ -9246,6 +9434,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if ( (*cptr++ & 0xc0) != 0x80 ) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathTranslateFunction: Invalid UTF8 string\n");
+ /* not asserting an XPath error is probably better */
break;
}
if (ch & 0x80) /* must have had error encountered */
@@ -9254,8 +9443,8 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
}
}
valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
- xmlBufferContent(target)));
- xmlBufferFree(target);
+ xmlBufContent(target)));
+ xmlBufFree(target);
xmlXPathReleaseObject(ctxt->context, str);
xmlXPathReleaseObject(ctxt->context, from);
xmlXPathReleaseObject(ctxt->context, to);
@@ -9430,7 +9619,7 @@ xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs) {
double res = 0.0;
CHECK_ARITY(1);
- if ((ctxt->value == NULL) ||
+ if ((ctxt->value == NULL) ||
((ctxt->value->type != XPATH_NODESET) &&
(ctxt->value->type != XPATH_XSLT_TREE)))
XP_ERROR(XPATH_INVALID_TYPE);
@@ -9549,14 +9738,14 @@ xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs) {
if (ctxt->value->floatval < 0) {
if (ctxt->value->floatval < f - 0.5)
ctxt->value->floatval = f - 1;
- else
+ else
ctxt->value->floatval = f;
if (ctxt->value->floatval == 0)
ctxt->value->floatval = xmlXPathNZERO;
} else {
if (ctxt->value->floatval < f + 0.5)
ctxt->value->floatval = f;
- else
+ else
ctxt->value->floatval = f + 1;
}
}
@@ -9607,7 +9796,7 @@ xmlXPathCurrentChar(xmlXPathParserContextPtr ctxt, int *len) {
* UCS-4 range (hex.) UTF-8 octet sequence (binary)
* 0000 0000-0000 007F 0xxxxxxx
* 0000 0080-0000 07FF 110xxxxx 10xxxxxx
- * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
+ * 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
*
* Check for the 0x110000 limit too
*/
@@ -9644,7 +9833,7 @@ xmlXPathCurrentChar(xmlXPathParserContextPtr ctxt, int *len) {
}
if (!IS_CHAR(val)) {
XP_ERROR0(XPATH_INVALID_CHAR_ERROR);
- }
+ }
return(val);
} else {
/* 1-byte code */
@@ -9716,7 +9905,7 @@ xmlXPathParseNCName(xmlXPathParserContextPtr ctxt) {
/**
* xmlXPathParseQName:
* @ctxt: the XPath Parser context
- * @prefix: a xmlChar **
+ * @prefix: a xmlChar **
*
* parse an XML qualified name
*
@@ -9736,7 +9925,7 @@ xmlXPathParseQName(xmlXPathParserContextPtr ctxt, xmlChar **prefix) {
*prefix = NULL;
ret = xmlXPathParseNCName(ctxt);
- if (CUR == ':') {
+ if (ret && CUR == ':') {
*prefix = ret;
NEXT;
ret = xmlXPathParseNCName(ctxt);
@@ -9762,7 +9951,7 @@ xmlChar *
xmlXPathParseName(xmlXPathParserContextPtr ctxt) {
const xmlChar *in;
xmlChar *ret;
- int count = 0;
+ size_t count = 0;
if ((ctxt == NULL) || (ctxt->cur == NULL)) return(NULL);
/*
@@ -9781,6 +9970,10 @@ xmlXPathParseName(xmlXPathParserContextPtr ctxt) {
in++;
if ((*in > 0) && (*in < 0x80)) {
count = in - ctxt->cur;
+ if (count > XML_MAX_NAME_LENGTH) {
+ ctxt->cur = in;
+ XP_ERRORNULL(XPATH_EXPR_ERROR);
+ }
ret = xmlStrndup(ctxt->cur, count);
ctxt->cur = in;
return(ret);
@@ -9810,7 +10003,7 @@ xmlXPathParseNameComplex(xmlXPathParserContextPtr ctxt, int qualified) {
while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
((IS_LETTER(c)) || (IS_DIGIT(c)) ||
(c == '.') || (c == '-') ||
- (c == '_') || ((qualified) && (c == ':')) ||
+ (c == '_') || ((qualified) && (c == ':')) ||
(IS_COMBINING(c)) ||
(IS_EXTENDER(c)))) {
COPY_BUF(l,buf,len,c);
@@ -9823,7 +10016,10 @@ xmlXPathParseNameComplex(xmlXPathParserContextPtr ctxt, int qualified) {
*/
xmlChar *buffer;
int max = len * 2;
-
+
+ if (len > XML_MAX_NAME_LENGTH) {
+ XP_ERRORNULL(XPATH_EXPR_ERROR);
+ }
buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
if (buffer == NULL) {
XP_ERRORNULL(XPATH_MEMORY_ERROR);
@@ -9831,10 +10027,13 @@ xmlXPathParseNameComplex(xmlXPathParserContextPtr ctxt, int qualified) {
memcpy(buffer, buf, len);
while ((IS_LETTER(c)) || (IS_DIGIT(c)) || /* test bigname.xml */
(c == '.') || (c == '-') ||
- (c == '_') || ((qualified) && (c == ':')) ||
+ (c == '_') || ((qualified) && (c == ':')) ||
(IS_COMBINING(c)) ||
(IS_EXTENDER(c))) {
if (len + 10 > max) {
+ if (max > XML_MAX_NAME_LENGTH) {
+ XP_ERRORNULL(XPATH_EXPR_ERROR);
+ }
max *= 2;
buffer = (xmlChar *) xmlRealloc(buffer,
max * sizeof(xmlChar));
@@ -9878,7 +10077,7 @@ static double my_pow10[MAX_FRAC+1] = {
* [30a] Float ::= Number ('e' Digits?)?
*
* [30] Number ::= Digits ('.' Digits?)?
- * | '.' Digits
+ * | '.' Digits
* [31] Digits ::= [0-9]+
*
* Compile a Number in the string
@@ -9977,7 +10176,7 @@ xmlXPathStringEvalNumber(const xmlChar *str) {
* @ctxt: the XPath Parser context
*
* [30] Number ::= Digits ('.' Digits?)?
- * | '.' Digits
+ * | '.' Digits
* [31] Digits ::= [0-9]+
*
* Compile a Number, then push it on the stack
@@ -9987,7 +10186,6 @@ static void
xmlXPathCompNumber(xmlXPathParserContextPtr ctxt)
{
double ret = 0.0;
- double mult = 1;
int ok = 0;
int exponent = 0;
int is_exponent_negative = 0;
@@ -10023,15 +10221,23 @@ xmlXPathCompNumber(xmlXPathParserContextPtr ctxt)
}
#endif
if (CUR == '.') {
+ int v, frac = 0;
+ double fraction = 0;
+
NEXT;
if (((CUR < '0') || (CUR > '9')) && (!ok)) {
XP_ERROR(XPATH_NUMBER_ERROR);
}
- while ((CUR >= '0') && (CUR <= '9')) {
- mult /= 10;
- ret = ret + (CUR - '0') * mult;
+ while ((CUR >= '0') && (CUR <= '9') && (frac < MAX_FRAC)) {
+ v = (CUR - '0');
+ fraction = fraction * 10 + v;
+ frac = frac + 1;
NEXT;
}
+ fraction /= my_pow10[frac];
+ ret = ret + fraction;
+ while ((CUR >= '0') && (CUR <= '9'))
+ NEXT;
}
if ((CUR == 'e') || (CUR == 'E')) {
NEXT;
@@ -10157,9 +10363,9 @@ xmlXPathCompLiteral(xmlXPathParserContextPtr ctxt) {
*
* Early evaluation is possible since:
* The variable bindings [...] used to evaluate a subexpression are
- * always the same as those used to evaluate the containing expression.
+ * always the same as those used to evaluate the containing expression.
*
- * [36] VariableReference ::= '$' QName
+ * [36] VariableReference ::= '$' QName
*/
static void
xmlXPathCompVariableReference(xmlXPathParserContextPtr ctxt) {
@@ -10180,7 +10386,7 @@ xmlXPathCompVariableReference(xmlXPathParserContextPtr ctxt) {
name, prefix);
SKIP_BLANKS;
if ((ctxt->context != NULL) && (ctxt->context->flags & XML_XPATH_NOVAR)) {
- XP_ERROR(XPATH_UNDEF_VARIABLE_ERROR);
+ XP_ERROR(XPATH_FORBID_VARIABLE_ERROR);
}
}
@@ -10218,7 +10424,7 @@ xmlXPathIsNodeType(const xmlChar *name) {
* @ctxt: the XPath Parser context
*
* [16] FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument)*)? ')'
- * [17] Argument ::= Expr
+ * [17] Argument ::= Expr
*
* Compile a function call, the evaluation of all arguments are
* pushed on the stack
@@ -10232,6 +10438,7 @@ xmlXPathCompFunctionCall(xmlXPathParserContextPtr ctxt) {
name = xmlXPathParseQName(ctxt, &prefix);
if (name == NULL) {
+ xmlFree(prefix);
XP_ERROR(XPATH_EXPR_ERROR);
}
SKIP_BLANKS;
@@ -10264,7 +10471,11 @@ xmlXPathCompFunctionCall(xmlXPathParserContextPtr ctxt) {
int op1 = ctxt->comp->last;
ctxt->comp->last = -1;
xmlXPathCompileExpr(ctxt, sort);
- CHECK_ERROR;
+ if (ctxt->error != XPATH_EXPRESSION_OK) {
+ xmlFree(name);
+ xmlFree(prefix);
+ return;
+ }
PUSH_BINARY_EXPR(XPATH_OP_ARG, op1, ctxt->comp->last, 0, 0);
nbargs++;
if (CUR == ')') break;
@@ -10285,11 +10496,11 @@ xmlXPathCompFunctionCall(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompPrimaryExpr:
* @ctxt: the XPath Parser context
*
- * [15] PrimaryExpr ::= VariableReference
+ * [15] PrimaryExpr ::= VariableReference
* | '(' Expr ')'
- * | Literal
- * | Number
- * | FunctionCall
+ * | Literal
+ * | Number
+ * | FunctionCall
*
* Compile a primary expression.
*/
@@ -10321,8 +10532,8 @@ xmlXPathCompPrimaryExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompFilterExpr:
* @ctxt: the XPath Parser context
*
- * [20] FilterExpr ::= PrimaryExpr
- * | FilterExpr Predicate
+ * [20] FilterExpr ::= PrimaryExpr
+ * | FilterExpr Predicate
*
* Compile a filter expression.
* Square brackets are used to filter expressions in the same way that
@@ -10337,13 +10548,13 @@ xmlXPathCompFilterExpr(xmlXPathParserContextPtr ctxt) {
xmlXPathCompPrimaryExpr(ctxt);
CHECK_ERROR;
SKIP_BLANKS;
-
+
while (CUR == '[') {
xmlXPathCompPredicate(ctxt, 1);
SKIP_BLANKS;
}
-
+
}
/**
@@ -10382,7 +10593,7 @@ xmlXPathScanName(xmlXPathParserContextPtr ctxt) {
while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
((IS_LETTER(c)) || (IS_DIGIT(c)) ||
(c == '.') || (c == '-') ||
- (c == '_') || (c == ':') ||
+ (c == '_') || (c == ':') ||
(IS_COMBINING(c)) ||
(IS_EXTENDER(c)))) {
len += l;
@@ -10398,10 +10609,10 @@ xmlXPathScanName(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompPathExpr:
* @ctxt: the XPath Parser context
*
- * [19] PathExpr ::= LocationPath
- * | FilterExpr
- * | FilterExpr '/' RelativeLocationPath
- * | FilterExpr '//' RelativeLocationPath
+ * [19] PathExpr ::= LocationPath
+ * | FilterExpr
+ * | FilterExpr '/' RelativeLocationPath
+ * | FilterExpr '//' RelativeLocationPath
*
* Compile a path expression.
* The / operator and // operators combine an arbitrary expression
@@ -10418,8 +10629,8 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
xmlChar *name = NULL; /* we may have to preparse a name to find out */
SKIP_BLANKS;
- if ((CUR == '$') || (CUR == '(') ||
- (IS_ASCII_DIGIT(CUR)) ||
+ if ((CUR == '$') || (CUR == '(') ||
+ (IS_ASCII_DIGIT(CUR)) ||
(CUR == '\'') || (CUR == '"') ||
(CUR == '.' && IS_ASCII_DIGIT(NXT(1)))) {
lc = 0;
@@ -10459,7 +10670,7 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
} else if (name != NULL) {
int len =xmlStrlen(name);
-
+
while (NXT(len) != 0) {
if (NXT(len) == '/') {
/* element name */
@@ -10526,7 +10737,7 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
/* make sure all cases are covered explicitly */
XP_ERROR(XPATH_EXPR_ERROR);
}
- }
+ }
if (lc) {
if (CUR == '/') {
@@ -10558,8 +10769,8 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompUnionExpr:
* @ctxt: the XPath Parser context
*
- * [18] UnionExpr ::= PathExpr
- * | UnionExpr '|' PathExpr
+ * [18] UnionExpr ::= PathExpr
+ * | UnionExpr '|' PathExpr
*
* Compile an union expression.
*/
@@ -10587,8 +10798,8 @@ xmlXPathCompUnionExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompUnaryExpr:
* @ctxt: the XPath Parser context
*
- * [27] UnaryExpr ::= UnionExpr
- * | '-' UnaryExpr
+ * [27] UnaryExpr ::= UnionExpr
+ * | '-' UnaryExpr
*
* Compile an unary expression.
*/
@@ -10620,10 +10831,10 @@ xmlXPathCompUnaryExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompMultiplicativeExpr:
* @ctxt: the XPath Parser context
*
- * [26] MultiplicativeExpr ::= UnaryExpr
- * | MultiplicativeExpr MultiplyOperator UnaryExpr
- * | MultiplicativeExpr 'div' UnaryExpr
- * | MultiplicativeExpr 'mod' UnaryExpr
+ * [26] MultiplicativeExpr ::= UnaryExpr
+ * | MultiplicativeExpr MultiplyOperator UnaryExpr
+ * | MultiplicativeExpr 'div' UnaryExpr
+ * | MultiplicativeExpr 'mod' UnaryExpr
* [34] MultiplyOperator ::= '*'
*
* Compile an Additive expression.
@@ -10634,7 +10845,7 @@ xmlXPathCompMultiplicativeExpr(xmlXPathParserContextPtr ctxt) {
xmlXPathCompUnaryExpr(ctxt);
CHECK_ERROR;
SKIP_BLANKS;
- while ((CUR == '*') ||
+ while ((CUR == '*') ||
((CUR == 'd') && (NXT(1) == 'i') && (NXT(2) == 'v')) ||
((CUR == 'm') && (NXT(1) == 'o') && (NXT(2) == 'd'))) {
int op = -1;
@@ -10662,9 +10873,9 @@ xmlXPathCompMultiplicativeExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompAdditiveExpr:
* @ctxt: the XPath Parser context
*
- * [25] AdditiveExpr ::= MultiplicativeExpr
- * | AdditiveExpr '+' MultiplicativeExpr
- * | AdditiveExpr '-' MultiplicativeExpr
+ * [25] AdditiveExpr ::= MultiplicativeExpr
+ * | AdditiveExpr '+' MultiplicativeExpr
+ * | AdditiveExpr '-' MultiplicativeExpr
*
* Compile an Additive expression.
*/
@@ -10694,11 +10905,11 @@ xmlXPathCompAdditiveExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompRelationalExpr:
* @ctxt: the XPath Parser context
*
- * [24] RelationalExpr ::= AdditiveExpr
- * | RelationalExpr '<' AdditiveExpr
- * | RelationalExpr '>' AdditiveExpr
- * | RelationalExpr '<=' AdditiveExpr
- * | RelationalExpr '>=' AdditiveExpr
+ * [24] RelationalExpr ::= AdditiveExpr
+ * | RelationalExpr '<' AdditiveExpr
+ * | RelationalExpr '>' AdditiveExpr
+ * | RelationalExpr '<=' AdditiveExpr
+ * | RelationalExpr '>=' AdditiveExpr
*
* A <= B > C is allowed ? Answer from James, yes with
* (AdditiveExpr <= AdditiveExpr) > AdditiveExpr
@@ -10738,9 +10949,9 @@ xmlXPathCompRelationalExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompEqualityExpr:
* @ctxt: the XPath Parser context
*
- * [23] EqualityExpr ::= RelationalExpr
- * | EqualityExpr '=' RelationalExpr
- * | EqualityExpr '!=' RelationalExpr
+ * [23] EqualityExpr ::= RelationalExpr
+ * | EqualityExpr '=' RelationalExpr
+ * | EqualityExpr '!=' RelationalExpr
*
* A != B != C is allowed ? Answer from James, yes with
* (RelationalExpr = RelationalExpr) = RelationalExpr
@@ -10775,8 +10986,8 @@ xmlXPathCompEqualityExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompAndExpr:
* @ctxt: the XPath Parser context
*
- * [22] AndExpr ::= EqualityExpr
- * | AndExpr 'and' EqualityExpr
+ * [22] AndExpr ::= EqualityExpr
+ * | AndExpr 'and' EqualityExpr
*
* Compile an AND expression.
*
@@ -10801,9 +11012,9 @@ xmlXPathCompAndExpr(xmlXPathParserContextPtr ctxt) {
* xmlXPathCompileExpr:
* @ctxt: the XPath Parser context
*
- * [14] Expr ::= OrExpr
- * [21] OrExpr ::= AndExpr
- * | OrExpr 'or' AndExpr
+ * [14] Expr ::= OrExpr
+ * [21] OrExpr ::= AndExpr
+ * | OrExpr 'or' AndExpr
*
* Parse and compile an expression
*/
@@ -10819,7 +11030,6 @@ xmlXPathCompileExpr(xmlXPathParserContextPtr ctxt, int sort) {
xmlXPathCompAndExpr(ctxt);
CHECK_ERROR;
PUSH_BINARY_EXPR(XPATH_OP_OR, op1, ctxt->comp->last, 0, 0);
- op1 = ctxt->comp->nbStep;
SKIP_BLANKS;
}
if ((sort) && (ctxt->comp->steps[ctxt->comp->last].op != XPATH_OP_VALUE)) {
@@ -10839,7 +11049,7 @@ xmlXPathCompileExpr(xmlXPathParserContextPtr ctxt, int sort) {
* @filter: act as a filter
*
* [8] Predicate ::= '[' PredicateExpr ']'
- * [9] PredicateExpr ::= Expr
+ * [9] PredicateExpr ::= Expr
*
* Compile a predicate expression
*/
@@ -10956,7 +11166,7 @@ xmlXPathCompNodeTest(xmlXPathParserContextPtr ctxt, xmlXPathTestVal *test,
}
*test = NODE_TEST_TYPE;
-
+
SKIP_BLANKS;
if (*type == NODE_TYPE_PI) {
/*
@@ -11092,7 +11302,7 @@ xmlXPathIsAxisName(const xmlChar *name) {
* @ctxt: the XPath Parser context
*
* [4] Step ::= AxisSpecifier NodeTest Predicate*
- * | AbbreviatedStep
+ * | AbbreviatedStep
*
* [12] AbbreviatedStep ::= '.' | '..'
*
@@ -11201,7 +11411,10 @@ xmlXPathCompStep(xmlXPathParserContextPtr ctxt) {
}
}
- CHECK_ERROR;
+ if (ctxt->error != XPATH_EXPRESSION_OK) {
+ xmlFree(name);
+ return;
+ }
name = xmlXPathCompNodeTest(ctxt, &test, &type, &prefix, name);
if (test == 0)
@@ -11264,10 +11477,10 @@ eval_predicates:
* xmlXPathCompRelativeLocationPath:
* @ctxt: the XPath Parser context
*
- * [3] RelativeLocationPath ::= Step
- * | RelativeLocationPath '/' Step
- * | AbbreviatedRelativeLocationPath
- * [11] AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step
+ * [3] RelativeLocationPath ::= Step
+ * | RelativeLocationPath '/' Step
+ * | AbbreviatedRelativeLocationPath
+ * [11] AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step
*
* Compile a relative location path.
*/
@@ -11285,6 +11498,7 @@ xmlXPathCompRelativeLocationPath
SKIP_BLANKS;
}
xmlXPathCompStep(ctxt);
+ CHECK_ERROR;
SKIP_BLANKS;
while (CUR == '/') {
if ((CUR == '/') && (NXT(1) == '/')) {
@@ -11306,12 +11520,12 @@ xmlXPathCompRelativeLocationPath
* xmlXPathCompLocationPath:
* @ctxt: the XPath Parser context
*
- * [1] LocationPath ::= RelativeLocationPath
- * | AbsoluteLocationPath
+ * [1] LocationPath ::= RelativeLocationPath
+ * | AbsoluteLocationPath
* [2] AbsoluteLocationPath ::= '/' RelativeLocationPath?
- * | AbbreviatedAbsoluteLocationPath
- * [10] AbbreviatedAbsoluteLocationPath ::=
- * '//' RelativeLocationPath
+ * | AbbreviatedAbsoluteLocationPath
+ * [10] AbbreviatedAbsoluteLocationPath ::=
+ * '//' RelativeLocationPath
*
* Compile a location path
*
@@ -11344,13 +11558,14 @@ xmlXPathCompLocationPath(xmlXPathParserContextPtr ctxt) {
(CUR == '@') || (CUR == '*')))
xmlXPathCompRelativeLocationPath(ctxt);
}
+ CHECK_ERROR;
}
}
}
/************************************************************************
* *
- * XPath precompiled expression evaluation *
+ * XPath precompiled expression evaluation *
* *
************************************************************************/
@@ -11359,12 +11574,11 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op);
#ifdef DEBUG_STEP
static void
-xmlXPathDebugDumpStepAxis(xmlXPathAxisVal axis,
- xmlXPathTestVal test,
+xmlXPathDebugDumpStepAxis(xmlXPathStepOpPtr op,
int nbNodes)
{
xmlGenericError(xmlGenericErrorContext, "new step : ");
- switch (axis) {
+ switch (op->value) {
case AXIS_ANCESTOR:
xmlGenericError(xmlGenericErrorContext, "axis 'ancestors' ");
break;
@@ -11411,14 +11625,14 @@ xmlXPathDebugDumpStepAxis(xmlXPathAxisVal axis,
}
xmlGenericError(xmlGenericErrorContext,
" context contains %d nodes\n", nbNodes);
- switch (test) {
+ switch (op->value2) {
case NODE_TEST_NONE:
xmlGenericError(xmlGenericErrorContext,
" searching for none !!!\n");
break;
case NODE_TEST_TYPE:
xmlGenericError(xmlGenericErrorContext,
- " searching for type %d\n", type);
+ " searching for type %d\n", op->value3);
break;
case NODE_TEST_PI:
xmlGenericError(xmlGenericErrorContext,
@@ -11431,14 +11645,14 @@ xmlXPathDebugDumpStepAxis(xmlXPathAxisVal axis,
case NODE_TEST_NS:
xmlGenericError(xmlGenericErrorContext,
" searching for namespace %s\n",
- prefix);
+ op->value5);
break;
case NODE_TEST_NAME:
xmlGenericError(xmlGenericErrorContext,
- " searching for name %s\n", name);
- if (prefix != NULL)
+ " searching for name %s\n", op->value5);
+ if (op->value4)
xmlGenericError(xmlGenericErrorContext,
- " with namespace %s\n", prefix);
+ " with namespace %s\n", op->value4);
break;
}
xmlGenericError(xmlGenericErrorContext, "Testing : ");
@@ -11467,7 +11681,7 @@ xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt,
CHECK_ERROR0;
if (contextSize <= 0)
return(0);
- }
+ }
if (op->ch2 != -1) {
xmlXPathContextPtr xpctxt = ctxt->context;
xmlNodePtr contextNode, oldContextNode;
@@ -11511,7 +11725,7 @@ xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt,
/*
* Get the expression of this predicate.
*/
- exprOp = &ctxt->comp->steps[op->ch2];
+ exprOp = &ctxt->comp->steps[op->ch2];
newContextSize = 0;
for (i = 0; i < set->nodeNr; i++) {
if (set->nodeTab[i] == NULL)
@@ -11521,8 +11735,8 @@ xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt,
xpctxt->node = contextNode;
xpctxt->contextSize = contextSize;
xpctxt->proximityPosition = ++contextPos;
-
- /*
+
+ /*
* Also set the xpath document in case things like
* key() are evaluated in the predicate.
*/
@@ -11536,16 +11750,23 @@ xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt,
*/
if (contextObj == NULL)
contextObj = xmlXPathCacheNewNodeSet(xpctxt, contextNode);
- else
- xmlXPathNodeSetAddUnique(contextObj->nodesetval,
- contextNode);
+ else {
+ if (xmlXPathNodeSetAddUnique(contextObj->nodesetval,
+ contextNode) < 0) {
+ ctxt->error = XPATH_MEMORY_ERROR;
+ goto evaluation_exit;
+ }
+ }
valuePush(ctxt, contextObj);
res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
- if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1))
- goto evaluation_error;
+ if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
+ xmlXPathNodeSetClear(set, hasNsNodes);
+ newContextSize = 0;
+ goto evaluation_exit;
+ }
if (res != 0) {
newContextSize++;
@@ -11573,18 +11794,13 @@ xmlXPathCompOpEvalPredicate(xmlXPathParserContextPtr ctxt,
contextObj = NULL;
}
}
- goto evaluation_exit;
-evaluation_error:
- xmlXPathNodeSetClear(set, hasNsNodes);
- newContextSize = 0;
-
-evaluation_exit:
if (contextObj != NULL) {
if (ctxt->value == contextObj)
valuePop(ctxt);
xmlXPathReleaseObject(xpctxt, contextObj);
- }
+ }
+evaluation_exit:
if (exprRes != NULL)
xmlXPathReleaseObject(ctxt->context, exprRes);
/*
@@ -11641,6 +11857,7 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr contextObj = NULL, exprRes = NULL;
xmlNodePtr oldContextNode, contextNode = NULL;
xmlXPathContextPtr xpctxt = ctxt->context;
+ int frame;
#ifdef LIBXML_XPTR_ENABLED
/*
@@ -11660,6 +11877,8 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
*/
exprOp = &ctxt->comp->steps[op->ch2];
for (i = 0; i < set->nodeNr; i++) {
+ xmlXPathObjectPtr tmp;
+
if (set->nodeTab[i] == NULL)
continue;
@@ -11667,7 +11886,7 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
xpctxt->node = contextNode;
xpctxt->contextSize = contextSize;
xpctxt->proximityPosition = ++contextPos;
-
+
/*
* Initialize the new set.
* Also set the xpath document in case things like
@@ -11683,15 +11902,33 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
*/
if (contextObj == NULL)
contextObj = xmlXPathCacheNewNodeSet(xpctxt, contextNode);
- else
- xmlXPathNodeSetAddUnique(contextObj->nodesetval,
- contextNode);
+ else {
+ if (xmlXPathNodeSetAddUnique(contextObj->nodesetval,
+ contextNode) < 0) {
+ ctxt->error = XPATH_MEMORY_ERROR;
+ goto evaluation_exit;
+ }
+ }
+ frame = xmlXPathSetFrame(ctxt);
valuePush(ctxt, contextObj);
res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
-
- if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1))
+ tmp = valuePop(ctxt);
+ xmlXPathPopFrame(ctxt, frame);
+
+ if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
+ while (tmp != contextObj) {
+ /*
+ * Free up the result
+ * then pop off contextObj, which will be freed later
+ */
+ xmlXPathReleaseObject(xpctxt, tmp);
+ tmp = valuePop(ctxt);
+ }
goto evaluation_error;
+ }
+ /* push the result back onto the stack */
+ valuePush(ctxt, tmp);
if (res)
pos++;
@@ -11714,9 +11951,9 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
}
xmlXPathNodeSetClear(set, hasNsNodes);
set->nodeNr = 1;
- set->nodeTab[0] = contextNode;
+ set->nodeTab[0] = contextNode;
goto evaluation_exit;
- }
+ }
if (pos == maxPos) {
/*
* We are done.
@@ -11780,7 +12017,7 @@ evaluation_exit:
static int
xmlXPathIsPositionalPredicate(xmlXPathParserContextPtr ctxt,
- xmlXPathStepOpPtr op,
+ xmlXPathStepOpPtr op,
int *maxPos)
{
@@ -11789,7 +12026,7 @@ xmlXPathIsPositionalPredicate(xmlXPathParserContextPtr ctxt,
/*
* BIG NOTE: This is not intended for XPATH_OP_FILTER yet!
*/
-
+
/*
* If not -1, then ch1 will point to:
* 1) For predicates (XPATH_OP_PREDICATE):
@@ -11798,13 +12035,13 @@ xmlXPathIsPositionalPredicate(xmlXPathParserContextPtr ctxt,
* - an inner filter operater OR
* - an expression selecting the node set.
* E.g. "key('a', 'b')" or "(//foo | //bar)".
- */
+ */
if ((op->op != XPATH_OP_PREDICATE) && (op->op != XPATH_OP_FILTER))
return(0);
if (op->ch2 != -1) {
exprOp = &ctxt->comp->steps[op->ch2];
- } else
+ } else
return(0);
if ((exprOp != NULL) &&
@@ -11823,10 +12060,10 @@ xmlXPathIsPositionalPredicate(xmlXPathParserContextPtr ctxt,
* Maybe we could rewrite the AST to ease the optimization.
*/
*maxPos = (int) ((xmlXPathObjectPtr) exprOp->value4)->floatval;
-
+
if (((xmlXPathObjectPtr) exprOp->value4)->floatval ==
(float) *maxPos)
- {
+ {
return(1);
}
}
@@ -11843,22 +12080,25 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
#define XP_TEST_HIT \
if (hasAxisRange != 0) { \
if (++pos == maxPos) { \
- addNode(seq, cur); \
- goto axis_range_end; } \
+ if (addNode(seq, cur) < 0) \
+ ctxt->error = XPATH_MEMORY_ERROR; \
+ goto axis_range_end; } \
} else { \
- addNode(seq, cur); \
+ if (addNode(seq, cur) < 0) \
+ ctxt->error = XPATH_MEMORY_ERROR; \
if (breakOnFirstHit) goto first_hit; }
#define XP_TEST_HIT_NS \
if (hasAxisRange != 0) { \
if (++pos == maxPos) { \
hasNsNodes = 1; \
- xmlXPathNodeSetAddNs(seq, xpctxt->node, (xmlNsPtr) cur); \
+ if (xmlXPathNodeSetAddNs(seq, xpctxt->node, (xmlNsPtr) cur) < 0) \
+ ctxt->error = XPATH_MEMORY_ERROR; \
goto axis_range_end; } \
} else { \
hasNsNodes = 1; \
- xmlXPathNodeSetAddNs(seq, \
- xpctxt->node, (xmlNsPtr) cur); \
+ if (xmlXPathNodeSetAddNs(seq, xpctxt->node, (xmlNsPtr) cur) < 0) \
+ ctxt->error = XPATH_MEMORY_ERROR; \
if (breakOnFirstHit) goto first_hit; }
xmlXPathAxisVal axis = (xmlXPathAxisVal) op->value;
@@ -11878,8 +12118,6 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
xmlNodeSetPtr contextSeq;
int contextIdx;
xmlNodePtr contextNode;
- /* The context node for a compound traversal */
- xmlNodePtr outerContextNode;
/* The final resulting node set wrt to all context nodes */
xmlNodeSetPtr outSeq;
/*
@@ -11887,7 +12125,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
* Used to feed predicate evaluation.
*/
xmlNodeSetPtr seq;
- xmlNodePtr cur;
+ xmlNodePtr cur;
/* First predicate operator */
xmlXPathStepOpPtr predOp;
int maxPos; /* The requested position() (when a "[n]" predicate) */
@@ -11895,11 +12133,9 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
int breakOnFirstHit;
xmlXPathTraversalFunction next = NULL;
- /* compound axis traversal */
- xmlXPathTraversalFunctionExt outerNext = NULL;
- void (*addNode) (xmlNodeSetPtr, xmlNodePtr);
+ int (*addNode) (xmlNodeSetPtr, xmlNodePtr);
xmlXPathNodeSetMergeFunction mergeAndClear;
- xmlNodePtr oldContextNode;
+ xmlNodePtr oldContextNode;
xmlXPathContextPtr xpctxt = ctxt->context;
@@ -11914,7 +12150,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
xmlXPathReleaseObject(xpctxt, obj);
XP_ERROR0(XPATH_UNDEF_PREFIX_ERROR);
}
- }
+ }
/*
* Setup axis.
*
@@ -11928,7 +12164,6 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
* avoid a duplicate-aware merge, if the axis to be traversed is e.g.
* the descendant-or-self axis.
*/
- addNode = xmlXPathNodeSetAdd;
mergeAndClear = xmlXPathNodeSetMergeAndClear;
switch (axis) {
case AXIS_ANCESTOR:
@@ -11947,13 +12182,6 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
break;
case AXIS_CHILD:
last = NULL;
- if (op->rewriteType == XP_REWRITE_DOS_CHILD_ELEM) {
- /*
- * This iterator will give us only nodes which can
- * hold element nodes.
- */
- outerNext = xmlXPathNextDescendantOrSelfElemParent;
- }
if (((test == NODE_TEST_NAME) || (test == NODE_TEST_ALL)) &&
(type == NODE_TYPE_NODE))
{
@@ -12008,20 +12236,20 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
}
#ifdef DEBUG_STEP
- xmlXPathDebugDumpStepAxis(axis, test,
- (obj->nodesetval != NULL) ? obj->nodsetval->nodeNr : 0);
+ xmlXPathDebugDumpStepAxis(op,
+ (obj->nodesetval != NULL) ? obj->nodesetval->nodeNr : 0);
#endif
if (next == NULL) {
- xmlXPathReleaseObject(xpctxt, obj);
+ xmlXPathReleaseObject(xpctxt, obj);
return(0);
- }
+ }
contextSeq = obj->nodesetval;
if ((contextSeq == NULL) || (contextSeq->nodeNr <= 0)) {
xmlXPathReleaseObject(xpctxt, obj);
valuePush(ctxt, xmlXPathCacheWrapNodeSet(xpctxt, NULL));
return(0);
- }
+ }
/*
* Predicate optimization ---------------------------------------------
* If this step has a last predicate, which contains a position(),
@@ -12029,7 +12257,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
* the short-hand form, i.e., "[n]".
*
* Example - expression "/foo[parent::bar][1]":
- *
+ *
* COLLECT 'child' 'name' 'node' foo -- op (we are here)
* ROOT -- op->ch1
* PREDICATE -- op->ch2 (predOp)
@@ -12062,7 +12290,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
*/
predOp = NULL;
hasAxisRange = 1;
- }
+ }
}
}
breakOnFirstHit = ((toBool) && (predOp == NULL)) ? 1 : 0;
@@ -12071,7 +12299,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
*/
/*
* 2.3 Node Tests
- * - For the attribute axis, the principal node type is attribute.
+ * - For the attribute axis, the principal node type is attribute.
* - For the namespace axis, the principal node type is namespace.
* - For other axes, the principal node type is element.
*
@@ -12083,33 +12311,14 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
addNode = xmlXPathNodeSetAddUnique;
outSeq = NULL;
seq = NULL;
- outerContextNode = NULL;
contextNode = NULL;
contextIdx = 0;
- while ((contextIdx < contextSeq->nodeNr) || (contextNode != NULL)) {
- if (outerNext != NULL) {
- /*
- * This is a compound traversal.
- */
- if (contextNode == NULL) {
- /*
- * Set the context for the outer traversal.
- */
- outerContextNode = contextSeq->nodeTab[contextIdx++];
- contextNode = outerNext(NULL, outerContextNode);
- } else
- contextNode = outerNext(contextNode, outerContextNode);
- if (contextNode == NULL)
- continue;
- /*
- * Set the context for the main traversal.
- */
- xpctxt->node = contextNode;
- } else
- xpctxt->node = contextSeq->nodeTab[contextIdx++];
-
+ while (((contextIdx < contextSeq->nodeNr) || (contextNode != NULL)) &&
+ (ctxt->error == XPATH_EXPRESSION_OK)) {
+ xpctxt->node = contextSeq->nodeTab[contextIdx++];
+
if (seq == NULL) {
seq = xmlXPathNodeSetCreate(NULL);
if (seq == NULL) {
@@ -12163,6 +12372,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
#ifdef DEBUG_STEP
xmlGenericError(xmlGenericErrorContext, " %s", cur->name);
#endif
+
switch (test) {
case NODE_TEST_NONE:
total = 0;
@@ -12181,7 +12391,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
#ifdef LIBXML_DOCB_ENABLED
case XML_DOCB_DOCUMENT_NODE:
#endif
- case XML_ELEMENT_NODE:
+ case XML_ELEMENT_NODE:
case XML_ATTRIBUTE_NODE:
case XML_PI_NODE:
case XML_COMMENT_NODE:
@@ -12194,7 +12404,7 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
break;
}
} else if (cur->type == type) {
- if (type == XML_NAMESPACE_DECL)
+ if (cur->type == XML_NAMESPACE_DECL)
XP_TEST_HIT_NS
else
XP_TEST_HIT
@@ -12215,7 +12425,14 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
if (axis == AXIS_ATTRIBUTE) {
if (cur->type == XML_ATTRIBUTE_NODE)
{
- XP_TEST_HIT
+ if (prefix == NULL)
+ {
+ XP_TEST_HIT
+ } else if ((cur->ns != NULL) &&
+ (xmlStrEqual(URI, cur->ns->href)))
+ {
+ XP_TEST_HIT
+ }
}
} else if (axis == AXIS_NAMESPACE) {
if (cur->type == XML_NAMESPACE_DECL)
@@ -12241,6 +12458,16 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
break;
}
case NODE_TEST_NAME:
+ if (axis == AXIS_ATTRIBUTE) {
+ if (cur->type != XML_ATTRIBUTE_NODE)
+ break;
+ } else if (axis == AXIS_NAMESPACE) {
+ if (cur->type != XML_NAMESPACE_DECL)
+ break;
+ } else {
+ if (cur->type != XML_ELEMENT_NODE)
+ break;
+ }
switch (cur->type) {
case XML_ELEMENT_NODE:
if (xmlStrEqual(name, cur->name)) {
@@ -12295,11 +12522,11 @@ xmlXPathNodeCollectAndTest(xmlXPathParserContextPtr ctxt,
}
break;
} /* switch(test) */
- } while (cur != NULL);
+ } while ((cur != NULL) && (ctxt->error == XPATH_EXPRESSION_OK));
goto apply_predicates;
-axis_range_end: /* ----------------------------------------------------- */
+axis_range_end: /* ----------------------------------------------------- */
/*
* We have a "/foo[n]", and position() = n was reached.
* Note that we can have as well "/foo/::parent::foo[1]", so
@@ -12336,13 +12563,16 @@ first_hit: /* ---------------------------------------------------------- */
#endif
apply_predicates: /* --------------------------------------------------- */
+ if (ctxt->error != XPATH_EXPRESSION_OK)
+ goto error;
+
/*
* Apply predicates.
- */
+ */
if ((predOp != NULL) && (seq->nodeNr > 0)) {
/*
* E.g. when we have a "/foo[some expression][n]".
- */
+ */
/*
* QUESTION TODO: The old predicate evaluation took into
* account location-sets.
@@ -12351,7 +12581,7 @@ apply_predicates: /* --------------------------------------------------- */
* All what I learned now from the evaluation semantics
* does not indicate that a location-set will be processed
* here, so this looks OK.
- */
+ */
/*
* Iterate over all predicates, starting with the outermost
* predicate.
@@ -12367,7 +12597,7 @@ apply_predicates: /* --------------------------------------------------- */
*
* For the moment, I'll try to solve this with a recursive
* function: xmlXPathCompOpEvalPredicate().
- */
+ */
size = seq->nodeNr;
if (hasPredicateRange != 0)
newSize = xmlXPathCompOpEvalPositionalPredicate(ctxt,
@@ -12422,7 +12652,7 @@ apply_predicates: /* --------------------------------------------------- */
} else {
outSeq = mergeAndClear(outSeq, seq, 0);
}
- }
+ }
}
error:
@@ -12447,10 +12677,11 @@ error:
outSeq = seq;
else
outSeq = xmlXPathNodeSetCreate(NULL);
+ /* XXX what if xmlXPathNodeSetCreate returned NULL here? */
}
if ((seq != NULL) && (seq != outSeq)) {
xmlXPathFreeNodeSet(seq);
- }
+ }
/*
* Hand over the result. Better to push the set also in
* case of errors.
@@ -12590,7 +12821,7 @@ xmlXPathCompOpEvalFirst(xmlXPathParserContextPtr ctxt,
return (total);
#ifdef XP_OPTIMIZED_FILTER_FIRST
case XPATH_OP_FILTER:
- total =+ xmlXPathCompOpEvalFilterFirst(ctxt, op, first);
+ total += xmlXPathCompOpEvalFilterFirst(ctxt, op, first);
return (total);
#endif
default:
@@ -12734,9 +12965,9 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
xmlXPathStepOpPtr op, xmlNodePtr * first)
{
int total = 0;
- xmlXPathCompExprPtr comp;
+ xmlXPathCompExprPtr comp;
xmlXPathObjectPtr res;
- xmlXPathObjectPtr obj;
+ xmlXPathObjectPtr obj;
xmlNodeSetPtr oldset;
xmlNodePtr oldnode;
xmlDocPtr oldDoc;
@@ -12751,7 +12982,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
(comp->steps[op->ch1].op == XPATH_OP_SORT) &&
(comp->steps[op->ch2].op == XPATH_OP_SORT)) {
int f = comp->steps[op->ch2].ch1;
-
+
if ((f != -1) &&
(comp->steps[f].op == XPATH_OP_FUNCTION) &&
(comp->steps[f].value5 == NULL) &&
@@ -12760,7 +12991,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
(xmlStrEqual
(comp->steps[f].value4, BAD_CAST "last"))) {
xmlNodePtr last = NULL;
-
+
total +=
xmlXPathCompOpEvalLast(ctxt,
&comp->steps[op->ch1],
@@ -12787,7 +13018,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
return (total);
}
}
-
+
if (op->ch1 != -1)
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
CHECK_ERROR0;
@@ -12795,7 +13026,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
return (total);
if (ctxt->value == NULL)
return (total);
-
+
#ifdef LIBXML_XPTR_ENABLED
oldnode = ctxt->context->node;
/*
@@ -12805,7 +13036,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr tmp = NULL;
xmlLocationSetPtr newlocset = NULL;
xmlLocationSetPtr oldlocset;
-
+
/*
* Extract the old locset, and then evaluate the result of the
* expression for all the element in the locset. use it to grow
@@ -12815,7 +13046,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
obj = valuePop(ctxt);
oldlocset = obj->user;
ctxt->context->node = NULL;
-
+
if ((oldlocset == NULL) || (oldlocset->locNr == 0)) {
ctxt->context->contextSize = 0;
ctxt->context->proximityPosition = 0;
@@ -12830,7 +13061,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
return (total);
}
newlocset = xmlXPtrLocationSetCreate(NULL);
-
+
for (i = 0; i < oldlocset->locNr; i++) {
/*
* Run the evaluation with a node list made of a
@@ -12843,9 +13074,11 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
tmp = xmlXPathCacheNewNodeSet(ctxt->context,
ctxt->context->node);
} else {
- xmlXPathNodeSetAddUnique(tmp->nodesetval,
- ctxt->context->node);
- }
+ if (xmlXPathNodeSetAddUnique(tmp->nodesetval,
+ ctxt->context->node) < 0) {
+ ctxt->error = XPATH_MEMORY_ERROR;
+ }
+ }
valuePush(ctxt, tmp);
if (op->ch2 != -1)
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]);
@@ -12871,14 +13104,14 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
}
if (ctxt->value == tmp) {
valuePop(ctxt);
- xmlXPathNodeSetClear(tmp->nodesetval, 1);
+ xmlXPathNodeSetClear(tmp->nodesetval, 1);
/*
* REVISIT TODO: Don't create a temporary nodeset
* for everly iteration.
*/
/* OLD: xmlXPathFreeObject(res); */
} else
- tmp = NULL;
+ tmp = NULL;
ctxt->context->node = NULL;
/*
* Only put the first node in the result, then leave.
@@ -12903,7 +13136,7 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
return (total);
}
#endif /* LIBXML_XPTR_ENABLED */
-
+
/*
* Extract the old set, and then evaluate the result of the
* expression for all the element in the set. use it to grow
@@ -12912,11 +13145,11 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
CHECK_TYPE0(XPATH_NODESET);
obj = valuePop(ctxt);
oldset = obj->nodesetval;
-
+
oldnode = ctxt->context->node;
oldDoc = ctxt->context->doc;
ctxt->context->node = NULL;
-
+
if ((oldset == NULL) || (oldset->nodeNr == 0)) {
ctxt->context->contextSize = 0;
ctxt->context->proximityPosition = 0;
@@ -12940,9 +13173,10 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
* Initialize the new set.
* Also set the xpath document in case things like
* key() evaluation are attempted on the predicate
- */
+ */
newset = xmlXPathNodeSetCreate(NULL);
-
+ /* XXX what if xmlXPathNodeSetCreate returned NULL? */
+
for (i = 0; i < oldset->nodeNr; i++) {
/*
* Run the evaluation with a node list made of
@@ -12956,8 +13190,10 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
tmp = xmlXPathCacheNewNodeSet(ctxt->context,
ctxt->context->node);
} else {
- xmlXPathNodeSetAddUnique(tmp->nodesetval,
- ctxt->context->node);
+ if (xmlXPathNodeSetAddUnique(tmp->nodesetval,
+ ctxt->context->node) < 0) {
+ ctxt->error = XPATH_MEMORY_ERROR;
+ }
}
valuePush(ctxt, tmp);
ctxt->context->contextSize = oldset->nodeNr;
@@ -12968,15 +13204,16 @@ xmlXPathCompOpEvalFilterFirst(xmlXPathParserContextPtr ctxt,
xmlXPathFreeNodeSet(newset);
xmlXPathFreeObject(obj);
return(0);
- }
+ }
/*
* The result of the evaluation needs to be tested to
* decide whether the filter succeeded or not
*/
res = valuePop(ctxt);
if (xmlXPathEvaluatePredicateResult(ctxt, res)) {
- xmlXPathNodeSetAdd(newset, oldset->nodeTab[i]);
- }
+ if (xmlXPathNodeSetAdd(newset, oldset->nodeTab[i]) < 0)
+ ctxt->error = XPATH_MEMORY_ERROR;
+ }
/*
* Cleanup
*/
@@ -13112,7 +13349,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]);
CHECK_ERROR0;
if (op->value)
- equal = xmlXPathEqualValues(ctxt);
+ equal = xmlXPathEqualValues(ctxt);
else
equal = xmlXPathNotEqualValues(ctxt);
valuePush(ctxt, xmlXPathCacheNewBoolean(ctxt->context, equal));
@@ -13265,8 +13502,9 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
URI = xmlXPathNsLookup(ctxt->context, op->value5);
if (URI == NULL) {
xmlGenericError(xmlGenericErrorContext,
- "xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n",
- op->value4, op->value5);
+ "xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n",
+ (char *) op->value4, (char *)op->value5);
+ ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
return (total);
}
val = xmlXPathVariableLookupNS(ctxt->context,
@@ -13283,23 +13521,33 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
xmlXPathFunction func;
const xmlChar *oldFunc, *oldFuncURI;
int i;
+ int frame;
- if (op->ch1 != -1)
+ frame = xmlXPathSetFrame(ctxt);
+ if (op->ch1 != -1) {
total +=
xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
- if (ctxt->valueNr < op->value) {
+ if (ctxt->error != XPATH_EXPRESSION_OK) {
+ xmlXPathPopFrame(ctxt, frame);
+ return (total);
+ }
+ }
+ if (ctxt->valueNr < ctxt->valueFrame + op->value) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompOpEval: parameter error\n");
ctxt->error = XPATH_INVALID_OPERAND;
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
- for (i = 0; i < op->value; i++)
+ for (i = 0; i < op->value; i++) {
if (ctxt->valueTab[(ctxt->valueNr - 1) - i] == NULL) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompOpEval: parameter error\n");
ctxt->error = XPATH_INVALID_OPERAND;
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
+ }
if (op->cache != NULL)
XML_CAST_FPTR(func) = op->cache;
else {
@@ -13313,8 +13561,10 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
URI = xmlXPathNsLookup(ctxt->context, op->value5);
if (URI == NULL) {
xmlGenericError(xmlGenericErrorContext,
- "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
- op->value4, op->value5);
+ "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
+ (char *)op->value4, (char *)op->value5);
+ xmlXPathPopFrame(ctxt, frame);
+ ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
return (total);
}
func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -13322,8 +13572,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
}
if (func == NULL) {
xmlGenericError(xmlGenericErrorContext,
- "xmlXPathCompOpEval: function %s not found\n",
- op->value4);
+ "xmlXPathCompOpEval: function %s not found\n",
+ (char *)op->value4);
XP_ERROR0(XPATH_UNKNOWN_FUNC_ERROR);
}
op->cache = XML_CAST_FPTR(func);
@@ -13336,6 +13586,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
func(ctxt, op->value);
ctxt->context->function = oldFunc;
ctxt->context->functionURI = oldFuncURI;
+ xmlXPathPopFrame(ctxt, frame);
return (total);
}
case XPATH_OP_ARG:
@@ -13343,17 +13594,20 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
bak = ctxt->context->node;
pp = ctxt->context->proximityPosition;
cs = ctxt->context->contextSize;
- if (op->ch1 != -1)
+ if (op->ch1 != -1) {
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
- ctxt->context->contextSize = cs;
- ctxt->context->proximityPosition = pp;
- ctxt->context->node = bak;
- ctxt->context->doc = bakd;
- CHECK_ERROR0;
+ ctxt->context->contextSize = cs;
+ ctxt->context->proximityPosition = pp;
+ ctxt->context->node = bak;
+ ctxt->context->doc = bakd;
+ CHECK_ERROR0;
+ }
if (op->ch2 != -1) {
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]);
- ctxt->context->doc = bakd;
- ctxt->context->node = bak;
+ ctxt->context->contextSize = cs;
+ ctxt->context->proximityPosition = pp;
+ ctxt->context->node = bak;
+ ctxt->context->doc = bakd;
CHECK_ERROR0;
}
return (total);
@@ -13521,7 +13775,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
tmp = xmlXPathCacheNewNodeSet(ctxt->context,
ctxt->context->node);
valuePush(ctxt, tmp);
-
+
if (op->ch2 != -1)
total +=
xmlXPathCompOpEval(ctxt,
@@ -13630,7 +13884,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
* nC 2
*
* removed the first node in the node-set, then
- * the context position of the
+ * the context position of the
*/
for (i = 0; i < oldset->nodeNr; i++) {
/*
@@ -13645,8 +13899,10 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
tmp = xmlXPathCacheNewNodeSet(ctxt->context,
ctxt->context->node);
} else {
- xmlXPathNodeSetAddUnique(tmp->nodesetval,
- ctxt->context->node);
+ if (xmlXPathNodeSetAddUnique(tmp->nodesetval,
+ ctxt->context->node) < 0) {
+ ctxt->error = XPATH_MEMORY_ERROR;
+ }
}
valuePush(ctxt, tmp);
ctxt->context->contextSize = oldset->nodeNr;
@@ -13676,7 +13932,9 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
*/
res = valuePop(ctxt);
if (xmlXPathEvaluatePredicateResult(ctxt, res)) {
- xmlXPathNodeSetAdd(newset, oldset->nodeTab[i]);
+ if (xmlXPathNodeSetAdd(newset, oldset->nodeTab[i])
+ < 0)
+ ctxt->error = XPATH_MEMORY_ERROR;
}
/*
@@ -13687,7 +13945,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
}
if (ctxt->value == tmp) {
valuePop(ctxt);
- xmlXPathNodeSetClear(tmp->nodesetval, 1);
+ xmlXPathNodeSetClear(tmp->nodesetval, 1);
/*
* Don't free the temporary nodeset
* in order to avoid massive recreation inside this
@@ -13790,7 +14048,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
res = valuePop(ctxt);
if (res->type == XPATH_LOCATIONSET) {
- xmlLocationSetPtr rloc =
+ xmlLocationSetPtr rloc =
(xmlLocationSetPtr)res->user;
for (j=0; j<rloc->locNr; j++) {
range = xmlXPtrNewRange(
@@ -13892,6 +14150,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
}
xmlGenericError(xmlGenericErrorContext,
"XPath: unknown precompiled operation %d\n", op->op);
+ ctxt->error = XPATH_INVALID_OPERAND;
return (total);
}
@@ -13952,7 +14211,7 @@ start:
xmlXPathCompOpEval(ctxt, op);
if (ctxt->error != XPATH_EXPRESSION_OK)
return(-1);
-
+
resObj = valuePop(ctxt);
if (resObj == NULL)
return(-1);
@@ -13973,7 +14232,7 @@ start:
* to true if the number is equal to the context position
* and will be converted to false otherwise;"
*/
- res = xmlXPathEvaluatePredicateResult(ctxt, resObj);
+ res = xmlXPathEvaluatePredicateResult(ctxt, resObj);
} else {
res = xmlXPathCastToBoolean(resObj);
}
@@ -13996,13 +14255,13 @@ xmlXPathRunStreamEval(xmlXPathContextPtr ctxt, xmlPatternPtr comp,
xmlXPathObjectPtr *resultSeq, int toBool)
{
int max_depth, min_depth;
- int from_root;
+ int from_root;
int ret, depth;
int eval_all_nodes;
xmlNodePtr cur = NULL, limit = NULL;
xmlStreamCtxtPtr patstream = NULL;
-
- int nb_nodes = 0;
+
+ int nb_nodes = 0;
if ((ctxt == NULL) || (comp == NULL))
return(-1);
@@ -14028,7 +14287,7 @@ xmlXPathRunStreamEval(xmlXPathContextPtr ctxt, xmlPatternPtr comp,
if (*resultSeq == NULL)
return(-1);
}
-
+
/*
* handle the special cases of "/" amd "." being matched
*/
@@ -14038,7 +14297,7 @@ xmlXPathRunStreamEval(xmlXPathContextPtr ctxt, xmlPatternPtr comp,
if (toBool)
return(1);
xmlXPathNodeSetAddUnique((*resultSeq)->nodesetval,
- (xmlNodePtr) ctxt->doc);
+ (xmlNodePtr) ctxt->doc);
} else {
/* Select "self::node()" */
if (toBool)
@@ -14125,13 +14384,17 @@ next_node:
ret = xmlStreamPushNode(patstream, NULL, NULL, cur->type);
else
break;
-
+
if (ret < 0) {
/* NOP. */
} else if (ret == 1) {
if (toBool)
goto return_1;
- xmlXPathNodeSetAddUnique((*resultSeq)->nodesetval, cur);
+ if (xmlXPathNodeSetAddUnique((*resultSeq)->nodesetval, cur)
+ < 0) {
+ ctxt->lastError.domain = XML_FROM_XPATH;
+ ctxt->lastError.code = XML_ERR_NO_MEMORY;
+ }
}
if ((cur->children == NULL) || (depth >= max_depth)) {
ret = xmlStreamPop(patstream);
@@ -14147,9 +14410,10 @@ next_node:
}
scan_children:
+ if (cur->type == XML_NAMESPACE_DECL) break;
if ((cur->children != NULL) && (depth < max_depth)) {
/*
- * Do not descend on entities declarations
+ * Do not descend on entities declarations
*/
if (cur->children->type != XML_ENTITY_DECL) {
cur = cur->children;
@@ -14171,7 +14435,7 @@ scan_children:
(cur->type != XML_DTD_NODE))
goto next_node;
}
-
+
do {
cur = cur->parent;
depth--;
@@ -14230,7 +14494,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
if (ctxt->valueTab == NULL) {
/* Allocate the value stack */
- ctxt->valueTab = (xmlXPathObjectPtr *)
+ ctxt->valueTab = (xmlXPathObjectPtr *)
xmlMalloc(10 * sizeof(xmlXPathObjectPtr));
if (ctxt->valueTab == NULL) {
xmlXPathPErrMemory(ctxt, "creating evaluation context\n");
@@ -14239,6 +14503,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
ctxt->valueNr = 0;
ctxt->valueMax = 10;
ctxt->value = NULL;
+ ctxt->valueFrame = 0;
}
#ifdef XPATH_STREAMING
if (ctxt->comp->stream) {
@@ -14253,7 +14518,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
if (res != -1)
return(res);
} else {
- xmlXPathObjectPtr resObj = NULL;
+ xmlXPathObjectPtr resObj = NULL;
/*
* Evaluation to a sequence.
@@ -14266,7 +14531,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
return(0);
}
if (resObj != NULL)
- xmlXPathReleaseObject(ctxt->context, resObj);
+ xmlXPathReleaseObject(ctxt->context, resObj);
}
/*
* QUESTION TODO: This falls back to normal XPath evaluation
@@ -14291,7 +14556,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
/************************************************************************
* *
- * Public interfaces *
+ * Public interfaces *
* *
************************************************************************/
@@ -14307,7 +14572,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
* context node in the context node list (as returned by the position
* function) and will be converted to false otherwise; if the result
* is not a number, then the result will be converted as if by a call
- * to the boolean function.
+ * to the boolean function.
*
* Returns 1 if predicate is true, 0 otherwise
*/
@@ -14345,12 +14610,12 @@ xmlXPathEvalPredicate(xmlXPathContextPtr ctxt, xmlXPathObjectPtr res) {
* context node in the context node list (as returned by the position
* function) and will be converted to false otherwise; if the result
* is not a number, then the result will be converted as if by a call
- * to the boolean function.
+ * to the boolean function.
*
* Returns 1 if predicate is true, 0 otherwise
*/
int
-xmlXPathEvaluatePredicateResult(xmlXPathParserContextPtr ctxt,
+xmlXPathEvaluatePredicateResult(xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr res) {
if ((ctxt == NULL) || (res == NULL)) return(0);
switch (res->type) {
@@ -14423,7 +14688,7 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
tmp = xmlStrchr(str, ':');
if ((tmp != NULL) &&
((ctxt == NULL) || (ctxt->nsNr == 0) || (tmp[1] == ':')))
- return(NULL);
+ return(NULL);
if (ctxt != NULL) {
dict = ctxt->dict;
@@ -14439,7 +14704,7 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
namespaces[i++] = ns->prefix;
}
namespaces[i++] = NULL;
- namespaces[i++] = NULL;
+ namespaces[i] = NULL;
}
}
@@ -14447,7 +14712,7 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
&namespaces[0]);
if (namespaces != NULL) {
xmlFree((xmlChar **)namespaces);
- }
+ }
if ((stream != NULL) && (xmlPatternStreamable(stream) == 1)) {
comp = xmlXPathNewCompExpr();
if (comp == NULL) {
@@ -14466,57 +14731,64 @@ xmlXPathTryStreamCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
}
#endif /* XPATH_STREAMING */
-static int
-xmlXPathCanRewriteDosExpression(xmlChar *expr)
-{
- if (expr == NULL)
- return(0);
- do {
- if ((*expr == '/') && (*(++expr) == '/'))
- return(1);
- } while (*expr++);
- return(0);
-}
static void
-xmlXPathRewriteDOSExpression(xmlXPathCompExprPtr comp, xmlXPathStepOpPtr op)
+xmlXPathOptimizeExpression(xmlXPathCompExprPtr comp, xmlXPathStepOpPtr op)
{
/*
* Try to rewrite "descendant-or-self::node()/foo" to an optimized
* internal representation.
*/
- if (op->ch1 != -1) {
- if ((op->op == XPATH_OP_COLLECT /* 11 */) &&
- ((xmlXPathAxisVal) op->value == AXIS_CHILD /* 4 */) &&
- ((xmlXPathTestVal) op->value2 == NODE_TEST_NAME /* 5 */) &&
- ((xmlXPathTypeVal) op->value3 == NODE_TYPE_NODE /* 0 */))
- {
- /*
- * This is a "child::foo"
- */
- xmlXPathStepOpPtr prevop = &comp->steps[op->ch1];
-
- if ((prevop->op == XPATH_OP_COLLECT /* 11 */) &&
- (prevop->ch1 != -1) &&
- ((xmlXPathAxisVal) prevop->value ==
- AXIS_DESCENDANT_OR_SELF) &&
- (prevop->ch2 == -1) &&
- ((xmlXPathTestVal) prevop->value2 == NODE_TEST_TYPE) &&
- ((xmlXPathTypeVal) prevop->value3 == NODE_TYPE_NODE) &&
- (comp->steps[prevop->ch1].op == XPATH_OP_ROOT))
- {
- /*
- * This is a "/descendant-or-self::node()" without predicates.
- * Eliminate it.
- */
- op->ch1 = prevop->ch1;
- op->rewriteType = XP_REWRITE_DOS_CHILD_ELEM;
- }
+
+ if ((op->op == XPATH_OP_COLLECT /* 11 */) &&
+ (op->ch1 != -1) &&
+ (op->ch2 == -1 /* no predicate */))
+ {
+ xmlXPathStepOpPtr prevop = &comp->steps[op->ch1];
+
+ if ((prevop->op == XPATH_OP_COLLECT /* 11 */) &&
+ ((xmlXPathAxisVal) prevop->value ==
+ AXIS_DESCENDANT_OR_SELF) &&
+ (prevop->ch2 == -1) &&
+ ((xmlXPathTestVal) prevop->value2 == NODE_TEST_TYPE) &&
+ ((xmlXPathTypeVal) prevop->value3 == NODE_TYPE_NODE))
+ {
+ /*
+ * This is a "descendant-or-self::node()" without predicates.
+ * Try to eliminate it.
+ */
+
+ switch ((xmlXPathAxisVal) op->value) {
+ case AXIS_CHILD:
+ case AXIS_DESCENDANT:
+ /*
+ * Convert "descendant-or-self::node()/child::" or
+ * "descendant-or-self::node()/descendant::" to
+ * "descendant::"
+ */
+ op->ch1 = prevop->ch1;
+ op->value = AXIS_DESCENDANT;
+ break;
+ case AXIS_SELF:
+ case AXIS_DESCENDANT_OR_SELF:
+ /*
+ * Convert "descendant-or-self::node()/self::" or
+ * "descendant-or-self::node()/descendant-or-self::" to
+ * to "descendant-or-self::"
+ */
+ op->ch1 = prevop->ch1;
+ op->value = AXIS_DESCENDANT_OR_SELF;
+ break;
+ default:
+ break;
+ }
}
- if (op->ch1 != -1)
- xmlXPathRewriteDOSExpression(comp, &comp->steps[op->ch1]);
}
+
+ /* Recurse */
+ if (op->ch1 != -1)
+ xmlXPathOptimizeExpression(comp, &comp->steps[op->ch1]);
if (op->ch2 != -1)
- xmlXPathRewriteDOSExpression(comp, &comp->steps[op->ch2]);
+ xmlXPathOptimizeExpression(comp, &comp->steps[op->ch2]);
}
/**
@@ -14543,6 +14815,8 @@ xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
xmlXPathInit();
pctxt = xmlXPathNewParserContext(str, ctxt);
+ if (pctxt == NULL)
+ return NULL;
xmlXPathCompileExpr(pctxt, 1);
if( pctxt->error != XPATH_EXPRESSION_OK )
@@ -14552,7 +14826,7 @@ xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
}
if (*pctxt->cur != 0) {
- /*
+ /*
* aleksey: in some cases this line prints *second* error message
* (see bug #78858) and probably this should be fixed.
* However, we are not sure that all error messages are printed
@@ -14571,13 +14845,9 @@ xmlXPathCtxtCompile(xmlXPathContextPtr ctxt, const xmlChar *str) {
#ifdef DEBUG_EVAL_COUNTS
comp->string = xmlStrdup(str);
comp->nb = 0;
-#endif
- if ((comp->expr != NULL) &&
- (comp->nbStep > 2) &&
- (comp->last >= 0) &&
- (xmlXPathCanRewriteDosExpression(comp->expr) == 1))
- {
- xmlXPathRewriteDOSExpression(comp, &comp->steps[comp->last]);
+#endif
+ if ((comp->nbStep > 1) && (comp->last >= 0)) {
+ xmlXPathOptimizeExpression(comp, &comp->steps[comp->last]);
}
}
return(comp);
@@ -14616,7 +14886,7 @@ xmlXPathCompiledEvalInternal(xmlXPathCompExprPtr comp,
xmlXPathObjectPtr *resObj,
int toBool)
{
- xmlXPathParserContextPtr pctxt;
+ xmlXPathParserContextPtr pctxt;
#ifndef LIBXML_THREAD_ENABLED
static int reentance = 0;
#endif
@@ -14645,15 +14915,15 @@ xmlXPathCompiledEvalInternal(xmlXPathCompExprPtr comp,
res = xmlXPathRunEval(pctxt, toBool);
if (resObj) {
- if (pctxt->value == NULL) {
+ if (pctxt->value == NULL) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathCompiledEval: evaluation failed\n");
- *resObj = NULL;
+ *resObj = NULL;
} else {
*resObj = valuePop(pctxt);
}
}
-
+
/*
* Pop all remaining objects from the stack.
*/
@@ -14664,8 +14934,7 @@ xmlXPathCompiledEvalInternal(xmlXPathCompExprPtr comp,
do {
tmp = valuePop(pctxt);
if (tmp != NULL) {
- if (tmp != NULL)
- stack++;
+ stack++;
xmlXPathReleaseObject(ctxt, tmp);
}
} while (tmp != NULL);
@@ -14677,11 +14946,11 @@ xmlXPathCompiledEvalInternal(xmlXPathCompExprPtr comp,
stack);
}
}
-
+
if ((pctxt->error != XPATH_EXPRESSION_OK) && (resObj) && (*resObj)) {
xmlXPathFreeObject(*resObj);
*resObj = NULL;
- }
+ }
pctxt->comp = NULL;
xmlXPathFreeParserContext(pctxt);
#ifndef LIBXML_THREAD_ENABLED
@@ -14742,7 +15011,7 @@ xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) {
#endif
if (ctxt == NULL) return;
-
+
#ifdef XPATH_STREAMING
comp = xmlXPathTryStreamCompile(ctxt->context, ctxt->base);
if (comp != NULL) {
@@ -14755,22 +15024,17 @@ xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) {
#endif
{
xmlXPathCompileExpr(ctxt, 1);
- /*
- * In this scenario the expression string will sit in ctxt->base.
- */
if ((ctxt->error == XPATH_EXPRESSION_OK) &&
(ctxt->comp != NULL) &&
- (ctxt->base != NULL) &&
- (ctxt->comp->nbStep > 2) &&
- (ctxt->comp->last >= 0) &&
- (xmlXPathCanRewriteDosExpression((xmlChar *) ctxt->base) == 1))
+ (ctxt->comp->nbStep > 1) &&
+ (ctxt->comp->last >= 0))
{
- xmlXPathRewriteDOSExpression(ctxt->comp,
+ xmlXPathOptimizeExpression(ctxt->comp,
&ctxt->comp->steps[ctxt->comp->last]);
}
}
CHECK_ERROR;
- xmlXPathRunEval(ctxt, 0);
+ xmlXPathRunEval(ctxt, 0);
}
/**
@@ -14794,13 +15058,15 @@ xmlXPathEval(const xmlChar *str, xmlXPathContextPtr ctx) {
xmlXPathInit();
ctxt = xmlXPathNewParserContext(str, ctx);
+ if (ctxt == NULL)
+ return NULL;
xmlXPathEvalExpr(ctxt);
if (ctxt->value == NULL) {
xmlGenericError(xmlGenericErrorContext,
"xmlXPathEval: evaluation failed\n");
res = NULL;
- } else if ((*ctxt->cur != 0) && (ctxt->comp != NULL)
+ } else if ((*ctxt->cur != 0) && (ctxt->comp != NULL)
#ifdef XPATH_STREAMING
&& (ctxt->comp->stream == NULL)
#endif
@@ -14834,6 +15100,49 @@ xmlXPathEval(const xmlChar *str, xmlXPathContextPtr ctx) {
}
/**
+ * xmlXPathSetContextNode:
+ * @node: the node to to use as the context node
+ * @ctx: the XPath context
+ *
+ * Sets 'node' as the context node. The node must be in the same
+ * document as that associated with the context.
+ *
+ * Returns -1 in case of error or 0 if successful
+ */
+int
+xmlXPathSetContextNode(xmlNodePtr node, xmlXPathContextPtr ctx) {
+ if ((node == NULL) || (ctx == NULL))
+ return(-1);
+
+ if (node->doc == ctx->doc) {
+ ctx->node = node;
+ return(0);
+ }
+ return(-1);
+}
+
+/**
+ * xmlXPathNodeEval:
+ * @node: the node to to use as the context node
+ * @str: the XPath expression
+ * @ctx: the XPath context
+ *
+ * Evaluate the XPath Location Path in the given context. The node 'node'
+ * is set as the context node. The context node is not restored.
+ *
+ * Returns the xmlXPathObjectPtr resulting from the evaluation or NULL.
+ * the caller has to free the object.
+ */
+xmlXPathObjectPtr
+xmlXPathNodeEval(xmlNodePtr node, const xmlChar *str, xmlXPathContextPtr ctx) {
+ if (str == NULL)
+ return(NULL);
+ if (xmlXPathSetContextNode(node, ctx) < 0)
+ return(NULL);
+ return(xmlXPathEval(str, ctx));
+}
+
+/**
* xmlXPathEvalExpression:
* @str: the XPath expression
* @ctxt: the XPath context
@@ -14854,6 +15163,8 @@ xmlXPathEvalExpression(const xmlChar *str, xmlXPathContextPtr ctxt) {
xmlXPathInit();
pctxt = xmlXPathNewParserContext(str, ctxt);
+ if (pctxt == NULL)
+ return NULL;
xmlXPathEvalExpr(pctxt);
if ((*pctxt->cur != 0) || (pctxt->error != XPATH_EXPRESSION_OK)) {
@@ -14911,21 +15222,21 @@ xmlXPathEvalExpression(const xmlChar *str, xmlXPathContextPtr ctxt) {
* If $escape-reserved is false, the behavior differs in that characters
* referred to in [RFC 2396] as reserved characters are not escaped. These
* characters are ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ",".
- *
+ *
* [RFC 2396] does not define whether escaped URIs should use lower case or
* upper case for hexadecimal digits. To ensure that escaped URIs can be
* compared using string comparison functions, this function must always use
* the upper-case letters A-F.
- *
+ *
* Generally, $escape-reserved should be set to true when escaping a string
* that is to form a single part of a URI, and to false when escaping an
* entire URI or URI reference.
- *
- * In the case of non-ascii characters, the string is encoded according to
+ *
+ * In the case of non-ascii characters, the string is encoded according to
* utf-8 and then converted according to RFC 2396.
*
* Examples
- * xf:escape-uri ("gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles#ocean"), true())
+ * xf:escape-uri ("gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles#ocean"), true())
* returns "gopher%3A%2F%2Fspinaltap.micro.umn.edu%2F00%2FWeather%2FCalifornia%2FLos%20Angeles%23ocean"
* xf:escape-uri ("gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles#ocean"), false())
* returns "gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles%23ocean"
@@ -14935,31 +15246,31 @@ static void
xmlXPathEscapeUriFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr str;
int escape_reserved;
- xmlBufferPtr target;
+ xmlBufPtr target;
xmlChar *cptr;
xmlChar escape[4];
-
+
CHECK_ARITY(2);
-
+
escape_reserved = xmlXPathPopBoolean(ctxt);
-
+
CAST_TO_STRING;
str = valuePop(ctxt);
-
- target = xmlBufferCreate();
-
+
+ target = xmlBufCreate();
+
escape[0] = '%';
escape[3] = 0;
-
+
if (target) {
for (cptr = str->stringval; *cptr; cptr++) {
if ((*cptr >= 'A' && *cptr <= 'Z') ||
(*cptr >= 'a' && *cptr <= 'z') ||
(*cptr >= '0' && *cptr <= '9') ||
- *cptr == '-' || *cptr == '_' || *cptr == '.' ||
+ *cptr == '-' || *cptr == '_' || *cptr == '.' ||
*cptr == '!' || *cptr == '~' || *cptr == '*' ||
*cptr == '\''|| *cptr == '(' || *cptr == ')' ||
- (*cptr == '%' &&
+ (*cptr == '%' &&
((cptr[1] >= 'A' && cptr[1] <= 'F') ||
(cptr[1] >= 'a' && cptr[1] <= 'f') ||
(cptr[1] >= '0' && cptr[1] <= '9')) &&
@@ -14971,7 +15282,7 @@ xmlXPathEscapeUriFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*cptr == ':' || *cptr == '@' || *cptr == '&' ||
*cptr == '=' || *cptr == '+' || *cptr == '$' ||
*cptr == ','))) {
- xmlBufferAdd(target, cptr, 1);
+ xmlBufAdd(target, cptr, 1);
} else {
if ((*cptr >> 4) < 10)
escape[1] = '0' + (*cptr >> 4);
@@ -14981,14 +15292,14 @@ xmlXPathEscapeUriFunction(xmlXPathParserContextPtr ctxt, int nargs) {
escape[2] = '0' + (*cptr & 0xF);
else
escape[2] = 'A' - 10 + (*cptr & 0xF);
-
- xmlBufferAdd(target, &escape[0], 3);
+
+ xmlBufAdd(target, &escape[0], 3);
}
}
}
valuePush(ctxt, xmlXPathCacheNewString(ctxt->context,
- xmlBufferContent(target)));
- xmlBufferFree(target);
+ xmlBufContent(target)));
+ xmlBufFree(target);
xmlXPathReleaseObject(ctxt->context, str);
}
diff --git a/gettext-tools/gnulib-lib/libxml/xpath.in.h b/gettext-tools/gnulib-lib/libxml/xpath.in.h
index 89008fc..d96776c 100644
--- a/gettext-tools/gnulib-lib/libxml/xpath.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xpath.in.h
@@ -33,7 +33,7 @@
extern "C" {
#endif
#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */
-
+
#ifdef LIBXML_XPATH_ENABLED
typedef struct _xmlXPathContext xmlXPathContext;
@@ -68,7 +68,9 @@ typedef enum {
XPATH_UNDEF_PREFIX_ERROR,
XPATH_ENCODING_ERROR,
XPATH_INVALID_CHAR_ERROR,
- XPATH_INVALID_CTXT
+ XPATH_INVALID_CTXT,
+ XPATH_STACK_ERROR,
+ XPATH_FORBID_VARIABLE_ERROR
} xmlXPathError;
/*
@@ -271,13 +273,16 @@ typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
*
* Expression evaluation occurs with respect to a context.
* he context consists of:
- * - a node (the context node)
- * - a node list (the context node list)
- * - a set of variable bindings
- * - a function library
- * - the set of namespace declarations in scope for the expression
+ * - a node (the context node)
+ * - a node list (the context node list)
+ * - a set of variable bindings
+ * - a function library
+ * - the set of namespace declarations in scope for the expression
* Following the switch to hash tables, this need to be trimmed up at
* the next binary incompatible release.
+ * The node may be modified when the context is passed to libxml2
+ * for an XPath evaluation so you may need to initialize it again
+ * before the next call.
*/
struct _xmlXPathContext {
@@ -310,7 +315,7 @@ struct _xmlXPathContext {
int proximityPosition; /* the proximity position */
/* extra stuff for XPointer */
- int xptr; /* it this an XPointer context */
+ int xptr; /* is this an XPointer context? */
xmlNodePtr here; /* for here() */
xmlNodePtr origin; /* for origin() */
@@ -332,7 +337,7 @@ struct _xmlXPathContext {
/* temporary namespace lists kept for walking the namespace axis */
xmlNsPtr *tmpNsList; /* Array of namespaces */
- int tmpNsNr; /* number of namespace in scope */
+ int tmpNsNr; /* number of namespaces in scope */
/* error reporting mechanism */
void *userData; /* user specific data block */
@@ -340,8 +345,8 @@ struct _xmlXPathContext {
xmlError lastError; /* the last error */
xmlNodePtr debugNode; /* the source node XSLT */
- /* dictionnary */
- xmlDictPtr dict; /* dictionnary if any */
+ /* dictionary */
+ xmlDictPtr dict; /* dictionary if any */
int flags; /* flags to control compilation */
@@ -377,6 +382,8 @@ struct _xmlXPathParserContext {
xmlXPathCompExprPtr comp; /* the precompiled expression */
int xptr; /* it this an XPointer expression */
xmlNodePtr ancestor; /* used for walking preceding axis */
+
+ int valueFrame; /* used to limit Pop on the stack */
};
/************************************************************************
@@ -414,7 +421,7 @@ XMLPUBVAR double xmlXPathNINF;
* @index is out of range (0 to length-1)
*/
#define xmlXPathNodeSetItem(ns, index) \
- ((((ns) != NULL) && \
+ ((((ns) != NULL) && \
((index) >= 0) && ((index) < (ns)->nodeNr)) ? \
(ns)->nodeTab[(index)] \
: NULL)
@@ -430,64 +437,64 @@ XMLPUBVAR double xmlXPathNINF;
(((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathFreeObject (xmlXPathObjectPtr obj);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathNodeSetCreate (xmlNodePtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathFreeNodeSet (xmlNodeSetPtr obj);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathObjectCopy (xmlXPathObjectPtr val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathCmpNodes (xmlNodePtr node1,
xmlNodePtr node2);
/**
* Conversion functions to basic types.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathCastNumberToBoolean (double val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathCastStringToBoolean (const xmlChar * val);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathCastToBoolean (xmlXPathObjectPtr val);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double XMLCALL
xmlXPathCastBooleanToNumber (int val);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double XMLCALL
xmlXPathCastStringToNumber (const xmlChar * val);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double XMLCALL
xmlXPathCastNodeToNumber (xmlNodePtr node);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double XMLCALL
xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns);
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double XMLCALL
xmlXPathCastToNumber (xmlXPathObjectPtr val);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathCastBooleanToString (int val);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathCastNumberToString (double val);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathCastNodeToString (xmlNodePtr node);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathCastNodeSetToString (xmlNodeSetPtr ns);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathCastToString (xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathConvertBoolean (xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathConvertNumber (xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathConvertString (xmlXPathObjectPtr val);
/**
* Context handling.
*/
-XMLPUBFUN xmlXPathContextPtr XMLCALL
+XMLPUBFUN xmlXPathContextPtr XMLCALL
xmlXPathNewContext (xmlDocPtr doc);
XMLPUBFUN void XMLCALL
xmlXPathFreeContext (xmlXPathContextPtr ctxt);
@@ -499,36 +506,43 @@ XMLPUBFUN int XMLCALL
/**
* Evaluation functions.
*/
-XMLPUBFUN long XMLCALL
+XMLPUBFUN long XMLCALL
xmlXPathOrderDocElems (xmlDocPtr doc);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN int XMLCALL
+ xmlXPathSetContextNode (xmlNodePtr node,
+ xmlXPathContextPtr ctx);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
+ xmlXPathNodeEval (xmlNodePtr node,
+ const xmlChar *str,
+ xmlXPathContextPtr ctx);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathEval (const xmlChar *str,
xmlXPathContextPtr ctx);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathEvalExpression (const xmlChar *str,
xmlXPathContextPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathEvalPredicate (xmlXPathContextPtr ctxt,
xmlXPathObjectPtr res);
/**
* Separate compilation/evaluation entry points.
*/
-XMLPUBFUN xmlXPathCompExprPtr XMLCALL
+XMLPUBFUN xmlXPathCompExprPtr XMLCALL
xmlXPathCompile (const xmlChar *str);
-XMLPUBFUN xmlXPathCompExprPtr XMLCALL
+XMLPUBFUN xmlXPathCompExprPtr XMLCALL
xmlXPathCtxtCompile (xmlXPathContextPtr ctxt,
- const xmlChar *str);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+ const xmlChar *str);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathCompiledEval (xmlXPathCompExprPtr comp,
xmlXPathContextPtr ctx);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp,
xmlXPathContextPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp);
#endif /* LIBXML_XPATH_ENABLED */
#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathInit (void);
XMLPUBFUN int XMLCALL
xmlXPathIsNaN (double val);
diff --git a/gettext-tools/gnulib-lib/libxml/xpathInternals.in.h b/gettext-tools/gnulib-lib/libxml/xpathInternals.in.h
index dcd5243..70c9db9 100644
--- a/gettext-tools/gnulib-lib/libxml/xpathInternals.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xpathInternals.in.h
@@ -100,16 +100,16 @@ extern "C" {
*/
#define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node)
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN double XMLCALL
- xmlXPathPopNumber (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
- xmlXPathPopString (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
- xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void * XMLCALL
- xmlXPathPopExternal (xmlXPathParserContextPtr ctxt);
+XMLPUBFUN double XMLCALL
+ xmlXPathPopNumber (xmlXPathParserContextPtr ctxt);
+XMLPUBFUN xmlChar * XMLCALL
+ xmlXPathPopString (xmlXPathParserContextPtr ctxt);
+XMLPUBFUN xmlNodeSetPtr XMLCALL
+ xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt);
+XMLPUBFUN void * XMLCALL
+ xmlXPathPopExternal (xmlXPathParserContextPtr ctxt);
/**
* xmlXPathReturnBoolean:
@@ -296,7 +296,9 @@ XMLPUBFUN void * XMLCALL
#define CHECK_ARITY(x) \
if (ctxt == NULL) return; \
if (nargs != (x)) \
- XP_ERROR(XPATH_INVALID_ARITY);
+ XP_ERROR(XPATH_INVALID_ARITY); \
+ if (ctxt->valueNr < ctxt->valueFrame + (x)) \
+ XP_ERROR(XPATH_STACK_ERROR);
/**
* CAST_TO_STRING:
@@ -329,7 +331,7 @@ XMLPUBFUN void * XMLCALL
* Variable Lookup forwarding.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt,
xmlXPathVariableLookupFunc f,
void *data);
@@ -338,7 +340,7 @@ XMLPUBFUN void XMLCALL
* Function Lookup forwarding.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt,
xmlXPathFuncLookupFunc f,
void *funcCtxt);
@@ -346,7 +348,7 @@ XMLPUBFUN void XMLCALL
/*
* Error reporting.
*/
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPatherror (xmlXPathParserContextPtr ctxt,
const char *file,
int line,
@@ -357,11 +359,11 @@ XMLPUBFUN void XMLCALL
int error);
#ifdef LIBXML_DEBUG_ENABLED
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathDebugDumpObject (FILE *output,
xmlXPathObjectPtr cur,
int depth);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathDebugDumpCompExpr(FILE *output,
xmlXPathCompExprPtr comp,
int depth);
@@ -369,48 +371,48 @@ XMLPUBFUN void XMLCALL
/**
* NodeSet handling.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathNodeSetContains (xmlNodeSetPtr cur,
xmlNodePtr val);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathDifference (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathIntersection (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathDistinctSorted (xmlNodeSetPtr nodes);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathDistinct (xmlNodeSetPtr nodes);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathHasSameNodes (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes,
xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathLeadingSorted (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathNodeLeading (xmlNodeSetPtr nodes,
xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathLeading (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes,
xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathTrailingSorted (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathNodeTrailing (xmlNodeSetPtr nodes,
xmlNodePtr node);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
+XMLPUBFUN xmlNodeSetPtr XMLCALL
xmlXPathTrailing (xmlNodeSetPtr nodes1,
xmlNodeSetPtr nodes2);
@@ -419,51 +421,51 @@ XMLPUBFUN xmlNodeSetPtr XMLCALL
* Extending a context.
*/
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathRegisterNs (xmlXPathContextPtr ctxt,
const xmlChar *prefix,
const xmlChar *ns_uri);
-XMLPUBFUN const xmlChar * XMLCALL
+XMLPUBFUN const xmlChar * XMLCALL
xmlXPathNsLookup (xmlXPathContextPtr ctxt,
const xmlChar *prefix);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathRegisterFunc (xmlXPathContextPtr ctxt,
const xmlChar *name,
xmlXPathFunction f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt,
const xmlChar *name,
const xmlChar *ns_uri,
xmlXPathFunction f);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathRegisterVariable (xmlXPathContextPtr ctxt,
const xmlChar *name,
xmlXPathObjectPtr value);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt,
const xmlChar *name,
const xmlChar *ns_uri,
xmlXPathObjectPtr value);
-XMLPUBFUN xmlXPathFunction XMLCALL
+XMLPUBFUN xmlXPathFunction XMLCALL
xmlXPathFunctionLookup (xmlXPathContextPtr ctxt,
const xmlChar *name);
-XMLPUBFUN xmlXPathFunction XMLCALL
+XMLPUBFUN xmlXPathFunction XMLCALL
xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt,
const xmlChar *name,
const xmlChar *ns_uri);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathVariableLookup (xmlXPathContextPtr ctxt,
const xmlChar *name);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt,
const xmlChar *name,
const xmlChar *ns_uri);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);
/**
@@ -471,79 +473,79 @@ XMLPUBFUN void XMLCALL
*/
XMLPUBFUN xmlXPathParserContextPtr XMLCALL
xmlXPathNewParserContext (const xmlChar *str,
- xmlXPathContextPtr ctxt);
-XMLPUBFUN void XMLCALL
+ xmlXPathContextPtr ctxt);
+XMLPUBFUN void XMLCALL
xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt);
/* TODO: remap to xmlXPathValuePop and Push. */
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
valuePop (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN int XMLCALL
+XMLPUBFUN int XMLCALL
valuePush (xmlXPathParserContextPtr ctxt,
- xmlXPathObjectPtr value);
+ xmlXPathObjectPtr value);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewString (const xmlChar *val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewCString (const char *val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathWrapString (xmlChar *val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathWrapCString (char * val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewFloat (double val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewBoolean (int val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewNodeSet (xmlNodePtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewValueTree (xmlNodePtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathNodeSetAdd (xmlNodeSetPtr cur,
xmlNodePtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN int XMLCALL
xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur,
xmlNodePtr val);
-XMLPUBFUN void XMLCALL
- xmlXPathNodeSetAddNs (xmlNodeSetPtr cur,
- xmlNodePtr node,
+XMLPUBFUN int XMLCALL
+ xmlXPathNodeSetAddNs (xmlNodeSetPtr cur,
+ xmlNodePtr node,
xmlNsPtr ns);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathNodeSetSort (xmlNodeSetPtr set);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRoot (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathParseName (xmlXPathParserContextPtr ctxt);
-XMLPUBFUN xmlChar * XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
xmlXPathParseNCName (xmlXPathParserContextPtr ctxt);
/*
* Existing functions.
*/
-XMLPUBFUN double XMLCALL
+XMLPUBFUN double XMLCALL
xmlXPathStringEvalNumber (const xmlChar *str);
-XMLPUBFUN int XMLCALL
- xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
+XMLPUBFUN int XMLCALL
+ xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr res);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt);
-XMLPUBFUN xmlNodeSetPtr XMLCALL
- xmlXPathNodeSetMerge (xmlNodeSetPtr val1,
+XMLPUBFUN xmlNodeSetPtr XMLCALL
+ xmlXPathNodeSetMerge (xmlNodeSetPtr val1,
xmlNodeSetPtr val2);
-XMLPUBFUN void XMLCALL
- xmlXPathNodeSetDel (xmlNodeSetPtr cur,
+XMLPUBFUN void XMLCALL
+ xmlXPathNodeSetDel (xmlNodeSetPtr cur,
xmlNodePtr val);
-XMLPUBFUN void XMLCALL
- xmlXPathNodeSetRemove (xmlNodeSetPtr cur,
+XMLPUBFUN void XMLCALL
+ xmlXPathNodeSetRemove (xmlNodeSetPtr cur,
int val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathNewNodeSetList (xmlNodeSetPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathWrapNodeSet (xmlNodeSetPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPathWrapExternal (void *val);
XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
@@ -621,7 +623,7 @@ XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, in
* Really internal functions
*/
XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);
-
+
#ifdef __cplusplus
}
#endif
diff --git a/gettext-tools/gnulib-lib/libxml/xpointer.c b/gettext-tools/gnulib-lib/libxml/xpointer.c
index 5298fa5..4b4ac2e 100644
--- a/gettext-tools/gnulib-lib/libxml/xpointer.c
+++ b/gettext-tools/gnulib-lib/libxml/xpointer.c
@@ -7,7 +7,7 @@
*
* Added support for the element() scheme described in:
* W3C Proposed Recommendation 13 November 2002
- * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
+ * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
*
* See Copyright for the status of this software.
*
@@ -47,19 +47,19 @@
#endif
#endif
-#define TODO \
+#define TODO \
xmlGenericError(xmlGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
-#define STRANGE \
+#define STRANGE \
xmlGenericError(xmlGenericErrorContext, \
"Internal error at %s:%d\n", \
__FILE__, __LINE__);
/************************************************************************
* *
- * Some factorized error routines *
+ * Some factorized error routines *
* *
************************************************************************/
@@ -134,7 +134,7 @@ xmlNodePtr xmlXPtrAdvanceNode(xmlNodePtr cur, int *level);
static int
xmlXPtrGetArity(xmlNodePtr cur) {
int i;
- if (cur == NULL)
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return(-1);
cur = cur->children;
for (i = 0;cur != NULL;cur = cur->next) {
@@ -157,7 +157,7 @@ xmlXPtrGetArity(xmlNodePtr cur) {
static int
xmlXPtrGetIndex(xmlNodePtr cur) {
int i;
- if (cur == NULL)
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return(-1);
for (i = 1;cur != NULL;cur = cur->prev) {
if ((cur->type == XML_ELEMENT_NODE) ||
@@ -179,11 +179,11 @@ xmlXPtrGetIndex(xmlNodePtr cur) {
static xmlNodePtr
xmlXPtrGetNthChild(xmlNodePtr cur, int no) {
int i;
- if (cur == NULL)
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return(cur);
cur = cur->children;
for (i = 0;i <= no;cur = cur->next) {
- if (cur == NULL)
+ if (cur == NULL)
return(cur);
if ((cur->type == XML_ELEMENT_NODE) ||
(cur->type == XML_DOCUMENT_NODE) ||
@@ -553,7 +553,7 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
break;
case XPATH_NODESET:
/*
- * Empty set ...
+ * Empty set ...
*/
if (end->nodesetval->nodeNr <= 0)
return(NULL);
@@ -731,7 +731,7 @@ xmlXPtrLocationSetDel(xmlLocationSetPtr cur, xmlXPathObjectPtr val) {
if (i >= cur->locNr) {
#ifdef DEBUG
- xmlGenericError(xmlGenericErrorContext,
+ xmlGenericError(xmlGenericErrorContext,
"xmlXPtrLocationSetDel: Range wasn't found in RangeList\n");
#endif
return;
@@ -903,7 +903,7 @@ static void xmlXPtrEvalChildSeq(xmlXPathParserContextPtr ctxt, xmlChar *name);
#define NXT(val) ctxt->cur[(val)]
#define CUR_PTR ctxt->cur
-#define SKIP_BLANKS \
+#define SKIP_BLANKS \
while (IS_BLANK_CH(*(ctxt->cur))) NEXT
#define CURRENT (*ctxt->cur)
@@ -945,7 +945,7 @@ xmlXPtrGetChildNo(xmlXPathParserContextPtr ctxt, int indx) {
* xmlXPtrEvalXPtrPart:
* @ctxt: the XPointer Parser context
* @name: the preparsed Scheme for the XPtrPart
- *
+ *
* XPtrPart ::= 'xpointer' '(' XPtrExpr ')'
* | Scheme '(' SchemeSpecificExpr ')'
*
@@ -953,7 +953,7 @@ xmlXPtrGetChildNo(xmlXPathParserContextPtr ctxt, int indx) {
*
* SchemeSpecificExpr ::= StringWithBalancedParens
*
- * StringWithBalancedParens ::=
+ * StringWithBalancedParens ::=
* [^()]* ('(' StringWithBalancedParens ')' [^()]*)*
* [VC: Parenthesis escaping]
*
@@ -971,7 +971,7 @@ xmlXPtrGetChildNo(xmlXPathParserContextPtr ctxt, int indx) {
*
* Parse and evaluate an XPtrPart. Basically it generates the unescaped
* string and if the scheme is 'xpointer' it will call the XPath interpreter.
- *
+ *
* TODO: there is no new scheme registration mechanism
*/
@@ -1007,21 +1007,14 @@ xmlXPtrEvalXPtrPart(xmlXPathParserContextPtr ctxt, xmlChar *name) {
NEXT;
break;
}
- *cur++ = CUR;
} else if (CUR == '(') {
level++;
- *cur++ = CUR;
} else if (CUR == '^') {
- NEXT;
- if ((CUR == ')') || (CUR == '(') || (CUR == '^')) {
- *cur++ = CUR;
- } else {
- *cur++ = '^';
- *cur++ = CUR;
- }
- } else {
- *cur++ = CUR;
+ if ((NXT(1) == ')') || (NXT(1) == '(') || (NXT(1) == '^')) {
+ NEXT;
+ }
}
+ *cur++ = CUR;
NEXT;
}
*cur = 0;
@@ -1104,7 +1097,7 @@ xmlXPtrEvalXPtrPart(xmlXPathParserContextPtr ctxt, xmlChar *name) {
xmlFree(name);
XP_ERROR(XPATH_MEMORY_ERROR);
}
-
+
xmlXPathRegisterNs(ctxt->context, prefix, URI);
CUR_PTR = left;
xmlFree(URI);
@@ -1152,10 +1145,12 @@ xmlXPtrEvalFullXPtr(xmlXPathParserContextPtr ctxt, xmlChar *name) {
if (name == NULL)
XP_ERROR(XPATH_EXPR_ERROR);
while (name != NULL) {
+ ctxt->error = XPATH_EXPRESSION_OK;
xmlXPtrEvalXPtrPart(ctxt, name);
/* in case of syntax error, break here */
- if (ctxt->error != XPATH_EXPRESSION_OK)
+ if ((ctxt->error != XPATH_EXPRESSION_OK) &&
+ (ctxt->error != XML_XPTR_UNKNOWN_SCHEME))
return;
/*
@@ -1234,7 +1229,7 @@ xmlXPtrEvalChildSeq(xmlXPathParserContextPtr ctxt, xmlChar *name) {
while (CUR == '/') {
int child = 0;
NEXT;
-
+
while ((CUR >= '0') && (CUR <= '9')) {
child = child * 10 + (CUR - '0');
NEXT;
@@ -1258,7 +1253,7 @@ static void
xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) {
if (ctxt->valueTab == NULL) {
/* Allocate the value stack */
- ctxt->valueTab = (xmlXPathObjectPtr *)
+ ctxt->valueTab = (xmlXPathObjectPtr *)
xmlMalloc(10 * sizeof(xmlXPathObjectPtr));
if (ctxt->valueTab == NULL) {
xmlXPtrErrMemory("allocating evaluation context");
@@ -1267,6 +1262,7 @@ xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) {
ctxt->valueNr = 0;
ctxt->valueMax = 10;
ctxt->value = NULL;
+ ctxt->valueFrame = 0;
}
SKIP_BLANKS;
if (CUR == '/') {
@@ -1299,12 +1295,19 @@ xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) {
* *
************************************************************************/
+static
void xmlXPtrStringRangeFunction(xmlXPathParserContextPtr ctxt, int nargs);
+static
void xmlXPtrStartPointFunction(xmlXPathParserContextPtr ctxt, int nargs);
+static
void xmlXPtrEndPointFunction(xmlXPathParserContextPtr ctxt, int nargs);
+static
void xmlXPtrHereFunction(xmlXPathParserContextPtr ctxt, int nargs);
+static
void xmlXPtrOriginFunction(xmlXPathParserContextPtr ctxt, int nargs);
+static
void xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs);
+static
void xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs);
/**
@@ -1372,6 +1375,8 @@ xmlXPtrEval(const xmlChar *str, xmlXPathContextPtr ctx) {
return(NULL);
ctxt = xmlXPathNewParserContext(str, ctx);
+ if (ctxt == NULL)
+ return(NULL);
ctxt->xptr = 1;
xmlXPtrEvalXPointer(ctxt);
@@ -1393,13 +1398,13 @@ xmlXPtrEval(const xmlChar *str, xmlXPathContextPtr ctx) {
/*
* Evaluation may push a root nodeset which is unused
*/
- xmlNodeSetPtr set;
+ xmlNodeSetPtr set;
set = tmp->nodesetval;
if ((set->nodeNr != 1) ||
(set->nodeTab[0] != (xmlNodePtr) ctx->doc))
stack++;
} else
- stack++;
+ stack++;
}
xmlXPathFreeObject(tmp);
}
@@ -1413,7 +1418,7 @@ xmlXPtrEval(const xmlChar *str, xmlXPathContextPtr ctx) {
xmlXPathFreeObject(res);
res = NULL;
}
-
+
xmlXPathFreeParserContext(ctxt);
return(res);
}
@@ -1441,11 +1446,13 @@ xmlXPtrBuildRangeNodeList(xmlXPathObjectPtr range) {
return(NULL);
start = (xmlNodePtr) range->user;
- if (start == NULL)
+ if ((start == NULL) || (start->type == XML_NAMESPACE_DECL))
return(NULL);
end = range->user2;
if (end == NULL)
return(xmlCopyNode(start, 1));
+ if (end->type == XML_NAMESPACE_DECL)
+ return(NULL);
cur = start;
index1 = range->index;
@@ -1475,7 +1482,7 @@ xmlXPtrBuildRangeNodeList(xmlXPathObjectPtr range) {
/* prune and return full set */
if (last != NULL)
xmlAddNextSibling(last, tmp);
- else
+ else
xmlAddChild(parent, tmp);
return(list);
} else {
@@ -1729,16 +1736,16 @@ xmlXPtrNbLocChildren(xmlNodePtr node) {
* @ctxt: the XPointer Parser context
* @nargs: the number of args
*
- * Function implementing here() operation
+ * Function implementing here() operation
* as described in 5.4.3
*/
-void
+static void
xmlXPtrHereFunction(xmlXPathParserContextPtr ctxt, int nargs) {
CHECK_ARITY(0);
if (ctxt->context->here == NULL)
XP_ERROR(XPTR_SYNTAX_ERROR);
-
+
valuePush(ctxt, xmlXPtrNewLocationSetNodes(ctxt->context->here, NULL));
}
@@ -1747,16 +1754,16 @@ xmlXPtrHereFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* @ctxt: the XPointer Parser context
* @nargs: the number of args
*
- * Function implementing origin() operation
+ * Function implementing origin() operation
* as described in 5.4.3
*/
-void
+static void
xmlXPtrOriginFunction(xmlXPathParserContextPtr ctxt, int nargs) {
CHECK_ARITY(0);
if (ctxt->context->origin == NULL)
XP_ERROR(XPTR_SYNTAX_ERROR);
-
+
valuePush(ctxt, xmlXPtrNewLocationSetNodes(ctxt->context->origin, NULL));
}
@@ -1765,7 +1772,7 @@ xmlXPtrOriginFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* @ctxt: the XPointer Parser context
* @nargs: the number of args
*
- * Function implementing start-point() operation
+ * Function implementing start-point() operation
* as described in 5.4.3
* ----------------
* location-set start-point(location-set)
@@ -1783,7 +1790,7 @@ xmlXPtrOriginFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* ----------------
*
*/
-void
+static void
xmlXPtrStartPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr tmp, obj, point;
xmlLocationSetPtr newset = NULL;
@@ -1802,6 +1809,8 @@ xmlXPtrStartPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*/
tmp = xmlXPtrNewLocationSetNodeSet(obj->nodesetval);
xmlXPathFreeObject(obj);
+ if (tmp == NULL)
+ XP_ERROR(XPATH_MEMORY_ERROR)
obj = tmp;
}
@@ -1857,7 +1866,7 @@ xmlXPtrStartPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* @ctxt: the XPointer Parser context
* @nargs: the number of args
*
- * Function implementing end-point() operation
+ * Function implementing end-point() operation
* as described in 5.4.3
* ----------------------------
* location-set end-point(location-set)
@@ -1877,7 +1886,7 @@ xmlXPtrStartPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* syntax error.
* ----------------------------
*/
-void
+static void
xmlXPtrEndPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
xmlXPathObjectPtr tmp, obj, point;
xmlLocationSetPtr newset = NULL;
@@ -1896,10 +1905,16 @@ xmlXPtrEndPointFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*/
tmp = xmlXPtrNewLocationSetNodeSet(obj->nodesetval);
xmlXPathFreeObject(obj);
+ if (tmp == NULL)
+ XP_ERROR(XPATH_MEMORY_ERROR)
obj = tmp;
}
newset = xmlXPtrLocationSetCreate(NULL);
+ if (newset == NULL) {
+ xmlXPathFreeObject(obj);
+ XP_ERROR(XPATH_MEMORY_ERROR);
+ }
oldset = (xmlLocationSetPtr) obj->user;
if (oldset != NULL) {
int i;
@@ -1993,7 +2008,7 @@ xmlXPtrCoveringRange(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr loc) {
case XML_NOTATION_NODE:
case XML_HTML_DOCUMENT_NODE: {
int indx = xmlXPtrGetIndex(node);
-
+
node = node->parent;
return(xmlXPtrNewRange(node, indx - 1,
node, indx + 1));
@@ -2022,7 +2037,7 @@ xmlXPtrCoveringRange(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr loc) {
* location-set, a range location representing the covering range of
* x is added to the result location-set.
*/
-void
+static void
xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
int i;
xmlXPathObjectPtr set;
@@ -2044,6 +2059,8 @@ xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*/
tmp = xmlXPtrNewLocationSetNodeSet(set->nodesetval);
xmlXPathFreeObject(set);
+ if (tmp == NULL)
+ XP_ERROR(XPATH_MEMORY_ERROR)
set = tmp;
}
oldset = (xmlLocationSetPtr) set->user;
@@ -2052,6 +2069,10 @@ xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* The loop is to compute the covering range for each item and add it
*/
newset = xmlXPtrLocationSetCreate(NULL);
+ if (newset == NULL) {
+ xmlXPathFreeObject(set);
+ XP_ERROR(XPATH_MEMORY_ERROR);
+ }
for (i = 0;i < oldset->locNr;i++) {
xmlXPtrLocationSetAdd(newset,
xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
@@ -2168,7 +2189,7 @@ xmlXPtrInsideRange(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr loc) {
* location children of x.
*
*/
-void
+static void
xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs) {
int i;
xmlXPathObjectPtr set;
@@ -2190,6 +2211,8 @@ xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*/
tmp = xmlXPtrNewLocationSetNodeSet(set->nodesetval);
xmlXPathFreeObject(set);
+ if (tmp == NULL)
+ XP_ERROR(XPATH_MEMORY_ERROR)
set = tmp;
}
oldset = (xmlLocationSetPtr) set->user;
@@ -2198,6 +2221,10 @@ xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* The loop is to compute the covering range for each item and add it
*/
newset = xmlXPtrLocationSetCreate(NULL);
+ if (newset == NULL) {
+ xmlXPathFreeObject(set);
+ XP_ERROR(XPATH_MEMORY_ERROR);
+ }
for (i = 0;i < oldset->locNr;i++) {
xmlXPtrLocationSetAdd(newset,
xmlXPtrInsideRange(ctxt, oldset->locTab[i]));
@@ -2240,7 +2267,7 @@ xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, int nargs) {
cur = ctxt->cur;
newset = xmlXPtrLocationSetCreate(NULL);
-
+
for (i = 0; i < oldset->nodeNr; i++) {
ctxt->cur = cur;
@@ -2274,7 +2301,7 @@ xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, int nargs) {
res = valuePop(ctxt);
xmlXPathFreeObject(res);
}
-
+
ctxt->context->node = NULL;
}
@@ -2294,14 +2321,14 @@ xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, int nargs) {
* @level: incremented/decremented to show level in tree
*
* Advance to the next element or text node in document order
- * TODO: add a stack for entering/exiting entities
+ * TODO: add a stack for entering/exiting entities
*
* Returns -1 in case of failure, 0 otherwise
*/
xmlNodePtr
xmlXPtrAdvanceNode(xmlNodePtr cur, int *level) {
next:
- if (cur == NULL)
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return(NULL);
if (cur->children != NULL) {
cur = cur->children ;
@@ -2359,7 +2386,7 @@ xmlXPtrAdvanceChar(xmlNodePtr *node, int *indx, int bytes) {
if ((node == NULL) || (indx == NULL))
return(-1);
cur = *node;
- if (cur == NULL)
+ if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
return(-1);
pos = *indx;
@@ -2397,7 +2424,7 @@ xmlXPtrAdvanceChar(xmlNodePtr *node, int *indx, int bytes) {
return(0);
}
/*
- * We should have a text (or cdata) node ...
+ * We should have a text (or cdata) node ...
*/
len = 0;
if ((cur->type != XML_ELEMENT_NODE) &&
@@ -2450,13 +2477,12 @@ xmlXPtrMatchString(const xmlChar *string, xmlNodePtr start, int startindex,
if (string == NULL)
return(-1);
- if (start == NULL)
+ if ((start == NULL) || (start->type == XML_NAMESPACE_DECL))
return(-1);
- if ((end == NULL) || (endindex == NULL))
+ if ((end == NULL) || (*end == NULL) ||
+ ((*end)->type == XML_NAMESPACE_DECL) || (endindex == NULL))
return(-1);
cur = start;
- if (cur == NULL)
- return(-1);
pos = startindex - 1;
stringlen = xmlStrlen(string);
@@ -2535,13 +2561,12 @@ xmlXPtrSearchString(const xmlChar *string, xmlNodePtr *start, int *startindex,
if (string == NULL)
return(-1);
- if ((start == NULL) || (startindex == NULL))
+ if ((start == NULL) || (*start == NULL) ||
+ ((*start)->type == XML_NAMESPACE_DECL) || (startindex == NULL))
return(-1);
if ((end == NULL) || (endindex == NULL))
return(-1);
cur = *start;
- if (cur == NULL)
- return(-1);
pos = *startindex - 1;
first = string[0];
@@ -2574,7 +2599,7 @@ xmlXPtrSearchString(const xmlChar *string, xmlNodePtr *start, int *startindex,
/*
* An empty string is considered to match before each
* character of the string-value and after the final
- * character.
+ * character.
*/
#ifdef DEBUG_RANGES
xmlGenericError(xmlGenericErrorContext,
@@ -2615,20 +2640,17 @@ xmlXPtrGetLastChar(xmlNodePtr *node, int *indx) {
xmlNodePtr cur;
int pos, len = 0;
- if ((node == NULL) || (indx == NULL))
+ if ((node == NULL) || (*node == NULL) ||
+ ((*node)->type == XML_NAMESPACE_DECL) || (indx == NULL))
return(-1);
cur = *node;
pos = *indx;
- if (cur == NULL)
- return(-1);
-
if ((cur->type == XML_ELEMENT_NODE) ||
(cur->type == XML_DOCUMENT_NODE) ||
(cur->type == XML_HTML_DOCUMENT_NODE)) {
if (pos > 0) {
cur = xmlXPtrGetNthChild(cur, pos);
- pos = 0;
}
}
while (cur != NULL) {
@@ -2727,7 +2749,7 @@ xmlXPtrGetEndPoint(xmlXPathObjectPtr obj, xmlNodePtr *node, int *indx) {
* @nargs: the number of args
*
* Function implementing the string-range() function
- * range as described in 5.4.2
+ * range as described in 5.4.2
*
* ------------------------------
* [Definition: For each location in the location-set argument,
@@ -2757,7 +2779,7 @@ xmlXPtrGetEndPoint(xmlXPathObjectPtr obj, xmlNodePtr *node, int *indx) {
* all be character points.
* ------------------------------
*/
-void
+static void
xmlXPtrStringRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
int i, startindex, endindex = 0, fendindex;
xmlNodePtr start, end = 0, fend;
@@ -2796,6 +2818,10 @@ xmlXPtrStringRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
set = valuePop(ctxt);
newset = xmlXPtrLocationSetCreate(NULL);
+ if (newset == NULL) {
+ xmlXPathFreeObject(set);
+ XP_ERROR(XPATH_MEMORY_ERROR);
+ }
if (set->nodesetval == NULL) {
goto error;
}
@@ -2807,6 +2833,8 @@ xmlXPtrStringRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
*/
tmp = xmlXPtrNewLocationSetNodeSet(set->nodesetval);
xmlXPathFreeObject(set);
+ if (tmp == NULL)
+ XP_ERROR(XPATH_MEMORY_ERROR)
set = tmp;
}
oldset = (xmlLocationSetPtr) set->user;
@@ -2891,7 +2919,7 @@ error:
* @ctxt: the XPointer Parser context
*
* [8] Predicate ::= '[' PredicateExpr ']'
- * [9] PredicateExpr ::= Expr
+ * [9] PredicateExpr ::= Expr
*
* Evaluate a predicate as in xmlXPathEvalPredicate() but for
* a Location Set instead of a node set
@@ -2940,7 +2968,7 @@ xmlXPtrEvalRangePredicate(xmlXPathParserContextPtr ctxt) {
*/
cur = ctxt->cur;
newset = xmlXPtrLocationSetCreate(NULL);
-
+
for (i = 0; i < oldset->locNr; i++) {
ctxt->cur = cur;
@@ -2976,7 +3004,7 @@ xmlXPtrEvalRangePredicate(xmlXPathParserContextPtr ctxt) {
res = valuePop(ctxt);
xmlXPathFreeObject(res);
}
-
+
ctxt->context->node = NULL;
}
diff --git a/gettext-tools/gnulib-lib/libxml/xpointer.in.h b/gettext-tools/gnulib-lib/libxml/xpointer.in.h
index dde1dfb..b99112b 100644
--- a/gettext-tools/gnulib-lib/libxml/xpointer.in.h
+++ b/gettext-tools/gnulib-lib/libxml/xpointer.in.h
@@ -7,7 +7,7 @@
*
* Added support for the element() scheme described in:
* W3C Proposed Recommendation 13 November 2002
- * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
+ * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
*
* Copy: See Copyright for the status of this software.
*
@@ -43,68 +43,68 @@ struct _xmlLocationSet {
* Handling of location sets.
*/
-XMLPUBFUN xmlLocationSetPtr XMLCALL
+XMLPUBFUN xmlLocationSetPtr XMLCALL
xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
-XMLPUBFUN xmlLocationSetPtr XMLCALL
+XMLPUBFUN xmlLocationSetPtr XMLCALL
xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
xmlLocationSetPtr val2);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewRange (xmlNodePtr start,
int startindex,
xmlNodePtr end,
int endindex);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
xmlXPathObjectPtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewRangeNodePoint (xmlNodePtr start,
xmlXPathObjectPtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
xmlNodePtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewRangeNodes (xmlNodePtr start,
xmlNodePtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewLocationSetNodes (xmlNodePtr start,
xmlNodePtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewRangeNodeObject (xmlNodePtr start,
xmlXPathObjectPtr end);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrNewCollapsedRange (xmlNodePtr start);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
xmlXPathObjectPtr val);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
xmlXPathObjectPtr val);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
int val);
/*
* Functions.
*/
-XMLPUBFUN xmlXPathContextPtr XMLCALL
+XMLPUBFUN xmlXPathContextPtr XMLCALL
xmlXPtrNewContext (xmlDocPtr doc,
xmlNodePtr here,
xmlNodePtr origin);
-XMLPUBFUN xmlXPathObjectPtr XMLCALL
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
xmlXPtrEval (const xmlChar *str,
xmlXPathContextPtr ctx);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
- int nargs);
-XMLPUBFUN xmlNodePtr XMLCALL
+ int nargs);
+XMLPUBFUN xmlNodePtr XMLCALL
xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
-XMLPUBFUN void XMLCALL
+XMLPUBFUN void XMLCALL
xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
#ifdef __cplusplus
}
diff --git a/gettext-tools/gnulib-lib/localcharset.c b/gettext-tools/gnulib-lib/localcharset.c
index ccfa993..1f02aa5 100644
--- a/gettext-tools/gnulib-lib/localcharset.c
+++ b/gettext-tools/gnulib-lib/localcharset.c
@@ -1,6 +1,6 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006, 2008-2015 Free Software Foundation, Inc.
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
@@ -128,7 +128,7 @@ get_charset_aliases (void)
cp = charset_aliases;
if (cp == NULL)
{
-#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__)
+#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__ || defined OS2)
const char *dir;
const char *base = "charset.alias";
char *file_name;
@@ -342,6 +342,36 @@ get_charset_aliases (void)
"CP54936" "\0" "GB18030" "\0"
"CP65001" "\0" "UTF-8" "\0";
# endif
+# if defined OS2
+ /* To avoid the troubles of installing a separate file in the same
+ directory as the DLL and of retrieving the DLL's directory at
+ runtime, simply inline the aliases here. */
+
+ /* The list of encodings is taken from "List of OS/2 Codepages"
+ by Alex Taylor:
+ <http://altsan.org/os2/toolkits/uls/index.html#codepages>.
+ See also "IBM Globalization - Code page identifiers":
+ <http://www-01.ibm.com/software/globalization/cp/cp_cpgid.html>. */
+ cp = "CP813" "\0" "ISO-8859-7" "\0"
+ "CP878" "\0" "KOI8-R" "\0"
+ "CP819" "\0" "ISO-8859-1" "\0"
+ "CP912" "\0" "ISO-8859-2" "\0"
+ "CP913" "\0" "ISO-8859-3" "\0"
+ "CP914" "\0" "ISO-8859-4" "\0"
+ "CP915" "\0" "ISO-8859-5" "\0"
+ "CP916" "\0" "ISO-8859-8" "\0"
+ "CP920" "\0" "ISO-8859-9" "\0"
+ "CP921" "\0" "ISO-8859-13" "\0"
+ "CP923" "\0" "ISO-8859-15" "\0"
+ "CP954" "\0" "EUC-JP" "\0"
+ "CP964" "\0" "EUC-TW" "\0"
+ "CP970" "\0" "EUC-KR" "\0"
+ "CP1089" "\0" "ISO-8859-6" "\0"
+ "CP1208" "\0" "UTF-8" "\0"
+ "CP1381" "\0" "GB2312" "\0"
+ "CP1386" "\0" "GBK" "\0"
+ "CP3372" "\0" "EUC-JP" "\0";
+# endif
#endif
charset_aliases = cp;
@@ -499,6 +529,8 @@ locale_charset (void)
ULONG cp[3];
ULONG cplen;
+ codeset = NULL;
+
/* Allow user to override the codeset, as set in the operating system,
with standard language environment variables. */
locale = getenv ("LC_ALL");
@@ -530,10 +562,12 @@ locale_charset (void)
}
}
- /* Resolve through the charset.alias file. */
- codeset = locale;
+ /* For the POSIX locale, don't use the system's codepage. */
+ if (strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0)
+ codeset = "";
}
- else
+
+ if (codeset == NULL)
{
/* OS/2 has a function returning the locale's codepage as a number. */
if (DosQueryCp (sizeof (cp), cp, &cplen))
diff --git a/gettext-tools/gnulib-lib/localcharset.h b/gettext-tools/gnulib-lib/localcharset.h
index 9011d58..c5e6d46 100644
--- a/gettext-tools/gnulib-lib/localcharset.h
+++ b/gettext-tools/gnulib-lib/localcharset.h
@@ -1,5 +1,5 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU CHARSET Library.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/locale.in.h b/gettext-tools/gnulib-lib/locale.in.h
index 10cc44b..05e974d 100644
--- a/gettext-tools/gnulib-lib/locale.in.h
+++ b/gettext-tools/gnulib-lib/locale.in.h
@@ -1,5 +1,5 @@
/* A POSIX <locale.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/localename.c b/gettext-tools/gnulib-lib/localename.c
index 2c7bfc8..c256ad5 100644
--- a/gettext-tools/gnulib-lib/localename.c
+++ b/gettext-tools/gnulib-lib/localename.c
@@ -1,5 +1,5 @@
/* Determine name of the currently selected locale.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
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
@@ -38,10 +38,16 @@
# if defined __APPLE__ && defined __MACH__
# include <xlocale.h>
# endif
-# include <langinfo.h>
+# if __GLIBC__ >= 2 && !defined __UCLIBC__
+# include <langinfo.h>
+# endif
# if !defined IN_LIBINTL
# include "glthread/lock.h"
# endif
+# if defined __sun && HAVE_GETLOCALENAME_L
+/* Solaris >= 12. */
+extern char * getlocalename_l(int, locale_t);
+# endif
#endif
#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
@@ -2584,7 +2590,7 @@ get_lcid (const char *locale_name)
#endif
-#if HAVE_USELOCALE /* glibc or Mac OS X */
+#if HAVE_USELOCALE /* glibc, Solaris >= 12 or Mac OS X */
/* Simple hash set of strings. We don't want to drag in lots of hash table
code here. */
@@ -2723,6 +2729,11 @@ gl_locale_name_thread_unsafe (int category, const char *categoryname)
return "";
}
return querylocale (mask, thread_locale);
+# elif defined __sun && HAVE_GETLOCALENAME_L
+ /* Solaris >= 12. */
+ return getlocalename_l (category, thread_locale);
+# elif defined __ANDROID__
+ return MB_CUR_MAX == 4 ? "C.UTF-8" : "C";
# endif
}
}
diff --git a/gettext-tools/gnulib-lib/localename.h b/gettext-tools/gnulib-lib/localename.h
index 861e6e9..13c126d 100644
--- a/gettext-tools/gnulib-lib/localename.h
+++ b/gettext-tools/gnulib-lib/localename.h
@@ -1,5 +1,5 @@
/* Determine name of the currently selected locale.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/log10.c b/gettext-tools/gnulib-lib/log10.c
new file mode 100644
index 0000000..a6b037c
--- /dev/null
+++ b/gettext-tools/gnulib-lib/log10.c
@@ -0,0 +1,38 @@
+/* Base 10 logarithmic function.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <math.h>
+
+double
+log10 (double x)
+#undef log10
+{
+ if (x <= 0.0)
+ {
+ /* Work around the OSF/1 5.1 bug. */
+ if (x == 0.0)
+ /* Return -Infinity. */
+ return -1.0 / 0.0;
+ /* Work around the NetBSD 5.1, Solaris 11 2011-11 bug. */
+ else /* x < 0.0 */
+ /* Return NaN. */
+ return 0.0 / 0.0;
+ }
+ return log10 (x);
+}
diff --git a/gettext-tools/gnulib-lib/lstat.c b/gettext-tools/gnulib-lib/lstat.c
index f70fd43..31dee13 100644
--- a/gettext-tools/gnulib-lib/lstat.c
+++ b/gettext-tools/gnulib-lib/lstat.c
@@ -1,6 +1,6 @@
/* Work around a bug of lstat on some systems
- Copyright (C) 1997-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2006, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/malloc.c b/gettext-tools/gnulib-lib/malloc.c
index bc81c54..00800a2 100644
--- a/gettext-tools/gnulib-lib/malloc.c
+++ b/gettext-tools/gnulib-lib/malloc.c
@@ -1,6 +1,6 @@
/* malloc() function that is glibc compatible.
- Copyright (C) 1997-1998, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2006-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/malloca.c b/gettext-tools/gnulib-lib/malloca.c
index 370551c..198a96c 100644
--- a/gettext-tools/gnulib-lib/malloca.c
+++ b/gettext-tools/gnulib-lib/malloca.c
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/malloca.h b/gettext-tools/gnulib-lib/malloca.h
index 5071e46..7a4190c 100644
--- a/gettext-tools/gnulib-lib/malloca.h
+++ b/gettext-tools/gnulib-lib/malloca.h
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/math.c b/gettext-tools/gnulib-lib/math.c
new file mode 100644
index 0000000..ba2a6ab
--- /dev/null
+++ b/gettext-tools/gnulib-lib/math.c
@@ -0,0 +1,4 @@
+#include <config.h>
+#define _GL_MATH_INLINE _GL_EXTERN_INLINE
+#include "math.h"
+typedef int dummy;
diff --git a/gettext-tools/gnulib-lib/math.in.h b/gettext-tools/gnulib-lib/math.in.h
new file mode 100644
index 0000000..62a089a
--- /dev/null
+++ b/gettext-tools/gnulib-lib/math.in.h
@@ -0,0 +1,2278 @@
+/* A GNU-like <math.h>.
+
+ Copyright (C) 2002-2003, 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _@GUARD_PREFIX@_MATH_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
+
+#ifndef _@GUARD_PREFIX@_MATH_H
+#define _@GUARD_PREFIX@_MATH_H
+
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_MATH_INLINE
+# define _GL_MATH_INLINE _GL_INLINE
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+#ifdef __cplusplus
+/* Helper macros to define type-generic function FUNC as overloaded functions,
+ rather than as macros like in C. POSIX declares these with an argument of
+ real-floating (that is, one of float, double, or long double). */
+# define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \
+static inline int \
+_gl_cxx_ ## func ## f (float f) \
+{ \
+ return func (f); \
+} \
+static inline int \
+_gl_cxx_ ## func ## d (double d) \
+{ \
+ return func (d); \
+} \
+static inline int \
+_gl_cxx_ ## func ## l (long double l) \
+{ \
+ return func (l); \
+}
+# define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \
+inline int \
+func (float f) \
+{ \
+ return _gl_cxx_ ## func ## f (f); \
+} \
+inline int \
+func (double d) \
+{ \
+ return _gl_cxx_ ## func ## d (d); \
+} \
+inline int \
+func (long double l) \
+{ \
+ return _gl_cxx_ ## func ## l (l); \
+}
+#endif
+
+/* Helper macros to define a portability warning for the
+ classification macro FUNC called with VALUE. POSIX declares the
+ classification macros with an argument of real-floating (that is,
+ one of float, double, or long double). */
+#define _GL_WARN_REAL_FLOATING_DECL(func) \
+_GL_MATH_INLINE int \
+rpl_ ## func ## f (float f) \
+{ \
+ return func (f); \
+} \
+_GL_MATH_INLINE int \
+rpl_ ## func ## d (double d) \
+{ \
+ return func (d); \
+} \
+_GL_MATH_INLINE int \
+rpl_ ## func ## l (long double l) \
+{ \
+ return func (l); \
+} \
+_GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - " \
+ "use gnulib module " #func " for portability"); \
+_GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - " \
+ "use gnulib module " #func " for portability"); \
+_GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \
+ "use gnulib module " #func " for portability")
+#define _GL_WARN_REAL_FLOATING_IMPL(func, value) \
+ (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \
+ : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \
+ : rpl_ ## func ## l (value))
+
+
+#if @REPLACE_ITOLD@
+/* Pull in a function that fixes the 'int' to 'long double' conversion
+ of glibc 2.7. */
+_GL_EXTERN_C void _Qp_itoq (long double *, int);
+static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq;
+#endif
+
+
+/* POSIX allows platforms that don't support NAN. But all major
+ machines in the past 15 years have supported something close to
+ IEEE NaN, so we define this unconditionally. We also must define
+ it on platforms like Solaris 10, where NAN is present but defined
+ as a function pointer rather than a floating point constant. */
+#if !defined NAN || @REPLACE_NAN@
+# if !GNULIB_defined_NAN
+# undef NAN
+ /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler
+ choke on the expression 0.0 / 0.0. */
+# if defined __DECC || defined _MSC_VER
+_GL_MATH_INLINE float
+_NaN ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+# define NAN (_NaN())
+# else
+# define NAN (0.0f / 0.0f)
+# endif
+# define GNULIB_defined_NAN 1
+# endif
+#endif
+
+/* Solaris 10 defines HUGE_VAL, but as a function pointer rather
+ than a floating point constant. */
+#if @REPLACE_HUGE_VAL@
+# undef HUGE_VALF
+# define HUGE_VALF (1.0f / 0.0f)
+# undef HUGE_VAL
+# define HUGE_VAL (1.0 / 0.0)
+# undef HUGE_VALL
+# define HUGE_VALL (1.0L / 0.0L)
+#endif
+
+/* HUGE_VALF is a 'float' Infinity. */
+#ifndef HUGE_VALF
+# if defined _MSC_VER
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */
+# define HUGE_VALF (1e25f * 1e25f)
+# else
+# define HUGE_VALF (1.0f / 0.0f)
+# endif
+#endif
+
+/* HUGE_VAL is a 'double' Infinity. */
+#ifndef HUGE_VAL
+# if defined _MSC_VER
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */
+# define HUGE_VAL (1e250 * 1e250)
+# else
+# define HUGE_VAL (1.0 / 0.0)
+# endif
+#endif
+
+/* HUGE_VALL is a 'long double' Infinity. */
+#ifndef HUGE_VALL
+# if defined _MSC_VER
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */
+# define HUGE_VALL (1e250L * 1e250L)
+# else
+# define HUGE_VALL (1.0L / 0.0L)
+# endif
+#endif
+
+
+/* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined. */
+#if !(defined FP_ILOGB0 && defined FP_ILOGBNAN)
+# if defined __NetBSD__ || defined __sgi
+ /* NetBSD, IRIX 6.5: match what ilogb() does */
+# define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */
+# define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
+# elif defined _AIX
+ /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */
+# define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */
+# define FP_ILOGBNAN 2147483647 /* INT_MAX */
+# elif defined __sun
+ /* Solaris 9: match what ilogb() does */
+# define FP_ILOGB0 (- 2147483647) /* - INT_MAX */
+# define FP_ILOGBNAN 2147483647 /* INT_MAX */
+# else
+ /* Gnulib defined values. */
+# define FP_ILOGB0 (- 2147483647) /* - INT_MAX */
+# define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
+# endif
+#endif
+
+
+#if @GNULIB_ACOSF@
+# if !@HAVE_ACOSF@
+# undef acosf
+_GL_FUNCDECL_SYS (acosf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (acosf, float, (float x));
+_GL_CXXALIASWARN (acosf);
+#elif defined GNULIB_POSIXCHECK
+# undef acosf
+# if HAVE_RAW_DECL_ACOSF
+_GL_WARN_ON_USE (acosf, "acosf is unportable - "
+ "use gnulib module acosf for portability");
+# endif
+#endif
+
+#if @GNULIB_ACOSL@
+# if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@
+# undef acosl
+_GL_FUNCDECL_SYS (acosl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (acosl, long double, (long double x));
+_GL_CXXALIASWARN (acosl);
+#elif defined GNULIB_POSIXCHECK
+# undef acosl
+# if HAVE_RAW_DECL_ACOSL
+_GL_WARN_ON_USE (acosl, "acosl is unportable - "
+ "use gnulib module acosl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ASINF@
+# if !@HAVE_ASINF@
+# undef asinf
+_GL_FUNCDECL_SYS (asinf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (asinf, float, (float x));
+_GL_CXXALIASWARN (asinf);
+#elif defined GNULIB_POSIXCHECK
+# undef asinf
+# if HAVE_RAW_DECL_ASINF
+_GL_WARN_ON_USE (asinf, "asinf is unportable - "
+ "use gnulib module asinf for portability");
+# endif
+#endif
+
+#if @GNULIB_ASINL@
+# if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@
+# undef asinl
+_GL_FUNCDECL_SYS (asinl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (asinl, long double, (long double x));
+_GL_CXXALIASWARN (asinl);
+#elif defined GNULIB_POSIXCHECK
+# undef asinl
+# if HAVE_RAW_DECL_ASINL
+_GL_WARN_ON_USE (asinl, "asinl is unportable - "
+ "use gnulib module asinl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ATANF@
+# if !@HAVE_ATANF@
+# undef atanf
+_GL_FUNCDECL_SYS (atanf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (atanf, float, (float x));
+_GL_CXXALIASWARN (atanf);
+#elif defined GNULIB_POSIXCHECK
+# undef atanf
+# if HAVE_RAW_DECL_ATANF
+_GL_WARN_ON_USE (atanf, "atanf is unportable - "
+ "use gnulib module atanf for portability");
+# endif
+#endif
+
+#if @GNULIB_ATANL@
+# if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@
+# undef atanl
+_GL_FUNCDECL_SYS (atanl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (atanl, long double, (long double x));
+_GL_CXXALIASWARN (atanl);
+#elif defined GNULIB_POSIXCHECK
+# undef atanl
+# if HAVE_RAW_DECL_ATANL
+_GL_WARN_ON_USE (atanl, "atanl is unportable - "
+ "use gnulib module atanl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ATAN2F@
+# if !@HAVE_ATAN2F@
+# undef atan2f
+_GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
+# endif
+_GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
+_GL_CXXALIASWARN (atan2f);
+#elif defined GNULIB_POSIXCHECK
+# undef atan2f
+# if HAVE_RAW_DECL_ATAN2F
+_GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
+ "use gnulib module atan2f for portability");
+# endif
+#endif
+
+
+#if @GNULIB_CBRTF@
+# if @REPLACE_CBRTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef cbrtf
+# define cbrtf rpl_cbrtf
+# endif
+_GL_FUNCDECL_RPL (cbrtf, float, (float x));
+_GL_CXXALIAS_RPL (cbrtf, float, (float x));
+# else
+# if !@HAVE_DECL_CBRTF@
+_GL_FUNCDECL_SYS (cbrtf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (cbrtf, float, (float x));
+# endif
+_GL_CXXALIASWARN (cbrtf);
+#elif defined GNULIB_POSIXCHECK
+# undef cbrtf
+# if HAVE_RAW_DECL_CBRTF
+_GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
+ "use gnulib module cbrtf for portability");
+# endif
+#endif
+
+#if @GNULIB_CBRT@
+# if !@HAVE_CBRT@
+_GL_FUNCDECL_SYS (cbrt, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (cbrt, double, (double x));
+_GL_CXXALIASWARN (cbrt);
+#elif defined GNULIB_POSIXCHECK
+# undef cbrt
+# if HAVE_RAW_DECL_CBRT
+_GL_WARN_ON_USE (cbrt, "cbrt is unportable - "
+ "use gnulib module cbrt for portability");
+# endif
+#endif
+
+#if @GNULIB_CBRTL@
+# if @REPLACE_CBRTL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef cbrtl
+# define cbrtl rpl_cbrtl
+# endif
+_GL_FUNCDECL_RPL (cbrtl, long double, (long double x));
+_GL_CXXALIAS_RPL (cbrtl, long double, (long double x));
+# else
+# if !@HAVE_DECL_CBRTL@
+_GL_FUNCDECL_SYS (cbrtl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (cbrtl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (cbrtl);
+#elif defined GNULIB_POSIXCHECK
+# undef cbrtl
+# if HAVE_RAW_DECL_CBRTL
+_GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
+ "use gnulib module cbrtl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_CEILF@
+# if @REPLACE_CEILF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ceilf
+# define ceilf rpl_ceilf
+# endif
+_GL_FUNCDECL_RPL (ceilf, float, (float x));
+_GL_CXXALIAS_RPL (ceilf, float, (float x));
+# else
+# if !@HAVE_DECL_CEILF@
+# undef ceilf
+_GL_FUNCDECL_SYS (ceilf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (ceilf, float, (float x));
+# endif
+_GL_CXXALIASWARN (ceilf);
+#elif defined GNULIB_POSIXCHECK
+# undef ceilf
+# if HAVE_RAW_DECL_CEILF
+_GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
+ "use gnulib module ceilf for portability");
+# endif
+#endif
+
+#if @GNULIB_CEIL@
+# if @REPLACE_CEIL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define ceil rpl_ceil
+# endif
+_GL_FUNCDECL_RPL (ceil, double, (double x));
+_GL_CXXALIAS_RPL (ceil, double, (double x));
+# else
+_GL_CXXALIAS_SYS (ceil, double, (double x));
+# endif
+_GL_CXXALIASWARN (ceil);
+#endif
+
+#if @GNULIB_CEILL@
+# if @REPLACE_CEILL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ceill
+# define ceill rpl_ceill
+# endif
+_GL_FUNCDECL_RPL (ceill, long double, (long double x));
+_GL_CXXALIAS_RPL (ceill, long double, (long double x));
+# else
+# if !@HAVE_DECL_CEILL@
+# undef ceill
+_GL_FUNCDECL_SYS (ceill, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (ceill, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (ceill);
+#elif defined GNULIB_POSIXCHECK
+# undef ceill
+# if HAVE_RAW_DECL_CEILL
+_GL_WARN_ON_USE (ceill, "ceill is unportable - "
+ "use gnulib module ceill for portability");
+# endif
+#endif
+
+
+#if @GNULIB_COPYSIGNF@
+# if !@HAVE_DECL_COPYSIGNF@
+_GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
+# endif
+_GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
+_GL_CXXALIASWARN (copysignf);
+#elif defined GNULIB_POSIXCHECK
+# undef copysignf
+# if HAVE_RAW_DECL_COPYSIGNF
+_GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
+ "use gnulib module copysignf for portability");
+# endif
+#endif
+
+#if @GNULIB_COPYSIGN@
+# if !@HAVE_COPYSIGN@
+_GL_FUNCDECL_SYS (copysign, double, (double x, double y));
+# endif
+_GL_CXXALIAS_SYS (copysign, double, (double x, double y));
+_GL_CXXALIASWARN (copysign);
+#elif defined GNULIB_POSIXCHECK
+# undef copysign
+# if HAVE_RAW_DECL_COPYSIGN
+_GL_WARN_ON_USE (copysign, "copysign is unportable - "
+ "use gnulib module copysign for portability");
+# endif
+#endif
+
+#if @GNULIB_COPYSIGNL@
+# if !@HAVE_COPYSIGNL@
+_GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
+_GL_CXXALIASWARN (copysignl);
+#elif defined GNULIB_POSIXCHECK
+# undef copysignl
+# if HAVE_RAW_DECL_COPYSIGNL
+_GL_WARN_ON_USE (copysign, "copysignl is unportable - "
+ "use gnulib module copysignl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_COSF@
+# if !@HAVE_COSF@
+# undef cosf
+_GL_FUNCDECL_SYS (cosf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (cosf, float, (float x));
+_GL_CXXALIASWARN (cosf);
+#elif defined GNULIB_POSIXCHECK
+# undef cosf
+# if HAVE_RAW_DECL_COSF
+_GL_WARN_ON_USE (cosf, "cosf is unportable - "
+ "use gnulib module cosf for portability");
+# endif
+#endif
+
+#if @GNULIB_COSL@
+# if !@HAVE_COSL@ || !@HAVE_DECL_COSL@
+# undef cosl
+_GL_FUNCDECL_SYS (cosl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (cosl, long double, (long double x));
+_GL_CXXALIASWARN (cosl);
+#elif defined GNULIB_POSIXCHECK
+# undef cosl
+# if HAVE_RAW_DECL_COSL
+_GL_WARN_ON_USE (cosl, "cosl is unportable - "
+ "use gnulib module cosl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_COSHF@
+# if !@HAVE_COSHF@
+# undef coshf
+_GL_FUNCDECL_SYS (coshf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (coshf, float, (float x));
+_GL_CXXALIASWARN (coshf);
+#elif defined GNULIB_POSIXCHECK
+# undef coshf
+# if HAVE_RAW_DECL_COSHF
+_GL_WARN_ON_USE (coshf, "coshf is unportable - "
+ "use gnulib module coshf for portability");
+# endif
+#endif
+
+
+#if @GNULIB_EXPF@
+# if !@HAVE_EXPF@
+# undef expf
+_GL_FUNCDECL_SYS (expf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (expf, float, (float x));
+_GL_CXXALIASWARN (expf);
+#elif defined GNULIB_POSIXCHECK
+# undef expf
+# if HAVE_RAW_DECL_EXPF
+_GL_WARN_ON_USE (expf, "expf is unportable - "
+ "use gnulib module expf for portability");
+# endif
+#endif
+
+#if @GNULIB_EXPL@
+# if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@
+# undef expl
+_GL_FUNCDECL_SYS (expl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (expl, long double, (long double x));
+_GL_CXXALIASWARN (expl);
+#elif defined GNULIB_POSIXCHECK
+# undef expl
+# if HAVE_RAW_DECL_EXPL
+_GL_WARN_ON_USE (expl, "expl is unportable - "
+ "use gnulib module expl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_EXP2F@
+# if !@HAVE_DECL_EXP2F@
+_GL_FUNCDECL_SYS (exp2f, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (exp2f, float, (float x));
+_GL_CXXALIASWARN (exp2f);
+#elif defined GNULIB_POSIXCHECK
+# undef exp2f
+# if HAVE_RAW_DECL_EXP2F
+_GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
+ "use gnulib module exp2f for portability");
+# endif
+#endif
+
+#if @GNULIB_EXP2@
+# if @REPLACE_EXP2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef exp2
+# define exp2 rpl_exp2
+# endif
+_GL_FUNCDECL_RPL (exp2, double, (double x));
+_GL_CXXALIAS_RPL (exp2, double, (double x));
+# else
+# if !@HAVE_DECL_EXP2@
+_GL_FUNCDECL_SYS (exp2, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (exp2, double, (double x));
+# endif
+_GL_CXXALIASWARN (exp2);
+#elif defined GNULIB_POSIXCHECK
+# undef exp2
+# if HAVE_RAW_DECL_EXP2
+_GL_WARN_ON_USE (exp2, "exp2 is unportable - "
+ "use gnulib module exp2 for portability");
+# endif
+#endif
+
+#if @GNULIB_EXP2L@
+# if @REPLACE_EXP2L@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef exp2l
+# define exp2l rpl_exp2l
+# endif
+_GL_FUNCDECL_RPL (exp2l, long double, (long double x));
+_GL_CXXALIAS_RPL (exp2l, long double, (long double x));
+# else
+# if !@HAVE_DECL_EXP2L@
+# undef exp2l
+_GL_FUNCDECL_SYS (exp2l, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (exp2l, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (exp2l);
+#elif defined GNULIB_POSIXCHECK
+# undef exp2l
+# if HAVE_RAW_DECL_EXP2L
+_GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
+ "use gnulib module exp2l for portability");
+# endif
+#endif
+
+
+#if @GNULIB_EXPM1F@
+# if @REPLACE_EXPM1F@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef expm1f
+# define expm1f rpl_expm1f
+# endif
+_GL_FUNCDECL_RPL (expm1f, float, (float x));
+_GL_CXXALIAS_RPL (expm1f, float, (float x));
+# else
+# if !@HAVE_EXPM1F@
+_GL_FUNCDECL_SYS (expm1f, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (expm1f, float, (float x));
+# endif
+_GL_CXXALIASWARN (expm1f);
+#elif defined GNULIB_POSIXCHECK
+# undef expm1f
+# if HAVE_RAW_DECL_EXPM1F
+_GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
+ "use gnulib module expm1f for portability");
+# endif
+#endif
+
+#if @GNULIB_EXPM1@
+# if @REPLACE_EXPM1@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef expm1
+# define expm1 rpl_expm1
+# endif
+_GL_FUNCDECL_RPL (expm1, double, (double x));
+_GL_CXXALIAS_RPL (expm1, double, (double x));
+# else
+# if !@HAVE_EXPM1@
+_GL_FUNCDECL_SYS (expm1, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (expm1, double, (double x));
+# endif
+_GL_CXXALIASWARN (expm1);
+#elif defined GNULIB_POSIXCHECK
+# undef expm1
+# if HAVE_RAW_DECL_EXPM1
+_GL_WARN_ON_USE (expm1, "expm1 is unportable - "
+ "use gnulib module expm1 for portability");
+# endif
+#endif
+
+#if @GNULIB_EXPM1L@
+# if !@HAVE_DECL_EXPM1L@
+# undef expm1l
+_GL_FUNCDECL_SYS (expm1l, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (expm1l, long double, (long double x));
+_GL_CXXALIASWARN (expm1l);
+#elif defined GNULIB_POSIXCHECK
+# undef expm1l
+# if HAVE_RAW_DECL_EXPM1L
+_GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
+ "use gnulib module expm1l for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FABSF@
+# if !@HAVE_FABSF@
+# undef fabsf
+_GL_FUNCDECL_SYS (fabsf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (fabsf, float, (float x));
+_GL_CXXALIASWARN (fabsf);
+#elif defined GNULIB_POSIXCHECK
+# undef fabsf
+# if HAVE_RAW_DECL_FABSF
+_GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
+ "use gnulib module fabsf for portability");
+# endif
+#endif
+
+#if @GNULIB_FABSL@
+# if @REPLACE_FABSL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fabsl
+# define fabsl rpl_fabsl
+# endif
+_GL_FUNCDECL_RPL (fabsl, long double, (long double x));
+_GL_CXXALIAS_RPL (fabsl, long double, (long double x));
+# else
+# if !@HAVE_FABSL@
+# undef fabsl
+_GL_FUNCDECL_SYS (fabsl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (fabsl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (fabsl);
+#elif defined GNULIB_POSIXCHECK
+# undef fabsl
+# if HAVE_RAW_DECL_FABSL
+_GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
+ "use gnulib module fabsl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FLOORF@
+# if @REPLACE_FLOORF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef floorf
+# define floorf rpl_floorf
+# endif
+_GL_FUNCDECL_RPL (floorf, float, (float x));
+_GL_CXXALIAS_RPL (floorf, float, (float x));
+# else
+# if !@HAVE_DECL_FLOORF@
+# undef floorf
+_GL_FUNCDECL_SYS (floorf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (floorf, float, (float x));
+# endif
+_GL_CXXALIASWARN (floorf);
+#elif defined GNULIB_POSIXCHECK
+# undef floorf
+# if HAVE_RAW_DECL_FLOORF
+_GL_WARN_ON_USE (floorf, "floorf is unportable - "
+ "use gnulib module floorf for portability");
+# endif
+#endif
+
+#if @GNULIB_FLOOR@
+# if @REPLACE_FLOOR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define floor rpl_floor
+# endif
+_GL_FUNCDECL_RPL (floor, double, (double x));
+_GL_CXXALIAS_RPL (floor, double, (double x));
+# else
+_GL_CXXALIAS_SYS (floor, double, (double x));
+# endif
+_GL_CXXALIASWARN (floor);
+#endif
+
+#if @GNULIB_FLOORL@
+# if @REPLACE_FLOORL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef floorl
+# define floorl rpl_floorl
+# endif
+_GL_FUNCDECL_RPL (floorl, long double, (long double x));
+_GL_CXXALIAS_RPL (floorl, long double, (long double x));
+# else
+# if !@HAVE_DECL_FLOORL@
+# undef floorl
+_GL_FUNCDECL_SYS (floorl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (floorl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (floorl);
+#elif defined GNULIB_POSIXCHECK
+# undef floorl
+# if HAVE_RAW_DECL_FLOORL
+_GL_WARN_ON_USE (floorl, "floorl is unportable - "
+ "use gnulib module floorl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FMAF@
+# if @REPLACE_FMAF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fmaf
+# define fmaf rpl_fmaf
+# endif
+_GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
+_GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
+# else
+# if !@HAVE_FMAF@
+_GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
+# endif
+_GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
+# endif
+_GL_CXXALIASWARN (fmaf);
+#elif defined GNULIB_POSIXCHECK
+# undef fmaf
+# if HAVE_RAW_DECL_FMAF
+_GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
+ "use gnulib module fmaf for portability");
+# endif
+#endif
+
+#if @GNULIB_FMA@
+# if @REPLACE_FMA@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fma
+# define fma rpl_fma
+# endif
+_GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
+_GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
+# else
+# if !@HAVE_FMA@
+_GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
+# endif
+_GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
+# endif
+_GL_CXXALIASWARN (fma);
+#elif defined GNULIB_POSIXCHECK
+# undef fma
+# if HAVE_RAW_DECL_FMA
+_GL_WARN_ON_USE (fma, "fma is unportable - "
+ "use gnulib module fma for portability");
+# endif
+#endif
+
+#if @GNULIB_FMAL@
+# if @REPLACE_FMAL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fmal
+# define fmal rpl_fmal
+# endif
+_GL_FUNCDECL_RPL (fmal, long double,
+ (long double x, long double y, long double z));
+_GL_CXXALIAS_RPL (fmal, long double,
+ (long double x, long double y, long double z));
+# else
+# if !@HAVE_FMAL@
+# undef fmal
+_GL_FUNCDECL_SYS (fmal, long double,
+ (long double x, long double y, long double z));
+# endif
+_GL_CXXALIAS_SYS (fmal, long double,
+ (long double x, long double y, long double z));
+# endif
+_GL_CXXALIASWARN (fmal);
+#elif defined GNULIB_POSIXCHECK
+# undef fmal
+# if HAVE_RAW_DECL_FMAL
+_GL_WARN_ON_USE (fmal, "fmal is unportable - "
+ "use gnulib module fmal for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FMODF@
+# if @REPLACE_FMODF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fmodf
+# define fmodf rpl_fmodf
+# endif
+_GL_FUNCDECL_RPL (fmodf, float, (float x, float y));
+_GL_CXXALIAS_RPL (fmodf, float, (float x, float y));
+# else
+# if !@HAVE_FMODF@
+# undef fmodf
+_GL_FUNCDECL_SYS (fmodf, float, (float x, float y));
+# endif
+_GL_CXXALIAS_SYS (fmodf, float, (float x, float y));
+# endif
+_GL_CXXALIASWARN (fmodf);
+#elif defined GNULIB_POSIXCHECK
+# undef fmodf
+# if HAVE_RAW_DECL_FMODF
+_GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
+ "use gnulib module fmodf for portability");
+# endif
+#endif
+
+#if @GNULIB_FMOD@
+# if @REPLACE_FMOD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fmod
+# define fmod rpl_fmod
+# endif
+_GL_FUNCDECL_RPL (fmod, double, (double x, double y));
+_GL_CXXALIAS_RPL (fmod, double, (double x, double y));
+# else
+_GL_CXXALIAS_SYS (fmod, double, (double x, double y));
+# endif
+_GL_CXXALIASWARN (fmod);
+#elif defined GNULIB_POSIXCHECK
+# undef fmod
+# if HAVE_RAW_DECL_FMOD
+_GL_WARN_ON_USE (fmod, "fmod has portability problems - "
+ "use gnulib module fmod for portability");
+# endif
+#endif
+
+#if @GNULIB_FMODL@
+# if @REPLACE_FMODL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fmodl
+# define fmodl rpl_fmodl
+# endif
+_GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
+_GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
+# else
+# if !@HAVE_FMODL@
+# undef fmodl
+_GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIASWARN (fmodl);
+#elif defined GNULIB_POSIXCHECK
+# undef fmodl
+# if HAVE_RAW_DECL_FMODL
+_GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
+ "use gnulib module fmodl for portability");
+# endif
+#endif
+
+
+/* Write x as
+ x = mantissa * 2^exp
+ where
+ If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
+ If x is zero: mantissa = x, exp = 0.
+ If x is infinite or NaN: mantissa = x, exp unspecified.
+ Store exp in *EXPPTR and return mantissa. */
+#if @GNULIB_FREXPF@
+# if @REPLACE_FREXPF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef frexpf
+# define frexpf rpl_frexpf
+# endif
+_GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr));
+# else
+# if !@HAVE_FREXPF@
+# undef frexpf
+_GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr));
+# endif
+_GL_CXXALIASWARN (frexpf);
+#elif defined GNULIB_POSIXCHECK
+# undef frexpf
+# if HAVE_RAW_DECL_FREXPF
+_GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
+ "use gnulib module frexpf for portability");
+# endif
+#endif
+
+/* Write x as
+ x = mantissa * 2^exp
+ where
+ If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
+ If x is zero: mantissa = x, exp = 0.
+ If x is infinite or NaN: mantissa = x, exp unspecified.
+ Store exp in *EXPPTR and return mantissa. */
+#if @GNULIB_FREXP@
+# if @REPLACE_FREXP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define frexp rpl_frexp
+# endif
+_GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr));
+# else
+_GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr));
+# endif
+_GL_CXXALIASWARN (frexp);
+#elif defined GNULIB_POSIXCHECK
+# undef frexp
+/* Assume frexp is always declared. */
+_GL_WARN_ON_USE (frexp, "frexp is unportable - "
+ "use gnulib module frexp for portability");
+#endif
+
+/* Write x as
+ x = mantissa * 2^exp
+ where
+ If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
+ If x is zero: mantissa = x, exp = 0.
+ If x is infinite or NaN: mantissa = x, exp unspecified.
+ Store exp in *EXPPTR and return mantissa. */
+#if @GNULIB_FREXPL@ && @REPLACE_FREXPL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef frexpl
+# define frexpl rpl_frexpl
+# endif
+_GL_FUNCDECL_RPL (frexpl, long double,
+ (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr));
+#else
+# if !@HAVE_DECL_FREXPL@
+_GL_FUNCDECL_SYS (frexpl, long double,
+ (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
+# endif
+# if @GNULIB_FREXPL@
+_GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr));
+# endif
+#endif
+#if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@)
+_GL_CXXALIASWARN (frexpl);
+#endif
+#if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK
+# undef frexpl
+# if HAVE_RAW_DECL_FREXPL
+_GL_WARN_ON_USE (frexpl, "frexpl is unportable - "
+ "use gnulib module frexpl for portability");
+# endif
+#endif
+
+
+/* Return sqrt(x^2+y^2). */
+#if @GNULIB_HYPOTF@
+# if @REPLACE_HYPOTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef hypotf
+# define hypotf rpl_hypotf
+# endif
+_GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
+_GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
+# else
+# if !@HAVE_HYPOTF@
+_GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
+# endif
+_GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
+# endif
+_GL_CXXALIASWARN (hypotf);
+#elif defined GNULIB_POSIXCHECK
+# undef hypotf
+# if HAVE_RAW_DECL_HYPOTF
+_GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
+ "use gnulib module hypotf for portability");
+# endif
+#endif
+
+/* Return sqrt(x^2+y^2). */
+#if @GNULIB_HYPOT@
+# if @REPLACE_HYPOT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef hypot
+# define hypot rpl_hypot
+# endif
+_GL_FUNCDECL_RPL (hypot, double, (double x, double y));
+_GL_CXXALIAS_RPL (hypot, double, (double x, double y));
+# else
+_GL_CXXALIAS_SYS (hypot, double, (double x, double y));
+# endif
+_GL_CXXALIASWARN (hypot);
+#elif defined GNULIB_POSIXCHECK
+# undef hypot
+# if HAVE_RAW_DECL_HYPOT
+_GL_WARN_ON_USE (hypotf, "hypot has portability problems - "
+ "use gnulib module hypot for portability");
+# endif
+#endif
+
+/* Return sqrt(x^2+y^2). */
+#if @GNULIB_HYPOTL@
+# if @REPLACE_HYPOTL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef hypotl
+# define hypotl rpl_hypotl
+# endif
+_GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y));
+_GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y));
+# else
+# if !@HAVE_HYPOTL@
+_GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIASWARN (hypotl);
+#elif defined GNULIB_POSIXCHECK
+# undef hypotl
+# if HAVE_RAW_DECL_HYPOTL
+_GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
+ "use gnulib module hypotl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ILOGBF@
+# if @REPLACE_ILOGBF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ilogbf
+# define ilogbf rpl_ilogbf
+# endif
+_GL_FUNCDECL_RPL (ilogbf, int, (float x));
+_GL_CXXALIAS_RPL (ilogbf, int, (float x));
+# else
+# if !@HAVE_ILOGBF@
+_GL_FUNCDECL_SYS (ilogbf, int, (float x));
+# endif
+_GL_CXXALIAS_SYS (ilogbf, int, (float x));
+# endif
+_GL_CXXALIASWARN (ilogbf);
+#elif defined GNULIB_POSIXCHECK
+# undef ilogbf
+# if HAVE_RAW_DECL_ILOGBF
+_GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
+ "use gnulib module ilogbf for portability");
+# endif
+#endif
+
+#if @GNULIB_ILOGB@
+# if @REPLACE_ILOGB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ilogb
+# define ilogb rpl_ilogb
+# endif
+_GL_FUNCDECL_RPL (ilogb, int, (double x));
+_GL_CXXALIAS_RPL (ilogb, int, (double x));
+# else
+# if !@HAVE_ILOGB@
+_GL_FUNCDECL_SYS (ilogb, int, (double x));
+# endif
+_GL_CXXALIAS_SYS (ilogb, int, (double x));
+# endif
+_GL_CXXALIASWARN (ilogb);
+#elif defined GNULIB_POSIXCHECK
+# undef ilogb
+# if HAVE_RAW_DECL_ILOGB
+_GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
+ "use gnulib module ilogb for portability");
+# endif
+#endif
+
+#if @GNULIB_ILOGBL@
+# if !@HAVE_ILOGBL@
+_GL_FUNCDECL_SYS (ilogbl, int, (long double x));
+# endif
+_GL_CXXALIAS_SYS (ilogbl, int, (long double x));
+_GL_CXXALIASWARN (ilogbl);
+#elif defined GNULIB_POSIXCHECK
+# undef ilogbl
+# if HAVE_RAW_DECL_ILOGBL
+_GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
+ "use gnulib module ilogbl for portability");
+# endif
+#endif
+
+
+/* Return x * 2^exp. */
+#if @GNULIB_LDEXPF@
+# if !@HAVE_LDEXPF@
+# undef ldexpf
+_GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
+# endif
+_GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
+_GL_CXXALIASWARN (ldexpf);
+#elif defined GNULIB_POSIXCHECK
+# undef ldexpf
+# if HAVE_RAW_DECL_LDEXPF
+_GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
+ "use gnulib module ldexpf for portability");
+# endif
+#endif
+
+/* Return x * 2^exp. */
+#if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ldexpl
+# define ldexpl rpl_ldexpl
+# endif
+_GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp));
+_GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp));
+#else
+# if !@HAVE_DECL_LDEXPL@
+_GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp));
+# endif
+# if @GNULIB_LDEXPL@
+_GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp));
+# endif
+#endif
+#if @GNULIB_LDEXPL@
+_GL_CXXALIASWARN (ldexpl);
+#endif
+#if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK
+# undef ldexpl
+# if HAVE_RAW_DECL_LDEXPL
+_GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - "
+ "use gnulib module ldexpl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LOGF@
+# if @REPLACE_LOGF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef logf
+# define logf rpl_logf
+# endif
+_GL_FUNCDECL_RPL (logf, float, (float x));
+_GL_CXXALIAS_RPL (logf, float, (float x));
+# else
+# if !@HAVE_LOGF@
+# undef logf
+_GL_FUNCDECL_SYS (logf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (logf, float, (float x));
+# endif
+_GL_CXXALIASWARN (logf);
+#elif defined GNULIB_POSIXCHECK
+# undef logf
+# if HAVE_RAW_DECL_LOGF
+_GL_WARN_ON_USE (logf, "logf is unportable - "
+ "use gnulib module logf for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG@
+# if @REPLACE_LOG@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log
+# define log rpl_log
+# endif
+_GL_FUNCDECL_RPL (log, double, (double x));
+_GL_CXXALIAS_RPL (log, double, (double x));
+# else
+_GL_CXXALIAS_SYS (log, double, (double x));
+# endif
+_GL_CXXALIASWARN (log);
+#elif defined GNULIB_POSIXCHECK
+# undef log
+# if HAVE_RAW_DECL_LOG
+_GL_WARN_ON_USE (log, "log has portability problems - "
+ "use gnulib module log for portability");
+# endif
+#endif
+
+#if @GNULIB_LOGL@
+# if @REPLACE_LOGL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef logl
+# define logl rpl_logl
+# endif
+_GL_FUNCDECL_RPL (logl, long double, (long double x));
+_GL_CXXALIAS_RPL (logl, long double, (long double x));
+# else
+# if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@
+# undef logl
+_GL_FUNCDECL_SYS (logl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (logl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (logl);
+#elif defined GNULIB_POSIXCHECK
+# undef logl
+# if HAVE_RAW_DECL_LOGL
+_GL_WARN_ON_USE (logl, "logl is unportable - "
+ "use gnulib module logl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LOG10F@
+# if @REPLACE_LOG10F@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log10f
+# define log10f rpl_log10f
+# endif
+_GL_FUNCDECL_RPL (log10f, float, (float x));
+_GL_CXXALIAS_RPL (log10f, float, (float x));
+# else
+# if !@HAVE_LOG10F@
+# undef log10f
+_GL_FUNCDECL_SYS (log10f, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (log10f, float, (float x));
+# endif
+_GL_CXXALIASWARN (log10f);
+#elif defined GNULIB_POSIXCHECK
+# undef log10f
+# if HAVE_RAW_DECL_LOG10F
+_GL_WARN_ON_USE (log10f, "log10f is unportable - "
+ "use gnulib module log10f for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG10@
+# if @REPLACE_LOG10@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log10
+# define log10 rpl_log10
+# endif
+_GL_FUNCDECL_RPL (log10, double, (double x));
+_GL_CXXALIAS_RPL (log10, double, (double x));
+# else
+_GL_CXXALIAS_SYS (log10, double, (double x));
+# endif
+_GL_CXXALIASWARN (log10);
+#elif defined GNULIB_POSIXCHECK
+# undef log10
+# if HAVE_RAW_DECL_LOG10
+_GL_WARN_ON_USE (log10, "log10 has portability problems - "
+ "use gnulib module log10 for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG10L@
+# if @REPLACE_LOG10L@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log10l
+# define log10l rpl_log10l
+# endif
+_GL_FUNCDECL_RPL (log10l, long double, (long double x));
+_GL_CXXALIAS_RPL (log10l, long double, (long double x));
+# else
+# if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@
+# undef log10l
+_GL_FUNCDECL_SYS (log10l, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (log10l, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (log10l);
+#elif defined GNULIB_POSIXCHECK
+# undef log10l
+# if HAVE_RAW_DECL_LOG10L
+_GL_WARN_ON_USE (log10l, "log10l is unportable - "
+ "use gnulib module log10l for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LOG1PF@
+# if @REPLACE_LOG1PF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log1pf
+# define log1pf rpl_log1pf
+# endif
+_GL_FUNCDECL_RPL (log1pf, float, (float x));
+_GL_CXXALIAS_RPL (log1pf, float, (float x));
+# else
+# if !@HAVE_LOG1PF@
+_GL_FUNCDECL_SYS (log1pf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (log1pf, float, (float x));
+# endif
+_GL_CXXALIASWARN (log1pf);
+#elif defined GNULIB_POSIXCHECK
+# undef log1pf
+# if HAVE_RAW_DECL_LOG1PF
+_GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
+ "use gnulib module log1pf for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG1P@
+# if @REPLACE_LOG1P@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log1p
+# define log1p rpl_log1p
+# endif
+_GL_FUNCDECL_RPL (log1p, double, (double x));
+_GL_CXXALIAS_RPL (log1p, double, (double x));
+# else
+# if !@HAVE_LOG1P@
+_GL_FUNCDECL_SYS (log1p, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (log1p, double, (double x));
+# endif
+_GL_CXXALIASWARN (log1p);
+#elif defined GNULIB_POSIXCHECK
+# undef log1p
+# if HAVE_RAW_DECL_LOG1P
+_GL_WARN_ON_USE (log1p, "log1p has portability problems - "
+ "use gnulib module log1p for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG1PL@
+# if @REPLACE_LOG1PL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log1pl
+# define log1pl rpl_log1pl
+# endif
+_GL_FUNCDECL_RPL (log1pl, long double, (long double x));
+_GL_CXXALIAS_RPL (log1pl, long double, (long double x));
+# else
+# if !@HAVE_LOG1PL@
+_GL_FUNCDECL_SYS (log1pl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (log1pl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (log1pl);
+#elif defined GNULIB_POSIXCHECK
+# undef log1pl
+# if HAVE_RAW_DECL_LOG1PL
+_GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
+ "use gnulib module log1pl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LOG2F@
+# if @REPLACE_LOG2F@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log2f
+# define log2f rpl_log2f
+# endif
+_GL_FUNCDECL_RPL (log2f, float, (float x));
+_GL_CXXALIAS_RPL (log2f, float, (float x));
+# else
+# if !@HAVE_DECL_LOG2F@
+# undef log2f
+_GL_FUNCDECL_SYS (log2f, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (log2f, float, (float x));
+# endif
+_GL_CXXALIASWARN (log2f);
+#elif defined GNULIB_POSIXCHECK
+# undef log2f
+# if HAVE_RAW_DECL_LOG2F
+_GL_WARN_ON_USE (log2f, "log2f is unportable - "
+ "use gnulib module log2f for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG2@
+# if @REPLACE_LOG2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log2
+# define log2 rpl_log2
+# endif
+_GL_FUNCDECL_RPL (log2, double, (double x));
+_GL_CXXALIAS_RPL (log2, double, (double x));
+# else
+# if !@HAVE_DECL_LOG2@
+# undef log2
+_GL_FUNCDECL_SYS (log2, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (log2, double, (double x));
+# endif
+_GL_CXXALIASWARN (log2);
+#elif defined GNULIB_POSIXCHECK
+# undef log2
+# if HAVE_RAW_DECL_LOG2
+_GL_WARN_ON_USE (log2, "log2 is unportable - "
+ "use gnulib module log2 for portability");
+# endif
+#endif
+
+#if @GNULIB_LOG2L@
+# if @REPLACE_LOG2L@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log2l
+# define log2l rpl_log2l
+# endif
+_GL_FUNCDECL_RPL (log2l, long double, (long double x));
+_GL_CXXALIAS_RPL (log2l, long double, (long double x));
+# else
+# if !@HAVE_DECL_LOG2L@
+_GL_FUNCDECL_SYS (log2l, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (log2l, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (log2l);
+#elif defined GNULIB_POSIXCHECK
+# undef log2l
+# if HAVE_RAW_DECL_LOG2L
+_GL_WARN_ON_USE (log2l, "log2l is unportable - "
+ "use gnulib module log2l for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LOGBF@
+# if @REPLACE_LOGBF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef logbf
+# define logbf rpl_logbf
+# endif
+_GL_FUNCDECL_RPL (logbf, float, (float x));
+_GL_CXXALIAS_RPL (logbf, float, (float x));
+# else
+# if !@HAVE_LOGBF@
+_GL_FUNCDECL_SYS (logbf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (logbf, float, (float x));
+# endif
+_GL_CXXALIASWARN (logbf);
+#elif defined GNULIB_POSIXCHECK
+# undef logbf
+# if HAVE_RAW_DECL_LOGBF
+_GL_WARN_ON_USE (logbf, "logbf is unportable - "
+ "use gnulib module logbf for portability");
+# endif
+#endif
+
+#if @GNULIB_LOGB@
+# if @REPLACE_LOGB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef logb
+# define logb rpl_logb
+# endif
+_GL_FUNCDECL_RPL (logb, double, (double x));
+_GL_CXXALIAS_RPL (logb, double, (double x));
+# else
+# if !@HAVE_DECL_LOGB@
+_GL_FUNCDECL_SYS (logb, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (logb, double, (double x));
+# endif
+_GL_CXXALIASWARN (logb);
+#elif defined GNULIB_POSIXCHECK
+# undef logb
+# if HAVE_RAW_DECL_LOGB
+_GL_WARN_ON_USE (logb, "logb is unportable - "
+ "use gnulib module logb for portability");
+# endif
+#endif
+
+#if @GNULIB_LOGBL@
+# if @REPLACE_LOGBL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef logbl
+# define logbl rpl_logbl
+# endif
+_GL_FUNCDECL_RPL (logbl, long double, (long double x));
+_GL_CXXALIAS_RPL (logbl, long double, (long double x));
+# else
+# if !@HAVE_LOGBL@
+_GL_FUNCDECL_SYS (logbl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (logbl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (logbl);
+#elif defined GNULIB_POSIXCHECK
+# undef logbl
+# if HAVE_RAW_DECL_LOGBL
+_GL_WARN_ON_USE (logbl, "logbl is unportable - "
+ "use gnulib module logbl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MODFF@
+# if @REPLACE_MODFF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef modff
+# define modff rpl_modff
+# endif
+_GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (modff, float, (float x, float *iptr));
+# else
+# if !@HAVE_MODFF@
+# undef modff
+_GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr));
+# endif
+_GL_CXXALIASWARN (modff);
+#elif defined GNULIB_POSIXCHECK
+# undef modff
+# if HAVE_RAW_DECL_MODFF
+_GL_WARN_ON_USE (modff, "modff is unportable - "
+ "use gnulib module modff for portability");
+# endif
+#endif
+
+#if @GNULIB_MODF@
+# if @REPLACE_MODF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef modf
+# define modf rpl_modf
+# endif
+_GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (modf, double, (double x, double *iptr));
+# else
+_GL_CXXALIAS_SYS (modf, double, (double x, double *iptr));
+# endif
+_GL_CXXALIASWARN (modf);
+#elif defined GNULIB_POSIXCHECK
+# undef modf
+# if HAVE_RAW_DECL_MODF
+_GL_WARN_ON_USE (modf, "modf has portability problems - "
+ "use gnulib module modf for portability");
+# endif
+#endif
+
+#if @GNULIB_MODFL@
+# if @REPLACE_MODFL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef modfl
+# define modfl rpl_modfl
+# endif
+_GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr));
+# else
+# if !@HAVE_MODFL@
+# undef modfl
+_GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr));
+# endif
+_GL_CXXALIASWARN (modfl);
+#elif defined GNULIB_POSIXCHECK
+# undef modfl
+# if HAVE_RAW_DECL_MODFL
+_GL_WARN_ON_USE (modfl, "modfl is unportable - "
+ "use gnulib module modfl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_POWF@
+# if !@HAVE_POWF@
+# undef powf
+_GL_FUNCDECL_SYS (powf, float, (float x, float y));
+# endif
+_GL_CXXALIAS_SYS (powf, float, (float x, float y));
+_GL_CXXALIASWARN (powf);
+#elif defined GNULIB_POSIXCHECK
+# undef powf
+# if HAVE_RAW_DECL_POWF
+_GL_WARN_ON_USE (powf, "powf is unportable - "
+ "use gnulib module powf for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REMAINDERF@
+# if @REPLACE_REMAINDERF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef remainderf
+# define remainderf rpl_remainderf
+# endif
+_GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
+_GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
+# else
+# if !@HAVE_REMAINDERF@
+_GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
+# endif
+_GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
+# endif
+_GL_CXXALIASWARN (remainderf);
+#elif defined GNULIB_POSIXCHECK
+# undef remainderf
+# if HAVE_RAW_DECL_REMAINDERF
+_GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
+ "use gnulib module remainderf for portability");
+# endif
+#endif
+
+#if @GNULIB_REMAINDER@
+# if @REPLACE_REMAINDER@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef remainder
+# define remainder rpl_remainder
+# endif
+_GL_FUNCDECL_RPL (remainder, double, (double x, double y));
+_GL_CXXALIAS_RPL (remainder, double, (double x, double y));
+# else
+# if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@
+_GL_FUNCDECL_SYS (remainder, double, (double x, double y));
+# endif
+_GL_CXXALIAS_SYS (remainder, double, (double x, double y));
+# endif
+_GL_CXXALIASWARN (remainder);
+#elif defined GNULIB_POSIXCHECK
+# undef remainder
+# if HAVE_RAW_DECL_REMAINDER
+_GL_WARN_ON_USE (remainder, "remainder is unportable - "
+ "use gnulib module remainder for portability");
+# endif
+#endif
+
+#if @GNULIB_REMAINDERL@
+# if @REPLACE_REMAINDERL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef remainderl
+# define remainderl rpl_remainderl
+# endif
+_GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y));
+_GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y));
+# else
+# if !@HAVE_DECL_REMAINDERL@
+# undef remainderl
+_GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y));
+# endif
+_GL_CXXALIASWARN (remainderl);
+#elif defined GNULIB_POSIXCHECK
+# undef remainderl
+# if HAVE_RAW_DECL_REMAINDERL
+_GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
+ "use gnulib module remainderl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RINTF@
+# if !@HAVE_DECL_RINTF@
+_GL_FUNCDECL_SYS (rintf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (rintf, float, (float x));
+_GL_CXXALIASWARN (rintf);
+#elif defined GNULIB_POSIXCHECK
+# undef rintf
+# if HAVE_RAW_DECL_RINTF
+_GL_WARN_ON_USE (rintf, "rintf is unportable - "
+ "use gnulib module rintf for portability");
+# endif
+#endif
+
+#if @GNULIB_RINT@
+# if !@HAVE_RINT@
+_GL_FUNCDECL_SYS (rint, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (rint, double, (double x));
+_GL_CXXALIASWARN (rint);
+#elif defined GNULIB_POSIXCHECK
+# undef rint
+# if HAVE_RAW_DECL_RINT
+_GL_WARN_ON_USE (rint, "rint is unportable - "
+ "use gnulib module rint for portability");
+# endif
+#endif
+
+#if @GNULIB_RINTL@
+# if !@HAVE_RINTL@
+_GL_FUNCDECL_SYS (rintl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (rintl, long double, (long double x));
+_GL_CXXALIASWARN (rintl);
+#elif defined GNULIB_POSIXCHECK
+# undef rintl
+# if HAVE_RAW_DECL_RINTL
+_GL_WARN_ON_USE (rintl, "rintl is unportable - "
+ "use gnulib module rintl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ROUNDF@
+# if @REPLACE_ROUNDF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef roundf
+# define roundf rpl_roundf
+# endif
+_GL_FUNCDECL_RPL (roundf, float, (float x));
+_GL_CXXALIAS_RPL (roundf, float, (float x));
+# else
+# if !@HAVE_DECL_ROUNDF@
+_GL_FUNCDECL_SYS (roundf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (roundf, float, (float x));
+# endif
+_GL_CXXALIASWARN (roundf);
+#elif defined GNULIB_POSIXCHECK
+# undef roundf
+# if HAVE_RAW_DECL_ROUNDF
+_GL_WARN_ON_USE (roundf, "roundf is unportable - "
+ "use gnulib module roundf for portability");
+# endif
+#endif
+
+#if @GNULIB_ROUND@
+# if @REPLACE_ROUND@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef round
+# define round rpl_round
+# endif
+_GL_FUNCDECL_RPL (round, double, (double x));
+_GL_CXXALIAS_RPL (round, double, (double x));
+# else
+# if !@HAVE_DECL_ROUND@
+_GL_FUNCDECL_SYS (round, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (round, double, (double x));
+# endif
+_GL_CXXALIASWARN (round);
+#elif defined GNULIB_POSIXCHECK
+# undef round
+# if HAVE_RAW_DECL_ROUND
+_GL_WARN_ON_USE (round, "round is unportable - "
+ "use gnulib module round for portability");
+# endif
+#endif
+
+#if @GNULIB_ROUNDL@
+# if @REPLACE_ROUNDL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef roundl
+# define roundl rpl_roundl
+# endif
+_GL_FUNCDECL_RPL (roundl, long double, (long double x));
+_GL_CXXALIAS_RPL (roundl, long double, (long double x));
+# else
+# if !@HAVE_DECL_ROUNDL@
+# undef roundl
+_GL_FUNCDECL_SYS (roundl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (roundl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (roundl);
+#elif defined GNULIB_POSIXCHECK
+# undef roundl
+# if HAVE_RAW_DECL_ROUNDL
+_GL_WARN_ON_USE (roundl, "roundl is unportable - "
+ "use gnulib module roundl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_SINF@
+# if !@HAVE_SINF@
+# undef sinf
+_GL_FUNCDECL_SYS (sinf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (sinf, float, (float x));
+_GL_CXXALIASWARN (sinf);
+#elif defined GNULIB_POSIXCHECK
+# undef sinf
+# if HAVE_RAW_DECL_SINF
+_GL_WARN_ON_USE (sinf, "sinf is unportable - "
+ "use gnulib module sinf for portability");
+# endif
+#endif
+
+#if @GNULIB_SINL@
+# if !@HAVE_SINL@ || !@HAVE_DECL_SINL@
+# undef sinl
+_GL_FUNCDECL_SYS (sinl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (sinl, long double, (long double x));
+_GL_CXXALIASWARN (sinl);
+#elif defined GNULIB_POSIXCHECK
+# undef sinl
+# if HAVE_RAW_DECL_SINL
+_GL_WARN_ON_USE (sinl, "sinl is unportable - "
+ "use gnulib module sinl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_SINHF@
+# if !@HAVE_SINHF@
+# undef sinhf
+_GL_FUNCDECL_SYS (sinhf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (sinhf, float, (float x));
+_GL_CXXALIASWARN (sinhf);
+#elif defined GNULIB_POSIXCHECK
+# undef sinhf
+# if HAVE_RAW_DECL_SINHF
+_GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
+ "use gnulib module sinhf for portability");
+# endif
+#endif
+
+
+#if @GNULIB_SQRTF@
+# if !@HAVE_SQRTF@
+# undef sqrtf
+_GL_FUNCDECL_SYS (sqrtf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (sqrtf, float, (float x));
+_GL_CXXALIASWARN (sqrtf);
+#elif defined GNULIB_POSIXCHECK
+# undef sqrtf
+# if HAVE_RAW_DECL_SQRTF
+_GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
+ "use gnulib module sqrtf for portability");
+# endif
+#endif
+
+#if @GNULIB_SQRTL@
+# if @REPLACE_SQRTL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef sqrtl
+# define sqrtl rpl_sqrtl
+# endif
+_GL_FUNCDECL_RPL (sqrtl, long double, (long double x));
+_GL_CXXALIAS_RPL (sqrtl, long double, (long double x));
+# else
+# if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@
+# undef sqrtl
+_GL_FUNCDECL_SYS (sqrtl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (sqrtl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (sqrtl);
+#elif defined GNULIB_POSIXCHECK
+# undef sqrtl
+# if HAVE_RAW_DECL_SQRTL
+_GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - "
+ "use gnulib module sqrtl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_TANF@
+# if !@HAVE_TANF@
+# undef tanf
+_GL_FUNCDECL_SYS (tanf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (tanf, float, (float x));
+_GL_CXXALIASWARN (tanf);
+#elif defined GNULIB_POSIXCHECK
+# undef tanf
+# if HAVE_RAW_DECL_TANF
+_GL_WARN_ON_USE (tanf, "tanf is unportable - "
+ "use gnulib module tanf for portability");
+# endif
+#endif
+
+#if @GNULIB_TANL@
+# if !@HAVE_TANL@ || !@HAVE_DECL_TANL@
+# undef tanl
+_GL_FUNCDECL_SYS (tanl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (tanl, long double, (long double x));
+_GL_CXXALIASWARN (tanl);
+#elif defined GNULIB_POSIXCHECK
+# undef tanl
+# if HAVE_RAW_DECL_TANL
+_GL_WARN_ON_USE (tanl, "tanl is unportable - "
+ "use gnulib module tanl for portability");
+# endif
+#endif
+
+
+#if @GNULIB_TANHF@
+# if !@HAVE_TANHF@
+# undef tanhf
+_GL_FUNCDECL_SYS (tanhf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (tanhf, float, (float x));
+_GL_CXXALIASWARN (tanhf);
+#elif defined GNULIB_POSIXCHECK
+# undef tanhf
+# if HAVE_RAW_DECL_TANHF
+_GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
+ "use gnulib module tanhf for portability");
+# endif
+#endif
+
+
+#if @GNULIB_TRUNCF@
+# if @REPLACE_TRUNCF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define truncf rpl_truncf
+# endif
+_GL_FUNCDECL_RPL (truncf, float, (float x));
+_GL_CXXALIAS_RPL (truncf, float, (float x));
+# else
+# if !@HAVE_DECL_TRUNCF@
+_GL_FUNCDECL_SYS (truncf, float, (float x));
+# endif
+_GL_CXXALIAS_SYS (truncf, float, (float x));
+# endif
+_GL_CXXALIASWARN (truncf);
+#elif defined GNULIB_POSIXCHECK
+# undef truncf
+# if HAVE_RAW_DECL_TRUNCF
+_GL_WARN_ON_USE (truncf, "truncf is unportable - "
+ "use gnulib module truncf for portability");
+# endif
+#endif
+
+#if @GNULIB_TRUNC@
+# if @REPLACE_TRUNC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define trunc rpl_trunc
+# endif
+_GL_FUNCDECL_RPL (trunc, double, (double x));
+_GL_CXXALIAS_RPL (trunc, double, (double x));
+# else
+# if !@HAVE_DECL_TRUNC@
+_GL_FUNCDECL_SYS (trunc, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (trunc, double, (double x));
+# endif
+_GL_CXXALIASWARN (trunc);
+#elif defined GNULIB_POSIXCHECK
+# undef trunc
+# if HAVE_RAW_DECL_TRUNC
+_GL_WARN_ON_USE (trunc, "trunc is unportable - "
+ "use gnulib module trunc for portability");
+# endif
+#endif
+
+#if @GNULIB_TRUNCL@
+# if @REPLACE_TRUNCL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef truncl
+# define truncl rpl_truncl
+# endif
+_GL_FUNCDECL_RPL (truncl, long double, (long double x));
+_GL_CXXALIAS_RPL (truncl, long double, (long double x));
+# else
+# if !@HAVE_DECL_TRUNCL@
+_GL_FUNCDECL_SYS (truncl, long double, (long double x));
+# endif
+_GL_CXXALIAS_SYS (truncl, long double, (long double x));
+# endif
+_GL_CXXALIASWARN (truncl);
+#elif defined GNULIB_POSIXCHECK
+# undef truncl
+# if HAVE_RAW_DECL_TRUNCL
+_GL_WARN_ON_USE (truncl, "truncl is unportable - "
+ "use gnulib module truncl for portability");
+# endif
+#endif
+
+
+/* Definitions of function-like macros come here, after the function
+ declarations. */
+
+
+#if @GNULIB_ISFINITE@
+# if @REPLACE_ISFINITE@
+_GL_EXTERN_C int gl_isfinitef (float x);
+_GL_EXTERN_C int gl_isfinited (double x);
+_GL_EXTERN_C int gl_isfinitel (long double x);
+# undef isfinite
+# define isfinite(x) \
+ (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
+ sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
+ gl_isfinitef (x))
+# endif
+# ifdef __cplusplus
+# ifdef isfinite
+_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
+# undef isfinite
+_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite)
+# endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# if defined isfinite
+_GL_WARN_REAL_FLOATING_DECL (isfinite);
+# undef isfinite
+# define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
+# endif
+#endif
+
+
+#if @GNULIB_ISINF@
+# if @REPLACE_ISINF@
+_GL_EXTERN_C int gl_isinff (float x);
+_GL_EXTERN_C int gl_isinfd (double x);
+_GL_EXTERN_C int gl_isinfl (long double x);
+# undef isinf
+# define isinf(x) \
+ (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
+ sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
+ gl_isinff (x))
+# endif
+# ifdef __cplusplus
+# ifdef isinf
+_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
+# undef isinf
+_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf)
+# endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# if defined isinf
+_GL_WARN_REAL_FLOATING_DECL (isinf);
+# undef isinf
+# define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
+# endif
+#endif
+
+
+#if @GNULIB_ISNANF@
+/* Test for NaN for 'float' numbers. */
+# if @HAVE_ISNANF@
+/* The original <math.h> included above provides a declaration of isnan macro
+ or (older) isnanf function. */
+# if __GNUC__ >= 4
+ /* GCC 4.0 and newer provides three built-ins for isnan. */
+# undef isnanf
+# define isnanf(x) __builtin_isnanf ((float)(x))
+# elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+# endif
+# else
+/* Test whether X is a NaN. */
+# undef isnanf
+# define isnanf rpl_isnanf
+_GL_EXTERN_C int isnanf (float x);
+# endif
+#endif
+
+#if @GNULIB_ISNAND@
+/* Test for NaN for 'double' numbers.
+ This function is a gnulib extension, unlike isnan() which applied only
+ to 'double' numbers earlier but now is a type-generic macro. */
+# if @HAVE_ISNAND@
+/* The original <math.h> included above provides a declaration of isnan
+ macro. */
+# if __GNUC__ >= 4
+ /* GCC 4.0 and newer provides three built-ins for isnan. */
+# undef isnand
+# define isnand(x) __builtin_isnan ((double)(x))
+# else
+# undef isnand
+# define isnand(x) isnan ((double)(x))
+# endif
+# else
+/* Test whether X is a NaN. */
+# undef isnand
+# define isnand rpl_isnand
+_GL_EXTERN_C int isnand (double x);
+# endif
+#endif
+
+#if @GNULIB_ISNANL@
+/* Test for NaN for 'long double' numbers. */
+# if @HAVE_ISNANL@
+/* The original <math.h> included above provides a declaration of isnan
+ macro or (older) isnanl function. */
+# if __GNUC__ >= 4
+ /* GCC 4.0 and newer provides three built-ins for isnan. */
+# undef isnanl
+# define isnanl(x) __builtin_isnanl ((long double)(x))
+# elif defined isnan
+# undef isnanl
+# define isnanl(x) isnan ((long double)(x))
+# endif
+# else
+/* Test whether X is a NaN. */
+# undef isnanl
+# define isnanl rpl_isnanl
+_GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST;
+# endif
+#endif
+
+/* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL! */
+#if @GNULIB_ISNAN@
+# if @REPLACE_ISNAN@
+/* We can't just use the isnanf macro (e.g.) as exposed by
+ isnanf.h (e.g.) here, because those may end up being macros
+ that recursively expand back to isnan. So use the gnulib
+ replacements for them directly. */
+# if @HAVE_ISNANF@ && __GNUC__ >= 4
+# define gl_isnan_f(x) __builtin_isnanf ((float)(x))
+# else
+_GL_EXTERN_C int rpl_isnanf (float x);
+# define gl_isnan_f(x) rpl_isnanf (x)
+# endif
+# if @HAVE_ISNAND@ && __GNUC__ >= 4
+# define gl_isnan_d(x) __builtin_isnan ((double)(x))
+# else
+_GL_EXTERN_C int rpl_isnand (double x);
+# define gl_isnan_d(x) rpl_isnand (x)
+# endif
+# if @HAVE_ISNANL@ && __GNUC__ >= 4
+# define gl_isnan_l(x) __builtin_isnanl ((long double)(x))
+# else
+_GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
+# define gl_isnan_l(x) rpl_isnanl (x)
+# endif
+# undef isnan
+# define isnan(x) \
+ (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
+ sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
+ gl_isnan_f (x))
+# elif __GNUC__ >= 4
+# undef isnan
+# define isnan(x) \
+ (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \
+ sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \
+ __builtin_isnanf ((float)(x)))
+# endif
+# ifdef __cplusplus
+# ifdef isnan
+_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
+# undef isnan
+_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan)
+# endif
+# else
+/* Ensure isnan is a macro. */
+# ifndef isnan
+# define isnan isnan
+# endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# if defined isnan
+_GL_WARN_REAL_FLOATING_DECL (isnan);
+# undef isnan
+# define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
+# endif
+#endif
+
+
+#if @GNULIB_SIGNBIT@
+# if @REPLACE_SIGNBIT_USING_GCC@
+# undef signbit
+ /* GCC 4.0 and newer provides three built-ins for signbit. */
+# define signbit(x) \
+ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
+ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
+ __builtin_signbitf (x))
+# endif
+# if @REPLACE_SIGNBIT@
+# undef signbit
+_GL_EXTERN_C int gl_signbitf (float arg);
+_GL_EXTERN_C int gl_signbitd (double arg);
+_GL_EXTERN_C int gl_signbitl (long double arg);
+# if __GNUC__ >= 2 && !defined __STRICT_ANSI__
+# define _GL_NUM_UINT_WORDS(type) \
+ ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
+# define gl_signbitf_OPTIMIZED_MACRO
+# define gl_signbitf(arg) \
+ ({ union { float _value; \
+ unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \
+ } _m; \
+ _m._value = (arg); \
+ (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \
+ })
+# endif
+# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
+# define gl_signbitd_OPTIMIZED_MACRO
+# define gl_signbitd(arg) \
+ ({ union { double _value; \
+ unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \
+ } _m; \
+ _m._value = (arg); \
+ (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \
+ })
+# endif
+# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
+# define gl_signbitl_OPTIMIZED_MACRO
+# define gl_signbitl(arg) \
+ ({ union { long double _value; \
+ unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
+ } _m; \
+ _m._value = (arg); \
+ (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \
+ })
+# endif
+# endif
+# define signbit(x) \
+ (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
+ sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
+ gl_signbitf (x))
+# endif
+# ifdef __cplusplus
+# ifdef signbit
+_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
+# undef signbit
+_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
+# endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# if defined signbit
+_GL_WARN_REAL_FLOATING_DECL (signbit);
+# undef signbit
+# define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
+# endif
+#endif
+
+_GL_INLINE_HEADER_END
+
+#endif /* _@GUARD_PREFIX@_MATH_H */
+#endif /* _@GUARD_PREFIX@_MATH_H */
diff --git a/gettext-tools/gnulib-lib/mbchar.c b/gettext-tools/gnulib-lib/mbchar.c
index 7d5bfcc..ae9b7eb 100644
--- a/gettext-tools/gnulib-lib/mbchar.c
+++ b/gettext-tools/gnulib-lib/mbchar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2006, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/mbchar.h b/gettext-tools/gnulib-lib/mbchar.h
index 700174c..fcdefaf 100644
--- a/gettext-tools/gnulib-lib/mbchar.h
+++ b/gettext-tools/gnulib-lib/mbchar.h
@@ -1,5 +1,5 @@
/* Multibyte character data type.
- Copyright (C) 2001, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/mbiter.h b/gettext-tools/gnulib-lib/mbiter.h
index 32fff8c..ccc1d19 100644
--- a/gettext-tools/gnulib-lib/mbiter.h
+++ b/gettext-tools/gnulib-lib/mbiter.h
@@ -1,5 +1,5 @@
/* Iterating through multibyte strings: macros for multi-byte encodings.
- Copyright (C) 2001, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/mbrtowc.c b/gettext-tools/gnulib-lib/mbrtowc.c
index 5743f43..e49d55b 100644
--- a/gettext-tools/gnulib-lib/mbrtowc.c
+++ b/gettext-tools/gnulib-lib/mbrtowc.c
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbsinit.c b/gettext-tools/gnulib-lib/mbsinit.c
index df4bcd1..4effdd8 100644
--- a/gettext-tools/gnulib-lib/mbsinit.c
+++ b/gettext-tools/gnulib-lib/mbsinit.c
@@ -1,5 +1,5 @@
/* Test for initial conversion state.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbslen.c b/gettext-tools/gnulib-lib/mbslen.c
index 74c6ec1..011f821 100644
--- a/gettext-tools/gnulib-lib/mbslen.c
+++ b/gettext-tools/gnulib-lib/mbslen.c
@@ -1,5 +1,5 @@
/* Counting the multibyte characters in a string.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbsrtowcs-impl.h b/gettext-tools/gnulib-lib/mbsrtowcs-impl.h
index d42af01..a0f4271 100644
--- a/gettext-tools/gnulib-lib/mbsrtowcs-impl.h
+++ b/gettext-tools/gnulib-lib/mbsrtowcs-impl.h
@@ -1,5 +1,5 @@
/* Convert string to wide string.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbsrtowcs-state.c b/gettext-tools/gnulib-lib/mbsrtowcs-state.c
index 2a7019a..522eb69 100644
--- a/gettext-tools/gnulib-lib/mbsrtowcs-state.c
+++ b/gettext-tools/gnulib-lib/mbsrtowcs-state.c
@@ -1,5 +1,5 @@
/* Convert string to wide string.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbsrtowcs.c b/gettext-tools/gnulib-lib/mbsrtowcs.c
index 136ec34..c37eba7 100644
--- a/gettext-tools/gnulib-lib/mbsrtowcs.c
+++ b/gettext-tools/gnulib-lib/mbsrtowcs.c
@@ -1,5 +1,5 @@
/* Convert string to wide string.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbsstr.c b/gettext-tools/gnulib-lib/mbsstr.c
index 1ae9fe4..6d5239e 100644
--- a/gettext-tools/gnulib-lib/mbsstr.c
+++ b/gettext-tools/gnulib-lib/mbsstr.c
@@ -1,5 +1,5 @@
-/* Searching in a string.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Searching in a string. -*- coding: utf-8 -*-
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mbswidth.c b/gettext-tools/gnulib-lib/mbswidth.c
index d39067a..75ca79a 100644
--- a/gettext-tools/gnulib-lib/mbswidth.c
+++ b/gettext-tools/gnulib-lib/mbswidth.c
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/mbswidth.h b/gettext-tools/gnulib-lib/mbswidth.h
index ab7c150..f5b0fc3 100644
--- a/gettext-tools/gnulib-lib/mbswidth.h
+++ b/gettext-tools/gnulib-lib/mbswidth.h
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2004, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2004, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/mbuiter.h b/gettext-tools/gnulib-lib/mbuiter.h
index 1702f14..acdec29 100644
--- a/gettext-tools/gnulib-lib/mbuiter.h
+++ b/gettext-tools/gnulib-lib/mbuiter.h
@@ -1,5 +1,5 @@
/* Iterating through multibyte strings: macros for multi-byte encodings.
- Copyright (C) 2001, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/memchr.c b/gettext-tools/gnulib-lib/memchr.c
index 6709f6e..f74cc9a 100644
--- a/gettext-tools/gnulib-lib/memchr.c
+++ b/gettext-tools/gnulib-lib/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2014
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2015
Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/gettext-tools/gnulib-lib/memset.c b/gettext-tools/gnulib-lib/memset.c
index e995f37..5490f8e 100644
--- a/gettext-tools/gnulib-lib/memset.c
+++ b/gettext-tools/gnulib-lib/memset.c
@@ -1,5 +1,5 @@
/* memset.c -- set an area of memory to a given value
- Copyright (C) 1991, 2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1991, 2003, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/minmax.h b/gettext-tools/gnulib-lib/minmax.h
index af1fc9b..919678d 100644
--- a/gettext-tools/gnulib-lib/minmax.h
+++ b/gettext-tools/gnulib-lib/minmax.h
@@ -1,5 +1,5 @@
/* MIN, MAX macros.
- Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/mkdtemp.c b/gettext-tools/gnulib-lib/mkdtemp.c
index 18237f2..9555392 100644
--- a/gettext-tools/gnulib-lib/mkdtemp.c
+++ b/gettext-tools/gnulib-lib/mkdtemp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2014 Free Software
+/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/moo.h b/gettext-tools/gnulib-lib/moo.h
index a1ea917..2925b58 100644
--- a/gettext-tools/gnulib-lib/moo.h
+++ b/gettext-tools/gnulib-lib/moo.h
@@ -1,5 +1,5 @@
/* Minimal object-oriented facilities for C.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/msvc-inval.c b/gettext-tools/gnulib-lib/msvc-inval.c
index f83827f..a1f1dc0 100644
--- a/gettext-tools/gnulib-lib/msvc-inval.c
+++ b/gettext-tools/gnulib-lib/msvc-inval.c
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/msvc-inval.h b/gettext-tools/gnulib-lib/msvc-inval.h
index a0ef540..8b07269 100644
--- a/gettext-tools/gnulib-lib/msvc-inval.h
+++ b/gettext-tools/gnulib-lib/msvc-inval.h
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/msvc-nothrow.c b/gettext-tools/gnulib-lib/msvc-nothrow.c
index b1e5f0c..90cf801 100644
--- a/gettext-tools/gnulib-lib/msvc-nothrow.c
+++ b/gettext-tools/gnulib-lib/msvc-nothrow.c
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/msvc-nothrow.h b/gettext-tools/gnulib-lib/msvc-nothrow.h
index 0d4dea5..67b151e 100644
--- a/gettext-tools/gnulib-lib/msvc-nothrow.h
+++ b/gettext-tools/gnulib-lib/msvc-nothrow.h
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/obstack.c b/gettext-tools/gnulib-lib/obstack.c
index fa3cc44..dd6e1f7 100644
--- a/gettext-tools/gnulib-lib/obstack.c
+++ b/gettext-tools/gnulib-lib/obstack.c
@@ -1,5 +1,5 @@
/* obstack.c - subroutines used implicitly by object stack macros
- Copyright (C) 1988-2014 Free Software Foundation, Inc.
+ Copyright (C) 1988-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/gettext-tools/gnulib-lib/obstack.h b/gettext-tools/gnulib-lib/obstack.h
index cc44c06..f7e791b 100644
--- a/gettext-tools/gnulib-lib/obstack.h
+++ b/gettext-tools/gnulib-lib/obstack.h
@@ -1,5 +1,5 @@
/* obstack.h - object stack macros
- Copyright (C) 1988-2014 Free Software Foundation, Inc.
+ Copyright (C) 1988-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/gettext-tools/gnulib-lib/open.c b/gettext-tools/gnulib-lib/open.c
index d6f8e0d..95c7811 100644
--- a/gettext-tools/gnulib-lib/open.c
+++ b/gettext-tools/gnulib-lib/open.c
@@ -1,5 +1,5 @@
/* Open a descriptor to a file.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/opendir.c b/gettext-tools/gnulib-lib/opendir.c
index c67f2e5..9f53110 100644
--- a/gettext-tools/gnulib-lib/opendir.c
+++ b/gettext-tools/gnulib-lib/opendir.c
@@ -1,5 +1,5 @@
/* Start reading the entries of a directory.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/ostream.c b/gettext-tools/gnulib-lib/ostream.c
index 854d4a0..0cce0d2 100644
--- a/gettext-tools/gnulib-lib/ostream.c
+++ b/gettext-tools/gnulib-lib/ostream.c
@@ -2,7 +2,7 @@
#line 1 "ostream.oo.c"
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/ostream.h b/gettext-tools/gnulib-lib/ostream.h
index 96cb623..7fc6979 100644
--- a/gettext-tools/gnulib-lib/ostream.h
+++ b/gettext-tools/gnulib-lib/ostream.h
@@ -2,7 +2,7 @@
#line 1 "ostream.oo.h"
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/ostream.oo.c b/gettext-tools/gnulib-lib/ostream.oo.c
index 49ee16f..3c178fa 100644
--- a/gettext-tools/gnulib-lib/ostream.oo.c
+++ b/gettext-tools/gnulib-lib/ostream.oo.c
@@ -1,5 +1,5 @@
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/ostream.oo.h b/gettext-tools/gnulib-lib/ostream.oo.h
index 2a9a7f3..87199df 100644
--- a/gettext-tools/gnulib-lib/ostream.oo.h
+++ b/gettext-tools/gnulib-lib/ostream.oo.h
@@ -1,5 +1,5 @@
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/pathmax.h b/gettext-tools/gnulib-lib/pathmax.h
index 33fc355..2f3b64f 100644
--- a/gettext-tools/gnulib-lib/pathmax.h
+++ b/gettext-tools/gnulib-lib/pathmax.h
@@ -1,5 +1,5 @@
/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/pipe-filter-aux.c b/gettext-tools/gnulib-lib/pipe-filter-aux.c
index eb93d9a..4e9567f 100644
--- a/gettext-tools/gnulib-lib/pipe-filter-aux.c
+++ b/gettext-tools/gnulib-lib/pipe-filter-aux.c
@@ -1,5 +1,5 @@
/* Auxiliary code for filtering of data through a subprocess.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/pipe-filter-aux.h b/gettext-tools/gnulib-lib/pipe-filter-aux.h
index 8f2a707..132cc54 100644
--- a/gettext-tools/gnulib-lib/pipe-filter-aux.h
+++ b/gettext-tools/gnulib-lib/pipe-filter-aux.h
@@ -1,5 +1,5 @@
/* Auxiliary code for filtering of data through a subprocess.
- Copyright (C) 2001-2003, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/pipe-filter-ii.c b/gettext-tools/gnulib-lib/pipe-filter-ii.c
index db398d2..88b0d0d 100644
--- a/gettext-tools/gnulib-lib/pipe-filter-ii.c
+++ b/gettext-tools/gnulib-lib/pipe-filter-ii.c
@@ -1,5 +1,5 @@
/* Filtering of data through a subprocess.
- Copyright (C) 2001-2003, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/pipe-filter.h b/gettext-tools/gnulib-lib/pipe-filter.h
index 4c15677..ab60635 100644
--- a/gettext-tools/gnulib-lib/pipe-filter.h
+++ b/gettext-tools/gnulib-lib/pipe-filter.h
@@ -1,5 +1,5 @@
-/* Filtering of data through a subprocess.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Filtering of data through a subprocess. -*- coding: utf-8 -*-
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2009,
and Paolo Bonzini <bonzini@gnu.org>, 2009.
diff --git a/gettext-tools/gnulib-lib/pipe-safer.c b/gettext-tools/gnulib-lib/pipe-safer.c
index 70fb40f..91b0fe7 100644
--- a/gettext-tools/gnulib-lib/pipe-safer.c
+++ b/gettext-tools/gnulib-lib/pipe-safer.c
@@ -1,5 +1,5 @@
/* Invoke pipe, but avoid some glitches.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/pipe2-safer.c b/gettext-tools/gnulib-lib/pipe2-safer.c
index 66dcb75..1993ba9 100644
--- a/gettext-tools/gnulib-lib/pipe2-safer.c
+++ b/gettext-tools/gnulib-lib/pipe2-safer.c
@@ -1,5 +1,5 @@
/* Invoke pipe2, but avoid some glitches.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/pipe2.c b/gettext-tools/gnulib-lib/pipe2.c
index 61c42a0..89b982b 100644
--- a/gettext-tools/gnulib-lib/pipe2.c
+++ b/gettext-tools/gnulib-lib/pipe2.c
@@ -1,5 +1,5 @@
/* Create a pipe, with specific opening flags.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/printf-args.c b/gettext-tools/gnulib-lib/printf-args.c
index 39cd0a4..da17efb 100644
--- a/gettext-tools/gnulib-lib/printf-args.c
+++ b/gettext-tools/gnulib-lib/printf-args.c
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2014 Free Software
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/printf-args.h b/gettext-tools/gnulib-lib/printf-args.h
index 9364eed..387976c 100644
--- a/gettext-tools/gnulib-lib/printf-args.h
+++ b/gettext-tools/gnulib-lib/printf-args.h
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2014 Free Software
+ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/printf-parse.c b/gettext-tools/gnulib-lib/printf-parse.c
index 131d0f0..40d0a22 100644
--- a/gettext-tools/gnulib-lib/printf-parse.c
+++ b/gettext-tools/gnulib-lib/printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2003, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/printf-parse.h b/gettext-tools/gnulib-lib/printf-parse.h
index 2651195..fda6704 100644
--- a/gettext-tools/gnulib-lib/printf-parse.h
+++ b/gettext-tools/gnulib-lib/printf-parse.h
@@ -1,5 +1,5 @@
/* Parse printf format string.
- Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2014 Free Software
+ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/progname.c b/gettext-tools/gnulib-lib/progname.c
index 2919be9..fe93bca 100644
--- a/gettext-tools/gnulib-lib/progname.c
+++ b/gettext-tools/gnulib-lib/progname.c
@@ -1,5 +1,5 @@
/* Program name management.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/progname.h b/gettext-tools/gnulib-lib/progname.h
index f620027..15ca3a2 100644
--- a/gettext-tools/gnulib-lib/progname.h
+++ b/gettext-tools/gnulib-lib/progname.h
@@ -1,5 +1,5 @@
/* Program name management.
- Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/progreloc.c b/gettext-tools/gnulib-lib/progreloc.c
index 3d7b6a9..1d2b4b3 100644
--- a/gettext-tools/gnulib-lib/progreloc.c
+++ b/gettext-tools/gnulib-lib/progreloc.c
@@ -1,5 +1,5 @@
/* Provide relocatable programs.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
@@ -44,6 +44,11 @@
# include <windows.h>
#endif
+#ifdef __EMX__
+# define INCL_DOS
+# include <os2.h>
+#endif
+
#include "relocatable.h"
#ifdef NO_XMALLOC
@@ -157,6 +162,23 @@ find_executable (const char *argv0)
/* Shouldn't happen. */
return NULL;
return xstrdup (location);
+#elif defined __EMX__
+ PPIB ppib;
+ char location[CCHMAXPATH];
+
+ /* See http://cyberkinetica.homeunix.net/os2tk45/cp1/619_L2H_DosGetInfoBlocksSynt.html
+ for specification of DosGetInfoBlocks(). */
+ if (DosGetInfoBlocks (NULL, &ppib))
+ return NULL;
+
+ /* See http://cyberkinetica.homeunix.net/os2tk45/cp1/1247_L2H_DosQueryModuleNameSy.html
+ for specification of DosQueryModuleName(). */
+ if (DosQueryModuleName (ppib->pib_hmte, sizeof (location), location))
+ return NULL;
+
+ _fnslashify (location);
+
+ return xstrdup (location);
#else /* Unix */
# ifdef __linux__
/* The executable is accessible as /proc/<pid>/exe. In newer Linux
diff --git a/gettext-tools/gnulib-lib/propername.c b/gettext-tools/gnulib-lib/propername.c
index 54a6ada..293e7e3 100644
--- a/gettext-tools/gnulib-lib/propername.c
+++ b/gettext-tools/gnulib-lib/propername.c
@@ -1,5 +1,5 @@
/* Localization of proper names.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/propername.h b/gettext-tools/gnulib-lib/propername.h
index 7e3de0f..68e617e 100644
--- a/gettext-tools/gnulib-lib/propername.h
+++ b/gettext-tools/gnulib-lib/propername.h
@@ -1,5 +1,5 @@
-/* Localization of proper names.
- Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+/* Localization of proper names. -*- coding: utf-8 -*-
+ Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
@@ -26,12 +26,12 @@
have in common?
A non-ASCII name. This causes trouble in the --version output. The simple
- "solution", unfortunately mutilates the name.
+ "solution" unfortunately mutilates the name.
- $ du --version| grep Granlund
+ $ du --version | grep Granlund
Écrit par Torbjorn Granlund, David MacKenzie, Paul Eggert et Jim Meyering.
- $ ptx --version| grep Pinard
+ $ ptx --version | grep Pinard
Écrit par F. Pinard.
What is desirable, is to print the full name if the output character set
@@ -51,11 +51,11 @@
output will look like this:
<translated name> (<original name in English>)
- To use the 'propername' module is done in three simple steps:
+ To use the 'propername' module requires three simple steps:
1) Add it to the list of gnulib modules to import,
- 2) Change the arguments of version_etc, from
+ 2) Change the arguments of version_etc(),
from "Paul Eggert"
to proper_name ("Paul Eggert")
diff --git a/gettext-tools/gnulib-lib/qcopy-acl.c b/gettext-tools/gnulib-lib/qcopy-acl.c
index 4e53b63..9db9033 100644
--- a/gettext-tools/gnulib-lib/qcopy-acl.c
+++ b/gettext-tools/gnulib-lib/qcopy-acl.c
@@ -1,6 +1,6 @@
-/* copy-acl.c - copy access control list from one file to another file
+/* Copy access control list from one file to another. -*- coding: utf-8 -*-
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
@@ -39,545 +39,13 @@ int
qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
int dest_desc, mode_t mode)
{
-#if USE_ACL && HAVE_ACL_GET_FILE
- /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
- /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
-# if !HAVE_ACL_TYPE_EXTENDED
- /* Linux, FreeBSD, IRIX, Tru64 */
-
- acl_t acl;
- int ret;
-
- if (HAVE_ACL_GET_FD && source_desc != -1)
- acl = acl_get_fd (source_desc);
- else
- acl = acl_get_file (src_name, ACL_TYPE_ACCESS);
- if (acl == NULL)
- {
- if (! acl_errno_valid (errno))
- return qset_acl (dst_name, dest_desc, mode);
- else
- return -2;
- }
-
- if (HAVE_ACL_SET_FD && dest_desc != -1)
- ret = acl_set_fd (dest_desc, acl);
- else
- ret = acl_set_file (dst_name, ACL_TYPE_ACCESS, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
-
- if (! acl_errno_valid (errno) && !acl_access_nontrivial (acl))
- {
- acl_free (acl);
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- else
- {
- acl_free (acl);
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
- }
- else
- acl_free (acl);
-
- if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX)))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
-
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- return -1;
- }
-
- if (S_ISDIR (mode))
- {
- acl = acl_get_file (src_name, ACL_TYPE_DEFAULT);
- if (acl == NULL)
- return -2;
-
- if (acl_set_file (dst_name, ACL_TYPE_DEFAULT, acl))
- {
- int saved_errno = errno;
-
- acl_free (acl);
- errno = saved_errno;
- return -1;
- }
- else
- acl_free (acl);
- }
- return 0;
-
-# else /* HAVE_ACL_TYPE_EXTENDED */
- /* Mac OS X */
-
- /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT)
- always return NULL / EINVAL. You have to use
- acl_get_file (name, ACL_TYPE_EXTENDED)
- or acl_get_fd (open (name, ...))
- to retrieve an ACL.
- On the other hand,
- acl_set_file (name, ACL_TYPE_ACCESS, acl)
- and acl_set_file (name, ACL_TYPE_DEFAULT, acl)
- have the same effect as
- acl_set_file (name, ACL_TYPE_EXTENDED, acl):
- Each of these calls sets the file's ACL. */
-
- acl_t acl;
+ struct permission_context ctx;
int ret;
- if (HAVE_ACL_GET_FD && source_desc != -1)
- acl = acl_get_fd (source_desc);
- else
- acl = acl_get_file (src_name, ACL_TYPE_EXTENDED);
- if (acl == NULL)
- {
- if (!acl_errno_valid (errno))
- return qset_acl (dst_name, dest_desc, mode);
- else
- return -2;
- }
-
- if (HAVE_ACL_SET_FD && dest_desc != -1)
- ret = acl_set_fd (dest_desc, acl);
- else
- ret = acl_set_file (dst_name, ACL_TYPE_EXTENDED, acl);
+ ret = get_permissions (src_name, source_desc, mode, &ctx);
if (ret != 0)
- {
- int saved_errno = errno;
-
- if (!acl_errno_valid (saved_errno) && !acl_extended_nontrivial (acl))
- {
- acl_free (acl);
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- else
- {
- acl_free (acl);
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
- }
- else
- acl_free (acl);
-
- /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */
- return chmod_or_fchmod (dst_name, dest_desc, mode);
-
-# endif
-
-#elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-
- /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
- of Unixware. The acl() call returns the access and default ACL both
- at once. */
-# ifdef ACE_GETACL
- int ace_count;
- ace_t *ace_entries;
-# endif
- int count;
- aclent_t *entries;
- int did_chmod;
- int saved_errno;
- int ret;
-
-# ifdef ACE_GETACL
- /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
- file systems (whereas the other ones are used in UFS file systems).
- There is an API
- pathconf (name, _PC_ACL_ENABLED)
- fpathconf (desc, _PC_ACL_ENABLED)
- that allows to determine which of the two kinds of ACLs is supported
- for the given file. But some file systems may implement this call
- incorrectly, so better not use it.
- When fetching the source ACL, we simply fetch both ACL types.
- When setting the destination ACL, we try either ACL types, assuming
- that the kernel will translate the ACL from one form to the other.
- (See in <http://docs.sun.com/app/docs/doc/819-2241/6n4huc7ia?l=en&a=view>
- the description of ENOTSUP.) */
- for (;;)
- {
- ace_count = (source_desc != -1
- ? facl (source_desc, ACE_GETACLCNT, 0, NULL)
- : acl (src_name, ACE_GETACLCNT, 0, NULL));
-
- if (ace_count < 0)
- {
- if (errno == ENOSYS || errno == EINVAL)
- {
- ace_count = 0;
- ace_entries = NULL;
- break;
- }
- else
- return -2;
- }
-
- if (ace_count == 0)
- {
- ace_entries = NULL;
- break;
- }
-
- ace_entries = (ace_t *) malloc (ace_count * sizeof (ace_t));
- if (ace_entries == NULL)
- {
- errno = ENOMEM;
- return -2;
- }
-
- ret = (source_desc != -1
- ? facl (source_desc, ACE_GETACL, ace_count, ace_entries)
- : acl (src_name, ACE_GETACL, ace_count, ace_entries));
- if (ret < 0)
- {
- free (ace_entries);
- if (errno == ENOSYS || errno == EINVAL)
- {
- ace_count = 0;
- ace_entries = NULL;
- break;
- }
- else
- return -2;
- }
- if (ret == ace_count)
- break;
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- }
-# endif
-
- for (;;)
- {
- count = (source_desc != -1
- ? facl (source_desc, GETACLCNT, 0, NULL)
- : acl (src_name, GETACLCNT, 0, NULL));
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
- {
- count = 0;
- entries = NULL;
- break;
- }
- else
- return -2;
- }
-
- if (count == 0)
- {
- entries = NULL;
- break;
- }
-
- entries = (aclent_t *) malloc (count * sizeof (aclent_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -2;
- }
-
- if ((source_desc != -1
- ? facl (source_desc, GETACL, count, entries)
- : acl (src_name, GETACL, count, entries))
- == count)
- break;
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- }
-
- /* Is there an ACL of either kind? */
-# ifdef ACE_GETACL
- if (ace_count == 0)
-# endif
- if (count == 0)
- return qset_acl (dst_name, dest_desc, mode);
-
- did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */
- saved_errno = 0; /* the first non-ignorable error code */
-
- if (!MODE_INSIDE_ACL)
- {
- /* On Cygwin, it is necessary to call chmod before acl, because
- chmod can change the contents of the ACL (in ways that don't
- change the allowed accesses, but still visible). */
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- saved_errno = errno;
- did_chmod = 1;
- }
-
- /* If both ace_entries and entries are available, try SETACL before
- ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL
- can. */
-
- if (count > 0)
- {
- ret = (dest_desc != -1
- ? facl (dest_desc, SETACL, count, entries)
- : acl (dst_name, SETACL, count, entries));
- if (ret < 0 && saved_errno == 0)
- {
- saved_errno = errno;
- if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
- && !acl_nontrivial (count, entries))
- saved_errno = 0;
- }
- else
- did_chmod = 1;
- }
- free (entries);
-
-# ifdef ACE_GETACL
- if (ace_count > 0)
- {
- ret = (dest_desc != -1
- ? facl (dest_desc, ACE_SETACL, ace_count, ace_entries)
- : acl (dst_name, ACE_SETACL, ace_count, ace_entries));
- if (ret < 0 && saved_errno == 0)
- {
- saved_errno = errno;
- if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)
- && !acl_ace_nontrivial (ace_count, ace_entries))
- saved_errno = 0;
- }
- }
- free (ace_entries);
-# endif
-
- if (MODE_INSIDE_ACL
- && did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
-
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- {
- if (saved_errno == 0)
- saved_errno = errno;
- }
- }
-
- if (saved_errno)
- {
- errno = saved_errno;
- return -1;
- }
- return 0;
-
-#elif USE_ACL && HAVE_GETACL /* HP-UX */
-
- struct acl_entry entries[NACLENTRIES];
- int count;
-# if HAVE_ACLV_H
- struct acl aclv_entries[NACLVENTRIES];
- int aclv_count;
-# endif
- int did_chmod;
- int saved_errno;
- int ret;
-
- count = (source_desc != -1
- ? fgetacl (source_desc, NACLENTRIES, entries)
- : getacl (src_name, NACLENTRIES, entries));
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
- count = 0;
- else
- return -2;
- }
- else if (count > 0)
- {
- if (count > NACLENTRIES)
- /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */
- abort ();
- }
-
-# if HAVE_ACLV_H
- aclv_count = acl ((char *) src_name, ACL_GET, NACLVENTRIES, aclv_entries);
-
- if (aclv_count < 0)
- {
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
- count = 0;
- else
- return -2;
- }
- else if (aclv_count > 0)
- {
- if (aclv_count > NACLVENTRIES)
- /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation. */
- abort ();
- }
-# endif
-
- if (count == 0)
-# if HAVE_ACLV_H
- if (aclv_count == 0)
-# endif
- return qset_acl (dst_name, dest_desc, mode);
-
- did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */
- saved_errno = 0; /* the first non-ignorable error code */
-
- if (count > 0)
- {
- ret = (dest_desc != -1
- ? fsetacl (dest_desc, count, entries)
- : setacl (dst_name, count, entries));
- if (ret < 0 && saved_errno == 0)
- {
- saved_errno = errno;
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
- {
- struct stat source_statbuf;
-
- if ((source_desc != -1
- ? fstat (source_desc, &source_statbuf)
- : stat (src_name, &source_statbuf)) == 0)
- {
- if (!acl_nontrivial (count, entries, &source_statbuf))
- saved_errno = 0;
- }
- else
- saved_errno = errno;
- }
- }
- else
- did_chmod = 1;
- }
-
-# if HAVE_ACLV_H
- if (aclv_count > 0)
- {
- ret = acl ((char *) dst_name, ACL_SET, aclv_count, aclv_entries);
- if (ret < 0 && saved_errno == 0)
- {
- saved_errno = errno;
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
- {
- if (!aclv_nontrivial (aclv_count, aclv_entries))
- saved_errno = 0;
- }
- }
- else
- did_chmod = 1;
- }
-# endif
-
- if (did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0))
- {
- /* We did not call chmod so far, and special bits are to be set which
- don't fit into ACLs. */
-
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- {
- if (saved_errno == 0)
- saved_errno = errno;
- }
- }
-
- if (saved_errno)
- {
- errno = saved_errno;
- return -1;
- }
- return 0;
-
-#elif USE_ACL && HAVE_ACLX_GET && 0 /* AIX */
-
- /* TODO */
-
-#elif USE_ACL && HAVE_STATACL /* older AIX */
-
- union { struct acl a; char room[4096]; } u;
- int ret;
-
- if ((source_desc != -1
- ? fstatacl (source_desc, STX_NORMAL, &u.a, sizeof (u))
- : statacl (src_name, STX_NORMAL, &u.a, sizeof (u)))
- < 0)
return -2;
-
- ret = (dest_desc != -1
- ? fchacl (dest_desc, &u.a, u.a.acl_len)
- : chacl (dst_name, &u.a, u.a.acl_len));
- if (ret < 0)
- {
- int saved_errno = errno;
-
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
-
- /* No need to call chmod_or_fchmod at this point, since the mode bits
- S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL. */
-
- return 0;
-
-#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */
-
- struct acl entries[NACLENTRIES];
- int count;
- int ret;
-
- count = acl ((char *) src_name, ACL_GET, NACLENTRIES, entries);
-
- if (count < 0)
- {
- if (0)
- count = 0;
- else
- return -2;
- }
- else if (count > 0)
- {
- if (count > NACLENTRIES)
- /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */
- abort ();
- }
-
- if (count == 0)
- return qset_acl (dst_name, dest_desc, mode);
-
- ret = acl ((char *) dst_name, ACL_SET, count, entries);
- if (ret < 0)
- {
- int saved_errno = errno;
-
- if (0)
- {
- if (!acl_nontrivial (count, entries))
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
-
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
-
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- return 0;
-
-#else
-
- return qset_acl (dst_name, dest_desc, mode);
-
-#endif
+ ret = set_permissions (&ctx, dst_name, dest_desc);
+ free_permission_context (&ctx);
+ return ret;
}
diff --git a/gettext-tools/gnulib-lib/qset-acl.c b/gettext-tools/gnulib-lib/qset-acl.c
index 7d9af57..1ebec22 100644
--- a/gettext-tools/gnulib-lib/qset-acl.c
+++ b/gettext-tools/gnulib-lib/qset-acl.c
@@ -1,6 +1,6 @@
/* qset-acl.c - set access control list equivalent to a mode
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
@@ -21,26 +21,12 @@
#define ACL_INTERNAL_INLINE _GL_EXTERN_INLINE
+#include <string.h>
#include "acl.h"
#include "acl-internal.h"
-/* If DESC is a valid file descriptor use fchmod to change the
- file's mode to MODE on systems that have fchmod. On systems
- that don't have fchmod and if DESC is invalid, use chmod on
- NAME instead.
- Return 0 if successful. Return -1 and set errno upon failure. */
-
-int
-chmod_or_fchmod (const char *name, int desc, mode_t mode)
-{
- if (HAVE_FCHMOD && desc != -1)
- return fchmod (desc, mode);
- else
- return chmod (name, mode);
-}
-
/* Set the access control lists of a file. If DESC is a valid file
descriptor, use file descriptor operations where available, else use
filename based operations on NAME. If access control lists are not
@@ -52,625 +38,12 @@ chmod_or_fchmod (const char *name, int desc, mode_t mode)
int
qset_acl (char const *name, int desc, mode_t mode)
{
-#if USE_ACL
-# if HAVE_ACL_GET_FILE
- /* POSIX 1003.1e draft 17 (abandoned) specific version. */
- /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
-# if !HAVE_ACL_TYPE_EXTENDED
- /* Linux, FreeBSD, IRIX, Tru64 */
-
- /* We must also have acl_from_text and acl_delete_def_file.
- (acl_delete_def_file could be emulated with acl_init followed
- by acl_set_file, but acl_set_file with an empty acl is
- unspecified.) */
-
-# ifndef HAVE_ACL_FROM_TEXT
-# error Must have acl_from_text (see POSIX 1003.1e draft 17).
-# endif
-# ifndef HAVE_ACL_DELETE_DEF_FILE
-# error Must have acl_delete_def_file (see POSIX 1003.1e draft 17).
-# endif
-
- acl_t acl;
- int ret;
-
- if (HAVE_ACL_FROM_MODE) /* Linux */
- {
- acl = acl_from_mode (mode);
- if (!acl)
- return -1;
- }
- else /* FreeBSD, IRIX, Tru64 */
- {
- /* If we were to create the ACL using the functions acl_init(),
- acl_create_entry(), acl_set_tag_type(), acl_set_qualifier(),
- acl_get_permset(), acl_clear_perm[s](), acl_add_perm(), we
- would need to create a qualifier. I don't know how to do this.
- So create it using acl_from_text(). */
-
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
- char acl_text[] = "u::---,g::---,o::---,";
-# else /* FreeBSD, IRIX */
- char acl_text[] = "u::---,g::---,o::---";
-# endif
-
- if (mode & S_IRUSR) acl_text[ 3] = 'r';
- if (mode & S_IWUSR) acl_text[ 4] = 'w';
- if (mode & S_IXUSR) acl_text[ 5] = 'x';
- if (mode & S_IRGRP) acl_text[10] = 'r';
- if (mode & S_IWGRP) acl_text[11] = 'w';
- if (mode & S_IXGRP) acl_text[12] = 'x';
- if (mode & S_IROTH) acl_text[17] = 'r';
- if (mode & S_IWOTH) acl_text[18] = 'w';
- if (mode & S_IXOTH) acl_text[19] = 'x';
-
- acl = acl_from_text (acl_text);
- if (!acl)
- return -1;
- }
- if (HAVE_ACL_SET_FD && desc != -1)
- ret = acl_set_fd (desc, acl);
- else
- ret = acl_set_file (name, ACL_TYPE_ACCESS, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
- acl_free (acl);
- if (! acl_errno_valid (errno))
- return chmod_or_fchmod (name, desc, mode);
- errno = saved_errno;
- return -1;
- }
- else
- acl_free (acl);
-
- if (S_ISDIR (mode) && acl_delete_def_file (name))
- return -1;
-
- if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX)))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# else /* HAVE_ACL_TYPE_EXTENDED */
- /* Mac OS X */
-
- /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT)
- always return NULL / EINVAL. You have to use
- acl_get_file (name, ACL_TYPE_EXTENDED)
- or acl_get_fd (open (name, ...))
- to retrieve an ACL.
- On the other hand,
- acl_set_file (name, ACL_TYPE_ACCESS, acl)
- and acl_set_file (name, ACL_TYPE_DEFAULT, acl)
- have the same effect as
- acl_set_file (name, ACL_TYPE_EXTENDED, acl):
- Each of these calls sets the file's ACL. */
-
- acl_t acl;
+ struct permission_context ctx;
int ret;
- /* Remove the ACL if the file has ACLs. */
- if (HAVE_ACL_GET_FD && desc != -1)
- acl = acl_get_fd (desc);
- else
- acl = acl_get_file (name, ACL_TYPE_EXTENDED);
- if (acl)
- {
- acl_free (acl);
-
- acl = acl_init (0);
- if (acl)
- {
- if (HAVE_ACL_SET_FD && desc != -1)
- ret = acl_set_fd (desc, acl);
- else
- ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
- acl_free (acl);
- if (! acl_errno_valid (saved_errno))
- return chmod_or_fchmod (name, desc, mode);
- errno = saved_errno;
- return -1;
- }
- acl_free (acl);
- }
- }
-
- /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */
- return chmod_or_fchmod (name, desc, mode);
-# endif
-
-# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-
- int done_setacl = 0;
-
-# ifdef ACE_GETACL
- /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
- file systems (whereas the other ones are used in UFS file systems). */
-
- /* The flags in the ace_t structure changed in a binary incompatible way
- when ACL_NO_TRIVIAL etc. were introduced in <sys/acl.h> version 1.15.
- How to distinguish the two conventions at runtime?
- We fetch the existing ACL. In the old convention, usually three ACEs have
- a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400.
- In the new convention, these values are not used. */
- int convention;
-
- {
- /* Initially, try to read the entries into a stack-allocated buffer.
- Use malloc if it does not fit. */
- enum
- {
- alloc_init = 4000 / sizeof (ace_t), /* >= 3 */
- alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t))
- };
- ace_t buf[alloc_init];
- size_t alloc = alloc_init;
- ace_t *entries = buf;
- ace_t *malloced = NULL;
- int count;
-
- for (;;)
- {
- count = (desc != -1
- ? facl (desc, ACE_GETACL, alloc, entries)
- : acl (name, ACE_GETACL, alloc, entries));
- if (count < 0 && errno == ENOSPC)
- {
- /* Increase the size of the buffer. */
- free (malloced);
- if (alloc > alloc_max / 2)
- {
- errno = ENOMEM;
- return -1;
- }
- alloc = 2 * alloc; /* <= alloc_max */
- entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- continue;
- }
- break;
- }
-
- if (count <= 0)
- convention = -1;
- else
- {
- int i;
-
- convention = 0;
- for (i = 0; i < count; i++)
- if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER))
- {
- convention = 1;
- break;
- }
- }
- free (malloced);
- }
-
- if (convention >= 0)
- {
- ace_t entries[6];
- int count;
- int ret;
-
- if (convention)
- {
- /* Running on Solaris 10. */
- entries[0].a_type = OLD_ALLOW;
- entries[0].a_flags = OLD_ACE_OWNER;
- entries[0].a_who = 0; /* irrelevant */
- entries[0].a_access_mask = (mode >> 6) & 7;
- entries[1].a_type = OLD_ALLOW;
- entries[1].a_flags = OLD_ACE_GROUP;
- entries[1].a_who = 0; /* irrelevant */
- entries[1].a_access_mask = (mode >> 3) & 7;
- entries[2].a_type = OLD_ALLOW;
- entries[2].a_flags = OLD_ACE_OTHER;
- entries[2].a_who = 0;
- entries[2].a_access_mask = mode & 7;
- count = 3;
- }
- else
- {
- /* Running on Solaris 10 (newer version) or Solaris 11.
- The details here were found through "/bin/ls -lvd somefiles". */
- entries[0].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE;
- entries[0].a_flags = NEW_ACE_OWNER;
- entries[0].a_who = 0; /* irrelevant */
- entries[0].a_access_mask = 0;
- entries[1].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE;
- entries[1].a_flags = NEW_ACE_OWNER;
- entries[1].a_who = 0; /* irrelevant */
- entries[1].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS
- | NEW_ACE_WRITE_ATTRIBUTES
- | NEW_ACE_WRITE_ACL
- | NEW_ACE_WRITE_OWNER;
- if (mode & 0400)
- entries[1].a_access_mask |= NEW_ACE_READ_DATA;
- else
- entries[0].a_access_mask |= NEW_ACE_READ_DATA;
- if (mode & 0200)
- entries[1].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
- else
- entries[0].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
- if (mode & 0100)
- entries[1].a_access_mask |= NEW_ACE_EXECUTE;
- else
- entries[0].a_access_mask |= NEW_ACE_EXECUTE;
- entries[2].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE;
- entries[2].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP;
- entries[2].a_who = 0; /* irrelevant */
- entries[2].a_access_mask = 0;
- entries[3].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE;
- entries[3].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP;
- entries[3].a_who = 0; /* irrelevant */
- entries[3].a_access_mask = 0;
- if (mode & 0040)
- entries[3].a_access_mask |= NEW_ACE_READ_DATA;
- else
- entries[2].a_access_mask |= NEW_ACE_READ_DATA;
- if (mode & 0020)
- entries[3].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
- else
- entries[2].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
- if (mode & 0010)
- entries[3].a_access_mask |= NEW_ACE_EXECUTE;
- else
- entries[2].a_access_mask |= NEW_ACE_EXECUTE;
- entries[4].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE;
- entries[4].a_flags = NEW_ACE_EVERYONE;
- entries[4].a_who = 0;
- entries[4].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS
- | NEW_ACE_WRITE_ATTRIBUTES
- | NEW_ACE_WRITE_ACL
- | NEW_ACE_WRITE_OWNER;
- entries[5].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE;
- entries[5].a_flags = NEW_ACE_EVERYONE;
- entries[5].a_who = 0;
- entries[5].a_access_mask = NEW_ACE_READ_NAMED_ATTRS
- | NEW_ACE_READ_ATTRIBUTES
- | NEW_ACE_READ_ACL
- | NEW_ACE_SYNCHRONIZE;
- if (mode & 0004)
- entries[5].a_access_mask |= NEW_ACE_READ_DATA;
- else
- entries[4].a_access_mask |= NEW_ACE_READ_DATA;
- if (mode & 0002)
- entries[5].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
- else
- entries[4].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
- if (mode & 0001)
- entries[5].a_access_mask |= NEW_ACE_EXECUTE;
- else
- entries[4].a_access_mask |= NEW_ACE_EXECUTE;
- count = 6;
- }
- if (desc != -1)
- ret = facl (desc, ACE_SETACL, count, entries);
- else
- ret = acl (name, ACE_SETACL, count, entries);
- if (ret < 0 && errno != EINVAL && errno != ENOTSUP)
- {
- if (errno == ENOSYS)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
- if (ret == 0)
- done_setacl = 1;
- }
-# endif
-
- if (!done_setacl)
- {
- aclent_t entries[3];
- int ret;
-
- entries[0].a_type = USER_OBJ;
- entries[0].a_id = 0; /* irrelevant */
- entries[0].a_perm = (mode >> 6) & 7;
- entries[1].a_type = GROUP_OBJ;
- entries[1].a_id = 0; /* irrelevant */
- entries[1].a_perm = (mode >> 3) & 7;
- entries[2].a_type = OTHER_OBJ;
- entries[2].a_id = 0;
- entries[2].a_perm = mode & 7;
-
- if (desc != -1)
- ret = facl (desc, SETACL,
- sizeof (entries) / sizeof (aclent_t), entries);
- else
- ret = acl (name, SETACL,
- sizeof (entries) / sizeof (aclent_t), entries);
- if (ret < 0)
- {
- if (errno == ENOSYS || errno == EOPNOTSUPP)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
- }
-
- if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX)))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# elif HAVE_GETACL /* HP-UX */
-
- struct stat statbuf;
- int ret;
-
- if (desc != -1)
- ret = fstat (desc, &statbuf);
- else
- ret = stat (name, &statbuf);
- if (ret < 0)
- return -1;
-
- {
- struct acl_entry entries[3];
-
- entries[0].uid = statbuf.st_uid;
- entries[0].gid = ACL_NSGROUP;
- entries[0].mode = (mode >> 6) & 7;
- entries[1].uid = ACL_NSUSER;
- entries[1].gid = statbuf.st_gid;
- entries[1].mode = (mode >> 3) & 7;
- entries[2].uid = ACL_NSUSER;
- entries[2].gid = ACL_NSGROUP;
- entries[2].mode = mode & 7;
-
- if (desc != -1)
- ret = fsetacl (desc, sizeof (entries) / sizeof (struct acl_entry), entries);
- else
- ret = setacl (name, sizeof (entries) / sizeof (struct acl_entry), entries);
- }
- if (ret < 0)
- {
- if (!(errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP))
- return -1;
-
-# if HAVE_ACLV_H /* HP-UX >= 11.11 */
- {
- struct acl entries[4];
-
- entries[0].a_type = USER_OBJ;
- entries[0].a_id = 0; /* irrelevant */
- entries[0].a_perm = (mode >> 6) & 7;
- entries[1].a_type = GROUP_OBJ;
- entries[1].a_id = 0; /* irrelevant */
- entries[1].a_perm = (mode >> 3) & 7;
- entries[2].a_type = CLASS_OBJ;
- entries[2].a_id = 0;
- entries[2].a_perm = (mode >> 3) & 7;
- entries[3].a_type = OTHER_OBJ;
- entries[3].a_id = 0;
- entries[3].a_perm = mode & 7;
-
- ret = aclsort (sizeof (entries) / sizeof (struct acl), 1, entries);
- if (ret > 0)
- abort ();
- if (ret < 0)
- {
- if (0)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
-
- ret = acl ((char *) name, ACL_SET,
- sizeof (entries) / sizeof (struct acl), entries);
- if (ret < 0)
- {
- if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
- }
-# else
- return chmod_or_fchmod (name, desc, mode);
-# endif
- }
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */
-
- acl_type_list_t types;
- size_t types_size = sizeof (types);
- acl_type_t type;
-
- if (aclx_gettypes (name, &types, &types_size) < 0
- || types.num_entries == 0)
- return chmod_or_fchmod (name, desc, mode);
-
- /* XXX Do we need to clear all types of ACLs for the given file, or is it
- sufficient to clear the first one? */
- type = types.entries[0];
- if (type.u64 == ACL_AIXC)
- {
- union { struct acl a; char room[128]; } u;
- int ret;
-
- u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */
- u.a.acl_mode = mode & ~(S_IXACL | 0777);
- u.a.u_access = (mode >> 6) & 7;
- u.a.g_access = (mode >> 3) & 7;
- u.a.o_access = mode & 7;
-
- if (desc != -1)
- ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS,
- type, &u.a, u.a.acl_len, mode);
- else
- ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS,
- type, &u.a, u.a.acl_len, mode);
- if (!(ret < 0 && errno == ENOSYS))
- return ret;
- }
- else if (type.u64 == ACL_NFS4)
- {
- union { nfs4_acl_int_t a; char room[128]; } u;
- nfs4_ace_int_t *ace;
- int ret;
-
- u.a.aclVersion = NFS4_ACL_INT_STRUCT_VERSION;
- u.a.aclEntryN = 0;
- ace = &u.a.aclEntry[0];
- {
- ace->flags = ACE4_ID_SPECIAL;
- ace->aceWho.special_whoid = ACE4_WHO_OWNER;
- ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE;
- ace->aceFlags = 0;
- ace->aceMask =
- (mode & 0400 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0)
- | (mode & 0200
- ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA
- | ACE4_ADD_SUBDIRECTORY
- : 0)
- | (mode & 0100 ? ACE4_EXECUTE : 0);
- ace->aceWhoString[0] = '\0';
- ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace;
- ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4];
- u.a.aclEntryN++;
- }
- {
- ace->flags = ACE4_ID_SPECIAL;
- ace->aceWho.special_whoid = ACE4_WHO_GROUP;
- ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE;
- ace->aceFlags = 0;
- ace->aceMask =
- (mode & 0040 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0)
- | (mode & 0020
- ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA
- | ACE4_ADD_SUBDIRECTORY
- : 0)
- | (mode & 0010 ? ACE4_EXECUTE : 0);
- ace->aceWhoString[0] = '\0';
- ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace;
- ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4];
- u.a.aclEntryN++;
- }
- {
- ace->flags = ACE4_ID_SPECIAL;
- ace->aceWho.special_whoid = ACE4_WHO_EVERYONE;
- ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE;
- ace->aceFlags = 0;
- ace->aceMask =
- (mode & 0004 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0)
- | (mode & 0002
- ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA
- | ACE4_ADD_SUBDIRECTORY
- : 0)
- | (mode & 0001 ? ACE4_EXECUTE : 0);
- ace->aceWhoString[0] = '\0';
- ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace;
- ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4];
- u.a.aclEntryN++;
- }
- u.a.aclLength = (char *) ace - (char *) &u.a;
-
- if (desc != -1)
- ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS,
- type, &u.a, u.a.aclLength, mode);
- else
- ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS,
- type, &u.a, u.a.aclLength, mode);
- if (!(ret < 0 && errno == ENOSYS))
- return ret;
- }
-
- return chmod_or_fchmod (name, desc, mode);
-
-# elif HAVE_STATACL /* older AIX */
-
- union { struct acl a; char room[128]; } u;
- int ret;
-
- u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */
- u.a.acl_mode = mode & ~(S_IXACL | 0777);
- u.a.u_access = (mode >> 6) & 7;
- u.a.g_access = (mode >> 3) & 7;
- u.a.o_access = mode & 7;
-
- if (desc != -1)
- ret = fchacl (desc, &u.a, u.a.acl_len);
- else
- ret = chacl (name, &u.a, u.a.acl_len);
-
- if (ret < 0 && errno == ENOSYS)
- return chmod_or_fchmod (name, desc, mode);
-
+ memset (&ctx, 0, sizeof ctx);
+ ctx.mode = mode;
+ ret = set_permissions (&ctx, name, desc);
+ free_permission_context (&ctx);
return ret;
-
-# elif HAVE_ACLSORT /* NonStop Kernel */
-
- struct acl entries[4];
- int ret;
-
- entries[0].a_type = USER_OBJ;
- entries[0].a_id = 0; /* irrelevant */
- entries[0].a_perm = (mode >> 6) & 7;
- entries[1].a_type = GROUP_OBJ;
- entries[1].a_id = 0; /* irrelevant */
- entries[1].a_perm = (mode >> 3) & 7;
- entries[2].a_type = CLASS_OBJ;
- entries[2].a_id = 0;
- entries[2].a_perm = (mode >> 3) & 7;
- entries[3].a_type = OTHER_OBJ;
- entries[3].a_id = 0;
- entries[3].a_perm = mode & 7;
-
- ret = aclsort (sizeof (entries) / sizeof (struct acl), 1, entries);
- if (ret > 0)
- abort ();
- if (ret < 0)
- {
- if (0)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
-
- ret = acl ((char *) name, ACL_SET,
- sizeof (entries) / sizeof (struct acl), entries);
- if (ret < 0)
- {
- if (0)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# else /* Unknown flavor of ACLs */
- return chmod_or_fchmod (name, desc, mode);
-# endif
-#else /* !USE_ACL */
- return chmod_or_fchmod (name, desc, mode);
-#endif
}
diff --git a/gettext-tools/gnulib-lib/quote.h b/gettext-tools/gnulib-lib/quote.h
index fb338a7..28c05fd 100644
--- a/gettext-tools/gnulib-lib/quote.h
+++ b/gettext-tools/gnulib-lib/quote.h
@@ -1,6 +1,6 @@
/* quote.h - prototypes for quote.c
- Copyright (C) 1998-2001, 2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2001, 2003, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/quotearg.c b/gettext-tools/gnulib-lib/quotearg.c
index bef7b98..a0a0e25 100644
--- a/gettext-tools/gnulib-lib/quotearg.c
+++ b/gettext-tools/gnulib-lib/quotearg.c
@@ -1,6 +1,6 @@
/* quotearg.c - quote arguments for output
- Copyright (C) 1998-2002, 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2002, 2004-2015 Free Software Foundation, Inc.
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
@@ -77,6 +77,8 @@ char const *const quoting_style_args[] =
"literal",
"shell",
"shell-always",
+ "shell-escape",
+ "shell-escape-always",
"c",
"c-maybe",
"escape",
@@ -91,6 +93,8 @@ enum quoting_style const quoting_style_vals[] =
literal_quoting_style,
shell_quoting_style,
shell_always_quoting_style,
+ shell_escape_quoting_style,
+ shell_escape_always_quoting_style,
c_quoting_style,
c_maybe_quoting_style,
escape_quoting_style,
@@ -116,7 +120,7 @@ clone_quoting_options (struct quoting_options *o)
/* Get the value of O's quoting style. If O is null, use the default. */
enum quoting_style
-get_quoting_style (struct quoting_options *o)
+get_quoting_style (struct quoting_options const *o)
{
return (o ? o : &default_quoting_options)->style;
}
@@ -253,6 +257,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
bool backslash_escapes = false;
bool unibyte_locale = MB_CUR_MAX == 1;
bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0;
+ bool pending_shell_escape_end = false;
#define STORE(c) \
do \
@@ -263,6 +268,36 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
} \
while (0)
+#define START_ESC() \
+ do \
+ { \
+ if (elide_outer_quotes) \
+ goto force_outer_quoting_style; \
+ escaping = true; \
+ if (quoting_style == shell_always_quoting_style \
+ && ! pending_shell_escape_end) \
+ { \
+ STORE ('\''); \
+ STORE ('$'); \
+ STORE ('\''); \
+ pending_shell_escape_end = true; \
+ } \
+ STORE ('\\'); \
+ } \
+ while (0)
+
+#define END_ESC() \
+ do \
+ { \
+ if (pending_shell_escape_end && ! escaping) \
+ { \
+ STORE ('\''); \
+ STORE ('\''); \
+ pending_shell_escape_end = false; \
+ } \
+ } \
+ while (0)
+
switch (quoting_style)
{
case c_maybe_quoting_style:
@@ -321,11 +356,18 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
}
break;
+ case shell_escape_quoting_style:
+ backslash_escapes = true;
+ /* Fall through. */
case shell_quoting_style:
- quoting_style = shell_always_quoting_style;
elide_outer_quotes = true;
/* Fall through. */
+ case shell_escape_always_quoting_style:
+ if (!elide_outer_quotes)
+ backslash_escapes = true;
+ /* Fall through. */
case shell_always_quoting_style:
+ quoting_style = shell_always_quoting_style;
if (!elide_outer_quotes)
STORE ('\'');
quote_string = "'";
@@ -345,8 +387,10 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
unsigned char c;
unsigned char esc;
bool is_right_quote = false;
+ bool escaping = false;
if (backslash_escapes
+ && quoting_style != shell_always_quoting_style
&& quote_string_len
&& (i + quote_string_len
<= (argsize == SIZE_MAX && 1 < quote_string_len
@@ -367,15 +411,15 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
case '\0':
if (backslash_escapes)
{
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
+ START_ESC ();
/* If quote_string were to begin with digits, we'd need to
test for the end of the arg as well. However, it's
hard to imagine any locale that would use digits in
quotes, and set_custom_quoting is documented not to
- accept them. */
- if (i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9')
+ accept them. Use only a single \0 with shell-escape
+ as currently digits are not printed within $'...' */
+ if (quoting_style != shell_always_quoting_style
+ && i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9')
{
STORE ('0');
STORE ('0');
@@ -436,6 +480,14 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
case '\t': esc = 't'; goto c_and_shell_escape;
case '\v': esc = 'v'; goto c_escape;
case '\\': esc = c;
+ /* Never need to escape '\' in shell case. */
+ if (quoting_style == shell_always_quoting_style)
+ {
+ if (elide_outer_quotes)
+ goto force_outer_quoting_style;
+ goto store_c;
+ }
+
/* No need to escape the escape if we are trying to elide
outer quotes and nothing else is problematic. */
if (backslash_escapes && elide_outer_quotes && quote_string_len)
@@ -488,6 +540,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
STORE ('\'');
STORE ('\\');
STORE ('\'');
+ pending_shell_escape_end = false;
}
break;
@@ -601,9 +654,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
{
if (backslash_escapes && ! printable)
{
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
+ START_ESC ();
STORE ('0' + (c >> 6));
STORE ('0' + ((c >> 3) & 7));
c = '0' + (c & 7);
@@ -615,6 +666,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
}
if (ilim <= i + 1)
break;
+ END_ESC ();
STORE (c);
c = arg[++i];
}
@@ -624,18 +676,18 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
}
}
- if (! ((backslash_escapes || elide_outer_quotes)
+ if (! (((backslash_escapes && quoting_style != shell_always_quoting_style)
+ || elide_outer_quotes)
&& quote_these_too
&& quote_these_too[c / INT_BITS] >> (c % INT_BITS) & 1)
&& !is_right_quote)
goto store_c;
store_escape:
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
+ START_ESC ();
store_c:
+ END_ESC ();
STORE (c);
}
@@ -654,6 +706,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
force_outer_quoting_style:
/* Don't reuse quote_these_too, since the addition of outer quotes
sufficiently quotes the specified characters. */
+ if (quoting_style == shell_always_quoting_style && backslash_escapes)
+ quoting_style = shell_escape_always_quoting_style;
return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
quoting_style,
flags & ~QA_ELIDE_OUTER_QUOTES, NULL,
@@ -901,6 +955,15 @@ quotearg_colon_mem (char const *arg, size_t argsize)
}
char *
+quotearg_n_style_colon (int n, enum quoting_style s, char const *arg)
+{
+ struct quoting_options options;
+ options = quoting_options_from_style (s);
+ set_char_quoting (&options, ':', 1);
+ return quotearg_n_options (n, arg, SIZE_MAX, &options);
+}
+
+char *
quotearg_n_custom (int n, char const *left_quote,
char const *right_quote, char const *arg)
{
diff --git a/gettext-tools/gnulib-lib/quotearg.h b/gettext-tools/gnulib-lib/quotearg.h
index da29d7b..b9eb31d 100644
--- a/gettext-tools/gnulib-lib/quotearg.h
+++ b/gettext-tools/gnulib-lib/quotearg.h
@@ -1,6 +1,6 @@
/* quotearg.h - quote arguments for output
- Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
+ Copyright (C) 1998-2002, 2004, 2006, 2008-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -73,6 +73,37 @@ enum quoting_style
*/
shell_always_quoting_style,
+ /* Quote names for the shell if they contain shell metacharacters
+ or other problematic characters (ls --quoting-style=shell-escape).
+ Non printable characters are quoted using the $'...' syntax,
+ which originated in ksh93 and is widely supported by most shells,
+ and proposed for inclusion in POSIX.
+
+ quotearg_buffer:
+ "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\\'", "a:b"
+ quotearg:
+ "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\\'", "a:b"
+ quotearg_colon:
+ "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\\'", "'a:b'"
+ */
+ shell_escape_quoting_style,
+
+ /* Quote names for the shell even if they would normally not
+ require quoting (ls --quoting-style=shell-escape).
+ Non printable characters are quoted using the $'...' syntax,
+ which originated in ksh93 and is widely supported by most shells,
+ and proposed for inclusion in POSIX. Behaves like
+ shell_escape_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect.
+
+ quotearg_buffer:
+ "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\'", "a:b"
+ quotearg:
+ "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\'", "a:b"
+ quotearg_colon:
+ "simple", "''$'\\0'' '$'\\t\\n'\\''\"'$'\\033''??/\'", "'a:b'"
+ */
+ shell_escape_always_quoting_style,
+
/* Quote names as for a C language string (ls --quoting-style=c).
Behaves like c_maybe_quoting_style if QA_ELIDE_OUTER_QUOTES is
in effect. Split into consecutive strings if
@@ -247,7 +278,7 @@ struct quoting_options;
struct quoting_options *clone_quoting_options (struct quoting_options *o);
/* Get the value of O's quoting style. If O is null, use the default. */
-enum quoting_style get_quoting_style (struct quoting_options *o);
+enum quoting_style get_quoting_style (struct quoting_options const *o);
/* In O (or in the default if O is null),
set the value of the quoting style to S. */
@@ -362,6 +393,9 @@ char *quotearg_colon (char const *arg);
/* Like quotearg_colon (ARG), except it can quote null bytes. */
char *quotearg_colon_mem (char const *arg, size_t argsize);
+/* Like quotearg_n_style, except with ':' quoting enabled. */
+char *quotearg_n_style_colon (int n, enum quoting_style s, char const *arg);
+
/* Like quotearg_n_style (N, S, ARG) but with S as custom_quoting_style
with left quote as LEFT_QUOTE and right quote as RIGHT_QUOTE. See
set_custom_quoting for a description of acceptable LEFT_QUOTE and
diff --git a/gettext-tools/gnulib-lib/raise.c b/gettext-tools/gnulib-lib/raise.c
index cf58a7e..d6ba2a1 100644
--- a/gettext-tools/gnulib-lib/raise.c
+++ b/gettext-tools/gnulib-lib/raise.c
@@ -1,6 +1,6 @@
/* Provide a non-threads replacement for the POSIX raise function.
- Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/rawmemchr.c b/gettext-tools/gnulib-lib/rawmemchr.c
index 63bdb5c..a6380ba 100644
--- a/gettext-tools/gnulib-lib/rawmemchr.c
+++ b/gettext-tools/gnulib-lib/rawmemchr.c
@@ -1,5 +1,5 @@
/* Searching in a string.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/read.c b/gettext-tools/gnulib-lib/read.c
index d125b51..3d8eefa 100644
--- a/gettext-tools/gnulib-lib/read.c
+++ b/gettext-tools/gnulib-lib/read.c
@@ -1,5 +1,5 @@
/* POSIX compatible read() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/readdir.c b/gettext-tools/gnulib-lib/readdir.c
index b74aebe..8646aac 100644
--- a/gettext-tools/gnulib-lib/readdir.c
+++ b/gettext-tools/gnulib-lib/readdir.c
@@ -1,5 +1,5 @@
/* Read the next entry of a directory.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/readlink.c b/gettext-tools/gnulib-lib/readlink.c
index 4c49639..965c3e2 100644
--- a/gettext-tools/gnulib-lib/readlink.c
+++ b/gettext-tools/gnulib-lib/readlink.c
@@ -1,5 +1,5 @@
/* Stub for readlink().
- Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/realloc.c b/gettext-tools/gnulib-lib/realloc.c
index 8dfcfbe..068b081 100644
--- a/gettext-tools/gnulib-lib/realloc.c
+++ b/gettext-tools/gnulib-lib/realloc.c
@@ -1,6 +1,6 @@
/* realloc() function that is glibc compatible.
- Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
+ Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/ref-add.sin b/gettext-tools/gnulib-lib/ref-add.sin
index 0e14022..6cbe5b5 100644
--- a/gettext-tools/gnulib-lib/ref-add.sin
+++ b/gettext-tools/gnulib-lib/ref-add.sin
@@ -1,6 +1,6 @@
# Add this package to a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/gnulib-lib/ref-del.sin b/gettext-tools/gnulib-lib/ref-del.sin
index 2dbcf7b..f50cf0a 100644
--- a/gettext-tools/gnulib-lib/ref-del.sin
+++ b/gettext-tools/gnulib-lib/ref-del.sin
@@ -1,6 +1,6 @@
# Remove this package from a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/gnulib-lib/relocatable.c b/gettext-tools/gnulib-lib/relocatable.c
index 0e20897..bed882d 100644
--- a/gettext-tools/gnulib-lib/relocatable.c
+++ b/gettext-tools/gnulib-lib/relocatable.c
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
@@ -47,6 +47,14 @@
# include <windows.h>
#endif
+#ifdef __EMX__
+# define INCL_DOS
+# include <os2.h>
+
+# define strcmp stricmp
+# define strncmp strnicmp
+#endif
+
#if DEPENDS_ON_LIBCHARSET
# include <libcharset.h>
#endif
@@ -335,6 +343,45 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
return TRUE;
}
+#elif defined __EMX__
+
+extern int _CRT_init (void);
+extern void _CRT_term (void);
+extern void __ctordtorInit (void);
+extern void __ctordtorTerm (void);
+
+unsigned long _System
+_DLL_InitTerm (unsigned long hModule, unsigned long ulFlag)
+{
+ static char location[CCHMAXPATH];
+
+ switch (ulFlag)
+ {
+ case 0:
+ if (_CRT_init () == -1)
+ return 0;
+
+ __ctordtorInit();
+
+ /* See http://cyberkinetica.homeunix.net/os2tk45/cp1/1247_L2H_DosQueryModuleNameSy.html
+ for specification of DosQueryModuleName(). */
+ if (DosQueryModuleName (hModule, sizeof (location), location))
+ return 0;
+
+ _fnslashify (location);
+ shared_library_fullname = strdup (location);
+ break;
+
+ case 1:
+ __ctordtorTerm();
+
+ _CRT_term ();
+ break;
+ }
+
+ return 1;
+}
+
#else /* Unix */
static void
@@ -390,15 +437,16 @@ find_shared_library_fullname ()
#endif
}
-#endif /* Native Windows / Unix */
+#endif /* Native Windows / EMX / Unix */
/* Return the full pathname of the current shared library.
Return NULL if unknown.
- Guaranteed to work only on Linux, Cygwin, and native Windows. */
+ Guaranteed to work only on Linux, EMX, Cygwin, and native Windows. */
static char *
get_shared_library_fullname ()
{
-#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__)
+#if (!((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) \
+ && !defined __EMX__)
static bool tried_find_shared_library_fullname;
if (!tried_find_shared_library_fullname)
{
@@ -489,6 +537,27 @@ relocate (const char *pathname)
}
}
}
+
+#ifdef __EMX__
+ if (pathname && ISSLASH (pathname[0]))
+ {
+ const char *unixroot = getenv ("UNIXROOT");
+
+ if (unixroot && HAS_DEVICE (unixroot) && !unixroot[2])
+ {
+ char *result = (char *) xmalloc (2 + strlen (pathname) + 1);
+#ifdef NO_XMALLOC
+ if (result != NULL)
+#endif
+ {
+ strcpy (result, unixroot);
+ strcpy (result + 2, pathname);
+ return result;
+ }
+ }
+ }
+#endif
+
/* Nothing to relocate. */
return pathname;
}
diff --git a/gettext-tools/gnulib-lib/relocatable.h b/gettext-tools/gnulib-lib/relocatable.h
index 2b0fab7..c8911b2 100644
--- a/gettext-tools/gnulib-lib/relocatable.h
+++ b/gettext-tools/gnulib-lib/relocatable.h
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003, 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/relocwrapper.c b/gettext-tools/gnulib-lib/relocwrapper.c
index 4f330de..f85cf9a 100644
--- a/gettext-tools/gnulib-lib/relocwrapper.c
+++ b/gettext-tools/gnulib-lib/relocwrapper.c
@@ -1,5 +1,5 @@
/* Relocating wrapper program.
- Copyright (C) 2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/rmdir.c b/gettext-tools/gnulib-lib/rmdir.c
index ec7a586..ae21d54 100644
--- a/gettext-tools/gnulib-lib/rmdir.c
+++ b/gettext-tools/gnulib-lib/rmdir.c
@@ -1,6 +1,6 @@
/* Work around rmdir bugs.
- Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2014 Free Software
+ Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/safe-read.c b/gettext-tools/gnulib-lib/safe-read.c
index c9b8828..dbb6338 100644
--- a/gettext-tools/gnulib-lib/safe-read.c
+++ b/gettext-tools/gnulib-lib/safe-read.c
@@ -1,6 +1,6 @@
/* An interface to read and write that retries after interrupts.
- Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2014 Free Software
+ Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/safe-read.h b/gettext-tools/gnulib-lib/safe-read.h
index aba8bdb..b5d408a 100644
--- a/gettext-tools/gnulib-lib/safe-read.h
+++ b/gettext-tools/gnulib-lib/safe-read.h
@@ -1,5 +1,5 @@
/* An interface to read() that retries after interrupts.
- Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/safe-write.c b/gettext-tools/gnulib-lib/safe-write.c
index bf72dd4..4c178f5 100644
--- a/gettext-tools/gnulib-lib/safe-write.c
+++ b/gettext-tools/gnulib-lib/safe-write.c
@@ -1,5 +1,5 @@
/* An interface to write that retries after interrupts.
- Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/safe-write.h b/gettext-tools/gnulib-lib/safe-write.h
index ae18657..86a32b2 100644
--- a/gettext-tools/gnulib-lib/safe-write.h
+++ b/gettext-tools/gnulib-lib/safe-write.h
@@ -1,5 +1,5 @@
/* An interface to write() that retries after interrupts.
- Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/sched.in.h b/gettext-tools/gnulib-lib/sched.in.h
index edebf81..92d6a4f 100644
--- a/gettext-tools/gnulib-lib/sched.in.h
+++ b/gettext-tools/gnulib-lib/sched.in.h
@@ -1,5 +1,5 @@
/* Replacement <sched.h> for platforms that lack it.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
@@ -35,6 +35,13 @@
and Mac OS X 10.5. */
#include <sys/types.h>
+#ifdef __KLIBC__
+
+/* On OS/2 kLIBC, struct sched_param is in spawn.h */
+# include <spawn.h>
+
+#endif
+
#if !@HAVE_STRUCT_SCHED_PARAM@
# if !GNULIB_defined_struct_sched_param
diff --git a/gettext-tools/gnulib-lib/secure_getenv.c b/gettext-tools/gnulib-lib/secure_getenv.c
index 32819e6..31aad1f 100644
--- a/gettext-tools/gnulib-lib/secure_getenv.c
+++ b/gettext-tools/gnulib-lib/secure_getenv.c
@@ -1,6 +1,6 @@
/* Look up an environment variable more securely.
- Copyright 2013-2014 Free Software Foundation, Inc.
+ Copyright 2013-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/set-acl.c b/gettext-tools/gnulib-lib/set-acl.c
index 9807f10..da31750 100644
--- a/gettext-tools/gnulib-lib/set-acl.c
+++ b/gettext-tools/gnulib-lib/set-acl.c
@@ -1,6 +1,6 @@
/* set-acl.c - set access control list equivalent to a mode
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/set-permissions.c b/gettext-tools/gnulib-lib/set-permissions.c
new file mode 100644
index 0000000..8e6ecf3
--- /dev/null
+++ b/gettext-tools/gnulib-lib/set-permissions.c
@@ -0,0 +1,846 @@
+/* Set permissions of a file. -*- coding: utf-8 -*-
+
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+
+ Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
+
+#include <config.h>
+
+#include "acl.h"
+
+#include "acl-internal.h"
+
+#if USE_ACL
+# if ! defined HAVE_ACL_FROM_MODE && defined HAVE_ACL_FROM_TEXT /* FreeBSD, IRIX, Tru64 */
+# if HAVE_ACL_GET_FILE && !HAVE_ACL_TYPE_EXTENDED
+
+static acl_t
+acl_from_mode (mode_t mode)
+{
+# if HAVE_ACL_FREE_TEXT /* Tru64 */
+ char acl_text[] = "u::---,g::---,o::---,";
+# else /* FreeBSD, IRIX */
+ char acl_text[] = "u::---,g::---,o::---";
+# endif
+
+ if (mode & S_IRUSR) acl_text[ 3] = 'r';
+ if (mode & S_IWUSR) acl_text[ 4] = 'w';
+ if (mode & S_IXUSR) acl_text[ 5] = 'x';
+ if (mode & S_IRGRP) acl_text[10] = 'r';
+ if (mode & S_IWGRP) acl_text[11] = 'w';
+ if (mode & S_IXGRP) acl_text[12] = 'x';
+ if (mode & S_IROTH) acl_text[17] = 'r';
+ if (mode & S_IWOTH) acl_text[18] = 'w';
+ if (mode & S_IXOTH) acl_text[19] = 'x';
+
+ return acl_from_text (acl_text);
+}
+# endif
+# endif
+
+# if HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+static int
+set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
+{
+# ifdef ACE_GETACL
+ /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
+ file systems (whereas the other ones are used in UFS file systems). */
+
+ /* The flags in the ace_t structure changed in a binary incompatible way
+ when ACL_NO_TRIVIAL etc. were introduced in <sys/acl.h> version 1.15.
+ How to distinguish the two conventions at runtime?
+ We fetch the existing ACL. In the old convention, usually three ACEs have
+ a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400.
+ In the new convention, these values are not used. */
+ int convention;
+
+ {
+ /* Initially, try to read the entries into a stack-allocated buffer.
+ Use malloc if it does not fit. */
+ enum
+ {
+ alloc_init = 4000 / sizeof (ace_t), /* >= 3 */
+ alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t))
+ };
+ ace_t buf[alloc_init];
+ size_t alloc = alloc_init;
+ ace_t *entries = buf;
+ ace_t *malloced = NULL;
+ int count;
+
+ for (;;)
+ {
+ count = (desc != -1
+ ? facl (desc, ACE_GETACL, alloc, entries)
+ : acl (name, ACE_GETACL, alloc, entries));
+ if (count < 0 && errno == ENOSPC)
+ {
+ /* Increase the size of the buffer. */
+ free (malloced);
+ if (alloc > alloc_max / 2)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ alloc = 2 * alloc; /* <= alloc_max */
+ entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t));
+ if (entries == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ continue;
+ }
+ break;
+ }
+
+ if (count <= 0)
+ convention = -1;
+ else
+ {
+ int i;
+
+ convention = 0;
+ for (i = 0; i < count; i++)
+ if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER))
+ {
+ convention = 1;
+ break;
+ }
+ }
+ free (malloced);
+ }
+
+ if (convention >= 0)
+ {
+ ace_t entries[6];
+ int count;
+ int ret;
+
+ if (convention)
+ {
+ /* Running on Solaris 10. */
+ entries[0].a_type = OLD_ALLOW;
+ entries[0].a_flags = OLD_ACE_OWNER;
+ entries[0].a_who = 0; /* irrelevant */
+ entries[0].a_access_mask = (mode >> 6) & 7;
+ entries[1].a_type = OLD_ALLOW;
+ entries[1].a_flags = OLD_ACE_GROUP;
+ entries[1].a_who = 0; /* irrelevant */
+ entries[1].a_access_mask = (mode >> 3) & 7;
+ entries[2].a_type = OLD_ALLOW;
+ entries[2].a_flags = OLD_ACE_OTHER;
+ entries[2].a_who = 0;
+ entries[2].a_access_mask = mode & 7;
+ count = 3;
+ }
+ else
+ {
+ /* Running on Solaris 10 (newer version) or Solaris 11.
+ The details here were found through "/bin/ls -lvd somefiles". */
+ entries[0].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE;
+ entries[0].a_flags = NEW_ACE_OWNER;
+ entries[0].a_who = 0; /* irrelevant */
+ entries[0].a_access_mask = 0;
+ entries[1].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE;
+ entries[1].a_flags = NEW_ACE_OWNER;
+ entries[1].a_who = 0; /* irrelevant */
+ entries[1].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS
+ | NEW_ACE_WRITE_ATTRIBUTES
+ | NEW_ACE_WRITE_ACL
+ | NEW_ACE_WRITE_OWNER;
+ if (mode & 0400)
+ entries[1].a_access_mask |= NEW_ACE_READ_DATA;
+ else
+ entries[0].a_access_mask |= NEW_ACE_READ_DATA;
+ if (mode & 0200)
+ entries[1].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
+ else
+ entries[0].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
+ if (mode & 0100)
+ entries[1].a_access_mask |= NEW_ACE_EXECUTE;
+ else
+ entries[0].a_access_mask |= NEW_ACE_EXECUTE;
+ entries[2].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE;
+ entries[2].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP;
+ entries[2].a_who = 0; /* irrelevant */
+ entries[2].a_access_mask = 0;
+ entries[3].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE;
+ entries[3].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP;
+ entries[3].a_who = 0; /* irrelevant */
+ entries[3].a_access_mask = 0;
+ if (mode & 0040)
+ entries[3].a_access_mask |= NEW_ACE_READ_DATA;
+ else
+ entries[2].a_access_mask |= NEW_ACE_READ_DATA;
+ if (mode & 0020)
+ entries[3].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
+ else
+ entries[2].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
+ if (mode & 0010)
+ entries[3].a_access_mask |= NEW_ACE_EXECUTE;
+ else
+ entries[2].a_access_mask |= NEW_ACE_EXECUTE;
+ entries[4].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE;
+ entries[4].a_flags = NEW_ACE_EVERYONE;
+ entries[4].a_who = 0;
+ entries[4].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS
+ | NEW_ACE_WRITE_ATTRIBUTES
+ | NEW_ACE_WRITE_ACL
+ | NEW_ACE_WRITE_OWNER;
+ entries[5].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE;
+ entries[5].a_flags = NEW_ACE_EVERYONE;
+ entries[5].a_who = 0;
+ entries[5].a_access_mask = NEW_ACE_READ_NAMED_ATTRS
+ | NEW_ACE_READ_ATTRIBUTES
+ | NEW_ACE_READ_ACL
+ | NEW_ACE_SYNCHRONIZE;
+ if (mode & 0004)
+ entries[5].a_access_mask |= NEW_ACE_READ_DATA;
+ else
+ entries[4].a_access_mask |= NEW_ACE_READ_DATA;
+ if (mode & 0002)
+ entries[5].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
+ else
+ entries[4].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA;
+ if (mode & 0001)
+ entries[5].a_access_mask |= NEW_ACE_EXECUTE;
+ else
+ entries[4].a_access_mask |= NEW_ACE_EXECUTE;
+ count = 6;
+ }
+ if (desc != -1)
+ ret = facl (desc, ACE_SETACL, count, entries);
+ else
+ ret = acl (name, ACE_SETACL, count, entries);
+ if (ret < 0 && errno != EINVAL && errno != ENOTSUP)
+ {
+ if (errno == ENOSYS)
+ {
+ *must_chmod = true;
+ return 0;
+ }
+ return -1;
+ }
+ if (ret == 0)
+ return 0;
+ }
+# endif
+
+ {
+ aclent_t entries[3];
+ int ret;
+
+ entries[0].a_type = USER_OBJ;
+ entries[0].a_id = 0; /* irrelevant */
+ entries[0].a_perm = (mode >> 6) & 7;
+ entries[1].a_type = GROUP_OBJ;
+ entries[1].a_id = 0; /* irrelevant */
+ entries[1].a_perm = (mode >> 3) & 7;
+ entries[2].a_type = OTHER_OBJ;
+ entries[2].a_id = 0;
+ entries[2].a_perm = mode & 7;
+
+ if (desc != -1)
+ ret = facl (desc, SETACL,
+ sizeof (entries) / sizeof (aclent_t), entries);
+ else
+ ret = acl (name, SETACL,
+ sizeof (entries) / sizeof (aclent_t), entries);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS || errno == EOPNOTSUPP)
+ {
+ *must_chmod = true;
+ return 0;
+ }
+ return -1;
+ }
+ }
+}
+
+# elif HAVE_GETACL /* HP-UX */
+static int
+context_acl_from_mode (struct permission_context *ctx, const char *name, int desc)
+{
+ struct stat statbuf;
+ int ret;
+
+ if (desc != -1)
+ ret = fstat (desc, &statbuf);
+ else
+ ret = stat (name, &statbuf);
+ if (ret < 0)
+ return -1;
+
+ ctx->entries[0].uid = statbuf.st_uid;
+ ctx->entries[0].gid = ACL_NSGROUP;
+ ctx->entries[0].mode = (ctx->mode >> 6) & 7;
+ ctx->entries[1].uid = ACL_NSUSER;
+ ctx->entries[1].gid = statbuf.st_gid;
+ ctx->entries[1].mode = (ctx->mode >> 3) & 7;
+ ctx->entries[2].uid = ACL_NSUSER;
+ ctx->entries[2].gid = ACL_NSGROUP;
+ ctx->entries[2].mode = ctx->mode & 7;
+ ctx->count = 3;
+ return 0;
+}
+
+# if HAVE_ACLV_H /* HP-UX >= 11.11 */
+static int
+context_aclv_from_mode (struct permission_context *ctx)
+{
+ int ret;
+
+ ctx->aclv_entries[0].a_type = USER_OBJ;
+ ctx->aclv_entries[0].a_id = 0; /* irrelevant */
+ ctx->aclv_entries[0].a_perm = (ctx->mode >> 6) & 7;
+ ctx->aclv_entries[1].a_type = GROUP_OBJ;
+ ctx->aclv_entries[1].a_id = 0; /* irrelevant */
+ ctx->aclv_entries[1].a_perm = (ctx->mode >> 3) & 7;
+ ctx->aclv_entries[2].a_type = CLASS_OBJ;
+ ctx->aclv_entries[2].a_id = 0;
+ ctx->aclv_entries[2].a_perm = (ctx->mode >> 3) & 7;
+ ctx->aclv_entries[3].a_type = OTHER_OBJ;
+ ctx->aclv_entries[3].a_id = 0;
+ ctx->aclv_entries[3].a_perm = ctx->mode & 7;
+ ctx->aclv_count = 4;
+
+ ret = aclsort (ctx->aclv_count, 1, ctx->aclv_entries);
+ if (ret > 0)
+ abort ();
+ return ret;
+}
+# endif
+
+# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */
+static int
+set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
+{
+ acl_type_list_t types;
+ size_t types_size = sizeof (types);
+ acl_type_t type;
+
+ if (aclx_gettypes (name, &types, &types_size) < 0
+ || types.num_entries == 0)
+ {
+ *must_chmod = true;
+ return 0;
+ }
+
+ /* XXX Do we need to clear all types of ACLs for the given file, or is it
+ sufficient to clear the first one? */
+ type = types.entries[0];
+ if (type.u64 == ACL_AIXC)
+ {
+ union { struct acl a; char room[128]; } u;
+ int ret;
+
+ u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */
+ u.a.acl_mode = mode & ~(S_IXACL | 0777);
+ u.a.u_access = (mode >> 6) & 7;
+ u.a.g_access = (mode >> 3) & 7;
+ u.a.o_access = mode & 7;
+
+ if (desc != -1)
+ ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS,
+ type, &u.a, u.a.acl_len, mode);
+ else
+ ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS,
+ type, &u.a, u.a.acl_len, mode);
+ if (!(ret < 0 && errno == ENOSYS))
+ return ret;
+ }
+ else if (type.u64 == ACL_NFS4)
+ {
+ union { nfs4_acl_int_t a; char room[128]; } u;
+ nfs4_ace_int_t *ace;
+ int ret;
+
+ u.a.aclVersion = NFS4_ACL_INT_STRUCT_VERSION;
+ u.a.aclEntryN = 0;
+ ace = &u.a.aclEntry[0];
+ {
+ ace->flags = ACE4_ID_SPECIAL;
+ ace->aceWho.special_whoid = ACE4_WHO_OWNER;
+ ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE;
+ ace->aceFlags = 0;
+ ace->aceMask =
+ (mode & 0400 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0)
+ | (mode & 0200
+ ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA
+ | ACE4_ADD_SUBDIRECTORY
+ : 0)
+ | (mode & 0100 ? ACE4_EXECUTE : 0);
+ ace->aceWhoString[0] = '\0';
+ ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace;
+ ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4];
+ u.a.aclEntryN++;
+ }
+ {
+ ace->flags = ACE4_ID_SPECIAL;
+ ace->aceWho.special_whoid = ACE4_WHO_GROUP;
+ ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE;
+ ace->aceFlags = 0;
+ ace->aceMask =
+ (mode & 0040 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0)
+ | (mode & 0020
+ ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA
+ | ACE4_ADD_SUBDIRECTORY
+ : 0)
+ | (mode & 0010 ? ACE4_EXECUTE : 0);
+ ace->aceWhoString[0] = '\0';
+ ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace;
+ ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4];
+ u.a.aclEntryN++;
+ }
+ {
+ ace->flags = ACE4_ID_SPECIAL;
+ ace->aceWho.special_whoid = ACE4_WHO_EVERYONE;
+ ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE;
+ ace->aceFlags = 0;
+ ace->aceMask =
+ (mode & 0004 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0)
+ | (mode & 0002
+ ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA
+ | ACE4_ADD_SUBDIRECTORY
+ : 0)
+ | (mode & 0001 ? ACE4_EXECUTE : 0);
+ ace->aceWhoString[0] = '\0';
+ ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace;
+ ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4];
+ u.a.aclEntryN++;
+ }
+ u.a.aclLength = (char *) ace - (char *) &u.a;
+
+ if (desc != -1)
+ ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS,
+ type, &u.a, u.a.aclLength, mode);
+ else
+ ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS,
+ type, &u.a, u.a.aclLength, mode);
+ if (!(ret < 0 && errno == ENOSYS))
+ return ret;
+ }
+
+ *must_chmod = true;
+ return 0;
+}
+
+# elif HAVE_STATACL /* older AIX */
+static int
+context_acl_from_mode (struct permission_context *ctx)
+{
+ ctx->u.a.acl_len = (char *) &ctx->u.a.acl_ext[0] - (char *) &ctx->u.a; /* no entries */
+ ctx->u.a.acl_mode = ctx->mode & ~(S_IXACL | 0777);
+ ctx->u.a.u_access = (ctx->mode >> 6) & 7;
+ ctx->u.a.g_access = (ctx->mode >> 3) & 7;
+ ctx->u.a.o_access = ctx->mode & 7;
+ ctx->have_u = true;
+ return 0;
+}
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+static int
+context_acl_from_mode (struct permission_context *ctx)
+{
+ int ret;
+
+ ctx->entries[0].a_type = USER_OBJ;
+ ctx->entries[0].a_id = 0; /* irrelevant */
+ ctx->entries[0].a_perm = (ctx->mode >> 6) & 7;
+ ctx->entries[1].a_type = GROUP_OBJ;
+ ctx->entries[1].a_id = 0; /* irrelevant */
+ ctx->entries[1].a_perm = (ctx->mode >> 3) & 7;
+ ctx->entries[2].a_type = CLASS_OBJ;
+ ctx->entries[2].a_id = 0;
+ ctx->entries[2].a_perm = (ctx->mode >> 3) & 7;
+ ctx->entries[3].a_type = OTHER_OBJ;
+ ctx->entries[3].a_id = 0;
+ ctx->entries[3].a_perm = ctx->mode & 7;
+ ctx->count = 4;
+
+ ret = aclsort (ctx->count, 1, entries);
+ if (ret > 0)
+ abort ();
+ return ret;
+}
+# endif
+
+static int
+set_acls (struct permission_context *ctx, const char *name, int desc,
+ int from_mode, bool *must_chmod, bool *acls_set)
+{
+ int ret = 0;
+
+# if HAVE_ACL_GET_FILE
+ /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
+ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+# if !HAVE_ACL_TYPE_EXTENDED
+ /* Linux, FreeBSD, IRIX, Tru64 */
+
+# ifndef HAVE_ACL_FROM_TEXT
+# error Must have acl_from_text (see POSIX 1003.1e draft 17).
+# endif
+# ifndef HAVE_ACL_DELETE_DEF_FILE
+# error Must have acl_delete_def_file (see POSIX 1003.1e draft 17).
+# endif
+
+ if (! ctx->acls_not_supported)
+ {
+ if (ret == 0 && from_mode)
+ {
+ if (ctx->acl)
+ acl_free (ctx->acl);
+ ctx->acl = acl_from_mode (ctx->mode);
+ if (ctx->acl == NULL)
+ ret = -1;
+ }
+
+ if (ret == 0 && ctx->acl)
+ {
+ if (HAVE_ACL_SET_FD && desc != -1)
+ ret = acl_set_fd (desc, ctx->acl);
+ else
+ ret = acl_set_file (name, ACL_TYPE_ACCESS, ctx->acl);
+ if (ret != 0)
+ {
+ if (! acl_errno_valid (errno))
+ {
+ ctx->acls_not_supported = true;
+ if (from_mode || acl_access_nontrivial (ctx->acl) == 0)
+ ret = 0;
+ }
+ }
+ else
+ {
+ *acls_set = true;
+ if (S_ISDIR(ctx->mode))
+ {
+ if (! from_mode && ctx->default_acl &&
+ acl_default_nontrivial (ctx->default_acl))
+ ret = acl_set_file (name, ACL_TYPE_DEFAULT,
+ ctx->default_acl);
+ else
+ ret = acl_delete_def_file (name);
+ }
+ }
+ }
+ }
+
+# if HAVE_ACL_TYPE_NFS4 /* FreeBSD */
+
+ /* File systems either support POSIX ACLs (for example, ufs) or NFS4 ACLs
+ (for example, zfs). */
+
+ /* TODO: Implement setting ACLs once get_permissions() reads them. */
+
+# endif
+
+# else /* HAVE_ACL_TYPE_EXTENDED */
+ /* Mac OS X */
+
+ /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
+ and acl_get_file (name, ACL_TYPE_DEFAULT)
+ always return NULL / EINVAL. You have to use
+ acl_get_file (name, ACL_TYPE_EXTENDED)
+ or acl_get_fd (open (name, ...))
+ to retrieve an ACL.
+ On the other hand,
+ acl_set_file (name, ACL_TYPE_ACCESS, acl)
+ and acl_set_file (name, ACL_TYPE_DEFAULT, acl)
+ have the same effect as
+ acl_set_file (name, ACL_TYPE_EXTENDED, acl):
+ Each of these calls sets the file's ACL. */
+
+ if (ctx->acl == NULL)
+ {
+ acl_t acl;
+
+ /* Remove ACLs if the file has ACLs. */
+ if (HAVE_ACL_GET_FD && desc != -1)
+ acl = acl_get_fd (desc);
+ else
+ acl = acl_get_file (name, ACL_TYPE_EXTENDED);
+ if (acl)
+ {
+ acl_free (acl);
+
+ acl = acl_init (0);
+ if (acl)
+ {
+ if (HAVE_ACL_SET_FD && desc != -1)
+ ret = acl_set_fd (desc, acl);
+ else
+ ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl);
+ acl_free (acl);
+ }
+ else
+ ret = -1;
+ }
+ }
+ else
+ {
+ if (HAVE_ACL_SET_FD && desc != -1)
+ ret = acl_set_fd (desc, ctx->acl);
+ else
+ ret = acl_set_file (name, ACL_TYPE_EXTENDED, ctx->acl);
+ if (ret != 0)
+ {
+ if (! acl_errno_valid (errno)
+ && ! acl_extended_nontrivial (ctx->acl))
+ ret = 0;
+ }
+ }
+ *acls_set = true;
+
+# endif
+
+# elif defined GETACL /* Solaris, Cygwin, not HP-UX */
+
+ /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
+ of Unixware. The acl() call returns the access and default ACL both
+ at once. */
+
+ /* If both ace_entries and entries are available, try SETACL before
+ ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL
+ can. */
+
+ if (from_mode)
+ return set_acls_from_mode (name, desc, ctx->mode, must_chmod);
+
+ if (ret == 0 && ctx->count)
+ {
+ if (desc != -1)
+ ret = facl (desc, SETACL, ctx->count, ctx->entries);
+ else
+ ret = acl (name, SETACL, ctx->count, ctx->entries);
+ if (ret < 0)
+ {
+ if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+ && acl_nontrivial (ctx->count, ctx->entries) == 0)
+ ret = 0;
+ }
+ else
+ *acls_set = true;
+ }
+
+# ifdef ACE_GETACL
+ if (ret == 0 && ctx->ace_count)
+ {
+ if (desc != -1)
+ ret = facl (desc, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
+ else
+ ret = acl (name, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
+ if (ret < 0)
+ {
+ if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)
+ && acl_ace_nontrivial (ctx->ace_count, ctx->ace_entries) == 0)
+ ret = 0;
+ }
+ else
+ *acls_set = true;
+ }
+# endif
+
+# elif HAVE_GETACL /* HP-UX */
+
+ if (from_mode)
+ ret = context_acl_from_mode (ctx, name, desc);
+
+ if (ret == 0 && ctx->count > 0)
+ {
+ if (desc != -1)
+ ret = fsetacl (desc, ctx->count, ctx->entries);
+ else
+ ret = setacl (name, ctx->count, ctx->entries);
+ if (ret < 0)
+ {
+ if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
+ && (from_mode || !acl_nontrivial (ctx->count, ctx->entries)))
+ ret = 0;
+ }
+ else
+ *acls_set = true;
+ }
+
+# if HAVE_ACLV_H
+ if (from_mode)
+ ret = context_aclv_from_mode (ctx);
+
+ if (ret == 0 && ctx->aclv_count > 0)
+ {
+ ret = acl ((char *) name, ACL_SET, ctx->aclv_count, ctx->aclv_entries);
+ if (ret < 0)
+ {
+ if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+ && (from_mode || !aclv_nontrivial (ctx->aclv_count, ctx->aclv_entries)))
+ ret = 0;
+ }
+ else
+ *acls_set = true;
+ }
+# endif
+
+# elif HAVE_ACLX_GET && ACL_AIX_WIP /* AIX */
+
+ /* TODO: Implement setting ACLs once get_permissions() reads them. */
+
+ if (from_mode)
+ ret = set_acls_from_mode (name, desc, mode, must_chmod);
+
+# elif HAVE_STATACL /* older AIX */
+
+ if (from_mode)
+ ret = context_acl_from_mode (ctx);
+
+ if (ret == 0 && ctx->have_u)
+ {
+ if (desc != -1)
+ ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len);
+ else
+ ret = chacl ((char *) name, &ctx->u.a, ctx->u.a.acl_len);
+ if (ret < 0)
+ {
+ if (errno == ENOSYS && from_mode)
+ ret = 0;
+ }
+ else
+ *acls_set = true;
+ }
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+
+ if (from_mode)
+ ret = context_acl_from_mode (ctx);
+
+ if (ret == 0 && ctx->count)
+ {
+ ret = acl ((char *) name, ACL_SET, ctx->count, ctx->entries);
+ if (ret != 0)
+ {
+ if (!acl_nontrivial (ctx->count, ctx->entries))
+ ret = 0;
+ }
+ else
+ *acls_set = true;
+ }
+
+# else /* No ACLs */
+
+ /* Nothing to do. */
+
+# endif
+
+ return ret;
+}
+#endif
+
+/* If DESC is a valid file descriptor use fchmod to change the
+ file's mode to MODE on systems that have fchmod. On systems
+ that don't have fchmod and if DESC is invalid, use chmod on
+ NAME instead.
+ Return 0 if successful. Return -1 and set errno upon failure. */
+
+int
+chmod_or_fchmod (const char *name, int desc, mode_t mode)
+{
+ if (HAVE_FCHMOD && desc != -1)
+ return fchmod (desc, mode);
+ else
+ return chmod (name, mode);
+}
+
+/* Set the permissions in CTX on a file. If DESC is a valid file descriptor,
+ use file descriptor operations, else use filename based operations on NAME.
+ If access control lists are not available, fchmod the target file to the
+ mode in CTX. Also sets the non-permission bits of the destination file
+ (S_ISUID, S_ISGID, S_ISVTX) to those from the mode in CTX if any are set.
+ Return 0 if successful. Return -1 and set errno upon failure. */
+
+int
+set_permissions (struct permission_context *ctx, const char *name, int desc)
+{
+ bool acls_set _GL_UNUSED = false;
+ bool early_chmod;
+ bool must_chmod = false;
+ int ret = 0;
+
+#if USE_ACL
+# if HAVE_STATACL
+ /* older AIX */
+ /* There is no need to call chmod_or_fchmod, since the mode
+ bits S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL. */
+
+ early_chmod = false;
+# else
+ /* All other platforms */
+ /* On Cygwin, it is necessary to call chmod before acl, because
+ chmod can change the contents of the ACL (in ways that don't
+ change the allowed accesses, but still visible). */
+
+ early_chmod = (! MODE_INSIDE_ACL || (ctx->mode & (S_ISUID | S_ISGID | S_ISVTX)));
+# endif
+#else
+ /* No ACLs */
+
+ early_chmod = true;
+#endif
+
+ if (early_chmod)
+ {
+ ret = chmod_or_fchmod (name, desc, ctx->mode);
+ if (ret != 0)
+ return -1;
+ }
+
+#if USE_ACL
+ ret = set_acls (ctx, name, desc, false, &must_chmod, &acls_set);
+ if (! acls_set)
+ {
+ int saved_errno = ret ? errno : 0;
+
+ /* If we can't set an acl which we expect to be able to set, try setting
+ the permissions to ctx->mode. Due to possible inherited permissions,
+ we cannot simply chmod. */
+
+ ret = set_acls (ctx, name, desc, true, &must_chmod, &acls_set);
+ if (! acls_set)
+ must_chmod = true;
+
+ if (saved_errno)
+ {
+ errno = saved_errno;
+ ret = -1;
+ }
+ }
+#endif
+
+ if (must_chmod && ! early_chmod)
+ {
+ int saved_errno = ret ? errno : 0;
+
+ ret = chmod_or_fchmod (name, desc, ctx->mode);
+
+ if (saved_errno)
+ {
+ errno = saved_errno;
+ ret = -1;
+ }
+ }
+
+ return ret;
+}
diff --git a/gettext-tools/gnulib-lib/setenv.c b/gettext-tools/gnulib-lib/setenv.c
index 06791a9..6b16fd5 100644
--- a/gettext-tools/gnulib-lib/setenv.c
+++ b/gettext-tools/gnulib-lib/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/setlocale.c b/gettext-tools/gnulib-lib/setlocale.c
index 3009d2c..ed68ce2 100644
--- a/gettext-tools/gnulib-lib/setlocale.c
+++ b/gettext-tools/gnulib-lib/setlocale.c
@@ -1,5 +1,5 @@
-/* Set the current locale.
- Copyright (C) 2009, 2011-2014 Free Software Foundation, Inc.
+/* Set the current locale. -*- coding: utf-8 -*-
+ Copyright (C) 2009, 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/sh-quote.c b/gettext-tools/gnulib-lib/sh-quote.c
index a97be57..d684cef 100644
--- a/gettext-tools/gnulib-lib/sh-quote.c
+++ b/gettext-tools/gnulib-lib/sh-quote.c
@@ -1,5 +1,5 @@
/* Shell quoting.
- Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/sh-quote.h b/gettext-tools/gnulib-lib/sh-quote.h
index 8615275..48ade84 100644
--- a/gettext-tools/gnulib-lib/sh-quote.h
+++ b/gettext-tools/gnulib-lib/sh-quote.h
@@ -1,5 +1,5 @@
/* Shell quoting.
- Copyright (C) 2001-2002, 2004, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2004, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/sig-handler.h b/gettext-tools/gnulib-lib/sig-handler.h
index f4fe7ec..c814ed6 100644
--- a/gettext-tools/gnulib-lib/sig-handler.h
+++ b/gettext-tools/gnulib-lib/sig-handler.h
@@ -1,6 +1,6 @@
/* Convenience declarations when working with <signal.h>.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
@@ -34,7 +34,7 @@ typedef void (*sa_handler_t) (int);
/* Return the handler of a signal, as a sa_handler_t value regardless
of its true type. The resulting function can be compared to
special values like SIG_IGN but it is not portable to call it. */
-SIG_HANDLER_INLINE sa_handler_t
+SIG_HANDLER_INLINE sa_handler_t _GL_ATTRIBUTE_PURE
get_handler (struct sigaction const *a)
{
#ifdef SA_SIGINFO
diff --git a/gettext-tools/gnulib-lib/sigaction.c b/gettext-tools/gnulib-lib/sigaction.c
index c56ca46..9b2a089 100644
--- a/gettext-tools/gnulib-lib/sigaction.c
+++ b/gettext-tools/gnulib-lib/sigaction.c
@@ -1,5 +1,5 @@
/* POSIX compatible signal blocking.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Eric Blake <ebb9@byu.net>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/signal.in.h b/gettext-tools/gnulib-lib/signal.in.h
index 925e16f..265b72a 100644
--- a/gettext-tools/gnulib-lib/signal.in.h
+++ b/gettext-tools/gnulib-lib/signal.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <signal.h>.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
@@ -55,11 +55,13 @@
#ifndef _@GUARD_PREFIX@_SIGNAL_H
#define _@GUARD_PREFIX@_SIGNAL_H
-/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare
- pthread_sigmask in <pthread.h>, not in <signal.h>.
+/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android
+ declare pthread_sigmask in <pthread.h>, not in <signal.h>.
But avoid namespace pollution on glibc systems.*/
#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
- && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ || defined __sun) \
+ && ((defined __APPLE__ && defined __MACH__) \
+ || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ \
+ || defined __sun || defined __ANDROID__) \
&& ! defined __GLIBC__
# include <pthread.h>
#endif
diff --git a/gettext-tools/gnulib-lib/signbitd.c b/gettext-tools/gnulib-lib/signbitd.c
new file mode 100644
index 0000000..289b477
--- /dev/null
+++ b/gettext-tools/gnulib-lib/signbitd.c
@@ -0,0 +1,64 @@
+/* signbit() macro: Determine the sign bit of a floating-point number.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <math.h>
+
+#include <string.h>
+#include "isnand-nolibm.h"
+#include "float+.h"
+
+#ifdef gl_signbitd_OPTIMIZED_MACRO
+# undef gl_signbitd
+#endif
+
+int
+gl_signbitd (double arg)
+{
+#if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT
+ /* The use of a union to extract the bits of the representation of a
+ 'long double' is safe in practice, despite of the "aliasing rules" of
+ C99, because the GCC docs say
+ "Even with '-fstrict-aliasing', type-punning is allowed, provided the
+ memory is accessed through the union type."
+ and similarly for other compilers. */
+# define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ union { double value; unsigned int word[NWORDS]; } m;
+ m.value = arg;
+ return (m.word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1;
+#elif HAVE_COPYSIGN_IN_LIBC
+ return copysign (1.0, arg) < 0;
+#else
+ /* This does not do the right thing for NaN, but this is irrelevant for
+ most use cases. */
+ if (isnand (arg))
+ return 0;
+ if (arg < 0.0)
+ return 1;
+ else if (arg == 0.0)
+ {
+ /* Distinguish 0.0 and -0.0. */
+ static double plus_zero = 0.0;
+ double arg_mem = arg;
+ return (memcmp (&plus_zero, &arg_mem, SIZEOF_DBL) != 0);
+ }
+ else
+ return 0;
+#endif
+}
diff --git a/gettext-tools/gnulib-lib/signbitf.c b/gettext-tools/gnulib-lib/signbitf.c
new file mode 100644
index 0000000..d771fcc
--- /dev/null
+++ b/gettext-tools/gnulib-lib/signbitf.c
@@ -0,0 +1,64 @@
+/* signbit() macro: Determine the sign bit of a floating-point number.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <math.h>
+
+#include <string.h>
+#include "isnanf-nolibm.h"
+#include "float+.h"
+
+#ifdef gl_signbitf_OPTIMIZED_MACRO
+# undef gl_signbitf
+#endif
+
+int
+gl_signbitf (float arg)
+{
+#if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT
+ /* The use of a union to extract the bits of the representation of a
+ 'long double' is safe in practice, despite of the "aliasing rules" of
+ C99, because the GCC docs say
+ "Even with '-fstrict-aliasing', type-punning is allowed, provided the
+ memory is accessed through the union type."
+ and similarly for other compilers. */
+# define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ union { float value; unsigned int word[NWORDS]; } m;
+ m.value = arg;
+ return (m.word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1;
+#elif HAVE_COPYSIGNF_IN_LIBC
+ return copysignf (1.0f, arg) < 0;
+#else
+ /* This does not do the right thing for NaN, but this is irrelevant for
+ most use cases. */
+ if (isnanf (arg))
+ return 0;
+ if (arg < 0.0f)
+ return 1;
+ else if (arg == 0.0f)
+ {
+ /* Distinguish 0.0f and -0.0f. */
+ static float plus_zero = 0.0f;
+ float arg_mem = arg;
+ return (memcmp (&plus_zero, &arg_mem, SIZEOF_FLT) != 0);
+ }
+ else
+ return 0;
+#endif
+}
diff --git a/gettext-tools/gnulib-lib/signbitl.c b/gettext-tools/gnulib-lib/signbitl.c
new file mode 100644
index 0000000..404304e
--- /dev/null
+++ b/gettext-tools/gnulib-lib/signbitl.c
@@ -0,0 +1,64 @@
+/* signbit() macro: Determine the sign bit of a floating-point number.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <math.h>
+
+#include <string.h>
+#include "isnanl-nolibm.h"
+#include "float+.h"
+
+#ifdef gl_signbitl_OPTIMIZED_MACRO
+# undef gl_signbitl
+#endif
+
+int
+gl_signbitl (long double arg)
+{
+#if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT
+ /* The use of a union to extract the bits of the representation of a
+ 'long double' is safe in practice, despite of the "aliasing rules" of
+ C99, because the GCC docs say
+ "Even with '-fstrict-aliasing', type-punning is allowed, provided the
+ memory is accessed through the union type."
+ and similarly for other compilers. */
+# define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ union { long double value; unsigned int word[NWORDS]; } m;
+ m.value = arg;
+ return (m.word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1;
+#elif HAVE_COPYSIGNL_IN_LIBC
+ return copysignl (1.0L, arg) < 0;
+#else
+ /* This does not do the right thing for NaN, but this is irrelevant for
+ most use cases. */
+ if (isnanl (arg))
+ return 0;
+ if (arg < 0.0L)
+ return 1;
+ else if (arg == 0.0L)
+ {
+ /* Distinguish 0.0L and -0.0L. */
+ static long double plus_zero = 0.0L;
+ long double arg_mem = arg;
+ return (memcmp (&plus_zero, &arg_mem, SIZEOF_LDBL) != 0);
+ }
+ else
+ return 0;
+#endif
+}
diff --git a/gettext-tools/gnulib-lib/sigprocmask.c b/gettext-tools/gnulib-lib/sigprocmask.c
index 506a51f..e29b012 100644
--- a/gettext-tools/gnulib-lib/sigprocmask.c
+++ b/gettext-tools/gnulib-lib/sigprocmask.c
@@ -1,5 +1,5 @@
/* POSIX compatible signal blocking.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/size_max.h b/gettext-tools/gnulib-lib/size_max.h
index 461ff1c..5a0568e 100644
--- a/gettext-tools/gnulib-lib/size_max.h
+++ b/gettext-tools/gnulib-lib/size_max.h
@@ -1,5 +1,5 @@
/* size_max.h -- declare SIZE_MAX through system headers
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/snprintf.c b/gettext-tools/gnulib-lib/snprintf.c
index ea1321c..11500ca 100644
--- a/gettext-tools/gnulib-lib/snprintf.c
+++ b/gettext-tools/gnulib-lib/snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
Written by Simon Josefsson and Paul Eggert.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn-pipe.c b/gettext-tools/gnulib-lib/spawn-pipe.c
index b7fa95b..a87844e 100644
--- a/gettext-tools/gnulib-lib/spawn-pipe.c
+++ b/gettext-tools/gnulib-lib/spawn-pipe.c
@@ -1,5 +1,5 @@
/* Creation of subprocesses, communicating via pipes.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn-pipe.h b/gettext-tools/gnulib-lib/spawn-pipe.h
index 4e25752..569c768 100644
--- a/gettext-tools/gnulib-lib/spawn-pipe.h
+++ b/gettext-tools/gnulib-lib/spawn-pipe.h
@@ -1,5 +1,5 @@
/* Creation of subprocesses, communicating via pipes.
- Copyright (C) 2001-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn.in.h b/gettext-tools/gnulib-lib/spawn.in.h
index eb76bb0..aa8222a 100644
--- a/gettext-tools/gnulib-lib/spawn.in.h
+++ b/gettext-tools/gnulib-lib/spawn.in.h
@@ -1,5 +1,5 @@
/* Definitions for POSIX spawn interface.
- Copyright (C) 2000, 2003-2004, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2003-2004, 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn_faction_addclose.c b/gettext-tools/gnulib-lib/spawn_faction_addclose.c
index d681fe7..ee833d6 100644
--- a/gettext-tools/gnulib-lib/spawn_faction_addclose.c
+++ b/gettext-tools/gnulib-lib/spawn_faction_addclose.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn_faction_adddup2.c b/gettext-tools/gnulib-lib/spawn_faction_adddup2.c
index 9292488..3687448 100644
--- a/gettext-tools/gnulib-lib/spawn_faction_adddup2.c
+++ b/gettext-tools/gnulib-lib/spawn_faction_adddup2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn_faction_addopen.c b/gettext-tools/gnulib-lib/spawn_faction_addopen.c
index 3ca9501..4ecfd83 100644
--- a/gettext-tools/gnulib-lib/spawn_faction_addopen.c
+++ b/gettext-tools/gnulib-lib/spawn_faction_addopen.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn_faction_destroy.c b/gettext-tools/gnulib-lib/spawn_faction_destroy.c
index bca46cc..c639478 100644
--- a/gettext-tools/gnulib-lib/spawn_faction_destroy.c
+++ b/gettext-tools/gnulib-lib/spawn_faction_destroy.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn_faction_init.c b/gettext-tools/gnulib-lib/spawn_faction_init.c
index c8b8094..c276913 100644
--- a/gettext-tools/gnulib-lib/spawn_faction_init.c
+++ b/gettext-tools/gnulib-lib/spawn_faction_init.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawn_int.h b/gettext-tools/gnulib-lib/spawn_int.h
index 04351a7..002d139 100644
--- a/gettext-tools/gnulib-lib/spawn_int.h
+++ b/gettext-tools/gnulib-lib/spawn_int.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawnattr_destroy.c b/gettext-tools/gnulib-lib/spawnattr_destroy.c
index 7ebe141..50c8549 100644
--- a/gettext-tools/gnulib-lib/spawnattr_destroy.c
+++ b/gettext-tools/gnulib-lib/spawnattr_destroy.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawnattr_init.c b/gettext-tools/gnulib-lib/spawnattr_init.c
index dec23be..3e5dcdb 100644
--- a/gettext-tools/gnulib-lib/spawnattr_init.c
+++ b/gettext-tools/gnulib-lib/spawnattr_init.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawnattr_setflags.c b/gettext-tools/gnulib-lib/spawnattr_setflags.c
index f7cf0a2..0366575 100644
--- a/gettext-tools/gnulib-lib/spawnattr_setflags.c
+++ b/gettext-tools/gnulib-lib/spawnattr_setflags.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2004, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2004, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawnattr_setsigmask.c b/gettext-tools/gnulib-lib/spawnattr_setsigmask.c
index b70b6bf..7831603 100644
--- a/gettext-tools/gnulib-lib/spawnattr_setsigmask.c
+++ b/gettext-tools/gnulib-lib/spawnattr_setsigmask.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawni.c b/gettext-tools/gnulib-lib/spawni.c
index ae5ee0c..9b1b0b9 100644
--- a/gettext-tools/gnulib-lib/spawni.c
+++ b/gettext-tools/gnulib-lib/spawni.c
@@ -1,5 +1,5 @@
/* Guts of POSIX spawn interface. Generic POSIX.1 version.
- Copyright (C) 2000-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006, 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/spawnp.c b/gettext-tools/gnulib-lib/spawnp.c
index f856bbb..6d27e49 100644
--- a/gettext-tools/gnulib-lib/spawnp.c
+++ b/gettext-tools/gnulib-lib/spawnp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/stat.c b/gettext-tools/gnulib-lib/stat.c
index 35f4b0b..2209826 100644
--- a/gettext-tools/gnulib-lib/stat.c
+++ b/gettext-tools/gnulib-lib/stat.c
@@ -1,5 +1,5 @@
/* Work around platform bugs in stat.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/stdarg.in.h b/gettext-tools/gnulib-lib/stdarg.in.h
index 5b37dd3..5239f51 100644
--- a/gettext-tools/gnulib-lib/stdarg.in.h
+++ b/gettext-tools/gnulib-lib/stdarg.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <stdarg.h>.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/stdbool.in.h b/gettext-tools/gnulib-lib/stdbool.in.h
index 651e8df..64a1761 100644
--- a/gettext-tools/gnulib-lib/stdbool.in.h
+++ b/gettext-tools/gnulib-lib/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/stddef.in.h b/gettext-tools/gnulib-lib/stddef.in.h
index f5c0e05..698307b 100644
--- a/gettext-tools/gnulib-lib/stddef.in.h
+++ b/gettext-tools/gnulib-lib/stddef.in.h
@@ -1,6 +1,6 @@
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
@@ -39,7 +39,6 @@
# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
# ifdef __need_wint_t
-# undef _@GUARD_PREFIX@_STDDEF_H
# define _GL_STDDEF_WINT_T
# endif
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
@@ -54,33 +53,56 @@
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
-# ifndef _@GUARD_PREFIX@_STDDEF_H
-# define _@GUARD_PREFIX@_STDDEF_H
-
/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */
-#if @REPLACE_NULL@
-# undef NULL
-# ifdef __cplusplus
+# if (@REPLACE_NULL@ \
+ && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T))
+# undef NULL
+# ifdef __cplusplus
/* ISO C++ says that the macro NULL must expand to an integer constant
expression, hence '((void *) 0)' is not allowed in C++. */
-# if __GNUG__ >= 3
+# if __GNUG__ >= 3
/* GNU C++ has a __null macro that behaves like an integer ('int' or
'long') but has the same size as a pointer. Use that, to avoid
warnings. */
-# define NULL __null
-# else
-# define NULL 0L
+# define NULL __null
+# else
+# define NULL 0L
+# endif
+# else
+# define NULL ((void *) 0)
+# endif
# endif
-# else
-# define NULL ((void *) 0)
-# endif
-#endif
+
+# ifndef _@GUARD_PREFIX@_STDDEF_H
+# define _@GUARD_PREFIX@_STDDEF_H
/* Some platforms lack wchar_t. */
#if !@HAVE_WCHAR_T@
# define wchar_t int
#endif
+/* Some platforms lack max_align_t. */
+#if !@HAVE_MAX_ALIGN_T@
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
+ but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
+ and the C11 standard allows this. Work around this problem by
+ using __alignof__ (which returns 8 for double) rather than _Alignof
+ (which returns 4), and align each union member accordingly. */
+# ifdef __GNUC__
+# define _GL_STDDEF_ALIGNAS(type) \
+ __attribute__ ((__aligned__ (__alignof__ (type))))
+# else
+# define _GL_STDDEF_ALIGNAS(type) /* */
+# endif
+typedef union
+{
+ char *__p _GL_STDDEF_ALIGNAS (char *);
+ double __d _GL_STDDEF_ALIGNAS (double);
+ long double __ld _GL_STDDEF_ALIGNAS (long double);
+ long int __i _GL_STDDEF_ALIGNAS (long int);
+} max_align_t;
+#endif
+
# endif /* _@GUARD_PREFIX@_STDDEF_H */
# endif /* _@GUARD_PREFIX@_STDDEF_H */
#endif /* __need_XXX */
diff --git a/gettext-tools/gnulib-lib/stdint.in.h b/gettext-tools/gnulib-lib/stdint.in.h
index 247f0d8..378de2e 100644
--- a/gettext-tools/gnulib-lib/stdint.in.h
+++ b/gettext-tools/gnulib-lib/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
diff --git a/gettext-tools/gnulib-lib/stdio-write.c b/gettext-tools/gnulib-lib/stdio-write.c
index cf9174c..b913101 100644
--- a/gettext-tools/gnulib-lib/stdio-write.c
+++ b/gettext-tools/gnulib-lib/stdio-write.c
@@ -1,5 +1,5 @@
/* POSIX compatible FILE stream write function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/stdio.in.h b/gettext-tools/gnulib-lib/stdio.in.h
index 1e1fe84..ec43874 100644
--- a/gettext-tools/gnulib-lib/stdio.in.h
+++ b/gettext-tools/gnulib-lib/stdio.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdio.h>.
- Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
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
@@ -84,8 +84,13 @@
except that it indicates to GCC that the supported format string directives
are the ones of the system printf(), rather than the ones standardized by
ISO C99 and POSIX. */
-#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument)
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
_GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
/* _GL_ATTRIBUTE_FORMAT_SCANF
indicates to GCC that the function takes a format string and arguments,
@@ -718,11 +723,10 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
so any use of gets warrants an unconditional warning; besides, C11
removed it. */
#undef gets
-#if HAVE_RAW_DECL_GETS
+#if HAVE_RAW_DECL_GETS && !defined __cplusplus
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
-
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
struct obstack;
/* Grow an obstack with formatted output. Return the number of
diff --git a/gettext-tools/gnulib-lib/stdlib.in.h b/gettext-tools/gnulib-lib/stdlib.in.h
index ee64324..428a119 100644
--- a/gettext-tools/gnulib-lib/stdlib.in.h
+++ b/gettext-tools/gnulib-lib/stdlib.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdlib.h>.
- Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/stpcpy.c b/gettext-tools/gnulib-lib/stpcpy.c
index 880a706..559d2f2 100644
--- a/gettext-tools/gnulib-lib/stpcpy.c
+++ b/gettext-tools/gnulib-lib/stpcpy.c
@@ -1,5 +1,5 @@
/* stpcpy.c -- copy a string and return pointer to end of new string
- Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2014 Free Software
+ Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/stpncpy.c b/gettext-tools/gnulib-lib/stpncpy.c
index 37018e8..e72ea47 100644
--- a/gettext-tools/gnulib-lib/stpncpy.c
+++ b/gettext-tools/gnulib-lib/stpncpy.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007, 2009-2014 Free Software
+/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007, 2009-2015 Free Software
* Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/str-kmp.h b/gettext-tools/gnulib-lib/str-kmp.h
index b25d07f..66fcead 100644
--- a/gettext-tools/gnulib-lib/str-kmp.h
+++ b/gettext-tools/gnulib-lib/str-kmp.h
@@ -1,6 +1,6 @@
/* Substring search in a NUL terminated string of UNIT elements,
using the Knuth-Morris-Pratt algorithm.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/str-two-way.h b/gettext-tools/gnulib-lib/str-two-way.h
index 49ee746..6e10c8e 100644
--- a/gettext-tools/gnulib-lib/str-two-way.h
+++ b/gettext-tools/gnulib-lib/str-two-way.h
@@ -1,5 +1,5 @@
/* Byte-wise substring search, using the Two-Way algorithm.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Eric Blake <ebb9@byu.net>, 2008.
diff --git a/gettext-tools/gnulib-lib/strchrnul.c b/gettext-tools/gnulib-lib/strchrnul.c
index 452b554..1000e83 100644
--- a/gettext-tools/gnulib-lib/strchrnul.c
+++ b/gettext-tools/gnulib-lib/strchrnul.c
@@ -1,5 +1,5 @@
/* Searching in a string.
- Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/strcspn.c b/gettext-tools/gnulib-lib/strcspn.c
index 02ffd56..73bc5d0 100644
--- a/gettext-tools/gnulib-lib/strcspn.c
+++ b/gettext-tools/gnulib-lib/strcspn.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1996-1997, 2002-2003, 2005-2006, 2009-2014 Free
+/* Copyright (C) 1991, 1994, 1996-1997, 2002-2003, 2005-2006, 2009-2015 Free
* Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/streq.h b/gettext-tools/gnulib-lib/streq.h
index 0e62fb9..6107fc6 100644
--- a/gettext-tools/gnulib-lib/streq.h
+++ b/gettext-tools/gnulib-lib/streq.h
@@ -1,5 +1,5 @@
/* Optimized string comparison.
- Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/strerror-override.c b/gettext-tools/gnulib-lib/strerror-override.c
index 255d933..2bb4d74 100644
--- a/gettext-tools/gnulib-lib/strerror-override.c
+++ b/gettext-tools/gnulib-lib/strerror-override.c
@@ -1,6 +1,6 @@
/* strerror-override.c --- POSIX compatible system error routine
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/strerror-override.h b/gettext-tools/gnulib-lib/strerror-override.h
index e98c1c1..7af36df 100644
--- a/gettext-tools/gnulib-lib/strerror-override.h
+++ b/gettext-tools/gnulib-lib/strerror-override.h
@@ -1,6 +1,6 @@
/* strerror-override.h --- POSIX compatible system error routine
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/strerror.c b/gettext-tools/gnulib-lib/strerror.c
index e54f0cc..adba738 100644
--- a/gettext-tools/gnulib-lib/strerror.c
+++ b/gettext-tools/gnulib-lib/strerror.c
@@ -1,6 +1,6 @@
/* strerror.c --- POSIX compatible system error routine
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/striconv.c b/gettext-tools/gnulib-lib/striconv.c
index 2495d81..6f7dad8 100644
--- a/gettext-tools/gnulib-lib/striconv.c
+++ b/gettext-tools/gnulib-lib/striconv.c
@@ -1,5 +1,5 @@
/* Charset conversion.
- Copyright (C) 2001-2007, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2010-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/striconv.h b/gettext-tools/gnulib-lib/striconv.h
index 5747731..33cc212 100644
--- a/gettext-tools/gnulib-lib/striconv.h
+++ b/gettext-tools/gnulib-lib/striconv.h
@@ -1,5 +1,5 @@
/* Charset conversion.
- Copyright (C) 2001-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/striconveh.c b/gettext-tools/gnulib-lib/striconveh.c
index 82222bc..2a9a8f7 100644
--- a/gettext-tools/gnulib-lib/striconveh.c
+++ b/gettext-tools/gnulib-lib/striconveh.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/striconveh.h b/gettext-tools/gnulib-lib/striconveh.h
index 4f2416e..1e13af6 100644
--- a/gettext-tools/gnulib-lib/striconveh.h
+++ b/gettext-tools/gnulib-lib/striconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/striconveha.c b/gettext-tools/gnulib-lib/striconveha.c
index f27d84e..4fadc17 100644
--- a/gettext-tools/gnulib-lib/striconveha.c
+++ b/gettext-tools/gnulib-lib/striconveha.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/striconveha.h b/gettext-tools/gnulib-lib/striconveha.h
index e739585..a5b8824 100644
--- a/gettext-tools/gnulib-lib/striconveha.h
+++ b/gettext-tools/gnulib-lib/striconveha.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/string.in.h b/gettext-tools/gnulib-lib/string.in.h
index 9062142..2abd6bc 100644
--- a/gettext-tools/gnulib-lib/string.in.h
+++ b/gettext-tools/gnulib-lib/string.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
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
@@ -15,16 +15,32 @@
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>. */
-#ifndef _@GUARD_PREFIX@_STRING_H
-
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
@PRAGMA_COLUMNS@
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+ - On OS X/NetBSD we have a sequence of nested includes
+ <string.h> -> <strings.h> -> "string.h"
+ In this situation system _chk variants due to -D_FORTIFY_SOURCE
+ might be used after any replacements defined here. */
+
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STRING_H@
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
#ifndef _@GUARD_PREFIX@_STRING_H
#define _@GUARD_PREFIX@_STRING_H
@@ -1027,3 +1043,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
#endif /* _@GUARD_PREFIX@_STRING_H */
#endif /* _@GUARD_PREFIX@_STRING_H */
+#endif
diff --git a/gettext-tools/gnulib-lib/strnlen.c b/gettext-tools/gnulib-lib/strnlen.c
index ddccebc..79e250c 100644
--- a/gettext-tools/gnulib-lib/strnlen.c
+++ b/gettext-tools/gnulib-lib/strnlen.c
@@ -1,5 +1,5 @@
/* Find the length of STRING, but scan at most MAXLEN characters.
- Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/strnlen1.c b/gettext-tools/gnulib-lib/strnlen1.c
index 363776a..48272a8 100644
--- a/gettext-tools/gnulib-lib/strnlen1.c
+++ b/gettext-tools/gnulib-lib/strnlen1.c
@@ -1,5 +1,5 @@
/* Find the length of STRING + 1, but scan at most MAXLEN bytes.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/strnlen1.h b/gettext-tools/gnulib-lib/strnlen1.h
index b2f956f..794e436 100644
--- a/gettext-tools/gnulib-lib/strnlen1.h
+++ b/gettext-tools/gnulib-lib/strnlen1.h
@@ -1,5 +1,5 @@
/* Find the length of STRING + 1, but scan at most MAXLEN bytes.
- Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/strpbrk.c b/gettext-tools/gnulib-lib/strpbrk.c
index 46e58d3..0e360f9 100644
--- a/gettext-tools/gnulib-lib/strpbrk.c
+++ b/gettext-tools/gnulib-lib/strpbrk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 2000, 2002-2003, 2006, 2009-2014 Free Software
+/* Copyright (C) 1991, 1994, 2000, 2002-2003, 2006, 2009-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/strstr.c b/gettext-tools/gnulib-lib/strstr.c
index d5b9d78..fbc11a2 100644
--- a/gettext-tools/gnulib-lib/strstr.c
+++ b/gettext-tools/gnulib-lib/strstr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2014 Free Software
+/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/strtol.c b/gettext-tools/gnulib-lib/strtol.c
index 2e015dc..1bc1439 100644
--- a/gettext-tools/gnulib-lib/strtol.c
+++ b/gettext-tools/gnulib-lib/strtol.c
@@ -1,6 +1,6 @@
/* Convert string representation of a number into an integer value.
- Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2014 Free Software
+ Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/gettext-tools/gnulib-lib/strtoul.c b/gettext-tools/gnulib-lib/strtoul.c
index 4c5ceaf..2051777 100644
--- a/gettext-tools/gnulib-lib/strtoul.c
+++ b/gettext-tools/gnulib-lib/strtoul.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/styled-ostream.c b/gettext-tools/gnulib-lib/styled-ostream.c
index 3f584e4..43b2699 100644
--- a/gettext-tools/gnulib-lib/styled-ostream.c
+++ b/gettext-tools/gnulib-lib/styled-ostream.c
@@ -2,7 +2,7 @@
#line 1 "styled-ostream.oo.c"
/* Abstract output stream for CSS styled text.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/styled-ostream.h b/gettext-tools/gnulib-lib/styled-ostream.h
index 9079bf8..3fbc60f 100644
--- a/gettext-tools/gnulib-lib/styled-ostream.h
+++ b/gettext-tools/gnulib-lib/styled-ostream.h
@@ -2,7 +2,7 @@
#line 1 "styled-ostream.oo.h"
/* Abstract output stream for CSS styled text.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/styled-ostream.oo.c b/gettext-tools/gnulib-lib/styled-ostream.oo.c
index 9ec3525..03ecbc0 100644
--- a/gettext-tools/gnulib-lib/styled-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/styled-ostream.oo.c
@@ -1,5 +1,5 @@
/* Abstract output stream for CSS styled text.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/styled-ostream.oo.h b/gettext-tools/gnulib-lib/styled-ostream.oo.h
index 944c191..4e9c8d0 100644
--- a/gettext-tools/gnulib-lib/styled-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/styled-ostream.oo.h
@@ -1,5 +1,5 @@
/* Abstract output stream for CSS styled text.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/sys_select.in.h b/gettext-tools/gnulib-lib/sys_select.in.h
index 58508b0..fd7a291 100644
--- a/gettext-tools/gnulib-lib/sys_select.in.h
+++ b/gettext-tools/gnulib-lib/sys_select.in.h
@@ -1,5 +1,5 @@
/* Substitute for <sys/select.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/sys_stat.in.h b/gettext-tools/gnulib-lib/sys_stat.in.h
index b47a7ff..9f5e853 100644
--- a/gettext-tools/gnulib-lib/sys_stat.in.h
+++ b/gettext-tools/gnulib-lib/sys_stat.in.h
@@ -1,5 +1,5 @@
/* Provide a more complete sys/stat header file.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/sys_time.in.h b/gettext-tools/gnulib-lib/sys_time.in.h
index 30057ad..c556c5d 100644
--- a/gettext-tools/gnulib-lib/sys_time.in.h
+++ b/gettext-tools/gnulib-lib/sys_time.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/time.h.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/sys_types.in.h b/gettext-tools/gnulib-lib/sys_types.in.h
index deb5d67..814bc17 100644
--- a/gettext-tools/gnulib-lib/sys_types.in.h
+++ b/gettext-tools/gnulib-lib/sys_types.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/types.h.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/sys_wait.in.h b/gettext-tools/gnulib-lib/sys_wait.in.h
index 6412af4..87d2282 100644
--- a/gettext-tools/gnulib-lib/sys_wait.in.h
+++ b/gettext-tools/gnulib-lib/sys_wait.in.h
@@ -1,5 +1,5 @@
/* A POSIX-like <sys/wait.h>.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/tempname.c b/gettext-tools/gnulib-lib/tempname.c
index 9b713cb..69c572f 100644
--- a/gettext-tools/gnulib-lib/tempname.c
+++ b/gettext-tools/gnulib-lib/tempname.c
@@ -1,6 +1,6 @@
/* tempname.c - generate the name of a temporary file.
- Copyright (C) 1991-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1991-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
@@ -62,6 +62,7 @@
# define struct_stat64 struct stat64
#else
# define struct_stat64 struct stat
+# define __try_tempname try_tempname
# define __gen_tempname gen_tempname
# define __getpid getpid
# define __gettimeofday gettimeofday
@@ -176,21 +177,9 @@ __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
static const char letters[] =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-/* Generate a temporary file name based on TMPL. TMPL must match the
- rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
- The name constructed does not exist at the time of the call to
- __gen_tempname. TMPL is overwritten with the result.
-
- KIND may be one of:
- __GT_NOCREATE: simply verify that the name does not exist
- at the time of the call.
- __GT_FILE: create the file using open(O_CREAT|O_EXCL)
- and return a read-write fd. The file is mode 0600.
- __GT_DIR: create a directory, which will be mode 0700.
-
- We use a clever algorithm to get hard-to-predict names. */
int
-__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+__try_tempname (char *tmpl, int suffixlen, void *args,
+ int (*tryfunc) (char *, void *))
{
int len;
char *XXXXXX;
@@ -199,7 +188,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
unsigned int count;
int fd = -1;
int save_errno = errno;
- struct_stat64 st;
/* A lower bound on the number of temporary files to attempt to
generate. The maximum total number of temporary file names that
@@ -256,41 +244,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
v /= 62;
XXXXXX[5] = letters[v % 62];
- switch (kind)
- {
- case __GT_FILE:
- fd = __open (tmpl,
- (flags & ~O_ACCMODE)
- | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
- break;
-
- case __GT_DIR:
- fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
- break;
-
- case __GT_NOCREATE:
- /* This case is backward from the other three. __gen_tempname
- succeeds if __xstat fails because the name does not exist.
- Note the continue to bypass the common logic at the bottom
- of the loop. */
- if (__lxstat64 (_STAT_VER, tmpl, &st) < 0)
- {
- if (errno == ENOENT)
- {
- __set_errno (save_errno);
- return 0;
- }
- else
- /* Give up now. */
- return -1;
- }
- continue;
-
- default:
- assert (! "invalid KIND in __gen_tempname");
- abort ();
- }
-
+ fd = tryfunc (tmpl, args);
if (fd >= 0)
{
__set_errno (save_errno);
@@ -304,3 +258,67 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
__set_errno (EEXIST);
return -1;
}
+
+static int
+try_file (char *tmpl, void *flags)
+{
+ int *openflags = flags;
+ return __open (tmpl,
+ (*openflags & ~O_ACCMODE)
+ | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
+}
+
+static int
+try_dir (char *tmpl, void *flags _GL_UNUSED)
+{
+ return __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
+}
+
+static int
+try_nocreate (char *tmpl, void *flags _GL_UNUSED)
+{
+ struct_stat64 st;
+
+ if (__lxstat64 (_STAT_VER, tmpl, &st) == 0)
+ __set_errno (EEXIST);
+ return errno == ENOENT ? 0 : -1;
+}
+
+/* Generate a temporary file name based on TMPL. TMPL must match the
+ rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
+ The name constructed does not exist at the time of the call to
+ __gen_tempname. TMPL is overwritten with the result.
+
+ KIND may be one of:
+ __GT_NOCREATE: simply verify that the name does not exist
+ at the time of the call.
+ __GT_FILE: create the file using open(O_CREAT|O_EXCL)
+ and return a read-write fd. The file is mode 0600.
+ __GT_DIR: create a directory, which will be mode 0700.
+
+ We use a clever algorithm to get hard-to-predict names. */
+int
+__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+{
+ int (*tryfunc) (char *, void *);
+
+ switch (kind)
+ {
+ case __GT_FILE:
+ tryfunc = try_file;
+ break;
+
+ case __GT_DIR:
+ tryfunc = try_dir;
+ break;
+
+ case __GT_NOCREATE:
+ tryfunc = try_nocreate;
+ break;
+
+ default:
+ assert (! "invalid KIND in __gen_tempname");
+ abort ();
+ }
+ return __try_tempname (tmpl, suffixlen, &flags, tryfunc);
+}
diff --git a/gettext-tools/gnulib-lib/tempname.h b/gettext-tools/gnulib-lib/tempname.h
index 44d5f04..e609360 100644
--- a/gettext-tools/gnulib-lib/tempname.h
+++ b/gettext-tools/gnulib-lib/tempname.h
@@ -1,6 +1,6 @@
/* Create a temporary file or directory.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
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
@@ -32,6 +32,10 @@
# define GT_NOCREATE 2
# endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Generate a temporary file name based on TMPL. TMPL must match the
rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
The name constructed does not exist at the time of the call to
@@ -47,4 +51,15 @@
We use a clever algorithm to get hard-to-predict names. */
extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind);
+/* Similar to gen_tempname, but TRYFUNC is called for each temporary
+ name to try. If TRYFUNC returns a non-negative number, TRY_GEN_TEMPNAME
+ returns with this value. Otherwise, if errno is set to EEXIST, another
+ name is tried, or else TRY_GEN_TEMPNAME returns -1. */
+extern int try_tempname (char *tmpl, int suffixlen, void *args,
+ int (*tryfunc) (char *, void *));
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /* GL_TEMPNAME_H */
diff --git a/gettext-tools/gnulib-lib/term-ostream.c b/gettext-tools/gnulib-lib/term-ostream.c
index fbec783..a8d5d48 100644
--- a/gettext-tools/gnulib-lib/term-ostream.c
+++ b/gettext-tools/gnulib-lib/term-ostream.c
@@ -2,7 +2,7 @@
#line 1 "term-ostream.oo.c"
/* Output stream for attributed text, producing ANSI escape sequences.
- Copyright (C) 2006-2008 Free Software Foundation, Inc.
+ Copyright (C) 2006-2008, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-ostream.h b/gettext-tools/gnulib-lib/term-ostream.h
index 8ede7e3..1e697f2 100644
--- a/gettext-tools/gnulib-lib/term-ostream.h
+++ b/gettext-tools/gnulib-lib/term-ostream.h
@@ -2,7 +2,7 @@
#line 1 "term-ostream.oo.h"
/* Output stream for attributed text, producing ANSI escape sequences.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-ostream.oo.c b/gettext-tools/gnulib-lib/term-ostream.oo.c
index 6556e15..243619a 100644
--- a/gettext-tools/gnulib-lib/term-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/term-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream for attributed text, producing ANSI escape sequences.
- Copyright (C) 2006-2008 Free Software Foundation, Inc.
+ Copyright (C) 2006-2008, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-ostream.oo.h b/gettext-tools/gnulib-lib/term-ostream.oo.h
index 1ace97b..8883b8f 100644
--- a/gettext-tools/gnulib-lib/term-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/term-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream for attributed text, producing ANSI escape sequences.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-styled-ostream.c b/gettext-tools/gnulib-lib/term-styled-ostream.c
index 38a0084..001197a 100644
--- a/gettext-tools/gnulib-lib/term-styled-ostream.c
+++ b/gettext-tools/gnulib-lib/term-styled-ostream.c
@@ -2,7 +2,7 @@
#line 1 "term-styled-ostream.oo.c"
/* Output stream for CSS styled text, producing ANSI escape sequences.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-styled-ostream.h b/gettext-tools/gnulib-lib/term-styled-ostream.h
index 51b79ee..e841f2c 100644
--- a/gettext-tools/gnulib-lib/term-styled-ostream.h
+++ b/gettext-tools/gnulib-lib/term-styled-ostream.h
@@ -2,7 +2,7 @@
#line 1 "term-styled-ostream.oo.h"
/* Output stream for CSS styled text, producing ANSI escape sequences.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-styled-ostream.oo.c b/gettext-tools/gnulib-lib/term-styled-ostream.oo.c
index a08bf65..658574b 100644
--- a/gettext-tools/gnulib-lib/term-styled-ostream.oo.c
+++ b/gettext-tools/gnulib-lib/term-styled-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream for CSS styled text, producing ANSI escape sequences.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/term-styled-ostream.oo.h b/gettext-tools/gnulib-lib/term-styled-ostream.oo.h
index b890e3d..05335ce 100644
--- a/gettext-tools/gnulib-lib/term-styled-ostream.oo.h
+++ b/gettext-tools/gnulib-lib/term-styled-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream for CSS styled text, producing ANSI escape sequences.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/terminfo.h b/gettext-tools/gnulib-lib/terminfo.h
index 320aede..6e412f0 100644
--- a/gettext-tools/gnulib-lib/terminfo.h
+++ b/gettext-tools/gnulib-lib/terminfo.h
@@ -1,5 +1,5 @@
/* Information about terminal capabilities.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/time.in.h b/gettext-tools/gnulib-lib/time.in.h
index 81abdf4..a90552c 100644
--- a/gettext-tools/gnulib-lib/time.in.h
+++ b/gettext-tools/gnulib-lib/time.in.h
@@ -1,6 +1,6 @@
/* A more-standard <time.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
@@ -22,11 +22,13 @@
/* Don't get in the way of glibc when it includes time.h merely to
declare a few standard symbols, rather than to declare all the
- symbols. Also, Solaris 8 <time.h> eventually includes itself
+ symbols. (However, skip this for MinGW as it treats __need_time_t
+ incompatibly.) Also, Solaris 8 <time.h> eventually includes itself
recursively; if that is happening, just include the system <time.h>
without adding our own declarations. */
-#if (defined __need_time_t || defined __need_clock_t \
- || defined __need_timespec \
+#if (((defined __need_time_t || defined __need_clock_t \
+ || defined __need_timespec) \
+ && !defined __MINGW32__) \
|| defined _@GUARD_PREFIX@_TIME_H)
# @INCLUDE_NEXT@ @NEXT_TIME_H@
@@ -55,6 +57,8 @@
# include <sys/time.h>
# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
# include <pthread.h>
+# elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+# include <unistd.h>
# else
# ifdef __cplusplus
@@ -229,6 +233,25 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
_GL_CXXALIASWARN (strptime);
# endif
+# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@
+typedef struct tm_zone *timezone_t;
+_GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz));
+_GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz));
+_GL_FUNCDECL_SYS (localtime_rz, struct tm *,
+ (timezone_t __tz, time_t const *restrict __timer,
+ struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_SYS (localtime_rz, struct tm *,
+ (timezone_t __tz, time_t const *restrict __timer,
+ struct tm *restrict __result));
+_GL_FUNCDECL_SYS (mktime_z, time_t,
+ (timezone_t __tz, struct tm *restrict __result)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_SYS (mktime_z, time_t,
+ (timezone_t __tz, struct tm *restrict __result));
+# endif
+
/* Convert TM to a time_t value, assuming UTC. */
# if @GNULIB_TIMEGM@
# if @REPLACE_TIMEGM@
diff --git a/gettext-tools/gnulib-lib/tmpdir.c b/gettext-tools/gnulib-lib/tmpdir.c
index e68dcef..ce39f21 100644
--- a/gettext-tools/gnulib-lib/tmpdir.c
+++ b/gettext-tools/gnulib-lib/tmpdir.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001-2002, 2006, 2009-2014 Free Software Foundation,
+/* Copyright (C) 1999, 2001-2002, 2006, 2009-2015 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/gnulib-lib/tmpdir.h b/gettext-tools/gnulib-lib/tmpdir.h
index b7a644a..d425bf4 100644
--- a/gettext-tools/gnulib-lib/tmpdir.h
+++ b/gettext-tools/gnulib-lib/tmpdir.h
@@ -1,5 +1,5 @@
/* Determine a temporary directory.
- Copyright (C) 2001-2002, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/tparm.c b/gettext-tools/gnulib-lib/tparm.c
index 878ea8d..3cc7b8d 100644
--- a/gettext-tools/gnulib-lib/tparm.c
+++ b/gettext-tools/gnulib-lib/tparm.c
@@ -1,5 +1,5 @@
/* Substitution of parameters in strings from terminal descriptions.
- Copyright (C) 2006, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2012, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/tputs.c b/gettext-tools/gnulib-lib/tputs.c
index 858b020..c7d226f 100644
--- a/gettext-tools/gnulib-lib/tputs.c
+++ b/gettext-tools/gnulib-lib/tputs.c
@@ -1,5 +1,5 @@
/* Output of string from terminal descriptions.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/trim.c b/gettext-tools/gnulib-lib/trim.c
index 742de9b..369b20f 100644
--- a/gettext-tools/gnulib-lib/trim.c
+++ b/gettext-tools/gnulib-lib/trim.c
@@ -1,5 +1,5 @@
/* Removes leading and/or trailing whitespaces
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/trim.h b/gettext-tools/gnulib-lib/trim.h
index e4dc938..8a38a9f 100644
--- a/gettext-tools/gnulib-lib/trim.h
+++ b/gettext-tools/gnulib-lib/trim.h
@@ -1,5 +1,5 @@
/* Removes leading and/or trailing whitespaces
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/uniconv.in.h b/gettext-tools/gnulib-lib/uniconv.in.h
index 4f44fc0..bca94ba 100644
--- a/gettext-tools/gnulib-lib/uniconv.in.h
+++ b/gettext-tools/gnulib-lib/uniconv.in.h
@@ -1,5 +1,5 @@
/* Conversions between Unicode and legacy encodings.
- Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/uniconv/u8-conv-from-enc.c b/gettext-tools/gnulib-lib/uniconv/u8-conv-from-enc.c
index 2d28cde..3fdc8ca 100644
--- a/gettext-tools/gnulib-lib/uniconv/u8-conv-from-enc.c
+++ b/gettext-tools/gnulib-lib/uniconv/u8-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-8 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/unictype.in.h b/gettext-tools/gnulib-lib/unictype.in.h
new file mode 100644
index 0000000..fdbfdd3
--- /dev/null
+++ b/gettext-tools/gnulib-lib/unictype.in.h
@@ -0,0 +1,1050 @@
+/* Unicode character classification and properties.
+ Copyright (C) 2002, 2005-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNICTYPE_H
+#define _UNICTYPE_H
+
+#include "unitypes.h"
+
+/* Get bool. */
+#include <stdbool.h>
+
+/* Get size_t. */
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ========================================================================= */
+
+/* Field 1 of Unicode Character Database: Character name.
+ See "uniname.h". */
+
+/* ========================================================================= */
+
+/* Field 2 of Unicode Character Database: General category. */
+
+/* Data type denoting a General category value. This is not just a bitmask,
+ but rather a bitmask and a pointer to the lookup table, so that programs
+ that use only the predefined bitmasks (i.e. don't combine bitmasks with &
+ and |) don't have a link-time dependency towards the big general table. */
+typedef struct
+{
+ uint32_t bitmask : 31;
+ /*bool*/ unsigned int generic : 1;
+ union
+ {
+ const void *table; /* when generic is 0 */
+ bool (*lookup_fn) (ucs4_t uc, uint32_t bitmask); /* when generic is 1 */
+ } lookup;
+}
+uc_general_category_t;
+
+/* Bits and bit masks denoting General category values. UnicodeData-3.2.0.html
+ says a 32-bit integer will always suffice to represent them.
+ These bit masks can only be used with the uc_is_general_category_withtable
+ function. */
+enum
+{
+ UC_CATEGORY_MASK_L = 0x0000001f,
+ UC_CATEGORY_MASK_LC = 0x00000007,
+ UC_CATEGORY_MASK_Lu = 0x00000001,
+ UC_CATEGORY_MASK_Ll = 0x00000002,
+ UC_CATEGORY_MASK_Lt = 0x00000004,
+ UC_CATEGORY_MASK_Lm = 0x00000008,
+ UC_CATEGORY_MASK_Lo = 0x00000010,
+ UC_CATEGORY_MASK_M = 0x000000e0,
+ UC_CATEGORY_MASK_Mn = 0x00000020,
+ UC_CATEGORY_MASK_Mc = 0x00000040,
+ UC_CATEGORY_MASK_Me = 0x00000080,
+ UC_CATEGORY_MASK_N = 0x00000700,
+ UC_CATEGORY_MASK_Nd = 0x00000100,
+ UC_CATEGORY_MASK_Nl = 0x00000200,
+ UC_CATEGORY_MASK_No = 0x00000400,
+ UC_CATEGORY_MASK_P = 0x0003f800,
+ UC_CATEGORY_MASK_Pc = 0x00000800,
+ UC_CATEGORY_MASK_Pd = 0x00001000,
+ UC_CATEGORY_MASK_Ps = 0x00002000,
+ UC_CATEGORY_MASK_Pe = 0x00004000,
+ UC_CATEGORY_MASK_Pi = 0x00008000,
+ UC_CATEGORY_MASK_Pf = 0x00010000,
+ UC_CATEGORY_MASK_Po = 0x00020000,
+ UC_CATEGORY_MASK_S = 0x003c0000,
+ UC_CATEGORY_MASK_Sm = 0x00040000,
+ UC_CATEGORY_MASK_Sc = 0x00080000,
+ UC_CATEGORY_MASK_Sk = 0x00100000,
+ UC_CATEGORY_MASK_So = 0x00200000,
+ UC_CATEGORY_MASK_Z = 0x01c00000,
+ UC_CATEGORY_MASK_Zs = 0x00400000,
+ UC_CATEGORY_MASK_Zl = 0x00800000,
+ UC_CATEGORY_MASK_Zp = 0x01000000,
+ UC_CATEGORY_MASK_C = 0x3e000000,
+ UC_CATEGORY_MASK_Cc = 0x02000000,
+ UC_CATEGORY_MASK_Cf = 0x04000000,
+ UC_CATEGORY_MASK_Cs = 0x08000000,
+ UC_CATEGORY_MASK_Co = 0x10000000,
+ UC_CATEGORY_MASK_Cn = 0x20000000
+};
+
+/* Predefined General category values. */
+extern const uc_general_category_t UC_CATEGORY_L;
+extern const uc_general_category_t UC_CATEGORY_LC;
+extern const uc_general_category_t UC_CATEGORY_Lu;
+extern const uc_general_category_t UC_CATEGORY_Ll;
+extern const uc_general_category_t UC_CATEGORY_Lt;
+extern const uc_general_category_t UC_CATEGORY_Lm;
+extern const uc_general_category_t UC_CATEGORY_Lo;
+extern const uc_general_category_t UC_CATEGORY_M;
+extern const uc_general_category_t UC_CATEGORY_Mn;
+extern const uc_general_category_t UC_CATEGORY_Mc;
+extern const uc_general_category_t UC_CATEGORY_Me;
+extern const uc_general_category_t UC_CATEGORY_N;
+extern const uc_general_category_t UC_CATEGORY_Nd;
+extern const uc_general_category_t UC_CATEGORY_Nl;
+extern const uc_general_category_t UC_CATEGORY_No;
+extern const uc_general_category_t UC_CATEGORY_P;
+extern const uc_general_category_t UC_CATEGORY_Pc;
+extern const uc_general_category_t UC_CATEGORY_Pd;
+extern const uc_general_category_t UC_CATEGORY_Ps;
+extern const uc_general_category_t UC_CATEGORY_Pe;
+extern const uc_general_category_t UC_CATEGORY_Pi;
+extern const uc_general_category_t UC_CATEGORY_Pf;
+extern const uc_general_category_t UC_CATEGORY_Po;
+extern const uc_general_category_t UC_CATEGORY_S;
+extern const uc_general_category_t UC_CATEGORY_Sm;
+extern const uc_general_category_t UC_CATEGORY_Sc;
+extern const uc_general_category_t UC_CATEGORY_Sk;
+extern const uc_general_category_t UC_CATEGORY_So;
+extern const uc_general_category_t UC_CATEGORY_Z;
+extern const uc_general_category_t UC_CATEGORY_Zs;
+extern const uc_general_category_t UC_CATEGORY_Zl;
+extern const uc_general_category_t UC_CATEGORY_Zp;
+extern const uc_general_category_t UC_CATEGORY_C;
+extern const uc_general_category_t UC_CATEGORY_Cc;
+extern const uc_general_category_t UC_CATEGORY_Cf;
+extern const uc_general_category_t UC_CATEGORY_Cs;
+extern const uc_general_category_t UC_CATEGORY_Co;
+extern const uc_general_category_t UC_CATEGORY_Cn;
+/* Non-public. */
+extern const uc_general_category_t _UC_CATEGORY_NONE;
+
+/* Alias names for predefined General category values. */
+#define UC_LETTER UC_CATEGORY_L
+#define UC_CASED_LETTER UC_CATEGORY_LC
+#define UC_UPPERCASE_LETTER UC_CATEGORY_Lu
+#define UC_LOWERCASE_LETTER UC_CATEGORY_Ll
+#define UC_TITLECASE_LETTER UC_CATEGORY_Lt
+#define UC_MODIFIER_LETTER UC_CATEGORY_Lm
+#define UC_OTHER_LETTER UC_CATEGORY_Lo
+#define UC_MARK UC_CATEGORY_M
+#define UC_NON_SPACING_MARK UC_CATEGORY_Mn
+#define UC_COMBINING_SPACING_MARK UC_CATEGORY_Mc
+#define UC_ENCLOSING_MARK UC_CATEGORY_Me
+#define UC_NUMBER UC_CATEGORY_N
+#define UC_DECIMAL_DIGIT_NUMBER UC_CATEGORY_Nd
+#define UC_LETTER_NUMBER UC_CATEGORY_Nl
+#define UC_OTHER_NUMBER UC_CATEGORY_No
+#define UC_PUNCTUATION UC_CATEGORY_P
+#define UC_CONNECTOR_PUNCTUATION UC_CATEGORY_Pc
+#define UC_DASH_PUNCTUATION UC_CATEGORY_Pd
+#define UC_OPEN_PUNCTUATION UC_CATEGORY_Ps /* a.k.a. UC_START_PUNCTUATION */
+#define UC_CLOSE_PUNCTUATION UC_CATEGORY_Pe /* a.k.a. UC_END_PUNCTUATION */
+#define UC_INITIAL_QUOTE_PUNCTUATION UC_CATEGORY_Pi
+#define UC_FINAL_QUOTE_PUNCTUATION UC_CATEGORY_Pf
+#define UC_OTHER_PUNCTUATION UC_CATEGORY_Po
+#define UC_SYMBOL UC_CATEGORY_S
+#define UC_MATH_SYMBOL UC_CATEGORY_Sm
+#define UC_CURRENCY_SYMBOL UC_CATEGORY_Sc
+#define UC_MODIFIER_SYMBOL UC_CATEGORY_Sk
+#define UC_OTHER_SYMBOL UC_CATEGORY_So
+#define UC_SEPARATOR UC_CATEGORY_Z
+#define UC_SPACE_SEPARATOR UC_CATEGORY_Zs
+#define UC_LINE_SEPARATOR UC_CATEGORY_Zl
+#define UC_PARAGRAPH_SEPARATOR UC_CATEGORY_Zp
+#define UC_OTHER UC_CATEGORY_C
+#define UC_CONTROL UC_CATEGORY_Cc
+#define UC_FORMAT UC_CATEGORY_Cf
+#define UC_SURROGATE UC_CATEGORY_Cs /* all of them are invalid characters */
+#define UC_PRIVATE_USE UC_CATEGORY_Co
+#define UC_UNASSIGNED UC_CATEGORY_Cn /* some of them are invalid characters */
+
+/* Return the union of two general categories.
+ This corresponds to the unions of the two sets of characters. */
+extern uc_general_category_t
+ uc_general_category_or (uc_general_category_t category1,
+ uc_general_category_t category2);
+
+/* Return the intersection of two general categories as bit masks.
+ This *does*not* correspond to the intersection of the two sets of
+ characters. */
+extern uc_general_category_t
+ uc_general_category_and (uc_general_category_t category1,
+ uc_general_category_t category2);
+
+/* Return the intersection of a general category with the complement of a
+ second general category, as bit masks.
+ This *does*not* correspond to the intersection with complement, when
+ viewing the categories as sets of characters. */
+extern uc_general_category_t
+ uc_general_category_and_not (uc_general_category_t category1,
+ uc_general_category_t category2);
+
+/* Return the name of a general category. */
+extern const char *
+ uc_general_category_name (uc_general_category_t category)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the long name of a general category. */
+extern const char *
+ uc_general_category_long_name (uc_general_category_t category)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the general category given by name, e.g. "Lu", or by long name,
+ e.g. "Uppercase Letter". */
+extern uc_general_category_t
+ uc_general_category_byname (const char *category_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the general category of a Unicode character. */
+extern uc_general_category_t
+ uc_general_category (ucs4_t uc)
+ _UC_ATTRIBUTE_PURE;
+
+/* Test whether a Unicode character belongs to a given category.
+ The CATEGORY argument can be the combination of several predefined
+ general categories. */
+extern bool
+ uc_is_general_category (ucs4_t uc, uc_general_category_t category)
+ _UC_ATTRIBUTE_PURE;
+/* Likewise. This function uses a big table comprising all categories. */
+extern bool
+ uc_is_general_category_withtable (ucs4_t uc, uint32_t bitmask)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 3 of Unicode Character Database: Canonical combining class. */
+
+/* The possible results of uc_combining_class (0..255) are described in
+ UCD.html. The list here is not definitive; more values can be added
+ in future versions. */
+enum
+{
+ UC_CCC_NR = 0, /* Not Reordered */
+ UC_CCC_OV = 1, /* Overlay */
+ UC_CCC_NK = 7, /* Nukta */
+ UC_CCC_KV = 8, /* Kana Voicing */
+ UC_CCC_VR = 9, /* Virama */
+ UC_CCC_ATBL = 200, /* Attached Below Left */
+ UC_CCC_ATB = 202, /* Attached Below */
+ UC_CCC_ATA = 214, /* Attached Above */
+ UC_CCC_ATAR = 216, /* Attached Above Right */
+ UC_CCC_BL = 218, /* Below Left */
+ UC_CCC_B = 220, /* Below */
+ UC_CCC_BR = 222, /* Below Right */
+ UC_CCC_L = 224, /* Left */
+ UC_CCC_R = 226, /* Right */
+ UC_CCC_AL = 228, /* Above Left */
+ UC_CCC_A = 230, /* Above */
+ UC_CCC_AR = 232, /* Above Right */
+ UC_CCC_DB = 233, /* Double Below */
+ UC_CCC_DA = 234, /* Double Above */
+ UC_CCC_IS = 240 /* Iota Subscript */
+};
+
+/* Return the canonical combining class of a Unicode character. */
+extern int
+ uc_combining_class (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the name of a canonical combining class. */
+extern const char *
+ uc_combining_class_name (int ccc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the long name of a canonical combining class. */
+extern const char *
+ uc_combining_class_long_name (int ccc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the canonical combining class given by name, e.g. "BL", or by long
+ name, e.g. "Below Left". */
+extern int
+ uc_combining_class_byname (const char *ccc_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* ========================================================================= */
+
+/* Field 4 of Unicode Character Database: Bidi class.
+ Before Unicode 4.0, this field was called "Bidirectional category". */
+
+enum
+{
+ UC_BIDI_L, /* Left-to-Right */
+ UC_BIDI_LRE, /* Left-to-Right Embedding */
+ UC_BIDI_LRO, /* Left-to-Right Override */
+ UC_BIDI_R, /* Right-to-Left */
+ UC_BIDI_AL, /* Right-to-Left Arabic */
+ UC_BIDI_RLE, /* Right-to-Left Embedding */
+ UC_BIDI_RLO, /* Right-to-Left Override */
+ UC_BIDI_PDF, /* Pop Directional Format */
+ UC_BIDI_EN, /* European Number */
+ UC_BIDI_ES, /* European Number Separator */
+ UC_BIDI_ET, /* European Number Terminator */
+ UC_BIDI_AN, /* Arabic Number */
+ UC_BIDI_CS, /* Common Number Separator */
+ UC_BIDI_NSM, /* Non-Spacing Mark */
+ UC_BIDI_BN, /* Boundary Neutral */
+ UC_BIDI_B, /* Paragraph Separator */
+ UC_BIDI_S, /* Segment Separator */
+ UC_BIDI_WS, /* Whitespace */
+ UC_BIDI_ON, /* Other Neutral */
+ UC_BIDI_LRI, /* Left-to-Right Isolate */
+ UC_BIDI_RLI, /* Right-to-Left Isolate */
+ UC_BIDI_FSI, /* First Strong Isolate */
+ UC_BIDI_PDI /* Pop Directional Isolate */
+};
+
+/* Return the name of a bidi class. */
+extern const char *
+ uc_bidi_class_name (int bidi_class)
+ _UC_ATTRIBUTE_CONST;
+/* Same; obsolete function name. */
+extern const char *
+ uc_bidi_category_name (int category)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the long name of a bidi class. */
+extern const char *
+ uc_bidi_class_long_name (int bidi_class)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the bidi class given by name, e.g. "LRE", or by long name, e.g.
+ "Left-to-Right Embedding". */
+extern int
+ uc_bidi_class_byname (const char *bidi_class_name)
+ _UC_ATTRIBUTE_PURE;
+/* Same; obsolete function name. */
+extern int
+ uc_bidi_category_byname (const char *category_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the bidi class of a Unicode character. */
+extern int
+ uc_bidi_class (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+/* Same; obsolete function name. */
+extern int
+ uc_bidi_category (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test whether a Unicode character belongs to a given bidi class. */
+extern bool
+ uc_is_bidi_class (ucs4_t uc, int bidi_class)
+ _UC_ATTRIBUTE_CONST;
+/* Same; obsolete function name. */
+extern bool
+ uc_is_bidi_category (ucs4_t uc, int category)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 5 of Unicode Character Database: Character decomposition mapping.
+ See "uninorm.h". */
+
+/* ========================================================================= */
+
+/* Field 6 of Unicode Character Database: Decimal digit value. */
+
+/* Return the decimal digit value of a Unicode character. */
+extern int
+ uc_decimal_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 7 of Unicode Character Database: Digit value. */
+
+/* Return the digit value of a Unicode character. */
+extern int
+ uc_digit_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 8 of Unicode Character Database: Numeric value. */
+
+/* Return the numeric value of a Unicode character. */
+typedef struct
+{
+ int numerator;
+ int denominator;
+}
+uc_fraction_t;
+extern uc_fraction_t
+ uc_numeric_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 9 of Unicode Character Database: Mirrored. */
+
+/* Return the mirrored character of a Unicode character UC in *PUC. */
+extern bool
+ uc_mirror_char (ucs4_t uc, ucs4_t *puc);
+
+/* ========================================================================= */
+
+/* Field 10 of Unicode Character Database: Unicode 1.0 Name.
+ Not available in this library. */
+
+/* ========================================================================= */
+
+/* Field 11 of Unicode Character Database: ISO 10646 comment.
+ Not available in this library. */
+
+/* ========================================================================= */
+
+/* Field 12, 13, 14 of Unicode Character Database: Uppercase mapping,
+ lowercase mapping, titlecase mapping. See "unicase.h". */
+
+/* ========================================================================= */
+
+/* Field 2 of the file ArabicShaping.txt in the Unicode Character Database. */
+
+/* Possible joining types. */
+enum
+{
+ UC_JOINING_TYPE_U, /* Non_Joining */
+ UC_JOINING_TYPE_T, /* Transparent */
+ UC_JOINING_TYPE_C, /* Join_Causing */
+ UC_JOINING_TYPE_L, /* Left_Joining */
+ UC_JOINING_TYPE_R, /* Right_Joining */
+ UC_JOINING_TYPE_D /* Dual_Joining */
+};
+
+/* Return the name of a joining type. */
+extern const char *
+ uc_joining_type_name (int joining_type)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the long name of a joining type. */
+extern const char *
+ uc_joining_type_long_name (int joining_type)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the joining type given by name, e.g. "D", or by long name, e.g.
+ "Dual Joining". */
+extern int
+ uc_joining_type_byname (const char *joining_type_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the joining type of a Unicode character. */
+extern int
+ uc_joining_type (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 3 of the file ArabicShaping.txt in the Unicode Character Database. */
+
+/* Possible joining groups.
+ This enumeration may be extended in the future. */
+enum
+{
+ UC_JOINING_GROUP_NONE, /* No_Joining_Group */
+ UC_JOINING_GROUP_AIN, /* Ain */
+ UC_JOINING_GROUP_ALAPH, /* Alaph */
+ UC_JOINING_GROUP_ALEF, /* Alef */
+ UC_JOINING_GROUP_BEH, /* Beh */
+ UC_JOINING_GROUP_BETH, /* Beth */
+ UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE, /* Burushaski_Yeh_Barree */
+ UC_JOINING_GROUP_DAL, /* Dal */
+ UC_JOINING_GROUP_DALATH_RISH, /* Dalath_Rish */
+ UC_JOINING_GROUP_E, /* E */
+ UC_JOINING_GROUP_FARSI_YEH, /* Farsi_Yeh */
+ UC_JOINING_GROUP_FE, /* Fe */
+ UC_JOINING_GROUP_FEH, /* Feh */
+ UC_JOINING_GROUP_FINAL_SEMKATH, /* Final_Semkath */
+ UC_JOINING_GROUP_GAF, /* Gaf */
+ UC_JOINING_GROUP_GAMAL, /* Gamal */
+ UC_JOINING_GROUP_HAH, /* Hah */
+ UC_JOINING_GROUP_HE, /* He */
+ UC_JOINING_GROUP_HEH, /* Heh */
+ UC_JOINING_GROUP_HEH_GOAL, /* Heh_Goal */
+ UC_JOINING_GROUP_HETH, /* Heth */
+ UC_JOINING_GROUP_KAF, /* Kaf */
+ UC_JOINING_GROUP_KAPH, /* Kaph */
+ UC_JOINING_GROUP_KHAPH, /* Khaph */
+ UC_JOINING_GROUP_KNOTTED_HEH, /* Knotted_Heh */
+ UC_JOINING_GROUP_LAM, /* Lam */
+ UC_JOINING_GROUP_LAMADH, /* Lamadh */
+ UC_JOINING_GROUP_MEEM, /* Meem */
+ UC_JOINING_GROUP_MIM, /* Mim */
+ UC_JOINING_GROUP_NOON, /* Noon */
+ UC_JOINING_GROUP_NUN, /* Nun */
+ UC_JOINING_GROUP_NYA, /* Nya */
+ UC_JOINING_GROUP_PE, /* Pe */
+ UC_JOINING_GROUP_QAF, /* Qaf */
+ UC_JOINING_GROUP_QAPH, /* Qaph */
+ UC_JOINING_GROUP_REH, /* Reh */
+ UC_JOINING_GROUP_REVERSED_PE, /* Reversed_Pe */
+ UC_JOINING_GROUP_SAD, /* Sad */
+ UC_JOINING_GROUP_SADHE, /* Sadhe */
+ UC_JOINING_GROUP_SEEN, /* Seen */
+ UC_JOINING_GROUP_SEMKATH, /* Semkath */
+ UC_JOINING_GROUP_SHIN, /* Shin */
+ UC_JOINING_GROUP_SWASH_KAF, /* Swash_Kaf */
+ UC_JOINING_GROUP_SYRIAC_WAW, /* Syriac_Waw */
+ UC_JOINING_GROUP_TAH, /* Tah */
+ UC_JOINING_GROUP_TAW, /* Taw */
+ UC_JOINING_GROUP_TEH_MARBUTA, /* Teh_Marbuta */
+ UC_JOINING_GROUP_TEH_MARBUTA_GOAL, /* Teh_Marbuta_Goal */
+ UC_JOINING_GROUP_TETH, /* Teth */
+ UC_JOINING_GROUP_WAW, /* Waw */
+ UC_JOINING_GROUP_YEH, /* Yeh */
+ UC_JOINING_GROUP_YEH_BARREE, /* Yeh_Barree */
+ UC_JOINING_GROUP_YEH_WITH_TAIL, /* Yeh_With_Tail */
+ UC_JOINING_GROUP_YUDH, /* Yudh */
+ UC_JOINING_GROUP_YUDH_HE, /* Yudh_He */
+ UC_JOINING_GROUP_ZAIN, /* Zain */
+ UC_JOINING_GROUP_ZHAIN, /* Zhain */
+ UC_JOINING_GROUP_ROHINGYA_YEH, /* Rohingya_Yeh */
+ UC_JOINING_GROUP_STRAIGHT_WAW, /* Straight_Waw */
+ UC_JOINING_GROUP_MANICHAEAN_ALEPH, /* Manichaean_Aleph */
+ UC_JOINING_GROUP_MANICHAEAN_BETH, /* Manichaean_Beth */
+ UC_JOINING_GROUP_MANICHAEAN_GIMEL, /* Manichaean_Gimel */
+ UC_JOINING_GROUP_MANICHAEAN_DALETH, /* Manichaean_Daleth */
+ UC_JOINING_GROUP_MANICHAEAN_WAW, /* Manichaean_Waw */
+ UC_JOINING_GROUP_MANICHAEAN_ZAYIN, /* Manichaean_Zayin */
+ UC_JOINING_GROUP_MANICHAEAN_HETH, /* Manichaean_Heth */
+ UC_JOINING_GROUP_MANICHAEAN_TETH, /* Manichaean_Teth */
+ UC_JOINING_GROUP_MANICHAEAN_YODH, /* Manichaean_Yodh */
+ UC_JOINING_GROUP_MANICHAEAN_KAPH, /* Manichaean_Kaph */
+ UC_JOINING_GROUP_MANICHAEAN_LAMEDH, /* Manichaean_Lamedh */
+ UC_JOINING_GROUP_MANICHAEAN_DHAMEDH, /* Manichaean_Dhamedh */
+ UC_JOINING_GROUP_MANICHAEAN_THAMEDH, /* Manichaean_Thamedh */
+ UC_JOINING_GROUP_MANICHAEAN_MEM, /* Manichaean_Mem */
+ UC_JOINING_GROUP_MANICHAEAN_NUN, /* Manichaean_Nun */
+ UC_JOINING_GROUP_MANICHAEAN_SAMEKH, /* Manichaean_Aleph */
+ UC_JOINING_GROUP_MANICHAEAN_AYIN, /* Manichaean_Ayin */
+ UC_JOINING_GROUP_MANICHAEAN_PE, /* Manichaean_Pe */
+ UC_JOINING_GROUP_MANICHAEAN_SADHE, /* Manichaean_Sadhe */
+ UC_JOINING_GROUP_MANICHAEAN_QOPH, /* Manichaean_Qoph */
+ UC_JOINING_GROUP_MANICHAEAN_RESH, /* Manichaean_Resh */
+ UC_JOINING_GROUP_MANICHAEAN_TAW, /* Manichaean_Taw */
+ UC_JOINING_GROUP_MANICHAEAN_ONE, /* Manichaean_One */
+ UC_JOINING_GROUP_MANICHAEAN_FIVE, /* Manichaean_Five */
+ UC_JOINING_GROUP_MANICHAEAN_TEN, /* Manichaean_Ten */
+ UC_JOINING_GROUP_MANICHAEAN_TWENTY, /* Manichaean_Twenty */
+ UC_JOINING_GROUP_MANICHAEAN_HUNDRED /* Manichaean_Hundred */
+};
+
+/* Return the name of a joining group. */
+extern const char *
+ uc_joining_group_name (int joining_group)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the joining group given by name, e.g. "Teh_Marbuta". */
+extern int
+ uc_joining_group_byname (const char *joining_group_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the joining group of a Unicode character. */
+extern int
+ uc_joining_group (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Common API for properties. */
+
+/* Data type denoting a property. This is not just a number, but rather a
+ pointer to the test functions, so that programs that use only few of the
+ properties don't have a link-time dependency towards all the tables. */
+typedef struct
+{
+ bool (*test_fn) (ucs4_t uc);
+}
+uc_property_t;
+
+/* Predefined properties. */
+/* General. */
+extern const uc_property_t UC_PROPERTY_WHITE_SPACE;
+extern const uc_property_t UC_PROPERTY_ALPHABETIC;
+extern const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC;
+extern const uc_property_t UC_PROPERTY_NOT_A_CHARACTER;
+extern const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT;
+extern const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT;
+extern const uc_property_t UC_PROPERTY_DEPRECATED;
+extern const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION;
+extern const uc_property_t UC_PROPERTY_VARIATION_SELECTOR;
+extern const uc_property_t UC_PROPERTY_PRIVATE_USE;
+extern const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE;
+/* Case. */
+extern const uc_property_t UC_PROPERTY_UPPERCASE;
+extern const uc_property_t UC_PROPERTY_OTHER_UPPERCASE;
+extern const uc_property_t UC_PROPERTY_LOWERCASE;
+extern const uc_property_t UC_PROPERTY_OTHER_LOWERCASE;
+extern const uc_property_t UC_PROPERTY_TITLECASE;
+extern const uc_property_t UC_PROPERTY_CASED;
+extern const uc_property_t UC_PROPERTY_CASE_IGNORABLE;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_LOWERCASED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_TITLECASED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEFOLDED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEMAPPED;
+extern const uc_property_t UC_PROPERTY_SOFT_DOTTED;
+/* Identifiers. */
+extern const uc_property_t UC_PROPERTY_ID_START;
+extern const uc_property_t UC_PROPERTY_OTHER_ID_START;
+extern const uc_property_t UC_PROPERTY_ID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_XID_START;
+extern const uc_property_t UC_PROPERTY_XID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
+extern const uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
+/* Shaping and rendering. */
+extern const uc_property_t UC_PROPERTY_JOIN_CONTROL;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_BASE;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND;
+extern const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_LINK;
+/* Bidi. */
+extern const uc_property_t UC_PROPERTY_BIDI_CONTROL;
+extern const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT;
+extern const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT;
+extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT;
+extern const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT;
+extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT;
+extern const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_WHITESPACE;
+extern const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK;
+extern const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL;
+extern const uc_property_t UC_PROPERTY_BIDI_PDF;
+extern const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE;
+extern const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL;
+/* Numeric. */
+extern const uc_property_t UC_PROPERTY_HEX_DIGIT;
+extern const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT;
+/* CJK. */
+extern const uc_property_t UC_PROPERTY_IDEOGRAPHIC;
+extern const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
+extern const uc_property_t UC_PROPERTY_RADICAL;
+extern const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
+extern const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
+/* Misc. */
+extern const uc_property_t UC_PROPERTY_ZERO_WIDTH;
+extern const uc_property_t UC_PROPERTY_SPACE;
+extern const uc_property_t UC_PROPERTY_NON_BREAK;
+extern const uc_property_t UC_PROPERTY_ISO_CONTROL;
+extern const uc_property_t UC_PROPERTY_FORMAT_CONTROL;
+extern const uc_property_t UC_PROPERTY_DASH;
+extern const uc_property_t UC_PROPERTY_HYPHEN;
+extern const uc_property_t UC_PROPERTY_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_LINE_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_QUOTATION_MARK;
+extern const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL;
+extern const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL;
+extern const uc_property_t UC_PROPERTY_MATH;
+extern const uc_property_t UC_PROPERTY_OTHER_MATH;
+extern const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_LEFT_OF_PAIR;
+extern const uc_property_t UC_PROPERTY_COMBINING;
+extern const uc_property_t UC_PROPERTY_COMPOSITE;
+extern const uc_property_t UC_PROPERTY_DECIMAL_DIGIT;
+extern const uc_property_t UC_PROPERTY_NUMERIC;
+extern const uc_property_t UC_PROPERTY_DIACRITIC;
+extern const uc_property_t UC_PROPERTY_EXTENDER;
+extern const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL;
+
+/* Return the property given by name, e.g. "White space". */
+extern uc_property_t
+ uc_property_byname (const char *property_name);
+
+/* Test whether a property is valid. */
+#define uc_property_is_valid(property) ((property).test_fn != NULL)
+
+/* Test whether a Unicode character has a given property. */
+extern bool
+ uc_is_property (ucs4_t uc, uc_property_t property);
+extern bool uc_is_property_white_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_alphabetic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_alphabetic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_not_a_character (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_default_ignorable_code_point (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_default_ignorable_code_point (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_deprecated (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_logical_order_exception (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_variation_selector (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_private_use (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_unassigned_code_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_uppercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_uppercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_lowercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_lowercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_titlecase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_cased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_case_ignorable (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_lowercased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_uppercased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_titlecased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_casefolded (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_casemapped (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_soft_dotted (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_id_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_id_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_xid_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_xid_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_pattern_white_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_pattern_syntax (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_join_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_grapheme_base (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_grapheme_extend (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_grapheme_extend (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_grapheme_link (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_left_to_right (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_arabic_right_to_left (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_european_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_eur_num_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_eur_num_terminator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_arabic_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_common_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_block_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_segment_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_whitespace (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_non_spacing_mark (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_boundary_neutral (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_pdf (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_embedding_or_override (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_other_neutral (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_hex_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ascii_hex_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ideographic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_unified_ideograph (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_radical (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_binary_operator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_trinary_operator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_zero_width (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_non_break (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_iso_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_format_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_dash (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_hyphen (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_punctuation (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_line_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_paragraph_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_quotation_mark (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_sentence_terminal (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_terminal_punctuation (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_currency_symbol (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_math (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_math (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_paired_punctuation (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_left_of_pair (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_combining (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_composite (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_decimal_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_numeric (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_diacritic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_extender (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ignorable_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Subdivision of the Unicode characters into scripts. */
+
+typedef struct
+{
+ unsigned int code : 21;
+ unsigned int start : 1;
+ unsigned int end : 1;
+}
+uc_interval_t;
+typedef struct
+{
+ unsigned int nintervals;
+ const uc_interval_t *intervals;
+ const char *name;
+}
+uc_script_t;
+
+/* Return the script of a Unicode character. */
+extern const uc_script_t *
+ uc_script (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the script given by name, e.g. "HAN". */
+extern const uc_script_t *
+ uc_script_byname (const char *script_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Test whether a Unicode character belongs to a given script. */
+extern bool
+ uc_is_script (ucs4_t uc, const uc_script_t *script)
+ _UC_ATTRIBUTE_PURE;
+
+/* Get the list of all scripts. */
+extern void
+ uc_all_scripts (const uc_script_t **scripts, size_t *count);
+
+/* ========================================================================= */
+
+/* Subdivision of the Unicode character range into blocks. */
+
+typedef struct
+{
+ ucs4_t start;
+ ucs4_t end;
+ const char *name;
+}
+uc_block_t;
+
+/* Return the block a character belongs to. */
+extern const uc_block_t *
+ uc_block (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test whether a Unicode character belongs to a given block. */
+extern bool
+ uc_is_block (ucs4_t uc, const uc_block_t *block)
+ _UC_ATTRIBUTE_PURE;
+
+/* Get the list of all blocks. */
+extern void
+ uc_all_blocks (const uc_block_t **blocks, size_t *count);
+
+/* ========================================================================= */
+
+/* Properties taken from language standards. */
+
+/* Test whether a Unicode character is considered whitespace in ISO C 99. */
+extern bool
+ uc_is_c_whitespace (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test whether a Unicode character is considered whitespace in Java. */
+extern bool
+ uc_is_java_whitespace (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+enum
+{
+ UC_IDENTIFIER_START, /* valid as first or subsequent character */
+ UC_IDENTIFIER_VALID, /* valid as subsequent character only */
+ UC_IDENTIFIER_INVALID, /* not valid */
+ UC_IDENTIFIER_IGNORABLE /* ignorable (Java only) */
+};
+
+/* Return the categorization of a Unicode character w.r.t. the ISO C 99
+ identifier syntax. */
+extern int
+ uc_c_ident_category (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the categorization of a Unicode character w.r.t. the Java
+ identifier syntax. */
+extern int
+ uc_java_ident_category (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Like ISO C <ctype.h> and <wctype.h>. These functions are deprecated,
+ because this set of functions was designed with ASCII in mind and cannot
+ reflect the more diverse reality of the Unicode character set. But they
+ can be a quick-and-dirty porting aid when migrating from wchar_t APIs
+ to Unicode strings. */
+
+/* Test for any character for which 'uc_is_alpha' or 'uc_is_digit' is true. */
+extern bool
+ uc_is_alnum (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character for which 'uc_is_upper' or 'uc_is_lower' is true,
+ or any character that is one of a locale-specific set of characters for
+ which none of 'uc_is_cntrl', 'uc_is_digit', 'uc_is_punct', or 'uc_is_space'
+ is true. */
+extern bool
+ uc_is_alpha (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any control character. */
+extern bool
+ uc_is_cntrl (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a decimal-digit character. */
+extern bool
+ uc_is_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character for which 'uc_is_print' is true and 'uc_is_space'
+ is false. */
+extern bool
+ uc_is_graph (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a lowercase letter or is one
+ of a locale-specific set of characters for which none of 'uc_is_cntrl',
+ 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true. */
+extern bool
+ uc_is_lower (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any printing character. */
+extern bool
+ uc_is_print (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any printing character that is one of a locale-specific set of
+ characters for which neither 'uc_is_space' nor 'uc_is_alnum' is true. */
+extern bool
+ uc_is_punct (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a locale-specific set of
+ characters for which none of 'uc_is_alnum', 'uc_is_graph', or 'uc_is_punct'
+ is true. */
+extern bool
+ uc_is_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to an uppercase letter or is one
+ of a locale-specific set of character for which none of 'uc_is_cntrl',
+ 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true. */
+extern bool
+ uc_is_upper (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a hexadecimal-digit
+ character. */
+extern bool
+ uc_is_xdigit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* GNU extension. */
+/* Test for any character that corresponds to a standard blank character or
+ a locale-specific set of characters for which 'uc_is_alnum' is false. */
+extern bool
+ uc_is_blank (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNICTYPE_H */
diff --git a/gettext-tools/gnulib-lib/unictype/bitmap.h b/gettext-tools/gnulib-lib/unictype/bitmap.h
new file mode 100644
index 0000000..19aea60
--- /dev/null
+++ b/gettext-tools/gnulib-lib/unictype/bitmap.h
@@ -0,0 +1,47 @@
+/* Three-level bitmap lookup.
+ Copyright (C) 2000-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+static inline int bitmap_lookup (const void *table, ucs4_t uc);
+
+/* These values are currently hardcoded into gen-ctype.c. */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+
+static inline int
+bitmap_lookup (const void *table, ucs4_t uc)
+{
+ unsigned int index1 = uc >> header_0;
+ if (index1 < ((const int *) table)[0])
+ {
+ int lookup1 = ((const int *) table)[1 + index1];
+ if (lookup1 >= 0)
+ {
+ unsigned int index2 = (uc >> header_2) & header_3;
+ int lookup2 = ((const short *) table)[lookup1 + index2];
+ if (lookup2 >= 0)
+ {
+ unsigned int index3 = (uc >> 5) & header_4;
+ unsigned int lookup3 = ((const int *) table)[lookup2 + index3];
+
+ return (lookup3 >> (uc & 0x1f)) & 1;
+ }
+ }
+ }
+ return 0;
+}
diff --git a/gettext-tools/gnulib-lib/unictype/ctype_space.c b/gettext-tools/gnulib-lib/unictype/ctype_space.c
new file mode 100644
index 0000000..7bca2ac
--- /dev/null
+++ b/gettext-tools/gnulib-lib/unictype/ctype_space.c
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_space table. */
+#include "ctype_space.h"
+
+bool
+uc_is_space (ucs4_t uc)
+{
+ return bitmap_lookup (&u_is_space, uc);
+}
diff --git a/gettext-tools/gnulib-lib/unictype/ctype_space.h b/gettext-tools/gnulib-lib/unictype/ctype_space.h
new file mode 100644
index 0000000..86a7373
--- /dev/null
+++ b/gettext-tools/gnulib-lib/unictype/ctype_space.h
@@ -0,0 +1,168 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+ {
+ int header[1];
+ int level1[1];
+ short level2[1 << 7];
+ /*unsigned*/ int level3[4 << 4];
+ }
+u_is_space =
+{
+ { 1 },
+ { 2 * sizeof (int) / sizeof (short) + 0 },
+ {
+ 2 + 128 * sizeof (short) / sizeof (int) + 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 16,
+ -1,
+ -1,
+ -1,
+ -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 32,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 48,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ },
+ {
+ 0x00003E00, 0x00000001, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000001, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x0000077F, 0x00000300, 0x80000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000001, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000
+ }
+};
diff --git a/gettext-tools/gnulib-lib/unilbrk.in.h b/gettext-tools/gnulib-lib/unilbrk.in.h
index de0f453..0ff4556 100644
--- a/gettext-tools/gnulib-lib/unilbrk.in.h
+++ b/gettext-tools/gnulib-lib/unilbrk.in.h
@@ -1,5 +1,5 @@
/* Line breaking of Unicode strings.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unilbrk/lbrkprop1.h b/gettext-tools/gnulib-lib/unilbrk/lbrkprop1.h
index aacd2d7..c0fd7f2 100644
--- a/gettext-tools/gnulib-lib/unilbrk/lbrkprop1.h
+++ b/gettext-tools/gnulib-lib/unilbrk/lbrkprop1.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Line breaking properties of Unicode characters. */
-/* Generated automatically by gen-lbrk for Unicode 6.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
/* Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
@@ -27,7 +27,7 @@ typedef struct
{
int level1[15];
int level2[4 << 9];
- unsigned char level3[166 << 7];
+ unsigned char level3[206 << 7];
}
lbrkprop_t;
extern const lbrkprop_t unilbrkprop;
diff --git a/gettext-tools/gnulib-lib/unilbrk/lbrkprop2.h b/gettext-tools/gnulib-lib/unilbrk/lbrkprop2.h
index 6c1baff..d31c58d 100644
--- a/gettext-tools/gnulib-lib/unilbrk/lbrkprop2.h
+++ b/gettext-tools/gnulib-lib/unilbrk/lbrkprop2.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Line breaking properties of Unicode characters. */
-/* Generated automatically by gen-lbrk for Unicode 6.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
/* Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
@@ -26,58 +26,58 @@ const lbrkprop_t unilbrkprop =
{
0, 128, 256, 256, 256, 384, 512, 640,
256, 768, 896, 1024, 1152, 1280, 1408, 1536,
- 1664, -1, 1792, 1920, 2048, 2176, 2304, 2432,
- 2560, 2688, 2816, 2944, 3072, 3200, 3328, 3456,
- 3584, 3712, 3840, 3968, 4096, 4224, 4352, 4480,
- 4608, 256, 256, 256, 256, 4736, 4864, 4992,
- 5120, 5248, 5376, 5504, 5632, 5760, 5888, 6016,
- 6144, 6272, 256, 6400, 256, 256, 6528, 6656,
- 6784, 6912, 7040, 7168, 7296, 7424, 7552, 7680,
- 7808, 7936, 8064, 8192, 8320, 8448, 8576, 8704,
- 256, 256, 256, 8832, 256, 256, 8960, -1,
- 9088, 9216, 9344, 9472, 9600, 9728, 9856, 9984,
- 10112, 10240, 10368, 10496, 10624, 10752, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 10880, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 11008, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 11136, 256, 256, 11264, 11392, 256, 11520,
- 11648, 11776, 11904, 12032, 12160, 12288, 12416, 12544,
- 12672, 12800, 12928, 13056, 13184, 13312, 13440, 12672,
- 12800, 12928, 13056, 13184, 13312, 13440, 12672, 12800,
- 12928, 13056, 13184, 13312, 13440, 12672, 12800, 12928,
- 13056, 13184, 13312, 13440, 12672, 12800, 12928, 13056,
- 13184, 13312, 13440, 12672, 12800, 12928, 13056, 13184,
- 13312, 13440, 12672, 12800, 12928, 13056, 13184, 13312,
- 13440, 12672, 12800, 12928, 13056, 13184, 13312, 13440,
- 12672, 12800, 12928, 13056, 13184, 13312, 13440, 12672,
- 12800, 12928, 13056, 13184, 13312, 13440, 12672, 12800,
- 12928, 13056, 13184, 13312, 13440, 12672, 12800, 12928,
- 13056, 13184, 13312, 13440, 12672, 12800, 12928, 13568,
+ 1664, 1792, 1920, 2048, 2176, 2304, 2432, 2560,
+ 2688, 2816, 2944, 3072, 3200, 3328, 3456, 3584,
+ 3712, 3840, 3968, 4096, 4224, 4352, 4480, 4608,
+ 4736, 256, 256, 256, 256, 4864, 4992, 5120,
+ 5248, 5376, 5504, 5632, 5760, 5888, 6016, 6144,
+ 6272, 6400, 256, 6528, 256, 256, 6656, 6784,
+ 6912, 7040, 7168, 7296, 7424, 7552, 7680, 7808,
+ 7936, 8064, 8192, 8320, 8448, 8576, 8704, 8832,
+ 256, 256, 256, 8960, 256, 256, 9088, 9216,
+ 9344, 9472, 9600, 9728, 9856, 9984, 10112, 10240,
+ 10368, 10496, 10624, 10752, 10880, 11008, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 11136, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 11264, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 11392, 256, 256, 11520, 11648, 256, 11776,
+ 11904, 12032, 12160, 12288, 12416, 12544, 12672, 12800,
+ 12928, 13056, 13184, 13312, 13440, 13568, 13696, 12928,
+ 13056, 13184, 13312, 13440, 13568, 13696, 12928, 13056,
+ 13184, 13312, 13440, 13568, 13696, 12928, 13056, 13184,
+ 13312, 13440, 13568, 13696, 12928, 13056, 13184, 13312,
+ 13440, 13568, 13696, 12928, 13056, 13184, 13312, 13440,
+ 13568, 13696, 12928, 13056, 13184, 13312, 13440, 13568,
+ 13696, 12928, 13056, 13184, 13312, 13440, 13568, 13696,
+ 12928, 13056, 13184, 13312, 13440, 13568, 13696, 12928,
+ 13056, 13184, 13312, 13440, 13568, 13696, 12928, 13056,
+ 13184, 13312, 13440, 13568, 13696, 12928, 13056, 13184,
+ 13312, 13440, 13568, 13696, 12928, 13056, 13184, 13824,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -86,23 +86,26 @@ const lbrkprop_t unilbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 9856, 9856, 9856, 9856, 13696, 13824,
- 256, 256, 13952, 14080, 14208, 14336, 14464, 14592,
- 14720, 14848, 14976, 15104, -1, 15232, 15360, 15488,
- 256, 15616, -1, -1, -1, -1, -1, -1,
- 15744, -1, 15872, -1, 16000, -1, 16128, -1,
- 16256, -1, -1, -1, 16384, -1, -1, -1,
- 16512, 16640, -1, -1, -1, -1, -1, -1,
+ -1, -1, 10112, 10112, 10112, 10112, 13952, 14080,
+ 256, 256, 14208, 14336, 14464, 14592, 14720, 14848,
+ 14976, 15104, 15232, 15360, -1, 15488, 15616, 15744,
+ 256, 15872, 16000, -1, 256, 256, 16128, -1,
+ 16256, 16384, 16512, 16640, 16768, 16896, 17024, 17152,
+ 17280, 17408, -1, -1, 17536, -1, -1, -1,
+ 17664, 17792, 17920, 18048, 18176, 18304, 18432, -1,
+ -1, 18560, -1, 18688, 18816, 18944, 19072, -1,
+ -1, 19200, -1, -1, -1, 19328, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 256, 256, 256, 19456,
+ 19584, 256, 19712, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 256, 256, 16768, -1,
- 16896, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 19840, 19968, 20096, 256,
+ 20224, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 17024, 17152, 17280, 256,
- 17408, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 20352, 20480, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -111,10 +114,11 @@ const lbrkprop_t unilbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 20608, 20736, 20864, 20992,
+ -1, -1, -1, -1, -1, -1, 21120, 21248,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 17536, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -128,95 +132,91 @@ const lbrkprop_t unilbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 21376, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 21504, 21632, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 17664, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 21760, 21888, 22016, 22144, -1, 22272, -1,
+ 22400, 22528, 22656, 256, 256, 22784, 256, 22912,
+ 256, 256, 256, 256, 23040, 23168, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 23296, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 23424, 23552, -1, -1,
+ 23680, 23808, 23936, 24064, 24192, -1, 10112, 24320,
+ 10112, 24448, 24576, 24704, 24832, 24960, 25088, 25216,
+ 25344, 25472, 25600, 25728, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 256, 17792, 17920, 18048, 18176, -1, 18304, -1,
- 18432, 18560, 18688, 256, 256, 18816, 256, 18944,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 19072, 19200, 19328, 19456, 19584, -1, 19712, 19840,
- 19968, 20096, 20224, 20352, 20480, 20608, 7680, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 20736,
- 20864, -1, 20992, 21120, -1, -1, -1, -1,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 25856,
+ 25984, -1, 26112, 26240, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -361,7 +361,7 @@ const lbrkprop_t unilbrkprop =
LBP_GL, LBP_GL, LBP_GL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IS, LBP_XX,
+ LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IS, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -399,7 +399,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -411,7 +411,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_IS, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_IS, LBP_BA, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_PR,
LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -420,16 +420,16 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA, LBP_CM,
LBP_AL, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_EX, LBP_CM,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_HL, LBP_HL, LBP_HL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_PO, LBP_PO, LBP_PO, LBP_IS, LBP_IS, LBP_AL, LBP_AL,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_EX, LBP_XX, LBP_XX, LBP_EX, LBP_EX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_EX, LBP_CM, LBP_XX, LBP_EX, LBP_EX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -506,6 +506,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -521,8 +537,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_BA, LBP_BA, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -568,8 +584,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_XX, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -602,23 +618,23 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_PR, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_CM,
LBP_CM, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -634,7 +650,7 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -645,7 +661,7 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_CM,
LBP_CM, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
@@ -662,8 +678,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
@@ -693,7 +709,7 @@ const lbrkprop_t unilbrkprop =
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_SA, LBP_XX,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -754,14 +770,14 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
@@ -856,8 +872,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -888,8 +904,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
@@ -957,7 +973,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -1008,8 +1024,8 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1039,9 +1055,9 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1074,14 +1090,14 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_XX,
+ LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1094,9 +1110,9 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1142,8 +1158,8 @@ const lbrkprop_t unilbrkprop =
LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_AL,
LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
- LBP_WJ, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_WJ, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AI, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL, LBP_AI,
LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL,
@@ -1153,9 +1169,9 @@ const lbrkprop_t unilbrkprop =
LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PO,
LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PO, LBP_PR,
- LBP_PR, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_PR, LBP_PR, LBP_PR, LBP_PO, LBP_PR, LBP_PR, LBP_PO, LBP_PR,
+ LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
+ LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -1179,7 +1195,7 @@ const lbrkprop_t unilbrkprop =
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1223,13 +1239,13 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IN,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_OP, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1256,8 +1272,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1322,22 +1338,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AI, LBP_AI, LBP_AL,
LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AL, LBP_AI, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_AI, LBP_AI,
+ LBP_ID, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AI, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1345,17 +1361,17 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_ID, LBP_AL, LBP_ID,
+ LBP_ID, LBP_ID, LBP_AI, LBP_ID, LBP_ID, LBP_AI, LBP_AI, LBP_AI,
+ LBP_ID, LBP_ID, LBP_AI, LBP_AI, LBP_ID, LBP_AI, LBP_AI, LBP_ID,
+ LBP_ID, LBP_ID, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AI, LBP_AI, LBP_ID, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+ LBP_AI, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AI, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_AI, LBP_AI, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1365,8 +1381,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_AL,
- LBP_AL, LBP_AL, LBP_EX, LBP_EX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU,
+ LBP_QU, LBP_AL, LBP_EX, LBP_EX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -1379,7 +1395,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
@@ -1411,11 +1427,27 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1448,21 +1480,21 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
- LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_EX, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_EX, LBP_BA,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
@@ -1488,9 +1520,9 @@ const lbrkprop_t unilbrkprop =
LBP_OP, LBP_BA, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_AL, LBP_AL,
LBP_QU, LBP_QU, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_EX, LBP_AL,
- LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_B2, LBP_B2, LBP_BA, LBP_BA, LBP_BA, LBP_AL,
+ LBP_BA, LBP_BA, LBP_OP, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1546,13 +1578,13 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_ID, LBP_CL, LBP_CL, LBP_ID, LBP_ID, LBP_NS, LBP_ID, LBP_ID,
+ LBP_BA, LBP_CL, LBP_CL, LBP_ID, LBP_ID, LBP_NS, LBP_ID, LBP_ID,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_ID, LBP_ID, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_NS, LBP_OP, LBP_CL, LBP_CL,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_ID, LBP_ID, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_CM, LBP_ID, LBP_ID,
LBP_ID, LBP_ID, LBP_ID, LBP_NS, LBP_NS, LBP_ID, LBP_ID, LBP_ID,
LBP_XX, LBP_NS, LBP_ID, LBP_NS, LBP_ID, LBP_NS, LBP_ID, LBP_NS,
LBP_ID, LBP_NS, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
@@ -1704,12 +1736,12 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1723,13 +1755,12 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1737,7 +1768,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1769,7 +1801,7 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BB, LBP_AL, LBP_XX, LBP_XX,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1798,10 +1830,10 @@ const lbrkprop_t unilbrkprop =
LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1817,7 +1849,7 @@ const lbrkprop_t unilbrkprop =
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
- LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
@@ -1830,9 +1862,9 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
@@ -1840,24 +1872,24 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1997,13 +2029,13 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_CM, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_HL, LBP_CM, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_AL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_XX,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_XX, LBP_HL, LBP_XX,
+ LBP_HL, LBP_HL, LBP_XX, LBP_HL, LBP_HL, LBP_XX, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2033,7 +2065,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CL, LBP_OP,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2062,8 +2094,8 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_IS, LBP_CL, LBP_CL, LBP_IS, LBP_IS, LBP_EX, LBP_EX, LBP_OP,
LBP_CL, LBP_IN, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_OP, LBP_CL, LBP_OP,
LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP,
LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_ID, LBP_ID, LBP_OP,
@@ -2171,10 +2203,10 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2198,26 +2230,26 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2250,6 +2282,38 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2262,12 +2326,28 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_BA,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_BA,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2282,6 +2362,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
@@ -2302,6 +2398,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_IN, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
@@ -2316,6 +2428,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2330,6 +2458,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2361,7 +2505,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2372,26 +2516,138 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA,
LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_BB, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA, LBP_AL,
+ LBP_BA, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_AL, LBP_BB, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_CM, LBP_AL, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM,
+ LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_BB, LBP_BA, LBP_BA, LBP_EX, LBP_EX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2399,6 +2655,38 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_SA, LBP_SA, LBP_BA, LBP_BA, LBP_BA, LBP_SA,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2406,9 +2694,73 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2481,7 +2833,119 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_BA, LBP_BA,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA,
+ LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2519,6 +2983,38 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_CM, LBP_CM, LBP_BA,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2549,9 +3045,9 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2666,40 +3162,120 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_BA,
+ LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX,
+ LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -2711,7 +3287,7 @@ const lbrkprop_t unilbrkprop =
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -2726,10 +3302,10 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_RI, LBP_RI,
+ LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI,
+ LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI,
+ LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI,
LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
@@ -2746,38 +3322,107 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_AL, LBP_ID, LBP_AL, LBP_ID, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL,
+ LBP_ID, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU,
+ LBP_QU, LBP_NS, LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2785,10 +3430,10 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2799,7 +3444,14 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2807,22 +3459,21 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2833,6 +3484,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2841,32 +3494,19 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX,
- LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
diff --git a/gettext-tools/gnulib-lib/unilbrk/lbrktables.c b/gettext-tools/gnulib-lib/unilbrk/lbrktables.c
index 3a511f6..81a77b4 100644
--- a/gettext-tools/gnulib-lib/unilbrk/lbrktables.c
+++ b/gettext-tools/gnulib-lib/unilbrk/lbrktables.c
@@ -1,5 +1,5 @@
/* Line breaking auxiliary tables.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
@@ -23,35 +23,37 @@
/* Define unilbrkprop, table of line breaking properties. */
#include "unilbrk/lbrkprop2.h"
-const unsigned char unilbrk_table[25][25] =
+const unsigned char unilbrk_table[27][27] =
{
/* after */
- /* WJ GL B2 BA BB HY CL CP EX IN NS OP QU IS NU PO PR SY AL H2 H3 ID JL JV JT */
-/* WJ */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* GL */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* B2 */ { P, I, P, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* BA */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* BB */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* HY */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* CL */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, D, I, I, P, D, D, D, D, D, D, D, },
-/* CP */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, I, I, I, P, I, D, D, D, D, D, D, },
-/* EX */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* IN */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* NS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* OP */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
-/* QU */ { P, I, I, I, I, I, P, P, P, I, I, P, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* IS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* NU */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, I, I, P, I, D, D, D, D, D, D, },
-/* PO */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
-/* PR */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, },
-/* SY */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* AL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
-/* H2 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
-/* H3 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
-/* ID */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, D, },
-/* JL */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, I, I, D, I, I, D, },
-/* JV */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
-/* JT */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
+ /* WJ GL B2 BA BB HY CL CP EX IN NS OP QU IS NU PO PR SY AL H2 H3 ID JL JV JT HL RI */
+/* WJ */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* GL */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* B2 */ { P, I, P, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* BA */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* BB */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* HY */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* CL */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, D, I, I, P, D, D, D, D, D, D, D, D, D, },
+/* CP */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, I, I, I, P, I, D, D, D, D, D, D, I, D, },
+/* EX */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* IN */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* NS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* OP */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
+/* QU */ { P, I, I, I, I, I, P, P, P, I, I, P, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* IS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* NU */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, I, I, P, I, D, D, D, D, D, D, I, D, },
+/* PO */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, I, D, },
+/* PR */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, I, D, },
+/* SY */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, I, D, },
+/* AL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, I, D, },
+/* H2 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, D, D, },
+/* H3 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, D, D, },
+/* ID */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, D, D, D, },
+/* JL */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, I, I, D, I, I, D, D, D, },
+/* JV */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, D, D, },
+/* JT */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, D, D, },
+/* HL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, I, D, },
+/* RI */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, I, D, I, },
/* "" */
/* before */
};
diff --git a/gettext-tools/gnulib-lib/unilbrk/lbrktables.h b/gettext-tools/gnulib-lib/unilbrk/lbrktables.h
index 33a6f56..42599ae 100644
--- a/gettext-tools/gnulib-lib/unilbrk/lbrktables.h
+++ b/gettext-tools/gnulib-lib/unilbrk/lbrktables.h
@@ -1,5 +1,5 @@
/* Line breaking auxiliary tables.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
@@ -21,22 +21,22 @@
enum
{
- /* Values >= 25 are resolved at run time. */
- LBP_BK = 25, /* mandatory break */
+ /* Values >= 27 are resolved at run time. */
+ LBP_BK = 27, /* mandatory break */
/*LBP_CR, carriage return - not used here because it's a DOSism */
/*LBP_LF, line feed - not used here because it's a DOSism */
- LBP_CM = 26, /* attached characters and combining marks */
+ LBP_CM = 28, /* attached characters and combining marks */
/*LBP_NL, next line - not used here because it's equivalent to LBP_BK */
/*LBP_SG, surrogates - not used here because they are not characters */
LBP_WJ = 0, /* word joiner */
- LBP_ZW = 27, /* zero width space */
+ LBP_ZW = 29, /* zero width space */
LBP_GL = 1, /* non-breaking (glue) */
- LBP_SP = 28, /* space */
+ LBP_SP = 30, /* space */
LBP_B2 = 2, /* break opportunity before and after */
LBP_BA = 3, /* break opportunity after */
LBP_BB = 4, /* break opportunity before */
LBP_HY = 5, /* hyphen */
- LBP_CB = 29, /* contingent break opportunity */
+ LBP_CB = 31, /* contingent break opportunity */
LBP_CL = 6, /* closing punctuation */
LBP_CP = 7, /* closing parenthesis */
LBP_EX = 8, /* exclamation/interrogation */
@@ -49,16 +49,19 @@ enum
LBP_PO = 15, /* postfix (numeric) */
LBP_PR = 16, /* prefix (numeric) */
LBP_SY = 17, /* symbols allowing breaks */
- LBP_AI = 30, /* ambiguous (alphabetic or ideograph) */
+ LBP_AI = 32, /* ambiguous (alphabetic or ideograph) */
LBP_AL = 18, /* ordinary alphabetic and symbol characters */
+/*LBP_CJ, conditional Japanese starters, resolved to NS */
LBP_H2 = 19, /* Hangul LV syllable */
LBP_H3 = 20, /* Hangul LVT syllable */
+ LBP_HL = 25, /* Hebrew letter */
LBP_ID = 21, /* ideographic */
LBP_JL = 22, /* Hangul L Jamo */
LBP_JV = 23, /* Hangul V Jamo */
LBP_JT = 24, /* Hangul T Jamo */
- LBP_SA = 31, /* complex context (South East Asian) */
- LBP_XX = 32 /* unknown */
+ LBP_RI = 26, /* regional indicator */
+ LBP_SA = 33, /* complex context (South East Asian) */
+ LBP_XX = 34 /* unknown */
};
#include "lbrkprop1.h"
@@ -89,7 +92,7 @@ unilbrkprop_lookup (ucs4_t uc)
#define I 2 /* indirect break opportunity, '%' in table 7.3 of UTR #14 */
#define P 3 /* prohibited break, '^' in table 7.3 of UTR #14 */
-extern const unsigned char unilbrk_table[25][25];
+extern const unsigned char unilbrk_table[27][27];
/* We don't support line breaking of complex-context dependent characters
(Thai, Lao, Myanmar, Khmer) yet, because it requires dictionary lookup. */
diff --git a/gettext-tools/gnulib-lib/unilbrk/u8-possible-linebreaks.c b/gettext-tools/gnulib-lib/unilbrk/u8-possible-linebreaks.c
index ba5e892..e848a02 100644
--- a/gettext-tools/gnulib-lib/unilbrk/u8-possible-linebreaks.c
+++ b/gettext-tools/gnulib-lib/unilbrk/u8-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-8 strings.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unilbrk/u8-width-linebreaks.c b/gettext-tools/gnulib-lib/unilbrk/u8-width-linebreaks.c
index 9099983..1d95956 100644
--- a/gettext-tools/gnulib-lib/unilbrk/u8-width-linebreaks.c
+++ b/gettext-tools/gnulib-lib/unilbrk/u8-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-8 strings.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unilbrk/ulc-common.c b/gettext-tools/gnulib-lib/unilbrk/ulc-common.c
index b18dfb9..9fd2624 100644
--- a/gettext-tools/gnulib-lib/unilbrk/ulc-common.c
+++ b/gettext-tools/gnulib-lib/unilbrk/ulc-common.c
@@ -1,5 +1,5 @@
/* Line breaking auxiliary functions.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unilbrk/ulc-common.h b/gettext-tools/gnulib-lib/unilbrk/ulc-common.h
index 8e422ea..661270d 100644
--- a/gettext-tools/gnulib-lib/unilbrk/ulc-common.h
+++ b/gettext-tools/gnulib-lib/unilbrk/ulc-common.h
@@ -1,5 +1,5 @@
/* Line breaking auxiliary functions.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unilbrk/ulc-width-linebreaks.c b/gettext-tools/gnulib-lib/unilbrk/ulc-width-linebreaks.c
index 58da133..96f416e 100644
--- a/gettext-tools/gnulib-lib/unilbrk/ulc-width-linebreaks.c
+++ b/gettext-tools/gnulib-lib/unilbrk/ulc-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of strings.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/uniname.in.h b/gettext-tools/gnulib-lib/uniname.in.h
index d13466a..082582c 100644
--- a/gettext-tools/gnulib-lib/uniname.in.h
+++ b/gettext-tools/gnulib-lib/uniname.in.h
@@ -1,5 +1,5 @@
/* Association between Unicode characters and their names.
- Copyright (C) 2000-2002, 2005, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2000-2002, 2005, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/uniname/gen-uninames.lisp b/gettext-tools/gnulib-lib/uniname/gen-uninames.lisp
index d08e93f..9f79562 100755
--- a/gettext-tools/gnulib-lib/uniname/gen-uninames.lisp
+++ b/gettext-tools/gnulib-lib/uniname/gen-uninames.lisp
@@ -6,12 +6,18 @@
(defparameter add-comments nil)
(defstruct unicode-char
- (code nil :type integer)
+ (index nil :type integer)
(name nil :type string)
word-indices
word-indices-index
)
+(defstruct range
+ (index nil :type integer)
+ (start-code nil :type integer)
+ (end-code nil :type integer)
+)
+
(defstruct word-list
(hashed nil :type hash-table)
(sorted nil :type list)
@@ -19,10 +25,16 @@
length ; number of words
)
-(defun main (inputfile outputfile)
- (declare (type string inputfile outputfile))
+(defun main (inputfile outputfile aliasfile)
+ (declare (type string inputfile outputfile aliasfile))
#+UNICODE (setq *default-file-encoding* charset:utf-8)
- (let ((all-chars '()))
+ (let ((all-chars '())
+ (all-chars-hashed (make-hash-table :test #'equal))
+ (all-aliases '())
+ all-chars-and-aliases
+ (all-ranges '())
+ (name-index 0)
+ range)
;; Read all characters and names from the input file.
(with-open-file (istream inputfile :direction :input)
(loop
@@ -41,43 +53,53 @@
; specially as well.
(unless (or (<= #xF900 code #xFA2D) (<= #xFA30 code #xFA6A)
(<= #xFA70 code #xFAD9) (<= #x2F800 code #x2FA1D))
- ; Transform the code so that it fits in 16 bits. In
- ; Unicode 5.1 the following ranges are used.
- ; 0x00000..0x04DFF >>12= 0x00..0x04 -> 0x0..0x4
- ; 0x0A000..0x0AAFF >>12= 0x0A -> 0x5
- ; 0x0F900..0x0FFFF >>12= 0x0F -> 0x6
- ; 0x10000..0x10A58 >>12= 0x10 -> 0x7
- ; 0x12000..0x12473 >>12= 0x12 -> 0x8
- ; 0x1D000..0x1D7FF >>12= 0x1D -> 0x9
- ; 0x1F000..0x1F093 >>12= 0x1F -> 0xA
- ; 0x2F800..0x2FAFF >>12= 0x2F -> 0xB
- ; 0xE0000..0xE00FF >>12= 0xE0 -> 0xC
- (flet ((transform (x)
- (dpb
- (case (ash x -12)
- ((#x00 #x01 #x02 #x03 #x04) (ash x -12))
- (#x0A 5)
- (#x0F 6)
- (#x10 7)
- (#x12 8)
- (#x1D 9)
- (#x1F #xA)
- (#x2F #xB)
- (#xE0 #xC)
- (t (error "Update the transform function for 0x~5,'0X" x))
- )
- (byte 8 12)
- x
- )) )
- (push (make-unicode-char :code (transform code)
+ ;; Also ignore variationselectors; they are treated
+ ;; specially as well.
+ (unless (or (<= #xFE00 code #xFE0F) (<= #xE0100 code #xE01EF))
+ (push (make-unicode-char :index name-index
:name name-string)
- all-chars
- ) ) ) ) )
+ all-chars)
+ (setf (gethash code all-chars-hashed) (car all-chars))
+ ;; Update the contiguous range, or start a new range.
+ (if (and range (= (1+ (range-end-code range)) code))
+ (setf (range-end-code range) code)
+ (progn
+ (when range
+ (push range all-ranges))
+ (setq range (make-range :index name-index
+ :start-code code
+ :end-code code))))
+ (incf name-index)
+ (setq last-code code)
+ ) ) ) )
) ) ) )
(setq all-chars (nreverse all-chars))
+ (if range
+ (push range all-ranges))
+ (setq all-ranges (nreverse all-ranges))
+ (when aliasfile
+ ;; Read all characters and names from the alias file.
+ (with-open-file (istream aliasfile :direction :input)
+ (loop
+ (let ((line (read-line istream nil nil)))
+ (unless line (return))
+ (let* ((i1 (position #\; line))
+ (i2 (position #\; line :start (1+ i1)))
+ (code-string (subseq line 0 i1))
+ (code (parse-integer code-string :radix 16))
+ (name-string (subseq line (1+ i1) i2))
+ (uc (gethash code all-chars-hashed)))
+ (when uc
+ (push (make-unicode-char :index (unicode-char-index uc)
+ :name name-string)
+ all-aliases)
+ ) ) ) ) ) )
+ (setq all-aliases (nreverse all-aliases)
+ all-chars-and-aliases (append all-chars all-aliases))
;; Split into words.
(let ((words-by-length (make-array 0 :adjustable t)))
- (dolist (name (list* "HANGUL SYLLABLE" "CJK COMPATIBILITY" (mapcar #'unicode-char-name all-chars)))
+ (dolist (name (list* "HANGUL SYLLABLE" "CJK COMPATIBILITY" "VARIATION"
+ (mapcar #'unicode-char-name all-chars-and-aliases)))
(let ((i1 0))
(loop
(when (>= i1 (length name)) (return))
@@ -195,12 +217,12 @@
(setf (gethash word (word-list-hashed word-list)) ind-offset)
(incf ind-offset)
) ) ) )
- (dolist (word '("HANGUL" "SYLLABLE" "CJK" "COMPATIBILITY"))
+ (dolist (word '("HANGUL" "SYLLABLE" "CJK" "COMPATIBILITY" "VARIATION"))
(format ostream "#define UNICODE_CHARNAME_WORD_~A ~D~%" word
(gethash word (word-list-hashed (aref words-by-length (length word))))
) )
;; Compute the word-indices for every unicode-char.
- (dolist (uc all-chars)
+ (dolist (uc all-chars-and-aliases)
(let ((name (unicode-char-name uc))
(indices '()))
(let ((i1 0))
@@ -220,8 +242,8 @@
)
) )
;; Sort the list of unicode-chars by word-indices.
- (setq all-chars
- (sort all-chars
+ (setq all-chars-and-aliases
+ (sort all-chars-and-aliases
(lambda (vec1 vec2)
(let ((len1 (length vec1))
(len2 (length vec2)))
@@ -240,10 +262,10 @@
) )
;; Output the word-indices.
(format ostream "static const uint16_t unicode_names[~D] = {~%"
- (reduce #'+ (mapcar (lambda (uc) (length (unicode-char-word-indices uc))) all-chars))
+ (reduce #'+ (mapcar (lambda (uc) (length (unicode-char-word-indices uc))) all-chars-and-aliases))
)
(let ((i 0))
- (dolist (uc all-chars)
+ (dolist (uc all-chars-and-aliases)
(format ostream " ~{ ~D,~}"
(maplist (lambda (r) (+ (* 2 (car r)) (if (cdr r) 1 0)))
(coerce (unicode-char-word-indices uc) 'list)
@@ -257,14 +279,14 @@
(incf i (length (unicode-char-word-indices uc)))
) )
(format ostream "};~%")
- (format ostream "static const struct { uint16_t code; uint32_t name:24; }~%")
+ (format ostream "static const struct { uint16_t index; uint32_t name:24; }~%")
(format ostream "#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)~%__attribute__((__packed__))~%#endif~%")
- (format ostream "unicode_name_to_code[~D] = {~%"
- (length all-chars)
+ (format ostream "unicode_name_to_index[~D] = {~%"
+ (length all-chars-and-aliases)
)
- (dolist (uc all-chars)
+ (dolist (uc all-chars-and-aliases)
(format ostream " { 0x~4,'0X, ~D },"
- (unicode-char-code uc)
+ (unicode-char-index uc)
(unicode-char-word-indices-index uc)
)
(when add-comments
@@ -273,14 +295,14 @@
(format ostream "~%")
)
(format ostream "};~%")
- (format ostream "static const struct { uint16_t code; uint32_t name:24; }~%")
+ (format ostream "static const struct { uint16_t index; uint32_t name:24; }~%")
(format ostream "#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)~%__attribute__((__packed__))~%#endif~%")
- (format ostream "unicode_code_to_name[~D] = {~%"
+ (format ostream "unicode_index_to_name[~D] = {~%"
(length all-chars)
)
- (dolist (uc (sort (copy-list all-chars) #'< :key #'unicode-char-code))
+ (dolist (uc (sort (copy-list all-chars) #'< :key #'unicode-char-index))
(format ostream " { 0x~4,'0X, ~D },"
- (unicode-char-code uc)
+ (unicode-char-index uc)
(unicode-char-word-indices-index uc)
)
(when add-comments
@@ -290,12 +312,21 @@
)
(format ostream "};~%")
(format ostream "#define UNICODE_CHARNAME_MAX_LENGTH ~D~%"
- (reduce #'max (mapcar (lambda (uc) (length (unicode-char-name uc))) all-chars))
+ (reduce #'max (mapcar (lambda (uc) (length (unicode-char-name uc))) all-chars-and-aliases))
)
(format ostream "#define UNICODE_CHARNAME_MAX_WORDS ~D~%"
- (reduce #'max (mapcar (lambda (uc) (length (unicode-char-word-indices uc))) all-chars))
+ (reduce #'max (mapcar (lambda (uc) (length (unicode-char-word-indices uc))) all-chars-and-aliases))
)
+ (format ostream "static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_ranges[~D] = {~%"
+ (length all-ranges))
+ (dolist (range all-ranges)
+ (format ostream " { ~D, ~D, ~D },~%"
+ (range-index range)
+ (- (range-start-code range) (range-index range))
+ (1+ (- (range-end-code range) (range-start-code range))))
+ )
+ (format ostream "};~%")
)
) ) )
-(main (first *args*) (second *args*))
+(main (first *args*) (second *args*) (third *args*))
diff --git a/gettext-tools/gnulib-lib/uniname/uniname.c b/gettext-tools/gnulib-lib/uniname/uniname.c
index cf7a939..8f9f1b4 100644
--- a/gettext-tools/gnulib-lib/uniname/uniname.c
+++ b/gettext-tools/gnulib-lib/uniname/uniname.c
@@ -1,5 +1,5 @@
/* Association between Unicode characters and their names.
- Copyright (C) 2000-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
@@ -45,10 +45,11 @@
#define UNICODE_CHARNAME_WORD_CJK 417
#define UNICODE_CHARNAME_WORD_COMPATIBILITY 6107
static const uint16_t unicode_names[68940] = ...;
- static const struct { uint16_t code; uint32_t name:24; } unicode_name_to_code[16626] = ...;
- static const struct { uint16_t code; uint32_t name:24; } unicode_code_to_name[16626] = ...;
+ static const struct { uint16_t index; uint32_t name:24; } unicode_name_to_index[16626] = ...;
+ static const struct { uint16_t index; uint32_t name:24; } unicode_index_to_name[16626] = ...;
#define UNICODE_CHARNAME_MAX_LENGTH 83
#define UNICODE_CHARNAME_MAX_WORDS 13
+ static const struct { uint32_t index; uint32_t gap; uint16_t length; } unicode_ranges[401] = ...;
*/
/* Returns the word with a given index. */
@@ -127,6 +128,82 @@ unicode_name_word_lookup (const char *word, unsigned int length)
return -1;
}
+#define UNINAME_INVALID_INDEX UINT16_MAX
+
+/* Looks up the internal index of a Unicode character. */
+static uint16_t
+unicode_code_to_index (ucs4_t c)
+{
+ /* Binary search in unicode_ranges. */
+ unsigned int i1 = 0;
+ unsigned int i2 = SIZEOF (unicode_ranges);
+
+ for (;;)
+ {
+ unsigned int i = (i1 + i2) >> 1;
+ ucs4_t start_code =
+ unicode_ranges[i].index + unicode_ranges[i].gap;
+ ucs4_t end_code =
+ start_code + unicode_ranges[i].length - 1;
+
+ if (start_code <= c && c <= end_code)
+ return c - unicode_ranges[i].gap;
+
+ if (end_code < c)
+ {
+ if (i1 == i)
+ break;
+ /* Note here: i1 < i < i2. */
+ i1 = i;
+ }
+ else if (c < start_code)
+ {
+ if (i2 == i)
+ break;
+ /* Note here: i1 <= i < i2. */
+ i2 = i;
+ }
+ }
+ return UNINAME_INVALID_INDEX;
+}
+
+/* Looks up the codepoint of a Unicode character, from the given
+ internal index. */
+static ucs4_t
+unicode_index_to_code (uint16_t index)
+{
+ /* Binary search in unicode_ranges. */
+ unsigned int i1 = 0;
+ unsigned int i2 = SIZEOF (unicode_ranges);
+
+ for (;;)
+ {
+ unsigned int i = (i1 + i2) >> 1;
+ uint16_t start_index = unicode_ranges[i].index;
+ uint16_t end_index = start_index + unicode_ranges[i].length - 1;
+
+ if (start_index <= index && index <= end_index)
+ return index + unicode_ranges[i].gap;
+
+ if (end_index < index)
+ {
+ if (i1 == i)
+ break;
+ /* Note here: i1 < i < i2. */
+ i1 = i;
+ }
+ else if (index < start_index)
+ {
+ if (i2 == i)
+ break;
+ /* Note here: i1 <= i < i2. */
+ i2 = i;
+ }
+ }
+ return UNINAME_INVALID;
+}
+
+
/* Auxiliary tables for Hangul syllable names, see the Unicode 3.0 book,
sections 3.11 and 4.4. */
static const char jamo_initial_short_name[19][3] =
@@ -201,80 +278,59 @@ unicode_character_name (ucs4_t c, char *buf)
*ptr = '\0';
return buf;
}
+ else if ((c >= 0xFE00 && c <= 0xFE0F) || (c >= 0xE0100 && c <= 0xE01EF))
+ {
+ /* Special case for variation selectors. Keeps the tables
+ small. */
+
+ /* buf needs to have at least 19 + 3 bytes here. */
+ sprintf (buf, "VARIATION SELECTOR-%d",
+ c <= 0xFE0F ? c - 0xFE00 + 1 : c - 0xE0100 + 17);
+ return buf;
+ }
else
{
- const uint16_t *words;
+ uint16_t index = unicode_code_to_index (c);
+ const uint16_t *words = NULL;
- /* Transform the code so that it fits in 16 bits. */
- switch (c >> 12)
+ if (index != UNINAME_INVALID_INDEX)
{
- case 0x00: case 0x01: case 0x02: case 0x03: case 0x04:
- break;
- case 0x0A:
- c -= 0x05000;
- break;
- case 0x0F:
- c -= 0x09000;
- break;
- case 0x10:
- c -= 0x09000;
- break;
- case 0x12:
- c -= 0x0A000;
- break;
- case 0x1D:
- c -= 0x14000;
- break;
- case 0x1F:
- c -= 0x15000;
- break;
- case 0x2F:
- c -= 0x24000;
- break;
- case 0xE0:
- c -= 0xD4000;
- break;
- default:
- return NULL;
+ /* Binary search in unicode_code_to_name. */
+ unsigned int i1 = 0;
+ unsigned int i2 = SIZEOF (unicode_index_to_name);
+ for (;;)
+ {
+ unsigned int i = (i1 + i2) >> 1;
+ if (unicode_index_to_name[i].index == index)
+ {
+ words = &unicode_names[unicode_index_to_name[i].name];
+ break;
+ }
+ else if (unicode_index_to_name[i].index < index)
+ {
+ if (i1 == i)
+ {
+ words = NULL;
+ break;
+ }
+ /* Note here: i1 < i < i2. */
+ i1 = i;
+ }
+ else if (unicode_index_to_name[i].index > index)
+ {
+ if (i2 == i)
+ {
+ words = NULL;
+ break;
+ }
+ /* Note here: i1 <= i < i2. */
+ i2 = i;
+ }
+ }
}
-
- {
- /* Binary search in unicode_code_to_name. */
- unsigned int i1 = 0;
- unsigned int i2 = SIZEOF (unicode_code_to_name);
- for (;;)
- {
- unsigned int i = (i1 + i2) >> 1;
- if (unicode_code_to_name[i].code == c)
- {
- words = &unicode_names[unicode_code_to_name[i].name];
- break;
- }
- else if (unicode_code_to_name[i].code < c)
- {
- if (i1 == i)
- {
- words = NULL;
- break;
- }
- /* Note here: i1 < i < i2. */
- i1 = i;
- }
- else if (unicode_code_to_name[i].code > c)
- {
- if (i2 == i)
- {
- words = NULL;
- break;
- }
- /* Note here: i1 <= i < i2. */
- i2 = i;
- }
- }
- }
if (words != NULL)
{
- /* Found it in unicode_code_to_name. Now concatenate the words. */
+ /* Found it in unicode_index_to_name. Now concatenate the words. */
/* buf needs to have at least UNICODE_CHARNAME_MAX_LENGTH bytes. */
char *ptr = buf;
for (;;)
@@ -319,6 +375,37 @@ unicode_name_character (const char *name)
if (false)
filled_buf:
{
+ {
+ /* Special case for variation selector aliases. Keeps the
+ tables small. */
+ const char *p1 = buf;
+ if (ptr >= buf + 3 && *p1++ == 'V')
+ {
+ if (*p1++ == 'S')
+ {
+ if (*p1 != '0')
+ {
+ unsigned int c = 0;
+ for (;;)
+ {
+ if (*p1 >= '0' && *p1 <= '9')
+ c += (*p1 - '0');
+ p1++;
+ if (p1 == ptr)
+ {
+ if (c >= 1 && c <= 16)
+ return c - 1 + 0xFE00;
+ else if (c >= 17 && c <= 256)
+ return c - 17 + 0xE0100;
+ else
+ break;
+ }
+ c = c * 10;
+ }
+ }
+ }
+ }
+ }
/* Convert the constituents to uint16_t words. */
uint16_t words[UNICODE_CHARNAME_MAX_WORDS];
uint16_t *wordptr = words;
@@ -450,6 +537,38 @@ unicode_name_character (const char *name)
}
}
}
+ /* Special case for variation selectors. Keeps the
+ tables small. */
+ if (wordptr == &words[1]
+ && words[0] == UNICODE_CHARNAME_WORD_VARIATION
+ && p1 + 10 <= ptr
+ && p1 + 12 >= ptr
+ && memcmp (p1, "SELECTOR-", 9) == 0)
+ {
+ const char *p2 = p1 + 9;
+
+ if (*p2 != '0')
+ {
+ unsigned int c = 0;
+
+ for (;;)
+ {
+ if (*p2 >= '0' && *p2 <= '9')
+ c += (*p2 - '0');
+ p2++;
+ if (p2 == ptr)
+ {
+ if (c >= 1 && c <= 16)
+ return c - 1 + 0xFE00;
+ else if (c >= 17 && c <= 256)
+ return c - 17 + 0xE0100;
+ else
+ break;
+ }
+ c = c * 10;
+ }
+ }
+ }
}
}
if (false)
@@ -463,15 +582,15 @@ unicode_name_character (const char *name)
for (; --i >= 0; )
words[i] = 2 * words[i] + 1;
}
- /* Binary search in unicode_name_to_code. */
+ /* Binary search in unicode_name_to_index. */
{
unsigned int i1 = 0;
- unsigned int i2 = SIZEOF (unicode_name_to_code);
+ unsigned int i2 = SIZEOF (unicode_name_to_index);
for (;;)
{
unsigned int i = (i1 + i2) >> 1;
const uint16_t *w = words;
- const uint16_t *p = &unicode_names[unicode_name_to_code[i].name];
+ const uint16_t *p = &unicode_names[unicode_name_to_index[i].name];
unsigned int n = words_length;
for (;;)
{
@@ -493,18 +612,7 @@ unicode_name_character (const char *name)
}
p++; w++; n--;
if (n == 0)
- {
- unsigned int c = unicode_name_to_code[i].code;
-
- /* Undo the transformation to 16-bit space. */
- static const unsigned int offset[13] =
- {
- 0x00000, 0x00000, 0x00000, 0x00000, 0x00000,
- 0x05000, 0x09000, 0x09000, 0x0A000, 0x14000,
- 0x15000, 0x24000, 0xD4000
- };
- return c + offset[c >> 12];
- }
+ return unicode_index_to_code (unicode_name_to_index[i].index);
}
}
}
diff --git a/gettext-tools/gnulib-lib/uniname/uninames.h b/gettext-tools/gnulib-lib/uniname/uninames.h
index 7b6db1f..3dd0e49 100644
--- a/gettext-tools/gnulib-lib/uniname/uninames.h
+++ b/gettext-tools/gnulib-lib/uniname/uninames.h
@@ -6,7 +6,7 @@
* Generated automatically by the gen-uninames utility.
*/
-static const char unicode_name_words[39544] = {
+static const char unicode_name_words[60839] = {
'A',
'B',
'C',
@@ -51,13 +51,17 @@ static const char unicode_name_words[39544] = {
'A', 'O',
'A', 'P',
'A', 'Q',
+ 'A', 'R',
'A', 'S',
'A', 'T',
'A', 'U',
'A', 'V',
+ 'A', 'W',
'A', 'X',
'A', 'Y',
+ 'A', 'Z',
'B', 'A',
+ 'B', 'B',
'B', 'E',
'B', 'H',
'B', 'I',
@@ -71,6 +75,7 @@ static const char unicode_name_words[39544] = {
'C', 'E',
'C', 'H',
'C', 'I',
+ 'C', 'L',
'C', 'M',
'C', 'O',
'C', 'U',
@@ -78,8 +83,11 @@ static const char unicode_name_words[39544] = {
'D', '2',
'D', 'A',
'D', 'B',
+ 'D', 'D',
'D', 'E',
+ 'D', 'H',
'D', 'I',
+ 'D', 'J',
'D', 'L',
'D', 'M',
'D', 'O',
@@ -88,10 +96,15 @@ static const char unicode_name_words[39544] = {
'D', 'Z',
'E', '2',
'E', 'A',
+ 'E', 'B',
+ 'E', 'C',
+ 'E', 'D',
'E', 'E',
'E', 'F',
+ 'E', 'G',
'E', 'H',
'E', 'I',
+ 'E', 'J',
'E', 'K',
'E', 'L',
'E', 'M',
@@ -105,6 +118,7 @@ static const char unicode_name_words[39544] = {
'E', 'V',
'E', 'W',
'E', 'X',
+ 'E', 'Z',
'F', 'A',
'F', 'E',
'F', 'F',
@@ -119,6 +133,7 @@ static const char unicode_name_words[39544] = {
'G', 'B',
'G', 'E',
'G', 'G',
+ 'G', 'H',
'G', 'I',
'G', 'N',
'G', 'O',
@@ -130,12 +145,17 @@ static const char unicode_name_words[39544] = {
'H', 'G',
'H', 'I',
'H', 'K',
+ 'H', 'L',
+ 'H', 'M',
'H', 'O',
'H', 'P',
'H', 'U',
'H', 'V',
'H', 'Z',
+ 'I', 'A',
'I', 'B',
+ 'I', 'C',
+ 'I', 'D',
'I', 'E',
'I', 'F',
'I', 'G',
@@ -147,6 +167,7 @@ static const char unicode_name_words[39544] = {
'I', 'N',
'I', 'O',
'I', 'P',
+ 'I', 'Q',
'I', 'R',
'I', 'S',
'I', 'T',
@@ -173,6 +194,10 @@ static const char unicode_name_words[39544] = {
'K', 'U',
'K', 'V',
'K', 'W',
+ 'L', '2',
+ 'L', '3',
+ 'L', '4',
+ 'L', '6',
'L', 'A',
'L', 'D',
'L', 'E',
@@ -191,6 +216,8 @@ static const char unicode_name_words[39544] = {
'L', 'Z',
'M', 'A',
'M', 'B',
+ 'M', 'C',
+ 'M', 'D',
'M', 'E',
'M', 'G',
'M', 'H',
@@ -224,11 +251,13 @@ static const char unicode_name_words[39544] = {
'O', 'F',
'O', 'H',
'O', 'I',
+ 'O', 'K',
'O', 'L',
'O', 'M',
'O', 'N',
'O', 'O',
'O', 'P',
+ 'O', 'Q',
'O', 'R',
'O', 'S',
'O', 'T',
@@ -258,18 +287,21 @@ static const char unicode_name_words[39544] = {
'Q', 'A',
'Q', 'E',
'Q', 'I',
+ 'Q', 'N',
'Q', 'O',
'Q', 'P',
'Q', 'U',
'Q', 'Y',
'R', 'A',
'R', 'E',
+ 'R', 'H',
'R', 'I',
'R', 'O',
'R', 'R',
'R', 'U',
'R', 'Y',
'S', 'A',
+ 'S', 'D',
'S', 'E',
'S', 'G',
'S', 'H',
@@ -303,6 +335,8 @@ static const char unicode_name_words[39544] = {
'U', 'C',
'U', 'D',
'U', 'E',
+ 'U', 'H',
+ 'U', 'I',
'U', 'K',
'U', 'M',
'U', 'N',
@@ -316,22 +350,28 @@ static const char unicode_name_words[39544] = {
'V', 'E',
'V', 'I',
'V', 'O',
+ 'V', 'S',
'V', 'U',
'V', 'Y',
'W', 'A',
'W', 'B',
+ 'W', 'C',
'W', 'E',
'W', 'G',
+ 'W', 'H',
'W', 'I',
+ 'W', 'J',
'W', 'O',
'W', 'U',
'W', 'V',
+ 'W', 'Z',
'X', 'A',
'X', 'E',
'X', 'G',
'X', 'I',
'X', 'O',
'X', 'U',
+ 'X', 'W',
'X', 'Y',
'Y', 'A',
'Y', 'E',
@@ -356,39 +396,67 @@ static const char unicode_name_words[39544] = {
'A', 'A', 'J',
'A', 'A', 'K',
'A', 'A', 'M',
+ 'A', 'A', 'N',
+ 'A', 'A', 'O',
+ 'A', 'A', 'U',
'A', 'A', 'W',
'A', 'A', 'Y',
'A', 'B', '2',
+ 'A', 'B', 'B',
+ 'A', 'C', 'E',
'A', 'D', 'I',
'A', 'D', 'O',
+ 'A', 'E', 'B',
+ 'A', 'E', 'D',
+ 'A', 'E', 'E',
+ 'A', 'E', 'G',
+ 'A', 'E', 'K',
+ 'A', 'E', 'L',
+ 'A', 'E', 'N',
+ 'A', 'E', 'R',
+ 'A', 'E', 'S',
+ 'A', 'E', 'T',
+ 'A', 'E', 'Y',
'A', 'G', 'E',
+ 'A', 'H', 'H',
'A', 'I', 'N',
'A', 'I', 'R',
'A', 'L', 'F',
'A', 'L', 'I',
'A', 'L', 'L',
+ 'A', 'L', 'M',
+ 'A', 'L', 'T',
+ 'A', 'M', 'B',
'A', 'N', 'D',
'A', 'N', 'G',
'A', 'N', 'N',
'A', 'N', 'O',
+ 'A', 'N', 'T',
+ 'A', 'O', 'R',
+ 'A', 'O', 'U',
'A', 'P', 'L',
'A', 'R', 'C',
'A', 'R', 'E',
'A', 'R', 'M',
'A', 'S', 'H',
+ 'A', 'S', 'Z',
+ 'A', 'T', 'T',
'A', 'U', 'E',
'A', 'W', 'E',
'A', 'X', 'E',
'A', 'Y', 'B',
+ 'A', 'Y', 'N',
'A', 'Z', 'U',
'B', 'A', 'A',
'B', 'A', 'D',
'B', 'A', 'G',
+ 'B', 'A', 'H',
'B', 'A', 'L',
'B', 'A', 'N',
'B', 'A', 'P',
'B', 'A', 'R',
'B', 'A', 'T',
+ 'B', 'A', 'U',
'B', 'A', 'X',
'B', 'B', 'A',
'B', 'B', 'E',
@@ -396,6 +464,7 @@ static const char unicode_name_words[39544] = {
'B', 'B', 'O',
'B', 'B', 'U',
'B', 'B', 'Y',
+ 'B', 'E', 'D',
'B', 'E', 'E',
'B', 'E', 'H',
'B', 'E', 'I',
@@ -416,14 +485,19 @@ static const char unicode_name_words[39544] = {
'B', 'I', 'X',
'B', 'L', 'A',
'B', 'O', 'A',
+ 'B', 'O', 'M',
'B', 'O', 'O',
'B', 'O', 'P',
'B', 'O', 'T',
'B', 'O', 'W',
'B', 'O', 'X',
+ 'B', 'O', 'Y',
+ 'B', 'U', 'D',
+ 'B', 'U', 'G',
'B', 'U', 'O',
'B', 'U', 'P',
'B', 'U', 'R',
+ 'B', 'U', 'S',
'B', 'U', 'T',
'B', 'U', 'X',
'B', 'W', 'A',
@@ -435,10 +509,13 @@ static const char unicode_name_words[39544] = {
'B', 'Y', 'T',
'B', 'Y', 'X',
'C', 'A', 'A',
+ 'C', 'A', 'H',
'C', 'A', 'L',
'C', 'A', 'N',
'C', 'A', 'P',
+ 'C', 'A', 'R',
'C', 'A', 'T',
+ 'C', 'A', 'U',
'C', 'A', 'X',
'C', 'C', 'A',
'C', 'C', 'E',
@@ -449,6 +526,7 @@ static const char unicode_name_words[39544] = {
'C', 'E', 'N',
'C', 'E', 'P',
'C', 'E', 'X',
+ 'C', 'G', 'J',
'C', 'H', 'A',
'C', 'H', 'E',
'C', 'H', 'I',
@@ -458,6 +536,8 @@ static const char unicode_name_words[39544] = {
'C', 'I', 'E',
'C', 'I', 'I',
'C', 'I', 'L',
+ 'C', 'I', 'M',
+ 'C', 'I', 'N',
'C', 'I', 'P',
'C', 'I', 'T',
'C', 'I', 'X',
@@ -487,6 +567,8 @@ static const char unicode_name_words[39544] = {
'D', 'A', 'A',
'D', 'A', 'D',
'D', 'A', 'G',
+ 'D', 'A', 'H',
+ 'D', 'A', 'I',
'D', 'A', 'L',
'D', 'A', 'M',
'D', 'A', 'P',
@@ -512,6 +594,7 @@ static const char unicode_name_words[39544] = {
'D', 'H', 'U',
'D', 'I', 'B',
'D', 'I', 'E',
+ 'D', 'I', 'L',
'D', 'I', 'M',
'D', 'I', 'N',
'D', 'I', 'P',
@@ -526,6 +609,7 @@ static const char unicode_name_words[39544] = {
'D', 'L', 'U',
'D', 'O', 'A',
'D', 'O', 'G',
+ 'D', 'O', 'I',
'D', 'O', 'N',
'D', 'O', 'O',
'D', 'O', 'P',
@@ -543,6 +627,7 @@ static const char unicode_name_words[39544] = {
'D', 'U', 'R',
'D', 'U', 'T',
'D', 'U', 'X',
+ 'D', 'V', 'D',
'D', 'W', 'A',
'D', 'W', 'E',
'D', 'W', 'O',
@@ -555,15 +640,24 @@ static const char unicode_name_words[39544] = {
'E', 'A', 'R',
'E', 'A', 'T',
'E', 'C', 'H',
+ 'E', 'C', 'S',
'E', 'D', 'D',
+ 'E', 'E', 'H',
'E', 'E', 'N',
'E', 'G', 'G',
+ 'E', 'G', 'Y',
'E', 'I', 'E',
'E', 'I', 'S',
'E', 'K', 'S',
+ 'E', 'L', 'T',
+ 'E', 'L', 'Y',
+ 'E', 'M', 'P',
+ 'E', 'N', 'C',
'E', 'N', 'D',
'E', 'N', 'G',
'E', 'N', 'N',
+ 'E', 'N', 'T',
+ 'E', 'N', 'Y',
'E', 'O', 'H',
'E', 'R', 'A',
'E', 'R', 'G',
@@ -571,17 +665,27 @@ static const char unicode_name_words[39544] = {
'E', 'R', 'S',
'E', 'S', 'H',
'E', 'S', 'O',
+ 'E', 'S', 'S',
+ 'E', 'S', 'Z',
'E', 'T', 'A',
'E', 'T', 'H',
+ 'E', 'T', 'Y',
'E', 'W', 'E',
'E', 'X', 'O',
'E', 'Y', 'E',
+ 'E', 'Y', 'N',
'E', 'Z', 'H',
+ 'E', 'Z', 'S',
'F', 'A', 'A',
+ 'F', 'A', 'J',
+ 'F', 'A', 'M',
'F', 'A', 'N',
'F', 'A', 'P',
+ 'F', 'A', 'Q',
+ 'F', 'A', 'R',
'F', 'A', 'T',
'F', 'A', 'X',
+ 'F', 'A', 'Y',
'F', 'E', 'E',
'F', 'E', 'H',
'F', 'E', 'I',
@@ -593,10 +697,16 @@ static const char unicode_name_words[39544] = {
'F', 'I', 'X',
'F', 'L', 'A',
'F', 'L', 'Y',
+ 'F', 'O', 'G',
+ 'F', 'O', 'M',
+ 'F', 'O', 'N',
'F', 'O', 'O',
'F', 'O', 'P',
'F', 'O', 'R',
'F', 'O', 'X',
+ 'F', 'S', 'I',
+ 'F', 'U', 'A',
+ 'F', 'U', 'E',
'F', 'U', 'P',
'F', 'U', 'R',
'F', 'U', 'T',
@@ -613,6 +723,8 @@ static const char unicode_name_words[39544] = {
'G', 'A', 'D',
'G', 'A', 'F',
'G', 'A', 'G',
+ 'G', 'A', 'H',
+ 'G', 'A', 'I',
'G', 'A', 'L',
'G', 'A', 'M',
'G', 'A', 'N',
@@ -627,6 +739,7 @@ static const char unicode_name_words[39544] = {
'G', 'B', 'O',
'G', 'B', 'U',
'G', 'E', 'E',
+ 'G', 'E', 'M',
'G', 'E', 'N',
'G', 'E', 'P',
'G', 'E', 'R',
@@ -645,6 +758,7 @@ static const char unicode_name_words[39544] = {
'G', 'H', 'Z',
'G', 'I', '4',
'G', 'I', 'E',
+ 'G', 'I', 'G',
'G', 'I', 'M',
'G', 'I', 'P',
'G', 'I', 'T',
@@ -652,6 +766,7 @@ static const char unicode_name_words[39544] = {
'G', 'J', 'E',
'G', 'L', 'A',
'G', 'O', 'A',
+ 'G', 'O', 'K',
'G', 'O', 'O',
'G', 'O', 'P',
'G', 'O', 'T',
@@ -659,6 +774,7 @@ static const char unicode_name_words[39544] = {
'G', 'P', 'A',
'G', 'R', 'U',
'G', 'U', '2',
+ 'G', 'U', 'A',
'G', 'U', 'D',
'G', 'U', 'G',
'G', 'U', 'L',
@@ -671,6 +787,7 @@ static const char unicode_name_words[39544] = {
'G', 'W', 'A',
'G', 'W', 'E',
'G', 'W', 'I',
+ 'G', 'W', 'U',
'G', 'Y', 'A',
'G', 'Y', 'E',
'G', 'Y', 'I',
@@ -679,11 +796,15 @@ static const char unicode_name_words[39544] = {
'H', 'A', 'A',
'H', 'A', 'E',
'H', 'A', 'H',
+ 'H', 'A', 'I',
'H', 'A', 'L',
+ 'H', 'A', 'M',
'H', 'A', 'N',
+ 'H', 'A', 'O',
'H', 'A', 'P',
'H', 'A', 'R',
'H', 'A', 'T',
+ 'H', 'A', 'U',
'H', 'A', 'X',
'H', 'E', 'E',
'H', 'E', 'H',
@@ -709,6 +830,7 @@ static const char unicode_name_words[39544] = {
'H', 'L', 'U',
'H', 'L', 'Y',
'H', 'M', 'A',
+ 'H', 'M', 'E',
'H', 'M', 'I',
'H', 'M', 'O',
'H', 'M', 'U',
@@ -718,13 +840,18 @@ static const char unicode_name_words[39544] = {
'H', 'N', 'I',
'H', 'O', 'A',
'H', 'O', 'E',
+ 'H', 'O', 'I',
+ 'H', 'O', 'M',
'H', 'O', 'N',
'H', 'O', 'O',
'H', 'O', 'P',
'H', 'O', 'T',
'H', 'O', 'X',
+ 'H', 'O', 'Y',
'H', 'P', 'A',
'H', 'T', 'A',
+ 'H', 'U', 'B',
+ 'H', 'U', 'K',
'H', 'U', 'N',
'H', 'U', 'O',
'H', 'W', 'A',
@@ -741,6 +868,7 @@ static const char unicode_name_words[39544] = {
'H', 'Z', 'W',
'H', 'Z', 'Z',
'I', '-', 'A',
+ 'I', '-', 'I',
'I', '-', 'O',
'I', '-', 'U',
'I', 'A', 'N',
@@ -750,19 +878,28 @@ static const char unicode_name_words[39544] = {
'I', 'E', 'X',
'I', 'G', 'I',
'I', 'L', '2',
+ 'I', 'M', 'N',
+ 'I', 'M', 'P',
'I', 'N', 'G',
'I', 'N', 'I',
+ 'I', 'N', 'K',
'I', 'N', 'N',
'I', 'N', 'Y',
'I', 'O', 'R',
+ 'I', 'R', 'B',
'I', 'R', 'I',
'I', 'S', 'H',
'I', 'S', 'S',
+ 'I', 'T', 'S',
+ 'I', 'W', 'N',
'J', 'A', 'A',
+ 'J', 'A', 'H',
'J', 'A', 'R',
+ 'J', 'A', 'W',
'J', 'E', 'E',
'J', 'E', 'H',
'J', 'E', 'R',
+ 'J', 'E', 'U',
'J', 'H', 'A',
'J', 'H', 'O',
'J', 'I', 'A',
@@ -787,6 +924,7 @@ static const char unicode_name_words[39544] = {
'J', 'U', 'P',
'J', 'U', 'R',
'J', 'U', 'T',
+ 'J', 'U', 'U',
'J', 'U', 'X',
'J', 'W', 'A',
'J', 'Y', 'P',
@@ -796,21 +934,29 @@ static const char unicode_name_words[39544] = {
'K', 'A', '2',
'K', 'A', 'A',
'K', 'A', 'B',
+ 'K', 'A', 'D',
'K', 'A', 'F',
'K', 'A', 'H',
'K', 'A', 'I',
'K', 'A', 'K',
'K', 'A', 'L',
+ 'K', 'A', 'M',
'K', 'A', 'N',
'K', 'A', 'P',
+ 'K', 'A', 'Q',
+ 'K', 'A', 'R',
'K', 'A', 'T',
+ 'K', 'A', 'V',
'K', 'A', 'X',
'K', 'A', 'Y',
+ 'K', 'E', 'B',
'K', 'E', 'E',
'K', 'E', 'H',
'K', 'E', 'N',
'K', 'E', 'P',
+ 'K', 'E', 'S',
'K', 'E', 'T',
+ 'K', 'E', 'V',
'K', 'E', 'X',
'K', 'E', 'Y',
'K', 'H', 'A',
@@ -819,13 +965,17 @@ static const char unicode_name_words[39544] = {
'K', 'H', 'O',
'K', 'H', 'U',
'K', 'H', 'Z',
+ 'K', 'I', 'B',
'K', 'I', 'D',
'K', 'I', 'E',
'K', 'I', 'H',
'K', 'I', 'I',
'K', 'I', 'N',
'K', 'I', 'P',
+ 'K', 'I', 'Q',
'K', 'I', 'T',
+ 'K', 'I', 'V',
+ 'K', 'I', 'W',
'K', 'I', 'X',
'K', 'J', 'E',
'K', 'K', 'A',
@@ -835,11 +985,15 @@ static const char unicode_name_words[39544] = {
'K', 'K', 'U',
'K', 'L', 'A',
'K', 'O', 'A',
+ 'K', 'O', 'B',
'K', 'O', 'H',
+ 'K', 'O', 'I',
+ 'K', 'O', 'K',
'K', 'O', 'N',
'K', 'O', 'O',
'K', 'O', 'P',
'K', 'O', 'T',
+ 'K', 'O', 'V',
'K', 'O', 'X',
'K', 'P', 'A',
'K', 'P', 'E',
@@ -851,18 +1005,26 @@ static const char unicode_name_words[39544] = {
'K', 'U', '3',
'K', 'U', '4',
'K', 'U', '7',
+ 'K', 'U', 'A',
+ 'K', 'U', 'B',
+ 'K', 'U', 'G',
'K', 'U', 'L',
'K', 'U', 'N',
'K', 'U', 'O',
'K', 'U', 'P',
+ 'K', 'U', 'Q',
'K', 'U', 'R',
'K', 'U', 'T',
+ 'K', 'U', 'V',
'K', 'U', 'X',
'K', 'V', 'A',
'K', 'W', 'A',
+ 'K', 'W', 'B',
'K', 'W', 'E',
'K', 'W', 'I',
+ 'K', 'W', 'M',
'K', 'W', 'O',
+ 'K', 'W', 'V',
'K', 'X', 'A',
'K', 'X', 'E',
'K', 'X', 'I',
@@ -875,22 +1037,31 @@ static const char unicode_name_words[39544] = {
'K', 'Y', 'U',
'L', 'A', 'A',
'L', 'A', 'E',
+ 'L', 'A', 'H',
+ 'L', 'A', 'I',
'L', 'A', 'L',
'L', 'A', 'M',
+ 'L', 'A', 'N',
'L', 'A', 'O',
'L', 'A', 'P',
+ 'L', 'A', 'Q',
'L', 'A', 'S',
'L', 'A', 'T',
+ 'L', 'A', 'U',
'L', 'A', 'W',
'L', 'A', 'X',
+ 'L', 'A', 'Y',
'L', 'C', 'E',
'L', 'C', 'I',
'L', 'D', '2',
'L', 'E', 'E',
'L', 'E', 'G',
+ 'L', 'E', 'I',
'L', 'E', 'K',
'L', 'E', 'O',
'L', 'E', 'P',
+ 'L', 'E', 'T',
+ 'L', 'E', 'U',
'L', 'E', 'X',
'L', 'H', 'A',
'L', 'H', 'E',
@@ -902,19 +1073,30 @@ static const char unicode_name_words[39544] = {
'L', 'I', 'I',
'L', 'I', 'L',
'L', 'I', 'P',
+ 'L', 'I', 'Q',
+ 'L', 'I', 'S',
'L', 'I', 'T',
'L', 'I', 'X',
'L', 'J', 'E',
'L', 'L', 'A',
+ 'L', 'L', 'E',
'L', 'O', 'A',
'L', 'O', 'G',
+ 'L', 'O', 'M',
'L', 'O', 'O',
'L', 'O', 'P',
+ 'L', 'O', 'Q',
+ 'L', 'O', 'S',
'L', 'O', 'T',
'L', 'O', 'W',
'L', 'O', 'X',
+ 'L', 'R', 'E',
+ 'L', 'R', 'I',
+ 'L', 'R', 'M',
+ 'L', 'R', 'O',
'L', 'U', '2',
'L', 'U', '3',
+ 'L', 'U', 'B',
'L', 'U', 'E',
'L', 'U', 'H',
'L', 'U', 'L',
@@ -922,12 +1104,14 @@ static const char unicode_name_words[39544] = {
'L', 'U', 'O',
'L', 'U', 'P',
'L', 'U', 'R',
+ 'L', 'U', 'S',
'L', 'U', 'T',
'L', 'U', 'X',
'L', 'W', 'A',
'L', 'W', 'E',
'L', 'W', 'I',
'L', 'W', 'O',
+ 'L', 'Y', 'A',
'L', 'Y', 'P',
'L', 'Y', 'R',
'L', 'Y', 'T',
@@ -935,12 +1119,16 @@ static const char unicode_name_words[39544] = {
'L', 'Y', 'Y',
'M', 'A', '2',
'M', 'A', 'A',
+ 'M', 'A', 'E',
'M', 'A', 'H',
'M', 'A', 'I',
'M', 'A', 'N',
+ 'M', 'A', 'O',
'M', 'A', 'P',
+ 'M', 'A', 'Q',
'M', 'A', 'R',
'M', 'A', 'T',
+ 'M', 'A', 'U',
'M', 'A', 'X',
'M', 'A', 'Y',
'M', 'B', '2',
@@ -957,10 +1145,12 @@ static const char unicode_name_words[39544] = {
'M', 'E', 'N',
'M', 'E', 'S',
'M', 'E', 'X',
+ 'M', 'F', 'O',
'M', 'G', 'A',
'M', 'G', 'E',
'M', 'G', 'O',
'M', 'G', 'U',
+ 'M', 'H', 'A',
'M', 'H', 'Z',
'M', 'I', 'D',
'M', 'I', 'E',
@@ -981,14 +1171,19 @@ static const char unicode_name_words[39544] = {
'M', 'O', 'T',
'M', 'O', 'X',
'M', 'P', 'A',
+ 'M', 'R', 'O',
'M', 'U', 'E',
'M', 'U', 'G',
'M', 'U', 'M',
+ 'M', 'U', 'N',
'M', 'U', 'O',
'M', 'U', 'P',
'M', 'U', 'R',
+ 'M', 'U', 'S',
'M', 'U', 'T',
'M', 'U', 'X',
+ 'M', 'V', 'I',
+ 'M', 'V', 'S',
'M', 'W', 'A',
'M', 'W', 'E',
'M', 'W', 'I',
@@ -998,13 +1193,19 @@ static const char unicode_name_words[39544] = {
'M', 'Y', 'T',
'M', 'Y', 'X',
'N', 'A', '2',
+ 'N', 'A', '4',
'N', 'A', 'A',
+ 'N', 'A', 'E',
'N', 'A', 'G',
'N', 'A', 'H',
'N', 'A', 'M',
+ 'N', 'A', 'N',
'N', 'A', 'P',
+ 'N', 'A', 'Q',
'N', 'A', 'R',
+ 'N', 'A', 'U',
'N', 'A', 'X',
+ 'N', 'A', 'Y',
'N', 'B', 'A',
'N', 'B', 'I',
'N', 'B', 'O',
@@ -1035,6 +1236,7 @@ static const char unicode_name_words[39544] = {
'N', 'I', 'E',
'N', 'I', 'I',
'N', 'I', 'M',
+ 'N', 'I', 'N',
'N', 'I', 'P',
'N', 'I', 'T',
'N', 'I', 'X',
@@ -1046,20 +1248,25 @@ static const char unicode_name_words[39544] = {
'N', 'J', 'Y',
'N', 'K', 'O',
'N', 'N', 'A',
+ 'N', 'N', 'E',
'N', 'N', 'G',
'N', 'N', 'O',
'N', 'O', 'A',
+ 'N', 'O', 'N',
'N', 'O', 'O',
'N', 'O', 'P',
'N', 'O', 'R',
'N', 'O', 'T',
'N', 'O', 'W',
'N', 'O', 'X',
+ 'N', 'O', 'Y',
'N', 'R', 'A',
'N', 'R', 'E',
'N', 'R', 'O',
'N', 'R', 'U',
'N', 'R', 'Y',
+ 'N', 'S', 'A',
+ 'N', 'T', 'U',
'N', 'U', 'E',
'N', 'U', 'M',
'N', 'U', 'N',
@@ -1070,6 +1277,8 @@ static const char unicode_name_words[39544] = {
'N', 'U', 'X',
'N', 'W', 'A',
'N', 'W', 'E',
+ 'N', 'W', 'I',
+ 'N', 'W', 'O',
'N', 'Y', 'A',
'N', 'Y', 'D',
'N', 'Y', 'E',
@@ -1088,6 +1297,10 @@ static const char unicode_name_words[39544] = {
'O', 'A', 'Y',
'O', 'C', 'R',
'O', 'D', 'D',
+ 'O', 'E', 'E',
+ 'O', 'E', 'K',
+ 'O', 'E', 'Y',
+ 'O', 'F', 'F',
'O', 'H', 'M',
'O', 'I', 'L',
'O', 'L', 'D',
@@ -1096,23 +1309,34 @@ static const char unicode_name_words[39544] = {
'O', 'N', 'G',
'O', 'N', 'N',
'O', 'N', 'U',
+ 'O', 'O', 'E',
+ 'O', 'O', 'H',
'O', 'O', 'N',
'O', 'O', 'U',
+ 'O', 'R', 'E',
'O', 'T', 'T',
'O', 'T', 'U',
'O', 'U', 'T',
'P', 'A', 'A',
'P', 'A', 'D',
+ 'P', 'A', 'H',
'P', 'A', 'N',
+ 'P', 'A', 'O',
'P', 'A', 'P',
'P', 'A', 'R',
'P', 'A', 'T',
+ 'P', 'A', 'U',
'P', 'A', 'W',
'P', 'A', 'X',
+ 'P', 'A', 'Y',
+ 'P', 'D', 'F',
+ 'P', 'D', 'I',
'P', 'E', 'E',
'P', 'E', 'H',
+ 'P', 'E', 'N',
'P', 'E', 'R',
'P', 'E', 'S',
+ 'P', 'E', 'T',
'P', 'H', 'A',
'P', 'H', 'E',
'P', 'H', 'I',
@@ -1121,22 +1345,30 @@ static const char unicode_name_words[39544] = {
'P', 'I', 'E',
'P', 'I', 'G',
'P', 'I', 'I',
+ 'P', 'I', 'N',
'P', 'I', 'P',
'P', 'I', 'T',
'P', 'I', 'X',
'P', 'L', 'A',
'P', 'O', 'A',
+ 'P', 'O', 'N',
'P', 'O', 'O',
'P', 'O', 'P',
'P', 'O', 'T',
'P', 'O', 'X',
+ 'P', 'O', 'Y',
'P', 'P', 'A',
'P', 'P', 'M',
+ 'P', 'P', 'V',
'P', 'S', 'I',
'P', 'T', 'E',
'P', 'U', '2',
+ 'P', 'U', 'B',
+ 'P', 'U', 'E',
+ 'P', 'U', 'M',
'P', 'U', 'O',
'P', 'U', 'P',
+ 'P', 'U', 'Q',
'P', 'U', 'R',
'P', 'U', 'T',
'P', 'U', 'X',
@@ -1154,7 +1386,9 @@ static const char unicode_name_words[39544] = {
'Q', 'A', 'Q',
'Q', 'A', 'R',
'Q', 'A', 'U',
+ 'Q', 'A', 'Y',
'Q', 'E', 'E',
+ 'Q', 'G', 'A',
'Q', 'H', 'A',
'Q', 'H', 'E',
'Q', 'H', 'I',
@@ -1173,6 +1407,7 @@ static const char unicode_name_words[39544] = {
'Q', 'O', 'X',
'Q', 'U', 'A',
'Q', 'U', 'E',
+ 'Q', 'U', 'F',
'Q', 'U', 'I',
'Q', 'U', 'K',
'Q', 'U', 'O',
@@ -1200,28 +1435,43 @@ static const char unicode_name_words[39544] = {
'R', 'A', 'B',
'R', 'A', 'D',
'R', 'A', 'E',
+ 'R', 'A', 'H',
+ 'R', 'A', 'I',
'R', 'A', 'M',
'R', 'A', 'N',
'R', 'A', 'P',
+ 'R', 'A', 'Q',
'R', 'A', 'T',
+ 'R', 'A', 'U',
'R', 'A', 'X',
'R', 'A', 'Y',
'R', 'D', 'O',
'R', 'E', 'D',
'R', 'E', 'E',
'R', 'E', 'H',
+ 'R', 'E', 'I',
+ 'R', 'E', 'N',
'R', 'E', 'P',
+ 'R', 'E', 'U',
'R', 'E', 'X',
'R', 'H', 'A',
'R', 'H', 'O',
'R', 'I', 'I',
+ 'R', 'I', 'M',
'R', 'I', 'N',
'R', 'I', 'P',
'R', 'J', 'E',
+ 'R', 'L', 'E',
+ 'R', 'L', 'I',
+ 'R', 'L', 'M',
+ 'R', 'L', 'O',
+ 'R', 'M', 'T',
'R', 'O', '2',
'R', 'O', 'A',
'R', 'O', 'C',
'R', 'O', 'D',
+ 'R', 'O', 'G',
+ 'R', 'O', 'M',
'R', 'O', 'O',
'R', 'O', 'P',
'R', 'O', 'T',
@@ -1233,6 +1483,7 @@ static const char unicode_name_words[39544] = {
'R', 'R', 'Y',
'R', 'U', 'A',
'R', 'U', 'B',
+ 'R', 'U', 'E',
'R', 'U', 'M',
'R', 'U', 'N',
'R', 'U', 'O',
@@ -1241,6 +1492,9 @@ static const char unicode_name_words[39544] = {
'R', 'U', 'T',
'R', 'U', 'X',
'R', 'W', 'A',
+ 'R', 'W', 'E',
+ 'R', 'W', 'I',
+ 'R', 'W', 'O',
'R', 'Y', 'A',
'R', 'Y', 'P',
'R', 'Y', 'R',
@@ -1251,9 +1505,12 @@ static const char unicode_name_words[39544] = {
'S', 'A', 'A',
'S', 'A', 'D',
'S', 'A', 'G',
+ 'S', 'A', 'H',
'S', 'A', 'L',
+ 'S', 'A', 'M',
'S', 'A', 'N',
'S', 'A', 'P',
+ 'S', 'A', 'Q',
'S', 'A', 'R',
'S', 'A', 'T',
'S', 'A', 'W',
@@ -1271,6 +1528,7 @@ static const char unicode_name_words[39544] = {
'S', 'H', 'O',
'S', 'H', 'U',
'S', 'H', 'Y',
+ 'S', 'I', 'A',
'S', 'I', 'E',
'S', 'I', 'G',
'S', 'I', 'I',
@@ -1279,17 +1537,23 @@ static const char unicode_name_words[39544] = {
'S', 'I', 'T',
'S', 'I', 'X',
'S', 'J', 'E',
+ 'S', 'K', 'I',
'S', 'K', 'W',
'S', 'N', 'A',
'S', 'O', 'A',
'S', 'O', 'F',
+ 'S', 'O', 'M',
'S', 'O', 'N',
'S', 'O', 'O',
'S', 'O', 'P',
+ 'S', 'O', 'Q',
+ 'S', 'O', 'S',
'S', 'O', 'T',
'S', 'O', 'U',
'S', 'O', 'W',
'S', 'O', 'X',
+ 'S', 'O', 'Y',
+ 'S', 'P', 'Y',
'S', 'S', 'A',
'S', 'S', 'E',
'S', 'S', 'I',
@@ -1299,12 +1563,14 @@ static const char unicode_name_words[39544] = {
'S', 'T', '2',
'S', 'U', 'A',
'S', 'U', 'D',
+ 'S', 'U', 'E',
'S', 'U', 'M',
'S', 'U', 'N',
'S', 'U', 'O',
'S', 'U', 'P',
'S', 'U', 'R',
'S', 'U', 'T',
+ 'S', 'U', 'U',
'S', 'U', 'X',
'S', 'W', 'A',
'S', 'W', 'E',
@@ -1326,6 +1592,7 @@ static const char unicode_name_words[39544] = {
'T', 'A', '2',
'T', 'A', 'A',
'T', 'A', 'B',
+ 'T', 'A', 'E',
'T', 'A', 'G',
'T', 'A', 'H',
'T', 'A', 'I',
@@ -1334,17 +1601,22 @@ static const char unicode_name_words[39544] = {
'T', 'A', 'N',
'T', 'A', 'O',
'T', 'A', 'P',
+ 'T', 'A', 'Q',
'T', 'A', 'R',
+ 'T', 'A', 'S',
'T', 'A', 'T',
'T', 'A', 'U',
'T', 'A', 'V',
'T', 'A', 'W',
'T', 'A', 'X',
+ 'T', 'A', 'Y',
'T', 'E', 'E',
'T', 'E', 'H',
+ 'T', 'E', 'K',
'T', 'E', 'N',
'T', 'E', 'P',
'T', 'E', 'T',
+ 'T', 'E', 'U',
'T', 'E', 'X',
'T', 'H', 'A',
'T', 'H', 'E',
@@ -1352,9 +1624,11 @@ static const char unicode_name_words[39544] = {
'T', 'H', 'O',
'T', 'H', 'U',
'T', 'H', 'Z',
+ 'T', 'I', '2',
'T', 'I', 'E',
'T', 'I', 'I',
'T', 'I', 'L',
+ 'T', 'I', 'N',
'T', 'I', 'P',
'T', 'I', 'R',
'T', 'I', 'T',
@@ -1370,8 +1644,12 @@ static const char unicode_name_words[39544] = {
'T', 'O', 'N',
'T', 'O', 'O',
'T', 'O', 'P',
+ 'T', 'O', 'Q',
+ 'T', 'O', 'S',
'T', 'O', 'T',
+ 'T', 'O', 'V',
'T', 'O', 'X',
+ 'T', 'R', 'A',
'T', 'R', 'I',
'T', 'S', 'A',
'T', 'S', 'E',
@@ -1386,6 +1664,7 @@ static const char unicode_name_words[39544] = {
'T', 'T', 'I',
'T', 'T', 'O',
'T', 'T', 'U',
+ 'T', 'U', 'B',
'T', 'U', 'K',
'T', 'U', 'M',
'T', 'U', 'O',
@@ -1409,11 +1688,16 @@ static const char unicode_name_words[39544] = {
'T', 'Z', 'U',
'U', '-', 'A',
'U', '-', 'U',
+ 'U', 'A', 'N',
+ 'U', 'E', 'A',
'U', 'E', 'E',
+ 'U', 'E', 'I',
'U', 'E', 'Y',
'U', 'K', 'U',
'U', 'L', 'U',
'U', 'N', 'A',
+ 'U', 'N', 'G',
+ 'U', 'N', 'K',
'U', 'N', 'N',
'U', 'O', 'N',
'U', 'O', 'P',
@@ -1426,27 +1710,36 @@ static const char unicode_name_words[39544] = {
'U', 'R', 'U',
'U', 'S', 'E',
'U', 'S', 'H',
+ 'U', 'U', 'E',
'U', 'U', 'U',
+ 'U', 'W', 'U',
'U', 'Z', '3',
'U', 'Z', 'U',
'V', 'A', 'A',
+ 'V', 'A', 'H',
'V', 'A', 'I',
+ 'V', 'A', 'J',
'V', 'A', 'P',
'V', 'A', 'T',
+ 'V', 'A', 'U',
'V', 'A', 'V',
'V', 'A', 'X',
'V', 'E', 'E',
'V', 'E', 'H',
'V', 'E', 'P',
+ 'V', 'E', 'R',
'V', 'E', 'W',
'V', 'E', 'X',
+ 'V', 'F', 'A',
'V', 'I', 'E',
'V', 'I', 'N',
'V', 'I', 'P',
'V', 'I', 'T',
'V', 'I', 'X',
+ 'V', 'O', 'M',
'V', 'O', 'O',
'V', 'O', 'P',
+ 'V', 'O', 'S',
'V', 'O', 'T',
'V', 'O', 'U',
'V', 'O', 'W',
@@ -1456,19 +1749,24 @@ static const char unicode_name_words[39544] = {
'V', 'U', 'T',
'V', 'U', 'X',
'V', 'W', 'A',
+ 'V', 'W', 'J',
'V', 'Y', 'P',
'V', 'Y', 'R',
'V', 'Y', 'T',
'V', 'Y', 'X',
'W', 'A', 'A',
'W', 'A', 'E',
+ 'W', 'A', 'I',
'W', 'A', 'N',
'W', 'A', 'P',
'W', 'A', 'T',
'W', 'A', 'U',
'W', 'A', 'W',
'W', 'A', 'X',
+ 'W', 'A', 'Y',
+ 'W', 'E', 'B',
'W', 'E', 'E',
+ 'W', 'E', 'I',
'W', 'E', 'N',
'W', 'E', 'O',
'W', 'E', 'P',
@@ -1480,11 +1778,21 @@ static const char unicode_name_words[39544] = {
'W', 'O', 'N',
'W', 'O', 'O',
'W', 'O', 'P',
+ 'W', 'O', 'W',
'W', 'O', 'X',
+ 'W', 'R', 'Y',
+ 'W', 'U', 'E',
+ 'W', 'U', 'I',
'W', 'U', 'N',
'W', 'U', 'O',
+ 'W', 'U', 'P',
+ 'W', 'V', 'A',
+ 'W', 'V', 'E',
+ 'W', 'V', 'I',
+ 'X', '-', 'X',
'X', 'A', 'A',
'X', 'A', 'N',
+ 'X', 'A', 'U',
'X', 'E', 'E',
'X', 'E', 'H',
'X', 'I', 'E',
@@ -1498,6 +1806,7 @@ static const char unicode_name_words[39544] = {
'X', 'O', 'X',
'X', 'U', 'O',
'X', 'V', 'A',
+ 'X', 'V', 'E',
'X', 'W', 'A',
'X', 'W', 'E',
'X', 'W', 'I',
@@ -1527,6 +1836,7 @@ static const char unicode_name_words[39544] = {
'Y', 'A', 'R',
'Y', 'A', 'S',
'Y', 'A', 'T',
+ 'Y', 'A', 'U',
'Y', 'A', 'V',
'Y', 'A', 'W',
'Y', 'A', 'Y',
@@ -1550,10 +1860,18 @@ static const char unicode_name_words[39544] = {
'Y', 'O', 'D',
'Y', 'O', 'O',
'Y', 'O', 'P',
+ 'Y', 'O', 'Q',
'Y', 'O', 'T',
'Y', 'O', 'X',
+ 'Y', 'O', 'Y',
+ 'Y', 'R', 'Y',
+ 'Y', 'U', 'E',
+ 'Y', 'U', 'J',
+ 'Y', 'U', 'M',
+ 'Y', 'U', 'N',
'Y', 'U', 'O',
'Y', 'U', 'P',
+ 'Y', 'U', 'Q',
'Y', 'U', 'R',
'Y', 'U', 'S',
'Y', 'U', 'T',
@@ -1563,10 +1881,12 @@ static const char unicode_name_words[39544] = {
'Y', 'W', 'I',
'Y', 'W', 'O',
'Y', 'Y', 'A',
+ 'Y', 'Y', 'E',
'Y', 'Y', 'P',
'Y', 'Y', 'R',
'Y', 'Y', 'T',
'Y', 'Y', 'X',
+ 'Z', 'A', '7',
'Z', 'A', 'A',
'Z', 'A', 'G',
'Z', 'A', 'H',
@@ -1601,6 +1921,7 @@ static const char unicode_name_words[39544] = {
'Z', 'O', 'T',
'Z', 'O', 'X',
'Z', 'R', 'A',
+ 'Z', 'S', 'A',
'Z', 'U', '5',
'Z', 'U', 'M',
'Z', 'U', 'O',
@@ -1609,6 +1930,7 @@ static const char unicode_name_words[39544] = {
'Z', 'U', 'T',
'Z', 'U', 'X',
'Z', 'W', 'A',
+ 'Z', 'W', 'J',
'Z', 'Y', 'P',
'Z', 'Y', 'R',
'Z', 'Y', 'T',
@@ -1619,15 +1941,681 @@ static const char unicode_name_words[39544] = {
'Z', 'Z', 'O',
'Z', 'Z', 'U',
'Z', 'Z', 'Y',
+ 'A', '-', 'E', 'U',
+ 'A', '0', '0', '1',
+ 'A', '0', '0', '2',
+ 'A', '0', '0', '3',
+ 'A', '0', '0', '4',
+ 'A', '0', '0', '5',
+ 'A', '0', '0', '6',
+ 'A', '0', '0', '7',
+ 'A', '0', '0', '8',
+ 'A', '0', '0', '9',
+ 'A', '0', '1', '0',
+ 'A', '0', '1', '1',
+ 'A', '0', '1', '2',
+ 'A', '0', '1', '3',
+ 'A', '0', '1', '4',
+ 'A', '0', '1', '5',
+ 'A', '0', '1', '6',
+ 'A', '0', '1', '7',
+ 'A', '0', '1', '8',
+ 'A', '0', '1', '9',
+ 'A', '0', '2', '0',
+ 'A', '0', '2', '1',
+ 'A', '0', '2', '2',
+ 'A', '0', '2', '3',
+ 'A', '0', '2', '4',
+ 'A', '0', '2', '5',
+ 'A', '0', '2', '6',
+ 'A', '0', '2', '7',
+ 'A', '0', '2', '8',
+ 'A', '0', '2', '9',
+ 'A', '0', '3', '0',
+ 'A', '0', '3', '1',
+ 'A', '0', '3', '2',
+ 'A', '0', '3', '3',
+ 'A', '0', '3', '4',
+ 'A', '0', '3', '5',
+ 'A', '0', '3', '6',
+ 'A', '0', '3', '7',
+ 'A', '0', '3', '8',
+ 'A', '0', '3', '9',
+ 'A', '0', '4', '0',
+ 'A', '0', '4', '1',
+ 'A', '0', '4', '2',
+ 'A', '0', '4', '3',
+ 'A', '0', '4', '4',
+ 'A', '0', '4', '5',
+ 'A', '0', '4', '6',
+ 'A', '0', '4', '7',
+ 'A', '0', '4', '8',
+ 'A', '0', '4', '9',
+ 'A', '0', '5', '0',
+ 'A', '0', '5', '1',
+ 'A', '0', '5', '2',
+ 'A', '0', '5', '3',
+ 'A', '0', '5', '4',
+ 'A', '0', '5', '5',
+ 'A', '0', '5', '6',
+ 'A', '0', '5', '7',
+ 'A', '0', '5', '8',
+ 'A', '0', '5', '9',
+ 'A', '0', '6', '0',
+ 'A', '0', '6', '1',
+ 'A', '0', '6', '2',
+ 'A', '0', '6', '3',
+ 'A', '0', '6', '4',
+ 'A', '0', '6', '5',
+ 'A', '0', '6', '6',
+ 'A', '0', '6', '7',
+ 'A', '0', '6', '8',
+ 'A', '0', '6', '9',
+ 'A', '0', '7', '0',
+ 'A', '0', '7', '1',
+ 'A', '0', '7', '2',
+ 'A', '0', '7', '3',
+ 'A', '0', '7', '4',
+ 'A', '0', '7', '5',
+ 'A', '0', '7', '6',
+ 'A', '0', '7', '7',
+ 'A', '0', '7', '8',
+ 'A', '0', '7', '9',
+ 'A', '0', '8', '0',
+ 'A', '0', '8', '1',
+ 'A', '0', '8', '2',
+ 'A', '0', '8', '3',
+ 'A', '0', '8', '4',
+ 'A', '0', '8', '5',
+ 'A', '0', '8', '6',
+ 'A', '0', '8', '7',
+ 'A', '0', '8', '8',
+ 'A', '0', '8', '9',
+ 'A', '0', '9', '0',
+ 'A', '0', '9', '1',
+ 'A', '0', '9', '2',
+ 'A', '0', '9', '3',
+ 'A', '0', '9', '4',
+ 'A', '0', '9', '5',
+ 'A', '0', '9', '6',
+ 'A', '0', '9', '7',
+ 'A', '0', '9', '8',
+ 'A', '0', '9', '9',
+ 'A', '1', '0', '0',
+ 'A', '1', '0', '1',
+ 'A', '1', '0', '2',
+ 'A', '1', '0', '3',
+ 'A', '1', '0', '4',
+ 'A', '1', '0', '5',
+ 'A', '1', '0', '6',
+ 'A', '1', '0', '7',
+ 'A', '1', '0', '8',
+ 'A', '1', '0', '9',
+ 'A', '1', '1', '0',
+ 'A', '1', '1', '1',
+ 'A', '1', '1', '2',
+ 'A', '1', '1', '3',
+ 'A', '1', '1', '4',
+ 'A', '1', '1', '5',
+ 'A', '1', '1', '6',
+ 'A', '1', '1', '7',
+ 'A', '1', '1', '8',
+ 'A', '1', '1', '9',
+ 'A', '1', '2', '0',
+ 'A', '1', '2', '1',
+ 'A', '1', '2', '2',
+ 'A', '1', '2', '3',
+ 'A', '1', '2', '4',
+ 'A', '1', '2', '5',
+ 'A', '1', '2', '6',
+ 'A', '1', '2', '7',
+ 'A', '1', '2', '8',
+ 'A', '1', '2', '9',
+ 'A', '1', '3', '0',
+ 'A', '1', '3', '1',
+ 'A', '1', '3', '2',
+ 'A', '1', '3', '3',
+ 'A', '1', '3', '4',
+ 'A', '1', '3', '5',
+ 'A', '1', '3', '6',
+ 'A', '1', '3', '7',
+ 'A', '1', '3', '8',
+ 'A', '1', '3', '9',
+ 'A', '1', '4', '0',
+ 'A', '1', '4', '1',
+ 'A', '1', '4', '2',
+ 'A', '1', '4', '3',
+ 'A', '1', '4', '4',
+ 'A', '1', '4', '5',
+ 'A', '1', '4', '6',
+ 'A', '1', '4', '7',
+ 'A', '1', '4', '8',
+ 'A', '1', '4', '9',
+ 'A', '1', '5', '0',
+ 'A', '1', '5', '1',
+ 'A', '1', '5', '2',
+ 'A', '1', '5', '3',
+ 'A', '1', '5', '4',
+ 'A', '1', '5', '5',
+ 'A', '1', '5', '6',
+ 'A', '1', '5', '7',
+ 'A', '1', '5', '8',
+ 'A', '1', '5', '9',
+ 'A', '1', '6', '0',
+ 'A', '1', '6', '1',
+ 'A', '1', '6', '2',
+ 'A', '1', '6', '3',
+ 'A', '1', '6', '4',
+ 'A', '1', '6', '5',
+ 'A', '1', '6', '6',
+ 'A', '1', '6', '7',
+ 'A', '1', '6', '8',
+ 'A', '1', '6', '9',
+ 'A', '1', '7', '0',
+ 'A', '1', '7', '1',
+ 'A', '1', '7', '2',
+ 'A', '1', '7', '3',
+ 'A', '1', '7', '4',
+ 'A', '1', '7', '5',
+ 'A', '1', '7', '6',
+ 'A', '1', '7', '7',
+ 'A', '1', '7', '8',
+ 'A', '1', '7', '9',
+ 'A', '1', '8', '0',
+ 'A', '1', '8', '1',
+ 'A', '1', '8', '2',
+ 'A', '1', '8', '3',
+ 'A', '1', '8', '4',
+ 'A', '1', '8', '5',
+ 'A', '1', '8', '6',
+ 'A', '1', '8', '7',
+ 'A', '1', '8', '8',
+ 'A', '1', '8', '9',
+ 'A', '1', '9', '0',
+ 'A', '1', '9', '1',
+ 'A', '1', '9', '2',
+ 'A', '1', '9', '3',
+ 'A', '1', '9', '4',
+ 'A', '1', '9', '5',
+ 'A', '1', '9', '6',
+ 'A', '1', '9', '7',
+ 'A', '1', '9', '8',
+ 'A', '1', '9', '9',
+ 'A', '2', '0', '0',
+ 'A', '2', '0', '1',
+ 'A', '2', '0', '2',
+ 'A', '2', '0', '3',
+ 'A', '2', '0', '4',
+ 'A', '2', '0', '5',
+ 'A', '2', '0', '6',
+ 'A', '2', '0', '7',
+ 'A', '2', '0', '8',
+ 'A', '2', '0', '9',
+ 'A', '2', '1', '0',
+ 'A', '2', '1', '1',
+ 'A', '2', '1', '2',
+ 'A', '2', '1', '3',
+ 'A', '2', '1', '4',
+ 'A', '2', '1', '5',
+ 'A', '2', '1', '6',
+ 'A', '2', '1', '7',
+ 'A', '2', '1', '8',
+ 'A', '2', '1', '9',
+ 'A', '2', '2', '0',
+ 'A', '2', '2', '1',
+ 'A', '2', '2', '2',
+ 'A', '2', '2', '3',
+ 'A', '2', '2', '4',
+ 'A', '2', '2', '5',
+ 'A', '2', '2', '6',
+ 'A', '2', '2', '7',
+ 'A', '2', '2', '8',
+ 'A', '2', '2', '9',
+ 'A', '2', '3', '0',
+ 'A', '2', '3', '1',
+ 'A', '2', '3', '2',
+ 'A', '2', '3', '3',
+ 'A', '2', '3', '4',
+ 'A', '2', '3', '5',
+ 'A', '2', '3', '6',
+ 'A', '2', '3', '7',
+ 'A', '2', '3', '8',
+ 'A', '2', '3', '9',
+ 'A', '2', '4', '0',
+ 'A', '2', '4', '1',
+ 'A', '2', '4', '2',
+ 'A', '2', '4', '3',
+ 'A', '2', '4', '4',
+ 'A', '2', '4', '5',
+ 'A', '2', '4', '6',
+ 'A', '2', '4', '7',
+ 'A', '2', '4', '8',
+ 'A', '2', '4', '9',
+ 'A', '2', '5', '0',
+ 'A', '2', '5', '1',
+ 'A', '2', '5', '2',
+ 'A', '2', '5', '3',
+ 'A', '2', '5', '4',
+ 'A', '2', '5', '5',
+ 'A', '2', '5', '6',
+ 'A', '2', '5', '7',
+ 'A', '2', '5', '8',
+ 'A', '2', '5', '9',
+ 'A', '2', '6', '0',
+ 'A', '2', '6', '1',
+ 'A', '2', '6', '2',
+ 'A', '2', '6', '3',
+ 'A', '2', '6', '4',
+ 'A', '2', '6', '5',
+ 'A', '2', '6', '6',
+ 'A', '2', '6', '7',
+ 'A', '2', '6', '8',
+ 'A', '2', '6', '9',
+ 'A', '2', '7', '0',
+ 'A', '2', '7', '1',
+ 'A', '2', '7', '2',
+ 'A', '2', '7', '3',
+ 'A', '2', '7', '4',
+ 'A', '2', '7', '5',
+ 'A', '2', '7', '6',
+ 'A', '2', '7', '7',
+ 'A', '2', '7', '8',
+ 'A', '2', '7', '9',
+ 'A', '2', '8', '0',
+ 'A', '2', '8', '1',
+ 'A', '2', '8', '2',
+ 'A', '2', '8', '3',
+ 'A', '2', '8', '4',
+ 'A', '2', '8', '5',
+ 'A', '2', '8', '6',
+ 'A', '2', '8', '7',
+ 'A', '2', '8', '8',
+ 'A', '2', '8', '9',
+ 'A', '2', '9', '0',
+ 'A', '2', '9', '1',
+ 'A', '2', '9', '2',
+ 'A', '2', '9', '3',
+ 'A', '2', '9', '4',
+ 'A', '2', '9', '5',
+ 'A', '2', '9', '6',
+ 'A', '2', '9', '7',
+ 'A', '2', '9', '8',
+ 'A', '2', '9', '9',
+ 'A', '3', '0', '0',
+ 'A', '3', '0', '1',
+ 'A', '3', '0', '2',
+ 'A', '3', '0', '3',
+ 'A', '3', '0', '4',
+ 'A', '3', '0', '5',
+ 'A', '3', '0', '6',
+ 'A', '3', '0', '7',
+ 'A', '3', '0', '8',
+ 'A', '3', '0', '9',
+ 'A', '3', '1', '0',
+ 'A', '3', '1', '1',
+ 'A', '3', '1', '2',
+ 'A', '3', '1', '3',
+ 'A', '3', '1', '4',
+ 'A', '3', '1', '5',
+ 'A', '3', '1', '6',
+ 'A', '3', '1', '7',
+ 'A', '3', '1', '8',
+ 'A', '3', '1', '9',
+ 'A', '3', '2', '0',
+ 'A', '3', '2', '1',
+ 'A', '3', '2', '2',
+ 'A', '3', '2', '3',
+ 'A', '3', '2', '4',
+ 'A', '3', '2', '5',
+ 'A', '3', '2', '6',
+ 'A', '3', '2', '7',
+ 'A', '3', '2', '8',
+ 'A', '3', '2', '9',
+ 'A', '3', '3', '0',
+ 'A', '3', '3', '1',
+ 'A', '3', '3', '2',
+ 'A', '3', '3', '3',
+ 'A', '3', '3', '4',
+ 'A', '3', '3', '5',
+ 'A', '3', '3', '6',
+ 'A', '3', '3', '7',
+ 'A', '3', '3', '8',
+ 'A', '3', '3', '9',
+ 'A', '3', '4', '0',
+ 'A', '3', '4', '1',
+ 'A', '3', '4', '2',
+ 'A', '3', '4', '3',
+ 'A', '3', '4', '4',
+ 'A', '3', '4', '5',
+ 'A', '3', '4', '6',
+ 'A', '3', '4', '7',
+ 'A', '3', '4', '8',
+ 'A', '3', '4', '9',
+ 'A', '3', '5', '0',
+ 'A', '3', '5', '1',
+ 'A', '3', '5', '2',
+ 'A', '3', '5', '3',
+ 'A', '3', '5', '4',
+ 'A', '3', '5', '5',
+ 'A', '3', '5', '6',
+ 'A', '3', '5', '7',
+ 'A', '3', '5', '8',
+ 'A', '3', '5', '9',
+ 'A', '3', '6', '0',
+ 'A', '3', '6', '1',
+ 'A', '3', '6', '2',
+ 'A', '3', '6', '3',
+ 'A', '3', '6', '4',
+ 'A', '3', '6', '5',
+ 'A', '3', '6', '6',
+ 'A', '3', '6', '7',
+ 'A', '3', '6', '8',
+ 'A', '3', '6', '9',
+ 'A', '3', '7', '0',
+ 'A', '3', '7', '1',
+ 'A', '3', '7', '2',
+ 'A', '3', '7', '3',
+ 'A', '3', '7', '4',
+ 'A', '3', '7', '5',
+ 'A', '3', '7', '6',
+ 'A', '3', '7', '7',
+ 'A', '3', '7', '8',
+ 'A', '3', '7', '9',
+ 'A', '3', '8', '0',
+ 'A', '3', '8', '1',
+ 'A', '3', '8', '2',
+ 'A', '3', '8', '3',
+ 'A', '3', '8', '4',
+ 'A', '3', '8', '5',
+ 'A', '3', '8', '6',
+ 'A', '3', '8', '7',
+ 'A', '3', '8', '8',
+ 'A', '3', '8', '9',
+ 'A', '3', '9', '0',
+ 'A', '3', '9', '1',
+ 'A', '3', '9', '2',
+ 'A', '3', '9', '3',
+ 'A', '3', '9', '4',
+ 'A', '3', '9', '5',
+ 'A', '3', '9', '6',
+ 'A', '3', '9', '7',
+ 'A', '3', '9', '8',
+ 'A', '3', '9', '9',
+ 'A', '4', '0', '0',
+ 'A', '4', '0', '1',
+ 'A', '4', '0', '2',
+ 'A', '4', '0', '3',
+ 'A', '4', '0', '4',
+ 'A', '4', '0', '5',
+ 'A', '4', '0', '6',
+ 'A', '4', '0', '7',
+ 'A', '4', '0', '8',
+ 'A', '4', '0', '9',
+ 'A', '4', '1', '0',
+ 'A', '4', '1', '1',
+ 'A', '4', '1', '2',
+ 'A', '4', '1', '3',
+ 'A', '4', '1', '4',
+ 'A', '4', '1', '5',
+ 'A', '4', '1', '6',
+ 'A', '4', '1', '7',
+ 'A', '4', '1', '8',
+ 'A', '4', '1', '9',
+ 'A', '4', '2', '0',
+ 'A', '4', '2', '1',
+ 'A', '4', '2', '2',
+ 'A', '4', '2', '3',
+ 'A', '4', '2', '4',
+ 'A', '4', '2', '5',
+ 'A', '4', '2', '6',
+ 'A', '4', '2', '7',
+ 'A', '4', '2', '8',
+ 'A', '4', '2', '9',
+ 'A', '4', '3', '0',
+ 'A', '4', '3', '1',
+ 'A', '4', '3', '2',
+ 'A', '4', '3', '3',
+ 'A', '4', '3', '4',
+ 'A', '4', '3', '5',
+ 'A', '4', '3', '6',
+ 'A', '4', '3', '7',
+ 'A', '4', '3', '8',
+ 'A', '4', '3', '9',
+ 'A', '4', '4', '0',
+ 'A', '4', '4', '1',
+ 'A', '4', '4', '2',
+ 'A', '4', '4', '3',
+ 'A', '4', '4', '4',
+ 'A', '4', '4', '5',
+ 'A', '4', '4', '6',
+ 'A', '4', '4', '7',
+ 'A', '4', '4', '8',
+ 'A', '4', '4', '9',
+ 'A', '4', '5', '0',
+ 'A', '4', '5', '1',
+ 'A', '4', '5', '2',
+ 'A', '4', '5', '3',
+ 'A', '4', '5', '4',
+ 'A', '4', '5', '5',
+ 'A', '4', '5', '6',
+ 'A', '4', '5', '7',
+ 'A', '4', '5', '8',
+ 'A', '4', '5', '9',
+ 'A', '4', '6', '0',
+ 'A', '4', '6', '1',
+ 'A', '4', '6', '2',
+ 'A', '4', '6', '3',
+ 'A', '4', '6', '4',
+ 'A', '4', '6', '5',
+ 'A', '4', '6', '6',
+ 'A', '4', '6', '7',
+ 'A', '4', '6', '8',
+ 'A', '4', '6', '9',
+ 'A', '4', '7', '0',
+ 'A', '4', '7', '1',
+ 'A', '4', '7', '2',
+ 'A', '4', '7', '3',
+ 'A', '4', '7', '4',
+ 'A', '4', '7', '5',
+ 'A', '4', '7', '6',
+ 'A', '4', '7', '7',
+ 'A', '4', '7', '8',
+ 'A', '4', '7', '9',
+ 'A', '4', '8', '0',
+ 'A', '4', '8', '1',
+ 'A', '4', '8', '2',
+ 'A', '4', '8', '3',
+ 'A', '4', '8', '4',
+ 'A', '4', '8', '5',
+ 'A', '4', '8', '6',
+ 'A', '4', '8', '7',
+ 'A', '4', '8', '8',
+ 'A', '4', '8', '9',
+ 'A', '4', '9', '0',
+ 'A', '4', '9', '1',
+ 'A', '4', '9', '2',
+ 'A', '4', '9', '3',
+ 'A', '4', '9', '4',
+ 'A', '4', '9', '5',
+ 'A', '4', '9', '6',
+ 'A', '4', '9', '7',
+ 'A', '5', '0', '1',
+ 'A', '5', '0', '2',
+ 'A', '5', '0', '3',
+ 'A', '5', '0', '4',
+ 'A', '5', '0', '5',
+ 'A', '5', '0', '6',
+ 'A', '5', '0', '7',
+ 'A', '5', '0', '8',
+ 'A', '5', '0', '9',
+ 'A', '5', '1', '0',
+ 'A', '5', '1', '1',
+ 'A', '5', '1', '2',
+ 'A', '5', '1', '3',
+ 'A', '5', '1', '4',
+ 'A', '5', '1', '5',
+ 'A', '5', '1', '6',
+ 'A', '5', '1', '7',
+ 'A', '5', '1', '8',
+ 'A', '5', '1', '9',
+ 'A', '5', '2', '0',
+ 'A', '5', '2', '1',
+ 'A', '5', '2', '2',
+ 'A', '5', '2', '3',
+ 'A', '5', '2', '4',
+ 'A', '5', '2', '5',
+ 'A', '5', '2', '6',
+ 'A', '5', '2', '7',
+ 'A', '5', '2', '8',
+ 'A', '5', '2', '9',
+ 'A', '5', '3', '0',
+ 'A', '5', '3', '1',
+ 'A', '5', '3', '2',
+ 'A', '5', '3', '4',
+ 'A', '5', '3', '5',
+ 'A', '5', '3', '6',
+ 'A', '5', '3', '7',
+ 'A', '5', '3', '8',
+ 'A', '5', '3', '9',
+ 'A', '5', '4', '0',
+ 'A', '5', '4', '1',
+ 'A', '5', '4', '2',
+ 'A', '5', '4', '5',
+ 'A', '5', '4', '7',
+ 'A', '5', '4', '8',
+ 'A', '5', '4', '9',
+ 'A', '5', '5', '0',
+ 'A', '5', '5', '1',
+ 'A', '5', '5', '2',
+ 'A', '5', '5', '3',
+ 'A', '5', '5', '4',
+ 'A', '5', '5', '5',
+ 'A', '5', '5', '6',
+ 'A', '5', '5', '7',
+ 'A', '5', '5', '9',
+ 'A', '5', '6', '3',
+ 'A', '5', '6', '4',
+ 'A', '5', '6', '5',
+ 'A', '5', '6', '6',
+ 'A', '5', '6', '8',
+ 'A', '5', '6', '9',
+ 'A', '5', '7', '0',
+ 'A', '5', '7', '1',
+ 'A', '5', '7', '2',
+ 'A', '5', '7', '3',
+ 'A', '5', '7', '4',
+ 'A', '5', '7', '5',
+ 'A', '5', '7', '6',
+ 'A', '5', '7', '7',
+ 'A', '5', '7', '8',
+ 'A', '5', '7', '9',
+ 'A', '5', '8', '0',
+ 'A', '5', '8', '1',
+ 'A', '5', '8', '2',
+ 'A', '5', '8', '3',
+ 'A', '5', '8', '4',
+ 'A', '5', '8', '5',
+ 'A', '5', '8', '6',
+ 'A', '5', '8', '7',
+ 'A', '5', '8', '8',
+ 'A', '5', '8', '9',
+ 'A', '5', '9', '1',
+ 'A', '5', '9', '2',
+ 'A', '5', '9', '4',
+ 'A', '5', '9', '5',
+ 'A', '5', '9', '6',
+ 'A', '5', '9', '8',
+ 'A', '6', '0', '0',
+ 'A', '6', '0', '1',
+ 'A', '6', '0', '2',
+ 'A', '6', '0', '3',
+ 'A', '6', '0', '4',
+ 'A', '6', '0', '6',
+ 'A', '6', '0', '8',
+ 'A', '6', '0', '9',
+ 'A', '6', '1', '0',
+ 'A', '6', '1', '1',
+ 'A', '6', '1', '2',
+ 'A', '6', '1', '3',
+ 'A', '6', '1', '4',
+ 'A', '6', '1', '5',
+ 'A', '6', '1', '6',
+ 'A', '6', '1', '7',
+ 'A', '6', '1', '8',
+ 'A', '6', '1', '9',
+ 'A', '6', '2', '0',
+ 'A', '6', '2', '1',
+ 'A', '6', '2', '2',
+ 'A', '6', '2', '3',
+ 'A', '6', '2', '4',
+ 'A', '6', '2', '6',
+ 'A', '6', '2', '7',
+ 'A', '6', '2', '8',
+ 'A', '6', '2', '9',
+ 'A', '6', '3', '4',
+ 'A', '6', '3', '7',
+ 'A', '6', '3', '8',
+ 'A', '6', '4', '0',
+ 'A', '6', '4', '2',
+ 'A', '6', '4', '3',
+ 'A', '6', '4', '4',
+ 'A', '6', '4', '5',
+ 'A', '6', '4', '6',
+ 'A', '6', '4', '8',
+ 'A', '6', '4', '9',
+ 'A', '6', '5', '1',
+ 'A', '6', '5', '2',
+ 'A', '6', '5', '3',
+ 'A', '6', '5', '4',
+ 'A', '6', '5', '5',
+ 'A', '6', '5', '6',
+ 'A', '6', '5', '7',
+ 'A', '6', '5', '8',
+ 'A', '6', '5', '9',
+ 'A', '6', '6', '0',
+ 'A', '6', '6', '1',
+ 'A', '6', '6', '2',
+ 'A', '6', '6', '3',
+ 'A', '6', '6', '4',
+ 'A', '7', '0', '1',
+ 'A', '7', '0', '2',
+ 'A', '7', '0', '3',
+ 'A', '7', '0', '4',
+ 'A', '7', '0', '5',
+ 'A', '7', '0', '6',
+ 'A', '7', '0', '7',
+ 'A', '7', '0', '8',
+ 'A', '7', '0', '9',
+ 'A', '7', '1', '0',
+ 'A', '7', '1', '1',
+ 'A', '7', '1', '2',
+ 'A', '7', '1', '3',
+ 'A', '7', '1', '4',
+ 'A', '7', '1', '5',
+ 'A', '7', '1', '7',
+ 'A', '7', '2', '6',
+ 'A', '7', '3', '2',
+ 'A', '8', '0', '0',
+ 'A', '8', '0', '1',
+ 'A', '8', '0', '2',
+ 'A', '8', '0', '3',
+ 'A', '8', '0', '4',
+ 'A', '8', '0', '5',
+ 'A', '8', '0', '6',
+ 'A', '8', '0', '7',
'A', 'A', 'R', 'U',
'A', 'D', 'A', 'K',
'A', 'D', 'E', 'G',
+ 'A', 'E', 'N', 'G',
'A', 'E', 'S', 'C',
'A', 'H', 'A', 'D',
+ 'A', 'H', 'O', 'M',
'A', 'H', 'S', 'A',
'A', 'I', 'L', 'M',
'A', 'I', 'N', 'N',
'A', 'I', 'N', 'U',
+ 'A', 'K', 'S', 'A',
+ 'A', 'L', 'A', 'F',
'A', 'L', 'A', 'N',
'A', 'L', 'E', 'F',
'A', 'L', 'F', 'A',
@@ -1635,22 +2623,30 @@ static const char unicode_name_words[39544] = {
'A', 'L', 'L', 'O',
'A', 'L', 'P', 'A',
'A', 'L', 'T', 'A',
+ 'A', 'L', 'U', 'M',
'A', 'M', 'A', 'R',
'A', 'M', 'B', 'A',
'A', 'M', 'P', 'S',
+ 'A', 'N', 'A', 'P',
'A', 'N', 'H', 'U',
+ 'A', 'N', 'J', 'I',
'A', 'N', 'K', 'H',
'A', 'P', 'I', 'N',
'A', 'P', 'L', 'I',
+ 'A', 'P', 'U', 'N',
+ 'A', 'Q', 'U', 'A',
'A', 'R', 'A', 'D',
'A', 'R', 'C', 'H',
'A', 'R', 'G', 'I',
'A', 'R', 'M', 'Y',
+ 'A', 'R', 'T', 'S',
'A', 'S', 'A', 'T',
'A', 'S', 'H', '2',
+ 'A', 'S', 'H', '3',
'A', 'S', 'H', '9',
'A', 'T', 'O', 'M',
'A', 'U', 'N', 'N',
+ 'A', 'W', 'A', 'Y',
'A', 'Y', 'A', 'H',
'A', 'Y', 'E', 'R',
'A', 'Y', 'I', 'N',
@@ -1855,10 +2851,14 @@ static const char unicode_name_words[39544] = {
'B', '2', '5', '8',
'B', '2', '5', '9',
'B', '3', '0', '5',
+ 'B', 'A', '-', '2',
+ 'B', 'A', 'B', 'Y',
'B', 'A', 'C', 'K',
'B', 'A', 'G', '3',
'B', 'A', 'G', 'A',
+ 'B', 'A', 'G', 'S',
'B', 'A', 'H', 'T',
+ 'B', 'A', 'L', 'L',
'B', 'A', 'N', '2',
'B', 'A', 'N', 'D',
'B', 'A', 'N', 'G',
@@ -1866,9 +2866,13 @@ static const char unicode_name_words[39544] = {
'B', 'A', 'R', 'B',
'B', 'A', 'R', 'S',
'B', 'A', 'S', 'E',
+ 'B', 'A', 'S', 'H',
+ 'B', 'A', 'T', 'H',
+ 'B', 'B', 'A', 'A',
'B', 'B', 'A', 'P',
'B', 'B', 'A', 'T',
'B', 'B', 'A', 'X',
+ 'B', 'B', 'E', 'E',
'B', 'B', 'E', 'P',
'B', 'B', 'E', 'X',
'B', 'B', 'I', 'E',
@@ -1889,13 +2893,18 @@ static const char unicode_name_words[39544] = {
'B', 'C', 'A', 'D',
'B', 'E', 'A', 'M',
'B', 'E', 'A', 'N',
+ 'B', 'E', 'A', 'R',
'B', 'E', 'A', 'T',
'B', 'E', 'E', 'H',
+ 'B', 'E', 'E', 'R',
'B', 'E', 'L', 'L',
'B', 'E', 'L', 'T',
'B', 'E', 'N', 'D',
+ 'B', 'E', 'N', 'T',
'B', 'E', 'T', 'A',
'B', 'E', 'T', 'H',
+ 'B', 'H', 'A', 'A',
+ 'B', 'H', 'A', 'M',
'B', 'H', 'E', 'E',
'B', 'H', 'O', 'O',
'B', 'I', 'E', 'P',
@@ -1903,35 +2912,76 @@ static const char unicode_name_words[39544] = {
'B', 'I', 'E', 'X',
'B', 'I', 'R', 'D',
'B', 'I', 'R', 'U',
+ 'B', 'I', 'T', 'E',
'B', 'K', 'A', '-',
+ 'B', 'L', 'O', 'W',
'B', 'L', 'U', 'E',
'B', 'O', 'A', 'R',
'B', 'O', 'A', 'T',
'B', 'O', 'D', 'Y',
'B', 'O', 'L', 'D',
'B', 'O', 'L', 'T',
+ 'B', 'O', 'M', 'B',
'B', 'O', 'N', 'E',
+ 'B', 'O', 'O', 'K',
+ 'B', 'O', 'O', 'T',
+ 'B', 'O', 'T', 'H',
+ 'B', 'O', 'W', 'L',
+ 'B', 'O', 'Y', 'S',
'B', 'R', 'D', 'A',
'B', 'U', 'K', 'Y',
+ 'B', 'U', 'L', 'B',
'B', 'U', 'L', 'L',
+ 'B', 'U', 'N', 'G',
'B', 'U', 'O', 'N',
'B', 'U', 'O', 'P',
'B', 'U', 'O', 'X',
'B', 'U', 'R', '2',
'B', 'U', 'R', 'U',
'B', 'U', 'R', 'X',
+ 'B', 'U', 'S', 'T',
'B', 'W', 'E', 'E',
'B', 'Y', 'R', 'X',
+ 'B', 'Y', 'T', 'E',
'B', 'Z', 'H', 'I',
'C', '-', '1', '8',
'C', '-', '3', '9',
+ 'C', '0', '0', '1',
+ 'C', '0', '0', '2',
+ 'C', '0', '0', '3',
+ 'C', '0', '0', '4',
+ 'C', '0', '0', '5',
+ 'C', '0', '0', '6',
+ 'C', '0', '0', '7',
+ 'C', '0', '0', '8',
+ 'C', '0', '0', '9',
+ 'C', '0', '1', '0',
+ 'C', '0', '1', '1',
+ 'C', '0', '1', '2',
+ 'C', '0', '1', '3',
+ 'C', '0', '1', '4',
+ 'C', '0', '1', '5',
+ 'C', '0', '1', '6',
+ 'C', '0', '1', '7',
+ 'C', '0', '1', '8',
+ 'C', '0', '1', '9',
+ 'C', '0', '2', '0',
+ 'C', '0', '2', '1',
+ 'C', '0', '2', '2',
+ 'C', '0', '2', '3',
+ 'C', '0', '2', '4',
'C', 'A', 'A', 'I',
'C', 'A', 'D', 'A',
+ 'C', 'A', 'K', 'E',
'C', 'A', 'L', 'C',
'C', 'A', 'L', 'L',
+ 'C', 'A', 'L', 'X',
'C', 'A', 'N', 'G',
'C', 'A', 'P', 'O',
+ 'C', 'A', 'R', 'D',
'C', 'A', 'R', 'E',
+ 'C', 'A', 'R', 'P',
+ 'C', 'A', 'R', 'S',
'C', 'A', 'R', 'T',
'C', 'A', 'V', 'E',
'C', 'A', 'Y', 'N',
@@ -1943,6 +2993,8 @@ static const char unicode_name_words[39544] = {
'C', 'C', 'H', 'O',
'C', 'C', 'H', 'U',
'C', 'E', 'D', 'I',
+ 'C', 'E', 'E', 'B',
+ 'C', 'E', 'E', 'V',
'C', 'E', 'N', 'T',
'C', 'H', 'A', 'A',
'C', 'H', 'A', 'D',
@@ -1951,6 +3003,7 @@ static const char unicode_name_words[39544] = {
'C', 'H', 'A', 'P',
'C', 'H', 'A', 'R',
'C', 'H', 'A', 'T',
+ 'C', 'H', 'A', 'U',
'C', 'H', 'A', 'X',
'C', 'H', 'E', 'E',
'C', 'H', 'E', 'H',
@@ -1959,17 +3012,20 @@ static const char unicode_name_words[39544] = {
'C', 'H', 'E', 'T',
'C', 'H', 'E', 'X',
'C', 'H', 'H', 'A',
+ 'C', 'H', 'I', 'L',
'C', 'H', 'I', 'N',
'C', 'H', 'O', 'A',
'C', 'H', 'O', 'E',
'C', 'H', 'O', 'P',
'C', 'H', 'O', 'T',
'C', 'H', 'O', 'X',
+ 'C', 'H', 'O', 'Y',
'C', 'H', 'U', 'O',
'C', 'H', 'U', 'P',
'C', 'H', 'U', 'R',
'C', 'H', 'U', 'X',
'C', 'H', 'W', 'A',
+ 'C', 'H', 'W', 'V',
'C', 'H', 'Y', 'P',
'C', 'H', 'Y', 'R',
'C', 'H', 'Y', 'T',
@@ -1977,26 +3033,103 @@ static const char unicode_name_words[39544] = {
'C', 'I', 'E', 'P',
'C', 'I', 'E', 'T',
'C', 'I', 'E', 'X',
+ 'C', 'I', 'T', 'I',
'C', 'I', 'T', 'Y',
'C', 'L', 'A', 'N',
'C', 'L', 'A', 'W',
'C', 'L', 'E', 'F',
'C', 'L', 'U', 'B',
'C', 'O', 'D', 'A',
+ 'C', 'O', 'L', 'D',
'C', 'O', 'L', 'L',
'C', 'O', 'M', 'B',
+ 'C', 'O', 'O', 'L',
'C', 'O', 'P', 'Y',
+ 'C', 'O', 'R', 'K',
+ 'C', 'R', 'A', 'B',
'C', 'R', 'O', 'P',
+ 'C', 'U', 'A', 'M',
'C', 'U', 'B', 'E',
'C', 'U', 'O', 'P',
'C', 'U', 'O', 'X',
'C', 'U', 'R', 'L',
'C', 'U', 'R', 'X',
+ 'C', 'U', 'S', 'P',
'C', 'W', 'A', 'A',
'C', 'W', 'I', 'I',
'C', 'W', 'O', 'O',
+ 'C', 'Y', 'A', 'W',
+ 'C', 'Y', 'A', 'Y',
'C', 'Y', 'R', 'X',
+ 'D', '0', '0', '1',
+ 'D', '0', '0', '2',
+ 'D', '0', '0', '3',
+ 'D', '0', '0', '4',
+ 'D', '0', '0', '5',
+ 'D', '0', '0', '6',
+ 'D', '0', '0', '7',
+ 'D', '0', '0', '8',
+ 'D', '0', '0', '9',
+ 'D', '0', '1', '0',
+ 'D', '0', '1', '1',
+ 'D', '0', '1', '2',
+ 'D', '0', '1', '3',
+ 'D', '0', '1', '4',
+ 'D', '0', '1', '5',
+ 'D', '0', '1', '6',
+ 'D', '0', '1', '7',
+ 'D', '0', '1', '8',
+ 'D', '0', '1', '9',
+ 'D', '0', '2', '0',
+ 'D', '0', '2', '1',
+ 'D', '0', '2', '2',
+ 'D', '0', '2', '3',
+ 'D', '0', '2', '4',
+ 'D', '0', '2', '5',
+ 'D', '0', '2', '6',
+ 'D', '0', '2', '7',
+ 'D', '0', '2', '8',
+ 'D', '0', '2', '9',
+ 'D', '0', '3', '0',
+ 'D', '0', '3', '1',
+ 'D', '0', '3', '2',
+ 'D', '0', '3', '3',
+ 'D', '0', '3', '4',
+ 'D', '0', '3', '5',
+ 'D', '0', '3', '6',
+ 'D', '0', '3', '7',
+ 'D', '0', '3', '8',
+ 'D', '0', '3', '9',
+ 'D', '0', '4', '0',
+ 'D', '0', '4', '1',
+ 'D', '0', '4', '2',
+ 'D', '0', '4', '3',
+ 'D', '0', '4', '4',
+ 'D', '0', '4', '5',
+ 'D', '0', '4', '6',
+ 'D', '0', '4', '7',
+ 'D', '0', '4', '8',
+ 'D', '0', '4', '9',
+ 'D', '0', '5', '0',
+ 'D', '0', '5', '1',
+ 'D', '0', '5', '2',
+ 'D', '0', '5', '3',
+ 'D', '0', '5', '4',
+ 'D', '0', '5', '5',
+ 'D', '0', '5', '6',
+ 'D', '0', '5', '7',
+ 'D', '0', '5', '8',
+ 'D', '0', '5', '9',
+ 'D', '0', '6', '0',
+ 'D', '0', '6', '1',
+ 'D', '0', '6', '2',
+ 'D', '0', '6', '3',
+ 'D', '0', '6', '4',
+ 'D', '0', '6', '5',
+ 'D', '0', '6', '6',
+ 'D', '0', '6', '7',
'D', 'A', 'E', 'G',
+ 'D', 'A', 'G', '3',
'D', 'A', 'G', 'S',
'D', 'A', 'I', 'R',
'D', 'A', 'M', 'P',
@@ -2006,6 +3139,8 @@ static const char unicode_name_words[39544] = {
'D', 'A', 'S', 'H',
'D', 'A', 'T', 'A',
'D', 'A', 'T', 'E',
+ 'D', 'A', 'W', 'B',
+ 'D', 'C', 'H', 'E',
'D', 'D', 'A', 'A',
'D', 'D', 'A', 'L',
'D', 'D', 'A', 'P',
@@ -2016,7 +3151,10 @@ static const char unicode_name_words[39544] = {
'D', 'D', 'E', 'P',
'D', 'D', 'E', 'X',
'D', 'D', 'H', 'A',
+ 'D', 'D', 'H', 'E',
+ 'D', 'D', 'H', 'I',
'D', 'D', 'H', 'O',
+ 'D', 'D', 'H', 'U',
'D', 'D', 'I', 'E',
'D', 'D', 'I', 'P',
'D', 'D', 'I', 'T',
@@ -2037,9 +3175,12 @@ static const char unicode_name_words[39544] = {
'D', 'E', 'H', 'I',
'D', 'E', 'K', 'A',
'D', 'E', 'L', 'T',
+ 'D', 'E', 'N', 'E',
'D', 'E', 'N', 'G',
'D', 'E', 'S', 'I',
+ 'D', 'E', 'S', 'K',
'D', 'E', 'Z', 'H',
+ 'D', 'H', 'A', 'A',
'D', 'H', 'A', 'L',
'D', 'H', 'E', 'E',
'D', 'H', 'H', 'A',
@@ -2047,7 +3188,9 @@ static const char unicode_name_words[39544] = {
'D', 'H', 'H', 'I',
'D', 'H', 'H', 'O',
'D', 'H', 'H', 'U',
+ 'D', 'H', 'I', 'I',
'D', 'H', 'O', 'O',
+ 'D', 'H', 'O', 'U',
'D', 'I', 'E', 'P',
'D', 'I', 'E', 'X',
'D', 'I', 'G', 'A',
@@ -2055,8 +3198,10 @@ static const char unicode_name_words[39544] = {
'D', 'I', 'N', 'G',
'D', 'I', 'S', 'C',
'D', 'I', 'S', 'H',
+ 'D', 'I', 'S', 'K',
'D', 'K', 'A', 'R',
'D', 'L', 'E', 'E',
+ 'D', 'L', 'H', 'A',
'D', 'O', '-', 'O',
'D', 'O', 'E', 'S',
'D', 'O', 'I', 'T',
@@ -2066,6 +3211,7 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'T', 'S',
'D', 'O', 'V', 'E',
'D', 'O', 'W', 'N',
+ 'D', 'R', 'A', 'M',
'D', 'R', 'I', 'L',
'D', 'R', 'U', 'M',
'D', 'U', 'B', '2',
@@ -2075,42 +3221,160 @@ static const char unicode_name_words[39544] = {
'D', 'U', 'O', 'X',
'D', 'U', 'R', '2',
'D', 'U', 'R', 'X',
+ 'D', 'U', 'S', 'K',
+ 'D', 'Y', 'A', 'N',
'D', 'Y', 'E', 'H',
+ 'D', 'Z', 'A', 'A',
+ 'D', 'Z', 'A', 'Y',
'D', 'Z', 'E', 'E',
'D', 'Z', 'H', 'A',
'D', 'Z', 'H', 'E',
'D', 'Z', 'J', 'E',
'D', 'Z', 'W', 'E',
+ 'D', 'Z', 'Z', 'A',
'D', 'Z', 'Z', 'E',
+ 'E', '0', '0', '1',
+ 'E', '0', '0', '2',
+ 'E', '0', '0', '3',
+ 'E', '0', '0', '4',
+ 'E', '0', '0', '5',
+ 'E', '0', '0', '6',
+ 'E', '0', '0', '7',
+ 'E', '0', '0', '8',
+ 'E', '0', '0', '9',
+ 'E', '0', '1', '0',
+ 'E', '0', '1', '1',
+ 'E', '0', '1', '2',
+ 'E', '0', '1', '3',
+ 'E', '0', '1', '4',
+ 'E', '0', '1', '5',
+ 'E', '0', '1', '6',
+ 'E', '0', '1', '7',
+ 'E', '0', '1', '8',
+ 'E', '0', '1', '9',
+ 'E', '0', '2', '0',
+ 'E', '0', '2', '1',
+ 'E', '0', '2', '2',
+ 'E', '0', '2', '3',
+ 'E', '0', '2', '4',
+ 'E', '0', '2', '5',
+ 'E', '0', '2', '6',
+ 'E', '0', '2', '7',
+ 'E', '0', '2', '8',
+ 'E', '0', '2', '9',
+ 'E', '0', '3', '0',
+ 'E', '0', '3', '1',
+ 'E', '0', '3', '2',
+ 'E', '0', '3', '3',
+ 'E', '0', '3', '4',
+ 'E', '0', '3', '6',
+ 'E', '0', '3', '7',
+ 'E', '0', '3', '8',
+ 'E', 'A', 'R', 'S',
'E', 'A', 'S', 'E',
'E', 'A', 'S', 'T',
'E', 'D', 'I', 'N',
'E', 'G', 'I', 'R',
+ 'E', 'K', 'A', 'M',
+ 'E', 'N', 'N', 'I',
'E', 'N', 'O', 'S',
'E', 'O', '-', 'O',
'E', 'O', '-', 'U',
'E', 'R', 'E', 'N',
+ 'E', 'S', '-', '1',
+ 'E', 'S', '-', '2',
+ 'E', 'S', '-', '3',
'E', 'S', 'H', '2',
+ 'E', 'U', '-', 'A',
+ 'E', 'U', '-', 'E',
+ 'E', 'U', '-', 'O',
'E', 'U', '-', 'U',
'E', 'U', 'R', 'O',
'E', 'V', 'E', 'N',
+ 'E', 'Y', 'E', 'S',
+ 'E', 'Y', 'Y', 'Y',
'E', 'Z', 'E', 'N',
+ 'F', '0', '0', '1',
+ 'F', '0', '0', '2',
+ 'F', '0', '0', '3',
+ 'F', '0', '0', '4',
+ 'F', '0', '0', '5',
+ 'F', '0', '0', '6',
+ 'F', '0', '0', '7',
+ 'F', '0', '0', '8',
+ 'F', '0', '0', '9',
+ 'F', '0', '1', '0',
+ 'F', '0', '1', '1',
+ 'F', '0', '1', '2',
+ 'F', '0', '1', '3',
+ 'F', '0', '1', '4',
+ 'F', '0', '1', '5',
+ 'F', '0', '1', '6',
+ 'F', '0', '1', '7',
+ 'F', '0', '1', '8',
+ 'F', '0', '1', '9',
+ 'F', '0', '2', '0',
+ 'F', '0', '2', '1',
+ 'F', '0', '2', '2',
+ 'F', '0', '2', '3',
+ 'F', '0', '2', '4',
+ 'F', '0', '2', '5',
+ 'F', '0', '2', '6',
+ 'F', '0', '2', '7',
+ 'F', '0', '2', '8',
+ 'F', '0', '2', '9',
+ 'F', '0', '3', '0',
+ 'F', '0', '3', '1',
+ 'F', '0', '3', '2',
+ 'F', '0', '3', '3',
+ 'F', '0', '3', '4',
+ 'F', '0', '3', '5',
+ 'F', '0', '3', '6',
+ 'F', '0', '3', '7',
+ 'F', '0', '3', '8',
+ 'F', '0', '3', '9',
+ 'F', '0', '4', '0',
+ 'F', '0', '4', '1',
+ 'F', '0', '4', '2',
+ 'F', '0', '4', '3',
+ 'F', '0', '4', '4',
+ 'F', '0', '4', '5',
+ 'F', '0', '4', '6',
+ 'F', '0', '4', '7',
+ 'F', '0', '4', '8',
+ 'F', '0', '4', '9',
+ 'F', '0', '5', '0',
+ 'F', '0', '5', '1',
+ 'F', '0', '5', '2',
+ 'F', '0', '5', '3',
'F', 'A', 'A', 'I',
'F', 'A', 'C', 'E',
+ 'F', 'A', 'I', 'B',
'F', 'A', 'N', 'G',
+ 'F', 'A', 'S', 'T',
+ 'F', 'E', 'A', 'R',
'F', 'E', 'E', 'D',
+ 'F', 'E', 'E', 'M',
'F', 'E', 'H', 'U',
'F', 'E', 'N', 'G',
'F', 'E', 'O', 'H',
+ 'F', 'E', 'U', 'X',
'F', 'I', 'L', 'E',
'F', 'I', 'L', 'L',
+ 'F', 'I', 'L', 'M',
'F', 'I', 'R', 'E',
+ 'F', 'I', 'R', 'I',
'F', 'I', 'S', 'H',
+ 'F', 'I', 'S', 'T',
'F', 'I', 'T', 'A',
'F', 'I', 'V', 'E',
'F', 'L', 'A', 'G',
'F', 'L', 'A', 'T',
+ 'F', 'L', 'E', 'X',
'F', 'L', 'I', 'P',
+ 'F', 'O', 'N', 'T',
+ 'F', 'O', 'O', 'D',
+ 'F', 'O', 'O', 'L',
'F', 'O', 'O', 'T',
'F', 'O', 'R', 'K',
'F', 'O', 'R', 'M',
@@ -2118,29 +3382,93 @@ static const char unicode_name_words[39544] = {
'F', 'R', 'E', 'E',
'F', 'R', 'O', 'G',
'F', 'R', 'O', 'M',
+ 'F', 'U', 'E', 'L',
+ 'F', 'U', 'E', 'T',
+ 'F', 'U', 'J', 'I',
'F', 'U', 'L', 'L',
'F', 'U', 'R', 'X',
'F', 'U', 'S', 'A',
'F', 'U', 'S', 'E',
+ 'F', 'V', 'S', '1',
+ 'F', 'V', 'S', '2',
+ 'F', 'V', 'S', '3',
'F', 'W', 'A', 'A',
'F', 'W', 'E', 'E',
+ 'G', '0', '0', '1',
+ 'G', '0', '0', '2',
+ 'G', '0', '0', '3',
+ 'G', '0', '0', '4',
+ 'G', '0', '0', '5',
+ 'G', '0', '0', '6',
+ 'G', '0', '0', '7',
+ 'G', '0', '0', '8',
+ 'G', '0', '0', '9',
+ 'G', '0', '1', '0',
+ 'G', '0', '1', '1',
+ 'G', '0', '1', '2',
+ 'G', '0', '1', '3',
+ 'G', '0', '1', '4',
+ 'G', '0', '1', '5',
+ 'G', '0', '1', '6',
+ 'G', '0', '1', '7',
+ 'G', '0', '1', '8',
+ 'G', '0', '1', '9',
+ 'G', '0', '2', '0',
+ 'G', '0', '2', '1',
+ 'G', '0', '2', '2',
+ 'G', '0', '2', '3',
+ 'G', '0', '2', '4',
+ 'G', '0', '2', '5',
+ 'G', '0', '2', '6',
+ 'G', '0', '2', '7',
+ 'G', '0', '2', '8',
+ 'G', '0', '2', '9',
+ 'G', '0', '3', '0',
+ 'G', '0', '3', '1',
+ 'G', '0', '3', '2',
+ 'G', '0', '3', '3',
+ 'G', '0', '3', '4',
+ 'G', '0', '3', '5',
+ 'G', '0', '3', '6',
+ 'G', '0', '3', '7',
+ 'G', '0', '3', '8',
+ 'G', '0', '3', '9',
+ 'G', '0', '4', '0',
+ 'G', '0', '4', '1',
+ 'G', '0', '4', '2',
+ 'G', '0', '4', '3',
+ 'G', '0', '4', '4',
+ 'G', '0', '4', '5',
+ 'G', '0', '4', '6',
+ 'G', '0', '4', '7',
+ 'G', '0', '4', '8',
+ 'G', '0', '4', '9',
+ 'G', '0', '5', '0',
+ 'G', '0', '5', '1',
+ 'G', '0', '5', '2',
+ 'G', '0', '5', '3',
+ 'G', '0', '5', '4',
'G', 'A', 'B', 'A',
'G', 'A', 'L', 'I',
+ 'G', 'A', 'M', 'E',
'G', 'A', 'M', 'L',
'G', 'A', 'N', '2',
'G', 'A', 'R', '3',
'G', 'A', 'T', 'E',
'G', 'B', 'E', 'E',
'G', 'B', 'E', 'N',
+ 'G', 'B', 'E', 'T',
'G', 'B', 'O', 'N',
'G', 'B', 'O', 'O',
'G', 'C', 'A', 'N',
'G', 'C', 'I', 'G',
'G', 'D', 'A', 'N',
+ 'G', 'E', '2', '2',
'G', 'E', 'A', 'R',
'G', 'E', 'B', 'A',
'G', 'E', 'B', 'O',
'G', 'E', 'D', 'E',
+ 'G', 'E', 'E', 'M',
'G', 'E', 'T', 'A',
'G', 'G', 'A', 'A',
'G', 'G', 'A', 'P',
@@ -2164,10 +3492,15 @@ static const char unicode_name_words[39544] = {
'G', 'G', 'W', 'A',
'G', 'G', 'W', 'E',
'G', 'G', 'W', 'I',
+ 'G', 'H', 'A', 'A',
'G', 'H', 'A', 'D',
'G', 'H', 'A', 'N',
+ 'G', 'H', 'A', 'P',
'G', 'H', 'E', 'E',
+ 'G', 'H', 'E', 'T',
'G', 'H', 'H', 'A',
+ 'G', 'H', 'O', 'M',
+ 'G', 'H', 'O', 'U',
'G', 'H', 'W', 'A',
'G', 'I', 'B', 'A',
'G', 'I', 'E', 'P',
@@ -2176,16 +3509,21 @@ static const char unicode_name_words[39544] = {
'G', 'I', 'G', 'A',
'G', 'I', 'R', '2',
'G', 'I', 'R', '3',
+ 'G', 'I', 'R', 'L',
'G', 'I', 'S', 'H',
'G', 'O', 'A', 'L',
+ 'G', 'O', 'A', 'T',
'G', 'O', 'L', 'D',
'G', 'O', 'N', 'G',
+ 'G', 'O', 'O', 'D',
'G', 'O', 'R', 'A',
'G', 'O', 'R', 'T',
'G', 'R', 'A', 'M',
'G', 'S', 'U', 'M',
'G', 'T', 'E', 'R',
+ 'G', 'U', 'A', 'N',
'G', 'U', 'E', 'H',
+ 'G', 'U', 'E', 'I',
'G', 'U', 'N', 'U',
'G', 'U', 'O', 'P',
'G', 'U', 'O', 'T',
@@ -2195,33 +3533,53 @@ static const char unicode_name_words[39544] = {
'G', 'W', 'A', 'A',
'G', 'W', 'E', 'E',
'G', 'Y', 'A', 'A',
+ 'G', 'Y', 'A', 'N',
'G', 'Y', 'A', 'S',
'G', 'Y', 'E', 'E',
'G', 'Y', 'F', 'U',
'G', 'Y', 'O', 'N',
+ 'H', '0', '0', '1',
+ 'H', '0', '0', '2',
+ 'H', '0', '0', '3',
+ 'H', '0', '0', '4',
+ 'H', '0', '0', '5',
+ 'H', '0', '0', '6',
+ 'H', '0', '0', '7',
+ 'H', '0', '0', '8',
+ 'H', 'A', 'A', 'M',
'H', 'A', 'G', 'L',
'H', 'A', 'I', 'R',
+ 'H', 'A', 'I', 'S',
'H', 'A', 'L', 'F',
+ 'H', 'A', 'L', 'O',
'H', 'A', 'N', 'D',
+ 'H', 'A', 'N', 'G',
'H', 'A', 'R', 'D',
'H', 'A', 'T', 'E',
'H', 'A', 'V', 'E',
+ 'H', 'A', 'W', 'J',
'H', 'E', 'A', 'D',
+ 'H', 'E', 'E', 'I',
+ 'H', 'E', 'E', 'L',
'H', 'E', 'L', 'M',
'H', 'E', 'M', 'P',
'H', 'E', 'N', 'G',
+ 'H', 'E', 'R', 'B',
'H', 'E', 'R', 'U',
'H', 'E', 'T', 'A',
'H', 'E', 'T', 'H',
+ 'H', 'E', 'Y', 'T',
'H', 'H', 'A', 'A',
'H', 'H', 'E', 'E',
'H', 'H', 'W', 'A',
'H', 'I', 'D', 'E',
'H', 'I', 'E', 'X',
'H', 'I', 'G', 'H',
+ 'H', 'I', 'Y', 'O',
'H', 'I', 'Z', 'B',
'H', 'L', 'A', 'P',
'H', 'L', 'A', 'T',
+ 'H', 'L', 'A', 'U',
'H', 'L', 'A', 'X',
'H', 'L', 'E', 'P',
'H', 'L', 'E', 'X',
@@ -2260,6 +3618,7 @@ static const char unicode_name_words[39544] = {
'H', 'M', 'Y', 'X',
'H', 'N', 'A', 'P',
'H', 'N', 'A', 'T',
+ 'H', 'N', 'A', 'U',
'H', 'N', 'A', 'X',
'H', 'N', 'E', 'P',
'H', 'N', 'E', 'X',
@@ -2270,21 +3629,34 @@ static const char unicode_name_words[39544] = {
'H', 'N', 'O', 'P',
'H', 'N', 'O', 'T',
'H', 'N', 'O', 'X',
+ 'H', 'N', 'U', 'B',
'H', 'N', 'U', 'O',
'H', 'N', 'U', 'T',
+ 'H', 'O', 'K', 'A',
+ 'H', 'O', 'L', 'E',
+ 'H', 'O', 'L', 'O',
'H', 'O', 'O', 'K',
'H', 'O', 'O', 'N',
+ 'H', 'O', 'O', 'P',
+ 'H', 'O', 'O', 'U',
+ 'H', 'O', 'R', 'A',
'H', 'O', 'R', 'I',
'H', 'O', 'R', 'N',
+ 'H', 'O', 'R', 'R',
'H', 'O', 'T', 'A',
'H', 'O', 'U', 'R',
'H', 'P', 'W', 'G',
+ 'H', 'U', 'A', 'N',
'H', 'U', 'B', '2',
'H', 'U', 'L', '2',
+ 'H', 'U', 'M', 'P',
'H', 'U', 'N', 'G',
'H', 'U', 'O', 'P',
'H', 'U', 'O', 'T',
'H', 'U', 'O', 'X',
+ 'H', 'U', 'S', 'H',
+ 'H', 'U', 'V', 'A',
+ 'H', 'W', 'A', 'H',
'H', 'W', 'E', 'E',
'H', 'X', 'A', 'P',
'H', 'X', 'A', 'T',
@@ -2305,27 +3677,57 @@ static const char unicode_name_words[39544] = {
'H', 'Z', 'Z', 'Z',
'I', '-', 'E', 'U',
'I', '-', 'Y', 'A',
+ 'I', '-', 'Y', 'E',
+ 'I', '-', 'Y', 'O',
+ 'I', '-', 'Y', 'U',
+ 'I', '0', '0', '1',
+ 'I', '0', '0', '2',
+ 'I', '0', '0', '3',
+ 'I', '0', '0', '4',
+ 'I', '0', '0', '5',
+ 'I', '0', '0', '6',
+ 'I', '0', '0', '7',
+ 'I', '0', '0', '8',
+ 'I', '0', '0', '9',
+ 'I', '0', '1', '0',
+ 'I', '0', '1', '1',
+ 'I', '0', '1', '2',
+ 'I', '0', '1', '3',
+ 'I', '0', '1', '4',
+ 'I', '0', '1', '5',
+ 'I', 'A', 'N', 'G',
+ 'I', 'C', 'O', 'N',
'I', 'D', 'I', 'M',
'I', 'D', 'L', 'E',
'I', 'F', 'I', 'N',
'I', 'L', 'U', 'T',
'I', 'L', 'U', 'Y',
'I', 'M', 'I', 'N',
+ 'I', 'N', 'A', 'P',
'I', 'N', 'C', 'H',
'I', 'N', 'N', 'N',
'I', 'N', 'T', 'I',
+ 'I', 'N', 'Y', 'A',
'I', 'O', 'T', 'A',
+ 'I', 'R', 'O', 'N',
'I', 'S', 'A', 'Z',
'I', 'S', 'O', 'N',
'I', 'T', 'E', 'M',
'I', 'U', 'J', 'A',
'I', 'W', 'A', 'Z',
+ 'I', 'Y', 'E', 'K',
'I', 'Z', 'H', 'E',
+ 'J', 'A', 'C', 'K',
'J', 'A', 'D', 'E',
+ 'J', 'A', 'I', 'N',
+ 'J', 'A', 'Y', 'N',
'J', 'E', 'E', 'M',
'J', 'E', 'R', 'A',
+ 'J', 'H', 'A', 'A',
+ 'J', 'H', 'A', 'M',
'J', 'H', 'A', 'N',
'J', 'H', 'E', 'H',
+ 'J', 'H', 'O', 'X',
'J', 'I', 'E', 'P',
'J', 'I', 'E', 'T',
'J', 'I', 'E', 'X',
@@ -2348,6 +3750,7 @@ static const char unicode_name_words[39544] = {
'J', 'O', 'I', 'N',
'J', 'O', 'N', 'A',
'J', 'O', 'N', 'G',
+ 'J', 'O', 'V', 'E',
'J', 'U', 'L', 'Y',
'J', 'U', 'N', 'E',
'J', 'U', 'N', 'O',
@@ -2356,13 +3759,27 @@ static const char unicode_name_words[39544] = {
'J', 'U', 'O', 'X',
'J', 'U', 'R', 'X',
'J', 'Y', 'R', 'X',
+ 'K', '0', '0', '1',
+ 'K', '0', '0', '2',
+ 'K', '0', '0', '3',
+ 'K', '0', '0', '4',
+ 'K', '0', '0', '5',
+ 'K', '0', '0', '6',
+ 'K', '0', '0', '7',
+ 'K', '0', '0', '8',
+ 'K', 'A', 'A', 'B',
'K', 'A', 'A', 'F',
'K', 'A', 'A', 'I',
+ 'K', 'A', 'A', 'N',
+ 'K', 'A', 'A', 'V',
'K', 'A', 'B', 'A',
'K', 'A', 'D', '2',
'K', 'A', 'D', '3',
'K', 'A', 'D', '4',
'K', 'A', 'D', '5',
+ 'K', 'A', 'F', 'A',
+ 'K', 'A', 'I', 'B',
+ 'K', 'A', 'I', 'V',
'K', 'A', 'K', 'O',
'K', 'A', 'M', '2',
'K', 'A', 'M', '4',
@@ -2371,41 +3788,74 @@ static const char unicode_name_words[39544] = {
'K', 'A', 'P', 'A',
'K', 'A', 'P', 'H',
'K', 'A', 'P', 'O',
+ 'K', 'A', 'R', 'O',
'K', 'A', 'T', 'O',
+ 'K', 'A', 'U', 'B',
'K', 'A', 'U', 'N',
+ 'K', 'A', 'U', 'V',
+ 'K', 'A', 'W', 'B',
+ 'K', 'A', 'W', 'I',
+ 'K', 'A', 'W', 'V',
'K', 'C', 'A', 'L',
+ 'K', 'E', 'E', 'B',
+ 'K', 'E', 'E', 'V',
+ 'K', 'E', 'O', 'W',
+ 'K', 'E', 'U', 'M',
+ 'K', 'E', 'U', 'P',
+ 'K', 'E', 'U', 'X',
'K', 'H', 'A', 'A',
+ 'K', 'H', 'A', 'B',
'K', 'H', 'A', 'H',
'K', 'H', 'A', 'I',
'K', 'H', 'A', 'N',
'K', 'H', 'A', 'R',
+ 'K', 'H', 'A', 'V',
'K', 'H', 'E', 'E',
'K', 'H', 'E', 'I',
'K', 'H', 'H', 'A',
+ 'K', 'H', 'H', 'O',
+ 'K', 'H', 'I', 'T',
+ 'K', 'H', 'M', 'U',
'K', 'H', 'O', 'N',
'K', 'H', 'O', 'T',
+ 'K', 'H', 'O', 'U',
+ 'K', 'I', 'A', 'B',
+ 'K', 'I', 'A', 'V',
'K', 'I', 'C', 'K',
'K', 'I', 'E', 'P',
'K', 'I', 'E', 'X',
'K', 'I', 'N', 'G',
'K', 'I', 'R', 'O',
'K', 'I', 'S', 'H',
+ 'K', 'I', 'S', 'S',
'K', 'K', 'E', 'E',
'K', 'O', 'E', 'T',
+ 'K', 'O', 'K', 'E',
+ 'K', 'O', 'K', 'O',
'K', 'O', 'M', 'I',
+ 'K', 'O', 'O', 'B',
+ 'K', 'O', 'O', 'V',
'K', 'O', 'T', 'O',
+ 'K', 'P', 'A', 'H',
'K', 'P', 'A', 'N',
'K', 'P', 'E', 'E',
'K', 'P', 'E', 'N',
'K', 'P', 'O', 'O',
+ 'K', 'P', 'O', 'Q',
'K', 'S', 'S', 'A',
+ 'K', 'U', 'A', 'B',
+ 'K', 'U', 'A', 'V',
+ 'K', 'U', 'E', 'T',
'K', 'U', 'N', 'G',
+ 'K', 'U', 'O', 'M',
'K', 'U', 'O', 'P',
+ 'K', 'U', 'O', 'Q',
'K', 'U', 'O', 'X',
'K', 'U', 'R', 'T',
'K', 'U', 'R', 'X',
'K', 'U', 'U', 'H',
'K', 'W', 'A', 'A',
+ 'K', 'W', 'A', 'Y',
'K', 'W', 'E', 'E',
'K', 'W', 'I', 'I',
'K', 'W', 'O', 'O',
@@ -2416,47 +3866,75 @@ static const char unicode_name_words[39544] = {
'K', 'X', 'W', 'I',
'K', 'Y', 'A', 'A',
'K', 'Y', 'E', 'E',
+ 'L', '0', '0', '1',
+ 'L', '0', '0', '2',
+ 'L', '0', '0', '3',
+ 'L', '0', '0', '4',
+ 'L', '0', '0', '5',
+ 'L', '0', '0', '6',
+ 'L', '0', '0', '7',
+ 'L', '0', '0', '8',
'L', 'A', 'A', 'I',
+ 'L', 'A', 'A', 'M',
'L', 'A', 'A', 'N',
'L', 'A', 'C', 'A',
'L', 'A', 'C', 'K',
+ 'L', 'A', 'D', 'Y',
'L', 'A', 'E', 'V',
'L', 'A', 'G', 'U',
'L', 'A', 'K', 'E',
'L', 'A', 'M', 'D',
'L', 'A', 'M', 'E',
+ 'L', 'A', 'M', 'P',
+ 'L', 'A', 'N', 'E',
+ 'L', 'A', 'R', 'I',
'L', 'A', 'S', 'T',
'L', 'A', 'T', 'E',
+ 'L', 'A', 'U', 'J',
'L', 'A', 'Z', 'Y',
'L', 'D', 'A', 'N',
+ 'L', 'E', 'A', 'D',
'L', 'E', 'A', 'F',
'L', 'E', 'E', 'K',
'L', 'E', 'F', 'T',
'L', 'E', 'G', 'S',
'L', 'E', 'S', 'S',
+ 'L', 'E', 'U', 'M',
'L', 'E', 'Z', 'H',
'L', 'H', 'A', 'A',
'L', 'H', 'A', 'G',
'L', 'H', 'E', 'E',
'L', 'H', 'I', 'I',
'L', 'H', 'O', 'O',
+ 'L', 'H', 'Y', 'A',
+ 'L', 'I', 'E', 'E',
'L', 'I', 'E', 'P',
'L', 'I', 'E', 'T',
'L', 'I', 'E', 'X',
'L', 'I', 'F', 'E',
'L', 'I', 'L', 'Y',
+ 'L', 'I', 'M', 'B',
+ 'L', 'I', 'M', 'E',
'L', 'I', 'N', 'E',
'L', 'I', 'N', 'G',
'L', 'I', 'N', 'K',
+ 'L', 'I', 'O', 'N',
+ 'L', 'I', 'P', 'S',
'L', 'I', 'R', 'A',
'L', 'I', 'S', 'H',
+ 'L', 'I', 'S', 'U',
+ 'L', 'I', 'T', 'H',
'L', 'I', 'W', 'N',
'L', 'L', 'L', 'A',
+ 'L', 'O', 'C', 'K',
'L', 'O', 'G', 'R',
'L', 'O', 'L', 'L',
'L', 'O', 'N', 'G',
+ 'L', 'O', 'O', 'K',
+ 'L', 'O', 'O', 'N',
'L', 'O', 'O', 'P',
'L', 'O', 'O', 'T',
+ 'L', 'O', 'V', 'E',
'L', 'U', 'I', 'S',
'L', 'U', 'O', 'P',
'L', 'U', 'O', 'T',
@@ -2465,27 +3943,244 @@ static const char unicode_name_words[39544] = {
'L', 'W', 'A', 'A',
'L', 'W', 'I', 'I',
'L', 'W', 'O', 'O',
+ 'L', 'Y', 'I', 'T',
'L', 'Y', 'R', 'X',
+ 'M', '0', '0', '1',
+ 'M', '0', '0', '2',
+ 'M', '0', '0', '3',
+ 'M', '0', '0', '4',
+ 'M', '0', '0', '5',
+ 'M', '0', '0', '6',
+ 'M', '0', '0', '7',
+ 'M', '0', '0', '8',
+ 'M', '0', '0', '9',
+ 'M', '0', '1', '0',
+ 'M', '0', '1', '1',
+ 'M', '0', '1', '2',
+ 'M', '0', '1', '3',
+ 'M', '0', '1', '4',
+ 'M', '0', '1', '5',
+ 'M', '0', '1', '6',
+ 'M', '0', '1', '7',
+ 'M', '0', '1', '8',
+ 'M', '0', '1', '9',
+ 'M', '0', '2', '0',
+ 'M', '0', '2', '1',
+ 'M', '0', '2', '2',
+ 'M', '0', '2', '3',
+ 'M', '0', '2', '4',
+ 'M', '0', '2', '5',
+ 'M', '0', '2', '6',
+ 'M', '0', '2', '7',
+ 'M', '0', '2', '8',
+ 'M', '0', '2', '9',
+ 'M', '0', '3', '0',
+ 'M', '0', '3', '1',
+ 'M', '0', '3', '2',
+ 'M', '0', '3', '3',
+ 'M', '0', '3', '4',
+ 'M', '0', '3', '5',
+ 'M', '0', '3', '6',
+ 'M', '0', '3', '7',
+ 'M', '0', '3', '8',
+ 'M', '0', '3', '9',
+ 'M', '0', '4', '0',
+ 'M', '0', '4', '1',
+ 'M', '0', '4', '2',
+ 'M', '0', '4', '3',
+ 'M', '0', '4', '4',
+ 'M', '0', '4', '5',
+ 'M', '0', '4', '6',
+ 'M', '0', '4', '7',
+ 'M', '0', '4', '8',
+ 'M', '0', '4', '9',
+ 'M', '0', '5', '0',
+ 'M', '0', '5', '1',
+ 'M', '0', '5', '2',
+ 'M', '0', '5', '3',
+ 'M', '0', '5', '4',
+ 'M', '0', '5', '5',
+ 'M', '0', '5', '6',
+ 'M', '0', '5', '7',
+ 'M', '0', '5', '8',
+ 'M', '0', '5', '9',
+ 'M', '0', '6', '0',
+ 'M', '0', '6', '1',
+ 'M', '0', '6', '2',
+ 'M', '0', '6', '3',
+ 'M', '0', '6', '4',
+ 'M', '0', '6', '5',
+ 'M', '0', '6', '6',
+ 'M', '0', '6', '7',
+ 'M', '0', '6', '8',
+ 'M', '0', '6', '9',
+ 'M', '0', '7', '0',
+ 'M', '0', '7', '1',
+ 'M', '0', '7', '2',
+ 'M', '0', '7', '3',
+ 'M', '0', '7', '4',
+ 'M', '0', '7', '5',
+ 'M', '0', '7', '6',
+ 'M', '0', '7', '7',
+ 'M', '0', '7', '8',
+ 'M', '0', '7', '9',
+ 'M', '0', '8', '0',
+ 'M', '0', '8', '1',
+ 'M', '0', '8', '2',
+ 'M', '0', '8', '3',
+ 'M', '0', '8', '4',
+ 'M', '0', '8', '5',
+ 'M', '0', '8', '6',
+ 'M', '0', '8', '7',
+ 'M', '0', '8', '8',
+ 'M', '0', '8', '9',
+ 'M', '0', '9', '0',
+ 'M', '0', '9', '1',
+ 'M', '0', '9', '2',
+ 'M', '0', '9', '3',
+ 'M', '0', '9', '4',
+ 'M', '0', '9', '5',
+ 'M', '0', '9', '6',
+ 'M', '0', '9', '7',
+ 'M', '0', '9', '8',
+ 'M', '0', '9', '9',
+ 'M', '1', '0', '0',
+ 'M', '1', '0', '1',
+ 'M', '1', '0', '2',
+ 'M', '1', '0', '3',
+ 'M', '1', '0', '4',
+ 'M', '1', '0', '5',
+ 'M', '1', '0', '6',
+ 'M', '1', '0', '7',
+ 'M', '1', '0', '8',
+ 'M', '1', '0', '9',
+ 'M', '1', '1', '0',
+ 'M', '1', '1', '1',
+ 'M', '1', '1', '2',
+ 'M', '1', '1', '3',
+ 'M', '1', '1', '4',
+ 'M', '1', '1', '5',
+ 'M', '1', '1', '6',
+ 'M', '1', '1', '7',
+ 'M', '1', '1', '8',
+ 'M', '1', '1', '9',
+ 'M', '1', '2', '0',
+ 'M', '1', '2', '1',
+ 'M', '1', '2', '2',
+ 'M', '1', '2', '3',
+ 'M', '1', '2', '4',
+ 'M', '1', '2', '5',
+ 'M', '1', '2', '6',
+ 'M', '1', '2', '7',
+ 'M', '1', '2', '8',
+ 'M', '1', '2', '9',
+ 'M', '1', '3', '0',
+ 'M', '1', '3', '1',
+ 'M', '1', '3', '2',
+ 'M', '1', '3', '3',
+ 'M', '1', '3', '4',
+ 'M', '1', '3', '5',
+ 'M', '1', '3', '6',
+ 'M', '1', '3', '7',
+ 'M', '1', '3', '8',
+ 'M', '1', '3', '9',
+ 'M', '1', '4', '0',
+ 'M', '1', '4', '1',
+ 'M', '1', '4', '2',
+ 'M', '1', '4', '3',
+ 'M', '1', '4', '4',
+ 'M', '1', '4', '5',
+ 'M', '1', '4', '6',
+ 'M', '1', '4', '7',
+ 'M', '1', '4', '8',
+ 'M', '1', '4', '9',
+ 'M', '1', '5', '0',
+ 'M', '1', '5', '1',
+ 'M', '1', '5', '2',
+ 'M', '1', '5', '3',
+ 'M', '1', '5', '4',
+ 'M', '1', '5', '5',
+ 'M', '1', '5', '6',
+ 'M', '1', '5', '7',
+ 'M', '1', '5', '8',
+ 'M', '1', '5', '9',
+ 'M', '1', '6', '0',
+ 'M', '1', '6', '1',
+ 'M', '1', '6', '2',
+ 'M', '1', '6', '3',
+ 'M', '1', '6', '4',
+ 'M', '1', '6', '5',
+ 'M', '1', '6', '6',
+ 'M', '1', '6', '7',
+ 'M', '1', '6', '8',
+ 'M', '1', '6', '9',
+ 'M', '1', '7', '0',
+ 'M', '1', '7', '1',
+ 'M', '1', '7', '2',
+ 'M', '1', '7', '3',
+ 'M', '1', '7', '4',
+ 'M', '1', '7', '5',
+ 'M', '1', '7', '6',
+ 'M', '1', '7', '7',
+ 'M', '1', '7', '8',
+ 'M', '1', '7', '9',
+ 'M', '1', '8', '0',
+ 'M', '1', '8', '1',
+ 'M', '1', '8', '2',
+ 'M', '1', '8', '3',
+ 'M', '1', '8', '4',
+ 'M', '1', '8', '5',
+ 'M', '1', '8', '6',
+ 'M', '1', '8', '7',
+ 'M', '1', '8', '8',
+ 'M', '1', '8', '9',
+ 'M', '1', '9', '0',
+ 'M', '1', '9', '1',
+ 'M', '1', '9', '2',
+ 'M', '1', '9', '3',
+ 'M', '1', '9', '4',
+ 'M', '1', '9', '5',
+ 'M', '1', '9', '6',
+ 'M', '1', '9', '7',
'M', 'A', 'A', 'I',
'M', 'A', 'D', 'U',
+ 'M', 'A', 'E', 'M',
'M', 'A', 'L', 'E',
+ 'M', 'A', 'N', 'S',
'M', 'A', 'R', 'E',
'M', 'A', 'R', 'K',
+ 'M', 'A', 'R', 'Y',
'M', 'A', 'S', 'H',
+ 'M', 'A', 'S', 'K',
'M', 'A', 'S', 'U',
+ 'M', 'B', 'A', 'A',
+ 'M', 'B', 'A', 'Q',
'M', 'B', 'E', 'E',
+ 'M', 'B', 'E', 'N',
+ 'M', 'B', 'I', 'T',
'M', 'B', 'O', 'O',
+ 'M', 'B', 'U', 'E',
+ 'M', 'B', 'U', 'O',
+ 'M', 'B', 'U', 'U',
'M', 'C', 'H', 'U',
'M', 'D', 'U', 'N',
'M', 'E', 'A', 'T',
+ 'M', 'E', 'E', 'J',
'M', 'E', 'E', 'M',
'M', 'E', 'E', 'T',
'M', 'E', 'G', 'A',
+ 'M', 'E', 'M', 'O',
+ 'M', 'E', 'N', 'S',
'M', 'E', 'R', 'I',
'M', 'E', 'S', 'H',
'M', 'E', 'S', 'I',
'M', 'E', 'S', 'O',
'M', 'E', 'T', 'A',
+ 'M', 'E', 'U', 'N',
+ 'M', 'E', 'U', 'Q',
+ 'M', 'E', 'U', 'T',
+ 'M', 'F', 'A', 'A',
+ 'M', 'F', 'O', 'N',
'M', 'G', 'A', 'P',
'M', 'G', 'A', 'T',
'M', 'G', 'A', 'X',
@@ -2505,6 +4200,9 @@ static const char unicode_name_words[39544] = {
'M', 'G', 'U', 'R',
'M', 'G', 'U', 'T',
'M', 'G', 'U', 'X',
+ 'M', 'I', 'A', 'O',
+ 'M', 'I', 'C', 'R',
+ 'M', 'I', 'E', 'E',
'M', 'I', 'E', 'P',
'M', 'I', 'E', 'X',
'M', 'I', 'I', 'N',
@@ -2512,23 +4210,79 @@ static const char unicode_name_words[39544] = {
'M', 'I', 'M', 'E',
'M', 'I', 'N', 'Y',
'M', 'I', 'R', 'I',
+ 'M', 'M', 'S', 'P',
'M', 'N', 'A', 'S',
+ 'M', 'O', 'D', 'E',
+ 'M', 'O', 'D', 'I',
+ 'M', 'O', 'N', 'I',
+ 'M', 'O', 'O', 'D',
'M', 'O', 'O', 'N',
+ 'M', 'O', 'V', 'E',
+ 'M', 'U', 'A', 'E',
'M', 'U', 'A', 'N',
+ 'M', 'U', 'A', 'S',
'M', 'U', 'C', 'H',
+ 'M', 'U', 'E', 'N',
+ 'M', 'U', 'G', 'S',
'M', 'U', 'I', 'N',
'M', 'U', 'O', 'P',
'M', 'U', 'O', 'T',
'M', 'U', 'O', 'X',
'M', 'U', 'O', 'Y',
+ 'M', 'U', 'R', 'E',
'M', 'U', 'R', 'X',
'M', 'U', 'S', 'H',
+ 'M', 'V', 'O', 'P',
'M', 'W', 'A', 'A',
'M', 'W', 'E', 'E',
'M', 'W', 'I', 'I',
'M', 'W', 'O', 'O',
+ 'N', '0', '0', '1',
+ 'N', '0', '0', '2',
+ 'N', '0', '0', '3',
+ 'N', '0', '0', '4',
+ 'N', '0', '0', '5',
+ 'N', '0', '0', '6',
+ 'N', '0', '0', '7',
+ 'N', '0', '0', '8',
+ 'N', '0', '0', '9',
+ 'N', '0', '1', '0',
+ 'N', '0', '1', '1',
+ 'N', '0', '1', '2',
+ 'N', '0', '1', '3',
+ 'N', '0', '1', '4',
+ 'N', '0', '1', '5',
+ 'N', '0', '1', '6',
+ 'N', '0', '1', '7',
+ 'N', '0', '1', '8',
+ 'N', '0', '1', '9',
+ 'N', '0', '2', '0',
+ 'N', '0', '2', '1',
+ 'N', '0', '2', '2',
+ 'N', '0', '2', '3',
+ 'N', '0', '2', '4',
+ 'N', '0', '2', '5',
+ 'N', '0', '2', '6',
+ 'N', '0', '2', '7',
+ 'N', '0', '2', '8',
+ 'N', '0', '2', '9',
+ 'N', '0', '3', '0',
+ 'N', '0', '3', '1',
+ 'N', '0', '3', '2',
+ 'N', '0', '3', '3',
+ 'N', '0', '3', '4',
+ 'N', '0', '3', '5',
+ 'N', '0', '3', '6',
+ 'N', '0', '3', '7',
+ 'N', '0', '3', '8',
+ 'N', '0', '3', '9',
+ 'N', '0', '4', '0',
+ 'N', '0', '4', '1',
+ 'N', '0', '4', '2',
+ 'N', 'A', '-', '2',
'N', 'A', 'A', 'I',
'N', 'A', 'G', 'A',
+ 'N', 'A', 'I', 'L',
'N', 'A', 'M', '2',
'N', 'A', 'M', 'E',
'N', 'A', 'N', 'A',
@@ -2546,6 +4300,7 @@ static const char unicode_name_words[39544] = {
'N', 'B', 'O', 'P',
'N', 'B', 'O', 'T',
'N', 'B', 'O', 'X',
+ 'N', 'B', 'S', 'P',
'N', 'B', 'U', 'P',
'N', 'B', 'U', 'R',
'N', 'B', 'U', 'T',
@@ -2554,6 +4309,8 @@ static const char unicode_name_words[39544] = {
'N', 'B', 'Y', 'R',
'N', 'B', 'Y', 'T',
'N', 'B', 'Y', 'X',
+ 'N', 'D', 'A', 'A',
+ 'N', 'D', 'A', 'M',
'N', 'D', 'A', 'P',
'N', 'D', 'A', 'T',
'N', 'D', 'A', 'X',
@@ -2562,21 +4319,29 @@ static const char unicode_name_words[39544] = {
'N', 'D', 'E', 'X',
'N', 'D', 'I', 'E',
'N', 'D', 'I', 'P',
+ 'N', 'D', 'I', 'Q',
'N', 'D', 'I', 'T',
'N', 'D', 'I', 'X',
+ 'N', 'D', 'O', 'N',
'N', 'D', 'O', 'O',
'N', 'D', 'O', 'P',
'N', 'D', 'O', 'T',
'N', 'D', 'O', 'X',
+ 'N', 'D', 'U', 'N',
'N', 'D', 'U', 'P',
'N', 'D', 'U', 'R',
'N', 'D', 'U', 'T',
'N', 'D', 'U', 'X',
+ 'N', 'E', '-', '2',
+ 'N', 'E', 'C', 'K',
+ 'N', 'E', 'R', 'D',
'N', 'E', 'X', 'T',
'N', 'G', 'A', 'A',
+ 'N', 'G', 'A', 'H',
'N', 'G', 'A', 'I',
'N', 'G', 'A', 'N',
'N', 'G', 'A', 'P',
+ 'N', 'G', 'A', 'Q',
'N', 'G', 'A', 'S',
'N', 'G', 'A', 'T',
'N', 'G', 'A', 'X',
@@ -2588,22 +4353,34 @@ static const char unicode_name_words[39544] = {
'N', 'G', 'G', 'I',
'N', 'G', 'G', 'O',
'N', 'G', 'G', 'U',
+ 'N', 'G', 'H', 'A',
'N', 'G', 'I', 'E',
'N', 'G', 'I', 'I',
'N', 'G', 'K', 'A',
+ 'N', 'G', 'O', 'M',
'N', 'G', 'O', 'N',
'N', 'G', 'O', 'O',
'N', 'G', 'O', 'P',
+ 'N', 'G', 'O', 'Q',
'N', 'G', 'O', 'T',
+ 'N', 'G', 'O', 'U',
'N', 'G', 'O', 'X',
'N', 'G', 'U', 'E',
'N', 'G', 'U', 'O',
+ 'N', 'G', 'V', 'E',
+ 'N', 'G', 'Y', 'E',
'N', 'H', 'J', 'A',
'N', 'H', 'U', 'E',
'N', 'I', 'E', 'P',
'N', 'I', 'E', 'X',
+ 'N', 'I', 'K', 'A',
+ 'N', 'I', 'N', '9',
'N', 'I', 'N', 'E',
'N', 'I', 'O', 'N',
+ 'N', 'J', 'A', 'A',
+ 'N', 'J', 'A', 'M',
+ 'N', 'J', 'A', 'P',
+ 'N', 'J', 'A', 'Q',
'N', 'J', 'E', 'E',
'N', 'J', 'I', 'E',
'N', 'J', 'I', 'P',
@@ -2621,23 +4398,32 @@ static const char unicode_name_words[39544] = {
'N', 'J', 'Y', 'R',
'N', 'J', 'Y', 'T',
'N', 'J', 'Y', 'X',
+ 'N', 'K', 'A', 'U',
+ 'N', 'K', 'O', 'M',
+ 'N', 'L', 'A', 'U',
+ 'N', 'N', 'A', 'A',
'N', 'N', 'G', 'A',
'N', 'N', 'G', 'I',
'N', 'N', 'G', 'O',
+ 'N', 'N', 'H', 'A',
'N', 'N', 'N', 'A',
'N', 'N', 'Y', 'A',
'N', 'O', 'D', 'E',
'N', 'O', 'O', 'N',
'N', 'O', 'S', 'E',
'N', 'O', 'T', 'E',
+ 'N', 'O', 'W', 'C',
+ 'N', 'Q', 'I', 'G',
'N', 'R', 'A', 'P',
'N', 'R', 'A', 'T',
'N', 'R', 'A', 'X',
'N', 'R', 'E', 'P',
+ 'N', 'R', 'E', 'S',
'N', 'R', 'E', 'T',
'N', 'R', 'E', 'X',
'N', 'R', 'O', 'P',
'N', 'R', 'O', 'X',
+ 'N', 'R', 'U', 'A',
'N', 'R', 'U', 'P',
'N', 'R', 'U', 'R',
'N', 'R', 'U', 'T',
@@ -2646,35 +4432,63 @@ static const char unicode_name_words[39544] = {
'N', 'R', 'Y', 'R',
'N', 'R', 'Y', 'T',
'N', 'R', 'Y', 'X',
+ 'N', 'S', 'E', 'N',
+ 'N', 'S', 'H', 'A',
+ 'N', 'S', 'O', 'M',
+ 'N', 'S', 'U', 'M',
+ 'N', 'S', 'U', 'N',
+ 'N', 'T', 'A', 'A',
+ 'N', 'T', 'A', 'P',
+ 'N', 'T', 'E', 'E',
+ 'N', 'T', 'E', 'N',
+ 'N', 'T', 'O', 'G',
+ 'N', 'T', 'U', 'J',
+ 'N', 'T', 'U', 'M',
+ 'N', 'T', 'U', 'U',
'N', 'U', '1', '1',
+ 'N', 'U', 'A', 'E',
'N', 'U', 'L', 'L',
+ 'N', 'U', 'N', 'G',
'N', 'U', 'O', 'P',
'N', 'U', 'O', 'X',
'N', 'U', 'R', 'X',
'N', 'U', 'U', 'N',
'N', 'W', 'A', 'A',
+ 'N', 'W', 'I', 'I',
+ 'N', 'W', 'O', 'O',
'N', 'Y', 'A', 'A',
+ 'N', 'Y', 'A', 'H',
+ 'N', 'Y', 'A', 'M',
+ 'N', 'Y', 'A', 'N',
'N', 'Y', 'C', 'A',
'N', 'Y', 'E', 'E',
'N', 'Y', 'E', 'H',
+ 'N', 'Y', 'E', 'N',
'N', 'Y', 'E', 'T',
+ 'N', 'Y', 'H', 'A',
'N', 'Y', 'I', 'E',
+ 'N', 'Y', 'I', 'N',
'N', 'Y', 'I', 'P',
+ 'N', 'Y', 'I', 'R',
'N', 'Y', 'I', 'S',
'N', 'Y', 'I', 'T',
'N', 'Y', 'I', 'X',
'N', 'Y', 'J', 'A',
'N', 'Y', 'O', 'A',
+ 'N', 'Y', 'O', 'N',
'N', 'Y', 'O', 'O',
'N', 'Y', 'O', 'P',
'N', 'Y', 'O', 'T',
'N', 'Y', 'O', 'X',
+ 'N', 'Y', 'U', 'E',
+ 'N', 'Y', 'U', 'N',
'N', 'Y', 'U', 'O',
'N', 'Y', 'U', 'P',
'N', 'Y', 'U', 'T',
'N', 'Y', 'U', 'X',
'N', 'Y', 'W', 'A',
'N', 'Z', 'A', 'P',
+ 'N', 'Z', 'A', 'Q',
'N', 'Z', 'A', 'T',
'N', 'Z', 'A', 'X',
'N', 'Z', 'E', 'X',
@@ -2684,8 +4498,10 @@ static const char unicode_name_words[39544] = {
'N', 'Z', 'I', 'X',
'N', 'Z', 'O', 'P',
'N', 'Z', 'O', 'X',
+ 'N', 'Z', 'U', 'N',
'N', 'Z', 'U', 'O',
'N', 'Z', 'U', 'P',
+ 'N', 'Z', 'U', 'Q',
'N', 'Z', 'U', 'R',
'N', 'Z', 'U', 'X',
'N', 'Z', 'Y', 'P',
@@ -2693,26 +4509,103 @@ static const char unicode_name_words[39544] = {
'N', 'Z', 'Y', 'T',
'N', 'Z', 'Y', 'X',
'O', '-', 'E', 'O',
+ 'O', '-', 'Y', 'A',
'O', '-', 'Y', 'E',
+ 'O', '0', '0', '1',
+ 'O', '0', '0', '2',
+ 'O', '0', '0', '3',
+ 'O', '0', '0', '4',
+ 'O', '0', '0', '5',
+ 'O', '0', '0', '6',
+ 'O', '0', '0', '7',
+ 'O', '0', '0', '8',
+ 'O', '0', '0', '9',
+ 'O', '0', '1', '0',
+ 'O', '0', '1', '1',
+ 'O', '0', '1', '2',
+ 'O', '0', '1', '3',
+ 'O', '0', '1', '4',
+ 'O', '0', '1', '5',
+ 'O', '0', '1', '6',
+ 'O', '0', '1', '7',
+ 'O', '0', '1', '8',
+ 'O', '0', '1', '9',
+ 'O', '0', '2', '0',
+ 'O', '0', '2', '1',
+ 'O', '0', '2', '2',
+ 'O', '0', '2', '3',
+ 'O', '0', '2', '4',
+ 'O', '0', '2', '5',
+ 'O', '0', '2', '6',
+ 'O', '0', '2', '7',
+ 'O', '0', '2', '8',
+ 'O', '0', '2', '9',
+ 'O', '0', '3', '0',
+ 'O', '0', '3', '1',
+ 'O', '0', '3', '2',
+ 'O', '0', '3', '3',
+ 'O', '0', '3', '4',
+ 'O', '0', '3', '5',
+ 'O', '0', '3', '6',
+ 'O', '0', '3', '7',
+ 'O', '0', '3', '8',
+ 'O', '0', '3', '9',
+ 'O', '0', '4', '0',
+ 'O', '0', '4', '1',
+ 'O', '0', '4', '2',
+ 'O', '0', '4', '3',
+ 'O', '0', '4', '4',
+ 'O', '0', '4', '5',
+ 'O', '0', '4', '6',
+ 'O', '0', '4', '7',
+ 'O', '0', '4', '8',
+ 'O', '0', '4', '9',
+ 'O', '0', '5', '0',
+ 'O', '0', '5', '1',
'O', 'B', 'O', 'L',
+ 'O', 'D', 'E', 'N',
+ 'O', 'G', 'R', 'E',
'O', 'K', 'T', 'O',
+ 'O', 'N', 'A', 'P',
'O', 'N', 'S', 'U',
'O', 'O', 'M', 'U',
'O', 'O', 'Z', 'E',
'O', 'P', 'E', 'N',
+ 'O', 'V', 'A', 'L',
'O', 'V', 'E', 'R',
'O', 'X', 'I', 'A',
+ 'P', '0', '0', '1',
+ 'P', '0', '0', '2',
+ 'P', '0', '0', '3',
+ 'P', '0', '0', '4',
+ 'P', '0', '0', '5',
+ 'P', '0', '0', '6',
+ 'P', '0', '0', '7',
+ 'P', '0', '0', '8',
+ 'P', '0', '0', '9',
+ 'P', '0', '1', '0',
+ 'P', '0', '1', '1',
'P', 'A', 'A', 'I',
+ 'P', 'A', 'A', 'M',
+ 'P', 'A', 'D', 'A',
'P', 'A', 'G', 'E',
'P', 'A', 'L', 'M',
'P', 'A', 'N', 'G',
'P', 'A', 'R', 'A',
+ 'P', 'A', 'R', 'K',
'P', 'A', 'R', 'T',
'P', 'A', 'T', 'H',
'P', 'A', 'W', 'N',
+ 'P', 'E', 'A', 'R',
+ 'P', 'E', 'E', 'I',
+ 'P', 'E', 'E', 'M',
'P', 'E', 'E', 'P',
'P', 'E', 'S', 'O',
+ 'P', 'E', 'U', 'T',
+ 'P', 'E', 'U', 'X',
'P', 'H', 'A', 'A',
+ 'P', 'H', 'A', 'B',
+ 'P', 'H', 'A', 'M',
'P', 'H', 'A', 'N',
'P', 'H', 'A', 'R',
'P', 'H', 'E', 'E',
@@ -2721,32 +4614,54 @@ static const char unicode_name_words[39544] = {
'P', 'H', 'W', 'A',
'P', 'I', 'C', 'K',
'P', 'I', 'E', 'P',
+ 'P', 'I', 'E', 'T',
'P', 'I', 'E', 'X',
'P', 'I', 'K', 'O',
+ 'P', 'I', 'L', 'E',
+ 'P', 'I', 'L', 'L',
+ 'P', 'I', 'N', 'E',
'P', 'I', 'N', 'G',
+ 'P', 'I', 'R', '2',
'P', 'I', 'W', 'R',
'P', 'L', 'A', 'K',
'P', 'L', 'O', 'W',
+ 'P', 'L', 'U', 'G',
'P', 'L', 'U', 'K',
'P', 'L', 'U', 'M',
'P', 'L', 'U', 'S',
'P', 'O', 'L', 'E',
'P', 'O', 'L', 'I',
+ 'P', 'O', 'O', 'N',
+ 'P', 'O', 'S', 'T',
'P', 'R', 'A', 'M',
+ 'P', 'U', 'A', 'E',
+ 'P', 'U', 'A', 'Q',
+ 'P', 'U', 'C', 'K',
+ 'P', 'U', 'M', 'P',
'P', 'U', 'N', 'G',
'P', 'U', 'O', 'P',
'P', 'U', 'O', 'X',
'P', 'U', 'R', 'X',
+ 'P', 'U', 'U', 'T',
'P', 'W', 'A', 'A',
'P', 'W', 'E', 'E',
'P', 'W', 'I', 'I',
'P', 'W', 'O', 'O',
+ 'P', 'W', 'O', 'Y',
'P', 'Y', 'R', 'X',
+ 'Q', '0', '0', '1',
+ 'Q', '0', '0', '2',
+ 'Q', '0', '0', '3',
+ 'Q', '0', '0', '4',
+ 'Q', '0', '0', '5',
+ 'Q', '0', '0', '6',
+ 'Q', '0', '0', '7',
'Q', 'A', 'A', 'F',
'Q', 'A', 'A', 'I',
'Q', 'A', 'L', 'A',
'Q', 'A', 'P', 'H',
'Q', 'H', 'A', 'A',
+ 'Q', 'H', 'A', 'U',
'Q', 'H', 'E', 'E',
'Q', 'H', 'W', 'A',
'Q', 'H', 'W', 'E',
@@ -2755,6 +4670,7 @@ static const char unicode_name_words[39544] = {
'Q', 'I', 'E', 'T',
'Q', 'I', 'E', 'X',
'Q', 'O', 'P', 'A',
+ 'Q', 'O', 'P', 'H',
'Q', 'U', 'A', 'D',
'Q', 'U', 'O', 'P',
'Q', 'U', 'O', 'T',
@@ -2766,21 +4682,58 @@ static const char unicode_name_words[39544] = {
'Q', 'Y', 'A', 'A',
'Q', 'Y', 'E', 'E',
'Q', 'Y', 'R', 'X',
+ 'R', '0', '0', '1',
+ 'R', '0', '0', '2',
+ 'R', '0', '0', '3',
+ 'R', '0', '0', '4',
+ 'R', '0', '0', '5',
+ 'R', '0', '0', '6',
+ 'R', '0', '0', '7',
+ 'R', '0', '0', '8',
+ 'R', '0', '0', '9',
+ 'R', '0', '1', '0',
+ 'R', '0', '1', '1',
+ 'R', '0', '1', '2',
+ 'R', '0', '1', '3',
+ 'R', '0', '1', '4',
+ 'R', '0', '1', '5',
+ 'R', '0', '1', '6',
+ 'R', '0', '1', '7',
+ 'R', '0', '1', '8',
+ 'R', '0', '1', '9',
+ 'R', '0', '2', '0',
+ 'R', '0', '2', '1',
+ 'R', '0', '2', '2',
+ 'R', '0', '2', '3',
+ 'R', '0', '2', '4',
+ 'R', '0', '2', '5',
+ 'R', '0', '2', '6',
+ 'R', '0', '2', '7',
+ 'R', '0', '2', '8',
+ 'R', '0', '2', '9',
+ 'R', 'A', '-', '2',
'R', 'A', 'A', 'I',
'R', 'A', 'D', 'I',
+ 'R', 'A', 'E', 'M',
'R', 'A', 'F', 'E',
+ 'R', 'A', 'I', 'L',
'R', 'A', 'I', 'N',
'R', 'A', 'M', 'S',
+ 'R', 'A', 'N', 'A',
+ 'R', 'A', 'T', 'A',
'R', 'A', 'Y', 'S',
'R', 'D', 'E', 'L',
'R', 'E', 'I', 'D',
'R', 'E', 'M', 'U',
'R', 'E', 'P', 'A',
+ 'R', 'E', 'P', 'H',
'R', 'E', 'S', 'H',
'R', 'E', 'S', 'T',
+ 'R', 'E', 'U', 'X',
'R', 'G', 'Y', 'A',
'R', 'I', 'A', 'L',
'R', 'I', 'C', 'E',
+ 'R', 'I', 'E', 'E',
'R', 'I', 'E', 'L',
'R', 'I', 'N', 'G',
'R', 'I', 'R', 'A',
@@ -2788,9 +4741,11 @@ static const char unicode_name_words[39544] = {
'R', 'J', 'E', 'S',
'R', 'N', 'A', 'M',
'R', 'O', 'A', 'R',
+ 'R', 'O', 'C', 'K',
'R', 'O', 'O', 'F',
'R', 'O', 'O', 'K',
'R', 'O', 'O', 'T',
+ 'R', 'O', 'S', 'E',
'R', 'O', 'S', 'H',
'R', 'R', 'A', 'X',
'R', 'R', 'E', 'H',
@@ -2800,6 +4755,7 @@ static const char unicode_name_words[39544] = {
'R', 'R', 'O', 'P',
'R', 'R', 'O', 'T',
'R', 'R', 'O', 'X',
+ 'R', 'R', 'R', 'A',
'R', 'R', 'U', 'O',
'R', 'R', 'U', 'P',
'R', 'R', 'U', 'R',
@@ -2811,29 +4767,87 @@ static const char unicode_name_words[39544] = {
'R', 'R', 'Y', 'X',
'R', 'U', 'I', 'S',
'R', 'U', 'L', 'E',
+ 'R', 'U', 'M', 'I',
'R', 'U', 'O', 'P',
'R', 'U', 'O', 'X',
'R', 'U', 'R', 'X',
'R', 'U', 'S', 'I',
'R', 'W', 'A', 'A',
+ 'R', 'W', 'E', 'E',
+ 'R', 'W', 'I', 'I',
+ 'R', 'W', 'O', 'O',
'R', 'Y', 'R', 'X',
+ 'S', '0', '0', '1',
+ 'S', '0', '0', '2',
+ 'S', '0', '0', '3',
+ 'S', '0', '0', '4',
+ 'S', '0', '0', '5',
+ 'S', '0', '0', '6',
+ 'S', '0', '0', '7',
+ 'S', '0', '0', '8',
+ 'S', '0', '0', '9',
+ 'S', '0', '1', '0',
+ 'S', '0', '1', '1',
+ 'S', '0', '1', '2',
+ 'S', '0', '1', '3',
+ 'S', '0', '1', '4',
+ 'S', '0', '1', '5',
+ 'S', '0', '1', '6',
+ 'S', '0', '1', '7',
+ 'S', '0', '1', '8',
+ 'S', '0', '1', '9',
+ 'S', '0', '2', '0',
+ 'S', '0', '2', '1',
+ 'S', '0', '2', '2',
+ 'S', '0', '2', '3',
+ 'S', '0', '2', '4',
+ 'S', '0', '2', '5',
+ 'S', '0', '2', '6',
+ 'S', '0', '2', '7',
+ 'S', '0', '2', '8',
+ 'S', '0', '2', '9',
+ 'S', '0', '3', '0',
+ 'S', '0', '3', '1',
+ 'S', '0', '3', '2',
+ 'S', '0', '3', '3',
+ 'S', '0', '3', '4',
+ 'S', '0', '3', '5',
+ 'S', '0', '3', '6',
+ 'S', '0', '3', '7',
+ 'S', '0', '3', '8',
+ 'S', '0', '3', '9',
+ 'S', '0', '4', '0',
+ 'S', '0', '4', '1',
+ 'S', '0', '4', '2',
+ 'S', '0', '4', '3',
+ 'S', '0', '4', '4',
+ 'S', '0', '4', '5',
+ 'S', '0', '4', '6',
+ 'S', 'A', '-', '2',
'S', 'A', '-', 'I',
'S', 'A', 'A', 'I',
'S', 'A', 'D', 'E',
'S', 'A', 'G', 'A',
'S', 'A', 'I', 'L',
+ 'S', 'A', 'K', 'E',
'S', 'A', 'L', 'A',
'S', 'A', 'L', 'T',
+ 'S', 'A', 'N', 'D',
'S', 'A', 'P', 'A',
'S', 'A', 'R', 'A',
'S', 'A', 'R', 'I',
+ 'S', 'A', 'S', 'H',
'S', 'B', 'U', 'B',
'S', 'C', 'A', 'N',
'S', 'C', 'W', 'A',
'S', 'E', 'A', 'L',
+ 'S', 'E', 'A', 'T',
'S', 'E', 'E', 'N',
+ 'S', 'E', 'E', 'V',
'S', 'E', 'L', 'F',
'S', 'E', 'M', 'K',
+ 'S', 'E', 'U', 'X',
+ 'S', 'E', 'Y', 'K',
'S', 'G', 'A', 'B',
'S', 'G', 'A', 'W',
'S', 'G', 'O', 'R',
@@ -2842,10 +4856,12 @@ static const char unicode_name_words[39544] = {
'S', 'H', 'A', '6',
'S', 'H', 'A', 'A',
'S', 'H', 'A', 'D',
+ 'S', 'H', 'A', 'K',
'S', 'H', 'A', 'N',
'S', 'H', 'A', 'P',
'S', 'H', 'A', 'T',
'S', 'H', 'A', 'X',
+ 'S', 'H', 'A', 'Y',
'S', 'H', 'E', 'E',
'S', 'H', 'E', 'I',
'S', 'H', 'E', 'N',
@@ -2858,16 +4874,22 @@ static const char unicode_name_words[39544] = {
'S', 'H', 'I', 'M',
'S', 'H', 'I', 'N',
'S', 'H', 'I', 'P',
+ 'S', 'H', 'I', 'Q',
'S', 'H', 'I', 'R',
'S', 'H', 'O', 'A',
'S', 'H', 'O', 'E',
'S', 'H', 'O', 'G',
'S', 'H', 'O', 'O',
'S', 'H', 'O', 'P',
+ 'S', 'H', 'O', 'Q',
'S', 'H', 'O', 'T',
'S', 'H', 'O', 'X',
+ 'S', 'H', 'O', 'Y',
+ 'S', 'H', 'R', 'I',
'S', 'H', 'T', 'A',
'S', 'H', 'U', '2',
+ 'S', 'H', 'U', 'L',
+ 'S', 'H', 'U', 'M',
'S', 'H', 'U', 'O',
'S', 'H', 'U', 'P',
'S', 'H', 'U', 'R',
@@ -2878,11 +4900,14 @@ static const char unicode_name_words[39544] = {
'S', 'H', 'W', 'I',
'S', 'H', 'W', 'O',
'S', 'H', 'Y', 'A',
+ 'S', 'H', 'Y', 'E',
'S', 'H', 'Y', 'P',
'S', 'H', 'Y', 'R',
'S', 'H', 'Y', 'T',
'S', 'H', 'Y', 'X',
'S', 'I', 'B', 'E',
+ 'S', 'I', 'D', 'E',
+ 'S', 'I', 'E', 'E',
'S', 'I', 'E', 'P',
'S', 'I', 'E', 'X',
'S', 'I', 'G', '4',
@@ -2893,11 +4918,21 @@ static const char unicode_name_words[39544] = {
'S', 'I', 'M', 'A',
'S', 'I', 'N', 'E',
'S', 'I', 'O', 'S',
+ 'S', 'I', 'S', 'A',
+ 'S', 'I', 'T', 'E',
+ 'S', 'I', 'Z', 'E',
'S', 'K', 'I', 'N',
'S', 'K', 'W', 'A',
+ 'S', 'L', 'O', 'T',
+ 'S', 'L', 'O', 'W',
'S', 'L', 'U', 'R',
'S', 'N', 'A', 'P',
+ 'S', 'N', 'O', 'W',
+ 'S', 'O', 'A', 'P',
'S', 'O', 'F', 'T',
+ 'S', 'O', 'N', 'G',
+ 'S', 'O', 'O', 'N',
+ 'S', 'O', 'R', 'A',
'S', 'P', 'O', 'T',
'S', 'P', 'W', 'A',
'S', 'S', 'A', 'A',
@@ -2907,6 +4942,7 @@ static const char unicode_name_words[39544] = {
'S', 'S', 'E', 'E',
'S', 'S', 'E', 'P',
'S', 'S', 'E', 'X',
+ 'S', 'S', 'H', 'E',
'S', 'S', 'I', 'E',
'S', 'S', 'I', 'P',
'S', 'S', 'I', 'T',
@@ -2916,6 +4952,7 @@ static const char unicode_name_words[39544] = {
'S', 'S', 'O', 'X',
'S', 'S', 'U', 'P',
'S', 'S', 'U', 'T',
+ 'S', 'S', 'U', 'U',
'S', 'S', 'U', 'X',
'S', 'S', 'Y', 'P',
'S', 'S', 'Y', 'R',
@@ -2927,6 +4964,10 @@ static const char unicode_name_words[39544] = {
'S', 'T', 'E', 'P',
'S', 'T', 'O', 'P',
'S', 'T', 'W', 'A',
+ 'S', 'U', 'A', 'B',
+ 'S', 'U', 'A', 'E',
+ 'S', 'U', 'A', 'M',
+ 'S', 'U', 'C', 'K',
'S', 'U', 'D', '2',
'S', 'U', 'I', 'T',
'S', 'U', 'K', 'U',
@@ -2944,26 +4985,80 @@ static const char unicode_name_words[39544] = {
'S', 'Z', 'E', 'E',
'S', 'Z', 'W', 'A',
'S', 'Z', 'W', 'G',
+ 'T', '0', '0', '1',
+ 'T', '0', '0', '2',
+ 'T', '0', '0', '3',
+ 'T', '0', '0', '4',
+ 'T', '0', '0', '5',
+ 'T', '0', '0', '6',
+ 'T', '0', '0', '7',
+ 'T', '0', '0', '8',
+ 'T', '0', '0', '9',
+ 'T', '0', '1', '0',
+ 'T', '0', '1', '1',
+ 'T', '0', '1', '2',
+ 'T', '0', '1', '3',
+ 'T', '0', '1', '4',
+ 'T', '0', '1', '5',
+ 'T', '0', '1', '6',
+ 'T', '0', '1', '7',
+ 'T', '0', '1', '8',
+ 'T', '0', '1', '9',
+ 'T', '0', '2', '0',
+ 'T', '0', '2', '1',
+ 'T', '0', '2', '2',
+ 'T', '0', '2', '3',
+ 'T', '0', '2', '4',
+ 'T', '0', '2', '5',
+ 'T', '0', '2', '6',
+ 'T', '0', '2', '7',
+ 'T', '0', '2', '8',
+ 'T', '0', '2', '9',
+ 'T', '0', '3', '0',
+ 'T', '0', '3', '1',
+ 'T', '0', '3', '2',
+ 'T', '0', '3', '3',
+ 'T', '0', '3', '4',
+ 'T', '0', '3', '5',
+ 'T', '0', '3', '6',
+ 'T', 'A', '-', '2',
+ 'T', 'A', 'A', 'F',
'T', 'A', 'A', 'I',
+ 'T', 'A', 'A', 'M',
+ 'T', 'A', 'A', 'Q',
+ 'T', 'A', 'B', 'S',
'T', 'A', 'C', 'K',
+ 'T', 'A', 'C', 'O',
+ 'T', 'A', 'E', 'N',
'T', 'A', 'I', 'L',
'T', 'A', 'K', '4',
'T', 'A', 'K', 'E',
'T', 'A', 'L', 'L',
+ 'T', 'A', 'N', 'G',
'T', 'A', 'P', 'E',
+ 'T', 'A', 'U', 'M',
'T', 'A', 'W', 'A',
+ 'T', 'A', 'X', 'I',
'T', 'C', 'H', 'E',
+ 'T', 'E', '-', '2',
'T', 'E', '-', 'U',
+ 'T', 'E', 'L', 'U',
'T', 'E', 'N', 'S',
'T', 'E', 'N', 'T',
'T', 'E', 'N', 'U',
'T', 'E', 'S', 'H',
'T', 'E', 'T', 'H',
+ 'T', 'E', 'U', 'N',
+ 'T', 'E', 'U', 'T',
'T', 'E', 'X', 'T',
'T', 'H', 'A', 'A',
'T', 'H', 'A', 'I',
+ 'T', 'H', 'A', 'J',
'T', 'H', 'A', 'L',
+ 'T', 'H', 'A', 'M',
'T', 'H', 'A', 'N',
+ 'T', 'H', 'A', 'W',
+ 'T', 'H', 'E', 'A',
'T', 'H', 'E', 'E',
'T', 'H', 'E', 'H',
'T', 'H', 'E', 'N',
@@ -2972,16 +5067,25 @@ static const char unicode_name_words[39544] = {
'T', 'H', 'I', 'I',
'T', 'H', 'I', 'N',
'T', 'H', 'O', 'A',
+ 'T', 'H', 'O', 'J',
+ 'T', 'H', 'O', 'M',
'T', 'H', 'O', 'O',
+ 'T', 'H', 'O', 'U',
'T', 'H', 'W', 'A',
+ 'T', 'H', 'W', 'E',
+ 'T', 'H', 'W', 'I',
+ 'T', 'H', 'W', 'O',
'T', 'I', 'C', 'K',
'T', 'I', 'E', 'P',
'T', 'I', 'E', 'X',
'T', 'I', 'L', 'E',
+ 'T', 'I', 'L', 'T',
'T', 'I', 'M', 'E',
'T', 'I', 'N', 'G',
'T', 'I', 'N', 'Y',
+ 'T', 'I', 'T', 'A',
'T', 'I', 'W', 'N',
+ 'T', 'I', 'W', 'R',
'T', 'L', 'E', 'E',
'T', 'L', 'H', 'A',
'T', 'L', 'H', 'E',
@@ -2991,15 +5095,23 @@ static const char unicode_name_words[39544] = {
'T', 'O', 'D', 'O',
'T', 'O', 'N', 'E',
'T', 'O', 'N', 'G',
+ 'T', 'O', 'O', 'N',
+ 'T', 'R', 'A', 'M',
+ 'T', 'R', 'A', 'Y',
'T', 'R', 'E', 'E',
'T', 'R', 'I', 'A',
'T', 'R', 'U', 'E',
'T', 'S', 'A', 'A',
+ 'T', 'S', 'A', 'B',
'T', 'S', 'E', 'E',
'T', 'S', 'H', 'A',
'T', 'S', 'H', 'E',
+ 'T', 'S', 'I', 'U',
+ 'T', 'S', 'O', 'V',
+ 'T', 'S', 'S', 'A',
'T', 'S', 'S', 'E',
'T', 'S', 'W', 'A',
+ 'T', 'S', 'W', 'B',
'T', 'S', 'W', 'E',
'T', 'T', 'A', 'A',
'T', 'T', 'E', 'E',
@@ -3008,20 +5120,26 @@ static const char unicode_name_words[39544] = {
'T', 'T', 'H', 'E',
'T', 'T', 'H', 'I',
'T', 'T', 'H', 'O',
+ 'T', 'T', 'H', 'U',
'T', 'T', 'S', 'A',
'T', 'T', 'S', 'E',
'T', 'T', 'S', 'I',
'T', 'T', 'S', 'O',
'T', 'T', 'S', 'U',
+ 'T', 'T', 'T', 'A',
+ 'T', 'U', 'A', 'E',
'T', 'U', 'G', '2',
'T', 'U', 'O', 'P',
'T', 'U', 'O', 'T',
'T', 'U', 'O', 'X',
'T', 'U', 'R', 'N',
+ 'T', 'U', 'R', 'U',
'T', 'U', 'R', 'X',
'T', 'W', 'A', 'A',
'T', 'W', 'I', 'I',
'T', 'W', 'O', 'O',
+ 'T', 'X', 'W', 'V',
+ 'T', 'Y', 'A', 'Y',
'T', 'Y', 'P', 'E',
'T', 'Z', 'A', 'A',
'T', 'Z', 'E', 'E',
@@ -3029,9 +5147,53 @@ static const char unicode_name_words[39544] = {
'T', 'Z', 'O', 'A',
'U', '-', 'A', 'E',
'U', '-', 'Y', 'E',
+ 'U', '0', '0', '1',
+ 'U', '0', '0', '2',
+ 'U', '0', '0', '3',
+ 'U', '0', '0', '4',
+ 'U', '0', '0', '5',
+ 'U', '0', '0', '6',
+ 'U', '0', '0', '7',
+ 'U', '0', '0', '8',
+ 'U', '0', '0', '9',
+ 'U', '0', '1', '0',
+ 'U', '0', '1', '1',
+ 'U', '0', '1', '2',
+ 'U', '0', '1', '3',
+ 'U', '0', '1', '4',
+ 'U', '0', '1', '5',
+ 'U', '0', '1', '6',
+ 'U', '0', '1', '7',
+ 'U', '0', '1', '8',
+ 'U', '0', '1', '9',
+ 'U', '0', '2', '0',
+ 'U', '0', '2', '1',
+ 'U', '0', '2', '2',
+ 'U', '0', '2', '3',
+ 'U', '0', '2', '4',
+ 'U', '0', '2', '5',
+ 'U', '0', '2', '6',
+ 'U', '0', '2', '7',
+ 'U', '0', '2', '8',
+ 'U', '0', '2', '9',
+ 'U', '0', '3', '0',
+ 'U', '0', '3', '1',
+ 'U', '0', '3', '2',
+ 'U', '0', '3', '3',
+ 'U', '0', '3', '4',
+ 'U', '0', '3', '5',
+ 'U', '0', '3', '6',
+ 'U', '0', '3', '7',
+ 'U', '0', '3', '8',
+ 'U', '0', '3', '9',
+ 'U', '0', '4', '0',
+ 'U', '0', '4', '1',
+ 'U', '0', '4', '2',
+ 'U', 'A', 'N', 'G',
'U', 'A', 'T', 'H',
'U', 'D', 'U', 'G',
'U', 'M', 'U', 'M',
+ 'U', 'N', 'A', 'P',
'U', 'N', 'D', 'O',
'U', 'N', 'I', 'T',
'U', 'R', 'I', '3',
@@ -3044,18 +5206,91 @@ static const char unicode_name_words[39544] = {
'U', 'U', 'U', '2',
'U', 'U', 'U', '3',
'U', 'U', 'U', 'U',
+ 'V', '0', '0', '1',
+ 'V', '0', '0', '2',
+ 'V', '0', '0', '3',
+ 'V', '0', '0', '4',
+ 'V', '0', '0', '5',
+ 'V', '0', '0', '6',
+ 'V', '0', '0', '7',
+ 'V', '0', '0', '8',
+ 'V', '0', '0', '9',
+ 'V', '0', '1', '0',
+ 'V', '0', '1', '1',
+ 'V', '0', '1', '2',
+ 'V', '0', '1', '3',
+ 'V', '0', '1', '4',
+ 'V', '0', '1', '5',
+ 'V', '0', '1', '6',
+ 'V', '0', '1', '7',
+ 'V', '0', '1', '8',
+ 'V', '0', '1', '9',
+ 'V', '0', '2', '0',
+ 'V', '0', '2', '1',
+ 'V', '0', '2', '2',
+ 'V', '0', '2', '3',
+ 'V', '0', '2', '4',
+ 'V', '0', '2', '5',
+ 'V', '0', '2', '6',
+ 'V', '0', '2', '7',
+ 'V', '0', '2', '8',
+ 'V', '0', '2', '9',
+ 'V', '0', '3', '0',
+ 'V', '0', '3', '1',
+ 'V', '0', '3', '2',
+ 'V', '0', '3', '3',
+ 'V', '0', '3', '4',
+ 'V', '0', '3', '5',
+ 'V', '0', '3', '6',
+ 'V', '0', '3', '7',
+ 'V', '0', '3', '8',
+ 'V', '0', '3', '9',
+ 'V', '0', '4', '0',
'V', 'A', 'N', 'E',
'V', 'E', 'D', 'E',
+ 'V', 'E', 'I', 'L',
'V', 'E', 'N', 'D',
'V', 'E', 'R', 'Y',
+ 'V', 'E', 'U', 'M',
+ 'V', 'E', 'U', 'X',
+ 'V', 'E', 'Y', 'Z',
'V', 'I', 'D', 'A',
+ 'V', 'I', 'D', 'J',
'V', 'I', 'E', 'P',
'V', 'I', 'E', 'T',
'V', 'I', 'E', 'X',
'V', 'I', 'N', 'E',
+ 'V', 'I', 'Y', 'O',
'V', 'O', 'I', 'D',
+ 'V', 'O', 'O', 'I',
+ 'V', 'U', 'E', 'Q',
'V', 'U', 'R', 'X',
'V', 'Y', 'R', 'X',
+ 'W', '0', '0', '1',
+ 'W', '0', '0', '2',
+ 'W', '0', '0', '3',
+ 'W', '0', '0', '4',
+ 'W', '0', '0', '5',
+ 'W', '0', '0', '6',
+ 'W', '0', '0', '7',
+ 'W', '0', '0', '8',
+ 'W', '0', '0', '9',
+ 'W', '0', '1', '0',
+ 'W', '0', '1', '1',
+ 'W', '0', '1', '2',
+ 'W', '0', '1', '3',
+ 'W', '0', '1', '4',
+ 'W', '0', '1', '5',
+ 'W', '0', '1', '6',
+ 'W', '0', '1', '7',
+ 'W', '0', '1', '8',
+ 'W', '0', '1', '9',
+ 'W', '0', '2', '0',
+ 'W', '0', '2', '1',
+ 'W', '0', '2', '2',
+ 'W', '0', '2', '3',
+ 'W', '0', '2', '4',
+ 'W', '0', '2', '5',
'W', 'A', 'E', 'N',
'W', 'A', 'L', 'K',
'W', 'A', 'L', 'L',
@@ -3064,34 +5299,62 @@ static const char unicode_name_words[39544] = {
'W', 'E', 'E', 'N',
'W', 'E', 'L', 'L',
'W', 'E', 'S', 'T',
+ 'W', 'E', 'U', 'X',
'W', 'I', 'D', 'E',
'W', 'I', 'N', 'D',
'W', 'I', 'N', 'E',
+ 'W', 'I', 'N', 'K',
'W', 'I', 'T', 'H',
+ 'W', 'O', 'L', 'F',
'W', 'O', 'O', 'D',
'W', 'O', 'O', 'L',
'W', 'O', 'O', 'N',
'W', 'O', 'R', 'D',
'W', 'O', 'R', 'K',
'W', 'R', 'A', 'P',
+ 'W', 'U', 'L', 'U',
'W', 'U', 'O', 'P',
'W', 'U', 'O', 'X',
'W', 'Y', 'N', 'N',
+ 'X', '0', '0', '1',
+ 'X', '0', '0', '2',
+ 'X', '0', '0', '3',
+ 'X', '0', '0', '4',
+ 'X', '0', '0', '5',
+ 'X', '0', '0', '6',
+ 'X', '0', '0', '7',
+ 'X', '0', '0', '8',
+ 'X', 'A', 'P', 'H',
+ 'X', 'A', 'U', 'S',
+ 'X', 'E', 'Y', 'N',
+ 'X', 'I', 'A', 'B',
'X', 'I', 'E', 'P',
'X', 'I', 'E', 'T',
'X', 'I', 'E', 'X',
+ 'X', 'O', 'P', 'H',
'X', 'U', 'O', 'X',
'X', 'W', 'A', 'A',
'X', 'W', 'E', 'E',
'X', 'Y', 'A', 'A',
'X', 'Y', 'E', 'E',
+ 'X', 'Y', 'O', 'O',
'X', 'Y', 'R', 'X',
+ 'Y', '0', '0', '1',
+ 'Y', '0', '0', '2',
+ 'Y', '0', '0', '3',
+ 'Y', '0', '0', '4',
+ 'Y', '0', '0', '5',
+ 'Y', '0', '0', '6',
+ 'Y', '0', '0', '7',
+ 'Y', '0', '0', '8',
'Y', 'A', '-', 'O',
+ 'Y', 'A', '-', 'U',
'Y', 'A', 'A', 'I',
'Y', 'A', 'B', 'H',
'Y', 'A', 'C', 'H',
'Y', 'A', 'D', 'D',
'Y', 'A', 'D', 'H',
+ 'Y', 'A', 'F', 'U',
'Y', 'A', 'G', 'H',
'Y', 'A', 'G', 'N',
'Y', 'A', 'H', 'H',
@@ -3103,29 +5366,43 @@ static const char unicode_name_words[39544] = {
'Y', 'A', 'T', 'H',
'Y', 'A', 'T', 'I',
'Y', 'A', 'T', 'T',
+ 'Y', 'A', 'W', 'N',
+ 'Y', 'A', 'Y', 'D',
'Y', 'A', 'Z', 'H',
'Y', 'A', 'Z', 'Z',
'Y', 'E', 'A', 'R',
+ 'Y', 'E', 'E', 'G',
+ 'Y', 'E', 'I', 'N',
'Y', 'E', 'R', 'I',
'Y', 'E', 'R', 'U',
+ 'Y', 'E', 'U', 'M',
+ 'Y', 'E', 'U', 'Q',
+ 'Y', 'E', 'U', 'X',
'Y', 'F', 'E', 'N',
'Y', 'I', '-', 'U',
+ 'Y', 'I', 'E', 'E',
'Y', 'I', 'E', 'P',
'Y', 'I', 'E', 'T',
'Y', 'I', 'E', 'X',
'Y', 'I', 'N', 'G',
'Y', 'I', 'W', 'N',
+ 'Y', 'O', '-', 'A',
'Y', 'O', '-', 'I',
'Y', 'O', '-', 'O',
+ 'Y', 'O', 'D', 'H',
'Y', 'O', 'G', 'H',
'Y', 'O', 'M', 'O',
'Y', 'O', 'R', 'I',
+ 'Y', 'O', 'W', 'D',
'Y', 'U', '-', 'A',
'Y', 'U', '-', 'E',
'Y', 'U', '-', 'I',
+ 'Y', 'U', '-', 'O',
'Y', 'U', '-', 'U',
'Y', 'U', 'A', 'N',
'Y', 'U', 'D', 'H',
+ 'Y', 'U', 'E', 'Q',
+ 'Y', 'U', 'O', 'M',
'Y', 'U', 'O', 'P',
'Y', 'U', 'O', 'T',
'Y', 'U', 'O', 'X',
@@ -3133,10 +5410,30 @@ static const char unicode_name_words[39544] = {
'Y', 'W', 'A', 'A',
'Y', 'W', 'I', 'I',
'Y', 'W', 'O', 'O',
+ 'Y', 'Y', 'A', 'A',
'Y', 'Y', 'R', 'X',
+ 'Z', '0', '0', '1',
+ 'Z', '0', '0', '2',
+ 'Z', '0', '0', '3',
+ 'Z', '0', '0', '4',
+ 'Z', '0', '0', '5',
+ 'Z', '0', '0', '6',
+ 'Z', '0', '0', '7',
+ 'Z', '0', '0', '8',
+ 'Z', '0', '0', '9',
+ 'Z', '0', '1', '0',
+ 'Z', '0', '1', '1',
+ 'Z', '0', '1', '2',
+ 'Z', '0', '1', '3',
+ 'Z', '0', '1', '4',
+ 'Z', '0', '1', '5',
+ 'Z', '0', '1', '6',
+ 'Z', 'A', 'E', 'F',
'Z', 'A', 'I', 'N',
'Z', 'A', 'M', 'X',
+ 'Z', 'A', 'R', 'L',
'Z', 'A', 'T', 'A',
+ 'Z', 'A', 'Y', 'N',
'Z', 'E', 'R', 'O',
'Z', 'E', 'T', 'A',
'Z', 'H', 'A', 'A',
@@ -3148,6 +5445,8 @@ static const char unicode_name_words[39544] = {
'Z', 'H', 'E', 'P',
'Z', 'H', 'E', 'T',
'Z', 'H', 'E', 'X',
+ 'Z', 'H', 'I', 'L',
+ 'Z', 'H', 'O', 'I',
'Z', 'H', 'O', 'O',
'Z', 'H', 'O', 'P',
'Z', 'H', 'O', 'T',
@@ -3167,9 +5466,12 @@ static const char unicode_name_words[39544] = {
'Z', 'I', 'E', 'P',
'Z', 'I', 'E', 'X',
'Z', 'I', 'Z', '2',
+ 'Z', 'S', 'H', 'A',
'Z', 'U', 'O', 'P',
'Z', 'U', 'O', 'X',
'Z', 'U', 'R', 'X',
+ 'Z', 'W', 'N', 'J',
+ 'Z', 'W', 'S', 'P',
'Z', 'Y', 'R', 'X',
'Z', 'Z', 'A', 'A',
'Z', 'Z', 'A', 'P',
@@ -3184,9 +5486,11 @@ static const char unicode_name_words[39544] = {
'Z', 'Z', 'I', 'X',
'Z', 'Z', 'O', 'P',
'Z', 'Z', 'O', 'X',
+ 'Z', 'Z', 'S', 'A',
'Z', 'Z', 'U', 'P',
'Z', 'Z', 'U', 'R',
'Z', 'Z', 'U', 'X',
+ 'Z', 'Z', 'Y', 'A',
'Z', 'Z', 'Y', 'P',
'Z', 'Z', 'Y', 'R',
'Z', 'Z', 'Y', 'T',
@@ -3195,28 +5499,221 @@ static const char unicode_name_words[39544] = {
'-', 'C', 'H', 'A', 'R',
'-', 'D', 'Z', 'U', 'D',
'-', 'P', 'H', 'R', 'U',
+ 'A', '0', '0', '5', 'A',
+ 'A', '0', '0', '6', 'A',
+ 'A', '0', '0', '6', 'B',
+ 'A', '0', '1', '0', 'A',
+ 'A', '0', '1', '4', 'A',
+ 'A', '0', '1', '7', 'A',
+ 'A', '0', '2', '6', 'A',
+ 'A', '0', '2', '8', 'B',
+ 'A', '0', '3', '2', 'A',
+ 'A', '0', '3', '9', 'A',
+ 'A', '0', '4', '0', 'A',
+ 'A', '0', '4', '1', 'A',
+ 'A', '0', '4', '2', 'A',
+ 'A', '0', '4', '3', 'A',
+ 'A', '0', '4', '5', 'A',
+ 'A', '0', '4', '6', 'A',
+ 'A', '0', '4', '6', 'B',
+ 'A', '0', '6', '6', 'A',
+ 'A', '0', '6', '6', 'B',
+ 'A', '0', '6', '6', 'C',
+ 'A', '0', '9', '7', 'A',
+ 'A', '0', '9', '8', 'A',
+ 'A', '1', '0', '0', 'A',
+ 'A', '1', '0', '1', 'A',
+ 'A', '1', '0', '2', 'A',
+ 'A', '1', '0', '4', 'A',
+ 'A', '1', '0', '4', 'B',
+ 'A', '1', '0', '4', 'C',
+ 'A', '1', '0', '5', 'A',
+ 'A', '1', '0', '5', 'B',
+ 'A', '1', '0', '7', 'A',
+ 'A', '1', '0', '7', 'B',
+ 'A', '1', '0', '7', 'C',
+ 'A', '1', '1', '0', 'A',
+ 'A', '1', '1', '0', 'B',
+ 'A', '1', '1', '5', 'A',
+ 'A', '1', '2', '0', 'B',
+ 'A', '1', '2', '5', 'A',
+ 'A', '1', '3', '1', 'C',
+ 'A', '1', '3', '5', 'A',
+ 'A', '2', '0', '2', 'A',
+ 'A', '2', '0', '2', 'B',
+ 'A', '2', '0', '7', 'A',
+ 'A', '2', '0', '9', 'A',
+ 'A', '2', '1', '5', 'A',
+ 'A', '2', '1', '6', 'A',
+ 'A', '2', '2', '7', 'A',
+ 'A', '2', '6', '7', 'A',
+ 'A', '2', '8', '9', 'A',
+ 'A', '2', '9', '4', 'A',
+ 'A', '2', '9', '9', 'A',
+ 'A', '3', '0', '9', 'A',
+ 'A', '3', '0', '9', 'B',
+ 'A', '3', '0', '9', 'C',
+ 'A', '3', '1', '3', 'A',
+ 'A', '3', '1', '3', 'B',
+ 'A', '3', '1', '3', 'C',
+ 'A', '3', '2', '9', 'A',
+ 'A', '3', '3', '2', 'A',
+ 'A', '3', '3', '2', 'B',
+ 'A', '3', '3', '2', 'C',
+ 'A', '3', '3', '6', 'A',
+ 'A', '3', '3', '6', 'B',
+ 'A', '3', '3', '6', 'C',
+ 'A', '3', '5', '9', 'A',
+ 'A', '3', '6', '4', 'A',
+ 'A', '3', '6', '8', 'A',
+ 'A', '3', '7', '1', 'A',
+ 'A', '3', '8', '1', 'A',
+ 'A', '3', '8', '3', 'A',
+ 'A', '3', '8', '6', 'A',
+ 'A', '4', '1', '0', 'A',
+ 'A', '4', '5', '0', 'A',
+ 'A', '4', '5', '7', 'A',
+ 'A', 'A', '0', '0', '1',
+ 'A', 'A', '0', '0', '2',
+ 'A', 'A', '0', '0', '3',
+ 'A', 'A', '0', '0', '4',
+ 'A', 'A', '0', '0', '5',
+ 'A', 'A', '0', '0', '6',
+ 'A', 'A', '0', '0', '7',
+ 'A', 'A', '0', '0', '8',
+ 'A', 'A', '0', '0', '9',
+ 'A', 'A', '0', '1', '0',
+ 'A', 'A', '0', '1', '1',
+ 'A', 'A', '0', '1', '2',
+ 'A', 'A', '0', '1', '3',
+ 'A', 'A', '0', '1', '4',
+ 'A', 'A', '0', '1', '5',
+ 'A', 'A', '0', '1', '6',
+ 'A', 'A', '0', '1', '7',
+ 'A', 'A', '0', '1', '8',
+ 'A', 'A', '0', '1', '9',
+ 'A', 'A', '0', '2', '0',
+ 'A', 'A', '0', '2', '1',
+ 'A', 'A', '0', '2', '2',
+ 'A', 'A', '0', '2', '3',
+ 'A', 'A', '0', '2', '4',
+ 'A', 'A', '0', '2', '5',
+ 'A', 'A', '0', '2', '6',
+ 'A', 'A', '0', '2', '7',
+ 'A', 'A', '0', '2', '8',
+ 'A', 'A', '0', '2', '9',
+ 'A', 'A', '0', '3', '0',
+ 'A', 'A', '0', '3', '1',
+ 'A', 'A', '0', '3', '2',
+ 'A', 'A', 'Y', 'I', 'N',
+ 'A', 'B', '0', '0', '1',
+ 'A', 'B', '0', '0', '2',
+ 'A', 'B', '0', '0', '3',
+ 'A', 'B', '0', '0', '4',
+ 'A', 'B', '0', '0', '5',
+ 'A', 'B', '0', '0', '6',
+ 'A', 'B', '0', '0', '7',
+ 'A', 'B', '0', '0', '8',
+ 'A', 'B', '0', '0', '9',
+ 'A', 'B', '0', '1', '0',
+ 'A', 'B', '0', '1', '1',
+ 'A', 'B', '0', '1', '3',
+ 'A', 'B', '0', '1', '6',
+ 'A', 'B', '0', '1', '7',
+ 'A', 'B', '0', '2', '0',
+ 'A', 'B', '0', '2', '1',
+ 'A', 'B', '0', '2', '2',
+ 'A', 'B', '0', '2', '3',
+ 'A', 'B', '0', '2', '4',
+ 'A', 'B', '0', '2', '6',
+ 'A', 'B', '0', '2', '7',
+ 'A', 'B', '0', '2', '8',
+ 'A', 'B', '0', '2', '9',
+ 'A', 'B', '0', '3', '0',
+ 'A', 'B', '0', '3', '1',
+ 'A', 'B', '0', '3', '4',
+ 'A', 'B', '0', '3', '7',
+ 'A', 'B', '0', '3', '8',
+ 'A', 'B', '0', '3', '9',
+ 'A', 'B', '0', '4', '0',
+ 'A', 'B', '0', '4', '1',
+ 'A', 'B', '0', '4', '4',
+ 'A', 'B', '0', '4', '5',
+ 'A', 'B', '0', '4', '6',
+ 'A', 'B', '0', '4', '7',
+ 'A', 'B', '0', '4', '8',
+ 'A', 'B', '0', '4', '9',
+ 'A', 'B', '0', '5', '0',
+ 'A', 'B', '0', '5', '1',
+ 'A', 'B', '0', '5', '3',
+ 'A', 'B', '0', '5', '4',
+ 'A', 'B', '0', '5', '5',
+ 'A', 'B', '0', '5', '6',
+ 'A', 'B', '0', '5', '7',
+ 'A', 'B', '0', '5', '8',
+ 'A', 'B', '0', '5', '9',
+ 'A', 'B', '0', '6', '0',
+ 'A', 'B', '0', '6', '1',
+ 'A', 'B', '0', '6', '5',
+ 'A', 'B', '0', '6', '6',
+ 'A', 'B', '0', '6', '7',
+ 'A', 'B', '0', '6', '9',
+ 'A', 'B', '0', '7', '0',
+ 'A', 'B', '0', '7', '3',
+ 'A', 'B', '0', '7', '4',
+ 'A', 'B', '0', '7', '6',
+ 'A', 'B', '0', '7', '7',
+ 'A', 'B', '0', '7', '8',
+ 'A', 'B', '0', '7', '9',
+ 'A', 'B', '0', '8', '0',
+ 'A', 'B', '0', '8', '1',
+ 'A', 'B', '0', '8', '2',
+ 'A', 'B', '0', '8', '5',
+ 'A', 'B', '0', '8', '6',
+ 'A', 'B', '0', '8', '7',
+ 'A', 'B', '1', '1', '8',
+ 'A', 'B', '1', '2', '0',
+ 'A', 'B', '1', '2', '2',
+ 'A', 'B', '1', '2', '3',
+ 'A', 'B', '1', '6', '4',
+ 'A', 'B', '1', '7', '1',
+ 'A', 'B', '1', '8', '0',
+ 'A', 'B', '1', '8', '8',
+ 'A', 'B', '1', '9', '1',
'A', 'B', 'O', 'V', 'E',
'A', 'C', 'U', 'T', 'E',
'A', 'D', 'D', 'A', 'K',
+ 'A', 'F', 'F', 'I', 'X',
'A', 'F', 'T', 'E', 'R',
'A', 'G', 'A', 'I', 'N',
'A', 'G', 'O', 'G', 'I',
+ 'A', 'G', 'U', 'N', 'G',
+ 'A', 'H', 'A', 'N', 'G',
'A', 'H', 'S', 'D', 'A',
+ 'A', 'I', 'T', 'O', 'N',
'A', 'K', 'A', 'R', 'A',
'A', 'K', 'B', 'A', 'R',
'A', 'L', 'A', 'P', 'H',
+ 'A', 'L', 'A', 'R', 'M',
'A', 'L', 'E', 'P', 'H',
'A', 'L', 'E', 'U', 'T',
'A', 'L', 'G', 'I', 'Z',
+ 'A', 'L', 'I', 'E', 'N',
'A', 'L', 'I', 'F', 'U',
'A', 'L', 'L', 'A', 'H',
'A', 'L', 'P', 'H', 'A',
+ 'A', 'N', 'D', 'A', 'P',
+ 'A', 'N', 'G', 'E', 'D',
+ 'A', 'N', 'G', 'E', 'L',
+ 'A', 'N', 'G', 'E', 'R',
'A', 'N', 'G', 'L', 'E',
+ 'A', 'N', 'G', 'R', 'Y',
'A', 'N', 'P', 'E', 'A',
'A', 'N', 'S', 'H', 'E',
'A', 'N', 'S', 'U', 'Z',
'A', 'P', 'A', 'R', 'T',
'A', 'P', 'E', 'S', 'O',
+ 'A', 'P', 'P', 'L', 'E',
'A', 'P', 'R', 'I', 'L',
'A', 'R', 'A', 'E', 'A',
'A', 'R', 'E', 'P', 'A',
@@ -3226,9 +5723,13 @@ static const char unicode_name_words[39544] = {
'A', 'R', 'R', 'A', 'Y',
'A', 'R', 'R', 'O', 'W',
'A', 'S', 'A', 'L', '2',
+ 'A', 'S', 'H', 'E', 'S',
+ 'A', 'S', 'P', 'E', 'R',
+ 'A', 'T', 'I', 'Y', 'A',
'A', 'T', 'N', 'A', 'H',
'A', 'T', 'T', 'A', 'K',
'A', 'T', 'T', 'I', 'C',
+ 'B', '0', '0', '5', 'A',
'B', '1', '0', '5', 'F',
'B', '1', '0', '5', 'M',
'B', '1', '0', '6', 'F',
@@ -3239,33 +5740,49 @@ static const char unicode_name_words[39544] = {
'B', '1', '0', '8', 'M',
'B', '1', '0', '9', 'F',
'B', '1', '0', '9', 'M',
+ 'B', 'A', 'D', 'G', 'E',
'B', 'A', 'L', 'A', 'G',
+ 'B', 'A', 'M', 'U', 'M',
'B', 'A', 'R', 'A', '2',
'B', 'A', 'S', 'S', 'A',
+ 'B', 'A', 'T', 'A', 'K',
'B', 'B', 'I', 'E', 'P',
'B', 'B', 'I', 'E', 'T',
'B', 'B', 'I', 'E', 'X',
'B', 'B', 'U', 'O', 'P',
'B', 'B', 'U', 'O', 'X',
'B', 'B', 'U', 'R', 'X',
+ 'B', 'E', 'A', 'C', 'H',
+ 'B', 'E', 'A', 'D', 'S',
'B', 'E', 'E', 'T', 'A',
'B', 'E', 'G', 'I', 'N',
'B', 'E', 'H', 'E', 'H',
'B', 'E', 'I', 'T', 'H',
'B', 'E', 'L', 'O', 'W',
'B', 'E', 'N', 'D', 'E',
+ 'B', 'E', 'N', 'T', 'O',
'B', 'E', 'O', 'R', 'C',
'B', 'H', 'E', 'T', 'H',
'B', 'I', 'N', 'D', 'I',
+ 'B', 'I', 'N', 'D', 'U',
'B', 'I', 'R', 'G', 'A',
'B', 'I', 'S', 'A', 'H',
'B', 'L', 'A', 'C', 'K',
'B', 'L', 'A', 'D', 'E',
'B', 'L', 'A', 'N', 'K',
+ 'B', 'L', 'I', 'N', 'K',
'B', 'L', 'O', 'C', 'K',
+ 'B', 'L', 'O', 'N', 'D',
'B', 'L', 'O', 'O', 'D',
+ 'B', 'O', 'A', 'R', 'D',
+ 'B', 'O', 'O', 'K', 'S',
+ 'B', 'O', 'O', 'T', 'S',
+ 'B', 'O', 'R', 'A', 'X',
'B', 'R', 'A', 'C', 'E',
+ 'B', 'R', 'E', 'A', 'D',
'B', 'R', 'E', 'V', 'E',
+ 'B', 'R', 'I', 'C', 'K',
+ 'B', 'R', 'I', 'D', 'E',
'B', 'R', 'O', 'A', 'D',
'B', 'R', 'U', 'S', 'H',
'B', 'S', 'D', 'U', 'S',
@@ -3276,25 +5793,51 @@ static const char unicode_name_words[39544] = {
'B', 'U', 'L', 'L', 'S',
'B', 'U', 'L', 'U', 'G',
'B', 'U', 'M', 'P', 'Y',
+ 'B', 'U', 'N', 'N', 'Y',
+ 'B', 'U', 'S', 'T', 'S',
'B', 'Z', 'U', 'N', 'G',
+ 'C', '0', '0', '2', 'A',
+ 'C', '0', '0', '2', 'B',
+ 'C', '0', '0', '2', 'C',
+ 'C', '0', '1', '0', 'A',
+ 'C', 'A', 'A', 'N', 'G',
+ 'C', 'A', 'K', 'R', 'A',
'C', 'A', 'L', 'Y', 'A',
+ 'C', 'A', 'M', 'E', 'L',
+ 'C', 'A', 'N', 'D', 'Y',
+ 'C', 'A', 'P', 'U', 'T',
+ 'C', 'A', 'R', 'D', 'S',
'C', 'A', 'R', 'E', 'T',
'C', 'A', 'R', 'I', 'K',
'C', 'A', 'R', 'O', 'N',
'C', 'A', 'U', 'D', 'A',
'C', 'C', 'H', 'A', 'A',
'C', 'C', 'H', 'E', 'E',
+ 'C', 'C', 'H', 'H', 'A',
+ 'C', 'C', 'H', 'H', 'E',
+ 'C', 'C', 'H', 'H', 'I',
+ 'C', 'C', 'H', 'H', 'O',
+ 'C', 'C', 'H', 'H', 'U',
'C', 'E', 'A', 'L', 'C',
+ 'C', 'E', 'C', 'A', 'K',
'C', 'E', 'C', 'E', 'K',
'C', 'E', 'I', 'R', 'T',
+ 'C', 'E', 'R', 'E', 'K',
'C', 'E', 'R', 'E', 'S',
'C', 'H', 'A', 'D', 'A',
'C', 'H', 'A', 'I', 'R',
'C', 'H', 'A', 'N', 'G',
+ 'C', 'H', 'A', 'R', 'T',
'C', 'H', 'E', 'C', 'K',
+ 'C', 'H', 'E', 'E', 'K',
+ 'C', 'H', 'E', 'E', 'M',
+ 'C', 'H', 'E', 'R', 'Y',
'C', 'H', 'E', 'S', 'S',
+ 'C', 'H', 'E', 'S', 'T',
+ 'C', 'H', 'I', 'C', 'K',
'C', 'H', 'I', 'K', 'I',
'C', 'H', 'I', 'L', 'D',
+ 'C', 'H', 'I', 'M', 'E',
'C', 'H', 'I', 'N', 'G',
'C', 'H', 'O', 'K', 'E',
'C', 'H', 'R', 'O', 'A',
@@ -3305,38 +5848,74 @@ static const char unicode_name_words[39544] = {
'C', 'H', 'U', 'R', 'X',
'C', 'H', 'Y', 'R', 'X',
'C', 'I', 'E', 'U', 'C',
+ 'C', 'L', 'A', 'I', 'M',
'C', 'L', 'E', 'A', 'R',
'C', 'L', 'I', 'C', 'K',
'C', 'L', 'I', 'F', 'F',
+ 'C', 'L', 'O', 'C', 'K',
'C', 'L', 'O', 'S', 'E',
'C', 'L', 'O', 'T', 'H',
'C', 'L', 'O', 'U', 'D',
+ 'C', 'L', 'U', 'B', 'S',
'C', 'O', 'E', 'N', 'G',
'C', 'O', 'L', 'O', 'N',
'C', 'O', 'L', 'O', 'R',
'C', 'O', 'M', 'E', 'T',
'C', 'O', 'M', 'M', 'A',
+ 'C', 'O', 'U', 'C', 'H',
'C', 'O', 'V', 'E', 'R',
+ 'C', 'R', 'E', 'A', 'M',
'C', 'R', 'O', 'I', 'X',
'C', 'R', 'O', 'S', 'S',
+ 'C', 'R', 'O', 'W', 'N',
'C', 'U', 'B', 'E', 'D',
'C', 'U', 'R', 'L', 'Y',
+ 'C', 'U', 'R', 'R', 'Y',
'C', 'U', 'R', 'V', 'E',
+ 'D', '0', '0', '8', 'A',
+ 'D', '0', '2', '7', 'A',
+ 'D', '0', '3', '1', 'A',
+ 'D', '0', '3', '4', 'A',
+ 'D', '0', '4', '6', 'A',
+ 'D', '0', '4', '8', 'A',
+ 'D', '0', '5', '0', 'A',
+ 'D', '0', '5', '0', 'B',
+ 'D', '0', '5', '0', 'C',
+ 'D', '0', '5', '0', 'D',
+ 'D', '0', '5', '0', 'E',
+ 'D', '0', '5', '0', 'F',
+ 'D', '0', '5', '0', 'G',
+ 'D', '0', '5', '0', 'H',
+ 'D', '0', '5', '0', 'I',
+ 'D', '0', '5', '2', 'A',
+ 'D', '0', '5', '4', 'A',
+ 'D', '0', '6', '7', 'A',
+ 'D', '0', '6', '7', 'B',
+ 'D', '0', '6', '7', 'C',
+ 'D', '0', '6', '7', 'D',
+ 'D', '0', '6', '7', 'E',
+ 'D', '0', '6', '7', 'F',
+ 'D', '0', '6', '7', 'G',
+ 'D', '0', '6', '7', 'H',
'D', 'A', 'A', 'S', 'U',
'D', 'A', 'E', 'N', 'G',
'D', 'A', 'G', 'A', 'Z',
'D', 'A', 'H', 'A', 'L',
'D', 'A', 'I', 'N', 'G',
+ 'D', 'A', 'L', 'A', 'T',
'D', 'A', 'L', 'D', 'A',
'D', 'A', 'L', 'E', 'T',
'D', 'A', 'M', 'M', 'A',
'D', 'A', 'N', 'D', 'A',
+ 'D', 'A', 'N', 'G', 'O',
'D', 'A', 'R', 'A', '3',
'D', 'A', 'R', 'A', '4',
'D', 'A', 'R', 'G', 'A',
'D', 'A', 'S', 'I', 'A',
'D', 'A', 'V', 'I', 'D',
'D', 'D', 'D', 'H', 'A',
+ 'D', 'D', 'H', 'A', 'A',
+ 'D', 'D', 'H', 'E', 'E',
'D', 'D', 'I', 'E', 'P',
'D', 'D', 'I', 'E', 'X',
'D', 'D', 'U', 'O', 'P',
@@ -3345,6 +5924,7 @@ static const char unicode_name_words[39544] = {
'D', 'E', 'A', 'T', 'H',
'D', 'E', 'B', 'I', 'T',
'D', 'E', 'L', 'T', 'A',
+ 'D', 'E', 'P', 'T', 'H',
'D', 'E', 'R', 'E', 'T',
'D', 'E', 'U', 'N', 'G',
'D', 'E', 'X', 'I', 'A',
@@ -3354,15 +5934,32 @@ static const char unicode_name_words[39544] = {
'D', 'I', 'G', 'I', 'T',
'D', 'I', 'P', 'L', 'I',
'D', 'I', 'P', 'T', 'E',
+ 'D', 'I', 'R', 'G', 'A',
'D', 'I', 'T', 'T', 'O',
+ 'D', 'I', 'Z', 'Z', 'Y',
'D', 'J', 'E', 'R', 'V',
+ 'D', 'L', 'H', 'Y', 'A',
'D', 'O', 'B', 'R', 'O',
+ 'D', 'O', 'L', 'L', 'S',
'D', 'O', 'O', 'N', 'G',
'D', 'O', 'U', 'B', 'T',
+ 'D', 'R', 'E', 'S', 'S',
+ 'D', 'R', 'I', 'N', 'K',
'D', 'R', 'I', 'V', 'E',
'D', 'R', 'O', 'P', 'S',
'D', 'U', 'G', 'U', 'D',
'D', 'Z', 'E', 'L', 'O',
+ 'D', 'Z', 'H', 'O', 'I',
+ 'D', 'Z', 'I', 'T', 'A',
+ 'D', 'Z', 'Y', 'A', 'Y',
+ 'D', 'Z', 'Z', 'H', 'E',
+ 'E', '0', '0', '8', 'A',
+ 'E', '0', '0', '9', 'A',
+ 'E', '0', '1', '6', 'A',
+ 'E', '0', '1', '7', 'A',
+ 'E', '0', '2', '0', 'A',
+ 'E', '0', '2', '8', 'A',
+ 'E', '0', '3', '4', 'A',
'E', 'A', 'G', 'L', 'E',
'E', 'A', 'R', 'L', 'Y',
'E', 'A', 'R', 'T', 'H',
@@ -3372,11 +5969,15 @@ static const char unicode_name_words[39544] = {
'E', 'J', 'E', 'C', 'T',
'E', 'K', 'A', 'R', 'A',
'E', 'L', 'I', 'F', 'I',
+ 'E', 'M', 'O', 'J', 'I',
'E', 'M', 'P', 'T', 'Y',
'E', 'N', 'D', 'E', 'P',
'E', 'N', 'T', 'E', 'R',
+ 'E', 'N', 'T', 'R', 'Y',
'E', 'O', '-', 'E', 'U',
'E', 'O', 'L', 'H', 'X',
+ 'E', 'P', 'A', 'C', 'T',
+ 'E', 'P', 'O', 'C', 'H',
'E', 'Q', 'U', 'A', 'L',
'E', 'Q', 'U', 'I', 'D',
'E', 'R', 'A', 'S', 'E',
@@ -3387,9 +5988,24 @@ static const char unicode_name_words[39544] = {
'E', 'S', 'H', '2', '1',
'E', 'S', 'H', 'E', '3',
'E', 'T', 'H', 'E', 'L',
+ 'E', 'U', '-', 'E', 'O',
'E', 'U', '-', 'E', 'U',
'E', 'U', 'L', 'E', 'R',
+ 'E', 'V', 'E', 'R', 'Y',
'E', 'X', 'I', 'S', 'T',
+ 'E', 'X', 'T', 'R', 'A',
+ 'F', '0', '0', '1', 'A',
+ 'F', '0', '1', '3', 'A',
+ 'F', '0', '2', '1', 'A',
+ 'F', '0', '3', '1', 'A',
+ 'F', '0', '3', '7', 'A',
+ 'F', '0', '3', '8', 'A',
+ 'F', '0', '4', '5', 'A',
+ 'F', '0', '4', '6', 'A',
+ 'F', '0', '4', '7', 'A',
+ 'F', '0', '5', '1', 'A',
+ 'F', '0', '5', '1', 'B',
+ 'F', '0', '5', '1', 'C',
'F', 'A', 'A', 'F', 'U',
'F', 'A', 'I', 'H', 'U',
'F', 'A', 'R', 'S', 'I',
@@ -3397,14 +6013,19 @@ static const char unicode_name_words[39544] = {
'F', 'E', 'A', 'R', 'N',
'F', 'E', 'E', 'N', 'G',
'F', 'E', 'N', 'C', 'E',
+ 'F', 'E', 'R', 'R', 'Y',
'F', 'I', 'E', 'L', 'D',
'F', 'I', 'F', 'T', 'H',
'F', 'I', 'F', 'T', 'Y',
'F', 'I', 'G', 'H', 'T',
'F', 'I', 'N', 'A', 'L',
'F', 'I', 'R', 'S', 'T',
+ 'F', 'L', 'A', 'G', 'S',
+ 'F', 'L', 'A', 'S', 'H',
+ 'F', 'L', 'I', 'C', 'K',
'F', 'L', 'O', 'O', 'R',
'F', 'L', 'U', 'T', 'E',
+ 'F', 'O', 'G', 'G', 'Y',
'F', 'O', 'L', 'L', 'Y',
'F', 'O', 'R', 'C', 'E',
'F', 'O', 'R', 'M', 'S',
@@ -3412,16 +6033,34 @@ static const char unicode_name_words[39544] = {
'F', 'O', 'R', 'T', 'Y',
'F', 'R', 'A', 'M', 'E',
'F', 'R', 'A', 'N', 'C',
+ 'F', 'R', 'I', 'E', 'D',
+ 'F', 'R', 'I', 'E', 'S',
'F', 'R', 'I', 'T', 'U',
+ 'F', 'R', 'O', 'N', 'T',
'F', 'R', 'O', 'W', 'N',
+ 'G', '0', '0', '6', 'A',
+ 'G', '0', '0', '7', 'A',
+ 'G', '0', '0', '7', 'B',
+ 'G', '0', '1', '1', 'A',
+ 'G', '0', '2', '0', 'A',
+ 'G', '0', '2', '6', 'A',
+ 'G', '0', '3', '6', 'A',
+ 'G', '0', '3', '7', 'A',
+ 'G', '0', '4', '3', 'A',
+ 'G', '0', '4', '5', 'A',
'G', 'A', 'A', 'F', 'U',
'G', 'A', 'D', 'O', 'L',
'G', 'A', 'L', 'A', 'M',
'G', 'A', 'M', 'A', 'L',
+ 'G', 'A', 'M', 'A', 'N',
'G', 'A', 'M', 'L', 'A',
'G', 'A', 'M', 'M', 'A',
+ 'G', 'A', 'N', 'D', 'A',
'G', 'A', 'N', 'M', 'A',
'G', 'A', 'R', 'O', 'N',
+ 'G', 'B', 'A', 'Y', 'I',
+ 'G', 'B', 'E', 'U', 'X',
+ 'G', 'B', 'I', 'E', 'E',
'G', 'E', 'S', 'H', '2',
'G', 'E', 'S', 'H', 'U',
'G', 'G', 'I', 'E', 'P',
@@ -3433,29 +6072,42 @@ static const char unicode_name_words[39544] = {
'G', 'G', 'W', 'A', 'A',
'G', 'G', 'W', 'E', 'E',
'G', 'H', 'A', 'I', 'N',
+ 'G', 'H', 'A', 'Y', 'N',
+ 'G', 'H', 'E', 'U', 'N',
+ 'G', 'H', 'E', 'U', 'X',
+ 'G', 'H', 'E', 'Y', 'S',
'G', 'H', 'O', 'S', 'T',
'G', 'I', 'D', 'I', 'M',
'G', 'I', 'M', 'E', 'L',
'G', 'I', 'N', 'I', 'I',
+ 'G', 'I', 'R', 'L', 'S',
'G', 'I', 'S', 'A', 'L',
+ 'G', 'L', 'A', 'S', 'S',
+ 'G', 'L', 'O', 'B', 'E',
'G', 'N', 'Y', 'I', 'S',
'G', 'O', 'I', 'N', 'G',
'G', 'O', 'R', 'G', 'I',
'G', 'R', 'A', 'C', 'E',
'G', 'R', 'A', 'I', 'N',
+ 'G', 'R', 'A', 'S', 'P',
'G', 'R', 'A', 'S', 'S',
'G', 'R', 'A', 'V', 'E',
'G', 'R', 'E', 'A', 'T',
'G', 'R', 'E', 'E', 'K',
'G', 'R', 'E', 'E', 'N',
'G', 'R', 'O', 'U', 'P',
+ 'G', 'U', 'A', 'R', 'D',
'G', 'U', 'R', 'U', 'N',
+ 'G', 'V', 'A', 'N', 'G',
+ 'H', '0', '0', '6', 'A',
'H', 'A', '-', 'H', 'A',
'H', 'A', 'A', 'R', 'U',
'H', 'A', 'E', 'G', 'L',
'H', 'A', 'I', 'T', 'U',
+ 'H', 'A', 'L', 'Q', 'A',
'H', 'A', 'M', 'Z', 'A',
'H', 'A', 'N', 'D', 'S',
+ 'H', 'A', 'P', 'P', 'Y',
'H', 'A', 'S', 'E', 'R',
'H', 'A', 'T', 'A', 'F',
'H', 'A', 'T', 'H', 'I',
@@ -3464,6 +6116,7 @@ static const char unicode_name_words[39544] = {
'H', 'E', 'A', 'V', 'Y',
'H', 'I', 'D', 'E', 'T',
'H', 'I', 'E', 'U', 'H',
+ 'H', 'I', 'N', 'G', 'E',
'H', 'I', 'R', 'I', 'Q',
'H', 'L', 'I', 'E', 'P',
'H', 'L', 'I', 'E', 'X',
@@ -3473,6 +6126,7 @@ static const char unicode_name_words[39544] = {
'H', 'L', 'Y', 'R', 'X',
'H', 'M', 'I', 'E', 'P',
'H', 'M', 'I', 'E', 'X',
+ 'H', 'M', 'O', 'N', 'G',
'H', 'M', 'U', 'O', 'P',
'H', 'M', 'U', 'O', 'X',
'H', 'M', 'U', 'R', 'X',
@@ -3481,9 +6135,13 @@ static const char unicode_name_words[39544] = {
'H', 'N', 'I', 'E', 'T',
'H', 'N', 'I', 'E', 'X',
'H', 'N', 'U', 'O', 'X',
+ 'H', 'O', 'C', 'H', 'O',
'H', 'O', 'L', 'A', 'M',
+ 'H', 'O', 'N', 'E', 'Y',
'H', 'O', 'O', 'R', 'U',
+ 'H', 'O', 'R', 'N', 'S',
'H', 'O', 'R', 'S', 'E',
+ 'H', 'O', 'T', 'E', 'L',
'H', 'O', 'U', 'S', 'E',
'H', 'U', 'M', 'A', 'N',
'H', 'U', 'R', 'A', 'N',
@@ -3495,6 +6153,13 @@ static const char unicode_name_words[39544] = {
'H', 'X', 'U', 'O', 'T',
'H', 'X', 'U', 'O', 'X',
'H', 'Z', 'Z', 'Z', 'G',
+ 'I', '-', 'O', '-', 'I',
+ 'I', '-', 'Y', 'A', 'E',
+ 'I', '-', 'Y', 'E', 'O',
+ 'I', '0', '0', '5', 'A',
+ 'I', '0', '0', '9', 'A',
+ 'I', '0', '1', '0', 'A',
+ 'I', '0', '1', '1', 'A',
'I', 'A', 'U', 'D', 'A',
'I', 'C', 'H', 'O', 'S',
'I', 'C', 'H', 'O', 'U',
@@ -3503,8 +6168,15 @@ static const char unicode_name_words[39544] = {
'I', 'K', 'A', 'R', 'A',
'I', 'M', 'A', 'G', 'E',
'I', 'M', 'I', 'N', '3',
+ 'I', 'N', 'B', 'O', 'X',
'I', 'N', 'D', 'E', 'X',
+ 'I', 'N', 'D', 'I', 'C',
'I', 'N', 'N', 'E', 'R',
+ 'I', 'N', 'P', 'U', 'T',
+ 'J', 'A', 'C', 'K', 'S',
+ 'J', 'A', 'P', 'A', 'N',
+ 'J', 'A', 'Y', 'I', 'N',
+ 'J', 'E', 'A', 'N', 'S',
'J', 'E', 'R', 'A', 'N',
'J', 'J', 'I', 'E', 'P',
'J', 'J', 'I', 'E', 'T',
@@ -3514,76 +6186,154 @@ static const char unicode_name_words[39544] = {
'J', 'J', 'U', 'R', 'X',
'J', 'O', 'K', 'E', 'R',
'J', 'U', 'D', 'G', 'E',
+ 'J', 'U', 'D', 'U', 'L',
'J', 'U', 'E', 'U', 'I',
+ 'K', 'A', 'A', 'B', 'A',
'K', 'A', 'A', 'F', 'U',
'K', 'A', 'I', 'R', 'I',
'K', 'A', 'P', 'A', 'L',
'K', 'A', 'P', 'P', 'A',
+ 'K', 'A', 'R', 'A', 'N',
'K', 'A', 'R', 'E', 'N',
'K', 'A', 'S', 'R', 'A',
'K', 'A', 'U', 'N', 'A',
'K', 'A', 'Y', 'A', 'H',
+ 'K', 'E', 'A', 'A', 'E',
'K', 'E', 'E', 'N', 'G',
'K', 'E', 'E', 'S', 'U',
'K', 'E', 'H', 'E', 'H',
'K', 'E', 'N', 'A', 'T',
+ 'K', 'E', 'R', 'E', 'T',
'K', 'E', 'S', 'H', '2',
'K', 'E', 'T', 'T', 'I',
+ 'K', 'E', 'U', 'A', 'E',
+ 'K', 'E', 'U', 'O', 'T',
'K', 'H', 'A', 'N', 'G',
'K', 'H', 'A', 'P', 'H',
+ 'K', 'H', 'E', 'T', 'H',
'K', 'H', 'M', 'E', 'R',
'K', 'H', 'U', 'A', 'T',
+ 'K', 'H', 'U', 'E', 'N',
'K', 'H', 'W', 'A', 'I',
+ 'K', 'I', 'E', 'E', 'M',
'K', 'I', 'S', 'A', 'L',
'K', 'N', 'I', 'F', 'E',
+ 'K', 'N', 'O', 'B', 'S',
+ 'K', 'O', 'A', 'L', 'A',
'K', 'O', 'M', 'B', 'U',
'K', 'O', 'O', 'P', 'O',
'K', 'O', 'P', 'P', 'A',
+ 'K', 'O', 'V', 'U', 'U',
+ 'K', 'P', 'E', 'U', 'X',
'K', 'U', 'S', 'M', 'A',
+ 'K', 'W', 'A', 'E', 'T',
'K', 'X', 'W', 'A', 'A',
'K', 'X', 'W', 'E', 'E',
+ 'L', '0', '0', '2', 'A',
+ 'L', '0', '0', '6', 'A',
'L', 'A', 'A', 'M', 'U',
+ 'L', 'A', 'B', 'A', 'T',
+ 'L', 'A', 'B', 'E', 'L',
'L', 'A', 'B', 'O', 'R',
'L', 'A', 'G', 'A', 'B',
'L', 'A', 'G', 'A', 'R',
'L', 'A', 'G', 'U', 'S',
+ 'L', 'A', 'I', 'N', 'G',
'L', 'A', 'M', 'D', 'A',
'L', 'A', 'M', 'E', 'D',
+ 'L', 'A', 'N', 'E', 'S',
+ 'L', 'A', 'P', 'A', 'Q',
'L', 'A', 'R', 'G', 'E',
'L', 'A', 'T', 'I', 'K',
'L', 'A', 'T', 'I', 'N',
'L', 'A', 'U', 'L', 'A',
+ 'L', 'A', 'Y', 'A', 'R',
+ 'L', 'E', 'E', 'E', 'E',
+ 'L', 'E', 'L', 'E', 'T',
'L', 'E', 'M', 'O', 'I',
+ 'L', 'E', 'M', 'O', 'N',
'L', 'E', 'N', 'G', 'A',
+ 'L', 'E', 'N', 'I', 'S',
'L', 'E', 'V', 'E', 'L',
'L', 'I', 'B', 'R', 'A',
'L', 'I', 'G', 'H', 'T',
+ 'L', 'I', 'M', 'B', 'S',
'L', 'I', 'M', 'B', 'U',
'L', 'I', 'M', 'I', 'T',
'L', 'I', 'M', 'M', 'U',
'L', 'I', 'N', 'E', 'S',
'L', 'I', 'T', 'R', 'A',
+ 'L', 'I', 'V', 'R', 'E',
'L', 'O', 'N', 'G', 'A',
+ 'L', 'O', 'R', 'R', 'Y',
'L', 'O', 'T', 'U', 'S',
'L', 'O', 'U', 'R', 'E',
'L', 'O', 'W', '-', '9',
'L', 'O', 'W', 'E', 'R',
+ 'L', 'U', 'A', 'E', 'P',
'L', 'U', 'G', 'A', 'L',
+ 'L', 'U', 'H', 'U', 'R',
+ 'M', '0', '0', '1', 'A',
+ 'M', '0', '0', '1', 'B',
+ 'M', '0', '0', '3', 'A',
+ 'M', '0', '1', '0', 'A',
+ 'M', '0', '1', '2', 'A',
+ 'M', '0', '1', '2', 'B',
+ 'M', '0', '1', '2', 'C',
+ 'M', '0', '1', '2', 'D',
+ 'M', '0', '1', '2', 'E',
+ 'M', '0', '1', '2', 'F',
+ 'M', '0', '1', '2', 'G',
+ 'M', '0', '1', '2', 'H',
+ 'M', '0', '1', '5', 'A',
+ 'M', '0', '1', '6', 'A',
+ 'M', '0', '1', '7', 'A',
+ 'M', '0', '2', '2', 'A',
+ 'M', '0', '2', '4', 'A',
+ 'M', '0', '2', '8', 'A',
+ 'M', '0', '3', '1', 'A',
+ 'M', '0', '3', '3', 'A',
+ 'M', '0', '3', '3', 'B',
+ 'M', '0', '4', '0', 'A',
'M', 'A', 'D', 'D', 'A',
+ 'M', 'A', 'D', 'Y', 'A',
+ 'M', 'A', 'E', 'S', 'I',
'M', 'A', 'H', 'H', 'A',
'M', 'A', 'I', 'R', 'U',
+ 'M', 'A', 'I', 'Z', 'E',
+ 'M', 'A', 'N', 'A', 'T',
'M', 'A', 'N', 'N', 'A',
'M', 'A', 'P', 'I', 'Q',
+ 'M', 'A', 'P', 'L', 'E',
'M', 'A', 'Q', 'A', 'F',
'M', 'A', 'R', 'C', 'H',
+ 'M', 'A', 'R', 'K', 'S',
'M', 'A', 'S', 'H', '2',
+ 'M', 'A', 'Y', 'E', 'K',
+ 'M', 'B', 'E', 'U', 'M',
+ 'M', 'B', 'E', 'U', 'X',
+ 'M', 'B', 'U', 'A', 'E',
+ 'M', 'B', 'U', 'O', 'Q',
+ 'M', 'C', 'H', 'A', 'N',
+ 'M', 'E', 'D', 'A', 'L',
+ 'M', 'E', 'E', 'E', 'E',
'M', 'E', 'E', 'M', 'U',
'M', 'E', 'I', 'Z', 'I',
+ 'M', 'E', 'L', 'I', 'K',
'M', 'E', 'L', 'O', 'N',
+ 'M', 'E', 'N', 'D', 'E',
+ 'M', 'E', 'N', 'O', 'E',
+ 'M', 'E', 'R', 'G', 'E',
'M', 'E', 'T', 'A', 'L',
'M', 'E', 'T', 'E', 'G',
+ 'M', 'E', 'T', 'E', 'K',
+ 'M', 'E', 'T', 'R', 'O',
'M', 'E', 'Z', 'Z', 'O',
+ 'M', 'F', 'E', 'U', 'Q',
+ 'M', 'F', 'E', 'U', 'T',
+ 'M', 'F', 'I', 'E', 'E',
'M', 'G', 'B', 'E', 'E',
+ 'M', 'G', 'B', 'E', 'N',
'M', 'G', 'B', 'O', 'O',
'M', 'G', 'I', 'E', 'X',
'M', 'G', 'U', 'O', 'P',
@@ -3592,52 +6342,120 @@ static const char unicode_name_words[39544] = {
'M', 'I', 'C', 'R', 'O',
'M', 'I', 'E', 'U', 'M',
'M', 'I', 'K', 'R', 'I',
+ 'M', 'I', 'L', 'K', 'Y',
'M', 'I', 'L', 'L', 'E',
'M', 'I', 'N', 'U', 'S',
'M', 'I', 'R', 'E', 'D',
'M', 'I', 'S', 'R', 'A',
'M', 'N', 'Y', 'A', 'M',
'M', 'O', 'D', 'E', 'L',
+ 'M', 'O', 'D', 'E', 'M',
+ 'M', 'O', 'N', 'E', 'Y',
'M', 'O', 'N', 'T', 'H',
+ 'M', 'O', 'T', 'O', 'R',
'M', 'O', 'U', 'N', 'D',
+ 'M', 'O', 'U', 'N', 'T',
+ 'M', 'O', 'U', 'S', 'E',
'M', 'O', 'U', 'T', 'H',
'M', 'O', 'V', 'E', 'D',
+ 'M', 'O', 'V', 'E', 'S',
+ 'M', 'O', 'V', 'I', 'E',
+ 'M', 'O', 'Y', 'A', 'I',
+ 'M', 'U', 'K', 'H', 'A',
'M', 'U', 'L', 'T', 'I',
'M', 'U', 'N', 'A', 'H',
'M', 'U', 'R', 'D', 'A',
'M', 'U', 'S', 'H', '3',
'M', 'U', 'S', 'I', 'C',
'N', '-', 'A', 'R', 'Y',
+ 'N', '0', '1', '8', 'A',
+ 'N', '0', '1', '8', 'B',
+ 'N', '0', '2', '5', 'A',
+ 'N', '0', '3', '3', 'A',
+ 'N', '0', '3', '4', 'A',
+ 'N', '0', '3', '5', 'A',
+ 'N', '0', '3', '7', 'A',
'N', 'A', 'B', 'L', 'A',
'N', 'A', 'G', 'A', 'R',
'N', 'A', 'G', 'R', 'I',
'N', 'A', 'I', 'R', 'A',
+ 'N', 'A', 'S', 'A', 'L',
'N', 'A', 'S', 'H', 'I',
'N', 'B', 'I', 'E', 'P',
'N', 'B', 'I', 'E', 'X',
'N', 'B', 'U', 'R', 'X',
'N', 'B', 'Y', 'R', 'X',
+ 'N', 'C', 'H', 'A', 'U',
+ 'N', 'D', 'E', 'U', 'T',
+ 'N', 'D', 'E', 'U', 'X',
+ 'N', 'D', 'I', 'A', 'Q',
+ 'N', 'D', 'I', 'D', 'A',
'N', 'D', 'I', 'E', 'X',
'N', 'D', 'O', 'L', 'E',
'N', 'D', 'U', 'R', 'X',
+ 'N', 'E', 'N', 'O', 'E',
'N', 'G', 'A', 'A', 'I',
+ 'N', 'G', 'G', 'A', 'A',
+ 'N', 'G', 'G', 'A', 'P',
'N', 'G', 'G', 'E', 'E',
'N', 'G', 'G', 'E', 'N',
+ 'N', 'G', 'G', 'E', 'U',
'N', 'G', 'G', 'O', 'O',
+ 'N', 'G', 'G', 'U', 'A',
+ 'N', 'G', 'G', 'U', 'M',
+ 'N', 'G', 'G', 'U', 'P',
'N', 'G', 'I', 'E', 'P',
'N', 'G', 'I', 'E', 'X',
+ 'N', 'G', 'K', 'A', 'P',
+ 'N', 'G', 'K', 'A', 'Q',
+ 'N', 'G', 'K', 'U', 'E',
+ 'N', 'G', 'K', 'U', 'M',
+ 'N', 'G', 'K', 'U', 'N',
+ 'N', 'G', 'K', 'U', 'P',
'N', 'G', 'O', 'E', 'H',
+ 'N', 'G', 'U', 'A', 'E',
+ 'N', 'G', 'U', 'A', 'N',
'N', 'G', 'U', 'O', 'T',
'N', 'G', 'U', 'O', 'X',
'N', 'I', 'E', 'U', 'N',
'N', 'I', 'G', 'H', 'T',
+ 'N', 'I', 'N', 'T', 'H',
'N', 'I', 'S', 'A', 'G',
+ 'N', 'I', 'T', 'R', 'E',
+ 'N', 'J', 'A', 'E', 'M',
+ 'N', 'J', 'E', 'U', 'T',
+ 'N', 'J', 'E', 'U', 'X',
+ 'N', 'J', 'I', 'E', 'E',
'N', 'J', 'I', 'E', 'P',
'N', 'J', 'I', 'E', 'T',
'N', 'J', 'I', 'E', 'X',
+ 'N', 'J', 'U', 'A', 'E',
+ 'N', 'J', 'U', 'E', 'Q',
'N', 'J', 'U', 'O', 'X',
+ 'N', 'J', 'U', 'Q', 'A',
'N', 'J', 'U', 'R', 'X',
'N', 'J', 'Y', 'R', 'X',
+ 'N', 'L', '0', '0', '1',
+ 'N', 'L', '0', '0', '2',
+ 'N', 'L', '0', '0', '3',
+ 'N', 'L', '0', '0', '4',
+ 'N', 'L', '0', '0', '5',
+ 'N', 'L', '0', '0', '6',
+ 'N', 'L', '0', '0', '7',
+ 'N', 'L', '0', '0', '8',
+ 'N', 'L', '0', '0', '9',
+ 'N', 'L', '0', '1', '0',
+ 'N', 'L', '0', '1', '1',
+ 'N', 'L', '0', '1', '2',
+ 'N', 'L', '0', '1', '3',
+ 'N', 'L', '0', '1', '4',
+ 'N', 'L', '0', '1', '5',
+ 'N', 'L', '0', '1', '6',
+ 'N', 'L', '0', '1', '7',
+ 'N', 'L', '0', '1', '8',
+ 'N', 'L', '0', '1', '9',
+ 'N', 'L', '0', '2', '0',
+ 'N', 'N', 'B', 'S', 'P',
'N', 'N', 'G', 'A', 'A',
'N', 'N', 'G', 'I', 'I',
'N', 'N', 'G', 'O', 'O',
@@ -3648,6 +6466,40 @@ static const char unicode_name_words[39544] = {
'N', 'O', 'T', 'T', 'O',
'N', 'R', 'U', 'R', 'X',
'N', 'R', 'Y', 'R', 'X',
+ 'N', 'S', 'H', 'A', 'Q',
+ 'N', 'S', 'H', 'E', 'E',
+ 'N', 'S', 'H', 'U', 'E',
+ 'N', 'S', 'H', 'U', 'T',
+ 'N', 'S', 'I', 'E', 'E',
+ 'N', 'S', 'U', 'O', 'T',
+ 'N', 'T', 'E', 'U', 'M',
+ 'N', 'T', 'H', 'A', 'U',
+ 'N', 'T', 'I', 'E', 'E',
+ 'N', 'T', 'S', 'A', 'U',
+ 'N', 'T', 'X', 'I', 'V',
+ 'N', 'U', '0', '0', '1',
+ 'N', 'U', '0', '0', '2',
+ 'N', 'U', '0', '0', '3',
+ 'N', 'U', '0', '0', '4',
+ 'N', 'U', '0', '0', '5',
+ 'N', 'U', '0', '0', '6',
+ 'N', 'U', '0', '0', '7',
+ 'N', 'U', '0', '0', '8',
+ 'N', 'U', '0', '0', '9',
+ 'N', 'U', '0', '1', '0',
+ 'N', 'U', '0', '1', '1',
+ 'N', 'U', '0', '1', '2',
+ 'N', 'U', '0', '1', '3',
+ 'N', 'U', '0', '1', '4',
+ 'N', 'U', '0', '1', '5',
+ 'N', 'U', '0', '1', '6',
+ 'N', 'U', '0', '1', '7',
+ 'N', 'U', '0', '1', '8',
+ 'N', 'U', '0', '1', '9',
+ 'N', 'U', '0', '2', '0',
+ 'N', 'U', '0', '2', '1',
+ 'N', 'U', '0', '2', '2',
+ 'N', 'U', 'E', 'N', 'G',
'N', 'U', 'K', 'T', 'A',
'N', 'U', 'N', 'U', 'Z',
'N', 'Y', 'I', 'E', 'P',
@@ -3655,33 +6507,74 @@ static const char unicode_name_words[39544] = {
'N', 'Y', 'I', 'E', 'X',
'N', 'Y', 'U', 'O', 'P',
'N', 'Y', 'U', 'O', 'X',
+ 'N', 'Z', 'E', 'U', 'M',
'N', 'Z', 'I', 'E', 'P',
'N', 'Z', 'I', 'E', 'X',
'N', 'Z', 'U', 'O', 'X',
'N', 'Z', 'U', 'R', 'X',
'N', 'Z', 'Y', 'R', 'X',
+ 'O', '-', 'O', '-', 'I',
+ 'O', '-', 'Y', 'A', 'E',
+ 'O', '-', 'Y', 'E', 'O',
+ 'O', '0', '0', '1', 'A',
+ 'O', '0', '0', '5', 'A',
+ 'O', '0', '0', '6', 'A',
+ 'O', '0', '0', '6', 'B',
+ 'O', '0', '0', '6', 'C',
+ 'O', '0', '0', '6', 'D',
+ 'O', '0', '0', '6', 'E',
+ 'O', '0', '0', '6', 'F',
+ 'O', '0', '1', '0', 'A',
+ 'O', '0', '1', '0', 'B',
+ 'O', '0', '1', '0', 'C',
+ 'O', '0', '1', '9', 'A',
+ 'O', '0', '2', '0', 'A',
+ 'O', '0', '2', '4', 'A',
+ 'O', '0', '2', '5', 'A',
+ 'O', '0', '2', '9', 'A',
+ 'O', '0', '3', '0', 'A',
+ 'O', '0', '3', '3', 'A',
+ 'O', '0', '3', '6', 'A',
+ 'O', '0', '3', '6', 'B',
+ 'O', '0', '3', '6', 'C',
+ 'O', '0', '3', '6', 'D',
+ 'O', '0', '5', '0', 'A',
+ 'O', '0', '5', '0', 'B',
'O', 'B', 'O', 'L', 'S',
'O', 'G', 'H', 'A', 'M',
'O', 'J', 'E', 'O', 'N',
'O', 'K', 'A', 'R', 'A',
+ 'O', 'L', 'D', 'E', 'R',
'O', 'L', 'I', 'V', 'E',
'O', 'M', 'E', 'G', 'A',
'O', 'N', 'K', 'A', 'R',
+ 'O', 'R', 'D', 'E', 'R',
+ 'O', 'R', 'E', '-', '2',
'O', 'R', 'I', 'Y', 'A',
'O', 'T', 'H', 'A', 'L',
+ 'O', 'T', 'H', 'E', 'R',
'O', 'U', 'N', 'C', 'E',
'O', 'U', 'T', 'E', 'R',
'O', 'X', 'E', 'I', 'A',
+ 'P', '0', '0', '1', 'A',
+ 'P', '0', '0', '3', 'A',
'P', 'A', 'A', 'T', 'U',
'P', 'A', 'D', 'M', 'A',
+ 'P', 'A', 'G', 'E', 'R',
+ 'P', 'A', 'G', 'E', 'S',
+ 'P', 'A', 'N', 'D', 'A',
'P', 'A', 'N', 'T', 'I',
'P', 'A', 'P', 'E', 'R',
+ 'P', 'A', 'R', 'T', 'Y',
+ 'P', 'A', 'R', 'U', 'M',
'P', 'A', 'S', 'E', 'Q',
'P', 'A', 'S', 'U', 'Q',
'P', 'A', 'T', 'A', 'H',
'P', 'A', 'T', 'A', 'K',
'P', 'A', 'Z', 'E', 'R',
'P', 'E', 'A', 'C', 'E',
+ 'P', 'E', 'A', 'C', 'H',
+ 'P', 'E', 'A', 'K', 'S',
'P', 'E', 'D', 'A', 'L',
'P', 'E', 'E', 'Z', 'I',
'P', 'E', 'H', 'E', 'H',
@@ -3690,16 +6583,24 @@ static const char unicode_name_words[39544] = {
'P', 'E', 'N', 'S', 'U',
'P', 'E', 'P', 'E', 'T',
'P', 'E', 'S', 'H', '2',
+ 'P', 'H', 'O', 'N', 'E',
'P', 'H', 'U', 'N', 'G',
'P', 'I', 'A', 'N', 'O',
'P', 'I', 'E', 'C', 'E',
+ 'P', 'I', 'E', 'E', 'Q',
+ 'P', 'I', 'E', 'E', 'T',
'P', 'I', 'E', 'U', 'P',
'P', 'I', 'R', 'I', 'G',
+ 'P', 'I', 'Z', 'Z', 'A',
'P', 'L', 'A', 'C', 'E',
'P', 'L', 'A', 'N', 'E',
+ 'P', 'L', 'A', 'T', 'E',
+ 'P', 'L', 'H', 'A', 'U',
+ 'P', 'L', 'U', 'T', 'A',
'P', 'L', 'U', 'T', 'O',
'P', 'O', 'I', 'N', 'T',
'P', 'O', 'N', 'D', 'O',
+ 'P', 'O', 'U', 'C', 'H',
'P', 'O', 'U', 'N', 'D',
'P', 'O', 'W', 'E', 'R',
'P', 'R', 'I', 'M', 'E',
@@ -3707,21 +6608,34 @@ static const char unicode_name_words[39544] = {
'P', 'R', 'O', 'O', 'F',
'P', 'R', 'O', 'V', 'E',
'P', 'S', 'I', 'L', 'I',
+ 'P', 'U', 'R', 'S', 'E',
'Q', 'A', 'A', 'F', 'U',
'Q', 'A', 'D', 'M', 'A',
'Q', 'A', 'T', 'A', 'N',
+ 'Q', 'H', 'O', 'P', 'H',
'Q', 'H', 'W', 'A', 'A',
'Q', 'H', 'W', 'E', 'E',
+ 'Q', 'I', 'T', 'S', 'A',
'Q', 'U', 'E', 'E', 'N',
+ 'Q', 'U', 'I', 'C', 'K',
'Q', 'U', 'I', 'L', 'L',
+ 'Q', 'U', 'I', 'L', 'T',
'Q', 'U', 'O', 'T', 'E',
+ 'R', '0', '0', '2', 'A',
+ 'R', '0', '0', '3', 'A',
+ 'R', '0', '0', '3', 'B',
+ 'R', '0', '1', '0', 'A',
+ 'R', '0', '1', '6', 'A',
+ 'R', 'A', 'D', 'I', 'O',
'R', 'A', 'I', 'D', 'A',
'R', 'A', 'I', 'D', 'O',
'R', 'A', 'N', 'G', 'E',
'R', 'A', 'S', 'H', 'A',
+ 'R', 'A', 'T', 'H', 'A',
'R', 'A', 'T', 'I', 'O',
'R', 'B', 'A', 'S', 'A',
'R', 'E', 'A', 'C', 'H',
+ 'R', 'E', 'G', 'I', 'A',
'R', 'E', 'L', 'A', 'A',
'R', 'E', 'V', 'I', 'A',
'R', 'E', 'V', 'M', 'A',
@@ -3729,43 +6643,66 @@ static const char unicode_name_words[39544] = {
'R', 'I', 'C', 'E', 'M',
'R', 'I', 'E', 'U', 'L',
'R', 'I', 'G', 'H', 'T',
+ 'R', 'I', 'N', 'G', 'S',
'R', 'I', 'T', 'S', 'I',
'R', 'I', 'V', 'E', 'R',
'R', 'N', 'O', 'O', 'N',
'R', 'O', 'B', 'A', 'T',
+ 'R', 'O', 'B', 'O', 'T',
'R', 'O', 'M', 'A', 'N',
'R', 'O', 'U', 'N', 'D',
'R', 'R', 'U', 'O', 'X',
'R', 'R', 'U', 'R', 'X',
'R', 'R', 'Y', 'R', 'X',
'R', 'T', 'A', 'G', 'S',
+ 'R', 'U', 'B', 'L', 'E',
+ 'R', 'U', 'G', 'B', 'Y',
+ 'R', 'U', 'L', 'A', 'I',
+ 'R', 'U', 'L', 'E', 'R',
'R', 'U', 'M', 'A', 'I',
'R', 'U', 'N', 'I', 'C',
'R', 'U', 'P', 'E', 'E',
'R', 'U', 'P', 'I', 'I',
'R', 'W', 'A', 'H', 'A',
+ 'S', '0', '0', '2', 'A',
+ 'S', '0', '0', '6', 'A',
+ 'S', '0', '1', '4', 'A',
+ 'S', '0', '1', '4', 'B',
+ 'S', '0', '1', '7', 'A',
+ 'S', '0', '2', '6', 'A',
+ 'S', '0', '2', '6', 'B',
+ 'S', '0', '3', '5', 'A',
'S', 'A', 'D', 'H', 'E',
'S', 'A', 'F', 'H', 'A',
+ 'S', 'A', 'K', 'H', 'A',
+ 'S', 'A', 'K', 'O', 'T',
'S', 'A', 'L', 'A', 'M',
'S', 'A', 'L', 'L', 'A',
+ 'S', 'A', 'M', 'B', 'A',
'S', 'A', 'M', 'K', 'A',
'S', 'A', 'M', 'P', 'I',
'S', 'A', 'N', 'A', 'H',
'S', 'A', 'S', 'A', 'K',
'S', 'A', 'U', 'I', 'L',
+ 'S', 'A', 'W', 'A', 'N',
'S', 'B', 'R', 'U', 'L',
'S', 'C', 'H', 'W', 'A',
+ 'S', 'C', 'O', 'R', 'E',
'S', 'D', 'O', 'N', 'G',
'S', 'E', 'E', 'N', 'U',
'S', 'E', 'G', 'N', 'O',
'S', 'E', 'G', 'O', 'L',
'S', 'E', 'N', 'T', 'I',
'S', 'E', 'N', 'T', 'O',
+ 'S', 'E', 'R', 'I', 'F',
'S', 'E', 'V', 'E', 'N',
'S', 'H', 'A', 'B', '6',
'S', 'H', 'A', 'D', 'E',
+ 'S', 'H', 'A', 'F', 'T',
'S', 'H', 'A', 'N', 'G',
+ 'S', 'H', 'A', 'P', 'E',
'S', 'H', 'A', 'R', '2',
+ 'S', 'H', 'A', 'R', 'A',
'S', 'H', 'A', 'R', 'P',
'S', 'H', 'A', 'R', 'U',
'S', 'H', 'C', 'H', 'A',
@@ -3775,20 +6712,25 @@ static const char unicode_name_words[39544] = {
'S', 'H', 'E', 'L', 'F',
'S', 'H', 'E', 'L', 'L',
'S', 'H', 'E', 'S', 'H',
+ 'S', 'H', 'E', 'U', 'X',
'S', 'H', 'E', 'V', 'A',
'S', 'H', 'I', 'F', 'T',
'S', 'H', 'I', 'I', 'N',
'S', 'H', 'I', 'M', 'A',
+ 'S', 'H', 'I', 'R', 'T',
'S', 'H', 'I', 'T', 'A',
'S', 'H', 'O', 'G', 'I',
+ 'S', 'H', 'O', 'O', 'I',
'S', 'H', 'O', 'O', 'T',
'S', 'H', 'O', 'R', 'T',
+ 'S', 'H', 'U', 'E', 'Q',
'S', 'H', 'U', 'O', 'P',
'S', 'H', 'U', 'O', 'X',
'S', 'H', 'U', 'R', 'X',
'S', 'H', 'W', 'A', 'A',
'S', 'H', 'W', 'I', 'I',
'S', 'H', 'W', 'O', 'O',
+ 'S', 'H', 'W', 'O', 'Y',
'S', 'H', 'Y', 'R', 'X',
'S', 'I', 'G', 'E', 'L',
'S', 'I', 'G', 'M', 'A',
@@ -3796,96 +6738,171 @@ static const char unicode_name_words[39544] = {
'S', 'I', 'L', 'A', '3',
'S', 'I', 'X', 'T', 'H',
'S', 'I', 'X', 'T', 'Y',
+ 'S', 'K', 'A', 'T', 'E',
+ 'S', 'K', 'I', 'E', 'R',
'S', 'K', 'U', 'L', 'L',
'S', 'L', 'A', 'S', 'H',
'S', 'L', 'A', 'V', 'E',
'S', 'L', 'I', 'C', 'E',
'S', 'L', 'I', 'N', 'G',
+ 'S', 'L', 'O', 'A', 'N',
'S', 'L', 'O', 'P', 'E',
'S', 'L', 'O', 'V', 'O',
'S', 'M', 'A', 'L', 'L',
'S', 'M', 'A', 'S', 'H',
'S', 'M', 'E', 'A', 'R',
'S', 'M', 'I', 'L', 'E',
+ 'S', 'N', 'A', 'I', 'L',
'S', 'N', 'A', 'K', 'E',
'S', 'N', 'O', 'U', 'T',
+ 'S', 'O', 'L', 'I', 'D',
'S', 'O', 'U', 'N', 'D',
'S', 'O', 'U', 'T', 'H',
'S', 'P', 'A', 'C', 'E',
'S', 'P', 'A', 'D', 'E',
'S', 'P', 'E', 'A', 'R',
'S', 'P', 'I', 'C', 'E',
+ 'S', 'P', 'I', 'N', 'E',
+ 'S', 'P', 'L', 'I', 'T',
'S', 'P', 'O', 'O', 'N',
'S', 'Q', 'U', 'A', 'T',
+ 'S', 'S', 'H', 'I', 'N',
'S', 'S', 'I', 'E', 'P',
'S', 'S', 'I', 'E', 'X',
'S', 'S', 'Y', 'R', 'X',
'S', 'T', 'A', 'F', 'F',
'S', 'T', 'A', 'N', 'D',
'S', 'T', 'A', 'R', 'K',
+ 'S', 'T', 'A', 'R', 'S',
'S', 'T', 'A', 'R', 'T',
'S', 'T', 'E', 'A', 'M',
+ 'S', 'T', 'I', 'C', 'K',
'S', 'T', 'I', 'L', 'E',
'S', 'T', 'I', 'L', 'L',
'S', 'T', 'O', 'C', 'K',
'S', 'T', 'O', 'N', 'E',
+ 'S', 'T', 'O', 'R', 'E',
'S', 'T', 'O', 'V', 'E',
'S', 'T', 'U', 'D', 'Y',
+ 'S', 'U', 'A', 'E', 'N',
+ 'S', 'U', 'A', 'E', 'T',
'S', 'U', 'H', 'U', 'R',
'S', 'U', 'K', 'U', 'N',
+ 'S', 'U', 'P', 'E', 'R',
+ 'S', 'U', 'R', 'Y', 'A',
+ 'S', 'U', 'S', 'H', 'I',
+ 'S', 'U', 'T', 'R', 'A',
'S', 'W', 'A', 'S', 'H',
+ 'S', 'W', 'E', 'A', 'T',
'S', 'W', 'E', 'E', 'T',
+ 'S', 'W', 'I', 'R', 'L',
'S', 'W', 'O', 'R', 'D',
'S', 'W', 'U', 'N', 'G',
'S', 'Y', 'R', 'M', 'A',
+ 'T', '0', '0', '3', 'A',
+ 'T', '0', '0', '7', 'A',
+ 'T', '0', '0', '8', 'A',
+ 'T', '0', '0', '9', 'A',
+ 'T', '0', '1', '1', 'A',
+ 'T', '0', '1', '6', 'A',
+ 'T', '0', '3', '2', 'A',
+ 'T', '0', '3', '3', 'A',
'T', 'A', 'B', 'L', 'E',
+ 'T', 'A', 'K', 'R', 'I',
'T', 'A', 'M', 'I', 'L',
'T', 'A', 'P', 'E', 'R',
'T', 'C', 'H', 'E', 'H',
+ 'T', 'E', 'A', 'R', 'S',
+ 'T', 'E', 'E', 'E', 'E',
+ 'T', 'E', 'E', 'N', 'S',
+ 'T', 'E', 'E', 'T', 'H',
'T', 'E', 'G', 'E', 'H',
'T', 'E', 'H', 'E', 'H',
'T', 'E', 'I', 'W', 'S',
+ 'T', 'E', 'N', 'G', 'E',
+ 'T', 'E', 'N', 'S', 'E',
+ 'T', 'E', 'N', 'T', 'H',
'T', 'E', 'V', 'I', 'R',
'T', 'H', 'E', 'M', 'A',
'T', 'H', 'E', 'R', 'E',
'T', 'H', 'E', 'T', 'A',
+ 'T', 'H', 'E', 'T', 'H',
+ 'T', 'H', 'I', 'A', 'B',
+ 'T', 'H', 'I', 'C', 'K',
'T', 'H', 'I', 'G', 'H',
'T', 'H', 'I', 'R', 'D',
'T', 'H', 'I', 'T', 'A',
'T', 'H', 'O', 'N', 'G',
'T', 'H', 'O', 'R', 'N',
'T', 'H', 'R', 'E', 'E',
+ 'T', 'H', 'U', 'M', 'B',
'T', 'H', 'U', 'N', 'G',
'T', 'H', 'U', 'R', 'S',
'T', 'H', 'W', 'A', 'A',
+ 'T', 'H', 'W', 'E', 'E',
+ 'T', 'H', 'W', 'I', 'I',
+ 'T', 'H', 'W', 'O', 'O',
'T', 'I', 'A', 'R', 'A',
'T', 'I', 'G', 'E', 'R',
'T', 'I', 'G', 'H', 'T',
'T', 'I', 'L', 'D', 'E',
+ 'T', 'I', 'L', 'E', 'S',
+ 'T', 'I', 'M', 'E', 'R',
'T', 'I', 'M', 'E', 'S',
'T', 'I', 'N', 'N', 'E',
'T', 'I', 'P', 'P', 'I',
+ 'T', 'I', 'R', 'E', 'D',
+ 'T', 'I', 'R', 'T', 'A',
'T', 'I', 'T', 'L', 'O',
'T', 'I', 'W', 'A', 'Z',
'T', 'L', 'H', 'E', 'E',
+ 'T', 'L', 'H', 'O', 'O',
+ 'T', 'L', 'H', 'W', 'E',
+ 'T', 'L', 'H', 'Y', 'A',
+ 'T', 'O', 'K', 'Y', 'O',
+ 'T', 'O', 'M', 'P', 'I',
'T', 'O', 'N', 'A', 'L',
'T', 'O', 'N', 'O', 'S',
'T', 'O', 'O', 'T', 'H',
+ 'T', 'O', 'R', 'C', 'H',
+ 'T', 'O', 'R', 'S', 'O',
'T', 'O', 'T', 'A', 'L',
+ 'T', 'O', 'U', 'C', 'H',
+ 'T', 'O', 'W', 'E', 'R',
'T', 'R', 'A', 'C', 'K',
'T', 'R', 'A', 'D', 'E',
+ 'T', 'R', 'A', 'I', 'N',
+ 'T', 'R', 'E', 'N', 'D',
'T', 'R', 'I', 'O', 'N',
+ 'T', 'R', 'U', 'C', 'K',
'T', 'R', 'U', 'N', 'K',
'T', 'R', 'U', 'T', 'H',
'T', 'S', 'A', 'D', 'I',
+ 'T', 'S', 'E', 'E', 'B',
'T', 'S', 'E', 'R', 'E',
+ 'T', 'S', 'H', 'A', 'B',
'T', 'S', 'H', 'E', 'G',
'T', 'S', 'H', 'E', 'S',
+ 'T', 'T', 'H', 'A', 'A',
+ 'T', 'T', 'H', 'E', 'E',
+ 'T', 'T', 'H', 'O', 'O',
+ 'T', 'T', 'H', 'W', 'E',
'T', 'T', 'S', 'E', 'E',
'T', 'T', 'T', 'H', 'A',
+ 'T', 'U', 'A', 'E', 'P',
+ 'T', 'U', 'L', 'I', 'P',
+ 'T', 'U', 'M', 'A', 'E',
'T', 'U', 'N', 'N', 'Y',
'T', 'U', 'R', 'O', '2',
+ 'T', 'U', 'T', 'T', 'Y',
'T', 'U', 'U', 'M', 'U',
+ 'U', '-', 'I', '-', 'I',
+ 'U', '-', 'Y', 'E', 'O',
+ 'U', '0', '0', '6', 'A',
+ 'U', '0', '0', '6', 'B',
+ 'U', '0', '2', '3', 'A',
+ 'U', '0', '2', '9', 'A',
+ 'U', '0', '3', '2', 'A',
'U', 'D', 'A', 'A', 'T',
'U', 'K', 'A', 'R', 'A',
'U', 'M', 'B', 'I', 'N',
@@ -3894,53 +6911,156 @@ static const char unicode_name_words[39544] = {
'U', 'N', 'I', 'O', 'N',
'U', 'N', 'I', 'T', 'Y',
'U', 'P', 'P', 'E', 'R',
+ 'U', 'R', 'I', 'N', 'E',
'U', 'R', 'U', 'D', 'A',
'U', 'S', 'S', 'U', '3',
'U', 'T', 'U', 'K', 'I',
+ 'V', '0', '0', '1', 'A',
+ 'V', '0', '0', '1', 'B',
+ 'V', '0', '0', '1', 'C',
+ 'V', '0', '0', '1', 'D',
+ 'V', '0', '0', '1', 'E',
+ 'V', '0', '0', '1', 'F',
+ 'V', '0', '0', '1', 'G',
+ 'V', '0', '0', '1', 'H',
+ 'V', '0', '0', '1', 'I',
+ 'V', '0', '0', '2', 'A',
+ 'V', '0', '0', '7', 'A',
+ 'V', '0', '0', '7', 'B',
+ 'V', '0', '1', '1', 'A',
+ 'V', '0', '1', '1', 'B',
+ 'V', '0', '1', '1', 'C',
+ 'V', '0', '1', '2', 'A',
+ 'V', '0', '1', '2', 'B',
+ 'V', '0', '2', '0', 'A',
+ 'V', '0', '2', '0', 'B',
+ 'V', '0', '2', '0', 'C',
+ 'V', '0', '2', '0', 'D',
+ 'V', '0', '2', '0', 'E',
+ 'V', '0', '2', '0', 'F',
+ 'V', '0', '2', '0', 'G',
+ 'V', '0', '2', '0', 'H',
+ 'V', '0', '2', '0', 'I',
+ 'V', '0', '2', '0', 'J',
+ 'V', '0', '2', '0', 'K',
+ 'V', '0', '2', '0', 'L',
+ 'V', '0', '2', '3', 'A',
+ 'V', '0', '2', '8', 'A',
+ 'V', '0', '2', '9', 'A',
+ 'V', '0', '3', '0', 'A',
+ 'V', '0', '3', '1', 'A',
+ 'V', '0', '3', '3', 'A',
+ 'V', '0', '3', '7', 'A',
+ 'V', '0', '4', '0', 'A',
'V', 'A', 'A', 'V', 'U',
'V', 'A', 'R', 'I', 'A',
'V', 'A', 'R', 'Y', 'S',
'V', 'A', 'S', 'I', 'S',
'V', 'A', 'T', 'H', 'Y',
+ 'V', 'E', 'D', 'I', 'C',
'V', 'E', 'R', 'G', 'E',
'V', 'E', 'R', 'S', 'E',
'V', 'E', 'S', 'T', 'A',
+ 'V', 'E', 'U', 'A', 'E',
+ 'V', 'I', 'D', 'E', 'O',
'V', 'I', 'R', 'G', 'A',
'V', 'I', 'R', 'G', 'O',
+ 'V', 'I', 'T', 'A', 'E',
'V', 'O', 'C', 'A', 'L',
'V', 'O', 'W', 'E', 'L',
'V', 'Z', 'M', 'E', 'T',
+ 'W', '0', '0', '3', 'A',
+ 'W', '0', '0', '9', 'A',
+ 'W', '0', '1', '0', 'A',
+ 'W', '0', '1', '4', 'A',
+ 'W', '0', '1', '7', 'A',
+ 'W', '0', '1', '8', 'A',
+ 'W', '0', '2', '4', 'A',
'W', 'A', 'A', 'V', 'U',
+ 'W', 'A', 'D', 'D', 'A',
+ 'W', 'A', 'I', 'S', 'T',
'W', 'A', 'S', 'L', 'A',
'W', 'A', 'T', 'C', 'H',
'W', 'A', 'T', 'E', 'R',
'W', 'A', 'T', 'T', 'O',
+ 'W', 'A', 'V', 'E', 'S',
+ 'W', 'E', 'A', 'R', 'Y',
+ 'W', 'E', 'D', 'G', 'E',
+ 'W', 'H', 'A', 'L', 'E',
'W', 'H', 'E', 'A', 'T',
'W', 'H', 'E', 'E', 'L',
'W', 'H', 'I', 'T', 'E',
'W', 'H', 'O', 'L', 'E',
+ 'W', 'I', 'A', 'N', 'G',
'W', 'I', 'D', 'T', 'H',
'W', 'I', 'N', 'D', 'U',
+ 'W', 'I', 'N', 'G', 'S',
'W', 'I', 'N', 'J', 'A',
+ 'W', 'I', 'R', 'E', 'D',
'W', 'O', 'M', 'A', 'N',
+ 'W', 'O', 'M', 'E', 'N',
+ 'W', 'O', 'R', 'L', 'D',
+ 'W', 'R', 'I', 'S', 'T',
'W', 'R', 'O', 'N', 'G',
+ 'W', 'U', 'A', 'E', 'N',
+ 'W', 'U', 'A', 'E', 'T',
'W', 'U', 'N', 'J', 'O',
+ 'X', '0', '0', '4', 'A',
+ 'X', '0', '0', '4', 'B',
+ 'X', '0', '0', '6', 'A',
+ 'X', '0', '0', '8', 'A',
'X', 'I', 'R', 'O', 'N',
+ 'X', 'Y', 'E', 'E', 'M',
+ 'X', 'Y', 'O', 'O', 'J',
+ 'Y', '0', '0', '1', 'A',
'Y', 'A', '-', 'Y', 'O',
'Y', 'A', 'A', 'D', 'O',
'Y', 'A', 'A', 'R', 'U',
'Y', 'A', 'D', 'D', 'H',
'Y', 'A', 'G', 'H', 'H',
'Y', 'A', 'K', 'H', 'H',
+ 'Y', 'A', 'M', 'O', 'K',
+ 'Y', 'E', 'N', 'A', 'P',
'Y', 'E', 'O', '-', 'O',
'Y', 'E', 'O', '-', 'U',
'Y', 'E', 'R', 'A', 'H',
'Y', 'E', 'S', 'T', 'U',
'Y', 'E', 'T', 'I', 'V',
+ 'Y', 'E', 'U', 'A', 'E',
'Y', 'I', 'Z', 'E', 'T',
+ 'Y', 'O', '-', 'A', 'E',
+ 'Y', 'O', '-', 'E', 'O',
'Y', 'O', '-', 'Y', 'A',
+ 'Y', 'U', '-', 'A', 'E',
'Y', 'U', '-', 'E', 'O',
'Y', 'U', '-', 'Y', 'E',
+ 'Y', 'U', 'A', 'E', 'N',
+ 'Y', 'U', 'W', 'O', 'Q',
+ 'Z', '0', '0', '2', 'A',
+ 'Z', '0', '0', '2', 'B',
+ 'Z', '0', '0', '2', 'C',
+ 'Z', '0', '0', '2', 'D',
+ 'Z', '0', '0', '3', 'A',
+ 'Z', '0', '0', '3', 'B',
+ 'Z', '0', '0', '4', 'A',
+ 'Z', '0', '0', '5', 'A',
+ 'Z', '0', '1', '5', 'A',
+ 'Z', '0', '1', '5', 'B',
+ 'Z', '0', '1', '5', 'C',
+ 'Z', '0', '1', '5', 'D',
+ 'Z', '0', '1', '5', 'E',
+ 'Z', '0', '1', '5', 'F',
+ 'Z', '0', '1', '5', 'G',
+ 'Z', '0', '1', '5', 'H',
+ 'Z', '0', '1', '5', 'I',
+ 'Z', '0', '1', '6', 'A',
+ 'Z', '0', '1', '6', 'B',
+ 'Z', '0', '1', '6', 'C',
+ 'Z', '0', '1', '6', 'D',
+ 'Z', '0', '1', '6', 'E',
+ 'Z', '0', '1', '6', 'F',
+ 'Z', '0', '1', '6', 'G',
+ 'Z', '0', '1', '6', 'H',
'Z', 'A', 'Q', 'E', 'F',
'Z', 'A', 'R', 'Q', 'A',
'Z', 'A', 'Y', 'I', 'N',
@@ -3951,25 +7071,46 @@ static const char unicode_name_words[39544] = {
'Z', 'H', 'Y', 'R', 'X',
'Z', 'I', 'L', 'D', 'E',
'Z', 'I', 'N', 'O', 'R',
+ 'Z', 'I', 'Q', 'A', 'A',
'Z', 'L', 'A', 'M', 'A',
'Z', 'U', 'B', 'U', 'R',
'Z', 'Y', 'G', 'O', 'S',
'Z', 'Z', 'I', 'E', 'P',
'Z', 'Z', 'I', 'E', 'T',
'Z', 'Z', 'I', 'E', 'X',
+ 'Z', 'Z', 'S', 'Y', 'A',
'Z', 'Z', 'U', 'R', 'X',
'Z', 'Z', 'Y', 'R', 'X',
'-', 'K', 'H', 'Y', 'I', 'L',
'-', 'K', 'H', 'Y', 'U', 'D',
+ 'A', '7', '0', '9', '-', '2',
+ 'A', '7', '0', '9', '-', '3',
+ 'A', '7', '0', '9', '-', '4',
+ 'A', '7', '0', '9', '-', '6',
+ 'A', 'A', '0', '0', '7', 'A',
+ 'A', 'A', '0', '0', '7', 'B',
+ 'A', 'B', '0', '2', '1', 'F',
+ 'A', 'B', '0', '2', '1', 'M',
+ 'A', 'B', '0', '2', '2', 'F',
+ 'A', 'B', '0', '2', '2', 'M',
+ 'A', 'B', '0', '2', '3', 'M',
+ 'A', 'B', '1', '3', '1', 'A',
+ 'A', 'B', '1', '3', '1', 'B',
'A', 'C', 'C', 'E', 'N', 'T',
+ 'A', 'C', 'C', 'E', 'P', 'T',
'A', 'E', 'G', 'E', 'A', 'N',
+ 'A', 'E', 'R', 'I', 'A', 'L',
+ 'A', 'F', 'S', 'A', 'A', 'Q',
'A', 'I', 'H', 'V', 'U', 'S',
'A', 'I', 'K', 'A', 'R', 'A',
'A', 'L', 'A', 'Y', 'H', 'E',
+ 'A', 'L', 'K', 'A', 'L', 'I',
'A', 'L', 'M', 'O', 'S', 'T',
'A', 'M', 'O', 'U', 'N', 'T',
'A', 'N', 'C', 'H', 'O', 'R',
'A', 'N', 'C', 'O', 'R', 'A',
+ 'A', 'N', 'G', 'L', 'E', 'D',
+ 'A', 'N', 'N', 'A', 'A', 'U',
'A', 'P', 'A', 'A', 'T', 'O',
'A', 'P', 'L', 'O', 'U', 'N',
'A', 'R', 'A', 'B', 'I', 'C',
@@ -3982,10 +7123,12 @@ static const char unicode_name_words[39544] = {
'A', 'R', 'R', 'O', 'W', 'S',
'A', 'R', 'S', 'E', 'O', 'S',
'A', 'R', 'T', 'A', 'B', 'E',
+ 'A', 'R', 'T', 'I', 'S', 'T',
'A', 'R', 'U', 'H', 'U', 'A',
'A', 'S', 'C', 'E', 'N', 'T',
'A', 'S', 'H', 'G', 'A', 'B',
'A', 'S', 'Y', 'U', 'R', 'A',
+ 'A', 'T', 'M', 'A', 'A', 'U',
'A', 'U', 'G', 'U', 'S', 'T',
'A', 'U', 'T', 'U', 'M', 'N',
'A', 'Y', 'A', 'N', 'N', 'A',
@@ -3995,81 +7138,128 @@ static const char unicode_name_words[39544] = {
'B', 'A', 'L', 'L', 'O', 'T',
'B', 'A', 'L', 'U', 'D', 'A',
'B', 'A', 'M', 'B', 'O', 'O',
+ 'B', 'A', 'N', 'A', 'N', 'A',
'B', 'A', 'N', 'T', 'O', 'C',
+ 'B', 'A', 'R', 'B', 'E', 'R',
'B', 'A', 'R', 'L', 'E', 'Y',
'B', 'A', 'R', 'R', 'E', 'D',
'B', 'A', 'R', 'R', 'E', 'E',
'B', 'E', 'A', 'M', 'E', 'D',
+ 'B', 'E', 'A', 'V', 'E', 'R',
+ 'B', 'E', 'E', 'T', 'L', 'E',
'B', 'E', 'F', 'O', 'R', 'E',
+ 'B', 'E', 'H', 'I', 'N', 'D',
'B', 'E', 'R', 'B', 'E', 'R',
'B', 'E', 'S', 'I', 'D', 'E',
'B', 'E', 'Y', 'Y', 'A', 'L',
+ 'B', 'I', 'C', 'E', 'P', 'S',
+ 'B', 'I', 'K', 'I', 'N', 'I',
'B', 'I', 'N', 'A', 'R', 'Y',
'B', 'I', 'S', 'H', 'O', 'P',
'B', 'I', 'T', 'I', 'N', 'G',
'B', 'I', 'T', 'T', 'E', 'R',
'B', 'O', 'R', 'U', 'T', 'O',
+ 'B', 'O', 'T', 'T', 'L', 'E',
'B', 'O', 'T', 'T', 'O', 'M',
+ 'B', 'O', 'W', 'I', 'N', 'G',
'B', 'O', 'W', 'T', 'I', 'E',
+ 'B', 'R', 'A', 'H', 'M', 'I',
'B', 'R', 'A', 'N', 'C', 'H',
'B', 'R', 'E', 'A', 'T', 'H',
'B', 'R', 'E', 'V', 'I', 'S',
'B', 'R', 'I', 'D', 'G', 'E',
'B', 'R', 'O', 'K', 'E', 'N',
'B', 'R', 'O', 'N', 'Z', 'E',
+ 'B', 'U', 'B', 'B', 'L', 'E',
'B', 'U', 'C', 'K', 'L', 'E',
'B', 'U', 'L', 'L', 'E', 'T',
+ 'B', 'U', 'T', 'T', 'O', 'N',
+ 'C', 'A', 'C', 'T', 'U', 'S',
+ 'C', 'A', 'M', 'E', 'R', 'A',
'C', 'A', 'M', 'N', 'U', 'C',
'C', 'A', 'N', 'C', 'E', 'L',
'C', 'A', 'N', 'C', 'E', 'R',
+ 'C', 'A', 'N', 'D', 'L', 'E',
'C', 'A', 'N', 'D', 'R', 'A',
+ 'C', 'A', 'P', 'P', 'E', 'D',
'C', 'A', 'R', 'I', 'A', 'N',
+ 'C', 'A', 'S', 'K', 'E', 'T',
+ 'C', 'A', 'S', 'T', 'L', 'E',
'C', 'A', 'T', 'A', 'W', 'A',
+ 'C', 'C', 'H', 'H', 'A', 'A',
+ 'C', 'C', 'H', 'H', 'E', 'E',
+ 'C', 'E', 'L', 'T', 'I', 'C',
'C', 'E', 'N', 'T', 'R', 'E',
'C', 'E', 'R', '-', 'W', 'A',
+ 'C', 'H', 'A', 'I', 'N', 'S',
+ 'C', 'H', 'A', 'K', 'M', 'A',
'C', 'H', 'A', 'M', 'K', 'O',
'C', 'H', 'A', 'N', 'G', 'E',
+ 'C', 'H', 'E', 'E', 'K', 'S',
+ 'C', 'H', 'E', 'E', 'S', 'E',
+ 'C', 'H', 'E', 'R', 'R', 'Y',
'C', 'H', 'I', 'L', 'L', 'U',
'C', 'H', 'I', 'R', 'E', 'T',
'C', 'H', 'I', 'R', 'O', 'N',
'C', 'H', 'R', 'I', 'V', 'I',
'C', 'H', 'R', 'O', 'M', 'A',
'C', 'H', 'U', 'R', 'C', 'H',
+ 'C', 'I', 'N', 'E', 'M', 'A',
'C', 'I', 'R', 'C', 'L', 'E',
+ 'C', 'I', 'R', 'C', 'U', 'S',
'C', 'L', 'E', 'F', '-', '1',
'C', 'L', 'E', 'F', '-', '2',
'C', 'L', 'I', 'V', 'I', 'S',
'C', 'L', 'O', 'S', 'E', 'D',
+ 'C', 'L', 'O', 'S', 'E', 'T',
+ 'C', 'L', 'O', 'V', 'E', 'R',
'C', 'O', 'F', 'F', 'I', 'N',
'C', 'O', 'L', 'U', 'M', 'N',
'C', 'O', 'M', 'I', 'N', 'G',
'C', 'O', 'M', 'M', 'O', 'N',
+ 'C', 'O', 'O', 'K', 'E', 'D',
+ 'C', 'O', 'O', 'K', 'I', 'E',
+ 'C', 'O', 'P', 'P', 'E', 'R',
'C', 'O', 'P', 'T', 'I', 'C',
'C', 'O', 'R', 'N', 'E', 'R',
'C', 'O', 'R', 'P', 'S', 'E',
+ 'C', 'O', 'U', 'P', 'L', 'E',
+ 'C', 'R', 'A', 'Y', 'O', 'N',
'C', 'R', 'E', 'D', 'I', 'T',
+ 'C', 'R', 'O', 'C', 'U', 'S',
+ 'C', 'R', 'Y', 'I', 'N', 'G',
+ 'C', 'U', 'P', 'P', 'E', 'D',
'C', 'U', 'R', 'V', 'E', 'D',
'D', 'A', 'A', 'D', 'H', 'U',
'D', 'A', 'G', 'E', 'S', 'H',
'D', 'A', 'G', 'G', 'E', 'R',
'D', 'A', 'L', 'A', 'T', 'H',
+ 'D', 'A', 'L', 'E', 'T', 'H',
'D', 'A', 'M', 'A', 'R', 'U',
+ 'D', 'A', 'N', 'C', 'E', 'R',
'D', 'A', 'S', 'E', 'I', 'A',
'D', 'A', 'S', 'H', 'E', 'D',
'D', 'D', 'A', 'H', 'A', 'L',
+ 'D', 'E', 'E', 'P', 'L', 'Y',
'D', 'E', 'G', 'R', 'E', 'E',
'D', 'E', 'L', 'E', 'T', 'E',
'D', 'E', 'N', 'N', 'E', 'N',
'D', 'E', 'N', 'T', 'A', 'L',
+ 'D', 'E', 'S', 'E', 'R', 'T',
+ 'D', 'E', 'S', 'I', 'G', 'N',
'D', 'E', 'V', 'I', 'C', 'E',
'D', 'H', 'A', 'A', 'L', 'U',
+ 'D', 'H', 'A', 'D', 'H', 'E',
'D', 'H', 'A', 'R', 'M', 'A',
+ 'D', 'I', 'E', 'S', 'E', 'L',
'D', 'I', 'E', 'S', 'I', 'S',
+ 'D', 'I', 'G', 'I', 'T', 'S',
'D', 'I', 'G', 'R', 'A', 'M',
'D', 'I', 'P', 'P', 'E', 'R',
'D', 'I', 'R', 'E', 'C', 'T',
'D', 'I', 'V', 'I', 'D', 'E',
'D', 'J', 'E', 'R', 'V', 'I',
+ 'D', 'O', 'K', 'M', 'A', 'I',
'D', 'O', 'L', 'I', 'U', 'M',
'D', 'O', 'L', 'L', 'A', 'R',
'D', 'O', 'M', 'A', 'I', 'N',
@@ -4085,49 +7275,69 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'T', 'T', 'E', 'D',
'D', 'O', 'U', 'B', 'L', 'E',
'D', 'R', 'A', 'G', 'O', 'N',
+ 'D', 'R', 'E', 'A', 'M', 'Y',
'D', 'U', 'T', 'I', 'E', 'S',
+ 'E', '-', 'M', 'A', 'I', 'L',
'E', 'I', 'G', 'H', 'T', 'H',
'E', 'I', 'G', 'H', 'T', 'Y',
'E', 'L', 'E', 'V', 'E', 'N',
+ 'E', 'M', 'B', 'L', 'E', 'M',
'E', 'N', 'D', 'I', 'N', 'G',
+ 'E', 'N', 'G', 'I', 'N', 'E',
'E', 'Q', 'U', 'A', 'L', 'S',
'E', 'S', 'C', 'A', 'P', 'E',
'E', 'T', 'E', 'R', 'O', 'N',
'E', 'X', 'C', 'E', 'S', 'S',
+ 'E', 'X', 'H', 'A', 'L', 'E',
'E', 'X', 'I', 'S', 'T', 'S',
'E', 'Y', 'A', 'N', 'N', 'A',
+ 'F', 'A', 'A', 'M', 'A', 'E',
'F', 'A', 'C', 'E', '-', '1',
'F', 'A', 'C', 'E', '-', '2',
'F', 'A', 'C', 'E', '-', '3',
'F', 'A', 'C', 'E', '-', '4',
'F', 'A', 'C', 'E', '-', '5',
'F', 'A', 'C', 'E', '-', '6',
+ 'F', 'A', 'C', 'I', 'N', 'G',
'F', 'A', 'C', 'T', 'O', 'R',
+ 'F', 'A', 'L', 'L', 'E', 'N',
'F', 'A', 'M', 'I', 'L', 'Y',
'F', 'A', 'T', 'H', 'E', 'R',
'F', 'E', 'M', 'A', 'L', 'E',
+ 'F', 'E', 'R', 'R', 'I', 'S',
'F', 'H', 'T', 'O', 'R', 'A',
'F', 'I', 'F', 'T', 'H', 'S',
'F', 'I', 'G', 'U', 'R', 'E',
'F', 'I', 'L', 'L', 'E', 'D',
'F', 'I', 'L', 'L', 'E', 'R',
+ 'F', 'I', 'N', 'G', 'E', 'R',
'F', 'I', 'N', 'I', 'T', 'E',
+ 'F', 'I', 'S', 'T', 'E', 'D',
'F', 'L', 'A', 'G', '-', '1',
'F', 'L', 'A', 'G', '-', '2',
'F', 'L', 'A', 'G', '-', '3',
'F', 'L', 'A', 'G', '-', '4',
'F', 'L', 'A', 'G', '-', '5',
+ 'F', 'L', 'E', 'X', 'E', 'D',
'F', 'L', 'E', 'X', 'U', 'S',
'F', 'L', 'I', 'G', 'H', 'T',
+ 'F', 'L', 'O', 'P', 'P', 'Y',
'F', 'L', 'O', 'R', 'A', 'L',
'F', 'L', 'O', 'W', 'E', 'R',
+ 'F', 'L', 'Y', 'I', 'N', 'G',
+ 'F', 'O', 'L', 'D', 'E', 'D',
+ 'F', 'O', 'L', 'D', 'E', 'R',
'F', 'O', 'R', 'C', 'E', 'S',
'F', 'O', 'R', 'K', 'E', 'D',
+ 'F', 'O', 'R', 'M', 'A', 'T',
'F', 'O', 'U', 'R', 'T', 'H',
+ 'F', 'R', 'A', 'M', 'E', 'S',
+ 'F', 'R', 'A', 'N', 'K', 'S',
'F', 'R', 'E', 'N', 'C', 'H',
'F', 'T', 'H', 'O', 'R', 'A',
'G', 'A', 'N', 'G', 'I', 'A',
'G', 'A', 'P', 'P', 'E', 'D',
+ 'G', 'A', 'R', 'D', 'E', 'N',
'G', 'A', 'S', 'H', 'A', 'N',
'G', 'E', 'D', 'O', 'L', 'A',
'G', 'E', 'M', 'I', 'N', 'I',
@@ -4137,43 +7347,67 @@ static const char unicode_name_words[39544] = {
'G', 'E', 'R', 'M', 'A', 'N',
'G', 'H', 'A', 'I', 'N', 'U',
'G', 'H', 'A', 'M', 'A', 'L',
+ 'G', 'H', 'A', 'M', 'M', 'A',
+ 'G', 'H', 'A', 'R', 'A', 'E',
+ 'G', 'H', 'E', 'U', 'A', 'E',
+ 'G', 'H', 'I', 'M', 'E', 'L',
'G', 'H', 'U', 'N', 'N', 'A',
'G', 'L', 'E', 'I', 'C', 'H',
+ 'G', 'O', 'B', 'L', 'I', 'N',
+ 'G', 'O', 'L', 'F', 'E', 'R',
'G', 'O', 'R', 'G', 'O', 'N',
'G', 'O', 'T', 'H', 'I', 'C',
'G', 'R', 'A', 'M', 'M', 'A',
+ 'G', 'R', 'A', 'P', 'E', 'S',
'G', 'R', 'A', 'T', 'E', 'R',
'G', 'R', 'O', 'U', 'N', 'D',
+ 'G', 'U', 'I', 'T', 'A', 'R',
'G', 'U', 'R', 'A', 'M', 'U',
'G', 'U', 'R', 'U', 'S', 'H',
'H', '-', 'T', 'Y', 'P', 'E',
'H', 'A', 'F', 'U', 'K', 'H',
'H', 'A', 'G', 'L', 'A', 'Z',
'H', 'A', 'M', 'M', 'E', 'R',
+ 'H', 'A', 'N', 'D', 'L', 'E',
'H', 'A', 'N', 'G', 'U', 'L',
+ 'H', 'A', 'T', 'R', 'A', 'N',
'H', 'E', 'A', 'D', 'E', 'D',
+ 'H', 'E', 'A', 'R', 'T', 'S',
'H', 'E', 'A', 'V', 'E', 'N',
'H', 'E', 'B', 'R', 'E', 'W',
+ 'H', 'E', 'I', 'G', 'H', 'T',
'H', 'E', 'I', 'S', 'E', 'I',
'H', 'E', 'L', 'M', 'E', 'T',
'H', 'E', 'R', 'M', 'E', 'S',
'H', 'E', 'R', 'U', 'T', 'U',
'H', 'I', 'D', 'I', 'N', 'G',
+ 'H', 'I', 'N', 'G', 'E', 'D',
+ 'H', 'O', 'C', 'K', 'E', 'Y',
+ 'H', 'O', 'L', 'L', 'O', 'W',
+ 'H', 'O', 'O', 'K', 'E', 'D',
'H', 'U', 'I', 'I', 'T', 'O',
+ 'H', 'U', 'S', 'H', 'E', 'D',
'H', 'Y', 'P', 'H', 'E', 'N',
'I', '-', 'B', 'E', 'A', 'M',
+ 'I', '-', 'Y', 'A', '-', 'O',
'I', 'L', 'I', 'M', 'M', 'U',
+ 'I', 'N', 'D', 'I', 'A', 'N',
'I', 'N', 'G', 'W', 'A', 'Z',
+ 'I', 'N', 'H', 'A', 'L', 'E',
'I', 'N', 'I', 'N', 'G', 'U',
'I', 'N', 'S', 'E', 'C', 'T',
'I', 'N', 'S', 'I', 'D', 'E',
'I', 'S', 'A', 'K', 'I', 'A',
+ 'I', 'S', 'L', 'A', 'N', 'D',
'I', 'S', 'S', 'H', 'A', 'R',
'I', 'T', 'A', 'L', 'I', 'C',
'I', 'Y', 'A', 'N', 'N', 'A',
+ 'J', 'H', 'A', 'Y', 'I', 'N',
'J', 'O', 'I', 'N', 'E', 'D',
'J', 'O', 'I', 'N', 'E', 'R',
+ 'J', 'O', 'I', 'N', 'T', 'S',
'J', 'O', 'Y', 'O', 'U', 'S',
+ 'K', 'A', 'I', 'T', 'H', 'I',
'K', 'A', 'N', 'A', 'K', 'O',
'K', 'A', 'N', 'G', 'X', 'I',
'K', 'A', 'S', 'K', 'A', 'L',
@@ -4184,32 +7418,50 @@ static const char unicode_name_words[39544] = {
'K', 'E', 'L', 'V', 'I', 'N',
'K', 'E', 'M', 'P', 'L', 'I',
'K', 'E', 'M', 'P', 'U', 'L',
+ 'K', 'E', 'U', 'A', 'E', 'M',
+ 'K', 'E', 'U', 'K', 'A', 'Q',
+ 'K', 'E', 'U', 'P', 'U', 'Q',
'K', 'E', 'Y', 'C', 'A', 'P',
+ 'K', 'H', 'A', 'M', 'T', 'I',
'K', 'H', 'A', 'N', 'D', 'A',
+ 'K', 'H', 'O', 'J', 'K', 'I',
'K', 'H', 'O', 'M', 'U', 'T',
+ 'K', 'H', 'U', 'D', 'A', 'M',
+ 'K', 'I', 'E', 'V', 'A', 'N',
+ 'K', 'I', 'L', 'L', 'E', 'R',
+ 'K', 'I', 'M', 'O', 'N', 'O',
'K', 'I', 'S', 'I', 'M', '5',
'K', 'I', 'Y', 'E', 'O', 'K',
'K', 'L', 'A', 'S', 'M', 'A',
'K', 'L', 'I', 'T', 'O', 'N',
'K', 'N', 'I', 'G', 'H', 'T',
+ 'K', 'O', 'G', 'H', 'O', 'M',
'K', 'O', 'R', 'E', 'A', 'N',
'K', 'O', 'R', 'U', 'N', 'A',
+ 'K', 'P', 'A', 'R', 'A', 'Q',
'K', 'U', 'S', 'H', 'U', '2',
'K', 'W', 'U', '3', '1', '8',
'K', 'Y', 'U', 'R', 'I', 'I',
'L', '-', 'T', 'Y', 'P', 'E',
+ 'L', 'A', 'A', 'N', 'A', 'E',
+ 'L', 'A', 'B', 'I', 'A', 'L',
'L', 'A', 'H', 'S', 'H', 'U',
'L', 'A', 'M', 'A', 'D', 'H',
'L', 'A', 'M', 'B', 'D', 'A',
+ 'L', 'A', 'M', 'E', 'D', 'H',
'L', 'A', 'R', 'G', 'E', 'R',
'L', 'A', 'U', 'K', 'A', 'Z',
'L', 'E', 'A', 'D', 'E', 'R',
+ 'L', 'E', 'D', 'G', 'E', 'R',
'L', 'E', 'G', 'I', 'O', 'N',
'L', 'E', 'I', 'M', 'M', 'A',
'L', 'E', 'N', 'G', 'T', 'H',
'L', 'E', 'P', 'C', 'H', 'A',
'L', 'E', 'S', 'S', 'E', 'R',
'L', 'E', 'T', 'T', 'E', 'R',
+ 'L', 'E', 'U', 'A', 'E', 'M',
+ 'L', 'E', 'U', 'A', 'E', 'P',
+ 'L', 'I', 'F', 'T', 'E', 'R',
'L', 'I', 'L', 'I', 'T', 'H',
'L', 'I', 'M', 'M', 'U', '2',
'L', 'I', 'M', 'M', 'U', '4',
@@ -4218,13 +7470,24 @@ static const char unicode_name_words[39544] = {
'L', 'I', 'N', 'E', '-', '7',
'L', 'I', 'N', 'E', '-', '9',
'L', 'I', 'N', 'E', 'A', 'R',
+ 'L', 'I', 'N', 'G', 'S', 'A',
+ 'L', 'I', 'N', 'K', 'E', 'D',
'L', 'I', 'Q', 'U', 'I', 'D',
+ 'L', 'I', 'T', 'T', 'E', 'R',
'L', 'I', 'T', 'T', 'L', 'E',
+ 'L', 'O', 'M', 'M', 'A', 'E',
+ 'L', 'O', 'N', 'S', 'U', 'M',
+ 'L', 'O', 'O', 'P', 'E', 'D',
+ 'L', 'O', 'U', 'D', 'L', 'Y',
'L', 'U', 'N', 'A', 'T', 'E',
+ 'L', 'U', 'N', 'G', 'S', 'I',
'L', 'Y', 'C', 'I', 'A', 'N',
'L', 'Y', 'D', 'I', 'A', 'N',
'M', 'A', 'C', 'R', 'O', 'N',
'M', 'A', 'D', 'D', 'A', 'H',
+ 'M', 'A', 'E', 'L', 'E', 'E',
+ 'M', 'A', 'E', 'M', 'B', 'A',
+ 'M', 'A', 'E', 'N', 'Y', 'I',
'M', 'A', 'I', 'D', 'E', 'N',
'M', 'A', 'N', 'C', 'H', 'U',
'M', 'A', 'N', 'N', 'A', 'Z',
@@ -4237,22 +7500,37 @@ static const char unicode_name_words[39544] = {
'M', 'A', 'S', 'O', 'R', 'A',
'M', 'A', 'T', 'R', 'I', 'X',
'M', 'A', 'X', 'I', 'M', 'A',
+ 'M', 'B', 'A', 'N', 'Y', 'I',
+ 'M', 'B', 'E', 'R', 'A', 'E',
+ 'M', 'B', 'E', 'U', 'R', 'I',
+ 'M', 'B', 'U', 'A', 'E', 'M',
'M', 'E', 'D', 'I', 'A', 'L',
'M', 'E', 'D', 'I', 'U', 'M',
+ 'M', 'E', 'E', 'T', 'E', 'I',
'M', 'E', 'G', 'A', 'L', 'I',
'M', 'E', 'M', 'B', 'E', 'R',
+ 'M', 'E', 'N', 'D', 'U', 'T',
'M', 'E', 'R', 'K', 'H', 'A',
'M', 'E', 'T', 'R', 'I', 'A',
+ 'M', 'F', 'E', 'U', 'A', 'E',
+ 'M', 'F', 'I', 'Y', 'A', 'Q',
+ 'M', 'G', 'B', 'A', 'S', 'A',
+ 'M', 'G', 'B', 'E', 'U', 'N',
+ 'M', 'G', 'B', 'I', 'E', 'E',
'M', 'I', 'D', 'D', 'L', 'E',
'M', 'I', 'K', 'R', 'O', 'N',
'M', 'I', 'L', 'L', 'E', 'T',
'M', 'I', 'N', 'I', 'M', 'A',
+ 'M', 'O', 'B', 'I', 'L', 'E',
'M', 'O', 'D', 'E', 'L', 'S',
'M', 'O', 'D', 'U', 'L', 'O',
+ 'M', 'O', 'N', 'K', 'E', 'Y',
'M', 'O', 'R', 'T', 'A', 'R',
+ 'M', 'O', 'S', 'Q', 'U', 'E',
'M', 'O', 'T', 'H', 'E', 'R',
'M', 'U', 'C', 'A', 'A', 'D',
'M', 'U', 'N', 'S', 'U', 'B',
+ 'M', 'U', 'O', 'M', 'A', 'E',
'M', 'U', 'Q', 'D', 'A', 'M',
'M', 'U', 'R', 'G', 'U', '2',
'N', '-', 'C', 'R', 'E', 'E',
@@ -4260,138 +7538,255 @@ static const char unicode_name_words[39544] = {
'N', 'A', 'U', 'D', 'I', 'Z',
'N', 'A', 'U', 'T', 'H', 'S',
'N', 'A', 'X', 'I', 'A', 'N',
+ 'N', 'D', 'O', 'M', 'B', 'U',
'N', 'E', 'N', 'A', 'N', 'O',
'N', 'E', 'S', 'T', 'E', 'D',
'N', 'E', 'U', 'T', 'E', 'R',
+ 'N', 'G', 'A', 'N', 'G', 'U',
+ 'N', 'G', 'G', 'A', 'A', 'M',
+ 'N', 'G', 'G', 'E', 'E', 'T',
+ 'N', 'G', 'G', 'E', 'U', 'X',
+ 'N', 'G', 'G', 'U', 'O', 'M',
+ 'N', 'G', 'G', 'U', 'O', 'N',
+ 'N', 'G', 'G', 'U', 'O', 'Q',
+ 'N', 'G', 'K', 'E', 'U', 'X',
+ 'N', 'G', 'K', 'I', 'E', 'E',
+ 'N', 'G', 'K', 'Y', 'E', 'E',
+ 'N', 'G', 'U', 'A', 'E', 'T',
'N', 'I', 'N', 'D', 'A', '2',
'N', 'I', 'N', 'E', 'T', 'Y',
'N', 'I', 'R', 'U', 'G', 'U',
+ 'N', 'J', 'E', 'E', 'E', 'E',
+ 'N', 'K', 'I', 'N', 'D', 'I',
+ 'N', 'L', '0', '0', '5', 'A',
+ 'N', 'L', '0', '1', '7', 'A',
'N', 'O', 'K', 'H', 'U', 'K',
+ 'N', 'O', 'R', 'D', 'I', 'C',
'N', 'O', 'R', 'M', 'A', 'L',
+ 'N', 'S', 'H', 'I', 'E', 'E',
+ 'N', 'S', 'H', 'U', 'E', 'T',
+ 'N', 'S', 'H', 'U', 'O', 'P',
+ 'N', 'S', 'I', 'E', 'E', 'P',
+ 'N', 'S', 'I', 'E', 'E', 'T',
+ 'N', 'U', '0', '1', '0', 'A',
+ 'N', 'U', '0', '1', '1', 'A',
+ 'N', 'U', '0', '1', '8', 'A',
+ 'N', 'U', '0', '2', '2', 'A',
'N', 'U', 'B', 'I', 'A', 'N',
'N', 'U', 'M', 'B', 'E', 'R',
'N', 'U', 'M', 'E', 'R', 'O',
'O', 'B', 'E', 'L', 'O', 'S',
'O', 'B', 'E', 'L', 'U', 'S',
'O', 'B', 'J', 'E', 'C', 'T',
+ 'O', 'C', 'L', 'O', 'C', 'K',
+ 'O', 'F', 'F', 'I', 'C', 'E',
'O', 'G', 'O', 'N', 'E', 'K',
'O', 'L', 'I', 'G', 'O', 'N',
'O', 'M', 'A', 'L', 'O', 'N',
+ 'O', 'P', 'E', 'N', '-', 'O',
'O', 'P', 'E', 'N', '-', 'P',
'O', 'P', 'P', 'O', 'S', 'E',
'O', 'P', 'T', 'I', 'O', 'N',
+ 'O', 'R', 'A', 'N', 'G', 'E',
'O', 'R', 'C', 'H', 'I', 'D',
'O', 'R', 'I', 'G', 'I', 'N',
+ 'O', 'R', 'K', 'H', 'O', 'N',
'O', 'R', 'N', 'A', 'T', 'E',
+ 'O', 'T', 'H', 'E', 'R', 'S',
'O', 'T', 'T', 'A', 'V', 'A',
'O', 'U', 'N', 'K', 'I', 'A',
+ 'O', 'U', 'T', 'B', 'O', 'X',
'O', 'X', 'E', 'I', 'A', 'I',
'O', 'Y', 'A', 'N', 'N', 'A',
+ 'P', 'A', 'A', 'R', 'A', 'E',
+ 'P', 'A', 'D', 'D', 'L', 'E',
+ 'P', 'A', 'H', 'A', 'W', 'H',
'P', 'A', 'I', 'R', 'E', 'D',
+ 'P', 'A', 'K', 'P', 'A', 'K',
'P', 'A', 'L', 'L', 'A', 'S',
'P', 'A', 'L', 'U', 'T', 'A',
'P', 'A', 'M', 'A', 'D', 'A',
+ 'P', 'A', 'S', 'H', 'A', 'E',
'P', 'A', 'S', 'H', 'T', 'A',
+ 'P', 'E', 'E', 'S', 'H', 'I',
'P', 'E', 'N', 'C', 'I', 'L',
'P', 'E', 'N', 'I', 'H', 'I',
+ 'P', 'E', 'O', 'P', 'L', 'E',
'P', 'E', 'O', 'R', 'T', 'H',
+ 'P', 'E', 'P', 'P', 'E', 'R',
+ 'P', 'E', 'R', 'M', 'I', 'C',
+ 'P', 'E', 'R', 'N', 'I', 'N',
'P', 'E', 'R', 'S', 'O', 'N',
'P', 'E', 'R', 'T', 'H', 'O',
'P', 'E', 'S', 'E', 'T', 'A',
+ 'P', 'E', 'U', 'T', 'A', 'E',
'P', 'H', 'N', 'A', 'E', 'K',
+ 'P', 'H', 'O', 'N', 'E', 'S',
'P', 'H', 'R', 'A', 'S', 'E',
'P', 'I', 'A', 'S', 'M', 'A',
+ 'P', 'I', 'C', 'K', 'E', 'T',
'P', 'I', 'K', 'U', 'R', 'U',
'P', 'I', 'P', 'I', 'N', 'G',
+ 'P', 'I', 'R', 'A', 'C', 'Y',
'P', 'I', 'S', 'C', 'E', 'S',
+ 'P', 'I', 'S', 'T', 'O', 'L',
'P', 'L', 'A', 'N', 'C', 'K',
'P', 'L', 'O', 'P', 'H', 'U',
'P', 'L', 'U', 'M', 'E', 'D',
+ 'P', 'L', 'U', 'R', 'A', 'L',
+ 'P', 'O', 'C', 'K', 'E', 'T',
'P', 'O', 'E', 'T', 'I', 'C',
'P', 'O', 'E', 'T', 'R', 'Y',
'P', 'O', 'I', 'N', 'T', 'O',
+ 'P', 'O', 'I', 'N', 'T', 'S',
'P', 'O', 'K', 'O', 'J', 'I',
+ 'P', 'O', 'L', 'I', 'C', 'E',
+ 'P', 'O', 'L', 'I', 'S', 'H',
+ 'P', 'O', 'M', 'M', 'E', 'E',
+ 'P', 'O', 'O', 'D', 'L', 'E',
+ 'P', 'O', 'P', 'P', 'E', 'R',
'P', 'O', 'S', 'T', 'A', 'L',
+ 'P', 'O', 'T', 'A', 'T', 'O',
+ 'P', 'O', 'W', 'D', 'E', 'R',
'P', 'O', 'W', 'E', 'R', 'S',
+ 'P', 'R', 'A', 'Y', 'E', 'R',
+ 'P', 'R', 'I', 'N', 'T', 'S',
'P', 'R', 'O', 'T', 'O', 'S',
'P', 'S', 'I', 'L', 'O', 'N',
'P', 'T', 'H', 'A', 'H', 'A',
+ 'P', 'U', 'B', 'L', 'I', 'C',
+ 'P', 'U', 'F', 'F', 'E', 'D',
+ 'P', 'U', 'R', 'I', 'F', 'Y',
'P', 'U', 'R', 'I', 'T', 'Y',
+ 'P', 'U', 'R', 'P', 'L', 'E',
'Q', 'A', 'M', 'A', 'T', 'S',
'Q', 'A', 'R', 'N', 'E', 'Y',
'Q', 'E', 'T', 'A', 'N', 'A',
'Q', 'U', 'B', 'U', 'T', 'S',
'R', '-', 'C', 'R', 'E', 'E',
+ 'R', 'A', 'B', 'B', 'I', 'T',
+ 'R', 'A', 'C', 'I', 'N', 'G',
'R', 'A', 'I', 'S', 'E', 'D',
'R', 'A', 'M', 'B', 'A', 'T',
'R', 'A', 'S', 'O', 'U', 'L',
'R', 'E', 'C', 'O', 'R', 'D',
'R', 'E', 'J', 'A', 'N', 'G',
+ 'R', 'E', 'M', 'E', 'D', 'Y',
'R', 'E', 'P', 'E', 'A', 'T',
+ 'R', 'E', 'T', 'O', 'R', 'T',
'R', 'E', 'T', 'U', 'R', 'N',
'R', 'H', 'O', 'T', 'I', 'C',
+ 'R', 'I', 'B', 'B', 'O', 'N',
'R', 'I', 'K', 'R', 'I', 'K',
+ 'R', 'I', 'M', 'G', 'B', 'A',
+ 'R', 'I', 'P', 'P', 'L', 'E',
'R', 'I', 'S', 'I', 'N', 'G',
'R', 'I', 'T', 'U', 'A', 'L',
'R', 'N', 'Y', 'I', 'N', 'G',
+ 'R', 'O', 'C', 'K', 'E', 'T',
+ 'R', 'O', 'L', 'L', 'E', 'R',
+ 'R', 'T', 'H', 'A', 'N', 'G',
+ 'R', 'U', 'N', 'N', 'E', 'R',
'R', 'U', 'N', 'O', 'U', 'T',
'S', 'A', 'A', 'D', 'H', 'U',
+ 'S', 'A', 'F', 'E', 'T', 'Y',
'S', 'A', 'J', 'D', 'A', 'H',
+ 'S', 'A', 'L', 'T', '-', '2',
'S', 'A', 'M', 'E', 'K', 'H',
+ 'S', 'A', 'M', 'V', 'A', 'T',
'S', 'A', 'M', 'Y', 'O', 'K',
+ 'S', 'A', 'N', 'D', 'A', 'L',
+ 'S', 'A', 'N', 'D', 'H', 'I',
'S', 'A', 'N', 'G', 'A', '2',
'S', 'A', 'N', 'N', 'Y', 'A',
'S', 'A', 'T', 'U', 'R', 'N',
'S', 'A', 'Y', 'I', 'S', 'I',
'S', 'C', 'A', 'L', 'E', 'S',
'S', 'C', 'H', 'E', 'M', 'A',
+ 'S', 'C', 'H', 'O', 'O', 'L',
'S', 'C', 'R', 'E', 'E', 'N',
'S', 'C', 'R', 'I', 'P', 'T',
+ 'S', 'C', 'R', 'O', 'L', 'L',
+ 'S', 'E', 'C', 'A', 'N', 'T',
'S', 'E', 'C', 'O', 'N', 'D',
'S', 'E', 'C', 'R', 'E', 'T',
'S', 'E', 'C', 'T', 'O', 'R',
'S', 'E', 'I', 'S', 'M', 'A',
'S', 'E', 'R', 'I', 'F', 'S',
'S', 'E', 'S', 'A', 'M', 'E',
+ 'S', 'E', 'T', 'F', 'O', 'N',
+ 'S', 'E', 'U', 'A', 'E', 'Q',
'S', 'H', 'A', 'D', 'D', 'A',
+ 'S', 'H', 'A', 'D', 'E', 'D',
'S', 'H', 'A', 'K', 'T', 'I',
'S', 'H', 'A', 'P', 'E', 'S',
+ 'S', 'H', 'A', 'V', 'E', 'D',
'S', 'H', 'E', 'E', 'N', 'U',
'S', 'H', 'E', 'Q', 'E', 'L',
'S', 'H', 'E', 'S', 'H', '2',
+ 'S', 'H', 'E', 'U', 'A', 'E',
+ 'S', 'H', 'E', 'U', 'O', 'Q',
'S', 'H', 'I', 'E', 'L', 'D',
+ 'S', 'H', 'I', 'N', 'D', 'A',
'S', 'H', 'I', 'N', 'I', 'G',
+ 'S', 'H', 'I', 'N', 'T', 'O',
+ 'S', 'H', 'I', 'R', 'A', 'E',
'S', 'H', 'O', 'R', 'T', 'S',
+ 'S', 'H', 'O', 'W', 'E', 'R',
+ 'S', 'H', 'R', 'I', 'M', 'P',
+ 'S', 'H', 'R', 'I', 'N', 'E',
'S', 'H', 'U', 'B', 'U', 'R',
'S', 'I', 'C', 'K', 'L', 'E',
+ 'S', 'I', 'L', 'V', 'E', 'R',
'S', 'I', 'N', 'D', 'H', 'I',
'S', 'I', 'N', 'G', 'L', 'E',
'S', 'I', 'X', 'T', 'H', 'S',
'S', 'K', 'E', 'W', 'E', 'D',
+ 'S', 'L', 'E', 'E', 'P', 'Y',
+ 'S', 'L', 'E', 'U', 'T', 'H',
+ 'S', 'L', 'I', 'D', 'E', 'R',
'S', 'L', 'O', 'W', 'L', 'Y',
+ 'S', 'O', 'C', 'C', 'E', 'R',
+ 'S', 'O', 'N', 'J', 'A', 'M',
+ 'S', 'O', 'U', 'N', 'A', 'P',
'S', 'O', 'U', 'R', 'C', 'E',
'S', 'O', 'W', 'I', 'L', 'O',
+ 'S', 'P', 'A', 'D', 'E', 'S',
'S', 'P', 'A', 'T', 'H', 'I',
'S', 'P', 'E', 'E', 'C', 'H',
+ 'S', 'P', 'I', 'D', 'E', 'R',
'S', 'P', 'I', 'R', 'A', 'L',
'S', 'P', 'I', 'R', 'I', 'T',
'S', 'P', 'O', 'K', 'E', 'D',
+ 'S', 'P', 'O', 'R', 'T', 'S',
+ 'S', 'P', 'R', 'E', 'A', 'D',
'S', 'P', 'R', 'I', 'N', 'G',
'S', 'P', 'R', 'O', 'U', 'T',
'S', 'P', 'U', 'N', 'G', 'S',
'S', 'Q', 'U', 'A', 'R', 'E',
'S', 'Q', 'U', 'I', 'S', 'H',
+ 'S', 'T', 'A', 'T', 'U', 'E',
+ 'S', 'T', 'E', 'R', 'E', 'O',
'S', 'T', 'I', 'G', 'M', 'A',
'S', 'T', 'I', 'M', 'M', 'E',
'S', 'T', 'R', 'A', 'I', 'F',
'S', 'T', 'R', 'E', 'S', 'S',
'S', 'T', 'R', 'I', 'D', 'E',
+ 'S', 'T', 'R', 'I', 'K', 'E',
+ 'S', 'T', 'R', 'I', 'P', 'E',
'S', 'T', 'R', 'O', 'K', 'E',
+ 'S', 'T', 'R', 'O', 'N', 'G',
+ 'S', 'T', 'U', 'D', 'I', 'O',
'S', 'U', 'B', 'I', 'T', 'O',
'S', 'U', 'B', 'S', 'E', 'T',
+ 'S', 'U', 'C', 'K', 'E', 'D',
+ 'S', 'U', 'L', 'F', 'U', 'R',
'S', 'U', 'M', 'A', 'S', 'H',
'S', 'U', 'M', 'M', 'E', 'R',
+ 'S', 'U', 'N', 'S', 'E', 'T',
'S', 'U', 'R', 'A', 'N', 'G',
+ 'S', 'U', 'R', 'F', 'E', 'R',
+ 'S', 'V', 'A', 'S', 'T', 'I',
'S', 'W', 'O', 'R', 'D', 'S',
'S', 'Y', 'L', 'O', 'T', 'I',
'S', 'Y', 'M', 'B', 'O', 'L',
@@ -4404,13 +7799,21 @@ static const char unicode_name_words[39544] = {
'T', 'A', 'L', 'I', 'N', 'G',
'T', 'A', 'M', 'I', 'N', 'G',
'T', 'A', 'N', 'N', 'E', 'D',
+ 'T', 'A', 'R', 'G', 'E', 'T',
+ 'T', 'A', 'R', 'T', 'A', 'R',
+ 'T', 'A', 'R', 'U', 'N', 'G',
'T', 'A', 'U', 'R', 'U', 'S',
+ 'T', 'E', 'A', 'C', 'U', 'P',
'T', 'E', 'D', 'U', 'N', 'G',
'T', 'E', 'L', 'E', 'I', 'A',
+ 'T', 'E', 'L', 'L', 'E', 'R',
'T', 'E', 'L', 'O', 'U', 'S',
'T', 'E', 'L', 'U', 'G', 'U',
'T', 'E', 'M', 'P', 'U', 'S',
+ 'T', 'E', 'N', 'N', 'I', 'S',
'T', 'E', 'N', 'U', 'T', 'O',
+ 'T', 'E', 'U', 'A', 'E', 'N',
+ 'T', 'E', 'U', 'A', 'E', 'Q',
'T', 'H', 'A', 'A', 'L', 'U',
'T', 'H', 'A', 'A', 'N', 'A',
'T', 'H', 'A', 'H', 'A', 'N',
@@ -4420,32 +7823,47 @@ static const char unicode_name_words[39544] = {
'T', 'H', 'I', 'R', 'T', 'Y',
'T', 'H', 'I', 'U', 'T', 'H',
'T', 'H', 'R', 'E', 'A', 'D',
+ 'T', 'H', 'U', 'M', 'B', 'S',
'T', 'H', 'Y', 'O', 'O', 'M',
+ 'T', 'I', 'C', 'K', 'E', 'T',
'T', 'I', 'K', 'E', 'U', 'T',
'T', 'I', 'P', 'E', 'H', 'A',
+ 'T', 'I', 'R', 'Y', 'A', 'K',
+ 'T', 'O', 'I', 'L', 'E', 'T',
+ 'T', 'O', 'L', 'O', 'N', 'G',
+ 'T', 'O', 'M', 'A', 'T', 'O',
'T', 'O', 'N', 'E', '-', '1',
'T', 'O', 'N', 'E', '-', '2',
'T', 'O', 'N', 'E', '-', '3',
'T', 'O', 'N', 'E', '-', '4',
'T', 'O', 'N', 'E', '-', '5',
'T', 'O', 'N', 'E', '-', '6',
+ 'T', 'O', 'N', 'E', '-', '7',
+ 'T', 'O', 'N', 'E', '-', '8',
'T', 'O', 'N', 'G', 'U', 'E',
'T', 'O', 'P', 'B', 'A', 'R',
'T', 'R', 'I', 'P', 'L', 'E',
'T', 'R', 'I', 'P', 'L', 'I',
'T', 'R', 'I', 'P', 'O', 'D',
'T', 'R', 'I', 'T', 'O', 'S',
+ 'T', 'R', 'O', 'P', 'H', 'Y',
+ 'T', 'S', 'H', 'E', 'E', 'J',
+ 'T', 'S', 'H', 'O', 'O', 'J',
'T', 'S', 'H', 'O', 'O', 'K',
'T', 'S', 'H', 'U', 'G', 'S',
'T', 'T', 'E', 'H', 'E', 'H',
'T', 'U', 'A', 'R', 'E', 'G',
'T', 'U', 'G', 'R', 'I', 'K',
'T', 'U', 'R', 'B', 'A', 'N',
+ 'T', 'U', 'R', 'K', 'E', 'Y',
+ 'T', 'U', 'R', 'K', 'I', 'C',
'T', 'U', 'R', 'N', 'E', 'D',
'T', 'U', 'R', 'T', 'L', 'E',
'T', 'V', 'R', 'I', 'D', 'O',
'T', 'W', 'E', 'L', 'V', 'E',
'T', 'W', 'E', 'N', 'T', 'Y',
+ 'T', 'W', 'O', '-', 'E', 'M',
+ 'T', 'X', 'H', 'E', 'E', 'J',
'T', 'Y', 'P', 'E', '-', '1',
'T', 'Y', 'P', 'E', '-', '2',
'T', 'Y', 'P', 'E', '-', '3',
@@ -4465,22 +7883,37 @@ static const char unicode_name_words[39544] = {
'V', 'A', 'R', 'I', 'K', 'A',
'V', 'E', 'C', 'T', 'O', 'R',
'V', 'E', 'S', 'S', 'E', 'L',
+ 'V', 'I', 'D', 'J', '-', '2',
+ 'V', 'I', 'O', 'L', 'I', 'N',
'V', 'I', 'R', 'A', 'M', 'A',
'V', 'I', 'R', 'I', 'A', 'M',
'V', 'O', 'I', 'C', 'E', 'D',
'V', 'O', 'L', 'U', 'M', 'E',
'V', 'R', 'A', 'C', 'H', 'Y',
'V', 'U', 'L', 'G', 'A', 'R',
+ 'W', 'A', 'N', 'I', 'N', 'G',
+ 'W', 'A', 'R', 'A', 'N', 'G',
+ 'W', 'A', 'V', 'I', 'N', 'G',
+ 'W', 'A', 'X', 'I', 'N', 'G',
'W', 'E', 'A', 'P', 'O', 'N',
'W', 'E', 'I', 'G', 'H', 'T',
'W', 'I', 'G', 'G', 'L', 'Y',
+ 'W', 'I', 'N', 'D', 'O', 'W',
'W', 'I', 'N', 'T', 'E', 'R',
+ 'W', 'I', 'T', 'H', 'I', 'N',
'W', 'O', 'L', 'O', 'S', 'O',
+ 'W', 'O', 'M', 'A', 'N', 'S',
+ 'W', 'O', 'M', 'E', 'N', 'S',
+ 'W', 'O', 'R', 'K', 'E', 'R',
'W', 'R', 'E', 'A', 'T', 'H',
+ 'W', 'R', 'E', 'N', 'C', 'H',
'X', 'E', 'S', 'T', 'E', 'S',
'Y', '-', 'C', 'R', 'E', 'E',
'Y', 'A', 'K', 'A', 'S', 'H',
'Y', 'E', 'L', 'L', 'O', 'W',
+ 'Y', 'E', 'O', '-', 'Y', 'A',
+ 'Y', 'E', 'U', 'A', 'E', 'T',
+ 'Y', 'E', 'U', 'R', 'A', 'E',
'Y', 'F', 'E', 'S', 'I', 'S',
'Y', 'O', '-', 'Y', 'A', 'E',
'Y', 'O', '-', 'Y', 'E', 'O',
@@ -4488,56 +7921,88 @@ static const char unicode_name_words[39544] = {
'Y', 'U', '-', 'Y', 'E', 'O',
'Z', 'E', 'M', 'L', 'J', 'A',
'Z', 'E', 'M', 'L', 'Y', 'A',
+ 'Z', 'H', 'A', 'Y', 'I', 'N',
'Z', 'I', 'G', 'Z', 'A', 'G',
'Z', 'Q', 'A', 'P', 'H', 'A',
+ 'Z', 'W', 'N', 'B', 'S', 'P',
'A', 'A', 'Y', 'A', 'N', 'N', 'A',
'A', 'B', 'A', 'F', 'I', 'L', 'I',
'A', 'B', 'Y', 'S', 'M', 'A', 'L',
'A', 'C', 'A', 'D', 'E', 'M', 'Y',
'A', 'C', 'C', 'O', 'U', 'N', 'T',
+ 'A', 'D', 'D', 'R', 'E', 'S', 'S',
'A', 'D', 'V', 'A', 'N', 'C', 'E',
'A', 'E', 'Y', 'A', 'N', 'N', 'A',
'A', 'F', 'G', 'H', 'A', 'N', 'I',
'A', 'F', 'R', 'I', 'C', 'A', 'N',
+ 'A', 'G', 'A', 'I', 'N', 'S', 'T',
'A', 'H', 'A', 'G', 'G', 'A', 'R',
'A', 'I', 'V', 'I', 'L', 'I', 'K',
'A', 'I', 'Y', 'A', 'N', 'N', 'A',
'A', 'L', 'E', 'M', 'B', 'I', 'C',
'A', 'L', 'I', 'G', 'N', 'E', 'D',
'A', 'L', 'L', 'A', 'H', 'O', 'U',
+ 'A', 'M', 'A', 'L', 'G', 'A', 'M',
+ 'A', 'M', 'P', 'H', 'O', 'R', 'A',
'A', 'N', 'G', 'U', 'L', 'A', 'R',
'A', 'N', 'N', 'U', 'I', 'T', 'Y',
+ 'A', 'N', 'T', 'E', 'N', 'N', 'A',
'A', 'P', 'O', 'T', 'H', 'E', 'S',
+ 'A', 'R', 'A', 'B', 'I', 'A', 'N',
+ 'A', 'R', 'A', 'E', 'A', '-', 'A',
+ 'A', 'R', 'A', 'E', 'A', '-', 'E',
'A', 'R', 'A', 'E', 'A', '-', 'I',
'A', 'R', 'A', 'E', 'A', '-', 'U',
+ 'A', 'R', 'A', 'M', 'A', 'I', 'C',
'A', 'R', 'C', 'H', 'A', 'I', 'C',
+ 'A', 'R', 'K', 'A', 'A', 'N', 'U',
'A', 'R', 'K', 'T', 'I', 'K', 'O',
+ 'A', 'R', 'S', 'E', 'N', 'I', 'C',
'A', 'U', 'S', 'T', 'R', 'A', 'L',
'A', 'U', 'Y', 'A', 'N', 'N', 'A',
'A', 'V', 'E', 'R', 'A', 'G', 'E',
+ 'A', 'V', 'E', 'S', 'T', 'A', 'N',
'B', 'A', 'A', 'R', 'E', 'R', 'U',
+ 'B', 'A', 'G', 'G', 'A', 'G', 'E',
'B', 'A', 'I', 'R', 'K', 'A', 'N',
+ 'B', 'A', 'L', 'L', 'O', 'O', 'N',
'B', 'A', 'M', 'B', 'O', 'O', 'S',
'B', 'A', 'R', 'L', 'I', 'N', 'E',
'B', 'A', 'R', 'R', 'E', 'K', 'H',
'B', 'A', 'R', 'R', 'I', 'E', 'R',
'B', 'A', 'S', 'H', 'K', 'I', 'R',
'B', 'A', 'T', 'H', 'T', 'U', 'B',
+ 'B', 'A', 'T', 'T', 'E', 'R', 'Y',
'B', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'B', 'E', 'A', 'T', 'I', 'N', 'G',
'B', 'E', 'C', 'A', 'U', 'S', 'E',
'B', 'E', 'E', 'H', 'I', 'V', 'E',
+ 'B', 'E', 'L', 'L', 'H', 'O', 'P',
'B', 'E', 'N', 'G', 'A', 'L', 'I',
'B', 'E', 'N', 'Z', 'E', 'N', 'E',
'B', 'E', 'T', 'W', 'E', 'E', 'N',
+ 'B', 'I', 'C', 'Y', 'C', 'L', 'E',
'B', 'I', 'N', 'D', 'I', 'N', 'G',
+ 'B', 'I', 'S', 'M', 'U', 'T', 'H',
'B', 'J', 'A', 'R', 'K', 'A', 'N',
'B', 'L', 'E', 'N', 'D', 'E', 'D',
+ 'B', 'L', 'O', 'S', 'S', 'O', 'M',
+ 'B', 'L', 'O', 'W', 'I', 'N', 'G',
+ 'B', 'O', 'R', 'A', 'X', '-', '2',
+ 'B', 'O', 'R', 'A', 'X', '-', '3',
+ 'B', 'O', 'U', 'Q', 'U', 'E', 'T',
+ 'B', 'O', 'W', 'L', 'I', 'N', 'G',
'B', 'R', 'A', 'C', 'K', 'E', 'T',
'B', 'R', 'A', 'I', 'L', 'L', 'E',
'B', 'R', 'A', 'K', 'C', 'E', 'T',
'B', 'R', 'I', 'S', 'T', 'L', 'E',
+ 'B', 'U', 'B', 'B', 'L', 'E', 'S',
+ 'B', 'U', 'F', 'F', 'A', 'L', 'O',
+ 'B', 'U', 'R', 'R', 'I', 'T', 'O',
'B', 'U', 'U', 'M', 'I', 'S', 'H',
+ 'C', 'A', 'B', 'I', 'N', 'E', 'T',
'C', 'A', 'E', 'S', 'U', 'R', 'A',
+ 'C', 'A', 'M', 'P', 'I', 'N', 'G',
'C', 'A', 'P', 'I', 'T', 'A', 'L',
'C', 'A', 'P', 'T', 'I', 'V', 'E',
'C', 'A', 'R', 'R', 'I', 'E', 'R',
@@ -4548,32 +8013,48 @@ static const char unicode_name_words[39544] = {
'C', 'E', 'L', 'S', 'I', 'U', 'S',
'C', 'E', 'N', 'T', 'R', 'E', 'D',
'C', 'H', 'A', 'M', 'I', 'L', 'I',
+ 'C', 'H', 'A', 'P', 'T', 'E', 'R',
'C', 'H', 'A', 'R', 'I', 'O', 'T',
+ 'C', 'H', 'E', 'C', 'K', 'E', 'R',
+ 'C', 'H', 'E', 'I', 'N', 'A', 'P',
'C', 'H', 'E', 'V', 'R', 'O', 'N',
+ 'C', 'H', 'I', 'C', 'K', 'E', 'N',
'C', 'H', 'I', 'E', 'U', 'C', 'H',
'C', 'H', 'I', 'N', 'E', 'S', 'E',
+ 'C', 'H', 'I', 'N', 'O', 'O', 'K',
'C', 'H', 'R', 'O', 'N', 'O', 'N',
'C', 'H', 'R', 'O', 'N', 'O', 'U',
'C', 'I', 'R', 'C', 'L', 'E', 'D',
'C', 'I', 'R', 'C', 'L', 'E', 'S',
+ 'C', 'L', 'A', 'P', 'P', 'E', 'R',
+ 'C', 'L', 'E', 'A', 'V', 'E', 'R',
'C', 'L', 'O', 'S', 'I', 'N', 'G',
'C', 'L', 'O', 'S', 'U', 'R', 'E',
'C', 'L', 'O', 'T', 'H', 'E', 'S',
'C', 'L', 'U', 'S', 'T', 'E', 'R',
+ 'C', 'O', 'A', 'S', 'T', 'E', 'R',
'C', 'O', 'M', 'P', 'A', 'R', 'E',
'C', 'O', 'N', 'I', 'C', 'A', 'L',
'C', 'O', 'N', 'T', 'A', 'C', 'T',
'C', 'O', 'N', 'T', 'A', 'I', 'N',
'C', 'O', 'N', 'T', 'O', 'U', 'R',
'C', 'O', 'N', 'T', 'R', 'O', 'L',
+ 'C', 'O', 'O', 'K', 'I', 'N', 'G',
'C', 'O', 'R', 'N', 'E', 'R', 'S',
'C', 'O', 'R', 'O', 'N', 'I', 'S',
'C', 'O', 'R', 'R', 'E', 'C', 'T',
'C', 'O', 'U', 'N', 'C', 'I', 'L',
+ 'C', 'R', 'A', 'C', 'K', 'E', 'R',
+ 'C', 'R', 'I', 'C', 'K', 'E', 'T',
'C', 'R', 'O', 'S', 'S', 'E', 'D',
+ 'C', 'R', 'Y', 'S', 'T', 'A', 'L',
'C', 'U', 'R', 'R', 'E', 'N', 'T',
+ 'C', 'U', 'R', 'S', 'I', 'V', 'E',
'C', 'U', 'R', 'V', 'I', 'N', 'G',
+ 'C', 'U', 'S', 'T', 'A', 'R', 'D',
+ 'C', 'U', 'S', 'T', 'O', 'M', 'S',
'C', 'W', 'E', 'O', 'R', 'T', 'H',
+ 'C', 'Y', 'C', 'L', 'O', 'N', 'E',
'C', 'Y', 'P', 'E', 'R', 'U', 'S',
'C', 'Y', 'P', 'R', 'I', 'O', 'T',
'D', 'A', 'G', 'A', 'L', 'G', 'A',
@@ -4583,9 +8064,13 @@ static const char unicode_name_words[39544] = {
'D', 'A', 'Y', 'A', 'N', 'N', 'A',
'D', 'E', 'C', 'A', 'Y', 'E', 'D',
'D', 'E', 'C', 'I', 'M', 'A', 'L',
+ 'D', 'E', 'G', 'R', 'E', 'E', 'S',
'D', 'E', 'L', 'P', 'H', 'I', 'C',
'D', 'E', 'S', 'E', 'R', 'E', 'T',
+ 'D', 'E', 'S', 'K', 'T', 'O', 'P',
'D', 'H', 'A', 'L', 'A', 'T', 'H',
+ 'D', 'H', 'A', 'L', 'E', 'T', 'H',
+ 'D', 'H', 'A', 'M', 'E', 'D', 'H',
'D', 'I', 'A', 'M', 'O', 'N', 'D',
'D', 'I', 'A', 'R', 'G', 'O', 'N',
'D', 'I', 'G', 'A', 'M', 'M', 'A',
@@ -4595,10 +8080,12 @@ static const char unicode_name_words[39544] = {
'D', 'I', 'N', 'G', 'B', 'A', 'T',
'D', 'I', 'P', 'L', 'O', 'U', 'N',
'D', 'I', 'S', 'I', 'M', 'O', 'U',
+ 'D', 'I', 'S', 'T', 'I', 'L', 'L',
'D', 'I', 'V', 'I', 'D', 'E', 'D',
'D', 'I', 'V', 'I', 'D', 'E', 'R',
'D', 'I', 'V', 'I', 'D', 'E', 'S',
'D', 'I', 'V', 'O', 'R', 'C', 'E',
+ 'D', 'O', 'L', 'P', 'H', 'I', 'N',
'D', 'O', 'T', 'L', 'E', 'S', 'S',
'D', 'O', 'T', 'S', '-', '1', '2',
'D', 'O', 'T', 'S', '-', '1', '3',
@@ -4630,6 +8117,8 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'T', 'S', '-', '7', '8',
'D', 'O', 'U', 'B', 'L', 'E', 'D',
'D', 'R', 'A', 'C', 'H', 'M', 'A',
+ 'D', 'R', 'O', 'P', 'L', 'E', 'T',
+ 'D', 'Y', 'N', 'A', 'M', 'I', 'C',
'E', 'A', 'B', 'H', 'A', 'D', 'H',
'E', 'A', 'D', 'H', 'A', 'D', 'H',
'E', 'A', 'R', 'T', 'H', 'L', 'Y',
@@ -4638,22 +8127,37 @@ static const char unicode_name_words[39544] = {
'E', 'E', 'Y', 'A', 'N', 'N', 'A',
'E', 'I', 'G', 'H', 'T', 'H', 'S',
'E', 'L', 'A', 'F', 'R', 'O', 'N',
+ 'E', 'L', 'A', 'M', 'I', 'T', 'E',
+ 'E', 'L', 'B', 'A', 'S', 'A', 'N',
'E', 'L', 'E', 'M', 'E', 'N', 'T',
'E', 'L', 'L', 'I', 'P', 'S', 'E',
'E', 'N', 'A', 'R', 'X', 'I', 'S',
'E', 'N', 'Q', 'U', 'I', 'R', 'Y',
+ 'E', 'N', 'T', 'R', 'Y', '-', '1',
+ 'E', 'N', 'T', 'R', 'Y', '-', '2',
'E', 'P', 'S', 'I', 'L', 'O', 'N',
'E', 'T', 'N', 'A', 'H', 'T', 'A',
'E', 'V', 'E', 'N', 'I', 'N', 'G',
+ 'F', 'A', 'C', 'I', 'N', 'G', 'S',
+ 'F', 'A', 'C', 'T', 'O', 'R', 'Y',
'F', 'A', 'I', 'L', 'U', 'R', 'E',
'F', 'A', 'L', 'L', 'I', 'N', 'G',
+ 'F', 'A', 'T', 'I', 'G', 'U', 'E',
'F', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'F', 'E', 'A', 'R', 'F', 'U', 'L',
'F', 'E', 'A', 'T', 'H', 'E', 'R',
'F', 'E', 'R', 'M', 'A', 'T', 'A',
'F', 'I', 'F', 'T', 'E', 'E', 'N',
+ 'F', 'I', 'N', 'G', 'E', 'R', 'S',
'F', 'I', 'S', 'H', 'E', 'Y', 'E',
+ 'F', 'I', 'S', 'H', 'I', 'N', 'G',
+ 'F', 'L', 'E', 'U', 'R', 'O', 'N',
+ 'F', 'L', 'O', 'W', 'E', 'R', 'S',
+ 'F', 'L', 'O', 'W', 'I', 'N', 'G',
+ 'F', 'L', 'U', 'S', 'H', 'E', 'D',
'F', 'O', 'N', 'G', 'M', 'A', 'N',
'F', 'O', 'R', 'K', 'I', 'N', 'G',
+ 'F', 'O', 'R', 'W', 'A', 'R', 'D',
'F', 'R', 'A', 'K', 'T', 'U', 'R',
'F', 'U', 'N', 'E', 'R', 'A', 'L',
'G', 'A', 'A', 'H', 'L', 'A', 'A',
@@ -4661,14 +8165,25 @@ static const char unicode_name_words[39544] = {
'G', 'A', 'Y', 'A', 'N', 'N', 'A',
'G', 'E', 'N', 'E', 'R', 'I', 'C',
'G', 'E', 'S', 'H', 'T', 'I', 'N',
+ 'G', 'E', 'S', 'T', 'U', 'R', 'E',
+ 'G', 'H', 'A', 'A', 'M', 'A', 'E',
+ 'G', 'I', 'B', 'B', 'O', 'U', 'S',
'G', 'I', 'R', 'U', 'D', 'A', 'A',
'G', 'L', 'A', 'G', 'O', 'L', 'I',
'G', 'L', 'O', 'T', 'T', 'A', 'L',
+ 'G', 'L', 'O', 'W', 'I', 'N', 'G',
+ 'G', 'R', 'A', 'D', 'U', 'A', 'L',
+ 'G', 'R', 'A', 'N', 'T', 'H', 'A',
'G', 'R', 'E', 'A', 'T', 'E', 'R',
+ 'G', 'R', 'O', 'W', 'I', 'N', 'G',
'G', 'U', 'A', 'R', 'A', 'N', 'I',
'H', 'A', 'F', 'U', 'K', 'H', 'A',
+ 'H', 'A', 'I', 'R', 'C', 'U', 'T',
'H', 'A', 'L', 'A', 'N', 'T', 'A',
'H', 'A', 'L', 'B', 'E', 'R', 'D',
+ 'H', 'A', 'M', 'S', 'T', 'E', 'R',
+ 'H', 'A', 'N', 'D', 'B', 'A', 'G',
+ 'H', 'A', 'N', 'D', 'L', 'E', 'S',
'H', 'A', 'N', 'U', 'N', 'O', 'O',
'H', 'A', 'R', 'P', 'O', 'O', 'N',
'H', 'A', 'S', 'A', 'N', 'T', 'A',
@@ -4677,9 +8192,12 @@ static const char unicode_name_words[39544] = {
'H', 'E', 'A', 'D', 'I', 'N', 'G',
'H', 'E', 'R', 'A', 'E', 'U', 'M',
'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ 'H', 'I', 'T', 'T', 'I', 'N', 'G',
'H', 'O', 'L', 'D', 'I', 'N', 'G',
'H', 'R', 'Y', 'V', 'N', 'I', 'A',
+ 'H', 'U', 'G', 'G', 'I', 'N', 'G',
'H', 'U', 'N', 'D', 'R', 'E', 'D',
+ 'H', 'Y', 'G', 'I', 'E', 'I', 'A',
'I', '-', 'A', 'R', 'A', 'E', 'A',
'I', 'B', 'I', 'F', 'I', 'L', 'I',
'I', 'C', 'H', 'A', 'D', 'I', 'N',
@@ -4687,107 +8205,231 @@ static const char unicode_name_words[39544] = {
'I', 'L', 'I', 'M', 'M', 'U', '3',
'I', 'L', 'I', 'M', 'M', 'U', '4',
'I', 'M', 'I', 'S', 'E', 'O', 'S',
+ 'I', 'N', '-', 'A', 'L', 'A', 'F',
'I', 'N', 'H', 'I', 'B', 'I', 'T',
'I', 'N', 'I', 'T', 'I', 'A', 'L',
'I', 'N', 'S', 'U', 'L', 'A', 'R',
'I', 'N', 'V', 'E', 'R', 'S', 'E',
'I', 'O', 'D', 'H', 'A', 'D', 'H',
'I', 'O', 'T', 'A', 'T', 'E', 'D',
+ 'I', 'S', 'O', 'L', 'A', 'T', 'E',
+ 'I', 'Z', 'A', 'K', 'A', 'Y', 'A',
'I', 'Z', 'H', 'I', 'T', 'S', 'A',
'J', 'A', 'N', 'U', 'A', 'R', 'Y',
'J', 'A', 'Y', 'A', 'N', 'N', 'A',
'J', 'E', 'G', 'O', 'G', 'A', 'N',
'J', 'U', 'P', 'I', 'T', 'E', 'R',
+ 'K', 'A', 'A', 'N', 'K', 'U', 'U',
'K', 'A', 'K', 'A', 'B', 'A', 'T',
'K', 'A', 'N', 'N', 'A', 'D', 'A',
'K', 'A', 'N', 'T', 'A', 'J', 'A',
'K', 'A', 'R', 'A', 'T', 'T', 'O',
'K', 'A', 'R', 'O', 'R', 'I', 'I',
+ 'K', 'A', 'T', 'H', 'A', 'K', 'A',
'K', 'A', 'Y', 'A', 'N', 'N', 'A',
'K', 'E', 'E', 'P', 'I', 'N', 'G',
'K', 'E', 'M', 'B', 'A', 'N', 'G',
'K', 'E', 'N', 'T', 'I', 'M', 'A',
+ 'K', 'E', 'U', 'A', 'E', 'R', 'I',
+ 'K', 'E', 'U', 'S', 'E', 'U', 'X',
+ 'K', 'E', 'U', 'Y', 'E', 'U', 'X',
'K', 'H', 'I', 'E', 'U', 'K', 'H',
+ 'K', 'I', 'K', 'A', 'K', 'U', 'I',
'K', 'I', 'N', 'S', 'H', 'I', 'P',
'K', 'I', 'R', 'G', 'H', 'I', 'Z',
+ 'K', 'I', 'S', 'S', 'I', 'N', 'G',
+ 'K', 'N', 'U', 'C', 'K', 'L', 'E',
'K', 'O', 'M', 'B', 'U', 'V', 'A',
'K', 'O', 'O', 'M', 'U', 'U', 'T',
+ 'K', 'O', 'Q', 'N', 'D', 'O', 'N',
'K', 'O', 'R', 'A', 'N', 'I', 'C',
'K', 'O', 'R', 'O', 'N', 'I', 'S',
'K', 'R', 'A', 'T', 'I', 'M', 'A',
'K', 'U', 'R', 'O', 'O', 'N', 'E',
'K', 'Y', 'A', 'T', 'H', 'O', 'S',
'K', 'Y', 'L', 'I', 'S', 'M', 'A',
+ 'L', 'A', 'K', '-', '0', '0', '3',
+ 'L', 'A', 'K', '-', '0', '2', '0',
+ 'L', 'A', 'K', '-', '0', '2', '1',
+ 'L', 'A', 'K', '-', '0', '2', '5',
+ 'L', 'A', 'K', '-', '0', '3', '0',
+ 'L', 'A', 'K', '-', '0', '5', '0',
+ 'L', 'A', 'K', '-', '0', '5', '1',
+ 'L', 'A', 'K', '-', '0', '6', '2',
+ 'L', 'A', 'K', '-', '0', '7', '9',
+ 'L', 'A', 'K', '-', '0', '8', '0',
+ 'L', 'A', 'K', '-', '0', '8', '1',
+ 'L', 'A', 'K', '-', '0', '9', '2',
+ 'L', 'A', 'K', '-', '1', '3', '0',
+ 'L', 'A', 'K', '-', '1', '4', '2',
+ 'L', 'A', 'K', '-', '2', '1', '0',
+ 'L', 'A', 'K', '-', '2', '1', '9',
+ 'L', 'A', 'K', '-', '2', '2', '0',
+ 'L', 'A', 'K', '-', '2', '2', '5',
+ 'L', 'A', 'K', '-', '2', '2', '8',
+ 'L', 'A', 'K', '-', '2', '3', '8',
+ 'L', 'A', 'K', '-', '2', '6', '5',
+ 'L', 'A', 'K', '-', '2', '6', '6',
+ 'L', 'A', 'K', '-', '3', '4', '3',
+ 'L', 'A', 'K', '-', '3', '4', '7',
+ 'L', 'A', 'K', '-', '3', '4', '8',
+ 'L', 'A', 'K', '-', '3', '8', '3',
+ 'L', 'A', 'K', '-', '3', '8', '4',
+ 'L', 'A', 'K', '-', '3', '9', '0',
+ 'L', 'A', 'K', '-', '4', '4', '1',
+ 'L', 'A', 'K', '-', '4', '4', '9',
+ 'L', 'A', 'K', '-', '4', '5', '0',
+ 'L', 'A', 'K', '-', '4', '5', '7',
+ 'L', 'A', 'K', '-', '4', '7', '0',
+ 'L', 'A', 'K', '-', '4', '8', '3',
+ 'L', 'A', 'K', '-', '4', '9', '0',
+ 'L', 'A', 'K', '-', '4', '9', '2',
+ 'L', 'A', 'K', '-', '4', '9', '3',
+ 'L', 'A', 'K', '-', '4', '9', '5',
+ 'L', 'A', 'K', '-', '5', '5', '0',
+ 'L', 'A', 'K', '-', '6', '0', '8',
+ 'L', 'A', 'K', '-', '6', '1', '7',
+ 'L', 'A', 'K', '-', '6', '3', '6',
+ 'L', 'A', 'K', '-', '6', '4', '8',
+ 'L', 'A', 'K', '-', '6', '6', '8',
+ 'L', 'A', 'K', '-', '7', '2', '4',
+ 'L', 'A', 'K', '-', '7', '4', '9',
+ 'L', 'A', 'N', 'T', 'E', 'R', 'N',
+ 'L', 'A', 'R', 'G', 'E', 'S', 'T',
'L', 'A', 'T', 'E', 'R', 'A', 'L',
'L', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'L', 'E', 'A', 'D', 'I', 'N', 'G',
'L', 'E', 'A', 'T', 'H', 'E', 'R',
'L', 'E', 'G', 'E', 'T', 'O', 'S',
+ 'L', 'E', 'O', 'P', 'A', 'R', 'D',
+ 'L', 'E', 'T', 'T', 'E', 'R', 'S',
+ 'L', 'I', 'B', 'E', 'R', 'T', 'Y',
+ 'L', 'I', 'C', 'K', 'I', 'N', 'G',
'L', 'I', 'M', 'I', 'T', 'E', 'D',
'L', 'I', 'N', 'K', 'I', 'N', 'G',
'L', 'J', 'U', 'D', 'I', 'J', 'E',
'L', 'O', 'G', 'I', 'C', 'A', 'L',
+ 'L', 'O', 'W', '-', 'M', 'I', 'D',
+ 'L', 'O', 'W', 'E', 'R', 'E', 'D',
'L', 'O', 'Z', 'E', 'N', 'G', 'E',
+ 'L', 'U', 'G', 'G', 'A', 'G', 'E',
'L', 'Y', 'G', 'I', 'S', 'M', 'A',
+ 'M', 'A', 'A', 'Y', 'Y', 'A', 'A',
+ 'M', 'A', 'C', 'H', 'I', 'N', 'E',
+ 'M', 'A', 'E', 'K', 'E', 'U', 'P',
+ 'M', 'A', 'E', 'N', 'J', 'E', 'T',
'M', 'A', 'H', 'J', 'O', 'N', 'G',
'M', 'A', 'I', 'K', 'U', 'R', 'O',
+ 'M', 'A', 'I', 'L', 'B', 'O', 'X',
'M', 'A', 'I', 'M', 'U', 'A', 'N',
'M', 'A', 'K', 'S', 'U', 'R', 'A',
'M', 'A', 'L', 'A', 'K', 'O', 'N',
+ 'M', 'A', 'L', 'E', 'E', 'R', 'I',
'M', 'A', 'L', 'T', 'E', 'S', 'E',
+ 'M', 'A', 'N', 'D', 'A', 'I', 'C',
+ 'M', 'A', 'N', 'S', 'U', 'A', 'E',
'M', 'A', 'N', 'S', 'Y', 'O', 'N',
'M', 'A', 'R', 'B', 'U', 'T', 'A',
'M', 'A', 'R', 'C', 'A', 'T', 'O',
+ 'M', 'A', 'R', 'W', 'A', 'R', 'I',
+ 'M', 'A', 'S', 'S', 'A', 'G', 'E',
'M', 'A', 'S', 'S', 'I', 'N', 'G',
'M', 'A', 'T', 'T', 'O', 'C', 'K',
'M', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'M', 'B', 'A', 'A', 'K', 'E', 'T',
+ 'M', 'B', 'A', 'A', 'R', 'A', 'E',
'M', 'E', 'A', 'S', 'U', 'R', 'E',
+ 'M', 'E', 'D', 'I', 'C', 'A', 'L',
'M', 'E', 'E', 'T', 'O', 'R', 'U',
'M', 'E', 'G', 'A', 'T', 'O', 'N',
+ 'M', 'E', 'L', 'O', 'D', 'I', 'C',
+ 'M', 'E', 'N', 'O', 'R', 'A', 'H',
'M', 'E', 'R', 'C', 'U', 'R', 'Y',
+ 'M', 'G', 'B', 'A', 'S', 'A', 'Q',
+ 'M', 'G', 'B', 'O', 'F', 'U', 'M',
'M', 'I', 'D', 'L', 'I', 'N', 'E',
'M', 'I', 'K', 'U', 'R', 'O', 'N',
+ 'M', 'I', 'N', 'I', 'B', 'U', 'S',
+ 'M', 'K', 'P', 'A', 'R', 'A', 'Q',
'M', 'O', 'D', 'E', 'S', 'T', 'Y',
+ 'M', 'O', 'N', 'S', 'T', 'E', 'R',
+ 'M', 'O', 'O', 'M', 'E', 'U', 'T',
+ 'M', 'O', 'O', 'M', 'P', 'U', 'Q',
'M', 'O', 'R', 'N', 'I', 'N', 'G',
+ 'M', 'O', 'R', 'T', 'U', 'U', 'M',
+ 'M', 'U', 'L', 'T', 'A', 'N', 'I',
'M', 'U', 'S', 'I', 'C', 'A', 'L',
'M', 'Y', 'A', 'N', 'M', 'A', 'R',
'M', 'Y', 'S', 'L', 'I', 'T', 'E',
'N', 'A', 'S', 'K', 'A', 'P', 'I',
'N', 'A', 'T', 'U', 'R', 'A', 'L',
'N', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'N', 'E', 'C', 'K', 'T', 'I', 'E',
'N', 'E', 'G', 'A', 'T', 'E', 'D',
'N', 'E', 'I', 'T', 'H', 'E', 'R',
'N', 'E', 'P', 'T', 'U', 'N', 'E',
+ 'N', 'E', 'Q', 'U', 'D', 'A', 'A',
'N', 'E', 'U', 'T', 'R', 'A', 'L',
'N', 'E', 'W', 'L', 'I', 'N', 'E',
'N', 'G', 'E', 'A', 'D', 'A', 'L',
+ 'N', 'G', 'G', 'E', 'E', 'E', 'E',
+ 'N', 'G', 'G', 'E', 'U', 'A', 'E',
+ 'N', 'G', 'G', 'U', 'A', 'E', 'N',
+ 'N', 'G', 'G', 'U', 'E', 'E', 'T',
+ 'N', 'G', 'G', 'U', 'R', 'A', 'E',
+ 'N', 'G', 'G', 'W', 'A', 'E', 'N',
+ 'N', 'G', 'K', 'A', 'A', 'M', 'I',
+ 'N', 'G', 'K', 'E', 'U', 'R', 'I',
+ 'N', 'G', 'K', 'I', 'N', 'D', 'I',
+ 'N', 'G', 'K', 'W', 'A', 'E', 'N',
'N', 'I', 'K', 'A', 'H', 'I', 'T',
+ 'N', 'J', 'A', 'E', 'M', 'L', 'I',
+ 'N', 'J', 'E', 'U', 'A', 'E', 'M',
+ 'N', 'K', 'A', 'A', 'R', 'A', 'E',
'N', 'O', 'M', 'I', 'N', 'A', 'L',
'N', 'O', 'T', 'C', 'H', 'E', 'D',
+ 'N', 'S', 'E', 'U', 'A', 'E', 'N',
+ 'N', 'T', 'O', 'Q', 'P', 'E', 'N',
+ 'N', 'U', 'M', 'B', 'E', 'R', 'S',
'N', 'U', 'M', 'E', 'R', 'A', 'L',
'N', 'U', 'M', 'E', 'R', 'I', 'C',
'N', 'U', 'N', 'A', 'V', 'I', 'K',
'N', 'U', 'N', 'A', 'V', 'U', 'T',
'N', 'U', 'T', 'I', 'L', 'L', 'U',
+ 'N', 'Y', 'A', 'E', 'M', 'A', 'E',
'N', 'Y', 'I', 'N', '-', 'D', 'O',
'O', 'B', 'L', 'I', 'Q', 'U', 'E',
'O', 'B', 'O', 'F', 'I', 'L', 'I',
+ 'O', 'C', 'T', 'A', 'G', 'O', 'N',
'O', 'C', 'T', 'O', 'B', 'E', 'R',
+ 'O', 'C', 'T', 'O', 'P', 'U', 'S',
+ 'O', 'F', 'F', 'I', 'C', 'E', 'R',
+ 'O', 'J', 'I', 'B', 'W', 'A', 'Y',
'O', 'M', 'I', 'C', 'R', 'O', 'N',
+ 'O', 'N', 'E', '-', 'W', 'A', 'Y',
'O', 'N', 'E', 'S', 'E', 'L', 'F',
'O', 'O', 'Y', 'A', 'N', 'N', 'A',
'O', 'P', 'E', 'N', 'I', 'N', 'G',
+ 'O', 'P', 'T', 'I', 'C', 'A', 'L',
'O', 'R', 'D', 'I', 'N', 'A', 'L',
'O', 'S', 'M', 'A', 'N', 'Y', 'A',
'O', 'T', 'H', 'A', 'L', 'A', 'N',
'O', 'U', 'T', 'L', 'I', 'N', 'E',
'O', 'V', 'E', 'R', 'B', 'A', 'R',
+ 'O', 'V', 'E', 'R', 'L', 'A', 'P',
'O', 'V', 'E', 'R', 'L', 'A', 'Y',
+ 'P', 'A', 'C', 'K', 'A', 'G', 'E',
'P', 'A', 'C', 'K', 'I', 'N', 'G',
+ 'P', 'A', 'H', 'L', 'A', 'V', 'I',
'P', 'A', 'L', 'A', 'T', 'A', 'L',
'P', 'A', 'L', 'A', 'U', 'N', 'G',
+ 'P', 'A', 'L', 'E', 'T', 'T', 'E',
'P', 'A', 'L', 'L', 'A', 'W', 'A',
'P', 'A', 'M', 'A', 'A', 'E', 'H',
'P', 'A', 'M', 'E', 'P', 'E', 'T',
+ 'P', 'A', 'M', 'S', 'H', 'A', 'E',
+ 'P', 'A', 'N', 'G', 'K', 'A', 'T',
+ 'P', 'A', 'N', 'G', 'K', 'O', 'N',
'P', 'A', 'N', 'S', 'I', 'O', 'S',
'P', 'A', 'N', 'Y', 'I', 'K', 'U',
'P', 'A', 'N', 'Y', 'U', 'K', 'U',
@@ -4797,45 +8439,93 @@ static const char unicode_name_words[39544] = {
'P', 'A', 'T', 'T', 'E', 'R', 'N',
'P', 'A', 'Y', 'A', 'N', 'N', 'A',
'P', 'A', 'Y', 'E', 'R', 'O', 'K',
+ 'P', 'E', 'N', 'G', 'K', 'A', 'L',
+ 'P', 'E', 'N', 'G', 'U', 'I', 'N',
+ 'P', 'E', 'N', 'N', 'A', 'N', 'T',
+ 'P', 'E', 'N', 'S', 'I', 'V', 'E',
'P', 'E', 'R', 'C', 'E', 'N', 'T',
'P', 'E', 'R', 'S', 'I', 'A', 'N',
'P', 'E', 'T', 'A', 'S', 'M', 'A',
'P', 'E', 'T', 'A', 'S', 'T', 'I',
+ 'P', 'H', 'A', 'S', 'E', '-', 'A',
+ 'P', 'H', 'A', 'S', 'E', '-', 'B',
+ 'P', 'H', 'A', 'S', 'E', '-', 'C',
+ 'P', 'H', 'A', 'S', 'E', '-', 'D',
+ 'P', 'H', 'A', 'S', 'E', '-', 'E',
+ 'P', 'H', 'A', 'S', 'E', '-', 'F',
'P', 'H', 'I', 'E', 'U', 'P', 'H',
'P', 'H', 'I', 'N', 'T', 'H', 'U',
'P', 'H', 'U', 'T', 'H', 'A', 'O',
+ 'P', 'I', 'C', 'T', 'U', 'R', 'E',
'P', 'I', 'L', 'C', 'R', 'O', 'W',
+ 'P', 'I', 'R', 'I', 'E', 'E', 'N',
+ 'P', 'I', 'S', 'E', 'L', 'E', 'H',
'P', 'L', 'A', 'G', 'I', 'O', 'S',
+ 'P', 'L', 'A', 'Y', 'I', 'N', 'G',
'P', 'O', 'D', 'A', 'T', 'U', 'S',
'P', 'O', 'I', 'N', 'T', 'E', 'D',
'P', 'O', 'I', 'N', 'T', 'E', 'R',
+ 'P', 'O', 'P', 'C', 'O', 'R', 'N',
+ 'P', 'O', 'P', 'P', 'I', 'N', 'G',
+ 'P', 'O', 'S', 'T', 'B', 'O', 'X',
+ 'P', 'O', 'T', 'A', 'B', 'L', 'E',
+ 'P', 'O', 'U', 'L', 'T', 'R', 'Y',
+ 'P', 'O', 'U', 'T', 'I', 'N', 'G',
'P', 'R', 'E', 'C', 'E', 'D', 'E',
'P', 'R', 'E', 'F', 'A', 'C', 'E',
+ 'P', 'R', 'E', 'N', 'K', 'H', 'A',
+ 'P', 'R', 'E', 'S', 'E', 'N', 'T',
+ 'P', 'R', 'E', 'S', 'S', 'E', 'D',
+ 'P', 'R', 'I', 'N', 'T', 'E', 'R',
'P', 'R', 'I', 'V', 'A', 'T', 'E',
'P', 'R', 'O', 'D', 'U', 'C', 'T',
+ 'P', 'S', 'A', 'L', 'T', 'E', 'R',
+ 'P', 'U', 'N', 'G', 'A', 'A', 'M',
+ 'P', 'U', 'R', 'N', 'A', 'M', 'A',
'P', 'U', 'S', 'H', 'I', 'N', 'G',
+ 'P', 'U', 'S', 'H', 'P', 'I', 'N',
'Q', 'U', 'A', 'R', 'T', 'E', 'R',
+ 'R', 'A', 'C', 'Q', 'U', 'E', 'T',
'R', 'A', 'D', 'I', 'C', 'A', 'L',
+ 'R', 'A', 'I', 'L', 'W', 'A', 'Y',
+ 'R', 'A', 'I', 'N', 'B', 'O', 'W',
+ 'R', 'A', 'I', 'S', 'I', 'N', 'G',
'R', 'A', 'K', 'H', 'A', 'N', 'G',
'R', 'A', 'P', 'I', 'S', 'M', 'A',
+ 'R', 'A', 'S', 'W', 'A', 'D', 'I',
'R', 'A', 'Y', 'A', 'N', 'N', 'A',
'R', 'E', 'A', 'H', 'M', 'U', 'K',
+ 'R', 'E', 'A', 'L', 'G', 'A', 'R',
+ 'R', 'E', 'G', 'I', 'A', '-', '2',
+ 'R', 'E', 'G', 'U', 'L', 'U', 'S',
+ 'R', 'E', 'L', 'A', 'X', 'E', 'D',
'R', 'E', 'L', 'E', 'A', 'S', 'E',
'R', 'E', 'R', 'E', 'K', 'A', 'N',
'R', 'E', 'T', 'R', 'E', 'A', 'T',
'R', 'E', 'V', 'E', 'R', 'S', 'E',
'R', 'G', 'Y', 'I', 'N', 'G', 'S',
+ 'R', 'I', 'N', 'G', 'I', 'N', 'G',
'R', 'I', 'T', 'T', 'O', 'R', 'U',
+ 'R', 'O', 'A', 'S', 'T', 'E', 'D',
+ 'R', 'O', 'L', 'L', 'I', 'N', 'G',
+ 'R', 'O', 'O', 'S', 'T', 'E', 'R',
'R', 'O', 'S', 'E', 'T', 'T', 'E',
'R', 'O', 'T', 'A', 'T', 'E', 'D',
'R', 'O', 'T', 'U', 'N', 'D', 'A',
'R', 'O', 'U', 'N', 'D', 'E', 'D',
+ 'R', 'O', 'W', 'B', 'O', 'A', 'T',
+ 'R', 'U', 'N', 'N', 'I', 'N', 'G',
'R', 'U', 'U', 'B', 'U', 'R', 'U',
'S', 'A', 'I', 'K', 'U', 'R', 'U',
+ 'S', 'A', 'K', 'E', 'U', 'A', 'E',
'S', 'A', 'L', 'T', 'I', 'R', 'E',
'S', 'A', 'M', 'P', 'H', 'A', 'O',
'S', 'A', 'N', 'Y', 'A', 'K', 'A',
+ 'S', 'A', 'T', 'A', 'N', 'G', 'A',
+ 'S', 'A', 'T', 'C', 'H', 'E', 'L',
+ 'S', 'A', 'T', 'K', 'A', 'A', 'N',
'S', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'S', 'C', 'E', 'P', 'T', 'E', 'R',
'S', 'C', 'H', 'O', 'L', 'A', 'R',
'S', 'C', 'R', 'U', 'P', 'L', 'E',
'S', 'E', 'A', 'G', 'U', 'L', 'L',
@@ -4843,104 +8533,212 @@ static const char unicode_name_words[39544] = {
'S', 'E', 'G', 'M', 'E', 'N', 'T',
'S', 'E', 'M', 'K', 'A', 'T', 'H',
'S', 'E', 'R', 'V', 'I', 'C', 'E',
+ 'S', 'E', 'U', 'N', 'Y', 'A', 'M',
+ 'S', 'E', 'V', 'E', 'N', 'T', 'H',
'S', 'E', 'V', 'E', 'N', 'T', 'Y',
'S', 'E', 'X', 'T', 'A', 'N', 'S',
'S', 'E', 'X', 'T', 'I', 'L', 'E',
'S', 'E', 'X', 'T', 'U', 'L', 'A',
+ 'S', 'H', 'A', 'K', 'I', 'N', 'G',
'S', 'H', 'A', 'P', 'I', 'N', 'G',
+ 'S', 'H', 'A', 'R', 'A', 'D', 'A',
'S', 'H', 'A', 'V', 'I', 'A', 'N',
+ 'S', 'H', 'C', 'H', 'O', 'O', 'I',
'S', 'H', 'E', 'S', 'H', 'I', 'G',
+ 'S', 'H', 'E', 'U', 'A', 'E', 'Q',
'S', 'H', 'T', 'A', 'P', 'I', 'C',
'S', 'H', 'U', 'F', 'F', 'L', 'E',
+ 'S', 'I', 'D', 'D', 'H', 'A', 'M',
'S', 'I', 'L', 'I', 'Q', 'U', 'A',
'S', 'I', 'M', 'I', 'L', 'A', 'R',
+ 'S', 'I', 'N', 'G', 'A', 'A', 'T',
'S', 'I', 'N', 'H', 'A', 'L', 'A',
'S', 'I', 'N', 'K', 'I', 'N', 'G',
'S', 'I', 'R', 'I', 'N', 'G', 'U',
'S', 'I', 'X', 'T', 'E', 'E', 'N',
'S', 'K', 'L', 'I', 'R', 'O', 'N',
'S', 'L', 'A', 'N', 'T', 'E', 'D',
+ 'S', 'L', 'I', 'D', 'I', 'N', 'G',
'S', 'L', 'O', 'P', 'I', 'N', 'G',
'S', 'M', 'A', 'L', 'L', 'E', 'R',
'S', 'M', 'I', 'L', 'I', 'N', 'G',
+ 'S', 'M', 'O', 'K', 'I', 'N', 'G',
'S', 'N', 'O', 'W', 'M', 'A', 'N',
'S', 'O', 'C', 'I', 'E', 'T', 'Y',
'S', 'O', 'G', 'D', 'I', 'A', 'N',
'S', 'O', 'L', 'I', 'D', 'U', 'S',
+ 'S', 'O', 'M', 'P', 'E', 'N', 'G',
'S', 'P', 'A', 'C', 'I', 'N', 'G',
'S', 'P', 'A', 'R', 'K', 'L', 'E',
+ 'S', 'P', 'E', 'A', 'K', 'E', 'R',
'S', 'P', 'E', 'C', 'I', 'A', 'L',
'S', 'P', 'I', 'D', 'E', 'R', 'Y',
'S', 'P', 'I', 'R', 'A', 'N', 'T',
+ 'S', 'P', 'L', 'A', 'Y', 'E', 'D',
'S', 'P', 'R', 'I', 'N', 'G', 'S',
'S', 'Q', 'U', 'A', 'R', 'E', 'D',
'S', 'Q', 'U', 'A', 'R', 'E', 'S',
+ 'S', 'Q', 'U', 'E', 'E', 'Z', 'E',
+ 'S', 'T', 'A', 'D', 'I', 'U', 'M',
+ 'S', 'T', 'A', 'M', 'P', 'E', 'D',
+ 'S', 'T', 'A', 'R', 'R', 'E', 'D',
'S', 'T', 'A', 'T', 'E', 'R', 'S',
+ 'S', 'T', 'A', 'T', 'I', 'O', 'N',
'S', 'T', 'A', 'U', 'R', 'O', 'S',
'S', 'T', 'A', 'V', 'R', 'O', 'S',
'S', 'T', 'A', 'V', 'R', 'O', 'U',
+ 'S', 'T', 'I', 'R', 'R', 'U', 'P',
+ 'S', 'T', 'R', 'A', 'T', 'U', 'M',
+ 'S', 'T', 'R', 'E', 'T', 'C', 'H',
'S', 'T', 'R', 'O', 'K', 'E', 'S',
'S', 'U', 'B', 'J', 'E', 'C', 'T',
'S', 'U', 'B', 'U', 'N', 'I', 'T',
'S', 'U', 'C', 'C', 'E', 'E', 'D',
+ 'S', 'U', 'C', 'K', 'I', 'N', 'G',
+ 'S', 'U', 'N', 'R', 'I', 'S', 'E',
'S', 'U', 'R', 'F', 'A', 'C', 'E',
+ 'S', 'V', 'A', 'R', 'I', 'T', 'A',
+ 'S', 'W', 'I', 'M', 'M', 'E', 'R',
+ 'S', 'Y', 'M', 'B', 'O', 'L', 'S',
'S', 'Y', 'N', 'A', 'G', 'M', 'A',
'S', 'Y', 'N', 'E', 'V', 'M', 'A',
+ 'S', 'Y', 'R', 'I', 'N', 'G', 'E',
+ 'T', '-', 'S', 'H', 'I', 'R', 'T',
'T', 'A', 'A', 'L', 'U', 'J', 'A',
+ 'T', 'A', 'A', 'S', 'H', 'A', 'E',
'T', 'A', 'G', 'A', 'L', 'O', 'G',
'T', 'A', 'I', 'S', 'Y', 'O', 'U',
'T', 'A', 'L', 'E', 'N', 'T', 'S',
+ 'T', 'A', 'N', 'G', 'E', 'N', 'T',
'T', 'A', 'T', 'W', 'E', 'E', 'L',
'T', 'A', 'Y', 'A', 'N', 'N', 'A',
'T', 'C', 'H', 'E', 'H', 'E', 'H',
'T', 'E', 'L', 'I', 'S', 'H', 'A',
'T', 'E', 'S', 'S', 'E', 'R', 'A',
+ 'T', 'E', 'U', 'T', 'E', 'U', 'X',
'T', 'H', '-', 'C', 'R', 'E', 'E',
+ 'T', 'H', 'A', 'M', 'E', 'D', 'H',
'T', 'H', 'E', 'S', 'E', 'O', 'S',
'T', 'H', 'I', 'E', 'U', 'T', 'H',
+ 'T', 'H', 'O', 'U', 'G', 'H', 'T',
'T', 'H', 'R', 'E', 'E', '-', 'D',
'T', 'H', 'R', 'O', 'U', 'G', 'H',
'T', 'H', 'U', 'N', 'D', 'E', 'R',
'T', 'I', 'B', 'E', 'T', 'A', 'N',
+ 'T', 'I', 'C', 'K', 'E', 'T', 'S',
+ 'T', 'I', 'L', 'T', 'I', 'N', 'G',
'T', 'I', 'N', 'A', 'G', 'M', 'A',
+ 'T', 'I', 'R', 'H', 'U', 'T', 'A',
+ 'T', 'I', 'T', 'U', 'A', 'E', 'P',
+ 'T', 'O', 'R', 'N', 'A', 'D', 'O',
+ 'T', 'O', 'U', 'C', 'H', 'E', 'S',
+ 'T', 'O', 'W', 'A', 'R', 'D', 'S',
+ 'T', 'R', 'A', 'C', 'T', 'O', 'R',
+ 'T', 'R', 'A', 'F', 'F', 'I', 'C',
+ 'T', 'R', 'A', 'M', 'W', 'A', 'Y',
+ 'T', 'R', 'I', 'D', 'E', 'N', 'T',
'T', 'R', 'I', 'G', 'R', 'A', 'M',
'T', 'R', 'I', 'I', 'S', 'A', 'P',
'T', 'R', 'I', 'S', 'E', 'M', 'E',
+ 'T', 'R', 'I', 'U', 'M', 'P', 'H',
+ 'T', 'R', 'U', 'M', 'P', '-', '1',
+ 'T', 'R', 'U', 'M', 'P', '-', '2',
+ 'T', 'R', 'U', 'M', 'P', '-', '3',
+ 'T', 'R', 'U', 'M', 'P', '-', '4',
+ 'T', 'R', 'U', 'M', 'P', '-', '5',
+ 'T', 'R', 'U', 'M', 'P', '-', '6',
+ 'T', 'R', 'U', 'M', 'P', '-', '7',
+ 'T', 'R', 'U', 'M', 'P', '-', '8',
+ 'T', 'R', 'U', 'M', 'P', '-', '9',
+ 'T', 'R', 'U', 'M', 'P', 'E', 'T',
+ 'T', 'S', 'A', 'A', 'D', 'I', 'Y',
'T', 'T', 'U', 'D', 'D', 'A', 'G',
+ 'T', 'U', 'M', 'E', 'T', 'E', 'S',
+ 'T', 'U', 'R', 'K', 'I', 'S', 'H',
+ 'T', 'W', 'E', 'L', 'F', 'T', 'H',
+ 'T', 'W', 'I', 'S', 'T', 'E', 'D',
+ 'T', 'W', 'O', '-', 'W', 'A', 'Y',
'U', '-', 'E', 'O', '-', 'E', 'U',
'U', 'B', 'A', 'D', 'A', 'M', 'A',
'U', 'B', 'U', 'F', 'I', 'L', 'I',
+ 'U', 'N', 'I', 'C', 'O', 'R', 'N',
+ 'U', 'N', 'I', 'F', 'I', 'E', 'D',
+ 'U', 'N', 'K', 'N', 'O', 'W', 'N',
'U', 'P', 'R', 'I', 'G', 'H', 'T',
'U', 'P', 'S', 'I', 'L', 'O', 'N',
'U', 'P', 'W', 'A', 'R', 'D', 'S',
+ 'U', 'S', 'H', 'E', 'N', 'N', 'A',
'U', 'U', 'Y', 'A', 'N', 'N', 'A',
+ 'V', 'A', 'P', 'O', 'U', 'R', 'S',
'V', 'A', 'R', 'E', 'I', 'A', 'I',
'V', 'A', 'R', 'I', 'A', 'N', 'T',
'V', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'V', 'E', 'H', 'I', 'C', 'L', 'E',
'V', 'I', 'C', 'T', 'O', 'R', 'Y',
+ 'V', 'I', 'E', 'W', 'I', 'N', 'G',
'V', 'I', 'L', 'L', 'A', 'G', 'E',
+ 'V', 'I', 'N', 'E', 'G', 'A', 'R',
'V', 'I', 'S', 'A', 'R', 'G', 'A',
+ 'V', 'I', 'T', 'A', 'E', '-', '2',
+ 'V', 'I', 'T', 'R', 'I', 'O', 'L',
'V', 'O', 'C', 'A', 'L', 'I', 'C',
'V', 'O', 'I', 'C', 'I', 'N', 'G',
+ 'V', 'O', 'L', 'A', 'P', 'U', 'K',
+ 'V', 'O', 'L', 'C', 'A', 'N', 'O',
'V', 'O', 'L', 'T', 'A', 'G', 'E',
'W', 'A', 'I', 'T', 'I', 'N', 'G',
'W', 'A', 'R', 'N', 'I', 'N', 'G',
'W', 'A', 'S', 'T', 'I', 'N', 'G',
+ 'W', 'E', 'D', 'D', 'I', 'N', 'G',
'W', 'E', 'S', 'T', 'E', 'R', 'N',
'W', 'H', 'E', 'E', 'L', 'E', 'D',
+ 'W', 'I', 'G', 'G', 'L', 'E', 'S',
+ 'W', 'I', 'G', 'N', 'Y', 'A', 'N',
+ 'W', 'I', 'N', 'K', 'I', 'N', 'G',
+ 'W', 'I', 'T', 'H', 'O', 'U', 'T',
+ 'W', 'O', 'R', 'R', 'I', 'E', 'D',
+ 'W', 'O', 'R', 'S', 'H', 'I', 'P',
+ 'W', 'R', 'A', 'P', 'P', 'E', 'D',
'W', 'R', 'I', 'T', 'I', 'N', 'G',
+ 'Y', 'A', 'E', 'M', 'M', 'A', 'E',
'Y', 'A', 'Y', 'A', 'N', 'N', 'A',
+ 'Y', 'E', 'N', 'I', 'S', 'E', 'I',
'Y', 'I', 'D', 'D', 'I', 'S', 'H',
'Y', 'P', 'O', 'R', 'R', 'O', 'I',
'Z', 'H', 'I', 'V', 'E', 'T', 'E',
+ 'A', '1', '0', '0', '-', '1', '0', '2',
+ 'A', '4', '0', '0', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '1', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '2', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '3', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '4', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '5', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '6', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '7', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '8', '-', 'V', 'A', 'S',
+ 'A', '4', '0', '9', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '0', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '1', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '2', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '3', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '4', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '5', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '6', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '7', '-', 'V', 'A', 'S',
+ 'A', '4', '1', '8', '-', 'V', 'A', 'S',
'A', 'C', 'T', 'I', 'V', 'A', 'T', 'E',
'A', 'C', 'T', 'U', 'A', 'L', 'L', 'Y',
'A', 'E', 'E', 'Y', 'A', 'N', 'N', 'A',
'A', 'I', 'R', 'P', 'L', 'A', 'N', 'E',
'A', 'K', 'H', 'M', 'I', 'M', 'I', 'C',
+ 'A', 'L', 'B', 'A', 'N', 'I', 'A', 'N',
+ 'A', 'L', 'K', 'A', 'L', 'I', '-', '2',
'A', 'L', 'L', 'I', 'A', 'N', 'C', 'E',
'A', 'L', 'V', 'E', 'O', 'L', 'A', 'R',
+ 'A', 'M', 'E', 'R', 'I', 'C', 'A', 'N',
+ 'A', 'M', 'E', 'R', 'I', 'C', 'A', 'S',
'A', 'N', 'G', 'S', 'T', 'R', 'O', 'M',
+ 'A', 'N', 'T', 'I', 'M', 'O', 'N', 'Y',
'A', 'N', 'U', 'D', 'A', 'T', 'T', 'A',
'A', 'N', 'U', 'S', 'V', 'A', 'R', 'A',
'A', 'P', 'O', 'D', 'E', 'R', 'M', 'A',
@@ -4954,44 +8752,87 @@ static const char unicode_name_words[39544] = {
'A', 'R', 'I', 'S', 'T', 'E', 'R', 'A',
'A', 'R', 'M', 'E', 'N', 'I', 'A', 'N',
'A', 'R', 'O', 'U', 'S', 'I', 'N', 'G',
+ 'A', 'R', 'R', 'I', 'V', 'I', 'N', 'G',
'A', 'S', 'S', 'A', 'L', 'L', 'A', 'M',
'A', 'S', 'S', 'Y', 'R', 'I', 'A', 'N',
'A', 'S', 'T', 'E', 'R', 'I', 'S', 'K',
'A', 'S', 'T', 'E', 'R', 'I', 'S', 'M',
+ 'A', 'T', 'H', 'L', 'E', 'T', 'I', 'C',
+ 'A', 'T', 'T', 'A', 'C', 'H', 'E', 'D',
'A', 'T', 'T', 'H', 'A', 'C', 'A', 'N',
'A', 'V', 'A', 'G', 'R', 'A', 'H', 'A',
+ 'B', 'A', 'C', 'K', 'H', 'A', 'N', 'D',
+ 'B', 'A', 'C', 'T', 'R', 'I', 'A', 'N',
'B', 'A', 'L', 'I', 'N', 'E', 'S', 'E',
+ 'B', 'A', 'N', 'K', 'N', 'O', 'T', 'E',
+ 'B', 'A', 'S', 'E', 'B', 'A', 'L', 'L',
+ 'B', 'A', 'S', 'E', 'L', 'I', 'N', 'E',
+ 'B', 'E', 'G', 'I', 'N', 'N', 'E', 'R',
'B', 'E', 'L', 'G', 'T', 'H', 'O', 'R',
'B', 'E', 'R', 'K', 'A', 'N', 'A', 'N',
'B', 'E', 'V', 'E', 'R', 'A', 'G', 'E',
+ 'B', 'I', 'C', 'Y', 'C', 'L', 'E', 'S',
'B', 'I', 'D', 'E', 'N', 'T', 'A', 'L',
'B', 'I', 'L', 'A', 'B', 'I', 'A', 'L',
+ 'B', 'I', 'L', 'L', 'I', 'O', 'N', 'S',
+ 'B', 'I', 'R', 'T', 'H', 'D', 'A', 'Y',
+ 'B', 'L', 'O', 'W', 'F', 'I', 'S', 'H',
+ 'B', 'O', 'H', 'A', 'I', 'R', 'I', 'C',
+ 'B', 'O', 'O', 'K', 'M', 'A', 'R', 'K',
'B', 'O', 'P', 'O', 'M', 'O', 'F', 'O',
'B', 'O', 'U', 'N', 'D', 'A', 'R', 'Y',
+ 'B', 'R', 'A', 'N', 'C', 'H', 'E', 'S',
'B', 'U', 'G', 'I', 'N', 'E', 'S', 'E',
+ 'B', 'U', 'I', 'L', 'D', 'I', 'N', 'G',
+ 'B', 'U', 'L', 'L', 'H', 'O', 'R', 'N',
'B', 'U', 'L', 'L', 'S', 'E', 'Y', 'E',
+ 'B', 'U', 'S', 'I', 'N', 'E', 'S', 'S',
'B', 'U', 'S', 'S', 'Y', 'E', 'R', 'U',
+ 'C', 'A', 'B', 'L', 'E', 'W', 'A', 'Y',
'C', 'A', 'D', 'U', 'C', 'E', 'U', 'S',
+ 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R',
'C', 'A', 'N', 'A', 'D', 'I', 'A', 'N',
+ 'C', 'A', 'R', 'O', 'U', 'S', 'E', 'L',
'C', 'A', 'R', 'R', 'I', 'A', 'G', 'E',
'C', 'A', 'U', 'L', 'D', 'R', 'O', 'N',
+ 'C', 'E', 'R', 'E', 'M', 'O', 'N', 'Y',
'C', 'H', 'A', 'M', 'I', 'L', 'O', 'N',
'C', 'H', 'A', 'T', 'T', 'A', 'W', 'A',
+ 'C', 'H', 'E', 'E', 'R', 'I', 'N', 'G',
+ 'C', 'H', 'E', 'I', 'K', 'H', 'A', 'N',
+ 'C', 'H', 'E', 'I', 'K', 'H', 'E', 'I',
'C', 'H', 'E', 'R', 'O', 'K', 'E', 'E',
+ 'C', 'H', 'E', 'R', 'R', 'I', 'E', 'S',
+ 'C', 'H', 'E', 'S', 'T', 'N', 'U', 'T',
+ 'C', 'H', 'I', 'L', 'D', 'R', 'E', 'N',
+ 'C', 'H', 'I', 'P', 'M', 'U', 'N', 'K',
'C', 'H', 'O', 'R', 'E', 'V', 'M', 'A',
'C', 'H', 'O', 'S', 'E', 'O', 'N', 'G',
+ 'C', 'I', 'N', 'N', 'A', 'B', 'A', 'R',
+ 'C', 'I', 'R', 'C', 'L', 'I', 'N', 'G',
'C', 'I', 'R', 'C', 'U', 'L', 'A', 'R',
+ 'C', 'I', 'T', 'A', 'T', 'I', 'O', 'N',
'C', 'I', 'V', 'I', 'L', 'I', 'A', 'N',
+ 'C', 'L', 'A', 'P', 'P', 'I', 'N', 'G',
'C', 'L', 'I', 'M', 'A', 'C', 'U', 'S',
'C', 'L', 'I', 'N', 'G', 'I', 'N', 'G',
+ 'C', 'L', 'I', 'N', 'K', 'I', 'N', 'G',
+ 'C', 'O', 'C', 'K', 'T', 'A', 'I', 'L',
+ 'C', 'O', 'M', 'B', 'I', 'N', 'E', 'D',
+ 'C', 'O', 'M', 'P', 'U', 'T', 'E', 'R',
+ 'C', 'O', 'N', 'F', 'E', 'T', 'T', 'I',
'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T',
+ 'C', 'O', 'N', 'F', 'U', 'S', 'E', 'D',
'C', 'O', 'N', 'S', 'T', 'A', 'N', 'T',
'C', 'O', 'N', 'T', 'A', 'I', 'N', 'S',
+ 'C', 'O', 'P', 'P', 'E', 'R', '-', '2',
'C', 'O', 'U', 'N', 'T', 'I', 'N', 'G',
'C', 'R', 'E', 'A', 'T', 'I', 'V', 'E',
'C', 'R', 'E', 'S', 'C', 'E', 'N', 'T',
'C', 'R', 'O', 'S', 'S', 'I', 'N', 'G',
+ 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E',
'C', 'R', 'U', 'Z', 'E', 'I', 'R', 'O',
+ 'C', 'U', 'R', 'L', 'I', 'C', 'U', 'E',
'C', 'U', 'R', 'R', 'E', 'N', 'C', 'Y',
'C', 'U', 'S', 'T', 'O', 'M', 'E', 'R',
'C', 'Y', 'R', 'E', 'N', 'A', 'I', 'C',
@@ -5004,18 +8845,25 @@ static const char unicode_name_words[39544] = {
'D', 'D', 'A', 'Y', 'A', 'N', 'N', 'A',
'D', 'E', 'C', 'E', 'M', 'B', 'E', 'R',
'D', 'E', 'C', 'R', 'E', 'A', 'S', 'E',
+ 'D', 'E', 'L', 'I', 'V', 'E', 'R', 'Y',
'D', 'E', 'N', 'A', 'R', 'I', 'U', 'S',
+ 'D', 'E', 'R', 'E', 'L', 'I', 'C', 'T',
'D', 'E', 'Y', 'T', 'E', 'R', 'O', 'S',
'D', 'E', 'Y', 'T', 'E', 'R', 'O', 'U',
'D', 'I', 'A', 'G', 'O', 'N', 'A', 'L',
'D', 'I', 'A', 'M', 'E', 'T', 'E', 'R',
+ 'D', 'I', 'A', 'M', 'O', 'N', 'D', 'S',
'D', 'I', 'A', 'S', 'T', 'O', 'L', 'I',
'D', 'I', 'A', 'T', 'O', 'N', 'O', 'N',
'D', 'I', 'F', 'O', 'N', 'I', 'A', 'S',
'D', 'I', 'G', 'O', 'R', 'G', 'O', 'N',
'D', 'I', 'G', 'R', 'A', 'M', 'M', 'A',
'D', 'I', 'R', 'E', 'C', 'T', 'L', 'Y',
+ 'D', 'I', 'S', 'A', 'B', 'L', 'E', 'D',
+ 'D', 'I', 'S', 'S', 'O', 'L', 'V', 'E',
+ 'D', 'I', 'V', 'I', 'D', 'E', 'R', 'S',
'D', 'I', 'V', 'I', 'S', 'I', 'O', 'N',
+ 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T',
'D', 'O', 'D', 'E', 'K', 'A', 'T', 'A',
'D', 'O', 'T', 'S', '-', '1', '2', '3',
'D', 'O', 'T', 'S', '-', '1', '2', '4',
@@ -5076,15 +8924,21 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'T', 'T', 'E', 'D', '-', 'L',
'D', 'O', 'T', 'T', 'E', 'D', '-', 'N',
'D', 'O', 'T', 'T', 'E', 'D', '-', 'P',
+ 'D', 'O', 'U', 'G', 'H', 'N', 'U', 'T',
'D', 'R', 'A', 'C', 'H', 'M', 'A', 'S',
'D', 'R', 'A', 'F', 'T', 'I', 'N', 'G',
'D', 'R', 'A', 'U', 'G', 'H', 'T', 'S',
'D', 'R', 'A', 'W', 'I', 'N', 'G', 'S',
+ 'D', 'U', 'P', 'L', 'O', 'Y', 'A', 'N',
'D', 'U', 'R', 'A', 'T', 'I', 'O', 'N',
+ 'D', 'U', 'S', 'H', 'E', 'N', 'N', 'A',
'D', 'V', 'I', 'S', 'V', 'A', 'R', 'A',
+ 'E', 'G', 'Y', 'P', 'T', 'I', 'A', 'N',
'E', 'I', 'G', 'H', 'T', 'E', 'E', 'N',
'E', 'L', 'E', 'C', 'T', 'R', 'I', 'C',
+ 'E', 'L', 'E', 'P', 'H', 'A', 'N', 'T',
'E', 'L', 'L', 'I', 'P', 'S', 'I', 'S',
+ 'E', 'L', 'L', 'I', 'P', 'T', 'I', 'C',
'E', 'M', 'P', 'H', 'A', 'S', 'I', 'S',
'E', 'M', 'P', 'H', 'A', 'T', 'I', 'C',
'E', 'N', 'T', 'E', 'R', 'I', 'N', 'G',
@@ -5093,7 +8947,11 @@ static const char unicode_name_words[39544] = {
'E', 'S', 'U', 'K', 'U', 'U', 'D', 'O',
'E', 'T', 'E', 'R', 'N', 'I', 'T', 'Y',
'E', 'T', 'H', 'I', 'O', 'P', 'I', 'C',
+ 'E', 'U', 'R', 'O', 'P', 'E', 'A', 'N',
+ 'E', 'X', 'C', 'H', 'A', 'N', 'G', 'E',
+ 'E', 'X', 'P', 'O', 'N', 'E', 'N', 'T',
'E', 'X', 'T', 'E', 'N', 'D', 'E', 'D',
+ 'E', 'Y', 'E', 'B', 'R', 'O', 'W', 'S',
'F', 'A', 'T', 'H', 'A', 'T', 'A', 'N',
'F', 'E', 'B', 'R', 'U', 'A', 'R', 'Y',
'F', 'E', 'M', 'I', 'N', 'I', 'N', 'E',
@@ -5102,11 +8960,15 @@ static const char unicode_name_words[39544] = {
'F', 'I', 'G', 'U', 'R', 'E', '-', '2',
'F', 'I', 'G', 'U', 'R', 'E', '-', '3',
'F', 'I', 'N', 'G', 'E', 'R', 'E', 'D',
+ 'F', 'I', 'R', 'E', 'W', 'O', 'R', 'K',
'F', 'I', 'S', 'H', 'H', 'O', 'O', 'K',
'F', 'L', 'A', 'T', 'N', 'E', 'S', 'S',
'F', 'L', 'O', 'R', 'E', 'T', 'T', 'E',
'F', 'L', 'O', 'U', 'R', 'I', 'S', 'H',
+ 'F', 'O', 'O', 'T', 'B', 'A', 'L', 'L',
'F', 'O', 'O', 'T', 'N', 'O', 'T', 'E',
+ 'F', 'O', 'R', 'E', 'H', 'E', 'A', 'D',
+ 'F', 'O', 'U', 'N', 'T', 'A', 'I', 'N',
'F', 'O', 'U', 'R', 'T', 'E', 'E', 'N',
'F', 'R', 'A', 'C', 'T', 'I', 'O', 'N',
'F', 'R', 'A', 'G', 'M', 'E', 'N', 'T',
@@ -5118,21 +8980,34 @@ static const char unicode_name_words[39544] = {
'G', 'A', 'U', 'N', 'T', 'L', 'E', 'T',
'G', 'E', 'N', 'I', 'T', 'I', 'V', 'E',
'G', 'E', 'O', 'R', 'G', 'I', 'A', 'N',
+ 'G', 'H', 'E', 'U', 'G', 'H', 'E', 'N',
'G', 'R', 'A', 'P', 'H', 'E', 'M', 'E',
+ 'G', 'R', 'I', 'N', 'N', 'I', 'N', 'G',
'G', 'U', 'J', 'A', 'R', 'A', 'T', 'I',
'G', 'U', 'R', 'M', 'U', 'K', 'H', 'I',
'H', 'A', 'N', '-', 'A', 'K', 'A', 'T',
+ 'H', 'A', 'N', 'D', '-', 'C', 'U', 'P',
'H', 'A', 'N', 'G', 'Z', 'H', 'O', 'U',
'H', 'A', 'R', 'D', 'N', 'E', 'S', 'S',
'H', 'A', 'R', 'K', 'L', 'E', 'A', 'N',
'H', 'A', 'R', 'M', 'O', 'N', 'I', 'C',
+ 'H', 'A', 'T', 'C', 'H', 'I', 'N', 'G',
'H', 'E', 'A', 'V', 'E', 'N', 'L', 'Y',
'H', 'E', 'X', 'A', 'G', 'R', 'A', 'M',
+ 'H', 'E', 'X', 'I', 'F', 'O', 'R', 'M',
+ 'H', 'I', 'B', 'I', 'S', 'C', 'U', 'S',
+ 'H', 'I', 'G', 'H', '-', 'L', 'O', 'W',
'H', 'I', 'R', 'A', 'G', 'A', 'N', 'A',
+ 'H', 'I', 'S', 'T', 'O', 'R', 'I', 'C',
+ 'H', 'O', 'N', 'E', 'Y', 'B', 'E', 'E',
+ 'H', 'O', 'S', 'P', 'I', 'T', 'A', 'L',
'H', 'U', 'A', 'R', 'A', 'D', 'D', 'O',
+ 'H', 'U', 'N', 'D', 'R', 'E', 'D', 'S',
'I', 'D', 'E', 'O', 'G', 'R', 'A', 'M',
'I', 'L', 'U', 'Y', 'A', 'N', 'N', 'A',
'I', 'M', 'I', 'F', 'O', 'N', 'O', 'N',
+ 'I', 'M', 'P', 'E', 'R', 'I', 'A', 'L',
+ 'I', 'N', 'C', 'O', 'M', 'I', 'N', 'G',
'I', 'N', 'C', 'R', 'E', 'A', 'S', 'E',
'I', 'N', 'D', 'I', 'R', 'E', 'C', 'T',
'I', 'N', 'F', 'I', 'N', 'I', 'T', 'Y',
@@ -5146,22 +9021,42 @@ static const char unicode_name_words[39544] = {
'I', 'S', '-', 'P', 'I', 'L', 'L', 'A',
'I', 'S', 'O', 'L', 'A', 'T', 'E', 'D',
'J', 'A', 'P', 'A', 'N', 'E', 'S', 'E',
+ 'J', 'A', 'V', 'A', 'N', 'E', 'S', 'E',
'J', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
+ 'J', 'O', 'Y', 'S', 'T', 'I', 'C', 'K',
+ 'K', 'A', 'R', 'S', 'H', 'A', 'N', 'A',
+ 'K', 'A', 'S', 'H', 'M', 'I', 'R', 'I',
'K', 'A', 'S', 'R', 'A', 'T', 'A', 'N',
'K', 'A', 'T', 'A', 'K', 'A', 'N', 'A',
'K', 'A', 'T', 'H', 'I', 'S', 'T', 'I',
'K', 'E', 'Y', 'B', 'O', 'A', 'R', 'D',
+ 'K', 'N', 'U', 'C', 'K', 'L', 'E', 'S',
'K', 'O', 'N', 'T', 'E', 'V', 'M', 'A',
'K', 'O', 'U', 'F', 'I', 'S', 'M', 'A',
'K', 'R', 'E', 'M', 'A', 'S', 'T', 'I',
'L', '-', 'S', 'H', 'A', 'P', 'E', 'D',
'L', 'A', 'N', 'G', 'U', 'A', 'G', 'E',
'L', 'A', 'T', 'I', 'N', 'A', 'T', 'E',
+ 'L', 'E', 'E', 'R', 'A', 'E', 'W', 'A',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '1',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '2',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '3',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '4',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '5',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '6',
+ 'L', 'E', 'N', 'G', 'T', 'H', '-', '7',
+ 'L', 'I', 'G', 'A', 'T', 'I', 'N', 'G',
'L', 'I', 'G', 'A', 'T', 'U', 'R', 'E',
+ 'L', 'I', 'P', 'S', 'T', 'I', 'C', 'K',
'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N',
'L', 'O', 'C', 'A', 'T', 'I', 'V', 'E',
+ 'L', 'O', 'G', 'O', 'G', 'R', 'A', 'M',
'L', 'O', 'G', 'O', 'T', 'Y', 'P', 'E',
+ 'L', 'O', 'L', 'L', 'I', 'P', 'O', 'P',
'L', 'O', 'R', 'R', 'A', 'I', 'N', 'E',
+ 'M', 'A', 'E', 'M', 'K', 'P', 'E', 'N',
+ 'M', 'A', 'E', 'M', 'V', 'E', 'U', 'X',
+ 'M', 'A', 'H', 'A', 'J', 'A', 'N', 'I',
'M', 'A', 'H', 'A', 'P', 'A', 'K', 'H',
'M', 'A', 'I', 'M', 'A', 'L', 'A', 'I',
'M', 'A', 'I', 'Y', 'A', 'M', 'O', 'K',
@@ -5170,29 +9065,54 @@ static const char unicode_name_words[39544] = {
'M', 'A', 'R', 'R', 'I', 'A', 'G', 'E',
'M', 'A', 'R', 'R', 'Y', 'I', 'N', 'G',
'M', 'A', 'R', 'T', 'Y', 'R', 'I', 'A',
+ 'M', 'A', 'S', 'H', 'F', 'A', 'A', 'T',
+ 'M', 'A', 'X', 'I', 'M', 'I', 'Z', 'E',
+ 'M', 'B', 'E', 'E', 'K', 'E', 'E', 'T',
+ 'M', 'B', 'I', 'R', 'I', 'E', 'E', 'N',
'M', 'E', 'A', 'S', 'U', 'R', 'E', 'D',
'M', 'E', 'D', 'I', 'C', 'I', 'N', 'E',
+ 'M', 'E', 'M', '-', 'Q', 'O', 'P', 'H',
+ 'M', 'E', 'R', 'O', 'I', 'T', 'I', 'C',
'M', 'E', 'T', 'R', 'E', 'T', 'E', 'S',
'M', 'E', 'T', 'R', 'I', 'C', 'A', 'L',
+ 'M', 'I', 'L', 'I', 'T', 'A', 'R', 'Y',
'M', 'I', 'L', 'L', 'I', 'O', 'N', 'S',
+ 'M', 'I', 'N', 'I', 'D', 'I', 'S', 'C',
+ 'M', 'I', 'N', 'I', 'M', 'I', 'Z', 'E',
'M', 'I', 'N', 'I', 'S', 'T', 'E', 'R',
'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R',
'M', 'O', 'H', 'A', 'M', 'M', 'A', 'D',
'M', 'O', 'N', 'O', 'G', 'R', 'A', 'M',
+ 'M', 'O', 'N', 'O', 'R', 'A', 'I', 'L',
+ 'M', 'O', 'N', 'T', 'I', 'E', 'E', 'N',
+ 'M', 'O', 'T', 'O', 'R', 'W', 'A', 'Y',
'M', 'O', 'U', 'N', 'T', 'A', 'I', 'N',
+ 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T',
'M', 'U', 'L', 'T', 'I', 'M', 'A', 'P',
'M', 'U', 'L', 'T', 'I', 'P', 'L', 'E',
'M', 'U', 'L', 'T', 'I', 'S', 'E', 'T',
+ 'M', 'U', 'S', 'H', 'R', 'O', 'O', 'M',
+ 'N', 'A', 'N', 'S', 'A', 'N', 'A', 'Q',
'N', 'A', 'T', 'I', 'O', 'N', 'A', 'L',
'N', 'E', 'G', 'A', 'T', 'I', 'O', 'N',
'N', 'E', 'G', 'A', 'T', 'I', 'V', 'E',
+ 'N', 'G', 'E', 'U', 'R', 'E', 'U', 'T',
+ 'N', 'G', 'G', 'A', 'A', 'M', 'A', 'E',
+ 'N', 'G', 'G', 'E', 'U', 'A', 'E', 'T',
+ 'N', 'G', 'K', 'E', 'U', 'A', 'E', 'M',
+ 'N', 'G', 'K', 'E', 'U', 'A', 'E', 'Q',
'N', 'I', 'K', 'H', 'A', 'H', 'I', 'T',
'N', 'I', 'N', 'E', 'T', 'E', 'E', 'N',
+ 'N', 'J', 'E', 'U', 'A', 'E', 'N', 'A',
'N', 'O', '-', 'B', 'R', 'E', 'A', 'K',
+ 'N', 'O', 'R', 'T', 'H', 'E', 'R', 'N',
'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N',
+ 'N', 'O', 'T', 'E', 'B', 'O', 'O', 'K',
'N', 'O', 'T', 'E', 'H', 'E', 'A', 'D',
'N', 'O', 'V', 'E', 'M', 'B', 'E', 'R',
+ 'N', 'T', 'E', 'U', 'N', 'G', 'B', 'A',
'O', 'M', 'I', 'S', 'S', 'I', 'O', 'N',
+ 'O', 'N', 'C', 'O', 'M', 'I', 'N', 'G',
'O', 'N', 'E', '-', 'L', 'I', 'N', 'E',
'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R',
'O', 'P', 'P', 'O', 'S', 'I', 'N', 'G',
@@ -5202,6 +9122,7 @@ static const char unicode_name_words[39544] = {
'O', 'U', 'T', 'L', 'I', 'N', 'E', 'D',
'O', 'V', 'E', 'R', 'L', 'A', 'I', 'D',
'O', 'V', 'E', 'R', 'L', 'I', 'N', 'E',
+ 'O', 'V', 'E', 'R', 'L', 'O', 'N', 'G',
'O', 'V', 'E', 'R', 'R', 'I', 'D', 'E',
'P', 'A', 'A', 'S', 'E', 'N', 'T', 'O',
'P', 'A', 'I', 'R', 'T', 'H', 'R', 'A',
@@ -5209,79 +9130,124 @@ static const char unicode_name_words[39544] = {
'P', 'A', 'M', 'E', 'N', 'E', 'N', 'G',
'P', 'A', 'M', 'U', 'D', 'P', 'O', 'D',
'P', 'A', 'N', 'G', 'H', 'U', 'L', 'U',
+ 'P', 'A', 'N', 'G', 'L', 'O', 'N', 'G',
+ 'P', 'A', 'N', 'G', 'O', 'L', 'A', 'T',
'P', 'A', 'N', 'O', 'L', 'O', 'N', 'G',
'P', 'A', 'N', 'Y', 'A', 'K', 'R', 'A',
'P', 'A', 'N', 'Y', 'E', 'C', 'E', 'K',
'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L',
'P', 'A', 'R', 'I', 'C', 'H', 'O', 'N',
+ 'P', 'A', 'R', 'T', 'H', 'I', 'A', 'N',
+ 'P', 'A', 'S', 'A', 'N', 'G', 'A', 'N',
+ 'P', 'A', 'S', 'S', 'P', 'O', 'R', 'T',
'P', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
'P', 'E', 'D', 'E', 'S', 'T', 'A', 'L',
'P', 'E', 'L', 'A', 'S', 'T', 'O', 'N',
'P', 'E', 'N', 'T', 'A', 'G', 'O', 'N',
'P', 'E', 'R', 'F', 'E', 'C', 'T', 'A',
+ 'P', 'E', 'R', 'S', 'O', 'N', 'A', 'L',
'P', 'E', 'T', 'A', 'L', 'L', 'E', 'D',
'P', 'H', 'A', 'A', 'R', 'K', 'A', 'A',
'P', 'H', 'A', 'G', 'S', '-', 'P', 'A',
'P', 'H', 'A', 'I', 'S', 'T', 'O', 'S',
'P', 'I', 'N', 'W', 'H', 'E', 'E', 'L',
+ 'P', 'I', 'P', 'A', 'E', 'M', 'B', 'A',
'P', 'L', 'A', 'S', 'T', 'I', 'C', 'S',
'P', 'L', 'E', 'T', 'H', 'R', 'O', 'N',
'P', 'N', 'E', 'U', 'M', 'A', 'T', 'A',
'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G',
'P', 'O', 'K', 'R', 'Y', 'T', 'I', 'E',
+ 'P', 'O', 'R', 'T', 'A', 'B', 'L', 'E',
'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N',
+ 'P', 'O', 'W', 'D', 'E', 'R', 'E', 'D',
'P', 'R', 'A', 'M', '-', 'B', 'E', 'I',
'P', 'R', 'A', 'M', '-', 'P', 'I', 'I',
'P', 'R', 'E', 'C', 'E', 'D', 'E', 'D',
'P', 'R', 'E', 'C', 'E', 'D', 'E', 'S',
'P', 'R', 'E', 'V', 'I', 'O', 'U', 'S',
+ 'P', 'R', 'I', 'N', 'C', 'E', 'S', 'S',
'P', 'R', 'O', 'F', 'O', 'U', 'N', 'D',
'P', 'R', 'O', 'G', 'R', 'E', 'S', 'S',
'P', 'R', 'O', 'P', 'E', 'R', 'T', 'Y',
+ 'P', 'U', 'S', 'H', 'P', 'I', 'K', 'A',
'Q', 'A', 'I', 'R', 'T', 'H', 'R', 'A',
'Q', 'U', 'A', 'D', 'R', 'A', 'N', 'T',
+ 'Q', 'U', 'A', 'N', 'T', 'I', 'T', 'Y',
'Q', 'U', 'A', 'R', 'T', 'E', 'R', 'S',
'Q', 'U', 'E', 'S', 'T', 'I', 'O', 'N',
'Q', 'U', 'I', 'N', 'C', 'U', 'N', 'X',
+ 'R', 'E', 'C', 'E', 'I', 'V', 'E', 'R',
'R', 'E', 'C', 'O', 'R', 'D', 'E', 'R',
'R', 'E', 'C', 'Y', 'C', 'L', 'E', 'D',
+ 'R', 'E', 'F', 'O', 'R', 'M', 'E', 'D',
+ 'R', 'E', 'G', 'I', 'O', 'N', 'A', 'L',
'R', 'E', 'L', 'A', 'T', 'I', 'O', 'N',
+ 'R', 'E', 'L', 'I', 'E', 'V', 'E', 'D',
'R', 'E', 'L', 'I', 'G', 'I', 'O', 'N',
+ 'R', 'E', 'M', 'I', 'N', 'D', 'E', 'R',
'R', 'E', 'N', 'T', 'O', 'G', 'E', 'N',
'R', 'E', 'P', 'E', 'A', 'T', 'E', 'D',
'R', 'E', 'S', 'O', 'U', 'R', 'C', 'E',
'R', 'E', 'S', 'P', 'O', 'N', 'S', 'E',
+ 'R', 'E', 'S', 'T', 'R', 'O', 'O', 'M',
'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D',
+ 'R', 'I', 'G', 'V', 'E', 'D', 'I', 'C',
+ 'R', 'O', 'H', 'I', 'N', 'G', 'Y', 'A',
+ 'R', 'O', 'M', 'A', 'N', 'I', 'A', 'N',
+ 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N',
'R', 'U', 'K', 'K', 'A', 'K', 'H', 'A',
'S', '-', 'S', 'H', 'A', 'P', 'E', 'D',
+ 'S', 'A', 'I', 'L', 'B', 'O', 'A', 'T',
'S', 'A', 'L', 'T', 'I', 'L', 'L', 'O',
'S', 'A', 'N', 'T', 'I', 'I', 'M', 'U',
'S', 'A', 'N', 'Y', 'O', 'O', 'G', 'A',
'S', 'A', 'X', 'I', 'M', 'A', 'T', 'A',
'S', 'C', 'I', 'S', 'S', 'O', 'R', 'S',
+ 'S', 'C', 'O', 'R', 'P', 'I', 'O', 'N',
'S', 'C', 'O', 'R', 'P', 'I', 'U', 'S',
+ 'S', 'E', 'E', 'D', 'L', 'I', 'N', 'G',
'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R',
'S', 'E', 'M', 'I', 'S', 'O', 'F', 'T',
'S', 'E', 'M', 'U', 'N', 'C', 'I', 'A',
+ 'S', 'E', 'P', 'T', 'U', 'P', 'L', 'E',
'S', 'H', 'A', 'D', 'O', 'W', 'E', 'D',
'S', 'H', 'A', 'M', 'R', 'O', 'C', 'K',
'S', 'H', 'E', '-', 'G', 'O', 'A', 'T',
'S', 'H', 'E', 'S', 'H', 'L', 'A', 'M',
+ 'S', 'H', 'O', 'O', 'T', 'I', 'N', 'G',
+ 'S', 'H', 'O', 'P', 'P', 'I', 'N', 'G',
+ 'S', 'H', 'O', 'U', 'L', 'D', 'E', 'R',
'S', 'I', 'C', 'K', 'N', 'E', 'S', 'S',
'S', 'I', 'D', 'E', 'W', 'A', 'Y', 'S',
'S', 'I', 'M', 'A', 'N', 'S', 'I', 'S',
+ 'S', 'I', 'N', 'U', 'S', 'O', 'I', 'D',
'S', 'I', 'X', '-', 'L', 'I', 'N', 'E',
'S', 'L', 'A', 'V', 'O', 'N', 'I', 'C',
+ 'S', 'L', 'E', 'E', 'P', 'I', 'N', 'G',
+ 'S', 'L', 'I', 'G', 'H', 'T', 'L', 'Y',
+ 'S', 'M', 'I', 'R', 'K', 'I', 'N', 'G',
+ 'S', 'O', 'F', 'T', 'N', 'E', 'S', 'S',
+ 'S', 'O', 'U', 'T', 'H', 'E', 'R', 'N',
+ 'S', 'P', 'A', 'R', 'K', 'L', 'E', 'R',
+ 'S', 'P', 'A', 'R', 'K', 'L', 'E', 'S',
+ 'S', 'P', 'E', 'A', 'K', 'I', 'N', 'G',
+ 'S', 'P', 'E', 'S', 'M', 'I', 'L', 'O',
+ 'S', 'P', 'I', 'R', 'I', 'T', 'U', 'S',
+ 'S', 'P', 'O', 'U', 'T', 'I', 'N', 'G',
+ 'S', 'Q', 'U', 'E', 'E', 'Z', 'E', 'D',
'S', 'Q', 'U', 'I', 'G', 'G', 'L', 'E',
'S', 'Q', 'U', 'I', 'R', 'R', 'E', 'L',
'S', 'T', 'A', 'C', 'C', 'A', 'T', 'O',
'S', 'T', 'A', 'L', 'L', 'I', 'O', 'N',
'S', 'T', 'A', 'N', 'D', 'A', 'R', 'D',
+ 'S', 'T', 'E', 'A', 'M', 'I', 'N', 'G',
+ 'S', 'T', 'I', 'C', 'K', 'I', 'N', 'G',
'S', 'T', 'O', 'P', 'P', 'A', 'G', 'E',
'S', 'T', 'O', 'P', 'P', 'I', 'N', 'G',
'S', 'T', 'R', 'A', 'I', 'G', 'H', 'T',
'S', 'T', 'R', 'A', 'I', 'N', 'E', 'R',
'S', 'T', 'R', 'A', 'T', 'I', 'A', 'N',
+ 'S', 'T', 'R', 'E', 'A', 'M', 'E', 'R',
'S', 'T', 'R', 'E', 'N', 'G', 'T', 'H',
'S', 'T', 'R', 'I', 'C', 'T', 'L', 'Y',
'S', 'T', 'R', 'O', 'K', 'E', '-', '1',
@@ -5299,6 +9265,7 @@ static const char unicode_name_words[39544] = {
'S', 'U', 'P', 'E', 'R', 'S', 'E', 'T',
'S', 'U', 'R', 'R', 'O', 'U', 'N', 'D',
'S', 'W', 'A', 'P', 'P', 'I', 'N', 'G',
+ 'S', 'W', 'I', 'M', 'M', 'I', 'N', 'G',
'S', 'Y', 'L', 'L', 'A', 'B', 'L', 'E',
'S', 'Y', 'M', 'B', 'O', 'L', '-', '1',
'S', 'Y', 'M', 'B', 'O', 'L', '-', '2',
@@ -5312,43 +9279,77 @@ static const char unicode_name_words[39544] = {
'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'Y',
'T', 'A', 'G', 'B', 'A', 'N', 'W', 'A',
'T', 'A', 'I', 'L', 'L', 'E', 'S', 'S',
+ 'T', 'A', 'N', 'A', 'B', 'A', 'T', 'A',
+ 'T', 'A', 'R', 'T', 'A', 'R', '-', '2',
'T', 'A', 'T', 'T', 'O', 'O', 'E', 'D',
'T', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
+ 'T', 'E', 'A', 'R', '-', 'O', 'F', 'F',
'T', 'E', 'S', 'S', 'A', 'R', 'O', 'N',
'T', 'E', 'T', 'A', 'R', 'T', 'O', 'S',
'T', 'E', 'T', 'R', 'A', 'P', 'L', 'I',
'T', 'H', 'E', 'S', 'P', 'I', 'A', 'N',
+ 'T', 'H', 'I', 'N', 'K', 'I', 'N', 'G',
'T', 'H', 'I', 'R', 'T', 'E', 'E', 'N',
'T', 'H', 'O', 'U', 'S', 'A', 'N', 'D',
+ 'T', 'H', 'R', 'E', 'E', '-', 'E', 'M',
+ 'T', 'H', 'R', 'O', 'W', 'I', 'N', 'G',
'T', 'H', 'U', 'R', 'I', 'S', 'A', 'Z',
'T', 'I', 'F', 'I', 'N', 'A', 'G', 'H',
+ 'T', 'I', 'N', 'C', 'T', 'U', 'R', 'E',
'T', 'I', 'R', 'O', 'N', 'I', 'A', 'N',
'T', 'O', 'G', 'E', 'T', 'H', 'E', 'R',
'T', 'O', 'R', 'C', 'U', 'L', 'U', 'S',
'T', 'O', 'R', 'T', 'O', 'I', 'S', 'E',
+ 'T', 'O', 'U', 'C', 'H', 'I', 'N', 'G',
+ 'T', 'O', 'U', 'R', 'N', 'O', 'I', 'S',
+ 'T', 'R', 'A', 'I', 'L', 'I', 'N', 'G',
'T', 'R', 'E', 'A', 'D', 'I', 'N', 'G',
'T', 'R', 'E', 'S', 'I', 'L', 'L', 'O',
'T', 'R', 'I', 'A', 'N', 'G', 'L', 'E',
'T', 'R', 'I', 'C', 'O', 'L', 'O', 'N',
'T', 'R', 'I', 'S', 'I', 'M', 'O', 'U',
'T', 'R', 'O', 'M', 'I', 'K', 'O', 'N',
+ 'T', 'R', 'O', 'P', 'I', 'C', 'A', 'L',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '0',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '1',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '2',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '3',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '4',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '5',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '6',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '7',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '8',
+ 'T', 'R', 'U', 'M', 'P', '-', '1', '9',
+ 'T', 'R', 'U', 'M', 'P', '-', '2', '0',
+ 'T', 'R', 'U', 'M', 'P', '-', '2', '1',
'T', 'R', 'Y', 'B', 'L', 'I', 'O', 'N',
'T', 'T', 'A', 'Y', 'A', 'N', 'N', 'A',
'T', 'T', 'U', 'D', 'D', 'A', 'A', 'G',
'T', 'V', 'I', 'M', 'A', 'D', 'U', 'R',
+ 'T', 'W', 'E', 'L', 'F', 'T', 'H', 'S',
+ 'T', 'W', 'I', 'S', 'T', 'I', 'N', 'G',
'T', 'W', 'O', '-', 'L', 'I', 'N', 'E',
+ 'T', 'Y', 'P', 'E', '-', '1', '-', '2',
+ 'U', '-', 'S', 'H', 'A', 'P', 'E', 'D',
+ 'U', 'B', 'H', 'A', 'Y', 'A', 'T', 'O',
'U', 'G', 'A', 'R', 'I', 'T', 'I', 'C',
'U', 'I', 'L', 'L', 'E', 'A', 'N', 'N',
'U', 'M', 'B', 'R', 'E', 'L', 'L', 'A',
+ 'U', 'N', 'A', 'M', 'U', 'S', 'E', 'D',
'U', 'N', 'D', 'E', 'R', 'B', 'A', 'R',
'U', 'N', 'D', 'E', 'R', 'D', 'O', 'T',
'U', 'N', 'D', 'E', 'R', 'T', 'I', 'E',
'V', 'A', 'S', 'T', 'N', 'E', 'S', 'S',
'V', 'E', 'R', 'S', 'I', 'C', 'L', 'E',
'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L',
+ 'V', 'E', 'U', 'A', 'E', 'P', 'E', 'N',
'V', 'I', 'E', 'W', 'D', 'A', 'T', 'A',
'W', 'A', 'N', 'D', 'E', 'R', 'E', 'R',
+ 'W', 'A', 'N', 'G', 'K', 'U', 'O', 'Q',
'W', 'A', 'S', 'A', 'L', 'L', 'A', 'M',
+ 'W', 'I', 'D', 'E', 'N', 'I', 'N', 'G',
+ 'W', 'R', 'I', 'N', 'K', 'L', 'E', 'D',
+ 'W', 'R', 'I', 'N', 'K', 'L', 'E', 'S',
'Y', 'A', 'M', 'A', 'K', 'K', 'A', 'N',
'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G',
'Y', 'O', 'U', 'T', 'H', 'F', 'U', 'L',
@@ -5358,10 +9359,15 @@ static const char unicode_name_words[39544] = {
'A', 'B', 'K', 'H', 'A', 'S', 'I', 'A', 'N',
'A', 'B', 'U', 'N', 'D', 'A', 'N', 'C', 'E',
'A', 'D', 'D', 'R', 'E', 'S', 'S', 'E', 'D',
+ 'A', 'D', 'M', 'I', 'S', 'S', 'I', 'O', 'N',
+ 'A', 'D', 'V', 'A', 'N', 'T', 'A', 'G', 'E',
'A', 'L', '-', 'L', 'A', 'K', 'U', 'N', 'A',
'A', 'L', 'P', 'A', 'P', 'R', 'A', 'N', 'A',
'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'E',
+ 'A', 'M', 'B', 'U', 'L', 'A', 'N', 'C', 'E',
'A', 'M', 'P', 'E', 'R', 'S', 'A', 'N', 'D',
+ 'A', 'N', 'A', 'T', 'O', 'L', 'I', 'A', 'N',
+ 'A', 'N', 'G', 'U', 'I', 'S', 'H', 'E', 'D',
'A', 'N', 'T', 'I', 'F', 'O', 'N', 'I', 'A',
'A', 'R', '-', 'R', 'A', 'H', 'E', 'E', 'M',
'A', 'R', '-', 'R', 'A', 'H', 'M', 'A', 'N',
@@ -5371,28 +9377,50 @@ static const char unicode_name_words[39544] = {
'A', 'S', 'S', 'E', 'R', 'T', 'I', 'O', 'N',
'A', 'S', 'T', 'E', 'R', 'I', 'S', 'K', 'S',
'A', 'T', 'T', 'E', 'N', 'T', 'I', 'O', 'N',
+ 'A', 'U', 'B', 'E', 'R', 'G', 'I', 'N', 'E',
+ 'A', 'U', 'T', 'O', 'M', 'A', 'T', 'E', 'D',
'B', 'A', 'C', 'K', 'S', 'L', 'A', 'S', 'H',
'B', 'A', 'C', 'K', 'S', 'P', 'A', 'C', 'E',
+ 'B', 'A', 'D', 'M', 'I', 'N', 'T', 'O', 'N',
+ 'B', 'A', 'L', 'L', 'P', 'O', 'I', 'N', 'T',
'B', 'E', 'G', 'I', 'N', 'N', 'I', 'N', 'G',
+ 'B', 'I', 'C', 'Y', 'C', 'L', 'I', 'S', 'T',
+ 'B', 'I', 'L', 'L', 'I', 'A', 'R', 'D', 'S',
'B', 'I', 'N', 'O', 'C', 'U', 'L', 'A', 'R',
'B', 'I', 'O', 'H', 'A', 'Z', 'A', 'R', 'D',
'B', 'I', 'S', 'E', 'C', 'T', 'I', 'N', 'G',
'B', 'I', 'S', 'M', 'I', 'L', 'L', 'A', 'H',
'B', 'L', 'A', 'C', 'K', 'F', 'O', 'O', 'T',
'B', 'O', 'O', 'M', 'E', 'R', 'A', 'N', 'G',
+ 'B', 'R', 'A', 'C', 'K', 'E', 'T', 'E', 'D',
'B', 'R', 'A', 'N', 'C', 'H', 'I', 'N', 'G',
+ 'B', 'R', 'I', 'E', 'F', 'C', 'A', 'S', 'E',
+ 'B', 'U', 'I', 'L', 'D', 'I', 'N', 'G', 'S',
'B', 'Y', 'Z', 'A', 'N', 'T', 'I', 'N', 'E',
+ 'C', 'A', 'P', 'I', 'T', 'U', 'L', 'U', 'M',
'C', 'A', 'P', 'R', 'I', 'C', 'O', 'R', 'N',
'C', 'A', 'R', 'P', 'E', 'N', 'T', 'R', 'Y',
+ 'C', 'A', 'R', 'T', 'R', 'I', 'D', 'G', 'E',
'C', 'A', 'R', 'Y', 'S', 'T', 'I', 'A', 'N',
+ 'C', 'A', 'U', 'C', 'A', 'S', 'I', 'A', 'N',
'C', 'E', 'N', 'T', 'U', 'R', 'I', 'A', 'L',
'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R',
'C', 'H', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
+ 'C', 'H', 'E', 'Q', 'U', 'E', 'R', 'E', 'D',
+ 'C', 'H', 'O', 'C', 'O', 'L', 'A', 'T', 'E',
+ 'C', 'H', 'R', 'I', 'S', 'T', 'M', 'A', 'S',
+ 'C', 'I', 'T', 'Y', 'S', 'C', 'A', 'P', 'E',
+ 'C', 'L', 'A', 'M', 'S', 'H', 'E', 'L', 'L',
+ 'C', 'L', 'A', 'S', 'S', 'I', 'C', 'A', 'L',
+ 'C', 'L', 'I', 'P', 'B', 'O', 'A', 'R', 'D',
'C', 'L', 'O', 'C', 'K', 'W', 'I', 'S', 'E',
'C', 'L', 'O', 'S', 'E', 'N', 'E', 'S', 'S',
+ 'C', 'O', 'L', 'L', 'I', 'S', 'I', 'O', 'N',
'C', 'O', 'M', 'B', 'I', 'N', 'I', 'N', 'G',
'C', 'O', 'M', 'P', 'L', 'E', 'T', 'E', 'D',
+ 'C', 'O', 'M', 'P', 'U', 'T', 'E', 'R', 'S',
'C', 'O', 'N', 'G', 'R', 'U', 'E', 'N', 'T',
+ 'C', 'O', 'N', 'J', 'O', 'I', 'N', 'E', 'D',
'C', 'O', 'N', 'J', 'U', 'G', 'A', 'T', 'E',
'C', 'O', 'N', 'S', 'O', 'N', 'A', 'N', 'T',
'C', 'O', 'N', 'S', 'T', 'A', 'N', 'C', 'Y',
@@ -5400,10 +9428,16 @@ static const char unicode_name_words[39544] = {
'C', 'O', 'P', 'R', 'O', 'D', 'U', 'C', 'T',
'C', 'O', 'P', 'Y', 'R', 'I', 'G', 'H', 'T',
'C', 'R', 'E', 'S', 'C', 'E', 'N', 'D', 'O',
+ 'C', 'R', 'E', 'S', 'C', 'E', 'N', 'T', 'S',
+ 'C', 'R', 'O', 'C', 'O', 'D', 'I', 'L', 'E',
+ 'C', 'R', 'U', 'C', 'I', 'F', 'O', 'R', 'M',
'C', 'U', 'A', 'T', 'R', 'I', 'L', 'L', 'O',
'C', 'U', 'N', 'E', 'I', 'F', 'O', 'R', 'M',
'D', 'A', 'H', 'Y', 'A', 'A', 'U', 'S', 'H',
'D', 'A', 'R', 'K', 'E', 'N', 'I', 'N', 'G',
+ 'D', 'A', 'Y', '-', 'N', 'I', 'G', 'H', 'T',
+ 'D', 'E', 'C', 'I', 'D', 'U', 'O', 'U', 'S',
+ 'D', 'E', 'L', 'I', 'C', 'I', 'O', 'U', 'S',
'D', 'E', 'L', 'I', 'M', 'I', 'T', 'E', 'R',
'D', 'E', 'N', 'T', 'I', 'S', 'T', 'R', 'Y',
'D', 'E', 'P', 'A', 'R', 'T', 'I', 'N', 'G',
@@ -5416,6 +9450,7 @@ static const char unicode_name_words[39544] = {
'D', 'I', 'F', 'T', 'O', 'G', 'G', 'O', 'S',
'D', 'I', 'G', 'R', 'A', 'M', 'M', 'O', 'S',
'D', 'I', 'M', 'E', 'N', 'S', 'I', 'O', 'N',
+ 'D', 'I', 'R', 'E', 'C', 'T', 'I', 'O', 'N',
'D', 'O', 'T', 'S', '-', '1', '2', '3', '4',
'D', 'O', 'T', 'S', '-', '1', '2', '3', '5',
'D', 'O', 'T', 'S', '-', '1', '2', '3', '6',
@@ -5487,6 +9522,7 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'T', 'S', '-', '4', '6', '7', '8',
'D', 'O', 'T', 'S', '-', '5', '6', '7', '8',
'D', 'O', 'W', 'N', 'W', 'A', 'R', 'D', 'S',
+ 'D', 'R', 'O', 'M', 'E', 'D', 'A', 'R', 'Y',
'D', 'U', 'P', 'O', 'N', 'D', 'I', 'U', 'S',
'E', 'D', 'I', 'T', 'O', 'R', 'I', 'A', 'L',
'E', 'E', 'B', 'E', 'E', 'F', 'I', 'L', 'I',
@@ -5497,13 +9533,18 @@ static const char unicode_name_words[39544] = {
'E', 'N', 'D', 'O', 'F', 'O', 'N', 'O', 'N',
'E', 'S', 'T', 'I', 'M', 'A', 'T', 'E', 'D',
'E', 'S', 'T', 'I', 'M', 'A', 'T', 'E', 'S',
+ 'E', 'V', 'E', 'R', 'G', 'R', 'E', 'E', 'N',
'E', 'X', 'C', 'E', 'L', 'L', 'E', 'N', 'T',
'E', 'X', 'T', 'E', 'N', 'S', 'I', 'O', 'N',
'E', 'X', 'T', 'R', 'A', '-', 'L', 'O', 'W',
+ 'E', 'X', 'T', 'R', 'E', 'M', 'E', 'L', 'Y',
'E', 'Y', 'B', 'E', 'Y', 'F', 'I', 'L', 'I',
+ 'E', 'Y', 'E', 'L', 'A', 'S', 'H', 'E', 'S',
'F', 'A', 'C', 'S', 'I', 'M', 'I', 'L', 'E',
'F', 'A', 'N', 'E', 'R', 'O', 'S', 'I', 'S',
+ 'F', 'E', 'U', 'F', 'E', 'U', 'A', 'E', 'T',
'F', 'I', 'N', 'A', 'N', 'C', 'I', 'A', 'L',
+ 'F', 'I', 'R', 'E', 'W', 'O', 'R', 'K', 'S',
'F', 'I', 'V', 'E', '-', 'L', 'I', 'N', 'E',
'F', 'L', 'A', 'T', 'T', 'E', 'N', 'E', 'D',
'F', 'O', 'L', 'L', 'O', 'W', 'I', 'N', 'G',
@@ -5516,16 +9557,29 @@ static const char unicode_name_words[39544] = {
'G', 'A', 'T', 'H', 'E', 'R', 'I', 'N', 'G',
'G', 'E', 'O', 'M', 'E', 'T', 'R', 'I', 'C',
'G', 'E', 'R', 'S', 'H', 'A', 'Y', 'I', 'M',
+ 'G', 'H', 'E', 'U', 'A', 'E', 'R', 'A', 'E',
'G', 'L', 'I', 'S', 'S', 'A', 'N', 'D', 'O',
'G', 'N', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
'G', 'O', 'R', 'G', 'O', 'T', 'E', 'R', 'I',
+ 'G', 'R', 'A', 'V', 'E', 'Y', 'A', 'R', 'D',
'G', 'R', 'E', 'A', 'T', 'N', 'E', 'S', 'S',
'G', 'R', 'E', 'G', 'O', 'R', 'I', 'A', 'N',
+ 'G', 'R', 'I', 'M', 'A', 'C', 'I', 'N', 'G',
+ 'G', 'U', 'A', 'R', 'D', 'S', 'M', 'A', 'N',
'G', 'U', 'R', 'A', 'M', 'U', 'T', 'O', 'N',
'H', 'A', 'L', 'F', 'W', 'I', 'D', 'T', 'H',
+ 'H', 'A', 'M', 'B', 'U', 'R', 'G', 'E', 'R',
+ 'H', 'A', 'N', 'D', '-', 'C', 'L', 'A', 'W',
+ 'H', 'A', 'N', 'D', '-', 'F', 'I', 'S', 'T',
+ 'H', 'A', 'N', 'D', '-', 'F', 'L', 'A', 'T',
+ 'H', 'A', 'N', 'D', '-', 'H', 'O', 'O', 'K',
+ 'H', 'A', 'N', 'D', '-', 'O', 'V', 'A', 'L',
+ 'H', 'E', 'A', 'D', 'P', 'H', 'O', 'N', 'E',
+ 'H', 'E', 'A', 'D', 'S', 'T', 'O', 'N', 'E',
'H', 'E', 'K', 'U', 'T', 'A', 'A', 'R', 'U',
'H', 'E', 'R', 'M', 'I', 'T', 'I', 'A', 'N',
'H', 'O', 'U', 'R', 'G', 'L', 'A', 'S', 'S',
+ 'H', 'U', 'N', 'G', 'A', 'R', 'I', 'A', 'N',
'I', 'C', 'H', 'I', 'M', 'A', 'T', 'O', 'S',
'I', 'D', 'E', 'N', 'T', 'I', 'C', 'A', 'L',
'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H',
@@ -5540,6 +9594,8 @@ static const char unicode_name_words[39544] = {
'I', 'N', 'S', 'E', 'R', 'T', 'I', 'O', 'N',
'I', 'N', 'V', 'I', 'S', 'I', 'B', 'L', 'E',
'I', 'R', 'U', 'U', 'Y', 'A', 'N', 'N', 'A',
+ 'I', 'S', 'E', 'N', '-', 'I', 'S', 'E', 'N',
+ 'I', 'S', 'O', 'S', 'C', 'E', 'L', 'E', 'S',
'I', 'T', 'E', 'R', 'A', 'T', 'I', 'O', 'N',
'J', 'E', 'R', 'U', 'S', 'A', 'L', 'E', 'M',
'J', 'O', 'N', 'G', 'S', 'E', 'O', 'N', 'G',
@@ -5547,6 +9603,8 @@ static const char unicode_name_words[39544] = {
'K', 'A', 'T', 'A', 'V', 'A', 'S', 'M', 'A',
'K', 'E', 'M', 'P', 'H', 'R', 'E', 'N', 'G',
'K', 'E', 'N', 'T', 'I', 'M', 'A', 'T', 'A',
+ 'K', 'H', 'U', 'D', 'A', 'W', 'A', 'D', 'I',
+ 'K', 'H', 'U', 'E', 'N', '-', 'L', 'U', 'E',
'K', 'I', 'R', 'O', 'W', 'A', 'T', 'T', 'O',
'K', 'R', 'A', 'T', 'I', 'M', 'A', 'T', 'A',
'K', 'U', 'R', 'U', 'Z', 'E', 'I', 'R', 'O',
@@ -5560,64 +9618,102 @@ static const char unicode_name_words[39544] = {
'L', 'H', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
'L', 'I', 'A', 'B', 'I', 'L', 'I', 'T', 'Y',
'L', 'I', 'G', 'H', 'T', 'N', 'I', 'N', 'G',
+ 'L', 'O', 'D', 'E', 'S', 'T', 'O', 'N', 'E',
+ 'M', 'A', 'E', 'M', 'G', 'B', 'I', 'E', 'E',
'M', 'A', 'H', 'A', 'P', 'R', 'A', 'N', 'A',
'M', 'A', 'I', 'T', 'A', 'I', 'K', 'H', 'U',
'M', 'A', 'L', 'A', 'Y', 'A', 'L', 'A', 'M',
+ 'M', 'A', 'R', 'C', 'A', 'S', 'I', 'T', 'E',
'M', 'A', 'S', 'C', 'U', 'L', 'I', 'N', 'E',
'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'S',
+ 'M', 'E', 'G', 'A', 'P', 'H', 'O', 'N', 'E',
+ 'M', 'E', 'R', 'I', 'D', 'I', 'A', 'N', 'S',
'M', 'E', 'S', 'S', 'E', 'N', 'I', 'A', 'N',
'M', 'E', 'T', 'O', 'B', 'E', 'L', 'U', 'S',
+ 'M', 'I', 'D', '-', 'L', 'E', 'V', 'E', 'L',
'M', 'I', 'R', 'I', 'B', 'A', 'A', 'R', 'U',
'M', 'O', 'N', 'G', 'O', 'L', 'I', 'A', 'N',
'M', 'O', 'N', 'O', 'C', 'U', 'L', 'A', 'R',
'M', 'O', 'N', 'O', 'G', 'R', 'A', 'P', 'H',
'M', 'O', 'N', 'O', 'S', 'P', 'A', 'C', 'E',
+ 'M', 'O', 'U', 'N', 'T', 'A', 'I', 'N', 'S',
'M', 'U', 'K', 'P', 'H', 'R', 'E', 'N', 'G',
'M', 'U', 'U', 'R', 'D', 'H', 'A', 'J', 'A',
+ 'N', 'A', 'B', 'A', 'T', 'A', 'E', 'A', 'N',
+ 'N', 'D', 'E', 'U', 'A', 'E', 'R', 'E', 'E',
+ 'N', 'E', 'T', 'W', 'O', 'R', 'K', 'E', 'D',
+ 'N', 'E', 'W', 'S', 'P', 'A', 'P', 'E', 'R',
'N', 'I', 'G', 'G', 'A', 'H', 'I', 'T', 'A',
'N', 'I', 'G', 'I', 'D', 'A', 'E', 'S', 'H',
'N', 'I', 'G', 'I', 'D', 'A', 'M', 'I', 'N',
+ 'N', 'I', 'H', 'S', 'H', 'V', 'A', 'S', 'A',
'N', 'O', 'R', 'T', 'H', 'W', 'E', 'S', 'T',
'N', 'U', 'M', 'E', 'R', 'A', 'T', 'O', 'R',
'O', 'A', 'B', 'O', 'A', 'F', 'I', 'L', 'I',
+ 'O', 'C', 'C', 'L', 'U', 'S', 'I', 'O', 'N',
'O', 'O', 'B', 'O', 'O', 'F', 'I', 'L', 'I',
+ 'O', 'P', 'H', 'I', 'U', 'C', 'H', 'U', 'S',
+ 'O', 'R', 'N', 'A', 'M', 'E', 'N', 'T', 'S',
'O', 'Y', 'R', 'A', 'N', 'I', 'S', 'M', 'A',
'P', 'A', 'A', '-', 'P', 'I', 'L', 'L', 'A',
'P', 'A', 'I', 'Y', 'A', 'N', 'N', 'O', 'I',
+ 'P', 'A', 'L', 'M', 'Y', 'R', 'E', 'N', 'E',
'P', 'A', 'M', 'I', 'N', 'G', 'K', 'A', 'L',
'P', 'A', 'M', 'U', 'N', 'G', 'K', 'A', 'H',
'P', 'A', 'N', 'G', 'L', 'A', 'Y', 'A', 'R',
'P', 'A', 'N', 'G', 'W', 'I', 'S', 'A', 'D',
+ 'P', 'A', 'N', 'Y', 'A', 'N', 'G', 'G', 'A',
+ 'P', 'A', 'P', 'E', 'R', 'C', 'L', 'I', 'P',
'P', 'A', 'R', 'A', 'G', 'R', 'A', 'P', 'H',
+ 'P', 'A', 'S', 'S', 'E', 'N', 'G', 'E', 'R',
+ 'P', 'E', 'N', 'T', 'A', 'G', 'R', 'A', 'M',
'P', 'E', 'N', 'T', 'A', 'S', 'E', 'M', 'E',
'P', 'E', 'R', 'F', 'E', 'C', 'T', 'U', 'M',
'P', 'E', 'R', 'M', 'A', 'N', 'E', 'N', 'T',
'P', 'I', 'A', 'S', 'U', 'T', 'O', 'R', 'U',
+ 'P', 'I', 'N', 'E', 'A', 'P', 'P', 'L', 'E',
'P', 'I', 'T', 'C', 'H', 'F', 'O', 'R', 'K',
'P', 'I', 'Z', 'Z', 'I', 'C', 'A', 'T', 'O',
'P', 'O', 'R', 'R', 'E', 'C', 'T', 'U', 'S',
+ 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', 'S',
'P', 'R', 'A', 'M', '-', 'B', 'U', 'O', 'N',
'P', 'R', 'A', 'M', '-', 'M', 'U', 'O', 'Y',
'P', 'R', 'E', 'C', 'E', 'D', 'I', 'N', 'G',
+ 'P', 'R', 'O', 'J', 'E', 'C', 'T', 'O', 'R',
'P', 'R', 'O', 'L', 'O', 'N', 'G', 'E', 'D',
'P', 'R', 'O', 'P', 'E', 'L', 'L', 'E', 'R',
'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'N',
+ 'Q', 'U', 'A', 'D', 'C', 'O', 'L', 'O', 'N',
'Q', 'U', 'A', 'D', 'R', 'U', 'P', 'L', 'E',
'Q', 'U', 'I', 'N', 'A', 'R', 'I', 'U', 'S',
'Q', 'U', 'O', 'T', 'A', 'T', 'I', 'O', 'N',
'Q', 'U', 'S', 'H', 'S', 'H', 'A', 'Y', 'A',
+ 'R', 'E', 'A', 'L', 'G', 'A', 'R', '-', '2',
'R', 'E', 'C', 'E', 'P', 'T', 'I', 'V', 'E',
'R', 'E', 'C', 'O', 'R', 'D', 'I', 'N', 'G',
'R', 'E', 'C', 'T', 'A', 'N', 'G', 'L', 'E',
'R', 'E', 'C', 'Y', 'C', 'L', 'I', 'N', 'G',
'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'E',
+ 'R', 'E', 'G', 'U', 'L', 'U', 'S', '-', '2',
+ 'R', 'E', 'G', 'U', 'L', 'U', 'S', '-', '3',
+ 'R', 'E', 'G', 'U', 'L', 'U', 'S', '-', '4',
'R', 'E', 'P', 'R', 'E', 'S', 'E', 'N', 'T',
+ 'R', 'E', 'R', 'E', 'N', 'G', 'G', 'A', 'N',
'R', 'E', 'S', 'I', 'D', 'E', 'N', 'C', 'E',
'R', 'E', 'S', 'U', 'P', 'I', 'N', 'U', 'S',
'R', 'E', 'T', 'R', 'O', 'F', 'L', 'E', 'X',
+ 'R', 'E', 'V', 'O', 'L', 'V', 'I', 'N', 'G',
'R', 'I', 'G', 'H', 'T', 'H', 'A', 'N', 'D',
+ 'R', 'O', 'L', 'L', 'E', 'D', '-', 'U', 'P',
+ 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', 'S',
+ 'R', 'U', 'D', 'I', 'M', 'E', 'N', 'T', 'A',
'S', 'A', 'M', 'A', 'R', 'I', 'T', 'A', 'N',
+ 'S', 'A', 'T', 'E', 'L', 'L', 'I', 'T', 'E',
+ 'S', 'A', 'V', 'O', 'U', 'R', 'I', 'N', 'G',
+ 'S', 'A', 'X', 'O', 'P', 'H', 'O', 'N', 'E',
'S', 'C', 'A', 'N', 'D', 'I', 'C', 'U', 'S',
+ 'S', 'C', 'H', 'R', 'O', 'E', 'D', 'E', 'R',
+ 'S', 'C', 'R', 'E', 'A', 'M', 'I', 'N', 'G',
'S', 'E', 'B', 'A', 'T', 'B', 'E', 'I', 'T',
'S', 'E', 'M', 'I', 'C', 'O', 'L', 'O', 'N',
'S', 'E', 'M', 'I', 'V', 'O', 'W', 'E', 'L',
@@ -5626,20 +9722,32 @@ static const char unicode_name_words[39544] = {
'S', 'E', 'V', 'E', 'N', 'T', 'E', 'E', 'N',
'S', 'E', 'V', 'E', 'R', 'A', 'N', 'C', 'E',
'S', 'H', 'A', 'V', 'I', 'Y', 'A', 'N', 'I',
+ 'S', 'H', 'E', 'U', 'A', 'E', 'Q', 'T', 'U',
+ 'S', 'H', 'O', 'R', 'T', 'C', 'A', 'K', 'E',
'S', 'H', 'O', 'R', 'T', 'E', 'N', 'E', 'R',
+ 'S', 'H', 'O', 'R', 'T', 'H', 'A', 'N', 'D',
'S', 'I', 'X', 'T', 'E', 'E', 'N', 'T', 'H',
'S', 'N', 'O', 'W', 'F', 'L', 'A', 'K', 'E',
+ 'S', 'P', 'A', 'G', 'H', 'E', 'T', 'T', 'I',
+ 'S', 'P', 'A', 'R', 'K', 'L', 'I', 'N', 'G',
+ 'S', 'P', 'E', 'E', 'D', 'B', 'O', 'A', 'T',
'S', 'P', 'H', 'E', 'R', 'I', 'C', 'A', 'L',
+ 'S', 'P', 'L', 'A', 'S', 'H', 'I', 'N', 'G',
'S', 'P', 'L', 'I', 'T', 'T', 'I', 'N', 'G',
'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
+ 'S', 'T', 'O', 'P', 'W', 'A', 'T', 'C', 'H',
+ 'S', 'T', 'R', 'A', 'T', 'U', 'M', '-', '2',
'S', 'T', 'R', 'E', 'T', 'C', 'H', 'E', 'D',
'S', 'T', 'R', 'O', 'K', 'E', '-', '1', '0',
'S', 'T', 'R', 'O', 'K', 'E', '-', '1', '1',
+ 'S', 'T', 'U', 'C', 'K', '-', 'O', 'U', 'T',
'S', 'U', 'B', 'J', 'O', 'I', 'N', 'E', 'D',
+ 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E',
'S', 'U', 'B', 'L', 'I', 'N', 'E', 'A', 'R',
'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T',
'S', 'U', 'M', 'M', 'A', 'T', 'I', 'O', 'N',
'S', 'U', 'N', 'D', 'A', 'N', 'E', 'S', 'E',
+ 'S', 'U', 'N', 'F', 'L', 'O', 'W', 'E', 'R',
'S', 'U', 'P', 'E', 'R', 'V', 'I', 'S', 'E',
'S', 'Y', 'L', 'L', 'A', 'B', 'I', 'C', 'S',
'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '0',
@@ -5680,22 +9788,30 @@ static const char unicode_name_words[39544] = {
'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '3',
'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '4',
'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C',
+ 'S', 'Y', 'N', 'A', 'G', 'O', 'G', 'U', 'E',
'S', 'Y', 'N', 'D', 'E', 'S', 'M', 'O', 'S',
'S', 'Y', 'R', 'M', 'A', 'T', 'I', 'K', 'I',
'T', 'A', 'K', 'H', 'A', 'L', 'L', 'U', 'S',
+ 'T', 'A', 'N', 'G', 'E', 'R', 'I', 'N', 'E',
'T', 'E', 'L', 'E', 'G', 'R', 'A', 'P', 'H',
'T', 'E', 'L', 'E', 'P', 'H', 'O', 'N', 'E',
+ 'T', 'E', 'L', 'E', 'S', 'C', 'O', 'P', 'E',
'T', 'E', 'T', 'R', 'A', 'G', 'R', 'A', 'M',
'T', 'E', 'T', 'R', 'A', 'S', 'E', 'M', 'E',
+ 'T', 'E', 'U', 'T', 'E', 'U', 'W', 'E', 'N',
'T', 'H', 'E', 'R', 'E', 'F', 'O', 'R', 'E',
'T', 'H', 'O', 'U', 'S', 'A', 'N', 'D', 'S',
+ 'T', 'O', 'U', 'C', 'H', 'T', 'O', 'N', 'E',
+ 'T', 'R', 'A', 'C', 'K', 'B', 'A', 'L', 'L',
'T', 'R', 'A', 'P', 'E', 'Z', 'I', 'U', 'M',
'T', 'R', 'E', 'M', 'O', 'L', 'O', '-', '1',
'T', 'R', 'E', 'M', 'O', 'L', 'O', '-', '2',
'T', 'R', 'E', 'M', 'O', 'L', 'O', '-', '3',
'T', 'R', 'I', 'F', 'O', 'N', 'I', 'A', 'S',
'T', 'R', 'I', 'G', 'O', 'R', 'G', 'O', 'N',
+ 'T', 'R', 'I', 'L', 'L', 'I', 'O', 'N', 'S',
'T', 'R', 'U', 'N', 'C', 'A', 'T', 'E', 'D',
+ 'T', 'U', 'K', 'W', 'E', 'N', 'T', 'I', 'S',
'T', 'U', 'R', 'N', 'S', 'T', 'I', 'L', 'E',
'T', 'U', 'T', 'E', 'Y', 'A', 'S', 'A', 'T',
'U', 'K', 'R', 'A', 'I', 'N', 'I', 'A', 'N',
@@ -5703,32 +9819,50 @@ static const char unicode_name_words[39544] = {
'U', 'N', 'I', 'V', 'E', 'R', 'S', 'A', 'L',
'U', 'N', 'M', 'A', 'R', 'R', 'I', 'E', 'D',
'V', 'A', 'R', 'I', 'A', 'T', 'I', 'O', 'N',
+ 'V', 'E', 'R', 'D', 'I', 'G', 'R', 'I', 'S',
+ 'V', 'I', 'B', 'R', 'A', 'T', 'I', 'O', 'N',
+ 'V', 'I', 'N', 'E', 'G', 'A', 'R', '-', '2',
+ 'V', 'I', 'N', 'E', 'G', 'A', 'R', '-', '3',
'V', 'I', 'S', 'A', 'R', 'G', 'A', 'Y', 'A',
+ 'V', 'I', 'T', 'R', 'I', 'O', 'L', '-', '2',
'V', 'O', 'I', 'C', 'E', 'L', 'E', 'S', 'S',
+ 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
'W', 'A', 'S', 'S', 'A', 'L', 'L', 'A', 'M',
'W', 'E', 'S', 'T', '-', 'C', 'R', 'E', 'E',
+ 'W', 'I', 'A', 'N', 'G', 'W', 'A', 'A', 'K',
'W', 'O', 'R', 'D', 'S', 'P', 'A', 'C', 'E',
'Y', 'P', 'O', 'K', 'R', 'I', 'S', 'I', 'S',
'A', 'C', 'R', 'O', 'P', 'H', 'O', 'N', 'I', 'C',
'A', 'E', 'D', 'A', '-', 'P', 'I', 'L', 'L', 'A',
'A', 'E', 'L', 'A', '-', 'P', 'I', 'L', 'L', 'A',
+ 'A', 'G', 'G', 'R', 'A', 'V', 'A', 'T', 'E', 'D',
+ 'A', 'L', 'C', 'H', 'E', 'M', 'I', 'C', 'A', 'L',
'A', 'L', 'P', 'A', 'P', 'R', 'A', 'A', 'N', 'A',
'A', 'N', 'G', 'K', 'H', 'A', 'N', 'K', 'H', 'U',
'A', 'N', 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N',
'A', 'N', 'T', 'I', 'K', 'E', 'N', 'O', 'M', 'A',
+ 'A', 'N', 'T', 'I', 'M', 'O', 'N', 'Y', '-', '2',
'A', 'N', 'U', 'S', 'V', 'A', 'R', 'A', 'Y', 'A',
'A', 'P', 'O', 'S', 'T', 'R', 'O', 'F', 'O', 'I',
'A', 'P', 'O', 'S', 'T', 'R', 'O', 'F', 'O', 'S',
'A', 'P', 'O', 'S', 'T', 'R', 'O', 'P', 'H', 'E',
'A', 'P', 'P', 'R', 'O', 'A', 'C', 'H', 'E', 'S',
+ 'A', 'Q', 'U', 'A', 'F', 'O', 'R', 'T', 'I', 'S',
'A', 'R', 'P', 'E', 'G', 'G', 'I', 'A', 'T', 'O',
'A', 'R', 'R', 'O', 'W', '-', 'T', 'A', 'I', 'L',
+ 'A', 'R', 'R', 'O', 'W', 'H', 'E', 'A', 'D', 'S',
+ 'A', 'S', 'P', 'I', 'R', 'A', 'T', 'I', 'O', 'N',
'A', 'S', 'T', 'E', 'R', 'I', 'S', 'C', 'U', 'S',
+ 'A', 'S', 'T', 'O', 'N', 'I', 'S', 'H', 'E', 'D',
'A', 'T', 'H', 'A', 'P', 'A', 'S', 'C', 'A', 'N',
'A', 'U', 'R', 'A', 'M', 'A', 'Z', 'D', 'A', 'A',
+ 'A', 'U', 'T', 'O', 'M', 'O', 'B', 'I', 'L', 'E',
'B', 'A', 'R', 'I', 'Y', 'O', 'O', 'S', 'A', 'N',
+ 'B', 'A', 'S', 'K', 'E', 'T', 'B', 'A', 'L', 'L',
'B', 'A', 'T', 'H', 'A', 'M', 'A', 'S', 'A', 'T',
'B', 'I', 'B', 'L', 'E', '-', 'C', 'R', 'E', 'E',
+ 'B', 'R', 'I', 'G', 'H', 'T', 'N', 'E', 'S', 'S',
+ 'C', 'A', 'L', 'C', 'U', 'L', 'A', 'T', 'O', 'R',
'C', 'E', 'N', 'T', 'R', 'E', 'L', 'I', 'N', 'E',
'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', 'S',
'C', 'I', 'R', 'C', 'U', 'M', 'F', 'L', 'E', 'X',
@@ -5736,19 +9870,31 @@ static const char unicode_name_words[39544] = {
'C', 'O', 'M', 'P', 'L', 'E', 'M', 'E', 'N', 'T',
'C', 'O', 'M', 'P', 'L', 'E', 'T', 'I', 'O', 'N',
'C', 'O', 'M', 'P', 'L', 'I', 'A', 'N', 'C', 'E',
+ 'C', 'O', 'M', 'P', 'R', 'E', 'S', 'S', 'E', 'D',
+ 'C', 'O', 'N', 'F', 'O', 'U', 'N', 'D', 'E', 'D',
'C', 'O', 'N', 'J', 'O', 'I', 'N', 'I', 'N', 'G',
'C', 'O', 'N', 'T', 'A', 'I', 'N', 'I', 'N', 'G',
'C', 'O', 'N', 'T', 'E', 'N', 'T', 'I', 'O', 'N',
+ 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'I', 'N', 'G',
'C', 'O', 'N', 'T', 'I', 'N', 'U', 'O', 'U', 'S',
+ 'C', 'O', 'N', 'V', 'E', 'R', 'G', 'I', 'N', 'G',
'C', 'R', 'O', 'S', 'S', 'B', 'O', 'N', 'E', 'S',
'C', 'R', 'O', 'S', 'S', 'H', 'A', 'T', 'C', 'H',
+ 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '2',
+ 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '3',
+ 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '4',
+ 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '5',
'D', 'A', 'G', 'B', 'A', 'S', 'I', 'N', 'N', 'A',
+ 'D', 'E', 'C', 'O', 'R', 'A', 'T', 'I', 'O', 'N',
+ 'D', 'E', 'C', 'O', 'R', 'A', 'T', 'I', 'V', 'E',
'D', 'E', 'F', 'I', 'N', 'I', 'T', 'I', 'O', 'N',
+ 'D', 'E', 'P', 'A', 'R', 'T', 'M', 'E', 'N', 'T',
'D', 'E', 'S', 'C', 'E', 'N', 'D', 'I', 'N', 'G',
'D', 'E', 'V', 'A', 'N', 'A', 'G', 'A', 'R', 'I',
'D', 'I', 'F', 'F', 'E', 'R', 'E', 'N', 'C', 'E',
'D', 'I', 'F', 'F', 'I', 'C', 'U', 'L', 'T', 'Y',
'D', 'I', 'S', 'P', 'E', 'R', 'S', 'I', 'O', 'N',
+ 'D', 'I', 'S', 'S', 'O', 'L', 'V', 'E', '-', '2',
'D', 'I', 'S', 'T', 'O', 'R', 'T', 'I', 'O', 'N',
'D', 'I', 'V', 'E', 'R', 'G', 'E', 'N', 'C', 'E',
'D', 'I', 'V', 'I', 'N', 'A', 'T', 'I', 'O', 'N',
@@ -5812,24 +9958,40 @@ static const char unicode_name_words[39544] = {
'E', 'L', 'E', 'C', 'T', 'R', 'I', 'C', 'A', 'L',
'E', 'M', 'B', 'R', 'O', 'I', 'D', 'E', 'R', 'Y',
'E', 'N', 'A', 'R', 'M', 'O', 'N', 'I', 'O', 'S',
+ 'E', 'N', 'C', 'L', 'O', 'S', 'U', 'R', 'E', 'S',
'E', 'N', 'C', 'O', 'U', 'N', 'T', 'E', 'R', 'S',
+ 'E', 'N', 'T', '-', 'S', 'H', 'A', 'P', 'E', 'D',
'E', 'N', 'T', 'E', 'R', 'P', 'R', 'I', 'S', 'E',
'E', 'N', 'T', 'H', 'U', 'S', 'I', 'A', 'S', 'M',
+ 'E', 'P', 'E', 'N', 'T', 'H', 'E', 'T', 'I', 'C',
'E', 'P', 'I', 'D', 'A', 'U', 'R', 'E', 'A', 'N',
'E', 'P', 'I', 'G', 'R', 'A', 'P', 'H', 'I', 'C',
'E', 'Q', 'U', 'I', 'V', 'A', 'L', 'E', 'N', 'T',
+ 'E', 'X', 'C', 'I', 'T', 'E', 'M', 'E', 'N', 'T',
'E', 'X', 'H', 'A', 'U', 'S', 'T', 'I', 'O', 'N',
'E', 'X', 'T', 'R', 'A', '-', 'H', 'I', 'G', 'H',
+ 'E', 'Y', 'E', 'G', 'L', 'A', 'S', 'S', 'E', 'S',
'F', 'A', 'H', 'R', 'E', 'N', 'H', 'E', 'I', 'T',
'F', 'E', 'L', 'L', 'O', 'W', 'S', 'H', 'I', 'P',
'F', 'I', 'X', 'E', 'D', '-', 'F', 'O', 'R', 'M',
+ 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
+ 'F', 'L', 'U', 'T', 'T', 'E', 'R', 'I', 'N', 'G',
+ 'F', 'O', 'O', 'T', 'P', 'R', 'I', 'N', 'T', 'S',
'F', 'O', 'R', 'M', 'A', 'T', 'T', 'I', 'N', 'G',
'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', 'A', 'L',
'G', 'B', 'A', 'K', 'U', 'R', 'U', 'N', 'E', 'N',
'G', 'E', 'M', 'I', 'N', 'A', 'T', 'I', 'O', 'N',
'G', 'L', 'A', 'G', 'O', 'L', 'I', 'T', 'I', 'C',
'G', 'O', 'R', 'T', 'H', 'M', 'I', 'K', 'O', 'N',
+ 'G', 'R', 'A', 'D', 'U', 'A', 'T', 'I', 'O', 'N',
+ 'H', 'A', 'N', 'D', '-', 'A', 'N', 'G', 'L', 'E',
+ 'H', 'A', 'N', 'D', '-', 'H', 'I', 'N', 'G', 'E',
+ 'H', 'E', 'A', 'D', 'S', 'T', 'R', 'O', 'K', 'E',
+ 'H', 'E', 'L', 'I', 'C', 'O', 'P', 'T', 'E', 'R',
'H', 'E', 'R', 'M', 'I', 'O', 'N', 'I', 'A', 'N',
+ 'H', 'I', 'E', 'R', 'O', 'G', 'L', 'Y', 'P', 'H',
+ 'H', 'I', 'E', 'U', 'H', '-', 'S', 'I', 'O', 'S',
+ 'H', 'I', 'G', 'H', '-', 'S', 'P', 'E', 'E', 'D',
'H', 'O', 'M', 'O', 'T', 'H', 'E', 'T', 'I', 'C',
'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L',
'H', 'Y', 'S', 'T', 'E', 'R', 'E', 'S', 'I', 'S',
@@ -5839,6 +10001,10 @@ static const char unicode_name_words[39544] = {
'I', 'M', 'P', 'E', 'R', 'F', 'E', 'C', 'T', 'A',
'I', 'N', 'C', 'O', 'M', 'P', 'L', 'E', 'T', 'E',
'I', 'N', 'D', 'U', 'S', 'T', 'R', 'I', 'A', 'L',
+ 'I', 'N', 'T', 'E', 'R', 'L', 'A', 'C', 'E', 'D',
+ 'K', 'E', 'U', 'A', 'E', 'T', 'M', 'E', 'U', 'N',
+ 'K', 'E', 'U', 'K', 'E', 'U', 'T', 'N', 'D', 'A',
+ 'K', 'E', 'U', 'S', 'H', 'E', 'U', 'A', 'E', 'P',
'K', 'H', 'A', 'K', 'A', 'S', 'S', 'I', 'A', 'N',
'K', 'H', 'A', 'R', 'O', 'S', 'H', 'T', 'H', 'I',
'K', 'I', 'R', 'O', 'G', 'U', 'R', 'A', 'M', 'U',
@@ -5846,34 +10012,64 @@ static const char unicode_name_words[39544] = {
'L', 'A', 'J', 'A', 'N', 'Y', 'A', 'L', 'A', 'N',
'L', 'E', 'N', 'G', 'T', 'H', 'E', 'N', 'E', 'R',
'L', 'E', 'N', 'T', 'I', 'C', 'U', 'L', 'A', 'R',
+ 'L', 'E', 'V', 'I', 'T', 'A', 'T', 'I', 'N', 'G',
+ 'L', 'I', 'G', 'H', 'T', 'H', 'O', 'U', 'S', 'E',
'L', 'I', 'M', 'I', 'T', 'A', 'T', 'I', 'O', 'N',
+ 'L', 'O', 'C', 'O', 'M', 'O', 'T', 'I', 'V', 'E',
+ 'M', 'A', 'E', 'M', 'B', 'G', 'B', 'I', 'E', 'E',
+ 'M', 'A', 'G', 'N', 'I', 'F', 'Y', 'I', 'N', 'G',
+ 'M', 'A', 'N', 'D', 'A', 'I', 'L', 'I', 'N', 'G',
+ 'M', 'A', 'N', 'I', 'C', 'H', 'A', 'E', 'A', 'N',
'M', 'E', 'M', 'B', 'E', 'R', 'S', 'H', 'I', 'P',
+ 'M', 'I', 'C', 'R', 'O', 'P', 'H', 'O', 'N', 'E',
+ 'M', 'I', 'C', 'R', 'O', 'S', 'C', 'O', 'P', 'E',
'M', 'I', 'E', 'U', 'M', '-', 'S', 'I', 'O', 'S',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '2',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '3',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '4',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '5',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '6',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '7',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '8',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '9',
+ 'M', 'O', 'N', 'G', 'K', 'E', 'U', 'A', 'E', 'Q',
'M', 'O', 'N', 'O', 'F', 'O', 'N', 'I', 'A', 'S',
'M', 'O', 'N', 'O', 'S', 'T', 'A', 'B', 'L', 'E',
'M', 'O', 'O', 'S', 'E', '-', 'C', 'R', 'E', 'E',
+ 'M', 'O', 'T', 'O', 'R', 'C', 'Y', 'C', 'L', 'E',
'M', 'U', '-', 'G', 'A', 'A', 'H', 'L', 'A', 'A',
+ 'M', 'V', 'E', 'U', 'A', 'E', 'N', 'G', 'A', 'M',
'N', 'A', 'A', 'S', 'I', 'K', 'Y', 'A', 'Y', 'A',
'N', 'A', 'N', 'G', 'M', 'O', 'N', 'T', 'H', 'O',
+ 'N', 'G', 'G', 'U', 'A', 'E', 'S', 'H', 'A', 'E',
+ 'N', 'G', 'K', 'U', 'E', 'N', 'Z', 'E', 'U', 'M',
'N', 'I', 'E', 'U', 'N', '-', 'S', 'I', 'O', 'S',
+ 'N', 'I', 'K', 'O', 'L', 'S', 'B', 'U', 'R', 'G',
'N', 'O', 'N', '-', 'J', 'O', 'I', 'N', 'E', 'R',
'N', 'O', 'N', 'F', 'O', 'R', 'K', 'I', 'N', 'G',
+ 'O', 'N', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'O', 'P', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N',
'O', 'P', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N',
'O', 'R', 'T', 'H', 'O', 'G', 'O', 'N', 'A', 'L',
+ 'P', 'A', 'I', 'N', 'T', 'B', 'R', 'U', 'S', 'H',
'P', 'A', 'M', 'P', 'H', 'Y', 'L', 'I', 'A', 'N',
'P', 'A', 'N', 'A', 'E', 'L', 'A', 'E', 'N', 'G',
'P', 'A', 'N', 'E', 'U', 'L', 'E', 'U', 'N', 'G',
+ 'P', 'A', 'N', 'O', 'N', 'G', 'O', 'N', 'A', 'N',
+ 'P', 'A', 'P', 'E', 'R', 'C', 'L', 'I', 'P', 'S',
'P', 'A', 'R', 'A', 'P', 'H', 'R', 'A', 'S', 'E',
'P', 'A', 'T', 'H', 'A', 'M', 'A', 'S', 'A', 'T',
'P', 'E', 'D', 'E', 'S', 'T', 'R', 'I', 'A', 'N',
'P', 'E', 'R', 'C', 'U', 'S', 'S', 'I', 'V', 'E',
+ 'P', 'E', 'R', 'F', 'O', 'R', 'M', 'I', 'N', 'G',
'P', 'H', 'A', 'R', 'Y', 'N', 'G', 'E', 'A', 'L',
'P', 'H', 'I', 'L', 'I', 'P', 'P', 'I', 'N', 'E',
'P', 'H', 'O', 'E', 'N', 'I', 'C', 'I', 'A', 'N',
'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S',
+ 'P', 'I', 'N', 'A', 'R', 'B', 'O', 'R', 'A', 'S',
'P', 'L', 'U', 'S', '-', 'M', 'I', 'N', 'U', 'S',
'P', 'O', 'S', 'S', 'E', 'S', 'S', 'I', 'O', 'N',
+ 'P', 'R', 'O', 'H', 'I', 'B', 'I', 'T', 'E', 'D',
'P', 'R', 'O', 'J', 'E', 'C', 'T', 'I', 'O', 'N',
'P', 'R', 'O', 'J', 'E', 'C', 'T', 'I', 'V', 'E',
'P', 'R', 'O', 'L', 'A', 'T', 'I', 'O', 'N', 'E',
@@ -5881,33 +10077,33 @@ static const char unicode_name_words[39544] = {
'P', 'R', 'O', 'T', 'O', 'V', 'A', 'R', 'Y', 'S',
'Q', 'U', 'A', 'T', 'E', 'R', 'N', 'I', 'O', 'N',
'Q', 'U', 'E', 'S', 'T', 'I', 'O', 'N', 'E', 'D',
+ 'R', 'E', 'C', 'I', 'T', 'A', 'T', 'I', 'V', 'E',
'R', 'E', 'G', 'I', 'S', 'T', 'E', 'R', 'E', 'D',
'R', 'E', 'L', 'A', 'T', 'I', 'O', 'N', 'A', 'L',
+ 'R', 'E', 'P', 'E', 'T', 'I', 'T', 'I', 'O', 'N',
'R', 'E', 'S', 'I', 'S', 'T', 'A', 'N', 'C', 'E',
'R', 'E', 'S', 'O', 'L', 'U', 'T', 'I', 'O', 'N',
+ 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', 'E', 'D',
'R', 'E', 'V', 'O', 'L', 'U', 'T', 'I', 'O', 'N',
'R', 'I', 'E', 'U', 'L', '-', 'S', 'I', 'O', 'S',
'R', 'I', 'G', 'H', 'T', '-', 'H', 'A', 'N', 'D',
'R', 'I', 'G', 'H', 'T', '-', 'S', 'I', 'D', 'E',
'R', 'I', 'G', 'H', 'T', 'W', 'A', 'R', 'D', 'S',
'S', 'A', 'N', 'S', '-', 'S', 'E', 'R', 'I', 'F',
+ 'S', 'A', 'T', 'K', 'A', 'A', 'N', 'K', 'U', 'U',
'S', 'A', 'U', 'R', 'A', 'S', 'H', 'T', 'R', 'A',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9',
'S', 'E', 'M', 'I', 'B', 'R', 'E', 'V', 'I', 'S',
'S', 'E', 'M', 'I', 'C', 'I', 'R', 'C', 'L', 'E',
'S', 'E', 'M', 'I', 'D', 'I', 'R', 'E', 'C', 'T',
'S', 'E', 'M', 'I', 'M', 'I', 'N', 'I', 'M', 'A',
+ 'S', 'E', 'Q', 'U', 'E', 'N', 'T', 'I', 'A', 'L',
'S', 'E', 'S', 'T', 'E', 'R', 'T', 'I', 'U', 'S',
'S', 'H', 'A', 'L', 'S', 'H', 'E', 'L', 'E', 'T',
+ 'S', 'H', 'I', 'Y', 'Y', 'A', 'A', 'L', 'A', 'A',
'S', 'H', 'O', 'U', 'L', 'D', 'E', 'R', 'E', 'D',
+ 'S', 'H', 'U', 'E', 'N', 'S', 'H', 'U', 'E', 'T',
+ 'S', 'I', 'L', 'H', 'O', 'U', 'E', 'T', 'T', 'E',
+ 'S', 'I', 'M', 'A', 'L', 'U', 'N', 'G', 'U', 'N',
'S', 'I', 'M', 'P', 'L', 'I', 'F', 'I', 'E', 'D',
'S', 'I', 'O', 'S', '-', 'C', 'I', 'E', 'U', 'C',
'S', 'I', 'O', 'S', '-', 'H', 'I', 'E', 'U', 'H',
@@ -5918,20 +10114,27 @@ static const char unicode_name_words[39544] = {
'S', 'I', 'O', 'S', '-', 'R', 'I', 'E', 'U', 'L',
'S', 'I', 'X', '-', 'P', 'E', 'R', '-', 'E', 'M',
'S', 'I', 'X', '-', 'S', 'T', 'R', 'I', 'N', 'G',
+ 'S', 'I', 'X', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
+ 'S', 'I', 'X', 'T', 'E', 'E', 'N', 'T', 'H', 'S',
'S', 'S', 'A', 'N', 'G', 'A', 'R', 'A', 'E', 'A',
'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C',
'S', 'S', 'A', 'N', 'G', 'H', 'I', 'E', 'U', 'H',
'S', 'S', 'A', 'N', 'G', 'I', 'E', 'U', 'N', 'G',
+ 'S', 'S', 'A', 'N', 'G', 'M', 'I', 'E', 'U', 'M',
'S', 'S', 'A', 'N', 'G', 'N', 'I', 'E', 'U', 'N',
'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P',
'S', 'S', 'A', 'N', 'G', 'R', 'I', 'E', 'U', 'L',
'S', 'T', 'A', 'N', 'D', 'S', 'T', 'I', 'L', 'L',
+ 'S', 'T', 'R', 'A', 'W', 'B', 'E', 'R', 'R', 'Y',
'S', 'U', 'B', 'P', 'U', 'N', 'C', 'T', 'I', 'S',
'S', 'U', 'B', 'S', 'T', 'I', 'T', 'U', 'T', 'E',
+ 'S', 'U', 'N', 'G', 'L', 'A', 'S', 'S', 'E', 'S',
'S', 'U', 'P', 'E', 'R', 'F', 'I', 'X', 'E', 'D',
'S', 'U', 'S', 'P', 'E', 'N', 'S', 'I', 'O', 'N',
'T', 'A', 'B', 'U', 'L', 'A', 'T', 'I', 'O', 'N',
'T', 'A', 'W', 'E', 'L', 'L', 'E', 'M', 'E', 'T',
+ 'T', 'E', 'L', 'E', 'V', 'I', 'S', 'I', 'O', 'N',
+ 'T', 'E', 'N', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'T', 'E', 'R', 'M', 'I', 'N', 'A', 'T', 'O', 'R',
'T', 'E', 'T', 'R', 'A', 'S', 'I', 'M', 'O', 'U',
'T', 'H', 'I', 'R', 'T', 'Y', '-', 'O', 'N', 'E',
@@ -5941,36 +10144,57 @@ static const char unicode_name_words[39544] = {
'T', 'R', 'I', 'G', 'R', 'A', 'M', 'M', 'O', 'S',
'T', 'R', 'O', 'E', 'Z', 'E', 'N', 'I', 'A', 'N',
'T', 'R', 'O', 'K', 'U', 'T', 'A', 'S', 'T', 'I',
+ 'T', 'R', 'O', 'L', 'L', 'E', 'Y', 'B', 'U', 'S',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'O', 'N', 'E',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'S', 'I', 'X',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'T', 'W', 'O',
+ 'T', 'W', 'O', '-', 'C', 'I', 'R', 'C', 'L', 'E',
'T', 'W', 'O', '-', 'H', 'E', 'A', 'D', 'E', 'D',
+ 'T', 'W', 'O', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', 'L', 'Y',
'V', 'I', 'S', 'I', 'G', 'O', 'T', 'H', 'I', 'C',
+ 'V', 'O', 'L', 'L', 'E', 'Y', 'B', 'A', 'L', 'L',
+ 'W', 'A', 'T', 'E', 'R', 'M', 'E', 'L', 'O', 'N',
'W', 'H', 'E', 'E', 'L', 'C', 'H', 'A', 'I', 'R',
'W', 'O', 'O', 'D', 'S', '-', 'C', 'R', 'E', 'E',
+ 'Y', 'A', 'J', 'U', 'R', 'V', 'E', 'D', 'I', 'C',
'A', 'C', 'K', 'N', 'O', 'W', 'L', 'E', 'D', 'G', 'E',
'A', 'E', 'S', 'C', 'U', 'L', 'A', 'P', 'I', 'U', 'S',
+ 'A', 'F', 'F', 'R', 'I', 'C', 'A', 'T', 'I', 'O', 'N',
'A', 'G', 'G', 'R', 'A', 'V', 'A', 'T', 'I', 'O', 'N',
+ 'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'I', 'N', 'G',
'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'I', 'O', 'N',
'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'I', 'V', 'E',
+ 'A', 'N', 'T', 'I', 'M', 'O', 'N', 'I', 'A', 'T', 'E',
'A', 'P', 'P', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N',
'A', 'P', 'P', 'R', 'O', 'X', 'I', 'M', 'A', 'T', 'E',
+ 'A', 'R', 'D', 'H', 'A', 'C', 'A', 'N', 'D', 'R', 'A',
+ 'A', 'R', 'T', 'I', 'C', 'U', 'L', 'A', 'T', 'E', 'D',
+ 'A', 'U', 'R', 'I', 'P', 'I', 'G', 'M', 'E', 'N', 'T',
'B', 'A', 'C', 'K', '-', 'T', 'I', 'L', 'T', 'E', 'D',
+ 'B', 'A', 'C', 'K', 'S', 'L', 'A', 'N', 'T', 'E', 'D',
+ 'B', 'H', 'A', 'T', 'T', 'I', 'P', 'R', 'O', 'L', 'U',
+ 'B', 'L', 'A', 'C', 'K', 'L', 'E', 'T', 'T', 'E', 'R',
'C', 'A', 'N', 'D', 'R', 'A', 'B', 'I', 'N', 'D', 'U',
+ 'C', 'E', 'L', 'E', 'B', 'R', 'A', 'T', 'I', 'O', 'N',
'C', 'I', 'E', 'U', 'C', '-', 'I', 'E', 'U', 'N', 'G',
+ 'C', 'I', 'E', 'U', 'C', '-', 'P', 'I', 'E', 'U', 'P',
'C', 'I', 'R', 'C', 'U', 'L', 'A', 'T', 'I', 'O', 'N',
'C', 'L', 'U', 'B', '-', 'S', 'P', 'O', 'K', 'E', 'D',
+ 'C', 'O', 'M', 'B', 'I', 'N', 'A', 'T', 'I', 'O', 'N',
'C', 'O', 'M', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N',
+ 'C', 'O', 'M', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N',
'C', 'O', 'N', 'J', 'U', 'N', 'C', 'T', 'I', 'O', 'N',
'C', 'O', 'N', 'S', 'E', 'C', 'U', 'T', 'I', 'V', 'E',
'C', 'O', 'N', 'T', 'R', 'A', 'C', 'T', 'I', 'O', 'N',
'C', 'O', 'N', 'T', 'R', 'A', 'R', 'I', 'E', 'T', 'Y',
+ 'C', 'O', 'N', 'V', 'E', 'N', 'I', 'E', 'N', 'C', 'E',
'C', 'O', 'R', 'P', 'O', 'R', 'A', 'T', 'I', 'O', 'N',
'C', 'O', 'R', 'R', 'E', 'S', 'P', 'O', 'N', 'D', 'S',
'C', 'O', 'U', 'N', 'T', 'E', 'R', 'B', 'O', 'R', 'E',
'C', 'O', 'U', 'N', 'T', 'E', 'R', 'S', 'I', 'N', 'K',
'D', 'A', 'H', 'Y', 'A', 'A', 'U', 'S', 'H', '-', '2',
+ 'D', 'A', 'L', 'E', 'T', 'H', '-', 'R', 'E', 'S', 'H',
'D', 'E', 'C', 'R', 'E', 'S', 'C', 'E', 'N', 'D', 'O',
'D', 'E', 'L', 'I', 'V', 'E', 'R', 'A', 'N', 'C', 'E',
'D', 'E', 'N', 'O', 'M', 'I', 'N', 'A', 'T', 'O', 'R',
@@ -6014,24 +10238,36 @@ static const char unicode_name_words[39544] = {
'E', 'A', 'M', 'H', 'A', 'N', 'C', 'H', 'O', 'L', 'L',
'E', 'K', 'F', 'O', 'N', 'I', 'T', 'I', 'K', 'O', 'N',
'E', 'N', 'L', 'A', 'R', 'G', 'E', 'M', 'E', 'N', 'T',
+ 'E', 'N', 'U', 'M', 'E', 'R', 'A', 'T', 'I', 'O', 'N',
'E', 'Q', 'U', 'I', 'A', 'N', 'G', 'U', 'L', 'A', 'R',
+ 'E', 'Q', 'U', 'I', 'L', 'A', 'T', 'E', 'R', 'A', 'L',
'E', 'X', 'C', 'L', 'A', 'M', 'A', 'T', 'I', 'O', 'N',
+ 'F', 'I', 'N', 'G', 'E', 'R', '-', 'P', 'O', 'S', 'T',
'F', 'I', 'N', 'G', 'E', 'R', 'N', 'A', 'I', 'L', 'S',
+ 'F', 'I', 'T', 'Z', 'P', 'A', 'T', 'R', 'I', 'C', 'K',
+ 'F', 'I', 'V', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'F', 'O', 'U', 'R', '-', 'P', 'E', 'R', '-', 'E', 'M',
'F', 'O', 'U', 'R', '-', 'S', 'T', 'R', 'I', 'N', 'G',
+ 'F', 'O', 'U', 'R', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'G', 'A', 'Y', 'A', 'N', 'U', 'K', 'I', 'T', 'T', 'A',
+ 'G', 'H', 'E', 'U', 'G', 'H', 'E', 'U', 'A', 'E', 'M',
'G', 'U', 'A', 'R', 'D', 'E', 'D', 'N', 'E', 'S', 'S',
+ 'H', 'A', 'L', 'F', '-', 'C', 'I', 'R', 'C', 'L', 'E',
+ 'H', 'A', 'N', 'D', '-', 'C', 'I', 'R', 'C', 'L', 'E',
'H', 'A', 'U', 'P', 'T', 'S', 'T', 'I', 'M', 'M', 'E',
'H', 'B', 'A', 'S', 'A', '-', 'E', 'S', 'A', 'S', 'A',
'H', 'I', 'E', 'U', 'H', '-', 'M', 'I', 'E', 'U', 'M',
'H', 'I', 'E', 'U', 'H', '-', 'N', 'I', 'E', 'U', 'N',
'H', 'I', 'E', 'U', 'H', '-', 'P', 'I', 'E', 'U', 'P',
'H', 'I', 'E', 'U', 'H', '-', 'R', 'I', 'E', 'U', 'L',
+ 'H', 'I', 'G', 'H', '-', 'H', 'E', 'E', 'L', 'E', 'D',
'H', 'Y', 'P', 'H', 'E', 'N', 'A', 'T', 'I', 'O', 'N',
'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', 'I', 'C',
'I', 'E', 'U', 'N', 'G', '-', 'C', 'I', 'E', 'U', 'C',
+ 'I', 'E', 'U', 'N', 'G', '-', 'H', 'I', 'E', 'U', 'H',
'I', 'E', 'U', 'N', 'G', '-', 'M', 'I', 'E', 'U', 'M',
'I', 'E', 'U', 'N', 'G', '-', 'P', 'I', 'E', 'U', 'P',
+ 'I', 'E', 'U', 'N', 'G', '-', 'R', 'I', 'E', 'U', 'L',
'I', 'M', 'P', 'E', 'R', 'F', 'E', 'C', 'T', 'U', 'M',
'I', 'N', 'D', 'E', 'P', 'E', 'N', 'D', 'E', 'N', 'T',
'I', 'N', 'F', 'O', 'R', 'M', 'A', 'T', 'I', 'O', 'N',
@@ -6040,15 +10276,31 @@ static const char unicode_name_words[39544] = {
'I', 'N', 'T', 'E', 'R', 'L', 'I', 'N', 'E', 'A', 'R',
'I', 'N', 'T', 'E', 'R', 'L', 'O', 'C', 'K', 'E', 'D',
'I', 'N', 'T', 'E', 'R', 'R', 'O', 'B', 'A', 'N', 'G',
+ 'I', 'R', 'O', 'N', '-', 'C', 'O', 'P', 'P', 'E', 'R',
'J', 'I', 'H', 'V', 'A', 'M', 'U', 'L', 'I', 'Y', 'A',
'K', 'I', 'R', 'O', 'M', 'E', 'E', 'T', 'O', 'R', 'U',
'K', 'I', 'Y', 'E', 'O', 'K', '-', 'S', 'I', 'O', 'S',
'L', 'A', 'K', 'K', 'H', 'A', 'N', 'G', 'Y', 'A', 'O',
+ 'L', 'E', 'F', 'T', '-', 'F', 'A', 'C', 'I', 'N', 'G',
+ 'L', 'E', 'F', 'T', '-', 'H', 'A', 'N', 'D', 'E', 'D',
'L', 'E', 'F', 'T', '-', 'S', 'H', 'A', 'D', 'E', 'D',
+ 'L', 'O', 'U', 'D', 'S', 'P', 'E', 'A', 'K', 'E', 'R',
+ 'L', 'O', 'W', '-', 'F', 'A', 'L', 'L', 'I', 'N', 'G',
'M', 'A', 'H', 'A', 'A', 'P', 'R', 'A', 'A', 'N', 'A',
+ 'M', 'A', 'N', 'T', 'E', 'L', 'P', 'I', 'E', 'C', 'E',
+ 'M', 'I', 'E', 'U', 'M', '-', 'C', 'I', 'E', 'U', 'C',
'M', 'I', 'E', 'U', 'M', '-', 'H', 'I', 'E', 'U', 'H',
+ 'M', 'I', 'E', 'U', 'M', '-', 'N', 'I', 'E', 'U', 'N',
'M', 'I', 'E', 'U', 'M', '-', 'P', 'I', 'E', 'U', 'P',
'M', 'I', 'E', 'U', 'M', '-', 'R', 'I', 'E', 'U', 'L',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '0',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '1',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '2',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '3',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '4',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '5',
+ 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '6',
+ 'M', 'O', 'N', 'E', 'Y', '-', 'M', 'O', 'U', 'T', 'H',
'M', 'O', 'N', 'O', 'G', 'R', 'A', 'M', 'M', 'O', 'S',
'M', 'U', 'L', 'T', 'I', 'O', 'C', 'U', 'L', 'A', 'R',
'M', 'U', 'U', 'S', 'I', 'K', 'A', 'T', 'O', 'A', 'N',
@@ -6057,28 +10309,40 @@ static const char unicode_name_words[39544] = {
'N', 'I', 'E', 'U', 'N', '-', 'C', 'I', 'E', 'U', 'C',
'N', 'I', 'E', 'U', 'N', '-', 'H', 'I', 'E', 'U', 'H',
'N', 'I', 'E', 'U', 'N', '-', 'P', 'I', 'E', 'U', 'P',
+ 'N', 'I', 'E', 'U', 'N', '-', 'R', 'I', 'E', 'U', 'L',
+ 'N', 'I', 'N', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
+ 'N', 'O', 'N', '-', 'P', 'O', 'T', 'A', 'B', 'L', 'E',
'O', 'B', 'S', 'T', 'R', 'U', 'C', 'T', 'I', 'O', 'N',
'O', 'P', 'E', 'N', '-', 'H', 'E', 'A', 'D', 'E', 'D',
'O', 'V', 'E', 'R', 'L', 'A', 'P', 'P', 'I', 'N', 'G',
'P', 'A', 'L', 'A', 'T', 'A', 'L', 'I', 'Z', 'E', 'D',
+ 'P', 'A', 'N', 'G', 'R', 'A', 'N', 'G', 'K', 'E', 'P',
'P', 'A', 'R', 'A', 'G', 'R', 'A', 'P', 'H', 'O', 'S',
'P', 'A', 'R', 'A', 'K', 'A', 'L', 'E', 'S', 'M', 'A',
'P', 'A', 'R', 'A', 'K', 'L', 'I', 'T', 'I', 'K', 'I',
+ 'P', 'A', 'R', 'E', 'N', 'T', 'H', 'E', 'S', 'E', 'S',
'P', 'A', 'R', 'E', 'N', 'T', 'H', 'E', 'S', 'I', 'S',
'P', 'A', 'R', 'T', 'N', 'E', 'R', 'S', 'H', 'I', 'P',
+ 'P', 'E', 'D', 'E', 'S', 'T', 'R', 'I', 'A', 'N', 'S',
'P', 'E', 'N', 'E', 'T', 'R', 'A', 'T', 'I', 'O', 'N',
'P', 'E', 'R', 'I', 'S', 'P', 'O', 'M', 'E', 'N', 'I',
+ 'P', 'E', 'R', 'S', 'E', 'V', 'E', 'R', 'I', 'N', 'G',
'P', 'E', 'R', 'S', 'P', 'E', 'C', 'T', 'I', 'V', 'E',
'P', 'I', 'E', 'U', 'P', '-', 'C', 'I', 'E', 'U', 'C',
'P', 'I', 'E', 'U', 'P', '-', 'H', 'I', 'E', 'U', 'H',
+ 'P', 'I', 'E', 'U', 'P', '-', 'M', 'I', 'E', 'U', 'M',
'P', 'I', 'E', 'U', 'P', '-', 'N', 'I', 'E', 'U', 'N',
'P', 'I', 'E', 'U', 'P', '-', 'R', 'I', 'E', 'U', 'L',
+ 'P', 'I', 'P', 'A', 'E', 'M', 'G', 'B', 'I', 'E', 'E',
+ 'P', 'L', 'A', 'C', 'E', 'H', 'O', 'L', 'D', 'E', 'R',
+ 'P', 'R', 'E', 'C', 'I', 'P', 'I', 'T', 'A', 'T', 'E',
'P', 'U', 'N', 'C', 'T', 'U', 'A', 'T', 'I', 'O', 'N',
'R', 'A', 'D', 'I', 'O', 'A', 'C', 'T', 'I', 'V', 'E',
'R', 'A', 'H', 'M', 'A', 'T', 'U', 'L', 'L', 'A', 'H',
'R', 'E', 'C', 'T', 'A', 'N', 'G', 'U', 'L', 'A', 'R',
'R', 'E', 'C', 'T', 'I', 'L', 'I', 'N', 'E', 'A', 'R',
'R', 'E', 'P', 'L', 'A', 'C', 'E', 'M', 'E', 'N', 'T',
+ 'R', 'I', 'E', 'U', 'L', '-', 'C', 'I', 'E', 'U', 'C',
'R', 'I', 'E', 'U', 'L', '-', 'H', 'I', 'E', 'U', 'H',
'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M',
'R', 'I', 'E', 'U', 'L', '-', 'N', 'I', 'E', 'U', 'N',
@@ -6087,109 +10351,30 @@ static const char unicode_name_words[39544] = {
'S', 'A', 'C', 'R', 'I', 'F', 'I', 'C', 'I', 'A', 'L',
'S', 'A', 'G', 'I', 'T', 'T', 'A', 'R', 'I', 'U', 'S',
'S', 'A', 'L', 'L', 'A', 'L', 'L', 'A', 'H', 'O', 'U',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '3', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '4', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '5', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '6', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '7', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '8', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '9', '9',
+ 'S', 'E', 'E', '-', 'N', 'O', '-', 'E', 'V', 'I', 'L',
'S', 'E', 'M', 'I', '-', 'V', 'O', 'I', 'C', 'E', 'D',
'S', 'E', 'M', 'I', 'S', 'E', 'X', 'T', 'I', 'L', 'E',
+ 'S', 'H', 'U', 'T', 'T', 'L', 'E', 'C', 'O', 'C', 'K',
+ 'S', 'I', 'G', 'N', 'W', 'R', 'I', 'T', 'I', 'N', 'G',
'S', 'I', 'N', 'G', 'L', 'E', '-', 'L', 'I', 'N', 'E',
+ 'S', 'I', 'N', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L',
'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'S', 'I', 'O', 'S', '-', 'T', 'I', 'K', 'E', 'U', 'T',
+ 'S', 'N', 'O', 'W', 'B', 'O', 'A', 'R', 'D', 'E', 'R',
'S', 'S', 'A', 'N', 'G', 'K', 'I', 'Y', 'E', 'O', 'K',
'S', 'S', 'A', 'N', 'G', 'T', 'I', 'K', 'E', 'U', 'T',
+ 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', '-', '2',
+ 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', '-', '3',
+ 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'I', 'O', 'N',
'S', 'U', 'P', 'E', 'R', 'S', 'C', 'R', 'I', 'P', 'T',
'S', 'U', 'P', 'R', 'A', 'L', 'I', 'N', 'E', 'A', 'R',
'S', 'Y', 'N', 'C', 'H', 'R', 'O', 'N', 'O', 'U', 'S',
'T', 'E', 'T', 'R', 'A', 'F', 'O', 'N', 'I', 'A', 'S',
'T', 'H', 'A', 'N', 'T', 'H', 'A', 'K', 'H', 'A', 'T',
'T', 'H', 'E', 'M', 'A', 'T', 'I', 'S', 'M', 'O', 'S',
+ 'T', 'H', 'E', 'R', 'M', 'O', 'M', 'E', 'T', 'E', 'R',
+ 'T', 'H', 'I', 'R', 'D', '-', 'S', 'T', 'A', 'G', 'E',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'S', 'I', 'O', 'S',
'T', 'O', 'A', 'N', 'D', 'A', 'K', 'H', 'I', 'A', 'T',
'T', 'O', 'P', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D',
'T', 'R', 'A', 'N', 'S', 'V', 'E', 'R', 'S', 'A', 'L',
@@ -6198,8 +10383,13 @@ static const char unicode_name_words[39544] = {
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'F', 'O', 'U', 'R',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'N', 'I', 'N', 'E',
'U', 'N', 'A', 'S', 'P', 'I', 'R', 'A', 'T', 'E', 'D',
+ 'U', 'N', 'C', 'E', 'R', 'T', 'A', 'I', 'N', 'T', 'Y',
'U', 'P', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G',
'U', 'P', 'A', 'D', 'H', 'M', 'A', 'N', 'I', 'Y', 'A',
+ 'U', 'P', 'S', 'I', 'D', 'E', '-', 'D', 'O', 'W', 'N',
+ 'V', 'A', 'M', 'A', 'G', 'O', 'M', 'U', 'K', 'H', 'A',
+ 'W', 'A', 'S', 'T', 'E', 'B', 'A', 'S', 'K', 'E', 'T',
+ 'W', 'E', 'I', 'E', 'R', 'S', 'T', 'R', 'A', 'S', 'S',
'W', 'I', 'D', 'E', '-', 'H', 'E', 'A', 'D', 'E', 'D',
'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H',
'A', 'B', 'B', 'R', 'E', 'V', 'I', 'A', 'T', 'I', 'O', 'N',
@@ -6208,18 +10398,26 @@ static const char unicode_name_words[39544] = {
'A', 'K', 'T', 'I', 'E', 'S', 'E', 'L', 'S', 'K', 'A', 'B',
'A', 'M', 'A', 'L', 'G', 'A', 'M', 'A', 'T', 'I', 'O', 'N',
'A', 'N', 'A', 'T', 'R', 'I', 'C', 'H', 'I', 'S', 'M', 'A',
+ 'A', 'N', 'T', 'A', 'R', 'G', 'O', 'M', 'U', 'K', 'H', 'A',
'A', 'R', 'A', 'B', 'I', 'C', '-', 'I', 'N', 'D', 'I', 'C',
+ 'A', 'R', 'D', 'H', 'A', 'V', 'I', 'S', 'A', 'R', 'G', 'A',
'A', 'S', 'T', 'R', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L',
+ 'A', 'S', 'T', 'R', 'O', 'N', 'O', 'M', 'I', 'C', 'A', 'L',
+ 'A', 'T', 'H', 'A', 'R', 'V', 'A', 'V', 'E', 'D', 'I', 'C',
'A', 'U', 'G', 'M', 'E', 'N', 'T', 'A', 'T', 'I', 'O', 'N',
'A', 'U', 'R', 'A', 'M', 'A', 'Z', 'D', 'A', 'A', '-', '2',
'A', 'U', 'R', 'A', 'M', 'A', 'Z', 'D', 'A', 'A', 'H', 'A',
+ 'B', 'A', 'H', 'I', 'R', 'G', 'O', 'M', 'U', 'K', 'H', 'A',
'B', 'L', 'A', 'C', 'K', '-', 'L', 'E', 'T', 'T', 'E', 'R',
'B', 'R', 'E', 'A', 'K', 'T', 'H', 'R', 'O', 'U', 'G', 'H',
'B', 'R', 'E', 'V', 'E', '-', 'M', 'A', 'C', 'R', 'O', 'N',
'C', '-', 'S', 'I', 'M', 'P', 'L', 'I', 'F', 'I', 'E', 'D',
+ 'C', 'A', 'B', 'B', 'A', 'G', 'E', '-', 'T', 'R', 'E', 'E',
'C', 'A', 'N', 'C', 'E', 'L', 'L', 'A', 'T', 'I', 'O', 'N',
'C', 'A', 'N', 'T', 'I', 'L', 'L', 'A', 'T', 'I', 'O', 'N',
'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'S', 'I', 'O', 'S',
+ 'C', 'O', 'N', 'S', 'T', 'R', 'U', 'C', 'T', 'I', 'O', 'N',
+ 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'A', 'T', 'I', 'O', 'N',
'C', 'R', 'O', 'S', 'S', 'E', 'D', '-', 'T', 'A', 'I', 'L',
'C', 'Y', 'L', 'I', 'N', 'D', 'R', 'I', 'C', 'I', 'T', 'Y',
'D', 'E', 'C', 'I', 'S', 'I', 'V', 'E', 'N', 'E', 'S', 'S',
@@ -6229,6 +10427,7 @@ static const char unicode_name_words[39544] = {
'D', 'I', 'M', 'I', 'N', 'U', 'T', 'I', 'O', 'N', '-', '1',
'D', 'I', 'M', 'I', 'N', 'U', 'T', 'I', 'O', 'N', '-', '2',
'D', 'I', 'M', 'I', 'N', 'U', 'T', 'I', 'O', 'N', '-', '3',
+ 'D', 'I', 'S', 'A', 'P', 'P', 'O', 'I', 'N', 'T', 'E', 'D',
'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '6', '7',
'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '6', '8',
'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '7', '8',
@@ -6238,13 +10437,20 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '6', '7', '8',
'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '6', '7', '8',
'D', 'O', 'U', 'B', 'L', 'E', '-', 'E', 'N', 'D', 'E', 'D',
+ 'E', 'I', 'G', 'H', 'T', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'E', 'R', 'R', 'O', 'R', '-', 'B', 'A', 'R', 'R', 'E', 'D',
'F', 'L', 'E', 'U', 'R', '-', 'D', 'E', '-', 'L', 'I', 'S',
+ 'F', 'R', 'O', 'N', 'T', '-', 'F', 'A', 'C', 'I', 'N', 'G',
'F', 'R', 'O', 'N', 'T', '-', 'T', 'I', 'L', 'T', 'E', 'D',
'G', 'A', 'E', 'T', 'T', 'A', '-', 'P', 'I', 'L', 'L', 'A',
+ 'G', 'H', 'E', 'U', 'A', 'E', 'G', 'H', 'E', 'U', 'A', 'E',
'G', 'R', 'A', 'V', 'E', '-', 'M', 'A', 'C', 'R', 'O', 'N',
'G', 'R', 'E', 'A', 'T', 'E', 'R', '-', 'T', 'H', 'A', 'N',
'G', 'R', 'O', 'N', 'T', 'H', 'I', 'S', 'M', 'A', 'T', 'A',
+ 'H', 'E', 'A', 'D', '-', 'B', 'A', 'N', 'D', 'A', 'G', 'E',
+ 'H', 'E', 'A', 'R', '-', 'N', 'O', '-', 'E', 'V', 'I', 'L',
+ 'H', 'E', 'A', 'R', 'T', '-', 'S', 'H', 'A', 'P', 'E', 'D',
+ 'H', 'I', 'E', 'R', 'O', 'G', 'L', 'Y', 'P', 'H', 'I', 'C',
'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', 'L', 'Y',
'H', 'Y', 'P', 'H', 'E', 'N', '-', 'M', 'I', 'N', 'U', 'S',
'H', 'Y', 'P', 'O', 'D', 'I', 'A', 'S', 'T', 'O', 'L', 'E',
@@ -6255,212 +10461,85 @@ static const char unicode_name_words[39544] = {
'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', 'I', 'N', 'G',
'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', 'I', 'O', 'N',
'J', '-', 'S', 'I', 'M', 'P', 'L', 'I', 'F', 'I', 'E', 'D',
+ 'K', 'I', 'N', 'D', 'E', 'R', 'G', 'A', 'R', 'T', 'E', 'N',
+ 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'H', 'I', 'E', 'U', 'H',
+ 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'N', 'I', 'E', 'U', 'N',
+ 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'P', 'I', 'E', 'U', 'P',
'K', 'I', 'Y', 'E', 'O', 'K', '-', 'R', 'I', 'E', 'U', 'L',
+ 'L', 'E', 'F', 'T', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D',
'M', 'A', 'C', 'R', 'O', 'N', '-', 'A', 'C', 'U', 'T', 'E',
'M', 'A', 'C', 'R', 'O', 'N', '-', 'B', 'R', 'E', 'V', 'E',
'M', 'A', 'C', 'R', 'O', 'N', '-', 'G', 'R', 'A', 'V', 'E',
'M', 'A', 'T', 'H', 'E', 'M', 'A', 'T', 'I', 'C', 'A', 'L',
+ 'M', 'E', 'U', 'N', 'J', 'O', 'M', 'N', 'D', 'E', 'U', 'Q',
'M', 'I', 'D', 'D', 'L', 'E', '-', 'W', 'E', 'L', 'S', 'H',
'M', 'I', 'E', 'U', 'M', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
+ 'M', 'I', 'E', 'U', 'M', '-', 'T', 'I', 'K', 'E', 'U', 'T',
'N', 'A', 'S', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N',
+ 'N', 'D', 'A', 'A', 'N', 'G', 'G', 'E', 'U', 'A', 'E', 'T',
'N', 'I', 'E', 'U', 'N', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'N', 'I', 'E', 'U', 'N', '-', 'T', 'I', 'K', 'E', 'U', 'T',
'N', 'O', 'N', '-', 'B', 'R', 'E', 'A', 'K', 'I', 'N', 'G',
+ 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'S', 'I', 'O', 'S',
+ 'P', 'H', 'I', 'L', 'O', 'S', 'O', 'P', 'H', 'E', 'R', 'S',
'P', 'I', 'E', 'U', 'P', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'P', 'I', 'E', 'U', 'P', '-', 'T', 'I', 'K', 'E', 'U', 'T',
'P', 'O', 'S', 'T', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N',
'P', 'R', 'E', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N',
'P', 'R', 'E', 'S', 'E', 'N', 'T', 'A', 'T', 'I', 'O', 'N',
'P', 'R', 'O', 'P', 'O', 'R', 'T', 'I', 'O', 'N', 'A', 'L',
+ 'P', 'U', 'T', 'R', 'E', 'F', 'A', 'C', 'T', 'I', 'O', 'N',
'Q', 'U', 'I', 'N', 'D', 'I', 'C', 'E', 'S', 'I', 'M', 'A',
+ 'Q', 'U', 'I', 'N', 'T', 'E', 'S', 'S', 'E', 'N', 'C', 'E',
+ 'R', 'E', 'C', 'R', 'E', 'A', 'T', 'I', 'O', 'N', 'A', 'L',
'R', 'I', 'E', 'U', 'L', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'R', 'I', 'E', 'U', 'L', '-', 'T', 'I', 'K', 'E', 'U', 'T',
+ 'R', 'I', 'G', 'H', 'T', '-', 'F', 'A', 'C', 'I', 'N', 'G',
+ 'R', 'I', 'G', 'H', 'T', '-', 'H', 'A', 'N', 'D', 'E', 'D',
'R', 'I', 'G', 'H', 'T', '-', 'S', 'H', 'A', 'D', 'E', 'D',
'R', 'O', 'U', 'N', 'D', '-', 'T', 'I', 'P', 'P', 'E', 'D',
'R', 'U', 'L', 'E', '-', 'D', 'E', 'L', 'A', 'Y', 'E', 'D',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '0', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '1', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '2', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '3', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '4', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '5', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '6', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '7', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '8', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '1', '9', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '0', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '1', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '2', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '3', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '6',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '7',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '8',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '4', '9',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '0',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '1',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '2',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '3',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '4',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '5',
- 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', '-', '2', '5', '6',
+ 'S', 'A', 'L', '-', 'A', 'M', 'M', 'O', 'N', 'I', 'A', 'C',
'S', 'E', 'M', 'I', 'C', 'I', 'R', 'C', 'U', 'L', 'A', 'R',
+ 'S', 'E', 'V', 'E', 'N', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
+ 'S', 'I', 'M', 'U', 'L', 'T', 'A', 'N', 'E', 'O', 'U', 'S',
'S', 'I', 'O', 'S', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
'S', 'I', 'O', 'S', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H',
+ 'S', 'I', 'O', 'S', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S',
'S', 'I', 'O', 'S', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H',
'S', 'I', 'O', 'S', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
'S', 'I', 'X', 'T', 'Y', '-', 'F', 'O', 'U', 'R', 'T', 'H',
'S', 'O', 'U', 'T', 'H', '-', 'S', 'L', 'A', 'V', 'E', 'Y',
'S', 'P', 'R', 'E', 'C', 'H', 'G', 'E', 'S', 'A', 'N', 'G',
+ 'S', 'S', 'A', 'N', 'G', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
+ 'S', 'T', 'E', 'N', 'O', 'G', 'R', 'A', 'P', 'H', 'I', 'C',
'S', 'T', 'R', 'A', 'G', 'G', 'I', 'S', 'M', 'A', 'T', 'A',
'S', 'T', 'R', 'A', 'I', 'G', 'H', 'T', 'N', 'E', 'S', 'S',
'S', 'U', 'B', 'S', 'T', 'I', 'T', 'U', 'T', 'I', 'O', 'N',
'S', 'U', 'P', 'E', 'R', 'I', 'M', 'P', 'O', 'S', 'E', 'D',
+ 'T', 'H', 'R', 'E', 'E', '-', 'C', 'I', 'R', 'C', 'L', 'E',
'T', 'H', 'R', 'E', 'E', '-', 'P', 'E', 'R', '-', 'E', 'M',
+ 'T', 'H', 'R', 'E', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'T', 'H', 'U', 'N', 'D', 'E', 'R', 'S', 'T', 'O', 'R', 'M',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'C', 'I', 'E', 'U', 'C',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'M', 'I', 'E', 'U', 'M',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'P', 'I', 'E', 'U', 'P',
'T', 'I', 'K', 'E', 'U', 'T', '-', 'R', 'I', 'E', 'U', 'L',
'T', 'R', 'A', 'N', 'S', 'M', 'I', 'S', 'S', 'I', 'O', 'N',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'E', 'I', 'G', 'H', 'T',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'S', 'E', 'V', 'E', 'N',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'T', 'H', 'R', 'E', 'E',
+ 'V', 'O', 'C', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N',
'W', 'E', 'D', 'G', 'E', '-', 'T', 'A', 'I', 'L', 'E', 'D',
'X', 'S', 'H', 'A', 'A', 'Y', 'A', 'T', 'H', 'I', 'Y', 'A',
'Y', 'O', 'U', 'T', 'H', 'F', 'U', 'L', 'N', 'E', 'S', 'S',
+ 'Z', 'I', 'P', 'P', 'E', 'R', '-', 'M', 'O', 'U', 'T', 'H',
+ 'A', 'C', 'C', 'O', 'M', 'M', 'O', 'D', 'A', 'T', 'I', 'O', 'N',
'A', 'N', 'T', 'I', 'C', 'L', 'O', 'C', 'K', 'W', 'I', 'S', 'E',
'A', 'P', 'P', 'R', 'O', 'X', 'I', 'M', 'A', 'T', 'E', 'L', 'Y',
'A', 'R', 'G', 'O', 'S', 'Y', 'N', 'T', 'H', 'E', 'T', 'O', 'N',
'A', 'V', 'A', 'K', 'R', 'A', 'H', 'A', 'S', 'A', 'N', 'Y', 'A',
+ 'B', 'O', 'T', 'T', 'O', 'M', '-', 'S', 'H', 'A', 'D', 'E', 'D',
'C', 'H', 'I', 'E', 'U', 'C', 'H', '-', 'H', 'I', 'E', 'U', 'H',
'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'C', 'I', 'E', 'U', 'C',
'C', 'H', 'R', 'Y', 'S', 'A', 'N', 'T', 'H', 'E', 'M', 'U', 'M',
@@ -6475,20 +10554,25 @@ static const char unicode_name_words[39544] = {
'D', 'O', 'W', 'N', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G',
'D', 'R', 'O', 'P', '-', 'S', 'H', 'A', 'D', 'O', 'W', 'E', 'D',
'E', 'G', 'Y', 'P', 'T', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L',
+ 'E', 'L', 'E', 'V', 'E', 'N', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'E', 'M', 'B', 'E', 'L', 'L', 'I', 'S', 'H', 'M', 'E', 'N', 'T',
'E', 'U', 'R', 'O', '-', 'C', 'U', 'R', 'R', 'E', 'N', 'C', 'Y',
+ 'E', 'U', 'R', 'O', 'P', 'E', '-', 'A', 'F', 'R', 'I', 'C', 'A',
'G', 'E', 'O', 'M', 'E', 'T', 'R', 'I', 'C', 'A', 'L', 'L', 'Y',
+ 'H', 'A', 'N', 'D', '-', 'C', 'U', 'R', 'L', 'I', 'C', 'U', 'E',
'I', 'E', 'U', 'N', 'G', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
'I', 'E', 'U', 'N', 'G', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H',
'I', 'E', 'U', 'N', 'G', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S',
'I', 'E', 'U', 'N', 'G', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H',
'I', 'E', 'U', 'N', 'G', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
+ 'I', 'N', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', 'A', 'L',
'I', 'N', 'T', 'E', 'R', 'P', 'O', 'L', 'A', 'T', 'I', 'O', 'N',
'I', 'N', 'T', 'E', 'R', 'S', 'Y', 'L', 'L', 'A', 'B', 'I', 'C',
'J', 'U', 'D', 'E', 'O', '-', 'S', 'P', 'A', 'N', 'I', 'S', 'H',
'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'M', 'I', 'E', 'U', 'M',
'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P',
'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'R', 'I', 'E', 'U', 'L',
+ 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'T', 'I', 'K', 'E', 'U', 'T',
'L', 'A', 'B', 'I', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N',
'L', 'E', 'F', 'T', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G',
'L', 'E', 'F', 'T', '-', 'T', 'O', '-', 'R', 'I', 'G', 'H', 'T',
@@ -6496,50 +10580,126 @@ static const char unicode_name_words[39544] = {
'M', 'I', 'E', 'U', 'M', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S',
'M', 'I', 'N', 'U', 'S', '-', 'O', 'R', '-', 'P', 'L', 'U', 'S',
'M', 'O', 'R', 'P', 'H', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L',
+ 'N', 'I', 'E', 'U', 'N', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
'N', 'I', 'E', 'U', 'N', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S',
'N', 'I', 'E', 'U', 'N', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
'O', 'P', 'E', 'N', '-', 'O', 'U', 'T', 'L', 'I', 'N', 'E', 'D',
+ 'P', 'A', 'N', 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P',
'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L', 'O', 'G', 'R', 'A', 'M',
'P', 'A', 'R', 'E', 'N', 'T', 'H', 'E', 'S', 'I', 'Z', 'E', 'D',
'P', 'A', 'R', 'E', 'S', 'T', 'I', 'G', 'M', 'E', 'N', 'O', 'N',
'P', 'E', 'R', 'P', 'E', 'N', 'D', 'I', 'C', 'U', 'L', 'A', 'R',
+ 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'H', 'I', 'E', 'U', 'H',
'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'P', 'I', 'E', 'U', 'P',
'P', 'I', 'E', 'U', 'P', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
+ 'P', 'I', 'E', 'U', 'P', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H',
'P', 'I', 'E', 'U', 'P', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H',
'P', 'I', 'E', 'U', 'P', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
'P', 'R', 'E', 'P', 'O', 'N', 'D', 'E', 'R', 'A', 'N', 'C', 'E',
+ 'P', 'R', 'I', 'S', 'H', 'T', 'H', 'A', 'M', 'A', 'T', 'R', 'A',
+ 'R', 'E', 'D', 'U', 'P', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N',
'R', 'I', 'E', 'U', 'L', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H',
'R', 'I', 'E', 'U', 'L', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S',
'R', 'I', 'E', 'U', 'L', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H',
'R', 'I', 'E', 'U', 'L', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
+ 'R', 'I', 'G', 'H', 'T', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D',
'R', 'I', 'G', 'H', 'T', '-', 'T', 'O', '-', 'L', 'E', 'F', 'T',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'A', 'R',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'Y', 'R',
+ 'S', 'P', 'E', 'A', 'K', '-', 'N', 'O', '-', 'E', 'V', 'I', 'L',
'S', 'T', 'A', 'C', 'C', 'A', 'T', 'I', 'S', 'S', 'I', 'M', 'O',
'S', 'T', 'R', 'I', 'K', 'E', 'T', 'H', 'R', 'O', 'U', 'G', 'H',
'T', 'E', 'T', 'A', 'R', 'T', 'I', 'M', 'O', 'R', 'I', 'O', 'N',
'T', 'H', 'E', 'R', 'M', 'O', 'D', 'Y', 'N', 'A', 'M', 'I', 'C',
'T', 'H', 'I', 'R', 'T', 'Y', '-', 'S', 'E', 'C', 'O', 'N', 'D',
+ 'T', 'H', 'R', 'E', 'E', '-', 'Q', 'U', 'A', 'R', 'T', 'E', 'R',
'T', 'I', 'K', 'E', 'U', 'T', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'T', 'R', 'A', 'N', 'S', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N',
+ 'T', 'W', 'E', 'L', 'V', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y',
'T', 'W', 'E', 'N', 'T', 'Y', '-', 'E', 'I', 'G', 'H', 'T', 'H',
+ 'V', 'I', 'D', 'E', 'O', 'C', 'A', 'S', 'S', 'E', 'T', 'T', 'E',
'V', 'O', 'W', 'E', 'L', '-', 'C', 'A', 'R', 'R', 'I', 'E', 'R',
+ 'W', 'A', 'W', '-', 'A', 'Y', 'I', 'N', '-', 'R', 'E', 'S', 'H',
'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'S', 'I', 'O', 'S',
'Y', 'P', 'O', 'G', 'E', 'G', 'R', 'A', 'M', 'M', 'E', 'N', 'I',
'Y', 'U', 'U', 'K', 'A', 'L', 'E', 'A', 'P', 'I', 'N', 'T', 'U',
'A', 'F', 'O', 'R', 'E', 'M', 'E', 'N', 'T', 'I', 'O', 'N', 'E', 'D',
'A', 'R', 'O', 'U', 'N', 'D', '-', 'P', 'R', 'O', 'F', 'I', 'L', 'E',
+ 'A', 'S', 'I', 'A', '-', 'A', 'U', 'S', 'T', 'R', 'A', 'L', 'I', 'A',
'A', 'S', 'Y', 'M', 'P', 'T', 'O', 'T', 'I', 'C', 'A', 'L', 'L', 'Y',
'B', 'A', 'L', 'L', 'O', 'O', 'N', '-', 'S', 'P', 'O', 'K', 'E', 'D',
'B', 'O', 'T', 'T', 'O', 'M', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D',
+ 'C', 'E', 'N', 'T', 'R', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N',
'C', 'O', 'N', 'G', 'R', 'A', 'T', 'U', 'L', 'A', 'T', 'I', 'O', 'N',
+ 'D', 'I', 'A', 'E', 'R', 'E', 'S', 'I', 'S', '-', 'R', 'I', 'N', 'G',
+ 'E', 'X', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', 'L', 'E', 'S', 'S',
'G', 'O', 'R', 'G', 'O', 'S', 'Y', 'N', 'T', 'H', 'E', 'T', 'O', 'N',
'I', 'D', 'E', 'N', 'T', 'I', 'F', 'I', 'C', 'A', 'T', 'I', 'O', 'N',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '0', '0',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '0', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '2', 'D',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '8', 'C',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', 'A', '4',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '1', '8', 'D',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', '1', 'D',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', '4', 'D',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', '7', '2',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', 'D', 'D',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '3', 'C', 'C',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '3', 'F', '3',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '4', '0', '8',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '4', '3', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '5', 'B', '6',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '8', 'F', '0',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '9', '1', 'A',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '9', '2', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'B', '5', '7',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'B', '8', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'D', 'E', '6',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'F', '8', 'C',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '2', '4', 'B',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '2', '5', '3',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '2', '9', '5',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '3', '0', '7',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '3', '5', '5',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '5', '5', '7',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '5', '9', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '5', 'B', '0',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '6', '2', '0',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '7', '0', '8',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '7', '0', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '7', '2', 'C',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', 'E', '8', '0',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', 'F', '1', '4',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '0', 'B', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '1', '2', '1',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '5', '1', 'F',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '5', '3', '3',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '6', 'D', '7',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '9', '8', '1',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', 'A', '7', 'A',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', 'D', '4', '2',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '8', '9', 'E', '3',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '8', 'C', 'A', '9',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '8', 'D', '7', '0',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '9', '0', '4', 'A',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '2', 'E',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '2', 'F',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '6', 'B',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '6', 'C',
+ 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '6', 'D',
+ 'J', 'A', 'C', 'K', '-', 'O', '-', 'L', 'A', 'N', 'T', 'E', 'R', 'N',
+ 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
+ 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H',
'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'A', 'R',
'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'Y', 'R',
+ 'L', 'O', 'W', '-', 'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D', '-', '9',
+ 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'H', 'I', 'N', 'G', 'E',
'M', 'U', 'L', 'T', 'I', 'P', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N',
'P', 'A', 'L', 'A', 'T', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N',
'P', 'R', 'O', 'S', 'G', 'E', 'G', 'R', 'A', 'M', 'M', 'E', 'N', 'I',
+ 'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D', '-', 'S', 'C', 'H', 'W', 'A',
+ 'R', 'I', 'E', 'U', 'L', '-', 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G',
'R', 'I', 'G', 'H', 'T', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G',
'R', 'I', 'G', 'H', 'T', '-', 'S', 'H', 'A', 'D', 'O', 'W', 'E', 'D',
'S', 'E', 'S', 'Q', 'U', 'I', 'Q', 'U', 'A', 'D', 'R', 'A', 'T', 'E',
@@ -6547,6 +10707,9 @@ static const char unicode_name_words[39544] = {
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'S', 'O', 'L',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'T', 'Y', 'R',
'S', 'I', 'O', 'S', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
+ 'T', 'I', 'G', 'H', 'T', 'L', 'Y', '-', 'C', 'L', 'O', 'S', 'E', 'D',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
'T', 'R', 'I', 'A', 'N', 'G', 'L', 'E', '-', 'R', 'O', 'U', 'N', 'D',
'T', 'R', 'O', 'M', 'I', 'K', 'O', 'L', 'Y', 'G', 'I', 'S', 'M', 'A',
'T', 'R', 'O', 'M', 'I', 'K', 'O', 'S', 'Y', 'N', 'A', 'G', 'M', 'A',
@@ -6599,6 +10762,8 @@ static const char unicode_name_words[39544] = {
'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '4',
'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '5',
'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '6',
+ 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'H', 'I', 'E', 'U', 'H',
+ 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'M', 'I', 'E', 'U', 'M',
'A', 'C', 'C', 'E', 'N', 'T', '-', 'S', 'T', 'A', 'C', 'C', 'A', 'T', 'O',
'A', 'N', 'T', 'I', 'K', 'E', 'N', 'O', 'K', 'Y', 'L', 'I', 'S', 'M', 'A',
'A', 'N', 'T', 'I', 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', 'I', 'O', 'N',
@@ -6616,17 +10781,22 @@ static const char unicode_name_words[39544] = {
'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'S', 'O', 'L',
'M', 'I', 'E', 'U', 'M', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
'P', 'E', 'T', 'A', 'S', 'T', 'O', 'K', 'O', 'U', 'F', 'I', 'S', 'M', 'A',
+ 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
'P', 'I', 'E', 'U', 'P', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'L', 'Y', 'G', 'I', 'S', 'M', 'A',
'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'S', 'Y', 'N', 'A', 'G', 'M', 'A',
'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'M', 'A', 'D', 'R',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'N', 'A', 'U', 'D',
+ 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P',
'T', 'E', 'A', 'R', 'D', 'R', 'O', 'P', '-', 'B', 'A', 'R', 'B', 'E', 'D',
'T', 'E', 'A', 'R', 'D', 'R', 'O', 'P', '-', 'S', 'P', 'O', 'K', 'E', 'D',
+ 'T', 'O', 'R', 'S', 'O', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
'T', 'R', 'I', 'A', 'N', 'G', 'L', 'E', '-', 'H', 'E', 'A', 'D', 'E', 'D',
'W', 'H', 'I', 'T', 'E', '-', 'F', 'E', 'A', 'T', 'H', 'E', 'R', 'E', 'D',
'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'C', 'I', 'E', 'U', 'C',
+ 'C', 'I', 'E', 'U', 'C', '-', 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P',
+ 'E', 'X', 'T', 'R', 'A', 'T', 'E', 'R', 'R', 'E', 'S', 'T', 'R', 'I', 'A', 'L',
'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '0',
'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '1',
'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '2',
@@ -6678,54818 +10848,84407 @@ static const char unicode_name_words[39544] = {
'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '6',
'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'M', 'A', 'D', 'R',
'M', 'A', 'R', 'C', 'A', 'T', 'O', '-', 'S', 'T', 'A', 'C', 'C', 'A', 'T', 'O',
+ 'M', 'I', 'E', 'U', 'M', '-', 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S',
+ 'M', 'I', 'E', 'U', 'M', '-', 'S', 'S', 'A', 'N', 'G', 'N', 'I', 'E', 'U', 'N',
'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'C', 'I', 'E', 'U', 'C',
'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P',
'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', '-', 'S', 'I', 'O', 'S',
'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S',
+ 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P',
+ 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C', '-', 'H', 'I', 'E', 'U', 'H',
+ 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
+ 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', '-', 'T', 'I', 'K', 'E', 'U', 'T',
+ 'S', 'S', 'A', 'N', 'G', 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H',
'T', 'E', 'A', 'R', 'D', 'R', 'O', 'P', '-', 'S', 'H', 'A', 'N', 'K', 'E', 'D',
+ 'T', 'O', 'R', 'S', 'O', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
+ 'T', 'R', 'A', 'V', 'E', 'L', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
'T', 'R', 'O', 'M', 'I', 'K', 'O', 'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'N',
'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S',
'A', 'C', 'U', 'T', 'E', '-', 'G', 'R', 'A', 'V', 'E', '-', 'A', 'C', 'U', 'T', 'E',
'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
+ 'E', 'Y', 'E', 'G', 'A', 'Z', 'E', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
'G', 'R', 'A', 'V', 'E', '-', 'A', 'C', 'U', 'T', 'E', '-', 'G', 'R', 'A', 'V', 'E',
'I', 'E', 'U', 'N', 'G', '-', 'S', 'S', 'A', 'N', 'G', 'K', 'I', 'Y', 'E', 'O', 'K',
'K', 'A', 'T', 'A', 'K', 'A', 'N', 'A', '-', 'H', 'I', 'R', 'A', 'G', 'A', 'N', 'A',
+ 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'D', 'I', 'A', 'G', 'O', 'N', 'A', 'L',
'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'T', 'I', 'K', 'E', 'U', 'T',
'R', 'I', 'E', 'U', 'L', '-', 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'S', 'I', 'O', 'S',
+ 'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', '-', 'H', 'I', 'E', 'U', 'H',
'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'H', 'I', 'E', 'U', 'H',
+ 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'K', 'I', 'Y', 'E', 'O', 'K',
+ 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'T', 'I', 'K', 'E', 'U', 'T',
'R', 'I', 'E', 'U', 'L', '-', 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'H', 'A', 'G', 'A', 'L', 'L',
'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'S', 'O', 'F', 'T', 'W', 'A', 'R', 'E', '-', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N',
+ 'S', 'S', 'A', 'N', 'G', 'T', 'I', 'K', 'E', 'U', 'T', '-', 'P', 'I', 'E', 'U', 'P',
+ 'T', 'R', 'A', 'V', 'E', 'L', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'C', 'H', 'I', 'E', 'U', 'C', 'H',
'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C',
+ 'E', 'Y', 'E', 'G', 'A', 'Z', 'E', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P',
'K', 'I', 'Y', 'E', 'O', 'K', '-', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
+ 'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'H', 'A', 'G', 'A', 'L', 'L',
+ 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
+ 'N', 'O', 'R', 'T', 'H', 'E', 'A', 'S', 'T', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G',
'P', 'A', 'R', 'T', 'I', 'A', 'L', 'L', 'Y', '-', 'R', 'E', 'C', 'Y', 'C', 'L', 'E', 'D',
+ 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H',
+ 'R', 'I', 'E', 'U', 'L', '-', 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'H', 'I', 'E', 'U', 'H',
'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
+ 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'T', 'I', 'K', 'E', 'U', 'T',
'R', 'I', 'E', 'U', 'L', '-', 'T', 'I', 'K', 'E', 'U', 'T', '-', 'H', 'I', 'E', 'U', 'H',
+ 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E',
'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'B', 'J', 'A', 'R', 'K', 'A', 'N',
+ 'S', 'I', 'O', 'S', '-', 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P',
+ 'S', 'S', 'A', 'N', 'G', 'R', 'I', 'E', 'U', 'L', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H',
+ 'T', 'I', 'K', 'E', 'U', 'T', '-', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K',
'T', 'R', 'O', 'M', 'I', 'K', 'O', 'P', 'A', 'R', 'A', 'K', 'A', 'L', 'E', 'S', 'M', 'A',
+ 'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
+ 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
'O', 'P', 'E', 'N', '-', 'C', 'I', 'R', 'C', 'U', 'I', 'T', '-', 'O', 'U', 'T', 'P', 'U', 'T',
+ 'P', 'I', 'E', 'U', 'P', '-', 'R', 'I', 'E', 'U', 'L', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H',
'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'P', 'A', 'R', 'A', 'K', 'A', 'L', 'E', 'S', 'M', 'A',
'R', 'I', 'E', 'U', 'L', '-', 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P',
+ 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H',
+ 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E',
'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S',
'A', 'N', 'T', 'I', 'C', 'L', 'O', 'C', 'K', 'W', 'I', 'S', 'E', '-', 'R', 'O', 'T', 'A', 'T', 'E', 'D',
'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C',
+ 'P', 'A', 'N', 'S', 'I', 'O', 'S', '-', 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P',
'B', 'Y', 'E', 'L', 'O', 'R', 'U', 'S', 'S', 'I', 'A', 'N', '-', 'U', 'K', 'R', 'A', 'I', 'N', 'I', 'A', 'N',
'P', 'A', 'S', 'S', 'I', 'V', 'E', '-', 'P', 'U', 'L', 'L', '-', 'U', 'P', '-', 'O', 'U', 'T', 'P', 'U', 'T',
+ 'R', 'I', 'E', 'U', 'L', '-', 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H', '-', 'H', 'I', 'E', 'U', 'H',
'P', 'A', 'S', 'S', 'I', 'V', 'E', '-', 'P', 'U', 'L', 'L', '-', 'D', 'O', 'W', 'N', '-', 'O', 'U', 'T', 'P', 'U', 'T',
};
-#define UNICODE_CHARNAME_NUM_WORDS 6710
+#define UNICODE_CHARNAME_NUM_WORDS 10914
static const struct { uint16_t extra_offset; uint16_t ind_offset; } unicode_name_by_length[26] = {
{ 0, 0 },
{ 0, 0 },
{ 26, 26 },
- { 658, 342 },
- { 4468, 1612 },
- { 10756, 3184 },
- { 14596, 3952 },
- { 17782, 4483 },
- { 20883, 4926 },
- { 24251, 5347 },
- { 27446, 5702 },
- { 29846, 5942 },
- { 32629, 6195 },
- { 35689, 6450 },
- { 36599, 6520 },
- { 37607, 6592 },
- { 38012, 6619 },
- { 38956, 6678 },
- { 39177, 6691 },
- { 39357, 6701 },
- { 39414, 6704 },
- { 39434, 6705 },
- { 39476, 6707 },
- { 39520, 6709 },
- { 39520, 6709 },
- { 39544, 6710 }
+ { 738, 382 },
+ { 5394, 1934 },
+ { 19610, 5488 },
+ { 27540, 7074 },
+ { 32604, 7918 },
+ { 38071, 8699 },
+ { 43263, 9348 },
+ { 47556, 9825 },
+ { 50816, 10151 },
+ { 53390, 10385 },
+ { 55094, 10527 },
+ { 56251, 10616 },
+ { 58225, 10757 },
+ { 58675, 10787 },
+ { 59795, 10857 },
+ { 60135, 10877 },
+ { 60513, 10898 },
+ { 60665, 10906 },
+ { 60685, 10907 },
+ { 60748, 10910 },
+ { 60792, 10912 },
+ { 60815, 10913 },
+ { 60839, 10914 }
};
-#define UNICODE_CHARNAME_WORD_HANGUL 4143
-#define UNICODE_CHARNAME_WORD_SYLLABLE 5292
-#define UNICODE_CHARNAME_WORD_CJK 454
-#define UNICODE_CHARNAME_WORD_COMPATIBILITY 6457
-static const uint16_t unicode_names[75152] = {
- 23, 3, 761, 8774,
- 37, 275, 10642,
- 47, 275, 1, 11203, 826,
- 51, 10365, 753, 11680,
- 51, 10365, 4849, 6989, 9050,
- 51, 10365, 4849, 9045, 9050,
- 51, 10365, 5782,
- 51, 10365, 6031, 6610,
- 51, 10365, 7421, 13188,
- 51, 10365, 7443, 6989, 9050,
- 51, 10365, 7443, 9045, 9050,
- 51, 10365, 8131, 13188,
- 51, 10365, 8675, 8590,
- 51, 10365, 8675, 11734,
- 51, 10365, 8675, 11908,
- 51, 10365, 11751, 11908,
- 63, 9128,
- 175, 3992,
- 175, 5496,
- 175, 7608,
- 177, 3992,
- 177, 5496,
- 177, 7608,
- 435, 6573, 385, 9798,
- 435, 6573, 3232,
- 435, 6573, 6689, 2170,
- 435, 6573, 6689, 2540,
- 435, 6573, 6689, 2778,
- 435, 6573, 6689, 4200,
- 435, 6573, 6689, 4214,
- 435, 6573, 6689, 5190,
- 435, 6573, 6689, 6260,
- 435, 6573, 6689, 6722,
- 435, 6573, 6689, 7508,
- 435, 6573, 6689, 7694,
- 435, 6573, 7430,
- 435, 6573, 8405, 68,
- 435, 6573, 8405, 76,
- 435, 6573, 8405, 90,
- 435, 6573, 8405, 176,
- 435, 6573, 8405, 180,
- 435, 6573, 8405, 264,
- 435, 6573, 8405, 280,
- 435, 6573, 8405, 282,
- 435, 6573, 8405, 332,
- 435, 6573, 8405, 336,
- 435, 6573, 8405, 340,
- 435, 6573, 8405, 350,
- 435, 6573, 8405, 354,
- 435, 6573, 8405, 424,
- 435, 6573, 8405, 430,
- 435, 6573, 8405, 452,
- 435, 6573, 8405, 586,
- 435, 6573, 8405, 588,
- 435, 6573, 8405, 608,
- 435, 6573, 8405, 692,
- 435, 6573, 8405, 694,
- 435, 6573, 8405, 696,
- 435, 6573, 8405, 698,
- 435, 6573, 8405, 722,
- 435, 6573, 8405, 1096,
- 435, 6573, 8405, 1120,
- 435, 6573, 8405, 1492,
- 435, 6573, 8405, 1732,
- 435, 6573, 8405, 2182,
- 435, 6573, 8405, 2814,
- 435, 6573, 9299, 10654,
- 435, 6573, 10426,
- 435, 6573, 11691, 10654,
- 435, 6573, 12133, 8153, 8488,
- 435, 6573, 12133, 8488,
- 445, 6121, 1045, 8318,
- 601, 3713, 4849, 4117, 3713, 4849, 9326,
- 601, 3713, 4849, 4117, 3713, 7443, 9326,
- 601, 3713, 7443, 4117, 3713, 4849, 9326,
- 601, 3713, 7443, 4117, 3713, 7443, 9326,
- 601, 4117, 6434,
- 601, 4117, 6435, 6121, 3716,
- 601, 4117, 6505, 6434,
- 601, 4117, 7821, 6434,
- 601, 4117, 8153, 6434,
- 601, 4197, 5878,
- 601, 5876,
- 601, 5877, 6121, 8057, 6376,
- 601, 6435, 9785, 8056,
- 601, 7443, 10001, 10154,
- 601, 10716,
- 601, 10717, 9043, 2779, 11649, 3714,
- 657, 9617, 134,
- 657, 9617, 152,
- 657, 9617, 216,
- 657, 9617, 298,
- 657, 9617, 310,
- 657, 9617, 340,
- 657, 9617, 374,
- 657, 9617, 442,
- 657, 9617, 576,
- 657, 9617, 632,
- 657, 9617, 660,
- 657, 9617, 670,
- 657, 9617, 832,
- 657, 9617, 886,
- 657, 9617, 902,
- 657, 9617, 946,
- 657, 9617, 950,
- 657, 9617, 1242,
- 657, 9617, 1294,
- 657, 9617, 1406,
- 657, 9617, 1538,
- 657, 9617, 1636,
- 657, 9617, 1782,
- 657, 9617, 1844,
- 657, 9617, 1940,
- 657, 9617, 2262,
- 657, 9617, 2278,
- 657, 9617, 2324,
- 657, 9617, 2526,
- 657, 9617, 2570,
- 657, 9617, 2656,
- 657, 9617, 2860,
- 657, 9617, 2890,
- 657, 9617, 3074,
- 657, 9617, 3182,
- 657, 9617, 3194,
- 657, 9617, 3196,
- 657, 9617, 3748,
- 657, 9617, 3962,
- 657, 9617, 4040,
- 657, 9617, 4292,
- 657, 9617, 4298,
- 657, 9617, 4572,
- 657, 9617, 4576,
- 657, 9617, 4582,
- 657, 9617, 4646,
- 657, 9617, 4666,
- 657, 9617, 5064,
- 657, 9617, 5304,
- 657, 9617, 5318,
- 657, 9617, 5356,
- 657, 9617, 5674,
- 657, 9617, 5712,
- 657, 9617, 5726,
- 657, 9617, 7896,
- 657, 10585, 0,
- 657, 10585, 8,
- 657, 10585, 16,
- 657, 10585, 28,
- 657, 10585, 84,
- 657, 10585, 90,
- 657, 10585, 96,
- 657, 10585, 100,
- 657, 10585, 102,
- 657, 10585, 106,
- 657, 10585, 108,
- 657, 10585, 112,
- 657, 10585, 114,
- 657, 10585, 116,
- 657, 10585, 122,
- 657, 10585, 126,
- 657, 10585, 130,
- 657, 10585, 132,
- 657, 10585, 134,
- 657, 10585, 138,
- 657, 10585, 142,
- 657, 10585, 144,
- 657, 10585, 150,
- 657, 10585, 152,
- 657, 10585, 194,
- 657, 10585, 196,
- 657, 10585, 202,
- 657, 10585, 208,
- 657, 10585, 210,
- 657, 10585, 212,
- 657, 10585, 216,
- 657, 10585, 220,
- 657, 10585, 224,
- 657, 10585, 228,
- 657, 10585, 230,
- 657, 10585, 236,
- 657, 10585, 238,
- 657, 10585, 246,
- 657, 10585, 258,
- 657, 10585, 278,
- 657, 10585, 284,
- 657, 10585, 288,
- 657, 10585, 296,
- 657, 10585, 298,
- 657, 10585, 300,
- 657, 10585, 302,
- 657, 10585, 306,
- 657, 10585, 310,
- 657, 10585, 314,
- 657, 10585, 322,
- 657, 10585, 326,
- 657, 10585, 332,
- 657, 10585, 336,
- 657, 10585, 340,
- 657, 10585, 350,
- 657, 10585, 354,
- 657, 10585, 360,
- 657, 10585, 364,
- 657, 10585, 368,
- 657, 10585, 374,
- 657, 10585, 380,
- 657, 10585, 384,
- 657, 10585, 390,
- 657, 10585, 392,
- 657, 10585, 396,
- 657, 10585, 404,
- 657, 10585, 412,
- 657, 10585, 416,
- 657, 10585, 442,
- 657, 10585, 448,
- 657, 10585, 456,
- 657, 10585, 462,
- 657, 10585, 476,
- 657, 10585, 480,
- 657, 10585, 486,
- 657, 10585, 492,
- 657, 10585, 500,
- 657, 10585, 502,
- 657, 10585, 506,
- 657, 10585, 508,
- 657, 10585, 510,
- 657, 10585, 512,
- 657, 10585, 516,
- 657, 10585, 520,
- 657, 10585, 522,
- 657, 10585, 524,
- 657, 10585, 526,
- 657, 10585, 532,
- 657, 10585, 536,
- 657, 10585, 546,
- 657, 10585, 552,
- 657, 10585, 556,
- 657, 10585, 560,
- 657, 10585, 564,
- 657, 10585, 568,
- 657, 10585, 576,
- 657, 10585, 598,
- 657, 10585, 610,
- 657, 10585, 614,
- 657, 10585, 616,
- 657, 10585, 618,
- 657, 10585, 620,
- 657, 10585, 622,
- 657, 10585, 626,
- 657, 10585, 632,
- 657, 10585, 634,
- 657, 10585, 644,
- 657, 10585, 646,
- 657, 10585, 650,
- 657, 10585, 656,
- 657, 10585, 660,
- 657, 10585, 664,
- 657, 10585, 668,
- 657, 10585, 670,
- 657, 10585, 672,
- 657, 10585, 676,
- 657, 10585, 678,
- 657, 10585, 680,
- 657, 10585, 682,
- 657, 10585, 758,
- 657, 10585, 762,
- 657, 10585, 764,
- 657, 10585, 766,
- 657, 10585, 768,
- 657, 10585, 770,
- 657, 10585, 772,
- 657, 10585, 774,
- 657, 10585, 776,
- 657, 10585, 786,
- 657, 10585, 790,
- 657, 10585, 804,
- 657, 10585, 808,
- 657, 10585, 810,
- 657, 10585, 812,
- 657, 10585, 820,
- 657, 10585, 822,
- 657, 10585, 826,
- 657, 10585, 828,
- 657, 10585, 830,
- 657, 10585, 832,
- 657, 10585, 834,
- 657, 10585, 836,
- 657, 10585, 846,
- 657, 10585, 848,
- 657, 10585, 850,
- 657, 10585, 852,
- 657, 10585, 860,
- 657, 10585, 862,
- 657, 10585, 864,
- 657, 10585, 880,
- 657, 10585, 882,
- 657, 10585, 884,
- 657, 10585, 886,
- 657, 10585, 890,
- 657, 10585, 892,
- 657, 10585, 894,
- 657, 10585, 896,
- 657, 10585, 902,
- 657, 10585, 904,
- 657, 10585, 906,
- 657, 10585, 916,
- 657, 10585, 918,
- 657, 10585, 922,
- 657, 10585, 926,
- 657, 10585, 928,
- 657, 10585, 930,
- 657, 10585, 932,
- 657, 10585, 934,
- 657, 10585, 946,
- 657, 10585, 948,
- 657, 10585, 950,
- 657, 10585, 952,
- 657, 10585, 964,
- 657, 10585, 968,
- 657, 10585, 970,
- 657, 10585, 974,
- 657, 10585, 976,
- 657, 10585, 978,
- 657, 10585, 980,
- 657, 10585, 982,
- 657, 10585, 992,
- 657, 10585, 994,
- 657, 10585, 1008,
- 657, 10585, 1014,
- 657, 10585, 1016,
- 657, 10585, 1018,
- 657, 10585, 1042,
- 657, 10585, 1044,
- 657, 10585, 1046,
- 657, 10585, 1062,
- 657, 10585, 1064,
- 657, 10585, 1066,
- 657, 10585, 1068,
- 657, 10585, 1070,
- 657, 10585, 1144,
- 657, 10585, 1146,
- 657, 10585, 1148,
- 657, 10585, 1162,
- 657, 10585, 1164,
- 657, 10585, 1166,
- 657, 10585, 1174,
- 657, 10585, 1178,
- 657, 10585, 1180,
- 657, 10585, 1182,
- 657, 10585, 1184,
- 657, 10585, 1186,
- 657, 10585, 1196,
- 657, 10585, 1198,
- 657, 10585, 1200,
- 657, 10585, 1218,
- 657, 10585, 1222,
- 657, 10585, 1224,
- 657, 10585, 1242,
- 657, 10585, 1246,
- 657, 10585, 1248,
- 657, 10585, 1250,
- 657, 10585, 1252,
- 657, 10585, 1254,
- 657, 10585, 1256,
- 657, 10585, 1258,
- 657, 10585, 1274,
- 657, 10585, 1278,
- 657, 10585, 1280,
- 657, 10585, 1282,
- 657, 10585, 1292,
- 657, 10585, 1294,
- 657, 10585, 1296,
- 657, 10585, 1312,
- 657, 10585, 1314,
- 657, 10585, 1316,
- 657, 10585, 1318,
- 657, 10585, 1320,
- 657, 10585, 1348,
- 657, 10585, 1352,
- 657, 10585, 1354,
- 657, 10585, 1364,
- 657, 10585, 1368,
- 657, 10585, 1380,
- 657, 10585, 1388,
- 657, 10585, 1390,
- 657, 10585, 1392,
- 657, 10585, 1394,
- 657, 10585, 1396,
- 657, 10585, 1398,
- 657, 10585, 1400,
- 657, 10585, 1402,
- 657, 10585, 1404,
- 657, 10585, 1406,
- 657, 10585, 1408,
- 657, 10585, 1410,
- 657, 10585, 1412,
- 657, 10585, 1414,
- 657, 10585, 1416,
- 657, 10585, 1426,
- 657, 10585, 1428,
- 657, 10585, 1430,
- 657, 10585, 1438,
- 657, 10585, 1450,
- 657, 10585, 1452,
- 657, 10585, 1454,
- 657, 10585, 1456,
- 657, 10585, 1476,
- 657, 10585, 1478,
- 657, 10585, 1480,
- 657, 10585, 1518,
- 657, 10585, 1522,
- 657, 10585, 1524,
- 657, 10585, 1526,
- 657, 10585, 1532,
- 657, 10585, 1534,
- 657, 10585, 1536,
- 657, 10585, 1538,
- 657, 10585, 1544,
- 657, 10585, 1546,
- 657, 10585, 1548,
- 657, 10585, 1552,
- 657, 10585, 1554,
- 657, 10585, 1556,
- 657, 10585, 1558,
- 657, 10585, 1560,
- 657, 10585, 1564,
- 657, 10585, 1566,
- 657, 10585, 1568,
- 657, 10585, 1570,
- 657, 10585, 1590,
- 657, 10585, 1592,
- 657, 10585, 1594,
- 657, 10585, 1604,
- 657, 10585, 1606,
- 657, 10585, 1608,
- 657, 10585, 1626,
- 657, 10585, 1634,
- 657, 10585, 1636,
- 657, 10585, 1638,
- 657, 10585, 1662,
- 657, 10585, 1664,
- 657, 10585, 1666,
- 657, 10585, 1692,
- 657, 10585, 1694,
- 657, 10585, 1696,
- 657, 10585, 1698,
- 657, 10585, 1700,
- 657, 10585, 1742,
- 657, 10585, 1746,
- 657, 10585, 1750,
- 657, 10585, 1766,
- 657, 10585, 1768,
- 657, 10585, 1782,
- 657, 10585, 1788,
- 657, 10585, 1790,
- 657, 10585, 1792,
- 657, 10585, 1804,
- 657, 10585, 1806,
- 657, 10585, 1810,
- 657, 10585, 1824,
- 657, 10585, 1826,
- 657, 10585, 1828,
- 657, 10585, 1830,
- 657, 10585, 1832,
- 657, 10585, 1842,
- 657, 10585, 1844,
- 657, 10585, 1846,
- 657, 10585, 1848,
- 657, 10585, 1862,
- 657, 10585, 1866,
- 657, 10585, 1868,
- 657, 10585, 1898,
- 657, 10585, 1900,
- 657, 10585, 1902,
- 657, 10585, 1904,
- 657, 10585, 1906,
- 657, 10585, 1912,
- 657, 10585, 1924,
- 657, 10585, 1926,
- 657, 10585, 1928,
- 657, 10585, 1940,
- 657, 10585, 1942,
- 657, 10585, 1944,
- 657, 10585, 1954,
- 657, 10585, 1956,
- 657, 10585, 1958,
- 657, 10585, 1960,
- 657, 10585, 1962,
- 657, 10585, 1974,
- 657, 10585, 1976,
- 657, 10585, 1978,
- 657, 10585, 1990,
- 657, 10585, 1994,
- 657, 10585, 1996,
- 657, 10585, 1998,
- 657, 10585, 2000,
- 657, 10585, 2002,
- 657, 10585, 2004,
- 657, 10585, 2006,
- 657, 10585, 2008,
- 657, 10585, 2010,
- 657, 10585, 2012,
- 657, 10585, 2014,
- 657, 10585, 2022,
- 657, 10585, 2028,
- 657, 10585, 2030,
- 657, 10585, 2032,
- 657, 10585, 2038,
- 657, 10585, 2050,
- 657, 10585, 2056,
- 657, 10585, 2058,
- 657, 10585, 2060,
- 657, 10585, 2066,
- 657, 10585, 2068,
- 657, 10585, 2070,
- 657, 10585, 2072,
- 657, 10585, 2086,
- 657, 10585, 2090,
- 657, 10585, 2094,
- 657, 10585, 2096,
- 657, 10585, 2098,
- 657, 10585, 2100,
- 657, 10585, 2102,
- 657, 10585, 2104,
- 657, 10585, 2112,
- 657, 10585, 2114,
- 657, 10585, 2116,
- 657, 10585, 2118,
- 657, 10585, 2120,
- 657, 10585, 2132,
- 657, 10585, 2134,
- 657, 10585, 2136,
- 657, 10585, 2138,
- 657, 10585, 2140,
- 657, 10585, 2142,
- 657, 10585, 2144,
- 657, 10585, 2146,
- 657, 10585, 2194,
- 657, 10585, 2198,
- 657, 10585, 2202,
- 657, 10585, 2222,
- 657, 10585, 2228,
- 657, 10585, 2230,
- 657, 10585, 2232,
- 657, 10585, 2240,
- 657, 10585, 2242,
- 657, 10585, 2244,
- 657, 10585, 2256,
- 657, 10585, 2258,
- 657, 10585, 2260,
- 657, 10585, 2262,
- 657, 10585, 2264,
- 657, 10585, 2274,
- 657, 10585, 2276,
- 657, 10585, 2278,
- 657, 10585, 2280,
- 657, 10585, 2306,
- 657, 10585, 2310,
- 657, 10585, 2312,
- 657, 10585, 2314,
- 657, 10585, 2322,
- 657, 10585, 2324,
- 657, 10585, 2326,
- 657, 10585, 2336,
- 657, 10585, 2338,
- 657, 10585, 2340,
- 657, 10585, 2342,
- 657, 10585, 2348,
- 657, 10585, 2364,
- 657, 10585, 2366,
- 657, 10585, 2368,
- 657, 10585, 2372,
- 657, 10585, 2390,
- 657, 10585, 2392,
- 657, 10585, 2394,
- 657, 10585, 2406,
- 657, 10585, 2408,
- 657, 10585, 2432,
- 657, 10585, 2434,
- 657, 10585, 2436,
- 657, 10585, 2438,
- 657, 10585, 2440,
- 657, 10585, 2442,
- 657, 10585, 2444,
- 657, 10585, 2446,
- 657, 10585, 2456,
- 657, 10585, 2458,
- 657, 10585, 2460,
- 657, 10585, 2462,
- 657, 10585, 2464,
- 657, 10585, 2470,
- 657, 10585, 2472,
- 657, 10585, 2474,
- 657, 10585, 2476,
- 657, 10585, 2492,
- 657, 10585, 2496,
- 657, 10585, 2500,
- 657, 10585, 2508,
- 657, 10585, 2512,
- 657, 10585, 2516,
- 657, 10585, 2518,
- 657, 10585, 2522,
- 657, 10585, 2524,
- 657, 10585, 2526,
- 657, 10585, 2528,
- 657, 10585, 2536,
- 657, 10585, 2538,
- 657, 10585, 2540,
- 657, 10585, 2556,
- 657, 10585, 2558,
- 657, 10585, 2564,
- 657, 10585, 2566,
- 657, 10585, 2568,
- 657, 10585, 2570,
- 657, 10585, 2572,
- 657, 10585, 2574,
- 657, 10585, 2576,
- 657, 10585, 2588,
- 657, 10585, 2590,
- 657, 10585, 2592,
- 657, 10585, 2594,
- 657, 10585, 2596,
- 657, 10585, 2612,
- 657, 10585, 2614,
- 657, 10585, 2616,
- 657, 10585, 2618,
- 657, 10585, 2652,
- 657, 10585, 2656,
- 657, 10585, 2664,
- 657, 10585, 2672,
- 657, 10585, 2676,
- 657, 10585, 2690,
- 657, 10585, 2696,
- 657, 10585, 2700,
- 657, 10585, 2702,
- 657, 10585, 2724,
- 657, 10585, 2726,
- 657, 10585, 2728,
- 657, 10585, 2762,
- 657, 10585, 2764,
- 657, 10585, 2766,
- 657, 10585, 2768,
- 657, 10585, 2770,
- 657, 10585, 2818,
- 657, 10585, 2820,
- 657, 10585, 2848,
- 657, 10585, 2850,
- 657, 10585, 2854,
- 657, 10585, 2860,
- 657, 10585, 2864,
- 657, 10585, 2866,
- 657, 10585, 2870,
- 657, 10585, 2872,
- 657, 10585, 2874,
- 657, 10585, 2878,
- 657, 10585, 2880,
- 657, 10585, 2886,
- 657, 10585, 2888,
- 657, 10585, 2890,
- 657, 10585, 2892,
- 657, 10585, 2894,
- 657, 10585, 2898,
- 657, 10585, 2900,
- 657, 10585, 2902,
- 657, 10585, 2904,
- 657, 10585, 2912,
- 657, 10585, 2914,
- 657, 10585, 2920,
- 657, 10585, 2928,
- 657, 10585, 2930,
- 657, 10585, 2944,
- 657, 10585, 2946,
- 657, 10585, 2950,
- 657, 10585, 2960,
- 657, 10585, 2962,
- 657, 10585, 2964,
- 657, 10585, 2966,
- 657, 10585, 2970,
- 657, 10585, 2974,
- 657, 10585, 2976,
- 657, 10585, 2978,
- 657, 10585, 2996,
- 657, 10585, 2998,
- 657, 10585, 3000,
- 657, 10585, 3004,
- 657, 10585, 3064,
- 657, 10585, 3072,
- 657, 10585, 3074,
- 657, 10585, 3076,
- 657, 10585, 3084,
- 657, 10585, 3086,
- 657, 10585, 3088,
- 657, 10585, 3090,
- 657, 10585, 3092,
- 657, 10585, 3094,
- 657, 10585, 3098,
- 657, 10585, 3100,
- 657, 10585, 3112,
- 657, 10585, 3114,
- 657, 10585, 3116,
- 657, 10585, 3118,
- 657, 10585, 3130,
- 657, 10585, 3132,
- 657, 10585, 3134,
- 657, 10585, 3142,
- 657, 10585, 3144,
- 657, 10585, 3146,
- 657, 10585, 3148,
- 657, 10585, 3152,
- 657, 10585, 3154,
- 657, 10585, 3156,
- 657, 10585, 3162,
- 657, 10585, 3166,
- 657, 10585, 3168,
- 657, 10585, 3170,
- 657, 10585, 3180,
- 657, 10585, 3182,
- 657, 10585, 3184,
- 657, 10585, 3192,
- 657, 10585, 3194,
- 657, 10585, 3196,
- 657, 10585, 3198,
- 657, 10585, 3200,
- 657, 10585, 3204,
- 657, 10585, 3206,
- 657, 10585, 3208,
- 657, 10585, 3210,
- 657, 10585, 3212,
- 657, 10585, 3214,
- 657, 10585, 3216,
- 657, 10585, 3218,
- 657, 10585, 3220,
- 657, 10585, 3222,
- 657, 10585, 3718,
- 657, 10585, 3720,
- 657, 10585, 3722,
- 657, 10585, 3724,
- 657, 10585, 3726,
- 657, 10585, 3728,
- 657, 10585, 3730,
- 657, 10585, 3732,
- 657, 10585, 3734,
- 657, 10585, 3736,
- 657, 10585, 3738,
- 657, 10585, 3740,
- 657, 10585, 3742,
- 657, 10585, 3744,
- 657, 10585, 3746,
- 657, 10585, 3748,
- 657, 10585, 3750,
- 657, 10585, 3752,
- 657, 10585, 3754,
- 657, 10585, 3756,
- 657, 10585, 3782,
- 657, 10585, 3784,
- 657, 10585, 3786,
- 657, 10585, 3816,
- 657, 10585, 3818,
- 657, 10585, 3824,
- 657, 10585, 3828,
- 657, 10585, 3882,
- 657, 10585, 3886,
- 657, 10585, 3888,
- 657, 10585, 3896,
- 657, 10585, 3898,
- 657, 10585, 3900,
- 657, 10585, 3910,
- 657, 10585, 3912,
- 657, 10585, 3914,
- 657, 10585, 3916,
- 657, 10585, 3918,
- 657, 10585, 3920,
- 657, 10585, 3922,
- 657, 10585, 3926,
- 657, 10585, 3928,
- 657, 10585, 3930,
- 657, 10585, 3932,
- 657, 10585, 3934,
- 657, 10585, 3936,
- 657, 10585, 3938,
- 657, 10585, 3962,
- 657, 10585, 3964,
- 657, 10585, 3968,
- 657, 10585, 3976,
- 657, 10585, 4002,
- 657, 10585, 4004,
- 657, 10585, 4006,
- 657, 10585, 4012,
- 657, 10585, 4014,
- 657, 10585, 4020,
- 657, 10585, 4022,
- 657, 10585, 4024,
- 657, 10585, 4026,
- 657, 10585, 4030,
- 657, 10585, 4032,
- 657, 10585, 4034,
- 657, 10585, 4036,
- 657, 10585, 4038,
- 657, 10585, 4040,
- 657, 10585, 4042,
- 657, 10585, 4044,
- 657, 10585, 4082,
- 657, 10585, 4084,
- 657, 10585, 4130,
- 657, 10585, 4134,
- 657, 10585, 4224,
- 657, 10585, 4272,
- 657, 10585, 4274,
- 657, 10585, 4276,
- 657, 10585, 4280,
- 657, 10585, 4282,
- 657, 10585, 4284,
- 657, 10585, 4286,
- 657, 10585, 4288,
- 657, 10585, 4290,
- 657, 10585, 4292,
- 657, 10585, 4294,
- 657, 10585, 4296,
- 657, 10585, 4298,
- 657, 10585, 4300,
- 657, 10585, 4302,
- 657, 10585, 4304,
- 657, 10585, 4306,
- 657, 10585, 4326,
- 657, 10585, 4328,
- 657, 10585, 4330,
- 657, 10585, 4360,
- 657, 10585, 4362,
- 657, 10585, 4364,
- 657, 10585, 4368,
- 657, 10585, 4420,
- 657, 10585, 4426,
- 657, 10585, 4428,
- 657, 10585, 4430,
- 657, 10585, 4432,
- 657, 10585, 4434,
- 657, 10585, 4436,
- 657, 10585, 4438,
- 657, 10585, 4440,
- 657, 10585, 4442,
- 657, 10585, 4444,
- 657, 10585, 4446,
- 657, 10585, 4448,
- 657, 10585, 4450,
- 657, 10585, 4452,
- 657, 10585, 4454,
- 657, 10585, 4456,
- 657, 10585, 4458,
- 657, 10585, 4460,
- 657, 10585, 4462,
- 657, 10585, 4464,
- 657, 10585, 4466,
- 657, 10585, 4468,
- 657, 10585, 4470,
- 657, 10585, 4472,
- 657, 10585, 4474,
- 657, 10585, 4476,
- 657, 10585, 4478,
- 657, 10585, 4480,
- 657, 10585, 4482,
- 657, 10585, 4484,
- 657, 10585, 4486,
- 657, 10585, 4488,
- 657, 10585, 4490,
- 657, 10585, 4492,
- 657, 10585, 4494,
- 657, 10585, 4496,
- 657, 10585, 4498,
- 657, 10585, 4500,
- 657, 10585, 4502,
- 657, 10585, 4504,
- 657, 10585, 4506,
- 657, 10585, 4508,
- 657, 10585, 4510,
- 657, 10585, 4512,
- 657, 10585, 4514,
- 657, 10585, 4516,
- 657, 10585, 4518,
- 657, 10585, 4520,
- 657, 10585, 4522,
- 657, 10585, 4524,
- 657, 10585, 4526,
- 657, 10585, 4528,
- 657, 10585, 4550,
- 657, 10585, 4552,
- 657, 10585, 4554,
- 657, 10585, 4558,
- 657, 10585, 4560,
- 657, 10585, 4562,
- 657, 10585, 4564,
- 657, 10585, 4566,
- 657, 10585, 4568,
- 657, 10585, 4570,
- 657, 10585, 4572,
- 657, 10585, 4574,
- 657, 10585, 4576,
- 657, 10585, 4578,
- 657, 10585, 4580,
- 657, 10585, 4582,
- 657, 10585, 4638,
- 657, 10585, 4640,
- 657, 10585, 4642,
- 657, 10585, 4646,
- 657, 10585, 4648,
- 657, 10585, 4650,
- 657, 10585, 4652,
- 657, 10585, 4654,
- 657, 10585, 4656,
- 657, 10585, 4658,
- 657, 10585, 4660,
- 657, 10585, 4662,
- 657, 10585, 4664,
- 657, 10585, 4666,
- 657, 10585, 4668,
- 657, 10585, 4670,
- 657, 10585, 4672,
- 657, 10585, 4674,
- 657, 10585, 4688,
- 657, 10585, 4690,
- 657, 10585, 4692,
- 657, 10585, 4694,
- 657, 10585, 4696,
- 657, 10585, 4756,
- 657, 10585, 4758,
- 657, 10585, 4786,
- 657, 10585, 4788,
- 657, 10585, 4792,
- 657, 10585, 4866,
- 657, 10585, 4868,
- 657, 10585, 4870,
- 657, 10585, 4902,
- 657, 10585, 4904,
- 657, 10585, 4906,
- 657, 10585, 4908,
- 657, 10585, 4916,
- 657, 10585, 4958,
- 657, 10585, 4960,
- 657, 10585, 4962,
- 657, 10585, 4974,
- 657, 10585, 4976,
- 657, 10585, 4978,
- 657, 10585, 4980,
- 657, 10585, 4982,
- 657, 10585, 4984,
- 657, 10585, 4986,
- 657, 10585, 4988,
- 657, 10585, 4990,
- 657, 10585, 4992,
- 657, 10585, 4994,
- 657, 10585, 4996,
- 657, 10585, 4998,
- 657, 10585, 5020,
- 657, 10585, 5022,
- 657, 10585, 5024,
- 657, 10585, 5028,
- 657, 10585, 5058,
- 657, 10585, 5060,
- 657, 10585, 5062,
- 657, 10585, 5064,
- 657, 10585, 5066,
- 657, 10585, 5068,
- 657, 10585, 5070,
- 657, 10585, 5072,
- 657, 10585, 5074,
- 657, 10585, 5076,
- 657, 10585, 5078,
- 657, 10585, 5080,
- 657, 10585, 5082,
- 657, 10585, 5084,
- 657, 10585, 5086,
- 657, 10585, 5088,
- 657, 10585, 5090,
- 657, 10585, 5092,
- 657, 10585, 5094,
- 657, 10585, 5096,
- 657, 10585, 5098,
- 657, 10585, 5102,
- 657, 10585, 5104,
- 657, 10585, 5106,
- 657, 10585, 5108,
- 657, 10585, 5110,
- 657, 10585, 5112,
- 657, 10585, 5116,
- 657, 10585, 5118,
- 657, 10585, 5120,
- 657, 10585, 5122,
- 657, 10585, 5124,
- 657, 10585, 5126,
- 657, 10585, 5128,
- 657, 10585, 5138,
- 657, 10585, 5142,
- 657, 10585, 5144,
- 657, 10585, 5148,
- 657, 10585, 5150,
- 657, 10585, 5162,
- 657, 10585, 5172,
- 657, 10585, 5174,
- 657, 10585, 5176,
- 657, 10585, 5180,
- 657, 10585, 5186,
- 657, 10585, 5188,
- 657, 10585, 5196,
- 657, 10585, 5198,
- 657, 10585, 5200,
- 657, 10585, 5202,
- 657, 10585, 5206,
- 657, 10585, 5208,
- 657, 10585, 5210,
- 657, 10585, 5212,
- 657, 10585, 5214,
- 657, 10585, 5216,
- 657, 10585, 5218,
- 657, 10585, 5220,
- 657, 10585, 5222,
- 657, 10585, 5224,
- 657, 10585, 5226,
- 657, 10585, 5246,
- 657, 10585, 5248,
- 657, 10585, 5250,
- 657, 10585, 5252,
- 657, 10585, 5254,
- 657, 10585, 5256,
- 657, 10585, 5258,
- 657, 10585, 5260,
- 657, 10585, 5262,
- 657, 10585, 5264,
- 657, 10585, 5266,
- 657, 10585, 5268,
- 657, 10585, 5270,
- 657, 10585, 5272,
- 657, 10585, 5274,
- 657, 10585, 5276,
- 657, 10585, 5282,
- 657, 10585, 5284,
- 657, 10585, 5286,
- 657, 10585, 5302,
- 657, 10585, 5304,
- 657, 10585, 5308,
- 657, 10585, 5310,
- 657, 10585, 5318,
- 657, 10585, 5320,
- 657, 10585, 5322,
- 657, 10585, 5324,
- 657, 10585, 5326,
- 657, 10585, 5328,
- 657, 10585, 5330,
- 657, 10585, 5334,
- 657, 10585, 5336,
- 657, 10585, 5338,
- 657, 10585, 5340,
- 657, 10585, 5342,
- 657, 10585, 5344,
- 657, 10585, 5346,
- 657, 10585, 5348,
- 657, 10585, 5350,
- 657, 10585, 5352,
- 657, 10585, 5354,
- 657, 10585, 5356,
- 657, 10585, 5358,
- 657, 10585, 5360,
- 657, 10585, 5362,
- 657, 10585, 5364,
- 657, 10585, 5366,
- 657, 10585, 5368,
- 657, 10585, 5426,
- 657, 10585, 5428,
- 657, 10585, 5454,
- 657, 10585, 5456,
- 657, 10585, 5458,
- 657, 10585, 5468,
- 657, 10585, 5488,
- 657, 10585, 5490,
- 657, 10585, 5492,
- 657, 10585, 5498,
- 657, 10585, 5500,
- 657, 10585, 5502,
- 657, 10585, 5504,
- 657, 10585, 5516,
- 657, 10585, 5570,
- 657, 10585, 5574,
- 657, 10585, 5576,
- 657, 10585, 5578,
- 657, 10585, 5580,
- 657, 10585, 5582,
- 657, 10585, 5584,
- 657, 10585, 5586,
- 657, 10585, 5588,
- 657, 10585, 5590,
- 657, 10585, 5592,
- 657, 10585, 5594,
- 657, 10585, 5596,
- 657, 10585, 5598,
- 657, 10585, 5600,
- 657, 10585, 5602,
- 657, 10585, 5608,
- 657, 10585, 5610,
- 657, 10585, 5612,
- 657, 10585, 5618,
- 657, 10585, 5672,
- 657, 10585, 5674,
- 657, 10585, 5676,
- 657, 10585, 5684,
- 657, 10585, 5686,
- 657, 10585, 5688,
- 657, 10585, 5712,
- 657, 10585, 5714,
- 657, 10585, 5716,
- 657, 10585, 5722,
- 657, 10585, 5724,
- 657, 10585, 5726,
- 657, 10585, 5728,
- 657, 10585, 5730,
- 657, 10585, 5742,
- 657, 10585, 5744,
- 657, 10585, 5746,
- 657, 10585, 5748,
- 657, 10585, 5752,
- 657, 10585, 5754,
- 657, 10585, 5788,
- 657, 10585, 5790,
- 657, 10585, 5792,
- 657, 10585, 5796,
- 657, 10585, 5798,
- 657, 10585, 5800,
- 657, 10585, 5802,
- 657, 10585, 5804,
- 657, 10585, 5806,
- 657, 10585, 5808,
- 657, 10585, 5810,
- 657, 10585, 5812,
- 657, 10585, 5814,
- 657, 10585, 5816,
- 657, 10585, 5818,
- 657, 10585, 5820,
- 657, 10585, 5822,
- 657, 10585, 5824,
- 657, 10585, 5826,
- 657, 10585, 5848,
- 657, 10585, 5850,
- 657, 10585, 5856,
- 657, 10585, 5864,
- 657, 10585, 5936,
- 657, 10585, 5938,
- 657, 10585, 6014,
- 657, 10585, 6016,
- 657, 10585, 6018,
- 657, 10585, 6022,
- 657, 10585, 6084,
- 657, 10585, 6086,
- 657, 10585, 6088,
- 657, 10585, 6094,
- 657, 10585, 6096,
- 657, 10585, 6134,
- 657, 10585, 6136,
- 657, 10585, 6140,
- 657, 10585, 6142,
- 657, 10585, 6144,
- 657, 10585, 6146,
- 657, 10585, 6156,
- 657, 10585, 6206,
- 657, 10585, 6208,
- 657, 10585, 6210,
- 657, 10585, 6238,
- 657, 10585, 6240,
- 657, 10585, 6242,
- 657, 10585, 6244,
- 657, 10585, 6252,
- 657, 10585, 6266,
- 657, 10585, 6270,
- 657, 10585, 6272,
- 657, 10585, 6276,
- 657, 10585, 6278,
- 657, 10585, 6280,
- 657, 10585, 6284,
- 657, 10585, 6286,
- 657, 10585, 6288,
- 657, 10585, 6290,
- 657, 10585, 6292,
- 657, 10585, 6294,
- 657, 10585, 6296,
- 657, 10585, 6298,
- 657, 10585, 6304,
- 657, 10585, 6306,
- 657, 10585, 6308,
- 657, 10585, 6310,
- 657, 10585, 6314,
- 657, 10585, 6316,
- 657, 10585, 6320,
- 657, 10585, 6322,
- 657, 10585, 6324,
- 657, 10585, 6326,
- 657, 10585, 6330,
- 657, 10585, 6332,
- 657, 10585, 6334,
- 657, 10585, 6338,
- 657, 10585, 6340,
- 657, 10585, 6342,
- 657, 10585, 6344,
- 657, 10585, 6346,
- 657, 10585, 6348,
- 657, 10585, 6350,
- 657, 10585, 6352,
- 657, 10585, 6354,
- 657, 10585, 6356,
- 657, 10585, 6358,
- 657, 10585, 6360,
- 657, 10585, 6362,
- 657, 10585, 6364,
- 657, 10585, 6366,
- 657, 10585, 6470,
- 657, 10585, 6472,
- 657, 10585, 6474,
- 657, 10585, 6476,
- 657, 10585, 6478,
- 657, 10585, 6480,
- 657, 10585, 6584,
- 657, 10585, 6586,
- 657, 10585, 6588,
- 657, 10585, 6590,
- 657, 10585, 6592,
- 657, 10585, 6660,
- 657, 10585, 6662,
- 657, 10585, 6664,
- 657, 10585, 6666,
- 657, 10585, 6668,
- 657, 10585, 6834,
- 657, 10585, 6836,
- 657, 10585, 6838,
- 657, 10585, 6840,
- 657, 10585, 6842,
- 657, 10585, 6844,
- 657, 10585, 6916,
- 657, 10585, 6918,
- 657, 10585, 6920,
- 657, 10585, 6922,
- 657, 10585, 6924,
- 657, 10585, 6926,
- 657, 10585, 6928,
- 657, 10585, 6930,
- 657, 10585, 6932,
- 657, 10585, 6934,
- 657, 10585, 6936,
- 657, 10585, 6938,
- 657, 10585, 6940,
- 657, 10585, 6942,
- 657, 10585, 6944,
- 657, 10585, 6946,
- 657, 10585, 6962,
- 657, 10585, 6964,
- 657, 10585, 6966,
- 657, 10585, 6968,
- 657, 10585, 6970,
- 657, 10585, 6972,
- 657, 10585, 6998,
- 657, 10585, 7000,
- 657, 10585, 7002,
- 657, 10585, 7004,
- 657, 10585, 7006,
- 657, 10585, 7008,
- 657, 10585, 7156,
- 657, 10585, 7158,
- 657, 10585, 7160,
- 657, 10585, 7162,
- 657, 10585, 7212,
- 657, 10585, 7214,
- 657, 10585, 7216,
- 657, 10585, 7218,
- 657, 10585, 7220,
- 657, 10585, 7224,
- 657, 10585, 7234,
- 657, 10585, 7236,
- 657, 10585, 7240,
- 657, 10585, 7242,
- 657, 10585, 7250,
- 657, 10585, 7252,
- 657, 10585, 7254,
- 657, 10585, 7256,
- 657, 10585, 7258,
- 657, 10585, 7260,
- 657, 10585, 7278,
- 657, 10585, 7280,
- 657, 10585, 7286,
- 657, 10585, 7288,
- 657, 10585, 7290,
- 657, 10585, 7292,
- 657, 10585, 7294,
- 657, 10585, 7296,
- 657, 10585, 7298,
- 657, 10585, 7300,
- 657, 10585, 7302,
- 657, 10585, 7304,
- 657, 10585, 7456,
- 657, 10585, 7458,
- 657, 10585, 7460,
- 657, 10585, 7552,
- 657, 10585, 7554,
- 657, 10585, 7556,
- 657, 10585, 7564,
- 657, 10585, 7620,
- 657, 10585, 7622,
- 657, 10585, 7624,
- 657, 10585, 7876,
- 657, 10585, 7878,
- 657, 10585, 7880,
- 657, 10585, 7882,
- 657, 10585, 7894,
- 657, 10585, 7896,
- 657, 10585, 7898,
- 657, 10585, 7900,
- 657, 10585, 7902,
- 705, 8694,
- 719, 6741, 568,
- 719, 13042,
- 721, 6121, 1044,
- 729, 11635, 8775, 601, 5707, 1546,
- 729, 11635, 8775, 601, 5877, 1546,
- 729, 11635, 8775, 601, 5877, 9546,
- 729, 11635, 8775, 601, 5877, 10804,
- 729, 11635, 8775, 601, 6543, 7708,
- 729, 11635, 8775, 991, 7636,
- 729, 11635, 8775, 991, 7708,
- 729, 11635, 8775, 991, 10804,
- 729, 11635, 8775, 1547, 10666,
- 729, 11635, 8775, 1547, 10804,
- 729, 11635, 8775, 2412,
- 729, 11635, 8775, 4117, 5707, 7636,
- 729, 11635, 8775, 4117, 5877, 1546,
- 729, 11635, 8775, 4117, 5877, 10666,
- 729, 11635, 8775, 4117, 6543, 7708,
- 729, 11635, 8775, 4614,
- 729, 11635, 8775, 4615, 10666,
- 729, 11635, 8775, 4849, 5707, 7636,
- 729, 11635, 8775, 5496,
- 729, 11635, 8775, 5497, 601, 6542,
- 729, 11635, 8775, 5497, 990,
- 729, 11635, 8775, 5497, 1546,
- 729, 11635, 8775, 5497, 2091, 6740,
- 729, 11635, 8775, 5497, 4117, 6542,
- 729, 11635, 8775, 5497, 6610,
- 729, 11635, 8775, 5497, 6674,
- 729, 11635, 8775, 5497, 6740,
- 729, 11635, 8775, 5497, 7580,
- 729, 11635, 8775, 5497, 8056,
- 729, 11635, 8775, 5497, 8122,
- 729, 11635, 8775, 5497, 9158,
- 729, 11635, 8775, 5497, 9811, 6434,
- 729, 11635, 8775, 5497, 10468,
- 729, 11635, 8775, 5497, 10728,
- 729, 11635, 8775, 5497, 10959, 6434,
- 729, 11635, 8775, 5497, 11097, 6434,
- 729, 11635, 8775, 5497, 11098,
- 729, 11635, 8775, 5497, 11765, 6434,
- 729, 11635, 8775, 5497, 12472,
- 729, 11635, 8775, 5831, 10804,
- 729, 11635, 8775, 6406,
- 729, 11635, 8775, 6407, 10666,
- 729, 11635, 8775, 6617, 760,
- 729, 11635, 8775, 6675, 7636,
- 729, 11635, 8775, 6675, 10666,
- 729, 11635, 8775, 7316,
- 729, 11635, 8775, 7317, 10666,
- 729, 11635, 8775, 7415, 5496,
- 729, 11635, 8775, 7415, 10666,
- 729, 11635, 8775, 7581, 760,
- 729, 11635, 8775, 7637, 7708,
- 729, 11635, 8775, 7709, 10804,
- 729, 11635, 8775, 7884,
- 729, 11635, 8775, 8057, 1546,
- 729, 11635, 8775, 8057, 5830,
- 729, 11635, 8775, 8057, 7636,
- 729, 11635, 8775, 8057, 10666,
- 729, 11635, 8775, 8057, 10728,
- 729, 11635, 8775, 8057, 10804,
- 729, 11635, 8775, 8308,
- 729, 11635, 8775, 8747, 5496,
- 729, 11635, 8775, 9159, 10666,
- 729, 11635, 8775, 9271, 10666,
- 729, 11635, 8775, 9811, 6074,
- 729, 11635, 8775, 10729, 760,
- 729, 11635, 8775, 10959, 6074,
- 729, 11635, 8775, 11097, 6074,
- 729, 11635, 8775, 11225, 10666,
- 729, 11635, 8775, 11765, 6074,
- 729, 11635, 8775, 12473, 10804,
- 730,
- 789, 8774,
- 807, 9633, 9718,
- 807, 9718,
- 827, 10145, 601, 6909, 721, 4117, 11649, 7100,
- 827, 10145, 601, 6909, 721, 4849, 4117, 7100,
- 827, 10145, 601, 6909, 721, 4849, 7100,
- 827, 10145, 601, 6909, 721, 7443, 4117, 7100,
- 827, 10145, 601, 6909, 721, 7443, 7100,
- 827, 10145, 601, 6909, 721, 11649, 7100,
- 827, 10145, 601, 7101, 721, 4117, 11649, 6908,
- 827, 10145, 601, 7101, 721, 4849, 4117, 6908,
- 827, 10145, 601, 7101, 721, 4849, 6908,
- 827, 10145, 601, 7101, 721, 7443, 4117, 6908,
- 827, 10145, 601, 7101, 721, 7443, 6908,
- 827, 10145, 601, 7101, 721, 11649, 6908,
- 827, 10145, 601, 8153, 721, 4849, 8716,
- 827, 10145, 601, 8153, 721, 7443, 8716,
- 827, 10145, 601, 8153, 721, 11649, 8716,
- 827, 10145, 601, 8717, 721, 4849, 8152,
- 827, 10145, 601, 8717, 721, 7443, 8152,
- 827, 10145, 601, 8717, 721, 11649, 8152,
- 827, 10145, 4117, 6909, 721, 601, 11649, 7100,
- 827, 10145, 4117, 6909, 721, 4849, 601, 7100,
- 827, 10145, 4117, 6909, 721, 4849, 7100,
- 827, 10145, 4117, 6909, 721, 7443, 601, 7100,
- 827, 10145, 4117, 6909, 721, 7443, 7100,
- 827, 10145, 4117, 6909, 721, 11649, 7100,
- 827, 10145, 4117, 7101, 721, 601, 11649, 6908,
- 827, 10145, 4117, 7101, 721, 4849, 601, 6908,
- 827, 10145, 4117, 7101, 721, 4849, 6908,
- 827, 10145, 4117, 7101, 721, 7443, 601, 6908,
- 827, 10145, 4117, 7101, 721, 7443, 6908,
- 827, 10145, 4117, 7101, 721, 11649, 6908,
- 827, 10145, 4117, 8153, 721, 4849, 8716,
- 827, 10145, 4117, 8153, 721, 7443, 8716,
- 827, 10145, 4117, 8153, 721, 11649, 8716,
- 827, 10145, 4117, 8717, 721, 4849, 8152,
- 827, 10145, 4117, 8717, 721, 7443, 8152,
- 827, 10145, 4117, 8717, 721, 11649, 8152,
- 827, 10145, 4849, 601, 6909, 721, 7443, 4117, 7100,
- 827, 10145, 4849, 4117, 6909, 721, 7443, 601, 7100,
- 827, 10145, 4849, 6909, 721, 7443, 601, 7100,
- 827, 10145, 4849, 6909, 721, 7443, 4117, 7100,
- 827, 10145, 4849, 6909, 721, 7443, 10677, 7100,
- 827, 10145, 4849, 7101, 721, 7443, 601, 6908,
- 827, 10145, 4849, 7101, 721, 7443, 4117, 6908,
- 827, 10145, 4849, 7101, 721, 7443, 10677, 6908,
- 827, 10145, 6909, 600,
- 827, 10145, 6909, 601, 721, 4848,
- 827, 10145, 6909, 601, 721, 7101, 4116,
- 827, 10145, 6909, 601, 721, 7442,
- 827, 10145, 6909, 601, 721, 11648,
- 827, 10145, 6909, 4116,
- 827, 10145, 6909, 4117, 721, 4848,
- 827, 10145, 6909, 4117, 721, 7442,
- 827, 10145, 6909, 4117, 721, 11648,
- 827, 10145, 6909, 4848,
- 827, 10145, 6909, 4849, 721, 7101, 7442,
- 827, 10145, 6909, 7442,
- 827, 10145, 6909, 8153, 3993, 10676,
- 827, 10145, 6909, 8153, 3993, 11648,
- 827, 10145, 6909, 8849, 3993, 10676,
- 827, 10145, 6909, 8849, 3993, 11648,
- 827, 10145, 6909, 10676,
- 827, 10145, 6909, 10677, 721, 4848,
- 827, 10145, 6909, 10677, 721, 7442,
- 827, 10145, 6909, 10677, 721, 11648,
- 827, 10145, 6909, 11191, 3993, 10676,
- 827, 10145, 6909, 11191, 3993, 11648,
- 827, 10145, 6909, 11648,
- 827, 10145, 7101, 600,
- 827, 10145, 7101, 601, 721, 4848,
- 827, 10145, 7101, 601, 721, 6909, 4116,
- 827, 10145, 7101, 601, 721, 7442,
- 827, 10145, 7101, 601, 721, 11648,
- 827, 10145, 7101, 731, 601, 721, 4848,
- 827, 10145, 7101, 731, 601, 721, 7442,
- 827, 10145, 7101, 731, 4117, 721, 4848,
- 827, 10145, 7101, 731, 4117, 721, 7442,
- 827, 10145, 7101, 4116,
- 827, 10145, 7101, 4117, 721, 4848,
- 827, 10145, 7101, 4117, 721, 7442,
- 827, 10145, 7101, 4117, 721, 11648,
- 827, 10145, 7101, 4848,
- 827, 10145, 7101, 4849, 721, 6909, 7442,
- 827, 10145, 7101, 7442,
- 827, 10145, 7101, 8153, 3993, 10676,
- 827, 10145, 7101, 8153, 3993, 11648,
- 827, 10145, 7101, 8849, 3993, 10676,
- 827, 10145, 7101, 8849, 3993, 11648,
- 827, 10145, 7101, 10001, 6622,
- 827, 10145, 7101, 10001, 7773, 4849, 569, 7121, 7442,
- 827, 10145, 7101, 10001, 7773, 7443, 569, 7121, 4848,
- 827, 10145, 7101, 10676,
- 827, 10145, 7101, 10677, 721, 4848,
- 827, 10145, 7101, 10677, 721, 7442,
- 827, 10145, 7101, 10677, 721, 11648,
- 827, 10145, 7101, 11191, 3993, 10676,
- 827, 10145, 7101, 11191, 3993, 11648,
- 827, 10145, 7101, 11648,
- 827, 10145, 7443, 601, 6909, 721, 4849, 4117, 7100,
- 827, 10145, 7443, 4117, 6909, 721, 4849, 601, 7100,
- 827, 10145, 7443, 6909, 721, 4849, 601, 7100,
- 827, 10145, 7443, 6909, 721, 4849, 4117, 7100,
- 827, 10145, 7443, 6909, 721, 4849, 10677, 7100,
- 827, 10145, 7443, 7101, 721, 4849, 601, 6908,
- 827, 10145, 7443, 7101, 721, 4849, 4117, 6908,
- 827, 10145, 7443, 7101, 721, 4849, 10677, 6908,
- 827, 10145, 8153, 601, 721, 4848,
- 827, 10145, 8153, 601, 721, 7442,
- 827, 10145, 8153, 601, 721, 11648,
- 827, 10145, 8153, 4117, 721, 4848,
- 827, 10145, 8153, 4117, 721, 7442,
- 827, 10145, 8153, 4117, 721, 11648,
- 827, 10145, 8153, 10676,
- 827, 10145, 8153, 10677, 721, 4848,
- 827, 10145, 8153, 10677, 721, 7442,
- 827, 10145, 8153, 10677, 721, 11648,
- 827, 10145, 8153, 11648,
- 827, 10145, 10677, 6909, 721, 4849, 7100,
- 827, 10145, 10677, 6909, 721, 7443, 7100,
- 827, 10145, 10677, 6909, 721, 11649, 7100,
- 827, 10145, 10677, 7101, 721, 4849, 6908,
- 827, 10145, 10677, 7101, 721, 7443, 6908,
- 827, 10145, 10677, 7101, 721, 11649, 6908,
- 827, 10145, 10677, 8153, 721, 4849, 8716,
- 827, 10145, 10677, 8153, 721, 7443, 8716,
- 827, 10145, 10677, 8153, 721, 11649, 8716,
- 827, 10145, 10677, 8717, 721, 4849, 8152,
- 827, 10145, 10677, 8717, 721, 7443, 8152,
- 827, 10145, 10677, 8717, 721, 11649, 8152,
- 889, 2412,
- 909, 8759, 6,
- 909, 8759, 14,
- 909, 8759, 26,
- 909, 8759, 30,
- 909, 8759, 32,
- 909, 8759, 36,
- 909, 8759, 38,
- 909, 8759, 240,
- 909, 8759, 248,
- 909, 8759, 254,
- 909, 8759, 466,
- 909, 8759, 472,
- 909, 8759, 494,
- 909, 8759, 528,
- 909, 8759, 538,
- 909, 8759, 544,
- 909, 8759, 550,
- 909, 8759, 554,
- 909, 8759, 566,
- 909, 8759, 628,
- 909, 8759, 642,
- 909, 8759, 844,
- 909, 8759, 1458,
- 909, 8759, 1460,
- 909, 8759, 1462,
- 909, 8759, 1464,
- 909, 8759, 2602,
- 909, 8759, 2608,
- 909, 8759, 2630,
- 909, 8759, 4542,
- 909, 8759, 4584,
- 909, 8759, 4586,
- 909, 8759, 4588,
- 909, 8759, 4590,
- 909, 8759, 5872,
- 909, 8759, 6974,
- 909, 9617, 826,
- 909, 9617, 920,
- 909, 9617, 1036,
- 909, 9617, 1093, 2170,
- 909, 9617, 1093, 2778,
- 909, 9617, 1093, 7694,
- 909, 9617, 1132,
- 909, 9617, 1136,
- 909, 9617, 2025, 2170,
- 909, 9617, 2025, 2778,
- 909, 9617, 2025, 4214,
- 909, 9617, 2025, 7694,
- 909, 9617, 2166,
- 909, 9617, 2201, 2170,
- 909, 9617, 2201, 2778,
- 909, 9617, 2386,
- 909, 9617, 2390,
- 909, 9617, 2586,
- 909, 9617, 3794,
- 909, 9617, 3805, 429, 6604,
- 909, 9617, 3806,
- 909, 9617, 3940,
- 909, 9617, 4194,
- 909, 9617, 4208,
- 909, 9617, 4390,
- 909, 9617, 4398,
- 909, 9617, 4536,
- 909, 9617, 4628,
- 909, 9617, 4835, 2170,
- 909, 9617, 4835, 2778,
- 909, 9617, 4835, 4214,
- 909, 9617, 4835, 7694,
- 909, 9617, 4895, 2170,
- 909, 9617, 4895, 2778,
- 909, 9617, 4940,
- 909, 9617, 4950,
- 909, 9617, 5012,
- 909, 9617, 5524,
- 909, 9617, 5646,
- 909, 9617, 5764,
- 909, 9617, 6101, 2170,
- 909, 9617, 6101, 2778,
- 909, 9617, 6113, 2170,
- 909, 9617, 6113, 2778,
- 909, 9617, 6521, 2170,
- 909, 9617, 6521, 2778,
- 909, 9617, 6578,
- 909, 9617, 6600,
- 909, 9617, 6670,
- 909, 9617, 6852,
- 909, 9617, 6873, 2170,
- 909, 9617, 6873, 2778,
- 909, 9617, 6873, 7694,
- 909, 9617, 6907, 2170,
- 909, 9617, 6907, 2778,
- 909, 9617, 7057, 2170,
- 909, 9617, 7057, 2778,
- 909, 9617, 7185, 2170,
- 909, 9617, 7185, 2778,
- 909, 9617, 7526,
- 909, 9617, 7593, 2170,
- 909, 9617, 7593, 2778,
- 909, 9617, 7600,
- 909, 9617, 7603, 2170,
- 909, 9617, 7603, 2778,
- 909, 9617, 7662,
- 909, 9617, 7704,
- 909, 9617, 7813, 2170,
- 909, 9617, 7813, 2778,
- 909, 9617, 7974,
- 909, 9617, 8484,
- 909, 9617, 8486,
- 909, 9617, 8576,
- 909, 9617, 8640,
- 909, 9617, 8681, 2170,
- 909, 9617, 8681, 2778,
- 909, 9617, 8681, 7694,
- 909, 9617, 8735, 2170,
- 909, 9617, 8735, 2778,
- 909, 9617, 8824,
- 909, 9617, 8870,
- 909, 9617, 9102,
- 909, 9617, 9948,
- 909, 9617, 11488,
- 909, 9617, 11803, 4389, 5969, 7736,
- 909, 9617, 11803, 4536,
- 909, 9617, 11803, 6100,
- 909, 9617, 11803, 7816,
- 909, 9617, 11803, 8946,
- 909, 9617, 12419, 1092,
- 909, 9617, 12419, 1170,
- 909, 9617, 12419, 2504,
- 909, 9617, 12419, 3788,
- 909, 9617, 12419, 3850,
- 909, 9617, 12419, 4172,
- 909, 9617, 12419, 4196,
- 909, 9617, 12419, 4218,
- 909, 9617, 12419, 4244,
- 909, 9617, 12419, 4342,
- 909, 9617, 12419, 4844,
- 909, 9617, 12419, 4894,
- 909, 9617, 12419, 5632,
- 909, 9617, 12419, 5764,
- 909, 9617, 12419, 6116,
- 909, 9617, 12419, 6952,
- 909, 9617, 12419, 7532,
- 909, 9617, 12419, 7726,
- 909, 9617, 12419, 8154,
- 909, 9617, 12419, 8730,
- 909, 9617, 12419, 8793, 9426,
- 909, 9617, 12419, 8870,
- 909, 9617, 12495, 4172,
- 909, 9617, 12495, 7726,
- 909, 9617, 12495, 8154,
- 909, 9617, 12495, 8870,
- 1009, 8178,
- 1009, 8180,
- 1009, 8182,
- 1009, 8184,
- 1009, 8186,
- 1009, 8188,
- 1045, 5444,
- 1045, 6376,
- 1045, 7172,
- 1045, 10374,
- 1109, 429, 7394,
- 1177, 718,
- 1429, 9730,
- 1429, 9912,
- 1635, 5758,
- 1741, 247, 380,
- 1741, 247, 412,
- 1741, 323, 332,
- 1741, 5965, 1859, 170,
- 1741, 5965, 1859, 564,
- 1741, 5965, 1859, 2684,
- 1741, 5965, 1859, 8034,
- 1741, 6689, 2170,
- 1741, 6689, 2540,
- 1741, 6689, 2778,
- 1741, 6689, 4200,
- 1741, 6689, 4214,
- 1741, 6689, 5190,
- 1741, 6689, 6260,
- 1741, 6689, 6722,
- 1741, 6689, 7508,
- 1741, 6689, 7694,
- 1741, 7803, 5759, 0,
- 1741, 7803, 5759, 8,
- 1741, 7803, 5759, 16,
- 1741, 7803, 5759, 28,
- 1741, 7803, 5759, 40,
- 1741, 7803, 5759, 48,
- 1741, 7803, 5759, 58,
- 1741, 7803, 5759, 72,
- 1741, 7803, 5759, 78,
- 1741, 7803, 5759, 98,
- 1741, 7803, 5759, 168,
- 1741, 7803, 5759, 266,
- 1741, 7803, 5759, 606,
- 1741, 7803, 5759, 668,
- 1741, 7803, 5759, 1859, 1588,
- 1741, 7803, 5759, 1859, 1658,
- 1741, 8405, 28,
- 1741, 8405, 108,
- 1741, 8405, 130,
- 1741, 8405, 150,
- 1741, 8405, 209, 2646,
- 1741, 8405, 209, 5846,
- 1741, 8405, 247, 2646,
- 1741, 8405, 247, 5846,
- 1741, 8405, 322,
- 1741, 8405, 351, 4878,
- 1741, 8405, 351, 4898,
- 1741, 8405, 380,
- 1741, 8405, 412,
- 1741, 8405, 480,
- 1741, 8405, 537, 2646,
- 1741, 8405, 537, 5846,
- 1741, 8405, 568,
- 1741, 8405, 632,
- 1741, 8405, 660,
- 1741, 8405, 1619, 2646,
- 1741, 8405, 1619, 5846,
- 1741, 8405, 2038,
- 1741, 8405, 2134,
- 1741, 8405, 2219, 2646,
- 1741, 8405, 2219, 5846,
- 1741, 8405, 2685, 2646,
- 1741, 8405, 2685, 5846,
- 1741, 10154,
- 1741, 11134,
- 1741, 11227, 5759, 350,
- 1741, 11227, 5759, 2134,
- 1741, 12421, 4926,
- 1764,
- 1809, 4876,
- 1809, 8153, 7391, 11195, 4926,
- 1809, 9898,
- 2027, 2643, 1817, 5759, 1734,
- 2027, 2643, 1817, 5759, 4826,
- 2027, 2643, 1817, 5965, 8442,
- 2027, 2643, 1817, 5965, 8444,
- 2027, 2643, 1817, 6689, 2170,
- 2027, 2643, 1817, 6689, 2540,
- 2027, 2643, 1817, 6689, 2778,
- 2027, 2643, 1817, 6689, 4200,
- 2027, 2643, 1817, 6689, 4214,
- 2027, 2643, 1817, 6689, 5190,
- 2027, 2643, 1817, 6689, 6260,
- 2027, 2643, 1817, 6689, 6722,
- 2027, 2643, 1817, 6689, 7508,
- 2027, 2643, 1817, 6689, 7694,
- 2027, 2643, 1817, 7803, 5759, 8,
- 2027, 2643, 1817, 7803, 5759, 28,
- 2027, 2643, 1817, 7803, 5759, 40,
- 2027, 2643, 1817, 7803, 5759, 58,
- 2027, 2643, 1817, 7803, 5759, 66,
- 2027, 2643, 1817, 7803, 5759, 98,
- 2027, 2643, 1817, 7803, 5759, 266,
- 2027, 2643, 1817, 7803, 5759, 290,
- 2027, 2643, 1817, 7803, 5759, 422,
- 2027, 2643, 1817, 7803, 5759, 458,
- 2027, 2643, 1817, 7803, 5759, 590,
- 2027, 2643, 1817, 7803, 5759, 606,
- 2027, 2643, 1817, 7803, 5759, 608,
- 2027, 2643, 1817, 7803, 5759, 700,
- 2027, 2643, 1817, 7803, 5759, 2156,
- 2027, 2643, 1817, 7803, 5759, 2806,
- 2027, 2643, 1817, 7803, 5759, 7803, 11238,
- 2027, 2643, 1817, 8405, 1809, 100,
- 2027, 2643, 1817, 8405, 1809, 138,
- 2027, 2643, 1817, 8405, 1809, 196,
- 2027, 2643, 1817, 8405, 1809, 236,
- 2027, 2643, 1817, 8405, 1809, 306,
- 2027, 2643, 1817, 8405, 1809, 332,
- 2027, 2643, 1817, 8405, 1809, 364,
- 2027, 2643, 1817, 8405, 1809, 392,
- 2027, 2643, 1817, 8405, 1809, 462,
- 2027, 2643, 1817, 8405, 1809, 496,
- 2027, 2643, 1817, 8405, 1809, 524,
- 2027, 2643, 1817, 8405, 1809, 556,
- 2027, 2643, 1817, 8405, 1809, 610,
- 2027, 2643, 1817, 8405, 1809, 638,
- 2027, 2643, 1817, 8405, 1809, 652,
- 2027, 2643, 1817, 8405, 1809, 1702,
- 2027, 2643, 1817, 8405, 1809, 2030,
- 2027, 2643, 1817, 8405, 1809, 2212,
- 2027, 2643, 1817, 8405, 1809, 2678,
- 2027, 2643, 1817, 8405, 1809, 2732,
- 2027, 2643, 1817, 8405, 1809, 2980,
- 2027, 2643, 1817, 8405, 4423, 100,
- 2027, 2643, 1817, 8405, 4423, 138,
- 2027, 2643, 1817, 8405, 4423, 196,
- 2027, 2643, 1817, 8405, 4423, 236,
- 2027, 2643, 1817, 8405, 4423, 306,
- 2027, 2643, 1817, 8405, 4423, 332,
- 2027, 2643, 1817, 8405, 4423, 364,
- 2027, 2643, 1817, 8405, 4423, 392,
- 2027, 2643, 1817, 8405, 4423, 462,
- 2027, 2643, 1817, 8405, 4423, 496,
- 2027, 2643, 1817, 8405, 4423, 524,
- 2027, 2643, 1817, 8405, 4423, 556,
- 2027, 2643, 1817, 8405, 4423, 610,
- 2027, 2643, 1817, 8405, 4423, 638,
- 2027, 2643, 1817, 8405, 4423, 652,
- 2027, 2643, 1817, 8405, 4423, 1702,
- 2027, 2643, 1817, 8405, 4423, 2030,
- 2027, 2643, 1817, 8405, 4423, 2212,
- 2027, 2643, 1817, 8405, 4423, 2678,
- 2027, 2643, 1817, 8405, 4423, 2732,
- 2027, 2643, 1817, 8405, 4423, 2980,
- 2027, 2643, 1817, 8405, 6789, 2,
- 2027, 2643, 1817, 8405, 6789, 6,
- 2027, 2643, 1817, 8405, 6789, 20,
- 2027, 2643, 1817, 8405, 6789, 24,
- 2027, 2643, 1817, 8405, 6789, 26,
- 2027, 2643, 1817, 8405, 6789, 42,
- 2027, 2643, 1817, 8405, 6789, 400,
- 2027, 8701, 5758,
- 2075, 1809, 5965, 11424,
- 2075, 4423, 5965, 11424,
- 2075, 6616,
- 2075, 6689, 2170,
- 2075, 6689, 2540,
- 2075, 6689, 2778,
- 2075, 6689, 4200,
- 2075, 6689, 4214,
- 2075, 6689, 5190,
- 2075, 6689, 6260,
- 2075, 6689, 6722,
- 2075, 6689, 7508,
- 2075, 6689, 7694,
- 2075, 8405, 0,
- 2075, 8405, 8,
- 2075, 8405, 16,
- 2075, 8405, 26,
- 2075, 8405, 28,
- 2075, 8405, 40,
- 2075, 8405, 100,
- 2075, 8405, 138,
- 2075, 8405, 162,
- 2075, 8405, 196,
- 2075, 8405, 236,
- 2075, 8405, 292,
- 2075, 8405, 306,
- 2075, 8405, 332,
- 2075, 8405, 364,
- 2075, 8405, 392,
- 2075, 8405, 393, 8936,
- 2075, 8405, 440,
- 2075, 8405, 462,
- 2075, 8405, 510,
- 2075, 8405, 524,
- 2075, 8405, 556,
- 2075, 8405, 622,
- 2075, 8405, 652,
- 2075, 8405, 884,
- 2075, 8405, 1228,
- 2075, 8405, 2126,
- 2075, 8405, 2127, 8936,
- 2075, 8405, 2438,
- 2075, 8405, 4679, 292,
- 2075, 8405, 4679, 510,
- 2075, 8405, 4679, 884,
- 2075, 8405, 11470,
- 2075, 8775, 441, 8104,
- 2075, 8775, 11636,
- 2075, 10767, 4895, 1809, 5964,
- 2075, 10767, 4895, 4423, 5964,
- 2075, 10767, 4895, 8649, 5964,
- 2075, 10767, 4895, 11475, 5964,
- 2075, 10767, 7551, 1809, 5964,
- 2075, 10767, 7551, 4423, 5964,
- 2075, 10767, 7551, 8649, 5964,
- 2075, 10767, 8153, 1045, 6376,
- 2075, 10767, 12511, 4926,
- 2075, 11672,
- 2075, 12017, 4926,
- 2088,
- 2091, 1, 8763, 428,
- 2091, 1, 10579, 428,
- 2091, 81, 9263, 428,
- 2091, 5758,
- 2091, 5972,
- 2091, 6569, 4926,
- 2091, 6741, 568,
- 2091, 7708,
- 2091, 7919, 6741, 568,
- 2091, 8521, 10573, 428,
- 2091, 8521, 10573, 429, 445, 6741, 568,
- 2091, 8745, 6989, 429, 445, 6741, 568,
- 2091, 8745, 10379, 429, 445, 6741, 568,
- 2091, 10411, 568,
- 2091, 11041, 568,
- 2091, 11098,
- 2091, 11621, 568,
- 2091, 12472,
- 2091, 13045, 6741, 568,
- 2159, 825, 2690,
- 2159, 3771, 8020,
- 2159, 3992,
- 2159, 4210,
- 2159, 4530,
- 2159, 6564,
- 2159, 7921, 429, 6568,
- 2159, 8009, 3711, 13054,
- 2159, 8153, 10728,
- 2159, 9973, 8975, 8524,
- 2159, 10267, 4210,
- 2163, 5758,
- 2167, 8325, 8405, 0,
- 2167, 8325, 8405, 8,
- 2167, 8325, 8405, 16,
- 2167, 8325, 8405, 28,
- 2167, 8325, 8405, 40,
- 2167, 8325, 8405, 102,
- 2167, 8325, 8405, 142,
- 2167, 8325, 8405, 164,
- 2167, 8325, 8405, 172,
- 2167, 8325, 8405, 174,
- 2167, 8325, 8405, 176,
- 2167, 8325, 8405, 182,
- 2167, 8325, 8405, 184,
- 2167, 8325, 8405, 238,
- 2167, 8325, 8405, 266,
- 2167, 8325, 8405, 306,
- 2167, 8325, 8405, 310,
- 2167, 8325, 8405, 326,
- 2167, 8325, 8405, 468,
- 2167, 8325, 8405, 560,
- 2167, 8325, 8405, 606,
- 2167, 8325, 8405, 612,
- 2167, 8325, 8405, 672,
- 2167, 8325, 8405, 886,
- 2167, 8325, 8405, 1106,
- 2167, 8325, 8405, 1122,
- 2167, 8325, 8405, 1124,
- 2167, 8325, 8405, 1614,
- 2167, 8325, 8405, 2214,
- 2167, 8325, 8405, 2518,
- 2167, 8325, 8405, 2680,
- 2167, 8325, 9513, 2170,
- 2167, 8325, 9513, 2670,
- 2167, 8325, 9513, 4200,
- 2167, 8325, 9513, 6784,
- 2167, 9583, 5759, 0,
- 2167, 9583, 5759, 16,
- 2167, 9583, 5759, 40,
- 2167, 9583, 5759, 100,
- 2167, 9583, 5759, 116,
- 2167, 9583, 5759, 138,
- 2167, 9583, 5759, 144,
- 2167, 9583, 5759, 152,
- 2167, 9583, 5759, 196,
- 2167, 9583, 5759, 216,
- 2167, 9583, 5759, 230,
- 2167, 9583, 5759, 236,
- 2167, 9583, 5759, 292,
- 2167, 9583, 5759, 296,
- 2167, 9583, 5759, 306,
- 2167, 9583, 5759, 326,
- 2167, 9583, 5759, 332,
- 2167, 9583, 5759, 364,
- 2167, 9583, 5759, 374,
- 2167, 9583, 5759, 384,
- 2167, 9583, 5759, 392,
- 2167, 9583, 5759, 416,
- 2167, 9583, 5759, 462,
- 2167, 9583, 5759, 510,
- 2167, 9583, 5759, 520,
- 2167, 9583, 5759, 524,
- 2167, 9583, 5759, 556,
- 2167, 9583, 5759, 576,
- 2167, 9583, 5759, 610,
- 2167, 9583, 5759, 614,
- 2167, 9583, 5759, 638,
- 2167, 9583, 5759, 652,
- 2167, 9583, 5759, 670,
- 2167, 9583, 5759, 2516,
- 2167, 9583, 5759, 2566,
- 2167, 9583, 5759, 2678,
- 2167, 9583, 5759, 3700,
- 2167, 9583, 5759, 9058,
- 2167, 9583, 5759, 10790,
- 2167, 9583, 5759, 11436,
- 2167, 9583, 5759, 11926,
- 2167, 9583, 5759, 12408,
- 2167, 9583, 5759, 12410,
- 2167, 9583, 5759, 12896,
- 2167, 9583, 6129, 9178,
- 2167, 9583, 8525, 2170,
- 2167, 9583, 8525, 2670,
- 2167, 9583, 8525, 2778,
- 2167, 9583, 8525, 8876,
- 2167, 9583, 8525, 9344,
- 2171, 1045, 5387, 2779, 4113, 12132,
- 2171, 1045, 8392,
- 2209, 2671, 10625, 5758,
- 2209, 5758,
- 2209, 7171, 5758,
- 2241, 11945, 11632,
- 2511, 7172,
- 2541, 9601, 6505, 5830,
- 2541, 10425, 6505, 721, 7821, 10194,
- 2586,
- 2639, 1809, 4876,
- 2639, 4223, 5836,
- 2639, 4849, 6627, 9050,
- 2639, 4849, 8745, 9050,
- 2639, 4849, 12114,
- 2639, 5445, 5758,
- 2639, 6610,
- 2639, 6616,
- 2639, 6689, 2170,
- 2639, 6689, 2540,
- 2639, 6689, 2778,
- 2639, 6689, 4200,
- 2639, 6689, 4214,
- 2639, 6689, 5190,
- 2639, 6689, 6260,
- 2639, 6689, 6722,
- 2639, 6689, 7508,
- 2639, 6689, 7694,
- 2639, 6875, 7908,
- 2639, 7089, 7593, 8405, 0,
- 2639, 7089, 7593, 8405, 2,
- 2639, 7089, 7593, 8405, 4,
- 2639, 7089, 7593, 8405, 6,
- 2639, 7089, 7593, 8405, 8,
- 2639, 7089, 7593, 8405, 10,
- 2639, 7089, 7593, 8405, 12,
- 2639, 7089, 7593, 8405, 14,
- 2639, 7089, 7593, 8405, 16,
- 2639, 7089, 7593, 8405, 18,
- 2639, 7089, 7593, 8405, 20,
- 2639, 7089, 7593, 8405, 22,
- 2639, 7089, 7593, 8405, 24,
- 2639, 7089, 7593, 8405, 26,
- 2639, 7089, 7593, 8405, 28,
- 2639, 7089, 7593, 8405, 30,
- 2639, 7089, 7593, 8405, 32,
- 2639, 7089, 7593, 8405, 34,
- 2639, 7089, 7593, 8405, 36,
- 2639, 7089, 7593, 8405, 38,
- 2639, 7089, 7593, 8405, 40,
- 2639, 7089, 7593, 8405, 42,
- 2639, 7089, 7593, 8405, 44,
- 2639, 7089, 7593, 8405, 46,
- 2639, 7089, 7593, 8405, 48,
- 2639, 7089, 7593, 8405, 50,
- 2639, 7089, 9063, 8405, 0,
- 2639, 7089, 9063, 8405, 2,
- 2639, 7089, 9063, 8405, 4,
- 2639, 7089, 9063, 8405, 6,
- 2639, 7089, 9063, 8405, 8,
- 2639, 7089, 9063, 8405, 10,
- 2639, 7089, 9063, 8405, 12,
- 2639, 7089, 9063, 8405, 14,
- 2639, 7089, 9063, 8405, 16,
- 2639, 7089, 9063, 8405, 18,
- 2639, 7089, 9063, 8405, 20,
- 2639, 7089, 9063, 8405, 22,
- 2639, 7089, 9063, 8405, 24,
- 2639, 7089, 9063, 8405, 26,
- 2639, 7089, 9063, 8405, 28,
- 2639, 7089, 9063, 8405, 30,
- 2639, 7089, 9063, 8405, 32,
- 2639, 7089, 9063, 8405, 34,
- 2639, 7089, 9063, 8405, 36,
- 2639, 7089, 9063, 8405, 38,
- 2639, 7089, 9063, 8405, 40,
- 2639, 7089, 9063, 8405, 42,
- 2639, 7089, 9063, 8405, 44,
- 2639, 7089, 9063, 8405, 46,
- 2639, 7089, 9063, 8405, 48,
- 2639, 7089, 9063, 8405, 50,
- 2639, 7443, 6627, 9050,
- 2639, 7443, 8745, 9050,
- 2639, 7443, 12114,
- 2639, 7608,
- 2639, 7708,
- 2639, 8129, 5758,
- 2639, 8167, 5758,
- 2639, 8525, 5758,
- 2639, 9581, 5758,
- 2639, 9633, 9718,
- 2639, 9718,
- 2639, 9898,
- 2639, 10469, 4926,
- 2639, 10677, 4876,
- 2639, 10708,
- 2639, 11099, 5758,
- 2639, 11195, 4926,
- 2639, 11224,
- 2639, 11424,
- 2639, 11449, 7908,
- 2639, 11451, 90,
- 2639, 12017, 4926,
- 2639, 12473, 5758,
- 2639, 12478,
- 2643, 337, 8405, 0,
- 2643, 337, 8405, 8,
- 2643, 337, 8405, 16,
- 2643, 337, 8405, 28,
- 2643, 337, 8405, 40,
- 2643, 337, 8405, 72,
- 2643, 337, 8405, 162,
- 2643, 337, 8405, 166,
- 2643, 337, 8405, 196,
- 2643, 337, 8405, 236,
- 2643, 337, 8405, 306,
- 2643, 337, 8405, 332,
- 2643, 337, 8405, 364,
- 2643, 337, 8405, 392,
- 2643, 337, 8405, 440,
- 2643, 337, 8405, 462,
- 2643, 337, 8405, 496,
- 2643, 337, 8405, 524,
- 2643, 337, 8405, 556,
- 2643, 337, 8405, 590,
- 2643, 337, 8405, 610,
- 2643, 337, 8405, 638,
- 2643, 337, 8405, 652,
- 2643, 337, 8405, 738,
- 2643, 337, 8405, 1612,
- 2643, 337, 8405, 2030,
- 2643, 337, 8405, 2212,
- 2643, 337, 8405, 2678,
- 2643, 337, 8405, 2732,
- 2643, 337, 8405, 5978,
- 2643, 337, 8405, 8834,
- 2643, 337, 8405, 8836,
- 2643, 337, 8405, 8838,
- 2643, 337, 8405, 8840,
- 2643, 337, 8405, 8842,
- 2691, 5387, 10256,
- 2725, 731, 10763, 6435, 6121, 7172,
- 2725, 731, 12901, 6434,
- 2725, 731, 12901, 6435, 6121, 5444,
- 2725, 4389, 10260,
- 2725, 4849, 3958,
- 2725, 4849, 4389, 9050,
- 2725, 4849, 8076,
- 2725, 6627, 9050,
- 2725, 7443, 3958,
- 2725, 7443, 4389, 9050,
- 2725, 7443, 8076,
- 2725, 8745, 9050,
- 2725, 10637, 7533, 9050,
- 2725, 12114,
- 2779, 1045, 8392,
- 2779, 1045, 12132,
- 2779, 4113, 5387, 2171, 1045, 12132,
- 2779, 8329, 9734,
- 2779, 9437, 445, 10374,
- 2779, 9437, 721, 10374,
- 2779, 10725, 8993, 11876,
- 2779, 11913, 8167, 7570,
- 2779, 12491, 9437, 444,
- 2779, 12491, 9437, 720,
- 2847, 4223, 5836,
- 2847, 6616,
- 2847, 6689, 2170,
- 2847, 6689, 2540,
- 2847, 6689, 2778,
- 2847, 6689, 4200,
- 2847, 6689, 4214,
- 2847, 6689, 5190,
- 2847, 6689, 6260,
- 2847, 6689, 6722,
- 2847, 6689, 7508,
- 2847, 6689, 7694,
- 2847, 8775, 1140,
- 2847, 8775, 2052,
- 2847, 8775, 2634,
- 2847, 8775, 3708,
- 2847, 8775, 3986,
- 2847, 8775, 4100,
- 2847, 8775, 4680,
- 2847, 8775, 4784,
- 2847, 8775, 5944,
- 2847, 8775, 5966,
- 2847, 8775, 6700,
- 2847, 8775, 6776,
- 2847, 8775, 7032,
- 2847, 10469, 4926,
- 2847, 10585, 0,
- 2847, 10585, 8,
- 2847, 10585, 16,
- 2847, 10585, 28,
- 2847, 10585, 40,
- 2847, 10585, 80,
- 2847, 10585, 100,
- 2847, 10585, 102,
- 2847, 10585, 106,
- 2847, 10585, 108,
- 2847, 10585, 112,
- 2847, 10585, 116,
- 2847, 10585, 122,
- 2847, 10585, 126,
- 2847, 10585, 130,
- 2847, 10585, 132,
- 2847, 10585, 138,
- 2847, 10585, 142,
- 2847, 10585, 144,
- 2847, 10585, 150,
- 2847, 10585, 152,
- 2847, 10585, 162,
- 2847, 10585, 176,
- 2847, 10585, 196,
- 2847, 10585, 198,
- 2847, 10585, 202,
- 2847, 10585, 208,
- 2847, 10585, 210,
- 2847, 10585, 216,
- 2847, 10585, 220,
- 2847, 10585, 224,
- 2847, 10585, 228,
- 2847, 10585, 230,
- 2847, 10585, 236,
- 2847, 10585, 238,
- 2847, 10585, 242,
- 2847, 10585, 246,
- 2847, 10585, 250,
- 2847, 10585, 274,
- 2847, 10585, 292,
- 2847, 10585, 294,
- 2847, 10585, 296,
- 2847, 10585, 298,
- 2847, 10585, 300,
- 2847, 10585, 306,
- 2847, 10585, 310,
- 2847, 10585, 314,
- 2847, 10585, 322,
- 2847, 10585, 326,
- 2847, 10585, 332,
- 2847, 10585, 336,
- 2847, 10585, 340,
- 2847, 10585, 350,
- 2847, 10585, 354,
- 2847, 10585, 364,
- 2847, 10585, 368,
- 2847, 10585, 374,
- 2847, 10585, 380,
- 2847, 10585, 384,
- 2847, 10585, 392,
- 2847, 10585, 396,
- 2847, 10585, 400,
- 2847, 10585, 404,
- 2847, 10585, 412,
- 2847, 10585, 416,
- 2847, 10585, 438,
- 2847, 10585, 440,
- 2847, 10585, 462,
- 2847, 10585, 468,
- 2847, 10585, 476,
- 2847, 10585, 480,
- 2847, 10585, 486,
- 2847, 10585, 510,
- 2847, 10585, 512,
- 2847, 10585, 514,
- 2847, 10585, 516,
- 2847, 10585, 520,
- 2847, 10585, 524,
- 2847, 10585, 526,
- 2847, 10585, 532,
- 2847, 10585, 536,
- 2847, 10585, 546,
- 2847, 10585, 556,
- 2847, 10585, 560,
- 2847, 10585, 564,
- 2847, 10585, 568,
- 2847, 10585, 576,
- 2847, 10585, 596,
- 2847, 10585, 610,
- 2847, 10585, 612,
- 2847, 10585, 614,
- 2847, 10585, 616,
- 2847, 10585, 618,
- 2847, 10585, 622,
- 2847, 10585, 626,
- 2847, 10585, 630,
- 2847, 10585, 632,
- 2847, 10585, 634,
- 2847, 10585, 652,
- 2847, 10585, 654,
- 2847, 10585, 656,
- 2847, 10585, 660,
- 2847, 10585, 664,
- 2847, 10585, 670,
- 2847, 10585, 672,
- 2847, 10585, 676,
- 2847, 10585, 678,
- 2847, 10585, 680,
- 2847, 10585, 778,
- 2847, 10585, 792,
- 2847, 10585, 794,
- 2847, 10585, 796,
- 2847, 10585, 798,
- 2847, 10585, 800,
- 2847, 10585, 818,
- 2847, 10585, 876,
- 2847, 10585, 914,
- 2847, 10585, 984,
- 2847, 10585, 996,
- 2847, 10585, 998,
- 2847, 10585, 1000,
- 2847, 10585, 1002,
- 2847, 10585, 1004,
- 2847, 10585, 1040,
- 2847, 10585, 1098,
- 2847, 10585, 1150,
- 2847, 10585, 1172,
- 2847, 10585, 1228,
- 2847, 10585, 1230,
- 2847, 10585, 1232,
- 2847, 10585, 1234,
- 2847, 10585, 1236,
- 2847, 10585, 1238,
- 2847, 10585, 1240,
- 2847, 10585, 1290,
- 2847, 10585, 1346,
- 2847, 10585, 1356,
- 2847, 10585, 1362,
- 2847, 10585, 1384,
- 2847, 10585, 1422,
- 2847, 10585, 1424,
- 2847, 10585, 1436,
- 2847, 10585, 1506,
- 2847, 10585, 1542,
- 2847, 10585, 1588,
- 2847, 10585, 1598,
- 2847, 10585, 1660,
- 2847, 10585, 1668,
- 2847, 10585, 1670,
- 2847, 10585, 1672,
- 2847, 10585, 1674,
- 2847, 10585, 1676,
- 2847, 10585, 1758,
- 2847, 10585, 1802,
- 2847, 10585, 1878,
- 2847, 10585, 1880,
- 2847, 10585, 1882,
- 2847, 10585, 1884,
- 2847, 10585, 1886,
- 2847, 10585, 1890,
- 2847, 10585, 1938,
- 2847, 10585, 2006,
- 2847, 10585, 2008,
- 2847, 10585, 2010,
- 2847, 10585, 2012,
- 2847, 10585, 2014,
- 2847, 10585, 2016,
- 2847, 10585, 2062,
- 2847, 10585, 2064,
- 2847, 10585, 2066,
- 2847, 10585, 2068,
- 2847, 10585, 2070,
- 2847, 10585, 2084,
- 2847, 10585, 2126,
- 2847, 10585, 2130,
- 2847, 10585, 2132,
- 2847, 10585, 2134,
- 2847, 10585, 2136,
- 2847, 10585, 2178,
- 2847, 10585, 2204,
- 2847, 10585, 2238,
- 2847, 10585, 2402,
- 2847, 10585, 2430,
- 2847, 10585, 2504,
- 2847, 10585, 2516,
- 2847, 10585, 2518,
- 2847, 10585, 2520,
- 2847, 10585, 2522,
- 2847, 10585, 2524,
- 2847, 10585, 2554,
- 2847, 10585, 2666,
- 2847, 10585, 2678,
- 2847, 10585, 2680,
- 2847, 10585, 2682,
- 2847, 10585, 2684,
- 2847, 10585, 2686,
- 2847, 10585, 2722,
- 2847, 10585, 2856,
- 2847, 10585, 2876,
- 2847, 10585, 2910,
- 2847, 10585, 2922,
- 2847, 10585, 2924,
- 2847, 10585, 2934,
- 2847, 10585, 2940,
- 2847, 10585, 2942,
- 2847, 10585, 2948,
- 2847, 10585, 3050,
- 2847, 10585, 3082,
- 2847, 10585, 3138,
- 2847, 10585, 3146,
- 2847, 10585, 3148,
- 2847, 10585, 3150,
- 2847, 10585, 3152,
- 2847, 10585, 3154,
- 2847, 10585, 3178,
- 2847, 10585, 3778,
- 2847, 10585, 3780,
- 2847, 10585, 4068,
- 2847, 10585, 4070,
- 2847, 10585, 4072,
- 2847, 10585, 4074,
- 2847, 10585, 4076,
- 2847, 10585, 4078,
- 2847, 10585, 4080,
- 2847, 10585, 4246,
- 2847, 10585, 4248,
- 2847, 10585, 4250,
- 2847, 10585, 4252,
- 2847, 10585, 4774,
- 2847, 10585, 4776,
- 2847, 10585, 4778,
- 2847, 10585, 4780,
- 2847, 10585, 4932,
- 2847, 10585, 4934,
- 2847, 10585, 4964,
- 2847, 10585, 4966,
- 2847, 10585, 4968,
- 2847, 10585, 4970,
- 2847, 10585, 4972,
- 2847, 10585, 5100,
- 2847, 10585, 5114,
- 2847, 10585, 5136,
- 2847, 10585, 5146,
- 2847, 10585, 5152,
- 2847, 10585, 5154,
- 2847, 10585, 5156,
- 2847, 10585, 5158,
- 2847, 10585, 5160,
- 2847, 10585, 5168,
- 2847, 10585, 5194,
- 2847, 10585, 5204,
- 2847, 10585, 5296,
- 2847, 10585, 5316,
- 2847, 10585, 5678,
- 2847, 10585, 5710,
- 2847, 10585, 5914,
- 2847, 10585, 5930,
- 2847, 10585, 6108,
- 2847, 10585, 6126,
- 2847, 10585, 6274,
- 2847, 10585, 6282,
- 2847, 10585, 6682,
- 2847, 10585, 6684,
- 2847, 10585, 7152,
- 2847, 10585, 7154,
- 2847, 10585, 7223, 150,
- 2847, 10585, 7223, 196,
- 2847, 10585, 7223, 306,
- 2847, 10585, 7223, 364,
- 2847, 10585, 7223, 2554,
- 2847, 10585, 7228,
- 2847, 10585, 7230,
- 2847, 10585, 7232,
- 2847, 10585, 11674,
- 2941, 5758,
- 2972,
- 3055, 5758,
- 3071, 6178,
- 3245, 8774,
- 3264,
- 3285, 8774,
- 3769, 8774,
- 3839, 2812,
- 3849, 428,
- 3871, 5758,
- 3873, 5758,
- 3879, 6689, 2170,
- 3879, 6689, 2540,
- 3879, 6689, 2778,
- 3879, 6689, 4200,
- 3879, 6689, 4214,
- 3879, 6689, 5190,
- 3879, 6689, 6260,
- 3879, 6689, 6722,
- 3879, 6689, 7508,
- 3879, 6689, 7694,
- 3879, 7803, 5759, 16,
- 3879, 7803, 5759, 28,
- 3879, 7803, 5759, 40,
- 3879, 7803, 5759, 58,
- 3879, 7803, 5759, 72,
- 3879, 7803, 5759, 92,
- 3879, 7803, 5759, 168,
- 3879, 7803, 5759, 266,
- 3879, 7803, 5759, 426,
- 3879, 7803, 5759, 590,
- 3879, 8405, 0,
- 3879, 8405, 8,
- 3879, 8405, 16,
- 3879, 8405, 28,
- 3879, 8405, 40,
- 3879, 8405, 72,
- 3879, 8405, 100,
- 3879, 8405, 138,
- 3879, 8405, 216,
- 3879, 8405, 236,
- 3879, 8405, 292,
- 3879, 8405, 306,
- 3879, 8405, 332,
- 3879, 8405, 364,
- 3879, 8405, 392,
- 3879, 8405, 462,
- 3879, 8405, 510,
- 3879, 8405, 524,
- 3879, 8405, 556,
- 3879, 8405, 610,
- 3879, 8405, 652,
- 3879, 8405, 766,
- 3879, 8405, 792,
- 3879, 8405, 884,
- 3879, 8405, 974,
- 3879, 8405, 996,
- 3879, 8405, 1260,
- 3879, 8405, 1512,
- 3879, 8405, 1612,
- 3879, 8405, 1948,
- 3879, 8405, 2030,
- 3879, 8405, 2042,
- 3879, 8405, 2106,
- 3879, 8405, 2212,
- 3879, 8405, 2246,
- 3879, 8405, 2566,
- 3879, 8405, 2678,
- 3879, 8405, 3902,
- 3879, 8405, 5178,
- 3879, 8405, 5182,
- 3879, 8405, 5184,
- 3879, 8405, 6789, 12,
- 3879, 8405, 6789, 20,
- 3879, 8405, 6789, 22,
- 3879, 8405, 6789, 26,
- 3879, 8405, 6789, 30,
- 3879, 8405, 6789, 34,
- 3879, 8405, 6789, 38,
- 3879, 8405, 6789, 48,
- 3879, 8405, 6789, 124,
- 3879, 8405, 6789, 400,
- 3879, 8405, 6789, 542,
- 3879, 10775, 5759, 332,
- 3879, 10775, 5759, 510,
- 3879, 10775, 5759, 622,
- 3879, 10775, 5759, 652,
- 3879, 10775, 5759, 6789, 14,
- 3879, 10775, 5759, 6789, 24,
- 3879, 10775, 5759, 6789, 400,
- 3879, 12133, 6646,
- 3879, 12133, 8153, 6646,
- 3879, 12133, 8732,
- 3879, 12133, 8849, 6646,
- 3961, 5566,
- 3989, 7512,
- 4103, 2091, 6798,
- 4103, 2091, 7396,
- 4103, 2091, 8122,
- 4103, 2091, 8123, 6121, 10489, 10355, 7580,
- 4103, 2091, 9113, 89, 8466,
- 4103, 2091, 9113, 89, 8521, 10572,
- 4103, 2091, 9113, 89, 8521, 10573, 445, 6740,
- 4103, 2091, 9604,
- 4103, 2091, 9605, 445, 6740,
- 4103, 2091, 9750,
- 4103, 2091, 9751, 445, 6740,
- 4107, 5758,
- 4117, 4197, 5878,
- 4117, 5876,
- 4117, 5877, 6121, 8057, 6490,
- 4117, 7443, 10001, 10154,
- 4117, 10716,
- 4153, 8781, 6622,
- 4171, 5758,
- 4201, 1045, 4926,
- 4201, 1045, 12132,
- 4215, 1045, 4926,
- 4215, 1045, 12132,
- 4215, 11907, 9898,
- 4215, 13047, 9898,
- 4215, 13233, 9898,
- 4223, 5836,
- 4223, 6510,
- 4223, 7327, 4676,
- 4228,
- 4260,
- 4269, 4926,
- 4387, 7608,
- 4401, 8774,
- 4423, 9831, 5758,
- 4676,
- 4686,
- 4837, 9615, 5012,
- 4849, 721, 7443, 5876,
- 4849, 721, 7443, 8153, 11378,
- 4849, 731, 11099, 9050,
- 4849, 1809, 11715, 9050,
- 4849, 2171, 8159, 6510,
- 4849, 2171, 9615, 6510,
- 4849, 3713, 601, 7443, 3713, 601, 9326,
- 4849, 3713, 601, 7443, 3713, 4117, 9326,
- 4849, 3713, 4117, 7443, 3713, 601, 9326,
- 4849, 3713, 4117, 7443, 3713, 4117, 9326,
- 4849, 4197, 5878,
- 4849, 4201, 9259, 6510,
- 4849, 4389, 6505, 8056,
- 4849, 4389, 6510,
- 4849, 5876,
- 4849, 6409, 9050,
- 4849, 6409, 9051, 6121, 1044,
- 4849, 6435, 6121, 7593, 8056,
- 4849, 6435, 6121, 9095, 5444,
- 4849, 6505, 10637, 7533, 9050,
- 4849, 6505, 11677, 9050,
- 4849, 6627, 9050,
- 4849, 6627, 9051, 7121, 4530,
- 4849, 6627, 9051, 7773, 4530,
- 4849, 6627, 9051, 8473, 7370,
- 4849, 6792,
- 4849, 7327, 4676,
- 4849, 7443, 6105, 6434,
- 4849, 7443, 6434,
- 4849, 7443, 6435, 6121, 8153, 10677, 8758,
- 4849, 7443, 6435, 6121, 8758,
- 4849, 7443, 6435, 6121, 10677, 8758,
- 4849, 7443, 6435, 9785, 7593, 8056,
- 4849, 7443, 6505, 6434,
- 4849, 7443, 7821, 6434,
- 4849, 7443, 8153, 6434,
- 4849, 7443, 8153, 6435, 6121, 8758,
- 4849, 7443, 8153, 6435, 6121, 10677, 8758,
- 4849, 7443, 12103, 6434,
- 4849, 7509, 9259, 6510,
- 4849, 7695, 9259, 6510,
- 4849, 7695, 10467, 6510,
- 4849, 7821, 6627, 9050,
- 4849, 7821, 8077, 9050,
- 4849, 7821, 8745, 9050,
- 4849, 7821, 10637, 7533, 9050,
- 4849, 7821, 11677, 9050,
- 4849, 7821, 12114,
- 4849, 8077, 9050,
- 4849, 8151, 12877, 9050,
- 4849, 8153, 6409, 9050,
- 4849, 8153, 8933, 6778,
- 4849, 8153, 11195, 4926,
- 4849, 8153, 12114,
- 4849, 8521, 8191, 11793, 9610,
- 4849, 8631, 10371, 9050,
- 4849, 8717, 11195, 4926,
- 4849, 8745, 9050,
- 4849, 8745, 9051, 6121, 5935, 275, 2725, 8076,
- 4849, 8745, 9051, 6121, 5935, 275, 8005, 8076,
- 4849, 8745, 9051, 6121, 7412,
- 4849, 8745, 9051, 6121, 10666,
- 4849, 8745, 9051, 7121, 8076,
- 4849, 8745, 9051, 7773, 8076,
- 4849, 8745, 9051, 10982,
- 4849, 8933, 6778,
- 4849, 9074,
- 4849, 10346,
- 4849, 10493, 753, 10794,
- 4849, 10523, 41, 9050,
- 4849, 10637, 7533, 9050,
- 4849, 10643, 7991, 10677, 760,
- 4849, 10677, 761, 6121, 7412,
- 4849, 10677, 827, 4876,
- 4849, 11793, 9610,
- 4849, 12114,
- 4849, 12115, 7121, 4530,
- 4849, 12115, 7773, 4530,
- 4849, 12115, 10982,
- 4849, 12877, 9050,
- 4849, 13029, 9050,
- 4877, 11228,
- 4877, 12057, 2091, 11049, 2681, 5446,
- 4877, 12057, 6121, 12139, 5403, 7939, 5446,
- 4877, 12057, 6121, 12857, 5403, 7939, 5446,
- 4883, 5758,
- 4895, 3993, 4221, 4849, 8467, 429, 8153, 10676,
- 4895, 4849, 5876,
- 4895, 4849, 7443, 6434,
- 4895, 4849, 7443, 8153, 6434,
- 4895, 7443, 5876,
- 4895, 10016,
- 4895, 11097, 6434,
- 4895, 11097, 6435, 4221, 760,
- 4895, 11097, 8153, 6434,
- 4895, 11097, 8153, 6435, 4221, 760,
- 4895, 11097, 10531, 6434,
- 4895, 11765, 6434,
- 4895, 11765, 6435, 4221, 760,
- 4895, 11765, 8153, 6434,
- 4895, 11765, 8153, 6435, 4221, 760,
- 4895, 11765, 10531, 6434,
- 4923, 721, 8197, 5758,
- 4923, 5758,
- 4923, 6121, 8759, 721, 4923, 721, 8197, 5758,
- 4923, 6121, 8759, 5758,
- 4931, 4926,
- 5003, 5758,
- 5006,
- 5017, 11098,
- 5017, 12472,
- 5050,
- 5131, 5392,
- 5385, 826,
- 5385, 8037, 6505, 5830,
- 5385, 8037, 6622,
- 5385, 8037, 9898,
- 5385, 8037, 13233, 9898,
- 5385, 8762,
- 5385, 10578,
- 5395, 8008,
- 5401, 11891, 4926,
- 5409, 5758,
- 5445, 5758,
- 5445, 5759, 275, 4849, 4389, 8056,
- 5445, 5759, 275, 7443, 4389, 8056,
- 5445, 5759, 275, 10642,
- 5445, 5759, 6121, 1045, 6490,
- 5445, 5759, 6121, 6505, 10642,
- 5445, 5759, 6121, 7593, 8057, 6376,
- 5445, 5759, 6121, 7709, 6376,
- 5445, 5759, 6121, 7709, 6490,
- 5445, 5759, 6121, 11261, 2778,
- 5445, 5759, 6121, 11449, 7909, 6376,
- 5445, 5759, 6377, 8167, 5758,
- 5545, 5758,
- 5551, 275, 6741, 568,
- 5551, 6376,
- 5551, 6741, 568,
- 5551, 7382,
- 5551, 10374,
- 5769, 6104,
- 5781, 8306,
- 5831, 429, 6656,
- 5831, 721, 9964,
- 5831, 8166,
- 5831, 10374,
- 5887, 6704,
- 5909, 6689, 2170,
- 5909, 6689, 2540,
- 5909, 6689, 2778,
- 5909, 6689, 4200,
- 5909, 6689, 4214,
- 5909, 6689, 5190,
- 5909, 6689, 6260,
- 5909, 6689, 6722,
- 5909, 6689, 7508,
- 5909, 6689, 7694,
- 5909, 9971, 8775, 3702,
- 5909, 10759, 29, 722,
- 5909, 10759, 109, 7968,
- 5909, 10759, 151, 988,
- 5909, 10759, 151, 6562,
- 5909, 10759, 209, 196,
- 5909, 10759, 209, 1142,
- 5909, 10759, 247, 1386,
- 5909, 10759, 247, 8518,
- 5909, 10759, 323, 1582,
- 5909, 10759, 351, 4878,
- 5909, 10759, 351, 6582,
- 5909, 10759, 354,
- 5909, 10759, 381, 364,
- 5909, 10759, 413, 416,
- 5909, 10759, 413, 2018,
- 5909, 10759, 481, 2234,
- 5909, 10759, 517, 2448,
- 5909, 10759, 520,
- 5909, 10759, 537, 536,
- 5909, 10759, 537, 2580,
- 5909, 10759, 537, 5614,
- 5909, 10759, 537, 5630,
- 5909, 10759, 569, 2650,
- 5909, 10759, 569, 7344,
- 5909, 10759, 633, 6098,
- 5909, 10759, 661, 3022,
- 5909, 10759, 661, 6212,
- 5909, 10759, 891, 3880,
- 5909, 10759, 891, 3908,
- 5909, 10759, 891, 6566,
- 5909, 10759, 891, 6576,
- 5909, 10759, 1619, 4738,
- 5909, 10759, 1619, 4750,
- 5909, 10759, 1619, 7050,
- 5909, 10759, 1619, 7052,
- 5909, 10759, 1619, 9618,
- 5909, 10759, 1859, 170,
- 5909, 10759, 1859, 2684,
- 5909, 10759, 1859, 2730,
- 5909, 10759, 1859, 9938,
- 5909, 10759, 1859, 10228,
- 5909, 10759, 2039, 2040,
- 5909, 10759, 2219, 5412,
- 5909, 10759, 2219, 7366,
- 5909, 10759, 2219, 9652,
- 5909, 10759, 2685, 5912,
- 5909, 10759, 2685, 7690,
- 5909, 10759, 2685, 7696,
- 5909, 10759, 2685, 8812,
- 5909, 10759, 2685, 9592,
- 5909, 10759, 2685, 11694,
- 5909, 10759, 5637, 0,
- 5909, 10759, 5637, 8,
- 5909, 10759, 5637, 16,
- 5909, 10759, 5637, 28,
- 5909, 10759, 5637, 40,
- 5909, 10759, 5637, 58,
- 5909, 10759, 5637, 66,
- 5909, 10759, 5637, 73, 9446,
- 5909, 10759, 5637, 73, 10312,
- 5909, 10759, 5637, 78,
- 5909, 10759, 5637, 266,
- 5909, 10759, 5637, 590,
- 5909, 10759, 5637, 606,
- 5909, 10759, 5637, 2804,
- 5909, 10759, 8358,
- 5909, 10759, 9290,
- 5909, 10759, 9590,
- 5909, 10759, 10314,
- 5909, 10759, 10358,
- 5909, 10759, 10684,
- 5909, 10759, 11108,
- 5909, 10759, 11152,
- 5909, 10759, 11412,
- 5909, 10759, 12072,
- 5909, 10759, 12362,
- 5927, 7608,
- 5946,
- 5972,
- 6051, 8774,
- 6081, 5017, 11098,
- 6081, 5017, 12472,
- 6105, 3992,
- 6105, 6435, 10441, 10015, 4848,
- 6105, 6435, 10441, 10015, 7442,
- 6107, 1809, 4876,
- 6107, 3992,
- 6107, 4876,
- 6107, 10388,
- 6113, 8781, 6622,
- 6129, 8330,
- 6261, 7825, 7608,
- 6261, 7825, 8330,
- 6261, 7825, 10363, 7608,
- 6261, 7825, 11698,
- 6379, 6408,
- 6379, 7908,
- 6408,
- 6409, 6121, 37, 8318,
- 6409, 6121, 10666,
- 6428,
- 6435, 10441, 10959, 5919, 9131, 11096,
- 6435, 10441, 10959, 5919, 9131, 11764,
- 6435, 10441, 11765, 5919, 9131, 9810,
- 6435, 10441, 11765, 5919, 9131, 10958,
- 6505, 2048,
- 6505, 2587, 6121, 5528,
- 6505, 3949, 5842,
- 6505, 4202,
- 6505, 4215, 9601, 5830,
- 6505, 4849, 10441, 6992,
- 6505, 5013, 8406,
- 6505, 5830,
- 6505, 6081, 7593, 8744,
- 6505, 6571, 4760,
- 6505, 6571, 5404,
- 6505, 6571, 5564,
- 6505, 6571, 7410,
- 6505, 6571, 7996,
- 6505, 6571, 8368,
- 6505, 6907, 5842,
- 6505, 7085, 8056,
- 6505, 7085, 8744,
- 6505, 7121, 4849, 10642,
- 6505, 7121, 7443, 10642,
- 6505, 7443, 10441, 6992,
- 6505, 7547, 7370,
- 6505, 7593, 5830,
- 6505, 7593, 8744,
- 6505, 7593, 9158,
- 6505, 7593, 9438,
- 6505, 7611, 5842,
- 6505, 7773, 4849, 10642,
- 6505, 7773, 7443, 10642,
- 6505, 8006,
- 6505, 8037, 7821, 5830,
- 6505, 8056,
- 6505, 8057, 6121, 2779, 7821, 4112,
- 6505, 8057, 6121, 4117, 6434,
- 6505, 8057, 6121, 7821, 1045, 7442,
- 6505, 8463, 7593, 8744,
- 6505, 8463, 8744,
- 6505, 8463, 9158,
- 6505, 8463, 9438,
- 6505, 8744,
- 6505, 9158,
- 6505, 9159, 5842,
- 6505, 9159, 6121, 4117, 6434,
- 6505, 9159, 7173, 7821, 46,
- 6505, 9338,
- 6505, 9438,
- 6505, 9711, 4178,
- 6505, 10143, 1860,
- 6505, 10143, 4760,
- 6505, 10194,
- 6505, 10420,
- 6505, 10502,
- 6505, 10677, 9264,
- 6505, 10677, 11202,
- 6505, 11036,
- 6505, 11097, 8022,
- 6505, 11202,
- 6505, 11354,
- 6505, 11387, 11205, 8774,
- 6505, 11649, 9264,
- 6505, 11765, 6434,
- 6505, 11765, 8022,
- 6505, 11765, 10716,
- 6505, 12383, 7593, 10642,
- 6505, 12383, 10642,
- 6505, 12931, 7593, 10642,
- 6505, 12931, 10642,
- 6505, 12967, 7593, 10642,
- 6505, 12967, 9602,
- 6505, 12967, 10642,
- 6505, 12984,
- 6505, 13067, 7593, 10642,
- 6505, 13067, 9602,
- 6505, 13067, 10420,
- 6505, 13067, 10642,
- 6509, 8774,
- 6516,
- 6531, 7803, 5759, 16,
- 6531, 7803, 5759, 40,
- 6531, 8405, 0,
- 6531, 8405, 16,
- 6531, 8405, 40,
- 6531, 8405, 100,
- 6531, 8405, 138,
- 6531, 8405, 216,
- 6531, 8405, 236,
- 6531, 8405, 306,
- 6531, 8405, 332,
- 6531, 8405, 364,
- 6531, 8405, 392,
- 6531, 8405, 462,
- 6531, 8405, 510,
- 6531, 8405, 524,
- 6531, 8405, 556,
- 6531, 8405, 622,
- 6531, 8405, 652,
- 6531, 8405, 2030,
- 6542,
- 6543, 11061, 7382,
- 6546,
- 6560,
- 6569, 4926,
- 6597, 8677, 8774,
- 6603, 600,
- 6606,
- 6610,
- 6611, 5758,
- 6611, 8166,
- 6614,
- 6616,
- 6623, 429, 10308,
- 6623, 429, 11068,
- 6627, 9051, 10982,
- 6627, 9437, 444,
- 6627, 9437, 720,
- 6643, 8774,
- 6675, 6741, 568,
- 6689, 2170,
- 6689, 2171, 4223, 5836,
- 6689, 2540,
- 6689, 2541, 4223, 5836,
- 6689, 2778,
- 6689, 2779, 4223, 5836,
- 6689, 4200,
- 6689, 4201, 4223, 5836,
- 6689, 4214,
- 6689, 4215, 4223, 5836,
- 6689, 5190,
- 6689, 5191, 4223, 5836,
- 6689, 6260,
- 6689, 6722,
- 6689, 6723, 4223, 5836,
- 6689, 7508,
- 6689, 7509, 4223, 5836,
- 6689, 7694,
- 6689, 7695, 4223, 5836,
- 6695, 4926,
- 6716,
- 6717, 8272,
- 6723, 8737, 9898,
- 6723, 9601, 6505, 5830,
- 6723, 9601, 10433, 5830,
- 6723, 9601, 12141, 6505, 5830,
- 6723, 10425, 10385, 6505, 10194,
- 6723, 13233, 11187, 9898,
- 6725, 8774,
- 6731, 2510,
- 6731, 2511, 6121, 4849, 6435, 6376,
- 6731, 2511, 6121, 7443, 6435, 6376,
- 6731, 2511, 6121, 7593, 8057, 6376,
- 6731, 2511, 6121, 9546,
- 6735, 8774,
- 6741, 569, 115, 11472,
- 6741, 569, 445, 10452,
- 6741, 569, 445, 10574,
- 6741, 569, 445, 11098,
- 6741, 569, 445, 12472,
- 6741, 721, 10411, 568,
- 6745, 569, 2681, 4848,
- 6745, 569, 2681, 7442,
- 6763, 9956,
- 6771, 8774,
- 6791, 9615, 5012,
- 6812,
- 6857, 8774,
- 6875, 7908,
- 6879, 477, 8774,
- 6879, 727, 8798,
- 6879, 1583, 8774,
- 6879, 2171, 4389, 5758,
- 6879, 2171, 4389, 5759, 10707, 4212,
- 6879, 2217, 8774,
- 6879, 2413, 6121, 8759, 8774,
- 6879, 2413, 8774,
- 6879, 2779, 7307, 5758,
- 6879, 2779, 8819, 5758,
- 6879, 3775, 8774,
- 6879, 4201, 7307, 5758,
- 6879, 4215, 7307, 5758,
- 6879, 5375, 5758,
- 6879, 5388,
- 6879, 6197, 5758,
- 6879, 6261, 5758,
- 6879, 6654,
- 6879, 6655, 721, 5388,
- 6879, 6655, 721, 7782,
- 6879, 6655, 721, 12120,
- 6879, 7023, 8774,
- 6879, 7111, 5758,
- 6879, 7121, 9513, 5758,
- 6879, 7398,
- 6879, 7399, 721, 5388,
- 6879, 7399, 721, 7782,
- 6879, 7399, 721, 12120,
- 6879, 7593, 8151, 8427, 7569, 8774,
- 6879, 7593, 8405, 384,
- 6879, 7593, 8405, 416,
- 6879, 7593, 8405, 476,
- 6879, 7593, 8405, 644,
- 6879, 7593, 8405, 888,
- 6879, 7593, 8405, 1128,
- 6879, 7593, 8405, 1129, 6121, 5388,
- 6879, 7593, 8405, 1129, 6121, 5389, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 6654,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 5389, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 7783, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 12120,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 12121, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 6655, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 7398,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 5389, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 7783, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 12120,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 12121, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 7399, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 7724,
- 6879, 7593, 8405, 1129, 6121, 7782,
- 6879, 7593, 8405, 1129, 6121, 7783, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 12120,
- 6879, 7593, 8405, 1129, 6121, 12121, 721, 13036,
- 6879, 7593, 8405, 1129, 6121, 13036,
- 6879, 7593, 8405, 2216,
- 6879, 7593, 8405, 2250,
- 6879, 7593, 8405, 2412,
- 6879, 7593, 8405, 2413, 6121, 6654,
- 6879, 7593, 8405, 2413, 6121, 7398,
- 6879, 7593, 8405, 2490,
- 6879, 7593, 8405, 2522,
- 6879, 7593, 8405, 2658,
- 6879, 7593, 8405, 3774,
- 6879, 7593, 8405, 4408,
- 6879, 7593, 8405, 4614,
- 6879, 7593, 8405, 4615, 6121, 5388,
- 6879, 7593, 8405, 4615, 6121, 6654,
- 6879, 7593, 8405, 4615, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 4615, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 4615, 6121, 6655, 721, 12120,
- 6879, 7593, 8405, 4615, 6121, 7398,
- 6879, 7593, 8405, 4615, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 4615, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 4615, 6121, 7399, 721, 12120,
- 6879, 7593, 8405, 4615, 6121, 7724,
- 6879, 7593, 8405, 4615, 6121, 7782,
- 6879, 7593, 8405, 4615, 6121, 8432,
- 6879, 7593, 8405, 4615, 6121, 8924,
- 6879, 7593, 8405, 4615, 6121, 10808,
- 6879, 7593, 8405, 4615, 6121, 10809, 721, 5388,
- 6879, 7593, 8405, 4615, 6121, 10809, 721, 7724,
- 6879, 7593, 8405, 4615, 6121, 10809, 721, 7782,
- 6879, 7593, 8405, 4615, 6121, 10809, 721, 12120,
- 6879, 7593, 8405, 4615, 6121, 12120,
- 6879, 7593, 8405, 6262,
- 6879, 7593, 8405, 6406,
- 6879, 7593, 8405, 6407, 6121, 5388,
- 6879, 7593, 8405, 6407, 6121, 5389, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 6654,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 5389, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 7783, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 12120,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 12121, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 6655, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 7398,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 5389, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 7783, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 12120,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 12121, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 7399, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 7724,
- 6879, 7593, 8405, 6407, 6121, 7782,
- 6879, 7593, 8405, 6407, 6121, 7783, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 8432,
- 6879, 7593, 8405, 6407, 6121, 8924,
- 6879, 7593, 8405, 6407, 6121, 12120,
- 6879, 7593, 8405, 6407, 6121, 12121, 721, 13036,
- 6879, 7593, 8405, 6407, 6121, 13036,
- 6879, 7593, 8405, 6674,
- 6879, 7593, 8405, 6789, 7568,
- 6879, 7593, 8405, 6824,
- 6879, 7593, 8405, 7022,
- 6879, 7593, 8405, 7062,
- 6879, 7593, 8405, 7080,
- 6879, 7593, 8405, 7316,
- 6879, 7593, 8405, 7317, 6121, 5388,
- 6879, 7593, 8405, 7317, 6121, 5389, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 6654,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 5389, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 7783, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 12120,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 12121, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 6655, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 7398,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 5389, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 7783, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 12120,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 12121, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 7399, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 7724,
- 6879, 7593, 8405, 7317, 6121, 7782,
- 6879, 7593, 8405, 7317, 6121, 7783, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 12120,
- 6879, 7593, 8405, 7317, 6121, 12121, 721, 13036,
- 6879, 7593, 8405, 7317, 6121, 13036,
- 6879, 7593, 8405, 7484,
- 6879, 7593, 8405, 7568,
- 6879, 7593, 8405, 7682,
- 6879, 7593, 8405, 8748,
- 6879, 7593, 8405, 9007, 7062,
- 6879, 7593, 8405, 9007, 7484,
- 6879, 7593, 8405, 9162,
- 6879, 7593, 8405, 9270,
- 6879, 7593, 8405, 9271, 6121, 5388,
- 6879, 7593, 8405, 9271, 6121, 6654,
- 6879, 7593, 8405, 9271, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 9271, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 9271, 6121, 7398,
- 6879, 7593, 8405, 9271, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 9271, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 9271, 6121, 7724,
- 6879, 7593, 8405, 9271, 6121, 7782,
- 6879, 7593, 8405, 9530,
- 6879, 7593, 8405, 9531, 6121, 5388,
- 6879, 7593, 8405, 9531, 6121, 6654,
- 6879, 7593, 8405, 9531, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 9531, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 9531, 6121, 7398,
- 6879, 7593, 8405, 9531, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 9531, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 9531, 6121, 7724,
- 6879, 7593, 8405, 9531, 6121, 7782,
- 6879, 7593, 8405, 9808,
- 6879, 7593, 8405, 9809, 6121, 5388,
- 6879, 7593, 8405, 9809, 6121, 6654,
- 6879, 7593, 8405, 9809, 6121, 6655, 721, 5388,
- 6879, 7593, 8405, 9809, 6121, 6655, 721, 7782,
- 6879, 7593, 8405, 9809, 6121, 6655, 721, 12120,
- 6879, 7593, 8405, 9809, 6121, 7398,
- 6879, 7593, 8405, 9809, 6121, 7399, 721, 5388,
- 6879, 7593, 8405, 9809, 6121, 7399, 721, 7782,
- 6879, 7593, 8405, 9809, 6121, 7399, 721, 12120,
- 6879, 7593, 8405, 9809, 6121, 7724,
- 6879, 7593, 8405, 9809, 6121, 7782,
- 6879, 7593, 8405, 9809, 6121, 8432,
- 6879, 7593, 8405, 9809, 6121, 8924,
- 6879, 7593, 8405, 9809, 6121, 10808,
- 6879, 7593, 8405, 9809, 6121, 10809, 721, 5388,
- 6879, 7593, 8405, 9809, 6121, 10809, 721, 7724,
- 6879, 7593, 8405, 9809, 6121, 10809, 721, 7782,
- 6879, 7593, 8405, 9809, 6121, 10809, 721, 12120,
- 6879, 7593, 8405, 9809, 6121, 12120,
- 6879, 7593, 8405, 11709, 9162,
- 6879, 7593, 10489, 8151, 8427, 7569, 8774,
- 6879, 7593, 10489, 8427, 7569, 8774,
- 6879, 7683, 8774,
- 6879, 7695, 7307, 5758,
- 6879, 7695, 10467, 5758,
- 6879, 7724,
- 6879, 7782,
- 6879, 7801, 10365, 10586,
- 6879, 7801, 10365, 10588,
- 6879, 7801, 10365, 10590,
- 6879, 7801, 10365, 10592,
- 6879, 7801, 10365, 10594,
- 6879, 7801, 10365, 10596,
- 6879, 7801, 10365, 10598,
- 6879, 7801, 10365, 10600,
- 6879, 7801, 10365, 10602,
- 6879, 7801, 10365, 11270,
- 6879, 7801, 10365, 11272,
- 6879, 7801, 10365, 11274,
- 6879, 7801, 10365, 11276,
- 6879, 7801, 10365, 11278,
- 6879, 7801, 10365, 11280,
- 6879, 7801, 10365, 11282,
- 6879, 7801, 10365, 11284,
- 6879, 7801, 10365, 11286,
- 6879, 7801, 10365, 11288,
- 6879, 7801, 10365, 11290,
- 6879, 7801, 10365, 11292,
- 6879, 7801, 10365, 11294,
- 6879, 7801, 10365, 11296,
- 6879, 7801, 10365, 11298,
- 6879, 7801, 10365, 11334,
- 6879, 7801, 10365, 11336,
- 6879, 7801, 10365, 11338,
- 6879, 7801, 10365, 11340,
- 6879, 7801, 10365, 11342,
- 6879, 7941, 5758,
- 6879, 7949, 5758,
- 6879, 8269, 5758,
- 6879, 8405, 3086,
- 6879, 8405, 7062,
- 6879, 8405, 7484,
- 6879, 8405, 7593, 9063, 476,
- 6879, 8405, 7593, 9063, 2250,
- 6879, 8405, 7593, 9063, 2412,
- 6879, 8405, 7593, 9063, 6824,
- 6879, 8405, 7593, 9063, 7080,
- 6879, 8405, 8748,
- 6879, 8405, 9007, 7062,
- 6879, 8405, 9162,
- 6879, 8427, 7569, 8774,
- 6879, 8427, 9271, 8774,
- 6879, 8555, 5758,
- 6879, 8787, 5758,
- 6879, 8941, 5758,
- 6879, 9063, 1583, 8774,
- 6879, 9063, 7683, 8774,
- 6879, 9063, 8151, 8427, 7569, 8774,
- 6879, 9063, 8405, 384,
- 6879, 9063, 8405, 416,
- 6879, 9063, 8405, 476,
- 6879, 9063, 8405, 644,
- 6879, 9063, 8405, 888,
- 6879, 9063, 8405, 1128,
- 6879, 9063, 8405, 1129, 6121, 5388,
- 6879, 9063, 8405, 1129, 6121, 6654,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 5389, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 7783, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 12120,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 12121, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 6655, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 7398,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 5388,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 5389, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 7782,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 7783, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 12120,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 12121, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 7399, 721, 13064,
- 6879, 9063, 8405, 1129, 6121, 7724,
- 6879, 9063, 8405, 1129, 6121, 7782,
- 6879, 9063, 8405, 1129, 6121, 13064,
- 6879, 9063, 8405, 2216,
- 6879, 9063, 8405, 2250,
- 6879, 9063, 8405, 2412,
- 6879, 9063, 8405, 2413, 6121, 6654,
- 6879, 9063, 8405, 2490,
- 6879, 9063, 8405, 2522,
- 6879, 9063, 8405, 2658,
- 6879, 9063, 8405, 3774,
- 6879, 9063, 8405, 4408,
- 6879, 9063, 8405, 4614,
- 6879, 9063, 8405, 4615, 6121, 5388,
- 6879, 9063, 8405, 4615, 6121, 6654,
- 6879, 9063, 8405, 4615, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 4615, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 4615, 6121, 6655, 721, 12120,
- 6879, 9063, 8405, 4615, 6121, 7398,
- 6879, 9063, 8405, 4615, 6121, 7399, 721, 5388,
- 6879, 9063, 8405, 4615, 6121, 7399, 721, 7782,
- 6879, 9063, 8405, 4615, 6121, 7399, 721, 12120,
- 6879, 9063, 8405, 4615, 6121, 7724,
- 6879, 9063, 8405, 4615, 6121, 7782,
- 6879, 9063, 8405, 4615, 6121, 8432,
- 6879, 9063, 8405, 4615, 6121, 8924,
- 6879, 9063, 8405, 4615, 6121, 10808,
- 6879, 9063, 8405, 6262,
- 6879, 9063, 8405, 6406,
- 6879, 9063, 8405, 6407, 6121, 5388,
- 6879, 9063, 8405, 6407, 6121, 6654,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 5389, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 7783, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 12120,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 12121, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 6655, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 7398,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 5388,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 5389, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 7782,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 7783, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 12120,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 12121, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 7399, 721, 13064,
- 6879, 9063, 8405, 6407, 6121, 7724,
- 6879, 9063, 8405, 6407, 6121, 7782,
- 6879, 9063, 8405, 6407, 6121, 8432,
- 6879, 9063, 8405, 6407, 6121, 8924,
- 6879, 9063, 8405, 6407, 6121, 13064,
- 6879, 9063, 8405, 6674,
- 6879, 9063, 8405, 6824,
- 6879, 9063, 8405, 7022,
- 6879, 9063, 8405, 7080,
- 6879, 9063, 8405, 7316,
- 6879, 9063, 8405, 7317, 6121, 5388,
- 6879, 9063, 8405, 7317, 6121, 6654,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 5389, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 7783, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 12120,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 12121, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 6655, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 7398,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 5388,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 5389, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 7782,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 7783, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 12120,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 12121, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 7399, 721, 13064,
- 6879, 9063, 8405, 7317, 6121, 7724,
- 6879, 9063, 8405, 7317, 6121, 7782,
- 6879, 9063, 8405, 7317, 6121, 13064,
- 6879, 9063, 8405, 7568,
- 6879, 9063, 8405, 7682,
- 6879, 9063, 8405, 9007, 7484,
- 6879, 9063, 8405, 9270,
- 6879, 9063, 8405, 9271, 6121, 5388,
- 6879, 9063, 8405, 9271, 6121, 6654,
- 6879, 9063, 8405, 9271, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 9271, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 9271, 6121, 7398,
- 6879, 9063, 8405, 9271, 6121, 7399, 721, 5388,
- 6879, 9063, 8405, 9271, 6121, 7399, 721, 7782,
- 6879, 9063, 8405, 9271, 6121, 7724,
- 6879, 9063, 8405, 9271, 6121, 7782,
- 6879, 9063, 8405, 9530,
- 6879, 9063, 8405, 9531, 6121, 5388,
- 6879, 9063, 8405, 9531, 6121, 6654,
- 6879, 9063, 8405, 9531, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 9531, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 9531, 6121, 7398,
- 6879, 9063, 8405, 9531, 6121, 7399, 721, 5388,
- 6879, 9063, 8405, 9531, 6121, 7399, 721, 7782,
- 6879, 9063, 8405, 9531, 6121, 7724,
- 6879, 9063, 8405, 9531, 6121, 7782,
- 6879, 9063, 8405, 9808,
- 6879, 9063, 8405, 9809, 6121, 5388,
- 6879, 9063, 8405, 9809, 6121, 6654,
- 6879, 9063, 8405, 9809, 6121, 6655, 721, 5388,
- 6879, 9063, 8405, 9809, 6121, 6655, 721, 7782,
- 6879, 9063, 8405, 9809, 6121, 6655, 721, 12120,
- 6879, 9063, 8405, 9809, 6121, 7724,
- 6879, 9063, 8405, 9809, 6121, 7782,
- 6879, 9063, 8405, 9809, 6121, 8432,
- 6879, 9063, 8405, 9809, 6121, 8924,
- 6879, 9063, 8405, 9809, 6121, 10808,
- 6879, 9063, 8405, 11709, 9162,
- 6879, 9063, 8427, 7569, 8774,
- 6879, 9063, 10489, 8151, 8427, 7569, 8774,
- 6879, 9063, 10489, 8427, 7569, 8774,
- 6879, 9245, 5758,
- 6879, 9412,
- 6879, 9419, 3717, 5758,
- 6879, 9483, 8396,
- 6879, 9513, 5758,
- 6879, 9809, 6121, 4531, 8774,
- 6879, 9809, 6121, 6379, 721, 4531, 8774,
- 6879, 9809, 6121, 10805, 721, 4531, 8774,
- 6879, 10331, 5758,
- 6879, 10469, 4926,
- 6879, 10489, 8427, 9271, 8774,
- 6879, 10651, 3717, 5758,
- 6879, 10809, 721, 5388,
- 6879, 10809, 721, 7782,
- 6879, 10809, 721, 12120,
- 6879, 10809, 7724,
- 6879, 11261, 7593, 8405, 888,
- 6879, 11261, 7593, 8405, 2216,
- 6879, 11261, 7593, 8405, 2412,
- 6879, 11261, 7593, 8405, 3774,
- 6879, 11261, 7593, 8405, 6824,
- 6879, 11405, 6443, 2171, 4388,
- 6879, 11405, 6443, 2171, 9244,
- 6879, 11405, 6443, 2171, 9345, 9736,
- 6879, 11405, 6443, 2171, 9345, 9764,
- 6879, 11405, 6443, 2171, 9614,
- 6879, 11405, 6443, 2171, 10625, 9736,
- 6879, 11405, 6443, 2171, 10625, 9764,
- 6879, 11405, 6443, 2671, 5010,
- 6879, 11405, 6443, 2671, 9736,
- 6879, 11405, 6443, 2671, 9764,
- 6879, 11405, 6443, 2671, 10625, 9736,
- 6879, 11405, 6443, 4200,
- 6879, 11405, 6443, 4201, 9344,
- 6879, 11405, 6443, 4201, 9345, 9736,
- 6879, 11405, 6443, 4201, 9345, 9764,
- 6879, 11405, 6443, 4201, 9736,
- 6879, 11405, 6443, 4201, 9764,
- 6879, 11405, 6443, 4201, 10624,
- 6879, 11405, 6443, 4201, 10625, 9764,
- 6879, 11405, 6443, 6784,
- 6879, 11405, 6443, 6785, 9736,
- 6879, 11405, 6443, 6785, 9764,
- 6879, 11405, 6443, 6785, 10624,
- 6879, 11405, 6443, 6785, 10625, 9736,
- 6879, 11405, 8505, 4201, 9344,
- 6879, 11405, 9153, 4201, 5010,
- 6879, 11405, 9337, 2171, 10436,
- 6879, 11405, 9975, 2779, 10138,
- 6879, 11405, 10549, 6785, 5010,
- 6879, 11405, 10621, 2170,
- 6879, 11405, 10621, 2171, 9344,
- 6879, 11405, 10621, 2171, 10624,
- 6879, 11405, 10621, 2670,
- 6879, 11405, 10621, 2778,
- 6879, 11405, 10621, 4201, 9344,
- 6879, 11405, 10621, 4201, 10624,
- 6879, 11405, 10621, 6784,
- 6879, 11405, 10621, 7695, 9344,
- 6879, 11405, 10621, 8820,
- 6879, 11405, 10755, 4201, 9344,
- 6879, 11405, 11117, 2670,
- 6879, 11405, 11617, 2778,
- 6879, 11405, 11617, 2779, 10138,
- 6879, 11405, 11617, 4201, 9344,
- 6879, 11405, 11645, 2170,
- 6879, 11405, 11645, 2670,
- 6879, 11405, 11645, 6784,
- 6879, 11405, 11865, 2670,
- 6879, 11405, 11865, 2671, 10707, 4212,
- 6879, 11405, 11865, 4200,
- 6879, 11405, 11865, 4201, 9344,
- 6879, 11405, 11865, 6784,
- 6879, 11405, 11865, 6785, 10707, 4212,
- 6879, 12120,
- 6879, 12489, 10365, 10586,
- 6879, 12489, 10365, 10588,
- 6879, 12489, 10365, 10592,
- 6879, 12489, 10365, 10594,
- 6879, 12489, 10365, 10598,
- 6879, 12489, 10365, 10600,
- 6879, 12489, 10365, 11272,
- 6879, 12489, 10365, 11274,
- 6879, 12489, 10365, 11276,
- 6879, 12489, 10365, 11278,
- 6879, 12489, 10365, 11284,
- 6879, 12489, 10365, 11286,
- 6879, 12489, 10365, 11288,
- 6879, 12489, 10365, 11296,
- 6879, 12489, 10365, 11298,
- 6879, 12489, 10365, 11300,
- 6879, 12489, 10365, 11302,
- 6879, 12489, 10365, 11304,
- 6879, 12489, 10365, 11306,
- 6879, 12489, 10365, 11308,
- 6879, 12489, 10365, 11310,
- 6879, 12489, 10365, 11312,
- 6879, 12489, 10365, 11314,
- 6879, 12489, 10365, 11316,
- 6879, 12489, 10365, 11318,
- 6879, 12489, 10365, 11320,
- 6879, 12489, 10365, 11322,
- 6879, 12489, 10365, 11324,
- 6879, 12489, 10365, 11326,
- 6879, 12489, 10365, 11328,
- 6879, 12489, 10365, 11330,
- 6879, 12489, 10365, 11332,
- 6879, 12489, 10365, 11334,
- 6879, 12489, 10365, 11336,
- 6879, 12489, 10365, 11338,
- 6879, 12489, 10365, 11340,
- 6879, 12489, 10365, 11342,
- 6879, 13036,
- 6879, 13064,
- 6909, 4215, 13047, 9898,
- 6909, 5385, 8037, 6622,
- 6909, 6505, 6906,
- 6909, 6505, 8083, 9811, 721, 11765, 6434,
- 6909, 6505, 8083, 10959, 721, 11765, 6434,
- 6909, 6569, 4926,
- 6909, 6723, 9601, 12141, 6505, 5830,
- 6909, 6723, 13233, 11187, 9898,
- 6909, 6879, 6622,
- 6909, 6907, 12017, 4927, 10380,
- 6909, 7121, 13069, 7821, 11765, 6434,
- 6909, 7271, 4153, 6434,
- 6909, 7607, 4153, 6434,
- 6909, 7773, 13069, 7821, 11765, 6434,
- 6909, 7971, 46,
- 6909, 8097, 13235, 11765, 6434,
- 6909, 8153, 6617, 11195, 4927, 10380,
- 6909, 8153, 8869, 6617, 11195, 4927, 10380,
- 6909, 8717, 6617, 11195, 4927, 10380,
- 6909, 8717, 8869, 6617, 11195, 4927, 10380,
- 6909, 9085, 11242,
- 6909, 9722,
- 6909, 9898,
- 6909, 10385, 6505, 5830,
- 6909, 10677, 760,
- 6909, 11765, 6434,
- 6909, 12017, 4927, 10380,
- 6909, 12387, 11765, 6434,
- 6909, 12539, 11765, 6434,
- 6909, 12895, 11765, 6434,
- 6909, 12967, 6409, 9051, 10380,
- 6909, 12967, 6409, 11195, 4927, 10380,
- 6909, 13061, 46,
- 6909, 13067, 6409, 9051, 10380,
- 6909, 13067, 6409, 11195, 4927, 10380,
- 6909, 13191, 7271, 4153, 6434,
- 6909, 13191, 7607, 4153, 6434,
- 6909, 13191, 11765, 6434,
- 6909, 13199, 6505, 11765, 6434,
- 6909, 13233, 9898,
- 6909, 13233, 10433, 9898,
- 6909, 13235, 11765, 6434,
- 6909, 13351, 11765, 6434,
- 6954,
- 6989, 428,
- 6989, 429, 445, 12903, 6741, 568,
- 7031, 341, 5759, 940,
- 7031, 341, 5759, 5740,
- 7031, 341, 5965, 6540,
- 7031, 341, 5965, 6541, 8596,
- 7031, 341, 5965, 8596,
- 7031, 341, 6689, 2170,
- 7031, 341, 6689, 2540,
- 7031, 341, 6689, 2778,
- 7031, 341, 6689, 4200,
- 7031, 341, 6689, 4214,
- 7031, 341, 6689, 5190,
- 7031, 341, 6689, 6260,
- 7031, 341, 6689, 6722,
- 7031, 341, 6689, 7508,
- 7031, 341, 6689, 7694,
- 7031, 341, 7803, 8,
- 7031, 341, 7803, 28,
- 7031, 341, 7803, 40,
- 7031, 341, 7803, 162,
- 7031, 341, 7803, 590,
- 7031, 341, 8405, 0,
- 7031, 341, 8405, 16,
- 7031, 341, 8405, 100,
- 7031, 341, 8405, 116,
- 7031, 341, 8405, 138,
- 7031, 341, 8405, 216,
- 7031, 341, 8405, 236,
- 7031, 341, 8405, 306,
- 7031, 341, 8405, 332,
- 7031, 341, 8405, 364,
- 7031, 341, 8405, 392,
- 7031, 341, 8405, 426,
- 7031, 341, 8405, 440,
- 7031, 341, 8405, 462,
- 7031, 341, 8405, 510,
- 7031, 341, 8405, 524,
- 7031, 341, 8405, 556,
- 7031, 341, 8405, 610,
- 7031, 341, 8405, 622,
- 7031, 341, 8405, 652,
- 7031, 341, 8405, 670,
- 7031, 341, 8405, 1434,
- 7031, 341, 8405, 1612,
- 7031, 341, 8405, 2030,
- 7031, 341, 8405, 2126,
- 7031, 341, 8405, 2212,
- 7031, 341, 8405, 2516,
- 7031, 341, 8405, 2678,
- 7049, 5759, 1763, 2722,
- 7049, 5759, 4740,
- 7049, 5759, 6388,
- 7049, 5759, 6608,
- 7049, 5759, 7450,
- 7049, 5759, 7976,
- 7049, 5759, 7992,
- 7049, 5759, 8025, 2227, 4794,
- 7049, 5759, 8583, 5014,
- 7049, 5759, 8663, 8666,
- 7049, 5759, 8918,
- 7049, 5759, 9382,
- 7049, 5759, 9408,
- 7049, 5759, 9506,
- 7049, 5759, 9624,
- 7049, 5759, 9794,
- 7049, 5759, 9902,
- 7049, 5759, 11438,
- 7049, 5759, 11440,
- 7049, 5759, 12088,
- 7049, 5759, 12366,
- 7049, 5759, 12906,
- 7049, 5759, 13038,
- 7049, 6689, 2170,
- 7049, 6689, 2540,
- 7049, 6689, 2778,
- 7049, 6689, 4200,
- 7049, 6689, 4214,
- 7049, 6689, 5190,
- 7049, 6689, 6260,
- 7049, 6689, 6722,
- 7049, 6689, 7508,
- 7049, 6689, 7694,
- 7049, 7803, 5759, 8,
- 7049, 7803, 5759, 16,
- 7049, 7803, 5759, 40,
- 7049, 7803, 5759, 48,
- 7049, 7803, 5759, 58,
- 7049, 7803, 5759, 66,
- 7049, 7803, 5759, 72,
- 7049, 7803, 5759, 92,
- 7049, 7803, 5759, 258,
- 7049, 7803, 5759, 266,
- 7049, 7803, 5759, 426,
- 7049, 7803, 5759, 440,
- 7049, 7803, 5759, 582,
- 7049, 7803, 5759, 606,
- 7049, 7803, 5759, 652,
- 7049, 7803, 5759, 668,
- 7049, 7803, 10259, 58,
- 7049, 7803, 10259, 86,
- 7049, 8405, 100,
- 7049, 8405, 116,
- 7049, 8405, 130,
- 7049, 8405, 138,
- 7049, 8405, 150,
- 7049, 8405, 236,
- 7049, 8405, 306,
- 7049, 8405, 322,
- 7049, 8405, 332,
- 7049, 8405, 350,
- 7049, 8405, 380,
- 7049, 8405, 412,
- 7049, 8405, 480,
- 7049, 8405, 496,
- 7049, 8405, 516,
- 7049, 8405, 524,
- 7049, 8405, 556,
- 7049, 8405, 568,
- 7049, 8405, 616,
- 7049, 8405, 660,
- 7049, 8405, 884,
- 7049, 8405, 890,
- 7049, 8405, 1612,
- 7049, 8405, 1618,
- 7049, 8405, 2038,
- 7049, 8405, 2080,
- 7049, 8405, 2134,
- 7049, 8405, 2212,
- 7049, 8405, 2218,
- 7049, 8405, 2516,
- 7049, 8405, 2572,
- 7049, 8405, 2678,
- 7049, 8405, 2684,
- 7049, 8405, 5994,
- 7049, 8405, 6000,
- 7049, 8775, 783, 2426,
- 7049, 8775, 783, 4768,
- 7049, 8775, 965, 2426,
- 7049, 8775, 965, 4768,
- 7049, 8775, 1763, 6441, 782,
- 7049, 8775, 1763, 6441, 2226,
- 7049, 8775, 1763, 6441, 2552,
- 7049, 8775, 1763, 6441, 3814,
- 7049, 8775, 1763, 6441, 5026,
- 7049, 8775, 1763, 6441, 5450,
- 7049, 8775, 1763, 6441, 10446,
- 7049, 8775, 1763, 6441, 10448,
- 7049, 8775, 1763, 6441, 11178,
- 7049, 8775, 1763, 6441, 11180,
- 7049, 8775, 2227, 2426,
- 7049, 8775, 2227, 4768,
- 7049, 8775, 3815, 2426,
- 7049, 8775, 3815, 4768,
- 7049, 8775, 5027, 2426,
- 7049, 8775, 5027, 4768,
- 7049, 8775, 5451, 2426,
- 7049, 8775, 5451, 4768,
- 7049, 8775, 9143, 2426,
- 7049, 8775, 9143, 4768,
- 7049, 8775, 9145, 2426,
- 7049, 8775, 9145, 4768,
- 7049, 8775, 9981, 2426,
- 7049, 8775, 9981, 4768,
- 7049, 8775, 9983, 2426,
- 7049, 8775, 9983, 4768,
- 7049, 8775, 9985, 2426,
- 7049, 8775, 9985, 4768,
- 7049, 8775, 10447, 2426,
- 7049, 8775, 10447, 4768,
- 7049, 8775, 10449, 2426,
- 7049, 8775, 10449, 4768,
- 7049, 8775, 11179, 2426,
- 7049, 8775, 11179, 4768,
- 7049, 8775, 11181, 2426,
- 7049, 8775, 11181, 4768,
- 7049, 8775, 11380,
- 7049, 8775, 11716,
- 7049, 9971, 8775, 5548,
- 7049, 12053, 7803, 360,
- 7049, 12053, 7803, 498,
- 7049, 12053, 7803, 500,
- 7049, 12053, 7803, 506,
- 7049, 12053, 7803, 522,
- 7049, 12053, 7803, 1850,
- 7049, 12053, 7803, 2282,
- 7049, 12053, 7803, 2286,
- 7049, 12053, 7803, 2288,
- 7049, 12053, 7803, 2292,
- 7049, 12053, 7803, 2308,
- 7049, 12053, 7803, 2321, 6031, 2170,
- 7049, 12053, 7803, 2321, 6031, 2778,
- 7049, 12053, 7803, 2334,
- 7049, 12053, 7803, 2344,
- 7049, 12053, 7803, 2478,
- 7049, 12053, 7803, 5506,
- 7085, 601, 5876,
- 7085, 4117, 5876,
- 7085, 4849, 10643, 10374,
- 7085, 8056,
- 7085, 8849, 10677, 761, 10374,
- 7089, 6622,
- 7089, 7593, 8405, 0,
- 7089, 7593, 8405, 1, 6121, 1045, 6376,
- 7089, 7593, 8405, 1, 6121, 1045, 6377, 721, 8432,
- 7089, 7593, 8405, 1, 6121, 1045, 6490,
- 7089, 7593, 8405, 1, 6121, 4531, 6376,
- 7089, 7593, 8405, 1, 6121, 5551, 6376,
- 7089, 7593, 8405, 1, 6121, 5551, 6377, 721, 6378,
- 7089, 7593, 8405, 1, 6121, 5551, 6490,
- 7089, 7593, 8405, 1, 6121, 6378,
- 7089, 7593, 8405, 1, 6121, 6516,
- 7089, 7593, 8405, 1, 6121, 6517, 721, 1045, 6490,
- 7089, 7593, 8405, 1, 6121, 6517, 721, 4531, 6376,
- 7089, 7593, 8405, 1, 6121, 6517, 721, 6378,
- 7089, 7593, 8405, 1, 6121, 6517, 721, 6874,
- 7089, 7593, 8405, 1, 6121, 6517, 721, 7708,
- 7089, 7593, 8405, 1, 6121, 6546,
- 7089, 7593, 8405, 1, 6121, 6874,
- 7089, 7593, 8405, 1, 6121, 7443, 4389, 5550,
- 7089, 7593, 8405, 1, 6121, 7708,
- 7089, 7593, 8405, 1, 6121, 8153, 6874,
- 7089, 7593, 8405, 1, 6121, 8432,
- 7089, 7593, 8405, 1, 6121, 8534,
- 7089, 7593, 8405, 1, 6121, 8758,
- 7089, 7593, 8405, 1, 6121, 10267, 6516,
- 7089, 7593, 8405, 1, 6121, 10804,
- 7089, 7593, 8405, 1, 6121, 10805, 721, 8432,
- 7089, 7593, 8405, 1, 6121, 11215, 4530,
- 7089, 7593, 8405, 1, 6121, 11448,
- 7089, 7593, 8405, 1, 6121, 11449, 721, 1045, 6490,
- 7089, 7593, 8405, 1, 6121, 11449, 721, 4531, 6376,
- 7089, 7593, 8405, 1, 6121, 11449, 721, 6378,
- 7089, 7593, 8405, 1, 6121, 11449, 721, 6874,
- 7089, 7593, 8405, 1, 6121, 11449, 721, 7708,
- 7089, 7593, 8405, 2,
- 7089, 7593, 8405, 3, 6121, 1045, 6376,
- 7089, 7593, 8405, 3, 6121, 1045, 6490,
- 7089, 7593, 8405, 3, 6121, 4530,
- 7089, 7593, 8405, 3, 6121, 4877, 6490,
- 7089, 7593, 8405, 3, 6121, 8473, 7708,
- 7089, 7593, 8405, 3, 6121, 8758,
- 7089, 7593, 8405, 3, 6121, 8846,
- 7089, 7593, 8405, 3, 6121, 9553, 4530,
- 7089, 7593, 8405, 4,
- 7089, 7593, 8405, 5, 6121, 1045, 6376,
- 7089, 7593, 8405, 5, 6121, 3966,
- 7089, 7593, 8405, 5, 6121, 4530,
- 7089, 7593, 8405, 5, 6121, 6378,
- 7089, 7593, 8405, 5, 6121, 6546,
- 7089, 7593, 8405, 5, 6121, 8758,
- 7089, 7593, 8405, 5, 6121, 9072,
- 7089, 7593, 8405, 5, 6121, 9073, 721, 6378,
- 7089, 7593, 8405, 5, 6121, 11448,
- 7089, 7593, 8405, 6,
- 7089, 7593, 8405, 7, 6121, 1045, 6376,
- 7089, 7593, 8405, 7, 6121, 1045, 6490,
- 7089, 7593, 8405, 7, 6121, 3966,
- 7089, 7593, 8405, 7, 6121, 4530,
- 7089, 7593, 8405, 7, 6121, 4531, 721, 5878,
- 7089, 7593, 8405, 7, 6121, 4877, 6490,
- 7089, 7593, 8405, 7, 6121, 5878,
- 7089, 7593, 8405, 7, 6121, 6546,
- 7089, 7593, 8405, 7, 6121, 8473, 7708,
- 7089, 7593, 8405, 7, 6121, 8758,
- 7089, 7593, 8405, 7, 6121, 8846,
- 7089, 7593, 8405, 7, 6121, 9072,
- 7089, 7593, 8405, 7, 6121, 9553, 4530,
- 7089, 7593, 8405, 7, 6121, 11449, 6490,
- 7089, 7593, 8405, 8,
- 7089, 7593, 8405, 9, 6121, 1045, 6376,
- 7089, 7593, 8405, 9, 6121, 1045, 6490,
- 7089, 7593, 8405, 9, 6121, 4531, 6376,
- 7089, 7593, 8405, 9, 6121, 6378,
- 7089, 7593, 8405, 9, 6121, 6516,
- 7089, 7593, 8405, 9, 6121, 6546,
- 7089, 7593, 8405, 9, 6121, 6874,
- 7089, 7593, 8405, 9, 6121, 7272,
- 7089, 7593, 8405, 9, 6121, 7708,
- 7089, 7593, 8405, 9, 6121, 7709, 6490,
- 7089, 7593, 8405, 9, 6121, 8153, 6874,
- 7089, 7593, 8405, 9, 6121, 8432,
- 7089, 7593, 8405, 9, 6121, 8433, 721, 6378,
- 7089, 7593, 8405, 9, 6121, 8433, 721, 6874,
- 7089, 7593, 8405, 9, 6121, 8534,
- 7089, 7593, 8405, 9, 6121, 8758,
- 7089, 7593, 8405, 9, 6121, 9072,
- 7089, 7593, 8405, 9, 6121, 9073, 721, 6516,
- 7089, 7593, 8405, 9, 6121, 10267, 6516,
- 7089, 7593, 8405, 9, 6121, 10804,
- 7089, 7593, 8405, 9, 6121, 11215, 4530,
- 7089, 7593, 8405, 9, 6121, 11448,
- 7089, 7593, 8405, 9, 6121, 11449, 721, 1045, 6490,
- 7089, 7593, 8405, 9, 6121, 11449, 721, 4531, 6376,
- 7089, 7593, 8405, 9, 6121, 11449, 721, 6378,
- 7089, 7593, 8405, 9, 6121, 11449, 721, 6874,
- 7089, 7593, 8405, 9, 6121, 11449, 721, 7708,
- 7089, 7593, 8405, 9, 6121, 11449, 6490,
- 7089, 7593, 8405, 10,
- 7089, 7593, 8405, 11, 6121, 1045, 6376,
- 7089, 7593, 8405, 11, 6121, 4530,
- 7089, 7593, 8405, 11, 6121, 8473, 7708,
- 7089, 7593, 8405, 11, 6121, 9553, 4530,
- 7089, 7593, 8405, 12,
- 7089, 7593, 8405, 13, 6121, 1045, 6376,
- 7089, 7593, 8405, 13, 6121, 4530,
- 7089, 7593, 8405, 13, 6121, 6378,
- 7089, 7593, 8405, 13, 6121, 6516,
- 7089, 7593, 8405, 13, 6121, 6546,
- 7089, 7593, 8405, 13, 6121, 8432,
- 7089, 7593, 8405, 13, 6121, 8758,
- 7089, 7593, 8405, 13, 6121, 9072,
- 7089, 7593, 8405, 13, 6121, 9553, 4530,
- 7089, 7593, 8405, 13, 6121, 11448,
- 7089, 7593, 8405, 14,
- 7089, 7593, 8405, 15, 6121, 1045, 6376,
- 7089, 7593, 8405, 15, 6121, 1045, 6490,
- 7089, 7593, 8405, 15, 6121, 4530,
- 7089, 7593, 8405, 15, 6121, 4877, 6490,
- 7089, 7593, 8405, 15, 6121, 6517, 6490,
- 7089, 7593, 8405, 15, 6121, 6546,
- 7089, 7593, 8405, 15, 6121, 8758,
- 7089, 7593, 8405, 15, 6121, 9072,
- 7089, 7593, 8405, 15, 6121, 10802,
- 7089, 7593, 8405, 15, 6121, 10804,
- 7089, 7593, 8405, 15, 6121, 11448,
- 7089, 7593, 8405, 16,
- 7089, 7593, 8405, 17, 6121, 1045, 6490,
- 7089, 7593, 8405, 17, 6121, 4531, 6376,
- 7089, 7593, 8405, 17, 6121, 6378,
- 7089, 7593, 8405, 17, 6121, 6516,
- 7089, 7593, 8405, 17, 6121, 6546,
- 7089, 7593, 8405, 17, 6121, 6874,
- 7089, 7593, 8405, 17, 6121, 7708,
- 7089, 7593, 8405, 17, 6121, 7709, 6490,
- 7089, 7593, 8405, 17, 6121, 8153, 6874,
- 7089, 7593, 8405, 17, 6121, 8432,
- 7089, 7593, 8405, 17, 6121, 8534,
- 7089, 7593, 8405, 17, 6121, 8758,
- 7089, 7593, 8405, 17, 6121, 10267, 6516,
- 7089, 7593, 8405, 17, 6121, 10804,
- 7089, 7593, 8405, 17, 6121, 10805, 721, 6378,
- 7089, 7593, 8405, 17, 6121, 11215, 4530,
- 7089, 7593, 8405, 17, 6121, 11448,
- 7089, 7593, 8405, 18,
- 7089, 7593, 8405, 19, 6121, 6546,
- 7089, 7593, 8405, 19, 6121, 8758,
- 7089, 7593, 8405, 19, 6121, 11448,
- 7089, 7593, 8405, 19, 6121, 12426,
- 7089, 7593, 8405, 20,
- 7089, 7593, 8405, 21, 6121, 1045, 6490,
- 7089, 7593, 8405, 21, 6121, 4530,
- 7089, 7593, 8405, 21, 6121, 4877, 6490,
- 7089, 7593, 8405, 21, 6121, 6378,
- 7089, 7593, 8405, 21, 6121, 6546,
- 7089, 7593, 8405, 21, 6121, 8758,
- 7089, 7593, 8405, 21, 6121, 8759, 721, 10001, 8758,
- 7089, 7593, 8405, 21, 6121, 9072,
- 7089, 7593, 8405, 21, 6121, 9553, 4530,
- 7089, 7593, 8405, 21, 6121, 10001, 8758,
- 7089, 7593, 8405, 21, 6121, 10802,
- 7089, 7593, 8405, 22,
- 7089, 7593, 8405, 23, 6121, 760,
- 7089, 7593, 8405, 23, 6121, 1045, 6490,
- 7089, 7593, 8405, 23, 6121, 1045, 6491, 721, 8432,
- 7089, 7593, 8405, 23, 6121, 3770,
- 7089, 7593, 8405, 23, 6121, 3966,
- 7089, 7593, 8405, 23, 6121, 4423, 8758,
- 7089, 7593, 8405, 23, 6121, 4877, 6490,
- 7089, 7593, 8405, 23, 6121, 6378,
- 7089, 7593, 8405, 23, 6121, 6546,
- 7089, 7593, 8405, 23, 6121, 8153, 760,
- 7089, 7593, 8405, 23, 6121, 8473, 1044,
- 7089, 7593, 8405, 23, 6121, 8473, 7708,
- 7089, 7593, 8405, 23, 6121, 8758,
- 7089, 7593, 8405, 23, 6121, 9072,
- 7089, 7593, 8405, 23, 6121, 9553, 4530,
- 7089, 7593, 8405, 23, 6121, 11215, 4530,
- 7089, 7593, 8405, 23, 6121, 11449, 6490,
- 7089, 7593, 8405, 24,
- 7089, 7593, 8405, 25, 6121, 1045, 6376,
- 7089, 7593, 8405, 25, 6121, 1045, 6490,
- 7089, 7593, 8405, 25, 6121, 4530,
- 7089, 7593, 8405, 25, 6121, 6378,
- 7089, 7593, 8405, 25, 6121, 8473, 7708,
- 7089, 7593, 8405, 25, 6121, 9553, 4530,
- 7089, 7593, 8405, 26,
- 7089, 7593, 8405, 27, 6121, 1045, 6376,
- 7089, 7593, 8405, 27, 6121, 1045, 6490,
- 7089, 7593, 8405, 27, 6121, 3966,
- 7089, 7593, 8405, 27, 6121, 4849, 4530,
- 7089, 7593, 8405, 27, 6121, 4877, 6490,
- 7089, 7593, 8405, 27, 6121, 4895, 7443, 1760,
- 7089, 7593, 8405, 27, 6121, 6378,
- 7089, 7593, 8405, 27, 6121, 6546,
- 7089, 7593, 8405, 27, 6121, 6874,
- 7089, 7593, 8405, 27, 6121, 7708,
- 7089, 7593, 8405, 27, 6121, 8473, 7708,
- 7089, 7593, 8405, 27, 6121, 9072,
- 7089, 7593, 8405, 27, 6121, 9553, 4530,
- 7089, 7593, 8405, 27, 6121, 11215, 4530,
- 7089, 7593, 8405, 27, 6121, 11449, 6490,
- 7089, 7593, 8405, 27, 10451, 115, 11424,
- 7089, 7593, 8405, 28,
- 7089, 7593, 8405, 29, 6121, 1045, 6376,
- 7089, 7593, 8405, 29, 6121, 1045, 6377, 721, 8432,
- 7089, 7593, 8405, 29, 6121, 1045, 6490,
- 7089, 7593, 8405, 29, 6121, 1809, 5551, 8318,
- 7089, 7593, 8405, 29, 6121, 4531, 6376,
- 7089, 7593, 8405, 29, 6121, 4536,
- 7089, 7593, 8405, 29, 6121, 4537, 721, 1045, 6490,
- 7089, 7593, 8405, 29, 6121, 4537, 721, 4531, 6376,
- 7089, 7593, 8405, 29, 6121, 4537, 721, 6378,
- 7089, 7593, 8405, 29, 6121, 4537, 721, 6874,
- 7089, 7593, 8405, 29, 6121, 4537, 721, 7708,
- 7089, 7593, 8405, 29, 6121, 4895, 8759, 9548,
- 7089, 7593, 8405, 29, 6121, 4896,
- 7089, 7593, 8405, 29, 6121, 6378,
- 7089, 7593, 8405, 29, 6121, 6516,
- 7089, 7593, 8405, 29, 6121, 6546,
- 7089, 7593, 8405, 29, 6121, 6874,
- 7089, 7593, 8405, 29, 6121, 7708,
- 7089, 7593, 8405, 29, 6121, 7709, 721, 6378,
- 7089, 7593, 8405, 29, 6121, 7709, 721, 8432,
- 7089, 7593, 8405, 29, 6121, 7709, 721, 10804,
- 7089, 7593, 8405, 29, 6121, 8153, 6378,
- 7089, 7593, 8405, 29, 6121, 8153, 6874,
- 7089, 7593, 8405, 29, 6121, 8432,
- 7089, 7593, 8405, 29, 6121, 8433, 721, 6378,
- 7089, 7593, 8405, 29, 6121, 8433, 721, 6874,
- 7089, 7593, 8405, 29, 6121, 8534,
- 7089, 7593, 8405, 29, 6121, 8535, 721, 8432,
- 7089, 7593, 8405, 29, 6121, 8758,
- 7089, 7593, 8405, 29, 6121, 8759, 721, 6378,
- 7089, 7593, 8405, 29, 6121, 10267, 6516,
- 7089, 7593, 8405, 29, 6121, 10804,
- 7089, 7593, 8405, 29, 6121, 10805, 721, 8432,
- 7089, 7593, 8405, 29, 6121, 11448,
- 7089, 7593, 8405, 29, 6121, 11449, 721, 1045, 6490,
- 7089, 7593, 8405, 29, 6121, 11449, 721, 4531, 6376,
- 7089, 7593, 8405, 29, 6121, 11449, 721, 6378,
- 7089, 7593, 8405, 29, 6121, 11449, 721, 6874,
- 7089, 7593, 8405, 29, 6121, 11449, 721, 7708,
- 7089, 7593, 8405, 30,
- 7089, 7593, 8405, 31, 6121, 1045, 6376,
- 7089, 7593, 8405, 31, 6121, 4530,
- 7089, 7593, 8405, 31, 6121, 6378,
- 7089, 7593, 8405, 31, 6121, 8473, 7708,
- 7089, 7593, 8405, 31, 6121, 8758,
- 7089, 7593, 8405, 31, 6121, 8759, 9785, 10802,
- 7089, 7593, 8405, 31, 6121, 9553, 4530,
- 7089, 7593, 8405, 31, 6121, 10196,
- 7089, 7593, 8405, 31, 6121, 10533, 5878,
- 7089, 7593, 8405, 32,
- 7089, 7593, 8405, 33, 6121, 4530,
- 7089, 7593, 8405, 33, 6121, 4531, 5878,
- 7089, 7593, 8405, 33, 6121, 8759, 9785, 10802,
- 7089, 7593, 8405, 33, 6121, 10001, 8758,
- 7089, 7593, 8405, 34,
- 7089, 7593, 8405, 35, 6121, 1045, 6376,
- 7089, 7593, 8405, 35, 6121, 1045, 6490,
- 7089, 7593, 8405, 35, 6121, 1045, 6491, 721, 8432,
- 7089, 7593, 8405, 35, 6121, 4877, 6490,
- 7089, 7593, 8405, 35, 6121, 4895, 1760,
- 7089, 7593, 8405, 35, 6121, 5878,
- 7089, 7593, 8405, 35, 6121, 6378,
- 7089, 7593, 8405, 35, 6121, 6546,
- 7089, 7593, 8405, 35, 6121, 8153, 6874,
- 7089, 7593, 8405, 35, 6121, 8473, 7708,
- 7089, 7593, 8405, 35, 6121, 8758,
- 7089, 7593, 8405, 35, 6121, 9072,
- 7089, 7593, 8405, 35, 6121, 9553, 4530,
- 7089, 7593, 8405, 35, 6121, 10190,
- 7089, 7593, 8405, 35, 6121, 10191, 721, 8473, 7708,
- 7089, 7593, 8405, 35, 6121, 10267, 6516,
- 7089, 7593, 8405, 35, 9642,
- 7089, 7593, 8405, 36,
- 7089, 7593, 8405, 37, 6121, 1045, 6376,
- 7089, 7593, 8405, 37, 6121, 1045, 6490,
- 7089, 7593, 8405, 37, 6121, 1045, 6491, 721, 1045, 6376,
- 7089, 7593, 8405, 37, 6121, 4530,
- 7089, 7593, 8405, 37, 6121, 6378,
- 7089, 7593, 8405, 37, 6121, 6379, 721, 1045, 6376,
- 7089, 7593, 8405, 37, 6121, 6546,
- 7089, 7593, 8405, 37, 6121, 6547, 721, 1045, 6376,
- 7089, 7593, 8405, 37, 6121, 6617, 6490,
- 7089, 7593, 8405, 37, 6121, 7653, 5878,
- 7089, 7593, 8405, 37, 6121, 8473, 7708,
- 7089, 7593, 8405, 37, 6121, 9072,
- 7089, 7593, 8405, 37, 6121, 9553, 4530,
- 7089, 7593, 8405, 37, 6121, 11448,
- 7089, 7593, 8405, 38,
- 7089, 7593, 8405, 39, 6121, 1045, 6376,
- 7089, 7593, 8405, 39, 6121, 1045, 6490,
- 7089, 7593, 8405, 39, 6121, 3966,
- 7089, 7593, 8405, 39, 6121, 4530,
- 7089, 7593, 8405, 39, 6121, 4877, 6490,
- 7089, 7593, 8405, 39, 6121, 6546,
- 7089, 7593, 8405, 39, 6121, 6617, 6490,
- 7089, 7593, 8405, 39, 6121, 8473, 7708,
- 7089, 7593, 8405, 39, 6121, 8758,
- 7089, 7593, 8405, 39, 6121, 9072,
- 7089, 7593, 8405, 39, 6121, 9553, 4530,
- 7089, 7593, 8405, 39, 6121, 10001, 8758,
- 7089, 7593, 8405, 39, 6121, 10804,
- 7089, 7593, 8405, 39, 6121, 11215, 4530,
- 7089, 7593, 8405, 39, 6121, 11449, 6490,
- 7089, 7593, 8405, 40,
- 7089, 7593, 8405, 41, 760,
- 7089, 7593, 8405, 41, 6121, 1045, 6490,
- 7089, 7593, 8405, 41, 6121, 4531, 6376,
- 7089, 7593, 8405, 41, 6121, 4536,
- 7089, 7593, 8405, 41, 6121, 4537, 721, 1045, 6490,
- 7089, 7593, 8405, 41, 6121, 4537, 721, 4531, 6376,
- 7089, 7593, 8405, 41, 6121, 4537, 721, 6378,
- 7089, 7593, 8405, 41, 6121, 4537, 721, 6874,
- 7089, 7593, 8405, 41, 6121, 4537, 721, 7708,
- 7089, 7593, 8405, 41, 6121, 5551, 6376,
- 7089, 7593, 8405, 41, 6121, 6378,
- 7089, 7593, 8405, 41, 6121, 6516,
- 7089, 7593, 8405, 41, 6121, 6546,
- 7089, 7593, 8405, 41, 6121, 6874,
- 7089, 7593, 8405, 41, 6121, 7708,
- 7089, 7593, 8405, 41, 6121, 7709, 721, 6378,
- 7089, 7593, 8405, 41, 6121, 7709, 6490,
- 7089, 7593, 8405, 41, 6121, 8153, 6378,
- 7089, 7593, 8405, 41, 6121, 8153, 6874,
- 7089, 7593, 8405, 41, 6121, 8432,
- 7089, 7593, 8405, 41, 6121, 8433, 721, 10804,
- 7089, 7593, 8405, 41, 6121, 8534,
- 7089, 7593, 8405, 41, 6121, 10267, 6516,
- 7089, 7593, 8405, 41, 6121, 10804,
- 7089, 7593, 8405, 41, 6121, 10805, 721, 6378,
- 7089, 7593, 8405, 41, 6121, 10805, 721, 6546,
- 7089, 7593, 8405, 41, 6121, 10805, 721, 6874,
- 7089, 7593, 8405, 41, 6121, 10805, 721, 8432,
- 7089, 7593, 8405, 41, 6121, 10805, 6490,
- 7089, 7593, 8405, 41, 6121, 11215, 4530,
- 7089, 7593, 8405, 41, 6121, 11448,
- 7089, 7593, 8405, 41, 6121, 11449, 6490,
- 7089, 7593, 8405, 42,
- 7089, 7593, 8405, 43, 6121, 1045, 6490,
- 7089, 7593, 8405, 43, 6121, 3966,
- 7089, 7593, 8405, 43, 6121, 4530,
- 7089, 7593, 8405, 43, 6121, 7443, 4530,
- 7089, 7593, 8405, 43, 6121, 7708,
- 7089, 7593, 8405, 43, 6121, 9553, 4530,
- 7089, 7593, 8405, 43, 6121, 10001, 8758,
- 7089, 7593, 8405, 44,
- 7089, 7593, 8405, 45, 6121, 1045, 6376,
- 7089, 7593, 8405, 45, 6121, 1045, 6490,
- 7089, 7593, 8405, 45, 6121, 4530,
- 7089, 7593, 8405, 45, 6121, 5551, 6376,
- 7089, 7593, 8405, 45, 6121, 6378,
- 7089, 7593, 8405, 45, 6121, 6874,
- 7089, 7593, 8405, 45, 6121, 10804,
- 7089, 7593, 8405, 45, 6121, 11448,
- 7089, 7593, 8405, 46,
- 7089, 7593, 8405, 47, 6121, 1045, 6376,
- 7089, 7593, 8405, 47, 6121, 9553, 4530,
- 7089, 7593, 8405, 47, 6121, 10804,
- 7089, 7593, 8405, 48,
- 7089, 7593, 8405, 49, 6121, 1045, 6376,
- 7089, 7593, 8405, 49, 6121, 1045, 6490,
- 7089, 7593, 8405, 49, 6121, 4530,
- 7089, 7593, 8405, 49, 6121, 4531, 6376,
- 7089, 7593, 8405, 49, 6121, 4896,
- 7089, 7593, 8405, 49, 6121, 5551, 6376,
- 7089, 7593, 8405, 49, 6121, 6378,
- 7089, 7593, 8405, 49, 6121, 6874,
- 7089, 7593, 8405, 49, 6121, 7708,
- 7089, 7593, 8405, 49, 6121, 8432,
- 7089, 7593, 8405, 49, 6121, 8758,
- 7089, 7593, 8405, 49, 6121, 10804,
- 7089, 7593, 8405, 49, 6121, 11448,
- 7089, 7593, 8405, 50,
- 7089, 7593, 8405, 51, 6121, 1045, 6376,
- 7089, 7593, 8405, 51, 6121, 1045, 6490,
- 7089, 7593, 8405, 51, 6121, 3966,
- 7089, 7593, 8405, 51, 6121, 4530,
- 7089, 7593, 8405, 51, 6121, 4877, 6490,
- 7089, 7593, 8405, 51, 6121, 6378,
- 7089, 7593, 8405, 51, 6121, 6546,
- 7089, 7593, 8405, 51, 6121, 7653, 5878,
- 7089, 7593, 8405, 51, 6121, 8473, 7708,
- 7089, 7593, 8405, 51, 6121, 8758,
- 7089, 7593, 8405, 51, 6121, 9553, 4530,
- 7089, 7593, 8405, 51, 6121, 10802,
- 7089, 7593, 8405, 51, 6121, 11215, 4530,
- 7089, 7593, 8405, 51, 6121, 11448,
- 7089, 7593, 8405, 58,
- 7089, 7593, 8405, 66,
- 7089, 7593, 8405, 67, 6121, 6378,
- 7089, 7593, 8405, 67, 6121, 8432,
- 7089, 7593, 8405, 82,
- 7089, 7593, 8405, 92,
- 7089, 7593, 8405, 94,
- 7089, 7593, 8405, 95, 6121, 11649, 760,
- 7089, 7593, 8405, 98,
- 7089, 7593, 8405, 141, 9164,
- 7089, 7593, 8405, 156,
- 7089, 7593, 8405, 157, 6121, 6546,
- 7089, 7593, 8405, 157, 9164,
- 7089, 7593, 8405, 157, 9165, 6121, 3966,
- 7089, 7593, 8405, 186,
- 7089, 7593, 8405, 252,
- 7089, 7593, 8405, 282,
- 7089, 7593, 8405, 342,
- 7089, 7593, 8405, 353, 9164,
- 7089, 7593, 8405, 363, 9164,
- 7089, 7593, 8405, 406,
- 7089, 7593, 8405, 432,
- 7089, 7593, 8405, 440,
- 7089, 7593, 8405, 450,
- 7089, 7593, 8405, 505, 9164,
- 7089, 7593, 8405, 559, 9165, 6121, 3966,
- 7089, 7593, 8405, 563, 6121, 13018,
- 7089, 7593, 8405, 573, 9164,
- 7089, 7593, 8405, 578,
- 7089, 7593, 8405, 590,
- 7089, 7593, 8405, 594,
- 7089, 7593, 8405, 620,
- 7089, 7593, 8405, 912,
- 7089, 7593, 8405, 1058,
- 7089, 7593, 8405, 1110,
- 7089, 7593, 8405, 1124,
- 7089, 7593, 8405, 1125, 6121, 3966,
- 7089, 7593, 8405, 1125, 6121, 9553, 4530,
- 7089, 7593, 8405, 1125, 6121, 11215, 4530,
- 7089, 7593, 8405, 1130,
- 7089, 7593, 8405, 1138,
- 7089, 7593, 8405, 1139, 6121, 3966,
- 7089, 7593, 8405, 1139, 6121, 5878,
- 7089, 7593, 8405, 1139, 6121, 6546,
- 7089, 7593, 8405, 1139, 6121, 11215, 4530,
- 7089, 7593, 8405, 1139, 10488,
- 7089, 7593, 8405, 1678,
- 7089, 7593, 8405, 1822,
- 7089, 7593, 8405, 1952,
- 7089, 7593, 8405, 2108,
- 7089, 7593, 8405, 2216,
- 7089, 7593, 8405, 2452,
- 7089, 7593, 8405, 2453, 9642,
- 7089, 7593, 8405, 2725, 4389, 28,
- 7089, 7593, 8405, 2760,
- 7089, 7593, 8405, 4065, 9164,
- 7089, 7593, 8405, 4187, 9164,
- 7089, 7593, 8405, 4389, 14,
- 7089, 7593, 8405, 4404,
- 7089, 7593, 8405, 4405, 6121, 4530,
- 7089, 7593, 8405, 4614,
- 7089, 7593, 8405, 4615, 6121, 8758,
- 7089, 7593, 8405, 4854,
- 7089, 7593, 8405, 4895, 36,
- 7089, 7593, 8405, 4895, 37, 6121, 1045, 6376,
- 7089, 7593, 8405, 4895, 37, 6121, 4423, 8758,
- 7089, 7593, 8405, 4895, 37, 6121, 10001, 8758,
- 7089, 7593, 8405, 5385, 8,
- 7089, 7593, 8405, 5385, 9, 6121, 11215, 4530,
- 7089, 7593, 8405, 5385, 28,
- 7089, 7593, 8405, 5385, 29, 6121, 11215, 4530,
- 7089, 7593, 8405, 5527, 4536,
- 7089, 7593, 8405, 5901, 9164,
- 7089, 7593, 8405, 5965, 2540,
- 7089, 7593, 8405, 5965, 2778,
- 7089, 7593, 8405, 5965, 4200,
- 7089, 7593, 8405, 6078,
- 7089, 7593, 8405, 6220,
- 7089, 7593, 8405, 6406,
- 7089, 7593, 8405, 6407, 6121, 11215, 4530,
- 7089, 7593, 8405, 6674,
- 7089, 7593, 8405, 6824,
- 7089, 7593, 8405, 7494,
- 7089, 7593, 8405, 7495, 6121, 4530,
- 7089, 7593, 8405, 7495, 6121, 11215, 4530,
- 7089, 7593, 8405, 7519, 36,
- 7089, 7593, 8405, 7619, 10489, 1124,
- 7089, 7593, 8405, 7692,
- 7089, 7593, 8405, 7693, 6121, 8758,
- 7089, 7593, 8405, 7693, 6121, 8759, 9785, 10802,
- 7089, 7593, 8405, 7981, 28,
- 7089, 7593, 8405, 8005, 4389, 28,
- 7089, 7593, 8405, 8017, 22,
- 7089, 7593, 8405, 8065, 5385, 8,
- 7089, 7593, 8405, 8065, 7316,
- 7089, 7593, 8405, 8065, 10489, 5385, 8,
- 7089, 7593, 8405, 8387, 6121, 8758,
- 7089, 7593, 8405, 8679, 12,
- 7089, 7593, 8405, 8869, 0,
- 7089, 7593, 8405, 8869, 8,
- 7089, 7593, 8405, 8869, 12,
- 7089, 7593, 8405, 8869, 14,
- 7089, 7593, 8405, 8869, 15, 6121, 10190,
- 7089, 7593, 8405, 8869, 15, 6121, 10191, 721, 5878,
- 7089, 7593, 8405, 8869, 16,
- 7089, 7593, 8405, 8869, 20,
- 7089, 7593, 8405, 8869, 22,
- 7089, 7593, 8405, 8869, 24,
- 7089, 7593, 8405, 8869, 25, 6121, 4895, 1760,
- 7089, 7593, 8405, 8869, 34,
- 7089, 7593, 8405, 8869, 35, 6121, 4530,
- 7089, 7593, 8405, 8869, 35, 6121, 4895, 1760,
- 7089, 7593, 8405, 8869, 35, 6121, 5878,
- 7089, 7593, 8405, 8869, 38,
- 7089, 7593, 8405, 8869, 42,
- 7089, 7593, 8405, 8869, 44,
- 7089, 7593, 8405, 8869, 48,
- 7089, 7593, 8405, 8869, 66,
- 7089, 7593, 8405, 8869, 426,
- 7089, 7593, 8405, 8869, 5385, 8,
- 7089, 7593, 8405, 8869, 6406,
- 7089, 7593, 8405, 8869, 6674,
- 7089, 7593, 8405, 8869, 9365, 12,
- 7089, 7593, 8405, 9185, 16,
- 7089, 7593, 8405, 9185, 18,
- 7089, 7593, 8405, 9185, 19, 6121, 8758,
- 7089, 7593, 8405, 9185, 19, 6121, 8759, 721, 4530,
- 7089, 7593, 8405, 9313, 5836,
- 7089, 7593, 8405, 9365, 6,
- 7089, 7593, 8405, 9365, 10,
- 7089, 7593, 8405, 9365, 12,
- 7089, 7593, 8405, 9365, 34,
- 7089, 7593, 8405, 9365, 36,
- 7089, 7593, 8405, 9365, 38,
- 7089, 7593, 8405, 9808,
- 7089, 7593, 8405, 9809, 6121, 8758,
- 7089, 7593, 8405, 10489, 4,
- 7089, 7593, 8405, 10489, 5, 6121, 1044,
- 7089, 7593, 8405, 10489, 8,
- 7089, 7593, 8405, 10489, 35, 6121, 10190,
- 7089, 7593, 8405, 10489, 5385, 8,
- 7089, 7593, 8405, 10489, 5385, 9, 6121, 4530,
- 7089, 7593, 8405, 10489, 5385, 9, 6121, 11215, 4530,
- 7089, 7593, 8405, 10494,
- 7089, 7593, 8405, 10523, 28,
- 7089, 7593, 8405, 10523, 29, 6121, 8758,
- 7089, 7593, 8405, 10523, 40,
- 7089, 7593, 8405, 10523, 5385, 28,
- 7089, 7593, 8405, 10523, 8869, 24,
- 7089, 7593, 8405, 10523, 11941, 40,
- 7089, 7593, 8405, 10609, 2216,
- 7089, 7593, 8405, 10640,
- 7089, 7593, 8405, 10786,
- 7089, 7593, 8405, 10787, 6121, 6616,
- 7089, 7593, 8405, 11879, 50,
- 7089, 7593, 8405, 12507, 42,
- 7089, 7593, 8405, 12507, 344,
- 7089, 7593, 8405, 12935, 710,
- 7089, 7593, 8405, 12935, 3244,
- 7089, 7593, 9063, 8405, 17, 6121, 8758,
- 7089, 7593, 9063, 8405, 41, 6121, 8758,
- 7089, 7593, 10301, 200,
- 7089, 7593, 10301, 202,
- 7089, 7593, 10301, 204,
- 7089, 7593, 10301, 268,
- 7089, 7593, 10301, 426,
- 7089, 7593, 10301, 544,
- 7089, 7593, 10301, 1156,
- 7089, 7593, 10301, 1158,
- 7089, 7593, 10301, 4895, 37, 38,
- 7089, 8405, 662,
- 7089, 8405, 710,
- 7089, 8405, 2779, 6121, 8758,
- 7089, 8405, 6138,
- 7089, 8405, 7593, 9063, 0,
- 7089, 8405, 7593, 9063, 2,
- 7089, 8405, 7593, 9063, 4,
- 7089, 8405, 7593, 9063, 6,
- 7089, 8405, 7593, 9063, 8,
- 7089, 8405, 7593, 9063, 10,
- 7089, 8405, 7593, 9063, 12,
- 7089, 8405, 7593, 9063, 13, 6121, 4530,
- 7089, 8405, 7593, 9063, 14,
- 7089, 8405, 7593, 9063, 16,
- 7089, 8405, 7593, 9063, 18,
- 7089, 8405, 7593, 9063, 20,
- 7089, 8405, 7593, 9063, 22,
- 7089, 8405, 7593, 9063, 23, 6121, 8758,
- 7089, 8405, 7593, 9063, 24,
- 7089, 8405, 7593, 9063, 26,
- 7089, 8405, 7593, 9063, 28,
- 7089, 8405, 7593, 9063, 30,
- 7089, 8405, 7593, 9063, 34,
- 7089, 8405, 7593, 9063, 36,
- 7089, 8405, 7593, 9063, 38,
- 7089, 8405, 7593, 9063, 40,
- 7089, 8405, 7593, 9063, 42,
- 7089, 8405, 7593, 9063, 44,
- 7089, 8405, 7593, 9063, 48,
- 7089, 8405, 7593, 9063, 50,
- 7089, 8405, 7593, 9063, 66,
- 7089, 8405, 7593, 9063, 426,
- 7089, 8405, 7593, 9063, 450,
- 7089, 8405, 7593, 9063, 1130,
- 7089, 8405, 7593, 9063, 1138,
- 7089, 8405, 7593, 9063, 2452,
- 7089, 8405, 7593, 9063, 5385, 28,
- 7089, 8405, 7593, 9063, 7981, 2,
- 7089, 8405, 7593, 9063, 8869, 8,
- 7089, 8405, 7593, 9063, 8869, 34,
- 7089, 8405, 7593, 9063, 10267, 34,
- 7089, 8405, 7593, 9063, 10489, 26,
- 7089, 8405, 7593, 9063, 10489, 34,
- 7089, 8405, 8107, 6598,
- 7089, 8405, 8921, 11089, 9728,
- 7089, 8405, 9313, 5836,
- 7089, 8405, 9313, 5837, 6121, 8758,
- 7089, 8405, 9423, 6598,
- 7089, 8405, 9865, 6598,
- 7089, 8405, 9915, 11720,
- 7089, 8405, 9917, 6598,
- 7089, 8405, 9917, 11720,
- 7089, 8405, 10267, 9313, 5836,
- 7089, 8405, 10267, 9313, 5837, 6121, 8758,
- 7089, 8405, 10489, 1125, 4896,
- 7089, 8405, 10489, 9313, 5837, 6121, 8758,
- 7089, 8405, 11215, 6598,
- 7089, 8405, 11251, 4,
- 7089, 8405, 11723, 8921, 11008,
- 7089, 9063, 8405, 0,
- 7089, 9063, 8405, 1, 6121, 1045, 6376,
- 7089, 9063, 8405, 1, 6121, 1045, 6377, 721, 8432,
- 7089, 9063, 8405, 1, 6121, 1045, 6490,
- 7089, 9063, 8405, 1, 6121, 4531, 6376,
- 7089, 9063, 8405, 1, 6121, 5551, 6376,
- 7089, 9063, 8405, 1, 6121, 5551, 6377, 721, 6378,
- 7089, 9063, 8405, 1, 6121, 5551, 6490,
- 7089, 9063, 8405, 1, 6121, 6378,
- 7089, 9063, 8405, 1, 6121, 6516,
- 7089, 9063, 8405, 1, 6121, 6517, 721, 1045, 6490,
- 7089, 9063, 8405, 1, 6121, 6517, 721, 4531, 6376,
- 7089, 9063, 8405, 1, 6121, 6517, 721, 6378,
- 7089, 9063, 8405, 1, 6121, 6517, 721, 6874,
- 7089, 9063, 8405, 1, 6121, 6517, 721, 7708,
- 7089, 9063, 8405, 1, 6121, 6546,
- 7089, 9063, 8405, 1, 6121, 6874,
- 7089, 9063, 8405, 1, 6121, 7708,
- 7089, 9063, 8405, 1, 6121, 8153, 6874,
- 7089, 9063, 8405, 1, 6121, 8432,
- 7089, 9063, 8405, 1, 6121, 8534,
- 7089, 9063, 8405, 1, 6121, 8758,
- 7089, 9063, 8405, 1, 6121, 10267, 6516,
- 7089, 9063, 8405, 1, 6121, 10804,
- 7089, 9063, 8405, 1, 6121, 10805, 721, 8432,
- 7089, 9063, 8405, 1, 6121, 11448,
- 7089, 9063, 8405, 1, 6121, 11449, 721, 1045, 6490,
- 7089, 9063, 8405, 1, 6121, 11449, 721, 4531, 6376,
- 7089, 9063, 8405, 1, 6121, 11449, 721, 6378,
- 7089, 9063, 8405, 1, 6121, 11449, 721, 6874,
- 7089, 9063, 8405, 1, 6121, 11449, 721, 7708,
- 7089, 9063, 8405, 2,
- 7089, 9063, 8405, 3, 6121, 1045, 6376,
- 7089, 9063, 8405, 3, 6121, 1045, 6490,
- 7089, 9063, 8405, 3, 6121, 4530,
- 7089, 9063, 8405, 3, 6121, 4877, 6490,
- 7089, 9063, 8405, 3, 6121, 8758,
- 7089, 9063, 8405, 3, 6121, 8846,
- 7089, 9063, 8405, 4,
- 7089, 9063, 8405, 5, 6121, 1045, 6376,
- 7089, 9063, 8405, 5, 6121, 4530,
- 7089, 9063, 8405, 5, 6121, 6378,
- 7089, 9063, 8405, 5, 6121, 6546,
- 7089, 9063, 8405, 5, 6121, 8758,
- 7089, 9063, 8405, 5, 6121, 9072,
- 7089, 9063, 8405, 5, 6121, 9073, 721, 6378,
- 7089, 9063, 8405, 5, 6121, 11448,
- 7089, 9063, 8405, 6,
- 7089, 9063, 8405, 7, 6121, 1045, 6376,
- 7089, 9063, 8405, 7, 6121, 1045, 6490,
- 7089, 9063, 8405, 7, 6121, 4530,
- 7089, 9063, 8405, 7, 6121, 4877, 6490,
- 7089, 9063, 8405, 7, 6121, 6546,
- 7089, 9063, 8405, 7, 6121, 7593, 8405, 50,
- 7089, 9063, 8405, 7, 6121, 7593, 8405, 51, 6121, 6546,
- 7089, 9063, 8405, 7, 6121, 8758,
- 7089, 9063, 8405, 7, 6121, 8846,
- 7089, 9063, 8405, 7, 6121, 9072,
- 7089, 9063, 8405, 7, 6121, 11449, 6490,
- 7089, 9063, 8405, 8,
- 7089, 9063, 8405, 9, 6121, 1045, 6376,
- 7089, 9063, 8405, 9, 6121, 1045, 6490,
- 7089, 9063, 8405, 9, 6121, 4531, 6376,
- 7089, 9063, 8405, 9, 6121, 6378,
- 7089, 9063, 8405, 9, 6121, 6516,
- 7089, 9063, 8405, 9, 6121, 6546,
- 7089, 9063, 8405, 9, 6121, 6874,
- 7089, 9063, 8405, 9, 6121, 7708,
- 7089, 9063, 8405, 9, 6121, 7709, 6490,
- 7089, 9063, 8405, 9, 6121, 8153, 6874,
- 7089, 9063, 8405, 9, 6121, 8432,
- 7089, 9063, 8405, 9, 6121, 8433, 721, 6378,
- 7089, 9063, 8405, 9, 6121, 8433, 721, 6874,
- 7089, 9063, 8405, 9, 6121, 8534,
- 7089, 9063, 8405, 9, 6121, 8758,
- 7089, 9063, 8405, 9, 6121, 9072,
- 7089, 9063, 8405, 9, 6121, 9073, 721, 6516,
- 7089, 9063, 8405, 9, 6121, 10267, 6516,
- 7089, 9063, 8405, 9, 6121, 10804,
- 7089, 9063, 8405, 9, 6121, 11448,
- 7089, 9063, 8405, 9, 6121, 11449, 721, 1045, 6490,
- 7089, 9063, 8405, 9, 6121, 11449, 721, 4531, 6376,
- 7089, 9063, 8405, 9, 6121, 11449, 721, 6378,
- 7089, 9063, 8405, 9, 6121, 11449, 721, 6874,
- 7089, 9063, 8405, 9, 6121, 11449, 721, 7708,
- 7089, 9063, 8405, 9, 6121, 11449, 6490,
- 7089, 9063, 8405, 10,
- 7089, 9063, 8405, 11, 6121, 1045, 6376,
- 7089, 9063, 8405, 11, 6121, 4530,
- 7089, 9063, 8405, 12,
- 7089, 9063, 8405, 13, 6121, 1045, 6376,
- 7089, 9063, 8405, 13, 6121, 4530,
- 7089, 9063, 8405, 13, 6121, 6378,
- 7089, 9063, 8405, 13, 6121, 6516,
- 7089, 9063, 8405, 13, 6121, 6546,
- 7089, 9063, 8405, 13, 6121, 8432,
- 7089, 9063, 8405, 13, 6121, 8758,
- 7089, 9063, 8405, 13, 6121, 9072,
- 7089, 9063, 8405, 13, 6121, 11448,
- 7089, 9063, 8405, 14,
- 7089, 9063, 8405, 15, 6121, 1045, 6376,
- 7089, 9063, 8405, 15, 6121, 1045, 6490,
- 7089, 9063, 8405, 15, 6121, 6517, 6490,
- 7089, 9063, 8405, 15, 6121, 6546,
- 7089, 9063, 8405, 15, 6121, 8758,
- 7089, 9063, 8405, 15, 6121, 9072,
- 7089, 9063, 8405, 15, 6121, 10802,
- 7089, 9063, 8405, 15, 6121, 10804,
- 7089, 9063, 8405, 15, 6121, 11448,
- 7089, 9063, 8405, 16,
- 7089, 9063, 8405, 17, 6121, 1045, 6376,
- 7089, 9063, 8405, 17, 6121, 1045, 6490,
- 7089, 9063, 8405, 17, 6121, 4531, 6376,
- 7089, 9063, 8405, 17, 6121, 6378,
- 7089, 9063, 8405, 17, 6121, 6516,
- 7089, 9063, 8405, 17, 6121, 6546,
- 7089, 9063, 8405, 17, 6121, 6874,
- 7089, 9063, 8405, 17, 6121, 7708,
- 7089, 9063, 8405, 17, 6121, 7709, 6490,
- 7089, 9063, 8405, 17, 6121, 8153, 6874,
- 7089, 9063, 8405, 17, 6121, 8432,
- 7089, 9063, 8405, 17, 6121, 8534,
- 7089, 9063, 8405, 17, 6121, 8758,
- 7089, 9063, 8405, 17, 6121, 10267, 6516,
- 7089, 9063, 8405, 17, 6121, 10804,
- 7089, 9063, 8405, 17, 6121, 10805, 721, 6378,
- 7089, 9063, 8405, 17, 6121, 11448,
- 7089, 9063, 8405, 18,
- 7089, 9063, 8405, 19, 6121, 8758,
- 7089, 9063, 8405, 19, 6121, 11448,
- 7089, 9063, 8405, 20,
- 7089, 9063, 8405, 21, 6121, 1045, 6490,
- 7089, 9063, 8405, 21, 6121, 4530,
- 7089, 9063, 8405, 21, 6121, 4877, 6490,
- 7089, 9063, 8405, 21, 6121, 6378,
- 7089, 9063, 8405, 21, 6121, 6546,
- 7089, 9063, 8405, 21, 6121, 8758,
- 7089, 9063, 8405, 21, 6121, 8759, 721, 10001, 8758,
- 7089, 9063, 8405, 21, 6121, 9072,
- 7089, 9063, 8405, 21, 6121, 10001, 8758,
- 7089, 9063, 8405, 21, 6121, 10802,
- 7089, 9063, 8405, 22,
- 7089, 9063, 8405, 23, 6121, 760,
- 7089, 9063, 8405, 23, 6121, 1045, 6490,
- 7089, 9063, 8405, 23, 6121, 1045, 6491, 721, 8432,
- 7089, 9063, 8405, 23, 6121, 4423, 8758,
- 7089, 9063, 8405, 23, 6121, 4877, 6490,
- 7089, 9063, 8405, 23, 6121, 6378,
- 7089, 9063, 8405, 23, 6121, 6546,
- 7089, 9063, 8405, 23, 6121, 7593, 8405, 18,
- 7089, 9063, 8405, 23, 6121, 8153, 760,
- 7089, 9063, 8405, 23, 6121, 8473, 1044,
- 7089, 9063, 8405, 23, 6121, 8473, 7708,
- 7089, 9063, 8405, 23, 6121, 8758,
- 7089, 9063, 8405, 23, 6121, 9072,
- 7089, 9063, 8405, 23, 6121, 11449, 6490,
- 7089, 9063, 8405, 24,
- 7089, 9063, 8405, 25, 6121, 1045, 6376,
- 7089, 9063, 8405, 25, 6121, 1045, 6490,
- 7089, 9063, 8405, 25, 6121, 4530,
- 7089, 9063, 8405, 25, 6121, 6378,
- 7089, 9063, 8405, 26,
- 7089, 9063, 8405, 27, 6121, 1045, 6376,
- 7089, 9063, 8405, 27, 6121, 1045, 6490,
- 7089, 9063, 8405, 27, 6121, 4849, 4530,
- 7089, 9063, 8405, 27, 6121, 4877, 6490,
- 7089, 9063, 8405, 27, 6121, 4895, 7443, 1760,
- 7089, 9063, 8405, 27, 6121, 6378,
- 7089, 9063, 8405, 27, 6121, 6546,
- 7089, 9063, 8405, 27, 6121, 6874,
- 7089, 9063, 8405, 27, 6121, 7593, 8405, 18,
- 7089, 9063, 8405, 27, 6121, 7708,
- 7089, 9063, 8405, 27, 6121, 9072,
- 7089, 9063, 8405, 27, 6121, 11449, 6490,
- 7089, 9063, 8405, 28,
- 7089, 9063, 8405, 29, 6121, 1045, 6376,
- 7089, 9063, 8405, 29, 6121, 1045, 6377, 721, 8432,
- 7089, 9063, 8405, 29, 6121, 1045, 6490,
- 7089, 9063, 8405, 29, 6121, 4531, 6376,
- 7089, 9063, 8405, 29, 6121, 4536,
- 7089, 9063, 8405, 29, 6121, 4537, 721, 1045, 6490,
- 7089, 9063, 8405, 29, 6121, 4537, 721, 4531, 6376,
- 7089, 9063, 8405, 29, 6121, 4537, 721, 6378,
- 7089, 9063, 8405, 29, 6121, 4537, 721, 6874,
- 7089, 9063, 8405, 29, 6121, 4537, 721, 7708,
- 7089, 9063, 8405, 29, 6121, 4895, 8759, 9548,
- 7089, 9063, 8405, 29, 6121, 4896,
- 7089, 9063, 8405, 29, 6121, 6378,
- 7089, 9063, 8405, 29, 6121, 6516,
- 7089, 9063, 8405, 29, 6121, 6546,
- 7089, 9063, 8405, 29, 6121, 6874,
- 7089, 9063, 8405, 29, 6121, 7708,
- 7089, 9063, 8405, 29, 6121, 7709, 721, 6378,
- 7089, 9063, 8405, 29, 6121, 7709, 721, 8432,
- 7089, 9063, 8405, 29, 6121, 7709, 721, 10804,
- 7089, 9063, 8405, 29, 6121, 8153, 6378,
- 7089, 9063, 8405, 29, 6121, 8153, 6874,
- 7089, 9063, 8405, 29, 6121, 8432,
- 7089, 9063, 8405, 29, 6121, 8433, 721, 6378,
- 7089, 9063, 8405, 29, 6121, 8433, 721, 6874,
- 7089, 9063, 8405, 29, 6121, 8473, 7708,
- 7089, 9063, 8405, 29, 6121, 8534,
- 7089, 9063, 8405, 29, 6121, 8535, 721, 8432,
- 7089, 9063, 8405, 29, 6121, 8758,
- 7089, 9063, 8405, 29, 6121, 8759, 721, 6378,
- 7089, 9063, 8405, 29, 6121, 10267, 6516,
- 7089, 9063, 8405, 29, 6121, 10804,
- 7089, 9063, 8405, 29, 6121, 10805, 721, 8432,
- 7089, 9063, 8405, 29, 6121, 11448,
- 7089, 9063, 8405, 29, 6121, 11449, 721, 1045, 6490,
- 7089, 9063, 8405, 29, 6121, 11449, 721, 4531, 6376,
- 7089, 9063, 8405, 29, 6121, 11449, 721, 6378,
- 7089, 9063, 8405, 29, 6121, 11449, 721, 6874,
- 7089, 9063, 8405, 29, 6121, 11449, 721, 7708,
- 7089, 9063, 8405, 30,
- 7089, 9063, 8405, 31, 6121, 1045, 6376,
- 7089, 9063, 8405, 31, 6121, 4530,
- 7089, 9063, 8405, 31, 6121, 6378,
- 7089, 9063, 8405, 31, 6121, 8758,
- 7089, 9063, 8405, 31, 6121, 8759, 9785, 10802,
- 7089, 9063, 8405, 31, 6121, 10196,
- 7089, 9063, 8405, 31, 6121, 10533, 5878,
- 7089, 9063, 8405, 32,
- 7089, 9063, 8405, 33, 6121, 8759, 9785, 10802,
- 7089, 9063, 8405, 33, 6121, 10001, 8758,
- 7089, 9063, 8405, 34,
- 7089, 9063, 8405, 35, 6121, 1045, 6376,
- 7089, 9063, 8405, 35, 6121, 1045, 6490,
- 7089, 9063, 8405, 35, 6121, 1045, 6491, 721, 8432,
- 7089, 9063, 8405, 35, 6121, 4877, 6490,
- 7089, 9063, 8405, 35, 6121, 5878,
- 7089, 9063, 8405, 35, 6121, 6378,
- 7089, 9063, 8405, 35, 6121, 6546,
- 7089, 9063, 8405, 35, 6121, 8153, 6874,
- 7089, 9063, 8405, 35, 6121, 8758,
- 7089, 9063, 8405, 35, 6121, 9072,
- 7089, 9063, 8405, 35, 6121, 10267, 6516,
- 7089, 9063, 8405, 35, 9642,
- 7089, 9063, 8405, 36,
- 7089, 9063, 8405, 37, 6121, 1045, 6376,
- 7089, 9063, 8405, 37, 6121, 1045, 6490,
- 7089, 9063, 8405, 37, 6121, 1045, 6491, 721, 1045, 6376,
- 7089, 9063, 8405, 37, 6121, 6378,
- 7089, 9063, 8405, 37, 6121, 6379, 721, 1045, 6376,
- 7089, 9063, 8405, 37, 6121, 6546,
- 7089, 9063, 8405, 37, 6121, 6547, 721, 1045, 6376,
- 7089, 9063, 8405, 37, 6121, 6617, 6490,
- 7089, 9063, 8405, 37, 6121, 9072,
- 7089, 9063, 8405, 37, 6121, 11448,
- 7089, 9063, 8405, 38,
- 7089, 9063, 8405, 39, 6121, 1045, 6376,
- 7089, 9063, 8405, 39, 6121, 1045, 6490,
- 7089, 9063, 8405, 39, 6121, 4530,
- 7089, 9063, 8405, 39, 6121, 4877, 6490,
- 7089, 9063, 8405, 39, 6121, 6546,
- 7089, 9063, 8405, 39, 6121, 6617, 6490,
- 7089, 9063, 8405, 39, 6121, 8758,
- 7089, 9063, 8405, 39, 6121, 9072,
- 7089, 9063, 8405, 39, 6121, 10001, 8758,
- 7089, 9063, 8405, 39, 6121, 11215, 4530,
- 7089, 9063, 8405, 39, 6121, 11449, 6490,
- 7089, 9063, 8405, 40,
- 7089, 9063, 8405, 41, 760,
- 7089, 9063, 8405, 41, 6121, 1045, 6490,
- 7089, 9063, 8405, 41, 6121, 4531, 6376,
- 7089, 9063, 8405, 41, 6121, 4536,
- 7089, 9063, 8405, 41, 6121, 4537, 721, 1045, 6490,
- 7089, 9063, 8405, 41, 6121, 4537, 721, 4531, 6376,
- 7089, 9063, 8405, 41, 6121, 4537, 721, 6378,
- 7089, 9063, 8405, 41, 6121, 4537, 721, 6874,
- 7089, 9063, 8405, 41, 6121, 4537, 721, 7708,
- 7089, 9063, 8405, 41, 6121, 5551, 6376,
- 7089, 9063, 8405, 41, 6121, 6378,
- 7089, 9063, 8405, 41, 6121, 6516,
- 7089, 9063, 8405, 41, 6121, 6546,
- 7089, 9063, 8405, 41, 6121, 6874,
- 7089, 9063, 8405, 41, 6121, 7708,
- 7089, 9063, 8405, 41, 6121, 7709, 721, 6378,
- 7089, 9063, 8405, 41, 6121, 7709, 6490,
- 7089, 9063, 8405, 41, 6121, 8153, 6378,
- 7089, 9063, 8405, 41, 6121, 8153, 6874,
- 7089, 9063, 8405, 41, 6121, 8432,
- 7089, 9063, 8405, 41, 6121, 8433, 721, 10804,
- 7089, 9063, 8405, 41, 6121, 8534,
- 7089, 9063, 8405, 41, 6121, 10267, 6516,
- 7089, 9063, 8405, 41, 6121, 10804,
- 7089, 9063, 8405, 41, 6121, 10805, 721, 6378,
- 7089, 9063, 8405, 41, 6121, 10805, 721, 6546,
- 7089, 9063, 8405, 41, 6121, 10805, 721, 6874,
- 7089, 9063, 8405, 41, 6121, 10805, 721, 8432,
- 7089, 9063, 8405, 41, 6121, 10805, 6490,
- 7089, 9063, 8405, 41, 6121, 11448,
- 7089, 9063, 8405, 41, 6121, 11449, 6490,
- 7089, 9063, 8405, 42,
- 7089, 9063, 8405, 43, 6121, 1045, 6490,
- 7089, 9063, 8405, 43, 6121, 4530,
- 7089, 9063, 8405, 43, 6121, 7708,
- 7089, 9063, 8405, 43, 6121, 10001, 8758,
- 7089, 9063, 8405, 44,
- 7089, 9063, 8405, 45, 6121, 1045, 6376,
- 7089, 9063, 8405, 45, 6121, 1045, 6490,
- 7089, 9063, 8405, 45, 6121, 4530,
- 7089, 9063, 8405, 45, 6121, 6378,
- 7089, 9063, 8405, 45, 6121, 6874,
- 7089, 9063, 8405, 45, 6121, 10804,
- 7089, 9063, 8405, 45, 6121, 11448,
- 7089, 9063, 8405, 46,
- 7089, 9063, 8405, 47, 6121, 1045, 6376,
- 7089, 9063, 8405, 47, 6121, 10804,
- 7089, 9063, 8405, 48,
- 7089, 9063, 8405, 49, 6121, 1045, 6376,
- 7089, 9063, 8405, 49, 6121, 1045, 6490,
- 7089, 9063, 8405, 49, 6121, 4530,
- 7089, 9063, 8405, 49, 6121, 4531, 6376,
- 7089, 9063, 8405, 49, 6121, 4896,
- 7089, 9063, 8405, 49, 6121, 6378,
- 7089, 9063, 8405, 49, 6121, 6874,
- 7089, 9063, 8405, 49, 6121, 7708,
- 7089, 9063, 8405, 49, 6121, 8432,
- 7089, 9063, 8405, 49, 6121, 8758,
- 7089, 9063, 8405, 49, 6121, 10804,
- 7089, 9063, 8405, 49, 6121, 11448,
- 7089, 9063, 8405, 50,
- 7089, 9063, 8405, 51, 6121, 1045, 6376,
- 7089, 9063, 8405, 51, 6121, 1045, 6490,
- 7089, 9063, 8405, 51, 6121, 4530,
- 7089, 9063, 8405, 51, 6121, 4877, 6490,
- 7089, 9063, 8405, 51, 6121, 6378,
- 7089, 9063, 8405, 51, 6121, 6546,
- 7089, 9063, 8405, 51, 6121, 8758,
- 7089, 9063, 8405, 51, 6121, 10802,
- 7089, 9063, 8405, 51, 6121, 11448,
- 7089, 9063, 8405, 58,
- 7089, 9063, 8405, 66,
- 7089, 9063, 8405, 67, 6121, 6378,
- 7089, 9063, 8405, 67, 6121, 8432,
- 7089, 9063, 8405, 82,
- 7089, 9063, 8405, 92,
- 7089, 9063, 8405, 94,
- 7089, 9063, 8405, 95, 6121, 11649, 760,
- 7089, 9063, 8405, 98,
- 7089, 9063, 8405, 156,
- 7089, 9063, 8405, 157, 6121, 6546,
- 7089, 9063, 8405, 186,
- 7089, 9063, 8405, 282,
- 7089, 9063, 8405, 342,
- 7089, 9063, 8405, 406,
- 7089, 9063, 8405, 432,
- 7089, 9063, 8405, 440,
- 7089, 9063, 8405, 450,
- 7089, 9063, 8405, 578,
- 7089, 9063, 8405, 620,
- 7089, 9063, 8405, 912,
- 7089, 9063, 8405, 1110,
- 7089, 9063, 8405, 1124,
- 7089, 9063, 8405, 1130,
- 7089, 9063, 8405, 1138,
- 7089, 9063, 8405, 1139, 6121, 6546,
- 7089, 9063, 8405, 1139, 10488,
- 7089, 9063, 8405, 2453, 9642,
- 7089, 9063, 8405, 4389, 14,
- 7089, 9063, 8405, 4404,
- 7089, 9063, 8405, 4614,
- 7089, 9063, 8405, 5385, 8,
- 7089, 9063, 8405, 5385, 28,
- 7089, 9063, 8405, 5965, 2540,
- 7089, 9063, 8405, 5965, 2778,
- 7089, 9063, 8405, 5965, 4200,
- 7089, 9063, 8405, 6078,
- 7089, 9063, 8405, 6138,
- 7089, 9063, 8405, 6220,
- 7089, 9063, 8405, 6406,
- 7089, 9063, 8405, 6824,
- 7089, 9063, 8405, 6960,
- 7089, 9063, 8405, 7494,
- 7089, 9063, 8405, 7519, 36,
- 7089, 9063, 8405, 7593, 33, 6121, 4531, 5878,
- 7089, 9063, 8405, 7692,
- 7089, 9063, 8405, 7693, 6121, 8758,
- 7089, 9063, 8405, 7693, 6121, 8759, 9785, 10802,
- 7089, 9063, 8405, 8017, 22,
- 7089, 9063, 8405, 8869, 0,
- 7089, 9063, 8405, 8869, 22,
- 7089, 9063, 8405, 8869, 24,
- 7089, 9063, 8405, 8869, 42,
- 7089, 9063, 8405, 8869, 9365, 12,
- 7089, 9063, 8405, 8983, 6,
- 7089, 9063, 8405, 9313, 5836,
- 7089, 9063, 8405, 9365, 6,
- 7089, 9063, 8405, 9365, 10,
- 7089, 9063, 8405, 9365, 12,
- 7089, 9063, 8405, 9365, 34,
- 7089, 9063, 8405, 9365, 36,
- 7089, 9063, 8405, 9365, 38,
- 7089, 9063, 8405, 9808,
- 7089, 9063, 8405, 10489, 5, 6121, 1044,
- 7089, 9063, 8405, 10489, 8,
- 7089, 9063, 8405, 10494,
- 7089, 9063, 8405, 10640,
- 7089, 9063, 8405, 10786,
- 7089, 9063, 8405, 10787, 6121, 6616,
- 7089, 9063, 8405, 11879, 50,
- 7089, 9063, 8405, 12507, 42,
- 7089, 9063, 8405, 12507, 344,
- 7089, 9063, 8405, 12935, 710,
- 7089, 9063, 8405, 12935, 3244,
- 7089, 9063, 10301, 268,
- 7089, 9063, 10301, 426,
- 7089, 11261, 7593, 8405, 0,
- 7089, 11261, 7593, 8405, 8,
- 7089, 11261, 7593, 8405, 16,
- 7089, 11261, 7593, 8405, 18,
- 7089, 11261, 7593, 8405, 28,
- 7089, 11261, 7593, 8405, 34,
- 7089, 11261, 7593, 8405, 40,
- 7089, 11261, 7593, 8405, 42,
- 7089, 11261, 7593, 8405, 46,
- 7089, 11261, 7593, 8405, 7494,
- 7089, 11619, 8405, 17, 7112,
- 7089, 11619, 8405, 9007, 24,
- 7089, 11619, 8405, 10267, 24,
- 7089, 11619, 8405, 10489, 10,
- 7089, 11619, 8405, 10489, 30,
- 7098,
- 7101, 4849, 10637, 7533, 9051, 10380,
- 7101, 7443, 10637, 7533, 9051, 10380,
- 7101, 7512,
- 7101, 10677, 760,
- 7103, 5759, 1802,
- 7103, 5759, 5620,
- 7103, 5759, 11076,
- 7103, 5759, 11130,
- 7103, 6689, 2170,
- 7103, 6689, 2540,
- 7103, 6689, 2778,
- 7103, 6689, 4200,
- 7103, 6689, 4214,
- 7103, 6689, 5190,
- 7103, 6689, 6260,
- 7103, 6689, 6722,
- 7103, 6689, 7508,
- 7103, 6689, 7694,
- 7103, 7593, 8405, 306,
- 7103, 7593, 8405, 332,
- 7103, 7593, 8405, 364,
- 7103, 7593, 8405, 392,
- 7103, 7593, 8405, 462,
- 7103, 7593, 8405, 510,
- 7103, 7593, 8405, 556,
- 7103, 7593, 8405, 2030,
- 7103, 7593, 8405, 9870,
- 7103, 7803, 5759, 0,
- 7103, 7803, 5759, 8,
- 7103, 7803, 5759, 16,
- 7103, 7803, 5759, 28,
- 7103, 7803, 5759, 40,
- 7103, 7803, 5759, 72,
- 7103, 7803, 5759, 92,
- 7103, 7803, 5759, 162,
- 7103, 7803, 5759, 440,
- 7103, 8405, 100,
- 7103, 8405, 116,
- 7103, 8405, 138,
- 7103, 8405, 216,
- 7103, 8405, 236,
- 7103, 8405, 292,
- 7103, 8405, 306,
- 7103, 8405, 332,
- 7103, 8405, 364,
- 7103, 8405, 392,
- 7103, 8405, 462,
- 7103, 8405, 510,
- 7103, 8405, 524,
- 7103, 8405, 556,
- 7103, 8405, 622,
- 7103, 8405, 652,
- 7103, 8405, 792,
- 7103, 8405, 884,
- 7103, 8405, 996,
- 7103, 8405, 1260,
- 7103, 8405, 1512,
- 7103, 8405, 1612,
- 7103, 8405, 2030,
- 7103, 8405, 2212,
- 7103, 8405, 2516,
- 7103, 8405, 2566,
- 7103, 8405, 2678,
- 7103, 8405, 3028,
- 7103, 10469, 4926,
- 7103, 11257, 8405, 510,
- 7103, 11257, 8405, 622,
- 7103, 11257, 8405, 652,
- 7103, 12017, 4926,
- 7103, 13033, 8404,
- 7121, 2171, 8159, 6510,
- 7121, 2171, 9615, 6510,
- 7121, 4201, 9259, 6510,
- 7121, 4389, 6510,
- 7121, 4389, 8056,
- 7121, 4389, 9367, 7821, 8056,
- 7121, 4849, 10465, 9947, 730,
- 7121, 4849, 10642,
- 7121, 4849, 12857, 12901, 6434,
- 7121, 6507, 10502,
- 7121, 7443, 8077, 6121, 1044,
- 7121, 7443, 8570,
- 7121, 7443, 10465, 9947, 730,
- 7121, 7443, 10513, 7821, 8744,
- 7121, 7443, 10642,
- 7121, 7443, 12857, 10763, 6434,
- 7121, 7443, 12933, 7821, 8744,
- 7121, 7509, 9259, 6510,
- 7121, 7695, 9259, 6510,
- 7121, 7695, 10467, 6510,
- 7165, 5758,
- 7173, 5758,
- 7173, 5759, 275, 10642,
- 7173, 5759, 6121, 1045, 6490,
- 7173, 5759, 6121, 6617, 6376,
- 7173, 5759, 6121, 8649, 4112,
- 7173, 5759, 6121, 9279, 4112,
- 7173, 7708,
- 7199, 4205, 5758,
- 7199, 7519, 5758,
- 7199, 9491, 5758,
- 7201, 7711, 10374,
- 7201, 7768,
- 7201, 7769, 10375, 6121, 1044,
- 7201, 7769, 10375, 6121, 5444,
- 7201, 7821, 10677, 760,
- 7201, 8745, 7769, 10374,
- 7201, 8745, 12493, 10374,
- 7201, 9095, 1045, 10374,
- 7201, 9095, 5445, 10374,
- 7201, 9095, 7711, 10374,
- 7201, 9437, 444,
- 7201, 9437, 720,
- 7201, 9610,
- 7201, 10780,
- 7201, 11262,
- 7201, 12492,
- 7202,
- 7209, 5758,
- 7271, 4153, 721, 7607, 6113, 6434,
- 7271, 4153, 6434,
- 7271, 4153, 6435, 721, 7607, 4153, 6434,
- 7271, 4153, 6435, 6121, 4530,
- 7271, 4153, 6435, 9967, 7271, 6113, 6434,
- 7271, 4153, 6435, 9967, 7607, 4153, 6434,
- 7271, 4153, 6505, 6434,
- 7271, 4153, 7821, 6434,
- 7271, 4153, 8153, 6434,
- 7271, 6113, 721, 7607, 4153, 6434,
- 7271, 6113, 6434,
- 7271, 6113, 6435, 569, 4895, 760,
- 7271, 6113, 6435, 569, 8076,
- 7271, 6113, 6435, 721, 7271, 4153, 6434,
- 7271, 6113, 6435, 6121, 4530,
- 7271, 6113, 6435, 9967, 7271, 4153, 6434,
- 7271, 6113, 6505, 6434,
- 7271, 6113, 7821, 6434,
- 7271, 6113, 8153, 6434,
- 7309, 7609, 4926,
- 7309, 8405, 444,
- 7309, 8405, 602,
- 7309, 8405, 2174,
- 7309, 8405, 3236,
- 7309, 8405, 3952,
- 7309, 8405, 3982,
- 7309, 8405, 4348,
- 7309, 8405, 4600,
- 7309, 8405, 4900,
- 7309, 8405, 5018,
- 7309, 8405, 5192,
- 7309, 8405, 5604,
- 7309, 8405, 5628,
- 7309, 8405, 6044,
- 7309, 8405, 6488,
- 7309, 8405, 6558,
- 7309, 8405, 6774,
- 7309, 8405, 7356,
- 7309, 8405, 7712,
- 7309, 8405, 8752,
- 7309, 8405, 9246,
- 7309, 8405, 9248,
- 7309, 8405, 9368,
- 7309, 8405, 9504,
- 7309, 8405, 10662,
- 7309, 8405, 12008,
- 7309, 9283, 4926,
- 7309, 10489, 9283, 4926,
- 7321, 73, 8399, 4926,
- 7321, 93, 8399, 4926,
- 7321, 5759, 7282,
- 7321, 5759, 8916,
- 7321, 5759, 9824,
- 7321, 5759, 9870,
- 7321, 5759, 9904,
- 7321, 5759, 11900,
- 7321, 6689, 2170,
- 7321, 6689, 2540,
- 7321, 6689, 2778,
- 7321, 6689, 4200,
- 7321, 6689, 4214,
- 7321, 6689, 5190,
- 7321, 6689, 6260,
- 7321, 6689, 6722,
- 7321, 6689, 7508,
- 7321, 6689, 7694,
- 7321, 7803, 5759, 8,
- 7321, 7803, 5759, 16,
- 7321, 7803, 5759, 28,
- 7321, 7803, 5759, 40,
- 7321, 7803, 5759, 58,
- 7321, 7803, 5759, 72,
- 7321, 7803, 5759, 92,
- 7321, 7803, 5759, 266,
- 7321, 7803, 5759, 606,
- 7321, 7803, 5759, 9827, 22,
- 7321, 7803, 5759, 9827, 34,
- 7321, 7803, 5759, 9827, 344,
- 7321, 7803, 5759, 9827, 518,
- 7321, 8322,
- 7321, 8405, 0,
- 7321, 8405, 8,
- 7321, 8405, 16,
- 7321, 8405, 28,
- 7321, 8405, 40,
- 7321, 8405, 58,
- 7321, 8405, 72,
- 7321, 8405, 92,
- 7321, 8405, 100,
- 7321, 8405, 116,
- 7321, 8405, 138,
- 7321, 8405, 216,
- 7321, 8405, 236,
- 7321, 8405, 266,
- 7321, 8405, 292,
- 7321, 8405, 306,
- 7321, 8405, 332,
- 7321, 8405, 364,
- 7321, 8405, 392,
- 7321, 8405, 462,
- 7321, 8405, 510,
- 7321, 8405, 524,
- 7321, 8405, 556,
- 7321, 8405, 606,
- 7321, 8405, 610,
- 7321, 8405, 622,
- 7321, 8405, 652,
- 7321, 8405, 792,
- 7321, 8405, 884,
- 7321, 8405, 974,
- 7321, 8405, 996,
- 7321, 8405, 1260,
- 7321, 8405, 1512,
- 7321, 8405, 1612,
- 7321, 8405, 1796,
- 7321, 8405, 2030,
- 7321, 8405, 2076,
- 7321, 8405, 2126,
- 7321, 8405, 2212,
- 7321, 8405, 2410,
- 7321, 8405, 2438,
- 7321, 8405, 2516,
- 7321, 8405, 2566,
- 7321, 8405, 2678,
- 7321, 8405, 2746,
- 7321, 8405, 3110,
- 7321, 8405, 4016,
- 7321, 8405, 5994,
- 7321, 8405, 9827, 22,
- 7321, 8405, 9827, 34,
- 7321, 8405, 9827, 344,
- 7321, 8405, 9827, 518,
- 7325, 5758,
- 7349, 8774,
- 7377, 429, 10263, 5758,
- 7380,
- 7387, 5758,
- 7390,
- 7393, 8677, 8774,
- 7424,
- 7443, 731, 12473, 9050,
- 7443, 1809, 11715, 9050,
- 7443, 2171, 8159, 6510,
- 7443, 4197, 5878,
- 7443, 4389, 6505, 8056,
- 7443, 4389, 6510,
- 7443, 5876,
- 7443, 6408,
- 7443, 6409, 6121, 730,
- 7443, 6409, 6121, 10959, 8963, 6434,
- 7443, 6409, 8151, 12877, 8450,
- 7443, 6409, 9050,
- 7443, 6409, 9051, 6121, 1044,
- 7443, 6409, 9817, 6121, 8744,
- 7443, 6409, 12877, 8450,
- 7443, 6435, 6121, 7593, 8056,
- 7443, 6435, 6121, 9095, 5444,
- 7443, 6505, 10637, 7533, 9050,
- 7443, 6505, 11677, 9050,
- 7443, 6627, 9050,
- 7443, 6627, 9051, 7121, 4530,
- 7443, 6627, 9051, 7773, 4530,
- 7443, 6627, 9051, 8473, 7370,
- 7443, 6792,
- 7443, 7327, 4676,
- 7443, 7821, 6627, 9050,
- 7443, 7821, 8077, 9050,
- 7443, 7821, 8745, 9050,
- 7443, 7821, 10637, 7533, 9050,
- 7443, 7821, 11677, 9050,
- 7443, 7821, 12114,
- 7443, 8077, 9050,
- 7443, 8151, 12877, 9050,
- 7443, 8153, 6409, 9050,
- 7443, 8153, 6435, 6121, 9645, 4398,
- 7443, 8153, 8933, 6778,
- 7443, 8153, 11195, 4926,
- 7443, 8153, 12114,
- 7443, 8521, 8191, 11793, 9610,
- 7443, 8631, 10371, 9050,
- 7443, 8717, 11195, 4926,
- 7443, 8745, 9050,
- 7443, 8745, 9051, 6121, 5935, 275, 2725, 8076,
- 7443, 8745, 9051, 6121, 5935, 275, 8005, 8076,
- 7443, 8745, 9051, 6121, 7412,
- 7443, 8745, 9051, 6121, 10666,
- 7443, 8745, 9051, 7121, 8076,
- 7443, 8745, 9051, 7773, 8076,
- 7443, 8745, 9051, 10982,
- 7443, 8933, 6778,
- 7443, 9074,
- 7443, 10493, 753, 10794,
- 7443, 10523, 41, 9050,
- 7443, 10637, 7533, 9050,
- 7443, 10642,
- 7443, 10643, 6377, 4849, 10642,
- 7443, 10677, 761, 6121, 7412,
- 7443, 10677, 827, 4876,
- 7443, 11793, 9610,
- 7443, 12114,
- 7443, 12115, 7121, 4530,
- 7443, 12115, 7773, 4530,
- 7443, 12115, 10982,
- 7443, 12877, 9050,
- 7443, 13029, 9050,
- 7453, 89, 5758,
- 7453, 7765, 5758,
- 7453, 9167, 9679, 5758,
- 7453, 9513, 2170,
- 7453, 9513, 2171, 9344,
- 7453, 9513, 2171, 9345, 10624,
- 7453, 9513, 2171, 10624,
- 7453, 9513, 2171, 10625, 5, 6,
- 7453, 9513, 2540,
- 7453, 9513, 2541, 4839, 4212,
- 7453, 9513, 2670,
- 7453, 9513, 2671, 10624,
- 7453, 9513, 2778,
- 7453, 9513, 4200,
- 7453, 9513, 4201, 9344,
- 7453, 9513, 4201, 10624,
- 7453, 9513, 4214,
- 7453, 9513, 5190,
- 7453, 9513, 6722,
- 7453, 9513, 6784,
- 7453, 9513, 6785, 6715, 4212,
- 7453, 9513, 6785, 10624,
- 7453, 9513, 7508,
- 7453, 9513, 7694,
- 7453, 9513, 8162,
- 7453, 9513, 8874,
- 7453, 9513, 10489, 2171, 9344,
- 7453, 9675, 5758,
- 7453, 9679, 5758,
- 7453, 9691, 5758,
- 7453, 9995, 5758,
- 7453, 10511, 5758,
- 7453, 10757, 5758,
- 7453, 10961, 5758,
- 7453, 11193, 5758,
- 7453, 11797, 5758,
- 7467, 6623, 12132,
- 7467, 7935, 8774,
- 7467, 8405, 4,
- 7467, 8405, 6,
- 7467, 8405, 8,
- 7467, 8405, 12,
- 7467, 8405, 28,
- 7467, 8405, 32,
- 7467, 8405, 42,
- 7467, 8405, 44,
- 7467, 8405, 46,
- 7467, 8405, 48,
- 7467, 8405, 50,
- 7467, 8405, 63, 0,
- 7467, 8405, 426,
- 7467, 8405, 438,
- 7467, 8405, 447, 28,
- 7467, 8405, 662,
- 7467, 8405, 878,
- 7467, 8405, 1090,
- 7467, 8405, 1110,
- 7467, 8405, 1130,
- 7467, 8405, 1220,
- 7467, 8405, 1244,
- 7467, 8405, 1486,
- 7467, 8405, 1494,
- 7467, 8405, 3230,
- 7467, 8405, 3840,
- 7467, 8405, 4185, 4189, 199, 10,
- 7467, 8405, 4265, 4381, 12,
- 7467, 8405, 4617, 283, 1501, 16,
- 7467, 8405, 4625, 1114,
- 7467, 8405, 4731, 20,
- 7467, 8405, 5828,
- 7467, 8405, 6059, 603, 40,
- 7467, 8405, 6401, 6738,
- 7467, 8405, 6415, 0,
- 7467, 8405, 6554,
- 7467, 8405, 6635, 3979, 6,
- 7467, 8405, 6721, 167, 8,
- 7467, 8405, 6891, 14,
- 7467, 8405, 6997, 18,
- 7467, 8405, 7028,
- 7467, 8405, 7419, 2383, 5533, 34,
- 7467, 8405, 7567, 13213, 36,
- 7467, 8405, 7719, 2699, 2789, 38,
- 7467, 8405, 7835, 6139, 44,
- 7467, 8405, 8283, 14,
- 7467, 8405, 8312,
- 7467, 8405, 8391, 4829, 4891, 22,
- 7467, 8405, 8441, 1861, 24,
- 7467, 8405, 8501, 2129, 5057, 26,
- 7467, 8405, 8540,
- 7467, 8405, 8579, 8575, 30,
- 7467, 8405, 8727, 36,
- 7467, 8405, 9132,
- 7467, 8405, 9543, 6759, 28,
- 7467, 8405, 9911, 6495, 9047, 2,
- 7467, 8405, 10132,
- 7467, 8405, 10134,
- 7467, 8405, 10136,
- 7467, 8405, 10627, 7699, 7692,
- 7467, 8405, 12482,
- 7467, 8405, 13013, 0,
- 7467, 8405, 13014,
- 7467, 8405, 13057, 66,
- 7467, 8405, 13058,
- 7467, 8405, 13073, 28,
- 7467, 8405, 13075, 36,
- 7467, 8405, 13077, 38,
- 7467, 8405, 13211, 28,
- 7467, 8405, 13227, 24,
- 7467, 8405, 13229, 26,
- 7467, 8405, 13339, 24,
- 7467, 8405, 13377, 14,
- 7467, 8405, 13391, 14,
- 7467, 8405, 13399, 2,
- 7467, 8717, 12132,
- 7467, 9909, 8774,
- 7467, 10349, 12132,
- 7467, 10657, 8774,
- 7469, 5758,
- 7551, 601, 5876,
- 7551, 601, 5877, 6121, 10666,
- 7551, 601, 5877, 6377, 7551, 4117, 5876,
- 7551, 4117, 5876,
- 7551, 4117, 5877, 6121, 9546,
- 7551, 4849, 5876,
- 7551, 11765, 6435, 6377, 11097, 6434,
- 7579, 721, 11466,
- 7588,
- 7593, 175, 3992,
- 7593, 2857, 6121, 10666,
- 7593, 4223, 5836,
- 7593, 4849, 6627, 9050,
- 7593, 4849, 10637, 7533, 9050,
- 7593, 4849, 12114,
- 7593, 5445, 5758,
- 7593, 6610,
- 7593, 6616,
- 7593, 7443, 6627, 9050,
- 7593, 7443, 10637, 7533, 9050,
- 7593, 7443, 12114,
- 7593, 7453, 9513, 2170,
- 7593, 7453, 9513, 2171, 9344,
- 7593, 7453, 9513, 2171, 10624,
- 7593, 7453, 9513, 2540,
- 7593, 7453, 9513, 2670,
- 7593, 7453, 9513, 2778,
- 7593, 7453, 9513, 4200,
- 7593, 7453, 9513, 4201, 9344,
- 7593, 7453, 9513, 4214,
- 7593, 7453, 9513, 5190,
- 7593, 7453, 9513, 6722,
- 7593, 7453, 9513, 6784,
- 7593, 7453, 9513, 7508,
- 7593, 7453, 9513, 7694,
- 7593, 7453, 9513, 8162,
- 7593, 7453, 9513, 8874,
- 7593, 7708,
- 7593, 8129, 5758,
- 7593, 8167, 5758,
- 7593, 8525, 5758,
- 7593, 9263, 428,
- 7593, 9263, 429, 6121, 9546,
- 7593, 9263, 429, 6121, 10677, 761, 91, 1109, 429, 11649, 8758,
- 7593, 9581, 5758,
- 7593, 9633, 9718,
- 7593, 9898,
- 7593, 9959, 89, 8466,
- 7593, 9959, 6121, 9546,
- 7593, 9959, 6121, 10677, 761, 91, 1109, 429, 11649, 8758,
- 7593, 10469, 4926,
- 7593, 10708,
- 7593, 11099, 5758,
- 7593, 11224,
- 7593, 11451, 90,
- 7593, 12017, 4926,
- 7593, 12043, 6616,
- 7593, 12473, 5758,
- 7593, 12478,
- 7595, 9610,
- 7598,
- 7605, 11201, 10782,
- 7607, 4153, 6434,
- 7607, 4153, 6435, 569, 8076,
- 7607, 4153, 6435, 721, 7607, 6113, 6434,
- 7607, 4153, 6435, 6121, 4530,
- 7607, 4153, 6435, 9967, 7271, 4153, 6434,
- 7607, 4153, 6505, 6434,
- 7607, 4153, 7821, 6434,
- 7607, 4153, 8153, 6434,
- 7607, 6113, 6434,
- 7607, 6113, 6435, 721, 7271, 6113, 6434,
- 7607, 6113, 6435, 6121, 4530,
- 7607, 6113, 6505, 6434,
- 7607, 6113, 7821, 6434,
- 7607, 6113, 8153, 6434,
- 7608,
- 7619, 6505, 11765, 6434,
- 7627, 429, 8298,
- 7627, 429, 11886,
- 7659, 3992,
- 7665, 89, 6377, 5758,
- 7665, 93, 8399, 4926,
- 7665, 436,
- 7665, 973, 5758,
- 7665, 5759, 8916,
- 7665, 5759, 9824,
- 7665, 5759, 9870,
- 7665, 6197, 5758,
- 7665, 6673, 5758,
- 7665, 6689, 2170,
- 7665, 6689, 2540,
- 7665, 6689, 2778,
- 7665, 6689, 4200,
- 7665, 6689, 4214,
- 7665, 6689, 5190,
- 7665, 6689, 6260,
- 7665, 6689, 6722,
- 7665, 6689, 7508,
- 7665, 6689, 7694,
- 7665, 7183, 5758,
- 7665, 7469, 5758,
- 7665, 7803, 5759, 8,
- 7665, 7803, 5759, 16,
- 7665, 7803, 5759, 28,
- 7665, 7803, 5759, 40,
- 7665, 7803, 5759, 58,
- 7665, 7803, 5759, 72,
- 7665, 7803, 5759, 92,
- 7665, 7803, 5759, 162,
- 7665, 7803, 5759, 266,
- 7665, 7803, 5759, 440,
- 7665, 7803, 5759, 606,
- 7665, 8081, 5758,
- 7665, 8405, 0,
- 7665, 8405, 8,
- 7665, 8405, 16,
- 7665, 8405, 28,
- 7665, 8405, 40,
- 7665, 8405, 58,
- 7665, 8405, 72,
- 7665, 8405, 92,
- 7665, 8405, 116,
- 7665, 8405, 162,
- 7665, 8405, 236,
- 7665, 8405, 266,
- 7665, 8405, 292,
- 7665, 8405, 306,
- 7665, 8405, 332,
- 7665, 8405, 364,
- 7665, 8405, 392,
- 7665, 8405, 440,
- 7665, 8405, 462,
- 7665, 8405, 510,
- 7665, 8405, 524,
- 7665, 8405, 556,
- 7665, 8405, 606,
- 7665, 8405, 610,
- 7665, 8405, 652,
- 7665, 8405, 1796,
- 7665, 8405, 2030,
- 7665, 8405, 2076,
- 7665, 8405, 2126,
- 7665, 8405, 2438,
- 7665, 8405, 2516,
- 7665, 8405, 2566,
- 7665, 8405, 2746,
- 7665, 8405, 4888,
- 7665, 8405, 5234,
- 7665, 8525, 2171, 9344,
- 7665, 8525, 2171, 10624,
- 7665, 8525, 2670,
- 7665, 8525, 5758,
- 7681, 4103, 2091, 6764,
- 7681, 8174,
- 7695, 1045, 12132,
- 7695, 11097, 7944,
- 7695, 11765, 7944,
- 7695, 11913, 8167, 7570,
- 7695, 11943, 6408,
- 7707, 11861, 11242,
- 7708,
- 7709, 6121, 1045, 6376,
- 7709, 6121, 1045, 6490,
- 7709, 6121, 5551, 6376,
- 7709, 10374,
- 7709, 10375, 6121, 1045, 6376,
- 7709, 10375, 6121, 8649, 4112,
- 7709, 10375, 6377, 11097, 6434,
- 7709, 10375, 6377, 11765, 6434,
- 7711, 6121, 4849, 4389, 6504,
- 7711, 6121, 7443, 4389, 6504,
- 7729, 8654,
- 7733, 4927, 5758,
- 7768,
- 7769, 6121, 7173, 5758,
- 7769, 6121, 9437, 444,
- 7769, 6121, 9546,
- 7769, 6377, 761, 6377, 12492,
- 7769, 6377, 12492,
- 7769, 7991, 721, 8329, 6121, 7768,
- 7773, 2171, 8159, 6510,
- 7773, 4389, 6510,
- 7773, 4389, 8056,
- 7773, 4389, 9367, 7821, 8056,
- 7773, 4849, 445, 7121, 7443, 6627, 9051, 9664,
- 7773, 4849, 8077, 6121, 1044,
- 7773, 4849, 10465, 9947, 730,
- 7773, 4849, 10642,
- 7773, 6507, 10502,
- 7773, 7443, 445, 7121, 4849, 6627, 9051, 9664,
- 7773, 7443, 8570,
- 7773, 7443, 10465, 9947, 730,
- 7773, 7443, 10513, 7821, 8744,
- 7773, 7443, 10642,
- 7773, 7443, 12933, 7821, 8744,
- 7794,
- 7798,
- 7810,
- 7819, 429, 8112,
- 7821, 601, 10441, 6992,
- 7821, 2048,
- 7821, 2587, 6121, 5528,
- 7821, 3949, 5842,
- 7821, 4117, 10441, 6992,
- 7821, 4202,
- 7821, 4215, 9601, 5830,
- 7821, 4849, 10441, 6992,
- 7821, 5830,
- 7821, 6081, 7593, 8744,
- 7821, 6571, 4760,
- 7821, 6571, 5404,
- 7821, 6571, 5564,
- 7821, 6571, 7410,
- 7821, 6571, 7996,
- 7821, 6571, 8368,
- 7821, 6907, 5842,
- 7821, 7085, 8744,
- 7821, 7443, 10441, 6992,
- 7821, 7547, 7370,
- 7821, 7593, 5830,
- 7821, 7593, 8744,
- 7821, 7593, 9438,
- 7821, 7611, 5842,
- 7821, 8022,
- 7821, 8056,
- 7821, 8057, 6121, 1045, 7442,
- 7821, 8057, 6121, 2779, 4112,
- 7821, 8057, 6121, 4117, 6434,
- 7821, 8057, 6121, 7121, 4849, 10464,
- 7821, 8057, 6121, 7121, 7443, 10464,
- 7821, 8057, 6121, 7773, 4849, 10464,
- 7821, 8057, 6121, 7773, 7443, 10464,
- 7821, 8463, 5830,
- 7821, 8463, 7593, 8744,
- 7821, 8463, 8744,
- 7821, 8463, 9158,
- 7821, 8463, 9438,
- 7821, 8691, 1044,
- 7821, 8744,
- 7821, 8745, 6121, 7121, 4849, 10464,
- 7821, 8745, 6121, 7121, 7443, 10464,
- 7821, 8745, 6121, 7773, 4849, 10464,
- 7821, 8745, 6121, 7773, 7443, 10464,
- 7821, 8745, 6121, 8037, 10677, 4876,
- 7821, 8745, 6121, 9645, 9118,
- 7821, 8745, 6121, 10677, 10739, 4876,
- 7821, 8745, 6121, 11097, 5934,
- 7821, 8745, 6121, 11765, 5934,
- 7821, 8745, 11461, 6505, 7593, 8744,
- 7821, 9158,
- 7821, 9159, 5842,
- 7821, 9159, 6121, 9079, 1044,
- 7821, 9159, 11461, 6505, 7593, 9158,
- 7821, 9338,
- 7821, 9711, 4178,
- 7821, 10143, 1860,
- 7821, 10143, 4760,
- 7821, 10194,
- 7821, 10209, 4178,
- 7821, 10420,
- 7821, 10502,
- 7821, 10643, 11461, 7593, 7821, 10642,
- 7821, 10677, 760,
- 7821, 10677, 9264,
- 7821, 10677, 11202,
- 7821, 11036,
- 7821, 11202,
- 7821, 11354,
- 7821, 11364,
- 7821, 11649, 9264,
- 7821, 12383, 7593, 10642,
- 7821, 12383, 10642,
- 7821, 12383, 10643, 6121, 1044,
- 7821, 12917, 9158,
- 7821, 12917, 9159, 6121, 11097, 5934,
- 7821, 12917, 9159, 6121, 11765, 5934,
- 7821, 12931, 7593, 10642,
- 7821, 12931, 10642,
- 7821, 12967, 7593, 10642,
- 7821, 12967, 9602,
- 7821, 12967, 10642,
- 7821, 12984,
- 7821, 13067, 7593, 10642,
- 7821, 13067, 9602,
- 7821, 13067, 10420,
- 7821, 13067, 10642,
- 7911, 1049, 9467, 6791, 9748,
- 7911, 6129, 11229, 1044,
- 7911, 6129, 11229, 4876,
- 7911, 6569, 4926,
- 7911, 8423, 9467, 6791, 9748,
- 7911, 8525, 2170,
- 7911, 8525, 2171, 9344,
- 7911, 8525, 2171, 10624,
- 7911, 8525, 2540,
- 7911, 8525, 2541, 9344,
- 7911, 8525, 2541, 10624,
- 7911, 8525, 2670,
- 7911, 8525, 2671, 10624,
- 7911, 8525, 2778,
- 7911, 8525, 2779, 9344,
- 7911, 8525, 2779, 10624,
- 7911, 8525, 4200,
- 7911, 8525, 4201, 9344,
- 7911, 8525, 4201, 10624,
- 7911, 8525, 4214,
- 7911, 8525, 4215, 9344,
- 7911, 8525, 4215, 10624,
- 7911, 8525, 5190,
- 7911, 8525, 5191, 9344,
- 7911, 8525, 5191, 10624,
- 7911, 8525, 6722,
- 7911, 8525, 6723, 9344,
- 7911, 8525, 6723, 10624,
- 7911, 8525, 6784,
- 7911, 8525, 6785, 10624,
- 7911, 8525, 6804,
- 7911, 8525, 6805, 10624,
- 7911, 8525, 7508,
- 7911, 8525, 7509, 9344,
- 7911, 8525, 7509, 10624,
- 7911, 8525, 7576,
- 7911, 8525, 7577, 10624,
- 7911, 8525, 7694,
- 7911, 8525, 7695, 9344,
- 7911, 8525, 7695, 10624,
- 7911, 8525, 8160,
- 7911, 8525, 8161, 10624,
- 7911, 8525, 8514,
- 7911, 8525, 8515, 10624,
- 7911, 8525, 8820,
- 7911, 8525, 8821, 10624,
- 7911, 8525, 8876,
- 7911, 8525, 8877, 10624,
- 7911, 8525, 9672,
- 7911, 8525, 9673, 10624,
- 7911, 8931, 3717, 6052,
- 7911, 8931, 6791, 9748,
- 7911, 8931, 7687, 9748,
- 7911, 8931, 8233, 9748,
- 7911, 8931, 8681, 9748,
- 7911, 9467, 7687, 9748,
- 7911, 9467, 8681, 9748,
- 7919, 6741, 445, 6741, 568,
- 7919, 6741, 568,
- 7919, 6741, 569, 6121, 11449, 7908,
- 7922,
- 7931, 1109, 429, 3288,
- 7931, 2396,
- 7931, 3997, 11228,
- 7931, 4201, 9601, 5830,
- 7931, 4223, 5836,
- 7931, 4927, 5241, 8260,
- 7931, 5759, 5521, 8995, 3262,
- 7931, 5759, 7176,
- 7931, 5759, 7476,
- 7931, 5759, 7486,
- 7931, 5759, 7917, 9894,
- 7931, 5759, 8715, 10708,
- 7931, 5759, 8715, 12523, 1894,
- 7931, 5759, 11350,
- 7931, 5759, 12137, 7916,
- 7931, 5759, 12159, 7917, 11396,
- 7931, 5879, 10204,
- 7931, 6616,
- 7931, 6644,
- 7931, 6645, 8461, 4212,
- 7931, 6645, 10275, 4212,
- 7931, 6731, 8037, 1809, 5836,
- 7931, 6731, 8037, 4423, 5836,
- 7931, 6772,
- 7931, 6773, 6121, 2779, 4112,
- 7931, 6773, 8461, 4212,
- 7931, 6773, 10275, 4212,
- 7931, 6895, 6376,
- 7931, 6895, 6490,
- 7931, 7026,
- 7931, 7027, 8461, 4212,
- 7931, 7027, 10275, 4212,
- 7931, 7377, 429, 8658,
- 7931, 7593, 1809, 4942,
- 7931, 7593, 1809, 5648,
- 7931, 7593, 2918,
- 7931, 7593, 3052,
- 7931, 7593, 4423, 1739, 3244,
- 7931, 7593, 4423, 2640,
- 7931, 7593, 4423, 3052,
- 7931, 7593, 4423, 4630,
- 7931, 7593, 4423, 4943, 9363, 4212,
- 7931, 7593, 4423, 4943, 10275, 4212,
- 7931, 7593, 4423, 5240,
- 7931, 7593, 4423, 5648,
- 7931, 7593, 4423, 6254,
- 7931, 7593, 4423, 7124,
- 7931, 7593, 4423, 7695, 4112,
- 7931, 7593, 4423, 9185, 4399, 429, 4736,
- 7931, 7593, 4423, 9645, 6260,
- 7931, 7593, 4423, 9807, 12139, 6260,
- 7931, 7593, 4423, 10301, 2285, 6121, 1739, 6121, 3245, 9448,
- 7931, 7593, 4423, 10301, 2485, 6121, 1739, 6121, 3245, 9448,
- 7931, 7593, 4423, 10301, 3245, 6121, 1739, 6121, 3052,
- 7931, 7593, 6644,
- 7931, 7593, 6772,
- 7931, 7593, 7026,
- 7931, 7633, 429, 2451, 173, 4424,
- 7931, 7650,
- 7931, 7651, 8461, 4212,
- 7931, 7651, 10275, 4212,
- 7931, 7803, 5759, 1045, 6490,
- 7931, 7803, 5759, 7593, 43, 6376,
- 7931, 7803, 5759, 10267, 7593, 43, 6376,
- 7931, 8405, 8,
- 7931, 8405, 9, 6789, 4212,
- 7931, 8405, 9, 8461, 4212,
- 7931, 8405, 9, 9363, 4212,
- 7931, 8405, 9, 10275, 4212,
- 7931, 8405, 40,
- 7931, 8405, 41, 6121, 6895, 6376,
- 7931, 8405, 41, 6121, 6895, 6377, 10275, 4212,
- 7931, 8405, 41, 6789, 4212,
- 7931, 8405, 41, 10275, 4212,
- 7931, 8405, 66,
- 7931, 8405, 400,
- 7931, 8405, 401, 6789, 4212,
- 7931, 8405, 401, 8461, 4212,
- 7931, 8405, 401, 9363, 4212,
- 7931, 8405, 401, 10275, 4212,
- 7931, 8405, 426,
- 7931, 8405, 427, 6789, 4212,
- 7931, 8405, 427, 10275, 4212,
- 7931, 8405, 612,
- 7931, 8405, 613, 6789, 4212,
- 7931, 8405, 613, 10275, 4212,
- 7931, 8405, 664,
- 7931, 8405, 665, 6789, 4212,
- 7931, 8405, 665, 10275, 4212,
- 7931, 8405, 710,
- 7931, 8405, 711, 6121, 2779, 4113, 6376,
- 7931, 8405, 711, 6121, 2779, 4113, 11877, 6376,
- 7931, 8405, 711, 6121, 7695, 4113, 6376,
- 7931, 8405, 711, 6121, 7695, 4113, 10441, 10959, 6376,
- 7931, 8405, 711, 6789, 4212,
- 7931, 8405, 711, 8461, 4212,
- 7931, 8405, 711, 9363, 4212,
- 7931, 8405, 711, 10275, 4212,
- 7931, 8405, 780,
- 7931, 8405, 781, 6121, 1045, 6491, 721, 7695, 4113, 6376,
- 7931, 8405, 781, 6121, 2779, 4113, 6491, 721, 1045, 6376,
- 7931, 8405, 781, 6121, 7593, 42,
- 7931, 8405, 781, 6121, 7695, 4113, 10441, 9811, 6490,
- 7931, 8405, 781, 6121, 7695, 4113, 10441, 9811, 6491, 721, 2779, 4113, 6376,
- 7931, 8405, 781, 6121, 7695, 4113, 12477, 6490,
- 7931, 8405, 781, 6121, 10267, 7593, 43, 6490,
- 7931, 8405, 781, 6789, 4212,
- 7931, 8405, 781, 8461, 4212,
- 7931, 8405, 781, 9363, 4212,
- 7931, 8405, 781, 10275, 4212,
- 7931, 8405, 956,
- 7931, 8405, 957, 6121, 1045, 6490,
- 7931, 8405, 957, 6789, 4212,
- 7931, 8405, 957, 8461, 4212,
- 7931, 8405, 957, 9363, 4212,
- 7931, 8405, 957, 10275, 4212,
- 7931, 8405, 960,
- 7931, 8405, 961, 6121, 1045, 6490,
- 7931, 8405, 961, 6121, 1045, 6491, 721, 7593, 2640,
- 7931, 8405, 961, 6121, 2779, 4113, 11877, 6491, 721, 7593, 2640,
- 7931, 8405, 961, 6121, 4215, 4113, 6376,
- 7931, 8405, 961, 6121, 5550,
- 7931, 8405, 961, 6121, 7695, 4113, 6377, 10958,
- 7931, 8405, 961, 6121, 10267, 42,
- 7931, 8405, 961, 6121, 10267, 7593, 43, 6490,
- 7931, 8405, 961, 6789, 4212,
- 7931, 8405, 961, 10275, 4212,
- 7931, 8405, 1056,
- 7931, 8405, 1057, 6789, 4212,
- 7931, 8405, 1057, 10275, 4212,
- 7931, 8405, 1152,
- 7931, 8405, 1153, 6121, 1045, 6490,
- 7931, 8405, 1153, 6121, 1045, 7189, 6490,
- 7931, 8405, 1153, 6121, 2779, 4113, 6490,
- 7931, 8405, 1153, 6121, 7695, 4113, 6490,
- 7931, 8405, 1153, 6121, 7695, 4113, 10441, 9811, 6490,
- 7931, 8405, 1153, 6789, 4212,
- 7931, 8405, 1153, 8461, 4212,
- 7931, 8405, 1153, 9363, 4212,
- 7931, 8405, 1153, 10275, 4212,
- 7931, 8405, 1208,
- 7931, 8405, 1209, 6121, 2779, 4113, 6490,
- 7931, 8405, 1209, 6121, 5550,
- 7931, 8405, 1209, 6121, 7695, 4113, 6376,
- 7931, 8405, 1209, 6789, 4212,
- 7931, 8405, 1209, 8461, 4212,
- 7931, 8405, 1209, 9363, 4212,
- 7931, 8405, 1209, 10275, 4212,
- 7931, 8405, 1342,
- 7931, 8405, 1343, 6121, 2779, 4113, 6376,
- 7931, 8405, 1343, 6121, 2779, 4113, 10677, 6376,
- 7931, 8405, 1343, 6121, 6895, 6376,
- 7931, 8405, 1343, 6121, 7593, 7931, 8405, 2641, 721, 2779, 4112,
- 7931, 8405, 1343, 6121, 7593, 7931, 8405, 2641, 6376,
- 7931, 8405, 1343, 6121, 7593, 7931, 8405, 2641, 6490,
- 7931, 8405, 1343, 6121, 7695, 4113, 6376,
- 7931, 8405, 1343, 6121, 7695, 4113, 10441, 9811, 6490,
- 7931, 8405, 1343, 6121, 10173, 12403, 6689, 4215, 6490,
- 7931, 8405, 1343, 6789, 4212,
- 7931, 8405, 1343, 8461, 4212,
- 7931, 8405, 1343, 9363, 4212,
- 7931, 8405, 1343, 10275, 4212,
- 7931, 8405, 1358,
- 7931, 8405, 1359, 4340,
- 7931, 8405, 1359, 4341, 6121, 6895, 6376,
- 7931, 8405, 1359, 4341, 6789, 4212,
- 7931, 8405, 1359, 4341, 8461, 4212,
- 7931, 8405, 1359, 4341, 9363, 4212,
- 7931, 8405, 1359, 4341, 10275, 4212,
- 7931, 8405, 1359, 6121, 3053, 6376,
- 7931, 8405, 1359, 6121, 3053, 6377, 6789, 4212,
- 7931, 8405, 1359, 6121, 3053, 6377, 10275, 4212,
- 7931, 8405, 1359, 6121, 10267, 42,
- 7931, 8405, 1359, 6789, 4212,
- 7931, 8405, 1359, 8461, 4212,
- 7931, 8405, 1359, 9363, 4212,
- 7931, 8405, 1359, 10275, 4212,
- 7931, 8405, 1359, 11948,
- 7931, 8405, 1359, 11949, 6789, 4212,
- 7931, 8405, 1359, 11949, 8461, 4212,
- 7931, 8405, 1359, 11949, 9363, 4212,
- 7931, 8405, 1359, 11949, 10275, 4212,
- 7931, 8405, 1508,
- 7931, 8405, 1509, 6789, 4212,
- 7931, 8405, 1509, 10275, 4212,
- 7931, 8405, 1578,
- 7931, 8405, 1579, 6121, 1045, 6376,
- 7931, 8405, 1579, 6121, 2779, 4113, 6376,
- 7931, 8405, 1579, 6121, 5550,
- 7931, 8405, 1579, 6121, 7695, 4113, 6490,
- 7931, 8405, 1579, 6789, 4212,
- 7931, 8405, 1579, 8461, 4212,
- 7931, 8405, 1579, 9363, 4212,
- 7931, 8405, 1579, 10275, 4212,
- 7931, 8405, 1738,
- 7931, 8405, 1739, 6121, 760,
- 7931, 8405, 1739, 6121, 1045, 6376,
- 7931, 8405, 1739, 6121, 7593, 42,
- 7931, 8405, 1739, 6121, 7695, 4113, 6376,
- 7931, 8405, 1739, 6121, 7695, 4113, 6490,
- 7931, 8405, 1739, 6789, 4212,
- 7931, 8405, 1739, 8461, 4212,
- 7931, 8405, 1739, 9363, 4212,
- 7931, 8405, 1739, 10275, 4212,
- 7931, 8405, 2206,
- 7931, 8405, 2207, 6789, 4212,
- 7931, 8405, 2207, 8461, 4212,
- 7931, 8405, 2207, 9363, 4212,
- 7931, 8405, 2207, 10275, 4212,
- 7931, 8405, 2284,
- 7931, 8405, 2285, 6121, 1045, 6376,
- 7931, 8405, 2285, 6121, 7695, 4113, 6376,
- 7931, 8405, 2285, 6789, 4212,
- 7931, 8405, 2285, 8461, 4212,
- 7931, 8405, 2285, 9363, 4212,
- 7931, 8405, 2285, 10275, 4212,
- 7931, 8405, 2404,
- 7931, 8405, 2405, 6121, 1045, 6490,
- 7931, 8405, 2405, 6121, 1045, 6491, 721, 1045, 6376,
- 7931, 8405, 2405, 6121, 2779, 4113, 6376,
- 7931, 8405, 2405, 6121, 2779, 4113, 11877, 6376,
- 7931, 8405, 2405, 6121, 4215, 4113, 6376,
- 7931, 8405, 2405, 6121, 5550,
- 7931, 8405, 2405, 6121, 6895, 6376,
- 7931, 8405, 2405, 6121, 7593, 42,
- 7931, 8405, 2405, 6121, 7593, 43, 6490,
- 7931, 8405, 2405, 6121, 7593, 7931, 8405, 2641, 721, 2779, 4112,
- 7931, 8405, 2405, 6121, 8758,
- 7931, 8405, 2405, 6121, 10267, 42,
- 7931, 8405, 2405, 6789, 4212,
- 7931, 8405, 2405, 10275, 4212,
- 7931, 8405, 2484,
- 7931, 8405, 2485, 6121, 2779, 4113, 6490,
- 7931, 8405, 2485, 6121, 7695, 4113, 6376,
- 7931, 8405, 2485, 6789, 4212,
- 7931, 8405, 2485, 8461, 4212,
- 7931, 8405, 2485, 9363, 4212,
- 7931, 8405, 2485, 10275, 4212,
- 7931, 8405, 2640,
- 7931, 8405, 2641, 6121, 7695, 4113, 6376,
- 7931, 8405, 2641, 6789, 4212,
- 7931, 8405, 2641, 8461, 4212,
- 7931, 8405, 2641, 9363, 4212,
- 7931, 8405, 2641, 10275, 4212,
- 7931, 8405, 2668,
- 7931, 8405, 2669, 6121, 5550,
- 7931, 8405, 2669, 6121, 7695, 4113, 6377, 10958,
- 7931, 8405, 2669, 6789, 4212,
- 7931, 8405, 2669, 8461, 4212,
- 7931, 8405, 2669, 9363, 4212,
- 7931, 8405, 2669, 9456,
- 7931, 8405, 2669, 9457, 4340,
- 7931, 8405, 2669, 9457, 6789, 4212,
- 7931, 8405, 2669, 9457, 10275, 4212,
- 7931, 8405, 2669, 10275, 4212,
- 7931, 8405, 2858,
- 7931, 8405, 2859, 6789, 4212,
- 7931, 8405, 2859, 8461, 4212,
- 7931, 8405, 2859, 9363, 4212,
- 7931, 8405, 2859, 10275, 4212,
- 7931, 8405, 2918,
- 7931, 8405, 2919, 6121, 1045, 6376,
- 7931, 8405, 2919, 6121, 2779, 4113, 6376,
- 7931, 8405, 2919, 6121, 5550,
- 7931, 8405, 2919, 6121, 6895, 6376,
- 7931, 8405, 2919, 6121, 6895, 6377, 6789, 4212,
- 7931, 8405, 2919, 6121, 6895, 6377, 10275, 4212,
- 7931, 8405, 2919, 6121, 10173, 12403, 6689, 2779, 6376,
- 7931, 8405, 2919, 6121, 10173, 12403, 6689, 7695, 6376,
- 7931, 8405, 2919, 6789, 4212,
- 7931, 8405, 2919, 10275, 4212,
- 7931, 8405, 3052,
- 7931, 8405, 3053, 6121, 5878,
- 7931, 8405, 3053, 6121, 6895, 6376,
- 7931, 8405, 3053, 6121, 6895, 6377, 6789, 4212,
- 7931, 8405, 3053, 6121, 6895, 6377, 8461, 4212,
- 7931, 8405, 3053, 6121, 6895, 6377, 9363, 4212,
- 7931, 8405, 3053, 6121, 6895, 6377, 10275, 4212,
- 7931, 8405, 3053, 6121, 7593, 42,
- 7931, 8405, 3053, 6121, 7695, 4113, 6490,
- 7931, 8405, 3053, 6789, 4212,
- 7931, 8405, 3053, 7982,
- 7931, 8405, 3053, 7983, 6121, 6895, 6376,
- 7931, 8405, 3053, 7983, 6121, 6895, 6377, 6789, 4212,
- 7931, 8405, 3053, 7983, 6121, 6895, 6377, 10275, 4212,
- 7931, 8405, 3053, 7983, 6121, 10173, 12403, 6689, 2779, 6376,
- 7931, 8405, 3053, 7983, 6121, 10173, 12403, 6689, 7695, 6376,
- 7931, 8405, 3053, 7983, 6789, 4212,
- 7931, 8405, 3053, 7983, 10275, 4212,
- 7931, 8405, 3053, 8461, 4212,
- 7931, 8405, 3053, 9363, 4212,
- 7931, 8405, 3053, 10275, 4212,
- 7931, 8405, 3124,
- 7931, 8405, 3125, 6789, 4212,
- 7931, 8405, 3125, 8461, 4212,
- 7931, 8405, 3125, 9363, 4212,
- 7931, 8405, 3125, 10275, 4212,
- 7931, 8405, 3244,
- 7931, 8405, 3245, 6121, 6107, 6895, 6376,
- 7931, 8405, 3245, 6121, 6107, 6895, 6490,
- 7931, 8405, 3245, 6121, 6895, 6376,
- 7931, 8405, 3245, 6121, 6895, 6377, 6789, 4212,
- 7931, 8405, 3245, 6121, 6895, 6377, 10275, 4212,
- 7931, 8405, 3245, 6121, 6895, 6490,
- 7931, 8405, 3245, 6121, 6895, 6491, 6789, 4212,
- 7931, 8405, 3245, 6121, 6895, 6491, 10275, 4212,
- 7931, 8405, 3245, 6121, 7125, 6376,
- 7931, 8405, 3245, 6121, 7125, 6377, 6789, 4212,
- 7931, 8405, 3245, 6121, 7125, 6377, 10275, 4212,
- 7931, 8405, 3245, 6121, 10173, 12403, 6689, 2779, 6376,
- 7931, 8405, 3245, 6121, 10173, 12403, 6689, 7695, 6376,
- 7931, 8405, 3245, 6789, 4212,
- 7931, 8405, 3245, 7808,
- 7931, 8405, 3245, 7809, 6789, 4212,
- 7931, 8405, 3245, 7809, 10275, 4212,
- 7931, 8405, 3245, 9448,
- 7931, 8405, 3245, 9449, 6789, 4212,
- 7931, 8405, 3245, 9449, 10275, 4212,
- 7931, 8405, 3245, 10275, 4212,
- 7931, 8405, 3766,
- 7931, 8405, 3767, 6789, 4212,
- 7931, 8405, 3767, 8461, 4212,
- 7931, 8405, 3767, 9363, 4212,
- 7931, 8405, 3767, 10275, 4212,
- 7931, 8405, 4000,
- 7931, 8405, 4001, 6789, 4212,
- 7931, 8405, 4001, 10275, 4212,
- 7931, 8405, 4136,
- 7931, 8405, 4137, 6789, 4212,
- 7931, 8405, 4137, 8461, 4212,
- 7931, 8405, 4137, 9363, 4212,
- 7931, 8405, 4137, 10275, 4212,
- 7931, 8405, 4356,
- 7931, 8405, 4357, 6789, 4212,
- 7931, 8405, 4357, 8461, 4212,
- 7931, 8405, 4357, 9363, 4212,
- 7931, 8405, 4357, 10275, 4212,
- 7931, 8405, 4423, 6894,
- 7931, 8405, 4423, 6895, 2918,
- 7931, 8405, 4423, 6895, 3052,
- 7931, 8405, 4423, 6895, 3244,
- 7931, 8405, 4630,
- 7931, 8405, 4631, 6789, 4212,
- 7931, 8405, 4631, 8461, 4212,
- 7931, 8405, 4631, 9363, 4212,
- 7931, 8405, 4631, 10275, 4212,
- 7931, 8405, 4736,
- 7931, 8405, 4737, 6789, 4212,
- 7931, 8405, 4737, 8461, 4212,
- 7931, 8405, 4737, 9363, 4212,
- 7931, 8405, 4737, 10275, 4212,
- 7931, 8405, 4942,
- 7931, 8405, 4943, 6121, 1045, 6376,
- 7931, 8405, 4943, 6121, 1045, 6490,
- 7931, 8405, 4943, 6789, 4212,
- 7931, 8405, 4943, 8461, 4212,
- 7931, 8405, 4943, 9363, 4212,
- 7931, 8405, 4943, 10275, 4212,
- 7931, 8405, 5240,
- 7931, 8405, 5241, 6121, 1045, 6490,
- 7931, 8405, 5241, 6121, 2779, 4113, 6490,
- 7931, 8405, 5241, 6121, 5550,
- 7931, 8405, 5241, 6121, 7593, 42,
- 7931, 8405, 5241, 6121, 7593, 2640,
- 7931, 8405, 5241, 6121, 7695, 4113, 6376,
- 7931, 8405, 5241, 6789, 4212,
- 7931, 8405, 5241, 8260,
- 7931, 8405, 5241, 8261, 6789, 4212,
- 7931, 8405, 5241, 8261, 10275, 4212,
- 7931, 8405, 5241, 8461, 4212,
- 7931, 8405, 5241, 9363, 4212,
- 7931, 8405, 5241, 10275, 4212,
- 7931, 8405, 5298,
- 7931, 8405, 5299, 6789, 4212,
- 7931, 8405, 5299, 8461, 4212,
- 7931, 8405, 5299, 9363, 4212,
- 7931, 8405, 5299, 10275, 4212,
- 7931, 8405, 5572,
- 7931, 8405, 5573, 6789, 4212,
- 7931, 8405, 5573, 10275, 4212,
- 7931, 8405, 5648,
- 7931, 8405, 5649, 6121, 1045, 6491, 721, 1045, 6376,
- 7931, 8405, 5649, 6121, 2779, 4113, 11877, 6376,
- 7931, 8405, 5649, 6121, 4215, 4113, 6376,
- 7931, 8405, 5649, 6121, 7593, 7931, 8405, 2641, 721, 2779, 4112,
- 7931, 8405, 5649, 6121, 7695, 4113, 6490,
- 7931, 8405, 5649, 6121, 7695, 4113, 6491, 721, 7695, 4113, 6376,
- 7931, 8405, 5649, 6121, 10173, 12403, 6689, 4215, 6376,
- 7931, 8405, 5649, 6121, 10267, 42,
- 7931, 8405, 5649, 6789, 4212,
- 7931, 8405, 5649, 8461, 4212,
- 7931, 8405, 5649, 9363, 4212,
- 7931, 8405, 5649, 10275, 4212,
- 7931, 8405, 5910,
- 7931, 8405, 5911, 6789, 4212,
- 7931, 8405, 5911, 10275, 4212,
- 7931, 8405, 5916,
- 7931, 8405, 5917, 6789, 4212,
- 7931, 8405, 5917, 8461, 4212,
- 7931, 8405, 5917, 9363, 4212,
- 7931, 8405, 5917, 10275, 4212,
- 7931, 8405, 5992,
- 7931, 8405, 5993, 6789, 4212,
- 7931, 8405, 5993, 8461, 4212,
- 7931, 8405, 5993, 9363, 4212,
- 7931, 8405, 5993, 10275, 4212,
- 7931, 8405, 6254,
- 7931, 8405, 6255, 6789, 4212,
- 7931, 8405, 6255, 10275, 4212,
- 7931, 8405, 6486,
- 7931, 8405, 6487, 6789, 4212,
- 7931, 8405, 6487, 8461, 4212,
- 7931, 8405, 6487, 9363, 4212,
- 7931, 8405, 6487, 10275, 4212,
- 7931, 8405, 6636,
- 7931, 8405, 6637, 6789, 4212,
- 7931, 8405, 6637, 10275, 4212,
- 7931, 8405, 6771, 3052,
- 7931, 8405, 6771, 3053, 6121, 2779, 4113, 6376,
- 7931, 8405, 6771, 3053, 6121, 7695, 4113, 6376,
- 7931, 8405, 6771, 3053, 6121, 10173, 12403, 6689, 2779, 6376,
- 7931, 8405, 6771, 3053, 6121, 10173, 12403, 6689, 4215, 6490,
- 7931, 8405, 6771, 3053, 6121, 10173, 12403, 6689, 7695, 6376,
- 7931, 8405, 6771, 3053, 6121, 10267, 42,
- 7931, 8405, 6771, 3053, 6789, 4212,
- 7931, 8405, 6771, 3053, 8461, 4212,
- 7931, 8405, 6771, 3053, 9363, 4212,
- 7931, 8405, 6771, 3053, 10275, 4212,
- 7931, 8405, 6850,
- 7931, 8405, 6851, 6121, 1045, 6490,
- 7931, 8405, 6851, 6789, 4212,
- 7931, 8405, 6851, 8461, 4212,
- 7931, 8405, 6851, 9363, 4212,
- 7931, 8405, 6851, 10275, 4212,
- 7931, 8405, 6894,
- 7931, 8405, 6895, 10275, 4212,
- 7931, 8405, 7036,
- 7931, 8405, 7037, 6121, 1045, 6376,
- 7931, 8405, 7037, 6121, 2779, 4113, 6376,
- 7931, 8405, 7037, 6121, 7695, 4113, 6376,
- 7931, 8405, 7037, 6121, 7695, 4113, 6490,
- 7931, 8405, 7037, 6121, 7695, 4113, 10441, 9811, 6490,
- 7931, 8405, 7037, 6789, 4212,
- 7931, 8405, 7037, 8461, 4212,
- 7931, 8405, 7037, 9363, 4212,
- 7931, 8405, 7037, 10275, 4212,
- 7931, 8405, 7238,
- 7931, 8405, 7239, 6789, 4212,
- 7931, 8405, 7239, 8461, 4212,
- 7931, 8405, 7239, 9363, 4212,
- 7931, 8405, 7239, 10275, 4212,
- 7931, 8405, 7354,
- 7931, 8405, 7355, 6789, 4212,
- 7931, 8405, 7355, 8461, 4212,
- 7931, 8405, 7355, 9363, 4212,
- 7931, 8405, 7355, 10275, 4212,
- 7931, 8405, 7448,
- 7931, 8405, 7449, 6789, 4212,
- 7931, 8405, 7449, 8461, 4212,
- 7931, 8405, 7449, 9363, 4212,
- 7931, 8405, 7449, 10275, 4212,
- 7931, 8405, 7524,
- 7931, 8405, 7525, 6121, 1045, 6490,
- 7931, 8405, 7525, 6789, 4212,
- 7931, 8405, 7525, 8461, 4212,
- 7931, 8405, 7525, 9363, 4212,
- 7931, 8405, 7525, 10275, 4212,
- 7931, 8405, 7653, 1578,
- 7931, 8405, 7668,
- 7931, 8405, 7669, 6121, 1045, 6376,
- 7931, 8405, 7669, 6789, 4212,
- 7931, 8405, 7669, 8461, 4212,
- 7931, 8405, 7669, 9363, 4212,
- 7931, 8405, 7669, 10275, 4212,
- 7931, 8405, 7672,
- 7931, 8405, 7673, 6789, 4212,
- 7931, 8405, 7673, 8461, 4212,
- 7931, 8405, 7673, 9363, 4212,
- 7931, 8405, 7673, 10275, 4212,
- 7931, 8405, 8098,
- 7931, 8405, 8099, 6789, 4212,
- 7931, 8405, 8099, 10275, 4212,
- 7931, 8405, 8860,
- 7931, 8405, 8861, 6789, 4212,
- 7931, 8405, 8861, 8461, 4212,
- 7931, 8405, 8861, 9363, 4212,
- 7931, 8405, 8861, 10275, 4212,
- 7931, 8405, 8895, 8345, 9405, 3245, 9449, 8461, 4212,
- 7931, 8405, 8895, 8345, 9405, 3245, 9449, 9363, 4212,
- 7931, 8405, 9185, 780,
- 7931, 8405, 9185, 1152,
- 7931, 8405, 9185, 2284,
- 7931, 8405, 9405, 426,
- 7931, 8405, 9405, 427, 6789, 4212,
- 7931, 8405, 9405, 427, 10275, 4212,
- 7931, 8405, 9405, 664,
- 7931, 8405, 9405, 665, 6789, 4212,
- 7931, 8405, 9405, 665, 10275, 4212,
- 7931, 8405, 9770,
- 7931, 8405, 9771, 6789, 4212,
- 7931, 8405, 9771, 8461, 4212,
- 7931, 8405, 9771, 9363, 4212,
- 7931, 8405, 9771, 10275, 4212,
- 7931, 8405, 12355, 3244,
- 7931, 8435, 6376,
- 7931, 8525, 5758,
- 7931, 8601, 7793, 5758,
- 7931, 8692,
- 7931, 8693, 8461, 4212,
- 7931, 8693, 10275, 4212,
- 7931, 8849, 1045, 12133, 4926,
- 7931, 9151, 11228,
- 7931, 9581, 5758,
- 7931, 9645, 4423, 5837, 6121, 8205, 8036,
- 7931, 9766,
- 7931, 9767, 6121, 10175, 6376,
- 7931, 9978,
- 7931, 9979, 10275, 4212,
- 7931, 10174,
- 7931, 10175, 10275, 4212,
- 7931, 10199, 8450,
- 7931, 10267, 6644,
- 7931, 10280,
- 7931, 10281, 10275, 4212,
- 7931, 10301, 711, 6121, 3053, 6789, 4212,
- 7931, 10301, 711, 6121, 3053, 10275, 4212,
- 7931, 10301, 711, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 711, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 711, 6121, 4631, 6121, 4943, 6789, 4212,
- 7931, 10301, 711, 6121, 4631, 6121, 4943, 9363, 4212,
- 7931, 10301, 711, 6121, 4631, 9363, 4212,
- 7931, 10301, 711, 6121, 4631, 10275, 4212,
- 7931, 10301, 711, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 711, 6121, 4943, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 711, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 711, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 711, 6121, 4943, 9363, 4212,
- 7931, 10301, 711, 6121, 4943, 10275, 4212,
- 7931, 10301, 781, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 781, 6121, 1343, 9363, 4212,
- 7931, 10301, 781, 6121, 1343, 10275, 4212,
- 7931, 10301, 781, 6121, 1359, 8461, 4212,
- 7931, 10301, 781, 6121, 1359, 9363, 4212,
- 7931, 10301, 781, 6121, 2405, 6789, 4212,
- 7931, 10301, 781, 6121, 3053, 6789, 4212,
- 7931, 10301, 781, 6121, 3053, 10275, 4212,
- 7931, 10301, 781, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 781, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 781, 6121, 4631, 9363, 4212,
- 7931, 10301, 781, 6121, 4631, 10275, 4212,
- 7931, 10301, 781, 6121, 4737, 6121, 3053, 6789, 4212,
- 7931, 10301, 781, 6121, 4737, 9363, 4212,
- 7931, 10301, 781, 6121, 4737, 10275, 4212,
- 7931, 10301, 781, 6121, 4943, 6789, 4212,
- 7931, 10301, 781, 6121, 4943, 8461, 4212,
- 7931, 10301, 781, 6121, 4943, 9363, 4212,
- 7931, 10301, 781, 6121, 4943, 10275, 4212,
- 7931, 10301, 781, 6121, 5241, 6789, 4212,
- 7931, 10301, 781, 6121, 6255, 6789, 4212,
- 7931, 10301, 957, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 957, 6121, 1343, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 957, 6121, 1343, 9363, 4212,
- 7931, 10301, 957, 6121, 1343, 10275, 4212,
- 7931, 10301, 957, 6121, 2405, 6789, 4212,
- 7931, 10301, 957, 6121, 2405, 10275, 4212,
- 7931, 10301, 957, 6121, 3053, 6789, 4212,
- 7931, 10301, 957, 6121, 3053, 10275, 4212,
- 7931, 10301, 957, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 957, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 957, 6121, 4631, 9363, 4212,
- 7931, 10301, 957, 6121, 4631, 10275, 4212,
- 7931, 10301, 957, 6121, 4737, 6121, 4943, 6789, 4212,
- 7931, 10301, 957, 6121, 4737, 6121, 4943, 9363, 4212,
- 7931, 10301, 957, 6121, 4737, 9363, 4212,
- 7931, 10301, 957, 6121, 4737, 10275, 4212,
- 7931, 10301, 957, 6121, 4943, 9363, 4212,
- 7931, 10301, 957, 6121, 4943, 10275, 4212,
- 7931, 10301, 1153, 6121, 1343, 9363, 4212,
- 7931, 10301, 1153, 6121, 1343, 10275, 4212,
- 7931, 10301, 1153, 6121, 3053, 6789, 4212,
- 7931, 10301, 1153, 6121, 3053, 10275, 4212,
- 7931, 10301, 1153, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 1153, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 1153, 6121, 4631, 9363, 4212,
- 7931, 10301, 1153, 6121, 4631, 10275, 4212,
- 7931, 10301, 1153, 6121, 4737, 6121, 4943, 6789, 4212,
- 7931, 10301, 1153, 6121, 4737, 6121, 4943, 9363, 4212,
- 7931, 10301, 1153, 6121, 4737, 9363, 4212,
- 7931, 10301, 1153, 6121, 4737, 10275, 4212,
- 7931, 10301, 1153, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 1153, 6121, 4943, 9363, 4212,
- 7931, 10301, 1153, 6121, 4943, 10275, 4212,
- 7931, 10301, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 1343, 6121, 3053, 10275, 4212,
- 7931, 10301, 1343, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 1343, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 1343, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 1343, 6121, 4631, 9363, 4212,
- 7931, 10301, 1343, 6121, 4631, 10275, 4212,
- 7931, 10301, 1343, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 1343, 6121, 4943, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 1343, 6121, 4943, 9363, 4212,
- 7931, 10301, 1343, 6121, 4943, 10275, 4212,
- 7931, 10301, 1359, 6121, 3053, 10275, 4212,
- 7931, 10301, 1359, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 1359, 6121, 4631, 9363, 4212,
- 7931, 10301, 1359, 6121, 4631, 10275, 4212,
- 7931, 10301, 1359, 6121, 4943, 6121, 4631, 9363, 4212,
- 7931, 10301, 1359, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 1359, 6121, 4943, 9363, 4212,
- 7931, 10301, 1359, 6121, 4943, 10275, 4212,
- 7931, 10301, 1359, 6121, 12355, 3245, 9363, 4212,
- 7931, 10301, 1579, 6121, 1343, 9363, 4212,
- 7931, 10301, 1579, 6121, 1343, 10275, 4212,
- 7931, 10301, 1579, 6121, 1739, 6789, 4212,
- 7931, 10301, 1579, 6121, 1739, 8461, 4212,
- 7931, 10301, 1579, 6121, 1739, 9363, 4212,
- 7931, 10301, 1579, 6121, 1739, 10275, 4212,
- 7931, 10301, 1579, 6121, 3053, 6789, 4212,
- 7931, 10301, 1579, 6121, 3053, 10275, 4212,
- 7931, 10301, 1579, 6121, 3245, 6789, 4212,
- 7931, 10301, 1579, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 1579, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 1579, 6121, 3245, 10275, 4212,
- 7931, 10301, 1579, 6121, 4631, 9363, 4212,
- 7931, 10301, 1579, 6121, 4631, 10275, 4212,
- 7931, 10301, 1579, 6121, 4737, 9363, 4212,
- 7931, 10301, 1579, 6121, 4737, 10275, 4212,
- 7931, 10301, 1579, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 1579, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 1579, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 1579, 6121, 4943, 6789, 4212,
- 7931, 10301, 1579, 6121, 4943, 8461, 4212,
- 7931, 10301, 1579, 6121, 4943, 9363, 4212,
- 7931, 10301, 1579, 6121, 4943, 10275, 4212,
- 7931, 10301, 1739, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 1739, 6121, 1343, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 1739, 6121, 1343, 6121, 4943, 6789, 4212,
- 7931, 10301, 1739, 6121, 1343, 6121, 4943, 9363, 4212,
- 7931, 10301, 1739, 6121, 1343, 9363, 4212,
- 7931, 10301, 1739, 6121, 1343, 10275, 4212,
- 7931, 10301, 1739, 6121, 1359, 9363, 4212,
- 7931, 10301, 1739, 6121, 3053, 6789, 4212,
- 7931, 10301, 1739, 6121, 3053, 10275, 4212,
- 7931, 10301, 1739, 6121, 3245, 6121, 6895, 6377, 6789, 4212,
- 7931, 10301, 1739, 6121, 3245, 6121, 6895, 6377, 10275, 4212,
- 7931, 10301, 1739, 6121, 3245, 6121, 6895, 6491, 6789, 4212,
- 7931, 10301, 1739, 6121, 3245, 6121, 6895, 6491, 10275, 4212,
- 7931, 10301, 1739, 6121, 3245, 6121, 7125, 6377, 6789, 4212,
- 7931, 10301, 1739, 6121, 3245, 6121, 7125, 6377, 10275, 4212,
- 7931, 10301, 1739, 6121, 3245, 6789, 4212,
- 7931, 10301, 1739, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 1739, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 1739, 6121, 3245, 10275, 4212,
- 7931, 10301, 1739, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 1739, 6121, 4631, 6121, 4631, 6789, 4212,
- 7931, 10301, 1739, 6121, 4631, 6121, 4631, 9363, 4212,
- 7931, 10301, 1739, 6121, 4631, 6121, 4943, 6789, 4212,
- 7931, 10301, 1739, 6121, 4631, 6121, 4943, 9363, 4212,
- 7931, 10301, 1739, 6121, 4631, 9363, 4212,
- 7931, 10301, 1739, 6121, 4631, 10275, 4212,
- 7931, 10301, 1739, 6121, 4737, 6121, 4943, 6789, 4212,
- 7931, 10301, 1739, 6121, 4737, 6121, 4943, 9363, 4212,
- 7931, 10301, 1739, 6121, 4737, 9363, 4212,
- 7931, 10301, 1739, 6121, 4737, 10275, 4212,
- 7931, 10301, 1739, 6121, 4943, 6121, 1343, 6789, 4212,
- 7931, 10301, 1739, 6121, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 1739, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 1739, 6121, 4943, 6789, 4212,
- 7931, 10301, 1739, 6121, 4943, 8461, 4212,
- 7931, 10301, 1739, 6121, 4943, 9363, 4212,
- 7931, 10301, 1739, 6121, 4943, 10275, 4212,
- 7931, 10301, 2285, 6121, 1343, 9363, 4212,
- 7931, 10301, 2285, 6121, 1343, 10275, 4212,
- 7931, 10301, 2285, 6121, 3053, 6789, 4212,
- 7931, 10301, 2285, 6121, 3053, 10275, 4212,
- 7931, 10301, 2285, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2285, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 2285, 6121, 4943, 6121, 1343, 6789, 4212,
- 7931, 10301, 2285, 6121, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 2285, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 2285, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 2285, 6121, 4943, 9363, 4212,
- 7931, 10301, 2285, 6121, 4943, 10275, 4212,
- 7931, 10301, 2405, 6121, 12355, 3245, 10275, 4212,
- 7931, 10301, 2485, 6121, 1343, 6121, 1343, 6789, 4212,
- 7931, 10301, 2485, 6121, 1343, 6121, 1343, 9363, 4212,
- 7931, 10301, 2485, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 2485, 6121, 1343, 9363, 4212,
- 7931, 10301, 2485, 6121, 1343, 10275, 4212,
- 7931, 10301, 2485, 6121, 2405, 6789, 4212,
- 7931, 10301, 2485, 6121, 2405, 10275, 4212,
- 7931, 10301, 2485, 6121, 3053, 6789, 4212,
- 7931, 10301, 2485, 6121, 3053, 10275, 4212,
- 7931, 10301, 2485, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2485, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 2485, 6121, 4737, 9363, 4212,
- 7931, 10301, 2485, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 2485, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 2485, 6121, 4943, 9363, 4212,
- 7931, 10301, 2485, 6121, 4943, 10275, 4212,
- 7931, 10301, 2641, 6121, 1343, 9363, 4212,
- 7931, 10301, 2641, 6121, 1343, 10275, 4212,
- 7931, 10301, 2641, 6121, 3053, 6789, 4212,
- 7931, 10301, 2641, 6121, 3053, 10275, 4212,
- 7931, 10301, 2641, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2641, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 2641, 6121, 4943, 6121, 1343, 6789, 4212,
- 7931, 10301, 2641, 6121, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 2641, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 2641, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 2641, 6121, 4943, 8461, 4212,
- 7931, 10301, 2641, 6121, 4943, 9363, 4212,
- 7931, 10301, 2641, 6121, 4943, 10275, 4212,
- 7931, 10301, 2669, 6121, 1343, 6121, 4631, 6789, 4212,
- 7931, 10301, 2669, 6121, 1343, 6121, 4631, 9363, 4212,
- 7931, 10301, 2669, 6121, 1343, 6121, 4943, 9363, 4212,
- 7931, 10301, 2669, 6121, 1343, 9363, 4212,
- 7931, 10301, 2669, 6121, 1343, 10275, 4212,
- 7931, 10301, 2669, 6121, 1359, 8461, 4212,
- 7931, 10301, 2669, 6121, 1359, 9363, 4212,
- 7931, 10301, 2669, 6121, 2405, 6789, 4212,
- 7931, 10301, 2669, 6121, 3053, 6789, 4212,
- 7931, 10301, 2669, 6121, 3053, 10275, 4212,
- 7931, 10301, 2669, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2669, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 2669, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 2669, 6121, 4631, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2669, 6121, 4631, 6121, 4943, 9363, 4212,
- 7931, 10301, 2669, 6121, 4631, 9363, 4212,
- 7931, 10301, 2669, 6121, 4631, 10275, 4212,
- 7931, 10301, 2669, 6121, 4737, 6121, 3053, 6789, 4212,
- 7931, 10301, 2669, 6121, 4737, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2669, 6121, 4737, 6121, 4943, 9363, 4212,
- 7931, 10301, 2669, 6121, 4737, 9363, 4212,
- 7931, 10301, 2669, 6121, 4737, 10275, 4212,
- 7931, 10301, 2669, 6121, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 2669, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 2669, 6121, 4943, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 2669, 6121, 4943, 6121, 4631, 9363, 4212,
- 7931, 10301, 2669, 6121, 4943, 6121, 4737, 9363, 4212,
- 7931, 10301, 2669, 6121, 4943, 6789, 4212,
- 7931, 10301, 2669, 6121, 4943, 8461, 4212,
- 7931, 10301, 2669, 6121, 4943, 9363, 4212,
- 7931, 10301, 2669, 6121, 4943, 10275, 4212,
- 7931, 10301, 2669, 6121, 5241, 6789, 4212,
- 7931, 10301, 2669, 6121, 6255, 6789, 4212,
- 7931, 10301, 3053, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 3053, 6121, 1343, 9363, 4212,
- 7931, 10301, 3053, 6121, 1343, 10275, 4212,
- 7931, 10301, 3053, 6121, 1359, 8461, 4212,
- 7931, 10301, 3053, 6121, 1359, 9363, 4212,
- 7931, 10301, 3053, 6121, 2405, 6789, 4212,
- 7931, 10301, 3053, 6121, 3053, 6789, 4212,
- 7931, 10301, 3053, 6121, 3053, 10275, 4212,
- 7931, 10301, 3053, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 3053, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 3053, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 3053, 6121, 4631, 9363, 4212,
- 7931, 10301, 3053, 6121, 4631, 10275, 4212,
- 7931, 10301, 3053, 6121, 4737, 9363, 4212,
- 7931, 10301, 3053, 6121, 4737, 10275, 4212,
- 7931, 10301, 3053, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 3053, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 3053, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 3053, 6121, 4943, 6789, 4212,
- 7931, 10301, 3053, 6121, 4943, 8461, 4212,
- 7931, 10301, 3053, 6121, 4943, 9363, 4212,
- 7931, 10301, 3053, 6121, 4943, 10275, 4212,
- 7931, 10301, 3053, 6121, 5241, 6789, 4212,
- 7931, 10301, 3053, 6121, 6255, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 9, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 9, 9363, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 9, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 41, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 41, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 67, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 67, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 427, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 427, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 665, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 665, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 1343, 9363, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 1343, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 1359, 8461, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 1359, 9363, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 2405, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 2919, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 2919, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 3053, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 3053, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 3245, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 3245, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4631, 9363, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4631, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4737, 9363, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4943, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4943, 8461, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4943, 9363, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 4943, 10275, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 5241, 6789, 4212,
- 7931, 10301, 3053, 6121, 6895, 6377, 6121, 6255, 6789, 4212,
- 7931, 10301, 3125, 6121, 4943, 8461, 4212,
- 7931, 10301, 3125, 6121, 4943, 9363, 4212,
- 7931, 10301, 3125, 6121, 4943, 10275, 4212,
- 7931, 10301, 3245, 6121, 10175, 6789, 4212,
- 7931, 10301, 3245, 6121, 10175, 10275, 4212,
- 7931, 10301, 3245, 9449, 6121, 12355, 3245, 6789, 4212,
- 7931, 10301, 3245, 9449, 6121, 12355, 3245, 10275, 4212,
- 7931, 10301, 4631, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 4631, 6121, 1343, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 4631, 6121, 1343, 9363, 4212,
- 7931, 10301, 4631, 6121, 1343, 10275, 4212,
- 7931, 10301, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 4631, 6121, 3053, 10275, 4212,
- 7931, 10301, 4631, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 4631, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 4631, 6121, 4943, 6121, 1343, 6789, 4212,
- 7931, 10301, 4631, 6121, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 4631, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 4631, 6121, 4943, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 4631, 6121, 4943, 9363, 4212,
- 7931, 10301, 4631, 6121, 4943, 10275, 4212,
- 7931, 10301, 4737, 6121, 1343, 10275, 4212,
- 7931, 10301, 4737, 6121, 3053, 6789, 4212,
- 7931, 10301, 4737, 6121, 3053, 10275, 4212,
- 7931, 10301, 4737, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 4737, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 4737, 6121, 4631, 9363, 4212,
- 7931, 10301, 4737, 6121, 4631, 10275, 4212,
- 7931, 10301, 4737, 6121, 4943, 9363, 4212,
- 7931, 10301, 4737, 6121, 4943, 10275, 4212,
- 7931, 10301, 4943, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 4943, 6121, 1343, 6121, 4631, 9363, 4212,
- 7931, 10301, 4943, 6121, 1343, 6121, 4943, 9363, 4212,
- 7931, 10301, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 4943, 6121, 1343, 10275, 4212,
- 7931, 10301, 4943, 6121, 3053, 10275, 4212,
- 7931, 10301, 4943, 6121, 3245, 6789, 4212,
- 7931, 10301, 4943, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 4943, 6121, 4631, 6121, 1343, 9363, 4212,
- 7931, 10301, 4943, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 4943, 6121, 4631, 6121, 4737, 9363, 4212,
- 7931, 10301, 4943, 6121, 4631, 6121, 4943, 9363, 4212,
- 7931, 10301, 4943, 6121, 4631, 9363, 4212,
- 7931, 10301, 4943, 6121, 4631, 10275, 4212,
- 7931, 10301, 4943, 6121, 4737, 6121, 3053, 6789, 4212,
- 7931, 10301, 4943, 6121, 4737, 6121, 4631, 9363, 4212,
- 7931, 10301, 4943, 6121, 4737, 6121, 4943, 9363, 4212,
- 7931, 10301, 4943, 6121, 4737, 9363, 4212,
- 7931, 10301, 4943, 6121, 4737, 10275, 4212,
- 7931, 10301, 4943, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 4943, 6121, 4943, 10275, 4212,
- 7931, 10301, 5241, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 5241, 6121, 1343, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5241, 6121, 1343, 6121, 4943, 9363, 4212,
- 7931, 10301, 5241, 6121, 1343, 9363, 4212,
- 7931, 10301, 5241, 6121, 1343, 10275, 4212,
- 7931, 10301, 5241, 6121, 1359, 8461, 4212,
- 7931, 10301, 5241, 6121, 1359, 9363, 4212,
- 7931, 10301, 5241, 6121, 2405, 6789, 4212,
- 7931, 10301, 5241, 6121, 3053, 6789, 4212,
- 7931, 10301, 5241, 6121, 3053, 10275, 4212,
- 7931, 10301, 5241, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5241, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 5241, 6121, 4631, 6121, 1343, 6789, 4212,
- 7931, 10301, 5241, 6121, 4631, 6121, 1343, 9363, 4212,
- 7931, 10301, 5241, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 5241, 6121, 4631, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5241, 6121, 4631, 6121, 4943, 6789, 4212,
- 7931, 10301, 5241, 6121, 4631, 6121, 4943, 9363, 4212,
- 7931, 10301, 5241, 6121, 4631, 9363, 4212,
- 7931, 10301, 5241, 6121, 4631, 10275, 4212,
- 7931, 10301, 5241, 6121, 4737, 9363, 4212,
- 7931, 10301, 5241, 6121, 4737, 10275, 4212,
- 7931, 10301, 5241, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 5241, 6121, 4943, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5241, 6121, 4943, 6789, 4212,
- 7931, 10301, 5241, 6121, 4943, 8461, 4212,
- 7931, 10301, 5241, 6121, 4943, 9363, 4212,
- 7931, 10301, 5241, 6121, 4943, 10275, 4212,
- 7931, 10301, 5241, 6121, 5241, 6789, 4212,
- 7931, 10301, 5241, 6121, 6255, 6789, 4212,
- 7931, 10301, 5475, 6061, 89, 9411, 5837, 5759, 10275, 4212,
- 7931, 10301, 5649, 6121, 1343, 6121, 4631, 9363, 4212,
- 7931, 10301, 5649, 6121, 1343, 8461, 4212,
- 7931, 10301, 5649, 6121, 1343, 9363, 4212,
- 7931, 10301, 5649, 6121, 1343, 10275, 4212,
- 7931, 10301, 5649, 6121, 1359, 8461, 4212,
- 7931, 10301, 5649, 6121, 1359, 9363, 4212,
- 7931, 10301, 5649, 6121, 2405, 6789, 4212,
- 7931, 10301, 5649, 6121, 2405, 10275, 4212,
- 7931, 10301, 5649, 6121, 3053, 6789, 4212,
- 7931, 10301, 5649, 6121, 3053, 10275, 4212,
- 7931, 10301, 5649, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5649, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 5649, 6121, 4631, 6121, 1343, 9363, 4212,
- 7931, 10301, 5649, 6121, 4631, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5649, 6121, 4631, 8461, 4212,
- 7931, 10301, 5649, 6121, 4631, 9363, 4212,
- 7931, 10301, 5649, 6121, 4631, 10275, 4212,
- 7931, 10301, 5649, 6121, 4737, 6121, 3053, 6789, 4212,
- 7931, 10301, 5649, 6121, 4737, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5649, 6121, 4737, 8461, 4212,
- 7931, 10301, 5649, 6121, 4737, 9363, 4212,
- 7931, 10301, 5649, 6121, 4737, 10275, 4212,
- 7931, 10301, 5649, 6121, 4943, 6121, 1343, 6789, 4212,
- 7931, 10301, 5649, 6121, 4943, 6121, 1343, 9363, 4212,
- 7931, 10301, 5649, 6121, 4943, 6121, 4631, 9363, 4212,
- 7931, 10301, 5649, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 5649, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 5649, 6121, 4943, 8461, 4212,
- 7931, 10301, 5649, 6121, 4943, 9363, 4212,
- 7931, 10301, 5649, 6121, 4943, 10275, 4212,
- 7931, 10301, 5911, 6121, 12355, 3245, 10275, 4212,
- 7931, 10301, 5917, 6121, 1359, 8461, 4212,
- 7931, 10301, 5917, 6121, 2405, 6789, 4212,
- 7931, 10301, 5917, 6121, 3053, 6789, 4212,
- 7931, 10301, 5917, 6121, 3053, 10275, 4212,
- 7931, 10301, 5917, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 5917, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 5917, 6121, 4631, 10275, 4212,
- 7931, 10301, 5917, 6121, 4943, 6789, 4212,
- 7931, 10301, 5917, 6121, 4943, 8461, 4212,
- 7931, 10301, 5917, 6121, 4943, 9363, 4212,
- 7931, 10301, 5917, 6121, 4943, 10275, 4212,
- 7931, 10301, 5917, 6121, 5241, 6789, 4212,
- 7931, 10301, 5917, 6121, 6255, 6789, 4212,
- 7931, 10301, 6393, 10275, 4212,
- 7931, 10301, 6405, 10275, 4212,
- 7931, 10301, 6851, 6121, 3053, 6789, 4212,
- 7931, 10301, 6851, 6121, 3053, 10275, 4212,
- 7931, 10301, 6851, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 6851, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 6851, 6121, 4631, 9363, 4212,
- 7931, 10301, 6851, 6121, 4631, 10275, 4212,
- 7931, 10301, 6851, 6121, 4943, 6121, 3053, 6789, 4212,
- 7931, 10301, 6851, 6121, 4943, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 6851, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 6851, 6121, 4943, 9363, 4212,
- 7931, 10301, 6851, 6121, 4943, 10275, 4212,
- 7931, 10301, 7479, 10275, 4212,
- 7931, 10301, 7481, 6061, 89, 9411, 5837, 5759, 10275, 4212,
- 7931, 10301, 7481, 10275, 4212,
- 7931, 10301, 7525, 6121, 1343, 6121, 3053, 6789, 4212,
- 7931, 10301, 7525, 6121, 1343, 6121, 4943, 6789, 4212,
- 7931, 10301, 7525, 6121, 1343, 6121, 4943, 9363, 4212,
- 7931, 10301, 7525, 6121, 1343, 6789, 4212,
- 7931, 10301, 7525, 6121, 1343, 8461, 4212,
- 7931, 10301, 7525, 6121, 1343, 9363, 4212,
- 7931, 10301, 7525, 6121, 1343, 10275, 4212,
- 7931, 10301, 7525, 6121, 1359, 8461, 4212,
- 7931, 10301, 7525, 6121, 1359, 9363, 4212,
- 7931, 10301, 7525, 6121, 2405, 6789, 4212,
- 7931, 10301, 7525, 6121, 2405, 10275, 4212,
- 7931, 10301, 7525, 6121, 3053, 6789, 4212,
- 7931, 10301, 7525, 6121, 3053, 10275, 4212,
- 7931, 10301, 7525, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 7525, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 7525, 6121, 4631, 6121, 3053, 6789, 4212,
- 7931, 10301, 7525, 6121, 4631, 6789, 4212,
- 7931, 10301, 7525, 6121, 4631, 8461, 4212,
- 7931, 10301, 7525, 6121, 4631, 9363, 4212,
- 7931, 10301, 7525, 6121, 4631, 10275, 4212,
- 7931, 10301, 7525, 6121, 4737, 6789, 4212,
- 7931, 10301, 7525, 6121, 4737, 8461, 4212,
- 7931, 10301, 7525, 6121, 4737, 9363, 4212,
- 7931, 10301, 7525, 6121, 4737, 10275, 4212,
- 7931, 10301, 7525, 6121, 4943, 6121, 4737, 6789, 4212,
- 7931, 10301, 7525, 6121, 4943, 6121, 4737, 9363, 4212,
- 7931, 10301, 7525, 6121, 4943, 6121, 4943, 6789, 4212,
- 7931, 10301, 7525, 6121, 4943, 6121, 4943, 9363, 4212,
- 7931, 10301, 7525, 6121, 4943, 6789, 4212,
- 7931, 10301, 7525, 6121, 4943, 8461, 4212,
- 7931, 10301, 7525, 6121, 4943, 9363, 4212,
- 7931, 10301, 7525, 6121, 4943, 10275, 4212,
- 7931, 10301, 7917, 10275, 4212,
- 7931, 10301, 8635, 10275, 4212,
- 7931, 10301, 8693, 6121, 6645, 8461, 4212,
- 7931, 10301, 8693, 6121, 6645, 10275, 4212,
- 7931, 10301, 8693, 6121, 6773, 8461, 4212,
- 7931, 10301, 8693, 6121, 6773, 10275, 4212,
- 7931, 10301, 8693, 6121, 7027, 8461, 4212,
- 7931, 10301, 8693, 6121, 7027, 10275, 4212,
- 7931, 10301, 8693, 6121, 9979, 10275, 4212,
- 7931, 10301, 8693, 6121, 10281, 10275, 4212,
- 7931, 10301, 8693, 6121, 12355, 3245, 10275, 4212,
- 7931, 10301, 8895, 9405, 3053, 6121, 6895, 6377, 6121, 3245, 9449, 6789, 4212,
- 7931, 10301, 8895, 9405, 3053, 6121, 6895, 6377, 6121, 3245, 9449, 9363, 4212,
- 7931, 10301, 8895, 9405, 3053, 6121, 6895, 6377, 6121, 3245, 9449, 10275, 4212,
- 7931, 10301, 10341, 10275, 4212,
- 7931, 10301, 10683, 10275, 4212,
- 7931, 10301, 10741, 10715, 10712,
- 7931, 10301, 12159, 7917, 10682,
- 7931, 10301, 13202,
- 7931, 10469, 4926,
- 7931, 10489, 6644,
- 7931, 10692,
- 7931, 11224,
- 7931, 11261, 3244,
- 7931, 11363, 11228,
- 7971, 46,
- 7971, 826,
- 7971, 827, 6121, 46,
- 7971, 827, 6121, 6568,
- 7985, 8159, 7274,
- 7985, 11241, 7274,
- 8005, 731, 12901, 6434,
- 8005, 4389, 10260,
- 8005, 4849, 3958,
- 8005, 4849, 4389, 9050,
- 8005, 4849, 8076,
- 8005, 6627, 9050,
- 8005, 7443, 3958,
- 8005, 7443, 4389, 9050,
- 8005, 7443, 8076,
- 8005, 8745, 9050,
- 8005, 8745, 9051, 5387, 2725, 8745, 9050,
- 8005, 10637, 7533, 9050,
- 8005, 12114,
- 8006,
- 8007, 6121, 4849, 4389, 6504,
- 8007, 6121, 7443, 4389, 6504,
- 8017, 760,
- 8017, 8057, 6121, 11141, 6434,
- 8022,
- 8023, 10374,
- 8027, 2638,
- 8028,
- 8033, 8405, 0,
- 8033, 8405, 2,
- 8033, 8405, 6,
- 8033, 8405, 8,
- 8033, 8405, 12,
- 8033, 8405, 16,
- 8033, 8405, 20,
- 8033, 8405, 22,
- 8033, 8405, 24,
- 8033, 8405, 26,
- 8033, 8405, 28,
- 8033, 8405, 30,
- 8033, 8405, 32,
- 8033, 8405, 34,
- 8033, 8405, 36,
- 8033, 8405, 38,
- 8033, 8405, 40,
- 8033, 8405, 46,
- 8033, 8405, 54,
- 8033, 8405, 136,
- 8033, 8405, 158,
- 8033, 8405, 214,
- 8033, 8405, 266,
- 8033, 8405, 304,
- 8033, 8405, 334,
- 8033, 8405, 366,
- 8033, 8405, 394,
- 8033, 8405, 400,
- 8033, 8405, 410,
- 8033, 8405, 460,
- 8033, 8405, 518,
- 8033, 8405, 530,
- 8033, 8405, 542,
- 8033, 8405, 544,
- 8033, 8405, 574,
- 8033, 8405, 606,
- 8033, 8405, 1756,
- 8033, 8405, 1872,
- 8033, 8405, 1874,
- 8033, 8405, 1876,
- 8033, 8405, 2514,
- 8033, 8405, 2578,
- 8033, 8405, 2744,
- 8033, 8405, 2838,
- 8033, 8405, 3832,
- 8033, 8405, 3834,
- 8033, 8405, 6068,
- 8033, 8405, 6070,
- 8033, 8405, 6072,
- 8037, 4877, 8774,
- 8048,
- 8057, 6121, 719, 835, 7773, 4849, 10465, 6504,
- 8057, 6121, 2779, 11649, 9745, 569, 2681, 7442,
- 8057, 6121, 4849, 4389, 6504,
- 8057, 6121, 7121, 4389, 6504,
- 8057, 6121, 7443, 4389, 6504,
- 8057, 6121, 7593, 8057, 569, 2681, 7442,
- 8057, 6121, 7773, 4389, 6504,
- 8057, 6121, 7773, 7443, 10465, 6504,
- 8057, 6121, 10677, 4192,
- 8057, 6121, 11649, 760,
- 8057, 6121, 12879, 46,
- 8057, 9177, 115, 11649, 761, 721, 2725, 4389, 9177, 115, 10677, 760,
- 8065, 7769, 6121, 8688,
- 8065, 7769, 6121, 8689, 721, 7595, 9610,
- 8065, 8762,
- 8065, 8763, 445, 6741, 568,
- 8065, 10578,
- 8065, 10579, 445, 6741, 568,
- 8065, 12493, 6121, 8688,
- 8066,
- 8075, 2167, 8523, 4223, 5836,
- 8075, 2167, 8523, 7793, 9178,
- 8075, 2167, 8523, 8121, 10469, 4926,
- 8075, 2167, 8523, 10255, 10469, 4926,
- 8075, 4223, 5836,
- 8075, 7593, 8405, 28,
- 8075, 7593, 8405, 202,
- 8075, 7593, 8405, 374,
- 8075, 7593, 8405, 404,
- 8075, 7593, 8405, 476,
- 8075, 7593, 8405, 516,
- 8075, 7593, 8405, 582,
- 8075, 7593, 8405, 986,
- 8075, 7593, 8405, 1102,
- 8075, 7593, 8405, 1154,
- 8075, 7593, 8405, 1616,
- 8075, 7593, 8405, 1680,
- 8075, 7593, 8405, 2167, 8075, 236,
- 8075, 7593, 8405, 2167, 8075, 710,
- 8075, 7593, 8405, 2167, 8075, 1020,
- 8075, 7593, 8405, 2167, 8075, 1124,
- 8075, 7593, 8405, 2167, 8075, 1352,
- 8075, 7593, 8405, 2167, 8075, 1360,
- 8075, 7593, 8405, 2167, 8075, 2180,
- 8075, 7593, 8405, 2167, 8075, 4534,
- 8075, 7593, 8405, 2167, 8075, 5680,
- 8075, 7593, 8405, 2167, 8075, 7542,
- 8075, 7593, 8405, 2167, 8075, 8238,
- 8075, 7593, 8405, 2167, 8523, 2036,
- 8075, 7593, 8405, 2167, 8523, 2132,
- 8075, 7593, 8405, 2167, 8523, 2916,
- 8075, 7593, 8405, 2167, 8523, 7542,
- 8075, 7593, 8405, 2180,
- 8075, 7593, 8405, 2250,
- 8075, 7593, 8405, 2560,
- 8075, 7593, 8405, 2658,
- 8075, 7593, 8405, 3246,
- 8075, 7593, 8405, 4394,
- 8075, 7593, 8405, 4534,
- 8075, 7593, 8405, 4722,
- 8075, 7593, 8405, 4746,
- 8075, 7593, 8405, 5680,
- 8075, 7593, 8405, 5766,
- 8075, 7593, 8405, 6082,
- 8075, 7593, 8405, 6258,
- 8075, 7593, 8405, 6640,
- 8075, 7593, 8405, 6824,
- 8075, 7593, 8405, 6976,
- 8075, 7593, 8405, 7090,
- 8075, 7593, 8405, 7484,
- 8075, 7593, 8405, 7542,
- 8075, 7593, 8405, 8238,
- 8075, 7593, 8405, 8816,
- 8075, 7593, 8405, 9127, 5680,
- 8075, 7593, 8405, 9861, 4746,
- 8075, 7593, 8405, 10295, 236,
- 8075, 7593, 8405, 10807, 404,
- 8075, 7593, 8405, 10807, 3244,
- 8075, 7593, 8405, 10807, 4534,
- 8075, 7593, 8405, 10807, 4722,
- 8075, 7593, 8405, 12921, 404,
- 8075, 7593, 8405, 12921, 1102,
- 8075, 8775, 375, 516,
- 8075, 8775, 477, 516,
- 8075, 8775, 1582,
- 8075, 8775, 1617, 516,
- 8075, 8775, 2659, 516,
- 8075, 8775, 7543, 5766,
- 8075, 8775, 9738,
- 8075, 9063, 8405, 28,
- 8075, 9063, 8405, 202,
- 8075, 9063, 8405, 374,
- 8075, 9063, 8405, 404,
- 8075, 9063, 8405, 476,
- 8075, 9063, 8405, 516,
- 8075, 9063, 8405, 582,
- 8075, 9063, 8405, 986,
- 8075, 9063, 8405, 1102,
- 8075, 9063, 8405, 1154,
- 8075, 9063, 8405, 1616,
- 8075, 9063, 8405, 1680,
- 8075, 9063, 8405, 2167, 8075, 236,
- 8075, 9063, 8405, 2167, 8075, 710,
- 8075, 9063, 8405, 2167, 8075, 1020,
- 8075, 9063, 8405, 2167, 8075, 1124,
- 8075, 9063, 8405, 2167, 8075, 1352,
- 8075, 9063, 8405, 2167, 8075, 1360,
- 8075, 9063, 8405, 2167, 8075, 2180,
- 8075, 9063, 8405, 2167, 8075, 4534,
- 8075, 9063, 8405, 2167, 8075, 5680,
- 8075, 9063, 8405, 2167, 8075, 7542,
- 8075, 9063, 8405, 2167, 8075, 8238,
- 8075, 9063, 8405, 2167, 8523, 2036,
- 8075, 9063, 8405, 2167, 8523, 2132,
- 8075, 9063, 8405, 2167, 8523, 2916,
- 8075, 9063, 8405, 2167, 8523, 7542,
- 8075, 9063, 8405, 2180,
- 8075, 9063, 8405, 2250,
- 8075, 9063, 8405, 2560,
- 8075, 9063, 8405, 2658,
- 8075, 9063, 8405, 3246,
- 8075, 9063, 8405, 4394,
- 8075, 9063, 8405, 4534,
- 8075, 9063, 8405, 4722,
- 8075, 9063, 8405, 4746,
- 8075, 9063, 8405, 5680,
- 8075, 9063, 8405, 5766,
- 8075, 9063, 8405, 6082,
- 8075, 9063, 8405, 6258,
- 8075, 9063, 8405, 6640,
- 8075, 9063, 8405, 6824,
- 8075, 9063, 8405, 6976,
- 8075, 9063, 8405, 7090,
- 8075, 9063, 8405, 7484,
- 8075, 9063, 8405, 7542,
- 8075, 9063, 8405, 8238,
- 8075, 9063, 8405, 8816,
- 8075, 9063, 8405, 9127, 5680,
- 8075, 9063, 8405, 9861, 4746,
- 8075, 9063, 8405, 10295, 236,
- 8075, 9063, 8405, 10807, 404,
- 8075, 9063, 8405, 10807, 3244,
- 8075, 9063, 8405, 10807, 4534,
- 8075, 9063, 8405, 10807, 4722,
- 8075, 9063, 8405, 12921, 404,
- 8075, 9063, 8405, 12921, 1102,
- 8075, 10203, 2171, 4388,
- 8075, 12977, 9178,
- 8083, 5833, 11163, 5759, 10380,
- 8088,
- 8097, 1809, 4876,
- 8097, 10388,
- 8097, 13235, 11765, 6434,
- 8101, 5758,
- 8101, 9076,
- 8101, 11626,
- 8117, 1177, 6716,
- 8117, 1177, 6957, 6716,
- 8117, 1177, 8403, 3070,
- 8117, 1177, 8403, 6178,
- 8117, 1177, 9251, 6956,
- 8117, 1177, 9251, 8290,
- 8117, 1177, 9315, 3070,
- 8117, 1177, 9315, 6178,
- 8117, 1177, 10239, 6716,
- 8121, 9129, 8775, 4213, 2778,
- 8129, 5758,
- 8133, 5941, 10677, 3696,
- 8133, 5941, 11649, 3696,
- 8133, 5941, 13086,
- 8133, 5941, 13088,
- 8133, 5941, 13090,
- 8133, 5941, 13092,
- 8133, 5941, 13094,
- 8133, 5941, 13096,
- 8133, 5941, 13098,
- 8133, 5941, 13100,
- 8133, 5941, 13102,
- 8133, 5941, 13104,
- 8133, 5941, 13106,
- 8133, 5941, 13108,
- 8133, 5941, 13110,
- 8133, 5941, 13112,
- 8133, 5941, 13114,
- 8133, 5941, 13116,
- 8133, 5941, 13118,
- 8133, 5941, 13120,
- 8133, 5941, 13122,
- 8133, 5941, 13124,
- 8133, 5941, 13126,
- 8133, 5941, 13128,
- 8133, 5941, 13130,
- 8133, 5941, 13132,
- 8133, 5941, 13134,
- 8133, 5941, 13136,
- 8133, 5941, 13138,
- 8133, 5941, 13140,
- 8133, 5941, 13142,
- 8133, 5941, 13144,
- 8133, 5941, 13146,
- 8133, 5941, 13148,
- 8133, 5941, 13150,
- 8133, 5941, 13152,
- 8133, 5941, 13154,
- 8133, 5941, 13156,
- 8133, 5941, 13158,
- 8133, 5941, 13160,
- 8133, 5941, 13162,
- 8133, 5941, 13164,
- 8133, 5941, 13166,
- 8133, 5941, 13168,
- 8133, 5941, 13170,
- 8133, 5941, 13172,
- 8133, 5941, 13174,
- 8133, 5941, 13176,
- 8133, 5941, 13178,
- 8133, 5941, 13180,
- 8133, 5941, 13182,
- 8133, 5941, 13240,
- 8133, 5941, 13242,
- 8133, 5941, 13244,
- 8133, 5941, 13246,
- 8133, 5941, 13248,
- 8133, 5941, 13250,
- 8133, 5941, 13252,
- 8133, 5941, 13254,
- 8133, 5941, 13256,
- 8133, 5941, 13258,
- 8133, 5941, 13260,
- 8133, 5941, 13262,
- 8133, 5941, 13264,
- 8133, 5941, 13266,
- 8133, 5941, 13268,
- 8133, 5941, 13270,
- 8133, 5941, 13272,
- 8133, 5941, 13274,
- 8133, 5941, 13276,
- 8133, 5941, 13278,
- 8133, 5941, 13280,
- 8133, 5941, 13282,
- 8133, 5941, 13284,
- 8133, 5941, 13286,
- 8133, 5941, 13288,
- 8133, 5941, 13290,
- 8133, 5941, 13292,
- 8133, 5941, 13294,
- 8133, 5941, 13296,
- 8133, 5941, 13298,
- 8133, 5941, 13300,
- 8133, 5941, 13302,
- 8133, 5941, 13304,
- 8133, 5941, 13306,
- 8133, 5941, 13308,
- 8133, 5941, 13310,
- 8133, 5941, 13312,
- 8133, 5941, 13314,
- 8133, 5941, 13316,
- 8133, 5941, 13318,
- 8133, 5941, 13320,
- 8133, 5941, 13322,
- 8133, 5941, 13324,
- 8133, 5941, 13326,
- 8133, 5941, 13328,
- 8133, 5941, 13330,
- 8133, 5941, 13332,
- 8133, 5941, 13334,
- 8133, 5941, 13336,
- 8151, 6622,
- 8151, 6778,
- 8151, 8056,
- 8151, 8528,
- 8151, 8744,
- 8151, 13029, 8450,
- 8151, 13067, 6408,
- 8153, 601, 5876,
- 8153, 1809, 4876,
- 8153, 4117, 5876,
- 8153, 4849, 731, 12473, 9050,
- 8153, 5444,
- 8153, 6107, 10388,
- 8153, 6379, 7908,
- 8153, 6611, 6740,
- 8153, 7119, 11195, 4926,
- 8153, 7390,
- 8153, 7391, 11195, 4926,
- 8153, 7443, 731, 11099, 9050,
- 8153, 7768,
- 8153, 8088,
- 8153, 8509, 11098,
- 8153, 8509, 11099, 6121, 10666,
- 8153, 8509, 12472,
- 8153, 8745, 7768,
- 8153, 8745, 12492,
- 8153, 8759, 2091, 5758,
- 8153, 8762,
- 8153, 9095, 6689, 2170,
- 8153, 9095, 6689, 2540,
- 8153, 9095, 6689, 2778,
- 8153, 9095, 6689, 4200,
- 8153, 9095, 6689, 4214,
- 8153, 9095, 6689, 5190,
- 8153, 9095, 6689, 6722,
- 8153, 9095, 6689, 7508,
- 8153, 9095, 6689, 7694,
- 8153, 9095, 8525, 2670,
- 8153, 9437, 444,
- 8153, 9437, 720,
- 8153, 9525, 8306,
- 8153, 9719, 10374,
- 8153, 10260,
- 8153, 10452,
- 8153, 10469, 4926,
- 8153, 10574,
- 8153, 10578,
- 8153, 10677, 761, 4849, 11378,
- 8153, 10677, 761, 8153, 4849, 11378,
- 8153, 10677, 761, 8153, 7443, 11378,
- 8153, 10677, 4876,
- 8153, 12017, 4926,
- 8153, 12492,
- 8153, 13201, 11195, 4926,
- 8159, 5244,
- 8167, 5758,
- 8167, 5759, 721, 9705, 10410,
- 8167, 5759, 721, 9705, 10411, 6121, 7709, 6376,
- 8167, 5759, 6121, 1045, 6490,
- 8167, 5759, 6121, 2779, 4113, 6377, 721, 2779, 4113, 6490,
- 8167, 5759, 6121, 6537, 6376,
- 8167, 5759, 6377, 5445, 5758,
- 8167, 5759, 6377, 7709, 10374,
- 8167, 5759, 6377, 11097, 6434,
- 8167, 5759, 6377, 11765, 6434,
- 8167, 6121, 9898,
- 8167, 6610,
- 8172,
- 8197, 5758,
- 8203, 3992,
- 8203, 7608,
- 8209, 5401, 10260,
- 8225, 6906,
- 8226,
- 8227, 12133, 4926,
- 8228,
- 8231, 12108,
- 8233, 5566,
- 8235, 6809, 5758,
- 8246,
- 8255, 7359, 5758,
- 8263, 7630,
- 8267, 8405, 1104,
- 8267, 8405, 1510,
- 8267, 8405, 3234,
- 8267, 8405, 3980,
- 8267, 8405, 4324,
- 8267, 8405, 4384,
- 8267, 8405, 4622,
- 8267, 8405, 5191, 9344,
- 8267, 8405, 6056,
- 8267, 8405, 6768,
- 8267, 8405, 6960,
- 8267, 8405, 6984,
- 8267, 8405, 7064,
- 8267, 8405, 7078,
- 8267, 8405, 7130,
- 8267, 8405, 7322,
- 8267, 8405, 7416,
- 8267, 8405, 7490,
- 8267, 8405, 7674,
- 8267, 8405, 7828,
- 8267, 8405, 7912,
- 8267, 8405, 8502,
- 8267, 8405, 8514,
- 8267, 8405, 8822,
- 8267, 8405, 9018,
- 8267, 8405, 10394,
- 8267, 8405, 10462,
- 8285, 721, 5424,
- 8285, 721, 8712,
- 8287, 8153, 1045, 5965, 4926,
- 8287, 8206,
- 8287, 8405, 0,
- 8287, 8405, 8,
- 8287, 8405, 16,
- 8287, 8405, 28,
- 8287, 8405, 40,
- 8287, 8405, 66,
- 8287, 8405, 178,
- 8287, 8405, 188,
- 8287, 8405, 426,
- 8287, 8405, 622,
- 8287, 8405, 626,
- 8287, 8405, 630,
- 8287, 8405, 652,
- 8287, 8405, 654,
- 8287, 8405, 656,
- 8287, 8405, 660,
- 8287, 8405, 664,
- 8287, 8405, 2908,
- 8287, 8405, 2926,
- 8287, 8405, 3012,
- 8287, 8405, 3056,
- 8287, 8405, 5770,
- 8287, 8405, 6216,
- 8287, 8405, 6230,
- 8287, 8405, 6422,
- 8287, 8405, 6594,
- 8287, 8405, 6912,
- 8287, 8405, 6982,
- 8287, 8405, 7166,
- 8287, 8405, 7244,
- 8287, 8405, 7372,
- 8287, 8405, 7440,
- 8287, 8405, 7862,
- 8287, 8405, 7866,
- 8287, 8405, 7932,
- 8287, 8405, 8362,
- 8287, 8405, 8828,
- 8287, 8405, 8950,
- 8287, 8405, 8956,
- 8287, 8405, 9086,
- 8287, 8405, 9400,
- 8287, 8405, 9562,
- 8287, 8405, 9588,
- 8287, 8405, 9780,
- 8287, 8405, 10686,
- 8287, 8405, 11248,
- 8287, 8405, 11682,
- 8287, 8405, 11696,
- 8287, 8405, 11728,
- 8287, 8405, 11758,
- 8287, 8405, 11804,
- 8287, 8405, 11812,
- 8287, 8405, 11814,
- 8287, 8405, 11824,
- 8287, 8405, 11826,
- 8287, 8405, 11828,
- 8287, 8405, 11830,
- 8287, 8405, 11832,
- 8287, 8405, 12070,
- 8287, 8405, 12080,
- 8287, 8405, 12094,
- 8287, 8405, 12096,
- 8287, 8405, 12124,
- 8287, 8405, 12144,
- 8287, 8405, 12146,
- 8287, 8405, 12150,
- 8287, 8405, 12346,
- 8287, 8405, 12348,
- 8287, 8405, 12350,
- 8287, 8405, 12352,
- 8287, 8405, 12388,
- 8287, 8405, 12514,
- 8287, 8405, 12518,
- 8287, 8405, 12520,
- 8287, 8405, 12532,
- 8287, 8405, 12534,
- 8287, 8405, 12958,
- 8287, 8405, 12960,
- 8287, 8405, 12972,
- 8287, 8405, 12978,
- 8287, 8405, 12998,
- 8287, 8405, 13004,
- 8287, 8405, 13006,
- 8287, 8405, 13008,
- 8287, 8405, 13034,
- 8287, 8405, 13204,
- 8287, 8405, 13348,
- 8287, 8405, 13354,
- 8287, 8405, 13366,
- 8287, 8405, 13368,
- 8287, 8405, 13370,
- 8287, 8405, 13374,
- 8287, 8405, 13386,
- 8287, 8717, 1045, 5965, 4926,
- 8287, 9945, 5770,
- 8287, 9945, 6594,
- 8287, 9945, 6912,
- 8287, 9945, 6982,
- 8287, 9945, 7166,
- 8287, 9945, 7244,
- 8287, 9945, 7372,
- 8287, 9945, 7440,
- 8287, 9945, 8206,
- 8287, 9945, 8362,
- 8287, 9945, 8828,
- 8287, 9945, 9086,
- 8287, 9945, 9400,
- 8287, 9945, 9562,
- 8287, 9945, 9588,
- 8287, 9945, 9780,
- 8287, 9945, 10686,
- 8287, 9945, 11248,
- 8287, 9945, 11652,
- 8287, 9945, 11728,
- 8287, 9945, 11804,
- 8287, 9945, 11806,
- 8287, 9945, 11808,
- 8287, 9945, 11810,
- 8287, 9945, 11812,
- 8287, 9945, 11814,
- 8287, 9945, 11816,
- 8287, 9945, 11824,
- 8287, 9945, 11826,
- 8287, 9945, 11828,
- 8287, 9945, 11830,
- 8287, 9945, 11832,
- 8287, 9945, 11834,
- 8287, 9945, 11902,
- 8287, 9945, 12044,
- 8287, 9945, 12046,
- 8287, 9945, 12048,
- 8287, 9945, 12080,
- 8287, 9945, 12098,
- 8287, 9945, 12124,
- 8287, 9945, 12128,
- 8287, 9945, 12144,
- 8287, 9945, 12148,
- 8287, 9945, 12346,
- 8287, 9945, 12348,
- 8287, 9945, 12350,
- 8287, 9945, 12352,
- 8287, 9945, 12388,
- 8287, 9945, 12424,
- 8287, 9945, 12484,
- 8287, 9945, 12486,
- 8287, 9945, 12512,
- 8287, 9945, 12514,
- 8287, 9945, 12518,
- 8287, 9945, 12520,
- 8287, 9945, 12858,
- 8287, 9945, 12860,
- 8287, 9945, 12862,
- 8287, 9945, 12864,
- 8287, 9945, 12908,
- 8287, 9945, 12910,
- 8287, 9945, 12942,
- 8287, 9945, 12946,
- 8287, 9945, 12948,
- 8287, 9945, 12950,
- 8287, 9945, 12958,
- 8287, 9945, 12960,
- 8287, 9945, 12962,
- 8287, 9945, 12992,
- 8287, 9945, 12994,
- 8287, 9945, 12996,
- 8287, 9945, 12998,
- 8287, 9945, 13026,
- 8287, 9945, 13078,
- 8287, 9945, 13192,
- 8287, 9945, 13194,
- 8287, 9945, 13196,
- 8287, 9945, 13204,
- 8287, 9945, 13218,
- 8287, 9945, 13238,
- 8287, 9945, 13342,
- 8287, 9945, 13344,
- 8287, 9945, 13358,
- 8287, 9945, 13366,
- 8287, 9945, 13368,
- 8287, 9945, 13378,
- 8287, 9945, 13382,
- 8287, 9945, 13384,
- 8287, 9945, 13386,
- 8287, 9945, 13408,
- 8287, 9945, 13412,
- 8287, 11071, 5770,
- 8287, 11071, 6594,
- 8287, 11071, 6912,
- 8287, 11071, 6982,
- 8287, 11071, 7166,
- 8287, 11071, 7244,
- 8287, 11071, 7372,
- 8287, 11071, 7440,
- 8287, 11071, 8362,
- 8287, 11071, 8828,
- 8287, 11071, 9086,
- 8287, 11071, 9400,
- 8287, 11071, 9562,
- 8287, 11071, 9588,
- 8287, 11071, 9780,
- 8287, 11071, 10686,
- 8287, 11071, 11248,
- 8287, 11071, 11682,
- 8287, 11071, 11696,
- 8287, 11071, 11728,
- 8287, 11071, 11758,
- 8287, 11071, 11814,
- 8287, 11071, 11816,
- 8287, 11071, 11828,
- 8287, 11071, 11834,
- 8287, 11071, 12032,
- 8287, 11071, 12034,
- 8287, 11071, 12036,
- 8287, 11071, 12038,
- 8287, 11071, 12070,
- 8287, 11071, 12078,
- 8287, 11071, 12080,
- 8287, 11071, 12082,
- 8287, 11071, 12094,
- 8287, 11071, 12096,
- 8287, 11071, 12126,
- 8287, 11071, 12130,
- 8287, 11071, 12144,
- 8287, 11071, 12146,
- 8287, 11071, 12148,
- 8287, 11071, 12150,
- 8287, 11071, 12346,
- 8287, 11071, 12348,
- 8287, 11071, 12350,
- 8287, 11071, 12388,
- 8287, 11071, 12484,
- 8287, 11071, 12496,
- 8287, 11071, 12508,
- 8287, 11071, 12512,
- 8287, 11071, 12514,
- 8287, 11071, 12532,
- 8287, 11071, 12534,
- 8287, 11071, 12884,
- 8287, 11071, 12944,
- 8287, 11071, 12958,
- 8287, 11071, 12960,
- 8287, 11071, 12970,
- 8287, 11071, 12972,
- 8287, 11071, 12978,
- 8287, 11071, 12980,
- 8287, 11071, 12992,
- 8287, 11071, 12996,
- 8287, 11071, 13002,
- 8287, 11071, 13004,
- 8287, 11071, 13006,
- 8287, 11071, 13008,
- 8287, 11071, 13026,
- 8287, 11071, 13034,
- 8287, 11071, 13204,
- 8287, 11071, 13214,
- 8287, 11071, 13224,
- 8287, 11071, 13346,
- 8287, 11071, 13348,
- 8287, 11071, 13354,
- 8287, 11071, 13362,
- 8287, 11071, 13370,
- 8287, 11071, 13372,
- 8287, 11071, 13374,
- 8287, 11071, 13388,
- 8287, 11071, 13394,
- 8287, 11071, 13396,
- 8287, 11071, 13406,
- 8287, 11073, 0,
- 8287, 11073, 8,
- 8287, 11073, 16,
- 8287, 11073, 28,
- 8287, 11073, 40,
- 8287, 11073, 66,
- 8287, 11073, 178,
- 8287, 11073, 188,
- 8287, 11073, 426,
- 8287, 11073, 622,
- 8287, 11073, 626,
- 8287, 11073, 630,
- 8287, 11073, 652,
- 8287, 11073, 654,
- 8287, 11073, 656,
- 8287, 11073, 660,
- 8287, 11073, 664,
- 8287, 11073, 686,
- 8287, 11073, 688,
- 8287, 11073, 1466,
- 8287, 11073, 1468,
- 8287, 11073, 1470,
- 8287, 11073, 2148,
- 8287, 11073, 2150,
- 8287, 11073, 2152,
- 8287, 11073, 2800,
- 8287, 11073, 2802,
- 8287, 11073, 2908,
- 8287, 11073, 2926,
- 8287, 11073, 3012,
- 8287, 11073, 3056,
- 8287, 11073, 4160,
- 8287, 11073, 4162,
- 8287, 11073, 4168,
- 8287, 11073, 4592,
- 8287, 11073, 4594,
- 8287, 11073, 5370,
- 8287, 11073, 5372,
- 8287, 11073, 6040,
- 8287, 11073, 6042,
- 8287, 11073, 6158,
- 8287, 11073, 6204,
- 8287, 11073, 6216,
- 8287, 11073, 6218,
- 8287, 11073, 6226,
- 8287, 11073, 6228,
- 8287, 11073, 6230,
- 8287, 11073, 6232,
- 8287, 11073, 6422,
- 8287, 11073, 6736,
- 8287, 11073, 6760,
- 8287, 11073, 7838,
- 8287, 11073, 7850,
- 8287, 11073, 7852,
- 8287, 11073, 7862,
- 8287, 11073, 7864,
- 8287, 11073, 7866,
- 8287, 11073, 8206,
- 8287, 11073, 8950,
- 8287, 11073, 8952,
- 8287, 11073, 8956,
- 8287, 11073, 9002,
- 8287, 11073, 9004,
- 8287, 11073, 9346,
- 8287, 11073, 9800,
- 8287, 11073, 9882,
- 8287, 11073, 11822,
- 8293, 4927, 7121, 1044,
- 8293, 4927, 7773, 1044,
- 8293, 4927, 8455, 8056,
- 8293, 7383, 2535, 1044,
- 8293, 7383, 5522,
- 8293, 7383, 5699, 1044,
- 8293, 7383, 6901, 7342,
- 8293, 7383, 6901, 7502,
- 8293, 7383, 6901, 8620,
- 8293, 7383, 6914,
- 8293, 7383, 6948,
- 8293, 7383, 6949, 6899, 1177, 2852,
- 8293, 7383, 7148,
- 8293, 7383, 7342,
- 8293, 7383, 7502,
- 8293, 7383, 7536,
- 8293, 7383, 7742,
- 8293, 7383, 8087, 445, 7132,
- 8293, 7383, 8620,
- 8293, 7383, 8621, 7404,
- 8293, 7383, 8626,
- 8293, 7383, 12957, 8910,
- 8293, 7909, 2168,
- 8293, 7909, 4054,
- 8293, 7909, 4604,
- 8293, 7909, 6439, 8280,
- 8293, 7909, 6652,
- 8293, 7909, 7192,
- 8293, 7909, 7346,
- 8293, 7909, 7402,
- 8293, 7909, 7432,
- 8293, 7909, 7502,
- 8293, 7909, 7676,
- 8293, 7909, 7855, 785, 6222,
- 8293, 7909, 7858,
- 8293, 7909, 7869, 6816,
- 8293, 7909, 7869, 7404,
- 8293, 7909, 7870,
- 8293, 7909, 7886,
- 8293, 7909, 8252,
- 8293, 7909, 8253, 8492,
- 8293, 7909, 8468,
- 8293, 7909, 8469, 8346,
- 8293, 7909, 8568,
- 8293, 7909, 8623, 5398,
- 8293, 7909, 8830,
- 8293, 7909, 9272,
- 8293, 7909, 9773, 8244,
- 8293, 7909, 9773, 8624,
- 8293, 7909, 10310,
- 8293, 7909, 11016,
- 8293, 7909, 11798,
- 8293, 8405, 238,
- 8293, 8405, 239, 6121, 7132,
- 8293, 8405, 468,
- 8293, 8405, 469, 6121, 5522,
- 8293, 8405, 469, 6121, 8086,
- 8293, 8405, 788,
- 8293, 8405, 789, 6121, 5522,
- 8293, 8405, 789, 6121, 8086,
- 8293, 8405, 1366,
- 8293, 8405, 1578,
- 8293, 8405, 1579, 6121, 5522,
- 8293, 8405, 1579, 6121, 8086,
- 8293, 8405, 1892,
- 8293, 8405, 1893, 6121, 8086,
- 8293, 8405, 2110,
- 8293, 8405, 2111, 6121, 8086,
- 8293, 8405, 2318,
- 8293, 8405, 2319, 6121, 8086,
- 8293, 8405, 2660,
- 8293, 8405, 2661, 6121, 8086,
- 8293, 8405, 2674,
- 8293, 8405, 2675, 6121, 8086,
- 8293, 8405, 2852,
- 8293, 8405, 2853, 6121, 6948,
- 8293, 8405, 2853, 6121, 8086,
- 8293, 8405, 3080,
- 8293, 8405, 3081, 6121, 6914,
- 8293, 8405, 3081, 6121, 8086,
- 8293, 8405, 3244,
- 8293, 8405, 3245, 6121, 7132,
- 8293, 8405, 3245, 6121, 7342,
- 8293, 8405, 3245, 6121, 8620,
- 8293, 8405, 3292,
- 8293, 8405, 5538,
- 8293, 8405, 5539, 6121, 8086,
- 8293, 8405, 5698,
- 8293, 8405, 5699, 6121, 2535, 1044,
- 8293, 8405, 5699, 6121, 5699, 1044,
- 8293, 8405, 5699, 6121, 8086,
- 8293, 8405, 5699, 6121, 8087, 721, 2535, 1044,
- 8293, 8405, 5699, 6121, 8087, 721, 5699, 1044,
- 8293, 8405, 6115, 238,
- 8293, 8405, 6115, 1578,
- 8293, 8405, 6115, 2660,
- 8293, 8405, 6115, 3244,
- 8293, 8405, 6115, 5538,
- 8293, 8405, 6115, 6642,
- 8293, 8405, 6115, 6789, 1892,
- 8293, 8405, 6115, 7082,
- 8293, 8405, 6642,
- 8293, 8405, 6643, 6121, 8086,
- 8293, 8405, 6789, 468,
- 8293, 8405, 6789, 469, 6121, 8086,
- 8293, 8405, 6789, 1578,
- 8293, 8405, 6789, 1579, 6121, 8086,
- 8293, 8405, 6789, 1892,
- 8293, 8405, 6789, 2110,
- 8293, 8405, 6789, 7740,
- 8293, 8405, 6856,
- 8293, 8405, 6857, 6121, 8086,
- 8293, 8405, 7082,
- 8293, 8405, 7083, 6121, 8086,
- 8293, 8405, 7740,
- 8293, 8405, 7741, 6121, 8086,
- 8293, 8405, 7872,
- 8293, 8405, 7873, 6121, 8086,
- 8293, 8405, 8660,
- 8293, 8405, 8661, 6121, 8086,
- 8293, 8405, 11893, 3292,
- 8293, 8405, 11893, 5445, 5758,
- 8293, 10301, 3245, 7082,
- 8293, 10301, 9847, 2853, 3080,
- 8293, 10301, 9847, 3081, 3081, 7342,
- 8293, 10301, 9847, 8153, 2852,
- 8293, 10301, 9847, 8153, 3080,
- 8293, 12133, 2111, 9318,
- 8293, 12133, 2551, 7340,
- 8293, 12133, 7134,
- 8293, 12133, 7338,
- 8293, 12133, 8252,
- 8293, 12133, 11016,
- 8306,
- 8307, 6121, 10804,
- 8307, 8022,
- 8337, 9617, 151, 2090,
- 8337, 9617, 228,
- 8337, 9617, 229, 8722,
- 8337, 9617, 720,
- 8337, 9617, 742,
- 8337, 9617, 806,
- 8337, 9617, 824,
- 8337, 9617, 920,
- 8337, 9617, 1036,
- 8337, 9617, 1044,
- 8337, 9617, 1048,
- 8337, 9617, 1090,
- 8337, 9617, 1092,
- 8337, 9617, 1136,
- 8337, 9617, 1170,
- 8337, 9617, 1182,
- 8337, 9617, 1474,
- 8337, 9617, 1504,
- 8337, 9617, 1780,
- 8337, 9617, 1860,
- 8337, 9617, 2024,
- 8337, 9617, 2090,
- 8337, 9617, 2166,
- 8337, 9617, 2170,
- 8337, 9617, 2224,
- 8337, 9617, 2390,
- 8337, 9617, 2392,
- 8337, 9617, 2400,
- 8337, 9617, 2454,
- 8337, 9617, 2502,
- 8337, 9617, 2504,
- 8337, 9617, 2586,
- 8337, 9617, 2670,
- 8337, 9617, 2778,
- 8337, 9617, 2779, 6896,
- 8337, 9617, 2834,
- 8337, 9617, 3762,
- 8337, 9617, 3788,
- 8337, 9617, 3794,
- 8337, 9617, 3798,
- 8337, 9617, 3800,
- 8337, 9617, 3805, 429, 6604,
- 8337, 9617, 3806,
- 8337, 9617, 3850,
- 8337, 9617, 3852,
- 8337, 9617, 3940,
- 8337, 9617, 3942,
- 8337, 9617, 3944,
- 8337, 9617, 4052,
- 8337, 9617, 4094,
- 8337, 9617, 4108,
- 8337, 9617, 4117, 826,
- 8337, 9617, 4120,
- 8337, 9617, 4172,
- 8337, 9617, 4178,
- 8337, 9617, 4180,
- 8337, 9617, 4194,
- 8337, 9617, 4196,
- 8337, 9617, 4208,
- 8337, 9617, 4218,
- 8337, 9617, 4244,
- 8337, 9617, 4342,
- 8337, 9617, 4386,
- 8337, 9617, 4389, 5969, 7736,
- 8337, 9617, 4390,
- 8337, 9617, 4398,
- 8337, 9617, 4402,
- 8337, 9617, 4530,
- 8337, 9617, 4536,
- 8337, 9617, 4608,
- 8337, 9617, 4628,
- 8337, 9617, 4824,
- 8337, 9617, 4834,
- 8337, 9617, 4844,
- 8337, 9617, 4846,
- 8337, 9617, 4850,
- 8337, 9617, 4872,
- 8337, 9617, 4876,
- 8337, 9617, 4894,
- 8337, 9617, 4895, 8756,
- 8337, 9617, 4940,
- 8337, 9617, 5012,
- 8337, 9617, 5242,
- 8337, 9617, 5385, 826,
- 8337, 9617, 5438,
- 8337, 9617, 5524,
- 8337, 9617, 5546,
- 8337, 9617, 5562,
- 8337, 9617, 5632,
- 8337, 9617, 5646,
- 8337, 9617, 5650,
- 8337, 9617, 5764,
- 8337, 9617, 5772,
- 8337, 9617, 5834,
- 8337, 9617, 5836,
- 8337, 9617, 5884,
- 8337, 9617, 5940,
- 8337, 9617, 5968,
- 8337, 9617, 6100,
- 8337, 9617, 6101, 10970,
- 8337, 9617, 6112,
- 8337, 9617, 6116,
- 8337, 9617, 6118,
- 8337, 9617, 6130,
- 8337, 9617, 6132,
- 8337, 9617, 6384,
- 8337, 9617, 6434,
- 8337, 9617, 6504,
- 8337, 9617, 6512,
- 8337, 9617, 6520,
- 8337, 9617, 6574,
- 8337, 9617, 6600,
- 8337, 9617, 6612,
- 8337, 9617, 6618,
- 8337, 9617, 6670,
- 8337, 9617, 6716,
- 8337, 9617, 6722,
- 8337, 9617, 6734,
- 8337, 9617, 6780,
- 8337, 9617, 6786,
- 8337, 9617, 6794,
- 8337, 9617, 6852,
- 8337, 9617, 6870,
- 8337, 9617, 6872,
- 8337, 9617, 6906,
- 8337, 9617, 6952,
- 8337, 9617, 7056,
- 8337, 9617, 7144,
- 8337, 9617, 7184,
- 8337, 9617, 7186,
- 8337, 9617, 7388,
- 8337, 9617, 7443, 5385, 826,
- 8337, 9617, 7446,
- 8337, 9617, 7526,
- 8337, 9617, 7532,
- 8337, 9617, 7548,
- 8337, 9617, 7551, 8785, 3788,
- 8337, 9617, 7551, 8824,
- 8337, 9617, 7580,
- 8337, 9617, 7582,
- 8337, 9617, 7584,
- 8337, 9617, 7592,
- 8337, 9617, 7602,
- 8337, 9617, 7604,
- 8337, 9617, 7612,
- 8337, 9617, 7616,
- 8337, 9617, 7628,
- 8337, 9617, 7634,
- 8337, 9617, 7642,
- 8337, 9617, 7654,
- 8337, 9617, 7662,
- 8337, 9617, 7704,
- 8337, 9617, 7726,
- 8337, 9617, 7730,
- 8337, 9617, 7812,
- 8337, 9617, 7816,
- 8337, 9617, 7820,
- 8337, 9617, 7830,
- 8337, 9617, 7832,
- 8337, 9617, 7942,
- 8337, 9617, 7964,
- 8337, 9617, 7974,
- 8337, 9617, 8000,
- 8337, 9617, 8008,
- 8337, 9617, 8078,
- 8337, 9617, 8118,
- 8337, 9617, 8151, 5896,
- 8337, 9617, 8151, 6600,
- 8337, 9617, 8153, 46,
- 8337, 9617, 8154,
- 8337, 9617, 8194,
- 8337, 9617, 8303, 10970,
- 8337, 9617, 8316,
- 8337, 9617, 8476,
- 8337, 9617, 8484,
- 8337, 9617, 8542,
- 8337, 9617, 8678,
- 8337, 9617, 8680,
- 8337, 9617, 8730,
- 8337, 9617, 8734,
- 8337, 9617, 8740,
- 8337, 9617, 8744,
- 8337, 9617, 8793, 9426,
- 8337, 9617, 8844,
- 8337, 9617, 8852,
- 8337, 9617, 8866,
- 8337, 9617, 8870,
- 8337, 9617, 8906,
- 8337, 9617, 8928,
- 8337, 9617, 8946,
- 8337, 9617, 9056,
- 8337, 9617, 9102,
- 8337, 9617, 9106,
- 8337, 9617, 9274,
- 8337, 9617, 9282,
- 8337, 9617, 9322,
- 8337, 9617, 9426,
- 8337, 9617, 9480,
- 8337, 9617, 9532,
- 8337, 9617, 9608,
- 8337, 9617, 9658,
- 8337, 9617, 9822,
- 8337, 9617, 9934,
- 8337, 9617, 10206,
- 8337, 9617, 10336,
- 8337, 9617, 10344,
- 8337, 9617, 10456,
- 8337, 9617, 10520,
- 8337, 9617, 10542,
- 8337, 9617, 10970,
- 8337, 9617, 11488,
- 8337, 9617, 11606,
- 8337, 9617, 11946,
- 8337, 9617, 12155, 6118,
- 8349, 5758,
- 8371, 10539, 8774,
- 8389, 5912,
- 8389, 5913, 445, 6741, 568,
- 8401, 5759, 2388,
- 8401, 5759, 7282,
- 8401, 6689, 2170,
- 8401, 6689, 2540,
- 8401, 6689, 2778,
- 8401, 6689, 4200,
- 8401, 6689, 4214,
- 8401, 6689, 5190,
- 8401, 6689, 6260,
- 8401, 6689, 6722,
- 8401, 6689, 7508,
- 8401, 6689, 7694,
- 8401, 7803, 5759, 8,
- 8401, 7803, 5759, 16,
- 8401, 7803, 5759, 28,
- 8401, 7803, 5759, 40,
- 8401, 7803, 5759, 58,
- 8401, 7803, 5759, 440,
- 8401, 7803, 5759, 606,
- 8401, 8405, 0,
- 8401, 8405, 100,
- 8401, 8405, 116,
- 8401, 8405, 138,
- 8401, 8405, 196,
- 8401, 8405, 216,
- 8401, 8405, 236,
- 8401, 8405, 292,
- 8401, 8405, 306,
- 8401, 8405, 332,
- 8401, 8405, 364,
- 8401, 8405, 392,
- 8401, 8405, 462,
- 8401, 8405, 510,
- 8401, 8405, 524,
- 8401, 8405, 556,
- 8401, 8405, 610,
- 8401, 8405, 622,
- 8401, 8405, 652,
- 8401, 8405, 814,
- 8401, 8405, 884,
- 8401, 8405, 974,
- 8401, 8405, 1080,
- 8401, 8405, 1168,
- 8401, 8405, 1286,
- 8401, 8405, 1390,
- 8401, 8405, 1612,
- 8401, 8405, 1652,
- 8401, 8405, 1930,
- 8401, 8405, 2030,
- 8401, 8405, 2126,
- 8401, 8405, 2212,
- 8401, 8405, 2234,
- 8401, 8405, 2516,
- 8401, 8405, 2678,
- 8401, 8405, 2732,
- 8401, 8405, 2746,
- 8401, 8405, 5978,
- 8401, 8405, 5994,
- 8401, 10775, 5759, 20,
- 8401, 10775, 5759, 22,
- 8401, 10775, 5759, 24,
- 8401, 10775, 5759, 26,
- 8401, 10775, 5759, 30,
- 8401, 10775, 5759, 34,
- 8401, 10775, 5759, 38,
- 8401, 10775, 5759, 4720,
- 8401, 10775, 5759, 9522,
- 8401, 11257, 8405, 510,
- 8401, 11257, 8405, 652,
- 8401, 12133, 5301, 8827, 8782,
- 8401, 12133, 8038,
- 8401, 12133, 8782,
- 8401, 12133, 8856,
- 8401, 12133, 8857, 8038,
- 8421, 3, 8775, 3328,
- 8421, 3, 8775, 3330,
- 8421, 3, 8775, 3336,
- 8421, 3, 8775, 3360,
- 8421, 3, 8775, 3384,
- 8421, 3, 8775, 3388,
- 8421, 3, 8775, 3402,
- 8421, 3, 8775, 3416,
- 8421, 3, 8775, 3418,
- 8421, 3, 8775, 3448,
- 8421, 3, 8775, 3454,
- 8421, 3, 8775, 3456,
- 8421, 3, 8775, 3460,
- 8421, 3, 8775, 3464,
- 8421, 3, 10247, 3471, 1860,
- 8421, 3, 10247, 3473, 7830,
- 8421, 3, 10247, 3475, 4052,
- 8421, 3, 10247, 3477, 6742,
- 8421, 3, 10247, 3479, 7816,
- 8421, 3, 10247, 3481, 7978,
- 8421, 3, 10247, 3483, 7314,
- 8421, 3, 10247, 3485, 7614,
- 8421, 3, 10247, 3487, 9134,
- 8421, 3, 10247, 3493, 2164,
- 8421, 3, 10247, 3495, 6118,
- 8421, 3, 10247, 3496,
- 8421, 3, 10247, 3503, 8018,
- 8421, 3, 10247, 3505, 4342,
- 8421, 3, 10247, 3506,
- 8421, 3, 10247, 3509, 6124,
- 8421, 3, 10247, 3510,
- 8421, 3, 10247, 3512,
- 8421, 3, 10247, 3515, 4536,
- 8421, 3, 10247, 3516,
- 8421, 3, 10247, 3518,
- 8421, 3, 10247, 3520,
- 8421, 3, 10247, 3526,
- 8421, 3, 10247, 3528,
- 8421, 3, 10247, 3531, 6604,
- 8421, 3, 10247, 3532,
- 8421, 3, 10247, 3534,
- 8421, 3, 10247, 3537, 9300,
- 8421, 3, 10247, 3539, 7936,
- 8421, 3, 10247, 3540,
- 8421, 3, 10247, 3542,
- 8421, 3, 10247, 3544,
- 8421, 3, 10247, 3546,
- 8421, 3, 10247, 3548,
- 8421, 3, 10247, 3550,
- 8421, 3, 10247, 3552,
- 8421, 3, 10247, 3554,
- 8421, 3, 10247, 3556,
- 8421, 3, 10247, 3559, 7182,
- 8421, 3, 10247, 3560,
- 8421, 3, 10247, 3563, 5968,
- 8421, 3, 10247, 3564,
- 8421, 3, 10247, 3566,
- 8421, 3, 10247, 3568,
- 8421, 3, 10247, 3570,
- 8421, 3, 10247, 3572,
- 8421, 3, 10247, 3574,
- 8421, 3, 10247, 3576,
- 8421, 3, 10247, 3578,
- 8421, 3, 10247, 3580,
- 8421, 3, 10247, 3582,
- 8421, 3, 10247, 3584,
- 8421, 3, 10247, 3587, 8296,
- 8421, 3, 10247, 3629, 11000,
- 8421, 3, 10247, 3635, 9030,
- 8421, 3, 10247, 3645, 7612,
- 8421, 3, 10247, 3647, 6434,
- 8421, 3, 10247, 3648,
- 8421, 3, 10247, 3651, 7656,
- 8421, 3, 10247, 3652,
- 8421, 3, 10247, 3654,
- 8421, 3, 10247, 3657, 9841, 9082,
- 8421, 3, 10247, 3659, 9082,
- 8421, 3, 10247, 3661, 9083, 6806,
- 8421, 3, 10247, 3663, 7818,
- 8421, 3, 10247, 3664,
- 8421, 3, 10247, 3666,
- 8421, 3, 10247, 3670,
- 8421, 3, 10247, 3672,
- 8421, 3, 10247, 3676,
- 8421, 3, 10247, 3678,
- 8421, 3, 10247, 3680,
- 8421, 3, 10247, 3683, 3990,
- 8421, 3, 10247, 3684,
- 8421, 3, 10247, 3686,
- 8421, 3, 10247, 3688,
- 8421, 3, 10247, 3690,
- 8421, 3, 10247, 3692,
- 8421, 3, 10247, 6445, 4924,
- 8421, 3, 10247, 6447, 10536,
- 8421, 3, 10247, 6449, 1132,
- 8421, 3, 10247, 6451, 2386,
- 8421, 3, 10247, 6453, 10516,
- 8421, 3, 10247, 6455, 9332,
- 8421, 3, 10247, 6457, 2562,
- 8421, 3, 10247, 6459, 3796,
- 8421, 3, 10247, 6461, 920,
- 8421, 3, 10247, 6463, 3812,
- 8421, 3, 10247, 8915, 3522,
- 8421, 3, 10247, 8915, 3588,
- 8421, 3, 10247, 8915, 3590,
- 8421, 3, 10247, 8915, 3592,
- 8421, 3, 10247, 8915, 3594,
- 8421, 3, 10247, 8915, 3596,
- 8421, 3, 10247, 8915, 3598,
- 8421, 3, 10247, 8915, 3600,
- 8421, 3, 10247, 8915, 3602,
- 8421, 3, 10247, 8915, 3604,
- 8421, 3, 10247, 8915, 3606,
- 8421, 3, 10247, 8915, 3608,
- 8421, 3, 10247, 8915, 3610,
- 8421, 3, 10247, 8915, 3612,
- 8421, 3, 10247, 8915, 3614,
- 8421, 3, 10247, 8915, 3616,
- 8421, 3, 10247, 8915, 3618,
- 8421, 3, 10247, 8915, 3620,
- 8421, 3, 10247, 8915, 3622,
- 8421, 3, 10247, 8915, 3624,
- 8421, 3, 10247, 8915, 3626,
- 8421, 3, 10247, 8915, 3630,
- 8421, 3, 10247, 8915, 3632,
- 8421, 3, 10247, 8915, 3636,
- 8421, 3, 10247, 8915, 3638,
- 8421, 3, 10247, 8915, 3640,
- 8421, 3, 10247, 8915, 3642,
- 8421, 3, 10247, 8915, 3674,
- 8421, 3, 10247, 8915, 3694,
- 8421, 3, 10343, 3489, 4726,
- 8421, 3, 10343, 3491, 8334,
- 8421, 3, 10343, 3499, 6424,
- 8421, 3, 10343, 3501, 4948,
- 8421, 3, 10343, 3525, 7754,
- 8421, 3, 10343, 3669, 6692,
- 8421, 3, 10585, 3295, 138,
- 8421, 3, 10585, 3297, 516,
- 8421, 3, 10585, 3299, 462,
- 8421, 3, 10585, 3301, 560,
- 8421, 3, 10585, 3303, 568,
- 8421, 3, 10585, 3305, 392,
- 8421, 3, 10585, 3307, 144,
- 8421, 3, 10585, 3309, 0,
- 8421, 3, 10585, 3311, 526,
- 8421, 3, 10585, 3313, 40,
- 8421, 3, 10585, 3315, 480,
- 8421, 3, 10585, 3317, 536,
- 8421, 3, 10585, 3319, 368,
- 8421, 3, 10585, 3321, 150,
- 8421, 3, 10585, 3323, 380,
- 8421, 3, 10585, 3325, 496,
- 8421, 3, 10585, 3327, 670,
- 8421, 3, 10585, 3333, 678,
- 8421, 3, 10585, 3335, 500,
- 8421, 3, 10585, 3339, 384,
- 8421, 3, 10585, 3341, 396,
- 8421, 3, 10585, 3343, 54,
- 8421, 3, 10585, 3345, 520,
- 8421, 3, 10585, 3347, 512,
- 8421, 3, 10585, 3349, 16,
- 8421, 3, 10585, 3351, 2254,
- 8421, 3, 10585, 3353, 404,
- 8421, 3, 10585, 3355, 524,
- 8421, 3, 10585, 3357, 502,
- 8421, 3, 10585, 3359, 2376,
- 8421, 3, 10585, 3363, 298,
- 8421, 3, 10585, 3365, 564,
- 8421, 3, 10585, 3367, 8,
- 8421, 3, 10585, 3369, 476,
- 8421, 3, 10585, 3371, 630,
- 8421, 3, 10585, 3373, 532,
- 8421, 3, 10585, 3375, 632,
- 8421, 3, 10585, 3377, 56,
- 8421, 3, 10585, 3379, 310,
- 8421, 3, 10585, 3381, 142,
- 8421, 3, 10585, 3383, 294,
- 8421, 3, 10585, 3387, 2122,
- 8421, 3, 10585, 3391, 486,
- 8421, 3, 10585, 3393, 152,
- 8421, 3, 10585, 3395, 412,
- 8421, 3, 10585, 3397, 514,
- 8421, 3, 10585, 3399, 622,
- 8421, 3, 10585, 3401, 416,
- 8421, 3, 10585, 3405, 292,
- 8421, 3, 10585, 3407, 546,
- 8421, 3, 10585, 3409, 556,
- 8421, 3, 10585, 3411, 510,
- 8421, 3, 10585, 3413, 28,
- 8421, 3, 10585, 3415, 2252,
- 8421, 3, 10585, 3421, 300,
- 8421, 3, 10585, 3423, 2632,
- 8421, 3, 10585, 3425, 314,
- 8421, 3, 10585, 3427, 2422,
- 8421, 3, 10585, 3429, 576,
- 8421, 3, 10585, 3431, 322,
- 8421, 3, 10585, 3433, 1074,
- 8421, 3, 10585, 3435, 468,
- 8421, 3, 10585, 3437, 374,
- 8421, 3, 10585, 3439, 672,
- 8421, 3, 10585, 3441, 626,
- 8421, 3, 10585, 3443, 2374,
- 8421, 3, 10585, 3445, 306,
- 8421, 3, 10585, 3447, 498,
- 8421, 3, 10585, 3451, 364,
- 8421, 3, 10585, 3453, 326,
- 8421, 3, 10585, 3459, 92,
- 8421, 3, 10585, 3463, 2774,
- 8421, 3, 10585, 3467, 1076,
- 8421, 3, 10585, 3469, 2778,
- 8429, 8405, 0,
- 8429, 8405, 2,
- 8429, 8405, 6,
- 8429, 8405, 8,
- 8429, 8405, 12,
- 8429, 8405, 14,
- 8429, 8405, 16,
- 8429, 8405, 18,
- 8429, 8405, 20,
- 8429, 8405, 22,
- 8429, 8405, 24,
- 8429, 8405, 26,
- 8429, 8405, 30,
- 8429, 8405, 32,
- 8429, 8405, 34,
- 8429, 8405, 36,
- 8429, 8405, 38,
- 8429, 8405, 40,
- 8429, 8405, 44,
- 8429, 8405, 46,
- 8429, 8405, 50,
- 8429, 8405, 80,
- 8429, 8405, 104,
- 8429, 8405, 176,
- 8429, 8405, 316,
- 8429, 8405, 378,
- 8429, 8405, 410,
- 8429, 8405, 562,
- 8429, 8405, 574,
- 8431, 8405, 0,
- 8431, 8405, 2,
- 8431, 8405, 4,
- 8431, 8405, 6,
- 8431, 8405, 8,
- 8431, 8405, 10,
- 8431, 8405, 12,
- 8431, 8405, 16,
- 8431, 8405, 20,
- 8431, 8405, 22,
- 8431, 8405, 24,
- 8431, 8405, 26,
- 8431, 8405, 28,
- 8431, 8405, 32,
- 8431, 8405, 34,
- 8431, 8405, 36,
- 8431, 8405, 38,
- 8431, 8405, 40,
- 8431, 8405, 42,
- 8431, 8405, 48,
- 8431, 8405, 80,
- 8431, 8405, 176,
- 8431, 8405, 360,
- 8431, 8405, 410,
- 8431, 8405, 542,
- 8431, 8405, 574,
- 8431, 11859, 4926,
- 8432,
- 8463, 4849, 6627, 9051, 10380,
- 8463, 4849, 12115, 10380,
- 8463, 6505, 8056,
- 8463, 7443, 6627, 9051, 10380,
- 8463, 7443, 12115, 10380,
- 8463, 7512,
- 8463, 7593, 7821, 8056,
- 8463, 7821, 8056,
- 8463, 10677, 760,
- 8463, 10997, 4849, 12115, 10380,
- 8463, 10997, 7443, 12115, 10380,
- 8463, 12505, 7608,
- 8463, 12967, 6409, 9051, 10380,
- 8463, 13067, 6409, 9051, 10380,
- 8473, 1044,
- 8480,
- 8483, 2779, 2584,
- 8499, 10363, 7608,
- 8510,
- 8521, 10573, 428,
- 8521, 10573, 429, 445, 6741, 568,
- 8525, 2671, 4223, 5836,
- 8525, 5758,
- 8525, 8163, 4223, 5836,
- 8525, 8875, 4223, 5836,
- 8525, 8877, 4223, 5836,
- 8525, 9287, 4223, 5836,
- 8525, 9701, 4223, 5836,
- 8525, 10151, 4223, 5836,
- 8525, 10201, 4223, 5836,
- 8525, 10361, 4223, 5836,
- 8525, 10623, 4223, 5836,
- 8525, 11233, 4223, 5836,
- 8527, 5758,
- 8533, 12143, 10758,
- 8534,
- 8545, 1610,
- 8551, 4849, 12114,
- 8551, 7443, 12114,
- 8562,
- 8570,
- 8581, 5758,
- 8592,
- 8595, 9956,
- 8595, 9957, 5387, 2779, 476,
- 8609, 4926,
- 8609, 4927, 4178,
- 8631, 8151, 12953, 8450,
- 8631, 8744,
- 8631, 12953, 8450,
- 8639, 7803, 5759, 8,
- 8639, 7803, 5759, 16,
- 8639, 7803, 5759, 28,
- 8639, 7803, 5759, 40,
- 8639, 7803, 5759, 72,
- 8639, 7803, 5759, 92,
- 8639, 7803, 5759, 160,
- 8639, 7803, 5759, 188,
- 8639, 8405, 0,
- 8639, 8405, 100,
- 8639, 8405, 116,
- 8639, 8405, 138,
- 8639, 8405, 216,
- 8639, 8405, 236,
- 8639, 8405, 292,
- 8639, 8405, 306,
- 8639, 8405, 332,
- 8639, 8405, 364,
- 8639, 8405, 392,
- 8639, 8405, 462,
- 8639, 8405, 510,
- 8639, 8405, 524,
- 8639, 8405, 556,
- 8639, 8405, 622,
- 8639, 8405, 652,
- 8639, 8405, 1878,
- 8639, 8405, 2006,
- 8639, 8405, 2030,
- 8639, 8405, 2126,
- 8639, 8405, 5152,
- 8639, 8405, 5312,
- 8639, 8916,
- 8639, 9665, 4926,
- 8639, 10775, 5759, 14,
- 8639, 10775, 5759, 26,
- 8639, 10775, 5759, 34,
- 8639, 10775, 5759, 400,
- 8643, 8774,
- 8649, 10001, 9967, 7607, 4153, 6434,
- 8649, 10001, 9967, 9279, 10000,
- 8668,
- 8672,
- 8679, 7593, 8,
- 8679, 7593, 12,
- 8679, 7593, 22,
- 8679, 7593, 28,
- 8679, 9063, 2,
- 8679, 9063, 8,
- 8679, 9063, 10,
- 8679, 9063, 14,
- 8679, 9063, 16,
- 8679, 9063, 22,
- 8679, 9063, 24,
- 8679, 9063, 30,
- 8679, 9063, 34,
- 8684,
- 8691, 1044,
- 8717, 7119, 11195, 4926,
- 8717, 12967, 6409, 11195, 4926,
- 8717, 13067, 6409, 11195, 4926,
- 8717, 13201, 11195, 4926,
- 8745, 1, 5387, 24,
- 8745, 5, 5387, 312,
- 8745, 21, 2162,
- 8745, 25, 2162,
- 8745, 25, 5387, 36,
- 8745, 25, 5387, 37, 9732,
- 8745, 25, 6624,
- 8745, 25, 9732,
- 8745, 43, 5387, 24,
- 8745, 78,
- 8745, 92,
- 8745, 110,
- 8745, 118,
- 8745, 120,
- 8745, 128,
- 8745, 129, 6624,
- 8745, 129, 9732,
- 8745, 130,
- 8745, 138,
- 8745, 140,
- 8745, 146,
- 8745, 148,
- 8745, 149, 6624,
- 8745, 149, 9732,
- 8745, 190,
- 8745, 206,
- 8745, 218,
- 8745, 234,
- 8745, 236,
- 8745, 240,
- 8745, 248,
- 8745, 254,
- 8745, 274,
- 8745, 286,
- 8745, 306,
- 8745, 308,
- 8745, 312,
- 8745, 316,
- 8745, 318,
- 8745, 320,
- 8745, 321, 6624,
- 8745, 321, 9062,
- 8745, 321, 9732,
- 8745, 324,
- 8745, 328,
- 8745, 330,
- 8745, 346,
- 8745, 348,
- 8745, 358,
- 8745, 364,
- 8745, 366,
- 8745, 367, 7592,
- 8745, 370,
- 8745, 376,
- 8745, 378,
- 8745, 379, 6624,
- 8745, 379, 9732,
- 8745, 382,
- 8745, 385, 0,
- 8745, 385, 10,
- 8745, 385, 12,
- 8745, 385, 22,
- 8745, 385, 24,
- 8745, 385, 36,
- 8745, 385, 42,
- 8745, 385, 44,
- 8745, 386,
- 8745, 387, 4946,
- 8745, 388,
- 8745, 389, 4946,
- 8745, 392,
- 8745, 398,
- 8745, 408,
- 8745, 414,
- 8745, 418,
- 8745, 420,
- 8745, 452,
- 8745, 462,
- 8745, 463, 3260,
- 8745, 464,
- 8745, 470,
- 8745, 474,
- 8745, 478,
- 8745, 482,
- 8745, 484,
- 8745, 488,
- 8745, 490,
- 8745, 540,
- 8745, 548,
- 8745, 624,
- 8745, 760,
- 8745, 856,
- 8745, 860,
- 8745, 928,
- 8745, 1117, 5047, 7142,
- 8745, 1117, 5047, 8294,
- 8745, 1117, 5047, 8778,
- 8745, 1117, 5047, 9762,
- 8745, 1118,
- 8745, 1212,
- 8745, 1270,
- 8745, 1298,
- 8745, 1422,
- 8745, 1432,
- 8745, 1622,
- 8745, 1668,
- 8745, 1800,
- 8745, 1908,
- 8745, 1918,
- 8745, 1934,
- 8745, 1946,
- 8745, 2248,
- 8745, 2382,
- 8745, 2383, 5387, 36,
- 8745, 2383, 5387, 37, 9732,
- 8745, 2688,
- 8745, 2720,
- 8745, 2816,
- 8745, 3224,
- 8745, 3790,
- 8745, 4062,
- 8745, 4110,
- 8745, 4208,
- 8745, 4332,
- 8745, 4532,
- 8745, 4612,
- 8745, 4732,
- 8745, 4762,
- 8745, 4849, 5385, 827, 10374,
- 8745, 4946,
- 8745, 5008,
- 8745, 5052,
- 8745, 5378,
- 8745, 5380,
- 8745, 5408,
- 8745, 5430,
- 8745, 5534,
- 8745, 5552,
- 8745, 5566,
- 8745, 6121, 2725, 4389, 6504,
- 8745, 6121, 4849, 4389, 6504,
- 8745, 6121, 7121, 4849, 10001, 4389, 6504,
- 8745, 6121, 7121, 7443, 10001, 4389, 6504,
- 8745, 6121, 7443, 4389, 6504,
- 8745, 6121, 7773, 4849, 569, 7121, 7443, 4192,
- 8745, 6121, 7773, 4849, 10001, 4389, 6504,
- 8745, 6121, 7773, 7443, 569, 7121, 4849, 4192,
- 8745, 6121, 7773, 7443, 10001, 4389, 6504,
- 8745, 6121, 8005, 4389, 6504,
- 8745, 6121, 10001, 11469, 4192,
- 8745, 6121, 10677, 4192,
- 8745, 6121, 10779, 9544,
- 8745, 6121, 11649, 4192,
- 8745, 6121, 11707, 11469, 4192,
- 8745, 6234,
- 8745, 6410,
- 8745, 6482,
- 8745, 6630,
- 8745, 6718,
- 8745, 6826,
- 8745, 6828,
- 8745, 6858,
- 8745, 6892,
- 8745, 6950,
- 8745, 6958,
- 8745, 6989, 428,
- 8745, 6989, 429, 445, 2091, 6741, 568,
- 8745, 6989, 429, 445, 6741, 568,
- 8745, 7018,
- 8745, 7034,
- 8745, 7060,
- 8745, 7126,
- 8745, 7128,
- 8745, 7276,
- 8745, 7330,
- 8745, 7352,
- 8745, 7360,
- 8745, 7384,
- 8745, 7443, 5385, 827, 10374,
- 8745, 7470,
- 8745, 7504,
- 8745, 7506,
- 8745, 7814,
- 8745, 7840,
- 8745, 7842,
- 8745, 7926,
- 8745, 7950,
- 8745, 8002,
- 8745, 8274,
- 8745, 8300,
- 8745, 8304,
- 8745, 8314,
- 8745, 8372,
- 8745, 8378,
- 8745, 8452,
- 8745, 8572,
- 8745, 8588,
- 8745, 8604,
- 8745, 9016,
- 8745, 9308,
- 8745, 9388,
- 8745, 9390,
- 8745, 9416,
- 8745, 9438,
- 8745, 9444,
- 8745, 9454,
- 8745, 9468,
- 8745, 9470,
- 8745, 9476,
- 8745, 9636,
- 8745, 9646,
- 8745, 9648,
- 8745, 9698,
- 8745, 9926,
- 8745, 10166,
- 8745, 10244,
- 8745, 10379, 428,
- 8745, 10379, 429, 445, 2091, 6741, 568,
- 8745, 10379, 429, 445, 6741, 568,
- 8745, 10392,
- 8745, 10480,
- 8745, 10496,
- 8745, 11028,
- 8745, 11032,
- 8745, 11080,
- 8745, 11084,
- 8745, 11120,
- 8745, 11170,
- 8745, 11668,
- 8745, 11918,
- 8745, 12068,
- 8755, 10385, 7821, 5830,
- 8763, 428,
- 8763, 429, 445, 6741, 568,
- 8763, 429, 445, 6741, 569, 6121, 1045, 6376,
- 8763, 429, 6121, 2091, 6741, 568,
- 8763, 429, 6377, 2091, 6741, 568,
- 8763, 429, 6377, 7709, 10374,
- 8763, 429, 6377, 7919, 6741, 568,
- 8763, 429, 6377, 8167, 5758,
- 8763, 6121, 1044,
- 8763, 6121, 5445, 5759, 6490,
- 8763, 6121, 13061, 5759, 6490,
- 8763, 6377, 8762,
- 8763, 6377, 10578,
- 8763, 6377, 11765, 6434,
- 8773, 7207, 5759, 9328,
- 8773, 7207, 5759, 9870,
- 8773, 7207, 5759, 10148,
- 8773, 7207, 7803, 5759, 0,
- 8773, 7207, 7803, 5759, 8,
- 8773, 7207, 7803, 5759, 16,
- 8773, 7207, 7803, 5759, 40,
- 8773, 7207, 7803, 5759, 440,
- 8773, 7207, 8405, 0,
- 8773, 7207, 8405, 8,
- 8773, 7207, 8405, 16,
- 8773, 7207, 8405, 28,
- 8773, 7207, 8405, 40,
- 8773, 7207, 8405, 108,
- 8773, 7207, 8405, 130,
- 8773, 7207, 8405, 150,
- 8773, 7207, 8405, 228,
- 8773, 7207, 8405, 246,
- 8773, 7207, 8405, 298,
- 8773, 7207, 8405, 322,
- 8773, 7207, 8405, 350,
- 8773, 7207, 8405, 380,
- 8773, 7207, 8405, 412,
- 8773, 7207, 8405, 480,
- 8773, 7207, 8405, 516,
- 8773, 7207, 8405, 536,
- 8773, 7207, 8405, 568,
- 8773, 7207, 8405, 798,
- 8773, 7207, 8405, 890,
- 8773, 7207, 8405, 980,
- 8773, 7207, 8405, 1002,
- 8773, 7207, 8405, 1266,
- 8773, 7207, 8405, 1514,
- 8773, 7207, 8405, 1618,
- 8773, 7207, 8405, 2218,
- 8773, 7207, 8405, 2442,
- 8773, 7207, 8405, 2684,
- 8773, 7207, 8405, 2754,
- 8773, 7207, 8405, 4018,
- 8773, 7207, 8405, 6000,
- 8773, 7207, 8603, 8442,
- 8773, 7207, 8603, 8444,
- 8773, 7207, 8603, 8446,
- 8773, 7207, 8603, 8448,
- 8775, 1177, 1109, 429, 5904,
- 8775, 1177, 1109, 429, 8462,
- 8775, 1177, 1109, 429, 12886,
- 8775, 1177, 1109, 429, 12887, 6510,
- 8775, 1177, 3768,
- 8775, 1177, 3995, 4881, 8168,
- 8775, 1177, 4191, 11228,
- 8775, 1177, 4213, 4182,
- 8775, 1177, 4877, 4182,
- 8775, 1177, 5280,
- 8775, 1177, 6053, 11228,
- 8775, 1177, 6883, 11228,
- 8775, 1177, 7539, 274,
- 8775, 1177, 7539, 2186,
- 8775, 1177, 7608,
- 8775, 1177, 7633, 429, 5904,
- 8775, 1177, 7633, 429, 9334,
- 8775, 1177, 8026,
- 8775, 1177, 8102,
- 8775, 1177, 8103, 4213, 2778,
- 8775, 1177, 8109, 9117, 2170,
- 8775, 1177, 8109, 9117, 2778,
- 8775, 1177, 8109, 9117, 4214,
- 8775, 1177, 8109, 9117, 7694,
- 8775, 1177, 8168,
- 8775, 1177, 8637, 11228,
- 8775, 1177, 9268,
- 8775, 1177, 9502,
- 8775, 1177, 9933, 8642,
- 8775, 1177, 10357, 11884,
- 8775, 1177, 10677, 11846,
- 8775, 1177, 10730,
- 8775, 1177, 11219, 8724,
- 8775, 1177, 11649, 11846,
- 8775, 1177, 11840,
- 8775, 1177, 11841, 4213, 2778,
- 8775, 1177, 11884,
- 8775, 1177, 12359, 4598,
- 8781, 1109, 429, 11162,
- 8781, 2779, 10677, 4113, 6376,
- 8781, 2779, 10677, 4113, 6490,
- 8781, 6611, 8721, 4848,
- 8781, 6611, 8721, 7442,
- 8781, 6751, 6376,
- 8781, 6751, 6490,
- 8781, 6905, 6376,
- 8781, 6905, 6490,
- 8781, 7198,
- 8781, 7427, 6376,
- 8781, 7427, 6490,
- 8781, 7472,
- 8781, 7695, 4113, 6376,
- 8781, 7695, 4113, 6490,
- 8781, 8151, 7889, 8996,
- 8781, 8151, 7889, 11648,
- 8781, 8405, 8,
- 8781, 8405, 238,
- 8781, 8405, 468,
- 8781, 8405, 1920,
- 8781, 8405, 2110,
- 8781, 8405, 2662,
- 8781, 8405, 2918,
- 8781, 8405, 3776,
- 8781, 8405, 4410,
- 8781, 8405, 4724,
- 8781, 8405, 5476,
- 8781, 8405, 5554,
- 8781, 8405, 5698,
- 8781, 8405, 5902,
- 8781, 8405, 5903, 10214,
- 8781, 8405, 6236,
- 8781, 8405, 6237, 238,
- 8781, 8405, 6254,
- 8781, 8405, 6394,
- 8781, 8405, 6789, 9668,
- 8781, 8405, 6820,
- 8781, 8405, 6821, 10214,
- 8781, 8405, 7474,
- 8781, 8405, 8090,
- 8781, 8405, 8384,
- 8781, 8405, 9185, 8091, 5554,
- 8781, 8405, 9583, 6496,
- 8781, 8405, 9583, 8258,
- 8781, 8405, 9583, 9156,
- 8781, 8405, 9668,
- 8781, 8405, 9717, 198,
- 8781, 8405, 9717, 7046,
- 8781, 8405, 9717, 7874,
- 8781, 8405, 10489, 468,
- 8781, 8405, 12355, 6394,
- 8781, 8617, 6376,
- 8781, 8617, 6490,
- 8781, 8617, 8150,
- 8781, 8965, 6376,
- 8781, 8965, 6490,
- 8781, 8965, 8150,
- 8781, 9024,
- 8781, 9525, 4877, 6376,
- 8781, 9525, 4877, 6490,
- 8781, 10179, 1044,
- 8781, 10235, 8530,
- 8781, 10235, 11118,
- 8781, 10235, 11432,
- 8781, 10490,
- 8781, 11196,
- 8781, 11259, 4223, 5836,
- 8781, 11259, 6610,
- 8781, 11259, 6611, 8721, 7442,
- 8781, 11649, 6610,
- 8781, 11914,
- 8781, 12031, 8150,
- 8781, 12357, 4223, 5836,
- 8781, 12357, 6610,
- 8781, 12357, 6611, 8721, 4848,
- 8781, 12391, 4926,
- 8794,
- 8803, 73, 8399, 4926,
- 8803, 5759, 7756,
- 8803, 5759, 8916,
- 8803, 5759, 9824,
- 8803, 5759, 9870,
- 8803, 5759, 9904,
- 8803, 5759, 11900,
- 8803, 6689, 2170,
- 8803, 6689, 2540,
- 8803, 6689, 2778,
- 8803, 6689, 4200,
- 8803, 6689, 4214,
- 8803, 6689, 5190,
- 8803, 6689, 6260,
- 8803, 6689, 6722,
- 8803, 6689, 7508,
- 8803, 6689, 7694,
- 8803, 7803, 5759, 8,
- 8803, 7803, 5759, 16,
- 8803, 7803, 5759, 28,
- 8803, 7803, 5759, 40,
- 8803, 7803, 5759, 58,
- 8803, 7803, 5759, 72,
- 8803, 7803, 5759, 92,
- 8803, 7803, 5759, 162,
- 8803, 7803, 5759, 266,
- 8803, 7803, 5759, 440,
- 8803, 7803, 5759, 606,
- 8803, 7803, 5759, 9827, 22,
- 8803, 7803, 5759, 9827, 34,
- 8803, 7803, 5759, 9827, 344,
- 8803, 7803, 5759, 9827, 518,
- 8803, 8399, 4926,
- 8803, 8405, 0,
- 8803, 8405, 8,
- 8803, 8405, 16,
- 8803, 8405, 28,
- 8803, 8405, 40,
- 8803, 8405, 58,
- 8803, 8405, 72,
- 8803, 8405, 92,
- 8803, 8405, 100,
- 8803, 8405, 116,
- 8803, 8405, 138,
- 8803, 8405, 162,
- 8803, 8405, 216,
- 8803, 8405, 236,
- 8803, 8405, 266,
- 8803, 8405, 292,
- 8803, 8405, 306,
- 8803, 8405, 332,
- 8803, 8405, 364,
- 8803, 8405, 392,
- 8803, 8405, 440,
- 8803, 8405, 462,
- 8803, 8405, 510,
- 8803, 8405, 524,
- 8803, 8405, 556,
- 8803, 8405, 606,
- 8803, 8405, 610,
- 8803, 8405, 652,
- 8803, 8405, 792,
- 8803, 8405, 884,
- 8803, 8405, 974,
- 8803, 8405, 996,
- 8803, 8405, 1080,
- 8803, 8405, 1260,
- 8803, 8405, 1512,
- 8803, 8405, 1612,
- 8803, 8405, 1796,
- 8803, 8405, 2030,
- 8803, 8405, 2076,
- 8803, 8405, 2126,
- 8803, 8405, 2212,
- 8803, 8405, 2438,
- 8803, 8405, 2516,
- 8803, 8405, 2566,
- 8803, 8405, 2678,
- 8803, 8405, 2732,
- 8803, 8405, 2746,
- 8803, 8405, 4016,
- 8803, 8405, 5994,
- 8803, 8405, 9827, 22,
- 8803, 8405, 9827, 34,
- 8803, 8405, 9827, 344,
- 8803, 8405, 9827, 518,
- 8803, 10203, 6689, 2171, 1177, 2161, 8611, 429, 4214,
- 8803, 10203, 6689, 2171, 1177, 4173, 8611, 429, 4214,
- 8803, 10203, 6689, 2779, 1177, 2161, 8611, 429, 4214,
- 8803, 10203, 6689, 2779, 1177, 4173, 8611, 429, 4214,
- 8803, 10203, 6689, 6261, 1177, 2161, 8611, 429, 4214,
- 8803, 10203, 6689, 7695, 1177, 2161, 8611, 429, 4214,
- 8803, 10203, 6689, 7695, 1177, 4173, 8611, 429, 4214,
- 8811, 7650,
- 8811, 8405, 568,
- 8811, 8405, 678,
- 8811, 8405, 748,
- 8811, 8405, 1338,
- 8811, 8405, 1982,
- 8811, 8405, 2378,
- 8811, 8405, 3006,
- 8811, 8405, 3120,
- 8811, 8405, 3240,
- 8811, 8405, 4412,
- 8811, 8405, 4734,
- 8811, 8405, 5906,
- 8811, 8405, 5988,
- 8811, 8405, 6402,
- 8811, 8405, 6766,
- 8811, 8405, 6814,
- 8811, 8405, 7016,
- 8811, 8405, 7070,
- 8811, 8405, 7140,
- 8811, 8405, 7268,
- 8811, 8405, 7400,
- 8811, 8405, 7498,
- 8811, 8405, 7780,
- 8811, 8405, 7806,
- 8811, 8405, 8084,
- 8811, 8405, 8110,
- 8811, 8405, 8256,
- 8811, 8405, 8656,
- 8811, 8405, 8698,
- 8811, 8405, 8808,
- 8811, 8405, 9986,
- 8811, 8405, 10278,
- 8811, 8405, 10414,
- 8811, 8405, 10612,
- 8811, 8405, 10690,
- 8811, 8405, 10760,
- 8811, 8405, 11020,
- 8811, 8405, 11100,
- 8811, 8405, 11236,
- 8811, 8968,
- 8811, 9254,
- 8811, 9348,
- 8811, 9526,
- 8811, 9804,
- 8811, 10694,
- 8811, 10964,
- 8811, 10986,
- 8811, 11144,
- 8811, 11146,
- 8849, 5444,
- 8849, 6611, 10374,
- 8849, 7390,
- 8849, 7708,
- 8849, 8509, 11098,
- 8849, 8509, 12472,
- 8849, 9719, 7995, 10476,
- 8849, 10260,
- 8849, 10677, 761, 6121, 11649, 8758,
- 8849, 10677, 761, 7443, 11378,
- 8849, 10677, 761, 7995, 10476,
- 8849, 10677, 761, 10794,
- 8849, 11649, 761, 6121, 8153, 10677, 8758,
- 8849, 11649, 761, 6121, 8849, 10677, 8758,
- 8865, 5758,
- 8869, 2091, 5758,
- 8869, 6408,
- 8869, 6879, 7593, 8405, 4614,
- 8869, 7593, 10,
- 8869, 9063, 10,
- 8869, 10708,
- 8869, 11767, 9063, 12,
- 8869, 11767, 9063, 22,
- 8869, 11767, 9063, 48,
- 8875, 9601, 6505, 5830,
- 8900,
- 8913, 445, 6623, 9610,
- 8923, 10260,
- 8927, 10203, 2171, 4388,
- 8927, 10203, 2171, 6782,
- 8927, 10203, 2171, 7574,
- 8927, 10203, 2171, 7686,
- 8927, 10203, 2171, 8158,
- 8927, 10203, 2171, 9614,
- 8927, 10203, 2779, 8200,
- 8927, 10203, 2779, 8818,
- 8927, 10203, 4201, 8718,
- 8927, 10203, 4201, 9258,
- 8927, 10203, 4215, 8200,
- 8927, 10203, 7509, 9258,
- 8927, 10203, 7695, 8200,
- 8927, 10203, 7695, 9258,
- 8927, 10203, 7695, 10466,
- 8939, 9610,
- 8975, 428,
- 8981, 5758,
- 8990,
- 9011, 5758,
- 9034,
- 9039, 93, 8399, 4926,
- 9039, 5759, 7282,
- 9039, 5759, 8916,
- 9039, 5759, 9824,
- 9039, 5759, 9870,
- 9039, 5759, 9904,
- 9039, 5759, 11900,
- 9039, 6689, 2170,
- 9039, 6689, 2540,
- 9039, 6689, 2778,
- 9039, 6689, 4200,
- 9039, 6689, 4214,
- 9039, 6689, 5190,
- 9039, 6689, 6260,
- 9039, 6689, 6722,
- 9039, 6689, 7508,
- 9039, 6689, 7694,
- 9039, 7469, 4926,
- 9039, 7469, 5758,
- 9039, 7803, 5759, 8,
- 9039, 7803, 5759, 16,
- 9039, 7803, 5759, 28,
- 9039, 7803, 5759, 40,
- 9039, 7803, 5759, 58,
- 9039, 7803, 5759, 72,
- 9039, 7803, 5759, 92,
- 9039, 7803, 5759, 266,
- 9039, 7803, 5759, 606,
- 9039, 7803, 5759, 9827, 22,
- 9039, 7803, 5759, 9827, 34,
- 9039, 7803, 5759, 9827, 344,
- 9039, 7803, 5759, 9827, 518,
- 9039, 8322,
- 9039, 8405, 0,
- 9039, 8405, 8,
- 9039, 8405, 16,
- 9039, 8405, 28,
- 9039, 8405, 40,
- 9039, 8405, 58,
- 9039, 8405, 72,
- 9039, 8405, 92,
- 9039, 8405, 100,
- 9039, 8405, 116,
- 9039, 8405, 138,
- 9039, 8405, 216,
- 9039, 8405, 236,
- 9039, 8405, 266,
- 9039, 8405, 292,
- 9039, 8405, 306,
- 9039, 8405, 332,
- 9039, 8405, 364,
- 9039, 8405, 392,
- 9039, 8405, 462,
- 9039, 8405, 510,
- 9039, 8405, 511, 6121, 7121, 10000,
- 9039, 8405, 511, 6121, 8473, 10000,
- 9039, 8405, 524,
- 9039, 8405, 556,
- 9039, 8405, 606,
- 9039, 8405, 652,
- 9039, 8405, 792,
- 9039, 8405, 884,
- 9039, 8405, 974,
- 9039, 8405, 996,
- 9039, 8405, 1260,
- 9039, 8405, 1512,
- 9039, 8405, 1612,
- 9039, 8405, 2030,
- 9039, 8405, 2076,
- 9039, 8405, 2126,
- 9039, 8405, 2212,
- 9039, 8405, 2410,
- 9039, 8405, 2438,
- 9039, 8405, 2516,
- 9039, 8405, 2566,
- 9039, 8405, 2678,
- 9039, 8405, 2746,
- 9039, 8405, 3110,
- 9039, 8405, 4016,
- 9039, 8405, 5994,
- 9039, 8405, 8357, 556,
- 9039, 8405, 9827, 22,
- 9039, 8405, 9827, 34,
- 9039, 8405, 9827, 344,
- 9039, 8405, 9827, 518,
- 9039, 9971, 11143, 2170,
- 9039, 9971, 11143, 2171, 4853, 5913, 2681, 11932,
- 9039, 9971, 11143, 2778,
- 9039, 9971, 11143, 4214,
- 9039, 9971, 11143, 7694,
- 9039, 9971, 11933, 9700,
- 9041, 5550,
- 9041, 5551, 6121, 8056,
- 9042,
- 9053, 9575, 6508,
- 9053, 9575, 8134,
- 9053, 9575, 8136,
- 9053, 9575, 8138,
- 9053, 9575, 8140,
- 9053, 9575, 8142,
- 9053, 9575, 8144,
- 9053, 9575, 8146,
- 9053, 9575, 8148,
- 9053, 9575, 9186,
- 9053, 9575, 9188,
- 9053, 9575, 9190,
- 9053, 9575, 9192,
- 9053, 9575, 9194,
- 9053, 9575, 9196,
- 9053, 9575, 9198,
- 9053, 9575, 9200,
- 9053, 9575, 9202,
- 9053, 9575, 9204,
- 9053, 9575, 9206,
- 9053, 9575, 9208,
- 9053, 9575, 9210,
- 9053, 9575, 9212,
- 9053, 9575, 9214,
- 9053, 9575, 9216,
- 9053, 9575, 9218,
- 9053, 9575, 9220,
- 9053, 9575, 9222,
- 9053, 9575, 9224,
- 9053, 9575, 9226,
- 9053, 9575, 9228,
- 9053, 9575, 9230,
- 9053, 9575, 9232,
- 9053, 9575, 9234,
- 9053, 9575, 9236,
- 9053, 9575, 9238,
- 9053, 9575, 9240,
- 9053, 9575, 10020,
- 9053, 9575, 10022,
- 9053, 9575, 10024,
- 9053, 9575, 10026,
- 9053, 9575, 10028,
- 9053, 9575, 10030,
- 9053, 9575, 10032,
- 9053, 9575, 10034,
- 9053, 9575, 10036,
- 9053, 9575, 10038,
- 9053, 9575, 10040,
- 9053, 9575, 10042,
- 9053, 9575, 10044,
- 9053, 9575, 10046,
- 9053, 9575, 10048,
- 9053, 9575, 10050,
- 9053, 9575, 10052,
- 9053, 9575, 10054,
- 9053, 9575, 10056,
- 9053, 9575, 10058,
- 9053, 9575, 10060,
- 9053, 9575, 10062,
- 9053, 9575, 10064,
- 9053, 9575, 10066,
- 9053, 9575, 10068,
- 9053, 9575, 10070,
- 9053, 9575, 10072,
- 9053, 9575, 10074,
- 9053, 9575, 10076,
- 9053, 9575, 10078,
- 9053, 9575, 10080,
- 9053, 9575, 10082,
- 9053, 9575, 10084,
- 9053, 9575, 10086,
- 9053, 9575, 10088,
- 9053, 9575, 10090,
- 9053, 9575, 10092,
- 9053, 9575, 10094,
- 9053, 9575, 10096,
- 9053, 9575, 10098,
- 9053, 9575, 10100,
- 9053, 9575, 10102,
- 9053, 9575, 10104,
- 9053, 9575, 10106,
- 9053, 9575, 10108,
- 9053, 9575, 10110,
- 9053, 9575, 10112,
- 9053, 9575, 10114,
- 9053, 9575, 10116,
- 9053, 9575, 10118,
- 9053, 9575, 10120,
- 9053, 9575, 10122,
- 9053, 9575, 10124,
- 9053, 9575, 10126,
- 9053, 9575, 10128,
- 9053, 9575, 10130,
- 9053, 9575, 10818,
- 9053, 9575, 10820,
- 9053, 9575, 10822,
- 9053, 9575, 10824,
- 9053, 9575, 10826,
- 9053, 9575, 10828,
- 9053, 9575, 10830,
- 9053, 9575, 10832,
- 9053, 9575, 10834,
- 9053, 9575, 10836,
- 9053, 9575, 10838,
- 9053, 9575, 10840,
- 9053, 9575, 10842,
- 9053, 9575, 10844,
- 9053, 9575, 10846,
- 9053, 9575, 10848,
- 9053, 9575, 10850,
- 9053, 9575, 10852,
- 9053, 9575, 10854,
- 9053, 9575, 10856,
- 9053, 9575, 10858,
- 9053, 9575, 10860,
- 9053, 9575, 10862,
- 9053, 9575, 10864,
- 9053, 9575, 10866,
- 9053, 9575, 10868,
- 9053, 9575, 10870,
- 9053, 9575, 10872,
- 9053, 9575, 10874,
- 9053, 9575, 10876,
- 9053, 9575, 10878,
- 9053, 9575, 10880,
- 9053, 9575, 10882,
- 9053, 9575, 10884,
- 9053, 9575, 10886,
- 9053, 9575, 10888,
- 9053, 9575, 10890,
- 9053, 9575, 10892,
- 9053, 9575, 10894,
- 9053, 9575, 10896,
- 9053, 9575, 10898,
- 9053, 9575, 10900,
- 9053, 9575, 10902,
- 9053, 9575, 10904,
- 9053, 9575, 10906,
- 9053, 9575, 10908,
- 9053, 9575, 10910,
- 9053, 9575, 10912,
- 9053, 9575, 10914,
- 9053, 9575, 10916,
- 9053, 9575, 10918,
- 9053, 9575, 10920,
- 9053, 9575, 10922,
- 9053, 9575, 10924,
- 9053, 9575, 10926,
- 9053, 9575, 10928,
- 9053, 9575, 10930,
- 9053, 9575, 10932,
- 9053, 9575, 10934,
- 9053, 9575, 10936,
- 9053, 9575, 10938,
- 9053, 9575, 10940,
- 9053, 9575, 10942,
- 9053, 9575, 10944,
- 9053, 9575, 10946,
- 9053, 9575, 10948,
- 9053, 9575, 10950,
- 9053, 9575, 10952,
- 9053, 9575, 10954,
- 9053, 9575, 10956,
- 9053, 9575, 11490,
- 9053, 9575, 11492,
- 9053, 9575, 11494,
- 9053, 9575, 11496,
- 9053, 9575, 11498,
- 9053, 9575, 11500,
- 9053, 9575, 11502,
- 9053, 9575, 11504,
- 9053, 9575, 11506,
- 9053, 9575, 11508,
- 9053, 9575, 11510,
- 9053, 9575, 11512,
- 9053, 9575, 11514,
- 9053, 9575, 11516,
- 9053, 9575, 11518,
- 9053, 9575, 11520,
- 9053, 9575, 11522,
- 9053, 9575, 11524,
- 9053, 9575, 11526,
- 9053, 9575, 11528,
- 9053, 9575, 11530,
- 9053, 9575, 11532,
- 9053, 9575, 11534,
- 9053, 9575, 11536,
- 9053, 9575, 11538,
- 9053, 9575, 11540,
- 9053, 9575, 11542,
- 9053, 9575, 11544,
- 9053, 9575, 11546,
- 9053, 9575, 11548,
- 9053, 9575, 11550,
- 9053, 9575, 11552,
- 9053, 9575, 11554,
- 9053, 9575, 11556,
- 9053, 9575, 11558,
- 9053, 9575, 11560,
- 9053, 9575, 11562,
- 9053, 9575, 11564,
- 9053, 9575, 11566,
- 9053, 9575, 11568,
- 9053, 9575, 11570,
- 9053, 9575, 11572,
- 9053, 9575, 11574,
- 9053, 9575, 11576,
- 9053, 9575, 11578,
- 9053, 9575, 11580,
- 9053, 9575, 11582,
- 9053, 9575, 11584,
- 9053, 9575, 11586,
- 9053, 9575, 11588,
- 9053, 9575, 11590,
- 9053, 9575, 11592,
- 9053, 9575, 11594,
- 9053, 9575, 11596,
- 9053, 9575, 11598,
- 9053, 9575, 11600,
- 9053, 9575, 11950,
- 9053, 9575, 11952,
- 9053, 9575, 11954,
- 9053, 9575, 11956,
- 9053, 9575, 11958,
- 9053, 9575, 11960,
- 9053, 9575, 11962,
- 9053, 9575, 11964,
- 9053, 9575, 11966,
- 9053, 9575, 11968,
- 9053, 9575, 11970,
- 9053, 9575, 11972,
- 9053, 9575, 11974,
- 9053, 9575, 11976,
- 9053, 9575, 11978,
- 9053, 9575, 11980,
- 9053, 9575, 11982,
- 9053, 9575, 11984,
- 9053, 9575, 11986,
- 9053, 9575, 11988,
- 9053, 9575, 11990,
- 9053, 9575, 11992,
- 9053, 9575, 11994,
- 9053, 9575, 11996,
- 9053, 9575, 11998,
- 9053, 9575, 12000,
- 9053, 9575, 12002,
- 9053, 9575, 12004,
- 9053, 9575, 12444,
- 9053, 9575, 12446,
- 9053, 9575, 12448,
- 9053, 9575, 12450,
- 9053, 9575, 12452,
- 9053, 9575, 12454,
- 9053, 9575, 12456,
- 9053, 9575, 12458,
- 9053, 9575, 12926,
- 9069, 5758,
- 9072,
- 9095, 1045, 10374,
- 9095, 3992,
- 9095, 5385, 8037, 6723, 9601, 5830,
- 9095, 5444,
- 9095, 5551, 10374,
- 9095, 6689, 2170,
- 9095, 6689, 2540,
- 9095, 6689, 2778,
- 9095, 6689, 4200,
- 9095, 6689, 4214,
- 9095, 6689, 5190,
- 9095, 6689, 6260,
- 9095, 6689, 6722,
- 9095, 6689, 7508,
- 9095, 6689, 7694,
- 9095, 6909, 7821, 11765, 6434,
- 9095, 7089, 7593, 8405, 0,
- 9095, 7089, 7593, 8405, 2,
- 9095, 7089, 7593, 8405, 4,
- 9095, 7089, 7593, 8405, 6,
- 9095, 7089, 7593, 8405, 8,
- 9095, 7089, 7593, 8405, 10,
- 9095, 7089, 7593, 8405, 12,
- 9095, 7089, 7593, 8405, 14,
- 9095, 7089, 7593, 8405, 16,
- 9095, 7089, 7593, 8405, 18,
- 9095, 7089, 7593, 8405, 20,
- 9095, 7089, 7593, 8405, 22,
- 9095, 7089, 7593, 8405, 24,
- 9095, 7089, 7593, 8405, 26,
- 9095, 7089, 7593, 8405, 28,
- 9095, 7089, 7593, 8405, 30,
- 9095, 7089, 7593, 8405, 32,
- 9095, 7089, 7593, 8405, 34,
- 9095, 7089, 7593, 8405, 36,
- 9095, 7089, 7593, 8405, 38,
- 9095, 7089, 7593, 8405, 40,
- 9095, 7089, 7593, 8405, 42,
- 9095, 7089, 7593, 8405, 44,
- 9095, 7089, 7593, 8405, 46,
- 9095, 7089, 7593, 8405, 48,
- 9095, 7089, 7593, 8405, 50,
- 9095, 7089, 9063, 8405, 0,
- 9095, 7089, 9063, 8405, 2,
- 9095, 7089, 9063, 8405, 4,
- 9095, 7089, 9063, 8405, 6,
- 9095, 7089, 9063, 8405, 8,
- 9095, 7089, 9063, 8405, 10,
- 9095, 7089, 9063, 8405, 12,
- 9095, 7089, 9063, 8405, 14,
- 9095, 7089, 9063, 8405, 16,
- 9095, 7089, 9063, 8405, 18,
- 9095, 7089, 9063, 8405, 20,
- 9095, 7089, 9063, 8405, 22,
- 9095, 7089, 9063, 8405, 24,
- 9095, 7089, 9063, 8405, 26,
- 9095, 7089, 9063, 8405, 28,
- 9095, 7089, 9063, 8405, 30,
- 9095, 7089, 9063, 8405, 32,
- 9095, 7089, 9063, 8405, 34,
- 9095, 7089, 9063, 8405, 36,
- 9095, 7089, 9063, 8405, 38,
- 9095, 7089, 9063, 8405, 40,
- 9095, 7089, 9063, 8405, 42,
- 9095, 7089, 9063, 8405, 44,
- 9095, 7089, 9063, 8405, 46,
- 9095, 7089, 9063, 8405, 48,
- 9095, 7089, 9063, 8405, 50,
- 9095, 7172,
- 9095, 7710,
- 9095, 7821, 5830,
- 9095, 7821, 8022,
- 9095, 8022,
- 9095, 8166,
- 9095, 8287, 5770,
- 9095, 8287, 5771, 0,
- 9095, 8287, 6594,
- 9095, 8287, 6595, 0,
- 9095, 8287, 6912,
- 9095, 8287, 6913, 0,
- 9095, 8287, 6982,
- 9095, 8287, 6983, 0,
- 9095, 8287, 6983, 40,
- 9095, 8287, 7166,
- 9095, 8287, 7167, 0,
- 9095, 8287, 7244,
- 9095, 8287, 7245, 0,
- 9095, 8287, 7372,
- 9095, 8287, 7373, 0,
- 9095, 8287, 7440,
- 9095, 8287, 7441, 0,
- 9095, 8287, 8362,
- 9095, 8287, 8363, 0,
- 9095, 8287, 8828,
- 9095, 8287, 8829, 0,
- 9095, 8287, 9086,
- 9095, 8287, 9087, 0,
- 9095, 8287, 9400,
- 9095, 8287, 9401, 0,
- 9095, 8287, 9588,
- 9095, 8287, 9589, 0,
- 9095, 8287, 9780,
- 9095, 8287, 9781, 0,
- 9095, 8371, 10759, 7014,
- 9095, 8371, 10759, 8040,
- 9095, 8525, 2670,
- 9095, 8525, 6784,
- 9095, 8525, 6804,
- 9095, 8525, 6805, 2170,
- 9095, 8525, 6805, 2540,
- 9095, 8525, 6805, 2778,
- 9095, 8525, 6805, 4200,
- 9095, 8525, 6805, 4214,
- 9095, 8525, 6805, 5190,
- 9095, 8525, 6805, 6722,
- 9095, 8525, 6805, 7508,
- 9095, 8525, 6805, 7694,
- 9095, 8525, 8162,
- 9095, 8525, 8820,
- 9095, 8525, 8821, 2170,
- 9095, 8525, 8821, 2540,
- 9095, 8525, 8821, 2778,
- 9095, 8525, 8821, 4200,
- 9095, 8525, 8821, 4214,
- 9095, 8525, 8821, 5190,
- 9095, 8525, 8821, 6722,
- 9095, 8525, 8821, 7508,
- 9095, 8525, 8821, 7694,
- 9095, 8525, 8874,
- 9095, 8525, 8876,
- 9095, 8525, 8877, 2170,
- 9095, 8525, 8877, 2540,
- 9095, 8525, 8877, 2778,
- 9095, 8525, 8877, 4200,
- 9095, 8525, 8877, 4214,
- 9095, 8525, 8877, 5190,
- 9095, 8525, 8877, 6722,
- 9095, 8525, 8877, 7508,
- 9095, 8525, 8877, 7694,
- 9095, 8525, 9286,
- 9095, 8525, 9700,
- 9095, 8525, 10150,
- 9095, 8525, 10200,
- 9095, 8525, 10360,
- 9095, 8525, 10622,
- 9095, 8525, 11232,
- 9095, 8609, 4926,
- 9095, 9633, 9718,
- 9095, 9899, 10374,
- 9095, 10017, 5758,
- 9095, 10017, 7580,
- 9095, 10283, 0,
- 9095, 10283, 8,
- 9095, 10283, 16,
- 9095, 10283, 28,
- 9095, 10283, 40,
- 9095, 10283, 236,
- 9095, 10283, 238,
- 9095, 10283, 242,
- 9095, 10283, 246,
- 9095, 10283, 250,
- 9095, 10283, 306,
- 9095, 10283, 310,
- 9095, 10283, 314,
- 9095, 10283, 322,
- 9095, 10283, 326,
- 9095, 10283, 364,
- 9095, 10283, 368,
- 9095, 10283, 374,
- 9095, 10283, 380,
- 9095, 10283, 384,
- 9095, 10283, 392,
- 9095, 10283, 396,
- 9095, 10283, 404,
- 9095, 10283, 412,
- 9095, 10283, 416,
- 9095, 10283, 510,
- 9095, 10283, 512,
- 9095, 10283, 514,
- 9095, 10283, 516,
- 9095, 10283, 520,
- 9095, 10283, 524,
- 9095, 10283, 526,
- 9095, 10283, 532,
- 9095, 10283, 536,
- 9095, 10283, 546,
- 9095, 10283, 556,
- 9095, 10283, 560,
- 9095, 10283, 564,
- 9095, 10283, 568,
- 9095, 10283, 576,
- 9095, 10283, 622,
- 9095, 10283, 626,
- 9095, 10283, 630,
- 9095, 10283, 632,
- 9095, 10283, 652,
- 9095, 10283, 660,
- 9095, 10283, 664,
- 9095, 10410,
- 9095, 10643, 4116,
- 9095, 10677, 760,
- 9095, 11043, 1808,
- 9095, 11043, 2170,
- 9095, 11043, 2540,
- 9095, 11043, 2586,
- 9095, 11043, 2670,
- 9095, 11043, 2778,
- 9095, 11043, 3956,
- 9095, 11043, 4194,
- 9095, 11043, 4200,
- 9095, 11043, 4214,
- 9095, 11043, 4396,
- 9095, 11043, 4422,
- 9095, 11043, 4620,
- 9095, 11043, 4848,
- 9095, 11043, 4922,
- 9095, 11043, 5012,
- 9095, 11043, 5046,
- 9095, 11043, 5190,
- 9095, 11043, 5540,
- 9095, 11043, 6122,
- 9095, 11043, 6716,
- 9095, 11043, 6722,
- 9095, 11043, 7072,
- 9095, 11043, 7146,
- 9095, 11043, 7246,
- 9095, 11043, 7392,
- 9095, 11043, 7442,
- 9095, 11043, 7508,
- 9095, 11043, 7640,
- 9095, 11043, 7646,
- 9095, 11043, 7694,
- 9095, 11043, 7812,
- 9095, 11043, 8036,
- 9095, 11043, 8196,
- 9095, 11043, 8682,
- 9095, 11043, 9122,
- 9095, 11043, 9714,
- 9095, 11043, 9724,
- 9095, 11043, 9862,
- 9095, 11043, 10328,
- 9095, 11043, 10478,
- 9095, 11043, 10484,
- 9095, 11043, 10576,
- 9095, 11043, 10726,
- 9095, 11043, 10980,
- 9095, 11043, 10992,
- 9095, 11043, 11266,
- 9095, 11043, 11612,
- 9095, 11043, 13050,
- 9095, 11098,
- 9095, 11649, 761, 6121, 7272,
- 9095, 12472,
- 9095, 12990,
- 9095, 13061, 5759, 6121, 11449, 7908,
- 9095, 13411, 10017, 5758,
- 9109, 7666,
- 9115, 10260,
- 9127, 8770,
- 9137, 10585, 0,
- 9137, 10585, 8,
- 9137, 10585, 16,
- 9137, 10585, 28,
- 9137, 10585, 40,
- 9137, 10585, 292,
- 9137, 10585, 298,
- 9137, 10585, 306,
- 9137, 10585, 310,
- 9137, 10585, 314,
- 9137, 10585, 322,
- 9137, 10585, 326,
- 9137, 10585, 332,
- 9137, 10585, 336,
- 9137, 10585, 340,
- 9137, 10585, 350,
- 9137, 10585, 354,
- 9137, 10585, 364,
- 9137, 10585, 368,
- 9137, 10585, 374,
- 9137, 10585, 380,
- 9137, 10585, 384,
- 9137, 10585, 392,
- 9137, 10585, 396,
- 9137, 10585, 404,
- 9137, 10585, 412,
- 9137, 10585, 416,
- 9137, 10585, 462,
- 9137, 10585, 468,
- 9137, 10585, 476,
- 9137, 10585, 480,
- 9137, 10585, 486,
- 9137, 10585, 510,
- 9137, 10585, 512,
- 9137, 10585, 514,
- 9137, 10585, 516,
- 9137, 10585, 520,
- 9137, 10585, 524,
- 9137, 10585, 526,
- 9137, 10585, 532,
- 9137, 10585, 536,
- 9137, 10585, 546,
- 9137, 10585, 556,
- 9137, 10585, 560,
- 9137, 10585, 564,
- 9137, 10585, 568,
- 9137, 10585, 576,
- 9137, 10585, 622,
- 9137, 10585, 626,
- 9137, 10585, 630,
- 9137, 10585, 632,
- 9137, 10585, 638,
- 9137, 10585, 640,
- 9137, 10585, 670,
- 9137, 10585, 678,
- 9151, 11229, 1611, 8774,
- 9155, 7593, 8405, 14,
- 9155, 7593, 8405, 98,
- 9155, 7593, 8405, 164,
- 9155, 7593, 8405, 172,
- 9155, 7593, 8405, 174,
- 9155, 7593, 8405, 176,
- 9155, 7593, 8405, 182,
- 9155, 7593, 8405, 184,
- 9155, 7593, 8405, 192,
- 9155, 7593, 8405, 432,
- 9155, 7593, 8405, 454,
- 9155, 7593, 8405, 634,
- 9155, 7593, 8405, 778,
- 9155, 7593, 8405, 984,
- 9155, 7593, 8405, 1110,
- 9155, 7593, 8405, 1124,
- 9155, 7593, 8405, 1130,
- 9155, 7593, 8405, 1226,
- 9155, 7593, 8405, 1506,
- 9155, 7593, 8405, 1596,
- 9155, 7593, 8405, 2204,
- 9155, 7593, 8405, 2666,
- 9155, 7593, 8405, 2856,
- 9155, 7593, 8405, 3050,
- 9155, 7593, 8405, 3138,
- 9155, 7593, 8405, 3890,
- 9155, 7593, 8405, 4895, 0,
- 9155, 7593, 8405, 4895, 8,
- 9155, 7593, 8405, 4895, 16,
- 9155, 7593, 8405, 4895, 28,
- 9155, 7593, 8405, 4895, 70,
- 9155, 7593, 8405, 4895, 440,
- 9155, 7593, 8405, 5914,
- 9155, 7593, 8405, 6274,
- 9155, 7593, 8405, 7551, 0,
- 9155, 7593, 8405, 7551, 8,
- 9155, 7593, 8405, 7551, 16,
- 9155, 7593, 8405, 7551, 28,
- 9155, 7593, 8405, 7551, 70,
- 9155, 7593, 8405, 7551, 440,
- 9155, 9063, 8405, 14,
- 9155, 9063, 8405, 98,
- 9155, 9063, 8405, 164,
- 9155, 9063, 8405, 172,
- 9155, 9063, 8405, 174,
- 9155, 9063, 8405, 176,
- 9155, 9063, 8405, 182,
- 9155, 9063, 8405, 184,
- 9155, 9063, 8405, 192,
- 9155, 9063, 8405, 432,
- 9155, 9063, 8405, 454,
- 9155, 9063, 8405, 634,
- 9155, 9063, 8405, 778,
- 9155, 9063, 8405, 984,
- 9155, 9063, 8405, 1110,
- 9155, 9063, 8405, 1124,
- 9155, 9063, 8405, 1130,
- 9155, 9063, 8405, 1226,
- 9155, 9063, 8405, 1506,
- 9155, 9063, 8405, 1596,
- 9155, 9063, 8405, 2204,
- 9155, 9063, 8405, 2666,
- 9155, 9063, 8405, 2856,
- 9155, 9063, 8405, 3050,
- 9155, 9063, 8405, 3138,
- 9155, 9063, 8405, 3890,
- 9155, 9063, 8405, 4895, 0,
- 9155, 9063, 8405, 4895, 8,
- 9155, 9063, 8405, 4895, 16,
- 9155, 9063, 8405, 4895, 28,
- 9155, 9063, 8405, 4895, 70,
- 9155, 9063, 8405, 4895, 440,
- 9155, 9063, 8405, 5914,
- 9155, 9063, 8405, 6274,
- 9155, 9063, 8405, 7551, 0,
- 9155, 9063, 8405, 7551, 8,
- 9155, 9063, 8405, 7551, 16,
- 9155, 9063, 8405, 7551, 28,
- 9155, 9063, 8405, 7551, 70,
- 9155, 9063, 8405, 7551, 440,
- 9159, 6121, 2725, 4389, 6504,
- 9159, 6121, 4849, 4389, 6504,
- 9159, 6121, 7443, 4389, 6504,
- 9159, 6121, 8005, 4389, 6504,
- 9159, 10374,
- 9171, 9095, 11767, 6689, 2170,
- 9171, 9095, 11767, 6689, 2540,
- 9171, 9095, 11767, 6689, 2778,
- 9171, 9095, 11767, 6689, 4200,
- 9171, 9095, 11767, 6689, 4214,
- 9171, 9095, 11767, 6689, 5190,
- 9171, 9095, 11767, 6689, 6722,
- 9171, 9095, 11767, 6689, 7508,
- 9171, 9095, 11767, 6689, 7694,
- 9171, 9095, 11767, 8525, 2670,
- 9171, 10357, 9095, 6689, 2170,
- 9171, 10357, 9095, 6689, 2540,
- 9171, 10357, 9095, 6689, 2778,
- 9171, 10357, 9095, 6689, 4200,
- 9171, 10357, 9095, 6689, 4214,
- 9171, 10357, 9095, 6689, 5190,
- 9171, 10357, 9095, 6689, 6722,
- 9171, 10357, 9095, 6689, 7508,
- 9171, 10357, 9095, 6689, 7694,
- 9171, 10357, 9095, 8525, 2670,
- 9171, 10357, 9095, 11767, 6689, 2170,
- 9171, 10357, 9095, 11767, 6689, 2540,
- 9171, 10357, 9095, 11767, 6689, 2778,
- 9171, 10357, 9095, 11767, 6689, 4200,
- 9171, 10357, 9095, 11767, 6689, 4214,
- 9171, 10357, 9095, 11767, 6689, 5190,
- 9171, 10357, 9095, 11767, 6689, 6722,
- 9171, 10357, 9095, 11767, 6689, 7508,
- 9171, 10357, 9095, 11767, 6689, 7694,
- 9171, 10357, 9095, 11767, 8525, 2670,
- 9180,
- 9183, 8774,
- 9243, 4923, 5758,
- 9243, 8197, 5758,
- 9245, 5758,
- 9263, 428,
- 9263, 429, 6121, 1045, 6376,
- 9263, 429, 6121, 2779, 11649, 9744,
- 9263, 429, 6121, 4895, 11649, 8758,
- 9263, 429, 6121, 9546,
- 9263, 429, 6121, 10666,
- 9263, 429, 6121, 10677, 761, 91, 1109, 429, 11649, 8758,
- 9263, 429, 9537, 9810,
- 9263, 429, 9537, 10958,
- 9279, 10001, 9967, 7271, 4153, 6434,
- 9279, 10001, 9967, 8649, 10000,
- 9288,
- 9292,
- 9297, 2830,
- 9317, 5758,
- 9325, 5759, 10400,
- 9325, 7803, 5759, 16,
- 9325, 7803, 5759, 40,
- 9325, 8405, 0,
- 9325, 8405, 16,
- 9325, 8405, 40,
- 9325, 8405, 100,
- 9325, 8405, 138,
- 9325, 8405, 216,
- 9325, 8405, 236,
- 9325, 8405, 306,
- 9325, 8405, 332,
- 9325, 8405, 364,
- 9325, 8405, 392,
- 9325, 8405, 462,
- 9325, 8405, 510,
- 9325, 8405, 524,
- 9325, 8405, 556,
- 9325, 8405, 622,
- 9325, 8405, 652,
- 9325, 8405, 2030,
- 9343, 5758,
- 9361, 7931, 4213, 9680,
- 9361, 11345, 10582,
- 9367, 7821, 8056,
- 9367, 8022,
- 9380,
- 9385, 73, 8399, 4926,
- 9385, 5759, 7282,
- 9385, 5759, 8916,
- 9385, 5759, 9824,
- 9385, 5759, 9870,
- 9385, 5759, 9904,
- 9385, 5759, 12066,
- 9385, 5759, 12384,
- 9385, 6689, 2170,
- 9385, 6689, 2540,
- 9385, 6689, 2778,
- 9385, 6689, 4200,
- 9385, 6689, 4214,
- 9385, 6689, 5190,
- 9385, 6689, 6260,
- 9385, 6689, 6722,
- 9385, 6689, 7508,
- 9385, 6689, 7694,
- 9385, 7803, 5759, 8,
- 9385, 7803, 5759, 16,
- 9385, 7803, 5759, 28,
- 9385, 7803, 5759, 40,
- 9385, 7803, 5759, 58,
- 9385, 7803, 5759, 72,
- 9385, 7803, 5759, 92,
- 9385, 7803, 5759, 162,
- 9385, 7803, 5759, 266,
- 9385, 7803, 5759, 440,
- 9385, 7803, 5759, 606,
- 9385, 7803, 5759, 9827, 22,
- 9385, 7803, 5759, 9827, 34,
- 9385, 7803, 5759, 9827, 344,
- 9385, 7803, 5759, 9827, 518,
- 9385, 8399, 4926,
- 9385, 8405, 0,
- 9385, 8405, 8,
- 9385, 8405, 16,
- 9385, 8405, 28,
- 9385, 8405, 40,
- 9385, 8405, 58,
- 9385, 8405, 72,
- 9385, 8405, 92,
- 9385, 8405, 100,
- 9385, 8405, 116,
- 9385, 8405, 138,
- 9385, 8405, 162,
- 9385, 8405, 196,
- 9385, 8405, 216,
- 9385, 8405, 236,
- 9385, 8405, 266,
- 9385, 8405, 292,
- 9385, 8405, 306,
- 9385, 8405, 332,
- 9385, 8405, 364,
- 9385, 8405, 392,
- 9385, 8405, 440,
- 9385, 8405, 462,
- 9385, 8405, 510,
- 9385, 8405, 524,
- 9385, 8405, 556,
- 9385, 8405, 606,
- 9385, 8405, 610,
- 9385, 8405, 652,
- 9385, 8405, 792,
- 9385, 8405, 884,
- 9385, 8405, 974,
- 9385, 8405, 996,
- 9385, 8405, 1260,
- 9385, 8405, 1512,
- 9385, 8405, 1612,
- 9385, 8405, 1796,
- 9385, 8405, 2030,
- 9385, 8405, 2076,
- 9385, 8405, 2126,
- 9385, 8405, 2212,
- 9385, 8405, 2438,
- 9385, 8405, 2516,
- 9385, 8405, 2566,
- 9385, 8405, 2678,
- 9385, 8405, 2746,
- 9385, 8405, 4016,
- 9385, 8405, 5994,
- 9385, 8405, 9827, 22,
- 9385, 8405, 9827, 34,
- 9385, 8405, 9827, 344,
- 9385, 8405, 9827, 518,
- 9431, 11103, 5758,
- 9437, 444,
- 9437, 445, 6121, 1045, 6376,
- 9437, 445, 6121, 8153, 9546,
- 9437, 445, 6121, 8153, 10666,
- 9437, 445, 6121, 8473, 5832,
- 9437, 445, 6121, 11649, 3992,
- 9437, 445, 12105, 9437, 720,
- 9437, 720,
- 9437, 721, 6121, 1045, 6376,
- 9437, 721, 6121, 8153, 9546,
- 9437, 721, 6121, 8153, 10666,
- 9437, 721, 6121, 8473, 5832,
- 9437, 721, 6121, 10666,
- 9437, 721, 6121, 11649, 3992,
- 9438,
- 9439, 9177, 115, 11649, 5606,
- 9443, 5941, 2171, 429, 9020,
- 9443, 5941, 2171, 429, 9096,
- 9443, 5941, 2171, 429, 11446,
- 9443, 5941, 2401, 8154,
- 9443, 5941, 2541, 429, 9020,
- 9443, 5941, 2541, 429, 9096,
- 9443, 5941, 2541, 429, 11446,
- 9443, 5941, 2779, 429, 9020,
- 9443, 5941, 2779, 429, 9096,
- 9443, 5941, 2779, 429, 11446,
- 9443, 5941, 3696,
- 9443, 5941, 4153, 6116,
- 9443, 5941, 4201, 429, 9020,
- 9443, 5941, 4201, 429, 9096,
- 9443, 5941, 4201, 429, 11446,
- 9443, 5941, 4215, 429, 9020,
- 9443, 5941, 4215, 429, 9096,
- 9443, 5941, 4215, 429, 11446,
- 9443, 5941, 5191, 429, 9020,
- 9443, 5941, 5191, 429, 9096,
- 9443, 5941, 5191, 429, 11446,
- 9443, 5941, 5442,
- 9443, 5941, 6113, 6116,
- 9443, 5941, 6723, 429, 9020,
- 9443, 5941, 6723, 429, 9096,
- 9443, 5941, 6723, 429, 11446,
- 9443, 5941, 6881, 8154,
- 9443, 5941, 7010,
- 9443, 5941, 7271, 6116,
- 9443, 5941, 7509, 429, 9020,
- 9443, 5941, 7509, 429, 9096,
- 9443, 5941, 7509, 429, 11446,
- 9443, 5941, 7607, 6116,
- 9443, 5941, 7695, 429, 9020,
- 9443, 5941, 7695, 429, 9096,
- 9443, 5941, 7695, 429, 11446,
- 9443, 5941, 7821, 8154,
- 9443, 5941, 7960,
- 9443, 5941, 7974,
- 9443, 5941, 8546,
- 9443, 5941, 8738,
- 9443, 5941, 8766,
- 9443, 5941, 8934,
- 9443, 5941, 12912,
- 9453, 6622,
- 9472,
- 9475, 11649, 10154,
- 9483, 8775, 5, 3946,
- 9483, 8775, 11, 3946,
- 9483, 8775, 11, 3947, 8553, 3254,
- 9483, 8775, 11, 3947, 8553, 6468,
- 9483, 8775, 13, 3946,
- 9483, 8775, 13, 3947, 8553, 3254,
- 9483, 8775, 13, 3947, 8553, 6468,
- 9483, 8775, 47, 10366,
- 9483, 8775, 50,
- 9483, 8775, 139, 3846,
- 9483, 8775, 570,
- 9483, 8775, 933, 5942,
- 9483, 8775, 961, 7500,
- 9483, 8775, 1109, 429, 8750,
- 9483, 8775, 1109, 2690,
- 9483, 8775, 1109, 3760,
- 9483, 8775, 1109, 5776,
- 9483, 8775, 1109, 8584,
- 9483, 8775, 2171, 9345, 13031, 5244,
- 9483, 8775, 2171, 9345, 13031, 5540,
- 9483, 8775, 2211, 11838,
- 9483, 8775, 3950,
- 9483, 8775, 3984,
- 9483, 8775, 3985, 718,
- 9483, 8775, 4121, 8058,
- 9483, 8775, 4121, 8060,
- 9483, 8775, 4205, 600,
- 9483, 8775, 4205, 4116,
- 9483, 8775, 4227, 6504,
- 9483, 8775, 4227, 7820,
- 9483, 8775, 4389, 5244,
- 9483, 8775, 4389, 5540,
- 9483, 8775, 4389, 7351, 4926,
- 9483, 8775, 4849, 8641, 5758,
- 9483, 8775, 5013, 10367, 6504,
- 9483, 8775, 5013, 10367, 7820,
- 9483, 8775, 5281, 10366,
- 9483, 8775, 5445, 10366,
- 9483, 8775, 6020,
- 9483, 8775, 6021, 600,
- 9483, 8775, 6021, 7580,
- 9483, 8775, 6093, 10366,
- 9483, 8775, 6121, 12018,
- 9483, 8775, 6485, 2690,
- 9483, 8775, 6485, 3760,
- 9483, 8775, 6485, 5776,
- 9483, 8775, 6485, 8584,
- 9483, 8775, 6514,
- 9483, 8775, 6516,
- 9483, 8775, 6620,
- 9483, 8775, 6789, 9022,
- 9483, 8775, 6802,
- 9483, 8775, 6869, 5245, 413, 7580,
- 9483, 8775, 6869, 5245, 7580,
- 9483, 8775, 7112,
- 9483, 8775, 7113, 10423, 5540,
- 9483, 8775, 7113, 11659, 5540,
- 9483, 8775, 7150,
- 9483, 8775, 7191, 5540,
- 9483, 8775, 7351, 601, 4926,
- 9483, 8775, 7351, 4926,
- 9483, 8775, 7368,
- 9483, 8775, 7443, 8641, 5758,
- 9483, 8775, 7500,
- 9483, 8775, 7519, 600,
- 9483, 8775, 7519, 4116,
- 9483, 8775, 7551, 9022,
- 9483, 8775, 7796,
- 9483, 8775, 7823, 5244,
- 9483, 8775, 7823, 5540,
- 9483, 8775, 8011, 4926,
- 9483, 8775, 8012,
- 9483, 8775, 8013, 5540,
- 9483, 8775, 8057, 47, 10366,
- 9483, 8775, 8062,
- 9483, 8775, 8073, 5942,
- 9483, 8775, 8097, 9022,
- 9483, 8775, 8101, 7580,
- 9483, 8775, 8153, 4204,
- 9483, 8775, 8153, 7518,
- 9483, 8775, 8153, 9022,
- 9483, 8775, 8159, 5244,
- 9483, 8775, 8159, 5540,
- 9483, 8775, 8458,
- 9483, 8775, 8478,
- 9483, 8775, 8479, 5540,
- 9483, 8775, 8479, 6504,
- 9483, 8775, 8553, 3254,
- 9483, 8775, 8553, 6468,
- 9483, 8775, 8641, 4112,
- 9483, 8775, 8717, 9022,
- 9483, 8775, 8745, 2,
- 9483, 8775, 8745, 10367, 6504,
- 9483, 8775, 8745, 10367, 7820,
- 9483, 8775, 8760,
- 9483, 8775, 8805, 11167, 925, 11739, 10422,
- 9483, 8775, 8805, 11167, 925, 11739, 10423, 12438,
- 9483, 8775, 8805, 11167, 925, 11739, 11658,
- 9483, 8775, 8805, 12051, 925, 11739, 10422,
- 9483, 8775, 8805, 12051, 925, 11739, 11658,
- 9483, 8775, 8805, 12051, 925, 11739, 11659, 12438,
- 9483, 8775, 8805, 12051, 925, 11739, 11659, 12440,
- 9483, 8775, 8805, 12051, 925, 11739, 11659, 12442,
- 9483, 8775, 9050,
- 9483, 8775, 9060,
- 9483, 8775, 9105, 10367, 6504,
- 9483, 8775, 9105, 10367, 7820,
- 9483, 8775, 9284,
- 9483, 8775, 9285, 6490,
- 9483, 8775, 9491, 600,
- 9483, 8775, 9491, 4116,
- 9483, 8775, 9598,
- 9483, 8775, 9615, 5244,
- 9483, 8775, 9615, 5540,
- 9483, 8775, 9615, 5965, 4204,
- 9483, 8775, 9615, 5965, 7518,
- 9483, 8775, 9633, 6789, 9022,
- 9483, 8775, 9950,
- 9483, 8775, 10189, 11366,
- 9483, 8775, 10189, 11368,
- 9483, 8775, 10189, 11370,
- 9483, 8775, 10267, 6020,
- 9483, 8775, 10349, 9467, 5540,
- 9483, 8775, 10367, 6504,
- 9483, 8775, 10373, 7626,
- 9483, 8775, 10381, 10554,
- 9483, 8775, 10381, 10556,
- 9483, 8775, 10381, 10558,
- 9483, 8775, 10381, 10560,
- 9483, 8775, 10381, 10562,
- 9483, 8775, 10381, 10564,
- 9483, 8775, 10381, 10566,
- 9483, 8775, 10381, 10568,
- 9483, 8775, 10381, 10570,
- 9483, 8775, 10381, 11252,
- 9483, 8775, 10381, 11254,
- 9483, 8775, 10483, 10182,
- 9483, 8775, 10483, 10184,
- 9483, 8775, 10483, 10186,
- 9483, 8775, 10527, 7626,
- 9483, 8775, 10634,
- 9483, 8775, 10635, 11212,
- 9483, 8775, 10643, 10367, 601, 6504,
- 9483, 8775, 10643, 10367, 601, 7443, 6504,
- 9483, 8775, 10643, 10367, 601, 7443, 7820,
- 9483, 8775, 10643, 10367, 601, 7820,
- 9483, 8775, 10643, 10367, 4117, 6504,
- 9483, 8775, 10643, 10367, 4117, 7820,
- 9483, 8775, 10643, 10367, 4849, 6504,
- 9483, 8775, 10643, 10367, 4849, 7820,
- 9483, 8775, 10643, 10367, 7443, 6504,
- 9483, 8775, 10643, 10367, 7443, 7820,
- 9483, 8775, 10659, 7626,
- 9483, 8775, 10767, 601, 824,
- 9483, 8775, 10767, 2418,
- 9483, 8775, 10767, 3772,
- 9483, 8775, 10767, 4104,
- 9483, 8775, 10767, 4117, 824,
- 9483, 8775, 10767, 4206,
- 9483, 8775, 10767, 5779, 11174,
- 9483, 8775, 10767, 5832,
- 9483, 8775, 10767, 7116,
- 9483, 8775, 10767, 7596,
- 9483, 8775, 10767, 7908,
- 9483, 8775, 10767, 8153, 8844,
- 9483, 8775, 10767, 8210,
- 9483, 8775, 10767, 8212,
- 9483, 8775, 10767, 8214,
- 9483, 8775, 10767, 8216,
- 9483, 8775, 10767, 8218,
- 9483, 8775, 10767, 8806,
- 9483, 8775, 10767, 8849, 8844,
- 9483, 8775, 10767, 9458,
- 9483, 8775, 10767, 10236,
- 9483, 8775, 10767, 10534,
- 9483, 8775, 10767, 11366,
- 9483, 8775, 10767, 11368,
- 9483, 8775, 10767, 11370,
- 9483, 8775, 10767, 12407, 1044,
- 9483, 8775, 10767, 12871, 5832,
- 9483, 8775, 10767, 13016,
- 9483, 8775, 10767, 13184,
- 9483, 8775, 10767, 13340,
- 9483, 8775, 10784,
- 9483, 8775, 10995, 7626,
- 9483, 8775, 11005, 7626,
- 9483, 8775, 11019, 600,
- 9483, 8775, 11019, 4116,
- 9483, 8775, 11027, 5, 3946,
- 9483, 8775, 11027, 11, 3946,
- 9483, 8775, 11176,
- 9483, 8775, 11177, 8220,
- 9483, 8775, 11220,
- 9483, 8775, 11221, 8220,
- 9483, 8775, 11241, 5244,
- 9483, 8775, 11241, 5540,
- 9483, 8775, 11429, 600,
- 9483, 8775, 11429, 4116,
- 9483, 8775, 11789, 5540,
- 9483, 8775, 11789, 6504,
- 9483, 8775, 11789, 7820,
- 9483, 8775, 11795, 5540,
- 9483, 8775, 11795, 6504,
- 9483, 8775, 11795, 7820,
- 9483, 8775, 11821, 11006,
- 9483, 8775, 11857, 7626,
- 9483, 8775, 11928,
- 9483, 8775, 12023, 11006,
- 9483, 8775, 12028,
- 9483, 8775, 12092,
- 9483, 8775, 12115, 10366,
- 9483, 8775, 12152,
- 9483, 8775, 12531, 3254,
- 9483, 8775, 12531, 6468,
- 9483, 8775, 12867, 5244,
- 9483, 8775, 12867, 5540,
- 9483, 8775, 13025, 5244,
- 9483, 8775, 13025, 5540,
- 9483, 8775, 13081, 10367, 4117, 6504,
- 9483, 8775, 13081, 10367, 4117, 7820,
- 9485, 5671, 6689, 2170,
- 9485, 5671, 6689, 2540,
- 9485, 5671, 6689, 2778,
- 9485, 5671, 6689, 4200,
- 9485, 5671, 6689, 4214,
- 9485, 5671, 6689, 5190,
- 9485, 5671, 6689, 6260,
- 9485, 5671, 6689, 6722,
- 9485, 5671, 6689, 7508,
- 9485, 5671, 6689, 7694,
- 9485, 5759, 1045, 6490,
- 9485, 5759, 3278,
- 9485, 5759, 5671, 8834,
- 9485, 5759, 5671, 8836,
- 9485, 5759, 5671, 8840,
- 9485, 5759, 5671, 8842,
- 9485, 5759, 5671, 9125, 8834,
- 9485, 5759, 5671, 9125, 8836,
- 9485, 5759, 5671, 9125, 10159, 5964,
- 9485, 5759, 7465, 9555, 8840,
- 9485, 5759, 8425, 9664,
- 9485, 5759, 8916,
- 9485, 5759, 9664,
- 9485, 5759, 9824,
- 9485, 5759, 9839, 2273, 7025, 8832,
- 9485, 5759, 9839, 2273, 7025, 8834,
- 9485, 5759, 9839, 2273, 7025, 8836,
- 9485, 5759, 9839, 2273, 7025, 8838,
- 9485, 5759, 9839, 2273, 7025, 8840,
- 9485, 5759, 9870,
- 9485, 5965, 4927, 5657, 7025, 311, 2218,
- 9485, 5965, 4927, 5657, 7025, 6902,
- 9485, 6689, 2170,
- 9485, 6689, 2540,
- 9485, 6689, 2778,
- 9485, 6689, 4200,
- 9485, 6689, 4214,
- 9485, 6689, 5190,
- 9485, 6689, 6260,
- 9485, 6689, 6722,
- 9485, 6689, 7508,
- 9485, 6689, 7694,
- 9485, 7803, 5759, 8,
- 9485, 7803, 5759, 9, 6376,
- 9485, 7803, 5759, 16,
- 9485, 7803, 5759, 40,
- 9485, 7803, 5759, 58,
- 9485, 7803, 5759, 72,
- 9485, 7803, 5759, 266,
- 9485, 7803, 5759, 606,
- 9485, 7803, 5759, 1937, 28,
- 9485, 7803, 5759, 1937, 266,
- 9485, 7803, 5759, 4263, 7025, 16,
- 9485, 7803, 5759, 5657, 7025, 188,
- 9485, 7803, 5759, 5671, 8,
- 9485, 7803, 5759, 5671, 9, 6376,
- 9485, 7803, 5759, 5671, 58,
- 9485, 7803, 5759, 5671, 6789, 48,
- 9485, 7803, 5759, 5885, 58,
- 9485, 7803, 5759, 7031, 40,
- 9485, 7803, 5759, 7031, 162,
- 9485, 7803, 5759, 7031, 426,
- 9485, 7803, 5759, 9827, 22,
- 9485, 7803, 5759, 9827, 34,
- 9485, 7803, 5759, 9827, 344,
- 9485, 7803, 5759, 9827, 518,
- 9485, 7803, 5759, 9839, 2273, 7025, 188,
- 9485, 7803, 5759, 9839, 2273, 7025, 590,
- 9485, 8405, 0,
- 9485, 8405, 8,
- 9485, 8405, 16,
- 9485, 8405, 28,
- 9485, 8405, 40,
- 9485, 8405, 92,
- 9485, 8405, 100,
- 9485, 8405, 116,
- 9485, 8405, 138,
- 9485, 8405, 216,
- 9485, 8405, 236,
- 9485, 8405, 266,
- 9485, 8405, 292,
- 9485, 8405, 306,
- 9485, 8405, 332,
- 9485, 8405, 364,
- 9485, 8405, 392,
- 9485, 8405, 462,
- 9485, 8405, 510,
- 9485, 8405, 524,
- 9485, 8405, 556,
- 9485, 8405, 606,
- 9485, 8405, 622,
- 9485, 8405, 652,
- 9485, 8405, 792,
- 9485, 8405, 884,
- 9485, 8405, 974,
- 9485, 8405, 996,
- 9485, 8405, 1260,
- 9485, 8405, 1512,
- 9485, 8405, 1612,
- 9485, 8405, 1796,
- 9485, 8405, 1937, 8,
- 9485, 8405, 1937, 766,
- 9485, 8405, 1937, 768,
- 9485, 8405, 1937, 1512,
- 9485, 8405, 1937, 2030,
- 9485, 8405, 2030,
- 9485, 8405, 2076,
- 9485, 8405, 2126,
- 9485, 8405, 2212,
- 9485, 8405, 2516,
- 9485, 8405, 2566,
- 9485, 8405, 2678,
- 9485, 8405, 2746,
- 9485, 8405, 4016,
- 9485, 8405, 5236,
- 9485, 8405, 5657, 7025, 2516,
- 9485, 8405, 5671, 0,
- 9485, 8405, 5671, 100,
- 9485, 8405, 5671, 116,
- 9485, 8405, 5671, 138,
- 9485, 8405, 5671, 196,
- 9485, 8405, 5671, 216,
- 9485, 8405, 5671, 236,
- 9485, 8405, 5671, 306,
- 9485, 8405, 5671, 392,
- 9485, 8405, 5671, 670,
- 9485, 8405, 5671, 1612,
- 9485, 8405, 5671, 2126,
- 9485, 8405, 5671, 2212,
- 9485, 8405, 5671, 2678,
- 9485, 8405, 5994,
- 9485, 8405, 6877, 524,
- 9485, 8405, 7465, 9555, 196,
- 9485, 8405, 9253, 2273, 7025, 2076,
- 9485, 8405, 9253, 2273, 7025, 3102,
- 9485, 8405, 9253, 2273, 7025, 4322,
- 9485, 8405, 9827, 22,
- 9485, 8405, 9827, 34,
- 9485, 8405, 9827, 344,
- 9485, 8405, 9827, 518,
- 9485, 8405, 9839, 2273, 7025, 2266,
- 9485, 8405, 9839, 2273, 7025, 2678,
- 9485, 8775, 5671, 2170,
- 9485, 8775, 5671, 12016,
- 9485, 8775, 10218,
- 9485, 8775, 10304,
- 9485, 8775, 10768,
- 9485, 8775, 13040,
- 9485, 10775, 5759, 1937, 8461, 332,
- 9485, 10775, 5759, 1937, 8461, 364,
- 9485, 10775, 5759, 1937, 8461, 392,
- 9485, 10775, 5759, 5671, 8461, 622,
- 9485, 10775, 5759, 8461, 236,
- 9485, 10775, 5759, 8461, 510,
- 9485, 10775, 5759, 8461, 622,
- 9485, 10775, 5759, 8461, 652,
- 9495, 8153, 10677, 761, 8153, 7443, 11378,
- 9497, 1, 8763, 429, 2089, 6741, 568,
- 9497, 1, 10579, 429, 2089, 6741, 568,
- 9497, 11099, 2089, 6741, 568,
- 9497, 11099, 2089, 11621, 568,
- 9497, 11099, 2089, 12472,
- 9497, 12473, 2089, 6741, 568,
- 9497, 12473, 2089, 11098,
- 9497, 12473, 2089, 11621, 568,
- 9497, 12903, 2089, 9855, 6741, 568,
- 9498,
- 9509, 6689, 8696,
- 9511, 7121, 13069, 7821, 11765, 6434,
- 9511, 7773, 13069, 7821, 11765, 6434,
- 9525, 6409, 9537, 600,
- 9525, 6409, 9537, 4116,
- 9541, 6689, 2170,
- 9541, 6689, 2540,
- 9541, 6689, 2778,
- 9541, 6689, 4200,
- 9541, 6689, 4214,
- 9541, 6689, 5190,
- 9541, 6689, 6260,
- 9541, 6689, 6722,
- 9541, 6689, 7508,
- 9541, 6689, 7694,
- 9541, 8405, 0,
- 9541, 8405, 8,
- 9541, 8405, 16,
- 9541, 8405, 28,
- 9541, 8405, 40,
- 9541, 8405, 58,
- 9541, 8405, 100,
- 9541, 8405, 162,
- 9541, 8405, 196,
- 9541, 8405, 216,
- 9541, 8405, 236,
- 9541, 8405, 292,
- 9541, 8405, 440,
- 9541, 8405, 510,
- 9541, 8405, 524,
- 9541, 8405, 556,
- 9541, 8405, 638,
- 9541, 8405, 652,
- 9541, 8405, 996,
- 9541, 8405, 1612,
- 9541, 8405, 2918,
- 9541, 8405, 3244,
- 9541, 8405, 3854,
- 9541, 8405, 4050,
- 9541, 8405, 4698,
- 9541, 8405, 4820,
- 9541, 8405, 5000,
- 9541, 8405, 5288,
- 9541, 8405, 5470,
- 9541, 8405, 7540,
- 9573, 12432,
- 9581, 5758,
- 9595, 5758,
- 9615, 5244,
- 9617, 8775, 8004,
- 9633, 7709, 10375, 6377, 11097, 6434,
- 9633, 7709, 10375, 6377, 11765, 6434,
- 9633, 9718,
- 9633, 9719, 6121, 11649, 8758,
- 9633, 9719, 10374,
- 9633, 9719, 11183, 8762,
- 9641, 6909, 6505, 6907, 8022,
- 9641, 8225, 6907, 8022,
- 9641, 9063, 32,
- 9650,
- 9660,
- 9665, 5758,
- 9666,
- 9671, 4926,
- 9676,
- 9683, 8405, 70,
- 9683, 8405, 260,
- 9683, 8405, 438,
- 9683, 8405, 444,
- 9683, 8405, 536,
- 9683, 8405, 600,
- 9683, 8405, 706,
- 9683, 8405, 708,
- 9683, 8405, 712,
- 9683, 8405, 732,
- 9683, 8405, 736,
- 9683, 8405, 740,
- 9683, 8405, 802,
- 9683, 8405, 1090,
- 9683, 8405, 1092,
- 9683, 8405, 1100,
- 9683, 8405, 1120,
- 9683, 8405, 1150,
- 9683, 8405, 1210,
- 9683, 8405, 1472,
- 9683, 8405, 1474,
- 9683, 8405, 2110,
- 9683, 8405, 2154,
- 9683, 8405, 2164,
- 9683, 8405, 2186,
- 9683, 8405, 2726,
- 9683, 8405, 2884,
- 9683, 8405, 2938,
- 9683, 8405, 3048,
- 9683, 8405, 3060,
- 9683, 8405, 3178,
- 9683, 8405, 4048,
- 9683, 8405, 4548,
- 9683, 8405, 4754,
- 9683, 8405, 4892,
- 9683, 8405, 5004,
- 9683, 8405, 5382,
- 9683, 8405, 5406,
- 9683, 8405, 5560,
- 9683, 8405, 5854,
- 9683, 8405, 5922,
- 9683, 8405, 6124,
- 9683, 8405, 6432,
- 9683, 8405, 6886,
- 9683, 8405, 7012,
- 9683, 8405, 7684,
- 9683, 8405, 8054,
- 9683, 8405, 9466,
- 9689, 9610,
- 9693, 445, 11098,
- 9693, 445, 12472,
- 9693, 6377, 11099, 6377, 8167, 5758,
- 9693, 6377, 12473, 6377, 8167, 5758,
- 9693, 7173, 9692,
- 9695, 5759, 10702,
- 9695, 5759, 11392,
- 9695, 5759, 11418,
- 9695, 7803, 5759, 4087, 9406,
- 9695, 7803, 5759, 4087, 10272,
- 9695, 7803, 5759, 4087, 11150,
- 9695, 7803, 5759, 4087, 11406,
- 9695, 7803, 5759, 4087, 12024,
- 9695, 7803, 5759, 4087, 12468,
- 9695, 7803, 5759, 7043, 10272,
- 9695, 7803, 5759, 7043, 11150,
- 9695, 7803, 5759, 7043, 11406,
- 9695, 7803, 5759, 7059, 4056,
- 9695, 7803, 5759, 9406,
- 9695, 7803, 5759, 9407, 1339, 4087, 11408,
- 9695, 7803, 5759, 9407, 1339, 11408,
- 9695, 7803, 5759, 9407, 1339, 12024,
- 9695, 7803, 5759, 11408,
- 9695, 7803, 5759, 12024,
- 9695, 7803, 5759, 12468,
- 9695, 8405, 3259, 9032,
- 9695, 8405, 7962,
- 9695, 8405, 8176,
- 9695, 8405, 8326,
- 9695, 8405, 8558,
- 9695, 8405, 8904,
- 9695, 8405, 8966,
- 9695, 8405, 8978,
- 9695, 8405, 8988,
- 9695, 8405, 9012,
- 9695, 8405, 9141, 9424,
- 9695, 8405, 9141, 9492,
- 9695, 8405, 9141, 9656,
- 9695, 8405, 9256,
- 9695, 8405, 9280,
- 9695, 8405, 9330,
- 9695, 8405, 9352,
- 9695, 8405, 9387, 11692,
- 9695, 8405, 9464,
- 9695, 8405, 9534,
- 9695, 8405, 9622,
- 9695, 8405, 9655, 9146,
- 9695, 8405, 9655, 9302,
- 9695, 8405, 9655, 9376,
- 9695, 8405, 9655, 9988,
- 9695, 8405, 9759, 9656,
- 9695, 8405, 9759, 10499, 12090,
- 9695, 8405, 9759, 11692,
- 9695, 8405, 9812,
- 9695, 8405, 9818,
- 9695, 8405, 9844,
- 9695, 8405, 9856,
- 9695, 8405, 10248,
- 9695, 8405, 10270,
- 9695, 8405, 11044,
- 9695, 8405, 11064,
- 9695, 8405, 11133, 9424,
- 9695, 8405, 11133, 9492,
- 9695, 8405, 11133, 9656,
- 9695, 8405, 11411, 9032,
- 9695, 8405, 11411, 9070,
- 9695, 8405, 11411, 9146,
- 9695, 8405, 11411, 9302,
- 9695, 8405, 11411, 9376,
- 9695, 8405, 11411, 9392,
- 9695, 8405, 11411, 9576,
- 9695, 8405, 11411, 9768,
- 9695, 8405, 11411, 9988,
- 9695, 8405, 11411, 10652,
- 9695, 8405, 12077, 9032,
- 9695, 8405, 12077, 9070,
- 9695, 8405, 12077, 9146,
- 9695, 8405, 12077, 9302,
- 9695, 8405, 12077, 9376,
- 9695, 8405, 12077, 9392,
- 9695, 8405, 12077, 9576,
- 9695, 8405, 12077, 9768,
- 9695, 8405, 12077, 9988,
- 9695, 8405, 12077, 10652,
- 9695, 12133, 11670,
- 9701, 9601, 9898,
- 9705, 6741, 569, 445, 11098,
- 9705, 6741, 569, 445, 11099, 6121, 1045, 8318,
- 9705, 6741, 569, 445, 12472,
- 9705, 6741, 569, 445, 12473, 6121, 1045, 8318,
- 9707, 7085, 444,
- 9707, 7085, 720,
- 9709, 5912,
- 9709, 5913, 445, 6741, 568,
- 9712,
- 9718,
- 9719, 6121, 9546,
- 9722,
- 9733, 1045, 10374,
- 9733, 4215, 1045, 12132,
- 9733, 5444,
- 9733, 7172,
- 9733, 7593, 8056,
- 9733, 7710,
- 9733, 8649, 10001, 7580,
- 9733, 8744,
- 9733, 9279, 10001, 7580,
- 9733, 9898,
- 9753, 10260,
- 9761, 5759, 8916,
- 9761, 7803, 5759, 16,
- 9761, 7803, 5759, 40,
- 9761, 8405, 0,
- 9761, 8405, 16,
- 9761, 8405, 40,
- 9761, 8405, 100,
- 9761, 8405, 138,
- 9761, 8405, 216,
- 9761, 8405, 236,
- 9761, 8405, 306,
- 9761, 8405, 332,
- 9761, 8405, 364,
- 9761, 8405, 392,
- 9761, 8405, 462,
- 9761, 8405, 524,
- 9761, 8405, 556,
- 9761, 8405, 622,
- 9761, 8405, 652,
- 9761, 8405, 2030,
- 9783, 12369, 11765, 10716,
- 9783, 13049, 11765, 10716,
- 9789, 327, 521, 1612,
- 9789, 327, 521, 1613, 3831, 1915, 858,
- 9789, 4927, 723, 7045, 4376,
- 9789, 4927, 723, 7045, 4382,
- 9789, 4927, 887, 1904,
- 9789, 4927, 1307, 7463, 4376,
- 9789, 4927, 1307, 7463, 4382,
- 9789, 4927, 2417, 3895, 8743, 5668,
- 9789, 4927, 2733, 6374,
- 9789, 4927, 3067, 1905, 7745, 5669, 364,
- 9789, 4927, 3793, 5709, 3067, 1904,
- 9789, 4927, 4355, 3067, 1905, 685, 4355, 7745, 364,
- 9789, 4927, 4355, 3067, 1905, 685, 5559, 3759, 364,
- 9789, 4927, 4355, 3067, 1905, 11377, 0,
- 9789, 4927, 4355, 7744,
- 9789, 4927, 5141, 6539, 2133, 3174,
- 9789, 4927, 5141, 6539, 5659, 7462,
- 9789, 4927, 5307, 5668,
- 9789, 4927, 5307, 7744,
- 9789, 4927, 5307, 7745, 5668,
- 9789, 4927, 5543, 4351, 5668,
- 9789, 4927, 5668,
- 9789, 4927, 6523, 7462,
- 9789, 4927, 6525, 5709, 225, 1905, 7436,
- 9789, 4927, 6527, 3067, 1904,
- 9789, 4927, 6543, 3067, 1905, 5421, 5669, 364,
- 9789, 4927, 6543, 6373, 7463, 369, 4895, 858,
- 9789, 4927, 6543, 6373, 7463, 3831, 1915, 858,
- 9789, 4927, 7179, 3067, 225, 1905, 7436,
- 9789, 4927, 7493, 5668,
- 9789, 4927, 7745, 5668,
- 9789, 4927, 8564,
- 9789, 4927, 9099, 3067, 1905, 5655, 364,
- 9789, 4927, 9099, 3809, 8653, 3067, 1905, 5655, 364,
- 9789, 4927, 9320,
- 9789, 4927, 9363, 3067, 1905, 4939, 364,
- 9789, 4927, 9363, 3809, 8653, 3067, 1905, 4939, 364,
- 9789, 4927, 10795, 7745, 6528,
- 9789, 4927, 12955, 7744,
- 9789, 5759, 1301, 859, 9634,
- 9789, 5759, 1301, 1889, 9634,
- 9789, 5759, 1753, 2733, 858,
- 9789, 5759, 1755, 7462,
- 9789, 5759, 1865, 7746,
- 9789, 5759, 2133, 3175, 1983, 138,
- 9789, 5759, 2547, 4842,
- 9789, 5759, 3035, 7746,
- 9789, 5759, 4937, 858,
- 9789, 5759, 5531, 1985, 4256,
- 9789, 5759, 5531, 1985, 4352,
- 9789, 5759, 5531, 1985, 5531, 4096,
- 9789, 5759, 5531, 1985, 6862,
- 9789, 5759, 5531, 4097, 4256,
- 9789, 5759, 5531, 4097, 4352,
- 9789, 5759, 5531, 4097, 5531, 1984,
- 9789, 5759, 5531, 4097, 6862,
- 9789, 5759, 5557, 547, 2031, 516,
- 9789, 5759, 5559, 3758,
- 9789, 5759, 6179, 7462,
- 9789, 6689, 2170,
- 9789, 6689, 2540,
- 9789, 6689, 2778,
- 9789, 6689, 4200,
- 9789, 6689, 4214,
- 9789, 6689, 4389, 2170,
- 9789, 6689, 4389, 2540,
- 9789, 6689, 4389, 2778,
- 9789, 6689, 4389, 4200,
- 9789, 6689, 4389, 4214,
- 9789, 6689, 4389, 5190,
- 9789, 6689, 4389, 6260,
- 9789, 6689, 4389, 6722,
- 9789, 6689, 4389, 7508,
- 9789, 6689, 4389, 7694,
- 9789, 6689, 5190,
- 9789, 6689, 6260,
- 9789, 6689, 6722,
- 9789, 6689, 7508,
- 9789, 6689, 7694,
- 9789, 7803, 5759, 8,
- 9789, 7803, 5759, 16,
- 9789, 7803, 5759, 28,
- 9789, 7803, 5759, 40,
- 9789, 7803, 5759, 58,
- 9789, 7803, 5759, 162,
- 9789, 7803, 5759, 266,
- 9789, 7803, 5759, 440,
- 9789, 7803, 5759, 606,
- 9789, 7803, 5759, 9827, 22,
- 9789, 7803, 5759, 9827, 34,
- 9789, 7803, 5759, 9827, 344,
- 9789, 7803, 5759, 9827, 518,
- 9789, 7803, 5759, 10489, 16,
- 9789, 7803, 5759, 10489, 266,
- 9789, 8405, 0,
- 9789, 8405, 52,
- 9789, 8405, 100,
- 9789, 8405, 116,
- 9789, 8405, 138,
- 9789, 8405, 216,
- 9789, 8405, 236,
- 9789, 8405, 292,
- 9789, 8405, 306,
- 9789, 8405, 332,
- 9789, 8405, 364,
- 9789, 8405, 392,
- 9789, 8405, 462,
- 9789, 8405, 510,
- 9789, 8405, 524,
- 9789, 8405, 556,
- 9789, 8405, 622,
- 9789, 8405, 652,
- 9789, 8405, 670,
- 9789, 8405, 792,
- 9789, 8405, 884,
- 9789, 8405, 974,
- 9789, 8405, 996,
- 9789, 8405, 1080,
- 9789, 8405, 1260,
- 9789, 8405, 1612,
- 9789, 8405, 1642,
- 9789, 8405, 2030,
- 9789, 8405, 2076,
- 9789, 8405, 2126,
- 9789, 8405, 2212,
- 9789, 8405, 2438,
- 9789, 8405, 2516,
- 9789, 8405, 2566,
- 9789, 8405, 2678,
- 9789, 8405, 2732,
- 9789, 8405, 2746,
- 9789, 8405, 3146,
- 9789, 8405, 4016,
- 9789, 8405, 4140,
- 9789, 8405, 4782,
- 9789, 8405, 5978,
- 9789, 8405, 5994,
- 9789, 8405, 11631, 510,
- 9789, 8775, 2089, 112,
- 9789, 8775, 2089, 113, 3831, 7904,
- 9789, 8775, 2089, 113, 4353, 7904,
- 9789, 8775, 2089, 113, 5307, 7904,
- 9789, 8775, 2399, 2420,
- 9789, 8775, 2399, 2421, 5543, 4350,
- 9789, 8775, 4119, 112,
- 9789, 8775, 5421, 462,
- 9789, 8775, 7333, 4258,
- 9789, 10307, 5759, 3877, 7462,
- 9789, 10307, 5759, 4859, 7462,
- 9789, 10585, 436,
- 9789, 11257, 8405, 0,
- 9789, 11257, 8405, 52,
- 9789, 11257, 8405, 100,
- 9789, 11257, 8405, 116,
- 9789, 11257, 8405, 138,
- 9789, 11257, 8405, 216,
- 9789, 11257, 8405, 236,
- 9789, 11257, 8405, 292,
- 9789, 11257, 8405, 306,
- 9789, 11257, 8405, 332,
- 9789, 11257, 8405, 364,
- 9789, 11257, 8405, 392,
- 9789, 11257, 8405, 462,
- 9789, 11257, 8405, 510,
- 9789, 11257, 8405, 524,
- 9789, 11257, 8405, 556,
- 9789, 11257, 8405, 622,
- 9789, 11257, 8405, 652,
- 9789, 11257, 8405, 670,
- 9789, 11257, 8405, 792,
- 9789, 11257, 8405, 884,
- 9789, 11257, 8405, 974,
- 9789, 11257, 8405, 996,
- 9789, 11257, 8405, 1080,
- 9789, 11257, 8405, 1260,
- 9789, 11257, 8405, 1612,
- 9789, 11257, 8405, 2030,
- 9789, 11257, 8405, 2076,
- 9789, 11257, 8405, 2126,
- 9789, 11257, 8405, 2212,
- 9789, 11257, 8405, 2516,
- 9789, 11257, 8405, 2566,
- 9789, 11257, 8405, 2678,
- 9789, 11257, 8405, 2732,
- 9789, 11257, 8405, 2746,
- 9789, 11257, 8405, 3146,
- 9789, 11257, 8405, 4016,
- 9789, 11257, 8405, 4140,
- 9789, 11257, 8405, 4782,
- 9789, 11257, 8405, 5978,
- 9789, 11257, 8405, 5994,
- 9789, 11257, 8405, 11631, 510,
- 9789, 11257, 8405, 11631, 622,
- 9789, 11257, 8405, 11631, 652,
- 9789, 12405, 5759, 5661, 4255, 6371, 7462,
- 9789, 12405, 5759, 7497, 8858,
- 9789, 12405, 5759, 7907, 462,
- 9789, 12423, 5759, 3845, 5892,
- 9789, 12423, 5759, 5641, 6368,
- 9789, 12423, 5759, 6909, 3764,
- 9789, 12423, 5759, 7101, 3764,
- 9793, 1177, 4194,
- 9793, 1177, 4830,
- 9793, 1177, 6116,
- 9793, 1177, 6716,
- 9793, 1177, 7812,
- 9793, 1177, 8290,
- 9793, 1177, 9786,
- 9793, 1177, 10344,
- 9811, 2779, 8289, 6434,
- 9811, 6434,
- 9811, 6435, 569, 760,
- 9811, 6435, 4221, 760,
- 9811, 6435, 6121, 2697, 11096,
- 9811, 6435, 6121, 2697, 11764,
- 9811, 6435, 6121, 8153, 8758,
- 9811, 6435, 6121, 11649, 8758,
- 9811, 6435, 11097, 429, 10959, 6434,
- 9811, 6505, 6434,
- 9811, 7821, 6434,
- 9811, 7821, 6435, 439, 10416,
- 9811, 7821, 6435, 439, 10417, 6121, 10677, 760,
- 9811, 7821, 6435, 439, 10417, 6121, 11649, 760,
- 9811, 7821, 6435, 4221, 760,
- 9811, 7821, 8153, 6434,
- 9811, 7821, 8153, 6435, 439, 10416,
- 9811, 7924,
- 9811, 8097, 6434,
- 9811, 8153, 6434,
- 9811, 8561, 7944,
- 9811, 8849, 6434,
- 9811, 9327, 6121, 3713, 4849, 569, 760,
- 9811, 9327, 6121, 3713, 4849, 4221, 760,
- 9811, 9327, 6121, 3713, 4849, 7991, 9811, 9327, 6121, 3713, 7442,
- 9811, 9327, 6121, 3713, 4849, 7991, 10959, 9327, 6121, 3713, 7442,
- 9811, 9327, 6121, 3713, 7443, 569, 760,
- 9811, 9327, 6121, 3713, 7443, 4221, 760,
- 9811, 9327, 6121, 3713, 11096,
- 9811, 9327, 6121, 3713, 11764,
- 9811, 11191, 6434,
- 9811, 11875, 6435, 4221, 7593, 8056,
- 9821, 4390,
- 9835, 5758,
- 9843, 4390,
- 9853, 7931, 4213, 9680,
- 9853, 11345, 10582,
- 9858,
- 9867, 5758,
- 9880,
- 9891, 4223, 5836,
- 9891, 6616,
- 9891, 7593, 8405, 116,
- 9891, 7593, 8405, 130,
- 9891, 7593, 8405, 138,
- 9891, 7593, 8405, 166,
- 9891, 7593, 8405, 186,
- 9891, 7593, 8405, 246,
- 9891, 7593, 8405, 292,
- 9891, 7593, 8405, 430,
- 9891, 7593, 8405, 510,
- 9891, 7593, 8405, 568,
- 9891, 7593, 8405, 616,
- 9891, 7593, 8405, 656,
- 9891, 7593, 8405, 670,
- 9891, 7593, 8405, 744,
- 9891, 7593, 8405, 784,
- 9891, 7593, 8405, 884,
- 9891, 7593, 8405, 1094,
- 9891, 7593, 8405, 1152,
- 9891, 7593, 8405, 1276,
- 9891, 7593, 8405, 1488,
- 9891, 7593, 8405, 1600,
- 9891, 7593, 8405, 1602,
- 9891, 7593, 8405, 1894,
- 9891, 7593, 8405, 2092,
- 9891, 7593, 8405, 2206,
- 9891, 7593, 8405, 2404,
- 9891, 7593, 8405, 2506,
- 9891, 7593, 8405, 2516,
- 9891, 7593, 8405, 2862,
- 9891, 7593, 8405, 2958,
- 9891, 7593, 8405, 3148,
- 9891, 7593, 8405, 3892,
- 9891, 7593, 8405, 4314,
- 9891, 7593, 8405, 4636,
- 9891, 7593, 8405, 4886,
- 9891, 7593, 8405, 5434,
- 9891, 7593, 8405, 5948,
- 9891, 7593, 8405, 6214,
- 9891, 7593, 10301, 1095, 6214,
- 9891, 7593, 10301, 1895, 1094,
- 9891, 7593, 10301, 1895, 1488,
- 9891, 7593, 10301, 1895, 2092,
- 9891, 7593, 10301, 1895, 2958,
- 9891, 7593, 10301, 2863, 2092,
- 9891, 8306,
- 9891, 9063, 8405, 116,
- 9891, 9063, 8405, 130,
- 9891, 9063, 8405, 138,
- 9891, 9063, 8405, 166,
- 9891, 9063, 8405, 186,
- 9891, 9063, 8405, 246,
- 9891, 9063, 8405, 292,
- 9891, 9063, 8405, 430,
- 9891, 9063, 8405, 510,
- 9891, 9063, 8405, 568,
- 9891, 9063, 8405, 616,
- 9891, 9063, 8405, 656,
- 9891, 9063, 8405, 670,
- 9891, 9063, 8405, 744,
- 9891, 9063, 8405, 784,
- 9891, 9063, 8405, 884,
- 9891, 9063, 8405, 1094,
- 9891, 9063, 8405, 1152,
- 9891, 9063, 8405, 1276,
- 9891, 9063, 8405, 1488,
- 9891, 9063, 8405, 1600,
- 9891, 9063, 8405, 1602,
- 9891, 9063, 8405, 1894,
- 9891, 9063, 8405, 2092,
- 9891, 9063, 8405, 2206,
- 9891, 9063, 8405, 2404,
- 9891, 9063, 8405, 2506,
- 9891, 9063, 8405, 2516,
- 9891, 9063, 8405, 2862,
- 9891, 9063, 8405, 2958,
- 9891, 9063, 8405, 3148,
- 9891, 9063, 8405, 3892,
- 9891, 9063, 8405, 4314,
- 9891, 9063, 8405, 4636,
- 9891, 9063, 8405, 4886,
- 9891, 9063, 8405, 5434,
- 9891, 9063, 8405, 5948,
- 9891, 9063, 8405, 6214,
- 9891, 10157, 4926,
- 9891, 10339, 8405, 4849, 4389, 5550,
- 9891, 10469, 4926,
- 9891, 11424,
- 9891, 12017, 4926,
- 9891, 12391, 4926,
- 9898,
- 9899, 10374,
- 9900,
- 9907, 3229, 3228,
- 9907, 5759, 2811, 7438,
- 9907, 5759, 2811, 8030,
- 9907, 5759, 6502,
- 9907, 5759, 6556,
- 9907, 5759, 8768,
- 9907, 5759, 9628,
- 9907, 6545, 5762,
- 9907, 6545, 9570,
- 9907, 6545, 11156,
- 9907, 6689, 2170,
- 9907, 6689, 2540,
- 9907, 6689, 2778,
- 9907, 6689, 4200,
- 9907, 6689, 4214,
- 9907, 6689, 5190,
- 9907, 6689, 6260,
- 9907, 6689, 6722,
- 9907, 6689, 7508,
- 9907, 6689, 7694,
- 9907, 7334,
- 9907, 7803, 5759, 333, 7094,
- 9907, 7803, 5759, 333, 7095, 8796,
- 9907, 7803, 5759, 511, 5536,
- 9907, 7803, 5759, 511, 5537, 8796,
- 9907, 7803, 5759, 2810,
- 9907, 7803, 5759, 2811, 5638,
- 9907, 7803, 5759, 5844,
- 9907, 7803, 5759, 5845, 4602,
- 9907, 7803, 5759, 7362,
- 9907, 7803, 5759, 7363, 8796,
- 9907, 7803, 5759, 8788,
- 9907, 7803, 5759, 8789, 5536,
- 9907, 7803, 5759, 8789, 5537, 8796,
- 9907, 7803, 5759, 8789, 8796,
- 9907, 7803, 5759, 8796,
- 9907, 7826,
- 9907, 8405, 100,
- 9907, 8405, 101, 9396,
- 9907, 8405, 116,
- 9907, 8405, 117, 4822,
- 9907, 8405, 138,
- 9907, 8405, 139, 4920,
- 9907, 8405, 139, 7195, 10704,
- 9907, 8405, 139, 7195, 11106,
- 9907, 8405, 165, 7488,
- 9907, 8405, 216,
- 9907, 8405, 217, 4346,
- 9907, 8405, 236,
- 9907, 8405, 292,
- 9907, 8405, 293, 4632,
- 9907, 8405, 306,
- 9907, 8405, 307, 11106,
- 9907, 8405, 332,
- 9907, 8405, 333, 7094,
- 9907, 8405, 333, 7095, 8796,
- 9907, 8405, 364,
- 9907, 8405, 392,
- 9907, 8405, 393, 8632,
- 9907, 8405, 462,
- 9907, 8405, 463, 7020,
- 9907, 8405, 510,
- 9907, 8405, 511, 5536,
- 9907, 8405, 511, 5537, 8796,
- 9907, 8405, 524,
- 9907, 8405, 525, 5626,
- 9907, 8405, 525, 5634,
- 9907, 8405, 556,
- 9907, 8405, 557, 5888,
- 9907, 8405, 557, 7086,
- 9907, 8405, 557, 7195, 11106,
- 9907, 8405, 613, 7488,
- 9907, 8405, 622,
- 9907, 8405, 652,
- 9907, 8405, 1579, 7488,
- 9907, 8405, 2030,
- 9907, 8405, 2126,
- 9907, 8405, 3129, 7488,
- 9907, 8405, 4753, 7488,
- 9907, 8405, 6037, 7488,
- 9907, 8405, 6390,
- 9907, 8405, 6391, 8796,
- 9907, 8405, 6726,
- 9907, 8405, 6986,
- 9907, 8405, 6987, 8796,
- 9907, 8405, 7312,
- 9907, 8405, 7313, 8796,
- 9907, 8405, 7760,
- 9907, 8405, 7761, 8796,
- 9907, 8405, 7914,
- 9907, 8405, 7957, 7488,
- 9907, 8566,
- 9907, 9483, 8775, 3986,
- 9907, 9483, 8775, 3987, 4266,
- 9907, 9483, 8775, 3987, 8768,
- 9907, 9483, 8775, 4060,
- 9907, 9483, 8775, 4090,
- 9907, 9483, 8775, 4106,
- 9907, 9483, 8775, 4128,
- 9907, 9483, 8775, 6632,
- 9907, 9483, 8775, 6638,
- 9907, 9483, 8775, 6678,
- 9907, 9483, 8775, 10767, 4344,
- 9907, 9483, 8775, 10767, 6492,
- 9907, 9483, 8775, 10767, 6732,
- 9907, 9483, 8775, 10767, 7670,
- 9907, 9483, 8775, 10767, 8350,
- 9907, 9483, 8775, 10767, 8351, 6121, 9378,
- 9907, 9483, 8775, 10767, 8352,
- 9907, 9483, 8775, 10767, 8353, 6121, 9378,
- 9907, 9483, 8775, 10767, 9378,
- 9907, 9483, 8775, 11091, 5385, 5396,
- 9907, 9483, 8775, 11091, 5385, 5432,
- 9907, 9483, 8775, 11091, 5385, 5452,
- 9907, 9483, 8775, 11091, 8065, 5436,
- 9907, 9483, 8775, 11091, 8065, 5440,
- 9907, 9483, 8775, 11761, 5385, 958,
- 9907, 9483, 8775, 11761, 5385, 1052,
- 9907, 9483, 8775, 11761, 8065, 2644,
- 9907, 9483, 8775, 11761, 8065, 2758,
- 9907, 10398,
- 9919, 6789, 8405, 14,
- 9919, 6789, 8405, 20,
- 9919, 6789, 8405, 30,
- 9919, 6789, 8405, 38,
- 9919, 8405, 0,
- 9919, 8405, 2,
- 9919, 8405, 4,
- 9919, 8405, 6,
- 9919, 8405, 8,
- 9919, 8405, 10,
- 9919, 8405, 12,
- 9919, 8405, 14,
- 9919, 8405, 16,
- 9919, 8405, 18,
- 9919, 8405, 20,
- 9919, 8405, 22,
- 9919, 8405, 24,
- 9919, 8405, 26,
- 9919, 8405, 28,
- 9919, 8405, 30,
- 9919, 8405, 32,
- 9919, 8405, 34,
- 9919, 8405, 36,
- 9919, 8405, 38,
- 9919, 8405, 40,
- 9919, 8405, 42,
- 9919, 8405, 46,
- 9919, 8405, 50,
- 9919, 8405, 72,
- 9919, 8405, 78,
- 9919, 8405, 80,
- 9919, 8405, 92,
- 9919, 8405, 112,
- 9919, 8405, 124,
- 9919, 8405, 162,
- 9919, 8405, 166,
- 9919, 8405, 168,
- 9919, 8405, 176,
- 9919, 8405, 182,
- 9919, 8405, 226,
- 9919, 8405, 230,
- 9919, 8405, 264,
- 9919, 8405, 272,
- 9919, 8405, 280,
- 9919, 8405, 286,
- 9919, 8405, 296,
- 9919, 8405, 400,
- 9919, 8405, 436,
- 9919, 8405, 440,
- 9919, 8405, 450,
- 9919, 8405, 530,
- 9919, 8405, 674,
- 9919, 8405, 676,
- 9919, 8405, 722,
- 9919, 8405, 724,
- 9919, 8405, 1110,
- 9919, 8405, 1112,
- 9919, 8405, 1490,
- 9919, 8405, 2034,
- 9919, 8405, 2172,
- 9919, 8405, 2174,
- 9919, 8405, 2814,
- 9919, 8405, 3238,
- 9919, 8405, 3286,
- 9919, 8405, 4610,
- 9923, 1109, 429, 9664,
- 9923, 7803, 5759, 8,
- 9923, 7803, 5759, 16,
- 9923, 7803, 5759, 28,
- 9923, 7803, 5759, 40,
- 9923, 7803, 5759, 66,
- 9923, 8405, 0,
- 9923, 8405, 100,
- 9923, 8405, 116,
- 9923, 8405, 138,
- 9923, 8405, 216,
- 9923, 8405, 236,
- 9923, 8405, 292,
- 9923, 8405, 306,
- 9923, 8405, 332,
- 9923, 8405, 364,
- 9923, 8405, 392,
- 9923, 8405, 462,
- 9923, 8405, 510,
- 9923, 8405, 524,
- 9923, 8405, 556,
- 9923, 8405, 610,
- 9923, 8405, 652,
- 9923, 8405, 1946,
- 9923, 8405, 2030,
- 9923, 8405, 2096,
- 9923, 8405, 2126,
- 9923, 8405, 5166,
- 9923, 8405, 5294,
- 9923, 9556,
- 9924,
- 9928,
- 9931, 11269, 0,
- 9931, 11269, 4,
- 9931, 11269, 8,
- 9931, 11269, 10,
- 9931, 11269, 16,
- 9931, 11269, 20,
- 9931, 11269, 22,
- 9931, 11269, 24,
- 9931, 11269, 26,
- 9931, 11269, 28,
- 9931, 11269, 30,
- 9931, 11269, 32,
- 9931, 11269, 34,
- 9931, 11269, 36,
- 9931, 11269, 38,
- 9931, 11269, 48,
- 9931, 11269, 58,
- 9931, 11269, 72,
- 9931, 11269, 80,
- 9931, 11269, 116,
- 9931, 11269, 122,
- 9931, 11269, 126,
- 9931, 11269, 130,
- 9931, 11269, 176,
- 9931, 11269, 196,
- 9931, 11269, 198,
- 9931, 11269, 202,
- 9931, 11269, 208,
- 9931, 11269, 244,
- 9931, 11269, 266,
- 9931, 11269, 274,
- 9931, 11269, 306,
- 9931, 11269, 310,
- 9931, 11269, 314,
- 9931, 11269, 322,
- 9931, 11269, 330,
- 9931, 11269, 332,
- 9931, 11269, 336,
- 9931, 11269, 338,
- 9931, 11269, 340,
- 9931, 11269, 350,
- 9931, 11269, 364,
- 9931, 11269, 368,
- 9931, 11269, 372,
- 9931, 11269, 374,
- 9931, 11269, 380,
- 9931, 11269, 392,
- 9931, 11269, 396,
- 9931, 11269, 400,
- 9931, 11269, 402,
- 9931, 11269, 404,
- 9931, 11269, 412,
- 9931, 11269, 438,
- 9931, 11269, 440,
- 9931, 11269, 462,
- 9931, 11269, 468,
- 9931, 11269, 476,
- 9931, 11269, 480,
- 9931, 11269, 496,
- 9931, 11269, 500,
- 9931, 11269, 502,
- 9931, 11269, 510,
- 9931, 11269, 512,
- 9931, 11269, 514,
- 9931, 11269, 516,
- 9931, 11269, 524,
- 9931, 11269, 526,
- 9931, 11269, 530,
- 9931, 11269, 532,
- 9931, 11269, 536,
- 9931, 11269, 550,
- 9931, 11269, 556,
- 9931, 11269, 560,
- 9931, 11269, 562,
- 9931, 11269, 564,
- 9931, 11269, 568,
- 9931, 11269, 622,
- 9931, 11269, 626,
- 9931, 11269, 630,
- 9931, 11269, 632,
- 9931, 11269, 652,
- 9931, 11269, 654,
- 9931, 11269, 656,
- 9931, 11269, 660,
- 9931, 11269, 690,
- 9931, 11269, 854,
- 9931, 11269, 889, 5758,
- 9931, 11269, 898,
- 9931, 11269, 914,
- 9931, 11269, 936,
- 9931, 11269, 938,
- 9931, 11269, 940,
- 9931, 11269, 942,
- 9931, 11269, 1140,
- 9931, 11269, 1160,
- 9931, 11269, 1172,
- 9931, 11269, 1574,
- 9931, 11269, 1630,
- 9931, 11269, 1660,
- 9931, 11269, 1704,
- 9931, 11269, 1706,
- 9931, 11269, 1708,
- 9931, 11269, 1710,
- 9931, 11269, 1732,
- 9931, 11269, 1770,
- 9931, 11269, 1774,
- 9931, 11269, 1776,
- 9931, 11269, 1784,
- 9931, 11269, 1802,
- 9931, 11269, 1834,
- 9931, 11269, 1836,
- 9931, 11269, 1838,
- 9931, 11269, 1840,
- 9931, 11269, 1854,
- 9931, 11269, 1916,
- 9931, 11269, 1938,
- 9931, 11269, 1964,
- 9931, 11269, 1966,
- 9931, 11269, 1968,
- 9931, 11269, 1970,
- 9931, 11269, 1982,
- 9931, 11269, 2030,
- 9931, 11269, 2036,
- 9931, 11269, 2038,
- 9931, 11269, 2052,
- 9931, 11269, 2078,
- 9931, 11269, 2084,
- 9931, 11269, 2122,
- 9931, 11269, 2124,
- 9931, 11269, 2188,
- 9931, 11269, 2226,
- 9931, 11269, 2238,
- 9931, 11269, 2266,
- 9931, 11269, 2268,
- 9931, 11269, 2270,
- 9931, 11269, 2272,
- 9931, 11269, 2282,
- 9931, 11269, 2286,
- 9931, 11269, 2308,
- 9931, 11269, 2320,
- 9931, 11269, 2378,
- 9931, 11269, 2414,
- 9931, 11269, 2430,
- 9931, 11269, 2482,
- 9931, 11269, 2516,
- 9931, 11269, 2518,
- 9931, 11269, 2520,
- 9931, 11269, 2522,
- 9931, 11269, 2532,
- 9931, 11269, 2554,
- 9931, 11269, 2598,
- 9931, 11269, 2600,
- 9931, 11269, 2604,
- 9931, 11269, 2606,
- 9931, 11269, 2634,
- 9931, 11269, 2678,
- 9931, 11269, 2680,
- 9931, 11269, 2682,
- 9931, 11269, 2684,
- 9931, 11269, 2692,
- 9931, 11269, 2722,
- 9931, 11269, 2746,
- 9931, 11269, 2748,
- 9931, 11269, 2750,
- 9931, 11269, 2752,
- 9931, 11269, 2754,
- 9931, 11269, 2772,
- 9931, 11269, 2774,
- 9931, 11269, 2776,
- 9931, 11269, 2778,
- 9931, 11269, 2780,
- 9931, 11269, 2782,
- 9931, 11269, 2784,
- 9931, 11269, 2786,
- 9931, 11269, 2906,
- 9931, 11269, 2932,
- 9931, 11269, 2942,
- 9931, 11269, 3006,
- 9931, 11269, 3068,
- 9931, 11269, 3082,
- 9931, 11269, 3102,
- 9931, 11269, 3104,
- 9931, 11269, 3106,
- 9931, 11269, 3108,
- 9931, 11269, 3836,
- 9931, 11269, 3970,
- 9931, 11269, 3972,
- 9931, 11269, 3974,
- 9931, 11269, 4176,
- 9931, 11269, 4223, 5836,
- 9931, 11269, 4230,
- 9931, 11269, 4700,
- 9931, 11269, 4796,
- 9931, 11269, 4800,
- 9931, 11269, 4802,
- 9931, 11269, 4818,
- 9931, 11269, 4856,
- 9931, 11269, 4862,
- 9931, 11269, 4864,
- 9931, 11269, 4910,
- 9931, 11269, 4912,
- 9931, 11269, 4914,
- 9931, 11269, 4918,
- 9931, 11269, 5032,
- 9931, 11269, 5036,
- 9931, 11269, 5038,
- 9931, 11269, 5040,
- 9931, 11269, 5132,
- 9931, 11269, 5134,
- 9931, 11269, 5164,
- 9931, 11269, 5170,
- 9931, 11269, 5228,
- 9931, 11269, 5230,
- 9931, 11269, 5232,
- 9931, 11269, 5290,
- 9931, 11269, 5390,
- 9931, 11269, 5460,
- 9931, 11269, 5464,
- 9931, 11269, 5466,
- 9931, 11269, 5472,
- 9931, 11269, 5518,
- 9931, 11269, 5616,
- 9931, 11269, 5622,
- 9931, 11269, 5666,
- 9931, 11269, 5694,
- 9931, 11269, 5710,
- 9931, 11269, 5732,
- 9931, 11269, 5734,
- 9931, 11269, 5736,
- 9931, 11269, 5738,
- 9931, 11269, 5858,
- 9931, 11269, 5860,
- 9931, 11269, 5862,
- 9931, 11269, 5874,
- 9931, 11269, 5906,
- 9931, 11269, 5924,
- 9931, 11269, 5930,
- 9931, 11269, 5952,
- 9931, 11269, 5954,
- 9931, 11269, 5956,
- 9931, 11269, 5958,
- 9931, 11269, 5994,
- 9931, 11269, 5996,
- 9931, 11269, 5998,
- 9931, 11269, 6000,
- 9931, 11269, 6024,
- 9931, 11269, 6026,
- 9931, 11269, 6028,
- 9931, 11269, 6160,
- 9931, 11269, 6246,
- 9931, 11269, 6248,
- 9931, 11269, 6250,
- 9931, 11269, 6789, 2725, 4389, 5550,
- 9931, 11269, 6789, 4117, 5876,
- 9931, 11269, 6789, 5444,
- 9931, 11269, 6789, 5550,
- 9931, 11269, 6789, 6378,
- 9931, 11269, 6789, 6874,
- 9931, 11269, 6789, 7443, 4389, 5550,
- 9931, 11269, 6789, 7551, 11649, 8758,
- 9931, 11269, 6789, 8005, 4389, 5550,
- 9931, 11269, 6789, 8153, 6378,
- 9931, 11269, 6789, 8153, 7551, 10677, 9744,
- 9931, 11269, 6789, 8473, 1044,
- 9931, 11269, 7226,
- 9931, 11269, 7262,
- 9931, 11269, 7264,
- 9931, 11269, 7266,
- 9931, 11269, 7558,
- 9931, 11269, 7560,
- 9931, 11269, 7562,
- 9931, 11269, 7700,
- 9931, 11269, 8461, 22,
- 9931, 11269, 8461, 34,
- 9931, 11269, 8497, 2680,
- 9931, 11269, 8497, 2682,
- 9931, 11269, 8497, 5924,
- 9931, 11269, 8629, 512,
- 9931, 11269, 8671, 24,
- 9931, 11269, 8671, 236,
- 9931, 11269, 8671, 238,
- 9931, 11269, 8671, 242,
- 9931, 11269, 8671, 246,
- 9931, 11269, 8671, 296,
- 9931, 11269, 8671, 300,
- 9931, 11269, 8671, 562,
- 9931, 11269, 8671, 656,
- 9931, 11269, 8671, 2516,
- 9931, 11269, 8671, 2518,
- 9931, 11269, 8671, 2520,
- 9931, 11269, 8671, 2522,
- 9931, 11269, 8943, 44,
- 9931, 11269, 8943, 440,
- 9931, 11269, 8943, 914,
- 9931, 11269, 8943, 1660,
- 9931, 11269, 8943, 1802,
- 9931, 11269, 8943, 1938,
- 9931, 11269, 8943, 2084,
- 9931, 11269, 8943, 2238,
- 9931, 11269, 8943, 2554,
- 9931, 11269, 8943, 2722,
- 9931, 11269, 8943, 3082,
- 9931, 11269, 8943, 5460,
- 9931, 11269, 8987, 2,
- 9931, 11269, 9067, 14,
- 9931, 11269, 9067, 16,
- 9931, 11269, 9067, 30,
- 9931, 11269, 9067, 50,
- 9931, 11269, 9067, 144,
- 9931, 11269, 9067, 162,
- 9931, 11269, 9067, 216,
- 9931, 11269, 9067, 220,
- 9931, 11269, 9067, 224,
- 9931, 11269, 9067, 228,
- 9931, 11269, 9067, 230,
- 9931, 11269, 9067, 242,
- 9931, 11269, 9067, 292,
- 9931, 11269, 9067, 294,
- 9931, 11269, 9067, 296,
- 9931, 11269, 9067, 298,
- 9931, 11269, 9067, 300,
- 9931, 11269, 9067, 316,
- 9931, 11269, 9067, 332,
- 9931, 11269, 9067, 336,
- 9931, 11269, 9067, 340,
- 9931, 11269, 9067, 350,
- 9931, 11269, 9067, 354,
- 9931, 11269, 9067, 364,
- 9931, 11269, 9067, 368,
- 9931, 11269, 9067, 374,
- 9931, 11269, 9067, 380,
- 9931, 11269, 9067, 384,
- 9931, 11269, 9067, 392,
- 9931, 11269, 9067, 396,
- 9931, 11269, 9067, 400,
- 9931, 11269, 9067, 404,
- 9931, 11269, 9067, 412,
- 9931, 11269, 9067, 416,
- 9931, 11269, 9067, 462,
- 9931, 11269, 9067, 468,
- 9931, 11269, 9067, 476,
- 9931, 11269, 9067, 480,
- 9931, 11269, 9067, 486,
- 9931, 11269, 9067, 510,
- 9931, 11269, 9067, 512,
- 9931, 11269, 9067, 514,
- 9931, 11269, 9067, 516,
- 9931, 11269, 9067, 520,
- 9931, 11269, 9067, 524,
- 9931, 11269, 9067, 526,
- 9931, 11269, 9067, 530,
- 9931, 11269, 9067, 532,
- 9931, 11269, 9067, 536,
- 9931, 11269, 9067, 546,
- 9931, 11269, 9067, 622,
- 9931, 11269, 9067, 626,
- 9931, 11269, 9067, 630,
- 9931, 11269, 9067, 632,
- 9931, 11269, 9067, 634,
- 9931, 11269, 9067, 652,
- 9931, 11269, 9067, 654,
- 9931, 11269, 9067, 656,
- 9931, 11269, 9067, 660,
- 9931, 11269, 9067, 664,
- 9931, 11269, 9067, 670,
- 9931, 11269, 9067, 672,
- 9931, 11269, 9067, 676,
- 9931, 11269, 9067, 678,
- 9931, 11269, 9067, 680,
- 9931, 11269, 9067, 884,
- 9931, 11269, 9067, 886,
- 9931, 11269, 9067, 888,
- 9931, 11269, 9067, 890,
- 9931, 11269, 9067, 892,
- 9931, 11269, 9067, 984,
- 9931, 11269, 9067, 1024,
- 9931, 11269, 9067, 1026,
- 9931, 11269, 9067, 1028,
- 9931, 11269, 9067, 1030,
- 9931, 11269, 9067, 1032,
- 9931, 11269, 9067, 1080,
- 9931, 11269, 9067, 1082,
- 9931, 11269, 9067, 1084,
- 9931, 11269, 9067, 1086,
- 9931, 11269, 9067, 1088,
- 9931, 11269, 9067, 1238,
- 9931, 11269, 9067, 1260,
- 9931, 11269, 9067, 1262,
- 9931, 11269, 9067, 1264,
- 9931, 11269, 9067, 1266,
- 9931, 11269, 9067, 1268,
- 9931, 11269, 9067, 1356,
- 9931, 11269, 9067, 1440,
- 9931, 11269, 9067, 1442,
- 9931, 11269, 9067, 1444,
- 9931, 11269, 9067, 1446,
- 9931, 11269, 9067, 1448,
- 9931, 11269, 9067, 1506,
- 9931, 11269, 9067, 1528,
- 9931, 11269, 9067, 1530,
- 9931, 11269, 9067, 1532,
- 9931, 11269, 9067, 1534,
- 9931, 11269, 9067, 1536,
- 9931, 11269, 9067, 1612,
- 9931, 11269, 9067, 1614,
- 9931, 11269, 9067, 1616,
- 9931, 11269, 9067, 1618,
- 9931, 11269, 9067, 1620,
- 9931, 11269, 9067, 1642,
- 9931, 11269, 9067, 1644,
- 9931, 11269, 9067, 1646,
- 9931, 11269, 9067, 1648,
- 9931, 11269, 9067, 1650,
- 9931, 11269, 9067, 1758,
- 9931, 11269, 9067, 1770,
- 9931, 11269, 9067, 1772,
- 9931, 11269, 9067, 1774,
- 9931, 11269, 9067, 1776,
- 9931, 11269, 9067, 1778,
- 9931, 11269, 9067, 1890,
- 9931, 11269, 9067, 2016,
- 9931, 11269, 9067, 2204,
- 9931, 11269, 9067, 2402,
- 9931, 11269, 9067, 2504,
- 9931, 11269, 9067, 2516,
- 9931, 11269, 9067, 2518,
- 9931, 11269, 9067, 2520,
- 9931, 11269, 9067, 2522,
- 9931, 11269, 9067, 2524,
- 9931, 11269, 9067, 2678,
- 9931, 11269, 9067, 2680,
- 9931, 11269, 9067, 2682,
- 9931, 11269, 9067, 2684,
- 9931, 11269, 9067, 2686,
- 9931, 11269, 9067, 2706,
- 9931, 11269, 9067, 2708,
- 9931, 11269, 9067, 2710,
- 9931, 11269, 9067, 2712,
- 9931, 11269, 9067, 2714,
- 9931, 11269, 9067, 2732,
- 9931, 11269, 9067, 2734,
- 9931, 11269, 9067, 2736,
- 9931, 11269, 9067, 2738,
- 9931, 11269, 9067, 2740,
- 9931, 11269, 9067, 2746,
- 9931, 11269, 9067, 2748,
- 9931, 11269, 9067, 2752,
- 9931, 11269, 9067, 2754,
- 9931, 11269, 9067, 2756,
- 9931, 11269, 9067, 2922,
- 9931, 11269, 9067, 3050,
- 9931, 11269, 9067, 3138,
- 9931, 11269, 9067, 3890,
- 9931, 11269, 9067, 4098,
- 9931, 11269, 9067, 4138,
- 9931, 11269, 9067, 4318,
- 9931, 11269, 9067, 4556,
- 9931, 11269, 9067, 4644,
- 9931, 11269, 9067, 4744,
- 9931, 11269, 9067, 4766,
- 9931, 11269, 9067, 4860,
- 9931, 11269, 9067, 5678,
- 9931, 11269, 9067, 5914,
- 9931, 11269, 9067, 5950,
- 9931, 11269, 9067, 5952,
- 9931, 11269, 9067, 5954,
- 9931, 11269, 9067, 5956,
- 9931, 11269, 9067, 5958,
- 9931, 11269, 9067, 5960,
- 9931, 11269, 9067, 5976,
- 9931, 11269, 9067, 5990,
- 9931, 11269, 9067, 6002,
- 9931, 11269, 9067, 6004,
- 9931, 11269, 9067, 6006,
- 9931, 11269, 9067, 6008,
- 9931, 11269, 9067, 6010,
- 9931, 11269, 9067, 7720,
- 9931, 11269, 9067, 7748,
- 9931, 11269, 9067, 9363, 50,
- 9931, 11269, 9313, 5836,
- 9931, 11269, 9489, 2480,
- 9931, 11269, 9489, 2544,
- 9931, 11269, 9489, 2906,
- 9931, 11269, 9489, 2942,
- 9931, 11269, 9489, 3970,
- 9931, 11269, 9489, 4796,
- 9931, 11269, 9489, 5032,
- 9931, 11269, 9489, 5290,
- 9931, 11269, 9489, 5644,
- 9931, 11269, 9489, 5774,
- 9931, 11269, 9489, 5784,
- 9931, 11269, 9489, 5838,
- 9931, 11269, 9489, 5858,
- 9931, 11269, 9489, 6024,
- 9931, 11269, 9489, 6246,
- 9931, 11269, 9517, 14,
- 9931, 11269, 9517, 236,
- 9931, 11269, 9517, 238,
- 9931, 11269, 9517, 242,
- 9931, 11269, 9517, 246,
- 9931, 11269, 9517, 1338,
- 9931, 11269, 9517, 1382,
- 9931, 11269, 9517, 1424,
- 9931, 11269, 9519, 14,
- 9931, 11269, 9777, 562,
- 9931, 11269, 9777, 2678,
- 9931, 11269, 9777, 2680,
- 9931, 11269, 9777, 2682,
- 9931, 11269, 9777, 2684,
- 9931, 11269, 9777, 5906,
- 9931, 11269, 9777, 5924,
- 9931, 11269, 9777, 5930,
- 9931, 11269, 10743, 0,
- 9931, 11269, 10743, 8,
- 9931, 11269, 10743, 16,
- 9931, 11269, 10743, 28,
- 9931, 11269, 10743, 36,
- 9931, 11269, 10743, 306,
- 9931, 11269, 10743, 310,
- 9931, 11269, 10743, 314,
- 9931, 11269, 10743, 322,
- 9931, 11269, 10743, 392,
- 9931, 11269, 10743, 396,
- 9931, 11269, 10743, 404,
- 9931, 11269, 10743, 412,
- 9931, 11269, 10743, 622,
- 9931, 11269, 10743, 626,
- 9931, 11269, 10743, 630,
- 9931, 11269, 10743, 632,
- 9931, 11269, 11399, 22,
- 9931, 11269, 11399, 24,
- 9931, 11269, 11399, 30,
- 9931, 11269, 11399, 34,
- 9931, 11269, 11399, 48,
- 9931, 11269, 11399, 332,
- 9931, 11269, 11399, 336,
- 9931, 11269, 11399, 350,
- 9931, 11269, 11399, 510,
- 9931, 11269, 11399, 512,
- 9931, 11269, 11399, 514,
- 9931, 11269, 11399, 516,
- 9931, 11269, 11399, 622,
- 9931, 11269, 11399, 626,
- 9931, 11269, 11399, 630,
- 9931, 11269, 11399, 632,
- 9931, 11269, 11399, 936,
- 9931, 11269, 11399, 938,
- 9931, 11269, 11399, 940,
- 9931, 11269, 11399, 942,
- 9931, 11269, 11399, 1704,
- 9931, 11269, 11399, 1706,
- 9931, 11269, 11399, 1708,
- 9931, 11269, 11399, 1710,
- 9931, 11269, 11399, 1834,
- 9931, 11269, 11399, 1836,
- 9931, 11269, 11399, 1838,
- 9931, 11269, 11399, 1840,
- 9931, 11269, 11399, 1964,
- 9931, 11269, 11399, 1966,
- 9931, 11269, 11399, 1968,
- 9931, 11269, 11399, 1970,
- 9931, 11269, 11399, 2122,
- 9931, 11269, 11399, 2124,
- 9931, 11269, 11399, 2266,
- 9931, 11269, 11399, 2268,
- 9931, 11269, 11399, 2270,
- 9931, 11269, 11399, 2272,
- 9931, 11269, 11399, 2598,
- 9931, 11269, 11399, 2600,
- 9931, 11269, 11399, 2604,
- 9931, 11269, 11399, 2606,
- 9931, 11269, 11399, 2772,
- 9931, 11269, 11399, 2774,
- 9931, 11269, 11399, 2776,
- 9931, 11269, 11399, 2778,
- 9931, 11269, 11399, 2906,
- 9931, 11269, 11399, 2932,
- 9931, 11269, 11399, 2942,
- 9931, 11269, 11399, 3102,
- 9931, 11269, 11399, 3104,
- 9931, 11269, 11399, 3106,
- 9931, 11269, 11399, 3108,
- 9931, 11269, 11399, 3970,
- 9931, 11269, 11399, 3972,
- 9931, 11269, 11399, 3974,
- 9931, 11269, 11399, 4230,
- 9931, 11269, 11399, 4796,
- 9931, 11269, 11399, 4800,
- 9931, 11269, 11399, 4802,
- 9931, 11269, 11399, 4910,
- 9931, 11269, 11399, 4912,
- 9931, 11269, 11399, 4914,
- 9931, 11269, 11399, 5032,
- 9931, 11269, 11399, 5036,
- 9931, 11269, 11399, 5038,
- 9931, 11269, 11399, 5290,
- 9931, 11269, 11399, 5460,
- 9931, 11269, 11399, 5464,
- 9931, 11269, 11399, 5466,
- 9931, 11269, 11399, 5616,
- 9931, 11269, 11399, 5732,
- 9931, 11269, 11399, 5734,
- 9931, 11269, 11399, 5736,
- 9931, 11269, 11399, 5738,
- 9931, 11269, 11399, 5858,
- 9931, 11269, 11399, 5860,
- 9931, 11269, 11399, 5862,
- 9931, 11269, 11399, 6024,
- 9931, 11269, 11399, 6026,
- 9931, 11269, 11399, 6028,
- 9931, 11269, 11399, 6246,
- 9931, 11269, 11399, 6248,
- 9931, 11269, 11399, 6250,
- 9931, 11269, 11399, 7558,
- 9931, 11269, 11399, 7560,
- 9931, 11269, 11399, 7562,
- 9931, 11269, 11399, 7700,
- 9931, 11269, 11435, 24,
- 9931, 11269, 11435, 36,
- 9931, 11269, 11443, 48,
- 9931, 11269, 11689, 534,
- 9931, 11269, 11883, 562,
- 9931, 11269, 11883, 2678,
- 9931, 11269, 11883, 2680,
- 9931, 11269, 11883, 2682,
- 9931, 11269, 11883, 2684,
- 9931, 11269, 12869, 1580,
- 9931, 11269, 12869, 1600,
- 9931, 11269, 12869, 1628,
- 9931, 11269, 12869, 1656,
- 9941, 8405, 0,
- 9941, 8405, 8,
- 9941, 8405, 16,
- 9941, 8405, 28,
- 9941, 8405, 36,
- 9941, 8405, 40,
- 9941, 8405, 42,
- 9941, 8405, 138,
- 9941, 8405, 142,
- 9941, 8405, 144,
- 9941, 8405, 150,
- 9941, 8405, 152,
- 9941, 8405, 154,
- 9941, 8405, 216,
- 9941, 8405, 220,
- 9941, 8405, 224,
- 9941, 8405, 228,
- 9941, 8405, 230,
- 9941, 8405, 232,
- 9941, 8405, 236,
- 9941, 8405, 238,
- 9941, 8405, 242,
- 9941, 8405, 246,
- 9941, 8405, 250,
- 9941, 8405, 252,
- 9941, 8405, 306,
- 9941, 8405, 332,
- 9941, 8405, 336,
- 9941, 8405, 340,
- 9941, 8405, 350,
- 9941, 8405, 354,
- 9941, 8405, 356,
- 9941, 8405, 364,
- 9941, 8405, 368,
- 9941, 8405, 374,
- 9941, 8405, 380,
- 9941, 8405, 384,
- 9941, 8405, 392,
- 9941, 8405, 396,
- 9941, 8405, 404,
- 9941, 8405, 412,
- 9941, 8405, 416,
- 9941, 8405, 418,
- 9941, 8405, 524,
- 9941, 8405, 526,
- 9941, 8405, 532,
- 9941, 8405, 536,
- 9941, 8405, 546,
- 9941, 8405, 548,
- 9941, 8405, 556,
- 9941, 8405, 560,
- 9941, 8405, 564,
- 9941, 8405, 622,
- 9941, 8405, 626,
- 9941, 8405, 630,
- 9941, 8405, 632,
- 9941, 8405, 634,
- 9941, 8405, 636,
- 9941, 8405, 652,
- 9941, 8405, 654,
- 9941, 8405, 656,
- 9941, 8405, 660,
- 9941, 8405, 664,
- 9941, 8405, 666,
- 9941, 8405, 1024,
- 9941, 8405, 1412,
- 9941, 8405, 1986,
- 9941, 8405, 2328,
- 9941, 8405, 2330,
- 9941, 8405, 2332,
- 9941, 8405, 2336,
- 9941, 8405, 2344,
- 9941, 8405, 2346,
- 9941, 8405, 2706,
- 9941, 8405, 2708,
- 9941, 8405, 2710,
- 9941, 8405, 2712,
- 9941, 8405, 2714,
- 9941, 8405, 2716,
- 9941, 8405, 2732,
- 9941, 8405, 2734,
- 9941, 8405, 2736,
- 9941, 8405, 2738,
- 9941, 8405, 2740,
- 9941, 8405, 2742,
- 9959, 89, 8466,
- 9959, 89, 8521, 10572,
- 9959, 89, 8521, 10573, 445, 6741, 568,
- 9959, 6121, 4895, 11649, 8758,
- 9959, 6121, 9546,
- 9959, 6121, 10677, 761, 91, 1109, 429, 11649, 8758,
- 9961, 2429, 5895, 6689, 2170,
- 9961, 2429, 5895, 6689, 2540,
- 9961, 2429, 5895, 6689, 2778,
- 9961, 2429, 5895, 6689, 4200,
- 9961, 2429, 5895, 6689, 4214,
- 9961, 2429, 5895, 6689, 5190,
- 9961, 2429, 5895, 6689, 6722,
- 9961, 2429, 5895, 6689, 7508,
- 9961, 2429, 5895, 6689, 7694,
- 9961, 2429, 6053, 6689, 2170,
- 9961, 2429, 6053, 6689, 2540,
- 9961, 2429, 6053, 6689, 2778,
- 9961, 2429, 6053, 6689, 4200,
- 9961, 2429, 6053, 6689, 4214,
- 9961, 2429, 6053, 6689, 5190,
- 9961, 2429, 6053, 6689, 6722,
- 9961, 2429, 6053, 6689, 7508,
- 9961, 2429, 6053, 6689, 7694,
- 9969, 5758,
- 9971, 5758,
- 9977, 7593, 8405, 0,
- 9977, 7593, 8405, 1, 6121, 6516,
- 9977, 7593, 8405, 1, 6121, 10804,
- 9977, 7593, 8405, 8,
- 9977, 7593, 8405, 9, 6121, 10804,
- 9977, 7593, 8405, 16,
- 9977, 7593, 8405, 17, 6121, 6874,
- 9977, 7593, 8405, 17, 6121, 8432,
- 9977, 7593, 8405, 17, 6121, 10804,
- 9977, 7593, 8405, 28,
- 9977, 7593, 8405, 29, 6121, 10804,
- 9977, 7593, 8405, 40,
- 9977, 7593, 8405, 41, 6121, 8153, 6378,
- 9977, 7593, 8405, 41, 6121, 8432,
- 9977, 7593, 8405, 41, 6121, 10804,
- 9977, 7593, 8405, 102,
- 9977, 7593, 8405, 142,
- 9977, 7593, 8405, 164,
- 9977, 7593, 8405, 172,
- 9977, 7593, 8405, 173, 6121, 4530,
- 9977, 7593, 8405, 173, 6121, 5878,
- 9977, 7593, 8405, 173, 6121, 8473, 4530,
- 9977, 7593, 8405, 174,
- 9977, 7593, 8405, 175, 6121, 5878,
- 9977, 7593, 8405, 176,
- 9977, 7593, 8405, 177, 6121, 4530,
- 9977, 7593, 8405, 177, 6121, 5878,
- 9977, 7593, 8405, 177, 6121, 8473, 4530,
- 9977, 7593, 8405, 177, 6121, 10802,
- 9977, 7593, 8405, 182,
- 9977, 7593, 8405, 183, 6121, 5934,
- 9977, 7593, 8405, 184,
- 9977, 7593, 8405, 185, 6121, 10802,
- 9977, 7593, 8405, 236,
- 9977, 7593, 8405, 237, 6121, 4530,
- 9977, 7593, 8405, 237, 6121, 8758,
- 9977, 7593, 8405, 237, 6121, 10802,
- 9977, 7593, 8405, 258,
- 9977, 7593, 8405, 259, 6121, 6516,
- 9977, 7593, 8405, 259, 6121, 6874,
- 9977, 7593, 8405, 276,
- 9977, 7593, 8405, 294,
- 9977, 7593, 8405, 306,
- 9977, 7593, 8405, 307, 6121, 4530,
- 9977, 7593, 8405, 307, 6121, 8758,
- 9977, 7593, 8405, 307, 6121, 10677, 8758,
- 9977, 7593, 8405, 307, 6121, 10802,
- 9977, 7593, 8405, 448,
- 9977, 7593, 8405, 468,
- 9977, 7593, 8405, 469, 6121, 8473, 4530,
- 9977, 7593, 8405, 496,
- 9977, 7593, 8405, 560,
- 9977, 7593, 8405, 561, 6121, 8473, 4530,
- 9977, 7593, 8405, 561, 6121, 10802,
- 9977, 7593, 8405, 592,
- 9977, 7593, 8405, 612,
- 9977, 7593, 8405, 626,
- 9977, 7593, 8405, 652,
- 9977, 7593, 8405, 656,
- 9977, 7593, 8405, 658,
- 9977, 7593, 8405, 664,
- 9977, 7593, 8405, 672,
- 9977, 7593, 8405, 673, 6121, 10802,
- 9977, 7593, 8405, 673, 6121, 10804,
- 9977, 7593, 8405, 807, 3096,
- 9977, 7593, 8405, 886,
- 9977, 7593, 8405, 887, 6121, 10677, 8758,
- 9977, 7593, 8405, 887, 6121, 10802,
- 9977, 7593, 8405, 887, 6121, 10804,
- 9977, 7593, 8405, 1022,
- 9977, 7593, 8405, 1074,
- 9977, 7593, 8405, 1082,
- 9977, 7593, 8405, 1262,
- 9977, 7593, 8405, 1263, 6121, 8473, 4530,
- 9977, 7593, 8405, 1263, 6121, 8758,
- 9977, 7593, 8405, 1263, 6121, 8759, 721, 4530,
- 9977, 7593, 8405, 1263, 6121, 8896,
- 9977, 7593, 8405, 1263, 6121, 10802,
- 9977, 7593, 8405, 1284,
- 9977, 7593, 8405, 1442,
- 9977, 7593, 8405, 1640,
- 9977, 7593, 8405, 1680,
- 9977, 7593, 8405, 1770,
- 9977, 7593, 8405, 1794,
- 9977, 7593, 8405, 2064,
- 9977, 7593, 8405, 2250,
- 9977, 7593, 8405, 2410,
- 9977, 7593, 8405, 2516,
- 9977, 7593, 8405, 2734,
- 9977, 7593, 8405, 2774,
- 9977, 7593, 8405, 3012,
- 9977, 7593, 8405, 3038,
- 9977, 7593, 8405, 3148,
- 9977, 7593, 8405, 3149, 6121, 6516,
- 9977, 7593, 8405, 3149, 6121, 10802,
- 9977, 7593, 8405, 3149, 6121, 10804,
- 9977, 7593, 8405, 3862,
- 9977, 7593, 8405, 4142,
- 9977, 7593, 8405, 4146,
- 9977, 7593, 8405, 4148,
- 9977, 7593, 8405, 4198,
- 9977, 7593, 8405, 4393, 5758,
- 9977, 7593, 8405, 4614,
- 9977, 7593, 8405, 4771, 142,
- 9977, 7593, 8405, 4771, 1022,
- 9977, 7593, 8405, 4771, 1794,
- 9977, 7593, 8405, 4771, 2064,
- 9977, 7593, 8405, 4771, 2542,
- 9977, 7593, 8405, 4771, 2704,
- 9977, 7593, 8405, 4771, 3172,
- 9977, 7593, 8405, 4771, 4144,
- 9977, 7593, 8405, 5690,
- 9977, 7593, 8405, 5734,
- 9977, 7593, 8405, 5781, 142,
- 9977, 7593, 8405, 5781, 172,
- 9977, 7593, 8405, 5781, 174,
- 9977, 7593, 8405, 5781, 5758,
- 9977, 7593, 8405, 5890,
- 9977, 7593, 8405, 5980,
- 9977, 7593, 8405, 5982,
- 9977, 7593, 8405, 5986,
- 9977, 7593, 8405, 6200,
- 9977, 7593, 8405, 6201, 6121, 3697, 3058,
- 9977, 7593, 8405, 6201, 6121, 10804,
- 9977, 7593, 8405, 6302,
- 9977, 7593, 8405, 6399, 306,
- 9977, 7593, 8405, 6519, 7316,
- 9977, 7593, 8405, 6696,
- 9977, 7593, 8405, 6710,
- 9977, 7593, 8405, 7062,
- 9977, 7593, 8405, 7316,
- 9977, 7593, 8405, 7317, 6121, 7716,
- 9977, 7593, 8405, 7455, 7316,
- 9977, 7593, 8405, 7494,
- 9977, 7593, 8405, 7495, 6121, 10804,
- 9977, 7593, 8405, 7522,
- 9977, 7593, 8405, 7551, 16,
- 9977, 7593, 8405, 7551, 17, 6121, 5878,
- 9977, 7593, 8405, 7551, 40,
- 9977, 7593, 8405, 7981, 28,
- 9977, 7593, 8405, 7981, 29, 6121, 10804,
- 9977, 7593, 8405, 8065, 8425, 3096,
- 9977, 7593, 8405, 8153, 11125, 28,
- 9977, 7593, 8405, 8425, 3096,
- 9977, 7593, 8405, 8960,
- 9977, 7593, 8405, 9029, 306,
- 9977, 7593, 8405, 9049, 3096,
- 9977, 7593, 8405, 9372,
- 9977, 7593, 8405, 9373, 6121, 8153, 6875, 7908,
- 9977, 7593, 8405, 9501, 3058,
- 9977, 7593, 8405, 10269, 0,
- 9977, 7593, 8405, 10269, 8,
- 9977, 7593, 8405, 10269, 807, 3096,
- 9977, 7593, 8405, 10269, 3038,
- 9977, 7593, 8405, 10269, 8065, 8425, 3096,
- 9977, 7593, 8405, 10269, 8425, 3096,
- 9977, 7593, 8405, 10396,
- 9977, 7593, 8405, 10489, 664,
- 9977, 7593, 8405, 10489, 672,
- 9977, 7593, 8405, 10489, 1082,
- 9977, 7593, 8405, 10509, 5758,
- 9977, 7593, 8405, 10545, 40,
- 9977, 7593, 8405, 10545, 41, 6121, 8758,
- 9977, 7593, 8405, 10697, 236,
- 9977, 7593, 8405, 10697, 886,
- 9977, 7593, 8405, 10697, 887, 6121, 10802,
- 9977, 7593, 8405, 10697, 1082,
- 9977, 7593, 8405, 10735, 28,
- 9977, 7593, 8405, 11125, 28,
- 9977, 7593, 8405, 11127, 592,
- 9977, 7593, 8405, 11383, 258,
- 9977, 7593, 8405, 11665, 886,
- 9977, 7593, 8405, 13415, 16,
- 9977, 7593, 10301, 1, 258,
- 9977, 7593, 10301, 177, 1262,
- 9977, 7593, 10301, 561, 2734,
- 9977, 8342,
- 9977, 8405, 7593, 9063, 172,
- 9977, 8405, 10396,
- 9977, 8405, 12087, 28,
- 9977, 9063, 8405, 0,
- 9977, 9063, 8405, 1, 6121, 6516,
- 9977, 9063, 8405, 1, 6121, 10804,
- 9977, 9063, 8405, 8,
- 9977, 9063, 8405, 9, 6121, 10804,
- 9977, 9063, 8405, 16,
- 9977, 9063, 8405, 17, 6121, 6874,
- 9977, 9063, 8405, 17, 6121, 8432,
- 9977, 9063, 8405, 17, 6121, 10804,
- 9977, 9063, 8405, 28,
- 9977, 9063, 8405, 29, 6121, 10804,
- 9977, 9063, 8405, 40,
- 9977, 9063, 8405, 41, 6121, 8153, 6378,
- 9977, 9063, 8405, 41, 6121, 8432,
- 9977, 9063, 8405, 41, 6121, 10804,
- 9977, 9063, 8405, 102,
- 9977, 9063, 8405, 142,
- 9977, 9063, 8405, 164,
- 9977, 9063, 8405, 172,
- 9977, 9063, 8405, 173, 6121, 4530,
- 9977, 9063, 8405, 173, 6121, 5878,
- 9977, 9063, 8405, 173, 6121, 8473, 4530,
- 9977, 9063, 8405, 174,
- 9977, 9063, 8405, 175, 6121, 5878,
- 9977, 9063, 8405, 176,
- 9977, 9063, 8405, 177, 6121, 4530,
- 9977, 9063, 8405, 177, 6121, 5878,
- 9977, 9063, 8405, 177, 6121, 8473, 4530,
- 9977, 9063, 8405, 177, 6121, 10802,
- 9977, 9063, 8405, 182,
- 9977, 9063, 8405, 183, 6121, 5934,
- 9977, 9063, 8405, 184,
- 9977, 9063, 8405, 185, 6121, 10802,
- 9977, 9063, 8405, 236,
- 9977, 9063, 8405, 237, 6121, 4530,
- 9977, 9063, 8405, 237, 6121, 8758,
- 9977, 9063, 8405, 237, 6121, 10802,
- 9977, 9063, 8405, 258,
- 9977, 9063, 8405, 259, 6121, 6516,
- 9977, 9063, 8405, 259, 6121, 6874,
- 9977, 9063, 8405, 276,
- 9977, 9063, 8405, 294,
- 9977, 9063, 8405, 306,
- 9977, 9063, 8405, 307, 6121, 4530,
- 9977, 9063, 8405, 307, 6121, 8758,
- 9977, 9063, 8405, 307, 6121, 10677, 8758,
- 9977, 9063, 8405, 307, 6121, 10802,
- 9977, 9063, 8405, 448,
- 9977, 9063, 8405, 468,
- 9977, 9063, 8405, 469, 6121, 8473, 4530,
- 9977, 9063, 8405, 496,
- 9977, 9063, 8405, 560,
- 9977, 9063, 8405, 561, 6121, 8473, 4530,
- 9977, 9063, 8405, 561, 6121, 10802,
- 9977, 9063, 8405, 592,
- 9977, 9063, 8405, 612,
- 9977, 9063, 8405, 626,
- 9977, 9063, 8405, 652,
- 9977, 9063, 8405, 656,
- 9977, 9063, 8405, 658,
- 9977, 9063, 8405, 664,
- 9977, 9063, 8405, 672,
- 9977, 9063, 8405, 673, 6121, 10802,
- 9977, 9063, 8405, 673, 6121, 10804,
- 9977, 9063, 8405, 807, 3096,
- 9977, 9063, 8405, 886,
- 9977, 9063, 8405, 887, 6121, 10677, 8758,
- 9977, 9063, 8405, 887, 6121, 10802,
- 9977, 9063, 8405, 887, 6121, 10804,
- 9977, 9063, 8405, 1022,
- 9977, 9063, 8405, 1074,
- 9977, 9063, 8405, 1082,
- 9977, 9063, 8405, 1262,
- 9977, 9063, 8405, 1263, 6121, 8473, 4530,
- 9977, 9063, 8405, 1263, 6121, 8758,
- 9977, 9063, 8405, 1263, 6121, 8759, 721, 4530,
- 9977, 9063, 8405, 1263, 6121, 8896,
- 9977, 9063, 8405, 1263, 6121, 10802,
- 9977, 9063, 8405, 1284,
- 9977, 9063, 8405, 1442,
- 9977, 9063, 8405, 1640,
- 9977, 9063, 8405, 1680,
- 9977, 9063, 8405, 1770,
- 9977, 9063, 8405, 1794,
- 9977, 9063, 8405, 2064,
- 9977, 9063, 8405, 2250,
- 9977, 9063, 8405, 2410,
- 9977, 9063, 8405, 2516,
- 9977, 9063, 8405, 2734,
- 9977, 9063, 8405, 2774,
- 9977, 9063, 8405, 3012,
- 9977, 9063, 8405, 3038,
- 9977, 9063, 8405, 3148,
- 9977, 9063, 8405, 3149, 6121, 6516,
- 9977, 9063, 8405, 3149, 6121, 10802,
- 9977, 9063, 8405, 3149, 6121, 10804,
- 9977, 9063, 8405, 3862,
- 9977, 9063, 8405, 4142,
- 9977, 9063, 8405, 4146,
- 9977, 9063, 8405, 4148,
- 9977, 9063, 8405, 4198,
- 9977, 9063, 8405, 4393, 5758,
- 9977, 9063, 8405, 4614,
- 9977, 9063, 8405, 4771, 142,
- 9977, 9063, 8405, 4771, 1022,
- 9977, 9063, 8405, 4771, 1794,
- 9977, 9063, 8405, 4771, 2064,
- 9977, 9063, 8405, 4771, 2542,
- 9977, 9063, 8405, 4771, 2704,
- 9977, 9063, 8405, 4771, 3172,
- 9977, 9063, 8405, 4771, 4144,
- 9977, 9063, 8405, 5690,
- 9977, 9063, 8405, 5734,
- 9977, 9063, 8405, 5781, 142,
- 9977, 9063, 8405, 5781, 172,
- 9977, 9063, 8405, 5781, 174,
- 9977, 9063, 8405, 5781, 5758,
- 9977, 9063, 8405, 5890,
- 9977, 9063, 8405, 5980,
- 9977, 9063, 8405, 5982,
- 9977, 9063, 8405, 5986,
- 9977, 9063, 8405, 6200,
- 9977, 9063, 8405, 6201, 6121, 3697, 3058,
- 9977, 9063, 8405, 6201, 6121, 10804,
- 9977, 9063, 8405, 6302,
- 9977, 9063, 8405, 6399, 306,
- 9977, 9063, 8405, 6519, 7316,
- 9977, 9063, 8405, 6696,
- 9977, 9063, 8405, 6710,
- 9977, 9063, 8405, 7062,
- 9977, 9063, 8405, 7316,
- 9977, 9063, 8405, 7317, 6121, 7716,
- 9977, 9063, 8405, 7455, 7316,
- 9977, 9063, 8405, 7494,
- 9977, 9063, 8405, 7495, 6121, 10804,
- 9977, 9063, 8405, 7522,
- 9977, 9063, 8405, 7551, 16,
- 9977, 9063, 8405, 7551, 17, 6121, 5878,
- 9977, 9063, 8405, 7551, 40,
- 9977, 9063, 8405, 7981, 28,
- 9977, 9063, 8405, 7981, 29, 6121, 10804,
- 9977, 9063, 8405, 8065, 8425, 3096,
- 9977, 9063, 8405, 8153, 11125, 28,
- 9977, 9063, 8405, 8425, 3096,
- 9977, 9063, 8405, 8960,
- 9977, 9063, 8405, 9029, 306,
- 9977, 9063, 8405, 9049, 3096,
- 9977, 9063, 8405, 9372,
- 9977, 9063, 8405, 9373, 6121, 8153, 6875, 7908,
- 9977, 9063, 8405, 9501, 3058,
- 9977, 9063, 8405, 10269, 0,
- 9977, 9063, 8405, 10269, 8,
- 9977, 9063, 8405, 10269, 807, 3096,
- 9977, 9063, 8405, 10269, 3038,
- 9977, 9063, 8405, 10269, 8065, 8425, 3096,
- 9977, 9063, 8405, 10269, 8425, 3096,
- 9977, 9063, 8405, 10489, 664,
- 9977, 9063, 8405, 10489, 672,
- 9977, 9063, 8405, 10489, 1082,
- 9977, 9063, 8405, 10509, 5758,
- 9977, 9063, 8405, 10545, 40,
- 9977, 9063, 8405, 10545, 41, 6121, 8758,
- 9977, 9063, 8405, 10697, 236,
- 9977, 9063, 8405, 10697, 886,
- 9977, 9063, 8405, 10697, 887, 6121, 10802,
- 9977, 9063, 8405, 10697, 1082,
- 9977, 9063, 8405, 10735, 28,
- 9977, 9063, 8405, 11125, 28,
- 9977, 9063, 8405, 11127, 592,
- 9977, 9063, 8405, 11383, 258,
- 9977, 9063, 8405, 11665, 886,
- 9977, 9063, 8405, 13415, 16,
- 9977, 9063, 10301, 1, 258,
- 9977, 9063, 10301, 177, 1262,
- 9977, 9063, 10301, 561, 2734,
- 9977, 9578,
- 9977, 11363, 5758,
- 10003, 5758,
- 10017, 5758,
- 10017, 7580,
- 10017, 7710,
- 10141, 7383, 11765, 6434,
- 10153, 6434,
- 10157, 8774,
- 10162,
- 10171, 4223, 5836,
- 10171, 6610,
- 10171, 6616,
- 10171, 6689, 2170,
- 10171, 6689, 2540,
- 10171, 6689, 2778,
- 10171, 6689, 4200,
- 10171, 6689, 4214,
- 10171, 6689, 5190,
- 10171, 6689, 6722,
- 10171, 6689, 7508,
- 10171, 6689, 7694,
- 10171, 7723, 4927, 4790,
- 10171, 7723, 4927, 6676,
- 10171, 7723, 4927, 6686,
- 10171, 7723, 4927, 6910,
- 10171, 7723, 4927, 7038,
- 10171, 7723, 4927, 7551, 8646,
- 10171, 7723, 4927, 7860,
- 10171, 7723, 4927, 8046,
- 10171, 7723, 4927, 8646,
- 10171, 7723, 4927, 11934,
- 10171, 8525, 2670,
- 10171, 8525, 2671, 10624,
- 10171, 8525, 6784,
- 10171, 8525, 6804,
- 10171, 8525, 7576,
- 10171, 8525, 8160,
- 10171, 8525, 8514,
- 10171, 8525, 8820,
- 10171, 8525, 8876,
- 10171, 8525, 9344,
- 10171, 8525, 9672,
- 10171, 9607, 6610,
- 10171, 9665, 4926,
- 10171, 10469, 4926,
- 10171, 10585, 100,
- 10171, 10585, 102,
- 10171, 10585, 106,
- 10171, 10585, 108,
- 10171, 10585, 112,
- 10171, 10585, 116,
- 10171, 10585, 122,
- 10171, 10585, 126,
- 10171, 10585, 130,
- 10171, 10585, 132,
- 10171, 10585, 138,
- 10171, 10585, 142,
- 10171, 10585, 144,
- 10171, 10585, 150,
- 10171, 10585, 152,
- 10171, 10585, 196,
- 10171, 10585, 198,
- 10171, 10585, 202,
- 10171, 10585, 208,
- 10171, 10585, 210,
- 10171, 10585, 216,
- 10171, 10585, 220,
- 10171, 10585, 224,
- 10171, 10585, 228,
- 10171, 10585, 230,
- 10171, 10585, 236,
- 10171, 10585, 238,
- 10171, 10585, 242,
- 10171, 10585, 246,
- 10171, 10585, 250,
- 10171, 10585, 292,
- 10171, 10585, 294,
- 10171, 10585, 296,
- 10171, 10585, 298,
- 10171, 10585, 300,
- 10171, 10585, 306,
- 10171, 10585, 310,
- 10171, 10585, 314,
- 10171, 10585, 322,
- 10171, 10585, 326,
- 10171, 10585, 332,
- 10171, 10585, 336,
- 10171, 10585, 340,
- 10171, 10585, 350,
- 10171, 10585, 354,
- 10171, 10585, 364,
- 10171, 10585, 368,
- 10171, 10585, 374,
- 10171, 10585, 380,
- 10171, 10585, 384,
- 10171, 10585, 392,
- 10171, 10585, 396,
- 10171, 10585, 404,
- 10171, 10585, 412,
- 10171, 10585, 416,
- 10171, 10585, 462,
- 10171, 10585, 468,
- 10171, 10585, 476,
- 10171, 10585, 480,
- 10171, 10585, 486,
- 10171, 10585, 496,
- 10171, 10585, 498,
- 10171, 10585, 500,
- 10171, 10585, 502,
- 10171, 10585, 506,
- 10171, 10585, 510,
- 10171, 10585, 512,
- 10171, 10585, 514,
- 10171, 10585, 516,
- 10171, 10585, 520,
- 10171, 10585, 524,
- 10171, 10585, 526,
- 10171, 10585, 532,
- 10171, 10585, 536,
- 10171, 10585, 546,
- 10171, 10585, 556,
- 10171, 10585, 560,
- 10171, 10585, 564,
- 10171, 10585, 568,
- 10171, 10585, 576,
- 10171, 10585, 610,
- 10171, 10585, 612,
- 10171, 10585, 614,
- 10171, 10585, 616,
- 10171, 10585, 618,
- 10171, 10585, 622,
- 10171, 10585, 626,
- 10171, 10585, 630,
- 10171, 10585, 632,
- 10171, 10585, 634,
- 10171, 10585, 638,
- 10171, 10585, 640,
- 10171, 10585, 644,
- 10171, 10585, 646,
- 10171, 10585, 648,
- 10171, 10585, 652,
- 10171, 10585, 654,
- 10171, 10585, 656,
- 10171, 10585, 660,
- 10171, 10585, 664,
- 10171, 10585, 670,
- 10171, 10585, 672,
- 10171, 10585, 676,
- 10171, 10585, 678,
- 10171, 10585, 680,
- 10171, 10585, 748,
- 10171, 10585, 778,
- 10171, 10585, 816,
- 10171, 10585, 838,
- 10171, 10585, 840,
- 10171, 10585, 842,
- 10171, 10585, 854,
- 10171, 10585, 866,
- 10171, 10585, 868,
- 10171, 10585, 870,
- 10171, 10585, 872,
- 10171, 10585, 874,
- 10171, 10585, 876,
- 10171, 10585, 884,
- 10171, 10585, 886,
- 10171, 10585, 888,
- 10171, 10585, 890,
- 10171, 10585, 892,
- 10171, 10585, 910,
- 10171, 10585, 936,
- 10171, 10585, 954,
- 10171, 10585, 974,
- 10171, 10585, 976,
- 10171, 10585, 978,
- 10171, 10585, 980,
- 10171, 10585, 982,
- 10171, 10585, 984,
- 10171, 10585, 1034,
- 10171, 10585, 1072,
- 10171, 10585, 1140,
- 10171, 10585, 1150,
- 10171, 10585, 1188,
- 10171, 10585, 1190,
- 10171, 10585, 1192,
- 10171, 10585, 1194,
- 10171, 10585, 1204,
- 10171, 10585, 1238,
- 10171, 10585, 1250,
- 10171, 10585, 1252,
- 10171, 10585, 1254,
- 10171, 10585, 1256,
- 10171, 10585, 1258,
- 10171, 10585, 1288,
- 10171, 10585, 1322,
- 10171, 10585, 1324,
- 10171, 10585, 1326,
- 10171, 10585, 1328,
- 10171, 10585, 1330,
- 10171, 10585, 1332,
- 10171, 10585, 1334,
- 10171, 10585, 1336,
- 10171, 10585, 1338,
- 10171, 10585, 1356,
- 10171, 10585, 1370,
- 10171, 10585, 1372,
- 10171, 10585, 1374,
- 10171, 10585, 1376,
- 10171, 10585, 1378,
- 10171, 10585, 1418,
- 10171, 10585, 1502,
- 10171, 10585, 1506,
- 10171, 10585, 1540,
- 10171, 10585, 1562,
- 10171, 10585, 1574,
- 10171, 10585, 1598,
- 10171, 10585, 1654,
- 10171, 10585, 1704,
- 10171, 10585, 1706,
- 10171, 10585, 1708,
- 10171, 10585, 1712,
- 10171, 10585, 1714,
- 10171, 10585, 1716,
- 10171, 10585, 1718,
- 10171, 10585, 1720,
- 10171, 10585, 1722,
- 10171, 10585, 1724,
- 10171, 10585, 1726,
- 10171, 10585, 1728,
- 10171, 10585, 1730,
- 10171, 10585, 1732,
- 10171, 10585, 1758,
- 10171, 10585, 1798,
- 10171, 10585, 1834,
- 10171, 10585, 1854,
- 10171, 10585, 1890,
- 10171, 10585, 1932,
- 10171, 10585, 1964,
- 10171, 10585, 1966,
- 10171, 10585, 1968,
- 10171, 10585, 1972,
- 10171, 10585, 1982,
- 10171, 10585, 2016,
- 10171, 10585, 2082,
- 10171, 10585, 2122,
- 10171, 10585, 2126,
- 10171, 10585, 2130,
- 10171, 10585, 2132,
- 10171, 10585, 2134,
- 10171, 10585, 2136,
- 10171, 10585, 2188,
- 10171, 10585, 2204,
- 10171, 10585, 2212,
- 10171, 10585, 2214,
- 10171, 10585, 2216,
- 10171, 10585, 2218,
- 10171, 10585, 2220,
- 10171, 10585, 2236,
- 10171, 10585, 2266,
- 10171, 10585, 2268,
- 10171, 10585, 2270,
- 10171, 10585, 2282,
- 10171, 10585, 2294,
- 10171, 10585, 2296,
- 10171, 10585, 2298,
- 10171, 10585, 2300,
- 10171, 10585, 2302,
- 10171, 10585, 2304,
- 10171, 10585, 2316,
- 10171, 10585, 2350,
- 10171, 10585, 2352,
- 10171, 10585, 2354,
- 10171, 10585, 2356,
- 10171, 10585, 2358,
- 10171, 10585, 2360,
- 10171, 10585, 2362,
- 10171, 10585, 2370,
- 10171, 10585, 2378,
- 10171, 10585, 2402,
- 10171, 10585, 2424,
- 10171, 10585, 2466,
- 10171, 10585, 2468,
- 10171, 10585, 2482,
- 10171, 10585, 2504,
- 10171, 10585, 2516,
- 10171, 10585, 2518,
- 10171, 10585, 2520,
- 10171, 10585, 2522,
- 10171, 10585, 2524,
- 10171, 10585, 2548,
- 10171, 10585, 2566,
- 10171, 10585, 2568,
- 10171, 10585, 2570,
- 10171, 10585, 2572,
- 10171, 10585, 2574,
- 10171, 10585, 2598,
- 10171, 10585, 2620,
- 10171, 10585, 2622,
- 10171, 10585, 2624,
- 10171, 10585, 2626,
- 10171, 10585, 2628,
- 10171, 10585, 2634,
- 10171, 10585, 2666,
- 10171, 10585, 2678,
- 10171, 10585, 2680,
- 10171, 10585, 2682,
- 10171, 10585, 2684,
- 10171, 10585, 2686,
- 10171, 10585, 2718,
- 10171, 10585, 2732,
- 10171, 10585, 2734,
- 10171, 10585, 2736,
- 10171, 10585, 2738,
- 10171, 10585, 2740,
- 10171, 10585, 2772,
- 10171, 10585, 2790,
- 10171, 10585, 2792,
- 10171, 10585, 2794,
- 10171, 10585, 2796,
- 10171, 10585, 2798,
- 10171, 10585, 2844,
- 10171, 10585, 2856,
- 10171, 10585, 2896,
- 10171, 10585, 2906,
- 10171, 10585, 2922,
- 10171, 10585, 2936,
- 10171, 10585, 2952,
- 10171, 10585, 2956,
- 10171, 10585, 2968,
- 10171, 10585, 2982,
- 10171, 10585, 2984,
- 10171, 10585, 2986,
- 10171, 10585, 2988,
- 10171, 10585, 2990,
- 10171, 10585, 2992,
- 10171, 10585, 2994,
- 10171, 10585, 3002,
- 10171, 10585, 3006,
- 10171, 10585, 3050,
- 10171, 10585, 3078,
- 10171, 10585, 3120,
- 10171, 10585, 3138,
- 10171, 10585, 3146,
- 10171, 10585, 3148,
- 10171, 10585, 3150,
- 10171, 10585, 3152,
- 10171, 10585, 3154,
- 10171, 10585, 3176,
- 10171, 10585, 3202,
- 10171, 10585, 3212,
- 10171, 10585, 3214,
- 10171, 10585, 3216,
- 10171, 10585, 3218,
- 10171, 10585, 3220,
- 10171, 10585, 3826,
- 10171, 10585, 3856,
- 10171, 10585, 3858,
- 10171, 10585, 3860,
- 10171, 10585, 3862,
- 10171, 10585, 3864,
- 10171, 10585, 3866,
- 10171, 10585, 3868,
- 10171, 10585, 3874,
- 10171, 10585, 3890,
- 10171, 10585, 3906,
- 10171, 10585, 3924,
- 10171, 10585, 3998,
- 10171, 10585, 4010,
- 10171, 10585, 4028,
- 10171, 10585, 4046,
- 10171, 10585, 4232,
- 10171, 10585, 4270,
- 10171, 10585, 4278,
- 10171, 10585, 4308,
- 10171, 10585, 4310,
- 10171, 10585, 4312,
- 10171, 10585, 4370,
- 10171, 10585, 4372,
- 10171, 10585, 4374,
- 10171, 10585, 4378,
- 10171, 10585, 4412,
- 10171, 10585, 4414,
- 10171, 10585, 4416,
- 10171, 10585, 4796,
- 10171, 10585, 4798,
- 10171, 10585, 4804,
- 10171, 10585, 4806,
- 10171, 10585, 4808,
- 10171, 10585, 4810,
- 10171, 10585, 4812,
- 10171, 10585, 4814,
- 10171, 10585, 4816,
- 10171, 10585, 5034,
- 10171, 10585, 5292,
- 10171, 10585, 5296,
- 10171, 10585, 5314,
- 10171, 10585, 5332,
- 10171, 10585, 5410,
- 10171, 10585, 5416,
- 10171, 10585, 5418,
- 10171, 10585, 5422,
- 10171, 10585, 5462,
- 10171, 10585, 5478,
- 10171, 10585, 5480,
- 10171, 10585, 5482,
- 10171, 10585, 5484,
- 10171, 10585, 5486,
- 10171, 10585, 5508,
- 10171, 10585, 5510,
- 10171, 10585, 5512,
- 10171, 10585, 5514,
- 10171, 10585, 5666,
- 10171, 10585, 5678,
- 10171, 10585, 5704,
- 10171, 10585, 5732,
- 10171, 10585, 5786,
- 10171, 10585, 5794,
- 10171, 10585, 5866,
- 10171, 10585, 5868,
- 10171, 10585, 5870,
- 10171, 10585, 5906,
- 10171, 10585, 5914,
- 10171, 10585, 5928,
- 10171, 10585, 5932,
- 10171, 10585, 5974,
- 10171, 10585, 5976,
- 10171, 10585, 5984,
- 10171, 10585, 6032,
- 10171, 10585, 6034,
- 10171, 10585, 6038,
- 10171, 10585, 6148,
- 10171, 10585, 6150,
- 10171, 10585, 6152,
- 10171, 10585, 6154,
- 10171, 10585, 6264,
- 10171, 10585, 6274,
- 10171, 10585, 6300,
- 10171, 10585, 6328,
- 10171, 10585, 6336,
- 10171, 10585, 6550,
- 10171, 10585, 6552,
- 10171, 10585, 6846,
- 10171, 10585, 6848,
- 10171, 10585, 7066,
- 10171, 10585, 7068,
- 10171, 10585, 7406,
- 10171, 10585, 7408,
- 10171, 10585, 9313, 0,
- 10171, 10585, 9313, 8,
- 10171, 10585, 9313, 16,
- 10171, 10585, 9313, 28,
- 10171, 10585, 9313, 40,
- 10171, 10585, 9313, 58,
- 10171, 10585, 9313, 162,
- 10171, 10585, 9313, 422,
- 10171, 10585, 9313, 622,
- 10171, 10585, 11223, 838,
- 10171, 10585, 11223, 1188,
- 10171, 10585, 11223, 1964,
- 10171, 10585, 11223, 2266,
- 10171, 10585, 11723, 0,
- 10171, 10585, 11723, 8,
- 10171, 10585, 11723, 16,
- 10171, 10585, 11723, 28,
- 10171, 10585, 11723, 40,
- 10171, 10585, 11723, 58,
- 10171, 10585, 11723, 162,
- 10171, 10767, 11639, 4926,
- 10171, 11163, 11228,
- 10171, 11224,
- 10171, 11400,
- 10173, 12403, 6689, 2170,
- 10173, 12403, 6689, 2540,
- 10173, 12403, 6689, 2778,
- 10173, 12403, 6689, 4200,
- 10173, 12403, 6689, 4214,
- 10173, 12403, 6689, 5190,
- 10173, 12403, 6689, 6260,
- 10173, 12403, 6689, 6722,
- 10173, 12403, 6689, 7508,
- 10173, 12403, 6689, 7694,
- 10179, 9539, 11054,
- 10192,
- 10203, 7580,
- 10203, 11143, 2170,
- 10213, 11894,
- 10221, 7593, 8405, 80,
- 10221, 7593, 8405, 176,
- 10221, 7593, 8405, 238,
- 10221, 7593, 8405, 274,
- 10221, 7593, 8405, 438,
- 10221, 7593, 8405, 596,
- 10221, 7593, 8405, 626,
- 10221, 7593, 8405, 756,
- 10221, 7593, 8405, 858,
- 10221, 7593, 8405, 900,
- 10221, 7593, 8405, 1038,
- 10221, 7593, 8405, 1216,
- 10221, 7593, 8405, 1340,
- 10221, 7593, 8405, 1350,
- 10221, 7593, 8405, 1380,
- 10221, 7593, 8405, 1420,
- 10221, 7593, 8405, 1520,
- 10221, 7593, 8405, 1588,
- 10221, 7593, 8405, 1744,
- 10221, 7593, 8405, 1860,
- 10221, 7593, 8405, 1992,
- 10221, 7593, 8405, 2196,
- 10221, 7593, 8405, 2290,
- 10221, 7593, 8405, 2384,
- 10221, 7593, 8405, 2490,
- 10221, 7593, 8405, 2648,
- 10221, 7593, 8405, 2654,
- 10221, 7593, 8405, 2868,
- 10221, 7593, 8405, 2954,
- 10221, 7593, 8405, 3140,
- 10221, 7593, 8405, 3884,
- 10221, 7593, 8405, 3904,
- 10221, 7593, 8405, 4316,
- 10221, 7593, 8405, 4634,
- 10221, 7593, 8405, 4742,
- 10221, 7593, 8405, 5414,
- 10221, 7593, 8405, 5698,
- 10221, 7593, 8405, 6268,
- 10221, 8405, 80,
- 10221, 8405, 176,
- 10221, 8405, 202,
- 10221, 8405, 238,
- 10221, 8405, 274,
- 10221, 8405, 438,
- 10221, 8405, 596,
- 10221, 8405, 626,
- 10221, 8405, 658,
- 10221, 8405, 710,
- 10221, 8405, 756,
- 10221, 8405, 858,
- 10221, 8405, 900,
- 10221, 8405, 1038,
- 10221, 8405, 1216,
- 10221, 8405, 1340,
- 10221, 8405, 1350,
- 10221, 8405, 1380,
- 10221, 8405, 1420,
- 10221, 8405, 1520,
- 10221, 8405, 1588,
- 10221, 8405, 1744,
- 10221, 8405, 1860,
- 10221, 8405, 1992,
- 10221, 8405, 2196,
- 10221, 8405, 2290,
- 10221, 8405, 2384,
- 10221, 8405, 2490,
- 10221, 8405, 2648,
- 10221, 8405, 2654,
- 10221, 8405, 2868,
- 10221, 8405, 2954,
- 10221, 8405, 3140,
- 10221, 8405, 3884,
- 10221, 8405, 3904,
- 10221, 8405, 4316,
- 10221, 8405, 4634,
- 10221, 8405, 4742,
- 10221, 8405, 5414,
- 10221, 8405, 5698,
- 10221, 8405, 6268,
- 10221, 8405, 6728,
- 10221, 8405, 8869, 1216,
- 10221, 9063, 8405, 80,
- 10221, 9063, 8405, 176,
- 10221, 9063, 8405, 238,
- 10221, 9063, 8405, 274,
- 10221, 9063, 8405, 438,
- 10221, 9063, 8405, 596,
- 10221, 9063, 8405, 626,
- 10221, 9063, 8405, 756,
- 10221, 9063, 8405, 858,
- 10221, 9063, 8405, 900,
- 10221, 9063, 8405, 1038,
- 10221, 9063, 8405, 1216,
- 10221, 9063, 8405, 1340,
- 10221, 9063, 8405, 1350,
- 10221, 9063, 8405, 1380,
- 10221, 9063, 8405, 1420,
- 10221, 9063, 8405, 1520,
- 10221, 9063, 8405, 1588,
- 10221, 9063, 8405, 1744,
- 10221, 9063, 8405, 1860,
- 10221, 9063, 8405, 1992,
- 10221, 9063, 8405, 2196,
- 10221, 9063, 8405, 2290,
- 10221, 9063, 8405, 2384,
- 10221, 9063, 8405, 2490,
- 10221, 9063, 8405, 2648,
- 10221, 9063, 8405, 2654,
- 10221, 9063, 8405, 2868,
- 10221, 9063, 8405, 2954,
- 10221, 9063, 8405, 3140,
- 10221, 9063, 8405, 3884,
- 10221, 9063, 8405, 3904,
- 10221, 9063, 8405, 4316,
- 10221, 9063, 8405, 4634,
- 10221, 9063, 8405, 4742,
- 10221, 9063, 8405, 5414,
- 10221, 9063, 8405, 5698,
- 10221, 9063, 8405, 6268,
- 10221, 11163, 11228,
- 10225, 436,
- 10225, 5759, 7282,
- 10225, 5759, 8916,
- 10225, 5759, 9824,
- 10225, 5759, 9870,
- 10225, 5759, 9904,
- 10225, 5759, 11900,
- 10225, 6689, 2170,
- 10225, 6689, 2540,
- 10225, 6689, 2778,
- 10225, 6689, 4200,
- 10225, 6689, 4214,
- 10225, 6689, 5190,
- 10225, 6689, 6260,
- 10225, 6689, 6722,
- 10225, 6689, 7508,
- 10225, 6689, 7694,
- 10225, 7469, 5758,
- 10225, 7803, 5759, 8,
- 10225, 7803, 5759, 16,
- 10225, 7803, 5759, 28,
- 10225, 7803, 5759, 40,
- 10225, 7803, 5759, 58,
- 10225, 7803, 5759, 72,
- 10225, 7803, 5759, 92,
- 10225, 7803, 5759, 266,
- 10225, 7803, 5759, 606,
- 10225, 7803, 5759, 8031, 8,
- 10225, 7803, 5759, 8031, 28,
- 10225, 7803, 5759, 9827, 22,
- 10225, 7803, 5759, 9827, 34,
- 10225, 7803, 5759, 9827, 344,
- 10225, 7803, 5759, 9827, 518,
- 10225, 7803, 8031, 8,
- 10225, 7803, 8031, 28,
- 10225, 8405, 0,
- 10225, 8405, 8,
- 10225, 8405, 16,
- 10225, 8405, 28,
- 10225, 8405, 40,
- 10225, 8405, 58,
- 10225, 8405, 72,
- 10225, 8405, 92,
- 10225, 8405, 100,
- 10225, 8405, 116,
- 10225, 8405, 138,
- 10225, 8405, 216,
- 10225, 8405, 236,
- 10225, 8405, 266,
- 10225, 8405, 292,
- 10225, 8405, 306,
- 10225, 8405, 332,
- 10225, 8405, 364,
- 10225, 8405, 392,
- 10225, 8405, 462,
- 10225, 8405, 510,
- 10225, 8405, 524,
- 10225, 8405, 556,
- 10225, 8405, 606,
- 10225, 8405, 610,
- 10225, 8405, 652,
- 10225, 8405, 792,
- 10225, 8405, 884,
- 10225, 8405, 974,
- 10225, 8405, 996,
- 10225, 8405, 1260,
- 10225, 8405, 1512,
- 10225, 8405, 1612,
- 10225, 8405, 1796,
- 10225, 8405, 2030,
- 10225, 8405, 2076,
- 10225, 8405, 2126,
- 10225, 8405, 2212,
- 10225, 8405, 2516,
- 10225, 8405, 2566,
- 10225, 8405, 2678,
- 10225, 8405, 2746,
- 10225, 8405, 4016,
- 10225, 8405, 5994,
- 10225, 8405, 9827, 22,
- 10225, 8405, 9827, 34,
- 10225, 8405, 9827, 344,
- 10225, 8405, 9827, 518,
- 10227, 171, 7318,
- 10227, 1496,
- 10227, 2826,
- 10227, 5759, 3227, 6498,
- 10227, 5759, 6498,
- 10227, 5759, 7282,
- 10227, 5759, 7758,
- 10227, 5759, 8916,
- 10227, 5759, 8944,
- 10227, 5759, 9824,
- 10227, 6380,
- 10227, 6689, 2170,
- 10227, 6689, 2540,
- 10227, 6689, 2778,
- 10227, 6689, 4200,
- 10227, 6689, 4214,
- 10227, 6689, 5190,
- 10227, 6689, 6260,
- 10227, 6689, 6722,
- 10227, 6689, 7508,
- 10227, 6689, 7694,
- 10227, 7714,
- 10227, 7803, 5759, 16,
- 10227, 7803, 5759, 40,
- 10227, 7803, 5759, 58,
- 10227, 7803, 5759, 72,
- 10227, 7803, 5759, 92,
- 10227, 7803, 5759, 162,
- 10227, 7803, 5759, 266,
- 10227, 7803, 5759, 440,
- 10227, 7803, 5759, 606,
- 10227, 8405, 0,
- 10227, 8405, 16,
- 10227, 8405, 40,
- 10227, 8405, 58,
- 10227, 8405, 72,
- 10227, 8405, 92,
- 10227, 8405, 100,
- 10227, 8405, 116,
- 10227, 8405, 138,
- 10227, 8405, 162,
- 10227, 8405, 196,
- 10227, 8405, 216,
- 10227, 8405, 236,
- 10227, 8405, 266,
- 10227, 8405, 292,
- 10227, 8405, 306,
- 10227, 8405, 332,
- 10227, 8405, 364,
- 10227, 8405, 392,
- 10227, 8405, 440,
- 10227, 8405, 462,
- 10227, 8405, 510,
- 10227, 8405, 524,
- 10227, 8405, 556,
- 10227, 8405, 606,
- 10227, 8405, 610,
- 10227, 8405, 652,
- 10227, 8405, 670,
- 10227, 8405, 792,
- 10227, 8405, 884,
- 10227, 8405, 974,
- 10227, 8405, 996,
- 10227, 8405, 1260,
- 10227, 8405, 1512,
- 10227, 8405, 1612,
- 10227, 8405, 1796,
- 10227, 8405, 2030,
- 10227, 8405, 2076,
- 10227, 8405, 2126,
- 10227, 8405, 2212,
- 10227, 8405, 2438,
- 10227, 8405, 2516,
- 10227, 8405, 2678,
- 10227, 8405, 2746,
- 10227, 8405, 4016,
- 10227, 8405, 4320,
- 10227, 8405, 4748,
- 10227, 8405, 5994,
- 10231, 9513, 2170,
- 10231, 9513, 2540,
- 10231, 9513, 2670,
- 10231, 9513, 2778,
- 10231, 9513, 4200,
- 10231, 9513, 4214,
- 10231, 9513, 5190,
- 10231, 9513, 6722,
- 10231, 9513, 7508,
- 10231, 9513, 7694,
- 10231, 9513, 8820,
- 10231, 9513, 8876,
- 10241, 1177, 2681, 3276,
- 10241, 1177, 2681, 6110,
- 10241, 1177, 2681, 8192,
- 10241, 1177, 2681, 8251, 6116,
- 10241, 1177, 2681, 8333, 4830,
- 10241, 1177, 2681, 8971, 7812,
- 10241, 1177, 2681, 9395, 7639, 10344,
- 10241, 1177, 2681, 9893, 9786,
- 10241, 1177, 2681, 9934,
- 10241, 1177, 2681, 9953, 4194,
- 10241, 1177, 2681, 9963, 8290,
- 10241, 1177, 2681, 10323, 8436,
- 10241, 1177, 2681, 10680,
- 10241, 1177, 2681, 11199, 6716,
- 10241, 1177, 6131, 439, 2681, 9148,
- 10241, 1177, 6383, 11454,
- 10241, 1177, 6868,
- 10241, 1177, 6877, 7388,
- 10241, 1177, 6877, 8790,
- 10241, 1177, 6877, 11732,
- 10241, 1177, 6877, 13000,
- 10241, 1177, 6995, 7738,
- 10241, 1177, 7187, 9118,
- 10241, 1177, 7348,
- 10241, 1177, 7593, 8790,
- 10241, 1177, 7593, 13000,
- 10241, 1177, 7987, 11454,
- 10241, 1177, 7999, 9784,
- 10241, 1177, 8071, 569, 4944,
- 10241, 1177, 8642,
- 10241, 1177, 9341, 10632,
- 10241, 1177, 9478,
- 10241, 1177, 9613, 8898,
- 10241, 1177, 9630,
- 10241, 1177, 9832,
- 10241, 1177, 9878,
- 10241, 1177, 9954,
- 10241, 1177, 9992,
- 10241, 1177, 10146,
- 10241, 1177, 10252,
- 10241, 1177, 10458,
- 10241, 1177, 10638,
- 10241, 1177, 10689, 6796,
- 10241, 1177, 10698,
- 10241, 1177, 10793, 429, 2681, 7100,
- 10241, 1177, 10998,
- 10241, 1177, 11013, 10632,
- 10241, 1177, 11056,
- 10241, 1177, 11058,
- 10241, 1177, 11247, 6416,
- 10241, 1177, 11481, 91, 2681, 10732,
- 10241, 1177, 11482,
- 10241, 1177, 11614,
- 10241, 1177, 11628,
- 10241, 1177, 11678,
- 10241, 1177, 11702,
- 10241, 1177, 11704,
- 10241, 1177, 11756,
- 10241, 1177, 11836,
- 10241, 1177, 11930,
- 10241, 1177, 11938,
- 10241, 1177, 12100,
- 10241, 1177, 12414,
- 10241, 1177, 12918,
- 10243, 8405, 0,
- 10243, 8405, 8,
- 10243, 8405, 16,
- 10243, 8405, 26,
- 10243, 8405, 28,
- 10243, 8405, 40,
- 10243, 8405, 100,
- 10243, 8405, 102,
- 10243, 8405, 106,
- 10243, 8405, 108,
- 10243, 8405, 112,
- 10243, 8405, 138,
- 10243, 8405, 142,
- 10243, 8405, 144,
- 10243, 8405, 150,
- 10243, 8405, 152,
- 10243, 8405, 216,
- 10243, 8405, 220,
- 10243, 8405, 224,
- 10243, 8405, 228,
- 10243, 8405, 230,
- 10243, 8405, 236,
- 10243, 8405, 238,
- 10243, 8405, 242,
- 10243, 8405, 246,
- 10243, 8405, 250,
- 10243, 8405, 306,
- 10243, 8405, 310,
- 10243, 8405, 314,
- 10243, 8405, 322,
- 10243, 8405, 326,
- 10243, 8405, 364,
- 10243, 8405, 368,
- 10243, 8405, 374,
- 10243, 8405, 380,
- 10243, 8405, 384,
- 10243, 8405, 392,
- 10243, 8405, 396,
- 10243, 8405, 404,
- 10243, 8405, 412,
- 10243, 8405, 416,
- 10243, 8405, 462,
- 10243, 8405, 468,
- 10243, 8405, 476,
- 10243, 8405, 480,
- 10243, 8405, 486,
- 10243, 8405, 510,
- 10243, 8405, 512,
- 10243, 8405, 514,
- 10243, 8405, 516,
- 10243, 8405, 520,
- 10243, 8405, 524,
- 10243, 8405, 526,
- 10243, 8405, 532,
- 10243, 8405, 536,
- 10243, 8405, 546,
- 10243, 8405, 556,
- 10243, 8405, 560,
- 10243, 8405, 564,
- 10243, 8405, 568,
- 10243, 8405, 576,
- 10243, 8405, 618,
- 10243, 8405, 622,
- 10243, 8405, 626,
- 10243, 8405, 630,
- 10243, 8405, 632,
- 10243, 8405, 652,
- 10243, 8405, 660,
- 10243, 8405, 664,
- 10243, 8405, 670,
- 10243, 8405, 672,
- 10243, 8405, 676,
- 10243, 8405, 678,
- 10243, 8405, 680,
- 10243, 8405, 7593, 0,
- 10243, 8405, 7593, 8,
- 10243, 8405, 7593, 16,
- 10243, 8405, 7593, 28,
- 10243, 8405, 7593, 40,
- 10243, 8405, 7593, 306,
- 10243, 8405, 7593, 310,
- 10243, 8405, 7593, 576,
- 10243, 8405, 7593, 622,
- 10243, 8405, 7593, 652,
- 10243, 8405, 7593, 660,
- 10243, 8405, 7593, 664,
- 10243, 8921, 11067, 4926,
- 10243, 9165, 6224,
- 10243, 11067, 4926,
- 10256,
- 10257, 9495, 6121, 10677, 760,
- 10260,
- 10261, 6121, 7711, 5758,
- 10261, 6121, 7768,
- 10261, 6121, 8153, 8758,
- 10261, 6121, 9546,
- 10261, 6121, 10666,
- 10261, 6121, 11097, 6435, 6121, 4530,
- 10261, 6121, 12492,
- 10261, 7939, 1, 7383, 10374,
- 10261, 9015, 6121, 7580,
- 10261, 10982,
- 10265, 9610,
- 10267, 2163, 5758,
- 10267, 4841, 36,
- 10267, 10469, 4926,
- 10267, 10670,
- 10267, 12017, 4926,
- 10267, 12064,
- 10277, 11663, 10539, 8774,
- 10283, 8405, 0,
- 10283, 8405, 8,
- 10283, 8405, 16,
- 10283, 8405, 26,
- 10283, 8405, 28,
- 10283, 8405, 40,
- 10283, 8405, 100,
- 10283, 8405, 102,
- 10283, 8405, 106,
- 10283, 8405, 108,
- 10283, 8405, 112,
- 10283, 8405, 138,
- 10283, 8405, 142,
- 10283, 8405, 144,
- 10283, 8405, 150,
- 10283, 8405, 152,
- 10283, 8405, 216,
- 10283, 8405, 220,
- 10283, 8405, 224,
- 10283, 8405, 228,
- 10283, 8405, 230,
- 10283, 8405, 236,
- 10283, 8405, 238,
- 10283, 8405, 242,
- 10283, 8405, 246,
- 10283, 8405, 250,
- 10283, 8405, 306,
- 10283, 8405, 310,
- 10283, 8405, 314,
- 10283, 8405, 322,
- 10283, 8405, 326,
- 10283, 8405, 364,
- 10283, 8405, 368,
- 10283, 8405, 374,
- 10283, 8405, 380,
- 10283, 8405, 384,
- 10283, 8405, 392,
- 10283, 8405, 396,
- 10283, 8405, 404,
- 10283, 8405, 412,
- 10283, 8405, 416,
- 10283, 8405, 462,
- 10283, 8405, 468,
- 10283, 8405, 476,
- 10283, 8405, 480,
- 10283, 8405, 486,
- 10283, 8405, 510,
- 10283, 8405, 512,
- 10283, 8405, 514,
- 10283, 8405, 516,
- 10283, 8405, 520,
- 10283, 8405, 524,
- 10283, 8405, 526,
- 10283, 8405, 532,
- 10283, 8405, 536,
- 10283, 8405, 546,
- 10283, 8405, 556,
- 10283, 8405, 560,
- 10283, 8405, 564,
- 10283, 8405, 568,
- 10283, 8405, 576,
- 10283, 8405, 610,
- 10283, 8405, 612,
- 10283, 8405, 614,
- 10283, 8405, 616,
- 10283, 8405, 618,
- 10283, 8405, 622,
- 10283, 8405, 626,
- 10283, 8405, 630,
- 10283, 8405, 632,
- 10283, 8405, 652,
- 10283, 8405, 660,
- 10283, 8405, 664,
- 10283, 8405, 670,
- 10283, 8405, 672,
- 10283, 8405, 676,
- 10283, 8405, 678,
- 10283, 8405, 680,
- 10283, 8405, 7593, 0,
- 10283, 8405, 7593, 8,
- 10283, 8405, 7593, 16,
- 10283, 8405, 7593, 28,
- 10283, 8405, 7593, 40,
- 10283, 8405, 7593, 236,
- 10283, 8405, 7593, 238,
- 10283, 8405, 7593, 242,
- 10283, 8405, 7593, 246,
- 10283, 8405, 7593, 250,
- 10283, 8405, 7593, 306,
- 10283, 8405, 7593, 310,
- 10283, 8405, 7593, 326,
- 10283, 8405, 7593, 384,
- 10283, 8405, 7593, 416,
- 10283, 8405, 7593, 510,
- 10283, 8405, 7593, 512,
- 10283, 8405, 7593, 514,
- 10283, 8405, 7593, 516,
- 10283, 8405, 7593, 520,
- 10283, 8405, 7593, 532,
- 10283, 8405, 7593, 546,
- 10283, 8405, 7593, 568,
- 10283, 8405, 7593, 576,
- 10283, 8405, 7593, 622,
- 10283, 8405, 7593, 652,
- 10283, 8405, 7593, 660,
- 10283, 8405, 7593, 664,
- 10283, 8473, 1044,
- 10283, 8921, 11067, 4926,
- 10283, 9165, 4772,
- 10283, 11067, 4926,
- 10286,
- 10297, 2638,
- 10321, 8774,
- 10327, 114,
- 10327, 6408,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 601, 721, 4848,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 601, 721, 7442,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 4117, 721, 4848,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 4117, 721, 7442,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 4849, 721, 600,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 4849, 721, 4116,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 7443, 721, 600,
- 10327, 6409, 6121, 5385, 735, 8165, 275, 6435, 10441, 7443, 721, 4116,
- 10327, 6409, 9537, 4848,
- 10327, 7443, 6409, 6121, 1044,
- 10333, 2779, 8709, 5387, 4894,
- 10333, 2779, 8709, 8328,
- 10333, 4895, 5387, 2779, 8708,
- 10333, 4895, 5387, 7550,
- 10333, 6516,
- 10333, 7551, 5387, 4894,
- 10333, 9796,
- 10333, 11164,
- 10333, 11358,
- 10339, 8405, 601, 5876,
- 10339, 8405, 601, 10716,
- 10339, 8405, 604,
- 10339, 8405, 1045, 7580,
- 10339, 8405, 1045, 10677, 760,
- 10339, 8405, 1045, 11649, 760,
- 10339, 8405, 1109, 1809, 5964,
- 10339, 8405, 1109, 4423, 5964,
- 10339, 8405, 1809, 601, 10716,
- 10339, 8405, 1809, 4117, 10716,
- 10339, 8405, 1809, 4849, 6434,
- 10339, 8405, 1809, 4849, 10716,
- 10339, 8405, 1809, 5550,
- 10339, 8405, 1809, 5965, 760,
- 10339, 8405, 1809, 6379, 7908,
- 10339, 8405, 1809, 6875, 7908,
- 10339, 8405, 1809, 7443, 10716,
- 10339, 8405, 1809, 7708,
- 10339, 8405, 1809, 8151, 5965, 760,
- 10339, 8405, 1809, 8151, 11095, 5965, 760,
- 10339, 8405, 1809, 8432,
- 10339, 8405, 1809, 10267, 12017, 4926,
- 10339, 8405, 1809, 10677, 4876,
- 10339, 8405, 1809, 11095, 5965, 760,
- 10339, 8405, 1809, 11449, 7908,
- 10339, 8405, 1911, 5965, 760,
- 10339, 8405, 1911, 8151, 5965, 760,
- 10339, 8405, 1911, 8151, 11095, 5965, 760,
- 10339, 8405, 1911, 11095, 5965, 760,
- 10339, 8405, 3071, 10799, 5965, 4926,
- 10339, 8405, 4117, 5876,
- 10339, 8405, 4117, 10716,
- 10339, 8405, 4389, 11859, 6610,
- 10339, 8405, 4423, 5965, 760,
- 10339, 8405, 4423, 8151, 5965, 760,
- 10339, 8405, 4423, 8151, 11095, 5965, 760,
- 10339, 8405, 4423, 11095, 5965, 760,
- 10339, 8405, 4849, 4389, 5550,
- 10339, 8405, 4849, 10716,
- 10339, 8405, 5385, 7530,
- 10339, 8405, 5445, 5758,
- 10339, 8405, 6179, 10799, 5965, 4926,
- 10339, 8405, 6379, 7908,
- 10339, 8405, 6485, 1809, 5964,
- 10339, 8405, 6485, 4423, 5964,
- 10339, 8405, 6610,
- 10339, 8405, 6623, 7908,
- 10339, 8405, 6875, 7908,
- 10339, 8405, 7121, 7443, 8077, 6408,
- 10339, 8405, 7173, 5758,
- 10339, 8405, 7390,
- 10339, 8405, 7443, 4389, 5550,
- 10339, 8405, 7443, 10716,
- 10339, 8405, 7530,
- 10339, 8405, 7551, 8167, 5758,
- 10339, 8405, 7593, 0,
- 10339, 8405, 7593, 2,
- 10339, 8405, 7593, 4,
- 10339, 8405, 7593, 5, 6121, 3966,
- 10339, 8405, 7593, 6,
- 10339, 8405, 7593, 8,
- 10339, 8405, 7593, 10,
- 10339, 8405, 7593, 12,
- 10339, 8405, 7593, 14,
- 10339, 8405, 7593, 15, 6121, 4530,
- 10339, 8405, 7593, 17, 6121, 8758,
- 10339, 8405, 7593, 18,
- 10339, 8405, 7593, 19, 6121, 12426,
- 10339, 8405, 7593, 20,
- 10339, 8405, 7593, 22,
- 10339, 8405, 7593, 23, 6121, 9553, 4530,
- 10339, 8405, 7593, 23, 6121, 11215, 4530,
- 10339, 8405, 7593, 24,
- 10339, 8405, 7593, 25, 6121, 4530,
- 10339, 8405, 7593, 27, 6121, 4849, 4530,
- 10339, 8405, 7593, 27, 6121, 11215, 4530,
- 10339, 8405, 7593, 28,
- 10339, 8405, 7593, 30,
- 10339, 8405, 7593, 34,
- 10339, 8405, 7593, 36,
- 10339, 8405, 7593, 37, 6121, 4530,
- 10339, 8405, 7593, 38,
- 10339, 8405, 7593, 39, 6121, 9553, 4530,
- 10339, 8405, 7593, 40,
- 10339, 8405, 7593, 41, 760,
- 10339, 8405, 7593, 42,
- 10339, 8405, 7593, 43, 6121, 4530,
- 10339, 8405, 7593, 44,
- 10339, 8405, 7593, 46,
- 10339, 8405, 7593, 48,
- 10339, 8405, 7593, 50,
- 10339, 8405, 7593, 51, 6121, 3966,
- 10339, 8405, 7593, 51, 6121, 11215, 4530,
- 10339, 8405, 7593, 710,
- 10339, 8405, 7593, 888,
- 10339, 8405, 7593, 1110,
- 10339, 8405, 7593, 1124,
- 10339, 8405, 7593, 1130,
- 10339, 8405, 7593, 1138,
- 10339, 8405, 7593, 2216,
- 10339, 8405, 7593, 2725, 4389, 28,
- 10339, 8405, 7593, 3774,
- 10339, 8405, 7593, 4614,
- 10339, 8405, 7593, 5385, 8,
- 10339, 8405, 7593, 5385, 28,
- 10339, 8405, 7593, 6406,
- 10339, 8405, 7593, 6674,
- 10339, 8405, 7593, 6824,
- 10339, 8405, 7593, 6879, 2216,
- 10339, 8405, 7593, 6879, 6824,
- 10339, 8405, 7593, 7494,
- 10339, 8405, 7593, 7682,
- 10339, 8405, 7593, 7981, 28,
- 10339, 8405, 7593, 8005, 4389, 28,
- 10339, 8405, 7593, 8679, 12,
- 10339, 8405, 7593, 8869, 0,
- 10339, 8405, 7593, 8869, 14,
- 10339, 8405, 7593, 8869, 16,
- 10339, 8405, 7593, 8869, 24,
- 10339, 8405, 7593, 8869, 25, 6121, 4895, 1760,
- 10339, 8405, 7593, 8869, 34,
- 10339, 8405, 7593, 8869, 35, 6121, 4530,
- 10339, 8405, 7593, 8869, 42,
- 10339, 8405, 7593, 8869, 66,
- 10339, 8405, 7593, 8869, 5385, 8,
- 10339, 8405, 7593, 8869, 6406,
- 10339, 8405, 7593, 9063, 16,
- 10339, 8405, 7593, 9063, 17, 6121, 8758,
- 10339, 8405, 7593, 9063, 22,
- 10339, 8405, 7593, 9063, 26,
- 10339, 8405, 7593, 9063, 40,
- 10339, 8405, 7593, 9063, 10267, 34,
- 10339, 8405, 7593, 9185, 19, 6121, 8758,
- 10339, 8405, 7593, 9808,
- 10339, 8405, 7593, 10489, 5385, 8,
- 10339, 8405, 7593, 10489, 9313, 5836,
- 10339, 8405, 7593, 10523, 40,
- 10339, 8405, 8153, 7390,
- 10339, 8405, 8153, 11424,
- 10339, 8405, 8432,
- 10339, 8405, 8473, 6875, 7908,
- 10339, 8405, 8473, 8153, 6379, 7908,
- 10339, 8405, 8473, 8153, 6875, 7908,
- 10339, 8405, 8631, 601, 6434,
- 10339, 8405, 8631, 4117, 6434,
- 10339, 8405, 8631, 6610,
- 10339, 8405, 8631, 10267, 12017, 4926,
- 10339, 8405, 8631, 12017, 4926,
- 10339, 8405, 8645, 4530,
- 10339, 8405, 8755, 721, 1809, 5964,
- 10339, 8405, 8755, 721, 4423, 5964,
- 10339, 8405, 8869, 6616,
- 10339, 8405, 9063, 0,
- 10339, 8405, 9063, 2,
- 10339, 8405, 9063, 6,
- 10339, 8405, 9063, 8,
- 10339, 8405, 9063, 12,
- 10339, 8405, 9063, 14,
- 10339, 8405, 9063, 16,
- 10339, 8405, 9063, 18,
- 10339, 8405, 9063, 20,
- 10339, 8405, 9063, 22,
- 10339, 8405, 9063, 24,
- 10339, 8405, 9063, 26,
- 10339, 8405, 9063, 28,
- 10339, 8405, 9063, 30,
- 10339, 8405, 9063, 34,
- 10339, 8405, 9063, 38,
- 10339, 8405, 9063, 40,
- 10339, 8405, 9063, 42,
- 10339, 8405, 9063, 44,
- 10339, 8405, 9063, 66,
- 10339, 8405, 9063, 450,
- 10339, 8405, 9063, 7981, 2,
- 10339, 8405, 9063, 10489, 8,
- 10339, 8405, 9063, 10489, 26,
- 10339, 8405, 9079, 4849, 4389, 5550,
- 10339, 8405, 9079, 7443, 4389, 5550,
- 10339, 8405, 9089, 5965, 3071, 506,
- 10339, 8405, 9089, 5965, 3071, 520,
- 10339, 8405, 9089, 5965, 3071, 5432,
- 10339, 8405, 9089, 5965, 3071, 7514,
- 10339, 8405, 9089, 5965, 6179, 506,
- 10339, 8405, 9089, 5965, 6179, 520,
- 10339, 8405, 9089, 5965, 6179, 5432,
- 10339, 8405, 9089, 5965, 6179, 7514,
- 10339, 8405, 9313, 5836,
- 10339, 8405, 9828,
- 10339, 8405, 9977, 176,
- 10339, 8405, 10221, 1992,
- 10339, 8405, 10489, 6616,
- 10339, 8405, 10489, 9313, 5836,
- 10339, 8405, 10677, 4876,
- 10339, 8405, 10985, 5965, 760,
- 10339, 8405, 10985, 8151, 5965, 760,
- 10339, 8405, 10985, 8151, 11095, 5965, 760,
- 10339, 8405, 10985, 11095, 5965, 760,
- 10339, 8405, 11424,
- 10339, 8405, 11449, 7908,
- 10339, 8405, 11625, 5965, 760,
- 10339, 8405, 11625, 8151, 5965, 760,
- 10339, 8405, 11625, 8151, 11095, 5965, 760,
- 10339, 8405, 11625, 11095, 5965, 760,
- 10339, 8405, 11859, 6610,
- 10339, 8405, 12380,
- 10343, 1177, 3070,
- 10343, 1177, 6178,
- 10343, 1177, 6716,
- 10346,
- 10350,
- 10351, 7768,
- 10351, 13060,
- 10353, 6689, 8696,
- 10357, 9095, 6689, 6260,
- 10357, 9095, 8525, 8162,
- 10357, 9095, 8525, 8874,
- 10357, 9095, 8525, 8876,
- 10357, 9095, 8525, 9286,
- 10357, 9095, 8525, 9700,
- 10357, 9095, 8525, 10150,
- 10357, 9095, 8525, 10200,
- 10357, 9095, 8525, 10360,
- 10357, 9095, 8525, 10622,
- 10357, 9095, 8525, 11232,
- 10363, 7608,
- 10379, 428,
- 10383, 6622,
- 10385, 6505, 5830,
- 10385, 6879, 6622,
- 10385, 7089, 6622,
- 10385, 7821, 5830,
- 10388,
- 10411, 568,
- 10411, 6121, 7709, 10374,
- 10411, 6121, 11649, 8758,
- 10429, 4927, 5668,
- 10429, 4927, 8153, 5668,
- 10429, 8153, 4399, 4926,
- 10429, 8405, 0,
- 10429, 8405, 8,
- 10429, 8405, 16,
- 10429, 8405, 28,
- 10429, 8405, 40,
- 10429, 8405, 100,
- 10429, 8405, 116,
- 10429, 8405, 138,
- 10429, 8405, 162,
- 10429, 8405, 196,
- 10429, 8405, 216,
- 10429, 8405, 236,
- 10429, 8405, 292,
- 10429, 8405, 306,
- 10429, 8405, 332,
- 10429, 8405, 364,
- 10429, 8405, 392,
- 10429, 8405, 462,
- 10429, 8405, 496,
- 10429, 8405, 510,
- 10429, 8405, 524,
- 10429, 8405, 556,
- 10429, 8405, 622,
- 10429, 8405, 638,
- 10429, 8405, 652,
- 10429, 8405, 670,
- 10429, 8405, 884,
- 10429, 8405, 974,
- 10429, 8405, 1080,
- 10429, 8405, 1250,
- 10429, 8405, 1612,
- 10429, 8405, 2030,
- 10429, 8405, 2076,
- 10429, 8405, 2126,
- 10429, 8405, 2212,
- 10429, 8405, 2516,
- 10429, 8405, 2678,
- 10429, 8405, 2732,
- 10429, 8405, 2746,
- 10429, 8405, 3146,
- 10429, 8405, 5978,
- 10429, 8405, 5994,
- 10429, 8405, 7593, 0,
- 10429, 8405, 8921, 236,
- 10429, 8405, 10707, 652,
- 10429, 8405, 10721, 196,
- 10429, 8405, 11395, 2516,
- 10429, 8405, 11900,
- 10429, 8717, 4399, 4926,
- 10429, 11257, 8405, 510,
- 10429, 11257, 8405, 622,
- 10429, 11257, 8405, 652,
- 10429, 11843, 8405, 510,
- 10431, 4093, 5759, 457, 3696,
- 10431, 4093, 5759, 778,
- 10431, 4093, 5759, 824,
- 10431, 4093, 5759, 862,
- 10431, 4093, 5759, 1780,
- 10431, 4093, 5759, 2386,
- 10431, 4093, 5759, 2498,
- 10431, 4093, 5759, 3948,
- 10431, 4093, 5759, 3954,
- 10431, 4093, 5759, 4114,
- 10431, 4093, 5759, 4418,
- 10431, 4093, 5759, 4536,
- 10431, 4093, 5759, 4874,
- 10431, 4093, 5759, 5700,
- 10431, 4093, 5759, 6090,
- 10431, 4093, 5759, 6107, 3706,
- 10431, 4093, 5759, 6434,
- 10431, 4093, 5759, 6533, 1760,
- 10431, 4093, 5759, 6574,
- 10431, 4093, 5759, 6712,
- 10431, 4093, 5759, 6794,
- 10431, 4093, 5759, 7379, 5968,
- 10431, 4093, 5759, 7586,
- 10431, 4093, 5759, 7593, 742,
- 10431, 4093, 5759, 7702,
- 10431, 4093, 5759, 7752,
- 10431, 4093, 5759, 7830,
- 10431, 4093, 5759, 8068,
- 10431, 4093, 5759, 8126,
- 10431, 4093, 5759, 8270,
- 10431, 4093, 5759, 8296,
- 10431, 4093, 5759, 8599, 4398,
- 10431, 4093, 5759, 8704,
- 10431, 4093, 5759, 9036,
- 10431, 4093, 5759, 9064,
- 10431, 4093, 5759, 9462,
- 10431, 4093, 5759, 9568,
- 10431, 4093, 5759, 9638,
- 10431, 4093, 5759, 10216,
- 10431, 4093, 5759, 10316,
- 10431, 4093, 5759, 10546,
- 10431, 4093, 5759, 10611, 4398,
- 10431, 4093, 5759, 10744,
- 10431, 4093, 5759, 10753, 7378,
- 10431, 4093, 5759, 10767, 9525, 8758,
- 10431, 4093, 5759, 11718,
- 10433, 5830,
- 10445, 11054,
- 10452,
- 10453, 445, 6741, 568,
- 10453, 445, 11621, 568,
- 10453, 835, 2091, 11621, 568,
- 10453, 6377, 2091, 6741, 568,
- 10453, 6377, 2091, 7919, 6741, 568,
- 10453, 6377, 7919, 6741, 568,
- 10453, 6377, 8167, 5758,
- 10453, 6377, 12345, 2091, 6741, 568,
- 10453, 6377, 12345, 8167, 5758,
- 10453, 7767, 10476,
- 10455, 5392,
- 10461, 4876,
- 10465, 7121, 4848,
- 10465, 7121, 7442,
- 10465, 7773, 4848,
- 10465, 7773, 4849, 721, 7121, 4849, 721, 7121, 7442,
- 10465, 7773, 4849, 721, 7121, 7442,
- 10465, 7773, 4849, 721, 7773, 7443, 721, 7121, 4848,
- 10465, 7773, 4849, 721, 7773, 7443, 721, 7121, 7442,
- 10465, 7773, 7442,
- 10465, 7773, 7443, 721, 7121, 4848,
- 10465, 7773, 7443, 721, 7121, 4849, 721, 7121, 7442,
- 10469, 4926,
- 10469, 12017, 4926,
- 10470,
- 10475, 7337, 8774,
- 10486,
- 10489, 2091, 5758,
- 10489, 6408,
- 10489, 6409, 6121, 10666,
- 10489, 6731, 2510,
- 10489, 7390,
- 10489, 7708,
- 10489, 7709, 8166,
- 10489, 8153, 7390,
- 10489, 8153, 7391, 11195, 4926,
- 10489, 8153, 8759, 2091, 5758,
- 10489, 8231, 12108,
- 10489, 8849, 7390,
- 10489, 9595, 5758,
- 10489, 9641, 8225, 6907, 8022,
- 10489, 10469, 4926,
- 10489, 11224,
- 10489, 11767, 9063, 22,
- 10504,
- 10513, 7821, 5830,
- 10513, 7821, 7089, 6622,
- 10513, 7821, 8056,
- 10514,
- 10529, 9898,
- 10553, 11621, 568,
- 10574,
- 10575, 445, 6741, 568,
- 10575, 445, 11621, 568,
- 10575, 835, 2091, 11621, 568,
- 10575, 6377, 2091, 6741, 568,
- 10575, 6377, 2091, 7919, 6741, 568,
- 10575, 6377, 7919, 6741, 568,
- 10575, 6377, 8167, 5758,
- 10575, 6377, 12345, 2091, 6741, 568,
- 10575, 6377, 12345, 8167, 5758,
- 10575, 7767, 10476,
- 10579, 428,
- 10579, 429, 445, 6741, 568,
- 10579, 429, 445, 6741, 569, 6121, 1045, 6376,
- 10579, 429, 6121, 2091, 6741, 568,
- 10579, 429, 6377, 2091, 6741, 568,
- 10579, 429, 6377, 7709, 10374,
- 10579, 429, 6377, 7919, 6741, 568,
- 10579, 429, 6377, 8167, 5758,
- 10579, 6121, 1044,
- 10579, 6121, 5445, 5759, 6490,
- 10579, 6121, 13061, 5759, 6490,
- 10579, 6377, 8762,
- 10579, 6377, 10578,
- 10579, 6377, 11097, 6434,
- 10579, 7991, 721, 8329, 115, 3993, 6121, 8762,
- 10579, 7991, 8762,
- 10579, 11183, 9718,
- 10604,
- 10607, 7803, 5759, 16,
- 10607, 7803, 5759, 40,
- 10607, 8405, 0,
- 10607, 8405, 16,
- 10607, 8405, 40,
- 10607, 8405, 100,
- 10607, 8405, 138,
- 10607, 8405, 216,
- 10607, 8405, 306,
- 10607, 8405, 332,
- 10607, 8405, 364,
- 10607, 8405, 392,
- 10607, 8405, 462,
- 10607, 8405, 524,
- 10607, 8405, 556,
- 10607, 8405, 622,
- 10607, 8405, 652,
- 10607, 8405, 2030,
- 10629, 8405, 652,
- 10629, 8405, 656,
- 10629, 8405, 664,
- 10629, 8405, 3006,
- 10629, 8405, 3008,
- 10629, 8405, 3010,
- 10629, 8405, 3014,
- 10629, 8405, 3016,
- 10629, 8405, 3018,
- 10629, 8405, 3020,
- 10629, 8405, 3022,
- 10629, 8405, 3024,
- 10629, 8405, 3026,
- 10629, 8405, 3028,
- 10629, 8405, 3030,
- 10629, 8405, 3032,
- 10629, 8405, 3034,
- 10629, 8405, 3036,
- 10629, 8405, 3038,
- 10629, 8405, 3040,
- 10629, 8405, 3042,
- 10629, 8405, 3044,
- 10629, 8405, 3046,
- 10629, 8405, 3062,
- 10629, 8405, 3291, 6170,
- 10629, 8405, 6162,
- 10629, 8405, 6164,
- 10629, 8405, 6166,
- 10629, 8405, 6168,
- 10629, 8405, 6170,
- 10629, 8405, 6174,
- 10629, 8405, 6176,
- 10629, 8405, 6180,
- 10629, 8405, 6182,
- 10629, 8405, 6184,
- 10629, 8405, 6186,
- 10629, 8405, 6190,
- 10629, 8405, 6192,
- 10629, 8405, 6194,
- 10629, 8405, 7844,
- 10629, 8405, 7846,
- 10629, 8405, 7848,
- 10629, 8405, 7989, 8973, 3018,
- 10629, 8405, 7989, 8973, 3020,
- 10629, 8405, 8863, 3018,
- 10629, 8405, 8863, 3022,
- 10629, 8405, 8863, 3032,
- 10629, 8405, 8863, 6170,
- 10629, 8405, 8863, 6172,
- 10629, 8405, 8863, 6176,
- 10629, 8405, 8863, 6178,
- 10629, 8405, 8863, 6192,
- 10629, 8405, 8985, 6192,
- 10629, 8405, 11849, 3046,
- 10629, 10339, 8405, 12965, 4926,
- 10631, 5759, 186,
- 10643, 6121, 1045, 6376,
- 10643, 6121, 8689, 91, 8004,
- 10643, 6121, 10666,
- 10644,
- 10661, 6129, 9178,
- 10661, 8405, 16,
- 10661, 8405, 40,
- 10661, 8405, 246,
- 10661, 8405, 486,
- 10661, 8405, 568,
- 10661, 8405, 632,
- 10661, 8405, 680,
- 10661, 8405, 710,
- 10661, 8405, 1578,
- 10661, 8405, 1612,
- 10661, 8405, 1892,
- 10661, 8405, 2110,
- 10661, 8405, 2574,
- 10661, 8405, 2674,
- 10661, 8405, 3080,
- 10661, 8405, 3252,
- 10661, 8405, 3774,
- 10661, 8405, 4066,
- 10661, 8405, 4538,
- 10661, 8405, 5494,
- 10661, 8405, 5624,
- 10661, 8405, 5698,
- 10661, 8405, 6262,
- 10661, 8405, 6674,
- 10661, 8405, 6822,
- 10661, 8405, 6850,
- 10661, 8405, 7080,
- 10661, 8405, 7422,
- 10661, 8405, 7482,
- 10661, 8405, 8814,
- 10664,
- 10665, 6121, 5525, 6706,
- 10670,
- 10674,
- 10677, 761, 6121, 11649, 8758,
- 10677, 761, 7991, 7443, 10642,
- 10677, 761, 8153, 4849, 11378,
- 10677, 761, 8849, 7443, 11378,
- 10677, 4215, 4112,
- 10677, 4719, 8641, 4926,
- 10677, 4719, 8641, 4927, 7121, 4388,
- 10677, 4719, 8641, 4927, 7773, 4388,
- 10677, 4719, 8641, 6121, 8921, 7605, 4926,
- 10677, 4719, 8641, 6121, 8921, 7605, 4927, 7773, 4388,
- 10677, 4876,
- 10677, 4877, 6121, 8057, 6376,
- 10677, 4877, 6121, 8057, 6490,
- 10677, 4877, 6121, 8473, 1044,
- 10677, 4877, 10982,
- 10677, 4923, 6121, 8759, 5758,
- 10677, 7708,
- 10677, 8963, 4876,
- 10677, 10154,
- 10677, 12043, 11067, 4926,
- 10679, 8744,
- 10701, 569, 2681, 9746,
- 10708,
- 10719, 5238,
- 10722,
- 10737, 5758,
- 10749, 9483, 8775, 1078,
- 10749, 9483, 8775, 1135, 12010,
- 10749, 9483, 8775, 3268,
- 10749, 9483, 8775, 4619, 2020,
- 10749, 9483, 8775, 4619, 9884,
- 10749, 9483, 8775, 5048,
- 10749, 9483, 8775, 5921, 1583, 9000,
- 10749, 9483, 8775, 5970,
- 10749, 9483, 8775, 6203, 726,
- 10749, 9483, 8775, 6203, 4728,
- 10749, 9483, 8775, 6387, 3274,
- 10749, 9483, 8775, 6387, 4952,
- 10749, 9483, 8775, 6387, 5449, 3274,
- 10749, 9483, 8775, 6387, 5449, 6866,
- 10749, 9483, 8775, 6387, 6866,
- 10749, 9483, 8775, 6387, 8470,
- 10749, 9483, 8775, 6387, 9886,
- 10749, 9483, 8775, 6387, 11022,
- 10749, 9483, 8775, 6419, 1135, 2020,
- 10749, 9483, 8775, 6419, 12010,
- 10749, 9483, 8775, 6426,
- 10749, 9483, 8775, 6581, 7892,
- 10749, 9483, 8775, 6581, 8366,
- 10749, 9483, 8775, 6581, 8728,
- 10749, 9483, 8775, 6690,
- 10749, 9483, 8775, 6691, 9884,
- 10749, 9483, 8775, 7092,
- 10749, 9483, 8775, 7329, 2020,
- 10749, 9483, 8775, 7329, 6690,
- 10749, 9483, 8775, 7329, 12010,
- 10749, 9483, 8775, 7398,
- 10749, 9483, 8775, 7434,
- 10749, 9483, 8775, 7660,
- 10749, 9483, 8775, 7678,
- 10749, 9483, 8775, 7679, 7928,
- 10749, 9483, 8775, 7688,
- 10749, 9483, 8775, 7788,
- 10749, 9483, 8775, 7837, 8364,
- 10749, 9483, 8775, 8094,
- 10749, 9483, 8775, 8115, 3269, 1079, 10018,
- 10749, 9483, 8775, 8115, 10815, 195, 10018,
- 10749, 9483, 8775, 8115, 11863, 5377, 10018,
- 10749, 9483, 8775, 8115, 12085, 9775, 10018,
- 10749, 9483, 8775, 8115, 12372,
- 10749, 9483, 8775, 8115, 13020,
- 10749, 9483, 8775, 8171, 12110,
- 10749, 9483, 8775, 8171, 12904,
- 10749, 9483, 8775, 8199, 9703, 8053, 7786,
- 10749, 9483, 8775, 8237, 17, 8949, 13020,
- 10749, 9483, 8775, 8237, 5055, 6978,
- 10749, 9483, 8775, 8237, 8506,
- 10749, 9483, 8775, 8237, 9451, 8053, 10008,
- 10749, 9483, 8775, 8237, 9451, 8053, 11684,
- 10749, 9483, 8775, 8237, 9703, 8053, 8776,
- 10749, 9483, 8775, 8237, 9703, 10007, 144,
- 10749, 9483, 8775, 8237, 9884,
- 10749, 9483, 8775, 8237, 9885, 9999, 6980,
- 10749, 9483, 8775, 8237, 10811, 144,
- 10749, 9483, 8775, 8237, 10811, 310,
- 10749, 9483, 8775, 8237, 10811, 405, 726,
- 10749, 9483, 8775, 8237, 10811, 405, 4728,
- 10749, 9483, 8775, 8237, 10811, 462,
- 10749, 9483, 8775, 8237, 10811, 678,
- 10749, 9483, 8775, 8237, 10811, 5048,
- 10749, 9483, 8775, 8237, 11609, 10710,
- 10749, 9483, 8775, 8249, 8114,
- 10749, 9483, 8775, 8249, 8948,
- 10749, 9483, 8775, 8265, 2021, 726,
- 10749, 9483, 8775, 8265, 2021, 4728,
- 10749, 9483, 8775, 8265, 9884,
- 10749, 9483, 8775, 8265, 12989, 6680,
- 10749, 9483, 8775, 8265, 12989, 9888,
- 10749, 9483, 8775, 8321, 8801, 11038,
- 10749, 9483, 8775, 8341, 10648,
- 10749, 9483, 8775, 8364,
- 10749, 9483, 8775, 8365, 726,
- 10749, 9483, 8775, 8365, 4728,
- 10749, 9483, 8775, 8397, 1079, 9090,
- 10749, 9483, 8775, 8397, 4159, 9092,
- 10749, 9483, 8775, 8397, 7735, 9090,
- 10749, 9483, 8775, 8397, 9359, 9092,
- 10749, 9483, 8775, 8397, 10615, 9090,
- 10749, 9483, 8775, 8475, 4618,
- 10749, 9483, 8775, 8537, 2020,
- 10749, 9483, 8775, 8537, 9884,
- 10749, 9483, 8775, 8538,
- 10749, 9483, 8775, 8557, 9884,
- 10749, 9483, 8775, 8587, 2020,
- 10749, 9483, 8775, 8587, 9884,
- 10749, 9483, 8775, 8614,
- 10749, 9483, 8775, 8686,
- 10749, 9483, 8775, 8687, 2020,
- 10749, 9483, 8775, 8748,
- 10749, 9483, 8775, 8798,
- 10749, 9483, 8775, 8850,
- 10749, 9483, 8775, 8909, 2020,
- 10749, 9483, 8775, 8909, 6690,
- 10749, 9483, 8775, 8909, 12010,
- 10749, 9483, 8775, 8949, 3269, 1079, 10018,
- 10749, 9483, 8775, 8949, 10815, 195, 10018,
- 10749, 9483, 8775, 8949, 11863, 5377, 10018,
- 10749, 9483, 8775, 8949, 12085, 9775, 10018,
- 10749, 9483, 8775, 8949, 12372,
- 10749, 9483, 8775, 8954,
- 10749, 9483, 8775, 9009, 144,
- 10749, 9483, 8775, 9009, 216,
- 10749, 9483, 8775, 9009, 310,
- 10749, 9483, 8775, 9009, 404,
- 10749, 9483, 8775, 9009, 462,
- 10749, 9483, 8775, 9009, 678,
- 10749, 9483, 8775, 9009, 2882,
- 10749, 9483, 8775, 9080,
- 10749, 9483, 8775, 9160,
- 10749, 9483, 8775, 9260,
- 10749, 9483, 8775, 9267, 1583, 8237, 2882,
- 10749, 9483, 8775, 9350,
- 10749, 9483, 8775, 9399, 2021, 726,
- 10749, 9483, 8775, 9399, 2021, 4728,
- 10749, 9483, 8775, 9399, 2021, 4954,
- 10749, 9483, 8775, 9399, 9884,
- 10749, 9483, 8775, 9412,
- 10749, 9483, 8775, 9415, 2020,
- 10749, 9483, 8775, 9415, 3250,
- 10749, 9483, 8775, 9415, 9884,
- 10749, 9483, 8775, 9420,
- 10749, 9483, 8775, 9440,
- 10749, 9483, 8775, 9584,
- 10749, 9483, 8775, 9586,
- 10749, 9483, 8775, 9620,
- 10749, 9483, 8775, 9740,
- 10749, 9483, 8775, 9741, 9874,
- 10749, 9483, 8775, 9755, 2020,
- 10749, 9483, 8775, 9755, 4957, 9742,
- 10749, 9483, 8775, 9755, 9884,
- 10749, 9483, 8775, 9756,
- 10749, 9483, 8775, 9774,
- 10749, 9483, 8775, 9790,
- 10749, 9483, 8775, 9815, 9884,
- 10749, 9483, 8775, 9848,
- 10749, 9483, 8775, 9873, 2020,
- 10749, 9483, 8775, 9873, 9884,
- 10749, 9483, 8775, 9876,
- 10749, 9483, 8775, 9936,
- 10749, 9483, 8775, 9943, 2020,
- 10749, 9483, 8775, 9943, 9884,
- 10749, 9483, 8775, 10005, 3269, 7168,
- 10749, 9483, 8775, 10005, 3269, 8464,
- 10749, 9483, 8775, 10005, 6690,
- 10749, 9483, 8775, 10005, 9778,
- 10749, 9483, 8775, 10010,
- 10749, 9483, 8775, 10011, 12989, 6680,
- 10749, 9483, 8775, 10011, 12989, 9889, 726,
- 10749, 9483, 8775, 10011, 12989, 9889, 4728,
- 10749, 9483, 8775, 10013, 222,
- 10749, 9483, 8775, 10164,
- 10749, 9483, 8775, 10250,
- 10749, 9483, 8775, 10284,
- 10749, 9483, 8775, 10288,
- 10749, 9483, 8775, 10289, 3250,
- 10749, 9483, 8775, 10290,
- 10749, 9483, 8775, 10292,
- 10749, 9483, 8775, 10325, 3249, 8613, 6978,
- 10749, 9483, 8775, 10325, 3249, 9997, 6978,
- 10749, 9483, 8775, 10325, 7785, 6978,
- 10749, 9483, 8775, 10325, 8613, 6978,
- 10749, 9483, 8775, 10325, 8855, 6978,
- 10749, 9483, 8775, 10325, 9429, 6978,
- 10749, 9483, 8775, 10325, 9597, 6978,
- 10749, 9483, 8775, 10325, 9597, 10617, 6978,
- 10749, 9483, 8775, 10325, 9997, 6978,
- 10749, 9483, 8775, 10325, 10617, 6978,
- 10749, 9483, 8775, 10325, 10617, 9429, 6978,
- 10749, 9483, 8775, 10325, 11372,
- 10749, 9483, 8775, 10325, 11743, 6978,
- 10749, 9483, 8775, 10412,
- 10749, 9483, 8775, 10418,
- 10749, 9483, 8775, 10419, 2020,
- 10749, 9483, 8775, 10500,
- 10749, 9483, 8775, 10525, 7946,
- 10749, 9483, 8775, 10525, 7947, 9174,
- 10749, 9483, 8775, 10525, 7947, 10646,
- 10749, 9483, 8775, 10525, 7947, 11852,
- 10749, 9483, 8775, 10525, 9778,
- 10749, 9483, 8775, 10525, 9779, 9174,
- 10749, 9483, 8775, 10525, 9779, 10646,
- 10749, 9483, 8775, 10525, 9779, 11852,
- 10749, 9483, 8775, 10618,
- 10749, 9483, 8775, 10649, 2020,
- 10749, 9483, 8775, 10649, 3250,
- 10749, 9483, 8775, 10649, 9884,
- 10749, 9483, 8775, 10813, 450,
- 10749, 9483, 8775, 10974,
- 10749, 9483, 8775, 10991, 10008,
- 10749, 9483, 8775, 10991, 11684,
- 10749, 9483, 8775, 10991, 12360,
- 10749, 9483, 8775, 11046,
- 10749, 9483, 8775, 11074,
- 10749, 9483, 8775, 11078,
- 10749, 9483, 8775, 11079, 2021, 726,
- 10749, 9483, 8775, 11079, 2021, 4728,
- 10749, 9483, 8775, 11079, 2021, 4954,
- 10749, 9483, 8775, 11079, 9884,
- 10749, 9483, 8775, 11082,
- 10749, 9483, 8775, 11149, 2020,
- 10749, 9483, 8775, 11149, 9884,
- 10749, 9483, 8775, 11188,
- 10749, 9483, 8775, 11189, 2020,
- 10749, 9483, 8775, 11348,
- 10749, 9483, 8775, 11374,
- 10749, 9483, 8775, 11402,
- 10749, 9483, 8775, 11403, 6690,
- 10749, 9483, 8775, 11416,
- 10749, 9483, 8775, 11421, 8801, 11038,
- 10749, 9483, 8775, 11421, 11347, 2020,
- 10749, 9483, 8775, 11422,
- 10749, 9483, 8775, 11423, 2020,
- 10749, 9483, 8775, 11423, 6690,
- 10749, 9483, 8775, 11602,
- 10749, 9483, 8775, 11643, 27, 7928,
- 10749, 9483, 8775, 11643, 27, 9172,
- 10749, 9483, 8775, 11654,
- 10749, 9483, 8775, 11656,
- 10749, 9483, 8775, 12111, 2020,
- 10749, 9483, 8775, 12111, 9884,
- 10749, 9483, 8775, 12112,
- 10749, 9483, 8775, 12113, 2020,
- 10749, 9483, 8775, 12113, 9884,
- 10749, 9483, 8775, 12120,
- 10749, 9483, 8775, 12365, 1126,
- 10749, 9483, 8775, 12365, 1134,
- 10749, 9483, 8775, 12400,
- 10749, 9483, 8775, 12474,
- 10749, 9483, 8775, 12872,
- 10749, 9483, 8775, 12904,
- 10749, 9483, 8775, 13052,
- 10749, 9483, 8775, 13082,
- 10749, 9483, 8775, 13084,
- 10749, 9483, 8775, 13186,
- 10749, 9483, 8775, 13206,
- 10749, 9483, 8775, 13208,
- 10749, 9483, 8775, 13216,
- 10749, 9483, 8775, 13220,
- 10749, 9483, 8775, 13222,
- 10749, 9483, 8775, 13352,
- 10749, 9483, 8775, 13400,
- 10749, 9483, 8775, 13404,
- 10750,
- 10759, 2690,
- 10763, 2725, 11791, 6434,
- 10763, 5385, 8057, 6434,
- 10763, 8065, 8057, 6434,
- 10763, 8241, 8057, 6434,
- 10763, 9115, 10260,
- 10763, 10260,
- 10767, 47, 6376,
- 10767, 47, 6490,
- 10767, 283, 6490,
- 10767, 601, 5877, 6490,
- 10767, 603, 6376,
- 10767, 605, 6376,
- 10767, 1045, 6376,
- 10767, 1045, 6377, 7442,
- 10767, 1045, 6490,
- 10767, 1809, 4876,
- 10767, 2091, 7709, 6376,
- 10767, 4117, 5877, 6490,
- 10767, 4215, 4113, 6376,
- 10767, 4531, 6376,
- 10767, 4536,
- 10767, 4849, 4389, 5551, 6376,
- 10767, 4849, 4389, 5551, 6490,
- 10767, 4849, 5877, 6490,
- 10767, 4849, 6409, 6376,
- 10767, 4849, 6409, 6490,
- 10767, 4849, 6435, 6376,
- 10767, 4849, 6435, 6490,
- 10767, 4849, 7443, 6435, 6376,
- 10767, 4849, 7443, 6435, 6490,
- 10767, 4849, 9327, 6376,
- 10767, 4849, 10717, 6376,
- 10767, 4849, 10717, 6490,
- 10767, 4895, 8153, 9719, 9548,
- 10767, 4895, 8759, 9548,
- 10767, 4895, 9719, 9548,
- 10767, 4895, 10677, 4877, 9548,
- 10767, 5445, 5759, 6490,
- 10767, 5551, 6376,
- 10767, 5551, 6490,
- 10767, 5551, 9548,
- 10767, 6115, 8015, 6376,
- 10767, 6379, 5965, 4926,
- 10767, 6379, 7908,
- 10767, 6379, 7909, 6490,
- 10767, 6516,
- 10767, 6517, 6490,
- 10767, 6546,
- 10767, 6547, 6490,
- 10767, 6617, 6376,
- 10767, 6617, 6377, 7442,
- 10767, 6617, 6490,
- 10767, 6875, 5965, 4926,
- 10767, 6875, 7908,
- 10767, 6875, 7909, 6490,
- 10767, 6879, 9412,
- 10767, 6879, 9483, 9796,
- 10767, 6879, 9483, 11164,
- 10767, 6879, 9483, 11358,
- 10767, 6879, 10809, 7724,
- 10767, 6879, 12120,
- 10767, 6879, 13036,
- 10767, 7089, 7593, 8405, 0,
- 10767, 7089, 7593, 8405, 4,
- 10767, 7089, 7593, 8405, 5, 9072,
- 10767, 7089, 7593, 8405, 6,
- 10767, 7089, 7593, 8405, 8,
- 10767, 7089, 7593, 8405, 12,
- 10767, 7089, 7593, 8405, 14,
- 10767, 7089, 7593, 8405, 16,
- 10767, 7089, 7593, 8405, 20,
- 10767, 7089, 7593, 8405, 22,
- 10767, 7089, 7593, 8405, 24,
- 10767, 7089, 7593, 8405, 26,
- 10767, 7089, 7593, 8405, 28,
- 10767, 7089, 7593, 8405, 34,
- 10767, 7089, 7593, 8405, 35, 6490,
- 10767, 7089, 7593, 8405, 35, 9642,
- 10767, 7089, 7593, 8405, 36,
- 10767, 7089, 7593, 8405, 38,
- 10767, 7089, 7593, 8405, 40,
- 10767, 7089, 7593, 8405, 42,
- 10767, 7089, 7593, 8405, 46,
- 10767, 7089, 7593, 8405, 50,
- 10767, 7089, 7593, 8405, 66,
- 10767, 7089, 7593, 8405, 82,
- 10767, 7089, 7593, 8405, 94,
- 10767, 7089, 7593, 8405, 1130,
- 10767, 7089, 7593, 8405, 4895, 36,
- 10767, 7089, 7593, 8405, 9365, 6,
- 10767, 7089, 7593, 8405, 10997, 5385, 1, 6376,
- 10767, 7089, 8405, 7593, 9063, 12,
- 10767, 7089, 8405, 7593, 9063, 22,
- 10767, 7089, 8405, 7593, 9063, 24,
- 10767, 7089, 8405, 7593, 9063, 26,
- 10767, 7089, 8405, 7593, 9063, 34,
- 10767, 7173, 5759, 6490,
- 10767, 7443, 4389, 5551, 6376,
- 10767, 7443, 4389, 5551, 6490,
- 10767, 7443, 5877, 6490,
- 10767, 7443, 6435, 6376,
- 10767, 7443, 6435, 6490,
- 10767, 7443, 9327, 6376,
- 10767, 7443, 10717, 721, 601, 10717, 6490,
- 10767, 7443, 10717, 721, 4117, 10717, 6490,
- 10767, 7443, 10717, 6376,
- 10767, 7443, 10717, 6490,
- 10767, 7551, 8759, 9548,
- 10767, 7551, 9719, 9548,
- 10767, 7551, 10677, 4877, 9548,
- 10767, 7601, 6490,
- 10767, 7695, 4113, 6376,
- 10767, 7708,
- 10767, 7709, 6490,
- 10767, 7709, 9548,
- 10767, 7919, 6741, 569, 6376,
- 10767, 8015, 6376,
- 10767, 8015, 6490,
- 10767, 8151, 6379, 7908,
- 10767, 8151, 6875, 7908,
- 10767, 8153, 1809, 4876,
- 10767, 8153, 5551, 6490,
- 10767, 8153, 6379, 7908,
- 10767, 8153, 6516,
- 10767, 8153, 6517, 6490,
- 10767, 8153, 6875, 7908,
- 10767, 8153, 7708,
- 10767, 8153, 7709, 4849, 4388,
- 10767, 8153, 7709, 7443, 4388,
- 10767, 8153, 8432,
- 10767, 8153, 8433, 6490,
- 10767, 8153, 10267, 6516,
- 10767, 8153, 10388,
- 10767, 8153, 10677, 4877, 6376,
- 10767, 8153, 10677, 4877, 6490,
- 10767, 8153, 10677, 8759, 9548,
- 10767, 8153, 11449, 6376,
- 10767, 8153, 11765, 6435, 6490,
- 10767, 8167, 5759, 6490,
- 10767, 8432,
- 10767, 8433, 4849, 4388,
- 10767, 8433, 6490,
- 10767, 8433, 7443, 4388,
- 10767, 8534,
- 10767, 8535, 6376,
- 10767, 8745, 6490,
- 10767, 8849, 10668,
- 10767, 8869, 6617, 6376,
- 10767, 8963, 6376,
- 10767, 8963, 6490,
- 10767, 8999, 8774,
- 10767, 9072,
- 10767, 9284,
- 10767, 9633, 9719, 9548,
- 10767, 9663, 6490,
- 10767, 9811, 6435, 6490,
- 10767, 9899, 6376,
- 10767, 9899, 6490,
- 10767, 9977, 2671, 10335, 5758,
- 10767, 9977, 6655, 10438,
- 10767, 9977, 7399, 10438,
- 10767, 9977, 7716,
- 10767, 9977, 7804,
- 10767, 9977, 8342,
- 10767, 9977, 8405, 0,
- 10767, 9977, 8405, 28,
- 10767, 9977, 8405, 102,
- 10767, 9977, 8405, 142,
- 10767, 9977, 8405, 172,
- 10767, 9977, 8405, 174,
- 10767, 9977, 8405, 176,
- 10767, 9977, 8405, 182,
- 10767, 9977, 8405, 184,
- 10767, 9977, 8405, 236,
- 10767, 9977, 8405, 258,
- 10767, 9977, 8405, 306,
- 10767, 9977, 8405, 468,
- 10767, 9977, 8405, 560,
- 10767, 9977, 8405, 612,
- 10767, 9977, 8405, 664,
- 10767, 9977, 8405, 672,
- 10767, 9977, 8405, 807, 3096,
- 10767, 9977, 8405, 886,
- 10767, 9977, 8405, 1262,
- 10767, 9977, 8405, 2516,
- 10767, 9977, 8405, 2734,
- 10767, 9977, 8405, 3038,
- 10767, 9977, 8405, 3148,
- 10767, 9977, 8405, 4198,
- 10767, 9977, 8405, 6696,
- 10767, 9977, 8405, 6748,
- 10767, 9977, 8405, 7522,
- 10767, 9977, 8405, 8425, 3096,
- 10767, 9977, 8405, 10269, 0,
- 10767, 9977, 8405, 10269, 807, 3096,
- 10767, 9977, 8405, 11127, 592,
- 10767, 9977, 9345, 10335, 5758,
- 10767, 9977, 9345, 11363, 5758,
- 10767, 9977, 9578,
- 10767, 9977, 10335, 5758,
- 10767, 9977, 10442,
- 10767, 9977, 10625, 10335, 5758,
- 10767, 9977, 13062,
- 10767, 10223, 8330,
- 10767, 10267, 6516,
- 10767, 10267, 6517, 6490,
- 10767, 10267, 8015, 6490,
- 10767, 10267, 8153, 3273, 6490,
- 10767, 10301, 4849, 4388,
- 10767, 10301, 7443, 4388,
- 10767, 10388,
- 10767, 10489, 6617, 6376,
- 10767, 10677, 4877, 6376,
- 10767, 10677, 4877, 6490,
- 10767, 10677, 7708,
- 10767, 10763, 5551, 9548,
- 10767, 10763, 6435, 6376,
- 10767, 10804,
- 10767, 10805, 6490,
- 10767, 10969, 8056,
- 10767, 10969, 8057, 10728,
- 10767, 10969, 8354,
- 10767, 10969, 8676,
- 10767, 10969, 8744,
- 10767, 10969, 8899, 10441, 10642,
- 10767, 10969, 9158,
- 10767, 11097, 6435, 9548,
- 10767, 11097, 9327, 6121, 3713, 10958,
- 10767, 11215, 4531, 6490,
- 10767, 11449, 7908,
- 10767, 11449, 7909, 6490,
- 10767, 11459, 8432,
- 10767, 11647, 6376,
- 10767, 11765, 9327, 6121, 3713, 10958,
- 10767, 11845, 4926,
- 10767, 11900,
- 10767, 12107, 4531, 6490,
- 10767, 12394,
- 10767, 12416,
- 10767, 12470,
- 10767, 12498,
- 10767, 12500,
- 10767, 12502,
- 10767, 12901, 5551, 9548,
- 10767, 12901, 6435, 6376,
- 10767, 13356,
- 10767, 13360,
- 10767, 13365, 8921, 7605, 4926,
- 10767, 13365, 12341, 7605, 4926,
- 10771, 6121, 1045, 6376,
- 10783, 5758,
- 10789, 5759, 0,
- 10789, 5759, 1, 7711, 0,
- 10789, 5759, 1, 7711, 236,
- 10789, 5759, 1, 7711, 750,
- 10789, 5759, 1, 7711, 1482,
- 10789, 5759, 1, 7711, 2486,
- 10789, 5759, 1, 7711, 4241, 5898,
- 10789, 5759, 1, 7711, 5030,
- 10789, 5759, 1, 7711, 7077, 4358,
- 10789, 5759, 8,
- 10789, 5759, 9, 5387, 9, 2111, 5387, 2110,
- 10789, 5759, 9, 7711, 2194,
- 10789, 5759, 16,
- 10789, 5759, 17, 0,
- 10789, 5759, 40,
- 10789, 5759, 41, 41, 40,
- 10789, 5759, 41, 1304,
- 10789, 5759, 41, 5387, 41, 41, 10489, 5387, 41, 10488,
- 10789, 5759, 41, 5387, 41, 463, 5387, 463, 1221, 5387, 1220,
- 10789, 5759, 41, 5387, 41, 2593, 5387, 2592,
- 10789, 5759, 54,
- 10789, 5759, 60,
- 10789, 5759, 61, 4358,
- 10789, 5759, 61, 7711, 41, 5445, 41, 5445, 40,
- 10789, 5759, 61, 7711, 236,
- 10789, 5759, 61, 7711, 1212,
- 10789, 5759, 61, 7711, 1483, 4358,
- 10789, 5759, 61, 7711, 3280,
- 10789, 5759, 61, 7711, 4125, 4358,
- 10789, 5759, 61, 7711, 4241, 5898,
- 10789, 5759, 61, 7711, 4606,
- 10789, 5759, 61, 7711, 7074,
- 10789, 5759, 61, 7711, 7534,
- 10789, 5759, 64,
- 10789, 5759, 74,
- 10789, 5759, 75, 7711, 6746,
- 10789, 5759, 75, 7711, 7545, 5445, 4338,
- 10789, 5759, 76,
- 10789, 5759, 77, 7711, 76,
- 10789, 5759, 77, 7711, 236,
- 10789, 5759, 77, 7711, 314,
- 10789, 5759, 77, 7711, 2518,
- 10789, 5759, 77, 7711, 2836,
- 10789, 5759, 77, 7711, 4088,
- 10789, 5759, 77, 7711, 4338,
- 10789, 5759, 77, 7711, 4706,
- 10789, 5759, 80,
- 10789, 5759, 81, 5387, 80,
- 10789, 5759, 81, 5445, 5043, 9732,
- 10789, 5759, 81, 5445, 5043, 10377, 81, 5445, 5042,
- 10789, 5759, 81, 7695, 7710,
- 10789, 5759, 100,
- 10789, 5759, 106,
- 10789, 5759, 107, 7711, 0,
- 10789, 5759, 107, 7711, 1220,
- 10789, 5759, 107, 7711, 1483, 4358,
- 10789, 5759, 112,
- 10789, 5759, 113, 5387, 113, 60,
- 10789, 5759, 113, 5387, 113, 596,
- 10789, 5759, 113, 9967, 112,
- 10789, 5759, 138,
- 10789, 5759, 144,
- 10789, 5759, 152,
- 10789, 5759, 153, 4358,
- 10789, 5759, 153, 5387, 152,
- 10789, 5759, 153, 9684,
- 10789, 5759, 158,
- 10789, 5759, 159, 7711, 1, 5445, 237, 5445, 138,
- 10789, 5759, 159, 7711, 40,
- 10789, 5759, 159, 7711, 374,
- 10789, 5759, 159, 7711, 1220,
- 10789, 5759, 159, 7711, 2488,
- 10789, 5759, 159, 7711, 2518,
- 10789, 5759, 172,
- 10789, 5759, 176,
- 10789, 5759, 177, 7711, 368,
- 10789, 5759, 177, 7711, 4240,
- 10789, 5759, 177, 7711, 4241, 5898,
- 10789, 5759, 177, 9732,
- 10789, 5759, 177, 9967, 176,
- 10789, 5759, 177, 10377, 176,
- 10789, 5759, 216,
- 10789, 5759, 217, 4358,
- 10789, 5759, 224,
- 10789, 5759, 225, 7711, 8,
- 10789, 5759, 225, 7711, 40,
- 10789, 5759, 225, 9967, 224,
- 10789, 5759, 230,
- 10789, 5759, 231, 9967, 230,
- 10789, 5759, 236,
- 10789, 5759, 237, 4358,
- 10789, 5759, 237, 5898,
- 10789, 5759, 242,
- 10789, 5759, 243, 7711, 40,
- 10789, 5759, 243, 7711, 736,
- 10789, 5759, 243, 7711, 750,
- 10789, 5759, 243, 7711, 1206,
- 10789, 5759, 243, 7711, 1632,
- 10789, 5759, 243, 7711, 2110,
- 10789, 5759, 243, 7711, 2518,
- 10789, 5759, 243, 7711, 3280,
- 10789, 5759, 243, 7711, 4094,
- 10789, 5759, 250,
- 10789, 5759, 256,
- 10789, 5759, 262,
- 10789, 5759, 270,
- 10789, 5759, 271, 7711, 4241, 5898,
- 10789, 5759, 272,
- 10789, 5759, 273, 7711, 5880,
- 10789, 5759, 273, 9732,
- 10789, 5759, 273, 9967, 272,
- 10789, 5759, 273, 10377, 272,
- 10789, 5759, 274,
- 10789, 5759, 280,
- 10789, 5759, 306,
- 10789, 5759, 307, 7711, 0,
- 10789, 5759, 307, 7711, 40,
- 10789, 5759, 307, 7711, 64,
- 10789, 5759, 307, 7711, 65, 5445, 1682,
- 10789, 5759, 307, 7711, 106,
- 10789, 5759, 307, 7711, 216,
- 10789, 5759, 307, 7711, 224,
- 10789, 5759, 307, 7711, 230,
- 10789, 5759, 307, 7711, 272,
- 10789, 5759, 307, 7711, 314,
- 10789, 5759, 307, 7711, 340,
- 10789, 5759, 307, 7711, 354,
- 10789, 5759, 307, 7711, 368,
- 10789, 5759, 307, 7711, 369, 5445, 152,
- 10789, 5759, 307, 7711, 369, 5445, 224,
- 10789, 5759, 307, 7711, 369, 5445, 560,
- 10789, 5759, 307, 7711, 374,
- 10789, 5759, 307, 7711, 375, 5445, 7284,
- 10789, 5759, 307, 7711, 396,
- 10789, 5759, 307, 7711, 476,
- 10789, 5759, 307, 7711, 520,
- 10789, 5759, 307, 7711, 524,
- 10789, 5759, 307, 7711, 580,
- 10789, 5759, 307, 7711, 588,
- 10789, 5759, 307, 7711, 676,
- 10789, 5759, 307, 7711, 750,
- 10789, 5759, 307, 7711, 760,
- 10789, 5759, 307, 7711, 1212,
- 10789, 5759, 307, 7711, 1220,
- 10789, 5759, 307, 7711, 1221, 5445, 5663, 5445, 0,
- 10789, 5759, 307, 7711, 1482,
- 10789, 5759, 307, 7711, 1584,
- 10789, 5759, 307, 7711, 1624,
- 10789, 5759, 307, 7711, 2110,
- 10789, 5759, 307, 7711, 2494,
- 10789, 5759, 307, 7711, 2516,
- 10789, 5759, 307, 7711, 2518,
- 10789, 5759, 307, 7711, 2524,
- 10789, 5759, 307, 7711, 2530,
- 10789, 5759, 307, 7711, 2654,
- 10789, 5759, 307, 7711, 2836,
- 10789, 5759, 307, 7711, 3280,
- 10789, 5759, 307, 7711, 4166,
- 10789, 5759, 307, 7711, 4241, 5898,
- 10789, 5759, 307, 7711, 4334,
- 10789, 5759, 307, 7711, 4339, 5445, 2494,
- 10789, 5759, 307, 7711, 4339, 9967, 4338,
- 10789, 5759, 307, 7711, 4366,
- 10789, 5759, 307, 7711, 5692,
- 10789, 5759, 307, 7711, 6049, 7711, 462,
- 10789, 5759, 307, 7711, 6464,
- 10789, 5759, 307, 7711, 6746,
- 10789, 5759, 307, 7711, 7648,
- 10789, 5759, 314,
- 10789, 5759, 315, 7711, 40,
- 10789, 5759, 315, 7711, 588,
- 10789, 5759, 315, 7711, 750,
- 10789, 5759, 326,
- 10789, 5759, 327, 5387, 243, 7711, 3281, 327, 5387, 243, 7711, 3280,
- 10789, 5759, 332,
- 10789, 5759, 340,
- 10789, 5759, 354,
- 10789, 5759, 355, 7711, 750,
- 10789, 5759, 364,
- 10789, 5759, 365, 4358,
- 10789, 5759, 365, 7711, 5880,
- 10789, 5759, 368,
- 10789, 5759, 374,
- 10789, 5759, 384,
- 10789, 5759, 385, 5387, 384,
- 10789, 5759, 392,
- 10789, 5759, 396,
- 10789, 5759, 397, 7711, 0,
- 10789, 5759, 397, 7711, 588,
- 10789, 5759, 397, 9684,
- 10789, 5759, 404,
- 10789, 5759, 405, 7711, 8,
- 10789, 5759, 416,
- 10789, 5759, 462,
- 10789, 5759, 476,
- 10789, 5759, 477, 7711, 0,
- 10789, 5759, 477, 7711, 8,
- 10789, 5759, 477, 7711, 16,
- 10789, 5759, 477, 7711, 40,
- 10789, 5759, 477, 7711, 60,
- 10789, 5759, 477, 7711, 106,
- 10789, 5759, 477, 7711, 112,
- 10789, 5759, 477, 7711, 256,
- 10789, 5759, 477, 7711, 580,
- 10789, 5759, 477, 9967, 476,
- 10789, 5759, 510,
- 10789, 5759, 514,
- 10789, 5759, 520,
- 10789, 5759, 524,
- 10789, 5759, 532,
- 10789, 5759, 533, 4358,
- 10789, 5759, 546,
- 10789, 5759, 547, 5387, 546,
- 10789, 5759, 556,
- 10789, 5759, 557, 4358,
- 10789, 5759, 557, 7711, 242,
- 10789, 5759, 557, 7711, 374,
- 10789, 5759, 557, 9898,
- 10789, 5759, 560,
- 10789, 5759, 561, 4358,
- 10789, 5759, 564,
- 10789, 5759, 565, 5898,
- 10789, 5759, 576,
- 10789, 5759, 580,
- 10789, 5759, 584,
- 10789, 5759, 588,
- 10789, 5759, 589, 4358,
- 10789, 5759, 589, 7711, 41, 5445, 41, 5445, 40,
- 10789, 5759, 589, 7711, 41, 5445, 41, 5445, 41, 4358,
- 10789, 5759, 589, 7711, 374,
- 10789, 5759, 589, 7711, 750,
- 10789, 5759, 589, 8374,
- 10789, 5759, 589, 9684,
- 10789, 5759, 589, 9685, 7711, 750,
- 10789, 5759, 594,
- 10789, 5759, 595, 7711, 40,
- 10789, 5759, 595, 7711, 369, 5445, 138,
- 10789, 5759, 595, 7711, 5662,
- 10789, 5759, 595, 7711, 7074,
- 10789, 5759, 596,
- 10789, 5759, 597, 4358,
- 10789, 5759, 602,
- 10789, 5759, 603, 9684,
- 10789, 5759, 603, 9967, 602,
- 10789, 5759, 670,
- 10789, 5759, 671, 5898,
- 10789, 5759, 671, 9733, 7711, 1696,
- 10789, 5759, 676,
- 10789, 5759, 677, 5387, 676,
- 10789, 5759, 680,
- 10789, 5759, 702,
- 10789, 5759, 703, 7711, 369, 5445, 176,
- 10789, 5759, 703, 7711, 4241, 5898,
- 10789, 5759, 703, 7711, 5662,
- 10789, 5759, 703, 7711, 5880,
- 10789, 5759, 703, 7711, 6464,
- 10789, 5759, 736,
- 10789, 5759, 737, 4703, 5898,
- 10789, 5759, 737, 5387, 737, 5387, 736,
- 10789, 5759, 737, 5387, 737, 5387, 737, 9967, 737, 5387, 737, 5387, 736,
- 10789, 5759, 737, 5387, 737, 6013, 5387, 6013, 6013, 5387, 6013, 2194,
- 10789, 5759, 737, 6313, 5898,
- 10789, 5759, 750,
- 10789, 5759, 754,
- 10789, 5759, 755, 5387, 754,
- 10789, 5759, 760,
- 10789, 5759, 832,
- 10789, 5759, 958,
- 10789, 5759, 959, 8361, 7711, 1, 5445, 4928,
- 10789, 5759, 959, 8361, 7711, 106,
- 10789, 5759, 959, 8361, 7711, 216,
- 10789, 5759, 959, 8361, 7711, 217, 5445, 4928,
- 10789, 5759, 959, 8361, 7711, 224,
- 10789, 5759, 959, 8361, 7711, 236,
- 10789, 5759, 959, 8361, 7711, 280,
- 10789, 5759, 959, 8361, 7711, 281, 5445, 354,
- 10789, 5759, 959, 8361, 7711, 332,
- 10789, 5759, 959, 8361, 7711, 354,
- 10789, 5759, 959, 8361, 7711, 355, 5445, 7138,
- 10789, 5759, 959, 8361, 7711, 396,
- 10789, 5759, 959, 8361, 7711, 532,
- 10789, 5759, 959, 8361, 7711, 581, 5445, 4334,
- 10789, 5759, 959, 8361, 7711, 1304,
- 10789, 5759, 959, 8361, 7711, 1584,
- 10789, 5759, 959, 8361, 7711, 1822,
- 10789, 5759, 959, 8361, 7711, 2195, 5445, 2194,
- 10789, 5759, 959, 8361, 7711, 2836,
- 10789, 5759, 959, 8361, 7711, 3256,
- 10789, 5759, 959, 8361, 7711, 4334,
- 10789, 5759, 959, 8361, 7711, 5880,
- 10789, 5759, 959, 8361, 7711, 6464,
- 10789, 5759, 962,
- 10789, 5759, 966,
- 10789, 5759, 1006,
- 10789, 5759, 1010,
- 10789, 5759, 1011, 7711, 2518,
- 10789, 5759, 1012,
- 10789, 5759, 1013, 8339, 41, 4359, 4094,
- 10789, 5759, 1050,
- 10789, 5759, 1051, 7711, 4166,
- 10789, 5759, 1052,
- 10789, 5759, 1054,
- 10789, 5759, 1060,
- 10789, 5759, 1202,
- 10789, 5759, 1203, 5387, 1202,
- 10789, 5759, 1203, 7711, 1, 5445, 139, 5445, 236,
- 10789, 5759, 1203, 7711, 1, 5445, 236,
- 10789, 5759, 1203, 7711, 1, 5445, 1482,
- 10789, 5759, 1203, 7711, 40,
- 10789, 5759, 1203, 7711, 80,
- 10789, 5759, 1203, 7711, 138,
- 10789, 5759, 1203, 7711, 144,
- 10789, 5759, 1203, 7711, 172,
- 10789, 5759, 1203, 7711, 173, 5445, 332,
- 10789, 5759, 1203, 7711, 176,
- 10789, 5759, 1203, 7711, 177, 7711, 4241, 5898,
- 10789, 5759, 1203, 7711, 224,
- 10789, 5759, 1203, 7711, 237, 5445, 355, 5445, 4166,
- 10789, 5759, 1203, 7711, 243, 5445, 340,
- 10789, 5759, 1203, 7711, 332,
- 10789, 5759, 1203, 7711, 369, 5445, 176,
- 10789, 5759, 1203, 7711, 374,
- 10789, 5759, 1203, 7711, 462,
- 10789, 5759, 1203, 7711, 588,
- 10789, 5759, 1203, 7711, 589, 5445, 152,
- 10789, 5759, 1203, 7711, 703, 5899, 5445, 2636,
- 10789, 5759, 1203, 7711, 736,
- 10789, 5759, 1203, 7711, 750,
- 10789, 5759, 1203, 7711, 761, 5445, 510,
- 10789, 5759, 1203, 7711, 832,
- 10789, 5759, 1203, 7711, 833, 5445, 510,
- 10789, 5759, 1203, 7711, 1011, 7711, 2518,
- 10789, 5759, 1203, 7711, 1050,
- 10789, 5759, 1203, 7711, 1220,
- 10789, 5759, 1203, 7711, 1272,
- 10789, 5759, 1203, 7711, 1273, 5445, 0,
- 10789, 5759, 1203, 7711, 1344,
- 10789, 5759, 1203, 7711, 1345, 5445, 332,
- 10789, 5759, 1203, 7711, 1483, 4358,
- 10789, 5759, 1203, 7711, 1499, 5445, 251, 5445, 736,
- 10789, 5759, 1203, 7711, 1584,
- 10789, 5759, 1203, 7711, 1624,
- 10789, 5759, 1203, 7711, 1625, 5445, 1736,
- 10789, 5759, 1203, 7711, 1683, 5445, 80,
- 10789, 5759, 1203, 7711, 2110,
- 10789, 5759, 1203, 7711, 2111, 5387, 2110,
- 10789, 5759, 1203, 7711, 2488,
- 10789, 5759, 1203, 7711, 2494,
- 10789, 5759, 1203, 7711, 2518,
- 10789, 5759, 1203, 7711, 2519, 5445, 2766,
- 10789, 5759, 1203, 7711, 2584,
- 10789, 5759, 1203, 7711, 3281, 5445, 1212,
- 10789, 5759, 1203, 7711, 4241, 5898,
- 10789, 5759, 1203, 7711, 4335, 5445, 546,
- 10789, 5759, 1203, 7711, 4544,
- 10789, 5759, 1203, 7711, 5692,
- 10789, 5759, 1203, 7711, 5880,
- 10789, 5759, 1203, 7711, 8338,
- 10789, 5759, 1206,
- 10789, 5759, 1207, 5387, 1207, 1221, 5387, 1220,
- 10789, 5759, 1212,
- 10789, 5759, 1213, 1207, 5387, 1207, 1221, 5387, 1220,
- 10789, 5759, 1214,
- 10789, 5759, 1216,
- 10789, 5759, 1220,
- 10789, 5759, 1272,
- 10789, 5759, 1273, 5387, 1272,
- 10789, 5759, 1273, 9967, 1272,
- 10789, 5759, 1302,
- 10789, 5759, 1303, 4358,
- 10789, 5759, 1303, 7711, 1584,
- 10789, 5759, 1303, 7711, 1585, 7711, 1483, 4358,
- 10789, 5759, 1303, 7711, 2110,
- 10789, 5759, 1303, 7711, 2489, 5445, 6012,
- 10789, 5759, 1304,
- 10789, 5759, 1305, 5387, 1305, 7122,
- 10789, 5759, 1305, 7711, 1, 5445, 1696,
- 10789, 5759, 1305, 7711, 1696,
- 10789, 5759, 1308,
- 10789, 5759, 1310,
- 10789, 5759, 1311, 7711, 2518,
- 10789, 5759, 1316,
- 10789, 5759, 1344,
- 10789, 5759, 1482,
- 10789, 5759, 1483, 514,
- 10789, 5759, 1483, 1006,
- 10789, 5759, 1483, 4358,
- 10789, 5759, 1483, 5387, 1483, 5703, 5387, 5703, 589, 5387, 588,
- 10789, 5759, 1484,
- 10789, 5759, 1498,
- 10789, 5759, 1572,
- 10789, 5759, 1573, 9967, 1572,
- 10789, 5759, 1576,
- 10789, 5759, 1584,
- 10789, 5759, 1585, 7711, 1483, 4358,
- 10789, 5759, 1586,
- 10789, 5759, 1587, 7711, 750,
- 10789, 5759, 1587, 9967, 1586,
- 10789, 5759, 1624,
- 10789, 5759, 1632,
- 10789, 5759, 1682,
- 10789, 5759, 1684,
- 10789, 5759, 1685, 9817, 4212,
- 10789, 5759, 1686,
- 10789, 5759, 1688,
- 10789, 5759, 1689, 4358,
- 10789, 5759, 1690,
- 10789, 5759, 1696,
- 10789, 5759, 1697, 10377, 1696,
- 10789, 5759, 1736,
- 10789, 5759, 1737, 7711, 1736,
- 10789, 5759, 1738,
- 10789, 5759, 1739, 7711, 1696,
- 10789, 5759, 1739, 7711, 1697, 5445, 520,
- 10789, 5759, 1786,
- 10789, 5759, 1812,
- 10789, 5759, 1813, 5898,
- 10789, 5759, 1813, 7711, 76,
- 10789, 5759, 1813, 7711, 243, 7711, 750,
- 10789, 5759, 1813, 7711, 272,
- 10789, 5759, 1813, 7711, 314,
- 10789, 5759, 1813, 7711, 333, 5445, 736,
- 10789, 5759, 1813, 7711, 369, 5445, 176,
- 10789, 5759, 1813, 7711, 396,
- 10789, 5759, 1813, 7711, 416,
- 10789, 5759, 1813, 7711, 533, 5445, 736,
- 10789, 5759, 1813, 7711, 750,
- 10789, 5759, 1813, 7711, 4166,
- 10789, 5759, 1813, 7711, 4167, 5898,
- 10789, 5759, 1813, 7711, 4241, 5898,
- 10789, 5759, 1813, 7711, 4704,
- 10789, 5759, 1813, 7711, 4706,
- 10789, 5759, 1813, 7711, 4707, 5445, 736,
- 10789, 5759, 1813, 7711, 5761, 5445, 112,
- 10789, 5759, 1813, 7711, 6012,
- 10789, 5759, 1813, 7711, 7074,
- 10789, 5759, 1813, 9684,
- 10789, 5759, 1813, 9732,
- 10789, 5759, 1813, 9967, 1812,
- 10789, 5759, 1813, 10377, 1812,
- 10789, 5759, 1814,
- 10789, 5759, 1818,
- 10789, 5759, 1820,
- 10789, 5759, 1822,
- 10789, 5759, 1823, 5387, 1822,
- 10789, 5759, 1823, 5387, 1823, 1221, 5387, 1220,
- 10789, 5759, 1852,
- 10789, 5759, 1856,
- 10789, 5759, 1864,
- 10789, 5759, 1896,
- 10789, 5759, 1922,
- 10789, 5759, 1950,
- 10789, 5759, 1951, 4358,
- 10789, 5759, 1980,
- 10789, 5759, 1988,
- 10789, 5759, 1989, 9520,
- 10789, 5759, 2044,
- 10789, 5759, 2054,
- 10789, 5759, 2055, 7711, 1221, 5445, 4241, 5898,
- 10789, 5759, 2055, 7711, 4241, 5898,
- 10789, 5759, 2110,
- 10789, 5759, 2111, 5387, 2110,
- 10789, 5759, 2111, 5898,
- 10789, 5759, 2111, 7077, 7711, 1220,
- 10789, 5759, 2111, 7077, 7711, 2488,
- 10789, 5759, 2111, 7077, 7711, 2489, 5387, 2111, 7077, 7711, 2488,
- 10789, 5759, 2111, 7077, 7711, 2836,
- 10789, 5759, 2111, 7077, 7711, 4928,
- 10789, 5759, 2111, 9967, 2110,
- 10789, 5759, 2111, 9967, 2111, 7077, 5387, 7076,
- 10789, 5759, 2190,
- 10789, 5759, 2192,
- 10789, 5759, 2194,
- 10789, 5759, 2380,
- 10789, 5759, 2486,
- 10789, 5759, 2487, 4358,
- 10789, 5759, 2487, 5387, 2486,
- 10789, 5759, 2487, 7711, 0,
- 10789, 5759, 2487, 7711, 152,
- 10789, 5759, 2487, 7711, 236,
- 10789, 5759, 2487, 7711, 374,
- 10789, 5759, 2487, 7711, 580,
- 10789, 5759, 2487, 7711, 584,
- 10789, 5759, 2487, 7711, 594,
- 10789, 5759, 2487, 7711, 602,
- 10789, 5759, 2487, 7711, 1050,
- 10789, 5759, 2487, 7711, 1584,
- 10789, 5759, 2487, 7711, 1696,
- 10789, 5759, 2487, 7711, 1822,
- 10789, 5759, 2487, 7711, 2110,
- 10789, 5759, 2487, 7711, 2488,
- 10789, 5759, 2487, 7711, 2636,
- 10789, 5759, 2487, 7711, 2836,
- 10789, 5759, 2487, 7711, 5692,
- 10789, 5759, 2487, 9520,
- 10789, 5759, 2488,
- 10789, 5759, 2489, 7075, 7711, 3280,
- 10789, 5759, 2494,
- 10789, 5759, 2516,
- 10789, 5759, 2518,
- 10789, 5759, 2519, 250,
- 10789, 5759, 2519, 5387, 2519, 1207, 5387, 1207, 1221, 5387, 1220,
- 10789, 5759, 2519, 5387, 2519, 2637, 5387, 2637, 1221, 5387, 1220,
- 10789, 5759, 2524,
- 10789, 5759, 2525, 5387, 10267, 2524,
- 10789, 5759, 2530,
- 10789, 5759, 2582,
- 10789, 5759, 2584,
- 10789, 5759, 2592,
- 10789, 5759, 2636,
- 10789, 5759, 2637, 5387, 2637, 405, 5387, 405, 4095, 5387, 4094,
- 10789, 5759, 2637, 9732,
- 10789, 5759, 2638,
- 10789, 5759, 2639, 7711, 106,
- 10789, 5759, 2639, 7711, 588,
- 10789, 5759, 2639, 7711, 1304,
- 10789, 5759, 2639, 7711, 2518,
- 10789, 5759, 2639, 7711, 2524,
- 10789, 5759, 2639, 7711, 6012,
- 10789, 5759, 2654,
- 10789, 5759, 2694,
- 10789, 5759, 2698,
- 10789, 5759, 2699, 5387, 2698,
- 10789, 5759, 2699, 5387, 2699, 1207, 5387, 1207, 1221, 5387, 1220,
- 10789, 5759, 2699, 7711, 5880,
- 10789, 5759, 2758,
- 10789, 5759, 2760,
- 10789, 5759, 2766,
- 10789, 5759, 2767, 5387, 2767, 671, 5387, 670,
- 10789, 5759, 2822,
- 10789, 5759, 2823, 7711, 1, 5445, 236,
- 10789, 5759, 2823, 7711, 1, 5445, 392,
- 10789, 5759, 2823, 7711, 76,
- 10789, 5759, 2823, 7711, 236,
- 10789, 5759, 2823, 7711, 580,
- 10789, 5759, 2823, 7711, 581, 5445, 106,
- 10789, 5759, 2823, 7711, 581, 5445, 736,
- 10789, 5759, 2823, 7711, 2110,
- 10789, 5759, 2824,
- 10789, 5759, 2828,
- 10789, 5759, 2832,
- 10789, 5759, 2833, 7711, 0,
- 10789, 5759, 2833, 7711, 41, 5445, 1304,
- 10789, 5759, 2833, 7711, 216,
- 10789, 5759, 2833, 7711, 230,
- 10789, 5759, 2833, 7711, 236,
- 10789, 5759, 2833, 7711, 272,
- 10789, 5759, 2833, 7711, 314,
- 10789, 5759, 2833, 7711, 462,
- 10789, 5759, 2833, 7711, 576,
- 10789, 5759, 2833, 7711, 588,
- 10789, 5759, 2833, 7711, 760,
- 10789, 5759, 2833, 7711, 1060,
- 10789, 5759, 2833, 7711, 1212,
- 10789, 5759, 2833, 7711, 1220,
- 10789, 5759, 2833, 7711, 1482,
- 10789, 5759, 2833, 7711, 1498,
- 10789, 5759, 2833, 7711, 1822,
- 10789, 5759, 2833, 7711, 1922,
- 10789, 5759, 2833, 7711, 2518,
- 10789, 5759, 2833, 7711, 4241, 5898,
- 10789, 5759, 2833, 7711, 5756,
- 10789, 5759, 2833, 7711, 7774,
- 10789, 5759, 2833, 7711, 7954,
- 10789, 5759, 2836,
- 10789, 5759, 2837, 7711, 0,
- 10789, 5759, 2837, 7711, 326,
- 10789, 5759, 2837, 7711, 1696,
- 10789, 5759, 2837, 7711, 5880,
- 10789, 5759, 2840,
- 10789, 5759, 2841, 7711, 8338,
- 10789, 5759, 2842,
- 10789, 5759, 3122,
- 10789, 5759, 3136,
- 10789, 5759, 3158,
- 10789, 5759, 3160,
- 10789, 5759, 3161, 4703, 5898,
- 10789, 5759, 3164,
- 10789, 5759, 3188,
- 10789, 5759, 3189, 7711, 0,
- 10789, 5759, 3190,
- 10789, 5759, 3242,
- 10789, 5759, 3256,
- 10789, 5759, 3257, 7711, 2518,
- 10789, 5759, 3266,
- 10789, 5759, 3270,
- 10789, 5759, 3271, 7711, 1696,
- 10789, 5759, 3280,
- 10789, 5759, 3698,
- 10789, 5759, 3820,
- 10789, 5759, 4088,
- 10789, 5759, 4094,
- 10789, 5759, 4122,
- 10789, 5759, 4124,
- 10789, 5759, 4125, 4358,
- 10789, 5759, 4125, 4359, 4358,
- 10789, 5759, 4126,
- 10789, 5759, 4132,
- 10789, 5759, 4154,
- 10789, 5759, 4156,
- 10789, 5759, 4164,
- 10789, 5759, 4166,
- 10789, 5759, 4174,
- 10789, 5759, 4175, 7711, 0,
- 10789, 5759, 4175, 7711, 1, 5445, 1736,
- 10789, 5759, 4175, 7711, 1, 5445, 1737, 7711, 1736,
- 10789, 5759, 4175, 7711, 80,
- 10789, 5759, 4175, 7711, 236,
- 10789, 5759, 4175, 7711, 237, 4358,
- 10789, 5759, 4175, 7711, 332,
- 10789, 5759, 4175, 7711, 340,
- 10789, 5759, 4175, 7711, 354,
- 10789, 5759, 4175, 7711, 580,
- 10789, 5759, 4175, 7711, 588,
- 10789, 5759, 4175, 7711, 750,
- 10789, 5759, 4175, 7711, 1483, 4358,
- 10789, 5759, 4175, 7711, 1682,
- 10789, 5759, 4175, 7711, 1737, 7711, 1736,
- 10789, 5759, 4175, 7711, 4125, 4358,
- 10789, 5759, 4175, 7711, 4125, 4359, 4358,
- 10789, 5759, 4175, 7711, 8338,
- 10789, 5759, 4175, 7711, 8339, 9732,
- 10789, 5759, 4234,
- 10789, 5759, 4235, 9967, 4234,
- 10789, 5759, 4240,
- 10789, 5759, 4241, 5387, 4240,
- 10789, 5759, 4241, 5898,
- 10789, 5759, 4241, 9967, 4240,
- 10789, 5759, 4242,
- 10789, 5759, 4334,
- 10789, 5759, 4335, 4358,
- 10789, 5759, 4336,
- 10789, 5759, 4337, 7711, 1, 5445, 1482,
- 10789, 5759, 4337, 7711, 355, 5445, 1482,
- 10789, 5759, 4337, 7711, 462,
- 10789, 5759, 4337, 7711, 1482,
- 10789, 5759, 4337, 7711, 4241, 5898,
- 10789, 5759, 4338,
- 10789, 5759, 4339, 5898,
- 10789, 5759, 4339, 7711, 750,
- 10789, 5759, 4339, 7711, 5880,
- 10789, 5759, 4339, 9967, 4338,
- 10789, 5759, 4366,
- 10789, 5759, 4544,
- 10789, 5759, 4545, 7711, 80,
- 10789, 5759, 4545, 7711, 588,
- 10789, 5759, 4545, 7711, 1344,
- 10789, 5759, 4545, 7711, 4884,
- 10789, 5759, 4545, 7711, 8338,
- 10789, 5759, 4546,
- 10789, 5759, 4596,
- 10789, 5759, 4597, 5387, 4597, 832,
- 10789, 5759, 4597, 5387, 4597, 9732,
- 10789, 5759, 4606,
- 10789, 5759, 4704,
- 10789, 5759, 4706,
- 10789, 5759, 4708,
- 10789, 5759, 4710,
- 10789, 5759, 4711, 5387, 4710,
- 10789, 5759, 4714,
- 10789, 5759, 4716,
- 10789, 5759, 4764,
- 10789, 5759, 4884,
- 10789, 5759, 4928,
- 10789, 5759, 5030,
- 10789, 5759, 5031, 5387, 5030,
- 10789, 5759, 5031, 5387, 5031, 7711, 1, 5445, 392,
- 10789, 5759, 5031, 7711, 0,
- 10789, 5759, 5031, 7711, 670,
- 10789, 5759, 5031, 7711, 1696,
- 10789, 5759, 5031, 9967, 5030,
- 10789, 5759, 5042,
- 10789, 5759, 5043, 7711, 2525, 5898,
- 10789, 5759, 5043, 10266,
- 10789, 5759, 5043, 10377, 5042,
- 10789, 5759, 5044,
- 10789, 5759, 5278,
- 10789, 5759, 5662,
- 10789, 5759, 5663, 7711, 0,
- 10789, 5759, 5663, 7711, 40,
- 10789, 5759, 5663, 7711, 41, 5445, 0,
- 10789, 5759, 5663, 7711, 396,
- 10789, 5759, 5663, 7711, 750,
- 10789, 5759, 5663, 7711, 2766,
- 10789, 5759, 5663, 7711, 4338,
- 10789, 5759, 5663, 7711, 5720,
- 10789, 5759, 5664,
- 10789, 5759, 5682,
- 10789, 5759, 5692,
- 10789, 5759, 5693, 7711, 0,
- 10789, 5759, 5693, 7711, 272,
- 10789, 5759, 5696,
- 10789, 5759, 5697, 7711, 0,
- 10789, 5759, 5697, 7711, 754,
- 10789, 5759, 5697, 7711, 1012,
- 10789, 5759, 5697, 7711, 1220,
- 10789, 5759, 5697, 7711, 1482,
- 10789, 5759, 5697, 7711, 1483, 4358,
- 10789, 5759, 5697, 7711, 1820,
- 10789, 5759, 5697, 7711, 1950,
- 10789, 5759, 5697, 7711, 2488,
- 10789, 5759, 5697, 7711, 6534,
- 10789, 5759, 5697, 7711, 8374,
- 10789, 5759, 5702,
- 10789, 5759, 5703, 5387, 5703, 833, 5387, 832,
- 10789, 5759, 5703, 5898,
- 10789, 5759, 5720,
- 10789, 5759, 5756,
- 10789, 5759, 5757, 5387, 5757, 5720,
- 10789, 5759, 5760,
- 10789, 5759, 5840,
- 10789, 5759, 5852,
- 10789, 5759, 5880,
- 10789, 5759, 6012,
- 10789, 5759, 6046,
- 10789, 5759, 6048,
- 10789, 5759, 6049, 7711, 462,
- 10789, 5759, 6049, 7711, 8338,
- 10789, 5759, 6054,
- 10789, 5759, 6062,
- 10789, 5759, 6064,
- 10789, 5759, 6256,
- 10789, 5759, 6318,
- 10789, 5759, 6396,
- 10789, 5759, 6412,
- 10789, 5759, 6430,
- 10789, 5759, 6436,
- 10789, 5759, 6464,
- 10789, 5759, 6466,
- 10789, 5759, 6534,
- 10789, 5759, 6535, 5387, 6534,
- 10789, 5759, 6648,
- 10789, 5759, 6650,
- 10789, 5759, 6708,
- 10789, 5759, 6746,
- 10789, 5759, 6818,
- 10789, 5759, 6854,
- 10789, 5759, 6860,
- 10789, 5759, 6884,
- 10789, 5759, 7040,
- 10789, 5759, 7054,
- 10789, 5759, 7074,
- 10789, 5759, 7075, 7711, 0,
- 10789, 5759, 7075, 7711, 1, 5445, 139, 5445, 236,
- 10789, 5759, 7075, 7711, 1, 5445, 1220,
- 10789, 5759, 7075, 7711, 1, 5445, 1736,
- 10789, 5759, 7075, 7711, 40,
- 10789, 5759, 7075, 7711, 41, 5445, 0,
- 10789, 5759, 7075, 7711, 41, 5445, 41, 5445, 40,
- 10789, 5759, 7075, 7711, 76,
- 10789, 5759, 7075, 7711, 80,
- 10789, 5759, 7075, 7711, 106,
- 10789, 5759, 7075, 7711, 176,
- 10789, 5759, 7075, 7711, 216,
- 10789, 5759, 7075, 7711, 236,
- 10789, 5759, 7075, 7711, 243, 7711, 2110,
- 10789, 5759, 7075, 7711, 272,
- 10789, 5759, 7075, 7711, 273, 5445, 236,
- 10789, 5759, 7075, 7711, 273, 5445, 354,
- 10789, 5759, 7075, 7711, 314,
- 10789, 5759, 7075, 7711, 354,
- 10789, 5759, 7075, 7711, 368,
- 10789, 5759, 7075, 7711, 369, 5445, 176,
- 10789, 5759, 7075, 7711, 396,
- 10789, 5759, 7075, 7711, 561, 5445, 1, 5445, 547, 5445, 392,
- 10789, 5759, 7075, 7711, 581, 5445, 736,
- 10789, 5759, 7075, 7711, 588,
- 10789, 5759, 7075, 7711, 737, 6313, 5898,
- 10789, 5759, 7075, 7711, 750,
- 10789, 5759, 7075, 7711, 966,
- 10789, 5759, 7075, 7711, 1220,
- 10789, 5759, 7075, 7711, 1304,
- 10789, 5759, 7075, 7711, 1305, 5445, 1304,
- 10789, 5759, 7075, 7711, 1344,
- 10789, 5759, 7075, 7711, 1483, 4358,
- 10789, 5759, 7075, 7711, 1632,
- 10789, 5759, 7075, 7711, 1682,
- 10789, 5759, 7075, 7711, 1688,
- 10789, 5759, 7075, 7711, 1689, 5445, 243, 5445, 0,
- 10789, 5759, 7075, 7711, 1820,
- 10789, 5759, 7075, 7711, 2519, 5445, 2584,
- 10789, 5759, 7075, 7711, 2584,
- 10789, 5759, 7075, 7711, 2638,
- 10789, 5759, 7075, 7711, 2836,
- 10789, 5759, 7075, 7711, 4884,
- 10789, 5759, 7075, 7711, 5030,
- 10789, 5759, 7075, 7711, 5720,
- 10789, 5759, 7075, 7711, 5721, 5445, 5720,
- 10789, 5759, 7075, 7711, 5880,
- 10789, 5759, 7075, 7711, 7074,
- 10789, 5759, 7075, 7711, 7545, 5445, 4339, 5445, 6746,
- 10789, 5759, 7075, 7711, 7545, 5445, 4339, 5898,
- 10789, 5759, 7075, 9732,
- 10789, 5759, 7076,
- 10789, 5759, 7077, 4358,
- 10789, 5759, 7077, 4359, 5387, 7077, 4359, 2518,
- 10789, 5759, 7077, 7711, 2518,
- 10789, 5759, 7077, 7711, 2519, 5445, 2584,
- 10789, 5759, 7122,
- 10789, 5759, 7123, 5387, 7122,
- 10789, 5759, 7123, 9684,
- 10789, 5759, 7123, 10377, 7122,
- 10789, 5759, 7138,
- 10789, 5759, 7196,
- 10789, 5759, 7197, 4358,
- 10789, 5759, 7197, 7711, 0,
- 10789, 5759, 7197, 7711, 1, 5445, 144,
- 10789, 5759, 7197, 7711, 144,
- 10789, 5759, 7204,
- 10789, 5759, 7248,
- 10789, 5759, 7284,
- 10789, 5759, 7285, 703, 7711, 106,
- 10789, 5759, 7285, 703, 7711, 332,
- 10789, 5759, 7285, 703, 7711, 396,
- 10789, 5759, 7285, 703, 7711, 580,
- 10789, 5759, 7285, 703, 7711, 1052,
- 10789, 5759, 7285, 703, 7711, 1304,
- 10789, 5759, 7285, 703, 7711, 1483, 4358,
- 10789, 5759, 7285, 703, 7711, 4706,
- 10789, 5759, 7285, 703, 7711, 7572,
- 10789, 5759, 7285, 703, 7711, 7954,
- 10789, 5759, 7285, 8361, 7711, 106,
- 10789, 5759, 7285, 8361, 7711, 107, 40,
- 10789, 5759, 7364,
- 10789, 5759, 7374,
- 10789, 5759, 7375, 7711, 588,
- 10789, 5759, 7375, 7711, 670,
- 10789, 5759, 7375, 7711, 1586,
- 10789, 5759, 7375, 10377, 7374,
- 10789, 5759, 7510,
- 10789, 5759, 7516,
- 10789, 5759, 7528,
- 10789, 5759, 7534,
- 10789, 5759, 7544,
- 10789, 5759, 7572,
- 10789, 5759, 7648,
- 10789, 5759, 7762,
- 10789, 5759, 7774,
- 10789, 5759, 7775, 7711, 40,
- 10789, 5759, 7778,
- 10789, 5759, 7890,
- 10789, 5759, 7954,
- 10789, 5759, 7966,
- 10789, 5759, 8242,
- 10789, 5759, 8276,
- 10789, 5759, 8338,
- 10789, 5759, 8339, 5387, 8339, 7075, 7711, 41, 5387, 7075, 7711, 40,
- 10789, 5759, 8339, 7075, 7711, 41, 5387, 7075, 7711, 40,
- 10789, 5759, 8360,
- 10789, 5759, 8361, 5387, 8360,
- 10789, 5759, 8374,
- 10789, 5759, 8376,
- 10789, 5759, 8382,
- 10789, 5759, 8408,
- 10789, 5759, 8490,
- 10789, 5759, 8494,
- 10789, 5759, 8512,
- 10789, 5759, 8513, 7711, 80,
- 10789, 5759, 8513, 7711, 369, 5445, 4241, 5898,
- 10789, 5759, 8513, 7711, 396,
- 10789, 5759, 8513, 7711, 581, 5445, 736,
- 10789, 5759, 8513, 7711, 736,
- 10789, 5759, 8513, 7711, 737, 5445, 736,
- 10789, 5759, 8513, 7711, 1304,
- 10789, 5759, 8513, 7711, 2110,
- 10789, 5759, 8513, 7711, 2518,
- 10789, 5759, 8513, 7711, 2519, 5445, 1, 80,
- 10789, 5759, 8513, 7711, 2519, 5445, 736,
- 10789, 5759, 8513, 7711, 2519, 5445, 737, 5445, 736,
- 10789, 5759, 8513, 7711, 2836,
- 10789, 5759, 8664,
- 10789, 5759, 8702,
- 10789, 5759, 8706,
- 10789, 5759, 8710,
- 10789, 5759, 8764,
- 10789, 5759, 8902,
- 10789, 5759, 9306,
- 10789, 5759, 9307, 7711, 1696,
- 10789, 5759, 10518,
- 10789, 9515, 5759, 2167, 9897, 2171, 7574,
- 10789, 9515, 5759, 2167, 9897, 2171, 9614,
- 10789, 9515, 5759, 2171, 3704,
- 10789, 9515, 5759, 2171, 3822,
- 10789, 9515, 5759, 2171, 6756,
- 10789, 9515, 5759, 2171, 6830,
- 10789, 9515, 5759, 2171, 6832,
- 10789, 9515, 5759, 2171, 7520,
- 10789, 9515, 5759, 2171, 7687, 4094,
- 10789, 9515, 5759, 2171, 7687, 9817, 4213, 0,
- 10789, 9515, 5759, 2171, 8159, 736,
- 10789, 9515, 5759, 2171, 9615, 736,
- 10789, 9515, 5759, 2541, 40,
- 10789, 9515, 5759, 2541, 736,
- 10789, 9515, 5759, 2541, 737, 5898,
- 10789, 9515, 5759, 2541, 4094,
- 10789, 9515, 5759, 2541, 6830,
- 10789, 9515, 5759, 2541, 7516,
- 10789, 9515, 5759, 2541, 9817, 4213, 3282,
- 10789, 9515, 5759, 2779, 736,
- 10789, 9515, 5759, 2779, 737, 5898,
- 10789, 9515, 5759, 2779, 3704,
- 10789, 9515, 5759, 2779, 3822,
- 10789, 9515, 5759, 2779, 6756,
- 10789, 9515, 5759, 2779, 6830,
- 10789, 9515, 5759, 2779, 6832,
- 10789, 9515, 5759, 2779, 7516,
- 10789, 9515, 5759, 2779, 7520,
- 10789, 9515, 5759, 2779, 8819, 4094,
- 10789, 9515, 5759, 2779, 8819, 9817, 4213, 0,
- 10789, 9515, 5759, 4201, 40,
- 10789, 9515, 5759, 4201, 736,
- 10789, 9515, 5759, 4201, 737, 5898,
- 10789, 9515, 5759, 4201, 3704,
- 10789, 9515, 5759, 4201, 3705, 9817, 4212,
- 10789, 9515, 5759, 4201, 3822,
- 10789, 9515, 5759, 4201, 4094,
- 10789, 9515, 5759, 4201, 6830,
- 10789, 9515, 5759, 4201, 6832,
- 10789, 9515, 5759, 4201, 7516,
- 10789, 9515, 5759, 4201, 7520,
- 10789, 9515, 5759, 4201, 8719, 4094,
- 10789, 9515, 5759, 4215, 40,
- 10789, 9515, 5759, 4215, 736,
- 10789, 9515, 5759, 4215, 737, 5898,
- 10789, 9515, 5759, 4215, 3704,
- 10789, 9515, 5759, 4215, 3705, 9817, 4212,
- 10789, 9515, 5759, 4215, 3822,
- 10789, 9515, 5759, 4215, 4094,
- 10789, 9515, 5759, 4215, 6830,
- 10789, 9515, 5759, 4215, 6832,
- 10789, 9515, 5759, 4215, 7516,
- 10789, 9515, 5759, 4215, 7520,
- 10789, 9515, 5759, 4215, 9817, 4213, 7106,
- 10789, 9515, 5759, 4215, 9817, 4213, 7107, 0,
- 10789, 9515, 5759, 4215, 9817, 4213, 7107, 2,
- 10789, 9515, 5759, 4215, 9817, 4213, 8410,
- 10789, 9515, 5759, 5191, 40,
- 10789, 9515, 5759, 5191, 736,
- 10789, 9515, 5759, 5191, 4094,
- 10789, 9515, 5759, 5191, 6830,
- 10789, 9515, 5759, 5191, 7516,
- 10789, 9515, 5759, 5191, 9817, 4213, 8310,
- 10789, 9515, 5759, 5191, 9817, 4213, 8311, 0,
- 10789, 9515, 5759, 5191, 9817, 4213, 9354,
- 10789, 9515, 5759, 5191, 9817, 4213, 9356,
- 10789, 9515, 5759, 6723, 40,
- 10789, 9515, 5759, 6723, 736,
- 10789, 9515, 5759, 6723, 4094,
- 10789, 9515, 5759, 6723, 6830,
- 10789, 9515, 5759, 6723, 7516,
- 10789, 9515, 5759, 6723, 9817, 4213, 6066,
- 10789, 9515, 5759, 6723, 9817, 4213, 7776,
- 10789, 9515, 5759, 7509, 40,
- 10789, 9515, 5759, 7509, 736,
- 10789, 9515, 5759, 7509, 4094,
- 10789, 9515, 5759, 7509, 6830,
- 10789, 9515, 5759, 7509, 7516,
- 10789, 9515, 5759, 7509, 9817, 4213, 4607, 0,
- 10789, 9515, 5759, 7509, 9817, 4213, 4607, 2,
- 10789, 9515, 5759, 7509, 9817, 4213, 6990,
- 10789, 9515, 5759, 7517, 7711, 1213, 5445, 1922,
- 10789, 9515, 5759, 7517, 7711, 1213, 5445, 4094,
- 10789, 9515, 5759, 7695, 736,
- 10789, 9515, 5759, 7695, 737, 5898,
- 10789, 9515, 5759, 7695, 3704,
- 10789, 9515, 5759, 7695, 3822,
- 10789, 9515, 5759, 7695, 3823, 9817, 4212,
- 10789, 9515, 5759, 7695, 4094,
- 10789, 9515, 5759, 7695, 6830,
- 10789, 9515, 5759, 7695, 6832,
- 10789, 9515, 5759, 7695, 7516,
- 10789, 9515, 5759, 7695, 7517, 9817, 4212,
- 10789, 9515, 5759, 7695, 7520,
- 10789, 9515, 5759, 7695, 7521, 9817, 4212,
- 10789, 9515, 5759, 7695, 9817, 4213, 6752,
- 10789, 9515, 5759, 7695, 9817, 4213, 6754,
- 10789, 9515, 5759, 11136,
- 10789, 9515, 5759, 11138,
- 10789, 12133, 5759, 2167, 9897, 6129, 9178,
- 10789, 12133, 5759, 10001, 6610,
- 10789, 12133, 5759, 10001, 10644,
- 10789, 12133, 5759, 10677, 6610,
- 10797, 8775, 7101, 601, 721, 11648,
- 10797, 8775, 7101, 601, 721, 11649, 6121, 6104,
- 10797, 8775, 7101, 601, 721, 11649, 6121, 8056,
- 10797, 8775, 7101, 601, 721, 11649, 6121, 10642,
- 10797, 8775, 7101, 4117, 721, 11648,
- 10797, 8775, 7101, 4117, 721, 11649, 6121, 6104,
- 10797, 8775, 7101, 4117, 721, 11649, 6121, 8056,
- 10797, 8775, 7101, 4117, 721, 11649, 6121, 10642,
- 10797, 8775, 7101, 10677, 721, 2725, 4848,
- 10797, 8775, 7101, 10677, 721, 2725, 7442,
- 10797, 8775, 7101, 10677, 721, 6104,
- 10797, 8775, 7101, 10677, 721, 8005, 4848,
- 10797, 8775, 7101, 10677, 721, 8005, 7442,
- 10797, 8775, 7101, 10677, 6121, 8056,
- 10797, 8775, 7101, 10677, 6121, 10642,
- 10804,
- 10817, 8548,
- 10959, 2779, 8289, 6434,
- 10959, 6434,
- 10959, 6435, 569, 760,
- 10959, 6435, 4221, 760,
- 10959, 6435, 6121, 2697, 11096,
- 10959, 6435, 6121, 2697, 11764,
- 10959, 6435, 6121, 8077, 11096,
- 10959, 6435, 6121, 8153, 8758,
- 10959, 6435, 6121, 11649, 8758,
- 10959, 6435, 11097, 429, 9811, 6434,
- 10959, 6505, 6434,
- 10959, 7821, 6434,
- 10959, 7924,
- 10959, 8097, 6434,
- 10959, 8153, 6434,
- 10959, 8561, 7944,
- 10959, 8849, 6434,
- 10959, 8963, 6434,
- 10959, 9327, 6121, 3713, 4849, 569, 760,
- 10959, 9327, 6121, 3713, 4849, 4221, 760,
- 10959, 9327, 6121, 3713, 4849, 7991, 9811, 9327, 6121, 3713, 7442,
- 10959, 9327, 6121, 3713, 4849, 7991, 10959, 9327, 6121, 3713, 7442,
- 10959, 9327, 6121, 3713, 7443, 569, 760,
- 10959, 9327, 6121, 3713, 7443, 4221, 760,
- 10959, 9327, 6121, 3713, 11096,
- 10959, 9327, 6121, 3713, 11764,
- 10959, 11191, 6434,
- 10963, 9120,
- 10977, 8774,
- 10978,
- 10989, 5758,
- 11011, 1809, 4876,
- 11011, 2091, 5758,
- 11011, 2941, 5758,
- 11011, 3055, 5758,
- 11011, 3873, 5758,
- 11011, 4223, 5836,
- 11011, 4849, 6627, 9050,
- 11011, 4849, 7821, 12114,
- 11011, 4849, 8745, 9050,
- 11011, 4849, 12114,
- 11011, 5445, 5758,
- 11011, 6610,
- 11011, 6616,
- 11011, 6689, 2170,
- 11011, 6689, 2540,
- 11011, 6689, 2778,
- 11011, 6689, 4200,
- 11011, 6689, 4214,
- 11011, 6689, 5190,
- 11011, 6689, 6260,
- 11011, 6689, 6722,
- 11011, 6689, 7508,
- 11011, 6689, 7694,
- 11011, 6875, 7908,
- 11011, 7089, 7593, 8405, 0,
- 11011, 7089, 7593, 8405, 2,
- 11011, 7089, 7593, 8405, 4,
- 11011, 7089, 7593, 8405, 6,
- 11011, 7089, 7593, 8405, 8,
- 11011, 7089, 7593, 8405, 10,
- 11011, 7089, 7593, 8405, 12,
- 11011, 7089, 7593, 8405, 14,
- 11011, 7089, 7593, 8405, 16,
- 11011, 7089, 7593, 8405, 18,
- 11011, 7089, 7593, 8405, 20,
- 11011, 7089, 7593, 8405, 22,
- 11011, 7089, 7593, 8405, 24,
- 11011, 7089, 7593, 8405, 26,
- 11011, 7089, 7593, 8405, 28,
- 11011, 7089, 7593, 8405, 30,
- 11011, 7089, 7593, 8405, 32,
- 11011, 7089, 7593, 8405, 34,
- 11011, 7089, 7593, 8405, 36,
- 11011, 7089, 7593, 8405, 38,
- 11011, 7089, 7593, 8405, 40,
- 11011, 7089, 7593, 8405, 42,
- 11011, 7089, 7593, 8405, 44,
- 11011, 7089, 7593, 8405, 46,
- 11011, 7089, 7593, 8405, 48,
- 11011, 7089, 7593, 8405, 50,
- 11011, 7089, 9063, 8405, 0,
- 11011, 7089, 9063, 8405, 2,
- 11011, 7089, 9063, 8405, 4,
- 11011, 7089, 9063, 8405, 6,
- 11011, 7089, 9063, 8405, 8,
- 11011, 7089, 9063, 8405, 10,
- 11011, 7089, 9063, 8405, 12,
- 11011, 7089, 9063, 8405, 14,
- 11011, 7089, 9063, 8405, 16,
- 11011, 7089, 9063, 8405, 18,
- 11011, 7089, 9063, 8405, 20,
- 11011, 7089, 9063, 8405, 22,
- 11011, 7089, 9063, 8405, 24,
- 11011, 7089, 9063, 8405, 26,
- 11011, 7089, 9063, 8405, 28,
- 11011, 7089, 9063, 8405, 30,
- 11011, 7089, 9063, 8405, 32,
- 11011, 7089, 9063, 8405, 34,
- 11011, 7089, 9063, 8405, 36,
- 11011, 7089, 9063, 8405, 38,
- 11011, 7089, 9063, 8405, 40,
- 11011, 7089, 9063, 8405, 42,
- 11011, 7089, 9063, 8405, 44,
- 11011, 7089, 9063, 8405, 46,
- 11011, 7089, 9063, 8405, 48,
- 11011, 7089, 9063, 8405, 50,
- 11011, 7387, 5758,
- 11011, 7443, 6627, 9050,
- 11011, 7443, 7821, 12114,
- 11011, 7443, 8745, 9050,
- 11011, 7443, 12114,
- 11011, 7708,
- 11011, 8017, 760,
- 11011, 8129, 5758,
- 11011, 8167, 5758,
- 11011, 8432,
- 11011, 8525, 5758,
- 11011, 9581, 5758,
- 11011, 9633, 9718,
- 11011, 9718,
- 11011, 9898,
- 11011, 10469, 4926,
- 11011, 10677, 4876,
- 11011, 10708,
- 11011, 11099, 5758,
- 11011, 11195, 4926,
- 11011, 11224,
- 11011, 11424,
- 11011, 11449, 7908,
- 11011, 11451, 90,
- 11011, 12017, 4926,
- 11011, 12473, 5758,
- 11011, 12478,
- 11015, 11740,
- 11031, 4849, 8077, 9050,
- 11031, 6505, 8744,
- 11031, 6801, 7101, 10676,
- 11031, 7443, 8077, 9050,
- 11031, 7821, 8056,
- 11031, 8287, 8206,
- 11031, 8287, 8405, 0,
- 11031, 8287, 8405, 8,
- 11031, 8287, 8405, 16,
- 11031, 8287, 8405, 28,
- 11031, 8287, 8405, 40,
- 11031, 8287, 8405, 66,
- 11031, 8287, 8405, 178,
- 11031, 8287, 8405, 188,
- 11031, 8287, 8405, 426,
- 11031, 8287, 8405, 622,
- 11031, 8287, 8405, 626,
- 11031, 8287, 8405, 630,
- 11031, 8287, 8405, 652,
- 11031, 8287, 8405, 654,
- 11031, 8287, 8405, 656,
- 11031, 8287, 8405, 660,
- 11031, 8287, 8405, 664,
- 11031, 8287, 8405, 2908,
- 11031, 8287, 8405, 2926,
- 11031, 8287, 8405, 3012,
- 11031, 8287, 8405, 3056,
- 11031, 8287, 8405, 5770,
- 11031, 8287, 8405, 6594,
- 11031, 8287, 8405, 6912,
- 11031, 8287, 8405, 6982,
- 11031, 8287, 8405, 7166,
- 11031, 8287, 8405, 7244,
- 11031, 8287, 8405, 7372,
- 11031, 8287, 8405, 7440,
- 11031, 8287, 8405, 8362,
- 11031, 8287, 8405, 8828,
- 11031, 8287, 8405, 9086,
- 11031, 8287, 8405, 9400,
- 11031, 8287, 8405, 9588,
- 11031, 8287, 8405, 9780,
- 11031, 8287, 8405, 11248,
- 11031, 8287, 8405, 11728,
- 11031, 8287, 8405, 11758,
- 11031, 8287, 8405, 11824,
- 11031, 8287, 8405, 11832,
- 11031, 8287, 8405, 12070,
- 11031, 8287, 8405, 12094,
- 11031, 8287, 8405, 12096,
- 11031, 8287, 8405, 12144,
- 11031, 8287, 8405, 12146,
- 11031, 8287, 8405, 12150,
- 11031, 8287, 8405, 12350,
- 11031, 8287, 8405, 12352,
- 11031, 8287, 8405, 12532,
- 11031, 8287, 8405, 13006,
- 11031, 8287, 8405, 13008,
- 11031, 9811, 6434,
- 11031, 10283, 8405, 0,
- 11031, 10283, 8405, 8,
- 11031, 10283, 8405, 16,
- 11031, 10283, 8405, 26,
- 11031, 10283, 8405, 28,
- 11031, 10283, 8405, 40,
- 11031, 10283, 8405, 236,
- 11031, 10283, 8405, 238,
- 11031, 10283, 8405, 242,
- 11031, 10283, 8405, 246,
- 11031, 10283, 8405, 250,
- 11031, 10283, 8405, 306,
- 11031, 10283, 8405, 310,
- 11031, 10283, 8405, 314,
- 11031, 10283, 8405, 322,
- 11031, 10283, 8405, 326,
- 11031, 10283, 8405, 364,
- 11031, 10283, 8405, 368,
- 11031, 10283, 8405, 374,
- 11031, 10283, 8405, 380,
- 11031, 10283, 8405, 384,
- 11031, 10283, 8405, 392,
- 11031, 10283, 8405, 396,
- 11031, 10283, 8405, 404,
- 11031, 10283, 8405, 412,
- 11031, 10283, 8405, 416,
- 11031, 10283, 8405, 510,
- 11031, 10283, 8405, 512,
- 11031, 10283, 8405, 514,
- 11031, 10283, 8405, 516,
- 11031, 10283, 8405, 520,
- 11031, 10283, 8405, 524,
- 11031, 10283, 8405, 526,
- 11031, 10283, 8405, 532,
- 11031, 10283, 8405, 536,
- 11031, 10283, 8405, 546,
- 11031, 10283, 8405, 556,
- 11031, 10283, 8405, 560,
- 11031, 10283, 8405, 564,
- 11031, 10283, 8405, 568,
- 11031, 10283, 8405, 576,
- 11031, 10283, 8405, 622,
- 11031, 10283, 8405, 632,
- 11031, 10283, 8405, 652,
- 11031, 10283, 8405, 660,
- 11031, 10283, 8405, 664,
- 11031, 10283, 8405, 7593, 0,
- 11031, 10283, 8405, 7593, 8,
- 11031, 10283, 8405, 7593, 16,
- 11031, 10283, 8405, 7593, 28,
- 11031, 10283, 8405, 7593, 40,
- 11031, 10283, 8405, 7593, 576,
- 11031, 10283, 8405, 7593, 652,
- 11031, 10283, 8405, 7593, 660,
- 11031, 10283, 8405, 7593, 664,
- 11031, 10283, 8473, 1044,
- 11031, 10283, 8921, 7605, 4926,
- 11031, 10283, 12341, 7605, 4926,
- 11031, 10959, 6434,
- 11031, 11097, 6434,
- 11031, 11765, 6434,
- 11031, 12043, 4223, 5836,
- 11031, 12043, 6616,
- 11031, 13365, 11185, 7605, 4926,
- 11035, 10773, 8456,
- 11036,
- 11041, 568,
- 11041, 569, 721, 9705, 10410,
- 11041, 6121, 1045, 6376,
- 11051, 88,
- 11052,
- 11061, 8774,
- 11063, 5444,
- 11063, 7710,
- 11063, 11228,
- 11093, 731, 12901, 6434,
- 11097, 2779, 8289, 6434,
- 11097, 6105, 6434,
- 11097, 6434,
- 11097, 6435, 569, 760,
- 11097, 6435, 569, 761, 5387, 11765, 6435, 569, 760,
- 11097, 6435, 569, 6505, 9158,
- 11097, 6435, 4221, 760,
- 11097, 6435, 4221, 761, 569, 6505, 9158,
- 11097, 6435, 5387, 11765, 6434,
- 11097, 6435, 6121, 2697, 9810,
- 11097, 6435, 6121, 2697, 10958,
- 11097, 6435, 6121, 4530,
- 11097, 6435, 6121, 4896,
- 11097, 6435, 6121, 5445, 6490,
- 11097, 6435, 6121, 5878,
- 11097, 6435, 6121, 5879, 6121, 8153, 10677, 8758,
- 11097, 6435, 6121, 5879, 6121, 10677, 8758,
- 11097, 6435, 6121, 8151, 5832,
- 11097, 6435, 6121, 8153, 10677, 8758,
- 11097, 6435, 6121, 8758,
- 11097, 6435, 6121, 10677, 8758,
- 11097, 6435, 6377, 7551, 11765, 6434,
- 11097, 6435, 6377, 7709, 10374,
- 11097, 6435, 6377, 7919, 6741, 568,
- 11097, 6435, 6377, 9633, 7709, 10374,
- 11097, 6435, 6377, 9633, 7919, 6741, 568,
- 11097, 6435, 9785, 46,
- 11097, 6435, 9785, 8762,
- 11097, 6435, 9785, 11098,
- 11097, 6505, 6434,
- 11097, 7821, 6434,
- 11097, 8097, 6434,
- 11097, 8153, 3993, 6434,
- 11097, 8153, 6434,
- 11097, 8153, 6435, 4221, 760,
- 11097, 8153, 6435, 6121, 8758,
- 11097, 8153, 6435, 6121, 10677, 8758,
- 11097, 8153, 11430,
- 11097, 8561, 7944,
- 11097, 8849, 3993, 6434,
- 11097, 8849, 6434,
- 11097, 9327, 5387, 11765, 9326,
- 11097, 9327, 6121, 3713, 601, 569, 760,
- 11097, 9327, 6121, 3713, 601, 4221, 760,
- 11097, 9327, 6121, 3713, 601, 6377, 4895, 3992,
- 11097, 9327, 6121, 3713, 601, 6377, 11097, 9327, 6121, 3713, 4116,
- 11097, 9327, 6121, 3713, 601, 6377, 11765, 9327, 6121, 3713, 600,
- 11097, 9327, 6121, 3713, 4117, 569, 760,
- 11097, 9327, 6121, 3713, 4117, 4221, 760,
- 11097, 9327, 6121, 3713, 4117, 6377, 11765, 9327, 6121, 3713, 4116,
- 11097, 9327, 6121, 3713, 4117, 6491, 4895, 3992,
- 11097, 9327, 6121, 3713, 9810,
- 11097, 9327, 6121, 3713, 10958,
- 11097, 10531, 6434,
- 11097, 11191, 6434,
- 11097, 11430,
- 11097, 11875, 6435, 4221, 760,
- 11097, 11875, 6435, 6121, 5878,
- 11097, 11875, 6435, 6121, 5879, 6121, 8153, 10677, 8758,
- 11097, 11875, 6435, 6121, 5879, 6121, 10677, 8758,
- 11097, 11875, 6435, 6121, 8153, 10677, 8758,
- 11097, 11875, 6435, 6121, 10677, 8758,
- 11097, 11875, 8849, 3993, 6434,
- 11097, 12103, 6434,
- 11099, 445, 6741, 568,
- 11099, 445, 9705, 6741, 568,
- 11099, 445, 9705, 6741, 569, 6121, 1045, 6376,
- 11099, 445, 9705, 6741, 569, 6121, 1045, 6377, 7442,
- 11099, 445, 9705, 6741, 569, 6121, 1045, 8318,
- 11099, 445, 11621, 568,
- 11099, 445, 11896,
- 11099, 445, 12472,
- 11099, 721, 2091, 11896,
- 11099, 721, 12345, 2091, 6741, 568,
- 11099, 835, 2091, 6741, 568,
- 11099, 835, 2091, 11621, 568,
- 11099, 5387, 6741, 568,
- 11099, 5758,
- 11099, 6121, 1044,
- 11099, 6121, 8057, 8318,
- 11099, 6121, 10469, 4927, 6376,
- 11099, 6377, 9693, 445, 6740,
- 11099, 6377, 9693, 6377, 12472,
- 11099, 6377, 9705, 6741, 6377, 12473, 6377, 9705, 6740,
- 11099, 6377, 11097, 6434,
- 11099, 6377, 12007, 6741, 6377, 12472,
- 11099, 6377, 12473, 6377, 12007, 6740,
- 11099, 6741, 569, 445, 12472,
- 11099, 8065, 115, 6628,
- 11099, 8065, 115, 6629, 6377, 9705, 6740,
- 11104,
- 11111, 93, 8399, 4926,
- 11111, 3997, 4926,
- 11111, 5759, 8916,
- 11111, 5759, 9824,
- 11111, 5759, 9870,
- 11111, 5759, 9904,
- 11111, 6689, 2170,
- 11111, 6689, 2540,
- 11111, 6689, 2778,
- 11111, 6689, 4200,
- 11111, 6689, 4214,
- 11111, 6689, 5190,
- 11111, 6689, 6260,
- 11111, 6689, 6722,
- 11111, 6689, 7508,
- 11111, 6689, 7694,
- 11111, 7803, 5759, 8,
- 11111, 7803, 5759, 16,
- 11111, 7803, 5759, 28,
- 11111, 7803, 5759, 40,
- 11111, 7803, 5759, 58,
- 11111, 7803, 5759, 72,
- 11111, 7803, 5759, 92,
- 11111, 7803, 5759, 162,
- 11111, 7803, 5759, 266,
- 11111, 7803, 5759, 440,
- 11111, 7803, 5759, 606,
- 11111, 7803, 5759, 9827, 22,
- 11111, 7803, 5759, 9827, 34,
- 11111, 7803, 5759, 9827, 344,
- 11111, 7803, 5759, 9827, 518,
- 11111, 8405, 0,
- 11111, 8405, 8,
- 11111, 8405, 16,
- 11111, 8405, 28,
- 11111, 8405, 40,
- 11111, 8405, 58,
- 11111, 8405, 72,
- 11111, 8405, 92,
- 11111, 8405, 100,
- 11111, 8405, 116,
- 11111, 8405, 138,
- 11111, 8405, 162,
- 11111, 8405, 216,
- 11111, 8405, 236,
- 11111, 8405, 266,
- 11111, 8405, 292,
- 11111, 8405, 306,
- 11111, 8405, 332,
- 11111, 8405, 364,
- 11111, 8405, 392,
- 11111, 8405, 440,
- 11111, 8405, 462,
- 11111, 8405, 510,
- 11111, 8405, 524,
- 11111, 8405, 556,
- 11111, 8405, 606,
- 11111, 8405, 610,
- 11111, 8405, 652,
- 11111, 8405, 792,
- 11111, 8405, 884,
- 11111, 8405, 974,
- 11111, 8405, 996,
- 11111, 8405, 1260,
- 11111, 8405, 1512,
- 11111, 8405, 1612,
- 11111, 8405, 1796,
- 11111, 8405, 2030,
- 11111, 8405, 2076,
- 11111, 8405, 2126,
- 11111, 8405, 2212,
- 11111, 8405, 2438,
- 11111, 8405, 2516,
- 11111, 8405, 2566,
- 11111, 8405, 2678,
- 11111, 8405, 2746,
- 11111, 8405, 4016,
- 11111, 8405, 4888,
- 11111, 8405, 5994,
- 11111, 8405, 8045, 20,
- 11111, 8405, 8045, 22,
- 11111, 8405, 8045, 26,
- 11111, 8405, 8045, 344,
- 11111, 8405, 8045, 410,
- 11111, 8405, 8045, 518,
- 11111, 8405, 9827, 22,
- 11111, 8405, 9827, 34,
- 11111, 8405, 9827, 344,
- 11111, 8405, 9827, 518,
- 11111, 8525, 2171, 9344,
- 11111, 8525, 2171, 10624,
- 11111, 8525, 2670,
- 11111, 10203, 2171, 4388,
- 11111, 10203, 2171, 9614,
- 11111, 10203, 7695, 10466,
- 11113, 9539, 11054,
- 11123, 4215, 4112,
- 11123, 4217, 11391, 10507, 2170,
- 11123, 4217, 11391, 10507, 2778,
- 11123, 4217, 11391, 10507, 7694,
- 11123, 4223, 5836,
- 11123, 5751, 10585, 9921, 8450,
- 11123, 5963, 5781, 8306,
- 11123, 6500,
- 11123, 6610,
- 11123, 6616,
- 11123, 6689, 2170,
- 11123, 6689, 2540,
- 11123, 6689, 2778,
- 11123, 6689, 4200,
- 11123, 6689, 4214,
- 11123, 6689, 5190,
- 11123, 6689, 6260,
- 11123, 6689, 6722,
- 11123, 6689, 7508,
- 11123, 6689, 7694,
- 11123, 7803, 11228,
- 11123, 8405, 0,
- 11123, 8405, 8,
- 11123, 8405, 16,
- 11123, 8405, 28,
- 11123, 8405, 40,
- 11123, 8405, 100,
- 11123, 8405, 138,
- 11123, 8405, 162,
- 11123, 8405, 196,
- 11123, 8405, 216,
- 11123, 8405, 292,
- 11123, 8405, 306,
- 11123, 8405, 332,
- 11123, 8405, 364,
- 11123, 8405, 392,
- 11123, 8405, 426,
- 11123, 8405, 462,
- 11123, 8405, 496,
- 11123, 8405, 510,
- 11123, 8405, 524,
- 11123, 8405, 556,
- 11123, 8405, 590,
- 11123, 8405, 622,
- 11123, 8405, 652,
- 11123, 8405, 670,
- 11123, 8405, 717, 4237, 0,
- 11123, 8405, 717, 4237, 16,
- 11123, 8405, 717, 4237, 70,
- 11123, 8405, 717, 4237, 116,
- 11123, 8405, 717, 4237, 138,
- 11123, 8405, 717, 4237, 306,
- 11123, 8405, 717, 4237, 462,
- 11123, 8405, 717, 4237, 556,
- 11123, 8405, 717, 4237, 670,
- 11123, 8405, 717, 4237, 974,
- 11123, 8405, 717, 4237, 2030,
- 11123, 8405, 717, 4237, 2076,
- 11123, 8405, 717, 4237, 2212,
- 11123, 8405, 717, 4237, 2566,
- 11123, 8405, 717, 4237, 2746,
- 11123, 8405, 717, 4237, 3146,
- 11123, 8405, 717, 4237, 4389, 40,
- 11123, 8405, 717, 4237, 4389, 652,
- 11123, 8405, 717, 4237, 5994,
- 11123, 8405, 717, 4237, 7695, 7972,
- 11123, 8405, 717, 4237, 7972,
- 11123, 8405, 717, 4237, 8092,
- 11123, 8405, 717, 4237, 9138,
- 11123, 8405, 717, 4237, 9802,
- 11123, 8405, 717, 4237, 9825, 2170,
- 11123, 8405, 717, 4237, 9871, 2170,
- 11123, 8405, 717, 4237, 10267, 9802,
- 11123, 8405, 722,
- 11123, 8405, 884,
- 11123, 8405, 888,
- 11123, 8405, 1338,
- 11123, 8405, 1612,
- 11123, 8405, 1770,
- 11123, 8405, 2516,
- 11123, 8405, 2732,
- 11123, 8405, 3150,
- 11123, 8405, 3186,
- 11123, 8405, 5751, 8,
- 11123, 8405, 5751, 16,
- 11123, 8405, 5751, 40,
- 11123, 8405, 5751, 138,
- 11123, 8405, 5751, 196,
- 11123, 8405, 5751, 216,
- 11123, 8405, 5751, 236,
- 11123, 8405, 5751, 290,
- 11123, 8405, 5751, 292,
- 11123, 8405, 5751, 306,
- 11123, 8405, 5751, 462,
- 11123, 8405, 5751, 556,
- 11123, 8405, 5751, 590,
- 11123, 8405, 5751, 670,
- 11123, 8405, 5751, 722,
- 11123, 8405, 5751, 884,
- 11123, 8405, 5751, 1204,
- 11123, 8405, 5751, 1338,
- 11123, 8405, 5751, 2378,
- 11123, 8405, 5751, 2516,
- 11123, 8405, 5751, 2732,
- 11123, 8405, 5751, 3146,
- 11123, 8405, 5963, 8,
- 11123, 8405, 5963, 16,
- 11123, 8405, 5963, 28,
- 11123, 8405, 5963, 40,
- 11123, 8405, 5963, 100,
- 11123, 8405, 5963, 138,
- 11123, 8405, 5963, 216,
- 11123, 8405, 5963, 292,
- 11123, 8405, 5963, 306,
- 11123, 8405, 5963, 364,
- 11123, 8405, 5963, 426,
- 11123, 8405, 5963, 462,
- 11123, 8405, 5963, 496,
- 11123, 8405, 5963, 556,
- 11123, 8405, 5963, 590,
- 11123, 8405, 5963, 622,
- 11123, 8405, 5963, 652,
- 11123, 8405, 5963, 717, 4237, 556,
- 11123, 8405, 5963, 717, 4237, 3146,
- 11123, 8405, 5963, 722,
- 11123, 8405, 5963, 884,
- 11123, 8405, 5963, 1080,
- 11123, 8405, 5963, 1204,
- 11123, 8405, 5963, 1338,
- 11123, 8405, 5963, 1516,
- 11123, 8405, 5963, 2046,
- 11123, 8405, 5963, 2732,
- 11123, 8405, 5963, 4895, 7803, 5758,
- 11123, 8405, 8439, 16,
- 11123, 8405, 8439, 196,
- 11123, 8405, 8439, 306,
- 11123, 8405, 8439, 510,
- 11123, 8405, 8439, 717, 4237, 116,
- 11123, 8405, 8439, 717, 4237, 556,
- 11123, 8405, 8439, 717, 4237, 670,
- 11123, 8405, 8439, 717, 4237, 792,
- 11123, 8405, 8439, 717, 4237, 944,
- 11123, 8405, 8439, 717, 4237, 996,
- 11123, 8405, 8439, 717, 4237, 1260,
- 11123, 8405, 8439, 717, 4237, 1512,
- 11123, 8405, 8439, 717, 4237, 1770,
- 11123, 8405, 8439, 717, 4237, 2030,
- 11123, 8405, 8439, 717, 4237, 2566,
- 11123, 8405, 8439, 717, 4237, 2746,
- 11123, 8405, 8439, 717, 4237, 3146,
- 11123, 8405, 8439, 717, 4237, 4016,
- 11123, 8405, 8439, 3146,
- 11123, 8439, 4223, 5836,
- 11123, 8439, 6616,
- 11123, 8516,
- 11123, 10154,
- 11163, 11228,
- 11169, 7337, 5758,
- 11172,
- 11173, 6121, 2667, 2724,
- 11191, 7390,
- 11191, 10261, 10374,
- 11195, 4926,
- 11205, 8775, 1177, 8879, 10434,
- 11205, 8775, 1177, 8881, 10434,
- 11205, 8775, 1177, 8883, 10434,
- 11205, 8775, 1177, 8885, 10434,
- 11205, 8775, 1177, 8887, 10434,
- 11205, 8775, 1177, 8889, 10434,
- 11205, 8775, 1177, 8891, 10434,
- 11205, 8775, 1177, 9305, 11114,
- 11207, 4926,
- 11217, 10265, 9610,
- 11224,
- 11242,
- 11245, 6408,
- 11245, 6409, 9537, 600,
- 11245, 6409, 9537, 4848,
- 11261, 2170,
- 11261, 2540,
- 11261, 2778,
- 11261, 4200,
- 11261, 4214,
- 11261, 4849, 12114,
- 11261, 5190,
- 11261, 5445, 5758,
- 11261, 6260,
- 11261, 6722,
- 11261, 7172,
- 11261, 7443, 12114,
- 11261, 7508,
- 11261, 7694,
- 11261, 8167, 5758,
- 11263, 2724,
- 11263, 6121, 10260,
- 11263, 8004,
- 11265, 5759, 9558,
- 11265, 5759, 10408,
- 11265, 5759, 11158,
- 11265, 5759, 11160,
- 11265, 6689, 2170,
- 11265, 6689, 2540,
- 11265, 6689, 2778,
- 11265, 6689, 4200,
- 11265, 6689, 4214,
- 11265, 6689, 5190,
- 11265, 6689, 6260,
- 11265, 6689, 6722,
- 11265, 6689, 7508,
- 11265, 6689, 7694,
- 11265, 7803, 5759, 9560,
- 11265, 7803, 5759, 9566,
- 11265, 7803, 5759, 10402,
- 11265, 7803, 5759, 10404,
- 11265, 7803, 5759, 11710,
- 11265, 7803, 5759, 11712,
- 11265, 8405, 0,
- 11265, 8405, 8,
- 11265, 8405, 16,
- 11265, 8405, 28,
- 11265, 8405, 40,
- 11265, 8405, 66,
- 11265, 8405, 100,
- 11265, 8405, 116,
- 11265, 8405, 138,
- 11265, 8405, 188,
- 11265, 8405, 196,
- 11265, 8405, 216,
- 11265, 8405, 236,
- 11265, 8405, 292,
- 11265, 8405, 306,
- 11265, 8405, 332,
- 11265, 8405, 364,
- 11265, 8405, 392,
- 11265, 8405, 462,
- 11265, 8405, 496,
- 11265, 8405, 510,
- 11265, 8405, 524,
- 11265, 8405, 556,
- 11265, 8405, 610,
- 11265, 8405, 622,
- 11265, 8405, 638,
- 11265, 8405, 652,
- 11265, 8405, 670,
- 11265, 8405, 1612,
- 11265, 8405, 2030,
- 11265, 8405, 2126,
- 11265, 8405, 2610,
- 11265, 10775, 5759, 9564,
- 11265, 10775, 5759, 10406,
- 11265, 10775, 5759, 11154,
- 11355, 5758,
- 11355, 10303, 5758,
- 11355, 10472,
- 11357, 1177, 439, 2681, 7790,
- 11357, 1177, 1550,
- 11357, 1177, 1749, 445, 7180,
- 11357, 1177, 3803, 11754,
- 11357, 1177, 4150,
- 11357, 1177, 4223, 8056,
- 11357, 1177, 6702,
- 11357, 1177, 6865, 569, 4944,
- 11357, 1177, 6994,
- 11357, 1177, 7174,
- 11357, 1177, 7428,
- 11357, 1177, 7644,
- 11357, 1177, 7770,
- 11357, 1177, 7810,
- 11357, 1177, 7952,
- 11357, 1177, 8036,
- 11357, 1177, 8042,
- 11357, 1177, 8065, 7186,
- 11357, 1177, 8156,
- 11357, 1177, 8222,
- 11357, 1177, 8394,
- 11357, 1177, 8618,
- 11357, 1177, 8650,
- 11357, 1177, 8976,
- 11357, 1177, 9026,
- 11357, 1177, 9100,
- 11357, 1177, 9110,
- 11357, 1177, 9168,
- 11357, 1177, 9276,
- 11357, 1177, 9341, 3696,
- 11357, 1177, 9395, 7592,
- 11357, 1177, 9402,
- 11357, 1177, 9460,
- 11357, 1177, 9466,
- 11357, 1177, 9550,
- 11357, 1177, 9574,
- 11357, 1177, 9626,
- 11357, 1177, 9696,
- 11357, 1177, 9832,
- 11357, 1177, 10168,
- 11357, 1177, 10210,
- 11357, 1177, 10232,
- 11357, 1177, 10252,
- 11357, 1177, 10486,
- 11357, 1177, 10540,
- 11357, 1177, 10550,
- 11357, 1177, 10673, 445, 9836,
- 11357, 1177, 10747, 2186,
- 11357, 1177, 10764,
- 11357, 1177, 10776,
- 11357, 1177, 10792,
- 11357, 1177, 10800,
- 11357, 1177, 10972,
- 11357, 1177, 10998,
- 11357, 1177, 11002,
- 11357, 1177, 11012,
- 11357, 1177, 11013, 274,
- 11357, 1177, 11024,
- 11357, 1177, 11086,
- 11357, 1177, 11210,
- 11357, 1177, 11234,
- 11357, 1177, 11454,
- 11357, 1177, 11456,
- 11357, 1177, 11462,
- 11357, 1177, 11486,
- 11357, 1177, 11610,
- 11357, 1177, 11622,
- 11357, 1177, 11702,
- 11357, 1177, 11752,
- 11357, 1177, 11888,
- 11357, 1177, 11916,
- 11357, 1177, 12012,
- 11357, 1177, 12026,
- 11357, 1177, 12118,
- 11357, 1177, 12392,
- 11357, 1177, 12430,
- 11357, 1177, 12434,
- 11357, 1177, 12436,
- 11357, 1177, 12898,
- 11357, 1177, 12923, 445, 11484,
- 11357, 1177, 12936,
- 11360,
- 11387, 11205, 8774,
- 11389, 12117, 8774,
- 11391, 11770,
- 11391, 11772,
- 11391, 11774,
- 11391, 11776,
- 11391, 11778,
- 11391, 11780,
- 11391, 11782,
- 11391, 11784,
- 11391, 11786,
- 11391, 12160,
- 11391, 12162,
- 11391, 12164,
- 11391, 12166,
- 11391, 12168,
- 11391, 12170,
- 11391, 12172,
- 11391, 12174,
- 11391, 12176,
- 11391, 12178,
- 11391, 12180,
- 11391, 12182,
- 11391, 12184,
- 11391, 12186,
- 11391, 12188,
- 11391, 12190,
- 11391, 12192,
- 11391, 12194,
- 11391, 12196,
- 11391, 12198,
- 11391, 12200,
- 11391, 12202,
- 11391, 12204,
- 11391, 12206,
- 11391, 12208,
- 11391, 12210,
- 11391, 12212,
- 11391, 12214,
- 11391, 12216,
- 11391, 12218,
- 11391, 12220,
- 11391, 12222,
- 11391, 12224,
- 11391, 12226,
- 11391, 12228,
- 11391, 12230,
- 11391, 12232,
- 11391, 12234,
- 11391, 12236,
- 11391, 12238,
- 11391, 12240,
- 11391, 12242,
- 11391, 12244,
- 11391, 12246,
- 11391, 12248,
- 11391, 12250,
- 11391, 12252,
- 11391, 12254,
- 11391, 12256,
- 11391, 12258,
- 11391, 12260,
- 11391, 12262,
- 11391, 12264,
- 11391, 12266,
- 11391, 12268,
- 11391, 12270,
- 11391, 12272,
- 11391, 12274,
- 11391, 12276,
- 11391, 12278,
- 11391, 12280,
- 11391, 12282,
- 11391, 12284,
- 11391, 12286,
- 11391, 12288,
- 11391, 12290,
- 11391, 12292,
- 11391, 12294,
- 11391, 12296,
- 11391, 12298,
- 11391, 12300,
- 11391, 12302,
- 11391, 12304,
- 11391, 12306,
- 11391, 12308,
- 11391, 12310,
- 11391, 12312,
- 11391, 12314,
- 11391, 12316,
- 11391, 12318,
- 11391, 12320,
- 11391, 12322,
- 11391, 12324,
- 11391, 12326,
- 11391, 12328,
- 11391, 12330,
- 11391, 12332,
- 11391, 12334,
- 11391, 12336,
- 11391, 12338,
- 11391, 12542,
- 11391, 12544,
- 11391, 12546,
- 11391, 12548,
- 11391, 12550,
- 11391, 12552,
- 11391, 12554,
- 11391, 12556,
- 11391, 12558,
- 11391, 12560,
- 11391, 12562,
- 11391, 12564,
- 11391, 12566,
- 11391, 12568,
- 11391, 12570,
- 11391, 12572,
- 11391, 12574,
- 11391, 12576,
- 11391, 12578,
- 11391, 12580,
- 11391, 12582,
- 11391, 12584,
- 11391, 12586,
- 11391, 12588,
- 11391, 12590,
- 11391, 12592,
- 11391, 12594,
- 11391, 12596,
- 11391, 12598,
- 11391, 12600,
- 11391, 12602,
- 11391, 12604,
- 11391, 12606,
- 11391, 12608,
- 11391, 12610,
- 11391, 12612,
- 11391, 12614,
- 11391, 12616,
- 11391, 12618,
- 11391, 12620,
- 11391, 12622,
- 11391, 12624,
- 11391, 12626,
- 11391, 12628,
- 11391, 12630,
- 11391, 12632,
- 11391, 12634,
- 11391, 12636,
- 11391, 12638,
- 11391, 12640,
- 11391, 12642,
- 11391, 12644,
- 11391, 12646,
- 11391, 12648,
- 11391, 12650,
- 11391, 12652,
- 11391, 12654,
- 11391, 12656,
- 11391, 12658,
- 11391, 12660,
- 11391, 12662,
- 11391, 12664,
- 11391, 12666,
- 11391, 12668,
- 11391, 12670,
- 11391, 12672,
- 11391, 12674,
- 11391, 12676,
- 11391, 12678,
- 11391, 12680,
- 11391, 12682,
- 11391, 12684,
- 11391, 12686,
- 11391, 12688,
- 11391, 12690,
- 11391, 12692,
- 11391, 12694,
- 11391, 12696,
- 11391, 12698,
- 11391, 12700,
- 11391, 12702,
- 11391, 12704,
- 11391, 12706,
- 11391, 12708,
- 11391, 12710,
- 11391, 12712,
- 11391, 12714,
- 11391, 12716,
- 11391, 12718,
- 11391, 12720,
- 11391, 12722,
- 11391, 12724,
- 11391, 12726,
- 11391, 12728,
- 11391, 12730,
- 11391, 12732,
- 11391, 12734,
- 11391, 12736,
- 11391, 12738,
- 11391, 12740,
- 11391, 12742,
- 11391, 12744,
- 11391, 12746,
- 11391, 12748,
- 11391, 12750,
- 11391, 12752,
- 11391, 12754,
- 11391, 12756,
- 11391, 12758,
- 11391, 12760,
- 11391, 12762,
- 11391, 12764,
- 11391, 12766,
- 11391, 12768,
- 11391, 12770,
- 11391, 12772,
- 11391, 12774,
- 11391, 12776,
- 11391, 12778,
- 11391, 12780,
- 11391, 12782,
- 11391, 12784,
- 11391, 12786,
- 11391, 12788,
- 11391, 12790,
- 11391, 12792,
- 11391, 12794,
- 11391, 12796,
- 11391, 12798,
- 11391, 12800,
- 11391, 12802,
- 11391, 12804,
- 11391, 12806,
- 11391, 12808,
- 11391, 12810,
- 11391, 12812,
- 11391, 12814,
- 11391, 12816,
- 11391, 12818,
- 11391, 12820,
- 11391, 12822,
- 11391, 12824,
- 11391, 12826,
- 11391, 12828,
- 11391, 12830,
- 11391, 12832,
- 11391, 12834,
- 11391, 12836,
- 11391, 12838,
- 11391, 12840,
- 11391, 12842,
- 11391, 12844,
- 11391, 12846,
- 11391, 12848,
- 11391, 12850,
- 11391, 12852,
- 11391, 12854,
- 11424,
- 11427, 2681, 7104,
- 11445, 1809, 4876,
- 11445, 10388,
- 11449, 7908,
- 11451, 90,
- 11451, 7173, 5758,
- 11452,
- 11465, 11385, 8774,
- 11475, 5238,
- 11477, 436,
- 11477, 5759, 4423, 9721, 1044,
- 11477, 5759, 7282,
- 11477, 5759, 8916,
- 11477, 5759, 9824,
- 11477, 5759, 9870,
- 11477, 5759, 9904,
- 11477, 5759, 11900,
- 11477, 6379, 7908,
- 11477, 6646,
- 11477, 6689, 2170,
- 11477, 6689, 2540,
- 11477, 6689, 2778,
- 11477, 6689, 4200,
- 11477, 6689, 4214,
- 11477, 6689, 5190,
- 11477, 6689, 6260,
- 11477, 6689, 6722,
- 11477, 6689, 7508,
- 11477, 6689, 7694,
- 11477, 6875, 7908,
- 11477, 7803, 5759, 8,
- 11477, 7803, 5759, 16,
- 11477, 7803, 5759, 28,
- 11477, 7803, 5759, 40,
- 11477, 7803, 5759, 58,
- 11477, 7803, 5759, 72,
- 11477, 7803, 5759, 92,
- 11477, 7803, 5759, 266,
- 11477, 7803, 5759, 606,
- 11477, 7803, 5759, 7551, 8,
- 11477, 7803, 5759, 7551, 28,
- 11477, 7803, 5759, 8031, 8,
- 11477, 7803, 5759, 8031, 28,
- 11477, 7803, 5759, 9827, 22,
- 11477, 7803, 5759, 9827, 34,
- 11477, 7803, 5759, 9827, 344,
- 11477, 7803, 5759, 9827, 518,
- 11477, 8153, 6646,
- 11477, 8405, 0,
- 11477, 8405, 8,
- 11477, 8405, 16,
- 11477, 8405, 28,
- 11477, 8405, 40,
- 11477, 8405, 58,
- 11477, 8405, 72,
- 11477, 8405, 92,
- 11477, 8405, 100,
- 11477, 8405, 116,
- 11477, 8405, 138,
- 11477, 8405, 196,
- 11477, 8405, 216,
- 11477, 8405, 236,
- 11477, 8405, 266,
- 11477, 8405, 292,
- 11477, 8405, 306,
- 11477, 8405, 332,
- 11477, 8405, 364,
- 11477, 8405, 392,
- 11477, 8405, 462,
- 11477, 8405, 496,
- 11477, 8405, 510,
- 11477, 8405, 524,
- 11477, 8405, 556,
- 11477, 8405, 606,
- 11477, 8405, 610,
- 11477, 8405, 652,
- 11477, 8405, 670,
- 11477, 8405, 766,
- 11477, 8405, 792,
- 11477, 8405, 884,
- 11477, 8405, 974,
- 11477, 8405, 996,
- 11477, 8405, 1250,
- 11477, 8405, 1260,
- 11477, 8405, 1512,
- 11477, 8405, 1528,
- 11477, 8405, 1612,
- 11477, 8405, 1796,
- 11477, 8405, 2030,
- 11477, 8405, 2076,
- 11477, 8405, 2126,
- 11477, 8405, 2212,
- 11477, 8405, 2410,
- 11477, 8405, 2438,
- 11477, 8405, 2516,
- 11477, 8405, 2566,
- 11477, 8405, 2678,
- 11477, 8405, 2746,
- 11477, 8405, 3110,
- 11477, 8405, 4008,
- 11477, 8405, 4016,
- 11477, 8405, 4320,
- 11477, 8405, 4748,
- 11477, 8405, 4888,
- 11477, 8405, 5234,
- 11477, 8405, 5994,
- 11477, 8405, 6658,
- 11477, 8405, 7551, 0,
- 11477, 8405, 7551, 8,
- 11477, 8405, 7551, 28,
- 11477, 8405, 8031, 0,
- 11477, 8405, 8031, 8,
- 11477, 8405, 8031, 28,
- 11477, 8405, 9313, 5836,
- 11477, 8405, 9827, 22,
- 11477, 8405, 9827, 34,
- 11477, 8405, 9827, 344,
- 11477, 8405, 9827, 518,
- 11477, 8755, 5759, 8892,
- 11477, 8755, 5759, 9868,
- 11477, 12391, 5758,
- 11479, 9042,
- 11605, 12492,
- 11621, 568,
- 11621, 6121, 4215, 4113, 6376,
- 11641, 7593, 8405, 16,
- 11641, 7593, 8405, 468,
- 11641, 7593, 8405, 660,
- 11641, 7593, 8405, 664,
- 11641, 7593, 8405, 746,
- 11641, 7593, 8405, 807, 3096,
- 11641, 7593, 8405, 2176,
- 11641, 7593, 8405, 2184,
- 11641, 7593, 8405, 2516,
- 11641, 7593, 8405, 2736,
- 11641, 7593, 8405, 2808,
- 11641, 7593, 8405, 3810,
- 11641, 7593, 8405, 4198,
- 11641, 7593, 8405, 4406,
- 11641, 7593, 8405, 4626,
- 11641, 7593, 8405, 4712,
- 11641, 7593, 8405, 5718,
- 11641, 7593, 8405, 6076,
- 11641, 7593, 8405, 6188,
- 11641, 7593, 8405, 6198,
- 11641, 7593, 8405, 6200,
- 11641, 7593, 8405, 6698,
- 11641, 7593, 8405, 6710,
- 11641, 7593, 8405, 6810,
- 11641, 7593, 8405, 7210,
- 11641, 7593, 8405, 7444,
- 11641, 7593, 8405, 7590,
- 11641, 7593, 8405, 7593, 3096,
- 11641, 7593, 8405, 7593, 3097, 6121, 5878,
- 11641, 7593, 8405, 7856,
- 11641, 7593, 8405, 8050,
- 11641, 7593, 8405, 8124,
- 11641, 7593, 8405, 8606,
- 11641, 7593, 8405, 8872,
- 11641, 7593, 8405, 8958,
- 11641, 7593, 8405, 9310,
- 11641, 7593, 8405, 9363, 4626,
- 11641, 7593, 8405, 9371, 807, 3096,
- 11641, 7593, 8405, 9371, 7593, 3096,
- 11641, 7593, 8405, 9372,
- 11641, 7593, 8405, 9434,
- 11641, 7593, 8405, 9486,
- 11641, 7593, 8405, 9686,
- 11641, 7593, 8405, 9727, 236,
- 11641, 7593, 8405, 9850,
- 11641, 7593, 8405, 10299, 9486,
- 11641, 7593, 8405, 11867, 0,
- 11641, 9063, 8405, 16,
- 11641, 9063, 8405, 468,
- 11641, 9063, 8405, 660,
- 11641, 9063, 8405, 664,
- 11641, 9063, 8405, 746,
- 11641, 9063, 8405, 807, 3096,
- 11641, 9063, 8405, 2176,
- 11641, 9063, 8405, 2184,
- 11641, 9063, 8405, 2516,
- 11641, 9063, 8405, 2736,
- 11641, 9063, 8405, 2808,
- 11641, 9063, 8405, 3810,
- 11641, 9063, 8405, 4198,
- 11641, 9063, 8405, 4406,
- 11641, 9063, 8405, 4626,
- 11641, 9063, 8405, 4712,
- 11641, 9063, 8405, 5718,
- 11641, 9063, 8405, 6076,
- 11641, 9063, 8405, 6188,
- 11641, 9063, 8405, 6198,
- 11641, 9063, 8405, 6200,
- 11641, 9063, 8405, 6698,
- 11641, 9063, 8405, 6710,
- 11641, 9063, 8405, 6810,
- 11641, 9063, 8405, 7210,
- 11641, 9063, 8405, 7444,
- 11641, 9063, 8405, 7590,
- 11641, 9063, 8405, 7593, 3096,
- 11641, 9063, 8405, 7593, 3097, 6121, 5878,
- 11641, 9063, 8405, 7856,
- 11641, 9063, 8405, 8050,
- 11641, 9063, 8405, 8124,
- 11641, 9063, 8405, 8606,
- 11641, 9063, 8405, 8872,
- 11641, 9063, 8405, 8958,
- 11641, 9063, 8405, 9310,
- 11641, 9063, 8405, 9363, 4626,
- 11641, 9063, 8405, 9371, 807, 3096,
- 11641, 9063, 8405, 9371, 7593, 3096,
- 11641, 9063, 8405, 9372,
- 11641, 9063, 8405, 9434,
- 11641, 9063, 8405, 9486,
- 11641, 9063, 8405, 9686,
- 11641, 9063, 8405, 9727, 236,
- 11641, 9063, 8405, 9850,
- 11641, 9063, 8405, 10299, 9486,
- 11641, 9063, 8405, 11867, 0,
- 11646,
- 11649, 760,
- 11649, 4877, 10982,
- 11649, 4923, 6121, 8759, 5758,
- 11649, 5643, 8412,
- 11649, 5643, 8414,
- 11649, 5643, 8416,
- 11649, 5643, 8418,
- 11649, 6505, 9338,
- 11649, 10154,
- 11651, 8774,
- 11661, 10256,
- 11667, 5759, 761, 6376,
- 11667, 5759, 1045, 6490,
- 11667, 5759, 6548,
- 11667, 5759, 8153, 5551, 6490,
- 11667, 5759, 9824,
- 11667, 5759, 9870,
- 11667, 6689, 2170,
- 11667, 6689, 2778,
- 11667, 6689, 4214,
- 11667, 6689, 7694,
- 11667, 7803, 5759, 8,
- 11667, 7803, 5759, 16,
- 11667, 7803, 5759, 28,
- 11667, 7803, 5759, 40,
- 11667, 7803, 5759, 9827, 34,
- 11667, 7803, 8399, 4926,
- 11667, 8405, 0,
- 11667, 8405, 100,
- 11667, 8405, 116,
- 11667, 8405, 138,
- 11667, 8405, 216,
- 11667, 8405, 236,
- 11667, 8405, 292,
- 11667, 8405, 306,
- 11667, 8405, 332,
- 11667, 8405, 364,
- 11667, 8405, 392,
- 11667, 8405, 462,
- 11667, 8405, 510,
- 11667, 8405, 524,
- 11667, 8405, 556,
- 11667, 8405, 610,
- 11667, 8405, 652,
- 11667, 8405, 670,
- 11667, 8405, 792,
- 11667, 8405, 884,
- 11667, 8405, 974,
- 11667, 8405, 996,
- 11667, 8405, 1260,
- 11667, 8405, 1612,
- 11667, 8405, 1642,
- 11667, 8405, 2076,
- 11667, 8405, 2126,
- 11667, 8405, 2212,
- 11667, 8405, 2516,
- 11667, 8405, 2566,
- 11667, 8405, 2678,
- 11667, 8405, 2746,
- 11667, 8405, 4016,
- 11667, 8405, 5994,
- 11667, 8405, 7750,
- 11667, 8525, 2171, 9344,
- 11667, 8525, 2171, 10624,
- 11667, 8525, 2670,
- 11667, 8525, 8876,
- 11667, 8916,
- 11667, 12133, 1044,
- 11667, 12133, 6646,
- 11667, 12133, 7108,
- 11667, 12133, 7114,
- 11667, 12133, 7593, 8056,
- 11667, 12133, 8056,
- 11667, 12133, 8153, 6646,
- 11667, 12133, 9965, 760,
- 11667, 12133, 10318,
- 11687, 8774,
- 11700,
+#define UNICODE_CHARNAME_WORD_HANGUL 7362
+#define UNICODE_CHARNAME_WORD_SYLLABLE 9259
+#define UNICODE_CHARNAME_WORD_CJK 534
+#define UNICODE_CHARNAME_WORD_COMPATIBILITY 10536
+#define UNICODE_CHARNAME_WORD_VARIATION 9811
+static const uint16_t unicode_names[112324] = {
+ 23, 3, 895, 15564,
+ 37, 315, 18596,
+ 47, 315, 1, 19369, 966,
+ 51, 18199, 885, 20026,
+ 51, 18199, 7779, 12319, 15970,
+ 51, 18199, 7779, 15951, 15970,
+ 51, 18199, 9852,
+ 51, 18199, 10267, 11702,
+ 51, 18199, 13245, 21518,
+ 51, 18199, 13271, 12319, 15970,
+ 51, 18199, 13271, 15951, 15970,
+ 51, 18199, 14511, 21518,
+ 51, 18199, 15391, 15238,
+ 51, 18199, 15391, 20126,
+ 51, 18199, 15391, 20350,
+ 51, 18199, 20145, 20350,
+ 63, 16082,
+ 167, 2499, 14933, 15564,
+ 201, 6258,
+ 201, 9328,
+ 201, 13502,
+ 203, 6258,
+ 203, 9328,
+ 203, 13502,
+ 467, 2597, 13801, 17855, 15564,
+ 467, 11932,
+ 467, 11933, 9808,
+ 467, 15029, 15228,
+ 467, 15240,
+ 467, 17111, 15564,
+ 467, 17528,
+ 467, 20632,
+ 489, 7091, 9808,
+ 491, 11657, 439, 17290,
+ 491, 11657, 5202,
+ 491, 11657, 11849, 2596,
+ 491, 11657, 11849, 3056,
+ 491, 11657, 11849, 3336,
+ 491, 11657, 11849, 6720,
+ 491, 11657, 11849, 6742,
+ 491, 11657, 11849, 8736,
+ 491, 11657, 11849, 10854,
+ 491, 11657, 11849, 11916,
+ 491, 11657, 11849, 13376,
+ 491, 11657, 11849, 13654,
+ 491, 11657, 13258,
+ 491, 11657, 14903, 68,
+ 491, 11657, 14903, 76,
+ 491, 11657, 14903, 92,
+ 491, 11657, 14903, 202,
+ 491, 11657, 14903, 206,
+ 491, 11657, 14903, 304,
+ 491, 11657, 14903, 322,
+ 491, 11657, 14903, 324,
+ 491, 11657, 14903, 382,
+ 491, 11657, 14903, 386,
+ 491, 11657, 14903, 390,
+ 491, 11657, 14903, 400,
+ 491, 11657, 14903, 404,
+ 491, 11657, 14903, 478,
+ 491, 11657, 14903, 484,
+ 491, 11657, 14903, 510,
+ 491, 11657, 14903, 650,
+ 491, 11657, 14903, 652,
+ 491, 11657, 14903, 676,
+ 491, 11657, 14903, 772,
+ 491, 11657, 14903, 774,
+ 491, 11657, 14903, 776,
+ 491, 11657, 14903, 784,
+ 491, 11657, 14903, 842,
+ 491, 11657, 14903, 1268,
+ 491, 11657, 14903, 1308,
+ 491, 11657, 14903, 1754,
+ 491, 11657, 14903, 2056,
+ 491, 11657, 14903, 2614,
+ 491, 11657, 14903, 3382,
+ 491, 11657, 16307, 18634,
+ 491, 11657, 18280,
+ 491, 11657, 20061, 18634,
+ 491, 11657, 20659, 14533, 15042,
+ 491, 11657, 20659, 15042,
+ 493, 15564,
+ 495, 10595, 20469, 8283, 10595, 7779, 13271, 11429, 11346,
+ 503, 10595, 1213, 14778,
+ 514,
+ 602,
+ 669, 5713, 7779, 6407, 5713, 7779, 16356,
+ 669, 5713, 7779, 6407, 5713, 13271, 16356,
+ 669, 5713, 13271, 6407, 5713, 7779, 16356,
+ 669, 5713, 13271, 6407, 5713, 13271, 16356,
+ 669, 6407, 11428,
+ 669, 6407, 11429, 10595, 5716,
+ 669, 6407, 11521, 11428,
+ 669, 6407, 13965, 11428,
+ 669, 6407, 14533, 11428,
+ 669, 6407, 20165, 11428,
+ 669, 6407, 21571, 11428,
+ 669, 6715, 10046,
+ 669, 10040,
+ 669, 10041, 10595, 14397, 11346,
+ 669, 11429, 17231, 14396,
+ 669, 13271, 17687, 17860,
+ 669, 18728,
+ 669, 18729, 315, 1, 19369, 966,
+ 669, 18729, 15947, 3337, 19973, 5714,
+ 706,
+ 737, 16959, 144,
+ 737, 16959, 168,
+ 737, 16959, 244,
+ 737, 16959, 340,
+ 737, 16959, 352,
+ 737, 16959, 390,
+ 737, 16959, 428,
+ 737, 16959, 498,
+ 737, 16959, 640,
+ 737, 16959, 708,
+ 737, 16959, 740,
+ 737, 16959, 750,
+ 737, 16959, 978,
+ 737, 16959, 1042,
+ 737, 16959, 1062,
+ 737, 16959, 1106,
+ 737, 16959, 1110,
+ 737, 16959, 1468,
+ 737, 16959, 1524,
+ 737, 16959, 1650,
+ 737, 16959, 1812,
+ 737, 16959, 1932,
+ 737, 16959, 2124,
+ 737, 16959, 2212,
+ 737, 16959, 2320,
+ 737, 16959, 2726,
+ 737, 16959, 2742,
+ 737, 16959, 2792,
+ 737, 16959, 3040,
+ 737, 16959, 3098,
+ 737, 16959, 3194,
+ 737, 16959, 3438,
+ 737, 16959, 3476,
+ 737, 16959, 3694,
+ 737, 16959, 3822,
+ 737, 16959, 3836,
+ 737, 16959, 3838,
+ 737, 16959, 5756,
+ 737, 16959, 6086,
+ 737, 16959, 6316,
+ 737, 16959, 6948,
+ 737, 16959, 6954,
+ 737, 16959, 7316,
+ 737, 16959, 7320,
+ 737, 16959, 7326,
+ 737, 16959, 7450,
+ 737, 16959, 7470,
+ 737, 16959, 8572,
+ 737, 16959, 8922,
+ 737, 16959, 8940,
+ 737, 16959, 8986,
+ 737, 16959, 9704,
+ 737, 16959, 9746,
+ 737, 16959, 9770,
+ 737, 16959, 14138,
+ 737, 18519, 0,
+ 737, 18519, 8,
+ 737, 18519, 16,
+ 737, 18519, 28,
+ 737, 18519, 84,
+ 737, 18519, 92,
+ 737, 18519, 100,
+ 737, 18519, 106,
+ 737, 18519, 110,
+ 737, 18519, 114,
+ 737, 18519, 116,
+ 737, 18519, 120,
+ 737, 18519, 122,
+ 737, 18519, 124,
+ 737, 18519, 130,
+ 737, 18519, 134,
+ 737, 18519, 140,
+ 737, 18519, 142,
+ 737, 18519, 144,
+ 737, 18519, 148,
+ 737, 18519, 154,
+ 737, 18519, 158,
+ 737, 18519, 166,
+ 737, 18519, 168,
+ 737, 18519, 220,
+ 737, 18519, 224,
+ 737, 18519, 230,
+ 737, 18519, 236,
+ 737, 18519, 238,
+ 737, 18519, 240,
+ 737, 18519, 244,
+ 737, 18519, 248,
+ 737, 18519, 254,
+ 737, 18519, 258,
+ 737, 18519, 260,
+ 737, 18519, 266,
+ 737, 18519, 268,
+ 737, 18519, 280,
+ 737, 18519, 298,
+ 737, 18519, 318,
+ 737, 18519, 326,
+ 737, 18519, 330,
+ 737, 18519, 338,
+ 737, 18519, 340,
+ 737, 18519, 342,
+ 737, 18519, 344,
+ 737, 18519, 348,
+ 737, 18519, 352,
+ 737, 18519, 356,
+ 737, 18519, 364,
+ 737, 18519, 368,
+ 737, 18519, 382,
+ 737, 18519, 386,
+ 737, 18519, 390,
+ 737, 18519, 400,
+ 737, 18519, 404,
+ 737, 18519, 410,
+ 737, 18519, 414,
+ 737, 18519, 422,
+ 737, 18519, 428,
+ 737, 18519, 434,
+ 737, 18519, 438,
+ 737, 18519, 444,
+ 737, 18519, 446,
+ 737, 18519, 450,
+ 737, 18519, 458,
+ 737, 18519, 466,
+ 737, 18519, 470,
+ 737, 18519, 498,
+ 737, 18519, 506,
+ 737, 18519, 514,
+ 737, 18519, 520,
+ 737, 18519, 534,
+ 737, 18519, 538,
+ 737, 18519, 544,
+ 737, 18519, 550,
+ 737, 18519, 558,
+ 737, 18519, 562,
+ 737, 18519, 566,
+ 737, 18519, 568,
+ 737, 18519, 570,
+ 737, 18519, 572,
+ 737, 18519, 578,
+ 737, 18519, 582,
+ 737, 18519, 584,
+ 737, 18519, 586,
+ 737, 18519, 590,
+ 737, 18519, 596,
+ 737, 18519, 600,
+ 737, 18519, 610,
+ 737, 18519, 616,
+ 737, 18519, 620,
+ 737, 18519, 624,
+ 737, 18519, 628,
+ 737, 18519, 632,
+ 737, 18519, 640,
+ 737, 18519, 666,
+ 737, 18519, 678,
+ 737, 18519, 682,
+ 737, 18519, 684,
+ 737, 18519, 688,
+ 737, 18519, 690,
+ 737, 18519, 692,
+ 737, 18519, 698,
+ 737, 18519, 708,
+ 737, 18519, 710,
+ 737, 18519, 722,
+ 737, 18519, 724,
+ 737, 18519, 730,
+ 737, 18519, 736,
+ 737, 18519, 740,
+ 737, 18519, 744,
+ 737, 18519, 748,
+ 737, 18519, 750,
+ 737, 18519, 752,
+ 737, 18519, 756,
+ 737, 18519, 758,
+ 737, 18519, 760,
+ 737, 18519, 762,
+ 737, 18519, 892,
+ 737, 18519, 896,
+ 737, 18519, 900,
+ 737, 18519, 902,
+ 737, 18519, 904,
+ 737, 18519, 906,
+ 737, 18519, 908,
+ 737, 18519, 910,
+ 737, 18519, 912,
+ 737, 18519, 924,
+ 737, 18519, 928,
+ 737, 18519, 942,
+ 737, 18519, 946,
+ 737, 18519, 948,
+ 737, 18519, 950,
+ 737, 18519, 960,
+ 737, 18519, 962,
+ 737, 18519, 966,
+ 737, 18519, 974,
+ 737, 18519, 976,
+ 737, 18519, 978,
+ 737, 18519, 982,
+ 737, 18519, 984,
+ 737, 18519, 994,
+ 737, 18519, 996,
+ 737, 18519, 998,
+ 737, 18519, 1000,
+ 737, 18519, 1010,
+ 737, 18519, 1014,
+ 737, 18519, 1018,
+ 737, 18519, 1034,
+ 737, 18519, 1036,
+ 737, 18519, 1040,
+ 737, 18519, 1042,
+ 737, 18519, 1046,
+ 737, 18519, 1048,
+ 737, 18519, 1050,
+ 737, 18519, 1052,
+ 737, 18519, 1062,
+ 737, 18519, 1064,
+ 737, 18519, 1066,
+ 737, 18519, 1076,
+ 737, 18519, 1078,
+ 737, 18519, 1082,
+ 737, 18519, 1086,
+ 737, 18519, 1088,
+ 737, 18519, 1090,
+ 737, 18519, 1092,
+ 737, 18519, 1094,
+ 737, 18519, 1106,
+ 737, 18519, 1108,
+ 737, 18519, 1110,
+ 737, 18519, 1112,
+ 737, 18519, 1128,
+ 737, 18519, 1132,
+ 737, 18519, 1134,
+ 737, 18519, 1138,
+ 737, 18519, 1140,
+ 737, 18519, 1142,
+ 737, 18519, 1144,
+ 737, 18519, 1146,
+ 737, 18519, 1156,
+ 737, 18519, 1158,
+ 737, 18519, 1172,
+ 737, 18519, 1180,
+ 737, 18519, 1182,
+ 737, 18519, 1184,
+ 737, 18519, 1210,
+ 737, 18519, 1212,
+ 737, 18519, 1214,
+ 737, 18519, 1230,
+ 737, 18519, 1232,
+ 737, 18519, 1234,
+ 737, 18519, 1236,
+ 737, 18519, 1238,
+ 737, 18519, 1346,
+ 737, 18519, 1352,
+ 737, 18519, 1354,
+ 737, 18519, 1370,
+ 737, 18519, 1372,
+ 737, 18519, 1374,
+ 737, 18519, 1388,
+ 737, 18519, 1392,
+ 737, 18519, 1400,
+ 737, 18519, 1402,
+ 737, 18519, 1404,
+ 737, 18519, 1406,
+ 737, 18519, 1416,
+ 737, 18519, 1418,
+ 737, 18519, 1420,
+ 737, 18519, 1442,
+ 737, 18519, 1446,
+ 737, 18519, 1448,
+ 737, 18519, 1468,
+ 737, 18519, 1472,
+ 737, 18519, 1474,
+ 737, 18519, 1476,
+ 737, 18519, 1478,
+ 737, 18519, 1480,
+ 737, 18519, 1482,
+ 737, 18519, 1484,
+ 737, 18519, 1500,
+ 737, 18519, 1506,
+ 737, 18519, 1508,
+ 737, 18519, 1510,
+ 737, 18519, 1522,
+ 737, 18519, 1524,
+ 737, 18519, 1526,
+ 737, 18519, 1544,
+ 737, 18519, 1546,
+ 737, 18519, 1548,
+ 737, 18519, 1550,
+ 737, 18519, 1552,
+ 737, 18519, 1588,
+ 737, 18519, 1592,
+ 737, 18519, 1596,
+ 737, 18519, 1606,
+ 737, 18519, 1610,
+ 737, 18519, 1622,
+ 737, 18519, 1630,
+ 737, 18519, 1632,
+ 737, 18519, 1634,
+ 737, 18519, 1636,
+ 737, 18519, 1638,
+ 737, 18519, 1640,
+ 737, 18519, 1642,
+ 737, 18519, 1644,
+ 737, 18519, 1648,
+ 737, 18519, 1650,
+ 737, 18519, 1652,
+ 737, 18519, 1654,
+ 737, 18519, 1656,
+ 737, 18519, 1658,
+ 737, 18519, 1660,
+ 737, 18519, 1674,
+ 737, 18519, 1676,
+ 737, 18519, 1678,
+ 737, 18519, 1692,
+ 737, 18519, 1704,
+ 737, 18519, 1706,
+ 737, 18519, 1708,
+ 737, 18519, 1710,
+ 737, 18519, 1732,
+ 737, 18519, 1734,
+ 737, 18519, 1736,
+ 737, 18519, 1792,
+ 737, 18519, 1796,
+ 737, 18519, 1798,
+ 737, 18519, 1800,
+ 737, 18519, 1806,
+ 737, 18519, 1808,
+ 737, 18519, 1810,
+ 737, 18519, 1812,
+ 737, 18519, 1818,
+ 737, 18519, 1820,
+ 737, 18519, 1822,
+ 737, 18519, 1826,
+ 737, 18519, 1828,
+ 737, 18519, 1830,
+ 737, 18519, 1832,
+ 737, 18519, 1836,
+ 737, 18519, 1840,
+ 737, 18519, 1842,
+ 737, 18519, 1844,
+ 737, 18519, 1846,
+ 737, 18519, 1870,
+ 737, 18519, 1876,
+ 737, 18519, 1880,
+ 737, 18519, 1892,
+ 737, 18519, 1896,
+ 737, 18519, 1900,
+ 737, 18519, 1920,
+ 737, 18519, 1928,
+ 737, 18519, 1932,
+ 737, 18519, 1938,
+ 737, 18519, 1968,
+ 737, 18519, 1970,
+ 737, 18519, 1974,
+ 737, 18519, 2006,
+ 737, 18519, 2008,
+ 737, 18519, 2012,
+ 737, 18519, 2014,
+ 737, 18519, 2018,
+ 737, 18519, 2072,
+ 737, 18519, 2078,
+ 737, 18519, 2084,
+ 737, 18519, 2104,
+ 737, 18519, 2110,
+ 737, 18519, 2124,
+ 737, 18519, 2130,
+ 737, 18519, 2136,
+ 737, 18519, 2138,
+ 737, 18519, 2154,
+ 737, 18519, 2160,
+ 737, 18519, 2164,
+ 737, 18519, 2188,
+ 737, 18519, 2190,
+ 737, 18519, 2192,
+ 737, 18519, 2196,
+ 737, 18519, 2198,
+ 737, 18519, 2210,
+ 737, 18519, 2212,
+ 737, 18519, 2214,
+ 737, 18519, 2216,
+ 737, 18519, 2234,
+ 737, 18519, 2240,
+ 737, 18519, 2244,
+ 737, 18519, 2274,
+ 737, 18519, 2278,
+ 737, 18519, 2280,
+ 737, 18519, 2282,
+ 737, 18519, 2284,
+ 737, 18519, 2292,
+ 737, 18519, 2304,
+ 737, 18519, 2306,
+ 737, 18519, 2308,
+ 737, 18519, 2320,
+ 737, 18519, 2322,
+ 737, 18519, 2324,
+ 737, 18519, 2338,
+ 737, 18519, 2340,
+ 737, 18519, 2342,
+ 737, 18519, 2346,
+ 737, 18519, 2348,
+ 737, 18519, 2364,
+ 737, 18519, 2366,
+ 737, 18519, 2368,
+ 737, 18519, 2386,
+ 737, 18519, 2394,
+ 737, 18519, 2398,
+ 737, 18519, 2400,
+ 737, 18519, 2402,
+ 737, 18519, 2404,
+ 737, 18519, 2406,
+ 737, 18519, 2408,
+ 737, 18519, 2410,
+ 737, 18519, 2412,
+ 737, 18519, 2414,
+ 737, 18519, 2416,
+ 737, 18519, 2424,
+ 737, 18519, 2430,
+ 737, 18519, 2432,
+ 737, 18519, 2434,
+ 737, 18519, 2440,
+ 737, 18519, 2452,
+ 737, 18519, 2460,
+ 737, 18519, 2462,
+ 737, 18519, 2464,
+ 737, 18519, 2470,
+ 737, 18519, 2472,
+ 737, 18519, 2474,
+ 737, 18519, 2476,
+ 737, 18519, 2494,
+ 737, 18519, 2498,
+ 737, 18519, 2502,
+ 737, 18519, 2506,
+ 737, 18519, 2508,
+ 737, 18519, 2510,
+ 737, 18519, 2512,
+ 737, 18519, 2514,
+ 737, 18519, 2526,
+ 737, 18519, 2528,
+ 737, 18519, 2530,
+ 737, 18519, 2532,
+ 737, 18519, 2534,
+ 737, 18519, 2550,
+ 737, 18519, 2552,
+ 737, 18519, 2554,
+ 737, 18519, 2556,
+ 737, 18519, 2558,
+ 737, 18519, 2560,
+ 737, 18519, 2562,
+ 737, 18519, 2564,
+ 737, 18519, 2630,
+ 737, 18519, 2634,
+ 737, 18519, 2640,
+ 737, 18519, 2670,
+ 737, 18519, 2678,
+ 737, 18519, 2680,
+ 737, 18519, 2682,
+ 737, 18519, 2692,
+ 737, 18519, 2694,
+ 737, 18519, 2696,
+ 737, 18519, 2718,
+ 737, 18519, 2720,
+ 737, 18519, 2724,
+ 737, 18519, 2726,
+ 737, 18519, 2728,
+ 737, 18519, 2738,
+ 737, 18519, 2740,
+ 737, 18519, 2742,
+ 737, 18519, 2744,
+ 737, 18519, 2774,
+ 737, 18519, 2778,
+ 737, 18519, 2780,
+ 737, 18519, 2782,
+ 737, 18519, 2790,
+ 737, 18519, 2792,
+ 737, 18519, 2794,
+ 737, 18519, 2806,
+ 737, 18519, 2808,
+ 737, 18519, 2810,
+ 737, 18519, 2812,
+ 737, 18519, 2818,
+ 737, 18519, 2834,
+ 737, 18519, 2836,
+ 737, 18519, 2838,
+ 737, 18519, 2842,
+ 737, 18519, 2864,
+ 737, 18519, 2868,
+ 737, 18519, 2872,
+ 737, 18519, 2888,
+ 737, 18519, 2892,
+ 737, 18519, 2932,
+ 737, 18519, 2934,
+ 737, 18519, 2936,
+ 737, 18519, 2938,
+ 737, 18519, 2940,
+ 737, 18519, 2942,
+ 737, 18519, 2944,
+ 737, 18519, 2946,
+ 737, 18519, 2958,
+ 737, 18519, 2960,
+ 737, 18519, 2962,
+ 737, 18519, 2964,
+ 737, 18519, 2966,
+ 737, 18519, 2978,
+ 737, 18519, 2980,
+ 737, 18519, 2982,
+ 737, 18519, 2984,
+ 737, 18519, 3004,
+ 737, 18519, 3010,
+ 737, 18519, 3014,
+ 737, 18519, 3022,
+ 737, 18519, 3026,
+ 737, 18519, 3030,
+ 737, 18519, 3032,
+ 737, 18519, 3036,
+ 737, 18519, 3038,
+ 737, 18519, 3040,
+ 737, 18519, 3044,
+ 737, 18519, 3052,
+ 737, 18519, 3054,
+ 737, 18519, 3056,
+ 737, 18519, 3076,
+ 737, 18519, 3082,
+ 737, 18519, 3088,
+ 737, 18519, 3094,
+ 737, 18519, 3096,
+ 737, 18519, 3098,
+ 737, 18519, 3100,
+ 737, 18519, 3102,
+ 737, 18519, 3104,
+ 737, 18519, 3118,
+ 737, 18519, 3120,
+ 737, 18519, 3122,
+ 737, 18519, 3124,
+ 737, 18519, 3128,
+ 737, 18519, 3144,
+ 737, 18519, 3146,
+ 737, 18519, 3148,
+ 737, 18519, 3150,
+ 737, 18519, 3186,
+ 737, 18519, 3194,
+ 737, 18519, 3202,
+ 737, 18519, 3214,
+ 737, 18519, 3220,
+ 737, 18519, 3236,
+ 737, 18519, 3244,
+ 737, 18519, 3248,
+ 737, 18519, 3250,
+ 737, 18519, 3272,
+ 737, 18519, 3278,
+ 737, 18519, 3282,
+ 737, 18519, 3320,
+ 737, 18519, 3322,
+ 737, 18519, 3324,
+ 737, 18519, 3326,
+ 737, 18519, 3328,
+ 737, 18519, 3386,
+ 737, 18519, 3388,
+ 737, 18519, 3424,
+ 737, 18519, 3426,
+ 737, 18519, 3432,
+ 737, 18519, 3438,
+ 737, 18519, 3444,
+ 737, 18519, 3448,
+ 737, 18519, 3452,
+ 737, 18519, 3454,
+ 737, 18519, 3456,
+ 737, 18519, 3462,
+ 737, 18519, 3466,
+ 737, 18519, 3472,
+ 737, 18519, 3474,
+ 737, 18519, 3476,
+ 737, 18519, 3478,
+ 737, 18519, 3480,
+ 737, 18519, 3486,
+ 737, 18519, 3488,
+ 737, 18519, 3490,
+ 737, 18519, 3492,
+ 737, 18519, 3502,
+ 737, 18519, 3504,
+ 737, 18519, 3510,
+ 737, 18519, 3524,
+ 737, 18519, 3526,
+ 737, 18519, 3540,
+ 737, 18519, 3544,
+ 737, 18519, 3554,
+ 737, 18519, 3576,
+ 737, 18519, 3578,
+ 737, 18519, 3580,
+ 737, 18519, 3582,
+ 737, 18519, 3586,
+ 737, 18519, 3590,
+ 737, 18519, 3592,
+ 737, 18519, 3594,
+ 737, 18519, 3614,
+ 737, 18519, 3616,
+ 737, 18519, 3618,
+ 737, 18519, 3622,
+ 737, 18519, 3684,
+ 737, 18519, 3692,
+ 737, 18519, 3694,
+ 737, 18519, 3696,
+ 737, 18519, 3704,
+ 737, 18519, 3708,
+ 737, 18519, 3710,
+ 737, 18519, 3724,
+ 737, 18519, 3726,
+ 737, 18519, 3730,
+ 737, 18519, 3734,
+ 737, 18519, 3736,
+ 737, 18519, 3750,
+ 737, 18519, 3752,
+ 737, 18519, 3754,
+ 737, 18519, 3756,
+ 737, 18519, 3770,
+ 737, 18519, 3772,
+ 737, 18519, 3774,
+ 737, 18519, 3782,
+ 737, 18519, 3784,
+ 737, 18519, 3786,
+ 737, 18519, 3788,
+ 737, 18519, 3792,
+ 737, 18519, 3794,
+ 737, 18519, 3796,
+ 737, 18519, 3802,
+ 737, 18519, 3806,
+ 737, 18519, 3808,
+ 737, 18519, 3810,
+ 737, 18519, 3820,
+ 737, 18519, 3822,
+ 737, 18519, 3824,
+ 737, 18519, 3834,
+ 737, 18519, 3836,
+ 737, 18519, 3838,
+ 737, 18519, 3840,
+ 737, 18519, 3842,
+ 737, 18519, 3848,
+ 737, 18519, 3850,
+ 737, 18519, 3852,
+ 737, 18519, 3854,
+ 737, 18519, 3856,
+ 737, 18519, 3858,
+ 737, 18519, 3860,
+ 737, 18519, 3862,
+ 737, 18519, 3864,
+ 737, 18519, 3866,
+ 737, 18519, 5724,
+ 737, 18519, 5726,
+ 737, 18519, 5728,
+ 737, 18519, 5732,
+ 737, 18519, 5734,
+ 737, 18519, 5736,
+ 737, 18519, 5738,
+ 737, 18519, 5740,
+ 737, 18519, 5742,
+ 737, 18519, 5744,
+ 737, 18519, 5746,
+ 737, 18519, 5748,
+ 737, 18519, 5750,
+ 737, 18519, 5752,
+ 737, 18519, 5754,
+ 737, 18519, 5756,
+ 737, 18519, 5758,
+ 737, 18519, 5760,
+ 737, 18519, 5762,
+ 737, 18519, 5764,
+ 737, 18519, 5800,
+ 737, 18519, 5802,
+ 737, 18519, 5804,
+ 737, 18519, 5854,
+ 737, 18519, 5856,
+ 737, 18519, 5862,
+ 737, 18519, 5868,
+ 737, 18519, 5986,
+ 737, 18519, 5990,
+ 737, 18519, 5994,
+ 737, 18519, 6002,
+ 737, 18519, 6004,
+ 737, 18519, 6006,
+ 737, 18519, 6018,
+ 737, 18519, 6020,
+ 737, 18519, 6022,
+ 737, 18519, 6026,
+ 737, 18519, 6028,
+ 737, 18519, 6030,
+ 737, 18519, 6032,
+ 737, 18519, 6038,
+ 737, 18519, 6040,
+ 737, 18519, 6042,
+ 737, 18519, 6044,
+ 737, 18519, 6046,
+ 737, 18519, 6048,
+ 737, 18519, 6050,
+ 737, 18519, 6086,
+ 737, 18519, 6088,
+ 737, 18519, 6092,
+ 737, 18519, 6106,
+ 737, 18519, 6272,
+ 737, 18519, 6274,
+ 737, 18519, 6276,
+ 737, 18519, 6282,
+ 737, 18519, 6284,
+ 737, 18519, 6296,
+ 737, 18519, 6298,
+ 737, 18519, 6300,
+ 737, 18519, 6302,
+ 737, 18519, 6306,
+ 737, 18519, 6308,
+ 737, 18519, 6310,
+ 737, 18519, 6312,
+ 737, 18519, 6314,
+ 737, 18519, 6316,
+ 737, 18519, 6318,
+ 737, 18519, 6320,
+ 737, 18519, 6368,
+ 737, 18519, 6370,
+ 737, 18519, 6422,
+ 737, 18519, 6426,
+ 737, 18519, 6758,
+ 737, 18519, 6928,
+ 737, 18519, 6930,
+ 737, 18519, 6932,
+ 737, 18519, 6936,
+ 737, 18519, 6938,
+ 737, 18519, 6940,
+ 737, 18519, 6942,
+ 737, 18519, 6944,
+ 737, 18519, 6946,
+ 737, 18519, 6948,
+ 737, 18519, 6950,
+ 737, 18519, 6952,
+ 737, 18519, 6954,
+ 737, 18519, 6956,
+ 737, 18519, 6958,
+ 737, 18519, 6960,
+ 737, 18519, 6962,
+ 737, 18519, 6992,
+ 737, 18519, 6994,
+ 737, 18519, 6996,
+ 737, 18519, 7036,
+ 737, 18519, 7038,
+ 737, 18519, 7040,
+ 737, 18519, 7044,
+ 737, 18519, 7132,
+ 737, 18519, 7140,
+ 737, 18519, 7142,
+ 737, 18519, 7146,
+ 737, 18519, 7148,
+ 737, 18519, 7150,
+ 737, 18519, 7152,
+ 737, 18519, 7154,
+ 737, 18519, 7156,
+ 737, 18519, 7158,
+ 737, 18519, 7160,
+ 737, 18519, 7162,
+ 737, 18519, 7164,
+ 737, 18519, 7166,
+ 737, 18519, 7168,
+ 737, 18519, 7170,
+ 737, 18519, 7172,
+ 737, 18519, 7174,
+ 737, 18519, 7176,
+ 737, 18519, 7178,
+ 737, 18519, 7180,
+ 737, 18519, 7182,
+ 737, 18519, 7184,
+ 737, 18519, 7186,
+ 737, 18519, 7188,
+ 737, 18519, 7190,
+ 737, 18519, 7192,
+ 737, 18519, 7194,
+ 737, 18519, 7196,
+ 737, 18519, 7198,
+ 737, 18519, 7200,
+ 737, 18519, 7202,
+ 737, 18519, 7204,
+ 737, 18519, 7206,
+ 737, 18519, 7208,
+ 737, 18519, 7210,
+ 737, 18519, 7212,
+ 737, 18519, 7214,
+ 737, 18519, 7216,
+ 737, 18519, 7218,
+ 737, 18519, 7220,
+ 737, 18519, 7224,
+ 737, 18519, 7226,
+ 737, 18519, 7228,
+ 737, 18519, 7230,
+ 737, 18519, 7232,
+ 737, 18519, 7234,
+ 737, 18519, 7236,
+ 737, 18519, 7238,
+ 737, 18519, 7240,
+ 737, 18519, 7242,
+ 737, 18519, 7246,
+ 737, 18519, 7248,
+ 737, 18519, 7288,
+ 737, 18519, 7290,
+ 737, 18519, 7292,
+ 737, 18519, 7302,
+ 737, 18519, 7304,
+ 737, 18519, 7306,
+ 737, 18519, 7308,
+ 737, 18519, 7310,
+ 737, 18519, 7312,
+ 737, 18519, 7314,
+ 737, 18519, 7316,
+ 737, 18519, 7318,
+ 737, 18519, 7320,
+ 737, 18519, 7322,
+ 737, 18519, 7324,
+ 737, 18519, 7326,
+ 737, 18519, 7442,
+ 737, 18519, 7444,
+ 737, 18519, 7446,
+ 737, 18519, 7450,
+ 737, 18519, 7452,
+ 737, 18519, 7454,
+ 737, 18519, 7456,
+ 737, 18519, 7458,
+ 737, 18519, 7460,
+ 737, 18519, 7462,
+ 737, 18519, 7464,
+ 737, 18519, 7466,
+ 737, 18519, 7468,
+ 737, 18519, 7470,
+ 737, 18519, 7472,
+ 737, 18519, 7474,
+ 737, 18519, 7476,
+ 737, 18519, 7478,
+ 737, 18519, 7494,
+ 737, 18519, 7496,
+ 737, 18519, 7498,
+ 737, 18519, 7500,
+ 737, 18519, 7502,
+ 737, 18519, 7630,
+ 737, 18519, 7632,
+ 737, 18519, 7682,
+ 737, 18519, 7686,
+ 737, 18519, 7690,
+ 737, 18519, 7802,
+ 737, 18519, 7804,
+ 737, 18519, 7806,
+ 737, 18519, 7858,
+ 737, 18519, 7860,
+ 737, 18519, 7862,
+ 737, 18519, 7864,
+ 737, 18519, 7874,
+ 737, 18519, 8348,
+ 737, 18519, 8350,
+ 737, 18519, 8352,
+ 737, 18519, 8364,
+ 737, 18519, 8366,
+ 737, 18519, 8368,
+ 737, 18519, 8370,
+ 737, 18519, 8372,
+ 737, 18519, 8374,
+ 737, 18519, 8376,
+ 737, 18519, 8378,
+ 737, 18519, 8380,
+ 737, 18519, 8382,
+ 737, 18519, 8384,
+ 737, 18519, 8392,
+ 737, 18519, 8394,
+ 737, 18519, 8436,
+ 737, 18519, 8438,
+ 737, 18519, 8440,
+ 737, 18519, 8446,
+ 737, 18519, 8566,
+ 737, 18519, 8568,
+ 737, 18519, 8570,
+ 737, 18519, 8572,
+ 737, 18519, 8574,
+ 737, 18519, 8576,
+ 737, 18519, 8578,
+ 737, 18519, 8580,
+ 737, 18519, 8582,
+ 737, 18519, 8584,
+ 737, 18519, 8588,
+ 737, 18519, 8590,
+ 737, 18519, 8592,
+ 737, 18519, 8594,
+ 737, 18519, 8596,
+ 737, 18519, 8598,
+ 737, 18519, 8600,
+ 737, 18519, 8602,
+ 737, 18519, 8608,
+ 737, 18519, 8610,
+ 737, 18519, 8612,
+ 737, 18519, 8616,
+ 737, 18519, 8618,
+ 737, 18519, 8620,
+ 737, 18519, 8622,
+ 737, 18519, 8626,
+ 737, 18519, 8628,
+ 737, 18519, 8634,
+ 737, 18519, 8636,
+ 737, 18519, 8638,
+ 737, 18519, 8642,
+ 737, 18519, 8644,
+ 737, 18519, 8646,
+ 737, 18519, 8648,
+ 737, 18519, 8666,
+ 737, 18519, 8672,
+ 737, 18519, 8674,
+ 737, 18519, 8678,
+ 737, 18519, 8680,
+ 737, 18519, 8694,
+ 737, 18519, 8706,
+ 737, 18519, 8710,
+ 737, 18519, 8714,
+ 737, 18519, 8718,
+ 737, 18519, 8728,
+ 737, 18519, 8730,
+ 737, 18519, 8750,
+ 737, 18519, 8752,
+ 737, 18519, 8754,
+ 737, 18519, 8756,
+ 737, 18519, 8760,
+ 737, 18519, 8762,
+ 737, 18519, 8764,
+ 737, 18519, 8766,
+ 737, 18519, 8768,
+ 737, 18519, 8770,
+ 737, 18519, 8772,
+ 737, 18519, 8774,
+ 737, 18519, 8776,
+ 737, 18519, 8778,
+ 737, 18519, 8780,
+ 737, 18519, 8814,
+ 737, 18519, 8816,
+ 737, 18519, 8818,
+ 737, 18519, 8820,
+ 737, 18519, 8824,
+ 737, 18519, 8826,
+ 737, 18519, 8828,
+ 737, 18519, 8830,
+ 737, 18519, 8834,
+ 737, 18519, 8836,
+ 737, 18519, 8838,
+ 737, 18519, 8840,
+ 737, 18519, 8842,
+ 737, 18519, 8844,
+ 737, 18519, 8846,
+ 737, 18519, 8848,
+ 737, 18519, 8884,
+ 737, 18519, 8886,
+ 737, 18519, 8888,
+ 737, 18519, 8918,
+ 737, 18519, 8922,
+ 737, 18519, 8928,
+ 737, 18519, 8930,
+ 737, 18519, 8940,
+ 737, 18519, 8942,
+ 737, 18519, 8944,
+ 737, 18519, 8950,
+ 737, 18519, 8952,
+ 737, 18519, 8954,
+ 737, 18519, 8956,
+ 737, 18519, 8960,
+ 737, 18519, 8964,
+ 737, 18519, 8966,
+ 737, 18519, 8968,
+ 737, 18519, 8970,
+ 737, 18519, 8972,
+ 737, 18519, 8974,
+ 737, 18519, 8976,
+ 737, 18519, 8978,
+ 737, 18519, 8980,
+ 737, 18519, 8984,
+ 737, 18519, 8986,
+ 737, 18519, 8990,
+ 737, 18519, 8992,
+ 737, 18519, 8994,
+ 737, 18519, 8996,
+ 737, 18519, 8998,
+ 737, 18519, 9000,
+ 737, 18519, 9212,
+ 737, 18519, 9216,
+ 737, 18519, 9264,
+ 737, 18519, 9266,
+ 737, 18519, 9268,
+ 737, 18519, 9282,
+ 737, 18519, 9318,
+ 737, 18519, 9320,
+ 737, 18519, 9322,
+ 737, 18519, 9330,
+ 737, 18519, 9332,
+ 737, 18519, 9334,
+ 737, 18519, 9336,
+ 737, 18519, 9348,
+ 737, 18519, 9480,
+ 737, 18519, 9484,
+ 737, 18519, 9486,
+ 737, 18519, 9488,
+ 737, 18519, 9490,
+ 737, 18519, 9492,
+ 737, 18519, 9494,
+ 737, 18519, 9498,
+ 737, 18519, 9500,
+ 737, 18519, 9502,
+ 737, 18519, 9504,
+ 737, 18519, 9506,
+ 737, 18519, 9508,
+ 737, 18519, 9510,
+ 737, 18519, 9512,
+ 737, 18519, 9514,
+ 737, 18519, 9522,
+ 737, 18519, 9524,
+ 737, 18519, 9526,
+ 737, 18519, 9538,
+ 737, 18519, 9702,
+ 737, 18519, 9704,
+ 737, 18519, 9706,
+ 737, 18519, 9716,
+ 737, 18519, 9718,
+ 737, 18519, 9720,
+ 737, 18519, 9746,
+ 737, 18519, 9750,
+ 737, 18519, 9752,
+ 737, 18519, 9766,
+ 737, 18519, 9768,
+ 737, 18519, 9770,
+ 737, 18519, 9772,
+ 737, 18519, 9774,
+ 737, 18519, 9788,
+ 737, 18519, 9790,
+ 737, 18519, 9792,
+ 737, 18519, 9794,
+ 737, 18519, 9802,
+ 737, 18519, 9804,
+ 737, 18519, 9858,
+ 737, 18519, 9860,
+ 737, 18519, 9862,
+ 737, 18519, 9866,
+ 737, 18519, 9868,
+ 737, 18519, 9872,
+ 737, 18519, 9874,
+ 737, 18519, 9876,
+ 737, 18519, 9878,
+ 737, 18519, 9880,
+ 737, 18519, 9882,
+ 737, 18519, 9884,
+ 737, 18519, 9886,
+ 737, 18519, 9888,
+ 737, 18519, 9892,
+ 737, 18519, 9894,
+ 737, 18519, 9896,
+ 737, 18519, 9898,
+ 737, 18519, 9900,
+ 737, 18519, 9930,
+ 737, 18519, 9932,
+ 737, 18519, 9938,
+ 737, 18519, 9946,
+ 737, 18519, 10138,
+ 737, 18519, 10140,
+ 737, 18519, 10244,
+ 737, 18519, 10246,
+ 737, 18519, 10248,
+ 737, 18519, 10254,
+ 737, 18519, 10498,
+ 737, 18519, 10500,
+ 737, 18519, 10502,
+ 737, 18519, 10514,
+ 737, 18519, 10516,
+ 737, 18519, 10612,
+ 737, 18519, 10614,
+ 737, 18519, 10642,
+ 737, 18519, 10644,
+ 737, 18519, 10646,
+ 737, 18519, 10650,
+ 737, 18519, 10662,
+ 737, 18519, 10748,
+ 737, 18519, 10750,
+ 737, 18519, 10752,
+ 737, 18519, 10792,
+ 737, 18519, 10794,
+ 737, 18519, 10796,
+ 737, 18519, 10798,
+ 737, 18519, 10808,
+ 737, 18519, 10860,
+ 737, 18519, 10864,
+ 737, 18519, 10866,
+ 737, 18519, 10870,
+ 737, 18519, 10872,
+ 737, 18519, 10874,
+ 737, 18519, 10882,
+ 737, 18519, 10884,
+ 737, 18519, 10886,
+ 737, 18519, 10888,
+ 737, 18519, 10890,
+ 737, 18519, 10892,
+ 737, 18519, 10894,
+ 737, 18519, 10896,
+ 737, 18519, 10902,
+ 737, 18519, 10904,
+ 737, 18519, 10906,
+ 737, 18519, 10908,
+ 737, 18519, 10912,
+ 737, 18519, 10914,
+ 737, 18519, 10920,
+ 737, 18519, 10922,
+ 737, 18519, 10924,
+ 737, 18519, 10930,
+ 737, 18519, 10934,
+ 737, 18519, 10936,
+ 737, 18519, 10938,
+ 737, 18519, 10942,
+ 737, 18519, 10944,
+ 737, 18519, 10946,
+ 737, 18519, 10948,
+ 737, 18519, 10950,
+ 737, 18519, 10952,
+ 737, 18519, 10954,
+ 737, 18519, 10956,
+ 737, 18519, 10960,
+ 737, 18519, 10962,
+ 737, 18519, 10964,
+ 737, 18519, 10968,
+ 737, 18519, 10970,
+ 737, 18519, 10972,
+ 737, 18519, 10974,
+ 737, 18519, 11478,
+ 737, 18519, 11480,
+ 737, 18519, 11482,
+ 737, 18519, 11484,
+ 737, 18519, 11486,
+ 737, 18519, 11488,
+ 737, 18519, 11670,
+ 737, 18519, 11672,
+ 737, 18519, 11674,
+ 737, 18519, 11676,
+ 737, 18519, 11678,
+ 737, 18519, 11818,
+ 737, 18519, 11820,
+ 737, 18519, 11822,
+ 737, 18519, 11824,
+ 737, 18519, 11826,
+ 737, 18519, 12112,
+ 737, 18519, 12114,
+ 737, 18519, 12116,
+ 737, 18519, 12118,
+ 737, 18519, 12120,
+ 737, 18519, 12122,
+ 737, 18519, 12222,
+ 737, 18519, 12224,
+ 737, 18519, 12226,
+ 737, 18519, 12228,
+ 737, 18519, 12230,
+ 737, 18519, 12232,
+ 737, 18519, 12234,
+ 737, 18519, 12236,
+ 737, 18519, 12240,
+ 737, 18519, 12242,
+ 737, 18519, 12244,
+ 737, 18519, 12246,
+ 737, 18519, 12248,
+ 737, 18519, 12250,
+ 737, 18519, 12252,
+ 737, 18519, 12254,
+ 737, 18519, 12278,
+ 737, 18519, 12280,
+ 737, 18519, 12282,
+ 737, 18519, 12284,
+ 737, 18519, 12286,
+ 737, 18519, 12288,
+ 737, 18519, 12342,
+ 737, 18519, 12344,
+ 737, 18519, 12346,
+ 737, 18519, 12348,
+ 737, 18519, 12350,
+ 737, 18519, 12352,
+ 737, 18519, 12656,
+ 737, 18519, 12658,
+ 737, 18519, 12660,
+ 737, 18519, 12662,
+ 737, 18519, 12748,
+ 737, 18519, 12750,
+ 737, 18519, 12752,
+ 737, 18519, 12754,
+ 737, 18519, 12766,
+ 737, 18519, 12770,
+ 737, 18519, 12794,
+ 737, 18519, 12796,
+ 737, 18519, 12816,
+ 737, 18519, 12818,
+ 737, 18519, 12838,
+ 737, 18519, 12840,
+ 737, 18519, 12842,
+ 737, 18519, 12848,
+ 737, 18519, 12852,
+ 737, 18519, 12854,
+ 737, 18519, 12914,
+ 737, 18519, 12916,
+ 737, 18519, 12990,
+ 737, 18519, 12992,
+ 737, 18519, 12994,
+ 737, 18519, 12996,
+ 737, 18519, 12998,
+ 737, 18519, 13002,
+ 737, 18519, 13004,
+ 737, 18519, 13006,
+ 737, 18519, 13008,
+ 737, 18519, 13010,
+ 737, 18519, 13288,
+ 737, 18519, 13290,
+ 737, 18519, 13292,
+ 737, 18519, 13434,
+ 737, 18519, 13436,
+ 737, 18519, 13438,
+ 737, 18519, 13448,
+ 737, 18519, 13520,
+ 737, 18519, 13522,
+ 737, 18519, 13524,
+ 737, 18519, 14116,
+ 737, 18519, 14118,
+ 737, 18519, 14120,
+ 737, 18519, 14122,
+ 737, 18519, 14136,
+ 737, 18519, 14138,
+ 737, 18519, 14140,
+ 737, 18519, 14144,
+ 737, 18519, 14146,
+ 737, 18519, 19179, 8282,
+ 795, 15422,
+ 833, 11943, 632,
+ 833, 21234,
+ 834,
+ 841, 10595, 1212,
+ 848,
+ 855, 19943, 15565, 669, 9741, 1820,
+ 855, 19943, 15565, 669, 10041, 1820,
+ 855, 19943, 15565, 669, 10041, 16816,
+ 855, 19943, 15565, 669, 10041, 18872,
+ 855, 19943, 15565, 669, 11601, 13676,
+ 855, 19943, 15565, 1155, 13540,
+ 855, 19943, 15565, 1155, 13676,
+ 855, 19943, 15565, 1155, 18872,
+ 855, 19943, 15565, 1821, 18658,
+ 855, 19943, 15565, 1821, 18872,
+ 855, 19943, 15565, 2896,
+ 855, 19943, 15565, 6407, 9741, 13540,
+ 855, 19943, 15565, 6407, 10041, 1820,
+ 855, 19943, 15565, 6407, 10041, 18658,
+ 855, 19943, 15565, 6407, 11601, 13676,
+ 855, 19943, 15565, 7402,
+ 855, 19943, 15565, 7403, 18658,
+ 855, 19943, 15565, 7779, 9741, 13540,
+ 855, 19943, 15565, 9328,
+ 855, 19943, 15565, 9329, 669, 11600,
+ 855, 19943, 15565, 9329, 1154,
+ 855, 19943, 15565, 9329, 1820,
+ 855, 19943, 15565, 9329, 2499, 11942,
+ 855, 19943, 15565, 9329, 6407, 11600,
+ 855, 19943, 15565, 9329, 11702,
+ 855, 19943, 15565, 9329, 11832,
+ 855, 19943, 15565, 9329, 11942,
+ 855, 19943, 15565, 9329, 13468,
+ 855, 19943, 15565, 9329, 14396,
+ 855, 19943, 15565, 9329, 14500,
+ 855, 19943, 15565, 9329, 16128,
+ 855, 19943, 15565, 9329, 17319, 11428,
+ 855, 19943, 15565, 9329, 18334,
+ 855, 19943, 15565, 9329, 18744,
+ 855, 19943, 15565, 9329, 19029, 11428,
+ 855, 19943, 15565, 9329, 19213, 11428,
+ 855, 19943, 15565, 9329, 19214,
+ 855, 19943, 15565, 9329, 20163, 11428,
+ 855, 19943, 15565, 9329, 20876,
+ 855, 19943, 15565, 9905, 18872,
+ 855, 19943, 15565, 11388,
+ 855, 19943, 15565, 11389, 18658,
+ 855, 19943, 15565, 11709, 894,
+ 855, 19943, 15565, 11833, 13540,
+ 855, 19943, 15565, 11833, 18658,
+ 855, 19943, 15565, 13078,
+ 855, 19943, 15565, 13079, 18658,
+ 855, 19943, 15565, 13227, 9328,
+ 855, 19943, 15565, 13227, 18658,
+ 855, 19943, 15565, 13469, 894,
+ 855, 19943, 15565, 13541, 13676,
+ 855, 19943, 15565, 13677, 18872,
+ 855, 19943, 15565, 14124,
+ 855, 19943, 15565, 14397, 1820,
+ 855, 19943, 15565, 14397, 9904,
+ 855, 19943, 15565, 14397, 13540,
+ 855, 19943, 15565, 14397, 18658,
+ 855, 19943, 15565, 14397, 18744,
+ 855, 19943, 15565, 14397, 18872,
+ 855, 19943, 15565, 14762,
+ 855, 19943, 15565, 15515, 9328,
+ 855, 19943, 15565, 16129, 18658,
+ 855, 19943, 15565, 16257, 18658,
+ 855, 19943, 15565, 17319, 10478,
+ 855, 19943, 15565, 18745, 894,
+ 855, 19943, 15565, 19029, 10478,
+ 855, 19943, 15565, 19213, 10478,
+ 855, 19943, 15565, 19417, 18658,
+ 855, 19943, 15565, 20163, 10478,
+ 855, 19943, 15565, 20877, 18872,
+ 856,
+ 895, 11640,
+ 914,
+ 927, 15564,
+ 945, 16991, 17118,
+ 945, 17118,
+ 956,
+ 965, 841, 11428,
+ 967, 17843, 669, 12213, 841, 6407, 19973, 12498,
+ 967, 17843, 669, 12213, 841, 7779, 6407, 12498,
+ 967, 17843, 669, 12213, 841, 7779, 12498,
+ 967, 17843, 669, 12213, 841, 13271, 6407, 12498,
+ 967, 17843, 669, 12213, 841, 13271, 12498,
+ 967, 17843, 669, 12213, 841, 19973, 12498,
+ 967, 17843, 669, 12499, 841, 6407, 19973, 12212,
+ 967, 17843, 669, 12499, 841, 7779, 6407, 12212,
+ 967, 17843, 669, 12499, 841, 7779, 12212,
+ 967, 17843, 669, 12499, 841, 13271, 6407, 12212,
+ 967, 17843, 669, 12499, 841, 13271, 12212,
+ 967, 17843, 669, 12499, 841, 19973, 12212,
+ 967, 17843, 669, 14533, 841, 7779, 15464,
+ 967, 17843, 669, 14533, 841, 13271, 15464,
+ 967, 17843, 669, 14533, 841, 19973, 15464,
+ 967, 17843, 669, 15465, 841, 7779, 14532,
+ 967, 17843, 669, 15465, 841, 13271, 14532,
+ 967, 17843, 669, 15465, 841, 19973, 14532,
+ 967, 17843, 6407, 12213, 841, 669, 19973, 12498,
+ 967, 17843, 6407, 12213, 841, 7779, 669, 12498,
+ 967, 17843, 6407, 12213, 841, 7779, 12498,
+ 967, 17843, 6407, 12213, 841, 13271, 669, 12498,
+ 967, 17843, 6407, 12213, 841, 13271, 12498,
+ 967, 17843, 6407, 12213, 841, 19973, 12498,
+ 967, 17843, 6407, 12499, 841, 669, 19973, 12212,
+ 967, 17843, 6407, 12499, 841, 7779, 669, 12212,
+ 967, 17843, 6407, 12499, 841, 7779, 12212,
+ 967, 17843, 6407, 12499, 841, 13271, 669, 12212,
+ 967, 17843, 6407, 12499, 841, 13271, 12212,
+ 967, 17843, 6407, 12499, 841, 19973, 12212,
+ 967, 17843, 6407, 14533, 841, 7779, 15464,
+ 967, 17843, 6407, 14533, 841, 13271, 15464,
+ 967, 17843, 6407, 14533, 841, 19973, 15464,
+ 967, 17843, 6407, 15465, 841, 7779, 14532,
+ 967, 17843, 6407, 15465, 841, 13271, 14532,
+ 967, 17843, 6407, 15465, 841, 19973, 14532,
+ 967, 17843, 7779, 669, 12213, 841, 13271, 6407, 12498,
+ 967, 17843, 7779, 6407, 12213, 841, 13271, 669, 12498,
+ 967, 17843, 7779, 12213, 841, 13271, 669, 12498,
+ 967, 17843, 7779, 12213, 841, 13271, 6407, 12498,
+ 967, 17843, 7779, 12213, 841, 13271, 18669, 12498,
+ 967, 17843, 7779, 12499, 841, 13271, 669, 12212,
+ 967, 17843, 7779, 12499, 841, 13271, 6407, 12212,
+ 967, 17843, 7779, 12499, 841, 13271, 18669, 12212,
+ 967, 17843, 12213, 668,
+ 967, 17843, 12213, 669, 841, 7778,
+ 967, 17843, 12213, 669, 841, 12499, 6406,
+ 967, 17843, 12213, 669, 841, 13270,
+ 967, 17843, 12213, 669, 841, 19972,
+ 967, 17843, 12213, 6406,
+ 967, 17843, 12213, 6407, 841, 7778,
+ 967, 17843, 12213, 6407, 841, 13270,
+ 967, 17843, 12213, 6407, 841, 19972,
+ 967, 17843, 12213, 7778,
+ 967, 17843, 12213, 7779, 841, 12499, 13270,
+ 967, 17843, 12213, 13270,
+ 967, 17843, 12213, 14533, 6259, 18668,
+ 967, 17843, 12213, 14533, 6259, 19972,
+ 967, 17843, 12213, 15671, 6259, 18668,
+ 967, 17843, 12213, 15671, 6259, 19972,
+ 967, 17843, 12213, 18668,
+ 967, 17843, 12213, 18669, 841, 7778,
+ 967, 17843, 12213, 18669, 841, 13270,
+ 967, 17843, 12213, 18669, 841, 19972,
+ 967, 17843, 12213, 19355, 6259, 18668,
+ 967, 17843, 12213, 19355, 6259, 19972,
+ 967, 17843, 12213, 19972,
+ 967, 17843, 12499, 668,
+ 967, 17843, 12499, 669, 841, 7778,
+ 967, 17843, 12499, 669, 841, 12213, 6406,
+ 967, 17843, 12499, 669, 841, 13270,
+ 967, 17843, 12499, 669, 841, 19972,
+ 967, 17843, 12499, 857, 669, 841, 7778,
+ 967, 17843, 12499, 857, 669, 841, 13270,
+ 967, 17843, 12499, 857, 6407, 841, 7778,
+ 967, 17843, 12499, 857, 6407, 841, 13270,
+ 967, 17843, 12499, 6406,
+ 967, 17843, 12499, 6407, 841, 7778,
+ 967, 17843, 12499, 6407, 841, 13270,
+ 967, 17843, 12499, 6407, 841, 19972,
+ 967, 17843, 12499, 7778,
+ 967, 17843, 12499, 7779, 841, 12213, 13270,
+ 967, 17843, 12499, 13270,
+ 967, 17843, 12499, 14533, 6259, 18668,
+ 967, 17843, 12499, 14533, 6259, 19972,
+ 967, 17843, 12499, 15671, 6259, 18668,
+ 967, 17843, 12499, 15671, 6259, 19972,
+ 967, 17843, 12499, 17687, 11718,
+ 967, 17843, 12499, 17687, 13807, 7779, 633, 12525, 13270,
+ 967, 17843, 12499, 17687, 13807, 13271, 633, 12525, 7778,
+ 967, 17843, 12499, 18668,
+ 967, 17843, 12499, 18669, 841, 7778,
+ 967, 17843, 12499, 18669, 841, 13270,
+ 967, 17843, 12499, 18669, 841, 19972,
+ 967, 17843, 12499, 19355, 6259, 18668,
+ 967, 17843, 12499, 19355, 6259, 19972,
+ 967, 17843, 12499, 19972,
+ 967, 17843, 13271, 669, 12213, 841, 7779, 6407, 12498,
+ 967, 17843, 13271, 6407, 12213, 841, 7779, 669, 12498,
+ 967, 17843, 13271, 12213, 841, 7779, 669, 12498,
+ 967, 17843, 13271, 12213, 841, 7779, 6407, 12498,
+ 967, 17843, 13271, 12213, 841, 7779, 18669, 12498,
+ 967, 17843, 13271, 12499, 841, 7779, 669, 12212,
+ 967, 17843, 13271, 12499, 841, 7779, 6407, 12212,
+ 967, 17843, 13271, 12499, 841, 7779, 18669, 12212,
+ 967, 17843, 14533, 669, 841, 7778,
+ 967, 17843, 14533, 669, 841, 13270,
+ 967, 17843, 14533, 669, 841, 19972,
+ 967, 17843, 14533, 6407, 841, 7778,
+ 967, 17843, 14533, 6407, 841, 13270,
+ 967, 17843, 14533, 6407, 841, 19972,
+ 967, 17843, 14533, 18668,
+ 967, 17843, 14533, 18669, 841, 7778,
+ 967, 17843, 14533, 18669, 841, 13270,
+ 967, 17843, 14533, 18669, 841, 19972,
+ 967, 17843, 14533, 19972,
+ 967, 17843, 18669, 12213, 841, 7779, 12498,
+ 967, 17843, 18669, 12213, 841, 13271, 12498,
+ 967, 17843, 18669, 12213, 841, 19973, 12498,
+ 967, 17843, 18669, 12499, 841, 7779, 12212,
+ 967, 17843, 18669, 12499, 841, 13271, 12212,
+ 967, 17843, 18669, 12499, 841, 19973, 12212,
+ 967, 17843, 18669, 14533, 841, 7779, 15464,
+ 967, 17843, 18669, 14533, 841, 13271, 15464,
+ 967, 17843, 18669, 14533, 841, 19973, 15464,
+ 967, 17843, 18669, 15465, 841, 7779, 14532,
+ 967, 17843, 18669, 15465, 841, 13271, 14532,
+ 967, 17843, 18669, 15465, 841, 19973, 14532,
+ 968,
+ 972,
+ 980,
+ 981, 9910,
+ 1013, 17102,
+ 1014,
+ 1015, 6682,
+ 1015, 6683, 10595, 3547, 13488,
+ 1015, 6683, 10595, 13611, 483, 1824,
+ 1038,
+ 1045, 2896,
+ 1069, 15535, 6,
+ 1069, 15535, 14,
+ 1069, 15535, 26,
+ 1069, 15535, 30,
+ 1069, 15535, 32,
+ 1069, 15535, 36,
+ 1069, 15535, 38,
+ 1069, 15535, 270,
+ 1069, 15535, 282,
+ 1069, 15535, 288,
+ 1069, 15535, 524,
+ 1069, 15535, 530,
+ 1069, 15535, 552,
+ 1069, 15535, 592,
+ 1069, 15535, 602,
+ 1069, 15535, 608,
+ 1069, 15535, 614,
+ 1069, 15535, 618,
+ 1069, 15535, 630,
+ 1069, 15535, 700,
+ 1069, 15535, 720,
+ 1069, 15535, 992,
+ 1069, 15535, 1712,
+ 1069, 15535, 1714,
+ 1069, 15535, 1716,
+ 1069, 15535, 1718,
+ 1069, 15535, 3134,
+ 1069, 15535, 3140,
+ 1069, 15535, 3162,
+ 1069, 15535, 7276,
+ 1069, 15535, 7328,
+ 1069, 15535, 7330,
+ 1069, 15535, 7332,
+ 1069, 15535, 7334,
+ 1069, 15535, 9954,
+ 1069, 15535, 12290,
+ 1069, 16959, 966,
+ 1069, 16959, 1080,
+ 1069, 16959, 1202,
+ 1069, 16959, 1263, 2596,
+ 1069, 16959, 1263, 3336,
+ 1069, 16959, 1263, 13654,
+ 1069, 16959, 1326,
+ 1069, 16959, 1330,
+ 1069, 16959, 2427, 2596,
+ 1069, 16959, 2427, 3336,
+ 1069, 16959, 2427, 6742,
+ 1069, 16959, 2427, 13654,
+ 1069, 16959, 2592,
+ 1069, 16959, 2639, 2596,
+ 1069, 16959, 2639, 3336,
+ 1069, 16959, 2860,
+ 1069, 16959, 2864,
+ 1069, 16959, 3116,
+ 1069, 16959, 5816,
+ 1069, 16959, 5827, 483, 11694,
+ 1069, 16959, 5830,
+ 1069, 16959, 6054,
+ 1069, 16959, 6710,
+ 1069, 16959, 6736,
+ 1069, 16959, 7090,
+ 1069, 16959, 7102,
+ 1069, 16959, 7268,
+ 1069, 16959, 7422,
+ 1069, 16959, 7755, 2596,
+ 1069, 16959, 7755, 3336,
+ 1069, 16959, 7755, 6742,
+ 1069, 16959, 7755, 13654,
+ 1069, 16959, 7845, 2596,
+ 1069, 16959, 7845, 3336,
+ 1069, 16959, 8314,
+ 1069, 16959, 8330,
+ 1069, 16959, 8418,
+ 1069, 16959, 9420,
+ 1069, 16959, 9666,
+ 1069, 16959, 9814,
+ 1069, 16959, 10571, 2596,
+ 1069, 16959, 10571, 3336,
+ 1069, 16959, 10583, 2596,
+ 1069, 16959, 10583, 3336,
+ 1069, 16959, 11555, 2596,
+ 1069, 16959, 11555, 3336,
+ 1069, 16959, 11664,
+ 1069, 16959, 11688,
+ 1069, 16959, 11828,
+ 1069, 16959, 12138,
+ 1069, 16959, 12167, 2596,
+ 1069, 16959, 12167, 3336,
+ 1069, 16959, 12167, 13654,
+ 1069, 16959, 12211, 2596,
+ 1069, 16959, 12211, 3336,
+ 1069, 16959, 12421, 2596,
+ 1069, 16959, 12421, 3336,
+ 1069, 16959, 12693, 2596,
+ 1069, 16959, 12693, 3336,
+ 1069, 16959, 13400,
+ 1069, 16959, 13483, 2596,
+ 1069, 16959, 13483, 3336,
+ 1069, 16959, 13492,
+ 1069, 16959, 13495, 2596,
+ 1069, 16959, 13495, 3336,
+ 1069, 16959, 13600,
+ 1069, 16959, 13672,
+ 1069, 16959, 13949, 2596,
+ 1069, 16959, 13949, 3336,
+ 1069, 16959, 14260,
+ 1069, 16959, 15036,
+ 1069, 16959, 15040,
+ 1069, 16959, 15218,
+ 1069, 16959, 15330,
+ 1069, 16959, 15403, 2596,
+ 1069, 16959, 15403, 3336,
+ 1069, 16959, 15403, 13654,
+ 1069, 16959, 15499, 2596,
+ 1069, 16959, 15499, 3336,
+ 1069, 16959, 15630,
+ 1069, 16959, 15702,
+ 1069, 16959, 16046,
+ 1069, 16959, 17610,
+ 1069, 16959, 19780,
+ 1069, 16959, 20195, 7087, 10183, 13736,
+ 1069, 16959, 20195, 7268,
+ 1069, 16959, 20195, 10570,
+ 1069, 16959, 20195, 13960,
+ 1069, 16959, 20195, 15806,
+ 1069, 16959, 20809, 1262,
+ 1069, 16959, 20809, 1378,
+ 1069, 16959, 20809, 3018,
+ 1069, 16959, 20809, 5806,
+ 1069, 16959, 20809, 5950,
+ 1069, 16959, 20809, 6566,
+ 1069, 16959, 20809, 6714,
+ 1069, 16959, 20809, 6746,
+ 1069, 16959, 20809, 6894,
+ 1069, 16959, 20809, 7012,
+ 1069, 16959, 20809, 7774,
+ 1069, 16959, 20809, 7844,
+ 1069, 16959, 20809, 9648,
+ 1069, 16959, 20809, 9814,
+ 1069, 16959, 20809, 10588,
+ 1069, 16959, 20809, 12266,
+ 1069, 16959, 20809, 13406,
+ 1069, 16959, 20809, 13712,
+ 1069, 16959, 20809, 14534,
+ 1069, 16959, 20809, 15492,
+ 1069, 16959, 20809, 15583, 16584,
+ 1069, 16959, 20809, 15702,
+ 1069, 16959, 20907, 6566,
+ 1069, 16959, 20907, 13712,
+ 1069, 16959, 20907, 14534,
+ 1069, 16959, 20907, 15702,
+ 1069, 21073, 21352,
+ 1069, 21073, 21354,
+ 1069, 21073, 21356,
+ 1069, 21073, 21358,
+ 1069, 21073, 21360,
+ 1080,
+ 1081, 6682,
+ 1089, 495, 11521, 15512,
+ 1173, 14570,
+ 1173, 14572,
+ 1173, 14574,
+ 1173, 14576,
+ 1173, 14578,
+ 1173, 14580,
+ 1202,
+ 1203, 6682,
+ 1213, 9242,
+ 1213, 11346,
+ 1213, 12674,
+ 1213, 18214,
+ 1240,
+ 1260,
+ 1261, 483, 9450,
+ 1261, 483, 12586,
+ 1293, 483, 13196,
+ 1293, 10595, 19213, 11429, 11346,
+ 1330,
+ 1355, 7378,
+ 1355, 16616,
+ 1380,
+ 1391, 832,
+ 1394,
+ 1465, 13546,
+ 1677, 1202,
+ 1677, 15212,
+ 1677, 17136,
+ 1677, 17526,
+ 1731, 11714,
+ 1731, 13462,
+ 1731, 14751, 13539, 841, 9258,
+ 1744,
+ 1902,
+ 1929, 9808,
+ 2071, 281, 434,
+ 2071, 281, 466,
+ 2071, 365, 382,
+ 2071, 10173, 2229, 196,
+ 2071, 10173, 2229, 628,
+ 2071, 10173, 2229, 3228,
+ 2071, 10173, 2229, 14356,
+ 2071, 11849, 2596,
+ 2071, 11849, 3056,
+ 2071, 11849, 3336,
+ 2071, 11849, 6720,
+ 2071, 11849, 6742,
+ 2071, 11849, 8736,
+ 2071, 11849, 10854,
+ 2071, 11849, 11916,
+ 2071, 11849, 13376,
+ 2071, 11849, 13654,
+ 2071, 13921, 9809, 0,
+ 2071, 13921, 9809, 8,
+ 2071, 13921, 9809, 16,
+ 2071, 13921, 9809, 28,
+ 2071, 13921, 9809, 40,
+ 2071, 13921, 9809, 48,
+ 2071, 13921, 9809, 58,
+ 2071, 13921, 9809, 72,
+ 2071, 13921, 9809, 78,
+ 2071, 13921, 9809, 102,
+ 2071, 13921, 9809, 192,
+ 2071, 13921, 9809, 306,
+ 2071, 13921, 9809, 674,
+ 2071, 13921, 9809, 748,
+ 2071, 13921, 9809, 2229, 1868,
+ 2071, 13921, 9809, 2229, 1964,
+ 2071, 14903, 28,
+ 2071, 14903, 116,
+ 2071, 14903, 140,
+ 2071, 14903, 166,
+ 2071, 14903, 237, 1356,
+ 2071, 14903, 237, 1384,
+ 2071, 14903, 237, 3180,
+ 2071, 14903, 237, 9928,
+ 2071, 14903, 281, 3180,
+ 2071, 14903, 281, 9928,
+ 2071, 14903, 364,
+ 2071, 14903, 400,
+ 2071, 14903, 401, 7818,
+ 2071, 14903, 401, 7852,
+ 2071, 14903, 434,
+ 2071, 14903, 466,
+ 2071, 14903, 538,
+ 2071, 14903, 578,
+ 2071, 14903, 601, 3180,
+ 2071, 14903, 601, 9928,
+ 2071, 14903, 632,
+ 2071, 14903, 708,
+ 2071, 14903, 740,
+ 2071, 14903, 1911, 3180,
+ 2071, 14903, 1911, 9928,
+ 2071, 14903, 2440,
+ 2071, 14903, 2552,
+ 2071, 14903, 2667, 3180,
+ 2071, 14903, 2667, 9928,
+ 2071, 14903, 3229, 3180,
+ 2071, 14903, 3229, 9928,
+ 2071, 14903, 7617, 258,
+ 2071, 14903, 7617, 2552,
+ 2071, 17860,
+ 2071, 19272,
+ 2071, 19419, 9809, 400,
+ 2071, 19419, 9809, 2552,
+ 2071, 20813, 8282,
+ 2102,
+ 2163, 7816,
+ 2163, 14533, 13193, 19359, 8282,
+ 2163, 17496,
+ 2163, 19709, 15564,
+ 2166,
+ 2168,
+ 2170,
+ 2172,
+ 2230,
+ 2231, 315, 17559, 9925, 20010,
+ 2231, 841, 13981, 16373, 12198,
+ 2231, 10595, 1535, 535, 2232,
+ 2231, 10595, 15694,
+ 2235, 15565, 1391, 20012,
+ 2329, 11798,
+ 2329, 11849, 2596,
+ 2329, 11849, 3056,
+ 2329, 11849, 3336,
+ 2329, 11849, 6720,
+ 2329, 11849, 6742,
+ 2329, 11849, 8736,
+ 2329, 11849, 10854,
+ 2329, 11849, 11916,
+ 2329, 11849, 13376,
+ 2329, 11849, 13654,
+ 2329, 14533, 11798,
+ 2329, 14903, 0,
+ 2329, 14903, 8,
+ 2329, 14903, 28,
+ 2329, 14903, 106,
+ 2329, 14903, 148,
+ 2329, 14903, 176,
+ 2329, 14903, 364,
+ 2329, 14903, 382,
+ 2329, 14903, 490,
+ 2329, 14903, 496,
+ 2329, 14903, 520,
+ 2329, 14903, 576,
+ 2329, 14903, 578,
+ 2329, 14903, 620,
+ 2329, 14903, 692,
+ 2329, 14903, 740,
+ 2329, 14903, 1048,
+ 2329, 14903, 1122,
+ 2329, 14903, 1578,
+ 2329, 14903, 1586,
+ 2329, 14903, 2068,
+ 2329, 14903, 2300,
+ 2329, 14903, 2438,
+ 2329, 14903, 2458,
+ 2329, 14903, 2664,
+ 2329, 14903, 3034,
+ 2329, 14903, 3210,
+ 2329, 14903, 7598,
+ 2329, 14903, 8274,
+ 2329, 14903, 10102,
+ 2329, 14903, 12382,
+ 2352,
+ 2429, 3177, 2181, 9809, 2058,
+ 2429, 3177, 2181, 9809, 7746,
+ 2429, 3177, 2181, 10097, 11849, 2596,
+ 2429, 3177, 2181, 10173, 14968,
+ 2429, 3177, 2181, 10173, 14970,
+ 2429, 3177, 2181, 11849, 2596,
+ 2429, 3177, 2181, 11849, 3056,
+ 2429, 3177, 2181, 11849, 3336,
+ 2429, 3177, 2181, 11849, 6720,
+ 2429, 3177, 2181, 11849, 6742,
+ 2429, 3177, 2181, 11849, 8736,
+ 2429, 3177, 2181, 11849, 10854,
+ 2429, 3177, 2181, 11849, 11916,
+ 2429, 3177, 2181, 11849, 13376,
+ 2429, 3177, 2181, 11849, 13654,
+ 2429, 3177, 2181, 13921, 9809, 8,
+ 2429, 3177, 2181, 13921, 9809, 28,
+ 2429, 3177, 2181, 13921, 9809, 40,
+ 2429, 3177, 2181, 13921, 9809, 58,
+ 2429, 3177, 2181, 13921, 9809, 66,
+ 2429, 3177, 2181, 13921, 9809, 102,
+ 2429, 3177, 2181, 13921, 9809, 306,
+ 2429, 3177, 2181, 13921, 9809, 332,
+ 2429, 3177, 2181, 13921, 9809, 476,
+ 2429, 3177, 2181, 13921, 9809, 516,
+ 2429, 3177, 2181, 13921, 9809, 654,
+ 2429, 3177, 2181, 13921, 9809, 674,
+ 2429, 3177, 2181, 13921, 9809, 676,
+ 2429, 3177, 2181, 13921, 9809, 786,
+ 2429, 3177, 2181, 13921, 9809, 2574,
+ 2429, 3177, 2181, 13921, 9809, 3370,
+ 2429, 3177, 2181, 13921, 9809, 13921, 19434,
+ 2429, 3177, 2181, 14903, 2163, 106,
+ 2429, 3177, 2181, 14903, 2163, 148,
+ 2429, 3177, 2181, 14903, 2163, 224,
+ 2429, 3177, 2181, 14903, 2163, 266,
+ 2429, 3177, 2181, 14903, 2163, 348,
+ 2429, 3177, 2181, 14903, 2163, 382,
+ 2429, 3177, 2181, 14903, 2163, 414,
+ 2429, 3177, 2181, 14903, 2163, 446,
+ 2429, 3177, 2181, 14903, 2163, 520,
+ 2429, 3177, 2181, 14903, 2163, 554,
+ 2429, 3177, 2181, 14903, 2163, 586,
+ 2429, 3177, 2181, 14903, 2163, 620,
+ 2429, 3177, 2181, 14903, 2163, 678,
+ 2429, 3177, 2181, 14903, 2163, 716,
+ 2429, 3177, 2181, 14903, 2163, 732,
+ 2429, 3177, 2181, 14903, 2163, 2020,
+ 2429, 3177, 2181, 14903, 2163, 2432,
+ 2429, 3177, 2181, 14903, 2163, 2660,
+ 2429, 3177, 2181, 14903, 2163, 3108,
+ 2429, 3177, 2181, 14903, 2163, 3222,
+ 2429, 3177, 2181, 14903, 2163, 3288,
+ 2429, 3177, 2181, 14903, 2163, 3596,
+ 2429, 3177, 2181, 14903, 7135, 106,
+ 2429, 3177, 2181, 14903, 7135, 148,
+ 2429, 3177, 2181, 14903, 7135, 224,
+ 2429, 3177, 2181, 14903, 7135, 266,
+ 2429, 3177, 2181, 14903, 7135, 348,
+ 2429, 3177, 2181, 14903, 7135, 382,
+ 2429, 3177, 2181, 14903, 7135, 414,
+ 2429, 3177, 2181, 14903, 7135, 446,
+ 2429, 3177, 2181, 14903, 7135, 520,
+ 2429, 3177, 2181, 14903, 7135, 554,
+ 2429, 3177, 2181, 14903, 7135, 586,
+ 2429, 3177, 2181, 14903, 7135, 620,
+ 2429, 3177, 2181, 14903, 7135, 678,
+ 2429, 3177, 2181, 14903, 7135, 716,
+ 2429, 3177, 2181, 14903, 7135, 732,
+ 2429, 3177, 2181, 14903, 7135, 2020,
+ 2429, 3177, 2181, 14903, 7135, 2432,
+ 2429, 3177, 2181, 14903, 7135, 2660,
+ 2429, 3177, 2181, 14903, 7135, 3108,
+ 2429, 3177, 2181, 14903, 7135, 3222,
+ 2429, 3177, 2181, 14903, 7135, 3288,
+ 2429, 3177, 2181, 14903, 7135, 3596,
+ 2429, 3177, 2181, 14903, 12023, 2,
+ 2429, 3177, 2181, 14903, 12023, 6,
+ 2429, 3177, 2181, 14903, 12023, 20,
+ 2429, 3177, 2181, 14903, 12023, 24,
+ 2429, 3177, 2181, 14903, 12023, 26,
+ 2429, 3177, 2181, 14903, 12023, 42,
+ 2429, 3177, 2181, 14903, 12023, 454,
+ 2429, 8419, 10595, 6682,
+ 2429, 8419, 15564,
+ 2429, 15431, 9808,
+ 2479, 2163, 10173, 19676,
+ 2479, 7135, 10173, 19676,
+ 2479, 11708,
+ 2479, 11849, 2596,
+ 2479, 11849, 3056,
+ 2479, 11849, 3336,
+ 2479, 11849, 6720,
+ 2479, 11849, 6742,
+ 2479, 11849, 8736,
+ 2479, 11849, 10854,
+ 2479, 11849, 11916,
+ 2479, 11849, 13376,
+ 2479, 11849, 13654,
+ 2479, 14903, 0,
+ 2479, 14903, 8,
+ 2479, 14903, 16,
+ 2479, 14903, 26,
+ 2479, 14903, 28,
+ 2479, 14903, 40,
+ 2479, 14903, 106,
+ 2479, 14903, 148,
+ 2479, 14903, 184,
+ 2479, 14903, 224,
+ 2479, 14903, 266,
+ 2479, 14903, 334,
+ 2479, 14903, 348,
+ 2479, 14903, 382,
+ 2479, 14903, 414,
+ 2479, 14903, 446,
+ 2479, 14903, 447, 15788,
+ 2479, 14903, 496,
+ 2479, 14903, 520,
+ 2479, 14903, 570,
+ 2479, 14903, 586,
+ 2479, 14903, 620,
+ 2479, 14903, 692,
+ 2479, 14903, 732,
+ 2479, 14903, 1040,
+ 2479, 14903, 1452,
+ 2479, 14903, 2544,
+ 2479, 14903, 2545, 15788,
+ 2479, 14903, 2938,
+ 2479, 14903, 7483, 334,
+ 2479, 14903, 7483, 570,
+ 2479, 14903, 7483, 1040,
+ 2479, 14903, 19754,
+ 2479, 15565, 497, 14472,
+ 2479, 15565, 19944,
+ 2479, 18819, 7845, 2163, 10172,
+ 2479, 18819, 7845, 7135, 10172,
+ 2479, 18819, 7845, 15347, 10172,
+ 2479, 18819, 7845, 19765, 10172,
+ 2479, 18819, 13431, 2163, 10172,
+ 2479, 18819, 13431, 7135, 10172,
+ 2479, 18819, 13431, 15347, 10172,
+ 2479, 18819, 14533, 1213, 11346,
+ 2479, 18819, 20937, 8282,
+ 2479, 20004,
+ 2479, 20469, 8282,
+ 2496,
+ 2499, 1, 15543, 482,
+ 2499, 1, 18511, 482,
+ 2499, 81, 16245, 482,
+ 2499, 9808,
+ 2499, 10186,
+ 2499, 11643, 8282,
+ 2499, 11943, 632,
+ 2499, 13676,
+ 2499, 14197, 11943, 632,
+ 2499, 15111, 18505, 482,
+ 2499, 15111, 18505, 483, 503, 11943, 632,
+ 2499, 15513, 12319, 483, 503, 11943, 632,
+ 2499, 15513, 18219, 483, 503, 11943, 632,
+ 2499, 18257, 632,
+ 2499, 19149, 632,
+ 2499, 19214,
+ 2499, 19919, 632,
+ 2499, 20876,
+ 2499, 21239, 11943, 632,
+ 2533, 841, 5826,
+ 2577, 965, 3236,
+ 2577, 5783, 14328,
+ 2577, 6258,
+ 2577, 6738,
+ 2577, 7256,
+ 2577, 11636,
+ 2577, 14199, 483, 11642,
+ 2577, 14315, 5711, 21254,
+ 2577, 14533, 18744,
+ 2577, 17655, 15845, 15132,
+ 2577, 18017, 6738,
+ 2589, 9808,
+ 2591, 6412,
+ 2593, 1902,
+ 2593, 12907, 15883, 14903, 824,
+ 2593, 12907, 15883, 14903, 918,
+ 2593, 12907, 15883, 14903, 1116,
+ 2593, 12907, 15883, 14903, 1124,
+ 2593, 12907, 15883, 14903, 1360,
+ 2593, 12907, 15883, 14903, 1576,
+ 2593, 12907, 15883, 14903, 1600,
+ 2593, 12907, 15883, 14903, 1856,
+ 2593, 12907, 15883, 14903, 2066,
+ 2593, 12907, 15883, 14903, 2748,
+ 2593, 12907, 15883, 14903, 2882,
+ 2593, 12907, 15883, 14903, 2992,
+ 2593, 12907, 15883, 14903, 3174,
+ 2593, 12907, 15883, 14903, 3208,
+ 2593, 12907, 15883, 14903, 3508,
+ 2593, 12907, 15883, 14903, 3672,
+ 2593, 12907, 15883, 14903, 3764,
+ 2593, 12907, 15883, 14903, 5220,
+ 2593, 12907, 15883, 14903, 6548,
+ 2593, 12907, 15883, 14903, 6550,
+ 2593, 12907, 15883, 14903, 6552,
+ 2593, 12907, 15883, 14903, 6922,
+ 2593, 12907, 15883, 14903, 7596,
+ 2593, 12907, 15883, 14903, 8318,
+ 2593, 12907, 15883, 14903, 8804,
+ 2593, 12907, 15883, 14903, 10094,
+ 2593, 12907, 15883, 14903, 10106,
+ 2593, 12907, 15883, 14903, 10844,
+ 2593, 12907, 15883, 14903, 12128,
+ 2593, 12907, 15883, 15133, 2596,
+ 2593, 12907, 15883, 15133, 3212,
+ 2593, 12907, 15883, 15133, 15708,
+ 2593, 13501, 15883, 14903, 226,
+ 2593, 13501, 15883, 14903, 268,
+ 2593, 13501, 15883, 14903, 876,
+ 2593, 13501, 15883, 14903, 2268,
+ 2593, 13501, 15883, 14903, 2524,
+ 2593, 13501, 15883, 14903, 3010,
+ 2593, 13501, 15883, 14903, 3200,
+ 2593, 13501, 15883, 14903, 3508,
+ 2593, 13501, 15883, 14903, 5220,
+ 2593, 13501, 15883, 14903, 5790,
+ 2593, 13501, 15883, 14903, 7120,
+ 2593, 13501, 15883, 14903, 7558,
+ 2593, 13501, 15883, 14903, 9326,
+ 2593, 13501, 15883, 14903, 9440,
+ 2593, 13501, 15883, 14903, 9730,
+ 2593, 13501, 15883, 14903, 10080,
+ 2593, 13501, 15883, 14903, 10100,
+ 2593, 13501, 15883, 14903, 10764,
+ 2593, 13501, 15883, 14903, 10852,
+ 2593, 13501, 15883, 14903, 12130,
+ 2593, 13501, 15883, 14903, 12142,
+ 2593, 13501, 15883, 14903, 12406,
+ 2593, 13501, 15883, 14903, 13330,
+ 2593, 13501, 15883, 14903, 13638,
+ 2593, 13501, 15883, 14903, 14454,
+ 2593, 13501, 15883, 14903, 14484,
+ 2593, 13501, 15883, 14903, 14882,
+ 2593, 13501, 15883, 14903, 15370,
+ 2593, 13501, 15883, 14903, 16124,
+ 2593, 13501, 15883, 15133, 2596,
+ 2593, 13501, 15883, 15133, 12018,
+ 2593, 13501, 15883, 16771, 19162,
+ 2593, 14787, 14903, 0,
+ 2593, 14787, 14903, 8,
+ 2593, 14787, 14903, 16,
+ 2593, 14787, 14903, 28,
+ 2593, 14787, 14903, 40,
+ 2593, 14787, 14903, 110,
+ 2593, 14787, 14903, 154,
+ 2593, 14787, 14903, 186,
+ 2593, 14787, 14903, 198,
+ 2593, 14787, 14903, 200,
+ 2593, 14787, 14903, 202,
+ 2593, 14787, 14903, 208,
+ 2593, 14787, 14903, 210,
+ 2593, 14787, 14903, 268,
+ 2593, 14787, 14903, 306,
+ 2593, 14787, 14903, 348,
+ 2593, 14787, 14903, 352,
+ 2593, 14787, 14903, 368,
+ 2593, 14787, 14903, 526,
+ 2593, 14787, 14903, 624,
+ 2593, 14787, 14903, 674,
+ 2593, 14787, 14903, 680,
+ 2593, 14787, 14903, 752,
+ 2593, 14787, 14903, 1042,
+ 2593, 14787, 14903, 1282,
+ 2593, 14787, 14903, 1310,
+ 2593, 14787, 14903, 1312,
+ 2593, 14787, 14903, 1316,
+ 2593, 14787, 14903, 1906,
+ 2593, 14787, 14903, 2662,
+ 2593, 14787, 14903, 3032,
+ 2593, 14787, 14903, 3224,
+ 2593, 14787, 16769, 2596,
+ 2593, 14787, 16769, 3212,
+ 2593, 14787, 16769, 6720,
+ 2593, 14787, 16769, 12018,
+ 2593, 15215, 14903, 8,
+ 2593, 15215, 14903, 16,
+ 2593, 15215, 14903, 28,
+ 2593, 15215, 14903, 40,
+ 2593, 15215, 14903, 80,
+ 2593, 15215, 14903, 186,
+ 2593, 15215, 14903, 266,
+ 2593, 15215, 14903, 290,
+ 2593, 15215, 14903, 298,
+ 2593, 15215, 14903, 496,
+ 2593, 15215, 14903, 732,
+ 2593, 15215, 14903, 744,
+ 2593, 15215, 14903, 978,
+ 2593, 15215, 14903, 1204,
+ 2593, 15215, 14903, 1434,
+ 2593, 15215, 14903, 2098,
+ 2593, 15215, 14903, 2884,
+ 2593, 15215, 14903, 3048,
+ 2593, 15215, 14903, 3176,
+ 2593, 15215, 14903, 3440,
+ 2593, 15215, 14903, 3656,
+ 2593, 15215, 14903, 3678,
+ 2593, 15215, 14903, 3714,
+ 2593, 15215, 14903, 7646,
+ 2593, 15215, 14903, 9180,
+ 2593, 15215, 14903, 10198,
+ 2593, 15215, 14903, 10510,
+ 2593, 15215, 14903, 10732,
+ 2593, 15215, 14903, 10734,
+ 2593, 15215, 14903, 10850,
+ 2593, 15215, 14903, 10878,
+ 2593, 15215, 14903, 11648,
+ 2593, 15215, 14903, 11884,
+ 2593, 15215, 14903, 11886,
+ 2593, 15215, 14903, 12630,
+ 2593, 15215, 14903, 12772,
+ 2593, 15215, 14903, 13426,
+ 2593, 15215, 14903, 17072,
+ 2593, 15699, 14903, 15167, 0,
+ 2593, 15699, 14903, 15167, 16,
+ 2593, 15699, 14903, 15167, 28,
+ 2593, 15699, 14903, 15167, 60,
+ 2593, 15699, 14903, 15167, 64,
+ 2593, 15699, 14903, 15167, 68,
+ 2593, 15699, 14903, 15167, 76,
+ 2593, 15699, 14903, 15167, 80,
+ 2593, 15699, 14903, 15167, 86,
+ 2593, 15699, 14903, 15167, 88,
+ 2593, 15699, 14903, 15167, 90,
+ 2593, 15699, 14903, 15167, 92,
+ 2593, 15699, 14903, 15167, 102,
+ 2593, 15699, 14903, 15167, 180,
+ 2593, 15699, 14903, 15167, 200,
+ 2593, 15699, 14903, 15167, 206,
+ 2593, 15699, 14903, 15167, 222,
+ 2593, 15699, 14903, 15167, 294,
+ 2593, 15699, 14903, 15167, 320,
+ 2593, 15699, 14903, 15167, 480,
+ 2593, 15699, 14903, 15167, 498,
+ 2593, 15699, 14903, 15167, 500,
+ 2593, 15699, 14903, 15167, 506,
+ 2593, 15699, 14903, 15167, 798,
+ 2593, 15699, 14903, 15167, 800,
+ 2593, 15699, 14903, 15167, 804,
+ 2593, 15699, 14903, 15167, 806,
+ 2593, 15699, 14903, 15167, 808,
+ 2593, 15699, 14903, 15167, 810,
+ 2593, 15699, 14903, 15167, 812,
+ 2593, 15699, 14903, 15167, 814,
+ 2593, 15699, 14903, 15167, 816,
+ 2593, 15699, 14903, 15167, 818,
+ 2593, 15699, 14903, 15167, 862,
+ 2593, 15699, 14903, 15167, 1284,
+ 2593, 15699, 14903, 15167, 1290,
+ 2593, 15699, 14903, 15167, 1294,
+ 2593, 15699, 14903, 15167, 1298,
+ 2593, 15699, 14903, 15167, 1300,
+ 2593, 15699, 14903, 15167, 1312,
+ 2593, 15699, 14903, 15167, 2582,
+ 2593, 15699, 14903, 15167, 5718,
+ 2593, 15699, 14903, 17391, 0,
+ 2593, 15699, 14903, 17391, 8,
+ 2593, 15699, 14903, 17391, 16,
+ 2593, 15699, 14903, 17391, 60,
+ 2593, 15699, 14903, 17391, 64,
+ 2593, 15699, 14903, 17391, 66,
+ 2593, 15699, 14903, 17391, 68,
+ 2593, 15699, 14903, 17391, 76,
+ 2593, 15699, 14903, 17391, 86,
+ 2593, 15699, 14903, 17391, 88,
+ 2593, 15699, 14903, 17391, 92,
+ 2593, 15699, 14903, 17391, 102,
+ 2593, 15699, 14903, 17391, 180,
+ 2593, 15699, 14903, 17391, 222,
+ 2593, 15699, 14903, 17391, 320,
+ 2593, 15699, 14903, 17391, 480,
+ 2593, 15699, 14903, 17391, 500,
+ 2593, 15699, 14903, 17391, 798,
+ 2593, 15699, 14903, 17391, 804,
+ 2593, 15699, 14903, 17391, 806,
+ 2593, 15699, 14903, 17391, 810,
+ 2593, 15699, 14903, 17391, 816,
+ 2593, 15699, 14903, 17391, 818,
+ 2593, 15699, 14903, 17391, 842,
+ 2593, 15699, 14903, 17391, 862,
+ 2593, 15699, 14903, 17391, 1290,
+ 2593, 15699, 14903, 17391, 1298,
+ 2593, 15699, 14903, 17391, 1300,
+ 2593, 15699, 14903, 17391, 1312,
+ 2593, 15699, 14903, 17391, 2582,
+ 2593, 15699, 14903, 17391, 5198,
+ 2593, 16875, 9809, 0,
+ 2593, 16875, 9809, 16,
+ 2593, 16875, 9809, 40,
+ 2593, 16875, 9809, 106,
+ 2593, 16875, 9809, 124,
+ 2593, 16875, 9809, 148,
+ 2593, 16875, 9809, 158,
+ 2593, 16875, 9809, 168,
+ 2593, 16875, 9809, 224,
+ 2593, 16875, 9809, 244,
+ 2593, 16875, 9809, 260,
+ 2593, 16875, 9809, 266,
+ 2593, 16875, 9809, 334,
+ 2593, 16875, 9809, 338,
+ 2593, 16875, 9809, 348,
+ 2593, 16875, 9809, 368,
+ 2593, 16875, 9809, 382,
+ 2593, 16875, 9809, 414,
+ 2593, 16875, 9809, 428,
+ 2593, 16875, 9809, 438,
+ 2593, 16875, 9809, 446,
+ 2593, 16875, 9809, 470,
+ 2593, 16875, 9809, 520,
+ 2593, 16875, 9809, 570,
+ 2593, 16875, 9809, 582,
+ 2593, 16875, 9809, 586,
+ 2593, 16875, 9809, 620,
+ 2593, 16875, 9809, 640,
+ 2593, 16875, 9809, 678,
+ 2593, 16875, 9809, 682,
+ 2593, 16875, 9809, 716,
+ 2593, 16875, 9809, 732,
+ 2593, 16875, 9809, 750,
+ 2593, 16875, 9809, 3030,
+ 2593, 16875, 9809, 3094,
+ 2593, 16875, 9809, 3222,
+ 2593, 16875, 9809, 5696,
+ 2593, 16875, 9809, 15984,
+ 2593, 16875, 9809, 18852,
+ 2593, 16875, 9809, 19696,
+ 2593, 16875, 9809, 20372,
+ 2593, 16875, 9809, 20796,
+ 2593, 16875, 9809, 20798,
+ 2593, 16875, 9809, 21048,
+ 2593, 16875, 10605, 16150,
+ 2593, 16875, 15133, 2596,
+ 2593, 16875, 15133, 3212,
+ 2593, 16875, 15133, 3336,
+ 2593, 16875, 15133, 15708,
+ 2593, 16875, 15133, 16378,
+ 2593, 18277, 17624,
+ 2593, 19145, 13483, 14903, 0,
+ 2593, 19145, 13483, 14903, 8,
+ 2593, 19145, 13483, 14903, 16,
+ 2593, 19145, 13483, 14903, 28,
+ 2593, 19145, 13483, 14903, 40,
+ 2593, 19145, 13483, 14903, 58,
+ 2593, 19145, 13483, 14903, 74,
+ 2593, 19145, 13483, 14903, 178,
+ 2593, 19145, 13483, 14903, 180,
+ 2593, 19145, 13483, 14903, 182,
+ 2593, 19145, 13483, 14903, 184,
+ 2593, 19145, 13483, 14903, 186,
+ 2593, 19145, 13483, 14903, 188,
+ 2593, 19145, 13483, 14903, 190,
+ 2593, 19145, 13483, 14903, 194,
+ 2593, 19145, 13483, 14903, 196,
+ 2593, 19145, 13483, 14903, 198,
+ 2593, 19145, 13483, 14903, 200,
+ 2593, 19145, 13483, 14903, 202,
+ 2593, 19145, 13483, 14903, 206,
+ 2593, 19145, 13483, 14903, 208,
+ 2593, 19145, 13483, 14903, 210,
+ 2593, 19145, 13483, 14903, 212,
+ 2593, 19145, 13483, 14903, 216,
+ 2593, 19145, 13483, 14903, 222,
+ 2593, 19145, 13483, 14903, 306,
+ 2593, 19145, 13483, 14903, 496,
+ 2593, 19145, 13483, 14903, 672,
+ 2593, 19145, 13483, 14903, 674,
+ 2593, 19145, 13483, 14903, 838,
+ 2593, 19145, 13483, 14903, 840,
+ 2593, 19145, 13483, 14903, 1264,
+ 2593, 19145, 13483, 14903, 1266,
+ 2593, 19145, 13483, 14903, 1276,
+ 2593, 19145, 13483, 14903, 1286,
+ 2593, 19145, 13483, 14903, 1288,
+ 2593, 19145, 13483, 14903, 1290,
+ 2593, 19145, 13483, 14903, 1298,
+ 2593, 19145, 13483, 14903, 1300,
+ 2593, 19145, 13483, 14903, 1318,
+ 2593, 19145, 13483, 14903, 1324,
+ 2593, 19145, 13483, 14903, 1336,
+ 2593, 19145, 13483, 14903, 2580,
+ 2593, 19145, 13483, 14903, 3380,
+ 2593, 19145, 13483, 14903, 11693, 8,
+ 2593, 19145, 13483, 14903, 13431, 208,
+ 2593, 19145, 13483, 14903, 19399, 480,
+ 2593, 19145, 13483, 14903, 19399, 654,
+ 2593, 19145, 13483, 14903, 19907, 9808,
+ 2593, 19145, 13483, 14903, 20075, 480,
+ 2593, 19145, 13483, 14903, 20075, 654,
+ 2593, 19145, 15133, 2596,
+ 2593, 19145, 15133, 2597, 16378,
+ 2593, 19145, 15133, 2597, 18566,
+ 2593, 19145, 15133, 3212,
+ 2593, 19145, 15133, 6720,
+ 2593, 19145, 15133, 12018,
+ 2593, 19145, 15993, 14903, 0,
+ 2593, 19145, 15993, 14903, 8,
+ 2593, 19145, 15993, 14903, 16,
+ 2593, 19145, 15993, 14903, 28,
+ 2593, 19145, 15993, 14903, 40,
+ 2593, 19145, 15993, 14903, 58,
+ 2593, 19145, 15993, 14903, 74,
+ 2593, 19145, 15993, 14903, 178,
+ 2593, 19145, 15993, 14903, 180,
+ 2593, 19145, 15993, 14903, 182,
+ 2593, 19145, 15993, 14903, 184,
+ 2593, 19145, 15993, 14903, 186,
+ 2593, 19145, 15993, 14903, 188,
+ 2593, 19145, 15993, 14903, 190,
+ 2593, 19145, 15993, 14903, 194,
+ 2593, 19145, 15993, 14903, 196,
+ 2593, 19145, 15993, 14903, 198,
+ 2593, 19145, 15993, 14903, 200,
+ 2593, 19145, 15993, 14903, 202,
+ 2593, 19145, 15993, 14903, 206,
+ 2593, 19145, 15993, 14903, 208,
+ 2593, 19145, 15993, 14903, 210,
+ 2593, 19145, 15993, 14903, 212,
+ 2593, 19145, 15993, 14903, 216,
+ 2593, 19145, 15993, 14903, 222,
+ 2593, 19145, 15993, 14903, 306,
+ 2593, 19145, 15993, 14903, 496,
+ 2593, 19145, 15993, 14903, 672,
+ 2593, 19145, 15993, 14903, 674,
+ 2593, 19145, 15993, 14903, 838,
+ 2593, 19145, 15993, 14903, 840,
+ 2593, 19145, 15993, 14903, 1264,
+ 2593, 19145, 15993, 14903, 1266,
+ 2593, 19145, 15993, 14903, 1276,
+ 2593, 19145, 15993, 14903, 1286,
+ 2593, 19145, 15993, 14903, 1288,
+ 2593, 19145, 15993, 14903, 1290,
+ 2593, 19145, 15993, 14903, 1298,
+ 2593, 19145, 15993, 14903, 1300,
+ 2593, 19145, 15993, 14903, 1318,
+ 2593, 19145, 15993, 14903, 1324,
+ 2593, 19145, 15993, 14903, 1336,
+ 2593, 19145, 15993, 14903, 2580,
+ 2593, 19145, 15993, 14903, 3380,
+ 2593, 19145, 15993, 14903, 11693, 8,
+ 2593, 19145, 15993, 14903, 13431, 208,
+ 2593, 19145, 15993, 14903, 19399, 480,
+ 2593, 19145, 15993, 14903, 19399, 654,
+ 2593, 19145, 15993, 14903, 19907, 9808,
+ 2593, 19145, 15993, 14903, 20075, 480,
+ 2593, 19145, 15993, 14903, 20075, 654,
+ 2597, 1213, 9131, 3337, 6403, 20658,
+ 2597, 1213, 14888,
+ 2597, 14333, 12696,
+ 2637, 1061, 1595, 14903, 0,
+ 2637, 1061, 1595, 14903, 8,
+ 2637, 1061, 1595, 14903, 16,
+ 2637, 1061, 1595, 14903, 28,
+ 2637, 1061, 1595, 14903, 40,
+ 2637, 1061, 1595, 14903, 106,
+ 2637, 1061, 1595, 14903, 124,
+ 2637, 1061, 1595, 14903, 148,
+ 2637, 1061, 1595, 14903, 224,
+ 2637, 1061, 1595, 14903, 244,
+ 2637, 1061, 1595, 14903, 266,
+ 2637, 1061, 1595, 14903, 290,
+ 2637, 1061, 1595, 14903, 348,
+ 2637, 1061, 1595, 14903, 382,
+ 2637, 1061, 1595, 14903, 414,
+ 2637, 1061, 1595, 14903, 446,
+ 2637, 1061, 1595, 14903, 520,
+ 2637, 1061, 1595, 14903, 570,
+ 2637, 1061, 1595, 14903, 586,
+ 2637, 1061, 1595, 14903, 620,
+ 2637, 1061, 1595, 14903, 646,
+ 2637, 1061, 1595, 14903, 678,
+ 2637, 1061, 1595, 14903, 750,
+ 2637, 1061, 1595, 14903, 1040,
+ 2637, 1061, 1595, 14903, 1904,
+ 2637, 1061, 1595, 14903, 2432,
+ 2637, 1061, 1595, 14903, 2660,
+ 2637, 1061, 1595, 14903, 3222,
+ 2637, 1061, 1595, 14903, 12023, 20,
+ 2637, 1061, 1595, 14903, 12023, 22,
+ 2637, 1061, 1595, 14903, 12023, 24,
+ 2637, 1061, 1595, 14903, 12023, 26,
+ 2637, 1061, 1595, 14903, 12023, 30,
+ 2637, 1061, 1595, 14903, 12023, 38,
+ 2637, 1061, 1595, 14903, 12023, 44,
+ 2637, 1061, 1595, 14903, 12023, 48,
+ 2637, 1061, 1595, 14903, 12023, 454,
+ 2637, 1061, 1595, 15347, 10172,
+ 2637, 1061, 1595, 15347, 10173, 7844,
+ 2637, 1061, 1595, 15347, 10173, 7845, 12022,
+ 2637, 1061, 1595, 15347, 10173, 12022,
+ 2637, 1061, 1595, 15379, 10172,
+ 2637, 1061, 1595, 15379, 10173, 7844,
+ 2637, 1061, 1595, 15379, 10173, 7845, 12022,
+ 2637, 1061, 1595, 15379, 10173, 12022,
+ 2637, 1061, 1595, 15379, 16327, 9910,
+ 2637, 1061, 1595, 15379, 16327, 9911, 12022,
+ 2637, 1061, 1595, 16327, 9910,
+ 2637, 1061, 1595, 16327, 9911, 12022,
+ 2637, 1061, 1595, 16327, 9911, 17328,
+ 2637, 1061, 1595, 19247, 10172,
+ 2637, 1061, 1595, 19247, 10173, 7845, 12022,
+ 2637, 1061, 1595, 19247, 10173, 12022,
+ 2637, 1061, 1595, 20557, 10172,
+ 2637, 1061, 1595, 20557, 10173, 7844,
+ 2637, 1061, 1595, 20557, 10173, 7845, 12022,
+ 2637, 1061, 1595, 20557, 10173, 12022,
+ 2639, 15286,
+ 2644,
+ 2646,
+ 2653, 9131, 17147, 17870,
+ 2655, 3213, 18567, 9808,
+ 2655, 9808,
+ 2655, 12673, 9808,
+ 2672,
+ 2673, 6682,
+ 2673, 8806,
+ 2693, 20393, 16410,
+ 2693, 20393, 19940,
+ 2695, 483, 6732,
+ 2727, 14933, 315, 1767, 13171, 15564,
+ 2860,
+ 2868,
+ 2879, 11412,
+ 2908,
+ 2910,
+ 2912,
+ 2914,
+ 3025, 12674,
+ 3040,
+ 3057, 16913, 9905, 10595, 15021, 1212,
+ 3057, 16913, 11521, 9904,
+ 3057, 16913, 18287, 9904,
+ 3057, 18279, 11521, 841, 13965, 17912,
+ 3061, 841, 3061, 5834,
+ 3116,
+ 3117, 10595, 6682,
+ 3117, 14283, 11696,
+ 3173, 2163, 7816,
+ 3173, 6757, 9910,
+ 3173, 7779, 11725, 15970,
+ 3173, 7779, 15513, 15970,
+ 3173, 7779, 20628,
+ 3173, 9243, 9808,
+ 3173, 11702,
+ 3173, 11708,
+ 3173, 11849, 2596,
+ 3173, 11849, 3056,
+ 3173, 11849, 3336,
+ 3173, 11849, 6720,
+ 3173, 11849, 6742,
+ 3173, 11849, 8736,
+ 3173, 11849, 10854,
+ 3173, 11849, 11916,
+ 3173, 11849, 13376,
+ 3173, 11849, 13654,
+ 3173, 12169, 14178,
+ 3173, 12477, 13483, 14903, 0,
+ 3173, 12477, 13483, 14903, 2,
+ 3173, 12477, 13483, 14903, 4,
+ 3173, 12477, 13483, 14903, 6,
+ 3173, 12477, 13483, 14903, 8,
+ 3173, 12477, 13483, 14903, 10,
+ 3173, 12477, 13483, 14903, 12,
+ 3173, 12477, 13483, 14903, 14,
+ 3173, 12477, 13483, 14903, 16,
+ 3173, 12477, 13483, 14903, 18,
+ 3173, 12477, 13483, 14903, 20,
+ 3173, 12477, 13483, 14903, 22,
+ 3173, 12477, 13483, 14903, 24,
+ 3173, 12477, 13483, 14903, 26,
+ 3173, 12477, 13483, 14903, 28,
+ 3173, 12477, 13483, 14903, 30,
+ 3173, 12477, 13483, 14903, 32,
+ 3173, 12477, 13483, 14903, 34,
+ 3173, 12477, 13483, 14903, 36,
+ 3173, 12477, 13483, 14903, 38,
+ 3173, 12477, 13483, 14903, 40,
+ 3173, 12477, 13483, 14903, 42,
+ 3173, 12477, 13483, 14903, 44,
+ 3173, 12477, 13483, 14903, 46,
+ 3173, 12477, 13483, 14903, 48,
+ 3173, 12477, 13483, 14903, 50,
+ 3173, 12477, 15993, 14903, 0,
+ 3173, 12477, 15993, 14903, 2,
+ 3173, 12477, 15993, 14903, 4,
+ 3173, 12477, 15993, 14903, 6,
+ 3173, 12477, 15993, 14903, 8,
+ 3173, 12477, 15993, 14903, 10,
+ 3173, 12477, 15993, 14903, 12,
+ 3173, 12477, 15993, 14903, 14,
+ 3173, 12477, 15993, 14903, 16,
+ 3173, 12477, 15993, 14903, 18,
+ 3173, 12477, 15993, 14903, 20,
+ 3173, 12477, 15993, 14903, 22,
+ 3173, 12477, 15993, 14903, 24,
+ 3173, 12477, 15993, 14903, 26,
+ 3173, 12477, 15993, 14903, 28,
+ 3173, 12477, 15993, 14903, 30,
+ 3173, 12477, 15993, 14903, 32,
+ 3173, 12477, 15993, 14903, 34,
+ 3173, 12477, 15993, 14903, 36,
+ 3173, 12477, 15993, 14903, 38,
+ 3173, 12477, 15993, 14903, 40,
+ 3173, 12477, 15993, 14903, 42,
+ 3173, 12477, 15993, 14903, 44,
+ 3173, 12477, 15993, 14903, 46,
+ 3173, 12477, 15993, 14903, 48,
+ 3173, 12477, 15993, 14903, 50,
+ 3173, 13271, 11725, 15970,
+ 3173, 13271, 15513, 15970,
+ 3173, 13271, 20628,
+ 3173, 13502,
+ 3173, 13676,
+ 3173, 14509, 9808,
+ 3173, 14555, 9808,
+ 3173, 15133, 9808,
+ 3173, 16873, 9808,
+ 3173, 16991, 17118,
+ 3173, 17118,
+ 3173, 17496,
+ 3173, 18335, 8282,
+ 3173, 18669, 7816,
+ 3173, 18716,
+ 3173, 19215, 9808,
+ 3173, 19359, 8282,
+ 3173, 19416,
+ 3173, 19676,
+ 3173, 19717, 14178,
+ 3173, 19719, 92,
+ 3173, 20469, 8282,
+ 3173, 20877, 9808,
+ 3173, 20890,
+ 3177, 387, 14903, 0,
+ 3177, 387, 14903, 8,
+ 3177, 387, 14903, 16,
+ 3177, 387, 14903, 28,
+ 3177, 387, 14903, 40,
+ 3177, 387, 14903, 72,
+ 3177, 387, 14903, 184,
+ 3177, 387, 14903, 190,
+ 3177, 387, 14903, 224,
+ 3177, 387, 14903, 266,
+ 3177, 387, 14903, 348,
+ 3177, 387, 14903, 382,
+ 3177, 387, 14903, 414,
+ 3177, 387, 14903, 446,
+ 3177, 387, 14903, 496,
+ 3177, 387, 14903, 520,
+ 3177, 387, 14903, 554,
+ 3177, 387, 14903, 586,
+ 3177, 387, 14903, 620,
+ 3177, 387, 14903, 654,
+ 3177, 387, 14903, 678,
+ 3177, 387, 14903, 716,
+ 3177, 387, 14903, 732,
+ 3177, 387, 14903, 868,
+ 3177, 387, 14903, 1904,
+ 3177, 387, 14903, 2432,
+ 3177, 387, 14903, 2660,
+ 3177, 387, 14903, 3222,
+ 3177, 387, 14903, 3288,
+ 3177, 387, 14903, 10194,
+ 3177, 387, 14903, 15652,
+ 3177, 387, 14903, 15654,
+ 3177, 387, 14903, 15656,
+ 3177, 387, 14903, 15658,
+ 3177, 387, 14903, 15660,
+ 3177, 10097, 7265, 11849, 2596,
+ 3177, 10097, 7265, 11849, 3056,
+ 3177, 10097, 7265, 11849, 3336,
+ 3177, 10097, 7265, 11849, 6720,
+ 3177, 10097, 7265, 11849, 6742,
+ 3177, 10097, 7265, 11849, 8736,
+ 3177, 10097, 7265, 11849, 10854,
+ 3177, 10097, 7265, 11849, 11916,
+ 3177, 10097, 7265, 11849, 13376,
+ 3177, 10097, 7265, 11849, 13654,
+ 3177, 10097, 9809, 571, 7078,
+ 3177, 10097, 9809, 1680,
+ 3177, 10097, 9809, 2229, 3000,
+ 3177, 10097, 9809, 2229, 7554,
+ 3177, 10097, 9809, 2229, 7555, 2062,
+ 3177, 10097, 9809, 2229, 14024,
+ 3177, 10097, 9809, 7092,
+ 3177, 10097, 9809, 7526,
+ 3177, 10097, 9809, 7584,
+ 3177, 10097, 9809, 11586,
+ 3177, 10097, 9809, 12413, 15654,
+ 3177, 10097, 9809, 12413, 15656,
+ 3177, 10097, 9809, 12413, 15658,
+ 3177, 10097, 9809, 13336,
+ 3177, 10097, 9809, 13354,
+ 3177, 10097, 9809, 13968,
+ 3177, 10097, 9809, 14504,
+ 3177, 10097, 9809, 15650,
+ 3177, 10097, 9809, 15652,
+ 3177, 10097, 9809, 16424,
+ 3177, 10097, 9809, 17032,
+ 3177, 10097, 9809, 18367, 17007, 9424,
+ 3177, 10097, 9809, 19195, 12372,
+ 3177, 10097, 9809, 19644,
+ 3177, 10097, 9809, 20166,
+ 3177, 10097, 10097, 11849, 2596,
+ 3177, 10097, 10097, 11849, 3056,
+ 3177, 10097, 10097, 11849, 3336,
+ 3177, 10097, 10097, 11849, 6720,
+ 3177, 10097, 10097, 11849, 6742,
+ 3177, 10097, 10097, 11849, 8736,
+ 3177, 10097, 10097, 11849, 10854,
+ 3177, 10097, 10097, 11849, 11916,
+ 3177, 10097, 10097, 11849, 13376,
+ 3177, 10097, 10097, 11849, 13654,
+ 3177, 10097, 13921, 9809, 0,
+ 3177, 10097, 13921, 9809, 8,
+ 3177, 10097, 13921, 9809, 16,
+ 3177, 10097, 13921, 9809, 28,
+ 3177, 10097, 13921, 9809, 40,
+ 3177, 10097, 13921, 9809, 58,
+ 3177, 10097, 13921, 9809, 66,
+ 3177, 10097, 13921, 9809, 72,
+ 3177, 10097, 13921, 9809, 306,
+ 3177, 10097, 13921, 9809, 477, 11346,
+ 3177, 10097, 13921, 9809, 477, 11502,
+ 3177, 10097, 13921, 9809, 496,
+ 3177, 10097, 13921, 9809, 516,
+ 3177, 10097, 13921, 9809, 654,
+ 3177, 10097, 13921, 9809, 674,
+ 3177, 10097, 13921, 9809, 2229, 3010,
+ 3177, 10097, 13921, 9809, 3406,
+ 3177, 10097, 13921, 9809, 10053, 58,
+ 3177, 10097, 13921, 9809, 10097, 72,
+ 3177, 10097, 14903, 0,
+ 3177, 10097, 14903, 16,
+ 3177, 10097, 14903, 40,
+ 3177, 10097, 14903, 106,
+ 3177, 10097, 14903, 148,
+ 3177, 10097, 14903, 184,
+ 3177, 10097, 14903, 306,
+ 3177, 10097, 14903, 382,
+ 3177, 10097, 14903, 414,
+ 3177, 10097, 14903, 446,
+ 3177, 10097, 14903, 496,
+ 3177, 10097, 14903, 570,
+ 3177, 10097, 14903, 674,
+ 3177, 10097, 14903, 692,
+ 3177, 10097, 14903, 2058,
+ 3177, 10097, 14903, 2142,
+ 3177, 10097, 14903, 2163, 124,
+ 3177, 10097, 14903, 2163, 224,
+ 3177, 10097, 14903, 2163, 266,
+ 3177, 10097, 14903, 2163, 348,
+ 3177, 10097, 14903, 2163, 520,
+ 3177, 10097, 14903, 2163, 586,
+ 3177, 10097, 14903, 2163, 620,
+ 3177, 10097, 14903, 2163, 732,
+ 3177, 10097, 14903, 2163, 1040,
+ 3177, 10097, 14903, 2163, 1904,
+ 3177, 10097, 14903, 2163, 2036,
+ 3177, 10097, 14903, 2163, 2660,
+ 3177, 10097, 14903, 2163, 3222,
+ 3177, 10097, 14903, 2163, 13248,
+ 3177, 10097, 14903, 2180,
+ 3177, 10097, 14903, 2432,
+ 3177, 10097, 14903, 2544,
+ 3177, 10097, 14903, 2952,
+ 3177, 10097, 14903, 7135, 124,
+ 3177, 10097, 14903, 7135, 224,
+ 3177, 10097, 14903, 7135, 266,
+ 3177, 10097, 14903, 7135, 348,
+ 3177, 10097, 14903, 7135, 520,
+ 3177, 10097, 14903, 7135, 586,
+ 3177, 10097, 14903, 7135, 620,
+ 3177, 10097, 14903, 7135, 732,
+ 3177, 10097, 14903, 7135, 1040,
+ 3177, 10097, 14903, 7135, 1904,
+ 3177, 10097, 14903, 7135, 2036,
+ 3177, 10097, 14903, 7135, 2660,
+ 3177, 10097, 14903, 7135, 3030,
+ 3177, 10097, 14903, 7135, 3094,
+ 3177, 10097, 14903, 7135, 3222,
+ 3177, 10097, 14903, 7135, 13248,
+ 3177, 10097, 14903, 9424,
+ 3177, 10097, 14903, 9426,
+ 3177, 10097, 14903, 12171, 586,
+ 3177, 10097, 18819, 21079, 1212,
+ 3177, 10097, 18831, 9809, 106,
+ 3177, 10097, 18831, 9809, 383, 10055, 2062,
+ 3177, 10097, 18831, 9809, 414,
+ 3177, 10097, 18831, 9809, 586,
+ 3177, 10097, 18831, 9809, 2163, 520,
+ 3177, 10097, 18831, 9809, 7135, 13249, 503, 2163, 520,
+ 3177, 10097, 18831, 9809, 12023, 2432,
+ 3177, 10097, 18831, 9809, 14995, 382,
+ 3177, 10097, 18831, 9809, 14995, 570,
+ 3177, 10501, 2229, 7554,
+ 3177, 10501, 2229, 7614,
+ 3177, 10501, 10173, 2229, 196,
+ 3177, 10501, 10173, 2229, 3228,
+ 3177, 10501, 10173, 2229, 9846,
+ 3177, 10501, 10173, 2229, 12984,
+ 3177, 10501, 13921, 8,
+ 3177, 10501, 13921, 16,
+ 3177, 10501, 13921, 28,
+ 3177, 10501, 13921, 40,
+ 3177, 10501, 13921, 58,
+ 3177, 10501, 13921, 78,
+ 3177, 10501, 13921, 80,
+ 3177, 10501, 13921, 102,
+ 3177, 10501, 13921, 290,
+ 3177, 10501, 13921, 646,
+ 3177, 10501, 13921, 654,
+ 3177, 10501, 13921, 868,
+ 3177, 10501, 13921, 3364,
+ 3177, 10501, 14903, 2163, 28,
+ 3177, 10501, 14903, 2163, 116,
+ 3177, 10501, 14903, 2163, 140,
+ 3177, 10501, 14903, 2163, 166,
+ 3177, 10501, 14903, 2163, 236,
+ 3177, 10501, 14903, 2163, 258,
+ 3177, 10501, 14903, 2163, 280,
+ 3177, 10501, 14903, 2163, 364,
+ 3177, 10501, 14903, 2163, 400,
+ 3177, 10501, 14903, 2163, 434,
+ 3177, 10501, 14903, 2163, 466,
+ 3177, 10501, 14903, 2163, 538,
+ 3177, 10501, 14903, 2163, 578,
+ 3177, 10501, 14903, 2163, 600,
+ 3177, 10501, 14903, 2163, 632,
+ 3177, 10501, 14903, 2163, 684,
+ 3177, 10501, 14903, 2163, 740,
+ 3177, 10501, 14903, 2163, 1046,
+ 3177, 10501, 14903, 2163, 1910,
+ 3177, 10501, 14903, 2163, 2440,
+ 3177, 10501, 14903, 2163, 2552,
+ 3177, 10501, 14903, 2163, 2666,
+ 3177, 10501, 14903, 2163, 3228,
+ 3177, 10501, 14903, 2163, 7612,
+ 3177, 10501, 14903, 7135, 28,
+ 3177, 10501, 14903, 7135, 116,
+ 3177, 10501, 14903, 7135, 140,
+ 3177, 10501, 14903, 7135, 166,
+ 3177, 10501, 14903, 7135, 236,
+ 3177, 10501, 14903, 7135, 258,
+ 3177, 10501, 14903, 7135, 280,
+ 3177, 10501, 14903, 7135, 364,
+ 3177, 10501, 14903, 7135, 400,
+ 3177, 10501, 14903, 7135, 434,
+ 3177, 10501, 14903, 7135, 466,
+ 3177, 10501, 14903, 7135, 538,
+ 3177, 10501, 14903, 7135, 578,
+ 3177, 10501, 14903, 7135, 600,
+ 3177, 10501, 14903, 7135, 632,
+ 3177, 10501, 14903, 7135, 684,
+ 3177, 10501, 14903, 7135, 740,
+ 3177, 10501, 14903, 7135, 1046,
+ 3177, 10501, 14903, 7135, 1910,
+ 3177, 10501, 14903, 7135, 2440,
+ 3177, 10501, 14903, 7135, 2552,
+ 3177, 10501, 14903, 7135, 2666,
+ 3177, 10501, 14903, 7135, 3228,
+ 3177, 10501, 14903, 7135, 7612,
+ 3177, 10501, 15565, 281, 1666,
+ 3177, 10501, 15565, 1961, 1960,
+ 3177, 10501, 15565, 1964,
+ 3177, 10501, 15565, 3000,
+ 3177, 10501, 15565, 12984,
+ 3237, 9131, 18006,
+ 3273, 857, 18813, 11429, 10595, 12674,
+ 3273, 857, 21057, 11428,
+ 3273, 857, 21057, 11429, 10595, 9242,
+ 3273, 1592,
+ 3273, 7087, 11521, 14396,
+ 3273, 7087, 17045, 9808,
+ 3273, 7087, 18010,
+ 3273, 7779, 6080,
+ 3273, 7779, 7087, 15970,
+ 3273, 7779, 14428,
+ 3273, 10595, 17319, 11429, 11346,
+ 3273, 11725, 15970,
+ 3273, 13271, 6080,
+ 3273, 13271, 7087, 15970,
+ 3273, 13271, 14428,
+ 3273, 15513, 15970,
+ 3273, 18585, 13407, 15970,
+ 3273, 20628,
+ 3337, 1213, 14888,
+ 3337, 1213, 20658,
+ 3337, 2271, 16373, 12198,
+ 3337, 6403, 9131, 2597, 1213, 20658,
+ 3337, 13983, 16373, 12198,
+ 3337, 14333, 12696,
+ 3337, 14730,
+ 3337, 14793, 17140,
+ 3337, 15493, 15978,
+ 3337, 16603, 503, 18214,
+ 3337, 16603, 841, 18214,
+ 3337, 18737, 15867, 20288,
+ 3337, 20357, 14555, 13454,
+ 3337, 20903, 16603, 502,
+ 3337, 20903, 16603, 840,
+ 3421, 6757, 9910,
+ 3421, 11708,
+ 3421, 11849, 2596,
+ 3421, 11849, 3056,
+ 3421, 11849, 3336,
+ 3421, 11849, 6720,
+ 3421, 11849, 6742,
+ 3421, 11849, 8736,
+ 3421, 11849, 10854,
+ 3421, 11849, 11916,
+ 3421, 11849, 13376,
+ 3421, 11849, 13654,
+ 3421, 15565, 1338,
+ 3421, 15565, 2454,
+ 3421, 15565, 3166,
+ 3421, 15565, 5708,
+ 3421, 15565, 6252,
+ 3421, 15565, 6390,
+ 3421, 15565, 7484,
+ 3421, 15565, 7678,
+ 3421, 15565, 10148,
+ 3421, 15565, 10174,
+ 3421, 15565, 11868,
+ 3421, 15565, 12008,
+ 3421, 15565, 12384,
+ 3421, 18335, 8282,
+ 3421, 18519, 0,
+ 3421, 18519, 8,
+ 3421, 18519, 16,
+ 3421, 18519, 28,
+ 3421, 18519, 40,
+ 3421, 18519, 80,
+ 3421, 18519, 106,
+ 3421, 18519, 110,
+ 3421, 18519, 114,
+ 3421, 18519, 116,
+ 3421, 18519, 120,
+ 3421, 18519, 124,
+ 3421, 18519, 130,
+ 3421, 18519, 134,
+ 3421, 18519, 140,
+ 3421, 18519, 142,
+ 3421, 18519, 148,
+ 3421, 18519, 154,
+ 3421, 18519, 158,
+ 3421, 18519, 166,
+ 3421, 18519, 168,
+ 3421, 18519, 184,
+ 3421, 18519, 202,
+ 3421, 18519, 224,
+ 3421, 18519, 226,
+ 3421, 18519, 230,
+ 3421, 18519, 236,
+ 3421, 18519, 238,
+ 3421, 18519, 244,
+ 3421, 18519, 248,
+ 3421, 18519, 254,
+ 3421, 18519, 258,
+ 3421, 18519, 260,
+ 3421, 18519, 266,
+ 3421, 18519, 268,
+ 3421, 18519, 272,
+ 3421, 18519, 280,
+ 3421, 18519, 284,
+ 3421, 18519, 314,
+ 3421, 18519, 334,
+ 3421, 18519, 336,
+ 3421, 18519, 338,
+ 3421, 18519, 340,
+ 3421, 18519, 342,
+ 3421, 18519, 348,
+ 3421, 18519, 352,
+ 3421, 18519, 356,
+ 3421, 18519, 364,
+ 3421, 18519, 368,
+ 3421, 18519, 382,
+ 3421, 18519, 386,
+ 3421, 18519, 390,
+ 3421, 18519, 400,
+ 3421, 18519, 404,
+ 3421, 18519, 414,
+ 3421, 18519, 422,
+ 3421, 18519, 428,
+ 3421, 18519, 434,
+ 3421, 18519, 438,
+ 3421, 18519, 446,
+ 3421, 18519, 450,
+ 3421, 18519, 454,
+ 3421, 18519, 458,
+ 3421, 18519, 466,
+ 3421, 18519, 470,
+ 3421, 18519, 494,
+ 3421, 18519, 496,
+ 3421, 18519, 520,
+ 3421, 18519, 526,
+ 3421, 18519, 534,
+ 3421, 18519, 538,
+ 3421, 18519, 544,
+ 3421, 18519, 570,
+ 3421, 18519, 572,
+ 3421, 18519, 576,
+ 3421, 18519, 578,
+ 3421, 18519, 582,
+ 3421, 18519, 586,
+ 3421, 18519, 590,
+ 3421, 18519, 596,
+ 3421, 18519, 600,
+ 3421, 18519, 610,
+ 3421, 18519, 620,
+ 3421, 18519, 624,
+ 3421, 18519, 628,
+ 3421, 18519, 632,
+ 3421, 18519, 640,
+ 3421, 18519, 664,
+ 3421, 18519, 678,
+ 3421, 18519, 680,
+ 3421, 18519, 682,
+ 3421, 18519, 684,
+ 3421, 18519, 688,
+ 3421, 18519, 692,
+ 3421, 18519, 698,
+ 3421, 18519, 704,
+ 3421, 18519, 708,
+ 3421, 18519, 710,
+ 3421, 18519, 732,
+ 3421, 18519, 734,
+ 3421, 18519, 736,
+ 3421, 18519, 740,
+ 3421, 18519, 744,
+ 3421, 18519, 750,
+ 3421, 18519, 752,
+ 3421, 18519, 756,
+ 3421, 18519, 758,
+ 3421, 18519, 760,
+ 3421, 18519, 916,
+ 3421, 18519, 930,
+ 3421, 18519, 932,
+ 3421, 18519, 934,
+ 3421, 18519, 936,
+ 3421, 18519, 938,
+ 3421, 18519, 958,
+ 3421, 18519, 1030,
+ 3421, 18519, 1074,
+ 3421, 18519, 1148,
+ 3421, 18519, 1160,
+ 3421, 18519, 1162,
+ 3421, 18519, 1164,
+ 3421, 18519, 1166,
+ 3421, 18519, 1168,
+ 3421, 18519, 1208,
+ 3421, 18519, 1272,
+ 3421, 18519, 1358,
+ 3421, 18519, 1386,
+ 3421, 18519, 1452,
+ 3421, 18519, 1454,
+ 3421, 18519, 1456,
+ 3421, 18519, 1458,
+ 3421, 18519, 1460,
+ 3421, 18519, 1462,
+ 3421, 18519, 1466,
+ 3421, 18519, 1520,
+ 3421, 18519, 1584,
+ 3421, 18519, 1598,
+ 3421, 18519, 1604,
+ 3421, 18519, 1626,
+ 3421, 18519, 1670,
+ 3421, 18519, 1672,
+ 3421, 18519, 1690,
+ 3421, 18519, 1778,
+ 3421, 18519, 1816,
+ 3421, 18519, 1868,
+ 3421, 18519, 1886,
+ 3421, 18519, 1966,
+ 3421, 18519, 1976,
+ 3421, 18519, 1978,
+ 3421, 18519, 1980,
+ 3421, 18519, 1982,
+ 3421, 18519, 1984,
+ 3421, 18519, 2094,
+ 3421, 18519, 2152,
+ 3421, 18519, 2254,
+ 3421, 18519, 2256,
+ 3421, 18519, 2258,
+ 3421, 18519, 2260,
+ 3421, 18519, 2262,
+ 3421, 18519, 2266,
+ 3421, 18519, 2318,
+ 3421, 18519, 2408,
+ 3421, 18519, 2410,
+ 3421, 18519, 2412,
+ 3421, 18519, 2414,
+ 3421, 18519, 2416,
+ 3421, 18519, 2418,
+ 3421, 18519, 2466,
+ 3421, 18519, 2468,
+ 3421, 18519, 2470,
+ 3421, 18519, 2472,
+ 3421, 18519, 2474,
+ 3421, 18519, 2492,
+ 3421, 18519, 2544,
+ 3421, 18519, 2548,
+ 3421, 18519, 2550,
+ 3421, 18519, 2552,
+ 3421, 18519, 2554,
+ 3421, 18519, 2608,
+ 3421, 18519, 2648,
+ 3421, 18519, 2690,
+ 3421, 18519, 2880,
+ 3421, 18519, 2930,
+ 3421, 18519, 3018,
+ 3421, 18519, 3030,
+ 3421, 18519, 3032,
+ 3421, 18519, 3034,
+ 3421, 18519, 3036,
+ 3421, 18519, 3038,
+ 3421, 18519, 3074,
+ 3421, 18519, 3206,
+ 3421, 18519, 3222,
+ 3421, 18519, 3224,
+ 3421, 18519, 3226,
+ 3421, 18519, 3228,
+ 3421, 18519, 3230,
+ 3421, 18519, 3270,
+ 3421, 18519, 3434,
+ 3421, 18519, 3460,
+ 3421, 18519, 3500,
+ 3421, 18519, 3516,
+ 3421, 18519, 3520,
+ 3421, 18519, 3530,
+ 3421, 18519, 3536,
+ 3421, 18519, 3538,
+ 3421, 18519, 3552,
+ 3421, 18519, 3670,
+ 3421, 18519, 3702,
+ 3421, 18519, 3778,
+ 3421, 18519, 3786,
+ 3421, 18519, 3788,
+ 3421, 18519, 3790,
+ 3421, 18519, 3792,
+ 3421, 18519, 3794,
+ 3421, 18519, 3818,
+ 3421, 18519, 5796,
+ 3421, 18519, 5798,
+ 3421, 18519, 6350,
+ 3421, 18519, 6352,
+ 3421, 18519, 6354,
+ 3421, 18519, 6356,
+ 3421, 18519, 6358,
+ 3421, 18519, 6360,
+ 3421, 18519, 6364,
+ 3421, 18519, 6896,
+ 3421, 18519, 6898,
+ 3421, 18519, 6902,
+ 3421, 18519, 6904,
+ 3421, 18519, 7660,
+ 3421, 18519, 7662,
+ 3421, 18519, 7664,
+ 3421, 18519, 7666,
+ 3421, 18519, 8296,
+ 3421, 18519, 8302,
+ 3421, 18519, 8354,
+ 3421, 18519, 8356,
+ 3421, 18519, 8358,
+ 3421, 18519, 8360,
+ 3421, 18519, 8362,
+ 3421, 18519, 8614,
+ 3421, 18519, 8632,
+ 3421, 18519, 8664,
+ 3421, 18519, 8676,
+ 3421, 18519, 8682,
+ 3421, 18519, 8684,
+ 3421, 18519, 8686,
+ 3421, 18519, 8688,
+ 3421, 18519, 8690,
+ 3421, 18519, 8702,
+ 3421, 18519, 8748,
+ 3421, 18519, 8758,
+ 3421, 18519, 8908,
+ 3421, 18519, 8938,
+ 3421, 18519, 9710,
+ 3421, 18519, 9744,
+ 3421, 18519, 10104,
+ 3421, 18519, 10124,
+ 3421, 18519, 10578,
+ 3421, 18519, 10602,
+ 3421, 18519, 10868,
+ 3421, 18519, 10880,
+ 3421, 18519, 11842,
+ 3421, 18519, 11844,
+ 3421, 18519, 12650,
+ 3421, 18519, 12654,
+ 3421, 18519, 12769, 166,
+ 3421, 18519, 12769, 224,
+ 3421, 18519, 12769, 348,
+ 3421, 18519, 12769, 414,
+ 3421, 18519, 12769, 3074,
+ 3421, 18519, 12780,
+ 3421, 18519, 12782,
+ 3421, 18519, 12786,
+ 3421, 18519, 20006,
+ 3537, 9808,
+ 3588,
+ 3675, 9808,
+ 3691, 10704,
+ 3846,
+ 5205, 9809, 13300,
+ 5205, 9809, 13483, 17044,
+ 5205, 9809, 14842,
+ 5205, 9809, 17044,
+ 5205, 11849, 2596,
+ 5205, 11849, 3056,
+ 5205, 11849, 3336,
+ 5205, 11849, 6720,
+ 5205, 11849, 6742,
+ 5205, 11849, 8736,
+ 5205, 11849, 10854,
+ 5205, 11849, 11916,
+ 5205, 11849, 13376,
+ 5205, 11849, 13654,
+ 5205, 13921, 9809, 0,
+ 5205, 13921, 9809, 8,
+ 5205, 13921, 9809, 16,
+ 5205, 13921, 9809, 28,
+ 5205, 13921, 9809, 40,
+ 5205, 13921, 9809, 58,
+ 5205, 13921, 9809, 72,
+ 5205, 13921, 9809, 78,
+ 5205, 13921, 9809, 98,
+ 5205, 13921, 9809, 306,
+ 5205, 13921, 9809, 674,
+ 5205, 14903, 0,
+ 5205, 14903, 106,
+ 5205, 14903, 148,
+ 5205, 14903, 244,
+ 5205, 14903, 266,
+ 5205, 14903, 334,
+ 5205, 14903, 348,
+ 5205, 14903, 382,
+ 5205, 14903, 414,
+ 5205, 14903, 446,
+ 5205, 14903, 520,
+ 5205, 14903, 570,
+ 5205, 14903, 586,
+ 5205, 14903, 620,
+ 5205, 14903, 930,
+ 5205, 14903, 1040,
+ 5205, 14903, 1160,
+ 5205, 14903, 1486,
+ 5205, 14903, 1786,
+ 5205, 14903, 1904,
+ 5205, 14903, 2432,
+ 5205, 14903, 2544,
+ 5205, 14903, 2660,
+ 5205, 14903, 3222,
+ 5205, 14903, 18713, 244,
+ 5205, 14903, 18713, 620,
+ 5205, 15133, 3212,
+ 5205, 15133, 15708,
+ 5205, 15565, 682,
+ 5205, 18831, 9809, 14995, 382,
+ 5205, 18831, 9809, 14995, 570,
+ 5205, 18831, 9809, 14995, 18077, 570,
+ 5221, 15564,
+ 5246,
+ 5275, 15564,
+ 5690,
+ 5691, 11394,
+ 5691, 11654,
+ 5691, 14304,
+ 5691, 15564,
+ 5693, 483, 17870,
+ 5693, 10595, 19213, 11429, 11346,
+ 5710,
+ 5720,
+ 5773, 6682,
+ 5779, 2332,
+ 5780,
+ 5781, 10595, 20813, 15534,
+ 5781, 15564,
+ 5787, 11429, 18297, 19029, 10109, 12907, 6530,
+ 5806,
+ 5817, 5832,
+ 5817, 12210,
+ 5818,
+ 5825, 3057, 15501, 17496,
+ 5825, 6721, 15501, 17496,
+ 5825, 11917, 15501, 17496,
+ 5825, 12173, 11718,
+ 5825, 13965, 14396,
+ 5825, 13965, 15512,
+ 5825, 17022,
+ 5828,
+ 5832,
+ 5839, 483, 16380,
+ 5841, 15564,
+ 5865, 315, 20190,
+ 5871, 13083, 8282,
+ 5929, 3376,
+ 5943, 6705, 966,
+ 5943, 12324,
+ 5943, 12325, 17708,
+ 5945, 482,
+ 5947, 18480,
+ 5971, 9808,
+ 5977, 9808,
+ 5983, 11849, 2596,
+ 5983, 11849, 3056,
+ 5983, 11849, 3336,
+ 5983, 11849, 6720,
+ 5983, 11849, 6742,
+ 5983, 11849, 8736,
+ 5983, 11849, 10854,
+ 5983, 11849, 11916,
+ 5983, 11849, 13376,
+ 5983, 11849, 13654,
+ 5983, 13921, 9809, 16,
+ 5983, 13921, 9809, 28,
+ 5983, 13921, 9809, 40,
+ 5983, 13921, 9809, 58,
+ 5983, 13921, 9809, 72,
+ 5983, 13921, 9809, 94,
+ 5983, 13921, 9809, 192,
+ 5983, 13921, 9809, 306,
+ 5983, 13921, 9809, 480,
+ 5983, 13921, 9809, 654,
+ 5983, 14903, 0,
+ 5983, 14903, 8,
+ 5983, 14903, 16,
+ 5983, 14903, 28,
+ 5983, 14903, 40,
+ 5983, 14903, 72,
+ 5983, 14903, 106,
+ 5983, 14903, 148,
+ 5983, 14903, 244,
+ 5983, 14903, 266,
+ 5983, 14903, 334,
+ 5983, 14903, 348,
+ 5983, 14903, 382,
+ 5983, 14903, 414,
+ 5983, 14903, 446,
+ 5983, 14903, 520,
+ 5983, 14903, 570,
+ 5983, 14903, 586,
+ 5983, 14903, 620,
+ 5983, 14903, 678,
+ 5983, 14903, 732,
+ 5983, 14903, 902,
+ 5983, 14903, 930,
+ 5983, 14903, 1040,
+ 5983, 14903, 1138,
+ 5983, 14903, 1160,
+ 5983, 14903, 1486,
+ 5983, 14903, 1786,
+ 5983, 14903, 1904,
+ 5983, 14903, 2330,
+ 5983, 14903, 2432,
+ 5983, 14903, 2444,
+ 5983, 14903, 2520,
+ 5983, 14903, 2660,
+ 5983, 14903, 2700,
+ 5983, 14903, 3094,
+ 5983, 14903, 3222,
+ 5983, 14903, 6008,
+ 5983, 14903, 8716,
+ 5983, 14903, 8724,
+ 5983, 14903, 8726,
+ 5983, 14903, 12023, 12,
+ 5983, 14903, 12023, 20,
+ 5983, 14903, 12023, 22,
+ 5983, 14903, 12023, 26,
+ 5983, 14903, 12023, 30,
+ 5983, 14903, 12023, 34,
+ 5983, 14903, 12023, 38,
+ 5983, 14903, 12023, 48,
+ 5983, 14903, 12023, 132,
+ 5983, 14903, 12023, 454,
+ 5983, 14903, 12023, 606,
+ 5983, 18831, 9809, 382,
+ 5983, 18831, 9809, 570,
+ 5983, 18831, 9809, 692,
+ 5983, 18831, 9809, 732,
+ 5983, 18831, 9809, 12023, 14,
+ 5983, 18831, 9809, 12023, 24,
+ 5983, 18831, 9809, 12023, 454,
+ 5983, 20659, 11798,
+ 5983, 20659, 14533, 11798,
+ 5983, 20659, 15496,
+ 5983, 20659, 15671, 11798,
+ 6078,
+ 6085, 9474,
+ 6255, 13380,
+ 6255, 20242,
+ 6259, 15564,
+ 6393, 2499, 12040,
+ 6393, 2499, 13198,
+ 6393, 2499, 14500,
+ 6393, 2499, 14501, 10595, 18367, 18175, 13468,
+ 6393, 2499, 16059, 91, 15002,
+ 6393, 2499, 16059, 91, 15111, 18504,
+ 6393, 2499, 16059, 91, 15111, 18505, 503, 11942,
+ 6393, 2499, 16928,
+ 6393, 2499, 16929, 503, 11942,
+ 6393, 2499, 17172,
+ 6393, 2499, 17173, 503, 11942,
+ 6397, 9808,
+ 6398,
+ 6405, 483, 13130,
+ 6407, 6715, 10046,
+ 6407, 10040,
+ 6407, 10041, 10595, 14397, 11502,
+ 6407, 13271, 17687, 17860,
+ 6407, 18728,
+ 6531, 15571, 11718,
+ 6565, 9808,
+ 6568,
+ 6683, 10595, 467, 7017, 16316,
+ 6683, 10595, 489, 16316,
+ 6683, 10595, 6067, 13572,
+ 6683, 10595, 7847, 483, 17266,
+ 6683, 10595, 9127, 12698,
+ 6683, 10595, 9127, 12699, 841, 6067, 13572,
+ 6683, 10595, 13611, 483, 1824,
+ 6683, 10595, 16665, 8288,
+ 6683, 10595, 17001, 6568,
+ 6683, 10595, 19467, 15666,
+ 6683, 10595, 19467, 15667, 841, 17375, 1330,
+ 6683, 10595, 19467, 15667, 841, 21401, 6568,
+ 6683, 10595, 20730,
+ 6683, 10595, 20880,
+ 6683, 16650,
+ 6683, 17377, 12698,
+ 6683, 18571, 1, 7640,
+ 6683, 19405, 18861, 6732,
+ 6683, 19413, 315, 6690,
+ 6705, 14638,
+ 6705, 15986,
+ 6709, 14648,
+ 6709, 19344,
+ 6710,
+ 6711, 14552,
+ 6714,
+ 6715, 5931, 10595, 13577, 14478,
+ 6721, 1213, 8282,
+ 6721, 1213, 20658,
+ 6723, 315, 7252,
+ 6739, 841, 12420,
+ 6739, 841, 12421, 10595, 13174,
+ 6743, 1213, 8282,
+ 6743, 1213, 20658,
+ 6743, 7775, 14410,
+ 6743, 14429, 14227, 17605, 21056,
+ 6743, 16913, 11521, 9904,
+ 6743, 20347, 17496,
+ 6743, 21241, 17496,
+ 6743, 21567, 17496,
+ 6747, 6682,
+ 6751, 9260,
+ 6757, 8419, 10595, 6682,
+ 6757, 8419, 15564,
+ 6757, 9910,
+ 6757, 11528,
+ 6757, 13095, 7480,
+ 6762,
+ 6764,
+ 6766,
+ 6768,
+ 6887, 1172,
+ 6914,
+ 6915, 10595, 16352,
+ 6915, 17377, 1686,
+ 6925, 8282,
+ 7004,
+ 7010,
+ 7083, 13502,
+ 7095, 6382,
+ 7109, 15564,
+ 7114,
+ 7135, 17357, 9808,
+ 7135, 19709, 15564,
+ 7252,
+ 7480,
+ 7492,
+ 7640,
+ 7641, 8282,
+ 7745, 14278,
+ 7761, 9808,
+ 7763, 16955, 8418,
+ 7763, 16955, 8419, 10595, 6682,
+ 7763, 16955, 8419, 15564,
+ 7775, 19937, 315, 10588,
+ 7779, 841, 13271, 10040,
+ 7779, 841, 13271, 14533, 19610,
+ 7779, 857, 19215, 15970,
+ 7779, 2163, 20101, 15970,
+ 7779, 2597, 14543, 11528,
+ 7779, 2597, 16955, 11528,
+ 7779, 5713, 669, 13271, 5713, 669, 16356,
+ 7779, 5713, 669, 13271, 5713, 6407, 16356,
+ 7779, 5713, 6407, 13271, 5713, 669, 16356,
+ 7779, 5713, 6407, 13271, 5713, 6407, 16356,
+ 7779, 6715, 10046,
+ 7779, 6721, 16237, 11528,
+ 7779, 7087, 11521, 14396,
+ 7779, 7087, 11528,
+ 7779, 7091, 19575, 18338,
+ 7779, 10040,
+ 7779, 11397, 14326,
+ 7779, 11399, 15970,
+ 7779, 11399, 15971, 10595, 1212,
+ 7779, 11429, 10595, 13483, 14396,
+ 7779, 11429, 10595, 16035, 9242,
+ 7779, 11521, 18585, 13407, 15970,
+ 7779, 11521, 20009, 15970,
+ 7779, 11725, 15970,
+ 7779, 11725, 15971, 12525, 7256,
+ 7779, 11725, 15971, 13807, 7256,
+ 7779, 11725, 15971, 15021, 13158,
+ 7779, 12032,
+ 7779, 13095, 7480,
+ 7779, 13271, 10575, 11428,
+ 7779, 13271, 11428,
+ 7779, 13271, 11429, 10595, 14533, 18669, 15534,
+ 7779, 13271, 11429, 10595, 15534,
+ 7779, 13271, 11429, 10595, 18669, 15534,
+ 7779, 13271, 11429, 17231, 13483, 14396,
+ 7779, 13271, 11521, 11428,
+ 7779, 13271, 13965, 11428,
+ 7779, 13271, 14533, 11428,
+ 7779, 13271, 14533, 11429, 10595, 15534,
+ 7779, 13271, 14533, 11429, 10595, 18669, 15534,
+ 7779, 13271, 20165, 11428,
+ 7779, 13271, 20613, 11428,
+ 7779, 13271, 21571, 11428,
+ 7779, 13377, 16237, 11528,
+ 7779, 13655, 16237, 11528,
+ 7779, 13655, 18333, 11528,
+ 7779, 13965, 11725, 15970,
+ 7779, 13965, 14429, 15970,
+ 7779, 13965, 15513, 15970,
+ 7779, 13965, 18585, 13407, 15970,
+ 7779, 13965, 20009, 15970,
+ 7779, 13965, 20628,
+ 7779, 14407, 11932,
+ 7779, 14429, 15970,
+ 7779, 14531, 21017, 15970,
+ 7779, 14533, 11399, 15970,
+ 7779, 14533, 15781, 12010,
+ 7779, 14533, 19359, 8282,
+ 7779, 14533, 20628,
+ 7779, 15111, 14585, 20175, 16942,
+ 7779, 15319, 18209, 15970,
+ 7779, 15465, 19359, 8282,
+ 7779, 15493, 14326,
+ 7779, 15513, 15970,
+ 7779, 15513, 15971, 10595, 10137, 315, 3273, 14428,
+ 7779, 15513, 15971, 10595, 10137, 315, 14307, 14428,
+ 7779, 15513, 15971, 10595, 13222,
+ 7779, 15513, 15971, 10595, 18658,
+ 7779, 15513, 15971, 12525, 14428,
+ 7779, 15513, 15971, 13807, 14428,
+ 7779, 15513, 15971, 19056,
+ 7779, 15781, 12010,
+ 7779, 16004,
+ 7779, 16610,
+ 7779, 17227, 14326,
+ 7779, 17385, 7090,
+ 7779, 18162,
+ 7779, 18379, 885, 18862,
+ 7779, 18423, 41, 15970,
+ 7779, 18585, 13407, 15970,
+ 7779, 18597, 14287, 18669, 894,
+ 7779, 18669, 895, 10595, 13222,
+ 7779, 18669, 967, 7816,
+ 7779, 20175, 16942,
+ 7779, 20628,
+ 7779, 20629, 12525, 7256,
+ 7779, 20629, 13807, 7256,
+ 7779, 20629, 19056,
+ 7779, 21017, 15970,
+ 7779, 21215, 15970,
+ 7817, 19420,
+ 7817, 20529, 2499, 19157, 3225, 9244,
+ 7817, 20529, 10595, 20665, 9175, 14221, 9244,
+ 7817, 20529, 10595, 20987, 9175, 14221, 9244,
+ 7821, 15564,
+ 7823, 6682,
+ 7824,
+ 7827, 9808,
+ 7831, 14903, 0,
+ 7831, 14903, 8,
+ 7831, 14903, 16,
+ 7831, 14903, 28,
+ 7831, 14903, 40,
+ 7831, 14903, 66,
+ 7831, 14903, 106,
+ 7831, 14903, 124,
+ 7831, 14903, 148,
+ 7831, 14903, 214,
+ 7831, 14903, 224,
+ 7831, 14903, 244,
+ 7831, 14903, 266,
+ 7831, 14903, 334,
+ 7831, 14903, 348,
+ 7831, 14903, 382,
+ 7831, 14903, 414,
+ 7831, 14903, 446,
+ 7831, 14903, 480,
+ 7831, 14903, 520,
+ 7831, 14903, 586,
+ 7831, 14903, 620,
+ 7831, 14903, 654,
+ 7831, 14903, 656,
+ 7831, 14903, 692,
+ 7831, 14903, 716,
+ 7831, 14903, 732,
+ 7831, 14903, 750,
+ 7831, 14903, 1040,
+ 7831, 14903, 1250,
+ 7831, 14903, 1486,
+ 7831, 14903, 1612,
+ 7831, 14903, 1904,
+ 7831, 14903, 2432,
+ 7831, 14903, 2660,
+ 7831, 14903, 3030,
+ 7831, 14903, 3222,
+ 7831, 14903, 3288,
+ 7831, 14903, 3786,
+ 7831, 14903, 10173, 447, 538,
+ 7831, 14903, 10173, 2363, 116,
+ 7831, 14903, 10173, 2363, 446,
+ 7831, 14903, 10173, 2363, 628,
+ 7831, 14903, 10173, 2363, 1104,
+ 7831, 14903, 10173, 2363, 1784,
+ 7831, 14903, 10194,
+ 7831, 20659, 6757, 9910,
+ 7831, 20659, 11708,
+ 7838,
+ 7839, 10595, 1751, 2652,
+ 7845, 6259, 6749, 7779, 15003, 483, 14533, 18668,
+ 7845, 7779, 10040,
+ 7845, 7779, 13271, 11428,
+ 7845, 7779, 13271, 14533, 11428,
+ 7845, 13271, 10040,
+ 7845, 17710,
+ 7845, 19213, 11428,
+ 7845, 19213, 11429, 6749, 894,
+ 7845, 19213, 14533, 11428,
+ 7845, 19213, 14533, 11429, 6749, 894,
+ 7845, 19213, 18457, 11428,
+ 7845, 20163, 11428,
+ 7845, 20163, 11429, 6749, 894,
+ 7845, 20163, 14533, 11428,
+ 7845, 20163, 14533, 11429, 6749, 894,
+ 7845, 20163, 18457, 11428,
+ 7855, 12268,
+ 7855, 14902,
+ 8277, 841, 14593, 9808,
+ 8277, 9808,
+ 8277, 10595, 15535, 841, 8277, 841, 14593, 9808,
+ 8277, 10595, 15535, 9808,
+ 8279, 9740,
+ 8291, 8282,
+ 8315, 495, 5830,
+ 8324,
+ 8327, 15564,
+ 8387, 9809, 18345, 17350,
+ 8387, 9809, 18345, 19688,
+ 8387, 9809, 19688,
+ 8387, 10173, 3273, 13270,
+ 8387, 10173, 11346,
+ 8387, 10173, 11502,
+ 8387, 10173, 13270,
+ 8387, 13921, 9809, 0,
+ 8387, 13921, 9809, 8,
+ 8387, 13921, 9809, 16,
+ 8387, 13921, 9809, 26,
+ 8387, 13921, 9809, 28,
+ 8387, 13921, 9809, 40,
+ 8387, 13921, 9809, 44,
+ 8387, 13921, 9809, 48,
+ 8387, 13921, 9809, 58,
+ 8387, 13921, 9809, 66,
+ 8387, 13921, 9809, 72,
+ 8387, 13921, 9809, 80,
+ 8387, 13921, 9809, 94,
+ 8387, 13921, 9809, 192,
+ 8387, 13921, 9809, 202,
+ 8387, 13921, 9809, 208,
+ 8387, 13921, 9809, 290,
+ 8387, 13921, 9809, 298,
+ 8387, 13921, 9809, 306,
+ 8387, 13921, 9809, 316,
+ 8387, 13921, 9809, 328,
+ 8387, 13921, 9809, 454,
+ 8387, 13921, 9809, 496,
+ 8387, 13921, 9809, 508,
+ 8387, 13921, 9809, 646,
+ 8387, 13921, 9809, 674,
+ 8387, 13921, 9809, 708,
+ 8387, 13921, 9809, 736,
+ 8387, 13921, 9809, 802,
+ 8387, 13921, 9809, 822,
+ 8387, 13921, 9809, 842,
+ 8387, 13921, 9809, 1294,
+ 8387, 13921, 9809, 1308,
+ 8387, 13921, 9809, 1728,
+ 8387, 13921, 9809, 1746,
+ 8387, 13921, 9809, 2584,
+ 8387, 13921, 9809, 3362,
+ 8387, 13921, 9809, 3368,
+ 8387, 13921, 9809, 3378,
+ 8387, 13921, 9809, 7376,
+ 8387, 13921, 9809, 10364,
+ 8387, 13921, 9809, 17011, 208,
+ 8387, 13921, 9809, 17011, 1308,
+ 8387, 14903, 70,
+ 8387, 14903, 106,
+ 8387, 14903, 148,
+ 8387, 14903, 224,
+ 8387, 14903, 244,
+ 8387, 14903, 266,
+ 8387, 14903, 348,
+ 8387, 14903, 382,
+ 8387, 14903, 414,
+ 8387, 14903, 446,
+ 8387, 14903, 520,
+ 8387, 14903, 554,
+ 8387, 14903, 586,
+ 8387, 14903, 620,
+ 8387, 14903, 678,
+ 8387, 14903, 692,
+ 8387, 14903, 716,
+ 8387, 14903, 737, 348,
+ 8387, 14903, 737, 520,
+ 8387, 14903, 737, 620,
+ 8387, 14903, 737, 2480,
+ 8387, 14903, 737, 3288,
+ 8387, 14903, 737, 3302,
+ 8387, 14903, 737, 6440,
+ 8387, 14903, 737, 10194,
+ 8387, 14903, 750,
+ 8387, 14903, 1138,
+ 8387, 14903, 1250,
+ 8387, 14903, 1486,
+ 8387, 14903, 1612,
+ 8387, 14903, 2112,
+ 8387, 14903, 2208,
+ 8387, 14903, 2286,
+ 8387, 14903, 2432,
+ 8387, 14903, 2444,
+ 8387, 14903, 2480,
+ 8387, 14903, 2544,
+ 8387, 14903, 2684,
+ 8387, 14903, 2762,
+ 8387, 14903, 3030,
+ 8387, 14903, 3094,
+ 8387, 14903, 3288,
+ 8387, 14903, 3302,
+ 8387, 14903, 3446,
+ 8387, 14903, 3786,
+ 8387, 14903, 3828,
+ 8387, 14903, 3856,
+ 8387, 14903, 6388,
+ 8387, 14903, 6440,
+ 8387, 14903, 6448,
+ 8387, 14903, 6982,
+ 8387, 14903, 7798,
+ 8387, 14903, 8692,
+ 8387, 14903, 8796,
+ 8387, 14903, 8916,
+ 8387, 14903, 10160,
+ 8387, 14903, 10194,
+ 8387, 14903, 10202,
+ 8387, 14903, 10918,
+ 8387, 14903, 10958,
+ 8387, 14903, 10966,
+ 8387, 14903, 11862,
+ 8387, 14903, 13702,
+ 8387, 14903, 14142,
+ 8387, 14903, 15652,
+ 8387, 14903, 15654,
+ 8387, 14903, 15656,
+ 8387, 14903, 15658,
+ 8387, 14903, 15660,
+ 8387, 14903, 15662,
+ 8387, 14903, 15664,
+ 8387, 14903, 15895, 414,
+ 8387, 14903, 15895, 446,
+ 8387, 14903, 15895, 2432,
+ 8387, 14903, 15895, 3856,
+ 8387, 14903, 18345, 10194,
+ 8387, 14903, 18345, 15650,
+ 8387, 14903, 18345, 15652,
+ 8387, 14903, 18345, 15656,
+ 8387, 14903, 18345, 15658,
+ 8387, 14903, 18345, 15660,
+ 8387, 14903, 18345, 15664,
+ 8387, 14903, 20936,
+ 8389, 495, 673, 15564,
+ 8389, 6259, 15564,
+ 8399, 9808,
+ 8402,
+ 8406,
+ 8413, 9809, 7296,
+ 8413, 9809, 15756,
+ 8413, 9809, 17342,
+ 8413, 9809, 17466,
+ 8413, 9809, 20322,
+ 8413, 11798,
+ 8413, 11849, 2596,
+ 8413, 11849, 3056,
+ 8413, 11849, 3336,
+ 8413, 11849, 6720,
+ 8413, 11849, 6742,
+ 8413, 11849, 8736,
+ 8413, 11849, 10854,
+ 8413, 11849, 11916,
+ 8413, 11849, 13376,
+ 8413, 11849, 13654,
+ 8413, 13921, 9809, 8,
+ 8413, 13921, 9809, 16,
+ 8413, 13921, 9809, 28,
+ 8413, 13921, 9809, 40,
+ 8413, 13921, 9809, 58,
+ 8413, 13921, 9809, 72,
+ 8413, 13921, 9809, 94,
+ 8413, 13921, 9809, 306,
+ 8413, 13921, 9809, 674,
+ 8413, 13921, 9809, 17349, 22,
+ 8413, 13921, 9809, 17349, 34,
+ 8413, 13921, 9809, 17349, 394,
+ 8413, 13921, 9809, 17349, 580,
+ 8413, 14533, 11798,
+ 8413, 14903, 0,
+ 8413, 14903, 8,
+ 8413, 14903, 16,
+ 8413, 14903, 28,
+ 8413, 14903, 40,
+ 8413, 14903, 58,
+ 8413, 14903, 72,
+ 8413, 14903, 94,
+ 8413, 14903, 106,
+ 8413, 14903, 124,
+ 8413, 14903, 148,
+ 8413, 14903, 244,
+ 8413, 14903, 266,
+ 8413, 14903, 306,
+ 8413, 14903, 334,
+ 8413, 14903, 348,
+ 8413, 14903, 382,
+ 8413, 14903, 414,
+ 8413, 14903, 446,
+ 8413, 14903, 520,
+ 8413, 14903, 570,
+ 8413, 14903, 586,
+ 8413, 14903, 620,
+ 8413, 14903, 674,
+ 8413, 14903, 678,
+ 8413, 14903, 732,
+ 8413, 14903, 930,
+ 8413, 14903, 1040,
+ 8413, 14903, 1138,
+ 8413, 14903, 1160,
+ 8413, 14903, 1486,
+ 8413, 14903, 1786,
+ 8413, 14903, 1904,
+ 8413, 14903, 2142,
+ 8413, 14903, 2432,
+ 8413, 14903, 2480,
+ 8413, 14903, 2544,
+ 8413, 14903, 2660,
+ 8413, 14903, 3030,
+ 8413, 14903, 3094,
+ 8413, 14903, 3222,
+ 8413, 14903, 3302,
+ 8413, 14903, 6286,
+ 8413, 14903, 10218,
+ 8413, 14903, 17349, 22,
+ 8413, 14903, 17349, 34,
+ 8413, 14903, 17349, 394,
+ 8413, 14903, 17349, 580,
+ 8413, 20771, 9808,
+ 8417, 14326,
+ 8419, 17337, 17576,
+ 8429, 19214,
+ 8429, 20876,
+ 8551, 15268,
+ 8555, 11466,
+ 8558,
+ 8586,
+ 8655, 6682,
+ 8657, 9162,
+ 8806,
+ 8808,
+ 8809, 2622,
+ 8809, 9162,
+ 9112,
+ 9127, 966,
+ 9127, 5832,
+ 9127, 6705, 14638,
+ 9127, 7838,
+ 9127, 12199, 9808,
+ 9127, 14365, 11521, 9904,
+ 9127, 14365, 11718,
+ 9127, 14365, 17496,
+ 9127, 14365, 21567, 17496,
+ 9127, 14638,
+ 9127, 15542,
+ 9127, 16627, 10595, 15319, 6722,
+ 9127, 16627, 10595, 16607, 6722,
+ 9127, 18510,
+ 9162,
+ 9163, 10595, 6090,
+ 9163, 10595, 16035, 10086,
+ 9163, 14583, 668,
+ 9165, 10182,
+ 9165, 14314,
+ 9173, 20313, 8282,
+ 9178,
+ 9187, 9808,
+ 9210,
+ 9221, 483, 2690,
+ 9222,
+ 9225, 19756,
+ 9243, 9808,
+ 9243, 9809, 315, 7779, 7087, 14396,
+ 9243, 9809, 315, 13271, 7087, 14396,
+ 9243, 9809, 315, 18596,
+ 9243, 9809, 10595, 1213, 11502,
+ 9243, 9809, 10595, 11521, 18596,
+ 9243, 9809, 10595, 13483, 14397, 11346,
+ 9243, 9809, 10595, 13677, 11346,
+ 9243, 9809, 10595, 13677, 11502,
+ 9243, 9809, 10595, 19475, 3336,
+ 9243, 9809, 10595, 19717, 14179, 11346,
+ 9243, 9809, 11347, 14555, 9808,
+ 9420,
+ 9449, 9808,
+ 9451, 5702,
+ 9451, 16074,
+ 9456,
+ 9457, 315, 11943, 632,
+ 9457, 11346,
+ 9457, 11943, 632,
+ 9457, 13182,
+ 9457, 18214,
+ 9476,
+ 9521, 11849, 2596,
+ 9521, 11849, 3056,
+ 9521, 11849, 3336,
+ 9521, 11849, 6720,
+ 9521, 11849, 6742,
+ 9521, 11849, 8736,
+ 9521, 11849, 11916,
+ 9521, 11849, 13376,
+ 9521, 11849, 13654,
+ 9521, 15133, 2597, 16378,
+ 9521, 15133, 3057, 16378,
+ 9521, 15133, 3212,
+ 9521, 15133, 3337, 16378,
+ 9521, 15133, 6721, 16378,
+ 9521, 15133, 6743, 16378,
+ 9521, 15133, 8737, 16378,
+ 9521, 15133, 11917, 16378,
+ 9521, 15133, 12018,
+ 9521, 15133, 12046,
+ 9521, 15133, 13377, 16378,
+ 9521, 15133, 13460,
+ 9521, 15133, 13655, 16378,
+ 9521, 15133, 14544,
+ 9521, 15133, 15094,
+ 9521, 15133, 15626,
+ 9521, 15133, 15708,
+ 9521, 15133, 17056,
+ 9521, 17927, 2597, 7086,
+ 9521, 17927, 2597, 13646,
+ 9521, 17927, 2597, 16954,
+ 9521, 17927, 3337, 15624,
+ 9645, 14305, 841, 1088,
+ 9668,
+ 9732,
+ 9809, 483, 3225, 12264,
+ 9819, 10574,
+ 9833, 16616,
+ 9841, 14349, 18158,
+ 9845, 1731, 11714,
+ 9845, 13407, 14629, 6382,
+ 9845, 14760,
+ 9849, 10595, 20163, 11429, 11346,
+ 9851, 17121, 11849, 2596,
+ 9851, 17121, 11849, 3056,
+ 9851, 17121, 11849, 3336,
+ 9851, 17121, 11849, 6720,
+ 9851, 17121, 11849, 6742,
+ 9851, 17121, 11849, 8736,
+ 9851, 17121, 11849, 10854,
+ 9851, 17121, 11849, 11916,
+ 9851, 17121, 11849, 13376,
+ 9851, 17121, 11849, 13654,
+ 9851, 17121, 14903, 70,
+ 9851, 17121, 14903, 190,
+ 9851, 17121, 14903, 304,
+ 9851, 17121, 14903, 484,
+ 9851, 17121, 14903, 656,
+ 9851, 17121, 14903, 886,
+ 9851, 17121, 14903, 1004,
+ 9851, 17121, 14903, 1120,
+ 9851, 17121, 14903, 1270,
+ 9851, 17121, 14903, 1432,
+ 9851, 17121, 14903, 1576,
+ 9851, 17121, 14903, 1772,
+ 9851, 17121, 14903, 1858,
+ 9851, 17121, 14903, 2060,
+ 9851, 17121, 14903, 2224,
+ 9851, 17121, 14903, 2226,
+ 9851, 17121, 14903, 2380,
+ 9851, 17121, 14903, 2624,
+ 9851, 17121, 14903, 2856,
+ 9851, 17121, 14903, 2996,
+ 9851, 17121, 14903, 3174,
+ 9851, 17121, 14903, 3418,
+ 9851, 17121, 14903, 3636,
+ 9851, 17121, 14903, 8660,
+ 9851, 17121, 14903, 8900,
+ 9905, 483, 11810,
+ 9905, 841, 17642,
+ 9905, 14554,
+ 9905, 18214,
+ 10042,
+ 10057, 11876,
+ 10057, 18786,
+ 10062,
+ 10074,
+ 10091, 11849, 2596,
+ 10091, 11849, 3056,
+ 10091, 11849, 3336,
+ 10091, 11849, 6720,
+ 10091, 11849, 6742,
+ 10091, 11849, 8736,
+ 10091, 11849, 10854,
+ 10091, 11849, 11916,
+ 10091, 11849, 13376,
+ 10091, 11849, 13654,
+ 10091, 17653, 15565, 5700,
+ 10091, 18795, 29, 842,
+ 10091, 18795, 117, 14254,
+ 10091, 18795, 167, 1152,
+ 10091, 18795, 167, 11634,
+ 10091, 18795, 237, 224,
+ 10091, 18795, 237, 1344,
+ 10091, 18795, 281, 1628,
+ 10091, 18795, 281, 15106,
+ 10091, 18795, 365, 1860,
+ 10091, 18795, 401, 7818,
+ 10091, 18795, 401, 11668,
+ 10091, 18795, 404,
+ 10091, 18795, 435, 414,
+ 10091, 18795, 467, 470,
+ 10091, 18795, 467, 2420,
+ 10091, 18795, 539, 2684,
+ 10091, 18795, 579, 2948,
+ 10091, 18795, 582,
+ 10091, 18795, 601, 600,
+ 10091, 18795, 601, 3108,
+ 10091, 18795, 601, 9528,
+ 10091, 18795, 601, 9646,
+ 10091, 18795, 633, 3184,
+ 10091, 18795, 633, 13126,
+ 10091, 18795, 709, 10568,
+ 10091, 18795, 741, 3640,
+ 10091, 18795, 741, 10754,
+ 10091, 18795, 1047, 5984,
+ 10091, 18795, 1047, 6016,
+ 10091, 18795, 1047, 11638,
+ 10091, 18795, 1047, 11662,
+ 10091, 18795, 1911, 7598,
+ 10091, 18795, 1911, 7618,
+ 10091, 18795, 1911, 12410,
+ 10091, 18795, 1911, 12414,
+ 10091, 18795, 1911, 16966,
+ 10091, 18795, 2229, 196,
+ 10091, 18795, 2229, 3228,
+ 10091, 18795, 2229, 3286,
+ 10091, 18795, 2229, 17580,
+ 10091, 18795, 2229, 17956,
+ 10091, 18795, 2441, 2442,
+ 10091, 18795, 2667, 9198,
+ 10091, 18795, 2667, 13154,
+ 10091, 18795, 2667, 17024,
+ 10091, 18795, 3229, 10098,
+ 10091, 18795, 3229, 13650,
+ 10091, 18795, 3229, 13658,
+ 10091, 18795, 3229, 15618,
+ 10091, 18795, 3229, 16896,
+ 10091, 18795, 3229, 20066,
+ 10091, 18795, 9655, 0,
+ 10091, 18795, 9655, 8,
+ 10091, 18795, 9655, 16,
+ 10091, 18795, 9655, 28,
+ 10091, 18795, 9655, 40,
+ 10091, 18795, 9655, 58,
+ 10091, 18795, 9655, 66,
+ 10091, 18795, 9655, 73, 16628,
+ 10091, 18795, 9655, 73, 18102,
+ 10091, 18795, 9655, 78,
+ 10091, 18795, 9655, 306,
+ 10091, 18795, 9655, 654,
+ 10091, 18795, 9655, 674,
+ 10091, 18795, 9655, 3366,
+ 10091, 18795, 14836,
+ 10091, 18795, 16296,
+ 10091, 18795, 16894,
+ 10091, 18795, 18104,
+ 10091, 18795, 18188,
+ 10091, 18795, 18686,
+ 10091, 18795, 19228,
+ 10091, 18795, 19298,
+ 10091, 18795, 19662,
+ 10091, 18795, 20546,
+ 10091, 18795, 20726,
+ 10117, 12173, 11718,
+ 10117, 13502,
+ 10117, 17022,
+ 10150,
+ 10151, 3337, 6403, 9131, 2597, 1213, 20658,
+ 10178,
+ 10179, 1012,
+ 10186,
+ 10375, 15564,
+ 10487, 5825, 12173, 11718,
+ 10487, 8429, 19214,
+ 10487, 8429, 20876,
+ 10487, 12213, 3057, 15501, 17496,
+ 10487, 12213, 6721, 15501, 17496,
+ 10487, 12213, 11917, 15501, 17496,
+ 10487, 12213, 11917, 16913, 11521, 9904,
+ 10487, 12213, 12173, 11718,
+ 10487, 12213, 13965, 14396,
+ 10487, 12213, 13965, 15512,
+ 10487, 12213, 16991, 17118,
+ 10487, 12213, 17022,
+ 10487, 12213, 17118,
+ 10575, 6258,
+ 10575, 11429, 18297, 17703, 7778,
+ 10575, 11429, 18297, 17703, 13270,
+ 10577, 2163, 7816,
+ 10577, 6258,
+ 10577, 7816,
+ 10577, 18228,
+ 10583, 15571, 11718,
+ 10589, 11660,
+ 10589, 15961, 6682,
+ 10591, 12150,
+ 10597, 6682,
+ 10605, 14794,
+ 10605, 19421, 15021, 1212,
+ 10855, 13971, 13502,
+ 10855, 13971, 14794,
+ 10855, 13971, 18195, 13502,
+ 10855, 13971, 20076,
+ 10926,
+ 10928,
+ 11349, 11398,
+ 11349, 14178,
+ 11375, 11690,
+ 11383, 16690,
+ 11397, 15564,
+ 11398,
+ 11399, 10595, 37, 14778,
+ 11399, 10595, 18658,
+ 11401, 6682,
+ 11422,
+ 11429, 18297, 19029, 10109, 16087, 19212,
+ 11429, 18297, 19029, 10109, 16087, 20162,
+ 11429, 18297, 20163, 10109, 16087, 17318,
+ 11429, 18297, 20163, 10109, 16087, 19028,
+ 11471, 6757, 9910,
+ 11471, 11702,
+ 11471, 11708,
+ 11471, 14903, 0,
+ 11471, 14903, 16,
+ 11471, 14903, 24,
+ 11471, 14903, 28,
+ 11471, 14903, 40,
+ 11471, 14903, 184,
+ 11471, 14903, 238,
+ 11471, 14903, 348,
+ 11471, 14903, 356,
+ 11471, 14903, 364,
+ 11471, 14903, 368,
+ 11471, 14903, 382,
+ 11471, 14903, 390,
+ 11471, 14903, 404,
+ 11471, 14903, 414,
+ 11471, 14903, 428,
+ 11471, 14903, 434,
+ 11471, 14903, 438,
+ 11471, 14903, 446,
+ 11471, 14903, 458,
+ 11471, 14903, 470,
+ 11471, 14903, 520,
+ 11471, 14903, 534,
+ 11471, 14903, 582,
+ 11471, 14903, 596,
+ 11471, 14903, 628,
+ 11471, 14903, 692,
+ 11471, 14903, 732,
+ 11471, 14903, 1358,
+ 11471, 14903, 1382,
+ 11471, 14903, 1890,
+ 11471, 14903, 1896,
+ 11471, 14903, 1976,
+ 11471, 14903, 2156,
+ 11471, 14903, 2270,
+ 11471, 14903, 2432,
+ 11471, 14903, 2550,
+ 11471, 14903, 2648,
+ 11471, 14903, 2714,
+ 11471, 14903, 2854,
+ 11471, 14903, 2880,
+ 11471, 14903, 2886,
+ 11471, 14903, 2898,
+ 11471, 14903, 3036,
+ 11471, 14903, 3038,
+ 11471, 14903, 3126,
+ 11471, 14903, 3166,
+ 11471, 14903, 3170,
+ 11471, 14903, 3212,
+ 11471, 14903, 3216,
+ 11471, 14903, 3548,
+ 11471, 14903, 3706,
+ 11471, 14903, 3728,
+ 11471, 14903, 7590,
+ 11471, 14903, 7716,
+ 11471, 14903, 8292,
+ 11471, 14903, 8298,
+ 11471, 14903, 8604,
+ 11471, 14903, 8682,
+ 11471, 14903, 8748,
+ 11471, 14903, 8852,
+ 11471, 14903, 8864,
+ 11471, 14903, 8874,
+ 11471, 14903, 8878,
+ 11471, 14903, 9190,
+ 11471, 14903, 9254,
+ 11471, 14903, 9444,
+ 11471, 14903, 9452,
+ 11471, 14903, 9678,
+ 11471, 14903, 9726,
+ 11471, 14903, 12432,
+ 11471, 14903, 12482,
+ 11471, 14903, 12618,
+ 11471, 14903, 12830,
+ 11471, 14903, 12844,
+ 11471, 14903, 13342,
+ 11471, 14903, 13410,
+ 11471, 14903, 14568,
+ 11471, 14903, 14856,
+ 11471, 14903, 16748,
+ 11471, 14903, 16881, 41, 3729, 2376,
+ 11471, 14903, 16881, 404,
+ 11471, 14903, 16881, 521, 18060,
+ 11471, 14903, 16881, 641, 14958,
+ 11471, 14903, 16881, 1872,
+ 11471, 14903, 16881, 1896,
+ 11471, 14903, 16881, 2107, 2014,
+ 11471, 14903, 16881, 2235, 13162,
+ 11471, 14903, 16881, 2317, 18182,
+ 11471, 14903, 16881, 2375, 8346,
+ 11471, 14903, 16881, 2388,
+ 11471, 14903, 16881, 2409, 18060,
+ 11471, 14903, 16881, 2420,
+ 11471, 14903, 16881, 2550,
+ 11471, 14903, 16881, 2557, 8346,
+ 11471, 14903, 16881, 2658,
+ 11471, 14903, 16881, 2689, 521, 2471, 18288,
+ 11471, 14903, 16881, 2689, 521, 2471, 20652,
+ 11471, 14903, 16881, 2689, 8347, 18288,
+ 11471, 14903, 16881, 2689, 8347, 20652,
+ 11471, 14903, 16881, 2720,
+ 11471, 14903, 16881, 2928,
+ 11471, 14903, 16881, 3078,
+ 11471, 14903, 16881, 3082,
+ 11471, 14903, 16881, 3126,
+ 11471, 14903, 16881, 3434,
+ 11471, 14903, 16881, 6712,
+ 11471, 14903, 16881, 7540,
+ 11471, 14903, 16881, 7668,
+ 11471, 14903, 16881, 7684,
+ 11471, 14903, 16881, 8274,
+ 11471, 14903, 16881, 8294,
+ 11471, 14903, 16881, 8732,
+ 11471, 14903, 16881, 8742,
+ 11471, 14903, 16881, 8852,
+ 11471, 14903, 16881, 8862,
+ 11471, 14903, 16881, 8863, 8344,
+ 11471, 14903, 16881, 8863, 8860,
+ 11471, 14903, 16881, 8914,
+ 11471, 14903, 16881, 8929, 20050,
+ 11471, 14903, 16881, 8983, 8342,
+ 11471, 14903, 16881, 9158,
+ 11471, 14903, 16881, 9749, 12925, 3720,
+ 11471, 14903, 16881, 9764,
+ 11471, 14903, 16881, 9822,
+ 11471, 14903, 16881, 10153, 8346,
+ 11471, 14903, 16881, 12107, 1384,
+ 11471, 14903, 16881, 12470,
+ 11471, 14903, 16881, 12526,
+ 11471, 14903, 16881, 12580,
+ 11471, 14903, 16881, 12782,
+ 11471, 14903, 16881, 12803, 8346,
+ 11471, 14903, 16881, 13764,
+ 11471, 14903, 16881, 14936,
+ 11471, 14903, 16881, 14960,
+ 11471, 14903, 16881, 14986,
+ 11471, 14903, 16881, 15014,
+ 11471, 14903, 16881, 15070,
+ 11471, 14903, 16881, 15100,
+ 11471, 14903, 16881, 15112,
+ 11471, 14903, 16881, 15182,
+ 11471, 14903, 16881, 15198,
+ 11471, 14903, 16881, 15441, 521, 2470,
+ 11471, 14903, 16881, 15446,
+ 11471, 14903, 16881, 15480,
+ 11471, 14903, 16881, 15610,
+ 11471, 14903, 16881, 16618,
+ 11471, 14903, 16881, 16640,
+ 11471, 14903, 16881, 16692,
+ 11471, 14903, 16881, 16694,
+ 11471, 14903, 16881, 16756,
+ 11471, 14903, 16881, 16764,
+ 11471, 14903, 16881, 16840,
+ 11471, 14903, 16881, 17052,
+ 11471, 14903, 16881, 17312,
+ 11471, 14903, 16881, 18094,
+ 11471, 14903, 16881, 18096,
+ 11471, 14903, 16881, 19100,
+ 11471, 14903, 16881, 19582,
+ 11471, 14903, 16881, 19992,
+ 11471, 14903, 16881, 20018,
+ 11471, 14903, 16881, 20062,
+ 11471, 14903, 16881, 20070,
+ 11471, 14903, 16881, 20188,
+ 11471, 14903, 16881, 20872,
+ 11471, 14903, 16881, 20928,
+ 11471, 14903, 16881, 20938,
+ 11471, 14903, 16883, 414,
+ 11471, 14903, 16883, 415, 12850,
+ 11471, 14903, 16883, 415, 18192,
+ 11471, 14903, 16883, 641, 12926,
+ 11471, 14903, 16883, 641, 19224,
+ 11471, 14903, 16883, 1358,
+ 11471, 14903, 16883, 1866,
+ 11471, 14903, 16883, 1930,
+ 11471, 14903, 16883, 2067, 12925, 8902,
+ 11471, 14903, 16883, 2106,
+ 11471, 14903, 16883, 2151, 12930,
+ 11471, 14903, 16883, 2255, 14956,
+ 11471, 14903, 16883, 2417, 8740,
+ 11471, 14903, 16883, 2551, 12930,
+ 11471, 14903, 16883, 2680,
+ 11471, 14903, 16883, 3025, 640,
+ 11471, 14903, 16883, 3112,
+ 11471, 14903, 16883, 6702,
+ 11471, 14903, 16883, 8301, 16658,
+ 11471, 14903, 16883, 8340,
+ 11471, 14903, 16883, 8343, 15074,
+ 11471, 14903, 16883, 8347, 15612,
+ 11471, 14903, 16883, 8700,
+ 11471, 14903, 16883, 8850,
+ 11471, 14903, 16883, 9719, 8746,
+ 11471, 14903, 16883, 9800,
+ 11471, 14903, 16883, 10034,
+ 11471, 14903, 16883, 10488,
+ 11471, 14903, 16883, 10695, 18060,
+ 11471, 14903, 16883, 12416,
+ 11471, 14903, 16883, 12612,
+ 11471, 14903, 16883, 12785, 2262,
+ 11471, 14903, 16883, 12935, 15436,
+ 11471, 14903, 16883, 13118,
+ 11471, 14903, 16883, 13992,
+ 11471, 14903, 16883, 14822,
+ 11471, 14903, 16883, 14826,
+ 11471, 14903, 16883, 14872,
+ 11471, 14903, 16883, 14990,
+ 11471, 14903, 16883, 15012,
+ 11471, 14903, 16883, 15072,
+ 11471, 14903, 16883, 15082,
+ 11471, 14903, 16883, 15083, 12472,
+ 11471, 14903, 16883, 15114,
+ 11471, 14903, 16883, 15202,
+ 11471, 14903, 16883, 15812,
+ 11471, 14903, 16883, 16450,
+ 11471, 14903, 16883, 16660,
+ 11471, 14903, 16883, 16747, 8450,
+ 11471, 14903, 16883, 16778,
+ 11471, 14903, 16883, 16946,
+ 11471, 14903, 16883, 17020,
+ 11471, 14903, 16883, 17946,
+ 11471, 14903, 16883, 18154,
+ 11471, 14903, 16883, 19430,
+ 11471, 14903, 16883, 20486,
+ 11471, 14903, 16885, 404,
+ 11471, 14903, 16885, 415, 12926,
+ 11471, 14903, 16885, 415, 16446,
+ 11471, 14903, 16885, 582,
+ 11471, 14903, 16885, 745, 15046,
+ 11471, 14903, 16885, 1398,
+ 11471, 14903, 16885, 1850,
+ 11471, 14903, 16885, 1891, 2082,
+ 11471, 14903, 16885, 1891, 16270,
+ 11471, 14903, 16885, 1896,
+ 11471, 14903, 16885, 2014,
+ 11471, 14903, 16885, 2066,
+ 11471, 14903, 16885, 2072,
+ 11471, 14903, 16885, 2132,
+ 11471, 14903, 16885, 2258,
+ 11471, 14903, 16885, 2388,
+ 11471, 14903, 16885, 2516,
+ 11471, 14903, 16885, 2519, 8300,
+ 11471, 14903, 16885, 2556,
+ 11471, 14903, 16885, 2652,
+ 11471, 14903, 16885, 2676,
+ 11471, 14903, 16885, 3216,
+ 11471, 14903, 16885, 3556,
+ 11471, 14903, 16885, 3624,
+ 11471, 14903, 16885, 3720,
+ 11471, 14903, 16885, 5850,
+ 11471, 14903, 16885, 6976,
+ 11471, 14903, 16885, 7586,
+ 11471, 14903, 16885, 7683, 16756,
+ 11471, 14903, 16885, 8293, 15234,
+ 11471, 14903, 16885, 8293, 20810,
+ 11471, 14903, 16885, 8300,
+ 11471, 14903, 16885, 8304,
+ 11471, 14903, 16885, 8390,
+ 11471, 14903, 16885, 8422,
+ 11471, 14903, 16885, 8606,
+ 11471, 14903, 16885, 8608,
+ 11471, 14903, 16885, 8668,
+ 11471, 14903, 16885, 8690,
+ 11471, 14903, 16885, 8700,
+ 11471, 14903, 16885, 8742,
+ 11471, 14903, 16885, 8854,
+ 11471, 14903, 16885, 8858,
+ 11471, 14903, 16885, 8860,
+ 11471, 14903, 16885, 8866,
+ 11471, 14903, 16885, 8925, 16687, 8338,
+ 11471, 14903, 16885, 9678,
+ 11471, 14903, 16885, 9734,
+ 11471, 14903, 16885, 10153, 3716,
+ 11471, 14903, 16885, 10490,
+ 11471, 14903, 16885, 10738,
+ 11471, 14903, 16885, 12102,
+ 11471, 14903, 16885, 12580,
+ 11471, 14903, 16885, 12606,
+ 11471, 14903, 16885, 12608,
+ 11471, 14903, 16885, 12758,
+ 11471, 14903, 16885, 12764,
+ 11471, 14903, 16885, 12782,
+ 11471, 14903, 16885, 12790,
+ 11471, 14903, 16885, 12800,
+ 11471, 14903, 16885, 12803, 14958,
+ 11471, 14903, 16885, 12830,
+ 11471, 14903, 16885, 12834,
+ 11471, 14903, 16885, 12846,
+ 11471, 14903, 16885, 12918,
+ 11471, 14903, 16885, 12929, 8700,
+ 11471, 14903, 16885, 13000,
+ 11471, 14903, 16885, 13432,
+ 11471, 14903, 16885, 13556,
+ 11471, 14903, 16885, 14056,
+ 11471, 14903, 16885, 14682,
+ 11471, 14903, 16885, 14824,
+ 11471, 14903, 16885, 14862,
+ 11471, 14903, 16885, 14958,
+ 11471, 14903, 16885, 14986,
+ 11471, 14903, 16885, 14988,
+ 11471, 14903, 16885, 14992,
+ 11471, 14903, 16885, 15062,
+ 11471, 14903, 16885, 15080,
+ 11471, 14903, 16885, 15098,
+ 11471, 14903, 16885, 15414,
+ 11471, 14903, 16885, 16448,
+ 11471, 14903, 16885, 16676,
+ 11471, 14903, 16885, 16735, 8902,
+ 11471, 14903, 16885, 16736,
+ 11471, 14903, 16885, 16762,
+ 11471, 14903, 16885, 16902,
+ 11471, 14903, 16885, 17196,
+ 11471, 14903, 16885, 17216,
+ 11471, 14903, 16885, 17244,
+ 11471, 14903, 16885, 18120,
+ 11471, 14903, 16885, 18122,
+ 11471, 14903, 16885, 18170,
+ 11471, 14903, 16885, 18206,
+ 11471, 14903, 16885, 18670,
+ 11471, 14903, 16885, 18676,
+ 11471, 14903, 16885, 19266,
+ 11471, 14903, 16885, 19994,
+ 11471, 14903, 16887, 24,
+ 11471, 14903, 16887, 368,
+ 11471, 14903, 16887, 438,
+ 11471, 14903, 16887, 458,
+ 11471, 14903, 16887, 470,
+ 11471, 14903, 16887, 628,
+ 11471, 14903, 16887, 640,
+ 11471, 14903, 16887, 1338,
+ 11471, 14903, 16887, 1896,
+ 11471, 14903, 16887, 2004,
+ 11471, 14903, 16887, 2010,
+ 11471, 14903, 16887, 2106,
+ 11471, 14903, 16887, 2156,
+ 11471, 14903, 16887, 2186,
+ 11471, 14903, 16887, 2276,
+ 11471, 14903, 16887, 2470,
+ 11471, 14903, 16887, 2550,
+ 11471, 14903, 16887, 2630,
+ 11471, 14903, 16887, 2648,
+ 11471, 14903, 16887, 2678,
+ 11471, 14903, 16887, 2722,
+ 11471, 14903, 16887, 2887, 2592,
+ 11471, 14903, 16887, 2887, 8428,
+ 11471, 14903, 16887, 2898,
+ 11471, 14903, 16887, 3004,
+ 11471, 14903, 16887, 3006,
+ 11471, 14903, 16887, 3038,
+ 11471, 14903, 16887, 3082,
+ 11471, 14903, 16887, 3112,
+ 11471, 14903, 16887, 3126,
+ 11471, 14903, 16887, 3170,
+ 11471, 14903, 16887, 3274,
+ 11471, 14903, 16887, 3502,
+ 11471, 14903, 16887, 3674,
+ 11471, 14903, 16887, 6970,
+ 11471, 14903, 16887, 7586,
+ 11471, 14903, 16887, 7588,
+ 11471, 14903, 16887, 7680,
+ 11471, 14903, 16887, 7716,
+ 11471, 14903, 16887, 7784,
+ 11471, 14903, 16887, 7800,
+ 11471, 14903, 16887, 8292,
+ 11471, 14903, 16887, 8293, 13376,
+ 11471, 14903, 16887, 8306,
+ 11471, 14903, 16887, 8338,
+ 11471, 14903, 16887, 8342,
+ 11471, 14903, 16887, 8346,
+ 11471, 14903, 16887, 8414,
+ 11471, 14903, 16887, 8450,
+ 11471, 14903, 16887, 8606,
+ 11471, 14903, 16887, 8614,
+ 11471, 14903, 16887, 8630,
+ 11471, 14903, 16887, 8744,
+ 11471, 14903, 16887, 8856,
+ 11471, 14903, 16887, 8864,
+ 11471, 14903, 16887, 8874,
+ 11471, 14903, 16887, 8902,
+ 11471, 14903, 16887, 8914,
+ 11471, 14903, 16887, 8946,
+ 11471, 14903, 16887, 9270,
+ 11471, 14903, 16887, 9414,
+ 11471, 14903, 16887, 9710,
+ 11471, 14903, 16887, 9726,
+ 11471, 14903, 16887, 9748,
+ 11471, 14903, 16887, 9916,
+ 11471, 14903, 16887, 10082,
+ 11471, 14903, 16887, 10084,
+ 11471, 14903, 16887, 10246,
+ 11471, 14903, 16887, 10790,
+ 11471, 14903, 16887, 10792,
+ 11471, 14903, 16887, 12401, 12610,
+ 11471, 14903, 16887, 12438,
+ 11471, 14903, 16887, 12482,
+ 11471, 14903, 16887, 12618,
+ 11471, 14903, 16887, 12646,
+ 11471, 14903, 16887, 12648,
+ 11471, 14903, 16887, 12760,
+ 11471, 14903, 16887, 12778,
+ 11471, 14903, 16887, 12798,
+ 11471, 14903, 16887, 12806,
+ 11471, 14903, 16887, 12832,
+ 11471, 14903, 16887, 12836,
+ 11471, 14903, 16887, 12846,
+ 11471, 14903, 16887, 12920,
+ 11471, 14903, 16887, 12924,
+ 11471, 14903, 16887, 12930,
+ 11471, 14903, 16887, 13410,
+ 11471, 14903, 16887, 13612,
+ 11471, 14903, 16887, 13990,
+ 11471, 14903, 16887, 14056,
+ 11471, 14903, 16887, 14684,
+ 11471, 14903, 16887, 14906,
+ 11471, 14903, 16887, 15010,
+ 11471, 14903, 16887, 15016,
+ 11471, 14903, 16887, 15018,
+ 11471, 14903, 16887, 15072,
+ 11471, 14903, 16887, 15076,
+ 11471, 14903, 16887, 15078,
+ 11471, 14903, 16887, 15086,
+ 11471, 14903, 16887, 15088,
+ 11471, 14903, 16887, 15118,
+ 11471, 14903, 16887, 15120,
+ 11471, 14903, 16887, 15224,
+ 11471, 14903, 16887, 15416,
+ 11471, 14903, 16887, 15434,
+ 11471, 14903, 16887, 15610,
+ 11471, 14903, 16887, 16620,
+ 11471, 14903, 16887, 16634,
+ 11471, 14903, 16887, 16678,
+ 11471, 14903, 16887, 16740,
+ 11471, 14903, 16887, 16744,
+ 11471, 14903, 16887, 16754,
+ 11471, 14903, 16887, 17386,
+ 11471, 14903, 16887, 18180,
+ 11471, 14903, 16887, 18186,
+ 11471, 14903, 16887, 19070,
+ 11471, 14903, 16887, 19990,
+ 11471, 14903, 16889, 0,
+ 11471, 14903, 16889, 16,
+ 11471, 14903, 16889, 28,
+ 11471, 14903, 16889, 224,
+ 11471, 14903, 16889, 239, 16,
+ 11471, 14903, 16889, 239, 5934,
+ 11471, 14903, 16889, 239, 15328,
+ 11471, 14903, 16889, 356,
+ 11471, 14903, 16889, 364,
+ 11471, 14903, 16889, 404,
+ 11471, 14903, 16889, 414,
+ 11471, 14903, 16889, 428,
+ 11471, 14903, 16889, 446,
+ 11471, 14903, 16889, 521, 15208,
+ 11471, 14903, 16889, 521, 15252,
+ 11471, 14903, 16889, 534,
+ 11471, 14903, 16889, 538,
+ 11471, 14903, 16889, 544,
+ 11471, 14903, 16889, 1348,
+ 11471, 14903, 16889, 1358,
+ 11471, 14903, 16889, 1382,
+ 11471, 14903, 16889, 1398,
+ 11471, 14903, 16889, 1896,
+ 11471, 14903, 16889, 2014,
+ 11471, 14903, 16889, 2072,
+ 11471, 14903, 16889, 2074,
+ 11471, 14903, 16889, 2150,
+ 11471, 14903, 16889, 2156,
+ 11471, 14903, 16889, 2224,
+ 11471, 14903, 16889, 2234,
+ 11471, 14903, 16889, 2236,
+ 11471, 14903, 16889, 2270,
+ 11471, 14903, 16889, 2316,
+ 11471, 14903, 16889, 2350,
+ 11471, 14903, 16889, 2376,
+ 11471, 14903, 16889, 2432,
+ 11471, 14903, 16889, 2551, 15946,
+ 11471, 14903, 16889, 2551, 16040,
+ 11471, 14903, 16889, 2620,
+ 11471, 14903, 16889, 2714,
+ 11471, 14903, 16889, 2716,
+ 11471, 14903, 16889, 2854,
+ 11471, 14903, 16889, 2866,
+ 11471, 14903, 16889, 2990,
+ 11471, 14903, 16889, 3018,
+ 11471, 14903, 16889, 3024,
+ 11471, 14903, 16889, 3036,
+ 11471, 14903, 16889, 3070,
+ 11471, 14903, 16889, 3166,
+ 11471, 14903, 16889, 3180,
+ 11471, 14903, 16889, 3188,
+ 11471, 14903, 16889, 3212,
+ 11471, 14903, 16889, 3218,
+ 11471, 14903, 16889, 3270,
+ 11471, 14903, 16889, 3274,
+ 11471, 14903, 16889, 3318,
+ 11471, 14903, 16889, 3434,
+ 11471, 14903, 16889, 3458,
+ 11471, 14903, 16889, 3548,
+ 11471, 14903, 16889, 3554,
+ 11471, 14903, 16889, 3648,
+ 11471, 14903, 16889, 3694,
+ 11471, 14903, 16889, 3707, 11712,
+ 11471, 14903, 16889, 3707, 18516,
+ 11471, 14903, 16889, 3722,
+ 11471, 14903, 16889, 3728,
+ 11471, 14903, 16889, 6752,
+ 11471, 14903, 16889, 6900,
+ 11471, 14903, 16889, 6980,
+ 11471, 14903, 16889, 6984,
+ 11471, 14903, 16889, 7590,
+ 11471, 14903, 16889, 7676,
+ 11471, 14903, 16889, 7682,
+ 11471, 14903, 16889, 7736,
+ 11471, 14903, 16889, 7848,
+ 11471, 14903, 16889, 7852,
+ 11471, 14903, 16889, 8274,
+ 11471, 14903, 16889, 8296,
+ 11471, 14903, 16889, 8354,
+ 11471, 14903, 16889, 8390,
+ 11471, 14903, 16889, 8422,
+ 11471, 14903, 16889, 8605, 445, 12270,
+ 11471, 14903, 16889, 8605, 18438,
+ 11471, 14903, 16889, 8608,
+ 11471, 14903, 16889, 8624,
+ 11471, 14903, 16889, 8640,
+ 11471, 14903, 16889, 8698,
+ 11471, 14903, 16889, 8706,
+ 11471, 14903, 16889, 8708,
+ 11471, 14903, 16889, 8748,
+ 11471, 14903, 16889, 8749, 11940,
+ 11471, 14903, 16889, 8784,
+ 11471, 14903, 16889, 8862,
+ 11471, 14903, 16889, 8872,
+ 11471, 14903, 16889, 8962,
+ 11471, 14903, 16889, 8988,
+ 11471, 14903, 16889, 9158,
+ 11471, 14903, 16889, 9182,
+ 11471, 14903, 16889, 9188,
+ 11471, 14903, 16889, 9190,
+ 11471, 14903, 16889, 9214,
+ 11471, 14903, 16889, 9248,
+ 11471, 14903, 16889, 9254,
+ 11471, 14903, 16889, 9256,
+ 11471, 14903, 16889, 9444,
+ 11471, 14903, 16889, 9734,
+ 11471, 14903, 16889, 9748,
+ 11471, 14903, 16889, 10036,
+ 11471, 14903, 16889, 10045, 12930,
+ 11471, 14903, 16889, 10176,
+ 11471, 14903, 16889, 10240,
+ 11471, 14903, 16889, 10584,
+ 11471, 14903, 16889, 10736,
+ 11471, 14903, 16889, 10740,
+ 11471, 14903, 16889, 10746,
+ 11471, 14903, 16889, 10788,
+ 11471, 14903, 16889, 12104,
+ 11471, 14903, 16889, 12132,
+ 11471, 14903, 16889, 12134,
+ 11471, 14903, 16889, 12398,
+ 11471, 14903, 16889, 12434,
+ 11471, 14903, 16889, 12606,
+ 11471, 14903, 16889, 12644,
+ 11471, 14903, 16889, 12652,
+ 11471, 14903, 16889, 12762,
+ 11471, 14903, 16889, 12792,
+ 11471, 14903, 16889, 12804,
+ 11471, 14903, 16889, 12808,
+ 11471, 14903, 16889, 12812,
+ 11471, 14903, 16889, 12834,
+ 11471, 14903, 16889, 12922,
+ 11471, 14903, 16889, 13160,
+ 11471, 14903, 16889, 13554,
+ 11471, 14903, 16889, 13768,
+ 11471, 14903, 16889, 13908,
+ 11471, 14903, 16889, 14038,
+ 11471, 14903, 16889, 14054,
+ 11471, 14903, 16889, 14684,
+ 11471, 14903, 16889, 14904,
+ 11471, 14903, 16889, 15084,
+ 11471, 14903, 16889, 15090,
+ 11471, 14903, 16889, 15112,
+ 11471, 14903, 16889, 15116,
+ 11471, 14903, 16889, 15342,
+ 11471, 14903, 16889, 15612,
+ 11471, 14903, 16889, 15810,
+ 11471, 14903, 16889, 16318,
+ 11471, 14903, 16889, 16730,
+ 11471, 14903, 16889, 16732,
+ 11471, 14903, 16889, 16738,
+ 11471, 14903, 16889, 16742,
+ 11471, 14903, 16889, 16752,
+ 11471, 14903, 16889, 17076,
+ 11471, 14903, 16889, 18178,
+ 11471, 14903, 16889, 18182,
+ 11471, 14903, 16889, 18184,
+ 11471, 14903, 16889, 20069, 8902,
+ 11471, 14903, 16891, 24,
+ 11471, 14903, 16891, 40,
+ 11471, 14903, 16891, 184,
+ 11471, 14903, 16891, 348,
+ 11471, 14903, 16891, 364,
+ 11471, 14903, 16891, 368,
+ 11471, 14903, 16891, 382,
+ 11471, 14903, 16891, 390,
+ 11471, 14903, 16891, 414,
+ 11471, 14903, 16891, 434,
+ 11471, 14903, 16891, 458,
+ 11471, 14903, 16891, 470,
+ 11471, 14903, 16891, 582,
+ 11471, 14903, 16891, 596,
+ 11471, 14903, 16891, 692,
+ 11471, 14903, 16891, 732,
+ 11471, 14903, 16891, 1382,
+ 11471, 14903, 16891, 1890,
+ 11471, 14903, 16891, 1896,
+ 11471, 14903, 16891, 1976,
+ 11471, 14903, 16891, 2156,
+ 11471, 14903, 16891, 2550,
+ 11471, 14903, 16891, 2648,
+ 11471, 14903, 16891, 2880,
+ 11471, 14903, 16891, 2886,
+ 11471, 14903, 16891, 2898,
+ 11471, 14903, 16891, 3036,
+ 11471, 14903, 16891, 3038,
+ 11471, 14903, 16891, 3126,
+ 11471, 14903, 16891, 3166,
+ 11471, 14903, 16891, 3170,
+ 11471, 14903, 16891, 3216,
+ 11471, 14903, 16891, 3548,
+ 11471, 14903, 16891, 3706,
+ 11471, 14903, 16891, 7716,
+ 11471, 14903, 16891, 8292,
+ 11471, 14903, 16891, 8298,
+ 11471, 14903, 16891, 8604,
+ 11471, 14903, 16891, 8682,
+ 11471, 14903, 16891, 8852,
+ 11471, 14903, 16891, 8864,
+ 11471, 14903, 16891, 8878,
+ 11471, 14903, 16891, 9190,
+ 11471, 14903, 16891, 9254,
+ 11471, 14903, 16891, 9444,
+ 11471, 14903, 16891, 9452,
+ 11471, 14903, 16891, 9678,
+ 11471, 14903, 16891, 9726,
+ 11471, 14903, 16891, 10512,
+ 11471, 14903, 16891, 12618,
+ 11471, 14903, 16891, 12830,
+ 11471, 14903, 16891, 12844,
+ 11471, 14903, 16891, 13342,
+ 11471, 14903, 16891, 16748,
+ 11471, 16752,
+ 11471, 18335, 8282,
+ 11471, 18819, 8283, 16468,
+ 11471, 18819, 8283, 19608,
+ 11471, 19416,
+ 11475, 3419, 6757, 9910,
+ 11475, 3419, 14903, 0,
+ 11475, 3419, 14903, 8,
+ 11475, 3419, 14903, 16,
+ 11475, 3419, 14903, 28,
+ 11475, 3419, 14903, 40,
+ 11475, 3419, 14903, 106,
+ 11475, 3419, 14903, 130,
+ 11475, 3419, 14903, 166,
+ 11475, 3419, 14903, 184,
+ 11475, 3419, 14903, 224,
+ 11475, 3419, 14903, 340,
+ 11475, 3419, 14903, 348,
+ 11475, 3419, 14903, 496,
+ 11475, 3419, 14903, 520,
+ 11475, 3419, 14903, 590,
+ 11475, 3419, 14903, 632,
+ 11475, 3419, 14903, 688,
+ 11475, 3419, 14903, 692,
+ 11475, 3419, 14903, 758,
+ 11475, 3419, 14903, 1432,
+ 11475, 3419, 14903, 1460,
+ 11475, 3419, 14903, 2256,
+ 11475, 3419, 14903, 3410,
+ 11475, 3419, 14903, 3684,
+ 11475, 3419, 14903, 6362,
+ 11475, 3419, 14903, 6538,
+ 11475, 3419, 14903, 7298,
+ 11475, 3419, 14903, 7658,
+ 11475, 3419, 14903, 10730,
+ 11475, 3419, 14903, 13940,
+ 11475, 3419, 18819, 2163, 10172,
+ 11475, 3419, 18819, 2291, 10172,
+ 11475, 3419, 18819, 7135, 10172,
+ 11475, 3419, 18819, 16605, 10172,
+ 11475, 3419, 18819, 17979, 10172,
+ 11477, 9809, 13706,
+ 11477, 13921, 9809, 8,
+ 11477, 13921, 9809, 16,
+ 11477, 13921, 9809, 28,
+ 11477, 13921, 9809, 40,
+ 11477, 13921, 9809, 41, 1391, 20193, 586,
+ 11477, 13921, 9809, 184,
+ 11477, 13921, 9809, 7563, 16,
+ 11477, 13921, 9809, 7563, 28,
+ 11477, 13921, 9809, 15191, 8,
+ 11477, 14903, 0,
+ 11477, 14903, 16,
+ 11477, 14903, 40,
+ 11477, 14903, 106,
+ 11477, 14903, 124,
+ 11477, 14903, 148,
+ 11477, 14903, 244,
+ 11477, 14903, 266,
+ 11477, 14903, 334,
+ 11477, 14903, 382,
+ 11477, 14903, 414,
+ 11477, 14903, 446,
+ 11477, 14903, 520,
+ 11477, 14903, 570,
+ 11477, 14903, 586,
+ 11477, 14903, 692,
+ 11477, 14903, 732,
+ 11477, 14903, 2254,
+ 11477, 14903, 2408,
+ 11477, 14903, 2432,
+ 11477, 14903, 2544,
+ 11477, 14903, 7563, 106,
+ 11477, 14903, 15191, 692,
+ 11477, 14903, 18197, 620,
+ 11477, 14903, 18441, 620,
+ 11477, 14903, 20023, 266,
+ 11477, 14903, 20023, 446,
+ 11477, 14903, 20023, 586,
+ 11477, 14903, 20193, 0,
+ 11477, 14903, 20193, 244,
+ 11477, 14903, 20193, 266,
+ 11477, 14903, 20193, 382,
+ 11477, 14903, 20193, 414,
+ 11477, 14903, 20193, 520,
+ 11477, 14903, 20193, 570,
+ 11477, 14903, 20193, 586,
+ 11477, 14903, 20193, 692,
+ 11477, 14903, 20193, 732,
+ 11477, 15565, 11515, 447, 12638,
+ 11477, 15565, 11515, 12358,
+ 11477, 15565, 11515, 18248,
+ 11477, 15565, 11515, 20118,
+ 11477, 18248,
+ 11477, 18831, 9809, 14,
+ 11477, 18831, 9809, 454,
+ 11477, 20096,
+ 11491, 10595, 18654,
+ 11507, 966,
+ 11521, 669, 18297, 17509, 12324,
+ 11521, 2450,
+ 11521, 3117, 10595, 9428,
+ 11521, 6063, 9924,
+ 11521, 6407, 18297, 17509, 12324,
+ 11521, 6722,
+ 11521, 6743, 16913, 9904,
+ 11521, 7095, 13407, 14629, 6382,
+ 11521, 7779, 7759, 12632,
+ 11521, 7779, 18297, 12324,
+ 11521, 7779, 18297, 17509, 12324,
+ 11521, 8419, 14910,
+ 11521, 9904,
+ 11521, 10151, 15512,
+ 11521, 10151, 16128,
+ 11521, 10151, 16608,
+ 11521, 10487, 13483, 15512,
+ 11521, 10487, 13483, 16128,
+ 11521, 10487, 13483, 16608,
+ 11521, 11651, 7634,
+ 11521, 11651, 9176,
+ 11521, 11651, 9472,
+ 11521, 11651, 13218,
+ 11521, 11651, 14296,
+ 11521, 11651, 14854,
+ 11521, 11719, 495, 15438,
+ 11521, 12211, 9924,
+ 11521, 12473, 14396,
+ 11521, 12473, 15512,
+ 11521, 12525, 7779, 18596,
+ 11521, 12525, 13271, 18596,
+ 11521, 13271, 18297, 12324,
+ 11521, 13271, 18297, 17509, 12324,
+ 11521, 13425, 13158,
+ 11521, 13467, 841, 19742,
+ 11521, 13483, 9904,
+ 11521, 13483, 15512,
+ 11521, 13483, 16128,
+ 11521, 13483, 16608,
+ 11521, 13505, 9924,
+ 11521, 13734,
+ 11521, 13807, 7779, 18596,
+ 11521, 13807, 13271, 18596,
+ 11521, 14310,
+ 11521, 14365, 13965, 9904,
+ 11521, 14396,
+ 11521, 14397, 1391, 15324,
+ 11521, 14397, 10595, 3337, 13965, 6402,
+ 11521, 14397, 10595, 6407, 11428,
+ 11521, 14397, 10595, 13965, 1213, 13270,
+ 11521, 14445, 17319, 841, 19213, 11428,
+ 11521, 14445, 17319, 841, 20163, 11428,
+ 11521, 14445, 19029, 841, 19213, 11428,
+ 11521, 14445, 19029, 841, 20163, 11428,
+ 11521, 14445, 19213, 841, 17319, 11428,
+ 11521, 14445, 19213, 841, 19029, 11428,
+ 11521, 14445, 20163, 841, 17319, 11428,
+ 11521, 14445, 20163, 841, 19029, 11428,
+ 11521, 14638,
+ 11521, 14997, 13483, 15512,
+ 11521, 14997, 13483, 16128,
+ 11521, 14997, 13483, 16608,
+ 11521, 14997, 15512,
+ 11521, 14997, 16128,
+ 11521, 14997, 16608,
+ 11521, 14997, 20755, 18596,
+ 11521, 14997, 20755, 18597, 16008,
+ 11521, 14997, 21089, 18596,
+ 11521, 14997, 21089, 18597, 16008,
+ 11521, 14997, 21135, 18596,
+ 11521, 14997, 21135, 18597, 16008,
+ 11521, 14997, 21387, 18596,
+ 11521, 14997, 21387, 18597, 16008,
+ 11521, 15365, 18390,
+ 11521, 15512,
+ 11521, 15513, 1391, 9910,
+ 11521, 15513, 14332,
+ 11521, 15513, 16008,
+ 11521, 16128,
+ 11521, 16129, 9924,
+ 11521, 16129, 10595, 6407, 11428,
+ 11521, 16129, 12675, 13965, 46,
+ 11521, 16129, 16008,
+ 11521, 16220,
+ 11521, 16368,
+ 11521, 16608,
+ 11521, 16786,
+ 11521, 16868,
+ 11521, 16952,
+ 11521, 17004,
+ 11521, 17109, 6682,
+ 11521, 17112,
+ 11521, 17301, 7779, 3513, 17254,
+ 11521, 17319, 20467, 18728,
+ 11521, 17841, 2230,
+ 11521, 17841, 7634,
+ 11521, 17912,
+ 11521, 18272,
+ 11521, 18335, 8283, 18220,
+ 11521, 18390,
+ 11521, 18435, 13483, 14396,
+ 11521, 18435, 13483, 15512,
+ 11521, 18669, 16246,
+ 11521, 18669, 19368,
+ 11521, 19029, 20467, 18728,
+ 11521, 19142,
+ 11521, 19213, 14330,
+ 11521, 19213, 20467, 18728,
+ 11521, 19368,
+ 11521, 19574,
+ 11521, 19589, 19574,
+ 11521, 19619, 19371, 15564,
+ 11521, 19973, 16246,
+ 11521, 20163, 11428,
+ 11521, 20163, 14330,
+ 11521, 20163, 18728,
+ 11521, 20163, 20467, 18728,
+ 11521, 20755, 13483, 18596,
+ 11521, 20755, 14533, 18596,
+ 11521, 20755, 18596,
+ 11521, 20755, 19177, 13271, 18596,
+ 11521, 21089, 13483, 18596,
+ 11521, 21089, 14533, 18596,
+ 11521, 21089, 18596,
+ 11521, 21089, 19177, 13271, 18596,
+ 11521, 21135, 13483, 18596,
+ 11521, 21135, 14533, 18596,
+ 11521, 21135, 14533, 18597, 10595, 18669, 894,
+ 11521, 21135, 16914,
+ 11521, 21135, 18596,
+ 11521, 21135, 19177, 13271, 18596,
+ 11521, 21156,
+ 11521, 21387, 13483, 18596,
+ 11521, 21387, 14533, 18596,
+ 11521, 21387, 14533, 18597, 10595, 18669, 894,
+ 11521, 21387, 16914,
+ 11521, 21387, 18272,
+ 11521, 21387, 18596,
+ 11521, 21387, 18597, 10595, 14533, 18669, 894,
+ 11521, 21387, 19177, 13271, 18596,
+ 11525, 15564,
+ 11536,
+ 11544,
+ 11546,
+ 11551, 10595, 10482,
+ 11565, 13921, 9809, 16,
+ 11565, 13921, 9809, 40,
+ 11565, 14903, 0,
+ 11565, 14903, 16,
+ 11565, 14903, 40,
+ 11565, 14903, 106,
+ 11565, 14903, 148,
+ 11565, 14903, 244,
+ 11565, 14903, 266,
+ 11565, 14903, 348,
+ 11565, 14903, 382,
+ 11565, 14903, 414,
+ 11565, 14903, 446,
+ 11565, 14903, 520,
+ 11565, 14903, 570,
+ 11565, 14903, 586,
+ 11565, 14903, 620,
+ 11565, 14903, 692,
+ 11565, 14903, 732,
+ 11565, 14903, 2432,
+ 11575, 315, 20190,
+ 11594,
+ 11600,
+ 11601, 19169, 13182,
+ 11604,
+ 11632,
+ 11641, 10595, 17319, 13730,
+ 11641, 10595, 17319, 13731, 841, 3675, 9808,
+ 11641, 10595, 19029, 13730,
+ 11643, 8282,
+ 11685, 15395, 15564,
+ 11691, 6683, 2597, 15142,
+ 11691, 6683, 3057, 15142,
+ 11691, 6683, 3213, 15142,
+ 11691, 6683, 3337, 15142,
+ 11691, 6683, 6721, 15142,
+ 11691, 6683, 6743, 15142,
+ 11691, 6683, 8737, 15142,
+ 11691, 6683, 11917, 15142,
+ 11691, 6683, 13377, 15142,
+ 11691, 6683, 13655, 15142,
+ 11691, 6683, 14547, 15142,
+ 11691, 6683, 15707, 15142,
+ 11691, 6683, 20080,
+ 11691, 6683, 20214,
+ 11691, 6683, 20254,
+ 11691, 6683, 20286,
+ 11691, 6683, 20476,
+ 11691, 6683, 20482,
+ 11691, 6683, 20606,
+ 11691, 6683, 20860,
+ 11691, 6683, 20988,
+ 11691, 6683, 21024,
+ 11691, 6683, 21094,
+ 11691, 6683, 21216,
+ 11693, 668,
+ 11696,
+ 11697, 10595, 9420,
+ 11697, 10595, 9840,
+ 11697, 10595, 17246,
+ 11697, 10595, 19220,
11702,
- 11725, 8153, 12132,
- 11725, 8717, 12132,
- 11727, 6129, 11228,
- 11727, 8405, 238,
- 11727, 8405, 468,
- 11727, 8405, 710,
- 11727, 8405, 714,
- 11727, 8405, 788,
- 11727, 8405, 1366,
- 11727, 8405, 1578,
- 11727, 8405, 1892,
- 11727, 8405, 2110,
- 11727, 8405, 2318,
- 11727, 8405, 2658,
- 11727, 8405, 2674,
- 11727, 8405, 2916,
- 11727, 8405, 3080,
- 11727, 8405, 3126,
- 11727, 8405, 4058,
- 11727, 8405, 4238,
- 11727, 8405, 4832,
- 11727, 8405, 5568,
- 11727, 8405, 5624,
- 11727, 8405, 5652,
- 11727, 8405, 5698,
- 11727, 8525, 2170,
- 11727, 8525, 2171, 9344,
- 11727, 8525, 2670,
- 11727, 8525, 8876,
- 11731, 5758,
- 11736,
- 11740,
- 11745, 10261, 10374,
- 11747, 6741, 568,
- 11749, 5758,
- 11763, 731, 10763, 6434,
- 11765, 2779, 8289, 6434,
- 11765, 6105, 6434,
- 11765, 6434,
- 11765, 6435, 569, 760,
- 11765, 6435, 569, 6505, 9158,
- 11765, 6435, 4221, 760,
- 11765, 6435, 4221, 761, 569, 6505, 9158,
- 11765, 6435, 5387, 11097, 6434,
- 11765, 6435, 6121, 2697, 9810,
- 11765, 6435, 6121, 2697, 10958,
- 11765, 6435, 6121, 4530,
- 11765, 6435, 6121, 4896,
- 11765, 6435, 6121, 5445, 6490,
- 11765, 6435, 6121, 5878,
- 11765, 6435, 6121, 5879, 6121, 8153, 10677, 8758,
- 11765, 6435, 6121, 5879, 6121, 10677, 8758,
- 11765, 6435, 6121, 8077, 10958,
- 11765, 6435, 6121, 8151, 5832,
- 11765, 6435, 6121, 8153, 10677, 8758,
- 11765, 6435, 6121, 8758,
- 11765, 6435, 6121, 10677, 8758,
- 11765, 6435, 6377, 7551, 11097, 6434,
- 11765, 6435, 6377, 7709, 10374,
- 11765, 6435, 6377, 7919, 6741, 568,
- 11765, 6435, 6377, 9633, 7709, 10374,
- 11765, 6435, 6377, 9633, 7919, 6741, 568,
- 11765, 6435, 9785, 46,
- 11765, 6435, 9785, 10578,
- 11765, 6435, 9785, 12472,
- 11765, 7821, 6434,
- 11765, 7821, 6435, 4221, 6102,
- 11765, 8097, 6434,
- 11765, 8153, 3993, 6434,
- 11765, 8153, 6434,
- 11765, 8153, 6435, 4221, 760,
- 11765, 8153, 6435, 6121, 8758,
- 11765, 8153, 6435, 6121, 10677, 8758,
- 11765, 8153, 11430,
- 11765, 8561, 7944,
- 11765, 8849, 3993, 6434,
- 11765, 8849, 6434,
- 11765, 9327, 5387, 11097, 9326,
- 11765, 9327, 6121, 3713, 601, 569, 760,
- 11765, 9327, 6121, 3713, 601, 4221, 760,
- 11765, 9327, 6121, 3713, 601, 6377, 4895, 3992,
- 11765, 9327, 6121, 3713, 601, 6377, 11097, 9327, 6121, 3713, 600,
- 11765, 9327, 6121, 3713, 601, 6377, 11765, 9327, 6121, 3713, 4116,
- 11765, 9327, 6121, 3713, 4117, 569, 760,
- 11765, 9327, 6121, 3713, 4117, 4221, 760,
- 11765, 9327, 6121, 3713, 4117, 6377, 11097, 9327, 6121, 3713, 4116,
- 11765, 9327, 6121, 3713, 4117, 6491, 4895, 3992,
- 11765, 9327, 6121, 3713, 9810,
- 11765, 9327, 6121, 3713, 10958,
- 11765, 10531, 6434,
- 11765, 11191, 6434,
- 11765, 11430,
- 11765, 11875, 6435, 4221, 760,
- 11765, 11875, 6435, 6121, 5878,
- 11765, 11875, 6435, 6121, 5879, 6121, 8153, 10677, 8758,
- 11765, 11875, 6435, 6121, 5879, 6121, 10677, 8758,
- 11765, 11875, 6435, 6121, 8153, 10677, 8758,
- 11765, 11875, 6435, 6121, 10677, 8758,
- 11765, 11875, 8849, 3993, 6434,
- 11765, 12103, 6434,
- 11769, 5759, 8916,
- 11769, 5759, 9824,
- 11769, 5759, 9870,
- 11769, 6646,
- 11769, 6689, 2170,
- 11769, 6689, 2540,
- 11769, 6689, 2778,
- 11769, 6689, 4200,
- 11769, 6689, 4214,
- 11769, 6689, 5190,
- 11769, 6689, 6260,
- 11769, 6689, 6722,
- 11769, 6689, 7508,
- 11769, 6689, 7694,
- 11769, 7803, 5759, 8,
- 11769, 7803, 5759, 16,
- 11769, 7803, 5759, 28,
- 11769, 7803, 5759, 40,
- 11769, 7803, 5759, 58,
- 11769, 7803, 5759, 72,
- 11769, 7803, 5759, 92,
- 11769, 7803, 5759, 162,
- 11769, 7803, 5759, 266,
- 11769, 7803, 5759, 440,
- 11769, 7803, 5759, 606,
- 11769, 7803, 5759, 9827, 22,
- 11769, 7803, 5759, 9827, 34,
- 11769, 7803, 5759, 9827, 344,
- 11769, 7803, 5759, 9827, 518,
- 11769, 8153, 6646,
- 11769, 8405, 0,
- 11769, 8405, 8,
- 11769, 8405, 16,
- 11769, 8405, 28,
- 11769, 8405, 40,
- 11769, 8405, 58,
- 11769, 8405, 72,
- 11769, 8405, 92,
- 11769, 8405, 100,
- 11769, 8405, 116,
- 11769, 8405, 138,
- 11769, 8405, 162,
- 11769, 8405, 216,
- 11769, 8405, 236,
- 11769, 8405, 266,
- 11769, 8405, 292,
- 11769, 8405, 306,
- 11769, 8405, 332,
- 11769, 8405, 364,
- 11769, 8405, 392,
- 11769, 8405, 440,
- 11769, 8405, 462,
- 11769, 8405, 510,
- 11769, 8405, 524,
- 11769, 8405, 556,
- 11769, 8405, 606,
- 11769, 8405, 610,
- 11769, 8405, 652,
- 11769, 8405, 792,
- 11769, 8405, 884,
- 11769, 8405, 974,
- 11769, 8405, 996,
- 11769, 8405, 1260,
- 11769, 8405, 1512,
- 11769, 8405, 1612,
- 11769, 8405, 1796,
- 11769, 8405, 2030,
- 11769, 8405, 2076,
- 11769, 8405, 2126,
- 11769, 8405, 2212,
- 11769, 8405, 2516,
- 11769, 8405, 2566,
- 11769, 8405, 2678,
- 11769, 8405, 2746,
- 11769, 8405, 4016,
- 11769, 8405, 5994,
- 11769, 8405, 9827, 22,
- 11769, 8405, 9827, 34,
- 11769, 8405, 9827, 344,
- 11769, 8405, 9827, 518,
- 11769, 10775, 5759, 6888,
- 11793, 9611, 6121, 8005, 8064,
- 11801, 5385, 826,
- 11819, 7608,
- 11859, 8022,
- 11881, 8774,
- 11893, 1611, 8774,
- 11899, 10513, 7821, 11765, 6434,
- 11905, 10212,
- 11909, 8774,
+ 11703, 9808,
+ 11703, 14554,
+ 11706,
+ 11708,
+ 11711, 841, 7756,
+ 11719, 483, 18092,
+ 11719, 483, 19180,
+ 11719, 8282,
+ 11719, 15270,
+ 11719, 15271, 10595, 20491, 11502,
+ 11720,
+ 11725, 7850,
+ 11725, 15971, 19056,
+ 11725, 16603, 502,
+ 11725, 16603, 840,
+ 11727, 841, 9450,
+ 11795, 15564,
+ 11800,
+ 11833, 11943, 632,
+ 11849, 2596,
+ 11849, 2597, 6757, 9910,
+ 11849, 2597, 11708,
+ 11849, 3056,
+ 11849, 3057, 6757, 9910,
+ 11849, 3057, 11708,
+ 11849, 3336,
+ 11849, 3337, 6757, 9910,
+ 11849, 3337, 11708,
+ 11849, 6720,
+ 11849, 6721, 6757, 9910,
+ 11849, 6721, 11708,
+ 11849, 6742,
+ 11849, 6743, 6757, 9910,
+ 11849, 6743, 11708,
+ 11849, 8736,
+ 11849, 8737, 6757, 9910,
+ 11849, 8737, 11708,
+ 11849, 10854,
+ 11849, 10855, 6757, 9910,
+ 11849, 10855, 11708,
+ 11849, 11916,
+ 11849, 11917, 6757, 9910,
+ 11849, 11917, 11708,
+ 11849, 13376,
+ 11849, 13377, 6757, 9910,
+ 11849, 13377, 11708,
+ 11849, 13654,
+ 11849, 13655, 6757, 9910,
+ 11849, 13655, 11708,
+ 11857, 8282,
+ 11859, 6682,
+ 11859, 15564,
+ 11872,
+ 11877, 9835, 9808,
11910,
- 11921, 568,
- 11922,
- 11924,
- 12007, 6741, 569, 445, 11098,
- 12007, 6741, 569, 445, 12472,
- 12007, 9705, 6741, 569, 445, 11098,
- 12007, 9705, 6741, 569, 445, 12472,
- 12007, 9705, 11099, 445, 6741, 568,
- 12007, 9705, 12473, 445, 6741, 568,
- 12015, 568,
- 12017, 4926,
- 12017, 10469, 4926,
- 12021, 7608,
- 12041, 7382,
- 12043, 4223, 5836,
- 12043, 4389, 4193, 7608,
- 12043, 6616,
- 12043, 7097, 5965, 4926,
- 12043, 7608,
- 12043, 8525, 6260,
- 12043, 8649, 5965, 4926,
- 12043, 9099, 4926,
- 12043, 10161, 5965, 4926,
- 12043, 10799, 5965, 4926,
- 12043, 11067, 4926,
- 12043, 11353, 4877, 4183, 11229, 8774,
- 12043, 11353, 8775, 1177, 973, 2170,
- 12043, 11353, 8775, 1177, 973, 2540,
- 12043, 11353, 8775, 1177, 973, 2670,
- 12043, 11353, 8775, 1177, 973, 2778,
- 12043, 11353, 8775, 1177, 973, 4200,
- 12043, 11353, 8775, 1177, 973, 4214,
- 12043, 11353, 8775, 1177, 973, 5190,
- 12043, 11353, 8775, 1177, 973, 6722,
- 12043, 11353, 8775, 1177, 973, 7508,
- 12043, 11353, 8775, 1177, 973, 7694,
- 12043, 11353, 8775, 1177, 973, 8162,
- 12043, 11353, 8775, 1177, 973, 8820,
- 12043, 11353, 8775, 1177, 973, 8874,
- 12043, 11353, 8775, 1177, 973, 8876,
- 12043, 11353, 8775, 1177, 973, 9286,
- 12043, 11353, 8775, 1177, 973, 9700,
- 12043, 11353, 8775, 1177, 973, 10150,
- 12043, 11353, 8775, 1177, 973, 10200,
- 12043, 11353, 8775, 1177, 973, 10360,
- 12043, 11353, 8775, 1177, 973, 10622,
- 12043, 11353, 8775, 1177, 973, 11232,
- 12043, 11353, 8775, 1177, 973, 11854,
- 12043, 11353, 8775, 1177, 973, 11868,
- 12043, 11353, 8775, 1177, 973, 11870,
- 12043, 11353, 8775, 1177, 973, 11872,
- 12043, 11353, 8775, 1177, 973, 12374,
- 12043, 11353, 8775, 1177, 973, 12376,
- 12043, 11353, 8775, 1177, 973, 12378,
- 12043, 11353, 8775, 1177, 973, 12888,
- 12043, 11353, 8775, 1177, 973, 12890,
- 12043, 11353, 8775, 1177, 973, 12892,
- 12043, 11353, 8775, 1177, 1870,
- 12043, 11353, 8775, 1177, 4541, 2170,
- 12043, 11353, 8775, 1177, 4541, 2540,
- 12043, 11353, 8775, 1177, 4541, 2670,
- 12043, 11353, 8775, 1177, 4541, 2778,
- 12043, 11353, 8775, 1177, 4541, 4200,
- 12043, 11353, 8775, 1177, 4541, 4214,
- 12043, 11353, 8775, 1177, 4541, 5190,
- 12043, 11353, 8775, 1177, 4541, 6260,
- 12043, 11353, 8775, 1177, 4541, 6722,
- 12043, 11353, 8775, 1177, 4541, 7508,
- 12043, 11353, 8775, 1177, 4541, 7694,
- 12043, 11353, 8775, 1177, 4541, 8162,
- 12043, 11353, 8775, 1177, 4541, 8874,
- 12043, 11353, 8775, 1177, 4541, 8876,
- 12043, 11353, 8775, 1177, 4541, 9286,
- 12043, 11353, 8775, 1177, 4541, 9700,
- 12043, 11353, 8775, 1177, 4541, 10150,
- 12043, 11353, 8775, 1177, 4541, 10200,
- 12043, 11353, 8775, 1177, 4541, 10360,
- 12043, 11353, 8775, 1177, 4541, 10622,
- 12043, 11353, 8775, 1177, 4541, 11232,
- 12043, 11353, 8775, 1177, 4541, 11868,
- 12043, 11353, 8775, 1177, 4541, 11872,
- 12043, 11353, 8775, 1177, 4541, 12376,
- 12043, 11353, 8775, 1177, 4541, 12892,
- 12043, 11353, 8775, 1177, 4682,
- 12043, 11353, 8775, 1177, 4684,
- 12043, 11353, 8775, 1177, 6420,
- 12043, 11353, 8775, 1177, 7136,
- 12043, 11353, 8775, 1177, 7958,
- 12043, 11353, 8775, 1177, 9374,
- 12043, 11353, 8775, 1177, 9528,
- 12043, 11353, 8775, 1177, 9990,
- 12043, 11353, 8775, 1177, 10176,
- 12043, 11353, 8775, 1177, 10368,
- 12043, 11353, 8775, 1177, 11230,
- 12043, 11391, 11054,
- 12043, 11415, 1861, 4926,
- 12043, 11415, 2171, 4926,
- 12043, 11415, 2725, 4926,
- 12043, 11415, 2779, 4926,
- 12043, 11415, 4215, 4926,
- 12043, 11415, 6717, 4926,
- 12043, 11415, 6791, 4926,
- 12043, 11415, 7687, 4926,
- 12043, 11415, 7695, 4926,
- 12043, 11415, 8005, 4926,
- 12043, 11415, 8233, 4926,
- 12043, 11415, 8291, 4926,
- 12043, 11415, 8473, 4926,
- 12043, 11415, 8681, 4926,
- 12043, 11415, 9433, 4926,
- 12043, 11415, 9633, 4926,
- 12043, 11937, 10759, 4223, 10580,
- 12043, 11937, 10759, 4849, 569, 7442,
- 12043, 11937, 10759, 4849, 569, 8473, 721, 7442,
- 12043, 11937, 10759, 6377, 569, 6490,
- 12043, 11937, 10759, 6377, 569, 8473, 721, 6490,
- 12043, 11937, 10759, 10386,
- 12043, 11937, 10759, 10581, 4221, 4848,
- 12043, 11937, 10759, 10581, 4221, 6376,
- 12043, 11937, 10759, 10581, 4221, 6490,
- 12043, 11937, 10759, 10581, 4221, 7121, 4848,
- 12043, 11937, 10759, 10581, 4221, 7773, 4848,
- 12043, 11937, 10759, 10581, 4221, 7773, 7442,
- 12055, 8724,
- 12058,
- 12061, 11415, 7922,
- 12061, 11415, 11228,
- 12061, 11415, 11850,
- 12063, 8197, 721, 4923, 5758,
- 12064,
- 12075, 7821, 11765, 6434,
- 12108,
- 12117, 5758,
- 12122,
- 12133, 7608,
- 12135, 5758,
- 12143, 10758,
- 12156,
- 12342,
- 12355, 2170,
- 12355, 2540,
- 12355, 2778,
- 12355, 4200,
- 12355, 4214,
- 12355, 4849, 12114,
- 12355, 5190,
- 12355, 5445, 5758,
- 12355, 6260,
- 12355, 6722,
- 12355, 7089, 7593, 8405, 16,
- 12355, 7089, 7593, 8405, 26,
- 12355, 7172,
- 12355, 7443, 12114,
- 12355, 7508,
- 12355, 7694,
- 12355, 8167, 5758,
- 12371, 12492,
- 12383, 10643, 6121, 4849, 4389, 6504,
- 12383, 10643, 6121, 7443, 4389, 6504,
- 12396,
- 12399, 445, 10780,
- 12403, 2209, 2671, 10625, 5758,
- 12403, 2209, 7171, 5758,
- 12403, 3961, 5566,
- 12403, 6689, 2170,
- 12403, 6689, 2540,
- 12403, 6689, 2778,
- 12403, 6689, 4200,
- 12403, 6689, 4214,
- 12403, 6689, 5190,
- 12403, 6689, 6260,
- 12403, 6689, 6722,
- 12403, 6689, 7508,
- 12403, 6689, 7694,
- 12403, 8233, 5566,
- 12413, 9063, 4,
- 12413, 9063, 14,
- 12413, 9063, 16,
- 12413, 9063, 34,
- 12413, 9063, 50,
- 12428,
- 12461, 10346,
- 12463, 6505, 8056,
- 12463, 6505, 8744,
- 12463, 6505, 9158,
- 12463, 7821, 8056,
- 12463, 7821, 8744,
- 12463, 7821, 9158,
- 12464,
- 12467, 10513, 7821, 11765, 6434,
- 12473, 445, 6741, 568,
- 12473, 445, 9705, 6741, 568,
- 12473, 445, 9705, 6741, 569, 6121, 1045, 6376,
- 12473, 445, 9705, 6741, 569, 6121, 1045, 6377, 4848,
- 12473, 445, 9705, 6741, 569, 6121, 1045, 8318,
- 12473, 445, 11098,
- 12473, 445, 11621, 568,
- 12473, 445, 11896,
- 12473, 721, 2091, 11896,
- 12473, 721, 12345, 2091, 6741, 568,
- 12473, 835, 2091, 6741, 568,
- 12473, 835, 2091, 11621, 568,
- 12473, 5387, 6741, 568,
- 12473, 5758,
- 12473, 6121, 1044,
- 12473, 6121, 8057, 8318,
- 12473, 6121, 10469, 4927, 6376,
- 12473, 6377, 9693, 445, 6740,
- 12473, 6377, 9693, 6377, 11098,
- 12473, 6377, 9705, 6741, 6377, 11099, 6377, 9705, 6740,
- 12473, 6377, 11099, 6377, 12007, 6740,
- 12473, 6377, 11765, 6434,
- 12473, 6377, 12007, 6741, 6377, 11098,
- 12473, 6741, 569, 445, 11098,
- 12473, 7991, 11098,
- 12473, 8065, 115, 6628,
- 12473, 8065, 115, 6629, 6377, 9705, 6740,
- 12473, 12105, 11098,
- 12478,
- 12480,
- 12492,
- 12493, 6121, 1044,
- 12493, 6121, 9437, 720,
- 12493, 6121, 9546,
- 12493, 6377, 761, 6377, 7768,
- 12493, 6377, 7768,
- 12493, 7991, 721, 8329, 6121, 12492,
- 12505, 3803, 477, 8774,
- 12505, 3803, 2217, 8774,
- 12505, 3803, 2413, 8774,
- 12505, 3803, 6689, 2170,
- 12505, 3803, 6689, 2540,
- 12505, 3803, 6689, 2778,
- 12505, 3803, 6689, 4200,
- 12505, 3803, 6689, 4214,
- 12505, 3803, 6689, 5190,
- 12505, 3803, 6689, 6260,
- 12505, 3803, 6689, 6722,
- 12505, 3803, 6689, 7508,
- 12505, 3803, 6689, 7694,
- 12505, 3803, 7023, 8774,
- 12505, 3803, 7202,
- 12505, 3803, 7593, 0,
- 12505, 3803, 7593, 2,
- 12505, 3803, 7593, 4,
- 12505, 3803, 7593, 6,
- 12505, 3803, 7593, 8,
- 12505, 3803, 7593, 10,
- 12505, 3803, 7593, 12,
- 12505, 3803, 7593, 14,
- 12505, 3803, 7593, 16,
- 12505, 3803, 7593, 18,
- 12505, 3803, 7593, 20,
- 12505, 3803, 7593, 22,
- 12505, 3803, 7593, 24,
- 12505, 3803, 7593, 26,
- 12505, 3803, 7593, 28,
- 12505, 3803, 7593, 30,
- 12505, 3803, 7593, 32,
- 12505, 3803, 7593, 34,
- 12505, 3803, 7593, 36,
- 12505, 3803, 7593, 38,
- 12505, 3803, 7593, 40,
- 12505, 3803, 7593, 42,
- 12505, 3803, 7593, 44,
- 12505, 3803, 7593, 46,
- 12505, 3803, 7593, 48,
- 12505, 3803, 7593, 50,
- 12505, 3803, 7593, 384,
- 12505, 3803, 7593, 416,
- 12505, 3803, 7593, 476,
- 12505, 3803, 7593, 644,
- 12505, 3803, 7593, 888,
- 12505, 3803, 7593, 1128,
- 12505, 3803, 7593, 2216,
- 12505, 3803, 7593, 2250,
- 12505, 3803, 7593, 2412,
- 12505, 3803, 7593, 2658,
- 12505, 3803, 7593, 3774,
- 12505, 3803, 7593, 4614,
- 12505, 3803, 7593, 6262,
- 12505, 3803, 7593, 6406,
- 12505, 3803, 7593, 6674,
- 12505, 3803, 7593, 6789, 7568,
- 12505, 3803, 7593, 6824,
- 12505, 3803, 7593, 7022,
- 12505, 3803, 7593, 7080,
- 12505, 3803, 7593, 7316,
- 12505, 3803, 7593, 7568,
- 12505, 3803, 7593, 7682,
- 12505, 3803, 7593, 9162,
- 12505, 3803, 7593, 9270,
- 12505, 3803, 7593, 9530,
- 12505, 3803, 7593, 9808,
- 12505, 3803, 7683, 8774,
- 12505, 3803, 8325, 477, 8774,
- 12505, 3803, 8325, 2217, 8774,
- 12505, 3803, 8325, 2413, 8774,
- 12505, 3803, 8325, 7023, 8774,
- 12505, 3803, 8325, 7202,
- 12505, 3803, 8325, 7593, 0,
- 12505, 3803, 8325, 7593, 2,
- 12505, 3803, 8325, 7593, 4,
- 12505, 3803, 8325, 7593, 6,
- 12505, 3803, 8325, 7593, 8,
- 12505, 3803, 8325, 7593, 10,
- 12505, 3803, 8325, 7593, 12,
- 12505, 3803, 8325, 7593, 14,
- 12505, 3803, 8325, 7593, 16,
- 12505, 3803, 8325, 7593, 18,
- 12505, 3803, 8325, 7593, 20,
- 12505, 3803, 8325, 7593, 22,
- 12505, 3803, 8325, 7593, 24,
- 12505, 3803, 8325, 7593, 26,
- 12505, 3803, 8325, 7593, 28,
- 12505, 3803, 8325, 7593, 30,
- 12505, 3803, 8325, 7593, 32,
- 12505, 3803, 8325, 7593, 34,
- 12505, 3803, 8325, 7593, 36,
- 12505, 3803, 8325, 7593, 38,
- 12505, 3803, 8325, 7593, 40,
- 12505, 3803, 8325, 7593, 42,
- 12505, 3803, 8325, 7593, 44,
- 12505, 3803, 8325, 7593, 46,
- 12505, 3803, 8325, 7593, 48,
- 12505, 3803, 8325, 7593, 50,
- 12505, 3803, 8325, 7593, 384,
- 12505, 3803, 8325, 7593, 416,
- 12505, 3803, 8325, 7593, 476,
- 12505, 3803, 8325, 7593, 644,
- 12505, 3803, 8325, 7593, 888,
- 12505, 3803, 8325, 7593, 1128,
- 12505, 3803, 8325, 7593, 2216,
- 12505, 3803, 8325, 7593, 2250,
- 12505, 3803, 8325, 7593, 2412,
- 12505, 3803, 8325, 7593, 2658,
- 12505, 3803, 8325, 7593, 3774,
- 12505, 3803, 8325, 7593, 4614,
- 12505, 3803, 8325, 7593, 6262,
- 12505, 3803, 8325, 7593, 6406,
- 12505, 3803, 8325, 7593, 6674,
- 12505, 3803, 8325, 7593, 6789, 7568,
- 12505, 3803, 8325, 7593, 6824,
- 12505, 3803, 8325, 7593, 7022,
- 12505, 3803, 8325, 7593, 7080,
- 12505, 3803, 8325, 7593, 7316,
- 12505, 3803, 8325, 7593, 7568,
- 12505, 3803, 8325, 7593, 7682,
- 12505, 3803, 8325, 7593, 9270,
- 12505, 3803, 8325, 7593, 9530,
- 12505, 3803, 8325, 7593, 9808,
- 12505, 3803, 8325, 7683, 8774,
- 12505, 3803, 8325, 9063, 0,
- 12505, 3803, 8325, 9063, 2,
- 12505, 3803, 8325, 9063, 4,
- 12505, 3803, 8325, 9063, 6,
- 12505, 3803, 8325, 9063, 8,
- 12505, 3803, 8325, 9063, 10,
- 12505, 3803, 8325, 9063, 12,
- 12505, 3803, 8325, 9063, 14,
- 12505, 3803, 8325, 9063, 16,
- 12505, 3803, 8325, 9063, 18,
- 12505, 3803, 8325, 9063, 20,
- 12505, 3803, 8325, 9063, 22,
- 12505, 3803, 8325, 9063, 24,
- 12505, 3803, 8325, 9063, 26,
- 12505, 3803, 8325, 9063, 28,
- 12505, 3803, 8325, 9063, 30,
- 12505, 3803, 8325, 9063, 32,
- 12505, 3803, 8325, 9063, 34,
- 12505, 3803, 8325, 9063, 36,
- 12505, 3803, 8325, 9063, 38,
- 12505, 3803, 8325, 9063, 40,
- 12505, 3803, 8325, 9063, 42,
- 12505, 3803, 8325, 9063, 44,
- 12505, 3803, 8325, 9063, 46,
- 12505, 3803, 8325, 9063, 48,
- 12505, 3803, 8325, 9063, 50,
- 12505, 3803, 8325, 9063, 384,
- 12505, 3803, 8325, 9063, 416,
- 12505, 3803, 8325, 9063, 476,
- 12505, 3803, 8325, 9063, 644,
- 12505, 3803, 8325, 9063, 888,
- 12505, 3803, 8325, 9063, 1128,
- 12505, 3803, 8325, 9063, 2216,
- 12505, 3803, 8325, 9063, 2250,
- 12505, 3803, 8325, 9063, 2412,
- 12505, 3803, 8325, 9063, 2658,
- 12505, 3803, 8325, 9063, 3774,
- 12505, 3803, 8325, 9063, 4614,
- 12505, 3803, 8325, 9063, 6262,
- 12505, 3803, 8325, 9063, 6406,
- 12505, 3803, 8325, 9063, 6674,
- 12505, 3803, 8325, 9063, 6824,
- 12505, 3803, 8325, 9063, 7022,
- 12505, 3803, 8325, 9063, 7080,
- 12505, 3803, 8325, 9063, 7316,
- 12505, 3803, 8325, 9063, 7568,
- 12505, 3803, 8325, 9063, 7682,
- 12505, 3803, 8325, 9063, 7683, 8774,
- 12505, 3803, 8325, 9063, 9270,
- 12505, 3803, 8325, 9063, 9530,
- 12505, 3803, 8325, 9063, 9808,
- 12505, 3803, 8325, 9271, 8774,
- 12505, 3803, 8325, 9573, 12432,
- 12505, 3803, 8679, 7593, 0,
- 12505, 3803, 8679, 7593, 2,
- 12505, 3803, 8679, 7593, 4,
- 12505, 3803, 8679, 7593, 6,
- 12505, 3803, 8679, 7593, 8,
- 12505, 3803, 8679, 7593, 10,
- 12505, 3803, 8679, 7593, 12,
- 12505, 3803, 8679, 7593, 14,
- 12505, 3803, 8679, 7593, 16,
- 12505, 3803, 8679, 7593, 18,
- 12505, 3803, 8679, 7593, 20,
- 12505, 3803, 8679, 7593, 22,
- 12505, 3803, 8679, 7593, 24,
- 12505, 3803, 8679, 7593, 26,
- 12505, 3803, 8679, 7593, 28,
- 12505, 3803, 8679, 7593, 30,
- 12505, 3803, 8679, 7593, 32,
- 12505, 3803, 8679, 7593, 34,
- 12505, 3803, 8679, 7593, 36,
- 12505, 3803, 8679, 7593, 38,
- 12505, 3803, 8679, 7593, 40,
- 12505, 3803, 8679, 7593, 42,
- 12505, 3803, 8679, 7593, 44,
- 12505, 3803, 8679, 7593, 46,
- 12505, 3803, 8679, 7593, 48,
- 12505, 3803, 8679, 7593, 50,
- 12505, 3803, 8679, 9063, 0,
- 12505, 3803, 8679, 9063, 2,
- 12505, 3803, 8679, 9063, 4,
- 12505, 3803, 8679, 9063, 6,
- 12505, 3803, 8679, 9063, 8,
- 12505, 3803, 8679, 9063, 10,
- 12505, 3803, 8679, 9063, 12,
- 12505, 3803, 8679, 9063, 14,
- 12505, 3803, 8679, 9063, 16,
- 12505, 3803, 8679, 9063, 18,
- 12505, 3803, 8679, 9063, 20,
- 12505, 3803, 8679, 9063, 22,
- 12505, 3803, 8679, 9063, 24,
- 12505, 3803, 8679, 9063, 26,
- 12505, 3803, 8679, 9063, 28,
- 12505, 3803, 8679, 9063, 30,
- 12505, 3803, 8679, 9063, 32,
- 12505, 3803, 8679, 9063, 34,
- 12505, 3803, 8679, 9063, 36,
- 12505, 3803, 8679, 9063, 38,
- 12505, 3803, 8679, 9063, 40,
- 12505, 3803, 8679, 9063, 42,
- 12505, 3803, 8679, 9063, 44,
- 12505, 3803, 8679, 9063, 46,
- 12505, 3803, 8679, 9063, 48,
- 12505, 3803, 8679, 9063, 50,
- 12505, 3803, 9063, 0,
- 12505, 3803, 9063, 2,
- 12505, 3803, 9063, 4,
- 12505, 3803, 9063, 6,
- 12505, 3803, 9063, 8,
- 12505, 3803, 9063, 10,
- 12505, 3803, 9063, 12,
- 12505, 3803, 9063, 14,
- 12505, 3803, 9063, 16,
- 12505, 3803, 9063, 18,
- 12505, 3803, 9063, 20,
- 12505, 3803, 9063, 22,
- 12505, 3803, 9063, 24,
- 12505, 3803, 9063, 26,
- 12505, 3803, 9063, 28,
- 12505, 3803, 9063, 30,
- 12505, 3803, 9063, 32,
- 12505, 3803, 9063, 34,
- 12505, 3803, 9063, 36,
- 12505, 3803, 9063, 38,
- 12505, 3803, 9063, 40,
- 12505, 3803, 9063, 42,
- 12505, 3803, 9063, 44,
- 12505, 3803, 9063, 46,
- 12505, 3803, 9063, 48,
- 12505, 3803, 9063, 50,
- 12505, 3803, 9063, 384,
- 12505, 3803, 9063, 416,
- 12505, 3803, 9063, 476,
- 12505, 3803, 9063, 644,
- 12505, 3803, 9063, 888,
- 12505, 3803, 9063, 1128,
- 12505, 3803, 9063, 2216,
- 12505, 3803, 9063, 2250,
- 12505, 3803, 9063, 2412,
- 12505, 3803, 9063, 2658,
- 12505, 3803, 9063, 3774,
- 12505, 3803, 9063, 4614,
- 12505, 3803, 9063, 6262,
- 12505, 3803, 9063, 6406,
- 12505, 3803, 9063, 6674,
- 12505, 3803, 9063, 6824,
- 12505, 3803, 9063, 7022,
- 12505, 3803, 9063, 7080,
- 12505, 3803, 9063, 7316,
- 12505, 3803, 9063, 7568,
- 12505, 3803, 9063, 7682,
- 12505, 3803, 9063, 7683, 8774,
- 12505, 3803, 9063, 9162,
- 12505, 3803, 9063, 9270,
- 12505, 3803, 9063, 9530,
- 12505, 3803, 9063, 9808,
- 12505, 3803, 9271, 8774,
- 12505, 3803, 9295, 7593, 0,
- 12505, 3803, 9295, 7593, 2,
- 12505, 3803, 9295, 7593, 4,
- 12505, 3803, 9295, 7593, 6,
- 12505, 3803, 9295, 7593, 8,
- 12505, 3803, 9295, 7593, 10,
- 12505, 3803, 9295, 7593, 12,
- 12505, 3803, 9295, 7593, 14,
- 12505, 3803, 9295, 7593, 16,
- 12505, 3803, 9295, 7593, 18,
- 12505, 3803, 9295, 7593, 20,
- 12505, 3803, 9295, 7593, 22,
- 12505, 3803, 9295, 7593, 24,
- 12505, 3803, 9295, 7593, 26,
- 12505, 3803, 9295, 7593, 28,
- 12505, 3803, 9295, 7593, 30,
- 12505, 3803, 9295, 7593, 32,
- 12505, 3803, 9295, 7593, 34,
- 12505, 3803, 9295, 7593, 36,
- 12505, 3803, 9295, 7593, 38,
- 12505, 3803, 9295, 7593, 40,
- 12505, 3803, 9295, 7593, 42,
- 12505, 3803, 9295, 7593, 44,
- 12505, 3803, 9295, 7593, 46,
- 12505, 3803, 9295, 7593, 48,
- 12505, 3803, 9295, 7593, 50,
- 12505, 3803, 9295, 9063, 0,
- 12505, 3803, 9295, 9063, 2,
- 12505, 3803, 9295, 9063, 4,
- 12505, 3803, 9295, 9063, 6,
- 12505, 3803, 9295, 9063, 8,
- 12505, 3803, 9295, 9063, 10,
- 12505, 3803, 9295, 9063, 12,
- 12505, 3803, 9295, 9063, 14,
- 12505, 3803, 9295, 9063, 16,
- 12505, 3803, 9295, 9063, 18,
- 12505, 3803, 9295, 9063, 20,
- 12505, 3803, 9295, 9063, 22,
- 12505, 3803, 9295, 9063, 24,
- 12505, 3803, 9295, 9063, 26,
- 12505, 3803, 9295, 9063, 28,
- 12505, 3803, 9295, 9063, 30,
- 12505, 3803, 9295, 9063, 32,
- 12505, 3803, 9295, 9063, 34,
- 12505, 3803, 9295, 9063, 36,
- 12505, 3803, 9295, 9063, 38,
- 12505, 3803, 9295, 9063, 40,
- 12505, 3803, 9295, 9063, 42,
- 12505, 3803, 9295, 9063, 44,
- 12505, 3803, 9295, 9063, 46,
- 12505, 3803, 9295, 9063, 48,
- 12505, 3803, 9295, 9063, 50,
- 12505, 3803, 9573, 12432,
- 12505, 4849, 6409, 9050,
- 12505, 4849, 7821, 8745, 9050,
- 12505, 4849, 7821, 10637, 7533, 9050,
- 12505, 4849, 8153, 6409, 9050,
- 12505, 4849, 10997, 12114,
- 12505, 7443, 6409, 9050,
- 12505, 7443, 7821, 8745, 9050,
- 12505, 7443, 7821, 10637, 7533, 9050,
- 12505, 7443, 8153, 6409, 9050,
- 12505, 7443, 10997, 12114,
- 12505, 8325, 477, 8774,
- 12505, 8325, 2217, 8774,
- 12505, 8325, 2413, 8774,
- 12505, 8325, 7023, 8774,
- 12505, 8325, 7202,
- 12505, 8325, 7593, 0,
- 12505, 8325, 7593, 2,
- 12505, 8325, 7593, 4,
- 12505, 8325, 7593, 6,
- 12505, 8325, 7593, 8,
- 12505, 8325, 7593, 10,
- 12505, 8325, 7593, 12,
- 12505, 8325, 7593, 16,
- 12505, 8325, 7593, 18,
- 12505, 8325, 7593, 20,
- 12505, 8325, 7593, 22,
- 12505, 8325, 7593, 24,
- 12505, 8325, 7593, 26,
- 12505, 8325, 7593, 28,
- 12505, 8325, 7593, 30,
- 12505, 8325, 7593, 32,
- 12505, 8325, 7593, 34,
- 12505, 8325, 7593, 36,
- 12505, 8325, 7593, 38,
- 12505, 8325, 7593, 40,
- 12505, 8325, 7593, 42,
- 12505, 8325, 7593, 44,
- 12505, 8325, 7593, 46,
- 12505, 8325, 7593, 48,
- 12505, 8325, 7593, 50,
- 12505, 8325, 7593, 384,
- 12505, 8325, 7593, 416,
- 12505, 8325, 7593, 476,
- 12505, 8325, 7593, 644,
- 12505, 8325, 7593, 888,
- 12505, 8325, 7593, 1128,
- 12505, 8325, 7593, 2216,
- 12505, 8325, 7593, 2250,
- 12505, 8325, 7593, 2412,
- 12505, 8325, 7593, 2658,
- 12505, 8325, 7593, 3774,
- 12505, 8325, 7593, 4614,
- 12505, 8325, 7593, 6262,
- 12505, 8325, 7593, 6406,
- 12505, 8325, 7593, 6674,
- 12505, 8325, 7593, 6789, 7568,
- 12505, 8325, 7593, 6824,
- 12505, 8325, 7593, 7022,
- 12505, 8325, 7593, 7080,
- 12505, 8325, 7593, 7316,
- 12505, 8325, 7593, 7568,
- 12505, 8325, 7593, 7682,
- 12505, 8325, 7593, 9185, 16,
- 12505, 8325, 7593, 9185, 18,
- 12505, 8325, 7593, 9270,
- 12505, 8325, 7593, 9530,
- 12505, 8325, 7593, 9808,
- 12505, 8325, 7683, 8774,
- 12505, 8325, 9063, 0,
- 12505, 8325, 9063, 2,
- 12505, 8325, 9063, 4,
- 12505, 8325, 9063, 6,
- 12505, 8325, 9063, 8,
- 12505, 8325, 9063, 10,
- 12505, 8325, 9063, 12,
- 12505, 8325, 9063, 14,
- 12505, 8325, 9063, 16,
- 12505, 8325, 9063, 18,
- 12505, 8325, 9063, 20,
- 12505, 8325, 9063, 22,
- 12505, 8325, 9063, 24,
- 12505, 8325, 9063, 26,
- 12505, 8325, 9063, 28,
- 12505, 8325, 9063, 30,
- 12505, 8325, 9063, 32,
- 12505, 8325, 9063, 34,
- 12505, 8325, 9063, 36,
- 12505, 8325, 9063, 38,
- 12505, 8325, 9063, 40,
- 12505, 8325, 9063, 42,
- 12505, 8325, 9063, 44,
- 12505, 8325, 9063, 46,
- 12505, 8325, 9063, 48,
- 12505, 8325, 9063, 50,
- 12505, 8325, 9063, 384,
- 12505, 8325, 9063, 416,
- 12505, 8325, 9063, 476,
- 12505, 8325, 9063, 644,
- 12505, 8325, 9063, 888,
- 12505, 8325, 9063, 1128,
- 12505, 8325, 9063, 2216,
- 12505, 8325, 9063, 2250,
- 12505, 8325, 9063, 2412,
- 12505, 8325, 9063, 2658,
- 12505, 8325, 9063, 3774,
- 12505, 8325, 9063, 4614,
- 12505, 8325, 9063, 6262,
- 12505, 8325, 9063, 6406,
- 12505, 8325, 9063, 6674,
- 12505, 8325, 9063, 6824,
- 12505, 8325, 9063, 7022,
- 12505, 8325, 9063, 7080,
- 12505, 8325, 9063, 7316,
- 12505, 8325, 9063, 7568,
- 12505, 8325, 9063, 7682,
- 12505, 8325, 9063, 7683, 8774,
- 12505, 8325, 9063, 9270,
- 12505, 8325, 9063, 9530,
- 12505, 8325, 9063, 9808,
- 12505, 8325, 9271, 8774,
- 12505, 8325, 9573, 12432,
- 12505, 8679, 7593, 0,
- 12505, 8679, 7593, 2,
- 12505, 8679, 7593, 4,
- 12505, 8679, 7593, 6,
- 12505, 8679, 7593, 10,
- 12505, 8679, 7593, 14,
- 12505, 8679, 7593, 16,
- 12505, 8679, 7593, 18,
- 12505, 8679, 7593, 20,
- 12505, 8679, 7593, 22,
- 12505, 8679, 7593, 24,
- 12505, 8679, 7593, 26,
- 12505, 8679, 7593, 30,
- 12505, 8679, 7593, 32,
- 12505, 8679, 7593, 34,
- 12505, 8679, 7593, 36,
- 12505, 8679, 7593, 38,
- 12505, 8679, 7593, 40,
- 12505, 8679, 7593, 42,
- 12505, 8679, 7593, 44,
- 12505, 8679, 7593, 46,
- 12505, 8679, 7593, 48,
- 12505, 8679, 7593, 50,
- 12505, 8679, 9063, 0,
- 12505, 8679, 9063, 4,
- 12505, 8679, 9063, 6,
- 12505, 8679, 9063, 12,
- 12505, 8679, 9063, 18,
- 12505, 8679, 9063, 20,
- 12505, 8679, 9063, 26,
- 12505, 8679, 9063, 28,
- 12505, 8679, 9063, 30,
- 12505, 8679, 9063, 32,
- 12505, 8679, 9063, 36,
- 12505, 8679, 9063, 38,
- 12505, 8679, 9063, 40,
- 12505, 8679, 9063, 42,
- 12505, 8679, 9063, 44,
- 12505, 8679, 9063, 46,
- 12505, 8679, 9063, 48,
- 12505, 8679, 9063, 50,
- 12505, 9295, 7593, 0,
- 12505, 9295, 7593, 2,
- 12505, 9295, 7593, 4,
- 12505, 9295, 7593, 6,
- 12505, 9295, 7593, 8,
- 12505, 9295, 7593, 10,
- 12505, 9295, 7593, 12,
- 12505, 9295, 7593, 14,
- 12505, 9295, 7593, 16,
- 12505, 9295, 7593, 18,
- 12505, 9295, 7593, 20,
- 12505, 9295, 7593, 22,
- 12505, 9295, 7593, 24,
- 12505, 9295, 7593, 26,
- 12505, 9295, 7593, 28,
- 12505, 9295, 7593, 30,
- 12505, 9295, 7593, 32,
- 12505, 9295, 7593, 34,
- 12505, 9295, 7593, 36,
- 12505, 9295, 7593, 38,
- 12505, 9295, 7593, 40,
- 12505, 9295, 7593, 42,
- 12505, 9295, 7593, 44,
- 12505, 9295, 7593, 46,
- 12505, 9295, 7593, 48,
- 12505, 9295, 7593, 50,
- 12505, 9295, 9063, 0,
- 12505, 9295, 9063, 2,
- 12505, 9295, 9063, 6,
- 12505, 9295, 9063, 8,
- 12505, 9295, 9063, 10,
- 12505, 9295, 9063, 12,
- 12505, 9295, 9063, 18,
- 12505, 9295, 9063, 20,
- 12505, 9295, 9063, 22,
- 12505, 9295, 9063, 24,
- 12505, 9295, 9063, 26,
- 12505, 9295, 9063, 28,
- 12505, 9295, 9063, 30,
- 12505, 9295, 9063, 32,
- 12505, 9295, 9063, 36,
- 12505, 9295, 9063, 38,
- 12505, 9295, 9063, 40,
- 12505, 9295, 9063, 42,
- 12505, 9295, 9063, 44,
- 12505, 9295, 9063, 46,
- 12505, 9295, 9063, 48,
- 12505, 11129, 6689, 2170,
- 12505, 11129, 6689, 2540,
- 12505, 11129, 6689, 2778,
- 12505, 11129, 6689, 4200,
- 12505, 11129, 6689, 4214,
- 12505, 11129, 6689, 5190,
- 12505, 11129, 6689, 6260,
- 12505, 11129, 6689, 6722,
- 12505, 11129, 6689, 7508,
- 12505, 11129, 6689, 7694,
- 12505, 11129, 7593, 0,
- 12505, 11129, 7593, 2,
- 12505, 11129, 7593, 4,
- 12505, 11129, 7593, 6,
- 12505, 11129, 7593, 8,
- 12505, 11129, 7593, 10,
- 12505, 11129, 7593, 12,
- 12505, 11129, 7593, 14,
- 12505, 11129, 7593, 16,
- 12505, 11129, 7593, 18,
- 12505, 11129, 7593, 20,
- 12505, 11129, 7593, 22,
- 12505, 11129, 7593, 24,
- 12505, 11129, 7593, 26,
- 12505, 11129, 7593, 28,
- 12505, 11129, 7593, 30,
- 12505, 11129, 7593, 32,
- 12505, 11129, 7593, 34,
- 12505, 11129, 7593, 36,
- 12505, 11129, 7593, 38,
- 12505, 11129, 7593, 40,
- 12505, 11129, 7593, 42,
- 12505, 11129, 7593, 44,
- 12505, 11129, 7593, 46,
- 12505, 11129, 7593, 48,
- 12505, 11129, 7593, 50,
- 12505, 11129, 9063, 0,
- 12505, 11129, 9063, 2,
- 12505, 11129, 9063, 4,
- 12505, 11129, 9063, 6,
- 12505, 11129, 9063, 8,
- 12505, 11129, 9063, 10,
- 12505, 11129, 9063, 12,
- 12505, 11129, 9063, 14,
- 12505, 11129, 9063, 16,
- 12505, 11129, 9063, 18,
- 12505, 11129, 9063, 20,
- 12505, 11129, 9063, 22,
- 12505, 11129, 9063, 24,
- 12505, 11129, 9063, 26,
- 12505, 11129, 9063, 28,
- 12505, 11129, 9063, 30,
- 12505, 11129, 9063, 32,
- 12505, 11129, 9063, 34,
- 12505, 11129, 9063, 36,
- 12505, 11129, 9063, 38,
- 12505, 11129, 9063, 40,
- 12505, 11129, 9063, 42,
- 12505, 11129, 9063, 44,
- 12505, 11129, 9063, 46,
- 12505, 11129, 9063, 48,
- 12505, 11129, 9063, 50,
- 12505, 11767, 3803, 477, 8774,
- 12505, 11767, 3803, 2217, 8774,
- 12505, 11767, 3803, 2413, 8774,
- 12505, 11767, 3803, 6689, 2170,
- 12505, 11767, 3803, 6689, 2540,
- 12505, 11767, 3803, 6689, 2778,
- 12505, 11767, 3803, 6689, 4200,
- 12505, 11767, 3803, 6689, 4214,
- 12505, 11767, 3803, 6689, 5190,
- 12505, 11767, 3803, 6689, 6260,
- 12505, 11767, 3803, 6689, 6722,
- 12505, 11767, 3803, 6689, 7508,
- 12505, 11767, 3803, 6689, 7694,
- 12505, 11767, 3803, 7023, 8774,
- 12505, 11767, 3803, 7202,
- 12505, 11767, 3803, 7593, 0,
- 12505, 11767, 3803, 7593, 2,
- 12505, 11767, 3803, 7593, 4,
- 12505, 11767, 3803, 7593, 6,
- 12505, 11767, 3803, 7593, 8,
- 12505, 11767, 3803, 7593, 10,
- 12505, 11767, 3803, 7593, 12,
- 12505, 11767, 3803, 7593, 14,
- 12505, 11767, 3803, 7593, 16,
- 12505, 11767, 3803, 7593, 18,
- 12505, 11767, 3803, 7593, 20,
- 12505, 11767, 3803, 7593, 22,
- 12505, 11767, 3803, 7593, 24,
- 12505, 11767, 3803, 7593, 26,
- 12505, 11767, 3803, 7593, 28,
- 12505, 11767, 3803, 7593, 30,
- 12505, 11767, 3803, 7593, 32,
- 12505, 11767, 3803, 7593, 34,
- 12505, 11767, 3803, 7593, 36,
- 12505, 11767, 3803, 7593, 38,
- 12505, 11767, 3803, 7593, 40,
- 12505, 11767, 3803, 7593, 42,
- 12505, 11767, 3803, 7593, 44,
- 12505, 11767, 3803, 7593, 46,
- 12505, 11767, 3803, 7593, 48,
- 12505, 11767, 3803, 7593, 50,
- 12505, 11767, 3803, 7593, 384,
- 12505, 11767, 3803, 7593, 416,
- 12505, 11767, 3803, 7593, 476,
- 12505, 11767, 3803, 7593, 644,
- 12505, 11767, 3803, 7593, 888,
- 12505, 11767, 3803, 7593, 1128,
- 12505, 11767, 3803, 7593, 2216,
- 12505, 11767, 3803, 7593, 2250,
- 12505, 11767, 3803, 7593, 2412,
- 12505, 11767, 3803, 7593, 2658,
- 12505, 11767, 3803, 7593, 3774,
- 12505, 11767, 3803, 7593, 4614,
- 12505, 11767, 3803, 7593, 6262,
- 12505, 11767, 3803, 7593, 6406,
- 12505, 11767, 3803, 7593, 6674,
- 12505, 11767, 3803, 7593, 6789, 7568,
- 12505, 11767, 3803, 7593, 6824,
- 12505, 11767, 3803, 7593, 7022,
- 12505, 11767, 3803, 7593, 7080,
- 12505, 11767, 3803, 7593, 7316,
- 12505, 11767, 3803, 7593, 7568,
- 12505, 11767, 3803, 7593, 7682,
- 12505, 11767, 3803, 7593, 9270,
- 12505, 11767, 3803, 7593, 9530,
- 12505, 11767, 3803, 7593, 9808,
- 12505, 11767, 3803, 7683, 8774,
- 12505, 11767, 3803, 8325, 477, 8774,
- 12505, 11767, 3803, 8325, 2217, 8774,
- 12505, 11767, 3803, 8325, 2413, 8774,
- 12505, 11767, 3803, 8325, 7023, 8774,
- 12505, 11767, 3803, 8325, 7202,
- 12505, 11767, 3803, 8325, 7593, 0,
- 12505, 11767, 3803, 8325, 7593, 2,
- 12505, 11767, 3803, 8325, 7593, 4,
- 12505, 11767, 3803, 8325, 7593, 6,
- 12505, 11767, 3803, 8325, 7593, 8,
- 12505, 11767, 3803, 8325, 7593, 10,
- 12505, 11767, 3803, 8325, 7593, 12,
- 12505, 11767, 3803, 8325, 7593, 14,
- 12505, 11767, 3803, 8325, 7593, 16,
- 12505, 11767, 3803, 8325, 7593, 18,
- 12505, 11767, 3803, 8325, 7593, 20,
- 12505, 11767, 3803, 8325, 7593, 22,
- 12505, 11767, 3803, 8325, 7593, 24,
- 12505, 11767, 3803, 8325, 7593, 26,
- 12505, 11767, 3803, 8325, 7593, 28,
- 12505, 11767, 3803, 8325, 7593, 30,
- 12505, 11767, 3803, 8325, 7593, 32,
- 12505, 11767, 3803, 8325, 7593, 34,
- 12505, 11767, 3803, 8325, 7593, 36,
- 12505, 11767, 3803, 8325, 7593, 38,
- 12505, 11767, 3803, 8325, 7593, 40,
- 12505, 11767, 3803, 8325, 7593, 42,
- 12505, 11767, 3803, 8325, 7593, 44,
- 12505, 11767, 3803, 8325, 7593, 46,
- 12505, 11767, 3803, 8325, 7593, 48,
- 12505, 11767, 3803, 8325, 7593, 50,
- 12505, 11767, 3803, 8325, 7593, 384,
- 12505, 11767, 3803, 8325, 7593, 416,
- 12505, 11767, 3803, 8325, 7593, 476,
- 12505, 11767, 3803, 8325, 7593, 644,
- 12505, 11767, 3803, 8325, 7593, 888,
- 12505, 11767, 3803, 8325, 7593, 1128,
- 12505, 11767, 3803, 8325, 7593, 2216,
- 12505, 11767, 3803, 8325, 7593, 2250,
- 12505, 11767, 3803, 8325, 7593, 2412,
- 12505, 11767, 3803, 8325, 7593, 2658,
- 12505, 11767, 3803, 8325, 7593, 3774,
- 12505, 11767, 3803, 8325, 7593, 4614,
- 12505, 11767, 3803, 8325, 7593, 6262,
- 12505, 11767, 3803, 8325, 7593, 6406,
- 12505, 11767, 3803, 8325, 7593, 6674,
- 12505, 11767, 3803, 8325, 7593, 6789, 7568,
- 12505, 11767, 3803, 8325, 7593, 6824,
- 12505, 11767, 3803, 8325, 7593, 7022,
- 12505, 11767, 3803, 8325, 7593, 7080,
- 12505, 11767, 3803, 8325, 7593, 7316,
- 12505, 11767, 3803, 8325, 7593, 7568,
- 12505, 11767, 3803, 8325, 7593, 7682,
- 12505, 11767, 3803, 8325, 7593, 9270,
- 12505, 11767, 3803, 8325, 7593, 9530,
- 12505, 11767, 3803, 8325, 7593, 9808,
- 12505, 11767, 3803, 8325, 7683, 8774,
- 12505, 11767, 3803, 8325, 9063, 0,
- 12505, 11767, 3803, 8325, 9063, 2,
- 12505, 11767, 3803, 8325, 9063, 4,
- 12505, 11767, 3803, 8325, 9063, 6,
- 12505, 11767, 3803, 8325, 9063, 8,
- 12505, 11767, 3803, 8325, 9063, 10,
- 12505, 11767, 3803, 8325, 9063, 12,
- 12505, 11767, 3803, 8325, 9063, 14,
- 12505, 11767, 3803, 8325, 9063, 16,
- 12505, 11767, 3803, 8325, 9063, 18,
- 12505, 11767, 3803, 8325, 9063, 20,
- 12505, 11767, 3803, 8325, 9063, 22,
- 12505, 11767, 3803, 8325, 9063, 24,
- 12505, 11767, 3803, 8325, 9063, 26,
- 12505, 11767, 3803, 8325, 9063, 28,
- 12505, 11767, 3803, 8325, 9063, 30,
- 12505, 11767, 3803, 8325, 9063, 32,
- 12505, 11767, 3803, 8325, 9063, 34,
- 12505, 11767, 3803, 8325, 9063, 36,
- 12505, 11767, 3803, 8325, 9063, 38,
- 12505, 11767, 3803, 8325, 9063, 40,
- 12505, 11767, 3803, 8325, 9063, 42,
- 12505, 11767, 3803, 8325, 9063, 44,
- 12505, 11767, 3803, 8325, 9063, 46,
- 12505, 11767, 3803, 8325, 9063, 48,
- 12505, 11767, 3803, 8325, 9063, 50,
- 12505, 11767, 3803, 8325, 9063, 384,
- 12505, 11767, 3803, 8325, 9063, 416,
- 12505, 11767, 3803, 8325, 9063, 476,
- 12505, 11767, 3803, 8325, 9063, 644,
- 12505, 11767, 3803, 8325, 9063, 888,
- 12505, 11767, 3803, 8325, 9063, 1128,
- 12505, 11767, 3803, 8325, 9063, 2216,
- 12505, 11767, 3803, 8325, 9063, 2250,
- 12505, 11767, 3803, 8325, 9063, 2412,
- 12505, 11767, 3803, 8325, 9063, 2658,
- 12505, 11767, 3803, 8325, 9063, 3774,
- 12505, 11767, 3803, 8325, 9063, 4614,
- 12505, 11767, 3803, 8325, 9063, 6262,
- 12505, 11767, 3803, 8325, 9063, 6406,
- 12505, 11767, 3803, 8325, 9063, 6674,
- 12505, 11767, 3803, 8325, 9063, 6824,
- 12505, 11767, 3803, 8325, 9063, 7022,
- 12505, 11767, 3803, 8325, 9063, 7080,
- 12505, 11767, 3803, 8325, 9063, 7316,
- 12505, 11767, 3803, 8325, 9063, 7568,
- 12505, 11767, 3803, 8325, 9063, 7682,
- 12505, 11767, 3803, 8325, 9063, 7683, 8774,
- 12505, 11767, 3803, 8325, 9063, 9270,
- 12505, 11767, 3803, 8325, 9063, 9530,
- 12505, 11767, 3803, 8325, 9063, 9808,
- 12505, 11767, 3803, 8325, 9271, 8774,
- 12505, 11767, 3803, 8325, 9573, 12432,
- 12505, 11767, 3803, 9063, 0,
- 12505, 11767, 3803, 9063, 2,
- 12505, 11767, 3803, 9063, 4,
- 12505, 11767, 3803, 9063, 6,
- 12505, 11767, 3803, 9063, 8,
- 12505, 11767, 3803, 9063, 10,
- 12505, 11767, 3803, 9063, 12,
- 12505, 11767, 3803, 9063, 14,
- 12505, 11767, 3803, 9063, 16,
- 12505, 11767, 3803, 9063, 18,
- 12505, 11767, 3803, 9063, 20,
- 12505, 11767, 3803, 9063, 22,
- 12505, 11767, 3803, 9063, 24,
- 12505, 11767, 3803, 9063, 26,
- 12505, 11767, 3803, 9063, 28,
- 12505, 11767, 3803, 9063, 30,
- 12505, 11767, 3803, 9063, 32,
- 12505, 11767, 3803, 9063, 34,
- 12505, 11767, 3803, 9063, 36,
- 12505, 11767, 3803, 9063, 38,
- 12505, 11767, 3803, 9063, 40,
- 12505, 11767, 3803, 9063, 42,
- 12505, 11767, 3803, 9063, 44,
- 12505, 11767, 3803, 9063, 46,
- 12505, 11767, 3803, 9063, 48,
- 12505, 11767, 3803, 9063, 50,
- 12505, 11767, 3803, 9063, 384,
- 12505, 11767, 3803, 9063, 416,
- 12505, 11767, 3803, 9063, 476,
- 12505, 11767, 3803, 9063, 644,
- 12505, 11767, 3803, 9063, 888,
- 12505, 11767, 3803, 9063, 1128,
- 12505, 11767, 3803, 9063, 2216,
- 12505, 11767, 3803, 9063, 2250,
- 12505, 11767, 3803, 9063, 2412,
- 12505, 11767, 3803, 9063, 2658,
- 12505, 11767, 3803, 9063, 3774,
- 12505, 11767, 3803, 9063, 4614,
- 12505, 11767, 3803, 9063, 6262,
- 12505, 11767, 3803, 9063, 6406,
- 12505, 11767, 3803, 9063, 6674,
- 12505, 11767, 3803, 9063, 6824,
- 12505, 11767, 3803, 9063, 7022,
- 12505, 11767, 3803, 9063, 7080,
- 12505, 11767, 3803, 9063, 7316,
- 12505, 11767, 3803, 9063, 7568,
- 12505, 11767, 3803, 9063, 7682,
- 12505, 11767, 3803, 9063, 7683, 8774,
- 12505, 11767, 3803, 9063, 9270,
- 12505, 11767, 3803, 9063, 9530,
- 12505, 11767, 3803, 9063, 9808,
- 12505, 11767, 3803, 9271, 8774,
- 12505, 11767, 3803, 9573, 12432,
- 12505, 11767, 6689, 2170,
- 12505, 11767, 6689, 2540,
- 12505, 11767, 6689, 2778,
- 12505, 11767, 6689, 4200,
- 12505, 11767, 6689, 4214,
- 12505, 11767, 6689, 5190,
- 12505, 11767, 6689, 6260,
- 12505, 11767, 6689, 6722,
- 12505, 11767, 6689, 7508,
- 12505, 11767, 6689, 7694,
- 12505, 11767, 7593, 0,
- 12505, 11767, 7593, 2,
- 12505, 11767, 7593, 4,
- 12505, 11767, 7593, 6,
- 12505, 11767, 7593, 8,
- 12505, 11767, 7593, 10,
- 12505, 11767, 7593, 12,
- 12505, 11767, 7593, 14,
- 12505, 11767, 7593, 16,
- 12505, 11767, 7593, 18,
- 12505, 11767, 7593, 20,
- 12505, 11767, 7593, 22,
- 12505, 11767, 7593, 24,
- 12505, 11767, 7593, 26,
- 12505, 11767, 7593, 28,
- 12505, 11767, 7593, 30,
- 12505, 11767, 7593, 32,
- 12505, 11767, 7593, 34,
- 12505, 11767, 7593, 36,
- 12505, 11767, 7593, 38,
- 12505, 11767, 7593, 40,
- 12505, 11767, 7593, 42,
- 12505, 11767, 7593, 44,
- 12505, 11767, 7593, 46,
- 12505, 11767, 7593, 48,
- 12505, 11767, 7593, 50,
- 12505, 11767, 8325, 7593, 0,
- 12505, 11767, 8325, 7593, 2,
- 12505, 11767, 8325, 7593, 4,
- 12505, 11767, 8325, 7593, 6,
- 12505, 11767, 8325, 7593, 8,
- 12505, 11767, 8325, 7593, 10,
- 12505, 11767, 8325, 7593, 12,
- 12505, 11767, 8325, 7593, 14,
- 12505, 11767, 8325, 7593, 16,
- 12505, 11767, 8325, 7593, 18,
- 12505, 11767, 8325, 7593, 20,
- 12505, 11767, 8325, 7593, 22,
- 12505, 11767, 8325, 7593, 24,
- 12505, 11767, 8325, 7593, 26,
- 12505, 11767, 8325, 7593, 28,
- 12505, 11767, 8325, 7593, 30,
- 12505, 11767, 8325, 7593, 32,
- 12505, 11767, 8325, 7593, 34,
- 12505, 11767, 8325, 7593, 36,
- 12505, 11767, 8325, 7593, 38,
- 12505, 11767, 8325, 7593, 40,
- 12505, 11767, 8325, 7593, 42,
- 12505, 11767, 8325, 7593, 44,
- 12505, 11767, 8325, 7593, 46,
- 12505, 11767, 8325, 7593, 48,
- 12505, 11767, 8325, 7593, 50,
- 12505, 11767, 8325, 9063, 0,
- 12505, 11767, 8325, 9063, 2,
- 12505, 11767, 8325, 9063, 4,
- 12505, 11767, 8325, 9063, 6,
- 12505, 11767, 8325, 9063, 8,
- 12505, 11767, 8325, 9063, 10,
- 12505, 11767, 8325, 9063, 12,
- 12505, 11767, 8325, 9063, 14,
- 12505, 11767, 8325, 9063, 16,
- 12505, 11767, 8325, 9063, 18,
- 12505, 11767, 8325, 9063, 20,
- 12505, 11767, 8325, 9063, 22,
- 12505, 11767, 8325, 9063, 24,
- 12505, 11767, 8325, 9063, 26,
- 12505, 11767, 8325, 9063, 28,
- 12505, 11767, 8325, 9063, 30,
- 12505, 11767, 8325, 9063, 32,
- 12505, 11767, 8325, 9063, 34,
- 12505, 11767, 8325, 9063, 36,
- 12505, 11767, 8325, 9063, 38,
- 12505, 11767, 8325, 9063, 40,
- 12505, 11767, 8325, 9063, 42,
- 12505, 11767, 8325, 9063, 44,
- 12505, 11767, 8325, 9063, 46,
- 12505, 11767, 8325, 9063, 48,
- 12505, 11767, 8325, 9063, 50,
- 12505, 11767, 9063, 0,
- 12505, 11767, 9063, 2,
- 12505, 11767, 9063, 4,
- 12505, 11767, 9063, 6,
- 12505, 11767, 9063, 8,
- 12505, 11767, 9063, 10,
- 12505, 11767, 9063, 12,
- 12505, 11767, 9063, 14,
- 12505, 11767, 9063, 16,
- 12505, 11767, 9063, 18,
- 12505, 11767, 9063, 20,
- 12505, 11767, 9063, 22,
- 12505, 11767, 9063, 24,
- 12505, 11767, 9063, 26,
- 12505, 11767, 9063, 28,
- 12505, 11767, 9063, 30,
- 12505, 11767, 9063, 32,
- 12505, 11767, 9063, 34,
- 12505, 11767, 9063, 36,
- 12505, 11767, 9063, 38,
- 12505, 11767, 9063, 40,
- 12505, 11767, 9063, 42,
- 12505, 11767, 9063, 44,
- 12505, 11767, 9063, 46,
- 12505, 11767, 9063, 48,
- 12505, 11767, 9063, 50,
- 12505, 12929, 6689, 2170,
- 12505, 12929, 6689, 2540,
- 12505, 12929, 6689, 2778,
- 12505, 12929, 6689, 4200,
- 12505, 12929, 6689, 4214,
- 12505, 12929, 6689, 5190,
- 12505, 12929, 6689, 6260,
- 12505, 12929, 6689, 6722,
- 12505, 12929, 6689, 7508,
- 12505, 12929, 6689, 7694,
- 12505, 12929, 7593, 0,
- 12505, 12929, 7593, 2,
- 12505, 12929, 7593, 4,
- 12505, 12929, 7593, 6,
- 12505, 12929, 7593, 8,
- 12505, 12929, 7593, 10,
- 12505, 12929, 7593, 12,
- 12505, 12929, 7593, 14,
- 12505, 12929, 7593, 16,
- 12505, 12929, 7593, 18,
- 12505, 12929, 7593, 20,
- 12505, 12929, 7593, 22,
- 12505, 12929, 7593, 24,
- 12505, 12929, 7593, 26,
- 12505, 12929, 7593, 28,
- 12505, 12929, 7593, 30,
- 12505, 12929, 7593, 32,
- 12505, 12929, 7593, 34,
- 12505, 12929, 7593, 36,
- 12505, 12929, 7593, 38,
- 12505, 12929, 7593, 40,
- 12505, 12929, 7593, 42,
- 12505, 12929, 7593, 44,
- 12505, 12929, 7593, 46,
- 12505, 12929, 7593, 48,
- 12505, 12929, 7593, 50,
- 12505, 12929, 9063, 0,
- 12505, 12929, 9063, 2,
- 12505, 12929, 9063, 6,
- 12505, 12929, 9063, 8,
- 12505, 12929, 9063, 10,
- 12505, 12929, 9063, 12,
- 12505, 12929, 9063, 16,
- 12505, 12929, 9063, 18,
- 12505, 12929, 9063, 20,
- 12505, 12929, 9063, 22,
- 12505, 12929, 9063, 24,
- 12505, 12929, 9063, 28,
- 12505, 12929, 9063, 36,
- 12505, 12929, 9063, 38,
- 12505, 12929, 9063, 40,
- 12505, 12929, 9063, 42,
- 12505, 12929, 9063, 44,
- 12505, 12929, 9063, 46,
- 12505, 12929, 9063, 48,
- 12517, 8306,
- 12525, 5882,
- 12527, 4213, 1177, 10677, 175, 3992,
- 12527, 4213, 1177, 10677, 177, 3992,
- 12527, 4213, 1177, 10677, 1809, 4876,
- 12527, 4213, 1177, 10677, 2779, 1045, 8392,
- 12527, 4213, 1177, 10677, 4849, 6409, 9050,
- 12527, 4213, 1177, 10677, 4849, 6505, 11677, 9050,
- 12527, 4213, 1177, 10677, 4849, 6627, 9050,
- 12527, 4213, 1177, 10677, 4849, 7821, 8077, 9050,
- 12527, 4213, 1177, 10677, 4849, 7821, 11677, 9050,
- 12527, 4213, 1177, 10677, 4849, 8077, 9050,
- 12527, 4213, 1177, 10677, 4849, 8153, 6409, 9050,
- 12527, 4213, 1177, 10677, 4849, 8745, 9050,
- 12527, 4213, 1177, 10677, 4849, 10637, 7533, 9050,
- 12527, 4213, 1177, 10677, 4849, 12114,
- 12527, 4213, 1177, 10677, 6107, 1809, 4876,
- 12527, 4213, 1177, 10677, 6610,
- 12527, 4213, 1177, 10677, 6616,
- 12527, 4213, 1177, 10677, 7443, 6409, 9050,
- 12527, 4213, 1177, 10677, 7443, 6505, 11677, 9050,
- 12527, 4213, 1177, 10677, 7443, 6627, 9050,
- 12527, 4213, 1177, 10677, 7443, 7821, 8077, 9050,
- 12527, 4213, 1177, 10677, 7443, 7821, 11677, 9054,
- 12527, 4213, 1177, 10677, 7443, 8077, 9050,
- 12527, 4213, 1177, 10677, 7443, 8153, 6409, 9050,
- 12527, 4213, 1177, 10677, 7443, 8745, 9050,
- 12527, 4213, 1177, 10677, 7443, 10637, 7533, 9050,
- 12527, 4213, 1177, 10677, 7443, 12114,
- 12527, 4213, 1177, 10677, 10469, 4926,
- 12527, 4213, 1177, 10677, 11224,
- 12527, 4213, 1177, 10677, 11649, 10154,
- 12527, 4213, 1177, 10677, 12017, 4926,
- 12527, 4213, 1177, 10677, 12043, 4223, 5836,
- 12527, 4213, 1177, 10677, 12043, 6616,
- 12529, 568,
- 12537, 7821, 11765, 6434,
- 12540,
- 12874,
- 12881, 7608,
- 12882,
- 12895, 11765, 6434,
- 12901, 2725, 11791, 6434,
- 12901, 5385, 8057, 6434,
- 12901, 8065, 8057, 6434,
- 12901, 8241, 8057, 6434,
- 12901, 9115, 10260,
- 12901, 12056,
- 12903, 835, 2091, 9855, 6741, 568,
- 12903, 6741, 445, 6741, 568,
- 12903, 6741, 568,
- 12903, 6741, 569, 445, 2681, 6989, 428,
- 12925, 11385, 8774,
- 12929, 7201, 11262,
- 12929, 7593, 476,
- 12929, 7593, 6824,
- 12929, 8325, 7593, 6,
- 12929, 8325, 7593, 8,
- 12929, 8325, 7593, 16,
- 12929, 8325, 7593, 18,
- 12929, 8325, 9063, 6,
- 12929, 9063, 4,
- 12929, 9063, 14,
- 12929, 9063, 26,
- 12929, 9063, 30,
- 12929, 9063, 32,
- 12929, 9063, 34,
- 12929, 9063, 50,
- 12929, 9063, 476,
- 12929, 9063, 6824,
- 12931, 10643, 6121, 4849, 4389, 6504,
- 12931, 10643, 6121, 7443, 4389, 6504,
- 12939, 5758,
- 12941, 6741, 568,
- 12941, 11621, 568,
- 12967, 6409, 9050,
- 12967, 8083, 6409, 9050,
- 12967, 8153, 6409, 11195, 4926,
- 12969, 4926,
- 12969, 10390,
- 12969, 10966,
- 12975, 5758,
- 12983, 11765, 6434,
- 12987, 6689, 2170,
- 12987, 6689, 2540,
- 12987, 6689, 2778,
- 12987, 6689, 4200,
- 12987, 6689, 4214,
- 12987, 6689, 5190,
- 12987, 6689, 6722,
- 12987, 6689, 7508,
- 12987, 6689, 7694,
- 12987, 7089, 7593, 8405, 0,
- 12987, 7089, 7593, 8405, 2,
- 12987, 7089, 7593, 8405, 4,
- 12987, 7089, 7593, 8405, 6,
- 12987, 7089, 7593, 8405, 8,
- 12987, 7089, 7593, 8405, 10,
- 12987, 7089, 7593, 8405, 12,
- 12987, 7089, 7593, 8405, 14,
- 12987, 7089, 7593, 8405, 16,
- 12987, 7089, 7593, 8405, 18,
- 12987, 7089, 7593, 8405, 20,
- 12987, 7089, 7593, 8405, 22,
- 12987, 7089, 7593, 8405, 24,
- 12987, 7089, 7593, 8405, 26,
- 12987, 7089, 7593, 8405, 28,
- 12987, 7089, 7593, 8405, 30,
- 12987, 7089, 7593, 8405, 32,
- 12987, 7089, 7593, 8405, 34,
- 12987, 7089, 7593, 8405, 36,
- 12987, 7089, 7593, 8405, 38,
- 12987, 7089, 7593, 8405, 40,
- 12987, 7089, 7593, 8405, 42,
- 12987, 7089, 7593, 8405, 44,
- 12987, 7089, 7593, 8405, 46,
- 12987, 7089, 7593, 8405, 48,
- 12987, 7089, 7593, 8405, 50,
- 12987, 8287, 5770,
- 12987, 8287, 5771, 0,
- 12987, 8287, 6594,
- 12987, 8287, 6595, 0,
- 12987, 8287, 6595, 40,
- 12987, 8287, 6912,
- 12987, 8287, 6913, 0,
- 12987, 8287, 6982,
- 12987, 8287, 6983, 0,
- 12987, 8287, 7166,
- 12987, 8287, 7167, 0,
- 12987, 8287, 7244,
- 12987, 8287, 7245, 0,
- 12987, 8287, 7372,
- 12987, 8287, 7373, 0,
- 12987, 8287, 7440,
- 12987, 8287, 7441, 0,
- 12987, 8287, 8362,
- 12987, 8287, 8363, 0,
- 12987, 8287, 8828,
- 12987, 8287, 8829, 0,
- 12987, 8287, 9086,
- 12987, 8287, 9087, 0,
- 12987, 8287, 9400,
- 12987, 8287, 9401, 0,
- 12987, 8287, 9588,
- 12987, 8287, 9589, 0,
- 12987, 8287, 9780,
- 12987, 8287, 9781, 0,
- 12987, 8371, 10759, 29, 250,
- 12987, 8371, 10759, 7310,
- 12987, 8525, 2670,
- 12987, 8525, 8162,
- 12987, 8525, 8874,
- 12987, 8525, 8876,
- 12987, 8525, 9286,
- 12987, 8525, 9700,
- 12987, 8525, 10150,
- 12987, 8525, 10200,
- 12987, 8525, 10360,
- 12987, 8525, 10622,
- 12987, 8525, 11232,
- 12987, 11043, 2170,
- 12987, 11043, 2540,
- 12987, 11043, 2586,
- 12987, 11043, 2670,
- 12987, 11043, 2778,
- 12987, 11043, 3842,
- 12987, 11043, 4194,
- 12987, 11043, 4200,
- 12987, 11043, 4214,
- 12987, 11043, 4396,
- 12987, 11043, 5012,
- 12987, 11043, 5046,
- 12987, 11043, 5190,
- 12987, 11043, 5540,
- 12987, 11043, 5650,
- 12987, 11043, 6122,
- 12987, 11043, 6716,
- 12987, 11043, 6722,
- 12987, 11043, 7072,
- 12987, 11043, 7146,
- 12987, 11043, 7428,
- 12987, 11043, 7508,
- 12987, 11043, 7640,
- 12987, 11043, 7646,
- 12987, 11043, 7694,
- 12987, 11043, 7812,
- 12987, 11043, 9714,
- 12987, 11043, 9724,
- 12987, 11043, 9862,
- 12987, 11043, 10180,
- 12987, 11043, 10484,
- 12987, 11043, 10992,
- 12987, 11043, 11208,
- 12987, 11043, 11266,
- 12987, 11043, 11612,
- 12987, 11043, 13050,
- 12990,
- 12991, 6121, 36,
- 13011, 4926,
- 13011, 10390,
- 13011, 10966,
- 13022,
- 13045, 6741, 568,
- 13047, 9898,
- 13061, 46,
- 13061, 5758,
- 13061, 5759, 275, 4849, 4389, 8056,
- 13061, 5759, 275, 7443, 4389, 8056,
- 13061, 5759, 275, 8153, 8056,
- 13061, 5759, 275, 10642,
- 13061, 5759, 6121, 1045, 6376,
- 13061, 5759, 6121, 10666,
- 13067, 6409, 9050,
- 13067, 8083, 6409, 9050,
- 13067, 8153, 6409, 11195, 4926,
- 13070,
- 13191, 7271, 4153, 6434,
- 13191, 7607, 4153, 6434,
- 13191, 11765, 6434,
- 13231, 11765, 6434,
- 13233, 9898,
- 13235, 11765, 6434,
- 13237, 11765, 6434,
- 13365, 8153, 8306,
- 13365, 8921, 7605, 4926,
- 13365, 11185, 7605, 4926,
- 13365, 12341, 7605, 4926,
- 13381, 8774,
- 13393, 7337, 8774,
- 13403, 8279, 8774,
- 13403, 8381, 8774,
- 13417, 8774,
- 13419, 8774,
+ 11911, 12153, 17458,
+ 11911, 12153, 21100,
+ 11911, 12153, 21236,
+ 11911, 14706,
+ 11917, 15501, 17496,
+ 11917, 16913, 11521, 9904,
+ 11917, 16913, 18287, 9904,
+ 11917, 16913, 20667, 11521, 9904,
+ 11917, 18279, 18225, 11521, 17912,
+ 11917, 21567, 19349, 17496,
+ 11919, 15564,
+ 11925, 18147, 20475, 15718,
+ 11925, 18147, 20475, 15720,
+ 11925, 18147, 20475, 15722,
+ 11925, 18147, 20475, 15724,
+ 11925, 18147, 20475, 18644,
+ 11927, 3024,
+ 11927, 3025, 10595, 7779, 11429, 11346,
+ 11927, 3025, 10595, 13271, 11429, 11346,
+ 11927, 3025, 10595, 13483, 14397, 11346,
+ 11927, 3025, 10595, 16816,
+ 11927, 8808,
+ 11927, 8809, 2622,
+ 11927, 8809, 9162,
+ 11927, 9162,
+ 11927, 13108,
+ 11927, 17712,
+ 11931, 15564,
+ 11943, 633, 123, 19760,
+ 11943, 633, 503, 18312,
+ 11943, 633, 503, 18506,
+ 11943, 633, 503, 19214,
+ 11943, 633, 503, 20876,
+ 11943, 841, 18257, 632,
+ 11947, 633, 3225, 7778,
+ 11947, 633, 3225, 13270,
+ 11967, 17632,
+ 12003, 15564,
+ 12012,
+ 12015, 14751, 13539, 841, 5702,
+ 12025, 15537, 16410,
+ 12025, 16955, 8418,
+ 12025, 16955, 8419, 10595, 6682,
+ 12025, 16955, 8419, 15564,
+ 12036,
+ 12049, 10595, 81, 46,
+ 12049, 10595, 13678,
+ 12049, 10595, 16898,
+ 12053, 15452,
+ 12060,
+ 12138,
+ 12143, 15564,
+ 12147, 15564,
+ 12153, 10595, 19240,
+ 12169, 14178,
+ 12173, 535, 15564,
+ 12173, 847, 15596,
+ 12173, 1861, 15564,
+ 12173, 2597, 7087, 9808,
+ 12173, 2597, 7087, 9809, 18713, 6740,
+ 12173, 2597, 16955, 9808,
+ 12173, 2665, 15564,
+ 12173, 2897, 10595, 15535, 15564,
+ 12173, 2897, 15564,
+ 12173, 3337, 13067, 9808,
+ 12173, 3337, 15625, 9808,
+ 12173, 5789, 15564,
+ 12173, 6721, 13067, 9808,
+ 12173, 6743, 13067, 9808,
+ 12173, 9111, 9808,
+ 12173, 9132,
+ 12173, 10727, 9808,
+ 12173, 10855, 9808,
+ 12173, 11808,
+ 12173, 11809, 841, 9132,
+ 12173, 11809, 841, 13892,
+ 12173, 11809, 841, 20636,
+ 12173, 12371, 15564,
+ 12173, 12511, 9808,
+ 12173, 12525, 16769, 9808,
+ 12173, 13200,
+ 12173, 13201, 841, 9132,
+ 12173, 13201, 841, 13892,
+ 12173, 13201, 841, 20636,
+ 12173, 13483, 14531, 14945, 13453, 15564,
+ 12173, 13483, 14903, 438,
+ 12173, 13483, 14903, 470,
+ 12173, 13483, 14903, 534,
+ 12173, 13483, 14903, 722,
+ 12173, 13483, 14903, 1044,
+ 12173, 13483, 14903, 1320,
+ 12173, 13483, 14903, 1321, 10595, 9132,
+ 12173, 13483, 14903, 1321, 10595, 9133, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 11808,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 9133, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 13893, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 20636,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 20637, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 11809, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 13200,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 9133, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 13893, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 20636,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 20637, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 13201, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 13710,
+ 12173, 13483, 14903, 1321, 10595, 13892,
+ 12173, 13483, 14903, 1321, 10595, 13893, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 20636,
+ 12173, 13483, 14903, 1321, 10595, 20637, 841, 21228,
+ 12173, 13483, 14903, 1321, 10595, 21228,
+ 12173, 13483, 14903, 2664,
+ 12173, 13483, 14903, 2706,
+ 12173, 13483, 14903, 2896,
+ 12173, 13483, 14903, 2897, 10595, 11808,
+ 12173, 13483, 14903, 2897, 10595, 13200,
+ 12173, 13483, 14903, 3002,
+ 12173, 13483, 14903, 3036,
+ 12173, 13483, 14903, 3196,
+ 12173, 13483, 14903, 5788,
+ 12173, 13483, 14903, 7118,
+ 12173, 13483, 14903, 7402,
+ 12173, 13483, 14903, 7403, 10595, 9132,
+ 12173, 13483, 14903, 7403, 10595, 11808,
+ 12173, 13483, 14903, 7403, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 7403, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 7403, 10595, 11809, 841, 20636,
+ 12173, 13483, 14903, 7403, 10595, 13200,
+ 12173, 13483, 14903, 7403, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 7403, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 7403, 10595, 13201, 841, 20636,
+ 12173, 13483, 14903, 7403, 10595, 13710,
+ 12173, 13483, 14903, 7403, 10595, 13892,
+ 12173, 13483, 14903, 7403, 10595, 14952,
+ 12173, 13483, 14903, 7403, 10595, 15764,
+ 12173, 13483, 14903, 7403, 10595, 18876,
+ 12173, 13483, 14903, 7403, 10595, 18877, 841, 9132,
+ 12173, 13483, 14903, 7403, 10595, 18877, 841, 13710,
+ 12173, 13483, 14903, 7403, 10595, 18877, 841, 13892,
+ 12173, 13483, 14903, 7403, 10595, 18877, 841, 20636,
+ 12173, 13483, 14903, 7403, 10595, 20636,
+ 12173, 13483, 14903, 10856,
+ 12173, 13483, 14903, 11388,
+ 12173, 13483, 14903, 11389, 10595, 9132,
+ 12173, 13483, 14903, 11389, 10595, 9133, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 11808,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 9133, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 13893, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 20636,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 20637, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 11809, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 13200,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 9133, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 13893, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 20636,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 20637, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 13201, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 13710,
+ 12173, 13483, 14903, 11389, 10595, 13892,
+ 12173, 13483, 14903, 11389, 10595, 13893, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 14952,
+ 12173, 13483, 14903, 11389, 10595, 15764,
+ 12173, 13483, 14903, 11389, 10595, 20636,
+ 12173, 13483, 14903, 11389, 10595, 20637, 841, 21228,
+ 12173, 13483, 14903, 11389, 10595, 21228,
+ 12173, 13483, 14903, 11832,
+ 12173, 13483, 14903, 12023, 13452,
+ 12173, 13483, 14903, 12094,
+ 12173, 13483, 14903, 12370,
+ 12173, 13483, 14903, 12430,
+ 12173, 13483, 14903, 12464,
+ 12173, 13483, 14903, 13078,
+ 12173, 13483, 14903, 13079, 10595, 9132,
+ 12173, 13483, 14903, 13079, 10595, 9133, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 11808,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 9133, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 13893, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 20636,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 20637, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 11809, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 13200,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 9133, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 13893, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 20636,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 20637, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 13201, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 13710,
+ 12173, 13483, 14903, 13079, 10595, 13892,
+ 12173, 13483, 14903, 13079, 10595, 13893, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 20636,
+ 12173, 13483, 14903, 13079, 10595, 20637, 841, 21228,
+ 12173, 13483, 14903, 13079, 10595, 21228,
+ 12173, 13483, 14903, 13346,
+ 12173, 13483, 14903, 13452,
+ 12173, 13483, 14903, 13636,
+ 12173, 13483, 14903, 15520,
+ 12173, 13483, 14903, 15895, 12430,
+ 12173, 13483, 14903, 15895, 13346,
+ 12173, 13483, 14903, 16132,
+ 12173, 13483, 14903, 16256,
+ 12173, 13483, 14903, 16257, 10595, 9132,
+ 12173, 13483, 14903, 16257, 10595, 11808,
+ 12173, 13483, 14903, 16257, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 16257, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 16257, 10595, 13200,
+ 12173, 13483, 14903, 16257, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 16257, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 16257, 10595, 13710,
+ 12173, 13483, 14903, 16257, 10595, 13892,
+ 12173, 13483, 14903, 16796,
+ 12173, 13483, 14903, 16797, 10595, 9132,
+ 12173, 13483, 14903, 16797, 10595, 11808,
+ 12173, 13483, 14903, 16797, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 16797, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 16797, 10595, 13200,
+ 12173, 13483, 14903, 16797, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 16797, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 16797, 10595, 13710,
+ 12173, 13483, 14903, 16797, 10595, 13892,
+ 12173, 13483, 14903, 17316,
+ 12173, 13483, 14903, 17317, 10595, 9132,
+ 12173, 13483, 14903, 17317, 10595, 11808,
+ 12173, 13483, 14903, 17317, 10595, 11809, 841, 9132,
+ 12173, 13483, 14903, 17317, 10595, 11809, 841, 13892,
+ 12173, 13483, 14903, 17317, 10595, 11809, 841, 20636,
+ 12173, 13483, 14903, 17317, 10595, 13200,
+ 12173, 13483, 14903, 17317, 10595, 13201, 841, 9132,
+ 12173, 13483, 14903, 17317, 10595, 13201, 841, 13892,
+ 12173, 13483, 14903, 17317, 10595, 13201, 841, 20636,
+ 12173, 13483, 14903, 17317, 10595, 13710,
+ 12173, 13483, 14903, 17317, 10595, 13892,
+ 12173, 13483, 14903, 17317, 10595, 14952,
+ 12173, 13483, 14903, 17317, 10595, 15764,
+ 12173, 13483, 14903, 17317, 10595, 18876,
+ 12173, 13483, 14903, 17317, 10595, 18877, 841, 9132,
+ 12173, 13483, 14903, 17317, 10595, 18877, 841, 13710,
+ 12173, 13483, 14903, 17317, 10595, 18877, 841, 13892,
+ 12173, 13483, 14903, 17317, 10595, 18877, 841, 20636,
+ 12173, 13483, 14903, 17317, 10595, 20636,
+ 12173, 13483, 14903, 20091, 16132,
+ 12173, 13483, 18367, 14531, 14945, 13453, 15564,
+ 12173, 13483, 18367, 14945, 13453, 15564,
+ 12173, 13637, 15564,
+ 12173, 13655, 13067, 9808,
+ 12173, 13655, 18333, 9808,
+ 12173, 13710,
+ 12173, 13892,
+ 12173, 13919, 18199, 18520,
+ 12173, 13919, 18199, 18522,
+ 12173, 13919, 18199, 18524,
+ 12173, 13919, 18199, 18526,
+ 12173, 13919, 18199, 18528,
+ 12173, 13919, 18199, 18530,
+ 12173, 13919, 18199, 18532,
+ 12173, 13919, 18199, 18534,
+ 12173, 13919, 18199, 18536,
+ 12173, 13919, 18199, 19486,
+ 12173, 13919, 18199, 19488,
+ 12173, 13919, 18199, 19490,
+ 12173, 13919, 18199, 19492,
+ 12173, 13919, 18199, 19494,
+ 12173, 13919, 18199, 19496,
+ 12173, 13919, 18199, 19498,
+ 12173, 13919, 18199, 19500,
+ 12173, 13919, 18199, 19502,
+ 12173, 13919, 18199, 19504,
+ 12173, 13919, 18199, 19506,
+ 12173, 13919, 18199, 19508,
+ 12173, 13919, 18199, 19510,
+ 12173, 13919, 18199, 19512,
+ 12173, 13919, 18199, 19514,
+ 12173, 13919, 18199, 19550,
+ 12173, 13919, 18199, 19552,
+ 12173, 13919, 18199, 19554,
+ 12173, 13919, 18199, 19556,
+ 12173, 13919, 18199, 19558,
+ 12173, 14223, 9808,
+ 12173, 14231, 9808,
+ 12173, 14701, 9808,
+ 12173, 14903, 3708,
+ 12173, 14903, 12430,
+ 12173, 14903, 13346,
+ 12173, 14903, 13483, 15993, 534,
+ 12173, 14903, 13483, 15993, 2706,
+ 12173, 14903, 13483, 15993, 2896,
+ 12173, 14903, 13483, 15993, 12094,
+ 12173, 14903, 13483, 15993, 12464,
+ 12173, 14903, 13483, 15993, 13078,
+ 12173, 14903, 15520,
+ 12173, 14903, 15895, 12430,
+ 12173, 14903, 16132,
+ 12173, 14945, 13453, 15564,
+ 12173, 14945, 16257, 15564,
+ 12173, 15175, 9808,
+ 12173, 15565, 3197, 2896,
+ 12173, 15577, 9808,
+ 12173, 15801, 9808,
+ 12173, 15993, 1861, 15564,
+ 12173, 15993, 13637, 15564,
+ 12173, 15993, 14531, 14945, 13453, 15564,
+ 12173, 15993, 14903, 438,
+ 12173, 15993, 14903, 470,
+ 12173, 15993, 14903, 534,
+ 12173, 15993, 14903, 722,
+ 12173, 15993, 14903, 1044,
+ 12173, 15993, 14903, 1320,
+ 12173, 15993, 14903, 1321, 10595, 9132,
+ 12173, 15993, 14903, 1321, 10595, 11808,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 9133, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 13893, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 20636,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 20637, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 11809, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 13200,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 9132,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 9133, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 13892,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 13893, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 20636,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 20637, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 13201, 841, 21380,
+ 12173, 15993, 14903, 1321, 10595, 13710,
+ 12173, 15993, 14903, 1321, 10595, 13892,
+ 12173, 15993, 14903, 1321, 10595, 21380,
+ 12173, 15993, 14903, 2664,
+ 12173, 15993, 14903, 2706,
+ 12173, 15993, 14903, 2896,
+ 12173, 15993, 14903, 2897, 10595, 11808,
+ 12173, 15993, 14903, 3002,
+ 12173, 15993, 14903, 3036,
+ 12173, 15993, 14903, 3196,
+ 12173, 15993, 14903, 3708,
+ 12173, 15993, 14903, 5788,
+ 12173, 15993, 14903, 7118,
+ 12173, 15993, 14903, 7402,
+ 12173, 15993, 14903, 7403, 10595, 9132,
+ 12173, 15993, 14903, 7403, 10595, 11808,
+ 12173, 15993, 14903, 7403, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 7403, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 7403, 10595, 11809, 841, 20636,
+ 12173, 15993, 14903, 7403, 10595, 13200,
+ 12173, 15993, 14903, 7403, 10595, 13201, 841, 9132,
+ 12173, 15993, 14903, 7403, 10595, 13201, 841, 13892,
+ 12173, 15993, 14903, 7403, 10595, 13201, 841, 20636,
+ 12173, 15993, 14903, 7403, 10595, 13710,
+ 12173, 15993, 14903, 7403, 10595, 13892,
+ 12173, 15993, 14903, 7403, 10595, 14952,
+ 12173, 15993, 14903, 7403, 10595, 15764,
+ 12173, 15993, 14903, 7403, 10595, 18876,
+ 12173, 15993, 14903, 10856,
+ 12173, 15993, 14903, 11388,
+ 12173, 15993, 14903, 11389, 10595, 9132,
+ 12173, 15993, 14903, 11389, 10595, 11808,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 9133, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 13893, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 20636,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 20637, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 11809, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 13200,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 9132,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 9133, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 13892,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 13893, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 20636,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 20637, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 13201, 841, 21380,
+ 12173, 15993, 14903, 11389, 10595, 13710,
+ 12173, 15993, 14903, 11389, 10595, 13892,
+ 12173, 15993, 14903, 11389, 10595, 14952,
+ 12173, 15993, 14903, 11389, 10595, 15764,
+ 12173, 15993, 14903, 11389, 10595, 21380,
+ 12173, 15993, 14903, 11832,
+ 12173, 15993, 14903, 12094,
+ 12173, 15993, 14903, 12370,
+ 12173, 15993, 14903, 12464,
+ 12173, 15993, 14903, 13078,
+ 12173, 15993, 14903, 13079, 10595, 9132,
+ 12173, 15993, 14903, 13079, 10595, 11808,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 9133, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 13893, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 20636,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 20637, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 11809, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 13200,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 9132,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 9133, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 13892,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 13893, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 20636,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 20637, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 13201, 841, 21380,
+ 12173, 15993, 14903, 13079, 10595, 13710,
+ 12173, 15993, 14903, 13079, 10595, 13892,
+ 12173, 15993, 14903, 13079, 10595, 21380,
+ 12173, 15993, 14903, 13452,
+ 12173, 15993, 14903, 13636,
+ 12173, 15993, 14903, 15895, 13346,
+ 12173, 15993, 14903, 16256,
+ 12173, 15993, 14903, 16257, 10595, 9132,
+ 12173, 15993, 14903, 16257, 10595, 11808,
+ 12173, 15993, 14903, 16257, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 16257, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 16257, 10595, 13200,
+ 12173, 15993, 14903, 16257, 10595, 13201, 841, 9132,
+ 12173, 15993, 14903, 16257, 10595, 13201, 841, 13892,
+ 12173, 15993, 14903, 16257, 10595, 13710,
+ 12173, 15993, 14903, 16257, 10595, 13892,
+ 12173, 15993, 14903, 16796,
+ 12173, 15993, 14903, 16797, 10595, 9132,
+ 12173, 15993, 14903, 16797, 10595, 11808,
+ 12173, 15993, 14903, 16797, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 16797, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 16797, 10595, 13200,
+ 12173, 15993, 14903, 16797, 10595, 13201, 841, 9132,
+ 12173, 15993, 14903, 16797, 10595, 13201, 841, 13892,
+ 12173, 15993, 14903, 16797, 10595, 13710,
+ 12173, 15993, 14903, 16797, 10595, 13892,
+ 12173, 15993, 14903, 17316,
+ 12173, 15993, 14903, 17317, 10595, 9132,
+ 12173, 15993, 14903, 17317, 10595, 11808,
+ 12173, 15993, 14903, 17317, 10595, 11809, 841, 9132,
+ 12173, 15993, 14903, 17317, 10595, 11809, 841, 13892,
+ 12173, 15993, 14903, 17317, 10595, 11809, 841, 20636,
+ 12173, 15993, 14903, 17317, 10595, 13710,
+ 12173, 15993, 14903, 17317, 10595, 13892,
+ 12173, 15993, 14903, 17317, 10595, 14952,
+ 12173, 15993, 14903, 17317, 10595, 15764,
+ 12173, 15993, 14903, 17317, 10595, 18876,
+ 12173, 15993, 14903, 20091, 16132,
+ 12173, 15993, 14945, 13453, 15564,
+ 12173, 15993, 18367, 14531, 14945, 13453, 15564,
+ 12173, 15993, 18367, 14945, 13453, 15564,
+ 12173, 16219, 9808,
+ 12173, 16472,
+ 12173, 16479, 5717, 9808,
+ 12173, 16703, 14894,
+ 12173, 16769, 9808,
+ 12173, 17317, 10595, 7257, 15564,
+ 12173, 17317, 10595, 11349, 841, 7257, 15564,
+ 12173, 17317, 10595, 18873, 841, 7257, 15564,
+ 12173, 18133, 9808,
+ 12173, 18335, 8282,
+ 12173, 18367, 14945, 16257, 15564,
+ 12173, 18427, 9808,
+ 12173, 18631, 5717, 9808,
+ 12173, 18877, 841, 9132,
+ 12173, 18877, 841, 13892,
+ 12173, 18877, 841, 20636,
+ 12173, 18877, 13710,
+ 12173, 19475, 13483, 14903, 1044,
+ 12173, 19475, 13483, 14903, 2664,
+ 12173, 19475, 13483, 14903, 2896,
+ 12173, 19475, 13483, 14903, 5788,
+ 12173, 19475, 13483, 14903, 12094,
+ 12173, 19651, 11443, 2597, 7086,
+ 12173, 19651, 11443, 2597, 16218,
+ 12173, 19651, 11443, 2597, 16379, 17150,
+ 12173, 19651, 11443, 2597, 16379, 17202,
+ 12173, 19651, 11443, 2597, 16954,
+ 12173, 19651, 11443, 2597, 18567, 17150,
+ 12173, 19651, 11443, 2597, 18567, 17202,
+ 12173, 19651, 11443, 3213, 8408,
+ 12173, 19651, 11443, 3213, 17150,
+ 12173, 19651, 11443, 3213, 17202,
+ 12173, 19651, 11443, 3213, 18567, 17150,
+ 12173, 19651, 11443, 6720,
+ 12173, 19651, 11443, 6721, 16378,
+ 12173, 19651, 11443, 6721, 16379, 17150,
+ 12173, 19651, 11443, 6721, 16379, 17202,
+ 12173, 19651, 11443, 6721, 17150,
+ 12173, 19651, 11443, 6721, 17202,
+ 12173, 19651, 11443, 6721, 18566,
+ 12173, 19651, 11443, 6721, 18567, 17202,
+ 12173, 19651, 11443, 12018,
+ 12173, 19651, 11443, 12019, 17150,
+ 12173, 19651, 11443, 12019, 17202,
+ 12173, 19651, 11443, 12019, 18566,
+ 12173, 19651, 11443, 12019, 18567, 17150,
+ 12173, 19651, 15061, 6721, 16378,
+ 12173, 19651, 16117, 6721, 8408,
+ 12173, 19651, 16367, 2597, 18292,
+ 12173, 19651, 17657, 3337, 17836,
+ 12173, 19651, 18479, 12019, 8408,
+ 12173, 19651, 18561, 2596,
+ 12173, 19651, 18561, 2597, 16378,
+ 12173, 19651, 18561, 2597, 18566,
+ 12173, 19651, 18561, 3212,
+ 12173, 19651, 18561, 3336,
+ 12173, 19651, 18561, 6721, 16378,
+ 12173, 19651, 18561, 6721, 18566,
+ 12173, 19651, 18561, 12018,
+ 12173, 19651, 18561, 13655, 16378,
+ 12173, 19651, 18561, 15626,
+ 12173, 19651, 18789, 6721, 16378,
+ 12173, 19651, 19243, 3212,
+ 12173, 19651, 19915, 3336,
+ 12173, 19651, 19915, 3337, 17836,
+ 12173, 19651, 19915, 6721, 16378,
+ 12173, 19651, 19963, 2596,
+ 12173, 19651, 19963, 3212,
+ 12173, 19651, 19963, 12018,
+ 12173, 19651, 20271, 3212,
+ 12173, 19651, 20271, 3213, 18713, 6740,
+ 12173, 19651, 20271, 6720,
+ 12173, 19651, 20271, 6721, 16378,
+ 12173, 19651, 20271, 12018,
+ 12173, 19651, 20271, 12019, 18713, 6740,
+ 12173, 20636,
+ 12173, 20901, 18199, 18520,
+ 12173, 20901, 18199, 18522,
+ 12173, 20901, 18199, 18526,
+ 12173, 20901, 18199, 18528,
+ 12173, 20901, 18199, 18532,
+ 12173, 20901, 18199, 18534,
+ 12173, 20901, 18199, 19488,
+ 12173, 20901, 18199, 19490,
+ 12173, 20901, 18199, 19492,
+ 12173, 20901, 18199, 19494,
+ 12173, 20901, 18199, 19500,
+ 12173, 20901, 18199, 19502,
+ 12173, 20901, 18199, 19504,
+ 12173, 20901, 18199, 19512,
+ 12173, 20901, 18199, 19514,
+ 12173, 20901, 18199, 19516,
+ 12173, 20901, 18199, 19518,
+ 12173, 20901, 18199, 19520,
+ 12173, 20901, 18199, 19522,
+ 12173, 20901, 18199, 19524,
+ 12173, 20901, 18199, 19526,
+ 12173, 20901, 18199, 19528,
+ 12173, 20901, 18199, 19530,
+ 12173, 20901, 18199, 19532,
+ 12173, 20901, 18199, 19534,
+ 12173, 20901, 18199, 19536,
+ 12173, 20901, 18199, 19538,
+ 12173, 20901, 18199, 19540,
+ 12173, 20901, 18199, 19542,
+ 12173, 20901, 18199, 19544,
+ 12173, 20901, 18199, 19546,
+ 12173, 20901, 18199, 19548,
+ 12173, 20901, 18199, 19550,
+ 12173, 20901, 18199, 19552,
+ 12173, 20901, 18199, 19554,
+ 12173, 20901, 18199, 19556,
+ 12173, 20901, 18199, 19558,
+ 12173, 21228,
+ 12173, 21380,
+ 12175, 5832,
+ 12175, 11412,
+ 12175, 12210,
+ 12201, 15219, 16965, 2597, 7090,
+ 12211, 10595, 3245, 495, 3225, 7778,
+ 12211, 10595, 11428,
+ 12211, 10595, 15338,
+ 12211, 19756,
+ 12213, 2163, 14533, 11709, 19359, 8283, 18220,
+ 12213, 2163, 15465, 11709, 19359, 8283, 18220,
+ 12213, 3057, 15501, 17496,
+ 12213, 3057, 16913, 11521, 9904,
+ 12213, 6721, 15501, 17496,
+ 12213, 6721, 16913, 11521, 9904,
+ 12213, 6743, 21241, 17496,
+ 12213, 9127, 14365, 11718,
+ 12213, 9129, 10595, 9129, 14778,
+ 12213, 9243, 9808,
+ 12213, 11429, 13383, 13971, 2596,
+ 12213, 11429, 13383, 13971, 2597, 7086,
+ 12213, 11429, 13383, 13971, 2597, 13646,
+ 12213, 11429, 13383, 13971, 3337, 15624,
+ 12213, 11521, 12210,
+ 12213, 11521, 14445, 17319, 841, 20163, 11428,
+ 12213, 11521, 14445, 19029, 841, 20163, 11428,
+ 12213, 11643, 8282,
+ 12213, 11917, 15501, 17496,
+ 12213, 11917, 16913, 11521, 9904,
+ 12213, 11917, 16913, 18287, 9904,
+ 12213, 11917, 16913, 20667, 11521, 9904,
+ 12213, 11917, 21567, 19349, 17496,
+ 12213, 12173, 11718,
+ 12213, 12211, 20469, 8283, 18220,
+ 12213, 12473, 14396,
+ 12213, 12477, 11718,
+ 12213, 12525, 21389, 13965, 20163, 11428,
+ 12213, 12675, 9808,
+ 12213, 12907, 6531, 11428,
+ 12213, 12907, 6531, 18297, 970,
+ 12213, 12907, 6531, 18297, 10505, 7774,
+ 12213, 12907, 10583, 18297, 970,
+ 12213, 12907, 10583, 18297, 10505, 7774,
+ 12213, 13501, 6531, 11428,
+ 12213, 13501, 6531, 18297, 970,
+ 12213, 13501, 6531, 18297, 10505, 7774,
+ 12213, 13501, 10583, 18297, 970,
+ 12213, 13501, 10583, 18297, 10505, 7774,
+ 12213, 13807, 21389, 13965, 20163, 11428,
+ 12213, 13965, 14396,
+ 12213, 13965, 15512,
+ 12213, 13965, 21089, 18596,
+ 12213, 14257, 46,
+ 12213, 14396,
+ 12213, 14397, 10595, 14397, 14778,
+ 12213, 14397, 10595, 15535, 841, 3337, 6403, 11346,
+ 12213, 14463, 21571, 20163, 11428,
+ 12213, 14509, 9808,
+ 12213, 14533, 11709, 19359, 8283, 18220,
+ 12213, 14533, 15701, 11709, 19359, 8283, 18220,
+ 12213, 15397, 18079, 213, 18220,
+ 12213, 15465, 11709, 19359, 8283, 18220,
+ 12213, 15465, 15701, 11709, 19359, 8283, 18220,
+ 12213, 15707, 16913, 11521, 9904,
+ 12213, 15707, 16913, 18287, 9904,
+ 12213, 16021, 19440,
+ 12213, 16035, 17022,
+ 12213, 17022,
+ 12213, 17124,
+ 12213, 17319, 11429, 10595, 12473, 20467, 18728,
+ 12213, 17319, 11429, 10595, 20467, 18728,
+ 12213, 17496,
+ 12213, 17711, 9808,
+ 12213, 18079, 9127, 213, 18220,
+ 12213, 18225, 11521, 9904,
+ 12213, 18669, 894,
+ 12213, 18717, 18220,
+ 12213, 19029, 11429, 10595, 12473, 20467, 18728,
+ 12213, 19029, 11429, 10595, 20467, 18728,
+ 12213, 19213, 11429, 10595, 12473, 20467, 18728,
+ 12213, 19213, 11429, 10595, 20467, 18728,
+ 12213, 20163, 11428,
+ 12213, 20163, 11429, 10595, 12473, 20467, 18728,
+ 12213, 20163, 11429, 10595, 20467, 18728,
+ 12213, 20165, 20537, 18220,
+ 12213, 20469, 8283, 15564,
+ 12213, 20469, 8283, 18220,
+ 12213, 20537, 18220,
+ 12213, 20767, 20163, 11428,
+ 12213, 20981, 20163, 11428,
+ 12213, 21047, 20163, 11428,
+ 12213, 21135, 11399, 15971, 18220,
+ 12213, 21135, 11399, 19359, 8283, 18220,
+ 12213, 21377, 46,
+ 12213, 21387, 11399, 15971, 18220,
+ 12213, 21387, 11399, 19359, 8283, 18220,
+ 12213, 21521, 12907, 6531, 11428,
+ 12213, 21521, 13501, 6531, 11428,
+ 12213, 21521, 20163, 11428,
+ 12213, 21529, 11521, 20163, 11428,
+ 12213, 21567, 17496,
+ 12213, 21567, 18287, 17496,
+ 12213, 21571, 20163, 11428,
+ 12213, 21705, 20163, 11428,
+ 12256,
+ 12261, 2694,
+ 12266,
+ 12267, 6682,
+ 12267, 15316,
+ 12268,
+ 12270,
+ 12271, 10595, 14660,
+ 12271, 17552,
+ 12271, 18776,
+ 12319, 482,
+ 12319, 483, 503, 21059, 11943, 632,
+ 12323, 10180,
+ 12331, 15565, 1391, 12477, 13483, 16590,
+ 12331, 15565, 1391, 12477, 15993, 16590,
+ 12331, 15565, 1391, 12477, 16590,
+ 12331, 15565, 1391, 16766,
+ 12331, 15565, 1391, 17184,
+ 12338,
+ 12362,
+ 12381, 391, 9809, 1100,
+ 12381, 391, 9809, 9784,
+ 12381, 391, 10173, 11590,
+ 12381, 391, 10173, 11591, 15248,
+ 12381, 391, 10173, 15248,
+ 12381, 391, 11849, 2596,
+ 12381, 391, 11849, 3056,
+ 12381, 391, 11849, 3336,
+ 12381, 391, 11849, 6720,
+ 12381, 391, 11849, 6742,
+ 12381, 391, 11849, 8736,
+ 12381, 391, 11849, 10854,
+ 12381, 391, 11849, 11916,
+ 12381, 391, 11849, 13376,
+ 12381, 391, 11849, 13654,
+ 12381, 391, 13921, 8,
+ 12381, 391, 13921, 28,
+ 12381, 391, 13921, 40,
+ 12381, 391, 13921, 184,
+ 12381, 391, 13921, 654,
+ 12381, 391, 14903, 0,
+ 12381, 391, 14903, 16,
+ 12381, 391, 14903, 106,
+ 12381, 391, 14903, 124,
+ 12381, 391, 14903, 148,
+ 12381, 391, 14903, 244,
+ 12381, 391, 14903, 266,
+ 12381, 391, 14903, 348,
+ 12381, 391, 14903, 382,
+ 12381, 391, 14903, 414,
+ 12381, 391, 14903, 446,
+ 12381, 391, 14903, 480,
+ 12381, 391, 14903, 496,
+ 12381, 391, 14903, 520,
+ 12381, 391, 14903, 570,
+ 12381, 391, 14903, 586,
+ 12381, 391, 14903, 620,
+ 12381, 391, 14903, 678,
+ 12381, 391, 14903, 692,
+ 12381, 391, 14903, 732,
+ 12381, 391, 14903, 750,
+ 12381, 391, 14903, 1684,
+ 12381, 391, 14903, 1904,
+ 12381, 391, 14903, 2432,
+ 12381, 391, 14903, 2544,
+ 12381, 391, 14903, 2660,
+ 12381, 391, 14903, 3030,
+ 12381, 391, 14903, 3222,
+ 12409, 9809, 2101, 3270,
+ 12409, 9809, 7600,
+ 12409, 9809, 11364,
+ 12409, 9809, 11700,
+ 12409, 9809, 13280,
+ 12409, 9809, 14264,
+ 12409, 9809, 14288,
+ 12409, 9809, 14339, 2675, 7692,
+ 12409, 9809, 15227, 8424,
+ 12409, 9809, 15375, 15382,
+ 12409, 9809, 15758,
+ 12409, 9809, 16426,
+ 12409, 9809, 16466,
+ 12409, 9809, 16750,
+ 12409, 9809, 16974,
+ 12409, 9809, 17262,
+ 12409, 9809, 17504,
+ 12409, 9809, 19700,
+ 12409, 9809, 19704,
+ 12409, 9809, 20592,
+ 12409, 9809, 20736,
+ 12409, 9809, 21062,
+ 12409, 9809, 21230,
+ 12409, 11849, 2596,
+ 12409, 11849, 3056,
+ 12409, 11849, 3336,
+ 12409, 11849, 6720,
+ 12409, 11849, 6742,
+ 12409, 11849, 8736,
+ 12409, 11849, 10854,
+ 12409, 11849, 11916,
+ 12409, 11849, 13376,
+ 12409, 11849, 13654,
+ 12409, 13921, 9809, 8,
+ 12409, 13921, 9809, 16,
+ 12409, 13921, 9809, 40,
+ 12409, 13921, 9809, 48,
+ 12409, 13921, 9809, 58,
+ 12409, 13921, 9809, 66,
+ 12409, 13921, 9809, 72,
+ 12409, 13921, 9809, 94,
+ 12409, 13921, 9809, 298,
+ 12409, 13921, 9809, 306,
+ 12409, 13921, 9809, 480,
+ 12409, 13921, 9809, 496,
+ 12409, 13921, 9809, 646,
+ 12409, 13921, 9809, 674,
+ 12409, 13921, 9809, 732,
+ 12409, 13921, 9809, 748,
+ 12409, 13921, 18009, 58,
+ 12409, 13921, 18009, 86,
+ 12409, 14903, 106,
+ 12409, 14903, 124,
+ 12409, 14903, 140,
+ 12409, 14903, 148,
+ 12409, 14903, 166,
+ 12409, 14903, 266,
+ 12409, 14903, 348,
+ 12409, 14903, 364,
+ 12409, 14903, 382,
+ 12409, 14903, 400,
+ 12409, 14903, 434,
+ 12409, 14903, 466,
+ 12409, 14903, 538,
+ 12409, 14903, 554,
+ 12409, 14903, 578,
+ 12409, 14903, 586,
+ 12409, 14903, 620,
+ 12409, 14903, 632,
+ 12409, 14903, 684,
+ 12409, 14903, 740,
+ 12409, 14903, 1040,
+ 12409, 14903, 1046,
+ 12409, 14903, 1904,
+ 12409, 14903, 1910,
+ 12409, 14903, 2440,
+ 12409, 14903, 2486,
+ 12409, 14903, 2552,
+ 12409, 14903, 2660,
+ 12409, 14903, 2666,
+ 12409, 14903, 3030,
+ 12409, 14903, 3100,
+ 12409, 14903, 3222,
+ 12409, 14903, 3228,
+ 12409, 14903, 10218,
+ 12409, 14903, 10224,
+ 12409, 15565, 921, 2922,
+ 12409, 15565, 921, 7644,
+ 12409, 15565, 1129, 2922,
+ 12409, 15565, 1129, 7644,
+ 12409, 15565, 2101, 11441, 920,
+ 12409, 15565, 2101, 11441, 2674,
+ 12409, 15565, 2101, 11441, 3072,
+ 12409, 15565, 2101, 11441, 5852,
+ 12409, 15565, 2101, 11441, 8442,
+ 12409, 15565, 2101, 11441, 9252,
+ 12409, 15565, 2101, 11441, 18306,
+ 12409, 15565, 2101, 11441, 18308,
+ 12409, 15565, 2101, 11441, 19338,
+ 12409, 15565, 2101, 11441, 19340,
+ 12409, 15565, 2675, 2922,
+ 12409, 15565, 2675, 7644,
+ 12409, 15565, 5853, 2922,
+ 12409, 15565, 5853, 7644,
+ 12409, 15565, 8443, 2922,
+ 12409, 15565, 8443, 7644,
+ 12409, 15565, 9253, 2922,
+ 12409, 15565, 9253, 7644,
+ 12409, 15565, 16105, 2922,
+ 12409, 15565, 16105, 7644,
+ 12409, 15565, 16107, 2922,
+ 12409, 15565, 16107, 7644,
+ 12409, 15565, 17663, 2922,
+ 12409, 15565, 17663, 7644,
+ 12409, 15565, 17665, 2922,
+ 12409, 15565, 17665, 7644,
+ 12409, 15565, 17667, 2922,
+ 12409, 15565, 17667, 7644,
+ 12409, 15565, 18307, 2922,
+ 12409, 15565, 18307, 7644,
+ 12409, 15565, 18309, 2922,
+ 12409, 15565, 18309, 7644,
+ 12409, 15565, 19339, 2922,
+ 12409, 15565, 19339, 7644,
+ 12409, 15565, 19341, 2922,
+ 12409, 15565, 19341, 7644,
+ 12409, 15565, 19612,
+ 12409, 15565, 20102,
+ 12409, 17653, 15565, 9454,
+ 12409, 20525, 13921, 410,
+ 12409, 20525, 13921, 556,
+ 12409, 20525, 13921, 558,
+ 12409, 20525, 13921, 566,
+ 12409, 20525, 13921, 584,
+ 12409, 20525, 13921, 2218,
+ 12409, 20525, 13921, 2746,
+ 12409, 20525, 13921, 2750,
+ 12409, 20525, 13921, 2752,
+ 12409, 20525, 13921, 2756,
+ 12409, 20525, 13921, 2776,
+ 12409, 20525, 13921, 2789, 10267, 2596,
+ 12409, 20525, 13921, 2789, 10267, 3336,
+ 12409, 20525, 13921, 2804,
+ 12409, 20525, 13921, 2814,
+ 12409, 20525, 13921, 2986,
+ 12409, 20525, 13921, 9338,
+ 12424,
+ 12452,
+ 12473, 669, 10040,
+ 12473, 2597, 1213, 9131, 3337, 6403, 20658,
+ 12473, 2597, 9457, 9131, 3337, 13273, 20658,
+ 12473, 2879, 14396,
+ 12473, 3337, 6403, 9131, 2597, 1213, 20658,
+ 12473, 3337, 13273, 9131, 2597, 9457, 20658,
+ 12473, 5817, 14396,
+ 12473, 5817, 16128,
+ 12473, 6407, 10040,
+ 12473, 7779, 18597, 18214,
+ 12473, 14396,
+ 12473, 15161, 16128,
+ 12473, 15671, 18669, 895, 18214,
+ 12477, 11718,
+ 12477, 13483, 14903, 0,
+ 12477, 13483, 14903, 1, 10595, 1213, 11346,
+ 12477, 13483, 14903, 1, 10595, 1213, 11347, 841, 14952,
+ 12477, 13483, 14903, 1, 10595, 1213, 11502,
+ 12477, 13483, 14903, 1, 10595, 7257, 11346,
+ 12477, 13483, 14903, 1, 10595, 9457, 11346,
+ 12477, 13483, 14903, 1, 10595, 9457, 11347, 841, 11348,
+ 12477, 13483, 14903, 1, 10595, 9457, 11502,
+ 12477, 13483, 14903, 1, 10595, 11348,
+ 12477, 13483, 14903, 1, 10595, 11546,
+ 12477, 13483, 14903, 1, 10595, 11547, 841, 1213, 11502,
+ 12477, 13483, 14903, 1, 10595, 11547, 841, 7257, 11346,
+ 12477, 13483, 14903, 1, 10595, 11547, 841, 11348,
+ 12477, 13483, 14903, 1, 10595, 11547, 841, 12168,
+ 12477, 13483, 14903, 1, 10595, 11547, 841, 13676,
+ 12477, 13483, 14903, 1, 10595, 11604,
+ 12477, 13483, 14903, 1, 10595, 12168,
+ 12477, 13483, 14903, 1, 10595, 13271, 7087, 9456,
+ 12477, 13483, 14903, 1, 10595, 13676,
+ 12477, 13483, 14903, 1, 10595, 14533, 12168,
+ 12477, 13483, 14903, 1, 10595, 14952,
+ 12477, 13483, 14903, 1, 10595, 15146,
+ 12477, 13483, 14903, 1, 10595, 15534,
+ 12477, 13483, 14903, 1, 10595, 18017, 11546,
+ 12477, 13483, 14903, 1, 10595, 18872,
+ 12477, 13483, 14903, 1, 10595, 18873, 841, 14952,
+ 12477, 13483, 14903, 1, 10595, 19389, 7256,
+ 12477, 13483, 14903, 1, 10595, 19716,
+ 12477, 13483, 14903, 1, 10595, 19717, 841, 1213, 11502,
+ 12477, 13483, 14903, 1, 10595, 19717, 841, 7257, 11346,
+ 12477, 13483, 14903, 1, 10595, 19717, 841, 11348,
+ 12477, 13483, 14903, 1, 10595, 19717, 841, 12168,
+ 12477, 13483, 14903, 1, 10595, 19717, 841, 13676,
+ 12477, 13483, 14903, 1, 21382,
+ 12477, 13483, 14903, 2,
+ 12477, 13483, 14903, 3, 10595, 1213, 11346,
+ 12477, 13483, 14903, 3, 10595, 1213, 11502,
+ 12477, 13483, 14903, 3, 10595, 7256,
+ 12477, 13483, 14903, 3, 10595, 7817, 11502,
+ 12477, 13483, 14903, 3, 10595, 15021, 13676,
+ 12477, 13483, 14903, 3, 10595, 15534,
+ 12477, 13483, 14903, 3, 10595, 15668,
+ 12477, 13483, 14903, 3, 10595, 16829, 7256,
+ 12477, 13483, 14903, 3, 10595, 17914,
+ 12477, 13483, 14903, 4,
+ 12477, 13483, 14903, 5, 10595, 894,
+ 12477, 13483, 14903, 5, 10595, 1213, 11346,
+ 12477, 13483, 14903, 5, 10595, 6090,
+ 12477, 13483, 14903, 5, 10595, 7256,
+ 12477, 13483, 14903, 5, 10595, 11348,
+ 12477, 13483, 14903, 5, 10595, 11604,
+ 12477, 13483, 14903, 5, 10595, 15534,
+ 12477, 13483, 14903, 5, 10595, 16002,
+ 12477, 13483, 14903, 5, 10595, 16003, 841, 11348,
+ 12477, 13483, 14903, 5, 10595, 16829, 7256,
+ 12477, 13483, 14903, 5, 10595, 19716,
+ 12477, 13483, 14903, 6,
+ 12477, 13483, 14903, 7, 10595, 1213, 11346,
+ 12477, 13483, 14903, 7, 10595, 1213, 11502,
+ 12477, 13483, 14903, 7, 10595, 6090,
+ 12477, 13483, 14903, 7, 10595, 7256,
+ 12477, 13483, 14903, 7, 10595, 7257, 841, 10046,
+ 12477, 13483, 14903, 7, 10595, 7817, 11502,
+ 12477, 13483, 14903, 7, 10595, 10046,
+ 12477, 13483, 14903, 7, 10595, 11604,
+ 12477, 13483, 14903, 7, 10595, 15021, 13676,
+ 12477, 13483, 14903, 7, 10595, 15534,
+ 12477, 13483, 14903, 7, 10595, 15668,
+ 12477, 13483, 14903, 7, 10595, 16002,
+ 12477, 13483, 14903, 7, 10595, 16829, 7256,
+ 12477, 13483, 14903, 7, 10595, 19717, 11502,
+ 12477, 13483, 14903, 8,
+ 12477, 13483, 14903, 9, 10595, 1213, 11346,
+ 12477, 13483, 14903, 9, 10595, 1213, 11502,
+ 12477, 13483, 14903, 9, 10595, 7257, 11346,
+ 12477, 13483, 14903, 9, 10595, 11348,
+ 12477, 13483, 14903, 9, 10595, 11546,
+ 12477, 13483, 14903, 9, 10595, 11604,
+ 12477, 13483, 14903, 9, 10595, 12168,
+ 12477, 13483, 14903, 9, 10595, 12908,
+ 12477, 13483, 14903, 9, 10595, 13676,
+ 12477, 13483, 14903, 9, 10595, 13677, 11502,
+ 12477, 13483, 14903, 9, 10595, 14533, 12168,
+ 12477, 13483, 14903, 9, 10595, 14952,
+ 12477, 13483, 14903, 9, 10595, 14953, 841, 11348,
+ 12477, 13483, 14903, 9, 10595, 14953, 841, 12168,
+ 12477, 13483, 14903, 9, 10595, 15146,
+ 12477, 13483, 14903, 9, 10595, 15534,
+ 12477, 13483, 14903, 9, 10595, 16002,
+ 12477, 13483, 14903, 9, 10595, 16003, 841, 11546,
+ 12477, 13483, 14903, 9, 10595, 17914,
+ 12477, 13483, 14903, 9, 10595, 18017, 11546,
+ 12477, 13483, 14903, 9, 10595, 18872,
+ 12477, 13483, 14903, 9, 10595, 19389, 7256,
+ 12477, 13483, 14903, 9, 10595, 19716,
+ 12477, 13483, 14903, 9, 10595, 19717, 841, 1213, 11502,
+ 12477, 13483, 14903, 9, 10595, 19717, 841, 7257, 11346,
+ 12477, 13483, 14903, 9, 10595, 19717, 841, 11348,
+ 12477, 13483, 14903, 9, 10595, 19717, 841, 12168,
+ 12477, 13483, 14903, 9, 10595, 19717, 841, 13676,
+ 12477, 13483, 14903, 9, 10595, 19717, 11502,
+ 12477, 13483, 14903, 10,
+ 12477, 13483, 14903, 11, 10595, 1213, 11346,
+ 12477, 13483, 14903, 11, 10595, 7256,
+ 12477, 13483, 14903, 11, 10595, 15021, 13676,
+ 12477, 13483, 14903, 11, 10595, 15534,
+ 12477, 13483, 14903, 11, 10595, 16829, 7256,
+ 12477, 13483, 14903, 12,
+ 12477, 13483, 14903, 13, 10595, 1213, 11346,
+ 12477, 13483, 14903, 13, 10595, 7256,
+ 12477, 13483, 14903, 13, 10595, 11348,
+ 12477, 13483, 14903, 13, 10595, 11546,
+ 12477, 13483, 14903, 13, 10595, 11604,
+ 12477, 13483, 14903, 13, 10595, 14952,
+ 12477, 13483, 14903, 13, 10595, 15534,
+ 12477, 13483, 14903, 13, 10595, 16002,
+ 12477, 13483, 14903, 13, 10595, 16783, 15534,
+ 12477, 13483, 14903, 13, 10595, 16829, 7256,
+ 12477, 13483, 14903, 13, 10595, 19716,
+ 12477, 13483, 14903, 14,
+ 12477, 13483, 14903, 15, 10595, 1213, 11346,
+ 12477, 13483, 14903, 15, 10595, 1213, 11502,
+ 12477, 13483, 14903, 15, 10595, 7256,
+ 12477, 13483, 14903, 15, 10595, 7817, 11502,
+ 12477, 13483, 14903, 15, 10595, 11547, 11502,
+ 12477, 13483, 14903, 15, 10595, 11604,
+ 12477, 13483, 14903, 15, 10595, 15534,
+ 12477, 13483, 14903, 15, 10595, 16002,
+ 12477, 13483, 14903, 15, 10595, 16829, 7256,
+ 12477, 13483, 14903, 15, 10595, 18870,
+ 12477, 13483, 14903, 15, 10595, 18872,
+ 12477, 13483, 14903, 15, 10595, 19716,
+ 12477, 13483, 14903, 16,
+ 12477, 13483, 14903, 17, 10595, 1213, 11502,
+ 12477, 13483, 14903, 17, 10595, 7257, 11346,
+ 12477, 13483, 14903, 17, 10595, 11348,
+ 12477, 13483, 14903, 17, 10595, 11546,
+ 12477, 13483, 14903, 17, 10595, 11604,
+ 12477, 13483, 14903, 17, 10595, 12168,
+ 12477, 13483, 14903, 17, 10595, 13676,
+ 12477, 13483, 14903, 17, 10595, 13677, 11502,
+ 12477, 13483, 14903, 17, 10595, 14533, 12168,
+ 12477, 13483, 14903, 17, 10595, 14952,
+ 12477, 13483, 14903, 17, 10595, 15146,
+ 12477, 13483, 14903, 17, 10595, 15534,
+ 12477, 13483, 14903, 17, 10595, 18017, 11546,
+ 12477, 13483, 14903, 17, 10595, 18872,
+ 12477, 13483, 14903, 17, 10595, 18873, 841, 11348,
+ 12477, 13483, 14903, 17, 10595, 19389, 7256,
+ 12477, 13483, 14903, 17, 10595, 19716,
+ 12477, 13483, 14903, 18,
+ 12477, 13483, 14903, 19, 10595, 11604,
+ 12477, 13483, 14903, 19, 10595, 15534,
+ 12477, 13483, 14903, 19, 10595, 19716,
+ 12477, 13483, 14903, 19, 10595, 20822,
+ 12477, 13483, 14903, 20,
+ 12477, 13483, 14903, 21, 10595, 1213, 11502,
+ 12477, 13483, 14903, 21, 10595, 7256,
+ 12477, 13483, 14903, 21, 10595, 7817, 11502,
+ 12477, 13483, 14903, 21, 10595, 11348,
+ 12477, 13483, 14903, 21, 10595, 11604,
+ 12477, 13483, 14903, 21, 10595, 15534,
+ 12477, 13483, 14903, 21, 10595, 15535, 841, 17687, 15534,
+ 12477, 13483, 14903, 21, 10595, 16002,
+ 12477, 13483, 14903, 21, 10595, 16783, 15534,
+ 12477, 13483, 14903, 21, 10595, 16829, 7256,
+ 12477, 13483, 14903, 21, 10595, 17687, 15534,
+ 12477, 13483, 14903, 21, 10595, 18870,
+ 12477, 13483, 14903, 22,
+ 12477, 13483, 14903, 23, 10595, 894,
+ 12477, 13483, 14903, 23, 10595, 1213, 11502,
+ 12477, 13483, 14903, 23, 10595, 1213, 11503, 841, 14952,
+ 12477, 13483, 14903, 23, 10595, 5782,
+ 12477, 13483, 14903, 23, 10595, 6090,
+ 12477, 13483, 14903, 23, 10595, 7135, 15534,
+ 12477, 13483, 14903, 23, 10595, 7817, 11502,
+ 12477, 13483, 14903, 23, 10595, 11348,
+ 12477, 13483, 14903, 23, 10595, 11604,
+ 12477, 13483, 14903, 23, 10595, 14533, 894,
+ 12477, 13483, 14903, 23, 10595, 14533, 15021, 13676,
+ 12477, 13483, 14903, 23, 10595, 15021, 1212,
+ 12477, 13483, 14903, 23, 10595, 15021, 9456,
+ 12477, 13483, 14903, 23, 10595, 15021, 13676,
+ 12477, 13483, 14903, 23, 10595, 15534,
+ 12477, 13483, 14903, 23, 10595, 16002,
+ 12477, 13483, 14903, 23, 10595, 16829, 7256,
+ 12477, 13483, 14903, 23, 10595, 18017, 7769, 36,
+ 12477, 13483, 14903, 23, 10595, 19389, 7256,
+ 12477, 13483, 14903, 23, 10595, 19389, 7257, 841, 5782,
+ 12477, 13483, 14903, 23, 10595, 19717, 11502,
+ 12477, 13483, 14903, 24,
+ 12477, 13483, 14903, 25, 10595, 1213, 11346,
+ 12477, 13483, 14903, 25, 10595, 1213, 11502,
+ 12477, 13483, 14903, 25, 10595, 7256,
+ 12477, 13483, 14903, 25, 10595, 11348,
+ 12477, 13483, 14903, 25, 10595, 15021, 13676,
+ 12477, 13483, 14903, 25, 10595, 16829, 7256,
+ 12477, 13483, 14903, 25, 10595, 20822,
+ 12477, 13483, 14903, 26,
+ 12477, 13483, 14903, 27, 10595, 1213, 11346,
+ 12477, 13483, 14903, 27, 10595, 1213, 11502,
+ 12477, 13483, 14903, 27, 10595, 6090,
+ 12477, 13483, 14903, 27, 10595, 7779, 7256,
+ 12477, 13483, 14903, 27, 10595, 7817, 11502,
+ 12477, 13483, 14903, 27, 10595, 7845, 13271, 2096,
+ 12477, 13483, 14903, 27, 10595, 11348,
+ 12477, 13483, 14903, 27, 10595, 11604,
+ 12477, 13483, 14903, 27, 10595, 12168,
+ 12477, 13483, 14903, 27, 10595, 13676,
+ 12477, 13483, 14903, 27, 10595, 15021, 13676,
+ 12477, 13483, 14903, 27, 10595, 16002,
+ 12477, 13483, 14903, 27, 10595, 16783, 15534,
+ 12477, 13483, 14903, 27, 10595, 16829, 7256,
+ 12477, 13483, 14903, 27, 10595, 18870,
+ 12477, 13483, 14903, 27, 10595, 19389, 7256,
+ 12477, 13483, 14903, 27, 10595, 19717, 11502,
+ 12477, 13483, 14903, 27, 10595, 20822,
+ 12477, 13483, 14903, 27, 18311, 123, 19676,
+ 12477, 13483, 14903, 28,
+ 12477, 13483, 14903, 29, 10595, 1213, 11346,
+ 12477, 13483, 14903, 29, 10595, 1213, 11347, 841, 14952,
+ 12477, 13483, 14903, 29, 10595, 1213, 11502,
+ 12477, 13483, 14903, 29, 10595, 2163, 9457, 14778,
+ 12477, 13483, 14903, 29, 10595, 7257, 11346,
+ 12477, 13483, 14903, 29, 10595, 7268,
+ 12477, 13483, 14903, 29, 10595, 7269, 841, 1213, 11502,
+ 12477, 13483, 14903, 29, 10595, 7269, 841, 7257, 11346,
+ 12477, 13483, 14903, 29, 10595, 7269, 841, 11348,
+ 12477, 13483, 14903, 29, 10595, 7269, 841, 12168,
+ 12477, 13483, 14903, 29, 10595, 7269, 841, 13676,
+ 12477, 13483, 14903, 29, 10595, 7845, 15535, 16820,
+ 12477, 13483, 14903, 29, 10595, 7850,
+ 12477, 13483, 14903, 29, 10595, 11348,
+ 12477, 13483, 14903, 29, 10595, 11546,
+ 12477, 13483, 14903, 29, 10595, 11604,
+ 12477, 13483, 14903, 29, 10595, 12168,
+ 12477, 13483, 14903, 29, 10595, 13676,
+ 12477, 13483, 14903, 29, 10595, 13677, 841, 11348,
+ 12477, 13483, 14903, 29, 10595, 13677, 841, 14952,
+ 12477, 13483, 14903, 29, 10595, 13677, 841, 18872,
+ 12477, 13483, 14903, 29, 10595, 14533, 11348,
+ 12477, 13483, 14903, 29, 10595, 14533, 12168,
+ 12477, 13483, 14903, 29, 10595, 14952,
+ 12477, 13483, 14903, 29, 10595, 14953, 841, 11348,
+ 12477, 13483, 14903, 29, 10595, 14953, 841, 12168,
+ 12477, 13483, 14903, 29, 10595, 15146,
+ 12477, 13483, 14903, 29, 10595, 15147, 841, 14952,
+ 12477, 13483, 14903, 29, 10595, 15534,
+ 12477, 13483, 14903, 29, 10595, 15535, 841, 11348,
+ 12477, 13483, 14903, 29, 10595, 18017, 11546,
+ 12477, 13483, 14903, 29, 10595, 18872,
+ 12477, 13483, 14903, 29, 10595, 18873, 841, 14952,
+ 12477, 13483, 14903, 29, 10595, 19716,
+ 12477, 13483, 14903, 29, 10595, 19717, 841, 1213, 11502,
+ 12477, 13483, 14903, 29, 10595, 19717, 841, 7257, 11346,
+ 12477, 13483, 14903, 29, 10595, 19717, 841, 11348,
+ 12477, 13483, 14903, 29, 10595, 19717, 841, 12168,
+ 12477, 13483, 14903, 29, 10595, 19717, 841, 13676,
+ 12477, 13483, 14903, 30,
+ 12477, 13483, 14903, 31, 10595, 1213, 11346,
+ 12477, 13483, 14903, 31, 10595, 7256,
+ 12477, 13483, 14903, 31, 10595, 11348,
+ 12477, 13483, 14903, 31, 10595, 15021, 13676,
+ 12477, 13483, 14903, 31, 10595, 15534,
+ 12477, 13483, 14903, 31, 10595, 15535, 17231, 18870,
+ 12477, 13483, 14903, 31, 10595, 16829, 7256,
+ 12477, 13483, 14903, 31, 10595, 17914,
+ 12477, 13483, 14903, 31, 10595, 18459, 10046,
+ 12477, 13483, 14903, 32,
+ 12477, 13483, 14903, 33, 10595, 7256,
+ 12477, 13483, 14903, 33, 10595, 7257, 10046,
+ 12477, 13483, 14903, 33, 10595, 15535, 17231, 18870,
+ 12477, 13483, 14903, 33, 10595, 17687, 15534,
+ 12477, 13483, 14903, 34,
+ 12477, 13483, 14903, 35, 10595, 1213, 11346,
+ 12477, 13483, 14903, 35, 10595, 1213, 11502,
+ 12477, 13483, 14903, 35, 10595, 1213, 11503, 841, 14952,
+ 12477, 13483, 14903, 35, 10595, 7817, 11502,
+ 12477, 13483, 14903, 35, 10595, 7845, 2096,
+ 12477, 13483, 14903, 35, 10595, 10046,
+ 12477, 13483, 14903, 35, 10595, 11348,
+ 12477, 13483, 14903, 35, 10595, 11604,
+ 12477, 13483, 14903, 35, 10595, 14533, 12168,
+ 12477, 13483, 14903, 35, 10595, 15021, 13676,
+ 12477, 13483, 14903, 35, 10595, 15534,
+ 12477, 13483, 14903, 35, 10595, 16002,
+ 12477, 13483, 14903, 35, 10595, 16783, 15534,
+ 12477, 13483, 14903, 35, 10595, 16829, 7256,
+ 12477, 13483, 14903, 35, 10595, 17908,
+ 12477, 13483, 14903, 35, 10595, 17909, 841, 15021, 13676,
+ 12477, 13483, 14903, 35, 10595, 18017, 11546,
+ 12477, 13483, 14903, 35, 10595, 20822,
+ 12477, 13483, 14903, 35, 17008,
+ 12477, 13483, 14903, 35, 17377, 14722,
+ 12477, 13483, 14903, 36,
+ 12477, 13483, 14903, 37, 10595, 1213, 11346,
+ 12477, 13483, 14903, 37, 10595, 1213, 11502,
+ 12477, 13483, 14903, 37, 10595, 1213, 11503, 841, 1213, 11346,
+ 12477, 13483, 14903, 37, 10595, 7256,
+ 12477, 13483, 14903, 37, 10595, 11348,
+ 12477, 13483, 14903, 37, 10595, 11349, 841, 1213, 11346,
+ 12477, 13483, 14903, 37, 10595, 11604,
+ 12477, 13483, 14903, 37, 10595, 11605, 841, 1213, 11346,
+ 12477, 13483, 14903, 37, 10595, 11709, 11502,
+ 12477, 13483, 14903, 37, 10595, 13571, 10046,
+ 12477, 13483, 14903, 37, 10595, 15021, 13676,
+ 12477, 13483, 14903, 37, 10595, 16002,
+ 12477, 13483, 14903, 37, 10595, 16783, 15534,
+ 12477, 13483, 14903, 37, 10595, 16829, 7256,
+ 12477, 13483, 14903, 37, 10595, 19716,
+ 12477, 13483, 14903, 38,
+ 12477, 13483, 14903, 39, 10595, 1213, 11346,
+ 12477, 13483, 14903, 39, 10595, 1213, 11502,
+ 12477, 13483, 14903, 39, 10595, 6090,
+ 12477, 13483, 14903, 39, 10595, 7256,
+ 12477, 13483, 14903, 39, 10595, 7817, 11502,
+ 12477, 13483, 14903, 39, 10595, 11604,
+ 12477, 13483, 14903, 39, 10595, 11709, 11502,
+ 12477, 13483, 14903, 39, 10595, 15021, 13676,
+ 12477, 13483, 14903, 39, 10595, 15534,
+ 12477, 13483, 14903, 39, 10595, 16002,
+ 12477, 13483, 14903, 39, 10595, 16829, 7256,
+ 12477, 13483, 14903, 39, 10595, 17687, 15534,
+ 12477, 13483, 14903, 39, 10595, 18872,
+ 12477, 13483, 14903, 39, 10595, 19389, 7256,
+ 12477, 13483, 14903, 39, 10595, 19717, 11502,
+ 12477, 13483, 14903, 40,
+ 12477, 13483, 14903, 41, 894,
+ 12477, 13483, 14903, 41, 895, 10595, 13431, 13271, 2096,
+ 12477, 13483, 14903, 41, 10595, 1213, 11502,
+ 12477, 13483, 14903, 41, 10595, 7257, 11346,
+ 12477, 13483, 14903, 41, 10595, 7268,
+ 12477, 13483, 14903, 41, 10595, 7269, 841, 1213, 11502,
+ 12477, 13483, 14903, 41, 10595, 7269, 841, 7257, 11346,
+ 12477, 13483, 14903, 41, 10595, 7269, 841, 11348,
+ 12477, 13483, 14903, 41, 10595, 7269, 841, 12168,
+ 12477, 13483, 14903, 41, 10595, 7269, 841, 13676,
+ 12477, 13483, 14903, 41, 10595, 7779, 7256,
+ 12477, 13483, 14903, 41, 10595, 9457, 11346,
+ 12477, 13483, 14903, 41, 10595, 11348,
+ 12477, 13483, 14903, 41, 10595, 11546,
+ 12477, 13483, 14903, 41, 10595, 11604,
+ 12477, 13483, 14903, 41, 10595, 12168,
+ 12477, 13483, 14903, 41, 10595, 13431, 13271, 2096,
+ 12477, 13483, 14903, 41, 10595, 13676,
+ 12477, 13483, 14903, 41, 10595, 13677, 841, 11348,
+ 12477, 13483, 14903, 41, 10595, 13677, 11502,
+ 12477, 13483, 14903, 41, 10595, 14533, 11348,
+ 12477, 13483, 14903, 41, 10595, 14533, 12168,
+ 12477, 13483, 14903, 41, 10595, 14952,
+ 12477, 13483, 14903, 41, 10595, 14953, 841, 18872,
+ 12477, 13483, 14903, 41, 10595, 15146,
+ 12477, 13483, 14903, 41, 10595, 18017, 11546,
+ 12477, 13483, 14903, 41, 10595, 18872,
+ 12477, 13483, 14903, 41, 10595, 18873, 841, 11348,
+ 12477, 13483, 14903, 41, 10595, 18873, 841, 11604,
+ 12477, 13483, 14903, 41, 10595, 18873, 841, 12168,
+ 12477, 13483, 14903, 41, 10595, 18873, 841, 14952,
+ 12477, 13483, 14903, 41, 10595, 18873, 11502,
+ 12477, 13483, 14903, 41, 10595, 19389, 7256,
+ 12477, 13483, 14903, 41, 10595, 19716,
+ 12477, 13483, 14903, 41, 10595, 19717, 11502,
+ 12477, 13483, 14903, 42,
+ 12477, 13483, 14903, 43, 10595, 1213, 11502,
+ 12477, 13483, 14903, 43, 10595, 6090,
+ 12477, 13483, 14903, 43, 10595, 7256,
+ 12477, 13483, 14903, 43, 10595, 13271, 7256,
+ 12477, 13483, 14903, 43, 10595, 13676,
+ 12477, 13483, 14903, 43, 10595, 16829, 7256,
+ 12477, 13483, 14903, 43, 10595, 17687, 15534,
+ 12477, 13483, 14903, 44,
+ 12477, 13483, 14903, 45, 10595, 1213, 11346,
+ 12477, 13483, 14903, 45, 10595, 1213, 11502,
+ 12477, 13483, 14903, 45, 10595, 7256,
+ 12477, 13483, 14903, 45, 10595, 9457, 11346,
+ 12477, 13483, 14903, 45, 10595, 11348,
+ 12477, 13483, 14903, 45, 10595, 12168,
+ 12477, 13483, 14903, 45, 10595, 18872,
+ 12477, 13483, 14903, 45, 10595, 19716,
+ 12477, 13483, 14903, 46,
+ 12477, 13483, 14903, 47, 10595, 1213, 11346,
+ 12477, 13483, 14903, 47, 10595, 2163, 13271, 9456,
+ 12477, 13483, 14903, 47, 10595, 7845, 7779, 2096,
+ 12477, 13483, 14903, 47, 10595, 7845, 7779, 2097, 841, 2163, 13271, 9456,
+ 12477, 13483, 14903, 47, 10595, 7845, 7779, 2097, 10595, 13374,
+ 12477, 13483, 14903, 47, 10595, 16829, 7256,
+ 12477, 13483, 14903, 47, 10595, 18872,
+ 12477, 13483, 14903, 48,
+ 12477, 13483, 14903, 49, 10595, 1213, 11346,
+ 12477, 13483, 14903, 49, 10595, 1213, 11502,
+ 12477, 13483, 14903, 49, 10595, 7256,
+ 12477, 13483, 14903, 49, 10595, 7257, 11346,
+ 12477, 13483, 14903, 49, 10595, 7850,
+ 12477, 13483, 14903, 49, 10595, 9457, 11346,
+ 12477, 13483, 14903, 49, 10595, 11348,
+ 12477, 13483, 14903, 49, 10595, 12168,
+ 12477, 13483, 14903, 49, 10595, 13431, 13271, 2096,
+ 12477, 13483, 14903, 49, 10595, 13676,
+ 12477, 13483, 14903, 49, 10595, 14952,
+ 12477, 13483, 14903, 49, 10595, 15534,
+ 12477, 13483, 14903, 49, 10595, 18872,
+ 12477, 13483, 14903, 49, 10595, 19716,
+ 12477, 13483, 14903, 50,
+ 12477, 13483, 14903, 51, 10595, 1213, 11346,
+ 12477, 13483, 14903, 51, 10595, 1213, 11502,
+ 12477, 13483, 14903, 51, 10595, 6090,
+ 12477, 13483, 14903, 51, 10595, 7256,
+ 12477, 13483, 14903, 51, 10595, 7817, 11502,
+ 12477, 13483, 14903, 51, 10595, 11348,
+ 12477, 13483, 14903, 51, 10595, 11604,
+ 12477, 13483, 14903, 51, 10595, 13571, 10046,
+ 12477, 13483, 14903, 51, 10595, 15021, 13676,
+ 12477, 13483, 14903, 51, 10595, 15534,
+ 12477, 13483, 14903, 51, 10595, 16829, 7256,
+ 12477, 13483, 14903, 51, 10595, 18870,
+ 12477, 13483, 14903, 51, 10595, 19389, 7256,
+ 12477, 13483, 14903, 51, 10595, 19716,
+ 12477, 13483, 14903, 58,
+ 12477, 13483, 14903, 66,
+ 12477, 13483, 14903, 67, 10595, 11348,
+ 12477, 13483, 14903, 67, 10595, 14952,
+ 12477, 13483, 14903, 82,
+ 12477, 13483, 14903, 94,
+ 12477, 13483, 14903, 96,
+ 12477, 13483, 14903, 97, 10595, 19973, 894,
+ 12477, 13483, 14903, 102,
+ 12477, 13483, 14903, 151, 16134,
+ 12477, 13483, 14903, 172,
+ 12477, 13483, 14903, 173, 10595, 11604,
+ 12477, 13483, 14903, 173, 16134,
+ 12477, 13483, 14903, 173, 16135, 10595, 6090,
+ 12477, 13483, 14903, 212,
+ 12477, 13483, 14903, 286,
+ 12477, 13483, 14903, 324,
+ 12477, 13483, 14903, 392,
+ 12477, 13483, 14903, 403, 16134,
+ 12477, 13483, 14903, 413, 16134,
+ 12477, 13483, 14903, 460,
+ 12477, 13483, 14903, 486,
+ 12477, 13483, 14903, 496,
+ 12477, 13483, 14903, 508,
+ 12477, 13483, 14903, 565, 16134,
+ 12477, 13483, 14903, 623, 16135, 10595, 6090,
+ 12477, 13483, 14903, 627, 10595, 21202,
+ 12477, 13483, 14903, 637, 16134,
+ 12477, 13483, 14903, 642,
+ 12477, 13483, 14903, 654,
+ 12477, 13483, 14903, 658,
+ 12477, 13483, 14903, 662,
+ 12477, 13483, 14903, 666,
+ 12477, 13483, 14903, 690,
+ 12477, 13483, 14903, 1044,
+ 12477, 13483, 14903, 1045, 10595, 2163, 7779, 13374,
+ 12477, 13483, 14903, 1045, 10595, 2163, 13271, 9456,
+ 12477, 13483, 14903, 1072,
+ 12477, 13483, 14903, 1226,
+ 12477, 13483, 14903, 1294,
+ 12477, 13483, 14903, 1295, 10595, 20822,
+ 12477, 13483, 14903, 1312,
+ 12477, 13483, 14903, 1313, 10595, 6090,
+ 12477, 13483, 14903, 1313, 10595, 16829, 7256,
+ 12477, 13483, 14903, 1313, 10595, 19389, 7256,
+ 12477, 13483, 14903, 1322,
+ 12477, 13483, 14903, 1334,
+ 12477, 13483, 14903, 1335, 10595, 6090,
+ 12477, 13483, 14903, 1335, 10595, 10046,
+ 12477, 13483, 14903, 1335, 10595, 11604,
+ 12477, 13483, 14903, 1335, 10595, 19389, 7256,
+ 12477, 13483, 14903, 1335, 18366,
+ 12477, 13483, 14903, 1486,
+ 12477, 13483, 14903, 1986,
+ 12477, 13483, 14903, 2186,
+ 12477, 13483, 14903, 2334,
+ 12477, 13483, 14903, 2522,
+ 12477, 13483, 14903, 2664,
+ 12477, 13483, 14903, 2954,
+ 12477, 13483, 14903, 2955, 17008,
+ 12477, 13483, 14903, 3273, 7087, 28,
+ 12477, 13483, 14903, 3318,
+ 12477, 13483, 14903, 5788,
+ 12477, 13483, 14903, 6345, 16134,
+ 12477, 13483, 14903, 6699, 16134,
+ 12477, 13483, 14903, 7087, 14,
+ 12477, 13483, 14903, 7112,
+ 12477, 13483, 14903, 7113, 10595, 7256,
+ 12477, 13483, 14903, 7402,
+ 12477, 13483, 14903, 7403, 10595, 15534,
+ 12477, 13483, 14903, 7786,
+ 12477, 13483, 14903, 7845, 36,
+ 12477, 13483, 14903, 7845, 37, 10595, 1213, 11346,
+ 12477, 13483, 14903, 7845, 37, 10595, 7135, 15534,
+ 12477, 13483, 14903, 7845, 37, 10595, 17687, 15534,
+ 12477, 13483, 14903, 9127, 8,
+ 12477, 13483, 14903, 9127, 9, 10595, 19389, 7256,
+ 12477, 13483, 14903, 9127, 28,
+ 12477, 13483, 14903, 9127, 29, 10595, 15534,
+ 12477, 13483, 14903, 9127, 29, 10595, 19389, 7256,
+ 12477, 13483, 14903, 9127, 480,
+ 12477, 13483, 14903, 9423, 7268,
+ 12477, 13483, 14903, 10079, 16134,
+ 12477, 13483, 14903, 10173, 3056,
+ 12477, 13483, 14903, 10173, 3336,
+ 12477, 13483, 14903, 10173, 6720,
+ 12477, 13483, 14903, 10484,
+ 12477, 13483, 14903, 10766,
+ 12477, 13483, 14903, 11388,
+ 12477, 13483, 14903, 11389, 10595, 19389, 7256,
+ 12477, 13483, 14903, 11832,
+ 12477, 13483, 14903, 12094,
+ 12477, 13483, 14903, 12493, 10,
+ 12477, 13483, 14903, 13078,
+ 12477, 13483, 14903, 13335, 3656,
+ 12477, 13483, 14903, 13358,
+ 12477, 13483, 14903, 13359, 10595, 7256,
+ 12477, 13483, 14903, 13359, 10595, 19389, 7256,
+ 12477, 13483, 14903, 13393, 36,
+ 12477, 13483, 14903, 13517, 18367, 1312,
+ 12477, 13483, 14903, 13652,
+ 12477, 13483, 14903, 13653, 10595, 15534,
+ 12477, 13483, 14903, 13653, 10595, 15535, 17231, 18870,
+ 12477, 13483, 14903, 14271, 8,
+ 12477, 13483, 14903, 14271, 28,
+ 12477, 13483, 14903, 14271, 11388,
+ 12477, 13483, 14903, 14307, 7087, 28,
+ 12477, 13483, 14903, 14323, 22,
+ 12477, 13483, 14903, 14407, 9127, 8,
+ 12477, 13483, 14903, 14407, 13078,
+ 12477, 13483, 14903, 14407, 18367, 9127, 8,
+ 12477, 13483, 14903, 14533, 34,
+ 12477, 13483, 14903, 14533, 35, 10595, 20822,
+ 12477, 13483, 14903, 14881, 10595, 15534,
+ 12477, 13483, 14903, 15397, 12,
+ 12477, 13483, 14903, 15397, 13, 10595, 20822,
+ 12477, 13483, 14903, 15397, 34,
+ 12477, 13483, 14903, 15397, 35, 10595, 9456,
+ 12477, 13483, 14903, 15701, 0,
+ 12477, 13483, 14903, 15701, 8,
+ 12477, 13483, 14903, 15701, 12,
+ 12477, 13483, 14903, 15701, 14,
+ 12477, 13483, 14903, 15701, 15, 10595, 17908,
+ 12477, 13483, 14903, 15701, 15, 10595, 17909, 841, 10046,
+ 12477, 13483, 14903, 15701, 16,
+ 12477, 13483, 14903, 15701, 20,
+ 12477, 13483, 14903, 15701, 22,
+ 12477, 13483, 14903, 15701, 24,
+ 12477, 13483, 14903, 15701, 25, 10595, 7845, 2096,
+ 12477, 13483, 14903, 15701, 29, 15152,
+ 12477, 13483, 14903, 15701, 29, 15153, 10595, 15534,
+ 12477, 13483, 14903, 15701, 34,
+ 12477, 13483, 14903, 15701, 35, 10595, 7256,
+ 12477, 13483, 14903, 15701, 35, 10595, 7845, 2096,
+ 12477, 13483, 14903, 15701, 35, 10595, 10046,
+ 12477, 13483, 14903, 15701, 38,
+ 12477, 13483, 14903, 15701, 42,
+ 12477, 13483, 14903, 15701, 44,
+ 12477, 13483, 14903, 15701, 48,
+ 12477, 13483, 14903, 15701, 66,
+ 12477, 13483, 14903, 15701, 480,
+ 12477, 13483, 14903, 15701, 481, 10595, 15534,
+ 12477, 13483, 14903, 15701, 481, 10595, 19973, 15534,
+ 12477, 13483, 14903, 15701, 658,
+ 12477, 13483, 14903, 15701, 9127, 8,
+ 12477, 13483, 14903, 15701, 11388,
+ 12477, 13483, 14903, 15701, 11832,
+ 12477, 13483, 14903, 15701, 16403, 12,
+ 12477, 13483, 14903, 16159, 16,
+ 12477, 13483, 14903, 16159, 18,
+ 12477, 13483, 14903, 16159, 19, 10595, 15534,
+ 12477, 13483, 14903, 16159, 19, 10595, 15535, 841, 7256,
+ 12477, 13483, 14903, 16327, 9910,
+ 12477, 13483, 14903, 16403, 6,
+ 12477, 13483, 14903, 16403, 10,
+ 12477, 13483, 14903, 16403, 12,
+ 12477, 13483, 14903, 16403, 34,
+ 12477, 13483, 14903, 16403, 36,
+ 12477, 13483, 14903, 16403, 38,
+ 12477, 13483, 14903, 17161, 34,
+ 12477, 13483, 14903, 17316,
+ 12477, 13483, 14903, 17317, 10595, 15534,
+ 12477, 13483, 14903, 17353, 66,
+ 12477, 13483, 14903, 17353, 480,
+ 12477, 13483, 14903, 17353, 654,
+ 12477, 13483, 14903, 17519, 1312,
+ 12477, 13483, 14903, 18017, 480,
+ 12477, 13483, 14903, 18017, 11388,
+ 12477, 13483, 14903, 18019, 8,
+ 12477, 13483, 14903, 18367, 4,
+ 12477, 13483, 14903, 18367, 5, 10595, 1212,
+ 12477, 13483, 14903, 18367, 8,
+ 12477, 13483, 14903, 18367, 35, 10595, 17908,
+ 12477, 13483, 14903, 18367, 9127, 8,
+ 12477, 13483, 14903, 18367, 9127, 9, 10595, 7256,
+ 12477, 13483, 14903, 18367, 9127, 9, 10595, 19389, 7256,
+ 12477, 13483, 14903, 18382,
+ 12477, 13483, 14903, 18423, 28,
+ 12477, 13483, 14903, 18423, 29, 10595, 15534,
+ 12477, 13483, 14903, 18423, 40,
+ 12477, 13483, 14903, 18423, 9127, 28,
+ 12477, 13483, 14903, 18423, 15701, 24,
+ 12477, 13483, 14903, 18423, 20389, 40,
+ 12477, 13483, 14903, 18543, 2664,
+ 12477, 13483, 14903, 18594,
+ 12477, 13483, 14903, 18848,
+ 12477, 13483, 14903, 18849, 10595, 11708,
+ 12477, 13483, 14903, 20291, 50,
+ 12477, 13483, 14903, 20335, 8,
+ 12477, 13483, 14903, 20335, 28,
+ 12477, 13483, 14903, 20335, 29, 10595, 15534,
+ 12477, 13483, 14903, 20931, 42,
+ 12477, 13483, 14903, 20931, 394,
+ 12477, 13483, 14903, 21093, 824,
+ 12477, 13483, 14903, 21093, 5220,
+ 12477, 13483, 15993, 14903, 17, 10595, 15534,
+ 12477, 13483, 15993, 14903, 41, 10595, 15534,
+ 12477, 13483, 18079, 228,
+ 12477, 13483, 18079, 230,
+ 12477, 13483, 18079, 232,
+ 12477, 13483, 18079, 308,
+ 12477, 13483, 18079, 480,
+ 12477, 13483, 18079, 608,
+ 12477, 13483, 18079, 1364,
+ 12477, 13483, 18079, 1366,
+ 12477, 13483, 18079, 7845, 37, 38,
+ 12477, 14903, 742,
+ 12477, 14903, 824,
+ 12477, 14903, 3337, 10595, 15534,
+ 12477, 14903, 10616,
+ 12477, 14903, 13483, 15993, 0,
+ 12477, 14903, 13483, 15993, 2,
+ 12477, 14903, 13483, 15993, 4,
+ 12477, 14903, 13483, 15993, 6,
+ 12477, 14903, 13483, 15993, 8,
+ 12477, 14903, 13483, 15993, 10,
+ 12477, 14903, 13483, 15993, 12,
+ 12477, 14903, 13483, 15993, 13, 10595, 7256,
+ 12477, 14903, 13483, 15993, 14,
+ 12477, 14903, 13483, 15993, 16,
+ 12477, 14903, 13483, 15993, 18,
+ 12477, 14903, 13483, 15993, 20,
+ 12477, 14903, 13483, 15993, 22,
+ 12477, 14903, 13483, 15993, 23, 10595, 15534,
+ 12477, 14903, 13483, 15993, 24,
+ 12477, 14903, 13483, 15993, 26,
+ 12477, 14903, 13483, 15993, 28,
+ 12477, 14903, 13483, 15993, 30,
+ 12477, 14903, 13483, 15993, 34,
+ 12477, 14903, 13483, 15993, 35, 10595, 13271, 2096,
+ 12477, 14903, 13483, 15993, 36,
+ 12477, 14903, 13483, 15993, 38,
+ 12477, 14903, 13483, 15993, 40,
+ 12477, 14903, 13483, 15993, 42,
+ 12477, 14903, 13483, 15993, 44,
+ 12477, 14903, 13483, 15993, 48,
+ 12477, 14903, 13483, 15993, 50,
+ 12477, 14903, 13483, 15993, 66,
+ 12477, 14903, 13483, 15993, 480,
+ 12477, 14903, 13483, 15993, 508,
+ 12477, 14903, 13483, 15993, 1322,
+ 12477, 14903, 13483, 15993, 1334,
+ 12477, 14903, 13483, 15993, 2954,
+ 12477, 14903, 13483, 15993, 9127, 28,
+ 12477, 14903, 13483, 15993, 14271, 2,
+ 12477, 14903, 13483, 15993, 15701, 8,
+ 12477, 14903, 13483, 15993, 15701, 24,
+ 12477, 14903, 13483, 15993, 15701, 34,
+ 12477, 14903, 13483, 15993, 18017, 34,
+ 12477, 14903, 13483, 15993, 18367, 26,
+ 12477, 14903, 13483, 15993, 18367, 34,
+ 12477, 14903, 14475, 11686,
+ 12477, 14903, 15761, 19205, 17132,
+ 12477, 14903, 16327, 9910,
+ 12477, 14903, 16327, 9911, 10595, 15534,
+ 12477, 14903, 16579, 11686,
+ 12477, 14903, 17455, 11686,
+ 12477, 14903, 17531, 20106,
+ 12477, 14903, 17533, 11686,
+ 12477, 14903, 17533, 20106,
+ 12477, 14903, 18017, 16327, 9910,
+ 12477, 14903, 18017, 16327, 9911, 10595, 15534,
+ 12477, 14903, 18367, 1313, 7850,
+ 12477, 14903, 18367, 16327, 9911, 10595, 15534,
+ 12477, 14903, 19389, 11686,
+ 12477, 14903, 19461, 4,
+ 12477, 14903, 20111, 15761, 19090,
+ 12477, 14903, 20701, 1212,
+ 12477, 15993, 14903, 0,
+ 12477, 15993, 14903, 1, 10595, 1213, 11346,
+ 12477, 15993, 14903, 1, 10595, 1213, 11347, 841, 14952,
+ 12477, 15993, 14903, 1, 10595, 1213, 11502,
+ 12477, 15993, 14903, 1, 10595, 7257, 11346,
+ 12477, 15993, 14903, 1, 10595, 9457, 11346,
+ 12477, 15993, 14903, 1, 10595, 9457, 11347, 841, 11348,
+ 12477, 15993, 14903, 1, 10595, 9457, 11502,
+ 12477, 15993, 14903, 1, 10595, 11348,
+ 12477, 15993, 14903, 1, 10595, 11546,
+ 12477, 15993, 14903, 1, 10595, 11547, 841, 1213, 11502,
+ 12477, 15993, 14903, 1, 10595, 11547, 841, 7257, 11346,
+ 12477, 15993, 14903, 1, 10595, 11547, 841, 11348,
+ 12477, 15993, 14903, 1, 10595, 11547, 841, 12168,
+ 12477, 15993, 14903, 1, 10595, 11547, 841, 13676,
+ 12477, 15993, 14903, 1, 10595, 11604,
+ 12477, 15993, 14903, 1, 10595, 12168,
+ 12477, 15993, 14903, 1, 10595, 13676,
+ 12477, 15993, 14903, 1, 10595, 14533, 12168,
+ 12477, 15993, 14903, 1, 10595, 14952,
+ 12477, 15993, 14903, 1, 10595, 15146,
+ 12477, 15993, 14903, 1, 10595, 15534,
+ 12477, 15993, 14903, 1, 10595, 18017, 11546,
+ 12477, 15993, 14903, 1, 10595, 18872,
+ 12477, 15993, 14903, 1, 10595, 18873, 841, 14952,
+ 12477, 15993, 14903, 1, 10595, 19716,
+ 12477, 15993, 14903, 1, 10595, 19717, 841, 1213, 11502,
+ 12477, 15993, 14903, 1, 10595, 19717, 841, 7257, 11346,
+ 12477, 15993, 14903, 1, 10595, 19717, 841, 11348,
+ 12477, 15993, 14903, 1, 10595, 19717, 841, 12168,
+ 12477, 15993, 14903, 1, 10595, 19717, 841, 13676,
+ 12477, 15993, 14903, 2,
+ 12477, 15993, 14903, 3, 10595, 1213, 11346,
+ 12477, 15993, 14903, 3, 10595, 1213, 11502,
+ 12477, 15993, 14903, 3, 10595, 7256,
+ 12477, 15993, 14903, 3, 10595, 7817, 11502,
+ 12477, 15993, 14903, 3, 10595, 15534,
+ 12477, 15993, 14903, 3, 10595, 15668,
+ 12477, 15993, 14903, 3, 10595, 17914,
+ 12477, 15993, 14903, 4,
+ 12477, 15993, 14903, 5, 10595, 894,
+ 12477, 15993, 14903, 5, 10595, 1213, 11346,
+ 12477, 15993, 14903, 5, 10595, 7256,
+ 12477, 15993, 14903, 5, 10595, 11348,
+ 12477, 15993, 14903, 5, 10595, 11604,
+ 12477, 15993, 14903, 5, 10595, 15534,
+ 12477, 15993, 14903, 5, 10595, 16002,
+ 12477, 15993, 14903, 5, 10595, 16003, 841, 11348,
+ 12477, 15993, 14903, 5, 10595, 19716,
+ 12477, 15993, 14903, 6,
+ 12477, 15993, 14903, 7, 10595, 1213, 11346,
+ 12477, 15993, 14903, 7, 10595, 1213, 11502,
+ 12477, 15993, 14903, 7, 10595, 7256,
+ 12477, 15993, 14903, 7, 10595, 7817, 11502,
+ 12477, 15993, 14903, 7, 10595, 11604,
+ 12477, 15993, 14903, 7, 10595, 13483, 14903, 50,
+ 12477, 15993, 14903, 7, 10595, 13483, 14903, 51, 10595, 11604,
+ 12477, 15993, 14903, 7, 10595, 15534,
+ 12477, 15993, 14903, 7, 10595, 15668,
+ 12477, 15993, 14903, 7, 10595, 16002,
+ 12477, 15993, 14903, 7, 10595, 19717, 11502,
+ 12477, 15993, 14903, 8,
+ 12477, 15993, 14903, 9, 10595, 1213, 11346,
+ 12477, 15993, 14903, 9, 10595, 1213, 11502,
+ 12477, 15993, 14903, 9, 10595, 7257, 11346,
+ 12477, 15993, 14903, 9, 10595, 11348,
+ 12477, 15993, 14903, 9, 10595, 11546,
+ 12477, 15993, 14903, 9, 10595, 11604,
+ 12477, 15993, 14903, 9, 10595, 12168,
+ 12477, 15993, 14903, 9, 10595, 13676,
+ 12477, 15993, 14903, 9, 10595, 13677, 11502,
+ 12477, 15993, 14903, 9, 10595, 14533, 12168,
+ 12477, 15993, 14903, 9, 10595, 14952,
+ 12477, 15993, 14903, 9, 10595, 14953, 841, 11348,
+ 12477, 15993, 14903, 9, 10595, 14953, 841, 12168,
+ 12477, 15993, 14903, 9, 10595, 15146,
+ 12477, 15993, 14903, 9, 10595, 15534,
+ 12477, 15993, 14903, 9, 10595, 16002,
+ 12477, 15993, 14903, 9, 10595, 16003, 841, 11546,
+ 12477, 15993, 14903, 9, 10595, 18017, 11546,
+ 12477, 15993, 14903, 9, 10595, 18872,
+ 12477, 15993, 14903, 9, 10595, 19716,
+ 12477, 15993, 14903, 9, 10595, 19717, 841, 1213, 11502,
+ 12477, 15993, 14903, 9, 10595, 19717, 841, 7257, 11346,
+ 12477, 15993, 14903, 9, 10595, 19717, 841, 11348,
+ 12477, 15993, 14903, 9, 10595, 19717, 841, 12168,
+ 12477, 15993, 14903, 9, 10595, 19717, 841, 13676,
+ 12477, 15993, 14903, 9, 10595, 19717, 11502,
+ 12477, 15993, 14903, 10,
+ 12477, 15993, 14903, 11, 10595, 1213, 11346,
+ 12477, 15993, 14903, 11, 10595, 7256,
+ 12477, 15993, 14903, 11, 10595, 15534,
+ 12477, 15993, 14903, 12,
+ 12477, 15993, 14903, 13, 10595, 1213, 11346,
+ 12477, 15993, 14903, 13, 10595, 7256,
+ 12477, 15993, 14903, 13, 10595, 11348,
+ 12477, 15993, 14903, 13, 10595, 11546,
+ 12477, 15993, 14903, 13, 10595, 11604,
+ 12477, 15993, 14903, 13, 10595, 14952,
+ 12477, 15993, 14903, 13, 10595, 15534,
+ 12477, 15993, 14903, 13, 10595, 16002,
+ 12477, 15993, 14903, 13, 10595, 16783, 15534,
+ 12477, 15993, 14903, 13, 10595, 19716,
+ 12477, 15993, 14903, 14,
+ 12477, 15993, 14903, 15, 10595, 1213, 11346,
+ 12477, 15993, 14903, 15, 10595, 1213, 11502,
+ 12477, 15993, 14903, 15, 10595, 7256,
+ 12477, 15993, 14903, 15, 10595, 11547, 11502,
+ 12477, 15993, 14903, 15, 10595, 11604,
+ 12477, 15993, 14903, 15, 10595, 15534,
+ 12477, 15993, 14903, 15, 10595, 16002,
+ 12477, 15993, 14903, 15, 10595, 18870,
+ 12477, 15993, 14903, 15, 10595, 18872,
+ 12477, 15993, 14903, 15, 10595, 19716,
+ 12477, 15993, 14903, 16,
+ 12477, 15993, 14903, 17, 10595, 1213, 11346,
+ 12477, 15993, 14903, 17, 10595, 1213, 11502,
+ 12477, 15993, 14903, 17, 10595, 7257, 11346,
+ 12477, 15993, 14903, 17, 10595, 11348,
+ 12477, 15993, 14903, 17, 10595, 11546,
+ 12477, 15993, 14903, 17, 10595, 11604,
+ 12477, 15993, 14903, 17, 10595, 12168,
+ 12477, 15993, 14903, 17, 10595, 13676,
+ 12477, 15993, 14903, 17, 10595, 13677, 11502,
+ 12477, 15993, 14903, 17, 10595, 14533, 12168,
+ 12477, 15993, 14903, 17, 10595, 14952,
+ 12477, 15993, 14903, 17, 10595, 15146,
+ 12477, 15993, 14903, 17, 10595, 15534,
+ 12477, 15993, 14903, 17, 10595, 18017, 11546,
+ 12477, 15993, 14903, 17, 10595, 18872,
+ 12477, 15993, 14903, 17, 10595, 18873, 841, 11348,
+ 12477, 15993, 14903, 17, 10595, 19716,
+ 12477, 15993, 14903, 18,
+ 12477, 15993, 14903, 19, 10595, 15534,
+ 12477, 15993, 14903, 19, 10595, 19716,
+ 12477, 15993, 14903, 19, 10595, 20822,
+ 12477, 15993, 14903, 20,
+ 12477, 15993, 14903, 21, 10595, 1213, 11502,
+ 12477, 15993, 14903, 21, 10595, 7256,
+ 12477, 15993, 14903, 21, 10595, 7817, 11502,
+ 12477, 15993, 14903, 21, 10595, 11348,
+ 12477, 15993, 14903, 21, 10595, 11604,
+ 12477, 15993, 14903, 21, 10595, 15534,
+ 12477, 15993, 14903, 21, 10595, 15535, 841, 17687, 15534,
+ 12477, 15993, 14903, 21, 10595, 16002,
+ 12477, 15993, 14903, 21, 10595, 16783, 15534,
+ 12477, 15993, 14903, 21, 10595, 17687, 15534,
+ 12477, 15993, 14903, 21, 10595, 18870,
+ 12477, 15993, 14903, 22,
+ 12477, 15993, 14903, 23, 10595, 894,
+ 12477, 15993, 14903, 23, 10595, 1213, 11502,
+ 12477, 15993, 14903, 23, 10595, 1213, 11503, 841, 14952,
+ 12477, 15993, 14903, 23, 10595, 5782,
+ 12477, 15993, 14903, 23, 10595, 7135, 15534,
+ 12477, 15993, 14903, 23, 10595, 7817, 11502,
+ 12477, 15993, 14903, 23, 10595, 11348,
+ 12477, 15993, 14903, 23, 10595, 11604,
+ 12477, 15993, 14903, 23, 10595, 13483, 14903, 18,
+ 12477, 15993, 14903, 23, 10595, 14533, 894,
+ 12477, 15993, 14903, 23, 10595, 15021, 1212,
+ 12477, 15993, 14903, 23, 10595, 15021, 13676,
+ 12477, 15993, 14903, 23, 10595, 15534,
+ 12477, 15993, 14903, 23, 10595, 16002,
+ 12477, 15993, 14903, 23, 10595, 19717, 11502,
+ 12477, 15993, 14903, 24,
+ 12477, 15993, 14903, 25, 10595, 1213, 11346,
+ 12477, 15993, 14903, 25, 10595, 1213, 11502,
+ 12477, 15993, 14903, 25, 10595, 7256,
+ 12477, 15993, 14903, 25, 10595, 11348,
+ 12477, 15993, 14903, 26,
+ 12477, 15993, 14903, 27, 10595, 1213, 11346,
+ 12477, 15993, 14903, 27, 10595, 1213, 11502,
+ 12477, 15993, 14903, 27, 10595, 7779, 7256,
+ 12477, 15993, 14903, 27, 10595, 7817, 11502,
+ 12477, 15993, 14903, 27, 10595, 7845, 13271, 2096,
+ 12477, 15993, 14903, 27, 10595, 11348,
+ 12477, 15993, 14903, 27, 10595, 11604,
+ 12477, 15993, 14903, 27, 10595, 12168,
+ 12477, 15993, 14903, 27, 10595, 13483, 14903, 18,
+ 12477, 15993, 14903, 27, 10595, 13676,
+ 12477, 15993, 14903, 27, 10595, 16002,
+ 12477, 15993, 14903, 27, 10595, 16783, 15534,
+ 12477, 15993, 14903, 27, 10595, 18870,
+ 12477, 15993, 14903, 27, 10595, 19717, 11502,
+ 12477, 15993, 14903, 28,
+ 12477, 15993, 14903, 29, 10595, 1213, 11346,
+ 12477, 15993, 14903, 29, 10595, 1213, 11347, 841, 14952,
+ 12477, 15993, 14903, 29, 10595, 1213, 11502,
+ 12477, 15993, 14903, 29, 10595, 7257, 11346,
+ 12477, 15993, 14903, 29, 10595, 7268,
+ 12477, 15993, 14903, 29, 10595, 7269, 841, 1213, 11502,
+ 12477, 15993, 14903, 29, 10595, 7269, 841, 7257, 11346,
+ 12477, 15993, 14903, 29, 10595, 7269, 841, 11348,
+ 12477, 15993, 14903, 29, 10595, 7269, 841, 12168,
+ 12477, 15993, 14903, 29, 10595, 7269, 841, 13676,
+ 12477, 15993, 14903, 29, 10595, 7845, 15535, 16820,
+ 12477, 15993, 14903, 29, 10595, 7850,
+ 12477, 15993, 14903, 29, 10595, 11348,
+ 12477, 15993, 14903, 29, 10595, 11546,
+ 12477, 15993, 14903, 29, 10595, 11604,
+ 12477, 15993, 14903, 29, 10595, 12168,
+ 12477, 15993, 14903, 29, 10595, 13676,
+ 12477, 15993, 14903, 29, 10595, 13677, 841, 11348,
+ 12477, 15993, 14903, 29, 10595, 13677, 841, 14952,
+ 12477, 15993, 14903, 29, 10595, 13677, 841, 18872,
+ 12477, 15993, 14903, 29, 10595, 14533, 11348,
+ 12477, 15993, 14903, 29, 10595, 14533, 12168,
+ 12477, 15993, 14903, 29, 10595, 14952,
+ 12477, 15993, 14903, 29, 10595, 14953, 841, 11348,
+ 12477, 15993, 14903, 29, 10595, 14953, 841, 12168,
+ 12477, 15993, 14903, 29, 10595, 15021, 13676,
+ 12477, 15993, 14903, 29, 10595, 15146,
+ 12477, 15993, 14903, 29, 10595, 15147, 841, 14952,
+ 12477, 15993, 14903, 29, 10595, 15534,
+ 12477, 15993, 14903, 29, 10595, 15535, 841, 11348,
+ 12477, 15993, 14903, 29, 10595, 18017, 11546,
+ 12477, 15993, 14903, 29, 10595, 18872,
+ 12477, 15993, 14903, 29, 10595, 18873, 841, 14952,
+ 12477, 15993, 14903, 29, 10595, 19716,
+ 12477, 15993, 14903, 29, 10595, 19717, 841, 1213, 11502,
+ 12477, 15993, 14903, 29, 10595, 19717, 841, 7257, 11346,
+ 12477, 15993, 14903, 29, 10595, 19717, 841, 11348,
+ 12477, 15993, 14903, 29, 10595, 19717, 841, 12168,
+ 12477, 15993, 14903, 29, 10595, 19717, 841, 13676,
+ 12477, 15993, 14903, 30,
+ 12477, 15993, 14903, 31, 10595, 1213, 11346,
+ 12477, 15993, 14903, 31, 10595, 7256,
+ 12477, 15993, 14903, 31, 10595, 11348,
+ 12477, 15993, 14903, 31, 10595, 15534,
+ 12477, 15993, 14903, 31, 10595, 15535, 17231, 18870,
+ 12477, 15993, 14903, 31, 10595, 17914,
+ 12477, 15993, 14903, 31, 10595, 18459, 10046,
+ 12477, 15993, 14903, 32,
+ 12477, 15993, 14903, 33, 10595, 15535, 17231, 18870,
+ 12477, 15993, 14903, 33, 10595, 17687, 15534,
+ 12477, 15993, 14903, 34,
+ 12477, 15993, 14903, 35, 10595, 1213, 11346,
+ 12477, 15993, 14903, 35, 10595, 1213, 11502,
+ 12477, 15993, 14903, 35, 10595, 1213, 11503, 841, 14952,
+ 12477, 15993, 14903, 35, 10595, 7817, 11502,
+ 12477, 15993, 14903, 35, 10595, 10046,
+ 12477, 15993, 14903, 35, 10595, 11348,
+ 12477, 15993, 14903, 35, 10595, 11604,
+ 12477, 15993, 14903, 35, 10595, 14533, 12168,
+ 12477, 15993, 14903, 35, 10595, 15534,
+ 12477, 15993, 14903, 35, 10595, 16002,
+ 12477, 15993, 14903, 35, 10595, 16783, 15534,
+ 12477, 15993, 14903, 35, 10595, 18017, 11546,
+ 12477, 15993, 14903, 35, 17008,
+ 12477, 15993, 14903, 36,
+ 12477, 15993, 14903, 37, 10595, 1213, 11346,
+ 12477, 15993, 14903, 37, 10595, 1213, 11502,
+ 12477, 15993, 14903, 37, 10595, 1213, 11503, 841, 1213, 11346,
+ 12477, 15993, 14903, 37, 10595, 11348,
+ 12477, 15993, 14903, 37, 10595, 11349, 841, 1213, 11346,
+ 12477, 15993, 14903, 37, 10595, 11604,
+ 12477, 15993, 14903, 37, 10595, 11605, 841, 1213, 11346,
+ 12477, 15993, 14903, 37, 10595, 11709, 11502,
+ 12477, 15993, 14903, 37, 10595, 13571, 10046,
+ 12477, 15993, 14903, 37, 10595, 16002,
+ 12477, 15993, 14903, 37, 10595, 16783, 15534,
+ 12477, 15993, 14903, 37, 10595, 19716,
+ 12477, 15993, 14903, 38,
+ 12477, 15993, 14903, 39, 10595, 1213, 11346,
+ 12477, 15993, 14903, 39, 10595, 1213, 11502,
+ 12477, 15993, 14903, 39, 10595, 7256,
+ 12477, 15993, 14903, 39, 10595, 7817, 11502,
+ 12477, 15993, 14903, 39, 10595, 11604,
+ 12477, 15993, 14903, 39, 10595, 11709, 11502,
+ 12477, 15993, 14903, 39, 10595, 15534,
+ 12477, 15993, 14903, 39, 10595, 16002,
+ 12477, 15993, 14903, 39, 10595, 17687, 15534,
+ 12477, 15993, 14903, 39, 10595, 19389, 7256,
+ 12477, 15993, 14903, 39, 10595, 19717, 11502,
+ 12477, 15993, 14903, 40,
+ 12477, 15993, 14903, 41, 894,
+ 12477, 15993, 14903, 41, 10595, 1213, 11502,
+ 12477, 15993, 14903, 41, 10595, 7257, 11346,
+ 12477, 15993, 14903, 41, 10595, 7268,
+ 12477, 15993, 14903, 41, 10595, 7269, 841, 1213, 11502,
+ 12477, 15993, 14903, 41, 10595, 7269, 841, 7257, 11346,
+ 12477, 15993, 14903, 41, 10595, 7269, 841, 11348,
+ 12477, 15993, 14903, 41, 10595, 7269, 841, 12168,
+ 12477, 15993, 14903, 41, 10595, 7269, 841, 13676,
+ 12477, 15993, 14903, 41, 10595, 9457, 11346,
+ 12477, 15993, 14903, 41, 10595, 11348,
+ 12477, 15993, 14903, 41, 10595, 11546,
+ 12477, 15993, 14903, 41, 10595, 11604,
+ 12477, 15993, 14903, 41, 10595, 12168,
+ 12477, 15993, 14903, 41, 10595, 13676,
+ 12477, 15993, 14903, 41, 10595, 13677, 841, 11348,
+ 12477, 15993, 14903, 41, 10595, 13677, 11502,
+ 12477, 15993, 14903, 41, 10595, 14533, 11348,
+ 12477, 15993, 14903, 41, 10595, 14533, 12168,
+ 12477, 15993, 14903, 41, 10595, 14952,
+ 12477, 15993, 14903, 41, 10595, 14953, 841, 18872,
+ 12477, 15993, 14903, 41, 10595, 15146,
+ 12477, 15993, 14903, 41, 10595, 18017, 11546,
+ 12477, 15993, 14903, 41, 10595, 18872,
+ 12477, 15993, 14903, 41, 10595, 18873, 841, 11348,
+ 12477, 15993, 14903, 41, 10595, 18873, 841, 11604,
+ 12477, 15993, 14903, 41, 10595, 18873, 841, 12168,
+ 12477, 15993, 14903, 41, 10595, 18873, 841, 14952,
+ 12477, 15993, 14903, 41, 10595, 18873, 11502,
+ 12477, 15993, 14903, 41, 10595, 19716,
+ 12477, 15993, 14903, 41, 10595, 19717, 11502,
+ 12477, 15993, 14903, 42,
+ 12477, 15993, 14903, 43, 10595, 1213, 11502,
+ 12477, 15993, 14903, 43, 10595, 7256,
+ 12477, 15993, 14903, 43, 10595, 13676,
+ 12477, 15993, 14903, 43, 10595, 17687, 15534,
+ 12477, 15993, 14903, 44,
+ 12477, 15993, 14903, 45, 10595, 1213, 11346,
+ 12477, 15993, 14903, 45, 10595, 1213, 11502,
+ 12477, 15993, 14903, 45, 10595, 7256,
+ 12477, 15993, 14903, 45, 10595, 11348,
+ 12477, 15993, 14903, 45, 10595, 12168,
+ 12477, 15993, 14903, 45, 10595, 18872,
+ 12477, 15993, 14903, 45, 10595, 19716,
+ 12477, 15993, 14903, 46,
+ 12477, 15993, 14903, 47, 10595, 1213, 11346,
+ 12477, 15993, 14903, 47, 10595, 18872,
+ 12477, 15993, 14903, 48,
+ 12477, 15993, 14903, 49, 10595, 1213, 11346,
+ 12477, 15993, 14903, 49, 10595, 1213, 11502,
+ 12477, 15993, 14903, 49, 10595, 7256,
+ 12477, 15993, 14903, 49, 10595, 7257, 11346,
+ 12477, 15993, 14903, 49, 10595, 7850,
+ 12477, 15993, 14903, 49, 10595, 11348,
+ 12477, 15993, 14903, 49, 10595, 12168,
+ 12477, 15993, 14903, 49, 10595, 13676,
+ 12477, 15993, 14903, 49, 10595, 14952,
+ 12477, 15993, 14903, 49, 10595, 15534,
+ 12477, 15993, 14903, 49, 10595, 18872,
+ 12477, 15993, 14903, 49, 10595, 19716,
+ 12477, 15993, 14903, 50,
+ 12477, 15993, 14903, 51, 10595, 1213, 11346,
+ 12477, 15993, 14903, 51, 10595, 1213, 11502,
+ 12477, 15993, 14903, 51, 10595, 7256,
+ 12477, 15993, 14903, 51, 10595, 7817, 11502,
+ 12477, 15993, 14903, 51, 10595, 11348,
+ 12477, 15993, 14903, 51, 10595, 11604,
+ 12477, 15993, 14903, 51, 10595, 13571, 10046,
+ 12477, 15993, 14903, 51, 10595, 15534,
+ 12477, 15993, 14903, 51, 10595, 18870,
+ 12477, 15993, 14903, 51, 10595, 19716,
+ 12477, 15993, 14903, 58,
+ 12477, 15993, 14903, 66,
+ 12477, 15993, 14903, 67, 10595, 11348,
+ 12477, 15993, 14903, 67, 10595, 14952,
+ 12477, 15993, 14903, 82,
+ 12477, 15993, 14903, 94,
+ 12477, 15993, 14903, 96,
+ 12477, 15993, 14903, 97, 10595, 19973, 894,
+ 12477, 15993, 14903, 102,
+ 12477, 15993, 14903, 172,
+ 12477, 15993, 14903, 173, 10595, 11604,
+ 12477, 15993, 14903, 212,
+ 12477, 15993, 14903, 324,
+ 12477, 15993, 14903, 392,
+ 12477, 15993, 14903, 460,
+ 12477, 15993, 14903, 486,
+ 12477, 15993, 14903, 496,
+ 12477, 15993, 14903, 508,
+ 12477, 15993, 14903, 642,
+ 12477, 15993, 14903, 690,
+ 12477, 15993, 14903, 1044,
+ 12477, 15993, 14903, 1072,
+ 12477, 15993, 14903, 1294,
+ 12477, 15993, 14903, 1312,
+ 12477, 15993, 14903, 1322,
+ 12477, 15993, 14903, 1334,
+ 12477, 15993, 14903, 1335, 10595, 11604,
+ 12477, 15993, 14903, 1335, 18366,
+ 12477, 15993, 14903, 1486,
+ 12477, 15993, 14903, 2955, 17008,
+ 12477, 15993, 14903, 5788,
+ 12477, 15993, 14903, 7087, 14,
+ 12477, 15993, 14903, 7112,
+ 12477, 15993, 14903, 7402,
+ 12477, 15993, 14903, 9127, 8,
+ 12477, 15993, 14903, 9127, 28,
+ 12477, 15993, 14903, 10173, 3056,
+ 12477, 15993, 14903, 10173, 3336,
+ 12477, 15993, 14903, 10173, 6720,
+ 12477, 15993, 14903, 10484,
+ 12477, 15993, 14903, 10616,
+ 12477, 15993, 14903, 10766,
+ 12477, 15993, 14903, 11388,
+ 12477, 15993, 14903, 12094,
+ 12477, 15993, 14903, 12276,
+ 12477, 15993, 14903, 13078,
+ 12477, 15993, 14903, 13358,
+ 12477, 15993, 14903, 13393, 36,
+ 12477, 15993, 14903, 13483, 33, 10595, 7257, 10046,
+ 12477, 15993, 14903, 13652,
+ 12477, 15993, 14903, 13653, 10595, 15534,
+ 12477, 15993, 14903, 13653, 10595, 15535, 17231, 18870,
+ 12477, 15993, 14903, 14323, 22,
+ 12477, 15993, 14903, 15397, 12,
+ 12477, 15993, 14903, 15701, 0,
+ 12477, 15993, 14903, 15701, 14,
+ 12477, 15993, 14903, 15701, 20,
+ 12477, 15993, 14903, 15701, 22,
+ 12477, 15993, 14903, 15701, 24,
+ 12477, 15993, 14903, 15701, 38,
+ 12477, 15993, 14903, 15701, 42,
+ 12477, 15993, 14903, 15701, 11388,
+ 12477, 15993, 14903, 15701, 16403, 12,
+ 12477, 15993, 14903, 15855, 6,
+ 12477, 15993, 14903, 16327, 9910,
+ 12477, 15993, 14903, 16403, 6,
+ 12477, 15993, 14903, 16403, 10,
+ 12477, 15993, 14903, 16403, 12,
+ 12477, 15993, 14903, 16403, 34,
+ 12477, 15993, 14903, 16403, 36,
+ 12477, 15993, 14903, 16403, 38,
+ 12477, 15993, 14903, 17316,
+ 12477, 15993, 14903, 17353, 66,
+ 12477, 15993, 14903, 17353, 480,
+ 12477, 15993, 14903, 17353, 654,
+ 12477, 15993, 14903, 18367, 5, 10595, 1212,
+ 12477, 15993, 14903, 18367, 8,
+ 12477, 15993, 14903, 18367, 9127, 8,
+ 12477, 15993, 14903, 18382,
+ 12477, 15993, 14903, 18594,
+ 12477, 15993, 14903, 18848,
+ 12477, 15993, 14903, 18849, 10595, 11708,
+ 12477, 15993, 14903, 20291, 50,
+ 12477, 15993, 14903, 20931, 42,
+ 12477, 15993, 14903, 20931, 394,
+ 12477, 15993, 14903, 21093, 824,
+ 12477, 15993, 14903, 21093, 5220,
+ 12477, 15993, 18079, 308,
+ 12477, 15993, 18079, 480,
+ 12477, 19475, 13483, 14903, 0,
+ 12477, 19475, 13483, 14903, 8,
+ 12477, 19475, 13483, 14903, 14,
+ 12477, 19475, 13483, 14903, 16,
+ 12477, 19475, 13483, 14903, 18,
+ 12477, 19475, 13483, 14903, 20,
+ 12477, 19475, 13483, 14903, 22,
+ 12477, 19475, 13483, 14903, 24,
+ 12477, 19475, 13483, 14903, 26,
+ 12477, 19475, 13483, 14903, 28,
+ 12477, 19475, 13483, 14903, 30,
+ 12477, 19475, 13483, 14903, 34,
+ 12477, 19475, 13483, 14903, 36,
+ 12477, 19475, 13483, 14903, 38,
+ 12477, 19475, 13483, 14903, 40,
+ 12477, 19475, 13483, 14903, 42,
+ 12477, 19475, 13483, 14903, 46,
+ 12477, 19475, 13483, 14903, 13358,
+ 12477, 19917, 14903, 17, 12514,
+ 12477, 19917, 14903, 15895, 24,
+ 12477, 19917, 14903, 18017, 24,
+ 12477, 19917, 14903, 18367, 10,
+ 12477, 19917, 14903, 18367, 30,
+ 12477, 19917, 14903, 18423, 16,
+ 12488,
+ 12495, 15474,
+ 12496,
+ 12499, 3057, 15501, 17496,
+ 12499, 6721, 15501, 17496,
+ 12499, 6721, 16913, 11521, 9904,
+ 12499, 6743, 16913, 11521, 6094,
+ 12499, 6743, 16913, 11521, 9904,
+ 12499, 7779, 18585, 13407, 15971, 18220,
+ 12499, 9418,
+ 12499, 11643, 8282,
+ 12499, 11917, 15501, 17496,
+ 12499, 12173, 11718,
+ 12499, 13271, 18585, 13407, 15971, 18220,
+ 12499, 13380,
+ 12499, 13655, 16913, 11521, 9904,
+ 12499, 13965, 15512,
+ 12499, 15707, 16913, 11521, 9904,
+ 12499, 17022,
+ 12499, 18669, 894,
+ 12503, 9809, 2152,
+ 12503, 9809, 9634,
+ 12503, 9809, 19188,
+ 12503, 9809, 19260,
+ 12503, 11849, 2596,
+ 12503, 11849, 3056,
+ 12503, 11849, 3336,
+ 12503, 11849, 6720,
+ 12503, 11849, 6742,
+ 12503, 11849, 8736,
+ 12503, 11849, 10854,
+ 12503, 11849, 11916,
+ 12503, 11849, 13376,
+ 12503, 11849, 13654,
+ 12503, 13483, 14903, 348,
+ 12503, 13483, 14903, 382,
+ 12503, 13483, 14903, 414,
+ 12503, 13483, 14903, 446,
+ 12503, 13483, 14903, 520,
+ 12503, 13483, 14903, 570,
+ 12503, 13483, 14903, 620,
+ 12503, 13483, 14903, 2432,
+ 12503, 13483, 14903, 17466,
+ 12503, 13921, 9809, 0,
+ 12503, 13921, 9809, 8,
+ 12503, 13921, 9809, 16,
+ 12503, 13921, 9809, 28,
+ 12503, 13921, 9809, 40,
+ 12503, 13921, 9809, 72,
+ 12503, 13921, 9809, 94,
+ 12503, 13921, 9809, 184,
+ 12503, 13921, 9809, 496,
+ 12503, 14903, 106,
+ 12503, 14903, 124,
+ 12503, 14903, 148,
+ 12503, 14903, 244,
+ 12503, 14903, 266,
+ 12503, 14903, 334,
+ 12503, 14903, 348,
+ 12503, 14903, 382,
+ 12503, 14903, 414,
+ 12503, 14903, 446,
+ 12503, 14903, 520,
+ 12503, 14903, 570,
+ 12503, 14903, 586,
+ 12503, 14903, 620,
+ 12503, 14903, 692,
+ 12503, 14903, 732,
+ 12503, 14903, 930,
+ 12503, 14903, 1040,
+ 12503, 14903, 1160,
+ 12503, 14903, 1486,
+ 12503, 14903, 1786,
+ 12503, 14903, 1904,
+ 12503, 14903, 2432,
+ 12503, 14903, 2660,
+ 12503, 14903, 3030,
+ 12503, 14903, 3094,
+ 12503, 14903, 3222,
+ 12503, 14903, 3284,
+ 12503, 14903, 3646,
+ 12503, 14903, 7052,
+ 12503, 18335, 8282,
+ 12503, 19469, 14903, 570,
+ 12503, 19469, 14903, 692,
+ 12503, 19469, 14903, 732,
+ 12503, 20469, 8282,
+ 12503, 21223, 14902,
+ 12513, 18589, 9808,
+ 12525, 2597, 14543, 11528,
+ 12525, 2597, 16955, 11528,
+ 12525, 6721, 16237, 11528,
+ 12525, 7087, 11528,
+ 12525, 7087, 14396,
+ 12525, 7087, 16405, 13965, 14396,
+ 12525, 7779, 14434,
+ 12525, 7779, 15204,
+ 12525, 7779, 17923, 2652,
+ 12525, 7779, 18329, 17607, 856,
+ 12525, 7779, 18596,
+ 12525, 7779, 18751, 2652,
+ 12525, 7779, 20088,
+ 12525, 7779, 20987, 21057, 11428,
+ 12525, 11523, 18390,
+ 12525, 13271, 14429, 10595, 1212,
+ 12525, 13271, 15204,
+ 12525, 13271, 18329, 17607, 856,
+ 12525, 13271, 18407, 13965, 14396,
+ 12525, 13271, 18407, 13965, 15512,
+ 12525, 13271, 18596,
+ 12525, 13271, 20987, 18813, 11428,
+ 12525, 13271, 21091, 13965, 15512,
+ 12525, 13377, 16237, 11528,
+ 12525, 13655, 16237, 11528,
+ 12525, 13655, 18333, 11528,
+ 12589, 9808,
+ 12595, 7774,
+ 12626,
+ 12629, 16455, 11849, 2596,
+ 12629, 16455, 11849, 3056,
+ 12629, 16455, 11849, 3336,
+ 12629, 16455, 11849, 6720,
+ 12629, 16455, 11849, 6742,
+ 12629, 16455, 11849, 8736,
+ 12629, 16455, 11849, 11916,
+ 12629, 16455, 11849, 13376,
+ 12629, 16455, 11849, 13654,
+ 12629, 16455, 18519, 7877, 356,
+ 12629, 16455, 18519, 7879, 348,
+ 12629, 16455, 18519, 7881, 368,
+ 12629, 16455, 18519, 7883, 704,
+ 12629, 16455, 18519, 7885, 692,
+ 12629, 16455, 18519, 7887, 710,
+ 12629, 16455, 18519, 7889, 2302,
+ 12629, 16455, 18519, 7891, 2230,
+ 12629, 16455, 18519, 7893, 2336,
+ 12629, 16455, 18519, 7895, 114,
+ 12629, 16455, 18519, 7897, 106,
+ 12629, 16455, 18519, 7899, 120,
+ 12629, 16455, 18519, 7901, 16,
+ 12629, 16455, 18519, 7903, 0,
+ 12629, 16455, 18519, 7905, 40,
+ 12629, 16455, 18519, 7907, 158,
+ 12629, 16455, 18519, 7909, 148,
+ 12629, 16455, 18519, 7911, 168,
+ 12629, 16455, 18519, 7913, 596,
+ 12629, 16455, 18519, 7915, 586,
+ 12629, 16455, 18519, 7917, 610,
+ 12629, 16455, 18519, 7919, 628,
+ 12629, 16455, 18519, 7921, 620,
+ 12629, 16455, 18519, 7923, 640,
+ 12629, 16455, 18519, 7925, 390,
+ 12629, 16455, 18519, 7927, 382,
+ 12629, 16455, 18519, 7929, 404,
+ 12629, 16455, 18519, 7931, 338,
+ 12629, 16455, 18519, 7933, 334,
+ 12629, 16455, 18519, 7935, 342,
+ 12629, 16455, 18519, 7937, 736,
+ 12629, 16455, 18519, 7939, 732,
+ 12629, 16455, 18519, 7941, 744,
+ 12629, 16455, 18519, 7943, 230,
+ 12629, 16455, 18519, 7945, 224,
+ 12629, 16455, 18519, 7947, 238,
+ 12629, 16455, 18519, 7949, 2458,
+ 12629, 16455, 18519, 7951, 2384,
+ 12629, 16455, 18519, 7953, 2524,
+ 12629, 16455, 18519, 7955, 1598,
+ 12629, 16455, 18519, 7957, 266,
+ 12629, 16455, 18519, 7959, 1672,
+ 12629, 16455, 18519, 7961, 8682,
+ 12629, 16455, 18519, 7963, 7662,
+ 12629, 16455, 18519, 7965, 708,
+ 12629, 16455, 18519, 7967, 7278,
+ 12629, 16455, 18519, 7969, 8296,
+ 12629, 16455, 18519, 7971, 364,
+ 12629, 16455, 18519, 7973, 3558,
+ 12629, 16455, 18519, 7975, 544,
+ 12629, 16455, 18519, 7977, 526,
+ 12629, 16455, 18519, 7979, 1604,
+ 12629, 16455, 18519, 7981, 1626,
+ 12629, 16455, 18519, 7983, 2152,
+ 12629, 16455, 18519, 7985, 624,
+ 12629, 16455, 18519, 7987, 1452,
+ 12629, 16455, 18519, 7989, 8702,
+ 12629, 16455, 18519, 7991, 8904,
+ 12629, 16455, 18519, 7993, 2270,
+ 12629, 16455, 18519, 7995, 8936,
+ 12629, 16455, 18519, 7997, 3562,
+ 12629, 16455, 18519, 7999, 2254,
+ 12629, 16455, 18519, 8001, 340,
+ 12629, 16455, 18519, 8003, 2414,
+ 12629, 16455, 18519, 8005, 1886,
+ 12629, 16455, 18519, 8007, 538,
+ 12629, 16455, 18519, 8009, 8632,
+ 12629, 16455, 18519, 8011, 534,
+ 12629, 16455, 18519, 8013, 632,
+ 12629, 16455, 18519, 8015, 1458,
+ 12629, 16455, 18519, 8017, 6904,
+ 12629, 16455, 18519, 8019, 2256,
+ 12629, 16455, 18519, 8021, 386,
+ 12629, 16455, 18519, 8023, 1984,
+ 12629, 16455, 18519, 8025, 226,
+ 12629, 16455, 18519, 8027, 1966,
+ 12629, 16455, 18519, 8029, 684,
+ 12629, 16455, 18519, 8031, 1358,
+ 12629, 16455, 18519, 8033, 600,
+ 12629, 16455, 18519, 8035, 734,
+ 12629, 16455, 18519, 8037, 2648,
+ 12629, 16455, 18519, 8039, 8690,
+ 12629, 16455, 18519, 8041, 7104,
+ 12629, 16455, 18519, 8043, 2094,
+ 12629, 16455, 18519, 8045, 680,
+ 12629, 16455, 18519, 8047, 7845, 8684,
+ 12629, 16455, 18519, 8049, 1690,
+ 12629, 16455, 18519, 8051, 236,
+ 12629, 16455, 18519, 8053, 1148,
+ 12629, 16455, 18519, 8055, 8686,
+ 12629, 16455, 18519, 8057, 3206,
+ 12629, 16455, 18519, 8059, 1976,
+ 12629, 16455, 18519, 8061, 6896,
+ 12629, 16455, 18519, 8063, 2316,
+ 12629, 16455, 18519, 8065, 352,
+ 12629, 16455, 18519, 8067, 268,
+ 12629, 16455, 18519, 8069, 110,
+ 12629, 16455, 18519, 8071, 8912,
+ 12629, 16455, 18519, 8073, 520,
+ 12629, 16455, 18519, 8075, 8,
+ 12629, 16455, 18519, 8077, 1344,
+ 12629, 16455, 18519, 8079, 2690,
+ 12629, 16455, 18519, 8081, 958,
+ 12629, 16455, 18519, 8083, 3270,
+ 12629, 16455, 18519, 8085, 7845, 8302,
+ 12629, 16455, 18519, 8087, 7845, 12786,
+ 12629, 16455, 18519, 8089, 1454,
+ 12629, 16455, 18519, 8091, 1978,
+ 12629, 16455, 18519, 8093, 3670,
+ 12629, 16455, 18519, 8095, 7845, 386,
+ 12629, 16455, 18519, 8097, 244,
+ 12629, 16455, 18519, 8099, 7666,
+ 12629, 16455, 18519, 8101, 336,
+ 12629, 16455, 18519, 8103, 3538,
+ 12629, 16455, 18519, 8105, 12780,
+ 12629, 16455, 18519, 8107, 590,
+ 12629, 16455, 18519, 8109, 2420,
+ 12629, 16455, 18519, 8111, 698,
+ 12629, 16455, 18519, 8113, 2410,
+ 12629, 16455, 18519, 8115, 8688,
+ 12629, 16455, 18519, 8117, 740,
+ 12629, 16455, 18519, 8119, 2262,
+ 12629, 16455, 18519, 8121, 2412,
+ 12629, 16455, 18519, 8123, 1456,
+ 12629, 16455, 18519, 8125, 2416,
+ 12629, 16455, 18519, 8127, 3516,
+ 12629, 16455, 18519, 8129, 12788,
+ 12629, 16455, 18519, 8131, 7262,
+ 12629, 16455, 18519, 8133, 2408,
+ 12629, 16455, 18519, 8135, 1584,
+ 12629, 16455, 18519, 8137, 314,
+ 12629, 16455, 18519, 8139, 1980,
+ 12629, 16455, 18519, 8141, 1386,
+ 12629, 16455, 18519, 8143, 8758,
+ 12629, 16455, 18519, 8145, 314,
+ 12629, 16455, 18519, 8147, 3074,
+ 12629, 16455, 18519, 8149, 192,
+ 12629, 16455, 18519, 8151, 116,
+ 12629, 16455, 18519, 8153, 3560,
+ 12629, 16455, 18519, 8155, 280,
+ 12629, 16455, 18519, 8157, 3702,
+ 12629, 16455, 18519, 8159, 7845, 2260,
+ 12629, 16455, 18519, 8161, 3518,
+ 12629, 16455, 18519, 8163, 3460,
+ 12629, 16455, 18519, 8165, 2258,
+ 12629, 16455, 18519, 8167, 8684,
+ 12629, 16455, 18519, 8169, 28,
+ 12629, 16455, 18519, 8171, 1460,
+ 12629, 16455, 18519, 8173, 8748,
+ 12629, 16455, 18519, 8175, 916,
+ 12629, 16455, 18519, 8177, 688,
+ 12629, 16455, 18519, 8179, 2466,
+ 12629, 16455, 18519, 8181, 400,
+ 12629, 16455, 18519, 8183, 8424,
+ 12629, 16455, 18519, 8185, 254,
+ 12629, 16455, 18519, 8187, 12786,
+ 12629, 16455, 18519, 8189, 1778,
+ 12629, 16455, 18519, 8191, 1982,
+ 12629, 16455, 18519, 8193, 12776,
+ 12629, 16455, 18519, 8195, 1816,
+ 12629, 16455, 18519, 8197, 7845, 2256,
+ 12629, 16455, 18519, 8199, 3018,
+ 12629, 16455, 18519, 8201, 184,
+ 12629, 16455, 18519, 8203, 8920,
+ 12629, 16455, 18519, 8205, 496,
+ 12629, 16455, 18519, 8207, 7032,
+ 12629, 16455, 18519, 8209, 7028,
+ 12629, 16455, 18519, 8211, 260,
+ 12629, 16455, 18519, 8213, 2490,
+ 12629, 16455, 18519, 8215, 8948,
+ 12629, 16455, 18519, 8217, 570,
+ 12629, 16455, 18519, 8219, 8302,
+ 12629, 16455, 18519, 8221, 3434,
+ 12629, 16455, 18519, 8223, 2260,
+ 12629, 16455, 18519, 8225, 7845, 340,
+ 12629, 16455, 18519, 8227, 272,
+ 12629, 16455, 18519, 8229, 12814,
+ 12629, 16455, 18519, 8231, 202,
+ 12629, 16455, 18519, 8233, 1996,
+ 12629, 16455, 18519, 8235, 1208,
+ 12629, 16455, 18519, 8237, 166,
+ 12629, 16455, 18519, 8239, 682,
+ 12629, 16455, 18519, 8241, 7845, 8688,
+ 12629, 16455, 18519, 8243, 8676,
+ 12629, 16455, 18519, 8245, 678,
+ 12629, 16455, 18519, 8247, 284,
+ 12629, 16455, 18519, 8249, 8308,
+ 12629, 16455, 18519, 8251, 8296,
+ 12629, 16455, 18519, 8253, 8430,
+ 12629, 16455, 18519, 8255, 1462,
+ 12629, 16455, 18519, 8257, 8614,
+ 12629, 16455, 18519, 8259, 2474,
+ 12629, 16455, 18519, 8261, 1670,
+ 12629, 16455, 18519, 8263, 3550,
+ 12629, 16455, 18519, 8265, 80,
+ 12629, 16455, 18519, 8267, 3042,
+ 12629, 16455, 18519, 8269, 1396,
+ 12629, 16455, 18819, 15133, 3213, 19586,
+ 12629, 16455, 18819, 15133, 10072,
+ 12629, 16455, 18819, 15133, 13614,
+ 12629, 16455, 18819, 15133, 16379, 19586,
+ 12629, 16455, 18819, 15133, 17990,
+ 12629, 16455, 18819, 15133, 18138,
+ 12629, 16455, 18819, 15133, 19586,
+ 12640,
+ 12665, 9808,
+ 12671, 3512,
+ 12675, 9808,
+ 12675, 9809, 315, 18596,
+ 12675, 9809, 10595, 1213, 11502,
+ 12675, 9809, 10595, 11709, 11346,
+ 12675, 9809, 10595, 15347, 6402,
+ 12675, 9809, 10595, 16269, 6402,
+ 12675, 13676,
+ 12687, 884,
+ 12687, 10595, 13974,
+ 12691, 5820,
+ 12695, 6754,
+ 12696,
+ 12697, 6682,
+ 12698,
+ 12705, 14336,
+ 12706,
+ 12719, 6725, 9808,
+ 12719, 13393, 9808,
+ 12719, 16711, 9808,
+ 12721, 13683, 18214,
+ 12721, 13802,
+ 12721, 13803, 18215, 10595, 1212,
+ 12721, 13803, 18215, 10595, 9242,
+ 12721, 13965, 18669, 894,
+ 12721, 15513, 13803, 18214,
+ 12721, 15513, 20905, 18214,
+ 12721, 16035, 1213, 18214,
+ 12721, 16035, 9243, 18214,
+ 12721, 16035, 13683, 18214,
+ 12721, 16603, 502,
+ 12721, 16603, 840,
+ 12721, 16942,
+ 12721, 18836,
+ 12721, 19476,
+ 12721, 20904,
+ 12736,
+ 12743, 9808,
+ 12823, 10595, 13532,
+ 12896,
+ 12907, 6531, 841, 13501, 10583, 11428,
+ 12907, 6531, 11428,
+ 12907, 6531, 11429, 841, 13501, 6531, 11428,
+ 12907, 6531, 11429, 10595, 7256,
+ 12907, 6531, 11429, 17645, 12907, 10583, 11428,
+ 12907, 6531, 11429, 17645, 13501, 6531, 11428,
+ 12907, 6531, 11521, 11428,
+ 12907, 6531, 13965, 11428,
+ 12907, 6531, 14533, 11428,
+ 12907, 6531, 18297, 970,
+ 12907, 6531, 18297, 7774,
+ 12907, 6531, 18297, 10505, 7774,
+ 12907, 6531, 20165, 11428,
+ 12907, 6531, 21571, 11428,
+ 12907, 6531, 21571, 11429, 633, 894,
+ 12907, 10583, 841, 13501, 6531, 11428,
+ 12907, 10583, 11428,
+ 12907, 10583, 11429, 633, 7845, 894,
+ 12907, 10583, 11429, 633, 14428,
+ 12907, 10583, 11429, 841, 12907, 6531, 11428,
+ 12907, 10583, 11429, 10595, 7256,
+ 12907, 10583, 11429, 17645, 12907, 6531, 11428,
+ 12907, 10583, 11521, 11428,
+ 12907, 10583, 13965, 11428,
+ 12907, 10583, 14533, 11428,
+ 12907, 10583, 18297, 970,
+ 12907, 10583, 18297, 7774,
+ 12907, 10583, 18297, 10505, 7774,
+ 12907, 10583, 20165, 11428,
+ 12907, 10583, 21571, 11428,
+ 12907, 10583, 21571, 11429, 633, 894,
+ 12907, 12327, 13309, 8282,
+ 12907, 12327, 16955, 8282,
+ 12907, 12327, 17927, 2597, 7086,
+ 12907, 12327, 17927, 2597, 14542,
+ 12907, 12327, 17927, 2597, 16954,
+ 12907, 12327, 17927, 2597, 19438,
+ 12907, 12327, 17927, 13655, 18332,
+ 12907, 12327, 17927, 13655, 20216,
+ 12907, 12327, 18331, 8282,
+ 12907, 12327, 20655, 8282,
+ 13069, 13503, 8282,
+ 13069, 14903, 502,
+ 13069, 14903, 670,
+ 13069, 14903, 2600,
+ 13069, 14903, 5208,
+ 13069, 14903, 6068,
+ 13069, 14903, 6248,
+ 13069, 14903, 7020,
+ 13069, 14903, 7384,
+ 13069, 14903, 7856,
+ 13069, 14903, 8434,
+ 13069, 14903, 8738,
+ 13069, 14903, 9516,
+ 13069, 14903, 9642,
+ 13069, 14903, 10366,
+ 13069, 14903, 11500,
+ 13069, 14903, 11628,
+ 13069, 14903, 12006,
+ 13069, 14903, 13142,
+ 13069, 14903, 13684,
+ 13069, 14903, 15524,
+ 13069, 14903, 16224,
+ 13069, 14903, 16226,
+ 13069, 14903, 16406,
+ 13069, 14903, 16728,
+ 13069, 14903, 18652,
+ 13069, 14903, 20456,
+ 13069, 16277, 8282,
+ 13069, 18367, 16277, 8282,
+ 13075, 2230,
+ 13075, 13980,
+ 13087, 73, 14897, 8282,
+ 13087, 95, 14897, 8282,
+ 13087, 9809, 12986,
+ 13087, 9809, 15756,
+ 13087, 9809, 17342,
+ 13087, 9809, 17466,
+ 13087, 9809, 17506,
+ 13087, 9809, 20336,
+ 13087, 11849, 2596,
+ 13087, 11849, 3056,
+ 13087, 11849, 3336,
+ 13087, 11849, 6720,
+ 13087, 11849, 6742,
+ 13087, 11849, 8736,
+ 13087, 11849, 10854,
+ 13087, 11849, 11916,
+ 13087, 11849, 13376,
+ 13087, 11849, 13654,
+ 13087, 13921, 9809, 8,
+ 13087, 13921, 9809, 16,
+ 13087, 13921, 9809, 28,
+ 13087, 13921, 9809, 40,
+ 13087, 13921, 9809, 58,
+ 13087, 13921, 9809, 72,
+ 13087, 13921, 9809, 94,
+ 13087, 13921, 9809, 306,
+ 13087, 13921, 9809, 674,
+ 13087, 13921, 9809, 17349, 22,
+ 13087, 13921, 9809, 17349, 34,
+ 13087, 13921, 9809, 17349, 394,
+ 13087, 13921, 9809, 17349, 580,
+ 13087, 14784,
+ 13087, 14903, 0,
+ 13087, 14903, 8,
+ 13087, 14903, 16,
+ 13087, 14903, 28,
+ 13087, 14903, 40,
+ 13087, 14903, 58,
+ 13087, 14903, 72,
+ 13087, 14903, 94,
+ 13087, 14903, 106,
+ 13087, 14903, 124,
+ 13087, 14903, 148,
+ 13087, 14903, 244,
+ 13087, 14903, 266,
+ 13087, 14903, 306,
+ 13087, 14903, 334,
+ 13087, 14903, 348,
+ 13087, 14903, 382,
+ 13087, 14903, 414,
+ 13087, 14903, 446,
+ 13087, 14903, 520,
+ 13087, 14903, 570,
+ 13087, 14903, 586,
+ 13087, 14903, 620,
+ 13087, 14903, 674,
+ 13087, 14903, 678,
+ 13087, 14903, 692,
+ 13087, 14903, 732,
+ 13087, 14903, 930,
+ 13087, 14903, 1040,
+ 13087, 14903, 1138,
+ 13087, 14903, 1160,
+ 13087, 14903, 1486,
+ 13087, 14903, 1786,
+ 13087, 14903, 1904,
+ 13087, 14903, 2142,
+ 13087, 14903, 2432,
+ 13087, 14903, 2480,
+ 13087, 14903, 2544,
+ 13087, 14903, 2660,
+ 13087, 14903, 2894,
+ 13087, 14903, 2938,
+ 13087, 14903, 3030,
+ 13087, 14903, 3094,
+ 13087, 14903, 3222,
+ 13087, 14903, 3302,
+ 13087, 14903, 3746,
+ 13087, 14903, 6286,
+ 13087, 14903, 10218,
+ 13087, 14903, 17349, 22,
+ 13087, 14903, 17349, 34,
+ 13087, 14903, 17349, 394,
+ 13087, 14903, 17349, 580,
+ 13087, 17927, 2597, 7086,
+ 13087, 17927, 2597, 14542,
+ 13087, 17927, 2597, 16954,
+ 13087, 17927, 2597, 19438,
+ 13087, 17927, 13655, 18332,
+ 13087, 17927, 13655, 20216,
+ 13093, 9808,
+ 13106,
+ 13108,
+ 13111, 6682,
+ 13117, 15274,
+ 13131, 15564,
+ 13132,
+ 13171, 483, 17380,
+ 13171, 483, 18013, 9808,
+ 13180,
+ 13186,
+ 13189, 9808,
+ 13192,
+ 13195, 15395, 15564,
+ 13202,
+ 13238,
+ 13239, 14332,
+ 13250,
+ 13271, 857, 20877, 15970,
+ 13271, 2163, 20101, 15970,
+ 13271, 2597, 14543, 11528,
+ 13271, 6715, 10046,
+ 13271, 7087, 11521, 14396,
+ 13271, 7087, 11528,
+ 13271, 7091, 19575, 18338,
+ 13271, 10040,
+ 13271, 11397, 14326,
+ 13271, 11398,
+ 13271, 11399, 10595, 856,
+ 13271, 11399, 10595, 19029, 15831, 11428,
+ 13271, 11399, 14531, 21017, 14976,
+ 13271, 11399, 15970,
+ 13271, 11399, 15971, 10595, 1212,
+ 13271, 11399, 17329, 10595, 15512,
+ 13271, 11399, 21017, 14976,
+ 13271, 11429, 10595, 13483, 14396,
+ 13271, 11429, 10595, 16035, 9242,
+ 13271, 11521, 18585, 13407, 15970,
+ 13271, 11521, 20009, 15970,
+ 13271, 11725, 15970,
+ 13271, 11725, 15971, 12525, 7256,
+ 13271, 11725, 15971, 13807, 7256,
+ 13271, 11725, 15971, 15021, 13158,
+ 13271, 12032,
+ 13271, 13095, 7480,
+ 13271, 13965, 11725, 15970,
+ 13271, 13965, 14429, 15970,
+ 13271, 13965, 15513, 15970,
+ 13271, 13965, 18585, 13407, 15970,
+ 13271, 13965, 20009, 15970,
+ 13271, 13965, 20628,
+ 13271, 14429, 15970,
+ 13271, 14531, 21017, 15970,
+ 13271, 14533, 11399, 15970,
+ 13271, 14533, 11429, 10595, 17011, 7102,
+ 13271, 14533, 15781, 12010,
+ 13271, 14533, 19359, 8282,
+ 13271, 14533, 20628,
+ 13271, 15111, 14585, 20175, 16942,
+ 13271, 15319, 18209, 15970,
+ 13271, 15465, 19359, 8282,
+ 13271, 15493, 14326,
+ 13271, 15513, 15970,
+ 13271, 15513, 15971, 10595, 10137, 315, 3273, 14428,
+ 13271, 15513, 15971, 10595, 10137, 315, 14307, 14428,
+ 13271, 15513, 15971, 10595, 13222,
+ 13271, 15513, 15971, 10595, 18658,
+ 13271, 15513, 15971, 12525, 14428,
+ 13271, 15513, 15971, 13807, 14428,
+ 13271, 15513, 15971, 19056,
+ 13271, 15781, 12010,
+ 13271, 16004,
+ 13271, 17126,
+ 13271, 17127, 10595, 2597, 13499, 10574,
+ 13271, 17127, 10595, 13655, 13499, 13952,
+ 13271, 17227, 14326,
+ 13271, 18379, 885, 18862,
+ 13271, 18423, 41, 15970,
+ 13271, 18585, 13407, 15970,
+ 13271, 18596,
+ 13271, 18597, 11347, 7779, 18596,
+ 13271, 18669, 895, 10595, 13222,
+ 13271, 18669, 967, 7816,
+ 13271, 20175, 16942,
+ 13271, 20628,
+ 13271, 20629, 12525, 7256,
+ 13271, 20629, 13807, 7256,
+ 13271, 20629, 19056,
+ 13271, 21017, 15970,
+ 13271, 21215, 15970,
+ 13283, 6682,
+ 13285, 91, 9808,
+ 13285, 13799, 9808,
+ 13285, 16137, 17063, 9808,
+ 13285, 16769, 2596,
+ 13285, 16769, 2597, 16378,
+ 13285, 16769, 2597, 16379, 18566,
+ 13285, 16769, 2597, 18566,
+ 13285, 16769, 2597, 18567, 5, 6,
+ 13285, 16769, 3056,
+ 13285, 16769, 3057, 7765, 6740,
+ 13285, 16769, 3212,
+ 13285, 16769, 3213, 18566,
+ 13285, 16769, 3336,
+ 13285, 16769, 6720,
+ 13285, 16769, 6721, 16378,
+ 13285, 16769, 6721, 18566,
+ 13285, 16769, 6742,
+ 13285, 16769, 8736,
+ 13285, 16769, 11916,
+ 13285, 16769, 12018,
+ 13285, 16769, 12019, 11909, 6740,
+ 13285, 16769, 12019, 18566,
+ 13285, 16769, 13376,
+ 13285, 16769, 13654,
+ 13285, 16769, 14546,
+ 13285, 16769, 15706,
+ 13285, 16769, 18367, 2597, 16378,
+ 13285, 17059, 9808,
+ 13285, 17063, 9808,
+ 13285, 17085, 9808,
+ 13285, 17679, 9808,
+ 13285, 18403, 9808,
+ 13285, 18793, 9808,
+ 13285, 19033, 9808,
+ 13285, 19357, 9808,
+ 13285, 20181, 9808,
+ 13287, 15584,
+ 13287, 16952,
+ 13297, 9808,
+ 13299, 17916,
+ 13307, 11719, 20658,
+ 13307, 14217, 15564,
+ 13307, 14903, 4,
+ 13307, 14903, 6,
+ 13307, 14903, 8,
+ 13307, 14903, 12,
+ 13307, 14903, 20,
+ 13307, 14903, 28,
+ 13307, 14903, 32,
+ 13307, 14903, 42,
+ 13307, 14903, 44,
+ 13307, 14903, 46,
+ 13307, 14903, 48,
+ 13307, 14903, 50,
+ 13307, 14903, 63, 0,
+ 13307, 14903, 480,
+ 13307, 14903, 494,
+ 13307, 14903, 496,
+ 13307, 14903, 505, 28,
+ 13307, 14903, 594,
+ 13307, 14903, 742,
+ 13307, 14903, 1032,
+ 13307, 14903, 1260,
+ 13307, 14903, 1294,
+ 13307, 14903, 1322,
+ 13307, 14903, 1444,
+ 13307, 14903, 1470,
+ 13307, 14903, 1746,
+ 13307, 14903, 1756,
+ 13307, 14903, 5200,
+ 13307, 14903, 5932,
+ 13307, 14903, 6697, 6701, 227, 10,
+ 13307, 14903, 6919, 7059, 12,
+ 13307, 14903, 7407, 325, 1765, 16,
+ 13307, 14903, 7415, 1302,
+ 13307, 14903, 7569, 20,
+ 13307, 14903, 9902,
+ 13307, 14903, 10383, 671, 40,
+ 13307, 14903, 11381, 11936,
+ 13307, 14903, 11407, 0,
+ 13307, 14903, 11622,
+ 13307, 14903, 11785, 6243, 6,
+ 13307, 14903, 11915, 191, 8,
+ 13307, 14903, 12191, 14,
+ 13307, 14903, 12341, 18,
+ 13307, 14903, 12378,
+ 13307, 14903, 13243, 2853, 9433, 34,
+ 13307, 14903, 13451, 21543, 36,
+ 13307, 14903, 13695, 3247, 3347, 38,
+ 13307, 14903, 13995, 10617, 44,
+ 13307, 14903, 14651, 14353, 62,
+ 13307, 14903, 14651, 14353, 190,
+ 13307, 14903, 14651, 14353, 324,
+ 13307, 14903, 14651, 14353, 504,
+ 13307, 14903, 14651, 14353, 5200,
+ 13307, 14903, 14719, 14,
+ 13307, 14903, 14770,
+ 13307, 14903, 14887, 7749, 7841, 22,
+ 13307, 14903, 14967, 2231, 24,
+ 13307, 14903, 15057, 2547, 8565, 26,
+ 13307, 14903, 15154,
+ 13307, 14903, 15221, 15211, 30,
+ 13307, 14903, 15487, 36,
+ 13307, 14903, 16092,
+ 13307, 14903, 16813, 11961, 28,
+ 13307, 14903, 17525, 11509, 15955, 2,
+ 13307, 14903, 17828,
+ 13307, 14903, 17830,
+ 13307, 14903, 17832,
+ 13307, 14903, 18573, 13661, 13652,
+ 13307, 14903, 20894,
+ 13307, 14903, 21195, 0,
+ 13307, 14903, 21196,
+ 13307, 14903, 21369, 66,
+ 13307, 14903, 21370,
+ 13307, 14903, 21393, 28,
+ 13307, 14903, 21395, 36,
+ 13307, 14903, 21397, 38,
+ 13307, 14903, 21541, 28,
+ 13307, 14903, 21559, 24,
+ 13307, 14903, 21561, 26,
+ 13307, 14903, 21679, 24,
+ 13307, 14903, 21745, 14,
+ 13307, 14903, 21767, 14,
+ 13307, 14903, 21787, 2,
+ 13307, 15465, 20658,
+ 13307, 17523, 15564,
+ 13307, 18165, 20658,
+ 13307, 18637, 15564,
+ 13309, 9808,
+ 13400,
+ 13431, 669, 10040,
+ 13431, 669, 10041, 10595, 18658,
+ 13431, 669, 10041, 11347, 13431, 6407, 10040,
+ 13431, 5787, 11429, 18297, 19029, 10109, 12907, 6530,
+ 13431, 6407, 10040,
+ 13431, 6407, 10041, 10595, 16816,
+ 13431, 7779, 10040,
+ 13431, 17101, 12907, 11428,
+ 13431, 20163, 11429, 11347, 19213, 11428,
+ 13431, 20331, 13501, 11428,
+ 13464,
+ 13466,
+ 13467, 841, 19742,
+ 13473, 483, 13168,
+ 13478,
+ 13483, 201, 6258,
+ 13483, 3337, 6403, 9131, 2597, 1213, 20658,
+ 13483, 3435, 10595, 18658,
+ 13483, 5817, 16128,
+ 13483, 6757, 9910,
+ 13483, 7779, 11725, 15970,
+ 13483, 7779, 18585, 13407, 15970,
+ 13483, 7779, 20628,
+ 13483, 9243, 9808,
+ 13483, 11702,
+ 13483, 11708,
+ 13483, 13271, 11725, 15970,
+ 13483, 13271, 18585, 13407, 15970,
+ 13483, 13271, 20628,
+ 13483, 13285, 16769, 2596,
+ 13483, 13285, 16769, 2597, 16378,
+ 13483, 13285, 16769, 2597, 18566,
+ 13483, 13285, 16769, 3056,
+ 13483, 13285, 16769, 3212,
+ 13483, 13285, 16769, 3336,
+ 13483, 13285, 16769, 6720,
+ 13483, 13285, 16769, 6721, 16378,
+ 13483, 13285, 16769, 6742,
+ 13483, 13285, 16769, 8736,
+ 13483, 13285, 16769, 11916,
+ 13483, 13285, 16769, 12018,
+ 13483, 13285, 16769, 13376,
+ 13483, 13285, 16769, 13654,
+ 13483, 13285, 16769, 14546,
+ 13483, 13285, 16769, 15706,
+ 13483, 13676,
+ 13483, 14509, 9808,
+ 13483, 14555, 9808,
+ 13483, 15133, 9808,
+ 13483, 15161, 16128,
+ 13483, 16245, 482,
+ 13483, 16245, 483, 10595, 16816,
+ 13483, 16245, 483, 10595, 18669, 895, 93, 1293, 483, 19973, 15534,
+ 13483, 16873, 9808,
+ 13483, 16991, 17118,
+ 13483, 17444,
+ 13483, 17496,
+ 13483, 17635, 91, 15002,
+ 13483, 17635, 10595, 16816,
+ 13483, 17635, 10595, 18669, 895, 93, 1293, 483, 19973, 15534,
+ 13483, 18335, 8282,
+ 13483, 18716,
+ 13483, 19215, 9808,
+ 13483, 19416,
+ 13483, 19719, 92,
+ 13483, 20469, 8282,
+ 13483, 20511, 11708,
+ 13483, 20877, 9808,
+ 13483, 20890,
+ 13485, 16942,
+ 13488,
+ 13490,
+ 13492,
+ 13497, 13225, 15513, 18220,
+ 13497, 13225, 15513, 18221, 315, 11521, 15512,
+ 13499, 19367, 18838,
+ 13501, 6531, 11428,
+ 13501, 6531, 11429, 633, 14428,
+ 13501, 6531, 11429, 841, 13501, 10583, 11428,
+ 13501, 6531, 11429, 10595, 7256,
+ 13501, 6531, 11429, 17645, 12907, 6531, 11428,
+ 13501, 6531, 11521, 11428,
+ 13501, 6531, 13965, 11428,
+ 13501, 6531, 14533, 11428,
+ 13501, 6531, 18297, 970,
+ 13501, 6531, 18297, 7774,
+ 13501, 6531, 18297, 10505, 7774,
+ 13501, 6531, 20165, 11428,
+ 13501, 6531, 21571, 11428,
+ 13501, 6531, 21571, 11429, 633, 894,
+ 13501, 10583, 11428,
+ 13501, 10583, 11429, 841, 12907, 10583, 11428,
+ 13501, 10583, 11429, 10595, 7256,
+ 13501, 10583, 11521, 11428,
+ 13501, 10583, 13965, 11428,
+ 13501, 10583, 14533, 11428,
+ 13501, 10583, 18297, 970,
+ 13501, 10583, 18297, 7774,
+ 13501, 10583, 18297, 10505, 7774,
+ 13501, 10583, 20165, 11428,
+ 13501, 10583, 21571, 11428,
+ 13501, 10583, 21571, 11429, 633, 894,
+ 13502,
+ 13517, 11521, 20163, 11428,
+ 13527, 483, 14742,
+ 13527, 483, 20304,
+ 13537, 20016,
+ 13545, 11640,
+ 13566,
+ 13571, 18717, 18220,
+ 13581, 6258,
+ 13601, 15607, 15185, 841, 5702,
+ 13603, 9809, 12986,
+ 13603, 9809, 15756,
+ 13603, 9809, 17342,
+ 13603, 9809, 17466,
+ 13603, 11849, 2596,
+ 13603, 11849, 3056,
+ 13603, 11849, 3336,
+ 13603, 11849, 6720,
+ 13603, 11849, 6742,
+ 13603, 11849, 8736,
+ 13603, 11849, 10854,
+ 13603, 11849, 11916,
+ 13603, 11849, 13376,
+ 13603, 11849, 13654,
+ 13603, 13921, 9809, 8,
+ 13603, 13921, 9809, 16,
+ 13603, 13921, 9809, 28,
+ 13603, 13921, 9809, 40,
+ 13603, 13921, 9809, 58,
+ 13603, 13921, 9809, 72,
+ 13603, 13921, 9809, 94,
+ 13603, 13921, 9809, 306,
+ 13603, 13921, 9809, 674,
+ 13603, 14903, 0,
+ 13603, 14903, 8,
+ 13603, 14903, 16,
+ 13603, 14903, 28,
+ 13603, 14903, 40,
+ 13603, 14903, 58,
+ 13603, 14903, 72,
+ 13603, 14903, 94,
+ 13603, 14903, 106,
+ 13603, 14903, 124,
+ 13603, 14903, 148,
+ 13603, 14903, 244,
+ 13603, 14903, 266,
+ 13603, 14903, 306,
+ 13603, 14903, 334,
+ 13603, 14903, 348,
+ 13603, 14903, 382,
+ 13603, 14903, 414,
+ 13603, 14903, 446,
+ 13603, 14903, 520,
+ 13603, 14903, 570,
+ 13603, 14903, 586,
+ 13603, 14903, 620,
+ 13603, 14903, 674,
+ 13603, 14903, 678,
+ 13603, 14903, 732,
+ 13603, 14903, 930,
+ 13603, 14903, 1040,
+ 13603, 14903, 1138,
+ 13603, 14903, 1160,
+ 13603, 14903, 1486,
+ 13603, 14903, 1786,
+ 13603, 14903, 1904,
+ 13603, 14903, 2432,
+ 13603, 14903, 2480,
+ 13603, 14903, 2544,
+ 13603, 14903, 2660,
+ 13603, 14903, 2938,
+ 13603, 14903, 3030,
+ 13603, 14903, 3222,
+ 13603, 14903, 3302,
+ 13603, 14903, 6286,
+ 13603, 14903, 10218,
+ 13605, 91, 11347, 9808,
+ 13605, 95, 14897, 8282,
+ 13605, 492,
+ 13605, 1137, 9808,
+ 13605, 9809, 15756,
+ 13605, 9809, 17342,
+ 13605, 9809, 17466,
+ 13605, 10727, 9808,
+ 13605, 11831, 9808,
+ 13605, 11849, 2596,
+ 13605, 11849, 3056,
+ 13605, 11849, 3336,
+ 13605, 11849, 6720,
+ 13605, 11849, 6742,
+ 13605, 11849, 8736,
+ 13605, 11849, 10854,
+ 13605, 11849, 11916,
+ 13605, 11849, 13376,
+ 13605, 11849, 13654,
+ 13605, 12689, 9808,
+ 13605, 13309, 9808,
+ 13605, 13921, 9809, 8,
+ 13605, 13921, 9809, 16,
+ 13605, 13921, 9809, 28,
+ 13605, 13921, 9809, 40,
+ 13605, 13921, 9809, 58,
+ 13605, 13921, 9809, 72,
+ 13605, 13921, 9809, 94,
+ 13605, 13921, 9809, 184,
+ 13605, 13921, 9809, 306,
+ 13605, 13921, 9809, 496,
+ 13605, 13921, 9809, 674,
+ 13605, 14437, 9808,
+ 13605, 14903, 0,
+ 13605, 14903, 8,
+ 13605, 14903, 16,
+ 13605, 14903, 28,
+ 13605, 14903, 40,
+ 13605, 14903, 58,
+ 13605, 14903, 72,
+ 13605, 14903, 94,
+ 13605, 14903, 124,
+ 13605, 14903, 184,
+ 13605, 14903, 266,
+ 13605, 14903, 306,
+ 13605, 14903, 334,
+ 13605, 14903, 348,
+ 13605, 14903, 382,
+ 13605, 14903, 414,
+ 13605, 14903, 446,
+ 13605, 14903, 496,
+ 13605, 14903, 520,
+ 13605, 14903, 570,
+ 13605, 14903, 586,
+ 13605, 14903, 620,
+ 13605, 14903, 674,
+ 13605, 14903, 678,
+ 13605, 14903, 732,
+ 13605, 14903, 2142,
+ 13605, 14903, 2432,
+ 13605, 14903, 2480,
+ 13605, 14903, 2544,
+ 13605, 14903, 2938,
+ 13605, 14903, 3030,
+ 13605, 14903, 3094,
+ 13605, 14903, 3302,
+ 13605, 14903, 7836,
+ 13605, 14903, 8798,
+ 13605, 15133, 2597, 16378,
+ 13605, 15133, 2597, 18566,
+ 13605, 15133, 3212,
+ 13605, 15133, 9808,
+ 13625, 9808,
+ 13635, 6393, 2499, 11970,
+ 13635, 14564,
+ 13655, 1213, 20658,
+ 13655, 9429, 7778,
+ 13655, 9429, 11346,
+ 13655, 9429, 11502,
+ 13655, 9429, 13270,
+ 13655, 12509, 19741, 7778,
+ 13655, 12509, 19741, 13270,
+ 13655, 14333, 12696,
+ 13655, 15493, 15978,
+ 13655, 16913, 11521, 9904,
+ 13655, 19213, 14226,
+ 13655, 19269, 18822,
+ 13655, 20163, 14226,
+ 13655, 20357, 14555, 13454,
+ 13655, 20391, 11398,
+ 13672,
+ 13673, 6682,
+ 13675, 20267, 19440,
+ 13676,
+ 13677, 10595, 1213, 11346,
+ 13677, 10595, 1213, 11502,
+ 13677, 10595, 9457, 11346,
+ 13677, 18214,
+ 13677, 18215, 10595, 1213, 11346,
+ 13677, 18215, 10595, 15347, 6402,
+ 13677, 18215, 11347, 19213, 11428,
+ 13677, 18215, 11347, 20163, 11428,
+ 13681, 11690,
+ 13683, 10595, 7779, 7087, 11520,
+ 13683, 10595, 13271, 7087, 11520,
+ 13689, 6682,
+ 13705, 13722,
+ 13719, 15360,
+ 13727, 8283, 9808,
+ 13728,
+ 13766,
+ 13802,
+ 13803, 10595, 12675, 9808,
+ 13803, 10595, 16603, 502,
+ 13803, 10595, 16816,
+ 13803, 11347, 895, 11347, 20904,
+ 13803, 11347, 20904,
+ 13803, 14287, 841, 14793, 10595, 13802,
+ 13807, 2597, 14543, 11528,
+ 13807, 7087, 11528,
+ 13807, 7087, 14396,
+ 13807, 7087, 16405, 13965, 14396,
+ 13807, 7779, 503, 12525, 13271, 11725, 15971, 17044,
+ 13807, 7779, 14429, 10595, 1212,
+ 13807, 7779, 18329, 17607, 856,
+ 13807, 7779, 18596,
+ 13807, 11523, 18390,
+ 13807, 13271, 503, 12525, 7779, 11725, 15971, 17044,
+ 13807, 13271, 15204,
+ 13807, 13271, 18329, 17607, 856,
+ 13807, 13271, 18407, 13965, 14396,
+ 13807, 13271, 18407, 13965, 15512,
+ 13807, 13271, 18596,
+ 13807, 13271, 21091, 13965, 15512,
+ 13901, 9809, 7845, 17466,
+ 13901, 9809, 15357, 7845, 17466,
+ 13901, 9809, 15642,
+ 13901, 9809, 17007, 20786,
+ 13901, 9809, 17343, 15728,
+ 13901, 9809, 17343, 15729, 10595, 10046,
+ 13901, 9809, 17343, 17180,
+ 13901, 9809, 17343, 17464,
+ 13901, 9809, 17343, 17465, 10595, 10046,
+ 13901, 9809, 17467, 18649, 12708,
+ 13901, 9809, 17467, 20760,
+ 13901, 9809, 17467, 20761, 10595, 10046,
+ 13901, 9809, 17467, 20782,
+ 13901, 9809, 17467, 20800,
+ 13901, 9809, 17975, 7845, 17466,
+ 13901, 9809, 18367, 17343, 15728,
+ 13901, 9809, 18367, 17343, 17464,
+ 13901, 9809, 19278,
+ 13901, 9809, 20301, 16681, 17180,
+ 13901, 9809, 20540,
+ 13901, 9809, 20756,
+ 13901, 9809, 20786,
+ 13901, 10173, 1213, 11502,
+ 13901, 10173, 3337, 6403, 11502,
+ 13901, 10173, 9457, 11346,
+ 13901, 10173, 13390,
+ 13901, 10173, 13655, 6403, 11502,
+ 13901, 10173, 14347, 11346,
+ 13901, 10173, 14347, 11502,
+ 13901, 10173, 14533, 9457, 11346,
+ 13901, 10173, 14533, 17180,
+ 13901, 10173, 15671, 17180,
+ 13901, 10173, 16437, 17464,
+ 13901, 10173, 16932,
+ 13901, 10173, 18034,
+ 13901, 10173, 18369, 18037, 20525, 17180,
+ 13901, 10173, 20301, 16437, 20525, 17180,
+ 13901, 10173, 20301, 16437, 20525, 17181, 19410,
+ 13901, 10173, 20301, 19657, 20525, 17180,
+ 13901, 10173, 20301, 20525, 17180,
+ 13901, 10173, 20793, 20525, 17180,
+ 13906,
+ 13911, 6886,
+ 13911, 14336,
+ 13914,
+ 13946,
+ 13949, 10574,
+ 13949, 14408,
+ 13949, 15980,
+ 13955, 1015, 6682,
+ 13955, 6682,
+ 13958,
+ 13963, 483, 14486,
+ 13965, 669, 18297, 12324,
+ 13965, 669, 18297, 17509, 12324,
+ 13965, 2450,
+ 13965, 3116,
+ 13965, 3117, 10595, 9428,
+ 13965, 3117, 10595, 13483, 11696,
+ 13965, 3117, 14283, 11696,
+ 13965, 3117, 14283, 11697, 10595, 9420,
+ 13965, 6063, 9924,
+ 13965, 6407, 18297, 7779, 7091, 12324,
+ 13965, 6407, 18297, 12324,
+ 13965, 6407, 18297, 17509, 12324,
+ 13965, 6722,
+ 13965, 6723, 10595, 19973, 15021, 11521, 15532,
+ 13965, 6743, 16913, 6094,
+ 13965, 6743, 16913, 9904,
+ 13965, 7095, 13407, 14629, 6382,
+ 13965, 7779, 7759, 12632,
+ 13965, 7779, 18297, 12324,
+ 13965, 7779, 18297, 17509, 12324,
+ 13965, 9904,
+ 13965, 10487, 13483, 15512,
+ 13965, 11429, 13383, 13971, 2596,
+ 13965, 11429, 13383, 13971, 3337, 15624,
+ 13965, 11651, 7634,
+ 13965, 11651, 9176,
+ 13965, 11651, 9472,
+ 13965, 11651, 13218,
+ 13965, 11651, 14296,
+ 13965, 11651, 14854,
+ 13965, 12211, 9924,
+ 13965, 12213, 11643, 8282,
+ 13965, 12473, 15512,
+ 13965, 12477, 11718,
+ 13965, 13271, 18297, 12324,
+ 13965, 13271, 18297, 17509, 12324,
+ 13965, 13425, 13158,
+ 13965, 13483, 9904,
+ 13965, 13483, 15512,
+ 13965, 13483, 16608,
+ 13965, 13505, 9924,
+ 13965, 14330,
+ 13965, 14396,
+ 13965, 14397, 10595, 1213, 13270,
+ 13965, 14397, 10595, 3337, 6402,
+ 13965, 14397, 10595, 6407, 11428,
+ 13965, 14397, 10595, 12525, 7779, 18328,
+ 13965, 14397, 10595, 12525, 13271, 18328,
+ 13965, 14397, 10595, 13807, 7779, 18328,
+ 13965, 14397, 10595, 13807, 13271, 18328,
+ 13965, 14397, 19733, 11521, 13483, 14396,
+ 13965, 14632,
+ 13965, 14997, 9904,
+ 13965, 14997, 13483, 15512,
+ 13965, 14997, 15512,
+ 13965, 14997, 16128,
+ 13965, 14997, 16608,
+ 13965, 15413, 1212,
+ 13965, 15512,
+ 13965, 15513, 10595, 12525, 7779, 18328,
+ 13965, 15513, 10595, 12525, 13271, 18328,
+ 13965, 15513, 10595, 13807, 7779, 18328,
+ 13965, 15513, 10595, 13807, 13271, 18328,
+ 13965, 15513, 10595, 14365, 18669, 7816,
+ 13965, 15513, 10595, 17011, 16066,
+ 13965, 15513, 10595, 18669, 18763, 7816,
+ 13965, 15513, 10595, 19213, 10136,
+ 13965, 15513, 10595, 20163, 10136,
+ 13965, 15513, 14332,
+ 13965, 15513, 19733, 11521, 10487, 13483, 15512,
+ 13965, 15513, 19733, 11521, 13483, 15512,
+ 13965, 15513, 19733, 11521, 14997, 15512,
+ 13965, 16128,
+ 13965, 16129, 315, 15512,
+ 13965, 16129, 9924,
+ 13965, 16129, 10595, 16009, 1212,
+ 13965, 16129, 19733, 11521, 10487, 13483, 16128,
+ 13965, 16129, 19733, 11521, 13483, 16128,
+ 13965, 16129, 19733, 11521, 14997, 16128,
+ 13965, 16368,
+ 13965, 16609, 19733, 11521, 13483, 16608,
+ 13965, 16868,
+ 13965, 17109, 6682,
+ 13965, 17301, 7779, 3513, 17254,
+ 13965, 17841, 2230,
+ 13965, 17841, 7634,
+ 13965, 17912,
+ 13965, 17933, 6682,
+ 13965, 18272,
+ 13965, 18335, 8283, 18220,
+ 13965, 18390,
+ 13965, 18597, 19733, 13483, 13965, 18596,
+ 13965, 18669, 894,
+ 13965, 18669, 16246,
+ 13965, 18669, 19368,
+ 13965, 19142,
+ 13965, 19368,
+ 13965, 19574,
+ 13965, 19589, 19574,
+ 13965, 19592,
+ 13965, 19973, 16246,
+ 13965, 20469, 8283, 18220,
+ 13965, 20755, 13483, 18596,
+ 13965, 20755, 18596,
+ 13965, 20755, 18597, 10595, 1212,
+ 13965, 21075, 16128,
+ 13965, 21075, 16129, 10595, 19213, 10136,
+ 13965, 21075, 16129, 10595, 20163, 10136,
+ 13965, 21089, 13483, 18596,
+ 13965, 21089, 18596,
+ 13965, 21135, 13483, 18596,
+ 13965, 21135, 16914,
+ 13965, 21135, 18596,
+ 13965, 21156,
+ 13965, 21387, 13483, 18596,
+ 13965, 21387, 16914,
+ 13965, 21387, 18272,
+ 13965, 21387, 18596,
+ 13979, 18044,
+ 13980,
+ 13981, 10595, 11573, 6526,
+ 13985, 2234,
+ 14183, 1217, 16663, 12025, 17170,
+ 14183, 10605, 19421, 1212,
+ 14183, 10605, 19421, 7816,
+ 14183, 11643, 8282,
+ 14183, 14931, 16663, 12025, 17170,
+ 14183, 15133, 2596,
+ 14183, 15133, 2597, 16378,
+ 14183, 15133, 2597, 18566,
+ 14183, 15133, 3056,
+ 14183, 15133, 3057, 16378,
+ 14183, 15133, 3057, 18566,
+ 14183, 15133, 3212,
+ 14183, 15133, 3213, 18566,
+ 14183, 15133, 3336,
+ 14183, 15133, 3337, 16378,
+ 14183, 15133, 3337, 18566,
+ 14183, 15133, 6720,
+ 14183, 15133, 6721, 16378,
+ 14183, 15133, 6721, 18566,
+ 14183, 15133, 6742,
+ 14183, 15133, 6743, 16378,
+ 14183, 15133, 6743, 18566,
+ 14183, 15133, 8736,
+ 14183, 15133, 8737, 16378,
+ 14183, 15133, 8737, 18566,
+ 14183, 15133, 11916,
+ 14183, 15133, 11917, 16378,
+ 14183, 15133, 11917, 18566,
+ 14183, 15133, 12018,
+ 14183, 15133, 12019, 18566,
+ 14183, 15133, 12046,
+ 14183, 15133, 12047, 18566,
+ 14183, 15133, 13376,
+ 14183, 15133, 13377, 16378,
+ 14183, 15133, 13377, 18566,
+ 14183, 15133, 13460,
+ 14183, 15133, 13461, 18566,
+ 14183, 15133, 13654,
+ 14183, 15133, 13655, 16378,
+ 14183, 15133, 13655, 18566,
+ 14183, 15133, 14544,
+ 14183, 15133, 14545, 18566,
+ 14183, 15133, 15094,
+ 14183, 15133, 15095, 18566,
+ 14183, 15133, 15626,
+ 14183, 15133, 15627, 18566,
+ 14183, 15133, 15708,
+ 14183, 15133, 15709, 18566,
+ 14183, 15133, 17056,
+ 14183, 15133, 17057, 18566,
+ 14183, 15779, 5717, 10376,
+ 14183, 15779, 12025, 17170,
+ 14183, 15779, 13647, 17170,
+ 14183, 15779, 14647, 17170,
+ 14183, 15779, 15403, 17170,
+ 14183, 16663, 13647, 17170,
+ 14183, 16663, 15403, 17170,
+ 14185, 17256,
+ 14197, 11943, 503, 11943, 632,
+ 14197, 11943, 632,
+ 14197, 11943, 633, 10595, 19717, 14178,
+ 14200,
+ 14213, 1293, 483, 5280,
+ 14213, 2874,
+ 14213, 6263, 19420,
+ 14213, 6721, 16913, 9904,
+ 14213, 6757, 9910,
+ 14213, 7779, 18729, 11346,
+ 14213, 7779, 18729, 11502,
+ 14213, 8283, 8805, 14688,
+ 14213, 8283, 18423, 8805, 14688,
+ 14213, 9127, 17660,
+ 14213, 9127, 17890,
+ 14213, 9127, 18038,
+ 14213, 9809, 9413, 15869, 5242,
+ 14213, 9809, 12678,
+ 14213, 9809, 13332,
+ 14213, 9809, 13348,
+ 14213, 9809, 14193, 17492,
+ 14213, 9809, 15372,
+ 14213, 9809, 15463, 18716,
+ 14213, 9809, 15463, 20955, 2270,
+ 14213, 9809, 19568,
+ 14213, 9809, 20663, 14192,
+ 14213, 9809, 20687, 14193, 19640,
+ 14213, 10047, 17928,
+ 14213, 10173, 2597, 1213, 11346,
+ 14213, 10173, 2597, 1213, 11502,
+ 14213, 10173, 3337, 6403, 11346,
+ 14213, 10173, 3337, 6403, 11502,
+ 14213, 10173, 7851, 11346,
+ 14213, 10173, 7851, 11502,
+ 14213, 10577, 12197, 11502,
+ 14213, 11708,
+ 14213, 11725, 11796,
+ 14213, 11725, 12004,
+ 14213, 11725, 12376,
+ 14213, 11725, 17660,
+ 14213, 11725, 17890,
+ 14213, 11725, 18038,
+ 14213, 11796,
+ 14213, 11797, 10595, 1212,
+ 14213, 11797, 14995, 6740,
+ 14213, 11797, 18025, 6740,
+ 14213, 11927, 14365, 2163, 9910,
+ 14213, 11927, 14365, 7135, 9910,
+ 14213, 12004,
+ 14213, 12005, 10595, 1213, 11346,
+ 14213, 12005, 10595, 3337, 6402,
+ 14213, 12005, 10595, 9456,
+ 14213, 12005, 14995, 6740,
+ 14213, 12005, 18025, 6740,
+ 14213, 12197, 11346,
+ 14213, 12197, 11502,
+ 14213, 12376,
+ 14213, 12377, 10595, 1213, 11502,
+ 14213, 12377, 14995, 6740,
+ 14213, 12377, 18025, 6740,
+ 14213, 13171, 483, 15366,
+ 14213, 13271, 18729, 11346,
+ 14213, 13271, 18729, 11347, 10595, 1212,
+ 14213, 13271, 18729, 11502,
+ 14213, 13483, 2163, 8318,
+ 14213, 13483, 2163, 9670,
+ 14213, 13483, 3508,
+ 14213, 13483, 3672,
+ 14213, 13483, 7135, 2067, 5220,
+ 14213, 13483, 7135, 3174,
+ 14213, 13483, 7135, 3508,
+ 14213, 13483, 7135, 3672,
+ 14213, 13483, 7135, 7428,
+ 14213, 13483, 7135, 8319, 16401, 6740,
+ 14213, 13483, 7135, 8319, 18025, 6740,
+ 14213, 13483, 7135, 8804,
+ 14213, 13483, 7135, 9670,
+ 14213, 13483, 7135, 10844,
+ 14213, 13483, 7135, 12576,
+ 14213, 13483, 7135, 13655, 6402,
+ 14213, 13483, 7135, 16159, 7103, 483, 7596,
+ 14213, 13483, 7135, 17011, 10854,
+ 14213, 13483, 7135, 17315, 20665, 10854,
+ 14213, 13483, 7135, 18079, 2749, 10595, 2067, 10595, 5221, 16630,
+ 14213, 13483, 7135, 18079, 2993, 10595, 2067, 10595, 5221, 16630,
+ 14213, 13483, 7135, 18079, 5221, 10595, 2067, 10595, 3672,
+ 14213, 13483, 11796,
+ 14213, 13483, 12004,
+ 14213, 13483, 12376,
+ 14213, 13535, 483, 2951, 199, 7138,
+ 14213, 13560,
+ 14213, 13561, 14995, 6740,
+ 14213, 13561, 18025, 6740,
+ 14213, 13921, 9809, 1213, 11502,
+ 14213, 13921, 9809, 13483, 43, 11346,
+ 14213, 13921, 9809, 18017, 13483, 43, 11346,
+ 14213, 14533, 13271, 18729, 11346,
+ 14213, 14533, 13271, 18729, 11347, 10595, 1212,
+ 14213, 14903, 8,
+ 14213, 14903, 9, 12023, 6740,
+ 14213, 14903, 9, 14995, 6740,
+ 14213, 14903, 9, 16401, 6740,
+ 14213, 14903, 9, 18025, 6740,
+ 14213, 14903, 40,
+ 14213, 14903, 41, 10595, 12197, 11346,
+ 14213, 14903, 41, 10595, 12197, 11347, 18025, 6740,
+ 14213, 14903, 41, 12023, 6740,
+ 14213, 14903, 41, 18025, 6740,
+ 14213, 14903, 66,
+ 14213, 14903, 454,
+ 14213, 14903, 455, 12023, 6740,
+ 14213, 14903, 455, 14995, 6740,
+ 14213, 14903, 455, 16401, 6740,
+ 14213, 14903, 455, 18025, 6740,
+ 14213, 14903, 480,
+ 14213, 14903, 481, 12023, 6740,
+ 14213, 14903, 481, 18025, 6740,
+ 14213, 14903, 680,
+ 14213, 14903, 681, 12023, 6740,
+ 14213, 14903, 681, 18025, 6740,
+ 14213, 14903, 744,
+ 14213, 14903, 745, 12023, 6740,
+ 14213, 14903, 745, 18025, 6740,
+ 14213, 14903, 824,
+ 14213, 14903, 825, 10595, 3337, 6403, 11346,
+ 14213, 14903, 825, 10595, 3337, 6403, 20289, 11346,
+ 14213, 14903, 825, 10595, 13655, 6403, 11346,
+ 14213, 14903, 825, 10595, 13655, 6403, 11502,
+ 14213, 14903, 825, 10595, 13655, 6403, 18297, 19029, 11346,
+ 14213, 14903, 825, 12023, 6740,
+ 14213, 14903, 825, 14995, 6740,
+ 14213, 14903, 825, 16401, 6740,
+ 14213, 14903, 825, 18025, 6740,
+ 14213, 14903, 918,
+ 14213, 14903, 919, 10595, 1213, 11503, 841, 13655, 6403, 11346,
+ 14213, 14903, 919, 10595, 3337, 6403, 11503, 841, 1213, 11346,
+ 14213, 14903, 919, 10595, 12197, 11346,
+ 14213, 14903, 919, 10595, 13483, 42,
+ 14213, 14903, 919, 10595, 13483, 43, 11502,
+ 14213, 14903, 919, 10595, 13655, 6403, 18297, 17319, 11502,
+ 14213, 14903, 919, 10595, 13655, 6403, 18297, 17319, 11503, 841, 3337, 6403, 11346,
+ 14213, 14903, 919, 10595, 13655, 6403, 20889, 11502,
+ 14213, 14903, 919, 10595, 18017, 13483, 43, 11502,
+ 14213, 14903, 919, 12023, 6740,
+ 14213, 14903, 919, 14995, 6740,
+ 14213, 14903, 919, 16401, 6740,
+ 14213, 14903, 919, 18025, 6740,
+ 14213, 14903, 1116,
+ 14213, 14903, 1117, 10595, 1213, 11502,
+ 14213, 14903, 1117, 12023, 6740,
+ 14213, 14903, 1117, 14995, 6740,
+ 14213, 14903, 1117, 16401, 6740,
+ 14213, 14903, 1117, 18025, 6740,
+ 14213, 14903, 1124,
+ 14213, 14903, 1125, 10595, 1213, 11502,
+ 14213, 14903, 1125, 10595, 1213, 11503, 841, 13483, 3174,
+ 14213, 14903, 1125, 10595, 3337, 6403, 20289, 11503, 841, 13483, 3174,
+ 14213, 14903, 1125, 10595, 6743, 6403, 11346,
+ 14213, 14903, 1125, 10595, 9456,
+ 14213, 14903, 1125, 10595, 13655, 6403, 11347, 19028,
+ 14213, 14903, 1125, 10595, 13655, 6403, 11502,
+ 14213, 14903, 1125, 10595, 18017, 42,
+ 14213, 14903, 1125, 10595, 18017, 13483, 43, 11502,
+ 14213, 14903, 1125, 12023, 6740,
+ 14213, 14903, 1125, 18025, 6740,
+ 14213, 14903, 1224,
+ 14213, 14903, 1225, 12023, 6740,
+ 14213, 14903, 1225, 18025, 6740,
+ 14213, 14903, 1360,
+ 14213, 14903, 1361, 10595, 1213, 11502,
+ 14213, 14903, 1361, 10595, 1213, 11503, 841, 13655, 6403, 11346,
+ 14213, 14903, 1361, 10595, 1213, 12701, 11502,
+ 14213, 14903, 1361, 10595, 3337, 6403, 11502,
+ 14213, 14903, 1361, 10595, 13655, 6403, 11502,
+ 14213, 14903, 1361, 10595, 13655, 6403, 18297, 17319, 11502,
+ 14213, 14903, 1361, 12023, 6740,
+ 14213, 14903, 1361, 14995, 6740,
+ 14213, 14903, 1361, 16401, 6740,
+ 14213, 14903, 1361, 18025, 6740,
+ 14213, 14903, 1428,
+ 14213, 14903, 1429, 10595, 3337, 6403, 11502,
+ 14213, 14903, 1429, 10595, 9456,
+ 14213, 14903, 1429, 10595, 13655, 6403, 11346,
+ 14213, 14903, 1429, 10595, 18017, 15534,
+ 14213, 14903, 1429, 12023, 6740,
+ 14213, 14903, 1429, 14995, 6740,
+ 14213, 14903, 1429, 16401, 6740,
+ 14213, 14903, 1429, 18025, 6740,
+ 14213, 14903, 1576,
+ 14213, 14903, 1577, 10595, 3337, 6403, 11346,
+ 14213, 14903, 1577, 10595, 3337, 6403, 18669, 11346,
+ 14213, 14903, 1577, 10595, 12197, 11346,
+ 14213, 14903, 1577, 10595, 13483, 14213, 14903, 3175, 841, 3337, 6402,
+ 14213, 14903, 1577, 10595, 13483, 14213, 14903, 3175, 11346,
+ 14213, 14903, 1577, 10595, 13483, 14213, 14903, 3175, 11502,
+ 14213, 14903, 1577, 10595, 13655, 6403, 11346,
+ 14213, 14903, 1577, 10595, 13655, 6403, 18297, 17319, 11502,
+ 14213, 14903, 1577, 10595, 17887, 20785, 11849, 6743, 11502,
+ 14213, 14903, 1577, 12023, 6740,
+ 14213, 14903, 1577, 14995, 6740,
+ 14213, 14903, 1577, 16401, 6740,
+ 14213, 14903, 1577, 18025, 6740,
+ 14213, 14903, 1600,
+ 14213, 14903, 1601, 7008,
+ 14213, 14903, 1601, 7009, 10595, 12197, 11346,
+ 14213, 14903, 1601, 7009, 12023, 6740,
+ 14213, 14903, 1601, 7009, 14995, 6740,
+ 14213, 14903, 1601, 7009, 16401, 6740,
+ 14213, 14903, 1601, 7009, 18025, 6740,
+ 14213, 14903, 1601, 10595, 3673, 11346,
+ 14213, 14903, 1601, 10595, 3673, 11347, 12023, 6740,
+ 14213, 14903, 1601, 10595, 3673, 11347, 18025, 6740,
+ 14213, 14903, 1601, 10595, 18017, 42,
+ 14213, 14903, 1601, 12023, 6740,
+ 14213, 14903, 1601, 14995, 6740,
+ 14213, 14903, 1601, 16401, 6740,
+ 14213, 14903, 1601, 18025, 6740,
+ 14213, 14903, 1601, 20396,
+ 14213, 14903, 1601, 20397, 12023, 6740,
+ 14213, 14903, 1601, 20397, 14995, 6740,
+ 14213, 14903, 1601, 20397, 16401, 6740,
+ 14213, 14903, 1601, 20397, 18025, 6740,
+ 14213, 14903, 1780,
+ 14213, 14903, 1781, 12023, 6740,
+ 14213, 14903, 1781, 18025, 6740,
+ 14213, 14903, 1856,
+ 14213, 14903, 1857, 10595, 1213, 11346,
+ 14213, 14903, 1857, 10595, 1213, 11502,
+ 14213, 14903, 1857, 10595, 3337, 6403, 11346,
+ 14213, 14903, 1857, 10595, 9456,
+ 14213, 14903, 1857, 10595, 13655, 6403, 11502,
+ 14213, 14903, 1857, 12023, 6740,
+ 14213, 14903, 1857, 14995, 6740,
+ 14213, 14903, 1857, 16401, 6740,
+ 14213, 14903, 1857, 18025, 6740,
+ 14213, 14903, 2066,
+ 14213, 14903, 2067, 10595, 894,
+ 14213, 14903, 2067, 10595, 1213, 11346,
+ 14213, 14903, 2067, 10595, 13483, 42,
+ 14213, 14903, 2067, 10595, 13655, 6403, 11346,
+ 14213, 14903, 2067, 10595, 13655, 6403, 11502,
+ 14213, 14903, 2067, 10595, 14533, 894,
+ 14213, 14903, 2067, 12023, 6740,
+ 14213, 14903, 2067, 14995, 6740,
+ 14213, 14903, 2067, 16401, 6740,
+ 14213, 14903, 2067, 18025, 6740,
+ 14213, 14903, 2163, 5220,
+ 14213, 14903, 2650,
+ 14213, 14903, 2651, 12023, 6740,
+ 14213, 14903, 2651, 14995, 6740,
+ 14213, 14903, 2651, 16401, 6740,
+ 14213, 14903, 2651, 18025, 6740,
+ 14213, 14903, 2748,
+ 14213, 14903, 2749, 10595, 1213, 11346,
+ 14213, 14903, 2749, 10595, 1213, 11502,
+ 14213, 14903, 2749, 10595, 13655, 6403, 11346,
+ 14213, 14903, 2749, 12023, 6740,
+ 14213, 14903, 2749, 14995, 6740,
+ 14213, 14903, 2749, 16401, 6740,
+ 14213, 14903, 2749, 18025, 6740,
+ 14213, 14903, 2882,
+ 14213, 14903, 2883, 10595, 1213, 11502,
+ 14213, 14903, 2883, 10595, 1213, 11503, 841, 1213, 11346,
+ 14213, 14903, 2883, 10595, 3337, 6403, 11346,
+ 14213, 14903, 2883, 10595, 3337, 6403, 20289, 11346,
+ 14213, 14903, 2883, 10595, 6743, 6403, 11346,
+ 14213, 14903, 2883, 10595, 7850,
+ 14213, 14903, 2883, 10595, 9456,
+ 14213, 14903, 2883, 10595, 12197, 11346,
+ 14213, 14903, 2883, 10595, 13483, 42,
+ 14213, 14903, 2883, 10595, 13483, 43, 11502,
+ 14213, 14903, 2883, 10595, 13483, 14213, 14903, 3175, 841, 3337, 6402,
+ 14213, 14903, 2883, 10595, 15534,
+ 14213, 14903, 2883, 10595, 18017, 42,
+ 14213, 14903, 2883, 12023, 6740,
+ 14213, 14903, 2883, 18025, 6740,
+ 14213, 14903, 2992,
+ 14213, 14903, 2993, 10595, 3337, 6403, 11502,
+ 14213, 14903, 2993, 10595, 13655, 6403, 11346,
+ 14213, 14903, 2993, 10595, 13655, 6403, 11502,
+ 14213, 14903, 2993, 12023, 6740,
+ 14213, 14903, 2993, 14995, 6740,
+ 14213, 14903, 2993, 16401, 6740,
+ 14213, 14903, 2993, 18025, 6740,
+ 14213, 14903, 3174,
+ 14213, 14903, 3175, 10595, 3337, 6403, 11346,
+ 14213, 14903, 3175, 10595, 13655, 6403, 11346,
+ 14213, 14903, 3175, 12023, 6740,
+ 14213, 14903, 3175, 14995, 6740,
+ 14213, 14903, 3175, 16401, 6740,
+ 14213, 14903, 3175, 18025, 6740,
+ 14213, 14903, 3208,
+ 14213, 14903, 3209, 10595, 9456,
+ 14213, 14903, 3209, 10595, 13655, 6403, 11347, 19028,
+ 14213, 14903, 3209, 12023, 6740,
+ 14213, 14903, 3209, 14995, 6740,
+ 14213, 14903, 3209, 16401, 6740,
+ 14213, 14903, 3209, 16644,
+ 14213, 14903, 3209, 16645, 7008,
+ 14213, 14903, 3209, 16645, 12023, 6740,
+ 14213, 14903, 3209, 16645, 18025, 6740,
+ 14213, 14903, 3209, 18025, 6740,
+ 14213, 14903, 3436,
+ 14213, 14903, 3437, 12023, 6740,
+ 14213, 14903, 3437, 14995, 6740,
+ 14213, 14903, 3437, 16401, 6740,
+ 14213, 14903, 3437, 18025, 6740,
+ 14213, 14903, 3508,
+ 14213, 14903, 3509, 10595, 1213, 11346,
+ 14213, 14903, 3509, 10595, 1213, 15786,
+ 14213, 14903, 3509, 10595, 3337, 6403, 11346,
+ 14213, 14903, 3509, 10595, 9456,
+ 14213, 14903, 3509, 10595, 12197, 11346,
+ 14213, 14903, 3509, 10595, 12197, 11347, 12023, 6740,
+ 14213, 14903, 3509, 10595, 12197, 11347, 18025, 6740,
+ 14213, 14903, 3509, 10595, 17887, 20785, 11849, 3337, 11346,
+ 14213, 14903, 3509, 10595, 17887, 20785, 11849, 13655, 11346,
+ 14213, 14903, 3509, 12023, 6740,
+ 14213, 14903, 3509, 18025, 6740,
+ 14213, 14903, 3672,
+ 14213, 14903, 3673, 10595, 3337, 6403, 11503, 841, 1213, 11346,
+ 14213, 14903, 3673, 10595, 3337, 6403, 11503, 841, 12197, 11346,
+ 14213, 14903, 3673, 10595, 10046,
+ 14213, 14903, 3673, 10595, 12197, 11346,
+ 14213, 14903, 3673, 10595, 12197, 11347, 12023, 6740,
+ 14213, 14903, 3673, 10595, 12197, 11347, 14995, 6740,
+ 14213, 14903, 3673, 10595, 12197, 11347, 16401, 6740,
+ 14213, 14903, 3673, 10595, 12197, 11347, 18025, 6740,
+ 14213, 14903, 3673, 10595, 13483, 42,
+ 14213, 14903, 3673, 10595, 13655, 6403, 11502,
+ 14213, 14903, 3673, 12023, 6740,
+ 14213, 14903, 3673, 14272,
+ 14213, 14903, 3673, 14273, 10595, 12197, 11346,
+ 14213, 14903, 3673, 14273, 10595, 12197, 11347, 12023, 6740,
+ 14213, 14903, 3673, 14273, 10595, 12197, 11347, 18025, 6740,
+ 14213, 14903, 3673, 14273, 10595, 17887, 20785, 11849, 3337, 11346,
+ 14213, 14903, 3673, 14273, 10595, 17887, 20785, 11849, 13655, 11346,
+ 14213, 14903, 3673, 14273, 12023, 6740,
+ 14213, 14903, 3673, 14273, 18025, 6740,
+ 14213, 14903, 3673, 14995, 6740,
+ 14213, 14903, 3673, 16401, 6740,
+ 14213, 14903, 3673, 18025, 6740,
+ 14213, 14903, 3764,
+ 14213, 14903, 3765, 12023, 6740,
+ 14213, 14903, 3765, 14995, 6740,
+ 14213, 14903, 3765, 16401, 6740,
+ 14213, 14903, 3765, 18025, 6740,
+ 14213, 14903, 5220,
+ 14213, 14903, 5221, 10595, 10577, 12197, 11346,
+ 14213, 14903, 5221, 10595, 10577, 12197, 11502,
+ 14213, 14903, 5221, 10595, 12197, 11346,
+ 14213, 14903, 5221, 10595, 12197, 11347, 12023, 6740,
+ 14213, 14903, 5221, 10595, 12197, 11347, 18025, 6740,
+ 14213, 14903, 5221, 10595, 12197, 11502,
+ 14213, 14903, 5221, 10595, 12197, 11503, 12023, 6740,
+ 14213, 14903, 5221, 10595, 12197, 11503, 18025, 6740,
+ 14213, 14903, 5221, 10595, 12577, 11346,
+ 14213, 14903, 5221, 10595, 12577, 11347, 12023, 6740,
+ 14213, 14903, 5221, 10595, 12577, 11347, 18025, 6740,
+ 14213, 14903, 5221, 10595, 17887, 20785, 11849, 3337, 11346,
+ 14213, 14903, 5221, 10595, 17887, 20785, 11849, 13655, 11346,
+ 14213, 14903, 5221, 12023, 6740,
+ 14213, 14903, 5221, 13944,
+ 14213, 14903, 5221, 13945, 12023, 6740,
+ 14213, 14903, 5221, 13945, 18025, 6740,
+ 14213, 14903, 5221, 16630,
+ 14213, 14903, 5221, 16631, 12023, 6740,
+ 14213, 14903, 5221, 16631, 18025, 6740,
+ 14213, 14903, 5221, 18025, 6740,
+ 14213, 14903, 5776,
+ 14213, 14903, 5777, 12023, 6740,
+ 14213, 14903, 5777, 14995, 6740,
+ 14213, 14903, 5777, 16401, 6740,
+ 14213, 14903, 5777, 18025, 6740,
+ 14213, 14903, 6270,
+ 14213, 14903, 6271, 12023, 6740,
+ 14213, 14903, 6271, 18025, 6740,
+ 14213, 14903, 6432,
+ 14213, 14903, 6433, 12023, 6740,
+ 14213, 14903, 6433, 14995, 6740,
+ 14213, 14903, 6433, 16401, 6740,
+ 14213, 14903, 6433, 18025, 6740,
+ 14213, 14903, 7030,
+ 14213, 14903, 7031, 12023, 6740,
+ 14213, 14903, 7031, 14995, 6740,
+ 14213, 14903, 7031, 16401, 6740,
+ 14213, 14903, 7031, 18025, 6740,
+ 14213, 14903, 7135, 12196,
+ 14213, 14903, 7135, 12197, 3508,
+ 14213, 14903, 7135, 12197, 3672,
+ 14213, 14903, 7135, 12197, 5220,
+ 14213, 14903, 7428,
+ 14213, 14903, 7429, 10595, 3337, 6403, 11346,
+ 14213, 14903, 7429, 12023, 6740,
+ 14213, 14903, 7429, 14995, 6740,
+ 14213, 14903, 7429, 16401, 6740,
+ 14213, 14903, 7429, 18025, 6740,
+ 14213, 14903, 7596,
+ 14213, 14903, 7597, 12023, 6740,
+ 14213, 14903, 7597, 14995, 6740,
+ 14213, 14903, 7597, 16401, 6740,
+ 14213, 14903, 7597, 18025, 6740,
+ 14213, 14903, 8282,
+ 14213, 14903, 8318,
+ 14213, 14903, 8319, 10595, 1213, 11346,
+ 14213, 14903, 8319, 10595, 1213, 11502,
+ 14213, 14903, 8319, 10595, 13655, 6403, 11346,
+ 14213, 14903, 8319, 12023, 6740,
+ 14213, 14903, 8319, 14995, 6740,
+ 14213, 14903, 8319, 16401, 6740,
+ 14213, 14903, 8319, 18025, 6740,
+ 14213, 14903, 8804,
+ 14213, 14903, 8805, 10595, 1213, 11502,
+ 14213, 14903, 8805, 10595, 3337, 6403, 11502,
+ 14213, 14903, 8805, 10595, 9456,
+ 14213, 14903, 8805, 10595, 13483, 42,
+ 14213, 14903, 8805, 10595, 13483, 3174,
+ 14213, 14903, 8805, 10595, 13655, 6403, 11346,
+ 14213, 14903, 8805, 12023, 6740,
+ 14213, 14903, 8805, 14688,
+ 14213, 14903, 8805, 14689, 12023, 6740,
+ 14213, 14903, 8805, 14689, 18025, 6740,
+ 14213, 14903, 8805, 14995, 6740,
+ 14213, 14903, 8805, 16401, 6740,
+ 14213, 14903, 8805, 18025, 6740,
+ 14213, 14903, 8910,
+ 14213, 14903, 8911, 12023, 6740,
+ 14213, 14903, 8911, 14995, 6740,
+ 14213, 14903, 8911, 16401, 6740,
+ 14213, 14903, 8911, 18025, 6740,
+ 14213, 14903, 9482,
+ 14213, 14903, 9483, 12023, 6740,
+ 14213, 14903, 9483, 18025, 6740,
+ 14213, 14903, 9670,
+ 14213, 14903, 9671, 10595, 1213, 11503, 841, 1213, 11346,
+ 14213, 14903, 9671, 10595, 3337, 6403, 20289, 11346,
+ 14213, 14903, 9671, 10595, 6743, 6403, 11346,
+ 14213, 14903, 9671, 10595, 13483, 14213, 14903, 3175, 841, 3337, 6402,
+ 14213, 14903, 9671, 10595, 13655, 6403, 11502,
+ 14213, 14903, 9671, 10595, 13655, 6403, 11503, 841, 13655, 6403, 11346,
+ 14213, 14903, 9671, 10595, 17887, 20785, 11849, 6743, 11346,
+ 14213, 14903, 9671, 10595, 18017, 42,
+ 14213, 14903, 9671, 12023, 6740,
+ 14213, 14903, 9671, 14995, 6740,
+ 14213, 14903, 9671, 16401, 6740,
+ 14213, 14903, 9671, 18025, 6740,
+ 14213, 14903, 10094,
+ 14213, 14903, 10095, 12023, 6740,
+ 14213, 14903, 10095, 18025, 6740,
+ 14213, 14903, 10106,
+ 14213, 14903, 10107, 12023, 6740,
+ 14213, 14903, 10107, 14995, 6740,
+ 14213, 14903, 10107, 16401, 6740,
+ 14213, 14903, 10107, 18025, 6740,
+ 14213, 14903, 10216,
+ 14213, 14903, 10217, 12023, 6740,
+ 14213, 14903, 10217, 14995, 6740,
+ 14213, 14903, 10217, 16401, 6740,
+ 14213, 14903, 10217, 18025, 6740,
+ 14213, 14903, 10844,
+ 14213, 14903, 10845, 10595, 18017, 43, 11346,
+ 14213, 14903, 10845, 12023, 6740,
+ 14213, 14903, 10845, 18025, 6740,
+ 14213, 14903, 11498,
+ 14213, 14903, 11499, 12023, 6740,
+ 14213, 14903, 11499, 14995, 6740,
+ 14213, 14903, 11499, 16401, 6740,
+ 14213, 14903, 11499, 18025, 6740,
+ 14213, 14903, 11786,
+ 14213, 14903, 11787, 12023, 6740,
+ 14213, 14903, 11787, 18025, 6740,
+ 14213, 14903, 12003, 3672,
+ 14213, 14903, 12003, 3673, 10595, 3337, 6403, 11346,
+ 14213, 14903, 12003, 3673, 10595, 13655, 6403, 11346,
+ 14213, 14903, 12003, 3673, 10595, 17887, 20785, 11849, 3337, 11346,
+ 14213, 14903, 12003, 3673, 10595, 17887, 20785, 11849, 6743, 11502,
+ 14213, 14903, 12003, 3673, 10595, 17887, 20785, 11849, 13655, 11346,
+ 14213, 14903, 12003, 3673, 10595, 18017, 42,
+ 14213, 14903, 12003, 3673, 12023, 6740,
+ 14213, 14903, 12003, 3673, 14995, 6740,
+ 14213, 14903, 12003, 3673, 16401, 6740,
+ 14213, 14903, 12003, 3673, 18025, 6740,
+ 14213, 14903, 12128,
+ 14213, 14903, 12129, 10595, 1213, 11502,
+ 14213, 14903, 12129, 12023, 6740,
+ 14213, 14903, 12129, 14995, 6740,
+ 14213, 14903, 12129, 16401, 6740,
+ 14213, 14903, 12129, 18025, 6740,
+ 14213, 14903, 12196,
+ 14213, 14903, 12197, 18025, 6740,
+ 14213, 14903, 12388,
+ 14213, 14903, 12389, 10595, 1213, 11346,
+ 14213, 14903, 12389, 10595, 3337, 6403, 11346,
+ 14213, 14903, 12389, 10595, 13655, 6403, 11346,
+ 14213, 14903, 12389, 10595, 13655, 6403, 11502,
+ 14213, 14903, 12389, 10595, 13655, 6403, 18297, 17319, 11502,
+ 14213, 14903, 12389, 12023, 6740,
+ 14213, 14903, 12389, 14995, 6740,
+ 14213, 14903, 12389, 16401, 6740,
+ 14213, 14903, 12389, 18025, 6740,
+ 14213, 14903, 12810,
+ 14213, 14903, 12811, 12023, 6740,
+ 14213, 14903, 12811, 14995, 6740,
+ 14213, 14903, 12811, 16401, 6740,
+ 14213, 14903, 12811, 18025, 6740,
+ 14213, 14903, 13140,
+ 14213, 14903, 13141, 12023, 6740,
+ 14213, 14903, 13141, 14995, 6740,
+ 14213, 14903, 13141, 16401, 6740,
+ 14213, 14903, 13141, 18025, 6740,
+ 14213, 14903, 13278,
+ 14213, 14903, 13279, 12023, 6740,
+ 14213, 14903, 13279, 14995, 6740,
+ 14213, 14903, 13279, 16401, 6740,
+ 14213, 14903, 13279, 18025, 6740,
+ 14213, 14903, 13398,
+ 14213, 14903, 13399, 10595, 1213, 11502,
+ 14213, 14903, 13399, 12023, 6740,
+ 14213, 14903, 13399, 14995, 6740,
+ 14213, 14903, 13399, 16401, 6740,
+ 14213, 14903, 13399, 18025, 6740,
+ 14213, 14903, 13571, 1856,
+ 14213, 14903, 13608,
+ 14213, 14903, 13609, 10595, 1213, 11346,
+ 14213, 14903, 13609, 12023, 6740,
+ 14213, 14903, 13609, 14995, 6740,
+ 14213, 14903, 13609, 16401, 6740,
+ 14213, 14903, 13609, 18025, 6740,
+ 14213, 14903, 13620,
+ 14213, 14903, 13621, 12023, 6740,
+ 14213, 14903, 13621, 14995, 6740,
+ 14213, 14903, 13621, 16401, 6740,
+ 14213, 14903, 13621, 18025, 6740,
+ 14213, 14903, 14464,
+ 14213, 14903, 14465, 12023, 6740,
+ 14213, 14903, 14465, 18025, 6740,
+ 14213, 14903, 15688,
+ 14213, 14903, 15689, 12023, 6740,
+ 14213, 14903, 15689, 14995, 6740,
+ 14213, 14903, 15689, 16401, 6740,
+ 14213, 14903, 15689, 18025, 6740,
+ 14213, 14903, 15731, 14813, 16459, 5221, 16631, 14995, 6740,
+ 14213, 14903, 15731, 14813, 16459, 5221, 16631, 16401, 6740,
+ 14213, 14903, 16159, 918,
+ 14213, 14903, 16159, 1360,
+ 14213, 14903, 16159, 2748,
+ 14213, 14903, 16459, 480,
+ 14213, 14903, 16459, 481, 12023, 6740,
+ 14213, 14903, 16459, 481, 18025, 6740,
+ 14213, 14903, 16459, 744,
+ 14213, 14903, 16459, 745, 12023, 6740,
+ 14213, 14903, 16459, 745, 18025, 6740,
+ 14213, 14903, 17210,
+ 14213, 14903, 17211, 12023, 6740,
+ 14213, 14903, 17211, 14995, 6740,
+ 14213, 14903, 17211, 16401, 6740,
+ 14213, 14903, 17211, 18025, 6740,
+ 14213, 14903, 18037, 3672,
+ 14213, 14903, 18371, 3672,
+ 14213, 14903, 18475, 3508,
+ 14213, 14903, 20719, 5220,
+ 14213, 14955, 11346,
+ 14213, 15133, 8283, 11346,
+ 14213, 15133, 9808,
+ 14213, 15257, 13905, 9808,
+ 14213, 15418,
+ 14213, 15419, 14995, 6740,
+ 14213, 15419, 18025, 6740,
+ 14213, 15565, 1213, 11346,
+ 14213, 15565, 1213, 11502,
+ 14213, 15565, 3337, 6403, 11346,
+ 14213, 15565, 3337, 6403, 11502,
+ 14213, 15565, 3337, 6403, 20289, 11346,
+ 14213, 15565, 3337, 6403, 20289, 11502,
+ 14213, 15565, 6743, 6403, 11346,
+ 14213, 15565, 6743, 6403, 11502,
+ 14213, 15565, 9456,
+ 14213, 15565, 13483, 3175, 11346,
+ 14213, 15565, 13483, 3175, 11502,
+ 14213, 15565, 13655, 6403, 11346,
+ 14213, 15565, 13655, 6403, 11502,
+ 14213, 15565, 13655, 6403, 18297, 19029, 11346,
+ 14213, 15565, 13655, 6403, 18297, 19029, 11502,
+ 14213, 15565, 14533, 18669, 895, 11502,
+ 14213, 15671, 1213, 20659, 8282,
+ 14213, 15701, 11797, 11502,
+ 14213, 16113, 19420,
+ 14213, 16873, 9808,
+ 14213, 17011, 7135, 9911, 10595, 14603, 14364,
+ 14213, 17206,
+ 14213, 17207, 10595, 17891, 11346,
+ 14213, 17660,
+ 14213, 17661, 18025, 6740,
+ 14213, 17890,
+ 14213, 17891, 18025, 6740,
+ 14213, 17919, 14976,
+ 14213, 18017, 11796,
+ 14213, 18038,
+ 14213, 18039, 18025, 6740,
+ 14213, 18079, 825, 10595, 3673, 12023, 6740,
+ 14213, 18079, 825, 10595, 3673, 18025, 6740,
+ 14213, 18079, 825, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 825, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 825, 10595, 7429, 10595, 8319, 12023, 6740,
+ 14213, 18079, 825, 10595, 7429, 10595, 8319, 16401, 6740,
+ 14213, 18079, 825, 10595, 7429, 16401, 6740,
+ 14213, 18079, 825, 10595, 7429, 18025, 6740,
+ 14213, 18079, 825, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 825, 10595, 8319, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 825, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 825, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 825, 10595, 8319, 16401, 6740,
+ 14213, 18079, 825, 10595, 8319, 18025, 6740,
+ 14213, 18079, 919, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 919, 10595, 1577, 16401, 6740,
+ 14213, 18079, 919, 10595, 1577, 18025, 6740,
+ 14213, 18079, 919, 10595, 1601, 14995, 6740,
+ 14213, 18079, 919, 10595, 1601, 16401, 6740,
+ 14213, 18079, 919, 10595, 2883, 12023, 6740,
+ 14213, 18079, 919, 10595, 3673, 12023, 6740,
+ 14213, 18079, 919, 10595, 3673, 18025, 6740,
+ 14213, 18079, 919, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 919, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 919, 10595, 7429, 16401, 6740,
+ 14213, 18079, 919, 10595, 7429, 18025, 6740,
+ 14213, 18079, 919, 10595, 7597, 10595, 3673, 12023, 6740,
+ 14213, 18079, 919, 10595, 7597, 16401, 6740,
+ 14213, 18079, 919, 10595, 7597, 18025, 6740,
+ 14213, 18079, 919, 10595, 8319, 12023, 6740,
+ 14213, 18079, 919, 10595, 8319, 14995, 6740,
+ 14213, 18079, 919, 10595, 8319, 16401, 6740,
+ 14213, 18079, 919, 10595, 8319, 18025, 6740,
+ 14213, 18079, 919, 10595, 8805, 12023, 6740,
+ 14213, 18079, 919, 10595, 10845, 12023, 6740,
+ 14213, 18079, 1117, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1117, 10595, 1577, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 1117, 10595, 1577, 16401, 6740,
+ 14213, 18079, 1117, 10595, 1577, 18025, 6740,
+ 14213, 18079, 1117, 10595, 2883, 12023, 6740,
+ 14213, 18079, 1117, 10595, 2883, 18025, 6740,
+ 14213, 18079, 1117, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1117, 10595, 3673, 18025, 6740,
+ 14213, 18079, 1117, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 1117, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 1117, 10595, 7429, 16401, 6740,
+ 14213, 18079, 1117, 10595, 7429, 18025, 6740,
+ 14213, 18079, 1117, 10595, 7597, 10595, 8319, 12023, 6740,
+ 14213, 18079, 1117, 10595, 7597, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1117, 10595, 7597, 16401, 6740,
+ 14213, 18079, 1117, 10595, 7597, 18025, 6740,
+ 14213, 18079, 1117, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1117, 10595, 8319, 18025, 6740,
+ 14213, 18079, 1361, 10595, 1577, 16401, 6740,
+ 14213, 18079, 1361, 10595, 1577, 18025, 6740,
+ 14213, 18079, 1361, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1361, 10595, 3673, 18025, 6740,
+ 14213, 18079, 1361, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 1361, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 1361, 10595, 7429, 16401, 6740,
+ 14213, 18079, 1361, 10595, 7429, 18025, 6740,
+ 14213, 18079, 1361, 10595, 7597, 10595, 8319, 12023, 6740,
+ 14213, 18079, 1361, 10595, 7597, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1361, 10595, 7597, 16401, 6740,
+ 14213, 18079, 1361, 10595, 7597, 18025, 6740,
+ 14213, 18079, 1361, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1361, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1361, 10595, 8319, 18025, 6740,
+ 14213, 18079, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1577, 10595, 3673, 18025, 6740,
+ 14213, 18079, 1577, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 1577, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 1577, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1577, 10595, 7429, 16401, 6740,
+ 14213, 18079, 1577, 10595, 7429, 18025, 6740,
+ 14213, 18079, 1577, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1577, 10595, 8319, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 1577, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1577, 10595, 8319, 18025, 6740,
+ 14213, 18079, 1601, 10595, 3673, 18025, 6740,
+ 14213, 18079, 1601, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 1601, 10595, 7429, 16401, 6740,
+ 14213, 18079, 1601, 10595, 7429, 18025, 6740,
+ 14213, 18079, 1601, 10595, 8319, 10595, 7429, 16401, 6740,
+ 14213, 18079, 1601, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1601, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1601, 10595, 8319, 18025, 6740,
+ 14213, 18079, 1601, 10595, 20719, 5221, 16401, 6740,
+ 14213, 18079, 1857, 10595, 1577, 16401, 6740,
+ 14213, 18079, 1857, 10595, 1577, 18025, 6740,
+ 14213, 18079, 1857, 10595, 2067, 12023, 6740,
+ 14213, 18079, 1857, 10595, 2067, 14995, 6740,
+ 14213, 18079, 1857, 10595, 2067, 16401, 6740,
+ 14213, 18079, 1857, 10595, 2067, 18025, 6740,
+ 14213, 18079, 1857, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1857, 10595, 3673, 18025, 6740,
+ 14213, 18079, 1857, 10595, 5221, 12023, 6740,
+ 14213, 18079, 1857, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 1857, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 1857, 10595, 5221, 18025, 6740,
+ 14213, 18079, 1857, 10595, 7429, 16401, 6740,
+ 14213, 18079, 1857, 10595, 7429, 18025, 6740,
+ 14213, 18079, 1857, 10595, 7597, 16401, 6740,
+ 14213, 18079, 1857, 10595, 7597, 18025, 6740,
+ 14213, 18079, 1857, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 1857, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 1857, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1857, 10595, 8319, 12023, 6740,
+ 14213, 18079, 1857, 10595, 8319, 14995, 6740,
+ 14213, 18079, 1857, 10595, 8319, 16401, 6740,
+ 14213, 18079, 1857, 10595, 8319, 18025, 6740,
+ 14213, 18079, 2067, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2067, 10595, 1577, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 2067, 10595, 1577, 10595, 8319, 12023, 6740,
+ 14213, 18079, 2067, 10595, 1577, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2067, 10595, 1577, 16401, 6740,
+ 14213, 18079, 2067, 10595, 1577, 18025, 6740,
+ 14213, 18079, 2067, 10595, 1601, 16401, 6740,
+ 14213, 18079, 2067, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2067, 10595, 3673, 18025, 6740,
+ 14213, 18079, 2067, 10595, 5221, 10595, 12197, 11347, 12023, 6740,
+ 14213, 18079, 2067, 10595, 5221, 10595, 12197, 11347, 18025, 6740,
+ 14213, 18079, 2067, 10595, 5221, 10595, 12197, 11503, 12023, 6740,
+ 14213, 18079, 2067, 10595, 5221, 10595, 12197, 11503, 18025, 6740,
+ 14213, 18079, 2067, 10595, 5221, 10595, 12577, 11347, 12023, 6740,
+ 14213, 18079, 2067, 10595, 5221, 10595, 12577, 11347, 18025, 6740,
+ 14213, 18079, 2067, 10595, 5221, 12023, 6740,
+ 14213, 18079, 2067, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 2067, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 2067, 10595, 5221, 18025, 6740,
+ 14213, 18079, 2067, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2067, 10595, 7429, 10595, 7429, 12023, 6740,
+ 14213, 18079, 2067, 10595, 7429, 10595, 7429, 16401, 6740,
+ 14213, 18079, 2067, 10595, 7429, 10595, 8319, 12023, 6740,
+ 14213, 18079, 2067, 10595, 7429, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2067, 10595, 7429, 16401, 6740,
+ 14213, 18079, 2067, 10595, 7429, 18025, 6740,
+ 14213, 18079, 2067, 10595, 7597, 10595, 8319, 12023, 6740,
+ 14213, 18079, 2067, 10595, 7597, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2067, 10595, 7597, 16401, 6740,
+ 14213, 18079, 2067, 10595, 7597, 18025, 6740,
+ 14213, 18079, 2067, 10595, 8319, 10595, 1577, 12023, 6740,
+ 14213, 18079, 2067, 10595, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 2067, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2067, 10595, 8319, 12023, 6740,
+ 14213, 18079, 2067, 10595, 8319, 14995, 6740,
+ 14213, 18079, 2067, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2067, 10595, 8319, 18025, 6740,
+ 14213, 18079, 2749, 10595, 1577, 16401, 6740,
+ 14213, 18079, 2749, 10595, 1577, 18025, 6740,
+ 14213, 18079, 2749, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2749, 10595, 3673, 18025, 6740,
+ 14213, 18079, 2749, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 2749, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 2749, 10595, 8319, 10595, 1577, 12023, 6740,
+ 14213, 18079, 2749, 10595, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 2749, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2749, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 2749, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2749, 10595, 8319, 18025, 6740,
+ 14213, 18079, 2883, 10595, 20719, 5221, 18025, 6740,
+ 14213, 18079, 2993, 10595, 1577, 10595, 1577, 12023, 6740,
+ 14213, 18079, 2993, 10595, 1577, 10595, 1577, 16401, 6740,
+ 14213, 18079, 2993, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2993, 10595, 1577, 16401, 6740,
+ 14213, 18079, 2993, 10595, 1577, 18025, 6740,
+ 14213, 18079, 2993, 10595, 2883, 12023, 6740,
+ 14213, 18079, 2993, 10595, 2883, 18025, 6740,
+ 14213, 18079, 2993, 10595, 3673, 12023, 6740,
+ 14213, 18079, 2993, 10595, 3673, 18025, 6740,
+ 14213, 18079, 2993, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 2993, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 2993, 10595, 7597, 16401, 6740,
+ 14213, 18079, 2993, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 2993, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2993, 10595, 8319, 16401, 6740,
+ 14213, 18079, 2993, 10595, 8319, 18025, 6740,
+ 14213, 18079, 3175, 10595, 1577, 16401, 6740,
+ 14213, 18079, 3175, 10595, 1577, 18025, 6740,
+ 14213, 18079, 3175, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3175, 10595, 3673, 18025, 6740,
+ 14213, 18079, 3175, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3175, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 3175, 10595, 8319, 10595, 1577, 12023, 6740,
+ 14213, 18079, 3175, 10595, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 3175, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3175, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3175, 10595, 8319, 14995, 6740,
+ 14213, 18079, 3175, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3175, 10595, 8319, 18025, 6740,
+ 14213, 18079, 3209, 10595, 1577, 10595, 7429, 12023, 6740,
+ 14213, 18079, 3209, 10595, 1577, 10595, 7429, 16401, 6740,
+ 14213, 18079, 3209, 10595, 1577, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3209, 10595, 1577, 16401, 6740,
+ 14213, 18079, 3209, 10595, 1577, 18025, 6740,
+ 14213, 18079, 3209, 10595, 1601, 14995, 6740,
+ 14213, 18079, 3209, 10595, 1601, 16401, 6740,
+ 14213, 18079, 3209, 10595, 2883, 12023, 6740,
+ 14213, 18079, 3209, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3209, 10595, 3673, 18025, 6740,
+ 14213, 18079, 3209, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3209, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 3209, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3209, 10595, 7429, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3209, 10595, 7429, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3209, 10595, 7429, 16401, 6740,
+ 14213, 18079, 3209, 10595, 7429, 18025, 6740,
+ 14213, 18079, 3209, 10595, 7597, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3209, 10595, 7597, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3209, 10595, 7597, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3209, 10595, 7597, 16401, 6740,
+ 14213, 18079, 3209, 10595, 7597, 18025, 6740,
+ 14213, 18079, 3209, 10595, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 3209, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3209, 10595, 8319, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3209, 10595, 8319, 10595, 7429, 16401, 6740,
+ 14213, 18079, 3209, 10595, 8319, 10595, 7597, 16401, 6740,
+ 14213, 18079, 3209, 10595, 8319, 12023, 6740,
+ 14213, 18079, 3209, 10595, 8319, 14995, 6740,
+ 14213, 18079, 3209, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3209, 10595, 8319, 18025, 6740,
+ 14213, 18079, 3209, 10595, 8805, 12023, 6740,
+ 14213, 18079, 3209, 10595, 10845, 12023, 6740,
+ 14213, 18079, 3673, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3673, 10595, 1577, 16401, 6740,
+ 14213, 18079, 3673, 10595, 1577, 18025, 6740,
+ 14213, 18079, 3673, 10595, 1601, 14995, 6740,
+ 14213, 18079, 3673, 10595, 1601, 16401, 6740,
+ 14213, 18079, 3673, 10595, 2883, 12023, 6740,
+ 14213, 18079, 3673, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3673, 10595, 3673, 18025, 6740,
+ 14213, 18079, 3673, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3673, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 3673, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3673, 10595, 7429, 16401, 6740,
+ 14213, 18079, 3673, 10595, 7429, 18025, 6740,
+ 14213, 18079, 3673, 10595, 7597, 16401, 6740,
+ 14213, 18079, 3673, 10595, 7597, 18025, 6740,
+ 14213, 18079, 3673, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3673, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 3673, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3673, 10595, 8319, 12023, 6740,
+ 14213, 18079, 3673, 10595, 8319, 14995, 6740,
+ 14213, 18079, 3673, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3673, 10595, 8319, 18025, 6740,
+ 14213, 18079, 3673, 10595, 8805, 12023, 6740,
+ 14213, 18079, 3673, 10595, 10845, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 9, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 9, 16401, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 9, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 41, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 41, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 67, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 67, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 481, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 481, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 745, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 745, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 1577, 16401, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 1577, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 1601, 14995, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 1601, 16401, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 2883, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 3509, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 3509, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 3673, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 3673, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 5221, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 5221, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 7429, 16401, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 7429, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 7597, 16401, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 8319, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 8319, 14995, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 8319, 18025, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 8805, 12023, 6740,
+ 14213, 18079, 3673, 10595, 12197, 11347, 10595, 10845, 12023, 6740,
+ 14213, 18079, 3765, 10595, 8319, 14995, 6740,
+ 14213, 18079, 3765, 10595, 8319, 16401, 6740,
+ 14213, 18079, 3765, 10595, 8319, 18025, 6740,
+ 14213, 18079, 5221, 10595, 17891, 12023, 6740,
+ 14213, 18079, 5221, 10595, 17891, 18025, 6740,
+ 14213, 18079, 5221, 16631, 10595, 20719, 5221, 12023, 6740,
+ 14213, 18079, 5221, 16631, 10595, 20719, 5221, 18025, 6740,
+ 14213, 18079, 7429, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 7429, 10595, 1577, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 7429, 10595, 1577, 16401, 6740,
+ 14213, 18079, 7429, 10595, 1577, 18025, 6740,
+ 14213, 18079, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 7429, 10595, 3673, 18025, 6740,
+ 14213, 18079, 7429, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 7429, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 7429, 10595, 8319, 10595, 1577, 12023, 6740,
+ 14213, 18079, 7429, 10595, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 7429, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 7429, 10595, 8319, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 7429, 10595, 8319, 16401, 6740,
+ 14213, 18079, 7429, 10595, 8319, 18025, 6740,
+ 14213, 18079, 7597, 10595, 1577, 18025, 6740,
+ 14213, 18079, 7597, 10595, 3673, 12023, 6740,
+ 14213, 18079, 7597, 10595, 3673, 18025, 6740,
+ 14213, 18079, 7597, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 7597, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 7597, 10595, 7429, 16401, 6740,
+ 14213, 18079, 7597, 10595, 7429, 18025, 6740,
+ 14213, 18079, 7597, 10595, 8319, 16401, 6740,
+ 14213, 18079, 7597, 10595, 8319, 18025, 6740,
+ 14213, 18079, 8319, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8319, 10595, 1577, 10595, 7429, 16401, 6740,
+ 14213, 18079, 8319, 10595, 1577, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 8319, 10595, 1577, 18025, 6740,
+ 14213, 18079, 8319, 10595, 3673, 18025, 6740,
+ 14213, 18079, 8319, 10595, 5221, 12023, 6740,
+ 14213, 18079, 8319, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 8319, 10595, 7429, 10595, 1577, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8319, 10595, 7429, 10595, 7597, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7429, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7429, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7429, 18025, 6740,
+ 14213, 18079, 8319, 10595, 7597, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8319, 10595, 7597, 10595, 7429, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7597, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7597, 16401, 6740,
+ 14213, 18079, 8319, 10595, 7597, 18025, 6740,
+ 14213, 18079, 8319, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8319, 10595, 8319, 18025, 6740,
+ 14213, 18079, 8805, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8805, 10595, 1577, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 8805, 10595, 1577, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8805, 10595, 1577, 16401, 6740,
+ 14213, 18079, 8805, 10595, 1577, 18025, 6740,
+ 14213, 18079, 8805, 10595, 1601, 14995, 6740,
+ 14213, 18079, 8805, 10595, 1601, 16401, 6740,
+ 14213, 18079, 8805, 10595, 2883, 12023, 6740,
+ 14213, 18079, 8805, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8805, 10595, 3673, 18025, 6740,
+ 14213, 18079, 8805, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 8805, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 8805, 10595, 7429, 10595, 1577, 12023, 6740,
+ 14213, 18079, 8805, 10595, 7429, 10595, 1577, 16401, 6740,
+ 14213, 18079, 8805, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8805, 10595, 7429, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 8805, 10595, 7429, 10595, 8319, 12023, 6740,
+ 14213, 18079, 8805, 10595, 7429, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8805, 10595, 7429, 16401, 6740,
+ 14213, 18079, 8805, 10595, 7429, 18025, 6740,
+ 14213, 18079, 8805, 10595, 7597, 16401, 6740,
+ 14213, 18079, 8805, 10595, 7597, 18025, 6740,
+ 14213, 18079, 8805, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 8805, 10595, 8319, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 8805, 10595, 8319, 12023, 6740,
+ 14213, 18079, 8805, 10595, 8319, 14995, 6740,
+ 14213, 18079, 8805, 10595, 8319, 16401, 6740,
+ 14213, 18079, 8805, 10595, 8319, 18025, 6740,
+ 14213, 18079, 8805, 10595, 8805, 12023, 6740,
+ 14213, 18079, 8805, 10595, 10845, 12023, 6740,
+ 14213, 18079, 9303, 10385, 91, 16471, 9911, 9809, 18025, 6740,
+ 14213, 18079, 9671, 10595, 1577, 10595, 7429, 16401, 6740,
+ 14213, 18079, 9671, 10595, 1577, 14995, 6740,
+ 14213, 18079, 9671, 10595, 1577, 16401, 6740,
+ 14213, 18079, 9671, 10595, 1577, 18025, 6740,
+ 14213, 18079, 9671, 10595, 1601, 14995, 6740,
+ 14213, 18079, 9671, 10595, 1601, 16401, 6740,
+ 14213, 18079, 9671, 10595, 2883, 12023, 6740,
+ 14213, 18079, 9671, 10595, 2883, 18025, 6740,
+ 14213, 18079, 9671, 10595, 3673, 12023, 6740,
+ 14213, 18079, 9671, 10595, 3673, 18025, 6740,
+ 14213, 18079, 9671, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 9671, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 9671, 10595, 7429, 10595, 1577, 16401, 6740,
+ 14213, 18079, 9671, 10595, 7429, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 9671, 10595, 7429, 14995, 6740,
+ 14213, 18079, 9671, 10595, 7429, 16401, 6740,
+ 14213, 18079, 9671, 10595, 7429, 18025, 6740,
+ 14213, 18079, 9671, 10595, 7597, 10595, 3673, 12023, 6740,
+ 14213, 18079, 9671, 10595, 7597, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 9671, 10595, 7597, 14995, 6740,
+ 14213, 18079, 9671, 10595, 7597, 16401, 6740,
+ 14213, 18079, 9671, 10595, 7597, 18025, 6740,
+ 14213, 18079, 9671, 10595, 8319, 10595, 1577, 12023, 6740,
+ 14213, 18079, 9671, 10595, 8319, 10595, 1577, 16401, 6740,
+ 14213, 18079, 9671, 10595, 8319, 10595, 7429, 16401, 6740,
+ 14213, 18079, 9671, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 9671, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 9671, 10595, 8319, 14995, 6740,
+ 14213, 18079, 9671, 10595, 8319, 16401, 6740,
+ 14213, 18079, 9671, 10595, 8319, 18025, 6740,
+ 14213, 18079, 10095, 10595, 20719, 5221, 18025, 6740,
+ 14213, 18079, 10107, 10595, 1601, 14995, 6740,
+ 14213, 18079, 10107, 10595, 2883, 12023, 6740,
+ 14213, 18079, 10107, 10595, 3673, 12023, 6740,
+ 14213, 18079, 10107, 10595, 3673, 18025, 6740,
+ 14213, 18079, 10107, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 10107, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 10107, 10595, 7429, 18025, 6740,
+ 14213, 18079, 10107, 10595, 8319, 12023, 6740,
+ 14213, 18079, 10107, 10595, 8319, 14995, 6740,
+ 14213, 18079, 10107, 10595, 8319, 16401, 6740,
+ 14213, 18079, 10107, 10595, 8319, 18025, 6740,
+ 14213, 18079, 10107, 10595, 8805, 12023, 6740,
+ 14213, 18079, 10107, 10595, 10845, 12023, 6740,
+ 14213, 18079, 11371, 18025, 6740,
+ 14213, 18079, 11387, 18025, 6740,
+ 14213, 18079, 12129, 10595, 3673, 12023, 6740,
+ 14213, 18079, 12129, 10595, 3673, 18025, 6740,
+ 14213, 18079, 12129, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 12129, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 12129, 10595, 7429, 16401, 6740,
+ 14213, 18079, 12129, 10595, 7429, 18025, 6740,
+ 14213, 18079, 12129, 10595, 8319, 10595, 3673, 12023, 6740,
+ 14213, 18079, 12129, 10595, 8319, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 12129, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 12129, 10595, 8319, 16401, 6740,
+ 14213, 18079, 12129, 10595, 8319, 18025, 6740,
+ 14213, 18079, 13339, 18025, 6740,
+ 14213, 18079, 13341, 10385, 91, 16471, 9911, 9809, 18025, 6740,
+ 14213, 18079, 13341, 18025, 6740,
+ 14213, 18079, 13399, 10595, 1577, 10595, 3673, 12023, 6740,
+ 14213, 18079, 13399, 10595, 1577, 10595, 8319, 12023, 6740,
+ 14213, 18079, 13399, 10595, 1577, 10595, 8319, 16401, 6740,
+ 14213, 18079, 13399, 10595, 1577, 12023, 6740,
+ 14213, 18079, 13399, 10595, 1577, 14995, 6740,
+ 14213, 18079, 13399, 10595, 1577, 16401, 6740,
+ 14213, 18079, 13399, 10595, 1577, 18025, 6740,
+ 14213, 18079, 13399, 10595, 1601, 14995, 6740,
+ 14213, 18079, 13399, 10595, 1601, 16401, 6740,
+ 14213, 18079, 13399, 10595, 2883, 12023, 6740,
+ 14213, 18079, 13399, 10595, 2883, 18025, 6740,
+ 14213, 18079, 13399, 10595, 3673, 12023, 6740,
+ 14213, 18079, 13399, 10595, 3673, 18025, 6740,
+ 14213, 18079, 13399, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 13399, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 13399, 10595, 7429, 10595, 3673, 12023, 6740,
+ 14213, 18079, 13399, 10595, 7429, 12023, 6740,
+ 14213, 18079, 13399, 10595, 7429, 14995, 6740,
+ 14213, 18079, 13399, 10595, 7429, 16401, 6740,
+ 14213, 18079, 13399, 10595, 7429, 18025, 6740,
+ 14213, 18079, 13399, 10595, 7597, 12023, 6740,
+ 14213, 18079, 13399, 10595, 7597, 14995, 6740,
+ 14213, 18079, 13399, 10595, 7597, 16401, 6740,
+ 14213, 18079, 13399, 10595, 7597, 18025, 6740,
+ 14213, 18079, 13399, 10595, 8319, 10595, 7597, 12023, 6740,
+ 14213, 18079, 13399, 10595, 8319, 10595, 7597, 16401, 6740,
+ 14213, 18079, 13399, 10595, 8319, 10595, 8319, 12023, 6740,
+ 14213, 18079, 13399, 10595, 8319, 10595, 8319, 16401, 6740,
+ 14213, 18079, 13399, 10595, 8319, 12023, 6740,
+ 14213, 18079, 13399, 10595, 8319, 14995, 6740,
+ 14213, 18079, 13399, 10595, 8319, 16401, 6740,
+ 14213, 18079, 13399, 10595, 8319, 18025, 6740,
+ 14213, 18079, 14193, 18025, 6740,
+ 14213, 18079, 15323, 18025, 6740,
+ 14213, 18079, 15419, 10595, 11797, 14995, 6740,
+ 14213, 18079, 15419, 10595, 11797, 18025, 6740,
+ 14213, 18079, 15419, 10595, 12005, 14995, 6740,
+ 14213, 18079, 15419, 10595, 12005, 18025, 6740,
+ 14213, 18079, 15419, 10595, 12377, 14995, 6740,
+ 14213, 18079, 15419, 10595, 12377, 18025, 6740,
+ 14213, 18079, 15419, 10595, 17661, 18025, 6740,
+ 14213, 18079, 15419, 10595, 18039, 18025, 6740,
+ 14213, 18079, 15419, 10595, 20719, 5221, 18025, 6740,
+ 14213, 18079, 15731, 16459, 3673, 10595, 12197, 11347, 10595, 5221, 16631, 12023, 6740,
+ 14213, 18079, 15731, 16459, 3673, 10595, 12197, 11347, 10595, 5221, 16631, 16401, 6740,
+ 14213, 18079, 15731, 16459, 3673, 10595, 12197, 11347, 10595, 5221, 16631, 18025, 6740,
+ 14213, 18079, 18149, 18025, 6740,
+ 14213, 18079, 18679, 18025, 6740,
+ 14213, 18079, 18765, 18727, 18724,
+ 14213, 18079, 20687, 14193, 18678,
+ 14213, 18079, 21532,
+ 14213, 18335, 8282,
+ 14213, 18367, 11796,
+ 14213, 18694,
+ 14213, 19416,
+ 14213, 19475, 5220,
+ 14213, 19587, 19420,
+ 14213, 20927, 824,
+ 14213, 20927, 918,
+ 14213, 20927, 1116,
+ 14213, 20927, 1124,
+ 14213, 20927, 1360,
+ 14213, 20927, 1576,
+ 14213, 20927, 1856,
+ 14213, 20927, 2066,
+ 14213, 20927, 2748,
+ 14213, 20927, 2882,
+ 14213, 20927, 2992,
+ 14213, 20927, 3174,
+ 14213, 20927, 3208,
+ 14213, 20927, 3508,
+ 14213, 20927, 3672,
+ 14213, 20927, 3764,
+ 14213, 20927, 5220,
+ 14213, 20927, 7428,
+ 14213, 20927, 7596,
+ 14213, 20927, 8318,
+ 14213, 20927, 8804,
+ 14213, 20927, 9670,
+ 14213, 20927, 10094,
+ 14213, 20927, 10106,
+ 14213, 20927, 10844,
+ 14213, 20927, 12128,
+ 14213, 20927, 13398,
+ 14213, 20927, 14941, 824,
+ 14213, 20927, 14941, 918,
+ 14213, 20927, 14941, 1116,
+ 14213, 20927, 14941, 1124,
+ 14213, 20927, 14941, 1360,
+ 14213, 20927, 14941, 1576,
+ 14213, 20927, 14941, 1600,
+ 14213, 20927, 14941, 2066,
+ 14213, 20927, 14941, 2748,
+ 14213, 20927, 14941, 2882,
+ 14213, 20927, 14941, 2992,
+ 14213, 20927, 14941, 3174,
+ 14213, 20927, 14941, 3208,
+ 14213, 20927, 14941, 3508,
+ 14213, 20927, 14941, 3672,
+ 14213, 20927, 14941, 3764,
+ 14213, 20927, 14941, 5220,
+ 14213, 20927, 14941, 7428,
+ 14213, 20927, 14941, 7596,
+ 14213, 20927, 14941, 8318,
+ 14213, 20927, 14941, 8804,
+ 14213, 20927, 14941, 9670,
+ 14213, 20927, 14941, 10094,
+ 14213, 20927, 14941, 10106,
+ 14213, 20927, 14941, 10844,
+ 14213, 20927, 14941, 12128,
+ 14213, 20927, 14941, 13398,
+ 14213, 20927, 15575, 824,
+ 14213, 20927, 15575, 1116,
+ 14213, 20927, 15575, 1576,
+ 14213, 20927, 15575, 2066,
+ 14213, 20927, 15575, 2748,
+ 14213, 20927, 15575, 2992,
+ 14213, 20927, 15575, 3672,
+ 14213, 20927, 15575, 7428,
+ 14213, 20927, 15575, 7596,
+ 14213, 20927, 15575, 8804,
+ 14213, 20927, 15575, 9670,
+ 14213, 20927, 15575, 12128,
+ 14213, 20927, 15575, 13398,
+ 14213, 20927, 15575, 16159, 2748,
+ 14213, 20927, 15575, 16159, 8804,
+ 14213, 20927, 16159, 918,
+ 14213, 20927, 16159, 1360,
+ 14213, 20927, 16159, 2748,
+ 14213, 20927, 16159, 8804,
+ 14213, 20927, 16401, 824,
+ 14213, 20927, 16401, 918,
+ 14213, 20927, 16401, 1116,
+ 14213, 20927, 16401, 1360,
+ 14213, 20927, 16401, 1576,
+ 14213, 20927, 16401, 1600,
+ 14213, 20927, 16401, 1856,
+ 14213, 20927, 16401, 2066,
+ 14213, 20927, 16401, 2748,
+ 14213, 20927, 16401, 2992,
+ 14213, 20927, 16401, 3208,
+ 14213, 20927, 16401, 3672,
+ 14213, 20927, 16401, 7428,
+ 14213, 20927, 16401, 7596,
+ 14213, 20927, 16401, 8318,
+ 14213, 20927, 16401, 8804,
+ 14213, 20927, 16401, 9670,
+ 14213, 20927, 16401, 10106,
+ 14213, 20927, 16401, 12128,
+ 14213, 20927, 16401, 13398,
+ 14213, 20927, 18215, 1577, 10595, 1124,
+ 14213, 20927, 18215, 8319, 10595, 1577, 10595, 17206,
+ 14213, 20927, 19461, 824,
+ 14213, 20927, 19461, 918,
+ 14213, 20927, 19461, 1116,
+ 14213, 20927, 19461, 1360,
+ 14213, 20927, 19461, 1576,
+ 14213, 20927, 19461, 1600,
+ 14213, 20927, 19461, 1856,
+ 14213, 20927, 19461, 2748,
+ 14213, 20927, 19461, 2992,
+ 14213, 20927, 19461, 3174,
+ 14213, 20927, 19461, 3208,
+ 14213, 20927, 19461, 3672,
+ 14213, 20927, 19461, 3764,
+ 14213, 20927, 19461, 7428,
+ 14213, 20927, 19461, 7596,
+ 14213, 20927, 19461, 8318,
+ 14213, 20927, 19461, 8804,
+ 14213, 20927, 19461, 9670,
+ 14213, 20927, 19461, 10106,
+ 14213, 20927, 19461, 12128,
+ 14213, 20927, 19461, 13398,
+ 14213, 20927, 19461, 16159, 918,
+ 14213, 20927, 19461, 16159, 1360,
+ 14213, 20927, 21087, 824,
+ 14213, 20927, 21087, 918,
+ 14213, 20927, 21087, 1116,
+ 14213, 20927, 21087, 1124,
+ 14213, 20927, 21087, 1360,
+ 14213, 20927, 21087, 1576,
+ 14213, 20927, 21087, 2066,
+ 14213, 20927, 21087, 2748,
+ 14213, 20927, 21087, 2882,
+ 14213, 20927, 21087, 2992,
+ 14213, 20927, 21087, 3174,
+ 14213, 20927, 21087, 3208,
+ 14213, 20927, 21087, 3508,
+ 14213, 20927, 21087, 3672,
+ 14213, 20927, 21087, 3764,
+ 14213, 20927, 21087, 7428,
+ 14213, 20927, 21087, 7596,
+ 14213, 20927, 21087, 8318,
+ 14213, 20927, 21087, 8804,
+ 14213, 20927, 21087, 9670,
+ 14213, 20927, 21087, 10094,
+ 14213, 20927, 21087, 10106,
+ 14213, 20927, 21087, 10844,
+ 14213, 20927, 21087, 12128,
+ 14213, 20927, 21087, 13398,
+ 14233, 16832,
+ 14257, 46,
+ 14257, 966,
+ 14257, 967, 10595, 46,
+ 14257, 967, 10595, 5825, 11642,
+ 14257, 967, 10595, 5825, 15397, 46,
+ 14257, 967, 10595, 11642,
+ 14257, 967, 10595, 12499, 46,
+ 14257, 967, 10595, 14256,
+ 14257, 967, 10595, 15397, 46,
+ 14257, 5825, 15397, 46,
+ 14257, 15397, 46,
+ 14262,
+ 14267, 9244,
+ 14275, 14543, 12910,
+ 14275, 18731, 16703, 12910,
+ 14275, 19439, 12910,
+ 14275, 19765, 16703, 12910,
+ 14292,
+ 14305, 10595, 16919, 6076,
+ 14307, 857, 21057, 11428,
+ 14307, 7087, 11521, 14396,
+ 14307, 7087, 18010,
+ 14307, 7779, 6080,
+ 14307, 7779, 7087, 15970,
+ 14307, 7779, 14428,
+ 14307, 11725, 15970,
+ 14307, 13271, 6080,
+ 14307, 13271, 7087, 15970,
+ 14307, 13271, 14428,
+ 14307, 15513, 15970,
+ 14307, 15513, 15971, 9131, 3273, 15513, 15970,
+ 14307, 18585, 13407, 15970,
+ 14307, 20628,
+ 14310,
+ 14311, 10595, 7779, 7087, 11520,
+ 14311, 10595, 13271, 7087, 11520,
+ 14313, 9809, 17342,
+ 14313, 9809, 17466,
+ 14313, 9809, 20336,
+ 14313, 9809, 20540,
+ 14313, 9809, 20756,
+ 14313, 11798,
+ 14313, 11849, 2596,
+ 14313, 11849, 3056,
+ 14313, 11849, 3336,
+ 14313, 11849, 6720,
+ 14313, 11849, 6742,
+ 14313, 11849, 8736,
+ 14313, 11849, 10854,
+ 14313, 11849, 11916,
+ 14313, 11849, 13376,
+ 14313, 11849, 13654,
+ 14313, 13921, 9809, 8,
+ 14313, 13921, 9809, 16,
+ 14313, 13921, 9809, 28,
+ 14313, 13921, 9809, 40,
+ 14313, 13921, 9809, 58,
+ 14313, 13921, 9809, 72,
+ 14313, 13921, 9809, 94,
+ 14313, 13921, 9809, 306,
+ 14313, 13921, 9809, 674,
+ 14313, 13921, 9809, 17349, 22,
+ 14313, 13921, 9809, 17349, 34,
+ 14313, 13921, 9809, 17349, 394,
+ 14313, 13921, 9809, 17349, 580,
+ 14313, 13921, 9809, 20333, 58,
+ 14313, 14533, 11798,
+ 14313, 14903, 0,
+ 14313, 14903, 8,
+ 14313, 14903, 16,
+ 14313, 14903, 28,
+ 14313, 14903, 40,
+ 14313, 14903, 58,
+ 14313, 14903, 72,
+ 14313, 14903, 94,
+ 14313, 14903, 106,
+ 14313, 14903, 124,
+ 14313, 14903, 148,
+ 14313, 14903, 244,
+ 14313, 14903, 266,
+ 14313, 14903, 306,
+ 14313, 14903, 334,
+ 14313, 14903, 348,
+ 14313, 14903, 382,
+ 14313, 14903, 414,
+ 14313, 14903, 446,
+ 14313, 14903, 520,
+ 14313, 14903, 570,
+ 14313, 14903, 586,
+ 14313, 14903, 620,
+ 14313, 14903, 674,
+ 14313, 14903, 678,
+ 14313, 14903, 732,
+ 14313, 14903, 930,
+ 14313, 14903, 1040,
+ 14313, 14903, 1138,
+ 14313, 14903, 1160,
+ 14313, 14903, 1486,
+ 14313, 14903, 1786,
+ 14313, 14903, 1904,
+ 14313, 14903, 2142,
+ 14313, 14903, 2432,
+ 14313, 14903, 2480,
+ 14313, 14903, 2544,
+ 14313, 14903, 2593, 13605, 2938,
+ 14313, 14903, 2593, 13605, 7836,
+ 14313, 14903, 2593, 13605, 8798,
+ 14313, 14903, 2660,
+ 14313, 14903, 3030,
+ 14313, 14903, 3094,
+ 14313, 14903, 3222,
+ 14313, 14903, 3302,
+ 14313, 14903, 6286,
+ 14313, 14903, 10218,
+ 14313, 14903, 17349, 22,
+ 14313, 14903, 17349, 34,
+ 14313, 14903, 17349, 394,
+ 14313, 14903, 17349, 580,
+ 14313, 15133, 2596,
+ 14313, 15133, 2597, 16378,
+ 14313, 15133, 2597, 18566,
+ 14313, 15133, 3056,
+ 14313, 15133, 3212,
+ 14313, 15133, 3336,
+ 14313, 15133, 6720,
+ 14313, 15133, 6742,
+ 14313, 15133, 8736,
+ 14313, 15133, 11916,
+ 14313, 15133, 12018,
+ 14313, 15133, 12046,
+ 14313, 15133, 13376,
+ 14313, 15133, 13460,
+ 14313, 15133, 13654,
+ 14313, 15133, 14544,
+ 14313, 15133, 14794,
+ 14313, 15133, 15094,
+ 14313, 15133, 15626,
+ 14313, 15133, 15708,
+ 14313, 15133, 17056,
+ 14313, 15756,
+ 14313, 20659, 1212,
+ 14313, 20659, 7816,
+ 14313, 20659, 12518,
+ 14313, 20659, 14533, 1212,
+ 14313, 20659, 17643, 894,
+ 14321, 93, 12822,
+ 14323, 894,
+ 14323, 12210,
+ 14323, 14397, 10595, 19281, 11428,
+ 14330,
+ 14331, 18214,
+ 14334,
+ 14336,
+ 14337, 10595, 12028,
+ 14341, 3172,
+ 14342,
+ 14344,
+ 14351, 14903, 0,
+ 14351, 14903, 2,
+ 14351, 14903, 6,
+ 14351, 14903, 8,
+ 14351, 14903, 12,
+ 14351, 14903, 16,
+ 14351, 14903, 20,
+ 14351, 14903, 22,
+ 14351, 14903, 24,
+ 14351, 14903, 26,
+ 14351, 14903, 28,
+ 14351, 14903, 30,
+ 14351, 14903, 32,
+ 14351, 14903, 34,
+ 14351, 14903, 36,
+ 14351, 14903, 38,
+ 14351, 14903, 40,
+ 14351, 14903, 46,
+ 14351, 14903, 54,
+ 14351, 14903, 146,
+ 14351, 14903, 174,
+ 14351, 14903, 242,
+ 14351, 14903, 306,
+ 14351, 14903, 346,
+ 14351, 14903, 384,
+ 14351, 14903, 416,
+ 14351, 14903, 448,
+ 14351, 14903, 454,
+ 14351, 14903, 464,
+ 14351, 14903, 518,
+ 14351, 14903, 580,
+ 14351, 14903, 594,
+ 14351, 14903, 606,
+ 14351, 14903, 608,
+ 14351, 14903, 638,
+ 14351, 14903, 674,
+ 14351, 14903, 2092,
+ 14351, 14903, 2248,
+ 14351, 14903, 2250,
+ 14351, 14903, 2252,
+ 14351, 14903, 3028,
+ 14351, 14903, 3106,
+ 14351, 14903, 3300,
+ 14351, 14903, 3408,
+ 14351, 14903, 5874,
+ 14351, 14903, 5876,
+ 14351, 14903, 10392,
+ 14351, 14903, 10394,
+ 14351, 14903, 10396,
+ 14354,
+ 14363, 11718,
+ 14365, 7817, 15564,
+ 14368,
+ 14371, 29, 8282,
+ 14371, 95, 8282,
+ 14371, 9809, 17342,
+ 14371, 9809, 17466,
+ 14371, 9809, 20336,
+ 14371, 11798,
+ 14371, 11849, 2596,
+ 14371, 11849, 3056,
+ 14371, 11849, 3336,
+ 14371, 11849, 6720,
+ 14371, 11849, 6742,
+ 14371, 11849, 8736,
+ 14371, 11849, 10854,
+ 14371, 11849, 11916,
+ 14371, 11849, 13376,
+ 14371, 11849, 13654,
+ 14371, 13921, 9809, 0,
+ 14371, 13921, 9809, 8,
+ 14371, 13921, 9809, 16,
+ 14371, 13921, 9809, 28,
+ 14371, 13921, 9809, 40,
+ 14371, 13921, 9809, 72,
+ 14371, 13921, 9809, 94,
+ 14371, 13921, 9809, 306,
+ 14371, 13921, 9809, 486,
+ 14371, 13921, 9809, 674,
+ 14371, 14533, 11798,
+ 14371, 14903, 8,
+ 14371, 14903, 16,
+ 14371, 14903, 40,
+ 14371, 14903, 58,
+ 14371, 14903, 880,
+ 14371, 14903, 1002,
+ 14371, 14903, 1114,
+ 14371, 14903, 1424,
+ 14371, 14903, 1572,
+ 14371, 14903, 1770,
+ 14371, 14903, 1850,
+ 14371, 14903, 2056,
+ 14371, 14903, 2222,
+ 14371, 14903, 2374,
+ 14371, 14903, 2620,
+ 14371, 14903, 2848,
+ 14371, 14903, 2990,
+ 14371, 14903, 3166,
+ 14371, 14903, 3494,
+ 14371, 14903, 3624,
+ 14371, 14903, 5792,
+ 14371, 14903, 5978,
+ 14371, 14903, 6268,
+ 14371, 14903, 6346,
+ 14371, 14903, 6970,
+ 14371, 14903, 7432,
+ 14371, 14903, 7592,
+ 14371, 14903, 8658,
+ 14371, 14903, 8788,
+ 14371, 14903, 8898,
+ 14371, 14903, 9192,
+ 14371, 14903, 10088,
+ 14371, 14903, 10212,
+ 14371, 14903, 10806,
+ 14371, 14903, 11814,
+ 14371, 14903, 13752,
+ 14371, 15756,
+ 14371, 16614,
+ 14371, 17045, 8282,
+ 14371, 18335, 8282,
+ 14379, 13956,
+ 14381, 15958,
+ 14386,
+ 14392,
+ 14394,
+ 14397, 10595, 833, 983, 13807, 7779, 18329, 11520,
+ 14397, 10595, 3337, 19973, 17167, 633, 3225, 13270,
+ 14397, 10595, 7779, 7087, 11520,
+ 14397, 10595, 12525, 7087, 11520,
+ 14397, 10595, 13271, 7087, 11520,
+ 14397, 10595, 13483, 14397, 633, 3225, 13270,
+ 14397, 10595, 13807, 7087, 11520,
+ 14397, 10595, 13807, 13271, 18329, 11520,
+ 14397, 10595, 18669, 6706,
+ 14397, 10595, 19973, 894,
+ 14397, 10595, 21019, 46,
+ 14397, 16149, 123, 19973, 895, 841, 3273, 7087, 16149, 123, 18669, 894,
+ 14399, 10074,
+ 14407, 5832,
+ 14407, 7839, 10595, 1902,
+ 14407, 13803, 10595, 15410,
+ 14407, 13803, 10595, 15411, 841, 13485, 16942,
+ 14407, 15542,
+ 14407, 15543, 503, 11943, 632,
+ 14407, 16627, 10595, 15319, 6722,
+ 14407, 16627, 10595, 16607, 6722,
+ 14407, 18510,
+ 14407, 18511, 503, 11943, 632,
+ 14407, 18654,
+ 14407, 20905, 10595, 15410,
+ 14412,
+ 14421, 9450,
+ 14422,
+ 14427, 2593, 15131, 6757, 9910,
+ 14427, 2593, 15131, 13905, 16150,
+ 14427, 2593, 15131, 14499, 18335, 8282,
+ 14427, 2593, 15131, 18005, 18335, 8282,
+ 14427, 6757, 9910,
+ 14427, 11939, 11849, 2596,
+ 14427, 11939, 11849, 3056,
+ 14427, 11939, 11849, 3336,
+ 14427, 11939, 11849, 6720,
+ 14427, 11939, 11849, 6742,
+ 14427, 11939, 11849, 8736,
+ 14427, 11939, 11849, 11916,
+ 14427, 11939, 11849, 13376,
+ 14427, 11939, 11849, 13654,
+ 14427, 11939, 15133, 2597, 16378,
+ 14427, 11939, 15133, 3057, 16378,
+ 14427, 11939, 15133, 3212,
+ 14427, 11939, 15133, 3337, 16378,
+ 14427, 11939, 15133, 6721, 16378,
+ 14427, 11939, 15133, 6743, 16378,
+ 14427, 11939, 15133, 8737, 16378,
+ 14427, 11939, 15133, 11917, 16378,
+ 14427, 11939, 15133, 12018,
+ 14427, 11939, 15133, 12046,
+ 14427, 11939, 15133, 13377, 16378,
+ 14427, 11939, 15133, 13460,
+ 14427, 11939, 15133, 13655, 16378,
+ 14427, 11939, 15133, 14544,
+ 14427, 11939, 15133, 15094,
+ 14427, 11939, 15133, 15626,
+ 14427, 11939, 15133, 15708,
+ 14427, 11939, 15133, 17056,
+ 14427, 11939, 19587, 8282,
+ 14427, 13483, 14903, 28,
+ 14427, 13483, 14903, 230,
+ 14427, 13483, 14903, 428,
+ 14427, 13483, 14903, 458,
+ 14427, 13483, 14903, 534,
+ 14427, 13483, 14903, 578,
+ 14427, 13483, 14903, 646,
+ 14427, 13483, 14903, 1150,
+ 14427, 13483, 14903, 1278,
+ 14427, 13483, 14903, 1362,
+ 14427, 13483, 14903, 1908,
+ 14427, 13483, 14903, 1988,
+ 14427, 13483, 14903, 2593, 14427, 266,
+ 14427, 13483, 14903, 2593, 14427, 824,
+ 14427, 13483, 14903, 2593, 14427, 1186,
+ 14427, 13483, 14903, 2593, 14427, 1312,
+ 14427, 13483, 14903, 2593, 14427, 1592,
+ 14427, 13483, 14903, 2593, 14427, 1602,
+ 14427, 13483, 14903, 2593, 14427, 2610,
+ 14427, 13483, 14903, 2593, 14427, 7266,
+ 14427, 13483, 14903, 2593, 14427, 9712,
+ 14427, 13483, 14903, 2593, 14427, 13418,
+ 14427, 13483, 14903, 2593, 14427, 14656,
+ 14427, 13483, 14903, 2593, 15131, 2438,
+ 14427, 13483, 14903, 2593, 15131, 2550,
+ 14427, 13483, 14903, 2593, 15131, 3506,
+ 14427, 13483, 14903, 2593, 15131, 13418,
+ 14427, 13483, 14903, 2610,
+ 14427, 13483, 14903, 2706,
+ 14427, 13483, 14903, 3084,
+ 14427, 13483, 14903, 3196,
+ 14427, 13483, 14903, 5222,
+ 14427, 13483, 14903, 7096,
+ 14427, 13483, 14903, 7266,
+ 14427, 13483, 14903, 7556,
+ 14427, 13483, 14903, 7608,
+ 14427, 13483, 14903, 9712,
+ 14427, 13483, 14903, 9816,
+ 14427, 13483, 14903, 10494,
+ 14427, 13483, 14903, 10850,
+ 14427, 13483, 14903, 11792,
+ 14427, 13483, 14903, 12094,
+ 14427, 13483, 14903, 12306,
+ 14427, 13483, 14903, 12478,
+ 14427, 13483, 14903, 13346,
+ 14427, 13483, 14903, 13418,
+ 14427, 13483, 14903, 14656,
+ 14427, 13483, 14903, 15622,
+ 14427, 13483, 14903, 16079, 9712,
+ 14427, 13483, 14903, 17447, 7608,
+ 14427, 13483, 14903, 17541, 7608,
+ 14427, 13483, 14903, 18055, 266,
+ 14427, 13483, 14903, 18875, 458,
+ 14427, 13483, 14903, 18875, 5220,
+ 14427, 13483, 14903, 18875, 7266,
+ 14427, 13483, 14903, 18875, 7556,
+ 14427, 13483, 14903, 21079, 458,
+ 14427, 13483, 14903, 21079, 1278,
+ 14427, 13483, 14903, 21079, 9712,
+ 14427, 13483, 14903, 21079, 14656,
+ 14427, 15565, 429, 578,
+ 14427, 15565, 535, 578,
+ 14427, 15565, 1860,
+ 14427, 15565, 1909, 578,
+ 14427, 15565, 3197, 578,
+ 14427, 15565, 13419, 9816,
+ 14427, 15565, 17154,
+ 14427, 15993, 14903, 28,
+ 14427, 15993, 14903, 230,
+ 14427, 15993, 14903, 428,
+ 14427, 15993, 14903, 458,
+ 14427, 15993, 14903, 534,
+ 14427, 15993, 14903, 578,
+ 14427, 15993, 14903, 646,
+ 14427, 15993, 14903, 1150,
+ 14427, 15993, 14903, 1278,
+ 14427, 15993, 14903, 1362,
+ 14427, 15993, 14903, 1908,
+ 14427, 15993, 14903, 1988,
+ 14427, 15993, 14903, 2593, 14427, 266,
+ 14427, 15993, 14903, 2593, 14427, 824,
+ 14427, 15993, 14903, 2593, 14427, 1186,
+ 14427, 15993, 14903, 2593, 14427, 1312,
+ 14427, 15993, 14903, 2593, 14427, 1592,
+ 14427, 15993, 14903, 2593, 14427, 1602,
+ 14427, 15993, 14903, 2593, 14427, 2610,
+ 14427, 15993, 14903, 2593, 14427, 7266,
+ 14427, 15993, 14903, 2593, 14427, 9712,
+ 14427, 15993, 14903, 2593, 14427, 13418,
+ 14427, 15993, 14903, 2593, 14427, 14656,
+ 14427, 15993, 14903, 2593, 15131, 2438,
+ 14427, 15993, 14903, 2593, 15131, 2550,
+ 14427, 15993, 14903, 2593, 15131, 3506,
+ 14427, 15993, 14903, 2593, 15131, 13418,
+ 14427, 15993, 14903, 2610,
+ 14427, 15993, 14903, 2706,
+ 14427, 15993, 14903, 3084,
+ 14427, 15993, 14903, 3196,
+ 14427, 15993, 14903, 5222,
+ 14427, 15993, 14903, 7096,
+ 14427, 15993, 14903, 7266,
+ 14427, 15993, 14903, 7556,
+ 14427, 15993, 14903, 7608,
+ 14427, 15993, 14903, 9712,
+ 14427, 15993, 14903, 9816,
+ 14427, 15993, 14903, 10494,
+ 14427, 15993, 14903, 10850,
+ 14427, 15993, 14903, 11792,
+ 14427, 15993, 14903, 12094,
+ 14427, 15993, 14903, 12306,
+ 14427, 15993, 14903, 12478,
+ 14427, 15993, 14903, 13346,
+ 14427, 15993, 14903, 13418,
+ 14427, 15993, 14903, 14656,
+ 14427, 15993, 14903, 15622,
+ 14427, 15993, 14903, 16079, 9712,
+ 14427, 15993, 14903, 17447, 7608,
+ 14427, 15993, 14903, 17541, 7608,
+ 14427, 15993, 14903, 18055, 266,
+ 14427, 15993, 14903, 18875, 458,
+ 14427, 15993, 14903, 18875, 5220,
+ 14427, 15993, 14903, 18875, 7266,
+ 14427, 15993, 14903, 18875, 7556,
+ 14427, 15993, 14903, 21079, 458,
+ 14427, 15993, 14903, 21079, 1278,
+ 14427, 15993, 14903, 21079, 9712,
+ 14427, 15993, 14903, 21079, 14656,
+ 14427, 17927, 2597, 7086,
+ 14427, 18819, 459, 11346,
+ 14427, 18819, 18451, 11434,
+ 14427, 18819, 18451, 12492,
+ 14427, 21145, 16150,
+ 14433, 10595, 12210,
+ 14437, 5942,
+ 14441, 1015, 6682,
+ 14441, 6682,
+ 14445, 9907, 19315, 9809, 18220,
+ 14450,
+ 14451, 10595, 7779, 12178,
+ 14451, 10595, 13271, 12178,
+ 14451, 12420,
+ 14458,
+ 14463, 2163, 7816,
+ 14463, 18228,
+ 14463, 21571, 20163, 11428,
+ 14469, 9808,
+ 14469, 16006,
+ 14469, 19928,
+ 14476,
+ 14477, 14782,
+ 14489, 20016,
+ 14495, 1391, 11910,
+ 14495, 1391, 12273, 11910,
+ 14495, 1391, 14901, 3690,
+ 14495, 1391, 14901, 10704,
+ 14495, 1391, 16229, 12272,
+ 14495, 1391, 16229, 14732,
+ 14495, 1391, 16335, 3690,
+ 14495, 1391, 16335, 10704,
+ 14495, 1391, 17971, 11910,
+ 14499, 1630,
+ 14499, 16083, 15565, 6741, 3336,
+ 14509, 9808,
+ 14513, 10143, 18669, 5692,
+ 14513, 10143, 19973, 5692,
+ 14513, 10143, 21412,
+ 14513, 10143, 21414,
+ 14513, 10143, 21416,
+ 14513, 10143, 21418,
+ 14513, 10143, 21420,
+ 14513, 10143, 21422,
+ 14513, 10143, 21424,
+ 14513, 10143, 21426,
+ 14513, 10143, 21428,
+ 14513, 10143, 21430,
+ 14513, 10143, 21432,
+ 14513, 10143, 21434,
+ 14513, 10143, 21436,
+ 14513, 10143, 21438,
+ 14513, 10143, 21440,
+ 14513, 10143, 21442,
+ 14513, 10143, 21444,
+ 14513, 10143, 21446,
+ 14513, 10143, 21448,
+ 14513, 10143, 21450,
+ 14513, 10143, 21452,
+ 14513, 10143, 21454,
+ 14513, 10143, 21456,
+ 14513, 10143, 21458,
+ 14513, 10143, 21460,
+ 14513, 10143, 21462,
+ 14513, 10143, 21464,
+ 14513, 10143, 21466,
+ 14513, 10143, 21468,
+ 14513, 10143, 21470,
+ 14513, 10143, 21472,
+ 14513, 10143, 21474,
+ 14513, 10143, 21476,
+ 14513, 10143, 21478,
+ 14513, 10143, 21480,
+ 14513, 10143, 21482,
+ 14513, 10143, 21484,
+ 14513, 10143, 21486,
+ 14513, 10143, 21488,
+ 14513, 10143, 21490,
+ 14513, 10143, 21492,
+ 14513, 10143, 21494,
+ 14513, 10143, 21496,
+ 14513, 10143, 21498,
+ 14513, 10143, 21500,
+ 14513, 10143, 21502,
+ 14513, 10143, 21504,
+ 14513, 10143, 21506,
+ 14513, 10143, 21508,
+ 14513, 10143, 21580,
+ 14513, 10143, 21582,
+ 14513, 10143, 21584,
+ 14513, 10143, 21586,
+ 14513, 10143, 21588,
+ 14513, 10143, 21590,
+ 14513, 10143, 21592,
+ 14513, 10143, 21594,
+ 14513, 10143, 21596,
+ 14513, 10143, 21598,
+ 14513, 10143, 21600,
+ 14513, 10143, 21602,
+ 14513, 10143, 21604,
+ 14513, 10143, 21606,
+ 14513, 10143, 21608,
+ 14513, 10143, 21610,
+ 14513, 10143, 21612,
+ 14513, 10143, 21614,
+ 14513, 10143, 21616,
+ 14513, 10143, 21618,
+ 14513, 10143, 21620,
+ 14513, 10143, 21622,
+ 14513, 10143, 21624,
+ 14513, 10143, 21626,
+ 14513, 10143, 21628,
+ 14513, 10143, 21630,
+ 14513, 10143, 21632,
+ 14513, 10143, 21634,
+ 14513, 10143, 21636,
+ 14513, 10143, 21638,
+ 14513, 10143, 21640,
+ 14513, 10143, 21642,
+ 14513, 10143, 21644,
+ 14513, 10143, 21646,
+ 14513, 10143, 21648,
+ 14513, 10143, 21650,
+ 14513, 10143, 21652,
+ 14513, 10143, 21654,
+ 14513, 10143, 21656,
+ 14513, 10143, 21658,
+ 14513, 10143, 21660,
+ 14513, 10143, 21662,
+ 14513, 10143, 21664,
+ 14513, 10143, 21666,
+ 14513, 10143, 21668,
+ 14513, 10143, 21670,
+ 14513, 10143, 21672,
+ 14513, 10143, 21674,
+ 14513, 10143, 21676,
+ 14531, 11718,
+ 14531, 12010,
+ 14531, 14396,
+ 14531, 15136,
+ 14531, 15512,
+ 14531, 21215, 14976,
+ 14531, 21387, 11398,
+ 14533, 669, 10040,
+ 14533, 2163, 7816,
+ 14533, 6407, 10040,
+ 14533, 7779, 857, 20877, 15970,
+ 14533, 9242,
+ 14533, 10577, 18228,
+ 14533, 11349, 14178,
+ 14533, 11703, 11942,
+ 14533, 11725, 7850,
+ 14533, 12523, 19359, 8282,
+ 14533, 13192,
+ 14533, 13193, 19359, 8282,
+ 14533, 13271, 857, 19215, 15970,
+ 14533, 13802,
+ 14533, 14450,
+ 14533, 14760,
+ 14533, 15067, 19214,
+ 14533, 15067, 19215, 10595, 18658,
+ 14533, 15067, 20876,
+ 14533, 15513, 13802,
+ 14533, 15513, 20904,
+ 14533, 15535, 2499, 9808,
+ 14533, 15542,
+ 14533, 16035, 11849, 2596,
+ 14533, 16035, 11849, 3056,
+ 14533, 16035, 11849, 3336,
+ 14533, 16035, 11849, 6720,
+ 14533, 16035, 11849, 6742,
+ 14533, 16035, 11849, 8736,
+ 14533, 16035, 11849, 11916,
+ 14533, 16035, 11849, 13376,
+ 14533, 16035, 11849, 13654,
+ 14533, 16035, 15133, 3212,
+ 14533, 16603, 502,
+ 14533, 16603, 840,
+ 14533, 16783, 14760,
+ 14533, 17119, 18214,
+ 14533, 18010,
+ 14533, 18312,
+ 14533, 18335, 8282,
+ 14533, 18506,
+ 14533, 18510,
+ 14533, 18669, 894,
+ 14533, 18669, 895, 7779, 19610,
+ 14533, 18669, 895, 14533, 7779, 19610,
+ 14533, 18669, 895, 14533, 13271, 19610,
+ 14533, 18669, 7816,
+ 14533, 20469, 8282,
+ 14533, 20904,
+ 14533, 21373, 19359, 8282,
+ 14533, 21531, 19359, 8282,
+ 14534,
+ 14535, 6682,
+ 14541, 15564,
+ 14543, 8808,
+ 14555, 9808,
+ 14555, 9809, 841, 17101, 18256,
+ 14555, 9809, 841, 17101, 18257, 10595, 13677, 11346,
+ 14555, 9809, 10595, 1213, 11502,
+ 14555, 9809, 10595, 3337, 6403, 11347, 841, 3337, 6403, 11502,
+ 14555, 9809, 10595, 11571, 11346,
+ 14555, 9809, 11347, 9243, 9808,
+ 14555, 9809, 11347, 13677, 18214,
+ 14555, 9809, 11347, 19213, 11428,
+ 14555, 9809, 11347, 20163, 11428,
+ 14555, 10595, 17496,
+ 14555, 11702,
+ 14560,
+ 14587, 7774,
+ 14588,
+ 14591, 18802,
+ 14593, 9808,
+ 14595, 13962,
+ 14601, 6258,
+ 14601, 13502,
+ 14609, 9173, 18010,
+ 14611, 7091, 9808,
+ 14623, 14290,
+ 14629, 6382,
+ 14631, 12210,
+ 14632,
+ 14633, 16909, 11598,
+ 14633, 20659, 8282,
+ 14635, 17870,
+ 14638,
+ 14640,
+ 14643, 20620,
+ 14647, 9474,
+ 14653, 12051, 9808,
+ 14653, 12054,
+ 14666,
+ 14675, 13145, 9808,
+ 14691, 13530,
+ 14694,
+ 14699, 14903, 1280,
+ 14699, 14903, 1782,
+ 14699, 14903, 5206,
+ 14699, 14903, 6246,
+ 14699, 14903, 6990,
+ 14699, 14903, 7080,
+ 14699, 14903, 7412,
+ 14699, 14903, 8737, 16378,
+ 14699, 14903, 10380,
+ 14699, 14903, 12000,
+ 14699, 14903, 12276,
+ 14699, 14903, 12314,
+ 14699, 14903, 12436,
+ 14699, 14903, 12460,
+ 14699, 14903, 12590,
+ 14699, 14903, 13088,
+ 14699, 14903, 13240,
+ 14699, 14903, 13352,
+ 14699, 14903, 13622,
+ 14699, 14903, 13976,
+ 14699, 14903, 14188,
+ 14699, 14903, 15058,
+ 14699, 14903, 15094,
+ 14699, 14903, 15628,
+ 14699, 14903, 15914,
+ 14699, 14903, 18236,
+ 14699, 14903, 18326,
+ 14702,
+ 14708,
+ 14720,
+ 14721, 841, 9210,
+ 14721, 841, 15458,
+ 14721, 841, 15798,
+ 14725, 14533, 1213, 10173, 8282,
+ 14725, 14604,
+ 14725, 14903, 0,
+ 14725, 14903, 8,
+ 14725, 14903, 16,
+ 14725, 14903, 28,
+ 14725, 14903, 40,
+ 14725, 14903, 66,
+ 14725, 14903, 204,
+ 14725, 14903, 214,
+ 14725, 14903, 480,
+ 14725, 14903, 692,
+ 14725, 14903, 698,
+ 14725, 14903, 704,
+ 14725, 14903, 732,
+ 14725, 14903, 734,
+ 14725, 14903, 736,
+ 14725, 14903, 740,
+ 14725, 14903, 744,
+ 14725, 14903, 3496,
+ 14725, 14903, 3522,
+ 14725, 14903, 3630,
+ 14725, 14903, 3676,
+ 14725, 14903, 9820,
+ 14725, 14903, 10760,
+ 14725, 14903, 10778,
+ 14725, 14903, 11416,
+ 14725, 14903, 11680,
+ 14725, 14903, 12216,
+ 14725, 14903, 12312,
+ 14725, 14903, 12666,
+ 14725, 14903, 12820,
+ 14725, 14903, 13164,
+ 14725, 14903, 13268,
+ 14725, 14903, 14046,
+ 14725, 14903, 14052,
+ 14725, 14903, 14214,
+ 14725, 14903, 14848,
+ 14725, 14903, 15638,
+ 14725, 14903, 15816,
+ 14725, 14903, 15822,
+ 14725, 14903, 16024,
+ 14725, 14903, 16452,
+ 14725, 14903, 16846,
+ 14725, 14903, 16892,
+ 14725, 14903, 17224,
+ 14725, 14903, 18688,
+ 14725, 14903, 19454,
+ 14725, 14903, 20032,
+ 14725, 14903, 20072,
+ 14725, 14903, 20116,
+ 14725, 14903, 20156,
+ 14725, 14903, 20196,
+ 14725, 14903, 20204,
+ 14725, 14903, 20206,
+ 14725, 14903, 20220,
+ 14725, 14903, 20222,
+ 14725, 14903, 20224,
+ 14725, 14903, 20228,
+ 14725, 14903, 20230,
+ 14725, 14903, 20544,
+ 14725, 14903, 20568,
+ 14725, 14903, 20598,
+ 14725, 14903, 20600,
+ 14725, 14903, 20642,
+ 14725, 14903, 20672,
+ 14725, 14903, 20674,
+ 14725, 14903, 20678,
+ 14725, 14903, 20702,
+ 14725, 14903, 20704,
+ 14725, 14903, 20708,
+ 14725, 14903, 20710,
+ 14725, 14903, 20768,
+ 14725, 14903, 20942,
+ 14725, 14903, 20950,
+ 14725, 14903, 20952,
+ 14725, 14903, 20970,
+ 14725, 14903, 20972,
+ 14725, 14903, 21124,
+ 14725, 14903, 21126,
+ 14725, 14903, 21140,
+ 14725, 14903, 21148,
+ 14725, 14903, 21174,
+ 14725, 14903, 21184,
+ 14725, 14903, 21186,
+ 14725, 14903, 21188,
+ 14725, 14903, 21226,
+ 14725, 14903, 21534,
+ 14725, 14903, 21692,
+ 14725, 14903, 21712,
+ 14725, 14903, 21728,
+ 14725, 14903, 21730,
+ 14725, 14903, 21732,
+ 14725, 14903, 21742,
+ 14725, 14903, 21760,
+ 14725, 15465, 1213, 10173, 8282,
+ 14725, 17601, 9820,
+ 14725, 17601, 11680,
+ 14725, 17601, 12216,
+ 14725, 17601, 12312,
+ 14725, 17601, 12666,
+ 14725, 17601, 12820,
+ 14725, 17601, 13164,
+ 14725, 17601, 13268,
+ 14725, 17601, 14604,
+ 14725, 17601, 14848,
+ 14725, 17601, 15638,
+ 14725, 17601, 16024,
+ 14725, 17601, 16452,
+ 14725, 17601, 16846,
+ 14725, 17601, 16892,
+ 14725, 17601, 17224,
+ 14725, 17601, 18688,
+ 14725, 17601, 19454,
+ 14725, 17601, 19966,
+ 14725, 17601, 19976,
+ 14725, 17601, 20032,
+ 14725, 17601, 20072,
+ 14725, 17601, 20116,
+ 14725, 17601, 20156,
+ 14725, 17601, 20196,
+ 14725, 17601, 20198,
+ 14725, 17601, 20200,
+ 14725, 17601, 20202,
+ 14725, 17601, 20204,
+ 14725, 17601, 20206,
+ 14725, 17601, 20208,
+ 14725, 17601, 20220,
+ 14725, 17601, 20222,
+ 14725, 17601, 20224,
+ 14725, 17601, 20228,
+ 14725, 17601, 20230,
+ 14725, 17601, 20232,
+ 14725, 17601, 20340,
+ 14725, 17601, 20512,
+ 14725, 17601, 20514,
+ 14725, 17601, 20516,
+ 14725, 17601, 20518,
+ 14725, 17601, 20520,
+ 14725, 17601, 20568,
+ 14725, 17601, 20598,
+ 14725, 17601, 20600,
+ 14725, 17601, 20602,
+ 14725, 17601, 20642,
+ 14725, 17601, 20644,
+ 14725, 17601, 20648,
+ 14725, 17601, 20670,
+ 14725, 17601, 20672,
+ 14725, 17601, 20674,
+ 14725, 17601, 20676,
+ 14725, 17601, 20678,
+ 14725, 17601, 20702,
+ 14725, 17601, 20704,
+ 14725, 17601, 20708,
+ 14725, 17601, 20710,
+ 14725, 17601, 20734,
+ 14725, 17601, 20768,
+ 14725, 17601, 20816,
+ 14725, 17601, 20896,
+ 14725, 17601, 20898,
+ 14725, 17601, 20932,
+ 14725, 17601, 20934,
+ 14725, 17601, 20940,
+ 14725, 17601, 20942,
+ 14725, 17601, 20950,
+ 14725, 17601, 20952,
+ 14725, 17601, 20970,
+ 14725, 17601, 20972,
+ 14725, 17601, 20992,
+ 14725, 17601, 20994,
+ 14725, 17601, 20998,
+ 14725, 17601, 21000,
+ 14725, 17601, 21008,
+ 14725, 17601, 21028,
+ 14725, 17601, 21030,
+ 14725, 17601, 21032,
+ 14725, 17601, 21034,
+ 14725, 17601, 21066,
+ 14725, 17601, 21068,
+ 14725, 17601, 21106,
+ 14725, 17601, 21110,
+ 14725, 17601, 21112,
+ 14725, 17601, 21114,
+ 14725, 17601, 21124,
+ 14725, 17601, 21126,
+ 14725, 17601, 21128,
+ 14725, 17601, 21130,
+ 14725, 17601, 21164,
+ 14725, 17601, 21166,
+ 14725, 17601, 21168,
+ 14725, 17601, 21170,
+ 14725, 17601, 21172,
+ 14725, 17601, 21174,
+ 14725, 17601, 21182,
+ 14725, 17601, 21212,
+ 14725, 17601, 21398,
+ 14725, 17601, 21522,
+ 14725, 17601, 21524,
+ 14725, 17601, 21526,
+ 14725, 17601, 21534,
+ 14725, 17601, 21550,
+ 14725, 17601, 21562,
+ 14725, 17601, 21574,
+ 14725, 17601, 21686,
+ 14725, 17601, 21688,
+ 14725, 17601, 21694,
+ 14725, 17601, 21696,
+ 14725, 17601, 21702,
+ 14725, 17601, 21716,
+ 14725, 17601, 21728,
+ 14725, 17601, 21730,
+ 14725, 17601, 21738,
+ 14725, 17601, 21740,
+ 14725, 17601, 21746,
+ 14725, 17601, 21754,
+ 14725, 17601, 21756,
+ 14725, 17601, 21760,
+ 14725, 17601, 21774,
+ 14725, 17601, 21806,
+ 14725, 17601, 21812,
+ 14725, 17601, 21816,
+ 14725, 19183, 9820,
+ 14725, 19183, 11680,
+ 14725, 19183, 12216,
+ 14725, 19183, 12312,
+ 14725, 19183, 12666,
+ 14725, 19183, 12820,
+ 14725, 19183, 13164,
+ 14725, 19183, 13268,
+ 14725, 19183, 14848,
+ 14725, 19183, 15638,
+ 14725, 19183, 16024,
+ 14725, 19183, 16452,
+ 14725, 19183, 16846,
+ 14725, 19183, 16892,
+ 14725, 19183, 17224,
+ 14725, 19183, 18688,
+ 14725, 19183, 19454,
+ 14725, 19183, 20032,
+ 14725, 19183, 20072,
+ 14725, 19183, 20116,
+ 14725, 19183, 20156,
+ 14725, 19183, 20196,
+ 14725, 19183, 20198,
+ 14725, 19183, 20202,
+ 14725, 19183, 20206,
+ 14725, 19183, 20208,
+ 14725, 19183, 20220,
+ 14725, 19183, 20224,
+ 14725, 19183, 20226,
+ 14725, 19183, 20228,
+ 14725, 19183, 20230,
+ 14725, 19183, 20232,
+ 14725, 19183, 20342,
+ 14725, 19183, 20498,
+ 14725, 19183, 20500,
+ 14725, 19183, 20502,
+ 14725, 19183, 20504,
+ 14725, 19183, 20544,
+ 14725, 19183, 20562,
+ 14725, 19183, 20564,
+ 14725, 19183, 20566,
+ 14725, 19183, 20568,
+ 14725, 19183, 20570,
+ 14725, 19183, 20598,
+ 14725, 19183, 20600,
+ 14725, 19183, 20604,
+ 14725, 19183, 20642,
+ 14725, 19183, 20644,
+ 14725, 19183, 20646,
+ 14725, 19183, 20650,
+ 14725, 19183, 20672,
+ 14725, 19183, 20674,
+ 14725, 19183, 20676,
+ 14725, 19183, 20678,
+ 14725, 19183, 20702,
+ 14725, 19183, 20704,
+ 14725, 19183, 20708,
+ 14725, 19183, 20710,
+ 14725, 19183, 20734,
+ 14725, 19183, 20768,
+ 14725, 19183, 20896,
+ 14725, 19183, 20910,
+ 14725, 19183, 20912,
+ 14725, 19183, 20914,
+ 14725, 19183, 20916,
+ 14725, 19183, 20932,
+ 14725, 19183, 20940,
+ 14725, 19183, 20942,
+ 14725, 19183, 20946,
+ 14725, 19183, 20952,
+ 14725, 19183, 20970,
+ 14725, 19183, 20972,
+ 14725, 19183, 20992,
+ 14725, 19183, 20996,
+ 14725, 19183, 21000,
+ 14725, 19183, 21028,
+ 14725, 19183, 21032,
+ 14725, 19183, 21034,
+ 14725, 19183, 21108,
+ 14725, 19183, 21124,
+ 14725, 19183, 21126,
+ 14725, 19183, 21128,
+ 14725, 19183, 21138,
+ 14725, 19183, 21140,
+ 14725, 19183, 21146,
+ 14725, 19183, 21148,
+ 14725, 19183, 21150,
+ 14725, 19183, 21154,
+ 14725, 19183, 21166,
+ 14725, 19183, 21168,
+ 14725, 19183, 21172,
+ 14725, 19183, 21182,
+ 14725, 19183, 21184,
+ 14725, 19183, 21186,
+ 14725, 19183, 21188,
+ 14725, 19183, 21212,
+ 14725, 19183, 21226,
+ 14725, 19183, 21364,
+ 14725, 19183, 21366,
+ 14725, 19183, 21384,
+ 14725, 19183, 21402,
+ 14725, 19183, 21404,
+ 14725, 19183, 21510,
+ 14725, 19183, 21512,
+ 14725, 19183, 21534,
+ 14725, 19183, 21544,
+ 14725, 19183, 21548,
+ 14725, 19183, 21556,
+ 14725, 19183, 21576,
+ 14725, 19183, 21682,
+ 14725, 19183, 21684,
+ 14725, 19183, 21690,
+ 14725, 19183, 21692,
+ 14725, 19183, 21698,
+ 14725, 19183, 21700,
+ 14725, 19183, 21712,
+ 14725, 19183, 21722,
+ 14725, 19183, 21730,
+ 14725, 19183, 21732,
+ 14725, 19183, 21734,
+ 14725, 19183, 21736,
+ 14725, 19183, 21738,
+ 14725, 19183, 21742,
+ 14725, 19183, 21750,
+ 14725, 19183, 21762,
+ 14725, 19183, 21776,
+ 14725, 19183, 21778,
+ 14725, 19183, 21780,
+ 14725, 19183, 21782,
+ 14725, 19183, 21788,
+ 14725, 19183, 21790,
+ 14725, 19183, 21792,
+ 14725, 19183, 21802,
+ 14725, 19183, 21806,
+ 14725, 19183, 21808,
+ 14725, 19183, 21818,
+ 14725, 19183, 21824,
+ 14725, 19185, 0,
+ 14725, 19185, 8,
+ 14725, 19185, 16,
+ 14725, 19185, 28,
+ 14725, 19185, 40,
+ 14725, 19185, 66,
+ 14725, 19185, 204,
+ 14725, 19185, 214,
+ 14725, 19185, 480,
+ 14725, 19185, 692,
+ 14725, 19185, 698,
+ 14725, 19185, 704,
+ 14725, 19185, 732,
+ 14725, 19185, 734,
+ 14725, 19185, 736,
+ 14725, 19185, 740,
+ 14725, 19185, 744,
+ 14725, 19185, 766,
+ 14725, 19185, 768,
+ 14725, 19185, 1720,
+ 14725, 19185, 1722,
+ 14725, 19185, 1724,
+ 14725, 19185, 1726,
+ 14725, 19185, 2566,
+ 14725, 19185, 2568,
+ 14725, 19185, 2570,
+ 14725, 19185, 3358,
+ 14725, 19185, 3360,
+ 14725, 19185, 3496,
+ 14725, 19185, 3522,
+ 14725, 19185, 3630,
+ 14725, 19185, 3676,
+ 14725, 19185, 3868,
+ 14725, 19185, 6542,
+ 14725, 19185, 6544,
+ 14725, 19185, 6556,
+ 14725, 19185, 6558,
+ 14725, 19185, 6560,
+ 14725, 19185, 6562,
+ 14725, 19185, 7336,
+ 14725, 19185, 7338,
+ 14725, 19185, 7340,
+ 14725, 19185, 7342,
+ 14725, 19185, 7344,
+ 14725, 19185, 9002,
+ 14725, 19185, 9004,
+ 14725, 19185, 9006,
+ 14725, 19185, 10276,
+ 14725, 19185, 10278,
+ 14725, 19185, 10680,
+ 14725, 19185, 10682,
+ 14725, 19185, 10744,
+ 14725, 19185, 10758,
+ 14725, 19185, 10760,
+ 14725, 19185, 10762,
+ 14725, 19185, 10774,
+ 14725, 19185, 10776,
+ 14725, 19185, 10778,
+ 14725, 19185, 10780,
+ 14725, 19185, 10782,
+ 14725, 19185, 11416,
+ 14725, 19185, 11934,
+ 14725, 19185, 11962,
+ 14725, 19185, 11964,
+ 14725, 19185, 12292,
+ 14725, 19185, 12294,
+ 14725, 19185, 12296,
+ 14725, 19185, 13012,
+ 14725, 19185, 13014,
+ 14725, 19185, 13016,
+ 14725, 19185, 13778,
+ 14725, 19185, 13780,
+ 14725, 19185, 14012,
+ 14725, 19185, 14028,
+ 14725, 19185, 14030,
+ 14725, 19185, 14042,
+ 14725, 19185, 14044,
+ 14725, 19185, 14046,
+ 14725, 19185, 14048,
+ 14725, 19185, 14050,
+ 14725, 19185, 14052,
+ 14725, 19185, 14604,
+ 14725, 19185, 14764,
+ 14725, 19185, 15808,
+ 14725, 19185, 15816,
+ 14725, 19185, 15818,
+ 14725, 19185, 15822,
+ 14725, 19185, 15884,
+ 14725, 19185, 15886,
+ 14725, 19185, 15888,
+ 14725, 19185, 15890,
+ 14725, 19185, 16382,
+ 14725, 19185, 17302,
+ 14725, 19185, 17478,
+ 14725, 19185, 20218,
+ 14727, 14903, 268,
+ 14727, 14903, 526,
+ 14727, 14903, 876,
+ 14727, 14903, 2268,
+ 14727, 14903, 2524,
+ 14727, 14903, 3200,
+ 14727, 14903, 3508,
+ 14727, 14903, 5790,
+ 14727, 14903, 7120,
+ 14727, 14903, 7558,
+ 14727, 14903, 9326,
+ 14727, 14903, 9730,
+ 14727, 14903, 10080,
+ 14727, 14903, 10764,
+ 14727, 14903, 10852,
+ 14727, 14903, 11376,
+ 14727, 14903, 12142,
+ 14727, 14903, 13330,
+ 14727, 14903, 14882,
+ 14727, 14903, 15370,
+ 14727, 14903, 20374,
+ 14727, 15133, 2596,
+ 14727, 15133, 2597, 16378,
+ 14727, 15133, 3212,
+ 14727, 15133, 6720,
+ 14727, 15133, 15708,
+ 14735, 8283, 12525, 1212,
+ 14735, 8283, 13807, 1212,
+ 14735, 8283, 14981, 14396,
+ 14735, 13183, 3051, 1212,
+ 14735, 13183, 9416,
+ 14735, 13183, 9731, 1212,
+ 14735, 13183, 12205, 13124,
+ 14735, 13183, 12205, 13368,
+ 14735, 13183, 12205, 15304,
+ 14735, 13183, 12220,
+ 14735, 13183, 12258,
+ 14735, 13183, 12259, 12203, 1391, 3430,
+ 14735, 13183, 12636,
+ 14735, 13183, 13124,
+ 14735, 13183, 13368,
+ 14735, 13183, 13412,
+ 14735, 13183, 13744,
+ 14735, 13183, 14449, 503, 12592,
+ 14735, 13183, 15304,
+ 14735, 13183, 15305, 13208,
+ 14735, 13183, 15310,
+ 14735, 13183, 21123, 15746,
+ 14735, 14179, 2594,
+ 14735, 14179, 6330,
+ 14735, 14179, 7388,
+ 14735, 14179, 11439, 14716,
+ 14735, 14179, 11806,
+ 14735, 14179, 12712,
+ 14735, 14179, 13128,
+ 14735, 14179, 13206,
+ 14735, 14179, 13260,
+ 14735, 14179, 13368,
+ 14735, 14179, 13630,
+ 14735, 14179, 14033, 923, 10768,
+ 14735, 14179, 14036,
+ 14735, 14179, 14109, 12084,
+ 14735, 14179, 14109, 13208,
+ 14735, 14179, 14110,
+ 14735, 14179, 14126,
+ 14735, 14179, 14672,
+ 14735, 14179, 14673, 15048,
+ 14735, 14179, 15006,
+ 14735, 14179, 15007, 14814,
+ 14735, 14179, 15200,
+ 14735, 14179, 15307, 9168,
+ 14735, 14179, 15640,
+ 14735, 14179, 16258,
+ 14735, 14179, 17213, 14664,
+ 14735, 14179, 17213, 15308,
+ 14735, 14179, 18100,
+ 14735, 14179, 19098,
+ 14735, 14179, 20182,
+ 14735, 14903, 268,
+ 14735, 14903, 269, 10595, 12592,
+ 14735, 14903, 526,
+ 14735, 14903, 527, 10595, 9416,
+ 14735, 14903, 527, 10595, 14448,
+ 14735, 14903, 926,
+ 14735, 14903, 927, 10595, 9416,
+ 14735, 14903, 927, 10595, 14448,
+ 14735, 14903, 1608,
+ 14735, 14903, 1856,
+ 14735, 14903, 1857, 10595, 9416,
+ 14735, 14903, 1857, 10595, 14448,
+ 14735, 14903, 2268,
+ 14735, 14903, 2269, 10595, 14448,
+ 14735, 14903, 2524,
+ 14735, 14903, 2525, 10595, 14448,
+ 14735, 14903, 2786,
+ 14735, 14903, 2787, 10595, 14448,
+ 14735, 14903, 3198,
+ 14735, 14903, 3199, 10595, 14448,
+ 14735, 14903, 3216,
+ 14735, 14903, 3217, 10595, 14448,
+ 14735, 14903, 3430,
+ 14735, 14903, 3431, 10595, 12258,
+ 14735, 14903, 3431, 10595, 14448,
+ 14735, 14903, 3700,
+ 14735, 14903, 3701, 10595, 12220,
+ 14735, 14903, 3701, 10595, 14448,
+ 14735, 14903, 5220,
+ 14735, 14903, 5221, 10595, 12592,
+ 14735, 14903, 5221, 10595, 13124,
+ 14735, 14903, 5221, 10595, 15304,
+ 14735, 14903, 5284,
+ 14735, 14903, 9440,
+ 14735, 14903, 9441, 10595, 14448,
+ 14735, 14903, 9730,
+ 14735, 14903, 9731, 10595, 3051, 1212,
+ 14735, 14903, 9731, 10595, 9731, 1212,
+ 14735, 14903, 9731, 10595, 14448,
+ 14735, 14903, 9731, 10595, 14449, 841, 3051, 1212,
+ 14735, 14903, 9731, 10595, 14449, 841, 9731, 1212,
+ 14735, 14903, 10587, 268,
+ 14735, 14903, 10587, 1856,
+ 14735, 14903, 10587, 3198,
+ 14735, 14903, 10587, 5220,
+ 14735, 14903, 10587, 9440,
+ 14735, 14903, 10587, 11794,
+ 14735, 14903, 10587, 12023, 2268,
+ 14735, 14903, 10587, 12466,
+ 14735, 14903, 11794,
+ 14735, 14903, 11795, 10595, 14448,
+ 14735, 14903, 12023, 526,
+ 14735, 14903, 12023, 527, 10595, 14448,
+ 14735, 14903, 12023, 1856,
+ 14735, 14903, 12023, 1857, 10595, 14448,
+ 14735, 14903, 12023, 2268,
+ 14735, 14903, 12023, 2524,
+ 14735, 14903, 12023, 13740,
+ 14735, 14903, 12142,
+ 14735, 14903, 12143, 10595, 14448,
+ 14735, 14903, 12466,
+ 14735, 14903, 12467, 10595, 14448,
+ 14735, 14903, 13740,
+ 14735, 14903, 13741, 10595, 14448,
+ 14735, 14903, 14112,
+ 14735, 14903, 14113, 10595, 14448,
+ 14735, 14903, 15370,
+ 14735, 14903, 15371, 10595, 14448,
+ 14735, 14903, 20315, 5284,
+ 14735, 14903, 20315, 9243, 9808,
+ 14735, 18079, 5221, 12466,
+ 14735, 18079, 17393, 3431, 3700,
+ 14735, 18079, 17393, 3701, 3701, 13124,
+ 14735, 18079, 17393, 14533, 3430,
+ 14735, 18079, 17393, 14533, 3700,
+ 14735, 20659, 2525, 16340,
+ 14735, 20659, 3069, 13122,
+ 14735, 20659, 12596,
+ 14735, 20659, 13120,
+ 14735, 20659, 14672,
+ 14735, 20659, 19098,
+ 14741, 10595, 13965, 11718,
+ 14753, 13225, 15513, 18220,
+ 14753, 13225, 15513, 18221, 315, 11521, 15512,
+ 14759, 6682,
+ 14760,
+ 14761, 10595, 18872,
+ 14761, 14330,
+ 14769, 13309, 9808,
+ 14801, 9809, 12986,
+ 14801, 9809, 15756,
+ 14801, 9809, 17342,
+ 14801, 9809, 17466,
+ 14801, 9809, 20336,
+ 14801, 11798,
+ 14801, 13921, 9809, 8,
+ 14801, 13921, 9809, 16,
+ 14801, 13921, 9809, 28,
+ 14801, 13921, 9809, 40,
+ 14801, 13921, 9809, 58,
+ 14801, 13921, 9809, 72,
+ 14801, 13921, 9809, 94,
+ 14801, 13921, 9809, 306,
+ 14801, 13921, 9809, 674,
+ 14801, 14533, 11798,
+ 14801, 14533, 17045, 8282,
+ 14801, 14903, 0,
+ 14801, 14903, 8,
+ 14801, 14903, 16,
+ 14801, 14903, 28,
+ 14801, 14903, 40,
+ 14801, 14903, 58,
+ 14801, 14903, 72,
+ 14801, 14903, 94,
+ 14801, 14903, 106,
+ 14801, 14903, 124,
+ 14801, 14903, 148,
+ 14801, 14903, 244,
+ 14801, 14903, 266,
+ 14801, 14903, 306,
+ 14801, 14903, 334,
+ 14801, 14903, 348,
+ 14801, 14903, 382,
+ 14801, 14903, 414,
+ 14801, 14903, 446,
+ 14801, 14903, 520,
+ 14801, 14903, 570,
+ 14801, 14903, 586,
+ 14801, 14903, 620,
+ 14801, 14903, 674,
+ 14801, 14903, 678,
+ 14801, 14903, 732,
+ 14801, 14903, 930,
+ 14801, 14903, 1040,
+ 14801, 14903, 1138,
+ 14801, 14903, 1160,
+ 14801, 14903, 1486,
+ 14801, 14903, 1786,
+ 14801, 14903, 1904,
+ 14801, 14903, 2432,
+ 14801, 14903, 2480,
+ 14801, 14903, 2544,
+ 14801, 14903, 2660,
+ 14801, 14903, 2894,
+ 14801, 14903, 3030,
+ 14801, 14903, 3094,
+ 14801, 14903, 3222,
+ 14801, 14903, 3302,
+ 14801, 14903, 6286,
+ 14801, 14903, 10218,
+ 14801, 14903, 11812,
+ 14801, 15133, 9808,
+ 14801, 17045, 8282,
+ 14801, 20463, 9808,
+ 14801, 20771, 9808,
+ 14805, 16959, 167, 2498,
+ 14805, 16959, 258,
+ 14805, 16959, 259, 15476,
+ 14805, 16959, 840,
+ 14805, 16959, 872,
+ 14805, 16959, 944,
+ 14805, 16959, 964,
+ 14805, 16959, 1080,
+ 14805, 16959, 1202,
+ 14805, 16959, 1212,
+ 14805, 16959, 1216,
+ 14805, 16959, 1260,
+ 14805, 16959, 1262,
+ 14805, 16959, 1330,
+ 14805, 16959, 1378,
+ 14805, 16959, 1402,
+ 14805, 16959, 1730,
+ 14805, 16959, 1774,
+ 14805, 16959, 2122,
+ 14805, 16959, 2230,
+ 14805, 16959, 2426,
+ 14805, 16959, 2498,
+ 14805, 16959, 2592,
+ 14805, 16959, 2596,
+ 14805, 16959, 2672,
+ 14805, 16959, 2864,
+ 14805, 16959, 2868,
+ 14805, 16959, 2878,
+ 14805, 16959, 2956,
+ 14805, 16959, 3016,
+ 14805, 16959, 3018,
+ 14805, 16959, 3116,
+ 14805, 16959, 3212,
+ 14805, 16959, 3336,
+ 14805, 16959, 3337, 12198,
+ 14805, 16959, 3402,
+ 14805, 16959, 5770,
+ 14805, 16959, 5806,
+ 14805, 16959, 5816,
+ 14805, 16959, 5820,
+ 14805, 16959, 5822,
+ 14805, 16959, 5827, 483, 11694,
+ 14805, 16959, 5830,
+ 14805, 16959, 5950,
+ 14805, 16959, 5952,
+ 14805, 16959, 6054,
+ 14805, 16959, 6056,
+ 14805, 16959, 6058,
+ 14805, 16959, 6328,
+ 14805, 16959, 6380,
+ 14805, 16959, 6398,
+ 14805, 16959, 6407, 966,
+ 14805, 16959, 6412,
+ 14805, 16959, 6566,
+ 14805, 16959, 6682,
+ 14805, 16959, 6686,
+ 14805, 16959, 6710,
+ 14805, 16959, 6714,
+ 14805, 16959, 6736,
+ 14805, 16959, 6746,
+ 14805, 16959, 6894,
+ 14805, 16959, 7012,
+ 14805, 16959, 7082,
+ 14805, 16959, 7087, 10183, 13736,
+ 14805, 16959, 7090,
+ 14805, 16959, 7102,
+ 14805, 16959, 7110,
+ 14805, 16959, 7256,
+ 14805, 16959, 7268,
+ 14805, 16959, 7394,
+ 14805, 16959, 7422,
+ 14805, 16959, 7742,
+ 14805, 16959, 7754,
+ 14805, 16959, 7774,
+ 14805, 16959, 7776,
+ 14805, 16959, 7780,
+ 14805, 16959, 7808,
+ 14805, 16959, 7816,
+ 14805, 16959, 7844,
+ 14805, 16959, 7845, 15528,
+ 14805, 16959, 8314,
+ 14805, 16959, 8418,
+ 14805, 16959, 8806,
+ 14805, 16959, 9127, 966,
+ 14805, 16959, 9234,
+ 14805, 16959, 9420,
+ 14805, 16959, 9450,
+ 14805, 16959, 9470,
+ 14805, 16959, 9648,
+ 14805, 16959, 9666,
+ 14805, 16959, 9674,
+ 14805, 16959, 9814,
+ 14805, 16959, 9828,
+ 14805, 16959, 9908,
+ 14805, 16959, 9910,
+ 14805, 16959, 10052,
+ 14805, 16959, 10142,
+ 14805, 16959, 10182,
+ 14805, 16959, 10570,
+ 14805, 16959, 10571, 19042,
+ 14805, 16959, 10582,
+ 14805, 16959, 10588,
+ 14805, 16959, 10590,
+ 14805, 16959, 10606,
+ 14805, 16959, 10608,
+ 14805, 16959, 11356,
+ 14805, 16959, 11428,
+ 14805, 16959, 11520,
+ 14805, 16959, 11532,
+ 14805, 16959, 11554,
+ 14805, 16959, 11658,
+ 14805, 16959, 11688,
+ 14805, 16959, 11704,
+ 14805, 16959, 11712,
+ 14805, 16959, 11828,
+ 14805, 16959, 11910,
+ 14805, 16959, 11916,
+ 14805, 16959, 11930,
+ 14805, 16959, 12014,
+ 14805, 16959, 12020,
+ 14805, 16959, 12034,
+ 14805, 16959, 12138,
+ 14805, 16959, 12162,
+ 14805, 16959, 12166,
+ 14805, 16959, 12210,
+ 14805, 16959, 12266,
+ 14805, 16959, 12420,
+ 14805, 16959, 12626,
+ 14805, 16959, 12692,
+ 14805, 16959, 12698,
+ 14805, 16959, 13190,
+ 14805, 16959, 13271, 9127, 966,
+ 14805, 16959, 13276,
+ 14805, 16959, 13400,
+ 14805, 16959, 13406,
+ 14805, 16959, 13428,
+ 14805, 16959, 13431, 15575, 5806,
+ 14805, 16959, 13431, 15630,
+ 14805, 16959, 13468,
+ 14805, 16959, 13470,
+ 14805, 16959, 13472,
+ 14805, 16959, 13482,
+ 14805, 16959, 13494,
+ 14805, 16959, 13498,
+ 14805, 16959, 13506,
+ 14805, 16959, 13514,
+ 14805, 16959, 13528,
+ 14805, 16959, 13536,
+ 14805, 16959, 13546,
+ 14805, 16959, 13574,
+ 14805, 16959, 13600,
+ 14805, 16959, 13672,
+ 14805, 16959, 13712,
+ 14805, 16959, 13724,
+ 14805, 16959, 13948,
+ 14805, 16959, 13960,
+ 14805, 16959, 13964,
+ 14805, 16959, 13980,
+ 14805, 16959, 13988,
+ 14805, 16959, 14224,
+ 14805, 16959, 14250,
+ 14805, 16959, 14260,
+ 14805, 16959, 14300,
+ 14805, 16959, 14314,
+ 14805, 16959, 14430,
+ 14805, 16959, 14496,
+ 14805, 16959, 14531, 10074,
+ 14805, 16959, 14531, 11688,
+ 14805, 16959, 14533, 46,
+ 14805, 16959, 14534,
+ 14805, 16959, 14590,
+ 14805, 16959, 14747, 19042,
+ 14805, 16959, 14776,
+ 14805, 16959, 15024,
+ 14805, 16959, 15036,
+ 14805, 16959, 15156,
+ 14805, 16959, 15396,
+ 14805, 16959, 15402,
+ 14805, 16959, 15492,
+ 14805, 16959, 15498,
+ 14805, 16959, 15508,
+ 14805, 16959, 15512,
+ 14805, 16959, 15583, 16584,
+ 14805, 16959, 15666,
+ 14805, 16959, 15674,
+ 14805, 16959, 15694,
+ 14805, 16959, 15702,
+ 14805, 16959, 15742,
+ 14805, 16959, 15776,
+ 14805, 16959, 15806,
+ 14805, 16959, 15976,
+ 14805, 16959, 16046,
+ 14805, 16959, 16052,
+ 14805, 16959, 16260,
+ 14805, 16959, 16276,
+ 14805, 16959, 16346,
+ 14805, 16959, 16584,
+ 14805, 16959, 16696,
+ 14805, 16959, 16800,
+ 14805, 16959, 16940,
+ 14805, 16959, 17038,
+ 14805, 16959, 17338,
+ 14805, 16959, 17574,
+ 14805, 16959, 17930,
+ 14805, 16959, 18144,
+ 14805, 16959, 18158,
+ 14805, 16959, 18318,
+ 14805, 16959, 18420,
+ 14805, 16959, 18472,
+ 14805, 16959, 19042,
+ 14805, 16959, 19780,
+ 14805, 16959, 19898,
+ 14805, 16959, 20394,
+ 14805, 16959, 20683, 10590,
+ 14817, 9808,
+ 14829, 3212,
+ 14835, 9809, 12986,
+ 14835, 9809, 15418,
+ 14835, 9809, 15756,
+ 14835, 9809, 17466,
+ 14835, 10605, 19420,
+ 14835, 11798,
+ 14835, 13921, 9809, 8,
+ 14835, 13921, 9809, 16,
+ 14835, 13921, 9809, 28,
+ 14835, 13921, 9809, 40,
+ 14835, 13921, 9809, 58,
+ 14835, 13921, 9809, 72,
+ 14835, 13921, 9809, 94,
+ 14835, 13921, 9809, 306,
+ 14835, 14533, 11798,
+ 14835, 14533, 17045, 8282,
+ 14835, 14903, 0,
+ 14835, 14903, 8,
+ 14835, 14903, 16,
+ 14835, 14903, 28,
+ 14835, 14903, 40,
+ 14835, 14903, 58,
+ 14835, 14903, 72,
+ 14835, 14903, 94,
+ 14835, 14903, 106,
+ 14835, 14903, 124,
+ 14835, 14903, 148,
+ 14835, 14903, 244,
+ 14835, 14903, 266,
+ 14835, 14903, 334,
+ 14835, 14903, 348,
+ 14835, 14903, 382,
+ 14835, 14903, 414,
+ 14835, 14903, 446,
+ 14835, 14903, 520,
+ 14835, 14903, 570,
+ 14835, 14903, 586,
+ 14835, 14903, 620,
+ 14835, 14903, 678,
+ 14835, 14903, 732,
+ 14835, 14903, 902,
+ 14835, 14903, 930,
+ 14835, 14903, 1040,
+ 14835, 14903, 1138,
+ 14835, 14903, 1160,
+ 14835, 14903, 1476,
+ 14835, 14903, 1486,
+ 14835, 14903, 1802,
+ 14835, 14903, 1904,
+ 14835, 14903, 2142,
+ 14835, 14903, 2432,
+ 14835, 14903, 2480,
+ 14835, 14903, 2544,
+ 14835, 14903, 2660,
+ 14835, 14903, 3222,
+ 14835, 14903, 3302,
+ 14835, 14903, 6278,
+ 14835, 14903, 6286,
+ 14835, 14903, 10218,
+ 14835, 17045, 8282,
+ 14835, 20771, 9808,
+ 14844,
+ 14859, 18465, 15564,
+ 14885, 10098,
+ 14885, 10099, 503, 11943, 632,
+ 14890,
+ 14899, 9809, 2862,
+ 14899, 9809, 12986,
+ 14899, 11849, 2596,
+ 14899, 11849, 3056,
+ 14899, 11849, 3336,
+ 14899, 11849, 6720,
+ 14899, 11849, 6742,
+ 14899, 11849, 8736,
+ 14899, 11849, 10854,
+ 14899, 11849, 11916,
+ 14899, 11849, 13376,
+ 14899, 11849, 13654,
+ 14899, 13921, 9809, 8,
+ 14899, 13921, 9809, 16,
+ 14899, 13921, 9809, 28,
+ 14899, 13921, 9809, 40,
+ 14899, 13921, 9809, 58,
+ 14899, 13921, 9809, 496,
+ 14899, 13921, 9809, 674,
+ 14899, 14903, 0,
+ 14899, 14903, 106,
+ 14899, 14903, 124,
+ 14899, 14903, 148,
+ 14899, 14903, 224,
+ 14899, 14903, 244,
+ 14899, 14903, 266,
+ 14899, 14903, 334,
+ 14899, 14903, 348,
+ 14899, 14903, 382,
+ 14899, 14903, 414,
+ 14899, 14903, 446,
+ 14899, 14903, 520,
+ 14899, 14903, 570,
+ 14899, 14903, 586,
+ 14899, 14903, 620,
+ 14899, 14903, 678,
+ 14899, 14903, 692,
+ 14899, 14903, 732,
+ 14899, 14903, 952,
+ 14899, 14903, 1040,
+ 14899, 14903, 1138,
+ 14899, 14903, 1250,
+ 14899, 14903, 1376,
+ 14899, 14903, 1514,
+ 14899, 14903, 1632,
+ 14899, 14903, 1904,
+ 14899, 14903, 1952,
+ 14899, 14903, 2310,
+ 14899, 14903, 2432,
+ 14899, 14903, 2544,
+ 14899, 14903, 2660,
+ 14899, 14903, 2684,
+ 14899, 14903, 3030,
+ 14899, 14903, 3222,
+ 14899, 14903, 3288,
+ 14899, 14903, 3302,
+ 14899, 14903, 10194,
+ 14899, 14903, 10218,
+ 14899, 18831, 9809, 20,
+ 14899, 18831, 9809, 22,
+ 14899, 18831, 9809, 24,
+ 14899, 18831, 9809, 26,
+ 14899, 18831, 9809, 30,
+ 14899, 18831, 9809, 34,
+ 14899, 18831, 9809, 38,
+ 14899, 18831, 9809, 7554,
+ 14899, 18831, 9809, 16780,
+ 14899, 19469, 14903, 570,
+ 14899, 19469, 14903, 732,
+ 14899, 20659, 8915, 15635, 15572,
+ 14899, 20659, 14366,
+ 14899, 20659, 15572,
+ 14899, 20659, 15684,
+ 14899, 20659, 15685, 14366,
+ 14925, 1, 9809, 4470,
+ 14925, 1, 9809, 4472,
+ 14925, 1, 9809, 4474,
+ 14925, 1, 9809, 4476,
+ 14925, 1, 9809, 4478,
+ 14925, 1, 9809, 4480,
+ 14925, 1, 9809, 4482,
+ 14925, 1, 9809, 4484,
+ 14925, 1, 9809, 4488,
+ 14925, 1, 9809, 4490,
+ 14925, 1, 9809, 4492,
+ 14925, 1, 9809, 4496,
+ 14925, 1, 9809, 4498,
+ 14925, 1, 9809, 4500,
+ 14925, 1, 9809, 4502,
+ 14925, 1, 9809, 4504,
+ 14925, 1, 9809, 4506,
+ 14925, 1, 9809, 4508,
+ 14925, 1, 9809, 4510,
+ 14925, 1, 9809, 4512,
+ 14925, 1, 9809, 4514,
+ 14925, 1, 9809, 4516,
+ 14925, 1, 9809, 4518,
+ 14925, 1, 9809, 4520,
+ 14925, 1, 9809, 4522,
+ 14925, 1, 9809, 4524,
+ 14925, 1, 9809, 4526,
+ 14925, 1, 9809, 4528,
+ 14925, 1, 9809, 4530,
+ 14925, 1, 9809, 4532,
+ 14925, 1, 9809, 4534,
+ 14925, 1, 9809, 4536,
+ 14925, 1, 9809, 4538,
+ 14925, 1, 9809, 4540,
+ 14925, 1, 9809, 4542,
+ 14925, 1, 9809, 4544,
+ 14925, 1, 9809, 4546,
+ 14925, 1, 9809, 4548,
+ 14925, 1, 9809, 4550,
+ 14925, 1, 9809, 4552,
+ 14925, 1, 9809, 4554,
+ 14925, 1, 9809, 4556,
+ 14925, 1, 9809, 4558,
+ 14925, 1, 9809, 4560,
+ 14925, 1, 9809, 4562,
+ 14925, 1, 9809, 4564,
+ 14925, 1, 9809, 4566,
+ 14925, 1, 9809, 4568,
+ 14925, 1, 9809, 4570,
+ 14925, 1, 9809, 4572,
+ 14925, 1, 9809, 4574,
+ 14925, 1, 9809, 4576,
+ 14925, 1, 9809, 4578,
+ 14925, 1, 9809, 4580,
+ 14925, 1, 9809, 4582,
+ 14925, 1, 9809, 4584,
+ 14925, 1, 9809, 4586,
+ 14925, 1, 9809, 4588,
+ 14925, 1, 9809, 4590,
+ 14925, 1, 9809, 4592,
+ 14925, 1, 9809, 4594,
+ 14925, 1, 9809, 4596,
+ 14925, 1, 9809, 4598,
+ 14925, 1, 9809, 4600,
+ 14925, 1, 9809, 4602,
+ 14925, 1, 9809, 4604,
+ 14925, 1, 9809, 4606,
+ 14925, 1, 9809, 4608,
+ 14925, 1, 9809, 4610,
+ 14925, 1, 9809, 4864,
+ 14925, 1, 9809, 4866,
+ 14925, 1, 9809, 4868,
+ 14925, 1, 9809, 4870,
+ 14925, 1, 9809, 4872,
+ 14925, 1, 9809, 4874,
+ 14925, 1, 9809, 4878,
+ 14925, 1, 9809, 4880,
+ 14925, 1, 9809, 4882,
+ 14925, 1, 9809, 4884,
+ 14925, 1, 9809, 4886,
+ 14925, 1, 9809, 4888,
+ 14925, 1, 9809, 4892,
+ 14925, 1, 9809, 4894,
+ 14925, 1, 9809, 4902,
+ 14925, 1, 9809, 4904,
+ 14925, 1, 9809, 4908,
+ 14925, 1, 9809, 4910,
+ 14925, 1, 9809, 4912,
+ 14925, 1, 9809, 4914,
+ 14925, 1, 9809, 4916,
+ 14925, 1, 9809, 4918,
+ 14925, 1, 9809, 4920,
+ 14925, 1, 9809, 4922,
+ 14925, 1, 9809, 4924,
+ 14925, 1, 9809, 4926,
+ 14925, 1, 9809, 4928,
+ 14925, 1, 9809, 4930,
+ 14925, 1, 9809, 4932,
+ 14925, 1, 9809, 4934,
+ 14925, 1, 9809, 4936,
+ 14925, 1, 9809, 4938,
+ 14925, 1, 9809, 4940,
+ 14925, 1, 9809, 4942,
+ 14925, 1, 9809, 4944,
+ 14925, 1, 9809, 4946,
+ 14925, 1, 9809, 4948,
+ 14925, 1, 9809, 4950,
+ 14925, 1, 9809, 4952,
+ 14925, 1, 9809, 4954,
+ 14925, 1, 9809, 4956,
+ 14925, 1, 9809, 4958,
+ 14925, 1, 9809, 4960,
+ 14925, 1, 9809, 4962,
+ 14925, 1, 9809, 4964,
+ 14925, 1, 9809, 4966,
+ 14925, 1, 9809, 4968,
+ 14925, 1, 9809, 4970,
+ 14925, 1, 9809, 4972,
+ 14925, 1, 9809, 4974,
+ 14925, 1, 9809, 4976,
+ 14925, 1, 9809, 4978,
+ 14925, 1, 9809, 4980,
+ 14925, 1, 9809, 4982,
+ 14925, 1, 9809, 4984,
+ 14925, 1, 9809, 4986,
+ 14925, 1, 9809, 4988,
+ 14925, 1, 9809, 4990,
+ 14925, 1, 9809, 4992,
+ 14925, 1, 9809, 4994,
+ 14925, 1, 9809, 4996,
+ 14925, 1, 9809, 4998,
+ 14925, 1, 9809, 5000,
+ 14925, 1, 9809, 5002,
+ 14925, 1, 9809, 5004,
+ 14925, 1, 9809, 5006,
+ 14925, 1, 9809, 5008,
+ 14925, 1, 9809, 5010,
+ 14925, 1, 9809, 5012,
+ 14925, 1, 9809, 5014,
+ 14925, 1, 9809, 5016,
+ 14925, 1, 9809, 5018,
+ 14925, 1, 9809, 5020,
+ 14925, 1, 9809, 5022,
+ 14925, 1, 9809, 5024,
+ 14925, 1, 9809, 5026,
+ 14925, 1, 9809, 5028,
+ 14925, 1, 9809, 5030,
+ 14925, 1, 9809, 5032,
+ 14925, 1, 9809, 5034,
+ 14925, 1, 9809, 5036,
+ 14925, 1, 9809, 5038,
+ 14925, 1, 9809, 5040,
+ 14925, 1, 9809, 5042,
+ 14925, 1, 9809, 5044,
+ 14925, 1, 9809, 5046,
+ 14925, 1, 9809, 5048,
+ 14925, 1, 9809, 5050,
+ 14925, 1, 9809, 5052,
+ 14925, 1, 9809, 5054,
+ 14925, 1, 9809, 5056,
+ 14925, 1, 9809, 5058,
+ 14925, 1, 9809, 5060,
+ 14925, 1, 9809, 5062,
+ 14925, 1, 9809, 5064,
+ 14925, 1, 9809, 5066,
+ 14925, 1, 9809, 5068,
+ 14925, 1, 9809, 5070,
+ 14925, 1, 9809, 5072,
+ 14925, 1, 9809, 5074,
+ 14925, 1, 9809, 5076,
+ 14925, 1, 9809, 5078,
+ 14925, 1, 9809, 5080,
+ 14925, 1, 9809, 5082,
+ 14925, 1, 9809, 5084,
+ 14925, 1, 9809, 5086,
+ 14925, 1, 9809, 5088,
+ 14925, 1, 9809, 5090,
+ 14925, 1, 9809, 5092,
+ 14925, 1, 9809, 5094,
+ 14925, 1, 9809, 5096,
+ 14925, 1, 9809, 5098,
+ 14925, 1, 9809, 5100,
+ 14925, 1, 9809, 5102,
+ 14925, 1, 9809, 5104,
+ 14925, 1, 9809, 5106,
+ 14925, 1, 9809, 5108,
+ 14925, 1, 9809, 5110,
+ 14925, 1, 9809, 5112,
+ 14925, 1, 9809, 5114,
+ 14925, 1, 9809, 5116,
+ 14925, 1, 9809, 5118,
+ 14925, 1, 9809, 5120,
+ 14925, 1, 9809, 5122,
+ 14925, 1, 9809, 5124,
+ 14925, 1, 9809, 5126,
+ 14925, 1, 9809, 5128,
+ 14925, 1, 9809, 5130,
+ 14925, 1, 9809, 5132,
+ 14925, 1, 9809, 5134,
+ 14925, 1, 9809, 5136,
+ 14925, 1, 9809, 5138,
+ 14925, 1, 9809, 5141, 0,
+ 14925, 1, 9809, 5143, 2,
+ 14925, 1, 9809, 5145, 6,
+ 14925, 1, 9809, 5147, 8,
+ 14925, 1, 9809, 5149, 10,
+ 14925, 1, 9809, 5151, 14,
+ 14925, 1, 9809, 5153, 18,
+ 14925, 1, 9809, 5155, 20,
+ 14925, 1, 9809, 5157, 22,
+ 14925, 1, 9809, 5159, 44,
+ 14925, 1, 9809, 5161, 46,
+ 14925, 1, 9809, 5163, 48,
+ 14925, 1, 9809, 5165, 13078,
+ 14925, 1, 9809, 5167, 790,
+ 14925, 1, 9809, 5169, 108,
+ 14925, 1, 9809, 5171, 152,
+ 14925, 1, 9809, 5173, 6570,
+ 14925, 1, 9809, 5175, 336,
+ 14925, 1, 9809, 5176,
+ 14925, 1, 9809, 5178,
+ 14925, 1, 9809, 5180,
+ 14925, 1, 9809, 5182,
+ 14925, 1, 9809, 5184,
+ 14925, 1, 9809, 5186,
+ 14925, 1, 9809, 5188,
+ 14925, 1, 9809, 5190,
+ 14925, 1, 9809, 10998,
+ 14925, 1, 9809, 11056,
+ 14925, 1, 9809, 11060,
+ 14925, 1, 9809, 11086,
+ 14925, 1, 9809, 11088,
+ 14925, 1, 9809, 11090,
+ 14925, 1, 9809, 11092,
+ 14925, 1, 9809, 11094,
+ 14925, 1, 9809, 11096,
+ 14925, 1, 9809, 11198,
+ 14925, 1, 9809, 11200,
+ 14925, 1, 9809, 11202,
+ 14925, 1, 9809, 11204,
+ 14925, 1, 9809, 11206,
+ 14925, 1, 9809, 11208,
+ 14925, 1, 9809, 11210,
+ 14925, 1, 9809, 11212,
+ 14925, 1, 9809, 11214,
+ 14925, 1, 9809, 11216,
+ 14925, 1, 9809, 11218,
+ 14925, 1, 9809, 11220,
+ 14925, 1, 9809, 11222,
+ 14925, 1, 9809, 11224,
+ 14925, 1, 9809, 11226,
+ 14925, 1, 9809, 11228,
+ 14925, 1, 9809, 11230,
+ 14925, 1, 9809, 11232,
+ 14925, 1, 9809, 11234,
+ 14925, 1, 9809, 11236,
+ 14925, 1, 9809, 11238,
+ 14925, 1, 9809, 11240,
+ 14925, 1, 9809, 11242,
+ 14925, 1, 9809, 11244,
+ 14925, 1, 9809, 11246,
+ 14925, 1, 9809, 11248,
+ 14925, 1, 9809, 11250,
+ 14925, 1, 9809, 11252,
+ 14925, 1, 9809, 11254,
+ 14925, 1, 9809, 11256,
+ 14925, 1, 9809, 11258,
+ 14925, 1, 9809, 11260,
+ 14925, 1, 9809, 11262,
+ 14925, 1, 9809, 11264,
+ 14925, 1, 9809, 11266,
+ 14925, 1, 9809, 11268,
+ 14925, 1, 9809, 11270,
+ 14925, 1, 9809, 11272,
+ 14925, 1, 9809, 11274,
+ 14925, 1, 9809, 11276,
+ 14925, 1, 9809, 11278,
+ 14925, 1, 9809, 11280,
+ 14925, 1, 9809, 11282,
+ 14925, 1, 9809, 11284,
+ 14925, 1, 9809, 11286,
+ 14925, 1, 9809, 11288,
+ 14925, 1, 9809, 11290,
+ 14925, 1, 9809, 11292,
+ 14925, 1, 9809, 11294,
+ 14925, 1, 9809, 11296,
+ 14925, 1, 9809, 11298,
+ 14925, 1, 9809, 11300,
+ 14925, 1, 9809, 11302,
+ 14925, 1, 9809, 11304,
+ 14925, 1, 9809, 11306,
+ 14925, 1, 9809, 11308,
+ 14925, 1, 9809, 11310,
+ 14925, 1, 9809, 11312,
+ 14925, 1, 9809, 11314,
+ 14925, 1, 9809, 11316,
+ 14925, 1, 9809, 11318,
+ 14925, 1, 9809, 11320,
+ 14925, 1, 9809, 11322,
+ 14925, 1, 9809, 11324,
+ 14925, 1, 9809, 11326,
+ 14925, 1, 9809, 11328,
+ 14925, 1, 9809, 11330,
+ 14925, 1, 9809, 11332,
+ 14925, 1, 9809, 11334,
+ 14925, 1, 9809, 11336,
+ 14925, 1, 9809, 11338,
+ 14925, 1, 9809, 11340,
+ 14925, 1, 9809, 11342,
+ 14925, 1, 9809, 11344,
+ 14925, 1, 9809, 14153, 374,
+ 14925, 1, 9809, 14155, 376,
+ 14925, 1, 9809, 14157, 378,
+ 14925, 1, 9809, 14159, 380,
+ 14925, 1, 9809, 14164,
+ 14925, 1, 9809, 14166,
+ 14925, 1, 9809, 14168,
+ 14925, 1, 9809, 14170,
+ 14925, 1, 9809, 14172,
+ 14925, 1, 9809, 14174,
+ 14925, 1, 9809, 14176,
+ 14925, 1, 9809, 17398,
+ 14925, 1, 9809, 17400,
+ 14925, 1, 9809, 17402,
+ 14925, 1, 9809, 17404,
+ 14925, 1, 9809, 17406,
+ 14925, 1, 9809, 17408,
+ 14925, 1, 9809, 17410,
+ 14925, 1, 9809, 17412,
+ 14925, 1, 9809, 17414,
+ 14925, 1, 9809, 17416,
+ 14925, 1, 9809, 17418,
+ 14925, 1, 9809, 17420,
+ 14925, 1, 9809, 17422,
+ 14925, 1, 9809, 17424,
+ 14925, 1, 9809, 17426,
+ 14925, 1, 9809, 17428,
+ 14925, 1, 9809, 17430,
+ 14925, 1, 9809, 17432,
+ 14925, 1, 9809, 17434,
+ 14925, 1, 9809, 17436,
+ 14925, 3, 15565, 5320,
+ 14925, 3, 15565, 5322,
+ 14925, 3, 15565, 5328,
+ 14925, 3, 15565, 5352,
+ 14925, 3, 15565, 5376,
+ 14925, 3, 15565, 5380,
+ 14925, 3, 15565, 5394,
+ 14925, 3, 15565, 5408,
+ 14925, 3, 15565, 5410,
+ 14925, 3, 15565, 5440,
+ 14925, 3, 15565, 5446,
+ 14925, 3, 15565, 5448,
+ 14925, 3, 15565, 5452,
+ 14925, 3, 15565, 5456,
+ 14925, 3, 17993, 5463, 2230,
+ 14925, 3, 17993, 5465, 13980,
+ 14925, 3, 17993, 5467, 6328,
+ 14925, 3, 17993, 5469, 11944,
+ 14925, 3, 17993, 5471, 13960,
+ 14925, 3, 17993, 5473, 14268,
+ 14925, 3, 17993, 5475, 13076,
+ 14925, 3, 17993, 5477, 13508,
+ 14925, 3, 17993, 5479, 16096,
+ 14925, 3, 17993, 5485, 2590,
+ 14925, 3, 17993, 5487, 10590,
+ 14925, 3, 17993, 5488,
+ 14925, 3, 17993, 5495, 14324,
+ 14925, 3, 17993, 5497, 7012,
+ 14925, 3, 17993, 5498,
+ 14925, 3, 17993, 5501, 10600,
+ 14925, 3, 17993, 5502,
+ 14925, 3, 17993, 5504,
+ 14925, 3, 17993, 5507, 7268,
+ 14925, 3, 17993, 5508,
+ 14925, 3, 17993, 5510,
+ 14925, 3, 17993, 5512,
+ 14925, 3, 17993, 5518,
+ 14925, 3, 17993, 5520,
+ 14925, 3, 17993, 5523, 11694,
+ 14925, 3, 17993, 5524,
+ 14925, 3, 17993, 5526,
+ 14925, 3, 17993, 5529, 16308,
+ 14925, 3, 17993, 5531, 14218,
+ 14925, 3, 17993, 5532,
+ 14925, 3, 17993, 5534,
+ 14925, 3, 17993, 5536,
+ 14925, 3, 17993, 5538,
+ 14925, 3, 17993, 5540,
+ 14925, 3, 17993, 5542,
+ 14925, 3, 17993, 5544,
+ 14925, 3, 17993, 5546,
+ 14925, 3, 17993, 5548,
+ 14925, 3, 17993, 5551, 12688,
+ 14925, 3, 17993, 5552,
+ 14925, 3, 17993, 5555, 10182,
+ 14925, 3, 17993, 5556,
+ 14925, 3, 17993, 5558,
+ 14925, 3, 17993, 5560,
+ 14925, 3, 17993, 5562,
+ 14925, 3, 17993, 5564,
+ 14925, 3, 17993, 5566,
+ 14925, 3, 17993, 5568,
+ 14925, 3, 17993, 5570,
+ 14925, 3, 17993, 5572,
+ 14925, 3, 17993, 5574,
+ 14925, 3, 17993, 5576,
+ 14925, 3, 17993, 5579, 14740,
+ 14925, 3, 17993, 5621, 19082,
+ 14925, 3, 17993, 5627, 15928,
+ 14925, 3, 17993, 5637, 13506,
+ 14925, 3, 17993, 5639, 11428,
+ 14925, 3, 17993, 5640,
+ 14925, 3, 17993, 5643, 13578,
+ 14925, 3, 17993, 5644,
+ 14925, 3, 17993, 5646,
+ 14925, 3, 17993, 5649, 17369, 16014,
+ 14925, 3, 17993, 5651, 16014,
+ 14925, 3, 17993, 5653, 16015, 12048,
+ 14925, 3, 17993, 5655, 13962,
+ 14925, 3, 17993, 5656,
+ 14925, 3, 17993, 5658,
+ 14925, 3, 17993, 5662,
+ 14925, 3, 17993, 5664,
+ 14925, 3, 17993, 5668,
+ 14925, 3, 17993, 5670,
+ 14925, 3, 17993, 5672,
+ 14925, 3, 17993, 5675, 6256,
+ 14925, 3, 17993, 5676,
+ 14925, 3, 17993, 5678,
+ 14925, 3, 17993, 5680,
+ 14925, 3, 17993, 5682,
+ 14925, 3, 17993, 5684,
+ 14925, 3, 17993, 11447, 8280,
+ 14925, 3, 17993, 11449, 18462,
+ 14925, 3, 17993, 11451, 1326,
+ 14925, 3, 17993, 11453, 2860,
+ 14925, 3, 17993, 11455, 18410,
+ 14925, 3, 17993, 11457, 16362,
+ 14925, 3, 17993, 11459, 3086,
+ 14925, 3, 17993, 11461, 5818,
+ 14925, 3, 17993, 11463, 1080,
+ 14925, 3, 17993, 11465, 5848,
+ 14925, 3, 17993, 15751, 5514,
+ 14925, 3, 17993, 15751, 5580,
+ 14925, 3, 17993, 15751, 5582,
+ 14925, 3, 17993, 15751, 5584,
+ 14925, 3, 17993, 15751, 5586,
+ 14925, 3, 17993, 15751, 5588,
+ 14925, 3, 17993, 15751, 5590,
+ 14925, 3, 17993, 15751, 5592,
+ 14925, 3, 17993, 15751, 5594,
+ 14925, 3, 17993, 15751, 5596,
+ 14925, 3, 17993, 15751, 5598,
+ 14925, 3, 17993, 15751, 5600,
+ 14925, 3, 17993, 15751, 5602,
+ 14925, 3, 17993, 15751, 5604,
+ 14925, 3, 17993, 15751, 5606,
+ 14925, 3, 17993, 15751, 5608,
+ 14925, 3, 17993, 15751, 5610,
+ 14925, 3, 17993, 15751, 5612,
+ 14925, 3, 17993, 15751, 5614,
+ 14925, 3, 17993, 15751, 5616,
+ 14925, 3, 17993, 15751, 5618,
+ 14925, 3, 17993, 15751, 5622,
+ 14925, 3, 17993, 15751, 5624,
+ 14925, 3, 17993, 15751, 5628,
+ 14925, 3, 17993, 15751, 5630,
+ 14925, 3, 17993, 15751, 5632,
+ 14925, 3, 17993, 15751, 5634,
+ 14925, 3, 17993, 15751, 5666,
+ 14925, 3, 17993, 15751, 5686,
+ 14925, 3, 18151, 5481, 7560,
+ 14925, 3, 18151, 5483, 14802,
+ 14925, 3, 18151, 5491, 11418,
+ 14925, 3, 18151, 5493, 8328,
+ 14925, 3, 18151, 5517, 13772,
+ 14925, 3, 18151, 5661, 11852,
+ 14925, 3, 18519, 5287, 148,
+ 14925, 3, 18519, 5289, 578,
+ 14925, 3, 18519, 5291, 520,
+ 14925, 3, 18519, 5293, 624,
+ 14925, 3, 18519, 5295, 632,
+ 14925, 3, 18519, 5297, 446,
+ 14925, 3, 18519, 5299, 158,
+ 14925, 3, 18519, 5301, 0,
+ 14925, 3, 18519, 5303, 590,
+ 14925, 3, 18519, 5305, 40,
+ 14925, 3, 18519, 5307, 538,
+ 14925, 3, 18519, 5309, 600,
+ 14925, 3, 18519, 5311, 422,
+ 14925, 3, 18519, 5313, 166,
+ 14925, 3, 18519, 5315, 434,
+ 14925, 3, 18519, 5317, 554,
+ 14925, 3, 18519, 5319, 750,
+ 14925, 3, 18519, 5325, 758,
+ 14925, 3, 18519, 5327, 558,
+ 14925, 3, 18519, 5331, 438,
+ 14925, 3, 18519, 5333, 450,
+ 14925, 3, 18519, 5335, 54,
+ 14925, 3, 18519, 5337, 582,
+ 14925, 3, 18519, 5339, 572,
+ 14925, 3, 18519, 5341, 16,
+ 14925, 3, 18519, 5343, 2710,
+ 14925, 3, 18519, 5345, 458,
+ 14925, 3, 18519, 5347, 586,
+ 14925, 3, 18519, 5349, 562,
+ 14925, 3, 18519, 5351, 2846,
+ 14925, 3, 18519, 5355, 340,
+ 14925, 3, 18519, 5357, 628,
+ 14925, 3, 18519, 5359, 8,
+ 14925, 3, 18519, 5361, 534,
+ 14925, 3, 18519, 5363, 704,
+ 14925, 3, 18519, 5365, 596,
+ 14925, 3, 18519, 5367, 708,
+ 14925, 3, 18519, 5369, 56,
+ 14925, 3, 18519, 5371, 352,
+ 14925, 3, 18519, 5373, 154,
+ 14925, 3, 18519, 5375, 336,
+ 14925, 3, 18519, 5379, 2536,
+ 14925, 3, 18519, 5383, 544,
+ 14925, 3, 18519, 5385, 168,
+ 14925, 3, 18519, 5387, 466,
+ 14925, 3, 18519, 5389, 576,
+ 14925, 3, 18519, 5391, 692,
+ 14925, 3, 18519, 5393, 470,
+ 14925, 3, 18519, 5397, 334,
+ 14925, 3, 18519, 5399, 610,
+ 14925, 3, 18519, 5401, 620,
+ 14925, 3, 18519, 5403, 570,
+ 14925, 3, 18519, 5405, 28,
+ 14925, 3, 18519, 5407, 2708,
+ 14925, 3, 18519, 5413, 342,
+ 14925, 3, 18519, 5415, 3164,
+ 14925, 3, 18519, 5417, 356,
+ 14925, 3, 18519, 5419, 2918,
+ 14925, 3, 18519, 5421, 640,
+ 14925, 3, 18519, 5423, 364,
+ 14925, 3, 18519, 5425, 1244,
+ 14925, 3, 18519, 5427, 526,
+ 14925, 3, 18519, 5429, 428,
+ 14925, 3, 18519, 5431, 752,
+ 14925, 3, 18519, 5433, 698,
+ 14925, 3, 18519, 5435, 2844,
+ 14925, 3, 18519, 5437, 348,
+ 14925, 3, 18519, 5439, 556,
+ 14925, 3, 18519, 5443, 414,
+ 14925, 3, 18519, 5445, 368,
+ 14925, 3, 18519, 5451, 94,
+ 14925, 3, 18519, 5455, 3332,
+ 14925, 3, 18519, 5459, 1246,
+ 14925, 3, 18519, 5461, 3336,
+ 14929, 20098,
+ 14943, 14441, 6682,
+ 14949, 14903, 0,
+ 14949, 14903, 2,
+ 14949, 14903, 6,
+ 14949, 14903, 8,
+ 14949, 14903, 12,
+ 14949, 14903, 14,
+ 14949, 14903, 16,
+ 14949, 14903, 18,
+ 14949, 14903, 20,
+ 14949, 14903, 22,
+ 14949, 14903, 24,
+ 14949, 14903, 26,
+ 14949, 14903, 30,
+ 14949, 14903, 32,
+ 14949, 14903, 34,
+ 14949, 14903, 36,
+ 14949, 14903, 38,
+ 14949, 14903, 40,
+ 14949, 14903, 44,
+ 14949, 14903, 46,
+ 14949, 14903, 50,
+ 14949, 14903, 80,
+ 14949, 14903, 112,
+ 14949, 14903, 202,
+ 14949, 14903, 358,
+ 14949, 14903, 432,
+ 14949, 14903, 464,
+ 14949, 14903, 626,
+ 14949, 14903, 638,
+ 14951, 14903, 0,
+ 14951, 14903, 2,
+ 14951, 14903, 4,
+ 14951, 14903, 6,
+ 14951, 14903, 8,
+ 14951, 14903, 10,
+ 14951, 14903, 12,
+ 14951, 14903, 16,
+ 14951, 14903, 20,
+ 14951, 14903, 22,
+ 14951, 14903, 24,
+ 14951, 14903, 26,
+ 14951, 14903, 28,
+ 14951, 14903, 32,
+ 14951, 14903, 34,
+ 14951, 14903, 36,
+ 14951, 14903, 38,
+ 14951, 14903, 40,
+ 14951, 14903, 42,
+ 14951, 14903, 48,
+ 14951, 14903, 80,
+ 14951, 14903, 202,
+ 14951, 14903, 410,
+ 14951, 14903, 464,
+ 14951, 14903, 606,
+ 14951, 14903, 638,
+ 14951, 20265, 8282,
+ 14952,
+ 14997, 3057, 15501, 17496,
+ 14997, 3057, 16913, 11521, 9904,
+ 14997, 5825, 13965, 14396,
+ 14997, 6721, 15501, 17496,
+ 14997, 6743, 16913, 11521, 9904,
+ 14997, 6743, 16913, 18287, 9904,
+ 14997, 7779, 11725, 15971, 18220,
+ 14997, 7779, 20629, 18220,
+ 14997, 11521, 14396,
+ 14997, 11917, 15501, 17496,
+ 14997, 11917, 16913, 11521, 9904,
+ 14997, 12173, 11718,
+ 14997, 13271, 11725, 15971, 18220,
+ 14997, 13271, 20629, 18220,
+ 14997, 13380,
+ 14997, 13483, 13965, 14396,
+ 14997, 13655, 16913, 11521, 9904,
+ 14997, 13655, 16913, 18287, 9904,
+ 14997, 13965, 14396,
+ 14997, 13965, 15512,
+ 14997, 17022,
+ 14997, 18669, 894,
+ 14997, 19079, 7779, 20629, 18220,
+ 14997, 19079, 13271, 20629, 18220,
+ 14997, 20927, 13502,
+ 14997, 21135, 11399, 15971, 18220,
+ 14997, 21387, 11399, 15971, 18220,
+ 14999, 12605, 2187, 7416,
+ 14999, 12605, 5244,
+ 14999, 12605, 5253, 7416,
+ 14999, 12605, 10605, 20147, 8282,
+ 14999, 12605, 11363, 14838,
+ 14999, 12605, 11849, 2596,
+ 14999, 12605, 11849, 3056,
+ 14999, 12605, 11849, 3336,
+ 14999, 12605, 11849, 6720,
+ 14999, 12605, 11849, 6742,
+ 14999, 12605, 11849, 8736,
+ 14999, 12605, 11849, 10854,
+ 14999, 12605, 11849, 11916,
+ 14999, 12605, 11849, 13376,
+ 14999, 12605, 11849, 13654,
+ 14999, 12605, 13921, 9809, 94,
+ 14999, 12605, 13921, 9809, 306,
+ 14999, 12605, 13921, 9809, 674,
+ 14999, 12605, 13921, 9809, 770,
+ 14999, 12605, 13921, 9809, 782,
+ 14999, 12605, 13921, 9809, 5240,
+ 14999, 12605, 13921, 9809, 7392,
+ 14999, 12605, 13921, 9809, 8882,
+ 14999, 12605, 13921, 9809, 9118,
+ 14999, 12605, 13921, 9809, 10372,
+ 14999, 12605, 13921, 9809, 14026,
+ 14999, 12605, 13921, 9809, 15482,
+ 14999, 12605, 13921, 9809, 16018,
+ 14999, 12605, 13921, 9809, 17342,
+ 14999, 12605, 14903, 8,
+ 14999, 12605, 14903, 16,
+ 14999, 12605, 14903, 17, 14938,
+ 14999, 12605, 14903, 28,
+ 14999, 12605, 14903, 106,
+ 14999, 12605, 14903, 446,
+ 14999, 12605, 14903, 447, 14938,
+ 14999, 12605, 14903, 520,
+ 14999, 12605, 14903, 521, 14938,
+ 14999, 12605, 14903, 664,
+ 14999, 12605, 14903, 1040,
+ 14999, 12605, 14903, 1138,
+ 14999, 12605, 14903, 1174,
+ 14999, 12605, 14903, 1518,
+ 14999, 12605, 14903, 1688,
+ 14999, 12605, 14903, 1794,
+ 14999, 12605, 14903, 1962,
+ 14999, 12605, 14903, 1963, 14938,
+ 14999, 12605, 14903, 2062,
+ 14999, 12605, 14903, 2063, 14938,
+ 14999, 12605, 14903, 2306,
+ 14999, 12605, 14903, 2307, 14938,
+ 14999, 12605, 14903, 2480,
+ 14999, 12605, 14903, 2544,
+ 14999, 12605, 14903, 2858,
+ 14999, 12605, 14903, 3000,
+ 14999, 12605, 14903, 3030,
+ 14999, 12605, 14903, 3094,
+ 14999, 12605, 14903, 3240,
+ 14999, 12605, 14903, 3241, 14938,
+ 14999, 12605, 14903, 3302,
+ 14999, 12605, 14903, 3498,
+ 14999, 12605, 14903, 5794,
+ 14999, 12605, 14903, 6010,
+ 14999, 12605, 14903, 6286,
+ 14999, 12605, 14903, 6366,
+ 14999, 12605, 14903, 6986,
+ 14999, 12605, 14903, 7434,
+ 14999, 12605, 14903, 7622,
+ 14999, 12605, 14903, 8712,
+ 14999, 12605, 14903, 8713, 14938,
+ 14999, 12605, 14903, 9196,
+ 14999, 12605, 14903, 10126,
+ 14999, 12605, 14903, 10218,
+ 14999, 12605, 14903, 10704,
+ 14999, 12605, 14903, 11436,
+ 14999, 12605, 15756,
+ 14999, 12605, 17584,
+ 14999, 12605, 17586,
+ 14999, 12605, 18519, 20147, 8282,
+ 15021, 1212,
+ 15029, 13152,
+ 15029, 13153, 2586,
+ 15029, 13153, 10595, 20163, 11429, 93, 7778,
+ 15030,
+ 15033, 3337, 3114,
+ 15034,
+ 15035, 6682,
+ 15038,
+ 15055, 18195, 13502,
+ 15068,
+ 15109, 8283, 9808,
+ 15111, 18505, 482,
+ 15111, 18505, 483, 503, 11943, 632,
+ 15133, 3213, 6757, 9910,
+ 15133, 9808,
+ 15133, 14547, 6757, 9910,
+ 15133, 15707, 6757, 9910,
+ 15133, 15709, 6757, 9910,
+ 15133, 16281, 6757, 9910,
+ 15133, 17097, 6757, 9910,
+ 15133, 17855, 6757, 9910,
+ 15133, 17925, 6757, 9910,
+ 15133, 18191, 6757, 9910,
+ 15133, 18565, 6757, 9910,
+ 15133, 19425, 6757, 9910,
+ 15135, 9808,
+ 15141, 20669, 18794,
+ 15145, 17552,
+ 15146,
+ 15159, 1902,
+ 15161, 5832,
+ 15169, 7779, 20628,
+ 15169, 13271, 20628,
+ 15177, 10180,
+ 15187, 12239, 6057, 9809, 1340,
+ 15187, 12239, 6057, 9809, 1582,
+ 15187, 12239, 6057, 9809, 1966,
+ 15187, 12239, 6057, 9809, 2030,
+ 15187, 12239, 6057, 9809, 2134,
+ 15187, 12239, 6057, 9809, 3422,
+ 15187, 12239, 6057, 9809, 3484,
+ 15187, 12239, 6057, 9809, 3638,
+ 15187, 12239, 6057, 9809, 7100,
+ 15187, 12239, 6057, 9809, 7594,
+ 15187, 12239, 6057, 9809, 7766,
+ 15187, 12239, 6057, 9809, 8426,
+ 15187, 12239, 6057, 9809, 9194,
+ 15187, 12239, 6057, 9809, 10120,
+ 15187, 12239, 6057, 9809, 10190,
+ 15187, 12239, 6057, 9809, 10208,
+ 15187, 12239, 6057, 9809, 10728,
+ 15187, 12239, 6057, 9809, 14008,
+ 15187, 12239, 6057, 9809, 15680,
+ 15187, 12239, 8283, 1059, 600,
+ 15187, 12239, 8283, 1059, 1668,
+ 15187, 12239, 8283, 1059, 1894,
+ 15187, 12239, 8283, 1059, 3314,
+ 15187, 12239, 8283, 1059, 7604,
+ 15187, 12239, 8283, 1059, 9918,
+ 15187, 12239, 8283, 1059, 10058,
+ 15187, 12239, 9809, 96,
+ 15187, 12239, 9809, 293, 3644,
+ 15187, 12239, 9809, 1059, 2713, 6264,
+ 15187, 12239, 9809, 1059, 6083, 15682,
+ 15187, 12239, 9809, 1059, 7085, 2195, 8869, 8868,
+ 15187, 12239, 9809, 1059, 8823, 3276,
+ 15187, 12239, 9809, 1059, 10201, 2926,
+ 15187, 12239, 9809, 1059, 10262,
+ 15187, 12239, 9809, 1059, 10263, 6036,
+ 15187, 12239, 9809, 1059, 11646,
+ 15187, 12239, 9809, 1636,
+ 15187, 12239, 9809, 2158,
+ 15187, 12239, 9809, 2344,
+ 15187, 12239, 9809, 3196,
+ 15187, 12239, 9809, 3465, 2178,
+ 15187, 12239, 9809, 3465, 6694,
+ 15187, 12239, 9809, 3465, 8832,
+ 15187, 12239, 9809, 3465, 9672,
+ 15187, 12239, 9809, 3465, 10122,
+ 15187, 12239, 9809, 3465, 13640,
+ 15187, 12239, 9809, 3465, 13747, 5972,
+ 15187, 12239, 9809, 3847, 10092,
+ 15187, 12239, 9809, 7244,
+ 15187, 12239, 9809, 8317, 9914,
+ 15187, 12239, 9809, 8317, 13742,
+ 15187, 12239, 9809, 8812,
+ 15187, 12239, 9809, 8870,
+ 15187, 12239, 9809, 10636,
+ 15187, 12239, 9809, 10640,
+ 15187, 12239, 9809, 10660,
+ 15187, 12239, 9809, 14007, 2896,
+ 15187, 12239, 9809, 14007, 3280,
+ 15187, 12239, 9809, 14007, 6684,
+ 15187, 12239, 9809, 14007, 12938,
+ 15187, 12239, 9809, 15713, 5974,
+ 15187, 12239, 9809, 20733, 1636,
+ 15187, 12239, 11849, 2596,
+ 15187, 12239, 11849, 3056,
+ 15187, 12239, 11849, 3336,
+ 15187, 12239, 11849, 6720,
+ 15187, 12239, 11849, 6742,
+ 15187, 12239, 11849, 8736,
+ 15187, 12239, 11849, 10854,
+ 15187, 12239, 11849, 11916,
+ 15187, 12239, 11849, 13376,
+ 15187, 12239, 11849, 13654,
+ 15187, 12239, 13921, 1852,
+ 15187, 12239, 13921, 1878,
+ 15187, 12239, 13921, 1884,
+ 15187, 12239, 13921, 1898,
+ 15187, 12239, 13921, 1916,
+ 15187, 12239, 13921, 1934,
+ 15187, 12239, 13921, 1956,
+ 15187, 12239, 13921, 1972,
+ 15187, 12239, 13921, 1998,
+ 15187, 12239, 13921, 2016,
+ 15187, 12239, 13921, 2024,
+ 15187, 12239, 13921, 2034,
+ 15187, 12239, 13921, 7520,
+ 15187, 12239, 13921, 7528,
+ 15187, 12239, 13921, 7542,
+ 15187, 12239, 13921, 7544,
+ 15187, 12239, 13921, 7566,
+ 15187, 12239, 13921, 7570,
+ 15187, 12239, 13921, 7572,
+ 15187, 12239, 13921, 7576,
+ 15187, 12239, 13921, 7580,
+ 15187, 12239, 13921, 7582,
+ 15187, 12239, 13921, 7624,
+ 15187, 12239, 13921, 7626,
+ 15187, 12239, 13921, 7652,
+ 15187, 12239, 13921, 7654,
+ 15187, 12239, 13921, 7672,
+ 15187, 12239, 13921, 7674,
+ 15187, 12239, 15133, 3213, 17534,
+ 15187, 12239, 15133, 3213, 19586,
+ 15187, 12239, 15133, 10072,
+ 15187, 12239, 15133, 16379, 18138,
+ 15187, 12239, 15133, 17990,
+ 15187, 12239, 15133, 18138,
+ 15187, 12239, 15133, 19604,
+ 15187, 12239, 18831, 94,
+ 15187, 12239, 18831, 1016,
+ 15187, 12239, 18831, 1594,
+ 15187, 12239, 18831, 2080,
+ 15187, 12239, 18831, 2242,
+ 15187, 12239, 18831, 2392,
+ 15187, 12239, 18831, 2870,
+ 15187, 12239, 18831, 3428,
+ 15187, 12239, 18831, 3570,
+ 15187, 12239, 18831, 3658,
+ 15187, 12239, 18831, 5992,
+ 15187, 12239, 18831, 7144,
+ 15187, 12239, 18831, 7222,
+ 15187, 12239, 18831, 8782,
+ 15187, 12239, 18831, 8786,
+ 15187, 12239, 18831, 9308,
+ 15187, 12239, 18831, 12756,
+ 15187, 12239, 18831, 12932,
+ 15187, 12239, 18831, 12936,
+ 15187, 12239, 18831, 13176,
+ 15192,
+ 15204,
+ 15219, 10595, 5702,
+ 15219, 10595, 11531, 7082,
+ 15219, 10595, 14637, 12198,
+ 15219, 10595, 16927, 6682,
+ 15219, 14309, 14466,
+ 15219, 16965, 5837, 12199, 315, 20338,
+ 15219, 17932,
+ 15223, 9808,
+ 15242,
+ 15244,
+ 15247, 17632,
+ 15247, 17633, 9131, 3337, 534,
+ 15255, 19710,
+ 15267, 1012,
+ 15267, 5949, 19391, 12498,
+ 15267, 16792,
+ 15272,
+ 15277, 7268,
+ 15277, 8282,
+ 15277, 8283, 6682,
+ 15285, 11492,
+ 15295, 15847, 20554,
+ 15303, 12210,
+ 15314,
+ 15315, 6682,
+ 15317, 1012,
+ 15317, 20058,
+ 15319, 419, 9808,
+ 15319, 421, 9808,
+ 15319, 1212,
+ 15319, 6716,
+ 15319, 7090,
+ 15319, 7091, 10595, 9173, 15947, 15021, 841, 9457, 16282,
+ 15319, 7091, 10595, 16283, 17134,
+ 15319, 11708,
+ 15319, 14531, 21119, 14976,
+ 15319, 15512,
+ 15319, 21119, 14976,
+ 15327, 13921, 9809, 8,
+ 15327, 13921, 9809, 16,
+ 15327, 13921, 9809, 28,
+ 15327, 13921, 9809, 40,
+ 15327, 13921, 9809, 72,
+ 15327, 13921, 9809, 94,
+ 15327, 13921, 9809, 176,
+ 15327, 13921, 9809, 214,
+ 15327, 14903, 0,
+ 15327, 14903, 106,
+ 15327, 14903, 124,
+ 15327, 14903, 148,
+ 15327, 14903, 244,
+ 15327, 14903, 266,
+ 15327, 14903, 334,
+ 15327, 14903, 348,
+ 15327, 14903, 382,
+ 15327, 14903, 414,
+ 15327, 14903, 446,
+ 15327, 14903, 520,
+ 15327, 14903, 570,
+ 15327, 14903, 586,
+ 15327, 14903, 620,
+ 15327, 14903, 692,
+ 15327, 14903, 732,
+ 15327, 14903, 2254,
+ 15327, 14903, 2408,
+ 15327, 14903, 2432,
+ 15327, 14903, 2544,
+ 15327, 14903, 8682,
+ 15327, 14903, 8932,
+ 15327, 15756,
+ 15327, 17045, 8282,
+ 15327, 18831, 9809, 14,
+ 15327, 18831, 9809, 26,
+ 15327, 18831, 9809, 34,
+ 15327, 18831, 9809, 454,
+ 15335, 7778,
+ 15335, 13270,
+ 15335, 15564,
+ 15338,
+ 15339, 11429, 669, 7778,
+ 15339, 11429, 669, 13270,
+ 15339, 11429, 6407, 7778,
+ 15339, 11429, 6407, 13270,
+ 15339, 11429, 7779, 668,
+ 15339, 11429, 7779, 6406,
+ 15339, 11429, 13271, 668,
+ 15339, 11429, 13271, 6406,
+ 15347, 17687, 17645, 13501, 6531, 11428,
+ 15347, 17687, 17645, 16269, 17686,
+ 15352,
+ 15355, 16050,
+ 15358,
+ 15384,
+ 15388,
+ 15392,
+ 15393, 17030,
+ 15394,
+ 15397, 13483, 8,
+ 15397, 13483, 12,
+ 15397, 13483, 22,
+ 15397, 13483, 28,
+ 15397, 15993, 2,
+ 15397, 15993, 8,
+ 15397, 15993, 10,
+ 15397, 15993, 14,
+ 15397, 15993, 16,
+ 15397, 15993, 22,
+ 15397, 15993, 24,
+ 15397, 15993, 30,
+ 15397, 15993, 34,
+ 15397, 18079, 213, 18220,
+ 15398,
+ 15406,
+ 15413, 1212,
+ 15427, 1730,
+ 15438,
+ 15445, 15454,
+ 15450,
+ 15465, 12523, 19359, 8282,
+ 15465, 21135, 11399, 19359, 8282,
+ 15465, 21387, 11399, 19359, 8282,
+ 15465, 21531, 19359, 8282,
+ 15471, 6682,
+ 15473, 503, 3092,
+ 15479, 5702,
+ 15493, 15916,
+ 15494,
+ 15495, 3514,
+ 15497, 8809, 2622,
+ 15497, 13406,
+ 15497, 17567, 2622,
+ 15503, 12616,
+ 15513, 1, 9131, 24,
+ 15513, 5, 9131, 354,
+ 15513, 21, 2588,
+ 15513, 25, 2588,
+ 15513, 25, 9131, 36,
+ 15513, 25, 9131, 37, 17138,
+ 15513, 25, 11722,
+ 15513, 25, 17138,
+ 15513, 43, 9131, 24,
+ 15513, 78,
+ 15513, 94,
+ 15513, 118,
+ 15513, 126,
+ 15513, 128,
+ 15513, 138,
+ 15513, 139, 11722,
+ 15513, 139, 17138,
+ 15513, 140,
+ 15513, 148,
+ 15513, 150,
+ 15513, 160,
+ 15513, 162,
+ 15513, 164,
+ 15513, 165, 11722,
+ 15513, 165, 17138,
+ 15513, 216,
+ 15513, 234,
+ 15513, 246,
+ 15513, 264,
+ 15513, 266,
+ 15513, 270,
+ 15513, 282,
+ 15513, 288,
+ 15513, 314,
+ 15513, 328,
+ 15513, 348,
+ 15513, 350,
+ 15513, 354,
+ 15513, 358,
+ 15513, 360,
+ 15513, 362,
+ 15513, 363, 11722,
+ 15513, 363, 15992,
+ 15513, 363, 17138,
+ 15513, 366,
+ 15513, 370,
+ 15513, 372,
+ 15513, 396,
+ 15513, 398,
+ 15513, 408,
+ 15513, 414,
+ 15513, 416,
+ 15513, 417, 13482,
+ 15513, 424,
+ 15513, 430,
+ 15513, 432,
+ 15513, 433, 11722,
+ 15513, 433, 17138,
+ 15513, 436,
+ 15513, 439, 0,
+ 15513, 439, 10,
+ 15513, 439, 12,
+ 15513, 439, 22,
+ 15513, 439, 24,
+ 15513, 439, 36,
+ 15513, 439, 42,
+ 15513, 439, 44,
+ 15513, 440,
+ 15513, 441, 8322,
+ 15513, 442,
+ 15513, 443, 8322,
+ 15513, 446,
+ 15513, 452,
+ 15513, 462,
+ 15513, 468,
+ 15513, 472,
+ 15513, 474,
+ 15513, 510,
+ 15513, 520,
+ 15513, 521, 5238,
+ 15513, 522,
+ 15513, 528,
+ 15513, 532,
+ 15513, 536,
+ 15513, 540,
+ 15513, 542,
+ 15513, 546,
+ 15513, 548,
+ 15513, 604,
+ 15513, 612,
+ 15513, 694,
+ 15513, 894,
+ 15513, 1006,
+ 15513, 1010,
+ 15513, 1088,
+ 15513, 1305, 8555, 12622,
+ 15513, 1305, 8555, 14738,
+ 15513, 1305, 8555, 15568,
+ 15513, 1305, 8555, 17200,
+ 15513, 1306,
+ 15513, 1436,
+ 15513, 1496,
+ 15513, 1528,
+ 15513, 1670,
+ 15513, 1682,
+ 15513, 1914,
+ 15513, 1976,
+ 15513, 2148,
+ 15513, 2288,
+ 15513, 2298,
+ 15513, 2314,
+ 15513, 2326,
+ 15513, 2702,
+ 15513, 2852,
+ 15513, 2853, 9131, 36,
+ 15513, 2853, 9131, 37, 17138,
+ 15513, 3232,
+ 15513, 3268,
+ 15513, 3384,
+ 15513, 5192,
+ 15513, 5808,
+ 15513, 6340,
+ 15513, 6400,
+ 15513, 6736,
+ 15513, 6743, 16066,
+ 15513, 6998,
+ 15513, 7258,
+ 15513, 7398,
+ 15513, 7578,
+ 15513, 7636,
+ 15513, 7779, 9127, 967, 18214,
+ 15513, 8322,
+ 15513, 8404,
+ 15513, 8560,
+ 15513, 9120,
+ 15513, 9122,
+ 15513, 9186,
+ 15513, 9218,
+ 15513, 9434,
+ 15513, 9458,
+ 15513, 9474,
+ 15513, 10595, 3273, 7087, 11520,
+ 15513, 10595, 7779, 7087, 11520,
+ 15513, 10595, 12525, 7779, 17687, 7087, 11520,
+ 15513, 10595, 12525, 13271, 17687, 7087, 11520,
+ 15513, 10595, 13271, 7087, 11520,
+ 15513, 10595, 13807, 7779, 633, 12525, 13271, 6706,
+ 15513, 10595, 13807, 7779, 17687, 7087, 11520,
+ 15513, 10595, 13807, 13271, 633, 12525, 7779, 6706,
+ 15513, 10595, 13807, 13271, 17687, 7087, 11520,
+ 15513, 10595, 14307, 7087, 11520,
+ 15513, 10595, 17687, 19745, 6706,
+ 15513, 10595, 18669, 6706,
+ 15513, 10595, 18835, 16814,
+ 15513, 10595, 19973, 6706,
+ 15513, 10595, 20087, 19745, 6706,
+ 15513, 10784,
+ 15513, 11402,
+ 15513, 11494,
+ 15513, 11780,
+ 15513, 11912,
+ 15513, 12098,
+ 15513, 12100,
+ 15513, 12144,
+ 15513, 12192,
+ 15513, 12262,
+ 15513, 12274,
+ 15513, 12319, 482,
+ 15513, 12319, 483, 503, 2499, 11943, 632,
+ 15513, 12319, 483, 503, 11943, 632,
+ 15513, 12366,
+ 15513, 12386,
+ 15513, 12428,
+ 15513, 12582,
+ 15513, 12584,
+ 15513, 12912,
+ 15513, 13102,
+ 15513, 13138,
+ 15513, 13146,
+ 15513, 13184,
+ 15513, 13271, 9127, 967, 18214,
+ 15513, 13310,
+ 15513, 13370,
+ 15513, 13372,
+ 15513, 13950,
+ 15513, 14014,
+ 15513, 14016,
+ 15513, 14208,
+ 15513, 14234,
+ 15513, 14302,
+ 15513, 14710,
+ 15513, 14744,
+ 15513, 14756,
+ 15513, 14774,
+ 15513, 14860,
+ 15513, 14868,
+ 15513, 14978,
+ 15513, 15206,
+ 15513, 15236,
+ 15513, 15260,
+ 15513, 15584,
+ 15513, 15910,
+ 15513, 16322,
+ 15513, 16432,
+ 15513, 16434,
+ 15513, 16476,
+ 15513, 16608,
+ 15513, 16624,
+ 15513, 16642,
+ 15513, 16666,
+ 15513, 16668,
+ 15513, 16682,
+ 15513, 16996,
+ 15513, 17016,
+ 15513, 17018,
+ 15513, 17094,
+ 15513, 17560,
+ 15513, 17874,
+ 15513, 17981, 7250,
+ 15513, 17988,
+ 15513, 18219, 482,
+ 15513, 18219, 483, 503, 2499, 11943, 632,
+ 15513, 18219, 483, 503, 11943, 632,
+ 15513, 18234,
+ 15513, 18303, 19162,
+ 15513, 18356,
+ 15513, 18384,
+ 15513, 19118,
+ 15513, 19138,
+ 15513, 19196,
+ 15513, 19200,
+ 15513, 19248,
+ 15513, 19326,
+ 15513, 20000,
+ 15513, 20364,
+ 15513, 20542,
+ 15517, 483, 16592,
+ 15527, 18225, 13965, 9904,
+ 15539, 20028,
+ 15543, 482,
+ 15543, 483, 503, 11943, 632,
+ 15543, 483, 503, 11943, 633, 10595, 1213, 11346,
+ 15543, 483, 10595, 2499, 11943, 632,
+ 15543, 483, 11347, 2499, 11943, 632,
+ 15543, 483, 11347, 13677, 18214,
+ 15543, 483, 11347, 14197, 11943, 632,
+ 15543, 483, 11347, 14555, 9808,
+ 15543, 10595, 1212,
+ 15543, 10595, 9243, 9809, 11502,
+ 15543, 10595, 21377, 9809, 11502,
+ 15543, 11347, 15542,
+ 15543, 11347, 18510,
+ 15543, 11347, 20163, 11428,
+ 15553, 9131, 18776,
+ 15556,
+ 15563, 12741, 9809, 16358,
+ 15563, 12741, 9809, 17466,
+ 15563, 12741, 9809, 17850,
+ 15563, 12741, 13921, 9809, 0,
+ 15563, 12741, 13921, 9809, 8,
+ 15563, 12741, 13921, 9809, 16,
+ 15563, 12741, 13921, 9809, 40,
+ 15563, 12741, 13921, 9809, 496,
+ 15563, 12741, 14903, 0,
+ 15563, 12741, 14903, 8,
+ 15563, 12741, 14903, 16,
+ 15563, 12741, 14903, 28,
+ 15563, 12741, 14903, 40,
+ 15563, 12741, 14903, 116,
+ 15563, 12741, 14903, 140,
+ 15563, 12741, 14903, 166,
+ 15563, 12741, 14903, 258,
+ 15563, 12741, 14903, 280,
+ 15563, 12741, 14903, 340,
+ 15563, 12741, 14903, 364,
+ 15563, 12741, 14903, 400,
+ 15563, 12741, 14903, 434,
+ 15563, 12741, 14903, 466,
+ 15563, 12741, 14903, 538,
+ 15563, 12741, 14903, 578,
+ 15563, 12741, 14903, 600,
+ 15563, 12741, 14903, 632,
+ 15563, 12741, 14903, 936,
+ 15563, 12741, 14903, 1046,
+ 15563, 12741, 14903, 1144,
+ 15563, 12741, 14903, 1166,
+ 15563, 12741, 14903, 1492,
+ 15563, 12741, 14903, 1788,
+ 15563, 12741, 14903, 1910,
+ 15563, 12741, 14903, 2666,
+ 15563, 12741, 14903, 2942,
+ 15563, 12741, 14903, 3228,
+ 15563, 12741, 14903, 3310,
+ 15563, 12741, 14903, 6292,
+ 15563, 12741, 14903, 10224,
+ 15563, 12741, 15259, 14968,
+ 15563, 12741, 15259, 14970,
+ 15563, 12741, 15259, 14972,
+ 15563, 12741, 15259, 14974,
+ 15565, 1391, 1293, 483, 10086,
+ 15565, 1391, 1293, 483, 14996,
+ 15565, 1391, 1293, 483, 21036,
+ 15565, 1391, 1293, 483, 21037, 11528,
+ 15565, 1391, 5780,
+ 15565, 1391, 6261, 7821, 14556,
+ 15565, 1391, 6705, 19420,
+ 15565, 1391, 6741, 6692,
+ 15565, 1391, 7817, 6692,
+ 15565, 1391, 8880,
+ 15565, 1391, 10377, 19420,
+ 15565, 1391, 12177, 19420,
+ 15565, 1391, 12601, 16012,
+ 15565, 1391, 13415, 314,
+ 15565, 1391, 13415, 2618,
+ 15565, 1391, 13502,
+ 15565, 1391, 13535, 483, 10086,
+ 15565, 1391, 13535, 483, 16364,
+ 15565, 1391, 14340,
+ 15565, 1391, 14470,
+ 15565, 1391, 14471, 6741, 3336,
+ 15565, 1391, 14481, 16063, 2596,
+ 15565, 1391, 14481, 16063, 3336,
+ 15565, 1391, 14481, 16063, 6742,
+ 15565, 1391, 14481, 16063, 13654,
+ 15565, 1391, 14556,
+ 15565, 1391, 15325, 19420,
+ 15565, 1391, 16250,
+ 15565, 1391, 16726,
+ 15565, 1391, 17573, 15334,
+ 15565, 1391, 18177, 20302,
+ 15565, 1391, 18669, 20248,
+ 15565, 1391, 18746,
+ 15565, 1391, 19401, 15484,
+ 15565, 1391, 19973, 20248,
+ 15565, 1391, 20240,
+ 15565, 1391, 20241, 6741, 3336,
+ 15565, 1391, 20302,
+ 15565, 1391, 20723, 7382,
+ 15571, 1293, 483, 19314,
+ 15571, 3337, 18669, 6403, 11346,
+ 15571, 3337, 18669, 6403, 11502,
+ 15571, 11703, 15469, 7778,
+ 15571, 11703, 15469, 13270,
+ 15571, 11953, 11346,
+ 15571, 11953, 11502,
+ 15571, 12209, 11346,
+ 15571, 12209, 11502,
+ 15571, 12718,
+ 15571, 13253, 11346,
+ 15571, 13253, 11502,
+ 15571, 13312,
+ 15571, 13655, 6403, 11346,
+ 15571, 13655, 6403, 11502,
+ 15571, 14531, 14131, 15874,
+ 15571, 14531, 14131, 19972,
+ 15571, 14903, 8,
+ 15571, 14903, 268,
+ 15571, 14903, 526,
+ 15571, 14903, 2300,
+ 15571, 14903, 2524,
+ 15571, 14903, 3200,
+ 15571, 14903, 3508,
+ 15571, 14903, 5790,
+ 15571, 14903, 7120,
+ 15571, 14903, 7558,
+ 15571, 14903, 9304,
+ 15571, 14903, 9460,
+ 15571, 14903, 9730,
+ 15571, 14903, 10080,
+ 15571, 14903, 10081, 17938,
+ 15571, 14903, 10786,
+ 15571, 14903, 10787, 268,
+ 15571, 14903, 10844,
+ 15571, 14903, 11372,
+ 15571, 14903, 12023, 17048,
+ 15571, 14903, 12088,
+ 15571, 14903, 12089, 17938,
+ 15571, 14903, 13330,
+ 15571, 14903, 14452,
+ 15571, 14903, 14878,
+ 15571, 14903, 16159, 14453, 9460,
+ 15571, 14903, 16875, 11510,
+ 15571, 14903, 16875, 14678,
+ 15571, 14903, 16875, 16122,
+ 15571, 14903, 17048,
+ 15571, 14903, 17117, 226,
+ 15571, 14903, 17117, 12404,
+ 15571, 14903, 17117, 14114,
+ 15571, 14903, 18367, 526,
+ 15571, 14903, 20719, 11372,
+ 15571, 15293, 11346,
+ 15571, 15293, 11502,
+ 15571, 15293, 14530,
+ 15571, 15833, 11346,
+ 15571, 15833, 11502,
+ 15571, 15833, 14530,
+ 15571, 15922,
+ 15571, 16783, 7817, 11346,
+ 15571, 16783, 7817, 11502,
+ 15571, 17895, 1212,
+ 15571, 17965, 15138,
+ 15571, 17965, 19244,
+ 15571, 17965, 19690,
+ 15571, 18376,
+ 15571, 19360,
+ 15571, 19473, 6757, 9910,
+ 15571, 19473, 11702,
+ 15571, 19473, 11703, 15469, 7778,
+ 15571, 19473, 11703, 15469, 13270,
+ 15571, 19973, 11702,
+ 15571, 20358,
+ 15571, 20497, 14530,
+ 15571, 20721, 6757, 9910,
+ 15571, 20721, 11702,
+ 15571, 20721, 11703, 15469, 7778,
+ 15571, 20771, 8282,
+ 15590,
+ 15593, 17377, 14722,
+ 15603, 73, 14897, 8282,
+ 15603, 9809, 13776,
+ 15603, 9809, 15756,
+ 15603, 9809, 17342,
+ 15603, 9809, 17466,
+ 15603, 9809, 17506,
+ 15603, 9809, 18819, 20337, 11346,
+ 15603, 9809, 20336,
+ 15603, 11849, 2596,
+ 15603, 11849, 3056,
+ 15603, 11849, 3336,
+ 15603, 11849, 6720,
+ 15603, 11849, 6742,
+ 15603, 11849, 8736,
+ 15603, 11849, 10854,
+ 15603, 11849, 11916,
+ 15603, 11849, 13376,
+ 15603, 11849, 13654,
+ 15603, 13921, 9809, 8,
+ 15603, 13921, 9809, 16,
+ 15603, 13921, 9809, 28,
+ 15603, 13921, 9809, 40,
+ 15603, 13921, 9809, 58,
+ 15603, 13921, 9809, 72,
+ 15603, 13921, 9809, 94,
+ 15603, 13921, 9809, 184,
+ 15603, 13921, 9809, 306,
+ 15603, 13921, 9809, 496,
+ 15603, 13921, 9809, 674,
+ 15603, 13921, 9809, 17349, 22,
+ 15603, 13921, 9809, 17349, 34,
+ 15603, 13921, 9809, 17349, 394,
+ 15603, 13921, 9809, 17349, 580,
+ 15603, 14897, 8282,
+ 15603, 14903, 0,
+ 15603, 14903, 8,
+ 15603, 14903, 16,
+ 15603, 14903, 28,
+ 15603, 14903, 40,
+ 15603, 14903, 58,
+ 15603, 14903, 72,
+ 15603, 14903, 94,
+ 15603, 14903, 106,
+ 15603, 14903, 124,
+ 15603, 14903, 148,
+ 15603, 14903, 184,
+ 15603, 14903, 244,
+ 15603, 14903, 266,
+ 15603, 14903, 306,
+ 15603, 14903, 334,
+ 15603, 14903, 348,
+ 15603, 14903, 382,
+ 15603, 14903, 414,
+ 15603, 14903, 446,
+ 15603, 14903, 496,
+ 15603, 14903, 520,
+ 15603, 14903, 570,
+ 15603, 14903, 586,
+ 15603, 14903, 620,
+ 15603, 14903, 674,
+ 15603, 14903, 678,
+ 15603, 14903, 732,
+ 15603, 14903, 930,
+ 15603, 14903, 1040,
+ 15603, 14903, 1138,
+ 15603, 14903, 1160,
+ 15603, 14903, 1250,
+ 15603, 14903, 1486,
+ 15603, 14903, 1786,
+ 15603, 14903, 1904,
+ 15603, 14903, 2142,
+ 15603, 14903, 2432,
+ 15603, 14903, 2480,
+ 15603, 14903, 2544,
+ 15603, 14903, 2660,
+ 15603, 14903, 2938,
+ 15603, 14903, 3030,
+ 15603, 14903, 3094,
+ 15603, 14903, 3222,
+ 15603, 14903, 3288,
+ 15603, 14903, 3302,
+ 15603, 14903, 6286,
+ 15603, 14903, 7836,
+ 15603, 14903, 9496,
+ 15603, 14903, 10218,
+ 15603, 14903, 17349, 22,
+ 15603, 14903, 17349, 34,
+ 15603, 14903, 17349, 394,
+ 15603, 14903, 17349, 580,
+ 15603, 17927, 11849, 2597, 1391, 2579, 15283, 483, 6742,
+ 15603, 17927, 11849, 2597, 1391, 6567, 15283, 483, 6742,
+ 15603, 17927, 11849, 3337, 1391, 2579, 15283, 483, 6742,
+ 15603, 17927, 11849, 3337, 1391, 6567, 15283, 483, 6742,
+ 15603, 17927, 11849, 10855, 1391, 2579, 15283, 483, 6742,
+ 15603, 17927, 11849, 13655, 1391, 2579, 15283, 483, 6742,
+ 15603, 17927, 11849, 13655, 1391, 6567, 15283, 483, 6742,
+ 15607, 16957, 841, 5702,
+ 15617, 13560,
+ 15617, 14903, 632,
+ 15617, 14903, 758,
+ 15617, 14903, 880,
+ 15617, 14903, 1572,
+ 15617, 14903, 2374,
+ 15617, 14903, 2848,
+ 15617, 14903, 3624,
+ 15617, 14903, 3760,
+ 15617, 14903, 5212,
+ 15617, 14903, 7124,
+ 15617, 14903, 7592,
+ 15617, 14903, 10088,
+ 15617, 14903, 10212,
+ 15617, 14903, 11384,
+ 15617, 14903, 11998,
+ 15617, 14903, 12082,
+ 15617, 14903, 12364,
+ 15617, 14903, 12448,
+ 15617, 14903, 12620,
+ 15617, 14903, 12904,
+ 15617, 14903, 13204,
+ 15617, 14903, 13364,
+ 15617, 14903, 13890,
+ 15617, 14903, 13938,
+ 15617, 14903, 14446,
+ 15617, 14903, 14482,
+ 15617, 14903, 14676,
+ 15617, 14903, 15362,
+ 15617, 14903, 15428,
+ 15617, 14903, 15614,
+ 15617, 14903, 17668,
+ 15617, 14903, 18030,
+ 15617, 14903, 18266,
+ 15617, 14903, 18550,
+ 15617, 14903, 18692,
+ 15617, 14903, 18796,
+ 15617, 14903, 19104,
+ 15617, 14903, 19216,
+ 15617, 14903, 19428,
+ 15617, 15838,
+ 15617, 16232,
+ 15617, 16384,
+ 15617, 16784,
+ 15617, 17306,
+ 15617, 18696,
+ 15617, 19036,
+ 15617, 19062,
+ 15617, 19284,
+ 15617, 19288,
+ 15633, 669, 9808,
+ 15633, 6407, 9808,
+ 15636,
+ 15644,
+ 15648,
+ 15666,
+ 15671, 9242,
+ 15671, 11703, 18214,
+ 15671, 13192,
+ 15671, 13676,
+ 15671, 15067, 19214,
+ 15671, 15067, 20876,
+ 15671, 17119, 14295, 18348,
+ 15671, 18010,
+ 15671, 18669, 895, 10595, 19973, 15534,
+ 15671, 18669, 895, 13271, 19610,
+ 15671, 18669, 895, 14295, 18348,
+ 15671, 18669, 895, 18862,
+ 15671, 19973, 895, 10595, 14533, 18669, 15534,
+ 15671, 19973, 895, 10595, 15671, 18669, 15534,
+ 15678,
+ 15693, 9808,
+ 15696,
+ 15701, 489, 7091, 9808,
+ 15701, 2499, 9808,
+ 15701, 11398,
+ 15701, 11521, 13425, 13158,
+ 15701, 11521, 18272,
+ 15701, 11708,
+ 15701, 11849, 3336,
+ 15701, 11849, 13654,
+ 15701, 12173, 13483, 14903, 7402,
+ 15701, 12907, 6531, 18297, 7774,
+ 15701, 12907, 10583, 18297, 7774,
+ 15701, 13483, 10,
+ 15701, 13501, 6531, 18297, 7774,
+ 15701, 13501, 10583, 18297, 7774,
+ 15701, 13965, 13425, 13158,
+ 15701, 14450,
+ 15701, 15993, 10,
+ 15701, 18716,
+ 15701, 19416,
+ 15701, 20165, 15993, 12,
+ 15701, 20165, 15993, 22,
+ 15701, 20165, 15993, 48,
+ 15702,
+ 15707, 16913, 11521, 9904,
+ 15711, 6258,
+ 15736,
+ 15749, 503, 11719, 16942,
+ 15754,
+ 15763, 18010,
+ 15767, 17927, 2597, 7086,
+ 15767, 17927, 2597, 12016,
+ 15767, 17927, 2597, 12824,
+ 15767, 17927, 2597, 13458,
+ 15767, 17927, 2597, 13628,
+ 15767, 17927, 2597, 13646,
+ 15767, 17927, 2597, 14542,
+ 15767, 17927, 2597, 16954,
+ 15767, 17927, 2597, 17054,
+ 15767, 17927, 3337, 14598,
+ 15767, 17927, 3337, 15624,
+ 15767, 17927, 6721, 15466,
+ 15767, 17927, 6721, 16236,
+ 15767, 17927, 6743, 14598,
+ 15767, 17927, 10855, 15624,
+ 15767, 17927, 13377, 16236,
+ 15767, 17927, 13655, 14598,
+ 15767, 17927, 13655, 16236,
+ 15767, 17927, 13655, 18332,
+ 15769, 16321, 8419, 15564,
+ 15769, 17643, 8419, 15564,
+ 15771, 6053, 492,
+ 15771, 6053, 11849, 2596,
+ 15771, 6053, 11849, 3056,
+ 15771, 6053, 11849, 3336,
+ 15771, 6053, 11849, 6720,
+ 15771, 6053, 11849, 6742,
+ 15771, 6053, 11849, 8736,
+ 15771, 6053, 11849, 10854,
+ 15771, 6053, 11849, 11916,
+ 15771, 6053, 11849, 13376,
+ 15771, 6053, 11849, 13654,
+ 15771, 6053, 13483, 14903, 0,
+ 15771, 6053, 13483, 14903, 8,
+ 15771, 6053, 13483, 14903, 28,
+ 15771, 6053, 13483, 14903, 78,
+ 15771, 6053, 13483, 14903, 92,
+ 15771, 6053, 13483, 14903, 120,
+ 15771, 6053, 13483, 14903, 148,
+ 15771, 6053, 13483, 14903, 244,
+ 15771, 6053, 13483, 14903, 306,
+ 15771, 6053, 13483, 14903, 364,
+ 15771, 6053, 13483, 14903, 544,
+ 15771, 6053, 13483, 14903, 650,
+ 15771, 6053, 13483, 14903, 674,
+ 15771, 6053, 13483, 14903, 704,
+ 15771, 6053, 13483, 14903, 732,
+ 15771, 6053, 13483, 14903, 740,
+ 15771, 6053, 13483, 14903, 744,
+ 15771, 6053, 13483, 14903, 842,
+ 15771, 6053, 13483, 14903, 1296,
+ 15771, 6053, 13483, 14903, 1300,
+ 15771, 6053, 13483, 14903, 1590,
+ 15771, 6053, 13483, 14903, 2578,
+ 15771, 6053, 13483, 14903, 3048,
+ 15771, 6053, 13483, 14903, 3304,
+ 15771, 6053, 13483, 14903, 3718,
+ 15771, 6053, 13483, 14903, 7136,
+ 15771, 6053, 13483, 14903, 7254,
+ 15771, 6053, 13483, 14903, 7270,
+ 15771, 6053, 13483, 14903, 8658,
+ 15771, 6053, 13483, 14903, 8882,
+ 15771, 6053, 13483, 14903, 9890,
+ 15771, 6053, 13483, 14903, 10506,
+ 15771, 6053, 15133, 3212,
+ 15771, 6053, 15133, 12018,
+ 15771, 6053, 15133, 12046,
+ 15771, 6053, 15133, 13460,
+ 15771, 6053, 15133, 14544,
+ 15771, 6053, 15133, 15094,
+ 15771, 6053, 15133, 15626,
+ 15771, 6053, 15133, 15708,
+ 15771, 6053, 15133, 17056,
+ 15771, 6053, 15993, 14903, 0,
+ 15771, 6053, 15993, 14903, 8,
+ 15771, 6053, 15993, 14903, 28,
+ 15771, 6053, 15993, 14903, 78,
+ 15771, 6053, 15993, 14903, 92,
+ 15771, 6053, 15993, 14903, 120,
+ 15771, 6053, 15993, 14903, 148,
+ 15771, 6053, 15993, 14903, 244,
+ 15771, 6053, 15993, 14903, 306,
+ 15771, 6053, 15993, 14903, 364,
+ 15771, 6053, 15993, 14903, 544,
+ 15771, 6053, 15993, 14903, 650,
+ 15771, 6053, 15993, 14903, 674,
+ 15771, 6053, 15993, 14903, 704,
+ 15771, 6053, 15993, 14903, 732,
+ 15771, 6053, 15993, 14903, 740,
+ 15771, 6053, 15993, 14903, 744,
+ 15771, 6053, 15993, 14903, 842,
+ 15771, 6053, 15993, 14903, 1296,
+ 15771, 6053, 15993, 14903, 1300,
+ 15771, 6053, 15993, 14903, 1590,
+ 15771, 6053, 15993, 14903, 2578,
+ 15771, 6053, 15993, 14903, 3048,
+ 15771, 6053, 15993, 14903, 3304,
+ 15771, 6053, 15993, 14903, 3718,
+ 15771, 6053, 15993, 14903, 7136,
+ 15771, 6053, 15993, 14903, 7254,
+ 15771, 6053, 15993, 14903, 7270,
+ 15771, 6053, 15993, 14903, 8658,
+ 15771, 6053, 15993, 14903, 8882,
+ 15771, 6053, 15993, 14903, 9890,
+ 15771, 6053, 15993, 14903, 10506,
+ 15773, 7091, 9808,
+ 15773, 11521, 6722,
+ 15773, 13965, 6722,
+ 15775, 16321, 8419, 15564,
+ 15775, 17643, 8419, 15564,
+ 15779, 14908,
+ 15781, 18669, 7816,
+ 15791, 1592,
+ 15791, 11538,
+ 15791, 15376,
+ 15791, 16046,
+ 15793, 15564,
+ 15797, 16942,
+ 15798,
+ 15807, 12210,
+ 15834,
+ 15845, 482,
+ 15853, 9808,
+ 15864,
+ 15872,
+ 15879, 10595, 5714,
+ 15903, 9808,
+ 15909, 14903, 0,
+ 15909, 14903, 8,
+ 15909, 14903, 16,
+ 15909, 14903, 28,
+ 15909, 14903, 40,
+ 15909, 14903, 58,
+ 15909, 14903, 66,
+ 15909, 14903, 80,
+ 15909, 14903, 82,
+ 15909, 14903, 110,
+ 15909, 14903, 130,
+ 15909, 14903, 154,
+ 15909, 14903, 184,
+ 15909, 14903, 226,
+ 15909, 14903, 248,
+ 15909, 14903, 268,
+ 15909, 14903, 306,
+ 15909, 14903, 336,
+ 15909, 14903, 352,
+ 15909, 14903, 386,
+ 15909, 14903, 422,
+ 15909, 14903, 450,
+ 15909, 14903, 496,
+ 15909, 14903, 526,
+ 15909, 14903, 572,
+ 15909, 14903, 590,
+ 15909, 14903, 624,
+ 15909, 14903, 674,
+ 15909, 14903, 680,
+ 15909, 14903, 718,
+ 15909, 14903, 734,
+ 15909, 14903, 752,
+ 15909, 14903, 778,
+ 15909, 14903, 780,
+ 15909, 14903, 802,
+ 15909, 14903, 932,
+ 15909, 14903, 1162,
+ 15909, 14903, 1478,
+ 15909, 14903, 1488,
+ 15909, 14903, 1646,
+ 15909, 14903, 2434,
+ 15909, 14903, 2482,
+ 15909, 14903, 2548,
+ 15909, 14903, 3032,
+ 15909, 14903, 3224,
+ 15909, 14903, 3304,
+ 15909, 14903, 3598,
+ 15909, 14903, 3608,
+ 15909, 14903, 3748,
+ 15909, 14903, 3788,
+ 15909, 14903, 8720,
+ 15909, 14903, 8722,
+ 15909, 14903, 9786,
+ 15909, 14903, 9870,
+ 15909, 20771, 8282,
+ 15913, 11682,
+ 15916,
+ 15928,
+ 15930,
+ 15935, 12210,
+ 15936,
+ 15941, 5780,
+ 15943, 95, 14897, 8282,
+ 15943, 5244,
+ 15943, 9809, 12986,
+ 15943, 9809, 15756,
+ 15943, 9809, 17342,
+ 15943, 9809, 17466,
+ 15943, 9809, 17506,
+ 15943, 9809, 20336,
+ 15943, 11849, 2596,
+ 15943, 11849, 3056,
+ 15943, 11849, 3336,
+ 15943, 11849, 6720,
+ 15943, 11849, 6742,
+ 15943, 11849, 8736,
+ 15943, 11849, 10854,
+ 15943, 11849, 11916,
+ 15943, 11849, 13376,
+ 15943, 11849, 13654,
+ 15943, 12097, 8282,
+ 15943, 13309, 8282,
+ 15943, 13309, 9808,
+ 15943, 13921, 9809, 8,
+ 15943, 13921, 9809, 16,
+ 15943, 13921, 9809, 28,
+ 15943, 13921, 9809, 40,
+ 15943, 13921, 9809, 58,
+ 15943, 13921, 9809, 72,
+ 15943, 13921, 9809, 94,
+ 15943, 13921, 9809, 306,
+ 15943, 13921, 9809, 674,
+ 15943, 13921, 9809, 17349, 22,
+ 15943, 13921, 9809, 17349, 34,
+ 15943, 13921, 9809, 17349, 394,
+ 15943, 13921, 9809, 17349, 580,
+ 15943, 14784,
+ 15943, 14903, 0,
+ 15943, 14903, 8,
+ 15943, 14903, 16,
+ 15943, 14903, 28,
+ 15943, 14903, 40,
+ 15943, 14903, 58,
+ 15943, 14903, 72,
+ 15943, 14903, 94,
+ 15943, 14903, 106,
+ 15943, 14903, 124,
+ 15943, 14903, 148,
+ 15943, 14903, 244,
+ 15943, 14903, 266,
+ 15943, 14903, 306,
+ 15943, 14903, 334,
+ 15943, 14903, 348,
+ 15943, 14903, 382,
+ 15943, 14903, 414,
+ 15943, 14903, 446,
+ 15943, 14903, 520,
+ 15943, 14903, 570,
+ 15943, 14903, 571, 10595, 12525, 17686,
+ 15943, 14903, 571, 10595, 15021, 17686,
+ 15943, 14903, 586,
+ 15943, 14903, 620,
+ 15943, 14903, 674,
+ 15943, 14903, 732,
+ 15943, 14903, 930,
+ 15943, 14903, 1040,
+ 15943, 14903, 1138,
+ 15943, 14903, 1160,
+ 15943, 14903, 1486,
+ 15943, 14903, 1786,
+ 15943, 14903, 1904,
+ 15943, 14903, 2432,
+ 15943, 14903, 2480,
+ 15943, 14903, 2544,
+ 15943, 14903, 2660,
+ 15943, 14903, 2894,
+ 15943, 14903, 2938,
+ 15943, 14903, 3030,
+ 15943, 14903, 3094,
+ 15943, 14903, 3222,
+ 15943, 14903, 3302,
+ 15943, 14903, 3746,
+ 15943, 14903, 6286,
+ 15943, 14903, 10218,
+ 15943, 14903, 14833, 620,
+ 15943, 14903, 17349, 22,
+ 15943, 14903, 17349, 34,
+ 15943, 14903, 17349, 394,
+ 15943, 14903, 17349, 580,
+ 15943, 17653, 19283, 2596,
+ 15943, 17653, 19283, 2597, 7783, 10099, 3225, 20380,
+ 15943, 17653, 19283, 3336,
+ 15943, 17653, 19283, 6742,
+ 15943, 17653, 19283, 13654,
+ 15943, 17653, 20381, 17096,
+ 15945, 9456,
+ 15945, 9457, 10595, 14396,
+ 15946,
+ 15948,
+ 15958,
+ 15966,
+ 15967, 483, 16290,
+ 15968,
+ 15973, 16859, 11524,
+ 15973, 16859, 14514,
+ 15973, 16859, 14516,
+ 15973, 16859, 14518,
+ 15973, 16859, 14520,
+ 15973, 16859, 14522,
+ 15973, 16859, 14524,
+ 15973, 16859, 14526,
+ 15973, 16859, 14528,
+ 15973, 16859, 16160,
+ 15973, 16859, 16162,
+ 15973, 16859, 16164,
+ 15973, 16859, 16166,
+ 15973, 16859, 16168,
+ 15973, 16859, 16170,
+ 15973, 16859, 16172,
+ 15973, 16859, 16174,
+ 15973, 16859, 16176,
+ 15973, 16859, 16178,
+ 15973, 16859, 16180,
+ 15973, 16859, 16182,
+ 15973, 16859, 16184,
+ 15973, 16859, 16186,
+ 15973, 16859, 16188,
+ 15973, 16859, 16190,
+ 15973, 16859, 16192,
+ 15973, 16859, 16194,
+ 15973, 16859, 16196,
+ 15973, 16859, 16198,
+ 15973, 16859, 16200,
+ 15973, 16859, 16202,
+ 15973, 16859, 16204,
+ 15973, 16859, 16206,
+ 15973, 16859, 16208,
+ 15973, 16859, 16210,
+ 15973, 16859, 16212,
+ 15973, 16859, 16214,
+ 15973, 16859, 17716,
+ 15973, 16859, 17718,
+ 15973, 16859, 17720,
+ 15973, 16859, 17722,
+ 15973, 16859, 17724,
+ 15973, 16859, 17726,
+ 15973, 16859, 17728,
+ 15973, 16859, 17730,
+ 15973, 16859, 17732,
+ 15973, 16859, 17734,
+ 15973, 16859, 17736,
+ 15973, 16859, 17738,
+ 15973, 16859, 17740,
+ 15973, 16859, 17742,
+ 15973, 16859, 17744,
+ 15973, 16859, 17746,
+ 15973, 16859, 17748,
+ 15973, 16859, 17750,
+ 15973, 16859, 17752,
+ 15973, 16859, 17754,
+ 15973, 16859, 17756,
+ 15973, 16859, 17758,
+ 15973, 16859, 17760,
+ 15973, 16859, 17762,
+ 15973, 16859, 17764,
+ 15973, 16859, 17766,
+ 15973, 16859, 17768,
+ 15973, 16859, 17770,
+ 15973, 16859, 17772,
+ 15973, 16859, 17774,
+ 15973, 16859, 17776,
+ 15973, 16859, 17778,
+ 15973, 16859, 17780,
+ 15973, 16859, 17782,
+ 15973, 16859, 17784,
+ 15973, 16859, 17786,
+ 15973, 16859, 17788,
+ 15973, 16859, 17790,
+ 15973, 16859, 17792,
+ 15973, 16859, 17794,
+ 15973, 16859, 17796,
+ 15973, 16859, 17798,
+ 15973, 16859, 17800,
+ 15973, 16859, 17802,
+ 15973, 16859, 17804,
+ 15973, 16859, 17806,
+ 15973, 16859, 17808,
+ 15973, 16859, 17810,
+ 15973, 16859, 17812,
+ 15973, 16859, 17814,
+ 15973, 16859, 17816,
+ 15973, 16859, 17818,
+ 15973, 16859, 17820,
+ 15973, 16859, 17822,
+ 15973, 16859, 17824,
+ 15973, 16859, 17826,
+ 15973, 16859, 18888,
+ 15973, 16859, 18890,
+ 15973, 16859, 18892,
+ 15973, 16859, 18894,
+ 15973, 16859, 18896,
+ 15973, 16859, 18898,
+ 15973, 16859, 18900,
+ 15973, 16859, 18902,
+ 15973, 16859, 18904,
+ 15973, 16859, 18906,
+ 15973, 16859, 18908,
+ 15973, 16859, 18910,
+ 15973, 16859, 18912,
+ 15973, 16859, 18914,
+ 15973, 16859, 18916,
+ 15973, 16859, 18918,
+ 15973, 16859, 18920,
+ 15973, 16859, 18922,
+ 15973, 16859, 18924,
+ 15973, 16859, 18926,
+ 15973, 16859, 18928,
+ 15973, 16859, 18930,
+ 15973, 16859, 18932,
+ 15973, 16859, 18934,
+ 15973, 16859, 18936,
+ 15973, 16859, 18938,
+ 15973, 16859, 18940,
+ 15973, 16859, 18942,
+ 15973, 16859, 18944,
+ 15973, 16859, 18946,
+ 15973, 16859, 18948,
+ 15973, 16859, 18950,
+ 15973, 16859, 18952,
+ 15973, 16859, 18954,
+ 15973, 16859, 18956,
+ 15973, 16859, 18958,
+ 15973, 16859, 18960,
+ 15973, 16859, 18962,
+ 15973, 16859, 18964,
+ 15973, 16859, 18966,
+ 15973, 16859, 18968,
+ 15973, 16859, 18970,
+ 15973, 16859, 18972,
+ 15973, 16859, 18974,
+ 15973, 16859, 18976,
+ 15973, 16859, 18978,
+ 15973, 16859, 18980,
+ 15973, 16859, 18982,
+ 15973, 16859, 18984,
+ 15973, 16859, 18986,
+ 15973, 16859, 18988,
+ 15973, 16859, 18990,
+ 15973, 16859, 18992,
+ 15973, 16859, 18994,
+ 15973, 16859, 18996,
+ 15973, 16859, 18998,
+ 15973, 16859, 19000,
+ 15973, 16859, 19002,
+ 15973, 16859, 19004,
+ 15973, 16859, 19006,
+ 15973, 16859, 19008,
+ 15973, 16859, 19010,
+ 15973, 16859, 19012,
+ 15973, 16859, 19014,
+ 15973, 16859, 19016,
+ 15973, 16859, 19018,
+ 15973, 16859, 19020,
+ 15973, 16859, 19022,
+ 15973, 16859, 19024,
+ 15973, 16859, 19026,
+ 15973, 16859, 19782,
+ 15973, 16859, 19784,
+ 15973, 16859, 19786,
+ 15973, 16859, 19788,
+ 15973, 16859, 19790,
+ 15973, 16859, 19792,
+ 15973, 16859, 19794,
+ 15973, 16859, 19796,
+ 15973, 16859, 19798,
+ 15973, 16859, 19800,
+ 15973, 16859, 19802,
+ 15973, 16859, 19804,
+ 15973, 16859, 19806,
+ 15973, 16859, 19808,
+ 15973, 16859, 19810,
+ 15973, 16859, 19812,
+ 15973, 16859, 19814,
+ 15973, 16859, 19816,
+ 15973, 16859, 19818,
+ 15973, 16859, 19820,
+ 15973, 16859, 19822,
+ 15973, 16859, 19824,
+ 15973, 16859, 19826,
+ 15973, 16859, 19828,
+ 15973, 16859, 19830,
+ 15973, 16859, 19832,
+ 15973, 16859, 19834,
+ 15973, 16859, 19836,
+ 15973, 16859, 19838,
+ 15973, 16859, 19840,
+ 15973, 16859, 19842,
+ 15973, 16859, 19844,
+ 15973, 16859, 19846,
+ 15973, 16859, 19848,
+ 15973, 16859, 19850,
+ 15973, 16859, 19852,
+ 15973, 16859, 19854,
+ 15973, 16859, 19856,
+ 15973, 16859, 19858,
+ 15973, 16859, 19860,
+ 15973, 16859, 19862,
+ 15973, 16859, 19864,
+ 15973, 16859, 19866,
+ 15973, 16859, 19868,
+ 15973, 16859, 19870,
+ 15973, 16859, 19872,
+ 15973, 16859, 19874,
+ 15973, 16859, 19876,
+ 15973, 16859, 19878,
+ 15973, 16859, 19880,
+ 15973, 16859, 19882,
+ 15973, 16859, 19884,
+ 15973, 16859, 19886,
+ 15973, 16859, 19888,
+ 15973, 16859, 19890,
+ 15973, 16859, 19892,
+ 15973, 16859, 20398,
+ 15973, 16859, 20400,
+ 15973, 16859, 20402,
+ 15973, 16859, 20404,
+ 15973, 16859, 20406,
+ 15973, 16859, 20408,
+ 15973, 16859, 20410,
+ 15973, 16859, 20412,
+ 15973, 16859, 20414,
+ 15973, 16859, 20416,
+ 15973, 16859, 20418,
+ 15973, 16859, 20420,
+ 15973, 16859, 20422,
+ 15973, 16859, 20424,
+ 15973, 16859, 20426,
+ 15973, 16859, 20428,
+ 15973, 16859, 20430,
+ 15973, 16859, 20432,
+ 15973, 16859, 20434,
+ 15973, 16859, 20436,
+ 15973, 16859, 20438,
+ 15973, 16859, 20440,
+ 15973, 16859, 20442,
+ 15973, 16859, 20444,
+ 15973, 16859, 20446,
+ 15973, 16859, 20448,
+ 15973, 16859, 20450,
+ 15973, 16859, 20452,
+ 15973, 16859, 20842,
+ 15973, 16859, 20844,
+ 15973, 16859, 20846,
+ 15973, 16859, 20848,
+ 15973, 16859, 20850,
+ 15973, 16859, 20852,
+ 15973, 16859, 20854,
+ 15973, 16859, 20856,
+ 15973, 16859, 21084,
+ 15982,
+ 15990,
+ 15999, 9808,
+ 16002,
+ 16017, 11534,
+ 16022,
+ 16035, 46,
+ 16035, 128,
+ 16035, 714,
+ 16035, 1213, 18214,
+ 16035, 5825, 46,
+ 16035, 6258,
+ 16035, 9127, 14365, 11917, 16913, 9904,
+ 16035, 9242,
+ 16035, 9457, 18214,
+ 16035, 11719, 15270,
+ 16035, 11849, 2596,
+ 16035, 11849, 3056,
+ 16035, 11849, 3336,
+ 16035, 11849, 6720,
+ 16035, 11849, 6742,
+ 16035, 11849, 8736,
+ 16035, 11849, 10854,
+ 16035, 11849, 11916,
+ 16035, 11849, 13376,
+ 16035, 11849, 13654,
+ 16035, 12213, 13965, 20163, 11428,
+ 16035, 12477, 13483, 14903, 0,
+ 16035, 12477, 13483, 14903, 2,
+ 16035, 12477, 13483, 14903, 4,
+ 16035, 12477, 13483, 14903, 6,
+ 16035, 12477, 13483, 14903, 8,
+ 16035, 12477, 13483, 14903, 10,
+ 16035, 12477, 13483, 14903, 12,
+ 16035, 12477, 13483, 14903, 14,
+ 16035, 12477, 13483, 14903, 16,
+ 16035, 12477, 13483, 14903, 18,
+ 16035, 12477, 13483, 14903, 20,
+ 16035, 12477, 13483, 14903, 22,
+ 16035, 12477, 13483, 14903, 24,
+ 16035, 12477, 13483, 14903, 26,
+ 16035, 12477, 13483, 14903, 28,
+ 16035, 12477, 13483, 14903, 30,
+ 16035, 12477, 13483, 14903, 32,
+ 16035, 12477, 13483, 14903, 34,
+ 16035, 12477, 13483, 14903, 36,
+ 16035, 12477, 13483, 14903, 38,
+ 16035, 12477, 13483, 14903, 40,
+ 16035, 12477, 13483, 14903, 42,
+ 16035, 12477, 13483, 14903, 44,
+ 16035, 12477, 13483, 14903, 46,
+ 16035, 12477, 13483, 14903, 48,
+ 16035, 12477, 13483, 14903, 50,
+ 16035, 12477, 15993, 14903, 0,
+ 16035, 12477, 15993, 14903, 2,
+ 16035, 12477, 15993, 14903, 4,
+ 16035, 12477, 15993, 14903, 6,
+ 16035, 12477, 15993, 14903, 8,
+ 16035, 12477, 15993, 14903, 10,
+ 16035, 12477, 15993, 14903, 12,
+ 16035, 12477, 15993, 14903, 14,
+ 16035, 12477, 15993, 14903, 16,
+ 16035, 12477, 15993, 14903, 18,
+ 16035, 12477, 15993, 14903, 20,
+ 16035, 12477, 15993, 14903, 22,
+ 16035, 12477, 15993, 14903, 24,
+ 16035, 12477, 15993, 14903, 26,
+ 16035, 12477, 15993, 14903, 28,
+ 16035, 12477, 15993, 14903, 30,
+ 16035, 12477, 15993, 14903, 32,
+ 16035, 12477, 15993, 14903, 34,
+ 16035, 12477, 15993, 14903, 36,
+ 16035, 12477, 15993, 14903, 38,
+ 16035, 12477, 15993, 14903, 40,
+ 16035, 12477, 15993, 14903, 42,
+ 16035, 12477, 15993, 14903, 44,
+ 16035, 12477, 15993, 14903, 46,
+ 16035, 12477, 15993, 14903, 48,
+ 16035, 12477, 15993, 14903, 50,
+ 16035, 12674,
+ 16035, 13682,
+ 16035, 13965, 9904,
+ 16035, 13965, 14330,
+ 16035, 14330,
+ 16035, 14554,
+ 16035, 14725, 9820,
+ 16035, 14725, 9821, 0,
+ 16035, 14725, 11680,
+ 16035, 14725, 11681, 0,
+ 16035, 14725, 12216,
+ 16035, 14725, 12217, 0,
+ 16035, 14725, 12312,
+ 16035, 14725, 12313, 0,
+ 16035, 14725, 12313, 40,
+ 16035, 14725, 12666,
+ 16035, 14725, 12667, 0,
+ 16035, 14725, 12820,
+ 16035, 14725, 12821, 0,
+ 16035, 14725, 13164,
+ 16035, 14725, 13165, 0,
+ 16035, 14725, 13268,
+ 16035, 14725, 13269, 0,
+ 16035, 14725, 14848,
+ 16035, 14725, 14849, 0,
+ 16035, 14725, 15638,
+ 16035, 14725, 15639, 0,
+ 16035, 14725, 16024,
+ 16035, 14725, 16025, 0,
+ 16035, 14725, 16452,
+ 16035, 14725, 16453, 0,
+ 16035, 14725, 16892,
+ 16035, 14725, 16893, 0,
+ 16035, 14725, 17224,
+ 16035, 14725, 17225, 0,
+ 16035, 14787, 12477, 15993, 14903, 4,
+ 16035, 14787, 12477, 15993, 14903, 34,
+ 16035, 14859, 18795, 12360,
+ 16035, 14859, 18795, 14372,
+ 16035, 15133, 3212,
+ 16035, 15133, 3213, 495, 11521, 15512,
+ 16035, 15133, 12018,
+ 16035, 15133, 12019, 495, 11521, 15512,
+ 16035, 15133, 12046,
+ 16035, 15133, 12047, 495, 11521, 15512,
+ 16035, 15133, 12047, 2596,
+ 16035, 15133, 12047, 3056,
+ 16035, 15133, 12047, 3336,
+ 16035, 15133, 12047, 6720,
+ 16035, 15133, 12047, 6742,
+ 16035, 15133, 12047, 8736,
+ 16035, 15133, 12047, 11916,
+ 16035, 15133, 12047, 13376,
+ 16035, 15133, 12047, 13654,
+ 16035, 15133, 13461, 495, 11521, 15512,
+ 16035, 15133, 14545, 495, 11521, 15512,
+ 16035, 15133, 14546,
+ 16035, 15133, 15626,
+ 16035, 15133, 15627, 495, 11521, 15512,
+ 16035, 15133, 15627, 2596,
+ 16035, 15133, 15627, 3056,
+ 16035, 15133, 15627, 3336,
+ 16035, 15133, 15627, 6720,
+ 16035, 15133, 15627, 6742,
+ 16035, 15133, 15627, 8736,
+ 16035, 15133, 15627, 11916,
+ 16035, 15133, 15627, 13376,
+ 16035, 15133, 15627, 13654,
+ 16035, 15133, 15706,
+ 16035, 15133, 15708,
+ 16035, 15133, 15709, 495, 11521, 15512,
+ 16035, 15133, 15709, 2596,
+ 16035, 15133, 15709, 3056,
+ 16035, 15133, 15709, 3336,
+ 16035, 15133, 15709, 6720,
+ 16035, 15133, 15709, 6742,
+ 16035, 15133, 15709, 8736,
+ 16035, 15133, 15709, 11916,
+ 16035, 15133, 15709, 13376,
+ 16035, 15133, 15709, 13654,
+ 16035, 15133, 16280,
+ 16035, 15133, 17057, 495, 11521, 15512,
+ 16035, 15133, 17096,
+ 16035, 15133, 17854,
+ 16035, 15133, 17924,
+ 16035, 15133, 18190,
+ 16035, 15133, 18564,
+ 16035, 15133, 19424,
+ 16035, 15277, 8282,
+ 16035, 16991, 17118,
+ 16035, 17497, 18214,
+ 16035, 17645, 12468,
+ 16035, 17711, 9808,
+ 16035, 17711, 13468,
+ 16035, 18041, 0,
+ 16035, 18041, 8,
+ 16035, 18041, 16,
+ 16035, 18041, 28,
+ 16035, 18041, 40,
+ 16035, 18041, 266,
+ 16035, 18041, 268,
+ 16035, 18041, 272,
+ 16035, 18041, 280,
+ 16035, 18041, 284,
+ 16035, 18041, 348,
+ 16035, 18041, 352,
+ 16035, 18041, 356,
+ 16035, 18041, 364,
+ 16035, 18041, 368,
+ 16035, 18041, 414,
+ 16035, 18041, 422,
+ 16035, 18041, 428,
+ 16035, 18041, 434,
+ 16035, 18041, 438,
+ 16035, 18041, 446,
+ 16035, 18041, 450,
+ 16035, 18041, 458,
+ 16035, 18041, 466,
+ 16035, 18041, 470,
+ 16035, 18041, 570,
+ 16035, 18041, 572,
+ 16035, 18041, 576,
+ 16035, 18041, 578,
+ 16035, 18041, 582,
+ 16035, 18041, 586,
+ 16035, 18041, 590,
+ 16035, 18041, 596,
+ 16035, 18041, 600,
+ 16035, 18041, 610,
+ 16035, 18041, 620,
+ 16035, 18041, 624,
+ 16035, 18041, 628,
+ 16035, 18041, 632,
+ 16035, 18041, 640,
+ 16035, 18041, 692,
+ 16035, 18041, 698,
+ 16035, 18041, 704,
+ 16035, 18041, 708,
+ 16035, 18041, 732,
+ 16035, 18041, 740,
+ 16035, 18041, 744,
+ 16035, 18256,
+ 16035, 18597, 6406,
+ 16035, 18669, 894,
+ 16035, 19151, 2162,
+ 16035, 19151, 2596,
+ 16035, 19151, 3056,
+ 16035, 19151, 3116,
+ 16035, 19151, 3212,
+ 16035, 19151, 3336,
+ 16035, 19151, 6074,
+ 16035, 19151, 6710,
+ 16035, 19151, 6720,
+ 16035, 19151, 6742,
+ 16035, 19151, 7098,
+ 16035, 19151, 7134,
+ 16035, 19151, 7410,
+ 16035, 19151, 7656,
+ 16035, 19151, 7778,
+ 16035, 19151, 8276,
+ 16035, 19151, 8418,
+ 16035, 19151, 8554,
+ 16035, 19151, 8736,
+ 16035, 19151, 9442,
+ 16035, 19151, 10598,
+ 16035, 19151, 11910,
+ 16035, 19151, 11916,
+ 16035, 19151, 12454,
+ 16035, 19151, 12634,
+ 16035, 19151, 12822,
+ 16035, 19151, 13194,
+ 16035, 19151, 13270,
+ 16035, 19151, 13376,
+ 16035, 19151, 13544,
+ 16035, 19151, 13552,
+ 16035, 19151, 13654,
+ 16035, 19151, 13948,
+ 16035, 19151, 14180,
+ 16035, 19151, 14364,
+ 16035, 19151, 14592,
+ 16035, 19151, 15392,
+ 16035, 19151, 15404,
+ 16035, 19151, 16070,
+ 16035, 19151, 17114,
+ 16035, 19151, 17128,
+ 16035, 19151, 17452,
+ 16035, 19151, 18126,
+ 16035, 19151, 18334,
+ 16035, 19151, 18352,
+ 16035, 19151, 18360,
+ 16035, 19151, 18508,
+ 16035, 19151, 18706,
+ 16035, 19151, 18738,
+ 16035, 19151, 19054,
+ 16035, 19151, 19072,
+ 16035, 19151, 19482,
+ 16035, 19151, 19908,
+ 16035, 19151, 20908,
+ 16035, 19151, 21246,
+ 16035, 19214,
+ 16035, 19973, 895, 10595, 12908,
+ 16035, 20527, 15484,
+ 16035, 20876,
+ 16035, 21162,
+ 16035, 21377, 9809, 10595, 19717, 14178,
+ 16035, 21815, 17711, 9808,
+ 16039, 11534,
+ 16055, 13606,
+ 16061, 18010,
+ 16063, 12422,
+ 16064,
+ 16077, 897, 841, 5702,
+ 16079, 12026,
+ 16079, 15560,
+ 16079, 18177, 17139, 12477, 15993, 14903, 30,
+ 16081, 5702,
+ 16088,
+ 16090,
+ 16094,
+ 16099, 18519, 0,
+ 16099, 18519, 8,
+ 16099, 18519, 16,
+ 16099, 18519, 28,
+ 16099, 18519, 40,
+ 16099, 18519, 334,
+ 16099, 18519, 340,
+ 16099, 18519, 348,
+ 16099, 18519, 352,
+ 16099, 18519, 356,
+ 16099, 18519, 364,
+ 16099, 18519, 368,
+ 16099, 18519, 382,
+ 16099, 18519, 386,
+ 16099, 18519, 390,
+ 16099, 18519, 400,
+ 16099, 18519, 404,
+ 16099, 18519, 414,
+ 16099, 18519, 422,
+ 16099, 18519, 428,
+ 16099, 18519, 434,
+ 16099, 18519, 438,
+ 16099, 18519, 446,
+ 16099, 18519, 450,
+ 16099, 18519, 458,
+ 16099, 18519, 466,
+ 16099, 18519, 470,
+ 16099, 18519, 520,
+ 16099, 18519, 526,
+ 16099, 18519, 534,
+ 16099, 18519, 538,
+ 16099, 18519, 544,
+ 16099, 18519, 570,
+ 16099, 18519, 572,
+ 16099, 18519, 576,
+ 16099, 18519, 578,
+ 16099, 18519, 582,
+ 16099, 18519, 586,
+ 16099, 18519, 590,
+ 16099, 18519, 596,
+ 16099, 18519, 600,
+ 16099, 18519, 610,
+ 16099, 18519, 620,
+ 16099, 18519, 624,
+ 16099, 18519, 628,
+ 16099, 18519, 632,
+ 16099, 18519, 640,
+ 16099, 18519, 692,
+ 16099, 18519, 698,
+ 16099, 18519, 704,
+ 16099, 18519, 708,
+ 16099, 18519, 716,
+ 16099, 18519, 718,
+ 16099, 18519, 750,
+ 16099, 18519, 758,
+ 16113, 17885, 15564,
+ 16113, 19421, 1903, 15564,
+ 16119, 13483, 14903, 14,
+ 16119, 13483, 14903, 102,
+ 16119, 13483, 14903, 186,
+ 16119, 13483, 14903, 198,
+ 16119, 13483, 14903, 200,
+ 16119, 13483, 14903, 202,
+ 16119, 13483, 14903, 208,
+ 16119, 13483, 14903, 210,
+ 16119, 13483, 14903, 218,
+ 16119, 13483, 14903, 486,
+ 16119, 13483, 14903, 512,
+ 16119, 13483, 14903, 710,
+ 16119, 13483, 14903, 916,
+ 16119, 13483, 14903, 1148,
+ 16119, 13483, 14903, 1294,
+ 16119, 13483, 14903, 1312,
+ 16119, 13483, 14903, 1322,
+ 16119, 13483, 14903, 1450,
+ 16119, 13483, 14903, 1778,
+ 16119, 13483, 14903, 1882,
+ 16119, 13483, 14903, 2648,
+ 16119, 13483, 14903, 3206,
+ 16119, 13483, 14903, 3434,
+ 16119, 13483, 14903, 3670,
+ 16119, 13483, 14903, 3778,
+ 16119, 13483, 14903, 5996,
+ 16119, 13483, 14903, 7845, 0,
+ 16119, 13483, 14903, 7845, 8,
+ 16119, 13483, 14903, 7845, 16,
+ 16119, 13483, 14903, 7845, 28,
+ 16119, 13483, 14903, 7845, 70,
+ 16119, 13483, 14903, 7845, 496,
+ 16119, 13483, 14903, 10104,
+ 16119, 13483, 14903, 10868,
+ 16119, 13483, 14903, 13431, 0,
+ 16119, 13483, 14903, 13431, 8,
+ 16119, 13483, 14903, 13431, 16,
+ 16119, 13483, 14903, 13431, 28,
+ 16119, 13483, 14903, 13431, 70,
+ 16119, 13483, 14903, 13431, 496,
+ 16119, 15993, 14903, 14,
+ 16119, 15993, 14903, 102,
+ 16119, 15993, 14903, 186,
+ 16119, 15993, 14903, 198,
+ 16119, 15993, 14903, 200,
+ 16119, 15993, 14903, 202,
+ 16119, 15993, 14903, 208,
+ 16119, 15993, 14903, 210,
+ 16119, 15993, 14903, 218,
+ 16119, 15993, 14903, 486,
+ 16119, 15993, 14903, 512,
+ 16119, 15993, 14903, 710,
+ 16119, 15993, 14903, 916,
+ 16119, 15993, 14903, 1148,
+ 16119, 15993, 14903, 1294,
+ 16119, 15993, 14903, 1312,
+ 16119, 15993, 14903, 1322,
+ 16119, 15993, 14903, 1450,
+ 16119, 15993, 14903, 1778,
+ 16119, 15993, 14903, 1882,
+ 16119, 15993, 14903, 2648,
+ 16119, 15993, 14903, 3206,
+ 16119, 15993, 14903, 3434,
+ 16119, 15993, 14903, 3670,
+ 16119, 15993, 14903, 3778,
+ 16119, 15993, 14903, 5996,
+ 16119, 15993, 14903, 7845, 0,
+ 16119, 15993, 14903, 7845, 8,
+ 16119, 15993, 14903, 7845, 16,
+ 16119, 15993, 14903, 7845, 28,
+ 16119, 15993, 14903, 7845, 70,
+ 16119, 15993, 14903, 7845, 496,
+ 16119, 15993, 14903, 10104,
+ 16119, 15993, 14903, 10868,
+ 16119, 15993, 14903, 13431, 0,
+ 16119, 15993, 14903, 13431, 8,
+ 16119, 15993, 14903, 13431, 16,
+ 16119, 15993, 14903, 13431, 28,
+ 16119, 15993, 14903, 13431, 70,
+ 16119, 15993, 14903, 13431, 496,
+ 16121, 15782,
+ 16121, 17624,
+ 16129, 10595, 3273, 7087, 11520,
+ 16129, 10595, 7779, 7087, 11520,
+ 16129, 10595, 13271, 7087, 11520,
+ 16129, 10595, 14307, 7087, 11520,
+ 16129, 13387, 10595, 1, 1213, 14778,
+ 16129, 15584,
+ 16129, 18214,
+ 16141, 16035, 20165, 11849, 2596,
+ 16141, 16035, 20165, 11849, 3056,
+ 16141, 16035, 20165, 11849, 3336,
+ 16141, 16035, 20165, 11849, 6720,
+ 16141, 16035, 20165, 11849, 6742,
+ 16141, 16035, 20165, 11849, 8736,
+ 16141, 16035, 20165, 11849, 10854,
+ 16141, 16035, 20165, 11849, 11916,
+ 16141, 16035, 20165, 11849, 13376,
+ 16141, 16035, 20165, 11849, 13654,
+ 16141, 16035, 20165, 15133, 3212,
+ 16141, 18177, 16035, 11849, 2596,
+ 16141, 18177, 16035, 11849, 3056,
+ 16141, 18177, 16035, 11849, 3336,
+ 16141, 18177, 16035, 11849, 6720,
+ 16141, 18177, 16035, 11849, 6742,
+ 16141, 18177, 16035, 11849, 8736,
+ 16141, 18177, 16035, 11849, 11916,
+ 16141, 18177, 16035, 11849, 13376,
+ 16141, 18177, 16035, 11849, 13654,
+ 16141, 18177, 16035, 15133, 3212,
+ 16141, 18177, 16035, 20165, 11849, 2596,
+ 16141, 18177, 16035, 20165, 11849, 3056,
+ 16141, 18177, 16035, 20165, 11849, 3336,
+ 16141, 18177, 16035, 20165, 11849, 6720,
+ 16141, 18177, 16035, 20165, 11849, 6742,
+ 16141, 18177, 16035, 20165, 11849, 8736,
+ 16141, 18177, 16035, 20165, 11849, 10854,
+ 16141, 18177, 16035, 20165, 11849, 11916,
+ 16141, 18177, 16035, 20165, 11849, 13376,
+ 16141, 18177, 16035, 20165, 11849, 13654,
+ 16141, 18177, 16035, 20165, 15133, 3212,
+ 16152,
+ 16155, 15564,
+ 16156,
+ 16217, 8277, 9808,
+ 16217, 14593, 9808,
+ 16219, 9808,
+ 16220,
+ 16243, 14903, 0,
+ 16243, 14903, 8,
+ 16243, 14903, 16,
+ 16243, 14903, 28,
+ 16243, 14903, 40,
+ 16243, 14903, 48,
+ 16243, 14903, 110,
+ 16243, 14903, 130,
+ 16243, 14903, 154,
+ 16243, 14903, 192,
+ 16243, 14903, 226,
+ 16243, 14903, 248,
+ 16243, 14903, 268,
+ 16243, 14903, 336,
+ 16243, 14903, 352,
+ 16243, 14903, 386,
+ 16243, 14903, 422,
+ 16243, 14903, 446,
+ 16243, 14903, 450,
+ 16243, 14903, 526,
+ 16243, 14903, 556,
+ 16243, 14903, 572,
+ 16243, 14903, 590,
+ 16243, 14903, 624,
+ 16243, 14903, 680,
+ 16243, 14903, 718,
+ 16243, 14903, 752,
+ 16243, 14903, 1042,
+ 16243, 14903, 1162,
+ 16243, 14903, 1488,
+ 16243, 14903, 1512,
+ 16243, 14903, 1906,
+ 16243, 14903, 2144,
+ 16243, 14903, 2410,
+ 16243, 14903, 2468,
+ 16243, 14903, 2940,
+ 16243, 14903, 3032,
+ 16243, 14903, 3224,
+ 16243, 14903, 3788,
+ 16243, 14903, 14680,
+ 16245, 482,
+ 16245, 483, 10595, 1213, 11346,
+ 16245, 483, 10595, 3337, 19973, 17166,
+ 16245, 483, 10595, 7845, 19973, 15534,
+ 16245, 483, 10595, 16816,
+ 16245, 483, 10595, 18658,
+ 16245, 483, 10595, 18669, 895, 93, 1293, 483, 19973, 15534,
+ 16245, 483, 16805, 17318,
+ 16245, 483, 16805, 19028,
+ 16264,
+ 16269, 17687, 315, 13965, 14397, 315, 11521, 15512,
+ 16269, 17687, 17645, 12907, 6531, 11428,
+ 16269, 17687, 17645, 15347, 17686,
+ 16275, 6682,
+ 16284,
+ 16287, 9245, 841, 6714,
+ 16295, 6682,
+ 16298,
+ 16305, 3398,
+ 16329, 9904,
+ 16333, 95, 14897, 8282,
+ 16333, 492,
+ 16333, 9809, 12986,
+ 16333, 9809, 13178,
+ 16333, 9809, 15756,
+ 16333, 9809, 17342,
+ 16333, 9809, 17466,
+ 16333, 9809, 17506,
+ 16333, 9809, 18819, 17467, 11346,
+ 16333, 9809, 20336,
+ 16333, 13921, 9809, 16,
+ 16333, 13921, 9809, 40,
+ 16333, 13921, 9809, 58,
+ 16333, 13921, 9809, 72,
+ 16333, 13921, 9809, 94,
+ 16333, 13921, 9809, 184,
+ 16333, 13921, 9809, 306,
+ 16333, 13921, 9809, 496,
+ 16333, 13921, 9809, 674,
+ 16333, 13921, 9809, 17349, 22,
+ 16333, 13921, 9809, 17349, 34,
+ 16333, 13921, 9809, 17349, 394,
+ 16333, 13921, 9809, 17349, 580,
+ 16333, 14903, 0,
+ 16333, 14903, 16,
+ 16333, 14903, 40,
+ 16333, 14903, 58,
+ 16333, 14903, 72,
+ 16333, 14903, 94,
+ 16333, 14903, 106,
+ 16333, 14903, 124,
+ 16333, 14903, 148,
+ 16333, 14903, 184,
+ 16333, 14903, 244,
+ 16333, 14903, 266,
+ 16333, 14903, 306,
+ 16333, 14903, 334,
+ 16333, 14903, 348,
+ 16333, 14903, 382,
+ 16333, 14903, 414,
+ 16333, 14903, 446,
+ 16333, 14903, 496,
+ 16333, 14903, 520,
+ 16333, 14903, 570,
+ 16333, 14903, 586,
+ 16333, 14903, 620,
+ 16333, 14903, 674,
+ 16333, 14903, 678,
+ 16333, 14903, 732,
+ 16333, 14903, 930,
+ 16333, 14903, 1040,
+ 16333, 14903, 1138,
+ 16333, 14903, 1160,
+ 16333, 14903, 1486,
+ 16333, 14903, 1786,
+ 16333, 14903, 1904,
+ 16333, 14903, 2142,
+ 16333, 14903, 2432,
+ 16333, 14903, 2480,
+ 16333, 14903, 2544,
+ 16333, 14903, 2660,
+ 16333, 14903, 3030,
+ 16333, 14903, 3094,
+ 16333, 14903, 3222,
+ 16333, 14903, 3302,
+ 16333, 14903, 6286,
+ 16333, 14903, 10218,
+ 16333, 14903, 13901, 14533, 17466,
+ 16333, 14903, 13901, 17466,
+ 16333, 14903, 17349, 22,
+ 16333, 14903, 17349, 34,
+ 16333, 14903, 17349, 394,
+ 16333, 14903, 17349, 580,
+ 16337, 12210,
+ 16339, 9808,
+ 16342,
+ 16349, 6682,
+ 16350,
+ 16355, 9809, 18242,
+ 16355, 13921, 9809, 16,
+ 16355, 13921, 9809, 40,
+ 16355, 14903, 0,
+ 16355, 14903, 16,
+ 16355, 14903, 40,
+ 16355, 14903, 106,
+ 16355, 14903, 148,
+ 16355, 14903, 244,
+ 16355, 14903, 266,
+ 16355, 14903, 348,
+ 16355, 14903, 382,
+ 16355, 14903, 414,
+ 16355, 14903, 446,
+ 16355, 14903, 520,
+ 16355, 14903, 570,
+ 16355, 14903, 586,
+ 16355, 14903, 620,
+ 16355, 14903, 692,
+ 16355, 14903, 732,
+ 16355, 14903, 2432,
+ 16375, 9808,
+ 16377, 6682,
+ 16379, 15263, 15564,
+ 16399, 14213, 6741, 17066,
+ 16399, 19561, 18514,
+ 16405, 13965, 14396,
+ 16405, 14330,
+ 16413, 16574,
+ 16422,
+ 16429, 73, 14897, 8282,
+ 16429, 9809, 12986,
+ 16429, 9809, 15756,
+ 16429, 9809, 17342,
+ 16429, 9809, 17466,
+ 16429, 9809, 17506,
+ 16429, 9809, 20336,
+ 16429, 9809, 20540,
+ 16429, 9809, 20756,
+ 16429, 11849, 2596,
+ 16429, 11849, 3056,
+ 16429, 11849, 3336,
+ 16429, 11849, 6720,
+ 16429, 11849, 6742,
+ 16429, 11849, 8736,
+ 16429, 11849, 10854,
+ 16429, 11849, 11916,
+ 16429, 11849, 13376,
+ 16429, 11849, 13654,
+ 16429, 13921, 9809, 8,
+ 16429, 13921, 9809, 16,
+ 16429, 13921, 9809, 28,
+ 16429, 13921, 9809, 40,
+ 16429, 13921, 9809, 58,
+ 16429, 13921, 9809, 72,
+ 16429, 13921, 9809, 94,
+ 16429, 13921, 9809, 184,
+ 16429, 13921, 9809, 306,
+ 16429, 13921, 9809, 496,
+ 16429, 13921, 9809, 674,
+ 16429, 13921, 9809, 17349, 22,
+ 16429, 13921, 9809, 17349, 34,
+ 16429, 13921, 9809, 17349, 394,
+ 16429, 13921, 9809, 17349, 580,
+ 16429, 14897, 8282,
+ 16429, 14903, 0,
+ 16429, 14903, 8,
+ 16429, 14903, 16,
+ 16429, 14903, 28,
+ 16429, 14903, 40,
+ 16429, 14903, 58,
+ 16429, 14903, 72,
+ 16429, 14903, 94,
+ 16429, 14903, 106,
+ 16429, 14903, 124,
+ 16429, 14903, 148,
+ 16429, 14903, 184,
+ 16429, 14903, 224,
+ 16429, 14903, 244,
+ 16429, 14903, 266,
+ 16429, 14903, 306,
+ 16429, 14903, 334,
+ 16429, 14903, 348,
+ 16429, 14903, 382,
+ 16429, 14903, 414,
+ 16429, 14903, 446,
+ 16429, 14903, 496,
+ 16429, 14903, 520,
+ 16429, 14903, 570,
+ 16429, 14903, 586,
+ 16429, 14903, 620,
+ 16429, 14903, 674,
+ 16429, 14903, 678,
+ 16429, 14903, 732,
+ 16429, 14903, 930,
+ 16429, 14903, 1040,
+ 16429, 14903, 1138,
+ 16429, 14903, 1160,
+ 16429, 14903, 1486,
+ 16429, 14903, 1786,
+ 16429, 14903, 1904,
+ 16429, 14903, 2142,
+ 16429, 14903, 2432,
+ 16429, 14903, 2480,
+ 16429, 14903, 2544,
+ 16429, 14903, 2660,
+ 16429, 14903, 2938,
+ 16429, 14903, 3030,
+ 16429, 14903, 3094,
+ 16429, 14903, 3222,
+ 16429, 14903, 3302,
+ 16429, 14903, 6286,
+ 16429, 14903, 7836,
+ 16429, 14903, 10218,
+ 16429, 14903, 17349, 22,
+ 16429, 14903, 17349, 34,
+ 16429, 14903, 17349, 394,
+ 16429, 14903, 17349, 580,
+ 16461, 1015, 6683, 10595, 14407, 6568,
+ 16461, 6682,
+ 16461, 6683, 10595, 14407, 6568,
+ 16461, 6683, 10595, 17109, 6568,
+ 16588,
+ 16597, 19219, 9808,
+ 16603, 502,
+ 16603, 503, 10595, 1213, 11346,
+ 16603, 503, 10595, 14533, 16816,
+ 16603, 503, 10595, 14533, 18658,
+ 16603, 503, 10595, 15021, 9906,
+ 16603, 503, 10595, 19973, 6258,
+ 16603, 503, 20615, 16603, 840,
+ 16603, 840,
+ 16603, 841, 10595, 1213, 11346,
+ 16603, 841, 10595, 14533, 16816,
+ 16603, 841, 10595, 14533, 18658,
+ 16603, 841, 10595, 15021, 9906,
+ 16603, 841, 10595, 18658,
+ 16603, 841, 10595, 19973, 6258,
+ 16608,
+ 16609, 16149, 123, 19973, 9518,
+ 16623, 10143, 2597, 483, 15918,
+ 16623, 10143, 2597, 483, 16036,
+ 16623, 10143, 2597, 483, 19714,
+ 16623, 10143, 2879, 14534,
+ 16623, 10143, 3057, 483, 15918,
+ 16623, 10143, 3057, 483, 16036,
+ 16623, 10143, 3057, 483, 19714,
+ 16623, 10143, 3337, 483, 15918,
+ 16623, 10143, 3337, 483, 16036,
+ 16623, 10143, 3337, 483, 19714,
+ 16623, 10143, 5692,
+ 16623, 10143, 6531, 10588,
+ 16623, 10143, 6721, 483, 15918,
+ 16623, 10143, 6721, 483, 16036,
+ 16623, 10143, 6721, 483, 19714,
+ 16623, 10143, 6743, 483, 15918,
+ 16623, 10143, 6743, 483, 16036,
+ 16623, 10143, 6743, 483, 19714,
+ 16623, 10143, 8737, 483, 15918,
+ 16623, 10143, 8737, 483, 16036,
+ 16623, 10143, 8737, 483, 19714,
+ 16623, 10143, 9240,
+ 16623, 10143, 10583, 10588,
+ 16623, 10143, 11917, 483, 15918,
+ 16623, 10143, 11917, 483, 16036,
+ 16623, 10143, 11917, 483, 19714,
+ 16623, 10143, 12175, 14534,
+ 16623, 10143, 12354,
+ 16623, 10143, 12907, 10588,
+ 16623, 10143, 13377, 483, 15918,
+ 16623, 10143, 13377, 483, 16036,
+ 16623, 10143, 13377, 483, 19714,
+ 16623, 10143, 13501, 10588,
+ 16623, 10143, 13655, 483, 15918,
+ 16623, 10143, 13655, 483, 16036,
+ 16623, 10143, 13655, 483, 19714,
+ 16623, 10143, 13965, 14534,
+ 16623, 10143, 14246,
+ 16623, 10143, 14260,
+ 16623, 10143, 15162,
+ 16623, 10143, 15506,
+ 16623, 10143, 15550,
+ 16623, 10143, 15784,
+ 16623, 10143, 21070,
+ 16637, 11718,
+ 16639, 14903, 60,
+ 16639, 14903, 64,
+ 16639, 14903, 68,
+ 16639, 14903, 70,
+ 16639, 14903, 74,
+ 16639, 14903, 76,
+ 16639, 14903, 78,
+ 16639, 14903, 80,
+ 16639, 14903, 84,
+ 16639, 14903, 86,
+ 16639, 14903, 88,
+ 16639, 14903, 90,
+ 16639, 14903, 92,
+ 16639, 14903, 104,
+ 16639, 14903, 314,
+ 16639, 14903, 326,
+ 16639, 14903, 824,
+ 16639, 14903, 862,
+ 16639, 14903, 864,
+ 16639, 14903, 866,
+ 16639, 14903, 1854,
+ 16639, 14903, 5214,
+ 16639, 14903, 12194,
+ 16639, 14903, 17320,
+ 16639, 14903, 17848,
+ 16639, 19947, 8282,
+ 16639, 20307, 8282,
+ 16639, 20658,
+ 16639, 21045, 8282,
+ 16673, 10595, 8737, 17548,
+ 16674,
+ 16681, 19973, 17860,
+ 16684,
+ 16701, 14903, 0,
+ 16701, 14903, 8,
+ 16701, 14903, 16,
+ 16701, 14903, 40,
+ 16701, 14903, 106,
+ 16701, 14903, 124,
+ 16701, 14903, 148,
+ 16701, 14903, 244,
+ 16701, 14903, 266,
+ 16701, 14903, 334,
+ 16701, 14903, 348,
+ 16701, 14903, 382,
+ 16701, 14903, 414,
+ 16701, 14903, 446,
+ 16701, 14903, 520,
+ 16701, 14903, 570,
+ 16701, 14903, 586,
+ 16701, 14903, 620,
+ 16701, 14903, 678,
+ 16701, 14903, 732,
+ 16701, 14903, 930,
+ 16701, 14903, 1040,
+ 16701, 14903, 1138,
+ 16701, 14903, 1160,
+ 16701, 14903, 1486,
+ 16701, 14903, 1802,
+ 16701, 14903, 1904,
+ 16701, 14903, 2480,
+ 16701, 14903, 2544,
+ 16701, 14903, 2660,
+ 16701, 14903, 2894,
+ 16701, 14903, 2938,
+ 16701, 14903, 3222,
+ 16701, 14903, 3302,
+ 16701, 14903, 6278,
+ 16701, 14903, 6286,
+ 16701, 14903, 10218,
+ 16701, 17045, 8282,
+ 16703, 8808,
+ 16703, 13360,
+ 16703, 15565, 5, 6060,
+ 16703, 15565, 11, 6060,
+ 16703, 15565, 11, 6061, 15173, 5230,
+ 16703, 15565, 11, 6061, 15173, 11474,
+ 16703, 15565, 13, 6060,
+ 16703, 15565, 13, 6061, 15173, 5230,
+ 16703, 15565, 13, 6061, 15173, 11474,
+ 16703, 15565, 47, 18202,
+ 16703, 15565, 50,
+ 16703, 15565, 149, 5940,
+ 16703, 15565, 634,
+ 16703, 15565, 1093, 10146,
+ 16703, 15565, 1125, 13366,
+ 16703, 15565, 1293, 483, 15522,
+ 16703, 15565, 1293, 3236,
+ 16703, 15565, 1293, 5768,
+ 16703, 15565, 1293, 9836,
+ 16703, 15565, 1293, 15230,
+ 16703, 15565, 2597, 16379, 21219, 8808,
+ 16703, 15565, 2597, 16379, 21219, 9442,
+ 16703, 15565, 2657, 20238,
+ 16703, 15565, 6064,
+ 16703, 15565, 6250,
+ 16703, 15565, 6251, 832,
+ 16703, 15565, 6413, 14400,
+ 16703, 15565, 6413, 14402,
+ 16703, 15565, 6725, 668,
+ 16703, 15565, 6725, 6406,
+ 16703, 15565, 6761, 11520,
+ 16703, 15565, 6761, 13964,
+ 16703, 15565, 7087, 8808,
+ 16703, 15565, 7087, 9442,
+ 16703, 15565, 7087, 13137, 8282,
+ 16703, 15565, 7779, 15331, 9808,
+ 16703, 15565, 8419, 18203, 11520,
+ 16703, 15565, 8419, 18203, 13964,
+ 16703, 15565, 8881, 18202,
+ 16703, 15565, 9243, 18202,
+ 16703, 15565, 10250,
+ 16703, 15565, 10251, 668,
+ 16703, 15565, 10251, 13468,
+ 16703, 15565, 10509, 18202,
+ 16703, 15565, 10595, 20472,
+ 16703, 15565, 11497, 3236,
+ 16703, 15565, 11497, 5768,
+ 16703, 15565, 11497, 9836,
+ 16703, 15565, 11497, 15230,
+ 16703, 15565, 11542,
+ 16703, 15565, 11546,
+ 16703, 15565, 11716,
+ 16703, 15565, 12023, 15920,
+ 16703, 15565, 12044,
+ 16703, 15565, 12161, 8809, 467, 13468,
+ 16703, 15565, 12161, 8809, 13468,
+ 16703, 15565, 12514,
+ 16703, 15565, 12515, 18275, 9442,
+ 16703, 15565, 12515, 19983, 9442,
+ 16703, 15565, 12642,
+ 16703, 15565, 12711, 9442,
+ 16703, 15565, 13137, 669, 8282,
+ 16703, 15565, 13137, 8282,
+ 16703, 15565, 13156,
+ 16703, 15565, 13271, 15331, 9808,
+ 16703, 15565, 13366,
+ 16703, 15565, 13393, 668,
+ 16703, 15565, 13393, 6406,
+ 16703, 15565, 13431, 15920,
+ 16703, 15565, 13912,
+ 16703, 15565, 13967, 8808,
+ 16703, 15565, 13967, 9442,
+ 16703, 15565, 14317, 8282,
+ 16703, 15565, 14318,
+ 16703, 15565, 14319, 9442,
+ 16703, 15565, 14397, 47, 18202,
+ 16703, 15565, 14404,
+ 16703, 15565, 14419, 10146,
+ 16703, 15565, 14463, 15920,
+ 16703, 15565, 14469, 13468,
+ 16703, 15565, 14533, 6724,
+ 16703, 15565, 14533, 13392,
+ 16703, 15565, 14533, 15920,
+ 16703, 15565, 14543, 8808,
+ 16703, 15565, 14543, 9442,
+ 16703, 15565, 14841, 5, 6060,
+ 16703, 15565, 14841, 1293, 483, 13158,
+ 16703, 15565, 14841, 6725, 9808,
+ 16703, 15565, 14841, 7087, 8808,
+ 16703, 15565, 14841, 12023, 8808,
+ 16703, 15565, 14841, 13967, 8808,
+ 16703, 15565, 14841, 14543, 8809, 9907, 668,
+ 16703, 15565, 14841, 14543, 8809, 9907, 6406,
+ 16703, 15565, 14841, 16955, 8809, 9907, 668,
+ 16703, 15565, 14841, 16955, 8809, 9907, 6406,
+ 16703, 15565, 14841, 20141, 8282,
+ 16703, 15565, 14984,
+ 16703, 15565, 15026,
+ 16703, 15565, 15027, 9442,
+ 16703, 15565, 15027, 11520,
+ 16703, 15565, 15173, 5230,
+ 16703, 15565, 15173, 11474,
+ 16703, 15565, 15331, 6402,
+ 16703, 15565, 15465, 15920,
+ 16703, 15565, 15513, 2,
+ 16703, 15565, 15513, 18203, 11520,
+ 16703, 15565, 15513, 18203, 13964,
+ 16703, 15565, 15540,
+ 16703, 15565, 15605, 19323, 1085, 20131, 18274,
+ 16703, 15565, 15605, 19323, 1085, 20131, 18275, 20834,
+ 16703, 15565, 15605, 19323, 1085, 20131, 19982,
+ 16703, 15565, 15605, 20523, 1085, 20131, 18274,
+ 16703, 15565, 15605, 20523, 1085, 20131, 19982,
+ 16703, 15565, 15605, 20523, 1085, 20131, 19983, 20834,
+ 16703, 15565, 15605, 20523, 1085, 20131, 19983, 20836,
+ 16703, 15565, 15605, 20523, 1085, 20131, 19983, 20838,
+ 16703, 15565, 15970,
+ 16703, 15565, 15988,
+ 16703, 15565, 16049, 18203, 11520,
+ 16703, 15565, 16049, 18203, 13964,
+ 16703, 15565, 16278,
+ 16703, 15565, 16279, 11502,
+ 16703, 15565, 16711, 668,
+ 16703, 15565, 16711, 6406,
+ 16703, 15565, 16910,
+ 16703, 15565, 16955, 8808,
+ 16703, 15565, 16955, 9442,
+ 16703, 15565, 16955, 10173, 6724,
+ 16703, 15565, 16955, 10173, 13392,
+ 16703, 15565, 16991, 12023, 15920,
+ 16703, 15565, 17614,
+ 16703, 15565, 17905, 19594,
+ 16703, 15565, 17905, 19596,
+ 16703, 15565, 17905, 19598,
+ 16703, 15565, 18017, 10250,
+ 16703, 15565, 18165, 16663, 9442,
+ 16703, 15565, 18203, 11520,
+ 16703, 15565, 18213, 13526,
+ 16703, 15565, 18221, 18486,
+ 16703, 15565, 18221, 18488,
+ 16703, 15565, 18221, 18490,
+ 16703, 15565, 18221, 18492,
+ 16703, 15565, 18221, 18494,
+ 16703, 15565, 18221, 18496,
+ 16703, 15565, 18221, 18498,
+ 16703, 15565, 18221, 18500,
+ 16703, 15565, 18221, 18502,
+ 16703, 15565, 18221, 19462,
+ 16703, 15565, 18221, 19464,
+ 16703, 15565, 18359, 17898,
+ 16703, 15565, 18359, 17900,
+ 16703, 15565, 18359, 17902,
+ 16703, 15565, 18429, 13526,
+ 16703, 15565, 18582,
+ 16703, 15565, 18583, 19386,
+ 16703, 15565, 18597, 18203, 669, 11520,
+ 16703, 15565, 18597, 18203, 669, 13271, 11520,
+ 16703, 15565, 18597, 18203, 669, 13271, 13964,
+ 16703, 15565, 18597, 18203, 669, 13964,
+ 16703, 15565, 18597, 18203, 6407, 11520,
+ 16703, 15565, 18597, 18203, 6407, 13964,
+ 16703, 15565, 18597, 18203, 7779, 11520,
+ 16703, 15565, 18597, 18203, 7779, 13964,
+ 16703, 15565, 18597, 18203, 13271, 11520,
+ 16703, 15565, 18597, 18203, 13271, 13964,
+ 16703, 15565, 18643, 13526,
+ 16703, 15565, 18819, 669, 964,
+ 16703, 15565, 18819, 2904,
+ 16703, 15565, 18819, 5784,
+ 16703, 15565, 18819, 6394,
+ 16703, 15565, 18819, 6407, 964,
+ 16703, 15565, 18819, 6728,
+ 16703, 15565, 18819, 9839, 19332,
+ 16703, 15565, 18819, 9906,
+ 16703, 15565, 18819, 12520,
+ 16703, 15565, 18819, 13486,
+ 16703, 15565, 18819, 14178,
+ 16703, 15565, 18819, 14533, 15666,
+ 16703, 15565, 18819, 14612,
+ 16703, 15565, 18819, 14614,
+ 16703, 15565, 18819, 14616,
+ 16703, 15565, 18819, 14618,
+ 16703, 15565, 18819, 14620,
+ 16703, 15565, 18819, 15608,
+ 16703, 15565, 18819, 15671, 15666,
+ 16703, 15565, 18819, 16646,
+ 16703, 15565, 18819, 17966,
+ 16703, 15565, 18819, 18460,
+ 16703, 15565, 18819, 19594,
+ 16703, 15565, 18819, 19596,
+ 16703, 15565, 18819, 19598,
+ 16703, 15565, 18819, 20795, 1212,
+ 16703, 15565, 18819, 21007, 9906,
+ 16703, 15565, 18819, 21200,
+ 16703, 15565, 18819, 21514,
+ 16703, 15565, 18819, 21680,
+ 16703, 15565, 18840,
+ 16703, 15565, 19077, 13526,
+ 16703, 15565, 19087, 13526,
+ 16703, 15565, 19103, 668,
+ 16703, 15565, 19103, 6406,
+ 16703, 15565, 19113, 5, 6060,
+ 16703, 15565, 19113, 11, 6060,
+ 16703, 15565, 19334,
+ 16703, 15565, 19335, 14624,
+ 16703, 15565, 19408,
+ 16703, 15565, 19409, 14624,
+ 16703, 15565, 19439, 8808,
+ 16703, 15565, 19439, 9442,
+ 16703, 15565, 19683, 668,
+ 16703, 15565, 19683, 6406,
+ 16703, 15565, 20171, 9442,
+ 16703, 15565, 20171, 11520,
+ 16703, 15565, 20171, 13964,
+ 16703, 15565, 20177, 9442,
+ 16703, 15565, 20177, 11520,
+ 16703, 15565, 20177, 13964,
+ 16703, 15565, 20213, 19088,
+ 16703, 15565, 20263, 13526,
+ 16703, 15565, 20376,
+ 16703, 15565, 20481, 19088,
+ 16703, 15565, 20494,
+ 16703, 15565, 20596,
+ 16703, 15565, 20629, 18202,
+ 16703, 15565, 20680,
+ 16703, 15565, 20965, 5230,
+ 16703, 15565, 20965, 11474,
+ 16703, 15565, 21003, 8808,
+ 16703, 15565, 21003, 9442,
+ 16703, 15565, 21209, 8808,
+ 16703, 15565, 21209, 9442,
+ 16703, 15565, 21407, 18203, 6407, 11520,
+ 16703, 15565, 21407, 18203, 6407, 13964,
+ 16703, 18044,
+ 16703, 18045, 10595, 12332,
+ 16705, 3177, 12463, 11849, 2596,
+ 16705, 3177, 12463, 11849, 3056,
+ 16705, 3177, 12463, 11849, 3336,
+ 16705, 3177, 12463, 11849, 6720,
+ 16705, 3177, 12463, 11849, 6742,
+ 16705, 3177, 12463, 11849, 8736,
+ 16705, 3177, 12463, 11849, 10854,
+ 16705, 3177, 12463, 11849, 11916,
+ 16705, 3177, 12463, 11849, 13376,
+ 16705, 3177, 12463, 11849, 13654,
+ 16705, 9701, 11849, 2596,
+ 16705, 9701, 11849, 3056,
+ 16705, 9701, 11849, 3336,
+ 16705, 9701, 11849, 6720,
+ 16705, 9701, 11849, 6742,
+ 16705, 9701, 11849, 8736,
+ 16705, 9701, 11849, 10854,
+ 16705, 9701, 11849, 11916,
+ 16705, 9701, 11849, 13376,
+ 16705, 9701, 11849, 13654,
+ 16705, 9809, 1213, 11502,
+ 16705, 9809, 2629, 12375, 10172,
+ 16705, 9809, 3177, 12463, 15652,
+ 16705, 9809, 3177, 12463, 15658,
+ 16705, 9809, 5266,
+ 16705, 9809, 9701, 3012,
+ 16705, 9809, 9701, 15652,
+ 16705, 9809, 9701, 15654,
+ 16705, 9809, 9701, 15658,
+ 16705, 9809, 9701, 15660,
+ 16705, 9809, 9701, 16073, 15652,
+ 16705, 9809, 9701, 16073, 15654,
+ 16705, 9809, 9701, 16073, 17867, 10172,
+ 16705, 9809, 13305, 16831, 15658,
+ 16705, 9809, 14831, 15650,
+ 16705, 9809, 14831, 15654,
+ 16705, 9809, 14935, 17044,
+ 16705, 9809, 15756,
+ 16705, 9809, 17044,
+ 16705, 9809, 17342,
+ 16705, 9809, 17367, 2737, 12375, 15650,
+ 16705, 9809, 17367, 2737, 12375, 15652,
+ 16705, 9809, 17367, 2737, 12375, 15654,
+ 16705, 9809, 17367, 2737, 12375, 15656,
+ 16705, 9809, 17367, 2737, 12375, 15658,
+ 16705, 9809, 17466,
+ 16705, 10173, 8283, 9685, 12375, 353, 2666,
+ 16705, 10173, 8283, 9685, 12375, 12206,
+ 16705, 11849, 2596,
+ 16705, 11849, 3056,
+ 16705, 11849, 3336,
+ 16705, 11849, 6720,
+ 16705, 11849, 6742,
+ 16705, 11849, 8736,
+ 16705, 11849, 10854,
+ 16705, 11849, 11916,
+ 16705, 11849, 13376,
+ 16705, 11849, 13654,
+ 16705, 13921, 9809, 8,
+ 16705, 13921, 9809, 9, 11346,
+ 16705, 13921, 9809, 16,
+ 16705, 13921, 9809, 40,
+ 16705, 13921, 9809, 58,
+ 16705, 13921, 9809, 72,
+ 16705, 13921, 9809, 306,
+ 16705, 13921, 9809, 674,
+ 16705, 13921, 9809, 2317, 28,
+ 16705, 13921, 9809, 2317, 306,
+ 16705, 13921, 9809, 6917, 12375, 16,
+ 16705, 13921, 9809, 9685, 12375, 214,
+ 16705, 13921, 9809, 9701, 8,
+ 16705, 13921, 9809, 9701, 9, 11346,
+ 16705, 13921, 9809, 9701, 58,
+ 16705, 13921, 9809, 9701, 12023, 48,
+ 16705, 13921, 9809, 10053, 58,
+ 16705, 13921, 9809, 11367, 0,
+ 16705, 13921, 9809, 11367, 72,
+ 16705, 13921, 9809, 12381, 40,
+ 16705, 13921, 9809, 12381, 184,
+ 16705, 13921, 9809, 12381, 480,
+ 16705, 13921, 9809, 17349, 22,
+ 16705, 13921, 9809, 17349, 34,
+ 16705, 13921, 9809, 17349, 394,
+ 16705, 13921, 9809, 17349, 580,
+ 16705, 13921, 9809, 17367, 2737, 12375, 214,
+ 16705, 13921, 9809, 17367, 2737, 12375, 654,
+ 16705, 14903, 0,
+ 16705, 14903, 8,
+ 16705, 14903, 16,
+ 16705, 14903, 28,
+ 16705, 14903, 40,
+ 16705, 14903, 94,
+ 16705, 14903, 106,
+ 16705, 14903, 124,
+ 16705, 14903, 148,
+ 16705, 14903, 244,
+ 16705, 14903, 266,
+ 16705, 14903, 306,
+ 16705, 14903, 334,
+ 16705, 14903, 348,
+ 16705, 14903, 382,
+ 16705, 14903, 414,
+ 16705, 14903, 446,
+ 16705, 14903, 520,
+ 16705, 14903, 570,
+ 16705, 14903, 586,
+ 16705, 14903, 620,
+ 16705, 14903, 674,
+ 16705, 14903, 692,
+ 16705, 14903, 732,
+ 16705, 14903, 930,
+ 16705, 14903, 1040,
+ 16705, 14903, 1138,
+ 16705, 14903, 1160,
+ 16705, 14903, 1486,
+ 16705, 14903, 1786,
+ 16705, 14903, 1904,
+ 16705, 14903, 2142,
+ 16705, 14903, 2317, 8,
+ 16705, 14903, 2317, 902,
+ 16705, 14903, 2317, 904,
+ 16705, 14903, 2317, 1786,
+ 16705, 14903, 2317, 2432,
+ 16705, 14903, 2432,
+ 16705, 14903, 2480,
+ 16705, 14903, 2544,
+ 16705, 14903, 2660,
+ 16705, 14903, 3030,
+ 16705, 14903, 3094,
+ 16705, 14903, 3177, 12463, 106,
+ 16705, 14903, 3177, 12463, 148,
+ 16705, 14903, 3177, 12463, 224,
+ 16705, 14903, 3177, 12463, 244,
+ 16705, 14903, 3177, 12463, 334,
+ 16705, 14903, 3177, 12463, 930,
+ 16705, 14903, 3177, 12463, 1138,
+ 16705, 14903, 3177, 12463, 1160,
+ 16705, 14903, 3177, 12463, 1486,
+ 16705, 14903, 3177, 12463, 1786,
+ 16705, 14903, 3177, 12463, 2142,
+ 16705, 14903, 3177, 12463, 2480,
+ 16705, 14903, 3177, 12463, 2544,
+ 16705, 14903, 3177, 12463, 6286,
+ 16705, 14903, 3222,
+ 16705, 14903, 3302,
+ 16705, 14903, 6286,
+ 16705, 14903, 8800,
+ 16705, 14903, 9685, 12375, 3030,
+ 16705, 14903, 9701, 0,
+ 16705, 14903, 9701, 106,
+ 16705, 14903, 9701, 124,
+ 16705, 14903, 9701, 148,
+ 16705, 14903, 9701, 224,
+ 16705, 14903, 9701, 244,
+ 16705, 14903, 9701, 266,
+ 16705, 14903, 9701, 348,
+ 16705, 14903, 9701, 446,
+ 16705, 14903, 9701, 750,
+ 16705, 14903, 9701, 930,
+ 16705, 14903, 9701, 1040,
+ 16705, 14903, 9701, 1486,
+ 16705, 14903, 9701, 1786,
+ 16705, 14903, 9701, 1904,
+ 16705, 14903, 9701, 2480,
+ 16705, 14903, 9701, 2544,
+ 16705, 14903, 9701, 2660,
+ 16705, 14903, 9701, 3222,
+ 16705, 14903, 9779, 16831, 1040,
+ 16705, 14903, 9779, 16831, 3030,
+ 16705, 14903, 10218,
+ 16705, 14903, 11367, 570,
+ 16705, 14903, 12171, 586,
+ 16705, 14903, 13305, 16831, 224,
+ 16705, 14903, 14831, 124,
+ 16705, 14903, 14831, 224,
+ 16705, 14903, 14831, 244,
+ 16705, 14903, 14831, 266,
+ 16705, 14903, 14831, 334,
+ 16705, 14903, 14831, 446,
+ 16705, 14903, 14831, 570,
+ 16705, 14903, 14831, 586,
+ 16705, 14903, 14831, 716,
+ 16705, 14903, 14831, 750,
+ 16705, 14903, 14831, 1040,
+ 16705, 14903, 14831, 1138,
+ 16705, 14903, 14831, 1160,
+ 16705, 14903, 14831, 1612,
+ 16705, 14903, 14831, 1786,
+ 16705, 14903, 14831, 2544,
+ 16705, 14903, 14831, 3302,
+ 16705, 14903, 14831, 6286,
+ 16705, 14903, 14831, 10218,
+ 16705, 14903, 16231, 2737, 12375, 2480,
+ 16705, 14903, 16231, 2737, 12375, 3738,
+ 16705, 14903, 16231, 2737, 12375, 6988,
+ 16705, 14903, 17349, 22,
+ 16705, 14903, 17349, 34,
+ 16705, 14903, 17349, 394,
+ 16705, 14903, 17349, 580,
+ 16705, 14903, 17367, 2737, 12375, 2730,
+ 16705, 14903, 17367, 2737, 12375, 3222,
+ 16705, 15565, 9701, 2596,
+ 16705, 15565, 9701, 20468,
+ 16705, 15565, 11367, 2596,
+ 16705, 15565, 11367, 3336,
+ 16705, 15565, 11367, 20468,
+ 16705, 15565, 17942,
+ 16705, 15565, 18084,
+ 16705, 15565, 18820,
+ 16705, 15565, 21232,
+ 16705, 18087, 14831, 278,
+ 16705, 18087, 14831, 560,
+ 16705, 18087, 14831, 2574,
+ 16705, 18147, 14903, 9701, 21180,
+ 16705, 18147, 14903, 14831, 21180,
+ 16705, 18831, 9809, 2317, 14995, 382,
+ 16705, 18831, 9809, 2317, 14995, 414,
+ 16705, 18831, 9809, 2317, 14995, 446,
+ 16705, 18831, 9809, 9701, 14995, 692,
+ 16705, 18831, 9809, 14995, 266,
+ 16705, 18831, 9809, 14995, 570,
+ 16705, 18831, 9809, 14995, 692,
+ 16705, 18831, 9809, 14995, 732,
+ 16714,
+ 16717, 14533, 18669, 895, 14533, 13271, 19610,
+ 16719, 1, 15543, 483, 2497, 11943, 632,
+ 16719, 1, 18511, 483, 2497, 11943, 632,
+ 16719, 19215, 2497, 11943, 632,
+ 16719, 19215, 2497, 19919, 632,
+ 16719, 19215, 2497, 20876,
+ 16719, 20877, 2497, 11943, 632,
+ 16719, 20877, 2497, 19214,
+ 16719, 20877, 2497, 19919, 632,
+ 16719, 21059, 2497, 17441, 11943, 632,
+ 16720,
+ 16725, 6682,
+ 16727, 7778,
+ 16727, 13270,
+ 16759, 11849, 15424,
+ 16761, 7779, 20173, 10595, 13655, 6402,
+ 16761, 12525, 21389, 13965, 20163, 11428,
+ 16761, 13271, 20173, 10595, 13655, 6402,
+ 16761, 13807, 21389, 13965, 20163, 11428,
+ 16783, 11399, 16805, 668,
+ 16783, 11399, 16805, 6406,
+ 16790,
+ 16807, 6378,
+ 16807, 6379, 7378,
+ 16811, 11849, 2596,
+ 16811, 11849, 3056,
+ 16811, 11849, 3336,
+ 16811, 11849, 6720,
+ 16811, 11849, 6742,
+ 16811, 11849, 8736,
+ 16811, 11849, 10854,
+ 16811, 11849, 11916,
+ 16811, 11849, 13376,
+ 16811, 11849, 13654,
+ 16811, 14903, 0,
+ 16811, 14903, 8,
+ 16811, 14903, 16,
+ 16811, 14903, 28,
+ 16811, 14903, 40,
+ 16811, 14903, 58,
+ 16811, 14903, 106,
+ 16811, 14903, 184,
+ 16811, 14903, 224,
+ 16811, 14903, 244,
+ 16811, 14903, 266,
+ 16811, 14903, 334,
+ 16811, 14903, 496,
+ 16811, 14903, 570,
+ 16811, 14903, 586,
+ 16811, 14903, 620,
+ 16811, 14903, 716,
+ 16811, 14903, 732,
+ 16811, 14903, 1160,
+ 16811, 14903, 1904,
+ 16811, 14903, 3508,
+ 16811, 14903, 5220,
+ 16811, 14903, 5954,
+ 16811, 14903, 6326,
+ 16811, 14903, 7522,
+ 16811, 14903, 7738,
+ 16811, 14903, 8396,
+ 16811, 14903, 8890,
+ 16811, 14903, 9298,
+ 16811, 14903, 13416,
+ 16818,
+ 16822,
+ 16857, 20828,
+ 16866,
+ 16871, 6682,
+ 16873, 9808,
+ 16901, 9808,
+ 16909, 5943, 793, 483, 11698,
+ 16909, 5943, 793, 483, 14730,
+ 16909, 5943, 793, 483, 15488,
+ 16909, 5943, 793, 483, 17690,
+ 16909, 5943, 2879, 12354,
+ 16909, 5943, 3057, 483, 11698,
+ 16909, 5943, 3057, 483, 14730,
+ 16909, 5943, 3057, 483, 15488,
+ 16909, 5943, 3057, 483, 17690,
+ 16909, 5943, 3213, 483, 11698,
+ 16909, 5943, 3213, 483, 14730,
+ 16909, 5943, 3213, 483, 15488,
+ 16909, 5943, 3213, 483, 17690,
+ 16909, 5943, 3337, 483, 11698,
+ 16909, 5943, 3337, 483, 14730,
+ 16909, 5943, 3337, 483, 15488,
+ 16909, 5943, 3337, 483, 17690,
+ 16909, 5943, 5692,
+ 16909, 5943, 6721, 483, 11698,
+ 16909, 5943, 6721, 483, 14730,
+ 16909, 5943, 6721, 483, 15488,
+ 16909, 5943, 6721, 483, 17690,
+ 16909, 5943, 6734,
+ 16909, 5943, 6743, 483, 11698,
+ 16909, 5943, 6743, 483, 14730,
+ 16909, 5943, 6743, 483, 15488,
+ 16909, 5943, 6743, 483, 17690,
+ 16909, 5943, 7421, 483, 11698,
+ 16909, 5943, 7421, 483, 14730,
+ 16909, 5943, 7421, 483, 15488,
+ 16909, 5943, 7421, 483, 17690,
+ 16909, 5943, 7635, 483, 11698,
+ 16909, 5943, 7635, 483, 14730,
+ 16909, 5943, 7635, 483, 15488,
+ 16909, 5943, 7635, 483, 17690,
+ 16909, 5943, 8737, 483, 11698,
+ 16909, 5943, 8737, 483, 14730,
+ 16909, 5943, 8737, 483, 15488,
+ 16909, 5943, 8737, 483, 17690,
+ 16909, 5943, 11521, 12354,
+ 16909, 5943, 11917, 483, 11698,
+ 16909, 5943, 11917, 483, 14730,
+ 16909, 5943, 11917, 483, 15488,
+ 16909, 5943, 11917, 483, 17690,
+ 16909, 5943, 13219, 483, 11698,
+ 16909, 5943, 13219, 483, 14730,
+ 16909, 5943, 13219, 483, 15488,
+ 16909, 5943, 13219, 483, 17690,
+ 16909, 5943, 13377, 483, 11698,
+ 16909, 5943, 13377, 483, 14730,
+ 16909, 5943, 13377, 483, 15488,
+ 16909, 5943, 13377, 483, 17690,
+ 16909, 5943, 13655, 483, 11698,
+ 16909, 5943, 13655, 483, 14730,
+ 16909, 5943, 13655, 483, 15488,
+ 16909, 5943, 13655, 483, 17690,
+ 16909, 5943, 13965, 12354,
+ 16909, 5943, 14855, 483, 11698,
+ 16909, 5943, 14855, 483, 14730,
+ 16909, 5943, 14855, 483, 15488,
+ 16909, 5943, 14855, 483, 17690,
+ 16909, 5943, 17268,
+ 16909, 5943, 17270,
+ 16909, 5943, 17272,
+ 16909, 5943, 17274,
+ 16909, 5943, 17276,
+ 16909, 5943, 17278,
+ 16909, 5943, 17280,
+ 16909, 5943, 17282,
+ 16909, 5943, 17284,
+ 16909, 5943, 18606,
+ 16909, 5943, 18608,
+ 16909, 5943, 18610,
+ 16909, 5943, 18612,
+ 16909, 5943, 18614,
+ 16909, 5943, 18616,
+ 16909, 5943, 18618,
+ 16909, 5943, 18620,
+ 16909, 5943, 18622,
+ 16909, 5943, 18624,
+ 16909, 5943, 18626,
+ 16909, 5943, 18628,
+ 16916,
+ 16920,
+ 16923, 13949, 15564,
+ 16925, 2096,
+ 16927, 1015, 6682,
+ 16927, 6682,
+ 16938,
+ 16939, 7378,
+ 16945, 16827, 6743, 6403, 10595, 1212,
+ 16945, 16827, 6743, 6403, 10595, 11718,
+ 16945, 16827, 14903, 268,
+ 16945, 16827, 14903, 526,
+ 16945, 16827, 14903, 2524,
+ 16945, 16827, 14903, 3200,
+ 16945, 16827, 14903, 5790,
+ 16945, 16827, 14903, 7120,
+ 16945, 16827, 14903, 7558,
+ 16945, 16827, 14903, 9730,
+ 16945, 16827, 14903, 10764,
+ 16945, 16827, 14903, 11376,
+ 16945, 16827, 14903, 12142,
+ 16945, 16827, 14903, 13330,
+ 16945, 16827, 14903, 14112,
+ 16945, 16827, 14903, 14454,
+ 16945, 16827, 14903, 14882,
+ 16945, 16827, 14903, 15370,
+ 16945, 16827, 14903, 18128,
+ 16945, 16827, 14903, 21224,
+ 16945, 16827, 15133, 2596,
+ 16945, 16827, 15133, 2597, 16378,
+ 16945, 16827, 15133, 3212,
+ 16945, 16827, 15133, 3336,
+ 16945, 16827, 15133, 6742,
+ 16945, 16827, 15133, 13654,
+ 16945, 16827, 15133, 15708,
+ 16945, 16827, 15701, 17045, 8282,
+ 16945, 16827, 17045, 8282,
+ 16952,
+ 16955, 8808,
+ 16959, 15565, 14306,
+ 16961, 1012,
+ 16961, 13724,
+ 16962,
+ 16991, 12499, 6743, 16913, 18287, 9904,
+ 16991, 13677, 18215, 11347, 19213, 11428,
+ 16991, 13677, 18215, 11347, 20163, 11428,
+ 16991, 16017, 11534,
+ 16991, 17118,
+ 16991, 17119, 10595, 19973, 15534,
+ 16991, 17119, 18214,
+ 16991, 17119, 19343, 15542,
+ 16995, 5780,
+ 16999, 13575, 15278,
+ 17002,
+ 17004,
+ 17007, 12213, 11521, 12211, 14330,
+ 17007, 12499, 6743, 16913, 11521, 6094,
+ 17007, 13965, 6743, 16913, 6094,
+ 17007, 14631, 12211, 14330,
+ 17007, 15993, 32,
+ 17012,
+ 17015, 13421, 10595, 9658,
+ 17022,
+ 17040,
+ 17045, 9808,
+ 17046,
+ 17051, 8282,
+ 17060,
+ 17069, 492,
+ 17069, 6536,
+ 17069, 9809, 12986,
+ 17069, 9809, 15756,
+ 17069, 9809, 17082,
+ 17069, 9809, 17342,
+ 17069, 9809, 17466,
+ 17069, 9809, 17506,
+ 17069, 9809, 20336,
+ 17069, 9809, 20540,
+ 17069, 9809, 20756,
+ 17069, 11798,
+ 17069, 11849, 2596,
+ 17069, 11849, 3056,
+ 17069, 11849, 3336,
+ 17069, 11849, 6720,
+ 17069, 11849, 6742,
+ 17069, 11849, 8736,
+ 17069, 11849, 10854,
+ 17069, 11849, 11916,
+ 17069, 11849, 13376,
+ 17069, 11849, 13654,
+ 17069, 11973, 13431, 13921, 8282,
+ 17069, 13569, 8282,
+ 17069, 13921, 9809, 8,
+ 17069, 13921, 9809, 16,
+ 17069, 13921, 9809, 28,
+ 17069, 13921, 9809, 40,
+ 17069, 13921, 9809, 58,
+ 17069, 13921, 9809, 72,
+ 17069, 13921, 9809, 94,
+ 17069, 13921, 9809, 306,
+ 17069, 13921, 9809, 674,
+ 17069, 13921, 9809, 17349, 22,
+ 17069, 13921, 9809, 17349, 34,
+ 17069, 13921, 9809, 17349, 394,
+ 17069, 13921, 9809, 17349, 580,
+ 17069, 13921, 18147, 8282,
+ 17069, 14533, 11798,
+ 17069, 14903, 0,
+ 17069, 14903, 8,
+ 17069, 14903, 16,
+ 17069, 14903, 28,
+ 17069, 14903, 40,
+ 17069, 14903, 58,
+ 17069, 14903, 72,
+ 17069, 14903, 94,
+ 17069, 14903, 106,
+ 17069, 14903, 124,
+ 17069, 14903, 148,
+ 17069, 14903, 244,
+ 17069, 14903, 266,
+ 17069, 14903, 306,
+ 17069, 14903, 334,
+ 17069, 14903, 348,
+ 17069, 14903, 382,
+ 17069, 14903, 414,
+ 17069, 14903, 446,
+ 17069, 14903, 520,
+ 17069, 14903, 570,
+ 17069, 14903, 586,
+ 17069, 14903, 620,
+ 17069, 14903, 674,
+ 17069, 14903, 678,
+ 17069, 14903, 732,
+ 17069, 14903, 930,
+ 17069, 14903, 1040,
+ 17069, 14903, 1138,
+ 17069, 14903, 1160,
+ 17069, 14903, 1486,
+ 17069, 14903, 1786,
+ 17069, 14903, 1904,
+ 17069, 14903, 2142,
+ 17069, 14903, 2432,
+ 17069, 14903, 2480,
+ 17069, 14903, 2544,
+ 17069, 14903, 2660,
+ 17069, 14903, 3030,
+ 17069, 14903, 3094,
+ 17069, 14903, 3222,
+ 17069, 14903, 3302,
+ 17069, 14903, 6286,
+ 17069, 14903, 10218,
+ 17069, 14903, 17349, 22,
+ 17069, 14903, 17349, 34,
+ 17069, 14903, 17349, 394,
+ 17069, 14903, 17349, 580,
+ 17069, 15379, 8282,
+ 17069, 17045, 14968,
+ 17069, 17045, 14970,
+ 17069, 19420,
+ 17069, 19958,
+ 17069, 20771, 9808,
+ 17069, 20821, 9808,
+ 17071, 14903, 70,
+ 17071, 14903, 300,
+ 17071, 14903, 494,
+ 17071, 14903, 502,
+ 17071, 14903, 600,
+ 17071, 14903, 668,
+ 17071, 14903, 796,
+ 17071, 14903, 820,
+ 17071, 14903, 826,
+ 17071, 14903, 858,
+ 17071, 14903, 862,
+ 17071, 14903, 870,
+ 17071, 14903, 940,
+ 17071, 14903, 1260,
+ 17071, 14903, 1262,
+ 17071, 14903, 1274,
+ 17071, 14903, 1308,
+ 17071, 14903, 1358,
+ 17071, 14903, 1430,
+ 17071, 14903, 1728,
+ 17071, 14903, 1730,
+ 17071, 14903, 2524,
+ 17071, 14903, 2572,
+ 17071, 14903, 2590,
+ 17071, 14903, 2618,
+ 17071, 14903, 3278,
+ 17071, 14903, 3470,
+ 17071, 14903, 3534,
+ 17071, 14903, 3668,
+ 17071, 14903, 3680,
+ 17071, 14903, 3818,
+ 17071, 14903, 6324,
+ 17071, 14903, 7286,
+ 17071, 14903, 7628,
+ 17071, 14903, 7842,
+ 17071, 14903, 8400,
+ 17071, 14903, 9124,
+ 17071, 14903, 9184,
+ 17071, 14903, 9466,
+ 17071, 14903, 9936,
+ 17071, 14903, 10112,
+ 17071, 14903, 10600,
+ 17071, 14903, 11426,
+ 17071, 14903, 12186,
+ 17071, 14903, 12356,
+ 17071, 14903, 13644,
+ 17071, 14903, 14392,
+ 17071, 14903, 16662,
+ 17081, 16942,
+ 17083, 1293, 483, 10087, 8282,
+ 17083, 9809, 12986,
+ 17083, 9809, 15756,
+ 17083, 9809, 17082,
+ 17083, 9809, 17342,
+ 17083, 9809, 17466,
+ 17083, 9809, 20336,
+ 17083, 11798,
+ 17083, 13921, 9809, 8,
+ 17083, 13921, 9809, 16,
+ 17083, 13921, 9809, 28,
+ 17083, 13921, 9809, 40,
+ 17083, 13921, 9809, 58,
+ 17083, 13921, 9809, 72,
+ 17083, 13921, 9809, 94,
+ 17083, 13921, 9809, 306,
+ 17083, 13921, 9809, 674,
+ 17083, 13921, 9809, 17349, 34,
+ 17083, 13921, 9809, 17349, 580,
+ 17083, 13921, 9809, 18713, 40,
+ 17083, 13921, 9809, 18713, 674,
+ 17083, 14533, 11798,
+ 17083, 14903, 0,
+ 17083, 14903, 8,
+ 17083, 14903, 16,
+ 17083, 14903, 28,
+ 17083, 14903, 40,
+ 17083, 14903, 58,
+ 17083, 14903, 72,
+ 17083, 14903, 94,
+ 17083, 14903, 106,
+ 17083, 14903, 124,
+ 17083, 14903, 148,
+ 17083, 14903, 244,
+ 17083, 14903, 266,
+ 17083, 14903, 306,
+ 17083, 14903, 334,
+ 17083, 14903, 348,
+ 17083, 14903, 382,
+ 17083, 14903, 414,
+ 17083, 14903, 446,
+ 17083, 14903, 520,
+ 17083, 14903, 570,
+ 17083, 14903, 586,
+ 17083, 14903, 620,
+ 17083, 14903, 674,
+ 17083, 14903, 678,
+ 17083, 14903, 732,
+ 17083, 14903, 930,
+ 17083, 14903, 1040,
+ 17083, 14903, 1138,
+ 17083, 14903, 1160,
+ 17083, 14903, 1486,
+ 17083, 14903, 1786,
+ 17083, 14903, 1904,
+ 17083, 14903, 2432,
+ 17083, 14903, 2480,
+ 17083, 14903, 2544,
+ 17083, 14903, 2660,
+ 17083, 14903, 3030,
+ 17083, 14903, 3094,
+ 17083, 14903, 3222,
+ 17083, 14903, 3302,
+ 17083, 14903, 6286,
+ 17083, 14903, 10218,
+ 17083, 14903, 17349, 22,
+ 17083, 14903, 17349, 34,
+ 17083, 14903, 17349, 394,
+ 17083, 14903, 17349, 580,
+ 17083, 14903, 18713, 40,
+ 17083, 14903, 20283, 18713, 16,
+ 17083, 14903, 20283, 18713, 306,
+ 17083, 14903, 21021, 18713, 16,
+ 17083, 17045, 8283, 10595, 9429, 841, 14531, 14533, 18842,
+ 17083, 17045, 8283, 10595, 9429, 841, 14531, 15671, 18842,
+ 17083, 17045, 8283, 10595, 9429, 841, 14531, 18842,
+ 17083, 17045, 8283, 10595, 14533, 18842,
+ 17083, 17045, 8283, 10595, 15671, 18842,
+ 17083, 17045, 8283, 10595, 16037, 841, 3337, 19902,
+ 17083, 17045, 8283, 10595, 16037, 841, 6743, 19902,
+ 17083, 17045, 8283, 10595, 16037, 841, 9428,
+ 17083, 17045, 8283, 10595, 17259, 841, 14531, 18842,
+ 17083, 17045, 8283, 10595, 17259, 841, 18647, 19292,
+ 17083, 17045, 8283, 10595, 18405, 18842,
+ 17083, 17045, 8283, 10595, 19355, 18842,
+ 17083, 17045, 8283, 14533, 9456,
+ 17083, 17045, 8283, 14533, 9457, 10595, 9428,
+ 17083, 19421, 894,
+ 17083, 19421, 1212,
+ 17083, 20147, 14968,
+ 17083, 20147, 14970,
+ 17083, 20147, 14972,
+ 17087, 503, 19214,
+ 17087, 503, 20876,
+ 17087, 11347, 19215, 11347, 14555, 9808,
+ 17087, 11347, 20877, 11347, 14555, 9808,
+ 17087, 12675, 17086,
+ 17091, 7833, 11849, 2596,
+ 17091, 7833, 11849, 3056,
+ 17091, 7833, 11849, 3336,
+ 17091, 7833, 11849, 6720,
+ 17091, 7833, 11849, 6742,
+ 17091, 7833, 11849, 8736,
+ 17091, 7833, 11849, 10854,
+ 17091, 7833, 11849, 11916,
+ 17091, 7833, 11849, 13376,
+ 17091, 7833, 11849, 13654,
+ 17091, 9809, 18708,
+ 17091, 9809, 19632,
+ 17091, 9809, 19670,
+ 17091, 13921, 9809, 6373, 16464,
+ 17091, 13921, 9809, 6373, 18022,
+ 17091, 13921, 9809, 6373, 19296,
+ 17091, 13921, 9809, 6373, 19652,
+ 17091, 13921, 9809, 6373, 20484,
+ 17091, 13921, 9809, 6373, 20870,
+ 17091, 13921, 9809, 12397, 18022,
+ 17091, 13921, 9809, 12397, 19296,
+ 17091, 13921, 9809, 12397, 19652,
+ 17091, 13921, 9809, 12427, 6332,
+ 17091, 13921, 9809, 16464,
+ 17091, 13921, 9809, 16465, 1573, 6373, 19654,
+ 17091, 13921, 9809, 16465, 1573, 19654,
+ 17091, 13921, 9809, 16465, 1573, 20484,
+ 17091, 13921, 9809, 19654,
+ 17091, 13921, 9809, 20484,
+ 17091, 13921, 9809, 20870,
+ 17091, 14903, 5237, 15932,
+ 17091, 14903, 14248,
+ 17091, 14903, 14566,
+ 17091, 14903, 14788,
+ 17091, 14903, 15180,
+ 17091, 14903, 15740,
+ 17091, 14903, 15836,
+ 17091, 14903, 15850,
+ 17091, 14903, 15862,
+ 17091, 14903, 15904,
+ 17091, 14903, 16103, 16580,
+ 17091, 14903, 16103, 16712,
+ 17091, 14903, 16103, 17034,
+ 17091, 14903, 16234,
+ 17091, 14903, 16272,
+ 17091, 14903, 16360,
+ 17091, 14903, 16388,
+ 17091, 14903, 16431, 20064,
+ 17091, 14903, 16656,
+ 17091, 14903, 16802,
+ 17091, 14903, 16972,
+ 17091, 14903, 17027, 16108,
+ 17091, 14903, 17027, 16310,
+ 17091, 14903, 17027, 16418,
+ 17091, 14903, 17027, 17670,
+ 17091, 14903, 17195, 17034,
+ 17091, 14903, 17195, 18387, 20594,
+ 17091, 14903, 17195, 20064,
+ 17091, 14903, 17322,
+ 17091, 14903, 17330,
+ 17091, 14903, 17388,
+ 17091, 14903, 17442,
+ 17091, 14903, 17994,
+ 17091, 14903, 18020,
+ 17091, 14903, 19152,
+ 17091, 14903, 19172,
+ 17091, 14903, 19263, 16580,
+ 17091, 14903, 19263, 16712,
+ 17091, 14903, 19263, 17034,
+ 17091, 14903, 19661, 15932,
+ 17091, 14903, 19661, 16000,
+ 17091, 14903, 19661, 16108,
+ 17091, 14903, 19661, 16310,
+ 17091, 14903, 19661, 16418,
+ 17091, 14903, 19661, 16438,
+ 17091, 14903, 19661, 16860,
+ 17091, 14903, 19661, 17208,
+ 17091, 14903, 19661, 17670,
+ 17091, 14903, 19661, 18632,
+ 17091, 14903, 20559, 15932,
+ 17091, 14903, 20559, 16000,
+ 17091, 14903, 20559, 16108,
+ 17091, 14903, 20559, 16310,
+ 17091, 14903, 20559, 16418,
+ 17091, 14903, 20559, 16438,
+ 17091, 14903, 20559, 16860,
+ 17091, 14903, 20559, 17208,
+ 17091, 14903, 20559, 17670,
+ 17091, 14903, 20559, 18632,
+ 17091, 15895, 11849, 2596,
+ 17091, 15895, 11849, 3056,
+ 17091, 15895, 11849, 3336,
+ 17091, 15895, 11849, 6720,
+ 17091, 15895, 11849, 6742,
+ 17091, 15895, 11849, 8736,
+ 17091, 15895, 11849, 11916,
+ 17091, 15895, 11849, 13376,
+ 17091, 15895, 11849, 13654,
+ 17091, 15895, 15133, 2597, 16378,
+ 17091, 15895, 15133, 2597, 18566,
+ 17091, 15895, 15133, 3212,
+ 17091, 15895, 15133, 12018,
+ 17091, 15895, 15133, 12046,
+ 17091, 15895, 15133, 13460,
+ 17091, 15895, 15133, 14544,
+ 17091, 15895, 15133, 15094,
+ 17091, 15895, 15133, 15626,
+ 17091, 15895, 15133, 15708,
+ 17091, 15895, 15133, 17056,
+ 17091, 20659, 20002,
+ 17097, 16913, 17496,
+ 17101, 11943, 633, 503, 19214,
+ 17101, 11943, 633, 503, 19215, 10595, 1213, 14778,
+ 17101, 11943, 633, 503, 20876,
+ 17101, 11943, 633, 503, 20877, 10595, 1213, 14778,
+ 17101, 12907, 11429, 10595, 14755, 7102,
+ 17101, 12907, 11429, 10595, 19973, 10046,
+ 17105, 12473, 502,
+ 17105, 12473, 840,
+ 17107, 10098,
+ 17107, 10099, 503, 11943, 632,
+ 17109, 1015, 6683, 10595, 9127, 12698,
+ 17109, 1015, 6683, 10595, 20885, 6568,
+ 17109, 6683, 10595, 7088,
+ 17109, 6683, 10595, 9127, 12698,
+ 17109, 6683, 10595, 9127, 12699, 841, 6067, 13572,
+ 17109, 6683, 10595, 9127, 12699, 841, 17109, 6568,
+ 17109, 6683, 10595, 9127, 12699, 841, 21401, 6568,
+ 17109, 6683, 10595, 12264,
+ 17109, 6683, 10595, 17109, 6568,
+ 17109, 6683, 10595, 20242,
+ 17109, 6683, 10595, 20885, 6568,
+ 17111, 15564,
+ 17112,
+ 17113, 17377, 9840,
+ 17118,
+ 17119, 10595, 16816,
+ 17124,
+ 17126,
+ 17127, 10595, 2597, 13499, 10574,
+ 17127, 10595, 13655, 13499, 13952,
+ 17127, 10595, 20813, 15534,
+ 17139, 136,
+ 17139, 286,
+ 17139, 296,
+ 17139, 440,
+ 17139, 454,
+ 17139, 488,
+ 17139, 588,
+ 17139, 606,
+ 17139, 669, 10595, 20469, 8282,
+ 17139, 686,
+ 17139, 696,
+ 17139, 1069, 17311, 21256,
+ 17139, 1069, 17311, 21258,
+ 17139, 1069, 17311, 21260,
+ 17139, 1069, 17311, 21262,
+ 17139, 1069, 17311, 21264,
+ 17139, 1069, 17311, 21266,
+ 17139, 1069, 17311, 21268,
+ 17139, 1069, 17311, 21270,
+ 17139, 1069, 17311, 21272,
+ 17139, 1069, 17311, 21276,
+ 17139, 1069, 17311, 21278,
+ 17139, 1069, 17311, 21280,
+ 17139, 1069, 17311, 21282,
+ 17139, 1069, 17311, 21284,
+ 17139, 1069, 17311, 21286,
+ 17139, 1069, 17311, 21288,
+ 17139, 1069, 17311, 21290,
+ 17139, 1069, 17311, 21292,
+ 17139, 1069, 17311, 21296,
+ 17139, 1069, 17311, 21298,
+ 17139, 1069, 17311, 21300,
+ 17139, 1069, 17311, 21302,
+ 17139, 1069, 17311, 21304,
+ 17139, 1069, 17311, 21306,
+ 17139, 1069, 17311, 21308,
+ 17139, 1069, 17311, 21312,
+ 17139, 1069, 17311, 21314,
+ 17139, 1069, 17311, 21316,
+ 17139, 1069, 17311, 21318,
+ 17139, 1069, 17311, 21320,
+ 17139, 1069, 17311, 21324,
+ 17139, 1069, 17311, 21326,
+ 17139, 1069, 17311, 21330,
+ 17139, 1069, 17311, 21332,
+ 17139, 1069, 17311, 21334,
+ 17139, 1069, 17311, 21338,
+ 17139, 1069, 17311, 21340,
+ 17139, 1069, 17311, 21342,
+ 17139, 1069, 17311, 21344,
+ 17139, 1069, 17311, 21346,
+ 17139, 1069, 17311, 21348,
+ 17139, 1069, 17311, 21350,
+ 17139, 1213, 18214,
+ 17139, 1902,
+ 17139, 2428,
+ 17139, 2704,
+ 17139, 3080,
+ 17139, 6072,
+ 17139, 6743, 1213, 20658,
+ 17139, 6744,
+ 17139, 9242,
+ 17139, 12477, 15993, 14903, 0,
+ 17139, 12477, 15993, 14903, 2,
+ 17139, 12477, 15993, 14903, 4,
+ 17139, 12477, 15993, 14903, 6,
+ 17139, 12477, 15993, 14903, 8,
+ 17139, 12477, 15993, 14903, 10,
+ 17139, 12477, 15993, 14903, 12,
+ 17139, 12477, 15993, 14903, 14,
+ 17139, 12477, 15993, 14903, 16,
+ 17139, 12477, 15993, 14903, 18,
+ 17139, 12477, 15993, 14903, 20,
+ 17139, 12477, 15993, 14903, 22,
+ 17139, 12477, 15993, 14903, 24,
+ 17139, 12477, 15993, 14903, 26,
+ 17139, 12477, 15993, 14903, 28,
+ 17139, 12477, 15993, 14903, 30,
+ 17139, 12477, 15993, 14903, 32,
+ 17139, 12477, 15993, 14903, 34,
+ 17139, 12477, 15993, 14903, 36,
+ 17139, 12477, 15993, 14903, 38,
+ 17139, 12477, 15993, 14903, 40,
+ 17139, 12477, 15993, 14903, 42,
+ 17139, 12477, 15993, 14903, 44,
+ 17139, 12477, 15993, 14903, 46,
+ 17139, 12477, 15993, 14903, 48,
+ 17139, 12477, 15993, 14903, 50,
+ 17139, 12674,
+ 17139, 13483, 14396,
+ 17139, 13682,
+ 17139, 15347, 17687, 13468,
+ 17139, 15512,
+ 17139, 16269, 17687, 13468,
+ 17139, 16603, 502,
+ 17139, 16603, 840,
+ 17139, 17022,
+ 17139, 17496,
+ 17139, 18041, 154,
+ 17139, 18041, 586,
+ 17139, 18041, 7648,
+ 17144,
+ 17147, 17870,
+ 17152,
+ 17176,
+ 17177, 9131, 19258,
+ 17179, 18010,
+ 17182,
+ 17190,
+ 17192,
+ 17199, 9809, 15756,
+ 17199, 13921, 9809, 16,
+ 17199, 13921, 9809, 40,
+ 17199, 14903, 0,
+ 17199, 14903, 16,
+ 17199, 14903, 40,
+ 17199, 14903, 106,
+ 17199, 14903, 148,
+ 17199, 14903, 244,
+ 17199, 14903, 266,
+ 17199, 14903, 348,
+ 17199, 14903, 382,
+ 17199, 14903, 414,
+ 17199, 14903, 446,
+ 17199, 14903, 520,
+ 17199, 14903, 586,
+ 17199, 14903, 620,
+ 17199, 14903, 692,
+ 17199, 14903, 732,
+ 17199, 14903, 2432,
+ 17227, 15916,
+ 17229, 20739, 19213, 20467, 18728,
+ 17229, 20739, 20163, 18728,
+ 17229, 20739, 20163, 20467, 18728,
+ 17229, 20919, 19029, 20467, 18728,
+ 17229, 21191, 17319, 20467, 18728,
+ 17229, 21243, 20163, 18728,
+ 17233, 11697, 841, 9420,
+ 17235, 369, 583, 1904,
+ 17235, 369, 583, 1905, 5873, 2295, 1008,
+ 17235, 8283, 843, 12403, 7054,
+ 17235, 8283, 843, 12403, 7060,
+ 17235, 8283, 1043, 2282,
+ 17235, 8283, 1539, 13295, 7054,
+ 17235, 8283, 1539, 13295, 7060,
+ 17235, 8283, 2903, 6001, 15511, 9696,
+ 17235, 8283, 3289, 10982,
+ 17235, 8283, 3687, 2283, 13749, 9697, 414,
+ 17235, 8283, 5813, 9743, 255, 2283, 13264,
+ 17235, 8283, 5813, 9743, 3687, 2282,
+ 17235, 8283, 7027, 3687, 2283, 765, 7027, 13749, 414,
+ 17235, 8283, 7027, 3687, 2283, 765, 9465, 5767, 414,
+ 17235, 8283, 7027, 3687, 2283, 19607, 0,
+ 17235, 8283, 7027, 13748,
+ 17235, 8283, 8671, 11577, 2551, 3814,
+ 17235, 8283, 8671, 11577, 9687, 13294,
+ 17235, 8283, 8927, 9696,
+ 17235, 8283, 8927, 13748,
+ 17235, 8283, 8927, 13749, 9696,
+ 17235, 8283, 9447, 7023, 9696,
+ 17235, 8283, 9696,
+ 17235, 8283, 11557, 13294,
+ 17235, 8283, 11559, 9743, 255, 2283, 13264,
+ 17235, 8283, 11561, 3687, 2282,
+ 17235, 8283, 11601, 3687, 2283, 9207, 9697, 414,
+ 17235, 8283, 11601, 10981, 13295, 423, 7845, 1008,
+ 17235, 8283, 11601, 10981, 13295, 5873, 2295, 1008,
+ 17235, 8283, 12681, 3687, 255, 2283, 13264,
+ 17235, 8283, 13357, 9696,
+ 17235, 8283, 13749, 9696,
+ 17235, 8283, 15194,
+ 17235, 8283, 16043, 3687, 2283, 9683, 414,
+ 17235, 8283, 16043, 5843, 15351, 3687, 2283, 9683, 414,
+ 17235, 8283, 16344,
+ 17235, 8283, 16401, 3687, 2283, 8313, 414,
+ 17235, 8283, 16401, 5843, 15351, 3687, 2283, 8313, 414,
+ 17235, 8283, 16583, 12615, 13294,
+ 17235, 8283, 18591, 12615, 13294,
+ 17235, 8283, 18863, 13749, 11562,
+ 17235, 8283, 21121, 13748,
+ 17235, 9809, 1531, 1009, 16992,
+ 17235, 9809, 1531, 2265, 16992,
+ 17235, 9809, 2089, 3289, 1008,
+ 17235, 9809, 2091, 13294,
+ 17235, 9809, 2239, 13750,
+ 17235, 9809, 2551, 3815, 2375, 148,
+ 17235, 9809, 3065, 7770,
+ 17235, 9809, 3653, 13750,
+ 17235, 9809, 8311, 1008,
+ 17235, 9809, 9431, 2379, 6908,
+ 17235, 9809, 9431, 2379, 7024,
+ 17235, 9809, 9431, 2379, 9431, 6384,
+ 17235, 9809, 9431, 2379, 12154,
+ 17235, 9809, 9431, 6385, 6908,
+ 17235, 9809, 9431, 6385, 7024,
+ 17235, 9809, 9431, 6385, 9431, 2378,
+ 17235, 9809, 9431, 6385, 12154,
+ 17235, 9809, 9463, 611, 2433, 578,
+ 17235, 9809, 9465, 5766,
+ 17235, 9809, 10705, 13294,
+ 17235, 9809, 18017, 8311, 1008,
+ 17235, 11849, 2596,
+ 17235, 11849, 3056,
+ 17235, 11849, 3336,
+ 17235, 11849, 6720,
+ 17235, 11849, 6742,
+ 17235, 11849, 7087, 2596,
+ 17235, 11849, 7087, 3056,
+ 17235, 11849, 7087, 3336,
+ 17235, 11849, 7087, 6720,
+ 17235, 11849, 7087, 6742,
+ 17235, 11849, 7087, 8736,
+ 17235, 11849, 7087, 10854,
+ 17235, 11849, 7087, 11916,
+ 17235, 11849, 7087, 13376,
+ 17235, 11849, 7087, 13654,
+ 17235, 11849, 8736,
+ 17235, 11849, 10854,
+ 17235, 11849, 11916,
+ 17235, 11849, 13376,
+ 17235, 11849, 13654,
+ 17235, 13921, 9809, 8,
+ 17235, 13921, 9809, 16,
+ 17235, 13921, 9809, 28,
+ 17235, 13921, 9809, 40,
+ 17235, 13921, 9809, 58,
+ 17235, 13921, 9809, 184,
+ 17235, 13921, 9809, 306,
+ 17235, 13921, 9809, 496,
+ 17235, 13921, 9809, 674,
+ 17235, 13921, 9809, 17349, 22,
+ 17235, 13921, 9809, 17349, 34,
+ 17235, 13921, 9809, 17349, 394,
+ 17235, 13921, 9809, 17349, 580,
+ 17235, 13921, 9809, 18367, 16,
+ 17235, 13921, 9809, 18367, 306,
+ 17235, 14903, 0,
+ 17235, 14903, 52,
+ 17235, 14903, 106,
+ 17235, 14903, 124,
+ 17235, 14903, 148,
+ 17235, 14903, 244,
+ 17235, 14903, 266,
+ 17235, 14903, 334,
+ 17235, 14903, 348,
+ 17235, 14903, 382,
+ 17235, 14903, 414,
+ 17235, 14903, 446,
+ 17235, 14903, 520,
+ 17235, 14903, 570,
+ 17235, 14903, 586,
+ 17235, 14903, 620,
+ 17235, 14903, 692,
+ 17235, 14903, 732,
+ 17235, 14903, 750,
+ 17235, 14903, 930,
+ 17235, 14903, 1040,
+ 17235, 14903, 1138,
+ 17235, 14903, 1160,
+ 17235, 14903, 1250,
+ 17235, 14903, 1486,
+ 17235, 14903, 1904,
+ 17235, 14903, 1942,
+ 17235, 14903, 2432,
+ 17235, 14903, 2480,
+ 17235, 14903, 2544,
+ 17235, 14903, 2660,
+ 17235, 14903, 2938,
+ 17235, 14903, 3030,
+ 17235, 14903, 3094,
+ 17235, 14903, 3222,
+ 17235, 14903, 3288,
+ 17235, 14903, 3302,
+ 17235, 14903, 3786,
+ 17235, 14903, 6286,
+ 17235, 14903, 6440,
+ 17235, 14903, 7670,
+ 17235, 14903, 10194,
+ 17235, 14903, 10218,
+ 17235, 14903, 19933, 570,
+ 17235, 15565, 2497, 120,
+ 17235, 15565, 2497, 121, 5873, 14148,
+ 17235, 15565, 2497, 121, 7025, 14148,
+ 17235, 15565, 2497, 121, 8927, 14148,
+ 17235, 15565, 2877, 2906,
+ 17235, 15565, 2877, 2907, 9447, 7022,
+ 17235, 15565, 6411, 120,
+ 17235, 15565, 9207, 520,
+ 17235, 15565, 13105, 6910,
+ 17235, 18089, 9809, 5981, 13294,
+ 17235, 18089, 9809, 7791, 13294,
+ 17235, 18519, 492,
+ 17235, 19469, 9809, 2089, 3289, 1008,
+ 17235, 19469, 9809, 8311, 1008,
+ 17235, 19469, 9809, 18017, 8311, 1008,
+ 17235, 19469, 14903, 0,
+ 17235, 19469, 14903, 52,
+ 17235, 19469, 14903, 106,
+ 17235, 19469, 14903, 124,
+ 17235, 19469, 14903, 148,
+ 17235, 19469, 14903, 244,
+ 17235, 19469, 14903, 266,
+ 17235, 19469, 14903, 334,
+ 17235, 19469, 14903, 348,
+ 17235, 19469, 14903, 382,
+ 17235, 19469, 14903, 414,
+ 17235, 19469, 14903, 446,
+ 17235, 19469, 14903, 520,
+ 17235, 19469, 14903, 570,
+ 17235, 19469, 14903, 586,
+ 17235, 19469, 14903, 620,
+ 17235, 19469, 14903, 692,
+ 17235, 19469, 14903, 732,
+ 17235, 19469, 14903, 750,
+ 17235, 19469, 14903, 930,
+ 17235, 19469, 14903, 1040,
+ 17235, 19469, 14903, 1138,
+ 17235, 19469, 14903, 1160,
+ 17235, 19469, 14903, 1250,
+ 17235, 19469, 14903, 1486,
+ 17235, 19469, 14903, 1904,
+ 17235, 19469, 14903, 2432,
+ 17235, 19469, 14903, 2480,
+ 17235, 19469, 14903, 2544,
+ 17235, 19469, 14903, 2660,
+ 17235, 19469, 14903, 3030,
+ 17235, 19469, 14903, 3094,
+ 17235, 19469, 14903, 3222,
+ 17235, 19469, 14903, 3288,
+ 17235, 19469, 14903, 3302,
+ 17235, 19469, 14903, 3786,
+ 17235, 19469, 14903, 6286,
+ 17235, 19469, 14903, 6440,
+ 17235, 19469, 14903, 7670,
+ 17235, 19469, 14903, 10194,
+ 17235, 19469, 14903, 10218,
+ 17235, 19469, 14903, 19933, 570,
+ 17235, 19469, 14903, 19933, 692,
+ 17235, 19469, 14903, 19933, 732,
+ 17235, 20789, 9809, 9689, 6907, 10979, 13294,
+ 17235, 20789, 9809, 13363, 15686,
+ 17235, 20789, 9809, 14151, 520,
+ 17235, 20815, 9809, 5939, 10068,
+ 17235, 20815, 9809, 9661, 10976,
+ 17235, 20815, 9809, 12213, 5774,
+ 17235, 20815, 9809, 12499, 5774,
+ 17243, 492,
+ 17243, 5244,
+ 17243, 9809, 12986,
+ 17243, 9809, 15756,
+ 17243, 9809, 17342,
+ 17243, 9809, 17466,
+ 17243, 9809, 17506,
+ 17243, 9809, 20336,
+ 17243, 11849, 2596,
+ 17243, 11849, 3056,
+ 17243, 11849, 3336,
+ 17243, 11849, 6720,
+ 17243, 11849, 6742,
+ 17243, 11849, 8736,
+ 17243, 11849, 10854,
+ 17243, 11849, 11916,
+ 17243, 11849, 13376,
+ 17243, 11849, 13654,
+ 17243, 12182,
+ 17243, 13921, 9809, 8,
+ 17243, 13921, 9809, 16,
+ 17243, 13921, 9809, 28,
+ 17243, 13921, 9809, 40,
+ 17243, 13921, 9809, 58,
+ 17243, 13921, 9809, 72,
+ 17243, 13921, 9809, 94,
+ 17243, 13921, 9809, 306,
+ 17243, 13921, 9809, 674,
+ 17243, 13921, 9809, 13431, 8,
+ 17243, 13921, 9809, 13431, 28,
+ 17243, 13921, 9809, 17349, 22,
+ 17243, 13921, 9809, 17349, 34,
+ 17243, 13921, 9809, 17349, 394,
+ 17243, 13921, 9809, 17349, 580,
+ 17243, 14903, 0,
+ 17243, 14903, 8,
+ 17243, 14903, 16,
+ 17243, 14903, 28,
+ 17243, 14903, 40,
+ 17243, 14903, 58,
+ 17243, 14903, 72,
+ 17243, 14903, 94,
+ 17243, 14903, 106,
+ 17243, 14903, 124,
+ 17243, 14903, 148,
+ 17243, 14903, 244,
+ 17243, 14903, 266,
+ 17243, 14903, 306,
+ 17243, 14903, 334,
+ 17243, 14903, 348,
+ 17243, 14903, 382,
+ 17243, 14903, 414,
+ 17243, 14903, 446,
+ 17243, 14903, 520,
+ 17243, 14903, 570,
+ 17243, 14903, 586,
+ 17243, 14903, 620,
+ 17243, 14903, 674,
+ 17243, 14903, 678,
+ 17243, 14903, 732,
+ 17243, 14903, 930,
+ 17243, 14903, 1040,
+ 17243, 14903, 1138,
+ 17243, 14903, 1160,
+ 17243, 14903, 1486,
+ 17243, 14903, 1786,
+ 17243, 14903, 1904,
+ 17243, 14903, 2432,
+ 17243, 14903, 2480,
+ 17243, 14903, 2544,
+ 17243, 14903, 2660,
+ 17243, 14903, 3030,
+ 17243, 14903, 3094,
+ 17243, 14903, 3222,
+ 17243, 14903, 3302,
+ 17243, 14903, 6286,
+ 17243, 14903, 10218,
+ 17243, 14903, 17349, 22,
+ 17243, 14903, 17349, 34,
+ 17243, 14903, 17349, 394,
+ 17243, 14903, 17349, 580,
+ 17243, 20771, 9808,
+ 17252,
+ 17259, 14548,
+ 17261, 1391, 6710,
+ 17261, 1391, 7750,
+ 17261, 1391, 10588,
+ 17261, 1391, 11910,
+ 17261, 1391, 13948,
+ 17261, 1391, 14732,
+ 17261, 1391, 17232,
+ 17261, 1391, 18158,
+ 17286,
+ 17295, 7827, 9808,
+ 17299, 20163, 14226,
+ 17309, 6682,
+ 17319, 3337, 14729, 11428,
+ 17319, 11428,
+ 17319, 11429, 633, 894,
+ 17319, 11429, 6749, 894,
+ 17319, 11429, 10595, 3245, 19212,
+ 17319, 11429, 10595, 3245, 20162,
+ 17319, 11429, 10595, 12473, 18597, 18728,
+ 17319, 11429, 10595, 13483, 18597, 18728,
+ 17319, 11429, 10595, 13483, 20467, 18728,
+ 17319, 11429, 10595, 14533, 15534,
+ 17319, 11429, 10595, 14997, 18597, 18728,
+ 17319, 11429, 10595, 16761, 10046,
+ 17319, 11429, 10595, 19973, 15534,
+ 17319, 11429, 10595, 20467, 18728,
+ 17319, 11429, 19213, 483, 19029, 11428,
+ 17319, 11521, 11428,
+ 17319, 11521, 16035, 13965, 11428,
+ 17319, 12213, 11428,
+ 17319, 12213, 19727, 11428,
+ 17319, 13965, 11428,
+ 17319, 13965, 11429, 495, 18268,
+ 17319, 13965, 11429, 495, 18269, 10595, 18669, 894,
+ 17319, 13965, 11429, 495, 18269, 10595, 19973, 894,
+ 17319, 13965, 11429, 6749, 894,
+ 17319, 13965, 11429, 6749, 895, 10595, 19973, 894,
+ 17319, 13965, 11429, 15787, 18597, 18728,
+ 17319, 13965, 14533, 11428,
+ 17319, 13965, 14533, 11429, 495, 18268,
+ 17319, 14202,
+ 17319, 14463, 11428,
+ 17319, 14533, 11428,
+ 17319, 15189, 14226,
+ 17319, 15352,
+ 17319, 15671, 11428,
+ 17319, 16357, 10595, 5713, 7779, 633, 894,
+ 17319, 16357, 10595, 5713, 7779, 6749, 894,
+ 17319, 16357, 10595, 5713, 7779, 14287, 17319, 16357, 10595, 5713, 13270,
+ 17319, 16357, 10595, 5713, 7779, 14287, 19029, 16357, 10595, 5713, 13270,
+ 17319, 16357, 10595, 5713, 13271, 633, 894,
+ 17319, 16357, 10595, 5713, 13271, 6749, 894,
+ 17319, 16357, 10595, 5713, 19212,
+ 17319, 16357, 10595, 5713, 20162,
+ 17319, 17139, 11428,
+ 17319, 18597, 18728,
+ 17319, 19355, 11428,
+ 17319, 19727, 11428,
+ 17319, 20165, 11428,
+ 17319, 20285, 11429, 6749, 13483, 14396,
+ 17319, 20285, 11429, 10595, 18597, 19686,
+ 17319, 20471, 11428,
+ 17319, 21571, 11428,
+ 17319, 21571, 11429, 633, 894,
+ 17319, 21571, 11429, 10595, 5825, 13382,
+ 17319, 21571, 11429, 10595, 7845, 3245, 19212,
+ 17319, 21571, 11429, 10595, 7845, 3245, 20162,
+ 17319, 21571, 11429, 10595, 10487, 12213, 13382,
+ 17319, 21571, 11429, 10595, 12213, 13382,
+ 17319, 21571, 11429, 10595, 14533, 19973, 15534,
+ 17319, 21571, 11429, 10595, 14997, 13382,
+ 17319, 21571, 11429, 10595, 15055, 13382,
+ 17319, 21571, 11429, 19213, 483, 19029, 21571, 11428,
+ 17319, 21571, 14463, 11428,
+ 17319, 21571, 15189, 14226,
+ 17335, 7090,
+ 17354,
+ 17361, 9808,
+ 17364,
+ 17375, 6682,
+ 17379, 6682,
+ 17383, 16934,
+ 17385, 7090,
+ 17439, 14213, 6741, 17066,
+ 17439, 19561, 18514,
+ 17444,
+ 17445, 17490,
+ 17445, 18868,
+ 17457, 17916,
+ 17461, 9808,
+ 17476,
+ 17487, 6409, 9808,
+ 17487, 6757, 9910,
+ 17487, 11708,
+ 17487, 13483, 14903, 124,
+ 17487, 13483, 14903, 140,
+ 17487, 13483, 14903, 148,
+ 17487, 13483, 14903, 190,
+ 17487, 13483, 14903, 212,
+ 17487, 13483, 14903, 280,
+ 17487, 13483, 14903, 334,
+ 17487, 13483, 14903, 484,
+ 17487, 13483, 14903, 570,
+ 17487, 13483, 14903, 632,
+ 17487, 13483, 14903, 684,
+ 17487, 13483, 14903, 736,
+ 17487, 13483, 14903, 750,
+ 17487, 13483, 14903, 874,
+ 17487, 13483, 14903, 922,
+ 17487, 13483, 14903, 1040,
+ 17487, 13483, 14903, 1264,
+ 17487, 13483, 14903, 1360,
+ 17487, 13483, 14903, 1504,
+ 17487, 13483, 14903, 1748,
+ 17487, 13483, 14903, 1888,
+ 17487, 13483, 14903, 1890,
+ 17487, 13483, 14903, 2270,
+ 17487, 13483, 14903, 2500,
+ 17487, 13483, 14903, 2650,
+ 17487, 13483, 14903, 2882,
+ 17487, 13483, 14903, 3020,
+ 17487, 13483, 14903, 3030,
+ 17487, 13483, 14903, 3442,
+ 17487, 13483, 14903, 3574,
+ 17487, 13483, 14903, 3788,
+ 17487, 13483, 14903, 5998,
+ 17487, 13483, 14903, 6972,
+ 17487, 13483, 14903, 7438,
+ 17487, 13483, 14903, 7834,
+ 17487, 13483, 14903, 9230,
+ 17487, 13483, 14903, 10154,
+ 17487, 13483, 14903, 10756,
+ 17487, 13483, 18079, 1265, 10756,
+ 17487, 13483, 18079, 2271, 1264,
+ 17487, 13483, 18079, 2271, 1748,
+ 17487, 13483, 18079, 2271, 2500,
+ 17487, 13483, 18079, 2271, 3574,
+ 17487, 13483, 18079, 3443, 2500,
+ 17487, 14760,
+ 17487, 15993, 14903, 124,
+ 17487, 15993, 14903, 140,
+ 17487, 15993, 14903, 148,
+ 17487, 15993, 14903, 190,
+ 17487, 15993, 14903, 212,
+ 17487, 15993, 14903, 280,
+ 17487, 15993, 14903, 334,
+ 17487, 15993, 14903, 484,
+ 17487, 15993, 14903, 570,
+ 17487, 15993, 14903, 632,
+ 17487, 15993, 14903, 684,
+ 17487, 15993, 14903, 736,
+ 17487, 15993, 14903, 750,
+ 17487, 15993, 14903, 874,
+ 17487, 15993, 14903, 922,
+ 17487, 15993, 14903, 1040,
+ 17487, 15993, 14903, 1264,
+ 17487, 15993, 14903, 1360,
+ 17487, 15993, 14903, 1504,
+ 17487, 15993, 14903, 1748,
+ 17487, 15993, 14903, 1888,
+ 17487, 15993, 14903, 1890,
+ 17487, 15993, 14903, 2270,
+ 17487, 15993, 14903, 2500,
+ 17487, 15993, 14903, 2650,
+ 17487, 15993, 14903, 2882,
+ 17487, 15993, 14903, 3020,
+ 17487, 15993, 14903, 3030,
+ 17487, 15993, 14903, 3442,
+ 17487, 15993, 14903, 3574,
+ 17487, 15993, 14903, 3788,
+ 17487, 15993, 14903, 5998,
+ 17487, 15993, 14903, 6972,
+ 17487, 15993, 14903, 7438,
+ 17487, 15993, 14903, 7834,
+ 17487, 15993, 14903, 9230,
+ 17487, 15993, 14903, 10154,
+ 17487, 15993, 14903, 10756,
+ 17487, 17865, 8282,
+ 17487, 18147, 14903, 7779, 7087, 9456,
+ 17487, 18335, 8282,
+ 17487, 19676,
+ 17487, 20469, 8282,
+ 17487, 20771, 8282,
+ 17496,
+ 17497, 18214,
+ 17498,
+ 17501, 9740,
+ 17511, 11592,
+ 17513, 5197, 5196,
+ 17513, 9809, 3375, 13266,
+ 17513, 9809, 3375, 14346,
+ 17513, 9809, 11518,
+ 17513, 9809, 11626,
+ 17513, 9809, 15554,
+ 17513, 9809, 16986,
+ 17513, 11603, 9812,
+ 17513, 11603, 16854,
+ 17513, 11603, 19304,
+ 17513, 11849, 2596,
+ 17513, 11849, 3056,
+ 17513, 11849, 3336,
+ 17513, 11849, 6720,
+ 17513, 11849, 6742,
+ 17513, 11849, 8736,
+ 17513, 11849, 10854,
+ 17513, 11849, 11916,
+ 17513, 11849, 13376,
+ 17513, 11849, 13654,
+ 17513, 13112,
+ 17513, 13921, 9809, 383, 12490,
+ 17513, 13921, 9809, 383, 12491, 15594,
+ 17513, 13921, 9809, 571, 9436,
+ 17513, 13921, 9809, 571, 9437, 15594,
+ 17513, 13921, 9809, 3374,
+ 17513, 13921, 9809, 3375, 9656,
+ 17513, 13921, 9809, 9926,
+ 17513, 13921, 9809, 9927, 7386,
+ 17513, 13921, 9809, 13148,
+ 17513, 13921, 9809, 13149, 15594,
+ 17513, 13921, 9809, 15578,
+ 17513, 13921, 9809, 15579, 9436,
+ 17513, 13921, 9809, 15579, 9437, 15594,
+ 17513, 13921, 9809, 15579, 15594,
+ 17513, 13921, 9809, 15594,
+ 17513, 13972,
+ 17513, 14903, 106,
+ 17513, 14903, 107, 16442,
+ 17513, 14903, 124,
+ 17513, 14903, 125, 7740,
+ 17513, 14903, 148,
+ 17513, 14903, 149, 8272,
+ 17513, 14903, 149, 12715, 18710,
+ 17513, 14903, 149, 12715, 19226,
+ 17513, 14903, 187, 13350,
+ 17513, 14903, 244,
+ 17513, 14903, 245, 7018,
+ 17513, 14903, 266,
+ 17513, 14903, 334,
+ 17513, 14903, 335, 7430,
+ 17513, 14903, 348,
+ 17513, 14903, 349, 19226,
+ 17513, 14903, 382,
+ 17513, 14903, 383, 12490,
+ 17513, 14903, 383, 12491, 15594,
+ 17513, 14903, 414,
+ 17513, 14903, 446,
+ 17513, 14903, 447, 15320,
+ 17513, 14903, 520,
+ 17513, 14903, 521, 12368,
+ 17513, 14903, 570,
+ 17513, 14903, 571, 9436,
+ 17513, 14903, 571, 9437, 15594,
+ 17513, 14903, 586,
+ 17513, 14903, 587, 9640,
+ 17513, 14903, 587, 9652,
+ 17513, 14903, 620,
+ 17513, 14903, 621, 10060,
+ 17513, 14903, 621, 12474,
+ 17513, 14903, 621, 12715, 19226,
+ 17513, 14903, 681, 13350,
+ 17513, 14903, 692,
+ 17513, 14903, 732,
+ 17513, 14903, 1857, 13350,
+ 17513, 14903, 2432,
+ 17513, 14903, 2544,
+ 17513, 14903, 3769, 13350,
+ 17513, 14903, 7621, 13350,
+ 17513, 14903, 10273, 13350,
+ 17513, 14903, 11368,
+ 17513, 14903, 11369, 15594,
+ 17513, 14903, 11920,
+ 17513, 14903, 12316,
+ 17513, 14903, 12317, 15594,
+ 17513, 14903, 13072,
+ 17513, 14903, 13073, 15594,
+ 17513, 14903, 13794,
+ 17513, 14903, 13795, 15594,
+ 17513, 14903, 14190,
+ 17513, 14903, 14241, 13350,
+ 17513, 15196,
+ 17513, 16703, 15565, 6252,
+ 17513, 16703, 15565, 6253, 6920,
+ 17513, 16703, 15565, 6253, 15554,
+ 17513, 16703, 15565, 6338,
+ 17513, 16703, 15565, 6376,
+ 17513, 16703, 15565, 6396,
+ 17513, 16703, 15565, 6420,
+ 17513, 16703, 15565, 11782,
+ 17513, 16703, 15565, 11788,
+ 17513, 16703, 15565, 11838,
+ 17513, 16703, 15565, 18819, 7014,
+ 17513, 16703, 15565, 18819, 11504,
+ 17513, 16703, 15565, 18819, 11928,
+ 17513, 16703, 15565, 18819, 13618,
+ 17513, 16703, 15565, 18819, 14818,
+ 17513, 16703, 15565, 18819, 14819, 10595, 16420,
+ 17513, 16703, 15565, 18819, 14820,
+ 17513, 16703, 15565, 18819, 14821, 10595, 16420,
+ 17513, 16703, 15565, 18819, 16420,
+ 17513, 16703, 15565, 19207, 9127, 9166,
+ 17513, 16703, 15565, 19207, 9127, 9226,
+ 17513, 16703, 15565, 19207, 9127, 9262,
+ 17513, 16703, 15565, 19207, 14407, 9232,
+ 17513, 16703, 15565, 19207, 14407, 9238,
+ 17513, 16703, 15565, 20159, 9127, 1118,
+ 17513, 16703, 15565, 20159, 9127, 1220,
+ 17513, 16703, 15565, 20159, 14407, 3178,
+ 17513, 16703, 15565, 20159, 14407, 3316,
+ 17513, 18240,
+ 17515, 10595, 3675, 9808,
+ 17515, 10595, 6565, 9808,
+ 17515, 10595, 13189, 9808,
+ 17515, 10595, 14509, 9808,
+ 17516,
+ 17537, 5930,
+ 17538,
+ 17542,
+ 17543, 10038,
+ 17545, 12023, 14903, 14,
+ 17545, 12023, 14903, 20,
+ 17545, 12023, 14903, 30,
+ 17545, 12023, 14903, 38,
+ 17545, 14903, 0,
+ 17545, 14903, 2,
+ 17545, 14903, 4,
+ 17545, 14903, 6,
+ 17545, 14903, 8,
+ 17545, 14903, 10,
+ 17545, 14903, 12,
+ 17545, 14903, 14,
+ 17545, 14903, 16,
+ 17545, 14903, 18,
+ 17545, 14903, 20,
+ 17545, 14903, 22,
+ 17545, 14903, 24,
+ 17545, 14903, 26,
+ 17545, 14903, 28,
+ 17545, 14903, 30,
+ 17545, 14903, 32,
+ 17545, 14903, 34,
+ 17545, 14903, 36,
+ 17545, 14903, 38,
+ 17545, 14903, 40,
+ 17545, 14903, 42,
+ 17545, 14903, 46,
+ 17545, 14903, 50,
+ 17545, 14903, 72,
+ 17545, 14903, 78,
+ 17545, 14903, 80,
+ 17545, 14903, 94,
+ 17545, 14903, 120,
+ 17545, 14903, 132,
+ 17545, 14903, 184,
+ 17545, 14903, 190,
+ 17545, 14903, 192,
+ 17545, 14903, 202,
+ 17545, 14903, 208,
+ 17545, 14903, 252,
+ 17545, 14903, 256,
+ 17545, 14903, 260,
+ 17545, 14903, 304,
+ 17545, 14903, 312,
+ 17545, 14903, 322,
+ 17545, 14903, 328,
+ 17545, 14903, 338,
+ 17545, 14903, 388,
+ 17545, 14903, 454,
+ 17545, 14903, 492,
+ 17545, 14903, 496,
+ 17545, 14903, 508,
+ 17545, 14903, 594,
+ 17545, 14903, 754,
+ 17545, 14903, 756,
+ 17545, 14903, 762,
+ 17545, 14903, 842,
+ 17545, 14903, 844,
+ 17545, 14903, 1294,
+ 17545, 14903, 1296,
+ 17545, 14903, 1752,
+ 17545, 14903, 2436,
+ 17545, 14903, 2598,
+ 17545, 14903, 2600,
+ 17545, 14903, 3382,
+ 17545, 14903, 5210,
+ 17545, 14903, 5276,
+ 17545, 14903, 7396,
+ 17551, 1293, 483, 17044,
+ 17551, 13921, 9809, 8,
+ 17551, 13921, 9809, 16,
+ 17551, 13921, 9809, 28,
+ 17551, 13921, 9809, 40,
+ 17551, 13921, 9809, 66,
+ 17551, 14903, 0,
+ 17551, 14903, 106,
+ 17551, 14903, 124,
+ 17551, 14903, 148,
+ 17551, 14903, 244,
+ 17551, 14903, 266,
+ 17551, 14903, 334,
+ 17551, 14903, 348,
+ 17551, 14903, 382,
+ 17551, 14903, 414,
+ 17551, 14903, 446,
+ 17551, 14903, 520,
+ 17551, 14903, 570,
+ 17551, 14903, 586,
+ 17551, 14903, 620,
+ 17551, 14903, 678,
+ 17551, 14903, 732,
+ 17551, 14903, 2326,
+ 17551, 14903, 2432,
+ 17551, 14903, 2506,
+ 17551, 14903, 2544,
+ 17551, 14903, 8698,
+ 17551, 14903, 8906,
+ 17551, 16834,
+ 17553, 20818,
+ 17554,
+ 17555, 10595, 13499, 13952,
+ 17556,
+ 17564,
+ 17566,
+ 17569, 19485, 0,
+ 17569, 19485, 4,
+ 17569, 19485, 8,
+ 17569, 19485, 10,
+ 17569, 19485, 16,
+ 17569, 19485, 20,
+ 17569, 19485, 22,
+ 17569, 19485, 24,
+ 17569, 19485, 26,
+ 17569, 19485, 28,
+ 17569, 19485, 30,
+ 17569, 19485, 32,
+ 17569, 19485, 34,
+ 17569, 19485, 36,
+ 17569, 19485, 38,
+ 17569, 19485, 48,
+ 17569, 19485, 58,
+ 17569, 19485, 72,
+ 17569, 19485, 80,
+ 17569, 19485, 102,
+ 17569, 19485, 124,
+ 17569, 19485, 130,
+ 17569, 19485, 134,
+ 17569, 19485, 140,
+ 17569, 19485, 202,
+ 17569, 19485, 224,
+ 17569, 19485, 226,
+ 17569, 19485, 230,
+ 17569, 19485, 236,
+ 17569, 19485, 274,
+ 17569, 19485, 306,
+ 17569, 19485, 314,
+ 17569, 19485, 348,
+ 17569, 19485, 352,
+ 17569, 19485, 356,
+ 17569, 19485, 364,
+ 17569, 19485, 372,
+ 17569, 19485, 382,
+ 17569, 19485, 386,
+ 17569, 19485, 388,
+ 17569, 19485, 390,
+ 17569, 19485, 400,
+ 17569, 19485, 414,
+ 17569, 19485, 422,
+ 17569, 19485, 426,
+ 17569, 19485, 428,
+ 17569, 19485, 434,
+ 17569, 19485, 446,
+ 17569, 19485, 450,
+ 17569, 19485, 454,
+ 17569, 19485, 456,
+ 17569, 19485, 458,
+ 17569, 19485, 466,
+ 17569, 19485, 494,
+ 17569, 19485, 496,
+ 17569, 19485, 516,
+ 17569, 19485, 520,
+ 17569, 19485, 526,
+ 17569, 19485, 534,
+ 17569, 19485, 538,
+ 17569, 19485, 554,
+ 17569, 19485, 558,
+ 17569, 19485, 562,
+ 17569, 19485, 570,
+ 17569, 19485, 572,
+ 17569, 19485, 576,
+ 17569, 19485, 578,
+ 17569, 19485, 586,
+ 17569, 19485, 590,
+ 17569, 19485, 594,
+ 17569, 19485, 596,
+ 17569, 19485, 600,
+ 17569, 19485, 614,
+ 17569, 19485, 620,
+ 17569, 19485, 624,
+ 17569, 19485, 626,
+ 17569, 19485, 628,
+ 17569, 19485, 632,
+ 17569, 19485, 692,
+ 17569, 19485, 698,
+ 17569, 19485, 704,
+ 17569, 19485, 708,
+ 17569, 19485, 732,
+ 17569, 19485, 734,
+ 17569, 19485, 736,
+ 17569, 19485, 740,
+ 17569, 19485, 770,
+ 17569, 19485, 786,
+ 17569, 19485, 1002,
+ 17569, 19485, 1045, 9808,
+ 17569, 19485, 1054,
+ 17569, 19485, 1074,
+ 17569, 19485, 1096,
+ 17569, 19485, 1098,
+ 17569, 19485, 1100,
+ 17569, 19485, 1102,
+ 17569, 19485, 1338,
+ 17569, 19485, 1368,
+ 17569, 19485, 1386,
+ 17569, 19485, 1850,
+ 17569, 19485, 1882,
+ 17569, 19485, 1924,
+ 17569, 19485, 1966,
+ 17569, 19485, 2022,
+ 17569, 19485, 2026,
+ 17569, 19485, 2028,
+ 17569, 19485, 2032,
+ 17569, 19485, 2056,
+ 17569, 19485, 2086,
+ 17569, 19485, 2112,
+ 17569, 19485, 2116,
+ 17569, 19485, 2118,
+ 17569, 19485, 2126,
+ 17569, 19485, 2152,
+ 17569, 19485, 2200,
+ 17569, 19485, 2202,
+ 17569, 19485, 2204,
+ 17569, 19485, 2206,
+ 17569, 19485, 2222,
+ 17569, 19485, 2246,
+ 17569, 19485, 2296,
+ 17569, 19485, 2318,
+ 17569, 19485, 2354,
+ 17569, 19485, 2356,
+ 17569, 19485, 2358,
+ 17569, 19485, 2360,
+ 17569, 19485, 2374,
+ 17569, 19485, 2396,
+ 17569, 19485, 2432,
+ 17569, 19485, 2438,
+ 17569, 19485, 2440,
+ 17569, 19485, 2454,
+ 17569, 19485, 2484,
+ 17569, 19485, 2492,
+ 17569, 19485, 2504,
+ 17569, 19485, 2536,
+ 17569, 19485, 2538,
+ 17569, 19485, 2540,
+ 17569, 19485, 2542,
+ 17569, 19485, 2620,
+ 17569, 19485, 2642,
+ 17569, 19485, 2674,
+ 17569, 19485, 2690,
+ 17569, 19485, 2698,
+ 17569, 19485, 2730,
+ 17569, 19485, 2732,
+ 17569, 19485, 2734,
+ 17569, 19485, 2736,
+ 17569, 19485, 2746,
+ 17569, 19485, 2750,
+ 17569, 19485, 2776,
+ 17569, 19485, 2788,
+ 17569, 19485, 2848,
+ 17569, 19485, 2874,
+ 17569, 19485, 2898,
+ 17569, 19485, 2930,
+ 17569, 19485, 2968,
+ 17569, 19485, 2972,
+ 17569, 19485, 2974,
+ 17569, 19485, 2990,
+ 17569, 19485, 3016,
+ 17569, 19485, 3030,
+ 17569, 19485, 3032,
+ 17569, 19485, 3034,
+ 17569, 19485, 3036,
+ 17569, 19485, 3048,
+ 17569, 19485, 3074,
+ 17569, 19485, 3090,
+ 17569, 19485, 3130,
+ 17569, 19485, 3132,
+ 17569, 19485, 3136,
+ 17569, 19485, 3138,
+ 17569, 19485, 3166,
+ 17569, 19485, 3204,
+ 17569, 19485, 3222,
+ 17569, 19485, 3224,
+ 17569, 19485, 3226,
+ 17569, 19485, 3228,
+ 17569, 19485, 3238,
+ 17569, 19485, 3270,
+ 17569, 19485, 3302,
+ 17569, 19485, 3304,
+ 17569, 19485, 3306,
+ 17569, 19485, 3308,
+ 17569, 19485, 3310,
+ 17569, 19485, 3330,
+ 17569, 19485, 3332,
+ 17569, 19485, 3334,
+ 17569, 19485, 3336,
+ 17569, 19485, 3338,
+ 17569, 19485, 3340,
+ 17569, 19485, 3342,
+ 17569, 19485, 3344,
+ 17569, 19485, 3494,
+ 17569, 19485, 3512,
+ 17569, 19485, 3528,
+ 17569, 19485, 3538,
+ 17569, 19485, 3624,
+ 17569, 19485, 3664,
+ 17569, 19485, 3688,
+ 17569, 19485, 3702,
+ 17569, 19485, 3712,
+ 17569, 19485, 3738,
+ 17569, 19485, 3740,
+ 17569, 19485, 3742,
+ 17569, 19485, 3744,
+ 17569, 19485, 5926,
+ 17569, 19485, 6096,
+ 17569, 19485, 6098,
+ 17569, 19485, 6100,
+ 17569, 19485, 6680,
+ 17569, 19485, 6757, 9910,
+ 17569, 19485, 6770,
+ 17569, 19485, 7524,
+ 17569, 19485, 7694,
+ 17569, 19485, 7696,
+ 17569, 19485, 7700,
+ 17569, 19485, 7702,
+ 17569, 19485, 7734,
+ 17569, 19485, 7788,
+ 17569, 19485, 7794,
+ 17569, 19485, 7796,
+ 17569, 19485, 7866,
+ 17569, 19485, 7868,
+ 17569, 19485, 7870,
+ 17569, 19485, 8270,
+ 17569, 19485, 8452,
+ 17569, 19485, 8456,
+ 17569, 19485, 8458,
+ 17569, 19485, 8546,
+ 17569, 19485, 8658,
+ 17569, 19485, 8662,
+ 17569, 19485, 8696,
+ 17569, 19485, 8704,
+ 17569, 19485, 8790,
+ 17569, 19485, 8792,
+ 17569, 19485, 8794,
+ 17569, 19485, 8892,
+ 17569, 19485, 8894,
+ 17569, 19485, 8896,
+ 17569, 19485, 9156,
+ 17569, 19485, 9272,
+ 17569, 19485, 9276,
+ 17569, 19485, 9278,
+ 17569, 19485, 9280,
+ 17569, 19485, 9300,
+ 17569, 19485, 9410,
+ 17569, 19485, 9530,
+ 17569, 19485, 9532,
+ 17569, 19485, 9534,
+ 17569, 19485, 9536,
+ 17569, 19485, 9636,
+ 17569, 19485, 9694,
+ 17569, 19485, 9708,
+ 17569, 19485, 9726,
+ 17569, 19485, 9744,
+ 17569, 19485, 9754,
+ 17569, 19485, 9776,
+ 17569, 19485, 9778,
+ 17569, 19485, 9780,
+ 17569, 19485, 9782,
+ 17569, 19485, 9940,
+ 17569, 19485, 9942,
+ 17569, 19485, 9944,
+ 17569, 19485, 10032,
+ 17569, 19485, 10088,
+ 17569, 19485, 10114,
+ 17569, 19485, 10124,
+ 17569, 19485, 10128,
+ 17569, 19485, 10130,
+ 17569, 19485, 10160,
+ 17569, 19485, 10162,
+ 17569, 19485, 10164,
+ 17569, 19485, 10166,
+ 17569, 19485, 10218,
+ 17569, 19485, 10220,
+ 17569, 19485, 10222,
+ 17569, 19485, 10224,
+ 17569, 19485, 10256,
+ 17569, 19485, 10258,
+ 17569, 19485, 10260,
+ 17569, 19485, 10684,
+ 17569, 19485, 10800,
+ 17569, 19485, 10802,
+ 17569, 19485, 10804,
+ 17569, 19485, 12023, 3273, 7087, 9456,
+ 17569, 19485, 12023, 6407, 10040,
+ 17569, 19485, 12023, 9242,
+ 17569, 19485, 12023, 9456,
+ 17569, 19485, 12023, 11348,
+ 17569, 19485, 12023, 12168,
+ 17569, 19485, 12023, 13271, 7087, 9456,
+ 17569, 19485, 12023, 13431, 19973, 15534,
+ 17569, 19485, 12023, 13483, 9456,
+ 17569, 19485, 12023, 14307, 7087, 9456,
+ 17569, 19485, 12023, 14533, 11348,
+ 17569, 19485, 12023, 14533, 13431, 18669, 17166,
+ 17569, 19485, 12023, 15021, 1212,
+ 17569, 19485, 12023, 15319, 1212,
+ 17569, 19485, 12774,
+ 17569, 19485, 12898,
+ 17569, 19485, 12900,
+ 17569, 19485, 12902,
+ 17569, 19485, 13440,
+ 17569, 19485, 13442,
+ 17569, 19485, 13444,
+ 17569, 19485, 13446,
+ 17569, 19485, 13662,
+ 17569, 19485, 13698,
+ 17569, 19485, 13700,
+ 17569, 19485, 13752,
+ 17569, 19485, 13756,
+ 17569, 19485, 13758,
+ 17569, 19485, 14277, 6337, 22,
+ 17569, 19485, 14277, 6337, 34,
+ 17569, 19485, 14760,
+ 17569, 19485, 14995, 22,
+ 17569, 19485, 14995, 34,
+ 17569, 19485, 15053, 3224,
+ 17569, 19485, 15053, 3226,
+ 17569, 19485, 15053, 10114,
+ 17569, 19485, 15313, 572,
+ 17569, 19485, 15313, 2970,
+ 17569, 19485, 15387, 24,
+ 17569, 19485, 15387, 266,
+ 17569, 19485, 15387, 268,
+ 17569, 19485, 15387, 272,
+ 17569, 19485, 15387, 280,
+ 17569, 19485, 15387, 338,
+ 17569, 19485, 15387, 342,
+ 17569, 19485, 15387, 626,
+ 17569, 19485, 15387, 736,
+ 17569, 19485, 15387, 1672,
+ 17569, 19485, 15387, 1834,
+ 17569, 19485, 15387, 3030,
+ 17569, 19485, 15387, 3032,
+ 17569, 19485, 15387, 3034,
+ 17569, 19485, 15387, 3036,
+ 17569, 19485, 15387, 9744,
+ 17569, 19485, 15387, 9778,
+ 17569, 19485, 15803, 44,
+ 17569, 19485, 15803, 496,
+ 17569, 19485, 15803, 1074,
+ 17569, 19485, 15803, 1966,
+ 17569, 19485, 15803, 2152,
+ 17569, 19485, 15803, 2318,
+ 17569, 19485, 15803, 2492,
+ 17569, 19485, 15803, 2690,
+ 17569, 19485, 15803, 3074,
+ 17569, 19485, 15803, 3270,
+ 17569, 19485, 15803, 3702,
+ 17569, 19485, 15803, 9272,
+ 17569, 19485, 15861, 2,
+ 17569, 19485, 15997, 14,
+ 17569, 19485, 15997, 16,
+ 17569, 19485, 15997, 30,
+ 17569, 19485, 15997, 50,
+ 17569, 19485, 15997, 158,
+ 17569, 19485, 15997, 184,
+ 17569, 19485, 15997, 244,
+ 17569, 19485, 15997, 248,
+ 17569, 19485, 15997, 254,
+ 17569, 19485, 15997, 258,
+ 17569, 19485, 15997, 260,
+ 17569, 19485, 15997, 272,
+ 17569, 19485, 15997, 334,
+ 17569, 19485, 15997, 336,
+ 17569, 19485, 15997, 338,
+ 17569, 19485, 15997, 340,
+ 17569, 19485, 15997, 342,
+ 17569, 19485, 15997, 358,
+ 17569, 19485, 15997, 382,
+ 17569, 19485, 15997, 386,
+ 17569, 19485, 15997, 390,
+ 17569, 19485, 15997, 400,
+ 17569, 19485, 15997, 404,
+ 17569, 19485, 15997, 414,
+ 17569, 19485, 15997, 422,
+ 17569, 19485, 15997, 428,
+ 17569, 19485, 15997, 434,
+ 17569, 19485, 15997, 438,
+ 17569, 19485, 15997, 446,
+ 17569, 19485, 15997, 450,
+ 17569, 19485, 15997, 454,
+ 17569, 19485, 15997, 458,
+ 17569, 19485, 15997, 466,
+ 17569, 19485, 15997, 470,
+ 17569, 19485, 15997, 520,
+ 17569, 19485, 15997, 526,
+ 17569, 19485, 15997, 534,
+ 17569, 19485, 15997, 538,
+ 17569, 19485, 15997, 544,
+ 17569, 19485, 15997, 570,
+ 17569, 19485, 15997, 572,
+ 17569, 19485, 15997, 576,
+ 17569, 19485, 15997, 578,
+ 17569, 19485, 15997, 582,
+ 17569, 19485, 15997, 586,
+ 17569, 19485, 15997, 590,
+ 17569, 19485, 15997, 594,
+ 17569, 19485, 15997, 596,
+ 17569, 19485, 15997, 600,
+ 17569, 19485, 15997, 610,
+ 17569, 19485, 15997, 692,
+ 17569, 19485, 15997, 698,
+ 17569, 19485, 15997, 704,
+ 17569, 19485, 15997, 708,
+ 17569, 19485, 15997, 710,
+ 17569, 19485, 15997, 732,
+ 17569, 19485, 15997, 734,
+ 17569, 19485, 15997, 736,
+ 17569, 19485, 15997, 740,
+ 17569, 19485, 15997, 744,
+ 17569, 19485, 15997, 750,
+ 17569, 19485, 15997, 752,
+ 17569, 19485, 15997, 756,
+ 17569, 19485, 15997, 758,
+ 17569, 19485, 15997, 760,
+ 17569, 19485, 15997, 1040,
+ 17569, 19485, 15997, 1042,
+ 17569, 19485, 15997, 1044,
+ 17569, 19485, 15997, 1046,
+ 17569, 19485, 15997, 1048,
+ 17569, 19485, 15997, 1148,
+ 17569, 19485, 15997, 1190,
+ 17569, 19485, 15997, 1192,
+ 17569, 19485, 15997, 1194,
+ 17569, 19485, 15997, 1196,
+ 17569, 19485, 15997, 1198,
+ 17569, 19485, 15997, 1250,
+ 17569, 19485, 15997, 1252,
+ 17569, 19485, 15997, 1254,
+ 17569, 19485, 15997, 1256,
+ 17569, 19485, 15997, 1258,
+ 17569, 19485, 15997, 1424,
+ 17569, 19485, 15997, 1462,
+ 17569, 19485, 15997, 1486,
+ 17569, 19485, 15997, 1488,
+ 17569, 19485, 15997, 1490,
+ 17569, 19485, 15997, 1492,
+ 17569, 19485, 15997, 1494,
+ 17569, 19485, 15997, 1554,
+ 17569, 19485, 15997, 1560,
+ 17569, 19485, 15997, 1598,
+ 17569, 19485, 15997, 1694,
+ 17569, 19485, 15997, 1696,
+ 17569, 19485, 15997, 1698,
+ 17569, 19485, 15997, 1700,
+ 17569, 19485, 15997, 1702,
+ 17569, 19485, 15997, 1778,
+ 17569, 19485, 15997, 1802,
+ 17569, 19485, 15997, 1804,
+ 17569, 19485, 15997, 1806,
+ 17569, 19485, 15997, 1808,
+ 17569, 19485, 15997, 1810,
+ 17569, 19485, 15997, 1838,
+ 17569, 19485, 15997, 1904,
+ 17569, 19485, 15997, 1906,
+ 17569, 19485, 15997, 1908,
+ 17569, 19485, 15997, 1910,
+ 17569, 19485, 15997, 1912,
+ 17569, 19485, 15997, 1942,
+ 17569, 19485, 15997, 1944,
+ 17569, 19485, 15997, 1946,
+ 17569, 19485, 15997, 1948,
+ 17569, 19485, 15997, 1950,
+ 17569, 19485, 15997, 2094,
+ 17569, 19485, 15997, 2112,
+ 17569, 19485, 15997, 2114,
+ 17569, 19485, 15997, 2116,
+ 17569, 19485, 15997, 2118,
+ 17569, 19485, 15997, 2120,
+ 17569, 19485, 15997, 2266,
+ 17569, 19485, 15997, 2418,
+ 17569, 19485, 15997, 2648,
+ 17569, 19485, 15997, 2880,
+ 17569, 19485, 15997, 3018,
+ 17569, 19485, 15997, 3030,
+ 17569, 19485, 15997, 3032,
+ 17569, 19485, 15997, 3034,
+ 17569, 19485, 15997, 3036,
+ 17569, 19485, 15997, 3038,
+ 17569, 19485, 15997, 3222,
+ 17569, 19485, 15997, 3224,
+ 17569, 19485, 15997, 3226,
+ 17569, 19485, 15997, 3228,
+ 17569, 19485, 15997, 3230,
+ 17569, 19485, 15997, 3254,
+ 17569, 19485, 15997, 3256,
+ 17569, 19485, 15997, 3258,
+ 17569, 19485, 15997, 3260,
+ 17569, 19485, 15997, 3262,
+ 17569, 19485, 15997, 3288,
+ 17569, 19485, 15997, 3290,
+ 17569, 19485, 15997, 3292,
+ 17569, 19485, 15997, 3294,
+ 17569, 19485, 15997, 3296,
+ 17569, 19485, 15997, 3302,
+ 17569, 19485, 15997, 3304,
+ 17569, 19485, 15997, 3308,
+ 17569, 19485, 15997, 3310,
+ 17569, 19485, 15997, 3312,
+ 17569, 19485, 15997, 3516,
+ 17569, 19485, 15997, 3670,
+ 17569, 19485, 15997, 3778,
+ 17569, 19485, 15997, 5996,
+ 17569, 19485, 15997, 6337, 1462,
+ 17569, 19485, 15997, 6386,
+ 17569, 19485, 15997, 6438,
+ 17569, 19485, 15997, 6978,
+ 17569, 19485, 15997, 7300,
+ 17569, 19485, 15997, 7448,
+ 17569, 19485, 15997, 7606,
+ 17569, 19485, 15997, 7642,
+ 17569, 19485, 15997, 7792,
+ 17569, 19485, 15997, 9710,
+ 17569, 19485, 15997, 10104,
+ 17569, 19485, 15997, 10158,
+ 17569, 19485, 15997, 10160,
+ 17569, 19485, 15997, 10162,
+ 17569, 19485, 15997, 10164,
+ 17569, 19485, 15997, 10166,
+ 17569, 19485, 15997, 10168,
+ 17569, 19485, 15997, 10192,
+ 17569, 19485, 15997, 10214,
+ 17569, 19485, 15997, 10228,
+ 17569, 19485, 15997, 10230,
+ 17569, 19485, 15997, 10232,
+ 17569, 19485, 15997, 10234,
+ 17569, 19485, 15997, 10236,
+ 17569, 19485, 15997, 13696,
+ 17569, 19485, 15997, 13760,
+ 17569, 19485, 15997, 14475, 36,
+ 17569, 19485, 15997, 16401, 50,
+ 17569, 19485, 16231, 44,
+ 17569, 19485, 16327, 9910,
+ 17569, 19485, 16709, 2988,
+ 17569, 19485, 16709, 3062,
+ 17569, 19485, 16709, 3494,
+ 17569, 19485, 16709, 3538,
+ 17569, 19485, 16709, 6096,
+ 17569, 19485, 16709, 7694,
+ 17569, 19485, 16709, 8452,
+ 17569, 19485, 16709, 8892,
+ 17569, 19485, 16709, 9664,
+ 17569, 19485, 16709, 9830,
+ 17569, 19485, 16709, 9854,
+ 17569, 19485, 16709, 9912,
+ 17569, 19485, 16709, 9940,
+ 17569, 19485, 16709, 10256,
+ 17569, 19485, 16709, 10800,
+ 17569, 19485, 16773, 14,
+ 17569, 19485, 16773, 266,
+ 17569, 19485, 16773, 268,
+ 17569, 19485, 16773, 272,
+ 17569, 19485, 16773, 280,
+ 17569, 19485, 16773, 1572,
+ 17569, 19485, 16773, 1624,
+ 17569, 19485, 16773, 1672,
+ 17569, 19485, 16775, 14,
+ 17569, 19485, 16795, 4,
+ 17569, 19485, 16795, 20,
+ 17569, 19485, 16795, 24,
+ 17569, 19485, 16795, 26,
+ 17569, 19485, 16795, 30,
+ 17569, 19485, 16795, 36,
+ 17569, 19485, 16795, 38,
+ 17569, 19485, 16795, 594,
+ 17569, 19485, 16795, 2540,
+ 17569, 19485, 16795, 2542,
+ 17569, 19485, 16795, 8894,
+ 17569, 19485, 16795, 8896,
+ 17569, 19485, 17219, 626,
+ 17569, 19485, 17219, 3222,
+ 17569, 19485, 17219, 3224,
+ 17569, 19485, 17219, 3226,
+ 17569, 19485, 17219, 3228,
+ 17569, 19485, 17219, 10088,
+ 17569, 19485, 17219, 10114,
+ 17569, 19485, 17219, 10124,
+ 17569, 19485, 17367, 44,
+ 17569, 19485, 18767, 0,
+ 17569, 19485, 18767, 8,
+ 17569, 19485, 18767, 16,
+ 17569, 19485, 18767, 28,
+ 17569, 19485, 18767, 36,
+ 17569, 19485, 18767, 44,
+ 17569, 19485, 18767, 348,
+ 17569, 19485, 18767, 352,
+ 17569, 19485, 18767, 356,
+ 17569, 19485, 18767, 364,
+ 17569, 19485, 18767, 446,
+ 17569, 19485, 18767, 450,
+ 17569, 19485, 18767, 458,
+ 17569, 19485, 18767, 466,
+ 17569, 19485, 18767, 692,
+ 17569, 19485, 18767, 698,
+ 17569, 19485, 18767, 704,
+ 17569, 19485, 18767, 708,
+ 17569, 19485, 19643, 22,
+ 17569, 19485, 19643, 24,
+ 17569, 19485, 19643, 30,
+ 17569, 19485, 19643, 34,
+ 17569, 19485, 19643, 48,
+ 17569, 19485, 19643, 382,
+ 17569, 19485, 19643, 386,
+ 17569, 19485, 19643, 400,
+ 17569, 19485, 19643, 570,
+ 17569, 19485, 19643, 572,
+ 17569, 19485, 19643, 576,
+ 17569, 19485, 19643, 578,
+ 17569, 19485, 19643, 692,
+ 17569, 19485, 19643, 698,
+ 17569, 19485, 19643, 704,
+ 17569, 19485, 19643, 708,
+ 17569, 19485, 19643, 1096,
+ 17569, 19485, 19643, 1098,
+ 17569, 19485, 19643, 1100,
+ 17569, 19485, 19643, 1102,
+ 17569, 19485, 19643, 2022,
+ 17569, 19485, 19643, 2026,
+ 17569, 19485, 19643, 2028,
+ 17569, 19485, 19643, 2032,
+ 17569, 19485, 19643, 2056,
+ 17569, 19485, 19643, 2152,
+ 17569, 19485, 19643, 2200,
+ 17569, 19485, 19643, 2202,
+ 17569, 19485, 19643, 2204,
+ 17569, 19485, 19643, 2206,
+ 17569, 19485, 19643, 2354,
+ 17569, 19485, 19643, 2356,
+ 17569, 19485, 19643, 2358,
+ 17569, 19485, 19643, 2360,
+ 17569, 19485, 19643, 2536,
+ 17569, 19485, 19643, 2538,
+ 17569, 19485, 19643, 2730,
+ 17569, 19485, 19643, 2732,
+ 17569, 19485, 19643, 2734,
+ 17569, 19485, 19643, 2736,
+ 17569, 19485, 19643, 3130,
+ 17569, 19485, 19643, 3132,
+ 17569, 19485, 19643, 3136,
+ 17569, 19485, 19643, 3138,
+ 17569, 19485, 19643, 3330,
+ 17569, 19485, 19643, 3332,
+ 17569, 19485, 19643, 3334,
+ 17569, 19485, 19643, 3336,
+ 17569, 19485, 19643, 3494,
+ 17569, 19485, 19643, 3528,
+ 17569, 19485, 19643, 3538,
+ 17569, 19485, 19643, 3738,
+ 17569, 19485, 19643, 3740,
+ 17569, 19485, 19643, 3742,
+ 17569, 19485, 19643, 3744,
+ 17569, 19485, 19643, 6096,
+ 17569, 19485, 19643, 6098,
+ 17569, 19485, 19643, 6100,
+ 17569, 19485, 19643, 6770,
+ 17569, 19485, 19643, 7694,
+ 17569, 19485, 19643, 7700,
+ 17569, 19485, 19643, 7702,
+ 17569, 19485, 19643, 7866,
+ 17569, 19485, 19643, 7868,
+ 17569, 19485, 19643, 7870,
+ 17569, 19485, 19643, 8452,
+ 17569, 19485, 19643, 8456,
+ 17569, 19485, 19643, 8458,
+ 17569, 19485, 19643, 8892,
+ 17569, 19485, 19643, 9272,
+ 17569, 19485, 19643, 9276,
+ 17569, 19485, 19643, 9278,
+ 17569, 19485, 19643, 9530,
+ 17569, 19485, 19643, 9776,
+ 17569, 19485, 19643, 9778,
+ 17569, 19485, 19643, 9780,
+ 17569, 19485, 19643, 9782,
+ 17569, 19485, 19643, 9940,
+ 17569, 19485, 19643, 9942,
+ 17569, 19485, 19643, 9944,
+ 17569, 19485, 19643, 10256,
+ 17569, 19485, 19643, 10258,
+ 17569, 19485, 19643, 10260,
+ 17569, 19485, 19643, 10800,
+ 17569, 19485, 19643, 10802,
+ 17569, 19485, 19643, 10804,
+ 17569, 19485, 19643, 13440,
+ 17569, 19485, 19643, 13442,
+ 17569, 19485, 19643, 13444,
+ 17569, 19485, 19643, 13662,
+ 17569, 19485, 19695, 24,
+ 17569, 19485, 19695, 36,
+ 17569, 19485, 19707, 48,
+ 17569, 19485, 20057, 598,
+ 17569, 19485, 20299, 626,
+ 17569, 19485, 20299, 3222,
+ 17569, 19485, 20299, 3224,
+ 17569, 19485, 20299, 3226,
+ 17569, 19485, 20299, 3228,
+ 17569, 19485, 20299, 10128,
+ 17569, 19485, 20299, 10132,
+ 17569, 19485, 20299, 10134,
+ 17569, 19485, 20299, 12023, 626,
+ 17569, 19485, 20299, 13662,
+ 17569, 19485, 20299, 13664,
+ 17569, 19485, 20299, 13666,
+ 17569, 19485, 20299, 13668,
+ 17569, 19485, 21005, 1858,
+ 17569, 19485, 21005, 1888,
+ 17569, 19485, 21005, 1922,
+ 17569, 19485, 21005, 1958,
+ 17571, 12266,
+ 17583, 19238,
+ 17589, 13483, 14903, 0,
+ 17589, 13483, 14903, 8,
+ 17589, 13483, 14903, 16,
+ 17589, 13483, 14903, 28,
+ 17589, 13483, 14903, 36,
+ 17589, 13483, 14903, 40,
+ 17589, 13483, 14903, 42,
+ 17589, 13483, 14903, 148,
+ 17589, 13483, 14903, 154,
+ 17589, 13483, 14903, 158,
+ 17589, 13483, 14903, 166,
+ 17589, 13483, 14903, 168,
+ 17589, 13483, 14903, 170,
+ 17589, 13483, 14903, 244,
+ 17589, 13483, 14903, 248,
+ 17589, 13483, 14903, 254,
+ 17589, 13483, 14903, 258,
+ 17589, 13483, 14903, 260,
+ 17589, 13483, 14903, 262,
+ 17589, 13483, 14903, 266,
+ 17589, 13483, 14903, 268,
+ 17589, 13483, 14903, 272,
+ 17589, 13483, 14903, 280,
+ 17589, 13483, 14903, 284,
+ 17589, 13483, 14903, 286,
+ 17589, 13483, 14903, 348,
+ 17589, 13483, 14903, 382,
+ 17589, 13483, 14903, 386,
+ 17589, 13483, 14903, 390,
+ 17589, 13483, 14903, 400,
+ 17589, 13483, 14903, 404,
+ 17589, 13483, 14903, 406,
+ 17589, 13483, 14903, 414,
+ 17589, 13483, 14903, 422,
+ 17589, 13483, 14903, 428,
+ 17589, 13483, 14903, 434,
+ 17589, 13483, 14903, 438,
+ 17589, 13483, 14903, 440,
+ 17589, 13483, 14903, 446,
+ 17589, 13483, 14903, 450,
+ 17589, 13483, 14903, 458,
+ 17589, 13483, 14903, 466,
+ 17589, 13483, 14903, 470,
+ 17589, 13483, 14903, 472,
+ 17589, 13483, 14903, 586,
+ 17589, 13483, 14903, 590,
+ 17589, 13483, 14903, 596,
+ 17589, 13483, 14903, 600,
+ 17589, 13483, 14903, 610,
+ 17589, 13483, 14903, 612,
+ 17589, 13483, 14903, 620,
+ 17589, 13483, 14903, 624,
+ 17589, 13483, 14903, 628,
+ 17589, 13483, 14903, 692,
+ 17589, 13483, 14903, 698,
+ 17589, 13483, 14903, 704,
+ 17589, 13483, 14903, 708,
+ 17589, 13483, 14903, 710,
+ 17589, 13483, 14903, 712,
+ 17589, 13483, 14903, 732,
+ 17589, 13483, 14903, 734,
+ 17589, 13483, 14903, 736,
+ 17589, 13483, 14903, 740,
+ 17589, 13483, 14903, 744,
+ 17589, 13483, 14903, 746,
+ 17589, 13483, 14903, 1190,
+ 17589, 13483, 14903, 1656,
+ 17589, 13483, 14903, 2380,
+ 17589, 13483, 14903, 2796,
+ 17589, 13483, 14903, 2798,
+ 17589, 13483, 14903, 2802,
+ 17589, 13483, 14903, 2806,
+ 17589, 13483, 14903, 2814,
+ 17589, 13483, 14903, 2816,
+ 17589, 13483, 14903, 3254,
+ 17589, 13483, 14903, 3256,
+ 17589, 13483, 14903, 3258,
+ 17589, 13483, 14903, 3260,
+ 17589, 13483, 14903, 3262,
+ 17589, 13483, 14903, 3264,
+ 17589, 13483, 14903, 3288,
+ 17589, 13483, 14903, 3290,
+ 17589, 13483, 14903, 3292,
+ 17589, 13483, 14903, 3294,
+ 17589, 13483, 14903, 3296,
+ 17589, 13483, 14903, 3298,
+ 17589, 14903, 0,
+ 17589, 14903, 8,
+ 17589, 14903, 16,
+ 17589, 14903, 28,
+ 17589, 14903, 36,
+ 17589, 14903, 40,
+ 17589, 14903, 42,
+ 17589, 14903, 148,
+ 17589, 14903, 154,
+ 17589, 14903, 158,
+ 17589, 14903, 166,
+ 17589, 14903, 168,
+ 17589, 14903, 170,
+ 17589, 14903, 244,
+ 17589, 14903, 248,
+ 17589, 14903, 254,
+ 17589, 14903, 258,
+ 17589, 14903, 260,
+ 17589, 14903, 262,
+ 17589, 14903, 266,
+ 17589, 14903, 268,
+ 17589, 14903, 272,
+ 17589, 14903, 280,
+ 17589, 14903, 284,
+ 17589, 14903, 286,
+ 17589, 14903, 348,
+ 17589, 14903, 382,
+ 17589, 14903, 386,
+ 17589, 14903, 390,
+ 17589, 14903, 400,
+ 17589, 14903, 404,
+ 17589, 14903, 406,
+ 17589, 14903, 414,
+ 17589, 14903, 422,
+ 17589, 14903, 428,
+ 17589, 14903, 434,
+ 17589, 14903, 438,
+ 17589, 14903, 440,
+ 17589, 14903, 446,
+ 17589, 14903, 450,
+ 17589, 14903, 458,
+ 17589, 14903, 466,
+ 17589, 14903, 470,
+ 17589, 14903, 472,
+ 17589, 14903, 586,
+ 17589, 14903, 590,
+ 17589, 14903, 596,
+ 17589, 14903, 600,
+ 17589, 14903, 610,
+ 17589, 14903, 612,
+ 17589, 14903, 620,
+ 17589, 14903, 624,
+ 17589, 14903, 628,
+ 17589, 14903, 692,
+ 17589, 14903, 698,
+ 17589, 14903, 704,
+ 17589, 14903, 708,
+ 17589, 14903, 710,
+ 17589, 14903, 712,
+ 17589, 14903, 732,
+ 17589, 14903, 734,
+ 17589, 14903, 736,
+ 17589, 14903, 740,
+ 17589, 14903, 744,
+ 17589, 14903, 746,
+ 17589, 14903, 1190,
+ 17589, 14903, 1656,
+ 17589, 14903, 2380,
+ 17589, 14903, 2796,
+ 17589, 14903, 2798,
+ 17589, 14903, 2802,
+ 17589, 14903, 2806,
+ 17589, 14903, 2814,
+ 17589, 14903, 2816,
+ 17589, 14903, 3254,
+ 17589, 14903, 3256,
+ 17589, 14903, 3258,
+ 17589, 14903, 3260,
+ 17589, 14903, 3262,
+ 17589, 14903, 3264,
+ 17589, 14903, 3288,
+ 17589, 14903, 3290,
+ 17589, 14903, 3292,
+ 17589, 14903, 3294,
+ 17589, 14903, 3296,
+ 17589, 14903, 3298,
+ 17590,
+ 17592,
+ 17595, 17644,
+ 17596,
+ 17613, 12199, 9808,
+ 17619, 5779, 8432,
+ 17621, 12150,
+ 17627, 5702,
+ 17631, 6682,
+ 17635, 91, 15002,
+ 17635, 91, 15111, 18504,
+ 17635, 91, 15111, 18505, 503, 11943, 632,
+ 17635, 10595, 7845, 19973, 15534,
+ 17635, 10595, 16816,
+ 17635, 10595, 18669, 895, 93, 1293, 483, 19973, 15534,
+ 17639, 2925, 10073, 11849, 2596,
+ 17639, 2925, 10073, 11849, 3056,
+ 17639, 2925, 10073, 11849, 3336,
+ 17639, 2925, 10073, 11849, 6720,
+ 17639, 2925, 10073, 11849, 6742,
+ 17639, 2925, 10073, 11849, 8736,
+ 17639, 2925, 10073, 11849, 11916,
+ 17639, 2925, 10073, 11849, 13376,
+ 17639, 2925, 10073, 11849, 13654,
+ 17639, 2925, 10377, 11849, 2596,
+ 17639, 2925, 10377, 11849, 3056,
+ 17639, 2925, 10377, 11849, 3336,
+ 17639, 2925, 10377, 11849, 6720,
+ 17639, 2925, 10377, 11849, 6742,
+ 17639, 2925, 10377, 11849, 8736,
+ 17639, 2925, 10377, 11849, 11916,
+ 17639, 2925, 10377, 11849, 13376,
+ 17639, 2925, 10377, 11849, 13654,
+ 17643, 8418,
+ 17645, 12468,
+ 17649, 9808,
+ 17653, 9808,
+ 17653, 17882,
+ 17659, 13483, 14903, 0,
+ 17659, 13483, 14903, 1, 10595, 11546,
+ 17659, 13483, 14903, 1, 10595, 18872,
+ 17659, 13483, 14903, 8,
+ 17659, 13483, 14903, 9, 10595, 18872,
+ 17659, 13483, 14903, 16,
+ 17659, 13483, 14903, 17, 10595, 12168,
+ 17659, 13483, 14903, 17, 10595, 14952,
+ 17659, 13483, 14903, 17, 10595, 18872,
+ 17659, 13483, 14903, 28,
+ 17659, 13483, 14903, 29, 10595, 18872,
+ 17659, 13483, 14903, 40,
+ 17659, 13483, 14903, 41, 10595, 14533, 11348,
+ 17659, 13483, 14903, 41, 10595, 14952,
+ 17659, 13483, 14903, 41, 10595, 18872,
+ 17659, 13483, 14903, 110,
+ 17659, 13483, 14903, 154,
+ 17659, 13483, 14903, 186,
+ 17659, 13483, 14903, 198,
+ 17659, 13483, 14903, 199, 10595, 7256,
+ 17659, 13483, 14903, 199, 10595, 10046,
+ 17659, 13483, 14903, 199, 10595, 15021, 7256,
+ 17659, 13483, 14903, 199, 10595, 18870,
+ 17659, 13483, 14903, 200,
+ 17659, 13483, 14903, 201, 10595, 10046,
+ 17659, 13483, 14903, 202,
+ 17659, 13483, 14903, 203, 10595, 7256,
+ 17659, 13483, 14903, 203, 10595, 7779, 7256,
+ 17659, 13483, 14903, 203, 10595, 10046,
+ 17659, 13483, 14903, 203, 10595, 15021, 7256,
+ 17659, 13483, 14903, 203, 10595, 18870,
+ 17659, 13483, 14903, 208,
+ 17659, 13483, 14903, 209, 10595, 10136,
+ 17659, 13483, 14903, 210,
+ 17659, 13483, 14903, 211, 10595, 18870,
+ 17659, 13483, 14903, 266,
+ 17659, 13483, 14903, 267, 10595, 7256,
+ 17659, 13483, 14903, 267, 10595, 15534,
+ 17659, 13483, 14903, 267, 10595, 18870,
+ 17659, 13483, 14903, 298,
+ 17659, 13483, 14903, 299, 10595, 11546,
+ 17659, 13483, 14903, 299, 10595, 12168,
+ 17659, 13483, 14903, 316,
+ 17659, 13483, 14903, 336,
+ 17659, 13483, 14903, 348,
+ 17659, 13483, 14903, 349, 10595, 7256,
+ 17659, 13483, 14903, 349, 10595, 15534,
+ 17659, 13483, 14903, 349, 10595, 18669, 15534,
+ 17659, 13483, 14903, 349, 10595, 18870,
+ 17659, 13483, 14903, 506,
+ 17659, 13483, 14903, 526,
+ 17659, 13483, 14903, 527, 10595, 15021, 7256,
+ 17659, 13483, 14903, 527, 10595, 18870,
+ 17659, 13483, 14903, 554,
+ 17659, 13483, 14903, 624,
+ 17659, 13483, 14903, 625, 10595, 15021, 7256,
+ 17659, 13483, 14903, 625, 10595, 18870,
+ 17659, 13483, 14903, 660,
+ 17659, 13483, 14903, 680,
+ 17659, 13483, 14903, 698,
+ 17659, 13483, 14903, 732,
+ 17659, 13483, 14903, 736,
+ 17659, 13483, 14903, 738,
+ 17659, 13483, 14903, 744,
+ 17659, 13483, 14903, 752,
+ 17659, 13483, 14903, 753, 10595, 18870,
+ 17659, 13483, 14903, 753, 10595, 18872,
+ 17659, 13483, 14903, 945, 3732,
+ 17659, 13483, 14903, 1042,
+ 17659, 13483, 14903, 1043, 10595, 18669, 15534,
+ 17659, 13483, 14903, 1043, 10595, 18870,
+ 17659, 13483, 14903, 1043, 10595, 18872,
+ 17659, 13483, 14903, 1188,
+ 17659, 13483, 14903, 1244,
+ 17659, 13483, 14903, 1252,
+ 17659, 13483, 14903, 1488,
+ 17659, 13483, 14903, 1489, 10595, 15021, 7256,
+ 17659, 13483, 14903, 1489, 10595, 15534,
+ 17659, 13483, 14903, 1489, 10595, 15535, 841, 7256,
+ 17659, 13483, 14903, 1489, 10595, 15732,
+ 17659, 13483, 14903, 1489, 10595, 18870,
+ 17659, 13483, 14903, 1512,
+ 17659, 13483, 14903, 1696,
+ 17659, 13483, 14903, 1940,
+ 17659, 13483, 14903, 1988,
+ 17659, 13483, 14903, 2112,
+ 17659, 13483, 14903, 2140,
+ 17659, 13483, 14903, 2468,
+ 17659, 13483, 14903, 2706,
+ 17659, 13483, 14903, 2894,
+ 17659, 13483, 14903, 3030,
+ 17659, 13483, 14903, 3290,
+ 17659, 13483, 14903, 3332,
+ 17659, 13483, 14903, 3630,
+ 17659, 13483, 14903, 3656,
+ 17659, 13483, 14903, 3788,
+ 17659, 13483, 14903, 3789, 10595, 11546,
+ 17659, 13483, 14903, 3789, 10595, 18870,
+ 17659, 13483, 14903, 3789, 10595, 18872,
+ 17659, 13483, 14903, 5962,
+ 17659, 13483, 14903, 6266,
+ 17659, 13483, 14903, 6442,
+ 17659, 13483, 14903, 6446,
+ 17659, 13483, 14903, 6450,
+ 17659, 13483, 14903, 6718,
+ 17659, 13483, 14903, 7095, 9808,
+ 17659, 13483, 14903, 7402,
+ 17659, 13483, 14903, 7651, 154,
+ 17659, 13483, 14903, 7651, 1188,
+ 17659, 13483, 14903, 7651, 2140,
+ 17659, 13483, 14903, 7651, 2468,
+ 17659, 13483, 14903, 7651, 3058,
+ 17659, 13483, 14903, 7651, 3252,
+ 17659, 13483, 14903, 7651, 3812,
+ 17659, 13483, 14903, 7651, 6444,
+ 17659, 13483, 14903, 9722,
+ 17659, 13483, 14903, 9723, 10595, 18870,
+ 17659, 13483, 14903, 9778,
+ 17659, 13483, 14903, 9845, 154,
+ 17659, 13483, 14903, 9845, 198,
+ 17659, 13483, 14903, 9845, 200,
+ 17659, 13483, 14903, 9845, 9808,
+ 17659, 13483, 14903, 10064,
+ 17659, 13483, 14903, 10196,
+ 17659, 13483, 14903, 10204,
+ 17659, 13483, 14903, 10210,
+ 17659, 13483, 14903, 10734,
+ 17659, 13483, 14903, 10735, 10595, 5693, 3678,
+ 17659, 13483, 14903, 10735, 10595, 18872,
+ 17659, 13483, 14903, 10900,
+ 17659, 13483, 14903, 11379, 348,
+ 17659, 13483, 14903, 11553, 13078,
+ 17659, 13483, 14903, 11860,
+ 17659, 13483, 14903, 11882,
+ 17659, 13483, 14903, 11890,
+ 17659, 13483, 14903, 12430,
+ 17659, 13483, 14903, 13078,
+ 17659, 13483, 14903, 13079, 10595, 13692,
+ 17659, 13483, 14903, 13287, 13078,
+ 17659, 13483, 14903, 13358,
+ 17659, 13483, 14903, 13359, 10595, 18872,
+ 17659, 13483, 14903, 13396,
+ 17659, 13483, 14903, 13431, 16,
+ 17659, 13483, 14903, 13431, 17, 10595, 10046,
+ 17659, 13483, 14903, 13431, 40,
+ 17659, 13483, 14903, 14271, 28,
+ 17659, 13483, 14903, 14271, 29, 10595, 18872,
+ 17659, 13483, 14903, 14407, 14935, 3732,
+ 17659, 13483, 14903, 14533, 28,
+ 17659, 13483, 14903, 14533, 19253, 28,
+ 17659, 13483, 14903, 14935, 3732,
+ 17659, 13483, 14903, 15826,
+ 17659, 13483, 14903, 15927, 348,
+ 17659, 13483, 14903, 15957, 3732,
+ 17659, 13483, 14903, 16079, 28,
+ 17659, 13483, 14903, 16414,
+ 17659, 13483, 14903, 16415, 10595, 14533, 12169, 14178,
+ 17659, 13483, 14903, 16725, 3678,
+ 17659, 13483, 14903, 18019, 0,
+ 17659, 13483, 14903, 18019, 8,
+ 17659, 13483, 14903, 18019, 945, 3732,
+ 17659, 13483, 14903, 18019, 3656,
+ 17659, 13483, 14903, 18019, 14407, 14935, 3732,
+ 17659, 13483, 14903, 18019, 14935, 3732,
+ 17659, 13483, 14903, 18238,
+ 17659, 13483, 14903, 18367, 744,
+ 17659, 13483, 14903, 18367, 752,
+ 17659, 13483, 14903, 18367, 1252,
+ 17659, 13483, 14903, 18367, 3290,
+ 17659, 13483, 14903, 18401, 9808,
+ 17659, 13483, 14903, 18475, 40,
+ 17659, 13483, 14903, 18475, 41, 10595, 15534,
+ 17659, 13483, 14903, 18699, 266,
+ 17659, 13483, 14903, 18699, 1042,
+ 17659, 13483, 14903, 18699, 1043, 10595, 18870,
+ 17659, 13483, 14903, 18699, 1252,
+ 17659, 13483, 14903, 18759, 28,
+ 17659, 13483, 14903, 19253, 28,
+ 17659, 13483, 14903, 19255, 660,
+ 17659, 13483, 14903, 19615, 298,
+ 17659, 13483, 14903, 19997, 1042,
+ 17659, 13483, 14903, 21821, 16,
+ 17659, 13483, 18079, 1, 298,
+ 17659, 13483, 18079, 203, 1488,
+ 17659, 13483, 18079, 625, 3290,
+ 17659, 14810,
+ 17659, 14903, 13483, 15993, 198,
+ 17659, 14903, 18238,
+ 17659, 14903, 20591, 28,
+ 17659, 15993, 14903, 0,
+ 17659, 15993, 14903, 1, 10595, 11546,
+ 17659, 15993, 14903, 1, 10595, 18872,
+ 17659, 15993, 14903, 8,
+ 17659, 15993, 14903, 9, 10595, 18872,
+ 17659, 15993, 14903, 16,
+ 17659, 15993, 14903, 17, 10595, 12168,
+ 17659, 15993, 14903, 17, 10595, 14952,
+ 17659, 15993, 14903, 17, 10595, 18872,
+ 17659, 15993, 14903, 28,
+ 17659, 15993, 14903, 29, 10595, 18872,
+ 17659, 15993, 14903, 40,
+ 17659, 15993, 14903, 41, 10595, 14533, 11348,
+ 17659, 15993, 14903, 41, 10595, 14952,
+ 17659, 15993, 14903, 41, 10595, 18872,
+ 17659, 15993, 14903, 110,
+ 17659, 15993, 14903, 154,
+ 17659, 15993, 14903, 186,
+ 17659, 15993, 14903, 198,
+ 17659, 15993, 14903, 199, 10595, 7256,
+ 17659, 15993, 14903, 199, 10595, 10046,
+ 17659, 15993, 14903, 199, 10595, 15021, 7256,
+ 17659, 15993, 14903, 199, 10595, 18870,
+ 17659, 15993, 14903, 200,
+ 17659, 15993, 14903, 201, 10595, 10046,
+ 17659, 15993, 14903, 202,
+ 17659, 15993, 14903, 203, 10595, 7256,
+ 17659, 15993, 14903, 203, 10595, 7779, 7256,
+ 17659, 15993, 14903, 203, 10595, 10046,
+ 17659, 15993, 14903, 203, 10595, 15021, 7256,
+ 17659, 15993, 14903, 203, 10595, 18870,
+ 17659, 15993, 14903, 208,
+ 17659, 15993, 14903, 209, 10595, 10136,
+ 17659, 15993, 14903, 210,
+ 17659, 15993, 14903, 211, 10595, 18870,
+ 17659, 15993, 14903, 266,
+ 17659, 15993, 14903, 267, 10595, 7256,
+ 17659, 15993, 14903, 267, 10595, 15534,
+ 17659, 15993, 14903, 267, 10595, 18870,
+ 17659, 15993, 14903, 298,
+ 17659, 15993, 14903, 299, 10595, 11546,
+ 17659, 15993, 14903, 299, 10595, 12168,
+ 17659, 15993, 14903, 316,
+ 17659, 15993, 14903, 336,
+ 17659, 15993, 14903, 348,
+ 17659, 15993, 14903, 349, 10595, 7256,
+ 17659, 15993, 14903, 349, 10595, 15534,
+ 17659, 15993, 14903, 349, 10595, 18669, 15534,
+ 17659, 15993, 14903, 349, 10595, 18870,
+ 17659, 15993, 14903, 506,
+ 17659, 15993, 14903, 526,
+ 17659, 15993, 14903, 527, 10595, 15021, 7256,
+ 17659, 15993, 14903, 527, 10595, 18870,
+ 17659, 15993, 14903, 554,
+ 17659, 15993, 14903, 624,
+ 17659, 15993, 14903, 625, 10595, 15021, 7256,
+ 17659, 15993, 14903, 625, 10595, 18870,
+ 17659, 15993, 14903, 660,
+ 17659, 15993, 14903, 680,
+ 17659, 15993, 14903, 698,
+ 17659, 15993, 14903, 732,
+ 17659, 15993, 14903, 736,
+ 17659, 15993, 14903, 738,
+ 17659, 15993, 14903, 744,
+ 17659, 15993, 14903, 752,
+ 17659, 15993, 14903, 753, 10595, 18870,
+ 17659, 15993, 14903, 753, 10595, 18872,
+ 17659, 15993, 14903, 945, 3732,
+ 17659, 15993, 14903, 1042,
+ 17659, 15993, 14903, 1043, 10595, 18669, 15534,
+ 17659, 15993, 14903, 1043, 10595, 18870,
+ 17659, 15993, 14903, 1043, 10595, 18872,
+ 17659, 15993, 14903, 1188,
+ 17659, 15993, 14903, 1244,
+ 17659, 15993, 14903, 1252,
+ 17659, 15993, 14903, 1488,
+ 17659, 15993, 14903, 1489, 10595, 15021, 7256,
+ 17659, 15993, 14903, 1489, 10595, 15534,
+ 17659, 15993, 14903, 1489, 10595, 15535, 841, 7256,
+ 17659, 15993, 14903, 1489, 10595, 15732,
+ 17659, 15993, 14903, 1489, 10595, 18870,
+ 17659, 15993, 14903, 1512,
+ 17659, 15993, 14903, 1696,
+ 17659, 15993, 14903, 1940,
+ 17659, 15993, 14903, 1988,
+ 17659, 15993, 14903, 2112,
+ 17659, 15993, 14903, 2140,
+ 17659, 15993, 14903, 2468,
+ 17659, 15993, 14903, 2706,
+ 17659, 15993, 14903, 2894,
+ 17659, 15993, 14903, 3030,
+ 17659, 15993, 14903, 3290,
+ 17659, 15993, 14903, 3332,
+ 17659, 15993, 14903, 3630,
+ 17659, 15993, 14903, 3656,
+ 17659, 15993, 14903, 3788,
+ 17659, 15993, 14903, 3789, 10595, 11546,
+ 17659, 15993, 14903, 3789, 10595, 18870,
+ 17659, 15993, 14903, 3789, 10595, 18872,
+ 17659, 15993, 14903, 5962,
+ 17659, 15993, 14903, 6266,
+ 17659, 15993, 14903, 6442,
+ 17659, 15993, 14903, 6446,
+ 17659, 15993, 14903, 6450,
+ 17659, 15993, 14903, 6718,
+ 17659, 15993, 14903, 7095, 9808,
+ 17659, 15993, 14903, 7402,
+ 17659, 15993, 14903, 7651, 154,
+ 17659, 15993, 14903, 7651, 1188,
+ 17659, 15993, 14903, 7651, 2140,
+ 17659, 15993, 14903, 7651, 2468,
+ 17659, 15993, 14903, 7651, 3058,
+ 17659, 15993, 14903, 7651, 3252,
+ 17659, 15993, 14903, 7651, 3812,
+ 17659, 15993, 14903, 7651, 6444,
+ 17659, 15993, 14903, 9722,
+ 17659, 15993, 14903, 9723, 10595, 18870,
+ 17659, 15993, 14903, 9778,
+ 17659, 15993, 14903, 9845, 154,
+ 17659, 15993, 14903, 9845, 198,
+ 17659, 15993, 14903, 9845, 200,
+ 17659, 15993, 14903, 9845, 9808,
+ 17659, 15993, 14903, 10064,
+ 17659, 15993, 14903, 10196,
+ 17659, 15993, 14903, 10204,
+ 17659, 15993, 14903, 10210,
+ 17659, 15993, 14903, 10734,
+ 17659, 15993, 14903, 10735, 10595, 5693, 3678,
+ 17659, 15993, 14903, 10735, 10595, 18872,
+ 17659, 15993, 14903, 10900,
+ 17659, 15993, 14903, 11379, 348,
+ 17659, 15993, 14903, 11553, 13078,
+ 17659, 15993, 14903, 11860,
+ 17659, 15993, 14903, 11882,
+ 17659, 15993, 14903, 11890,
+ 17659, 15993, 14903, 12430,
+ 17659, 15993, 14903, 13078,
+ 17659, 15993, 14903, 13079, 10595, 13692,
+ 17659, 15993, 14903, 13287, 13078,
+ 17659, 15993, 14903, 13358,
+ 17659, 15993, 14903, 13359, 10595, 18872,
+ 17659, 15993, 14903, 13396,
+ 17659, 15993, 14903, 13431, 16,
+ 17659, 15993, 14903, 13431, 17, 10595, 10046,
+ 17659, 15993, 14903, 13431, 40,
+ 17659, 15993, 14903, 14271, 28,
+ 17659, 15993, 14903, 14271, 29, 10595, 18872,
+ 17659, 15993, 14903, 14407, 14935, 3732,
+ 17659, 15993, 14903, 14533, 28,
+ 17659, 15993, 14903, 14533, 19253, 28,
+ 17659, 15993, 14903, 14935, 3732,
+ 17659, 15993, 14903, 15826,
+ 17659, 15993, 14903, 15927, 348,
+ 17659, 15993, 14903, 15957, 3732,
+ 17659, 15993, 14903, 16079, 28,
+ 17659, 15993, 14903, 16414,
+ 17659, 15993, 14903, 16415, 10595, 14533, 12169, 14178,
+ 17659, 15993, 14903, 16725, 3678,
+ 17659, 15993, 14903, 18019, 0,
+ 17659, 15993, 14903, 18019, 8,
+ 17659, 15993, 14903, 18019, 945, 3732,
+ 17659, 15993, 14903, 18019, 3656,
+ 17659, 15993, 14903, 18019, 14407, 14935, 3732,
+ 17659, 15993, 14903, 18019, 14935, 3732,
+ 17659, 15993, 14903, 18367, 744,
+ 17659, 15993, 14903, 18367, 752,
+ 17659, 15993, 14903, 18367, 1252,
+ 17659, 15993, 14903, 18367, 3290,
+ 17659, 15993, 14903, 18401, 9808,
+ 17659, 15993, 14903, 18475, 40,
+ 17659, 15993, 14903, 18475, 41, 10595, 15534,
+ 17659, 15993, 14903, 18699, 266,
+ 17659, 15993, 14903, 18699, 1042,
+ 17659, 15993, 14903, 18699, 1043, 10595, 18870,
+ 17659, 15993, 14903, 18699, 1252,
+ 17659, 15993, 14903, 18759, 28,
+ 17659, 15993, 14903, 19253, 28,
+ 17659, 15993, 14903, 19255, 660,
+ 17659, 15993, 14903, 19615, 298,
+ 17659, 15993, 14903, 19997, 1042,
+ 17659, 15993, 14903, 21821, 16,
+ 17659, 15993, 18079, 1, 298,
+ 17659, 15993, 18079, 203, 1488,
+ 17659, 15993, 18079, 625, 3290,
+ 17659, 16862,
+ 17659, 19587, 9808,
+ 17675, 6731, 9827, 15564,
+ 17677, 13734,
+ 17681, 12271, 17552,
+ 17689, 9808,
+ 17705, 1012,
+ 17711, 9808,
+ 17711, 13468,
+ 17711, 13682,
+ 17712,
+ 17713, 10595, 10086,
+ 17713, 10595, 10087, 841, 16898,
+ 17713, 10595, 16898,
+ 17834,
+ 17839, 13183, 20163, 11428,
+ 17845, 9809, 29, 10595, 11718,
+ 17845, 11353, 2163, 1212,
+ 17845, 11353, 2163, 7816,
+ 17845, 11353, 2163, 7845, 12168,
+ 17845, 11353, 2163, 10574,
+ 17845, 11353, 2163, 11348,
+ 17845, 11353, 2163, 11428,
+ 17845, 11353, 2163, 12168,
+ 17845, 11353, 2163, 13675, 11348,
+ 17845, 11353, 2163, 14396,
+ 17845, 11353, 2163, 18668,
+ 17845, 11353, 2163, 18669, 15400,
+ 17845, 11353, 2291, 18669, 15400,
+ 17845, 11353, 2291, 19973, 15400,
+ 17845, 11353, 7135, 1212,
+ 17845, 11353, 7135, 7816,
+ 17845, 11353, 7135, 7845, 12168,
+ 17845, 11353, 7135, 10574,
+ 17845, 11353, 7135, 11348,
+ 17845, 11353, 7135, 12168,
+ 17845, 11353, 7135, 13675, 11348,
+ 17845, 11353, 7135, 14396,
+ 17845, 11353, 7135, 18668,
+ 17845, 11353, 7135, 18669, 15400,
+ 17845, 11353, 7779, 19973, 15400,
+ 17845, 11353, 13271, 19973, 15400,
+ 17845, 11353, 17503, 9, 7256,
+ 17845, 11353, 17503, 17, 7256,
+ 17845, 11353, 17503, 10046,
+ 17845, 11353, 17503, 15400,
+ 17845, 11353, 17503, 17204,
+ 17845, 11353, 17503, 17205, 7256,
+ 17845, 11353, 17503, 21137, 15400,
+ 17845, 13643, 14903, 18398,
+ 17845, 14533, 8282,
+ 17845, 14903, 0,
+ 17845, 14903, 2,
+ 17845, 14903, 6,
+ 17845, 14903, 7, 36,
+ 17845, 14903, 8,
+ 17845, 14903, 10,
+ 17845, 14903, 11, 26,
+ 17845, 14903, 12,
+ 17845, 14903, 13, 35, 36,
+ 17845, 14903, 14,
+ 17845, 14903, 16,
+ 17845, 14903, 18,
+ 17845, 14903, 19, 24,
+ 17845, 14903, 19, 25, 36,
+ 17845, 14903, 19, 26,
+ 17845, 14903, 19, 27, 36,
+ 17845, 14903, 19, 36,
+ 17845, 14903, 19, 37, 10595, 1212,
+ 17845, 14903, 19, 10595, 1212,
+ 17845, 14903, 19, 10595, 6403, 14779, 841, 11346,
+ 17845, 14903, 20,
+ 17845, 14903, 21, 24,
+ 17845, 14903, 21, 35, 36,
+ 17845, 14903, 22,
+ 17845, 14903, 24,
+ 17845, 14903, 25, 26,
+ 17845, 14903, 25, 27, 36,
+ 17845, 14903, 25, 36,
+ 17845, 14903, 25, 10595, 1212,
+ 17845, 14903, 26,
+ 17845, 14903, 27, 24,
+ 17845, 14903, 27, 25, 36,
+ 17845, 14903, 27, 36,
+ 17845, 14903, 27, 10595, 1212,
+ 17845, 14903, 28,
+ 17845, 14903, 30,
+ 17845, 14903, 31, 26,
+ 17845, 14903, 34,
+ 17845, 14903, 35, 36,
+ 17845, 14903, 36,
+ 17845, 14903, 37, 18,
+ 17845, 14903, 37, 19, 36,
+ 17845, 14903, 37, 20,
+ 17845, 14903, 37, 21, 34,
+ 17845, 14903, 37, 24,
+ 17845, 14903, 37, 26,
+ 17845, 14903, 37, 30,
+ 17845, 14903, 37, 31, 34,
+ 17845, 14903, 37, 36,
+ 17845, 14903, 37, 38,
+ 17845, 14903, 37, 39, 34,
+ 17845, 14903, 37, 10595, 1212,
+ 17845, 14903, 37, 10595, 1213, 11502,
+ 17845, 14903, 38,
+ 17845, 14903, 39, 35, 36,
+ 17845, 14903, 39, 36,
+ 17845, 14903, 40,
+ 17845, 14903, 41, 26,
+ 17845, 14903, 42,
+ 17845, 14903, 44,
+ 17845, 14903, 45, 34,
+ 17845, 14903, 46,
+ 17845, 14903, 156,
+ 17845, 14903, 184,
+ 17845, 14903, 214,
+ 17845, 14903, 276,
+ 17845, 14903, 298,
+ 17845, 14903, 358,
+ 17845, 14903, 388,
+ 17845, 14903, 476,
+ 17845, 14903, 508,
+ 17845, 14903, 512,
+ 17845, 14903, 574,
+ 17845, 14903, 626,
+ 17845, 14903, 656,
+ 17845, 14903, 658,
+ 17845, 14903, 692,
+ 17845, 14903, 702,
+ 17845, 14903, 704,
+ 17845, 14903, 708,
+ 17845, 14903, 728,
+ 17845, 14903, 734,
+ 17845, 14903, 852,
+ 17845, 14903, 2606,
+ 17845, 14903, 3518,
+ 17845, 14903, 3542,
+ 17845, 14903, 7845, 16,
+ 17845, 14903, 7845, 40,
+ 17845, 14903, 12745, 0,
+ 17845, 14903, 12745, 16,
+ 17845, 14903, 12745, 28,
+ 17845, 14903, 12745, 40,
+ 17845, 14903, 13431, 16,
+ 17845, 14903, 13477, 18,
+ 17845, 14903, 13477, 40,
+ 17845, 14903, 13477, 80,
+ 17845, 14903, 13477, 156,
+ 17845, 14903, 13477, 184,
+ 17845, 14903, 13477, 190,
+ 17845, 14903, 13477, 202,
+ 17845, 14903, 13477, 494,
+ 17845, 14903, 13477, 512,
+ 17845, 14903, 15217, 78,
+ 17845, 14903, 15217, 80,
+ 17845, 14903, 17349, 24,
+ 17845, 14903, 18373, 16,
+ 17845, 14903, 18373, 40,
+ 17845, 20659, 16029, 6757, 9910,
+ 17853, 19965, 3870,
+ 17853, 19965, 3872,
+ 17853, 19965, 3874,
+ 17853, 19965, 3876,
+ 17853, 19965, 3878,
+ 17853, 19965, 3880,
+ 17853, 19965, 3882,
+ 17853, 19965, 3884,
+ 17853, 19965, 3886,
+ 17853, 19965, 3888,
+ 17853, 19965, 3890,
+ 17853, 19965, 3892,
+ 17853, 19965, 3894,
+ 17853, 19965, 3896,
+ 17853, 19965, 3898,
+ 17853, 19965, 3900,
+ 17853, 19965, 3902,
+ 17853, 19965, 3904,
+ 17853, 19965, 3906,
+ 17853, 19965, 3908,
+ 17853, 19965, 3910,
+ 17853, 19965, 3912,
+ 17853, 19965, 3914,
+ 17853, 19965, 3916,
+ 17853, 19965, 3918,
+ 17853, 19965, 3920,
+ 17853, 19965, 3922,
+ 17853, 19965, 3924,
+ 17853, 19965, 3926,
+ 17853, 19965, 3928,
+ 17853, 19965, 3930,
+ 17853, 19965, 3932,
+ 17853, 19965, 3934,
+ 17853, 19965, 3936,
+ 17853, 19965, 3938,
+ 17853, 19965, 3940,
+ 17853, 19965, 3942,
+ 17853, 19965, 3944,
+ 17853, 19965, 3946,
+ 17853, 19965, 3948,
+ 17853, 19965, 3950,
+ 17853, 19965, 3952,
+ 17853, 19965, 3954,
+ 17853, 19965, 3956,
+ 17853, 19965, 3958,
+ 17853, 19965, 3960,
+ 17853, 19965, 3962,
+ 17853, 19965, 3964,
+ 17853, 19965, 3966,
+ 17853, 19965, 3968,
+ 17853, 19965, 3970,
+ 17853, 19965, 3972,
+ 17853, 19965, 3974,
+ 17853, 19965, 3976,
+ 17853, 19965, 3978,
+ 17853, 19965, 3980,
+ 17853, 19965, 3982,
+ 17853, 19965, 3984,
+ 17853, 19965, 3986,
+ 17853, 19965, 3988,
+ 17853, 19965, 3990,
+ 17853, 19965, 3992,
+ 17853, 19965, 3994,
+ 17853, 19965, 3996,
+ 17853, 19965, 3998,
+ 17853, 19965, 4000,
+ 17853, 19965, 4002,
+ 17853, 19965, 4004,
+ 17853, 19965, 4006,
+ 17853, 19965, 4008,
+ 17853, 19965, 5286,
+ 17853, 19965, 5288,
+ 17853, 19965, 5290,
+ 17853, 19965, 5292,
+ 17853, 19965, 5294,
+ 17853, 19965, 5296,
+ 17853, 19965, 5298,
+ 17853, 19965, 5300,
+ 17853, 19965, 5302,
+ 17853, 19965, 5878,
+ 17853, 19965, 5880,
+ 17853, 19965, 5882,
+ 17853, 19965, 5884,
+ 17853, 19965, 5886,
+ 17853, 19965, 5888,
+ 17853, 19965, 5890,
+ 17853, 19965, 5892,
+ 17853, 19965, 5894,
+ 17853, 19965, 5896,
+ 17853, 19965, 5898,
+ 17853, 19965, 5900,
+ 17853, 19965, 5902,
+ 17853, 19965, 5904,
+ 17853, 19965, 5906,
+ 17853, 19965, 5908,
+ 17853, 19965, 5910,
+ 17853, 19965, 5912,
+ 17853, 19965, 5914,
+ 17853, 19965, 5916,
+ 17853, 19965, 5918,
+ 17853, 19965, 5920,
+ 17853, 19965, 5922,
+ 17853, 19965, 5924,
+ 17853, 19965, 6108,
+ 17853, 19965, 6110,
+ 17853, 19965, 6112,
+ 17853, 19965, 6114,
+ 17853, 19965, 6116,
+ 17853, 19965, 6118,
+ 17853, 19965, 6120,
+ 17853, 19965, 6122,
+ 17853, 19965, 6124,
+ 17853, 19965, 6126,
+ 17853, 19965, 6128,
+ 17853, 19965, 6130,
+ 17853, 19965, 6132,
+ 17853, 19965, 6134,
+ 17853, 19965, 6136,
+ 17853, 19965, 6138,
+ 17853, 19965, 6140,
+ 17853, 19965, 6142,
+ 17853, 19965, 6144,
+ 17853, 19965, 6146,
+ 17853, 19965, 6148,
+ 17853, 19965, 6150,
+ 17853, 19965, 6152,
+ 17853, 19965, 6154,
+ 17853, 19965, 6156,
+ 17853, 19965, 6158,
+ 17853, 19965, 6160,
+ 17853, 19965, 6162,
+ 17853, 19965, 6164,
+ 17853, 19965, 6166,
+ 17853, 19965, 6168,
+ 17853, 19965, 6170,
+ 17853, 19965, 6172,
+ 17853, 19965, 6174,
+ 17853, 19965, 6176,
+ 17853, 19965, 6178,
+ 17853, 19965, 6180,
+ 17853, 19965, 6182,
+ 17853, 19965, 6184,
+ 17853, 19965, 6186,
+ 17853, 19965, 6188,
+ 17853, 19965, 6190,
+ 17853, 19965, 6192,
+ 17853, 19965, 6194,
+ 17853, 19965, 6196,
+ 17853, 19965, 6198,
+ 17853, 19965, 6200,
+ 17853, 19965, 6202,
+ 17853, 19965, 6204,
+ 17853, 19965, 6206,
+ 17853, 19965, 6208,
+ 17853, 19965, 6210,
+ 17853, 19965, 6212,
+ 17853, 19965, 6214,
+ 17853, 19965, 6216,
+ 17853, 19965, 6218,
+ 17853, 19965, 6220,
+ 17853, 19965, 6222,
+ 17853, 19965, 6224,
+ 17853, 19965, 6226,
+ 17853, 19965, 6228,
+ 17853, 19965, 6230,
+ 17853, 19965, 6232,
+ 17853, 19965, 6234,
+ 17853, 19965, 6236,
+ 17853, 19965, 6238,
+ 17853, 19965, 6240,
+ 17853, 19965, 6452,
+ 17853, 19965, 6454,
+ 17853, 19965, 6456,
+ 17853, 19965, 6458,
+ 17853, 19965, 6460,
+ 17853, 19965, 6462,
+ 17853, 19965, 6464,
+ 17853, 19965, 6466,
+ 17853, 19965, 6468,
+ 17853, 19965, 6470,
+ 17853, 19965, 6472,
+ 17853, 19965, 6474,
+ 17853, 19965, 6476,
+ 17853, 19965, 6478,
+ 17853, 19965, 6480,
+ 17853, 19965, 6482,
+ 17853, 19965, 6484,
+ 17853, 19965, 6486,
+ 17853, 19965, 6488,
+ 17853, 19965, 6490,
+ 17853, 19965, 6492,
+ 17853, 19965, 6494,
+ 17853, 19965, 6496,
+ 17853, 19965, 6498,
+ 17853, 19965, 6500,
+ 17853, 19965, 6502,
+ 17853, 19965, 6504,
+ 17853, 19965, 6506,
+ 17853, 19965, 6508,
+ 17853, 19965, 6510,
+ 17853, 19965, 6512,
+ 17853, 19965, 6514,
+ 17853, 19965, 6516,
+ 17853, 19965, 6518,
+ 17853, 19965, 6520,
+ 17853, 19965, 6522,
+ 17853, 19965, 6524,
+ 17853, 19965, 6574,
+ 17853, 19965, 6576,
+ 17853, 19965, 6578,
+ 17853, 19965, 6580,
+ 17853, 19965, 6582,
+ 17853, 19965, 6584,
+ 17853, 19965, 6586,
+ 17853, 19965, 6588,
+ 17853, 19965, 6590,
+ 17853, 19965, 6592,
+ 17853, 19965, 6594,
+ 17853, 19965, 6596,
+ 17853, 19965, 6598,
+ 17853, 19965, 6600,
+ 17853, 19965, 6602,
+ 17853, 19965, 6604,
+ 17853, 19965, 6606,
+ 17853, 19965, 6608,
+ 17853, 19965, 6610,
+ 17853, 19965, 6612,
+ 17853, 19965, 6614,
+ 17853, 19965, 6616,
+ 17853, 19965, 6618,
+ 17853, 19965, 6620,
+ 17853, 19965, 6622,
+ 17853, 19965, 6624,
+ 17853, 19965, 6626,
+ 17853, 19965, 6628,
+ 17853, 19965, 6630,
+ 17853, 19965, 6632,
+ 17853, 19965, 6634,
+ 17853, 19965, 6636,
+ 17853, 19965, 6638,
+ 17853, 19965, 6640,
+ 17853, 19965, 6642,
+ 17853, 19965, 6644,
+ 17853, 19965, 6646,
+ 17853, 19965, 6648,
+ 17853, 19965, 6650,
+ 17853, 19965, 6652,
+ 17853, 19965, 6654,
+ 17853, 19965, 6656,
+ 17853, 19965, 6658,
+ 17853, 19965, 6660,
+ 17853, 19965, 6662,
+ 17853, 19965, 6664,
+ 17853, 19965, 6666,
+ 17853, 19965, 6668,
+ 17853, 19965, 6670,
+ 17853, 19965, 6672,
+ 17853, 19965, 6674,
+ 17853, 19965, 6676,
+ 17853, 19965, 6678,
+ 17853, 19965, 6774,
+ 17853, 19965, 6776,
+ 17853, 19965, 6778,
+ 17853, 19965, 6780,
+ 17853, 19965, 6782,
+ 17853, 19965, 6784,
+ 17853, 19965, 6786,
+ 17853, 19965, 6788,
+ 17853, 19965, 6790,
+ 17853, 19965, 6792,
+ 17853, 19965, 6794,
+ 17853, 19965, 6796,
+ 17853, 19965, 6798,
+ 17853, 19965, 6800,
+ 17853, 19965, 6802,
+ 17853, 19965, 6804,
+ 17853, 19965, 6806,
+ 17853, 19965, 6808,
+ 17853, 19965, 6810,
+ 17853, 19965, 6812,
+ 17853, 19965, 6814,
+ 17853, 19965, 6816,
+ 17853, 19965, 6818,
+ 17853, 19965, 6820,
+ 17853, 19965, 6822,
+ 17853, 19965, 6824,
+ 17853, 19965, 6826,
+ 17853, 19965, 6828,
+ 17853, 19965, 6830,
+ 17853, 19965, 6832,
+ 17853, 19965, 6834,
+ 17853, 19965, 6836,
+ 17853, 19965, 6838,
+ 17853, 19965, 6840,
+ 17853, 19965, 6842,
+ 17853, 19965, 6844,
+ 17853, 19965, 6846,
+ 17853, 19965, 6848,
+ 17853, 19965, 6850,
+ 17853, 19965, 6852,
+ 17853, 19965, 6854,
+ 17853, 19965, 6856,
+ 17853, 19965, 6858,
+ 17853, 19965, 6860,
+ 17853, 19965, 6862,
+ 17853, 19965, 6864,
+ 17853, 19965, 6866,
+ 17853, 19965, 6868,
+ 17853, 19965, 6870,
+ 17853, 19965, 6872,
+ 17853, 19965, 6874,
+ 17853, 19965, 6876,
+ 17853, 19965, 6878,
+ 17853, 19965, 6880,
+ 17853, 19965, 7062,
+ 17853, 19965, 7064,
+ 17853, 19965, 7066,
+ 17853, 19965, 7068,
+ 17853, 19965, 7070,
+ 17853, 19965, 7072,
+ 17853, 19965, 7074,
+ 17853, 19965, 7076,
+ 17853, 19965, 7346,
+ 17853, 19965, 7348,
+ 17853, 19965, 7350,
+ 17853, 19965, 7352,
+ 17853, 19965, 7354,
+ 17853, 19965, 7356,
+ 17853, 19965, 7358,
+ 17853, 19965, 7360,
+ 17853, 19965, 7362,
+ 17853, 19965, 7364,
+ 17853, 19965, 7366,
+ 17853, 19965, 7368,
+ 17853, 19965, 7370,
+ 17853, 19965, 7372,
+ 17853, 19965, 7374,
+ 17853, 19965, 7504,
+ 17853, 19965, 7506,
+ 17853, 19965, 7508,
+ 17853, 19965, 7510,
+ 17853, 19965, 7512,
+ 17853, 19965, 7514,
+ 17853, 19965, 7516,
+ 17853, 19965, 7518,
+ 17853, 19965, 7718,
+ 17853, 19965, 7720,
+ 17853, 19965, 7722,
+ 17853, 19965, 7724,
+ 17853, 19965, 7726,
+ 17853, 19965, 7728,
+ 17853, 19965, 7730,
+ 17853, 19965, 7732,
+ 17853, 19965, 7876,
+ 17853, 19965, 7878,
+ 17853, 19965, 7880,
+ 17853, 19965, 7882,
+ 17853, 19965, 7884,
+ 17853, 19965, 7886,
+ 17853, 19965, 7888,
+ 17853, 19965, 7890,
+ 17853, 19965, 7892,
+ 17853, 19965, 7894,
+ 17853, 19965, 7896,
+ 17853, 19965, 7898,
+ 17853, 19965, 7900,
+ 17853, 19965, 7902,
+ 17853, 19965, 7904,
+ 17853, 19965, 7906,
+ 17853, 19965, 7908,
+ 17853, 19965, 7910,
+ 17853, 19965, 7912,
+ 17853, 19965, 7914,
+ 17853, 19965, 7916,
+ 17853, 19965, 7918,
+ 17853, 19965, 7920,
+ 17853, 19965, 7922,
+ 17853, 19965, 7924,
+ 17853, 19965, 7926,
+ 17853, 19965, 7928,
+ 17853, 19965, 7930,
+ 17853, 19965, 7932,
+ 17853, 19965, 7934,
+ 17853, 19965, 7936,
+ 17853, 19965, 7938,
+ 17853, 19965, 7940,
+ 17853, 19965, 7942,
+ 17853, 19965, 7944,
+ 17853, 19965, 7946,
+ 17853, 19965, 7948,
+ 17853, 19965, 7950,
+ 17853, 19965, 7952,
+ 17853, 19965, 7954,
+ 17853, 19965, 7956,
+ 17853, 19965, 7958,
+ 17853, 19965, 7960,
+ 17853, 19965, 7962,
+ 17853, 19965, 8460,
+ 17853, 19965, 8462,
+ 17853, 19965, 8464,
+ 17853, 19965, 8466,
+ 17853, 19965, 8468,
+ 17853, 19965, 8470,
+ 17853, 19965, 8472,
+ 17853, 19965, 8474,
+ 17853, 19965, 8476,
+ 17853, 19965, 8478,
+ 17853, 19965, 8480,
+ 17853, 19965, 8482,
+ 17853, 19965, 8484,
+ 17853, 19965, 8486,
+ 17853, 19965, 8488,
+ 17853, 19965, 8490,
+ 17853, 19965, 8492,
+ 17853, 19965, 8494,
+ 17853, 19965, 8496,
+ 17853, 19965, 8498,
+ 17853, 19965, 8500,
+ 17853, 19965, 8502,
+ 17853, 19965, 8504,
+ 17853, 19965, 8506,
+ 17853, 19965, 8508,
+ 17853, 19965, 8510,
+ 17853, 19965, 8512,
+ 17853, 19965, 8514,
+ 17853, 19965, 8516,
+ 17853, 19965, 8518,
+ 17853, 19965, 8520,
+ 17853, 19965, 8522,
+ 17853, 19965, 8524,
+ 17853, 19965, 8526,
+ 17853, 19965, 8528,
+ 17853, 19965, 8530,
+ 17853, 19965, 8532,
+ 17853, 19965, 8534,
+ 17853, 19965, 8536,
+ 17853, 19965, 8538,
+ 17853, 19965, 8540,
+ 17853, 19965, 8542,
+ 17853, 19965, 9008,
+ 17853, 19965, 9010,
+ 17853, 19965, 9012,
+ 17853, 19965, 9014,
+ 17853, 19965, 9016,
+ 17853, 19965, 9018,
+ 17853, 19965, 9020,
+ 17853, 19965, 9022,
+ 17853, 19965, 9024,
+ 17853, 19965, 9026,
+ 17853, 19965, 9028,
+ 17853, 19965, 9030,
+ 17853, 19965, 9032,
+ 17853, 19965, 9034,
+ 17853, 19965, 9036,
+ 17853, 19965, 9038,
+ 17853, 19965, 9040,
+ 17853, 19965, 9042,
+ 17853, 19965, 9044,
+ 17853, 19965, 9046,
+ 17853, 19965, 9048,
+ 17853, 19965, 9050,
+ 17853, 19965, 9052,
+ 17853, 19965, 9054,
+ 17853, 19965, 9056,
+ 17853, 19965, 9058,
+ 17853, 19965, 9060,
+ 17853, 19965, 9062,
+ 17853, 19965, 9064,
+ 17853, 19965, 9066,
+ 17853, 19965, 9068,
+ 17853, 19965, 9070,
+ 17853, 19965, 9072,
+ 17853, 19965, 9074,
+ 17853, 19965, 9076,
+ 17853, 19965, 9078,
+ 17853, 19965, 9080,
+ 17853, 19965, 9082,
+ 17853, 19965, 9084,
+ 17853, 19965, 9086,
+ 17853, 19965, 9088,
+ 17853, 19965, 9090,
+ 17853, 19965, 9092,
+ 17853, 19965, 9094,
+ 17853, 19965, 9096,
+ 17853, 19965, 9098,
+ 17853, 19965, 9100,
+ 17853, 19965, 9102,
+ 17853, 19965, 9104,
+ 17853, 19965, 9106,
+ 17853, 19965, 9108,
+ 17853, 19965, 9134,
+ 17853, 19965, 9136,
+ 17853, 19965, 9138,
+ 17853, 19965, 9140,
+ 17853, 19965, 9142,
+ 17853, 19965, 9144,
+ 17853, 19965, 9146,
+ 17853, 19965, 9148,
+ 17853, 19965, 9150,
+ 17853, 19965, 9152,
+ 17853, 19965, 9154,
+ 17853, 19965, 9284,
+ 17853, 19965, 9286,
+ 17853, 19965, 9288,
+ 17853, 19965, 9290,
+ 17853, 19965, 9292,
+ 17853, 19965, 9294,
+ 17853, 19965, 9296,
+ 17853, 19965, 9350,
+ 17853, 19965, 9352,
+ 17853, 19965, 9354,
+ 17853, 19965, 9356,
+ 17853, 19965, 9358,
+ 17853, 19965, 9360,
+ 17853, 19965, 9362,
+ 17853, 19965, 9364,
+ 17853, 19965, 9366,
+ 17853, 19965, 9368,
+ 17853, 19965, 9370,
+ 17853, 19965, 9372,
+ 17853, 19965, 9374,
+ 17853, 19965, 9376,
+ 17853, 19965, 9378,
+ 17853, 19965, 9380,
+ 17853, 19965, 9382,
+ 17853, 19965, 9384,
+ 17853, 19965, 9386,
+ 17853, 19965, 9388,
+ 17853, 19965, 9390,
+ 17853, 19965, 9392,
+ 17853, 19965, 9394,
+ 17853, 19965, 9396,
+ 17853, 19965, 9398,
+ 17853, 19965, 9400,
+ 17853, 19965, 9402,
+ 17853, 19965, 9404,
+ 17853, 19965, 9406,
+ 17853, 19965, 9540,
+ 17853, 19965, 9542,
+ 17853, 19965, 9544,
+ 17853, 19965, 9546,
+ 17853, 19965, 9548,
+ 17853, 19965, 9550,
+ 17853, 19965, 9552,
+ 17853, 19965, 9554,
+ 17853, 19965, 9556,
+ 17853, 19965, 9558,
+ 17853, 19965, 9560,
+ 17853, 19965, 9562,
+ 17853, 19965, 9564,
+ 17853, 19965, 9566,
+ 17853, 19965, 9568,
+ 17853, 19965, 9570,
+ 17853, 19965, 9572,
+ 17853, 19965, 9574,
+ 17853, 19965, 9576,
+ 17853, 19965, 9578,
+ 17853, 19965, 9580,
+ 17853, 19965, 9582,
+ 17853, 19965, 9584,
+ 17853, 19965, 9586,
+ 17853, 19965, 9588,
+ 17853, 19965, 9590,
+ 17853, 19965, 9592,
+ 17853, 19965, 9594,
+ 17853, 19965, 9596,
+ 17853, 19965, 9598,
+ 17853, 19965, 9600,
+ 17853, 19965, 9602,
+ 17853, 19965, 9604,
+ 17853, 19965, 9606,
+ 17853, 19965, 9608,
+ 17853, 19965, 9610,
+ 17853, 19965, 9612,
+ 17853, 19965, 9614,
+ 17853, 19965, 9616,
+ 17853, 19965, 9618,
+ 17853, 19965, 9620,
+ 17853, 19965, 9622,
+ 17853, 19965, 9624,
+ 17853, 19965, 9626,
+ 17853, 19965, 9628,
+ 17853, 19965, 9630,
+ 17853, 19965, 9956,
+ 17853, 19965, 9958,
+ 17853, 19965, 9960,
+ 17853, 19965, 9962,
+ 17853, 19965, 9964,
+ 17853, 19965, 9966,
+ 17853, 19965, 9968,
+ 17853, 19965, 9970,
+ 17853, 19965, 9972,
+ 17853, 19965, 9974,
+ 17853, 19965, 9976,
+ 17853, 19965, 9978,
+ 17853, 19965, 9980,
+ 17853, 19965, 9982,
+ 17853, 19965, 9984,
+ 17853, 19965, 9986,
+ 17853, 19965, 9988,
+ 17853, 19965, 9990,
+ 17853, 19965, 9992,
+ 17853, 19965, 9994,
+ 17853, 19965, 9996,
+ 17853, 19965, 9998,
+ 17853, 19965, 10000,
+ 17853, 19965, 10002,
+ 17853, 19965, 10004,
+ 17853, 19965, 10006,
+ 17853, 19965, 10008,
+ 17853, 19965, 10010,
+ 17853, 19965, 10012,
+ 17853, 19965, 10014,
+ 17853, 19965, 10016,
+ 17853, 19965, 10018,
+ 17853, 19965, 10020,
+ 17853, 19965, 10022,
+ 17853, 19965, 10024,
+ 17853, 19965, 10026,
+ 17853, 19965, 10280,
+ 17853, 19965, 10282,
+ 17853, 19965, 10284,
+ 17853, 19965, 10286,
+ 17853, 19965, 10288,
+ 17853, 19965, 10290,
+ 17853, 19965, 10292,
+ 17853, 19965, 10294,
+ 17853, 19965, 10296,
+ 17853, 19965, 10298,
+ 17853, 19965, 10300,
+ 17853, 19965, 10302,
+ 17853, 19965, 10304,
+ 17853, 19965, 10306,
+ 17853, 19965, 10308,
+ 17853, 19965, 10310,
+ 17853, 19965, 10312,
+ 17853, 19965, 10314,
+ 17853, 19965, 10316,
+ 17853, 19965, 10318,
+ 17853, 19965, 10320,
+ 17853, 19965, 10322,
+ 17853, 19965, 10324,
+ 17853, 19965, 10326,
+ 17853, 19965, 10328,
+ 17853, 19965, 10330,
+ 17853, 19965, 10332,
+ 17853, 19965, 10334,
+ 17853, 19965, 10336,
+ 17853, 19965, 10338,
+ 17853, 19965, 10340,
+ 17853, 19965, 10342,
+ 17853, 19965, 10344,
+ 17853, 19965, 10346,
+ 17853, 19965, 10348,
+ 17853, 19965, 10350,
+ 17853, 19965, 10352,
+ 17853, 19965, 10354,
+ 17853, 19965, 10356,
+ 17853, 19965, 10358,
+ 17853, 19965, 10360,
+ 17853, 19965, 10362,
+ 17853, 19965, 10398,
+ 17853, 19965, 10400,
+ 17853, 19965, 10402,
+ 17853, 19965, 10404,
+ 17853, 19965, 10406,
+ 17853, 19965, 10408,
+ 17853, 19965, 10410,
+ 17853, 19965, 10412,
+ 17853, 19965, 10414,
+ 17853, 19965, 10416,
+ 17853, 19965, 10418,
+ 17853, 19965, 10420,
+ 17853, 19965, 10422,
+ 17853, 19965, 10424,
+ 17853, 19965, 10426,
+ 17853, 19965, 10428,
+ 17853, 19965, 10430,
+ 17853, 19965, 10432,
+ 17853, 19965, 10434,
+ 17853, 19965, 10436,
+ 17853, 19965, 10438,
+ 17853, 19965, 10440,
+ 17853, 19965, 10442,
+ 17853, 19965, 10444,
+ 17853, 19965, 10446,
+ 17853, 19965, 10448,
+ 17853, 19965, 10450,
+ 17853, 19965, 10452,
+ 17853, 19965, 10454,
+ 17853, 19965, 10456,
+ 17853, 19965, 10458,
+ 17853, 19965, 10460,
+ 17853, 19965, 10462,
+ 17853, 19965, 10464,
+ 17853, 19965, 10466,
+ 17853, 19965, 10468,
+ 17853, 19965, 10470,
+ 17853, 19965, 10472,
+ 17853, 19965, 10474,
+ 17853, 19965, 10476,
+ 17853, 19965, 10518,
+ 17853, 19965, 10520,
+ 17853, 19965, 10522,
+ 17853, 19965, 10524,
+ 17853, 19965, 10526,
+ 17853, 19965, 10528,
+ 17853, 19965, 10530,
+ 17853, 19965, 10532,
+ 17853, 19965, 10534,
+ 17853, 19965, 10536,
+ 17853, 19965, 10538,
+ 17853, 19965, 10540,
+ 17853, 19965, 10542,
+ 17853, 19965, 10544,
+ 17853, 19965, 10546,
+ 17853, 19965, 10548,
+ 17853, 19965, 10550,
+ 17853, 19965, 10552,
+ 17853, 19965, 10554,
+ 17853, 19965, 10556,
+ 17853, 19965, 10558,
+ 17853, 19965, 10560,
+ 17853, 19965, 10562,
+ 17853, 19965, 10564,
+ 17853, 19965, 10566,
+ 17853, 19965, 10618,
+ 17853, 19965, 10620,
+ 17853, 19965, 10622,
+ 17853, 19965, 10624,
+ 17853, 19965, 10626,
+ 17853, 19965, 10628,
+ 17853, 19965, 10630,
+ 17853, 19965, 10632,
+ 17853, 19965, 10664,
+ 17853, 19965, 10666,
+ 17853, 19965, 10668,
+ 17853, 19965, 10670,
+ 17853, 19965, 10672,
+ 17853, 19965, 10674,
+ 17853, 19965, 10676,
+ 17853, 19965, 10678,
+ 17853, 19965, 10810,
+ 17853, 19965, 10812,
+ 17853, 19965, 10814,
+ 17853, 19965, 10816,
+ 17853, 19965, 10818,
+ 17853, 19965, 10820,
+ 17853, 19965, 10822,
+ 17853, 19965, 10824,
+ 17853, 19965, 10826,
+ 17853, 19965, 10828,
+ 17853, 19965, 10830,
+ 17853, 19965, 10832,
+ 17853, 19965, 10834,
+ 17853, 19965, 10836,
+ 17853, 19965, 10838,
+ 17853, 19965, 10840,
+ 17853, 19965, 10984,
+ 17853, 19965, 10986,
+ 17853, 19965, 10988,
+ 17853, 19965, 10992,
+ 17853, 19965, 10994,
+ 17853, 19965, 11000,
+ 17853, 19965, 11004,
+ 17853, 19965, 11008,
+ 17853, 19965, 11010,
+ 17853, 19965, 11012,
+ 17853, 19965, 11132,
+ 17853, 19965, 11134,
+ 17853, 19965, 11136,
+ 17853, 19965, 11138,
+ 17853, 19965, 11140,
+ 17853, 19965, 11142,
+ 17853, 19965, 11144,
+ 17853, 19965, 11146,
+ 17853, 19965, 11148,
+ 17853, 19965, 11150,
+ 17853, 19965, 11152,
+ 17853, 19965, 11154,
+ 17853, 19965, 11156,
+ 17853, 19965, 11158,
+ 17853, 19965, 11160,
+ 17853, 19965, 11162,
+ 17853, 19965, 11164,
+ 17853, 19965, 11166,
+ 17853, 19965, 11168,
+ 17853, 19965, 11170,
+ 17853, 19965, 11172,
+ 17853, 19965, 11174,
+ 17853, 19965, 11176,
+ 17853, 19965, 11178,
+ 17853, 19965, 11180,
+ 17853, 19965, 11182,
+ 17853, 19965, 11184,
+ 17853, 19965, 11186,
+ 17853, 19965, 11188,
+ 17853, 19965, 11190,
+ 17853, 19965, 11192,
+ 17853, 19965, 11194,
+ 17853, 19965, 11444,
+ 17853, 19965, 11578,
+ 17853, 19965, 11580,
+ 17853, 19965, 11582,
+ 17853, 19965, 11584,
+ 17853, 19965, 11730,
+ 17853, 19965, 11732,
+ 17853, 19965, 11734,
+ 17853, 19965, 11736,
+ 17853, 19965, 11738,
+ 17853, 19965, 11740,
+ 17853, 19965, 11742,
+ 17853, 19965, 11744,
+ 17853, 19965, 11746,
+ 17853, 19965, 11748,
+ 17853, 19965, 11750,
+ 17853, 19965, 11752,
+ 17853, 19965, 11754,
+ 17853, 19965, 11756,
+ 17853, 19965, 11758,
+ 17853, 19965, 11760,
+ 17853, 19965, 11762,
+ 17853, 19965, 11764,
+ 17853, 19965, 11766,
+ 17853, 19965, 11768,
+ 17853, 19965, 11770,
+ 17853, 19965, 11772,
+ 17853, 19965, 11774,
+ 17853, 19965, 11776,
+ 17853, 19965, 11778,
+ 17853, 19965, 11892,
+ 17853, 19965, 11894,
+ 17853, 19965, 11896,
+ 17853, 19965, 11898,
+ 17853, 19965, 11900,
+ 17853, 19965, 11902,
+ 17853, 19965, 11904,
+ 17853, 19965, 11974,
+ 17853, 19965, 11976,
+ 17853, 19965, 11978,
+ 17853, 19965, 11980,
+ 17853, 19965, 11982,
+ 17853, 19965, 11984,
+ 17853, 19965, 11986,
+ 17853, 19965, 11988,
+ 17853, 19965, 11990,
+ 17853, 19965, 11992,
+ 17853, 19965, 11994,
+ 17853, 19965, 11996,
+ 17853, 19965, 12062,
+ 17853, 19965, 12064,
+ 17853, 19965, 12066,
+ 17853, 19965, 12068,
+ 17853, 19965, 12070,
+ 17853, 19965, 12072,
+ 17853, 19965, 12074,
+ 17853, 19965, 12076,
+ 17853, 19965, 12078,
+ 17853, 19965, 12080,
+ 17853, 19965, 12184,
+ 17853, 19965, 12298,
+ 17853, 19965, 12300,
+ 17853, 19965, 12302,
+ 17853, 19965, 12304,
+ 17853, 19965, 12444,
+ 17853, 19965, 12446,
+ 17853, 19965, 12532,
+ 17853, 19965, 12534,
+ 17853, 19965, 12536,
+ 17853, 19965, 12538,
+ 17853, 19965, 12540,
+ 17853, 19965, 12542,
+ 17853, 19965, 12544,
+ 17853, 19965, 12546,
+ 17853, 19965, 12548,
+ 17853, 19965, 12550,
+ 17853, 19965, 12552,
+ 17853, 19965, 12554,
+ 17853, 19965, 12556,
+ 17853, 19965, 12558,
+ 17853, 19965, 12560,
+ 17853, 19965, 12562,
+ 17853, 19965, 12564,
+ 17853, 19965, 12566,
+ 17853, 19965, 12568,
+ 17853, 19965, 12570,
+ 17853, 19965, 12572,
+ 17853, 19965, 12574,
+ 17853, 19965, 12722,
+ 17853, 19965, 12724,
+ 17853, 19965, 12726,
+ 17853, 19965, 12728,
+ 17853, 19965, 12730,
+ 17853, 19965, 12732,
+ 17853, 19965, 12734,
+ 17853, 19965, 12856,
+ 17853, 19965, 12858,
+ 17853, 19965, 12860,
+ 17853, 19965, 12862,
+ 17853, 19965, 12864,
+ 17853, 19965, 12866,
+ 17853, 19965, 12868,
+ 17853, 19965, 12870,
+ 17853, 19965, 12872,
+ 17853, 19965, 12874,
+ 17853, 19965, 12876,
+ 17853, 19965, 12878,
+ 17853, 19965, 12880,
+ 17853, 19965, 12882,
+ 17853, 19965, 12884,
+ 17853, 19965, 12886,
+ 17853, 19965, 12888,
+ 17853, 19965, 12890,
+ 17853, 19965, 12892,
+ 17853, 19965, 12894,
+ 17853, 19965, 12940,
+ 17853, 19965, 12942,
+ 17853, 19965, 12944,
+ 17853, 19965, 12946,
+ 17853, 19965, 12948,
+ 17853, 19965, 12950,
+ 17853, 19965, 12952,
+ 17853, 19965, 12954,
+ 17853, 19965, 12956,
+ 17853, 19965, 12958,
+ 17853, 19965, 12960,
+ 17853, 19965, 12962,
+ 17853, 19965, 12964,
+ 17853, 19965, 12966,
+ 17853, 19965, 12968,
+ 17853, 19965, 12970,
+ 17853, 19965, 12972,
+ 17853, 19965, 12974,
+ 17853, 19965, 12976,
+ 17853, 19965, 12978,
+ 17853, 19965, 12980,
+ 17853, 19965, 12982,
+ 17853, 19965, 13018,
+ 17853, 19965, 13020,
+ 17853, 19965, 13022,
+ 17853, 19965, 13024,
+ 17853, 19965, 13026,
+ 17853, 19965, 13028,
+ 17853, 19965, 13030,
+ 17853, 19965, 13032,
+ 17853, 19965, 13034,
+ 17853, 19965, 13036,
+ 17853, 19965, 13038,
+ 17853, 19965, 13040,
+ 17853, 19965, 13042,
+ 17853, 19965, 13044,
+ 17853, 19965, 13046,
+ 17853, 19965, 13048,
+ 17853, 19965, 13050,
+ 17853, 19965, 13052,
+ 17853, 19965, 13054,
+ 17853, 19965, 13056,
+ 17853, 19965, 13058,
+ 17853, 19965, 13060,
+ 17853, 19965, 13062,
+ 17853, 19965, 13064,
+ 17853, 19965, 13098,
+ 17853, 19965, 13100,
+ 17853, 19965, 13228,
+ 17853, 19965, 13230,
+ 17853, 19965, 13232,
+ 17853, 19965, 13234,
+ 17853, 19965, 13236,
+ 17853, 19965, 13314,
+ 17853, 19965, 13316,
+ 17853, 19965, 13318,
+ 17853, 19965, 13320,
+ 17853, 19965, 13322,
+ 17853, 19965, 13324,
+ 17853, 19965, 13326,
+ 17853, 19965, 13328,
+ 17853, 19965, 13584,
+ 17853, 19965, 13586,
+ 17853, 19965, 13588,
+ 17853, 19965, 13590,
+ 17853, 19965, 13592,
+ 17853, 19965, 13594,
+ 17853, 19965, 13596,
+ 17853, 19965, 13598,
+ 17853, 19965, 13782,
+ 17853, 19965, 13784,
+ 17853, 19965, 13786,
+ 17853, 19965, 13788,
+ 17853, 19965, 13790,
+ 17853, 19965, 13816,
+ 17853, 19965, 13818,
+ 17853, 19965, 13820,
+ 17853, 19965, 13822,
+ 17853, 19965, 13824,
+ 17853, 19965, 13826,
+ 17853, 19965, 13828,
+ 17853, 19965, 13830,
+ 17853, 19965, 13832,
+ 17853, 19965, 13834,
+ 17853, 19965, 13836,
+ 17853, 19965, 13838,
+ 17853, 19965, 13840,
+ 17853, 19965, 13842,
+ 17853, 19965, 13844,
+ 17853, 19965, 13846,
+ 17853, 19965, 13848,
+ 17853, 19965, 13850,
+ 17853, 19965, 13852,
+ 17853, 19965, 13854,
+ 17853, 19965, 13856,
+ 17853, 19965, 13858,
+ 17853, 19965, 13860,
+ 17853, 19965, 13862,
+ 17853, 19965, 13864,
+ 17853, 19965, 13866,
+ 17853, 19965, 13868,
+ 17853, 19965, 13870,
+ 17853, 19965, 13872,
+ 17853, 19965, 13874,
+ 17853, 19965, 13876,
+ 17853, 19965, 13878,
+ 17853, 19965, 13880,
+ 17853, 19965, 13882,
+ 17853, 19965, 13884,
+ 17853, 19965, 13886,
+ 17853, 19965, 13888,
+ 17853, 19965, 13924,
+ 17853, 19965, 13926,
+ 17853, 19965, 13928,
+ 17853, 19965, 13930,
+ 17853, 19965, 13932,
+ 17853, 19965, 13934,
+ 17853, 19965, 13936,
+ 17853, 19965, 13996,
+ 17853, 19965, 13998,
+ 17853, 19965, 14000,
+ 17853, 19965, 14002,
+ 17853, 19965, 14010,
+ 17853, 19965, 14058,
+ 17853, 19965, 14060,
+ 17853, 19965, 14062,
+ 17853, 19965, 14064,
+ 17853, 19965, 14066,
+ 17853, 19965, 14068,
+ 17853, 19965, 14070,
+ 17853, 19965, 14072,
+ 17853, 19965, 14074,
+ 17853, 19965, 14076,
+ 17853, 19965, 14078,
+ 17853, 19965, 14080,
+ 17853, 19965, 14082,
+ 17853, 19965, 14084,
+ 17853, 19965, 14086,
+ 17853, 19965, 14088,
+ 17853, 19965, 14090,
+ 17853, 19965, 14092,
+ 17853, 19965, 14094,
+ 17853, 19965, 14096,
+ 17853, 19965, 14098,
+ 17853, 19965, 14100,
+ 17853, 19965, 14102,
+ 17853, 19965, 14104,
+ 17853, 19965, 14106,
+ 17853, 19965, 14160,
+ 17853, 19965, 14162,
+ 17853, 19965, 15102,
+ 17853, 19965, 15104,
+ 17853, 19965, 15122,
+ 17853, 19965, 15124,
+ 17853, 19965, 15126,
+ 17853, 19965, 15128,
+ 17857, 9236,
+ 17857, 11428,
+ 17857, 12499, 5846,
+ 17857, 13714,
+ 17858,
+ 17865, 15564,
+ 17870,
+ 17871, 10595, 19029, 11429, 11346,
+ 17871, 10595, 19220,
+ 17879, 6757, 9910,
+ 17879, 11702,
+ 17879, 11708,
+ 17879, 11849, 2596,
+ 17879, 11849, 3056,
+ 17879, 11849, 3336,
+ 17879, 11849, 6720,
+ 17879, 11849, 6742,
+ 17879, 11849, 8736,
+ 17879, 11849, 11916,
+ 17879, 11849, 13376,
+ 17879, 11849, 13654,
+ 17879, 13709, 8283, 7688,
+ 17879, 13709, 8283, 11836,
+ 17879, 13709, 8283, 11846,
+ 17879, 13709, 8283, 12214,
+ 17879, 13709, 8283, 12390,
+ 17879, 13709, 8283, 13431, 15340,
+ 17879, 13709, 8283, 14040,
+ 17879, 13709, 8283, 14384,
+ 17879, 13709, 8283, 15340,
+ 17879, 13709, 8283, 20382,
+ 17879, 15133, 3212,
+ 17879, 15133, 3213, 18566,
+ 17879, 15133, 12018,
+ 17879, 15133, 12046,
+ 17879, 15133, 13460,
+ 17879, 15133, 14544,
+ 17879, 15133, 15094,
+ 17879, 15133, 15626,
+ 17879, 15133, 15708,
+ 17879, 15133, 16378,
+ 17879, 15133, 17056,
+ 17879, 16931, 11702,
+ 17879, 17045, 8282,
+ 17879, 18335, 8282,
+ 17879, 18519, 106,
+ 17879, 18519, 110,
+ 17879, 18519, 114,
+ 17879, 18519, 116,
+ 17879, 18519, 120,
+ 17879, 18519, 124,
+ 17879, 18519, 130,
+ 17879, 18519, 134,
+ 17879, 18519, 140,
+ 17879, 18519, 142,
+ 17879, 18519, 148,
+ 17879, 18519, 154,
+ 17879, 18519, 158,
+ 17879, 18519, 166,
+ 17879, 18519, 168,
+ 17879, 18519, 224,
+ 17879, 18519, 226,
+ 17879, 18519, 230,
+ 17879, 18519, 236,
+ 17879, 18519, 238,
+ 17879, 18519, 244,
+ 17879, 18519, 248,
+ 17879, 18519, 254,
+ 17879, 18519, 258,
+ 17879, 18519, 260,
+ 17879, 18519, 266,
+ 17879, 18519, 268,
+ 17879, 18519, 272,
+ 17879, 18519, 280,
+ 17879, 18519, 284,
+ 17879, 18519, 334,
+ 17879, 18519, 336,
+ 17879, 18519, 338,
+ 17879, 18519, 340,
+ 17879, 18519, 342,
+ 17879, 18519, 348,
+ 17879, 18519, 352,
+ 17879, 18519, 356,
+ 17879, 18519, 364,
+ 17879, 18519, 368,
+ 17879, 18519, 382,
+ 17879, 18519, 386,
+ 17879, 18519, 390,
+ 17879, 18519, 400,
+ 17879, 18519, 404,
+ 17879, 18519, 414,
+ 17879, 18519, 422,
+ 17879, 18519, 428,
+ 17879, 18519, 434,
+ 17879, 18519, 438,
+ 17879, 18519, 446,
+ 17879, 18519, 450,
+ 17879, 18519, 458,
+ 17879, 18519, 466,
+ 17879, 18519, 470,
+ 17879, 18519, 520,
+ 17879, 18519, 526,
+ 17879, 18519, 534,
+ 17879, 18519, 538,
+ 17879, 18519, 544,
+ 17879, 18519, 554,
+ 17879, 18519, 556,
+ 17879, 18519, 558,
+ 17879, 18519, 562,
+ 17879, 18519, 566,
+ 17879, 18519, 570,
+ 17879, 18519, 572,
+ 17879, 18519, 576,
+ 17879, 18519, 578,
+ 17879, 18519, 582,
+ 17879, 18519, 586,
+ 17879, 18519, 590,
+ 17879, 18519, 596,
+ 17879, 18519, 600,
+ 17879, 18519, 610,
+ 17879, 18519, 620,
+ 17879, 18519, 624,
+ 17879, 18519, 628,
+ 17879, 18519, 632,
+ 17879, 18519, 640,
+ 17879, 18519, 678,
+ 17879, 18519, 680,
+ 17879, 18519, 682,
+ 17879, 18519, 684,
+ 17879, 18519, 688,
+ 17879, 18519, 692,
+ 17879, 18519, 698,
+ 17879, 18519, 704,
+ 17879, 18519, 708,
+ 17879, 18519, 710,
+ 17879, 18519, 716,
+ 17879, 18519, 718,
+ 17879, 18519, 722,
+ 17879, 18519, 724,
+ 17879, 18519, 726,
+ 17879, 18519, 732,
+ 17879, 18519, 734,
+ 17879, 18519, 736,
+ 17879, 18519, 740,
+ 17879, 18519, 744,
+ 17879, 18519, 750,
+ 17879, 18519, 752,
+ 17879, 18519, 756,
+ 17879, 18519, 758,
+ 17879, 18519, 760,
+ 17879, 18519, 880,
+ 17879, 18519, 902,
+ 17879, 18519, 904,
+ 17879, 18519, 906,
+ 17879, 18519, 908,
+ 17879, 18519, 910,
+ 17879, 18519, 916,
+ 17879, 18519, 954,
+ 17879, 18519, 986,
+ 17879, 18519, 988,
+ 17879, 18519, 990,
+ 17879, 18519, 1002,
+ 17879, 18519, 1020,
+ 17879, 18519, 1022,
+ 17879, 18519, 1024,
+ 17879, 18519, 1026,
+ 17879, 18519, 1028,
+ 17879, 18519, 1030,
+ 17879, 18519, 1040,
+ 17879, 18519, 1042,
+ 17879, 18519, 1044,
+ 17879, 18519, 1046,
+ 17879, 18519, 1048,
+ 17879, 18519, 1070,
+ 17879, 18519, 1096,
+ 17879, 18519, 1114,
+ 17879, 18519, 1138,
+ 17879, 18519, 1140,
+ 17879, 18519, 1142,
+ 17879, 18519, 1144,
+ 17879, 18519, 1146,
+ 17879, 18519, 1148,
+ 17879, 18519, 1200,
+ 17879, 18519, 1242,
+ 17879, 18519, 1252,
+ 17879, 18519, 1254,
+ 17879, 18519, 1256,
+ 17879, 18519, 1258,
+ 17879, 18519, 1338,
+ 17879, 18519, 1358,
+ 17879, 18519, 1408,
+ 17879, 18519, 1410,
+ 17879, 18519, 1412,
+ 17879, 18519, 1414,
+ 17879, 18519, 1424,
+ 17879, 18519, 1462,
+ 17879, 18519, 1476,
+ 17879, 18519, 1478,
+ 17879, 18519, 1480,
+ 17879, 18519, 1482,
+ 17879, 18519, 1484,
+ 17879, 18519, 1516,
+ 17879, 18519, 1554,
+ 17879, 18519, 1556,
+ 17879, 18519, 1558,
+ 17879, 18519, 1562,
+ 17879, 18519, 1564,
+ 17879, 18519, 1566,
+ 17879, 18519, 1568,
+ 17879, 18519, 1570,
+ 17879, 18519, 1572,
+ 17879, 18519, 1598,
+ 17879, 18519, 1612,
+ 17879, 18519, 1614,
+ 17879, 18519, 1616,
+ 17879, 18519, 1618,
+ 17879, 18519, 1620,
+ 17879, 18519, 1662,
+ 17879, 18519, 1770,
+ 17879, 18519, 1778,
+ 17879, 18519, 1814,
+ 17879, 18519, 1838,
+ 17879, 18519, 1850,
+ 17879, 18519, 1886,
+ 17879, 18519, 1954,
+ 17879, 18519, 2022,
+ 17879, 18519, 2026,
+ 17879, 18519, 2028,
+ 17879, 18519, 2036,
+ 17879, 18519, 2038,
+ 17879, 18519, 2040,
+ 17879, 18519, 2042,
+ 17879, 18519, 2044,
+ 17879, 18519, 2046,
+ 17879, 18519, 2048,
+ 17879, 18519, 2050,
+ 17879, 18519, 2052,
+ 17879, 18519, 2054,
+ 17879, 18519, 2056,
+ 17879, 18519, 2094,
+ 17879, 18519, 2146,
+ 17879, 18519, 2200,
+ 17879, 18519, 2222,
+ 17879, 18519, 2266,
+ 17879, 18519, 2312,
+ 17879, 18519, 2354,
+ 17879, 18519, 2356,
+ 17879, 18519, 2358,
+ 17879, 18519, 2362,
+ 17879, 18519, 2374,
+ 17879, 18519, 2418,
+ 17879, 18519, 2488,
+ 17879, 18519, 2536,
+ 17879, 18519, 2544,
+ 17879, 18519, 2548,
+ 17879, 18519, 2550,
+ 17879, 18519, 2552,
+ 17879, 18519, 2554,
+ 17879, 18519, 2620,
+ 17879, 18519, 2648,
+ 17879, 18519, 2660,
+ 17879, 18519, 2662,
+ 17879, 18519, 2664,
+ 17879, 18519, 2666,
+ 17879, 18519, 2668,
+ 17879, 18519, 2686,
+ 17879, 18519, 2730,
+ 17879, 18519, 2732,
+ 17879, 18519, 2734,
+ 17879, 18519, 2746,
+ 17879, 18519, 2760,
+ 17879, 18519, 2764,
+ 17879, 18519, 2766,
+ 17879, 18519, 2768,
+ 17879, 18519, 2770,
+ 17879, 18519, 2772,
+ 17879, 18519, 2784,
+ 17879, 18519, 2820,
+ 17879, 18519, 2822,
+ 17879, 18519, 2824,
+ 17879, 18519, 2826,
+ 17879, 18519, 2828,
+ 17879, 18519, 2830,
+ 17879, 18519, 2832,
+ 17879, 18519, 2840,
+ 17879, 18519, 2848,
+ 17879, 18519, 2880,
+ 17879, 18519, 2920,
+ 17879, 18519, 2968,
+ 17879, 18519, 2976,
+ 17879, 18519, 2990,
+ 17879, 18519, 3018,
+ 17879, 18519, 3030,
+ 17879, 18519, 3032,
+ 17879, 18519, 3034,
+ 17879, 18519, 3036,
+ 17879, 18519, 3038,
+ 17879, 18519, 3066,
+ 17879, 18519, 3094,
+ 17879, 18519, 3096,
+ 17879, 18519, 3098,
+ 17879, 18519, 3100,
+ 17879, 18519, 3102,
+ 17879, 18519, 3130,
+ 17879, 18519, 3152,
+ 17879, 18519, 3154,
+ 17879, 18519, 3156,
+ 17879, 18519, 3158,
+ 17879, 18519, 3160,
+ 17879, 18519, 3166,
+ 17879, 18519, 3206,
+ 17879, 18519, 3222,
+ 17879, 18519, 3224,
+ 17879, 18519, 3226,
+ 17879, 18519, 3228,
+ 17879, 18519, 3230,
+ 17879, 18519, 3266,
+ 17879, 18519, 3288,
+ 17879, 18519, 3290,
+ 17879, 18519, 3292,
+ 17879, 18519, 3294,
+ 17879, 18519, 3296,
+ 17879, 18519, 3330,
+ 17879, 18519, 3348,
+ 17879, 18519, 3350,
+ 17879, 18519, 3352,
+ 17879, 18519, 3354,
+ 17879, 18519, 3356,
+ 17879, 18519, 3416,
+ 17879, 18519, 3434,
+ 17879, 18519, 3482,
+ 17879, 18519, 3494,
+ 17879, 18519, 3516,
+ 17879, 18519, 3532,
+ 17879, 18519, 3566,
+ 17879, 18519, 3572,
+ 17879, 18519, 3584,
+ 17879, 18519, 3600,
+ 17879, 18519, 3602,
+ 17879, 18519, 3604,
+ 17879, 18519, 3606,
+ 17879, 18519, 3608,
+ 17879, 18519, 3610,
+ 17879, 18519, 3612,
+ 17879, 18519, 3620,
+ 17879, 18519, 3624,
+ 17879, 18519, 3670,
+ 17879, 18519, 3698,
+ 17879, 18519, 3760,
+ 17879, 18519, 3778,
+ 17879, 18519, 3786,
+ 17879, 18519, 3788,
+ 17879, 18519, 3790,
+ 17879, 18519, 3792,
+ 17879, 18519, 3794,
+ 17879, 18519, 3816,
+ 17879, 18519, 3844,
+ 17879, 18519, 3856,
+ 17879, 18519, 3858,
+ 17879, 18519, 3860,
+ 17879, 18519, 3862,
+ 17879, 18519, 3864,
+ 17879, 18519, 5722,
+ 17879, 18519, 5730,
+ 17879, 18519, 5866,
+ 17879, 18519, 5956,
+ 17879, 18519, 5958,
+ 17879, 18519, 5960,
+ 17879, 18519, 5962,
+ 17879, 18519, 5964,
+ 17879, 18519, 5966,
+ 17879, 18519, 5968,
+ 17879, 18519, 5978,
+ 17879, 18519, 5996,
+ 17879, 18519, 6014,
+ 17879, 18519, 6034,
+ 17879, 18519, 6268,
+ 17879, 18519, 6280,
+ 17879, 18519, 6288,
+ 17879, 18519, 6290,
+ 17879, 18519, 6292,
+ 17879, 18519, 6294,
+ 17879, 18519, 6304,
+ 17879, 18519, 6322,
+ 17879, 18519, 6434,
+ 17879, 18519, 6438,
+ 17879, 18519, 6772,
+ 17879, 18519, 6926,
+ 17879, 18519, 6934,
+ 17879, 18519, 6964,
+ 17879, 18519, 6966,
+ 17879, 18519, 6968,
+ 17879, 18519, 7046,
+ 17879, 18519, 7048,
+ 17879, 18519, 7050,
+ 17879, 18519, 7056,
+ 17879, 18519, 7124,
+ 17879, 18519, 7126,
+ 17879, 18519, 7128,
+ 17879, 18519, 7694,
+ 17879, 18519, 7698,
+ 17879, 18519, 7704,
+ 17879, 18519, 7706,
+ 17879, 18519, 7708,
+ 17879, 18519, 7710,
+ 17879, 18519, 7712,
+ 17879, 18519, 7714,
+ 17879, 18519, 7716,
+ 17879, 18519, 8454,
+ 17879, 18519, 8898,
+ 17879, 18519, 8908,
+ 17879, 18519, 8934,
+ 17879, 18519, 8958,
+ 17879, 18519, 9192,
+ 17879, 18519, 9202,
+ 17879, 18519, 9204,
+ 17879, 18519, 9208,
+ 17879, 18519, 9274,
+ 17879, 18519, 9306,
+ 17879, 18519, 9310,
+ 17879, 18519, 9312,
+ 17879, 18519, 9314,
+ 17879, 18519, 9316,
+ 17879, 18519, 9340,
+ 17879, 18519, 9342,
+ 17879, 18519, 9344,
+ 17879, 18519, 9346,
+ 17879, 18519, 9694,
+ 17879, 18519, 9710,
+ 17879, 18519, 9738,
+ 17879, 18519, 9776,
+ 17879, 18519, 9856,
+ 17879, 18519, 9864,
+ 17879, 18519, 9948,
+ 17879, 18519, 9950,
+ 17879, 18519, 9952,
+ 17879, 18519, 10088,
+ 17879, 18519, 10104,
+ 17879, 18519, 10118,
+ 17879, 18519, 10128,
+ 17879, 18519, 10188,
+ 17879, 18519, 10192,
+ 17879, 18519, 10206,
+ 17879, 18519, 10220,
+ 17879, 18519, 10222,
+ 17879, 18519, 10224,
+ 17879, 18519, 10226,
+ 17879, 18519, 10268,
+ 17879, 18519, 10270,
+ 17879, 18519, 10274,
+ 17879, 18519, 10652,
+ 17879, 18519, 10654,
+ 17879, 18519, 10656,
+ 17879, 18519, 10658,
+ 17879, 18519, 10858,
+ 17879, 18519, 10868,
+ 17879, 18519, 10898,
+ 17879, 18519, 10932,
+ 17879, 18519, 10940,
+ 17879, 18519, 11608,
+ 17879, 18519, 11610,
+ 17879, 18519, 11612,
+ 17879, 18519, 11614,
+ 17879, 18519, 11616,
+ 17879, 18519, 11618,
+ 17879, 18519, 11620,
+ 17879, 18519, 11814,
+ 17879, 18519, 11816,
+ 17879, 18519, 12124,
+ 17879, 18519, 12126,
+ 17879, 18519, 12440,
+ 17879, 18519, 12442,
+ 17879, 18519, 13212,
+ 17879, 18519, 13214,
+ 17879, 18519, 13752,
+ 17879, 18519, 13754,
+ 17879, 18519, 14358,
+ 17879, 18519, 14360,
+ 17879, 18519, 16327, 0,
+ 17879, 18519, 16327, 8,
+ 17879, 18519, 16327, 16,
+ 17879, 18519, 16327, 28,
+ 17879, 18519, 16327, 40,
+ 17879, 18519, 16327, 58,
+ 17879, 18519, 16327, 184,
+ 17879, 18519, 16327, 476,
+ 17879, 18519, 16327, 692,
+ 17879, 18519, 19415, 986,
+ 17879, 18519, 19415, 1408,
+ 17879, 18519, 19415, 2354,
+ 17879, 18519, 19415, 2730,
+ 17879, 18519, 20111, 0,
+ 17879, 18519, 20111, 8,
+ 17879, 18519, 20111, 16,
+ 17879, 18519, 20111, 28,
+ 17879, 18519, 20111, 40,
+ 17879, 18519, 20111, 58,
+ 17879, 18519, 20111, 184,
+ 17879, 18819, 13921, 14897, 8282,
+ 17879, 18819, 19947, 841, 13921, 14897, 8282,
+ 17879, 18819, 19947, 8282,
+ 17879, 19315, 19420,
+ 17879, 19416,
+ 17879, 19646,
+ 17881, 9251, 15144,
+ 17881, 14354,
+ 17887, 20785, 11849, 2596,
+ 17887, 20785, 11849, 3056,
+ 17887, 20785, 11849, 3336,
+ 17887, 20785, 11849, 6720,
+ 17887, 20785, 11849, 6742,
+ 17887, 20785, 11849, 8736,
+ 17887, 20785, 11849, 10854,
+ 17887, 20785, 11849, 11916,
+ 17887, 20785, 11849, 13376,
+ 17887, 20785, 11849, 13654,
+ 17895, 16809, 19162,
+ 17907, 18442,
+ 17910,
+ 17922,
+ 17927, 13468,
+ 17927, 19283, 2596,
+ 17933, 6683, 10595, 9127, 12698,
+ 17937, 20318,
+ 17945, 13483, 14903, 80,
+ 17945, 13483, 14903, 202,
+ 17945, 13483, 14903, 268,
+ 17945, 13483, 14903, 314,
+ 17945, 13483, 14903, 494,
+ 17945, 13483, 14903, 664,
+ 17945, 13483, 14903, 698,
+ 17945, 13483, 14903, 738,
+ 17945, 13483, 14903, 810,
+ 17945, 13483, 14903, 890,
+ 17945, 13483, 14903, 1008,
+ 17945, 13483, 14903, 1056,
+ 17945, 13483, 14903, 1206,
+ 17945, 13483, 14903, 1440,
+ 17945, 13483, 14903, 1574,
+ 17945, 13483, 14903, 1590,
+ 17945, 13483, 14903, 1622,
+ 17945, 13483, 14903, 1664,
+ 17945, 13483, 14903, 1794,
+ 17945, 13483, 14903, 1868,
+ 17945, 13483, 14903, 2076,
+ 17945, 13483, 14903, 2230,
+ 17945, 13483, 14903, 2390,
+ 17945, 13483, 14903, 2632,
+ 17945, 13483, 14903, 2754,
+ 17945, 13483, 14903, 2854,
+ 17945, 13483, 14903, 3002,
+ 17945, 13483, 14903, 3182,
+ 17945, 13483, 14903, 3190,
+ 17945, 13483, 14903, 3450,
+ 17945, 13483, 14903, 3568,
+ 17945, 13483, 14903, 3780,
+ 17945, 13483, 14903, 5988,
+ 17945, 13483, 14903, 6012,
+ 17945, 13483, 14903, 6974,
+ 17945, 13483, 14903, 7436,
+ 17945, 13483, 14903, 7602,
+ 17945, 13483, 14903, 9200,
+ 17945, 13483, 14903, 9730,
+ 17945, 13483, 14903, 10862,
+ 17945, 14903, 80,
+ 17945, 14903, 202,
+ 17945, 14903, 230,
+ 17945, 14903, 268,
+ 17945, 14903, 314,
+ 17945, 14903, 494,
+ 17945, 14903, 664,
+ 17945, 14903, 698,
+ 17945, 14903, 738,
+ 17945, 14903, 810,
+ 17945, 14903, 824,
+ 17945, 14903, 890,
+ 17945, 14903, 1008,
+ 17945, 14903, 1056,
+ 17945, 14903, 1206,
+ 17945, 14903, 1440,
+ 17945, 14903, 1574,
+ 17945, 14903, 1590,
+ 17945, 14903, 1622,
+ 17945, 14903, 1664,
+ 17945, 14903, 1794,
+ 17945, 14903, 1868,
+ 17945, 14903, 2076,
+ 17945, 14903, 2230,
+ 17945, 14903, 2390,
+ 17945, 14903, 2632,
+ 17945, 14903, 2754,
+ 17945, 14903, 2854,
+ 17945, 14903, 3002,
+ 17945, 14903, 3182,
+ 17945, 14903, 3190,
+ 17945, 14903, 3450,
+ 17945, 14903, 3568,
+ 17945, 14903, 3780,
+ 17945, 14903, 5988,
+ 17945, 14903, 6012,
+ 17945, 14903, 6974,
+ 17945, 14903, 7095, 9808,
+ 17945, 14903, 7436,
+ 17945, 14903, 7602,
+ 17945, 14903, 9200,
+ 17945, 14903, 9730,
+ 17945, 14903, 10862,
+ 17945, 14903, 11922,
+ 17945, 14903, 14875, 9808,
+ 17945, 14903, 15701, 1440,
+ 17945, 15993, 14903, 80,
+ 17945, 15993, 14903, 202,
+ 17945, 15993, 14903, 268,
+ 17945, 15993, 14903, 314,
+ 17945, 15993, 14903, 494,
+ 17945, 15993, 14903, 664,
+ 17945, 15993, 14903, 698,
+ 17945, 15993, 14903, 738,
+ 17945, 15993, 14903, 810,
+ 17945, 15993, 14903, 890,
+ 17945, 15993, 14903, 1008,
+ 17945, 15993, 14903, 1056,
+ 17945, 15993, 14903, 1206,
+ 17945, 15993, 14903, 1440,
+ 17945, 15993, 14903, 1574,
+ 17945, 15993, 14903, 1590,
+ 17945, 15993, 14903, 1622,
+ 17945, 15993, 14903, 1664,
+ 17945, 15993, 14903, 1794,
+ 17945, 15993, 14903, 1868,
+ 17945, 15993, 14903, 2076,
+ 17945, 15993, 14903, 2230,
+ 17945, 15993, 14903, 2390,
+ 17945, 15993, 14903, 2632,
+ 17945, 15993, 14903, 2754,
+ 17945, 15993, 14903, 2854,
+ 17945, 15993, 14903, 3002,
+ 17945, 15993, 14903, 3182,
+ 17945, 15993, 14903, 3190,
+ 17945, 15993, 14903, 3450,
+ 17945, 15993, 14903, 3568,
+ 17945, 15993, 14903, 3780,
+ 17945, 15993, 14903, 5988,
+ 17945, 15993, 14903, 6012,
+ 17945, 15993, 14903, 6974,
+ 17945, 15993, 14903, 7436,
+ 17945, 15993, 14903, 7602,
+ 17945, 15993, 14903, 9200,
+ 17945, 15993, 14903, 9730,
+ 17945, 15993, 14903, 10862,
+ 17945, 19315, 19420,
+ 17951, 1015, 6683, 10595, 17109, 6568,
+ 17951, 6682,
+ 17951, 6683, 10595, 17109, 6568,
+ 17953, 492,
+ 17953, 9809, 12986,
+ 17953, 9809, 15756,
+ 17953, 9809, 17342,
+ 17953, 9809, 17466,
+ 17953, 9809, 17506,
+ 17953, 9809, 20336,
+ 17953, 11849, 2596,
+ 17953, 11849, 3056,
+ 17953, 11849, 3336,
+ 17953, 11849, 6720,
+ 17953, 11849, 6742,
+ 17953, 11849, 8736,
+ 17953, 11849, 10854,
+ 17953, 11849, 11916,
+ 17953, 11849, 13376,
+ 17953, 11849, 13654,
+ 17953, 13309, 9808,
+ 17953, 13921, 9809, 8,
+ 17953, 13921, 9809, 16,
+ 17953, 13921, 9809, 28,
+ 17953, 13921, 9809, 40,
+ 17953, 13921, 9809, 58,
+ 17953, 13921, 9809, 72,
+ 17953, 13921, 9809, 94,
+ 17953, 13921, 9809, 306,
+ 17953, 13921, 9809, 674,
+ 17953, 13921, 9809, 14347, 8,
+ 17953, 13921, 9809, 14347, 28,
+ 17953, 13921, 9809, 17349, 22,
+ 17953, 13921, 9809, 17349, 34,
+ 17953, 13921, 9809, 17349, 394,
+ 17953, 13921, 9809, 17349, 580,
+ 17953, 13921, 14347, 8,
+ 17953, 13921, 14347, 28,
+ 17953, 14903, 0,
+ 17953, 14903, 8,
+ 17953, 14903, 16,
+ 17953, 14903, 28,
+ 17953, 14903, 40,
+ 17953, 14903, 58,
+ 17953, 14903, 72,
+ 17953, 14903, 94,
+ 17953, 14903, 106,
+ 17953, 14903, 124,
+ 17953, 14903, 148,
+ 17953, 14903, 244,
+ 17953, 14903, 266,
+ 17953, 14903, 306,
+ 17953, 14903, 334,
+ 17953, 14903, 348,
+ 17953, 14903, 382,
+ 17953, 14903, 414,
+ 17953, 14903, 446,
+ 17953, 14903, 520,
+ 17953, 14903, 570,
+ 17953, 14903, 586,
+ 17953, 14903, 620,
+ 17953, 14903, 674,
+ 17953, 14903, 678,
+ 17953, 14903, 732,
+ 17953, 14903, 930,
+ 17953, 14903, 1040,
+ 17953, 14903, 1138,
+ 17953, 14903, 1160,
+ 17953, 14903, 1486,
+ 17953, 14903, 1786,
+ 17953, 14903, 1904,
+ 17953, 14903, 2142,
+ 17953, 14903, 2432,
+ 17953, 14903, 2480,
+ 17953, 14903, 2544,
+ 17953, 14903, 2660,
+ 17953, 14903, 3030,
+ 17953, 14903, 3094,
+ 17953, 14903, 3222,
+ 17953, 14903, 3302,
+ 17953, 14903, 3786,
+ 17953, 14903, 6286,
+ 17953, 14903, 10218,
+ 17953, 14903, 17349, 22,
+ 17953, 14903, 17349, 34,
+ 17953, 14903, 17349, 394,
+ 17953, 14903, 17349, 580,
+ 17953, 20771, 9808,
+ 17955, 197, 13080,
+ 17955, 1760,
+ 17955, 3394,
+ 17955, 9809, 5195, 11512,
+ 17955, 9809, 11512,
+ 17955, 9809, 12986,
+ 17955, 9809, 13792,
+ 17955, 9809, 15756,
+ 17955, 9809, 15804,
+ 17955, 9809, 17342,
+ 17955, 11350,
+ 17955, 11849, 2596,
+ 17955, 11849, 3056,
+ 17955, 11849, 3336,
+ 17955, 11849, 6720,
+ 17955, 11849, 6742,
+ 17955, 11849, 8736,
+ 17955, 11849, 10854,
+ 17955, 11849, 11916,
+ 17955, 11849, 13376,
+ 17955, 11849, 13654,
+ 17955, 13686,
+ 17955, 13921, 9809, 16,
+ 17955, 13921, 9809, 40,
+ 17955, 13921, 9809, 58,
+ 17955, 13921, 9809, 72,
+ 17955, 13921, 9809, 94,
+ 17955, 13921, 9809, 184,
+ 17955, 13921, 9809, 306,
+ 17955, 13921, 9809, 496,
+ 17955, 13921, 9809, 674,
+ 17955, 14903, 0,
+ 17955, 14903, 16,
+ 17955, 14903, 40,
+ 17955, 14903, 58,
+ 17955, 14903, 72,
+ 17955, 14903, 94,
+ 17955, 14903, 106,
+ 17955, 14903, 124,
+ 17955, 14903, 148,
+ 17955, 14903, 184,
+ 17955, 14903, 224,
+ 17955, 14903, 244,
+ 17955, 14903, 266,
+ 17955, 14903, 306,
+ 17955, 14903, 334,
+ 17955, 14903, 348,
+ 17955, 14903, 382,
+ 17955, 14903, 414,
+ 17955, 14903, 446,
+ 17955, 14903, 496,
+ 17955, 14903, 520,
+ 17955, 14903, 570,
+ 17955, 14903, 586,
+ 17955, 14903, 620,
+ 17955, 14903, 674,
+ 17955, 14903, 678,
+ 17955, 14903, 732,
+ 17955, 14903, 750,
+ 17955, 14903, 930,
+ 17955, 14903, 1040,
+ 17955, 14903, 1138,
+ 17955, 14903, 1160,
+ 17955, 14903, 1486,
+ 17955, 14903, 1786,
+ 17955, 14903, 1904,
+ 17955, 14903, 2142,
+ 17955, 14903, 2432,
+ 17955, 14903, 2480,
+ 17955, 14903, 2544,
+ 17955, 14903, 2660,
+ 17955, 14903, 2938,
+ 17955, 14903, 3030,
+ 17955, 14903, 3222,
+ 17955, 14903, 3302,
+ 17955, 14903, 6286,
+ 17955, 14903, 6982,
+ 17955, 14903, 7610,
+ 17955, 14903, 10218,
+ 17961, 16769, 2596,
+ 17961, 16769, 3056,
+ 17961, 16769, 3212,
+ 17961, 16769, 3336,
+ 17961, 16769, 6720,
+ 17961, 16769, 6742,
+ 17961, 16769, 8736,
+ 17961, 16769, 11916,
+ 17961, 16769, 13376,
+ 17961, 16769, 13654,
+ 17961, 16769, 15626,
+ 17961, 16769, 15708,
+ 17969, 11654,
+ 17973, 1391, 3225, 5262,
+ 17973, 1391, 3225, 10580,
+ 17973, 1391, 3225, 14588,
+ 17973, 1391, 3225, 14671, 10588,
+ 17973, 1391, 3225, 14799, 7750,
+ 17973, 1391, 3225, 15841, 13948,
+ 17973, 1391, 3225, 16441, 13543, 18158,
+ 17973, 1391, 3225, 17489, 17232,
+ 17973, 1391, 3225, 17574,
+ 17973, 1391, 3225, 17617, 6710,
+ 17973, 1391, 3225, 17641, 14732,
+ 17973, 1391, 3225, 18113, 14962,
+ 17973, 1391, 3225, 18674,
+ 17973, 1391, 3225, 19365, 11910,
+ 17973, 1391, 10607, 495, 3225, 16110,
+ 17973, 1391, 11355, 19722,
+ 17973, 1391, 12160,
+ 17973, 1391, 12171, 13190,
+ 17973, 1391, 12171, 15580,
+ 17973, 1391, 12171, 20122,
+ 17973, 1391, 12171, 21176,
+ 17973, 1391, 12329, 13738,
+ 17973, 1391, 12699, 16066,
+ 17973, 1391, 13130,
+ 17973, 1391, 13483, 15580,
+ 17973, 1391, 13483, 21176,
+ 17973, 1391, 14281, 19722,
+ 17973, 1391, 14299, 17230,
+ 17973, 1391, 14417, 633, 8320,
+ 17973, 1391, 15334,
+ 17973, 1391, 16373, 18580,
+ 17973, 1391, 16688,
+ 17973, 1391, 16951, 15734,
+ 17973, 1391, 16988,
+ 17973, 1391, 17358,
+ 17973, 1391, 17474,
+ 17973, 1391, 17628,
+ 17973, 1391, 17674,
+ 17973, 1391, 17846,
+ 17973, 1391, 18002,
+ 17973, 1391, 18320,
+ 17973, 1391, 18592,
+ 17973, 1391, 18691, 12038,
+ 17973, 1391, 18700,
+ 17973, 1391, 18855, 483, 3225, 12498,
+ 17973, 1391, 19080,
+ 17973, 1391, 19095, 18580,
+ 17973, 1391, 19164,
+ 17973, 1391, 19166,
+ 17973, 1391, 19453, 11408,
+ 17973, 1391, 19771, 93, 3225, 18752,
+ 17973, 1391, 19772,
+ 17973, 1391, 19910,
+ 17973, 1391, 19930,
+ 17973, 1391, 20014,
+ 17973, 1391, 20082,
+ 17973, 1391, 20084,
+ 17973, 1391, 20154,
+ 17973, 1391, 20234,
+ 17973, 1391, 20378,
+ 17973, 1391, 20386,
+ 17973, 1391, 20610,
+ 17973, 1391, 20804,
+ 17973, 1391, 21076,
+ 17976,
+ 17981, 14903, 0,
+ 17981, 14903, 8,
+ 17981, 14903, 16,
+ 17981, 14903, 26,
+ 17981, 14903, 28,
+ 17981, 14903, 40,
+ 17981, 14903, 106,
+ 17981, 14903, 110,
+ 17981, 14903, 114,
+ 17981, 14903, 116,
+ 17981, 14903, 120,
+ 17981, 14903, 148,
+ 17981, 14903, 154,
+ 17981, 14903, 158,
+ 17981, 14903, 166,
+ 17981, 14903, 168,
+ 17981, 14903, 244,
+ 17981, 14903, 248,
+ 17981, 14903, 254,
+ 17981, 14903, 258,
+ 17981, 14903, 260,
+ 17981, 14903, 266,
+ 17981, 14903, 268,
+ 17981, 14903, 272,
+ 17981, 14903, 280,
+ 17981, 14903, 284,
+ 17981, 14903, 348,
+ 17981, 14903, 352,
+ 17981, 14903, 356,
+ 17981, 14903, 364,
+ 17981, 14903, 368,
+ 17981, 14903, 414,
+ 17981, 14903, 422,
+ 17981, 14903, 428,
+ 17981, 14903, 434,
+ 17981, 14903, 438,
+ 17981, 14903, 446,
+ 17981, 14903, 450,
+ 17981, 14903, 458,
+ 17981, 14903, 466,
+ 17981, 14903, 470,
+ 17981, 14903, 520,
+ 17981, 14903, 526,
+ 17981, 14903, 534,
+ 17981, 14903, 538,
+ 17981, 14903, 544,
+ 17981, 14903, 570,
+ 17981, 14903, 572,
+ 17981, 14903, 576,
+ 17981, 14903, 578,
+ 17981, 14903, 582,
+ 17981, 14903, 586,
+ 17981, 14903, 590,
+ 17981, 14903, 596,
+ 17981, 14903, 600,
+ 17981, 14903, 610,
+ 17981, 14903, 620,
+ 17981, 14903, 624,
+ 17981, 14903, 628,
+ 17981, 14903, 632,
+ 17981, 14903, 640,
+ 17981, 14903, 688,
+ 17981, 14903, 692,
+ 17981, 14903, 698,
+ 17981, 14903, 704,
+ 17981, 14903, 708,
+ 17981, 14903, 732,
+ 17981, 14903, 740,
+ 17981, 14903, 744,
+ 17981, 14903, 750,
+ 17981, 14903, 752,
+ 17981, 14903, 756,
+ 17981, 14903, 758,
+ 17981, 14903, 760,
+ 17981, 14903, 13483, 0,
+ 17981, 14903, 13483, 8,
+ 17981, 14903, 13483, 16,
+ 17981, 14903, 13483, 28,
+ 17981, 14903, 13483, 40,
+ 17981, 14903, 13483, 348,
+ 17981, 14903, 13483, 352,
+ 17981, 14903, 13483, 640,
+ 17981, 14903, 13483, 692,
+ 17981, 14903, 13483, 732,
+ 17981, 14903, 13483, 740,
+ 17981, 14903, 13483, 744,
+ 17981, 14903, 15895, 734,
+ 17981, 15761, 19179, 8282,
+ 17981, 16135, 10770,
+ 17981, 19179, 8282,
+ 17983, 9824,
+ 17984,
+ 17986,
+ 17999, 15893, 14903, 268,
+ 17999, 15893, 14903, 526,
+ 17999, 15893, 14903, 2268,
+ 17999, 15893, 14903, 2524,
+ 17999, 15893, 14903, 3200,
+ 17999, 15893, 14903, 3508,
+ 17999, 15893, 14903, 5284,
+ 17999, 15893, 14903, 5790,
+ 17999, 15893, 14903, 7120,
+ 17999, 15893, 14903, 7558,
+ 17999, 15893, 14903, 9326,
+ 17999, 15893, 14903, 9440,
+ 17999, 15893, 14903, 9730,
+ 17999, 15893, 14903, 10080,
+ 17999, 15893, 14903, 10764,
+ 17999, 15893, 14903, 11376,
+ 17999, 15893, 14903, 12142,
+ 17999, 15893, 14903, 13330,
+ 17999, 15893, 14903, 14112,
+ 17999, 15893, 14903, 14454,
+ 17999, 15893, 14903, 14882,
+ 17999, 15893, 14903, 15370,
+ 17999, 15893, 15133, 2596,
+ 17999, 15893, 15133, 2597, 16378,
+ 17999, 15893, 15133, 2597, 18566,
+ 17999, 15893, 15133, 3212,
+ 17999, 15893, 15133, 3213, 18566,
+ 17999, 15893, 15133, 3336,
+ 17999, 15893, 15133, 13654,
+ 17999, 15893, 15133, 15708,
+ 17999, 15893, 17045, 9808,
+ 18001, 17870,
+ 18003, 6731, 9827, 15564,
+ 18006,
+ 18007, 16717, 10595, 18669, 894,
+ 18010,
+ 18011, 10595, 13683, 9808,
+ 18011, 10595, 13802,
+ 18011, 10595, 14533, 15534,
+ 18011, 10595, 16816,
+ 18011, 10595, 18658,
+ 18011, 10595, 19213, 11429, 10595, 7256,
+ 18011, 10595, 20904,
+ 18011, 14221, 1, 13183, 18214,
+ 18011, 15907, 10595, 13468,
+ 18011, 19056,
+ 18015, 16942,
+ 18017, 2589, 9808,
+ 18017, 7769, 36,
+ 18017, 18335, 8282,
+ 18017, 18662,
+ 18017, 19318,
+ 18017, 20469, 8282,
+ 18017, 20536,
+ 18027, 5711, 15564,
+ 18027, 9114,
+ 18027, 9251, 15144,
+ 18027, 11866,
+ 18027, 14354,
+ 18027, 14692,
+ 18027, 15565, 1391, 17520,
+ 18027, 19987, 18465, 15564,
+ 18029, 7779, 19382,
+ 18029, 9161, 5196,
+ 18029, 9161, 5197, 5196,
+ 18029, 9161, 11390,
+ 18029, 9161, 12530,
+ 18029, 9161, 12578,
+ 18029, 9161, 13691, 17292,
+ 18029, 9161, 13972,
+ 18029, 9161, 14926,
+ 18029, 9161, 14946,
+ 18029, 9161, 16842,
+ 18029, 9161, 16904,
+ 18029, 9161, 19174,
+ 18029, 9809, 11624,
+ 18029, 9809, 11625, 10070,
+ 18029, 9809, 12480,
+ 18029, 9809, 17372,
+ 18029, 9809, 19310,
+ 18029, 11849, 2596,
+ 18029, 11849, 3056,
+ 18029, 11849, 3336,
+ 18029, 11849, 6720,
+ 18029, 11849, 6742,
+ 18029, 11849, 8736,
+ 18029, 11849, 10854,
+ 18029, 11849, 11916,
+ 18029, 11849, 13376,
+ 18029, 11849, 13654,
+ 18029, 13271, 19382,
+ 18029, 13921, 9809, 9926,
+ 18029, 13921, 9809, 9927, 15004,
+ 18029, 13921, 9809, 10610,
+ 18029, 13921, 9809, 10611, 12624,
+ 18029, 13921, 9809, 11855, 8444,
+ 18029, 13921, 9809, 13148,
+ 18029, 13921, 9809, 15578,
+ 18029, 13921, 9809, 15588,
+ 18029, 13921, 9809, 15646,
+ 18029, 14903, 0,
+ 18029, 14903, 8,
+ 18029, 14903, 16,
+ 18029, 14903, 17, 7574,
+ 18029, 14903, 28,
+ 18029, 14903, 40,
+ 18029, 14903, 72,
+ 18029, 14903, 106,
+ 18029, 14903, 107, 12714,
+ 18029, 14903, 124,
+ 18029, 14903, 125, 12714,
+ 18029, 14903, 148,
+ 18029, 14903, 149, 19226,
+ 18029, 14903, 244,
+ 18029, 14903, 245, 12714,
+ 18029, 14903, 266,
+ 18029, 14903, 306,
+ 18029, 14903, 334,
+ 18029, 14903, 335, 19226,
+ 18029, 14903, 348,
+ 18029, 14903, 349, 12714,
+ 18029, 14903, 349, 13350,
+ 18029, 14903, 382,
+ 18029, 14903, 414,
+ 18029, 14903, 446,
+ 18029, 14903, 447, 12714,
+ 18029, 14903, 520,
+ 18029, 14903, 521, 11630,
+ 18029, 14903, 521, 12714,
+ 18029, 14903, 570,
+ 18029, 14903, 571, 11360,
+ 18029, 14903, 586,
+ 18029, 14903, 587, 12714,
+ 18029, 14903, 587, 19226,
+ 18029, 14903, 620,
+ 18029, 14903, 621, 12714,
+ 18029, 14903, 692,
+ 18029, 14903, 732,
+ 18029, 14903, 1138,
+ 18029, 14903, 1139, 19226,
+ 18029, 14903, 2432,
+ 18029, 14903, 2433, 12484,
+ 18029, 14903, 2433, 12485, 16970,
+ 18029, 14903, 2544,
+ 18029, 14903, 2545, 12714,
+ 18029, 14903, 3302,
+ 18029, 14903, 3303, 19226,
+ 18029, 15701, 9161, 16904,
+ 18029, 16844,
+ 18029, 18831, 9809, 11588,
+ 18029, 18831, 9809, 12392,
+ 18029, 18831, 9809, 16864,
+ 18029, 20618,
+ 18032,
+ 18041, 14903, 0,
+ 18041, 14903, 8,
+ 18041, 14903, 16,
+ 18041, 14903, 26,
+ 18041, 14903, 28,
+ 18041, 14903, 40,
+ 18041, 14903, 106,
+ 18041, 14903, 110,
+ 18041, 14903, 114,
+ 18041, 14903, 116,
+ 18041, 14903, 120,
+ 18041, 14903, 148,
+ 18041, 14903, 154,
+ 18041, 14903, 158,
+ 18041, 14903, 166,
+ 18041, 14903, 168,
+ 18041, 14903, 244,
+ 18041, 14903, 248,
+ 18041, 14903, 254,
+ 18041, 14903, 258,
+ 18041, 14903, 260,
+ 18041, 14903, 266,
+ 18041, 14903, 268,
+ 18041, 14903, 272,
+ 18041, 14903, 280,
+ 18041, 14903, 284,
+ 18041, 14903, 348,
+ 18041, 14903, 352,
+ 18041, 14903, 356,
+ 18041, 14903, 364,
+ 18041, 14903, 368,
+ 18041, 14903, 414,
+ 18041, 14903, 422,
+ 18041, 14903, 428,
+ 18041, 14903, 434,
+ 18041, 14903, 438,
+ 18041, 14903, 446,
+ 18041, 14903, 450,
+ 18041, 14903, 458,
+ 18041, 14903, 466,
+ 18041, 14903, 470,
+ 18041, 14903, 520,
+ 18041, 14903, 526,
+ 18041, 14903, 534,
+ 18041, 14903, 538,
+ 18041, 14903, 544,
+ 18041, 14903, 570,
+ 18041, 14903, 572,
+ 18041, 14903, 576,
+ 18041, 14903, 578,
+ 18041, 14903, 582,
+ 18041, 14903, 586,
+ 18041, 14903, 590,
+ 18041, 14903, 596,
+ 18041, 14903, 600,
+ 18041, 14903, 610,
+ 18041, 14903, 620,
+ 18041, 14903, 624,
+ 18041, 14903, 628,
+ 18041, 14903, 632,
+ 18041, 14903, 640,
+ 18041, 14903, 678,
+ 18041, 14903, 680,
+ 18041, 14903, 682,
+ 18041, 14903, 684,
+ 18041, 14903, 688,
+ 18041, 14903, 692,
+ 18041, 14903, 698,
+ 18041, 14903, 704,
+ 18041, 14903, 708,
+ 18041, 14903, 732,
+ 18041, 14903, 740,
+ 18041, 14903, 744,
+ 18041, 14903, 750,
+ 18041, 14903, 752,
+ 18041, 14903, 756,
+ 18041, 14903, 758,
+ 18041, 14903, 760,
+ 18041, 14903, 13483, 0,
+ 18041, 14903, 13483, 8,
+ 18041, 14903, 13483, 16,
+ 18041, 14903, 13483, 28,
+ 18041, 14903, 13483, 40,
+ 18041, 14903, 13483, 266,
+ 18041, 14903, 13483, 268,
+ 18041, 14903, 13483, 272,
+ 18041, 14903, 13483, 280,
+ 18041, 14903, 13483, 284,
+ 18041, 14903, 13483, 348,
+ 18041, 14903, 13483, 352,
+ 18041, 14903, 13483, 368,
+ 18041, 14903, 13483, 438,
+ 18041, 14903, 13483, 470,
+ 18041, 14903, 13483, 570,
+ 18041, 14903, 13483, 572,
+ 18041, 14903, 13483, 576,
+ 18041, 14903, 13483, 578,
+ 18041, 14903, 13483, 582,
+ 18041, 14903, 13483, 596,
+ 18041, 14903, 13483, 610,
+ 18041, 14903, 13483, 632,
+ 18041, 14903, 13483, 640,
+ 18041, 14903, 13483, 692,
+ 18041, 14903, 13483, 732,
+ 18041, 14903, 13483, 740,
+ 18041, 14903, 13483, 744,
+ 18041, 14903, 15895, 8,
+ 18041, 15021, 1212,
+ 18041, 15761, 19179, 8282,
+ 18041, 16135, 7656,
+ 18041, 19179, 8282,
+ 18044,
+ 18045, 841, 12696,
+ 18057, 3172,
+ 18079, 9127, 213, 18220,
+ 18080,
+ 18090,
+ 18099, 9809, 12986,
+ 18099, 14903, 0,
+ 18099, 14903, 8,
+ 18099, 14903, 16,
+ 18099, 14903, 28,
+ 18099, 14903, 40,
+ 18099, 14903, 106,
+ 18099, 14903, 124,
+ 18099, 14903, 148,
+ 18099, 14903, 244,
+ 18099, 14903, 266,
+ 18099, 14903, 334,
+ 18099, 14903, 348,
+ 18099, 14903, 382,
+ 18099, 14903, 414,
+ 18099, 14903, 446,
+ 18099, 14903, 520,
+ 18099, 14903, 570,
+ 18099, 14903, 586,
+ 18099, 14903, 620,
+ 18099, 14903, 678,
+ 18099, 14903, 930,
+ 18099, 14903, 1040,
+ 18099, 14903, 1138,
+ 18099, 14903, 1160,
+ 18099, 14903, 1486,
+ 18099, 14903, 1786,
+ 18099, 14903, 1904,
+ 18099, 14903, 2480,
+ 18099, 14903, 2544,
+ 18099, 14903, 2660,
+ 18099, 14903, 2938,
+ 18099, 14903, 3222,
+ 18099, 14903, 3302,
+ 18099, 14903, 6286,
+ 18099, 14903, 10218,
+ 18099, 17045, 8282,
+ 18099, 18079, 9756,
+ 18099, 20771, 9808,
+ 18111, 15564,
+ 18118,
+ 18125, 122,
+ 18125, 11398,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 669, 841, 7778,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 669, 841, 13270,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 6407, 841, 7778,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 6407, 841, 13270,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 7779, 841, 668,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 7779, 841, 6406,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 13271, 841, 668,
+ 18125, 11399, 10595, 9127, 861, 14551, 315, 11429, 18297, 13271, 841, 6406,
+ 18125, 11399, 16805, 7778,
+ 18125, 13271, 11399, 10595, 1212,
+ 18131, 16085, 14903, 0,
+ 18131, 16085, 14903, 8,
+ 18131, 16085, 14903, 16,
+ 18131, 16085, 14903, 28,
+ 18131, 16085, 14903, 106,
+ 18131, 16085, 14903, 148,
+ 18131, 16085, 14903, 348,
+ 18131, 16085, 14903, 382,
+ 18131, 16085, 14903, 414,
+ 18131, 16085, 14903, 446,
+ 18131, 16085, 14903, 450,
+ 18131, 16085, 14903, 520,
+ 18131, 16085, 14903, 554,
+ 18131, 16085, 14903, 570,
+ 18131, 16085, 14903, 586,
+ 18131, 16085, 14903, 590,
+ 18131, 16085, 14903, 620,
+ 18131, 16085, 14903, 624,
+ 18131, 16085, 14903, 632,
+ 18131, 16085, 14903, 692,
+ 18131, 16085, 14903, 732,
+ 18131, 16085, 14903, 1612,
+ 18131, 16085, 14903, 1904,
+ 18131, 16085, 14903, 15895, 586,
+ 18131, 16085, 15133, 2596,
+ 18131, 16085, 15133, 2597, 16378,
+ 18131, 16085, 15133, 2597, 16379, 18566,
+ 18131, 16085, 15133, 2597, 18566,
+ 18131, 16085, 15133, 3056,
+ 18131, 16085, 15133, 3057, 16378,
+ 18131, 16085, 15133, 3057, 16379, 18566,
+ 18131, 16085, 15133, 3057, 18566,
+ 18131, 16085, 15133, 3212,
+ 18131, 16085, 15133, 3213, 18566,
+ 18131, 16085, 15133, 3336,
+ 18131, 16085, 15133, 3337, 16378,
+ 18131, 16085, 15133, 3337, 16379, 18566,
+ 18131, 16085, 15133, 3337, 18566,
+ 18131, 16085, 15133, 6720,
+ 18131, 16085, 15133, 6721, 16378,
+ 18131, 16085, 15133, 6721, 16379, 18566,
+ 18131, 16085, 15133, 6721, 18566,
+ 18131, 16085, 15133, 6742,
+ 18131, 16085, 15133, 6743, 16378,
+ 18131, 16085, 15133, 6743, 16379, 18566,
+ 18131, 16085, 15133, 6743, 18566,
+ 18131, 16085, 15133, 8736,
+ 18131, 16085, 15133, 8737, 16378,
+ 18131, 16085, 15133, 8737, 16379, 18566,
+ 18131, 16085, 15133, 8737, 18566,
+ 18131, 16085, 15133, 11916,
+ 18131, 16085, 15133, 11917, 16378,
+ 18131, 16085, 15133, 11917, 16379, 18566,
+ 18131, 16085, 15133, 11917, 18566,
+ 18131, 16085, 15133, 12018,
+ 18131, 16085, 15133, 12019, 18566,
+ 18131, 16085, 15133, 12046,
+ 18131, 16085, 15133, 12047, 18566,
+ 18131, 16085, 15133, 13376,
+ 18131, 16085, 15133, 13377, 16378,
+ 18131, 16085, 15133, 13377, 16379, 18566,
+ 18131, 16085, 15133, 13377, 18566,
+ 18131, 16085, 15133, 13460,
+ 18131, 16085, 15133, 13461, 18566,
+ 18131, 16085, 15133, 13654,
+ 18131, 16085, 15133, 13655, 16378,
+ 18131, 16085, 15133, 13655, 16379, 18566,
+ 18131, 16085, 15133, 13655, 18566,
+ 18131, 16085, 15133, 14545, 18566,
+ 18131, 16085, 15133, 15095, 18566,
+ 18131, 16085, 15133, 15626,
+ 18131, 16085, 15133, 15627, 18566,
+ 18131, 16085, 15133, 15708,
+ 18131, 16085, 15133, 15709, 18566,
+ 18131, 16085, 15133, 17056,
+ 18131, 16085, 15133, 17057, 18566,
+ 18131, 16085, 17927, 2597, 7086,
+ 18131, 16085, 17927, 2597, 17296,
+ 18131, 16085, 17927, 3057, 18638,
+ 18131, 16085, 17927, 3213, 18638,
+ 18131, 16085, 17927, 3337, 18638,
+ 18131, 16085, 17927, 6721, 18638,
+ 18131, 16085, 17927, 6743, 18638,
+ 18131, 16085, 17927, 8737, 18638,
+ 18131, 16085, 17927, 11917, 18638,
+ 18131, 16085, 17927, 13377, 18638,
+ 18131, 16085, 17927, 13655, 18638,
+ 18131, 16085, 17927, 14547, 18638,
+ 18131, 16085, 18087, 1742,
+ 18131, 16085, 18087, 2916,
+ 18131, 20887, 14903, 0,
+ 18131, 20887, 14903, 8,
+ 18131, 20887, 14903, 16,
+ 18131, 20887, 14903, 28,
+ 18131, 20887, 14903, 106,
+ 18131, 20887, 14903, 148,
+ 18131, 20887, 14903, 348,
+ 18131, 20887, 14903, 382,
+ 18131, 20887, 14903, 414,
+ 18131, 20887, 14903, 446,
+ 18131, 20887, 14903, 450,
+ 18131, 20887, 14903, 520,
+ 18131, 20887, 14903, 554,
+ 18131, 20887, 14903, 570,
+ 18131, 20887, 14903, 586,
+ 18131, 20887, 14903, 590,
+ 18131, 20887, 14903, 620,
+ 18131, 20887, 14903, 624,
+ 18131, 20887, 14903, 632,
+ 18131, 20887, 14903, 692,
+ 18131, 20887, 14903, 732,
+ 18131, 20887, 14903, 1612,
+ 18131, 20887, 14903, 1904,
+ 18131, 20887, 14903, 5688,
+ 18131, 20887, 14903, 8544,
+ 18131, 20887, 14903, 8650,
+ 18131, 20887, 14903, 9408,
+ 18131, 20887, 14903, 9632,
+ 18131, 20887, 14903, 10028,
+ 18131, 20887, 14903, 10066,
+ 18131, 20887, 15565, 10496,
+ 18131, 20887, 15565, 15752,
+ 18135, 3337, 15449, 9131, 7844,
+ 18135, 3337, 15449, 14792,
+ 18135, 7845, 9131, 3337, 15448,
+ 18135, 7845, 9131, 13430,
+ 18135, 11546,
+ 18135, 13431, 9131, 7844,
+ 18135, 17264,
+ 18135, 19320,
+ 18135, 19580,
+ 18137, 12616,
+ 18140,
+ 18142,
+ 18147, 11547, 10595, 18017, 11546,
+ 18147, 14903, 669, 10040,
+ 18147, 14903, 669, 18728,
+ 18147, 14903, 672,
+ 18147, 14903, 1213, 13468,
+ 18147, 14903, 1213, 18669, 894,
+ 18147, 14903, 1213, 19973, 894,
+ 18147, 14903, 1293, 2163, 10172,
+ 18147, 14903, 1293, 7135, 10172,
+ 18147, 14903, 2163, 669, 18728,
+ 18147, 14903, 2163, 6407, 18728,
+ 18147, 14903, 2163, 7779, 11428,
+ 18147, 14903, 2163, 7779, 18728,
+ 18147, 14903, 2163, 9456,
+ 18147, 14903, 2163, 10173, 894,
+ 18147, 14903, 2163, 11349, 14178,
+ 18147, 14903, 2163, 12169, 14178,
+ 18147, 14903, 2163, 13271, 18728,
+ 18147, 14903, 2163, 13676,
+ 18147, 14903, 2163, 14531, 10173, 894,
+ 18147, 14903, 2163, 14531, 19211, 10173, 894,
+ 18147, 14903, 2163, 14952,
+ 18147, 14903, 2163, 18017, 20469, 8282,
+ 18147, 14903, 2163, 18669, 7816,
+ 18147, 14903, 2163, 19211, 10173, 894,
+ 18147, 14903, 2163, 19717, 14178,
+ 18147, 14903, 2291, 10173, 894,
+ 18147, 14903, 2291, 14531, 10173, 894,
+ 18147, 14903, 2291, 14531, 19211, 10173, 894,
+ 18147, 14903, 2291, 19211, 10173, 894,
+ 18147, 14903, 3691, 18867, 10173, 8282,
+ 18147, 14903, 6407, 10040,
+ 18147, 14903, 6407, 18728,
+ 18147, 14903, 7087, 20265, 11702,
+ 18147, 14903, 7135, 10173, 894,
+ 18147, 14903, 7135, 14531, 10173, 894,
+ 18147, 14903, 7135, 14531, 19211, 10173, 894,
+ 18147, 14903, 7135, 19211, 10173, 894,
+ 18147, 14903, 7779, 7087, 9456,
+ 18147, 14903, 7779, 18728,
+ 18147, 14903, 9127, 13404,
+ 18147, 14903, 9243, 9808,
+ 18147, 14903, 10705, 18867, 10173, 8282,
+ 18147, 14903, 11349, 14178,
+ 18147, 14903, 11497, 2163, 10172,
+ 18147, 14903, 11497, 7135, 10172,
+ 18147, 14903, 11702,
+ 18147, 14903, 11719, 14178,
+ 18147, 14903, 12169, 14178,
+ 18147, 14903, 12525, 13271, 14429, 11398,
+ 18147, 14903, 12675, 9808,
+ 18147, 14903, 13192,
+ 18147, 14903, 13271, 7087, 9456,
+ 18147, 14903, 13271, 18728,
+ 18147, 14903, 13404,
+ 18147, 14903, 13431, 14555, 9808,
+ 18147, 14903, 13483, 0,
+ 18147, 14903, 13483, 2,
+ 18147, 14903, 13483, 4,
+ 18147, 14903, 13483, 5, 10595, 6090,
+ 18147, 14903, 13483, 6,
+ 18147, 14903, 13483, 8,
+ 18147, 14903, 13483, 10,
+ 18147, 14903, 13483, 12,
+ 18147, 14903, 13483, 14,
+ 18147, 14903, 13483, 15, 10595, 7256,
+ 18147, 14903, 13483, 17, 10595, 15534,
+ 18147, 14903, 13483, 18,
+ 18147, 14903, 13483, 19, 10595, 20822,
+ 18147, 14903, 13483, 20,
+ 18147, 14903, 13483, 22,
+ 18147, 14903, 13483, 23, 10595, 15021, 13676,
+ 18147, 14903, 13483, 23, 10595, 16829, 7256,
+ 18147, 14903, 13483, 23, 10595, 18017, 7769, 36,
+ 18147, 14903, 13483, 23, 10595, 19389, 7256,
+ 18147, 14903, 13483, 24,
+ 18147, 14903, 13483, 25, 10595, 7256,
+ 18147, 14903, 13483, 27, 10595, 7779, 7256,
+ 18147, 14903, 13483, 27, 10595, 19389, 7256,
+ 18147, 14903, 13483, 28,
+ 18147, 14903, 13483, 30,
+ 18147, 14903, 13483, 34,
+ 18147, 14903, 13483, 36,
+ 18147, 14903, 13483, 37, 10595, 7256,
+ 18147, 14903, 13483, 38,
+ 18147, 14903, 13483, 39, 10595, 16829, 7256,
+ 18147, 14903, 13483, 40,
+ 18147, 14903, 13483, 41, 894,
+ 18147, 14903, 13483, 41, 10595, 7779, 7256,
+ 18147, 14903, 13483, 42,
+ 18147, 14903, 13483, 43, 10595, 7256,
+ 18147, 14903, 13483, 44,
+ 18147, 14903, 13483, 46,
+ 18147, 14903, 13483, 48,
+ 18147, 14903, 13483, 50,
+ 18147, 14903, 13483, 51, 10595, 6090,
+ 18147, 14903, 13483, 51, 10595, 19389, 7256,
+ 18147, 14903, 13483, 824,
+ 18147, 14903, 13483, 1044,
+ 18147, 14903, 13483, 1294,
+ 18147, 14903, 13483, 1312,
+ 18147, 14903, 13483, 1322,
+ 18147, 14903, 13483, 1334,
+ 18147, 14903, 13483, 2664,
+ 18147, 14903, 13483, 3273, 7087, 28,
+ 18147, 14903, 13483, 5788,
+ 18147, 14903, 13483, 7112,
+ 18147, 14903, 13483, 7402,
+ 18147, 14903, 13483, 9127, 8,
+ 18147, 14903, 13483, 9127, 28,
+ 18147, 14903, 13483, 11388,
+ 18147, 14903, 13483, 11832,
+ 18147, 14903, 13483, 12094,
+ 18147, 14903, 13483, 12173, 2664,
+ 18147, 14903, 13483, 12173, 12094,
+ 18147, 14903, 13483, 13358,
+ 18147, 14903, 13483, 13636,
+ 18147, 14903, 13483, 14271, 28,
+ 18147, 14903, 13483, 14307, 7087, 28,
+ 18147, 14903, 13483, 15397, 12,
+ 18147, 14903, 13483, 15701, 0,
+ 18147, 14903, 13483, 15701, 14,
+ 18147, 14903, 13483, 15701, 16,
+ 18147, 14903, 13483, 15701, 24,
+ 18147, 14903, 13483, 15701, 25, 10595, 7845, 2096,
+ 18147, 14903, 13483, 15701, 34,
+ 18147, 14903, 13483, 15701, 35, 10595, 7256,
+ 18147, 14903, 13483, 15701, 42,
+ 18147, 14903, 13483, 15701, 66,
+ 18147, 14903, 13483, 15701, 9127, 8,
+ 18147, 14903, 13483, 15701, 11388,
+ 18147, 14903, 13483, 15993, 16,
+ 18147, 14903, 13483, 15993, 17, 10595, 15534,
+ 18147, 14903, 13483, 15993, 22,
+ 18147, 14903, 13483, 15993, 26,
+ 18147, 14903, 13483, 15993, 40,
+ 18147, 14903, 13483, 15993, 18017, 34,
+ 18147, 14903, 13483, 16159, 19, 10595, 15534,
+ 18147, 14903, 13483, 17316,
+ 18147, 14903, 13483, 18079, 480,
+ 18147, 14903, 13483, 18367, 9127, 8,
+ 18147, 14903, 13483, 18367, 16327, 9910,
+ 18147, 14903, 13483, 18423, 40,
+ 18147, 14903, 14533, 13192,
+ 18147, 14903, 14533, 19676,
+ 18147, 14903, 14952,
+ 18147, 14903, 15021, 12169, 14178,
+ 18147, 14903, 15021, 14533, 11349, 14178,
+ 18147, 14903, 15021, 14533, 12169, 14178,
+ 18147, 14903, 15319, 669, 11428,
+ 18147, 14903, 15319, 6407, 11428,
+ 18147, 14903, 15319, 11702,
+ 18147, 14903, 15319, 18017, 20469, 8282,
+ 18147, 14903, 15319, 20469, 8282,
+ 18147, 14903, 15337, 7256,
+ 18147, 14903, 15527, 841, 2163, 10172,
+ 18147, 14903, 15527, 841, 7135, 10172,
+ 18147, 14903, 15701, 11708,
+ 18147, 14903, 15993, 0,
+ 18147, 14903, 15993, 2,
+ 18147, 14903, 15993, 6,
+ 18147, 14903, 15993, 8,
+ 18147, 14903, 15993, 12,
+ 18147, 14903, 15993, 14,
+ 18147, 14903, 15993, 15, 10595, 15534,
+ 18147, 14903, 15993, 16,
+ 18147, 14903, 15993, 18,
+ 18147, 14903, 15993, 20,
+ 18147, 14903, 15993, 22,
+ 18147, 14903, 15993, 24,
+ 18147, 14903, 15993, 26,
+ 18147, 14903, 15993, 28,
+ 18147, 14903, 15993, 30,
+ 18147, 14903, 15993, 34,
+ 18147, 14903, 15993, 38,
+ 18147, 14903, 15993, 40,
+ 18147, 14903, 15993, 42,
+ 18147, 14903, 15993, 44,
+ 18147, 14903, 15993, 66,
+ 18147, 14903, 15993, 508,
+ 18147, 14903, 15993, 14271, 2,
+ 18147, 14903, 15993, 18367, 8,
+ 18147, 14903, 15993, 18367, 26,
+ 18147, 14903, 16009, 7779, 7087, 9456,
+ 18147, 14903, 16009, 13271, 7087, 9456,
+ 18147, 14903, 16027, 10173, 3691, 566,
+ 18147, 14903, 16027, 10173, 3691, 582,
+ 18147, 14903, 16027, 10173, 3691, 9226,
+ 18147, 14903, 16027, 10173, 3691, 13384,
+ 18147, 14903, 16027, 10173, 10705, 566,
+ 18147, 14903, 16027, 10173, 10705, 582,
+ 18147, 14903, 16027, 10173, 10705, 9226,
+ 18147, 14903, 16027, 10173, 10705, 13384,
+ 18147, 14903, 16327, 9910,
+ 18147, 14903, 17350,
+ 18147, 14903, 17659, 202,
+ 18147, 14903, 17659, 7095, 9808,
+ 18147, 14903, 17659, 9845, 9808,
+ 18147, 14903, 17945, 2390,
+ 18147, 14903, 18367, 11708,
+ 18147, 14903, 18367, 16327, 9910,
+ 18147, 14903, 18669, 7816,
+ 18147, 14903, 19059, 10173, 894,
+ 18147, 14903, 19059, 14531, 10173, 894,
+ 18147, 14903, 19059, 14531, 19211, 10173, 894,
+ 18147, 14903, 19059, 19211, 10173, 894,
+ 18147, 14903, 19676,
+ 18147, 14903, 19717, 14178,
+ 18147, 14903, 19925, 10173, 894,
+ 18147, 14903, 19925, 14531, 10173, 894,
+ 18147, 14903, 19925, 14531, 19211, 10173, 894,
+ 18147, 14903, 19925, 19211, 10173, 894,
+ 18147, 14903, 20265, 11702,
+ 18147, 14903, 20750,
+ 18151, 1391, 3690,
+ 18151, 1391, 10704,
+ 18151, 1391, 11910,
+ 18152,
+ 18156,
+ 18158,
+ 18159, 16960,
+ 18159, 17562,
+ 18159, 18754,
+ 18162,
+ 18165, 16703, 12910,
+ 18166,
+ 18167, 13802,
+ 18167, 21376,
+ 18168,
+ 18173, 9170,
+ 18173, 11849, 15424,
+ 18177, 16035, 11849, 10854,
+ 18177, 16035, 12477, 15993, 14903, 0,
+ 18177, 16035, 12477, 15993, 14903, 2,
+ 18177, 16035, 12477, 15993, 14903, 4,
+ 18177, 16035, 12477, 15993, 14903, 6,
+ 18177, 16035, 12477, 15993, 14903, 8,
+ 18177, 16035, 12477, 15993, 14903, 10,
+ 18177, 16035, 12477, 15993, 14903, 12,
+ 18177, 16035, 12477, 15993, 14903, 14,
+ 18177, 16035, 12477, 15993, 14903, 16,
+ 18177, 16035, 12477, 15993, 14903, 18,
+ 18177, 16035, 12477, 15993, 14903, 20,
+ 18177, 16035, 12477, 15993, 14903, 22,
+ 18177, 16035, 12477, 15993, 14903, 24,
+ 18177, 16035, 12477, 15993, 14903, 26,
+ 18177, 16035, 12477, 15993, 14903, 28,
+ 18177, 16035, 12477, 15993, 14903, 30,
+ 18177, 16035, 12477, 15993, 14903, 32,
+ 18177, 16035, 12477, 15993, 14903, 34,
+ 18177, 16035, 12477, 15993, 14903, 36,
+ 18177, 16035, 12477, 15993, 14903, 38,
+ 18177, 16035, 12477, 15993, 14903, 40,
+ 18177, 16035, 12477, 15993, 14903, 42,
+ 18177, 16035, 12477, 15993, 14903, 44,
+ 18177, 16035, 12477, 15993, 14903, 46,
+ 18177, 16035, 12477, 15993, 14903, 48,
+ 18177, 16035, 12477, 15993, 14903, 50,
+ 18177, 16035, 15133, 14546,
+ 18177, 16035, 15133, 15706,
+ 18177, 16035, 15133, 15708,
+ 18177, 16035, 15133, 16280,
+ 18177, 16035, 15133, 17096,
+ 18177, 16035, 15133, 17854,
+ 18177, 16035, 15133, 17924,
+ 18177, 16035, 15133, 18190,
+ 18177, 16035, 15133, 18564,
+ 18177, 16035, 15133, 19424,
+ 18177, 17139, 60,
+ 18177, 17139, 294,
+ 18177, 17139, 520,
+ 18177, 17139, 586,
+ 18177, 17139, 696,
+ 18177, 17139, 11719, 8282,
+ 18177, 17139, 12477, 15993, 14903, 0,
+ 18177, 17139, 12477, 15993, 14903, 2,
+ 18177, 17139, 12477, 15993, 14903, 4,
+ 18177, 17139, 12477, 15993, 14903, 6,
+ 18177, 17139, 12477, 15993, 14903, 8,
+ 18177, 17139, 12477, 15993, 14903, 10,
+ 18177, 17139, 12477, 15993, 14903, 12,
+ 18177, 17139, 12477, 15993, 14903, 14,
+ 18177, 17139, 12477, 15993, 14903, 16,
+ 18177, 17139, 12477, 15993, 14903, 18,
+ 18177, 17139, 12477, 15993, 14903, 20,
+ 18177, 17139, 12477, 15993, 14903, 22,
+ 18177, 17139, 12477, 15993, 14903, 24,
+ 18177, 17139, 12477, 15993, 14903, 26,
+ 18177, 17139, 12477, 15993, 14903, 28,
+ 18177, 17139, 12477, 15993, 14903, 30,
+ 18177, 17139, 12477, 15993, 14903, 32,
+ 18177, 17139, 12477, 15993, 14903, 34,
+ 18177, 17139, 12477, 15993, 14903, 36,
+ 18177, 17139, 12477, 15993, 14903, 38,
+ 18177, 17139, 12477, 15993, 14903, 40,
+ 18177, 17139, 12477, 15993, 14903, 42,
+ 18177, 17139, 12477, 15993, 14903, 44,
+ 18177, 17139, 12477, 15993, 14903, 46,
+ 18177, 17139, 12477, 15993, 14903, 48,
+ 18177, 17139, 12477, 15993, 14903, 50,
+ 18195, 13502,
+ 18200,
+ 18201, 10595, 19759, 11712,
+ 18211, 980,
+ 18211, 6711, 14552,
+ 18211, 10062,
+ 18211, 15267, 1012,
+ 18211, 19698,
+ 18219, 482,
+ 18223, 11718,
+ 18225, 11521, 9904,
+ 18225, 12173, 11718,
+ 18225, 12477, 11718,
+ 18225, 13965, 9904,
+ 18228,
+ 18257, 632,
+ 18257, 10595, 13677, 18214,
+ 18257, 10595, 19973, 15534,
+ 18265, 16062,
+ 18277, 17624,
+ 18283, 8283, 9696,
+ 18283, 8283, 14533, 9696,
+ 18283, 14533, 7103, 8282,
+ 18283, 14903, 0,
+ 18283, 14903, 8,
+ 18283, 14903, 16,
+ 18283, 14903, 28,
+ 18283, 14903, 40,
+ 18283, 14903, 106,
+ 18283, 14903, 124,
+ 18283, 14903, 148,
+ 18283, 14903, 184,
+ 18283, 14903, 224,
+ 18283, 14903, 244,
+ 18283, 14903, 266,
+ 18283, 14903, 334,
+ 18283, 14903, 348,
+ 18283, 14903, 382,
+ 18283, 14903, 414,
+ 18283, 14903, 446,
+ 18283, 14903, 520,
+ 18283, 14903, 554,
+ 18283, 14903, 570,
+ 18283, 14903, 586,
+ 18283, 14903, 620,
+ 18283, 14903, 692,
+ 18283, 14903, 716,
+ 18283, 14903, 732,
+ 18283, 14903, 750,
+ 18283, 14903, 1040,
+ 18283, 14903, 1138,
+ 18283, 14903, 1250,
+ 18283, 14903, 1476,
+ 18283, 14903, 1904,
+ 18283, 14903, 2432,
+ 18283, 14903, 2480,
+ 18283, 14903, 2544,
+ 18283, 14903, 2660,
+ 18283, 14903, 3030,
+ 18283, 14903, 3222,
+ 18283, 14903, 3288,
+ 18283, 14903, 3302,
+ 18283, 14903, 3786,
+ 18283, 14903, 10194,
+ 18283, 14903, 10218,
+ 18283, 14903, 13483, 0,
+ 18283, 14903, 15761, 266,
+ 18283, 14903, 18713, 732,
+ 18283, 14903, 18733, 224,
+ 18283, 14903, 19637, 3030,
+ 18283, 14903, 20336,
+ 18283, 15465, 7103, 8282,
+ 18283, 19469, 14903, 570,
+ 18283, 19469, 14903, 692,
+ 18283, 19469, 14903, 732,
+ 18283, 20245, 14903, 570,
+ 18285, 6379, 9809, 515, 5692,
+ 18285, 6379, 9809, 916,
+ 18285, 6379, 9809, 964,
+ 18285, 6379, 9809, 1014,
+ 18285, 6379, 9809, 2122,
+ 18285, 6379, 9809, 2860,
+ 18285, 6379, 9809, 3012,
+ 18285, 6379, 9809, 6062,
+ 18285, 6379, 9809, 6070,
+ 18285, 6379, 9809, 6404,
+ 18285, 6379, 9809, 7130,
+ 18285, 6379, 9809, 7268,
+ 18285, 6379, 9809, 7810,
+ 18285, 6379, 9809, 9732,
+ 18285, 6379, 9809, 10504,
+ 18285, 6379, 9809, 10577, 5706,
+ 18285, 6379, 9809, 11428,
+ 18285, 6379, 9809, 11567, 2096,
+ 18285, 6379, 9809, 11658,
+ 18285, 6379, 9809, 11906,
+ 18285, 6379, 9809, 12034,
+ 18285, 6379, 9809, 13173, 10182,
+ 18285, 6379, 9809, 13474,
+ 18285, 6379, 9809, 13483, 872,
+ 18285, 6379, 9809, 13670,
+ 18285, 6379, 9809, 13770,
+ 18285, 6379, 9809, 13980,
+ 18285, 6379, 9809, 14414,
+ 18285, 6379, 9809, 14506,
+ 18285, 6379, 9809, 14704,
+ 18285, 6379, 9809, 14740,
+ 18285, 6379, 9809, 15251, 7102,
+ 18285, 6379, 9809, 15438,
+ 18285, 6379, 9809, 15938,
+ 18285, 6379, 9809, 15994,
+ 18285, 6379, 9809, 16654,
+ 18285, 6379, 9809, 16852,
+ 18285, 6379, 9809, 17004,
+ 18285, 6379, 9809, 17940,
+ 18285, 6379, 9809, 18106,
+ 18285, 6379, 9809, 18476,
+ 18285, 6379, 9809, 18549, 7102,
+ 18285, 6379, 9809, 18768,
+ 18285, 6379, 9809, 18785, 13172,
+ 18285, 6379, 9809, 18819, 16783, 15534,
+ 18285, 6379, 9809, 20104,
+ 18287, 9904,
+ 18301, 15518,
+ 18303, 19162,
+ 18312,
+ 18313, 503, 11943, 632,
+ 18313, 503, 19919, 632,
+ 18313, 983, 2499, 19919, 632,
+ 18313, 11347, 2499, 11943, 632,
+ 18313, 11347, 2499, 14197, 11943, 632,
+ 18313, 11347, 14197, 11943, 632,
+ 18313, 11347, 14555, 9808,
+ 18313, 11347, 20699, 2499, 11943, 632,
+ 18313, 11347, 20699, 14555, 9808,
+ 18313, 13801, 18348,
+ 18315, 9162,
+ 18316,
+ 18323, 7816,
+ 18329, 12525, 7778,
+ 18329, 12525, 13270,
+ 18329, 13807, 7778,
+ 18329, 13807, 7779, 841, 12525, 7779, 841, 12525, 13270,
+ 18329, 13807, 7779, 841, 12525, 13270,
+ 18329, 13807, 7779, 841, 13807, 13271, 841, 12525, 7778,
+ 18329, 13807, 7779, 841, 13807, 13271, 841, 12525, 13270,
+ 18329, 13807, 13270,
+ 18329, 13807, 13271, 841, 12525, 7778,
+ 18329, 13807, 13271, 841, 12525, 7779, 841, 12525, 13270,
+ 18335, 8282,
+ 18335, 20469, 8282,
+ 18336,
+ 18343, 13115, 15564,
+ 18347, 19163, 15565, 14903, 0,
+ 18347, 19163, 15565, 14903, 2,
+ 18347, 19163, 15565, 14903, 4,
+ 18347, 19163, 15565, 14903, 6,
+ 18347, 19163, 15565, 14903, 8,
+ 18347, 19163, 15565, 14903, 10,
+ 18347, 19163, 15565, 14903, 12,
+ 18347, 19163, 15565, 14903, 14,
+ 18347, 19163, 15565, 14903, 16,
+ 18347, 19163, 15565, 14903, 18,
+ 18347, 19163, 15565, 14903, 20,
+ 18347, 19163, 15565, 14903, 22,
+ 18347, 19163, 15565, 14903, 24,
+ 18347, 19163, 15565, 14903, 26,
+ 18347, 19163, 15565, 14903, 28,
+ 18347, 19163, 15565, 14903, 30,
+ 18347, 19163, 15565, 14903, 32,
+ 18347, 19163, 15565, 14903, 34,
+ 18347, 19163, 15565, 14903, 36,
+ 18347, 19163, 15565, 14903, 38,
+ 18347, 19163, 15565, 14903, 40,
+ 18347, 19163, 15565, 14903, 42,
+ 18347, 19163, 15565, 14903, 44,
+ 18347, 19163, 15565, 14903, 46,
+ 18347, 19163, 15565, 14903, 48,
+ 18347, 19163, 15565, 14903, 50,
+ 18351, 6682,
+ 18355, 15338,
+ 18362,
+ 18364,
+ 18367, 2499, 9808,
+ 18367, 7091, 10595, 15021, 14607, 17886,
+ 18367, 11398,
+ 18367, 11399, 10595, 18658,
+ 18367, 11708,
+ 18367, 11927, 3024,
+ 18367, 13192,
+ 18367, 13676,
+ 18367, 13677, 14554,
+ 18367, 14533, 13192,
+ 18367, 14533, 13193, 19359, 8282,
+ 18367, 14533, 15535, 2499, 9808,
+ 18367, 14643, 20620,
+ 18367, 15319, 7091, 10595, 16283, 17134,
+ 18367, 15633, 669, 9808,
+ 18367, 15633, 6407, 9808,
+ 18367, 15671, 13192,
+ 18367, 16901, 9808,
+ 18367, 17007, 14631, 12211, 14330,
+ 18367, 17335, 7090,
+ 18367, 18335, 8282,
+ 18367, 19416,
+ 18367, 20165, 15993, 22,
+ 18380,
+ 18392,
+ 18394,
+ 18396,
+ 18407, 13965, 9904,
+ 18407, 13965, 12477, 11718,
+ 18407, 13965, 14396,
+ 18408,
+ 18415, 9904,
+ 18417, 5698,
+ 18423, 11521, 669, 18297, 12324,
+ 18423, 11521, 6407, 18297, 12324,
+ 18423, 11521, 7779, 18297, 12324,
+ 18423, 11521, 13271, 18297, 12324,
+ 18423, 13965, 669, 18297, 12324,
+ 18423, 13965, 6407, 18297, 12324,
+ 18423, 13965, 7779, 18297, 12324,
+ 18423, 13965, 13271, 18297, 12324,
+ 18431, 17496,
+ 18433, 6682,
+ 18433, 15564,
+ 18433, 21054,
+ 18435, 17109, 6682,
+ 18435, 17933, 6682,
+ 18437, 6682,
+ 18444,
+ 18447, 7103, 315, 20190,
+ 18449, 9808,
+ 18453, 13958,
+ 18467, 5838,
+ 18475, 13302,
+ 18485, 19919, 632,
+ 18506,
+ 18507, 503, 11943, 632,
+ 18507, 503, 19919, 632,
+ 18507, 983, 2499, 19919, 632,
+ 18507, 11347, 2499, 11943, 632,
+ 18507, 11347, 2499, 14197, 11943, 632,
+ 18507, 11347, 14197, 11943, 632,
+ 18507, 11347, 14555, 9808,
+ 18507, 11347, 20699, 2499, 11943, 632,
+ 18507, 11347, 20699, 14555, 9808,
+ 18507, 13801, 18348,
+ 18511, 482,
+ 18511, 483, 503, 11943, 632,
+ 18511, 483, 503, 11943, 633, 10595, 1213, 11346,
+ 18511, 483, 10595, 2499, 11943, 632,
+ 18511, 483, 11347, 2499, 11943, 632,
+ 18511, 483, 11347, 13677, 18214,
+ 18511, 483, 11347, 14197, 11943, 632,
+ 18511, 483, 11347, 14555, 9808,
+ 18511, 10595, 1212,
+ 18511, 10595, 9243, 9809, 11502,
+ 18511, 10595, 21377, 9809, 11502,
+ 18511, 11347, 15542,
+ 18511, 11347, 18510,
+ 18511, 11347, 19213, 11428,
+ 18511, 14287, 841, 14793, 123, 6259, 10595, 15542,
+ 18511, 14287, 15542,
+ 18511, 19343, 17118,
+ 18538,
+ 18541, 13921, 9809, 16,
+ 18541, 13921, 9809, 40,
+ 18541, 14903, 0,
+ 18541, 14903, 16,
+ 18541, 14903, 40,
+ 18541, 14903, 106,
+ 18541, 14903, 148,
+ 18541, 14903, 244,
+ 18541, 14903, 348,
+ 18541, 14903, 382,
+ 18541, 14903, 414,
+ 18541, 14903, 446,
+ 18541, 14903, 520,
+ 18541, 14903, 586,
+ 18541, 14903, 620,
+ 18541, 14903, 692,
+ 18541, 14903, 732,
+ 18541, 14903, 2432,
+ 18545, 10182,
+ 18553, 17566,
+ 18563, 6682,
+ 18569, 6258,
+ 18575, 14903, 732,
+ 18575, 14903, 734,
+ 18575, 14903, 736,
+ 18575, 14903, 740,
+ 18575, 14903, 744,
+ 18575, 14903, 3624,
+ 18575, 14903, 3626,
+ 18575, 14903, 3628,
+ 18575, 14903, 3632,
+ 18575, 14903, 3634,
+ 18575, 14903, 3636,
+ 18575, 14903, 3638,
+ 18575, 14903, 3640,
+ 18575, 14903, 3642,
+ 18575, 14903, 3644,
+ 18575, 14903, 3646,
+ 18575, 14903, 3648,
+ 18575, 14903, 3650,
+ 18575, 14903, 3652,
+ 18575, 14903, 3654,
+ 18575, 14903, 3656,
+ 18575, 14903, 3660,
+ 18575, 14903, 3662,
+ 18575, 14903, 3664,
+ 18575, 14903, 3666,
+ 18575, 14903, 3682,
+ 18575, 14903, 5283, 10696,
+ 18575, 14903, 10686,
+ 18575, 14903, 10688,
+ 18575, 14903, 10690,
+ 18575, 14903, 10692,
+ 18575, 14903, 10696,
+ 18575, 14903, 10700,
+ 18575, 14903, 10702,
+ 18575, 14903, 10706,
+ 18575, 14903, 10708,
+ 18575, 14903, 10710,
+ 18575, 14903, 10712,
+ 18575, 14903, 10716,
+ 18575, 14903, 10722,
+ 18575, 14903, 10724,
+ 18575, 14903, 14018,
+ 18575, 14903, 14020,
+ 18575, 14903, 14022,
+ 18575, 14903, 14285, 15843, 3636,
+ 18575, 14903, 14285, 15843, 3638,
+ 18575, 14903, 15691, 3636,
+ 18575, 14903, 15691, 3640,
+ 18575, 14903, 15691, 3650,
+ 18575, 14903, 15691, 10696,
+ 18575, 14903, 15691, 10698,
+ 18575, 14903, 15691, 10702,
+ 18575, 14903, 15691, 10704,
+ 18575, 14903, 15691, 10722,
+ 18575, 14903, 15859, 10722,
+ 18575, 14903, 20251, 3666,
+ 18575, 18147, 14903, 21133, 8282,
+ 18575, 18831, 14794,
+ 18575, 19421, 8282,
+ 18579, 9809, 212,
+ 18585, 13407, 18771, 1069, 17311, 21258,
+ 18585, 13407, 18771, 1069, 17311, 21262,
+ 18585, 13407, 18771, 1069, 17311, 21274,
+ 18585, 13407, 18771, 1069, 17311, 21294,
+ 18585, 13407, 18771, 1069, 17311, 21302,
+ 18585, 13407, 18771, 1069, 17311, 21310,
+ 18585, 13407, 18771, 1069, 17311, 21322,
+ 18585, 13407, 18771, 1069, 17311, 21328,
+ 18585, 13407, 18771, 1069, 17311, 21336,
+ 18585, 13407, 18771, 12477, 15993, 14903, 36,
+ 18597, 10595, 1213, 11346,
+ 18597, 10595, 15411, 93, 14306,
+ 18597, 10595, 17011, 16066,
+ 18597, 10595, 18658,
+ 18598,
+ 18605, 6714,
+ 18605, 11874,
+ 18651, 10605, 16150,
+ 18651, 14903, 16,
+ 18651, 14903, 40,
+ 18651, 14903, 280,
+ 18651, 14903, 544,
+ 18651, 14903, 632,
+ 18651, 14903, 708,
+ 18651, 14903, 760,
+ 18651, 14903, 824,
+ 18651, 14903, 1856,
+ 18651, 14903, 1904,
+ 18651, 14903, 2268,
+ 18651, 14903, 2524,
+ 18651, 14903, 3102,
+ 18651, 14903, 3216,
+ 18651, 14903, 3700,
+ 18651, 14903, 5228,
+ 18651, 14903, 5788,
+ 18651, 14903, 6348,
+ 18651, 14903, 7272,
+ 18651, 14903, 9324,
+ 18651, 14903, 9638,
+ 18651, 14903, 9730,
+ 18651, 14903, 10856,
+ 18651, 14903, 11832,
+ 18651, 14903, 12092,
+ 18651, 14903, 12128,
+ 18651, 14903, 12464,
+ 18651, 14903, 13246,
+ 18651, 14903, 13344,
+ 18651, 14903, 15620,
+ 18654,
+ 18655, 495, 14706,
+ 18655, 10595, 9421, 11878,
+ 18657, 6682,
+ 18662,
+ 18666,
+ 18669, 895, 10595, 19973, 15534,
+ 18669, 895, 14287, 13271, 18596,
+ 18669, 895, 14533, 7779, 19610,
+ 18669, 895, 15671, 13271, 19610,
+ 18669, 3057, 6402,
+ 18669, 3169, 1902,
+ 18669, 6743, 6402,
+ 18669, 7553, 15331, 8282,
+ 18669, 7553, 15331, 8283, 12525, 7086,
+ 18669, 7553, 15331, 8283, 13807, 7086,
+ 18669, 7553, 15331, 10595, 15761, 13499, 8282,
+ 18669, 7553, 15331, 10595, 15761, 13499, 8283, 13807, 7086,
+ 18669, 7816,
+ 18669, 7817, 10595, 14397, 11346,
+ 18669, 7817, 10595, 14397, 11502,
+ 18669, 7817, 10595, 15021, 1212,
+ 18669, 7817, 19056,
+ 18669, 8277, 10595, 15535, 9808,
+ 18669, 13676,
+ 18669, 15831, 7816,
+ 18669, 17255, 12498,
+ 18669, 17860,
+ 18669, 20511, 19179, 8282,
+ 18673, 15512,
+ 18703, 633, 3225, 17168,
+ 18705, 17236,
+ 18713, 16799, 7779, 3513, 17254,
+ 18714,
+ 18716,
+ 18719, 19965, 3870,
+ 18719, 19965, 3872,
+ 18719, 19965, 3874,
+ 18719, 19965, 3876,
+ 18719, 19965, 3878,
+ 18719, 19965, 3880,
+ 18719, 19965, 3882,
+ 18719, 19965, 3884,
+ 18719, 19965, 3886,
+ 18719, 19965, 3888,
+ 18719, 19965, 3890,
+ 18719, 19965, 3892,
+ 18719, 19965, 3894,
+ 18719, 19965, 3896,
+ 18719, 19965, 3898,
+ 18719, 19965, 3900,
+ 18719, 19965, 3902,
+ 18719, 19965, 3904,
+ 18719, 19965, 3906,
+ 18719, 19965, 3908,
+ 18719, 19965, 3910,
+ 18719, 19965, 3912,
+ 18719, 19965, 3914,
+ 18719, 19965, 3916,
+ 18719, 19965, 3918,
+ 18719, 19965, 3920,
+ 18719, 19965, 3922,
+ 18719, 19965, 3924,
+ 18719, 19965, 3926,
+ 18719, 19965, 3928,
+ 18719, 19965, 3930,
+ 18719, 19965, 3932,
+ 18719, 19965, 3934,
+ 18719, 19965, 3936,
+ 18719, 19965, 3938,
+ 18719, 19965, 3940,
+ 18719, 19965, 3942,
+ 18719, 19965, 3944,
+ 18719, 19965, 3946,
+ 18719, 19965, 3948,
+ 18719, 19965, 3950,
+ 18719, 19965, 3952,
+ 18719, 19965, 3954,
+ 18719, 19965, 3956,
+ 18719, 19965, 3958,
+ 18719, 19965, 3960,
+ 18719, 19965, 3962,
+ 18719, 19965, 3964,
+ 18719, 19965, 3966,
+ 18719, 19965, 3968,
+ 18719, 19965, 3970,
+ 18719, 19965, 3972,
+ 18719, 19965, 3974,
+ 18719, 19965, 3976,
+ 18719, 19965, 3978,
+ 18719, 19965, 3980,
+ 18719, 19965, 3982,
+ 18719, 19965, 3984,
+ 18719, 19965, 3986,
+ 18719, 19965, 3988,
+ 18719, 19965, 3990,
+ 18719, 19965, 3992,
+ 18719, 19965, 3994,
+ 18719, 19965, 3996,
+ 18719, 19965, 3998,
+ 18719, 19965, 4000,
+ 18719, 19965, 4002,
+ 18719, 19965, 4004,
+ 18719, 19965, 4006,
+ 18719, 19965, 4008,
+ 18719, 19965, 4010,
+ 18719, 19965, 4012,
+ 18719, 19965, 4014,
+ 18719, 19965, 4016,
+ 18719, 19965, 4018,
+ 18719, 19965, 4020,
+ 18719, 19965, 4022,
+ 18719, 19965, 4024,
+ 18719, 19965, 4026,
+ 18719, 19965, 4028,
+ 18719, 19965, 4030,
+ 18719, 19965, 4032,
+ 18719, 19965, 4034,
+ 18719, 19965, 4036,
+ 18719, 19965, 4038,
+ 18719, 19965, 4040,
+ 18719, 19965, 4042,
+ 18719, 19965, 4044,
+ 18719, 19965, 4046,
+ 18719, 19965, 4048,
+ 18719, 19965, 4050,
+ 18719, 19965, 4052,
+ 18719, 19965, 4054,
+ 18719, 19965, 4056,
+ 18719, 19965, 4058,
+ 18719, 19965, 4060,
+ 18719, 19965, 4062,
+ 18719, 19965, 4064,
+ 18719, 19965, 4066,
+ 18719, 19965, 4068,
+ 18719, 19965, 4070,
+ 18719, 19965, 4072,
+ 18719, 19965, 4074,
+ 18719, 19965, 4076,
+ 18719, 19965, 4078,
+ 18719, 19965, 4080,
+ 18719, 19965, 4082,
+ 18719, 19965, 4084,
+ 18719, 19965, 4086,
+ 18719, 19965, 4088,
+ 18719, 19965, 4090,
+ 18719, 19965, 4092,
+ 18719, 19965, 4094,
+ 18719, 19965, 4096,
+ 18719, 19965, 4098,
+ 18719, 19965, 4100,
+ 18719, 19965, 4102,
+ 18719, 19965, 4104,
+ 18719, 19965, 4106,
+ 18719, 19965, 4108,
+ 18719, 19965, 4110,
+ 18719, 19965, 4112,
+ 18719, 19965, 4114,
+ 18719, 19965, 4116,
+ 18719, 19965, 4118,
+ 18719, 19965, 4120,
+ 18719, 19965, 4122,
+ 18719, 19965, 4124,
+ 18719, 19965, 4126,
+ 18719, 19965, 4128,
+ 18719, 19965, 4130,
+ 18719, 19965, 4132,
+ 18719, 19965, 4134,
+ 18719, 19965, 4136,
+ 18719, 19965, 4138,
+ 18719, 19965, 4140,
+ 18719, 19965, 4142,
+ 18719, 19965, 4144,
+ 18719, 19965, 4146,
+ 18719, 19965, 4148,
+ 18719, 19965, 4150,
+ 18719, 19965, 4152,
+ 18719, 19965, 4154,
+ 18719, 19965, 4156,
+ 18719, 19965, 4158,
+ 18719, 19965, 4160,
+ 18719, 19965, 4162,
+ 18719, 19965, 4164,
+ 18719, 19965, 4166,
+ 18719, 19965, 4168,
+ 18719, 19965, 4170,
+ 18719, 19965, 4172,
+ 18719, 19965, 4174,
+ 18719, 19965, 4176,
+ 18719, 19965, 4178,
+ 18719, 19965, 4180,
+ 18719, 19965, 4182,
+ 18719, 19965, 4184,
+ 18719, 19965, 4186,
+ 18719, 19965, 4188,
+ 18719, 19965, 4190,
+ 18719, 19965, 4192,
+ 18719, 19965, 4194,
+ 18719, 19965, 4196,
+ 18719, 19965, 4198,
+ 18719, 19965, 4200,
+ 18719, 19965, 4202,
+ 18719, 19965, 4204,
+ 18719, 19965, 4206,
+ 18719, 19965, 4208,
+ 18719, 19965, 4210,
+ 18719, 19965, 4212,
+ 18719, 19965, 4214,
+ 18719, 19965, 4216,
+ 18719, 19965, 4218,
+ 18719, 19965, 4220,
+ 18719, 19965, 4222,
+ 18719, 19965, 4224,
+ 18719, 19965, 4226,
+ 18719, 19965, 4228,
+ 18719, 19965, 4230,
+ 18719, 19965, 4232,
+ 18719, 19965, 4234,
+ 18719, 19965, 4236,
+ 18719, 19965, 4238,
+ 18719, 19965, 4240,
+ 18719, 19965, 4242,
+ 18719, 19965, 4244,
+ 18719, 19965, 4246,
+ 18719, 19965, 4248,
+ 18719, 19965, 4250,
+ 18719, 19965, 4252,
+ 18719, 19965, 4254,
+ 18719, 19965, 4256,
+ 18719, 19965, 4258,
+ 18719, 19965, 4260,
+ 18719, 19965, 4262,
+ 18719, 19965, 4264,
+ 18719, 19965, 4266,
+ 18719, 19965, 4268,
+ 18719, 19965, 4270,
+ 18719, 19965, 4272,
+ 18719, 19965, 4274,
+ 18719, 19965, 4276,
+ 18719, 19965, 4278,
+ 18719, 19965, 4280,
+ 18719, 19965, 4282,
+ 18719, 19965, 4284,
+ 18719, 19965, 4286,
+ 18719, 19965, 4288,
+ 18719, 19965, 4290,
+ 18719, 19965, 4292,
+ 18719, 19965, 4294,
+ 18719, 19965, 4296,
+ 18719, 19965, 4298,
+ 18719, 19965, 4300,
+ 18719, 19965, 4302,
+ 18719, 19965, 4304,
+ 18719, 19965, 4306,
+ 18719, 19965, 4308,
+ 18719, 19965, 4310,
+ 18719, 19965, 4312,
+ 18719, 19965, 4314,
+ 18719, 19965, 4316,
+ 18719, 19965, 4318,
+ 18719, 19965, 4320,
+ 18719, 19965, 4322,
+ 18719, 19965, 4324,
+ 18719, 19965, 4326,
+ 18719, 19965, 4328,
+ 18719, 19965, 4330,
+ 18719, 19965, 4332,
+ 18719, 19965, 4334,
+ 18719, 19965, 4336,
+ 18719, 19965, 4338,
+ 18719, 19965, 4340,
+ 18719, 19965, 4342,
+ 18719, 19965, 4344,
+ 18719, 19965, 4346,
+ 18719, 19965, 4348,
+ 18719, 19965, 4350,
+ 18719, 19965, 4352,
+ 18719, 19965, 4354,
+ 18719, 19965, 4356,
+ 18719, 19965, 4358,
+ 18719, 19965, 4360,
+ 18719, 19965, 4362,
+ 18719, 19965, 4364,
+ 18719, 19965, 4366,
+ 18719, 19965, 4368,
+ 18719, 19965, 4370,
+ 18719, 19965, 4372,
+ 18719, 19965, 4374,
+ 18719, 19965, 4376,
+ 18719, 19965, 4378,
+ 18719, 19965, 4380,
+ 18719, 19965, 4382,
+ 18719, 19965, 4384,
+ 18719, 19965, 4386,
+ 18719, 19965, 4388,
+ 18719, 19965, 4390,
+ 18719, 19965, 4392,
+ 18719, 19965, 4394,
+ 18719, 19965, 4396,
+ 18719, 19965, 4398,
+ 18719, 19965, 4400,
+ 18719, 19965, 4402,
+ 18719, 19965, 4404,
+ 18719, 19965, 4406,
+ 18719, 19965, 4408,
+ 18719, 19965, 4410,
+ 18719, 19965, 4412,
+ 18719, 19965, 4414,
+ 18719, 19965, 4416,
+ 18719, 19965, 4418,
+ 18719, 19965, 4420,
+ 18719, 19965, 4422,
+ 18719, 19965, 4424,
+ 18719, 19965, 4426,
+ 18719, 19965, 4428,
+ 18719, 19965, 4430,
+ 18719, 19965, 4432,
+ 18719, 19965, 4434,
+ 18719, 19965, 4436,
+ 18719, 19965, 4438,
+ 18719, 19965, 4440,
+ 18719, 19965, 4442,
+ 18719, 19965, 4444,
+ 18719, 19965, 4446,
+ 18719, 19965, 4448,
+ 18719, 19965, 4450,
+ 18719, 19965, 4452,
+ 18719, 19965, 4454,
+ 18719, 19965, 4456,
+ 18719, 19965, 4458,
+ 18719, 19965, 4460,
+ 18719, 19965, 4462,
+ 18719, 19965, 4464,
+ 18719, 19965, 4466,
+ 18719, 19965, 4468,
+ 18719, 19965, 4470,
+ 18719, 19965, 4472,
+ 18719, 19965, 4474,
+ 18719, 19965, 4476,
+ 18719, 19965, 4478,
+ 18719, 19965, 4480,
+ 18719, 19965, 4482,
+ 18719, 19965, 4484,
+ 18719, 19965, 4486,
+ 18719, 19965, 4488,
+ 18719, 19965, 4490,
+ 18719, 19965, 4492,
+ 18719, 19965, 4494,
+ 18719, 19965, 4496,
+ 18719, 19965, 4498,
+ 18719, 19965, 4500,
+ 18719, 19965, 4502,
+ 18719, 19965, 4504,
+ 18719, 19965, 4506,
+ 18719, 19965, 4508,
+ 18719, 19965, 4510,
+ 18719, 19965, 4512,
+ 18719, 19965, 4514,
+ 18719, 19965, 4516,
+ 18719, 19965, 4518,
+ 18719, 19965, 4520,
+ 18719, 19965, 4522,
+ 18719, 19965, 4524,
+ 18719, 19965, 4526,
+ 18719, 19965, 4528,
+ 18719, 19965, 4530,
+ 18719, 19965, 4534,
+ 18719, 19965, 4536,
+ 18719, 19965, 4538,
+ 18719, 19965, 4540,
+ 18719, 19965, 4542,
+ 18719, 19965, 4544,
+ 18719, 19965, 4546,
+ 18719, 19965, 4548,
+ 18719, 19965, 4550,
+ 18719, 19965, 4552,
+ 18719, 19965, 4554,
+ 18719, 19965, 4556,
+ 18719, 19965, 4558,
+ 18719, 19965, 4560,
+ 18719, 19965, 4562,
+ 18719, 19965, 4564,
+ 18719, 19965, 4566,
+ 18719, 19965, 4568,
+ 18719, 19965, 4570,
+ 18719, 19965, 4572,
+ 18719, 19965, 4574,
+ 18719, 19965, 4576,
+ 18719, 19965, 4578,
+ 18719, 19965, 4580,
+ 18719, 19965, 4582,
+ 18719, 19965, 4584,
+ 18719, 19965, 4586,
+ 18719, 19965, 4588,
+ 18719, 19965, 4590,
+ 18719, 19965, 4592,
+ 18719, 19965, 4594,
+ 18719, 19965, 4596,
+ 18719, 19965, 4598,
+ 18719, 19965, 4600,
+ 18719, 19965, 4602,
+ 18719, 19965, 4604,
+ 18719, 19965, 4606,
+ 18719, 19965, 4608,
+ 18719, 19965, 4610,
+ 18719, 19965, 4612,
+ 18719, 19965, 4614,
+ 18719, 19965, 4616,
+ 18719, 19965, 4618,
+ 18719, 19965, 4620,
+ 18719, 19965, 4622,
+ 18719, 19965, 4624,
+ 18719, 19965, 4626,
+ 18719, 19965, 4628,
+ 18719, 19965, 4630,
+ 18719, 19965, 4632,
+ 18719, 19965, 4635, 571, 503, 576,
+ 18719, 19965, 4636,
+ 18719, 19965, 4638,
+ 18719, 19965, 4640,
+ 18719, 19965, 4642,
+ 18719, 19965, 4644,
+ 18719, 19965, 4646,
+ 18719, 19965, 4648,
+ 18719, 19965, 4650,
+ 18719, 19965, 4652,
+ 18719, 19965, 4655, 11916,
+ 18719, 19965, 4656,
+ 18719, 19965, 4658,
+ 18719, 19965, 4660,
+ 18719, 19965, 4662,
+ 18719, 19965, 4664,
+ 18719, 19965, 4666,
+ 18719, 19965, 4668,
+ 18719, 19965, 4670,
+ 18719, 19965, 4672,
+ 18719, 19965, 4674,
+ 18719, 19965, 4676,
+ 18719, 19965, 4678,
+ 18719, 19965, 4680,
+ 18719, 19965, 4682,
+ 18719, 19965, 4684,
+ 18719, 19965, 4686,
+ 18719, 19965, 4689, 11497, 18087, 8282,
+ 18719, 19965, 4690,
+ 18719, 19965, 4692,
+ 18719, 19965, 4694,
+ 18719, 19965, 4696,
+ 18719, 19965, 4698,
+ 18719, 19965, 4700,
+ 18719, 19965, 4702,
+ 18719, 19965, 4704,
+ 18719, 19965, 4706,
+ 18719, 19965, 4708,
+ 18719, 19965, 4710,
+ 18719, 19965, 4712,
+ 18719, 19965, 4714,
+ 18719, 19965, 4716,
+ 18719, 19965, 4718,
+ 18719, 19965, 4720,
+ 18719, 19965, 4722,
+ 18719, 19965, 4724,
+ 18719, 19965, 4726,
+ 18719, 19965, 4728,
+ 18719, 19965, 4730,
+ 18719, 19965, 4732,
+ 18719, 19965, 4734,
+ 18719, 19965, 4736,
+ 18719, 19965, 4738,
+ 18719, 19965, 4740,
+ 18719, 19965, 4742,
+ 18719, 19965, 4744,
+ 18719, 19965, 4746,
+ 18719, 19965, 4748,
+ 18719, 19965, 4750,
+ 18719, 19965, 4752,
+ 18719, 19965, 4754,
+ 18719, 19965, 4756,
+ 18719, 19965, 4758,
+ 18719, 19965, 4760,
+ 18719, 19965, 4762,
+ 18719, 19965, 4764,
+ 18719, 19965, 4766,
+ 18719, 19965, 4768,
+ 18719, 19965, 4770,
+ 18719, 19965, 4772,
+ 18719, 19965, 4774,
+ 18719, 19965, 4776,
+ 18719, 19965, 4778,
+ 18719, 19965, 4780,
+ 18719, 19965, 4782,
+ 18719, 19965, 4784,
+ 18719, 19965, 4786,
+ 18719, 19965, 4788,
+ 18719, 19965, 4790,
+ 18719, 19965, 4792,
+ 18719, 19965, 4794,
+ 18719, 19965, 4796,
+ 18719, 19965, 4798,
+ 18719, 19965, 4800,
+ 18719, 19965, 4802,
+ 18719, 19965, 4804,
+ 18719, 19965, 4806,
+ 18719, 19965, 4808,
+ 18719, 19965, 4810,
+ 18719, 19965, 4812,
+ 18719, 19965, 4814,
+ 18719, 19965, 4816,
+ 18719, 19965, 4818,
+ 18719, 19965, 4820,
+ 18719, 19965, 4822,
+ 18719, 19965, 4824,
+ 18719, 19965, 4826,
+ 18719, 19965, 4828,
+ 18719, 19965, 4830,
+ 18719, 19965, 4832,
+ 18719, 19965, 4834,
+ 18719, 19965, 4836,
+ 18719, 19965, 4838,
+ 18719, 19965, 4840,
+ 18719, 19965, 4842,
+ 18719, 19965, 4844,
+ 18719, 19965, 4846,
+ 18719, 19965, 4848,
+ 18719, 19965, 4850,
+ 18719, 19965, 4852,
+ 18719, 19965, 4854,
+ 18719, 19965, 4856,
+ 18719, 19965, 4858,
+ 18719, 19965, 4860,
+ 18719, 19965, 4862,
+ 18719, 19965, 4864,
+ 18719, 19965, 4866,
+ 18719, 19965, 4868,
+ 18719, 19965, 4870,
+ 18719, 19965, 4872,
+ 18719, 19965, 4874,
+ 18719, 19965, 4876,
+ 18719, 19965, 4878,
+ 18719, 19965, 4880,
+ 18719, 19965, 4882,
+ 18719, 19965, 4884,
+ 18719, 19965, 4886,
+ 18719, 19965, 4888,
+ 18719, 19965, 4890,
+ 18719, 19965, 4892,
+ 18719, 19965, 4894,
+ 18719, 19965, 4896,
+ 18719, 19965, 4898,
+ 18719, 19965, 4900,
+ 18719, 19965, 4902,
+ 18719, 19965, 4904,
+ 18719, 19965, 4906,
+ 18719, 19965, 4908,
+ 18719, 19965, 4910,
+ 18719, 19965, 4912,
+ 18719, 19965, 4914,
+ 18719, 19965, 4916,
+ 18719, 19965, 4918,
+ 18719, 19965, 4920,
+ 18719, 19965, 4922,
+ 18719, 19965, 10990,
+ 18719, 19965, 10996,
+ 18719, 19965, 11002,
+ 18719, 19965, 11006,
+ 18719, 19965, 11012,
+ 18719, 19965, 11014,
+ 18719, 19965, 11016,
+ 18719, 19965, 11018,
+ 18719, 19965, 11020,
+ 18719, 19965, 11022,
+ 18719, 19965, 11024,
+ 18719, 19965, 11026,
+ 18719, 19965, 11028,
+ 18719, 19965, 11030,
+ 18719, 19965, 11032,
+ 18719, 19965, 11034,
+ 18719, 19965, 11036,
+ 18719, 19965, 11038,
+ 18719, 19965, 11040,
+ 18719, 19965, 11042,
+ 18719, 19965, 11044,
+ 18719, 19965, 11046,
+ 18719, 19965, 11048,
+ 18719, 19965, 11050,
+ 18719, 19965, 11052,
+ 18719, 19965, 11054,
+ 18719, 19965, 11058,
+ 18719, 19965, 11062,
+ 18719, 19965, 11064,
+ 18719, 19965, 11066,
+ 18719, 19965, 11068,
+ 18719, 19965, 11070,
+ 18719, 19965, 11072,
+ 18719, 19965, 11074,
+ 18719, 19965, 11076,
+ 18719, 19965, 11078,
+ 18719, 19965, 11080,
+ 18719, 19965, 11082,
+ 18719, 19965, 11084,
+ 18719, 19965, 11086,
+ 18719, 19965, 11098,
+ 18719, 19965, 11100,
+ 18719, 19965, 11102,
+ 18719, 19965, 11104,
+ 18719, 19965, 11106,
+ 18719, 19965, 11108,
+ 18719, 19965, 11110,
+ 18719, 19965, 11112,
+ 18719, 19965, 11114,
+ 18719, 19965, 11116,
+ 18719, 19965, 11118,
+ 18719, 19965, 11120,
+ 18719, 19965, 11122,
+ 18719, 19965, 11124,
+ 18719, 19965, 11127, 1293, 18087, 8282,
+ 18719, 19965, 11128,
+ 18719, 19965, 11130,
+ 18721, 6682,
+ 18731, 8802,
+ 18734,
+ 18740,
+ 18743, 15599, 16616,
+ 18749, 16957, 841, 20694,
+ 18754,
+ 18756,
+ 18761, 9808,
+ 18774,
+ 18779, 16703, 15565, 1248,
+ 18779, 16703, 15565, 1329, 20458,
+ 18779, 16703, 15565, 5250,
+ 18779, 16703, 15565, 7409, 2422,
+ 18779, 16703, 15565, 7409, 17480,
+ 18779, 16703, 15565, 8556,
+ 18779, 16703, 15565, 10111, 1861, 15880,
+ 18779, 16703, 15565, 10184,
+ 18779, 16703, 15565, 10743, 846,
+ 18779, 16703, 15565, 10743, 7564,
+ 18779, 16703, 15565, 11359, 5260,
+ 18779, 16703, 15565, 11359, 8332,
+ 18779, 16703, 15565, 11359, 9247, 5260,
+ 18779, 16703, 15565, 11359, 9247, 12158,
+ 18779, 16703, 15565, 11359, 12158,
+ 18779, 16703, 15565, 11359, 15008,
+ 18779, 16703, 15565, 11359, 17482,
+ 18779, 16703, 15565, 11359, 19106,
+ 18779, 16703, 15565, 11411, 1329, 2422,
+ 18779, 16703, 15565, 11411, 20458,
+ 18779, 16703, 15565, 11420,
+ 18779, 16703, 15565, 11667, 14134,
+ 18779, 16703, 15565, 11667, 14852,
+ 18779, 16703, 15565, 11667, 15490,
+ 18779, 16703, 15565, 11850,
+ 18779, 16703, 15565, 11851, 17480,
+ 18779, 16703, 15565, 12486,
+ 18779, 16703, 15565, 13097, 2422,
+ 18779, 16703, 15565, 13097, 11850,
+ 18779, 16703, 15565, 13097, 20458,
+ 18779, 16703, 15565, 13200,
+ 18779, 16703, 15565, 13262,
+ 18779, 16703, 15565, 13582,
+ 18779, 16703, 15565, 13632,
+ 18779, 16703, 15565, 13633, 14210,
+ 18779, 16703, 15565, 13648,
+ 18779, 16703, 15565, 13898,
+ 18779, 16703, 15565, 14005, 14850,
+ 18779, 16703, 15565, 14460,
+ 18779, 16703, 15565, 14491, 5251, 1249, 17714,
+ 18779, 16703, 15565, 14491, 18883, 221, 17714,
+ 18779, 16703, 15565, 14491, 20269, 9117, 17714,
+ 18779, 16703, 15565, 14491, 20589, 17215, 17714,
+ 18779, 16703, 15565, 14491, 20742,
+ 18779, 16703, 15565, 14491, 21204,
+ 18779, 16703, 15565, 14559, 20622,
+ 18779, 16703, 15565, 14559, 21060,
+ 18779, 16703, 15565, 14597, 17099, 14391, 13896,
+ 18779, 16703, 15565, 14655, 17, 15815, 21204,
+ 18779, 16703, 15565, 14655, 8563, 12308,
+ 18779, 16703, 15565, 14655, 15064,
+ 18779, 16703, 15565, 14655, 16633, 14391, 17696,
+ 18779, 16703, 15565, 14655, 16633, 14391, 20052,
+ 18779, 16703, 15565, 14655, 17099, 14391, 13896,
+ 18779, 16703, 15565, 14655, 17099, 14391, 15566,
+ 18779, 16703, 15565, 14655, 17099, 17695, 158,
+ 18779, 16703, 15565, 14655, 17480,
+ 18779, 16703, 15565, 14655, 17481, 17685, 12310,
+ 18779, 16703, 15565, 14655, 18879, 158,
+ 18779, 16703, 15565, 14655, 18879, 352,
+ 18779, 16703, 15565, 14655, 18879, 459, 846,
+ 18779, 16703, 15565, 14655, 18879, 459, 7564,
+ 18779, 16703, 15565, 14655, 18879, 520,
+ 18779, 16703, 15565, 14655, 18879, 758,
+ 18779, 16703, 15565, 14655, 18879, 8556,
+ 18779, 16703, 15565, 14655, 19901, 18722,
+ 18779, 16703, 15565, 14669, 14490,
+ 18779, 16703, 15565, 14669, 15814,
+ 18779, 16703, 15565, 14697, 2423, 846,
+ 18779, 16703, 15565, 14697, 2423, 7564,
+ 18779, 16703, 15565, 14697, 17480,
+ 18779, 16703, 15565, 14697, 21161, 11840,
+ 18779, 16703, 15565, 14697, 21161, 17484,
+ 18779, 16703, 15565, 14781, 15601, 19146,
+ 18779, 16703, 15565, 14809, 18602,
+ 18779, 16703, 15565, 14850,
+ 18779, 16703, 15565, 14851, 846,
+ 18779, 16703, 15565, 14851, 7564,
+ 18779, 16703, 15565, 14895, 1249, 16030,
+ 18779, 16703, 15565, 14895, 6541, 16032,
+ 18779, 16703, 15565, 14895, 13733, 16030,
+ 18779, 16703, 15565, 14895, 16395, 16032,
+ 18779, 16703, 15565, 14895, 18555, 16030,
+ 18779, 16703, 15565, 15023, 7408,
+ 18779, 16703, 15565, 15149, 2422,
+ 18779, 16703, 15565, 15149, 17480,
+ 18779, 16703, 15565, 15150,
+ 18779, 16703, 15565, 15179, 17480,
+ 18779, 16703, 15565, 15233, 2422,
+ 18779, 16703, 15565, 15233, 17480,
+ 18779, 16703, 15565, 15290,
+ 18779, 16703, 15565, 15408,
+ 18779, 16703, 15565, 15409, 2422,
+ 18779, 16703, 15565, 15520,
+ 18779, 16703, 15565, 15596,
+ 18779, 16703, 15565, 15672,
+ 18779, 16703, 15565, 15745, 2422,
+ 18779, 16703, 15565, 15745, 11850,
+ 18779, 16703, 15565, 15745, 20458,
+ 18779, 16703, 15565, 15815, 5251, 1249, 17714,
+ 18779, 16703, 15565, 15815, 18883, 221, 17714,
+ 18779, 16703, 15565, 15815, 20269, 9117, 17714,
+ 18779, 16703, 15565, 15815, 20589, 17215, 17714,
+ 18779, 16703, 15565, 15815, 20742,
+ 18779, 16703, 15565, 15820,
+ 18779, 16703, 15565, 15899, 158,
+ 18779, 16703, 15565, 15899, 244,
+ 18779, 16703, 15565, 15899, 352,
+ 18779, 16703, 15565, 15899, 458,
+ 18779, 16703, 15565, 15899, 520,
+ 18779, 16703, 15565, 15899, 758,
+ 18779, 16703, 15565, 15899, 3468,
+ 18779, 16703, 15565, 16010,
+ 18779, 16703, 15565, 16130,
+ 18779, 16703, 15565, 16238,
+ 18779, 16703, 15565, 16249, 1861, 14655, 3468,
+ 18779, 16703, 15565, 16386,
+ 18779, 16703, 15565, 16445, 2423, 846,
+ 18779, 16703, 15565, 16445, 2423, 7564,
+ 18779, 16703, 15565, 16445, 2423, 8334,
+ 18779, 16703, 15565, 16445, 17480,
+ 18779, 16703, 15565, 16472,
+ 18779, 16703, 15565, 16475, 2422,
+ 18779, 16703, 15565, 16475, 5226,
+ 18779, 16703, 15565, 16475, 17480,
+ 18779, 16703, 15565, 16480,
+ 18779, 16703, 15565, 16612,
+ 18779, 16703, 15565, 16876,
+ 18779, 16703, 15565, 16878,
+ 18779, 16703, 15565, 16968,
+ 18779, 16703, 15565, 17156,
+ 18779, 16703, 15565, 17157, 17470,
+ 18779, 16703, 15565, 17187, 2422,
+ 18779, 16703, 15565, 17187, 8337, 17158,
+ 18779, 16703, 15565, 17187, 17480,
+ 18779, 16703, 15565, 17188,
+ 18779, 16703, 15565, 17214,
+ 18779, 16703, 15565, 17240,
+ 18779, 16703, 15565, 17327, 17480,
+ 18779, 16703, 15565, 17394,
+ 18779, 16703, 15565, 17469, 2422,
+ 18779, 16703, 15565, 17469, 17480,
+ 18779, 16703, 15565, 17472,
+ 18779, 16703, 15565, 17578,
+ 18779, 16703, 15565, 17599, 2422,
+ 18779, 16703, 15565, 17599, 17480,
+ 18779, 16703, 15565, 17693, 5251, 12668,
+ 18779, 16703, 15565, 17693, 5251, 15000,
+ 18779, 16703, 15565, 17693, 11850,
+ 18779, 16703, 15565, 17693, 17222,
+ 18779, 16703, 15565, 17698,
+ 18779, 16703, 15565, 17699, 21161, 11840,
+ 18779, 16703, 15565, 17699, 21161, 17485, 846,
+ 18779, 16703, 15565, 17699, 21161, 17485, 7564,
+ 18779, 16703, 15565, 17701, 250,
+ 18779, 16703, 15565, 17872,
+ 18779, 16703, 15565, 17996,
+ 18779, 16703, 15565, 18042,
+ 18779, 16703, 15565, 18048,
+ 18779, 16703, 15565, 18049, 5226,
+ 18779, 16703, 15565, 18050,
+ 18779, 16703, 15565, 18052,
+ 18779, 16703, 15565, 18115, 5225, 15289, 12308,
+ 18779, 16703, 15565, 18115, 5225, 17683, 12308,
+ 18779, 16703, 15565, 18115, 13895, 12308,
+ 18779, 16703, 15565, 18115, 15289, 12308,
+ 18779, 16703, 15565, 18115, 15677, 12308,
+ 18779, 16703, 15565, 18115, 16587, 12308,
+ 18779, 16703, 15565, 18115, 16907, 12308,
+ 18779, 16703, 15565, 18115, 16907, 18557, 12308,
+ 18779, 16703, 15565, 18115, 17683, 12308,
+ 18779, 16703, 15565, 18115, 18557, 12308,
+ 18779, 16703, 15565, 18115, 18557, 16587, 12308,
+ 18779, 16703, 15565, 18115, 19600,
+ 18779, 16703, 15565, 18115, 20135, 12308,
+ 18779, 16703, 15565, 18258,
+ 18779, 16703, 15565, 18270,
+ 18779, 16703, 15565, 18271, 2422,
+ 18779, 16703, 15565, 18388,
+ 18779, 16703, 15565, 18425, 14228,
+ 18779, 16703, 15565, 18425, 14229, 16144,
+ 18779, 16703, 15565, 18425, 14229, 18600,
+ 18779, 16703, 15565, 18425, 14229, 20258,
+ 18779, 16703, 15565, 18425, 17222,
+ 18779, 16703, 15565, 18425, 17223, 16144,
+ 18779, 16703, 15565, 18425, 17223, 18600,
+ 18779, 16703, 15565, 18425, 17223, 20258,
+ 18779, 16703, 15565, 18558,
+ 18779, 16703, 15565, 18603, 2422,
+ 18779, 16703, 15565, 18603, 5226,
+ 18779, 16703, 15565, 18603, 17480,
+ 18779, 16703, 15565, 18881, 508,
+ 18779, 16703, 15565, 19046,
+ 18779, 16703, 15565, 19069, 17696,
+ 18779, 16703, 15565, 19069, 20052,
+ 18779, 16703, 15565, 19069, 20724,
+ 18779, 16703, 15565, 19154,
+ 18779, 16703, 15565, 19186,
+ 18779, 16703, 15565, 19190,
+ 18779, 16703, 15565, 19191, 2423, 846,
+ 18779, 16703, 15565, 19191, 2423, 7564,
+ 18779, 16703, 15565, 19191, 2423, 8334,
+ 18779, 16703, 15565, 19191, 17480,
+ 18779, 16703, 15565, 19198,
+ 18779, 16703, 15565, 19295, 2422,
+ 18779, 16703, 15565, 19295, 17480,
+ 18779, 16703, 15565, 19350,
+ 18779, 16703, 15565, 19351, 2422,
+ 18779, 16703, 15565, 19566,
+ 18779, 16703, 15565, 19602,
+ 18779, 16703, 15565, 19648,
+ 18779, 16703, 15565, 19649, 11850,
+ 18779, 16703, 15565, 19666,
+ 18779, 16703, 15565, 19673, 15601, 19146,
+ 18779, 16703, 15565, 19673, 19565, 2422,
+ 18779, 16703, 15565, 19674,
+ 18779, 16703, 15565, 19675, 2422,
+ 18779, 16703, 15565, 19675, 11850,
+ 18779, 16703, 15565, 19894,
+ 18779, 16703, 15565, 19951, 27, 14210,
+ 18779, 16703, 15565, 19951, 27, 16142,
+ 18779, 16703, 15565, 19978,
+ 18779, 16703, 15565, 19980,
+ 18779, 16703, 15565, 20623, 2422,
+ 18779, 16703, 15565, 20623, 17480,
+ 18779, 16703, 15565, 20624,
+ 18779, 16703, 15565, 20625, 2422,
+ 18779, 16703, 15565, 20625, 17480,
+ 18779, 16703, 15565, 20636,
+ 18779, 16703, 15565, 20729, 1314,
+ 18779, 16703, 15565, 20729, 1328,
+ 18779, 16703, 15565, 20780,
+ 18779, 16703, 15565, 20878,
+ 18779, 16703, 15565, 21012,
+ 18779, 16703, 15565, 21060,
+ 18779, 16703, 15565, 21252,
+ 18779, 16703, 15565, 21408,
+ 18779, 16703, 15565, 21410,
+ 18779, 16703, 15565, 21516,
+ 18779, 16703, 15565, 21536,
+ 18779, 16703, 15565, 21538,
+ 18779, 16703, 15565, 21546,
+ 18779, 16703, 15565, 21552,
+ 18779, 16703, 15565, 21554,
+ 18779, 16703, 15565, 21710,
+ 18779, 16703, 15565, 21794,
+ 18779, 16703, 15565, 21804,
+ 18780,
+ 18782,
+ 18791, 17449, 14903, 178,
+ 18791, 17449, 14903, 494,
+ 18791, 17449, 14903, 836,
+ 18791, 17449, 14903, 850,
+ 18791, 17449, 14903, 926,
+ 18791, 17449, 14903, 1012,
+ 18791, 17449, 14903, 1040,
+ 18791, 17449, 14903, 1044,
+ 18791, 17449, 14903, 1132,
+ 18791, 17449, 14903, 1332,
+ 18791, 17449, 14903, 1342,
+ 18791, 17449, 14903, 1504,
+ 18791, 17449, 14903, 1758,
+ 18791, 17449, 14903, 1768,
+ 18791, 17449, 14903, 1874,
+ 18791, 17449, 14903, 1936,
+ 18791, 17449, 14903, 2068,
+ 18791, 17449, 14903, 2236,
+ 18791, 17449, 14903, 2652,
+ 18791, 17449, 14903, 2754,
+ 18791, 17449, 14903, 2758,
+ 18791, 17449, 14903, 2868,
+ 18791, 17449, 14903, 3030,
+ 18791, 17449, 14903, 3192,
+ 18791, 17449, 14903, 3786,
+ 18791, 17449, 14903, 5954,
+ 18791, 17449, 14903, 5990,
+ 18791, 17449, 14903, 6024,
+ 18791, 17449, 14903, 6102,
+ 18791, 17449, 14903, 6104,
+ 18791, 17449, 14903, 6430,
+ 18791, 17449, 14903, 6436,
+ 18791, 17449, 14903, 7122,
+ 18791, 17449, 14903, 7400,
+ 18791, 17449, 14903, 7426,
+ 18791, 17449, 14903, 7440,
+ 18791, 17449, 14903, 7872,
+ 18791, 17449, 14903, 8810,
+ 18791, 17449, 14903, 9230,
+ 18791, 17449, 14903, 9680,
+ 18791, 17449, 14903, 9698,
+ 18791, 17449, 14903, 9754,
+ 18791, 17449, 14903, 10156,
+ 18791, 17449, 14903, 10264,
+ 18791, 17449, 14903, 10492,
+ 18791, 17449, 14903, 10638,
+ 18791, 17449, 14903, 10720,
+ 18791, 17449, 14903, 10772,
+ 18791, 17449, 14903, 10848,
+ 18791, 17449, 14903, 10876,
+ 18791, 17449, 14903, 11888,
+ 18791, 17449, 14903, 12136,
+ 18791, 17449, 17609, 8282,
+ 18795, 3236,
+ 18799, 6722,
+ 18801, 894,
+ 18803, 10182,
+ 18804,
+ 18805, 93, 6428,
+ 18807, 15029, 13152,
+ 18809, 17552,
+ 18810,
+ 18813, 3273, 20173, 11428,
+ 18813, 9127, 14397, 11428,
+ 18813, 13271, 841, 7779, 20173, 14226,
+ 18813, 14407, 14397, 11428,
+ 18813, 14659, 14397, 11428,
+ 18813, 16061, 18010,
+ 18813, 18010,
+ 18813, 19029, 841, 17319, 9127, 14397, 14226,
+ 18813, 20163, 841, 19213, 9127, 14397, 14226,
+ 18813, 20163, 841, 19213, 9127, 14397, 14227, 10595, 16035, 2597, 16820,
+ 18813, 21571, 9127, 14397, 11428,
+ 18817, 15564,
+ 18819, 47, 11346,
+ 18819, 47, 11502,
+ 18819, 325, 11502,
+ 18819, 669, 10041, 11346,
+ 18819, 669, 10041, 11502,
+ 18819, 671, 11346,
+ 18819, 673, 11346,
+ 18819, 1213, 11346,
+ 18819, 1213, 11347, 13270,
+ 18819, 1213, 11502,
+ 18819, 2163, 7816,
+ 18819, 2499, 13677, 11346,
+ 18819, 2593, 15215, 14903, 80,
+ 18819, 2593, 15215, 14903, 1204,
+ 18819, 2593, 15215, 14903, 3048,
+ 18819, 2593, 15215, 14903, 10850,
+ 18819, 2593, 15215, 14903, 12772,
+ 18819, 3565, 11502,
+ 18819, 6407, 10041, 11502,
+ 18819, 6743, 6403, 11346,
+ 18819, 7257, 11346,
+ 18819, 7268,
+ 18819, 7779, 7087, 9457, 11346,
+ 18819, 7779, 7087, 9457, 11502,
+ 18819, 7779, 10041, 11502,
+ 18819, 7779, 11399, 11346,
+ 18819, 7779, 11399, 11502,
+ 18819, 7779, 11429, 11346,
+ 18819, 7779, 11429, 11502,
+ 18819, 7779, 13271, 11429, 11346,
+ 18819, 7779, 13271, 11429, 11502,
+ 18819, 7779, 16357, 11346,
+ 18819, 7779, 18729, 11346,
+ 18819, 7779, 18729, 11502,
+ 18819, 7845, 14533, 17119, 16820,
+ 18819, 7845, 15535, 16820,
+ 18819, 7845, 17119, 16820,
+ 18819, 7845, 18669, 7817, 16820,
+ 18819, 9127, 8283, 11502,
+ 18819, 9243, 9809, 11502,
+ 18819, 9457, 11346,
+ 18819, 9457, 11502,
+ 18819, 9457, 16820,
+ 18819, 10587, 14321, 11346,
+ 18819, 11349, 10173, 8282,
+ 18819, 11349, 14178,
+ 18819, 11349, 14179, 11502,
+ 18819, 11546,
+ 18819, 11547, 11502,
+ 18819, 11604,
+ 18819, 11605, 11502,
+ 18819, 11709, 11346,
+ 18819, 11709, 11347, 13270,
+ 18819, 11709, 11502,
+ 18819, 12169, 10173, 8282,
+ 18819, 12169, 14178,
+ 18819, 12169, 14179, 11502,
+ 18819, 12173, 16472,
+ 18819, 12173, 16703, 17264,
+ 18819, 12173, 16703, 19320,
+ 18819, 12173, 16703, 19580,
+ 18819, 12173, 18877, 13710,
+ 18819, 12173, 20636,
+ 18819, 12173, 21228,
+ 18819, 12477, 13483, 14903, 0,
+ 18819, 12477, 13483, 14903, 1, 10595, 18872,
+ 18819, 12477, 13483, 14903, 2,
+ 18819, 12477, 13483, 14903, 4,
+ 18819, 12477, 13483, 14903, 5, 16002,
+ 18819, 12477, 13483, 14903, 6,
+ 18819, 12477, 13483, 14903, 8,
+ 18819, 12477, 13483, 14903, 10,
+ 18819, 12477, 13483, 14903, 12,
+ 18819, 12477, 13483, 14903, 14,
+ 18819, 12477, 13483, 14903, 16,
+ 18819, 12477, 13483, 14903, 20,
+ 18819, 12477, 13483, 14903, 22,
+ 18819, 12477, 13483, 14903, 23, 10595, 14533, 15021, 13676,
+ 18819, 12477, 13483, 14903, 24,
+ 18819, 12477, 13483, 14903, 26,
+ 18819, 12477, 13483, 14903, 28,
+ 18819, 12477, 13483, 14903, 29, 10595, 12499, 21245, 15534,
+ 18819, 12477, 13483, 14903, 29, 10595, 18872,
+ 18819, 12477, 13483, 14903, 30,
+ 18819, 12477, 13483, 14903, 34,
+ 18819, 12477, 13483, 14903, 35, 11502,
+ 18819, 12477, 13483, 14903, 35, 17008,
+ 18819, 12477, 13483, 14903, 36,
+ 18819, 12477, 13483, 14903, 38,
+ 18819, 12477, 13483, 14903, 40,
+ 18819, 12477, 13483, 14903, 41, 10595, 12499, 21245, 15534,
+ 18819, 12477, 13483, 14903, 41, 10595, 18872,
+ 18819, 12477, 13483, 14903, 42,
+ 18819, 12477, 13483, 14903, 44,
+ 18819, 12477, 13483, 14903, 46,
+ 18819, 12477, 13483, 14903, 50,
+ 18819, 12477, 13483, 14903, 66,
+ 18819, 12477, 13483, 14903, 82,
+ 18819, 12477, 13483, 14903, 96,
+ 18819, 12477, 13483, 14903, 1312,
+ 18819, 12477, 13483, 14903, 1322,
+ 18819, 12477, 13483, 14903, 5788,
+ 18819, 12477, 13483, 14903, 7845, 36,
+ 18819, 12477, 13483, 14903, 11388,
+ 18819, 12477, 13483, 14903, 13358,
+ 18819, 12477, 13483, 14903, 16403, 6,
+ 18819, 12477, 13483, 14903, 19079, 9127, 1, 11346,
+ 18819, 12477, 14903, 13483, 15993, 12,
+ 18819, 12477, 14903, 13483, 15993, 22,
+ 18819, 12477, 14903, 13483, 15993, 24,
+ 18819, 12477, 14903, 13483, 15993, 26,
+ 18819, 12477, 14903, 13483, 15993, 34,
+ 18819, 12499, 21245, 15535, 11502,
+ 18819, 12675, 9809, 11502,
+ 18819, 13271, 7087, 9457, 11346,
+ 18819, 13271, 7087, 9457, 11502,
+ 18819, 13271, 10041, 11502,
+ 18819, 13271, 11429, 11346,
+ 18819, 13271, 11429, 11502,
+ 18819, 13271, 16357, 11346,
+ 18819, 13271, 18729, 841, 669, 18729, 11502,
+ 18819, 13271, 18729, 841, 6407, 18729, 11502,
+ 18819, 13271, 18729, 11346,
+ 18819, 13271, 18729, 11502,
+ 18819, 13431, 15535, 16820,
+ 18819, 13431, 17119, 16820,
+ 18819, 13431, 18669, 7817, 16820,
+ 18819, 13493, 11502,
+ 18819, 13655, 6403, 11346,
+ 18819, 13676,
+ 18819, 13677, 7779, 7087, 11502,
+ 18819, 13677, 11502,
+ 18819, 13677, 13271, 7087, 11502,
+ 18819, 13677, 16820,
+ 18819, 14197, 11943, 633, 11346,
+ 18819, 14197, 11943, 633, 11502,
+ 18819, 14321, 11346,
+ 18819, 14321, 11502,
+ 18819, 14531, 11349, 14178,
+ 18819, 14531, 12169, 14178,
+ 18819, 14533, 2163, 7816,
+ 18819, 14533, 9127, 8283, 11502,
+ 18819, 14533, 9457, 11502,
+ 18819, 14533, 11349, 14178,
+ 18819, 14533, 11546,
+ 18819, 14533, 11547, 11502,
+ 18819, 14533, 12169, 14178,
+ 18819, 14533, 13676,
+ 18819, 14533, 13677, 7779, 7086,
+ 18819, 14533, 13677, 13271, 7086,
+ 18819, 14533, 14952,
+ 18819, 14533, 14953, 11502,
+ 18819, 14533, 18017, 11546,
+ 18819, 14533, 18017, 11547, 11502,
+ 18819, 14533, 18228,
+ 18819, 14533, 18669, 7817, 11346,
+ 18819, 14533, 18669, 7817, 11502,
+ 18819, 14533, 18669, 15535, 16820,
+ 18819, 14533, 19717, 11346,
+ 18819, 14533, 20163, 11429, 11502,
+ 18819, 14533, 20627, 11346,
+ 18819, 14555, 9809, 11502,
+ 18819, 14952,
+ 18819, 14953, 7779, 7086,
+ 18819, 14953, 7779, 7087, 11502,
+ 18819, 14953, 11502,
+ 18819, 14953, 13271, 7086,
+ 18819, 14953, 13271, 7087, 11502,
+ 18819, 15146,
+ 18819, 15147, 11346,
+ 18819, 15513, 11502,
+ 18819, 15537, 21245, 15535, 11502,
+ 18819, 15671, 1212,
+ 18819, 15671, 18660,
+ 18819, 15701, 11709, 11346,
+ 18819, 15781, 7817, 11502,
+ 18819, 15831, 11346,
+ 18819, 15831, 11502,
+ 18819, 15877, 15564,
+ 18819, 16002,
+ 18819, 16217, 19717, 14178,
+ 18819, 16278,
+ 18819, 16333, 11849, 2596,
+ 18819, 16333, 11849, 3056,
+ 18819, 16333, 11849, 3336,
+ 18819, 16333, 11849, 6720,
+ 18819, 16333, 11849, 6742,
+ 18819, 16333, 11849, 10854,
+ 18819, 16333, 11849, 13654,
+ 18819, 16333, 14903, 0,
+ 18819, 16333, 14903, 348,
+ 18819, 16333, 14903, 446,
+ 18819, 16333, 14903, 520,
+ 18819, 16333, 14903, 682,
+ 18819, 16991, 17119, 16820,
+ 18819, 17043, 11502,
+ 18819, 17319, 11429, 11502,
+ 18819, 17497, 11346,
+ 18819, 17497, 11502,
+ 18819, 17659, 3213, 18139, 9808,
+ 18819, 17659, 11809, 18294,
+ 18819, 17659, 13201, 18294,
+ 18819, 17659, 13692,
+ 18819, 17659, 13693, 7779, 7086,
+ 18819, 17659, 13693, 13271, 7086,
+ 18819, 17659, 13922,
+ 18819, 17659, 14810,
+ 18819, 17659, 14903, 0,
+ 18819, 17659, 14903, 16,
+ 18819, 17659, 14903, 28,
+ 18819, 17659, 14903, 40,
+ 18819, 17659, 14903, 110,
+ 18819, 17659, 14903, 154,
+ 18819, 17659, 14903, 186,
+ 18819, 17659, 14903, 198,
+ 18819, 17659, 14903, 200,
+ 18819, 17659, 14903, 202,
+ 18819, 17659, 14903, 208,
+ 18819, 17659, 14903, 210,
+ 18819, 17659, 14903, 266,
+ 18819, 17659, 14903, 298,
+ 18819, 17659, 14903, 348,
+ 18819, 17659, 14903, 526,
+ 18819, 17659, 14903, 624,
+ 18819, 17659, 14903, 680,
+ 18819, 17659, 14903, 736,
+ 18819, 17659, 14903, 744,
+ 18819, 17659, 14903, 752,
+ 18819, 17659, 14903, 945, 3732,
+ 18819, 17659, 14903, 1042,
+ 18819, 17659, 14903, 1488,
+ 18819, 17659, 14903, 3030,
+ 18819, 17659, 14903, 3290,
+ 18819, 17659, 14903, 3656,
+ 18819, 17659, 14903, 3788,
+ 18819, 17659, 14903, 6718,
+ 18819, 17659, 14903, 7095, 9808,
+ 18819, 17659, 14903, 9845, 9808,
+ 18819, 17659, 14903, 10734,
+ 18819, 17659, 14903, 11860,
+ 18819, 17659, 14903, 11950,
+ 18819, 17659, 14903, 13078,
+ 18819, 17659, 14903, 13396,
+ 18819, 17659, 14903, 14935, 3732,
+ 18819, 17659, 14903, 18019, 0,
+ 18819, 17659, 14903, 18019, 8,
+ 18819, 17659, 14903, 18019, 945, 3732,
+ 18819, 17659, 14903, 19255, 660,
+ 18819, 17659, 14903, 19615, 298,
+ 18819, 17659, 16379, 18139, 9808,
+ 18819, 17659, 16379, 19587, 9808,
+ 18819, 17659, 16862,
+ 18819, 17659, 18139, 9808,
+ 18819, 17659, 18298,
+ 18819, 17659, 18567, 18139, 9808,
+ 18819, 17659, 21378,
+ 18819, 17949, 14794,
+ 18819, 18006,
+ 18819, 18017, 11546,
+ 18819, 18017, 11547, 11502,
+ 18819, 18017, 14321, 11502,
+ 18819, 18017, 14533, 5259, 11502,
+ 18819, 18079, 7779, 7086,
+ 18819, 18079, 7779, 7087, 11502,
+ 18819, 18079, 13271, 7086,
+ 18819, 18079, 13271, 7087, 11502,
+ 18819, 18228,
+ 18819, 18367, 11709, 11346,
+ 18819, 18669, 7817, 11346,
+ 18819, 18669, 7817, 11502,
+ 18819, 18669, 13676,
+ 18819, 18813, 9457, 16820,
+ 18819, 18813, 11429, 11346,
+ 18819, 18872,
+ 18819, 18873, 11502,
+ 18819, 19029, 11428,
+ 18819, 19041, 14396,
+ 18819, 19041, 14397, 18744,
+ 18819, 19041, 14828,
+ 18819, 19041, 15394,
+ 18819, 19041, 15512,
+ 18819, 19041, 15735, 18297, 18596,
+ 18819, 19041, 16128,
+ 18819, 19213, 11429, 16820,
+ 18819, 19213, 16357, 10595, 5713, 19028,
+ 18819, 19389, 7257, 11502,
+ 18819, 19717, 14178,
+ 18819, 19717, 14179, 11502,
+ 18819, 19731, 14952,
+ 18819, 19731, 14953, 11502,
+ 18819, 19767, 9809, 17506,
+ 18819, 19767, 11849, 2596,
+ 18819, 19767, 11849, 3056,
+ 18819, 19767, 11849, 3336,
+ 18819, 19767, 11849, 6720,
+ 18819, 19767, 11849, 6742,
+ 18819, 19767, 11849, 8736,
+ 18819, 19767, 11849, 10854,
+ 18819, 19767, 11849, 11916,
+ 18819, 19767, 11849, 13376,
+ 18819, 19767, 11849, 13654,
+ 18819, 19767, 14903, 0,
+ 18819, 19767, 14903, 40,
+ 18819, 19767, 14903, 348,
+ 18819, 19767, 14903, 446,
+ 18819, 19767, 14903, 520,
+ 18819, 19767, 14903, 570,
+ 18819, 19767, 14903, 682,
+ 18819, 19971, 11346,
+ 18819, 20163, 16357, 10595, 5713, 19028,
+ 18819, 20247, 8282,
+ 18819, 20336,
+ 18819, 20617, 7257, 11502,
+ 18819, 20627, 11346,
+ 18819, 20627, 11502,
+ 18819, 20627, 16820,
+ 18819, 20774,
+ 18819, 20806,
+ 18819, 20874,
+ 18819, 20920,
+ 18819, 20922,
+ 18819, 20924,
+ 18819, 21057, 9457, 16820,
+ 18819, 21057, 11429, 11346,
+ 18819, 21248,
+ 18819, 21714,
+ 18819, 21720,
+ 18819, 21725, 15761, 13499, 8282,
+ 18819, 21725, 20691, 13499, 8282,
+ 18825, 10595, 1213, 11346,
+ 18839, 9808,
+ 18844,
+ 18851, 9809, 0,
+ 18851, 9809, 1, 13683, 0,
+ 18851, 9809, 1, 13683, 266,
+ 18851, 9809, 1, 13683, 882,
+ 18851, 9809, 1, 13683, 1738,
+ 18851, 9809, 1, 13683, 2994,
+ 18851, 9809, 1, 13683, 6891, 10076,
+ 18851, 9809, 1, 13683, 8448,
+ 18851, 9809, 1, 13683, 12459, 7034,
+ 18851, 9809, 8,
+ 18851, 9809, 9, 9131, 9, 2525, 9131, 2524,
+ 18851, 9809, 9, 13683, 2630,
+ 18851, 9809, 16,
+ 18851, 9809, 17, 0,
+ 18851, 9809, 40,
+ 18851, 9809, 41, 40,
+ 18851, 9809, 41, 41, 40,
+ 18851, 9809, 41, 1536,
+ 18851, 9809, 41, 9131, 41, 41, 18367, 9131, 41, 18366,
+ 18851, 9809, 41, 9131, 41, 521, 9131, 521, 1445, 9131, 1444,
+ 18851, 9809, 41, 9131, 41, 3123, 9131, 3122,
+ 18851, 9809, 54,
+ 18851, 9809, 60,
+ 18851, 9809, 61, 7034,
+ 18851, 9809, 61, 13683, 41, 9243, 41, 9243, 40,
+ 18851, 9809, 61, 13683, 266,
+ 18851, 9809, 61, 13683, 1436,
+ 18851, 9809, 61, 13683, 1739, 7034,
+ 18851, 9809, 61, 13683, 2524,
+ 18851, 9809, 61, 13683, 2525, 10076,
+ 18851, 9809, 61, 13683, 5268,
+ 18851, 9809, 61, 13683, 6417, 7034,
+ 18851, 9809, 61, 13683, 6891, 10076,
+ 18851, 9809, 61, 13683, 7390,
+ 18851, 9809, 61, 13683, 9760,
+ 18851, 9809, 61, 13683, 12456,
+ 18851, 9809, 61, 13683, 13408,
+ 18851, 9809, 64,
+ 18851, 9809, 65, 13683, 6554,
+ 18851, 9809, 74,
+ 18851, 9809, 75, 13683, 11948,
+ 18851, 9809, 75, 13683, 13423, 9243, 7006,
+ 18851, 9809, 76,
+ 18851, 9809, 77, 13683, 76,
+ 18851, 9809, 77, 13683, 266,
+ 18851, 9809, 77, 13683, 356,
+ 18851, 9809, 77, 13683, 3032,
+ 18851, 9809, 77, 13683, 3404,
+ 18851, 9809, 77, 13683, 6374,
+ 18851, 9809, 77, 13683, 7006,
+ 18851, 9809, 77, 13683, 7534,
+ 18851, 9809, 80,
+ 18851, 9809, 81, 9131, 80,
+ 18851, 9809, 81, 9243, 8549, 17138,
+ 18851, 9809, 81, 9243, 8549, 18217, 81, 9243, 8548,
+ 18851, 9809, 81, 13655, 13682,
+ 18851, 9809, 106,
+ 18851, 9809, 114,
+ 18851, 9809, 115, 13683, 0,
+ 18851, 9809, 115, 13683, 1444,
+ 18851, 9809, 115, 13683, 1739, 7034,
+ 18851, 9809, 120,
+ 18851, 9809, 121, 9131, 121, 60,
+ 18851, 9809, 121, 9131, 121, 664,
+ 18851, 9809, 121, 9131, 121, 13683, 2370,
+ 18851, 9809, 121, 17645, 120,
+ 18851, 9809, 148,
+ 18851, 9809, 149, 13683, 10048,
+ 18851, 9809, 158,
+ 18851, 9809, 168,
+ 18851, 9809, 169, 7034,
+ 18851, 9809, 169, 9131, 168,
+ 18851, 9809, 169, 17074,
+ 18851, 9809, 174,
+ 18851, 9809, 175, 13683, 1, 9243, 267, 9243, 148,
+ 18851, 9809, 175, 13683, 40,
+ 18851, 9809, 175, 13683, 428,
+ 18851, 9809, 175, 13683, 1444,
+ 18851, 9809, 175, 13683, 2012,
+ 18851, 9809, 175, 13683, 2630,
+ 18851, 9809, 175, 13683, 2998,
+ 18851, 9809, 175, 13683, 3032,
+ 18851, 9809, 198,
+ 18851, 9809, 202,
+ 18851, 9809, 203, 13683, 422,
+ 18851, 9809, 203, 13683, 6890,
+ 18851, 9809, 203, 13683, 6891, 10076,
+ 18851, 9809, 203, 17138,
+ 18851, 9809, 203, 17645, 202,
+ 18851, 9809, 203, 18217, 202,
+ 18851, 9809, 244,
+ 18851, 9809, 245, 7034,
+ 18851, 9809, 254,
+ 18851, 9809, 255, 13683, 8,
+ 18851, 9809, 255, 13683, 40,
+ 18851, 9809, 255, 17645, 254,
+ 18851, 9809, 260,
+ 18851, 9809, 261, 17645, 260,
+ 18851, 9809, 266,
+ 18851, 9809, 267, 7034,
+ 18851, 9809, 267, 10076,
+ 18851, 9809, 267, 10077, 7034,
+ 18851, 9809, 272,
+ 18851, 9809, 273, 13683, 40,
+ 18851, 9809, 273, 13683, 862,
+ 18851, 9809, 273, 13683, 863, 9131, 273, 13683, 862,
+ 18851, 9809, 273, 13683, 882,
+ 18851, 9809, 273, 13683, 1426,
+ 18851, 9809, 273, 13683, 1926,
+ 18851, 9809, 273, 13683, 2524,
+ 18851, 9809, 273, 13683, 3032,
+ 18851, 9809, 273, 13683, 5268,
+ 18851, 9809, 273, 13683, 6380,
+ 18851, 9809, 284,
+ 18851, 9809, 292,
+ 18851, 9809, 302,
+ 18851, 9809, 310,
+ 18851, 9809, 311, 13683, 6891, 10076,
+ 18851, 9809, 312,
+ 18851, 9809, 313, 13683, 10048,
+ 18851, 9809, 313, 17138,
+ 18851, 9809, 313, 17645, 312,
+ 18851, 9809, 313, 18217, 312,
+ 18851, 9809, 314,
+ 18851, 9809, 322,
+ 18851, 9809, 348,
+ 18851, 9809, 349, 13683, 0,
+ 18851, 9809, 349, 13683, 40,
+ 18851, 9809, 349, 13683, 41, 41, 40,
+ 18851, 9809, 349, 13683, 64,
+ 18851, 9809, 349, 13683, 65, 9243, 1990,
+ 18851, 9809, 349, 13683, 114,
+ 18851, 9809, 349, 13683, 120,
+ 18851, 9809, 349, 13683, 244,
+ 18851, 9809, 349, 13683, 254,
+ 18851, 9809, 349, 13683, 260,
+ 18851, 9809, 349, 13683, 273, 13683, 5268,
+ 18851, 9809, 349, 13683, 312,
+ 18851, 9809, 349, 13683, 348,
+ 18851, 9809, 349, 13683, 356,
+ 18851, 9809, 349, 13683, 390,
+ 18851, 9809, 349, 13683, 404,
+ 18851, 9809, 349, 13683, 422,
+ 18851, 9809, 349, 13683, 423, 9243, 168,
+ 18851, 9809, 349, 13683, 423, 9243, 254,
+ 18851, 9809, 349, 13683, 423, 9243, 624,
+ 18851, 9809, 349, 13683, 428,
+ 18851, 9809, 349, 13683, 429, 9243, 12988,
+ 18851, 9809, 349, 13683, 450,
+ 18851, 9809, 349, 13683, 520,
+ 18851, 9809, 349, 13683, 534,
+ 18851, 9809, 349, 13683, 582,
+ 18851, 9809, 349, 13683, 586,
+ 18851, 9809, 349, 13683, 640,
+ 18851, 9809, 349, 13683, 644,
+ 18851, 9809, 349, 13683, 652,
+ 18851, 9809, 349, 13683, 670,
+ 18851, 9809, 349, 13683, 756,
+ 18851, 9809, 349, 13683, 882,
+ 18851, 9809, 349, 13683, 894,
+ 18851, 9809, 349, 13683, 1436,
+ 18851, 9809, 349, 13683, 1444,
+ 18851, 9809, 349, 13683, 1445, 9243, 9691, 9243, 0,
+ 18851, 9809, 349, 13683, 1536,
+ 18851, 9809, 349, 13683, 1738,
+ 18851, 9809, 349, 13683, 1862,
+ 18851, 9809, 349, 13683, 1918,
+ 18851, 9809, 349, 13683, 2186,
+ 18851, 9809, 349, 13683, 2524,
+ 18851, 9809, 349, 13683, 3008,
+ 18851, 9809, 349, 13683, 3030,
+ 18851, 9809, 349, 13683, 3032,
+ 18851, 9809, 349, 13683, 3038,
+ 18851, 9809, 349, 13683, 3046,
+ 18851, 9809, 349, 13683, 3190,
+ 18851, 9809, 349, 13683, 3390,
+ 18851, 9809, 349, 13683, 3404,
+ 18851, 9809, 349, 13683, 5268,
+ 18851, 9809, 349, 13683, 5270,
+ 18851, 9809, 349, 13683, 6554,
+ 18851, 9809, 349, 13683, 6891, 10076,
+ 18851, 9809, 349, 13683, 7000,
+ 18851, 9809, 349, 13683, 7006,
+ 18851, 9809, 349, 13683, 7007, 9243, 3008,
+ 18851, 9809, 349, 13683, 7007, 17645, 7006,
+ 18851, 9809, 349, 13683, 7042,
+ 18851, 9809, 349, 13683, 9724,
+ 18851, 9809, 349, 13683, 9762,
+ 18851, 9809, 349, 13683, 10371, 13683, 520,
+ 18851, 9809, 349, 13683, 11404,
+ 18851, 9809, 349, 13683, 11468,
+ 18851, 9809, 349, 13683, 11948,
+ 18851, 9809, 349, 13683, 13558,
+ 18851, 9809, 356,
+ 18851, 9809, 357, 13683, 40,
+ 18851, 9809, 357, 13683, 652,
+ 18851, 9809, 357, 13683, 882,
+ 18851, 9809, 368,
+ 18851, 9809, 369, 9131, 273, 13683, 5269, 369, 9131, 273, 13683, 5268,
+ 18851, 9809, 382,
+ 18851, 9809, 390,
+ 18851, 9809, 404,
+ 18851, 9809, 405, 13683, 882,
+ 18851, 9809, 414,
+ 18851, 9809, 415, 7034,
+ 18851, 9809, 415, 13683, 10048,
+ 18851, 9809, 422,
+ 18851, 9809, 428,
+ 18851, 9809, 429, 9243, 3758,
+ 18851, 9809, 438,
+ 18851, 9809, 439, 9131, 438,
+ 18851, 9809, 446,
+ 18851, 9809, 450,
+ 18851, 9809, 451, 13683, 0,
+ 18851, 9809, 451, 13683, 652,
+ 18851, 9809, 451, 17074,
+ 18851, 9809, 458,
+ 18851, 9809, 459, 13683, 8,
+ 18851, 9809, 470,
+ 18851, 9809, 520,
+ 18851, 9809, 534,
+ 18851, 9809, 535, 13683, 0,
+ 18851, 9809, 535, 13683, 8,
+ 18851, 9809, 535, 13683, 16,
+ 18851, 9809, 535, 13683, 40,
+ 18851, 9809, 535, 13683, 60,
+ 18851, 9809, 535, 13683, 114,
+ 18851, 9809, 535, 13683, 120,
+ 18851, 9809, 535, 13683, 292,
+ 18851, 9809, 535, 13683, 644,
+ 18851, 9809, 535, 17645, 534,
+ 18851, 9809, 570,
+ 18851, 9809, 576,
+ 18851, 9809, 582,
+ 18851, 9809, 586,
+ 18851, 9809, 596,
+ 18851, 9809, 597, 7034,
+ 18851, 9809, 597, 13683, 10048,
+ 18851, 9809, 610,
+ 18851, 9809, 611, 9131, 610,
+ 18851, 9809, 620,
+ 18851, 9809, 621, 7034,
+ 18851, 9809, 621, 13683, 272,
+ 18851, 9809, 621, 13683, 428,
+ 18851, 9809, 621, 17496,
+ 18851, 9809, 624,
+ 18851, 9809, 625, 7034,
+ 18851, 9809, 628,
+ 18851, 9809, 629, 10076,
+ 18851, 9809, 640,
+ 18851, 9809, 644,
+ 18851, 9809, 648,
+ 18851, 9809, 652,
+ 18851, 9809, 653, 7034,
+ 18851, 9809, 653, 13683, 41, 9243, 41, 9243, 40,
+ 18851, 9809, 653, 13683, 41, 9243, 41, 9243, 41, 7034,
+ 18851, 9809, 653, 13683, 428,
+ 18851, 9809, 653, 13683, 882,
+ 18851, 9809, 653, 14864,
+ 18851, 9809, 653, 17074,
+ 18851, 9809, 653, 17075, 13683, 882,
+ 18851, 9809, 662,
+ 18851, 9809, 663, 13683, 40,
+ 18851, 9809, 663, 13683, 422,
+ 18851, 9809, 663, 13683, 423, 9243, 148,
+ 18851, 9809, 663, 13683, 9690,
+ 18851, 9809, 663, 13683, 12456,
+ 18851, 9809, 664,
+ 18851, 9809, 665, 7034,
+ 18851, 9809, 670,
+ 18851, 9809, 671, 17074,
+ 18851, 9809, 671, 17645, 670,
+ 18851, 9809, 750,
+ 18851, 9809, 751, 10076,
+ 18851, 9809, 751, 17139, 13683, 2012,
+ 18851, 9809, 756,
+ 18851, 9809, 757, 9131, 756,
+ 18851, 9809, 760,
+ 18851, 9809, 761, 9131, 761, 9243, 3008,
+ 18851, 9809, 788,
+ 18851, 9809, 789, 13683, 0,
+ 18851, 9809, 789, 13683, 423, 9243, 202,
+ 18851, 9809, 789, 13683, 6891, 10076,
+ 18851, 9809, 789, 13683, 9690,
+ 18851, 9809, 789, 13683, 10048,
+ 18851, 9809, 789, 13683, 11468,
+ 18851, 9809, 862,
+ 18851, 9809, 863, 7531, 10076,
+ 18851, 9809, 863, 9131, 863, 9131, 862,
+ 18851, 9809, 863, 9131, 863, 9131, 863, 17645, 863, 9131, 863, 9131, 862,
+ 18851, 9809, 863, 9131, 863, 10243, 9131, 10243, 10243, 9131, 10243, 2630,
+ 18851, 9809, 863, 10911, 10076,
+ 18851, 9809, 882,
+ 18851, 9809, 883, 13683, 6381, 10076,
+ 18851, 9809, 888,
+ 18851, 9809, 889, 9131, 888,
+ 18851, 9809, 894,
+ 18851, 9809, 978,
+ 18851, 9809, 1118,
+ 18851, 9809, 1119, 13683, 2012,
+ 18851, 9809, 1119, 14847, 13683, 1, 9243, 8286,
+ 18851, 9809, 1119, 14847, 13683, 114,
+ 18851, 9809, 1119, 14847, 13683, 244,
+ 18851, 9809, 1119, 14847, 13683, 245, 9243, 8286,
+ 18851, 9809, 1119, 14847, 13683, 254,
+ 18851, 9809, 1119, 14847, 13683, 266,
+ 18851, 9809, 1119, 14847, 13683, 322,
+ 18851, 9809, 1119, 14847, 13683, 323, 9243, 404,
+ 18851, 9809, 1119, 14847, 13683, 382,
+ 18851, 9809, 1119, 14847, 13683, 404,
+ 18851, 9809, 1119, 14847, 13683, 405, 9243, 12602,
+ 18851, 9809, 1119, 14847, 13683, 450,
+ 18851, 9809, 1119, 14847, 13683, 596,
+ 18851, 9809, 1119, 14847, 13683, 645, 9243, 7000,
+ 18851, 9809, 1119, 14847, 13683, 645, 9243, 8286,
+ 18851, 9809, 1119, 14847, 13683, 1536,
+ 18851, 9809, 1119, 14847, 13683, 1862,
+ 18851, 9809, 1119, 14847, 13683, 2186,
+ 18851, 9809, 1119, 14847, 13683, 2631, 9243, 2630,
+ 18851, 9809, 1119, 14847, 13683, 3404,
+ 18851, 9809, 1119, 14847, 13683, 5234,
+ 18851, 9809, 1119, 14847, 13683, 7000,
+ 18851, 9809, 1119, 14847, 13683, 10048,
+ 18851, 9809, 1119, 14847, 13683, 11468,
+ 18851, 9809, 1126,
+ 18851, 9809, 1130,
+ 18851, 9809, 1170,
+ 18851, 9809, 1176,
+ 18851, 9809, 1177, 13683, 41, 41, 40,
+ 18851, 9809, 1177, 13683, 1738,
+ 18851, 9809, 1177, 13683, 3032,
+ 18851, 9809, 1178,
+ 18851, 9809, 1179, 14807, 41, 7035, 6380,
+ 18851, 9809, 1218,
+ 18851, 9809, 1219, 13683, 3032,
+ 18851, 9809, 1219, 13683, 6554,
+ 18851, 9809, 1220,
+ 18851, 9809, 1221, 13683, 244,
+ 18851, 9809, 1221, 13683, 254,
+ 18851, 9809, 1221, 13683, 266,
+ 18851, 9809, 1221, 13683, 272,
+ 18851, 9809, 1221, 13683, 428,
+ 18851, 9809, 1221, 13683, 458,
+ 18851, 9809, 1221, 13683, 534,
+ 18851, 9809, 1221, 13683, 597, 7034,
+ 18851, 9809, 1221, 13683, 862,
+ 18851, 9809, 1221, 13683, 863, 93, 7778,
+ 18851, 9809, 1221, 13683, 1178,
+ 18851, 9809, 1221, 13683, 1228,
+ 18851, 9809, 1221, 13683, 1739, 7034,
+ 18851, 9809, 1221, 13683, 2012,
+ 18851, 9809, 1221, 13683, 2066,
+ 18851, 9809, 1221, 13683, 2067, 13683, 2012,
+ 18851, 9809, 1221, 13683, 2183, 9243, 7006,
+ 18851, 9809, 1221, 13683, 2272,
+ 18851, 9809, 1221, 13683, 3032,
+ 18851, 9809, 1221, 13683, 7001, 7034,
+ 18851, 9809, 1221, 13683, 7006,
+ 18851, 9809, 1221, 13683, 8286,
+ 18851, 9809, 1221, 13683, 11404,
+ 18851, 9809, 1221, 13683, 11948,
+ 18851, 9809, 1221, 13683, 14806,
+ 18851, 9809, 1221, 13683, 14864,
+ 18851, 9809, 1221, 13683, 14865, 9243, 14806,
+ 18851, 9809, 1221, 13683, 16484,
+ 18851, 9809, 1222,
+ 18851, 9809, 1228,
+ 18851, 9809, 1422,
+ 18851, 9809, 1423, 9131, 1422,
+ 18851, 9809, 1423, 13683, 1, 9243, 149, 9243, 266,
+ 18851, 9809, 1423, 13683, 1, 9243, 266,
+ 18851, 9809, 1423, 13683, 1, 9243, 1738,
+ 18851, 9809, 1423, 13683, 40,
+ 18851, 9809, 1423, 13683, 80,
+ 18851, 9809, 1423, 13683, 81, 9243, 1863, 9243, 0,
+ 18851, 9809, 1423, 13683, 148,
+ 18851, 9809, 1423, 13683, 158,
+ 18851, 9809, 1423, 13683, 198,
+ 18851, 9809, 1423, 13683, 199, 9243, 382,
+ 18851, 9809, 1423, 13683, 202,
+ 18851, 9809, 1423, 13683, 203, 13683, 6891, 10076,
+ 18851, 9809, 1423, 13683, 244,
+ 18851, 9809, 1423, 13683, 254,
+ 18851, 9809, 1423, 13683, 267, 9243, 0,
+ 18851, 9809, 1423, 13683, 267, 9243, 405, 9243, 6554,
+ 18851, 9809, 1423, 13683, 273, 9243, 390,
+ 18851, 9809, 1423, 13683, 382,
+ 18851, 9809, 1423, 13683, 423, 9243, 202,
+ 18851, 9809, 1423, 13683, 428,
+ 18851, 9809, 1423, 13683, 450,
+ 18851, 9809, 1423, 13683, 451, 9243, 174,
+ 18851, 9809, 1423, 13683, 451, 9243, 254,
+ 18851, 9809, 1423, 13683, 520,
+ 18851, 9809, 1423, 13683, 652,
+ 18851, 9809, 1423, 13683, 653, 9243, 168,
+ 18851, 9809, 1423, 13683, 789, 10077, 9243, 3168,
+ 18851, 9809, 1423, 13683, 862,
+ 18851, 9809, 1423, 13683, 882,
+ 18851, 9809, 1423, 13683, 895, 9243, 570,
+ 18851, 9809, 1423, 13683, 978,
+ 18851, 9809, 1423, 13683, 979, 9243, 570,
+ 18851, 9809, 1423, 13683, 1177, 7034,
+ 18851, 9809, 1423, 13683, 1177, 13683, 3032,
+ 18851, 9809, 1423, 13683, 1218,
+ 18851, 9809, 1423, 13683, 1221, 13683, 1739, 7034,
+ 18851, 9809, 1423, 13683, 1221, 13683, 14806,
+ 18851, 9809, 1423, 13683, 1444,
+ 18851, 9809, 1423, 13683, 1445, 9243, 158,
+ 18851, 9809, 1423, 13683, 1445, 9243, 450,
+ 18851, 9809, 1423, 13683, 1498,
+ 18851, 9809, 1423, 13683, 1499, 9243, 0,
+ 18851, 9809, 1423, 13683, 1580,
+ 18851, 9809, 1423, 13683, 1581, 9243, 382,
+ 18851, 9809, 1423, 13683, 1739, 7034,
+ 18851, 9809, 1423, 13683, 1763, 9243, 285, 9243, 862,
+ 18851, 9809, 1423, 13683, 1862,
+ 18851, 9809, 1423, 13683, 1918,
+ 18851, 9809, 1423, 13683, 1919, 9243, 2064,
+ 18851, 9809, 1423, 13683, 1991, 9243, 80,
+ 18851, 9809, 1423, 13683, 2066,
+ 18851, 9809, 1423, 13683, 2067, 13683, 2012,
+ 18851, 9809, 1423, 13683, 2182,
+ 18851, 9809, 1423, 13683, 2524,
+ 18851, 9809, 1423, 13683, 2525, 9131, 2524,
+ 18851, 9809, 1423, 13683, 2998,
+ 18851, 9809, 1423, 13683, 3008,
+ 18851, 9809, 1423, 13683, 3032,
+ 18851, 9809, 1423, 13683, 3033, 9243, 3324,
+ 18851, 9809, 1423, 13683, 3114,
+ 18851, 9809, 1423, 13683, 5268,
+ 18851, 9809, 1423, 13683, 5269, 9243, 1436,
+ 18851, 9809, 1423, 13683, 6546,
+ 18851, 9809, 1423, 13683, 6891, 10076,
+ 18851, 9809, 1423, 13683, 7001, 9243, 610,
+ 18851, 9809, 1423, 13683, 7280,
+ 18851, 9809, 1423, 13683, 8448,
+ 18851, 9809, 1423, 13683, 9724,
+ 18851, 9809, 1423, 13683, 9728,
+ 18851, 9809, 1423, 13683, 10048,
+ 18851, 9809, 1423, 13683, 10916,
+ 18851, 9809, 1423, 13683, 14252,
+ 18851, 9809, 1423, 13683, 14806,
+ 18851, 9809, 1423, 13683, 14865, 9243, 14806,
+ 18851, 9809, 1426,
+ 18851, 9809, 1427, 9131, 1427, 1445, 9131, 1444,
+ 18851, 9809, 1436,
+ 18851, 9809, 1437, 1427, 9131, 1427, 1445, 9131, 1444,
+ 18851, 9809, 1438,
+ 18851, 9809, 1440,
+ 18851, 9809, 1444,
+ 18851, 9809, 1498,
+ 18851, 9809, 1499, 9131, 1498,
+ 18851, 9809, 1499, 17645, 1498,
+ 18851, 9809, 1502,
+ 18851, 9809, 1532,
+ 18851, 9809, 1533, 7034,
+ 18851, 9809, 1533, 13683, 1739, 7034,
+ 18851, 9809, 1533, 13683, 1862,
+ 18851, 9809, 1533, 13683, 1863, 13683, 1739, 7034,
+ 18851, 9809, 1533, 13683, 2524,
+ 18851, 9809, 1533, 13683, 2999, 9243, 10242,
+ 18851, 9809, 1536,
+ 18851, 9809, 1537, 9131, 1537, 12528,
+ 18851, 9809, 1537, 9243, 7007, 13683, 10048,
+ 18851, 9809, 1537, 13683, 1, 9243, 2012,
+ 18851, 9809, 1537, 13683, 2012,
+ 18851, 9809, 1540,
+ 18851, 9809, 1542,
+ 18851, 9809, 1543, 13683, 3032,
+ 18851, 9809, 1548,
+ 18851, 9809, 1580,
+ 18851, 9809, 1738,
+ 18851, 9809, 1739, 576,
+ 18851, 9809, 1739, 1170,
+ 18851, 9809, 1739, 7034,
+ 18851, 9809, 1739, 9131, 1739, 9737, 9131, 9737, 653, 9131, 652,
+ 18851, 9809, 1740,
+ 18851, 9809, 1762,
+ 18851, 9809, 1848,
+ 18851, 9809, 1849, 17645, 1848,
+ 18851, 9809, 1852,
+ 18851, 9809, 1862,
+ 18851, 9809, 1863, 13683, 1739, 7034,
+ 18851, 9809, 1864,
+ 18851, 9809, 1865, 13683, 882,
+ 18851, 9809, 1865, 17645, 1864,
+ 18851, 9809, 1871, 16240,
+ 18851, 9809, 1918,
+ 18851, 9809, 1926,
+ 18851, 9809, 1990,
+ 18851, 9809, 1992,
+ 18851, 9809, 1993, 17329, 6740,
+ 18851, 9809, 1994,
+ 18851, 9809, 2002,
+ 18851, 9809, 2003, 7034,
+ 18851, 9809, 2004,
+ 18851, 9809, 2012,
+ 18851, 9809, 2013, 18217, 2012,
+ 18851, 9809, 2064,
+ 18851, 9809, 2065, 13683, 2064,
+ 18851, 9809, 2066,
+ 18851, 9809, 2067, 13683, 2012,
+ 18851, 9809, 2067, 13683, 2013, 9243, 582,
+ 18851, 9809, 2128,
+ 18851, 9809, 2174,
+ 18851, 9809, 2175, 7035, 13683, 862,
+ 18851, 9809, 2175, 10076,
+ 18851, 9809, 2175, 13683, 76,
+ 18851, 9809, 2175, 13683, 273, 13683, 882,
+ 18851, 9809, 2175, 13683, 312,
+ 18851, 9809, 2175, 13683, 356,
+ 18851, 9809, 2175, 13683, 383, 9243, 862,
+ 18851, 9809, 2175, 13683, 423, 9243, 202,
+ 18851, 9809, 2175, 13683, 450,
+ 18851, 9809, 2175, 13683, 470,
+ 18851, 9809, 2175, 13683, 597, 9243, 862,
+ 18851, 9809, 2175, 13683, 882,
+ 18851, 9809, 2175, 13683, 1580,
+ 18851, 9809, 2175, 13683, 2630,
+ 18851, 9809, 2175, 13683, 2631, 9243, 2631, 9243, 2176,
+ 18851, 9809, 2175, 13683, 3038,
+ 18851, 9809, 2175, 13683, 6380,
+ 18851, 9809, 2175, 13683, 6554,
+ 18851, 9809, 2175, 13683, 6555, 9243, 2064,
+ 18851, 9809, 2175, 13683, 6555, 10076,
+ 18851, 9809, 2175, 13683, 6891, 10076,
+ 18851, 9809, 2175, 13683, 7532,
+ 18851, 9809, 2175, 13683, 7534,
+ 18851, 9809, 2175, 13683, 7535, 9243, 862,
+ 18851, 9809, 2175, 13683, 9811, 9243, 120,
+ 18851, 9809, 2175, 13683, 10048,
+ 18851, 9809, 2175, 13683, 10242,
+ 18851, 9809, 2175, 13683, 12456,
+ 18851, 9809, 2175, 17074,
+ 18851, 9809, 2175, 17075, 13683, 882,
+ 18851, 9809, 2175, 17138,
+ 18851, 9809, 2175, 17645, 2174,
+ 18851, 9809, 2175, 18217, 2174,
+ 18851, 9809, 2176,
+ 18851, 9809, 2182,
+ 18851, 9809, 2184,
+ 18851, 9809, 2186,
+ 18851, 9809, 2187, 9131, 2186,
+ 18851, 9809, 2187, 9131, 2187, 1445, 9131, 1444,
+ 18851, 9809, 2220,
+ 18851, 9809, 2226,
+ 18851, 9809, 2238,
+ 18851, 9809, 2272,
+ 18851, 9809, 2302,
+ 18851, 9809, 2332,
+ 18851, 9809, 2333, 7034,
+ 18851, 9809, 2370,
+ 18851, 9809, 2372,
+ 18851, 9809, 2382,
+ 18851, 9809, 2383, 16776,
+ 18851, 9809, 2446,
+ 18851, 9809, 2456,
+ 18851, 9809, 2457, 13683, 1445, 9243, 6891, 10076,
+ 18851, 9809, 2457, 13683, 6891, 10076,
+ 18851, 9809, 2458,
+ 18851, 9809, 2524,
+ 18851, 9809, 2525, 9131, 2524,
+ 18851, 9809, 2525, 10076,
+ 18851, 9809, 2525, 12459, 13683, 1444,
+ 18851, 9809, 2525, 12459, 13683, 2998,
+ 18851, 9809, 2525, 12459, 13683, 2999, 9131, 2525, 12459, 13683, 2998,
+ 18851, 9809, 2525, 12459, 13683, 3404,
+ 18851, 9809, 2525, 12459, 13683, 8286,
+ 18851, 9809, 2525, 17645, 2524,
+ 18851, 9809, 2525, 17645, 2525, 12459, 9131, 12458,
+ 18851, 9809, 2622,
+ 18851, 9809, 2626,
+ 18851, 9809, 2630,
+ 18851, 9809, 2850,
+ 18851, 9809, 2994,
+ 18851, 9809, 2995, 7034,
+ 18851, 9809, 2995, 7035, 13683, 266,
+ 18851, 9809, 2995, 9131, 2994,
+ 18851, 9809, 2995, 13683, 0,
+ 18851, 9809, 2995, 13683, 168,
+ 18851, 9809, 2995, 13683, 202,
+ 18851, 9809, 2995, 13683, 266,
+ 18851, 9809, 2995, 13683, 428,
+ 18851, 9809, 2995, 13683, 644,
+ 18851, 9809, 2995, 13683, 648,
+ 18851, 9809, 2995, 13683, 662,
+ 18851, 9809, 2995, 13683, 670,
+ 18851, 9809, 2995, 13683, 1218,
+ 18851, 9809, 2995, 13683, 1739, 7034,
+ 18851, 9809, 2995, 13683, 1862,
+ 18851, 9809, 2995, 13683, 2012,
+ 18851, 9809, 2995, 13683, 2186,
+ 18851, 9809, 2995, 13683, 2524,
+ 18851, 9809, 2995, 13683, 2998,
+ 18851, 9809, 2995, 13683, 3033, 93, 7778,
+ 18851, 9809, 2995, 13683, 3168,
+ 18851, 9809, 2995, 13683, 3404,
+ 18851, 9809, 2995, 13683, 9724,
+ 18851, 9809, 2995, 13683, 10048,
+ 18851, 9809, 2995, 16776,
+ 18851, 9809, 2998,
+ 18851, 9809, 2999, 12457, 13683, 5268,
+ 18851, 9809, 3008,
+ 18851, 9809, 3030,
+ 18851, 9809, 3032,
+ 18851, 9809, 3033, 284,
+ 18851, 9809, 3033, 9131, 3032,
+ 18851, 9809, 3033, 9131, 3033, 1427, 9131, 1427, 1445, 9131, 1444,
+ 18851, 9809, 3033, 9131, 3033, 3169, 9131, 3169, 1445, 9131, 1444,
+ 18851, 9809, 3033, 9243, 3008,
+ 18851, 9809, 3033, 9243, 7280,
+ 18851, 9809, 3033, 9243, 8552,
+ 18851, 9809, 3038,
+ 18851, 9809, 3039, 9131, 18017, 3038,
+ 18851, 9809, 3046,
+ 18851, 9809, 3110,
+ 18851, 9809, 3114,
+ 18851, 9809, 3122,
+ 18851, 9809, 3168,
+ 18851, 9809, 3169, 9131, 3169, 459, 9131, 459, 6381, 9131, 6380,
+ 18851, 9809, 3169, 17138,
+ 18851, 9809, 3172,
+ 18851, 9809, 3173, 13683, 114,
+ 18851, 9809, 3173, 13683, 652,
+ 18851, 9809, 3173, 13683, 1536,
+ 18851, 9809, 3173, 13683, 3032,
+ 18851, 9809, 3173, 13683, 3038,
+ 18851, 9809, 3173, 13683, 10242,
+ 18851, 9809, 3190,
+ 18851, 9809, 3234,
+ 18851, 9809, 3240,
+ 18851, 9809, 3246,
+ 18851, 9809, 3247, 9131, 3246,
+ 18851, 9809, 3247, 9131, 3247, 1427, 9131, 1427, 1445, 9131, 1444,
+ 18851, 9809, 3247, 13683, 10048,
+ 18851, 9809, 3316,
+ 18851, 9809, 3318,
+ 18851, 9809, 3319, 13683, 6891, 10076,
+ 18851, 9809, 3319, 13683, 13655, 6380,
+ 18851, 9809, 3324,
+ 18851, 9809, 3325, 9131, 3325, 751, 9131, 750,
+ 18851, 9809, 3390,
+ 18851, 9809, 3391, 13683, 1, 9243, 266,
+ 18851, 9809, 3391, 13683, 1, 9243, 446,
+ 18851, 9809, 3391, 13683, 76,
+ 18851, 9809, 3391, 13683, 266,
+ 18851, 9809, 3391, 13683, 644,
+ 18851, 9809, 3391, 13683, 645, 9243, 114,
+ 18851, 9809, 3391, 13683, 645, 9243, 862,
+ 18851, 9809, 3391, 13683, 652,
+ 18851, 9809, 3391, 13683, 2524,
+ 18851, 9809, 3391, 18016,
+ 18851, 9809, 3392,
+ 18851, 9809, 3396,
+ 18851, 9809, 3400,
+ 18851, 9809, 3401, 13683, 0,
+ 18851, 9809, 3401, 13683, 41, 9243, 1536,
+ 18851, 9809, 3401, 13683, 244,
+ 18851, 9809, 3401, 13683, 260,
+ 18851, 9809, 3401, 13683, 266,
+ 18851, 9809, 3401, 13683, 312,
+ 18851, 9809, 3401, 13683, 356,
+ 18851, 9809, 3401, 13683, 520,
+ 18851, 9809, 3401, 13683, 640,
+ 18851, 9809, 3401, 13683, 652,
+ 18851, 9809, 3401, 13683, 894,
+ 18851, 9809, 3401, 13683, 1228,
+ 18851, 9809, 3401, 13683, 1436,
+ 18851, 9809, 3401, 13683, 1444,
+ 18851, 9809, 3401, 13683, 1738,
+ 18851, 9809, 3401, 13683, 1762,
+ 18851, 9809, 3401, 13683, 2176,
+ 18851, 9809, 3401, 13683, 2186,
+ 18851, 9809, 3401, 13683, 2302,
+ 18851, 9809, 3401, 13683, 3032,
+ 18851, 9809, 3401, 13683, 6891, 10076,
+ 18851, 9809, 3401, 13683, 9806,
+ 18851, 9809, 3401, 13683, 11802,
+ 18851, 9809, 3401, 13683, 13810,
+ 18851, 9809, 3401, 13683, 14238,
+ 18851, 9809, 3401, 13683, 16568,
+ 18851, 9809, 3404,
+ 18851, 9809, 3405, 13683, 0,
+ 18851, 9809, 3405, 13683, 368,
+ 18851, 9809, 3405, 13683, 2012,
+ 18851, 9809, 3405, 13683, 10048,
+ 18851, 9809, 3412,
+ 18851, 9809, 3413, 13683, 14806,
+ 18851, 9809, 3414,
+ 18851, 9809, 3758,
+ 18851, 9809, 3762,
+ 18851, 9809, 3776,
+ 18851, 9809, 3798,
+ 18851, 9809, 3800,
+ 18851, 9809, 3801, 7531, 10076,
+ 18851, 9809, 3804,
+ 18851, 9809, 3830,
+ 18851, 9809, 3831, 13683, 0,
+ 18851, 9809, 3831, 13683, 13655, 6381, 10076,
+ 18851, 9809, 3832,
+ 18851, 9809, 5218,
+ 18851, 9809, 5234,
+ 18851, 9809, 5235, 13683, 2000,
+ 18851, 9809, 5235, 13683, 3032,
+ 18851, 9809, 5248,
+ 18851, 9809, 5256,
+ 18851, 9809, 5257, 13683, 2012,
+ 18851, 9809, 5268,
+ 18851, 9809, 5694,
+ 18851, 9809, 5858,
+ 18851, 9809, 6244,
+ 18851, 9809, 6374,
+ 18851, 9809, 6375, 13683, 652,
+ 18851, 9809, 6380,
+ 18851, 9809, 6381, 9243, 3038,
+ 18851, 9809, 6414,
+ 18851, 9809, 6416,
+ 18851, 9809, 6417, 7034,
+ 18851, 9809, 6417, 7035, 7034,
+ 18851, 9809, 6418,
+ 18851, 9809, 6424,
+ 18851, 9809, 6532,
+ 18851, 9809, 6534,
+ 18851, 9809, 6546,
+ 18851, 9809, 6554,
+ 18851, 9809, 6555, 17645, 6554,
+ 18851, 9809, 6572,
+ 18851, 9809, 6573, 13683, 0,
+ 18851, 9809, 6573, 13683, 1, 9243, 2064,
+ 18851, 9809, 6573, 13683, 1, 9243, 2065, 13683, 2064,
+ 18851, 9809, 6573, 13683, 80,
+ 18851, 9809, 6573, 13683, 266,
+ 18851, 9809, 6573, 13683, 267, 7034,
+ 18851, 9809, 6573, 13683, 382,
+ 18851, 9809, 6573, 13683, 390,
+ 18851, 9809, 6573, 13683, 404,
+ 18851, 9809, 6573, 13683, 610,
+ 18851, 9809, 6573, 13683, 644,
+ 18851, 9809, 6573, 13683, 652,
+ 18851, 9809, 6573, 13683, 882,
+ 18851, 9809, 6573, 13683, 1536,
+ 18851, 9809, 6573, 13683, 1739, 7034,
+ 18851, 9809, 6573, 13683, 1990,
+ 18851, 9809, 6573, 13683, 2065, 13683, 2064,
+ 18851, 9809, 6573, 13683, 3032,
+ 18851, 9809, 6573, 13683, 6417, 7034,
+ 18851, 9809, 6573, 13683, 6417, 7035, 7034,
+ 18851, 9809, 6573, 13683, 14806,
+ 18851, 9809, 6573, 13683, 14807, 17138,
+ 18851, 9809, 6573, 17075, 13683, 272,
+ 18851, 9809, 6573, 17075, 13683, 382,
+ 18851, 9809, 6573, 17075, 13683, 422,
+ 18851, 9809, 6573, 17075, 13683, 610,
+ 18851, 9809, 6573, 17075, 13683, 862,
+ 18851, 9809, 6573, 17075, 13683, 1739, 7034,
+ 18851, 9809, 6573, 17075, 13683, 2064,
+ 18851, 9809, 6573, 17075, 13683, 2272,
+ 18851, 9809, 6882,
+ 18851, 9809, 6883, 17007, 15095, 16114,
+ 18851, 9809, 6883, 17645, 6882,
+ 18851, 9809, 6890,
+ 18851, 9809, 6891, 9131, 6890,
+ 18851, 9809, 6891, 10076,
+ 18851, 9809, 6891, 17645, 6890,
+ 18851, 9809, 6892,
+ 18851, 9809, 6912,
+ 18851, 9809, 7000,
+ 18851, 9809, 7001, 7034,
+ 18851, 9809, 7002,
+ 18851, 9809, 7003, 13683, 1, 9243, 1738,
+ 18851, 9809, 7003, 13683, 405, 9243, 1738,
+ 18851, 9809, 7003, 13683, 520,
+ 18851, 9809, 7003, 13683, 1738,
+ 18851, 9809, 7003, 13683, 6891, 10076,
+ 18851, 9809, 7006,
+ 18851, 9809, 7007, 10076,
+ 18851, 9809, 7007, 13683, 882,
+ 18851, 9809, 7007, 13683, 7007, 17645, 7006,
+ 18851, 9809, 7007, 13683, 10048,
+ 18851, 9809, 7007, 17645, 7006,
+ 18851, 9809, 7042,
+ 18851, 9809, 7280,
+ 18851, 9809, 7281, 13683, 80,
+ 18851, 9809, 7281, 13683, 652,
+ 18851, 9809, 7281, 13683, 1580,
+ 18851, 9809, 7281, 13683, 7828,
+ 18851, 9809, 7281, 13683, 14806,
+ 18851, 9809, 7282,
+ 18851, 9809, 7294,
+ 18851, 9809, 7380,
+ 18851, 9809, 7381, 9131, 7381, 978,
+ 18851, 9809, 7381, 9131, 7381, 17138,
+ 18851, 9809, 7390,
+ 18851, 9809, 7532,
+ 18851, 9809, 7534,
+ 18851, 9809, 7536,
+ 18851, 9809, 7538,
+ 18851, 9809, 7539, 9131, 7538,
+ 18851, 9809, 7548,
+ 18851, 9809, 7550,
+ 18851, 9809, 7638,
+ 18851, 9809, 7828,
+ 18851, 9809, 8286,
+ 18851, 9809, 8330,
+ 18851, 9809, 8448,
+ 18851, 9809, 8449, 9131, 8448,
+ 18851, 9809, 8449, 9131, 8449, 13683, 1, 9243, 446,
+ 18851, 9809, 8449, 9131, 8449, 13683, 244,
+ 18851, 9809, 8449, 9131, 8449, 13683, 1862,
+ 18851, 9809, 8449, 13683, 0,
+ 18851, 9809, 8449, 13683, 750,
+ 18851, 9809, 8449, 13683, 2012,
+ 18851, 9809, 8449, 17645, 8448,
+ 18851, 9809, 8548,
+ 18851, 9809, 8549, 13683, 3039, 10076,
+ 18851, 9809, 8549, 18016,
+ 18851, 9809, 8549, 18217, 8548,
+ 18851, 9809, 8552,
+ 18851, 9809, 8734,
+ 18851, 9809, 8876,
+ 18851, 9809, 8877, 9131, 8877, 979, 9131, 978,
+ 18851, 9809, 8877, 10076,
+ 18851, 9809, 8877, 17007, 15095, 16114,
+ 18851, 9809, 9228,
+ 18851, 9809, 9690,
+ 18851, 9809, 9691, 13683, 0,
+ 18851, 9809, 9691, 13683, 40,
+ 18851, 9809, 9691, 13683, 41, 9243, 0,
+ 18851, 9809, 9691, 13683, 450,
+ 18851, 9809, 9691, 13683, 882,
+ 18851, 9809, 9691, 13683, 3324,
+ 18851, 9809, 9691, 13683, 7006,
+ 18851, 9809, 9691, 13683, 9760,
+ 18851, 9809, 9692,
+ 18851, 9809, 9693, 10076,
+ 18851, 9809, 9714,
+ 18851, 9809, 9724,
+ 18851, 9809, 9725, 13683, 0,
+ 18851, 9809, 9725, 13683, 312,
+ 18851, 9809, 9728,
+ 18851, 9809, 9729, 13683, 0,
+ 18851, 9809, 9729, 13683, 888,
+ 18851, 9809, 9729, 13683, 1178,
+ 18851, 9809, 9729, 13683, 1444,
+ 18851, 9809, 9729, 13683, 1738,
+ 18851, 9809, 9729, 13683, 1739, 7034,
+ 18851, 9809, 9729, 13683, 2184,
+ 18851, 9809, 9729, 13683, 2332,
+ 18851, 9809, 9729, 13683, 2998,
+ 18851, 9809, 9729, 13683, 11568,
+ 18851, 9809, 9729, 13683, 14864,
+ 18851, 9809, 9736,
+ 18851, 9809, 9737, 9131, 9737, 979, 9131, 978,
+ 18851, 9809, 9737, 10076,
+ 18851, 9809, 9760,
+ 18851, 9809, 9761, 9243, 175, 13683, 80,
+ 18851, 9809, 9761, 9243, 1221, 13683, 458,
+ 18851, 9809, 9806,
+ 18851, 9809, 9807, 9131, 9807, 9760,
+ 18851, 9809, 9810,
+ 18851, 9809, 9922,
+ 18851, 9809, 9934,
+ 18851, 9809, 10048,
+ 18851, 9809, 10049, 9243, 2994,
+ 18851, 9809, 10242,
+ 18851, 9809, 10368,
+ 18851, 9809, 10370,
+ 18851, 9809, 10371, 13683, 520,
+ 18851, 9809, 10371, 13683, 14806,
+ 18851, 9809, 10378,
+ 18851, 9809, 10386,
+ 18851, 9809, 10388,
+ 18851, 9809, 10846,
+ 18851, 9809, 10916,
+ 18851, 9809, 11376,
+ 18851, 9809, 11404,
+ 18851, 9809, 11424,
+ 18851, 9809, 11430,
+ 18851, 9809, 11468,
+ 18851, 9809, 11472,
+ 18851, 9809, 11568,
+ 18851, 9809, 11569, 9131, 11568,
+ 18851, 9809, 11802,
+ 18851, 9809, 11804,
+ 18851, 9809, 11880,
+ 18851, 9809, 11948,
+ 18851, 9809, 11949, 46,
+ 18851, 9809, 12086,
+ 18851, 9809, 12140,
+ 18851, 9809, 12148,
+ 18851, 9809, 12180,
+ 18851, 9809, 12394,
+ 18851, 9809, 12418,
+ 18851, 9809, 12456,
+ 18851, 9809, 12457, 13683, 0,
+ 18851, 9809, 12457, 13683, 1, 9243, 149, 9243, 266,
+ 18851, 9809, 12457, 13683, 1, 9243, 1444,
+ 18851, 9809, 12457, 13683, 1, 9243, 2064,
+ 18851, 9809, 12457, 13683, 40,
+ 18851, 9809, 12457, 13683, 41, 9243, 0,
+ 18851, 9809, 12457, 13683, 41, 9243, 41, 9243, 40,
+ 18851, 9809, 12457, 13683, 76,
+ 18851, 9809, 12457, 13683, 80,
+ 18851, 9809, 12457, 13683, 114,
+ 18851, 9809, 12457, 13683, 202,
+ 18851, 9809, 12457, 13683, 244,
+ 18851, 9809, 12457, 13683, 254,
+ 18851, 9809, 12457, 13683, 266,
+ 18851, 9809, 12457, 13683, 273, 13683, 2524,
+ 18851, 9809, 12457, 13683, 312,
+ 18851, 9809, 12457, 13683, 313, 9243, 266,
+ 18851, 9809, 12457, 13683, 313, 9243, 404,
+ 18851, 9809, 12457, 13683, 356,
+ 18851, 9809, 12457, 13683, 404,
+ 18851, 9809, 12457, 13683, 422,
+ 18851, 9809, 12457, 13683, 423, 9243, 202,
+ 18851, 9809, 12457, 13683, 450,
+ 18851, 9809, 12457, 13683, 625, 9243, 1, 9243, 611, 9243, 446,
+ 18851, 9809, 12457, 13683, 645, 9243, 862,
+ 18851, 9809, 12457, 13683, 652,
+ 18851, 9809, 12457, 13683, 761, 9131, 760,
+ 18851, 9809, 12457, 13683, 863, 10911, 10076,
+ 18851, 9809, 12457, 13683, 882,
+ 18851, 9809, 12457, 13683, 1130,
+ 18851, 9809, 12457, 13683, 1444,
+ 18851, 9809, 12457, 13683, 1536,
+ 18851, 9809, 12457, 13683, 1537, 9243, 1536,
+ 18851, 9809, 12457, 13683, 1580,
+ 18851, 9809, 12457, 13683, 1739, 7034,
+ 18851, 9809, 12457, 13683, 1926,
+ 18851, 9809, 12457, 13683, 1990,
+ 18851, 9809, 12457, 13683, 2002,
+ 18851, 9809, 12457, 13683, 2003, 9243, 273, 9243, 0,
+ 18851, 9809, 12457, 13683, 2184,
+ 18851, 9809, 12457, 13683, 3033, 9243, 3114,
+ 18851, 9809, 12457, 13683, 3114,
+ 18851, 9809, 12457, 13683, 3172,
+ 18851, 9809, 12457, 13683, 3404,
+ 18851, 9809, 12457, 13683, 7828,
+ 18851, 9809, 12457, 13683, 8448,
+ 18851, 9809, 12457, 13683, 9760,
+ 18851, 9809, 12457, 13683, 9761, 9243, 9760,
+ 18851, 9809, 12457, 13683, 10048,
+ 18851, 9809, 12457, 13683, 12456,
+ 18851, 9809, 12457, 13683, 13423, 9243, 7007, 9243, 11948,
+ 18851, 9809, 12457, 13683, 13423, 9243, 7007, 10076,
+ 18851, 9809, 12457, 17138,
+ 18851, 9809, 12458,
+ 18851, 9809, 12459, 7034,
+ 18851, 9809, 12459, 7035, 9131, 12459, 7035, 3032,
+ 18851, 9809, 12459, 13683, 3032,
+ 18851, 9809, 12459, 13683, 3033, 9243, 3114,
+ 18851, 9809, 12528,
+ 18851, 9809, 12529, 9131, 12528,
+ 18851, 9809, 12529, 17074,
+ 18851, 9809, 12529, 18217, 12528,
+ 18851, 9809, 12602,
+ 18851, 9809, 12716,
+ 18851, 9809, 12717, 7034,
+ 18851, 9809, 12717, 13683, 0,
+ 18851, 9809, 12717, 13683, 1, 9243, 158,
+ 18851, 9809, 12717, 13683, 158,
+ 18851, 9809, 12717, 13683, 750,
+ 18851, 9809, 12738,
+ 18851, 9809, 12826,
+ 18851, 9809, 12988,
+ 18851, 9809, 12989, 789, 13683, 114,
+ 18851, 9809, 12989, 789, 13683, 382,
+ 18851, 9809, 12989, 789, 13683, 450,
+ 18851, 9809, 12989, 789, 13683, 644,
+ 18851, 9809, 12989, 789, 13683, 1220,
+ 18851, 9809, 12989, 789, 13683, 1536,
+ 18851, 9809, 12989, 789, 13683, 1739, 7034,
+ 18851, 9809, 12989, 789, 13683, 7534,
+ 18851, 9809, 12989, 789, 13683, 13456,
+ 18851, 9809, 12989, 789, 13683, 14238,
+ 18851, 9809, 12989, 14847, 13683, 114,
+ 18851, 9809, 12989, 14847, 13683, 115, 40,
+ 18851, 9809, 13150,
+ 18851, 9809, 13151, 17496,
+ 18851, 9809, 13166,
+ 18851, 9809, 13167, 13683, 652,
+ 18851, 9809, 13167, 13683, 750,
+ 18851, 9809, 13167, 13683, 1864,
+ 18851, 9809, 13167, 18217, 13166,
+ 18851, 9809, 13378,
+ 18851, 9809, 13388,
+ 18851, 9809, 13402,
+ 18851, 9809, 13408,
+ 18851, 9809, 13422,
+ 18851, 9809, 13456,
+ 18851, 9809, 13558,
+ 18851, 9809, 13796,
+ 18851, 9809, 13810,
+ 18851, 9809, 13811, 13683, 40,
+ 18851, 9809, 13814,
+ 18851, 9809, 14132,
+ 18851, 9809, 14238,
+ 18851, 9809, 14252,
+ 18851, 9809, 14253, 13683, 458,
+ 18851, 9809, 14253, 13683, 750,
+ 18851, 9809, 14253, 13683, 788,
+ 18851, 9809, 14662,
+ 18851, 9809, 14712,
+ 18851, 9809, 14806,
+ 18851, 9809, 14807, 9131, 14807, 12457, 13683, 41, 9131, 12457, 13683, 40,
+ 18851, 9809, 14807, 12457, 13683, 41, 9131, 12457, 13683, 40,
+ 18851, 9809, 14846,
+ 18851, 9809, 14847, 9131, 14846,
+ 18851, 9809, 14864,
+ 18851, 9809, 14866,
+ 18851, 9809, 14876,
+ 18851, 9809, 14912,
+ 18851, 9809, 15044,
+ 18851, 9809, 15050,
+ 18851, 9809, 15092,
+ 18851, 9809, 15093, 13683, 40,
+ 18851, 9809, 15093, 13683, 41, 9243, 40,
+ 18851, 9809, 15093, 13683, 80,
+ 18851, 9809, 15093, 13683, 254,
+ 18851, 9809, 15093, 13683, 272,
+ 18851, 9809, 15093, 13683, 423, 9243, 6891, 10076,
+ 18851, 9809, 15093, 13683, 450,
+ 18851, 9809, 15093, 13683, 645, 9243, 862,
+ 18851, 9809, 15093, 13683, 862,
+ 18851, 9809, 15093, 13683, 863, 9243, 862,
+ 18851, 9809, 15093, 13683, 888,
+ 18851, 9809, 15093, 13683, 1177, 7034,
+ 18851, 9809, 15093, 13683, 1536,
+ 18851, 9809, 15093, 13683, 1540,
+ 18851, 9809, 15093, 13683, 2524,
+ 18851, 9809, 15093, 13683, 2631, 9243, 2630,
+ 18851, 9809, 15093, 13683, 3032,
+ 18851, 9809, 15093, 13683, 3033, 9243, 1, 80,
+ 18851, 9809, 15093, 13683, 3033, 9243, 862,
+ 18851, 9809, 15093, 13683, 3033, 9243, 863, 9243, 862,
+ 18851, 9809, 15093, 13683, 3404,
+ 18851, 9809, 15093, 13683, 7006,
+ 18851, 9809, 15093, 13683, 8286,
+ 18851, 9809, 15093, 13683, 12394,
+ 18851, 9809, 15093, 13683, 13810,
+ 18851, 9809, 15093, 13683, 16492,
+ 18851, 9809, 15380,
+ 18851, 9809, 15432,
+ 18851, 9809, 15442,
+ 18851, 9809, 15456,
+ 18851, 9809, 15548,
+ 18851, 9809, 15738,
+ 18851, 9809, 16314,
+ 18851, 9809, 16315, 13683, 40,
+ 18851, 9809, 16315, 13683, 2012,
+ 18851, 9809, 16482,
+ 18851, 9809, 16486,
+ 18851, 9809, 16488,
+ 18851, 9809, 16490,
+ 18851, 9809, 16492,
+ 18851, 9809, 16494,
+ 18851, 9809, 16496,
+ 18851, 9809, 16499, 9131, 16499, 7034,
+ 18851, 9809, 16500,
+ 18851, 9809, 16503, 9131, 16502,
+ 18851, 9809, 16504,
+ 18851, 9809, 16506,
+ 18851, 9809, 16508,
+ 18851, 9809, 16510,
+ 18851, 9809, 16512,
+ 18851, 9809, 16514,
+ 18851, 9809, 16516,
+ 18851, 9809, 16518,
+ 18851, 9809, 16520,
+ 18851, 9809, 16522,
+ 18851, 9809, 16524,
+ 18851, 9809, 16526,
+ 18851, 9809, 16528,
+ 18851, 9809, 16530,
+ 18851, 9809, 16532,
+ 18851, 9809, 16534,
+ 18851, 9809, 16536,
+ 18851, 9809, 16538,
+ 18851, 9809, 16540,
+ 18851, 9809, 16541, 13683, 260,
+ 18851, 9809, 16541, 13683, 645, 9243, 106,
+ 18851, 9809, 16541, 13683, 1738,
+ 18851, 9809, 16541, 13683, 2631, 9243, 2176,
+ 18851, 9809, 16541, 13683, 2631, 9243, 2631, 9243, 2176,
+ 18851, 9809, 16542,
+ 18851, 9809, 16544,
+ 18851, 9809, 16546,
+ 18851, 9809, 16548,
+ 18851, 9809, 16550,
+ 18851, 9809, 16552,
+ 18851, 9809, 16554,
+ 18851, 9809, 16556,
+ 18851, 9809, 16558,
+ 18851, 9809, 16560,
+ 18851, 9809, 16562,
+ 18851, 9809, 16563, 13683, 382,
+ 18851, 9809, 16563, 13683, 624,
+ 18851, 9809, 16563, 13683, 644,
+ 18851, 9809, 16563, 13683, 652,
+ 18851, 9809, 16563, 13683, 862,
+ 18851, 9809, 16563, 13683, 882,
+ 18851, 9809, 16563, 13683, 1990,
+ 18851, 9809, 16563, 13683, 3190,
+ 18851, 9809, 16563, 13683, 6417, 7035, 7034,
+ 18851, 9809, 16563, 13683, 13810,
+ 18851, 9809, 16564,
+ 18851, 9809, 16566,
+ 18851, 9809, 16567, 13683, 244,
+ 18851, 9809, 16567, 13683, 458,
+ 18851, 9809, 16567, 13683, 652,
+ 18851, 9809, 16567, 13683, 1218,
+ 18851, 9809, 16567, 13683, 1738,
+ 18851, 9809, 16567, 13683, 1739, 7034,
+ 18851, 9809, 16567, 13683, 2631, 9243, 2631, 9243, 2176,
+ 18851, 9809, 16567, 13683, 13409, 9243, 356,
+ 18851, 9809, 16567, 13683, 13810,
+ 18851, 9809, 16570,
+ 18851, 9809, 16572,
+ 18851, 9809, 18412,
+ 18851, 16771, 9809, 2593, 17495, 2597, 13458,
+ 18851, 16771, 9809, 2593, 17495, 2597, 16954,
+ 18851, 16771, 9809, 2597, 5704,
+ 18851, 16771, 9809, 2597, 5860,
+ 18851, 16771, 9809, 2597, 7087, 1548,
+ 18851, 16771, 9809, 2597, 11958,
+ 18851, 16771, 9809, 2597, 12108,
+ 18851, 16771, 9809, 2597, 12110,
+ 18851, 16771, 9809, 2597, 13394,
+ 18851, 16771, 9809, 2597, 13647, 6380,
+ 18851, 16771, 9809, 2597, 13647, 17329, 6741, 0,
+ 18851, 16771, 9809, 2597, 14543, 862,
+ 18851, 16771, 9809, 2597, 16955, 862,
+ 18851, 16771, 9809, 2597, 16955, 1548,
+ 18851, 16771, 9809, 3057, 40,
+ 18851, 16771, 9809, 3057, 41, 17329, 6740,
+ 18851, 16771, 9809, 3057, 862,
+ 18851, 16771, 9809, 3057, 863, 10076,
+ 18851, 16771, 9809, 3057, 6380,
+ 18851, 16771, 9809, 3057, 12108,
+ 18851, 16771, 9809, 3057, 13388,
+ 18851, 16771, 9809, 3057, 17329, 6741, 5272,
+ 18851, 16771, 9809, 3337, 862,
+ 18851, 16771, 9809, 3337, 863, 10076,
+ 18851, 16771, 9809, 3337, 5704,
+ 18851, 16771, 9809, 3337, 5860,
+ 18851, 16771, 9809, 3337, 11958,
+ 18851, 16771, 9809, 3337, 12108,
+ 18851, 16771, 9809, 3337, 12110,
+ 18851, 16771, 9809, 3337, 13388,
+ 18851, 16771, 9809, 3337, 13394,
+ 18851, 16771, 9809, 3337, 15625, 6380,
+ 18851, 16771, 9809, 3337, 15625, 17329, 6741, 0,
+ 18851, 16771, 9809, 6721, 40,
+ 18851, 16771, 9809, 6721, 41, 17329, 6740,
+ 18851, 16771, 9809, 6721, 862,
+ 18851, 16771, 9809, 6721, 863, 10076,
+ 18851, 16771, 9809, 6721, 5704,
+ 18851, 16771, 9809, 6721, 5705, 17329, 6740,
+ 18851, 16771, 9809, 6721, 5860,
+ 18851, 16771, 9809, 6721, 6380,
+ 18851, 16771, 9809, 6721, 12108,
+ 18851, 16771, 9809, 6721, 12110,
+ 18851, 16771, 9809, 6721, 13388,
+ 18851, 16771, 9809, 6721, 13394,
+ 18851, 16771, 9809, 6721, 15467, 6380,
+ 18851, 16771, 9809, 6743, 40,
+ 18851, 16771, 9809, 6743, 41, 17329, 6740,
+ 18851, 16771, 9809, 6743, 862,
+ 18851, 16771, 9809, 6743, 863, 10076,
+ 18851, 16771, 9809, 6743, 5704,
+ 18851, 16771, 9809, 6743, 5705, 17329, 6740,
+ 18851, 16771, 9809, 6743, 5860,
+ 18851, 16771, 9809, 6743, 6380,
+ 18851, 16771, 9809, 6743, 12108,
+ 18851, 16771, 9809, 6743, 12110,
+ 18851, 16771, 9809, 6743, 13388,
+ 18851, 16771, 9809, 6743, 13394,
+ 18851, 16771, 9809, 6743, 17329, 6741, 12506,
+ 18851, 16771, 9809, 6743, 17329, 6741, 12507, 0,
+ 18851, 16771, 9809, 6743, 17329, 6741, 12507, 2,
+ 18851, 16771, 9809, 6743, 17329, 6741, 14914,
+ 18851, 16771, 9809, 8737, 40,
+ 18851, 16771, 9809, 8737, 41, 17329, 6740,
+ 18851, 16771, 9809, 8737, 862,
+ 18851, 16771, 9809, 8737, 6380,
+ 18851, 16771, 9809, 8737, 12108,
+ 18851, 16771, 9809, 8737, 13388,
+ 18851, 16771, 9809, 8737, 17329, 6741, 14766,
+ 18851, 16771, 9809, 8737, 17329, 6741, 14767, 0,
+ 18851, 16771, 9809, 8737, 17329, 6741, 16390,
+ 18851, 16771, 9809, 8737, 17329, 6741, 16392,
+ 18851, 16771, 9809, 11917, 40,
+ 18851, 16771, 9809, 11917, 41, 17329, 6740,
+ 18851, 16771, 9809, 11917, 862,
+ 18851, 16771, 9809, 11917, 6380,
+ 18851, 16771, 9809, 11917, 12108,
+ 18851, 16771, 9809, 11917, 13388,
+ 18851, 16771, 9809, 11917, 17329, 6741, 10390,
+ 18851, 16771, 9809, 11917, 17329, 6741, 13812,
+ 18851, 16771, 9809, 13377, 40,
+ 18851, 16771, 9809, 13377, 41, 17329, 6740,
+ 18851, 16771, 9809, 13377, 862,
+ 18851, 16771, 9809, 13377, 6380,
+ 18851, 16771, 9809, 13377, 12108,
+ 18851, 16771, 9809, 13377, 13388,
+ 18851, 16771, 9809, 13377, 17329, 6741, 7391, 0,
+ 18851, 16771, 9809, 13377, 17329, 6741, 7391, 2,
+ 18851, 16771, 9809, 13377, 17329, 6741, 12320,
+ 18851, 16771, 9809, 13389, 13683, 1437, 9243, 2302,
+ 18851, 16771, 9809, 13389, 13683, 1437, 9243, 6380,
+ 18851, 16771, 9809, 13655, 862,
+ 18851, 16771, 9809, 13655, 863, 10076,
+ 18851, 16771, 9809, 13655, 5704,
+ 18851, 16771, 9809, 13655, 5860,
+ 18851, 16771, 9809, 13655, 5861, 17329, 6740,
+ 18851, 16771, 9809, 13655, 6380,
+ 18851, 16771, 9809, 13655, 12108,
+ 18851, 16771, 9809, 13655, 12110,
+ 18851, 16771, 9809, 13655, 13388,
+ 18851, 16771, 9809, 13655, 13389, 17329, 6740,
+ 18851, 16771, 9809, 13655, 13394,
+ 18851, 16771, 9809, 13655, 13395, 17329, 6740,
+ 18851, 16771, 9809, 13655, 17329, 6741, 11954,
+ 18851, 16771, 9809, 13655, 17329, 6741, 11956,
+ 18851, 16771, 9809, 16241, 2597, 13646,
+ 18851, 16771, 9809, 16241, 3337, 15624,
+ 18851, 16771, 9809, 16241, 12018,
+ 18851, 16771, 9809, 16241, 12046,
+ 18851, 16771, 9809, 19274,
+ 18851, 16771, 9809, 19276,
+ 18851, 20659, 9809, 2593, 17495, 10605, 16150,
+ 18851, 20659, 9809, 17687, 11702,
+ 18851, 20659, 9809, 17687, 18598,
+ 18851, 20659, 9809, 17687, 19352,
+ 18851, 20659, 9809, 18669, 11702,
+ 18859, 10182,
+ 18865, 15565, 12499, 669, 841, 19972,
+ 18865, 15565, 12499, 669, 841, 19973, 10595, 10574,
+ 18865, 15565, 12499, 669, 841, 19973, 10595, 14396,
+ 18865, 15565, 12499, 669, 841, 19973, 10595, 18596,
+ 18865, 15565, 12499, 6407, 841, 19972,
+ 18865, 15565, 12499, 6407, 841, 19973, 10595, 10574,
+ 18865, 15565, 12499, 6407, 841, 19973, 10595, 14396,
+ 18865, 15565, 12499, 6407, 841, 19973, 10595, 18596,
+ 18865, 15565, 12499, 18669, 841, 3273, 7778,
+ 18865, 15565, 12499, 18669, 841, 3273, 13270,
+ 18865, 15565, 12499, 18669, 841, 10574,
+ 18865, 15565, 12499, 18669, 841, 14307, 7778,
+ 18865, 15565, 12499, 18669, 841, 14307, 13270,
+ 18865, 15565, 12499, 18669, 10595, 14396,
+ 18865, 15565, 12499, 18669, 10595, 18596,
+ 18872,
+ 18885, 15164,
+ 19029, 3337, 14729, 11428,
+ 19029, 11428,
+ 19029, 11429, 633, 894,
+ 19029, 11429, 6749, 894,
+ 19029, 11429, 10595, 3245, 19212,
+ 19029, 11429, 10595, 3245, 20162,
+ 19029, 11429, 10595, 12473, 18597, 18728,
+ 19029, 11429, 10595, 13483, 18597, 18728,
+ 19029, 11429, 10595, 13483, 20467, 18728,
+ 19029, 11429, 10595, 14429, 19212,
+ 19029, 11429, 10595, 14533, 15534,
+ 19029, 11429, 10595, 14997, 18597, 18728,
+ 19029, 11429, 10595, 16761, 10046,
+ 19029, 11429, 10595, 19973, 15534,
+ 19029, 11429, 10595, 20467, 18728,
+ 19029, 11429, 19213, 483, 17319, 11428,
+ 19029, 11521, 11428,
+ 19029, 11521, 16035, 13965, 11428,
+ 19029, 12213, 11428,
+ 19029, 12213, 19727, 11428,
+ 19029, 13965, 11428,
+ 19029, 13965, 11429, 15787, 18597, 18728,
+ 19029, 14202,
+ 19029, 14463, 11428,
+ 19029, 14533, 11428,
+ 19029, 15189, 14226,
+ 19029, 15352,
+ 19029, 15671, 11428,
+ 19029, 15831, 11428,
+ 19029, 16357, 10595, 5713, 7779, 633, 894,
+ 19029, 16357, 10595, 5713, 7779, 6749, 894,
+ 19029, 16357, 10595, 5713, 7779, 14287, 17319, 16357, 10595, 5713, 13270,
+ 19029, 16357, 10595, 5713, 7779, 14287, 19029, 16357, 10595, 5713, 13270,
+ 19029, 16357, 10595, 5713, 13271, 633, 894,
+ 19029, 16357, 10595, 5713, 13271, 6749, 894,
+ 19029, 16357, 10595, 5713, 19212,
+ 19029, 16357, 10595, 5713, 20162,
+ 19029, 17139, 11428,
+ 19029, 18597, 18728,
+ 19029, 19355, 11428,
+ 19029, 19727, 11428,
+ 19029, 20165, 11428,
+ 19029, 20285, 11429, 10595, 18597, 19686,
+ 19029, 20471, 11428,
+ 19029, 21571, 11428,
+ 19029, 21571, 11429, 633, 894,
+ 19029, 21571, 11429, 10595, 5825, 13382,
+ 19029, 21571, 11429, 10595, 7845, 3245, 19212,
+ 19029, 21571, 11429, 10595, 7845, 3245, 20162,
+ 19029, 21571, 11429, 10595, 10487, 12213, 13382,
+ 19029, 21571, 11429, 10595, 12213, 13382,
+ 19029, 21571, 11429, 10595, 14533, 19973, 15534,
+ 19029, 21571, 11429, 10595, 14997, 13382,
+ 19029, 21571, 11429, 10595, 15055, 13382,
+ 19029, 21571, 11429, 19213, 483, 17319, 21571, 11428,
+ 19029, 21571, 14463, 11428,
+ 19029, 21571, 15189, 14226,
+ 19029, 21571, 15831, 11428,
+ 19031, 11592,
+ 19035, 16068,
+ 19049, 15564,
+ 19050,
+ 19053, 10182,
+ 19061, 12213, 3057, 15501, 17496,
+ 19061, 12213, 6721, 15501, 17496,
+ 19061, 12213, 12173, 11718,
+ 19061, 12213, 13965, 14396,
+ 19061, 12213, 13965, 15512,
+ 19061, 12213, 17022,
+ 19067, 9808,
+ 19074,
+ 19093, 2163, 7816,
+ 19093, 2499, 9808,
+ 19093, 3537, 9808,
+ 19093, 3675, 9808,
+ 19093, 5977, 9808,
+ 19093, 6757, 9910,
+ 19093, 7779, 11725, 15970,
+ 19093, 7779, 13965, 20628,
+ 19093, 7779, 15513, 15970,
+ 19093, 7779, 20628,
+ 19093, 9243, 9808,
+ 19093, 11702,
+ 19093, 11708,
+ 19093, 11849, 2596,
+ 19093, 11849, 3056,
+ 19093, 11849, 3336,
+ 19093, 11849, 6720,
+ 19093, 11849, 6742,
+ 19093, 11849, 8736,
+ 19093, 11849, 10854,
+ 19093, 11849, 11916,
+ 19093, 11849, 13376,
+ 19093, 11849, 13654,
+ 19093, 12169, 14178,
+ 19093, 12477, 13483, 14903, 0,
+ 19093, 12477, 13483, 14903, 2,
+ 19093, 12477, 13483, 14903, 4,
+ 19093, 12477, 13483, 14903, 6,
+ 19093, 12477, 13483, 14903, 8,
+ 19093, 12477, 13483, 14903, 10,
+ 19093, 12477, 13483, 14903, 12,
+ 19093, 12477, 13483, 14903, 14,
+ 19093, 12477, 13483, 14903, 16,
+ 19093, 12477, 13483, 14903, 18,
+ 19093, 12477, 13483, 14903, 20,
+ 19093, 12477, 13483, 14903, 22,
+ 19093, 12477, 13483, 14903, 24,
+ 19093, 12477, 13483, 14903, 26,
+ 19093, 12477, 13483, 14903, 28,
+ 19093, 12477, 13483, 14903, 30,
+ 19093, 12477, 13483, 14903, 32,
+ 19093, 12477, 13483, 14903, 34,
+ 19093, 12477, 13483, 14903, 36,
+ 19093, 12477, 13483, 14903, 38,
+ 19093, 12477, 13483, 14903, 40,
+ 19093, 12477, 13483, 14903, 42,
+ 19093, 12477, 13483, 14903, 44,
+ 19093, 12477, 13483, 14903, 46,
+ 19093, 12477, 13483, 14903, 48,
+ 19093, 12477, 13483, 14903, 50,
+ 19093, 12477, 15993, 14903, 0,
+ 19093, 12477, 15993, 14903, 2,
+ 19093, 12477, 15993, 14903, 4,
+ 19093, 12477, 15993, 14903, 6,
+ 19093, 12477, 15993, 14903, 8,
+ 19093, 12477, 15993, 14903, 10,
+ 19093, 12477, 15993, 14903, 12,
+ 19093, 12477, 15993, 14903, 14,
+ 19093, 12477, 15993, 14903, 16,
+ 19093, 12477, 15993, 14903, 18,
+ 19093, 12477, 15993, 14903, 20,
+ 19093, 12477, 15993, 14903, 22,
+ 19093, 12477, 15993, 14903, 24,
+ 19093, 12477, 15993, 14903, 26,
+ 19093, 12477, 15993, 14903, 28,
+ 19093, 12477, 15993, 14903, 30,
+ 19093, 12477, 15993, 14903, 32,
+ 19093, 12477, 15993, 14903, 34,
+ 19093, 12477, 15993, 14903, 36,
+ 19093, 12477, 15993, 14903, 38,
+ 19093, 12477, 15993, 14903, 40,
+ 19093, 12477, 15993, 14903, 42,
+ 19093, 12477, 15993, 14903, 44,
+ 19093, 12477, 15993, 14903, 46,
+ 19093, 12477, 15993, 14903, 48,
+ 19093, 12477, 15993, 14903, 50,
+ 19093, 13189, 9808,
+ 19093, 13271, 11725, 15970,
+ 19093, 13271, 13965, 20628,
+ 19093, 13271, 15513, 15970,
+ 19093, 13271, 20628,
+ 19093, 13676,
+ 19093, 14323, 894,
+ 19093, 14509, 9808,
+ 19093, 14555, 9808,
+ 19093, 14952,
+ 19093, 15133, 9808,
+ 19093, 16873, 9808,
+ 19093, 16991, 17118,
+ 19093, 17118,
+ 19093, 17496,
+ 19093, 18335, 8282,
+ 19093, 18669, 7816,
+ 19093, 18716,
+ 19093, 19215, 9808,
+ 19093, 19359, 8282,
+ 19093, 19416,
+ 19093, 19676,
+ 19093, 19717, 14178,
+ 19093, 19719, 92,
+ 19093, 20469, 8282,
+ 19093, 20877, 9808,
+ 19093, 20890,
+ 19097, 20132,
+ 19115, 6682,
+ 19116,
+ 19121, 7779, 14429, 15970,
+ 19121, 11521, 15512,
+ 19121, 12043, 12499, 18668,
+ 19121, 13271, 14429, 15970,
+ 19121, 13965, 14396,
+ 19121, 14725, 14604,
+ 19121, 14725, 14903, 0,
+ 19121, 14725, 14903, 8,
+ 19121, 14725, 14903, 16,
+ 19121, 14725, 14903, 28,
+ 19121, 14725, 14903, 40,
+ 19121, 14725, 14903, 66,
+ 19121, 14725, 14903, 204,
+ 19121, 14725, 14903, 214,
+ 19121, 14725, 14903, 480,
+ 19121, 14725, 14903, 692,
+ 19121, 14725, 14903, 698,
+ 19121, 14725, 14903, 704,
+ 19121, 14725, 14903, 732,
+ 19121, 14725, 14903, 734,
+ 19121, 14725, 14903, 736,
+ 19121, 14725, 14903, 740,
+ 19121, 14725, 14903, 744,
+ 19121, 14725, 14903, 3496,
+ 19121, 14725, 14903, 3522,
+ 19121, 14725, 14903, 3630,
+ 19121, 14725, 14903, 3676,
+ 19121, 14725, 14903, 9820,
+ 19121, 14725, 14903, 11680,
+ 19121, 14725, 14903, 12216,
+ 19121, 14725, 14903, 12312,
+ 19121, 14725, 14903, 12666,
+ 19121, 14725, 14903, 12820,
+ 19121, 14725, 14903, 13164,
+ 19121, 14725, 14903, 13268,
+ 19121, 14725, 14903, 14848,
+ 19121, 14725, 14903, 15638,
+ 19121, 14725, 14903, 16024,
+ 19121, 14725, 14903, 16452,
+ 19121, 14725, 14903, 16892,
+ 19121, 14725, 14903, 17224,
+ 19121, 14725, 14903, 19454,
+ 19121, 14725, 14903, 20116,
+ 19121, 14725, 14903, 20156,
+ 19121, 14725, 14903, 20220,
+ 19121, 14725, 14903, 20230,
+ 19121, 14725, 14903, 20544,
+ 19121, 14725, 14903, 20598,
+ 19121, 14725, 14903, 20600,
+ 19121, 14725, 14903, 20672,
+ 19121, 14725, 14903, 20674,
+ 19121, 14725, 14903, 20678,
+ 19121, 14725, 14903, 20708,
+ 19121, 14725, 14903, 20710,
+ 19121, 14725, 14903, 20970,
+ 19121, 14725, 14903, 21186,
+ 19121, 14725, 14903, 21188,
+ 19121, 17319, 11428,
+ 19121, 18041, 14903, 0,
+ 19121, 18041, 14903, 8,
+ 19121, 18041, 14903, 16,
+ 19121, 18041, 14903, 26,
+ 19121, 18041, 14903, 28,
+ 19121, 18041, 14903, 40,
+ 19121, 18041, 14903, 266,
+ 19121, 18041, 14903, 268,
+ 19121, 18041, 14903, 272,
+ 19121, 18041, 14903, 280,
+ 19121, 18041, 14903, 284,
+ 19121, 18041, 14903, 348,
+ 19121, 18041, 14903, 352,
+ 19121, 18041, 14903, 356,
+ 19121, 18041, 14903, 364,
+ 19121, 18041, 14903, 368,
+ 19121, 18041, 14903, 414,
+ 19121, 18041, 14903, 422,
+ 19121, 18041, 14903, 428,
+ 19121, 18041, 14903, 434,
+ 19121, 18041, 14903, 438,
+ 19121, 18041, 14903, 446,
+ 19121, 18041, 14903, 450,
+ 19121, 18041, 14903, 458,
+ 19121, 18041, 14903, 466,
+ 19121, 18041, 14903, 470,
+ 19121, 18041, 14903, 570,
+ 19121, 18041, 14903, 572,
+ 19121, 18041, 14903, 576,
+ 19121, 18041, 14903, 578,
+ 19121, 18041, 14903, 582,
+ 19121, 18041, 14903, 586,
+ 19121, 18041, 14903, 590,
+ 19121, 18041, 14903, 596,
+ 19121, 18041, 14903, 600,
+ 19121, 18041, 14903, 610,
+ 19121, 18041, 14903, 620,
+ 19121, 18041, 14903, 624,
+ 19121, 18041, 14903, 628,
+ 19121, 18041, 14903, 632,
+ 19121, 18041, 14903, 640,
+ 19121, 18041, 14903, 692,
+ 19121, 18041, 14903, 708,
+ 19121, 18041, 14903, 732,
+ 19121, 18041, 14903, 740,
+ 19121, 18041, 14903, 744,
+ 19121, 18041, 14903, 13483, 0,
+ 19121, 18041, 14903, 13483, 8,
+ 19121, 18041, 14903, 13483, 16,
+ 19121, 18041, 14903, 13483, 28,
+ 19121, 18041, 14903, 13483, 40,
+ 19121, 18041, 14903, 13483, 640,
+ 19121, 18041, 14903, 13483, 732,
+ 19121, 18041, 14903, 13483, 740,
+ 19121, 18041, 14903, 13483, 744,
+ 19121, 18041, 15021, 1212,
+ 19121, 18041, 15761, 13499, 8282,
+ 19121, 18041, 20691, 13499, 8282,
+ 19121, 19029, 11428,
+ 19121, 19213, 11428,
+ 19121, 20163, 11428,
+ 19121, 20511, 6757, 9910,
+ 19121, 20511, 11708,
+ 19121, 21725, 19347, 13499, 8282,
+ 19122,
+ 19134,
+ 19137, 19109, 15564,
+ 19141, 18829, 14982,
+ 19142,
+ 19143, 10595, 16293, 9650,
+ 19149, 632,
+ 19149, 633, 841, 17101, 18256,
+ 19149, 10595, 1213, 11346,
+ 19159, 90,
+ 19160,
+ 19169, 15564,
+ 19171, 9242,
+ 19171, 13682,
+ 19171, 19420,
+ 19193, 9809, 12986,
+ 19193, 9809, 15756,
+ 19193, 9809, 17466,
+ 19193, 11849, 2596,
+ 19193, 11849, 3056,
+ 19193, 11849, 3336,
+ 19193, 11849, 6720,
+ 19193, 11849, 6742,
+ 19193, 11849, 8736,
+ 19193, 11849, 10854,
+ 19193, 11849, 11916,
+ 19193, 11849, 13376,
+ 19193, 11849, 13654,
+ 19193, 13921, 9809, 8,
+ 19193, 13921, 9809, 16,
+ 19193, 13921, 9809, 28,
+ 19193, 13921, 9809, 40,
+ 19193, 13921, 9809, 58,
+ 19193, 13921, 9809, 72,
+ 19193, 13921, 9809, 94,
+ 19193, 13921, 9809, 306,
+ 19193, 13921, 9809, 674,
+ 19193, 14903, 0,
+ 19193, 14903, 8,
+ 19193, 14903, 16,
+ 19193, 14903, 28,
+ 19193, 14903, 40,
+ 19193, 14903, 58,
+ 19193, 14903, 72,
+ 19193, 14903, 94,
+ 19193, 14903, 106,
+ 19193, 14903, 124,
+ 19193, 14903, 148,
+ 19193, 14903, 244,
+ 19193, 14903, 266,
+ 19193, 14903, 306,
+ 19193, 14903, 334,
+ 19193, 14903, 348,
+ 19193, 14903, 382,
+ 19193, 14903, 414,
+ 19193, 14903, 446,
+ 19193, 14903, 520,
+ 19193, 14903, 570,
+ 19193, 14903, 586,
+ 19193, 14903, 620,
+ 19193, 14903, 674,
+ 19193, 14903, 678,
+ 19193, 14903, 732,
+ 19193, 14903, 902,
+ 19193, 14903, 930,
+ 19193, 14903, 1040,
+ 19193, 14903, 1138,
+ 19193, 14903, 1160,
+ 19193, 14903, 1476,
+ 19193, 14903, 1486,
+ 19193, 14903, 1786,
+ 19193, 14903, 1802,
+ 19193, 14903, 1904,
+ 19193, 14903, 2432,
+ 19193, 14903, 2480,
+ 19193, 14903, 2544,
+ 19193, 14903, 2660,
+ 19193, 14903, 2938,
+ 19193, 14903, 3030,
+ 19193, 14903, 3222,
+ 19193, 14903, 3302,
+ 19193, 14903, 6278,
+ 19193, 14903, 6286,
+ 19193, 14903, 10218,
+ 19209, 857, 21057, 11428,
+ 19213, 3273, 15421, 13965, 11428,
+ 19213, 3337, 14729, 11428,
+ 19213, 10575, 11428,
+ 19213, 11428,
+ 19213, 11429, 633, 894,
+ 19213, 11429, 633, 895, 9131, 20163, 11429, 633, 894,
+ 19213, 11429, 633, 11521, 16128,
+ 19213, 11429, 6749, 894,
+ 19213, 11429, 6749, 895, 633, 11521, 16128,
+ 19213, 11429, 9131, 20163, 11428,
+ 19213, 11429, 10595, 3245, 17318,
+ 19213, 11429, 10595, 3245, 19028,
+ 19213, 11429, 10595, 7256,
+ 19213, 11429, 10595, 7850,
+ 19213, 11429, 10595, 9243, 11502,
+ 19213, 11429, 10595, 10046,
+ 19213, 11429, 10595, 10047, 10595, 14533, 18669, 15534,
+ 19213, 11429, 10595, 10047, 10595, 18669, 15534,
+ 19213, 11429, 10595, 12473, 18597, 18728,
+ 19213, 11429, 10595, 13483, 18597, 18728,
+ 19213, 11429, 10595, 13483, 20467, 18728,
+ 19213, 11429, 10595, 14531, 9906,
+ 19213, 11429, 10595, 14533, 18669, 15534,
+ 19213, 11429, 10595, 14997, 18597, 18728,
+ 19213, 11429, 10595, 15534,
+ 19213, 11429, 10595, 16761, 10046,
+ 19213, 11429, 10595, 18669, 15534,
+ 19213, 11429, 10595, 20467, 18728,
+ 19213, 11429, 11347, 13431, 20163, 11428,
+ 19213, 11429, 11347, 13677, 18214,
+ 19213, 11429, 11347, 14197, 11943, 632,
+ 19213, 11429, 11347, 16991, 13677, 18214,
+ 19213, 11429, 11347, 16991, 14197, 11943, 632,
+ 19213, 11429, 17231, 46,
+ 19213, 11429, 17231, 15542,
+ 19213, 11429, 17231, 19214,
+ 19213, 11521, 11428,
+ 19213, 11521, 16035, 13965, 11428,
+ 19213, 12213, 11428,
+ 19213, 12213, 19727, 11428,
+ 19213, 13965, 11428,
+ 19213, 13965, 11429, 15787, 18597, 18728,
+ 19213, 14463, 11428,
+ 19213, 14533, 6259, 11428,
+ 19213, 14533, 11428,
+ 19213, 14533, 11429, 6749, 894,
+ 19213, 14533, 11429, 10595, 15534,
+ 19213, 14533, 11429, 10595, 18669, 15534,
+ 19213, 14533, 19684,
+ 19213, 15189, 14226,
+ 19213, 15352,
+ 19213, 15671, 6259, 11428,
+ 19213, 15671, 11428,
+ 19213, 16357, 9131, 20163, 16356,
+ 19213, 16357, 10595, 5713, 669, 633, 894,
+ 19213, 16357, 10595, 5713, 669, 6749, 894,
+ 19213, 16357, 10595, 5713, 669, 11347, 7845, 6258,
+ 19213, 16357, 10595, 5713, 669, 11347, 19213, 16357, 10595, 5713, 6406,
+ 19213, 16357, 10595, 5713, 669, 11347, 20163, 16357, 10595, 5713, 668,
+ 19213, 16357, 10595, 5713, 6407, 633, 894,
+ 19213, 16357, 10595, 5713, 6407, 6749, 894,
+ 19213, 16357, 10595, 5713, 6407, 11347, 20163, 16357, 10595, 5713, 6406,
+ 19213, 16357, 10595, 5713, 6407, 11503, 7845, 6258,
+ 19213, 16357, 10595, 5713, 17318,
+ 19213, 16357, 10595, 5713, 19028,
+ 19213, 17139, 11428,
+ 19213, 18457, 11428,
+ 19213, 18597, 18728,
+ 19213, 19355, 11428,
+ 19213, 19684,
+ 19213, 19727, 11428,
+ 19213, 20165, 11428,
+ 19213, 20285, 11429, 6749, 894,
+ 19213, 20285, 11429, 10595, 10046,
+ 19213, 20285, 11429, 10595, 10047, 10595, 14533, 18669, 15534,
+ 19213, 20285, 11429, 10595, 10047, 10595, 18669, 15534,
+ 19213, 20285, 11429, 10595, 14533, 18669, 15534,
+ 19213, 20285, 11429, 10595, 18597, 19686,
+ 19213, 20285, 11429, 10595, 18669, 15534,
+ 19213, 20285, 15671, 6259, 11428,
+ 19213, 20329, 18407, 13965, 11428,
+ 19213, 20471, 11428,
+ 19213, 20553, 13965, 11428,
+ 19213, 20613, 11428,
+ 19213, 20869, 18407, 13965, 11428,
+ 19213, 20979, 13965, 11428,
+ 19213, 21065, 13965, 11428,
+ 19213, 21571, 11428,
+ 19213, 21571, 11429, 633, 894,
+ 19213, 21571, 11429, 9131, 20163, 21571, 11428,
+ 19213, 21571, 11429, 10595, 5825, 13382,
+ 19213, 21571, 11429, 10595, 7845, 3245, 17318,
+ 19213, 21571, 11429, 10595, 7845, 3245, 19028,
+ 19213, 21571, 11429, 10595, 10487, 12213, 13382,
+ 19213, 21571, 11429, 10595, 12213, 13382,
+ 19213, 21571, 11429, 10595, 14533, 18669, 15534,
+ 19213, 21571, 11429, 10595, 14533, 19973, 15534,
+ 19213, 21571, 11429, 10595, 14997, 13382,
+ 19213, 21571, 11429, 10595, 15055, 13382,
+ 19213, 21571, 14463, 11428,
+ 19213, 21571, 15189, 14226,
+ 19215, 503, 11943, 632,
+ 19215, 503, 17101, 11943, 632,
+ 19215, 503, 17101, 11943, 633, 10595, 1213, 11346,
+ 19215, 503, 17101, 11943, 633, 10595, 1213, 11347, 13270,
+ 19215, 503, 17101, 11943, 633, 10595, 1213, 14778,
+ 19215, 503, 19919, 632,
+ 19215, 503, 20320,
+ 19215, 503, 20876,
+ 19215, 841, 2499, 20320,
+ 19215, 841, 20699, 2499, 11943, 632,
+ 19215, 983, 2499, 11943, 632,
+ 19215, 983, 2499, 19919, 632,
+ 19215, 9131, 11943, 632,
+ 19215, 9808,
+ 19215, 10595, 1212,
+ 19215, 10595, 14397, 14778,
+ 19215, 10595, 18335, 8283, 11346,
+ 19215, 11347, 17087, 503, 11942,
+ 19215, 11347, 17087, 11347, 20876,
+ 19215, 11347, 17101, 11943, 11347, 20877, 11347, 17101, 11942,
+ 19215, 11347, 19213, 11428,
+ 19215, 11347, 20455, 11943, 11347, 20876,
+ 19215, 11347, 20877, 11347, 20455, 11942,
+ 19215, 11943, 633, 503, 20876,
+ 19215, 14407, 123, 11728,
+ 19215, 14407, 123, 11729, 11347, 17101, 11942,
+ 19220,
+ 19221, 8416,
+ 19221, 8417, 14326,
+ 19231, 95, 14897, 8282,
+ 19231, 6263, 8282,
+ 19231, 9809, 15756,
+ 19231, 9809, 17342,
+ 19231, 9809, 17466,
+ 19231, 9809, 17506,
+ 19231, 9809, 20336,
+ 19231, 11849, 2596,
+ 19231, 11849, 3056,
+ 19231, 11849, 3336,
+ 19231, 11849, 6720,
+ 19231, 11849, 6742,
+ 19231, 11849, 8736,
+ 19231, 11849, 10854,
+ 19231, 11849, 11916,
+ 19231, 11849, 13376,
+ 19231, 11849, 13654,
+ 19231, 13921, 9809, 8,
+ 19231, 13921, 9809, 16,
+ 19231, 13921, 9809, 28,
+ 19231, 13921, 9809, 40,
+ 19231, 13921, 9809, 58,
+ 19231, 13921, 9809, 72,
+ 19231, 13921, 9809, 94,
+ 19231, 13921, 9809, 184,
+ 19231, 13921, 9809, 306,
+ 19231, 13921, 9809, 496,
+ 19231, 13921, 9809, 674,
+ 19231, 13921, 9809, 17349, 22,
+ 19231, 13921, 9809, 17349, 34,
+ 19231, 13921, 9809, 17349, 394,
+ 19231, 13921, 9809, 17349, 580,
+ 19231, 14903, 0,
+ 19231, 14903, 8,
+ 19231, 14903, 16,
+ 19231, 14903, 28,
+ 19231, 14903, 40,
+ 19231, 14903, 58,
+ 19231, 14903, 72,
+ 19231, 14903, 94,
+ 19231, 14903, 106,
+ 19231, 14903, 124,
+ 19231, 14903, 148,
+ 19231, 14903, 184,
+ 19231, 14903, 244,
+ 19231, 14903, 266,
+ 19231, 14903, 306,
+ 19231, 14903, 334,
+ 19231, 14903, 348,
+ 19231, 14903, 382,
+ 19231, 14903, 414,
+ 19231, 14903, 446,
+ 19231, 14903, 496,
+ 19231, 14903, 520,
+ 19231, 14903, 570,
+ 19231, 14903, 586,
+ 19231, 14903, 620,
+ 19231, 14903, 674,
+ 19231, 14903, 678,
+ 19231, 14903, 732,
+ 19231, 14903, 930,
+ 19231, 14903, 1040,
+ 19231, 14903, 1138,
+ 19231, 14903, 1160,
+ 19231, 14903, 1213, 9438,
+ 19231, 14903, 1486,
+ 19231, 14903, 1786,
+ 19231, 14903, 1904,
+ 19231, 14903, 2142,
+ 19231, 14903, 2432,
+ 19231, 14903, 2480,
+ 19231, 14903, 2544,
+ 19231, 14903, 2660,
+ 19231, 14903, 2938,
+ 19231, 14903, 3030,
+ 19231, 14903, 3094,
+ 19231, 14903, 3222,
+ 19231, 14903, 3302,
+ 19231, 14903, 6286,
+ 19231, 14903, 7836,
+ 19231, 14903, 8798,
+ 19231, 14903, 10218,
+ 19231, 14903, 10238,
+ 19231, 14903, 14383, 20,
+ 19231, 14903, 14383, 22,
+ 19231, 14903, 14383, 26,
+ 19231, 14903, 14383, 394,
+ 19231, 14903, 14383, 464,
+ 19231, 14903, 14383, 580,
+ 19231, 14903, 15895, 306,
+ 19231, 14903, 17349, 22,
+ 19231, 14903, 17349, 34,
+ 19231, 14903, 17349, 394,
+ 19231, 14903, 17349, 580,
+ 19231, 15133, 2597, 16378,
+ 19231, 15133, 2597, 18566,
+ 19231, 15133, 3212,
+ 19231, 17927, 2597, 7086,
+ 19231, 17927, 2597, 16954,
+ 19231, 17927, 13655, 18332,
+ 19235, 16809, 19162,
+ 19251, 6743, 6402,
+ 19251, 6745, 19623, 18399, 2596,
+ 19251, 6745, 19623, 18399, 3336,
+ 19251, 6745, 19623, 18399, 13654,
+ 19251, 6757, 9910,
+ 19251, 9797, 18519, 17547, 14976,
+ 19251, 10171, 9845, 14760,
+ 19251, 11516,
+ 19251, 11702,
+ 19251, 11708,
+ 19251, 11849, 2596,
+ 19251, 11849, 3056,
+ 19251, 11849, 3336,
+ 19251, 11849, 6720,
+ 19251, 11849, 6742,
+ 19251, 11849, 8736,
+ 19251, 11849, 10854,
+ 19251, 11849, 11916,
+ 19251, 11849, 13376,
+ 19251, 11849, 13654,
+ 19251, 13921, 19420,
+ 19251, 14903, 0,
+ 19251, 14903, 8,
+ 19251, 14903, 16,
+ 19251, 14903, 28,
+ 19251, 14903, 40,
+ 19251, 14903, 106,
+ 19251, 14903, 148,
+ 19251, 14903, 184,
+ 19251, 14903, 224,
+ 19251, 14903, 244,
+ 19251, 14903, 334,
+ 19251, 14903, 348,
+ 19251, 14903, 382,
+ 19251, 14903, 414,
+ 19251, 14903, 446,
+ 19251, 14903, 480,
+ 19251, 14903, 520,
+ 19251, 14903, 554,
+ 19251, 14903, 570,
+ 19251, 14903, 586,
+ 19251, 14903, 620,
+ 19251, 14903, 654,
+ 19251, 14903, 692,
+ 19251, 14903, 732,
+ 19251, 14903, 750,
+ 19251, 14903, 831, 6885, 0,
+ 19251, 14903, 831, 6885, 16,
+ 19251, 14903, 831, 6885, 70,
+ 19251, 14903, 831, 6885, 124,
+ 19251, 14903, 831, 6885, 148,
+ 19251, 14903, 831, 6885, 348,
+ 19251, 14903, 831, 6885, 520,
+ 19251, 14903, 831, 6885, 620,
+ 19251, 14903, 831, 6885, 750,
+ 19251, 14903, 831, 6885, 1138,
+ 19251, 14903, 831, 6885, 2432,
+ 19251, 14903, 831, 6885, 2480,
+ 19251, 14903, 831, 6885, 2660,
+ 19251, 14903, 831, 6885, 3094,
+ 19251, 14903, 831, 6885, 3302,
+ 19251, 14903, 831, 6885, 3786,
+ 19251, 14903, 831, 6885, 7087, 40,
+ 19251, 14903, 831, 6885, 7087, 732,
+ 19251, 14903, 831, 6885, 10218,
+ 19251, 14903, 831, 6885, 13655, 14258,
+ 19251, 14903, 831, 6885, 14258,
+ 19251, 14903, 831, 6885, 14456,
+ 19251, 14903, 831, 6885, 16100,
+ 19251, 14903, 831, 6885, 17304,
+ 19251, 14903, 831, 6885, 17343, 2596,
+ 19251, 14903, 831, 6885, 17467, 2596,
+ 19251, 14903, 831, 6885, 18017, 17304,
+ 19251, 14903, 842,
+ 19251, 14903, 1040,
+ 19251, 14903, 1044,
+ 19251, 14903, 1572,
+ 19251, 14903, 1904,
+ 19251, 14903, 2112,
+ 19251, 14903, 3030,
+ 19251, 14903, 3288,
+ 19251, 14903, 3790,
+ 19251, 14903, 3826,
+ 19251, 14903, 9797, 8,
+ 19251, 14903, 9797, 16,
+ 19251, 14903, 9797, 40,
+ 19251, 14903, 9797, 148,
+ 19251, 14903, 9797, 224,
+ 19251, 14903, 9797, 244,
+ 19251, 14903, 9797, 266,
+ 19251, 14903, 9797, 332,
+ 19251, 14903, 9797, 334,
+ 19251, 14903, 9797, 348,
+ 19251, 14903, 9797, 520,
+ 19251, 14903, 9797, 620,
+ 19251, 14903, 9797, 654,
+ 19251, 14903, 9797, 750,
+ 19251, 14903, 9797, 842,
+ 19251, 14903, 9797, 1040,
+ 19251, 14903, 9797, 1424,
+ 19251, 14903, 9797, 1572,
+ 19251, 14903, 9797, 2848,
+ 19251, 14903, 9797, 3030,
+ 19251, 14903, 9797, 3288,
+ 19251, 14903, 9797, 3786,
+ 19251, 14903, 10171, 8,
+ 19251, 14903, 10171, 16,
+ 19251, 14903, 10171, 28,
+ 19251, 14903, 10171, 40,
+ 19251, 14903, 10171, 106,
+ 19251, 14903, 10171, 148,
+ 19251, 14903, 10171, 244,
+ 19251, 14903, 10171, 334,
+ 19251, 14903, 10171, 348,
+ 19251, 14903, 10171, 414,
+ 19251, 14903, 10171, 480,
+ 19251, 14903, 10171, 520,
+ 19251, 14903, 10171, 554,
+ 19251, 14903, 10171, 620,
+ 19251, 14903, 10171, 654,
+ 19251, 14903, 10171, 692,
+ 19251, 14903, 10171, 732,
+ 19251, 14903, 10171, 831, 6885, 620,
+ 19251, 14903, 10171, 831, 6885, 3786,
+ 19251, 14903, 10171, 842,
+ 19251, 14903, 10171, 1040,
+ 19251, 14903, 10171, 1250,
+ 19251, 14903, 10171, 1424,
+ 19251, 14903, 10171, 1572,
+ 19251, 14903, 10171, 1790,
+ 19251, 14903, 10171, 2448,
+ 19251, 14903, 10171, 3288,
+ 19251, 14903, 10171, 7845, 13921, 9808,
+ 19251, 14903, 14965, 16,
+ 19251, 14903, 14965, 224,
+ 19251, 14903, 14965, 348,
+ 19251, 14903, 14965, 570,
+ 19251, 14903, 14965, 831, 6885, 124,
+ 19251, 14903, 14965, 831, 6885, 620,
+ 19251, 14903, 14965, 831, 6885, 750,
+ 19251, 14903, 14965, 831, 6885, 930,
+ 19251, 14903, 14965, 831, 6885, 1104,
+ 19251, 14903, 14965, 831, 6885, 1160,
+ 19251, 14903, 14965, 831, 6885, 1486,
+ 19251, 14903, 14965, 831, 6885, 1786,
+ 19251, 14903, 14965, 831, 6885, 2112,
+ 19251, 14903, 14965, 831, 6885, 2432,
+ 19251, 14903, 14965, 831, 6885, 3094,
+ 19251, 14903, 14965, 831, 6885, 3302,
+ 19251, 14903, 14965, 831, 6885, 3786,
+ 19251, 14903, 14965, 831, 6885, 6286,
+ 19251, 14903, 14965, 3786,
+ 19251, 14965, 6757, 9910,
+ 19251, 14965, 11708,
+ 19251, 15096,
+ 19251, 17860,
+ 19265, 14903, 268,
+ 19265, 14903, 526,
+ 19265, 14903, 2268,
+ 19265, 14903, 2524,
+ 19265, 14903, 3200,
+ 19265, 14903, 3508,
+ 19265, 14903, 5284,
+ 19265, 14903, 5790,
+ 19265, 14903, 7120,
+ 19265, 14903, 7558,
+ 19265, 14903, 9326,
+ 19265, 14903, 9440,
+ 19265, 14903, 9730,
+ 19265, 14903, 10080,
+ 19265, 14903, 10764,
+ 19265, 14903, 11376,
+ 19265, 14903, 12023, 268,
+ 19265, 14903, 12023, 2268,
+ 19265, 14903, 12023, 2524,
+ 19265, 14903, 12023, 5790,
+ 19265, 14903, 12023, 7558,
+ 19265, 14903, 12023, 9730,
+ 19265, 14903, 12023, 10764,
+ 19265, 14903, 12023, 11376,
+ 19265, 14903, 12023, 14882,
+ 19265, 14903, 12142,
+ 19265, 14903, 13330,
+ 19265, 14903, 14112,
+ 19265, 14903, 14454,
+ 19265, 14903, 14882,
+ 19265, 14903, 15370,
+ 19265, 15133, 2596,
+ 19265, 15133, 2597, 16378,
+ 19265, 15133, 3212,
+ 19265, 15133, 3336,
+ 19265, 15133, 6720,
+ 19265, 15133, 6742,
+ 19265, 15133, 13654,
+ 19265, 15133, 15708,
+ 19265, 18847, 15133, 6742,
+ 19270,
+ 19290,
+ 19301, 14903, 268,
+ 19301, 14903, 526,
+ 19301, 14903, 2268,
+ 19301, 14903, 2524,
+ 19301, 14903, 3200,
+ 19301, 14903, 3508,
+ 19301, 14903, 5284,
+ 19301, 14903, 5790,
+ 19301, 14903, 7120,
+ 19301, 14903, 7558,
+ 19301, 14903, 9326,
+ 19301, 14903, 9440,
+ 19301, 14903, 9730,
+ 19301, 14903, 10080,
+ 19301, 14903, 10764,
+ 19301, 14903, 11376,
+ 19301, 14903, 12023, 2524,
+ 19301, 14903, 12142,
+ 19301, 14903, 13330,
+ 19301, 14903, 14112,
+ 19301, 14903, 14454,
+ 19301, 14903, 14882,
+ 19301, 14903, 15370,
+ 19301, 15133, 2596,
+ 19301, 15133, 3212,
+ 19301, 15133, 3336,
+ 19301, 15133, 6720,
+ 19301, 15133, 6742,
+ 19301, 15133, 13654,
+ 19301, 15133, 15708,
+ 19301, 21135, 16288,
+ 19301, 21387, 16288,
+ 19312,
+ 19315, 19420,
+ 19317, 9732,
+ 19318,
+ 19325, 13115, 9808,
+ 19328,
+ 19330,
+ 19331, 10595, 3207, 3272,
+ 19355, 13192,
+ 19355, 18011, 18214,
+ 19359, 8282,
+ 19371, 15565, 1391, 15715, 18290,
+ 19371, 15565, 1391, 15717, 18290,
+ 19371, 15565, 1391, 15719, 18290,
+ 19371, 15565, 1391, 15721, 18290,
+ 19371, 15565, 1391, 15723, 18290,
+ 19371, 15565, 1391, 15725, 18290,
+ 19371, 15565, 1391, 15727, 18290,
+ 19371, 15565, 1391, 16313, 19236,
+ 19373, 8282,
+ 19391, 14730,
+ 19393, 18015, 16942,
+ 19395, 19270,
+ 19401, 8283, 314,
+ 19401, 8283, 14448,
+ 19401, 8283, 16396,
+ 19401, 8283, 16722,
+ 19401, 8283, 19286,
+ 19401, 8283, 19913, 3734,
+ 19401, 13921, 9809, 0,
+ 19401, 13921, 9809, 8,
+ 19401, 13921, 9809, 16,
+ 19401, 13921, 9809, 28,
+ 19401, 13921, 9809, 40,
+ 19401, 13921, 9809, 58,
+ 19401, 13921, 9809, 7845, 0,
+ 19401, 13921, 9809, 7845, 8,
+ 19401, 13921, 9809, 7845, 16,
+ 19401, 13921, 9809, 7845, 40,
+ 19401, 13921, 9809, 7845, 58,
+ 19401, 13921, 9809, 13431, 0,
+ 19401, 13921, 9809, 13560,
+ 19401, 13921, 9809, 18231, 0,
+ 19401, 13921, 9809, 18231, 58,
+ 19401, 14903, 230,
+ 19401, 14903, 314,
+ 19401, 14903, 326,
+ 19401, 14903, 332,
+ 19401, 14903, 880,
+ 19401, 14903, 948,
+ 19401, 14903, 2300,
+ 19401, 14903, 2524,
+ 19401, 14903, 2800,
+ 19401, 14903, 3248,
+ 19401, 14903, 3734,
+ 19401, 14903, 3780,
+ 19401, 14903, 5216,
+ 19401, 14903, 7522,
+ 19401, 14903, 9460,
+ 19401, 14903, 9700,
+ 19401, 14903, 10030,
+ 19401, 14903, 11790,
+ 19401, 14903, 12090,
+ 19401, 14903, 12450,
+ 19401, 14903, 17088,
+ 19401, 14903, 17288,
+ 19401, 18147, 14903, 16,
+ 19401, 18147, 14903, 13431, 0,
+ 19401, 18147, 14903, 19913, 3734,
+ 19401, 20659, 898,
+ 19401, 20659, 3069, 18116,
+ 19401, 20659, 10252,
+ 19401, 20659, 10842,
+ 19401, 20659, 11392,
+ 19401, 20659, 13216,
+ 19401, 20659, 14128,
+ 19401, 20659, 14186,
+ 19401, 20659, 14206,
+ 19401, 20659, 14242,
+ 19401, 20659, 15896,
+ 19401, 20659, 16671, 13216,
+ 19401, 20659, 16722,
+ 19401, 20659, 20184,
+ 19401, 20771, 8282,
+ 19402,
+ 19403, 15878,
+ 19406,
+ 19416,
+ 19432,
+ 19437, 14645, 669, 9908,
+ 19437, 14645, 6407, 9908,
+ 19437, 14645, 14903, 16818,
+ 19437, 14645, 19737, 16818,
+ 19440,
+ 19442,
+ 19445, 12210,
+ 19446,
+ 19449, 11398,
+ 19449, 11399, 16805, 668,
+ 19449, 11399, 16805, 7778,
+ 19451, 13573, 15564,
+ 19456,
+ 19475, 2596,
+ 19475, 3056,
+ 19475, 3336,
+ 19475, 6720,
+ 19475, 6742,
+ 19475, 7779, 20628,
+ 19475, 8736,
+ 19475, 9243, 9808,
+ 19475, 10854,
+ 19475, 11916,
+ 19475, 12674,
+ 19475, 13271, 20628,
+ 19475, 13376,
+ 19475, 13654,
+ 19475, 14555, 9808,
+ 19477, 3272,
+ 19477, 10595, 18010,
+ 19477, 14306,
+ 19479, 9809, 15756,
+ 19479, 9809, 16836,
+ 19479, 9809, 18254,
+ 19479, 9809, 19306,
+ 19479, 9809, 19308,
+ 19479, 11849, 2596,
+ 19479, 11849, 3056,
+ 19479, 11849, 3336,
+ 19479, 11849, 6720,
+ 19479, 11849, 6742,
+ 19479, 11849, 8736,
+ 19479, 11849, 10854,
+ 19479, 11849, 11916,
+ 19479, 11849, 13376,
+ 19479, 11849, 13654,
+ 19479, 13921, 9809, 16838,
+ 19479, 13921, 9809, 16850,
+ 19479, 13921, 9809, 18244,
+ 19479, 13921, 9809, 18250,
+ 19479, 13921, 9809, 20092,
+ 19479, 13921, 9809, 20094,
+ 19479, 14903, 0,
+ 19479, 14903, 8,
+ 19479, 14903, 16,
+ 19479, 14903, 28,
+ 19479, 14903, 40,
+ 19479, 14903, 66,
+ 19479, 14903, 106,
+ 19479, 14903, 124,
+ 19479, 14903, 148,
+ 19479, 14903, 214,
+ 19479, 14903, 224,
+ 19479, 14903, 244,
+ 19479, 14903, 266,
+ 19479, 14903, 334,
+ 19479, 14903, 348,
+ 19479, 14903, 382,
+ 19479, 14903, 414,
+ 19479, 14903, 446,
+ 19479, 14903, 520,
+ 19479, 14903, 554,
+ 19479, 14903, 570,
+ 19479, 14903, 586,
+ 19479, 14903, 620,
+ 19479, 14903, 678,
+ 19479, 14903, 692,
+ 19479, 14903, 716,
+ 19479, 14903, 732,
+ 19479, 14903, 750,
+ 19479, 14903, 930,
+ 19479, 14903, 1904,
+ 19479, 14903, 2108,
+ 19479, 14903, 2432,
+ 19479, 14903, 2544,
+ 19479, 14903, 2890,
+ 19479, 14903, 3142,
+ 19479, 14903, 12023, 20,
+ 19479, 14903, 12023, 24,
+ 19479, 17506,
+ 19479, 18831, 9809, 16848,
+ 19479, 18831, 9809, 18252,
+ 19479, 18831, 9809, 18263, 414,
+ 19479, 18831, 9809, 18263, 692,
+ 19479, 18831, 9809, 19302,
+ 19479, 20659, 11515, 107, 17028,
+ 19479, 20659, 11515, 149, 17028,
+ 19479, 20659, 11515, 349, 17028,
+ 19479, 20659, 11515, 2109, 17028,
+ 19479, 20659, 11515, 11588,
+ 19479, 20659, 11515, 13564,
+ 19479, 20659, 11515, 16948,
+ 19479, 20659, 11515, 18246,
+ 19480,
+ 19562,
+ 19570,
+ 19575, 495, 3273, 483, 12684,
+ 19575, 9808,
+ 19575, 18083, 9808,
+ 19575, 18338,
+ 19575, 18339, 10595, 9162,
+ 19575, 18340,
+ 19576,
+ 19579, 1391, 495, 3225, 13902,
+ 19579, 1391, 1824,
+ 19579, 1391, 2083, 503, 12682,
+ 19579, 1391, 5825, 20150,
+ 19579, 1391, 6528,
+ 19579, 1391, 6757, 14396,
+ 19579, 1391, 11870,
+ 19579, 1391, 12157, 633, 8320,
+ 19579, 1391, 12328,
+ 19579, 1391, 12676,
+ 19579, 1391, 13254,
+ 19579, 1391, 13550,
+ 19579, 1391, 13804,
+ 19579, 1391, 13946,
+ 19579, 1391, 14236,
+ 19579, 1391, 14364,
+ 19579, 1391, 14374,
+ 19579, 1391, 14407, 12698,
+ 19579, 1391, 14538,
+ 19579, 1391, 14626,
+ 19579, 1391, 14892,
+ 19579, 1391, 15300,
+ 19579, 1391, 15348,
+ 19579, 1391, 15848,
+ 19579, 1391, 15924,
+ 19579, 1391, 16044,
+ 19579, 1391, 16056,
+ 19579, 1391, 16138,
+ 19579, 1391, 16266,
+ 19579, 1391, 16373, 5692,
+ 19579, 1391, 16441, 13482,
+ 19579, 1391, 16456,
+ 19579, 1391, 16652,
+ 19579, 1391, 16662,
+ 19579, 1391, 16824,
+ 19579, 1391, 16858,
+ 19579, 1391, 16984,
+ 19579, 1391, 17092,
+ 19579, 1391, 17358,
+ 19579, 1391, 17876,
+ 19579, 1391, 17934,
+ 19579, 1391, 17962,
+ 19579, 1391, 18002,
+ 19579, 1391, 18362,
+ 19579, 1391, 18470,
+ 19579, 1391, 18482,
+ 19579, 1391, 18665, 503, 17362,
+ 19579, 1391, 18773, 2618,
+ 19579, 1391, 18814,
+ 19579, 1391, 18832,
+ 19579, 1391, 18854,
+ 19579, 1391, 18868,
+ 19579, 1391, 19044,
+ 19579, 1391, 19080,
+ 19579, 1391, 19084,
+ 19579, 1391, 19094,
+ 19579, 1391, 19095, 314,
+ 19579, 1391, 19110,
+ 19579, 1391, 19202,
+ 19579, 1391, 19384,
+ 19579, 1391, 19426,
+ 19579, 1391, 19722,
+ 19579, 1391, 19724,
+ 19579, 1391, 19734,
+ 19579, 1391, 19778,
+ 19579, 1391, 19904,
+ 19579, 1391, 19922,
+ 19579, 1391, 20082,
+ 19579, 1391, 20148,
+ 19579, 1391, 20308,
+ 19579, 1391, 20360,
+ 19579, 1391, 20460,
+ 19579, 1391, 20488,
+ 19579, 1391, 20634,
+ 19579, 1391, 20772,
+ 19579, 1391, 20826,
+ 19579, 1391, 20830,
+ 19579, 1391, 20832,
+ 19579, 1391, 21050,
+ 19579, 1391, 21081, 503, 19776,
+ 19579, 1391, 21096,
+ 19584,
+ 19590,
+ 19619, 19371, 15564,
+ 19621, 20631, 15564,
+ 19627, 8410,
+ 19659, 15565, 1391, 826,
+ 19659, 15565, 1391, 1542,
+ 19659, 15565, 1391, 2590,
+ 19659, 15565, 1391, 2695, 11432,
+ 19659, 15565, 1391, 3243, 2612,
+ 19659, 15565, 1391, 3510,
+ 19659, 15565, 1391, 5232,
+ 19659, 15565, 1391, 5255, 13256,
+ 19659, 15565, 1391, 5255, 13916,
+ 19659, 15565, 1391, 5255, 16978,
+ 19659, 15565, 1391, 5255, 17344,
+ 19659, 15565, 1391, 5721, 483, 8284,
+ 19659, 15565, 1391, 5721, 483, 17324,
+ 19659, 15565, 1391, 5936,
+ 19659, 15565, 1391, 6710,
+ 19659, 15565, 1391, 7012,
+ 19659, 15565, 1391, 7087, 6408,
+ 19659, 15565, 1391, 7087, 13092,
+ 19659, 15565, 1391, 7274,
+ 19659, 15565, 1391, 7405, 2612,
+ 19659, 15565, 1391, 7405, 13084,
+ 19659, 15565, 1391, 7773, 2612,
+ 19659, 15565, 1391, 9469, 9648,
+ 19659, 15565, 1391, 9469, 15368,
+ 19659, 15565, 1391, 9648,
+ 19659, 15565, 1391, 9649, 483, 14425, 20316,
+ 19659, 15565, 1391, 9649, 483, 17462,
+ 19659, 15565, 1391, 9842,
+ 19659, 15565, 1391, 11432,
+ 19659, 15565, 1391, 11521, 15546,
+ 19659, 15565, 1391, 11540,
+ 19659, 15565, 1391, 11548,
+ 19659, 15565, 1391, 11597, 16698,
+ 19659, 15565, 1391, 11910,
+ 19659, 15565, 1391, 12267, 6420,
+ 19659, 15565, 1391, 12688,
+ 19659, 15565, 1391, 12822,
+ 19659, 15565, 1391, 12828,
+ 19659, 15565, 1391, 13221, 7814,
+ 19659, 15565, 1391, 13774,
+ 19659, 15565, 1391, 13808,
+ 19659, 15565, 1391, 13948,
+ 19659, 15565, 1391, 14194,
+ 19659, 15565, 1391, 14425, 2612,
+ 19659, 15565, 1391, 14425, 20316,
+ 19659, 15565, 1391, 14439, 483, 7404,
+ 19659, 15565, 1391, 14439, 483, 14424,
+ 19659, 15565, 1391, 14439, 483, 17636,
+ 19659, 15565, 1391, 15280,
+ 19659, 15565, 1391, 15298,
+ 19659, 15565, 1391, 15332,
+ 19659, 15565, 1391, 15460,
+ 19659, 15565, 1391, 15498,
+ 19659, 15565, 1391, 15546,
+ 19659, 15565, 1391, 15586,
+ 19659, 15565, 1391, 15864,
+ 19659, 15565, 1391, 15870,
+ 19659, 15565, 1391, 15900,
+ 19659, 15565, 1391, 15953, 2612,
+ 19659, 15565, 1391, 15962,
+ 19659, 15565, 1391, 15964,
+ 19659, 15565, 1391, 16146,
+ 19659, 15565, 1391, 16675, 19470,
+ 19659, 15565, 1391, 16675, 20712,
+ 19659, 15565, 1391, 16675, 20714,
+ 19659, 15565, 1391, 16976,
+ 19659, 15565, 1391, 16980,
+ 19659, 15565, 1391, 16981, 483, 7404,
+ 19659, 15565, 1391, 16981, 483, 17462,
+ 19659, 15565, 1391, 16981, 483, 19668,
+ 19659, 15565, 1391, 17037, 483, 7486,
+ 19659, 15565, 1391, 17149, 17258,
+ 19659, 15565, 1391, 17163, 13563, 17162,
+ 19659, 15565, 1391, 17163, 13563, 19458,
+ 19659, 15565, 1391, 17258,
+ 19659, 15565, 1391, 17340,
+ 19659, 15565, 1391, 17341, 483, 17462,
+ 19659, 15565, 1391, 17346,
+ 19659, 15565, 1391, 17450,
+ 19659, 15565, 1391, 17463, 2612,
+ 19659, 15565, 1391, 17564,
+ 19659, 15565, 1391, 17602,
+ 19659, 15565, 1391, 17646,
+ 19659, 15565, 1391, 17706,
+ 19659, 15565, 1391, 18305, 11548,
+ 19659, 15565, 1391, 18546,
+ 19659, 15565, 1391, 18576,
+ 19659, 15565, 1391, 18856,
+ 19659, 15565, 1391, 19222,
+ 19659, 15565, 1391, 19232,
+ 19659, 15565, 1391, 19362,
+ 19659, 15565, 1391, 19374,
+ 19659, 15565, 1391, 19376,
+ 19659, 15565, 1391, 19378,
+ 19659, 15565, 1391, 19471, 483, 9649, 483, 14424,
+ 19659, 15565, 1391, 19471, 483, 9649, 483, 17462,
+ 19659, 15565, 1391, 19471, 483, 14424,
+ 19659, 15565, 1391, 19471, 483, 17462,
+ 19659, 15565, 1391, 19624,
+ 19659, 15565, 1391, 19628,
+ 19659, 15565, 1391, 19630,
+ 19659, 15565, 1391, 19634,
+ 19659, 15565, 1391, 19680,
+ 19659, 15565, 1391, 19746,
+ 19659, 15565, 1391, 19748,
+ 19659, 15565, 1391, 19750,
+ 19659, 15565, 1391, 19752,
+ 19659, 15565, 1391, 19774,
+ 19659, 15565, 1391, 20326,
+ 19659, 15565, 1391, 20539, 2612,
+ 19659, 15565, 1391, 20656,
+ 19659, 15565, 1391, 20716,
+ 19659, 15565, 1391, 20949, 15546,
+ 19659, 15565, 1391, 20962,
+ 19659, 15565, 1391, 20966,
+ 19659, 15565, 1391, 20984,
+ 19676,
+ 19679, 3225, 12504,
+ 19693, 6682,
+ 19698,
+ 19703, 841, 7260,
+ 19713, 2163, 7816,
+ 19713, 18228,
+ 19717, 14178,
+ 19719, 92,
+ 19719, 12675, 9808,
+ 19720,
+ 19729, 6682,
+ 19739, 19617, 15564,
+ 19763, 13548,
+ 19765, 8802,
+ 19767, 492,
+ 19767, 1443, 14604,
+ 19767, 7425, 492,
+ 19767, 9809, 7135, 17123, 1212,
+ 19767, 9809, 12986,
+ 19767, 9809, 14533, 20337, 15756,
+ 19767, 9809, 15756,
+ 19767, 9809, 17082,
+ 19767, 9809, 17123, 20336,
+ 19767, 9809, 17342,
+ 19767, 9809, 17466,
+ 19767, 9809, 17506,
+ 19767, 9809, 18017, 20336,
+ 19767, 9809, 18324,
+ 19767, 9809, 20336,
+ 19767, 9809, 20337, 3336,
+ 19767, 9809, 20337, 13654,
+ 19767, 9809, 20337, 15756,
+ 19767, 9809, 20337, 17506,
+ 19767, 11349, 14178,
+ 19767, 11600,
+ 19767, 11798,
+ 19767, 11849, 2596,
+ 19767, 11849, 3056,
+ 19767, 11849, 3336,
+ 19767, 11849, 6720,
+ 19767, 11849, 6742,
+ 19767, 11849, 8736,
+ 19767, 11849, 10854,
+ 19767, 11849, 11916,
+ 19767, 11849, 13376,
+ 19767, 11849, 13654,
+ 19767, 12169, 14178,
+ 19767, 13921, 9809, 8,
+ 19767, 13921, 9809, 16,
+ 19767, 13921, 9809, 28,
+ 19767, 13921, 9809, 40,
+ 19767, 13921, 9809, 58,
+ 19767, 13921, 9809, 72,
+ 19767, 13921, 9809, 94,
+ 19767, 13921, 9809, 98,
+ 19767, 13921, 9809, 306,
+ 19767, 13921, 9809, 480,
+ 19767, 13921, 9809, 654,
+ 19767, 13921, 9809, 674,
+ 19767, 13921, 9809, 2604,
+ 19767, 13921, 9809, 3406,
+ 19767, 13921, 9809, 13431, 8,
+ 19767, 13921, 9809, 13431, 28,
+ 19767, 13921, 9809, 14347, 8,
+ 19767, 13921, 9809, 14347, 28,
+ 19767, 13921, 9809, 14347, 7845, 8,
+ 19767, 13921, 9809, 17349, 22,
+ 19767, 13921, 9809, 17349, 34,
+ 19767, 13921, 9809, 17349, 394,
+ 19767, 13921, 9809, 17349, 580,
+ 19767, 13921, 9809, 21179, 8,
+ 19767, 14533, 11798,
+ 19767, 14903, 0,
+ 19767, 14903, 8,
+ 19767, 14903, 16,
+ 19767, 14903, 28,
+ 19767, 14903, 40,
+ 19767, 14903, 58,
+ 19767, 14903, 72,
+ 19767, 14903, 94,
+ 19767, 14903, 98,
+ 19767, 14903, 106,
+ 19767, 14903, 124,
+ 19767, 14903, 148,
+ 19767, 14903, 224,
+ 19767, 14903, 244,
+ 19767, 14903, 266,
+ 19767, 14903, 306,
+ 19767, 14903, 334,
+ 19767, 14903, 348,
+ 19767, 14903, 382,
+ 19767, 14903, 414,
+ 19767, 14903, 446,
+ 19767, 14903, 480,
+ 19767, 14903, 520,
+ 19767, 14903, 554,
+ 19767, 14903, 570,
+ 19767, 14903, 586,
+ 19767, 14903, 620,
+ 19767, 14903, 654,
+ 19767, 14903, 674,
+ 19767, 14903, 678,
+ 19767, 14903, 732,
+ 19767, 14903, 750,
+ 19767, 14903, 902,
+ 19767, 14903, 930,
+ 19767, 14903, 1040,
+ 19767, 14903, 1138,
+ 19767, 14903, 1160,
+ 19767, 14903, 1476,
+ 19767, 14903, 1486,
+ 19767, 14903, 1786,
+ 19767, 14903, 1802,
+ 19767, 14903, 1904,
+ 19767, 14903, 2142,
+ 19767, 14903, 2432,
+ 19767, 14903, 2480,
+ 19767, 14903, 2544,
+ 19767, 14903, 2604,
+ 19767, 14903, 2660,
+ 19767, 14903, 2894,
+ 19767, 14903, 2938,
+ 19767, 14903, 3030,
+ 19767, 14903, 3094,
+ 19767, 14903, 3222,
+ 19767, 14903, 3302,
+ 19767, 14903, 3406,
+ 19767, 14903, 3746,
+ 19767, 14903, 3786,
+ 19767, 14903, 6278,
+ 19767, 14903, 6286,
+ 19767, 14903, 6982,
+ 19767, 14903, 7610,
+ 19767, 14903, 7836,
+ 19767, 14903, 8798,
+ 19767, 14903, 10218,
+ 19767, 14903, 11812,
+ 19767, 14903, 12213, 732,
+ 19767, 14903, 13431, 0,
+ 19767, 14903, 13431, 8,
+ 19767, 14903, 13431, 28,
+ 19767, 14903, 14347, 0,
+ 19767, 14903, 14347, 8,
+ 19767, 14903, 14347, 28,
+ 19767, 14903, 16327, 9910,
+ 19767, 14903, 16649, 1138,
+ 19767, 14903, 17349, 22,
+ 19767, 14903, 17349, 34,
+ 19767, 14903, 17349, 394,
+ 19767, 14903, 17349, 580,
+ 19767, 15527, 9809, 15728,
+ 19767, 15527, 9809, 17464,
+ 19767, 19958,
+ 19767, 20771, 9808,
+ 19769, 15946,
+ 19897, 20904,
+ 19919, 632,
+ 19919, 10595, 6743, 6403, 11346,
+ 19926,
+ 19938,
+ 19949, 13483, 14903, 16,
+ 19949, 13483, 14903, 526,
+ 19949, 13483, 14903, 740,
+ 19949, 13483, 14903, 744,
+ 19949, 13483, 14903, 878,
+ 19949, 13483, 14903, 945, 3732,
+ 19949, 13483, 14903, 2602,
+ 19949, 13483, 14903, 2616,
+ 19949, 13483, 14903, 3030,
+ 19949, 13483, 14903, 3292,
+ 19949, 13483, 14903, 3372,
+ 19949, 13483, 14903, 5844,
+ 19949, 13483, 14903, 6718,
+ 19949, 13483, 14903, 7116,
+ 19949, 13483, 14903, 7418,
+ 19949, 13483, 14903, 7546,
+ 19949, 13483, 14903, 9758,
+ 19949, 13483, 14903, 10480,
+ 19949, 13483, 14903, 10714,
+ 19949, 13483, 14903, 10732,
+ 19949, 13483, 14903, 10734,
+ 19949, 13483, 14903, 11864,
+ 19949, 13483, 14903, 11882,
+ 19949, 13483, 14903, 12056,
+ 19949, 13483, 14903, 12746,
+ 19949, 13483, 14903, 13274,
+ 19949, 13483, 14903, 13480,
+ 19949, 13483, 14903, 13483, 3732,
+ 19949, 13483, 14903, 13483, 3733, 10595, 10046,
+ 19949, 13483, 14903, 14034,
+ 19949, 13483, 14903, 14388,
+ 19949, 13483, 14903, 14502,
+ 19949, 13483, 14903, 15264,
+ 19949, 13483, 14903, 15704,
+ 19949, 13483, 14903, 15824,
+ 19949, 13483, 14903, 16324,
+ 19949, 13483, 14903, 16401, 7418,
+ 19949, 13483, 14903, 16409, 945, 3732,
+ 19949, 13483, 14903, 16409, 13483, 3732,
+ 19949, 13483, 14903, 16414,
+ 19949, 13483, 14903, 16600,
+ 19949, 13483, 14903, 16706,
+ 19949, 13483, 14903, 17078,
+ 19949, 13483, 14903, 17131, 266,
+ 19949, 13483, 14903, 17396,
+ 19949, 13483, 14903, 18059, 16706,
+ 19949, 13483, 14903, 20273, 0,
+ 19949, 15993, 14903, 16,
+ 19949, 15993, 14903, 526,
+ 19949, 15993, 14903, 740,
+ 19949, 15993, 14903, 744,
+ 19949, 15993, 14903, 878,
+ 19949, 15993, 14903, 945, 3732,
+ 19949, 15993, 14903, 2602,
+ 19949, 15993, 14903, 2616,
+ 19949, 15993, 14903, 3030,
+ 19949, 15993, 14903, 3292,
+ 19949, 15993, 14903, 3372,
+ 19949, 15993, 14903, 5844,
+ 19949, 15993, 14903, 6718,
+ 19949, 15993, 14903, 7116,
+ 19949, 15993, 14903, 7418,
+ 19949, 15993, 14903, 7546,
+ 19949, 15993, 14903, 9758,
+ 19949, 15993, 14903, 10480,
+ 19949, 15993, 14903, 10714,
+ 19949, 15993, 14903, 10732,
+ 19949, 15993, 14903, 10734,
+ 19949, 15993, 14903, 11864,
+ 19949, 15993, 14903, 11882,
+ 19949, 15993, 14903, 12056,
+ 19949, 15993, 14903, 12746,
+ 19949, 15993, 14903, 13274,
+ 19949, 15993, 14903, 13480,
+ 19949, 15993, 14903, 13483, 3732,
+ 19949, 15993, 14903, 13483, 3733, 10595, 10046,
+ 19949, 15993, 14903, 14034,
+ 19949, 15993, 14903, 14388,
+ 19949, 15993, 14903, 14502,
+ 19949, 15993, 14903, 15264,
+ 19949, 15993, 14903, 15704,
+ 19949, 15993, 14903, 15824,
+ 19949, 15993, 14903, 16324,
+ 19949, 15993, 14903, 16401, 7418,
+ 19949, 15993, 14903, 16409, 945, 3732,
+ 19949, 15993, 14903, 16409, 13483, 3732,
+ 19949, 15993, 14903, 16414,
+ 19949, 15993, 14903, 16600,
+ 19949, 15993, 14903, 16706,
+ 19949, 15993, 14903, 17078,
+ 19949, 15993, 14903, 17131, 266,
+ 19949, 15993, 14903, 17396,
+ 19949, 15993, 14903, 18059, 16706,
+ 19949, 15993, 14903, 20273, 0,
+ 19953, 1010,
+ 19960,
+ 19969, 13728,
+ 19969, 13729, 10595, 14331, 8806,
+ 19970,
+ 19973, 894,
+ 19973, 3169, 1902,
+ 19973, 7817, 19056,
+ 19973, 8277, 10595, 15535, 9808,
+ 19973, 9663, 14916,
+ 19973, 9663, 14918,
+ 19973, 9663, 14920,
+ 19973, 9663, 14922,
+ 19973, 11521, 16368,
+ 19973, 11521, 16786,
+ 19973, 17255, 12498,
+ 19973, 17860,
+ 19975, 15564,
+ 19985, 18006,
+ 19999, 9809, 895, 11346,
+ 19999, 9809, 1213, 11502,
+ 19999, 9809, 11606,
+ 19999, 9809, 14533, 9457, 11502,
+ 19999, 9809, 17342,
+ 19999, 9809, 17466,
+ 19999, 11849, 2596,
+ 19999, 11849, 3336,
+ 19999, 11849, 6742,
+ 19999, 11849, 13654,
+ 19999, 13921, 9809, 8,
+ 19999, 13921, 9809, 16,
+ 19999, 13921, 9809, 28,
+ 19999, 13921, 9809, 40,
+ 19999, 13921, 9809, 17349, 34,
+ 19999, 13921, 14897, 8282,
+ 19999, 14903, 0,
+ 19999, 14903, 106,
+ 19999, 14903, 124,
+ 19999, 14903, 148,
+ 19999, 14903, 244,
+ 19999, 14903, 266,
+ 19999, 14903, 334,
+ 19999, 14903, 348,
+ 19999, 14903, 382,
+ 19999, 14903, 414,
+ 19999, 14903, 446,
+ 19999, 14903, 520,
+ 19999, 14903, 570,
+ 19999, 14903, 586,
+ 19999, 14903, 620,
+ 19999, 14903, 678,
+ 19999, 14903, 732,
+ 19999, 14903, 750,
+ 19999, 14903, 930,
+ 19999, 14903, 1040,
+ 19999, 14903, 1138,
+ 19999, 14903, 1160,
+ 19999, 14903, 1486,
+ 19999, 14903, 1904,
+ 19999, 14903, 1942,
+ 19999, 14903, 2480,
+ 19999, 14903, 2544,
+ 19999, 14903, 2660,
+ 19999, 14903, 3030,
+ 19999, 14903, 3094,
+ 19999, 14903, 3222,
+ 19999, 14903, 3302,
+ 19999, 14903, 6286,
+ 19999, 14903, 10218,
+ 19999, 14903, 13762,
+ 19999, 15133, 2597, 16378,
+ 19999, 15133, 2597, 18566,
+ 19999, 15133, 3212,
+ 19999, 15133, 15708,
+ 19999, 15756,
+ 19999, 20659, 1212,
+ 19999, 20659, 11798,
+ 19999, 20659, 12508,
+ 19999, 20659, 12518,
+ 19999, 20659, 13483, 14396,
+ 19999, 20659, 14396,
+ 19999, 20659, 14533, 11798,
+ 19999, 20659, 17643, 894,
+ 19999, 20659, 18108,
+ 20025, 9809, 652,
+ 20025, 14903, 226,
+ 20025, 14903, 268,
+ 20025, 14903, 526,
+ 20025, 14903, 2268,
+ 20025, 14903, 2524,
+ 20025, 14903, 3200,
+ 20025, 14903, 3508,
+ 20025, 14903, 5284,
+ 20025, 14903, 5790,
+ 20025, 14903, 7120,
+ 20025, 14903, 7558,
+ 20025, 14903, 9326,
+ 20025, 14903, 9440,
+ 20025, 14903, 9730,
+ 20025, 14903, 10080,
+ 20025, 14903, 10634,
+ 20025, 14903, 10648,
+ 20025, 14903, 10764,
+ 20025, 14903, 11196,
+ 20025, 14903, 11376,
+ 20025, 14903, 11510,
+ 20025, 14903, 12142,
+ 20025, 14903, 12336,
+ 20025, 14903, 12404,
+ 20025, 14903, 13210,
+ 20025, 14903, 13330,
+ 20025, 14903, 13518,
+ 20025, 14903, 14112,
+ 20025, 14903, 14454,
+ 20025, 14903, 14686,
+ 20025, 14903, 14790,
+ 20025, 14903, 14882,
+ 20025, 14903, 15370,
+ 20025, 14903, 15828,
+ 20025, 14903, 16126,
+ 20025, 14903, 17220,
+ 20025, 15133, 2596,
+ 20025, 15133, 2597, 16378,
+ 20025, 15133, 3212,
+ 20025, 15133, 6720,
+ 20025, 15133, 15708,
+ 20025, 20659, 1212,
+ 20025, 20659, 1213, 15787, 1212,
+ 20025, 20659, 3337, 6402,
+ 20025, 20659, 7817, 14604,
+ 20025, 20659, 9904,
+ 20025, 20659, 14533, 1213, 15787, 1212,
+ 20025, 20659, 16288,
+ 20025, 20771, 8283, 11346,
+ 20025, 20771, 8283, 11502,
+ 20028,
+ 20030,
+ 20055, 15564,
+ 20078,
+ 20082,
+ 20104,
+ 20109, 5264,
+ 20113, 14533, 20658,
+ 20113, 15465, 20658,
+ 20115, 10605, 19420,
+ 20115, 14903, 268,
+ 20115, 14903, 526,
+ 20115, 14903, 824,
+ 20115, 14903, 828,
+ 20115, 14903, 926,
+ 20115, 14903, 1608,
+ 20115, 14903, 1856,
+ 20115, 14903, 2268,
+ 20115, 14903, 2524,
+ 20115, 14903, 2786,
+ 20115, 14903, 3196,
+ 20115, 14903, 3216,
+ 20115, 14903, 3506,
+ 20115, 14903, 3700,
+ 20115, 14903, 3766,
+ 20115, 14903, 6334,
+ 20115, 14903, 6888,
+ 20115, 14903, 7752,
+ 20115, 14903, 9478,
+ 20115, 14903, 9638,
+ 20115, 14903, 9676,
+ 20115, 14903, 9730,
+ 20115, 15133, 2596,
+ 20115, 15133, 2597, 16378,
+ 20115, 15133, 3212,
+ 20115, 15133, 3336,
+ 20115, 15133, 13654,
+ 20115, 15133, 15708,
+ 20121, 9808,
+ 20125, 9808,
+ 20128,
+ 20132,
+ 20137, 18011, 18214,
+ 20139, 11943, 632,
+ 20143, 9808,
+ 20153, 7779, 16252,
+ 20153, 7779, 16254,
+ 20161, 857, 18813, 11428,
+ 20163, 3273, 15421, 13965, 11428,
+ 20163, 3337, 14729, 11428,
+ 20163, 10575, 11428,
+ 20163, 11428,
+ 20163, 11429, 633, 894,
+ 20163, 11429, 633, 11521, 16128,
+ 20163, 11429, 6749, 894,
+ 20163, 11429, 6749, 895, 633, 11521, 16128,
+ 20163, 11429, 9131, 19213, 11428,
+ 20163, 11429, 10595, 3245, 17318,
+ 20163, 11429, 10595, 3245, 19028,
+ 20163, 11429, 10595, 7256,
+ 20163, 11429, 10595, 7850,
+ 20163, 11429, 10595, 9243, 11502,
+ 20163, 11429, 10595, 10046,
+ 20163, 11429, 10595, 10047, 10595, 14533, 18669, 15534,
+ 20163, 11429, 10595, 10047, 10595, 18669, 15534,
+ 20163, 11429, 10595, 12473, 18597, 18728,
+ 20163, 11429, 10595, 13483, 18597, 18728,
+ 20163, 11429, 10595, 13483, 20467, 18728,
+ 20163, 11429, 10595, 14429, 19028,
+ 20163, 11429, 10595, 14531, 9906,
+ 20163, 11429, 10595, 14533, 18669, 15534,
+ 20163, 11429, 10595, 14997, 18597, 18728,
+ 20163, 11429, 10595, 15534,
+ 20163, 11429, 10595, 16761, 10046,
+ 20163, 11429, 10595, 18669, 15534,
+ 20163, 11429, 10595, 20467, 18728,
+ 20163, 11429, 11347, 13431, 19213, 11428,
+ 20163, 11429, 11347, 13677, 18214,
+ 20163, 11429, 11347, 14197, 11943, 632,
+ 20163, 11429, 11347, 16991, 13677, 18214,
+ 20163, 11429, 11347, 16991, 14197, 11943, 632,
+ 20163, 11429, 17231, 46,
+ 20163, 11429, 17231, 18510,
+ 20163, 11429, 17231, 20876,
+ 20163, 11521, 11428,
+ 20163, 11521, 16035, 13965, 11428,
+ 20163, 12213, 11428,
+ 20163, 12213, 19727, 11428,
+ 20163, 13965, 11428,
+ 20163, 13965, 11429, 6749, 10572,
+ 20163, 13965, 11429, 15787, 18597, 18728,
+ 20163, 14307, 15421, 13965, 11428,
+ 20163, 14463, 11428,
+ 20163, 14533, 6259, 11428,
+ 20163, 14533, 11428,
+ 20163, 14533, 11429, 6749, 894,
+ 20163, 14533, 11429, 10595, 15534,
+ 20163, 14533, 11429, 10595, 18669, 15534,
+ 20163, 14533, 19684,
+ 20163, 15189, 14226,
+ 20163, 15352,
+ 20163, 15671, 6259, 11428,
+ 20163, 15671, 11428,
+ 20163, 16357, 9131, 19213, 16356,
+ 20163, 16357, 10595, 5713, 669, 633, 894,
+ 20163, 16357, 10595, 5713, 669, 6749, 894,
+ 20163, 16357, 10595, 5713, 669, 11347, 7845, 6258,
+ 20163, 16357, 10595, 5713, 669, 11347, 19213, 16357, 10595, 5713, 668,
+ 20163, 16357, 10595, 5713, 669, 11347, 20163, 16357, 10595, 5713, 6406,
+ 20163, 16357, 10595, 5713, 6407, 633, 894,
+ 20163, 16357, 10595, 5713, 6407, 6749, 894,
+ 20163, 16357, 10595, 5713, 6407, 11347, 19213, 16357, 10595, 5713, 6406,
+ 20163, 16357, 10595, 5713, 6407, 11503, 7845, 6258,
+ 20163, 16357, 10595, 5713, 17318,
+ 20163, 16357, 10595, 5713, 19028,
+ 20163, 17139, 11428,
+ 20163, 18457, 11428,
+ 20163, 18597, 18728,
+ 20163, 19355, 11428,
+ 20163, 19684,
+ 20163, 19727, 11428,
+ 20163, 20165, 11428,
+ 20163, 20285, 11429, 6749, 894,
+ 20163, 20285, 11429, 10595, 10046,
+ 20163, 20285, 11429, 10595, 10047, 10595, 14533, 18669, 15534,
+ 20163, 20285, 11429, 10595, 10047, 10595, 18669, 15534,
+ 20163, 20285, 11429, 10595, 14533, 18669, 15534,
+ 20163, 20285, 11429, 10595, 18597, 19686,
+ 20163, 20285, 11429, 10595, 18669, 15534,
+ 20163, 20285, 15671, 6259, 11428,
+ 20163, 20329, 18407, 13965, 11428,
+ 20163, 20471, 11428,
+ 20163, 20553, 13965, 11428,
+ 20163, 20613, 11428,
+ 20163, 20869, 18407, 13965, 11428,
+ 20163, 20979, 13965, 11428,
+ 20163, 21571, 11428,
+ 20163, 21571, 11429, 633, 894,
+ 20163, 21571, 11429, 9131, 19213, 21571, 11428,
+ 20163, 21571, 11429, 10595, 5825, 13382,
+ 20163, 21571, 11429, 10595, 7845, 3245, 17318,
+ 20163, 21571, 11429, 10595, 7845, 3245, 19028,
+ 20163, 21571, 11429, 10595, 10487, 12213, 13382,
+ 20163, 21571, 11429, 10595, 12213, 13382,
+ 20163, 21571, 11429, 10595, 14533, 18669, 15534,
+ 20163, 21571, 11429, 10595, 14533, 19973, 15534,
+ 20163, 21571, 11429, 10595, 14997, 13382,
+ 20163, 21571, 11429, 10595, 15055, 13382,
+ 20163, 21571, 14463, 11428,
+ 20163, 21571, 15189, 14226,
+ 20165, 12213, 2163, 14533, 11709, 19359, 8283, 18220,
+ 20165, 12213, 14533, 11709, 19359, 8283, 18220,
+ 20165, 12213, 14533, 15701, 11709, 19359, 8283, 18220,
+ 20165, 20537, 18220,
+ 20169, 9809, 15756,
+ 20169, 9809, 17342,
+ 20169, 9809, 17466,
+ 20169, 11798,
+ 20169, 11849, 2596,
+ 20169, 11849, 3056,
+ 20169, 11849, 3336,
+ 20169, 11849, 6720,
+ 20169, 11849, 6742,
+ 20169, 11849, 8736,
+ 20169, 11849, 10854,
+ 20169, 11849, 11916,
+ 20169, 11849, 13376,
+ 20169, 11849, 13654,
+ 20169, 13921, 9809, 8,
+ 20169, 13921, 9809, 16,
+ 20169, 13921, 9809, 28,
+ 20169, 13921, 9809, 40,
+ 20169, 13921, 9809, 58,
+ 20169, 13921, 9809, 72,
+ 20169, 13921, 9809, 94,
+ 20169, 13921, 9809, 184,
+ 20169, 13921, 9809, 306,
+ 20169, 13921, 9809, 496,
+ 20169, 13921, 9809, 674,
+ 20169, 13921, 9809, 17349, 22,
+ 20169, 13921, 9809, 17349, 34,
+ 20169, 13921, 9809, 17349, 394,
+ 20169, 13921, 9809, 17349, 580,
+ 20169, 14533, 11798,
+ 20169, 14903, 0,
+ 20169, 14903, 8,
+ 20169, 14903, 16,
+ 20169, 14903, 28,
+ 20169, 14903, 40,
+ 20169, 14903, 58,
+ 20169, 14903, 72,
+ 20169, 14903, 94,
+ 20169, 14903, 106,
+ 20169, 14903, 124,
+ 20169, 14903, 148,
+ 20169, 14903, 184,
+ 20169, 14903, 244,
+ 20169, 14903, 266,
+ 20169, 14903, 306,
+ 20169, 14903, 334,
+ 20169, 14903, 348,
+ 20169, 14903, 382,
+ 20169, 14903, 414,
+ 20169, 14903, 446,
+ 20169, 14903, 496,
+ 20169, 14903, 520,
+ 20169, 14903, 570,
+ 20169, 14903, 586,
+ 20169, 14903, 620,
+ 20169, 14903, 674,
+ 20169, 14903, 678,
+ 20169, 14903, 732,
+ 20169, 14903, 930,
+ 20169, 14903, 1040,
+ 20169, 14903, 1138,
+ 20169, 14903, 1160,
+ 20169, 14903, 1486,
+ 20169, 14903, 1786,
+ 20169, 14903, 1904,
+ 20169, 14903, 2142,
+ 20169, 14903, 2432,
+ 20169, 14903, 2480,
+ 20169, 14903, 2544,
+ 20169, 14903, 2660,
+ 20169, 14903, 3030,
+ 20169, 14903, 3094,
+ 20169, 14903, 3222,
+ 20169, 14903, 3302,
+ 20169, 14903, 6286,
+ 20169, 14903, 10218,
+ 20169, 14903, 17349, 22,
+ 20169, 14903, 17349, 34,
+ 20169, 14903, 17349, 394,
+ 20169, 14903, 17349, 580,
+ 20169, 18831, 9809, 12188,
+ 20175, 16943, 10595, 14307, 14406,
+ 20187, 9127, 966,
+ 20191, 483, 12334,
+ 20211, 13502,
+ 20236,
+ 20247, 16960,
+ 20252,
+ 20265, 6723, 495, 9250,
+ 20265, 13302,
+ 20265, 14330,
+ 20274,
+ 20292,
+ 20294,
+ 20297, 15564,
+ 20315, 1903, 15564,
+ 20325, 12516,
+ 20329, 18407, 13965, 20163, 11428,
+ 20331, 13501, 11429, 10595, 14755, 10046,
+ 20331, 13501, 11429, 10595, 19973, 10046,
+ 20345, 17936,
+ 20351, 15564,
+ 20352,
+ 20354,
+ 20363, 13548,
+ 20367, 632,
+ 20368,
+ 20370,
+ 20455, 11943, 633, 503, 19214,
+ 20455, 11943, 633, 503, 20876,
+ 20455, 17101, 11943, 633, 503, 19214,
+ 20455, 17101, 11943, 633, 503, 20876,
+ 20455, 17101, 19215, 503, 11943, 632,
+ 20455, 17101, 20877, 503, 11943, 632,
+ 20465, 632,
+ 20469, 8282,
+ 20469, 18335, 8282,
+ 20479, 13502,
+ 20507, 9740,
+ 20509, 13182,
+ 20511, 6757, 9910,
+ 20511, 7087, 6707, 13502,
+ 20511, 11708,
+ 20511, 12495, 10173, 8282,
+ 20511, 13502,
+ 20511, 15133, 10854,
+ 20511, 15347, 10173, 8282,
+ 20511, 16043, 8282,
+ 20511, 17869, 10173, 8282,
+ 20511, 18867, 10173, 8282,
+ 20511, 19179, 8282,
+ 20511, 19573, 7817, 6693, 19421, 15564,
+ 20511, 19573, 15565, 1391, 1137, 2596,
+ 20511, 19573, 15565, 1391, 1137, 3056,
+ 20511, 19573, 15565, 1391, 1137, 3212,
+ 20511, 19573, 15565, 1391, 1137, 3336,
+ 20511, 19573, 15565, 1391, 1137, 6720,
+ 20511, 19573, 15565, 1391, 1137, 6742,
+ 20511, 19573, 15565, 1391, 1137, 8736,
+ 20511, 19573, 15565, 1391, 1137, 11916,
+ 20511, 19573, 15565, 1391, 1137, 13376,
+ 20511, 19573, 15565, 1391, 1137, 13654,
+ 20511, 19573, 15565, 1391, 1137, 14546,
+ 20511, 19573, 15565, 1391, 1137, 15626,
+ 20511, 19573, 15565, 1391, 1137, 15706,
+ 20511, 19573, 15565, 1391, 1137, 15708,
+ 20511, 19573, 15565, 1391, 1137, 16280,
+ 20511, 19573, 15565, 1391, 1137, 17096,
+ 20511, 19573, 15565, 1391, 1137, 17854,
+ 20511, 19573, 15565, 1391, 1137, 17924,
+ 20511, 19573, 15565, 1391, 1137, 18190,
+ 20511, 19573, 15565, 1391, 1137, 18564,
+ 20511, 19573, 15565, 1391, 1137, 19424,
+ 20511, 19573, 15565, 1391, 1137, 20260,
+ 20511, 19573, 15565, 1391, 1137, 20276,
+ 20511, 19573, 15565, 1391, 1137, 20278,
+ 20511, 19573, 15565, 1391, 1137, 20280,
+ 20511, 19573, 15565, 1391, 1137, 20744,
+ 20511, 19573, 15565, 1391, 1137, 20746,
+ 20511, 19573, 15565, 1391, 1137, 20748,
+ 20511, 19573, 15565, 1391, 1137, 21038,
+ 20511, 19573, 15565, 1391, 1137, 21040,
+ 20511, 19573, 15565, 1391, 1137, 21042,
+ 20511, 19573, 15565, 1391, 2246,
+ 20511, 19573, 15565, 1391, 7275, 2596,
+ 20511, 19573, 15565, 1391, 7275, 3056,
+ 20511, 19573, 15565, 1391, 7275, 3212,
+ 20511, 19573, 15565, 1391, 7275, 3336,
+ 20511, 19573, 15565, 1391, 7275, 6720,
+ 20511, 19573, 15565, 1391, 7275, 6742,
+ 20511, 19573, 15565, 1391, 7275, 8736,
+ 20511, 19573, 15565, 1391, 7275, 10854,
+ 20511, 19573, 15565, 1391, 7275, 11916,
+ 20511, 19573, 15565, 1391, 7275, 13376,
+ 20511, 19573, 15565, 1391, 7275, 13654,
+ 20511, 19573, 15565, 1391, 7275, 14546,
+ 20511, 19573, 15565, 1391, 7275, 15706,
+ 20511, 19573, 15565, 1391, 7275, 15708,
+ 20511, 19573, 15565, 1391, 7275, 16280,
+ 20511, 19573, 15565, 1391, 7275, 17096,
+ 20511, 19573, 15565, 1391, 7275, 17854,
+ 20511, 19573, 15565, 1391, 7275, 17924,
+ 20511, 19573, 15565, 1391, 7275, 18190,
+ 20511, 19573, 15565, 1391, 7275, 18564,
+ 20511, 19573, 15565, 1391, 7275, 19424,
+ 20511, 19573, 15565, 1391, 7275, 20276,
+ 20511, 19573, 15565, 1391, 7275, 20280,
+ 20511, 19573, 15565, 1391, 7275, 20746,
+ 20511, 19573, 15565, 1391, 7275, 21042,
+ 20511, 19573, 15565, 1391, 7488,
+ 20511, 19573, 15565, 1391, 7490,
+ 20511, 19573, 15565, 1391, 11414,
+ 20511, 19573, 15565, 1391, 12598,
+ 20511, 19573, 15565, 1391, 14244,
+ 20511, 19573, 15565, 1391, 16416,
+ 20511, 19573, 15565, 1391, 16788,
+ 20511, 19573, 15565, 1391, 17672,
+ 20511, 19573, 15565, 1391, 17892,
+ 20511, 19573, 15565, 1391, 18204,
+ 20511, 19573, 15565, 1391, 19422,
+ 20511, 19623, 19162,
+ 20511, 19665, 2231, 8282,
+ 20511, 19665, 2597, 8282,
+ 20511, 19665, 3273, 8282,
+ 20511, 19665, 3337, 8282,
+ 20511, 19665, 6743, 8282,
+ 20511, 19665, 11911, 8282,
+ 20511, 19665, 12025, 8282,
+ 20511, 19665, 13647, 8282,
+ 20511, 19665, 13655, 8282,
+ 20511, 19665, 14307, 8282,
+ 20511, 19665, 14647, 8282,
+ 20511, 19665, 14733, 8282,
+ 20511, 19665, 15021, 8282,
+ 20511, 19665, 15403, 8282,
+ 20511, 19665, 16599, 8282,
+ 20511, 19665, 16991, 8282,
+ 20511, 20385, 18795, 6757, 18512,
+ 20511, 20385, 18795, 7779, 633, 13270,
+ 20511, 20385, 18795, 7779, 633, 15021, 841, 13270,
+ 20511, 20385, 18795, 11347, 633, 11502,
+ 20511, 20385, 18795, 11347, 633, 15021, 841, 11502,
+ 20511, 20385, 18795, 18226,
+ 20511, 20385, 18795, 18513, 6749, 7778,
+ 20511, 20385, 18795, 18513, 6749, 11346,
+ 20511, 20385, 18795, 18513, 6749, 11502,
+ 20511, 20385, 18795, 18513, 6749, 12525, 7778,
+ 20511, 20385, 18795, 18513, 6749, 13807, 7778,
+ 20511, 20385, 18795, 18513, 6749, 13807, 13270,
+ 20527, 6343, 15218,
+ 20527, 15484,
+ 20530,
+ 20533, 19665, 14200,
+ 20533, 19665, 19420,
+ 20533, 19665, 20256,
+ 20535, 14593, 841, 8277, 9808,
+ 20536,
+ 20549, 15559, 9808,
+ 20549, 15559, 9809, 10595, 6402,
+ 20549, 17487, 17877, 9808,
+ 20551, 19989, 19318,
+ 20553, 13965, 20163, 11428,
+ 20561, 11690,
+ 20587, 6682,
+ 20609, 13949, 15564,
+ 20620,
+ 20631, 9808,
+ 20639, 6682,
+ 20640,
+ 20659, 13502,
+ 20661, 9808,
+ 20669, 18794,
+ 20684,
+ 20689, 15034,
+ 20692,
+ 20697, 827, 5815, 13483, 19396,
+ 20697, 827, 9921, 13483, 19396,
+ 20697, 827, 15961, 2618,
+ 20697, 827, 17175, 314,
+ 20697, 1331, 10592,
+ 20697, 1331, 11527, 15464,
+ 20697, 1331, 11527, 18164,
+ 20697, 2131, 12525, 9131, 13806,
+ 20697, 2131, 13807, 9131, 12524,
+ 20697, 2951, 15464,
+ 20697, 2951, 15946,
+ 20697, 2951, 18164,
+ 20697, 6526,
+ 20697, 6569, 7087, 9126,
+ 20697, 6569, 7087, 14406,
+ 20697, 6569, 9126,
+ 20697, 6569, 10587, 9126,
+ 20697, 6569, 14406,
+ 20697, 6569, 18454,
+ 20697, 6569, 18681, 18160,
+ 20697, 6683, 18887, 18303, 8807, 669, 503, 6406,
+ 20697, 6683, 18887, 18303, 8807, 669, 503, 6407, 17238,
+ 20697, 6683, 18887, 18303, 8807, 16301, 17238,
+ 20697, 6707, 20034,
+ 20697, 6707, 20036,
+ 20697, 6707, 20038,
+ 20697, 6707, 20040,
+ 20697, 6707, 20042,
+ 20697, 6757, 9910,
+ 20697, 7082,
+ 20697, 7102,
+ 20697, 7103, 2900,
+ 20697, 7103, 18161, 14396,
+ 20697, 7103, 21769, 10144,
+ 20697, 7103, 21769, 11728,
+ 20697, 7103, 21769, 18474,
+ 20697, 7103, 21799, 11728,
+ 20697, 7103, 21799, 18474,
+ 20697, 7813, 18062,
+ 20697, 7813, 18064,
+ 20697, 7813, 18066,
+ 20697, 7813, 18068,
+ 20697, 7813, 18070,
+ 20697, 7813, 18072,
+ 20697, 7813, 18074,
+ 20697, 7813, 20348,
+ 20697, 7825, 16937, 18580,
+ 20697, 8652,
+ 20697, 8807, 16056,
+ 20697, 8807, 16724,
+ 20697, 8807, 17370,
+ 20697, 8807, 18684,
+ 20697, 11555, 15464,
+ 20697, 11555, 15946,
+ 20697, 11555, 18164,
+ 20697, 11702,
+ 20697, 11708,
+ 20697, 12031, 12473, 15464,
+ 20697, 12031, 12473, 18164,
+ 20697, 12031, 13483, 15464,
+ 20697, 12031, 13483, 18164,
+ 20697, 12031, 20178,
+ 20697, 12165, 15464,
+ 20697, 12165, 15946,
+ 20697, 12165, 18164,
+ 20697, 12699, 7640,
+ 20697, 12699, 7641, 16300,
+ 20697, 12699, 7641, 18682,
+ 20697, 12699, 9127, 9128,
+ 20697, 12699, 9127, 9129, 10718,
+ 20697, 12699, 9127, 9129, 18682,
+ 20697, 12699, 9127, 14396,
+ 20697, 12699, 9127, 16300,
+ 20697, 12699, 9127, 18682,
+ 20697, 12699, 9127, 19368,
+ 20697, 12699, 9127, 19369, 10718,
+ 20697, 12699, 9127, 19369, 18682,
+ 20697, 12699, 12060,
+ 20697, 12699, 12061, 9126,
+ 20697, 12699, 12061, 18682,
+ 20697, 12699, 13488,
+ 20697, 12699, 13489, 9126,
+ 20697, 12699, 13489, 18682,
+ 20697, 12699, 13626,
+ 20697, 12699, 13627, 15544,
+ 20697, 12699, 13627, 16300,
+ 20697, 12699, 14407, 16056,
+ 20697, 12699, 14407, 16300,
+ 20697, 12699, 14407, 16724,
+ 20697, 12699, 16066,
+ 20697, 12699, 18685, 14532,
+ 20697, 12699, 18685, 15464,
+ 20697, 13616,
+ 20697, 13617, 495, 7824,
+ 20697, 13617, 495, 7825, 18160,
+ 20697, 13617, 495, 15666,
+ 20697, 13617, 495, 15667, 18160,
+ 20697, 13617, 5811, 7824,
+ 20697, 13617, 18160,
+ 20697, 13627, 14377, 2162,
+ 20697, 13627, 14377, 7134,
+ 20697, 13627, 14377, 15020,
+ 20697, 13721, 15464,
+ 20697, 13721, 15946,
+ 20697, 13721, 18164,
+ 20697, 13807, 5823, 17239, 6749, 1629, 14796,
+ 20697, 14317, 14562,
+ 20697, 14317, 14772,
+ 20697, 14377, 15296,
+ 20697, 14377, 15544,
+ 20697, 14377, 16724,
+ 20697, 14537, 17889, 669, 16724,
+ 20697, 14537, 17889, 6407, 16724,
+ 20697, 14537, 17889, 16725, 668,
+ 20697, 14537, 17889, 16725, 6406,
+ 20697, 14606,
+ 20697, 15531, 15464,
+ 20697, 15531, 15946,
+ 20697, 15531, 18164,
+ 20697, 15667, 3245, 15947, 7824,
+ 20697, 15667, 3245, 18587, 14779, 12698,
+ 20697, 15667, 12703, 15857, 11644,
+ 20697, 15667, 14365, 14779, 12698,
+ 20697, 15667, 14365, 18469, 2618,
+ 20697, 15667, 14779, 12699, 16982,
+ 20697, 15667, 16595, 7824,
+ 20697, 15667, 18469, 2619, 1350,
+ 20697, 16223, 6688,
+ 20697, 16223, 9834,
+ 20697, 16223, 11969, 13091, 10146,
+ 20697, 16223, 13626,
+ 20697, 16223, 16330,
+ 20697, 16223, 16982,
+ 20697, 16223, 18729, 12472,
+ 20697, 16223, 18729, 13482,
+ 20697, 16223, 20990,
+ 20697, 16223, 20991, 20310,
+ 20697, 17143, 12031, 20310,
+ 20697, 17143, 12473, 15464,
+ 20697, 17143, 12473, 18164,
+ 20697, 17143, 13483, 15464,
+ 20697, 17143, 13483, 18164,
+ 20697, 17143, 20178,
+ 20697, 17179, 15946,
+ 20697, 17179, 17184,
+ 20697, 17889, 18475, 668,
+ 20697, 17889, 18475, 6406,
+ 20697, 17889, 18475, 16724,
+ 20697, 17921, 16056,
+ 20697, 17921, 16724,
+ 20697, 17921, 18682,
+ 20697, 17958,
+ 20697, 17959, 467, 13656,
+ 20697, 17959, 6721, 16283, 15504,
+ 20697, 17959, 6721, 16283, 15505, 9126,
+ 20697, 17959, 9126,
+ 20697, 17959, 9127, 467, 13656,
+ 20697, 17959, 9127, 13657, 9798,
+ 20697, 17959, 9127, 13657, 16300,
+ 20697, 17959, 12324,
+ 20697, 17959, 12325, 9457, 14934,
+ 20697, 17959, 12325, 13656,
+ 20697, 17959, 12325, 13657, 9126,
+ 20697, 17959, 13657, 9798,
+ 20697, 17959, 13657, 16300,
+ 20697, 17959, 15021, 9457, 14934,
+ 20697, 18083, 7103, 8652,
+ 20697, 18083, 11834,
+ 20697, 18083, 12501, 14492,
+ 20697, 18083, 13716,
+ 20697, 18083, 13970,
+ 20697, 18083, 14736,
+ 20697, 18375, 20034,
+ 20697, 18375, 20036,
+ 20697, 18375, 20038,
+ 20697, 18375, 20040,
+ 20697, 18375, 20042,
+ 20697, 18375, 20044,
+ 20697, 18375, 20046,
+ 20697, 18375, 20048,
+ 20697, 18375, 20572,
+ 20697, 18375, 20574,
+ 20697, 18375, 20576,
+ 20697, 18375, 20578,
+ 20697, 18375, 20580,
+ 20697, 18375, 20582,
+ 20697, 18375, 20584,
+ 20697, 18419, 1629, 13510,
+ 20697, 18419, 1629, 19336,
+ 20697, 18419, 17239, 6749, 13942,
+ 20697, 19065, 668,
+ 20697, 19065, 6406,
+ 20697, 19065, 19936,
+ 20697, 19124,
+ 20697, 19125, 467, 13656,
+ 20697, 19125, 6743, 16283, 18826,
+ 20697, 19125, 12325, 13657, 11729, 13657, 14778,
+ 20697, 19125, 13657, 9798,
+ 20697, 19125, 13657, 16300,
+ 20697, 19125, 15021, 9457, 14935, 18826,
+ 20697, 19125, 15021, 9457, 14935, 18827, 9798,
+ 20697, 19126,
+ 20697, 19127, 6743, 16283, 18827, 5786,
+ 20697, 19127, 7106,
+ 20697, 19127, 9457, 668,
+ 20697, 19127, 9457, 6406,
+ 20697, 19127, 9457, 12324,
+ 20697, 19127, 9457, 13656,
+ 20697, 19127, 9457, 14934,
+ 20697, 19127, 9457, 15020,
+ 20697, 19127, 9457, 15021, 15319, 18046,
+ 20697, 19127, 9457, 15021, 18826,
+ 20697, 19127, 9457, 15319, 16462,
+ 20697, 19127, 12324,
+ 20697, 19127, 12325, 669, 15021, 14748,
+ 20697, 19127, 12325, 669, 15021, 14749, 13657, 9798,
+ 20697, 19127, 12325, 669, 15021, 14749, 13657, 18826,
+ 20697, 19127, 12325, 5786,
+ 20697, 19127, 12325, 5787, 9131, 15020,
+ 20697, 19127, 12325, 9457, 14934,
+ 20697, 19127, 12325, 13657, 7256,
+ 20697, 19127, 12325, 13657, 9798,
+ 20697, 19127, 12325, 13657, 9799, 5837, 5786,
+ 20697, 19127, 12325, 13657, 9799, 12325, 5786,
+ 20697, 19127, 12325, 13657, 9799, 12325, 12218,
+ 20697, 19127, 12325, 13657, 9799, 13657, 5786,
+ 20697, 19127, 12325, 13657, 9799, 13657, 17686,
+ 20697, 19127, 12325, 13657, 9799, 13657, 18826,
+ 20697, 19127, 12325, 13657, 11729, 13657, 13800,
+ 20697, 19127, 12325, 13657, 11729, 13657, 14778,
+ 20697, 19127, 12325, 13657, 14205, 315, 15021, 668,
+ 20697, 19127, 12325, 13657, 14205, 2619, 15021, 668,
+ 20697, 19127, 12325, 13657, 14396,
+ 20697, 19127, 12325, 13657, 14443, 15021, 668,
+ 20697, 19127, 12325, 13657, 14755, 15021, 668,
+ 20697, 19127, 12325, 13657, 14755, 15021, 14748,
+ 20697, 19127, 12325, 13657, 16035, 15021, 668,
+ 20697, 19127, 12325, 13657, 16301, 12325, 5786,
+ 20697, 19127, 12325, 13657, 16301, 12325, 18474,
+ 20697, 19127, 12325, 13657, 17650,
+ 20697, 19127, 12325, 14442,
+ 20697, 19127, 12325, 14748,
+ 20697, 19127, 12325, 14749, 2162,
+ 20697, 19127, 12325, 14749, 15021, 668,
+ 20697, 19127, 12325, 14749, 15021, 669, 13657, 9798,
+ 20697, 19127, 12325, 15020,
+ 20697, 19127, 12325, 15021, 669, 15505, 13657, 16300,
+ 20697, 19127, 12325, 15021, 5786,
+ 20697, 19127, 12325, 15021, 5787, 13657, 18474,
+ 20697, 19127, 12325, 15021, 9456,
+ 20697, 19127, 12325, 15021, 9457, 5786,
+ 20697, 19127, 12325, 15021, 9457, 18826,
+ 20697, 19127, 12325, 15021, 11719, 14934,
+ 20697, 19127, 12325, 15021, 13656,
+ 20697, 19127, 12325, 15021, 13657, 5786,
+ 20697, 19127, 12325, 15021, 13657, 14204,
+ 20697, 19127, 12325, 15021, 13657, 14205, 2618,
+ 20697, 19127, 12325, 15021, 13657, 14442,
+ 20697, 19127, 12325, 15021, 13657, 14748,
+ 20697, 19127, 12325, 15021, 13657, 14754,
+ 20697, 19127, 12325, 15021, 13657, 16034,
+ 20697, 19127, 12325, 15021, 13657, 18827, 14748,
+ 20697, 19127, 12325, 15021, 14748,
+ 20697, 19127, 12325, 15021, 14749, 15505, 13657, 9798,
+ 20697, 19127, 12325, 15021, 14934,
+ 20697, 19127, 12325, 15021, 15319, 18046,
+ 20697, 19127, 12325, 15021, 16078,
+ 20697, 19127, 12325, 15021, 16079, 13657, 9798,
+ 20697, 19127, 12325, 15021, 18475, 13657, 5786,
+ 20697, 19127, 12325, 15021, 18826,
+ 20697, 19127, 12325, 15021, 18827, 12325, 5786,
+ 20697, 19127, 12325, 15021, 18827, 13657, 9798,
+ 20697, 19127, 12325, 15021, 18827, 13657, 9799, 5786,
+ 20697, 19127, 12325, 15021, 18827, 13657, 9799, 18826,
+ 20697, 19127, 12325, 15021, 18827, 13657, 16300,
+ 20697, 19127, 12325, 15021, 18827, 14442,
+ 20697, 19127, 12325, 15021, 18827, 14443, 13657, 16300,
+ 20697, 19127, 12325, 15021, 18827, 14748,
+ 20697, 19127, 12325, 15021, 18827, 14749, 13657, 9798,
+ 20697, 19127, 12325, 15021, 18827, 15021, 5786,
+ 20697, 19127, 12325, 15319, 16462,
+ 20697, 19127, 13656,
+ 20697, 19127, 13657, 7106,
+ 20697, 19127, 13657, 9131, 3337, 16282,
+ 20697, 19127, 13657, 9131, 6743, 15319, 18046,
+ 20697, 19127, 13657, 9799, 5786,
+ 20697, 19127, 13657, 9799, 17686,
+ 20697, 19127, 13657, 9799, 18826,
+ 20697, 19127, 13657, 13801, 3337, 16282,
+ 20697, 19127, 13657, 13801, 6743, 16282,
+ 20697, 19127, 13657, 13801, 12325, 5786,
+ 20697, 19127, 13657, 13801, 13655, 16282,
+ 20697, 19127, 13657, 13801, 14935, 668,
+ 20697, 19127, 13657, 15947, 9457, 14934,
+ 20697, 19127, 13657, 15947, 12325, 15020,
+ 20697, 19127, 13657, 15947, 12325, 15021, 18474,
+ 20697, 19127, 13657, 15947, 15021, 9456,
+ 20697, 19127, 13657, 16300,
+ 20697, 19127, 14935, 668,
+ 20697, 19127, 14935, 5786,
+ 20697, 19127, 14935, 6406,
+ 20697, 19127, 14935, 6407, 15171, 16034,
+ 20697, 19127, 14935, 6407, 15345, 14444,
+ 20697, 19127, 14935, 6407, 15345, 18474,
+ 20697, 19127, 14935, 12324,
+ 20697, 19127, 14935, 12325, 13656,
+ 20697, 19127, 14935, 13656,
+ 20697, 19127, 14935, 15319, 16462,
+ 20697, 19127, 14935, 17249, 13656,
+ 20697, 19127, 15021, 668,
+ 20697, 19127, 15021, 669, 13657, 9798,
+ 20697, 19127, 15021, 5787, 9131, 12324,
+ 20697, 19127, 15021, 6406,
+ 20697, 19127, 15021, 9457, 14934,
+ 20697, 19127, 15021, 13657, 14205, 2619, 12325, 668,
+ 20697, 19127, 15021, 13657, 14205, 2619, 12325, 16078,
+ 20697, 19127, 15021, 13657, 14205, 12325, 668,
+ 20697, 19127, 15021, 13657, 14443, 12325, 668,
+ 20697, 19127, 15021, 13657, 14755, 12325, 668,
+ 20697, 19127, 15021, 13657, 14934,
+ 20697, 19127, 15021, 13657, 16035, 12325, 668,
+ 20697, 19127, 15021, 13657, 16035, 12325, 14748,
+ 20697, 19127, 15021, 14934,
+ 20697, 19127, 15021, 15319, 16462,
+ 20697, 19128,
+ 20697, 19129, 6721, 16283, 15504,
+ 20697, 19129, 6721, 16283, 15505, 5786,
+ 20697, 19129, 6721, 16283, 15505, 6743, 5786,
+ 20697, 19129, 6721, 16283, 15505, 13657, 16300,
+ 20697, 19129, 6721, 16283, 15505, 14748,
+ 20697, 19129, 6721, 16283, 15505, 14749, 467, 13656,
+ 20697, 19129, 6721, 16283, 15505, 14749, 13657, 9798,
+ 20697, 19129, 6743, 16282,
+ 20697, 19129, 6743, 16283, 5786,
+ 20697, 19129, 6743, 16283, 14748,
+ 20697, 19129, 6743, 16283, 18826,
+ 20697, 19129, 6743, 16283, 18827, 13512,
+ 20697, 19129, 7106,
+ 20697, 19129, 7107, 6721, 16283, 15504,
+ 20697, 19129, 7107, 6721, 16283, 15505, 5786,
+ 20697, 19129, 7107, 6721, 16283, 15505, 6743, 5786,
+ 20697, 19129, 7107, 13657, 9798,
+ 20697, 19129, 13513, 12325, 13657, 9798,
+ 20697, 19129, 13513, 14364,
+ 20697, 19129, 13513, 14365, 13657, 9798,
+ 20697, 19129, 13513, 14365, 13657, 9799, 5786,
+ 20697, 19129, 13513, 14934,
+ 20697, 19129, 13657, 5786,
+ 20697, 19129, 13657, 9798,
+ 20697, 19129, 13657, 16300,
+ 20697, 19129, 15947, 9165, 16262,
+ 20697, 19130,
+ 20697, 19131, 9457, 13656,
+ 20697, 19131, 12325, 9457, 14935, 314,
+ 20697, 19131, 12325, 9457, 14935, 2618,
+ 20697, 19131, 12325, 9457, 14935, 13800,
+ 20697, 19131, 15021, 9457, 14935, 18826,
+ 20697, 19131, 15021, 9457, 14935, 18827, 314,
+ 20697, 19131, 15021, 9457, 14935, 18827, 2618,
+ 20697, 19131, 15021, 13656,
+ 20697, 19131, 17650,
+ 20697, 19132,
+ 20697, 19133, 467, 13656,
+ 20697, 19133, 6721, 16283, 15504,
+ 20697, 19133, 9457, 14934,
+ 20697, 19133, 12324,
+ 20697, 19133, 13657, 9798,
+ 20697, 19133, 13657, 16300,
+ 20697, 19133, 14935, 668,
+ 20697, 19416,
+ 20697, 19639, 18419, 1629, 8420,
+ 20697, 19920,
+ 20697, 19935, 18419, 1629, 8420,
+ 20697, 19954,
+ 20697, 19955, 9457, 6407, 15021, 13657, 12325, 11718,
+ 20697, 19955, 9457, 14934,
+ 20697, 19955, 12324,
+ 20697, 19955, 12325, 9457, 14934,
+ 20697, 19955, 12325, 9457, 14935, 2618,
+ 20697, 19955, 12325, 13656,
+ 20697, 19955, 12325, 13657, 314,
+ 20697, 19955, 12325, 13657, 2618,
+ 20697, 19955, 12325, 15021, 9456,
+ 20697, 19955, 12325, 15021, 14934,
+ 20697, 19955, 14935, 668,
+ 20697, 19955, 14935, 12324,
+ 20697, 19955, 14935, 12325, 13657, 12325, 13656,
+ 20697, 19955, 14935, 12325, 13657, 12325, 13657, 2618,
+ 20697, 19955, 15021, 9457, 14934,
+ 20697, 19955, 15021, 9457, 14935, 314,
+ 20697, 19955, 15021, 9457, 14935, 2618,
+ 20697, 19956,
+ 20697, 19957, 467, 13656,
+ 20697, 19957, 6721, 16283, 15505, 9126,
+ 20697, 19957, 6743, 16283, 18826,
+ 20697, 19957, 9126,
+ 20697, 19957, 9127, 467, 13656,
+ 20697, 19957, 9127, 13657, 9798,
+ 20697, 19957, 9127, 13657, 16300,
+ 20697, 19957, 9456,
+ 20697, 19957, 9457, 6407, 12325, 13657, 7257, 15020,
+ 20697, 19957, 12324,
+ 20697, 19957, 12325, 9457, 14934,
+ 20697, 19957, 12325, 13656,
+ 20697, 19957, 12325, 13657, 9126,
+ 20697, 19957, 12325, 13657, 9798,
+ 20697, 19957, 12325, 13657, 12472,
+ 20697, 19957, 12325, 13657, 13482,
+ 20697, 19957, 12325, 14748,
+ 20697, 19957, 12325, 15021, 9456,
+ 20697, 19957, 12325, 15021, 9457, 18826,
+ 20697, 19957, 12325, 15021, 14934,
+ 20697, 19957, 13482,
+ 20697, 19957, 13657, 9798,
+ 20697, 19957, 13657, 9799, 18587, 12324,
+ 20697, 19957, 13657, 15947, 15021, 9456,
+ 20697, 19957, 14934,
+ 20697, 19957, 14935, 12324,
+ 20697, 19957, 14935, 12325, 13656,
+ 20697, 19957, 14935, 13656,
+ 20697, 19957, 15020,
+ 20697, 19957, 15021, 9457, 14934,
+ 20697, 20492,
+ 20697, 20493, 9457, 14934,
+ 20697, 20493, 12324,
+ 20697, 20493, 12325, 5786,
+ 20697, 20493, 12325, 9457, 14934,
+ 20697, 20493, 12325, 12218,
+ 20697, 20493, 12325, 15020,
+ 20697, 20493, 12325, 15021, 9456,
+ 20697, 20493, 12325, 15021, 11719, 14934,
+ 20697, 20493, 12325, 15021, 13656,
+ 20697, 20493, 12325, 15021, 14934,
+ 20697, 20493, 12325, 15021, 16078,
+ 20697, 20493, 14935, 668,
+ 20697, 20493, 14935, 12324,
+ 20697, 20493, 15021, 668,
+ 20697, 20493, 15021, 9457, 14934,
+ 20697, 20493, 15021, 9457, 14935, 5786,
+ 20697, 20628,
+ 20697, 21104,
+ 20697, 21105, 9126,
+ 20697, 21105, 12325, 9457, 14935, 494,
+ 20697, 21105, 15021, 9457, 14935, 494,
+ 20697, 21375, 669, 6407, 12472,
+ 20697, 21375, 669, 6407, 13482,
+ 20697, 21375, 669, 6407, 20311, 12472,
+ 20697, 21375, 669, 6407, 20311, 13482,
+ 20697, 21375, 669, 20178,
+ 20697, 21375, 6407, 20178,
+ 20697, 21375, 9799, 633, 9799, 18390,
+ 20697, 21569, 14445, 5784,
+ 20697, 21569, 18475, 17164,
+ 20697, 21707, 18640,
+ 20697, 21709, 861, 15497, 14532,
+ 20697, 21709, 861, 15497, 15464,
+ 20697, 21709, 861, 15497, 15670,
+ 20697, 21709, 17064,
+ 20697, 21709, 21785, 14532,
+ 20697, 21709, 21785, 15464,
+ 20697, 21709, 21785, 20310,
+ 20697, 21709, 21811, 14532,
+ 20697, 21709, 21811, 15464,
+ 20697, 21709, 21811, 20310,
+ 20697, 21719, 14444,
+ 20697, 21719, 17604,
+ 20697, 21719, 18474,
+ 20697, 21719, 18475, 14532,
+ 20697, 21719, 18475, 20310,
+ 20697, 21727, 5279, 12472,
+ 20697, 21727, 5279, 13482,
+ 20697, 21727, 5279, 14996,
+ 20697, 21727, 5279, 16576,
+ 20697, 21727, 15947, 5279, 12472,
+ 20697, 21727, 15947, 5279, 13482,
+ 20697, 21727, 15947, 5279, 14996,
+ 20697, 21727, 15947, 5279, 16576,
+ 20697, 21727, 15947, 17251, 12472,
+ 20697, 21727, 15947, 17251, 13482,
+ 20697, 21727, 15947, 17251, 14996,
+ 20697, 21727, 15947, 17251, 16576,
+ 20697, 21727, 17251, 12472,
+ 20697, 21727, 17251, 13482,
+ 20697, 21727, 17251, 14996,
+ 20697, 21727, 17251, 16576,
+ 20697, 21753, 17064,
+ 20697, 21753, 21785, 14532,
+ 20697, 21753, 21785, 15464,
+ 20697, 21753, 21785, 20310,
+ 20697, 21753, 21811, 14532,
+ 20697, 21753, 21811, 15464,
+ 20697, 21753, 21811, 20310,
+ 20697, 21759, 14444,
+ 20697, 21759, 18474,
+ 20697, 21759, 18475, 14532,
+ 20697, 21759, 18475, 20310,
+ 20697, 21765, 13502,
+ 20697, 21769, 861, 14397, 13483, 14532,
+ 20697, 21769, 861, 14397, 13483, 15464,
+ 20697, 21769, 861, 14397, 14997, 14532,
+ 20697, 21769, 861, 14397, 14997, 15464,
+ 20697, 21769, 967, 12472,
+ 20697, 21769, 967, 13482,
+ 20697, 21769, 967, 14996,
+ 20697, 21769, 1776,
+ 20697, 21769, 5785, 12472,
+ 20697, 21769, 5785, 13482,
+ 20697, 21769, 5785, 14996,
+ 20697, 21769, 7285, 12472,
+ 20697, 21769, 7285, 13482,
+ 20697, 21769, 7285, 14996,
+ 20697, 21769, 7285, 16371, 11652,
+ 20697, 21769, 7285, 16371, 12059, 10572,
+ 20697, 21769, 7851, 12472,
+ 20697, 21769, 7851, 13482,
+ 20697, 21769, 7851, 13483, 14532,
+ 20697, 21769, 7851, 14996,
+ 20697, 21769, 7851, 16371, 11652,
+ 20697, 21769, 7851, 16371, 12059, 10572,
+ 20697, 21769, 10575, 11729, 14533, 12472,
+ 20697, 21769, 10575, 11729, 14533, 13482,
+ 20697, 21769, 10575, 11729, 14533, 14996,
+ 20697, 21769, 10575, 11729, 15671, 12472,
+ 20697, 21769, 10575, 11729, 15671, 13482,
+ 20697, 21769, 10575, 11729, 15671, 14996,
+ 20697, 21769, 10575, 16371, 11652,
+ 20697, 21769, 10575, 16371, 12059, 10572,
+ 20697, 21769, 10575, 17687, 9175, 12472,
+ 20697, 21769, 10575, 17687, 9175, 13482,
+ 20697, 21769, 10575, 17687, 9175, 14996,
+ 20697, 21769, 11643, 12472,
+ 20697, 21769, 11643, 13482,
+ 20697, 21769, 11643, 14996,
+ 20697, 21769, 11718,
+ 20697, 21769, 11729, 10109, 18474,
+ 20697, 21769, 11729, 16371, 11652,
+ 20697, 21769, 11729, 16371, 12059, 10572,
+ 20697, 21769, 11729, 16955, 12472,
+ 20697, 21769, 11729, 16955, 13482,
+ 20697, 21769, 11729, 16955, 14996,
+ 20697, 21769, 11729, 16955, 16576,
+ 20697, 21769, 11729, 20491, 12472,
+ 20697, 21769, 11729, 20491, 13482,
+ 20697, 21769, 11729, 20491, 14996,
+ 20697, 21769, 11729, 20491, 16576,
+ 20697, 21769, 11729, 21211, 14397, 13482,
+ 20697, 21769, 11729, 21211, 14397, 14996,
+ 20697, 21769, 13135, 12472,
+ 20697, 21769, 13135, 13482,
+ 20697, 21769, 13135, 14996,
+ 20697, 21769, 13987, 14397, 12059, 14532,
+ 20697, 21769, 13987, 14397, 12059, 15464,
+ 20697, 21769, 14429, 12472,
+ 20697, 21769, 14429, 13482,
+ 20697, 21769, 14429, 14996,
+ 20697, 21769, 14429, 18374,
+ 20697, 21769, 14445, 11719, 13482,
+ 20697, 21769, 14445, 11719, 14996,
+ 20697, 21769, 14533, 13987, 6726,
+ 20697, 21769, 14533, 18474,
+ 20697, 21769, 14533, 20310,
+ 20697, 21769, 14533, 20311, 13987, 6726,
+ 20697, 21769, 14607, 16037, 14532,
+ 20697, 21769, 14607, 16037, 15464,
+ 20697, 21769, 14607, 16056,
+ 20697, 21769, 15465, 13987, 6726,
+ 20697, 21769, 15465, 18475, 12472,
+ 20697, 21769, 15465, 18475, 13482,
+ 20697, 21769, 15465, 18475, 14996,
+ 20697, 21769, 15465, 18475, 16576,
+ 20697, 21769, 15671, 13987, 6726,
+ 20697, 21769, 15671, 18475, 18160,
+ 20697, 21769, 15671, 20310,
+ 20697, 21769, 15671, 20311, 13987, 6726,
+ 20697, 21769, 15831, 12472,
+ 20697, 21769, 15831, 13482,
+ 20697, 21769, 15831, 14996,
+ 20697, 21769, 17064,
+ 20697, 21785, 14532,
+ 20697, 21785, 14533, 16371, 11652,
+ 20697, 21785, 14533, 16371, 12059, 10572,
+ 20697, 21785, 15464,
+ 20697, 21785, 15465, 16371, 11652,
+ 20697, 21785, 15465, 16371, 12059, 10572,
+ 20697, 21785, 18712,
+ 20697, 21785, 20311, 16371, 11652,
+ 20697, 21785, 20311, 16371, 12059, 10572,
+ 20697, 21797, 13502,
+ 20697, 21799, 861, 14397, 16371, 10573, 12473, 14532,
+ 20697, 21799, 861, 14397, 16371, 10573, 12473, 15464,
+ 20697, 21799, 861, 14397, 16371, 10573, 13483, 14532,
+ 20697, 21799, 861, 14397, 16371, 10573, 13483, 15464,
+ 20697, 21799, 861, 14397, 16371, 10573, 14997, 14532,
+ 20697, 21799, 861, 14397, 16371, 10573, 14997, 15464,
+ 20697, 21799, 967, 12472,
+ 20697, 21799, 967, 13482,
+ 20697, 21799, 967, 14996,
+ 20697, 21799, 1776,
+ 20697, 21799, 5784,
+ 20697, 21799, 7285, 13482,
+ 20697, 21799, 7285, 16371, 12033, 12473, 14532,
+ 20697, 21799, 7285, 16371, 12033, 13483, 14532,
+ 20697, 21799, 7285, 16371, 12033, 15671, 12473, 15670,
+ 20697, 21799, 7285, 16371, 12033, 15671, 13483, 15670,
+ 20697, 21799, 7285, 16371, 16005, 12473, 14532,
+ 20697, 21799, 7285, 16371, 16005, 12473, 15670,
+ 20697, 21799, 7285, 16371, 16005, 13483, 14532,
+ 20697, 21799, 7285, 16371, 16005, 13483, 15670,
+ 20697, 21799, 7851, 13482,
+ 20697, 21799, 7851, 16371, 12033, 12473, 14532,
+ 20697, 21799, 7851, 16371, 12033, 12473, 15464,
+ 20697, 21799, 7851, 16371, 12033, 13483, 14532,
+ 20697, 21799, 7851, 16371, 12033, 13483, 15464,
+ 20697, 21799, 7851, 16371, 16005, 12473, 14532,
+ 20697, 21799, 7851, 16371, 16005, 12473, 15464,
+ 20697, 21799, 7851, 16371, 16005, 13483, 14532,
+ 20697, 21799, 7851, 16371, 16005, 13483, 15464,
+ 20697, 21799, 10575, 12472,
+ 20697, 21799, 10575, 13482,
+ 20697, 21799, 10575, 13492,
+ 20697, 21799, 10575, 16371, 12033, 12472,
+ 20697, 21799, 10575, 16371, 12033, 13482,
+ 20697, 21799, 10575, 16371, 16005, 12472,
+ 20697, 21799, 10575, 16371, 16005, 13482,
+ 20697, 21799, 11642,
+ 20697, 21799, 11718,
+ 20697, 21799, 11729, 12472,
+ 20697, 21799, 11729, 13482,
+ 20697, 21799, 11729, 14996,
+ 20697, 21799, 11729, 16371, 12033, 12472,
+ 20697, 21799, 11729, 16371, 12033, 13482,
+ 20697, 21799, 11729, 16371, 16005, 12472,
+ 20697, 21799, 11729, 16371, 16005, 13482,
+ 20697, 21799, 11729, 16576,
+ 20697, 21799, 11729, 17622,
+ 20697, 21799, 13135, 12472,
+ 20697, 21799, 13135, 13482,
+ 20697, 21799, 13135, 14996,
+ 20697, 21799, 13987, 14397, 16371, 10573, 14532,
+ 20697, 21799, 13987, 14397, 16371, 10573, 15464,
+ 20697, 21799, 14429, 12472,
+ 20697, 21799, 14429, 13482,
+ 20697, 21799, 14429, 14996,
+ 20697, 21799, 14533, 13987, 6726,
+ 20697, 21799, 14533, 18474,
+ 20697, 21799, 14533, 20310,
+ 20697, 21799, 14533, 20311, 13987, 6726,
+ 20697, 21799, 14607, 16037, 16371, 10573, 14532,
+ 20697, 21799, 14607, 16037, 16371, 10573, 15464,
+ 20697, 21799, 14607, 16056,
+ 20697, 21799, 15465, 13987, 6726,
+ 20697, 21799, 15465, 18475, 12472,
+ 20697, 21799, 15465, 18475, 13482,
+ 20697, 21799, 15465, 18475, 14996,
+ 20697, 21799, 15465, 18475, 16576,
+ 20697, 21799, 15671, 13987, 6726,
+ 20697, 21799, 15671, 18475, 18160,
+ 20697, 21799, 15671, 20311, 13987, 6726,
+ 20697, 21799, 15671, 20311, 18160,
+ 20697, 21799, 15831, 12472,
+ 20697, 21799, 15831, 13482,
+ 20697, 21799, 15831, 14996,
+ 20697, 21799, 17065, 18256,
+ 20697, 21811, 14532,
+ 20697, 21811, 14533, 16371, 12032,
+ 20697, 21811, 14533, 16371, 16004,
+ 20697, 21811, 15464,
+ 20697, 21811, 15465, 16371, 12032,
+ 20697, 21811, 15465, 16371, 16004,
+ 20697, 21811, 20310,
+ 20697, 21811, 20311, 16371, 12032,
+ 20697, 21811, 20311, 16371, 16004,
+ 20706,
+ 20719, 2596,
+ 20719, 3056,
+ 20719, 3336,
+ 20719, 6720,
+ 20719, 6742,
+ 20719, 7779, 20628,
+ 20719, 8736,
+ 20719, 9243, 9808,
+ 20719, 10854,
+ 20719, 11916,
+ 20719, 12477, 13483, 14903, 16,
+ 20719, 12477, 13483, 14903, 26,
+ 20719, 12674,
+ 20719, 13271, 20628,
+ 20719, 13376,
+ 20719, 13654,
+ 20719, 14555, 9808,
+ 20730,
+ 20741, 20904,
+ 20753, 9808,
+ 20755, 2879, 18596,
+ 20755, 13483, 2879, 18596,
+ 20755, 13483, 17444,
+ 20755, 17444,
+ 20755, 18137, 17444,
+ 20755, 18597, 10595, 7779, 7087, 11520,
+ 20755, 18597, 10595, 13271, 7087, 11520,
+ 20759, 6682,
+ 20762,
+ 20765, 17863, 17936,
+ 20767, 12907, 6531, 5713, 11428,
+ 20767, 12907, 6531, 10487, 12213, 5713, 11428,
+ 20767, 12907, 6531, 12213, 5713, 11428,
+ 20767, 12907, 6531, 12499, 5713, 11428,
+ 20767, 12907, 6531, 14997, 5713, 11428,
+ 20767, 12907, 10583, 5713, 11428,
+ 20767, 12907, 10583, 10487, 12213, 5713, 11428,
+ 20767, 12907, 10583, 12213, 5713, 11428,
+ 20767, 12907, 10583, 12499, 5713, 11428,
+ 20767, 12907, 10583, 14997, 5713, 11428,
+ 20767, 13501, 6531, 5713, 11428,
+ 20767, 13501, 6531, 10487, 12213, 5713, 11428,
+ 20767, 13501, 6531, 12213, 5713, 11428,
+ 20767, 13501, 6531, 12499, 5713, 11428,
+ 20767, 13501, 6531, 14997, 5713, 11428,
+ 20767, 13501, 10583, 5713, 11428,
+ 20767, 13501, 10583, 10487, 12213, 5713, 11428,
+ 20767, 13501, 10583, 12213, 5713, 11428,
+ 20767, 13501, 10583, 12499, 5713, 11428,
+ 20767, 13501, 10583, 14997, 5713, 11428,
+ 20767, 17319, 5713, 11428,
+ 20767, 17319, 10487, 12213, 5713, 11428,
+ 20767, 17319, 12213, 5713, 11428,
+ 20767, 17319, 12499, 5713, 11428,
+ 20767, 17319, 14997, 5713, 11428,
+ 20767, 19029, 5713, 11428,
+ 20767, 19029, 10487, 12213, 5713, 11428,
+ 20767, 19029, 12213, 5713, 11428,
+ 20767, 19029, 12499, 5713, 11428,
+ 20767, 19029, 14997, 5713, 11428,
+ 20767, 19213, 5713, 11428,
+ 20767, 19213, 10487, 12213, 5713, 11428,
+ 20767, 19213, 12213, 5713, 11428,
+ 20767, 19213, 12499, 5713, 11428,
+ 20767, 19213, 14997, 5713, 11428,
+ 20767, 20163, 5713, 11428,
+ 20767, 20163, 10487, 12213, 5713, 11428,
+ 20767, 20163, 12213, 5713, 11428,
+ 20767, 20163, 12499, 5713, 11428,
+ 20767, 20163, 14997, 5713, 11428,
+ 20776,
+ 20779, 503, 18836,
+ 20785, 2655, 3213, 18567, 9808,
+ 20785, 2655, 12673, 9808,
+ 20785, 6085, 9474,
+ 20785, 11849, 2596,
+ 20785, 11849, 3056,
+ 20785, 11849, 3336,
+ 20785, 11849, 6720,
+ 20785, 11849, 6742,
+ 20785, 11849, 8736,
+ 20785, 11849, 10854,
+ 20785, 11849, 11916,
+ 20785, 11849, 13376,
+ 20785, 11849, 13654,
+ 20785, 14647, 9474,
+ 20791, 15565, 1391, 15736,
+ 20803, 15993, 4,
+ 20803, 15993, 14,
+ 20803, 15993, 16,
+ 20803, 15993, 34,
+ 20803, 15993, 50,
+ 20813, 46,
+ 20819, 9808,
+ 20819, 15794,
+ 20824,
+ 20841, 983, 18351, 6682,
+ 20841, 6682,
+ 20859, 18162,
+ 20863, 11521, 14396,
+ 20863, 11521, 15512,
+ 20863, 11521, 16128,
+ 20863, 13965, 14396,
+ 20863, 13965, 15512,
+ 20863, 13965, 16128,
+ 20864,
+ 20867, 5691, 11654,
+ 20869, 18407, 13965, 20163, 11428,
+ 20877, 503, 11943, 632,
+ 20877, 503, 17101, 11943, 632,
+ 20877, 503, 17101, 11943, 633, 10595, 1213, 11346,
+ 20877, 503, 17101, 11943, 633, 10595, 1213, 11347, 7778,
+ 20877, 503, 17101, 11943, 633, 10595, 1213, 14778,
+ 20877, 503, 19214,
+ 20877, 503, 19919, 632,
+ 20877, 503, 20320,
+ 20877, 841, 2499, 20320,
+ 20877, 841, 20699, 2499, 11943, 632,
+ 20877, 983, 2499, 11943, 632,
+ 20877, 983, 2499, 19919, 632,
+ 20877, 9131, 11943, 632,
+ 20877, 9808,
+ 20877, 10595, 1212,
+ 20877, 10595, 14397, 14778,
+ 20877, 10595, 18335, 8283, 11346,
+ 20877, 11347, 17087, 503, 11942,
+ 20877, 11347, 17087, 11347, 19214,
+ 20877, 11347, 17101, 11943, 11347, 19215, 11347, 17101, 11942,
+ 20877, 11347, 19215, 11347, 20455, 11942,
+ 20877, 11347, 20163, 11428,
+ 20877, 11347, 20455, 11943, 11347, 19214,
+ 20877, 11943, 633, 503, 19214,
+ 20877, 14287, 19214,
+ 20877, 14407, 123, 11728,
+ 20877, 14407, 123, 11729, 11347, 17101, 11942,
+ 20877, 20615, 19214,
+ 20883, 15034,
+ 20890,
+ 20892,
+ 20904,
+ 20905, 10595, 1212,
+ 20905, 10595, 16603, 840,
+ 20905, 10595, 16816,
+ 20905, 11347, 895, 11347, 13802,
+ 20905, 11347, 13802,
+ 20905, 14287, 841, 14793, 10595, 20904,
+ 20927, 5825, 535, 15564,
+ 20927, 5825, 2665, 15564,
+ 20927, 5825, 2897, 15564,
+ 20927, 5825, 11849, 2596,
+ 20927, 5825, 11849, 3056,
+ 20927, 5825, 11849, 3336,
+ 20927, 5825, 11849, 6720,
+ 20927, 5825, 11849, 6742,
+ 20927, 5825, 11849, 8736,
+ 20927, 5825, 11849, 10854,
+ 20927, 5825, 11849, 11916,
+ 20927, 5825, 11849, 13376,
+ 20927, 5825, 11849, 13654,
+ 20927, 5825, 12371, 15564,
+ 20927, 5825, 12736,
+ 20927, 5825, 13483, 0,
+ 20927, 5825, 13483, 2,
+ 20927, 5825, 13483, 4,
+ 20927, 5825, 13483, 6,
+ 20927, 5825, 13483, 8,
+ 20927, 5825, 13483, 10,
+ 20927, 5825, 13483, 12,
+ 20927, 5825, 13483, 14,
+ 20927, 5825, 13483, 16,
+ 20927, 5825, 13483, 18,
+ 20927, 5825, 13483, 20,
+ 20927, 5825, 13483, 22,
+ 20927, 5825, 13483, 24,
+ 20927, 5825, 13483, 26,
+ 20927, 5825, 13483, 28,
+ 20927, 5825, 13483, 30,
+ 20927, 5825, 13483, 32,
+ 20927, 5825, 13483, 34,
+ 20927, 5825, 13483, 36,
+ 20927, 5825, 13483, 38,
+ 20927, 5825, 13483, 40,
+ 20927, 5825, 13483, 42,
+ 20927, 5825, 13483, 44,
+ 20927, 5825, 13483, 46,
+ 20927, 5825, 13483, 48,
+ 20927, 5825, 13483, 50,
+ 20927, 5825, 13483, 438,
+ 20927, 5825, 13483, 470,
+ 20927, 5825, 13483, 534,
+ 20927, 5825, 13483, 722,
+ 20927, 5825, 13483, 1044,
+ 20927, 5825, 13483, 1320,
+ 20927, 5825, 13483, 2664,
+ 20927, 5825, 13483, 2706,
+ 20927, 5825, 13483, 2896,
+ 20927, 5825, 13483, 3196,
+ 20927, 5825, 13483, 5788,
+ 20927, 5825, 13483, 7402,
+ 20927, 5825, 13483, 10856,
+ 20927, 5825, 13483, 11388,
+ 20927, 5825, 13483, 11832,
+ 20927, 5825, 13483, 12023, 13452,
+ 20927, 5825, 13483, 12094,
+ 20927, 5825, 13483, 12370,
+ 20927, 5825, 13483, 12464,
+ 20927, 5825, 13483, 13078,
+ 20927, 5825, 13483, 13452,
+ 20927, 5825, 13483, 13636,
+ 20927, 5825, 13483, 16132,
+ 20927, 5825, 13483, 16256,
+ 20927, 5825, 13483, 16796,
+ 20927, 5825, 13483, 17316,
+ 20927, 5825, 13637, 15564,
+ 20927, 5825, 14787, 535, 15564,
+ 20927, 5825, 14787, 2665, 15564,
+ 20927, 5825, 14787, 2897, 15564,
+ 20927, 5825, 14787, 12371, 15564,
+ 20927, 5825, 14787, 12736,
+ 20927, 5825, 14787, 13483, 0,
+ 20927, 5825, 14787, 13483, 2,
+ 20927, 5825, 14787, 13483, 4,
+ 20927, 5825, 14787, 13483, 6,
+ 20927, 5825, 14787, 13483, 8,
+ 20927, 5825, 14787, 13483, 10,
+ 20927, 5825, 14787, 13483, 12,
+ 20927, 5825, 14787, 13483, 14,
+ 20927, 5825, 14787, 13483, 16,
+ 20927, 5825, 14787, 13483, 18,
+ 20927, 5825, 14787, 13483, 20,
+ 20927, 5825, 14787, 13483, 22,
+ 20927, 5825, 14787, 13483, 24,
+ 20927, 5825, 14787, 13483, 26,
+ 20927, 5825, 14787, 13483, 28,
+ 20927, 5825, 14787, 13483, 30,
+ 20927, 5825, 14787, 13483, 32,
+ 20927, 5825, 14787, 13483, 34,
+ 20927, 5825, 14787, 13483, 36,
+ 20927, 5825, 14787, 13483, 38,
+ 20927, 5825, 14787, 13483, 40,
+ 20927, 5825, 14787, 13483, 42,
+ 20927, 5825, 14787, 13483, 44,
+ 20927, 5825, 14787, 13483, 46,
+ 20927, 5825, 14787, 13483, 48,
+ 20927, 5825, 14787, 13483, 50,
+ 20927, 5825, 14787, 13483, 438,
+ 20927, 5825, 14787, 13483, 470,
+ 20927, 5825, 14787, 13483, 534,
+ 20927, 5825, 14787, 13483, 722,
+ 20927, 5825, 14787, 13483, 1044,
+ 20927, 5825, 14787, 13483, 1320,
+ 20927, 5825, 14787, 13483, 2664,
+ 20927, 5825, 14787, 13483, 2706,
+ 20927, 5825, 14787, 13483, 2896,
+ 20927, 5825, 14787, 13483, 3196,
+ 20927, 5825, 14787, 13483, 5788,
+ 20927, 5825, 14787, 13483, 7402,
+ 20927, 5825, 14787, 13483, 10856,
+ 20927, 5825, 14787, 13483, 11388,
+ 20927, 5825, 14787, 13483, 11832,
+ 20927, 5825, 14787, 13483, 12023, 13452,
+ 20927, 5825, 14787, 13483, 12094,
+ 20927, 5825, 14787, 13483, 12370,
+ 20927, 5825, 14787, 13483, 12464,
+ 20927, 5825, 14787, 13483, 13078,
+ 20927, 5825, 14787, 13483, 13452,
+ 20927, 5825, 14787, 13483, 13636,
+ 20927, 5825, 14787, 13483, 16256,
+ 20927, 5825, 14787, 13483, 16796,
+ 20927, 5825, 14787, 13483, 17316,
+ 20927, 5825, 14787, 13637, 15564,
+ 20927, 5825, 14787, 15993, 0,
+ 20927, 5825, 14787, 15993, 2,
+ 20927, 5825, 14787, 15993, 4,
+ 20927, 5825, 14787, 15993, 6,
+ 20927, 5825, 14787, 15993, 8,
+ 20927, 5825, 14787, 15993, 10,
+ 20927, 5825, 14787, 15993, 12,
+ 20927, 5825, 14787, 15993, 14,
+ 20927, 5825, 14787, 15993, 16,
+ 20927, 5825, 14787, 15993, 18,
+ 20927, 5825, 14787, 15993, 20,
+ 20927, 5825, 14787, 15993, 22,
+ 20927, 5825, 14787, 15993, 24,
+ 20927, 5825, 14787, 15993, 26,
+ 20927, 5825, 14787, 15993, 28,
+ 20927, 5825, 14787, 15993, 30,
+ 20927, 5825, 14787, 15993, 32,
+ 20927, 5825, 14787, 15993, 34,
+ 20927, 5825, 14787, 15993, 36,
+ 20927, 5825, 14787, 15993, 38,
+ 20927, 5825, 14787, 15993, 40,
+ 20927, 5825, 14787, 15993, 42,
+ 20927, 5825, 14787, 15993, 44,
+ 20927, 5825, 14787, 15993, 46,
+ 20927, 5825, 14787, 15993, 48,
+ 20927, 5825, 14787, 15993, 50,
+ 20927, 5825, 14787, 15993, 438,
+ 20927, 5825, 14787, 15993, 470,
+ 20927, 5825, 14787, 15993, 534,
+ 20927, 5825, 14787, 15993, 722,
+ 20927, 5825, 14787, 15993, 1044,
+ 20927, 5825, 14787, 15993, 1320,
+ 20927, 5825, 14787, 15993, 2664,
+ 20927, 5825, 14787, 15993, 2706,
+ 20927, 5825, 14787, 15993, 2896,
+ 20927, 5825, 14787, 15993, 3196,
+ 20927, 5825, 14787, 15993, 5788,
+ 20927, 5825, 14787, 15993, 7402,
+ 20927, 5825, 14787, 15993, 10856,
+ 20927, 5825, 14787, 15993, 11388,
+ 20927, 5825, 14787, 15993, 11832,
+ 20927, 5825, 14787, 15993, 12094,
+ 20927, 5825, 14787, 15993, 12370,
+ 20927, 5825, 14787, 15993, 12464,
+ 20927, 5825, 14787, 15993, 13078,
+ 20927, 5825, 14787, 15993, 13452,
+ 20927, 5825, 14787, 15993, 13636,
+ 20927, 5825, 14787, 15993, 13637, 15564,
+ 20927, 5825, 14787, 15993, 16256,
+ 20927, 5825, 14787, 15993, 16796,
+ 20927, 5825, 14787, 15993, 17316,
+ 20927, 5825, 14787, 16257, 15564,
+ 20927, 5825, 14787, 16857, 20828,
+ 20927, 5825, 15397, 13483, 0,
+ 20927, 5825, 15397, 13483, 2,
+ 20927, 5825, 15397, 13483, 4,
+ 20927, 5825, 15397, 13483, 6,
+ 20927, 5825, 15397, 13483, 8,
+ 20927, 5825, 15397, 13483, 10,
+ 20927, 5825, 15397, 13483, 12,
+ 20927, 5825, 15397, 13483, 14,
+ 20927, 5825, 15397, 13483, 16,
+ 20927, 5825, 15397, 13483, 18,
+ 20927, 5825, 15397, 13483, 20,
+ 20927, 5825, 15397, 13483, 22,
+ 20927, 5825, 15397, 13483, 24,
+ 20927, 5825, 15397, 13483, 26,
+ 20927, 5825, 15397, 13483, 28,
+ 20927, 5825, 15397, 13483, 30,
+ 20927, 5825, 15397, 13483, 32,
+ 20927, 5825, 15397, 13483, 34,
+ 20927, 5825, 15397, 13483, 36,
+ 20927, 5825, 15397, 13483, 38,
+ 20927, 5825, 15397, 13483, 40,
+ 20927, 5825, 15397, 13483, 42,
+ 20927, 5825, 15397, 13483, 44,
+ 20927, 5825, 15397, 13483, 46,
+ 20927, 5825, 15397, 13483, 48,
+ 20927, 5825, 15397, 13483, 50,
+ 20927, 5825, 15397, 15993, 0,
+ 20927, 5825, 15397, 15993, 2,
+ 20927, 5825, 15397, 15993, 4,
+ 20927, 5825, 15397, 15993, 6,
+ 20927, 5825, 15397, 15993, 8,
+ 20927, 5825, 15397, 15993, 10,
+ 20927, 5825, 15397, 15993, 12,
+ 20927, 5825, 15397, 15993, 14,
+ 20927, 5825, 15397, 15993, 16,
+ 20927, 5825, 15397, 15993, 18,
+ 20927, 5825, 15397, 15993, 20,
+ 20927, 5825, 15397, 15993, 22,
+ 20927, 5825, 15397, 15993, 24,
+ 20927, 5825, 15397, 15993, 26,
+ 20927, 5825, 15397, 15993, 28,
+ 20927, 5825, 15397, 15993, 30,
+ 20927, 5825, 15397, 15993, 32,
+ 20927, 5825, 15397, 15993, 34,
+ 20927, 5825, 15397, 15993, 36,
+ 20927, 5825, 15397, 15993, 38,
+ 20927, 5825, 15397, 15993, 40,
+ 20927, 5825, 15397, 15993, 42,
+ 20927, 5825, 15397, 15993, 44,
+ 20927, 5825, 15397, 15993, 46,
+ 20927, 5825, 15397, 15993, 48,
+ 20927, 5825, 15397, 15993, 50,
+ 20927, 5825, 15993, 0,
+ 20927, 5825, 15993, 2,
+ 20927, 5825, 15993, 4,
+ 20927, 5825, 15993, 6,
+ 20927, 5825, 15993, 8,
+ 20927, 5825, 15993, 10,
+ 20927, 5825, 15993, 12,
+ 20927, 5825, 15993, 14,
+ 20927, 5825, 15993, 16,
+ 20927, 5825, 15993, 18,
+ 20927, 5825, 15993, 20,
+ 20927, 5825, 15993, 22,
+ 20927, 5825, 15993, 24,
+ 20927, 5825, 15993, 26,
+ 20927, 5825, 15993, 28,
+ 20927, 5825, 15993, 30,
+ 20927, 5825, 15993, 32,
+ 20927, 5825, 15993, 34,
+ 20927, 5825, 15993, 36,
+ 20927, 5825, 15993, 38,
+ 20927, 5825, 15993, 40,
+ 20927, 5825, 15993, 42,
+ 20927, 5825, 15993, 44,
+ 20927, 5825, 15993, 46,
+ 20927, 5825, 15993, 48,
+ 20927, 5825, 15993, 50,
+ 20927, 5825, 15993, 438,
+ 20927, 5825, 15993, 470,
+ 20927, 5825, 15993, 534,
+ 20927, 5825, 15993, 722,
+ 20927, 5825, 15993, 1044,
+ 20927, 5825, 15993, 1320,
+ 20927, 5825, 15993, 2664,
+ 20927, 5825, 15993, 2706,
+ 20927, 5825, 15993, 2896,
+ 20927, 5825, 15993, 3196,
+ 20927, 5825, 15993, 5788,
+ 20927, 5825, 15993, 7402,
+ 20927, 5825, 15993, 10856,
+ 20927, 5825, 15993, 11388,
+ 20927, 5825, 15993, 11832,
+ 20927, 5825, 15993, 12094,
+ 20927, 5825, 15993, 12370,
+ 20927, 5825, 15993, 12464,
+ 20927, 5825, 15993, 13078,
+ 20927, 5825, 15993, 13452,
+ 20927, 5825, 15993, 13636,
+ 20927, 5825, 15993, 13637, 15564,
+ 20927, 5825, 15993, 16132,
+ 20927, 5825, 15993, 16256,
+ 20927, 5825, 15993, 16796,
+ 20927, 5825, 15993, 17316,
+ 20927, 5825, 16257, 15564,
+ 20927, 5825, 16303, 13483, 0,
+ 20927, 5825, 16303, 13483, 2,
+ 20927, 5825, 16303, 13483, 4,
+ 20927, 5825, 16303, 13483, 6,
+ 20927, 5825, 16303, 13483, 8,
+ 20927, 5825, 16303, 13483, 10,
+ 20927, 5825, 16303, 13483, 12,
+ 20927, 5825, 16303, 13483, 14,
+ 20927, 5825, 16303, 13483, 16,
+ 20927, 5825, 16303, 13483, 18,
+ 20927, 5825, 16303, 13483, 20,
+ 20927, 5825, 16303, 13483, 22,
+ 20927, 5825, 16303, 13483, 24,
+ 20927, 5825, 16303, 13483, 26,
+ 20927, 5825, 16303, 13483, 28,
+ 20927, 5825, 16303, 13483, 30,
+ 20927, 5825, 16303, 13483, 32,
+ 20927, 5825, 16303, 13483, 34,
+ 20927, 5825, 16303, 13483, 36,
+ 20927, 5825, 16303, 13483, 38,
+ 20927, 5825, 16303, 13483, 40,
+ 20927, 5825, 16303, 13483, 42,
+ 20927, 5825, 16303, 13483, 44,
+ 20927, 5825, 16303, 13483, 46,
+ 20927, 5825, 16303, 13483, 48,
+ 20927, 5825, 16303, 13483, 50,
+ 20927, 5825, 16303, 15993, 0,
+ 20927, 5825, 16303, 15993, 2,
+ 20927, 5825, 16303, 15993, 4,
+ 20927, 5825, 16303, 15993, 6,
+ 20927, 5825, 16303, 15993, 8,
+ 20927, 5825, 16303, 15993, 10,
+ 20927, 5825, 16303, 15993, 12,
+ 20927, 5825, 16303, 15993, 14,
+ 20927, 5825, 16303, 15993, 16,
+ 20927, 5825, 16303, 15993, 18,
+ 20927, 5825, 16303, 15993, 20,
+ 20927, 5825, 16303, 15993, 22,
+ 20927, 5825, 16303, 15993, 24,
+ 20927, 5825, 16303, 15993, 26,
+ 20927, 5825, 16303, 15993, 28,
+ 20927, 5825, 16303, 15993, 30,
+ 20927, 5825, 16303, 15993, 32,
+ 20927, 5825, 16303, 15993, 34,
+ 20927, 5825, 16303, 15993, 36,
+ 20927, 5825, 16303, 15993, 38,
+ 20927, 5825, 16303, 15993, 40,
+ 20927, 5825, 16303, 15993, 42,
+ 20927, 5825, 16303, 15993, 44,
+ 20927, 5825, 16303, 15993, 46,
+ 20927, 5825, 16303, 15993, 48,
+ 20927, 5825, 16303, 15993, 50,
+ 20927, 5825, 16857, 20828,
+ 20927, 7779, 11399, 15970,
+ 20927, 7779, 13965, 15513, 15970,
+ 20927, 7779, 13965, 18585, 13407, 15970,
+ 20927, 7779, 14533, 11399, 15970,
+ 20927, 7779, 19079, 20628,
+ 20927, 13271, 11399, 15970,
+ 20927, 13271, 13965, 15513, 15970,
+ 20927, 13271, 13965, 18585, 13407, 15970,
+ 20927, 13271, 14533, 11399, 15970,
+ 20927, 13271, 19079, 20628,
+ 20927, 14787, 535, 15564,
+ 20927, 14787, 2665, 15564,
+ 20927, 14787, 2897, 15564,
+ 20927, 14787, 12371, 15564,
+ 20927, 14787, 12736,
+ 20927, 14787, 13483, 0,
+ 20927, 14787, 13483, 2,
+ 20927, 14787, 13483, 4,
+ 20927, 14787, 13483, 6,
+ 20927, 14787, 13483, 8,
+ 20927, 14787, 13483, 10,
+ 20927, 14787, 13483, 12,
+ 20927, 14787, 13483, 16,
+ 20927, 14787, 13483, 18,
+ 20927, 14787, 13483, 20,
+ 20927, 14787, 13483, 22,
+ 20927, 14787, 13483, 24,
+ 20927, 14787, 13483, 26,
+ 20927, 14787, 13483, 28,
+ 20927, 14787, 13483, 30,
+ 20927, 14787, 13483, 32,
+ 20927, 14787, 13483, 34,
+ 20927, 14787, 13483, 36,
+ 20927, 14787, 13483, 38,
+ 20927, 14787, 13483, 40,
+ 20927, 14787, 13483, 42,
+ 20927, 14787, 13483, 44,
+ 20927, 14787, 13483, 46,
+ 20927, 14787, 13483, 48,
+ 20927, 14787, 13483, 50,
+ 20927, 14787, 13483, 438,
+ 20927, 14787, 13483, 470,
+ 20927, 14787, 13483, 534,
+ 20927, 14787, 13483, 722,
+ 20927, 14787, 13483, 1044,
+ 20927, 14787, 13483, 1320,
+ 20927, 14787, 13483, 2664,
+ 20927, 14787, 13483, 2706,
+ 20927, 14787, 13483, 2896,
+ 20927, 14787, 13483, 3196,
+ 20927, 14787, 13483, 5788,
+ 20927, 14787, 13483, 7402,
+ 20927, 14787, 13483, 10856,
+ 20927, 14787, 13483, 11388,
+ 20927, 14787, 13483, 11832,
+ 20927, 14787, 13483, 12023, 13452,
+ 20927, 14787, 13483, 12094,
+ 20927, 14787, 13483, 12370,
+ 20927, 14787, 13483, 12464,
+ 20927, 14787, 13483, 13078,
+ 20927, 14787, 13483, 13452,
+ 20927, 14787, 13483, 13636,
+ 20927, 14787, 13483, 16159, 16,
+ 20927, 14787, 13483, 16159, 18,
+ 20927, 14787, 13483, 16256,
+ 20927, 14787, 13483, 16796,
+ 20927, 14787, 13483, 17316,
+ 20927, 14787, 13637, 15564,
+ 20927, 14787, 15993, 0,
+ 20927, 14787, 15993, 2,
+ 20927, 14787, 15993, 4,
+ 20927, 14787, 15993, 6,
+ 20927, 14787, 15993, 8,
+ 20927, 14787, 15993, 10,
+ 20927, 14787, 15993, 12,
+ 20927, 14787, 15993, 14,
+ 20927, 14787, 15993, 16,
+ 20927, 14787, 15993, 18,
+ 20927, 14787, 15993, 20,
+ 20927, 14787, 15993, 22,
+ 20927, 14787, 15993, 24,
+ 20927, 14787, 15993, 26,
+ 20927, 14787, 15993, 28,
+ 20927, 14787, 15993, 30,
+ 20927, 14787, 15993, 32,
+ 20927, 14787, 15993, 34,
+ 20927, 14787, 15993, 36,
+ 20927, 14787, 15993, 38,
+ 20927, 14787, 15993, 40,
+ 20927, 14787, 15993, 42,
+ 20927, 14787, 15993, 44,
+ 20927, 14787, 15993, 46,
+ 20927, 14787, 15993, 48,
+ 20927, 14787, 15993, 50,
+ 20927, 14787, 15993, 438,
+ 20927, 14787, 15993, 470,
+ 20927, 14787, 15993, 534,
+ 20927, 14787, 15993, 722,
+ 20927, 14787, 15993, 1044,
+ 20927, 14787, 15993, 1320,
+ 20927, 14787, 15993, 2664,
+ 20927, 14787, 15993, 2706,
+ 20927, 14787, 15993, 2896,
+ 20927, 14787, 15993, 3196,
+ 20927, 14787, 15993, 5788,
+ 20927, 14787, 15993, 7402,
+ 20927, 14787, 15993, 10856,
+ 20927, 14787, 15993, 11388,
+ 20927, 14787, 15993, 11832,
+ 20927, 14787, 15993, 12094,
+ 20927, 14787, 15993, 12370,
+ 20927, 14787, 15993, 12464,
+ 20927, 14787, 15993, 13078,
+ 20927, 14787, 15993, 13452,
+ 20927, 14787, 15993, 13636,
+ 20927, 14787, 15993, 13637, 15564,
+ 20927, 14787, 15993, 16256,
+ 20927, 14787, 15993, 16796,
+ 20927, 14787, 15993, 17316,
+ 20927, 14787, 16257, 15564,
+ 20927, 14787, 16857, 20828,
+ 20927, 15347, 17686,
+ 20927, 15397, 13483, 0,
+ 20927, 15397, 13483, 2,
+ 20927, 15397, 13483, 4,
+ 20927, 15397, 13483, 6,
+ 20927, 15397, 13483, 10,
+ 20927, 15397, 13483, 14,
+ 20927, 15397, 13483, 16,
+ 20927, 15397, 13483, 18,
+ 20927, 15397, 13483, 20,
+ 20927, 15397, 13483, 22,
+ 20927, 15397, 13483, 24,
+ 20927, 15397, 13483, 26,
+ 20927, 15397, 13483, 30,
+ 20927, 15397, 13483, 32,
+ 20927, 15397, 13483, 34,
+ 20927, 15397, 13483, 36,
+ 20927, 15397, 13483, 38,
+ 20927, 15397, 13483, 40,
+ 20927, 15397, 13483, 42,
+ 20927, 15397, 13483, 44,
+ 20927, 15397, 13483, 46,
+ 20927, 15397, 13483, 48,
+ 20927, 15397, 13483, 50,
+ 20927, 15397, 15993, 0,
+ 20927, 15397, 15993, 4,
+ 20927, 15397, 15993, 6,
+ 20927, 15397, 15993, 12,
+ 20927, 15397, 15993, 18,
+ 20927, 15397, 15993, 20,
+ 20927, 15397, 15993, 26,
+ 20927, 15397, 15993, 28,
+ 20927, 15397, 15993, 30,
+ 20927, 15397, 15993, 32,
+ 20927, 15397, 15993, 36,
+ 20927, 15397, 15993, 38,
+ 20927, 15397, 15993, 40,
+ 20927, 15397, 15993, 42,
+ 20927, 15397, 15993, 44,
+ 20927, 15397, 15993, 46,
+ 20927, 15397, 15993, 48,
+ 20927, 15397, 15993, 50,
+ 20927, 16269, 17686,
+ 20927, 16303, 13483, 0,
+ 20927, 16303, 13483, 2,
+ 20927, 16303, 13483, 4,
+ 20927, 16303, 13483, 6,
+ 20927, 16303, 13483, 8,
+ 20927, 16303, 13483, 10,
+ 20927, 16303, 13483, 12,
+ 20927, 16303, 13483, 14,
+ 20927, 16303, 13483, 16,
+ 20927, 16303, 13483, 18,
+ 20927, 16303, 13483, 20,
+ 20927, 16303, 13483, 22,
+ 20927, 16303, 13483, 24,
+ 20927, 16303, 13483, 26,
+ 20927, 16303, 13483, 28,
+ 20927, 16303, 13483, 30,
+ 20927, 16303, 13483, 32,
+ 20927, 16303, 13483, 34,
+ 20927, 16303, 13483, 36,
+ 20927, 16303, 13483, 38,
+ 20927, 16303, 13483, 40,
+ 20927, 16303, 13483, 42,
+ 20927, 16303, 13483, 44,
+ 20927, 16303, 13483, 46,
+ 20927, 16303, 13483, 48,
+ 20927, 16303, 13483, 50,
+ 20927, 16303, 15993, 0,
+ 20927, 16303, 15993, 2,
+ 20927, 16303, 15993, 6,
+ 20927, 16303, 15993, 8,
+ 20927, 16303, 15993, 10,
+ 20927, 16303, 15993, 12,
+ 20927, 16303, 15993, 18,
+ 20927, 16303, 15993, 20,
+ 20927, 16303, 15993, 22,
+ 20927, 16303, 15993, 24,
+ 20927, 16303, 15993, 26,
+ 20927, 16303, 15993, 28,
+ 20927, 16303, 15993, 30,
+ 20927, 16303, 15993, 32,
+ 20927, 16303, 15993, 36,
+ 20927, 16303, 15993, 38,
+ 20927, 16303, 15993, 40,
+ 20927, 16303, 15993, 42,
+ 20927, 16303, 15993, 44,
+ 20927, 16303, 15993, 46,
+ 20927, 16303, 15993, 48,
+ 20927, 19257, 11849, 2596,
+ 20927, 19257, 11849, 3056,
+ 20927, 19257, 11849, 3336,
+ 20927, 19257, 11849, 6720,
+ 20927, 19257, 11849, 6742,
+ 20927, 19257, 11849, 8736,
+ 20927, 19257, 11849, 10854,
+ 20927, 19257, 11849, 11916,
+ 20927, 19257, 11849, 13376,
+ 20927, 19257, 11849, 13654,
+ 20927, 19257, 13483, 0,
+ 20927, 19257, 13483, 2,
+ 20927, 19257, 13483, 4,
+ 20927, 19257, 13483, 6,
+ 20927, 19257, 13483, 8,
+ 20927, 19257, 13483, 10,
+ 20927, 19257, 13483, 12,
+ 20927, 19257, 13483, 14,
+ 20927, 19257, 13483, 16,
+ 20927, 19257, 13483, 18,
+ 20927, 19257, 13483, 20,
+ 20927, 19257, 13483, 22,
+ 20927, 19257, 13483, 24,
+ 20927, 19257, 13483, 26,
+ 20927, 19257, 13483, 28,
+ 20927, 19257, 13483, 30,
+ 20927, 19257, 13483, 32,
+ 20927, 19257, 13483, 34,
+ 20927, 19257, 13483, 36,
+ 20927, 19257, 13483, 38,
+ 20927, 19257, 13483, 40,
+ 20927, 19257, 13483, 42,
+ 20927, 19257, 13483, 44,
+ 20927, 19257, 13483, 46,
+ 20927, 19257, 13483, 48,
+ 20927, 19257, 13483, 50,
+ 20927, 19257, 15993, 0,
+ 20927, 19257, 15993, 2,
+ 20927, 19257, 15993, 4,
+ 20927, 19257, 15993, 6,
+ 20927, 19257, 15993, 8,
+ 20927, 19257, 15993, 10,
+ 20927, 19257, 15993, 12,
+ 20927, 19257, 15993, 14,
+ 20927, 19257, 15993, 16,
+ 20927, 19257, 15993, 18,
+ 20927, 19257, 15993, 20,
+ 20927, 19257, 15993, 22,
+ 20927, 19257, 15993, 24,
+ 20927, 19257, 15993, 26,
+ 20927, 19257, 15993, 28,
+ 20927, 19257, 15993, 30,
+ 20927, 19257, 15993, 32,
+ 20927, 19257, 15993, 34,
+ 20927, 19257, 15993, 36,
+ 20927, 19257, 15993, 38,
+ 20927, 19257, 15993, 40,
+ 20927, 19257, 15993, 42,
+ 20927, 19257, 15993, 44,
+ 20927, 19257, 15993, 46,
+ 20927, 19257, 15993, 48,
+ 20927, 19257, 15993, 50,
+ 20927, 20165, 5825, 535, 15564,
+ 20927, 20165, 5825, 2665, 15564,
+ 20927, 20165, 5825, 2897, 15564,
+ 20927, 20165, 5825, 11849, 2596,
+ 20927, 20165, 5825, 11849, 3056,
+ 20927, 20165, 5825, 11849, 3336,
+ 20927, 20165, 5825, 11849, 6720,
+ 20927, 20165, 5825, 11849, 6742,
+ 20927, 20165, 5825, 11849, 8736,
+ 20927, 20165, 5825, 11849, 10854,
+ 20927, 20165, 5825, 11849, 11916,
+ 20927, 20165, 5825, 11849, 13376,
+ 20927, 20165, 5825, 11849, 13654,
+ 20927, 20165, 5825, 12371, 15564,
+ 20927, 20165, 5825, 12736,
+ 20927, 20165, 5825, 13483, 0,
+ 20927, 20165, 5825, 13483, 2,
+ 20927, 20165, 5825, 13483, 4,
+ 20927, 20165, 5825, 13483, 6,
+ 20927, 20165, 5825, 13483, 8,
+ 20927, 20165, 5825, 13483, 10,
+ 20927, 20165, 5825, 13483, 12,
+ 20927, 20165, 5825, 13483, 14,
+ 20927, 20165, 5825, 13483, 16,
+ 20927, 20165, 5825, 13483, 18,
+ 20927, 20165, 5825, 13483, 20,
+ 20927, 20165, 5825, 13483, 22,
+ 20927, 20165, 5825, 13483, 24,
+ 20927, 20165, 5825, 13483, 26,
+ 20927, 20165, 5825, 13483, 28,
+ 20927, 20165, 5825, 13483, 30,
+ 20927, 20165, 5825, 13483, 32,
+ 20927, 20165, 5825, 13483, 34,
+ 20927, 20165, 5825, 13483, 36,
+ 20927, 20165, 5825, 13483, 38,
+ 20927, 20165, 5825, 13483, 40,
+ 20927, 20165, 5825, 13483, 42,
+ 20927, 20165, 5825, 13483, 44,
+ 20927, 20165, 5825, 13483, 46,
+ 20927, 20165, 5825, 13483, 48,
+ 20927, 20165, 5825, 13483, 50,
+ 20927, 20165, 5825, 13483, 438,
+ 20927, 20165, 5825, 13483, 470,
+ 20927, 20165, 5825, 13483, 534,
+ 20927, 20165, 5825, 13483, 722,
+ 20927, 20165, 5825, 13483, 1044,
+ 20927, 20165, 5825, 13483, 1320,
+ 20927, 20165, 5825, 13483, 2664,
+ 20927, 20165, 5825, 13483, 2706,
+ 20927, 20165, 5825, 13483, 2896,
+ 20927, 20165, 5825, 13483, 3196,
+ 20927, 20165, 5825, 13483, 5788,
+ 20927, 20165, 5825, 13483, 7402,
+ 20927, 20165, 5825, 13483, 10856,
+ 20927, 20165, 5825, 13483, 11388,
+ 20927, 20165, 5825, 13483, 11832,
+ 20927, 20165, 5825, 13483, 12023, 13452,
+ 20927, 20165, 5825, 13483, 12094,
+ 20927, 20165, 5825, 13483, 12370,
+ 20927, 20165, 5825, 13483, 12464,
+ 20927, 20165, 5825, 13483, 13078,
+ 20927, 20165, 5825, 13483, 13452,
+ 20927, 20165, 5825, 13483, 13636,
+ 20927, 20165, 5825, 13483, 16256,
+ 20927, 20165, 5825, 13483, 16796,
+ 20927, 20165, 5825, 13483, 17316,
+ 20927, 20165, 5825, 13637, 15564,
+ 20927, 20165, 5825, 14787, 535, 15564,
+ 20927, 20165, 5825, 14787, 2665, 15564,
+ 20927, 20165, 5825, 14787, 2897, 15564,
+ 20927, 20165, 5825, 14787, 12371, 15564,
+ 20927, 20165, 5825, 14787, 12736,
+ 20927, 20165, 5825, 14787, 13483, 0,
+ 20927, 20165, 5825, 14787, 13483, 2,
+ 20927, 20165, 5825, 14787, 13483, 4,
+ 20927, 20165, 5825, 14787, 13483, 6,
+ 20927, 20165, 5825, 14787, 13483, 8,
+ 20927, 20165, 5825, 14787, 13483, 10,
+ 20927, 20165, 5825, 14787, 13483, 12,
+ 20927, 20165, 5825, 14787, 13483, 14,
+ 20927, 20165, 5825, 14787, 13483, 16,
+ 20927, 20165, 5825, 14787, 13483, 18,
+ 20927, 20165, 5825, 14787, 13483, 20,
+ 20927, 20165, 5825, 14787, 13483, 22,
+ 20927, 20165, 5825, 14787, 13483, 24,
+ 20927, 20165, 5825, 14787, 13483, 26,
+ 20927, 20165, 5825, 14787, 13483, 28,
+ 20927, 20165, 5825, 14787, 13483, 30,
+ 20927, 20165, 5825, 14787, 13483, 32,
+ 20927, 20165, 5825, 14787, 13483, 34,
+ 20927, 20165, 5825, 14787, 13483, 36,
+ 20927, 20165, 5825, 14787, 13483, 38,
+ 20927, 20165, 5825, 14787, 13483, 40,
+ 20927, 20165, 5825, 14787, 13483, 42,
+ 20927, 20165, 5825, 14787, 13483, 44,
+ 20927, 20165, 5825, 14787, 13483, 46,
+ 20927, 20165, 5825, 14787, 13483, 48,
+ 20927, 20165, 5825, 14787, 13483, 50,
+ 20927, 20165, 5825, 14787, 13483, 438,
+ 20927, 20165, 5825, 14787, 13483, 470,
+ 20927, 20165, 5825, 14787, 13483, 534,
+ 20927, 20165, 5825, 14787, 13483, 722,
+ 20927, 20165, 5825, 14787, 13483, 1044,
+ 20927, 20165, 5825, 14787, 13483, 1320,
+ 20927, 20165, 5825, 14787, 13483, 2664,
+ 20927, 20165, 5825, 14787, 13483, 2706,
+ 20927, 20165, 5825, 14787, 13483, 2896,
+ 20927, 20165, 5825, 14787, 13483, 3196,
+ 20927, 20165, 5825, 14787, 13483, 5788,
+ 20927, 20165, 5825, 14787, 13483, 7402,
+ 20927, 20165, 5825, 14787, 13483, 10856,
+ 20927, 20165, 5825, 14787, 13483, 11388,
+ 20927, 20165, 5825, 14787, 13483, 11832,
+ 20927, 20165, 5825, 14787, 13483, 12023, 13452,
+ 20927, 20165, 5825, 14787, 13483, 12094,
+ 20927, 20165, 5825, 14787, 13483, 12370,
+ 20927, 20165, 5825, 14787, 13483, 12464,
+ 20927, 20165, 5825, 14787, 13483, 13078,
+ 20927, 20165, 5825, 14787, 13483, 13452,
+ 20927, 20165, 5825, 14787, 13483, 13636,
+ 20927, 20165, 5825, 14787, 13483, 16256,
+ 20927, 20165, 5825, 14787, 13483, 16796,
+ 20927, 20165, 5825, 14787, 13483, 17316,
+ 20927, 20165, 5825, 14787, 13637, 15564,
+ 20927, 20165, 5825, 14787, 15993, 0,
+ 20927, 20165, 5825, 14787, 15993, 2,
+ 20927, 20165, 5825, 14787, 15993, 4,
+ 20927, 20165, 5825, 14787, 15993, 6,
+ 20927, 20165, 5825, 14787, 15993, 8,
+ 20927, 20165, 5825, 14787, 15993, 10,
+ 20927, 20165, 5825, 14787, 15993, 12,
+ 20927, 20165, 5825, 14787, 15993, 14,
+ 20927, 20165, 5825, 14787, 15993, 16,
+ 20927, 20165, 5825, 14787, 15993, 18,
+ 20927, 20165, 5825, 14787, 15993, 20,
+ 20927, 20165, 5825, 14787, 15993, 22,
+ 20927, 20165, 5825, 14787, 15993, 24,
+ 20927, 20165, 5825, 14787, 15993, 26,
+ 20927, 20165, 5825, 14787, 15993, 28,
+ 20927, 20165, 5825, 14787, 15993, 30,
+ 20927, 20165, 5825, 14787, 15993, 32,
+ 20927, 20165, 5825, 14787, 15993, 34,
+ 20927, 20165, 5825, 14787, 15993, 36,
+ 20927, 20165, 5825, 14787, 15993, 38,
+ 20927, 20165, 5825, 14787, 15993, 40,
+ 20927, 20165, 5825, 14787, 15993, 42,
+ 20927, 20165, 5825, 14787, 15993, 44,
+ 20927, 20165, 5825, 14787, 15993, 46,
+ 20927, 20165, 5825, 14787, 15993, 48,
+ 20927, 20165, 5825, 14787, 15993, 50,
+ 20927, 20165, 5825, 14787, 15993, 438,
+ 20927, 20165, 5825, 14787, 15993, 470,
+ 20927, 20165, 5825, 14787, 15993, 534,
+ 20927, 20165, 5825, 14787, 15993, 722,
+ 20927, 20165, 5825, 14787, 15993, 1044,
+ 20927, 20165, 5825, 14787, 15993, 1320,
+ 20927, 20165, 5825, 14787, 15993, 2664,
+ 20927, 20165, 5825, 14787, 15993, 2706,
+ 20927, 20165, 5825, 14787, 15993, 2896,
+ 20927, 20165, 5825, 14787, 15993, 3196,
+ 20927, 20165, 5825, 14787, 15993, 5788,
+ 20927, 20165, 5825, 14787, 15993, 7402,
+ 20927, 20165, 5825, 14787, 15993, 10856,
+ 20927, 20165, 5825, 14787, 15993, 11388,
+ 20927, 20165, 5825, 14787, 15993, 11832,
+ 20927, 20165, 5825, 14787, 15993, 12094,
+ 20927, 20165, 5825, 14787, 15993, 12370,
+ 20927, 20165, 5825, 14787, 15993, 12464,
+ 20927, 20165, 5825, 14787, 15993, 13078,
+ 20927, 20165, 5825, 14787, 15993, 13452,
+ 20927, 20165, 5825, 14787, 15993, 13636,
+ 20927, 20165, 5825, 14787, 15993, 13637, 15564,
+ 20927, 20165, 5825, 14787, 15993, 16256,
+ 20927, 20165, 5825, 14787, 15993, 16796,
+ 20927, 20165, 5825, 14787, 15993, 17316,
+ 20927, 20165, 5825, 14787, 16257, 15564,
+ 20927, 20165, 5825, 14787, 16857, 20828,
+ 20927, 20165, 5825, 15993, 0,
+ 20927, 20165, 5825, 15993, 2,
+ 20927, 20165, 5825, 15993, 4,
+ 20927, 20165, 5825, 15993, 6,
+ 20927, 20165, 5825, 15993, 8,
+ 20927, 20165, 5825, 15993, 10,
+ 20927, 20165, 5825, 15993, 12,
+ 20927, 20165, 5825, 15993, 14,
+ 20927, 20165, 5825, 15993, 16,
+ 20927, 20165, 5825, 15993, 18,
+ 20927, 20165, 5825, 15993, 20,
+ 20927, 20165, 5825, 15993, 22,
+ 20927, 20165, 5825, 15993, 24,
+ 20927, 20165, 5825, 15993, 26,
+ 20927, 20165, 5825, 15993, 28,
+ 20927, 20165, 5825, 15993, 30,
+ 20927, 20165, 5825, 15993, 32,
+ 20927, 20165, 5825, 15993, 34,
+ 20927, 20165, 5825, 15993, 36,
+ 20927, 20165, 5825, 15993, 38,
+ 20927, 20165, 5825, 15993, 40,
+ 20927, 20165, 5825, 15993, 42,
+ 20927, 20165, 5825, 15993, 44,
+ 20927, 20165, 5825, 15993, 46,
+ 20927, 20165, 5825, 15993, 48,
+ 20927, 20165, 5825, 15993, 50,
+ 20927, 20165, 5825, 15993, 438,
+ 20927, 20165, 5825, 15993, 470,
+ 20927, 20165, 5825, 15993, 534,
+ 20927, 20165, 5825, 15993, 722,
+ 20927, 20165, 5825, 15993, 1044,
+ 20927, 20165, 5825, 15993, 1320,
+ 20927, 20165, 5825, 15993, 2664,
+ 20927, 20165, 5825, 15993, 2706,
+ 20927, 20165, 5825, 15993, 2896,
+ 20927, 20165, 5825, 15993, 3196,
+ 20927, 20165, 5825, 15993, 5788,
+ 20927, 20165, 5825, 15993, 7402,
+ 20927, 20165, 5825, 15993, 10856,
+ 20927, 20165, 5825, 15993, 11388,
+ 20927, 20165, 5825, 15993, 11832,
+ 20927, 20165, 5825, 15993, 12094,
+ 20927, 20165, 5825, 15993, 12370,
+ 20927, 20165, 5825, 15993, 12464,
+ 20927, 20165, 5825, 15993, 13078,
+ 20927, 20165, 5825, 15993, 13452,
+ 20927, 20165, 5825, 15993, 13636,
+ 20927, 20165, 5825, 15993, 13637, 15564,
+ 20927, 20165, 5825, 15993, 16256,
+ 20927, 20165, 5825, 15993, 16796,
+ 20927, 20165, 5825, 15993, 17316,
+ 20927, 20165, 5825, 16257, 15564,
+ 20927, 20165, 5825, 16857, 20828,
+ 20927, 20165, 11849, 2596,
+ 20927, 20165, 11849, 3056,
+ 20927, 20165, 11849, 3336,
+ 20927, 20165, 11849, 6720,
+ 20927, 20165, 11849, 6742,
+ 20927, 20165, 11849, 8736,
+ 20927, 20165, 11849, 10854,
+ 20927, 20165, 11849, 11916,
+ 20927, 20165, 11849, 13376,
+ 20927, 20165, 11849, 13654,
+ 20927, 20165, 13483, 0,
+ 20927, 20165, 13483, 2,
+ 20927, 20165, 13483, 4,
+ 20927, 20165, 13483, 6,
+ 20927, 20165, 13483, 8,
+ 20927, 20165, 13483, 10,
+ 20927, 20165, 13483, 12,
+ 20927, 20165, 13483, 14,
+ 20927, 20165, 13483, 16,
+ 20927, 20165, 13483, 18,
+ 20927, 20165, 13483, 20,
+ 20927, 20165, 13483, 22,
+ 20927, 20165, 13483, 24,
+ 20927, 20165, 13483, 26,
+ 20927, 20165, 13483, 28,
+ 20927, 20165, 13483, 30,
+ 20927, 20165, 13483, 32,
+ 20927, 20165, 13483, 34,
+ 20927, 20165, 13483, 36,
+ 20927, 20165, 13483, 38,
+ 20927, 20165, 13483, 40,
+ 20927, 20165, 13483, 42,
+ 20927, 20165, 13483, 44,
+ 20927, 20165, 13483, 46,
+ 20927, 20165, 13483, 48,
+ 20927, 20165, 13483, 50,
+ 20927, 20165, 14787, 13483, 0,
+ 20927, 20165, 14787, 13483, 2,
+ 20927, 20165, 14787, 13483, 4,
+ 20927, 20165, 14787, 13483, 6,
+ 20927, 20165, 14787, 13483, 8,
+ 20927, 20165, 14787, 13483, 10,
+ 20927, 20165, 14787, 13483, 12,
+ 20927, 20165, 14787, 13483, 14,
+ 20927, 20165, 14787, 13483, 16,
+ 20927, 20165, 14787, 13483, 18,
+ 20927, 20165, 14787, 13483, 20,
+ 20927, 20165, 14787, 13483, 22,
+ 20927, 20165, 14787, 13483, 24,
+ 20927, 20165, 14787, 13483, 26,
+ 20927, 20165, 14787, 13483, 28,
+ 20927, 20165, 14787, 13483, 30,
+ 20927, 20165, 14787, 13483, 32,
+ 20927, 20165, 14787, 13483, 34,
+ 20927, 20165, 14787, 13483, 36,
+ 20927, 20165, 14787, 13483, 38,
+ 20927, 20165, 14787, 13483, 40,
+ 20927, 20165, 14787, 13483, 42,
+ 20927, 20165, 14787, 13483, 44,
+ 20927, 20165, 14787, 13483, 46,
+ 20927, 20165, 14787, 13483, 48,
+ 20927, 20165, 14787, 13483, 50,
+ 20927, 20165, 14787, 15993, 0,
+ 20927, 20165, 14787, 15993, 2,
+ 20927, 20165, 14787, 15993, 4,
+ 20927, 20165, 14787, 15993, 6,
+ 20927, 20165, 14787, 15993, 8,
+ 20927, 20165, 14787, 15993, 10,
+ 20927, 20165, 14787, 15993, 12,
+ 20927, 20165, 14787, 15993, 14,
+ 20927, 20165, 14787, 15993, 16,
+ 20927, 20165, 14787, 15993, 18,
+ 20927, 20165, 14787, 15993, 20,
+ 20927, 20165, 14787, 15993, 22,
+ 20927, 20165, 14787, 15993, 24,
+ 20927, 20165, 14787, 15993, 26,
+ 20927, 20165, 14787, 15993, 28,
+ 20927, 20165, 14787, 15993, 30,
+ 20927, 20165, 14787, 15993, 32,
+ 20927, 20165, 14787, 15993, 34,
+ 20927, 20165, 14787, 15993, 36,
+ 20927, 20165, 14787, 15993, 38,
+ 20927, 20165, 14787, 15993, 40,
+ 20927, 20165, 14787, 15993, 42,
+ 20927, 20165, 14787, 15993, 44,
+ 20927, 20165, 14787, 15993, 46,
+ 20927, 20165, 14787, 15993, 48,
+ 20927, 20165, 14787, 15993, 50,
+ 20927, 20165, 15993, 0,
+ 20927, 20165, 15993, 2,
+ 20927, 20165, 15993, 4,
+ 20927, 20165, 15993, 6,
+ 20927, 20165, 15993, 8,
+ 20927, 20165, 15993, 10,
+ 20927, 20165, 15993, 12,
+ 20927, 20165, 15993, 14,
+ 20927, 20165, 15993, 16,
+ 20927, 20165, 15993, 18,
+ 20927, 20165, 15993, 20,
+ 20927, 20165, 15993, 22,
+ 20927, 20165, 15993, 24,
+ 20927, 20165, 15993, 26,
+ 20927, 20165, 15993, 28,
+ 20927, 20165, 15993, 30,
+ 20927, 20165, 15993, 32,
+ 20927, 20165, 15993, 34,
+ 20927, 20165, 15993, 36,
+ 20927, 20165, 15993, 38,
+ 20927, 20165, 15993, 40,
+ 20927, 20165, 15993, 42,
+ 20927, 20165, 15993, 44,
+ 20927, 20165, 15993, 46,
+ 20927, 20165, 15993, 48,
+ 20927, 20165, 15993, 50,
+ 20927, 21087, 11849, 2596,
+ 20927, 21087, 11849, 3056,
+ 20927, 21087, 11849, 3336,
+ 20927, 21087, 11849, 6720,
+ 20927, 21087, 11849, 6742,
+ 20927, 21087, 11849, 8736,
+ 20927, 21087, 11849, 10854,
+ 20927, 21087, 11849, 11916,
+ 20927, 21087, 11849, 13376,
+ 20927, 21087, 11849, 13654,
+ 20927, 21087, 13483, 0,
+ 20927, 21087, 13483, 2,
+ 20927, 21087, 13483, 4,
+ 20927, 21087, 13483, 6,
+ 20927, 21087, 13483, 8,
+ 20927, 21087, 13483, 10,
+ 20927, 21087, 13483, 12,
+ 20927, 21087, 13483, 14,
+ 20927, 21087, 13483, 16,
+ 20927, 21087, 13483, 18,
+ 20927, 21087, 13483, 20,
+ 20927, 21087, 13483, 22,
+ 20927, 21087, 13483, 24,
+ 20927, 21087, 13483, 26,
+ 20927, 21087, 13483, 28,
+ 20927, 21087, 13483, 30,
+ 20927, 21087, 13483, 32,
+ 20927, 21087, 13483, 34,
+ 20927, 21087, 13483, 36,
+ 20927, 21087, 13483, 38,
+ 20927, 21087, 13483, 40,
+ 20927, 21087, 13483, 42,
+ 20927, 21087, 13483, 44,
+ 20927, 21087, 13483, 46,
+ 20927, 21087, 13483, 48,
+ 20927, 21087, 13483, 50,
+ 20927, 21087, 15993, 0,
+ 20927, 21087, 15993, 2,
+ 20927, 21087, 15993, 6,
+ 20927, 21087, 15993, 8,
+ 20927, 21087, 15993, 10,
+ 20927, 21087, 15993, 12,
+ 20927, 21087, 15993, 16,
+ 20927, 21087, 15993, 18,
+ 20927, 21087, 15993, 20,
+ 20927, 21087, 15993, 22,
+ 20927, 21087, 15993, 24,
+ 20927, 21087, 15993, 28,
+ 20927, 21087, 15993, 36,
+ 20927, 21087, 15993, 38,
+ 20927, 21087, 15993, 40,
+ 20927, 21087, 15993, 42,
+ 20927, 21087, 15993, 44,
+ 20927, 21087, 15993, 46,
+ 20927, 21087, 15993, 48,
+ 20945, 14760,
+ 20957, 10050,
+ 20959, 6741, 1391, 18669, 201, 6258,
+ 20959, 6741, 1391, 18669, 203, 6258,
+ 20959, 6741, 1391, 18669, 2163, 7816,
+ 20959, 6741, 1391, 18669, 3337, 1213, 14888,
+ 20959, 6741, 1391, 18669, 7779, 11399, 15970,
+ 20959, 6741, 1391, 18669, 7779, 11521, 20009, 15970,
+ 20959, 6741, 1391, 18669, 7779, 11725, 15970,
+ 20959, 6741, 1391, 18669, 7779, 13965, 14429, 15970,
+ 20959, 6741, 1391, 18669, 7779, 13965, 20009, 15970,
+ 20959, 6741, 1391, 18669, 7779, 14429, 15970,
+ 20959, 6741, 1391, 18669, 7779, 14533, 11399, 15970,
+ 20959, 6741, 1391, 18669, 7779, 15513, 15970,
+ 20959, 6741, 1391, 18669, 7779, 18585, 13407, 15970,
+ 20959, 6741, 1391, 18669, 7779, 20628,
+ 20959, 6741, 1391, 18669, 10577, 2163, 7816,
+ 20959, 6741, 1391, 18669, 11702,
+ 20959, 6741, 1391, 18669, 11708,
+ 20959, 6741, 1391, 18669, 13271, 11399, 15970,
+ 20959, 6741, 1391, 18669, 13271, 11521, 20009, 15970,
+ 20959, 6741, 1391, 18669, 13271, 11725, 15970,
+ 20959, 6741, 1391, 18669, 13271, 13965, 14429, 15970,
+ 20959, 6741, 1391, 18669, 13271, 13965, 20009, 15970,
+ 20959, 6741, 1391, 18669, 13271, 13965, 20009, 15974,
+ 20959, 6741, 1391, 18669, 13271, 14429, 15970,
+ 20959, 6741, 1391, 18669, 13271, 14533, 11399, 15970,
+ 20959, 6741, 1391, 18669, 13271, 15513, 15970,
+ 20959, 6741, 1391, 18669, 13271, 18585, 13407, 15970,
+ 20959, 6741, 1391, 18669, 13271, 20628,
+ 20959, 6741, 1391, 18669, 18335, 8282,
+ 20959, 6741, 1391, 18669, 19416,
+ 20959, 6741, 1391, 18669, 19973, 17860,
+ 20959, 6741, 1391, 18669, 20469, 8282,
+ 20959, 6741, 1391, 18669, 20511, 6757, 9910,
+ 20959, 6741, 1391, 18669, 20511, 11708,
+ 20961, 632,
+ 20969, 17332,
+ 20975, 15559, 9808,
+ 20975, 15559, 9809, 10595, 6402,
+ 20975, 17487, 17877, 9808,
+ 20977, 19989, 19318,
+ 20979, 13965, 20163, 11428,
+ 20982,
+ 21011, 6757, 9910,
+ 21014,
+ 21023, 13502,
+ 21026,
+ 21047, 20163, 11428,
+ 21053, 6682,
+ 21057, 3273, 20173, 11428,
+ 21057, 9127, 14397, 11428,
+ 21057, 14407, 14397, 11428,
+ 21057, 14659, 14397, 11428,
+ 21057, 16061, 18010,
+ 21057, 19029, 841, 17319, 9127, 14397, 14226,
+ 21057, 20528,
+ 21057, 21571, 3273, 18647, 11428,
+ 21057, 21571, 7779, 18647, 11428,
+ 21057, 21571, 9127, 14397, 11428,
+ 21057, 21571, 13271, 18647, 11428,
+ 21057, 21571, 14307, 18647, 11428,
+ 21059, 983, 2499, 17441, 11943, 632,
+ 21059, 11943, 503, 11943, 632,
+ 21059, 11943, 632,
+ 21059, 11943, 633, 503, 3225, 12319, 482,
+ 21083, 19617, 15564,
+ 21087, 12721, 19476,
+ 21087, 13483, 534,
+ 21087, 13483, 12094,
+ 21087, 14787, 13483, 6,
+ 21087, 14787, 13483, 8,
+ 21087, 14787, 13483, 16,
+ 21087, 14787, 13483, 18,
+ 21087, 14787, 15993, 6,
+ 21087, 15993, 4,
+ 21087, 15993, 14,
+ 21087, 15993, 26,
+ 21087, 15993, 30,
+ 21087, 15993, 32,
+ 21087, 15993, 34,
+ 21087, 15993, 50,
+ 21087, 15993, 534,
+ 21087, 15993, 12094,
+ 21089, 2879, 18596,
+ 21089, 13483, 2879, 18596,
+ 21089, 18597, 10595, 7779, 7087, 11520,
+ 21089, 18597, 10595, 13271, 7087, 11520,
+ 21099, 9808,
+ 21103, 11943, 632,
+ 21103, 19919, 632,
+ 21117, 16827, 14903, 268,
+ 21117, 16827, 14903, 526,
+ 21117, 16827, 14903, 2524,
+ 21117, 16827, 14903, 3200,
+ 21117, 16827, 14903, 5790,
+ 21117, 16827, 14903, 7120,
+ 21117, 16827, 14903, 7558,
+ 21117, 16827, 14903, 9730,
+ 21117, 16827, 14903, 10080,
+ 21117, 16827, 14903, 10764,
+ 21117, 16827, 14903, 11376,
+ 21117, 16827, 14903, 12142,
+ 21117, 16827, 14903, 13330,
+ 21117, 16827, 14903, 14112,
+ 21117, 16827, 14903, 14454,
+ 21117, 16827, 14903, 14882,
+ 21117, 16827, 14903, 15370,
+ 21117, 16827, 14903, 18128,
+ 21117, 16827, 14903, 21224,
+ 21117, 16827, 15133, 2596,
+ 21117, 16827, 15133, 2597, 16378,
+ 21117, 16827, 15133, 2597, 18566,
+ 21117, 16827, 15133, 3212,
+ 21117, 16827, 15133, 3336,
+ 21117, 16827, 15133, 6742,
+ 21117, 16827, 15133, 13654,
+ 21117, 16827, 15133, 15708,
+ 21117, 18261, 14903, 268,
+ 21117, 18261, 14903, 526,
+ 21117, 18261, 14903, 2268,
+ 21117, 18261, 14903, 2524,
+ 21117, 18261, 14903, 3200,
+ 21117, 18261, 14903, 3508,
+ 21117, 18261, 14903, 5284,
+ 21117, 18261, 14903, 5790,
+ 21117, 18261, 14903, 7120,
+ 21117, 18261, 14903, 7558,
+ 21117, 18261, 14903, 9326,
+ 21117, 18261, 14903, 9440,
+ 21117, 18261, 14903, 9730,
+ 21117, 18261, 14903, 10080,
+ 21117, 18261, 14903, 10764,
+ 21117, 18261, 14903, 11376,
+ 21117, 18261, 14903, 12142,
+ 21117, 18261, 14903, 13330,
+ 21117, 18261, 14903, 14112,
+ 21117, 18261, 14903, 14454,
+ 21117, 18261, 14903, 14882,
+ 21117, 18261, 14903, 15370,
+ 21117, 18261, 15133, 2596,
+ 21117, 18261, 15133, 2597, 16378,
+ 21117, 18261, 15133, 2597, 18566,
+ 21117, 18261, 15133, 3212,
+ 21117, 18261, 15133, 3336,
+ 21117, 18261, 15133, 6742,
+ 21117, 18261, 15133, 13654,
+ 21117, 18261, 15133, 15708,
+ 21135, 11399, 15970,
+ 21135, 14445, 11399, 15970,
+ 21135, 14533, 11399, 19359, 8282,
+ 21135, 20021, 12150,
+ 21137, 8282,
+ 21137, 16410,
+ 21137, 18232,
+ 21137, 19038,
+ 21143, 9808,
+ 21153, 20163, 11428,
+ 21159, 11849, 2596,
+ 21159, 11849, 3056,
+ 21159, 11849, 3336,
+ 21159, 11849, 6720,
+ 21159, 11849, 6742,
+ 21159, 11849, 8736,
+ 21159, 11849, 11916,
+ 21159, 11849, 13376,
+ 21159, 11849, 13654,
+ 21159, 12477, 13483, 14903, 0,
+ 21159, 12477, 13483, 14903, 2,
+ 21159, 12477, 13483, 14903, 4,
+ 21159, 12477, 13483, 14903, 6,
+ 21159, 12477, 13483, 14903, 8,
+ 21159, 12477, 13483, 14903, 10,
+ 21159, 12477, 13483, 14903, 12,
+ 21159, 12477, 13483, 14903, 14,
+ 21159, 12477, 13483, 14903, 16,
+ 21159, 12477, 13483, 14903, 18,
+ 21159, 12477, 13483, 14903, 20,
+ 21159, 12477, 13483, 14903, 22,
+ 21159, 12477, 13483, 14903, 24,
+ 21159, 12477, 13483, 14903, 26,
+ 21159, 12477, 13483, 14903, 28,
+ 21159, 12477, 13483, 14903, 30,
+ 21159, 12477, 13483, 14903, 32,
+ 21159, 12477, 13483, 14903, 34,
+ 21159, 12477, 13483, 14903, 36,
+ 21159, 12477, 13483, 14903, 38,
+ 21159, 12477, 13483, 14903, 40,
+ 21159, 12477, 13483, 14903, 42,
+ 21159, 12477, 13483, 14903, 44,
+ 21159, 12477, 13483, 14903, 46,
+ 21159, 12477, 13483, 14903, 48,
+ 21159, 12477, 13483, 14903, 50,
+ 21159, 12477, 15993, 14903, 0,
+ 21159, 12477, 15993, 14903, 2,
+ 21159, 12477, 15993, 14903, 4,
+ 21159, 12477, 15993, 14903, 6,
+ 21159, 12477, 15993, 14903, 8,
+ 21159, 12477, 15993, 14903, 10,
+ 21159, 12477, 15993, 14903, 12,
+ 21159, 12477, 15993, 14903, 14,
+ 21159, 12477, 15993, 14903, 16,
+ 21159, 12477, 15993, 14903, 18,
+ 21159, 12477, 15993, 14903, 20,
+ 21159, 12477, 15993, 14903, 22,
+ 21159, 12477, 15993, 14903, 24,
+ 21159, 12477, 15993, 14903, 26,
+ 21159, 12477, 15993, 14903, 28,
+ 21159, 12477, 15993, 14903, 30,
+ 21159, 12477, 15993, 14903, 32,
+ 21159, 12477, 15993, 14903, 34,
+ 21159, 12477, 15993, 14903, 36,
+ 21159, 12477, 15993, 14903, 38,
+ 21159, 12477, 15993, 14903, 40,
+ 21159, 12477, 15993, 14903, 42,
+ 21159, 12477, 15993, 14903, 44,
+ 21159, 12477, 15993, 14903, 46,
+ 21159, 12477, 15993, 14903, 48,
+ 21159, 12477, 15993, 14903, 50,
+ 21159, 14725, 9820,
+ 21159, 14725, 9821, 0,
+ 21159, 14725, 11680,
+ 21159, 14725, 11681, 0,
+ 21159, 14725, 11681, 40,
+ 21159, 14725, 12216,
+ 21159, 14725, 12217, 0,
+ 21159, 14725, 12312,
+ 21159, 14725, 12313, 0,
+ 21159, 14725, 12666,
+ 21159, 14725, 12667, 0,
+ 21159, 14725, 12820,
+ 21159, 14725, 12821, 0,
+ 21159, 14725, 13164,
+ 21159, 14725, 13165, 0,
+ 21159, 14725, 13268,
+ 21159, 14725, 13269, 0,
+ 21159, 14725, 14848,
+ 21159, 14725, 14849, 0,
+ 21159, 14725, 15638,
+ 21159, 14725, 15639, 0,
+ 21159, 14725, 16024,
+ 21159, 14725, 16025, 0,
+ 21159, 14725, 16452,
+ 21159, 14725, 16453, 0,
+ 21159, 14725, 16892,
+ 21159, 14725, 16893, 0,
+ 21159, 14725, 17224,
+ 21159, 14725, 17225, 0,
+ 21159, 14859, 18795, 29, 284,
+ 21159, 14859, 18795, 13070,
+ 21159, 15133, 3212,
+ 21159, 15133, 14546,
+ 21159, 15133, 15706,
+ 21159, 15133, 15708,
+ 21159, 15133, 16280,
+ 21159, 15133, 17096,
+ 21159, 15133, 17854,
+ 21159, 15133, 17924,
+ 21159, 15133, 18190,
+ 21159, 15133, 18564,
+ 21159, 15133, 19424,
+ 21159, 19151, 2596,
+ 21159, 19151, 3056,
+ 21159, 19151, 3116,
+ 21159, 19151, 3212,
+ 21159, 19151, 3336,
+ 21159, 19151, 5934,
+ 21159, 19151, 6710,
+ 21159, 19151, 6720,
+ 21159, 19151, 6742,
+ 21159, 19151, 7098,
+ 21159, 19151, 8418,
+ 21159, 19151, 8554,
+ 21159, 19151, 8736,
+ 21159, 19151, 9442,
+ 21159, 19151, 9674,
+ 21159, 19151, 10598,
+ 21159, 19151, 11910,
+ 21159, 19151, 11916,
+ 21159, 19151, 12454,
+ 21159, 19151, 12634,
+ 21159, 19151, 13254,
+ 21159, 19151, 13376,
+ 21159, 19151, 13544,
+ 21159, 19151, 13552,
+ 21159, 19151, 13654,
+ 21159, 19151, 13948,
+ 21159, 19151, 17114,
+ 21159, 19151, 17128,
+ 21159, 19151, 17452,
+ 21159, 19151, 17896,
+ 21159, 19151, 18360,
+ 21159, 19151, 19072,
+ 21159, 19151, 19380,
+ 21159, 19151, 19482,
+ 21159, 19151, 19908,
+ 21159, 19151, 21246,
+ 21162,
+ 21163, 10595, 36,
+ 21193, 8282,
+ 21193, 16410,
+ 21193, 18232,
+ 21193, 19038,
+ 21199, 15034,
+ 21206,
+ 21220,
+ 21239, 11943, 632,
+ 21241, 17496,
+ 21251, 6682,
+ 21362,
+ 21377, 46,
+ 21377, 9808,
+ 21377, 9809, 315, 7779, 7087, 14396,
+ 21377, 9809, 315, 13271, 7087, 14396,
+ 21377, 9809, 315, 14533, 14396,
+ 21377, 9809, 315, 18596,
+ 21377, 9809, 10595, 1213, 11346,
+ 21377, 9809, 10595, 18658,
+ 21387, 11399, 15970,
+ 21387, 14445, 11399, 15970,
+ 21387, 14533, 11399, 19359, 8282,
+ 21387, 20021, 12150,
+ 21390,
+ 21521, 12907, 6531, 11428,
+ 21521, 13501, 6531, 11428,
+ 21521, 20163, 11428,
+ 21565, 20163, 11428,
+ 21567, 17496,
+ 21571, 20163, 11428,
+ 21573, 20163, 11428,
+ 21579, 11382,
+ 21725, 14533, 14760,
+ 21725, 15761, 13499, 8282,
+ 21725, 19347, 13499, 8282,
+ 21725, 20691, 13499, 8282,
+ 21749, 15564,
+ 21771, 17444,
+ 21773, 13115, 15564,
+ 21801, 14715, 15564,
+ 21801, 14871, 15564,
+ 21823, 15564,
+ 21827, 15564,
};
-static const struct { uint16_t code; uint32_t name:24; }
+static const struct { uint16_t index; uint32_t name:24; }
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
__attribute__((__packed__))
#endif
-unicode_name_to_code[18242] = {
- { 0x2114, 0 },
- { 0x29CC, 4 },
- { 0x2327, 7 },
- { 0x22FF, 12 },
- { 0x2987, 16 },
- { 0x2989, 21 },
- { 0x2981, 26 },
- { 0x2982, 29 },
- { 0x2A65, 33 },
- { 0x2988, 37 },
- { 0x298A, 42 },
- { 0x2A64, 47 },
- { 0x2A20, 51 },
- { 0x2A21, 55 },
- { 0x2A1F, 59 },
- { 0x2A3E, 63 },
- { 0x23E6, 67 },
- { 0x2014, 69 },
- { 0x2001, 71 },
- { 0x2003, 73 },
- { 0x2013, 75 },
- { 0x2000, 77 },
- { 0x2002, 79 },
- { 0x1C78, 81 },
- { 0x1C7D, 85 },
- { 0x1C51, 88 },
- { 0x1C56, 92 },
- { 0x1C52, 96 },
- { 0x1C55, 100 },
- { 0x1C54, 104 },
- { 0x1C59, 108 },
- { 0x1C50, 112 },
- { 0x1C58, 116 },
- { 0x1C57, 120 },
- { 0x1C53, 124 },
- { 0x1C7B, 128 },
- { 0x1C5C, 131 },
- { 0x1C5E, 135 },
- { 0x1C5B, 139 },
- { 0x1C71, 143 },
- { 0x1C6F, 147 },
- { 0x1C66, 151 },
- { 0x1C68, 155 },
- { 0x1C65, 159 },
- { 0x1C5A, 163 },
- { 0x1C6E, 167 },
- { 0x1C64, 171 },
- { 0x1C73, 175 },
- { 0x1C69, 179 },
- { 0x1C75, 183 },
- { 0x1C77, 187 },
- { 0x1C76, 191 },
- { 0x1C6A, 195 },
- { 0x1C6B, 199 },
- { 0x1C6D, 203 },
- { 0x1C61, 207 },
- { 0x1C60, 211 },
- { 0x1C62, 215 },
- { 0x1C63, 219 },
- { 0x1C5D, 223 },
- { 0x1C70, 227 },
- { 0x1C72, 231 },
- { 0x1C67, 235 },
- { 0x1C5F, 239 },
- { 0x1C74, 243 },
- { 0x1C6C, 247 },
- { 0x1C79, 251 },
- { 0x1C7C, 255 },
- { 0x1C7A, 258 },
- { 0x1C7F, 262 },
- { 0x1C7E, 267 },
- { 0x27C7, 271 },
- { 0x2951, 275 },
- { 0x294D, 282 },
- { 0x294C, 289 },
- { 0x294F, 296 },
- { 0x2195, 303 },
- { 0x21A8, 306 },
- { 0x2B0D, 311 },
- { 0x21F3, 315 },
- { 0x21D5, 319 },
- { 0x297E, 323 },
- { 0x22A5, 326 },
- { 0x27DF, 328 },
- { 0x29BD, 333 },
- { 0x22F0, 337 },
- { 0x2303, 341 },
- { 0x2324, 343 },
- { 0x54BC, 349 },
- { 0x54B9, 352 },
- { 0x54A1, 355 },
- { 0x54B3, 358 },
- { 0x54C6, 361 },
- { 0x5491, 364 },
- { 0x5498, 367 },
- { 0x54A9, 370 },
- { 0x54A8, 373 },
- { 0x54B8, 376 },
- { 0x549D, 379 },
- { 0x54B2, 382 },
- { 0x54A5, 385 },
- { 0x54C3, 388 },
- { 0x54BE, 391 },
- { 0x5494, 394 },
- { 0x54A3, 397 },
- { 0x5497, 400 },
- { 0x54B6, 403 },
- { 0x54AD, 406 },
- { 0x54B5, 409 },
- { 0x5492, 412 },
- { 0x54BB, 415 },
- { 0x549A, 418 },
- { 0x549C, 421 },
- { 0x549E, 424 },
- { 0x54AC, 427 },
- { 0x5490, 430 },
- { 0x54B0, 433 },
- { 0x5495, 436 },
- { 0x54A0, 439 },
- { 0x54B1, 442 },
- { 0x54AF, 445 },
- { 0x54AE, 448 },
- { 0x54AB, 451 },
- { 0x54A2, 454 },
- { 0x54C1, 457 },
- { 0x549B, 460 },
- { 0x54BD, 463 },
- { 0x54A4, 466 },
- { 0x5496, 469 },
- { 0x54A6, 472 },
- { 0x5499, 475 },
- { 0x54BF, 478 },
- { 0x549F, 481 },
- { 0x54B7, 484 },
- { 0x54AA, 487 },
- { 0x54C5, 490 },
- { 0x5493, 493 },
- { 0x54A7, 496 },
- { 0x54B4, 499 },
- { 0x54C0, 502 },
- { 0x54C2, 505 },
- { 0x54BA, 508 },
- { 0x54C4, 511 },
- { 0x500A, 514 },
- { 0x5014, 517 },
- { 0x5002, 520 },
- { 0x5011, 523 },
- { 0x500B, 526 },
- { 0x5008, 529 },
- { 0x5009, 532 },
- { 0x5020, 535 },
- { 0x502A, 538 },
- { 0x5018, 541 },
- { 0x5027, 544 },
- { 0x502E, 547 },
- { 0x5034, 550 },
- { 0x52B8, 553 },
- { 0x52C2, 556 },
- { 0x52B0, 559 },
- { 0x52BF, 562 },
- { 0x52C6, 565 },
- { 0x52CC, 568 },
- { 0x5109, 571 },
- { 0x5112, 574 },
- { 0x5102, 577 },
- { 0x510F, 580 },
- { 0x5116, 583 },
- { 0x5013, 586 },
- { 0x50D3, 589 },
- { 0x50CF, 592 },
- { 0x50D6, 595 },
- { 0x50DA, 598 },
- { 0x50E0, 601 },
- { 0x51E4, 604 },
- { 0x51F0, 607 },
- { 0x51DC, 610 },
- { 0x51EC, 613 },
- { 0x51F4, 616 },
- { 0x5273, 619 },
- { 0x527E, 622 },
- { 0x527B, 625 },
- { 0x5006, 628 },
- { 0x5003, 631 },
- { 0x5000, 634 },
- { 0x5001, 637 },
- { 0x53E2, 640 },
- { 0x53EE, 643 },
- { 0x53F2, 646 },
- { 0x53F8, 649 },
- { 0x5201, 652 },
- { 0x520C, 655 },
- { 0x51FA, 658 },
- { 0x5208, 661 },
- { 0x5210, 664 },
- { 0x51C1, 667 },
- { 0x51CC, 670 },
- { 0x51B9, 673 },
- { 0x51C9, 676 },
- { 0x51D0, 679 },
- { 0x51D6, 682 },
- { 0x50B7, 685 },
- { 0x50C2, 688 },
- { 0x50B0, 691 },
- { 0x50BF, 694 },
- { 0x50C5, 697 },
- { 0x50CB, 700 },
- { 0x5185, 703 },
- { 0x518F, 706 },
- { 0x517F, 709 },
- { 0x518C, 712 },
- { 0x5193, 715 },
- { 0x5012, 718 },
- { 0x500F, 721 },
- { 0x5010, 724 },
- { 0x5041, 727 },
- { 0x503A, 730 },
- { 0x5048, 733 },
- { 0x504C, 736 },
- { 0x5052, 739 },
- { 0x53FE, 742 },
- { 0x540A, 745 },
- { 0x540E, 748 },
- { 0x5414, 751 },
- { 0x53C8, 754 },
- { 0x53D2, 757 },
- { 0x53CF, 760 },
- { 0x53D6, 763 },
- { 0x53DC, 766 },
- { 0x5312, 769 },
- { 0x531C, 772 },
- { 0x530B, 775 },
- { 0x5319, 778 },
- { 0x5320, 781 },
- { 0x5326, 784 },
- { 0x5123, 787 },
- { 0x512E, 790 },
- { 0x511C, 793 },
- { 0x512B, 796 },
- { 0x5132, 799 },
- { 0x500D, 802 },
- { 0x50EC, 805 },
- { 0x50E4, 808 },
- { 0x50F0, 811 },
- { 0x50F6, 814 },
- { 0x50FC, 817 },
- { 0x5282, 820 },
- { 0x528B, 823 },
- { 0x5288, 826 },
- { 0x5015, 829 },
- { 0x545F, 832 },
- { 0x5469, 835 },
- { 0x546D, 838 },
- { 0x5473, 841 },
- { 0x547F, 844 },
- { 0x5483, 847 },
- { 0x5489, 850 },
- { 0x5296, 853 },
- { 0x52A0, 856 },
- { 0x528F, 859 },
- { 0x529D, 862 },
- { 0x52A4, 865 },
- { 0x52AA, 868 },
- { 0x5021, 871 },
- { 0x501E, 874 },
- { 0x501F, 877 },
- { 0x5060, 880 },
- { 0x506A, 883 },
- { 0x5058, 886 },
- { 0x5067, 889 },
- { 0x506E, 892 },
- { 0x5074, 895 },
- { 0x502B, 898 },
- { 0x5029, 901 },
- { 0x501C, 904 },
- { 0x5019, 907 },
- { 0x5016, 910 },
- { 0x5017, 913 },
- { 0x5028, 916 },
- { 0x5025, 919 },
- { 0x5026, 922 },
- { 0x5023, 925 },
- { 0x502F, 928 },
- { 0x5031, 931 },
- { 0x502C, 934 },
- { 0x502D, 937 },
- { 0x5035, 940 },
- { 0x5037, 943 },
- { 0x5032, 946 },
- { 0x5033, 949 },
- { 0x52B9, 952 },
- { 0x52B6, 955 },
- { 0x52B7, 958 },
- { 0x52C3, 961 },
- { 0x52C1, 964 },
- { 0x5363, 967 },
- { 0x536F, 970 },
- { 0x536B, 973 },
- { 0x5372, 976 },
- { 0x5378, 979 },
- { 0x52B4, 982 },
- { 0x52B1, 985 },
- { 0x52AE, 988 },
- { 0x52AF, 991 },
- { 0x52C0, 994 },
- { 0x52BD, 997 },
- { 0x52BE, 1000 },
- { 0x52BB, 1003 },
- { 0x52C7, 1006 },
- { 0x52C9, 1009 },
- { 0x52C4, 1012 },
- { 0x52C5, 1015 },
- { 0x52CD, 1018 },
- { 0x52CF, 1021 },
- { 0x52CA, 1024 },
- { 0x52CB, 1027 },
- { 0x510A, 1030 },
- { 0x5107, 1033 },
- { 0x5108, 1036 },
- { 0x513F, 1039 },
- { 0x5149, 1042 },
- { 0x5138, 1045 },
- { 0x5146, 1048 },
- { 0x514D, 1051 },
- { 0x5113, 1054 },
- { 0x5111, 1057 },
- { 0x5105, 1060 },
- { 0x5103, 1063 },
- { 0x5100, 1066 },
- { 0x5101, 1069 },
- { 0x5110, 1072 },
- { 0x510D, 1075 },
- { 0x510E, 1078 },
- { 0x510C, 1081 },
- { 0x5117, 1084 },
- { 0x5119, 1087 },
- { 0x5114, 1090 },
- { 0x5115, 1093 },
- { 0x50D4, 1096 },
- { 0x50D1, 1099 },
- { 0x50D2, 1102 },
- { 0x50D0, 1105 },
- { 0x50CD, 1108 },
- { 0x50CE, 1111 },
- { 0x50D7, 1114 },
- { 0x50D5, 1117 },
- { 0x50DB, 1120 },
- { 0x50DD, 1123 },
- { 0x50D8, 1126 },
- { 0x50D9, 1129 },
- { 0x50E1, 1132 },
- { 0x50DE, 1135 },
- { 0x50DF, 1138 },
- { 0x51E5, 1141 },
- { 0x51E2, 1144 },
- { 0x51E3, 1147 },
- { 0x51F1, 1150 },
- { 0x51EE, 1153 },
- { 0x51EF, 1156 },
- { 0x521C, 1159 },
- { 0x5228, 1162 },
- { 0x5216, 1165 },
- { 0x5224, 1168 },
- { 0x522C, 1171 },
- { 0x51E0, 1174 },
- { 0x51DD, 1177 },
- { 0x51DA, 1180 },
- { 0x51DB, 1183 },
- { 0x51ED, 1186 },
- { 0x51EA, 1189 },
- { 0x51EB, 1192 },
- { 0x51E8, 1195 },
- { 0x51F5, 1198 },
- { 0x51F7, 1201 },
- { 0x51F2, 1204 },
- { 0x51F3, 1207 },
- { 0x5274, 1210 },
- { 0x5271, 1213 },
- { 0x5272, 1216 },
- { 0x527F, 1219 },
- { 0x527D, 1222 },
- { 0x5270, 1225 },
- { 0x526E, 1228 },
- { 0x51A0, 1231 },
- { 0x51A9, 1234 },
- { 0x5199, 1237 },
- { 0x51A6, 1240 },
- { 0x51AD, 1243 },
- { 0x51B3, 1246 },
- { 0x509A, 1249 },
- { 0x5093, 1252 },
- { 0x50A1, 1255 },
- { 0x50A5, 1258 },
- { 0x50AA, 1261 },
- { 0x5172, 1264 },
- { 0x517A, 1267 },
- { 0x516A, 1270 },
- { 0x527C, 1273 },
- { 0x5279, 1276 },
- { 0x527A, 1279 },
- { 0x5277, 1282 },
- { 0x5250, 1285 },
- { 0x525B, 1288 },
- { 0x5248, 1291 },
- { 0x5258, 1294 },
- { 0x5007, 1297 },
- { 0x5004, 1300 },
- { 0x5005, 1303 },
- { 0x53E6, 1306 },
- { 0x53E3, 1309 },
- { 0x53E0, 1312 },
- { 0x53E1, 1315 },
- { 0x541A, 1318 },
- { 0x5425, 1321 },
- { 0x5429, 1324 },
- { 0x542F, 1327 },
- { 0x53EF, 1330 },
- { 0x53EC, 1333 },
- { 0x53ED, 1336 },
- { 0x53EA, 1339 },
- { 0x53F3, 1342 },
- { 0x53F5, 1345 },
- { 0x53F0, 1348 },
- { 0x53F1, 1351 },
- { 0x53F9, 1354 },
- { 0x53FB, 1357 },
- { 0x53F6, 1360 },
- { 0x53F7, 1363 },
- { 0x5202, 1366 },
- { 0x51FF, 1369 },
- { 0x5200, 1372 },
- { 0x520D, 1375 },
- { 0x520A, 1378 },
- { 0x520B, 1381 },
- { 0x51FD, 1384 },
- { 0x51FB, 1387 },
- { 0x51F8, 1390 },
- { 0x51F9, 1393 },
- { 0x5209, 1396 },
- { 0x5206, 1399 },
- { 0x5207, 1402 },
- { 0x5204, 1405 },
- { 0x5211, 1408 },
- { 0x5213, 1411 },
- { 0x520E, 1414 },
- { 0x520F, 1417 },
- { 0x51C2, 1420 },
- { 0x51BF, 1423 },
- { 0x51C0, 1426 },
- { 0x51CD, 1429 },
- { 0x51CB, 1432 },
- { 0x51BD, 1435 },
- { 0x51BA, 1438 },
- { 0x51B7, 1441 },
- { 0x51B8, 1444 },
- { 0x51CA, 1447 },
- { 0x51C7, 1450 },
- { 0x51C8, 1453 },
- { 0x51C5, 1456 },
- { 0x51D1, 1459 },
- { 0x51D3, 1462 },
- { 0x51CE, 1465 },
- { 0x51CF, 1468 },
- { 0x51D7, 1471 },
- { 0x51D9, 1474 },
- { 0x51D4, 1477 },
- { 0x51D5, 1480 },
- { 0x50B8, 1483 },
- { 0x50B5, 1486 },
- { 0x50B6, 1489 },
- { 0x50C1, 1492 },
- { 0x5234, 1495 },
- { 0x523E, 1498 },
- { 0x523B, 1501 },
- { 0x5242, 1504 },
- { 0x50B3, 1507 },
- { 0x50B1, 1510 },
- { 0x50AE, 1513 },
- { 0x50AF, 1516 },
- { 0x50C0, 1519 },
- { 0x50BD, 1522 },
- { 0x50BE, 1525 },
- { 0x50BB, 1528 },
- { 0x50C6, 1531 },
- { 0x50C8, 1534 },
- { 0x50C3, 1537 },
- { 0x50C4, 1540 },
- { 0x50CC, 1543 },
- { 0x50C9, 1546 },
- { 0x50CA, 1549 },
- { 0x5186, 1552 },
- { 0x5184, 1555 },
- { 0x507F, 1558 },
- { 0x5078, 1561 },
- { 0x5083, 1564 },
- { 0x5087, 1567 },
- { 0x508D, 1570 },
- { 0x5159, 1573 },
- { 0x5160, 1576 },
- { 0x5153, 1579 },
- { 0x515D, 1582 },
- { 0x5164, 1585 },
- { 0x5190, 1588 },
- { 0x518E, 1591 },
- { 0x5262, 1594 },
- { 0x526C, 1597 },
- { 0x5269, 1600 },
- { 0x5182, 1603 },
- { 0x5180, 1606 },
- { 0x517D, 1609 },
- { 0x517E, 1612 },
- { 0x5433, 1615 },
- { 0x543D, 1618 },
- { 0x5440, 1621 },
- { 0x5446, 1624 },
- { 0x518D, 1627 },
- { 0x518A, 1630 },
- { 0x518B, 1633 },
- { 0x5396, 1636 },
- { 0x539D, 1639 },
- { 0x5399, 1642 },
- { 0x53A1, 1645 },
- { 0x53A7, 1648 },
- { 0x5188, 1651 },
- { 0x5194, 1654 },
- { 0x5196, 1657 },
- { 0x5191, 1660 },
- { 0x5192, 1663 },
- { 0x544C, 1666 },
- { 0x5457, 1669 },
- { 0x545B, 1672 },
- { 0x52F6, 1675 },
- { 0x52FD, 1678 },
- { 0x52EF, 1681 },
- { 0x52FF, 1684 },
- { 0x5305, 1687 },
- { 0x5042, 1690 },
- { 0x503F, 1693 },
- { 0x5040, 1696 },
- { 0x503D, 1699 },
- { 0x503B, 1702 },
- { 0x5038, 1705 },
- { 0x5039, 1708 },
- { 0x5049, 1711 },
- { 0x5046, 1714 },
- { 0x5047, 1717 },
- { 0x5044, 1720 },
- { 0x504D, 1723 },
- { 0x504F, 1726 },
- { 0x504A, 1729 },
- { 0x504B, 1732 },
- { 0x5053, 1735 },
- { 0x5055, 1738 },
- { 0x5050, 1741 },
- { 0x5051, 1744 },
- { 0x5402, 1747 },
- { 0x53FF, 1750 },
- { 0x53FC, 1753 },
- { 0x53FD, 1756 },
- { 0x540B, 1759 },
- { 0x5408, 1762 },
- { 0x5409, 1765 },
- { 0x5406, 1768 },
- { 0x540F, 1771 },
- { 0x5411, 1774 },
- { 0x540C, 1777 },
- { 0x540D, 1780 },
- { 0x5415, 1783 },
- { 0x5417, 1786 },
- { 0x5412, 1789 },
- { 0x5413, 1792 },
- { 0x53C9, 1795 },
- { 0x53C6, 1798 },
- { 0x53C7, 1801 },
- { 0x53D3, 1804 },
- { 0x53D1, 1807 },
- { 0x53D0, 1810 },
- { 0x53CD, 1813 },
- { 0x53CE, 1816 },
- { 0x537D, 1819 },
- { 0x5386, 1822 },
- { 0x5382, 1825 },
- { 0x538A, 1828 },
- { 0x5390, 1831 },
- { 0x53CB, 1834 },
- { 0x53D7, 1837 },
- { 0x53D9, 1840 },
- { 0x53D4, 1843 },
- { 0x53D5, 1846 },
- { 0x53DD, 1849 },
- { 0x53DF, 1852 },
- { 0x53DA, 1855 },
- { 0x53DB, 1858 },
- { 0x5313, 1861 },
- { 0x5310, 1864 },
- { 0x5311, 1867 },
- { 0x531D, 1870 },
- { 0x531B, 1873 },
- { 0x53AD, 1876 },
- { 0x53B8, 1879 },
- { 0x53B4, 1882 },
- { 0x53BC, 1885 },
- { 0x53C2, 1888 },
- { 0x530E, 1891 },
- { 0x530C, 1894 },
- { 0x5309, 1897 },
- { 0x530A, 1900 },
- { 0x531A, 1903 },
- { 0x5317, 1906 },
- { 0x5318, 1909 },
- { 0x5333, 1912 },
- { 0x533A, 1915 },
- { 0x532C, 1918 },
- { 0x5337, 1921 },
- { 0x533E, 1924 },
- { 0x5342, 1927 },
- { 0x5315, 1930 },
- { 0x5321, 1933 },
- { 0x5323, 1936 },
- { 0x531E, 1939 },
- { 0x531F, 1942 },
- { 0x5327, 1945 },
- { 0x5329, 1948 },
- { 0x5324, 1951 },
- { 0x5325, 1954 },
- { 0x5124, 1957 },
- { 0x5121, 1960 },
- { 0x5122, 1963 },
- { 0x512F, 1966 },
- { 0x512D, 1969 },
- { 0x511F, 1972 },
- { 0x511D, 1975 },
- { 0x511A, 1978 },
- { 0x511B, 1981 },
- { 0x512C, 1984 },
- { 0x5129, 1987 },
- { 0x512A, 1990 },
- { 0x5127, 1993 },
- { 0x5133, 1996 },
- { 0x5135, 1999 },
- { 0x5130, 2002 },
- { 0x5131, 2005 },
- { 0x500E, 2008 },
- { 0x500C, 2011 },
- { 0x50ED, 2014 },
- { 0x50EA, 2017 },
- { 0x50EB, 2020 },
- { 0x50F3, 2023 },
- { 0x50F2, 2026 },
- { 0x50E8, 2029 },
- { 0x50E5, 2032 },
- { 0x50E2, 2035 },
- { 0x50E3, 2038 },
- { 0x50F1, 2041 },
- { 0x50EE, 2044 },
- { 0x50EF, 2047 },
- { 0x50F7, 2050 },
- { 0x50F9, 2053 },
- { 0x50F4, 2056 },
- { 0x50F5, 2059 },
- { 0x50FD, 2062 },
- { 0x50FF, 2065 },
- { 0x50FA, 2068 },
- { 0x50FB, 2071 },
- { 0x5283, 2074 },
- { 0x5280, 2077 },
- { 0x5281, 2080 },
- { 0x528C, 2083 },
- { 0x528A, 2086 },
- { 0x5289, 2089 },
- { 0x5287, 2092 },
- { 0x5285, 2095 },
- { 0x5463, 2098 },
- { 0x5460, 2101 },
- { 0x545D, 2104 },
- { 0x545E, 2107 },
- { 0x546A, 2110 },
- { 0x5467, 2113 },
- { 0x5468, 2116 },
- { 0x5466, 2119 },
- { 0x546E, 2122 },
- { 0x5470, 2125 },
- { 0x546B, 2128 },
- { 0x546C, 2131 },
- { 0x5477, 2134 },
- { 0x5474, 2137 },
- { 0x5471, 2140 },
- { 0x5472, 2143 },
- { 0x5480, 2146 },
- { 0x547D, 2149 },
- { 0x547E, 2152 },
- { 0x547B, 2155 },
- { 0x5484, 2158 },
- { 0x5486, 2161 },
- { 0x5481, 2164 },
- { 0x5482, 2167 },
- { 0x548A, 2170 },
- { 0x548C, 2173 },
- { 0x5487, 2176 },
- { 0x5488, 2179 },
- { 0x5297, 2182 },
- { 0x5294, 2185 },
- { 0x5295, 2188 },
- { 0x52A1, 2191 },
- { 0x529F, 2194 },
- { 0x5348, 2197 },
- { 0x5353, 2200 },
- { 0x534F, 2203 },
- { 0x5357, 2206 },
- { 0x535D, 2209 },
- { 0x5292, 2212 },
- { 0x5290, 2215 },
- { 0x528D, 2218 },
- { 0x528E, 2221 },
- { 0x529E, 2224 },
- { 0x529B, 2227 },
- { 0x529C, 2230 },
- { 0x5299, 2233 },
- { 0x52A5, 2236 },
- { 0x52A7, 2239 },
- { 0x52A2, 2242 },
- { 0x52A3, 2245 },
- { 0x52AB, 2248 },
- { 0x52AD, 2251 },
- { 0x52A8, 2254 },
- { 0x52A9, 2257 },
- { 0x52DA, 2260 },
- { 0x52E0, 2263 },
- { 0x52D2, 2266 },
- { 0x52DD, 2269 },
- { 0x52E3, 2272 },
- { 0x52E9, 2275 },
- { 0x5061, 2278 },
- { 0x505E, 2281 },
- { 0x505F, 2284 },
- { 0x506B, 2287 },
- { 0x5069, 2290 },
- { 0x505C, 2293 },
- { 0x5059, 2296 },
- { 0x5056, 2299 },
- { 0x5057, 2302 },
- { 0x5068, 2305 },
- { 0x5065, 2308 },
- { 0x5066, 2311 },
- { 0x5063, 2314 },
- { 0x506F, 2317 },
- { 0x5071, 2320 },
- { 0x506C, 2323 },
- { 0x506D, 2326 },
- { 0x5075, 2329 },
- { 0x5072, 2332 },
- { 0x5073, 2335 },
- { 0x501D, 2338 },
- { 0x501A, 2341 },
- { 0x501B, 2344 },
- { 0x5024, 2347 },
- { 0x5022, 2350 },
- { 0x5030, 2353 },
- { 0x5036, 2356 },
- { 0x5364, 2359 },
- { 0x5361, 2362 },
- { 0x5362, 2365 },
- { 0x5370, 2368 },
- { 0x536D, 2371 },
- { 0x536E, 2374 },
- { 0x536C, 2377 },
- { 0x5369, 2380 },
- { 0x536A, 2383 },
- { 0x5367, 2386 },
- { 0x5373, 2389 },
- { 0x5375, 2392 },
- { 0x5371, 2395 },
- { 0x5379, 2398 },
- { 0x537B, 2401 },
- { 0x5376, 2404 },
- { 0x5377, 2407 },
- { 0x52B5, 2410 },
- { 0x52B2, 2413 },
- { 0x52B3, 2416 },
- { 0x52BC, 2419 },
- { 0x52BA, 2422 },
- { 0x52C8, 2425 },
- { 0x52CE, 2428 },
- { 0x5140, 2431 },
- { 0x513D, 2434 },
- { 0x513E, 2437 },
- { 0x514A, 2440 },
- { 0x5148, 2443 },
- { 0x513B, 2446 },
- { 0x5139, 2449 },
- { 0x5136, 2452 },
- { 0x5137, 2455 },
- { 0x5147, 2458 },
- { 0x5144, 2461 },
- { 0x5145, 2464 },
- { 0x5142, 2467 },
- { 0x514E, 2470 },
- { 0x5150, 2473 },
- { 0x514B, 2476 },
- { 0x514C, 2479 },
- { 0x5106, 2482 },
- { 0x5104, 2485 },
- { 0x510B, 2488 },
- { 0x5118, 2491 },
- { 0x50DC, 2494 },
- { 0x521D, 2497 },
- { 0x521A, 2500 },
- { 0x521B, 2503 },
- { 0x5229, 2506 },
- { 0x5226, 2509 },
- { 0x5227, 2512 },
- { 0x5218, 2515 },
- { 0x5214, 2518 },
- { 0x5215, 2521 },
- { 0x5225, 2524 },
- { 0x5222, 2527 },
- { 0x5223, 2530 },
- { 0x5220, 2533 },
- { 0x522D, 2536 },
- { 0x522F, 2539 },
- { 0x522A, 2542 },
- { 0x522B, 2545 },
- { 0x51E1, 2548 },
- { 0x51DE, 2551 },
- { 0x51DF, 2554 },
- { 0x51E9, 2557 },
- { 0x51E6, 2560 },
- { 0x51E7, 2563 },
- { 0x51F6, 2566 },
- { 0x526F, 2569 },
- { 0x51A1, 2572 },
- { 0x519E, 2575 },
- { 0x519F, 2578 },
- { 0x51AA, 2581 },
- { 0x51A8, 2584 },
- { 0x519C, 2587 },
- { 0x519A, 2590 },
- { 0x5197, 2593 },
- { 0x5198, 2596 },
- { 0x51A7, 2599 },
- { 0x51A5, 2602 },
- { 0x51A3, 2605 },
- { 0x51AE, 2608 },
- { 0x51B0, 2611 },
- { 0x51AB, 2614 },
- { 0x51AC, 2617 },
- { 0x51B4, 2620 },
- { 0x51B6, 2623 },
- { 0x51B1, 2626 },
- { 0x51B2, 2629 },
- { 0x509B, 2632 },
- { 0x5098, 2635 },
- { 0x5099, 2638 },
- { 0x5096, 2641 },
- { 0x5094, 2644 },
- { 0x5091, 2647 },
- { 0x5092, 2650 },
- { 0x50A2, 2653 },
- { 0x509F, 2656 },
- { 0x50A0, 2659 },
- { 0x509D, 2662 },
- { 0x50A6, 2665 },
- { 0x50A8, 2668 },
- { 0x50A3, 2671 },
- { 0x50A4, 2674 },
- { 0x50AB, 2677 },
- { 0x50AD, 2680 },
- { 0x50A9, 2683 },
- { 0x5173, 2686 },
- { 0x5170, 2689 },
- { 0x5171, 2692 },
- { 0x517B, 2695 },
- { 0x5179, 2698 },
- { 0x516E, 2701 },
- { 0x516B, 2704 },
- { 0x5168, 2707 },
- { 0x5169, 2710 },
- { 0x5178, 2713 },
- { 0x5176, 2716 },
- { 0x5177, 2719 },
- { 0x5175, 2722 },
- { 0x517C, 2725 },
- { 0x5278, 2728 },
- { 0x5275, 2731 },
- { 0x5276, 2734 },
- { 0x5251, 2737 },
- { 0x524E, 2740 },
- { 0x524F, 2743 },
- { 0x525C, 2746 },
- { 0x525A, 2749 },
- { 0x524C, 2752 },
- { 0x5249, 2755 },
- { 0x5246, 2758 },
- { 0x5247, 2761 },
- { 0x5259, 2764 },
- { 0x5256, 2767 },
- { 0x5257, 2770 },
- { 0x5254, 2773 },
- { 0x53E7, 2776 },
- { 0x53E4, 2779 },
- { 0x53E5, 2782 },
- { 0x541E, 2785 },
- { 0x541B, 2788 },
- { 0x5418, 2791 },
- { 0x5419, 2794 },
- { 0x5426, 2797 },
- { 0x5423, 2800 },
- { 0x5424, 2803 },
- { 0x5421, 2806 },
- { 0x542A, 2809 },
- { 0x542C, 2812 },
- { 0x5427, 2815 },
- { 0x5428, 2818 },
- { 0x5430, 2821 },
- { 0x542D, 2824 },
- { 0x542E, 2827 },
- { 0x53EB, 2830 },
- { 0x53E8, 2833 },
- { 0x53E9, 2836 },
- { 0x53F4, 2839 },
- { 0x53FA, 2842 },
- { 0x51FE, 2845 },
- { 0x51FC, 2848 },
- { 0x5205, 2851 },
- { 0x5203, 2854 },
- { 0x5212, 2857 },
- { 0x51BE, 2860 },
- { 0x51BB, 2863 },
- { 0x51BC, 2866 },
- { 0x51C6, 2869 },
- { 0x51C3, 2872 },
- { 0x51C4, 2875 },
- { 0x51D2, 2878 },
- { 0x51D8, 2881 },
- { 0x5235, 2884 },
- { 0x5232, 2887 },
- { 0x5233, 2890 },
- { 0x523F, 2893 },
- { 0x523D, 2896 },
- { 0x5231, 2899 },
- { 0x523C, 2902 },
- { 0x5239, 2905 },
- { 0x523A, 2908 },
- { 0x5237, 2911 },
- { 0x5243, 2914 },
- { 0x5245, 2917 },
- { 0x5240, 2920 },
- { 0x5241, 2923 },
- { 0x50B4, 2926 },
- { 0x50B2, 2929 },
- { 0x50BC, 2932 },
- { 0x50B9, 2935 },
- { 0x50BA, 2938 },
- { 0x50C7, 2941 },
- { 0x5080, 2944 },
- { 0x507D, 2947 },
- { 0x507E, 2950 },
- { 0x507B, 2953 },
- { 0x5079, 2956 },
- { 0x5076, 2959 },
- { 0x5077, 2962 },
- { 0x5084, 2965 },
- { 0x5081, 2968 },
- { 0x5082, 2971 },
- { 0x5088, 2974 },
- { 0x508A, 2977 },
- { 0x5085, 2980 },
- { 0x5086, 2983 },
- { 0x508E, 2986 },
- { 0x5090, 2989 },
- { 0x508B, 2992 },
- { 0x508C, 2995 },
- { 0x515A, 2998 },
- { 0x5157, 3001 },
- { 0x5158, 3004 },
- { 0x5161, 3007 },
- { 0x515F, 3010 },
- { 0x5156, 3013 },
- { 0x5154, 3016 },
- { 0x5151, 3019 },
- { 0x5152, 3022 },
- { 0x515E, 3025 },
- { 0x515B, 3028 },
- { 0x515C, 3031 },
- { 0x5165, 3034 },
- { 0x5167, 3037 },
- { 0x5162, 3040 },
- { 0x5163, 3043 },
- { 0x5263, 3046 },
- { 0x5260, 3049 },
- { 0x5261, 3052 },
- { 0x526D, 3055 },
- { 0x526B, 3058 },
- { 0x525E, 3061 },
- { 0x526A, 3064 },
- { 0x5267, 3067 },
- { 0x5268, 3070 },
- { 0x5266, 3073 },
- { 0x5183, 3076 },
- { 0x5181, 3079 },
- { 0x5437, 3082 },
- { 0x5434, 3085 },
- { 0x5431, 3088 },
- { 0x5432, 3091 },
- { 0x543E, 3094 },
- { 0x543B, 3097 },
- { 0x543C, 3100 },
- { 0x543A, 3103 },
- { 0x5441, 3106 },
- { 0x5443, 3109 },
- { 0x543F, 3112 },
- { 0x5447, 3115 },
- { 0x5449, 3118 },
- { 0x5444, 3121 },
- { 0x5445, 3124 },
- { 0x5397, 3127 },
- { 0x5394, 3130 },
- { 0x5395, 3133 },
- { 0x539E, 3136 },
- { 0x539B, 3139 },
- { 0x539C, 3142 },
- { 0x539A, 3145 },
- { 0x5398, 3148 },
- { 0x53A2, 3151 },
- { 0x53A4, 3154 },
- { 0x539F, 3157 },
- { 0x53A0, 3160 },
- { 0x53A8, 3163 },
- { 0x53AA, 3166 },
- { 0x53A5, 3169 },
- { 0x53A6, 3172 },
- { 0x5189, 3175 },
- { 0x5187, 3178 },
- { 0x5195, 3181 },
- { 0x5450, 3184 },
- { 0x544D, 3187 },
- { 0x544A, 3190 },
- { 0x544B, 3193 },
- { 0x5458, 3196 },
- { 0x5455, 3199 },
- { 0x5456, 3202 },
- { 0x5453, 3205 },
- { 0x545C, 3208 },
- { 0x5459, 3211 },
- { 0x545A, 3214 },
- { 0x52F7, 3217 },
- { 0x52F4, 3220 },
- { 0x52F5, 3223 },
- { 0x52FC, 3226 },
- { 0x52F2, 3229 },
- { 0x52F0, 3232 },
- { 0x52ED, 3235 },
- { 0x52EE, 3238 },
- { 0x52FB, 3241 },
- { 0x52FA, 3244 },
- { 0x52F9, 3247 },
- { 0x5300, 3250 },
- { 0x5302, 3253 },
- { 0x52FE, 3256 },
- { 0x5306, 3259 },
- { 0x5308, 3262 },
- { 0x5303, 3265 },
- { 0x5304, 3268 },
- { 0x503E, 3271 },
- { 0x503C, 3274 },
- { 0x5045, 3277 },
- { 0x5043, 3280 },
- { 0x504E, 3283 },
- { 0x5054, 3286 },
- { 0x5403, 3289 },
- { 0x5400, 3292 },
- { 0x5401, 3295 },
- { 0x5407, 3298 },
- { 0x5404, 3301 },
- { 0x5405, 3304 },
- { 0x5410, 3307 },
- { 0x5416, 3310 },
- { 0x537C, 3313 },
- { 0x5387, 3316 },
- { 0x5384, 3319 },
- { 0x5385, 3322 },
- { 0x5383, 3325 },
- { 0x5380, 3328 },
- { 0x5381, 3331 },
- { 0x537F, 3334 },
- { 0x538B, 3337 },
- { 0x538D, 3340 },
- { 0x5388, 3343 },
- { 0x5389, 3346 },
- { 0x5391, 3349 },
- { 0x5393, 3352 },
- { 0x538E, 3355 },
- { 0x538F, 3358 },
- { 0x53CC, 3361 },
- { 0x53CA, 3364 },
- { 0x53D8, 3367 },
- { 0x53DE, 3370 },
- { 0x53AE, 3373 },
- { 0x53AB, 3376 },
- { 0x53AC, 3379 },
- { 0x53B9, 3382 },
- { 0x53B6, 3385 },
- { 0x53B7, 3388 },
- { 0x53B5, 3391 },
- { 0x53B2, 3394 },
- { 0x53B3, 3397 },
- { 0x53B0, 3400 },
- { 0x53BD, 3403 },
- { 0x53BF, 3406 },
- { 0x53BA, 3409 },
- { 0x53BB, 3412 },
- { 0x53C3, 3415 },
- { 0x53C5, 3418 },
- { 0x53C0, 3421 },
- { 0x53C1, 3424 },
- { 0x530F, 3427 },
- { 0x530D, 3430 },
- { 0x5334, 3433 },
- { 0x5331, 3436 },
- { 0x5332, 3439 },
- { 0x533B, 3442 },
- { 0x5339, 3445 },
- { 0x532F, 3448 },
- { 0x532D, 3451 },
- { 0x532A, 3454 },
- { 0x532B, 3457 },
- { 0x5338, 3460 },
- { 0x5335, 3463 },
- { 0x5336, 3466 },
- { 0x533F, 3469 },
- { 0x533C, 3472 },
- { 0x533D, 3475 },
- { 0x5343, 3478 },
- { 0x5345, 3481 },
- { 0x5340, 3484 },
- { 0x5341, 3487 },
- { 0x5316, 3490 },
- { 0x5314, 3493 },
- { 0x5322, 3496 },
- { 0x5328, 3499 },
- { 0x5120, 3502 },
- { 0x511E, 3505 },
- { 0x5128, 3508 },
- { 0x5125, 3511 },
- { 0x5126, 3514 },
- { 0x5134, 3517 },
- { 0x50E9, 3520 },
- { 0x50E6, 3523 },
- { 0x50E7, 3526 },
- { 0x50F8, 3529 },
- { 0x50FE, 3532 },
- { 0x5286, 3535 },
- { 0x5284, 3538 },
- { 0x5464, 3541 },
- { 0x5461, 3544 },
- { 0x5462, 3547 },
- { 0x5465, 3550 },
- { 0x546F, 3553 },
- { 0x5478, 3556 },
- { 0x5475, 3559 },
- { 0x5476, 3562 },
- { 0x547C, 3565 },
- { 0x5479, 3568 },
- { 0x547A, 3571 },
- { 0x5485, 3574 },
- { 0x548B, 3577 },
- { 0x5349, 3580 },
- { 0x5346, 3583 },
- { 0x5347, 3586 },
- { 0x5354, 3589 },
- { 0x5351, 3592 },
- { 0x5352, 3595 },
- { 0x5350, 3598 },
- { 0x534D, 3601 },
- { 0x534E, 3604 },
- { 0x534B, 3607 },
- { 0x5358, 3610 },
- { 0x535A, 3613 },
- { 0x5355, 3616 },
- { 0x5356, 3619 },
- { 0x535E, 3622 },
- { 0x5360, 3625 },
- { 0x535B, 3628 },
- { 0x535C, 3631 },
- { 0x5293, 3634 },
- { 0x5291, 3637 },
- { 0x529A, 3640 },
- { 0x5298, 3643 },
- { 0x52A6, 3646 },
- { 0x52AC, 3649 },
- { 0x52DB, 3652 },
- { 0x52D8, 3655 },
- { 0x52D9, 3658 },
- { 0x52E1, 3661 },
- { 0x52DF, 3664 },
- { 0x52D6, 3667 },
- { 0x52D3, 3670 },
- { 0x52D0, 3673 },
- { 0x52D1, 3676 },
- { 0x52DE, 3679 },
- { 0x52DC, 3682 },
- { 0x52E4, 3685 },
- { 0x52E6, 3688 },
- { 0x52E2, 3691 },
- { 0x52EA, 3694 },
- { 0x52EC, 3697 },
- { 0x52E7, 3700 },
- { 0x52E8, 3703 },
- { 0x505D, 3706 },
- { 0x505A, 3709 },
- { 0x505B, 3712 },
- { 0x5064, 3715 },
- { 0x5062, 3718 },
- { 0x5070, 3721 },
- { 0x5368, 3724 },
- { 0x5365, 3727 },
- { 0x5366, 3730 },
- { 0x5374, 3733 },
- { 0x537A, 3736 },
- { 0x513C, 3739 },
- { 0x513A, 3742 },
- { 0x5143, 3745 },
- { 0x5141, 3748 },
- { 0x514F, 3751 },
- { 0x5219, 3754 },
- { 0x5217, 3757 },
- { 0x5221, 3760 },
- { 0x521E, 3763 },
- { 0x521F, 3766 },
- { 0x522E, 3769 },
- { 0x519D, 3772 },
- { 0x519B, 3775 },
- { 0x51A4, 3778 },
- { 0x51A2, 3781 },
- { 0x51AF, 3784 },
- { 0x51B5, 3787 },
- { 0x5097, 3790 },
- { 0x5095, 3793 },
- { 0x509E, 3796 },
- { 0x509C, 3799 },
- { 0x50A7, 3802 },
- { 0x50AC, 3805 },
- { 0x516F, 3808 },
- { 0x516C, 3811 },
- { 0x516D, 3814 },
- { 0x5174, 3817 },
- { 0x524D, 3820 },
- { 0x524A, 3823 },
- { 0x524B, 3826 },
- { 0x5255, 3829 },
- { 0x5252, 3832 },
- { 0x5253, 3835 },
- { 0x541F, 3838 },
- { 0x541C, 3841 },
- { 0x541D, 3844 },
- { 0x5422, 3847 },
- { 0x5420, 3850 },
- { 0x542B, 3853 },
- { 0x5230, 3856 },
- { 0x5238, 3859 },
- { 0x5236, 3862 },
- { 0x5244, 3865 },
- { 0x507C, 3868 },
- { 0x507A, 3871 },
- { 0x5089, 3874 },
- { 0x508F, 3877 },
- { 0x5155, 3880 },
- { 0x5166, 3883 },
- { 0x525F, 3886 },
- { 0x525D, 3889 },
- { 0x5264, 3892 },
- { 0x5265, 3895 },
- { 0x5438, 3898 },
- { 0x5435, 3901 },
- { 0x5436, 3904 },
- { 0x5439, 3907 },
- { 0x5442, 3910 },
- { 0x5448, 3913 },
- { 0x53A3, 3916 },
- { 0x53A9, 3919 },
- { 0x5451, 3922 },
- { 0x544E, 3925 },
- { 0x544F, 3928 },
- { 0x5454, 3931 },
- { 0x5452, 3934 },
- { 0x52F3, 3937 },
- { 0x52F1, 3940 },
- { 0x52F8, 3943 },
- { 0x5301, 3946 },
- { 0x5307, 3949 },
- { 0x537E, 3952 },
- { 0x538C, 3955 },
- { 0x5392, 3958 },
- { 0x53B1, 3961 },
- { 0x53AF, 3964 },
- { 0x53BE, 3967 },
- { 0x53C4, 3970 },
- { 0x5330, 3973 },
- { 0x532E, 3976 },
- { 0x5344, 3979 },
- { 0x534C, 3982 },
- { 0x534A, 3985 },
- { 0x5359, 3988 },
- { 0x535F, 3991 },
- { 0x52D7, 3994 },
- { 0x52D4, 3997 },
- { 0x52D5, 4000 },
- { 0x52E5, 4003 },
- { 0x52EB, 4006 },
- { 0x262C, 4009 },
- { 0x224C, 4011 },
- { 0x232E, 4014 },
- { 0x27D1, 4016 },
- { 0x235D, 4019 },
- { 0x2355, 4025 },
- { 0x2351, 4031 },
- { 0x2361, 4037 },
- { 0x2372, 4043 },
- { 0x2352, 4049 },
- { 0x236B, 4054 },
- { 0x2362, 4059 },
- { 0x235B, 4064 },
- { 0x2364, 4069 },
- { 0x2374, 4074 },
- { 0x2366, 4078 },
- { 0x234E, 4084 },
- { 0x234A, 4090 },
- { 0x2371, 4096 },
- { 0x2373, 4102 },
- { 0x2378, 4106 },
- { 0x2367, 4111 },
- { 0x2395, 4117 },
- { 0x2353, 4121 },
- { 0x2354, 4127 },
- { 0x233B, 4132 },
- { 0x236F, 4137 },
- { 0x234C, 4143 },
- { 0x2360, 4149 },
- { 0x234D, 4154 },
- { 0x2338, 4159 },
- { 0x2341, 4164 },
- { 0x233C, 4169 },
- { 0x2339, 4174 },
- { 0x233A, 4179 },
- { 0x2350, 4184 },
- { 0x2370, 4190 },
- { 0x2342, 4195 },
- { 0x2357, 4200 },
- { 0x2347, 4206 },
- { 0x2343, 4212 },
- { 0x2348, 4217 },
- { 0x2344, 4223 },
- { 0x2363, 4228 },
- { 0x237A, 4233 },
- { 0x2376, 4237 },
- { 0x236A, 4242 },
- { 0x234B, 4247 },
- { 0x2359, 4252 },
- { 0x2375, 4257 },
- { 0x2379, 4261 },
- { 0x235E, 4266 },
- { 0x2358, 4271 },
- { 0x233F, 4276 },
- { 0x236D, 4281 },
- { 0x2368, 4286 },
- { 0x236C, 4291 },
- { 0x233E, 4295 },
- { 0x235F, 4300 },
- { 0x233D, 4305 },
- { 0x235C, 4310 },
- { 0x2349, 4315 },
- { 0x2365, 4320 },
- { 0x2336, 4325 },
- { 0x2337, 4329 },
- { 0x235A, 4334 },
- { 0x2377, 4339 },
- { 0x234F, 4344 },
- { 0x2340, 4349 },
- { 0x2356, 4354 },
- { 0x2345, 4359 },
- { 0x236E, 4364 },
- { 0x2346, 4369 },
- { 0x2369, 4374 },
- { 0x2312, 4379 },
- { 0x2136, 4380 },
- { 0x29F9, 4382 },
- { 0x29F8, 4385 },
- { 0x2540, 4387 },
- { 0x2526, 4395 },
- { 0x251A, 4403 },
- { 0x251E, 4410 },
- { 0x2516, 4418 },
- { 0x2538, 4425 },
- { 0x2548, 4432 },
- { 0x252A, 4440 },
- { 0x2519, 4448 },
- { 0x2522, 4455 },
- { 0x2515, 4463 },
- { 0x2537, 4470 },
- { 0x255C, 4477 },
- { 0x2559, 4484 },
- { 0x2568, 4491 },
- { 0x255B, 4498 },
- { 0x2558, 4505 },
- { 0x2567, 4512 },
- { 0x2541, 4519 },
- { 0x2527, 4527 },
- { 0x2512, 4535 },
- { 0x251F, 4542 },
- { 0x250E, 4550 },
- { 0x2530, 4557 },
- { 0x2547, 4564 },
- { 0x2529, 4572 },
- { 0x2511, 4580 },
- { 0x2521, 4587 },
- { 0x250D, 4595 },
- { 0x252F, 4602 },
- { 0x2556, 4609 },
- { 0x2553, 4616 },
- { 0x2565, 4623 },
- { 0x2555, 4630 },
- { 0x2552, 4637 },
- { 0x2564, 4644 },
- { 0x2543, 4651 },
- { 0x2545, 4660 },
- { 0x2535, 4669 },
- { 0x252D, 4677 },
- { 0x253D, 4685 },
- { 0x253A, 4693 },
- { 0x2532, 4701 },
- { 0x254A, 4709 },
- { 0x2579, 4717 },
- { 0x251B, 4721 },
- { 0x257F, 4727 },
- { 0x2517, 4734 },
- { 0x253B, 4740 },
- { 0x257B, 4746 },
- { 0x2513, 4750 },
- { 0x250F, 4756 },
- { 0x2533, 4762 },
- { 0x2578, 4768 },
- { 0x257E, 4772 },
- { 0x257A, 4779 },
- { 0x254F, 4783 },
- { 0x254D, 4789 },
- { 0x2507, 4795 },
- { 0x2505, 4801 },
- { 0x2503, 4807 },
- { 0x252B, 4811 },
- { 0x2523, 4817 },
- { 0x254B, 4823 },
- { 0x250B, 4829 },
- { 0x2509, 4835 },
- { 0x2501, 4841 },
- { 0x2575, 4845 },
- { 0x2518, 4849 },
- { 0x257D, 4855 },
- { 0x2514, 4862 },
- { 0x2534, 4868 },
- { 0x256F, 4874 },
- { 0x2570, 4881 },
- { 0x256E, 4888 },
- { 0x256D, 4895 },
- { 0x2577, 4902 },
- { 0x2510, 4906 },
- { 0x250C, 4912 },
- { 0x252C, 4918 },
- { 0x2574, 4924 },
- { 0x257C, 4928 },
- { 0x2576, 4935 },
- { 0x254E, 4939 },
- { 0x254C, 4945 },
- { 0x2506, 4951 },
- { 0x2504, 4957 },
- { 0x2573, 4963 },
- { 0x2572, 4968 },
- { 0x2571, 4977 },
- { 0x2502, 4986 },
- { 0x2524, 4990 },
- { 0x251C, 4996 },
- { 0x253C, 5002 },
- { 0x250A, 5008 },
- { 0x2508, 5014 },
- { 0x2500, 5020 },
- { 0x2544, 5024 },
- { 0x2546, 5033 },
- { 0x2536, 5042 },
- { 0x252E, 5050 },
- { 0x253E, 5058 },
- { 0x2539, 5066 },
- { 0x2531, 5074 },
- { 0x2549, 5082 },
- { 0x255D, 5090 },
- { 0x255A, 5096 },
- { 0x2569, 5102 },
- { 0x2557, 5108 },
- { 0x2554, 5114 },
- { 0x2566, 5120 },
- { 0x2551, 5126 },
- { 0x2563, 5130 },
- { 0x2560, 5136 },
- { 0x256C, 5142 },
- { 0x2550, 5148 },
- { 0x2528, 5152 },
- { 0x2520, 5159 },
- { 0x2542, 5166 },
- { 0x2525, 5173 },
- { 0x251D, 5180 },
- { 0x253F, 5187 },
- { 0x2562, 5194 },
- { 0x255F, 5201 },
- { 0x256B, 5208 },
- { 0x2561, 5215 },
- { 0x255E, 5222 },
- { 0x256A, 5229 },
- { 0x2627, 5236 },
- { 0x31D4, 5238 },
- { 0x31D0, 5241 },
- { 0x31CF, 5244 },
- { 0x31D2, 5247 },
- { 0x31E3, 5250 },
- { 0x31D1, 5253 },
- { 0x31C0, 5256 },
- { 0x31D6, 5259 },
- { 0x31C7, 5262 },
- { 0x31D5, 5265 },
- { 0x31DB, 5268 },
- { 0x31E2, 5271 },
- { 0x31DC, 5274 },
- { 0x31DA, 5277 },
- { 0x31D3, 5280 },
- { 0x31D9, 5283 },
- { 0x31C4, 5286 },
- { 0x31D7, 5289 },
- { 0x31DD, 5292 },
- { 0x31C1, 5295 },
- { 0x31C2, 5298 },
- { 0x31C3, 5301 },
- { 0x31C6, 5304 },
- { 0x31CA, 5307 },
- { 0x31CD, 5310 },
- { 0x31C5, 5313 },
- { 0x31DF, 5316 },
- { 0x31D8, 5319 },
- { 0x31DE, 5322 },
- { 0x31CC, 5325 },
- { 0x31E0, 5328 },
- { 0x31C8, 5331 },
- { 0x31CB, 5334 },
- { 0x31CE, 5337 },
- { 0x31C9, 5340 },
- { 0x31E1, 5343 },
- { 0x2E86, 5346 },
- { 0x2EA7, 5349 },
- { 0x2EA8, 5352 },
- { 0x2EDD, 5355 },
- { 0x2EDE, 5359 },
- { 0x2EDF, 5363 },
- { 0x2EB8, 5367 },
- { 0x2EAB, 5370 },
- { 0x2EB1, 5373 },
- { 0x2EB2, 5377 },
- { 0x2EB4, 5381 },
- { 0x2EB3, 5385 },
- { 0x2EB9, 5389 },
- { 0x2EA4, 5392 },
- { 0x2EA5, 5396 },
- { 0x2EB7, 5400 },
- { 0x2E99, 5403 },
- { 0x2E9C, 5406 },
- { 0x2ED8, 5409 },
- { 0x2EAA, 5412 },
- { 0x2EE3, 5417 },
- { 0x2ECF, 5420 },
- { 0x2EA3, 5423 },
- { 0x2ECA, 5426 },
- { 0x2E98, 5429 },
- { 0x2EE1, 5432 },
- { 0x2EC7, 5435 },
- { 0x2EA9, 5438 },
- { 0x2E8E, 5441 },
- { 0x2E8F, 5445 },
- { 0x2E91, 5449 },
- { 0x2E90, 5453 },
- { 0x2ED1, 5457 },
- { 0x2ED2, 5461 },
- { 0x2EBC, 5465 },
- { 0x2EB5, 5468 },
- { 0x2E9D, 5471 },
- { 0x2ED7, 5474 },
- { 0x2E8B, 5477 },
- { 0x2EAF, 5480 },
- { 0x2ECD, 5483 },
- { 0x2ECE, 5487 },
- { 0x2EC3, 5491 },
- { 0x2EC4, 5495 },
- { 0x2EBA, 5499 },
- { 0x2EBB, 5503 },
- { 0x2E9B, 5507 },
- { 0x2E81, 5510 },
- { 0x2E9E, 5513 },
- { 0x2EE4, 5516 },
- { 0x2EBE, 5519 },
- { 0x2EBF, 5523 },
- { 0x2EC0, 5527 },
- { 0x2E96, 5531 },
- { 0x2E97, 5535 },
- { 0x2E88, 5539 },
- { 0x2E89, 5543 },
- { 0x2ED5, 5547 },
- { 0x2ED6, 5551 },
- { 0x2EB6, 5555 },
- { 0x2E8C, 5558 },
- { 0x2E8D, 5562 },
- { 0x2E92, 5566 },
- { 0x2E94, 5569 },
- { 0x2E95, 5573 },
- { 0x2E87, 5577 },
- { 0x2EC1, 5580 },
- { 0x2EA1, 5583 },
- { 0x2EA2, 5587 },
- { 0x2EAE, 5591 },
- { 0x2EBD, 5594 },
- { 0x2E9F, 5597 },
- { 0x2E85, 5600 },
- { 0x2E80, 5603 },
- { 0x2E82, 5606 },
- { 0x2E83, 5610 },
- { 0x2E84, 5614 },
- { 0x2EAC, 5618 },
- { 0x2EAD, 5622 },
- { 0x2E93, 5626 },
- { 0x2EF1, 5629 },
- { 0x2EC2, 5632 },
- { 0x2EA0, 5635 },
- { 0x2E8A, 5638 },
- { 0x2EA6, 5641 },
- { 0x2EC6, 5647 },
- { 0x2ECC, 5651 },
- { 0x2EE8, 5655 },
- { 0x2EE9, 5659 },
- { 0x2EE0, 5663 },
- { 0x2EDC, 5667 },
- { 0x2EC5, 5671 },
- { 0x2EE6, 5675 },
- { 0x2ECB, 5679 },
- { 0x2EEC, 5683 },
- { 0x2EE5, 5687 },
- { 0x2EEA, 5691 },
- { 0x2ED4, 5695 },
- { 0x2ED0, 5699 },
- { 0x2EDA, 5703 },
- { 0x2ED3, 5707 },
- { 0x2EE7, 5711 },
- { 0x2EB0, 5715 },
- { 0x2EDB, 5719 },
- { 0x2EE2, 5723 },
- { 0x2EC9, 5727 },
- { 0x2EEE, 5731 },
- { 0x2EF0, 5735 },
- { 0x2EC8, 5739 },
- { 0x2ED9, 5743 },
- { 0x2EF3, 5748 },
- { 0x2EEB, 5752 },
- { 0x2EED, 5756 },
- { 0x2EEF, 5760 },
- { 0x2EF2, 5764 },
- { 0x2680, 5768 },
- { 0x2681, 5770 },
- { 0x2682, 5772 },
- { 0x2683, 5774 },
- { 0x2684, 5776 },
- { 0x2685, 5778 },
- { 0x2214, 5780 },
- { 0x02D9, 5782 },
- { 0x2238, 5784 },
- { 0x22C5, 5786 },
- { 0x220E, 5788 },
- { 0x2200, 5791 },
- { 0x2668, 5793 },
- { 0x2615, 5795 },
- { 0x20AD, 5797 },
- { 0x0EDD, 5799 },
- { 0x0EDC, 5802 },
- { 0x0EC6, 5805 },
- { 0x0EC8, 5808 },
- { 0x0ECA, 5812 },
- { 0x0EC9, 5816 },
- { 0x0ECB, 5820 },
- { 0x0ED1, 5824 },
- { 0x0ED6, 5827 },
- { 0x0ED2, 5830 },
- { 0x0ED5, 5833 },
- { 0x0ED4, 5836 },
- { 0x0ED9, 5839 },
- { 0x0ED0, 5842 },
- { 0x0ED8, 5845 },
- { 0x0ED7, 5848 },
- { 0x0ED3, 5851 },
- { 0x0EB0, 5854 },
- { 0x0EC0, 5858 },
- { 0x0EB4, 5862 },
- { 0x0EC2, 5866 },
- { 0x0EB8, 5870 },
- { 0x0EB6, 5874 },
- { 0x0EB2, 5878 },
- { 0x0EC4, 5882 },
- { 0x0EB3, 5886 },
- { 0x0EC3, 5890 },
- { 0x0EC1, 5894 },
- { 0x0EB5, 5898 },
- { 0x0EB9, 5902 },
- { 0x0EB7, 5906 },
- { 0x0EB1, 5910 },
- { 0x0EBB, 5915 },
- { 0x0EAD, 5920 },
- { 0x0E9A, 5923 },
- { 0x0E88, 5926 },
- { 0x0E94, 5929 },
- { 0x0E9D, 5932 },
- { 0x0E9F, 5936 },
- { 0x0EAE, 5940 },
- { 0x0EAB, 5944 },
- { 0x0E81, 5948 },
- { 0x0EA3, 5951 },
- { 0x0EA5, 5955 },
- { 0x0EA1, 5959 },
- { 0x0E99, 5962 },
- { 0x0E9B, 5965 },
- { 0x0E8A, 5968 },
- { 0x0EAA, 5972 },
- { 0x0E95, 5976 },
- { 0x0EA7, 5979 },
- { 0x0EA2, 5982 },
- { 0x0E84, 5985 },
- { 0x0E82, 5989 },
- { 0x0E87, 5993 },
- { 0x0E8D, 5996 },
- { 0x0E9E, 5999 },
- { 0x0E9C, 6003 },
- { 0x0E97, 6007 },
- { 0x0E96, 6011 },
- { 0x0EAF, 6015 },
- { 0x0ECD, 6017 },
- { 0x0EBC, 6019 },
- { 0x0EBD, 6023 },
- { 0x0ECC, 6027 },
- { 0x264C, 6030 },
- { 0x005F, 6031 },
- { 0x301F, 6033 },
- { 0x204E, 6038 },
- { 0x19DE, 6040 },
- { 0x19DF, 6045 },
- { 0x19C8, 6050 },
- { 0x19C9, 6055 },
- { 0x19D1, 6060 },
- { 0x19D6, 6065 },
- { 0x19D2, 6070 },
- { 0x19D5, 6075 },
- { 0x19D4, 6080 },
- { 0x19D9, 6085 },
- { 0x19D0, 6090 },
- { 0x19D8, 6095 },
- { 0x19D7, 6100 },
- { 0x19D3, 6105 },
- { 0x19B5, 6110 },
- { 0x19B7, 6116 },
- { 0x19B3, 6122 },
- { 0x19B1, 6128 },
- { 0x19B6, 6134 },
- { 0x19BA, 6140 },
- { 0x19B2, 6146 },
- { 0x19C0, 6152 },
- { 0x19B8, 6158 },
- { 0x19BD, 6164 },
- { 0x19B9, 6170 },
- { 0x19B4, 6176 },
- { 0x19BC, 6182 },
- { 0x19BB, 6188 },
- { 0x19BE, 6194 },
- { 0x19BF, 6200 },
- { 0x19B0, 6206 },
- { 0x19A5, 6213 },
- { 0x19A4, 6219 },
- { 0x199D, 6225 },
- { 0x19A3, 6231 },
- { 0x1985, 6237 },
- { 0x199F, 6243 },
- { 0x1999, 6249 },
- { 0x1993, 6255 },
- { 0x1997, 6261 },
- { 0x1981, 6267 },
- { 0x198C, 6273 },
- { 0x1991, 6279 },
- { 0x199E, 6285 },
- { 0x1986, 6291 },
- { 0x198D, 6297 },
- { 0x19A8, 6303 },
- { 0x1987, 6309 },
- { 0x1998, 6315 },
- { 0x1992, 6321 },
- { 0x198B, 6327 },
- { 0x19A9, 6333 },
- { 0x19A2, 6339 },
- { 0x19A1, 6345 },
- { 0x199A, 6351 },
- { 0x19A0, 6357 },
- { 0x1982, 6363 },
- { 0x199C, 6369 },
- { 0x1996, 6375 },
- { 0x1990, 6381 },
- { 0x1994, 6387 },
- { 0x1980, 6393 },
- { 0x1989, 6399 },
- { 0x198E, 6405 },
- { 0x199B, 6411 },
- { 0x1983, 6417 },
- { 0x198A, 6423 },
- { 0x19A6, 6429 },
- { 0x1984, 6435 },
- { 0x1995, 6441 },
- { 0x198F, 6447 },
- { 0x1988, 6453 },
- { 0x19A7, 6459 },
- { 0x19C7, 6465 },
- { 0x19C6, 6471 },
- { 0x19C5, 6477 },
- { 0x19C4, 6483 },
- { 0x19C3, 6489 },
- { 0x19C1, 6495 },
- { 0x19C2, 6501 },
- { 0x20AA, 6507 },
- { 0x07F5, 6510 },
- { 0x07F4, 6514 },
- { 0x07F8, 6518 },
- { 0x07C1, 6520 },
- { 0x07C6, 6523 },
- { 0x07C2, 6526 },
- { 0x07C5, 6529 },
- { 0x07C4, 6532 },
- { 0x07C9, 6535 },
- { 0x07C0, 6538 },
- { 0x07C8, 6541 },
- { 0x07C7, 6544 },
- { 0x07C3, 6547 },
- { 0x07CA, 6550 },
- { 0x07CD, 6553 },
- { 0x07CC, 6556 },
- { 0x07D2, 6559 },
- { 0x07D0, 6562 },
- { 0x07CE, 6565 },
- { 0x07D3, 6568 },
- { 0x07D8, 6571 },
- { 0x07CB, 6574 },
- { 0x07DD, 6577 },
- { 0x07E4, 6580 },
- { 0x07D6, 6583 },
- { 0x07DE, 6586 },
- { 0x07DF, 6589 },
- { 0x07E1, 6592 },
- { 0x07E3, 6595 },
- { 0x07E0, 6598 },
- { 0x07CF, 6602 },
- { 0x07D4, 6605 },
- { 0x07D9, 6608 },
- { 0x07DB, 6611 },
- { 0x07D5, 6614 },
- { 0x07E5, 6617 },
- { 0x07E6, 6620 },
- { 0x07D7, 6623 },
- { 0x07DC, 6626 },
- { 0x07E2, 6629 },
- { 0x07E7, 6632 },
- { 0x07DA, 6636 },
- { 0x07E8, 6639 },
- { 0x07EA, 6643 },
- { 0x07E9, 6647 },
- { 0x07D1, 6651 },
- { 0x07F6, 6654 },
- { 0x07F7, 6658 },
- { 0x07F0, 6661 },
- { 0x07EF, 6666 },
- { 0x07F1, 6671 },
- { 0x07EE, 6676 },
- { 0x07EC, 6681 },
- { 0x07EB, 6686 },
- { 0x07ED, 6691 },
- { 0x07F3, 6696 },
- { 0x07F2, 6701 },
- { 0x07FA, 6705 },
- { 0x07F9, 6707 },
- { 0x22BD, 6710 },
- { 0x2284, 6711 },
- { 0x2285, 6715 },
- { 0x2209, 6719 },
- { 0x00AC, 6723 },
- { 0x22AD, 6725 },
- { 0x237B, 6727 },
- { 0x2260, 6730 },
- { 0x2241, 6733 },
- { 0x2249, 6735 },
- { 0x22EA, 6739 },
- { 0x22EC, 6743 },
- { 0x22E2, 6750 },
- { 0x22E3, 6757 },
- { 0x2226, 6764 },
- { 0x2262, 6767 },
- { 0x226E, 6770 },
- { 0x226D, 6772 },
- { 0x226F, 6775 },
- { 0x2244, 6777 },
- { 0x2445, 6781 },
- { 0x2444, 6784 },
- { 0x2448, 6787 },
- { 0x2442, 6789 },
- { 0x2440, 6791 },
- { 0x2441, 6793 },
- { 0x2447, 6795 },
- { 0x2446, 6799 },
- { 0x244A, 6803 },
- { 0x2449, 6806 },
- { 0x2443, 6810 },
- { 0x2126, 6813 },
- { 0x7300, 6815 },
- { 0x7304, 6819 },
- { 0x7309, 6823 },
- { 0x730F, 6827 },
- { 0x7316, 6831 },
- { 0x7301, 6835 },
- { 0x7303, 6839 },
- { 0x731A, 6843 },
- { 0x730B, 6847 },
- { 0x730C, 6851 },
- { 0x730D, 6855 },
- { 0x7313, 6859 },
- { 0x7314, 6863 },
- { 0x7307, 6867 },
- { 0x731D, 6871 },
- { 0x730A, 6875 },
- { 0x7302, 6879 },
- { 0x7312, 6883 },
- { 0x7310, 6887 },
- { 0x7315, 6891 },
- { 0x731E, 6895 },
- { 0x7305, 6899 },
- { 0x7306, 6903 },
- { 0x731C, 6907 },
- { 0x7317, 6911 },
- { 0x731B, 6915 },
- { 0x730E, 6919 },
- { 0x7319, 6923 },
- { 0x7318, 6927 },
- { 0x7311, 6931 },
- { 0x7308, 6935 },
- { 0x7320, 6939 },
- { 0x7322, 6943 },
- { 0x7321, 6947 },
- { 0x7323, 6951 },
- { 0x73A0, 6955 },
- { 0x73A1, 6959 },
- { 0x73A2, 6963 },
- { 0x73B2, 6967 },
- { 0x73A8, 6971 },
- { 0x73AD, 6975 },
- { 0x73AE, 6979 },
- { 0x73AF, 6983 },
- { 0x73B3, 6987 },
- { 0x73A5, 6991 },
- { 0x73A6, 6995 },
- { 0x73C3, 6999 },
- { 0x73A9, 7003 },
- { 0x73AA, 7007 },
- { 0x73A3, 7011 },
- { 0x73A4, 7015 },
- { 0x73BE, 7019 },
- { 0x73B6, 7023 },
- { 0x73B7, 7027 },
- { 0x73B8, 7031 },
- { 0x73B4, 7035 },
- { 0x73B5, 7039 },
- { 0x73B1, 7043 },
- { 0x73BC, 7047 },
- { 0x73BD, 7051 },
- { 0x73BF, 7055 },
- { 0x73AB, 7059 },
- { 0x73AC, 7063 },
- { 0x73BA, 7067 },
- { 0x73BB, 7071 },
- { 0x73A7, 7075 },
- { 0x73B9, 7079 },
- { 0x73C0, 7083 },
- { 0x73C1, 7087 },
- { 0x73C2, 7091 },
- { 0x73B0, 7095 },
- { 0x73CE, 7099 },
- { 0x73CF, 7103 },
- { 0x73CC, 7107 },
- { 0x73C8, 7111 },
- { 0x73CD, 7115 },
- { 0x73C9, 7119 },
- { 0x73CA, 7123 },
- { 0x73CB, 7127 },
- { 0x73D0, 7131 },
- { 0x73D1, 7135 },
- { 0x73D3, 7139 },
- { 0x73D2, 7143 },
- { 0x73D4, 7147 },
- { 0x73D5, 7151 },
- { 0x2E2B, 7155 },
- { 0x2024, 7161 },
- { 0x2031, 7164 },
- { 0x214C, 7168 },
- { 0x2030, 7170 },
- { 0x202C, 7173 },
- { 0x2216, 7176 },
- { 0x2736, 7178 },
- { 0x273E, 7182 },
- { 0x2609, 7188 },
- { 0xC05F, 7189 },
- { 0xC02E, 7192 },
- { 0xC07B, 7195 },
- { 0xC05B, 7199 },
- { 0xC028, 7203 },
- { 0xC02B, 7206 },
- { 0xC03A, 7209 },
- { 0xC02C, 7211 },
- { 0xC031, 7213 },
- { 0xC036, 7216 },
- { 0xC032, 7219 },
- { 0xC035, 7222 },
- { 0xC034, 7225 },
- { 0xC039, 7228 },
- { 0xC030, 7231 },
- { 0xC038, 7234 },
- { 0xC037, 7237 },
- { 0xC033, 7240 },
- { 0xC060, 7243 },
- { 0xC061, 7246 },
- { 0xC062, 7251 },
- { 0xC063, 7256 },
- { 0xC064, 7261 },
- { 0xC065, 7266 },
- { 0xC066, 7271 },
- { 0xC067, 7276 },
- { 0xC068, 7281 },
- { 0xC069, 7286 },
- { 0xC06A, 7291 },
- { 0xC06B, 7296 },
- { 0xC06C, 7301 },
- { 0xC06D, 7306 },
- { 0xC06E, 7311 },
- { 0xC06F, 7316 },
- { 0xC070, 7321 },
- { 0xC071, 7326 },
- { 0xC072, 7331 },
- { 0xC073, 7336 },
- { 0xC074, 7341 },
- { 0xC075, 7346 },
- { 0xC076, 7351 },
- { 0xC077, 7356 },
- { 0xC078, 7361 },
- { 0xC079, 7366 },
- { 0xC07A, 7371 },
- { 0xC041, 7376 },
- { 0xC042, 7381 },
- { 0xC043, 7386 },
- { 0xC044, 7391 },
- { 0xC045, 7396 },
- { 0xC046, 7401 },
- { 0xC047, 7406 },
- { 0xC048, 7411 },
- { 0xC049, 7416 },
- { 0xC04A, 7421 },
- { 0xC04B, 7426 },
- { 0xC04C, 7431 },
- { 0xC04D, 7436 },
- { 0xC04E, 7441 },
- { 0xC04F, 7446 },
- { 0xC050, 7451 },
- { 0xC051, 7456 },
- { 0xC052, 7461 },
- { 0xC053, 7466 },
- { 0xC054, 7471 },
- { 0xC055, 7476 },
- { 0xC056, 7481 },
- { 0xC057, 7486 },
- { 0xC058, 7491 },
- { 0xC059, 7496 },
- { 0xC05A, 7501 },
- { 0xC07D, 7506 },
- { 0xC05D, 7510 },
- { 0xC029, 7514 },
- { 0xC020, 7517 },
- { 0xC07E, 7519 },
- { 0xC024, 7521 },
- { 0xC03D, 7524 },
- { 0xC023, 7527 },
- { 0xC025, 7530 },
- { 0xC05C, 7533 },
- { 0xC02F, 7536 },
- { 0xC02A, 7538 },
- { 0xC03F, 7540 },
- { 0xC07C, 7543 },
- { 0xC026, 7546 },
- { 0xC03C, 7548 },
- { 0xC022, 7551 },
- { 0xC03B, 7554 },
- { 0xC027, 7556 },
- { 0xC05E, 7558 },
- { 0xC040, 7561 },
- { 0xC021, 7564 },
- { 0xC03E, 7567 },
- { 0xC02D, 7570 },
- { 0x1963, 7572 },
- { 0x196B, 7576 },
- { 0x1964, 7580 },
- { 0x1969, 7584 },
- { 0x1967, 7588 },
- { 0x196D, 7592 },
- { 0x1965, 7596 },
- { 0x1966, 7600 },
- { 0x195C, 7604 },
- { 0x195E, 7608 },
- { 0x1950, 7612 },
- { 0x1958, 7616 },
- { 0x195B, 7620 },
- { 0x1962, 7624 },
- { 0x1968, 7628 },
- { 0x1959, 7632 },
- { 0x195F, 7636 },
- { 0x1954, 7640 },
- { 0x1956, 7644 },
- { 0x196A, 7648 },
- { 0x195D, 7652 },
- { 0x1951, 7656 },
- { 0x1955, 7660 },
- { 0x196C, 7664 },
- { 0x1960, 7668 },
- { 0x1952, 7672 },
- { 0x195A, 7676 },
- { 0x1957, 7680 },
- { 0x1953, 7684 },
- { 0x1961, 7688 },
- { 0x1970, 7692 },
- { 0x1971, 7696 },
- { 0x1972, 7700 },
- { 0x1973, 7704 },
- { 0x1974, 7708 },
- { 0x29DD, 7712 },
- { 0x293C, 7715 },
- { 0x293A, 7721 },
- { 0x293D, 7725 },
- { 0x2320, 7731 },
- { 0x230F, 7734 },
- { 0x2E22, 7737 },
- { 0x231C, 7741 },
- { 0x23DE, 7744 },
- { 0x230E, 7747 },
- { 0x2E23, 7750 },
- { 0x231D, 7754 },
- { 0x23B4, 7757 },
- { 0x23E0, 7760 },
- { 0x23DC, 7764 },
- { 0x2025, 7766 },
- { 0x205A, 7769 },
- { 0x2E2A, 7772 },
- { 0x29C9, 7778 },
- { 0x2A08, 7781 },
- { 0x2A07, 7785 },
- { 0x2051, 7789 },
- { 0x2A75, 7793 },
- { 0x2A56, 7797 },
- { 0x2A55, 7801 },
- { 0x560E, 7805 },
- { 0x560D, 7808 },
- { 0x5621, 7810 },
- { 0x5626, 7813 },
- { 0x5622, 7816 },
- { 0x5625, 7819 },
- { 0x5624, 7822 },
- { 0x5629, 7825 },
- { 0x5620, 7828 },
- { 0x5628, 7831 },
- { 0x5627, 7834 },
- { 0x5623, 7837 },
- { 0x5618, 7840 },
- { 0x5616, 7843 },
- { 0x5619, 7846 },
- { 0x5617, 7849 },
- { 0x561A, 7852 },
- { 0x561E, 7855 },
- { 0x561F, 7858 },
- { 0x561C, 7861 },
- { 0x5615, 7864 },
- { 0x561D, 7867 },
- { 0x561B, 7870 },
- { 0x5613, 7873 },
- { 0x5614, 7876 },
- { 0x560F, 7879 },
- { 0x5549, 7882 },
- { 0x55E1, 7885 },
- { 0x5524, 7888 },
- { 0x55BA, 7891 },
- { 0x5595, 7894 },
- { 0x554A, 7897 },
- { 0x5552, 7900 },
- { 0x55EA, 7903 },
- { 0x552C, 7906 },
- { 0x55C3, 7909 },
- { 0x559D, 7912 },
- { 0x5566, 7915 },
- { 0x55FF, 7918 },
- { 0x553F, 7921 },
- { 0x55D7, 7924 },
- { 0x55B0, 7927 },
- { 0x5560, 7930 },
- { 0x55F9, 7933 },
- { 0x5539, 7936 },
- { 0x55D1, 7939 },
- { 0x55AA, 7942 },
- { 0x5500, 7945 },
- { 0x55E2, 7948 },
- { 0x5558, 7951 },
- { 0x55F1, 7954 },
- { 0x5531, 7957 },
- { 0x55C9, 7960 },
- { 0x55A2, 7963 },
- { 0x556D, 7966 },
- { 0x5606, 7969 },
- { 0x5545, 7972 },
- { 0x55DD, 7975 },
- { 0x55B6, 7978 },
- { 0x554C, 7981 },
- { 0x55E4, 7984 },
- { 0x5526, 7987 },
- { 0x55BD, 7990 },
- { 0x5597, 7993 },
- { 0x5525, 7996 },
- { 0x5567, 7999 },
- { 0x5600, 8002 },
- { 0x5540, 8005 },
- { 0x55D8, 8008 },
- { 0x55B1, 8011 },
- { 0x556A, 8014 },
- { 0x5603, 8017 },
- { 0x5543, 8020 },
- { 0x55DB, 8023 },
- { 0x55B4, 8026 },
- { 0x555E, 8029 },
- { 0x55F7, 8032 },
- { 0x5537, 8035 },
- { 0x55CF, 8038 },
- { 0x55A8, 8041 },
- { 0x556E, 8044 },
- { 0x5608, 8047 },
- { 0x5546, 8050 },
- { 0x55DE, 8053 },
- { 0x55B7, 8056 },
- { 0x556F, 8059 },
- { 0x5609, 8062 },
- { 0x560B, 8065 },
- { 0x5547, 8068 },
- { 0x55DF, 8071 },
- { 0x55B8, 8074 },
- { 0x55BB, 8077 },
- { 0x5571, 8080 },
- { 0x5550, 8083 },
- { 0x55E8, 8086 },
- { 0x552A, 8089 },
- { 0x55C1, 8092 },
- { 0x559B, 8095 },
- { 0x555F, 8098 },
- { 0x55F8, 8101 },
- { 0x5538, 8104 },
- { 0x55D0, 8107 },
- { 0x55A9, 8110 },
- { 0x5562, 8113 },
- { 0x55FB, 8116 },
- { 0x553B, 8119 },
- { 0x55D3, 8122 },
- { 0x55AC, 8125 },
- { 0x555A, 8128 },
- { 0x55F3, 8131 },
- { 0x5533, 8134 },
- { 0x55CB, 8137 },
- { 0x55A4, 8140 },
- { 0x5596, 8143 },
- { 0x5559, 8146 },
- { 0x55F2, 8149 },
- { 0x5532, 8152 },
- { 0x55CA, 8155 },
- { 0x55A3, 8158 },
- { 0x554E, 8161 },
- { 0x55E6, 8164 },
- { 0x5528, 8167 },
- { 0x55BF, 8170 },
- { 0x5599, 8173 },
- { 0x5569, 8176 },
- { 0x5602, 8179 },
- { 0x5542, 8182 },
- { 0x55DA, 8185 },
- { 0x55B3, 8188 },
- { 0x5564, 8191 },
- { 0x55FD, 8194 },
- { 0x553D, 8197 },
- { 0x55D5, 8200 },
- { 0x55AE, 8203 },
- { 0x5507, 8206 },
- { 0x5551, 8209 },
- { 0x55E9, 8212 },
- { 0x552B, 8215 },
- { 0x55C2, 8218 },
- { 0x559C, 8221 },
- { 0x5578, 8224 },
- { 0x551A, 8227 },
- { 0x558B, 8230 },
- { 0x5514, 8233 },
- { 0x555C, 8236 },
- { 0x55F5, 8239 },
- { 0x5535, 8242 },
- { 0x55CD, 8245 },
- { 0x55A6, 8248 },
- { 0x5585, 8251 },
- { 0x5501, 8254 },
- { 0x550C, 8257 },
- { 0x557D, 8260 },
- { 0x5557, 8263 },
- { 0x55EF, 8266 },
- { 0x5530, 8269 },
- { 0x55C7, 8272 },
- { 0x55A1, 8275 },
- { 0x5520, 8278 },
- { 0x5607, 8281 },
- { 0x5591, 8284 },
- { 0x554D, 8287 },
- { 0x5502, 8290 },
- { 0x55E5, 8293 },
- { 0x5527, 8296 },
- { 0x55BE, 8299 },
- { 0x5573, 8302 },
- { 0x5598, 8305 },
- { 0x551B, 8308 },
- { 0x558C, 8311 },
- { 0x556B, 8314 },
- { 0x551E, 8317 },
- { 0x558F, 8320 },
- { 0x5554, 8323 },
- { 0x55EC, 8326 },
- { 0x552E, 8329 },
- { 0x55C5, 8332 },
- { 0x559F, 8335 },
- { 0x5512, 8338 },
- { 0x5583, 8341 },
- { 0x5553, 8344 },
- { 0x55EB, 8347 },
- { 0x552D, 8350 },
- { 0x55C4, 8353 },
- { 0x559E, 8356 },
- { 0x5521, 8359 },
- { 0x5592, 8362 },
- { 0x5561, 8365 },
- { 0x55FA, 8368 },
- { 0x553A, 8371 },
- { 0x55D2, 8374 },
- { 0x55AB, 8377 },
- { 0x5522, 8380 },
- { 0x5568, 8383 },
- { 0x5601, 8386 },
- { 0x5541, 8389 },
- { 0x55D9, 8392 },
- { 0x55B2, 8395 },
- { 0x5593, 8398 },
- { 0x5570, 8401 },
- { 0x560A, 8404 },
- { 0x5548, 8407 },
- { 0x55E0, 8410 },
- { 0x55B9, 8413 },
- { 0x5572, 8416 },
- { 0x5505, 8419 },
- { 0x5576, 8422 },
- { 0x5513, 8425 },
- { 0x5584, 8428 },
- { 0x5516, 8431 },
- { 0x5563, 8434 },
- { 0x55FC, 8437 },
- { 0x553C, 8440 },
- { 0x55D4, 8443 },
- { 0x55AD, 8446 },
- { 0x5587, 8449 },
- { 0x550E, 8452 },
- { 0x555B, 8455 },
- { 0x55F4, 8458 },
- { 0x5534, 8461 },
- { 0x55CC, 8464 },
- { 0x55A5, 8467 },
- { 0x557F, 8470 },
- { 0x550D, 8473 },
- { 0x557E, 8476 },
- { 0x554F, 8479 },
- { 0x5503, 8482 },
- { 0x55E7, 8485 },
- { 0x5529, 8488 },
- { 0x55C0, 8491 },
- { 0x5574, 8494 },
- { 0x559A, 8497 },
- { 0x551D, 8500 },
- { 0x558E, 8503 },
- { 0x5518, 8506 },
- { 0x5565, 8509 },
- { 0x55FE, 8512 },
- { 0x553E, 8515 },
- { 0x55D6, 8518 },
- { 0x55AF, 8521 },
- { 0x5589, 8524 },
- { 0x5506, 8527 },
- { 0x5577, 8530 },
- { 0x5510, 8533 },
- { 0x555D, 8536 },
- { 0x55F6, 8539 },
- { 0x5536, 8542 },
- { 0x55CE, 8545 },
- { 0x55A7, 8548 },
- { 0x5581, 8551 },
- { 0x550B, 8554 },
- { 0x55F0, 8557 },
- { 0x55C8, 8560 },
- { 0x557C, 8563 },
- { 0x5555, 8566 },
- { 0x5509, 8569 },
- { 0x55ED, 8572 },
- { 0x557A, 8575 },
- { 0x5508, 8578 },
- { 0x5579, 8581 },
- { 0x5556, 8584 },
- { 0x55EE, 8587 },
- { 0x552F, 8590 },
- { 0x55C6, 8593 },
- { 0x55A0, 8596 },
- { 0x5515, 8599 },
- { 0x5586, 8602 },
- { 0x554B, 8605 },
- { 0x55E3, 8608 },
- { 0x556C, 8611 },
- { 0x5604, 8614 },
- { 0x5544, 8617 },
- { 0x55DC, 8620 },
- { 0x55B5, 8623 },
- { 0x55BC, 8626 },
- { 0x551C, 8629 },
- { 0x558D, 8632 },
- { 0x5523, 8635 },
- { 0x5594, 8638 },
- { 0x5517, 8641 },
- { 0x5588, 8644 },
- { 0x550F, 8647 },
- { 0x5580, 8650 },
- { 0x5504, 8653 },
- { 0x5575, 8656 },
- { 0x5519, 8659 },
- { 0x558A, 8662 },
- { 0x5511, 8665 },
- { 0x5582, 8668 },
- { 0x550A, 8671 },
- { 0x557B, 8674 },
- { 0x562B, 8677 },
- { 0x5610, 8681 },
- { 0x5611, 8685 },
- { 0x562A, 8689 },
- { 0x5612, 8693 },
- { 0x551F, 8697 },
- { 0x5605, 8700 },
- { 0x5590, 8703 },
- { 0x560C, 8706 },
- { 0x20A9, 8709 },
- { 0x22BB, 8711 },
- { 0x00A5, 8712 },
- { 0x262F, 8714 },
- { 0x2135, 8716 },
- { 0x2625, 8718 },
- { 0x269B, 8719 },
- { 0x237E, 8721 },
- { 0x2106, 8723 },
- { 0x2105, 8725 },
- { 0x20B5, 8727 },
- { 0x00A2, 8729 },
- { 0x5A51, 8731 },
- { 0x5A56, 8734 },
- { 0x5A52, 8737 },
- { 0x5A55, 8740 },
- { 0x5A54, 8743 },
- { 0x5A59, 8746 },
- { 0x5A50, 8749 },
- { 0x5A58, 8752 },
- { 0x5A57, 8755 },
- { 0x5A53, 8758 },
- { 0x5A2A, 8761 },
- { 0x5A2F, 8765 },
- { 0x5A2D, 8769 },
- { 0x5A29, 8773 },
- { 0x5A30, 8777 },
- { 0x5A31, 8781 },
- { 0x5A2C, 8785 },
- { 0x5A2B, 8789 },
- { 0x5A2E, 8793 },
- { 0x5A32, 8797 },
- { 0x5A00, 8801 },
- { 0x5A03, 8804 },
- { 0x5A01, 8807 },
- { 0x5A05, 8810 },
- { 0x5A02, 8813 },
- { 0x5A04, 8816 },
- { 0x5A1D, 8819 },
- { 0x5A15, 8822 },
- { 0x5A08, 8825 },
- { 0x5A28, 8828 },
- { 0x5A0E, 8831 },
- { 0x5A06, 8834 },
- { 0x5A24, 8837 },
- { 0x5A20, 8840 },
- { 0x5A18, 8843 },
- { 0x5A1A, 8846 },
- { 0x5A23, 8849 },
- { 0x5A27, 8852 },
- { 0x5A13, 8855 },
- { 0x5A25, 8858 },
- { 0x5A22, 8861 },
- { 0x5A21, 8864 },
- { 0x5A1E, 8867 },
- { 0x5A0C, 8870 },
- { 0x5A19, 8873 },
- { 0x5A16, 8876 },
- { 0x5A09, 8879 },
- { 0x5A0F, 8882 },
- { 0x5A07, 8885 },
- { 0x5A1F, 8888 },
- { 0x5A0B, 8891 },
- { 0x5A11, 8894 },
- { 0x5A17, 8897 },
- { 0x5A1C, 8900 },
- { 0x5A1B, 8903 },
- { 0x5A26, 8906 },
- { 0x5A14, 8909 },
- { 0x5A0D, 8912 },
- { 0x5A0A, 8915 },
- { 0x5A12, 8918 },
- { 0x5A10, 8921 },
- { 0x5A41, 8924 },
- { 0x5A40, 8928 },
- { 0x5A4A, 8932 },
- { 0x5A46, 8936 },
- { 0x5A47, 8940 },
- { 0x5A49, 8944 },
- { 0x5A45, 8948 },
- { 0x5A48, 8952 },
- { 0x5A44, 8956 },
- { 0x5A42, 8960 },
- { 0x5A4B, 8964 },
- { 0x5A35, 8968 },
- { 0x5A34, 8972 },
- { 0x5A36, 8976 },
- { 0x5A33, 8980 },
- { 0x5A4D, 8984 },
- { 0x5A4C, 8989 },
- { 0x5A43, 8994 },
- { 0x5A5D, 8999 },
- { 0x5A5E, 9002 },
- { 0x5A5C, 9006 },
- { 0x5A5F, 9009 },
- { 0x221B, 9013 },
- { 0x2593, 9015 },
- { 0x22AE, 9017 },
- { 0x22AC, 9020 },
- { 0x2224, 9023 },
- { 0x2AEE, 9026 },
- { 0x220C, 9033 },
- { 0x22EB, 9038 },
- { 0x22ED, 9044 },
- { 0x2280, 9052 },
- { 0x22E0, 9055 },
- { 0x2281, 9060 },
- { 0x22E1, 9063 },
- { 0x20AB, 9068 },
- { 0x297F, 9070 },
- { 0x22A4, 9073 },
- { 0x2AF1, 9075 },
- { 0x22F1, 9080 },
- { 0x2304, 9084 },
- { 0x2671, 9086 },
- { 0x20AC, 9089 },
- { 0x2E2D, 9091 },
- { 0x2059, 9094 },
- { 0x205B, 9097 },
- { 0x2058, 9100 },
- { 0x2725, 9103 },
- { 0x2723, 9106 },
- { 0x2722, 9109 },
- { 0x002E, 9112 },
- { 0x2588, 9114 },
- { 0x27D7, 9116 },
- { 0x23DB, 9119 },
- { 0x2699, 9120 },
- { 0x3013, 9121 },
- { 0x200A, 9123 },
- { 0x2388, 9125 },
- { 0x26A1, 9127 },
- { 0x2A1D, 9130 },
- { 0x26B5, 9131 },
- { 0x263E, 9132 },
- { 0x27DB, 9135 },
- { 0x27DA, 9139 },
- { 0x2993, 9144 },
- { 0x2E1C, 9148 },
- { 0x258F, 9152 },
- { 0x258E, 9156 },
- { 0x294E, 9160 },
- { 0x294A, 9167 },
- { 0x294B, 9174 },
- { 0x2950, 9181 },
- { 0x297C, 9188 },
- { 0x258B, 9191 },
- { 0x25D6, 9195 },
- { 0x258C, 9199 },
- { 0x22A3, 9202 },
- { 0x3008, 9204 },
- { 0x2991, 9207 },
- { 0x2B30, 9212 },
- { 0x2B32, 9217 },
- { 0x2997, 9222 },
- { 0x3010, 9227 },
- { 0x007B, 9231 },
- { 0x23A9, 9234 },
- { 0x23A7, 9239 },
- { 0x23A8, 9244 },
- { 0x230A, 9249 },
- { 0x27D5, 9251 },
- { 0x21AD, 9254 },
- { 0x2194, 9258 },
- { 0x21FC, 9261 },
- { 0x21AE, 9268 },
- { 0x21F9, 9273 },
- { 0x2948, 9279 },
- { 0x2B0C, 9285 },
- { 0x2B04, 9289 },
- { 0x21D4, 9293 },
- { 0x21CE, 9297 },
- { 0x2904, 9303 },
- { 0x21FF, 9310 },
- { 0x2589, 9314 },
- { 0x258D, 9318 },
- { 0x258A, 9322 },
- { 0x2983, 9326 },
- { 0x300E, 9330 },
- { 0x301A, 9334 },
- { 0x3018, 9338 },
- { 0x3016, 9343 },
- { 0x2985, 9347 },
- { 0x300C, 9350 },
- { 0x2E04, 9353 },
- { 0x300A, 9357 },
- { 0x29DA, 9361 },
- { 0x201C, 9365 },
- { 0x2E28, 9369 },
- { 0x22C9, 9372 },
- { 0x2E0C, 9377 },
- { 0x2018, 9381 },
- { 0x005B, 9385 },
- { 0x298D, 9388 },
- { 0x298F, 9396 },
- { 0x2045, 9404 },
- { 0x298B, 9409 },
- { 0x23A3, 9414 },
- { 0x23A1, 9419 },
- { 0x23A2, 9424 },
- { 0x29D8, 9428 },
- { 0x2308, 9431 },
- { 0x27DC, 9433 },
- { 0x27C5, 9435 },
- { 0x2E26, 9439 },
- { 0x3014, 9443 },
- { 0x29CF, 9447 },
- { 0x2E20, 9452 },
- { 0x23B8, 9457 },
- { 0x22CB, 9461 },
- { 0x0028, 9464 },
- { 0x239D, 9466 },
- { 0x239B, 9470 },
- { 0x239C, 9474 },
- { 0x2E02, 9477 },
- { 0x2E09, 9480 },
- { 0x2028, 9483 },
- { 0x2A14, 9485 },
- { 0x2A12, 9491 },
- { 0x2A13, 9498 },
- { 0x20A4, 9505 },
- { 0x2AE6, 9507 },
- { 0x27DE, 9515 },
- { 0x27F7, 9518 },
- { 0x27FA, 9522 },
- { 0x27DD, 9527 },
- { 0x27CC, 9530 },
- { 0x27F5, 9532 },
- { 0x27FB, 9535 },
- { 0x27F8, 9540 },
- { 0x27FD, 9544 },
- { 0x2B33, 9550 },
- { 0x27F6, 9554 },
- { 0x27FC, 9557 },
- { 0x27F9, 9562 },
- { 0x27FE, 9566 },
- { 0x27FF, 9572 },
- { 0x26A5, 9576 },
- { 0x2642, 9580 },
- { 0x26A7, 9582 },
- { 0x26A6, 9590 },
- { 0x303C, 9594 },
- { 0x20A5, 9596 },
- { 0x29FF, 9598 },
- { 0x226A, 9599 },
- { 0x226B, 9601 },
- { 0x22BC, 9603 },
- { 0x2398, 9604 },
- { 0x2423, 9606 },
- { 0x272B, 9608 },
- { 0x271B, 9612 },
- { 0x2732, 9615 },
- { 0x273C, 9618 },
- { 0x27C3, 9622 },
- { 0x27C4, 9624 },
- { 0x2E19, 9626 },
- { 0x303D, 9628 },
- { 0x20B1, 9631 },
- { 0x002B, 9633 },
- { 0x2A2D, 9635 },
- { 0x2A2E, 9641 },
- { 0x2A39, 9647 },
- { 0x2A25, 9651 },
- { 0x2A28, 9656 },
- { 0x2A22, 9661 },
- { 0x2A24, 9667 },
- { 0x2A26, 9672 },
- { 0x2A27, 9677 },
- { 0x2A23, 9682 },
- { 0x2A72, 9688 },
- { 0x6DFC, 9693 },
- { 0x2256, 9695 },
- { 0x02DA, 9699 },
- { 0x2257, 9701 },
- { 0x2E30, 9704 },
- { 0x2218, 9706 },
- { 0x223F, 9708 },
- { 0x00AD, 9710 },
- { 0x2721, 9712 },
- { 0x262A, 9715 },
- { 0x225B, 9718 },
- { 0x22C6, 9720 },
- { 0x2707, 9722 },
- { 0x0E51, 9724 },
- { 0x0E56, 9727 },
- { 0x0E52, 9730 },
- { 0x0E55, 9733 },
- { 0x0E54, 9736 },
- { 0x0E59, 9739 },
- { 0x0E50, 9742 },
- { 0x0E58, 9745 },
- { 0x0E57, 9748 },
- { 0x0E53, 9751 },
- { 0x0E3F, 9754 },
- { 0x0E2D, 9758 },
- { 0x0E1A, 9762 },
- { 0x0E14, 9766 },
- { 0x0E0E, 9770 },
- { 0x0E1D, 9774 },
- { 0x0E1F, 9778 },
- { 0x0E2B, 9782 },
- { 0x0E2E, 9786 },
- { 0x0E01, 9790 },
- { 0x0E25, 9794 },
- { 0x0E2C, 9798 },
- { 0x0E26, 9802 },
- { 0x0E21, 9805 },
- { 0x0E19, 9809 },
- { 0x0E13, 9813 },
- { 0x0E1B, 9817 },
- { 0x0E23, 9821 },
- { 0x0E24, 9825 },
- { 0x0E0B, 9828 },
- { 0x0E2A, 9832 },
- { 0x0E29, 9836 },
- { 0x0E28, 9840 },
- { 0x0E15, 9844 },
- { 0x0E0F, 9848 },
- { 0x0E27, 9852 },
- { 0x0E22, 9856 },
- { 0x0E0D, 9860 },
- { 0x0E08, 9864 },
- { 0x0E0C, 9868 },
- { 0x0E0A, 9872 },
- { 0x0E09, 9876 },
- { 0x0E02, 9880 },
- { 0x0E05, 9884 },
- { 0x0E03, 9888 },
- { 0x0E04, 9892 },
- { 0x0E06, 9896 },
- { 0x0E48, 9900 },
- { 0x0E49, 9904 },
- { 0x0E4A, 9908 },
- { 0x0E4B, 9912 },
- { 0x0E31, 9916 },
- { 0x0E07, 9920 },
- { 0x0E1E, 9924 },
- { 0x0E1C, 9928 },
- { 0x0E20, 9932 },
- { 0x0E10, 9936 },
- { 0x0E18, 9940 },
- { 0x0E16, 9944 },
- { 0x0E17, 9948 },
- { 0x0E12, 9952 },
- { 0x0E11, 9956 },
- { 0x0E30, 9960 },
- { 0x0E40, 9964 },
- { 0x0E34, 9968 },
- { 0x0E42, 9972 },
- { 0x0E38, 9976 },
- { 0x0E32, 9980 },
- { 0x0E41, 9984 },
- { 0x0E43, 9988 },
- { 0x0E44, 9993 },
- { 0x0E33, 9998 },
- { 0x0E35, 10002 },
- { 0x0E36, 10006 },
- { 0x0E39, 10010 },
- { 0x0E37, 10014 },
- { 0x0E5B, 10018 },
- { 0x0E4F, 10021 },
- { 0x0E3A, 10024 },
- { 0x0E46, 10027 },
- { 0x0E4D, 10030 },
- { 0x0E4E, 10033 },
- { 0x0E47, 10036 },
- { 0x0E2F, 10039 },
- { 0x0E5A, 10042 },
- { 0x0E45, 10045 },
- { 0x0E4C, 10048 },
- { 0x2009, 10051 },
- { 0x29FE, 10053 },
- { 0x22A8, 10054 },
- { 0x238C, 10055 },
- { 0x22D8, 10057 },
- { 0x22D9, 10060 },
- { 0x301C, 10063 },
- { 0x2B3F, 10065 },
- { 0x2933, 10070 },
- { 0x6E4F, 10075 },
- { 0x3030, 10078 },
- { 0x2307, 10080 },
- { 0x6E4B, 10082 },
- { 0x2670, 10084 },
- { 0x2060, 10087 },
- { 0x200B, 10089 },
- { 0x200D, 10092 },
- { 0x6EFF, 10095 },
- { 0x200C, 10099 },
- { 0x299F, 10102 },
- { 0x00B4, 10104 },
- { 0x2220, 10106 },
- { 0x299E, 10107 },
- { 0x29A4, 10111 },
- { 0x2648, 10114 },
- { 0x2936, 10115 },
- { 0x2937, 10121 },
- { 0x2934, 10127 },
- { 0x2935, 10133 },
- { 0x2712, 10139 },
- { 0x2600, 10141 },
- { 0x2663, 10145 },
- { 0x2691, 10148 },
- { 0x2726, 10150 },
- { 0x261A, 10154 },
- { 0x26B8, 10158 },
- { 0x2605, 10161 },
- { 0x2B1D, 10163 },
- { 0x265A, 10167 },
- { 0x265F, 10170 },
- { 0x265C, 10173 },
- { 0x265B, 10176 },
- { 0x265D, 10179 },
- { 0x265E, 10182 },
- { 0x2665, 10185 },
- { 0x2B24, 10188 },
- { 0x2B1B, 10191 },
- { 0x25E3, 10194 },
- { 0x25E2, 10198 },
- { 0x261B, 10202 },
- { 0x2617, 10206 },
- { 0x2B51, 10209 },
- { 0x25AA, 10212 },
- { 0x2B29, 10215 },
- { 0x2B2A, 10218 },
- { 0x2660, 10221 },
- { 0x25E4, 10224 },
- { 0x25E5, 10228 },
- { 0x29D3, 10232 },
- { 0x272C, 10234 },
- { 0x25CF, 10238 },
- { 0x2689, 10240 },
- { 0x29ED, 10246 },
- { 0x2688, 10251 },
- { 0x25FE, 10257 },
- { 0x25FC, 10261 },
- { 0x2B25, 10264 },
- { 0x2B27, 10267 },
- { 0x25A0, 10270 },
- { 0x25C6, 10272 },
- { 0x2666, 10274 },
- { 0x29EA, 10277 },
- { 0x2756, 10282 },
- { 0x2B22, 10287 },
- { 0x29EB, 10289 },
- { 0x263B, 10291 },
- { 0x26C2, 10294 },
- { 0x26C3, 10297 },
- { 0x273F, 10300 },
- { 0x2B1F, 10302 },
- { 0x2702, 10304 },
- { 0x2B2E, 10306 },
- { 0x25AE, 10309 },
- { 0x29D7, 10312 },
- { 0x204C, 10314 },
- { 0x25AC, 10317 },
- { 0x260E, 10319 },
- { 0x267B, 10321 },
- { 0x2B2C, 10325 },
- { 0x27A1, 10328 },
- { 0x204D, 10331 },
- { 0x27A4, 10334 },
- { 0x25B4, 10337 },
- { 0x25B2, 10341 },
- { 0x25BE, 10344 },
- { 0x25BC, 10348 },
- { 0x25C2, 10351 },
- { 0x25C4, 10355 },
- { 0x25C0, 10358 },
- { 0x25B0, 10361 },
- { 0x25B8, 10363 },
- { 0x25BA, 10367 },
- { 0x2B53, 10370 },
- { 0x25B6, 10373 },
- { 0x2422, 10376 },
- { 0x02D8, 10378 },
- { 0x1752, 10379 },
- { 0x1753, 10383 },
- { 0x1740, 10387 },
- { 0x1741, 10390 },
- { 0x1742, 10393 },
- { 0x174A, 10396 },
- { 0x1747, 10399 },
- { 0x1744, 10402 },
- { 0x1751, 10405 },
- { 0x1743, 10408 },
- { 0x174E, 10411 },
- { 0x174B, 10414 },
- { 0x1748, 10417 },
- { 0x1749, 10420 },
- { 0x174D, 10423 },
- { 0x1750, 10426 },
- { 0x1746, 10429 },
- { 0x174F, 10432 },
- { 0x174C, 10435 },
- { 0x1745, 10438 },
- { 0x2038, 10441 },
- { 0x2041, 10442 },
- { 0x02C7, 10445 },
- { 0x26B3, 10446 },
- { 0x2713, 10447 },
- { 0x239A, 10449 },
- { 0x2050, 10452 },
- { 0x2601, 10454 },
- { 0x003A, 10455 },
- { 0x20A1, 10456 },
- { 0x2254, 10458 },
- { 0x2604, 10460 },
- { 0x002C, 10461 },
- { 0x2628, 10462 },
- { 0x2629, 10465 },
- { 0x23AA, 10468 },
- { 0x22CE, 10471 },
- { 0x22CF, 10474 },
- { 0x2138, 10477 },
- { 0x225C, 10479 },
- { 0x0031, 10482 },
- { 0x2488, 10484 },
- { 0x0036, 10488 },
- { 0x248D, 10490 },
- { 0x0032, 10494 },
- { 0x2489, 10496 },
- { 0x0035, 10500 },
- { 0x248C, 10502 },
- { 0x0034, 10506 },
- { 0x248B, 10508 },
- { 0x0039, 10512 },
- { 0x2490, 10514 },
- { 0x0030, 10518 },
- { 0x0038, 10520 },
- { 0x248F, 10522 },
- { 0x0037, 10526 },
- { 0x248E, 10528 },
- { 0x0033, 10532 },
- { 0x248A, 10534 },
- { 0x3003, 10538 },
- { 0x2641, 10540 },
- { 0x23DA, 10541 },
- { 0x2733, 10543 },
- { 0x2734, 10546 },
- { 0x2735, 10550 },
- { 0x2737, 10554 },
- { 0x2741, 10559 },
- { 0x274A, 10564 },
- { 0x23CF, 10568 },
- { 0x2205, 10570 },
- { 0x29B4, 10572 },
- { 0x29B3, 10578 },
- { 0x29B2, 10584 },
- { 0x29B1, 10590 },
- { 0x2386, 10594 },
- { 0x225D, 10596 },
- { 0x22DE, 10600 },
- { 0x22DF, 10604 },
- { 0x22DC, 10608 },
- { 0x22DD, 10612 },
- { 0x22D5, 10616 },
- { 0x232B, 10620 },
- { 0x2326, 10624 },
- { 0x2107, 10628 },
- { 0x262B, 10630 },
- { 0x263D, 10632 },
- { 0x2322, 10635 },
- { 0x2137, 10636 },
- { 0x0060, 10638 },
- { 0x03D6, 10640 },
- { 0x0387, 10643 },
- { 0x03D7, 10646 },
- { 0x7175, 10649 },
- { 0x7176, 10653 },
- { 0x03D5, 10659 },
- { 0x03FC, 10662 },
- { 0x03F1, 10667 },
- { 0x717D, 10670 },
- { 0x7177, 10674 },
- { 0x03D0, 10678 },
- { 0x7180, 10681 },
- { 0x717F, 10685 },
- { 0x717C, 10689 },
- { 0x1FFD, 10692 },
- { 0x7179, 10694 },
- { 0x718A, 10697 },
- { 0x1FFE, 10700 },
- { 0x1FDE, 10702 },
- { 0x1FDD, 10706 },
- { 0x1FDF, 10710 },
- { 0x03F0, 10714 },
- { 0x7183, 10717 },
- { 0x0375, 10720 },
- { 0x1FBF, 10724 },
- { 0x1FCE, 10726 },
- { 0x1FCD, 10730 },
- { 0x1FCF, 10734 },
- { 0x037C, 10738 },
- { 0x03BC, 10744 },
- { 0x03BD, 10748 },
- { 0x03C0, 10752 },
- { 0x03BE, 10756 },
- { 0x03C7, 10760 },
- { 0x03B7, 10764 },
- { 0x1F75, 10768 },
- { 0x1FC4, 10774 },
- { 0x1F21, 10782 },
- { 0x1F25, 10788 },
- { 0x1F95, 10796 },
- { 0x1F23, 10806 },
- { 0x1F93, 10814 },
- { 0x1F27, 10824 },
- { 0x1F97, 10832 },
- { 0x1F91, 10842 },
- { 0x1F20, 10850 },
- { 0x1F24, 10856 },
- { 0x1F94, 10864 },
- { 0x1F22, 10874 },
- { 0x1F92, 10882 },
- { 0x1F26, 10892 },
- { 0x1F96, 10900 },
- { 0x1F90, 10910 },
- { 0x03AE, 10918 },
- { 0x1F74, 10924 },
- { 0x1FC2, 10930 },
- { 0x1FC6, 10938 },
- { 0x1FC7, 10944 },
- { 0x1FC3, 10952 },
- { 0x03C6, 10958 },
- { 0x03C8, 10962 },
- { 0x03C1, 10966 },
- { 0x1FE5, 10970 },
- { 0x1FE4, 10976 },
- { 0x03FB, 10982 },
- { 0x03F8, 10986 },
- { 0x03C4, 10990 },
- { 0x03B2, 10994 },
- { 0x0371, 10998 },
- { 0x03B9, 11002 },
- { 0x1F77, 11006 },
- { 0x1F31, 11012 },
- { 0x1F35, 11018 },
- { 0x1F33, 11026 },
- { 0x1F37, 11034 },
- { 0x1F30, 11042 },
- { 0x1F34, 11048 },
- { 0x1F32, 11056 },
- { 0x1F36, 11064 },
- { 0x03AF, 11072 },
- { 0x1F76, 11078 },
- { 0x1FD1, 11084 },
- { 0x1FD0, 11090 },
- { 0x03CA, 11096 },
- { 0x1FD3, 11102 },
- { 0x0390, 11110 },
- { 0x1FD2, 11118 },
- { 0x1FD7, 11126 },
- { 0x1FD6, 11134 },
- { 0x03B6, 11140 },
- { 0x03B1, 11144 },
- { 0x1F71, 11148 },
- { 0x1FB4, 11154 },
- { 0x1F01, 11162 },
- { 0x1F05, 11168 },
- { 0x1F85, 11176 },
- { 0x1F03, 11186 },
- { 0x1F83, 11194 },
- { 0x1F07, 11204 },
- { 0x1F87, 11212 },
- { 0x1F81, 11222 },
- { 0x1F00, 11230 },
- { 0x1F04, 11236 },
- { 0x1F84, 11244 },
- { 0x1F02, 11254 },
- { 0x1F82, 11262 },
- { 0x1F06, 11272 },
- { 0x1F86, 11280 },
- { 0x1F80, 11290 },
- { 0x03AC, 11298 },
- { 0x1F70, 11304 },
- { 0x1FB2, 11310 },
- { 0x1FB1, 11318 },
- { 0x1FB0, 11324 },
- { 0x1FB6, 11330 },
- { 0x1FB7, 11336 },
- { 0x1FB3, 11344 },
- { 0x03B4, 11350 },
- { 0x03C2, 11354 },
- { 0x03B3, 11359 },
- { 0x03BA, 11363 },
- { 0x03DF, 11367 },
- { 0x03BB, 11371 },
- { 0x03C9, 11375 },
- { 0x1F7D, 11379 },
- { 0x1FF4, 11385 },
- { 0x1F61, 11393 },
- { 0x1F65, 11399 },
- { 0x1FA5, 11407 },
- { 0x1F63, 11417 },
- { 0x1FA3, 11425 },
- { 0x1F67, 11435 },
- { 0x1FA7, 11443 },
- { 0x1FA1, 11453 },
- { 0x1F60, 11461 },
- { 0x1F64, 11467 },
- { 0x1FA4, 11475 },
- { 0x1F62, 11485 },
- { 0x1FA2, 11493 },
- { 0x1F66, 11503 },
- { 0x1FA6, 11511 },
- { 0x1FA0, 11521 },
- { 0x03CE, 11529 },
- { 0x1F7C, 11535 },
- { 0x1FF2, 11541 },
- { 0x1FF6, 11549 },
- { 0x1FF7, 11555 },
- { 0x1FF3, 11563 },
- { 0x03E1, 11569 },
- { 0x03C3, 11573 },
- { 0x03B8, 11577 },
- { 0x03DB, 11581 },
- { 0x03D9, 11585 },
- { 0x0373, 11590 },
- { 0x03DD, 11595 },
- { 0x03B5, 11599 },
- { 0x1F73, 11603 },
- { 0x1F11, 11609 },
- { 0x1F15, 11615 },
- { 0x1F13, 11623 },
- { 0x1F10, 11631 },
- { 0x1F14, 11637 },
- { 0x1F12, 11645 },
- { 0x03AD, 11653 },
- { 0x1F72, 11659 },
- { 0x03BF, 11665 },
- { 0x1F79, 11669 },
- { 0x1F41, 11675 },
- { 0x1F45, 11681 },
- { 0x1F43, 11689 },
- { 0x1F40, 11697 },
- { 0x1F44, 11703 },
- { 0x1F42, 11711 },
- { 0x03CC, 11719 },
- { 0x1F78, 11725 },
- { 0x03C5, 11731 },
- { 0x1F7B, 11735 },
- { 0x1F51, 11741 },
- { 0x1F55, 11747 },
- { 0x1F53, 11755 },
- { 0x1F57, 11763 },
- { 0x1F50, 11771 },
- { 0x1F54, 11777 },
- { 0x1F52, 11785 },
- { 0x1F56, 11793 },
- { 0x03CD, 11801 },
- { 0x1F7A, 11807 },
- { 0x1FE1, 11813 },
- { 0x1FE0, 11819 },
- { 0x03CB, 11825 },
- { 0x1FE3, 11831 },
- { 0x03B0, 11839 },
- { 0x1FE2, 11847 },
- { 0x1FE7, 11855 },
- { 0x1FE6, 11863 },
- { 0x0377, 11869 },
- { 0x037D, 11874 },
- { 0x037B, 11881 },
- { 0x03D1, 11887 },
- { 0x717E, 11890 },
- { 0x7178, 11894 },
- { 0x0384, 11898 },
- { 0x1FEF, 11900 },
- { 0x9200, 11902 },
- { 0x9201, 11906 },
- { 0x9202, 11910 },
- { 0x9203, 11914 },
- { 0x9204, 11918 },
- { 0x9205, 11922 },
- { 0x9206, 11926 },
- { 0x9207, 11930 },
- { 0x9208, 11934 },
- { 0x9209, 11938 },
- { 0x920A, 11942 },
- { 0x920B, 11946 },
- { 0x920C, 11950 },
- { 0x920D, 11954 },
- { 0x920E, 11958 },
- { 0x920F, 11962 },
- { 0x9210, 11966 },
- { 0x9211, 11970 },
- { 0x9212, 11974 },
- { 0x9213, 11978 },
- { 0x9214, 11982 },
- { 0x9215, 11986 },
- { 0x9216, 11990 },
- { 0x9217, 11994 },
- { 0x9218, 11998 },
- { 0x9219, 12002 },
- { 0x921A, 12006 },
- { 0x921B, 12010 },
- { 0x921C, 12014 },
- { 0x7187, 12018 },
- { 0x7186, 12021 },
- { 0x7188, 12024 },
- { 0x03F3, 12027 },
- { 0x03DE, 12030 },
- { 0x03E0, 12033 },
- { 0x1D28, 12036 },
- { 0x1D2A, 12041 },
- { 0x1D29, 12046 },
- { 0x1D26, 12051 },
- { 0x1D27, 12056 },
- { 0x03DA, 12061 },
- { 0x03D8, 12064 },
- { 0x03DC, 12068 },
- { 0x03F2, 12071 },
- { 0x03F5, 12075 },
- { 0x7184, 12079 },
- { 0x717A, 12082 },
- { 0x7185, 12085 },
- { 0x03CF, 12088 },
- { 0x03F4, 12092 },
- { 0x03FE, 12096 },
- { 0x039C, 12102 },
- { 0x039D, 12106 },
- { 0x03A0, 12110 },
- { 0x039E, 12114 },
- { 0x03A7, 12118 },
- { 0x0397, 12122 },
- { 0x1FCB, 12126 },
- { 0x1F29, 12132 },
- { 0x1F2D, 12138 },
- { 0x1F9D, 12146 },
- { 0x1F2B, 12156 },
- { 0x1F9B, 12164 },
- { 0x1F2F, 12174 },
- { 0x1F9F, 12182 },
- { 0x1F99, 12192 },
- { 0x1F28, 12200 },
- { 0x1F2C, 12206 },
- { 0x1F9C, 12214 },
- { 0x1F2A, 12224 },
- { 0x1F9A, 12232 },
- { 0x1F2E, 12242 },
- { 0x1F9E, 12250 },
- { 0x1F98, 12260 },
- { 0x0389, 12268 },
- { 0x1FCA, 12274 },
- { 0x1FCC, 12280 },
- { 0x03A6, 12286 },
- { 0x03A8, 12290 },
- { 0x03A1, 12294 },
- { 0x1FEC, 12298 },
- { 0x03FA, 12304 },
- { 0x03F7, 12308 },
- { 0x03A4, 12312 },
- { 0x0392, 12316 },
- { 0x0370, 12320 },
- { 0x0399, 12324 },
- { 0x1FDB, 12328 },
- { 0x1F39, 12334 },
- { 0x1F3D, 12340 },
- { 0x1F3B, 12348 },
- { 0x1F3F, 12356 },
- { 0x1F38, 12364 },
- { 0x1F3C, 12370 },
- { 0x1F3A, 12378 },
- { 0x1F3E, 12386 },
- { 0x038A, 12394 },
- { 0x1FDA, 12400 },
- { 0x1FD9, 12406 },
- { 0x1FD8, 12412 },
- { 0x03AA, 12418 },
- { 0x0396, 12424 },
- { 0x0391, 12428 },
- { 0x1FBB, 12432 },
- { 0x1F09, 12438 },
- { 0x1F0D, 12444 },
- { 0x1F8D, 12452 },
- { 0x1F0B, 12462 },
- { 0x1F8B, 12470 },
- { 0x1F0F, 12480 },
- { 0x1F8F, 12488 },
- { 0x1F89, 12498 },
- { 0x1F08, 12506 },
- { 0x1F0C, 12512 },
- { 0x1F8C, 12520 },
- { 0x1F0A, 12530 },
- { 0x1F8A, 12538 },
- { 0x1F0E, 12548 },
- { 0x1F8E, 12556 },
- { 0x1F88, 12566 },
- { 0x0386, 12574 },
- { 0x1FBA, 12580 },
- { 0x1FB9, 12586 },
- { 0x1FB8, 12592 },
- { 0x1FBC, 12598 },
- { 0x0394, 12604 },
- { 0x0393, 12608 },
- { 0x039A, 12612 },
- { 0x039B, 12616 },
- { 0x03A9, 12620 },
- { 0x1FFB, 12624 },
- { 0x1F69, 12630 },
- { 0x1F6D, 12636 },
- { 0x1FAD, 12644 },
- { 0x1F6B, 12654 },
- { 0x1FAB, 12662 },
- { 0x1F6F, 12672 },
- { 0x1FAF, 12680 },
- { 0x1FA9, 12690 },
- { 0x1F68, 12698 },
- { 0x1F6C, 12704 },
- { 0x1FAC, 12712 },
- { 0x1F6A, 12722 },
- { 0x1FAA, 12730 },
- { 0x1F6E, 12740 },
- { 0x1FAE, 12748 },
- { 0x1FA8, 12758 },
- { 0x038F, 12766 },
- { 0x1FFA, 12772 },
- { 0x1FFC, 12778 },
- { 0x03A3, 12784 },
- { 0x0398, 12788 },
- { 0x0372, 12792 },
- { 0x0395, 12797 },
- { 0x1FC9, 12801 },
- { 0x1F19, 12807 },
- { 0x1F1D, 12813 },
- { 0x1F1B, 12821 },
- { 0x1F18, 12829 },
- { 0x1F1C, 12835 },
- { 0x1F1A, 12843 },
- { 0x0388, 12851 },
- { 0x1FC8, 12857 },
- { 0x039F, 12863 },
- { 0x1FF9, 12867 },
- { 0x1F49, 12873 },
- { 0x1F4D, 12879 },
- { 0x1F4B, 12887 },
- { 0x1F48, 12895 },
- { 0x1F4C, 12901 },
- { 0x1F4A, 12909 },
- { 0x038C, 12917 },
- { 0x1FF8, 12923 },
- { 0x03A5, 12929 },
- { 0x1FEB, 12933 },
- { 0x1F59, 12939 },
- { 0x1F5D, 12945 },
- { 0x1F5B, 12953 },
- { 0x1F5F, 12961 },
- { 0x038E, 12969 },
- { 0x1FEA, 12975 },
- { 0x1FE9, 12981 },
- { 0x1FE8, 12987 },
- { 0x03AB, 12993 },
- { 0x0376, 12999 },
- { 0x03F9, 13004 },
- { 0x03FF, 13009 },
- { 0x03FD, 13016 },
- { 0x717B, 13022 },
- { 0x1FBD, 13025 },
- { 0x7182, 13027 },
- { 0x9245, 13031 },
- { 0x0374, 13034 },
- { 0x03D2, 13037 },
- { 0x03D3, 13042 },
- { 0x03D4, 13049 },
- { 0x7181, 13056 },
- { 0x037E, 13059 },
- { 0x03F6, 13062 },
- { 0x7189, 13067 },
- { 0x1FEE, 13071 },
- { 0x1FED, 13075 },
- { 0x1FC1, 13079 },
- { 0x0385, 13083 },
- { 0x1D6A, 13086 },
- { 0x1D69, 13091 },
- { 0x1D68, 13096 },
- { 0x1D66, 13101 },
- { 0x1D67, 13106 },
- { 0x7141, 13111 },
- { 0x7142, 13116 },
- { 0x7152, 13121 },
- { 0x714B, 13127 },
- { 0x7140, 13133 },
- { 0x7154, 13138 },
- { 0x714D, 13144 },
- { 0x7157, 13150 },
- { 0x7150, 13155 },
- { 0x7149, 13160 },
- { 0x7155, 13165 },
- { 0x7143, 13171 },
- { 0x7145, 13175 },
- { 0x7153, 13180 },
- { 0x714C, 13186 },
- { 0x714F, 13192 },
- { 0x7148, 13197 },
- { 0x7146, 13202 },
- { 0x714E, 13207 },
- { 0x7144, 13213 },
- { 0x7151, 13217 },
- { 0x714A, 13222 },
- { 0x7147, 13227 },
- { 0x7156, 13232 },
- { 0x7170, 13238 },
- { 0x7173, 13243 },
- { 0x7158, 13248 },
- { 0x715D, 13253 },
- { 0x7174, 13258 },
- { 0x7159, 13263 },
- { 0x716A, 13267 },
- { 0x7171, 13272 },
- { 0x7164, 13277 },
- { 0x715C, 13281 },
- { 0x716E, 13285 },
- { 0x7172, 13290 },
- { 0x7169, 13295 },
- { 0x716B, 13299 },
- { 0x7165, 13304 },
- { 0x716F, 13308 },
- { 0x7163, 13313 },
- { 0x715B, 13317 },
- { 0x715E, 13321 },
- { 0x716C, 13326 },
- { 0x715A, 13331 },
- { 0x7162, 13335 },
- { 0x7168, 13339 },
- { 0x7160, 13343 },
- { 0x7161, 13347 },
- { 0x715F, 13353 },
- { 0x716D, 13357 },
- { 0x7166, 13362 },
- { 0x7167, 13366 },
- { 0x1FC0, 13372 },
- { 0x921D, 13374 },
- { 0x921E, 13378 },
- { 0x921F, 13382 },
- { 0x9220, 13386 },
- { 0x9221, 13390 },
- { 0x9222, 13394 },
- { 0x9223, 13398 },
- { 0x9224, 13402 },
- { 0x9225, 13406 },
- { 0x9226, 13410 },
- { 0x9227, 13414 },
- { 0x9228, 13418 },
- { 0x9229, 13422 },
- { 0x922A, 13426 },
- { 0x922B, 13430 },
- { 0x922C, 13434 },
- { 0x922D, 13438 },
- { 0x922E, 13442 },
- { 0x922F, 13446 },
- { 0x9230, 13450 },
- { 0x9231, 13454 },
- { 0x9232, 13458 },
- { 0x9233, 13462 },
- { 0x9234, 13466 },
- { 0x9235, 13470 },
- { 0x9236, 13474 },
- { 0x9237, 13478 },
- { 0x9238, 13482 },
- { 0x9239, 13486 },
- { 0x923A, 13490 },
- { 0x923B, 13494 },
- { 0x923C, 13498 },
- { 0x923D, 13502 },
- { 0x923E, 13506 },
- { 0x923F, 13510 },
- { 0x9240, 13514 },
- { 0x9241, 13518 },
- { 0x037A, 13522 },
- { 0x1FBE, 13524 },
- { 0x2724, 13526 },
- { 0x271C, 13530 },
- { 0x2764, 13534 },
- { 0x27A6, 13537 },
- { 0x27A5, 13544 },
- { 0x2714, 13551 },
- { 0x2738, 13554 },
- { 0x274B, 13560 },
- { 0x271A, 13565 },
- { 0x2763, 13568 },
- { 0x27AD, 13573 },
- { 0x279A, 13579 },
- { 0x2798, 13583 },
- { 0x27AE, 13587 },
- { 0x2718, 13593 },
- { 0x27A0, 13596 },
- { 0x275E, 13601 },
- { 0x275D, 13607 },
- { 0x275C, 13614 },
- { 0x275B, 13620 },
- { 0x2746, 13627 },
- { 0x2748, 13630 },
- { 0x2731, 13632 },
- { 0x272E, 13634 },
- { 0x275A, 13638 },
- { 0x2799, 13641 },
- { 0x2762, 13644 },
- { 0x2794, 13648 },
- { 0x279C, 13652 },
- { 0x27BD, 13656 },
- { 0x2770, 13660 },
- { 0x276E, 13665 },
- { 0x2716, 13671 },
- { 0x2771, 13674 },
- { 0x276F, 13679 },
- { 0x27B9, 13685 },
- { 0x27B7, 13690 },
- { 0x27B8, 13695 },
- { 0x27A8, 13699 },
- { 0x273D, 13704 },
- { 0x2743, 13707 },
- { 0x279E, 13711 },
- { 0x27BB, 13715 },
- { 0x2302, 13719 },
- { 0x22B7, 13720 },
- { 0x2253, 13722 },
- { 0x592E, 13728 },
- { 0x592F, 13732 },
- { 0x592C, 13736 },
- { 0x592D, 13740 },
- { 0x592B, 13745 },
- { 0x5901, 13749 },
- { 0x5906, 13753 },
- { 0x5902, 13757 },
- { 0x5905, 13761 },
- { 0x5904, 13765 },
- { 0x5909, 13769 },
- { 0x5900, 13773 },
- { 0x5908, 13777 },
- { 0x5907, 13781 },
- { 0x5903, 13785 },
- { 0x5927, 13789 },
- { 0x592A, 13793 },
- { 0x5928, 13797 },
- { 0x5929, 13801 },
- { 0x5926, 13805 },
- { 0x5922, 13809 },
- { 0x5924, 13813 },
- { 0x5919, 13817 },
- { 0x5921, 13821 },
- { 0x5918, 13825 },
- { 0x590C, 13829 },
- { 0x591F, 13833 },
- { 0x590A, 13837 },
- { 0x591C, 13841 },
- { 0x5917, 13845 },
- { 0x5914, 13849 },
- { 0x5923, 13853 },
- { 0x5925, 13857 },
- { 0x5915, 13861 },
- { 0x591A, 13865 },
- { 0x590E, 13869 },
- { 0x5912, 13873 },
- { 0x5920, 13877 },
- { 0x591D, 13881 },
- { 0x591B, 13885 },
- { 0x5910, 13889 },
- { 0x5913, 13893 },
- { 0x590B, 13897 },
- { 0x590D, 13901 },
- { 0x5911, 13905 },
- { 0x5916, 13909 },
- { 0x590F, 13913 },
- { 0x591E, 13917 },
- { 0x17D7, 13921 },
- { 0x17D4, 13925 },
- { 0x17CF, 13928 },
- { 0x17D2, 13931 },
- { 0x17CC, 13934 },
- { 0x17CB, 13937 },
- { 0x17D8, 13940 },
- { 0x17D6, 13943 },
- { 0x17D9, 13948 },
- { 0x17D0, 13952 },
- { 0x17D1, 13956 },
- { 0x17CE, 13959 },
- { 0x17DA, 13962 },
- { 0x17C6, 13965 },
- { 0x17C7, 13968 },
- { 0x17CA, 13971 },
- { 0x17DD, 13974 },
- { 0x17D5, 13977 },
- { 0x17D3, 13980 },
- { 0x17C9, 13983 },
- { 0x17CD, 13986 },
- { 0x17DC, 13989 },
- { 0x17C8, 13992 },
- { 0x17E1, 13995 },
- { 0x17E6, 13998 },
- { 0x17E2, 14001 },
- { 0x17E5, 14004 },
- { 0x17E4, 14007 },
- { 0x17E9, 14010 },
- { 0x17E0, 14013 },
- { 0x17E8, 14016 },
- { 0x17E7, 14019 },
- { 0x17E3, 14022 },
- { 0x17C1, 14025 },
- { 0x17B7, 14029 },
- { 0x17BB, 14033 },
- { 0x17B9, 14037 },
- { 0x17B6, 14041 },
- { 0x17C2, 14045 },
- { 0x17C3, 14049 },
- { 0x17C5, 14053 },
- { 0x17C0, 14057 },
- { 0x17B8, 14061 },
- { 0x17BE, 14065 },
- { 0x17C4, 14069 },
- { 0x17BD, 14073 },
- { 0x17BC, 14077 },
- { 0x17BF, 14081 },
- { 0x17BA, 14085 },
- { 0x17B5, 14089 },
- { 0x17B4, 14093 },
- { 0x1794, 14097 },
- { 0x1785, 14100 },
- { 0x1787, 14103 },
- { 0x178A, 14106 },
- { 0x178C, 14109 },
- { 0x17A0, 14112 },
- { 0x1780, 14115 },
- { 0x1782, 14118 },
- { 0x17A1, 14121 },
- { 0x179B, 14124 },
- { 0x1798, 14127 },
- { 0x1793, 14130 },
- { 0x1796, 14133 },
- { 0x17A2, 14136 },
- { 0x179A, 14139 },
- { 0x179F, 14142 },
- { 0x178F, 14145 },
- { 0x1791, 14148 },
- { 0x179C, 14151 },
- { 0x1799, 14154 },
- { 0x1786, 14157 },
- { 0x1788, 14160 },
- { 0x1781, 14163 },
- { 0x1783, 14166 },
- { 0x1784, 14169 },
- { 0x178E, 14172 },
- { 0x1789, 14175 },
- { 0x1795, 14178 },
- { 0x1797, 14181 },
- { 0x179D, 14184 },
- { 0x179E, 14187 },
- { 0x1790, 14190 },
- { 0x1792, 14193 },
- { 0x178B, 14196 },
- { 0x178D, 14199 },
- { 0x19F3, 14202 },
- { 0x19E3, 14206 },
- { 0x19FA, 14210 },
- { 0x19EA, 14214 },
- { 0x17F3, 14218 },
- { 0x17F2, 14223 },
- { 0x17F0, 14228 },
- { 0x17F4, 14233 },
- { 0x17F1, 14238 },
- { 0x17F5, 14243 },
- { 0x17F8, 14248 },
- { 0x17F7, 14253 },
- { 0x17F9, 14258 },
- { 0x17F6, 14263 },
- { 0x19F2, 14268 },
- { 0x19E2, 14272 },
- { 0x19F4, 14276 },
- { 0x19E4, 14280 },
- { 0x19F1, 14284 },
- { 0x19E1, 14288 },
- { 0x19F5, 14292 },
- { 0x19E5, 14296 },
- { 0x19FD, 14300 },
- { 0x19ED, 14304 },
- { 0x19FC, 14308 },
- { 0x19EC, 14312 },
- { 0x19FE, 14316 },
- { 0x19EE, 14320 },
- { 0x19FB, 14324 },
- { 0x19EB, 14328 },
- { 0x19FF, 14332 },
- { 0x19EF, 14336 },
- { 0x19F8, 14340 },
- { 0x19E8, 14344 },
- { 0x19F7, 14348 },
- { 0x19E7, 14352 },
- { 0x19F9, 14356 },
- { 0x19E9, 14360 },
- { 0x19F6, 14364 },
- { 0x19E6, 14368 },
- { 0x19F0, 14372 },
- { 0x19E0, 14375 },
- { 0x17DB, 14378 },
- { 0x17AD, 14382 },
- { 0x17AF, 14386 },
- { 0x17A5, 14390 },
- { 0x17A7, 14394 },
- { 0x17AB, 14398 },
- { 0x17AE, 14402 },
- { 0x17A4, 14406 },
- { 0x17B0, 14410 },
- { 0x17A3, 14414 },
- { 0x17B3, 14418 },
- { 0x17A6, 14422 },
- { 0x17B1, 14426 },
- { 0x17B2, 14432 },
- { 0x17A8, 14438 },
- { 0x17A9, 14442 },
- { 0x17AC, 14446 },
- { 0x17AA, 14450 },
- { 0x27D8, 14454 },
- { 0x27D9, 14457 },
- { 0x2A1E, 14460 },
- { 0x25EF, 14464 },
- { 0x2AFC, 14466 },
- { 0x271D, 14471 },
- { 0x0061, 14473 },
- { 0x0227, 14477 },
- { 0x01E1, 14484 },
- { 0x1EA1, 14493 },
- { 0x1EA3, 14500 },
- { 0x00E5, 14507 },
- { 0x01FB, 14514 },
- { 0x1E01, 14523 },
- { 0x00E1, 14530 },
- { 0x0103, 14536 },
- { 0x1EB7, 14542 },
- { 0x1EB3, 14551 },
- { 0x1EAF, 14560 },
- { 0x1EB1, 14568 },
- { 0x1EB5, 14576 },
- { 0x01CE, 14584 },
- { 0x00E0, 14590 },
- { 0x1E9A, 14596 },
- { 0x00E3, 14604 },
- { 0x0201, 14610 },
- { 0x0101, 14617 },
- { 0x0105, 14623 },
- { 0x2C65, 14629 },
- { 0x0203, 14635 },
- { 0x00E4, 14642 },
- { 0x01DF, 14648 },
- { 0x1D8F, 14656 },
- { 0x00E2, 14663 },
- { 0x1EAD, 14669 },
- { 0x1EA9, 14678 },
- { 0x1EA5, 14687 },
- { 0x1EA7, 14695 },
- { 0x1EAB, 14703 },
- { 0x0062, 14711 },
- { 0x1E03, 14715 },
- { 0x1E05, 14722 },
- { 0x0253, 14729 },
- { 0x1E07, 14735 },
- { 0x1D6C, 14742 },
- { 0x0180, 14749 },
- { 0x0183, 14755 },
- { 0x1D80, 14761 },
- { 0x0063, 14768 },
- { 0x010B, 14772 },
- { 0x0255, 14779 },
- { 0x0188, 14785 },
- { 0x0107, 14791 },
- { 0x010D, 14797 },
- { 0x023C, 14803 },
- { 0x00E7, 14809 },
- { 0x1E09, 14815 },
- { 0x0109, 14823 },
- { 0x0064, 14829 },
- { 0x1E0B, 14833 },
- { 0x1E0D, 14840 },
- { 0x0221, 14847 },
- { 0x0257, 14853 },
- { 0x1D91, 14859 },
- { 0x1E0F, 14867 },
- { 0x0256, 14874 },
- { 0x010F, 14880 },
- { 0x1D6D, 14886 },
- { 0x0111, 14893 },
- { 0x018C, 14899 },
- { 0x1E11, 14905 },
- { 0x1D81, 14911 },
- { 0x1E13, 14918 },
- { 0x0065, 14925 },
- { 0x0117, 14929 },
- { 0x1EB9, 14936 },
- { 0x1EBB, 14943 },
- { 0x00E9, 14950 },
- { 0x0115, 14956 },
- { 0x011B, 14962 },
- { 0x00E8, 14968 },
- { 0x2C78, 14974 },
- { 0x1EBD, 14980 },
- { 0x1E1B, 14986 },
- { 0x0205, 14993 },
- { 0x0113, 15000 },
- { 0x1E17, 15006 },
- { 0x1E15, 15014 },
- { 0x0119, 15022 },
- { 0x0247, 15028 },
- { 0x0229, 15034 },
- { 0x1E1D, 15040 },
- { 0x0207, 15048 },
- { 0x00EB, 15055 },
- { 0x1D92, 15061 },
- { 0x00EA, 15068 },
- { 0x1EC7, 15074 },
- { 0x1EC3, 15083 },
- { 0x1EBF, 15092 },
- { 0x1EC1, 15100 },
- { 0x1EC5, 15108 },
- { 0x1E19, 15116 },
- { 0x0066, 15123 },
- { 0x1E1F, 15127 },
- { 0x0192, 15134 },
- { 0x1D6E, 15140 },
- { 0x1D82, 15147 },
- { 0x0067, 15154 },
- { 0x0121, 15158 },
- { 0x0260, 15165 },
- { 0x01F5, 15171 },
- { 0x011F, 15177 },
- { 0x01E7, 15183 },
- { 0x1E21, 15189 },
- { 0x01E5, 15195 },
- { 0x0123, 15201 },
- { 0x1D83, 15207 },
- { 0x011D, 15214 },
- { 0x0068, 15220 },
- { 0x1E23, 15224 },
- { 0x1E25, 15231 },
- { 0x0266, 15238 },
- { 0x1E96, 15244 },
- { 0x1E2B, 15251 },
- { 0x021F, 15258 },
- { 0x0127, 15264 },
- { 0x1E29, 15270 },
- { 0x2C68, 15276 },
- { 0x1E27, 15282 },
- { 0x0125, 15288 },
- { 0x0069, 15294 },
- { 0x1ECB, 15298 },
- { 0x1EC9, 15305 },
- { 0x00ED, 15312 },
- { 0x012D, 15318 },
- { 0x01D0, 15324 },
- { 0x00EC, 15330 },
- { 0x0129, 15336 },
- { 0x1E2D, 15342 },
- { 0x0209, 15349 },
- { 0x012B, 15356 },
- { 0x012F, 15362 },
- { 0x0268, 15368 },
- { 0x020B, 15374 },
- { 0x00EF, 15381 },
- { 0x1E2F, 15387 },
- { 0x1D96, 15395 },
- { 0x00EE, 15402 },
- { 0x006A, 15408 },
- { 0x01F0, 15412 },
- { 0x0249, 15418 },
- { 0x0135, 15424 },
- { 0x029D, 15430 },
- { 0x006B, 15436 },
- { 0x1E33, 15440 },
- { 0x0199, 15447 },
- { 0x1E35, 15453 },
- { 0x1E31, 15460 },
- { 0x01E9, 15466 },
- { 0x5741, 15472 },
- { 0x5745, 15478 },
- { 0x0137, 15487 },
- { 0x1D84, 15493 },
- { 0x5743, 15500 },
- { 0x2C6A, 15507 },
- { 0x006C, 15513 },
- { 0x019A, 15517 },
- { 0x1E37, 15523 },
- { 0x1E39, 15530 },
- { 0x026C, 15539 },
- { 0x0234, 15545 },
- { 0x5749, 15551 },
- { 0x1E3B, 15558 },
- { 0x013A, 15565 },
- { 0x013E, 15571 },
- { 0x2C61, 15577 },
- { 0x0140, 15584 },
- { 0x026B, 15591 },
- { 0x0142, 15598 },
- { 0x013C, 15604 },
- { 0x1D85, 15610 },
- { 0x026D, 15617 },
- { 0x1E3D, 15624 },
- { 0x006D, 15631 },
- { 0x1E41, 15635 },
- { 0x1E43, 15642 },
- { 0x0271, 15649 },
- { 0x1E3F, 15655 },
- { 0x1D6F, 15661 },
- { 0x1D86, 15668 },
- { 0x006E, 15675 },
- { 0x1E45, 15679 },
- { 0x1E47, 15686 },
- { 0x0235, 15693 },
- { 0x0272, 15699 },
- { 0x1E49, 15706 },
- { 0x019E, 15713 },
- { 0x0144, 15721 },
- { 0x0148, 15727 },
- { 0x01F9, 15733 },
- { 0x00F1, 15739 },
- { 0x1D70, 15745 },
- { 0x0146, 15752 },
- { 0x1D87, 15758 },
- { 0x0273, 15765 },
- { 0x1E4B, 15772 },
- { 0x0149, 15779 },
- { 0x006F, 15786 },
- { 0x022F, 15790 },
- { 0x0231, 15797 },
- { 0x1ECD, 15806 },
- { 0x2C7A, 15813 },
- { 0x1ECF, 15821 },
- { 0x01A1, 15828 },
- { 0x1EE3, 15834 },
- { 0x1EDF, 15843 },
- { 0x1EDB, 15852 },
- { 0x1EDD, 15860 },
- { 0x1EE1, 15868 },
- { 0x574B, 15876 },
- { 0x574D, 15884 },
- { 0x00F3, 15890 },
- { 0x014F, 15896 },
- { 0x01D2, 15902 },
- { 0x00F2, 15908 },
- { 0x00F5, 15914 },
- { 0x1E4D, 15920 },
- { 0x022D, 15928 },
- { 0x1E4F, 15936 },
- { 0x0151, 15944 },
- { 0x020D, 15951 },
- { 0x014D, 15958 },
- { 0x1E53, 15964 },
- { 0x1E51, 15972 },
- { 0x01EB, 15980 },
- { 0x01ED, 15986 },
- { 0x00F8, 15994 },
- { 0x01FF, 16000 },
- { 0x020F, 16008 },
- { 0x00F6, 16015 },
- { 0x022B, 16021 },
- { 0x00F4, 16029 },
- { 0x1ED9, 16035 },
- { 0x1ED5, 16044 },
- { 0x1ED1, 16053 },
- { 0x1ED3, 16061 },
- { 0x1ED7, 16069 },
- { 0x0070, 16077 },
- { 0x1E57, 16081 },
- { 0x01A5, 16088 },
- { 0x1E55, 16094 },
- { 0x1D71, 16100 },
- { 0x1D7D, 16107 },
- { 0x5751, 16113 },
- { 0x1D88, 16121 },
- { 0x5753, 16128 },
- { 0x5755, 16134 },
- { 0x0071, 16141 },
- { 0x02A0, 16145 },
- { 0x024B, 16151 },
- { 0x5757, 16158 },
- { 0x5759, 16166 },
- { 0x0072, 16173 },
- { 0x1E59, 16177 },
- { 0x1E5B, 16184 },
- { 0x1E5D, 16191 },
- { 0x1E5F, 16200 },
- { 0x027C, 16207 },
- { 0x027D, 16214 },
- { 0x0155, 16220 },
- { 0x0159, 16226 },
- { 0x0211, 16232 },
- { 0x1D72, 16239 },
- { 0x024D, 16246 },
- { 0x0157, 16252 },
- { 0x1D89, 16258 },
- { 0x027E, 16265 },
- { 0x1D73, 16271 },
- { 0x0213, 16280 },
- { 0x575B, 16287 },
- { 0x0073, 16292 },
- { 0x1E61, 16296 },
- { 0x1E63, 16303 },
- { 0x1E69, 16310 },
- { 0x0282, 16320 },
- { 0x015B, 16326 },
- { 0x1E65, 16332 },
- { 0x0161, 16341 },
- { 0x1E67, 16347 },
- { 0x0219, 16356 },
- { 0x023F, 16363 },
- { 0x1D74, 16370 },
- { 0x015F, 16377 },
- { 0x1D8A, 16383 },
- { 0x015D, 16390 },
- { 0x0074, 16396 },
- { 0x1E6B, 16400 },
- { 0x1E6D, 16407 },
- { 0x0236, 16414 },
- { 0x01AD, 16420 },
- { 0x1E6F, 16426 },
- { 0x0165, 16433 },
- { 0x021B, 16439 },
- { 0x1D75, 16446 },
- { 0x0167, 16453 },
- { 0x0163, 16459 },
- { 0x01AB, 16465 },
- { 0x2C66, 16472 },
- { 0x1E97, 16479 },
- { 0x0288, 16485 },
- { 0x1E71, 16492 },
- { 0x0075, 16499 },
- { 0x0289, 16503 },
- { 0x1EE5, 16508 },
- { 0x1EE7, 16515 },
- { 0x01B0, 16522 },
- { 0x1EF1, 16528 },
- { 0x1EED, 16537 },
- { 0x1EE9, 16546 },
- { 0x1EEB, 16554 },
- { 0x1EEF, 16562 },
- { 0x016F, 16570 },
- { 0x00FA, 16577 },
- { 0x016D, 16583 },
- { 0x01D4, 16589 },
- { 0x00F9, 16595 },
- { 0x0169, 16601 },
- { 0x1E79, 16607 },
- { 0x1E75, 16615 },
- { 0x0171, 16622 },
- { 0x0215, 16629 },
- { 0x016B, 16636 },
- { 0x1E7B, 16642 },
- { 0x0173, 16650 },
- { 0x0217, 16656 },
- { 0x00FC, 16663 },
- { 0x01D8, 16669 },
- { 0x01DA, 16677 },
- { 0x01DC, 16685 },
- { 0x01D6, 16693 },
- { 0x1E73, 16701 },
- { 0x1D99, 16708 },
- { 0x00FB, 16715 },
- { 0x1E77, 16721 },
- { 0x0076, 16728 },
- { 0x1E7F, 16732 },
- { 0x2C74, 16739 },
- { 0x028B, 16745 },
- { 0x2C71, 16751 },
- { 0x1E7D, 16758 },
- { 0x1D8C, 16764 },
- { 0x575F, 16771 },
- { 0x0077, 16778 },
- { 0x1E87, 16782 },
- { 0x1E89, 16789 },
- { 0x2C73, 16796 },
- { 0x1E98, 16802 },
- { 0x1E83, 16809 },
- { 0x1E81, 16815 },
- { 0x1E85, 16821 },
- { 0x0175, 16827 },
- { 0x0078, 16833 },
- { 0x1E8B, 16837 },
- { 0x1D8D, 16844 },
- { 0x1E8D, 16851 },
- { 0x0079, 16857 },
- { 0x1E8F, 16861 },
- { 0x1EF5, 16868 },
- { 0x01B4, 16875 },
- { 0x1EF7, 16881 },
- { 0x1EFF, 16888 },
- { 0x1E99, 16894 },
- { 0x00FD, 16901 },
- { 0x1EF3, 16907 },
- { 0x1EF9, 16913 },
- { 0x0233, 16919 },
- { 0x024F, 16925 },
- { 0x00FF, 16931 },
- { 0x0177, 16937 },
- { 0x007A, 16943 },
- { 0x017C, 16947 },
- { 0x1E93, 16954 },
- { 0x0291, 16961 },
- { 0x0225, 16967 },
- { 0x1E95, 16973 },
- { 0x017A, 16980 },
- { 0x017E, 16986 },
- { 0x0240, 16992 },
- { 0x1D76, 16999 },
- { 0x01B6, 17006 },
- { 0x1D8E, 17012 },
- { 0x2C6C, 17019 },
- { 0x0290, 17025 },
- { 0x1E91, 17032 },
- { 0x5733, 17038 },
- { 0x00E6, 17042 },
- { 0x01FD, 17046 },
- { 0x01E3, 17052 },
- { 0x5735, 17058 },
- { 0x5737, 17062 },
- { 0x5739, 17066 },
- { 0x573B, 17070 },
- { 0x573D, 17077 },
- { 0x0238, 17081 },
- { 0x01F3, 17086 },
- { 0x01C6, 17090 },
- { 0x02A3, 17096 },
- { 0x02A5, 17101 },
- { 0x576B, 17108 },
- { 0x0195, 17112 },
- { 0x576D, 17116 },
- { 0x01C9, 17120 },
- { 0x02AA, 17124 },
- { 0x02AB, 17129 },
- { 0x01CC, 17134 },
- { 0x01A3, 17138 },
- { 0x574F, 17142 },
- { 0x0223, 17146 },
- { 0x0239, 17150 },
- { 0x02A8, 17155 },
- { 0x1D7A, 17162 },
- { 0x02A6, 17168 },
- { 0x5729, 17173 },
- { 0x1D6B, 17177 },
- { 0x5778, 17181 },
- { 0x5761, 17185 },
- { 0x576F, 17189 },
- { 0x5771, 17193 },
- { 0x014B, 17197 },
- { 0x0283, 17201 },
- { 0x0286, 17205 },
- { 0x1D8B, 17211 },
- { 0x1D98, 17218 },
- { 0x00F0, 17225 },
- { 0x0292, 17229 },
- { 0x0293, 17233 },
- { 0x01BA, 17239 },
- { 0x01EF, 17245 },
- { 0x1D9A, 17251 },
- { 0x01B9, 17258 },
- { 0x0138, 17263 },
- { 0x5772, 17267 },
- { 0x5773, 17271 },
- { 0x5774, 17275 },
- { 0x0278, 17279 },
- { 0x5775, 17283 },
- { 0x575D, 17287 },
- { 0x1D16, 17292 },
- { 0x5777, 17298 },
- { 0x02A4, 17302 },
- { 0x02A9, 17307 },
- { 0x2C76, 17312 },
- { 0x5727, 17317 },
- { 0x0267, 17321 },
- { 0x0269, 17327 },
- { 0x1D7C, 17331 },
- { 0x026E, 17337 },
- { 0x017F, 17341 },
- { 0x1E9B, 17346 },
- { 0x1E9D, 17354 },
- { 0x1E9C, 17362 },
- { 0x025B, 17370 },
- { 0x1D93, 17375 },
- { 0x0254, 17383 },
- { 0x1D97, 17388 },
- { 0x0264, 17396 },
- { 0x02A7, 17401 },
- { 0x0185, 17406 },
- { 0x01A8, 17411 },
- { 0x01BD, 17416 },
- { 0x5769, 17421 },
- { 0x021D, 17425 },
- { 0x0251, 17429 },
- { 0x1D90, 17433 },
- { 0x1E9F, 17440 },
- { 0x0263, 17444 },
- { 0x0259, 17448 },
- { 0x025A, 17452 },
- { 0x1D95, 17458 },
- { 0x00DF, 17465 },
- { 0x0285, 17470 },
- { 0x00FE, 17476 },
- { 0x5765, 17480 },
- { 0x5767, 17486 },
- { 0x0275, 17494 },
- { 0x1D17, 17499 },
- { 0x5747, 17505 },
- { 0x029A, 17510 },
- { 0x0277, 17516 },
- { 0x025E, 17521 },
- { 0x019B, 17528 },
- { 0x0261, 17534 },
- { 0x0250, 17539 },
- { 0x01DD, 17544 },
- { 0x1D77, 17549 },
- { 0x0265, 17554 },
- { 0x02AE, 17559 },
- { 0x02AF, 17566 },
- { 0x1D09, 17575 },
- { 0x029E, 17580 },
- { 0x5781, 17585 },
- { 0x026F, 17590 },
- { 0x0270, 17595 },
- { 0x0279, 17603 },
- { 0x027B, 17608 },
- { 0x027A, 17615 },
- { 0x2C79, 17623 },
- { 0x0287, 17630 },
- { 0x028C, 17635 },
- { 0x028D, 17640 },
- { 0x028E, 17645 },
- { 0x1D02, 17650 },
- { 0x1D14, 17655 },
- { 0x1D08, 17660 },
- { 0x0252, 17666 },
- { 0x018D, 17671 },
- { 0x577F, 17676 },
- { 0x0131, 17682 },
- { 0x0237, 17687 },
- { 0x025F, 17692 },
- { 0x0284, 17699 },
- { 0x0242, 17708 },
- { 0x577A, 17713 },
- { 0x577C, 17718 },
- { 0x1D79, 17723 },
- { 0x5783, 17728 },
- { 0x5785, 17733 },
- { 0x5787, 17738 },
- { 0x028A, 17743 },
- { 0x1D7F, 17747 },
- { 0x2184, 17753 },
- { 0x573F, 17758 },
- { 0x0258, 17765 },
- { 0x027F, 17770 },
- { 0x025C, 17777 },
- { 0x025D, 17783 },
- { 0x1D94, 17791 },
- { 0x578C, 17800 },
- { 0x1D11, 17804 },
- { 0x1D13, 17809 },
- { 0x1D1D, 17816 },
- { 0x1D12, 17821 },
- { 0x1D1F, 17827 },
- { 0x1D1E, 17833 },
- { 0x2C77, 17839 },
- { 0x572B, 17844 },
- { 0x572D, 17848 },
- { 0x572F, 17852 },
- { 0x5763, 17858 },
- { 0x1EFD, 17863 },
- { 0x1EFB, 17868 },
- { 0x5725, 17873 },
- { 0x5723, 17878 },
- { 0x1D7B, 17883 },
- { 0x1D7E, 17890 },
- { 0x6B00, 17897 },
- { 0x6B01, 17901 },
- { 0x6B02, 17905 },
- { 0x0133, 17909 },
- { 0x0153, 17913 },
- { 0x6B06, 17917 },
- { 0x6B03, 17921 },
- { 0x6B04, 17925 },
- { 0x6B05, 17929 },
- { 0x01A6, 17935 },
- { 0x1D25, 17938 },
- { 0x01BB, 17941 },
- { 0x01BF, 17946 },
- { 0x1D00, 17949 },
- { 0x0299, 17954 },
- { 0x1D04, 17959 },
- { 0x1D05, 17964 },
- { 0x1D07, 17969 },
- { 0x5730, 17974 },
- { 0x0262, 17979 },
- { 0x029B, 17984 },
- { 0x029C, 17991 },
- { 0x026A, 17996 },
- { 0x1D0A, 18001 },
- { 0x1D0B, 18006 },
- { 0x029F, 18011 },
- { 0x1D0C, 18016 },
- { 0x1D0D, 18023 },
- { 0x0274, 18028 },
- { 0x1D0F, 18033 },
- { 0x1D18, 18038 },
- { 0x0280, 18043 },
- { 0x5731, 18048 },
- { 0x1D1B, 18053 },
- { 0x1D1C, 18058 },
- { 0x1D20, 18063 },
- { 0x1D21, 18068 },
- { 0x028F, 18073 },
- { 0x1D22, 18078 },
- { 0x1D01, 18083 },
- { 0x0276, 18088 },
- { 0x1D15, 18093 },
- { 0x1D06, 18098 },
- { 0x1D23, 18103 },
- { 0x5776, 18108 },
- { 0x1D10, 18113 },
- { 0x1D03, 18119 },
- { 0x2C7B, 18125 },
- { 0x1D1A, 18131 },
- { 0x0281, 18137 },
- { 0x1D0E, 18143 },
- { 0x1D19, 18149 },
- { 0x01C0, 18155 },
- { 0x1D24, 18159 },
- { 0x0294, 18164 },
- { 0x02A1, 18168 },
- { 0x01C1, 18174 },
- { 0x01C2, 18178 },
- { 0x02AD, 18182 },
- { 0x0298, 18186 },
- { 0x02AC, 18190 },
- { 0x0296, 18194 },
- { 0x01BE, 18199 },
- { 0x01AA, 18206 },
- { 0x02A2, 18211 },
- { 0x01C3, 18218 },
- { 0x0297, 18222 },
- { 0x0295, 18226 },
- { 0x0041, 18231 },
- { 0x0226, 18235 },
- { 0x01E0, 18242 },
- { 0x1EA0, 18251 },
- { 0x1EA2, 18258 },
- { 0x00C5, 18265 },
- { 0x01FA, 18272 },
- { 0x1E00, 18281 },
- { 0x00C1, 18288 },
- { 0x0102, 18294 },
- { 0x1EB6, 18300 },
- { 0x1EB2, 18309 },
- { 0x1EAE, 18318 },
- { 0x1EB0, 18326 },
- { 0x1EB4, 18334 },
- { 0x01CD, 18342 },
- { 0x00C0, 18348 },
- { 0x00C3, 18354 },
- { 0x0200, 18360 },
- { 0x0100, 18367 },
- { 0x0104, 18373 },
- { 0x023A, 18379 },
- { 0x0202, 18385 },
- { 0x00C4, 18392 },
- { 0x01DE, 18398 },
- { 0x00C2, 18406 },
- { 0x1EAC, 18412 },
- { 0x1EA8, 18421 },
- { 0x1EA4, 18430 },
- { 0x1EA6, 18438 },
- { 0x1EAA, 18446 },
- { 0x0042, 18454 },
- { 0x1E02, 18458 },
- { 0x1E04, 18465 },
- { 0x0181, 18472 },
- { 0x1E06, 18478 },
- { 0x0243, 18485 },
- { 0x0182, 18491 },
- { 0x0043, 18497 },
- { 0x010A, 18501 },
- { 0x0187, 18508 },
- { 0x0106, 18514 },
- { 0x010C, 18520 },
- { 0x023B, 18526 },
- { 0x00C7, 18532 },
- { 0x1E08, 18538 },
- { 0x0108, 18546 },
- { 0x0044, 18552 },
- { 0x1E0A, 18556 },
- { 0x1E0C, 18563 },
- { 0x018A, 18570 },
- { 0x1E0E, 18576 },
- { 0x010E, 18583 },
- { 0x01F2, 18589 },
- { 0x01C5, 18597 },
- { 0x0110, 18607 },
- { 0x018B, 18613 },
- { 0x1E10, 18619 },
- { 0x1E12, 18625 },
- { 0x0045, 18632 },
- { 0x0116, 18636 },
- { 0x1EB8, 18643 },
- { 0x1EBA, 18650 },
- { 0x00C9, 18657 },
- { 0x0114, 18663 },
- { 0x011A, 18669 },
- { 0x00C8, 18675 },
- { 0x1EBC, 18681 },
- { 0x1E1A, 18687 },
- { 0x0204, 18694 },
- { 0x0112, 18701 },
- { 0x1E16, 18707 },
- { 0x1E14, 18715 },
- { 0x0118, 18723 },
- { 0x0246, 18729 },
- { 0x0228, 18735 },
- { 0x1E1C, 18741 },
- { 0x0206, 18749 },
- { 0x00CB, 18756 },
- { 0x00CA, 18762 },
- { 0x1EC6, 18768 },
- { 0x1EC2, 18777 },
- { 0x1EBE, 18786 },
- { 0x1EC0, 18794 },
- { 0x1EC4, 18802 },
- { 0x1E18, 18810 },
- { 0x0046, 18817 },
- { 0x1E1E, 18821 },
- { 0x0191, 18828 },
- { 0x0047, 18834 },
- { 0x0120, 18838 },
- { 0x0193, 18845 },
- { 0x01F4, 18851 },
- { 0x011E, 18857 },
- { 0x01E6, 18863 },
- { 0x1E20, 18869 },
- { 0x01E4, 18875 },
- { 0x0122, 18881 },
- { 0x011C, 18887 },
- { 0x0048, 18893 },
- { 0x1E22, 18897 },
- { 0x1E24, 18904 },
- { 0x1E2A, 18911 },
- { 0x021E, 18918 },
- { 0x0126, 18924 },
- { 0x1E28, 18930 },
- { 0x2C67, 18936 },
- { 0x1E26, 18942 },
- { 0x0124, 18948 },
- { 0x0049, 18954 },
- { 0x0130, 18958 },
- { 0x1ECA, 18965 },
- { 0x1EC8, 18972 },
- { 0x00CD, 18979 },
- { 0x012C, 18985 },
- { 0x01CF, 18991 },
- { 0x00CC, 18997 },
- { 0x0128, 19003 },
- { 0x1E2C, 19009 },
- { 0x0208, 19016 },
- { 0x012A, 19023 },
- { 0x012E, 19029 },
- { 0x0197, 19035 },
- { 0x020A, 19041 },
- { 0x00CF, 19048 },
- { 0x1E2E, 19054 },
- { 0x00CE, 19062 },
- { 0x004A, 19068 },
- { 0x0248, 19072 },
- { 0x0134, 19078 },
- { 0x004B, 19084 },
- { 0x1E32, 19088 },
- { 0x0198, 19095 },
- { 0x1E34, 19101 },
- { 0x1E30, 19108 },
- { 0x01E8, 19114 },
- { 0x5740, 19120 },
- { 0x5744, 19126 },
- { 0x0136, 19135 },
- { 0x5742, 19141 },
- { 0x2C69, 19148 },
- { 0x004C, 19154 },
- { 0x023D, 19158 },
- { 0x1E36, 19164 },
- { 0x1E38, 19171 },
- { 0x5748, 19180 },
- { 0x1E3A, 19187 },
- { 0x0139, 19194 },
- { 0x013D, 19200 },
- { 0x01C8, 19206 },
- { 0x2C60, 19214 },
- { 0x013F, 19221 },
- { 0x2C62, 19228 },
- { 0x0141, 19235 },
- { 0x013B, 19241 },
- { 0x1E3C, 19247 },
- { 0x004D, 19254 },
- { 0x1E40, 19258 },
- { 0x1E42, 19265 },
- { 0x2C6E, 19272 },
- { 0x1E3E, 19278 },
- { 0x004E, 19284 },
- { 0x1E44, 19288 },
- { 0x1E46, 19295 },
- { 0x019D, 19302 },
- { 0x1E48, 19309 },
- { 0x0220, 19316 },
- { 0x0143, 19324 },
- { 0x0147, 19330 },
- { 0x01F8, 19336 },
- { 0x01CB, 19342 },
- { 0x00D1, 19350 },
- { 0x0145, 19356 },
- { 0x1E4A, 19362 },
- { 0x004F, 19369 },
- { 0x022E, 19373 },
- { 0x0230, 19380 },
- { 0x1ECC, 19389 },
- { 0x1ECE, 19396 },
- { 0x01A0, 19403 },
- { 0x1EE2, 19409 },
- { 0x1EDE, 19418 },
- { 0x1EDA, 19427 },
- { 0x1EDC, 19435 },
- { 0x1EE0, 19443 },
- { 0x574A, 19451 },
- { 0x574C, 19459 },
- { 0x00D3, 19465 },
- { 0x014E, 19471 },
- { 0x01D1, 19477 },
- { 0x00D2, 19483 },
- { 0x00D5, 19489 },
- { 0x1E4C, 19495 },
- { 0x022C, 19503 },
- { 0x1E4E, 19511 },
- { 0x0150, 19519 },
- { 0x020C, 19526 },
- { 0x014C, 19533 },
- { 0x1E52, 19539 },
- { 0x1E50, 19547 },
- { 0x019F, 19555 },
- { 0x01EA, 19562 },
- { 0x01EC, 19568 },
- { 0x00D8, 19576 },
- { 0x01FE, 19582 },
- { 0x020E, 19590 },
- { 0x00D6, 19597 },
- { 0x022A, 19603 },
- { 0x00D4, 19611 },
- { 0x1ED8, 19617 },
- { 0x1ED4, 19626 },
- { 0x1ED0, 19635 },
- { 0x1ED2, 19643 },
- { 0x1ED6, 19651 },
- { 0x0050, 19659 },
- { 0x1E56, 19663 },
- { 0x01A4, 19670 },
- { 0x1E54, 19676 },
- { 0x2C63, 19682 },
- { 0x5750, 19688 },
- { 0x5752, 19696 },
- { 0x5754, 19702 },
- { 0x0051, 19709 },
- { 0x5756, 19713 },
- { 0x5758, 19721 },
- { 0x0052, 19728 },
- { 0x1E58, 19732 },
- { 0x1E5A, 19739 },
- { 0x1E5C, 19746 },
- { 0x1E5E, 19755 },
- { 0x2C64, 19762 },
- { 0x0154, 19768 },
- { 0x0158, 19774 },
- { 0x0210, 19780 },
- { 0x024C, 19787 },
- { 0x0156, 19793 },
- { 0x0212, 19799 },
- { 0x575A, 19806 },
- { 0x0053, 19811 },
- { 0x1E60, 19815 },
- { 0x1E62, 19822 },
- { 0x1E68, 19829 },
- { 0x015A, 19839 },
- { 0x1E64, 19845 },
- { 0x0160, 19854 },
- { 0x1E66, 19860 },
- { 0x0218, 19869 },
- { 0x015E, 19876 },
- { 0x015C, 19882 },
- { 0x0054, 19888 },
- { 0x1E6A, 19892 },
- { 0x1E6C, 19899 },
- { 0x01AC, 19906 },
- { 0x1E6E, 19912 },
- { 0x0164, 19919 },
- { 0x021A, 19925 },
- { 0x0166, 19932 },
- { 0x0162, 19938 },
- { 0x023E, 19944 },
- { 0x01AE, 19951 },
- { 0x1E70, 19958 },
- { 0x0055, 19965 },
- { 0x0244, 19969 },
- { 0x1EE4, 19974 },
- { 0x1EE6, 19981 },
- { 0x01AF, 19988 },
- { 0x1EF0, 19994 },
- { 0x1EEC, 20003 },
- { 0x1EE8, 20012 },
- { 0x1EEA, 20020 },
- { 0x1EEE, 20028 },
- { 0x016E, 20036 },
- { 0x00DA, 20043 },
- { 0x016C, 20049 },
- { 0x01D3, 20055 },
- { 0x00D9, 20061 },
- { 0x0168, 20067 },
- { 0x1E78, 20073 },
- { 0x1E74, 20081 },
- { 0x0170, 20088 },
- { 0x0214, 20095 },
- { 0x016A, 20102 },
- { 0x1E7A, 20108 },
- { 0x0172, 20116 },
- { 0x0216, 20122 },
- { 0x00DC, 20129 },
- { 0x01D7, 20135 },
- { 0x01D9, 20143 },
- { 0x01DB, 20151 },
- { 0x01D5, 20159 },
- { 0x1E72, 20167 },
- { 0x00DB, 20174 },
- { 0x1E76, 20180 },
- { 0x0056, 20187 },
- { 0x1E7E, 20191 },
- { 0x01B2, 20198 },
- { 0x1E7C, 20204 },
- { 0x575E, 20210 },
- { 0x0057, 20217 },
- { 0x1E86, 20221 },
- { 0x1E88, 20228 },
- { 0x2C72, 20235 },
- { 0x1E82, 20241 },
- { 0x1E80, 20247 },
- { 0x1E84, 20253 },
- { 0x0174, 20259 },
- { 0x0058, 20265 },
- { 0x1E8A, 20269 },
- { 0x1E8C, 20276 },
- { 0x0059, 20282 },
- { 0x1E8E, 20286 },
- { 0x1EF4, 20293 },
- { 0x01B3, 20300 },
- { 0x1EF6, 20306 },
- { 0x1EFE, 20313 },
- { 0x00DD, 20319 },
- { 0x1EF2, 20325 },
- { 0x1EF8, 20331 },
- { 0x0232, 20337 },
- { 0x024E, 20343 },
- { 0x0178, 20349 },
- { 0x0176, 20355 },
- { 0x005A, 20361 },
- { 0x017B, 20365 },
- { 0x1E92, 20372 },
- { 0x0224, 20379 },
- { 0x1E94, 20385 },
- { 0x0179, 20392 },
- { 0x017D, 20398 },
- { 0x01B5, 20404 },
- { 0x2C6B, 20410 },
- { 0x1E90, 20416 },
- { 0x5732, 20422 },
- { 0x00C6, 20426 },
- { 0x01FC, 20430 },
- { 0x01E2, 20436 },
- { 0x5734, 20442 },
- { 0x5736, 20446 },
- { 0x5738, 20450 },
- { 0x573A, 20454 },
- { 0x573C, 20461 },
- { 0x01F1, 20465 },
- { 0x01C4, 20469 },
- { 0x576A, 20475 },
- { 0x576C, 20479 },
- { 0x01C7, 20483 },
- { 0x01CA, 20487 },
- { 0x01A2, 20491 },
- { 0x574E, 20495 },
- { 0x0222, 20499 },
- { 0x5728, 20503 },
- { 0x5760, 20507 },
- { 0x576E, 20511 },
- { 0x014A, 20515 },
- { 0x01A9, 20519 },
- { 0x00D0, 20523 },
- { 0x01B7, 20527 },
- { 0x01EE, 20531 },
- { 0x01B8, 20537 },
- { 0x575C, 20542 },
- { 0x2C75, 20547 },
- { 0x5726, 20552 },
- { 0x0196, 20556 },
- { 0x0190, 20560 },
- { 0x0186, 20565 },
- { 0x0184, 20570 },
- { 0x01A7, 20575 },
- { 0x01BC, 20580 },
- { 0x5768, 20585 },
- { 0x01F7, 20589 },
- { 0x021C, 20593 },
- { 0x2C6D, 20597 },
- { 0x0194, 20601 },
- { 0x01F6, 20605 },
- { 0x018F, 20609 },
- { 0x1E9E, 20613 },
- { 0x024A, 20618 },
- { 0x00DE, 20626 },
- { 0x5764, 20630 },
- { 0x5766, 20636 },
- { 0x5746, 20644 },
- { 0x2C6F, 20649 },
- { 0x5780, 20654 },
- { 0x019C, 20659 },
- { 0x0245, 20664 },
- { 0x577E, 20669 },
- { 0x0189, 20675 },
- { 0x0241, 20680 },
- { 0x5779, 20685 },
- { 0x577B, 20690 },
- { 0x577D, 20695 },
- { 0x5782, 20700 },
- { 0x5784, 20705 },
- { 0x5786, 20710 },
- { 0x01B1, 20715 },
- { 0x573E, 20719 },
- { 0x018E, 20726 },
- { 0x578B, 20731 },
- { 0x572A, 20735 },
- { 0x572C, 20739 },
- { 0x572E, 20743 },
- { 0x5762, 20749 },
- { 0x1EFC, 20754 },
- { 0x1EFA, 20759 },
- { 0x5724, 20764 },
- { 0x5722, 20769 },
- { 0x0132, 20774 },
- { 0x0152, 20778 },
- { 0x2090, 20782 },
- { 0x2091, 20787 },
- { 0x1D62, 20792 },
- { 0x2C7C, 20797 },
- { 0x2092, 20802 },
- { 0x1D63, 20807 },
- { 0x1D64, 20812 },
- { 0x1D65, 20817 },
- { 0x2093, 20822 },
- { 0x2094, 20827 },
- { 0x57FE, 20832 },
- { 0x57FF, 20837 },
- { 0x57FD, 20842 },
- { 0x57FB, 20847 },
- { 0x57FC, 20852 },
- { 0x264E, 20857 },
- { 0x2772, 20858 },
- { 0x2773, 20864 },
- { 0x2591, 20870 },
- { 0x2758, 20872 },
- { 0x1940, 20875 },
- { 0x193B, 20878 },
- { 0x193A, 20881 },
- { 0x1939, 20884 },
- { 0x1947, 20887 },
- { 0x194C, 20890 },
- { 0x1948, 20893 },
- { 0x194B, 20896 },
- { 0x194A, 20899 },
- { 0x194F, 20902 },
- { 0x1946, 20905 },
- { 0x194E, 20908 },
- { 0x194D, 20911 },
- { 0x1949, 20914 },
- { 0x1930, 20917 },
- { 0x1938, 20921 },
- { 0x1936, 20925 },
- { 0x1934, 20929 },
- { 0x1935, 20933 },
- { 0x1937, 20937 },
- { 0x1933, 20941 },
- { 0x1931, 20945 },
- { 0x1932, 20949 },
- { 0x1920, 20953 },
- { 0x1927, 20957 },
- { 0x1921, 20961 },
- { 0x1928, 20965 },
- { 0x1922, 20969 },
- { 0x1924, 20973 },
- { 0x1926, 20977 },
- { 0x1923, 20981 },
- { 0x1925, 20985 },
- { 0x1912, 20989 },
- { 0x1906, 20992 },
- { 0x190D, 20995 },
- { 0x1903, 20998 },
- { 0x191C, 21001 },
- { 0x1908, 21004 },
- { 0x1901, 21007 },
- { 0x1917, 21010 },
- { 0x1914, 21013 },
- { 0x190F, 21016 },
- { 0x1910, 21019 },
- { 0x1916, 21022 },
- { 0x191B, 21025 },
- { 0x190B, 21028 },
- { 0x1918, 21031 },
- { 0x1915, 21034 },
- { 0x1913, 21037 },
- { 0x1907, 21040 },
- { 0x190E, 21043 },
- { 0x1904, 21046 },
- { 0x1909, 21049 },
- { 0x1902, 21052 },
- { 0x1905, 21055 },
- { 0x1911, 21058 },
- { 0x1919, 21061 },
- { 0x191A, 21064 },
- { 0x190C, 21067 },
- { 0x190A, 21070 },
- { 0x1945, 21073 },
- { 0x192A, 21076 },
- { 0x192B, 21080 },
- { 0x1929, 21084 },
- { 0x1944, 21088 },
- { 0x1900, 21091 },
- { 0x2581, 21094 },
- { 0x2582, 21098 },
- { 0x2585, 21102 },
- { 0x2584, 21106 },
- { 0x25E1, 21109 },
- { 0x25DB, 21112 },
- { 0x25DF, 21117 },
- { 0x25FA, 21122 },
- { 0x293F, 21125 },
- { 0x2703, 21130 },
- { 0x27D3, 21133 },
- { 0x270E, 21138 },
- { 0x25DE, 21141 },
- { 0x2751, 21146 },
- { 0x25FF, 21151 },
- { 0x293E, 21154 },
- { 0x274F, 21159 },
- { 0x2587, 21164 },
- { 0x2583, 21168 },
- { 0x2586, 21172 },
- { 0x00B5, 21176 },
- { 0x2212, 21178 },
- { 0x2A3A, 21180 },
- { 0x2A2A, 21184 },
- { 0x2A29, 21189 },
- { 0x2A2C, 21194 },
- { 0x2A2B, 21199 },
- { 0x2242, 21204 },
- { 0x266D, 21206 },
- { 0x266F, 21209 },
- { 0x266E, 21212 },
- { 0x2A09, 21215 },
- { 0x22C3, 21218 },
- { 0x2A03, 21220 },
- { 0x2A04, 21225 },
- { 0x2AFF, 21230 },
- { 0x2A06, 21234 },
- { 0x2A05, 21238 },
- { 0x2A00, 21242 },
- { 0x2A01, 21246 },
- { 0x2A02, 21250 },
- { 0x22C1, 21254 },
- { 0x22C0, 21257 },
- { 0x220F, 21260 },
- { 0x2210, 21262 },
- { 0x2211, 21264 },
- { 0x22C2, 21266 },
- { 0x2207, 21268 },
- { 0x20A6, 21269 },
- { 0x2922, 21271 },
- { 0x2197, 21277 },
- { 0x2928, 21280 },
- { 0x2924, 21287 },
- { 0x2931, 21292 },
- { 0x292E, 21299 },
- { 0x2B08, 21306 },
- { 0x2B00, 21310 },
- { 0x21D7, 21314 },
- { 0x2921, 21318 },
- { 0x2196, 21324 },
- { 0x21B8, 21327 },
- { 0x21F1, 21333 },
- { 0x2927, 21338 },
- { 0x2923, 21345 },
- { 0x2932, 21350 },
- { 0x2B09, 21357 },
- { 0x2B01, 21361 },
- { 0x21D6, 21365 },
- { 0x1680, 21369 },
- { 0x1696, 21372 },
- { 0x1692, 21375 },
- { 0x1691, 21378 },
- { 0x1690, 21381 },
- { 0x1689, 21384 },
- { 0x1687, 21387 },
- { 0x168C, 21390 },
- { 0x1698, 21393 },
- { 0x1682, 21396 },
- { 0x168B, 21399 },
- { 0x1685, 21402 },
- { 0x168F, 21405 },
- { 0x1684, 21408 },
- { 0x1686, 21411 },
- { 0x1681, 21414 },
- { 0x168A, 21417 },
- { 0x1683, 21420 },
- { 0x169A, 21423 },
- { 0x1688, 21426 },
- { 0x168E, 21429 },
- { 0x1695, 21432 },
- { 0x1693, 21435 },
- { 0x1694, 21438 },
- { 0x168D, 21441 },
- { 0x1697, 21444 },
- { 0x1699, 21447 },
- { 0x169B, 21450 },
- { 0x169C, 21453 },
- { 0x0B56, 21457 },
- { 0x0B57, 21461 },
- { 0x0B3C, 21465 },
- { 0x0B4D, 21468 },
- { 0x0B03, 21471 },
- { 0x0B02, 21474 },
- { 0x0B3D, 21477 },
- { 0x0B01, 21480 },
- { 0x0B67, 21483 },
- { 0x0B6C, 21486 },
- { 0x0B68, 21489 },
- { 0x0B6B, 21492 },
- { 0x0B6A, 21495 },
- { 0x0B6F, 21498 },
- { 0x0B66, 21501 },
- { 0x0B6E, 21504 },
- { 0x0B6D, 21507 },
- { 0x0B69, 21510 },
- { 0x0B47, 21513 },
- { 0x0B3F, 21517 },
- { 0x0B4B, 21521 },
- { 0x0B41, 21525 },
- { 0x0B3E, 21529 },
- { 0x0B48, 21533 },
- { 0x0B4C, 21537 },
- { 0x0B40, 21541 },
- { 0x0B42, 21545 },
- { 0x0B62, 21549 },
- { 0x0B43, 21554 },
- { 0x0B63, 21559 },
- { 0x0B44, 21564 },
- { 0x0B70, 21569 },
- { 0x0B05, 21571 },
- { 0x0B0F, 21574 },
- { 0x0B07, 21577 },
- { 0x0B13, 21580 },
- { 0x0B09, 21583 },
- { 0x0B06, 21586 },
- { 0x0B10, 21589 },
- { 0x0B14, 21592 },
- { 0x0B2C, 21595 },
- { 0x0B1A, 21598 },
- { 0x0B26, 21601 },
- { 0x0B17, 21604 },
- { 0x0B39, 21607 },
- { 0x0B08, 21610 },
- { 0x0B1C, 21613 },
- { 0x0B15, 21616 },
- { 0x0B32, 21619 },
- { 0x0B2E, 21622 },
- { 0x0B28, 21625 },
- { 0x0B2A, 21628 },
- { 0x0B30, 21631 },
- { 0x0B38, 21634 },
- { 0x0B24, 21637 },
- { 0x0B0A, 21640 },
- { 0x0B35, 21643 },
- { 0x0B71, 21646 },
- { 0x0B2F, 21649 },
- { 0x0B2D, 21652 },
- { 0x0B1B, 21655 },
- { 0x0B21, 21658 },
- { 0x0B27, 21661 },
- { 0x0B18, 21664 },
- { 0x0B1D, 21667 },
- { 0x0B16, 21670 },
- { 0x0B33, 21673 },
- { 0x0B19, 21676 },
- { 0x0B23, 21679 },
- { 0x0B1E, 21682 },
- { 0x0B2B, 21685 },
- { 0x0B5D, 21688 },
- { 0x0B5C, 21691 },
- { 0x0B36, 21694 },
- { 0x0B37, 21697 },
- { 0x0B25, 21700 },
- { 0x0B1F, 21703 },
- { 0x0B5F, 21706 },
- { 0x0B22, 21709 },
- { 0x0B20, 21712 },
- { 0x0B0C, 21715 },
- { 0x0B0B, 21719 },
- { 0x0B61, 21723 },
- { 0x0B60, 21727 },
- { 0x2125, 21731 },
- { 0x262E, 21733 },
- { 0x2318, 21735 },
- { 0x2647, 21739 },
- { 0x00A3, 21740 },
- { 0x2032, 21742 },
- { 0x2399, 21743 },
- { 0x2236, 21746 },
- { 0x2994, 21747 },
- { 0x2E1D, 21751 },
- { 0x2595, 21755 },
- { 0x297D, 21759 },
- { 0x25D7, 21762 },
- { 0x2590, 21766 },
- { 0x22A2, 21769 },
- { 0x221F, 21771 },
- { 0x22BE, 21773 },
- { 0x237C, 21777 },
- { 0x2E01, 21783 },
- { 0x3009, 21788 },
- { 0x2992, 21791 },
- { 0x299C, 21796 },
- { 0x2E00, 21801 },
- { 0x21F4, 21805 },
- { 0x27F4, 21810 },
- { 0x2998, 21815 },
- { 0x3011, 21820 },
- { 0x007D, 21824 },
- { 0x23AD, 21827 },
- { 0x23AB, 21832 },
- { 0x23AC, 21837 },
- { 0x230B, 21842 },
- { 0x27D6, 21844 },
- { 0x2984, 21847 },
- { 0x300F, 21851 },
- { 0x301B, 21855 },
- { 0x3019, 21859 },
- { 0x3017, 21864 },
- { 0x2986, 21868 },
- { 0x300D, 21871 },
- { 0x2E05, 21874 },
- { 0x300B, 21878 },
- { 0x2970, 21882 },
- { 0x29DB, 21888 },
- { 0x201D, 21892 },
- { 0x2E29, 21896 },
- { 0x22CA, 21899 },
- { 0x2E0D, 21904 },
- { 0x2019, 21908 },
- { 0x005D, 21912 },
- { 0x2990, 21915 },
- { 0x298E, 21923 },
- { 0x2046, 21931 },
- { 0x298C, 21936 },
- { 0x23A6, 21941 },
- { 0x23A4, 21946 },
- { 0x23A5, 21951 },
- { 0x29D9, 21955 },
- { 0x2309, 21958 },
- { 0x27C6, 21960 },
- { 0x2E27, 21964 },
- { 0x3015, 21968 },
- { 0x22BF, 21972 },
- { 0x29CE, 21974 },
- { 0x2E21, 21979 },
- { 0x23B9, 21984 },
- { 0x22CC, 21988 },
- { 0x0029, 21991 },
- { 0x23A0, 21993 },
- { 0x239E, 21997 },
- { 0x239F, 22001 },
- { 0x2E03, 22004 },
- { 0x2E0A, 22007 },
- { 0x719A, 22010 },
- { 0x7191, 22013 },
- { 0x7194, 22016 },
- { 0x2160, 22020 },
- { 0x216D, 22023 },
- { 0x2188, 22027 },
- { 0x216F, 22032 },
- { 0x2180, 22036 },
- { 0x2165, 22042 },
- { 0x2185, 22045 },
- { 0x2169, 22050 },
- { 0x2182, 22053 },
- { 0x2161, 22057 },
- { 0x2164, 22060 },
- { 0x216E, 22063 },
- { 0x2181, 22067 },
- { 0x2163, 22071 },
- { 0x2168, 22074 },
- { 0x2167, 22077 },
- { 0x216C, 22080 },
- { 0x2186, 22083 },
- { 0x2187, 22088 },
- { 0x2166, 22092 },
- { 0x2162, 22095 },
- { 0x216A, 22098 },
- { 0x216B, 22101 },
- { 0x2183, 22104 },
- { 0x7190, 22109 },
- { 0x7193, 22112 },
- { 0x7195, 22115 },
- { 0x7196, 22118 },
- { 0x7192, 22121 },
- { 0x719B, 22124 },
- { 0x7199, 22127 },
- { 0x7197, 22130 },
- { 0x7198, 22133 },
- { 0x16ED, 22136 },
- { 0x16EE, 22139 },
- { 0x16CD, 22142 },
- { 0x16D1, 22145 },
- { 0x16C2, 22148 },
- { 0x16B5, 22151 },
- { 0x16AE, 22154 },
- { 0x16E9, 22157 },
- { 0x16A1, 22160 },
- { 0x16A5, 22163 },
- { 0x16EA, 22166 },
- { 0x16A4, 22169 },
- { 0x16CE, 22172 },
- { 0x16AA, 22175 },
- { 0x16AF, 22179 },
- { 0x16B0, 22182 },
- { 0x16A9, 22185 },
- { 0x16A3, 22189 },
- { 0x16B3, 22192 },
- { 0x16E0, 22195 },
- { 0x16B6, 22198 },
- { 0x16A7, 22201 },
- { 0x16B8, 22204 },
- { 0x16C4, 22207 },
- { 0x16DD, 22210 },
- { 0x16E1, 22213 },
- { 0x16AB, 22216 },
- { 0x16E3, 22219 },
- { 0x16A0, 22222 },
- { 0x16B7, 22228 },
- { 0x16C1, 22233 },
- { 0x16C7, 22239 },
- { 0x16B4, 22243 },
- { 0x16E5, 22247 },
- { 0x16A2, 22250 },
- { 0x16C9, 22255 },
- { 0x16A8, 22259 },
- { 0x16E4, 22263 },
- { 0x16DE, 22266 },
- { 0x16D6, 22271 },
- { 0x16BB, 22276 },
- { 0x16C3, 22280 },
- { 0x16B2, 22284 },
- { 0x16B1, 22287 },
- { 0x16CB, 22293 },
- { 0x16CF, 22298 },
- { 0x16B9, 22304 },
- { 0x16BA, 22309 },
- { 0x16DC, 22313 },
- { 0x16DA, 22316 },
- { 0x16D7, 22322 },
- { 0x16BE, 22327 },
- { 0x16D5, 22333 },
- { 0x16C8, 22336 },
- { 0x16CA, 22341 },
- { 0x16E2, 22345 },
- { 0x16DF, 22348 },
- { 0x16D2, 22353 },
- { 0x16DB, 22359 },
- { 0x16C0, 22362 },
- { 0x16D4, 22365 },
- { 0x16A6, 22368 },
- { 0x16E8, 22373 },
- { 0x16C6, 22376 },
- { 0x16E7, 22380 },
- { 0x16C5, 22383 },
- { 0x16E6, 22387 },
- { 0x16AD, 22390 },
- { 0x16CC, 22394 },
- { 0x16D0, 22398 },
- { 0x16AC, 22402 },
- { 0x16D9, 22406 },
- { 0x16BF, 22410 },
- { 0x16D8, 22414 },
- { 0x16BD, 22418 },
- { 0x16BC, 22422 },
- { 0x16D3, 22426 },
- { 0x16EB, 22430 },
- { 0x16F0, 22433 },
- { 0x16EC, 22436 },
- { 0x16EF, 22439 },
- { 0x20A8, 22442 },
- { 0x2AE0, 22444 },
- { 0x2AE8, 22447 },
- { 0x2AE9, 22452 },
- { 0x2ADF, 22459 },
- { 0x2AE7, 22462 },
- { 0x2ADE, 22467 },
- { 0x2944, 22470 },
- { 0x2620, 22476 },
- { 0x2333, 22479 },
- { 0x6E58, 22480 },
- { 0x2A61, 22483 },
- { 0x6E52, 22487 },
- { 0x6E5B, 22490 },
- { 0x6E5D, 22494 },
- { 0x6E59, 22499 },
- { 0x6E62, 22502 },
- { 0x6E55, 22505 },
- { 0x6E50, 22507 },
- { 0x6E5C, 22509 },
- { 0x6E5E, 22513 },
- { 0x6E5A, 22518 },
- { 0x2170, 22521 },
- { 0x217D, 22525 },
- { 0x217F, 22530 },
- { 0x2175, 22535 },
- { 0x2179, 22539 },
- { 0x2171, 22543 },
- { 0x2174, 22547 },
- { 0x217E, 22551 },
- { 0x2173, 22556 },
- { 0x2178, 22560 },
- { 0x2177, 22564 },
- { 0x217C, 22568 },
- { 0x2176, 22572 },
- { 0x2172, 22576 },
- { 0x217A, 22580 },
- { 0x217B, 22584 },
- { 0x02DC, 22588 },
- { 0x6E69, 22590 },
- { 0x6E66, 22593 },
- { 0x6E5F, 22596 },
- { 0x220A, 22599 },
- { 0x22F7, 22602 },
- { 0x22F4, 22607 },
- { 0x6E6A, 22618 },
- { 0x6E68, 22621 },
- { 0x6E61, 22624 },
- { 0x220D, 22626 },
- { 0x22FE, 22630 },
- { 0x22FC, 22634 },
- { 0x6E56, 22644 },
- { 0x6E60, 22647 },
- { 0x6E64, 22649 },
- { 0x6E54, 22652 },
- { 0x6E6B, 22654 },
- { 0x6E57, 22657 },
- { 0x6E51, 22660 },
- { 0x6E65, 22663 },
- { 0x6E63, 22666 },
- { 0x2A33, 22668 },
- { 0x2323, 22670 },
- { 0x2117, 22671 },
- { 0x2198, 22674 },
- { 0x21F2, 22677 },
- { 0x2929, 22682 },
- { 0x2925, 22689 },
- { 0x292D, 22694 },
- { 0x2B0A, 22701 },
- { 0x2B02, 22705 },
- { 0x21D8, 22709 },
- { 0x2199, 22713 },
- { 0x292A, 22716 },
- { 0x2926, 22723 },
- { 0x2B0B, 22728 },
- { 0x2B03, 22732 },
- { 0x21D9, 22736 },
- { 0x0020, 22740 },
- { 0x27A7, 22741 },
- { 0x269A, 22745 },
- { 0x2695, 22748 },
- { 0x2053, 22751 },
- { 0x0BF8, 22753 },
- { 0x0BD7, 22757 },
- { 0x0BD0, 22761 },
- { 0x0BF3, 22763 },
- { 0x0BCD, 22766 },
- { 0x0B83, 22769 },
- { 0x0B82, 22772 },
- { 0x0BF5, 22775 },
- { 0x0BF6, 22778 },
- { 0x0BE7, 22781 },
- { 0x0BEC, 22784 },
- { 0x0BE8, 22787 },
- { 0x0BEB, 22790 },
- { 0x0BEA, 22793 },
- { 0x0BEF, 22796 },
- { 0x0BE6, 22799 },
- { 0x0BEE, 22802 },
- { 0x0BED, 22805 },
- { 0x0BE9, 22808 },
- { 0x0BF4, 22811 },
- { 0x0BF9, 22814 },
- { 0x0BC6, 22817 },
- { 0x0BBF, 22821 },
- { 0x0BCA, 22825 },
- { 0x0BC1, 22829 },
- { 0x0BBE, 22833 },
- { 0x0BC8, 22837 },
- { 0x0BCC, 22841 },
- { 0x0BC7, 22845 },
- { 0x0BC0, 22849 },
- { 0x0BCB, 22853 },
- { 0x0BC2, 22857 },
- { 0x0BF7, 22861 },
- { 0x0B85, 22864 },
- { 0x0B8E, 22867 },
- { 0x0B87, 22870 },
- { 0x0B92, 22873 },
- { 0x0B89, 22876 },
- { 0x0B86, 22879 },
- { 0x0B90, 22882 },
- { 0x0B94, 22885 },
- { 0x0B9A, 22888 },
- { 0x0B8F, 22891 },
- { 0x0BB9, 22894 },
- { 0x0B88, 22897 },
- { 0x0B9C, 22900 },
- { 0x0B95, 22903 },
- { 0x0BB2, 22906 },
- { 0x0BAE, 22909 },
- { 0x0BA8, 22912 },
- { 0x0B93, 22915 },
- { 0x0BAA, 22918 },
- { 0x0BB0, 22921 },
- { 0x0BB8, 22924 },
- { 0x0BA4, 22927 },
- { 0x0B8A, 22930 },
- { 0x0BB5, 22933 },
- { 0x0BAF, 22936 },
- { 0x0BB3, 22939 },
- { 0x0B99, 22942 },
- { 0x0BA3, 22945 },
- { 0x0B9E, 22948 },
- { 0x0BB1, 22951 },
- { 0x0BB6, 22954 },
- { 0x0BB7, 22957 },
- { 0x0B9F, 22960 },
- { 0x0BB4, 22963 },
- { 0x0BA9, 22966 },
- { 0x0BF1, 22969 },
- { 0x0BF2, 22973 },
- { 0x0BF0, 22977 },
- { 0x0BFA, 22980 },
- { 0x2204, 22983 },
- { 0x2203, 22987 },
- { 0x2056, 22989 },
- { 0x2B31, 22992 },
- { 0x21F6, 22995 },
- { 0x2A76, 22998 },
- { 0x27C0, 23002 },
- { 0x2745, 23005 },
- { 0x007E, 23008 },
- { 0x2E1E, 23009 },
- { 0x2E1F, 23013 },
- { 0x2E1B, 23017 },
- { 0x223C, 23021 },
- { 0x2A6A, 23023 },
- { 0x2A6B, 23028 },
- { 0x2B49, 23033 },
- { 0x2972, 23038 },
- { 0x29D4, 23043 },
- { 0x29D5, 23048 },
- { 0x2330, 23053 },
- { 0x2122, 23055 },
- { 0x222A, 23058 },
- { 0x2A41, 23059 },
- { 0x2A45, 23063 },
- { 0x2A42, 23067 },
- { 0x2A48, 23070 },
- { 0x2A46, 23075 },
- { 0x2A4A, 23078 },
- { 0x2594, 23084 },
- { 0x2580, 23088 },
- { 0x25E0, 23091 },
- { 0x25DA, 23094 },
- { 0x23B0, 23099 },
- { 0x27D4, 23107 },
- { 0x25DC, 23112 },
- { 0x25F8, 23117 },
- { 0x2701, 23120 },
- { 0x23B1, 23123 },
- { 0x2710, 23131 },
- { 0x25DD, 23134 },
- { 0x2752, 23139 },
- { 0x25F9, 23144 },
- { 0x2750, 23147 },
- { 0x26B6, 23152 },
- { 0x264D, 23153 },
- { 0x231A, 23154 },
- { 0x2638, 23155 },
- { 0x261D, 23158 },
- { 0x2711, 23162 },
- { 0x263C, 23164 },
- { 0x2667, 23168 },
- { 0x261F, 23171 },
- { 0x2690, 23175 },
- { 0x2727, 23177 },
- { 0x261C, 23181 },
- { 0x2606, 23185 },
- { 0x2B1E, 23187 },
- { 0x2654, 23191 },
- { 0x2659, 23194 },
- { 0x2656, 23197 },
- { 0x2655, 23200 },
- { 0x2657, 23203 },
- { 0x2658, 23206 },
- { 0x2661, 23209 },
- { 0x2B1C, 23212 },
- { 0x261E, 23215 },
- { 0x2616, 23219 },
- { 0x2B52, 23222 },
- { 0x25AB, 23225 },
- { 0x2B2B, 23228 },
- { 0x2664, 23231 },
- { 0x25E6, 23234 },
- { 0x25CB, 23236 },
- { 0x2686, 23238 },
- { 0x2687, 23243 },
- { 0x29EC, 23248 },
- { 0x25F5, 23253 },
- { 0x25F6, 23259 },
- { 0x25F4, 23265 },
- { 0x25F7, 23271 },
- { 0x2B50, 23277 },
- { 0x25FD, 23280 },
- { 0x25FB, 23284 },
- { 0x2B26, 23287 },
- { 0x2B28, 23290 },
- { 0x6E46, 23293 },
- { 0x25A1, 23296 },
- { 0x25F1, 23298 },
- { 0x25F2, 23304 },
- { 0x25F0, 23310 },
- { 0x25F3, 23316 },
- { 0x2385, 23322 },
- { 0x25A2, 23328 },
- { 0x25EB, 23333 },
- { 0x27E4, 23339 },
- { 0x27E5, 23344 },
- { 0x25A3, 23349 },
- { 0x25C7, 23355 },
- { 0x2662, 23357 },
- { 0x27D0, 23360 },
- { 0x25C8, 23365 },
- { 0x2B21, 23371 },
- { 0x263A, 23373 },
- { 0x26C0, 23376 },
- { 0x26C1, 23379 },
- { 0x2740, 23382 },
- { 0x2639, 23384 },
- { 0x2B20, 23387 },
- { 0x2704, 23389 },
- { 0x27C1, 23391 },
- { 0x2AFE, 23397 },
- { 0x2B2F, 23400 },
- { 0x25AF, 23403 },
- { 0x29D6, 23406 },
- { 0x25AD, 23408 },
- { 0x260F, 23410 },
- { 0x23E2, 23412 },
- { 0x2B2D, 23414 },
- { 0x25B5, 23417 },
- { 0x25B3, 23421 },
- { 0x25EC, 23424 },
- { 0x27E1, 23429 },
- { 0x27E2, 23432 },
- { 0x27E3, 23438 },
- { 0x25BF, 23444 },
- { 0x25BD, 23448 },
- { 0x25C3, 23451 },
- { 0x25C5, 23455 },
- { 0x25C1, 23458 },
- { 0x25B1, 23461 },
- { 0x25B9, 23463 },
- { 0x25BB, 23467 },
- { 0x2B54, 23470 },
- { 0x25B7, 23473 },
- { 0x713C, 23476 },
- { 0x7101, 23481 },
- { 0x7100, 23485 },
- { 0x7102, 23489 },
- { 0x713D, 23492 },
- { 0x7107, 23497 },
- { 0x7119, 23500 },
- { 0x7122, 23504 },
- { 0x710C, 23508 },
- { 0x711E, 23511 },
- { 0x7127, 23515 },
- { 0x7110, 23519 },
- { 0x712B, 23522 },
- { 0x7108, 23526 },
- { 0x711A, 23529 },
- { 0x7123, 23533 },
- { 0x710B, 23537 },
- { 0x711D, 23540 },
- { 0x7126, 23544 },
- { 0x710A, 23548 },
- { 0x711C, 23551 },
- { 0x7125, 23555 },
- { 0x710F, 23559 },
- { 0x7121, 23562 },
- { 0x712A, 23566 },
- { 0x710E, 23570 },
- { 0x7120, 23573 },
- { 0x7129, 23577 },
- { 0x7114, 23581 },
- { 0x712F, 23584 },
- { 0x7113, 23588 },
- { 0x712E, 23591 },
- { 0x710D, 23595 },
- { 0x711F, 23598 },
- { 0x7128, 23602 },
- { 0x7115, 23606 },
- { 0x7130, 23609 },
- { 0x7109, 23613 },
- { 0x711B, 23616 },
- { 0x7124, 23620 },
- { 0x7117, 23624 },
- { 0x7132, 23627 },
- { 0x7118, 23631 },
- { 0x7133, 23634 },
- { 0x7112, 23638 },
- { 0x712D, 23641 },
- { 0x7111, 23645 },
- { 0x712C, 23648 },
- { 0x7116, 23652 },
- { 0x7131, 23655 },
- { 0x7137, 23659 },
- { 0x7138, 23663 },
- { 0x713A, 23667 },
- { 0x713B, 23671 },
- { 0x7139, 23675 },
- { 0x713F, 23679 },
- { 0x713E, 23683 },
- { 0x224A, 23687 },
- { 0x2248, 23692 },
- { 0x2A6F, 23695 },
- { 0x2693, 23701 },
- { 0x06DD, 23702 },
- { 0x0608, 23706 },
- { 0x060D, 23708 },
- { 0x066D, 23711 },
- { 0x06D4, 23715 },
- { 0x0658, 23718 },
- { 0x0613, 23722 },
- { 0x060F, 23727 },
- { 0x0603, 23730 },
- { 0x0601, 23733 },
- { 0x0611, 23736 },
- { 0x06FD, 23740 },
- { 0x06FE, 23744 },
- { 0x0614, 23749 },
- { 0x0612, 23752 },
- { 0x0610, 23756 },
- { 0x6E73, 23761 },
- { 0x060C, 23764 },
- { 0x064F, 23766 },
- { 0x6E79, 23768 },
- { 0x6E78, 23772 },
- { 0x06EA, 23776 },
- { 0x06EB, 23781 },
- { 0x064E, 23786 },
- { 0x065E, 23788 },
- { 0x6E77, 23793 },
- { 0x6E76, 23797 },
- { 0x0654, 23801 },
- { 0x0655, 23804 },
- { 0x0650, 23807 },
- { 0x6E7B, 23809 },
- { 0x6E7A, 23813 },
- { 0x06E9, 23817 },
- { 0x06ED, 23821 },
- { 0x06E3, 23825 },
- { 0x06E5, 23829 },
- { 0x06E6, 23832 },
- { 0x06D9, 23835 },
- { 0x0615, 23840 },
- { 0x06E7, 23844 },
- { 0x06DA, 23848 },
- { 0x06D8, 23852 },
- { 0x06E2, 23858 },
- { 0x06E8, 23864 },
- { 0x06DC, 23868 },
- { 0x0617, 23872 },
- { 0x06E4, 23876 },
- { 0x06DB, 23880 },
- { 0x06E1, 23885 },
- { 0x06DF, 23892 },
- { 0x06E0, 23897 },
- { 0x06D7, 23903 },
- { 0x06D6, 23913 },
- { 0x0616, 23923 },
- { 0x0619, 23932 },
- { 0x0618, 23935 },
- { 0x061A, 23938 },
- { 0x06DE, 23941 },
- { 0x0652, 23947 },
- { 0x6E7F, 23949 },
- { 0x6E7E, 23953 },
- { 0x065C, 23957 },
- { 0x065A, 23962 },
- { 0x065B, 23968 },
- { 0x06D0, 23975 },
- { 0x6BE5, 23978 },
- { 0x6BE7, 23983 },
- { 0x6BE6, 23988 },
- { 0x6BE4, 23993 },
- { 0x06C7, 23998 },
- { 0x0677, 24001 },
- { 0x6BDD, 24007 },
- { 0x6BD8, 24015 },
- { 0x6BD7, 24020 },
- { 0x06D5, 24025 },
- { 0x06AD, 24028 },
- { 0x6BD4, 24031 },
- { 0x6BD6, 24036 },
- { 0x6BD5, 24041 },
- { 0x6BD3, 24046 },
- { 0x06C6, 24051 },
- { 0x6BDA, 24054 },
- { 0x6BD9, 24059 },
- { 0x06CB, 24064 },
- { 0x6BDF, 24067 },
- { 0x6BDE, 24072 },
- { 0x06C8, 24077 },
- { 0x6BDC, 24080 },
- { 0x6BDB, 24085 },
- { 0x0639, 24090 },
- { 0x075D, 24093 },
- { 0x075F, 24100 },
- { 0x06A0, 24108 },
- { 0x075E, 24115 },
- { 0x6ECA, 24124 },
- { 0x6ECC, 24129 },
- { 0x6ECB, 24134 },
- { 0x6EC9, 24139 },
- { 0x0628, 24144 },
- { 0x0751, 24147 },
- { 0x0754, 24157 },
- { 0x0756, 24167 },
- { 0x0752, 24173 },
- { 0x0753, 24182 },
- { 0x0750, 24195 },
- { 0x0755, 24203 },
- { 0x6E90, 24211 },
- { 0x6E92, 24216 },
- { 0x6E91, 24221 },
- { 0x6E8F, 24226 },
- { 0x0636, 24231 },
- { 0x06FB, 24234 },
- { 0x6EBE, 24240 },
- { 0x6EC0, 24245 },
- { 0x6EBF, 24250 },
- { 0x6EBD, 24255 },
- { 0x062F, 24260 },
- { 0x068A, 24263 },
- { 0x068B, 24269 },
- { 0x0759, 24278 },
- { 0x0690, 24289 },
- { 0x0689, 24296 },
- { 0x068F, 24301 },
- { 0x06EE, 24309 },
- { 0x075A, 24315 },
- { 0x6EAA, 24323 },
- { 0x6EA9, 24328 },
- { 0x068E, 24333 },
- { 0x6B87, 24336 },
- { 0x6B86, 24341 },
- { 0x0641, 24346 },
- { 0x06A3, 24349 },
- { 0x06A2, 24355 },
- { 0x0760, 24362 },
- { 0x06A5, 24369 },
- { 0x0761, 24376 },
- { 0x6ED2, 24385 },
- { 0x6ED4, 24390 },
- { 0x6ED3, 24395 },
- { 0x6ED1, 24400 },
- { 0x06AF, 24405 },
- { 0x06B2, 24408 },
- { 0x06B0, 24415 },
- { 0x06B4, 24420 },
- { 0x6B93, 24427 },
- { 0x6B95, 24432 },
- { 0x6B94, 24437 },
- { 0x6B92, 24442 },
- { 0x062D, 24447 },
- { 0x0757, 24450 },
- { 0x0682, 24457 },
- { 0x0681, 24465 },
- { 0x076F, 24471 },
- { 0x0772, 24482 },
- { 0x076E, 24491 },
- { 0x0685, 24500 },
- { 0x0758, 24507 },
- { 0x077C, 24516 },
- { 0x6EA2, 24525 },
- { 0x6EA4, 24530 },
- { 0x6EA3, 24535 },
- { 0x6EA1, 24540 },
- { 0x0647, 24545 },
- { 0x06C1, 24548 },
- { 0x06C2, 24552 },
- { 0x6BA7, 24559 },
- { 0x6BA9, 24565 },
- { 0x6BA8, 24571 },
- { 0x6BA6, 24577 },
- { 0x06C0, 24583 },
- { 0x6BA5, 24589 },
- { 0x6BA4, 24597 },
- { 0x06FF, 24605 },
- { 0x6EEA, 24611 },
- { 0x6EEC, 24616 },
- { 0x6EEB, 24621 },
- { 0x6EE9, 24626 },
- { 0x06BE, 24631 },
- { 0x6BAB, 24635 },
- { 0x6BAD, 24641 },
- { 0x6BAC, 24647 },
- { 0x6BAA, 24653 },
- { 0x0698, 24659 },
- { 0x6B8B, 24662 },
- { 0x6B8A, 24667 },
- { 0x0643, 24672 },
- { 0x06AC, 24675 },
- { 0x077F, 24681 },
- { 0x06AB, 24688 },
- { 0x06AE, 24693 },
- { 0x6EDA, 24700 },
- { 0x6EDC, 24705 },
- { 0x6EDB, 24710 },
- { 0x6ED9, 24715 },
- { 0x0644, 24720 },
- { 0x076A, 24723 },
- { 0x06B6, 24728 },
- { 0x06B5, 24734 },
- { 0x06B7, 24740 },
- { 0x06B8, 24747 },
- { 0x6EDE, 24754 },
- { 0x6EE0, 24759 },
- { 0x6EDF, 24764 },
- { 0x6EDD, 24769 },
- { 0x067E, 24774 },
- { 0x6B57, 24777 },
- { 0x6B59, 24782 },
- { 0x6B58, 24787 },
- { 0x6B56, 24792 },
- { 0x0642, 24797 },
- { 0x06A7, 24800 },
- { 0x06A8, 24806 },
- { 0x6ED6, 24813 },
- { 0x6ED8, 24818 },
- { 0x6ED7, 24823 },
- { 0x6ED5, 24828 },
- { 0x0631, 24833 },
- { 0x0694, 24836 },
- { 0x0696, 24842 },
- { 0x0697, 24851 },
- { 0x076B, 24858 },
- { 0x0699, 24866 },
- { 0x0693, 24873 },
- { 0x076C, 24878 },
- { 0x0692, 24884 },
- { 0x0695, 24890 },
- { 0x0771, 24897 },
- { 0x075B, 24908 },
- { 0x06EF, 24913 },
- { 0x6EAE, 24919 },
- { 0x6EAD, 24924 },
- { 0x0635, 24929 },
- { 0x069D, 24932 },
- { 0x069E, 24939 },
- { 0x6EBA, 24946 },
- { 0x6EBC, 24951 },
- { 0x6EBB, 24956 },
- { 0x6EB9, 24961 },
- { 0x0637, 24966 },
- { 0x069F, 24969 },
- { 0x6EC2, 24976 },
- { 0x6EC4, 24981 },
- { 0x6EC3, 24986 },
- { 0x6EC1, 24991 },
- { 0x062A, 24996 },
- { 0x067C, 24999 },
- { 0x067D, 25004 },
- { 0x6E96, 25012 },
- { 0x6E98, 25017 },
- { 0x6E97, 25022 },
- { 0x0629, 25027 },
- { 0x06C3, 25031 },
- { 0x6E94, 25036 },
- { 0x6E93, 25042 },
- { 0x6E95, 25048 },
- { 0x06A4, 25053 },
- { 0x6B6B, 25056 },
- { 0x6B6D, 25061 },
- { 0x6B6C, 25066 },
- { 0x6B6A, 25071 },
- { 0x0648, 25076 },
- { 0x06CF, 25079 },
- { 0x06CA, 25085 },
- { 0x06C4, 25092 },
- { 0x0624, 25097 },
- { 0x6E86, 25103 },
- { 0x6E85, 25111 },
- { 0x0778, 25119 },
- { 0x0779, 25128 },
- { 0x6EEE, 25137 },
- { 0x6EED, 25142 },
- { 0x064A, 25147 },
- { 0x06CD, 25150 },
- { 0x0626, 25155 },
- { 0x6E8A, 25161 },
- { 0x6E8C, 25169 },
- { 0x6E8B, 25177 },
- { 0x6E89, 25185 },
- { 0x06CE, 25193 },
- { 0x06D1, 25199 },
- { 0x6EF2, 25206 },
- { 0x06D2, 25211 },
- { 0x06D3, 25215 },
- { 0x6BB1, 25222 },
- { 0x6BB0, 25231 },
- { 0x077A, 25240 },
- { 0x077B, 25250 },
- { 0x6BAF, 25260 },
- { 0x6BAE, 25266 },
- { 0x6EF4, 25272 },
- { 0x6EF3, 25277 },
- { 0x6EF1, 25282 },
- { 0x0638, 25287 },
- { 0x6EC6, 25290 },
- { 0x6EC8, 25295 },
- { 0x6EC7, 25300 },
- { 0x6EC5, 25305 },
- { 0x0627, 25310 },
- { 0x0672, 25313 },
- { 0x0673, 25320 },
- { 0x0623, 25327 },
- { 0x6E84, 25333 },
- { 0x6E83, 25341 },
- { 0x0625, 25349 },
- { 0x6E88, 25355 },
- { 0x6E87, 25363 },
- { 0x0622, 25371 },
- { 0x6E82, 25377 },
- { 0x6E81, 25385 },
- { 0x0773, 25393 },
- { 0x0774, 25402 },
- { 0x6E8E, 25411 },
- { 0x0671, 25416 },
- { 0x6B51, 25420 },
- { 0x6B50, 25426 },
- { 0x0649, 25432 },
- { 0x6EF0, 25436 },
- { 0x6EEF, 25442 },
- { 0x6E8D, 25448 },
- { 0x067B, 25453 },
- { 0x6B53, 25456 },
- { 0x6B55, 25461 },
- { 0x6B54, 25466 },
- { 0x6B52, 25471 },
- { 0x0688, 25476 },
- { 0x6B89, 25479 },
- { 0x6B88, 25484 },
- { 0x0684, 25489 },
- { 0x6B73, 25492 },
- { 0x6B75, 25497 },
- { 0x6B74, 25502 },
- { 0x6B72, 25507 },
- { 0x06B3, 25512 },
- { 0x6B97, 25515 },
- { 0x6B99, 25520 },
- { 0x6B98, 25525 },
- { 0x6B96, 25530 },
- { 0x0674, 25535 },
- { 0x0676, 25539 },
- { 0x0678, 25544 },
- { 0x0675, 25549 },
- { 0x062C, 25554 },
- { 0x6E9E, 25557 },
- { 0x6EA0, 25562 },
- { 0x6E9F, 25567 },
- { 0x6E9D, 25572 },
- { 0x062E, 25577 },
- { 0x6EA6, 25580 },
- { 0x6EA8, 25585 },
- { 0x6EA7, 25590 },
- { 0x6EA5, 25595 },
- { 0x0645, 25600 },
- { 0x0765, 25603 },
- { 0x0766, 25609 },
- { 0x6EE2, 25615 },
- { 0x6EE4, 25620 },
- { 0x6EE3, 25625 },
- { 0x6EE1, 25630 },
- { 0x0646, 25635 },
- { 0x06B9, 25638 },
- { 0x0767, 25644 },
- { 0x06BC, 25651 },
- { 0x0769, 25656 },
- { 0x0768, 25662 },
- { 0x06BD, 25668 },
- { 0x6EE6, 25675 },
- { 0x06BA, 25680 },
- { 0x6B9F, 25684 },
- { 0x6B9E, 25690 },
- { 0x6EE8, 25696 },
- { 0x6EE7, 25701 },
- { 0x6EE5, 25706 },
- { 0x0683, 25711 },
- { 0x6B77, 25714 },
- { 0x6B79, 25719 },
- { 0x6B78, 25724 },
- { 0x6B76, 25729 },
- { 0x0691, 25734 },
- { 0x6B8D, 25737 },
- { 0x6B8C, 25742 },
- { 0x0633, 25747 },
- { 0x069A, 25750 },
- { 0x076D, 25759 },
- { 0x075C, 25767 },
- { 0x0770, 25774 },
- { 0x069B, 25785 },
- { 0x069C, 25792 },
- { 0x077D, 25803 },
- { 0x077E, 25812 },
- { 0x6EB2, 25818 },
- { 0x6EB4, 25823 },
- { 0x6EB3, 25828 },
- { 0x6EB1, 25833 },
- { 0x0630, 25838 },
- { 0x6EAC, 25841 },
- { 0x6EAB, 25846 },
- { 0x062B, 25851 },
- { 0x6E9A, 25854 },
- { 0x6E9C, 25859 },
- { 0x6E9B, 25864 },
- { 0x6E99, 25869 },
- { 0x0679, 25874 },
- { 0x6B67, 25877 },
- { 0x6B69, 25882 },
- { 0x6B68, 25887 },
- { 0x6B66, 25892 },
- { 0x0632, 25897 },
- { 0x6EB0, 25900 },
- { 0x6EAF, 25905 },
- { 0x0680, 25910 },
- { 0x6B5B, 25913 },
- { 0x6B5D, 25918 },
- { 0x6B5C, 25923 },
- { 0x6B5A, 25928 },
- { 0x068C, 25933 },
- { 0x6B85, 25936 },
- { 0x6B84, 25941 },
- { 0x06CC, 25946 },
- { 0x063E, 25950 },
- { 0x063F, 25958 },
- { 0x0775, 25966 },
- { 0x0777, 25976 },
- { 0x0776, 25986 },
- { 0x063D, 25996 },
- { 0x6BFD, 26003 },
- { 0x6BFF, 26009 },
- { 0x6BFE, 26015 },
- { 0x6BFC, 26021 },
- { 0x063A, 26027 },
- { 0x06FC, 26030 },
- { 0x6ECE, 26036 },
- { 0x6ED0, 26041 },
- { 0x6ECF, 26046 },
- { 0x6ECD, 26051 },
- { 0x0621, 26056 },
- { 0x6E80, 26059 },
- { 0x06A9, 26064 },
- { 0x0762, 26067 },
- { 0x063B, 26073 },
- { 0x0763, 26080 },
- { 0x063C, 26087 },
- { 0x0764, 26094 },
- { 0x6B8F, 26103 },
- { 0x6B91, 26108 },
- { 0x6B90, 26113 },
- { 0x6B8E, 26118 },
- { 0x06B1, 26123 },
- { 0x6B9B, 26126 },
- { 0x6B9D, 26131 },
- { 0x6B9C, 26136 },
- { 0x6B9A, 26141 },
- { 0x06A6, 26146 },
- { 0x6B6F, 26149 },
- { 0x6B71, 26154 },
- { 0x6B70, 26159 },
- { 0x6B6E, 26164 },
- { 0x06BB, 26169 },
- { 0x6BA1, 26172 },
- { 0x6BA3, 26177 },
- { 0x6BA2, 26182 },
- { 0x6BA0, 26187 },
- { 0x0634, 26192 },
- { 0x06FA, 26195 },
- { 0x6EB6, 26201 },
- { 0x6EB8, 26206 },
- { 0x6EB7, 26211 },
- { 0x6EB5, 26216 },
- { 0x06AA, 26221 },
- { 0x0686, 26225 },
- { 0x06BF, 26228 },
- { 0x6B7B, 26234 },
- { 0x6B7D, 26239 },
- { 0x6B7C, 26244 },
- { 0x6B7A, 26249 },
- { 0x067F, 26254 },
- { 0x6B63, 26257 },
- { 0x6B65, 26262 },
- { 0x6B64, 26267 },
- { 0x6B62, 26272 },
- { 0x068D, 26277 },
- { 0x6B83, 26280 },
- { 0x6B82, 26285 },
- { 0x067A, 26290 },
- { 0x6B5F, 26293 },
- { 0x6B61, 26298 },
- { 0x6B60, 26303 },
- { 0x6B5E, 26308 },
- { 0x6BE9, 26313 },
- { 0x6BE8, 26322 },
- { 0x066E, 26331 },
- { 0x06A1, 26335 },
- { 0x066F, 26339 },
- { 0x06C5, 26343 },
- { 0x6BE1, 26347 },
- { 0x6BE0, 26353 },
- { 0x06C9, 26359 },
- { 0x6BE3, 26363 },
- { 0x6BE2, 26369 },
- { 0x0687, 26375 },
- { 0x6B7F, 26378 },
- { 0x6B81, 26383 },
- { 0x6B80, 26388 },
- { 0x6B7E, 26393 },
- { 0x0670, 26398 },
- { 0x0653, 26402 },
- { 0x0600, 26405 },
- { 0x060E, 26408 },
- { 0x0651, 26412 },
- { 0x6E7D, 26414 },
- { 0x6E7C, 26418 },
- { 0x061E, 26422 },
- { 0x066B, 26427 },
- { 0x066A, 26430 },
- { 0x06EC, 26433 },
- { 0x0640, 26440 },
- { 0x6E71, 26442 },
- { 0x064C, 26447 },
- { 0x6E72, 26449 },
- { 0x064B, 26453 },
- { 0x6E70, 26455 },
- { 0x0602, 26459 },
- { 0x0657, 26462 },
- { 0x064D, 26465 },
- { 0x6E74, 26467 },
- { 0x6D14, 26471 },
- { 0x6CF8, 26478 },
- { 0x6D13, 26485 },
- { 0x6CF7, 26493 },
- { 0x6D75, 26501 },
- { 0x6DC4, 26510 },
- { 0x6CBA, 26519 },
- { 0x6C29, 26526 },
- { 0x6DB6, 26533 },
- { 0x6D78, 26542 },
- { 0x6D76, 26552 },
- { 0x6D77, 26561 },
- { 0x6CBB, 26570 },
- { 0x6C2A, 26577 },
- { 0x6DC2, 26584 },
- { 0x6C9D, 26593 },
- { 0x6C06, 26600 },
- { 0x6CE2, 26607 },
- { 0x6CA0, 26614 },
- { 0x6C6A, 26621 },
- { 0x6C6F, 26628 },
- { 0x6C0A, 26635 },
- { 0x6C6E, 26642 },
- { 0x6C09, 26650 },
- { 0x6C9C, 26658 },
- { 0x6C05, 26665 },
- { 0x6D9E, 26672 },
- { 0x6C9E, 26681 },
- { 0x6C07, 26688 },
- { 0x6C6C, 26695 },
- { 0x6CE1, 26702 },
- { 0x6C9F, 26709 },
- { 0x6C08, 26716 },
- { 0x6C6D, 26723 },
- { 0x6C6B, 26730 },
- { 0x6DAB, 26737 },
- { 0x6D6E, 26746 },
- { 0x6CB5, 26756 },
- { 0x6C23, 26763 },
- { 0x6D2C, 26770 },
- { 0x6D10, 26777 },
- { 0x6D24, 26784 },
- { 0x6D08, 26791 },
- { 0x6D23, 26798 },
- { 0x6D07, 26806 },
- { 0x6CB4, 26814 },
- { 0x6C22, 26821 },
- { 0x6D6F, 26828 },
- { 0x6D70, 26837 },
- { 0x6CB6, 26846 },
- { 0x6C24, 26853 },
- { 0x6CB7, 26860 },
- { 0x6C25, 26867 },
- { 0x6CBF, 26874 },
- { 0x6C2E, 26881 },
- { 0x6C7D, 26888 },
- { 0x6C32, 26895 },
- { 0x6C7C, 26902 },
- { 0x6C31, 26910 },
- { 0x6CBE, 26918 },
- { 0x6C2D, 26925 },
- { 0x6D7C, 26932 },
- { 0x6D7D, 26941 },
- { 0x6CC0, 26950 },
- { 0x6C2F, 26957 },
- { 0x6DC1, 26964 },
- { 0x6CC1, 26973 },
- { 0x6C30, 26980 },
- { 0x6D1C, 26987 },
- { 0x6D00, 26994 },
- { 0x6D1B, 27001 },
- { 0x6CFF, 27009 },
- { 0x6DBF, 27017 },
- { 0x6CA9, 27026 },
- { 0x6C17, 27033 },
- { 0x6D5A, 27040 },
- { 0x6D5B, 27049 },
- { 0x6CAA, 27059 },
- { 0x6C18, 27066 },
- { 0x6C54, 27073 },
- { 0x6C53, 27080 },
- { 0x6CD7, 27088 },
- { 0x6C51, 27095 },
- { 0x6D93, 27102 },
- { 0x6D94, 27111 },
- { 0x6CD8, 27120 },
- { 0x6C52, 27127 },
- { 0x6CD9, 27134 },
- { 0x6CC5, 27142 },
- { 0x6C39, 27149 },
- { 0x6C81, 27156 },
- { 0x6CEB, 27163 },
- { 0x6CC7, 27170 },
- { 0x6C3B, 27177 },
- { 0x6C84, 27184 },
- { 0x6C3E, 27191 },
- { 0x6C80, 27198 },
- { 0x6C83, 27205 },
- { 0x6C3D, 27213 },
- { 0x6C37, 27221 },
- { 0x6CC4, 27228 },
- { 0x6C38, 27235 },
- { 0x6CC6, 27242 },
- { 0x6C3A, 27249 },
- { 0x6DB7, 27256 },
- { 0x6DBB, 27265 },
- { 0x6DC3, 27274 },
- { 0x6C82, 27283 },
- { 0x6CEC, 27290 },
- { 0x6CC8, 27297 },
- { 0x6C3C, 27304 },
- { 0x6D81, 27311 },
- { 0x6D82, 27320 },
- { 0x6D80, 27330 },
- { 0x6DB5, 27339 },
- { 0x6CCA, 27348 },
- { 0x6C40, 27355 },
- { 0x6CCD, 27362 },
- { 0x6C87, 27369 },
- { 0x6C44, 27376 },
- { 0x6EF8, 27383 },
- { 0x6EF7, 27393 },
- { 0x6EFA, 27403 },
- { 0x6EF9, 27413 },
- { 0x6EF6, 27423 },
- { 0x6EF5, 27433 },
- { 0x6EFC, 27443 },
- { 0x6C86, 27450 },
- { 0x6C43, 27458 },
- { 0x6EFB, 27466 },
- { 0x6DAC, 27473 },
- { 0x6D84, 27482 },
- { 0x6D83, 27491 },
- { 0x6DBC, 27500 },
- { 0x6DBA, 27509 },
- { 0x6CC9, 27518 },
- { 0x6C3F, 27525 },
- { 0x6D85, 27532 },
- { 0x6D86, 27541 },
- { 0x6CCB, 27550 },
- { 0x6C41, 27557 },
- { 0x6D87, 27564 },
- { 0x6D88, 27573 },
- { 0x6DAD, 27582 },
- { 0x6C85, 27591 },
- { 0x6CED, 27598 },
- { 0x6CCC, 27605 },
- { 0x6C42, 27612 },
- { 0x6CC2, 27619 },
- { 0x6C33, 27626 },
- { 0x6C7F, 27633 },
- { 0x6C36, 27640 },
- { 0x6C7E, 27647 },
- { 0x6C35, 27655 },
- { 0x6D7E, 27663 },
- { 0x6DB4, 27672 },
- { 0x6DB2, 27681 },
- { 0x6D7F, 27690 },
- { 0x6CC3, 27699 },
- { 0x6C34, 27706 },
- { 0x6C5C, 27713 },
- { 0x6D64, 27721 },
- { 0x6D65, 27730 },
- { 0x6DA9, 27739 },
- { 0x6CB1, 27748 },
- { 0x6C20, 27755 },
- { 0x6D2B, 27762 },
- { 0x6D0F, 27769 },
- { 0x6D22, 27776 },
- { 0x6D06, 27783 },
- { 0x6D21, 27790 },
- { 0x6D05, 27798 },
- { 0x6CB2, 27806 },
- { 0x6D66, 27813 },
- { 0x6DC5, 27822 },
- { 0x6CB3, 27831 },
- { 0x6C21, 27838 },
- { 0x6CB8, 27845 },
- { 0x6C26, 27852 },
- { 0x6D12, 27859 },
- { 0x6CF6, 27866 },
- { 0x6D11, 27873 },
- { 0x6CF5, 27881 },
- { 0x6D71, 27889 },
- { 0x6D72, 27898 },
- { 0x6D74, 27907 },
- { 0x6D73, 27916 },
- { 0x6D3A, 27925 },
- { 0x6D33, 27932 },
- { 0x6C27, 27939 },
- { 0x6D51, 27946 },
- { 0x6D52, 27955 },
- { 0x6D53, 27964 },
- { 0x6CA2, 27973 },
- { 0x6C0C, 27980 },
- { 0x6CE4, 27987 },
- { 0x6CA5, 27994 },
- { 0x6C70, 28001 },
- { 0x6C75, 28008 },
- { 0x6C10, 28015 },
- { 0x6C74, 28022 },
- { 0x6C0F, 28030 },
- { 0x6D9F, 28038 },
- { 0x6DA0, 28047 },
- { 0x6D50, 28057 },
- { 0x6CA1, 28066 },
- { 0x6C0B, 28073 },
- { 0x6DA1, 28080 },
- { 0x6DA2, 28089 },
- { 0x6D54, 28099 },
- { 0x6CA3, 28108 },
- { 0x6C0D, 28115 },
- { 0x6D56, 28122 },
- { 0x6DA3, 28131 },
- { 0x6DA4, 28140 },
- { 0x6D55, 28150 },
- { 0x6D57, 28159 },
- { 0x6C72, 28168 },
- { 0x6CE3, 28175 },
- { 0x6CA4, 28182 },
- { 0x6C0E, 28189 },
- { 0x6C73, 28196 },
- { 0x6C71, 28203 },
- { 0x6DAE, 28210 },
- { 0x6CDB, 28219 },
- { 0x6C56, 28226 },
- { 0x6CF1, 28233 },
- { 0x6CDE, 28240 },
- { 0x6C91, 28247 },
- { 0x6C96, 28254 },
- { 0x6C5A, 28261 },
- { 0x6C95, 28268 },
- { 0x6C59, 28276 },
- { 0x6DAF, 28284 },
- { 0x6CDA, 28293 },
- { 0x6C55, 28300 },
- { 0x6CDC, 28307 },
- { 0x6C57, 28314 },
- { 0x6DB0, 28321 },
- { 0x6D9C, 28330 },
- { 0x6D9D, 28339 },
- { 0x6C93, 28348 },
- { 0x6CF0, 28355 },
- { 0x6CDD, 28362 },
- { 0x6C58, 28369 },
- { 0x6C94, 28376 },
- { 0x6C92, 28383 },
- { 0x6BF7, 28390 },
- { 0x6BF8, 28400 },
- { 0x6BF6, 28410 },
- { 0x6BF1, 28420 },
- { 0x6BF0, 28430 },
- { 0x6BED, 28440 },
- { 0x6BEC, 28450 },
- { 0x6BF3, 28460 },
- { 0x6BF2, 28470 },
- { 0x6BF5, 28480 },
- { 0x6BF4, 28490 },
- { 0x6C98, 28500 },
- { 0x6C01, 28510 },
- { 0x6CE0, 28520 },
- { 0x6C9B, 28530 },
- { 0x6C64, 28540 },
- { 0x6BEF, 28550 },
- { 0x6BEE, 28560 },
- { 0x6C69, 28570 },
- { 0x6C04, 28580 },
- { 0x6BEB, 28590 },
- { 0x6C68, 28600 },
- { 0x6C03, 28611 },
- { 0x6BEA, 28622 },
- { 0x6C97, 28632 },
- { 0x6C00, 28642 },
- { 0x6C99, 28652 },
- { 0x6C66, 28662 },
- { 0x6CDF, 28672 },
- { 0x6C9A, 28682 },
- { 0x6C02, 28692 },
- { 0x6C67, 28702 },
- { 0x6C65, 28712 },
- { 0x6D3B, 28722 },
- { 0x6CB9, 28729 },
- { 0x6C28, 28736 },
- { 0x6D3C, 28743 },
- { 0x6D3D, 28750 },
- { 0x6C90, 28757 },
- { 0x6C5D, 28766 },
- { 0x6DBE, 28775 },
- { 0x6DA6, 28784 },
- { 0x6CA7, 28794 },
- { 0x6C15, 28801 },
- { 0x6D1E, 28808 },
- { 0x6D02, 28815 },
- { 0x6D1D, 28822 },
- { 0x6D01, 28830 },
- { 0x6D58, 28838 },
- { 0x6D59, 28847 },
- { 0x6DA5, 28856 },
- { 0x6DA7, 28865 },
- { 0x6CA8, 28875 },
- { 0x6C16, 28882 },
- { 0x6C1A, 28889 },
- { 0x6D20, 28896 },
- { 0x6D04, 28903 },
- { 0x6D1F, 28910 },
- { 0x6D03, 28918 },
- { 0x6CAB, 28926 },
- { 0x6C19, 28933 },
- { 0x6CAC, 28940 },
- { 0x6C1B, 28947 },
- { 0x6D8B, 28954 },
- { 0x6D89, 28963 },
- { 0x6D8A, 28972 },
- { 0x6CCF, 28981 },
- { 0x6C46, 28988 },
- { 0x6C4A, 28995 },
- { 0x6C88, 29002 },
- { 0x6C49, 29009 },
- { 0x6D8C, 29017 },
- { 0x6DC0, 29026 },
- { 0x6D92, 29035 },
- { 0x6D8D, 29044 },
- { 0x6CCE, 29053 },
- { 0x6C45, 29060 },
- { 0x6DB9, 29067 },
- { 0x6D8E, 29076 },
- { 0x6D8F, 29085 },
- { 0x6CD0, 29094 },
- { 0x6C47, 29101 },
- { 0x6DB1, 29108 },
- { 0x6C89, 29117 },
- { 0x6CD1, 29124 },
- { 0x6C48, 29131 },
- { 0x6DB3, 29138 },
- { 0x6D96, 29147 },
- { 0x6D95, 29157 },
- { 0x6CD3, 29166 },
- { 0x6C4C, 29173 },
- { 0x6CEF, 29180 },
- { 0x6CD6, 29187 },
- { 0x6C8A, 29194 },
- { 0x6C8F, 29201 },
- { 0x6C50, 29208 },
- { 0x6C8E, 29215 },
- { 0x6C4F, 29223 },
- { 0x6DBD, 29231 },
- { 0x6DB8, 29240 },
- { 0x6DC7, 29249 },
- { 0x6D99, 29258 },
- { 0x6D97, 29268 },
- { 0x6D98, 29277 },
- { 0x6CD2, 29286 },
- { 0x6C4B, 29293 },
- { 0x6CD4, 29300 },
- { 0x6C4D, 29307 },
- { 0x6D9A, 29314 },
- { 0x6D9B, 29323 },
- { 0x6C8C, 29333 },
- { 0x6CEE, 29340 },
- { 0x6CD5, 29347 },
- { 0x6C4E, 29354 },
- { 0x6C8D, 29361 },
- { 0x6C8B, 29368 },
- { 0x6DF1, 29375 },
- { 0x6D5C, 29385 },
- { 0x6D35, 29394 },
- { 0x6CAE, 29401 },
- { 0x6C1D, 29408 },
- { 0x6CE8, 29415 },
- { 0x6D31, 29422 },
- { 0x6D2A, 29429 },
- { 0x6D0E, 29436 },
- { 0x6D18, 29443 },
- { 0x6CFC, 29450 },
- { 0x6D17, 29457 },
- { 0x6CFB, 29465 },
- { 0x6D5D, 29473 },
- { 0x6D5E, 29482 },
- { 0x6D34, 29492 },
- { 0x6CAD, 29499 },
- { 0x6C1C, 29506 },
- { 0x6DC6, 29513 },
- { 0x6DA8, 29522 },
- { 0x6D36, 29532 },
- { 0x6CAF, 29539 },
- { 0x6C1E, 29546 },
- { 0x6D5F, 29553 },
- { 0x6D60, 29562 },
- { 0x6D61, 29571 },
- { 0x6D62, 29580 },
- { 0x6D63, 29589 },
- { 0x6CE7, 29598 },
- { 0x6CB0, 29605 },
- { 0x6C1F, 29612 },
- { 0x6C5B, 29619 },
- { 0x6CE6, 29627 },
- { 0x6C76, 29634 },
- { 0x6C7B, 29641 },
- { 0x6C14, 29648 },
- { 0x6C7A, 29655 },
- { 0x6C13, 29663 },
- { 0x6C11, 29671 },
- { 0x6C78, 29678 },
- { 0x6CE5, 29685 },
- { 0x6CA6, 29692 },
- { 0x6C12, 29699 },
- { 0x6C79, 29706 },
- { 0x6C77, 29713 },
- { 0x6DF3, 29720 },
- { 0x6DF2, 29725 },
- { 0x6D16, 29730 },
- { 0x6CFA, 29737 },
- { 0x6D15, 29744 },
- { 0x6CF9, 29752 },
- { 0x6CBC, 29760 },
- { 0x6C2B, 29767 },
- { 0x6D7A, 29774 },
- { 0x6D7B, 29783 },
- { 0x6D79, 29793 },
- { 0x6CBD, 29802 },
- { 0x6C2C, 29809 },
- { 0x6DF5, 29816 },
- { 0x6DF0, 29821 },
- { 0x6DF9, 29831 },
- { 0x6DAA, 29836 },
- { 0x6D67, 29845 },
- { 0x6D68, 29854 },
- { 0x6D26, 29863 },
- { 0x6D38, 29870 },
- { 0x6D2E, 29877 },
- { 0x6D0A, 29884 },
- { 0x6CEA, 29891 },
- { 0x6D32, 29898 },
- { 0x6D29, 29905 },
- { 0x6D0D, 29912 },
- { 0x6D1A, 29919 },
- { 0x6CFE, 29926 },
- { 0x6D19, 29933 },
- { 0x6CFD, 29941 },
- { 0x6D69, 29949 },
- { 0x6D25, 29958 },
- { 0x6D37, 29965 },
- { 0x6D2D, 29972 },
- { 0x6D09, 29979 },
- { 0x6D27, 29986 },
- { 0x6D39, 29993 },
- { 0x6D2F, 30000 },
- { 0x6D0B, 30007 },
- { 0x6D6A, 30014 },
- { 0x6D6B, 30023 },
- { 0x6D6C, 30032 },
- { 0x6D6D, 30041 },
- { 0x6D28, 30050 },
- { 0x6CE9, 30057 },
- { 0x6D30, 30064 },
- { 0x6D0C, 30071 },
- { 0x6DF7, 30078 },
- { 0x6DF6, 30083 },
- { 0x6CF3, 30088 },
- { 0x6C61, 30095 },
- { 0x6CF2, 30102 },
- { 0x6C60, 30109 },
- { 0x6CF4, 30116 },
- { 0x6C62, 30123 },
- { 0x6C5E, 30130 },
- { 0x6C5F, 30137 },
- { 0x6C63, 30144 },
- { 0x6BFA, 30152 },
- { 0x6BFB, 30165 },
- { 0x6BF9, 30178 },
- { 0x6DF4, 30191 },
- { 0x6DF8, 30196 },
- { 0x6DFD, 30201 },
- { 0x6DFA, 30206 },
- { 0x6DFB, 30211 },
- { 0x061F, 30214 },
- { 0x065D, 30217 },
- { 0x0659, 30220 },
- { 0x061B, 30222 },
- { 0x0656, 30224 },
- { 0x066C, 30227 },
- { 0x2717, 30230 },
- { 0x2610, 30232 },
- { 0x2612, 30234 },
- { 0x2611, 30238 },
- { 0x266B, 30242 },
- { 0x266C, 30245 },
- { 0x293B, 30248 },
- { 0x2321, 30252 },
- { 0x230D, 30255 },
- { 0x2E24, 30258 },
- { 0x231E, 30262 },
- { 0x23DF, 30265 },
- { 0x230C, 30268 },
- { 0x2E25, 30271 },
- { 0x231F, 30275 },
- { 0x23B5, 30278 },
- { 0x23B6, 30281 },
- { 0x23E1, 30288 },
- { 0x23DD, 30292 },
- { 0x22C8, 30294 },
- { 0x29D1, 30295 },
- { 0x29D2, 30300 },
- { 0x00A6, 30305 },
- { 0x238B, 30307 },
- { 0x2022, 30312 },
- { 0x2219, 30313 },
- { 0xC07F, 30315 },
- { 0x264B, 30317 },
- { 0x72A0, 30318 },
- { 0x72A9, 30321 },
- { 0x72A2, 30324 },
- { 0x72BA, 30327 },
- { 0x72C0, 30330 },
- { 0x72B9, 30333 },
- { 0x72BC, 30336 },
- { 0x72A3, 30339 },
- { 0x72AA, 30342 },
- { 0x72B5, 30345 },
- { 0x72AB, 30348 },
- { 0x72B7, 30351 },
- { 0x72A8, 30354 },
- { 0x72A5, 30357 },
- { 0x72B0, 30360 },
- { 0x72AD, 30363 },
- { 0x72B2, 30366 },
- { 0x72B4, 30369 },
- { 0x72A7, 30372 },
- { 0x72AC, 30375 },
- { 0x72CF, 30378 },
- { 0x72C1, 30381 },
- { 0x72C5, 30384 },
- { 0x72BD, 30387 },
- { 0x72A6, 30390 },
- { 0x72CA, 30393 },
- { 0x72BE, 30396 },
- { 0x72C4, 30399 },
- { 0x72B3, 30402 },
- { 0x72A1, 30405 },
- { 0x72C9, 30408 },
- { 0x72AE, 30411 },
- { 0x72B8, 30414 },
- { 0x72C2, 30417 },
- { 0x72C7, 30420 },
- { 0x72BF, 30423 },
- { 0x72CE, 30426 },
- { 0x72CB, 30429 },
- { 0x72CC, 30432 },
- { 0x72CD, 30435 },
- { 0x72AF, 30438 },
- { 0x72C3, 30441 },
- { 0x72B6, 30444 },
- { 0x72A4, 30447 },
- { 0x72B1, 30450 },
- { 0x72C6, 30453 },
- { 0x72C8, 30456 },
- { 0x72D0, 30459 },
- { 0x72BB, 30462 },
- { 0x2104, 30465 },
- { 0x26B7, 30468 },
- { 0x25D5, 30469 },
- { 0x29C3, 30477 },
- { 0x25D0, 30485 },
- { 0x25D2, 30490 },
- { 0x25D1, 30495 },
- { 0x29C2, 30500 },
- { 0x25D3, 30507 },
- { 0x25D4, 30512 },
- { 0x25CD, 30518 },
- { 0x29B5, 30522 },
- { 0x29BB, 30526 },
- { 0x29BA, 30530 },
- { 0x2A4C, 30542 },
- { 0x2A50, 30546 },
- { 0x2ACF, 30553 },
- { 0x2AD1, 30555 },
- { 0x2AD0, 30560 },
- { 0x2AD2, 30562 },
- { 0x2A4D, 30567 },
- { 0x26B0, 30571 },
- { 0x2CF9, 30572 },
- { 0x2CFC, 30577 },
- { 0x2CFA, 30582 },
- { 0x2CFB, 30588 },
- { 0x2CFE, 30594 },
- { 0x2C9F, 30597 },
- { 0x2CAB, 30601 },
- { 0x2C99, 30605 },
- { 0x2C9B, 30609 },
- { 0x2CA1, 30613 },
- { 0x2CA3, 30617 },
- { 0x2CA9, 30621 },
- { 0x03EF, 30625 },
- { 0x2C89, 30629 },
- { 0x03E5, 30633 },
- { 0x2CAD, 30637 },
- { 0x2C9D, 30641 },
- { 0x2CCF, 30645 },
- { 0x2CB5, 30651 },
- { 0x2CD9, 30657 },
- { 0x2CC7, 30663 },
- { 0x2CD5, 30669 },
- { 0x2CD3, 30675 },
- { 0x2CBF, 30681 },
- { 0x2CCD, 30687 },
- { 0x2CC5, 30693 },
- { 0x2CDB, 30699 },
- { 0x2CD7, 30705 },
- { 0x2CDF, 30711 },
- { 0x2CE1, 30717 },
- { 0x2CE3, 30723 },
- { 0x2CDD, 30729 },
- { 0x2CB1, 30735 },
- { 0x2CAF, 30739 },
- { 0x2C8B, 30743 },
- { 0x2CA7, 30747 },
- { 0x2C81, 30751 },
- { 0x2C8F, 30755 },
- { 0x03E9, 30759 },
- { 0x2C95, 30763 },
- { 0x03E7, 30767 },
- { 0x03E3, 30771 },
- { 0x2CA5, 30775 },
- { 0x2C83, 30779 },
- { 0x2C8D, 30783 },
- { 0x2C87, 30787 },
- { 0x2C85, 30791 },
- { 0x2C93, 30795 },
- { 0x2C97, 30799 },
- { 0x2CC1, 30803 },
- { 0x03ED, 30807 },
- { 0x03EB, 30811 },
- { 0x2C91, 30815 },
- { 0x2CC3, 30819 },
- { 0x2CC9, 30824 },
- { 0x2CD1, 30829 },
- { 0x2CBB, 30834 },
- { 0x2CB3, 30839 },
- { 0x2CCB, 30844 },
- { 0x2CB9, 30849 },
- { 0x2CBD, 30854 },
- { 0x2CB7, 30859 },
- { 0x2CE5, 30864 },
- { 0x2CE6, 30868 },
- { 0x2CE4, 30872 },
- { 0x2CE9, 30875 },
- { 0x2CE8, 30879 },
- { 0x2CEA, 30883 },
- { 0x2CE7, 30887 },
- { 0x2C9E, 30890 },
- { 0x2CAA, 30894 },
- { 0x2C98, 30898 },
- { 0x2C9A, 30902 },
- { 0x2CA0, 30906 },
- { 0x2CA2, 30910 },
- { 0x2CA8, 30914 },
- { 0x03EE, 30918 },
- { 0x2C88, 30922 },
- { 0x03E4, 30926 },
- { 0x2CAC, 30930 },
- { 0x2C9C, 30934 },
- { 0x2CCE, 30938 },
- { 0x2CB4, 30944 },
- { 0x2CD8, 30950 },
- { 0x2CC6, 30956 },
- { 0x2CD4, 30962 },
- { 0x2CD2, 30968 },
- { 0x2CBE, 30974 },
- { 0x2CCC, 30980 },
- { 0x2CC4, 30986 },
- { 0x2CDA, 30992 },
- { 0x2CD6, 30998 },
- { 0x2CDE, 31004 },
- { 0x2CE0, 31010 },
- { 0x2CE2, 31016 },
- { 0x2CDC, 31022 },
- { 0x2CB0, 31028 },
- { 0x2CAE, 31032 },
- { 0x2C8A, 31036 },
- { 0x2CA6, 31040 },
- { 0x2C80, 31044 },
- { 0x2C8E, 31048 },
- { 0x03E8, 31052 },
- { 0x2C94, 31056 },
- { 0x03E6, 31060 },
- { 0x03E2, 31064 },
- { 0x2CA4, 31068 },
- { 0x2C82, 31072 },
- { 0x2C8C, 31076 },
- { 0x2C86, 31080 },
- { 0x2C84, 31084 },
- { 0x2C92, 31088 },
- { 0x2C96, 31092 },
- { 0x2CC0, 31096 },
- { 0x03EC, 31100 },
- { 0x03EA, 31104 },
- { 0x2C90, 31108 },
- { 0x2CC2, 31112 },
- { 0x2CC8, 31117 },
- { 0x2CD0, 31122 },
- { 0x2CBA, 31127 },
- { 0x2CB2, 31132 },
- { 0x2CCA, 31137 },
- { 0x2CB8, 31142 },
- { 0x2CBC, 31147 },
- { 0x2CB6, 31152 },
- { 0x2CFD, 31157 },
- { 0x2CFF, 31161 },
- { 0x2761, 31164 },
- { 0x2020, 31169 },
- { 0x6E4D, 31170 },
- { 0x6E49, 31173 },
- { 0x279F, 31175 },
- { 0x00B0, 31179 },
- { 0x2103, 31181 },
- { 0x2109, 31183 },
- { 0x9305, 31185 },
- { 0x9302, 31188 },
- { 0x268D, 31192 },
- { 0x268E, 31196 },
- { 0x9304, 31200 },
- { 0x9303, 31204 },
- { 0x268F, 31208 },
- { 0x268C, 31212 },
- { 0x9301, 31216 },
- { 0x2393, 31220 },
- { 0x0024, 31225 },
- { 0xA062, 31227 },
- { 0xA030, 31231 },
- { 0xA063, 31235 },
- { 0xA064, 31238 },
- { 0xA065, 31241 },
- { 0xA066, 31244 },
- { 0xA067, 31247 },
- { 0xA068, 31250 },
- { 0xA069, 31253 },
- { 0xA06A, 31256 },
- { 0xA06B, 31259 },
- { 0xA06C, 31262 },
- { 0xA06D, 31265 },
- { 0xA06E, 31268 },
- { 0xA06F, 31271 },
- { 0xA070, 31274 },
- { 0xA071, 31277 },
- { 0xA072, 31280 },
- { 0xA073, 31283 },
- { 0xA074, 31286 },
- { 0xA075, 31289 },
- { 0xA076, 31292 },
- { 0xA077, 31295 },
- { 0xA078, 31298 },
- { 0xA079, 31301 },
- { 0xA07A, 31304 },
- { 0xA07B, 31307 },
- { 0xA07C, 31310 },
- { 0xA07D, 31313 },
- { 0xA07E, 31316 },
- { 0xA07F, 31319 },
- { 0xA080, 31322 },
- { 0xA081, 31325 },
- { 0xA082, 31328 },
- { 0xA083, 31331 },
- { 0xA084, 31334 },
- { 0xA085, 31337 },
- { 0xA086, 31340 },
- { 0xA087, 31343 },
- { 0xA088, 31346 },
- { 0xA089, 31349 },
- { 0xA08A, 31352 },
- { 0xA08B, 31355 },
- { 0xA08C, 31358 },
- { 0xA08D, 31361 },
- { 0xA08E, 31364 },
- { 0xA08F, 31367 },
- { 0xA090, 31370 },
- { 0xA091, 31373 },
- { 0xA092, 31376 },
- { 0xA093, 31379 },
- { 0xA031, 31382 },
- { 0xA032, 31385 },
- { 0xA033, 31388 },
- { 0xA034, 31391 },
- { 0xA035, 31394 },
- { 0xA036, 31397 },
- { 0xA037, 31400 },
- { 0xA038, 31403 },
- { 0xA039, 31406 },
- { 0xA03A, 31409 },
- { 0xA03B, 31412 },
- { 0xA03C, 31415 },
- { 0xA03D, 31418 },
- { 0xA03E, 31421 },
- { 0xA03F, 31424 },
- { 0xA040, 31427 },
- { 0xA041, 31430 },
- { 0xA042, 31433 },
- { 0xA043, 31436 },
- { 0xA044, 31439 },
- { 0xA045, 31442 },
- { 0xA046, 31445 },
- { 0xA047, 31448 },
- { 0xA048, 31451 },
- { 0xA049, 31454 },
- { 0xA04A, 31457 },
- { 0xA04B, 31460 },
- { 0xA04C, 31463 },
- { 0xA04D, 31466 },
- { 0xA04E, 31469 },
- { 0xA04F, 31472 },
- { 0xA050, 31475 },
- { 0xA051, 31478 },
- { 0xA052, 31481 },
- { 0xA053, 31484 },
- { 0xA054, 31487 },
- { 0xA055, 31490 },
- { 0xA056, 31493 },
- { 0xA057, 31496 },
- { 0xA058, 31499 },
- { 0xA059, 31502 },
- { 0xA05A, 31505 },
- { 0xA05B, 31508 },
- { 0xA05C, 31511 },
- { 0xA05D, 31514 },
- { 0xA05E, 31517 },
- { 0xA05F, 31520 },
- { 0xA060, 31523 },
- { 0xA061, 31526 },
- { 0x205C, 31529 },
- { 0x2999, 31531 },
- { 0x25CC, 31533 },
- { 0x2E13, 31535 },
- { 0x2B1A, 31537 },
- { 0x2E08, 31539 },
- { 0x2E16, 31542 },
- { 0x2AEB, 31545 },
- { 0x2017, 31548 },
- { 0x2AEA, 31551 },
- { 0x2995, 31554 },
- { 0x29FA, 31559 },
- { 0x6E4C, 31561 },
- { 0x02DD, 31564 },
- { 0x2A74, 31567 },
- { 0x201E, 31570 },
- { 0x2033, 31574 },
- { 0x301E, 31576 },
- { 0x2996, 31580 },
- { 0x22D3, 31585 },
- { 0x2021, 31587 },
- { 0x2AA1, 31589 },
- { 0x2AA3, 31592 },
- { 0x2AA2, 31597 },
- { 0x2A4F, 31600 },
- { 0x2A4E, 31603 },
- { 0x2AEC, 31606 },
- { 0x22D0, 31610 },
- { 0x24F5, 31612 },
- { 0x24FA, 31616 },
- { 0x24F6, 31620 },
- { 0x24F9, 31624 },
- { 0x24F8, 31628 },
- { 0x24FD, 31632 },
- { 0x24FC, 31636 },
- { 0x24FB, 31640 },
- { 0x24F7, 31644 },
- { 0x24FE, 31648 },
- { 0x2A54, 31652 },
- { 0x2A53, 31655 },
- { 0x2E17, 31658 },
- { 0x2AFD, 31661 },
- { 0x222C, 31664 },
- { 0x2ABB, 31666 },
- { 0x2047, 31668 },
- { 0x2ABC, 31671 },
- { 0x22D1, 31673 },
- { 0x2AE3, 31675 },
- { 0x2AE5, 31680 },
- { 0x22AB, 31686 },
- { 0x2016, 31692 },
- { 0x203C, 31695 },
- { 0x22D2, 31698 },
- { 0x201F, 31700 },
- { 0x266A, 31704 },
- { 0x003D, 31706 },
- { 0x29E3, 31708 },
- { 0x29E4, 31713 },
- { 0x2A66, 31721 },
- { 0x2A77, 31726 },
- { 0x2AAE, 31736 },
- { 0x2A71, 31741 },
- { 0x2A73, 31746 },
- { 0x2B40, 31751 },
- { 0x2971, 31756 },
- { 0x2A6E, 31761 },
- { 0x2255, 31764 },
- { 0x2239, 31766 },
- { 0x2640, 31767 },
- { 0x2012, 31769 },
- { 0x2007, 31771 },
- { 0x2A0D, 31773 },
- { 0x2766, 31776 },
- { 0x2698, 31778 },
- { 0x2055, 31779 },
- { 0x22A9, 31782 },
- { 0x2E10, 31783 },
- { 0x221C, 31785 },
- { 0x20A3, 31787 },
- { 0x264A, 31790 },
- { 0x20B0, 31791 },
- { 0x29E6, 31794 },
- { 0x7339, 31796 },
- { 0x733E, 31799 },
- { 0x7330, 31802 },
- { 0x7333, 31805 },
- { 0x7332, 31808 },
- { 0x7337, 31811 },
- { 0x7336, 31814 },
- { 0x734A, 31817 },
- { 0x733F, 31821 },
- { 0x7346, 31824 },
- { 0x7348, 31827 },
- { 0x7347, 31830 },
- { 0x733A, 31833 },
- { 0x733B, 31836 },
- { 0x733C, 31839 },
- { 0x7349, 31842 },
- { 0x7342, 31845 },
- { 0x7343, 31848 },
- { 0x7344, 31851 },
- { 0x7345, 31854 },
- { 0x7334, 31857 },
- { 0x733D, 31860 },
- { 0x7341, 31863 },
- { 0x7338, 31866 },
- { 0x7331, 31869 },
- { 0x7340, 31872 },
- { 0x7335, 31875 },
- { 0x2692, 31878 },
- { 0x262D, 31881 },
- { 0x302F, 31884 },
- { 0x3164, 31889 },
- { 0x314F, 31891 },
- { 0x3154, 31894 },
- { 0x3163, 31897 },
- { 0x3157, 31900 },
- { 0x315C, 31903 },
- { 0x3150, 31906 },
- { 0x3153, 31909 },
- { 0x3161, 31912 },
- { 0x315A, 31915 },
- { 0x3158, 31918 },
- { 0x315E, 31921 },
- { 0x315F, 31924 },
- { 0x3151, 31927 },
- { 0x3156, 31930 },
- { 0x3162, 31933 },
- { 0x315B, 31936 },
- { 0x3160, 31939 },
- { 0x3159, 31942 },
- { 0x315D, 31945 },
- { 0x3152, 31948 },
- { 0x3155, 31951 },
- { 0x3145, 31954 },
- { 0x3189, 31957 },
- { 0x318C, 31960 },
- { 0x318D, 31963 },
- { 0x3148, 31966 },
- { 0x314E, 31969 },
- { 0x3147, 31972 },
- { 0x3141, 31975 },
- { 0x3134, 31978 },
- { 0x3142, 31981 },
- { 0x3139, 31984 },
- { 0x3187, 31987 },
- { 0x318B, 31990 },
- { 0x318E, 31993 },
- { 0x3131, 31996 },
- { 0x3137, 31999 },
- { 0x3188, 32002 },
- { 0x318A, 32005 },
- { 0x314A, 32008 },
- { 0x314B, 32011 },
- { 0x317F, 32014 },
- { 0x314D, 32017 },
- { 0x314C, 32020 },
- { 0x3181, 32023 },
- { 0x3146, 32026 },
- { 0x316F, 32029 },
- { 0x3167, 32032 },
- { 0x3144, 32035 },
- { 0x313D, 32038 },
- { 0x317E, 32041 },
- { 0x317B, 32044 },
- { 0x317D, 32047 },
- { 0x3149, 32050 },
- { 0x3185, 32053 },
- { 0x3180, 32056 },
- { 0x3165, 32059 },
- { 0x3143, 32062 },
- { 0x3133, 32065 },
- { 0x316E, 32068 },
- { 0x3135, 32071 },
- { 0x3136, 32074 },
- { 0x3176, 32077 },
- { 0x3140, 32080 },
- { 0x313B, 32083 },
- { 0x313C, 32086 },
- { 0x317A, 32089 },
- { 0x317C, 32092 },
- { 0x3132, 32095 },
- { 0x3138, 32098 },
- { 0x3186, 32101 },
- { 0x3166, 32104 },
- { 0x3172, 32107 },
- { 0x3173, 32110 },
- { 0x313A, 32113 },
- { 0x316A, 32116 },
- { 0x3171, 32119 },
- { 0x3178, 32122 },
- { 0x3170, 32125 },
- { 0x3168, 32128 },
- { 0x3177, 32131 },
- { 0x316C, 32134 },
- { 0x313F, 32137 },
- { 0x313E, 32140 },
- { 0x3182, 32143 },
- { 0x3184, 32146 },
- { 0x316B, 32149 },
- { 0x3183, 32152 },
- { 0x3174, 32155 },
- { 0x3175, 32158 },
- { 0x3169, 32161 },
- { 0x316D, 32164 },
- { 0x3179, 32167 },
- { 0x302E, 32170 },
- { 0x1109, 32175 },
- { 0x110C, 32178 },
- { 0x1112, 32181 },
- { 0x110B, 32184 },
- { 0x1106, 32187 },
- { 0x1102, 32190 },
- { 0x1107, 32193 },
- { 0x1105, 32196 },
- { 0x115F, 32199 },
- { 0x1100, 32202 },
- { 0x1103, 32205 },
- { 0x110E, 32208 },
- { 0x110F, 32211 },
- { 0x1140, 32214 },
- { 0x1111, 32217 },
- { 0x1110, 32220 },
- { 0x114C, 32223 },
- { 0x110A, 32226 },
- { 0x1145, 32229 },
- { 0x1121, 32232 },
- { 0x1136, 32235 },
- { 0x113B, 32238 },
- { 0x1135, 32241 },
- { 0x1131, 32244 },
- { 0x112E, 32247 },
- { 0x1132, 32250 },
- { 0x1130, 32253 },
- { 0x110D, 32256 },
- { 0x1158, 32259 },
- { 0x1147, 32262 },
- { 0x1114, 32265 },
- { 0x1108, 32268 },
- { 0x1119, 32271 },
- { 0x114D, 32274 },
- { 0x1148, 32277 },
- { 0x1143, 32280 },
- { 0x1144, 32283 },
- { 0x111C, 32286 },
- { 0x1116, 32289 },
- { 0x1127, 32292 },
- { 0x111F, 32295 },
- { 0x111A, 32298 },
- { 0x1118, 32301 },
- { 0x112D, 32304 },
- { 0x112F, 32307 },
- { 0x1101, 32310 },
- { 0x1104, 32313 },
- { 0x1159, 32316 },
- { 0x113C, 32319 },
- { 0x1141, 32322 },
- { 0x1142, 32325 },
- { 0x1113, 32328 },
- { 0x1115, 32331 },
- { 0x111E, 32334 },
- { 0x1120, 32337 },
- { 0x1137, 32340 },
- { 0x1138, 32343 },
- { 0x113A, 32346 },
- { 0x1139, 32349 },
- { 0x1153, 32352 },
- { 0x114E, 32355 },
- { 0x1149, 32358 },
- { 0x1146, 32361 },
- { 0x114B, 32364 },
- { 0x114A, 32367 },
- { 0x111D, 32370 },
- { 0x112B, 32373 },
- { 0x111B, 32376 },
- { 0x1156, 32379 },
- { 0x1128, 32382 },
- { 0x112A, 32385 },
- { 0x1129, 32388 },
- { 0x1117, 32391 },
- { 0x1134, 32394 },
- { 0x113E, 32397 },
- { 0x1152, 32400 },
- { 0x1154, 32403 },
- { 0x1157, 32406 },
- { 0x1125, 32409 },
- { 0x1150, 32412 },
- { 0x1126, 32415 },
- { 0x1124, 32418 },
- { 0x113D, 32421 },
- { 0x1122, 32424 },
- { 0x1123, 32427 },
- { 0x1133, 32430 },
- { 0x1155, 32433 },
- { 0x114F, 32436 },
- { 0x112C, 32439 },
- { 0x113F, 32442 },
- { 0x1151, 32445 },
- { 0x11BA, 32448 },
- { 0x11BD, 32451 },
- { 0x11C2, 32454 },
- { 0x11BC, 32457 },
- { 0x11B7, 32460 },
- { 0x11AB, 32463 },
- { 0x11B8, 32466 },
- { 0x11AF, 32469 },
- { 0x11A8, 32472 },
- { 0x11AE, 32475 },
- { 0x11BE, 32478 },
- { 0x11BF, 32481 },
- { 0x11EB, 32484 },
- { 0x11C1, 32487 },
- { 0x11C0, 32490 },
- { 0x11F0, 32493 },
- { 0x11BB, 32496 },
- { 0x11DD, 32499 },
- { 0x11C7, 32502 },
- { 0x11B9, 32505 },
- { 0x11B3, 32508 },
- { 0x11EA, 32511 },
- { 0x11E9, 32514 },
- { 0x11EE, 32517 },
- { 0x11D0, 32520 },
- { 0x11F7, 32523 },
- { 0x11F5, 32526 },
- { 0x11F8, 32529 },
- { 0x11F6, 32532 },
- { 0x11AA, 32535 },
- { 0x11E1, 32538 },
- { 0x11DC, 32541 },
- { 0x11DB, 32544 },
- { 0x11AC, 32547 },
- { 0x11AD, 32550 },
- { 0x11E5, 32553 },
- { 0x11E3, 32556 },
- { 0x11B6, 32559 },
- { 0x11B1, 32562 },
- { 0x11CD, 32565 },
- { 0x11B2, 32568 },
- { 0x11E7, 32571 },
- { 0x11E8, 32574 },
- { 0x11A9, 32577 },
- { 0x11F9, 32580 },
- { 0x11EC, 32583 },
- { 0x11C3, 32586 },
- { 0x11DA, 32589 },
- { 0x11C5, 32592 },
- { 0x11C6, 32595 },
- { 0x11B0, 32598 },
- { 0x11CE, 32601 },
- { 0x11CB, 32604 },
- { 0x11EF, 32607 },
- { 0x11E2, 32610 },
- { 0x11E6, 32613 },
- { 0x11E0, 32616 },
- { 0x11DF, 32619 },
- { 0x11C8, 32622 },
- { 0x11C9, 32625 },
- { 0x11F3, 32628 },
- { 0x11E4, 32631 },
- { 0x11D8, 32634 },
- { 0x11D7, 32637 },
- { 0x11B5, 32640 },
- { 0x11B4, 32643 },
- { 0x11CA, 32646 },
- { 0x11F1, 32649 },
- { 0x11F4, 32652 },
- { 0x11DE, 32655 },
- { 0x11D6, 32658 },
- { 0x11D2, 32661 },
- { 0x11D3, 32664 },
- { 0x11F2, 32667 },
- { 0x11ED, 32670 },
- { 0x11CC, 32673 },
- { 0x11D4, 32676 },
- { 0x11D9, 32679 },
- { 0x11C4, 32682 },
- { 0x11D1, 32685 },
- { 0x11CF, 32688 },
- { 0x11D5, 32691 },
- { 0x1161, 32694 },
- { 0x1166, 32697 },
- { 0x1175, 32700 },
- { 0x1169, 32703 },
- { 0x116E, 32706 },
- { 0x1162, 32709 },
- { 0x1165, 32712 },
- { 0x1173, 32715 },
- { 0x116C, 32718 },
- { 0x116A, 32721 },
- { 0x1170, 32724 },
- { 0x1171, 32727 },
- { 0x1163, 32730 },
- { 0x1168, 32733 },
- { 0x1174, 32736 },
- { 0x116D, 32739 },
- { 0x1172, 32742 },
- { 0x1176, 32745 },
- { 0x1177, 32748 },
- { 0x1198, 32751 },
- { 0x119A, 32754 },
- { 0x119B, 32757 },
- { 0x1180, 32760 },
- { 0x1182, 32763 },
- { 0x1183, 32766 },
- { 0x1189, 32769 },
- { 0x118D, 32772 },
- { 0x116B, 32775 },
- { 0x116F, 32778 },
- { 0x1164, 32781 },
- { 0x1167, 32784 },
- { 0x117A, 32787 },
- { 0x117B, 32790 },
- { 0x1195, 32793 },
- { 0x119C, 32796 },
- { 0x1199, 32799 },
- { 0x117F, 32802 },
- { 0x1181, 32805 },
- { 0x118A, 32808 },
- { 0x118C, 32811 },
- { 0x1178, 32814 },
- { 0x1197, 32817 },
- { 0x1188, 32820 },
- { 0x1187, 32823 },
- { 0x118E, 32826 },
- { 0x1190, 32829 },
- { 0x1194, 32832 },
- { 0x1193, 32835 },
- { 0x119E, 32838 },
- { 0x117C, 32841 },
- { 0x1196, 32844 },
- { 0x1179, 32847 },
- { 0x117D, 32850 },
- { 0x117E, 32853 },
- { 0x1184, 32856 },
- { 0x118F, 32859 },
- { 0x1192, 32862 },
- { 0x1160, 32865 },
- { 0x1185, 32868 },
- { 0x1186, 32871 },
- { 0x1191, 32874 },
- { 0x11A1, 32877 },
- { 0x11A0, 32880 },
- { 0x119D, 32883 },
- { 0x118B, 32886 },
- { 0x119F, 32889 },
- { 0x11A2, 32892 },
- { 0x05C5, 32895 },
- { 0x05C4, 32899 },
- { 0x05AF, 32903 },
- { 0x05C2, 32907 },
- { 0x05BF, 32911 },
- { 0x05C1, 32914 },
- { 0x05B2, 32918 },
- { 0x05B1, 32922 },
- { 0x05B3, 32926 },
- { 0x05B4, 32930 },
- { 0x05B9, 32933 },
- { 0x05BA, 32936 },
- { 0x05BD, 32942 },
- { 0x05B7, 32945 },
- { 0x05B6, 32948 },
- { 0x05B0, 32951 },
- { 0x05B5, 32954 },
- { 0x05BC, 32957 },
- { 0x05B8, 32962 },
- { 0x05C7, 32965 },
- { 0x05BB, 32969 },
- { 0x6B1E, 32972 },
- { 0x05AB, 32976 },
- { 0x05AD, 32979 },
- { 0x05AC, 32982 },
- { 0x05A2, 32985 },
- { 0x05A7, 32989 },
- { 0x05A3, 32992 },
- { 0x05A1, 32995 },
- { 0x05A8, 32998 },
- { 0x0597, 33001 },
- { 0x0592, 33004 },
- { 0x059B, 33007 },
- { 0x05AA, 33010 },
- { 0x059A, 33015 },
- { 0x0595, 33018 },
- { 0x0594, 33022 },
- { 0x0598, 33026 },
- { 0x05AE, 33029 },
- { 0x059C, 33032 },
- { 0x059D, 33035 },
- { 0x05A5, 33039 },
- { 0x05A6, 33042 },
- { 0x0599, 33046 },
- { 0x059F, 33049 },
- { 0x0596, 33053 },
- { 0x0591, 33056 },
- { 0x05A0, 33059 },
- { 0x05A9, 33063 },
- { 0x05A4, 33067 },
- { 0x059E, 33070 },
- { 0x0593, 33073 },
- { 0x05D4, 33076 },
- { 0x6B34, 33079 },
- { 0x05E4, 33084 },
- { 0x6B4E, 33087 },
- { 0x6B44, 33092 },
- { 0x05D1, 33097 },
- { 0x6B4C, 33100 },
- { 0x6B31, 33105 },
- { 0x05D7, 33110 },
- { 0x05DB, 33113 },
- { 0x6B4D, 33116 },
- { 0x6B3B, 33121 },
- { 0x05DE, 33126 },
- { 0x6B3E, 33129 },
- { 0x05E0, 33134 },
- { 0x6B40, 33137 },
- { 0x05E7, 33142 },
- { 0x6B47, 33145 },
- { 0x05EA, 33150 },
- { 0x6B4A, 33153 },
- { 0x05D8, 33158 },
- { 0x6B38, 33161 },
- { 0x05D5, 33166 },
- { 0x6B4B, 33169 },
- { 0x6B35, 33174 },
- { 0x05D9, 33179 },
- { 0x6B1D, 33182 },
- { 0x6B39, 33187 },
- { 0x05D0, 33192 },
- { 0x6B30, 33195 },
- { 0x6B2E, 33200 },
- { 0x6B2F, 33205 },
- { 0x05E2, 33210 },
- { 0x05E8, 33213 },
- { 0x6B48, 33216 },
- { 0x05E9, 33221 },
- { 0x6B2B, 33224 },
- { 0x6B2A, 33230 },
- { 0x6B49, 33236 },
- { 0x6B2D, 33241 },
- { 0x6B2C, 33249 },
- { 0x6B23, 33257 },
- { 0x6B24, 33261 },
- { 0x6B28, 33265 },
- { 0x6B21, 33269 },
- { 0x6B27, 33273 },
- { 0x6B22, 33277 },
- { 0x6B26, 33281 },
- { 0x6B25, 33286 },
- { 0x05D3, 33290 },
- { 0x6B33, 33293 },
- { 0x05E3, 33298 },
- { 0x6B43, 33302 },
- { 0x05DA, 33308 },
- { 0x6B3A, 33312 },
- { 0x05DD, 33318 },
- { 0x05DF, 33322 },
- { 0x05E5, 33326 },
- { 0x05D2, 33330 },
- { 0x6B32, 33333 },
- { 0x05DC, 33338 },
- { 0x6B3C, 33341 },
- { 0x05E6, 33346 },
- { 0x6B46, 33349 },
- { 0x05D6, 33354 },
- { 0x6B36, 33357 },
- { 0x05E1, 33362 },
- { 0x6B41, 33365 },
- { 0x6B20, 33370 },
- { 0x6B29, 33374 },
- { 0x6B4F, 33379 },
- { 0x05F1, 33383 },
- { 0x6B1F, 33388 },
- { 0x05F0, 33394 },
- { 0x05F2, 33399 },
- { 0x05C6, 33404 },
- { 0x05C3, 33408 },
- { 0x05BE, 33412 },
- { 0x05C0, 33415 },
- { 0x05F3, 33418 },
- { 0x05F4, 33421 },
- { 0x2010, 33424 },
- { 0x2E1A, 33425 },
- { 0x2043, 33428 },
- { 0x2F4F, 33430 },
- { 0x2F21, 33434 },
- { 0x2F22, 33437 },
- { 0x2F7D, 33441 },
- { 0x2F44, 33444 },
- { 0x2F24, 33447 },
- { 0x2F38, 33450 },
- { 0x2F5C, 33453 },
- { 0x2F5D, 33456 },
- { 0x2F02, 33459 },
- { 0x2F32, 33462 },
- { 0x2F7F, 33465 },
- { 0x2FB7, 33468 },
- { 0x2F6C, 33471 },
- { 0x2FB6, 33474 },
- { 0x2F51, 33477 },
- { 0x2F0E, 33480 },
- { 0x2F78, 33483 },
- { 0x2F07, 33486 },
- { 0x2F08, 33489 },
- { 0x2F79, 33492 },
- { 0x2F46, 33495 },
- { 0x2F7C, 33498 },
- { 0x2F00, 33501 },
- { 0x2F97, 33504 },
- { 0x2F41, 33507 },
- { 0x2FCF, 33510 },
- { 0x2F9A, 33513 },
- { 0x2F9B, 33516 },
- { 0x2F48, 33519 },
- { 0x2F92, 33522 },
- { 0x2F47, 33525 },
- { 0x2F17, 33528 },
- { 0x2F06, 33531 },
- { 0x2F36, 33534 },
- { 0x2F64, 33538 },
- { 0x2F96, 33541 },
- { 0x2FC3, 33544 },
- { 0x2FAD, 33547 },
- { 0x2F88, 33550 },
- { 0x2F9D, 33553 },
- { 0x2F66, 33556 },
- { 0x2FBB, 33561 },
- { 0x2F9E, 33564 },
- { 0x2F73, 33567 },
- { 0x2FA2, 33570 },
- { 0x2F52, 33573 },
- { 0x2F56, 33576 },
- { 0x2FC5, 33579 },
- { 0x2F6B, 33582 },
- { 0x2F3E, 33585 },
- { 0x2F0C, 33588 },
- { 0x2FCE, 33592 },
- { 0x2FD1, 33595 },
- { 0x2FAF, 33598 },
- { 0x2F5B, 33601 },
- { 0x2F55, 33604 },
- { 0x2FC2, 33607 },
- { 0x2F9C, 33610 },
- { 0x2FCC, 33613 },
- { 0x2FA8, 33616 },
- { 0x2FA6, 33619 },
- { 0x2FBD, 33622 },
- { 0x2F59, 33625 },
- { 0x2F3F, 33630 },
- { 0x2FB8, 33633 },
- { 0x2FC7, 33636 },
- { 0x2F05, 33639 },
- { 0x2F93, 33642 },
- { 0x2F28, 33645 },
- { 0x2F5F, 33648 },
- { 0x2F4B, 33651 },
- { 0x2F2A, 33654 },
- { 0x2FB4, 33657 },
- { 0x2FB2, 33660 },
- { 0x2F09, 33663 },
- { 0x2F63, 33666 },
- { 0x2F01, 33669 },
- { 0x2FA7, 33672 },
- { 0x2F35, 33675 },
- { 0x2F81, 33679 },
- { 0x2F49, 33682 },
- { 0x2FD0, 33685 },
- { 0x2F10, 33688 },
- { 0x2F7E, 33692 },
- { 0x2FAC, 33695 },
- { 0x2F76, 33698 },
- { 0x2F27, 33701 },
- { 0x2FC4, 33704 },
- { 0x2F19, 33707 },
- { 0x2F83, 33710 },
- { 0x2F77, 33713 },
- { 0x2F6A, 33716 },
- { 0x2F3B, 33719 },
- { 0x2F4C, 33722 },
- { 0x2FBC, 33725 },
- { 0x2F61, 33728 },
- { 0x2F4A, 33731 },
- { 0x2FA1, 33734 },
- { 0x2F8F, 33737 },
- { 0x2F91, 33741 },
- { 0x2FB5, 33744 },
- { 0x2FA3, 33747 },
- { 0x2F2F, 33750 },
- { 0x2F13, 33753 },
- { 0x2F1C, 33756 },
- { 0x2F6E, 33759 },
- { 0x2FCA, 33762 },
- { 0x2F8E, 33765 },
- { 0x2F80, 33768 },
- { 0x2F26, 33771 },
- { 0x2F1A, 33774 },
- { 0x2F8A, 33777 },
- { 0x2F0D, 33780 },
- { 0x2F4D, 33783 },
- { 0x2F1F, 33786 },
- { 0x2F0B, 33789 },
- { 0x2F0A, 33792 },
- { 0x2F65, 33795 },
- { 0x2FBE, 33798 },
- { 0x2FD5, 33801 },
- { 0x2FC1, 33804 },
- { 0x2F72, 33807 },
- { 0x2F8B, 33810 },
- { 0x2F3C, 33813 },
- { 0x2FBA, 33816 },
- { 0x2F11, 33819 },
- { 0x2F60, 33822 },
- { 0x2FA9, 33825 },
- { 0x2F1D, 33828 },
- { 0x2F12, 33831 },
- { 0x2F15, 33834 },
- { 0x2F2E, 33839 },
- { 0x2F7A, 33842 },
- { 0x2F99, 33845 },
- { 0x2F37, 33848 },
- { 0x2FAB, 33851 },
- { 0x2F33, 33856 },
- { 0x2F03, 33860 },
- { 0x2FAA, 33863 },
- { 0x2F5A, 33866 },
- { 0x2F29, 33869 },
- { 0x2F39, 33872 },
- { 0x2FB3, 33875 },
- { 0x2F6D, 33878 },
- { 0x2F14, 33881 },
- { 0x2F74, 33884 },
- { 0x2F53, 33887 },
- { 0x2F6F, 33890 },
- { 0x2F62, 33893 },
- { 0x2F0F, 33896 },
- { 0x2F8C, 33899 },
- { 0x2FD2, 33902 },
- { 0x2F71, 33905 },
- { 0x2F54, 33908 },
- { 0x2FC6, 33911 },
- { 0x2F69, 33914 },
- { 0x2F25, 33917 },
- { 0x2FAE, 33920 },
- { 0x2F84, 33923 },
- { 0x2F98, 33926 },
- { 0x2F75, 33929 },
- { 0x2F9F, 33932 },
- { 0x2F40, 33935 },
- { 0x2F2B, 33938 },
- { 0x2F43, 33941 },
- { 0x2F68, 33944 },
- { 0x2F34, 33948 },
- { 0x2F58, 33952 },
- { 0x2FD3, 33956 },
- { 0x2F57, 33959 },
- { 0x2F16, 33962 },
- { 0x2F8D, 33966 },
- { 0x2FC9, 33969 },
- { 0x2F85, 33972 },
- { 0x2F87, 33975 },
- { 0x2F42, 33978 },
- { 0x2F04, 33981 },
- { 0x2F94, 33984 },
- { 0x2F70, 33987 },
- { 0x2F2C, 33990 },
- { 0x2F45, 33993 },
- { 0x2FB1, 33996 },
- { 0x2F86, 34000 },
- { 0x2FCD, 34003 },
- { 0x2F31, 34006 },
- { 0x2FD4, 34009 },
- { 0x2F95, 34012 },
- { 0x2F4E, 34015 },
- { 0x2FC8, 34018 },
- { 0x2F3A, 34021 },
- { 0x2F90, 34024 },
- { 0x2F50, 34027 },
- { 0x2F23, 34030 },
- { 0x2F7B, 34033 },
- { 0x2F3D, 34036 },
- { 0x2FB0, 34039 },
- { 0x2FA0, 34042 },
- { 0x2F30, 34045 },
- { 0x2F1B, 34048 },
- { 0x2F20, 34051 },
- { 0x2FA5, 34054 },
- { 0x2FC0, 34057 },
- { 0x2FB9, 34060 },
- { 0x2F82, 34063 },
- { 0x2F2D, 34066 },
- { 0x2F5E, 34069 },
- { 0x2F67, 34072 },
- { 0x2F89, 34075 },
- { 0x2F1E, 34078 },
- { 0x2F18, 34081 },
- { 0x2FCB, 34084 },
- { 0x2FA4, 34087 },
- { 0x2FBF, 34090 },
- { 0x212A, 34094 },
- { 0x327F, 34096 },
- { 0x2AAB, 34099 },
- { 0x2AAD, 34101 },
- { 0x1C36, 34106 },
- { 0x1C37, 34109 },
- { 0x1C41, 34112 },
- { 0x1C46, 34115 },
- { 0x1C42, 34118 },
- { 0x1C45, 34121 },
- { 0x1C44, 34124 },
- { 0x1C49, 34127 },
- { 0x1C40, 34130 },
- { 0x1C48, 34133 },
- { 0x1C47, 34136 },
- { 0x1C43, 34139 },
- { 0x1C2C, 34142 },
- { 0x1C27, 34146 },
- { 0x1C28, 34150 },
- { 0x1C2A, 34154 },
- { 0x1C26, 34158 },
- { 0x1C29, 34162 },
- { 0x1C2B, 34166 },
- { 0x1C23, 34170 },
- { 0x1C13, 34173 },
- { 0x1C06, 34176 },
- { 0x1C0C, 34179 },
- { 0x1C11, 34182 },
- { 0x1C03, 34185 },
- { 0x1C1D, 34188 },
- { 0x1C08, 34191 },
- { 0x1C00, 34194 },
- { 0x1C1C, 34197 },
- { 0x1C15, 34200 },
- { 0x1C0D, 34203 },
- { 0x1C0E, 34206 },
- { 0x1C1B, 34209 },
- { 0x1C20, 34212 },
- { 0x1C0A, 34215 },
- { 0x1C1F, 34218 },
- { 0x1C22, 34221 },
- { 0x1C1A, 34224 },
- { 0x1C14, 34227 },
- { 0x1C07, 34230 },
- { 0x1C4F, 34233 },
- { 0x1C19, 34236 },
- { 0x1C12, 34239 },
- { 0x1C04, 34242 },
- { 0x1C1E, 34245 },
- { 0x1C02, 34248 },
- { 0x1C01, 34251 },
- { 0x1C16, 34254 },
- { 0x1C05, 34257 },
- { 0x1C09, 34260 },
- { 0x1C10, 34263 },
- { 0x1C0F, 34266 },
- { 0x1C21, 34269 },
- { 0x1C0B, 34272 },
- { 0x1C17, 34275 },
- { 0x1C4D, 34278 },
- { 0x1C18, 34281 },
- { 0x1C4E, 34284 },
- { 0x1C2D, 34287 },
- { 0x1C2F, 34291 },
- { 0x1C2E, 34295 },
- { 0x1C30, 34299 },
- { 0x1C31, 34303 },
- { 0x1C32, 34307 },
- { 0x1C33, 34311 },
- { 0x1C35, 34315 },
- { 0x1C34, 34319 },
- { 0x1C25, 34323 },
- { 0x1C24, 34327 },
- { 0x1C3C, 34331 },
- { 0x1C3D, 34336 },
- { 0x1C3B, 34339 },
- { 0x1C3F, 34342 },
- { 0x1C3E, 34345 },
- { 0x7050, 34349 },
- { 0x7051, 34353 },
- { 0x7052, 34357 },
- { 0x7053, 34361 },
- { 0x7054, 34365 },
- { 0x7055, 34369 },
- { 0x7056, 34373 },
- { 0x7057, 34377 },
- { 0x7058, 34381 },
- { 0x7059, 34385 },
- { 0x705A, 34389 },
- { 0x705B, 34393 },
- { 0x705C, 34397 },
- { 0x705D, 34401 },
- { 0x7080, 34405 },
- { 0x7081, 34410 },
- { 0x7082, 34415 },
- { 0x7083, 34420 },
- { 0x708E, 34425 },
- { 0x708F, 34430 },
- { 0x7090, 34435 },
- { 0x7091, 34440 },
- { 0x7092, 34445 },
- { 0x7095, 34450 },
- { 0x7096, 34455 },
- { 0x7097, 34460 },
- { 0x709A, 34464 },
- { 0x709B, 34469 },
- { 0x709C, 34474 },
- { 0x709D, 34478 },
- { 0x709E, 34483 },
- { 0x709F, 34487 },
- { 0x70A0, 34491 },
- { 0x70A1, 34496 },
- { 0x70A2, 34500 },
- { 0x70A3, 34504 },
- { 0x70A5, 34508 },
- { 0x70A6, 34512 },
- { 0x70A7, 34516 },
- { 0x70A8, 34521 },
- { 0x70A9, 34525 },
- { 0x70AA, 34529 },
- { 0x70AB, 34534 },
- { 0x70AC, 34539 },
- { 0x70AD, 34543 },
- { 0x70AE, 34547 },
- { 0x70AF, 34551 },
- { 0x70B0, 34555 },
- { 0x70B1, 34559 },
- { 0x70B2, 34563 },
- { 0x70B3, 34567 },
- { 0x70B4, 34571 },
- { 0x70B5, 34575 },
- { 0x70B6, 34580 },
- { 0x70B7, 34584 },
- { 0x70B8, 34589 },
- { 0x70B9, 34593 },
- { 0x70BA, 34597 },
- { 0x70BB, 34601 },
- { 0x70BC, 34605 },
- { 0x70BD, 34609 },
- { 0x70BE, 34613 },
- { 0x70BF, 34617 },
- { 0x70C0, 34621 },
- { 0x70C1, 34625 },
- { 0x70C2, 34629 },
- { 0x70C3, 34633 },
- { 0x70C4, 34638 },
- { 0x70C5, 34643 },
- { 0x70C6, 34648 },
- { 0x70C7, 34653 },
- { 0x70C8, 34658 },
- { 0x70C9, 34662 },
- { 0x70CA, 34667 },
- { 0x70CB, 34671 },
- { 0x70CC, 34675 },
- { 0x70CD, 34681 },
- { 0x70CE, 34686 },
- { 0x70CF, 34692 },
- { 0x70D0, 34697 },
- { 0x70D1, 34701 },
- { 0x70D3, 34705 },
- { 0x70D4, 34709 },
- { 0x70D5, 34713 },
- { 0x70D6, 34717 },
- { 0x70D7, 34721 },
- { 0x70D8, 34725 },
- { 0x70D9, 34730 },
- { 0x70DA, 34734 },
- { 0x70DB, 34738 },
- { 0x70DC, 34742 },
- { 0x70DD, 34746 },
- { 0x7084, 34750 },
- { 0x7085, 34755 },
- { 0x7086, 34760 },
- { 0x7087, 34765 },
- { 0x7088, 34770 },
- { 0x7089, 34775 },
- { 0x708A, 34780 },
- { 0x708B, 34785 },
- { 0x708C, 34790 },
- { 0x708D, 34795 },
- { 0x70DE, 34800 },
- { 0x70DF, 34805 },
- { 0x70E0, 34810 },
- { 0x70E1, 34815 },
- { 0x70E2, 34820 },
- { 0x70E3, 34825 },
- { 0x70E4, 34830 },
- { 0x70E5, 34835 },
- { 0x70E6, 34840 },
- { 0x70E7, 34845 },
- { 0x70E8, 34850 },
- { 0x70E9, 34855 },
- { 0x70EA, 34860 },
- { 0x70EB, 34865 },
- { 0x70EC, 34870 },
- { 0x70ED, 34875 },
- { 0x70EE, 34880 },
- { 0x70EF, 34885 },
- { 0x70F0, 34890 },
- { 0x70F1, 34895 },
- { 0x70F2, 34900 },
- { 0x70F3, 34905 },
- { 0x70F4, 34910 },
- { 0x70F5, 34915 },
- { 0x70F6, 34920 },
- { 0x70F7, 34925 },
- { 0x70F8, 34930 },
- { 0x70F9, 34935 },
- { 0x70FA, 34940 },
- { 0x7093, 34945 },
- { 0x7094, 34950 },
- { 0x7098, 34955 },
- { 0x7099, 34960 },
- { 0x70A4, 34965 },
- { 0x70D2, 34970 },
- { 0x7005, 34975 },
- { 0x702B, 34980 },
- { 0x701E, 34985 },
- { 0x7033, 34990 },
- { 0x7035, 34995 },
- { 0x7019, 35000 },
- { 0x7007, 35005 },
- { 0x7000, 35010 },
- { 0x702E, 35015 },
- { 0x7004, 35020 },
- { 0x7021, 35025 },
- { 0x7030, 35030 },
- { 0x7015, 35035 },
- { 0x7008, 35040 },
- { 0x7017, 35045 },
- { 0x7023, 35050 },
- { 0x703C, 35055 },
- { 0x703F, 35060 },
- { 0x7025, 35065 },
- { 0x7018, 35070 },
- { 0x701A, 35075 },
- { 0x7040, 35080 },
- { 0x702C, 35085 },
- { 0x7029, 35090 },
- { 0x7002, 35095 },
- { 0x7046, 35100 },
- { 0x701B, 35105 },
- { 0x702D, 35110 },
- { 0x7026, 35115 },
- { 0x7049, 35120 },
- { 0x700D, 35125 },
- { 0x7034, 35130 },
- { 0x7001, 35135 },
- { 0x7020, 35140 },
- { 0x7039, 35145 },
- { 0x702F, 35150 },
- { 0x703A, 35155 },
- { 0x7041, 35160 },
- { 0x7010, 35165 },
- { 0x7006, 35170 },
- { 0x700B, 35175 },
- { 0x7045, 35180 },
- { 0x7022, 35185 },
- { 0x7009, 35190 },
- { 0x701C, 35195 },
- { 0x702A, 35200 },
- { 0x7037, 35205 },
- { 0x701D, 35210 },
- { 0x700A, 35215 },
- { 0x7031, 35220 },
- { 0x7032, 35225 },
- { 0x7028, 35230 },
- { 0x7003, 35235 },
- { 0x7047, 35240 },
- { 0x700E, 35245 },
- { 0x704B, 35250 },
- { 0x7011, 35255 },
- { 0x704A, 35260 },
- { 0x7036, 35265 },
- { 0x7012, 35270 },
- { 0x7043, 35275 },
- { 0x701F, 35280 },
- { 0x7016, 35285 },
- { 0x703D, 35290 },
- { 0x7038, 35295 },
- { 0x7048, 35300 },
- { 0x700F, 35305 },
- { 0x7024, 35310 },
- { 0x7014, 35315 },
- { 0x7013, 35320 },
- { 0x7042, 35325 },
- { 0x704C, 35330 },
- { 0x7044, 35335 },
- { 0x704D, 35340 },
- { 0x7280, 35345 },
- { 0x7282, 35348 },
- { 0x7285, 35351 },
- { 0x7281, 35354 },
- { 0x7284, 35357 },
- { 0x729B, 35360 },
- { 0x7286, 35363 },
- { 0x728A, 35366 },
- { 0x728B, 35369 },
- { 0x728D, 35372 },
- { 0x728E, 35375 },
- { 0x728F, 35378 },
- { 0x7293, 35381 },
- { 0x728C, 35384 },
- { 0x7295, 35387 },
- { 0x7296, 35390 },
- { 0x7297, 35393 },
- { 0x7292, 35396 },
- { 0x7287, 35399 },
- { 0x729C, 35402 },
- { 0x7288, 35405 },
- { 0x7299, 35408 },
- { 0x7283, 35411 },
- { 0x729A, 35414 },
- { 0x7294, 35417 },
- { 0x7290, 35420 },
- { 0x7291, 35423 },
- { 0x7289, 35426 },
- { 0x7298, 35429 },
- { 0x7920, 35432 },
- { 0x7921, 35435 },
- { 0x7939, 35438 },
- { 0x7923, 35441 },
- { 0x7924, 35444 },
- { 0x7931, 35447 },
- { 0x7922, 35450 },
- { 0x7926, 35453 },
- { 0x7928, 35456 },
- { 0x7929, 35459 },
- { 0x792A, 35462 },
- { 0x792B, 35465 },
- { 0x792C, 35468 },
- { 0x7932, 35471 },
- { 0x792D, 35474 },
- { 0x7933, 35477 },
- { 0x792F, 35480 },
- { 0x7930, 35483 },
- { 0x7925, 35486 },
- { 0x7927, 35489 },
- { 0x7935, 35492 },
- { 0x7936, 35495 },
- { 0x7937, 35498 },
- { 0x7938, 35501 },
- { 0x792E, 35504 },
- { 0x7934, 35507 },
- { 0x793F, 35510 },
- { 0x00AF, 35513 },
- { 0x2774, 35514 },
- { 0x2768, 35519 },
- { 0x26AB, 35523 },
- { 0x2775, 35526 },
- { 0x2769, 35531 },
- { 0x2592, 35535 },
- { 0x26AC, 35537 },
- { 0x26AA, 35541 },
- { 0x2759, 35544 },
- { 0x276A, 35547 },
- { 0x276B, 35552 },
- { 0x205F, 35557 },
- { 0x276C, 35560 },
- { 0x276D, 35565 },
- { 0x00B7, 35570 },
- { 0x22A7, 35572 },
- { 0x2A0A, 35573 },
- { 0x202F, 35576 },
- { 0x26B2, 35579 },
- { 0x22B2, 35580 },
- { 0x22B4, 35583 },
- { 0x2491, 35589 },
- { 0x0023, 35593 },
- { 0x2492, 35595 },
- { 0x2493, 35599 },
- { 0x249B, 35603 },
- { 0x2496, 35607 },
- { 0x2497, 35611 },
- { 0x2499, 35615 },
- { 0x2495, 35619 },
- { 0x249A, 35623 },
- { 0x2494, 35627 },
- { 0x2498, 35631 },
- { 0x2116, 35635 },
- { 0x6FFC, 35637 },
- { 0x02DB, 35640 },
- { 0x2325, 35641 },
- { 0x6D3E, 35643 },
- { 0x6D3F, 35646 },
- { 0x26B4, 35649 },
- { 0x270F, 35650 },
- { 0x20A7, 35651 },
- { 0x2653, 35653 },
- { 0x210E, 35654 },
- { 0x210F, 35656 },
- { 0x3012, 35661 },
- { 0x3020, 35663 },
- { 0x2E07, 35666 },
- { 0x2E0B, 35670 },
- { 0x2E06, 35672 },
- { 0x5949, 35675 },
- { 0x5947, 35679 },
- { 0x594B, 35683 },
- { 0x5948, 35687 },
- { 0x594A, 35691 },
- { 0x594C, 35695 },
- { 0x594E, 35699 },
- { 0x594D, 35703 },
- { 0x5946, 35707 },
- { 0x5937, 35710 },
- { 0x5939, 35713 },
- { 0x5934, 35716 },
- { 0x5931, 35719 },
- { 0x5941, 35722 },
- { 0x593A, 35725 },
- { 0x5930, 35728 },
- { 0x593E, 35731 },
- { 0x5938, 35734 },
- { 0x5935, 35737 },
- { 0x5936, 35740 },
- { 0x593D, 35743 },
- { 0x593C, 35746 },
- { 0x5933, 35749 },
- { 0x5940, 35752 },
- { 0x593F, 35755 },
- { 0x5942, 35758 },
- { 0x5944, 35761 },
- { 0x5932, 35764 },
- { 0x593B, 35767 },
- { 0x5943, 35770 },
- { 0x5945, 35773 },
- { 0x5953, 35776 },
- { 0x595F, 35778 },
- { 0x5952, 35781 },
- { 0x5950, 35785 },
- { 0x5951, 35789 },
- { 0x594F, 35793 },
- { 0x23CE, 35797 },
- { 0x2930, 35799 },
- { 0x292B, 35805 },
- { 0x2644, 35810 },
- { 0x2696, 35811 },
- { 0x212F, 35812 },
- { 0x210A, 35815 },
- { 0x2113, 35818 },
- { 0x2134, 35821 },
- { 0x212C, 35824 },
- { 0x2130, 35827 },
- { 0x2131, 35830 },
- { 0x210B, 35833 },
- { 0x2110, 35836 },
- { 0x2112, 35839 },
- { 0x2133, 35842 },
- { 0x2118, 35845 },
- { 0x211B, 35848 },
- { 0x2314, 35851 },
- { 0x6E45, 35852 },
- { 0x201A, 35854 },
- { 0x2039, 35858 },
- { 0x203A, 35863 },
- { 0x201B, 35868 },
- { 0x33DF, 35872 },
- { 0x33C6, 35876 },
- { 0x33C0, 35880 },
- { 0x33C1, 35883 },
- { 0x33A7, 35886 },
- { 0x33A8, 35890 },
- { 0x33A5, 35895 },
- { 0x33A1, 35898 },
- { 0x33DE, 35901 },
- { 0x33C2, 35905 },
- { 0x3373, 35907 },
- { 0x33C3, 35909 },
- { 0x33C4, 35911 },
- { 0x33C5, 35913 },
- { 0x339D, 35915 },
- { 0x33A4, 35917 },
- { 0x33A0, 35920 },
- { 0x33C7, 35923 },
- { 0x3372, 35925 },
- { 0x33C8, 35927 },
- { 0x3397, 35929 },
- { 0x3377, 35931 },
- { 0x3379, 35933 },
- { 0x3378, 35936 },
- { 0x32CE, 35939 },
- { 0x3399, 35941 },
- { 0x3387, 35943 },
- { 0x33C9, 35945 },
- { 0x33CA, 35947 },
- { 0x32CC, 35949 },
- { 0x33CB, 35951 },
- { 0x3390, 35953 },
- { 0x33CC, 35955 },
- { 0x337A, 35957 },
- { 0x3384, 35959 },
- { 0x3385, 35961 },
- { 0x338F, 35963 },
- { 0x33CD, 35965 },
- { 0x3398, 35967 },
- { 0x339E, 35969 },
- { 0x33A6, 35971 },
- { 0x33CE, 35974 },
- { 0x33A2, 35977 },
- { 0x33CF, 35980 },
- { 0x33B8, 35982 },
- { 0x33BE, 35984 },
- { 0x33D0, 35986 },
- { 0x33D1, 35988 },
- { 0x33D3, 35990 },
- { 0x3383, 35992 },
- { 0x3386, 35994 },
- { 0x33D4, 35996 },
- { 0x338E, 35999 },
- { 0x3396, 36001 },
- { 0x339C, 36003 },
- { 0x33A3, 36005 },
- { 0x339F, 36008 },
- { 0x33B3, 36011 },
- { 0x3382, 36013 },
- { 0x338C, 36016 },
- { 0x338D, 36019 },
- { 0x3395, 36022 },
- { 0x339B, 36025 },
- { 0x33B2, 36028 },
- { 0x33B6, 36031 },
- { 0x33BC, 36034 },
- { 0x33B7, 36037 },
- { 0x33B9, 36039 },
- { 0x33BD, 36042 },
- { 0x33BF, 36044 },
- { 0x3381, 36047 },
- { 0x338B, 36049 },
- { 0x339A, 36051 },
- { 0x33B1, 36053 },
- { 0x33B5, 36055 },
- { 0x33BB, 36057 },
- { 0x3375, 36059 },
- { 0x33A9, 36061 },
- { 0x3380, 36063 },
- { 0x3376, 36066 },
- { 0x338A, 36068 },
- { 0x33D7, 36070 },
- { 0x33D8, 36072 },
- { 0x33DA, 36074 },
- { 0x33B0, 36076 },
- { 0x33B4, 36078 },
- { 0x33BA, 36080 },
- { 0x33DB, 36082 },
- { 0x33DC, 36084 },
- { 0x33DD, 36086 },
- { 0x3374, 36088 },
- { 0x3388, 36090 },
- { 0x2293, 36092 },
- { 0x2294, 36094 },
- { 0x337E, 36096 },
- { 0x337B, 36100 },
- { 0x337C, 36104 },
- { 0x337D, 36108 },
- { 0x32CD, 36112 },
- { 0x33FF, 36114 },
- { 0x3393, 36116 },
- { 0x33AC, 36118 },
- { 0x333F, 36120 },
- { 0x3371, 36122 },
- { 0x3391, 36124 },
- { 0x33AA, 36126 },
- { 0x33D2, 36128 },
- { 0x3392, 36130 },
- { 0x33D5, 36132 },
- { 0x33D6, 36134 },
- { 0x33AB, 36136 },
- { 0x33D9, 36138 },
- { 0x33AD, 36140 },
- { 0x33AE, 36142 },
- { 0x33AF, 36146 },
- { 0x3394, 36151 },
- { 0x3327, 36153 },
- { 0x3306, 36155 },
- { 0x3303, 36157 },
- { 0x3331, 36159 },
- { 0x3325, 36161 },
- { 0x3326, 36163 },
- { 0x23CD, 36165 },
- { 0x3310, 36167 },
- { 0x3342, 36169 },
- { 0x3305, 36171 },
- { 0x3389, 36173 },
- { 0x3314, 36175 },
- { 0x2ACD, 36177 },
- { 0x334B, 36182 },
- { 0x3349, 36184 },
- { 0x3328, 36186 },
- { 0x3309, 36188 },
- { 0x330A, 36190 },
- { 0x3337, 36192 },
- { 0x3330, 36194 },
- { 0x3355, 36196 },
- { 0x3352, 36198 },
- { 0x221A, 36200 },
- { 0x2B12, 36202 },
- { 0x25E7, 36207 },
- { 0x2B15, 36212 },
- { 0x25EA, 36219 },
- { 0x25E8, 36226 },
- { 0x25A7, 36231 },
- { 0x25E9, 36239 },
- { 0x25A8, 36246 },
- { 0x2B14, 36254 },
- { 0x2B13, 36261 },
- { 0x25A9, 36266 },
- { 0x25A5, 36271 },
- { 0x29E0, 36275 },
- { 0x25A4, 36279 },
- { 0x25A6, 36283 },
- { 0x3350, 36288 },
- { 0x3302, 36290 },
- { 0x333C, 36292 },
- { 0x3324, 36294 },
- { 0x3308, 36296 },
- { 0x330F, 36298 },
- { 0x330E, 36300 },
- { 0x3311, 36302 },
- { 0x332A, 36304 },
- { 0x3341, 36306 },
- { 0x3335, 36308 },
- { 0x228F, 36310 },
- { 0x22E4, 36313 },
- { 0x2291, 36320 },
- { 0x330B, 36326 },
- { 0x331C, 36328 },
- { 0x331E, 36330 },
- { 0x3345, 36332 },
- { 0x3344, 36334 },
- { 0x3329, 36336 },
- { 0x332C, 36338 },
- { 0x333B, 36340 },
- { 0x333A, 36342 },
- { 0x3340, 36344 },
- { 0x2ACE, 36346 },
- { 0x3353, 36351 },
- { 0x3322, 36353 },
- { 0x3323, 36355 },
- { 0x3357, 36357 },
- { 0x334E, 36359 },
- { 0x334F, 36361 },
- { 0x3300, 36363 },
- { 0x3301, 36365 },
- { 0x333E, 36367 },
- { 0x3318, 36369 },
- { 0x3339, 36371 },
- { 0x3333, 36373 },
- { 0x3304, 36375 },
- { 0x331D, 36377 },
- { 0x3312, 36379 },
- { 0x3346, 36381 },
- { 0x3338, 36383 },
- { 0x332F, 36385 },
- { 0x333D, 36387 },
- { 0x332D, 36389 },
- { 0x3313, 36391 },
- { 0x330C, 36393 },
- { 0x330D, 36395 },
- { 0x331B, 36397 },
- { 0x2311, 36399 },
- { 0x3343, 36401 },
- { 0x3347, 36403 },
- { 0x334D, 36405 },
- { 0x334C, 36407 },
- { 0x3348, 36409 },
- { 0x3351, 36411 },
- { 0x3354, 36413 },
- { 0x331F, 36415 },
- { 0x3321, 36417 },
- { 0x3334, 36419 },
- { 0x3307, 36421 },
- { 0x3332, 36423 },
- { 0x2290, 36425 },
- { 0x22E5, 36428 },
- { 0x2292, 36435 },
- { 0x332B, 36441 },
- { 0x3356, 36443 },
- { 0x3320, 36445 },
- { 0x3319, 36447 },
- { 0x3336, 36449 },
- { 0x3317, 36451 },
- { 0x331A, 36453 },
- { 0x334A, 36455 },
- { 0x332E, 36457 },
- { 0x3315, 36459 },
- { 0x337F, 36461 },
- { 0x3316, 36463 },
- { 0x2729, 36465 },
- { 0x2282, 36469 },
- { 0x2286, 36471 },
- { 0x2AC3, 36476 },
- { 0x228A, 36484 },
- { 0x2ACB, 36490 },
- { 0x2AC7, 36496 },
- { 0x2AC9, 36501 },
- { 0x2AC5, 36507 },
- { 0x2ABD, 36512 },
- { 0x2ABF, 36515 },
- { 0x2AC1, 36520 },
- { 0x2AD5, 36525 },
- { 0x2AD3, 36528 },
- { 0x2979, 36531 },
- { 0x5806, 36535 },
- { 0x580B, 36539 },
- { 0x5802, 36543 },
- { 0x5823, 36547 },
- { 0x5826, 36552 },
- { 0x5824, 36557 },
- { 0x5825, 36562 },
- { 0x5827, 36567 },
- { 0x5800, 36572 },
- { 0x5804, 36576 },
- { 0x5801, 36580 },
- { 0x5805, 36584 },
- { 0x5803, 36588 },
- { 0x581B, 36592 },
- { 0x580C, 36596 },
- { 0x5816, 36600 },
- { 0x5809, 36604 },
- { 0x5822, 36608 },
- { 0x580E, 36612 },
- { 0x5807, 36616 },
- { 0x581F, 36620 },
- { 0x581D, 36624 },
- { 0x5818, 36628 },
- { 0x5819, 36632 },
- { 0x581E, 36636 },
- { 0x5821, 36640 },
- { 0x5814, 36644 },
- { 0x581C, 36648 },
- { 0x580D, 36652 },
- { 0x5812, 36656 },
- { 0x5817, 36660 },
- { 0x580A, 36664 },
- { 0x580F, 36668 },
- { 0x5808, 36672 },
- { 0x581A, 36676 },
- { 0x5820, 36680 },
- { 0x5815, 36684 },
- { 0x5810, 36688 },
- { 0x5813, 36692 },
- { 0x5811, 36696 },
- { 0x5828, 36700 },
- { 0x5829, 36704 },
- { 0x582A, 36708 },
- { 0x582B, 36712 },
- { 0x2403, 36716 },
- { 0x2419, 36721 },
- { 0x2404, 36726 },
- { 0x2417, 36731 },
- { 0x2407, 36737 },
- { 0x2410, 36740 },
- { 0x241C, 36745 },
- { 0x240C, 36749 },
- { 0x240A, 36753 },
- { 0x2400, 36757 },
- { 0x241F, 36760 },
- { 0x241D, 36764 },
- { 0x240F, 36768 },
- { 0x240E, 36772 },
- { 0x2420, 36776 },
- { 0x2402, 36779 },
- { 0x2401, 36784 },
- { 0x2418, 36789 },
- { 0x2421, 36792 },
- { 0x2425, 36795 },
- { 0x2411, 36800 },
- { 0x2412, 36805 },
- { 0x2414, 36810 },
- { 0x2413, 36815 },
- { 0x241B, 36820 },
- { 0x241E, 36823 },
- { 0x2405, 36827 },
- { 0x2424, 36830 },
- { 0x240D, 36833 },
- { 0x2415, 36837 },
- { 0x240B, 36841 },
- { 0x2408, 36845 },
- { 0x214F, 36848 },
- { 0x2409, 36852 },
- { 0x241A, 36856 },
- { 0x2426, 36859 },
- { 0x2406, 36864 },
- { 0x2416, 36867 },
- { 0x0700, 36871 },
- { 0x0743, 36875 },
- { 0x0744, 36880 },
- { 0x0706, 36885 },
- { 0x0707, 36889 },
- { 0x073D, 36893 },
- { 0x073E, 36896 },
- { 0x073A, 36899 },
- { 0x073B, 36902 },
- { 0x0749, 36905 },
- { 0x0736, 36907 },
- { 0x0737, 36910 },
- { 0x073F, 36913 },
- { 0x0745, 36915 },
- { 0x0746, 36919 },
- { 0x0739, 36923 },
- { 0x0738, 36927 },
- { 0x0725, 36931 },
- { 0x0717, 36934 },
- { 0x0726, 36937 },
- { 0x0721, 36940 },
- { 0x0722, 36943 },
- { 0x072C, 36946 },
- { 0x0718, 36949 },
- { 0x0712, 36952 },
- { 0x071A, 36955 },
- { 0x071F, 36958 },
- { 0x0729, 36961 },
- { 0x072A, 36964 },
- { 0x072B, 36967 },
- { 0x071B, 36970 },
- { 0x071C, 36973 },
- { 0x071D, 36977 },
- { 0x071E, 36980 },
- { 0x0719, 36984 },
- { 0x0710, 36987 },
- { 0x0724, 36990 },
- { 0x0713, 36994 },
- { 0x0714, 36997 },
- { 0x0728, 37001 },
- { 0x0715, 37004 },
- { 0x0720, 37007 },
- { 0x0716, 37010 },
- { 0x072D, 37015 },
- { 0x072E, 37019 },
- { 0x072F, 37023 },
- { 0x0723, 37027 },
- { 0x074F, 37030 },
- { 0x074E, 37034 },
- { 0x074D, 37038 },
- { 0x0727, 37042 },
- { 0x0711, 37046 },
- { 0x0730, 37050 },
- { 0x0731, 37053 },
- { 0x0732, 37056 },
- { 0x0733, 37059 },
- { 0x0734, 37062 },
- { 0x0735, 37065 },
- { 0x074A, 37068 },
- { 0x0747, 37070 },
- { 0x0748, 37074 },
- { 0x0740, 37078 },
- { 0x070B, 37081 },
- { 0x070C, 37084 },
- { 0x070D, 37087 },
- { 0x0742, 37090 },
- { 0x0741, 37092 },
- { 0x0702, 37094 },
- { 0x0704, 37098 },
- { 0x0709, 37101 },
- { 0x0705, 37106 },
- { 0x070A, 37109 },
- { 0x073C, 37111 },
- { 0x0701, 37114 },
- { 0x0703, 37118 },
- { 0x0708, 37121 },
- { 0x070F, 37126 },
- { 0x2649, 37129 },
- { 0x0C56, 37130 },
- { 0x0C7F, 37134 },
- { 0x0C4D, 37137 },
- { 0x0C03, 37140 },
- { 0x0C02, 37143 },
- { 0x0C3D, 37146 },
- { 0x0C01, 37149 },
- { 0x0C67, 37152 },
- { 0x0C6C, 37155 },
- { 0x0C68, 37158 },
- { 0x0C6B, 37161 },
- { 0x0C6A, 37164 },
- { 0x0C6F, 37167 },
- { 0x0C66, 37170 },
- { 0x0C6E, 37173 },
- { 0x0C6D, 37176 },
- { 0x0C69, 37179 },
- { 0x0C46, 37182 },
- { 0x0C3F, 37186 },
- { 0x0C4A, 37190 },
- { 0x0C41, 37194 },
- { 0x0C3E, 37198 },
- { 0x0C48, 37202 },
- { 0x0C4C, 37206 },
- { 0x0C47, 37210 },
- { 0x0C40, 37214 },
- { 0x0C4B, 37218 },
- { 0x0C42, 37222 },
- { 0x0C62, 37226 },
- { 0x0C43, 37231 },
- { 0x0C63, 37236 },
- { 0x0C44, 37241 },
- { 0x0C55, 37246 },
- { 0x0C05, 37249 },
- { 0x0C0E, 37252 },
- { 0x0C07, 37255 },
- { 0x0C12, 37258 },
- { 0x0C09, 37261 },
- { 0x0C06, 37264 },
- { 0x0C10, 37267 },
- { 0x0C14, 37270 },
- { 0x0C2C, 37273 },
- { 0x0C1A, 37276 },
- { 0x0C26, 37279 },
- { 0x0C0F, 37282 },
- { 0x0C17, 37285 },
- { 0x0C39, 37288 },
- { 0x0C08, 37291 },
- { 0x0C1C, 37294 },
- { 0x0C15, 37297 },
- { 0x0C32, 37300 },
- { 0x0C2E, 37303 },
- { 0x0C28, 37306 },
- { 0x0C13, 37309 },
- { 0x0C2A, 37312 },
- { 0x0C30, 37315 },
- { 0x0C38, 37318 },
- { 0x0C24, 37321 },
- { 0x0C0A, 37324 },
- { 0x0C35, 37327 },
- { 0x0C2F, 37330 },
- { 0x0C2D, 37333 },
- { 0x0C1B, 37336 },
- { 0x0C21, 37339 },
- { 0x0C27, 37342 },
- { 0x0C59, 37345 },
- { 0x0C18, 37348 },
- { 0x0C1D, 37351 },
- { 0x0C16, 37354 },
- { 0x0C33, 37357 },
- { 0x0C19, 37360 },
- { 0x0C23, 37363 },
- { 0x0C1E, 37366 },
- { 0x0C2B, 37369 },
- { 0x0C31, 37372 },
- { 0x0C36, 37375 },
- { 0x0C37, 37378 },
- { 0x0C25, 37381 },
- { 0x0C58, 37384 },
- { 0x0C1F, 37387 },
- { 0x0C22, 37390 },
- { 0x0C20, 37393 },
- { 0x0C0C, 37396 },
- { 0x0C0B, 37400 },
- { 0x0C61, 37404 },
- { 0x0C60, 37408 },
- { 0x0C79, 37412 },
- { 0x0C7C, 37421 },
- { 0x0C7A, 37430 },
- { 0x0C7D, 37439 },
- { 0x0C78, 37448 },
- { 0x0C7B, 37457 },
- { 0x0C7E, 37466 },
- { 0x07B0, 37475 },
- { 0x07A0, 37477 },
- { 0x07A1, 37480 },
- { 0x0784, 37483 },
- { 0x0780, 37486 },
- { 0x07B1, 37489 },
- { 0x0783, 37492 },
- { 0x0794, 37495 },
- { 0x079C, 37498 },
- { 0x07A2, 37501 },
- { 0x0799, 37504 },
- { 0x079A, 37507 },
- { 0x078C, 37510 },
- { 0x0798, 37513 },
- { 0x0787, 37516 },
- { 0x078A, 37519 },
- { 0x078E, 37522 },
- { 0x0786, 37525 },
- { 0x078D, 37528 },
- { 0x0789, 37531 },
- { 0x0782, 37534 },
- { 0x07A4, 37537 },
- { 0x0790, 37540 },
- { 0x0788, 37543 },
- { 0x07A5, 37546 },
- { 0x079F, 37549 },
- { 0x078B, 37552 },
- { 0x07A3, 37555 },
- { 0x079E, 37558 },
- { 0x079D, 37561 },
- { 0x079B, 37564 },
- { 0x0791, 37567 },
- { 0x0796, 37570 },
- { 0x0795, 37573 },
- { 0x0793, 37576 },
- { 0x0792, 37579 },
- { 0x0797, 37582 },
- { 0x078F, 37585 },
- { 0x0785, 37588 },
- { 0x0781, 37591 },
- { 0x07A6, 37594 },
- { 0x07AC, 37596 },
- { 0x07A8, 37598 },
- { 0x07AE, 37600 },
- { 0x07AA, 37602 },
- { 0x07A7, 37604 },
- { 0x07A9, 37606 },
- { 0x07AD, 37608 },
- { 0x07AF, 37610 },
- { 0x07AB, 37612 },
- { 0x29FB, 37614 },
- { 0x2AF6, 37616 },
- { 0x2034, 37619 },
- { 0x224B, 37621 },
- { 0x2AF7, 37623 },
- { 0x2AF8, 37626 },
- { 0x2AFB, 37629 },
- { 0x222D, 37633 },
- { 0x2AF5, 37635 },
- { 0x22AA, 37641 },
- { 0x2AF4, 37646 },
- { 0x2980, 37651 },
- { 0x2A68, 37655 },
- { 0x2A69, 37662 },
- { 0x20AE, 37669 },
- { 0x2319, 37671 },
- { 0x29A2, 37674 },
- { 0x2129, 37676 },
- { 0x214E, 37681 },
- { 0x2132, 37684 },
- { 0x214B, 37687 },
- { 0x2141, 37689 },
- { 0x2142, 37693 },
- { 0x2144, 37697 },
- { 0x2739, 37701 },
- { 0x2645, 37705 },
- { 0x2A2F, 37706 },
- { 0x2230, 37710 },
- { 0x00BD, 37712 },
- { 0x2155, 37716 },
- { 0x2159, 37720 },
- { 0x2153, 37724 },
- { 0x215B, 37728 },
- { 0x00BC, 37732 },
- { 0x2156, 37736 },
- { 0x2154, 37740 },
- { 0x215A, 37744 },
- { 0x215D, 37748 },
- { 0x2158, 37752 },
- { 0x215E, 37756 },
- { 0x2157, 37760 },
- { 0x215C, 37764 },
- { 0x00BE, 37768 },
- { 0x2240, 37772 },
- { 0x2100, 37774 },
- { 0x060B, 37776 },
- { 0x2697, 37778 },
- { 0x20B3, 37779 },
- { 0x2235, 37781 },
- { 0x09D7, 37782 },
- { 0x09BC, 37786 },
- { 0x09CD, 37789 },
- { 0x0983, 37792 },
- { 0x0982, 37795 },
- { 0x09BD, 37798 },
- { 0x0981, 37801 },
- { 0x09E7, 37804 },
- { 0x09EC, 37807 },
- { 0x09E8, 37810 },
- { 0x09EB, 37813 },
- { 0x09EA, 37816 },
- { 0x09EF, 37819 },
- { 0x09E6, 37822 },
- { 0x09EE, 37825 },
- { 0x09ED, 37828 },
- { 0x09E9, 37831 },
- { 0x09F2, 37834 },
- { 0x09F3, 37837 },
- { 0x09C7, 37840 },
- { 0x09BF, 37844 },
- { 0x09CB, 37848 },
- { 0x09C1, 37852 },
- { 0x09BE, 37856 },
- { 0x09C8, 37860 },
- { 0x09CC, 37864 },
- { 0x09C0, 37868 },
- { 0x09C2, 37872 },
- { 0x09E2, 37876 },
- { 0x09C3, 37881 },
- { 0x09E3, 37886 },
- { 0x09C4, 37891 },
- { 0x09FA, 37896 },
- { 0x0985, 37898 },
- { 0x098F, 37901 },
- { 0x0987, 37904 },
- { 0x0993, 37907 },
- { 0x0989, 37910 },
- { 0x0986, 37913 },
- { 0x0990, 37916 },
- { 0x0994, 37919 },
- { 0x09AC, 37922 },
- { 0x099A, 37925 },
- { 0x09A6, 37928 },
- { 0x0997, 37931 },
- { 0x09B9, 37934 },
- { 0x0988, 37937 },
- { 0x099C, 37940 },
- { 0x0995, 37943 },
- { 0x09B2, 37946 },
- { 0x09AE, 37949 },
- { 0x09A8, 37952 },
- { 0x09AA, 37955 },
- { 0x09B0, 37958 },
- { 0x09F1, 37961 },
- { 0x09F0, 37967 },
- { 0x09B8, 37973 },
- { 0x09A4, 37976 },
- { 0x098A, 37979 },
- { 0x09AF, 37982 },
- { 0x09AD, 37985 },
- { 0x099B, 37988 },
- { 0x09A1, 37991 },
- { 0x09A7, 37994 },
- { 0x0998, 37997 },
- { 0x099D, 38000 },
- { 0x0996, 38003 },
- { 0x0999, 38006 },
- { 0x09A3, 38009 },
- { 0x099E, 38012 },
- { 0x09AB, 38015 },
- { 0x09DD, 38018 },
- { 0x09DC, 38021 },
- { 0x09B6, 38024 },
- { 0x09B7, 38027 },
- { 0x09A5, 38030 },
- { 0x099F, 38033 },
- { 0x09DF, 38036 },
- { 0x09A2, 38039 },
- { 0x09A0, 38042 },
- { 0x09CE, 38045 },
- { 0x098C, 38049 },
- { 0x098B, 38053 },
- { 0x09E1, 38057 },
- { 0x09E0, 38061 },
- { 0x09F4, 38065 },
- { 0x09F8, 38069 },
- { 0x09F5, 38077 },
- { 0x09F7, 38081 },
- { 0x09F6, 38085 },
- { 0x09F9, 38089 },
- { 0x232C, 38093 },
- { 0x23E3, 38095 },
- { 0x226C, 38099 },
- { 0x2800, 38100 },
- { 0x2801, 38103 },
- { 0x2802, 38106 },
- { 0x2804, 38109 },
- { 0x2808, 38112 },
- { 0x2810, 38115 },
- { 0x2820, 38118 },
- { 0x2840, 38121 },
- { 0x2880, 38124 },
- { 0x2803, 38127 },
- { 0x2805, 38130 },
- { 0x2809, 38133 },
- { 0x2811, 38136 },
- { 0x2821, 38139 },
- { 0x2841, 38142 },
- { 0x2881, 38145 },
- { 0x2806, 38148 },
- { 0x280A, 38151 },
- { 0x2812, 38154 },
- { 0x2822, 38157 },
- { 0x2842, 38160 },
- { 0x2882, 38163 },
- { 0x280C, 38166 },
- { 0x2814, 38169 },
- { 0x2824, 38172 },
- { 0x2844, 38175 },
- { 0x2884, 38178 },
- { 0x2818, 38181 },
- { 0x2828, 38184 },
- { 0x2848, 38187 },
- { 0x2888, 38190 },
- { 0x2830, 38193 },
- { 0x2850, 38196 },
- { 0x2890, 38199 },
- { 0x2860, 38202 },
- { 0x28A0, 38205 },
- { 0x28C0, 38208 },
- { 0x2807, 38211 },
- { 0x280B, 38214 },
- { 0x2813, 38217 },
- { 0x2823, 38220 },
- { 0x2843, 38223 },
- { 0x2883, 38226 },
- { 0x280D, 38229 },
- { 0x2815, 38232 },
- { 0x2825, 38235 },
- { 0x2845, 38238 },
- { 0x2885, 38241 },
- { 0x2819, 38244 },
- { 0x2829, 38247 },
- { 0x2849, 38250 },
- { 0x2889, 38253 },
- { 0x2831, 38256 },
- { 0x2851, 38259 },
- { 0x2891, 38262 },
- { 0x2861, 38265 },
- { 0x28A1, 38268 },
- { 0x28C1, 38271 },
- { 0x280E, 38274 },
- { 0x2816, 38277 },
- { 0x2826, 38280 },
- { 0x2846, 38283 },
- { 0x2886, 38286 },
- { 0x281A, 38289 },
- { 0x282A, 38292 },
- { 0x284A, 38295 },
- { 0x288A, 38298 },
- { 0x2832, 38301 },
- { 0x2852, 38304 },
- { 0x2892, 38307 },
- { 0x2862, 38310 },
- { 0x28A2, 38313 },
- { 0x28C2, 38316 },
- { 0x281C, 38319 },
- { 0x282C, 38322 },
- { 0x284C, 38325 },
- { 0x288C, 38328 },
- { 0x2834, 38331 },
- { 0x2854, 38334 },
- { 0x2894, 38337 },
- { 0x2864, 38340 },
- { 0x28A4, 38343 },
- { 0x28C4, 38346 },
- { 0x2838, 38349 },
- { 0x2858, 38352 },
- { 0x2898, 38355 },
- { 0x2868, 38358 },
- { 0x28A8, 38361 },
- { 0x28C8, 38364 },
- { 0x2870, 38367 },
- { 0x28B0, 38370 },
- { 0x28D0, 38373 },
- { 0x28E0, 38376 },
- { 0x280F, 38379 },
- { 0x2817, 38382 },
- { 0x2827, 38385 },
- { 0x2847, 38388 },
- { 0x2887, 38391 },
- { 0x281B, 38394 },
- { 0x282B, 38397 },
- { 0x284B, 38400 },
- { 0x288B, 38403 },
- { 0x2833, 38406 },
- { 0x2853, 38409 },
- { 0x2893, 38412 },
- { 0x2863, 38415 },
- { 0x28A3, 38418 },
- { 0x28C3, 38421 },
- { 0x281D, 38424 },
- { 0x282D, 38427 },
- { 0x284D, 38430 },
- { 0x288D, 38433 },
- { 0x2835, 38436 },
- { 0x2855, 38439 },
- { 0x2895, 38442 },
- { 0x2865, 38445 },
- { 0x28A5, 38448 },
- { 0x28C5, 38451 },
- { 0x2839, 38454 },
- { 0x2859, 38457 },
- { 0x2899, 38460 },
- { 0x2869, 38463 },
- { 0x28A9, 38466 },
- { 0x28C9, 38469 },
- { 0x2871, 38472 },
- { 0x28B1, 38475 },
- { 0x28D1, 38478 },
- { 0x28E1, 38481 },
- { 0x281E, 38484 },
- { 0x282E, 38487 },
- { 0x284E, 38490 },
- { 0x288E, 38493 },
- { 0x2836, 38496 },
- { 0x2856, 38499 },
- { 0x2896, 38502 },
- { 0x2866, 38505 },
- { 0x28A6, 38508 },
- { 0x28C6, 38511 },
- { 0x283A, 38514 },
- { 0x285A, 38517 },
- { 0x289A, 38520 },
- { 0x286A, 38523 },
- { 0x28AA, 38526 },
- { 0x28CA, 38529 },
- { 0x2872, 38532 },
- { 0x28B2, 38535 },
- { 0x28D2, 38538 },
- { 0x28E2, 38541 },
- { 0x283C, 38544 },
- { 0x285C, 38547 },
- { 0x289C, 38550 },
- { 0x286C, 38553 },
- { 0x28AC, 38556 },
- { 0x28CC, 38559 },
- { 0x2874, 38562 },
- { 0x28B4, 38565 },
- { 0x28D4, 38568 },
- { 0x28E4, 38571 },
- { 0x2878, 38574 },
- { 0x28B8, 38577 },
- { 0x28D8, 38580 },
- { 0x28E8, 38583 },
- { 0x28F0, 38586 },
- { 0x281F, 38589 },
- { 0x282F, 38592 },
- { 0x284F, 38595 },
- { 0x288F, 38598 },
- { 0x2837, 38601 },
- { 0x2857, 38604 },
- { 0x2897, 38607 },
- { 0x2867, 38610 },
- { 0x28A7, 38613 },
- { 0x28C7, 38616 },
- { 0x283B, 38619 },
- { 0x285B, 38622 },
- { 0x289B, 38625 },
- { 0x286B, 38628 },
- { 0x28AB, 38631 },
- { 0x28CB, 38634 },
- { 0x2873, 38637 },
- { 0x28B3, 38640 },
- { 0x28D3, 38643 },
- { 0x28E3, 38646 },
- { 0x283D, 38649 },
- { 0x285D, 38652 },
- { 0x289D, 38655 },
- { 0x286D, 38658 },
- { 0x28AD, 38661 },
- { 0x28CD, 38664 },
- { 0x2875, 38667 },
- { 0x28B5, 38670 },
- { 0x28D5, 38673 },
- { 0x28E5, 38676 },
- { 0x2879, 38679 },
- { 0x28B9, 38682 },
- { 0x28D9, 38685 },
- { 0x28E9, 38688 },
- { 0x28F1, 38691 },
- { 0x283E, 38694 },
- { 0x285E, 38697 },
- { 0x289E, 38700 },
- { 0x286E, 38703 },
- { 0x28AE, 38706 },
- { 0x28CE, 38709 },
- { 0x2876, 38712 },
- { 0x28B6, 38715 },
- { 0x28D6, 38718 },
- { 0x28E6, 38721 },
- { 0x287A, 38724 },
- { 0x28BA, 38727 },
- { 0x28DA, 38730 },
- { 0x28EA, 38733 },
- { 0x28F2, 38736 },
- { 0x287C, 38739 },
- { 0x28BC, 38742 },
- { 0x28DC, 38745 },
- { 0x28EC, 38748 },
- { 0x28F4, 38751 },
- { 0x28F8, 38754 },
- { 0x283F, 38757 },
- { 0x285F, 38760 },
- { 0x289F, 38763 },
- { 0x286F, 38766 },
- { 0x28AF, 38769 },
- { 0x28CF, 38772 },
- { 0x2877, 38775 },
- { 0x28B7, 38778 },
- { 0x28D7, 38781 },
- { 0x28E7, 38784 },
- { 0x287B, 38787 },
- { 0x28BB, 38790 },
- { 0x28DB, 38793 },
- { 0x28EB, 38796 },
- { 0x28F3, 38799 },
- { 0x287D, 38802 },
- { 0x28BD, 38805 },
- { 0x28DD, 38808 },
- { 0x28ED, 38811 },
- { 0x28F5, 38814 },
- { 0x28F9, 38817 },
- { 0x287E, 38820 },
- { 0x28BE, 38823 },
- { 0x28DE, 38826 },
- { 0x28EE, 38829 },
- { 0x28F6, 38832 },
- { 0x28FA, 38835 },
- { 0x28FC, 38838 },
- { 0x287F, 38841 },
- { 0x28BF, 38844 },
- { 0x28DF, 38847 },
- { 0x28EF, 38850 },
- { 0x28F7, 38853 },
- { 0x28FB, 38856 },
- { 0x28FD, 38859 },
- { 0x28FE, 38862 },
- { 0x28FF, 38865 },
- { 0x2621, 38868 },
- { 0x00B8, 38870 },
- { 0x2299, 38871 },
- { 0x229D, 38874 },
- { 0x2742, 38876 },
- { 0x2295, 38882 },
- { 0x229A, 38884 },
- { 0x2460, 38887 },
- { 0x2465, 38890 },
- { 0x2461, 38893 },
- { 0x2464, 38896 },
- { 0x2463, 38899 },
- { 0x2468, 38902 },
- { 0x24EA, 38905 },
- { 0x2467, 38908 },
- { 0x2466, 38911 },
- { 0x2462, 38914 },
- { 0x27B2, 38917 },
- { 0x24D0, 38922 },
- { 0x24D1, 38927 },
- { 0x24D2, 38932 },
- { 0x24D3, 38937 },
- { 0x24D4, 38942 },
- { 0x24D5, 38947 },
- { 0x24D6, 38952 },
- { 0x24D7, 38957 },
- { 0x24D8, 38962 },
- { 0x24D9, 38967 },
- { 0x24DA, 38972 },
- { 0x24DB, 38977 },
- { 0x24DC, 38982 },
- { 0x24DD, 38987 },
- { 0x24DE, 38992 },
- { 0x24DF, 38997 },
- { 0x24E0, 39002 },
- { 0x24E1, 39007 },
- { 0x24E2, 39012 },
- { 0x24E3, 39017 },
- { 0x24E4, 39022 },
- { 0x24E5, 39027 },
- { 0x24E6, 39032 },
- { 0x24E7, 39037 },
- { 0x24E8, 39042 },
- { 0x24E9, 39047 },
- { 0x24B6, 39052 },
- { 0x24B7, 39057 },
- { 0x24B8, 39062 },
- { 0x24B9, 39067 },
- { 0x24BA, 39072 },
- { 0x24BB, 39077 },
- { 0x24BC, 39082 },
- { 0x24BD, 39087 },
- { 0x24BE, 39092 },
- { 0x24BF, 39097 },
- { 0x24C0, 39102 },
- { 0x24C1, 39107 },
- { 0x24C2, 39112 },
- { 0x24C3, 39117 },
- { 0x24C4, 39122 },
- { 0x24C5, 39127 },
- { 0x24C6, 39132 },
- { 0x24C7, 39137 },
- { 0x24C8, 39142 },
- { 0x24C9, 39147 },
- { 0x24CA, 39152 },
- { 0x24CB, 39157 },
- { 0x24CC, 39162 },
- { 0x24CD, 39167 },
- { 0x24CE, 39172 },
- { 0x24CF, 39177 },
- { 0x2296, 39182 },
- { 0x2297, 39184 },
- { 0x272A, 39186 },
- { 0x29BE, 39189 },
- { 0x29BF, 39192 },
- { 0x229C, 39194 },
- { 0x3266, 39196 },
- { 0x3274, 39199 },
- { 0x3268, 39203 },
- { 0x3276, 39206 },
- { 0x326D, 39210 },
- { 0x327B, 39213 },
- { 0x3267, 39217 },
- { 0x3275, 39220 },
- { 0x327E, 39224 },
- { 0x3264, 39228 },
- { 0x3272, 39231 },
- { 0x3261, 39235 },
- { 0x326F, 39238 },
- { 0x3265, 39242 },
- { 0x3273, 39245 },
- { 0x3263, 39249 },
- { 0x3271, 39252 },
- { 0x3260, 39256 },
- { 0x326E, 39259 },
- { 0x3262, 39263 },
- { 0x3270, 39266 },
- { 0x3269, 39270 },
- { 0x3277, 39273 },
- { 0x326A, 39277 },
- { 0x3278, 39280 },
- { 0x326C, 39284 },
- { 0x327A, 39287 },
- { 0x326B, 39291 },
- { 0x3279, 39294 },
- { 0x327D, 39298 },
- { 0x327C, 39302 },
- { 0x2469, 39306 },
- { 0x32BF, 39309 },
- { 0x32B5, 39312 },
- { 0x32B6, 39315 },
- { 0x32BB, 39319 },
- { 0x32B7, 39323 },
- { 0x32BA, 39327 },
- { 0x32B9, 39331 },
- { 0x32BE, 39335 },
- { 0x32BD, 39339 },
- { 0x32BC, 39343 },
- { 0x32B8, 39347 },
- { 0x246A, 39351 },
- { 0x325A, 39354 },
- { 0x325B, 39357 },
- { 0x32B1, 39361 },
- { 0x325C, 39365 },
- { 0x325F, 39369 },
- { 0x325E, 39373 },
- { 0x32B4, 39377 },
- { 0x32B3, 39381 },
- { 0x32B2, 39385 },
- { 0x325D, 39389 },
- { 0x246B, 39393 },
- { 0x2473, 39396 },
- { 0x3251, 39399 },
- { 0x3256, 39403 },
- { 0x3252, 39407 },
- { 0x3255, 39411 },
- { 0x3254, 39415 },
- { 0x3259, 39419 },
- { 0x3258, 39423 },
- { 0x3257, 39427 },
- { 0x3253, 39431 },
- { 0x246E, 39435 },
- { 0x246F, 39438 },
- { 0x2471, 39441 },
- { 0x246D, 39444 },
- { 0x2472, 39447 },
- { 0x246C, 39450 },
- { 0x2470, 39453 },
- { 0x3036, 39456 },
- { 0x29B8, 39459 },
- { 0x229B, 39462 },
- { 0x2A38, 39465 },
- { 0x2298, 39468 },
- { 0x32D0, 39471 },
- { 0x32D3, 39474 },
- { 0x32D1, 39477 },
- { 0x32D4, 39480 },
- { 0x32D2, 39483 },
- { 0x32E9, 39486 },
- { 0x32EC, 39489 },
- { 0x32EA, 39492 },
- { 0x32ED, 39495 },
- { 0x32EB, 39498 },
- { 0x32D5, 39501 },
- { 0x32D8, 39504 },
- { 0x32D6, 39507 },
- { 0x32D9, 39510 },
- { 0x32D7, 39513 },
- { 0x32EE, 39516 },
- { 0x32F1, 39519 },
- { 0x32EF, 39522 },
- { 0x32F2, 39525 },
- { 0x32F0, 39528 },
- { 0x32E4, 39531 },
- { 0x32E7, 39534 },
- { 0x32E5, 39537 },
- { 0x32E8, 39540 },
- { 0x32E6, 39543 },
- { 0x32F6, 39546 },
- { 0x32F9, 39549 },
- { 0x32F7, 39552 },
- { 0x32FA, 39555 },
- { 0x32F8, 39558 },
- { 0x32DA, 39561 },
- { 0x32DD, 39564 },
- { 0x32DB, 39567 },
- { 0x32DE, 39570 },
- { 0x32DC, 39573 },
- { 0x32DF, 39576 },
- { 0x32E2, 39579 },
- { 0x32E0, 39582 },
- { 0x32E3, 39585 },
- { 0x32E1, 39588 },
- { 0x32FB, 39591 },
- { 0x32FD, 39594 },
- { 0x32FC, 39597 },
- { 0x32FE, 39600 },
- { 0x32F3, 39603 },
- { 0x32F5, 39606 },
- { 0x32F4, 39609 },
- { 0x29B7, 39612 },
- { 0x238A, 39614 },
- { 0x29B6, 39617 },
- { 0x32A6, 39620 },
- { 0x3280, 39623 },
- { 0x3285, 39626 },
- { 0x3290, 39629 },
- { 0x3289, 39632 },
- { 0x3281, 39635 },
- { 0x32A2, 39638 },
- { 0x328B, 39641 },
- { 0x3284, 39644 },
- { 0x3283, 39647 },
- { 0x3292, 39650 },
- { 0x32A4, 39653 },
- { 0x32A0, 39656 },
- { 0x32A7, 39659 },
- { 0x329A, 39662 },
- { 0x328A, 39665 },
- { 0x3294, 39668 },
- { 0x3288, 39671 },
- { 0x32A1, 39674 },
- { 0x328D, 39677 },
- { 0x328F, 39680 },
- { 0x3287, 39683 },
- { 0x3298, 39686 },
- { 0x328E, 39689 },
- { 0x32B0, 39692 },
- { 0x329E, 39695 },
- { 0x32A8, 39698 },
- { 0x3286, 39701 },
- { 0x3291, 39704 },
- { 0x32AB, 39707 },
- { 0x3282, 39710 },
- { 0x328C, 39713 },
- { 0x32A5, 39716 },
- { 0x329B, 39719 },
- { 0x3299, 39722 },
- { 0x32A3, 39725 },
- { 0x3293, 39728 },
- { 0x3295, 39731 },
- { 0x32AF, 39734 },
- { 0x32A9, 39737 },
- { 0x32AA, 39740 },
- { 0x32AE, 39743 },
- { 0x329C, 39746 },
- { 0x329F, 39749 },
- { 0x329D, 39752 },
- { 0x3296, 39755 },
- { 0x32AC, 39758 },
- { 0x32AD, 39761 },
- { 0x3297, 39764 },
- { 0x29C0, 39767 },
- { 0x2389, 39769 },
- { 0x29C1, 39774 },
- { 0x29B9, 39776 },
- { 0x2A36, 39778 },
- { 0x29BC, 39784 },
- { 0x2332, 39788 },
- { 0x222E, 39790 },
- { 0x2694, 39792 },
- { 0x7800, 39794 },
- { 0x7801, 39797 },
- { 0x7802, 39800 },
- { 0x7803, 39803 },
- { 0x7804, 39806 },
- { 0x7805, 39809 },
- { 0x7808, 39812 },
- { 0x780A, 39815 },
- { 0x780B, 39818 },
- { 0x780C, 39821 },
- { 0x780D, 39824 },
- { 0x780E, 39827 },
- { 0x780F, 39830 },
- { 0x7810, 39833 },
- { 0x7811, 39836 },
- { 0x7812, 39839 },
- { 0x7813, 39842 },
- { 0x7814, 39845 },
- { 0x7815, 39848 },
- { 0x7816, 39851 },
- { 0x7817, 39854 },
- { 0x7818, 39857 },
- { 0x7819, 39860 },
- { 0x781A, 39863 },
- { 0x781B, 39866 },
- { 0x781C, 39869 },
- { 0x781D, 39872 },
- { 0x781E, 39875 },
- { 0x781F, 39878 },
- { 0x7820, 39881 },
- { 0x7821, 39884 },
- { 0x7822, 39887 },
- { 0x7823, 39890 },
- { 0x7824, 39893 },
- { 0x7825, 39896 },
- { 0x7826, 39899 },
- { 0x7827, 39902 },
- { 0x7828, 39905 },
- { 0x7829, 39908 },
- { 0x782A, 39911 },
- { 0x782B, 39914 },
- { 0x782C, 39917 },
- { 0x782D, 39920 },
- { 0x782E, 39923 },
- { 0x782F, 39926 },
- { 0x7830, 39929 },
- { 0x7831, 39932 },
- { 0x7832, 39935 },
- { 0x7833, 39938 },
- { 0x7834, 39941 },
- { 0x7835, 39944 },
- { 0x7837, 39947 },
- { 0x7838, 39950 },
- { 0x783C, 39953 },
- { 0x783F, 39956 },
- { 0x2396, 39959 },
- { 0x7438, 39963 },
- { 0x7434, 39967 },
- { 0x7441, 39971 },
- { 0x744A, 39975 },
- { 0x744B, 39979 },
- { 0x744C, 39983 },
- { 0x7449, 39987 },
- { 0x7445, 39991 },
- { 0x744F, 39995 },
- { 0x744E, 39999 },
- { 0x7435, 40003 },
- { 0x7436, 40007 },
- { 0x743A, 40011 },
- { 0x743C, 40015 },
- { 0x744D, 40019 },
- { 0x7447, 40023 },
- { 0x7443, 40027 },
- { 0x7440, 40031 },
- { 0x743E, 40035 },
- { 0x743F, 40039 },
- { 0x7439, 40043 },
- { 0x743B, 40047 },
- { 0x7442, 40051 },
- { 0x7437, 40055 },
- { 0x7446, 40059 },
- { 0x743D, 40063 },
- { 0x742A, 40067 },
- { 0x7429, 40072 },
- { 0x7428, 40077 },
- { 0x742C, 40082 },
- { 0x742B, 40087 },
- { 0x742D, 40092 },
- { 0x7444, 40097 },
- { 0x7448, 40101 },
- { 0x7430, 40105 },
- { 0x742F, 40110 },
- { 0x742E, 40115 },
- { 0x7432, 40120 },
- { 0x7431, 40125 },
- { 0x7433, 40130 },
- { 0x7410, 40135 },
- { 0x740C, 40139 },
- { 0x7419, 40143 },
- { 0x7422, 40147 },
- { 0x7423, 40151 },
- { 0x7424, 40155 },
- { 0x7421, 40159 },
- { 0x741D, 40163 },
- { 0x7427, 40167 },
- { 0x7426, 40171 },
- { 0x740D, 40175 },
- { 0x740E, 40179 },
- { 0x7412, 40183 },
- { 0x7414, 40187 },
- { 0x7425, 40191 },
- { 0x741F, 40195 },
- { 0x741B, 40199 },
- { 0x7418, 40203 },
- { 0x7416, 40207 },
- { 0x7417, 40211 },
- { 0x7411, 40215 },
- { 0x7413, 40219 },
- { 0x741A, 40223 },
- { 0x740F, 40227 },
- { 0x741E, 40231 },
- { 0x7415, 40235 },
- { 0x7402, 40239 },
- { 0x7401, 40244 },
- { 0x7400, 40249 },
- { 0x7404, 40254 },
- { 0x7403, 40259 },
- { 0x7405, 40264 },
- { 0x741C, 40269 },
- { 0x7420, 40273 },
- { 0x7408, 40277 },
- { 0x7407, 40282 },
- { 0x7406, 40287 },
- { 0x740A, 40292 },
- { 0x7409, 40297 },
- { 0x740B, 40302 },
- { 0x2B18, 40307 },
- { 0x2B16, 40312 },
- { 0x2B17, 40317 },
- { 0x2B19, 40322 },
- { 0x22C4, 40327 },
- { 0x2780, 40329 },
- { 0x2785, 40334 },
- { 0x2781, 40339 },
- { 0x2784, 40344 },
- { 0x2783, 40349 },
- { 0x2788, 40354 },
- { 0x2787, 40359 },
- { 0x2786, 40364 },
- { 0x2782, 40369 },
- { 0x2789, 40374 },
- { 0x2776, 40379 },
- { 0x277B, 40384 },
- { 0x2777, 40389 },
- { 0x277A, 40394 },
- { 0x2779, 40399 },
- { 0x277E, 40404 },
- { 0x277D, 40409 },
- { 0x277C, 40414 },
- { 0x2778, 40419 },
- { 0x277F, 40424 },
- { 0x278A, 40429 },
- { 0x278F, 40435 },
- { 0x278B, 40441 },
- { 0x278E, 40447 },
- { 0x278D, 40453 },
- { 0x2792, 40459 },
- { 0x2791, 40465 },
- { 0x2790, 40471 },
- { 0x278C, 40477 },
- { 0x2793, 40483 },
- { 0x2223, 40489 },
- { 0x26AE, 40490 },
- { 0x26A3, 40492 },
- { 0x26A2, 40495 },
- { 0x20AF, 40498 },
- { 0x2208, 40500 },
- { 0x22F5, 40502 },
- { 0x22F9, 40507 },
- { 0x22F2, 40513 },
- { 0x22F6, 40519 },
- { 0x22F8, 40523 },
- { 0x22F3, 40527 },
- { 0x27D2, 40537 },
- { 0x2AD9, 40541 },
- { 0x292F, 40545 },
- { 0x292C, 40551 },
- { 0x25C9, 40556 },
- { 0x2ADC, 40557 },
- { 0x26B1, 40558 },
- { 0x20B2, 40560 },
- { 0x1734, 40562 },
- { 0x1732, 40565 },
- { 0x1733, 40569 },
- { 0x1720, 40573 },
- { 0x1721, 40576 },
- { 0x1722, 40579 },
- { 0x172A, 40582 },
- { 0x1727, 40585 },
- { 0x1724, 40588 },
- { 0x1731, 40591 },
- { 0x1723, 40594 },
- { 0x172E, 40597 },
- { 0x172B, 40600 },
- { 0x1728, 40603 },
- { 0x1729, 40606 },
- { 0x172D, 40609 },
- { 0x1730, 40612 },
- { 0x1726, 40615 },
- { 0x172F, 40618 },
- { 0x172C, 40621 },
- { 0x1725, 40624 },
- { 0x20B4, 40627 },
- { 0x206C, 40629 },
- { 0x206A, 40633 },
- { 0x25D9, 40636 },
- { 0x25D8, 40639 },
- { 0x2643, 40641 },
- { 0x0CD6, 40642 },
- { 0x0CBC, 40646 },
- { 0x0CCD, 40649 },
- { 0x0C83, 40652 },
- { 0x0C82, 40655 },
- { 0x0CBD, 40658 },
- { 0x0CF1, 40661 },
- { 0x0CF2, 40664 },
- { 0x0CE7, 40667 },
- { 0x0CEC, 40670 },
- { 0x0CE8, 40673 },
- { 0x0CEB, 40676 },
- { 0x0CEA, 40679 },
- { 0x0CEF, 40682 },
- { 0x0CE6, 40685 },
- { 0x0CEE, 40688 },
- { 0x0CED, 40691 },
- { 0x0CE9, 40694 },
- { 0x0CC6, 40697 },
- { 0x0CBF, 40701 },
- { 0x0CCA, 40705 },
- { 0x0CC1, 40709 },
- { 0x0CBE, 40713 },
- { 0x0CC8, 40717 },
- { 0x0CCC, 40721 },
- { 0x0CC7, 40725 },
- { 0x0CC0, 40729 },
- { 0x0CCB, 40733 },
- { 0x0CC2, 40737 },
- { 0x0CE2, 40741 },
- { 0x0CC3, 40746 },
- { 0x0CE3, 40751 },
- { 0x0CC4, 40756 },
- { 0x0CD5, 40761 },
- { 0x0C85, 40764 },
- { 0x0C8E, 40767 },
- { 0x0C87, 40770 },
- { 0x0C92, 40773 },
- { 0x0C89, 40776 },
- { 0x0C86, 40779 },
- { 0x0C90, 40782 },
- { 0x0C94, 40785 },
- { 0x0CAC, 40788 },
- { 0x0C9A, 40791 },
- { 0x0CA6, 40794 },
- { 0x0C8F, 40797 },
- { 0x0CDE, 40800 },
- { 0x0C97, 40803 },
- { 0x0CB9, 40806 },
- { 0x0C88, 40809 },
- { 0x0C9C, 40812 },
- { 0x0C95, 40815 },
- { 0x0CB2, 40818 },
- { 0x0CAE, 40821 },
- { 0x0CA8, 40824 },
- { 0x0C93, 40827 },
- { 0x0CAA, 40830 },
- { 0x0CB0, 40833 },
- { 0x0CB8, 40836 },
- { 0x0CA4, 40839 },
- { 0x0C8A, 40842 },
- { 0x0CB5, 40845 },
- { 0x0CAF, 40848 },
- { 0x0CAD, 40851 },
- { 0x0C9B, 40854 },
- { 0x0CA1, 40857 },
- { 0x0CA7, 40860 },
- { 0x0C98, 40863 },
- { 0x0C9D, 40866 },
- { 0x0C96, 40869 },
- { 0x0CB3, 40872 },
- { 0x0C99, 40875 },
- { 0x0CA3, 40878 },
- { 0x0C9E, 40881 },
- { 0x0CAB, 40884 },
- { 0x0CB1, 40887 },
- { 0x0CB6, 40890 },
- { 0x0CB7, 40893 },
- { 0x0CA5, 40896 },
- { 0x0C9F, 40899 },
- { 0x0CA2, 40902 },
- { 0x0CA0, 40905 },
- { 0x0C8C, 40908 },
- { 0x0C8B, 40912 },
- { 0x0CE1, 40916 },
- { 0x0CE0, 40920 },
- { 0x32CF, 40924 },
- { 0x2228, 40927 },
- { 0x2A52, 40929 },
- { 0x2A62, 40934 },
- { 0x2A63, 40939 },
- { 0x2A5B, 40944 },
- { 0x2A5D, 40949 },
- { 0x2A59, 40954 },
- { 0x2227, 40959 },
- { 0x2A51, 40961 },
- { 0x2A5E, 40966 },
- { 0x2A60, 40971 },
- { 0x2A5A, 40976 },
- { 0x2A5F, 40981 },
- { 0x2A5C, 40985 },
- { 0x25CA, 40990 },
- { 0x27E0, 40991 },
- { 0xA010, 40996 },
- { 0xA019, 41001 },
- { 0xA007, 41006 },
- { 0xA004, 41011 },
- { 0xA015, 41015 },
- { 0xA01E, 41020 },
- { 0xA00C, 41025 },
- { 0xA011, 41030 },
- { 0xA01A, 41035 },
- { 0xA008, 41040 },
- { 0xA02B, 41045 },
- { 0xA000, 41048 },
- { 0xA014, 41052 },
- { 0xA01D, 41057 },
- { 0xA00B, 41062 },
- { 0xA013, 41067 },
- { 0xA01C, 41072 },
- { 0xA00A, 41077 },
- { 0xA018, 41082 },
- { 0xA021, 41087 },
- { 0xA00F, 41092 },
- { 0xA022, 41097 },
- { 0xA002, 41100 },
- { 0xA017, 41104 },
- { 0xA020, 41109 },
- { 0xA00E, 41114 },
- { 0xA005, 41119 },
- { 0xA02A, 41123 },
- { 0xA003, 41126 },
- { 0xA016, 41130 },
- { 0xA01F, 41135 },
- { 0xA00D, 41140 },
- { 0xA001, 41145 },
- { 0xA012, 41149 },
- { 0xA01B, 41154 },
- { 0xA009, 41159 },
- { 0xA006, 41164 },
- { 0xA028, 41168 },
- { 0xA024, 41171 },
- { 0xA023, 41174 },
- { 0xA026, 41177 },
- { 0xA027, 41180 },
- { 0xA029, 41183 },
- { 0xA025, 41186 },
- { 0x2720, 41189 },
- { 0x263F, 41191 },
- { 0x22EF, 41192 },
- { 0x9121, 41195 },
- { 0x9122, 41199 },
- { 0x9123, 41203 },
- { 0x9124, 41209 },
- { 0x911E, 41215 },
- { 0x911F, 41219 },
- { 0x9120, 41225 },
- { 0x9143, 41231 },
- { 0x918E, 41235 },
- { 0x910A, 41238 },
- { 0x9196, 41242 },
- { 0x9135, 41245 },
- { 0x9109, 41249 },
- { 0x91A8, 41253 },
- { 0x9176, 41258 },
- { 0x9174, 41262 },
- { 0x9178, 41266 },
- { 0x917A, 41270 },
- { 0x9164, 41274 },
- { 0x9142, 41280 },
- { 0x91DD, 41286 },
- { 0x910C, 41290 },
- { 0x91B4, 41293 },
- { 0x91B5, 41296 },
- { 0x9125, 41300 },
- { 0x9126, 41304 },
- { 0x912C, 41308 },
- { 0x912D, 41312 },
- { 0x91C0, 41316 },
- { 0x91BF, 41320 },
- { 0x915E, 41324 },
- { 0x913C, 41328 },
- { 0x91B0, 41332 },
- { 0x9106, 41337 },
- { 0x9153, 41342 },
- { 0x9152, 41347 },
- { 0x9159, 41352 },
- { 0x9144, 41356 },
- { 0x9197, 41360 },
- { 0x919A, 41363 },
- { 0x9199, 41367 },
- { 0x9157, 41371 },
- { 0x91B3, 41375 },
- { 0x9175, 41379 },
- { 0x9173, 41383 },
- { 0x9177, 41387 },
- { 0x9179, 41391 },
- { 0x9114, 41395 },
- { 0x915C, 41398 },
- { 0x91CF, 41401 },
- { 0x9102, 41404 },
- { 0x9191, 41408 },
- { 0x9195, 41411 },
- { 0x9194, 41417 },
- { 0x91B7, 41422 },
- { 0x91C1, 41425 },
- { 0x91C2, 41430 },
- { 0x9190, 41435 },
- { 0x913A, 41438 },
- { 0x91AF, 41442 },
- { 0x91AE, 41447 },
- { 0x918F, 41451 },
- { 0x9107, 41454 },
- { 0x910B, 41459 },
- { 0x9130, 41462 },
- { 0x9131, 41466 },
- { 0x9105, 41470 },
- { 0x91D3, 41474 },
- { 0x915D, 41477 },
- { 0x913B, 41481 },
- { 0x9112, 41485 },
- { 0x91B8, 41489 },
- { 0x91C3, 41492 },
- { 0x9145, 41496 },
- { 0x91D5, 41501 },
- { 0x9134, 41504 },
- { 0x9104, 41508 },
- { 0x91A9, 41512 },
- { 0x912B, 41516 },
- { 0x912A, 41520 },
- { 0x9101, 41524 },
- { 0x9160, 41528 },
- { 0x913E, 41532 },
- { 0x91B6, 41536 },
- { 0x91BB, 41539 },
- { 0x91C5, 41542 },
- { 0x91BC, 41546 },
- { 0x9136, 41550 },
- { 0x9137, 41554 },
- { 0x9108, 41558 },
- { 0x9100, 41562 },
- { 0x91D2, 41566 },
- { 0x9147, 41570 },
- { 0x9146, 41575 },
- { 0x918D, 41580 },
- { 0x91C7, 41583 },
- { 0x91C9, 41590 },
- { 0x91C8, 41598 },
- { 0x91CA, 41605 },
- { 0x91CB, 41612 },
- { 0x91CC, 41619 },
- { 0x91CD, 41627 },
- { 0x91CE, 41635 },
- { 0x9115, 41643 },
- { 0x9113, 41646 },
- { 0x915B, 41649 },
- { 0x915A, 41654 },
- { 0x9110, 41659 },
- { 0x9111, 41662 },
- { 0x912E, 41666 },
- { 0x912F, 41670 },
- { 0x91D4, 41674 },
- { 0x915F, 41677 },
- { 0x913D, 41681 },
- { 0x9133, 41685 },
- { 0x9132, 41690 },
- { 0x9103, 41695 },
- { 0x91D7, 41700 },
- { 0x916A, 41703 },
- { 0x916B, 41707 },
- { 0x916C, 41711 },
- { 0x9198, 41715 },
- { 0x9129, 41719 },
- { 0x9158, 41724 },
- { 0x9116, 41728 },
- { 0x919B, 41732 },
- { 0x919C, 41736 },
- { 0x919D, 41740 },
- { 0x919E, 41744 },
- { 0x919F, 41748 },
- { 0x91A0, 41752 },
- { 0x91A1, 41756 },
- { 0x91A2, 41760 },
- { 0x91A3, 41764 },
- { 0x91A4, 41768 },
- { 0x91A5, 41772 },
- { 0x910D, 41776 },
- { 0x910E, 41780 },
- { 0x910F, 41784 },
- { 0x911B, 41788 },
- { 0x91D8, 41792 },
- { 0x91DC, 41795 },
- { 0x9149, 41799 },
- { 0x9151, 41805 },
- { 0x9150, 41812 },
- { 0x9148, 41819 },
- { 0x914F, 41825 },
- { 0x914E, 41831 },
- { 0x914B, 41837 },
- { 0x914A, 41843 },
- { 0x914D, 41849 },
- { 0x914C, 41855 },
- { 0x9117, 41861 },
- { 0x91AB, 41865 },
- { 0x9186, 41870 },
- { 0x9189, 41874 },
- { 0x9185, 41878 },
- { 0x91AA, 41882 },
- { 0x9187, 41887 },
- { 0x91AD, 41891 },
- { 0x9165, 41896 },
- { 0x9182, 41900 },
- { 0x9188, 41904 },
- { 0x917B, 41908 },
- { 0x918A, 41912 },
- { 0x916E, 41917 },
- { 0x916F, 41921 },
- { 0x9170, 41925 },
- { 0x9171, 41929 },
- { 0x9172, 41933 },
- { 0x917D, 41937 },
- { 0x918B, 41941 },
- { 0x917F, 41946 },
- { 0x91AC, 41950 },
- { 0x917C, 41954 },
- { 0x9167, 41958 },
- { 0x9168, 41962 },
- { 0x9169, 41966 },
- { 0x916D, 41970 },
- { 0x9166, 41975 },
- { 0x917E, 41980 },
- { 0x9181, 41984 },
- { 0x9180, 41988 },
- { 0x9192, 41992 },
- { 0x911A, 41995 },
- { 0x9119, 41999 },
- { 0x91B1, 42003 },
- { 0x91B2, 42007 },
- { 0x91D0, 42011 },
- { 0x91D1, 42016 },
- { 0x91D9, 42021 },
- { 0x91DA, 42024 },
- { 0x91D6, 42028 },
- { 0x91DB, 42031 },
- { 0x9161, 42035 },
- { 0x913F, 42039 },
- { 0x9183, 42043 },
- { 0x9184, 42047 },
- { 0x91C4, 42051 },
- { 0x91BA, 42055 },
- { 0x91B9, 42059 },
- { 0x91C6, 42063 },
- { 0x91BE, 42067 },
- { 0x91BD, 42071 },
- { 0x911C, 42075 },
- { 0x9118, 42079 },
- { 0x9193, 42083 },
- { 0x911D, 42086 },
- { 0x91A6, 42090 },
- { 0x91A7, 42093 },
- { 0x9156, 42096 },
- { 0x918C, 42100 },
- { 0x9138, 42103 },
- { 0x9139, 42107 },
- { 0x9163, 42111 },
- { 0x9141, 42115 },
- { 0x9162, 42119 },
- { 0x9140, 42123 },
- { 0x9155, 42127 },
- { 0x9154, 42133 },
- { 0x1091, 42139 },
- { 0x1096, 42143 },
- { 0x1092, 42147 },
- { 0x1095, 42151 },
- { 0x1094, 42155 },
- { 0x1099, 42159 },
- { 0x1090, 42163 },
- { 0x1098, 42167 },
- { 0x1097, 42171 },
- { 0x1093, 42175 },
- { 0x1037, 42179 },
- { 0x103A, 42183 },
- { 0x1087, 42186 },
- { 0x1088, 42190 },
- { 0x1089, 42194 },
- { 0x108A, 42198 },
- { 0x108B, 42202 },
- { 0x108C, 42207 },
- { 0x108D, 42212 },
- { 0x108F, 42218 },
- { 0x104A, 42223 },
- { 0x1039, 42227 },
- { 0x104B, 42230 },
- { 0x1038, 42233 },
- { 0x1069, 42236 },
- { 0x106A, 42242 },
- { 0x106B, 42248 },
- { 0x106C, 42254 },
- { 0x106D, 42260 },
- { 0x1036, 42266 },
- { 0x1064, 42269 },
- { 0x1063, 42276 },
- { 0x1041, 42282 },
- { 0x1046, 42285 },
- { 0x1042, 42288 },
- { 0x1045, 42291 },
- { 0x1044, 42294 },
- { 0x1049, 42297 },
- { 0x1040, 42300 },
- { 0x1048, 42303 },
- { 0x1047, 42306 },
- { 0x1043, 42309 },
- { 0x1031, 42312 },
- { 0x1035, 42316 },
- { 0x102D, 42321 },
- { 0x102F, 42325 },
- { 0x102C, 42329 },
- { 0x1032, 42333 },
- { 0x102E, 42337 },
- { 0x1030, 42341 },
- { 0x1034, 42345 },
- { 0x1033, 42350 },
- { 0x1071, 42355 },
- { 0x1062, 42361 },
- { 0x1084, 42367 },
- { 0x1085, 42372 },
- { 0x1083, 42378 },
- { 0x1086, 42383 },
- { 0x102B, 42389 },
- { 0x1073, 42394 },
- { 0x1074, 42399 },
- { 0x1072, 42404 },
- { 0x1058, 42409 },
- { 0x1056, 42414 },
- { 0x1059, 42419 },
- { 0x1057, 42424 },
- { 0x1067, 42429 },
- { 0x1068, 42436 },
- { 0x1021, 42443 },
- { 0x1027, 42446 },
- { 0x1023, 42449 },
- { 0x1029, 42452 },
- { 0x1025, 42455 },
- { 0x102A, 42458 },
- { 0x1017, 42461 },
- { 0x1005, 42464 },
- { 0x1012, 42467 },
- { 0x1002, 42470 },
- { 0x101F, 42473 },
- { 0x1024, 42476 },
- { 0x1007, 42479 },
- { 0x1000, 42482 },
- { 0x101C, 42485 },
- { 0x1019, 42488 },
- { 0x1014, 42491 },
- { 0x1015, 42494 },
- { 0x101B, 42497 },
- { 0x101E, 42500 },
- { 0x1010, 42503 },
- { 0x1026, 42506 },
- { 0x101D, 42509 },
- { 0x101A, 42512 },
- { 0x1018, 42515 },
- { 0x1006, 42518 },
- { 0x100D, 42521 },
- { 0x1013, 42524 },
- { 0x1003, 42527 },
- { 0x1008, 42530 },
- { 0x1001, 42533 },
- { 0x1020, 42536 },
- { 0x1028, 42539 },
- { 0x105C, 42543 },
- { 0x105D, 42547 },
- { 0x105B, 42551 },
- { 0x105A, 42555 },
- { 0x1004, 42559 },
- { 0x100F, 42562 },
- { 0x1009, 42565 },
- { 0x1016, 42568 },
- { 0x1050, 42571 },
- { 0x1051, 42574 },
- { 0x1011, 42577 },
- { 0x100B, 42580 },
- { 0x100E, 42583 },
- { 0x100A, 42586 },
- { 0x1061, 42589 },
- { 0x1022, 42594 },
- { 0x107F, 42598 },
- { 0x1078, 42602 },
- { 0x107B, 42606 },
- { 0x107E, 42610 },
- { 0x1077, 42614 },
- { 0x1081, 42618 },
- { 0x1075, 42622 },
- { 0x107C, 42626 },
- { 0x1079, 42630 },
- { 0x1076, 42634 },
- { 0x107A, 42638 },
- { 0x107D, 42642 },
- { 0x1080, 42646 },
- { 0x100C, 42650 },
- { 0x103F, 42653 },
- { 0x108E, 42657 },
- { 0x106E, 42662 },
- { 0x106F, 42668 },
- { 0x1070, 42674 },
- { 0x1054, 42680 },
- { 0x1052, 42684 },
- { 0x1055, 42688 },
- { 0x1053, 42692 },
- { 0x1066, 42696 },
- { 0x1065, 42702 },
- { 0x109E, 42708 },
- { 0x109F, 42712 },
- { 0x104F, 42716 },
- { 0x104C, 42719 },
- { 0x104D, 42722 },
- { 0x104E, 42725 },
- { 0x1060, 42728 },
- { 0x105F, 42734 },
- { 0x105E, 42740 },
- { 0x1082, 42746 },
- { 0x103E, 42752 },
- { 0x103C, 42757 },
- { 0x103D, 42762 },
- { 0x103B, 42767 },
- { 0x22AF, 42772 },
- { 0x2288, 42779 },
- { 0x2289, 42786 },
- { 0x2270, 42793 },
- { 0x2274, 42798 },
- { 0x2278, 42803 },
- { 0x2271, 42807 },
- { 0x2279, 42812 },
- { 0x2275, 42816 },
- { 0x2247, 42821 },
- { 0x2646, 42827 },
- { 0x206F, 42828 },
- { 0x27AF, 42831 },
- { 0x27B1, 42837 },
- { 0x29A6, 42843 },
- { 0x29A7, 42847 },
- { 0x74A1, 42851 },
- { 0x74A6, 42854 },
- { 0x74A2, 42857 },
- { 0x74A5, 42860 },
- { 0x74A4, 42863 },
- { 0x74A9, 42866 },
- { 0x74A0, 42869 },
- { 0x74A8, 42872 },
- { 0x74A7, 42875 },
- { 0x74A3, 42878 },
- { 0x7496, 42881 },
- { 0x7497, 42884 },
- { 0x7498, 42887 },
- { 0x7499, 42890 },
- { 0x749A, 42893 },
- { 0x749B, 42896 },
- { 0x7481, 42899 },
- { 0x749C, 42902 },
- { 0x748D, 42905 },
- { 0x748C, 42908 },
- { 0x7494, 42911 },
- { 0x7483, 42914 },
- { 0x749D, 42917 },
- { 0x7487, 42920 },
- { 0x7488, 42923 },
- { 0x7482, 42926 },
- { 0x7484, 42929 },
- { 0x7495, 42932 },
- { 0x748A, 42935 },
- { 0x7485, 42938 },
- { 0x7493, 42941 },
- { 0x7480, 42944 },
- { 0x748B, 42947 },
- { 0x7486, 42950 },
- { 0x748F, 42953 },
- { 0x7490, 42956 },
- { 0x7491, 42959 },
- { 0x7492, 42962 },
- { 0x748E, 42965 },
- { 0x7489, 42968 },
- { 0x2202, 42971 },
- { 0x0025, 42973 },
- { 0x00B6, 42975 },
- { 0x2669, 42977 },
- { 0x23B7, 42979 },
- { 0x2B41, 42982 },
- { 0x2B47, 42988 },
- { 0x005C, 42994 },
- { 0x29F7, 42996 },
- { 0x29F5, 43001 },
- { 0x27C8, 43004 },
- { 0x2765, 43008 },
- { 0x2767, 43013 },
- { 0x213A, 43017 },
- { 0x2613, 43020 },
- { 0x2108, 43021 },
- { 0x00A7, 43022 },
- { 0x2313, 43024 },
- { 0x2120, 43025 },
- { 0x26B9, 43027 },
- { 0x746D, 43028 },
- { 0x7466, 43031 },
- { 0x746A, 43034 },
- { 0x7479, 43037 },
- { 0x7455, 43040 },
- { 0x7473, 43043 },
- { 0x7469, 43046 },
- { 0x7471, 43049 },
- { 0x747A, 43052 },
- { 0x7478, 43055 },
- { 0x7468, 43058 },
- { 0x7477, 43061 },
- { 0x745A, 43064 },
- { 0x747D, 43067 },
- { 0x7470, 43070 },
- { 0x7467, 43073 },
- { 0x747B, 43076 },
- { 0x7453, 43079 },
- { 0x745C, 43082 },
- { 0x747E, 43085 },
- { 0x7472, 43088 },
- { 0x746F, 43091 },
- { 0x7474, 43094 },
- { 0x7476, 43097 },
- { 0x746C, 43100 },
- { 0x7451, 43103 },
- { 0x745D, 43106 },
- { 0x7462, 43109 },
- { 0x7458, 43112 },
- { 0x747F, 43115 },
- { 0x745F, 43118 },
- { 0x745B, 43121 },
- { 0x7459, 43124 },
- { 0x7452, 43127 },
- { 0x7464, 43130 },
- { 0x7465, 43133 },
- { 0x7475, 43136 },
- { 0x7450, 43139 },
- { 0x746E, 43142 },
- { 0x7456, 43145 },
- { 0x745E, 43148 },
- { 0x746B, 43151 },
- { 0x747C, 43154 },
- { 0x7463, 43157 },
- { 0x7461, 43160 },
- { 0x7454, 43163 },
- { 0x7457, 43166 },
- { 0x7460, 43169 },
- { 0x29E2, 43172 },
- { 0x2A9D, 43174 },
- { 0x2A9E, 43177 },
- { 0x2A9F, 43180 },
- { 0x2AA0, 43186 },
- { 0x2A6C, 43192 },
- { 0x0DCA, 43195 },
- { 0x0D83, 43198 },
- { 0x0D82, 43201 },
- { 0x0DDA, 43204 },
- { 0x0DD3, 43209 },
- { 0x0DD6, 43214 },
- { 0x0DD1, 43219 },
- { 0x0DF3, 43224 },
- { 0x0DF2, 43229 },
- { 0x0DD2, 43234 },
- { 0x0DD4, 43239 },
- { 0x0DD0, 43244 },
- { 0x0DDB, 43249 },
- { 0x0DD9, 43254 },
- { 0x0DDD, 43258 },
- { 0x0DDC, 43265 },
- { 0x0DDE, 43271 },
- { 0x0DCF, 43277 },
- { 0x0DDF, 43281 },
- { 0x0DD8, 43285 },
- { 0x0DB9, 43289 },
- { 0x0D85, 43293 },
- { 0x0D91, 43296 },
- { 0x0D89, 43299 },
- { 0x0D94, 43302 },
- { 0x0D8B, 43305 },
- { 0x0D86, 43308 },
- { 0x0D87, 43311 },
- { 0x0D93, 43314 },
- { 0x0D96, 43317 },
- { 0x0DBD, 43320 },
- { 0x0DB1, 43324 },
- { 0x0DC3, 43328 },
- { 0x0D92, 43332 },
- { 0x0DC6, 43335 },
- { 0x0DC4, 43338 },
- { 0x0D8A, 43341 },
- { 0x0D9E, 43344 },
- { 0x0DB8, 43348 },
- { 0x0D95, 43351 },
- { 0x0DBB, 43354 },
- { 0x0DB3, 43357 },
- { 0x0D9F, 43361 },
- { 0x0DA6, 43365 },
- { 0x0DAC, 43369 },
- { 0x0DC1, 43373 },
- { 0x0DA5, 43377 },
- { 0x0DA4, 43382 },
- { 0x0D8C, 43386 },
- { 0x0DC0, 43389 },
- { 0x0DBA, 43392 },
- { 0x0D88, 43395 },
- { 0x0D8F, 43398 },
- { 0x0D8D, 43401 },
- { 0x0D90, 43404 },
- { 0x0D8E, 43407 },
- { 0x0DC5, 43410 },
- { 0x0DAB, 43414 },
- { 0x0DC2, 43418 },
- { 0x0DB6, 43422 },
- { 0x0DA0, 43426 },
- { 0x0DAF, 43430 },
- { 0x0D9C, 43434 },
- { 0x0DA2, 43438 },
- { 0x0D9A, 43442 },
- { 0x0DB4, 43446 },
- { 0x0DAD, 43450 },
- { 0x0DA9, 43454 },
- { 0x0DA7, 43458 },
- { 0x0DB7, 43462 },
- { 0x0DA1, 43466 },
- { 0x0DB0, 43470 },
- { 0x0D9D, 43474 },
- { 0x0DA3, 43478 },
- { 0x0D9B, 43482 },
- { 0x0DB5, 43486 },
- { 0x0DAE, 43490 },
- { 0x0DAA, 43494 },
- { 0x0DA8, 43498 },
- { 0x0DF4, 43502 },
- { 0x273A, 43505 },
- { 0x2A95, 43508 },
- { 0x2A97, 43513 },
- { 0x2A96, 43521 },
- { 0x2A98, 43526 },
- { 0x2A57, 43534 },
- { 0x2A58, 43537 },
- { 0x2AAA, 43540 },
- { 0x2AAC, 43542 },
- { 0x2603, 43547 },
- { 0x002F, 43548 },
- { 0x29F6, 43549 },
- { 0x2747, 43552 },
- { 0x22A1, 43553 },
- { 0x2E2C, 43556 },
- { 0x229E, 43560 },
- { 0x229F, 43562 },
- { 0x29C7, 43564 },
- { 0x22A0, 43567 },
- { 0x29C4, 43569 },
- { 0x29C8, 43573 },
- { 0x29C5, 43575 },
- { 0x29C6, 43579 },
- { 0x222F, 43581 },
- { 0x1714, 43583 },
- { 0x1712, 43586 },
- { 0x1713, 43590 },
- { 0x1700, 43594 },
- { 0x1701, 43597 },
- { 0x1702, 43600 },
- { 0x170A, 43603 },
- { 0x1707, 43606 },
- { 0x1704, 43609 },
- { 0x1711, 43612 },
- { 0x1703, 43615 },
- { 0x170E, 43618 },
- { 0x170B, 43621 },
- { 0x1708, 43624 },
- { 0x1709, 43627 },
- { 0x1710, 43630 },
- { 0x1706, 43633 },
- { 0x170F, 43636 },
- { 0x170C, 43639 },
- { 0x1705, 43642 },
- { 0x27A2, 43645 },
- { 0x27A3, 43649 },
- { 0x0FBE, 43653 },
- { 0x0FBF, 43657 },
- { 0x0F3D, 43664 },
- { 0x0F3C, 43669 },
- { 0x0F38, 43674 },
- { 0x0F3B, 43678 },
- { 0x0F3A, 43683 },
- { 0x0F11, 43688 },
- { 0x0F39, 43694 },
- { 0x0F07, 43698 },
- { 0x0F0A, 43705 },
- { 0x0F03, 43711 },
- { 0x0F02, 43720 },
- { 0x0F01, 43729 },
- { 0x0F14, 43736 },
- { 0x0F35, 43740 },
- { 0x0F37, 43746 },
- { 0x0F0E, 43752 },
- { 0x0FD2, 43756 },
- { 0x0F10, 43760 },
- { 0x0F12, 43765 },
- { 0x0F0D, 43770 },
- { 0x0F34, 43773 },
- { 0x0FD0, 43777 },
- { 0x0F09, 43784 },
- { 0x0F06, 43789 },
- { 0x0F13, 43797 },
- { 0x0F36, 43805 },
- { 0x0FD1, 43813 },
- { 0x0F08, 43820 },
- { 0x0F0F, 43824 },
- { 0x0F85, 43828 },
- { 0x0F05, 43831 },
- { 0x0FD4, 43838 },
- { 0x0F84, 43847 },
- { 0x0F04, 43850 },
- { 0x0FD3, 43857 },
- { 0x0F0C, 43866 },
- { 0x0F0B, 43871 },
- { 0x0F8A, 43875 },
- { 0x0F8B, 43880 },
- { 0x0F88, 43885 },
- { 0x0F86, 43890 },
- { 0x0F3F, 43894 },
- { 0x0F82, 43898 },
- { 0x0F83, 43904 },
- { 0x0F3E, 43908 },
- { 0x0F89, 43912 },
- { 0x0F1D, 43916 },
- { 0x0FCF, 43921 },
- { 0x0FCE, 43926 },
- { 0x0F1E, 43932 },
- { 0x0F1A, 43937 },
- { 0x0F1C, 43942 },
- { 0x0F1F, 43947 },
- { 0x0F1B, 43953 },
- { 0x0F7E, 43958 },
- { 0x0F7F, 43964 },
- { 0x0F87, 43968 },
- { 0x0F21, 43972 },
- { 0x0F26, 43975 },
- { 0x0F22, 43978 },
- { 0x0F25, 43981 },
- { 0x0F24, 43984 },
- { 0x0F2A, 43987 },
- { 0x0F2F, 43991 },
- { 0x0F2B, 43995 },
- { 0x0F2E, 43999 },
- { 0x0F2D, 44003 },
- { 0x0F32, 44007 },
- { 0x0F33, 44011 },
- { 0x0F31, 44015 },
- { 0x0F30, 44019 },
- { 0x0F2C, 44023 },
- { 0x0F29, 44027 },
- { 0x0F20, 44030 },
- { 0x0F28, 44033 },
- { 0x0F27, 44036 },
- { 0x0F23, 44039 },
- { 0x0F7A, 44042 },
- { 0x0F72, 44046 },
- { 0x0F7C, 44050 },
- { 0x0F74, 44054 },
- { 0x0F71, 44058 },
- { 0x0F7B, 44062 },
- { 0x0F73, 44066 },
- { 0x0F7D, 44070 },
- { 0x0F75, 44074 },
- { 0x0F78, 44078 },
- { 0x0F76, 44083 },
- { 0x0F79, 44088 },
- { 0x0F77, 44093 },
- { 0x0F80, 44098 },
- { 0x0F81, 44103 },
- { 0x0F68, 44108 },
- { 0x0F60, 44111 },
- { 0x0F56, 44114 },
- { 0x0F45, 44117 },
- { 0x0F51, 44120 },
- { 0x0F42, 44123 },
- { 0x0F67, 44126 },
- { 0x0F47, 44129 },
- { 0x0F40, 44132 },
- { 0x0F63, 44135 },
- { 0x0F58, 44138 },
- { 0x0F53, 44141 },
- { 0x0F54, 44144 },
- { 0x0F62, 44147 },
- { 0x0F66, 44150 },
- { 0x0F4F, 44153 },
- { 0x0F5D, 44156 },
- { 0x0F61, 44159 },
- { 0x0F5F, 44162 },
- { 0x0F57, 44165 },
- { 0x0F46, 44168 },
- { 0x0F4C, 44171 },
- { 0x0F52, 44174 },
- { 0x0F5B, 44177 },
- { 0x0F43, 44180 },
- { 0x0F41, 44183 },
- { 0x0F6B, 44186 },
- { 0x0F44, 44189 },
- { 0x0F4E, 44192 },
- { 0x0F49, 44195 },
- { 0x0F55, 44198 },
- { 0x0F6C, 44201 },
- { 0x0F64, 44204 },
- { 0x0F65, 44207 },
- { 0x0F50, 44210 },
- { 0x0F59, 44213 },
- { 0x0F4A, 44216 },
- { 0x0F5E, 44219 },
- { 0x0F4D, 44222 },
- { 0x0F5C, 44225 },
- { 0x0F69, 44228 },
- { 0x0F5A, 44231 },
- { 0x0F4B, 44234 },
- { 0x0F6A, 44237 },
- { 0x0FC9, 44241 },
- { 0x0FCC, 44245 },
- { 0x0FCB, 44251 },
- { 0x0FCA, 44257 },
- { 0x0FC5, 44263 },
- { 0x0FC7, 44267 },
- { 0x0FC4, 44273 },
- { 0x0FC8, 44277 },
- { 0x0FC6, 44281 },
- { 0x0F15, 44285 },
- { 0x0F16, 44290 },
- { 0x0F00, 44295 },
- { 0x0FB8, 44298 },
- { 0x0FB0, 44302 },
- { 0x0FA6, 44306 },
- { 0x0F95, 44310 },
- { 0x0FA1, 44314 },
- { 0x0F92, 44318 },
- { 0x0FB7, 44322 },
- { 0x0F97, 44326 },
- { 0x0F90, 44330 },
- { 0x0FB3, 44334 },
- { 0x0FA8, 44338 },
- { 0x0FA3, 44342 },
- { 0x0FA4, 44346 },
- { 0x0FB2, 44350 },
- { 0x0FB6, 44354 },
- { 0x0F9F, 44358 },
- { 0x0FAD, 44362 },
- { 0x0FB1, 44366 },
- { 0x0FAF, 44370 },
- { 0x0FA7, 44374 },
- { 0x0F96, 44378 },
- { 0x0F9C, 44382 },
- { 0x0FA2, 44386 },
- { 0x0FAB, 44390 },
- { 0x0F93, 44394 },
- { 0x0F91, 44398 },
- { 0x0F94, 44402 },
- { 0x0F9E, 44406 },
- { 0x0F99, 44410 },
- { 0x0FA5, 44414 },
- { 0x0FB4, 44418 },
- { 0x0FB5, 44422 },
- { 0x0FA0, 44426 },
- { 0x0FA9, 44430 },
- { 0x0F9A, 44434 },
- { 0x0FAE, 44438 },
- { 0x0F9D, 44442 },
- { 0x0FAC, 44446 },
- { 0x0FB9, 44450 },
- { 0x0FAA, 44454 },
- { 0x0F9B, 44458 },
- { 0x0FBC, 44462 },
- { 0x0FBA, 44467 },
- { 0x0FBB, 44472 },
- { 0x0F17, 44477 },
- { 0x0F19, 44484 },
- { 0x0F18, 44489 },
- { 0x0FC2, 44494 },
- { 0x0FC3, 44499 },
- { 0x0FC0, 44504 },
- { 0x0FC1, 44509 },
- { 0x2632, 44514 },
- { 0x2631, 44517 },
- { 0x2634, 44520 },
- { 0x2637, 44523 },
- { 0x2635, 44526 },
- { 0x2630, 44529 },
- { 0x2633, 44532 },
- { 0x2636, 44535 },
- { 0x219F, 44538 },
- { 0x2191, 44542 },
- { 0x2912, 44544 },
- { 0x21A5, 44548 },
- { 0x21B0, 44552 },
- { 0x21B1, 44557 },
- { 0x21DE, 44562 },
- { 0x2909, 44567 },
- { 0x21C5, 44572 },
- { 0x2B06, 44578 },
- { 0x21E7, 44581 },
- { 0x21EB, 44584 },
- { 0x21ED, 44589 },
- { 0x21EC, 44597 },
- { 0x21EA, 44605 },
- { 0x21EE, 44610 },
- { 0x21EF, 44614 },
- { 0x2E15, 44620 },
- { 0x21E1, 44622 },
- { 0x21D1, 44625 },
- { 0x21C8, 44628 },
- { 0x290A, 44631 },
- { 0x2958, 44634 },
- { 0x2960, 44641 },
- { 0x2963, 44648 },
- { 0x296E, 44659 },
- { 0x2954, 44670 },
- { 0x295C, 44677 },
- { 0x21BF, 44684 },
- { 0x21BE, 44689 },
- { 0x27F0, 44694 },
- { 0x2949, 44697 },
- { 0x270C, 44703 },
- { 0x26A0, 44705 },
- { 0x270D, 44707 },
- { 0x206D, 44709 },
- { 0x206B, 44713 },
- { 0x2708, 44716 },
- { 0x212B, 44717 },
- { 0x2652, 44719 },
- { 0x0589, 44720 },
- { 0x055D, 44723 },
- { 0x056E, 44725 },
- { 0x0581, 44729 },
- { 0x0564, 44733 },
- { 0x0567, 44737 },
- { 0x0568, 44741 },
- { 0x0570, 44745 },
- { 0x0571, 44749 },
- { 0x0585, 44753 },
- { 0x057C, 44757 },
- { 0x0569, 44761 },
- { 0x0578, 44765 },
- { 0x0575, 44769 },
- { 0x0566, 44773 },
- { 0x0561, 44777 },
- { 0x0562, 44781 },
- { 0x0579, 44785 },
- { 0x0565, 44789 },
- { 0x0586, 44793 },
- { 0x0563, 44797 },
- { 0x056B, 44801 },
- { 0x0584, 44805 },
- { 0x056F, 44809 },
- { 0x0574, 44813 },
- { 0x0576, 44817 },
- { 0x057A, 44821 },
- { 0x0580, 44825 },
- { 0x057D, 44829 },
- { 0x0577, 44833 },
- { 0x057E, 44837 },
- { 0x056D, 44841 },
- { 0x056A, 44845 },
- { 0x0573, 44849 },
- { 0x0572, 44853 },
- { 0x057B, 44857 },
- { 0x056C, 44861 },
- { 0x0583, 44865 },
- { 0x057F, 44869 },
- { 0x0582, 44873 },
- { 0x0587, 44877 },
- { 0x6B14, 44882 },
- { 0x6B15, 44887 },
- { 0x6B13, 44892 },
- { 0x6B17, 44897 },
- { 0x6B16, 44902 },
- { 0x058A, 44907 },
- { 0x053E, 44909 },
- { 0x0551, 44913 },
- { 0x0534, 44917 },
- { 0x0537, 44921 },
- { 0x0538, 44925 },
- { 0x0540, 44929 },
- { 0x0541, 44933 },
- { 0x0555, 44937 },
- { 0x054C, 44941 },
- { 0x0539, 44945 },
- { 0x0548, 44949 },
- { 0x0545, 44953 },
- { 0x0536, 44957 },
- { 0x0531, 44961 },
- { 0x0532, 44965 },
- { 0x0549, 44969 },
- { 0x0535, 44973 },
- { 0x0556, 44977 },
- { 0x0533, 44981 },
- { 0x053B, 44985 },
- { 0x0554, 44989 },
- { 0x053F, 44993 },
- { 0x0544, 44997 },
- { 0x0546, 45001 },
- { 0x054A, 45005 },
- { 0x0550, 45009 },
- { 0x054D, 45013 },
- { 0x0547, 45017 },
- { 0x054E, 45021 },
- { 0x053D, 45025 },
- { 0x053A, 45029 },
- { 0x0543, 45033 },
- { 0x0542, 45037 },
- { 0x054B, 45041 },
- { 0x053C, 45045 },
- { 0x0553, 45049 },
- { 0x054F, 45053 },
- { 0x0552, 45057 },
- { 0x055B, 45061 },
- { 0x0559, 45064 },
- { 0x055E, 45070 },
- { 0x055A, 45073 },
- { 0x055C, 45075 },
- { 0x055F, 45078 },
- { 0x002A, 45081 },
- { 0x2217, 45082 },
- { 0x2042, 45084 },
- { 0x1B44, 45085 },
- { 0x1B00, 45088 },
- { 0x1B01, 45092 },
- { 0x1B04, 45096 },
- { 0x1B02, 45099 },
- { 0x1B03, 45102 },
- { 0x1B34, 45105 },
- { 0x1B5E, 45108 },
- { 0x1B5F, 45111 },
- { 0x1B5D, 45114 },
- { 0x1B51, 45117 },
- { 0x1B56, 45120 },
- { 0x1B52, 45123 },
- { 0x1B55, 45126 },
- { 0x1B54, 45129 },
- { 0x1B59, 45132 },
- { 0x1B50, 45135 },
- { 0x1B58, 45138 },
- { 0x1B57, 45141 },
- { 0x1B53, 45144 },
- { 0x1B5A, 45147 },
- { 0x1B3C, 45149 },
- { 0x1B3D, 45154 },
- { 0x1B3A, 45160 },
- { 0x1B3B, 45165 },
- { 0x1B36, 45171 },
- { 0x1B37, 45175 },
- { 0x1B38, 45180 },
- { 0x1B39, 45184 },
- { 0x1B42, 45189 },
- { 0x1B43, 45193 },
- { 0x1B3E, 45198 },
- { 0x1B3F, 45202 },
- { 0x1B41, 45207 },
- { 0x1B40, 45213 },
- { 0x1B35, 45218 },
- { 0x1B5C, 45222 },
- { 0x1B29, 45224 },
- { 0x1B2A, 45227 },
- { 0x1B18, 45231 },
- { 0x1B19, 45234 },
- { 0x1B24, 45238 },
- { 0x1B25, 45241 },
- { 0x1B1F, 45245 },
- { 0x1B20, 45250 },
- { 0x1B48, 45255 },
- { 0x1B15, 45259 },
- { 0x1B16, 45262 },
- { 0x1B33, 45266 },
- { 0x1B1A, 45269 },
- { 0x1B1B, 45272 },
- { 0x1B13, 45276 },
- { 0x1B14, 45279 },
- { 0x1B2E, 45283 },
- { 0x1B0D, 45286 },
- { 0x1B0E, 45290 },
- { 0x1B2B, 45295 },
- { 0x1B26, 45298 },
- { 0x1B21, 45301 },
- { 0x1B27, 45305 },
- { 0x1B28, 45308 },
- { 0x1B2D, 45312 },
- { 0x1B0B, 45315 },
- { 0x1B0C, 45319 },
- { 0x1B32, 45324 },
- { 0x1B30, 45327 },
- { 0x1B31, 45331 },
- { 0x1B22, 45335 },
- { 0x1B23, 45338 },
- { 0x1B1D, 45342 },
- { 0x1B1E, 45346 },
- { 0x1B49, 45351 },
- { 0x1B2F, 45355 },
- { 0x1B2C, 45358 },
- { 0x1B45, 45361 },
- { 0x1B17, 45365 },
- { 0x1B1C, 45368 },
- { 0x1B4A, 45371 },
- { 0x1B46, 45375 },
- { 0x1B47, 45379 },
- { 0x1B05, 45383 },
- { 0x1B06, 45386 },
- { 0x1B0F, 45390 },
- { 0x1B07, 45393 },
- { 0x1B08, 45396 },
- { 0x1B11, 45400 },
- { 0x1B12, 45403 },
- { 0x1B09, 45407 },
- { 0x1B0A, 45410 },
- { 0x1B10, 45414 },
- { 0x1B4B, 45417 },
- { 0x1B5B, 45421 },
- { 0x1B64, 45423 },
- { 0x1B6A, 45427 },
- { 0x1B65, 45432 },
- { 0x1B62, 45437 },
- { 0x1B66, 45441 },
- { 0x1B61, 45445 },
- { 0x1B63, 45449 },
- { 0x1B67, 45453 },
- { 0x1B69, 45457 },
- { 0x1B68, 45461 },
- { 0x1B73, 45465 },
- { 0x1B72, 45470 },
- { 0x1B6C, 45475 },
- { 0x1B6B, 45480 },
- { 0x1B6E, 45485 },
- { 0x1B71, 45490 },
- { 0x1B6D, 45497 },
- { 0x1B70, 45502 },
- { 0x1B6F, 45509 },
- { 0x1B78, 45514 },
- { 0x1B7C, 45520 },
- { 0x1B79, 45526 },
- { 0x1B7A, 45532 },
- { 0x1B7B, 45538 },
- { 0x1B75, 45544 },
- { 0x1B74, 45550 },
- { 0x1B77, 45556 },
- { 0x1B76, 45562 },
- { 0x1B60, 45568 },
- { 0x31B7, 45570 },
- { 0x31B6, 45574 },
- { 0x31B4, 45578 },
- { 0x31B5, 45582 },
- { 0x311A, 45586 },
- { 0x3105, 45589 },
- { 0x3118, 45592 },
- { 0x3109, 45595 },
- { 0x311C, 45598 },
- { 0x3108, 45601 },
- { 0x310D, 45604 },
- { 0x310F, 45607 },
- { 0x3127, 45610 },
- { 0x3110, 45613 },
- { 0x310E, 45616 },
- { 0x310C, 45619 },
- { 0x3107, 45622 },
- { 0x310B, 45625 },
- { 0x311B, 45628 },
- { 0x3106, 45631 },
- { 0x3111, 45634 },
- { 0x3116, 45637 },
- { 0x3119, 45640 },
- { 0x310A, 45643 },
- { 0x3128, 45646 },
- { 0x312A, 45649 },
- { 0x3112, 45652 },
- { 0x3117, 45655 },
- { 0x311E, 45658 },
- { 0x31B0, 45661 },
- { 0x3122, 45664 },
- { 0x3120, 45667 },
- { 0x31A0, 45670 },
- { 0x3114, 45673 },
- { 0x31A4, 45676 },
- { 0x311D, 45679 },
- { 0x311F, 45682 },
- { 0x3123, 45685 },
- { 0x3126, 45688 },
- { 0x312C, 45691 },
- { 0x31A3, 45694 },
- { 0x312D, 45697 },
- { 0x31AC, 45700 },
- { 0x31A8, 45703 },
- { 0x3129, 45706 },
- { 0x31A2, 45709 },
- { 0x312B, 45712 },
- { 0x31B1, 45715 },
- { 0x31A6, 45718 },
- { 0x3121, 45721 },
- { 0x3115, 45724 },
- { 0x3113, 45727 },
- { 0x31A1, 45730 },
- { 0x3124, 45733 },
- { 0x31A9, 45736 },
- { 0x3125, 45739 },
- { 0x31A5, 45742 },
- { 0x31AA, 45745 },
- { 0x31AD, 45748 },
- { 0x31B2, 45751 },
- { 0x31A7, 45754 },
- { 0x31AB, 45757 },
- { 0x31AE, 45760 },
- { 0x31AF, 45763 },
- { 0x31B3, 45766 },
- { 0x1A1F, 45769 },
- { 0x1A19, 45773 },
- { 0x1A17, 45777 },
- { 0x1A1A, 45781 },
- { 0x1A18, 45785 },
- { 0x1A1B, 45789 },
- { 0x1A15, 45793 },
- { 0x1A05, 45796 },
- { 0x1A0C, 45799 },
- { 0x1A09, 45802 },
- { 0x1A01, 45805 },
- { 0x1A16, 45808 },
- { 0x1A0D, 45811 },
- { 0x1A00, 45814 },
- { 0x1A12, 45817 },
- { 0x1A06, 45820 },
- { 0x1A0A, 45823 },
- { 0x1A04, 45826 },
- { 0x1A11, 45829 },
- { 0x1A14, 45832 },
- { 0x1A08, 45835 },
- { 0x1A13, 45838 },
- { 0x1A10, 45841 },
- { 0x1A07, 45844 },
- { 0x1A02, 45847 },
- { 0x1A0B, 45850 },
- { 0x1A0E, 45853 },
- { 0x1A03, 45856 },
- { 0x1A0F, 45859 },
- { 0x1A1E, 45862 },
- { 0x25CE, 45864 },
- { 0x2624, 45865 },
- { 0x140A, 45866 },
- { 0x14A1, 45869 },
- { 0x1401, 45872 },
- { 0x155D, 45875 },
- { 0x1403, 45878 },
- { 0x1483, 45881 },
- { 0x14EA, 45884 },
- { 0x14BB, 45887 },
- { 0x14D0, 45890 },
- { 0x1405, 45893 },
- { 0x1449, 45896 },
- { 0x1585, 45899 },
- { 0x1550, 45902 },
- { 0x1505, 45905 },
- { 0x1466, 45908 },
- { 0x153E, 45911 },
- { 0x140B, 45914 },
- { 0x141C, 45917 },
- { 0x142E, 45920 },
- { 0x1490, 45923 },
- { 0x1489, 45926 },
- { 0x148B, 45929 },
- { 0x148D, 45932 },
- { 0x142B, 45935 },
- { 0x1559, 45938 },
- { 0x1553, 45941 },
- { 0x1555, 45944 },
- { 0x1557, 45947 },
- { 0x157D, 45950 },
- { 0x1404, 45953 },
- { 0x142C, 45956 },
- { 0x1472, 45959 },
- { 0x146B, 45962 },
- { 0x146D, 45965 },
- { 0x146F, 45968 },
- { 0x1484, 45971 },
- { 0x14DA, 45974 },
- { 0x14D3, 45977 },
- { 0x15A6, 45980 },
- { 0x14D5, 45983 },
- { 0x14D7, 45986 },
- { 0x14AA, 45989 },
- { 0x14A3, 45992 },
- { 0x14BD, 45995 },
- { 0x14A5, 45998 },
- { 0x14A7, 46001 },
- { 0x14C7, 46004 },
- { 0x14C0, 46007 },
- { 0x1595, 46010 },
- { 0x14D2, 46013 },
- { 0x14C2, 46016 },
- { 0x14C4, 46019 },
- { 0x142D, 46022 },
- { 0x1406, 46025 },
- { 0x1438, 46028 },
- { 0x142F, 46031 },
- { 0x1431, 46034 },
- { 0x1433, 46037 },
- { 0x1583, 46040 },
- { 0x157F, 46043 },
- { 0x1581, 46046 },
- { 0x154B, 46049 },
- { 0x1542, 46052 },
- { 0x1546, 46055 },
- { 0x1548, 46058 },
- { 0x14F4, 46061 },
- { 0x14ED, 46064 },
- { 0x1525, 46067 },
- { 0x14EF, 46070 },
- { 0x14F1, 46073 },
- { 0x1507, 46076 },
- { 0x1455, 46079 },
- { 0x144C, 46082 },
- { 0x156A, 46085 },
- { 0x144E, 46088 },
- { 0x1450, 46091 },
- { 0x1417, 46094 },
- { 0x140C, 46097 },
- { 0x140E, 46100 },
- { 0x1412, 46103 },
- { 0x152D, 46106 },
- { 0x1526, 46109 },
- { 0x1528, 46112 },
- { 0x152A, 46115 },
- { 0x1402, 46118 },
- { 0x1491, 46121 },
- { 0x166D, 46124 },
- { 0x148C, 46128 },
- { 0x148E, 46131 },
- { 0x149C, 46134 },
- { 0x1492, 46137 },
- { 0x1494, 46140 },
- { 0x1498, 46143 },
- { 0x155A, 46146 },
- { 0x1556, 46149 },
- { 0x1558, 46152 },
- { 0x1473, 46155 },
- { 0x146E, 46158 },
- { 0x1470, 46161 },
- { 0x147E, 46164 },
- { 0x1474, 46167 },
- { 0x1476, 46170 },
- { 0x147A, 46173 },
- { 0x14DB, 46176 },
- { 0x15A4, 46179 },
- { 0x15A0, 46182 },
- { 0x15A2, 46185 },
- { 0x14D6, 46188 },
- { 0x14D8, 46191 },
- { 0x14E6, 46194 },
- { 0x14DC, 46197 },
- { 0x14DE, 46200 },
- { 0x14E2, 46203 },
- { 0x14AB, 46206 },
- { 0x14A6, 46209 },
- { 0x14A8, 46212 },
- { 0x14B6, 46215 },
- { 0x14AC, 46218 },
- { 0x14AE, 46221 },
- { 0x14B2, 46224 },
- { 0x14C8, 46227 },
- { 0x1593, 46230 },
- { 0x158F, 46233 },
- { 0x1591, 46236 },
- { 0x14C3, 46239 },
- { 0x1596, 46242 },
- { 0x14C5, 46245 },
- { 0x14CB, 46248 },
- { 0x14C9, 46251 },
- { 0x1439, 46254 },
- { 0x1432, 46257 },
- { 0x1434, 46260 },
- { 0x1444, 46263 },
- { 0x143A, 46266 },
- { 0x143C, 46269 },
- { 0x1440, 46272 },
- { 0x1584, 46275 },
- { 0x166F, 46278 },
- { 0x1580, 46281 },
- { 0x1582, 46284 },
- { 0x154C, 46287 },
- { 0x1547, 46290 },
- { 0x1549, 46293 },
- { 0x14F5, 46296 },
- { 0x1515, 46299 },
- { 0x1510, 46302 },
- { 0x1511, 46305 },
- { 0x1513, 46308 },
- { 0x14F0, 46311 },
- { 0x14F2, 46314 },
- { 0x1500, 46317 },
- { 0x14F6, 46320 },
- { 0x14F8, 46323 },
- { 0x14FC, 46326 },
- { 0x1456, 46329 },
- { 0x1566, 46332 },
- { 0x155E, 46335 },
- { 0x1560, 46338 },
- { 0x1564, 46341 },
- { 0x144F, 46344 },
- { 0x1451, 46347 },
- { 0x146A, 46350 },
- { 0x1467, 46353 },
- { 0x156F, 46356 },
- { 0x1468, 46359 },
- { 0x1469, 46362 },
- { 0x1461, 46365 },
- { 0x1457, 46368 },
- { 0x1459, 46371 },
- { 0x145D, 46374 },
- { 0x1573, 46377 },
- { 0x1570, 46380 },
- { 0x1571, 46383 },
- { 0x1572, 46386 },
- { 0x1419, 46389 },
- { 0x1410, 46392 },
- { 0x1414, 46395 },
- { 0x152E, 46398 },
- { 0x1529, 46401 },
- { 0x152B, 46404 },
- { 0x1539, 46407 },
- { 0x152F, 46410 },
- { 0x1531, 46413 },
- { 0x1535, 46416 },
- { 0x148A, 46419 },
- { 0x149E, 46422 },
- { 0x1496, 46425 },
- { 0x149A, 46428 },
- { 0x1554, 46431 },
- { 0x166E, 46434 },
- { 0x155B, 46438 },
- { 0x146C, 46441 },
- { 0x1480, 46444 },
- { 0x1478, 46447 },
- { 0x147C, 46450 },
- { 0x14D4, 46453 },
- { 0x15A5, 46456 },
- { 0x15A1, 46459 },
- { 0x15A3, 46462 },
- { 0x14E8, 46465 },
- { 0x14E0, 46468 },
- { 0x14E4, 46471 },
- { 0x14A4, 46474 },
- { 0x14B8, 46477 },
- { 0x14B0, 46480 },
- { 0x14B4, 46483 },
- { 0x14C1, 46486 },
- { 0x1594, 46489 },
- { 0x1670, 46492 },
- { 0x1590, 46495 },
- { 0x1592, 46498 },
- { 0x1675, 46501 },
- { 0x1671, 46504 },
- { 0x1673, 46507 },
- { 0x14CD, 46510 },
- { 0x1430, 46513 },
- { 0x1446, 46516 },
- { 0x143E, 46519 },
- { 0x1442, 46522 },
- { 0x157E, 46525 },
- { 0x1545, 46528 },
- { 0x154E, 46531 },
- { 0x14EE, 46534 },
- { 0x1516, 46537 },
- { 0x1512, 46540 },
- { 0x1514, 46543 },
- { 0x1521, 46546 },
- { 0x1517, 46549 },
- { 0x1519, 46552 },
- { 0x151D, 46555 },
- { 0x1502, 46558 },
- { 0x14FA, 46561 },
- { 0x14FE, 46564 },
- { 0x144D, 46567 },
- { 0x1567, 46570 },
- { 0x1562, 46573 },
- { 0x1565, 46576 },
- { 0x1589, 46579 },
- { 0x1586, 46582 },
- { 0x1587, 46585 },
- { 0x1588, 46588 },
- { 0x156E, 46591 },
- { 0x156B, 46594 },
- { 0x156C, 46597 },
- { 0x156D, 46600 },
- { 0x1463, 46603 },
- { 0x145B, 46606 },
- { 0x145F, 46609 },
- { 0x1527, 46612 },
- { 0x153B, 46615 },
- { 0x1533, 46618 },
- { 0x1537, 46621 },
- { 0x1422, 46624 },
- { 0x142A, 46630 },
- { 0x1429, 46635 },
- { 0x1424, 46639 },
- { 0x141F, 46643 },
- { 0x1420, 46647 },
- { 0x1423, 46651 },
- { 0x1428, 46657 },
- { 0x1421, 46663 },
- { 0x1425, 46669 },
- { 0x1426, 46674 },
- { 0x1427, 46681 },
- { 0x158E, 46686 },
- { 0x1676, 46689 },
- { 0x1672, 46692 },
- { 0x1674, 46695 },
- { 0x1523, 46698 },
- { 0x151B, 46701 },
- { 0x151F, 46704 },
- { 0x1568, 46707 },
- { 0x14EC, 46710 },
- { 0x1552, 46714 },
- { 0x155F, 46718 },
- { 0x1561, 46722 },
- { 0x1563, 46726 },
- { 0x1543, 46730 },
- { 0x14BF, 46734 },
- { 0x15C3, 46738 },
- { 0x15C0, 46742 },
- { 0x15C1, 46746 },
- { 0x15C2, 46750 },
- { 0x161A, 46754 },
- { 0x1615, 46758 },
- { 0x14A2, 46762 },
- { 0x1541, 46766 },
- { 0x159A, 46770 },
- { 0x1597, 46774 },
- { 0x1598, 46778 },
- { 0x1599, 46782 },
- { 0x141D, 46786 },
- { 0x1407, 46790 },
- { 0x148F, 46794 },
- { 0x1471, 46798 },
- { 0x14D9, 46802 },
- { 0x14A9, 46806 },
- { 0x14C6, 46810 },
- { 0x1435, 46814 },
- { 0x14F3, 46818 },
- { 0x1452, 46822 },
- { 0x152C, 46826 },
- { 0x1448, 46830 },
- { 0x15AF, 46834 },
- { 0x144B, 46838 },
- { 0x1409, 46842 },
- { 0x15EE, 46846 },
- { 0x1646, 46850 },
- { 0x1454, 46854 },
- { 0x1408, 46858 },
- { 0x15F4, 46862 },
- { 0x15F1, 46866 },
- { 0x15F3, 46870 },
- { 0x15F0, 46874 },
- { 0x15EF, 46878 },
- { 0x1437, 46882 },
- { 0x161B, 46886 },
- { 0x1617, 46890 },
- { 0x1619, 46894 },
- { 0x1616, 46898 },
- { 0x1614, 46902 },
- { 0x1601, 46906 },
- { 0x1627, 46910 },
- { 0x1624, 46914 },
- { 0x1626, 46918 },
- { 0x1623, 46922 },
- { 0x1622, 46926 },
- { 0x160D, 46930 },
- { 0x160A, 46934 },
- { 0x160C, 46938 },
- { 0x1609, 46942 },
- { 0x1608, 46946 },
- { 0x1607, 46950 },
- { 0x1604, 46954 },
- { 0x14D1, 46958 },
- { 0x1606, 46962 },
- { 0x1603, 46966 },
- { 0x1602, 46970 },
- { 0x15ED, 46974 },
- { 0x15EA, 46978 },
- { 0x15EC, 46982 },
- { 0x15E9, 46986 },
- { 0x15E8, 46990 },
- { 0x15CF, 46994 },
- { 0x15CC, 46998 },
- { 0x15CE, 47002 },
- { 0x15CB, 47006 },
- { 0x15CA, 47010 },
- { 0x1653, 47014 },
- { 0x1650, 47018 },
- { 0x165A, 47022 },
- { 0x1652, 47026 },
- { 0x164F, 47030 },
- { 0x164E, 47034 },
- { 0x15D5, 47038 },
- { 0x15D2, 47042 },
- { 0x15D4, 47046 },
- { 0x15D1, 47050 },
- { 0x15D0, 47054 },
- { 0x1613, 47058 },
- { 0x1610, 47062 },
- { 0x1612, 47066 },
- { 0x160F, 47070 },
- { 0x160E, 47074 },
- { 0x1645, 47078 },
- { 0x1642, 47082 },
- { 0x1644, 47086 },
- { 0x1641, 47090 },
- { 0x1640, 47094 },
- { 0x1666, 47098 },
- { 0x1663, 47102 },
- { 0x1665, 47106 },
- { 0x1662, 47110 },
- { 0x1661, 47114 },
- { 0x1453, 47118 },
- { 0x162D, 47122 },
- { 0x162A, 47126 },
- { 0x162C, 47130 },
- { 0x1629, 47134 },
- { 0x1628, 47138 },
- { 0x164D, 47142 },
- { 0x164A, 47146 },
- { 0x164C, 47150 },
- { 0x1649, 47154 },
- { 0x1648, 47158 },
- { 0x15F2, 47162 },
- { 0x15C9, 47166 },
- { 0x15C6, 47170 },
- { 0x15C8, 47174 },
- { 0x15C5, 47178 },
- { 0x15C4, 47182 },
- { 0x1436, 47186 },
- { 0x15DB, 47190 },
- { 0x15D8, 47194 },
- { 0x15DA, 47198 },
- { 0x15D7, 47202 },
- { 0x15D6, 47206 },
- { 0x1618, 47210 },
- { 0x1621, 47214 },
- { 0x161E, 47218 },
- { 0x1620, 47222 },
- { 0x161D, 47226 },
- { 0x161C, 47230 },
- { 0x15FA, 47234 },
- { 0x15F7, 47238 },
- { 0x15F9, 47242 },
- { 0x15F6, 47246 },
- { 0x15F5, 47250 },
- { 0x1600, 47254 },
- { 0x15FD, 47258 },
- { 0x15FF, 47262 },
- { 0x15FC, 47266 },
- { 0x15FB, 47270 },
- { 0x1625, 47274 },
- { 0x1633, 47278 },
- { 0x1630, 47282 },
- { 0x1632, 47286 },
- { 0x162F, 47290 },
- { 0x162E, 47294 },
- { 0x160B, 47298 },
- { 0x1605, 47302 },
- { 0x15EB, 47306 },
- { 0x15CD, 47310 },
- { 0x1651, 47314 },
- { 0x1659, 47318 },
- { 0x1656, 47322 },
- { 0x1658, 47326 },
- { 0x1655, 47330 },
- { 0x1654, 47334 },
- { 0x15E1, 47338 },
- { 0x15DE, 47342 },
- { 0x15E0, 47346 },
- { 0x15DD, 47350 },
- { 0x15DC, 47354 },
- { 0x163F, 47358 },
- { 0x163C, 47362 },
- { 0x163E, 47366 },
- { 0x163B, 47370 },
- { 0x163A, 47374 },
- { 0x1660, 47378 },
- { 0x165D, 47382 },
- { 0x165F, 47386 },
- { 0x165C, 47390 },
- { 0x165B, 47394 },
- { 0x15E7, 47398 },
- { 0x15E4, 47402 },
- { 0x15E6, 47406 },
- { 0x15E3, 47410 },
- { 0x15E2, 47414 },
- { 0x15D3, 47418 },
- { 0x1611, 47422 },
- { 0x1643, 47426 },
- { 0x1664, 47430 },
- { 0x162B, 47434 },
- { 0x164B, 47438 },
- { 0x15C7, 47442 },
- { 0x15D9, 47446 },
- { 0x161F, 47450 },
- { 0x15F8, 47454 },
- { 0x15FE, 47458 },
- { 0x1631, 47462 },
- { 0x1657, 47466 },
- { 0x15DF, 47470 },
- { 0x163D, 47474 },
- { 0x1639, 47478 },
- { 0x1636, 47482 },
- { 0x1638, 47486 },
- { 0x1635, 47490 },
- { 0x1634, 47494 },
- { 0x165E, 47498 },
- { 0x15E5, 47502 },
- { 0x166C, 47506 },
- { 0x1669, 47510 },
- { 0x166B, 47514 },
- { 0x1668, 47518 },
- { 0x1667, 47522 },
- { 0x1637, 47526 },
- { 0x166A, 47530 },
- { 0x1647, 47534 },
- { 0x141E, 47539 },
- { 0x150B, 47543 },
- { 0x150A, 47547 },
- { 0x141B, 47551 },
- { 0x1416, 47555 },
- { 0x14A0, 47559 },
- { 0x1482, 47563 },
- { 0x14BA, 47567 },
- { 0x14CF, 47571 },
- { 0x150F, 47575 },
- { 0x150E, 47579 },
- { 0x150C, 47583 },
- { 0x150D, 47587 },
- { 0x1504, 47591 },
- { 0x1465, 47595 },
- { 0x153D, 47599 },
- { 0x157B, 47603 },
- { 0x1579, 47607 },
- { 0x1574, 47611 },
- { 0x1575, 47615 },
- { 0x1577, 47619 },
- { 0x157A, 47623 },
- { 0x1576, 47627 },
- { 0x1578, 47631 },
- { 0x157C, 47635 },
- { 0x15AE, 47639 },
- { 0x15AC, 47643 },
- { 0x15A7, 47647 },
- { 0x15A8, 47651 },
- { 0x15AA, 47655 },
- { 0x15AD, 47659 },
- { 0x15A9, 47663 },
- { 0x15AB, 47667 },
- { 0x15B3, 47671 },
- { 0x15B0, 47675 },
- { 0x15B1, 47679 },
- { 0x15B2, 47683 },
- { 0x1508, 47687 },
- { 0x15BF, 47691 },
- { 0x15BC, 47695 },
- { 0x15BD, 47699 },
- { 0x15BE, 47703 },
- { 0x15BB, 47707 },
- { 0x15B8, 47711 },
- { 0x15B9, 47715 },
- { 0x15BA, 47719 },
- { 0x15B7, 47723 },
- { 0x15B4, 47727 },
- { 0x15B5, 47731 },
- { 0x15B6, 47735 },
- { 0x14EB, 47739 },
- { 0x14BC, 47743 },
- { 0x144A, 47747 },
- { 0x1551, 47751 },
- { 0x1540, 47755 },
- { 0x154D, 47759 },
- { 0x1544, 47763 },
- { 0x154A, 47767 },
- { 0x158D, 47771 },
- { 0x158A, 47775 },
- { 0x158B, 47779 },
- { 0x158C, 47783 },
- { 0x1418, 47787 },
- { 0x140D, 47791 },
- { 0x140F, 47795 },
- { 0x1413, 47799 },
- { 0x149D, 47803 },
- { 0x1493, 47807 },
- { 0x1495, 47811 },
- { 0x1499, 47815 },
- { 0x147F, 47819 },
- { 0x1475, 47823 },
- { 0x1477, 47827 },
- { 0x147B, 47831 },
- { 0x14E7, 47835 },
- { 0x14DD, 47839 },
- { 0x14DF, 47843 },
- { 0x14E3, 47847 },
- { 0x14B7, 47851 },
- { 0x14AD, 47855 },
- { 0x14AF, 47859 },
- { 0x14B3, 47863 },
- { 0x14CC, 47867 },
- { 0x14CA, 47871 },
- { 0x1445, 47875 },
- { 0x143B, 47879 },
- { 0x143D, 47883 },
- { 0x1441, 47887 },
- { 0x1501, 47891 },
- { 0x14F7, 47895 },
- { 0x14F9, 47899 },
- { 0x14FD, 47903 },
- { 0x1462, 47907 },
- { 0x1458, 47911 },
- { 0x145A, 47915 },
- { 0x145E, 47919 },
- { 0x141A, 47923 },
- { 0x1411, 47927 },
- { 0x1415, 47931 },
- { 0x153A, 47935 },
- { 0x1530, 47939 },
- { 0x1532, 47943 },
- { 0x1536, 47947 },
- { 0x149F, 47951 },
- { 0x1497, 47955 },
- { 0x149B, 47959 },
- { 0x155C, 47963 },
- { 0x1481, 47967 },
- { 0x1479, 47971 },
- { 0x147D, 47975 },
- { 0x14E9, 47979 },
- { 0x14E1, 47983 },
- { 0x14E5, 47987 },
- { 0x14B9, 47991 },
- { 0x14B1, 47995 },
- { 0x14B5, 47999 },
- { 0x14CE, 48003 },
- { 0x1447, 48007 },
- { 0x143F, 48011 },
- { 0x1443, 48015 },
- { 0x154F, 48019 },
- { 0x1522, 48023 },
- { 0x1518, 48027 },
- { 0x151A, 48031 },
- { 0x151E, 48035 },
- { 0x1503, 48039 },
- { 0x14FB, 48043 },
- { 0x14FF, 48047 },
- { 0x1464, 48051 },
- { 0x145C, 48055 },
- { 0x1460, 48059 },
- { 0x153C, 48063 },
- { 0x1534, 48067 },
- { 0x1538, 48071 },
- { 0x1524, 48075 },
- { 0x151C, 48079 },
- { 0x1520, 48083 },
- { 0x1569, 48087 },
- { 0x14BE, 48091 },
- { 0x1506, 48095 },
- { 0x153F, 48099 },
- { 0x1509, 48103 },
- { 0x159F, 48107 },
- { 0x159E, 48111 },
- { 0x159B, 48115 },
- { 0x159C, 48119 },
- { 0x159D, 48123 },
- { 0x1488, 48127 },
- { 0x1485, 48131 },
- { 0x1486, 48135 },
- { 0x1487, 48139 },
- { 0x13A0, 48143 },
- { 0x13A1, 48146 },
- { 0x13A2, 48149 },
- { 0x13A3, 48152 },
- { 0x13CD, 48155 },
- { 0x13A4, 48158 },
- { 0x13A5, 48161 },
- { 0x13D3, 48164 },
- { 0x13D5, 48167 },
- { 0x13D7, 48170 },
- { 0x13D9, 48173 },
- { 0x13DA, 48176 },
- { 0x13DB, 48179 },
- { 0x13A6, 48182 },
- { 0x13A8, 48185 },
- { 0x13A9, 48188 },
- { 0x13AA, 48191 },
- { 0x13AB, 48194 },
- { 0x13AC, 48197 },
- { 0x13AD, 48200 },
- { 0x13AE, 48203 },
- { 0x13AF, 48206 },
- { 0x13B0, 48209 },
- { 0x13B1, 48212 },
- { 0x13B2, 48215 },
- { 0x13A7, 48218 },
- { 0x13B3, 48221 },
- { 0x13B4, 48224 },
- { 0x13B5, 48227 },
- { 0x13B6, 48230 },
- { 0x13B7, 48233 },
- { 0x13B8, 48236 },
- { 0x13B9, 48239 },
- { 0x13BA, 48242 },
- { 0x13BB, 48245 },
- { 0x13BC, 48248 },
- { 0x13BD, 48251 },
- { 0x13BE, 48254 },
- { 0x13C1, 48257 },
- { 0x13C2, 48260 },
- { 0x13C3, 48263 },
- { 0x13C4, 48266 },
- { 0x13C5, 48269 },
- { 0x13CC, 48272 },
- { 0x13CE, 48275 },
- { 0x13CF, 48278 },
- { 0x13D0, 48281 },
- { 0x13D1, 48284 },
- { 0x13D2, 48287 },
- { 0x13D4, 48290 },
- { 0x13D6, 48293 },
- { 0x13D8, 48296 },
- { 0x13E9, 48299 },
- { 0x13EA, 48302 },
- { 0x13EB, 48305 },
- { 0x13EC, 48308 },
- { 0x13ED, 48311 },
- { 0x13EE, 48314 },
- { 0x13EF, 48317 },
- { 0x13F0, 48320 },
- { 0x13F1, 48323 },
- { 0x13F2, 48326 },
- { 0x13F3, 48329 },
- { 0x13F4, 48332 },
- { 0x13DC, 48335 },
- { 0x13BF, 48338 },
- { 0x13C0, 48341 },
- { 0x13C6, 48344 },
- { 0x13C7, 48347 },
- { 0x13C8, 48350 },
- { 0x13C9, 48353 },
- { 0x13CA, 48356 },
- { 0x13CB, 48359 },
- { 0x13DD, 48362 },
- { 0x13DE, 48365 },
- { 0x13DF, 48368 },
- { 0x13E0, 48371 },
- { 0x13E1, 48374 },
- { 0x13E2, 48377 },
- { 0x13E3, 48380 },
- { 0x13E4, 48383 },
- { 0x13E5, 48386 },
- { 0x13E6, 48389 },
- { 0x13E7, 48392 },
- { 0x13E8, 48395 },
- { 0x220B, 48398 },
- { 0x22B3, 48401 },
- { 0x22B5, 48405 },
- { 0x22FA, 48412 },
- { 0x22FD, 48417 },
- { 0x22FB, 48420 },
- { 0x9369, 48429 },
- { 0x936E, 48434 },
- { 0x936A, 48439 },
- { 0x936D, 48444 },
- { 0x936C, 48449 },
- { 0x9371, 48454 },
- { 0x9370, 48459 },
- { 0x936F, 48464 },
- { 0x936B, 48469 },
- { 0x9360, 48474 },
- { 0x9365, 48479 },
- { 0x9361, 48484 },
- { 0x9364, 48489 },
- { 0x9363, 48494 },
- { 0x9368, 48499 },
- { 0x9367, 48504 },
- { 0x9366, 48509 },
- { 0x9362, 48514 },
- { 0x20A2, 48519 },
- { 0x00A4, 48521 },
- { 0x0430, 48523 },
- { 0x04D1, 48527 },
- { 0x04D3, 48533 },
- { 0x044D, 48539 },
- { 0x04ED, 48543 },
- { 0x0438, 48549 },
- { 0x045D, 48553 },
- { 0x04E3, 48559 },
- { 0x04E5, 48565 },
- { 0x043E, 48571 },
- { 0x04E7, 48575 },
- { 0x0443, 48581 },
- { 0x04F3, 48585 },
- { 0x04EF, 48592 },
- { 0x04F1, 48598 },
- { 0x0431, 48604 },
- { 0x0434, 48608 },
- { 0x0444, 48612 },
- { 0x043B, 48616 },
- { 0x0513, 48620 },
- { 0x04C6, 48626 },
- { 0x0521, 48632 },
- { 0x043C, 48639 },
- { 0x04CE, 48643 },
- { 0x043D, 48649 },
- { 0x04C8, 48653 },
- { 0x04CA, 48659 },
- { 0x0523, 48665 },
- { 0x04A3, 48672 },
- { 0x0440, 48678 },
- { 0x048F, 48682 },
- { 0x0441, 48688 },
- { 0x04AB, 48692 },
- { 0x0445, 48698 },
- { 0x04FD, 48702 },
- { 0x04FF, 48708 },
- { 0x04B3, 48714 },
- { 0x0435, 48720 },
- { 0x04D7, 48724 },
- { 0x0450, 48730 },
- { 0x0451, 48736 },
- { 0x0458, 48740 },
- { 0x043A, 48744 },
- { 0x04C4, 48748 },
- { 0x049F, 48754 },
- { 0x049D, 48760 },
- { 0x049B, 48767 },
- { 0x047F, 48773 },
- { 0x043F, 48777 },
- { 0x04A7, 48781 },
- { 0x051B, 48788 },
- { 0x0442, 48792 },
- { 0x568B, 48796 },
- { 0x04AD, 48803 },
- { 0x0479, 48809 },
- { 0x0432, 48813 },
- { 0x051D, 48817 },
- { 0x044F, 48821 },
- { 0x0457, 48825 },
- { 0x565F, 48829 },
- { 0x044E, 48833 },
- { 0x0437, 48837 },
- { 0x0499, 48841 },
- { 0x04DF, 48847 },
- { 0x046B, 48853 },
- { 0x0447, 48858 },
- { 0x04B9, 48862 },
- { 0x04B7, 48869 },
- { 0x04F5, 48875 },
- { 0x0452, 48881 },
- { 0x5681, 48885 },
- { 0x0455, 48889 },
- { 0x0433, 48893 },
- { 0x0495, 48897 },
- { 0x0493, 48904 },
- { 0x04FB, 48910 },
- { 0x0491, 48918 },
- { 0x04F7, 48924 },
- { 0x0453, 48930 },
- { 0x5695, 48934 },
- { 0x045C, 48938 },
- { 0x046F, 48942 },
- { 0x0515, 48946 },
- { 0x0459, 48950 },
- { 0x045A, 48954 },
- { 0x0471, 48958 },
- { 0x0517, 48962 },
- { 0x0448, 48966 },
- { 0x0446, 48970 },
- { 0x568D, 48974 },
- { 0x0519, 48978 },
- { 0x0463, 48982 },
- { 0x0436, 48986 },
- { 0x04C2, 48990 },
- { 0x0497, 48996 },
- { 0x04DD, 49002 },
- { 0x5687, 49008 },
- { 0x045F, 49012 },
- { 0x5683, 49016 },
- { 0x5689, 49020 },
- { 0x0473, 49024 },
- { 0x044A, 49028 },
- { 0x5647, 49033 },
- { 0x0501, 49037 },
- { 0x0503, 49042 },
- { 0x0509, 49047 },
- { 0x050B, 49052 },
- { 0x050D, 49057 },
- { 0x050F, 49062 },
- { 0x0505, 49067 },
- { 0x0507, 49072 },
- { 0x04BB, 49077 },
- { 0x5697, 49081 },
- { 0x5663, 49085 },
- { 0x5665, 49090 },
- { 0x5667, 49095 },
- { 0x044C, 49100 },
- { 0x5693, 49105 },
- { 0x045B, 49109 },
- { 0x5691, 49113 },
- { 0x568F, 49117 },
- { 0x044B, 49121 },
- { 0x5651, 49125 },
- { 0x04F9, 49132 },
- { 0x5685, 49138 },
- { 0x051F, 49142 },
- { 0x564D, 49147 },
- { 0x5649, 49152 },
- { 0x5643, 49156 },
- { 0x0481, 49160 },
- { 0x0461, 49164 },
- { 0x047D, 49168 },
- { 0x047B, 49174 },
- { 0x04D9, 49179 },
- { 0x04DB, 49183 },
- { 0x0449, 49189 },
- { 0x0439, 49193 },
- { 0x048B, 49198 },
- { 0x045E, 49205 },
- { 0x04E9, 49210 },
- { 0x04EB, 49215 },
- { 0x5659, 49222 },
- { 0x566D, 49228 },
- { 0x0467, 49234 },
- { 0x5641, 49239 },
- { 0x04A1, 49243 },
- { 0x565B, 49248 },
- { 0x0475, 49253 },
- { 0x0477, 49257 },
- { 0x564F, 49265 },
- { 0x5657, 49270 },
- { 0x0465, 49275 },
- { 0x046D, 49280 },
- { 0x5653, 49286 },
- { 0x565D, 49291 },
- { 0x0469, 49298 },
- { 0x04CF, 49304 },
- { 0x5655, 49308 },
- { 0x0511, 49313 },
- { 0x5645, 49318 },
- { 0x048D, 49323 },
- { 0x04AF, 49328 },
- { 0x04B1, 49333 },
- { 0x04A9, 49340 },
- { 0x04BD, 49345 },
- { 0x04BF, 49350 },
- { 0x04E1, 49357 },
- { 0x566B, 49362 },
- { 0x5669, 49367 },
- { 0x564B, 49372 },
- { 0x0454, 49377 },
- { 0x04CC, 49382 },
- { 0x0456, 49387 },
- { 0x04D5, 49392 },
- { 0x04A5, 49397 },
- { 0x04B5, 49402 },
- { 0x567E, 49407 },
- { 0x1D2B, 49409 },
- { 0x04C0, 49414 },
- { 0x566E, 49417 },
- { 0x0410, 49421 },
- { 0x04D0, 49425 },
- { 0x04D2, 49431 },
- { 0x042D, 49437 },
- { 0x04EC, 49441 },
- { 0x0418, 49447 },
- { 0x040D, 49451 },
- { 0x04E2, 49457 },
- { 0x04E4, 49463 },
- { 0x041E, 49469 },
- { 0x04E6, 49473 },
- { 0x0423, 49479 },
- { 0x04F2, 49483 },
- { 0x04EE, 49490 },
- { 0x04F0, 49496 },
- { 0x0411, 49502 },
- { 0x0414, 49506 },
- { 0x0424, 49510 },
- { 0x041B, 49514 },
- { 0x0512, 49518 },
- { 0x04C5, 49524 },
- { 0x0520, 49530 },
- { 0x041C, 49537 },
- { 0x04CD, 49541 },
- { 0x041D, 49547 },
- { 0x04C7, 49551 },
- { 0x04C9, 49557 },
- { 0x0522, 49563 },
- { 0x04A2, 49570 },
- { 0x0420, 49576 },
- { 0x048E, 49580 },
- { 0x0421, 49586 },
- { 0x04AA, 49590 },
- { 0x0425, 49596 },
- { 0x04FC, 49600 },
- { 0x04FE, 49606 },
- { 0x04B2, 49612 },
- { 0x0415, 49618 },
- { 0x04D6, 49622 },
- { 0x0400, 49628 },
- { 0x0401, 49634 },
- { 0x0408, 49638 },
- { 0x041A, 49642 },
- { 0x04C3, 49646 },
- { 0x049E, 49652 },
- { 0x049C, 49658 },
- { 0x049A, 49665 },
- { 0x047E, 49671 },
- { 0x041F, 49675 },
- { 0x04A6, 49679 },
- { 0x051A, 49686 },
- { 0x0422, 49690 },
- { 0x568A, 49694 },
- { 0x04AC, 49701 },
- { 0x0478, 49707 },
- { 0x0412, 49711 },
- { 0x051C, 49715 },
- { 0x042F, 49719 },
- { 0x0407, 49723 },
- { 0x565E, 49727 },
- { 0x042E, 49731 },
- { 0x0417, 49735 },
- { 0x0498, 49739 },
- { 0x04DE, 49745 },
- { 0x046A, 49751 },
- { 0x0427, 49756 },
- { 0x04B8, 49760 },
- { 0x04B6, 49767 },
- { 0x04F4, 49773 },
- { 0x0402, 49779 },
- { 0x5680, 49783 },
- { 0x0405, 49787 },
- { 0x0413, 49791 },
- { 0x0494, 49795 },
- { 0x0492, 49802 },
- { 0x04FA, 49808 },
- { 0x0490, 49816 },
- { 0x04F6, 49822 },
- { 0x0403, 49828 },
- { 0x5694, 49832 },
- { 0x040C, 49836 },
- { 0x046E, 49840 },
- { 0x0514, 49844 },
- { 0x0409, 49848 },
- { 0x040A, 49852 },
- { 0x0470, 49856 },
- { 0x0516, 49860 },
- { 0x0428, 49864 },
- { 0x0426, 49868 },
- { 0x568C, 49872 },
- { 0x0518, 49876 },
- { 0x0462, 49880 },
- { 0x0416, 49884 },
- { 0x04C1, 49888 },
- { 0x0496, 49894 },
- { 0x04DC, 49900 },
- { 0x5686, 49906 },
- { 0x040F, 49910 },
- { 0x5682, 49914 },
- { 0x5688, 49918 },
- { 0x0472, 49922 },
- { 0x042A, 49926 },
- { 0x5646, 49931 },
- { 0x0500, 49935 },
- { 0x0502, 49940 },
- { 0x0508, 49945 },
- { 0x050A, 49950 },
- { 0x050C, 49955 },
- { 0x050E, 49960 },
- { 0x0504, 49965 },
- { 0x0506, 49970 },
- { 0x04BA, 49975 },
- { 0x5696, 49979 },
- { 0x5662, 49983 },
- { 0x5664, 49988 },
- { 0x5666, 49993 },
- { 0x042C, 49998 },
- { 0x5692, 50003 },
- { 0x040B, 50007 },
- { 0x5690, 50011 },
- { 0x568E, 50015 },
- { 0x042B, 50019 },
- { 0x5650, 50023 },
- { 0x04F8, 50030 },
- { 0x5684, 50036 },
- { 0x051E, 50040 },
- { 0x564C, 50045 },
- { 0x5648, 50050 },
- { 0x5642, 50054 },
- { 0x0480, 50058 },
- { 0x0460, 50062 },
- { 0x047C, 50066 },
- { 0x047A, 50072 },
- { 0x04D8, 50077 },
- { 0x04DA, 50081 },
- { 0x0429, 50087 },
- { 0x0419, 50091 },
- { 0x048A, 50096 },
- { 0x040E, 50103 },
- { 0x04E8, 50108 },
- { 0x04EA, 50113 },
- { 0x5658, 50120 },
- { 0x566C, 50126 },
- { 0x0466, 50132 },
- { 0x5640, 50137 },
- { 0x04A0, 50141 },
- { 0x565A, 50146 },
- { 0x0474, 50151 },
- { 0x0476, 50155 },
- { 0x564E, 50163 },
- { 0x5656, 50168 },
- { 0x0464, 50173 },
- { 0x046C, 50178 },
- { 0x5652, 50184 },
- { 0x565C, 50189 },
- { 0x0468, 50196 },
- { 0x5654, 50202 },
- { 0x0510, 50207 },
- { 0x5644, 50212 },
- { 0x048C, 50217 },
- { 0x04AE, 50222 },
- { 0x04B0, 50227 },
- { 0x04A8, 50234 },
- { 0x04BC, 50239 },
- { 0x04BE, 50244 },
- { 0x04E0, 50251 },
- { 0x566A, 50256 },
- { 0x5668, 50261 },
- { 0x564A, 50266 },
- { 0x0404, 50271 },
- { 0x04CB, 50276 },
- { 0x0406, 50281 },
- { 0x04D4, 50286 },
- { 0x04A4, 50291 },
- { 0x04B4, 50296 },
- { 0x567F, 50301 },
- { 0x0482, 50303 },
- { 0x2300, 50306 },
- { 0x00F7, 50308 },
- { 0x2215, 50310 },
- { 0x22C7, 50312 },
- { 0x279B, 50314 },
- { 0x2301, 50318 },
- { 0x2383, 50320 },
- { 0x2709, 50322 },
- { 0x1362, 50323 },
- { 0x1365, 50326 },
- { 0x1363, 50328 },
- { 0x1369, 50330 },
- { 0x136E, 50333 },
- { 0x136A, 50336 },
- { 0x136D, 50339 },
- { 0x136C, 50342 },
- { 0x1371, 50345 },
- { 0x1370, 50348 },
- { 0x136F, 50351 },
- { 0x136B, 50354 },
- { 0x1399, 50357 },
- { 0x1391, 50361 },
- { 0x1394, 50365 },
- { 0x1397, 50369 },
- { 0x1395, 50373 },
- { 0x1393, 50377 },
- { 0x1390, 50382 },
- { 0x1396, 50386 },
- { 0x1392, 50390 },
- { 0x1398, 50394 },
- { 0x1372, 50398 },
- { 0x137C, 50401 },
- { 0x1376, 50405 },
- { 0x1375, 50408 },
- { 0x1377, 50411 },
- { 0x1379, 50414 },
- { 0x137A, 50417 },
- { 0x1374, 50420 },
- { 0x1373, 50423 },
- { 0x137B, 50426 },
- { 0x1378, 50429 },
- { 0x1366, 50432 },
- { 0x1360, 50435 },
- { 0x1367, 50438 },
- { 0x1260, 50441 },
- { 0x1265, 50444 },
- { 0x1262, 50447 },
- { 0x1266, 50450 },
- { 0x1261, 50453 },
- { 0x1278, 50456 },
- { 0x127D, 50459 },
- { 0x127A, 50462 },
- { 0x127E, 50465 },
- { 0x1279, 50468 },
- { 0x12F0, 50471 },
- { 0x12F5, 50474 },
- { 0x12F2, 50477 },
- { 0x12F6, 50480 },
- { 0x12F1, 50483 },
- { 0x1348, 50486 },
- { 0x134D, 50489 },
- { 0x134A, 50492 },
- { 0x134E, 50495 },
- { 0x1349, 50498 },
- { 0x1308, 50501 },
- { 0x130D, 50504 },
- { 0x130A, 50507 },
- { 0x130E, 50510 },
- { 0x1309, 50513 },
- { 0x1200, 50516 },
- { 0x1205, 50519 },
- { 0x1202, 50522 },
- { 0x1206, 50525 },
- { 0x1201, 50528 },
- { 0x1300, 50531 },
- { 0x1305, 50534 },
- { 0x1302, 50537 },
- { 0x1306, 50540 },
- { 0x1301, 50543 },
- { 0x12A8, 50546 },
- { 0x12AD, 50549 },
- { 0x12AA, 50552 },
- { 0x12AE, 50555 },
- { 0x12A9, 50558 },
- { 0x1208, 50561 },
- { 0x120D, 50564 },
- { 0x120A, 50567 },
- { 0x120E, 50570 },
- { 0x1209, 50573 },
- { 0x1218, 50576 },
- { 0x121D, 50579 },
- { 0x121A, 50582 },
- { 0x121E, 50585 },
- { 0x1219, 50588 },
- { 0x1290, 50591 },
- { 0x1295, 50594 },
- { 0x1292, 50597 },
- { 0x1296, 50600 },
- { 0x1291, 50603 },
- { 0x1350, 50606 },
- { 0x1355, 50609 },
- { 0x1352, 50612 },
- { 0x1356, 50615 },
- { 0x1351, 50618 },
- { 0x1240, 50621 },
- { 0x1245, 50624 },
- { 0x1242, 50627 },
- { 0x1246, 50630 },
- { 0x1241, 50633 },
- { 0x1228, 50636 },
- { 0x122D, 50639 },
- { 0x122A, 50642 },
- { 0x122E, 50645 },
- { 0x1229, 50648 },
- { 0x1230, 50651 },
- { 0x1235, 50654 },
- { 0x1232, 50657 },
- { 0x1236, 50660 },
- { 0x1231, 50663 },
- { 0x1270, 50666 },
- { 0x1275, 50669 },
- { 0x1272, 50672 },
- { 0x1276, 50675 },
- { 0x1271, 50678 },
- { 0x1268, 50681 },
- { 0x126D, 50684 },
- { 0x126A, 50687 },
- { 0x126E, 50690 },
- { 0x1269, 50693 },
- { 0x12C8, 50696 },
- { 0x12CD, 50699 },
- { 0x12CA, 50702 },
- { 0x12CE, 50705 },
- { 0x12C9, 50708 },
- { 0x1280, 50711 },
- { 0x1285, 50714 },
- { 0x1282, 50717 },
- { 0x1286, 50720 },
- { 0x1281, 50723 },
- { 0x12E8, 50726 },
- { 0x12ED, 50729 },
- { 0x12EA, 50732 },
- { 0x12EE, 50735 },
- { 0x12E9, 50738 },
- { 0x12D8, 50741 },
- { 0x12DD, 50744 },
- { 0x12DA, 50747 },
- { 0x12DE, 50750 },
- { 0x12D9, 50753 },
- { 0x1263, 50756 },
- { 0x1264, 50759 },
- { 0x2D85, 50762 },
- { 0x1267, 50765 },
- { 0x1387, 50768 },
- { 0x1385, 50771 },
- { 0x127B, 50774 },
- { 0x2DA8, 50777 },
- { 0x2DAD, 50780 },
- { 0x2DAA, 50783 },
- { 0x2DAE, 50786 },
- { 0x2DA9, 50789 },
- { 0x127C, 50792 },
- { 0x1328, 50795 },
- { 0x132D, 50798 },
- { 0x132A, 50801 },
- { 0x132E, 50804 },
- { 0x1329, 50807 },
- { 0x2D87, 50810 },
- { 0x127F, 50813 },
- { 0x12F3, 50816 },
- { 0x12F8, 50819 },
- { 0x12FD, 50822 },
- { 0x12FA, 50825 },
- { 0x12FE, 50828 },
- { 0x12F9, 50831 },
- { 0x12F4, 50834 },
- { 0x2D8C, 50837 },
- { 0x12F7, 50840 },
- { 0x134B, 50843 },
- { 0x134C, 50846 },
- { 0x134F, 50849 },
- { 0x138B, 50852 },
- { 0x1389, 50855 },
- { 0x135A, 50858 },
- { 0x130B, 50861 },
- { 0x130C, 50864 },
- { 0x1318, 50867 },
- { 0x131D, 50870 },
- { 0x131A, 50873 },
- { 0x131E, 50876 },
- { 0x1319, 50879 },
- { 0x130F, 50882 },
- { 0x1310, 50885 },
- { 0x1315, 50888 },
- { 0x1312, 50891 },
- { 0x2DD8, 50894 },
- { 0x2DDD, 50897 },
- { 0x2DDA, 50900 },
- { 0x2DDE, 50903 },
- { 0x2DD9, 50906 },
- { 0x1203, 50909 },
- { 0x1204, 50912 },
- { 0x1210, 50915 },
- { 0x1215, 50918 },
- { 0x1212, 50921 },
- { 0x1216, 50924 },
- { 0x1211, 50927 },
- { 0x1207, 50930 },
- { 0x1303, 50933 },
- { 0x1304, 50936 },
- { 0x2D8E, 50939 },
- { 0x1307, 50942 },
- { 0x12AB, 50945 },
- { 0x12AC, 50948 },
- { 0x12AF, 50951 },
- { 0x12B0, 50954 },
- { 0x12B5, 50957 },
- { 0x12B2, 50960 },
- { 0x12B8, 50963 },
- { 0x12BD, 50966 },
- { 0x12BA, 50969 },
- { 0x12BE, 50972 },
- { 0x12B9, 50975 },
- { 0x2DC8, 50978 },
- { 0x2DCD, 50981 },
- { 0x2DCA, 50984 },
- { 0x2DCE, 50987 },
- { 0x2DC9, 50990 },
- { 0x120B, 50993 },
- { 0x120C, 50996 },
- { 0x2D80, 50999 },
- { 0x120F, 51002 },
- { 0x121B, 51005 },
- { 0x121C, 51008 },
- { 0x2D81, 51011 },
- { 0x121F, 51014 },
- { 0x1383, 51017 },
- { 0x1381, 51020 },
- { 0x1359, 51023 },
- { 0x1293, 51026 },
- { 0x1294, 51029 },
- { 0x2D88, 51032 },
- { 0x1297, 51035 },
- { 0x1298, 51038 },
- { 0x129D, 51041 },
- { 0x129A, 51044 },
- { 0x129E, 51047 },
- { 0x1299, 51050 },
- { 0x1353, 51053 },
- { 0x1354, 51056 },
- { 0x1330, 51059 },
- { 0x1335, 51062 },
- { 0x1332, 51065 },
- { 0x1336, 51068 },
- { 0x1331, 51071 },
- { 0x2D92, 51074 },
- { 0x1357, 51077 },
- { 0x138F, 51080 },
- { 0x138D, 51083 },
- { 0x1243, 51086 },
- { 0x1244, 51089 },
- { 0x1250, 51092 },
- { 0x1255, 51095 },
- { 0x1252, 51098 },
- { 0x1256, 51101 },
- { 0x1251, 51104 },
- { 0x1247, 51107 },
- { 0x1248, 51110 },
- { 0x124D, 51113 },
- { 0x124A, 51116 },
- { 0x2DC0, 51119 },
- { 0x2DC5, 51122 },
- { 0x2DC2, 51125 },
- { 0x2DC6, 51128 },
- { 0x2DC1, 51131 },
- { 0x122B, 51134 },
- { 0x122C, 51137 },
- { 0x2D82, 51140 },
- { 0x122F, 51143 },
- { 0x1358, 51146 },
- { 0x1233, 51149 },
- { 0x1234, 51152 },
- { 0x1238, 51155 },
- { 0x123D, 51158 },
- { 0x123A, 51161 },
- { 0x123E, 51164 },
- { 0x1239, 51167 },
- { 0x2D83, 51170 },
- { 0x2DA0, 51173 },
- { 0x2DA5, 51176 },
- { 0x2DA2, 51179 },
- { 0x2DA6, 51182 },
- { 0x2DA1, 51185 },
- { 0x1237, 51188 },
- { 0x1220, 51191 },
- { 0x1225, 51194 },
- { 0x1222, 51197 },
- { 0x1226, 51200 },
- { 0x1221, 51203 },
- { 0x1273, 51206 },
- { 0x1274, 51209 },
- { 0x1320, 51212 },
- { 0x1325, 51215 },
- { 0x1322, 51218 },
- { 0x1326, 51221 },
- { 0x1321, 51224 },
- { 0x2D86, 51227 },
- { 0x1338, 51230 },
- { 0x133D, 51233 },
- { 0x133A, 51236 },
- { 0x133E, 51239 },
- { 0x1339, 51242 },
- { 0x1277, 51245 },
- { 0x1340, 51248 },
- { 0x1345, 51251 },
- { 0x1342, 51254 },
- { 0x1346, 51257 },
- { 0x1341, 51260 },
- { 0x126B, 51263 },
- { 0x126C, 51266 },
- { 0x126F, 51269 },
- { 0x12CB, 51272 },
- { 0x12CC, 51275 },
- { 0x12CF, 51278 },
- { 0x1283, 51281 },
- { 0x1284, 51284 },
- { 0x1287, 51287 },
- { 0x1288, 51290 },
- { 0x128D, 51293 },
- { 0x128A, 51296 },
- { 0x2DD0, 51299 },
- { 0x2DD5, 51302 },
- { 0x2DD2, 51305 },
- { 0x2DD6, 51308 },
- { 0x2DD1, 51311 },
- { 0x12EB, 51314 },
- { 0x12EC, 51317 },
- { 0x12EF, 51320 },
- { 0x12DB, 51323 },
- { 0x12DC, 51326 },
- { 0x12E0, 51329 },
- { 0x12E5, 51332 },
- { 0x12E2, 51335 },
- { 0x12E6, 51338 },
- { 0x12E1, 51341 },
- { 0x2D8B, 51344 },
- { 0x12DF, 51347 },
- { 0x2DB0, 51350 },
- { 0x2DB5, 51353 },
- { 0x2DB2, 51356 },
- { 0x2DB6, 51359 },
- { 0x2DB1, 51362 },
- { 0x1386, 51365 },
- { 0x2DAB, 51368 },
- { 0x2DAC, 51371 },
- { 0x2DB8, 51374 },
- { 0x2DBD, 51377 },
- { 0x2DBA, 51380 },
- { 0x2DBE, 51383 },
- { 0x2DB9, 51386 },
- { 0x132B, 51389 },
- { 0x132C, 51392 },
- { 0x2D90, 51395 },
- { 0x132F, 51398 },
- { 0x12FB, 51401 },
- { 0x12FC, 51404 },
- { 0x2D8D, 51407 },
- { 0x12FF, 51410 },
- { 0x138A, 51413 },
- { 0x131B, 51416 },
- { 0x131C, 51419 },
- { 0x2D93, 51422 },
- { 0x2D96, 51425 },
- { 0x2D94, 51428 },
- { 0x1313, 51431 },
- { 0x1314, 51434 },
- { 0x2DDB, 51437 },
- { 0x2DDC, 51440 },
- { 0x1213, 51443 },
- { 0x1214, 51446 },
- { 0x1217, 51449 },
- { 0x12B3, 51452 },
- { 0x12B4, 51455 },
- { 0x12BB, 51458 },
- { 0x12BC, 51461 },
- { 0x12C0, 51464 },
- { 0x12C5, 51467 },
- { 0x12C2, 51470 },
- { 0x2DCB, 51473 },
- { 0x2DCC, 51476 },
- { 0x1382, 51479 },
- { 0x129B, 51482 },
- { 0x129C, 51485 },
- { 0x2D89, 51488 },
- { 0x129F, 51491 },
- { 0x1333, 51494 },
- { 0x1334, 51497 },
- { 0x2D91, 51500 },
- { 0x1337, 51503 },
- { 0x138E, 51506 },
- { 0x1253, 51509 },
- { 0x1254, 51512 },
- { 0x1258, 51515 },
- { 0x125D, 51518 },
- { 0x125A, 51521 },
- { 0x124B, 51524 },
- { 0x124C, 51527 },
- { 0x2DC3, 51530 },
- { 0x2DC4, 51533 },
- { 0x123B, 51536 },
- { 0x123C, 51539 },
- { 0x2D84, 51542 },
- { 0x123F, 51545 },
- { 0x2DA3, 51548 },
- { 0x2DA4, 51551 },
- { 0x1223, 51554 },
- { 0x1224, 51557 },
- { 0x1227, 51560 },
- { 0x1323, 51563 },
- { 0x1324, 51566 },
- { 0x2D8F, 51569 },
- { 0x1327, 51572 },
- { 0x133B, 51575 },
- { 0x133C, 51578 },
- { 0x133F, 51581 },
- { 0x1343, 51584 },
- { 0x1344, 51587 },
- { 0x1347, 51590 },
- { 0x128B, 51593 },
- { 0x128C, 51596 },
- { 0x2DD3, 51599 },
- { 0x2DD4, 51602 },
- { 0x12E3, 51605 },
- { 0x12E4, 51608 },
- { 0x12E7, 51611 },
- { 0x2DB3, 51614 },
- { 0x2DB4, 51617 },
- { 0x2DBB, 51620 },
- { 0x2DBC, 51623 },
- { 0x131F, 51626 },
- { 0x2D95, 51629 },
- { 0x12C3, 51632 },
- { 0x12C4, 51635 },
- { 0x125B, 51638 },
- { 0x125C, 51641 },
- { 0x12A0, 51644 },
- { 0x12A5, 51648 },
- { 0x12A2, 51652 },
- { 0x12A6, 51656 },
- { 0x12A1, 51660 },
- { 0x12A3, 51664 },
- { 0x12A4, 51668 },
- { 0x2D8A, 51672 },
- { 0x12A7, 51676 },
- { 0x1384, 51680 },
- { 0x1388, 51684 },
- { 0x1380, 51688 },
- { 0x138C, 51692 },
- { 0x12D0, 51696 },
- { 0x12D5, 51700 },
- { 0x12D2, 51704 },
- { 0x12D6, 51708 },
- { 0x12D1, 51712 },
- { 0x12D3, 51716 },
- { 0x12D4, 51720 },
- { 0x135F, 51724 },
- { 0x1368, 51728 },
- { 0x1364, 51731 },
- { 0x1361, 51733 },
- { 0x06F1, 51735 },
- { 0x06F6, 51739 },
- { 0x06F2, 51743 },
- { 0x06F5, 51747 },
- { 0x06F4, 51751 },
- { 0x06F9, 51755 },
- { 0x06F0, 51759 },
- { 0x06F8, 51763 },
- { 0x06F7, 51767 },
- { 0x06F3, 51771 },
- { 0x00AA, 51775 },
- { 0x23E5, 51778 },
- { 0x2044, 51779 },
- { 0x215F, 51781 },
- { 0x2061, 51784 },
- { 0x2D00, 51786 },
- { 0x2D04, 51790 },
- { 0x2D21, 51794 },
- { 0x2D08, 51798 },
- { 0x2D0D, 51802 },
- { 0x2D13, 51806 },
- { 0x2D23, 51810 },
- { 0x2D01, 51814 },
- { 0x2D1A, 51818 },
- { 0x2D1C, 51822 },
- { 0x2D03, 51826 },
- { 0x2D02, 51830 },
- { 0x2D20, 51834 },
- { 0x2D24, 51838 },
- { 0x2D22, 51842 },
- { 0x2D25, 51846 },
- { 0x2D1B, 51850 },
- { 0x2D09, 51854 },
- { 0x2D0A, 51858 },
- { 0x2D0B, 51862 },
- { 0x2D0C, 51866 },
- { 0x2D0E, 51870 },
- { 0x2D17, 51874 },
- { 0x2D10, 51878 },
- { 0x2D11, 51882 },
- { 0x2D07, 51886 },
- { 0x2D12, 51890 },
- { 0x2D05, 51894 },
- { 0x2D1E, 51898 },
- { 0x2D06, 51902 },
- { 0x2D1D, 51906 },
- { 0x2D19, 51910 },
- { 0x2D16, 51914 },
- { 0x2D1F, 51918 },
- { 0x2D15, 51922 },
- { 0x2D14, 51926 },
- { 0x2D18, 51930 },
- { 0x2D0F, 51934 },
- { 0x10D0, 51938 },
- { 0x10D4, 51941 },
- { 0x10F6, 51944 },
- { 0x10F1, 51947 },
- { 0x10D8, 51950 },
- { 0x10DD, 51953 },
- { 0x10E3, 51956 },
- { 0x10F3, 51959 },
- { 0x10F7, 51962 },
- { 0x10FA, 51965 },
- { 0x10D1, 51968 },
- { 0x10EA, 51971 },
- { 0x10EC, 51974 },
- { 0x10D3, 51977 },
- { 0x10D2, 51980 },
- { 0x10F0, 51983 },
- { 0x10F4, 51986 },
- { 0x10F2, 51989 },
- { 0x10F5, 51992 },
- { 0x10EB, 51995 },
- { 0x10D9, 51998 },
- { 0x10DA, 52001 },
- { 0x10DB, 52004 },
- { 0x10DC, 52007 },
- { 0x10DE, 52010 },
- { 0x10E7, 52013 },
- { 0x10E0, 52016 },
- { 0x10E1, 52019 },
- { 0x10D7, 52022 },
- { 0x10E2, 52025 },
- { 0x10D5, 52028 },
- { 0x10EE, 52031 },
- { 0x10D6, 52034 },
- { 0x10ED, 52037 },
- { 0x10E9, 52040 },
- { 0x10E6, 52043 },
- { 0x10EF, 52046 },
- { 0x10E5, 52049 },
- { 0x10E4, 52052 },
- { 0x10E8, 52055 },
- { 0x10DF, 52058 },
- { 0x10F8, 52061 },
- { 0x10F9, 52064 },
- { 0x10A0, 52068 },
- { 0x10A4, 52072 },
- { 0x10C1, 52076 },
- { 0x10A8, 52080 },
- { 0x10AD, 52084 },
- { 0x10B3, 52088 },
- { 0x10C3, 52092 },
- { 0x10A1, 52096 },
- { 0x10BA, 52100 },
- { 0x10BC, 52104 },
- { 0x10A3, 52108 },
- { 0x10A2, 52112 },
- { 0x10C0, 52116 },
- { 0x10C4, 52120 },
- { 0x10C2, 52124 },
- { 0x10C5, 52128 },
- { 0x10BB, 52132 },
- { 0x10A9, 52136 },
- { 0x10AA, 52140 },
- { 0x10AB, 52144 },
- { 0x10AC, 52148 },
- { 0x10AE, 52152 },
- { 0x10B7, 52156 },
- { 0x10B0, 52160 },
- { 0x10B1, 52164 },
- { 0x10A7, 52168 },
- { 0x10B2, 52172 },
- { 0x10A5, 52176 },
- { 0x10BE, 52180 },
- { 0x10A6, 52184 },
- { 0x10BD, 52188 },
- { 0x10B9, 52192 },
- { 0x10B6, 52196 },
- { 0x10BF, 52200 },
- { 0x10B5, 52204 },
- { 0x10B4, 52208 },
- { 0x10B8, 52212 },
- { 0x10AF, 52216 },
- { 0x10FB, 52220 },
- { 0x0AD0, 52223 },
- { 0x0ABC, 52225 },
- { 0x0ACD, 52228 },
- { 0x0A83, 52231 },
- { 0x0A82, 52234 },
- { 0x0ABD, 52237 },
- { 0x0A81, 52240 },
- { 0x0AE7, 52243 },
- { 0x0AEC, 52246 },
- { 0x0AE8, 52249 },
- { 0x0AEB, 52252 },
- { 0x0AEA, 52255 },
- { 0x0AEF, 52258 },
- { 0x0AE6, 52261 },
- { 0x0AEE, 52264 },
- { 0x0AED, 52267 },
- { 0x0AE9, 52270 },
- { 0x0AF1, 52273 },
- { 0x0AC7, 52276 },
- { 0x0ABF, 52280 },
- { 0x0ACB, 52284 },
- { 0x0AC1, 52288 },
- { 0x0ABE, 52292 },
- { 0x0AC8, 52296 },
- { 0x0ACC, 52300 },
- { 0x0AC0, 52304 },
- { 0x0AC2, 52308 },
- { 0x0AC5, 52312 },
- { 0x0AC9, 52317 },
- { 0x0AE2, 52322 },
- { 0x0AC3, 52327 },
- { 0x0AE3, 52332 },
- { 0x0AC4, 52337 },
- { 0x0A8D, 52342 },
- { 0x0A91, 52346 },
- { 0x0A85, 52350 },
- { 0x0A8F, 52353 },
- { 0x0A87, 52356 },
- { 0x0A93, 52359 },
- { 0x0A89, 52362 },
- { 0x0A86, 52365 },
- { 0x0A90, 52368 },
- { 0x0A94, 52371 },
- { 0x0AAC, 52374 },
- { 0x0A9A, 52377 },
- { 0x0AA6, 52380 },
- { 0x0A97, 52383 },
- { 0x0AB9, 52386 },
- { 0x0A88, 52389 },
- { 0x0A9C, 52392 },
- { 0x0A95, 52395 },
- { 0x0AB2, 52398 },
- { 0x0AAE, 52401 },
- { 0x0AA8, 52404 },
- { 0x0AAA, 52407 },
- { 0x0AB0, 52410 },
- { 0x0AB8, 52413 },
- { 0x0AA4, 52416 },
- { 0x0A8A, 52419 },
- { 0x0AB5, 52422 },
- { 0x0AAF, 52425 },
- { 0x0AAD, 52428 },
- { 0x0A9B, 52431 },
- { 0x0AA1, 52434 },
- { 0x0AA7, 52437 },
- { 0x0A98, 52440 },
- { 0x0A9D, 52443 },
- { 0x0A96, 52446 },
- { 0x0AB3, 52449 },
- { 0x0A99, 52452 },
- { 0x0AA3, 52455 },
- { 0x0A9E, 52458 },
- { 0x0AAB, 52461 },
- { 0x0AB6, 52464 },
- { 0x0AB7, 52467 },
- { 0x0AA5, 52470 },
- { 0x0A9F, 52473 },
- { 0x0AA2, 52476 },
- { 0x0AA0, 52479 },
- { 0x0A8C, 52482 },
- { 0x0A8B, 52486 },
- { 0x0AE1, 52490 },
- { 0x0AE0, 52494 },
- { 0x0A74, 52498 },
- { 0x0A72, 52501 },
- { 0x0A73, 52503 },
- { 0x0A01, 52505 },
- { 0x0A02, 52509 },
- { 0x0A3C, 52512 },
- { 0x0A51, 52515 },
- { 0x0A4D, 52518 },
- { 0x0A75, 52521 },
- { 0x0A03, 52524 },
- { 0x0A71, 52527 },
- { 0x0A67, 52529 },
- { 0x0A6C, 52532 },
- { 0x0A68, 52535 },
- { 0x0A6B, 52538 },
- { 0x0A6A, 52541 },
- { 0x0A6F, 52544 },
- { 0x0A66, 52547 },
- { 0x0A6E, 52550 },
- { 0x0A6D, 52553 },
- { 0x0A69, 52556 },
- { 0x0A70, 52559 },
- { 0x0A3F, 52561 },
- { 0x0A41, 52565 },
- { 0x0A3E, 52569 },
- { 0x0A48, 52573 },
- { 0x0A4C, 52577 },
- { 0x0A47, 52581 },
- { 0x0A40, 52585 },
- { 0x0A4B, 52589 },
- { 0x0A42, 52593 },
- { 0x0A05, 52597 },
- { 0x0A07, 52600 },
- { 0x0A09, 52603 },
- { 0x0A06, 52606 },
- { 0x0A10, 52609 },
- { 0x0A14, 52612 },
- { 0x0A2C, 52615 },
- { 0x0A1A, 52618 },
- { 0x0A26, 52621 },
- { 0x0A0F, 52624 },
- { 0x0A5E, 52627 },
- { 0x0A17, 52630 },
- { 0x0A39, 52633 },
- { 0x0A08, 52636 },
- { 0x0A1C, 52639 },
- { 0x0A15, 52642 },
- { 0x0A32, 52645 },
- { 0x0A2E, 52648 },
- { 0x0A28, 52651 },
- { 0x0A13, 52654 },
- { 0x0A2A, 52657 },
- { 0x0A30, 52660 },
- { 0x0A38, 52663 },
- { 0x0A24, 52666 },
- { 0x0A0A, 52669 },
- { 0x0A35, 52672 },
- { 0x0A2F, 52675 },
- { 0x0A5B, 52678 },
- { 0x0A2D, 52681 },
- { 0x0A1B, 52684 },
- { 0x0A21, 52687 },
- { 0x0A27, 52690 },
- { 0x0A18, 52693 },
- { 0x0A1D, 52696 },
- { 0x0A16, 52699 },
- { 0x0A33, 52702 },
- { 0x0A19, 52705 },
- { 0x0A23, 52708 },
- { 0x0A1E, 52711 },
- { 0x0A2B, 52714 },
- { 0x0A5C, 52717 },
- { 0x0A36, 52720 },
- { 0x0A25, 52723 },
- { 0x0A1F, 52726 },
- { 0x0A22, 52729 },
- { 0x0A5A, 52732 },
- { 0x0A59, 52735 },
- { 0x0A20, 52738 },
- { 0x3021, 52741 },
- { 0x3026, 52744 },
- { 0x3038, 52747 },
- { 0x3022, 52750 },
- { 0x3025, 52753 },
- { 0x3024, 52756 },
- { 0x3029, 52759 },
- { 0x3028, 52762 },
- { 0x3027, 52765 },
- { 0x3023, 52768 },
- { 0x303A, 52771 },
- { 0x3039, 52774 },
- { 0x4DC6, 52777 },
- { 0x4DEF, 52781 },
- { 0x4DE4, 52785 },
- { 0x4DF8, 52789 },
- { 0x4DF9, 52794 },
- { 0x4DDC, 52799 },
- { 0x4DF3, 52804 },
- { 0x4DF2, 52810 },
- { 0x4DF1, 52815 },
- { 0x4DDD, 52819 },
- { 0x4DC0, 52824 },
- { 0x4DF5, 52829 },
- { 0x4DF7, 52834 },
- { 0x4DC1, 52838 },
- { 0x4DD1, 52843 },
- { 0x4DFE, 52849 },
- { 0x4DD5, 52853 },
- { 0x4DE1, 52856 },
- { 0x4DD9, 52860 },
- { 0x4DCD, 52864 },
- { 0x4DDB, 52868 },
- { 0x4DFC, 52872 },
- { 0x4DDA, 52876 },
- { 0x4DCA, 52880 },
- { 0x4DC8, 52883 },
- { 0x4DFD, 52887 },
- { 0x4DFF, 52891 },
- { 0x4DD4, 52895 },
- { 0x4DEB, 52899 },
- { 0x4DD7, 52904 },
- { 0x4DC7, 52907 },
- { 0x4DCE, 52911 },
- { 0x4DED, 52914 },
- { 0x4DE0, 52918 },
- { 0x4DC4, 52921 },
- { 0x4DD2, 52924 },
- { 0x4DC5, 52927 },
- { 0x4DE8, 52930 },
- { 0x4DDF, 52933 },
- { 0x4DE9, 52936 },
- { 0x4DE2, 52939 },
- { 0x4DC9, 52942 },
- { 0x4DC3, 52945 },
- { 0x4DF6, 52949 },
- { 0x4DE3, 52952 },
- { 0x4DD0, 52958 },
- { 0x4DEC, 52961 },
- { 0x4DDE, 52965 },
- { 0x4DD8, 52968 },
- { 0x4DD6, 52971 },
- { 0x4DC2, 52975 },
- { 0x4DFA, 52981 },
- { 0x4DCF, 52984 },
- { 0x4DCC, 52987 },
- { 0x4DFB, 52990 },
- { 0x4DE5, 52993 },
- { 0x4DEE, 52996 },
- { 0x4DF0, 52999 },
- { 0x4DCB, 53002 },
- { 0x4DE7, 53005 },
- { 0x4DF4, 53008 },
- { 0x4DE6, 53011 },
- { 0x4DEA, 53014 },
- { 0x4DD3, 53017 },
- { 0x3042, 53020 },
- { 0x3048, 53023 },
- { 0x3044, 53026 },
- { 0x3093, 53029 },
- { 0x304A, 53032 },
- { 0x3046, 53035 },
- { 0x3070, 53038 },
- { 0x3079, 53041 },
- { 0x3073, 53044 },
- { 0x307C, 53047 },
- { 0x3076, 53050 },
- { 0x3060, 53053 },
- { 0x3067, 53056 },
- { 0x3062, 53059 },
- { 0x3069, 53062 },
- { 0x3065, 53065 },
- { 0x304C, 53068 },
- { 0x3052, 53071 },
- { 0x304E, 53074 },
- { 0x3054, 53077 },
- { 0x3050, 53080 },
- { 0x306F, 53083 },
- { 0x3078, 53086 },
- { 0x3072, 53089 },
- { 0x307B, 53092 },
- { 0x3075, 53095 },
- { 0x304B, 53098 },
- { 0x3051, 53101 },
- { 0x304D, 53104 },
- { 0x3053, 53107 },
- { 0x304F, 53110 },
- { 0x307E, 53113 },
- { 0x3081, 53116 },
- { 0x307F, 53119 },
- { 0x3082, 53122 },
- { 0x3080, 53125 },
- { 0x306A, 53128 },
- { 0x306D, 53131 },
- { 0x306B, 53134 },
- { 0x306E, 53137 },
- { 0x306C, 53140 },
- { 0x3071, 53143 },
- { 0x307A, 53146 },
- { 0x3074, 53149 },
- { 0x307D, 53152 },
- { 0x3077, 53155 },
- { 0x3089, 53158 },
- { 0x308C, 53161 },
- { 0x308A, 53164 },
- { 0x308D, 53167 },
- { 0x308B, 53170 },
- { 0x3055, 53173 },
- { 0x305B, 53176 },
- { 0x3057, 53179 },
- { 0x305D, 53182 },
- { 0x3059, 53185 },
- { 0x305F, 53188 },
- { 0x3066, 53191 },
- { 0x3061, 53194 },
- { 0x3068, 53197 },
- { 0x3064, 53200 },
- { 0x3094, 53203 },
- { 0x308F, 53206 },
- { 0x3091, 53209 },
- { 0x3090, 53212 },
- { 0x3092, 53215 },
- { 0x3084, 53218 },
- { 0x3088, 53221 },
- { 0x3086, 53224 },
- { 0x3056, 53227 },
- { 0x305C, 53230 },
- { 0x3058, 53233 },
- { 0x305E, 53236 },
- { 0x305A, 53239 },
- { 0x3041, 53242 },
- { 0x3047, 53246 },
- { 0x3043, 53250 },
- { 0x3049, 53254 },
- { 0x3045, 53258 },
- { 0x3095, 53262 },
- { 0x3096, 53266 },
- { 0x3063, 53270 },
- { 0x308E, 53274 },
- { 0x3083, 53278 },
- { 0x3087, 53282 },
- { 0x3085, 53286 },
- { 0x309E, 53290 },
- { 0x309F, 53294 },
- { 0x309D, 53297 },
- { 0x221E, 53300 },
- { 0x29DE, 53301 },
- { 0x222B, 53306 },
- { 0x2A18, 53307 },
- { 0x2A1A, 53311 },
- { 0x2A0E, 53314 },
- { 0x2A1B, 53318 },
- { 0x2A1C, 53321 },
- { 0x2A17, 53324 },
- { 0x2A19, 53330 },
- { 0x2A15, 53333 },
- { 0x2A0F, 53338 },
- { 0x23AE, 53342 },
- { 0x2A3C, 53344 },
- { 0x2127, 53346 },
- { 0x223E, 53349 },
- { 0x00BF, 53352 },
- { 0x2054, 53355 },
- { 0x00A1, 53357 },
- { 0x2E18, 53360 },
- { 0x3004, 53362 },
- { 0x30A2, 53366 },
- { 0x30A8, 53369 },
- { 0x30A4, 53372 },
- { 0x30F3, 53375 },
- { 0x30AA, 53378 },
- { 0x30A6, 53381 },
- { 0x30D0, 53384 },
- { 0x30D9, 53387 },
- { 0x30D3, 53390 },
- { 0x30DC, 53393 },
- { 0x30D6, 53396 },
- { 0x30C0, 53399 },
- { 0x30C7, 53402 },
- { 0x30C2, 53405 },
- { 0x30C9, 53408 },
- { 0x30C5, 53411 },
- { 0x30AC, 53414 },
- { 0x30B2, 53417 },
- { 0x30AE, 53420 },
- { 0x30B4, 53423 },
- { 0x30B0, 53426 },
- { 0x30CF, 53429 },
- { 0x30D8, 53432 },
- { 0x30D2, 53435 },
- { 0x30DB, 53438 },
- { 0x30D5, 53441 },
- { 0x30AB, 53444 },
- { 0x30B1, 53447 },
- { 0x30AD, 53450 },
- { 0x30B3, 53453 },
- { 0x30AF, 53456 },
- { 0x30DE, 53459 },
- { 0x30E1, 53462 },
- { 0x30DF, 53465 },
- { 0x30E2, 53468 },
- { 0x30E0, 53471 },
- { 0x30CA, 53474 },
- { 0x30CD, 53477 },
- { 0x30CB, 53480 },
- { 0x30CE, 53483 },
- { 0x30CC, 53486 },
- { 0x30D1, 53489 },
- { 0x30DA, 53492 },
- { 0x30D4, 53495 },
- { 0x30DD, 53498 },
- { 0x30D7, 53501 },
- { 0x30E9, 53504 },
- { 0x30EC, 53507 },
- { 0x30EA, 53510 },
- { 0x30ED, 53513 },
- { 0x30EB, 53516 },
- { 0x30B5, 53519 },
- { 0x30BB, 53522 },
- { 0x30B7, 53525 },
- { 0x30BD, 53528 },
- { 0x30B9, 53531 },
- { 0x30BF, 53534 },
- { 0x30C6, 53537 },
- { 0x30C1, 53540 },
- { 0x30C8, 53543 },
- { 0x30C4, 53546 },
- { 0x30F7, 53549 },
- { 0x30F9, 53552 },
- { 0x30F8, 53555 },
- { 0x30FA, 53558 },
- { 0x30F4, 53561 },
- { 0x30EF, 53564 },
- { 0x30F1, 53567 },
- { 0x30F0, 53570 },
- { 0x30F2, 53573 },
- { 0x30E4, 53576 },
- { 0x30E8, 53579 },
- { 0x30E6, 53582 },
- { 0x30B6, 53585 },
- { 0x30BC, 53588 },
- { 0x30B8, 53591 },
- { 0x30BE, 53594 },
- { 0x30BA, 53597 },
- { 0x30A1, 53600 },
- { 0x30A7, 53604 },
- { 0x30A3, 53608 },
- { 0x30A9, 53612 },
- { 0x30A5, 53616 },
- { 0x31F5, 53620 },
- { 0x31F8, 53624 },
- { 0x31F6, 53628 },
- { 0x31F9, 53632 },
- { 0x31F7, 53636 },
- { 0x30F5, 53640 },
- { 0x30F6, 53644 },
- { 0x31F0, 53648 },
- { 0x31FA, 53652 },
- { 0x31F4, 53656 },
- { 0x31FB, 53660 },
- { 0x31FE, 53664 },
- { 0x31FC, 53668 },
- { 0x31FF, 53672 },
- { 0x31FD, 53676 },
- { 0x31F1, 53680 },
- { 0x31F2, 53684 },
- { 0x31F3, 53688 },
- { 0x30C3, 53692 },
- { 0x30EE, 53696 },
- { 0x30E3, 53700 },
- { 0x30E7, 53704 },
- { 0x30E5, 53708 },
- { 0x30FB, 53712 },
- { 0x30FE, 53715 },
- { 0x30FF, 53719 },
- { 0x30FD, 53722 },
- { 0x2328, 53725 },
- { 0xC001, 53726 },
- { 0x26AD, 53728 },
- { 0x225E, 53730 },
- { 0x2221, 53732 },
- { 0x29A9, 53734 },
- { 0x29A8, 53746 },
- { 0x29AB, 53758 },
- { 0x29AA, 53770 },
- { 0x29AD, 53782 },
- { 0x29AF, 53794 },
- { 0x29AC, 53806 },
- { 0x29AE, 53818 },
- { 0x299B, 53830 },
- { 0x299D, 53834 },
- { 0x23D5, 53839 },
- { 0x23D6, 53844 },
- { 0x23D4, 53848 },
- { 0x23D2, 53853 },
- { 0x23D1, 53857 },
- { 0x23D3, 53859 },
- { 0x23D7, 53863 },
- { 0x23D9, 53865 },
- { 0x23D8, 53867 },
- { 0x02D4, 53869 },
- { 0x02C4, 53873 },
- { 0x5770, 53877 },
- { 0x5718, 53880 },
- { 0x5717, 53884 },
- { 0x5719, 53889 },
- { 0x02FC, 53894 },
- { 0x02FA, 53899 },
- { 0x02F0, 53904 },
- { 0x02EF, 53909 },
- { 0x02FF, 53914 },
- { 0x02F1, 53919 },
- { 0x02F3, 53924 },
- { 0x02E8, 53928 },
- { 0x02CF, 53933 },
- { 0x02CE, 53938 },
- { 0x02F2, 53943 },
- { 0x02F7, 53948 },
- { 0x570B, 53952 },
- { 0x5710, 53958 },
- { 0x02CD, 53965 },
- { 0x571F, 53969 },
- { 0x02CC, 53975 },
- { 0x5715, 53980 },
- { 0x5788, 53986 },
- { 0x02E7, 53991 },
- { 0x570A, 53996 },
- { 0x570F, 54002 },
- { 0x5714, 54009 },
- { 0x02EA, 54015 },
- { 0x02D5, 54021 },
- { 0x02C5, 54025 },
- { 0x02D1, 54029 },
- { 0x02E6, 54034 },
- { 0x5709, 54039 },
- { 0x570E, 54045 },
- { 0x5713, 54052 },
- { 0x02BF, 54058 },
- { 0x02C2, 54063 },
- { 0x02FE, 54067 },
- { 0x02D6, 54071 },
- { 0x02EB, 54075 },
- { 0x02CA, 54081 },
- { 0x02FB, 54085 },
- { 0x02F9, 54090 },
- { 0x5789, 54095 },
- { 0x02DF, 54098 },
- { 0x02CB, 54102 },
- { 0x571A, 54106 },
- { 0x02D7, 54112 },
- { 0x02B9, 54116 },
- { 0x02BE, 54119 },
- { 0x02C3, 54124 },
- { 0x02FD, 54128 },
- { 0x578A, 54131 },
- { 0x1D43, 54136 },
- { 0x1D47, 54140 },
- { 0x1D9C, 54144 },
- { 0x1D9D, 54148 },
- { 0x1D48, 54154 },
- { 0x1D49, 54158 },
- { 0x1DA0, 54162 },
- { 0x1D4D, 54166 },
- { 0x02B0, 54170 },
- { 0x02B1, 54174 },
- { 0x1DA4, 54180 },
- { 0x02B2, 54186 },
- { 0x1DA8, 54190 },
- { 0x1D4F, 54196 },
- { 0x02E1, 54200 },
- { 0x1DAA, 54204 },
- { 0x1DA9, 54211 },
- { 0x1D50, 54218 },
- { 0x1DAC, 54222 },
- { 0x1DAE, 54228 },
- { 0x1DAF, 54235 },
- { 0x1D52, 54242 },
- { 0x1D56, 54246 },
- { 0x02B3, 54250 },
- { 0x02E2, 54254 },
- { 0x1DB3, 54258 },
- { 0x1D57, 54264 },
- { 0x1DB5, 54268 },
- { 0x1D58, 54275 },
- { 0x1DB6, 54279 },
- { 0x1D5B, 54284 },
- { 0x1DB9, 54288 },
- { 0x02B7, 54294 },
- { 0x02E3, 54298 },
- { 0x02B8, 54302 },
- { 0x1DBB, 54306 },
- { 0x1DBD, 54310 },
- { 0x1DBC, 54316 },
- { 0x1D5C, 54323 },
- { 0x1D61, 54327 },
- { 0x1D51, 54331 },
- { 0x1DB4, 54335 },
- { 0x1D9E, 54339 },
- { 0x1DBE, 54343 },
- { 0x1DB2, 54347 },
- { 0x1D54, 54351 },
- { 0x1D5D, 54357 },
- { 0x1DA5, 54361 },
- { 0x1D4B, 54365 },
- { 0x1D53, 54370 },
- { 0x1D45, 54375 },
- { 0x1D5F, 54379 },
- { 0x02E0, 54383 },
- { 0x1D60, 54387 },
- { 0x1D5E, 54392 },
- { 0x1D4A, 54397 },
- { 0x1DBF, 54401 },
- { 0x1DB1, 54405 },
- { 0x1D55, 54410 },
- { 0x1DA2, 54416 },
- { 0x1D44, 54421 },
- { 0x1DA3, 54426 },
- { 0x1D4E, 54431 },
- { 0x1D5A, 54436 },
- { 0x1DAD, 54441 },
- { 0x02B4, 54449 },
- { 0x02B5, 54454 },
- { 0x1DBA, 54461 },
- { 0x1D46, 54466 },
- { 0x1D4C, 54471 },
- { 0x1D9B, 54477 },
- { 0x1DA6, 54482 },
- { 0x1DA7, 54487 },
- { 0x1DAB, 54494 },
- { 0x1DB0, 54499 },
- { 0x1DB8, 54504 },
- { 0x02B6, 54509 },
- { 0x1DA1, 54515 },
- { 0x1DB7, 54522 },
- { 0x1D9F, 54526 },
- { 0x02E4, 54532 },
- { 0x1D59, 54538 },
- { 0x02BA, 54543 },
- { 0x02EE, 54547 },
- { 0x02C9, 54551 },
- { 0x02F4, 54554 },
- { 0x02F6, 54559 },
- { 0x02F5, 54565 },
- { 0x571B, 54571 },
- { 0x571C, 54576 },
- { 0x02F8, 54581 },
- { 0x571E, 54585 },
- { 0x571D, 54591 },
- { 0x02DE, 54596 },
- { 0x5721, 54600 },
- { 0x5720, 54606 },
- { 0x02BB, 54612 },
- { 0x1D2C, 54616 },
- { 0x1D2E, 54620 },
- { 0x1D30, 54624 },
- { 0x1D31, 54628 },
- { 0x1D33, 54632 },
- { 0x1D34, 54636 },
- { 0x1D35, 54640 },
- { 0x1D36, 54644 },
- { 0x1D37, 54648 },
- { 0x1D38, 54652 },
- { 0x1D39, 54656 },
- { 0x1D3A, 54660 },
- { 0x1D3C, 54664 },
- { 0x1D3E, 54668 },
- { 0x1D3F, 54672 },
- { 0x1D40, 54676 },
- { 0x1D41, 54680 },
- { 0x2C7D, 54684 },
- { 0x1D42, 54688 },
- { 0x1D2D, 54692 },
- { 0x1D3D, 54696 },
- { 0x1D2F, 54700 },
- { 0x1D32, 54705 },
- { 0x1D3B, 54710 },
- { 0x02D3, 54715 },
- { 0x02D2, 54721 },
- { 0x5704, 54727 },
- { 0x5706, 54733 },
- { 0x5700, 54739 },
- { 0x5702, 54745 },
- { 0x5705, 54751 },
- { 0x5707, 54757 },
- { 0x5701, 54763 },
- { 0x5703, 54769 },
- { 0x02C0, 54775 },
- { 0x02EC, 54779 },
- { 0x1D78, 54782 },
- { 0x10FC, 54786 },
- { 0x02BD, 54790 },
- { 0x02C1, 54794 },
- { 0x02C8, 54799 },
- { 0x02E9, 54803 },
- { 0x570C, 54808 },
- { 0x5711, 54814 },
- { 0x5716, 54821 },
- { 0x02BC, 54827 },
- { 0x02C6, 54830 },
- { 0x02E5, 54834 },
- { 0x5708, 54839 },
- { 0x570D, 54845 },
- { 0x5712, 54852 },
- { 0x02D0, 54858 },
- { 0x02ED, 54862 },
- { 0x268B, 54865 },
- { 0x268A, 54868 },
- { 0x9300, 54871 },
- { 0x22B8, 54874 },
- { 0x228C, 54875 },
- { 0x228E, 54876 },
- { 0x228D, 54878 },
- { 0x206E, 54880 },
- { 0x24FF, 54883 },
- { 0x24EB, 54887 },
- { 0x24EC, 54891 },
- { 0x24F4, 54895 },
- { 0x24EF, 54899 },
- { 0x24F0, 54903 },
- { 0x24F2, 54907 },
- { 0x24EE, 54911 },
- { 0x24F3, 54915 },
- { 0x24ED, 54919 },
- { 0x24F1, 54923 },
- { 0x00A0, 54927 },
- { 0x22B6, 54929 },
- { 0x2626, 54931 },
- { 0x272D, 54933 },
- { 0x2719, 54936 },
- { 0x271F, 54939 },
- { 0x269D, 54942 },
- { 0x203E, 54945 },
- { 0x2225, 54946 },
- { 0x2AF3, 54948 },
- { 0x2AF2, 54952 },
- { 0x5876, 54956 },
- { 0x5877, 54959 },
- { 0x5875, 54963 },
- { 0x585D, 54967 },
- { 0x5860, 54970 },
- { 0x585E, 54973 },
- { 0x5861, 54976 },
- { 0x585F, 54979 },
- { 0x584E, 54982 },
- { 0x5844, 54985 },
- { 0x584A, 54988 },
- { 0x5866, 54991 },
- { 0x5864, 54994 },
- { 0x5842, 54997 },
- { 0x585C, 55000 },
- { 0x5846, 55003 },
- { 0x5840, 55006 },
- { 0x5859, 55009 },
- { 0x584F, 55012 },
- { 0x584B, 55015 },
- { 0x584C, 55018 },
- { 0x5862, 55021 },
- { 0x5858, 55024 },
- { 0x585B, 55027 },
- { 0x5848, 55030 },
- { 0x5853, 55033 },
- { 0x5863, 55036 },
- { 0x5857, 55039 },
- { 0x5855, 55042 },
- { 0x5845, 55045 },
- { 0x586B, 55048 },
- { 0x5852, 55051 },
- { 0x5865, 55054 },
- { 0x5841, 55057 },
- { 0x5843, 55060 },
- { 0x586C, 55063 },
- { 0x5847, 55066 },
- { 0x584D, 55069 },
- { 0x585A, 55072 },
- { 0x5849, 55075 },
- { 0x5850, 55078 },
- { 0x5869, 55081 },
- { 0x5854, 55084 },
- { 0x5851, 55087 },
- { 0x586A, 55090 },
- { 0x5856, 55093 },
- { 0x586F, 55097 },
- { 0x586D, 55101 },
- { 0x5870, 55105 },
- { 0x586E, 55109 },
- { 0x5873, 55113 },
- { 0x5874, 55116 },
- { 0x5871, 55120 },
- { 0x5867, 55124 },
- { 0x5868, 55128 },
- { 0x5872, 55132 },
- { 0x71F7, 55136 },
- { 0x71F1, 55141 },
- { 0x71DA, 55145 },
- { 0x71EC, 55149 },
- { 0x71E0, 55153 },
- { 0x71ED, 55157 },
- { 0x71DF, 55161 },
- { 0x71DC, 55165 },
- { 0x71E4, 55169 },
- { 0x71EF, 55173 },
- { 0x71EA, 55177 },
- { 0x71E9, 55181 },
- { 0x71F6, 55185 },
- { 0x71E8, 55189 },
- { 0x71F3, 55193 },
- { 0x71FC, 55197 },
- { 0x71D9, 55202 },
- { 0x71EB, 55206 },
- { 0x71D4, 55211 },
- { 0x71EE, 55215 },
- { 0x71F8, 55219 },
- { 0x71F2, 55223 },
- { 0x71E5, 55228 },
- { 0x71FB, 55232 },
- { 0x71D8, 55237 },
- { 0x71F0, 55241 },
- { 0x71D5, 55245 },
- { 0x71E6, 55249 },
- { 0x71E3, 55253 },
- { 0x71F9, 55257 },
- { 0x71D6, 55261 },
- { 0x71D1, 55265 },
- { 0x71DB, 55270 },
- { 0x71E7, 55274 },
- { 0x71D3, 55278 },
- { 0x71DE, 55282 },
- { 0x71F4, 55286 },
- { 0x71F5, 55290 },
- { 0x71D7, 55294 },
- { 0x71DD, 55298 },
- { 0x71FA, 55302 },
- { 0x71D2, 55306 },
- { 0x71E1, 55311 },
- { 0x71E2, 55315 },
- { 0x71FD, 55320 },
- { 0x71D0, 55326 },
- { 0x272F, 55330 },
- { 0x2316, 55332 },
- { 0x227A, 55334 },
- { 0x227C, 55335 },
- { 0x227E, 55339 },
- { 0x22E8, 55343 },
- { 0x2AB5, 55348 },
- { 0x2AB9, 55353 },
- { 0x2AB7, 55359 },
- { 0x2AB3, 55364 },
- { 0x2AB1, 55368 },
- { 0x2AAF, 55374 },
- { 0x22B0, 55379 },
- { 0x2397, 55382 },
- { 0x214A, 55384 },
- { 0x2596, 55386 },
- { 0x2597, 55389 },
- { 0x2598, 55392 },
- { 0x2599, 55395 },
- { 0x259A, 55404 },
- { 0x259B, 55410 },
- { 0x259C, 55419 },
- { 0x259D, 55428 },
- { 0x259E, 55431 },
- { 0x259F, 55437 },
- { 0x003F, 55446 },
- { 0x2048, 55448 },
- { 0x26BB, 55451 },
- { 0x267C, 55452 },
- { 0x211F, 55455 },
- { 0x2310, 55456 },
- { 0x29A3, 55459 },
- { 0x29A5, 55461 },
- { 0x29B0, 55465 },
- { 0x2035, 55468 },
- { 0x223D, 55470 },
- { 0x22CD, 55472 },
- { 0x2036, 55475 },
- { 0x301D, 55478 },
- { 0x2AED, 55483 },
- { 0x2E11, 55488 },
- { 0x2037, 55491 },
- { 0x204B, 55494 },
- { 0x2619, 55497 },
- { 0x2E2E, 55502 },
- { 0x204F, 55505 },
- { 0x2143, 55507 },
- { 0x264F, 55511 },
- { 0x2730, 55512 },
- { 0x271E, 55515 },
- { 0x274D, 55519 },
- { 0x2618, 55522 },
- { 0x5673, 55523 },
- { 0x2263, 55525 },
- { 0x227B, 55528 },
- { 0x227D, 55529 },
- { 0x227F, 55533 },
- { 0x22E9, 55537 },
- { 0x2AB6, 55542 },
- { 0x2ABA, 55547 },
- { 0x2AB8, 55553 },
- { 0x2AB4, 55558 },
- { 0x2AB2, 55562 },
- { 0x2AB0, 55568 },
- { 0x22B1, 55573 },
- { 0x2283, 55576 },
- { 0x2287, 55578 },
- { 0x2AC4, 55583 },
- { 0x228B, 55591 },
- { 0x2ACC, 55597 },
- { 0x2AC8, 55603 },
- { 0x2ACA, 55608 },
- { 0x2AC6, 55614 },
- { 0x2ABE, 55619 },
- { 0x2AC0, 55622 },
- { 0x2AC2, 55627 },
- { 0x2AD4, 55632 },
- { 0x2AD6, 55635 },
- { 0x297B, 55638 },
- { 0x2AD8, 55642 },
- { 0x2AD7, 55650 },
- { 0x27C9, 55653 },
- { 0x232F, 55656 },
- { 0x1772, 55657 },
- { 0x1773, 55661 },
- { 0x1760, 55665 },
- { 0x1761, 55668 },
- { 0x1762, 55671 },
- { 0x176A, 55674 },
- { 0x1767, 55677 },
- { 0x1764, 55680 },
- { 0x1763, 55683 },
- { 0x176E, 55686 },
- { 0x176B, 55689 },
- { 0x1768, 55692 },
- { 0x1769, 55695 },
- { 0x1770, 55698 },
- { 0x1766, 55701 },
- { 0x176F, 55704 },
- { 0x176C, 55707 },
- { 0x1765, 55710 },
- { 0x2D30, 55713 },
- { 0x2D49, 55716 },
- { 0x2D53, 55719 },
- { 0x2D44, 55722 },
- { 0x2D31, 55725 },
- { 0x2D37, 55728 },
- { 0x2D3C, 55731 },
- { 0x2D33, 55734 },
- { 0x2D40, 55737 },
- { 0x2D36, 55740 },
- { 0x2D3D, 55743 },
- { 0x2D4D, 55746 },
- { 0x2D4E, 55749 },
- { 0x2D4F, 55752 },
- { 0x2D52, 55755 },
- { 0x2D47, 55758 },
- { 0x2D54, 55761 },
- { 0x2D59, 55764 },
- { 0x2D5C, 55767 },
- { 0x2D60, 55770 },
- { 0x2D61, 55773 },
- { 0x2D62, 55776 },
- { 0x2D63, 55779 },
- { 0x2D3B, 55782 },
- { 0x2D58, 55785 },
- { 0x2D32, 55789 },
- { 0x2D5E, 55792 },
- { 0x2D39, 55795 },
- { 0x2D38, 55798 },
- { 0x2D56, 55801 },
- { 0x2D43, 55804 },
- { 0x2D45, 55807 },
- { 0x2D55, 55810 },
- { 0x2D5B, 55813 },
- { 0x2D5A, 55816 },
- { 0x2D5D, 55819 },
- { 0x2D5F, 55822 },
- { 0x2D4A, 55825 },
- { 0x2D65, 55828 },
- { 0x2D3A, 55831 },
- { 0x2D34, 55834 },
- { 0x2D3F, 55837 },
- { 0x2D41, 55840 },
- { 0x2D35, 55845 },
- { 0x2D42, 55850 },
- { 0x2D3E, 55854 },
- { 0x2D48, 55858 },
- { 0x2D57, 55862 },
- { 0x2D50, 55866 },
- { 0x2D46, 55870 },
- { 0x2D51, 55874 },
- { 0x2D4C, 55878 },
- { 0x2D4B, 55882 },
- { 0x2D64, 55886 },
- { 0x2D6F, 55890 },
- { 0x204A, 55895 },
- { 0x29CA, 55898 },
- { 0x29CD, 55902 },
- { 0x29CB, 55907 },
- { 0x205D, 55910 },
- { 0x739F, 55911 },
- { 0x739B, 55914 },
- { 0x739C, 55917 },
- { 0x7385, 55920 },
- { 0x7394, 55923 },
- { 0x739A, 55926 },
- { 0x7386, 55929 },
- { 0x7391, 55932 },
- { 0x7393, 55935 },
- { 0x738B, 55938 },
- { 0x7383, 55941 },
- { 0x738E, 55944 },
- { 0x7390, 55947 },
- { 0x739D, 55950 },
- { 0x7389, 55953 },
- { 0x738A, 55956 },
- { 0x7380, 55959 },
- { 0x7381, 55962 },
- { 0x738F, 55965 },
- { 0x7388, 55968 },
- { 0x7396, 55971 },
- { 0x7395, 55974 },
- { 0x738C, 55977 },
- { 0x7387, 55980 },
- { 0x7384, 55983 },
- { 0x7382, 55986 },
- { 0x7399, 55989 },
- { 0x738D, 55992 },
- { 0x7397, 55995 },
- { 0x7392, 55998 },
- { 0x7398, 56001 },
- { 0x2602, 56004 },
- { 0x2614, 56005 },
- { 0x203F, 56009 },
- { 0x2123, 56010 },
- { 0x27CA, 56011 },
- { 0x29D0, 56016 },
- { 0x2AE4, 56021 },
- { 0x2AE2, 56026 },
- { 0x205E, 56031 },
- { 0x3031, 56034 },
- { 0x3035, 56038 },
- { 0x3033, 56044 },
- { 0x3032, 56050 },
- { 0x3034, 56057 },
- { 0x007C, 56066 },
- { 0x2AEF, 56068 },
- { 0x2AF0, 56073 },
- { 0x237F, 56078 },
- { 0x23D0, 56083 },
- { 0x26A8, 56086 },
- { 0x2E2F, 56091 },
- { 0x299A, 56093 },
- { 0x22EE, 56096 },
- { 0x303B, 56098 },
- { 0x2317, 56102 },
- { 0x2101, 56104 },
- { 0x0026, 56108 },
- { 0x260A, 56109 },
- { 0x22A6, 56111 },
- { 0x2623, 56112 },
- { 0x902F, 56114 },
- { 0x900E, 56118 },
- { 0x9085, 56123 },
- { 0x9046, 56127 },
- { 0x901A, 56132 },
- { 0x9040, 56137 },
- { 0x9079, 56141 },
- { 0x9030, 56147 },
- { 0x907D, 56151 },
- { 0x907C, 56156 },
- { 0x909C, 56161 },
- { 0x909E, 56166 },
- { 0x909A, 56171 },
- { 0x90A1, 56177 },
- { 0x909F, 56183 },
- { 0x909D, 56188 },
- { 0x909B, 56193 },
- { 0x90A0, 56198 },
- { 0x9033, 56203 },
- { 0x900D, 56209 },
- { 0x9097, 56214 },
- { 0x90C8, 56218 },
- { 0x90C9, 56223 },
- { 0x90CA, 56228 },
- { 0x9086, 56233 },
- { 0x9080, 56237 },
- { 0x902E, 56242 },
- { 0x9048, 56246 },
- { 0x9004, 56251 },
- { 0x9003, 56256 },
- { 0x9000, 56261 },
- { 0x9025, 56265 },
- { 0x9066, 56269 },
- { 0x902D, 56273 },
- { 0x9078, 56277 },
- { 0x9014, 56282 },
- { 0x9019, 56286 },
- { 0x906A, 56290 },
- { 0x9001, 56295 },
- { 0x90D0, 56299 },
- { 0x90D2, 56306 },
- { 0x90D3, 56313 },
- { 0x90D1, 56320 },
- { 0x90CE, 56327 },
- { 0x90CF, 56332 },
- { 0x9060, 56337 },
- { 0x9074, 56342 },
- { 0x90C5, 56347 },
- { 0x90CB, 56354 },
- { 0x90BC, 56361 },
- { 0x90C7, 56367 },
- { 0x90C3, 56372 },
- { 0x90C4, 56379 },
- { 0x90C6, 56386 },
- { 0x90BE, 56393 },
- { 0x9034, 56400 },
- { 0x90B9, 56405 },
- { 0x90BD, 56412 },
- { 0x90BF, 56418 },
- { 0x90C2, 56424 },
- { 0x90C1, 56431 },
- { 0x90BA, 56438 },
- { 0x90C0, 56444 },
- { 0x90BB, 56450 },
- { 0x90CC, 56456 },
- { 0x90D8, 56462 },
- { 0x90D9, 56467 },
- { 0x908F, 56472 },
- { 0x90F5, 56478 },
- { 0x9016, 56484 },
- { 0x9091, 56489 },
- { 0x9090, 56495 },
- { 0x90AC, 56501 },
- { 0x9037, 56507 },
- { 0x9024, 56512 },
- { 0x907F, 56516 },
- { 0x90F4, 56521 },
- { 0x908B, 56526 },
- { 0x908A, 56532 },
- { 0x908C, 56538 },
- { 0x908E, 56544 },
- { 0x908D, 56550 },
- { 0x9057, 56556 },
- { 0x9047, 56561 },
- { 0x9015, 56566 },
- { 0x905B, 56571 },
- { 0x9020, 56575 },
- { 0x9059, 56580 },
- { 0x9026, 56585 },
- { 0x9017, 56590 },
- { 0x9029, 56594 },
- { 0x9069, 56598 },
- { 0x90E8, 56603 },
- { 0x900F, 56607 },
- { 0x9087, 56611 },
- { 0x9058, 56615 },
- { 0x9006, 56620 },
- { 0x9005, 56625 },
- { 0x90D4, 56630 },
- { 0x90D6, 56637 },
- { 0x90D7, 56644 },
- { 0x90D5, 56651 },
- { 0x90CD, 56658 },
- { 0x9050, 56663 },
- { 0x90EC, 56667 },
- { 0x90EB, 56672 },
- { 0x90ED, 56677 },
- { 0x90EF, 56682 },
- { 0x90E9, 56687 },
- { 0x90EE, 56692 },
- { 0x90EA, 56697 },
- { 0x9056, 56702 },
- { 0x9099, 56706 },
- { 0x9055, 56710 },
- { 0x90B6, 56714 },
- { 0x903F, 56721 },
- { 0x904F, 56725 },
- { 0x90F3, 56731 },
- { 0x90F1, 56737 },
- { 0x901B, 56743 },
- { 0x9089, 56748 },
- { 0x9083, 56752 },
- { 0x9082, 56757 },
- { 0x9081, 56762 },
- { 0x9061, 56767 },
- { 0x905D, 56771 },
- { 0x9041, 56775 },
- { 0x9049, 56779 },
- { 0x903C, 56783 },
- { 0x907E, 56787 },
- { 0x901F, 56791 },
- { 0x9065, 56796 },
- { 0x902B, 56801 },
- { 0x902A, 56807 },
- { 0x9013, 56812 },
- { 0x9031, 56816 },
- { 0x9027, 56820 },
- { 0x9021, 56824 },
- { 0x9053, 56829 },
- { 0x9084, 56833 },
- { 0x9022, 56838 },
- { 0x9023, 56843 },
- { 0x9018, 56847 },
- { 0x9067, 56851 },
- { 0x903B, 56856 },
- { 0x90DA, 56861 },
- { 0x90DB, 56867 },
- { 0x90DC, 56873 },
- { 0x90DD, 56878 },
- { 0x9092, 56883 },
- { 0x9095, 56887 },
- { 0x9094, 56893 },
- { 0x9093, 56900 },
- { 0x90E6, 56907 },
- { 0x9068, 56912 },
- { 0x90B7, 56916 },
- { 0x9007, 56920 },
- { 0x903A, 56924 },
- { 0x9042, 56928 },
- { 0x904A, 56933 },
- { 0x900C, 56937 },
- { 0x90A3, 56941 },
- { 0x90A5, 56948 },
- { 0x90B1, 56955 },
- { 0x90A2, 56961 },
- { 0x90A6, 56967 },
- { 0x90AA, 56973 },
- { 0x90AB, 56979 },
- { 0x90B3, 56985 },
- { 0x90A4, 56992 },
- { 0x90A8, 56998 },
- { 0x90A9, 57004 },
- { 0x90A7, 57011 },
- { 0x90B2, 57016 },
- { 0x901E, 57022 },
- { 0x9038, 57026 },
- { 0x904D, 57030 },
- { 0x901D, 57035 },
- { 0x90E2, 57039 },
- { 0x90E3, 57044 },
- { 0x90E4, 57050 },
- { 0x90E5, 57056 },
- { 0x90DE, 57062 },
- { 0x90DF, 57067 },
- { 0x90E0, 57073 },
- { 0x90E1, 57079 },
- { 0x9088, 57085 },
- { 0x9063, 57089 },
- { 0x9043, 57094 },
- { 0x9036, 57099 },
- { 0x90E7, 57104 },
- { 0x907B, 57109 },
- { 0x90B0, 57113 },
- { 0x90AF, 57118 },
- { 0x90AE, 57123 },
- { 0x9035, 57128 },
- { 0x907A, 57132 },
- { 0x9010, 57136 },
- { 0x904E, 57140 },
- { 0x90F2, 57146 },
- { 0x90F0, 57152 },
- { 0x901C, 57158 },
- { 0x9032, 57163 },
- { 0x9075, 57167 },
- { 0x902C, 57172 },
- { 0x9039, 57177 },
- { 0x905A, 57181 },
- { 0x9008, 57186 },
- { 0x9096, 57190 },
- { 0x900A, 57194 },
- { 0x900B, 57198 },
- { 0x905C, 57203 },
- { 0x90AD, 57207 },
- { 0x9052, 57213 },
- { 0x9011, 57219 },
- { 0x9051, 57223 },
- { 0x9012, 57228 },
- { 0x9064, 57233 },
- { 0x90B4, 57237 },
- { 0x90B5, 57243 },
- { 0x9098, 57249 },
- { 0x90B8, 57253 },
- { 0x905F, 57257 },
- { 0x903D, 57262 },
- { 0x9009, 57267 },
- { 0x905E, 57271 },
- { 0x903E, 57276 },
- { 0x9002, 57281 },
- { 0x9076, 57285 },
- { 0x9077, 57290 },
- { 0x9028, 57295 },
- { 0x9045, 57299 },
- { 0x9044, 57303 },
- { 0x9073, 57307 },
- { 0x9072, 57311 },
- { 0x906D, 57315 },
- { 0x9070, 57319 },
- { 0x9062, 57323 },
- { 0x904C, 57327 },
- { 0x9054, 57331 },
- { 0x904B, 57335 },
- { 0x906C, 57339 },
- { 0x9071, 57343 },
- { 0x906B, 57347 },
- { 0x906E, 57351 },
- { 0x906F, 57355 },
- { 0x2651, 57359 },
- { 0x2040, 57360 },
- { 0x21B7, 57362 },
- { 0x21BB, 57366 },
- { 0x2941, 57370 },
- { 0x27F3, 57374 },
- { 0x2232, 57378 },
- { 0x2231, 57381 },
- { 0x033D, 57383 },
- { 0x0353, 57386 },
- { 0x1DD0, 57389 },
- { 0x031D, 57392 },
- { 0x1DD1, 57396 },
- { 0x1DD2, 57399 },
- { 0x0307, 57402 },
- { 0x0358, 57405 },
- { 0x0323, 57409 },
- { 0x0332, 57412 },
- { 0x034A, 57415 },
- { 0x031E, 57419 },
- { 0x20DC, 57423 },
- { 0x0309, 57427 },
- { 0x031B, 57430 },
- { 0x0351, 57432 },
- { 0x031C, 57437 },
- { 0x0318, 57442 },
- { 0x031A, 57446 },
- { 0x0349, 57450 },
- { 0x20D6, 57454 },
- { 0x20EE, 57458 },
- { 0x20E1, 57462 },
- { 0x034D, 57467 },
- { 0x20D0, 57472 },
- { 0x1DFE, 57476 },
- { 0x0354, 57480 },
- { 0x20EB, 57484 },
- { 0x0336, 57489 },
- { 0x0338, 57493 },
- { 0x20D2, 57497 },
- { 0x031F, 57502 },
- { 0x030A, 57506 },
- { 0x0325, 57509 },
- { 0x20D8, 57512 },
- { 0x20E9, 57515 },
- { 0x0341, 57519 },
- { 0x0301, 57523 },
- { 0x0317, 57526 },
- { 0x0306, 57530 },
- { 0x032E, 57532 },
- { 0x030C, 57535 },
- { 0x032C, 57537 },
- { 0x0313, 57540 },
- { 0x0315, 57543 },
- { 0x0326, 57547 },
- { 0x0340, 57550 },
- { 0x0300, 57554 },
- { 0x0316, 57557 },
- { 0x0343, 57561 },
- { 0x9242, 57564 },
- { 0x9244, 57568 },
- { 0x9243, 57572 },
- { 0x0344, 57576 },
- { 0x0342, 57580 },
- { 0x0345, 57583 },
- { 0x0363, 57586 },
- { 0x0368, 57591 },
- { 0x1DD7, 57596 },
- { 0x0369, 57602 },
- { 0x0364, 57607 },
- { 0x1DDA, 57612 },
- { 0x036A, 57617 },
- { 0x0365, 57622 },
- { 0x1DDC, 57627 },
- { 0x1DDD, 57632 },
- { 0x036B, 57637 },
- { 0x1DE0, 57642 },
- { 0x0366, 57647 },
- { 0x036C, 57652 },
- { 0x1DCA, 57657 },
- { 0x1DE3, 57663 },
- { 0x1DE4, 57669 },
- { 0x036D, 57674 },
- { 0x0367, 57679 },
- { 0x036E, 57684 },
- { 0x036F, 57689 },
- { 0x1DE6, 57694 },
- { 0x1DD4, 57699 },
- { 0x1DD5, 57704 },
- { 0x1DD6, 57709 },
- { 0x1DD9, 57714 },
- { 0x1DE5, 57719 },
- { 0x1DD8, 57725 },
- { 0x1DD3, 57731 },
- { 0x1DDB, 57739 },
- { 0x1DDE, 57745 },
- { 0x1DDF, 57751 },
- { 0x1DE1, 57757 },
- { 0x1DE2, 57763 },
- { 0x0320, 57769 },
- { 0x0357, 57773 },
- { 0x0339, 57778 },
- { 0x0319, 57783 },
- { 0x20D7, 57787 },
- { 0x20EF, 57791 },
- { 0x20D1, 57795 },
- { 0x0356, 57799 },
- { 0x1DFF, 57806 },
- { 0x0350, 57813 },
- { 0x0355, 57817 },
- { 0x0335, 57821 },
- { 0x0337, 57825 },
- { 0x20D3, 57829 },
- { 0x1DC2, 57834 },
- { 0x20DB, 57837 },
- { 0x0303, 57841 },
- { 0x0330, 57843 },
- { 0x0334, 57846 },
- { 0x034C, 57849 },
- { 0x0346, 57854 },
- { 0x032A, 57857 },
- { 0x1DC1, 57860 },
- { 0x1DC0, 57864 },
- { 0x0333, 57868 },
- { 0x035A, 57872 },
- { 0x030B, 57876 },
- { 0x035D, 57880 },
- { 0x035C, 57883 },
- { 0x030F, 57887 },
- { 0x0360, 57891 },
- { 0x6E22, 57894 },
- { 0x6E23, 57899 },
- { 0x035E, 57904 },
- { 0x035F, 57907 },
- { 0x0361, 57911 },
- { 0x033F, 57915 },
- { 0x030E, 57918 },
- { 0x0348, 57923 },
- { 0x20E6, 57928 },
- { 0x1DCD, 57933 },
- { 0x0362, 57937 },
- { 0x0347, 57942 },
- { 0x0304, 57946 },
- { 0x6E24, 57948 },
- { 0x0331, 57952 },
- { 0x6E25, 57955 },
- { 0x0328, 57959 },
- { 0x1DCE, 57961 },
- { 0x033B, 57964 },
- { 0x20E8, 57967 },
- { 0x0312, 57970 },
- { 0x035B, 57974 },
- { 0x1DCF, 57977 },
- { 0x20E7, 57980 },
- { 0x0327, 57983 },
- { 0x0352, 57985 },
- { 0x20E5, 57987 },
- { 0x033C, 57991 },
- { 0x034E, 57994 },
- { 0x20F0, 57998 },
- { 0x0359, 58001 },
- { 0x5670, 58004 },
- { 0x0485, 58009 },
- { 0x0486, 58013 },
- { 0x0483, 58017 },
- { 0x566F, 58020 },
- { 0x567C, 58023 },
- { 0x2DF6, 58026 },
- { 0x2DEA, 58030 },
- { 0x2DE0, 58034 },
- { 0x2DE3, 58038 },
- { 0x2DE7, 58042 },
- { 0x2DE8, 58046 },
- { 0x2DE9, 58050 },
- { 0x2DEC, 58054 },
- { 0x2DED, 58058 },
- { 0x2DEF, 58062 },
- { 0x2DF7, 58066 },
- { 0x2DE6, 58070 },
- { 0x2DEB, 58074 },
- { 0x2DEE, 58078 },
- { 0x2DE1, 58082 },
- { 0x2DFB, 58086 },
- { 0x2DE5, 58090 },
- { 0x2DFE, 58094 },
- { 0x2DF1, 58099 },
- { 0x2DE2, 58103 },
- { 0x2DF2, 58107 },
- { 0x2DF0, 58111 },
- { 0x2DFA, 58115 },
- { 0x2DE4, 58119 },
- { 0x2DF4, 58123 },
- { 0x2DF8, 58127 },
- { 0x2DF5, 58131 },
- { 0x2DF3, 58135 },
- { 0x2DFD, 58139 },
- { 0x2DFC, 58144 },
- { 0x2DFF, 58149 },
- { 0x2DF9, 58155 },
- { 0x5671, 58160 },
- { 0x0488, 58165 },
- { 0x567D, 58170 },
- { 0x0489, 58173 },
- { 0x0487, 58177 },
- { 0x5672, 58180 },
- { 0x0484, 58185 },
- { 0x034F, 58188 },
- { 0x0311, 58191 },
- { 0x032F, 58194 },
- { 0x033A, 58198 },
- { 0x032B, 58202 },
- { 0x6E20, 58207 },
- { 0x6E21, 58211 },
- { 0x0305, 58215 },
- { 0x0314, 58217 },
- { 0x030D, 58221 },
- { 0x0329, 58225 },
- { 0x033E, 58229 },
- { 0x20D9, 58232 },
- { 0x20D5, 58236 },
- { 0x0308, 58240 },
- { 0x0324, 58242 },
- { 0x20DD, 58245 },
- { 0x20E0, 58248 },
- { 0x20E3, 58252 },
- { 0x20E2, 58255 },
- { 0x20DE, 58258 },
- { 0x20E4, 58261 },
- { 0x20DF, 58266 },
- { 0x20EA, 58269 },
- { 0x20ED, 58273 },
- { 0x0322, 58279 },
- { 0x0302, 58283 },
- { 0x032D, 58286 },
- { 0x6E26, 58290 },
- { 0x034B, 58293 },
- { 0x20EC, 58296 },
- { 0x1DC3, 58302 },
- { 0x0310, 58305 },
- { 0x0321, 58307 },
- { 0x1DC7, 58311 },
- { 0x1DCB, 58313 },
- { 0x1DC5, 58315 },
- { 0x1DC4, 58317 },
- { 0x1DCC, 58319 },
- { 0x1DC6, 58321 },
- { 0x20DA, 58323 },
- { 0x20D4, 58327 },
- { 0x1DC9, 58331 },
- { 0x1DC8, 58333 },
- { 0x3099, 58335 },
- { 0x309A, 58340 },
- { 0x2A6D, 58345 },
- { 0x00A9, 58349 },
- { 0x8000, 58351 },
- { 0x8001, 58354 },
- { 0x8004, 58359 },
- { 0x8002, 58364 },
- { 0x8005, 58369 },
- { 0x8008, 58374 },
- { 0x8003, 58379 },
- { 0x8007, 58385 },
- { 0x8006, 58390 },
- { 0x808A, 58396 },
- { 0x808C, 58399 },
- { 0x808B, 58407 },
- { 0x813F, 58412 },
- { 0x8140, 58415 },
- { 0x830B, 58419 },
- { 0x830D, 58422 },
- { 0x830C, 58427 },
- { 0x8310, 58431 },
- { 0x830E, 58441 },
- { 0x830F, 58452 },
- { 0x8009, 58460 },
- { 0x800A, 58463 },
- { 0x8015, 58466 },
- { 0x8014, 58470 },
- { 0x800F, 58479 },
- { 0x800D, 58484 },
- { 0x8010, 58489 },
- { 0x800B, 58495 },
- { 0x800C, 58500 },
- { 0x800E, 58506 },
- { 0x8011, 58512 },
- { 0x8012, 58517 },
- { 0x8013, 58522 },
- { 0x801C, 58527 },
- { 0x801D, 58530 },
- { 0x801E, 58533 },
- { 0x801F, 58538 },
- { 0x8020, 58545 },
- { 0x8021, 58548 },
- { 0x8024, 58553 },
- { 0x8026, 58558 },
- { 0x8027, 58563 },
- { 0x8028, 58568 },
- { 0x8022, 58573 },
- { 0x8023, 58578 },
- { 0x8025, 58583 },
- { 0x802D, 58588 },
- { 0x802E, 58591 },
- { 0x8031, 58596 },
- { 0x8030, 58602 },
- { 0x802F, 58611 },
- { 0x8040, 58616 },
- { 0x8049, 58619 },
- { 0x804A, 58622 },
- { 0x804B, 58627 },
- { 0x804C, 58632 },
- { 0x804D, 58638 },
- { 0x804E, 58641 },
- { 0x804F, 58647 },
- { 0x8050, 58653 },
- { 0x8055, 58658 },
- { 0x8072, 58661 },
- { 0x807A, 58664 },
- { 0x807C, 58667 },
- { 0x807B, 58671 },
- { 0x807D, 58676 },
- { 0x808D, 58680 },
- { 0x808E, 58683 },
- { 0x8093, 58692 },
- { 0x8090, 58697 },
- { 0x808F, 58702 },
- { 0x8091, 58707 },
- { 0x8092, 58712 },
- { 0x8096, 58717 },
- { 0x8097, 58720 },
- { 0x809A, 58723 },
- { 0x8098, 58728 },
- { 0x8099, 58733 },
- { 0x809D, 58739 },
- { 0x809B, 58743 },
- { 0x809C, 58748 },
- { 0x80B5, 58753 },
- { 0x80B6, 58756 },
- { 0x8100, 58760 },
- { 0x8101, 58763 },
- { 0x8102, 58768 },
- { 0x8103, 58773 },
- { 0x8116, 58778 },
- { 0x8117, 58781 },
- { 0x8129, 58786 },
- { 0x812B, 58789 },
- { 0x812A, 58793 },
- { 0x812D, 58797 },
- { 0x8136, 58800 },
- { 0x812E, 58805 },
- { 0x8130, 58810 },
- { 0x8132, 58815 },
- { 0x8133, 58820 },
- { 0x8134, 58825 },
- { 0x8135, 58830 },
- { 0x812F, 58835 },
- { 0x8131, 58840 },
- { 0x8137, 58845 },
- { 0x8141, 58848 },
- { 0x8145, 58851 },
- { 0x814B, 58854 },
- { 0x814C, 58857 },
- { 0x814E, 58863 },
- { 0x814F, 58866 },
- { 0x8152, 58871 },
- { 0x8150, 58875 },
- { 0x8151, 58880 },
- { 0x8154, 58885 },
- { 0x8155, 58888 },
- { 0x8157, 58891 },
- { 0x8158, 58894 },
- { 0x8187, 58899 },
- { 0x8159, 58904 },
- { 0x815A, 58909 },
- { 0x815F, 58916 },
- { 0x8162, 58921 },
- { 0x8167, 58926 },
- { 0x816B, 58931 },
- { 0x816E, 58936 },
- { 0x8170, 58941 },
- { 0x8172, 58946 },
- { 0x8173, 58951 },
- { 0x8174, 58956 },
- { 0x8175, 58961 },
- { 0x8176, 58968 },
- { 0x8177, 58975 },
- { 0x8178, 58982 },
- { 0x8179, 58987 },
- { 0x817A, 58994 },
- { 0x817C, 58999 },
- { 0x817D, 59004 },
- { 0x817E, 59009 },
- { 0x8188, 59014 },
- { 0x8189, 59019 },
- { 0x818C, 59024 },
- { 0x815C, 59029 },
- { 0x815E, 59034 },
- { 0x8163, 59039 },
- { 0x8165, 59044 },
- { 0x8166, 59049 },
- { 0x816D, 59058 },
- { 0x816F, 59063 },
- { 0x8171, 59068 },
- { 0x817B, 59073 },
- { 0x817F, 59078 },
- { 0x8180, 59083 },
- { 0x8181, 59088 },
- { 0x8183, 59093 },
- { 0x8184, 59098 },
- { 0x8186, 59103 },
- { 0x818B, 59108 },
- { 0x815B, 59113 },
- { 0x8161, 59118 },
- { 0x8164, 59123 },
- { 0x8168, 59129 },
- { 0x8169, 59134 },
- { 0x816A, 59141 },
- { 0x816C, 59148 },
- { 0x8182, 59153 },
- { 0x818A, 59158 },
- { 0x815D, 59165 },
- { 0x8160, 59170 },
- { 0x8185, 59175 },
- { 0x81A0, 59180 },
- { 0x81A2, 59183 },
- { 0x81A3, 59188 },
- { 0x81A1, 59193 },
- { 0x81AA, 59198 },
- { 0x81AB, 59201 },
- { 0x81B7, 59213 },
- { 0x81F7, 59216 },
- { 0x81FB, 59219 },
- { 0x81FC, 59222 },
- { 0x8220, 59227 },
- { 0x8222, 59230 },
- { 0x8221, 59234 },
- { 0x8228, 59239 },
- { 0x822A, 59242 },
- { 0x822C, 59245 },
- { 0x822D, 59248 },
- { 0x823E, 59253 },
- { 0x8248, 59256 },
- { 0x8249, 59259 },
- { 0x824A, 59264 },
- { 0x824B, 59269 },
- { 0x824C, 59273 },
- { 0x824D, 59276 },
- { 0x8261, 59281 },
- { 0x827A, 59284 },
- { 0x827F, 59287 },
- { 0x8280, 59290 },
- { 0x8284, 59295 },
- { 0x8285, 59300 },
- { 0x8287, 59305 },
- { 0x8281, 59310 },
- { 0x8282, 59315 },
- { 0x8283, 59320 },
- { 0x8286, 59325 },
- { 0x8288, 59330 },
- { 0x8289, 59335 },
- { 0x828F, 59340 },
- { 0x8291, 59343 },
- { 0x8292, 59346 },
- { 0x8293, 59349 },
- { 0x82DB, 59352 },
- { 0x82DC, 59355 },
- { 0x82E2, 59359 },
- { 0x82E3, 59362 },
- { 0x82EB, 59367 },
- { 0x82EF, 59370 },
- { 0x82ED, 59374 },
- { 0x82EE, 59379 },
- { 0x82EC, 59384 },
- { 0x82FC, 59388 },
- { 0x82FD, 59391 },
- { 0x82FE, 59395 },
- { 0x82FF, 59398 },
- { 0x8305, 59402 },
- { 0x8311, 59405 },
- { 0x8312, 59408 },
- { 0x8313, 59411 },
- { 0x8319, 59414 },
- { 0x8317, 59418 },
- { 0x8318, 59427 },
- { 0x8316, 59437 },
- { 0x8315, 59442 },
- { 0x8314, 59447 },
- { 0x831A, 59451 },
- { 0x831B, 59455 },
- { 0x831D, 59461 },
- { 0x8321, 59464 },
- { 0x831F, 59469 },
- { 0x8320, 59476 },
- { 0x831E, 59481 },
- { 0x8326, 59486 },
- { 0x8327, 59489 },
- { 0x8328, 59493 },
- { 0x832A, 59496 },
- { 0x8329, 59500 },
- { 0x835D, 59505 },
- { 0x835E, 59508 },
- { 0x835F, 59512 },
- { 0x8363, 59518 },
- { 0x8364, 59521 },
- { 0x836A, 59526 },
- { 0x8016, 59529 },
- { 0x8019, 59532 },
- { 0x8018, 59539 },
- { 0x801A, 59545 },
- { 0x801B, 59550 },
- { 0x8017, 59555 },
- { 0x8038, 59560 },
- { 0x803A, 59563 },
- { 0x803C, 59568 },
- { 0x803D, 59575 },
- { 0x803B, 59588 },
- { 0x8039, 59600 },
- { 0x8041, 59605 },
- { 0x8044, 59608 },
- { 0x8045, 59611 },
- { 0x8047, 59616 },
- { 0x8053, 59619 },
- { 0x8056, 59622 },
- { 0x8057, 59625 },
- { 0x805A, 59633 },
- { 0x805B, 59639 },
- { 0x805C, 59645 },
- { 0x805D, 59653 },
- { 0x8060, 59659 },
- { 0x8061, 59665 },
- { 0x8062, 59671 },
- { 0x8064, 59679 },
- { 0x8065, 59685 },
- { 0x8066, 59691 },
- { 0x8068, 59699 },
- { 0x806A, 59705 },
- { 0x806C, 59711 },
- { 0x805F, 59719 },
- { 0x8063, 59725 },
- { 0x8067, 59731 },
- { 0x8069, 59737 },
- { 0x806D, 59745 },
- { 0x8058, 59751 },
- { 0x805E, 59757 },
- { 0x806B, 59763 },
- { 0x8059, 59769 },
- { 0x806E, 59775 },
- { 0x806F, 59778 },
- { 0x8073, 59781 },
- { 0x8074, 59784 },
- { 0x8075, 59787 },
- { 0x8077, 59792 },
- { 0x8078, 59795 },
- { 0x807E, 59802 },
- { 0x807F, 59805 },
- { 0x8081, 59810 },
- { 0x8083, 59813 },
- { 0x8084, 59816 },
- { 0x80B7, 59819 },
- { 0x80ED, 59822 },
- { 0x80B8, 59827 },
- { 0x80B9, 59836 },
- { 0x80BA, 59843 },
- { 0x80EA, 59850 },
- { 0x80BC, 59855 },
- { 0x80C3, 59860 },
- { 0x80C4, 59865 },
- { 0x80C7, 59870 },
- { 0x80C8, 59875 },
- { 0x80C9, 59882 },
- { 0x80CA, 59887 },
- { 0x80CD, 59895 },
- { 0x80D1, 59900 },
- { 0x80D4, 59909 },
- { 0x80DD, 59916 },
- { 0x80DE, 59921 },
- { 0x80DF, 59928 },
- { 0x80E2, 59933 },
- { 0x80EB, 59938 },
- { 0x80EC, 59943 },
- { 0x80BB, 59950 },
- { 0x80BD, 59958 },
- { 0x80BF, 59963 },
- { 0x80C0, 59968 },
- { 0x80C1, 59975 },
- { 0x80C2, 59980 },
- { 0x80C5, 59987 },
- { 0x80C6, 59994 },
- { 0x80CC, 59999 },
- { 0x80CE, 60004 },
- { 0x80CF, 60009 },
- { 0x80D2, 60016 },
- { 0x80D3, 60021 },
- { 0x80D6, 60028 },
- { 0x80D7, 60034 },
- { 0x80D8, 60043 },
- { 0x80DA, 60048 },
- { 0x80DB, 60053 },
- { 0x80DC, 60060 },
- { 0x80E0, 60067 },
- { 0x80E1, 60072 },
- { 0x80E3, 60079 },
- { 0x80E4, 60084 },
- { 0x80E5, 60089 },
- { 0x80E6, 60094 },
- { 0x80E8, 60101 },
- { 0x80BE, 60106 },
- { 0x80CB, 60113 },
- { 0x80D0, 60119 },
- { 0x80D5, 60126 },
- { 0x80E7, 60131 },
- { 0x80E9, 60136 },
- { 0x80D9, 60141 },
- { 0x80F0, 60146 },
- { 0x80F1, 60149 },
- { 0x80F2, 60157 },
- { 0x80F3, 60160 },
- { 0x80F5, 60169 },
- { 0x80F6, 60172 },
- { 0x80FB, 60175 },
- { 0x8104, 60178 },
- { 0x8105, 60181 },
- { 0x8106, 60186 },
- { 0x8118, 60191 },
- { 0x811D, 60194 },
- { 0x8119, 60198 },
- { 0x811A, 60203 },
- { 0x811B, 60211 },
- { 0x811C, 60216 },
- { 0x811E, 60223 },
- { 0x8121, 60226 },
- { 0x811F, 60232 },
- { 0x8120, 60239 },
- { 0x8122, 60244 },
- { 0x8123, 60247 },
- { 0x8124, 60250 },
- { 0x8125, 60255 },
- { 0x812C, 60258 },
- { 0x8146, 60261 },
- { 0x8148, 60264 },
- { 0x8147, 60268 },
- { 0x814A, 60272 },
- { 0x8149, 60276 },
- { 0x814D, 60287 },
- { 0x8156, 60290 },
- { 0x818D, 60293 },
- { 0x818E, 60296 },
- { 0x818F, 60301 },
- { 0x8195, 60304 },
- { 0x8196, 60307 },
- { 0x8197, 60313 },
- { 0x8198, 60316 },
- { 0x8199, 60321 },
- { 0x81A4, 60326 },
- { 0x81A5, 60329 },
- { 0x81AC, 60332 },
- { 0x81AD, 60335 },
- { 0x81AE, 60338 },
- { 0x81AF, 60343 },
- { 0x81B0, 60346 },
- { 0x81B1, 60349 },
- { 0x81B2, 60353 },
- { 0x81B3, 60356 },
- { 0x81B4, 60359 },
- { 0x81F2, 60364 },
- { 0x81F3, 60367 },
- { 0x81F4, 60372 },
- { 0x81F5, 60375 },
- { 0x81F6, 60380 },
- { 0x81F8, 60387 },
- { 0x81FD, 60390 },
- { 0x8211, 60393 },
- { 0x81FE, 60397 },
- { 0x8203, 60402 },
- { 0x8204, 60409 },
- { 0x8208, 60414 },
- { 0x8209, 60419 },
- { 0x820B, 60426 },
- { 0x820C, 60433 },
- { 0x820D, 60438 },
- { 0x820E, 60443 },
- { 0x81FF, 60450 },
- { 0x8200, 60455 },
- { 0x8201, 60460 },
- { 0x8202, 60466 },
- { 0x8205, 60472 },
- { 0x8206, 60477 },
- { 0x8207, 60482 },
- { 0x820F, 60489 },
- { 0x8210, 60496 },
- { 0x820A, 60501 },
- { 0x8215, 60506 },
- { 0x8214, 60510 },
- { 0x8212, 60514 },
- { 0x8213, 60519 },
- { 0x8216, 60524 },
- { 0x821B, 60527 },
- { 0x821C, 60530 },
- { 0x821D, 60533 },
- { 0x821E, 60536 },
- { 0x821F, 60541 },
- { 0x8223, 60549 },
- { 0x8224, 60552 },
- { 0x8225, 60555 },
- { 0x8229, 60558 },
- { 0x822B, 60561 },
- { 0x822E, 60564 },
- { 0x822F, 60567 },
- { 0x823F, 60571 },
- { 0x8246, 60574 },
- { 0x8245, 60577 },
- { 0x824E, 60581 },
- { 0x824F, 60584 },
- { 0x8251, 60587 },
- { 0x8250, 60595 },
- { 0x8263, 60601 },
- { 0x826A, 60604 },
- { 0x8269, 60609 },
- { 0x8264, 60613 },
- { 0x8266, 60619 },
- { 0x8267, 60625 },
- { 0x8268, 60636 },
- { 0x8265, 60642 },
- { 0x826B, 60648 },
- { 0x826C, 60653 },
- { 0x827B, 60661 },
- { 0x827C, 60664 },
- { 0x827D, 60667 },
- { 0x8290, 60670 },
- { 0x8295, 60673 },
- { 0x82A8, 60676 },
- { 0x82A7, 60680 },
- { 0x8296, 60685 },
- { 0x8297, 60690 },
- { 0x8299, 60695 },
- { 0x829D, 60700 },
- { 0x82A2, 60705 },
- { 0x82A3, 60710 },
- { 0x82A4, 60715 },
- { 0x82A5, 60720 },
- { 0x8298, 60725 },
- { 0x829A, 60730 },
- { 0x829B, 60735 },
- { 0x829C, 60740 },
- { 0x829E, 60745 },
- { 0x829F, 60750 },
- { 0x82A1, 60755 },
- { 0x82A6, 60760 },
- { 0x82A0, 60765 },
- { 0x8294, 60770 },
- { 0x82A9, 60774 },
- { 0x82AA, 60777 },
- { 0x82AC, 60783 },
- { 0x82AD, 60786 },
- { 0x82BA, 60789 },
- { 0x82BB, 60792 },
- { 0x82BC, 60796 },
- { 0x82BD, 60807 },
- { 0x82D7, 60818 },
- { 0x82D8, 60821 },
- { 0x82DD, 60827 },
- { 0x82E4, 60830 },
- { 0x82E7, 60833 },
- { 0x82E9, 60836 },
- { 0x82F0, 60839 },
- { 0x82F1, 60842 },
- { 0x82F2, 60853 },
- { 0x82F3, 60857 },
- { 0x82F4, 60860 },
- { 0x82F9, 60865 },
- { 0x82F5, 60870 },
- { 0x82F6, 60875 },
- { 0x82F7, 60880 },
- { 0x82F8, 60885 },
- { 0x82FB, 60890 },
- { 0x8300, 60893 },
- { 0x8301, 60896 },
- { 0x8303, 60899 },
- { 0x8304, 60904 },
- { 0x8302, 60915 },
- { 0x8307, 60920 },
- { 0x8308, 60923 },
- { 0x8309, 60926 },
- { 0x830A, 60929 },
- { 0x832B, 60937 },
- { 0x832C, 60940 },
- { 0x832D, 60947 },
- { 0x832E, 60954 },
- { 0x832F, 60959 },
- { 0x8331, 60964 },
- { 0x8333, 60969 },
- { 0x8332, 60976 },
- { 0x8330, 60983 },
- { 0x8334, 60988 },
- { 0x8335, 60991 },
- { 0x8337, 60994 },
- { 0x8338, 60997 },
- { 0x834C, 61002 },
- { 0x833C, 61009 },
- { 0x8340, 61014 },
- { 0x8341, 61019 },
- { 0x8343, 61024 },
- { 0x8345, 61029 },
- { 0x8348, 61034 },
- { 0x834B, 61039 },
- { 0x834D, 61044 },
- { 0x833A, 61049 },
- { 0x833B, 61054 },
- { 0x833D, 61059 },
- { 0x833F, 61064 },
- { 0x8342, 61069 },
- { 0x8344, 61074 },
- { 0x8346, 61079 },
- { 0x8347, 61084 },
- { 0x8349, 61089 },
- { 0x833E, 61094 },
- { 0x834A, 61100 },
- { 0x834E, 61105 },
- { 0x8339, 61110 },
- { 0x8351, 61115 },
- { 0x8352, 61118 },
- { 0x8353, 61123 },
- { 0x8354, 61128 },
- { 0x8355, 61133 },
- { 0x835A, 61138 },
- { 0x835B, 61141 },
- { 0x835C, 61146 },
- { 0x8360, 61149 },
- { 0x8362, 61152 },
- { 0x8365, 61155 },
- { 0x8366, 61158 },
- { 0x8367, 61161 },
- { 0x8368, 61166 },
- { 0x836B, 61169 },
- { 0x836C, 61172 },
- { 0x836E, 61177 },
- { 0x8029, 61180 },
- { 0x802B, 61183 },
- { 0x802C, 61186 },
- { 0x8033, 61191 },
- { 0x8034, 61194 },
- { 0x8035, 61197 },
- { 0x803E, 61202 },
- { 0x8042, 61205 },
- { 0x8054, 61208 },
- { 0x8076, 61211 },
- { 0x8079, 61214 },
- { 0x8080, 61217 },
- { 0x8085, 61220 },
- { 0x8086, 61223 },
- { 0x8087, 61227 },
- { 0x8088, 61232 },
- { 0x8089, 61235 },
- { 0x8094, 61238 },
- { 0x8095, 61241 },
- { 0x809E, 61244 },
- { 0x80A0, 61247 },
- { 0x80A1, 61250 },
- { 0x80A2, 61253 },
- { 0x80A3, 61258 },
- { 0x80A4, 61265 },
- { 0x80A5, 61274 },
- { 0x80A9, 61279 },
- { 0x80AA, 61284 },
- { 0x80AF, 61290 },
- { 0x80B1, 61295 },
- { 0x80B2, 61300 },
- { 0x80B3, 61305 },
- { 0x80B4, 61310 },
- { 0x80A6, 61315 },
- { 0x80AB, 61320 },
- { 0x80AE, 61326 },
- { 0x80B0, 61331 },
- { 0x80A7, 61338 },
- { 0x80A8, 61344 },
- { 0x80AC, 61351 },
- { 0x80AD, 61356 },
- { 0x80EE, 61362 },
- { 0x80EF, 61365 },
- { 0x80F7, 61370 },
- { 0x80F9, 61373 },
- { 0x80F8, 61378 },
- { 0x80FA, 61382 },
- { 0x80FC, 61387 },
- { 0x8108, 61390 },
- { 0x8109, 61393 },
- { 0x810A, 61397 },
- { 0x810B, 61400 },
- { 0x810E, 61407 },
- { 0x810F, 61414 },
- { 0x810D, 61419 },
- { 0x810C, 61424 },
- { 0x8111, 61430 },
- { 0x8115, 61433 },
- { 0x8113, 61437 },
- { 0x8114, 61442 },
- { 0x8112, 61447 },
- { 0x8126, 61452 },
- { 0x8138, 61455 },
- { 0x8139, 61458 },
- { 0x813D, 61463 },
- { 0x813A, 61468 },
- { 0x813C, 61473 },
- { 0x813B, 61478 },
- { 0x813E, 61483 },
- { 0x8142, 61486 },
- { 0x8143, 61489 },
- { 0x8144, 61495 },
- { 0x8153, 61501 },
- { 0x8190, 61504 },
- { 0x8191, 61507 },
- { 0x8192, 61510 },
- { 0x8193, 61513 },
- { 0x8194, 61516 },
- { 0x819A, 61521 },
- { 0x819B, 61524 },
- { 0x81A7, 61527 },
- { 0x81FA, 61530 },
- { 0x8226, 61533 },
- { 0x8232, 61536 },
- { 0x8236, 61539 },
- { 0x8237, 61544 },
- { 0x8233, 61553 },
- { 0x8235, 61558 },
- { 0x8234, 61563 },
- { 0x8238, 61568 },
- { 0x8240, 61573 },
- { 0x8242, 61576 },
- { 0x8241, 61582 },
- { 0x8243, 61586 },
- { 0x8247, 61591 },
- { 0x8262, 61594 },
- { 0x82AE, 61597 },
- { 0x82AF, 61600 },
- { 0x82B5, 61605 },
- { 0x82B6, 61610 },
- { 0x82B2, 61617 },
- { 0x82B0, 61622 },
- { 0x82B4, 61627 },
- { 0x82B1, 61632 },
- { 0x82B3, 61637 },
- { 0x82B7, 61642 },
- { 0x82BF, 61645 },
- { 0x82C3, 61648 },
- { 0x82C4, 61651 },
- { 0x82C5, 61656 },
- { 0x82C6, 61661 },
- { 0x82C7, 61664 },
- { 0x82C8, 61669 },
- { 0x82CA, 61674 },
- { 0x82CB, 61679 },
- { 0x82CC, 61684 },
- { 0x82CD, 61689 },
- { 0x82CF, 61695 },
- { 0x82D0, 61700 },
- { 0x82D1, 61705 },
- { 0x82C9, 61710 },
- { 0x82CE, 61715 },
- { 0x82D3, 61720 },
- { 0x82D5, 61723 },
- { 0x82D4, 61731 },
- { 0x82D9, 61735 },
- { 0x82DE, 61738 },
- { 0x82DF, 61741 },
- { 0x82E0, 61747 },
- { 0x82E5, 61750 },
- { 0x82EA, 61753 },
- { 0x82FA, 61756 },
- { 0x8306, 61759 },
- { 0x831C, 61762 },
- { 0x8323, 61765 },
- { 0x8325, 61768 },
- { 0x8324, 61773 },
- { 0x8336, 61778 },
- { 0x8357, 61781 },
- { 0x8356, 61784 },
- { 0x8361, 61787 },
- { 0x8369, 61790 },
- { 0x802A, 61793 },
- { 0x8032, 61796 },
- { 0x8036, 61799 },
- { 0x8037, 61802 },
- { 0x8046, 61805 },
- { 0x8048, 61808 },
- { 0x8051, 61811 },
- { 0x8052, 61814 },
- { 0x8070, 61819 },
- { 0x8071, 61822 },
- { 0x8082, 61825 },
- { 0x809F, 61828 },
- { 0x80F4, 61831 },
- { 0x8107, 61834 },
- { 0x8110, 61837 },
- { 0x8127, 61840 },
- { 0x819F, 61843 },
- { 0x81A6, 61846 },
- { 0x81B8, 61849 },
- { 0x81B9, 61852 },
- { 0x81BA, 61857 },
- { 0x81BB, 61866 },
- { 0x81BC, 61873 },
- { 0x81E5, 61880 },
- { 0x81E6, 61885 },
- { 0x81E7, 61892 },
- { 0x81BD, 61901 },
- { 0x81BE, 61906 },
- { 0x81C1, 61911 },
- { 0x81C3, 61916 },
- { 0x81C4, 61921 },
- { 0x81C8, 61926 },
- { 0x81CA, 61931 },
- { 0x81CC, 61938 },
- { 0x81CD, 61943 },
- { 0x81CE, 61950 },
- { 0x81CF, 61957 },
- { 0x81D6, 61962 },
- { 0x81D8, 61967 },
- { 0x81D9, 61972 },
- { 0x81DB, 61979 },
- { 0x81E4, 61984 },
- { 0x81E8, 61995 },
- { 0x81E9, 62002 },
- { 0x81BF, 62007 },
- { 0x81C0, 62014 },
- { 0x81C2, 62019 },
- { 0x81C5, 62024 },
- { 0x81C6, 62029 },
- { 0x81C7, 62034 },
- { 0x81C9, 62041 },
- { 0x81CB, 62046 },
- { 0x81D0, 62052 },
- { 0x81D1, 62057 },
- { 0x81D2, 62062 },
- { 0x81D3, 62067 },
- { 0x81D7, 62076 },
- { 0x81DC, 62081 },
- { 0x81E1, 62088 },
- { 0x81E2, 62093 },
- { 0x81EA, 62098 },
- { 0x81D5, 62103 },
- { 0x81DA, 62108 },
- { 0x81DF, 62113 },
- { 0x81E0, 62118 },
- { 0x81E3, 62125 },
- { 0x81D4, 62130 },
- { 0x81DD, 62135 },
- { 0x81DE, 62144 },
- { 0x81EB, 62152 },
- { 0x81EC, 62156 },
- { 0x81EF, 62159 },
- { 0x81F0, 62163 },
- { 0x81ED, 62171 },
- { 0x81EE, 62176 },
- { 0x8217, 62183 },
- { 0x8218, 62186 },
- { 0x821A, 62191 },
- { 0x8219, 62195 },
- { 0x8227, 62200 },
- { 0x8239, 62203 },
- { 0x823D, 62206 },
- { 0x823A, 62210 },
- { 0x823B, 62215 },
- { 0x823C, 62222 },
- { 0x8244, 62227 },
- { 0x8260, 62230 },
- { 0x826D, 62233 },
- { 0x826F, 62236 },
- { 0x8274, 62242 },
- { 0x8275, 62248 },
- { 0x8277, 62254 },
- { 0x8270, 62260 },
- { 0x8271, 62266 },
- { 0x8272, 62272 },
- { 0x8273, 62279 },
- { 0x8276, 62285 },
- { 0x826E, 62291 },
- { 0x8278, 62297 },
- { 0x8279, 62303 },
- { 0x827E, 62310 },
- { 0x828A, 62313 },
- { 0x828C, 62316 },
- { 0x828D, 62321 },
- { 0x828B, 62326 },
- { 0x828E, 62331 },
- { 0x82B8, 62336 },
- { 0x82B9, 62339 },
- { 0x82BE, 62342 },
- { 0x82C0, 62345 },
- { 0x82D6, 62348 },
- { 0x82E1, 62351 },
- { 0x82E6, 62354 },
- { 0x8322, 62357 },
- { 0x834F, 62360 },
- { 0x8350, 62363 },
- { 0x8359, 62368 },
- { 0x836D, 62371 },
- { 0x803F, 62374 },
- { 0x8043, 62377 },
- { 0x80FD, 62380 },
- { 0x8128, 62383 },
- { 0x819C, 62386 },
- { 0x819E, 62389 },
- { 0x819D, 62401 },
- { 0x81A8, 62411 },
- { 0x81A9, 62414 },
- { 0x81B5, 62419 },
- { 0x81B6, 62422 },
- { 0x81F1, 62425 },
- { 0x81F9, 62428 },
- { 0x8230, 62431 },
- { 0x8231, 62434 },
- { 0x8252, 62437 },
- { 0x8253, 62440 },
- { 0x8257, 62445 },
- { 0x8258, 62453 },
- { 0x825E, 62458 },
- { 0x8254, 62465 },
- { 0x8255, 62470 },
- { 0x8256, 62477 },
- { 0x8259, 62482 },
- { 0x825A, 62487 },
- { 0x825B, 62492 },
- { 0x825C, 62500 },
- { 0x825D, 62507 },
- { 0x825F, 62516 },
- { 0x82AB, 62521 },
- { 0x82C1, 62524 },
- { 0x82D2, 62527 },
- { 0x82DA, 62530 },
- { 0x82E8, 62533 },
- { 0x8358, 62536 },
- { 0x80FE, 62539 },
- { 0x80FF, 62542 },
- { 0x82C2, 62547 },
- { 0x8461, 62550 },
- { 0x8462, 62557 },
- { 0x844F, 62564 },
- { 0x8434, 62569 },
- { 0x8458, 62574 },
- { 0x8415, 62579 },
- { 0x841E, 62584 },
- { 0x842C, 62589 },
- { 0x845A, 62594 },
- { 0x845D, 62600 },
- { 0x845F, 62608 },
- { 0x8460, 62614 },
- { 0x8411, 62620 },
- { 0x8404, 62625 },
- { 0x844E, 62630 },
- { 0x840B, 62636 },
- { 0x841A, 62641 },
- { 0x8428, 62646 },
- { 0x8440, 62651 },
- { 0x8400, 62658 },
- { 0x844A, 62663 },
- { 0x8450, 62669 },
- { 0x8435, 62674 },
- { 0x8459, 62679 },
- { 0x8416, 62684 },
- { 0x841F, 62689 },
- { 0x8423, 62694 },
- { 0x842D, 62699 },
- { 0x845B, 62704 },
- { 0x845E, 62710 },
- { 0x8410, 62718 },
- { 0x8403, 62723 },
- { 0x844D, 62728 },
- { 0x8454, 62734 },
- { 0x8455, 62739 },
- { 0x8439, 62746 },
- { 0x840A, 62751 },
- { 0x8419, 62756 },
- { 0x8422, 62761 },
- { 0x8427, 62766 },
- { 0x8431, 62771 },
- { 0x845C, 62776 },
- { 0x840F, 62782 },
- { 0x8402, 62787 },
- { 0x844C, 62792 },
- { 0x8452, 62798 },
- { 0x8453, 62803 },
- { 0x8438, 62810 },
- { 0x8409, 62815 },
- { 0x8418, 62820 },
- { 0x8421, 62825 },
- { 0x8426, 62830 },
- { 0x8430, 62835 },
- { 0x843C, 62840 },
- { 0x843E, 62847 },
- { 0x843F, 62855 },
- { 0x843D, 62863 },
- { 0x8414, 62870 },
- { 0x8407, 62875 },
- { 0x840E, 62880 },
- { 0x841D, 62885 },
- { 0x842B, 62890 },
- { 0x8446, 62895 },
- { 0x8449, 62902 },
- { 0x8447, 62910 },
- { 0x8448, 62917 },
- { 0x8413, 62924 },
- { 0x8406, 62929 },
- { 0x840D, 62934 },
- { 0x841C, 62939 },
- { 0x842A, 62944 },
- { 0x8444, 62949 },
- { 0x8445, 62956 },
- { 0x8412, 62963 },
- { 0x8405, 62968 },
- { 0x840C, 62973 },
- { 0x841B, 62978 },
- { 0x8429, 62983 },
- { 0x8442, 62988 },
- { 0x8443, 62996 },
- { 0x8441, 63004 },
- { 0x8433, 63011 },
- { 0x8432, 63019 },
- { 0x8401, 63027 },
- { 0x844B, 63032 },
- { 0x8451, 63038 },
- { 0x8436, 63043 },
- { 0x8437, 63048 },
- { 0x8408, 63055 },
- { 0x8417, 63060 },
- { 0x8420, 63065 },
- { 0x8424, 63070 },
- { 0x8425, 63075 },
- { 0x842E, 63082 },
- { 0x842F, 63087 },
- { 0x843A, 63094 },
- { 0x843B, 63101 },
- { 0x8457, 63108 },
- { 0x8456, 63112 },
- { 0x8470, 63116 },
- { 0x8472, 63123 },
- { 0x8473, 63128 },
- { 0x8471, 63133 },
- { 0x23CA, 63138 },
- { 0x23C8, 63144 },
- { 0x23C2, 63152 },
- { 0x23C5, 63160 },
- { 0x23C9, 63168 },
- { 0x23C7, 63174 },
- { 0x23C1, 63182 },
- { 0x23C4, 63190 },
- { 0x23CB, 63198 },
- { 0x23BE, 63205 },
- { 0x23C6, 63212 },
- { 0x23CC, 63218 },
- { 0x23BF, 63225 },
- { 0x23C0, 63232 },
- { 0x23C3, 63238 },
- { 0x00A8, 63244 },
- { 0x2331, 63245 },
- { 0x21A1, 63247 },
- { 0x2193, 63251 },
- { 0x2913, 63253 },
- { 0x21A7, 63257 },
- { 0x21B2, 63261 },
- { 0x21B3, 63266 },
- { 0x21B5, 63271 },
- { 0x21DF, 63276 },
- { 0x2908, 63281 },
- { 0x21F5, 63286 },
- { 0x2B07, 63292 },
- { 0x21E9, 63295 },
- { 0x2E14, 63298 },
- { 0x21E3, 63300 },
- { 0x21D3, 63303 },
- { 0x21CA, 63306 },
- { 0x290B, 63309 },
- { 0x21AF, 63312 },
- { 0x2959, 63315 },
- { 0x2961, 63322 },
- { 0x296F, 63329 },
- { 0x2965, 63340 },
- { 0x2955, 63351 },
- { 0x295D, 63358 },
- { 0x21C3, 63365 },
- { 0x21C2, 63370 },
- { 0x27F1, 63375 },
- { 0x2E0E, 63378 },
- { 0x212E, 63380 },
- { 0x2259, 63382 },
- { 0x213B, 63383 },
- { 0x6F3F, 63385 },
- { 0x6FE2, 63388 },
- { 0x6FE6, 63391 },
- { 0x6FE5, 63394 },
- { 0x6FE0, 63397 },
- { 0x6F0E, 63400 },
- { 0x6F5B, 63403 },
- { 0x6F5F, 63407 },
- { 0x6F3B, 63411 },
- { 0x6F08, 63415 },
- { 0x6F0B, 63418 },
- { 0x6F1A, 63421 },
- { 0x6F0C, 63423 },
- { 0x6F11, 63425 },
- { 0x6F16, 63428 },
- { 0x6F12, 63431 },
- { 0x6F15, 63434 },
- { 0x6F14, 63437 },
- { 0x6F19, 63440 },
- { 0x6F10, 63443 },
- { 0x6F18, 63446 },
- { 0x6F17, 63449 },
- { 0x6F13, 63452 },
- { 0x6F40, 63455 },
- { 0x6F41, 63458 },
- { 0x6F42, 63463 },
- { 0x6F43, 63468 },
- { 0x6F44, 63473 },
- { 0x6F45, 63478 },
- { 0x6F46, 63483 },
- { 0x6F47, 63488 },
- { 0x6F48, 63493 },
- { 0x6F49, 63498 },
- { 0x6F4A, 63503 },
- { 0x6F4B, 63508 },
- { 0x6F4C, 63513 },
- { 0x6F4D, 63518 },
- { 0x6F4E, 63523 },
- { 0x6F4F, 63528 },
- { 0x6F50, 63533 },
- { 0x6F51, 63538 },
- { 0x6F52, 63543 },
- { 0x6F53, 63548 },
- { 0x6F54, 63553 },
- { 0x6F55, 63558 },
- { 0x6F56, 63563 },
- { 0x6F57, 63568 },
- { 0x6F58, 63573 },
- { 0x6F59, 63578 },
- { 0x6F5A, 63583 },
- { 0x6F21, 63588 },
- { 0x6F22, 63593 },
- { 0x6F23, 63598 },
- { 0x6F24, 63603 },
- { 0x6F25, 63608 },
- { 0x6F26, 63613 },
- { 0x6F27, 63618 },
- { 0x6F28, 63623 },
- { 0x6F29, 63628 },
- { 0x6F2A, 63633 },
- { 0x6F2B, 63638 },
- { 0x6F2C, 63643 },
- { 0x6F2D, 63648 },
- { 0x6F2E, 63653 },
- { 0x6F2F, 63658 },
- { 0x6F30, 63663 },
- { 0x6F31, 63668 },
- { 0x6F32, 63673 },
- { 0x6F33, 63678 },
- { 0x6F34, 63683 },
- { 0x6F35, 63688 },
- { 0x6F36, 63693 },
- { 0x6F37, 63698 },
- { 0x6F38, 63703 },
- { 0x6F39, 63708 },
- { 0x6F3A, 63713 },
- { 0x6FE1, 63718 },
- { 0x6F5D, 63721 },
- { 0x6F60, 63725 },
- { 0x6F3D, 63729 },
- { 0x6F09, 63733 },
- { 0x6F5E, 63736 },
- { 0x6FE4, 63738 },
- { 0x6F04, 63741 },
- { 0x6F1D, 63744 },
- { 0x6FE3, 63747 },
- { 0x6F03, 63749 },
- { 0x6F05, 63752 },
- { 0x6F3C, 63755 },
- { 0x6F0F, 63758 },
- { 0x6F0A, 63760 },
- { 0x6F1F, 63762 },
- { 0x6F5C, 63765 },
- { 0x6F06, 63768 },
- { 0x6F1C, 63770 },
- { 0x6F02, 63773 },
- { 0x6F1B, 63776 },
- { 0x6F07, 63778 },
- { 0x6F3E, 63780 },
- { 0x6F20, 63783 },
- { 0x6F01, 63786 },
- { 0x6F1E, 63789 },
- { 0x6F0D, 63792 },
- { 0x223A, 63794 },
- { 0x6F62, 63796 },
- { 0x6FED, 63800 },
- { 0x6FE8, 63803 },
- { 0x6F63, 63807 },
- { 0x6FEE, 63811 },
- { 0x6FA0, 63814 },
- { 0x6FC2, 63817 },
- { 0x6FC7, 63821 },
- { 0x6FDC, 63825 },
- { 0x6FCC, 63829 },
- { 0x6FD3, 63833 },
- { 0x6FC3, 63837 },
- { 0x6FC6, 63841 },
- { 0x6FDA, 63845 },
- { 0x6FCF, 63849 },
- { 0x6FCD, 63853 },
- { 0x6FD5, 63857 },
- { 0x6FD6, 63861 },
- { 0x6FC4, 63865 },
- { 0x6FCB, 63869 },
- { 0x6FDB, 63873 },
- { 0x6FD2, 63877 },
- { 0x6FD7, 63881 },
- { 0x6FCE, 63885 },
- { 0x6FD4, 63889 },
- { 0x6FC5, 63893 },
- { 0x6FCA, 63897 },
- { 0x6FB5, 63901 },
- { 0x6FB8, 63905 },
- { 0x6FBE, 63909 },
- { 0x6FB7, 63913 },
- { 0x6FB1, 63917 },
- { 0x6FA4, 63921 },
- { 0x6FB2, 63925 },
- { 0x6FA9, 63929 },
- { 0x6FA1, 63933 },
- { 0x6FA7, 63937 },
- { 0x6FBA, 63941 },
- { 0x6FBB, 63945 },
- { 0x6FBD, 63949 },
- { 0x6FBC, 63953 },
- { 0x6FB6, 63957 },
- { 0x6FB4, 63961 },
- { 0x6FAD, 63965 },
- { 0x6FB9, 63969 },
- { 0x6FB3, 63973 },
- { 0x6FA3, 63977 },
- { 0x6FA5, 63981 },
- { 0x6FA6, 63985 },
- { 0x6FB0, 63989 },
- { 0x6FAB, 63993 },
- { 0x6FAC, 63997 },
- { 0x6FA2, 64001 },
- { 0x6FA8, 64005 },
- { 0x6FAA, 64009 },
- { 0x6FAF, 64013 },
- { 0x6FAE, 64017 },
- { 0x6FEA, 64021 },
- { 0x6F71, 64024 },
- { 0x6F74, 64028 },
- { 0x6F72, 64032 },
- { 0x6F9D, 64036 },
- { 0x6F75, 64040 },
- { 0x6F73, 64044 },
- { 0x6F8A, 64048 },
- { 0x6F8D, 64052 },
- { 0x6F8B, 64056 },
- { 0x6F8E, 64060 },
- { 0x6F8C, 64064 },
- { 0x6F76, 64068 },
- { 0x6F79, 64072 },
- { 0x6F77, 64076 },
- { 0x6F7A, 64080 },
- { 0x6F78, 64084 },
- { 0x6F8F, 64088 },
- { 0x6F92, 64092 },
- { 0x6F90, 64096 },
- { 0x6F93, 64100 },
- { 0x6F91, 64104 },
- { 0x6F85, 64108 },
- { 0x6F88, 64112 },
- { 0x6F86, 64116 },
- { 0x6F89, 64120 },
- { 0x6F87, 64124 },
- { 0x6F97, 64128 },
- { 0x6F9A, 64132 },
- { 0x6F98, 64136 },
- { 0x6F9B, 64140 },
- { 0x6F99, 64144 },
- { 0x6F7B, 64148 },
- { 0x6F7E, 64152 },
- { 0x6F7C, 64156 },
- { 0x6F7F, 64160 },
- { 0x6F7D, 64164 },
- { 0x6F80, 64168 },
- { 0x6F83, 64172 },
- { 0x6F81, 64176 },
- { 0x6F84, 64180 },
- { 0x6F82, 64184 },
- { 0x6F9C, 64188 },
- { 0x6F66, 64192 },
- { 0x6F94, 64196 },
- { 0x6F96, 64200 },
- { 0x6F95, 64204 },
- { 0x6F67, 64208 },
- { 0x6F6A, 64213 },
- { 0x6F68, 64218 },
- { 0x6F6B, 64223 },
- { 0x6F69, 64228 },
- { 0x6F6F, 64233 },
- { 0x6F6C, 64238 },
- { 0x6F6E, 64243 },
- { 0x6F6D, 64248 },
- { 0x6F65, 64253 },
- { 0x6F9E, 64257 },
- { 0x6F9F, 64262 },
- { 0x6FEC, 64267 },
- { 0x6FE9, 64270 },
- { 0x6FEB, 64273 },
- { 0x6F61, 64276 },
- { 0x6F64, 64280 },
- { 0x6F70, 64283 },
- { 0x22B9, 64288 },
- { 0x231B, 64291 },
- { 0x2261, 64292 },
- { 0x29E5, 64294 },
- { 0x2A67, 64299 },
- { 0x29E1, 64303 },
- { 0x2206, 64305 },
- { 0x2380, 64306 },
- { 0x2064, 64308 },
- { 0x2062, 64310 },
- { 0x2063, 64312 },
- { 0x2939, 64314 },
- { 0x219E, 64318 },
- { 0x219C, 64322 },
- { 0x2190, 64325 },
- { 0x21E4, 64327 },
- { 0x21B9, 64331 },
- { 0x291D, 64340 },
- { 0x21A4, 64345 },
- { 0x291F, 64349 },
- { 0x21C6, 64356 },
- { 0x2B11, 64361 },
- { 0x2B10, 64366 },
- { 0x21A9, 64371 },
- { 0x21AB, 64375 },
- { 0x2946, 64379 },
- { 0x21A2, 64384 },
- { 0x2B3A, 64388 },
- { 0x2B39, 64396 },
- { 0x2B38, 64403 },
- { 0x21FA, 64408 },
- { 0x219A, 64414 },
- { 0x21F7, 64418 },
- { 0x2943, 64423 },
- { 0x2973, 64429 },
- { 0x2B4A, 64434 },
- { 0x2B4B, 64440 },
- { 0x2B42, 64446 },
- { 0x2B3E, 64453 },
- { 0x297A, 64457 },
- { 0x2977, 64461 },
- { 0x2B05, 64465 },
- { 0x21E6, 64468 },
- { 0x21E0, 64471 },
- { 0x290C, 64474 },
- { 0x21D0, 64478 },
- { 0x2906, 64481 },
- { 0x21CD, 64486 },
- { 0x2902, 64491 },
- { 0x291B, 64497 },
- { 0x21C7, 64500 },
- { 0x290E, 64503 },
- { 0x21DA, 64507 },
- { 0x21CB, 64510 },
- { 0x2952, 64515 },
- { 0x295A, 64522 },
- { 0x296A, 64529 },
- { 0x2962, 64537 },
- { 0x2966, 64548 },
- { 0x2956, 64559 },
- { 0x295E, 64566 },
- { 0x2967, 64573 },
- { 0x296B, 64584 },
- { 0x21BC, 64592 },
- { 0x21BD, 64597 },
- { 0x21DC, 64602 },
- { 0x2B45, 64605 },
- { 0x2919, 64608 },
- { 0x2B36, 64610 },
- { 0x2B3B, 64615 },
- { 0x2B3D, 64620 },
- { 0x2B3C, 64629 },
- { 0x2B35, 64637 },
- { 0x2B34, 64644 },
- { 0x2B37, 64650 },
- { 0x21FD, 64655 },
- { 0x2264, 64658 },
- { 0x2A7D, 64662 },
- { 0x2A81, 64667 },
- { 0x2A83, 64675 },
- { 0x2A7F, 64684 },
- { 0x2272, 64692 },
- { 0x2A85, 64696 },
- { 0x2276, 64699 },
- { 0x2A89, 64702 },
- { 0x2A87, 64706 },
- { 0x2268, 64712 },
- { 0x22E6, 64717 },
- { 0x2266, 64722 },
- { 0x003C, 64726 },
- { 0x22D6, 64728 },
- { 0x2A79, 64731 },
- { 0x2A7B, 64735 },
- { 0x2A8D, 64740 },
- { 0x2A8F, 64745 },
- { 0x2A93, 64750 },
- { 0x2976, 64759 },
- { 0x2A8B, 64763 },
- { 0x2A91, 64769 },
- { 0x22DA, 64775 },
- { 0x2AA6, 64780 },
- { 0x2AA8, 64784 },
- { 0x2607, 64791 },
- { 0x0D57, 64792 },
- { 0x0D79, 64796 },
- { 0x0D4D, 64799 },
- { 0x0D03, 64802 },
- { 0x0D02, 64805 },
- { 0x0D3D, 64808 },
- { 0x0D67, 64811 },
- { 0x0D6C, 64814 },
- { 0x0D68, 64817 },
- { 0x0D6B, 64820 },
- { 0x0D6A, 64823 },
- { 0x0D6F, 64826 },
- { 0x0D66, 64829 },
- { 0x0D6E, 64832 },
- { 0x0D6D, 64835 },
- { 0x0D69, 64838 },
- { 0x0D46, 64841 },
- { 0x0D3F, 64845 },
- { 0x0D4A, 64849 },
- { 0x0D41, 64853 },
- { 0x0D3E, 64857 },
- { 0x0D48, 64861 },
- { 0x0D4C, 64865 },
- { 0x0D47, 64869 },
- { 0x0D40, 64873 },
- { 0x0D4B, 64877 },
- { 0x0D42, 64881 },
- { 0x0D62, 64885 },
- { 0x0D43, 64890 },
- { 0x0D63, 64895 },
- { 0x0D44, 64900 },
- { 0x0D05, 64905 },
- { 0x0D0E, 64908 },
- { 0x0D07, 64911 },
- { 0x0D12, 64914 },
- { 0x0D09, 64917 },
- { 0x0D06, 64920 },
- { 0x0D10, 64923 },
- { 0x0D14, 64926 },
- { 0x0D2C, 64929 },
- { 0x0D1A, 64932 },
- { 0x0D26, 64935 },
- { 0x0D0F, 64938 },
- { 0x0D17, 64941 },
- { 0x0D39, 64944 },
- { 0x0D08, 64947 },
- { 0x0D1C, 64950 },
- { 0x0D15, 64953 },
- { 0x0D32, 64956 },
- { 0x0D2E, 64959 },
- { 0x0D28, 64962 },
- { 0x0D13, 64965 },
- { 0x0D2A, 64968 },
- { 0x0D30, 64971 },
- { 0x0D38, 64974 },
- { 0x0D24, 64977 },
- { 0x0D0A, 64980 },
- { 0x0D35, 64983 },
- { 0x0D2F, 64986 },
- { 0x0D2D, 64989 },
- { 0x0D1B, 64992 },
- { 0x0D21, 64995 },
- { 0x0D27, 64998 },
- { 0x0D18, 65001 },
- { 0x0D1D, 65004 },
- { 0x0D16, 65007 },
- { 0x0D33, 65010 },
- { 0x0D19, 65013 },
- { 0x0D23, 65016 },
- { 0x0D1E, 65019 },
- { 0x0D2B, 65022 },
- { 0x0D31, 65025 },
- { 0x0D36, 65028 },
- { 0x0D37, 65031 },
- { 0x0D25, 65034 },
- { 0x0D1F, 65037 },
- { 0x0D22, 65040 },
- { 0x0D34, 65043 },
- { 0x0D20, 65046 },
- { 0x0D7F, 65049 },
- { 0x0D7D, 65053 },
- { 0x0D7B, 65057 },
- { 0x0D7E, 65061 },
- { 0x0D7A, 65065 },
- { 0x0D7C, 65069 },
- { 0x0D0C, 65073 },
- { 0x0D0B, 65077 },
- { 0x0D61, 65081 },
- { 0x0D60, 65085 },
- { 0x0D71, 65089 },
- { 0x0D72, 65093 },
- { 0x0D70, 65097 },
- { 0x0D74, 65100 },
- { 0x0D73, 65104 },
- { 0x0D75, 65108 },
- { 0x00BA, 65112 },
- { 0x1805, 65115 },
- { 0x180B, 65118 },
- { 0x180C, 65123 },
- { 0x180D, 65128 },
- { 0x1803, 65133 },
- { 0x1807, 65136 },
- { 0x1806, 65141 },
- { 0x1800, 65145 },
- { 0x1804, 65147 },
- { 0x1802, 65149 },
- { 0x1811, 65151 },
- { 0x1816, 65154 },
- { 0x1812, 65157 },
- { 0x1815, 65160 },
- { 0x1814, 65163 },
- { 0x1819, 65166 },
- { 0x1810, 65169 },
- { 0x1818, 65172 },
- { 0x1817, 65175 },
- { 0x1813, 65178 },
- { 0x180E, 65181 },
- { 0x1820, 65184 },
- { 0x1821, 65187 },
- { 0x1822, 65190 },
- { 0x1823, 65193 },
- { 0x1824, 65196 },
- { 0x182A, 65199 },
- { 0x1833, 65202 },
- { 0x1827, 65205 },
- { 0x1839, 65208 },
- { 0x182D, 65211 },
- { 0x1835, 65214 },
- { 0x183A, 65217 },
- { 0x182F, 65220 },
- { 0x182E, 65223 },
- { 0x1828, 65226 },
- { 0x1825, 65229 },
- { 0x182B, 65232 },
- { 0x182C, 65235 },
- { 0x1837, 65238 },
- { 0x1830, 65241 },
- { 0x1832, 65244 },
- { 0x1826, 65247 },
- { 0x1838, 65250 },
- { 0x1836, 65253 },
- { 0x183D, 65256 },
- { 0x1887, 65259 },
- { 0x1888, 65264 },
- { 0x1897, 65269 },
- { 0x188B, 65274 },
- { 0x1891, 65279 },
- { 0x1889, 65284 },
- { 0x1892, 65289 },
- { 0x1890, 65294 },
- { 0x1896, 65299 },
- { 0x188E, 65304 },
- { 0x188A, 65309 },
- { 0x188F, 65314 },
- { 0x1893, 65319 },
- { 0x1894, 65324 },
- { 0x188C, 65329 },
- { 0x1895, 65334 },
- { 0x18A6, 65339 },
- { 0x18A7, 65345 },
- { 0x188D, 65351 },
- { 0x1886, 65356 },
- { 0x1885, 65362 },
- { 0x1882, 65367 },
- { 0x18A9, 65372 },
- { 0x1883, 65377 },
- { 0x1881, 65382 },
- { 0x1880, 65388 },
- { 0x1884, 65394 },
- { 0x1829, 65400 },
- { 0x1834, 65403 },
- { 0x1842, 65406 },
- { 0x183E, 65409 },
- { 0x183B, 65412 },
- { 0x1840, 65415 },
- { 0x1831, 65418 },
- { 0x183C, 65421 },
- { 0x1841, 65424 },
- { 0x183F, 65427 },
- { 0x185D, 65430 },
- { 0x185E, 65434 },
- { 0x1861, 65438 },
- { 0x1869, 65442 },
- { 0x186B, 65446 },
- { 0x1864, 65450 },
- { 0x1865, 65454 },
- { 0x185F, 65458 },
- { 0x186A, 65462 },
- { 0x1863, 65466 },
- { 0x1866, 65470 },
- { 0x1868, 65474 },
- { 0x1860, 65478 },
- { 0x186F, 65482 },
- { 0x1862, 65486 },
- { 0x1871, 65490 },
- { 0x186C, 65494 },
- { 0x186D, 65498 },
- { 0x1870, 65502 },
- { 0x1867, 65506 },
- { 0x186E, 65510 },
- { 0x1872, 65514 },
- { 0x1844, 65518 },
- { 0x1845, 65522 },
- { 0x1846, 65526 },
- { 0x1847, 65530 },
- { 0x184B, 65534 },
- { 0x1851, 65538 },
- { 0x184E, 65542 },
- { 0x1853, 65546 },
- { 0x1857, 65550 },
- { 0x184F, 65554 },
- { 0x1848, 65558 },
- { 0x184C, 65562 },
- { 0x184D, 65566 },
- { 0x1850, 65570 },
- { 0x1849, 65574 },
- { 0x1856, 65578 },
- { 0x1855, 65582 },
- { 0x1898, 65586 },
- { 0x1899, 65592 },
- { 0x184A, 65598 },
- { 0x1852, 65602 },
- { 0x185C, 65606 },
- { 0x1858, 65610 },
- { 0x1859, 65614 },
- { 0x185A, 65618 },
- { 0x185B, 65622 },
- { 0x1854, 65626 },
- { 0x1843, 65630 },
- { 0x1873, 65636 },
- { 0x1876, 65640 },
- { 0x1874, 65644 },
- { 0x1875, 65648 },
- { 0x189C, 65652 },
- { 0x18A0, 65658 },
- { 0x18A5, 65664 },
- { 0x18A8, 65670 },
- { 0x18A3, 65676 },
- { 0x18A1, 65682 },
- { 0x189A, 65688 },
- { 0x189D, 65694 },
- { 0x18AA, 65700 },
- { 0x189B, 65706 },
- { 0x18A2, 65712 },
- { 0x189E, 65718 },
- { 0x18A4, 65724 },
- { 0x189F, 65730 },
- { 0x1877, 65736 },
- { 0x1809, 65740 },
- { 0x1808, 65744 },
- { 0x180A, 65747 },
- { 0x1801, 65749 },
- { 0x2029, 65751 },
- { 0x267E, 65753 },
- { 0x22D4, 65756 },
- { 0x2ADA, 65757 },
- { 0x2057, 65761 },
- { 0x2A0C, 65763 },
- { 0x0022, 65766 },
- { 0x2673, 65768 },
- { 0x2674, 65773 },
- { 0x2675, 65778 },
- { 0x2676, 65783 },
- { 0x2677, 65788 },
- { 0x2678, 65793 },
- { 0x2679, 65798 },
- { 0x267A, 65803 },
- { 0x203B, 65808 },
- { 0x2A3D, 65810 },
- { 0x003B, 65813 },
- { 0x2744, 65814 },
- { 0x2222, 65815 },
- { 0x29A1, 65817 },
- { 0x29A0, 65821 },
- { 0x2081, 65825 },
- { 0x2086, 65827 },
- { 0x2082, 65829 },
- { 0x2085, 65831 },
- { 0x2084, 65833 },
- { 0x208D, 65835 },
- { 0x2089, 65838 },
- { 0x208A, 65840 },
- { 0x2080, 65843 },
- { 0x2088, 65845 },
- { 0x208B, 65847 },
- { 0x208E, 65849 },
- { 0x2087, 65852 },
- { 0x2083, 65854 },
- { 0x208C, 65856 },
- { 0x23B2, 65859 },
- { 0x2A0B, 65861 },
- { 0x23B3, 65864 },
- { 0x1BAA, 65866 },
- { 0x1B80, 65869 },
- { 0x1B81, 65872 },
- { 0x1B82, 65875 },
- { 0x1BB1, 65878 },
- { 0x1BB6, 65881 },
- { 0x1BB2, 65884 },
- { 0x1BB5, 65887 },
- { 0x1BB4, 65890 },
- { 0x1BB9, 65893 },
- { 0x1BB0, 65896 },
- { 0x1BB8, 65899 },
- { 0x1BB7, 65902 },
- { 0x1BB3, 65905 },
- { 0x1BA8, 65908 },
- { 0x1BA5, 65912 },
- { 0x1BA4, 65916 },
- { 0x1BA7, 65920 },
- { 0x1BA6, 65924 },
- { 0x1BA9, 65928 },
- { 0x1B83, 65932 },
- { 0x1B88, 65935 },
- { 0x1B84, 65938 },
- { 0x1B87, 65941 },
- { 0x1B85, 65944 },
- { 0x1B86, 65947 },
- { 0x1B98, 65950 },
- { 0x1B8E, 65953 },
- { 0x1B93, 65956 },
- { 0x1B89, 65959 },
- { 0x1B96, 65962 },
- { 0x1B8C, 65965 },
- { 0x1BA0, 65968 },
- { 0x1B8F, 65971 },
- { 0x1B8A, 65974 },
- { 0x1B9C, 65977 },
- { 0x1B99, 65980 },
- { 0x1B94, 65983 },
- { 0x1B95, 65986 },
- { 0x1B8B, 65989 },
- { 0x1B9B, 65992 },
- { 0x1B9E, 65995 },
- { 0x1B92, 65998 },
- { 0x1B97, 66001 },
- { 0x1B9D, 66004 },
- { 0x1B9F, 66007 },
- { 0x1B9A, 66010 },
- { 0x1B90, 66013 },
- { 0x1BAE, 66016 },
- { 0x1B8D, 66019 },
- { 0x1B91, 66022 },
- { 0x1BAF, 66025 },
- { 0x1BA3, 66028 },
- { 0x1BA2, 66032 },
- { 0x1BA1, 66036 },
- { 0x2121, 66040 },
- { 0x2706, 66042 },
- { 0x2315, 66045 },
- { 0x9353, 66047 },
- { 0x931D, 66052 },
- { 0x932D, 66055 },
- { 0x9323, 66060 },
- { 0x931C, 66064 },
- { 0x9307, 66067 },
- { 0x9343, 66071 },
- { 0x932F, 66074 },
- { 0x9346, 66079 },
- { 0x9308, 66082 },
- { 0x9314, 66085 },
- { 0x9331, 66088 },
- { 0x933B, 66091 },
- { 0x9344, 66094 },
- { 0x930C, 66097 },
- { 0x9306, 66100 },
- { 0x9321, 66103 },
- { 0x933D, 66106 },
- { 0x9320, 66110 },
- { 0x9336, 66113 },
- { 0x9325, 66116 },
- { 0x932A, 66119 },
- { 0x9335, 66122 },
- { 0x9319, 66125 },
- { 0x9309, 66128 },
- { 0x934F, 66131 },
- { 0x9315, 66134 },
- { 0x9349, 66137 },
- { 0x9350, 66140 },
- { 0x9316, 66143 },
- { 0x930A, 66147 },
- { 0x9327, 66151 },
- { 0x9340, 66154 },
- { 0x9339, 66157 },
- { 0x9324, 66160 },
- { 0x9334, 66163 },
- { 0x931A, 66166 },
- { 0x9345, 66169 },
- { 0x9317, 66172 },
- { 0x933A, 66175 },
- { 0x932B, 66178 },
- { 0x934D, 66181 },
- { 0x9312, 66184 },
- { 0x932E, 66187 },
- { 0x934C, 66190 },
- { 0x9329, 66193 },
- { 0x9337, 66196 },
- { 0x930E, 66201 },
- { 0x9326, 66205 },
- { 0x9338, 66208 },
- { 0x9348, 66211 },
- { 0x9347, 66214 },
- { 0x931F, 66217 },
- { 0x9318, 66220 },
- { 0x9356, 66223 },
- { 0x9328, 66226 },
- { 0x933F, 66229 },
- { 0x9332, 66233 },
- { 0x9355, 66236 },
- { 0x932C, 66239 },
- { 0x934B, 66242 },
- { 0x934E, 66245 },
- { 0x9352, 66248 },
- { 0x931E, 66251 },
- { 0x9310, 66254 },
- { 0x9330, 66257 },
- { 0x934A, 66260 },
- { 0x930D, 66263 },
- { 0x931B, 66266 },
- { 0x9351, 66269 },
- { 0x930B, 66272 },
- { 0x9333, 66275 },
- { 0x933E, 66278 },
- { 0x9313, 66281 },
- { 0x9341, 66284 },
- { 0x9322, 66287 },
- { 0x9354, 66290 },
- { 0x933C, 66293 },
- { 0x9311, 66296 },
- { 0x930F, 66299 },
- { 0x9342, 66304 },
- { 0x2234, 66307 },
- { 0x2672, 66308 },
- { 0x26AF, 66311 },
- { 0x6E00, 66314 },
- { 0x6E01, 66316 },
- { 0x6E02, 66318 },
- { 0x6E03, 66320 },
- { 0x6E04, 66322 },
- { 0x6E05, 66324 },
- { 0x6E06, 66326 },
- { 0x6E07, 66328 },
- { 0x6E08, 66330 },
- { 0x6E09, 66332 },
- { 0x6E0A, 66334 },
- { 0x6E0B, 66336 },
- { 0x6E0C, 66338 },
- { 0x6E0D, 66340 },
- { 0x6E0E, 66342 },
- { 0x6E0F, 66344 },
- { 0xC100, 66346 },
- { 0xC101, 66348 },
- { 0xC102, 66350 },
- { 0xC103, 66352 },
- { 0xC104, 66354 },
- { 0xC105, 66356 },
- { 0xC106, 66358 },
- { 0xC107, 66360 },
- { 0xC108, 66362 },
- { 0xC109, 66364 },
- { 0xC10A, 66366 },
- { 0xC10B, 66368 },
- { 0xC10C, 66370 },
- { 0xC10D, 66372 },
- { 0xC10E, 66374 },
- { 0xC10F, 66376 },
- { 0xC110, 66378 },
- { 0xC111, 66380 },
- { 0xC112, 66382 },
- { 0xC113, 66384 },
- { 0xC114, 66386 },
- { 0xC115, 66388 },
- { 0xC116, 66390 },
- { 0xC117, 66392 },
- { 0xC118, 66394 },
- { 0xC119, 66396 },
- { 0xC11A, 66398 },
- { 0xC11B, 66400 },
- { 0xC11C, 66402 },
- { 0xC11D, 66404 },
- { 0xC11E, 66406 },
- { 0xC11F, 66408 },
- { 0xC120, 66410 },
- { 0xC121, 66412 },
- { 0xC122, 66414 },
- { 0xC123, 66416 },
- { 0xC124, 66418 },
- { 0xC125, 66420 },
- { 0xC126, 66422 },
- { 0xC127, 66424 },
- { 0xC128, 66426 },
- { 0xC129, 66428 },
- { 0xC12A, 66430 },
- { 0xC12B, 66432 },
- { 0xC12C, 66434 },
- { 0xC12D, 66436 },
- { 0xC12E, 66438 },
- { 0xC12F, 66440 },
- { 0xC130, 66442 },
- { 0xC131, 66444 },
- { 0xC132, 66446 },
- { 0xC133, 66448 },
- { 0xC134, 66450 },
- { 0xC135, 66452 },
- { 0xC136, 66454 },
- { 0xC137, 66456 },
- { 0xC138, 66458 },
- { 0xC139, 66460 },
- { 0xC13A, 66462 },
- { 0xC13B, 66464 },
- { 0xC13C, 66466 },
- { 0xC13D, 66468 },
- { 0xC13E, 66470 },
- { 0xC13F, 66472 },
- { 0xC140, 66474 },
- { 0xC141, 66476 },
- { 0xC142, 66478 },
- { 0xC143, 66480 },
- { 0xC144, 66482 },
- { 0xC145, 66484 },
- { 0xC146, 66486 },
- { 0xC147, 66488 },
- { 0xC148, 66490 },
- { 0xC149, 66492 },
- { 0xC14A, 66494 },
- { 0xC14B, 66496 },
- { 0xC14C, 66498 },
- { 0xC14D, 66500 },
- { 0xC14E, 66502 },
- { 0xC14F, 66504 },
- { 0xC150, 66506 },
- { 0xC151, 66508 },
- { 0xC152, 66510 },
- { 0xC153, 66512 },
- { 0xC154, 66514 },
- { 0xC155, 66516 },
- { 0xC156, 66518 },
- { 0xC157, 66520 },
- { 0xC158, 66522 },
- { 0xC159, 66524 },
- { 0xC15A, 66526 },
- { 0xC15B, 66528 },
- { 0xC15C, 66530 },
- { 0xC15D, 66532 },
- { 0xC15E, 66534 },
- { 0xC15F, 66536 },
- { 0xC160, 66538 },
- { 0xC161, 66540 },
- { 0xC162, 66542 },
- { 0xC163, 66544 },
- { 0xC164, 66546 },
- { 0xC165, 66548 },
- { 0xC166, 66550 },
- { 0xC167, 66552 },
- { 0xC168, 66554 },
- { 0xC169, 66556 },
- { 0xC16A, 66558 },
- { 0xC16B, 66560 },
- { 0xC16C, 66562 },
- { 0xC16D, 66564 },
- { 0xC16E, 66566 },
- { 0xC16F, 66568 },
- { 0xC170, 66570 },
- { 0xC171, 66572 },
- { 0xC172, 66574 },
- { 0xC173, 66576 },
- { 0xC174, 66578 },
- { 0xC175, 66580 },
- { 0xC176, 66582 },
- { 0xC177, 66584 },
- { 0xC178, 66586 },
- { 0xC179, 66588 },
- { 0xC17A, 66590 },
- { 0xC17B, 66592 },
- { 0xC17C, 66594 },
- { 0xC17D, 66596 },
- { 0xC17E, 66598 },
- { 0xC17F, 66600 },
- { 0xC180, 66602 },
- { 0xC181, 66604 },
- { 0xC182, 66606 },
- { 0xC183, 66608 },
- { 0xC184, 66610 },
- { 0xC185, 66612 },
- { 0xC186, 66614 },
- { 0xC187, 66616 },
- { 0xC188, 66618 },
- { 0xC189, 66620 },
- { 0xC18A, 66622 },
- { 0xC18B, 66624 },
- { 0xC18C, 66626 },
- { 0xC18D, 66628 },
- { 0xC18E, 66630 },
- { 0xC18F, 66632 },
- { 0xC190, 66634 },
- { 0xC191, 66636 },
- { 0xC192, 66638 },
- { 0xC193, 66640 },
- { 0xC194, 66642 },
- { 0xC195, 66644 },
- { 0xC196, 66646 },
- { 0xC197, 66648 },
- { 0xC198, 66650 },
- { 0xC199, 66652 },
- { 0xC19A, 66654 },
- { 0xC19B, 66656 },
- { 0xC19C, 66658 },
- { 0xC19D, 66660 },
- { 0xC19E, 66662 },
- { 0xC19F, 66664 },
- { 0xC1A0, 66666 },
- { 0xC1A1, 66668 },
- { 0xC1A2, 66670 },
- { 0xC1A3, 66672 },
- { 0xC1A4, 66674 },
- { 0xC1A5, 66676 },
- { 0xC1A6, 66678 },
- { 0xC1A7, 66680 },
- { 0xC1A8, 66682 },
- { 0xC1A9, 66684 },
- { 0xC1AA, 66686 },
- { 0xC1AB, 66688 },
- { 0xC1AC, 66690 },
- { 0xC1AD, 66692 },
- { 0xC1AE, 66694 },
- { 0xC1AF, 66696 },
- { 0xC1B0, 66698 },
- { 0xC1B1, 66700 },
- { 0xC1B2, 66702 },
- { 0xC1B3, 66704 },
- { 0xC1B4, 66706 },
- { 0xC1B5, 66708 },
- { 0xC1B6, 66710 },
- { 0xC1B7, 66712 },
- { 0xC1B8, 66714 },
- { 0xC1B9, 66716 },
- { 0xC1BA, 66718 },
- { 0xC1BB, 66720 },
- { 0xC1BC, 66722 },
- { 0xC1BD, 66724 },
- { 0xC1BE, 66726 },
- { 0xC1BF, 66728 },
- { 0xC1C0, 66730 },
- { 0xC1C1, 66732 },
- { 0xC1C2, 66734 },
- { 0xC1C3, 66736 },
- { 0xC1C4, 66738 },
- { 0xC1C5, 66740 },
- { 0xC1C6, 66742 },
- { 0xC1C7, 66744 },
- { 0xC1C8, 66746 },
- { 0xC1C9, 66748 },
- { 0xC1CA, 66750 },
- { 0xC1CB, 66752 },
- { 0xC1CC, 66754 },
- { 0xC1CD, 66756 },
- { 0xC1CE, 66758 },
- { 0xC1CF, 66760 },
- { 0xC1D0, 66762 },
- { 0xC1D1, 66764 },
- { 0xC1D2, 66766 },
- { 0xC1D3, 66768 },
- { 0xC1D4, 66770 },
- { 0xC1D5, 66772 },
- { 0xC1D6, 66774 },
- { 0xC1D7, 66776 },
- { 0xC1D8, 66778 },
- { 0xC1D9, 66780 },
- { 0xC1DA, 66782 },
- { 0xC1DB, 66784 },
- { 0xC1DC, 66786 },
- { 0xC1DD, 66788 },
- { 0xC1DE, 66790 },
- { 0xC1DF, 66792 },
- { 0xC1E0, 66794 },
- { 0xC1E1, 66796 },
- { 0xC1E2, 66798 },
- { 0xC1E3, 66800 },
- { 0xC1E4, 66802 },
- { 0xC1E5, 66804 },
- { 0xC1E6, 66806 },
- { 0xC1E7, 66808 },
- { 0xC1E8, 66810 },
- { 0xC1E9, 66812 },
- { 0xC1EA, 66814 },
- { 0xC1EB, 66816 },
- { 0xC1EC, 66818 },
- { 0xC1ED, 66820 },
- { 0xC1EE, 66822 },
- { 0xC1EF, 66824 },
- { 0x0027, 66826 },
- { 0x2250, 66827 },
- { 0x6E4E, 66830 },
- { 0x6E4A, 66833 },
- { 0x005E, 66835 },
- { 0x0040, 66837 },
- { 0x2052, 66839 },
- { 0x2201, 66842 },
- { 0x2381, 66843 },
- { 0x260B, 66846 },
- { 0x0950, 66848 },
- { 0x0971, 66850 },
- { 0x093C, 66855 },
- { 0x094D, 66858 },
- { 0x0903, 66861 },
- { 0x0902, 66864 },
- { 0x093D, 66867 },
- { 0x0901, 66870 },
- { 0x0954, 66873 },
- { 0x0964, 66876 },
- { 0x0967, 66878 },
- { 0x096C, 66881 },
- { 0x0968, 66884 },
- { 0x096B, 66887 },
- { 0x096A, 66890 },
- { 0x096F, 66893 },
- { 0x0966, 66896 },
- { 0x096E, 66899 },
- { 0x096D, 66902 },
- { 0x0969, 66905 },
- { 0x0953, 66908 },
- { 0x0947, 66911 },
- { 0x093F, 66915 },
- { 0x094B, 66919 },
- { 0x0941, 66923 },
- { 0x093E, 66927 },
- { 0x0948, 66931 },
- { 0x094C, 66935 },
- { 0x0940, 66939 },
- { 0x0942, 66943 },
- { 0x0946, 66947 },
- { 0x094A, 66952 },
- { 0x0945, 66957 },
- { 0x0949, 66962 },
- { 0x0962, 66967 },
- { 0x0943, 66972 },
- { 0x0963, 66977 },
- { 0x0944, 66982 },
- { 0x0965, 66987 },
- { 0x0905, 66990 },
- { 0x090F, 66993 },
- { 0x0907, 66996 },
- { 0x0913, 66999 },
- { 0x0909, 67002 },
- { 0x0906, 67005 },
- { 0x0910, 67008 },
- { 0x0914, 67011 },
- { 0x092C, 67014 },
- { 0x091A, 67017 },
- { 0x0926, 67020 },
- { 0x095E, 67023 },
- { 0x0917, 67026 },
- { 0x0939, 67029 },
- { 0x0908, 67032 },
- { 0x091C, 67035 },
- { 0x0915, 67038 },
- { 0x0932, 67041 },
- { 0x092E, 67044 },
- { 0x0928, 67047 },
- { 0x092A, 67050 },
- { 0x0958, 67053 },
- { 0x0930, 67056 },
- { 0x0938, 67059 },
- { 0x0924, 67062 },
- { 0x090A, 67065 },
- { 0x0935, 67068 },
- { 0x092F, 67071 },
- { 0x095B, 67074 },
- { 0x097F, 67077 },
- { 0x092D, 67080 },
- { 0x091B, 67083 },
- { 0x0921, 67086 },
- { 0x0927, 67089 },
- { 0x097B, 67092 },
- { 0x0918, 67095 },
- { 0x091D, 67098 },
- { 0x097C, 67101 },
- { 0x0916, 67104 },
- { 0x0933, 67107 },
- { 0x0919, 67110 },
- { 0x0923, 67113 },
- { 0x091E, 67116 },
- { 0x092B, 67119 },
- { 0x095D, 67122 },
- { 0x0931, 67125 },
- { 0x0936, 67128 },
- { 0x0937, 67131 },
- { 0x0925, 67134 },
- { 0x091F, 67137 },
- { 0x095F, 67140 },
- { 0x097E, 67143 },
- { 0x0922, 67146 },
- { 0x095A, 67149 },
- { 0x0959, 67152 },
- { 0x0934, 67155 },
- { 0x0929, 67158 },
- { 0x0920, 67161 },
- { 0x095C, 67164 },
- { 0x0904, 67167 },
- { 0x090E, 67171 },
- { 0x0912, 67175 },
- { 0x0972, 67179 },
- { 0x090D, 67183 },
- { 0x0911, 67187 },
- { 0x097D, 67191 },
- { 0x090C, 67195 },
- { 0x090B, 67199 },
- { 0x0961, 67203 },
- { 0x0960, 67207 },
- { 0x0951, 67211 },
- { 0x0952, 67215 },
- { 0x0970, 67219 },
- { 0x224F, 67222 },
- { 0x23E7, 67224 },
- { 0x224D, 67226 },
- { 0x2A78, 67228 },
- { 0x2C3B, 67233 },
- { 0x2C4A, 67237 },
- { 0x2C56, 67241 },
- { 0x2C53, 67245 },
- { 0x2C30, 67249 },
- { 0x2C58, 67253 },
- { 0x2C41, 67258 },
- { 0x2C49, 67262 },
- { 0x2C4E, 67266 },
- { 0x2C4C, 67270 },
- { 0x2C46, 67274 },
- { 0x2C31, 67278 },
- { 0x2C5A, 67282 },
- { 0x2C48, 67286 },
- { 0x2C39, 67290 },
- { 0x2C3D, 67294 },
- { 0x2C4B, 67298 },
- { 0x2C32, 67302 },
- { 0x2C51, 67306 },
- { 0x2C50, 67310 },
- { 0x2C4F, 67314 },
- { 0x2C34, 67318 },
- { 0x2C37, 67322 },
- { 0x2C47, 67326 },
- { 0x2C40, 67330 },
- { 0x2C43, 67334 },
- { 0x2C44, 67338 },
- { 0x2C54, 67342 },
- { 0x2C55, 67347 },
- { 0x2C35, 67354 },
- { 0x2C4D, 67358 },
- { 0x2C3C, 67362 },
- { 0x2C42, 67366 },
- { 0x2C45, 67370 },
- { 0x2C38, 67374 },
- { 0x2C33, 67378 },
- { 0x2C3A, 67382 },
- { 0x2C59, 67387 },
- { 0x2C57, 67393 },
- { 0x2C5B, 67399 },
- { 0x2C3E, 67403 },
- { 0x2C3F, 67407 },
- { 0x2C5C, 67411 },
- { 0x2C52, 67415 },
- { 0x2C36, 67420 },
- { 0x2C5E, 67424 },
- { 0x2C5D, 67429 },
- { 0x2C0B, 67434 },
- { 0x2C1A, 67438 },
- { 0x2C26, 67442 },
- { 0x2C23, 67446 },
- { 0x2C00, 67450 },
- { 0x2C28, 67454 },
- { 0x2C11, 67459 },
- { 0x2C19, 67463 },
- { 0x2C1E, 67467 },
- { 0x2C1C, 67471 },
- { 0x2C16, 67475 },
- { 0x2C01, 67479 },
- { 0x2C2A, 67483 },
- { 0x2C18, 67487 },
- { 0x2C09, 67491 },
- { 0x2C0D, 67495 },
- { 0x2C1B, 67499 },
- { 0x2C02, 67503 },
- { 0x2C21, 67507 },
- { 0x2C20, 67511 },
- { 0x2C1F, 67515 },
- { 0x2C04, 67519 },
- { 0x2C07, 67523 },
- { 0x2C17, 67527 },
- { 0x2C10, 67531 },
- { 0x2C13, 67535 },
- { 0x2C14, 67539 },
- { 0x2C24, 67543 },
- { 0x2C25, 67548 },
- { 0x2C05, 67555 },
- { 0x2C1D, 67559 },
- { 0x2C0C, 67563 },
- { 0x2C12, 67567 },
- { 0x2C15, 67571 },
- { 0x2C08, 67575 },
- { 0x2C03, 67579 },
- { 0x2C0A, 67583 },
- { 0x2C29, 67588 },
- { 0x2C27, 67594 },
- { 0x2C2B, 67600 },
- { 0x2C0E, 67604 },
- { 0x2C0F, 67608 },
- { 0x2C2C, 67612 },
- { 0x2C22, 67616 },
- { 0x2C06, 67621 },
- { 0x2C2E, 67625 },
- { 0x2C2D, 67630 },
- { 0x223B, 67635 },
- { 0x2015, 67636 },
- { 0x23AF, 67638 },
- { 0x26A9, 67641 },
- { 0x23BA, 67646 },
- { 0x23BB, 67649 },
- { 0x23BC, 67652 },
- { 0x23BD, 67655 },
- { 0x2B23, 67658 },
- { 0x2026, 67661 },
- { 0x238E, 67663 },
- { 0x29DC, 67665 },
- { 0x7A38, 67667 },
- { 0x7A3A, 67671 },
- { 0x7A39, 67675 },
- { 0x7A0D, 67678 },
- { 0x7A0F, 67683 },
- { 0x7A0E, 67686 },
- { 0x7A40, 67689 },
- { 0x7A41, 67692 },
- { 0x7A43, 67695 },
- { 0x7A42, 67698 },
- { 0x7A05, 67701 },
- { 0x7A01, 67705 },
- { 0x7A06, 67709 },
- { 0x7A02, 67713 },
- { 0x7A03, 67717 },
- { 0x7A0C, 67722 },
- { 0x7A00, 67726 },
- { 0x7A26, 67729 },
- { 0x7A15, 67732 },
- { 0x7A21, 67735 },
- { 0x7A12, 67738 },
- { 0x7A31, 67741 },
- { 0x7A17, 67744 },
- { 0x7A10, 67747 },
- { 0x7A2B, 67750 },
- { 0x7A28, 67753 },
- { 0x7A23, 67756 },
- { 0x7A24, 67759 },
- { 0x7A2A, 67762 },
- { 0x7A2F, 67765 },
- { 0x7A1F, 67768 },
- { 0x7A2C, 67771 },
- { 0x7A29, 67774 },
- { 0x7A30, 67777 },
- { 0x7A27, 67780 },
- { 0x7A16, 67783 },
- { 0x7A1C, 67786 },
- { 0x7A22, 67789 },
- { 0x7A13, 67792 },
- { 0x7A11, 67795 },
- { 0x7A32, 67798 },
- { 0x7A1E, 67801 },
- { 0x7A19, 67804 },
- { 0x7A25, 67807 },
- { 0x7A2D, 67810 },
- { 0x7A2E, 67813 },
- { 0x7A20, 67816 },
- { 0x7A1A, 67819 },
- { 0x7A1D, 67822 },
- { 0x7A1B, 67825 },
- { 0x7A33, 67828 },
- { 0x7A46, 67831 },
- { 0x7A47, 67835 },
- { 0x7A44, 67839 },
- { 0x7A45, 67842 },
- { 0x7A3F, 67845 },
- { 0x7A50, 67847 },
- { 0x7A56, 67850 },
- { 0x7A58, 67853 },
- { 0x7A55, 67856 },
- { 0x7A51, 67859 },
- { 0x7A52, 67863 },
- { 0x7A57, 67866 },
- { 0x7A53, 67870 },
- { 0x7A54, 67874 },
- { 0x238D, 67877 },
- { 0x2ADD, 67879 },
- { 0x260D, 67880 },
- { 0x1736, 67881 },
- { 0x1735, 67884 },
- { 0x791F, 67887 },
- { 0x7904, 67890 },
- { 0x7910, 67893 },
- { 0x790F, 67896 },
- { 0x7900, 67899 },
- { 0x7901, 67902 },
- { 0x7907, 67905 },
- { 0x790A, 67908 },
- { 0x790C, 67911 },
- { 0x790D, 67914 },
- { 0x7912, 67917 },
- { 0x7915, 67920 },
- { 0x7908, 67923 },
- { 0x7905, 67926 },
- { 0x7909, 67929 },
- { 0x7906, 67932 },
- { 0x7903, 67935 },
- { 0x7902, 67938 },
- { 0x790B, 67941 },
- { 0x7913, 67944 },
- { 0x7911, 67947 },
- { 0x790E, 67950 },
- { 0x7914, 67953 },
- { 0x7916, 67956 },
- { 0x7919, 67959 },
- { 0x7917, 67963 },
- { 0x7918, 67966 },
- { 0x00B1, 67969 },
- { 0x2305, 67971 },
- { 0x2237, 67972 },
- { 0x2A16, 67973 },
- { 0x225F, 67976 },
- { 0x00AE, 67979 },
- { 0x2938, 67981 },
- { 0x21A0, 67985 },
- { 0x219D, 67989 },
- { 0x2192, 67992 },
- { 0x21E5, 67994 },
- { 0x291E, 67998 },
- { 0x21A6, 68003 },
- { 0x2920, 68007 },
- { 0x21C4, 68014 },
- { 0x2B0F, 68019 },
- { 0x2B0E, 68024 },
- { 0x21AA, 68029 },
- { 0x21AC, 68033 },
- { 0x2945, 68037 },
- { 0x21A3, 68042 },
- { 0x2915, 68046 },
- { 0x2914, 68054 },
- { 0x21B4, 68061 },
- { 0x2911, 68066 },
- { 0x21FB, 68071 },
- { 0x219B, 68077 },
- { 0x21F8, 68081 },
- { 0x2942, 68086 },
- { 0x2974, 68092 },
- { 0x2975, 68097 },
- { 0x2B4C, 68103 },
- { 0x2B48, 68109 },
- { 0x2947, 68116 },
- { 0x2B44, 68120 },
- { 0x2B43, 68124 },
- { 0x21E8, 68128 },
- { 0x21F0, 68131 },
- { 0x21E2, 68136 },
- { 0x290D, 68139 },
- { 0x21D2, 68143 },
- { 0x2907, 68146 },
- { 0x21CF, 68151 },
- { 0x2903, 68156 },
- { 0x291C, 68162 },
- { 0x21C9, 68165 },
- { 0x290F, 68168 },
- { 0x21DB, 68172 },
- { 0x21CC, 68175 },
- { 0x2953, 68180 },
- { 0x295B, 68187 },
- { 0x296C, 68194 },
- { 0x2968, 68202 },
- { 0x2964, 68213 },
- { 0x2957, 68224 },
- { 0x295F, 68231 },
- { 0x2969, 68238 },
- { 0x296D, 68249 },
- { 0x21C0, 68257 },
- { 0x21C1, 68262 },
- { 0x21DD, 68267 },
- { 0x2B46, 68270 },
- { 0x291A, 68273 },
- { 0x2905, 68275 },
- { 0x2916, 68280 },
- { 0x2918, 68285 },
- { 0x2917, 68294 },
- { 0x2901, 68302 },
- { 0x2900, 68309 },
- { 0x2910, 68315 },
- { 0x21FE, 68320 },
- { 0x58C4, 68323 },
- { 0x5881, 68326 },
- { 0x5880, 68329 },
- { 0x58CE, 68332 },
- { 0x58D1, 68334 },
- { 0x58D6, 68337 },
- { 0x58D2, 68340 },
- { 0x58D5, 68343 },
- { 0x58D4, 68346 },
- { 0x58D9, 68349 },
- { 0x58D0, 68352 },
- { 0x58D8, 68355 },
- { 0x58D7, 68358 },
- { 0x58D3, 68361 },
- { 0x58BE, 68364 },
- { 0x58B6, 68368 },
- { 0x58C1, 68372 },
- { 0x58B8, 68376 },
- { 0x58B5, 68380 },
- { 0x58C0, 68384 },
- { 0x58C3, 68388 },
- { 0x58BF, 68392 },
- { 0x58B7, 68396 },
- { 0x58C2, 68400 },
- { 0x58B9, 68404 },
- { 0x58BC, 68408 },
- { 0x58BA, 68413 },
- { 0x58BD, 68418 },
- { 0x58BB, 68423 },
- { 0x58CF, 68428 },
- { 0x5882, 68431 },
- { 0x588C, 68434 },
- { 0x5884, 68437 },
- { 0x588F, 68440 },
- { 0x5886, 68443 },
- { 0x5883, 68446 },
- { 0x588E, 68449 },
- { 0x5891, 68452 },
- { 0x58A8, 68455 },
- { 0x5897, 68458 },
- { 0x58A3, 68461 },
- { 0x588D, 68464 },
- { 0x5894, 68467 },
- { 0x58B2, 68470 },
- { 0x5885, 68473 },
- { 0x5899, 68476 },
- { 0x5892, 68479 },
- { 0x58AD, 68482 },
- { 0x58AA, 68485 },
- { 0x58A5, 68488 },
- { 0x5890, 68491 },
- { 0x58A6, 68494 },
- { 0x58AC, 68497 },
- { 0x58B1, 68500 },
- { 0x58A1, 68503 },
- { 0x5887, 68506 },
- { 0x58AE, 68509 },
- { 0x58AB, 68512 },
- { 0x58A9, 68515 },
- { 0x5898, 68518 },
- { 0x589E, 68521 },
- { 0x58A4, 68524 },
- { 0x5895, 68527 },
- { 0x589A, 68530 },
- { 0x5893, 68533 },
- { 0x58B3, 68536 },
- { 0x5896, 68539 },
- { 0x58A0, 68542 },
- { 0x589B, 68545 },
- { 0x58A7, 68548 },
- { 0x58AF, 68551 },
- { 0x58B0, 68554 },
- { 0x58A2, 68557 },
- { 0x589C, 68560 },
- { 0x589F, 68563 },
- { 0x589D, 68566 },
- { 0x588A, 68569 },
- { 0x5888, 68573 },
- { 0x588B, 68577 },
- { 0x5889, 68581 },
- { 0x58B4, 68585 },
- { 0x2A32, 68589 },
- { 0x237D, 68594 },
- { 0x2006, 68597 },
- { 0x2023, 68599 },
- { 0x267F, 68601 },
- { 0x2387, 68603 },
- { 0x27AB, 68606 },
- { 0x2A10, 68611 },
- { 0x2384, 68613 },
- { 0x260C, 68615 },
- { 0x2258, 68616 },
- { 0x2334, 68618 },
- { 0x2335, 68619 },
- { 0x2A99, 68620 },
- { 0x2A9A, 68625 },
- { 0x2A9B, 68630 },
- { 0x2A9C, 68636 },
- { 0x2AF9, 68642 },
- { 0x2AFA, 68648 },
- { 0x225A, 68654 },
- { 0x0021, 68656 },
- { 0x2049, 68658 },
- { 0x2005, 68661 },
- { 0x2027, 68663 },
- { 0x3002, 68665 },
- { 0x303F, 68668 },
- { 0x3001, 68672 },
- { 0x302A, 68674 },
- { 0x3000, 68678 },
- { 0x3007, 68680 },
- { 0x302B, 68683 },
- { 0x3006, 68687 },
- { 0x302D, 68690 },
- { 0x302C, 68694 },
- { 0x3005, 68698 },
- { 0x3037, 68701 },
- { 0x33E0, 68707 },
- { 0x33E5, 68713 },
- { 0x33E9, 68719 },
- { 0x33E1, 68725 },
- { 0x33E4, 68731 },
- { 0x33E3, 68737 },
- { 0x33E8, 68743 },
- { 0x33E7, 68749 },
- { 0x33E6, 68755 },
- { 0x33E2, 68761 },
- { 0x33EA, 68767 },
- { 0x33FD, 68773 },
- { 0x33EB, 68779 },
- { 0x33F3, 68785 },
- { 0x33EE, 68791 },
- { 0x33EF, 68797 },
- { 0x33F1, 68803 },
- { 0x33ED, 68809 },
- { 0x33F2, 68815 },
- { 0x33EC, 68821 },
- { 0x33F0, 68827 },
- { 0x33FE, 68833 },
- { 0x33F4, 68839 },
- { 0x33F9, 68845 },
- { 0x33F5, 68851 },
- { 0x33F8, 68857 },
- { 0x33F7, 68863 },
- { 0x33FC, 68869 },
- { 0x33FB, 68875 },
- { 0x33FA, 68881 },
- { 0x33F6, 68887 },
- { 0x32C4, 68893 },
- { 0x3359, 68898 },
- { 0x335E, 68904 },
- { 0x3362, 68910 },
- { 0x335A, 68916 },
- { 0x335D, 68922 },
- { 0x335C, 68928 },
- { 0x3361, 68934 },
- { 0x3358, 68940 },
- { 0x3360, 68946 },
- { 0x335F, 68952 },
- { 0x335B, 68958 },
- { 0x3363, 68964 },
- { 0x3364, 68970 },
- { 0x336C, 68976 },
- { 0x3367, 68982 },
- { 0x3368, 68988 },
- { 0x336A, 68994 },
- { 0x3366, 69000 },
- { 0x336B, 69006 },
- { 0x3365, 69012 },
- { 0x3369, 69018 },
- { 0x336D, 69024 },
- { 0x336E, 69030 },
- { 0x3370, 69036 },
- { 0x336F, 69042 },
- { 0x32C6, 69048 },
- { 0x32C5, 69053 },
- { 0x32C3, 69058 },
- { 0x32C2, 69063 },
- { 0x32C7, 69068 },
- { 0x32C0, 69073 },
- { 0x32C9, 69078 },
- { 0x32CB, 69083 },
- { 0x32C1, 69088 },
- { 0x32CA, 69093 },
- { 0x32C8, 69098 },
- { 0x303E, 69103 },
- { 0x319F, 69106 },
- { 0x3192, 69110 },
- { 0x3196, 69114 },
- { 0x3193, 69118 },
- { 0x3195, 69122 },
- { 0x319E, 69126 },
- { 0x3199, 69130 },
- { 0x319B, 69134 },
- { 0x3194, 69138 },
- { 0x3198, 69142 },
- { 0x319C, 69146 },
- { 0x319D, 69150 },
- { 0x3197, 69154 },
- { 0x319A, 69158 },
- { 0x3190, 69162 },
- { 0x3191, 69166 },
- { 0x2FF4, 69170 },
- { 0x2FF0, 69175 },
- { 0x2FF2, 69181 },
- { 0x2FF1, 69189 },
- { 0x2FF3, 69195 },
- { 0x2FFB, 69203 },
- { 0x2FF7, 69207 },
- { 0x2FF5, 69213 },
- { 0x2FF6, 69219 },
- { 0x2FFA, 69225 },
- { 0x2FF8, 69232 },
- { 0x2FF9, 69239 },
- { 0x2139, 69246 },
- { 0x22BA, 69248 },
- { 0x6FF9, 69249 },
- { 0x6FFA, 69252 },
- { 0x6FFB, 69255 },
- { 0x26A4, 69258 },
- { 0x203D, 69263 },
- { 0x27AA, 69264 },
- { 0x2E0F, 69268 },
- { 0x3250, 69269 },
- { 0x2306, 69271 },
- { 0x2008, 69272 },
- { 0x2622, 69274 },
- { 0x6FFD, 69276 },
- { 0x2650, 69278 },
- { 0x26BA, 69279 },
- { 0x00B9, 69280 },
- { 0x2076, 69282 },
- { 0x00B2, 69284 },
- { 0x2075, 69286 },
- { 0x2074, 69288 },
- { 0x207D, 69290 },
- { 0x2079, 69293 },
- { 0x207A, 69295 },
- { 0x2070, 69298 },
- { 0x2078, 69300 },
- { 0x2071, 69302 },
- { 0x207F, 69307 },
- { 0x207B, 69312 },
- { 0x207E, 69314 },
- { 0x2077, 69317 },
- { 0x00B3, 69319 },
- { 0x207C, 69321 },
- { 0x2ADB, 69324 },
- { 0x25ED, 69326 },
- { 0x25EE, 69332 },
- { 0x214D, 69338 },
- { 0x2A3F, 69339 },
- { 0x060A, 69342 },
- { 0x0609, 69347 },
- { 0x0606, 69351 },
- { 0x0661, 69354 },
- { 0x0666, 69357 },
- { 0x0662, 69360 },
- { 0x0665, 69363 },
- { 0x0664, 69366 },
- { 0x0669, 69369 },
- { 0x0660, 69372 },
- { 0x0668, 69375 },
- { 0x0667, 69378 },
- { 0x0663, 69381 },
- { 0x0607, 69384 },
- { 0x212D, 69387 },
- { 0x210C, 69390 },
- { 0x2111, 69393 },
- { 0x211C, 69396 },
- { 0x2128, 69399 },
- { 0x232D, 69402 },
- { 0x29DF, 69403 },
- { 0x29F3, 69405 },
- { 0x29EF, 69408 },
- { 0x29F1, 69411 },
- { 0x29F2, 69414 },
- { 0x29EE, 69417 },
- { 0x29F0, 69420 },
- { 0x269C, 69423 },
- { 0x27AC, 69424 },
- { 0x2265, 69429 },
- { 0x2A7E, 69433 },
- { 0x2A82, 69438 },
- { 0x2A84, 69446 },
- { 0x2A80, 69455 },
- { 0x2277, 69463 },
- { 0x2273, 69466 },
- { 0x2A86, 69470 },
- { 0x2A8A, 69473 },
- { 0x2A88, 69477 },
- { 0x2269, 69483 },
- { 0x22E7, 69488 },
- { 0x2267, 69493 },
- { 0x003E, 69497 },
- { 0x22D7, 69499 },
- { 0x2A7A, 69502 },
- { 0x2A7C, 69506 },
- { 0x2A8E, 69511 },
- { 0x2A90, 69516 },
- { 0x2A94, 69521 },
- { 0x2A92, 69530 },
- { 0x2978, 69536 },
- { 0x2A8C, 69540 },
- { 0x22DB, 69546 },
- { 0x2AA5, 69551 },
- { 0x2AA7, 69554 },
- { 0x2AA9, 69558 },
- { 0x2AA4, 69565 },
- { 0x002D, 69568 },
- { 0x2E12, 69569 },
- { 0x2229, 69570 },
- { 0x2A40, 69571 },
- { 0x2A44, 69574 },
- { 0x2A43, 69578 },
- { 0x2A49, 69581 },
- { 0x2A47, 69586 },
- { 0x2A4B, 69589 },
- { 0x96E1, 69595 },
- { 0x96DF, 69599 },
- { 0x96E0, 69603 },
- { 0x97CF, 69607 },
- { 0x97D4, 69611 },
- { 0x97D0, 69615 },
- { 0x97D3, 69619 },
- { 0x97D2, 69623 },
- { 0x97D7, 69627 },
- { 0x97CE, 69631 },
- { 0x97D6, 69635 },
- { 0x97D5, 69639 },
- { 0x97D1, 69643 },
- { 0x96DE, 69647 },
- { 0x96C1, 69651 },
- { 0x941A, 69654 },
- { 0x941B, 69658 },
- { 0x941C, 69662 },
- { 0x941D, 69666 },
- { 0x941E, 69670 },
- { 0x941F, 69674 },
- { 0x9420, 69678 },
- { 0x9421, 69682 },
- { 0x9422, 69686 },
- { 0x9423, 69690 },
- { 0x9424, 69694 },
- { 0x9425, 69698 },
- { 0x9426, 69702 },
- { 0x9427, 69706 },
- { 0x9428, 69710 },
- { 0x9429, 69714 },
- { 0x942A, 69718 },
- { 0x942B, 69722 },
- { 0x942C, 69726 },
- { 0x942D, 69730 },
- { 0x942E, 69734 },
- { 0x942F, 69738 },
- { 0x9430, 69742 },
- { 0x9431, 69746 },
- { 0x9432, 69750 },
- { 0x9433, 69754 },
- { 0x96CD, 69758 },
- { 0x96CE, 69762 },
- { 0x96D1, 69766 },
- { 0x96CF, 69770 },
- { 0x96D8, 69774 },
- { 0x96C8, 69778 },
- { 0x96D7, 69782 },
- { 0x96D9, 69786 },
- { 0x96D2, 69790 },
- { 0x96D5, 69794 },
- { 0x96C3, 69798 },
- { 0x96CA, 69802 },
- { 0x96C7, 69806 },
- { 0x96C2, 69810 },
- { 0x96C5, 69814 },
- { 0x96D3, 69818 },
- { 0x96C4, 69823 },
- { 0x96CB, 69827 },
- { 0x96CC, 69831 },
- { 0x96DA, 69835 },
- { 0x96D4, 69839 },
- { 0x96C9, 69843 },
- { 0x97CB, 69847 },
- { 0x96C6, 69851 },
- { 0x96D0, 69855 },
- { 0x96D6, 69859 },
- { 0x96DD, 69863 },
- { 0x9755, 69867 },
- { 0x9753, 69872 },
- { 0x9754, 69877 },
- { 0x9752, 69882 },
- { 0x9735, 69887 },
- { 0x9482, 69891 },
- { 0x9483, 69896 },
- { 0x9484, 69901 },
- { 0x9485, 69906 },
- { 0x9486, 69911 },
- { 0x9487, 69916 },
- { 0x9488, 69921 },
- { 0x9489, 69926 },
- { 0x948A, 69931 },
- { 0x948B, 69936 },
- { 0x948C, 69941 },
- { 0x948D, 69946 },
- { 0x948E, 69951 },
- { 0x948F, 69956 },
- { 0x9490, 69961 },
- { 0x9491, 69966 },
- { 0x9492, 69971 },
- { 0x9493, 69976 },
- { 0x9494, 69981 },
- { 0x9495, 69986 },
- { 0x9496, 69991 },
- { 0x9497, 69996 },
- { 0x9498, 70001 },
- { 0x9499, 70006 },
- { 0x949A, 70011 },
- { 0x949B, 70016 },
- { 0x9741, 70021 },
- { 0x9742, 70026 },
- { 0x9745, 70031 },
- { 0x9743, 70036 },
- { 0x974C, 70041 },
- { 0x973C, 70046 },
- { 0x974B, 70051 },
- { 0x974D, 70056 },
- { 0x9746, 70061 },
- { 0x9749, 70066 },
- { 0x9737, 70071 },
- { 0x973E, 70076 },
- { 0x973B, 70081 },
- { 0x9736, 70086 },
- { 0x9739, 70091 },
- { 0x9747, 70096 },
- { 0x9738, 70102 },
- { 0x973F, 70107 },
- { 0x9740, 70112 },
- { 0x974E, 70117 },
- { 0x9748, 70122 },
- { 0x973D, 70127 },
- { 0x973A, 70132 },
- { 0x9744, 70137 },
- { 0x974A, 70142 },
- { 0x9751, 70147 },
- { 0x9468, 70152 },
- { 0x9469, 70157 },
- { 0x946A, 70162 },
- { 0x946B, 70167 },
- { 0x946C, 70172 },
- { 0x946D, 70177 },
- { 0x946E, 70182 },
- { 0x946F, 70187 },
- { 0x9470, 70192 },
- { 0x9471, 70197 },
- { 0x9472, 70202 },
- { 0x9473, 70207 },
- { 0x9474, 70212 },
- { 0x9475, 70217 },
- { 0x9476, 70222 },
- { 0x9477, 70227 },
- { 0x9478, 70232 },
- { 0x9479, 70237 },
- { 0x947A, 70242 },
- { 0x947B, 70247 },
- { 0x947C, 70252 },
- { 0x947D, 70257 },
- { 0x947E, 70262 },
- { 0x947F, 70267 },
- { 0x9480, 70272 },
- { 0x9481, 70277 },
- { 0x9727, 70282 },
- { 0x9728, 70287 },
- { 0x972B, 70292 },
- { 0x9729, 70297 },
- { 0x9732, 70302 },
- { 0x9722, 70307 },
- { 0x9731, 70312 },
- { 0x9733, 70317 },
- { 0x972C, 70322 },
- { 0x972F, 70327 },
- { 0x971D, 70332 },
- { 0x9724, 70337 },
- { 0x9721, 70342 },
- { 0x971C, 70347 },
- { 0x971F, 70352 },
- { 0x971E, 70357 },
- { 0x9725, 70362 },
- { 0x9726, 70367 },
- { 0x9734, 70372 },
- { 0x972E, 70377 },
- { 0x9723, 70382 },
- { 0x972D, 70387 },
- { 0x9720, 70393 },
- { 0x972A, 70398 },
- { 0x9730, 70403 },
- { 0x9750, 70408 },
- { 0x974F, 70413 },
- { 0x94EA, 70418 },
- { 0x94EB, 70423 },
- { 0x94EC, 70428 },
- { 0x94ED, 70433 },
- { 0x94EE, 70438 },
- { 0x94EF, 70443 },
- { 0x94F0, 70448 },
- { 0x94F1, 70453 },
- { 0x94F2, 70458 },
- { 0x94F3, 70463 },
- { 0x94F4, 70468 },
- { 0x94F5, 70473 },
- { 0x94F6, 70478 },
- { 0x94F7, 70483 },
- { 0x94F8, 70488 },
- { 0x94F9, 70493 },
- { 0x94FA, 70498 },
- { 0x94FB, 70503 },
- { 0x94FC, 70508 },
- { 0x94FD, 70513 },
- { 0x94FE, 70518 },
- { 0x94FF, 70523 },
- { 0x9500, 70528 },
- { 0x9501, 70533 },
- { 0x9502, 70538 },
- { 0x9503, 70543 },
- { 0x94D0, 70548 },
- { 0x94D1, 70553 },
- { 0x94D2, 70558 },
- { 0x94D3, 70563 },
- { 0x94D4, 70568 },
- { 0x94D5, 70573 },
- { 0x94D6, 70578 },
- { 0x94D7, 70583 },
- { 0x94D8, 70588 },
- { 0x94D9, 70593 },
- { 0x94DA, 70598 },
- { 0x94DB, 70603 },
- { 0x94DC, 70608 },
- { 0x94DD, 70613 },
- { 0x94DE, 70618 },
- { 0x94DF, 70623 },
- { 0x94E0, 70628 },
- { 0x94E1, 70633 },
- { 0x94E2, 70638 },
- { 0x94E3, 70643 },
- { 0x94E4, 70648 },
- { 0x94E5, 70653 },
- { 0x94E6, 70658 },
- { 0x94E7, 70663 },
- { 0x94E8, 70668 },
- { 0x94E9, 70673 },
- { 0x9400, 70678 },
- { 0x9401, 70682 },
- { 0x9402, 70686 },
- { 0x9403, 70690 },
- { 0x9404, 70694 },
- { 0x9405, 70698 },
- { 0x9406, 70702 },
- { 0x9407, 70706 },
- { 0x9408, 70710 },
- { 0x9409, 70714 },
- { 0x940A, 70718 },
- { 0x940B, 70722 },
- { 0x940C, 70726 },
- { 0x940D, 70730 },
- { 0x940E, 70734 },
- { 0x940F, 70738 },
- { 0x9410, 70742 },
- { 0x9411, 70746 },
- { 0x9412, 70750 },
- { 0x9413, 70754 },
- { 0x9414, 70758 },
- { 0x9415, 70762 },
- { 0x9416, 70766 },
- { 0x9417, 70770 },
- { 0x9418, 70774 },
- { 0x9419, 70778 },
- { 0x96B3, 70782 },
- { 0x96B4, 70786 },
- { 0x96B7, 70790 },
- { 0x96B5, 70794 },
- { 0x96BE, 70798 },
- { 0x96AE, 70802 },
- { 0x96BD, 70806 },
- { 0x96BF, 70810 },
- { 0x96B8, 70814 },
- { 0x96BB, 70818 },
- { 0x96A9, 70822 },
- { 0x96B0, 70826 },
- { 0x96AD, 70830 },
- { 0x96A8, 70834 },
- { 0x96AB, 70838 },
- { 0x96AA, 70842 },
- { 0x96B1, 70846 },
- { 0x96B2, 70850 },
- { 0x96C0, 70854 },
- { 0x96BA, 70858 },
- { 0x96AF, 70862 },
- { 0x96B9, 70866 },
- { 0x97CA, 70871 },
- { 0x96AC, 70875 },
- { 0x96B6, 70879 },
- { 0x96BC, 70883 },
- { 0x96DC, 70887 },
- { 0x9586, 70891 },
- { 0x9587, 70896 },
- { 0x9588, 70901 },
- { 0x9589, 70906 },
- { 0x958A, 70911 },
- { 0x958B, 70916 },
- { 0x958C, 70921 },
- { 0x958D, 70926 },
- { 0x958E, 70931 },
- { 0x958F, 70936 },
- { 0x9590, 70941 },
- { 0x9591, 70946 },
- { 0x9592, 70951 },
- { 0x9593, 70956 },
- { 0x9594, 70961 },
- { 0x9595, 70966 },
- { 0x9596, 70971 },
- { 0x9597, 70976 },
- { 0x9598, 70981 },
- { 0x9599, 70986 },
- { 0x959A, 70991 },
- { 0x959B, 70996 },
- { 0x959C, 71001 },
- { 0x959D, 71006 },
- { 0x959E, 71011 },
- { 0x959F, 71016 },
- { 0x956C, 71021 },
- { 0x956D, 71026 },
- { 0x956E, 71031 },
- { 0x956F, 71036 },
- { 0x9570, 71041 },
- { 0x9571, 71046 },
- { 0x9572, 71051 },
- { 0x9573, 71056 },
- { 0x9574, 71061 },
- { 0x9575, 71066 },
- { 0x9576, 71071 },
- { 0x9577, 71076 },
- { 0x9578, 71081 },
- { 0x9579, 71086 },
- { 0x957A, 71091 },
- { 0x957B, 71096 },
- { 0x957C, 71101 },
- { 0x957D, 71106 },
- { 0x957E, 71111 },
- { 0x957F, 71116 },
- { 0x9580, 71121 },
- { 0x9581, 71126 },
- { 0x9582, 71131 },
- { 0x9583, 71136 },
- { 0x9584, 71141 },
- { 0x9585, 71146 },
- { 0x96DB, 71151 },
- { 0x27E8, 71155 },
- { 0x27E6, 71159 },
- { 0x27EC, 71164 },
- { 0x27EA, 71170 },
- { 0x27EE, 71175 },
- { 0x27E9, 71179 },
- { 0x27E7, 71183 },
- { 0x27ED, 71188 },
- { 0x27EB, 71194 },
- { 0x27EF, 71199 },
- { 0x971B, 71203 },
- { 0x9719, 71207 },
- { 0x971A, 71211 },
- { 0x9718, 71215 },
- { 0x96FB, 71219 },
- { 0x944E, 71222 },
- { 0x944F, 71226 },
- { 0x9450, 71230 },
- { 0x9451, 71234 },
- { 0x9452, 71238 },
- { 0x9453, 71242 },
- { 0x9454, 71246 },
- { 0x9456, 71250 },
- { 0x9457, 71254 },
- { 0x9458, 71258 },
- { 0x9459, 71262 },
- { 0x945A, 71266 },
- { 0x945B, 71270 },
- { 0x945C, 71274 },
- { 0x945D, 71278 },
- { 0x945E, 71282 },
- { 0x945F, 71286 },
- { 0x9460, 71290 },
- { 0x9461, 71294 },
- { 0x9462, 71298 },
- { 0x9463, 71302 },
- { 0x9464, 71306 },
- { 0x9465, 71310 },
- { 0x9466, 71314 },
- { 0x9467, 71318 },
- { 0x9707, 71322 },
- { 0x9708, 71326 },
- { 0x970B, 71330 },
- { 0x9709, 71334 },
- { 0x9712, 71338 },
- { 0x9702, 71342 },
- { 0x9711, 71346 },
- { 0x9713, 71350 },
- { 0x970C, 71354 },
- { 0x970F, 71358 },
- { 0x96FD, 71362 },
- { 0x9704, 71366 },
- { 0x9701, 71370 },
- { 0x96FC, 71374 },
- { 0x96FF, 71378 },
- { 0x970D, 71382 },
- { 0x96FE, 71387 },
- { 0x9705, 71391 },
- { 0x9706, 71395 },
- { 0x9714, 71399 },
- { 0x970E, 71403 },
- { 0x9703, 71407 },
- { 0x96A4, 71411 },
- { 0x96A5, 71416 },
- { 0x9700, 71421 },
- { 0x970A, 71425 },
- { 0x9710, 71429 },
- { 0x9717, 71433 },
- { 0x9434, 71437 },
- { 0x9435, 71441 },
- { 0x9436, 71445 },
- { 0x9437, 71449 },
- { 0x9438, 71453 },
- { 0x9439, 71457 },
- { 0x943A, 71461 },
- { 0x943B, 71465 },
- { 0x943C, 71469 },
- { 0x943D, 71473 },
- { 0x943E, 71477 },
- { 0x943F, 71481 },
- { 0x9440, 71485 },
- { 0x9441, 71489 },
- { 0x9442, 71493 },
- { 0x9443, 71497 },
- { 0x9444, 71501 },
- { 0x9445, 71505 },
- { 0x9446, 71509 },
- { 0x9447, 71513 },
- { 0x9448, 71517 },
- { 0x9449, 71521 },
- { 0x944A, 71525 },
- { 0x944B, 71529 },
- { 0x944C, 71533 },
- { 0x944D, 71537 },
- { 0x96ED, 71541 },
- { 0x96EE, 71545 },
- { 0x96F1, 71549 },
- { 0x96EF, 71553 },
- { 0x96F8, 71557 },
- { 0x96E8, 71561 },
- { 0x96F7, 71565 },
- { 0x96F9, 71569 },
- { 0x96F2, 71573 },
- { 0x96F5, 71577 },
- { 0x96E3, 71581 },
- { 0x96EA, 71585 },
- { 0x96E7, 71589 },
- { 0x96E2, 71593 },
- { 0x96E5, 71597 },
- { 0x96E4, 71601 },
- { 0x96EB, 71605 },
- { 0x96EC, 71609 },
- { 0x96FA, 71613 },
- { 0x96F4, 71617 },
- { 0x96E9, 71621 },
- { 0x96F3, 71625 },
- { 0x96E6, 71630 },
- { 0x96F0, 71634 },
- { 0x96F6, 71638 },
- { 0x9716, 71642 },
- { 0x9715, 71646 },
- { 0x94B6, 71650 },
- { 0x94B7, 71654 },
- { 0x94B8, 71658 },
- { 0x94B9, 71662 },
- { 0x94BB, 71666 },
- { 0x94BD, 71670 },
- { 0x94BE, 71674 },
- { 0x94BF, 71678 },
- { 0x94C0, 71682 },
- { 0x94C1, 71686 },
- { 0x94C2, 71690 },
- { 0x94C3, 71694 },
- { 0x94C5, 71698 },
- { 0x94C6, 71702 },
- { 0x94C7, 71706 },
- { 0x94C8, 71710 },
- { 0x94C9, 71714 },
- { 0x94CA, 71718 },
- { 0x94CB, 71722 },
- { 0x94CC, 71726 },
- { 0x94CD, 71730 },
- { 0x94CE, 71734 },
- { 0x94CF, 71738 },
- { 0x949C, 71742 },
- { 0x949E, 71746 },
- { 0x949F, 71750 },
- { 0x94A2, 71754 },
- { 0x94A5, 71758 },
- { 0x94A6, 71762 },
- { 0x94A9, 71766 },
- { 0x94AA, 71770 },
- { 0x94AB, 71774 },
- { 0x94AC, 71778 },
- { 0x94AE, 71782 },
- { 0x94AF, 71786 },
- { 0x94B0, 71790 },
- { 0x94B1, 71794 },
- { 0x94B2, 71798 },
- { 0x94B3, 71802 },
- { 0x94B4, 71806 },
- { 0x94B5, 71810 },
- { 0x951E, 71814 },
- { 0x951F, 71818 },
- { 0x9520, 71822 },
- { 0x9521, 71826 },
- { 0x9522, 71830 },
- { 0x9523, 71834 },
- { 0x9524, 71838 },
- { 0x9525, 71842 },
- { 0x9526, 71846 },
- { 0x9527, 71850 },
- { 0x9528, 71854 },
- { 0x9529, 71858 },
- { 0x952A, 71862 },
- { 0x952B, 71866 },
- { 0x952C, 71870 },
- { 0x952D, 71874 },
- { 0x952E, 71878 },
- { 0x952F, 71882 },
- { 0x9530, 71886 },
- { 0x9531, 71890 },
- { 0x9532, 71894 },
- { 0x9533, 71898 },
- { 0x9534, 71902 },
- { 0x9535, 71906 },
- { 0x9536, 71910 },
- { 0x9537, 71914 },
- { 0x9504, 71918 },
- { 0x9505, 71922 },
- { 0x9507, 71926 },
- { 0x9508, 71930 },
- { 0x9509, 71934 },
- { 0x950A, 71938 },
- { 0x950D, 71942 },
- { 0x950E, 71946 },
- { 0x950F, 71950 },
- { 0x9510, 71954 },
- { 0x9511, 71958 },
- { 0x9512, 71962 },
- { 0x9513, 71966 },
- { 0x9514, 71970 },
- { 0x9516, 71974 },
- { 0x9517, 71978 },
- { 0x9518, 71982 },
- { 0x9519, 71986 },
- { 0x951A, 71990 },
- { 0x951B, 71994 },
- { 0x951C, 71998 },
- { 0x97F7, 72002 },
- { 0x97FC, 72006 },
- { 0x97F8, 72010 },
- { 0x97FB, 72014 },
- { 0x97FA, 72018 },
- { 0x97FF, 72022 },
- { 0x97F6, 72026 },
- { 0x97FE, 72030 },
- { 0x97FD, 72034 },
- { 0x97F9, 72038 },
- { 0x968A, 72042 },
- { 0x968B, 72046 },
- { 0x968C, 72050 },
- { 0x968D, 72054 },
- { 0x968E, 72058 },
- { 0x968F, 72062 },
- { 0x9690, 72066 },
- { 0x9691, 72070 },
- { 0x9692, 72074 },
- { 0x9693, 72078 },
- { 0x9694, 72082 },
- { 0x9695, 72086 },
- { 0x9696, 72090 },
- { 0x9697, 72094 },
- { 0x9698, 72098 },
- { 0x9699, 72102 },
- { 0x969A, 72106 },
- { 0x969B, 72110 },
- { 0x969C, 72114 },
- { 0x969D, 72118 },
- { 0x969E, 72122 },
- { 0x969F, 72126 },
- { 0x96A0, 72130 },
- { 0x96A1, 72134 },
- { 0x96A2, 72138 },
- { 0x96A3, 72142 },
- { 0x9670, 72146 },
- { 0x9671, 72150 },
- { 0x9672, 72154 },
- { 0x9673, 72158 },
- { 0x9674, 72162 },
- { 0x9675, 72166 },
- { 0x9676, 72170 },
- { 0x9677, 72174 },
- { 0x9678, 72178 },
- { 0x9679, 72182 },
- { 0x967A, 72186 },
- { 0x967B, 72190 },
- { 0x967C, 72194 },
- { 0x967D, 72198 },
- { 0x967E, 72202 },
- { 0x967F, 72206 },
- { 0x9680, 72210 },
- { 0x9681, 72214 },
- { 0x9682, 72218 },
- { 0x9683, 72222 },
- { 0x9684, 72226 },
- { 0x9685, 72230 },
- { 0x9686, 72234 },
- { 0x9687, 72238 },
- { 0x9688, 72242 },
- { 0x9689, 72246 },
- { 0x978F, 72250 },
- { 0x978D, 72255 },
- { 0x978E, 72260 },
- { 0x97ED, 72265 },
- { 0x97F2, 72270 },
- { 0x97EE, 72275 },
- { 0x97F1, 72280 },
- { 0x97F0, 72285 },
- { 0x97F5, 72290 },
- { 0x97EC, 72295 },
- { 0x97F4, 72300 },
- { 0x97F3, 72305 },
- { 0x97EF, 72310 },
- { 0x978C, 72315 },
- { 0x976F, 72320 },
- { 0x95EE, 72324 },
- { 0x95EF, 72329 },
- { 0x95F0, 72334 },
- { 0x95F1, 72339 },
- { 0x95F2, 72344 },
- { 0x95F3, 72349 },
- { 0x95F4, 72354 },
- { 0x95F5, 72359 },
- { 0x95F6, 72364 },
- { 0x95F7, 72369 },
- { 0x95F8, 72374 },
- { 0x95F9, 72379 },
- { 0x95FA, 72384 },
- { 0x95FB, 72389 },
- { 0x95FC, 72394 },
- { 0x95FD, 72399 },
- { 0x95FE, 72404 },
- { 0x95FF, 72409 },
- { 0x9600, 72414 },
- { 0x9601, 72419 },
- { 0x9602, 72424 },
- { 0x9603, 72429 },
- { 0x9604, 72434 },
- { 0x9605, 72439 },
- { 0x9606, 72444 },
- { 0x9607, 72449 },
- { 0x977B, 72454 },
- { 0x977C, 72459 },
- { 0x977F, 72464 },
- { 0x977D, 72469 },
- { 0x9786, 72474 },
- { 0x9776, 72479 },
- { 0x9785, 72484 },
- { 0x9787, 72489 },
- { 0x9780, 72494 },
- { 0x9783, 72499 },
- { 0x9771, 72504 },
- { 0x9778, 72509 },
- { 0x9775, 72514 },
- { 0x9770, 72519 },
- { 0x9773, 72524 },
- { 0x9781, 72529 },
- { 0x9772, 72535 },
- { 0x9779, 72540 },
- { 0x977A, 72545 },
- { 0x9788, 72550 },
- { 0x9782, 72555 },
- { 0x9777, 72560 },
- { 0x9774, 72565 },
- { 0x977E, 72570 },
- { 0x9784, 72575 },
- { 0x978B, 72580 },
- { 0x97C9, 72585 },
- { 0x97C7, 72591 },
- { 0x97C8, 72597 },
- { 0x97C6, 72603 },
- { 0x97A9, 72609 },
- { 0x9656, 72614 },
- { 0x9657, 72620 },
- { 0x9658, 72626 },
- { 0x9659, 72632 },
- { 0x965A, 72638 },
- { 0x965B, 72644 },
- { 0x965C, 72650 },
- { 0x965D, 72656 },
- { 0x965E, 72662 },
- { 0x965F, 72668 },
- { 0x9660, 72674 },
- { 0x9661, 72680 },
- { 0x9662, 72686 },
- { 0x9663, 72692 },
- { 0x9664, 72698 },
- { 0x9665, 72704 },
- { 0x9666, 72710 },
- { 0x9667, 72716 },
- { 0x9668, 72722 },
- { 0x9669, 72728 },
- { 0x966A, 72734 },
- { 0x966B, 72740 },
- { 0x966C, 72746 },
- { 0x966D, 72752 },
- { 0x966E, 72758 },
- { 0x966F, 72764 },
- { 0x97B5, 72770 },
- { 0x97B6, 72776 },
- { 0x97B9, 72782 },
- { 0x97B7, 72788 },
- { 0x97C0, 72794 },
- { 0x97B0, 72800 },
- { 0x97BF, 72806 },
- { 0x97C1, 72812 },
- { 0x97BA, 72818 },
- { 0x97BD, 72824 },
- { 0x97AB, 72830 },
- { 0x97B2, 72836 },
- { 0x97AF, 72842 },
- { 0x97AA, 72848 },
- { 0x97AD, 72854 },
- { 0x97BB, 72860 },
- { 0x97AC, 72867 },
- { 0x97B3, 72873 },
- { 0x97B4, 72879 },
- { 0x97C2, 72885 },
- { 0x97BC, 72891 },
- { 0x97B1, 72897 },
- { 0x97AE, 72903 },
- { 0x97B8, 72909 },
- { 0x97BE, 72915 },
- { 0x97C5, 72921 },
- { 0x963C, 72927 },
- { 0x963D, 72933 },
- { 0x963E, 72939 },
- { 0x963F, 72945 },
- { 0x9640, 72951 },
- { 0x9641, 72957 },
- { 0x9642, 72963 },
- { 0x9643, 72969 },
- { 0x9644, 72975 },
- { 0x9645, 72981 },
- { 0x9646, 72987 },
- { 0x9647, 72993 },
- { 0x9648, 72999 },
- { 0x9649, 73005 },
- { 0x964A, 73011 },
- { 0x964B, 73017 },
- { 0x964C, 73023 },
- { 0x964D, 73029 },
- { 0x964E, 73035 },
- { 0x964F, 73041 },
- { 0x9650, 73047 },
- { 0x9651, 73053 },
- { 0x9652, 73059 },
- { 0x9653, 73065 },
- { 0x9654, 73071 },
- { 0x9655, 73077 },
- { 0x979B, 73083 },
- { 0x979C, 73089 },
- { 0x979F, 73095 },
- { 0x979D, 73101 },
- { 0x97A6, 73107 },
- { 0x9796, 73113 },
- { 0x97A5, 73119 },
- { 0x97A7, 73125 },
- { 0x97A0, 73131 },
- { 0x97A3, 73137 },
- { 0x9791, 73143 },
- { 0x9798, 73149 },
- { 0x9795, 73155 },
- { 0x9790, 73161 },
- { 0x9793, 73167 },
- { 0x9792, 73173 },
- { 0x9799, 73179 },
- { 0x979A, 73185 },
- { 0x97A8, 73191 },
- { 0x97A2, 73197 },
- { 0x9797, 73203 },
- { 0x97A1, 73209 },
- { 0x9794, 73216 },
- { 0x979E, 73222 },
- { 0x97A4, 73228 },
- { 0x97C4, 73234 },
- { 0x97C3, 73240 },
- { 0x95D4, 73246 },
- { 0x95D5, 73251 },
- { 0x95D6, 73256 },
- { 0x95D7, 73261 },
- { 0x95D8, 73266 },
- { 0x95D9, 73271 },
- { 0x95DA, 73276 },
- { 0x95DB, 73281 },
- { 0x95DC, 73286 },
- { 0x95DD, 73291 },
- { 0x95DE, 73296 },
- { 0x95DF, 73301 },
- { 0x95E0, 73306 },
- { 0x95E1, 73311 },
- { 0x95E2, 73316 },
- { 0x95E3, 73321 },
- { 0x95E4, 73326 },
- { 0x95E5, 73331 },
- { 0x95E6, 73336 },
- { 0x95E7, 73341 },
- { 0x95E8, 73346 },
- { 0x95E9, 73351 },
- { 0x95EA, 73356 },
- { 0x95EB, 73361 },
- { 0x95EC, 73366 },
- { 0x95ED, 73371 },
- { 0x9761, 73376 },
- { 0x9762, 73381 },
- { 0x9765, 73386 },
- { 0x9763, 73391 },
- { 0x976C, 73396 },
- { 0x975C, 73401 },
- { 0x976B, 73406 },
- { 0x976D, 73411 },
- { 0x9766, 73416 },
- { 0x9769, 73421 },
- { 0x9757, 73426 },
- { 0x975E, 73431 },
- { 0x975B, 73436 },
- { 0x9756, 73441 },
- { 0x9759, 73446 },
- { 0x9758, 73451 },
- { 0x975F, 73456 },
- { 0x9760, 73461 },
- { 0x976E, 73466 },
- { 0x9768, 73471 },
- { 0x975D, 73476 },
- { 0x9767, 73481 },
- { 0x975A, 73487 },
- { 0x9764, 73492 },
- { 0x976A, 73497 },
- { 0x978A, 73502 },
- { 0x9789, 73507 },
- { 0x97E3, 73512 },
- { 0x97E8, 73516 },
- { 0x97E4, 73520 },
- { 0x97E7, 73524 },
- { 0x97E6, 73528 },
- { 0x97EB, 73532 },
- { 0x97E2, 73536 },
- { 0x97EA, 73540 },
- { 0x97E9, 73544 },
- { 0x97E5, 73548 },
- { 0x95BA, 73552 },
- { 0x95BB, 73556 },
- { 0x95BC, 73560 },
- { 0x95BD, 73564 },
- { 0x95BE, 73568 },
- { 0x95BF, 73572 },
- { 0x95C0, 73576 },
- { 0x95C1, 73580 },
- { 0x95C2, 73584 },
- { 0x95C3, 73588 },
- { 0x95C4, 73592 },
- { 0x95C5, 73596 },
- { 0x95C6, 73600 },
- { 0x95C7, 73604 },
- { 0x95C8, 73608 },
- { 0x95C9, 73612 },
- { 0x95CA, 73616 },
- { 0x95CB, 73620 },
- { 0x95CC, 73624 },
- { 0x95CD, 73628 },
- { 0x95CE, 73632 },
- { 0x95CF, 73636 },
- { 0x95D0, 73640 },
- { 0x95D1, 73644 },
- { 0x95D2, 73648 },
- { 0x95D3, 73652 },
- { 0x9622, 73656 },
- { 0x9623, 73661 },
- { 0x9624, 73666 },
- { 0x9625, 73671 },
- { 0x9626, 73676 },
- { 0x9627, 73681 },
- { 0x9628, 73686 },
- { 0x9629, 73691 },
- { 0x962A, 73696 },
- { 0x962B, 73701 },
- { 0x962C, 73706 },
- { 0x962D, 73711 },
- { 0x962E, 73716 },
- { 0x962F, 73721 },
- { 0x9630, 73726 },
- { 0x9631, 73731 },
- { 0x9632, 73736 },
- { 0x9633, 73741 },
- { 0x9634, 73746 },
- { 0x9635, 73751 },
- { 0x9636, 73756 },
- { 0x9637, 73761 },
- { 0x9638, 73766 },
- { 0x9639, 73771 },
- { 0x963A, 73776 },
- { 0x963B, 73781 },
- { 0x9608, 73786 },
- { 0x9609, 73791 },
- { 0x960A, 73796 },
- { 0x960B, 73801 },
- { 0x960C, 73806 },
- { 0x960D, 73811 },
- { 0x960E, 73816 },
- { 0x960F, 73821 },
- { 0x9610, 73826 },
- { 0x9611, 73831 },
- { 0x9612, 73836 },
- { 0x9613, 73841 },
- { 0x9614, 73846 },
- { 0x9615, 73851 },
- { 0x9616, 73856 },
- { 0x9617, 73861 },
- { 0x9618, 73866 },
- { 0x9619, 73871 },
- { 0x961A, 73876 },
- { 0x961B, 73881 },
- { 0x961C, 73886 },
- { 0x961D, 73891 },
- { 0x961E, 73896 },
- { 0x961F, 73901 },
- { 0x9620, 73906 },
- { 0x9621, 73911 },
- { 0x95A0, 73916 },
- { 0x95A1, 73920 },
- { 0x95A2, 73924 },
- { 0x95A3, 73928 },
- { 0x95A4, 73932 },
- { 0x95A5, 73936 },
- { 0x95A6, 73940 },
- { 0x95A7, 73944 },
- { 0x95A8, 73948 },
- { 0x95A9, 73952 },
- { 0x95AA, 73956 },
- { 0x95AB, 73960 },
- { 0x95AC, 73964 },
- { 0x95AD, 73968 },
- { 0x95AE, 73972 },
- { 0x95AF, 73976 },
- { 0x95B0, 73980 },
- { 0x95B1, 73984 },
- { 0x95B2, 73988 },
- { 0x95B3, 73992 },
- { 0x95B4, 73996 },
- { 0x95B5, 74000 },
- { 0x95B6, 74004 },
- { 0x95B7, 74008 },
- { 0x95B8, 74012 },
- { 0x95B9, 74016 },
- { 0x97D9, 74020 },
- { 0x97DE, 74024 },
- { 0x97DA, 74028 },
- { 0x97DD, 74032 },
- { 0x97DC, 74036 },
- { 0x97E1, 74040 },
- { 0x97D8, 74044 },
- { 0x97E0, 74048 },
- { 0x97DF, 74052 },
- { 0x97DB, 74056 },
- { 0x9552, 74060 },
- { 0x9553, 74064 },
- { 0x9554, 74068 },
- { 0x9555, 74072 },
- { 0x9556, 74076 },
- { 0x9557, 74080 },
- { 0x9558, 74084 },
- { 0x9559, 74088 },
- { 0x955A, 74092 },
- { 0x955B, 74096 },
- { 0x955C, 74100 },
- { 0x955D, 74104 },
- { 0x955E, 74108 },
- { 0x955F, 74112 },
- { 0x9560, 74116 },
- { 0x9561, 74120 },
- { 0x9562, 74124 },
- { 0x9563, 74128 },
- { 0x9564, 74132 },
- { 0x9565, 74136 },
- { 0x9566, 74140 },
- { 0x9567, 74144 },
- { 0x9568, 74148 },
- { 0x9569, 74152 },
- { 0x956A, 74156 },
- { 0x956B, 74160 },
- { 0x9538, 74164 },
- { 0x9539, 74168 },
- { 0x953B, 74172 },
- { 0x953C, 74176 },
- { 0x953D, 74180 },
- { 0x953E, 74184 },
- { 0x9540, 74188 },
- { 0x9541, 74192 },
- { 0x9542, 74196 },
- { 0x9543, 74200 },
- { 0x9544, 74204 },
- { 0x9546, 74208 },
- { 0x954A, 74212 },
- { 0x954B, 74216 },
- { 0x954C, 74220 },
- { 0x954D, 74224 },
- { 0x954E, 74228 },
- { 0x954F, 74232 },
- { 0x9550, 74236 },
- { 0x2011, 74240 },
- { 0x211E, 74242 },
- { 0x6E31, 74244 },
- { 0x6E32, 74250 },
- { 0x6E33, 74256 },
- { 0x6E30, 74262 },
- { 0x6E3F, 74269 },
- { 0x6E3B, 74276 },
- { 0x6E37, 74284 },
- { 0x6E43, 74291 },
- { 0x6E17, 74299 },
- { 0x6E41, 74307 },
- { 0x6E3D, 74314 },
- { 0x6E47, 74322 },
- { 0x6E39, 74329 },
- { 0x6E35, 74337 },
- { 0x6E34, 74343 },
- { 0x6E13, 74350 },
- { 0x6E10, 74355 },
- { 0x6E40, 74360 },
- { 0x6E3C, 74367 },
- { 0x6E38, 74375 },
- { 0x6E44, 74382 },
- { 0x6E18, 74390 },
- { 0x6E42, 74398 },
- { 0x6E3E, 74405 },
- { 0x6E48, 74413 },
- { 0x6E3A, 74420 },
- { 0x6E36, 74428 },
- { 0x6E16, 74434 },
- { 0x6E14, 74440 },
- { 0x6E19, 74445 },
- { 0x6E15, 74451 },
- { 0x6E12, 74457 },
- { 0x6E11, 74464 },
- { 0x221D, 74470 },
- { 0x27A9, 74472 },
- { 0x29F4, 74476 },
- { 0x23E4, 74477 },
- { 0x2004, 74478 },
- { 0x2608, 74480 },
- { 0x27BC, 74481 },
- { 0x21B6, 74484 },
- { 0x21BA, 74488 },
- { 0x2940, 74492 },
- { 0x27F2, 74496 },
- { 0x2233, 74500 },
- { 0x2A11, 74503 },
- { 0x2246, 74505 },
- { 0x2A70, 74511 },
- { 0x2245, 74516 },
- { 0x2252, 74519 },
- { 0x2382, 74526 },
- { 0x2140, 74529 },
- { 0x213C, 74532 },
- { 0x213D, 74535 },
- { 0x2146, 74538 },
- { 0x2147, 74542 },
- { 0x2148, 74546 },
- { 0x2149, 74550 },
- { 0x2145, 74554 },
- { 0x2102, 74558 },
- { 0x210D, 74561 },
- { 0x2115, 74564 },
- { 0x2119, 74567 },
- { 0x211A, 74570 },
- { 0x211D, 74573 },
- { 0x2124, 74576 },
- { 0x213F, 74579 },
- { 0x213E, 74582 },
- { 0x29E8, 74585 },
- { 0x29E9, 74591 },
- { 0x20A0, 74597 },
- { 0x2251, 74599 },
- { 0x224E, 74602 },
- { 0x2329, 74605 },
- { 0x29FC, 74608 },
- { 0x00AB, 74612 },
- { 0x200E, 74617 },
- { 0x202D, 74619 },
- { 0x202A, 74621 },
- { 0x2213, 74623 },
- { 0x27BE, 74625 },
- { 0x2474, 74628 },
- { 0x2479, 74631 },
- { 0x2475, 74634 },
- { 0x2478, 74637 },
- { 0x2477, 74640 },
- { 0x247C, 74643 },
- { 0x247B, 74646 },
- { 0x247A, 74649 },
- { 0x2476, 74652 },
- { 0x249C, 74655 },
- { 0x249D, 74660 },
- { 0x249E, 74665 },
- { 0x249F, 74670 },
- { 0x24A0, 74675 },
- { 0x24A1, 74680 },
- { 0x24A2, 74685 },
- { 0x24A3, 74690 },
- { 0x24A4, 74695 },
- { 0x24A5, 74700 },
- { 0x24A6, 74705 },
- { 0x24A7, 74710 },
- { 0x24A8, 74715 },
- { 0x24A9, 74720 },
- { 0x24AA, 74725 },
- { 0x24AB, 74730 },
- { 0x24AC, 74735 },
- { 0x24AD, 74740 },
- { 0x24AE, 74745 },
- { 0x24AF, 74750 },
- { 0x24B0, 74755 },
- { 0x24B1, 74760 },
- { 0x24B2, 74765 },
- { 0x24B3, 74770 },
- { 0x24B4, 74775 },
- { 0x24B5, 74780 },
- { 0x3206, 74785 },
- { 0x3214, 74788 },
- { 0x3208, 74792 },
- { 0x3216, 74795 },
- { 0x321C, 74799 },
- { 0x320D, 74803 },
- { 0x321B, 74806 },
- { 0x3207, 74810 },
- { 0x3215, 74813 },
- { 0x3204, 74817 },
- { 0x3212, 74820 },
- { 0x3201, 74824 },
- { 0x320F, 74827 },
- { 0x3205, 74831 },
- { 0x3213, 74834 },
- { 0x3203, 74838 },
- { 0x3211, 74841 },
- { 0x3200, 74845 },
- { 0x320E, 74848 },
- { 0x3202, 74852 },
- { 0x3210, 74855 },
- { 0x3209, 74859 },
- { 0x3217, 74862 },
- { 0x320A, 74866 },
- { 0x3218, 74869 },
- { 0x320C, 74873 },
- { 0x321A, 74876 },
- { 0x320B, 74880 },
- { 0x3219, 74883 },
- { 0x321E, 74887 },
- { 0x321D, 74892 },
- { 0x247D, 74896 },
- { 0x247E, 74899 },
- { 0x247F, 74902 },
- { 0x2487, 74905 },
- { 0x2482, 74908 },
- { 0x2483, 74911 },
- { 0x2485, 74914 },
- { 0x2481, 74917 },
- { 0x2486, 74920 },
- { 0x2480, 74923 },
- { 0x2484, 74926 },
- { 0x3220, 74929 },
- { 0x3225, 74932 },
- { 0x3230, 74935 },
- { 0x3229, 74938 },
- { 0x3221, 74941 },
- { 0x323A, 74944 },
- { 0x322B, 74947 },
- { 0x3224, 74950 },
- { 0x3223, 74953 },
- { 0x3232, 74956 },
- { 0x322A, 74959 },
- { 0x3234, 74962 },
- { 0x3228, 74965 },
- { 0x3241, 74968 },
- { 0x3242, 74971 },
- { 0x322D, 74974 },
- { 0x322F, 74977 },
- { 0x3227, 74980 },
- { 0x3238, 74983 },
- { 0x322E, 74986 },
- { 0x3243, 74989 },
- { 0x3226, 74992 },
- { 0x3231, 74995 },
- { 0x323B, 74998 },
- { 0x3222, 75001 },
- { 0x322C, 75004 },
- { 0x3233, 75007 },
- { 0x3235, 75010 },
- { 0x323F, 75013 },
- { 0x3240, 75016 },
- { 0x323E, 75019 },
- { 0x3236, 75022 },
- { 0x3239, 75025 },
- { 0x323C, 75028 },
- { 0x323D, 75031 },
- { 0x3237, 75034 },
- { 0x27C2, 75037 },
- { 0x2AE1, 75038 },
- { 0x200F, 75041 },
- { 0x202E, 75043 },
- { 0x202B, 75045 },
- { 0x29E7, 75047 },
- { 0x2243, 75048 },
- { 0x2749, 75051 },
- { 0x2715, 75053 },
- { 0x00D7, 75055 },
- { 0x2A34, 75057 },
- { 0x2A35, 75063 },
- { 0x2A37, 75069 },
- { 0x2A3B, 75074 },
- { 0x2A30, 75078 },
- { 0x2A31, 75083 },
- { 0x232A, 75087 },
- { 0x29FD, 75090 },
- { 0x00BB, 75094 },
- { 0x26BC, 75099 },
- { 0x27B6, 75100 },
- { 0x27B4, 75104 },
- { 0x27B5, 75108 },
- { 0x27BA, 75111 },
- { 0x273B, 75114 },
- { 0x279D, 75116 },
- { 0x27B3, 75119 },
- { 0x30A0, 75122 },
- { 0x309B, 75125 },
- { 0x30FC, 75129 },
- { 0x309C, 75133 },
- { 0x2394, 75137 },
- { 0x267D, 75139 },
- { 0x238F, 75142 },
- { 0x2390, 75145 },
- { 0x2392, 75148 },
- { 0x2391, 75150 },
+unicode_name_to_index[27907] = {
+ { 0x1C71, 0 },
+ { 0x24F2, 4 },
+ { 0x1E80, 7 },
+ { 0x1E58, 12 },
+ { 0x24AD, 16 },
+ { 0x24AF, 21 },
+ { 0x24A7, 26 },
+ { 0x24A8, 29 },
+ { 0x258B, 33 },
+ { 0x24AE, 37 },
+ { 0x24B0, 42 },
+ { 0x258A, 47 },
+ { 0x2546, 51 },
+ { 0x2547, 55 },
+ { 0x2545, 59 },
+ { 0x2564, 63 },
+ { 0x1F3F, 67 },
+ { 0x6AD3, 69 },
+ { 0x1B98, 73 },
+ { 0x1B85, 75 },
+ { 0x1B87, 77 },
+ { 0x1B97, 79 },
+ { 0x1B84, 81 },
+ { 0x1B86, 83 },
+ { 0x6944, 85 },
+ { 0x21FA, 90 },
+ { 0x6ACF, 92 },
+ { 0x691B, 95 },
+ { 0x6998, 98 },
+ { 0x6AD1, 100 },
+ { 0x6AD7, 103 },
+ { 0x6ADB, 105 },
+ { 0x6872, 107 },
+ { 0x1868, 110 },
+ { 0x186D, 114 },
+ { 0x1841, 117 },
+ { 0x1846, 121 },
+ { 0x1842, 125 },
+ { 0x1845, 129 },
+ { 0x1844, 133 },
+ { 0x1849, 137 },
+ { 0x1840, 141 },
+ { 0x1848, 145 },
+ { 0x1847, 149 },
+ { 0x1843, 153 },
+ { 0x186B, 157 },
+ { 0x184C, 160 },
+ { 0x184E, 164 },
+ { 0x184B, 168 },
+ { 0x1861, 172 },
+ { 0x185F, 176 },
+ { 0x1856, 180 },
+ { 0x1858, 184 },
+ { 0x1855, 188 },
+ { 0x184A, 192 },
+ { 0x185E, 196 },
+ { 0x1854, 200 },
+ { 0x1863, 204 },
+ { 0x1859, 208 },
+ { 0x1865, 212 },
+ { 0x1867, 216 },
+ { 0x1866, 220 },
+ { 0x185A, 224 },
+ { 0x185B, 228 },
+ { 0x185D, 232 },
+ { 0x1851, 236 },
+ { 0x1850, 240 },
+ { 0x1852, 244 },
+ { 0x1853, 248 },
+ { 0x184D, 252 },
+ { 0x1860, 256 },
+ { 0x1862, 260 },
+ { 0x1857, 264 },
+ { 0x184F, 268 },
+ { 0x1864, 272 },
+ { 0x185C, 276 },
+ { 0x1869, 280 },
+ { 0x186C, 284 },
+ { 0x186A, 287 },
+ { 0x186F, 291 },
+ { 0x186E, 296 },
+ { 0x696F, 300 },
+ { 0x6941, 302 },
+ { 0x22ED, 311 },
+ { 0x6828, 315 },
+ { 0x0000, 316 },
+ { 0x2477, 317 },
+ { 0x2473, 324 },
+ { 0x2472, 331 },
+ { 0x2475, 338 },
+ { 0x1CEE, 345 },
+ { 0x1D01, 348 },
+ { 0x2633, 353 },
+ { 0x1D4C, 357 },
+ { 0x1D2E, 361 },
+ { 0x6C1C, 365 },
+ { 0x268B, 369 },
+ { 0x24A4, 373 },
+ { 0x1DFE, 376 },
+ { 0x2305, 378 },
+ { 0x24E3, 383 },
+ { 0x1E49, 387 },
+ { 0x1E5C, 391 },
+ { 0x26DB, 393 },
+ { 0x1E7D, 399 },
+ { 0x1BE4, 405 },
+ { 0x3331, 406 },
+ { 0x332E, 409 },
+ { 0x3316, 412 },
+ { 0x3328, 415 },
+ { 0x333B, 418 },
+ { 0x3306, 421 },
+ { 0x330D, 424 },
+ { 0x331E, 427 },
+ { 0x331D, 430 },
+ { 0x332D, 433 },
+ { 0x3312, 436 },
+ { 0x3327, 439 },
+ { 0x331A, 442 },
+ { 0x3338, 445 },
+ { 0x3333, 448 },
+ { 0x3309, 451 },
+ { 0x3318, 454 },
+ { 0x330C, 457 },
+ { 0x332B, 460 },
+ { 0x3322, 463 },
+ { 0x332A, 466 },
+ { 0x3307, 469 },
+ { 0x3330, 472 },
+ { 0x330F, 475 },
+ { 0x3311, 478 },
+ { 0x3313, 481 },
+ { 0x3321, 484 },
+ { 0x3305, 487 },
+ { 0x3325, 490 },
+ { 0x330A, 493 },
+ { 0x3315, 496 },
+ { 0x3326, 499 },
+ { 0x3324, 502 },
+ { 0x3323, 505 },
+ { 0x3320, 508 },
+ { 0x3317, 511 },
+ { 0x3336, 514 },
+ { 0x3310, 517 },
+ { 0x3332, 520 },
+ { 0x3319, 523 },
+ { 0x330B, 526 },
+ { 0x331B, 529 },
+ { 0x330E, 532 },
+ { 0x3334, 535 },
+ { 0x3314, 538 },
+ { 0x332C, 541 },
+ { 0x331F, 544 },
+ { 0x333A, 547 },
+ { 0x3308, 550 },
+ { 0x331C, 553 },
+ { 0x3329, 556 },
+ { 0x3335, 559 },
+ { 0x3337, 562 },
+ { 0x332F, 565 },
+ { 0x3339, 568 },
+ { 0x2E82, 571 },
+ { 0x2E8C, 574 },
+ { 0x2E7A, 577 },
+ { 0x2E89, 580 },
+ { 0x2E83, 583 },
+ { 0x2E80, 586 },
+ { 0x2E81, 589 },
+ { 0x2E98, 592 },
+ { 0x2EA2, 595 },
+ { 0x2E90, 598 },
+ { 0x2E9F, 601 },
+ { 0x2EA6, 604 },
+ { 0x2EAC, 607 },
+ { 0x3130, 610 },
+ { 0x313A, 613 },
+ { 0x3128, 616 },
+ { 0x3137, 619 },
+ { 0x313E, 622 },
+ { 0x3144, 625 },
+ { 0x2F81, 628 },
+ { 0x2F8A, 631 },
+ { 0x2F7A, 634 },
+ { 0x2F87, 637 },
+ { 0x2F8E, 640 },
+ { 0x2E8B, 643 },
+ { 0x2F4B, 646 },
+ { 0x2F47, 649 },
+ { 0x2F4E, 652 },
+ { 0x2F52, 655 },
+ { 0x2F58, 658 },
+ { 0x305C, 661 },
+ { 0x3068, 664 },
+ { 0x3054, 667 },
+ { 0x3064, 670 },
+ { 0x306C, 673 },
+ { 0x30EB, 676 },
+ { 0x30F6, 679 },
+ { 0x30F3, 682 },
+ { 0x2E7E, 685 },
+ { 0x2E7B, 688 },
+ { 0x2E78, 691 },
+ { 0x2E79, 694 },
+ { 0x325A, 697 },
+ { 0x3266, 700 },
+ { 0x326A, 703 },
+ { 0x3270, 706 },
+ { 0x3079, 709 },
+ { 0x3084, 712 },
+ { 0x3072, 715 },
+ { 0x3080, 718 },
+ { 0x3088, 721 },
+ { 0x3039, 724 },
+ { 0x3044, 727 },
+ { 0x3031, 730 },
+ { 0x3041, 733 },
+ { 0x3048, 736 },
+ { 0x304E, 739 },
+ { 0x2F2F, 742 },
+ { 0x2F3A, 745 },
+ { 0x2F28, 748 },
+ { 0x2F37, 751 },
+ { 0x2F3D, 754 },
+ { 0x2F43, 757 },
+ { 0x2FFD, 760 },
+ { 0x3007, 763 },
+ { 0x2FF7, 766 },
+ { 0x3004, 769 },
+ { 0x300B, 772 },
+ { 0x2E8A, 775 },
+ { 0x2E87, 778 },
+ { 0x2E88, 781 },
+ { 0x2EB9, 784 },
+ { 0x2EB2, 787 },
+ { 0x2EC0, 790 },
+ { 0x2EC4, 793 },
+ { 0x2ECA, 796 },
+ { 0x3276, 799 },
+ { 0x3282, 802 },
+ { 0x3286, 805 },
+ { 0x328C, 808 },
+ { 0x3240, 811 },
+ { 0x324A, 814 },
+ { 0x3247, 817 },
+ { 0x324E, 820 },
+ { 0x3254, 823 },
+ { 0x318A, 826 },
+ { 0x3194, 829 },
+ { 0x3183, 832 },
+ { 0x3191, 835 },
+ { 0x3198, 838 },
+ { 0x319E, 841 },
+ { 0x2F9B, 844 },
+ { 0x2FA6, 847 },
+ { 0x2F94, 850 },
+ { 0x2FA3, 853 },
+ { 0x2FAA, 856 },
+ { 0x2E85, 859 },
+ { 0x2F64, 862 },
+ { 0x2F5C, 865 },
+ { 0x2F68, 868 },
+ { 0x2F6E, 871 },
+ { 0x2F74, 874 },
+ { 0x30FA, 877 },
+ { 0x3103, 880 },
+ { 0x3100, 883 },
+ { 0x2E8D, 886 },
+ { 0x32D7, 889 },
+ { 0x32E1, 892 },
+ { 0x32E5, 895 },
+ { 0x32EB, 898 },
+ { 0x32F7, 901 },
+ { 0x32FB, 904 },
+ { 0x3301, 907 },
+ { 0x310E, 910 },
+ { 0x3118, 913 },
+ { 0x3107, 916 },
+ { 0x3115, 919 },
+ { 0x311C, 922 },
+ { 0x3122, 925 },
+ { 0x2E99, 928 },
+ { 0x2E96, 931 },
+ { 0x2E97, 934 },
+ { 0x2ED8, 937 },
+ { 0x2EE2, 940 },
+ { 0x2ED0, 943 },
+ { 0x2EDF, 946 },
+ { 0x2EE6, 949 },
+ { 0x2EEC, 952 },
+ { 0x2EA3, 955 },
+ { 0x2EA1, 958 },
+ { 0x2E94, 961 },
+ { 0x2E91, 964 },
+ { 0x2E8E, 967 },
+ { 0x2E8F, 970 },
+ { 0x2EA0, 973 },
+ { 0x2E9D, 976 },
+ { 0x2E9E, 979 },
+ { 0x2E9B, 982 },
+ { 0x2EA7, 985 },
+ { 0x2EA9, 988 },
+ { 0x2EA4, 991 },
+ { 0x2EA5, 994 },
+ { 0x2EAD, 997 },
+ { 0x2EAF, 1000 },
+ { 0x2EAA, 1003 },
+ { 0x2EAB, 1006 },
+ { 0x3131, 1009 },
+ { 0x312E, 1012 },
+ { 0x312F, 1015 },
+ { 0x313B, 1018 },
+ { 0x3139, 1021 },
+ { 0x31DB, 1024 },
+ { 0x31E7, 1027 },
+ { 0x31E3, 1030 },
+ { 0x31EA, 1033 },
+ { 0x31F0, 1036 },
+ { 0x312C, 1039 },
+ { 0x3129, 1042 },
+ { 0x3126, 1045 },
+ { 0x3127, 1048 },
+ { 0x3138, 1051 },
+ { 0x3135, 1054 },
+ { 0x3136, 1057 },
+ { 0x3133, 1060 },
+ { 0x313F, 1063 },
+ { 0x3141, 1066 },
+ { 0x313C, 1069 },
+ { 0x313D, 1072 },
+ { 0x3145, 1075 },
+ { 0x3147, 1078 },
+ { 0x3142, 1081 },
+ { 0x3143, 1084 },
+ { 0x2F82, 1087 },
+ { 0x2F7F, 1090 },
+ { 0x2F80, 1093 },
+ { 0x2FB7, 1096 },
+ { 0x2FC1, 1099 },
+ { 0x2FB0, 1102 },
+ { 0x2FBE, 1105 },
+ { 0x2FC5, 1108 },
+ { 0x2F8B, 1111 },
+ { 0x2F89, 1114 },
+ { 0x2F7D, 1117 },
+ { 0x2F7B, 1120 },
+ { 0x2F78, 1123 },
+ { 0x2F79, 1126 },
+ { 0x2F88, 1129 },
+ { 0x2F85, 1132 },
+ { 0x2F86, 1135 },
+ { 0x2F84, 1138 },
+ { 0x2F8F, 1141 },
+ { 0x2F91, 1144 },
+ { 0x2F8C, 1147 },
+ { 0x2F8D, 1150 },
+ { 0x2F4C, 1153 },
+ { 0x2F49, 1156 },
+ { 0x2F4A, 1159 },
+ { 0x2F48, 1162 },
+ { 0x2F45, 1165 },
+ { 0x2F46, 1168 },
+ { 0x2F4F, 1171 },
+ { 0x2F4D, 1174 },
+ { 0x2F53, 1177 },
+ { 0x2F55, 1180 },
+ { 0x2F50, 1183 },
+ { 0x2F51, 1186 },
+ { 0x2F59, 1189 },
+ { 0x2F56, 1192 },
+ { 0x2F57, 1195 },
+ { 0x305D, 1198 },
+ { 0x305A, 1201 },
+ { 0x305B, 1204 },
+ { 0x3069, 1207 },
+ { 0x3066, 1210 },
+ { 0x3067, 1213 },
+ { 0x3094, 1216 },
+ { 0x30A0, 1219 },
+ { 0x308E, 1222 },
+ { 0x309C, 1225 },
+ { 0x30A4, 1228 },
+ { 0x3058, 1231 },
+ { 0x3055, 1234 },
+ { 0x3052, 1237 },
+ { 0x3053, 1240 },
+ { 0x3065, 1243 },
+ { 0x3062, 1246 },
+ { 0x3063, 1249 },
+ { 0x3060, 1252 },
+ { 0x306D, 1255 },
+ { 0x306F, 1258 },
+ { 0x306A, 1261 },
+ { 0x306B, 1264 },
+ { 0x30EC, 1267 },
+ { 0x30E9, 1270 },
+ { 0x30EA, 1273 },
+ { 0x30F7, 1276 },
+ { 0x30F5, 1279 },
+ { 0x30E8, 1282 },
+ { 0x30E6, 1285 },
+ { 0x3018, 1288 },
+ { 0x3021, 1291 },
+ { 0x3011, 1294 },
+ { 0x301E, 1297 },
+ { 0x3025, 1300 },
+ { 0x302B, 1303 },
+ { 0x2F12, 1306 },
+ { 0x2F0B, 1309 },
+ { 0x2F19, 1312 },
+ { 0x2F1D, 1315 },
+ { 0x2F22, 1318 },
+ { 0x2FEA, 1321 },
+ { 0x2FF2, 1324 },
+ { 0x2FE2, 1327 },
+ { 0x30F4, 1330 },
+ { 0x30F1, 1333 },
+ { 0x30F2, 1336 },
+ { 0x30EF, 1339 },
+ { 0x30C8, 1342 },
+ { 0x30D3, 1345 },
+ { 0x30C0, 1348 },
+ { 0x30D0, 1351 },
+ { 0x2E7F, 1354 },
+ { 0x2E7C, 1357 },
+ { 0x2E7D, 1360 },
+ { 0x325E, 1363 },
+ { 0x325B, 1366 },
+ { 0x3258, 1369 },
+ { 0x3259, 1372 },
+ { 0x3292, 1375 },
+ { 0x329D, 1378 },
+ { 0x32A1, 1381 },
+ { 0x32A7, 1384 },
+ { 0x3267, 1387 },
+ { 0x3264, 1390 },
+ { 0x3265, 1393 },
+ { 0x3262, 1396 },
+ { 0x326B, 1399 },
+ { 0x326D, 1402 },
+ { 0x3268, 1405 },
+ { 0x3269, 1408 },
+ { 0x3271, 1411 },
+ { 0x3273, 1414 },
+ { 0x326E, 1417 },
+ { 0x326F, 1420 },
+ { 0x307A, 1423 },
+ { 0x3077, 1426 },
+ { 0x3078, 1429 },
+ { 0x3085, 1432 },
+ { 0x3082, 1435 },
+ { 0x3083, 1438 },
+ { 0x3075, 1441 },
+ { 0x3073, 1444 },
+ { 0x3070, 1447 },
+ { 0x3071, 1450 },
+ { 0x3081, 1453 },
+ { 0x307E, 1456 },
+ { 0x307F, 1459 },
+ { 0x307C, 1462 },
+ { 0x3089, 1465 },
+ { 0x308B, 1468 },
+ { 0x3086, 1471 },
+ { 0x3087, 1474 },
+ { 0x303A, 1477 },
+ { 0x3037, 1480 },
+ { 0x3038, 1483 },
+ { 0x3045, 1486 },
+ { 0x3043, 1489 },
+ { 0x3035, 1492 },
+ { 0x3032, 1495 },
+ { 0x302F, 1498 },
+ { 0x3030, 1501 },
+ { 0x3042, 1504 },
+ { 0x303F, 1507 },
+ { 0x3040, 1510 },
+ { 0x303D, 1513 },
+ { 0x3049, 1516 },
+ { 0x304B, 1519 },
+ { 0x3046, 1522 },
+ { 0x3047, 1525 },
+ { 0x304F, 1528 },
+ { 0x3051, 1531 },
+ { 0x304C, 1534 },
+ { 0x304D, 1537 },
+ { 0x2F30, 1540 },
+ { 0x2F2D, 1543 },
+ { 0x2F2E, 1546 },
+ { 0x2F39, 1549 },
+ { 0x30AC, 1552 },
+ { 0x30B6, 1555 },
+ { 0x30B3, 1558 },
+ { 0x30BA, 1561 },
+ { 0x2F2B, 1564 },
+ { 0x2F29, 1567 },
+ { 0x2F26, 1570 },
+ { 0x2F27, 1573 },
+ { 0x2F38, 1576 },
+ { 0x2F35, 1579 },
+ { 0x2F36, 1582 },
+ { 0x2F33, 1585 },
+ { 0x2F3E, 1588 },
+ { 0x2F40, 1591 },
+ { 0x2F3B, 1594 },
+ { 0x2F3C, 1597 },
+ { 0x2F44, 1600 },
+ { 0x2F41, 1603 },
+ { 0x2F42, 1606 },
+ { 0x2FFE, 1609 },
+ { 0x2FFC, 1612 },
+ { 0x2EF7, 1615 },
+ { 0x2EF0, 1618 },
+ { 0x2EFB, 1621 },
+ { 0x2EFF, 1624 },
+ { 0x2F05, 1627 },
+ { 0x2FD1, 1630 },
+ { 0x2FD8, 1633 },
+ { 0x2FCB, 1636 },
+ { 0x2FD5, 1639 },
+ { 0x2FDC, 1642 },
+ { 0x3008, 1645 },
+ { 0x3006, 1648 },
+ { 0x30DA, 1651 },
+ { 0x30E4, 1654 },
+ { 0x30E1, 1657 },
+ { 0x2FFA, 1660 },
+ { 0x2FF8, 1663 },
+ { 0x2FF5, 1666 },
+ { 0x2FF6, 1669 },
+ { 0x32AB, 1672 },
+ { 0x32B5, 1675 },
+ { 0x32B8, 1678 },
+ { 0x32BE, 1681 },
+ { 0x3005, 1684 },
+ { 0x3002, 1687 },
+ { 0x3003, 1690 },
+ { 0x320E, 1693 },
+ { 0x3215, 1696 },
+ { 0x3211, 1699 },
+ { 0x3219, 1702 },
+ { 0x321F, 1705 },
+ { 0x3000, 1708 },
+ { 0x300C, 1711 },
+ { 0x300E, 1714 },
+ { 0x3009, 1717 },
+ { 0x300A, 1720 },
+ { 0x32C4, 1723 },
+ { 0x32CF, 1726 },
+ { 0x32D3, 1729 },
+ { 0x316E, 1732 },
+ { 0x3175, 1735 },
+ { 0x3167, 1738 },
+ { 0x3177, 1741 },
+ { 0x317D, 1744 },
+ { 0x2EBA, 1747 },
+ { 0x2EB7, 1750 },
+ { 0x2EB8, 1753 },
+ { 0x2EB5, 1756 },
+ { 0x2EB3, 1759 },
+ { 0x2EB0, 1762 },
+ { 0x2EB1, 1765 },
+ { 0x2EC1, 1768 },
+ { 0x2EBE, 1771 },
+ { 0x2EBF, 1774 },
+ { 0x2EBC, 1777 },
+ { 0x2EC5, 1780 },
+ { 0x2EC7, 1783 },
+ { 0x2EC2, 1786 },
+ { 0x2EC3, 1789 },
+ { 0x2ECB, 1792 },
+ { 0x2ECD, 1795 },
+ { 0x2EC8, 1798 },
+ { 0x2EC9, 1801 },
+ { 0x327A, 1804 },
+ { 0x3277, 1807 },
+ { 0x3274, 1810 },
+ { 0x3275, 1813 },
+ { 0x3283, 1816 },
+ { 0x3280, 1819 },
+ { 0x3281, 1822 },
+ { 0x327E, 1825 },
+ { 0x3287, 1828 },
+ { 0x3289, 1831 },
+ { 0x3284, 1834 },
+ { 0x3285, 1837 },
+ { 0x328D, 1840 },
+ { 0x328F, 1843 },
+ { 0x328A, 1846 },
+ { 0x328B, 1849 },
+ { 0x3241, 1852 },
+ { 0x323E, 1855 },
+ { 0x323F, 1858 },
+ { 0x324B, 1861 },
+ { 0x3249, 1864 },
+ { 0x3248, 1867 },
+ { 0x3245, 1870 },
+ { 0x3246, 1873 },
+ { 0x31F5, 1876 },
+ { 0x31FE, 1879 },
+ { 0x31FA, 1882 },
+ { 0x3202, 1885 },
+ { 0x3208, 1888 },
+ { 0x3243, 1891 },
+ { 0x324F, 1894 },
+ { 0x3251, 1897 },
+ { 0x324C, 1900 },
+ { 0x324D, 1903 },
+ { 0x3255, 1906 },
+ { 0x3257, 1909 },
+ { 0x3252, 1912 },
+ { 0x3253, 1915 },
+ { 0x318B, 1918 },
+ { 0x3188, 1921 },
+ { 0x3189, 1924 },
+ { 0x3195, 1927 },
+ { 0x3193, 1930 },
+ { 0x3225, 1933 },
+ { 0x3230, 1936 },
+ { 0x322C, 1939 },
+ { 0x3234, 1942 },
+ { 0x323A, 1945 },
+ { 0x3186, 1948 },
+ { 0x3184, 1951 },
+ { 0x3181, 1954 },
+ { 0x3182, 1957 },
+ { 0x3192, 1960 },
+ { 0x318F, 1963 },
+ { 0x3190, 1966 },
+ { 0x31AB, 1969 },
+ { 0x31B2, 1972 },
+ { 0x31A4, 1975 },
+ { 0x31AF, 1978 },
+ { 0x31B6, 1981 },
+ { 0x31BA, 1984 },
+ { 0x318D, 1987 },
+ { 0x3199, 1990 },
+ { 0x319B, 1993 },
+ { 0x3196, 1996 },
+ { 0x3197, 1999 },
+ { 0x319F, 2002 },
+ { 0x31A1, 2005 },
+ { 0x319C, 2008 },
+ { 0x319D, 2011 },
+ { 0x2F9C, 2014 },
+ { 0x2F99, 2017 },
+ { 0x2F9A, 2020 },
+ { 0x2FA7, 2023 },
+ { 0x2FA5, 2026 },
+ { 0x2F97, 2029 },
+ { 0x2F95, 2032 },
+ { 0x2F92, 2035 },
+ { 0x2F93, 2038 },
+ { 0x2FA4, 2041 },
+ { 0x2FA1, 2044 },
+ { 0x2FA2, 2047 },
+ { 0x2F9F, 2050 },
+ { 0x2FAB, 2053 },
+ { 0x2FAD, 2056 },
+ { 0x2FA8, 2059 },
+ { 0x2FA9, 2062 },
+ { 0x2E86, 2065 },
+ { 0x2E84, 2068 },
+ { 0x2F65, 2071 },
+ { 0x2F62, 2074 },
+ { 0x2F63, 2077 },
+ { 0x2F6B, 2080 },
+ { 0x2F6A, 2083 },
+ { 0x2F60, 2086 },
+ { 0x2F5D, 2089 },
+ { 0x2F5A, 2092 },
+ { 0x2F5B, 2095 },
+ { 0x2F69, 2098 },
+ { 0x2F66, 2101 },
+ { 0x2F67, 2104 },
+ { 0x2F6F, 2107 },
+ { 0x2F71, 2110 },
+ { 0x2F6C, 2113 },
+ { 0x2F6D, 2116 },
+ { 0x2F75, 2119 },
+ { 0x2F77, 2122 },
+ { 0x2F72, 2125 },
+ { 0x2F73, 2128 },
+ { 0x30FB, 2131 },
+ { 0x30F8, 2134 },
+ { 0x30F9, 2137 },
+ { 0x3104, 2140 },
+ { 0x3102, 2143 },
+ { 0x3101, 2146 },
+ { 0x30FF, 2149 },
+ { 0x30FD, 2152 },
+ { 0x32DB, 2155 },
+ { 0x32D8, 2158 },
+ { 0x32D5, 2161 },
+ { 0x32D6, 2164 },
+ { 0x32E2, 2167 },
+ { 0x32DF, 2170 },
+ { 0x32E0, 2173 },
+ { 0x32DE, 2176 },
+ { 0x32E6, 2179 },
+ { 0x32E8, 2182 },
+ { 0x32E3, 2185 },
+ { 0x32E4, 2188 },
+ { 0x32EF, 2191 },
+ { 0x32EC, 2194 },
+ { 0x32E9, 2197 },
+ { 0x32EA, 2200 },
+ { 0x32F8, 2203 },
+ { 0x32F5, 2206 },
+ { 0x32F6, 2209 },
+ { 0x32F3, 2212 },
+ { 0x32FC, 2215 },
+ { 0x32FE, 2218 },
+ { 0x32F9, 2221 },
+ { 0x32FA, 2224 },
+ { 0x3302, 2227 },
+ { 0x3304, 2230 },
+ { 0x32FF, 2233 },
+ { 0x3300, 2236 },
+ { 0x310F, 2239 },
+ { 0x310C, 2242 },
+ { 0x310D, 2245 },
+ { 0x3119, 2248 },
+ { 0x3117, 2251 },
+ { 0x31C0, 2254 },
+ { 0x31CB, 2257 },
+ { 0x31C7, 2260 },
+ { 0x31CF, 2263 },
+ { 0x31D5, 2266 },
+ { 0x310A, 2269 },
+ { 0x3108, 2272 },
+ { 0x3105, 2275 },
+ { 0x3106, 2278 },
+ { 0x3116, 2281 },
+ { 0x3113, 2284 },
+ { 0x3114, 2287 },
+ { 0x3111, 2290 },
+ { 0x311D, 2293 },
+ { 0x311F, 2296 },
+ { 0x311A, 2299 },
+ { 0x311B, 2302 },
+ { 0x3123, 2305 },
+ { 0x3125, 2308 },
+ { 0x3120, 2311 },
+ { 0x3121, 2314 },
+ { 0x3152, 2317 },
+ { 0x3158, 2320 },
+ { 0x314A, 2323 },
+ { 0x3155, 2326 },
+ { 0x315B, 2329 },
+ { 0x3161, 2332 },
+ { 0x2ED9, 2335 },
+ { 0x2ED6, 2338 },
+ { 0x2ED7, 2341 },
+ { 0x2EE3, 2344 },
+ { 0x2EE1, 2347 },
+ { 0x2ED4, 2350 },
+ { 0x2ED1, 2353 },
+ { 0x2ECE, 2356 },
+ { 0x2ECF, 2359 },
+ { 0x2EE0, 2362 },
+ { 0x2EDD, 2365 },
+ { 0x2EDE, 2368 },
+ { 0x2EDB, 2371 },
+ { 0x2EE7, 2374 },
+ { 0x2EE9, 2377 },
+ { 0x2EE4, 2380 },
+ { 0x2EE5, 2383 },
+ { 0x2EED, 2386 },
+ { 0x2EEA, 2389 },
+ { 0x2EEB, 2392 },
+ { 0x2E95, 2395 },
+ { 0x2E92, 2398 },
+ { 0x2E93, 2401 },
+ { 0x2E9C, 2404 },
+ { 0x2E9A, 2407 },
+ { 0x2EA8, 2410 },
+ { 0x2EAE, 2413 },
+ { 0x31DC, 2416 },
+ { 0x31D9, 2419 },
+ { 0x31DA, 2422 },
+ { 0x31E8, 2425 },
+ { 0x31E5, 2428 },
+ { 0x31E6, 2431 },
+ { 0x31E4, 2434 },
+ { 0x31E1, 2437 },
+ { 0x31E2, 2440 },
+ { 0x31DF, 2443 },
+ { 0x31EB, 2446 },
+ { 0x31ED, 2449 },
+ { 0x31E9, 2452 },
+ { 0x31F1, 2455 },
+ { 0x31F3, 2458 },
+ { 0x31EE, 2461 },
+ { 0x31EF, 2464 },
+ { 0x312D, 2467 },
+ { 0x312A, 2470 },
+ { 0x312B, 2473 },
+ { 0x3134, 2476 },
+ { 0x3132, 2479 },
+ { 0x3140, 2482 },
+ { 0x3146, 2485 },
+ { 0x2FB8, 2488 },
+ { 0x2FB5, 2491 },
+ { 0x2FB6, 2494 },
+ { 0x2FC2, 2497 },
+ { 0x2FC0, 2500 },
+ { 0x2FB3, 2503 },
+ { 0x2FB1, 2506 },
+ { 0x2FAE, 2509 },
+ { 0x2FAF, 2512 },
+ { 0x2FBF, 2515 },
+ { 0x2FBC, 2518 },
+ { 0x2FBD, 2521 },
+ { 0x2FBA, 2524 },
+ { 0x2FC6, 2527 },
+ { 0x2FC8, 2530 },
+ { 0x2FC3, 2533 },
+ { 0x2FC4, 2536 },
+ { 0x2F7E, 2539 },
+ { 0x2F7C, 2542 },
+ { 0x2F83, 2545 },
+ { 0x2F90, 2548 },
+ { 0x2F54, 2551 },
+ { 0x3095, 2554 },
+ { 0x3092, 2557 },
+ { 0x3093, 2560 },
+ { 0x30A1, 2563 },
+ { 0x309E, 2566 },
+ { 0x309F, 2569 },
+ { 0x3090, 2572 },
+ { 0x308C, 2575 },
+ { 0x308D, 2578 },
+ { 0x309D, 2581 },
+ { 0x309A, 2584 },
+ { 0x309B, 2587 },
+ { 0x3098, 2590 },
+ { 0x30A5, 2593 },
+ { 0x30A7, 2596 },
+ { 0x30A2, 2599 },
+ { 0x30A3, 2602 },
+ { 0x3059, 2605 },
+ { 0x3056, 2608 },
+ { 0x3057, 2611 },
+ { 0x3061, 2614 },
+ { 0x305E, 2617 },
+ { 0x305F, 2620 },
+ { 0x306E, 2623 },
+ { 0x30E7, 2626 },
+ { 0x3019, 2629 },
+ { 0x3016, 2632 },
+ { 0x3017, 2635 },
+ { 0x3022, 2638 },
+ { 0x3020, 2641 },
+ { 0x3014, 2644 },
+ { 0x3012, 2647 },
+ { 0x300F, 2650 },
+ { 0x3010, 2653 },
+ { 0x301F, 2656 },
+ { 0x301D, 2659 },
+ { 0x301B, 2662 },
+ { 0x3026, 2665 },
+ { 0x3028, 2668 },
+ { 0x3023, 2671 },
+ { 0x3024, 2674 },
+ { 0x302C, 2677 },
+ { 0x302E, 2680 },
+ { 0x3029, 2683 },
+ { 0x302A, 2686 },
+ { 0x2F13, 2689 },
+ { 0x2F10, 2692 },
+ { 0x2F11, 2695 },
+ { 0x2F0E, 2698 },
+ { 0x2F0C, 2701 },
+ { 0x2F09, 2704 },
+ { 0x2F0A, 2707 },
+ { 0x2F1A, 2710 },
+ { 0x2F17, 2713 },
+ { 0x2F18, 2716 },
+ { 0x2F15, 2719 },
+ { 0x2F1E, 2722 },
+ { 0x2F20, 2725 },
+ { 0x2F1B, 2728 },
+ { 0x2F1C, 2731 },
+ { 0x2F23, 2734 },
+ { 0x2F25, 2737 },
+ { 0x2F21, 2740 },
+ { 0x2FEB, 2743 },
+ { 0x2FE8, 2746 },
+ { 0x2FE9, 2749 },
+ { 0x2FF3, 2752 },
+ { 0x2FF1, 2755 },
+ { 0x2FE6, 2758 },
+ { 0x2FE3, 2761 },
+ { 0x2FE0, 2764 },
+ { 0x2FE1, 2767 },
+ { 0x2FF0, 2770 },
+ { 0x2FEE, 2773 },
+ { 0x2FEF, 2776 },
+ { 0x2FED, 2779 },
+ { 0x2FF4, 2782 },
+ { 0x30F0, 2785 },
+ { 0x30ED, 2788 },
+ { 0x30EE, 2791 },
+ { 0x30C9, 2794 },
+ { 0x30C6, 2797 },
+ { 0x30C7, 2800 },
+ { 0x30D4, 2803 },
+ { 0x30D2, 2806 },
+ { 0x30C4, 2809 },
+ { 0x30C1, 2812 },
+ { 0x30BE, 2815 },
+ { 0x30BF, 2818 },
+ { 0x30D1, 2821 },
+ { 0x30CE, 2824 },
+ { 0x30CF, 2827 },
+ { 0x30CC, 2830 },
+ { 0x325F, 2833 },
+ { 0x325C, 2836 },
+ { 0x325D, 2839 },
+ { 0x3296, 2842 },
+ { 0x3293, 2845 },
+ { 0x3290, 2848 },
+ { 0x3291, 2851 },
+ { 0x329E, 2854 },
+ { 0x329B, 2857 },
+ { 0x329C, 2860 },
+ { 0x3299, 2863 },
+ { 0x32A2, 2866 },
+ { 0x32A4, 2869 },
+ { 0x329F, 2872 },
+ { 0x32A0, 2875 },
+ { 0x32A8, 2878 },
+ { 0x32A5, 2881 },
+ { 0x32A6, 2884 },
+ { 0x3263, 2887 },
+ { 0x3260, 2890 },
+ { 0x3261, 2893 },
+ { 0x326C, 2896 },
+ { 0x3272, 2899 },
+ { 0x3076, 2902 },
+ { 0x3074, 2905 },
+ { 0x307D, 2908 },
+ { 0x307B, 2911 },
+ { 0x308A, 2914 },
+ { 0x3036, 2917 },
+ { 0x3033, 2920 },
+ { 0x3034, 2923 },
+ { 0x303E, 2926 },
+ { 0x303B, 2929 },
+ { 0x303C, 2932 },
+ { 0x304A, 2935 },
+ { 0x3050, 2938 },
+ { 0x30AD, 2941 },
+ { 0x30AA, 2944 },
+ { 0x30AB, 2947 },
+ { 0x30B7, 2950 },
+ { 0x30B5, 2953 },
+ { 0x30A9, 2956 },
+ { 0x30B4, 2959 },
+ { 0x30B1, 2962 },
+ { 0x30B2, 2965 },
+ { 0x30AF, 2968 },
+ { 0x30BB, 2971 },
+ { 0x30BD, 2974 },
+ { 0x30B8, 2977 },
+ { 0x30B9, 2980 },
+ { 0x2F2C, 2983 },
+ { 0x2F2A, 2986 },
+ { 0x2F34, 2989 },
+ { 0x2F31, 2992 },
+ { 0x2F32, 2995 },
+ { 0x2F3F, 2998 },
+ { 0x2EF8, 3001 },
+ { 0x2EF5, 3004 },
+ { 0x2EF6, 3007 },
+ { 0x2EF3, 3010 },
+ { 0x2EF1, 3013 },
+ { 0x2EEE, 3016 },
+ { 0x2EEF, 3019 },
+ { 0x2EFC, 3022 },
+ { 0x2EF9, 3025 },
+ { 0x2EFA, 3028 },
+ { 0x2F00, 3031 },
+ { 0x2F02, 3034 },
+ { 0x2EFD, 3037 },
+ { 0x2EFE, 3040 },
+ { 0x2F06, 3043 },
+ { 0x2F08, 3046 },
+ { 0x2F03, 3049 },
+ { 0x2F04, 3052 },
+ { 0x2FD2, 3055 },
+ { 0x2FCF, 3058 },
+ { 0x2FD0, 3061 },
+ { 0x2FD9, 3064 },
+ { 0x2FD7, 3067 },
+ { 0x2FCE, 3070 },
+ { 0x2FCC, 3073 },
+ { 0x2FC9, 3076 },
+ { 0x2FCA, 3079 },
+ { 0x2FD6, 3082 },
+ { 0x2FD3, 3085 },
+ { 0x2FD4, 3088 },
+ { 0x2FDD, 3091 },
+ { 0x2FDF, 3094 },
+ { 0x2FDA, 3097 },
+ { 0x2FDB, 3100 },
+ { 0x30DB, 3103 },
+ { 0x30D8, 3106 },
+ { 0x30D9, 3109 },
+ { 0x30E5, 3112 },
+ { 0x30E3, 3115 },
+ { 0x30D6, 3118 },
+ { 0x30E2, 3121 },
+ { 0x30DF, 3124 },
+ { 0x30E0, 3127 },
+ { 0x30DE, 3130 },
+ { 0x2FFB, 3133 },
+ { 0x2FF9, 3136 },
+ { 0x32AF, 3139 },
+ { 0x32AC, 3142 },
+ { 0x32A9, 3145 },
+ { 0x32AA, 3148 },
+ { 0x32B6, 3151 },
+ { 0x32B3, 3154 },
+ { 0x32B4, 3157 },
+ { 0x32B2, 3160 },
+ { 0x32B9, 3163 },
+ { 0x32BB, 3166 },
+ { 0x32B7, 3169 },
+ { 0x32BF, 3172 },
+ { 0x32C1, 3175 },
+ { 0x32BC, 3178 },
+ { 0x32BD, 3181 },
+ { 0x320F, 3184 },
+ { 0x320C, 3187 },
+ { 0x320D, 3190 },
+ { 0x3216, 3193 },
+ { 0x3213, 3196 },
+ { 0x3214, 3199 },
+ { 0x3212, 3202 },
+ { 0x3210, 3205 },
+ { 0x321A, 3208 },
+ { 0x321C, 3211 },
+ { 0x3217, 3214 },
+ { 0x3218, 3217 },
+ { 0x3220, 3220 },
+ { 0x3222, 3223 },
+ { 0x321D, 3226 },
+ { 0x321E, 3229 },
+ { 0x3001, 3232 },
+ { 0x2FFF, 3235 },
+ { 0x300D, 3238 },
+ { 0x32C8, 3241 },
+ { 0x32C5, 3244 },
+ { 0x32C2, 3247 },
+ { 0x32C3, 3250 },
+ { 0x32D0, 3253 },
+ { 0x32CD, 3256 },
+ { 0x32CE, 3259 },
+ { 0x32CB, 3262 },
+ { 0x32D4, 3265 },
+ { 0x32D1, 3268 },
+ { 0x32D2, 3271 },
+ { 0x316F, 3274 },
+ { 0x316C, 3277 },
+ { 0x316D, 3280 },
+ { 0x3174, 3283 },
+ { 0x316A, 3286 },
+ { 0x3168, 3289 },
+ { 0x3165, 3292 },
+ { 0x3166, 3295 },
+ { 0x3173, 3298 },
+ { 0x3172, 3301 },
+ { 0x3171, 3304 },
+ { 0x3178, 3307 },
+ { 0x317A, 3310 },
+ { 0x3176, 3313 },
+ { 0x317E, 3316 },
+ { 0x3180, 3319 },
+ { 0x317B, 3322 },
+ { 0x317C, 3325 },
+ { 0x2EB6, 3328 },
+ { 0x2EB4, 3331 },
+ { 0x2EBD, 3334 },
+ { 0x2EBB, 3337 },
+ { 0x2EC6, 3340 },
+ { 0x2ECC, 3343 },
+ { 0x327B, 3346 },
+ { 0x3278, 3349 },
+ { 0x3279, 3352 },
+ { 0x327F, 3355 },
+ { 0x327C, 3358 },
+ { 0x327D, 3361 },
+ { 0x3288, 3364 },
+ { 0x328E, 3367 },
+ { 0x31F4, 3370 },
+ { 0x31FF, 3373 },
+ { 0x31FC, 3376 },
+ { 0x31FD, 3379 },
+ { 0x31FB, 3382 },
+ { 0x31F8, 3385 },
+ { 0x31F9, 3388 },
+ { 0x31F7, 3391 },
+ { 0x3203, 3394 },
+ { 0x3205, 3397 },
+ { 0x3200, 3400 },
+ { 0x3201, 3403 },
+ { 0x3209, 3406 },
+ { 0x320B, 3409 },
+ { 0x3206, 3412 },
+ { 0x3207, 3415 },
+ { 0x3244, 3418 },
+ { 0x3242, 3421 },
+ { 0x3250, 3424 },
+ { 0x3256, 3427 },
+ { 0x3226, 3430 },
+ { 0x3223, 3433 },
+ { 0x3224, 3436 },
+ { 0x3231, 3439 },
+ { 0x322E, 3442 },
+ { 0x322F, 3445 },
+ { 0x322D, 3448 },
+ { 0x322A, 3451 },
+ { 0x322B, 3454 },
+ { 0x3228, 3457 },
+ { 0x3235, 3460 },
+ { 0x3237, 3463 },
+ { 0x3232, 3466 },
+ { 0x3233, 3469 },
+ { 0x323B, 3472 },
+ { 0x323D, 3475 },
+ { 0x3238, 3478 },
+ { 0x3239, 3481 },
+ { 0x3187, 3484 },
+ { 0x3185, 3487 },
+ { 0x31AC, 3490 },
+ { 0x31A9, 3493 },
+ { 0x31AA, 3496 },
+ { 0x31B3, 3499 },
+ { 0x31B1, 3502 },
+ { 0x31A7, 3505 },
+ { 0x31A5, 3508 },
+ { 0x31A2, 3511 },
+ { 0x31A3, 3514 },
+ { 0x31B0, 3517 },
+ { 0x31AD, 3520 },
+ { 0x31AE, 3523 },
+ { 0x31B7, 3526 },
+ { 0x31B4, 3529 },
+ { 0x31B5, 3532 },
+ { 0x31BB, 3535 },
+ { 0x31BD, 3538 },
+ { 0x31B8, 3541 },
+ { 0x31B9, 3544 },
+ { 0x318E, 3547 },
+ { 0x318C, 3550 },
+ { 0x319A, 3553 },
+ { 0x31A0, 3556 },
+ { 0x2F98, 3559 },
+ { 0x2F96, 3562 },
+ { 0x2FA0, 3565 },
+ { 0x2F9D, 3568 },
+ { 0x2F9E, 3571 },
+ { 0x2FAC, 3574 },
+ { 0x2F61, 3577 },
+ { 0x2F5E, 3580 },
+ { 0x2F5F, 3583 },
+ { 0x2F70, 3586 },
+ { 0x2F76, 3589 },
+ { 0x30FE, 3592 },
+ { 0x30FC, 3595 },
+ { 0x32DC, 3598 },
+ { 0x32D9, 3601 },
+ { 0x32DA, 3604 },
+ { 0x32DD, 3607 },
+ { 0x32E7, 3610 },
+ { 0x32F0, 3613 },
+ { 0x32ED, 3616 },
+ { 0x32EE, 3619 },
+ { 0x32F4, 3622 },
+ { 0x32F1, 3625 },
+ { 0x32F2, 3628 },
+ { 0x32FD, 3631 },
+ { 0x3303, 3634 },
+ { 0x31C1, 3637 },
+ { 0x31BE, 3640 },
+ { 0x31BF, 3643 },
+ { 0x31CC, 3646 },
+ { 0x31C9, 3649 },
+ { 0x31CA, 3652 },
+ { 0x31C8, 3655 },
+ { 0x31C5, 3658 },
+ { 0x31C6, 3661 },
+ { 0x31C3, 3664 },
+ { 0x31D0, 3667 },
+ { 0x31D2, 3670 },
+ { 0x31CD, 3673 },
+ { 0x31CE, 3676 },
+ { 0x31D6, 3679 },
+ { 0x31D8, 3682 },
+ { 0x31D3, 3685 },
+ { 0x31D4, 3688 },
+ { 0x310B, 3691 },
+ { 0x3109, 3694 },
+ { 0x3112, 3697 },
+ { 0x3110, 3700 },
+ { 0x311E, 3703 },
+ { 0x3124, 3706 },
+ { 0x3153, 3709 },
+ { 0x3150, 3712 },
+ { 0x3151, 3715 },
+ { 0x3159, 3718 },
+ { 0x3157, 3721 },
+ { 0x314E, 3724 },
+ { 0x314B, 3727 },
+ { 0x3148, 3730 },
+ { 0x3149, 3733 },
+ { 0x3156, 3736 },
+ { 0x3154, 3739 },
+ { 0x315C, 3742 },
+ { 0x315E, 3745 },
+ { 0x315A, 3748 },
+ { 0x3162, 3751 },
+ { 0x3164, 3754 },
+ { 0x315F, 3757 },
+ { 0x3160, 3760 },
+ { 0x2ED5, 3763 },
+ { 0x2ED2, 3766 },
+ { 0x2ED3, 3769 },
+ { 0x2EDC, 3772 },
+ { 0x2EDA, 3775 },
+ { 0x2EE8, 3778 },
+ { 0x31E0, 3781 },
+ { 0x31DD, 3784 },
+ { 0x31DE, 3787 },
+ { 0x31EC, 3790 },
+ { 0x31F2, 3793 },
+ { 0x2FB4, 3796 },
+ { 0x2FB2, 3799 },
+ { 0x2FBB, 3802 },
+ { 0x2FB9, 3805 },
+ { 0x2FC7, 3808 },
+ { 0x3091, 3811 },
+ { 0x308F, 3814 },
+ { 0x3099, 3817 },
+ { 0x3096, 3820 },
+ { 0x3097, 3823 },
+ { 0x30A6, 3826 },
+ { 0x3015, 3829 },
+ { 0x3013, 3832 },
+ { 0x301C, 3835 },
+ { 0x301A, 3838 },
+ { 0x3027, 3841 },
+ { 0x302D, 3844 },
+ { 0x2F0F, 3847 },
+ { 0x2F0D, 3850 },
+ { 0x2F16, 3853 },
+ { 0x2F14, 3856 },
+ { 0x2F1F, 3859 },
+ { 0x2F24, 3862 },
+ { 0x2FE7, 3865 },
+ { 0x2FE4, 3868 },
+ { 0x2FE5, 3871 },
+ { 0x2FEC, 3874 },
+ { 0x30C5, 3877 },
+ { 0x30C2, 3880 },
+ { 0x30C3, 3883 },
+ { 0x30CD, 3886 },
+ { 0x30CA, 3889 },
+ { 0x30CB, 3892 },
+ { 0x3297, 3895 },
+ { 0x3294, 3898 },
+ { 0x3295, 3901 },
+ { 0x329A, 3904 },
+ { 0x3298, 3907 },
+ { 0x32A3, 3910 },
+ { 0x30A8, 3913 },
+ { 0x30B0, 3916 },
+ { 0x30AE, 3919 },
+ { 0x30BC, 3922 },
+ { 0x2EF4, 3925 },
+ { 0x2EF2, 3928 },
+ { 0x2F01, 3931 },
+ { 0x2F07, 3934 },
+ { 0x2FCD, 3937 },
+ { 0x2FDE, 3940 },
+ { 0x30D7, 3943 },
+ { 0x30D5, 3946 },
+ { 0x30DC, 3949 },
+ { 0x30DD, 3952 },
+ { 0x32B0, 3955 },
+ { 0x32AD, 3958 },
+ { 0x32AE, 3961 },
+ { 0x32B1, 3964 },
+ { 0x32BA, 3967 },
+ { 0x32C0, 3970 },
+ { 0x321B, 3973 },
+ { 0x3221, 3976 },
+ { 0x32C9, 3979 },
+ { 0x32C6, 3982 },
+ { 0x32C7, 3985 },
+ { 0x32CC, 3988 },
+ { 0x32CA, 3991 },
+ { 0x316B, 3994 },
+ { 0x3169, 3997 },
+ { 0x3170, 4000 },
+ { 0x3179, 4003 },
+ { 0x317F, 4006 },
+ { 0x31F6, 4009 },
+ { 0x3204, 4012 },
+ { 0x320A, 4015 },
+ { 0x3229, 4018 },
+ { 0x3227, 4021 },
+ { 0x3236, 4024 },
+ { 0x323C, 4027 },
+ { 0x31A8, 4030 },
+ { 0x31A6, 4033 },
+ { 0x31BC, 4036 },
+ { 0x31C4, 4039 },
+ { 0x31C2, 4042 },
+ { 0x31D1, 4045 },
+ { 0x31D7, 4048 },
+ { 0x314F, 4051 },
+ { 0x314C, 4054 },
+ { 0x314D, 4057 },
+ { 0x315D, 4060 },
+ { 0x3163, 4063 },
+ { 0x2E8D, 4066 },
+ { 0x2152, 4070 },
+ { 0x1DA5, 4072 },
+ { 0x1E87, 4075 },
+ { 0x05B2, 4077 },
+ { 0x22F7, 4078 },
+ { 0x6842, 4081 },
+ { 0x1EB6, 4082 },
+ { 0x1EAE, 4088 },
+ { 0x1EAA, 4094 },
+ { 0x1EBA, 4100 },
+ { 0x1ECB, 4106 },
+ { 0x1EAB, 4112 },
+ { 0x1EC4, 4117 },
+ { 0x1EBB, 4122 },
+ { 0x1EB4, 4127 },
+ { 0x1EBD, 4132 },
+ { 0x1ECD, 4137 },
+ { 0x1EBF, 4141 },
+ { 0x1EA7, 4147 },
+ { 0x1EA3, 4153 },
+ { 0x1ECA, 4159 },
+ { 0x1ECC, 4165 },
+ { 0x1ED1, 4169 },
+ { 0x1EC0, 4174 },
+ { 0x1EEE, 4180 },
+ { 0x1EAC, 4184 },
+ { 0x1EAD, 4190 },
+ { 0x1E94, 4195 },
+ { 0x1EC8, 4200 },
+ { 0x1EA5, 4206 },
+ { 0x1EB9, 4212 },
+ { 0x1EA6, 4217 },
+ { 0x1E91, 4222 },
+ { 0x1E9A, 4227 },
+ { 0x1E95, 4232 },
+ { 0x1E92, 4237 },
+ { 0x1E93, 4242 },
+ { 0x1EA9, 4247 },
+ { 0x1EC9, 4253 },
+ { 0x1E9B, 4258 },
+ { 0x1EB0, 4263 },
+ { 0x1EA0, 4269 },
+ { 0x1E9C, 4275 },
+ { 0x1EA1, 4280 },
+ { 0x1E9D, 4286 },
+ { 0x1EBC, 4291 },
+ { 0x1ED3, 4296 },
+ { 0x1ECF, 4300 },
+ { 0x1EC3, 4305 },
+ { 0x1EA4, 4310 },
+ { 0x1EB2, 4315 },
+ { 0x1ECE, 4320 },
+ { 0x1ED2, 4324 },
+ { 0x1EB7, 4329 },
+ { 0x1EB1, 4334 },
+ { 0x1E98, 4339 },
+ { 0x1EC6, 4344 },
+ { 0x1EC1, 4349 },
+ { 0x1EC5, 4354 },
+ { 0x1E97, 4358 },
+ { 0x1EB8, 4363 },
+ { 0x1E96, 4368 },
+ { 0x1EB5, 4373 },
+ { 0x1EA2, 4378 },
+ { 0x1EBE, 4383 },
+ { 0x1E8F, 4388 },
+ { 0x1E90, 4392 },
+ { 0x1EB3, 4397 },
+ { 0x1ED0, 4402 },
+ { 0x1EA8, 4407 },
+ { 0x1E99, 4412 },
+ { 0x1EAF, 4417 },
+ { 0x1E9E, 4422 },
+ { 0x1EC7, 4427 },
+ { 0x1E9F, 4432 },
+ { 0x1EC2, 4437 },
+ { 0x1E6B, 4442 },
+ { 0x68F0, 4443 },
+ { 0x6AF3, 4445 },
+ { 0x1C93, 4446 },
+ { 0x251F, 4448 },
+ { 0x251E, 4451 },
+ { 0x3D52, 4453 },
+ { 0x681F, 4454 },
+ { 0x2066, 4457 },
+ { 0x204C, 4465 },
+ { 0x2040, 4473 },
+ { 0x2044, 4480 },
+ { 0x203C, 4488 },
+ { 0x205E, 4495 },
+ { 0x206E, 4502 },
+ { 0x2050, 4510 },
+ { 0x203F, 4518 },
+ { 0x2048, 4525 },
+ { 0x203B, 4533 },
+ { 0x205D, 4540 },
+ { 0x2082, 4547 },
+ { 0x207F, 4554 },
+ { 0x208E, 4561 },
+ { 0x2081, 4568 },
+ { 0x207E, 4575 },
+ { 0x208D, 4582 },
+ { 0x2067, 4589 },
+ { 0x204D, 4597 },
+ { 0x2038, 4605 },
+ { 0x2045, 4612 },
+ { 0x2034, 4620 },
+ { 0x2056, 4627 },
+ { 0x206D, 4634 },
+ { 0x204F, 4642 },
+ { 0x2037, 4650 },
+ { 0x2047, 4657 },
+ { 0x2033, 4665 },
+ { 0x2055, 4672 },
+ { 0x207C, 4679 },
+ { 0x2079, 4686 },
+ { 0x208B, 4693 },
+ { 0x207B, 4700 },
+ { 0x2078, 4707 },
+ { 0x208A, 4714 },
+ { 0x2069, 4721 },
+ { 0x206B, 4730 },
+ { 0x205B, 4739 },
+ { 0x2053, 4747 },
+ { 0x2063, 4755 },
+ { 0x2060, 4763 },
+ { 0x2058, 4771 },
+ { 0x2070, 4779 },
+ { 0x209F, 4787 },
+ { 0x2041, 4791 },
+ { 0x20A5, 4797 },
+ { 0x203D, 4804 },
+ { 0x2061, 4810 },
+ { 0x20A1, 4816 },
+ { 0x2039, 4820 },
+ { 0x2035, 4826 },
+ { 0x2059, 4832 },
+ { 0x209E, 4838 },
+ { 0x20A4, 4842 },
+ { 0x20A0, 4849 },
+ { 0x2075, 4853 },
+ { 0x2073, 4859 },
+ { 0x202D, 4865 },
+ { 0x202B, 4871 },
+ { 0x2029, 4877 },
+ { 0x2051, 4881 },
+ { 0x2049, 4887 },
+ { 0x2071, 4893 },
+ { 0x2031, 4899 },
+ { 0x202F, 4905 },
+ { 0x2027, 4911 },
+ { 0x209B, 4915 },
+ { 0x203E, 4919 },
+ { 0x20A3, 4925 },
+ { 0x203A, 4932 },
+ { 0x205A, 4938 },
+ { 0x2095, 4944 },
+ { 0x2096, 4951 },
+ { 0x2094, 4958 },
+ { 0x2093, 4965 },
+ { 0x209D, 4972 },
+ { 0x2036, 4976 },
+ { 0x2032, 4982 },
+ { 0x2052, 4988 },
+ { 0x209A, 4994 },
+ { 0x20A2, 4998 },
+ { 0x209C, 5005 },
+ { 0x2074, 5009 },
+ { 0x2072, 5015 },
+ { 0x202C, 5021 },
+ { 0x202A, 5027 },
+ { 0x2099, 5033 },
+ { 0x2098, 5038 },
+ { 0x2097, 5047 },
+ { 0x2028, 5056 },
+ { 0x204A, 5060 },
+ { 0x2042, 5066 },
+ { 0x2062, 5072 },
+ { 0x2030, 5078 },
+ { 0x202E, 5084 },
+ { 0x2026, 5090 },
+ { 0x206A, 5094 },
+ { 0x206C, 5103 },
+ { 0x205C, 5112 },
+ { 0x2054, 5120 },
+ { 0x2064, 5128 },
+ { 0x205F, 5136 },
+ { 0x2057, 5144 },
+ { 0x206F, 5152 },
+ { 0x2083, 5160 },
+ { 0x2080, 5166 },
+ { 0x208F, 5172 },
+ { 0x207D, 5178 },
+ { 0x207A, 5184 },
+ { 0x208C, 5190 },
+ { 0x2077, 5196 },
+ { 0x2089, 5200 },
+ { 0x2086, 5206 },
+ { 0x2092, 5212 },
+ { 0x2076, 5218 },
+ { 0x204E, 5222 },
+ { 0x2046, 5229 },
+ { 0x2068, 5236 },
+ { 0x204B, 5243 },
+ { 0x2043, 5250 },
+ { 0x2065, 5257 },
+ { 0x2088, 5264 },
+ { 0x2085, 5271 },
+ { 0x2091, 5278 },
+ { 0x2087, 5285 },
+ { 0x2084, 5292 },
+ { 0x2090, 5299 },
+ { 0x688C, 5306 },
+ { 0x6841, 5307 },
+ { 0x6AB0, 5308 },
+ { 0x6AB3, 5309 },
+ { 0x21F6, 5311 },
+ { 0x682E, 5313 },
+ { 0x6857, 5314 },
+ { 0x6A60, 5316 },
+ { 0x6A5D, 5321 },
+ { 0x030E, 5327 },
+ { 0x214D, 5328 },
+ { 0x2C1A, 5330 },
+ { 0x2C16, 5333 },
+ { 0x2C15, 5336 },
+ { 0x2C18, 5339 },
+ { 0x2C29, 5342 },
+ { 0x2C17, 5345 },
+ { 0x2C06, 5348 },
+ { 0x2C1C, 5351 },
+ { 0x2C0D, 5354 },
+ { 0x2C1B, 5357 },
+ { 0x2C21, 5360 },
+ { 0x2C28, 5363 },
+ { 0x2C22, 5366 },
+ { 0x2C20, 5369 },
+ { 0x2C19, 5372 },
+ { 0x2C1F, 5375 },
+ { 0x2C0A, 5378 },
+ { 0x2C1D, 5381 },
+ { 0x2C23, 5384 },
+ { 0x2C07, 5387 },
+ { 0x2C08, 5390 },
+ { 0x2C09, 5393 },
+ { 0x2C0C, 5396 },
+ { 0x2C10, 5399 },
+ { 0x2C13, 5402 },
+ { 0x2C0B, 5405 },
+ { 0x2C25, 5408 },
+ { 0x2C1E, 5411 },
+ { 0x2C24, 5414 },
+ { 0x2C12, 5417 },
+ { 0x2C26, 5420 },
+ { 0x2C0E, 5423 },
+ { 0x2C11, 5426 },
+ { 0x2C14, 5429 },
+ { 0x2C0F, 5432 },
+ { 0x2C27, 5435 },
+ { 0x2908, 5438 },
+ { 0x2928, 5441 },
+ { 0x2929, 5444 },
+ { 0x295E, 5447 },
+ { 0x295F, 5451 },
+ { 0x2960, 5455 },
+ { 0x2939, 5459 },
+ { 0x292C, 5462 },
+ { 0x2932, 5465 },
+ { 0x2933, 5469 },
+ { 0x2935, 5473 },
+ { 0x2934, 5477 },
+ { 0x293A, 5481 },
+ { 0x2925, 5484 },
+ { 0x2926, 5488 },
+ { 0x2938, 5492 },
+ { 0x291B, 5495 },
+ { 0x291D, 5498 },
+ { 0x2959, 5501 },
+ { 0x292B, 5504 },
+ { 0x2964, 5509 },
+ { 0x2950, 5512 },
+ { 0x2924, 5515 },
+ { 0x294B, 5518 },
+ { 0x291A, 5521 },
+ { 0x2962, 5524 },
+ { 0x2948, 5527 },
+ { 0x292A, 5530 },
+ { 0x2910, 5533 },
+ { 0x2911, 5537 },
+ { 0x2913, 5541 },
+ { 0x2912, 5545 },
+ { 0x2952, 5549 },
+ { 0x2953, 5553 },
+ { 0x293D, 5557 },
+ { 0x2936, 5560 },
+ { 0x291E, 5563 },
+ { 0x2958, 5566 },
+ { 0x290D, 5569 },
+ { 0x2930, 5572 },
+ { 0x294E, 5575 },
+ { 0x294F, 5579 },
+ { 0x2944, 5583 },
+ { 0x2945, 5587 },
+ { 0x293B, 5591 },
+ { 0x293C, 5595 },
+ { 0x291C, 5599 },
+ { 0x2903, 5602 },
+ { 0x291F, 5605 },
+ { 0x2965, 5608 },
+ { 0x293F, 5611 },
+ { 0x2940, 5615 },
+ { 0x2941, 5619 },
+ { 0x2918, 5623 },
+ { 0x2919, 5627 },
+ { 0x290A, 5631 },
+ { 0x290B, 5635 },
+ { 0x2956, 5639 },
+ { 0x2957, 5643 },
+ { 0x2937, 5647 },
+ { 0x290E, 5650 },
+ { 0x290F, 5654 },
+ { 0x2914, 5658 },
+ { 0x2916, 5661 },
+ { 0x2917, 5665 },
+ { 0x2909, 5669 },
+ { 0x2942, 5672 },
+ { 0x2922, 5675 },
+ { 0x2923, 5679 },
+ { 0x292F, 5683 },
+ { 0x293E, 5686 },
+ { 0x2920, 5689 },
+ { 0x2907, 5692 },
+ { 0x2902, 5695 },
+ { 0x2904, 5698 },
+ { 0x2905, 5702 },
+ { 0x2906, 5706 },
+ { 0x292D, 5710 },
+ { 0x292E, 5714 },
+ { 0x2915, 5718 },
+ { 0x2972, 5721 },
+ { 0x2943, 5724 },
+ { 0x2921, 5727 },
+ { 0x290C, 5730 },
+ { 0x2927, 5733 },
+ { 0x2947, 5739 },
+ { 0x294D, 5743 },
+ { 0x2969, 5747 },
+ { 0x296A, 5751 },
+ { 0x2961, 5755 },
+ { 0x295D, 5759 },
+ { 0x2946, 5763 },
+ { 0x2967, 5767 },
+ { 0x294C, 5771 },
+ { 0x296D, 5775 },
+ { 0x2966, 5779 },
+ { 0x296B, 5783 },
+ { 0x2955, 5787 },
+ { 0x2951, 5791 },
+ { 0x295B, 5795 },
+ { 0x2954, 5799 },
+ { 0x2968, 5803 },
+ { 0x2931, 5807 },
+ { 0x295C, 5811 },
+ { 0x2963, 5815 },
+ { 0x294A, 5819 },
+ { 0x296F, 5823 },
+ { 0x2971, 5827 },
+ { 0x2949, 5831 },
+ { 0x295A, 5835 },
+ { 0x2974, 5840 },
+ { 0x296C, 5844 },
+ { 0x296E, 5848 },
+ { 0x2970, 5852 },
+ { 0x2973, 5856 },
+ { 0x39D0, 5860 },
+ { 0x39D1, 5863 },
+ { 0x39D2, 5866 },
+ { 0x39D3, 5869 },
+ { 0x39D4, 5872 },
+ { 0x682A, 5875 },
+ { 0x6854, 5876 },
+ { 0x2224, 5878 },
+ { 0x21A6, 5882 },
+ { 0x21A7, 5884 },
+ { 0x21A8, 5886 },
+ { 0x21A9, 5888 },
+ { 0x21AA, 5890 },
+ { 0x21AB, 5892 },
+ { 0x683B, 5894 },
+ { 0x685C, 5895 },
+ { 0x1D6D, 5897 },
+ { 0x0298, 5899 },
+ { 0x1D91, 5901 },
+ { 0x1E1E, 5903 },
+ { 0x68E6, 5905 },
+ { 0x6868, 5906 },
+ { 0x6764, 5907 },
+ { 0x6763, 5910 },
+ { 0x1D67, 5913 },
+ { 0x6940, 5916 },
+ { 0x6867, 5921 },
+ { 0x69DB, 5922 },
+ { 0x6906, 5924 },
+ { 0x6751, 5926 },
+ { 0x1D59, 5927 },
+ { 0x1BEB, 5929 },
+ { 0x68B4, 5930 },
+ { 0x6753, 5932 },
+ { 0x675C, 5934 },
+ { 0x218E, 5936 },
+ { 0x213B, 5938 },
+ { 0x678E, 5940 },
+ { 0x221E, 5942 },
+ { 0x67F8, 5944 },
+ { 0x68A5, 5949 },
+ { 0x6937, 5950 },
+ { 0x1C2A, 5951 },
+ { 0x0C3A, 5953 },
+ { 0x0C39, 5956 },
+ { 0x0C28, 5959 },
+ { 0x0C29, 5962 },
+ { 0x0C2B, 5966 },
+ { 0x0C2A, 5970 },
+ { 0x0C2C, 5974 },
+ { 0x0C30, 5978 },
+ { 0x0C35, 5981 },
+ { 0x0C31, 5984 },
+ { 0x0C34, 5987 },
+ { 0x0C33, 5990 },
+ { 0x0C38, 5993 },
+ { 0x0C2F, 5996 },
+ { 0x0C37, 5999 },
+ { 0x0C36, 6002 },
+ { 0x0C32, 6005 },
+ { 0x0C16, 6008 },
+ { 0x0C23, 6012 },
+ { 0x0C1A, 6016 },
+ { 0x0C25, 6020 },
+ { 0x0C1E, 6024 },
+ { 0x0C1C, 6028 },
+ { 0x0C18, 6032 },
+ { 0x0C27, 6036 },
+ { 0x0C19, 6040 },
+ { 0x0C26, 6044 },
+ { 0x0C24, 6048 },
+ { 0x0C1B, 6052 },
+ { 0x0C1F, 6056 },
+ { 0x0C1D, 6060 },
+ { 0x0C17, 6064 },
+ { 0x0C20, 6069 },
+ { 0x0C13, 6074 },
+ { 0x0C06, 6077 },
+ { 0x0BFE, 6080 },
+ { 0x0C01, 6083 },
+ { 0x0C0B, 6086 },
+ { 0x0C09, 6090 },
+ { 0x0C09, 6094 },
+ { 0x0C0B, 6098 },
+ { 0x0C14, 6102 },
+ { 0x0C12, 6106 },
+ { 0x0BFA, 6110 },
+ { 0x0C0F, 6113 },
+ { 0x0C0E, 6116 },
+ { 0x0C0F, 6120 },
+ { 0x0C0C, 6124 },
+ { 0x0C05, 6127 },
+ { 0x0C07, 6130 },
+ { 0x0C0E, 6133 },
+ { 0x0BFF, 6136 },
+ { 0x0C11, 6140 },
+ { 0x0C02, 6144 },
+ { 0x0C10, 6147 },
+ { 0x0C0D, 6150 },
+ { 0x0BFC, 6153 },
+ { 0x0BFB, 6157 },
+ { 0x0BFD, 6161 },
+ { 0x0C00, 6164 },
+ { 0x0C0A, 6167 },
+ { 0x0C08, 6171 },
+ { 0x0C04, 6175 },
+ { 0x0C03, 6179 },
+ { 0x0C3B, 6183 },
+ { 0x0C3C, 6187 },
+ { 0x0C15, 6191 },
+ { 0x0C2E, 6193 },
+ { 0x0C21, 6195 },
+ { 0x0C22, 6199 },
+ { 0x0C2D, 6203 },
+ { 0x2172, 6206 },
+ { 0x003F, 6207 },
+ { 0x2A76, 6209 },
+ { 0x1BD2, 6214 },
+ { 0x692B, 6216 },
+ { 0x1BAE, 6219 },
+ { 0x1BE9, 6220 },
+ { 0x1B92, 6221 },
+ { 0x1BB1, 6222 },
+ { 0x688E, 6223 },
+ { 0x699A, 6224 },
+ { 0x6891, 6229 },
+ { 0x6898, 6234 },
+ { 0x6899, 6239 },
+ { 0x2215, 6242 },
+ { 0x592B, 6246 },
+ { 0x5922, 6248 },
+ { 0x5927, 6251 },
+ { 0x5923, 6254 },
+ { 0x5926, 6257 },
+ { 0x5925, 6260 },
+ { 0x592A, 6263 },
+ { 0x5921, 6266 },
+ { 0x5929, 6269 },
+ { 0x5928, 6272 },
+ { 0x5924, 6275 },
+ { 0x592C, 6278 },
+ { 0x5908, 6281 },
+ { 0x591A, 6284 },
+ { 0x5914, 6287 },
+ { 0x5906, 6290 },
+ { 0x5907, 6293 },
+ { 0x5918, 6296 },
+ { 0x591B, 6299 },
+ { 0x591D, 6302 },
+ { 0x590F, 6305 },
+ { 0x5913, 6308 },
+ { 0x5912, 6311 },
+ { 0x591F, 6314 },
+ { 0x5915, 6317 },
+ { 0x5902, 6320 },
+ { 0x5919, 6323 },
+ { 0x5904, 6326 },
+ { 0x590D, 6329 },
+ { 0x590C, 6332 },
+ { 0x591E, 6335 },
+ { 0x590B, 6338 },
+ { 0x591C, 6341 },
+ { 0x5905, 6344 },
+ { 0x5903, 6347 },
+ { 0x5911, 6350 },
+ { 0x5909, 6353 },
+ { 0x5916, 6356 },
+ { 0x5920, 6359 },
+ { 0x590A, 6362 },
+ { 0x5910, 6365 },
+ { 0x5917, 6368 },
+ { 0x590E, 6371 },
+ { 0x14AB, 6374 },
+ { 0x1637, 6375 },
+ { 0x1638, 6380 },
+ { 0x1636, 6385 },
+ { 0x162A, 6391 },
+ { 0x162B, 6396 },
+ { 0x162D, 6401 },
+ { 0x1632, 6406 },
+ { 0x162E, 6411 },
+ { 0x1631, 6416 },
+ { 0x1630, 6421 },
+ { 0x1635, 6426 },
+ { 0x162C, 6431 },
+ { 0x1634, 6436 },
+ { 0x1633, 6441 },
+ { 0x162F, 6446 },
+ { 0x1617, 6451 },
+ { 0x1619, 6457 },
+ { 0x1615, 6463 },
+ { 0x1613, 6469 },
+ { 0x1618, 6475 },
+ { 0x161C, 6481 },
+ { 0x1614, 6487 },
+ { 0x1622, 6493 },
+ { 0x161A, 6499 },
+ { 0x161F, 6505 },
+ { 0x161B, 6511 },
+ { 0x1616, 6517 },
+ { 0x161E, 6523 },
+ { 0x161D, 6529 },
+ { 0x1620, 6535 },
+ { 0x1621, 6541 },
+ { 0x1612, 6547 },
+ { 0x160B, 6554 },
+ { 0x160A, 6560 },
+ { 0x1603, 6566 },
+ { 0x1609, 6572 },
+ { 0x15EB, 6578 },
+ { 0x1605, 6584 },
+ { 0x15FF, 6590 },
+ { 0x15F9, 6596 },
+ { 0x15FD, 6602 },
+ { 0x15E7, 6608 },
+ { 0x15F2, 6614 },
+ { 0x15F7, 6620 },
+ { 0x1604, 6626 },
+ { 0x15EC, 6632 },
+ { 0x15F3, 6638 },
+ { 0x160E, 6644 },
+ { 0x15ED, 6650 },
+ { 0x15FE, 6656 },
+ { 0x1611, 6662 },
+ { 0x15F8, 6668 },
+ { 0x15F1, 6674 },
+ { 0x160F, 6680 },
+ { 0x1608, 6686 },
+ { 0x1607, 6692 },
+ { 0x1600, 6698 },
+ { 0x1606, 6704 },
+ { 0x15E8, 6710 },
+ { 0x1602, 6716 },
+ { 0x15FC, 6722 },
+ { 0x15F6, 6728 },
+ { 0x15FA, 6734 },
+ { 0x15E6, 6740 },
+ { 0x15EF, 6746 },
+ { 0x15F4, 6752 },
+ { 0x1601, 6758 },
+ { 0x15E9, 6764 },
+ { 0x15F0, 6770 },
+ { 0x160C, 6776 },
+ { 0x15EA, 6782 },
+ { 0x15FB, 6788 },
+ { 0x1610, 6794 },
+ { 0x15F5, 6800 },
+ { 0x15EE, 6806 },
+ { 0x160D, 6812 },
+ { 0x1629, 6818 },
+ { 0x1628, 6824 },
+ { 0x1627, 6830 },
+ { 0x1626, 6836 },
+ { 0x1625, 6842 },
+ { 0x1623, 6848 },
+ { 0x1624, 6854 },
+ { 0x6740, 6860 },
+ { 0x6737, 6864 },
+ { 0x1C27, 6867 },
+ { 0x0779, 6870 },
+ { 0x0778, 6874 },
+ { 0x077C, 6878 },
+ { 0x0745, 6880 },
+ { 0x074A, 6883 },
+ { 0x0746, 6886 },
+ { 0x0749, 6889 },
+ { 0x0748, 6892 },
+ { 0x074D, 6895 },
+ { 0x0744, 6898 },
+ { 0x074C, 6901 },
+ { 0x074B, 6904 },
+ { 0x0747, 6907 },
+ { 0x074E, 6910 },
+ { 0x0751, 6913 },
+ { 0x0750, 6916 },
+ { 0x0756, 6919 },
+ { 0x0754, 6922 },
+ { 0x0752, 6925 },
+ { 0x0757, 6928 },
+ { 0x075C, 6931 },
+ { 0x074F, 6934 },
+ { 0x0761, 6937 },
+ { 0x0768, 6940 },
+ { 0x075A, 6943 },
+ { 0x0762, 6946 },
+ { 0x0763, 6949 },
+ { 0x0765, 6952 },
+ { 0x0767, 6955 },
+ { 0x0764, 6958 },
+ { 0x0753, 6962 },
+ { 0x0758, 6965 },
+ { 0x075D, 6968 },
+ { 0x075F, 6971 },
+ { 0x0759, 6974 },
+ { 0x0769, 6977 },
+ { 0x076A, 6980 },
+ { 0x075B, 6983 },
+ { 0x0760, 6986 },
+ { 0x0766, 6989 },
+ { 0x076B, 6992 },
+ { 0x075E, 6996 },
+ { 0x076C, 6999 },
+ { 0x076E, 7003 },
+ { 0x076D, 7007 },
+ { 0x0755, 7011 },
+ { 0x077A, 7014 },
+ { 0x077B, 7018 },
+ { 0x0774, 7021 },
+ { 0x0773, 7026 },
+ { 0x0775, 7031 },
+ { 0x0772, 7036 },
+ { 0x0770, 7041 },
+ { 0x076F, 7046 },
+ { 0x0771, 7051 },
+ { 0x0777, 7056 },
+ { 0x0776, 7061 },
+ { 0x077E, 7065 },
+ { 0x077D, 7067 },
+ { 0x1E16, 7070 },
+ { 0x1DDD, 7071 },
+ { 0x1DDE, 7075 },
+ { 0x1D62, 7079 },
+ { 0x006B, 7083 },
+ { 0x1E06, 7085 },
+ { 0x1ED4, 7087 },
+ { 0x1DB9, 7090 },
+ { 0x1D9A, 7093 },
+ { 0x1DA2, 7095 },
+ { 0x1E43, 7099 },
+ { 0x1E45, 7103 },
+ { 0x1E3B, 7110 },
+ { 0x1E3C, 7117 },
+ { 0x1D7F, 7124 },
+ { 0x1DBB, 7127 },
+ { 0x1DC7, 7130 },
+ { 0x1DC6, 7132 },
+ { 0x1DC8, 7135 },
+ { 0x1D9D, 7137 },
+ { 0x694F, 7141 },
+ { 0x1F80, 7144 },
+ { 0x1F7F, 7147 },
+ { 0x1F83, 7150 },
+ { 0x1F7D, 7152 },
+ { 0x1F7B, 7154 },
+ { 0x1F7C, 7156 },
+ { 0x1F82, 7158 },
+ { 0x1F81, 7162 },
+ { 0x1F85, 7166 },
+ { 0x1F84, 7169 },
+ { 0x1F7E, 7173 },
+ { 0x1C83, 7176 },
+ { 0x6AF7, 7178 },
+ { 0x6A01, 7180 },
+ { 0x4529, 7182 },
+ { 0x451F, 7187 },
+ { 0x452A, 7192 },
+ { 0x452C, 7197 },
+ { 0x4527, 7202 },
+ { 0x4519, 7207 },
+ { 0x4517, 7212 },
+ { 0x4522, 7217 },
+ { 0x4518, 7222 },
+ { 0x451B, 7227 },
+ { 0x451E, 7232 },
+ { 0x4525, 7237 },
+ { 0x452E, 7242 },
+ { 0x4520, 7247 },
+ { 0x451C, 7252 },
+ { 0x4531, 7257 },
+ { 0x4533, 7262 },
+ { 0x4528, 7267 },
+ { 0x4521, 7272 },
+ { 0x451D, 7277 },
+ { 0x4526, 7282 },
+ { 0x452B, 7287 },
+ { 0x4524, 7292 },
+ { 0x451A, 7297 },
+ { 0x4523, 7302 },
+ { 0x4530, 7307 },
+ { 0x4532, 7312 },
+ { 0x452F, 7317 },
+ { 0x452D, 7322 },
+ { 0x4534, 7327 },
+ { 0x4535, 7332 },
+ { 0x4536, 7337 },
+ { 0x4507, 7342 },
+ { 0x44F7, 7347 },
+ { 0x4509, 7352 },
+ { 0x44FA, 7357 },
+ { 0x4503, 7362 },
+ { 0x4501, 7367 },
+ { 0x4500, 7372 },
+ { 0x44FC, 7377 },
+ { 0x4508, 7382 },
+ { 0x44FF, 7387 },
+ { 0x44F9, 7392 },
+ { 0x4502, 7397 },
+ { 0x44FB, 7402 },
+ { 0x44FE, 7407 },
+ { 0x44FD, 7412 },
+ { 0x450E, 7417 },
+ { 0x4512, 7422 },
+ { 0x4511, 7427 },
+ { 0x450F, 7432 },
+ { 0x450D, 7437 },
+ { 0x450B, 7442 },
+ { 0x4504, 7447 },
+ { 0x4505, 7452 },
+ { 0x4513, 7457 },
+ { 0x450C, 7462 },
+ { 0x450A, 7467 },
+ { 0x44F8, 7472 },
+ { 0x4506, 7477 },
+ { 0x4510, 7482 },
+ { 0x4514, 7487 },
+ { 0x4515, 7492 },
+ { 0x4516, 7497 },
+ { 0x4037, 7502 },
+ { 0x403B, 7506 },
+ { 0x4040, 7510 },
+ { 0x4046, 7514 },
+ { 0x404D, 7518 },
+ { 0x4038, 7522 },
+ { 0x403A, 7526 },
+ { 0x4051, 7530 },
+ { 0x4042, 7534 },
+ { 0x4043, 7538 },
+ { 0x4044, 7542 },
+ { 0x404A, 7546 },
+ { 0x404B, 7550 },
+ { 0x403E, 7554 },
+ { 0x4054, 7558 },
+ { 0x4041, 7562 },
+ { 0x4039, 7566 },
+ { 0x4049, 7570 },
+ { 0x4047, 7574 },
+ { 0x404C, 7578 },
+ { 0x4055, 7582 },
+ { 0x403C, 7586 },
+ { 0x403D, 7590 },
+ { 0x4053, 7594 },
+ { 0x404E, 7598 },
+ { 0x4052, 7602 },
+ { 0x4045, 7606 },
+ { 0x4056, 7610 },
+ { 0x4050, 7614 },
+ { 0x404F, 7618 },
+ { 0x4048, 7622 },
+ { 0x403F, 7626 },
+ { 0x4057, 7630 },
+ { 0x4059, 7634 },
+ { 0x4058, 7638 },
+ { 0x405A, 7642 },
+ { 0x407A, 7646 },
+ { 0x407F, 7650 },
+ { 0x408F, 7654 },
+ { 0x4089, 7658 },
+ { 0x4076, 7662 },
+ { 0x4091, 7666 },
+ { 0x4092, 7670 },
+ { 0x409B, 7674 },
+ { 0x4098, 7678 },
+ { 0x4090, 7682 },
+ { 0x409A, 7686 },
+ { 0x4099, 7690 },
+ { 0x4077, 7694 },
+ { 0x4079, 7698 },
+ { 0x4078, 7702 },
+ { 0x4081, 7706 },
+ { 0x4086, 7710 },
+ { 0x4087, 7714 },
+ { 0x4088, 7718 },
+ { 0x4094, 7722 },
+ { 0x4097, 7726 },
+ { 0x4095, 7730 },
+ { 0x408D, 7734 },
+ { 0x4080, 7738 },
+ { 0x4085, 7742 },
+ { 0x4093, 7746 },
+ { 0x4084, 7750 },
+ { 0x4096, 7754 },
+ { 0x408E, 7758 },
+ { 0x407D, 7762 },
+ { 0x407B, 7766 },
+ { 0x408A, 7770 },
+ { 0x407C, 7774 },
+ { 0x407E, 7778 },
+ { 0x4082, 7782 },
+ { 0x4083, 7786 },
+ { 0x408B, 7790 },
+ { 0x408C, 7794 },
+ { 0x45FD, 7798 },
+ { 0x4600, 7803 },
+ { 0x4603, 7808 },
+ { 0x4606, 7813 },
+ { 0x460E, 7818 },
+ { 0x460A, 7823 },
+ { 0x461B, 7828 },
+ { 0x4620, 7833 },
+ { 0x4631, 7838 },
+ { 0x4637, 7843 },
+ { 0x463A, 7848 },
+ { 0x4640, 7853 },
+ { 0x4613, 7858 },
+ { 0x462F, 7863 },
+ { 0x461F, 7868 },
+ { 0x462C, 7873 },
+ { 0x4611, 7878 },
+ { 0x462E, 7883 },
+ { 0x4633, 7888 },
+ { 0x4604, 7893 },
+ { 0x462D, 7898 },
+ { 0x4635, 7903 },
+ { 0x4644, 7908 },
+ { 0x4608, 7913 },
+ { 0x4610, 7918 },
+ { 0x460C, 7923 },
+ { 0x4617, 7928 },
+ { 0x461D, 7933 },
+ { 0x4621, 7938 },
+ { 0x4639, 7943 },
+ { 0x463B, 7948 },
+ { 0x4642, 7953 },
+ { 0x4615, 7958 },
+ { 0x463C, 7963 },
+ { 0x461E, 7968 },
+ { 0x4625, 7973 },
+ { 0x462A, 7978 },
+ { 0x4623, 7983 },
+ { 0x4627, 7988 },
+ { 0x463E, 7993 },
+ { 0x4619, 7998 },
+ { 0x4645, 8003 },
+ { 0x45FE, 8008 },
+ { 0x4602, 8013 },
+ { 0x4601, 8018 },
+ { 0x4607, 8023 },
+ { 0x460F, 8028 },
+ { 0x45FF, 8033 },
+ { 0x460B, 8038 },
+ { 0x461C, 8043 },
+ { 0x4632, 8048 },
+ { 0x4638, 8053 },
+ { 0x4641, 8058 },
+ { 0x4614, 8063 },
+ { 0x4630, 8068 },
+ { 0x4612, 8073 },
+ { 0x4634, 8078 },
+ { 0x4605, 8083 },
+ { 0x4636, 8088 },
+ { 0x4609, 8093 },
+ { 0x460D, 8098 },
+ { 0x4618, 8103 },
+ { 0x4622, 8108 },
+ { 0x4643, 8113 },
+ { 0x4616, 8118 },
+ { 0x4629, 8123 },
+ { 0x463D, 8128 },
+ { 0x4626, 8133 },
+ { 0x4624, 8138 },
+ { 0x4628, 8143 },
+ { 0x463F, 8148 },
+ { 0x461A, 8153 },
+ { 0x462B, 8158 },
+ { 0x40C0, 8163 },
+ { 0x40C1, 8167 },
+ { 0x40C2, 8171 },
+ { 0x40D2, 8175 },
+ { 0x40C8, 8179 },
+ { 0x40CD, 8183 },
+ { 0x40CE, 8187 },
+ { 0x40CF, 8191 },
+ { 0x40D3, 8195 },
+ { 0x40C5, 8199 },
+ { 0x40C6, 8203 },
+ { 0x40E3, 8207 },
+ { 0x40C9, 8211 },
+ { 0x40CA, 8215 },
+ { 0x40C3, 8219 },
+ { 0x40C4, 8223 },
+ { 0x40DE, 8227 },
+ { 0x40D6, 8231 },
+ { 0x40D7, 8235 },
+ { 0x40D8, 8239 },
+ { 0x40D4, 8243 },
+ { 0x40D5, 8247 },
+ { 0x40D1, 8251 },
+ { 0x40DC, 8255 },
+ { 0x40DD, 8259 },
+ { 0x40DF, 8263 },
+ { 0x40CB, 8267 },
+ { 0x40CC, 8271 },
+ { 0x40DA, 8275 },
+ { 0x40DB, 8279 },
+ { 0x40C7, 8283 },
+ { 0x40D9, 8287 },
+ { 0x40E0, 8291 },
+ { 0x40E1, 8295 },
+ { 0x40E2, 8299 },
+ { 0x40D0, 8303 },
+ { 0x40EA, 8307 },
+ { 0x40EB, 8311 },
+ { 0x40E8, 8315 },
+ { 0x40E4, 8319 },
+ { 0x40E9, 8323 },
+ { 0x40E5, 8327 },
+ { 0x40E6, 8331 },
+ { 0x40E7, 8335 },
+ { 0x40EC, 8339 },
+ { 0x40ED, 8343 },
+ { 0x40EF, 8347 },
+ { 0x40EE, 8351 },
+ { 0x40F0, 8355 },
+ { 0x40F1, 8359 },
+ { 0x69D7, 8363 },
+ { 0x4679, 8366 },
+ { 0x4682, 8371 },
+ { 0x4689, 8376 },
+ { 0x4694, 8381 },
+ { 0x46A3, 8386 },
+ { 0x467A, 8391 },
+ { 0x468D, 8396 },
+ { 0x467B, 8401 },
+ { 0x467D, 8406 },
+ { 0x4680, 8411 },
+ { 0x4684, 8416 },
+ { 0x4685, 8421 },
+ { 0x4686, 8426 },
+ { 0x4688, 8431 },
+ { 0x468B, 8436 },
+ { 0x468C, 8441 },
+ { 0x468F, 8446 },
+ { 0x4691, 8451 },
+ { 0x4692, 8456 },
+ { 0x4699, 8461 },
+ { 0x469B, 8466 },
+ { 0x469D, 8471 },
+ { 0x469F, 8476 },
+ { 0x46A7, 8481 },
+ { 0x46A8, 8486 },
+ { 0x468A, 8491 },
+ { 0x4695, 8496 },
+ { 0x46AB, 8501 },
+ { 0x46A4, 8506 },
+ { 0x467C, 8511 },
+ { 0x4681, 8516 },
+ { 0x46A2, 8521 },
+ { 0x467F, 8526 },
+ { 0x4687, 8531 },
+ { 0x4690, 8536 },
+ { 0x469A, 8541 },
+ { 0x467E, 8546 },
+ { 0x46A0, 8551 },
+ { 0x4693, 8556 },
+ { 0x469E, 8561 },
+ { 0x46A1, 8566 },
+ { 0x46A9, 8571 },
+ { 0x4698, 8576 },
+ { 0x468E, 8581 },
+ { 0x4683, 8586 },
+ { 0x469C, 8592 },
+ { 0x4697, 8598 },
+ { 0x46A6, 8604 },
+ { 0x46AA, 8610 },
+ { 0x4696, 8616 },
+ { 0x46A5, 8622 },
+ { 0x46AC, 8628 },
+ { 0x46B0, 8632 },
+ { 0x46B1, 8637 },
+ { 0x46AE, 8642 },
+ { 0x46AD, 8646 },
+ { 0x46AF, 8650 },
+ { 0x4646, 8654 },
+ { 0x464F, 8659 },
+ { 0x4656, 8664 },
+ { 0x4661, 8669 },
+ { 0x4670, 8674 },
+ { 0x4647, 8679 },
+ { 0x465A, 8684 },
+ { 0x4648, 8689 },
+ { 0x464A, 8694 },
+ { 0x464D, 8699 },
+ { 0x4651, 8704 },
+ { 0x4652, 8709 },
+ { 0x4653, 8714 },
+ { 0x4655, 8719 },
+ { 0x4658, 8724 },
+ { 0x4659, 8729 },
+ { 0x465C, 8734 },
+ { 0x465E, 8739 },
+ { 0x465F, 8744 },
+ { 0x4666, 8749 },
+ { 0x4668, 8754 },
+ { 0x466A, 8759 },
+ { 0x466C, 8764 },
+ { 0x4674, 8769 },
+ { 0x4675, 8774 },
+ { 0x4657, 8779 },
+ { 0x4662, 8784 },
+ { 0x4678, 8789 },
+ { 0x4671, 8794 },
+ { 0x4649, 8799 },
+ { 0x464E, 8804 },
+ { 0x466F, 8809 },
+ { 0x464C, 8814 },
+ { 0x4654, 8819 },
+ { 0x465D, 8824 },
+ { 0x4667, 8829 },
+ { 0x464B, 8834 },
+ { 0x466D, 8839 },
+ { 0x4660, 8844 },
+ { 0x466B, 8849 },
+ { 0x466E, 8854 },
+ { 0x4676, 8859 },
+ { 0x4665, 8864 },
+ { 0x465B, 8869 },
+ { 0x4650, 8874 },
+ { 0x4669, 8880 },
+ { 0x4664, 8886 },
+ { 0x4673, 8892 },
+ { 0x4677, 8898 },
+ { 0x4663, 8904 },
+ { 0x4672, 8910 },
+ { 0x28EA, 8916 },
+ { 0x1BA8, 8922 },
+ { 0x69D3, 8925 },
+ { 0x4B5D, 8928 },
+ { 0x4B5E, 8933 },
+ { 0x4B5F, 8938 },
+ { 0x4B60, 8943 },
+ { 0x4B61, 8948 },
+ { 0x4B54, 8953 },
+ { 0x4B55, 8958 },
+ { 0x4B4C, 8963 },
+ { 0x4B5B, 8968 },
+ { 0x4B51, 8973 },
+ { 0x4B50, 8978 },
+ { 0x4B63, 8983 },
+ { 0x4B49, 8988 },
+ { 0x4B4A, 8993 },
+ { 0x4B4B, 8998 },
+ { 0x4B58, 9003 },
+ { 0x4B48, 9008 },
+ { 0x4B5A, 9013 },
+ { 0x4B53, 9018 },
+ { 0x4B56, 9023 },
+ { 0x4B62, 9028 },
+ { 0x4B4E, 9033 },
+ { 0x4B4D, 9038 },
+ { 0x4B5C, 9043 },
+ { 0x4B52, 9048 },
+ { 0x4B4F, 9053 },
+ { 0x4B59, 9058 },
+ { 0x4B57, 9063 },
+ { 0x4B65, 9068 },
+ { 0x4B69, 9074 },
+ { 0x4B67, 9080 },
+ { 0x4B68, 9086 },
+ { 0x4B64, 9092 },
+ { 0x4B66, 9098 },
+ { 0x4B6A, 9104 },
+ { 0x4B6C, 9110 },
+ { 0x4B6B, 9116 },
+ { 0x4B6E, 9122 },
+ { 0x4B6D, 9127 },
+ { 0x4B70, 9133 },
+ { 0x4B71, 9140 },
+ { 0x4B74, 9146 },
+ { 0x4B73, 9151 },
+ { 0x4B75, 9157 },
+ { 0x4B76, 9164 },
+ { 0x4B6F, 9170 },
+ { 0x4B72, 9176 },
+ { 0x4B7D, 9183 },
+ { 0x4B80, 9188 },
+ { 0x4B78, 9194 },
+ { 0x4B77, 9200 },
+ { 0x4B79, 9205 },
+ { 0x4B7A, 9212 },
+ { 0x4B7C, 9218 },
+ { 0x4B7B, 9223 },
+ { 0x4B7E, 9229 },
+ { 0x4B7F, 9236 },
+ { 0x6864, 9242 },
+ { 0x1BB0, 9244 },
+ { 0x1BEC, 9245 },
+ { 0x69AB, 9246 },
+ { 0x1BB5, 9250 },
+ { 0x1CA9, 9254 },
+ { 0x1BB4, 9256 },
+ { 0x683C, 9259 },
+ { 0x685D, 9260 },
+ { 0x6863, 9262 },
+ { 0x1BEC, 9264 },
+ { 0x1BB0, 9267 },
+ { 0x6798, 9270 },
+ { 0x6AD2, 9273 },
+ { 0x6835, 9279 },
+ { 0x6826, 9280 },
+ { 0x6774, 9281 },
+ { 0x1BAF, 9283 },
+ { 0x1BEA, 9284 },
+ { 0x1B93, 9285 },
+ { 0x1BB2, 9286 },
+ { 0x1D6F, 9287 },
+ { 0x006C, 9289 },
+ { 0x6955, 9290 },
+ { 0x225C, 9296 },
+ { 0x6BC7, 9300 },
+ { 0x2264, 9304 },
+ { 0x67E5, 9310 },
+ { 0x212F, 9314 },
+ { 0x6744, 9315 },
+ { 0x21EB, 9318 },
+ { 0x6CB2, 9321 },
+ { 0x6C81, 9324 },
+ { 0x6CCE, 9327 },
+ { 0x6CAE, 9331 },
+ { 0x6C7B, 9335 },
+ { 0x6C7E, 9338 },
+ { 0x6C8D, 9341 },
+ { 0x6C7F, 9343 },
+ { 0x6C84, 9345 },
+ { 0x6C89, 9348 },
+ { 0x6C85, 9351 },
+ { 0x6C88, 9354 },
+ { 0x6C87, 9357 },
+ { 0x6C8C, 9360 },
+ { 0x6C83, 9363 },
+ { 0x6C8B, 9366 },
+ { 0x6C8A, 9369 },
+ { 0x6C86, 9372 },
+ { 0x6CB3, 9375 },
+ { 0x6CB4, 9378 },
+ { 0x6CB5, 9383 },
+ { 0x6CB6, 9388 },
+ { 0x6CB7, 9393 },
+ { 0x6CB8, 9398 },
+ { 0x6CB9, 9403 },
+ { 0x6CBA, 9408 },
+ { 0x6CBB, 9413 },
+ { 0x6CBC, 9418 },
+ { 0x6CBD, 9423 },
+ { 0x6CBE, 9428 },
+ { 0x6CBF, 9433 },
+ { 0x6CC0, 9438 },
+ { 0x6CC1, 9443 },
+ { 0x6CC2, 9448 },
+ { 0x6CC3, 9453 },
+ { 0x6CC4, 9458 },
+ { 0x6CC5, 9463 },
+ { 0x6CC6, 9468 },
+ { 0x6CC7, 9473 },
+ { 0x6CC8, 9478 },
+ { 0x6CC9, 9483 },
+ { 0x6CCA, 9488 },
+ { 0x6CCB, 9493 },
+ { 0x6CCC, 9498 },
+ { 0x6CCD, 9503 },
+ { 0x6C94, 9508 },
+ { 0x6C95, 9513 },
+ { 0x6C96, 9518 },
+ { 0x6C97, 9523 },
+ { 0x6C98, 9528 },
+ { 0x6C99, 9533 },
+ { 0x6C9A, 9538 },
+ { 0x6C9B, 9543 },
+ { 0x6C9C, 9548 },
+ { 0x6C9D, 9553 },
+ { 0x6C9E, 9558 },
+ { 0x6C9F, 9563 },
+ { 0x6CA0, 9568 },
+ { 0x6CA1, 9573 },
+ { 0x6CA2, 9578 },
+ { 0x6CA3, 9583 },
+ { 0x6CA4, 9588 },
+ { 0x6CA5, 9593 },
+ { 0x6CA6, 9598 },
+ { 0x6CA7, 9603 },
+ { 0x6CA8, 9608 },
+ { 0x6CA9, 9613 },
+ { 0x6CAA, 9618 },
+ { 0x6CAB, 9623 },
+ { 0x6CAC, 9628 },
+ { 0x6CAD, 9633 },
+ { 0x6CD0, 9638 },
+ { 0x6CB0, 9642 },
+ { 0x6C7C, 9646 },
+ { 0x6C73, 9649 },
+ { 0x6CD1, 9651 },
+ { 0x6C77, 9653 },
+ { 0x6C90, 9656 },
+ { 0x6C76, 9659 },
+ { 0x6C78, 9662 },
+ { 0x6CAF, 9665 },
+ { 0x6C82, 9668 },
+ { 0x6C7D, 9670 },
+ { 0x6C92, 9672 },
+ { 0x6CCF, 9675 },
+ { 0x6C79, 9678 },
+ { 0x6C8F, 9680 },
+ { 0x6C75, 9683 },
+ { 0x6C8E, 9686 },
+ { 0x6C7A, 9688 },
+ { 0x6CB1, 9690 },
+ { 0x6C93, 9693 },
+ { 0x6C74, 9696 },
+ { 0x6C91, 9699 },
+ { 0x6C80, 9702 },
+ { 0x15D6, 9704 },
+ { 0x15DE, 9708 },
+ { 0x15D7, 9712 },
+ { 0x15DC, 9716 },
+ { 0x15DA, 9720 },
+ { 0x15E0, 9724 },
+ { 0x15D8, 9728 },
+ { 0x15D9, 9732 },
+ { 0x15CF, 9736 },
+ { 0x15D1, 9740 },
+ { 0x15C3, 9744 },
+ { 0x15CB, 9748 },
+ { 0x15CE, 9752 },
+ { 0x15D5, 9756 },
+ { 0x15DB, 9760 },
+ { 0x15CC, 9764 },
+ { 0x15D2, 9768 },
+ { 0x15C7, 9772 },
+ { 0x15C9, 9776 },
+ { 0x15DD, 9780 },
+ { 0x15D0, 9784 },
+ { 0x15C4, 9788 },
+ { 0x15C8, 9792 },
+ { 0x15DF, 9796 },
+ { 0x15D3, 9800 },
+ { 0x15C5, 9804 },
+ { 0x15CD, 9808 },
+ { 0x15CA, 9812 },
+ { 0x15C6, 9816 },
+ { 0x15D4, 9820 },
+ { 0x15E1, 9824 },
+ { 0x15E2, 9828 },
+ { 0x15E3, 9832 },
+ { 0x15E4, 9836 },
+ { 0x15E5, 9840 },
+ { 0x16D5, 9844 },
+ { 0x16DA, 9849 },
+ { 0x16D6, 9854 },
+ { 0x16D9, 9859 },
+ { 0x16D8, 9864 },
+ { 0x16DD, 9869 },
+ { 0x16D4, 9874 },
+ { 0x16DC, 9879 },
+ { 0x16DB, 9884 },
+ { 0x16D7, 9889 },
+ { 0x16D0, 9894 },
+ { 0x16EC, 9899 },
+ { 0x16D1, 9903 },
+ { 0x16CA, 9908 },
+ { 0x16AF, 9913 },
+ { 0x16EF, 9919 },
+ { 0x16F4, 9924 },
+ { 0x16F0, 9928 },
+ { 0x16EB, 9932 },
+ { 0x16F5, 9936 },
+ { 0x16CD, 9940 },
+ { 0x16CE, 9945 },
+ { 0x16CF, 9950 },
+ { 0x16B6, 9955 },
+ { 0x16EA, 9959 },
+ { 0x16E8, 9963 },
+ { 0x16ED, 9967 },
+ { 0x16CB, 9971 },
+ { 0x16CC, 9975 },
+ { 0x16F1, 9979 },
+ { 0x16F2, 9983 },
+ { 0x16EE, 9987 },
+ { 0x16D2, 9993 },
+ { 0x16E9, 9998 },
+ { 0x16F3, 10002 },
+ { 0x16DF, 10006 },
+ { 0x16E4, 10011 },
+ { 0x16E0, 10016 },
+ { 0x16E3, 10021 },
+ { 0x16E2, 10026 },
+ { 0x16E7, 10031 },
+ { 0x16DE, 10036 },
+ { 0x16E6, 10041 },
+ { 0x16E5, 10046 },
+ { 0x16E1, 10051 },
+ { 0x16B7, 10056 },
+ { 0x16C4, 10061 },
+ { 0x16BB, 10066 },
+ { 0x16C1, 10071 },
+ { 0x16BF, 10076 },
+ { 0x16B9, 10081 },
+ { 0x16C5, 10086 },
+ { 0x16C7, 10091 },
+ { 0x16BC, 10096 },
+ { 0x16C9, 10101 },
+ { 0x16C2, 10107 },
+ { 0x16C6, 10113 },
+ { 0x16C3, 10118 },
+ { 0x16BD, 10123 },
+ { 0x16C0, 10128 },
+ { 0x16B8, 10133 },
+ { 0x16BE, 10139 },
+ { 0x16BA, 10144 },
+ { 0x16C8, 10150 },
+ { 0x16A2, 10156 },
+ { 0x16A4, 10160 },
+ { 0x16A6, 10164 },
+ { 0x168E, 10168 },
+ { 0x1686, 10172 },
+ { 0x16A8, 10176 },
+ { 0x16A5, 10180 },
+ { 0x169A, 10184 },
+ { 0x1695, 10188 },
+ { 0x168D, 10192 },
+ { 0x16A9, 10196 },
+ { 0x1698, 10200 },
+ { 0x16A7, 10204 },
+ { 0x169C, 10208 },
+ { 0x16AA, 10212 },
+ { 0x16A1, 10216 },
+ { 0x1680, 10220 },
+ { 0x1693, 10225 },
+ { 0x16A3, 10230 },
+ { 0x167A, 10235 },
+ { 0x1692, 10240 },
+ { 0x1681, 10245 },
+ { 0x168B, 10250 },
+ { 0x1696, 10255 },
+ { 0x1682, 10260 },
+ { 0x167C, 10265 },
+ { 0x167B, 10270 },
+ { 0x1694, 10275 },
+ { 0x168C, 10280 },
+ { 0x1687, 10285 },
+ { 0x169B, 10290 },
+ { 0x167D, 10294 },
+ { 0x1683, 10298 },
+ { 0x1699, 10302 },
+ { 0x167E, 10306 },
+ { 0x1691, 10311 },
+ { 0x16A0, 10316 },
+ { 0x1677, 10321 },
+ { 0x168F, 10326 },
+ { 0x169F, 10331 },
+ { 0x1689, 10336 },
+ { 0x1697, 10341 },
+ { 0x167F, 10346 },
+ { 0x1678, 10351 },
+ { 0x1679, 10356 },
+ { 0x1690, 10361 },
+ { 0x169D, 10366 },
+ { 0x169E, 10371 },
+ { 0x168A, 10376 },
+ { 0x1685, 10381 },
+ { 0x1688, 10386 },
+ { 0x1684, 10390 },
+ { 0x16AB, 10394 },
+ { 0x16D3, 10399 },
+ { 0x16B4, 10404 },
+ { 0x16AE, 10409 },
+ { 0x16B3, 10416 },
+ { 0x16B5, 10421 },
+ { 0x16B1, 10426 },
+ { 0x16B2, 10432 },
+ { 0x16B0, 10441 },
+ { 0x16AD, 10447 },
+ { 0x16AC, 10453 },
+ { 0x387B, 10459 },
+ { 0x3882, 10463 },
+ { 0x388A, 10467 },
+ { 0x388C, 10472 },
+ { 0x388D, 10477 },
+ { 0x388B, 10482 },
+ { 0x3880, 10487 },
+ { 0x387D, 10491 },
+ { 0x3881, 10495 },
+ { 0x387F, 10499 },
+ { 0x387C, 10503 },
+ { 0x3889, 10507 },
+ { 0x3888, 10511 },
+ { 0x3887, 10515 },
+ { 0x3883, 10519 },
+ { 0x3885, 10523 },
+ { 0x387E, 10527 },
+ { 0x3886, 10531 },
+ { 0x3884, 10535 },
+ { 0x3879, 10539 },
+ { 0x3865, 10544 },
+ { 0x3855, 10549 },
+ { 0x385D, 10554 },
+ { 0x386B, 10559 },
+ { 0x3851, 10564 },
+ { 0x3877, 10569 },
+ { 0x384B, 10574 },
+ { 0x3873, 10579 },
+ { 0x386D, 10584 },
+ { 0x3863, 10589 },
+ { 0x3867, 10594 },
+ { 0x3871, 10599 },
+ { 0x3859, 10604 },
+ { 0x385F, 10609 },
+ { 0x3875, 10614 },
+ { 0x386F, 10619 },
+ { 0x3857, 10624 },
+ { 0x384D, 10629 },
+ { 0x3853, 10634 },
+ { 0x385B, 10639 },
+ { 0x3869, 10644 },
+ { 0x3861, 10649 },
+ { 0x384F, 10654 },
+ { 0x387A, 10659 },
+ { 0x3866, 10664 },
+ { 0x3856, 10669 },
+ { 0x385E, 10674 },
+ { 0x386C, 10679 },
+ { 0x3852, 10684 },
+ { 0x3878, 10689 },
+ { 0x384C, 10694 },
+ { 0x3874, 10699 },
+ { 0x386E, 10704 },
+ { 0x3864, 10709 },
+ { 0x3868, 10714 },
+ { 0x3872, 10719 },
+ { 0x385A, 10724 },
+ { 0x3860, 10729 },
+ { 0x3876, 10734 },
+ { 0x3870, 10739 },
+ { 0x3858, 10744 },
+ { 0x384E, 10749 },
+ { 0x3854, 10754 },
+ { 0x385C, 10759 },
+ { 0x386A, 10764 },
+ { 0x3862, 10769 },
+ { 0x3850, 10774 },
+ { 0x3891, 10779 },
+ { 0x3892, 10784 },
+ { 0x388E, 10789 },
+ { 0x3890, 10793 },
+ { 0x388F, 10797 },
+ { 0x2503, 10801 },
+ { 0x2462, 10804 },
+ { 0x2460, 10810 },
+ { 0x2463, 10814 },
+ { 0x67CF, 10820 },
+ { 0x26E8, 10822 },
+ { 0x28F8, 10826 },
+ { 0x1E79, 10830 },
+ { 0x1E68, 10833 },
+ { 0x28E1, 10836 },
+ { 0x1E75, 10840 },
+ { 0x6943, 10843 },
+ { 0x1F37, 10848 },
+ { 0x1E67, 10851 },
+ { 0x28E2, 10854 },
+ { 0x1E76, 10858 },
+ { 0x1F0D, 10861 },
+ { 0x1F39, 10864 },
+ { 0x1F35, 10868 },
+ { 0x1BA9, 10870 },
+ { 0x1BDE, 10873 },
+ { 0x6892, 10876 },
+ { 0x28E9, 10880 },
+ { 0x6893, 10886 },
+ { 0x69D4, 10890 },
+ { 0x68BB, 10893 },
+ { 0x24EF, 10895 },
+ { 0x6A0E, 10898 },
+ { 0x252E, 10901 },
+ { 0x252D, 10905 },
+ { 0x1BD5, 10909 },
+ { 0x259B, 10913 },
+ { 0x257C, 10917 },
+ { 0x257B, 10921 },
+ { 0x347A, 10925 },
+ { 0x3479, 10928 },
+ { 0x348D, 10930 },
+ { 0x3492, 10933 },
+ { 0x348E, 10936 },
+ { 0x3491, 10939 },
+ { 0x3490, 10942 },
+ { 0x3495, 10945 },
+ { 0x348C, 10948 },
+ { 0x3494, 10951 },
+ { 0x3493, 10954 },
+ { 0x348F, 10957 },
+ { 0x3484, 10960 },
+ { 0x3482, 10963 },
+ { 0x3485, 10966 },
+ { 0x3483, 10969 },
+ { 0x3486, 10972 },
+ { 0x348A, 10975 },
+ { 0x348B, 10978 },
+ { 0x3488, 10981 },
+ { 0x3481, 10984 },
+ { 0x3489, 10987 },
+ { 0x3487, 10990 },
+ { 0x347F, 10993 },
+ { 0x3480, 10996 },
+ { 0x347B, 10999 },
+ { 0x33B5, 11002 },
+ { 0x344D, 11005 },
+ { 0x3390, 11008 },
+ { 0x3426, 11011 },
+ { 0x3401, 11014 },
+ { 0x33B6, 11017 },
+ { 0x33BE, 11020 },
+ { 0x3456, 11023 },
+ { 0x3398, 11026 },
+ { 0x342F, 11029 },
+ { 0x3409, 11032 },
+ { 0x33D2, 11035 },
+ { 0x346B, 11038 },
+ { 0x33AB, 11041 },
+ { 0x3443, 11044 },
+ { 0x341C, 11047 },
+ { 0x33CC, 11050 },
+ { 0x3465, 11053 },
+ { 0x33A5, 11056 },
+ { 0x343D, 11059 },
+ { 0x3416, 11062 },
+ { 0x336C, 11065 },
+ { 0x344E, 11068 },
+ { 0x33C4, 11071 },
+ { 0x345D, 11074 },
+ { 0x339D, 11077 },
+ { 0x3435, 11080 },
+ { 0x340E, 11083 },
+ { 0x33D9, 11086 },
+ { 0x3472, 11089 },
+ { 0x33B1, 11092 },
+ { 0x3449, 11095 },
+ { 0x3422, 11098 },
+ { 0x33B8, 11101 },
+ { 0x3450, 11104 },
+ { 0x3392, 11107 },
+ { 0x3429, 11110 },
+ { 0x3403, 11113 },
+ { 0x3391, 11116 },
+ { 0x33D3, 11119 },
+ { 0x346C, 11122 },
+ { 0x33AC, 11125 },
+ { 0x3444, 11128 },
+ { 0x341D, 11131 },
+ { 0x33D6, 11134 },
+ { 0x346F, 11137 },
+ { 0x33AF, 11140 },
+ { 0x3447, 11143 },
+ { 0x3420, 11146 },
+ { 0x33CA, 11149 },
+ { 0x3463, 11152 },
+ { 0x33A3, 11155 },
+ { 0x343B, 11158 },
+ { 0x3414, 11161 },
+ { 0x33DA, 11164 },
+ { 0x3474, 11167 },
+ { 0x33B2, 11170 },
+ { 0x344A, 11173 },
+ { 0x3423, 11176 },
+ { 0x33DB, 11179 },
+ { 0x3475, 11182 },
+ { 0x3477, 11185 },
+ { 0x33B3, 11188 },
+ { 0x344B, 11191 },
+ { 0x3424, 11194 },
+ { 0x3427, 11197 },
+ { 0x33DD, 11200 },
+ { 0x33BC, 11203 },
+ { 0x3454, 11206 },
+ { 0x3396, 11209 },
+ { 0x342D, 11212 },
+ { 0x3407, 11215 },
+ { 0x33CB, 11218 },
+ { 0x3464, 11221 },
+ { 0x33A4, 11224 },
+ { 0x343C, 11227 },
+ { 0x3415, 11230 },
+ { 0x33CE, 11233 },
+ { 0x3467, 11236 },
+ { 0x33A7, 11239 },
+ { 0x343F, 11242 },
+ { 0x3418, 11245 },
+ { 0x33C6, 11248 },
+ { 0x345F, 11251 },
+ { 0x339F, 11254 },
+ { 0x3437, 11257 },
+ { 0x3410, 11260 },
+ { 0x3402, 11263 },
+ { 0x33C5, 11266 },
+ { 0x345E, 11269 },
+ { 0x339E, 11272 },
+ { 0x3436, 11275 },
+ { 0x340F, 11278 },
+ { 0x33BA, 11281 },
+ { 0x3452, 11284 },
+ { 0x3394, 11287 },
+ { 0x342B, 11290 },
+ { 0x3405, 11293 },
+ { 0x33D5, 11296 },
+ { 0x346E, 11299 },
+ { 0x33AE, 11302 },
+ { 0x3446, 11305 },
+ { 0x341F, 11308 },
+ { 0x33D0, 11311 },
+ { 0x3469, 11314 },
+ { 0x33A9, 11317 },
+ { 0x3441, 11320 },
+ { 0x341A, 11323 },
+ { 0x3373, 11326 },
+ { 0x33BD, 11329 },
+ { 0x3455, 11332 },
+ { 0x3397, 11335 },
+ { 0x342E, 11338 },
+ { 0x3408, 11341 },
+ { 0x33E4, 11344 },
+ { 0x3386, 11347 },
+ { 0x33F7, 11350 },
+ { 0x3380, 11353 },
+ { 0x33C8, 11356 },
+ { 0x3461, 11359 },
+ { 0x33A1, 11362 },
+ { 0x3439, 11365 },
+ { 0x3412, 11368 },
+ { 0x33F1, 11371 },
+ { 0x336D, 11374 },
+ { 0x3378, 11377 },
+ { 0x33E9, 11380 },
+ { 0x33C3, 11383 },
+ { 0x345B, 11386 },
+ { 0x339C, 11389 },
+ { 0x3433, 11392 },
+ { 0x340D, 11395 },
+ { 0x338C, 11398 },
+ { 0x3473, 11401 },
+ { 0x33FD, 11404 },
+ { 0x33B9, 11407 },
+ { 0x336E, 11410 },
+ { 0x3451, 11413 },
+ { 0x3393, 11416 },
+ { 0x342A, 11419 },
+ { 0x33DF, 11422 },
+ { 0x3404, 11425 },
+ { 0x3387, 11428 },
+ { 0x33F8, 11431 },
+ { 0x33D7, 11434 },
+ { 0x338A, 11437 },
+ { 0x33FB, 11440 },
+ { 0x33C0, 11443 },
+ { 0x3458, 11446 },
+ { 0x339A, 11449 },
+ { 0x3431, 11452 },
+ { 0x340B, 11455 },
+ { 0x337E, 11458 },
+ { 0x33EF, 11461 },
+ { 0x33BF, 11464 },
+ { 0x3457, 11467 },
+ { 0x3399, 11470 },
+ { 0x3430, 11473 },
+ { 0x340A, 11476 },
+ { 0x338D, 11479 },
+ { 0x33FE, 11482 },
+ { 0x33CD, 11485 },
+ { 0x3466, 11488 },
+ { 0x33A6, 11491 },
+ { 0x343E, 11494 },
+ { 0x3417, 11497 },
+ { 0x338E, 11500 },
+ { 0x33D4, 11503 },
+ { 0x346D, 11506 },
+ { 0x33AD, 11509 },
+ { 0x3445, 11512 },
+ { 0x341E, 11515 },
+ { 0x33FF, 11518 },
+ { 0x33DC, 11521 },
+ { 0x3476, 11524 },
+ { 0x33B4, 11527 },
+ { 0x344C, 11530 },
+ { 0x3425, 11533 },
+ { 0x33DE, 11536 },
+ { 0x3371, 11539 },
+ { 0x33E2, 11542 },
+ { 0x337F, 11545 },
+ { 0x33F0, 11548 },
+ { 0x3382, 11551 },
+ { 0x33CF, 11554 },
+ { 0x3468, 11557 },
+ { 0x33A8, 11560 },
+ { 0x3440, 11563 },
+ { 0x3419, 11566 },
+ { 0x33F3, 11569 },
+ { 0x337A, 11572 },
+ { 0x33C7, 11575 },
+ { 0x3460, 11578 },
+ { 0x33A0, 11581 },
+ { 0x3438, 11584 },
+ { 0x3411, 11587 },
+ { 0x33EB, 11590 },
+ { 0x3379, 11593 },
+ { 0x33EA, 11596 },
+ { 0x33BB, 11599 },
+ { 0x336F, 11602 },
+ { 0x3453, 11605 },
+ { 0x3395, 11608 },
+ { 0x342C, 11611 },
+ { 0x33E0, 11614 },
+ { 0x3406, 11617 },
+ { 0x3389, 11620 },
+ { 0x33FA, 11623 },
+ { 0x3384, 11626 },
+ { 0x33D1, 11629 },
+ { 0x346A, 11632 },
+ { 0x33AA, 11635 },
+ { 0x3442, 11638 },
+ { 0x341B, 11641 },
+ { 0x33F5, 11644 },
+ { 0x3372, 11647 },
+ { 0x33E3, 11650 },
+ { 0x337C, 11653 },
+ { 0x33C9, 11656 },
+ { 0x3462, 11659 },
+ { 0x33A2, 11662 },
+ { 0x343A, 11665 },
+ { 0x3413, 11668 },
+ { 0x33ED, 11671 },
+ { 0x3377, 11674 },
+ { 0x345C, 11677 },
+ { 0x3434, 11680 },
+ { 0x33E8, 11683 },
+ { 0x33C1, 11686 },
+ { 0x3375, 11689 },
+ { 0x3459, 11692 },
+ { 0x33E6, 11695 },
+ { 0x3374, 11698 },
+ { 0x33E5, 11701 },
+ { 0x33C2, 11704 },
+ { 0x345A, 11707 },
+ { 0x339B, 11710 },
+ { 0x3432, 11713 },
+ { 0x340C, 11716 },
+ { 0x3381, 11719 },
+ { 0x33F2, 11722 },
+ { 0x33B7, 11725 },
+ { 0x344F, 11728 },
+ { 0x33D8, 11731 },
+ { 0x3470, 11734 },
+ { 0x33B0, 11737 },
+ { 0x3448, 11740 },
+ { 0x3421, 11743 },
+ { 0x3428, 11746 },
+ { 0x3388, 11749 },
+ { 0x33F9, 11752 },
+ { 0x338F, 11755 },
+ { 0x3400, 11758 },
+ { 0x3383, 11761 },
+ { 0x33F4, 11764 },
+ { 0x337B, 11767 },
+ { 0x33EC, 11770 },
+ { 0x3370, 11773 },
+ { 0x33E1, 11776 },
+ { 0x3385, 11779 },
+ { 0x33F6, 11782 },
+ { 0x337D, 11785 },
+ { 0x33EE, 11788 },
+ { 0x3376, 11791 },
+ { 0x33E7, 11794 },
+ { 0x3497, 11797 },
+ { 0x347C, 11801 },
+ { 0x347D, 11805 },
+ { 0x3496, 11809 },
+ { 0x347E, 11813 },
+ { 0x338B, 11817 },
+ { 0x3471, 11820 },
+ { 0x33FC, 11823 },
+ { 0x3478, 11826 },
+ { 0x1C26, 11829 },
+ { 0x1E14, 11831 },
+ { 0x0064, 11832 },
+ { 0x2155, 11834 },
+ { 0x1B91, 11836 },
+ { 0x4AF2, 11837 },
+ { 0x4AF0, 11840 },
+ { 0x4AE3, 11844 },
+ { 0x4AF1, 11847 },
+ { 0x4AE5, 11850 },
+ { 0x4AEA, 11853 },
+ { 0x4AE6, 11856 },
+ { 0x4AE9, 11859 },
+ { 0x4AE8, 11862 },
+ { 0x4AED, 11865 },
+ { 0x4AE4, 11868 },
+ { 0x4AEC, 11871 },
+ { 0x4AEB, 11874 },
+ { 0x4AE7, 11877 },
+ { 0x4AD8, 11880 },
+ { 0x4ADE, 11884 },
+ { 0x4ADA, 11888 },
+ { 0x4AE0, 11892 },
+ { 0x4ADC, 11896 },
+ { 0x4AD9, 11900 },
+ { 0x4AE1, 11904 },
+ { 0x4AE2, 11908 },
+ { 0x4ADF, 11912 },
+ { 0x4ADB, 11916 },
+ { 0x4ADD, 11920 },
+ { 0x4ACD, 11924 },
+ { 0x4AC3, 11927 },
+ { 0x4ACE, 11930 },
+ { 0x4AD0, 11933 },
+ { 0x4ACC, 11936 },
+ { 0x4AC5, 11939 },
+ { 0x4ABB, 11942 },
+ { 0x4AC9, 11945 },
+ { 0x4AC4, 11948 },
+ { 0x4ABE, 11951 },
+ { 0x4AC1, 11954 },
+ { 0x4AC8, 11957 },
+ { 0x4ACA, 11960 },
+ { 0x4ABF, 11963 },
+ { 0x4AD3, 11966 },
+ { 0x4AC6, 11969 },
+ { 0x4ACF, 11972 },
+ { 0x4AD2, 11975 },
+ { 0x4AD4, 11978 },
+ { 0x4ABC, 11981 },
+ { 0x4ABD, 11984 },
+ { 0x4ACB, 11987 },
+ { 0x4AC2, 11990 },
+ { 0x4AC7, 11993 },
+ { 0x4AD1, 11996 },
+ { 0x4AC0, 12000 },
+ { 0x4AEE, 12004 },
+ { 0x4AEF, 12007 },
+ { 0x4AF3, 12010 },
+ { 0x4AD5, 12013 },
+ { 0x4AD6, 12018 },
+ { 0x4AD7, 12023 },
+ { 0x1C92, 12029 },
+ { 0x214B, 12031 },
+ { 0x21C1, 12032 },
+ { 0x689C, 12034 },
+ { 0x68A2, 12035 },
+ { 0x684A, 12037 },
+ { 0x67A2, 12039 },
+ { 0x6AE0, 12041 },
+ { 0x69A7, 12043 },
+ { 0x693F, 12046 },
+ { 0x680C, 12051 },
+ { 0x6AE4, 12052 },
+ { 0x6861, 12053 },
+ { 0x67A0, 12055 },
+ { 0x693A, 12057 },
+ { 0x693B, 12058 },
+ { 0x1ED7, 12062 },
+ { 0x2684, 12064 },
+ { 0x684C, 12071 },
+ { 0x68FE, 12072 },
+ { 0x68BF, 12074 },
+ { 0x683D, 12076 },
+ { 0x6BB1, 12077 },
+ { 0x6BAB, 12081 },
+ { 0x6BB7, 12085 },
+ { 0x6B9E, 12089 },
+ { 0x6B80, 12092 },
+ { 0x6B8A, 12095 },
+ { 0x6BA5, 12098 },
+ { 0x68C9, 12100 },
+ { 0x6994, 12101 },
+ { 0x6975, 12102 },
+ { 0x6AED, 12105 },
+ { 0x688A, 12107 },
+ { 0x3D52, 12110 },
+ { 0x1C63, 12113 },
+ { 0x69E7, 12115 },
+ { 0x68ED, 12118 },
+ { 0x69E6, 12120 },
+ { 0x1C62, 12123 },
+ { 0x67B5, 12125 },
+ { 0x1C32, 12127 },
+ { 0x0061, 12129 },
+ { 0x381E, 12131 },
+ { 0x3823, 12134 },
+ { 0x381F, 12137 },
+ { 0x3822, 12140 },
+ { 0x3821, 12143 },
+ { 0x3826, 12146 },
+ { 0x381D, 12149 },
+ { 0x3825, 12152 },
+ { 0x3824, 12155 },
+ { 0x3820, 12158 },
+ { 0x3802, 12161 },
+ { 0x3807, 12165 },
+ { 0x3805, 12169 },
+ { 0x3801, 12173 },
+ { 0x3808, 12177 },
+ { 0x3809, 12181 },
+ { 0x3804, 12185 },
+ { 0x3803, 12189 },
+ { 0x3806, 12193 },
+ { 0x380A, 12197 },
+ { 0x37D8, 12201 },
+ { 0x37DB, 12204 },
+ { 0x37D9, 12207 },
+ { 0x37DD, 12210 },
+ { 0x37DA, 12213 },
+ { 0x37DC, 12216 },
+ { 0x37F5, 12219 },
+ { 0x37ED, 12222 },
+ { 0x37E0, 12225 },
+ { 0x3800, 12228 },
+ { 0x37E6, 12231 },
+ { 0x37DE, 12234 },
+ { 0x37FC, 12237 },
+ { 0x37F8, 12240 },
+ { 0x37F0, 12243 },
+ { 0x37F2, 12246 },
+ { 0x37FB, 12249 },
+ { 0x37FF, 12252 },
+ { 0x37EB, 12255 },
+ { 0x37FD, 12258 },
+ { 0x37FA, 12261 },
+ { 0x37F9, 12264 },
+ { 0x37F6, 12267 },
+ { 0x37E4, 12270 },
+ { 0x37F1, 12273 },
+ { 0x37EE, 12276 },
+ { 0x37E1, 12279 },
+ { 0x37E7, 12282 },
+ { 0x37DF, 12285 },
+ { 0x37F7, 12288 },
+ { 0x37E3, 12291 },
+ { 0x37E9, 12294 },
+ { 0x37EF, 12297 },
+ { 0x37F4, 12300 },
+ { 0x37F3, 12303 },
+ { 0x37FE, 12306 },
+ { 0x37EC, 12309 },
+ { 0x37E5, 12312 },
+ { 0x37E2, 12315 },
+ { 0x37EA, 12318 },
+ { 0x37E8, 12321 },
+ { 0x3810, 12324 },
+ { 0x380F, 12328 },
+ { 0x3819, 12332 },
+ { 0x3815, 12336 },
+ { 0x3816, 12340 },
+ { 0x3818, 12344 },
+ { 0x3814, 12348 },
+ { 0x3817, 12352 },
+ { 0x3813, 12356 },
+ { 0x3811, 12360 },
+ { 0x381A, 12364 },
+ { 0x380D, 12368 },
+ { 0x380C, 12372 },
+ { 0x380E, 12376 },
+ { 0x380B, 12380 },
+ { 0x381C, 12384 },
+ { 0x381B, 12389 },
+ { 0x3812, 12394 },
+ { 0x3828, 12399 },
+ { 0x3829, 12402 },
+ { 0x3827, 12406 },
+ { 0x382A, 12409 },
+ { 0x6C6C, 12413 },
+ { 0x1D74, 12414 },
+ { 0x20B9, 12416 },
+ { 0x699C, 12418 },
+ { 0x68CE, 12420 },
+ { 0x1E07, 12422 },
+ { 0x1E05, 12425 },
+ { 0x1D7D, 12428 },
+ { 0x2614, 12431 },
+ { 0x1D65, 12438 },
+ { 0x1E44, 12443 },
+ { 0x1E46, 12449 },
+ { 0x1DD9, 12457 },
+ { 0x1E39, 12460 },
+ { 0x1DDA, 12465 },
+ { 0x1E3A, 12468 },
+ { 0x1C28, 12473 },
+ { 0x6ACE, 12475 },
+ { 0x6970, 12476 },
+ { 0x24A5, 12479 },
+ { 0x1DFD, 12482 },
+ { 0x2617, 12484 },
+ { 0x1E4A, 12489 },
+ { 0x1E5D, 12493 },
+ { 0x2197, 12495 },
+ { 0x1C29, 12498 },
+ { 0x6866, 12500 },
+ { 0x6A69, 12501 },
+ { 0x6A6A, 12506 },
+ { 0x6A37, 12510 },
+ { 0x6A48, 12514 },
+ { 0x6A52, 12519 },
+ { 0x6A54, 12523 },
+ { 0x6A26, 12530 },
+ { 0x6A5B, 12535 },
+ { 0x6A68, 12539 },
+ { 0x6A3F, 12543 },
+ { 0x6A40, 12547 },
+ { 0x6A41, 12554 },
+ { 0x6C65, 12561 },
+ { 0x6C68, 12564 },
+ { 0x68AC, 12567 },
+ { 0x6A5A, 12569 },
+ { 0x6A3C, 12572 },
+ { 0x6A2F, 12576 },
+ { 0x6A55, 12580 },
+ { 0x68E7, 12584 },
+ { 0x69E8, 12586 },
+ { 0x67C4, 12588 },
+ { 0x6923, 12590 },
+ { 0x694B, 12592 },
+ { 0x6AB6, 12593 },
+ { 0x6845, 12595 },
+ { 0x678B, 12596 },
+ { 0x28EC, 12601 },
+ { 0x1BDD, 12604 },
+ { 0x2219, 12607 },
+ { 0x679A, 12610 },
+ { 0x67A3, 12613 },
+ { 0x1BDF, 12618 },
+ { 0x1BDC, 12621 },
+ { 0x6766, 12624 },
+ { 0x26B8, 12627 },
+ { 0x6BC0, 12632 },
+ { 0x224B, 12636 },
+ { 0x2249, 12639 },
+ { 0x2248, 12642 },
+ { 0x685E, 12645 },
+ { 0x2223, 12647 },
+ { 0x6743, 12649 },
+ { 0x673B, 12653 },
+ { 0x000E, 12656 },
+ { 0x20AE, 12658 },
+ { 0x22FD, 12660 },
+ { 0x1F34, 12663 },
+ { 0x14A8, 12664 },
+ { 0x14A9, 12665 },
+ { 0x14AA, 12666 },
+ { 0x67D8, 12667 },
+ { 0x21BF, 12669 },
+ { 0x2214, 12670 },
+ { 0x2213, 12673 },
+ { 0x2A6A, 12676 },
+ { 0x688D, 12678 },
+ { 0x6836, 12679 },
+ { 0x1B8E, 12680 },
+ { 0x69D8, 12682 },
+ { 0x1EE1, 12684 },
+ { 0x6765, 12686 },
+ { 0x21C7, 12687 },
+ { 0x692C, 12690 },
+ { 0x6999, 12693 },
+ { 0x2543, 12694 },
+ { 0x21DB, 12695 },
+ { 0x68B5, 12696 },
+ { 0x68B1, 12697 },
+ { 0x6844, 12699 },
+ { 0x1C3B, 12701 },
+ { 0x2164, 12703 },
+ { 0x6742, 12706 },
+ { 0x673D, 12711 },
+ { 0x6769, 12715 },
+ { 0x2301, 12719 },
+ { 0x2300, 12723 },
+ { 0x24B9, 12728 },
+ { 0x28DB, 12732 },
+ { 0x20B5, 12736 },
+ { 0x20B4, 12740 },
+ { 0x2474, 12744 },
+ { 0x2470, 12751 },
+ { 0x2471, 12758 },
+ { 0x2476, 12765 },
+ { 0x24A2, 12772 },
+ { 0x20B1, 12775 },
+ { 0x20FC, 12779 },
+ { 0x20B2, 12783 },
+ { 0x69A0, 12786 },
+ { 0x1DFC, 12790 },
+ { 0x6A12, 12792 },
+ { 0x2A5F, 12795 },
+ { 0x24B7, 12798 },
+ { 0x2656, 12803 },
+ { 0x2658, 12808 },
+ { 0x24BD, 12813 },
+ { 0x2A67, 12818 },
+ { 0x005B, 12822 },
+ { 0x1F02, 12825 },
+ { 0x1F00, 12830 },
+ { 0x1F01, 12835 },
+ { 0x1E63, 12840 },
+ { 0x22FB, 12842 },
+ { 0x1D06, 12845 },
+ { 0x1CED, 12849 },
+ { 0x1D55, 12852 },
+ { 0x1D07, 12859 },
+ { 0x1D52, 12864 },
+ { 0x246E, 12870 },
+ { 0x2632, 12876 },
+ { 0x262A, 12880 },
+ { 0x1D2D, 12884 },
+ { 0x1D27, 12888 },
+ { 0x242A, 12894 },
+ { 0x6C1B, 12901 },
+ { 0x1D58, 12905 },
+ { 0x268A, 12909 },
+ { 0x20AF, 12913 },
+ { 0x20B3, 12917 },
+ { 0x20B0, 12921 },
+ { 0x24A9, 12925 },
+ { 0x2A65, 12929 },
+ { 0x2A71, 12933 },
+ { 0x2A6F, 12937 },
+ { 0x2A6D, 12942 },
+ { 0x24AB, 12946 },
+ { 0x2202, 12949 },
+ { 0x2A63, 12952 },
+ { 0x28C3, 12955 },
+ { 0x2A61, 12959 },
+ { 0x2500, 12963 },
+ { 0x1BA0, 12967 },
+ { 0x28E7, 12971 },
+ { 0x1E22, 12974 },
+ { 0x28CB, 12979 },
+ { 0x1B9C, 12983 },
+ { 0x6A0C, 12987 },
+ { 0x003B, 12990 },
+ { 0x24B3, 12993 },
+ { 0x24B5, 13001 },
+ { 0x1BC9, 13009 },
+ { 0x24B1, 13014 },
+ { 0x1EFC, 13019 },
+ { 0x1EFA, 13024 },
+ { 0x1EFB, 13029 },
+ { 0x24FE, 13033 },
+ { 0x1E61, 13036 },
+ { 0x6AE9, 13038 },
+ { 0x6A10, 13040 },
+ { 0x69B3, 13043 },
+ { 0x2302, 13046 },
+ { 0x22EB, 13048 },
+ { 0x28E5, 13052 },
+ { 0x2A6B, 13056 },
+ { 0x24F5, 13060 },
+ { 0x28DF, 13065 },
+ { 0x1F11, 13070 },
+ { 0x1E24, 13074 },
+ { 0x0008, 13077 },
+ { 0x1EF6, 13079 },
+ { 0x1EF4, 13083 },
+ { 0x1EF5, 13087 },
+ { 0x28C1, 13090 },
+ { 0x28C8, 13093 },
+ { 0x1BAC, 13096 },
+ { 0x253A, 13098 },
+ { 0x2538, 13104 },
+ { 0x2539, 13111 },
+ { 0x693D, 13118 },
+ { 0x6C6D, 13120 },
+ { 0x6A06, 13122 },
+ { 0x1C21, 13123 },
+ { 0x335A, 13125 },
+ { 0x335C, 13128 },
+ { 0x335E, 13131 },
+ { 0x335F, 13134 },
+ { 0x3360, 13137 },
+ { 0x335B, 13140 },
+ { 0x333C, 13143 },
+ { 0x3346, 13146 },
+ { 0x333F, 13149 },
+ { 0x335D, 13152 },
+ { 0x3355, 13155 },
+ { 0x3342, 13158 },
+ { 0x3352, 13161 },
+ { 0x3345, 13164 },
+ { 0x3343, 13167 },
+ { 0x334D, 13170 },
+ { 0x334B, 13173 },
+ { 0x334C, 13176 },
+ { 0x3363, 13179 },
+ { 0x333D, 13182 },
+ { 0x334E, 13185 },
+ { 0x3340, 13188 },
+ { 0x3361, 13191 },
+ { 0x3362, 13194 },
+ { 0x3356, 13197 },
+ { 0x3353, 13200 },
+ { 0x3358, 13203 },
+ { 0x3350, 13206 },
+ { 0x3347, 13209 },
+ { 0x3348, 13212 },
+ { 0x3359, 13215 },
+ { 0x3354, 13218 },
+ { 0x3344, 13221 },
+ { 0x3351, 13224 },
+ { 0x333E, 13227 },
+ { 0x3357, 13230 },
+ { 0x3341, 13233 },
+ { 0x3349, 13236 },
+ { 0x334F, 13239 },
+ { 0x3365, 13242 },
+ { 0x3367, 13247 },
+ { 0x3368, 13252 },
+ { 0x3364, 13257 },
+ { 0x3366, 13262 },
+ { 0x3369, 13267 },
+ { 0x334A, 13272 },
+ { 0x336B, 13275 },
+ { 0x336A, 13279 },
+ { 0x6938, 13282 },
+ { 0x6935, 13283 },
+ { 0x260C, 13287 },
+ { 0x2304, 13295 },
+ { 0x231D, 13298 },
+ { 0x2320, 13302 },
+ { 0x2303, 13307 },
+ { 0x22F2, 13310 },
+ { 0x231B, 13312 },
+ { 0x2321, 13315 },
+ { 0x231E, 13320 },
+ { 0x2323, 13324 },
+ { 0x2659, 13330 },
+ { 0x231C, 13334 },
+ { 0x2322, 13337 },
+ { 0x231F, 13342 },
+ { 0x2324, 13346 },
+ { 0x2325, 13352 },
+ { 0x680F, 13356 },
+ { 0x68B2, 13358 },
+ { 0x21CB, 13360 },
+ { 0x2168, 13364 },
+ { 0x21CD, 13366 },
+ { 0x21CC, 13374 },
+ { 0x6884, 13378 },
+ { 0x2A93, 13380 },
+ { 0x677C, 13382 },
+ { 0x6903, 13385 },
+ { 0x6ADD, 13386 },
+ { 0x5A17, 13388 },
+ { 0x5A18, 13392 },
+ { 0x5A16, 13396 },
+ { 0x5A45, 13399 },
+ { 0x5A46, 13403 },
+ { 0x5A47, 13406 },
+ { 0x5A44, 13409 },
+ { 0x5A19, 13412 },
+ { 0x5A22, 13416 },
+ { 0x5A26, 13420 },
+ { 0x5A42, 13424 },
+ { 0x5A1E, 13428 },
+ { 0x5A2F, 13432 },
+ { 0x5A21, 13436 },
+ { 0x5A36, 13440 },
+ { 0x5A1A, 13444 },
+ { 0x5A38, 13448 },
+ { 0x5A3E, 13452 },
+ { 0x5A1C, 13456 },
+ { 0x5A40, 13460 },
+ { 0x5A3F, 13464 },
+ { 0x5A23, 13468 },
+ { 0x5A3C, 13472 },
+ { 0x5A27, 13476 },
+ { 0x5A2B, 13480 },
+ { 0x5A2C, 13484 },
+ { 0x5A2A, 13488 },
+ { 0x5A2D, 13492 },
+ { 0x5A43, 13496 },
+ { 0x5A1F, 13500 },
+ { 0x5A41, 13504 },
+ { 0x5A30, 13508 },
+ { 0x5A33, 13512 },
+ { 0x5A20, 13516 },
+ { 0x5A37, 13520 },
+ { 0x5A39, 13524 },
+ { 0x5A1B, 13528 },
+ { 0x5A1D, 13532 },
+ { 0x5A24, 13536 },
+ { 0x5A3A, 13540 },
+ { 0x5A28, 13544 },
+ { 0x5A2E, 13548 },
+ { 0x5A25, 13552 },
+ { 0x5A31, 13556 },
+ { 0x5A34, 13560 },
+ { 0x5A35, 13564 },
+ { 0x5A29, 13568 },
+ { 0x5A32, 13572 },
+ { 0x5A3D, 13576 },
+ { 0x5A3B, 13581 },
+ { 0x5A13, 13586 },
+ { 0x59D1, 13589 },
+ { 0x59DB, 13592 },
+ { 0x59D7, 13595 },
+ { 0x59EF, 13598 },
+ { 0x59F6, 13601 },
+ { 0x59EE, 13604 },
+ { 0x59E6, 13607 },
+ { 0x59D4, 13610 },
+ { 0x59E0, 13613 },
+ { 0x59D0, 13616 },
+ { 0x59F1, 13619 },
+ { 0x5A0A, 13622 },
+ { 0x59DA, 13625 },
+ { 0x59D8, 13628 },
+ { 0x5A12, 13631 },
+ { 0x59F7, 13634 },
+ { 0x59F0, 13637 },
+ { 0x59D2, 13641 },
+ { 0x59DD, 13645 },
+ { 0x59E2, 13649 },
+ { 0x5A09, 13653 },
+ { 0x59DC, 13657 },
+ { 0x5A01, 13661 },
+ { 0x5A00, 13665 },
+ { 0x5A0B, 13669 },
+ { 0x59DF, 13672 },
+ { 0x5A08, 13675 },
+ { 0x59F8, 13678 },
+ { 0x5A14, 13681 },
+ { 0x59E8, 13684 },
+ { 0x59E7, 13687 },
+ { 0x59D5, 13690 },
+ { 0x59F3, 13693 },
+ { 0x59E1, 13696 },
+ { 0x59E4, 13699 },
+ { 0x59FC, 13702 },
+ { 0x59D3, 13705 },
+ { 0x59F2, 13708 },
+ { 0x5A03, 13711 },
+ { 0x5A04, 13714 },
+ { 0x5A07, 13717 },
+ { 0x59DE, 13720 },
+ { 0x59D9, 13723 },
+ { 0x5A05, 13726 },
+ { 0x5A0C, 13729 },
+ { 0x5A0D, 13732 },
+ { 0x59EB, 13735 },
+ { 0x59FF, 13738 },
+ { 0x59FB, 13741 },
+ { 0x59F9, 13744 },
+ { 0x59E9, 13747 },
+ { 0x59F4, 13750 },
+ { 0x59E5, 13753 },
+ { 0x59FD, 13756 },
+ { 0x59EA, 13759 },
+ { 0x59FE, 13762 },
+ { 0x59FA, 13765 },
+ { 0x5A06, 13768 },
+ { 0x5A0E, 13771 },
+ { 0x5A10, 13774 },
+ { 0x59ED, 13777 },
+ { 0x59EC, 13780 },
+ { 0x5A11, 13783 },
+ { 0x5A48, 13786 },
+ { 0x5A49, 13789 },
+ { 0x5A4A, 13792 },
+ { 0x5A4B, 13795 },
+ { 0x5A4C, 13798 },
+ { 0x5A4D, 13801 },
+ { 0x5A4E, 13804 },
+ { 0x59D6, 13807 },
+ { 0x59E3, 13811 },
+ { 0x59F5, 13815 },
+ { 0x5A0F, 13819 },
+ { 0x5A02, 13823 },
+ { 0x5A4F, 13827 },
+ { 0x5A50, 13831 },
+ { 0x5A51, 13835 },
+ { 0x5A52, 13839 },
+ { 0x5A53, 13843 },
+ { 0x5A54, 13847 },
+ { 0x5A15, 13851 },
+ { 0x1F83, 13854 },
+ { 0x1F84, 13858 },
+ { 0x1C22, 13861 },
+ { 0x2525, 13863 },
+ { 0x1BE3, 13864 },
+ { 0x4A6E, 13865 },
+ { 0x4A69, 13868 },
+ { 0x4A68, 13871 },
+ { 0x4A67, 13874 },
+ { 0x4A6A, 13877 },
+ { 0x4A6B, 13880 },
+ { 0x4A70, 13882 },
+ { 0x4A75, 13885 },
+ { 0x4A71, 13888 },
+ { 0x4A74, 13891 },
+ { 0x4A73, 13894 },
+ { 0x4A78, 13897 },
+ { 0x4A6F, 13900 },
+ { 0x4A77, 13903 },
+ { 0x4A76, 13906 },
+ { 0x4A72, 13909 },
+ { 0x4A63, 13912 },
+ { 0x4A5B, 13916 },
+ { 0x4A65, 13920 },
+ { 0x4A5D, 13924 },
+ { 0x4A5A, 13928 },
+ { 0x4A64, 13932 },
+ { 0x4A66, 13936 },
+ { 0x4A5C, 13940 },
+ { 0x4A5E, 13944 },
+ { 0x4A61, 13948 },
+ { 0x4A5F, 13953 },
+ { 0x4A62, 13958 },
+ { 0x4A60, 13963 },
+ { 0x4A6C, 13968 },
+ { 0x4A2A, 13971 },
+ { 0x4A34, 13974 },
+ { 0x4A2C, 13977 },
+ { 0x4A36, 13980 },
+ { 0x4A2E, 13983 },
+ { 0x4A2B, 13986 },
+ { 0x4A35, 13989 },
+ { 0x4A37, 13992 },
+ { 0x4A4E, 13995 },
+ { 0x4A3D, 13998 },
+ { 0x4A49, 14001 },
+ { 0x4A3A, 14004 },
+ { 0x4A58, 14007 },
+ { 0x4A2D, 14010 },
+ { 0x4A3F, 14013 },
+ { 0x4A38, 14016 },
+ { 0x4A53, 14019 },
+ { 0x4A50, 14022 },
+ { 0x4A4B, 14025 },
+ { 0x4A4C, 14028 },
+ { 0x4A52, 14031 },
+ { 0x4A57, 14034 },
+ { 0x4A47, 14037 },
+ { 0x4A2F, 14040 },
+ { 0x4A54, 14043 },
+ { 0x4A51, 14046 },
+ { 0x4A4F, 14049 },
+ { 0x4A3E, 14052 },
+ { 0x4A44, 14055 },
+ { 0x4A4A, 14058 },
+ { 0x4A3B, 14061 },
+ { 0x4A40, 14064 },
+ { 0x4A39, 14067 },
+ { 0x4A59, 14070 },
+ { 0x4A3C, 14073 },
+ { 0x4A46, 14076 },
+ { 0x4A41, 14079 },
+ { 0x4A4D, 14082 },
+ { 0x4A55, 14085 },
+ { 0x4A56, 14088 },
+ { 0x4A48, 14091 },
+ { 0x4A42, 14094 },
+ { 0x4A45, 14097 },
+ { 0x4A43, 14100 },
+ { 0x4A32, 14103 },
+ { 0x4A30, 14107 },
+ { 0x4A33, 14111 },
+ { 0x4A31, 14115 },
+ { 0x4A6D, 14119 },
+ { 0x6A14, 14122 },
+ { 0x67B7, 14124 },
+ { 0x1DC3, 14127 },
+ { 0x1DC4, 14129 },
+ { 0x68AB, 14131 },
+ { 0x6901, 14133 },
+ { 0x1E15, 14135 },
+ { 0x005F, 14136 },
+ { 0x6C66, 14137 },
+ { 0x1EF1, 14139 },
+ { 0x6869, 14141 },
+ { 0x69EC, 14142 },
+ { 0x69EE, 14143 },
+ { 0x69ED, 14145 },
+ { 0x6788, 14147 },
+ { 0x1F77, 14148 },
+ { 0x68FC, 14150 },
+ { 0x68E8, 14152 },
+ { 0x6939, 14155 },
+ { 0x6876, 14157 },
+ { 0x2251, 14160 },
+ { 0x2241, 14164 },
+ { 0x2258, 14167 },
+ { 0x2262, 14170 },
+ { 0x69E5, 14174 },
+ { 0x22E9, 14176 },
+ { 0x6912, 14178 },
+ { 0x6913, 14183 },
+ { 0x22EA, 14188 },
+ { 0x69F3, 14190 },
+ { 0x68E9, 14191 },
+ { 0x6A03, 14194 },
+ { 0x68EA, 14198 },
+ { 0x675A, 14201 },
+ { 0x28D8, 14203 },
+ { 0x2A94, 14205 },
+ { 0x6776, 14208 },
+ { 0x1C2E, 14209 },
+ { 0x21F5, 14211 },
+ { 0x68CF, 14212 },
+ { 0x68B0, 14215 },
+ { 0x67B3, 14216 },
+ { 0x000B, 14218 },
+ { 0x2553, 14220 },
+ { 0x2554, 14226 },
+ { 0x255F, 14232 },
+ { 0x254B, 14236 },
+ { 0x254E, 14241 },
+ { 0x2548, 14246 },
+ { 0x254A, 14252 },
+ { 0x254C, 14257 },
+ { 0x254D, 14262 },
+ { 0x2549, 14267 },
+ { 0x2598, 14273 },
+ { 0x21EC, 14278 },
+ { 0x3C70, 14279 },
+ { 0x677F, 14281 },
+ { 0x677E, 14283 },
+ { 0x68B3, 14285 },
+ { 0x1DAF, 14286 },
+ { 0x0299, 14290 },
+ { 0x1DB0, 14292 },
+ { 0x28EF, 14295 },
+ { 0x1D71, 14297 },
+ { 0x675F, 14299 },
+ { 0x46B2, 14300 },
+ { 0x46B7, 14303 },
+ { 0x46B3, 14306 },
+ { 0x46B6, 14309 },
+ { 0x46B5, 14312 },
+ { 0x46BA, 14315 },
+ { 0x46B9, 14318 },
+ { 0x46B8, 14321 },
+ { 0x46B4, 14324 },
+ { 0x46C4, 14327 },
+ { 0x46C9, 14331 },
+ { 0x46BB, 14335 },
+ { 0x46C5, 14338 },
+ { 0x46C8, 14342 },
+ { 0x46C7, 14346 },
+ { 0x46CC, 14350 },
+ { 0x46CB, 14354 },
+ { 0x46BF, 14358 },
+ { 0x46BE, 14361 },
+ { 0x46CA, 14364 },
+ { 0x46C0, 14368 },
+ { 0x46C6, 14371 },
+ { 0x46C2, 14375 },
+ { 0x46C3, 14378 },
+ { 0x46BD, 14381 },
+ { 0x46BC, 14384 },
+ { 0x46C1, 14387 },
+ { 0x46CD, 14390 },
+ { 0x46CF, 14394 },
+ { 0x46CE, 14398 },
+ { 0x46D0, 14402 },
+ { 0x679C, 14406 },
+ { 0x68E0, 14410 },
+ { 0x6AC6, 14411 },
+ { 0x6C6B, 14412 },
+ { 0x1D98, 14416 },
+ { 0x67D6, 14418 },
+ { 0x67FA, 14420 },
+ { 0x678C, 14423 },
+ { 0x69D0, 14426 },
+ { 0x006C, 14430 },
+ { 0x6942, 14432 },
+ { 0x479A, 14437 },
+ { 0x479F, 14441 },
+ { 0x479B, 14445 },
+ { 0x479E, 14449 },
+ { 0x479D, 14453 },
+ { 0x47A2, 14457 },
+ { 0x4799, 14461 },
+ { 0x47A1, 14465 },
+ { 0x47A0, 14469 },
+ { 0x479C, 14473 },
+ { 0x4792, 14477 },
+ { 0x4797, 14481 },
+ { 0x4794, 14485 },
+ { 0x4796, 14489 },
+ { 0x4795, 14493 },
+ { 0x4782, 14497 },
+ { 0x4783, 14501 },
+ { 0x4784, 14505 },
+ { 0x4793, 14509 },
+ { 0x4785, 14513 },
+ { 0x478E, 14517 },
+ { 0x4790, 14521 },
+ { 0x478F, 14525 },
+ { 0x4788, 14529 },
+ { 0x4798, 14533 },
+ { 0x4786, 14537 },
+ { 0x4789, 14541 },
+ { 0x478B, 14545 },
+ { 0x478D, 14549 },
+ { 0x4780, 14553 },
+ { 0x4781, 14557 },
+ { 0x478A, 14561 },
+ { 0x478C, 14565 },
+ { 0x4787, 14569 },
+ { 0x4791, 14573 },
+ { 0x2247, 14577 },
+ { 0x2150, 14580 },
+ { 0x1DB4, 14583 },
+ { 0x1E1F, 14585 },
+ { 0x6754, 14587 },
+ { 0x222D, 14588 },
+ { 0x69D1, 14590 },
+ { 0x6AB9, 14592 },
+ { 0x2220, 14593 },
+ { 0x0BEF, 14594 },
+ { 0x0BF4, 14597 },
+ { 0x0BF0, 14600 },
+ { 0x0BF3, 14603 },
+ { 0x0BF2, 14606 },
+ { 0x0BF7, 14609 },
+ { 0x0BEE, 14612 },
+ { 0x0BF6, 14615 },
+ { 0x0BF5, 14618 },
+ { 0x0BF1, 14621 },
+ { 0x0BDD, 14624 },
+ { 0x0BCF, 14628 },
+ { 0x0BBC, 14632 },
+ { 0x0BB6, 14636 },
+ { 0x0BB0, 14640 },
+ { 0x0BBF, 14644 },
+ { 0x0BC1, 14648 },
+ { 0x0BCD, 14652 },
+ { 0x0BD0, 14656 },
+ { 0x0BA3, 14660 },
+ { 0x0BC7, 14664 },
+ { 0x0BCE, 14668 },
+ { 0x0BC8, 14672 },
+ { 0x0BC3, 14675 },
+ { 0x0BBB, 14679 },
+ { 0x0BB5, 14683 },
+ { 0x0BBD, 14687 },
+ { 0x0BC5, 14691 },
+ { 0x0BC6, 14695 },
+ { 0x0BAD, 14698 },
+ { 0x0BCC, 14702 },
+ { 0x0BCB, 14706 },
+ { 0x0BCA, 14710 },
+ { 0x0BB7, 14714 },
+ { 0x0BB1, 14718 },
+ { 0x0BC9, 14722 },
+ { 0x0BC4, 14726 },
+ { 0x0BAF, 14730 },
+ { 0x0BAA, 14734 },
+ { 0x0BAE, 14738 },
+ { 0x0BAC, 14742 },
+ { 0x0BAB, 14746 },
+ { 0x0BA4, 14750 },
+ { 0x0BA7, 14754 },
+ { 0x0BA5, 14758 },
+ { 0x0BA6, 14762 },
+ { 0x0BA8, 14766 },
+ { 0x0BE6, 14770 },
+ { 0x0BE7, 14774 },
+ { 0x0BE8, 14778 },
+ { 0x0BE9, 14782 },
+ { 0x0BD3, 14786 },
+ { 0x0BA9, 14790 },
+ { 0x0BC0, 14794 },
+ { 0x0BBE, 14798 },
+ { 0x0BC2, 14802 },
+ { 0x0BB2, 14806 },
+ { 0x0BBA, 14810 },
+ { 0x0BB8, 14814 },
+ { 0x0BB9, 14818 },
+ { 0x0BB4, 14822 },
+ { 0x0BB3, 14826 },
+ { 0x0BD2, 14830 },
+ { 0x0BDE, 14834 },
+ { 0x0BD6, 14838 },
+ { 0x0BE0, 14842 },
+ { 0x0BDA, 14846 },
+ { 0x0BD4, 14850 },
+ { 0x0BDF, 14854 },
+ { 0x0BE1, 14858 },
+ { 0x0BE2, 14863 },
+ { 0x0BD5, 14868 },
+ { 0x0BD7, 14872 },
+ { 0x0BD8, 14876 },
+ { 0x0BDB, 14880 },
+ { 0x0BD9, 14884 },
+ { 0x0BF9, 14888 },
+ { 0x0BED, 14891 },
+ { 0x0BDC, 14894 },
+ { 0x0BE4, 14897 },
+ { 0x0BEB, 14900 },
+ { 0x0BEC, 14903 },
+ { 0x0BE5, 14906 },
+ { 0x0BD1, 14909 },
+ { 0x0BF8, 14912 },
+ { 0x0BE3, 14915 },
+ { 0x0BEA, 14918 },
+ { 0x6B9B, 14921 },
+ { 0x1B8D, 14924 },
+ { 0x6BA2, 14926 },
+ { 0x2524, 14928 },
+ { 0x45A1, 14929 },
+ { 0x6AAE, 14936 },
+ { 0x6AAF, 14937 },
+ { 0x1E01, 14939 },
+ { 0x1EE5, 14940 },
+ { 0x6B9F, 14942 },
+ { 0x1E31, 14946 },
+ { 0x1E32, 14949 },
+ { 0x6BB3, 14952 },
+ { 0x6BAD, 14957 },
+ { 0x6BB9, 14962 },
+ { 0x6BCA, 14967 },
+ { 0x6BA0, 14973 },
+ { 0x6B82, 14977 },
+ { 0x6B8C, 14981 },
+ { 0x6AA1, 14985 },
+ { 0x6BA7, 14989 },
+ { 0x6AA0, 14992 },
+ { 0x2A73, 14995 },
+ { 0x2665, 14997 },
+ { 0x2459, 15002 },
+ { 0x3CAB, 15007 },
+ { 0x2A87, 15010 },
+ { 0x1E60, 15012 },
+ { 0x3CA7, 15014 },
+ { 0x2196, 15016 },
+ { 0x67B6, 15019 },
+ { 0x6752, 15021 },
+ { 0x679D, 15024 },
+ { 0x6860, 15026 },
+ { 0x1BE4, 15028 },
+ { 0x28F0, 15030 },
+ { 0x1B8F, 15034 },
+ { 0x1B91, 15037 },
+ { 0x3D52, 15040 },
+ { 0x1B90, 15044 },
+ { 0x1B90, 15047 },
+ { 0x1B8F, 15048 },
+ { 0x24C5, 15049 },
+ { 0x0073, 15051 },
+ { 0x1F49, 15053 },
+ { 0x68A4, 15055 },
+ { 0x68C8, 15057 },
+ { 0x1D79, 15059 },
+ { 0x24C4, 15060 },
+ { 0x24CA, 15064 },
+ { 0x6A44, 15067 },
+ { 0x216E, 15069 },
+ { 0x245C, 15070 },
+ { 0x245D, 15076 },
+ { 0x245A, 15082 },
+ { 0x245B, 15088 },
+ { 0x354B, 15094 },
+ { 0x354C, 15097 },
+ { 0x354D, 15099 },
+ { 0x34F8, 15101 },
+ { 0x3501, 15104 },
+ { 0x350B, 15107 },
+ { 0x34FF, 15110 },
+ { 0x34FA, 15113 },
+ { 0x34FC, 15116 },
+ { 0x3530, 15119 },
+ { 0x34F9, 15122 },
+ { 0x353D, 15125 },
+ { 0x3537, 15128 },
+ { 0x34FB, 15131 },
+ { 0x3502, 15134 },
+ { 0x3534, 15137 },
+ { 0x3525, 15140 },
+ { 0x353B, 15143 },
+ { 0x3526, 15146 },
+ { 0x353E, 15149 },
+ { 0x350D, 15152 },
+ { 0x3533, 15155 },
+ { 0x3527, 15158 },
+ { 0x3515, 15161 },
+ { 0x3503, 15164 },
+ { 0x3535, 15167 },
+ { 0x3524, 15170 },
+ { 0x350F, 15173 },
+ { 0x353C, 15176 },
+ { 0x3532, 15179 },
+ { 0x351A, 15182 },
+ { 0x3523, 15185 },
+ { 0x3531, 15188 },
+ { 0x352A, 15191 },
+ { 0x3513, 15194 },
+ { 0x3541, 15197 },
+ { 0x3536, 15200 },
+ { 0x353A, 15203 },
+ { 0x352D, 15206 },
+ { 0x3500, 15209 },
+ { 0x3522, 15212 },
+ { 0x3520, 15215 },
+ { 0x3529, 15218 },
+ { 0x34FD, 15221 },
+ { 0x3539, 15224 },
+ { 0x3504, 15227 },
+ { 0x352E, 15230 },
+ { 0x3518, 15233 },
+ { 0x350C, 15236 },
+ { 0x3508, 15239 },
+ { 0x34FE, 15242 },
+ { 0x3542, 15245 },
+ { 0x3540, 15248 },
+ { 0x3521, 15251 },
+ { 0x3517, 15254 },
+ { 0x3519, 15257 },
+ { 0x351C, 15260 },
+ { 0x3512, 15263 },
+ { 0x353F, 15266 },
+ { 0x3538, 15269 },
+ { 0x3509, 15272 },
+ { 0x352C, 15275 },
+ { 0x351E, 15278 },
+ { 0x351B, 15281 },
+ { 0x351F, 15284 },
+ { 0x3543, 15287 },
+ { 0x3514, 15290 },
+ { 0x351D, 15293 },
+ { 0x352F, 15296 },
+ { 0x3528, 15299 },
+ { 0x3505, 15302 },
+ { 0x3511, 15305 },
+ { 0x350E, 15308 },
+ { 0x3546, 15311 },
+ { 0x3506, 15314 },
+ { 0x3507, 15317 },
+ { 0x350A, 15320 },
+ { 0x3516, 15323 },
+ { 0x3544, 15326 },
+ { 0x3510, 15329 },
+ { 0x3545, 15332 },
+ { 0x3547, 15335 },
+ { 0x352B, 15338 },
+ { 0x56E9, 15341 },
+ { 0x571C, 15347 },
+ { 0x56F1, 15351 },
+ { 0x56D5, 15356 },
+ { 0x5719, 15361 },
+ { 0x56FC, 15365 },
+ { 0x56E1, 15369 },
+ { 0x5706, 15374 },
+ { 0x56E7, 15379 },
+ { 0x56CD, 15384 },
+ { 0x571E, 15389 },
+ { 0x56F2, 15393 },
+ { 0x571D, 15398 },
+ { 0x5718, 15402 },
+ { 0x56D0, 15406 },
+ { 0x56F3, 15411 },
+ { 0x56D3, 15415 },
+ { 0x56D2, 15422 },
+ { 0x56CC, 15429 },
+ { 0x56CB, 15435 },
+ { 0x56F6, 15441 },
+ { 0x5703, 15445 },
+ { 0x5705, 15449 },
+ { 0x5714, 15453 },
+ { 0x56DE, 15457 },
+ { 0x571B, 15461 },
+ { 0x5702, 15465 },
+ { 0x56F0, 15469 },
+ { 0x5704, 15473 },
+ { 0x56FE, 15477 },
+ { 0x5717, 15481 },
+ { 0x571F, 15485 },
+ { 0x56F5, 15489 },
+ { 0x5710, 15493 },
+ { 0x571A, 15497 },
+ { 0x5708, 15501 },
+ { 0x56E2, 15505 },
+ { 0x56EB, 15510 },
+ { 0x5712, 15515 },
+ { 0x570A, 15519 },
+ { 0x56E8, 15524 },
+ { 0x5715, 15529 },
+ { 0x5709, 15533 },
+ { 0x5700, 15539 },
+ { 0x56EC, 15543 },
+ { 0x56CF, 15547 },
+ { 0x56CA, 15552 },
+ { 0x56E0, 15557 },
+ { 0x56F8, 15561 },
+ { 0x570F, 15565 },
+ { 0x570E, 15569 },
+ { 0x56C9, 15573 },
+ { 0x56F7, 15578 },
+ { 0x5701, 15582 },
+ { 0x56FB, 15586 },
+ { 0x5711, 15590 },
+ { 0x56ED, 15594 },
+ { 0x56D6, 15598 },
+ { 0x56DD, 15602 },
+ { 0x5716, 15606 },
+ { 0x570B, 15610 },
+ { 0x56E4, 15614 },
+ { 0x56D1, 15618 },
+ { 0x5707, 15624 },
+ { 0x56F9, 15628 },
+ { 0x5713, 15632 },
+ { 0x56E3, 15636 },
+ { 0x56D8, 15640 },
+ { 0x56FF, 15644 },
+ { 0x56EF, 15648 },
+ { 0x570C, 15652 },
+ { 0x56DB, 15656 },
+ { 0x56E6, 15660 },
+ { 0x56DA, 15664 },
+ { 0x570D, 15668 },
+ { 0x56F4, 15672 },
+ { 0x56D7, 15676 },
+ { 0x56E5, 15680 },
+ { 0x56FA, 15684 },
+ { 0x56DC, 15688 },
+ { 0x56D4, 15692 },
+ { 0x56D9, 15696 },
+ { 0x56DF, 15700 },
+ { 0x56CE, 15704 },
+ { 0x56EA, 15708 },
+ { 0x56EE, 15712 },
+ { 0x56FD, 15716 },
+ { 0x5755, 15720 },
+ { 0x5751, 15724 },
+ { 0x5750, 15729 },
+ { 0x5731, 15734 },
+ { 0x5721, 15739 },
+ { 0x574E, 15744 },
+ { 0x5729, 15748 },
+ { 0x5756, 15752 },
+ { 0x572C, 15756 },
+ { 0x5752, 15762 },
+ { 0x5724, 15766 },
+ { 0x5725, 15771 },
+ { 0x572E, 15776 },
+ { 0x5736, 15781 },
+ { 0x5730, 15786 },
+ { 0x5723, 15790 },
+ { 0x5746, 15795 },
+ { 0x574C, 15799 },
+ { 0x5735, 15803 },
+ { 0x5742, 15808 },
+ { 0x574B, 15812 },
+ { 0x5734, 15817 },
+ { 0x5757, 15822 },
+ { 0x5754, 15826 },
+ { 0x5732, 15830 },
+ { 0x5722, 15835 },
+ { 0x5741, 15839 },
+ { 0x573C, 15843 },
+ { 0x572B, 15847 },
+ { 0x5726, 15852 },
+ { 0x574D, 15856 },
+ { 0x573E, 15860 },
+ { 0x572D, 15865 },
+ { 0x573B, 15870 },
+ { 0x573F, 15874 },
+ { 0x574F, 15878 },
+ { 0x5737, 15882 },
+ { 0x573A, 15886 },
+ { 0x5747, 15890 },
+ { 0x5745, 15894 },
+ { 0x5753, 15898 },
+ { 0x5743, 15902 },
+ { 0x5744, 15906 },
+ { 0x5720, 15911 },
+ { 0x572A, 15915 },
+ { 0x5727, 15919 },
+ { 0x5739, 15923 },
+ { 0x5728, 15927 },
+ { 0x573D, 15931 },
+ { 0x5749, 15936 },
+ { 0x574A, 15940 },
+ { 0x5740, 15944 },
+ { 0x5738, 15948 },
+ { 0x5748, 15952 },
+ { 0x5733, 15956 },
+ { 0x572F, 15960 },
+ { 0x5796, 15964 },
+ { 0x57A1, 15968 },
+ { 0x577C, 15973 },
+ { 0x578C, 15978 },
+ { 0x576B, 15982 },
+ { 0x5785, 15987 },
+ { 0x5772, 15991 },
+ { 0x57B2, 15995 },
+ { 0x57B3, 16000 },
+ { 0x5792, 16005 },
+ { 0x5797, 16009 },
+ { 0x578E, 16013 },
+ { 0x577F, 16017 },
+ { 0x57B6, 16021 },
+ { 0x57A6, 16025 },
+ { 0x57B5, 16029 },
+ { 0x5787, 16033 },
+ { 0x5763, 16037 },
+ { 0x5759, 16042 },
+ { 0x57B8, 16046 },
+ { 0x57B7, 16050 },
+ { 0x57B9, 16054 },
+ { 0x579A, 16058 },
+ { 0x57A2, 16062 },
+ { 0x575A, 16066 },
+ { 0x5789, 16070 },
+ { 0x5769, 16074 },
+ { 0x57AB, 16078 },
+ { 0x579E, 16082 },
+ { 0x57AC, 16087 },
+ { 0x5767, 16092 },
+ { 0x576F, 16097 },
+ { 0x576D, 16101 },
+ { 0x57AF, 16105 },
+ { 0x57B0, 16109 },
+ { 0x57A0, 16113 },
+ { 0x57A3, 16117 },
+ { 0x57B4, 16121 },
+ { 0x5793, 16125 },
+ { 0x5799, 16129 },
+ { 0x5798, 16133 },
+ { 0x579C, 16137 },
+ { 0x579F, 16141 },
+ { 0x577D, 16145 },
+ { 0x579D, 16149 },
+ { 0x5762, 16153 },
+ { 0x5773, 16159 },
+ { 0x57B1, 16163 },
+ { 0x5777, 16167 },
+ { 0x577A, 16172 },
+ { 0x5770, 16176 },
+ { 0x5761, 16180 },
+ { 0x5794, 16184 },
+ { 0x5764, 16188 },
+ { 0x57AA, 16192 },
+ { 0x5786, 16196 },
+ { 0x5774, 16200 },
+ { 0x575C, 16204 },
+ { 0x5784, 16208 },
+ { 0x575E, 16212 },
+ { 0x5758, 16216 },
+ { 0x578D, 16221 },
+ { 0x57AE, 16225 },
+ { 0x5776, 16229 },
+ { 0x5788, 16233 },
+ { 0x5790, 16237 },
+ { 0x576C, 16242 },
+ { 0x57A4, 16246 },
+ { 0x5778, 16250 },
+ { 0x57AD, 16254 },
+ { 0x575F, 16258 },
+ { 0x576A, 16262 },
+ { 0x5771, 16266 },
+ { 0x57A7, 16270 },
+ { 0x57A8, 16274 },
+ { 0x578B, 16278 },
+ { 0x5795, 16282 },
+ { 0x5766, 16286 },
+ { 0x577E, 16290 },
+ { 0x5791, 16294 },
+ { 0x57A5, 16298 },
+ { 0x57A9, 16302 },
+ { 0x5781, 16306 },
+ { 0x5779, 16310 },
+ { 0x579B, 16315 },
+ { 0x576E, 16319 },
+ { 0x5765, 16323 },
+ { 0x5775, 16327 },
+ { 0x5783, 16331 },
+ { 0x578F, 16335 },
+ { 0x5760, 16339 },
+ { 0x5780, 16343 },
+ { 0x577B, 16347 },
+ { 0x5782, 16351 },
+ { 0x578A, 16355 },
+ { 0x575B, 16359 },
+ { 0x575D, 16363 },
+ { 0x5768, 16367 },
+ { 0x581A, 16371 },
+ { 0x5812, 16375 },
+ { 0x581C, 16379 },
+ { 0x5824, 16383 },
+ { 0x5820, 16387 },
+ { 0x582A, 16391 },
+ { 0x57DA, 16395 },
+ { 0x582E, 16399 },
+ { 0x57CD, 16403 },
+ { 0x5803, 16407 },
+ { 0x5808, 16411 },
+ { 0x57F9, 16415 },
+ { 0x5828, 16419 },
+ { 0x57E7, 16423 },
+ { 0x57E6, 16427 },
+ { 0x57BC, 16431 },
+ { 0x5816, 16435 },
+ { 0x57FE, 16439 },
+ { 0x5823, 16443 },
+ { 0x57F6, 16447 },
+ { 0x5826, 16451 },
+ { 0x5813, 16455 },
+ { 0x5829, 16460 },
+ { 0x5817, 16465 },
+ { 0x57D0, 16469 },
+ { 0x582D, 16473 },
+ { 0x5821, 16477 },
+ { 0x57ED, 16481 },
+ { 0x57CC, 16485 },
+ { 0x581B, 16489 },
+ { 0x5814, 16493 },
+ { 0x5815, 16497 },
+ { 0x57BB, 16501 },
+ { 0x57D6, 16505 },
+ { 0x57DB, 16509 },
+ { 0x57EF, 16513 },
+ { 0x57F5, 16517 },
+ { 0x57CF, 16521 },
+ { 0x581F, 16525 },
+ { 0x580D, 16529 },
+ { 0x57BF, 16533 },
+ { 0x57E9, 16537 },
+ { 0x582C, 16541 },
+ { 0x57BA, 16546 },
+ { 0x5807, 16550 },
+ { 0x57D4, 16554 },
+ { 0x57BD, 16558 },
+ { 0x57E2, 16562 },
+ { 0x5827, 16566 },
+ { 0x5800, 16570 },
+ { 0x57DE, 16574 },
+ { 0x57E1, 16578 },
+ { 0x57CB, 16582 },
+ { 0x5809, 16586 },
+ { 0x5822, 16590 },
+ { 0x582B, 16594 },
+ { 0x57C3, 16598 },
+ { 0x57EB, 16602 },
+ { 0x57F8, 16606 },
+ { 0x57E4, 16610 },
+ { 0x57F0, 16614 },
+ { 0x57C6, 16618 },
+ { 0x581D, 16622 },
+ { 0x5825, 16626 },
+ { 0x5802, 16630 },
+ { 0x580A, 16634 },
+ { 0x57C9, 16638 },
+ { 0x5806, 16642 },
+ { 0x57FD, 16646 },
+ { 0x57FF, 16650 },
+ { 0x57D8, 16654 },
+ { 0x57EA, 16659 },
+ { 0x5818, 16663 },
+ { 0x5819, 16667 },
+ { 0x57D1, 16671 },
+ { 0x57FB, 16675 },
+ { 0x57D2, 16679 },
+ { 0x580C, 16683 },
+ { 0x57C7, 16687 },
+ { 0x57C5, 16691 },
+ { 0x57C0, 16695 },
+ { 0x57BE, 16699 },
+ { 0x5810, 16703 },
+ { 0x57C1, 16707 },
+ { 0x580F, 16711 },
+ { 0x5801, 16715 },
+ { 0x581E, 16719 },
+ { 0x57F1, 16723 },
+ { 0x57C4, 16727 },
+ { 0x57EE, 16731 },
+ { 0x5811, 16735 },
+ { 0x57E0, 16739 },
+ { 0x57F3, 16743 },
+ { 0x57E3, 16747 },
+ { 0x57E5, 16751 },
+ { 0x57FA, 16755 },
+ { 0x5804, 16759 },
+ { 0x580E, 16763 },
+ { 0x5805, 16767 },
+ { 0x57DC, 16771 },
+ { 0x57E8, 16775 },
+ { 0x57F4, 16779 },
+ { 0x57F7, 16783 },
+ { 0x57D5, 16787 },
+ { 0x57CA, 16791 },
+ { 0x57EC, 16795 },
+ { 0x580B, 16799 },
+ { 0x57D3, 16803 },
+ { 0x57DF, 16807 },
+ { 0x57FC, 16811 },
+ { 0x57D9, 16815 },
+ { 0x57D7, 16819 },
+ { 0x57CE, 16823 },
+ { 0x57C2, 16827 },
+ { 0x57F2, 16831 },
+ { 0x57DD, 16835 },
+ { 0x57C8, 16839 },
+ { 0x589E, 16843 },
+ { 0x58A1, 16847 },
+ { 0x58A0, 16851 },
+ { 0x5884, 16855 },
+ { 0x5891, 16859 },
+ { 0x589B, 16864 },
+ { 0x58BE, 16869 },
+ { 0x58C7, 16874 },
+ { 0x58C2, 16878 },
+ { 0x58B6, 16882 },
+ { 0x58C4, 16886 },
+ { 0x58B7, 16890 },
+ { 0x58BF, 16894 },
+ { 0x589A, 16898 },
+ { 0x58A3, 16903 },
+ { 0x58C0, 16908 },
+ { 0x5861, 16912 },
+ { 0x5869, 16916 },
+ { 0x58CA, 16920 },
+ { 0x58B4, 16924 },
+ { 0x589C, 16928 },
+ { 0x587D, 16932 },
+ { 0x5880, 16936 },
+ { 0x5895, 16940 },
+ { 0x5832, 16944 },
+ { 0x58A2, 16948 },
+ { 0x5844, 16952 },
+ { 0x58C1, 16956 },
+ { 0x5881, 16960 },
+ { 0x5854, 16964 },
+ { 0x58C5, 16968 },
+ { 0x58C3, 16972 },
+ { 0x58C8, 16976 },
+ { 0x5892, 16980 },
+ { 0x588E, 16984 },
+ { 0x58BB, 16988 },
+ { 0x5889, 16992 },
+ { 0x5876, 16997 },
+ { 0x5835, 17002 },
+ { 0x58B2, 17006 },
+ { 0x585A, 17010 },
+ { 0x58B9, 17014 },
+ { 0x5837, 17018 },
+ { 0x584E, 17022 },
+ { 0x583F, 17026 },
+ { 0x5859, 17030 },
+ { 0x58BC, 17034 },
+ { 0x5836, 17038 },
+ { 0x58A4, 17042 },
+ { 0x583B, 17046 },
+ { 0x58A5, 17050 },
+ { 0x58C9, 17054 },
+ { 0x58C6, 17058 },
+ { 0x5842, 17062 },
+ { 0x589F, 17066 },
+ { 0x5873, 17070 },
+ { 0x58B5, 17074 },
+ { 0x5833, 17078 },
+ { 0x58B3, 17082 },
+ { 0x583E, 17086 },
+ { 0x5875, 17090 },
+ { 0x5877, 17094 },
+ { 0x58AC, 17098 },
+ { 0x58AB, 17103 },
+ { 0x58AE, 17108 },
+ { 0x58AD, 17112 },
+ { 0x588D, 17116 },
+ { 0x5872, 17120 },
+ { 0x5883, 17124 },
+ { 0x58CB, 17128 },
+ { 0x58AF, 17132 },
+ { 0x5874, 17136 },
+ { 0x5843, 17140 },
+ { 0x5868, 17144 },
+ { 0x5834, 17148 },
+ { 0x5855, 17152 },
+ { 0x5847, 17156 },
+ { 0x586F, 17160 },
+ { 0x5850, 17164 },
+ { 0x588C, 17168 },
+ { 0x588F, 17172 },
+ { 0x58A6, 17176 },
+ { 0x585B, 17182 },
+ { 0x582F, 17187 },
+ { 0x5857, 17191 },
+ { 0x5839, 17195 },
+ { 0x583C, 17199 },
+ { 0x5846, 17203 },
+ { 0x5849, 17207 },
+ { 0x589D, 17211 },
+ { 0x58B1, 17215 },
+ { 0x5871, 17220 },
+ { 0x5897, 17224 },
+ { 0x5885, 17228 },
+ { 0x5870, 17232 },
+ { 0x588A, 17236 },
+ { 0x5841, 17240 },
+ { 0x584D, 17244 },
+ { 0x5886, 17248 },
+ { 0x58B0, 17252 },
+ { 0x5896, 17256 },
+ { 0x588B, 17260 },
+ { 0x583A, 17264 },
+ { 0x5893, 17268 },
+ { 0x58B8, 17272 },
+ { 0x58A7, 17276 },
+ { 0x58BD, 17280 },
+ { 0x586A, 17284 },
+ { 0x5858, 17288 },
+ { 0x5830, 17293 },
+ { 0x585F, 17297 },
+ { 0x5867, 17301 },
+ { 0x5887, 17305 },
+ { 0x58A8, 17309 },
+ { 0x585D, 17313 },
+ { 0x587B, 17317 },
+ { 0x587E, 17321 },
+ { 0x585E, 17325 },
+ { 0x5851, 17329 },
+ { 0x5863, 17333 },
+ { 0x583D, 17337 },
+ { 0x5831, 17341 },
+ { 0x5878, 17345 },
+ { 0x586E, 17349 },
+ { 0x5879, 17353 },
+ { 0x5899, 17357 },
+ { 0x5894, 17361 },
+ { 0x587F, 17365 },
+ { 0x58A9, 17369 },
+ { 0x584C, 17373 },
+ { 0x584A, 17377 },
+ { 0x587A, 17381 },
+ { 0x5864, 17385 },
+ { 0x5862, 17389 },
+ { 0x5866, 17393 },
+ { 0x5860, 17397 },
+ { 0x58AA, 17401 },
+ { 0x5890, 17405 },
+ { 0x587C, 17409 },
+ { 0x5848, 17413 },
+ { 0x58BA, 17417 },
+ { 0x5845, 17421 },
+ { 0x5838, 17425 },
+ { 0x584B, 17429 },
+ { 0x5865, 17433 },
+ { 0x5898, 17437 },
+ { 0x586B, 17441 },
+ { 0x5856, 17445 },
+ { 0x5888, 17449 },
+ { 0x584F, 17453 },
+ { 0x5882, 17457 },
+ { 0x5853, 17461 },
+ { 0x586D, 17465 },
+ { 0x586C, 17469 },
+ { 0x5840, 17473 },
+ { 0x5852, 17477 },
+ { 0x585C, 17481 },
+ { 0x58DA, 17486 },
+ { 0x58CD, 17490 },
+ { 0x58CF, 17494 },
+ { 0x58CC, 17498 },
+ { 0x58F8, 17502 },
+ { 0x58CE, 17506 },
+ { 0x58D3, 17510 },
+ { 0x58F6, 17514 },
+ { 0x58FB, 17518 },
+ { 0x58FC, 17522 },
+ { 0x58ED, 17526 },
+ { 0x58E2, 17530 },
+ { 0x58EC, 17534 },
+ { 0x58DD, 17538 },
+ { 0x58F5, 17542 },
+ { 0x58E6, 17546 },
+ { 0x58F4, 17550 },
+ { 0x58EF, 17554 },
+ { 0x58E0, 17558 },
+ { 0x58FF, 17562 },
+ { 0x58F7, 17566 },
+ { 0x58D2, 17570 },
+ { 0x58EB, 17574 },
+ { 0x58D0, 17578 },
+ { 0x58FA, 17582 },
+ { 0x58D4, 17586 },
+ { 0x58F2, 17590 },
+ { 0x58E5, 17594 },
+ { 0x58DB, 17598 },
+ { 0x58D7, 17602 },
+ { 0x58D1, 17606 },
+ { 0x58FE, 17610 },
+ { 0x58EA, 17614 },
+ { 0x58E4, 17618 },
+ { 0x58DF, 17622 },
+ { 0x58FD, 17626 },
+ { 0x58F9, 17630 },
+ { 0x58D8, 17634 },
+ { 0x58F1, 17638 },
+ { 0x58E7, 17642 },
+ { 0x58E9, 17646 },
+ { 0x58E1, 17650 },
+ { 0x58E8, 17654 },
+ { 0x58F3, 17658 },
+ { 0x58EE, 17662 },
+ { 0x58D5, 17666 },
+ { 0x58DE, 17670 },
+ { 0x58DC, 17674 },
+ { 0x5901, 17678 },
+ { 0x58D6, 17682 },
+ { 0x58D9, 17686 },
+ { 0x58E3, 17690 },
+ { 0x5900, 17694 },
+ { 0x58F0, 17698 },
+ { 0x354A, 17702 },
+ { 0x354F, 17704 },
+ { 0x3548, 17707 },
+ { 0x3549, 17711 },
+ { 0x354E, 17715 },
+ { 0x5950, 17717 },
+ { 0x5944, 17721 },
+ { 0x5949, 17725 },
+ { 0x594A, 17729 },
+ { 0x5945, 17733 },
+ { 0x5947, 17737 },
+ { 0x593F, 17741 },
+ { 0x593C, 17745 },
+ { 0x593B, 17749 },
+ { 0x5948, 17753 },
+ { 0x5930, 17757 },
+ { 0x5936, 17761 },
+ { 0x592E, 17765 },
+ { 0x5946, 17769 },
+ { 0x5942, 17773 },
+ { 0x592F, 17777 },
+ { 0x593E, 17781 },
+ { 0x5940, 17785 },
+ { 0x5938, 17789 },
+ { 0x5939, 17793 },
+ { 0x5933, 17797 },
+ { 0x593A, 17801 },
+ { 0x5931, 17805 },
+ { 0x593D, 17809 },
+ { 0x5932, 17813 },
+ { 0x5934, 17817 },
+ { 0x592D, 17821 },
+ { 0x5937, 17825 },
+ { 0x5935, 17829 },
+ { 0x5941, 17833 },
+ { 0x5943, 17837 },
+ { 0x594C, 17841 },
+ { 0x594D, 17846 },
+ { 0x594B, 17851 },
+ { 0x594E, 17856 },
+ { 0x594F, 17861 },
+ { 0x17E4, 17866 },
+ { 0x17E5, 17869 },
+ { 0x17E8, 17873 },
+ { 0x17EA, 17877 },
+ { 0x17EC, 17881 },
+ { 0x17ED, 17885 },
+ { 0x17E7, 17892 },
+ { 0x17E9, 17896 },
+ { 0x17EB, 17901 },
+ { 0x17E6, 17906 },
+ { 0x17BE, 17911 },
+ { 0x17E2, 17914 },
+ { 0x17E3, 17917 },
+ { 0x17C3, 17920 },
+ { 0x17DF, 17923 },
+ { 0x17CF, 17926 },
+ { 0x17CC, 17929 },
+ { 0x17C0, 17932 },
+ { 0x17CE, 17935 },
+ { 0x17DC, 17938 },
+ { 0x17D2, 17941 },
+ { 0x17C7, 17944 },
+ { 0x17C5, 17947 },
+ { 0x17D0, 17950 },
+ { 0x17D6, 17953 },
+ { 0x17C9, 17956 },
+ { 0x17D9, 17959 },
+ { 0x17E1, 17962 },
+ { 0x17E0, 17965 },
+ { 0x17DB, 17968 },
+ { 0x17DE, 17971 },
+ { 0x17C4, 17974 },
+ { 0x17CB, 17978 },
+ { 0x17D5, 17982 },
+ { 0x17D4, 17986 },
+ { 0x17C2, 17990 },
+ { 0x17C8, 17994 },
+ { 0x17D8, 17998 },
+ { 0x17BF, 18002 },
+ { 0x17CD, 18006 },
+ { 0x17C1, 18010 },
+ { 0x17DD, 18014 },
+ { 0x17D3, 18018 },
+ { 0x17C6, 18022 },
+ { 0x17D1, 18026 },
+ { 0x17D7, 18030 },
+ { 0x17CA, 18034 },
+ { 0x17DA, 18038 },
+ { 0x17F2, 18042 },
+ { 0x17F4, 18047 },
+ { 0x17F5, 18051 },
+ { 0x17F3, 18055 },
+ { 0x17F0, 18059 },
+ { 0x17EF, 18061 },
+ { 0x17EE, 18065 },
+ { 0x17F1, 18069 },
+ { 0x67FC, 18071 },
+ { 0x6797, 18074 },
+ { 0x69C7, 18076 },
+ { 0x2238, 18081 },
+ { 0x2126, 18083 },
+ { 0x2189, 18087 },
+ { 0x69C8, 18090 },
+ { 0x21B7, 18095 },
+ { 0x224C, 18097 },
+ { 0x69CE, 18101 },
+ { 0x21FE, 18106 },
+ { 0x2140, 18110 },
+ { 0x69C1, 18114 },
+ { 0x21DE, 18119 },
+ { 0x212B, 18122 },
+ { 0x6B86, 18124 },
+ { 0x6B91, 18127 },
+ { 0x6B97, 18130 },
+ { 0x2643, 18133 },
+ { 0x6B92, 18137 },
+ { 0x6B98, 18141 },
+ { 0x2180, 18145 },
+ { 0x2185, 18148 },
+ { 0x2182, 18151 },
+ { 0x2181, 18154 },
+ { 0x2183, 18157 },
+ { 0x2184, 18160 },
+ { 0x220E, 18163 },
+ { 0x218B, 18167 },
+ { 0x264A, 18170 },
+ { 0x2641, 18173 },
+ { 0x2109, 18176 },
+ { 0x2108, 18180 },
+ { 0x2141, 18184 },
+ { 0x69C2, 18188 },
+ { 0x213D, 18193 },
+ { 0x6997, 18196 },
+ { 0x2677, 18200 },
+ { 0x20D0, 18203 },
+ { 0x264F, 18206 },
+ { 0x2650, 18209 },
+ { 0x2186, 18212 },
+ { 0x2205, 18215 },
+ { 0x210A, 18217 },
+ { 0x210B, 18221 },
+ { 0x24F9, 18225 },
+ { 0x2252, 18227 },
+ { 0x20F5, 18231 },
+ { 0x1F53, 18233 },
+ { 0x21AF, 18237 },
+ { 0x2513, 18243 },
+ { 0x21AE, 18248 },
+ { 0x26CC, 18254 },
+ { 0x26CD, 18260 },
+ { 0x26CA, 18266 },
+ { 0x26CB, 18272 },
+ { 0x26CE, 18278 },
+ { 0x26D0, 18284 },
+ { 0x26CF, 18290 },
+ { 0x26D1, 18296 },
+ { 0x69E3, 18302 },
+ { 0x2124, 18304 },
+ { 0x6B93, 18308 },
+ { 0x6B99, 18312 },
+ { 0x2122, 18316 },
+ { 0x264B, 18319 },
+ { 0x264D, 18322 },
+ { 0x1F4F, 18325 },
+ { 0x26E4, 18329 },
+ { 0x1F50, 18334 },
+ { 0x26E5, 18338 },
+ { 0x1F4D, 18343 },
+ { 0x26E6, 18347 },
+ { 0x1F4E, 18352 },
+ { 0x26E7, 18356 },
+ { 0x2226, 18361 },
+ { 0x20C6, 18364 },
+ { 0x1F52, 18366 },
+ { 0x6958, 18370 },
+ { 0x26DF, 18373 },
+ { 0x20EC, 18376 },
+ { 0x218C, 18378 },
+ { 0x2510, 18381 },
+ { 0x227C, 18386 },
+ { 0x26E0, 18391 },
+ { 0x6748, 18394 },
+ { 0x2648, 18396 },
+ { 0x2511, 18398 },
+ { 0x26E3, 18400 },
+ { 0x6818, 18402 },
+ { 0x69AD, 18404 },
+ { 0x681C, 18406 },
+ { 0x2161, 18408 },
+ { 0x21ED, 18411 },
+ { 0x21FC, 18413 },
+ { 0x26BF, 18418 },
+ { 0x21E8, 18422 },
+ { 0x21E9, 18425 },
+ { 0x2265, 18428 },
+ { 0x2645, 18430 },
+ { 0x2279, 18432 },
+ { 0x2228, 18436 },
+ { 0x6B7E, 18438 },
+ { 0x6B87, 18442 },
+ { 0x2654, 18446 },
+ { 0x20D4, 18449 },
+ { 0x26C1, 18452 },
+ { 0x24FD, 18456 },
+ { 0x1BD0, 18458 },
+ { 0x26BE, 18461 },
+ { 0x20D2, 18465 },
+ { 0x2134, 18467 },
+ { 0x69A4, 18469 },
+ { 0x21A1, 18472 },
+ { 0x2652, 18476 },
+ { 0x22C7, 18479 },
+ { 0x1BD1, 18482 },
+ { 0x22CA, 18485 },
+ { 0x26C0, 18488 },
+ { 0x20DA, 18492 },
+ { 0x1F44, 18496 },
+ { 0x20D8, 18500 },
+ { 0x6B7B, 18503 },
+ { 0x20E4, 18508 },
+ { 0x1F45, 18512 },
+ { 0x20E2, 18516 },
+ { 0x6B7D, 18519 },
+ { 0x20E8, 18524 },
+ { 0x1F43, 18528 },
+ { 0x1F47, 18532 },
+ { 0x20EA, 18539 },
+ { 0x20E6, 18542 },
+ { 0x6B7A, 18545 },
+ { 0x20D6, 18550 },
+ { 0x20DE, 18552 },
+ { 0x1F42, 18556 },
+ { 0x1F46, 18560 },
+ { 0x20E0, 18567 },
+ { 0x2679, 18570 },
+ { 0x20DC, 18573 },
+ { 0x1F48, 18576 },
+ { 0x6B7C, 18583 },
+ { 0x1F76, 18588 },
+ { 0x6900, 18590 },
+ { 0x6784, 18591 },
+ { 0x0297, 18592 },
+ { 0x6896, 18593 },
+ { 0x1417, 18596 },
+ { 0x1418, 18600 },
+ { 0x1405, 18604 },
+ { 0x1406, 18607 },
+ { 0x1407, 18610 },
+ { 0x140F, 18613 },
+ { 0x140C, 18616 },
+ { 0x1409, 18619 },
+ { 0x1416, 18622 },
+ { 0x1408, 18625 },
+ { 0x1413, 18628 },
+ { 0x1410, 18631 },
+ { 0x140D, 18634 },
+ { 0x140E, 18637 },
+ { 0x1412, 18640 },
+ { 0x1415, 18643 },
+ { 0x140B, 18646 },
+ { 0x1414, 18649 },
+ { 0x1411, 18652 },
+ { 0x140A, 18655 },
+ { 0x688B, 18658 },
+ { 0x6792, 18661 },
+ { 0x1BBC, 18662 },
+ { 0x1BC5, 18663 },
+ { 0x0286, 18666 },
+ { 0x21D9, 18667 },
+ { 0x68EE, 18668 },
+ { 0x68DF, 18672 },
+ { 0x68EF, 18679 },
+ { 0x2239, 18683 },
+ { 0x1EF3, 18685 },
+ { 0x6976, 18688 },
+ { 0x697B, 18692 },
+ { 0x697F, 18696 },
+ { 0x6977, 18700 },
+ { 0x697A, 18704 },
+ { 0x6979, 18708 },
+ { 0x697E, 18712 },
+ { 0x697D, 18716 },
+ { 0x697C, 18720 },
+ { 0x6978, 18724 },
+ { 0x6980, 18728 },
+ { 0x6981, 18732 },
+ { 0x6982, 18736 },
+ { 0x6987, 18739 },
+ { 0x698B, 18742 },
+ { 0x6983, 18745 },
+ { 0x6986, 18748 },
+ { 0x6985, 18751 },
+ { 0x698A, 18754 },
+ { 0x6989, 18757 },
+ { 0x6988, 18760 },
+ { 0x6984, 18763 },
+ { 0x698C, 18766 },
+ { 0x698D, 18769 },
+ { 0x1BD4, 18772 },
+ { 0x2127, 18774 },
+ { 0x674D, 18775 },
+ { 0x674E, 18778 },
+ { 0x6750, 18781 },
+ { 0x674F, 18784 },
+ { 0x001A, 18787 },
+ { 0x1C1E, 18788 },
+ { 0x1DAD, 18790 },
+ { 0x212A, 18792 },
+ { 0x000C, 18793 },
+ { 0x6AEF, 18794 },
+ { 0x214E, 18797 },
+ { 0x214F, 18800 },
+ { 0x2272, 18803 },
+ { 0x6968, 18805 },
+ { 0x6967, 18807 },
+ { 0x6877, 18812 },
+ { 0x22D6, 18813 },
+ { 0x1F03, 18815 },
+ { 0x1E27, 18818 },
+ { 0x1E28, 18821 },
+ { 0x6781, 18824 },
+ { 0x1C95, 18827 },
+ { 0x6787, 18829 },
+ { 0x1DB5, 18830 },
+ { 0x0011, 18833 },
+ { 0x1FAE, 18835 },
+ { 0x6642, 18839 },
+ { 0x0016, 18842 },
+ { 0x1FB3, 18844 },
+ { 0x6647, 18848 },
+ { 0x0012, 18851 },
+ { 0x1FAF, 18853 },
+ { 0x6643, 18857 },
+ { 0x0015, 18860 },
+ { 0x1FB2, 18862 },
+ { 0x6646, 18866 },
+ { 0x0014, 18869 },
+ { 0x1FB1, 18871 },
+ { 0x6645, 18875 },
+ { 0x0019, 18878 },
+ { 0x1FB6, 18880 },
+ { 0x664A, 18884 },
+ { 0x0010, 18887 },
+ { 0x6640, 18889 },
+ { 0x6641, 18893 },
+ { 0x0018, 18896 },
+ { 0x1FB5, 18898 },
+ { 0x6649, 18902 },
+ { 0x0017, 18905 },
+ { 0x1FB4, 18907 },
+ { 0x6648, 18911 },
+ { 0x0013, 18914 },
+ { 0x1FB0, 18916 },
+ { 0x6644, 18920 },
+ { 0x2A5A, 18923 },
+ { 0x6A59, 18925 },
+ { 0x68D1, 18927 },
+ { 0x687D, 18929 },
+ { 0x2200, 18930 },
+ { 0x2167, 18933 },
+ { 0x6734, 18934 },
+ { 0x6733, 18937 },
+ { 0x6735, 18940 },
+ { 0x1F33, 18943 },
+ { 0x2259, 18945 },
+ { 0x225A, 18948 },
+ { 0x225B, 18952 },
+ { 0x225D, 18956 },
+ { 0x2267, 18961 },
+ { 0x2270, 18966 },
+ { 0x1F28, 18970 },
+ { 0x6822, 18972 },
+ { 0x6823, 18976 },
+ { 0x6824, 18980 },
+ { 0x6825, 18984 },
+ { 0x6821, 18988 },
+ { 0x1D5E, 18992 },
+ { 0x24DA, 18994 },
+ { 0x24D9, 19000 },
+ { 0x24D8, 19006 },
+ { 0x24D7, 19012 },
+ { 0x69E9, 19016 },
+ { 0x69EB, 19018 },
+ { 0x69EA, 19021 },
+ { 0x69F0, 19024 },
+ { 0x69F1, 19026 },
+ { 0x69EF, 19028 },
+ { 0x1EDF, 19030 },
+ { 0x1DB6, 19032 },
+ { 0x1E37, 19036 },
+ { 0x1E38, 19040 },
+ { 0x1E35, 19044 },
+ { 0x1E36, 19048 },
+ { 0x1E2E, 19052 },
+ { 0x1E84, 19056 },
+ { 0x1E7F, 19060 },
+ { 0x1C64, 19064 },
+ { 0x2151, 19066 },
+ { 0x221A, 19068 },
+ { 0x67F7, 19069 },
+ { 0x1BEB, 19074 },
+ { 0x2163, 19077 },
+ { 0x6741, 19080 },
+ { 0x6739, 19085 },
+ { 0x6727, 19089 },
+ { 0x69E2, 19090 },
+ { 0x69E1, 19094 },
+ { 0x69E0, 19097 },
+ { 0x678A, 19100 },
+ { 0x1E7B, 19102 },
+ { 0x68A1, 19103 },
+ { 0x1C94, 19104 },
+ { 0x6AEE, 19106 },
+ { 0x6736, 19108 },
+ { 0x0040, 19111 },
+ { 0x038C, 19113 },
+ { 0x0340, 19116 },
+ { 0x038D, 19119 },
+ { 0x3F7A, 19122 },
+ { 0x3F7B, 19126 },
+ { 0x3F90, 19132 },
+ { 0x038B, 19136 },
+ { 0x03B2, 19139 },
+ { 0x03A7, 19144 },
+ { 0x3F82, 19147 },
+ { 0x3F7C, 19151 },
+ { 0x0386, 19155 },
+ { 0x3F85, 19158 },
+ { 0x3F84, 19162 },
+ { 0x3F81, 19166 },
+ { 0x1B82, 19169 },
+ { 0x3F7E, 19171 },
+ { 0x3F8F, 19174 },
+ { 0x1B83, 19177 },
+ { 0x1B66, 19179 },
+ { 0x1B65, 19183 },
+ { 0x1B67, 19187 },
+ { 0x03A6, 19191 },
+ { 0x3F88, 19194 },
+ { 0x0334, 19197 },
+ { 0x1B4B, 19201 },
+ { 0x1B59, 19203 },
+ { 0x1B58, 19207 },
+ { 0x1B5A, 19211 },
+ { 0x0339, 19215 },
+ { 0x0372, 19221 },
+ { 0x0373, 19225 },
+ { 0x0376, 19229 },
+ { 0x0374, 19233 },
+ { 0x037D, 19237 },
+ { 0x036D, 19241 },
+ { 0x1B04, 19245 },
+ { 0x1B50, 19251 },
+ { 0x1AB8, 19259 },
+ { 0x1ABC, 19265 },
+ { 0x1B22, 19273 },
+ { 0x1ABA, 19283 },
+ { 0x1B20, 19291 },
+ { 0x1ABE, 19301 },
+ { 0x1B24, 19309 },
+ { 0x1B1E, 19319 },
+ { 0x1AB7, 19327 },
+ { 0x1ABB, 19333 },
+ { 0x1B21, 19341 },
+ { 0x1AB9, 19351 },
+ { 0x1B1F, 19359 },
+ { 0x1ABD, 19369 },
+ { 0x1B23, 19377 },
+ { 0x1B1D, 19387 },
+ { 0x0364, 19395 },
+ { 0x1B03, 19401 },
+ { 0x1B4E, 19407 },
+ { 0x1B51, 19415 },
+ { 0x1B52, 19421 },
+ { 0x1B4F, 19429 },
+ { 0x037C, 19435 },
+ { 0x037E, 19439 },
+ { 0x0377, 19443 },
+ { 0x1B6D, 19447 },
+ { 0x1B6C, 19453 },
+ { 0x03B1, 19459 },
+ { 0x03AE, 19463 },
+ { 0x037A, 19467 },
+ { 0x0368, 19471 },
+ { 0x0330, 19475 },
+ { 0x036F, 19479 },
+ { 0x1B06, 19483 },
+ { 0x1AC8, 19489 },
+ { 0x1ACC, 19495 },
+ { 0x1ACA, 19503 },
+ { 0x1ACE, 19511 },
+ { 0x1AC7, 19519 },
+ { 0x1ACB, 19525 },
+ { 0x1AC9, 19533 },
+ { 0x1ACD, 19541 },
+ { 0x0365, 19549 },
+ { 0x1B05, 19555 },
+ { 0x1B5C, 19561 },
+ { 0x1B5B, 19567 },
+ { 0x0380, 19573 },
+ { 0x1B5E, 19579 },
+ { 0x0347, 19587 },
+ { 0x1B5D, 19595 },
+ { 0x1B60, 19603 },
+ { 0x1B5F, 19611 },
+ { 0x036C, 19617 },
+ { 0x0367, 19621 },
+ { 0x1B00, 19625 },
+ { 0x1B41, 19631 },
+ { 0x1A9C, 19639 },
+ { 0x1AA0, 19645 },
+ { 0x1B12, 19653 },
+ { 0x1A9E, 19663 },
+ { 0x1B10, 19671 },
+ { 0x1AA2, 19681 },
+ { 0x1B14, 19689 },
+ { 0x1B0E, 19699 },
+ { 0x1A9B, 19707 },
+ { 0x1A9F, 19713 },
+ { 0x1B11, 19721 },
+ { 0x1A9D, 19731 },
+ { 0x1B0F, 19739 },
+ { 0x1AA1, 19749 },
+ { 0x1B13, 19757 },
+ { 0x1B0D, 19767 },
+ { 0x0362, 19775 },
+ { 0x1AFF, 19781 },
+ { 0x1B3F, 19787 },
+ { 0x1B3E, 19795 },
+ { 0x1B3D, 19801 },
+ { 0x1B42, 19807 },
+ { 0x1B43, 19813 },
+ { 0x1B40, 19821 },
+ { 0x036A, 19827 },
+ { 0x0378, 19831 },
+ { 0x0369, 19836 },
+ { 0x0370, 19840 },
+ { 0x0395, 19844 },
+ { 0x0371, 19848 },
+ { 0x037F, 19852 },
+ { 0x1B0C, 19856 },
+ { 0x1B7A, 19862 },
+ { 0x1AF0, 19870 },
+ { 0x1AF4, 19876 },
+ { 0x1B32, 19884 },
+ { 0x1AF2, 19894 },
+ { 0x1B30, 19902 },
+ { 0x1AF6, 19912 },
+ { 0x1B34, 19920 },
+ { 0x1B2E, 19930 },
+ { 0x1AEF, 19938 },
+ { 0x1AF3, 19944 },
+ { 0x1B31, 19952 },
+ { 0x1AF1, 19962 },
+ { 0x1B2F, 19970 },
+ { 0x1AF5, 19980 },
+ { 0x1B33, 19988 },
+ { 0x1B2D, 19998 },
+ { 0x0384, 20006 },
+ { 0x1B0B, 20012 },
+ { 0x1B78, 20018 },
+ { 0x1B7B, 20026 },
+ { 0x1B7C, 20032 },
+ { 0x1B79, 20040 },
+ { 0x0397, 20046 },
+ { 0x0379, 20050 },
+ { 0x036E, 20054 },
+ { 0x0391, 20058 },
+ { 0x038F, 20062 },
+ { 0x0332, 20067 },
+ { 0x0393, 20072 },
+ { 0x036B, 20076 },
+ { 0x1B02, 20080 },
+ { 0x1AAC, 20086 },
+ { 0x1AB0, 20092 },
+ { 0x1AAE, 20100 },
+ { 0x1AAB, 20108 },
+ { 0x1AAF, 20114 },
+ { 0x1AAD, 20122 },
+ { 0x0363, 20130 },
+ { 0x1B01, 20136 },
+ { 0x0375, 20142 },
+ { 0x1B08, 20146 },
+ { 0x1AD8, 20152 },
+ { 0x1ADC, 20158 },
+ { 0x1ADA, 20166 },
+ { 0x1AD7, 20174 },
+ { 0x1ADB, 20180 },
+ { 0x1AD9, 20188 },
+ { 0x0382, 20196 },
+ { 0x1B07, 20202 },
+ { 0x037B, 20208 },
+ { 0x1B0A, 20212 },
+ { 0x1AE4, 20218 },
+ { 0x1AE8, 20224 },
+ { 0x1AE6, 20232 },
+ { 0x1AEA, 20240 },
+ { 0x1AE3, 20248 },
+ { 0x1AE7, 20254 },
+ { 0x1AE5, 20262 },
+ { 0x1AE9, 20270 },
+ { 0x0383, 20278 },
+ { 0x1B09, 20284 },
+ { 0x1B69, 20290 },
+ { 0x1B68, 20296 },
+ { 0x0381, 20302 },
+ { 0x1B6B, 20308 },
+ { 0x0366, 20316 },
+ { 0x1B6A, 20324 },
+ { 0x1B6F, 20332 },
+ { 0x1B6E, 20340 },
+ { 0x0336, 20346 },
+ { 0x033A, 20351 },
+ { 0x0338, 20358 },
+ { 0x0387, 20364 },
+ { 0x3F83, 20367 },
+ { 0x3F7D, 20371 },
+ { 0x033D, 20375 },
+ { 0x1B77, 20377 },
+ { 0x5CC7, 20379 },
+ { 0x5CC8, 20383 },
+ { 0x5CC9, 20387 },
+ { 0x5CCA, 20391 },
+ { 0x5CCB, 20395 },
+ { 0x5CCC, 20399 },
+ { 0x5CCD, 20403 },
+ { 0x5CCE, 20407 },
+ { 0x5CCF, 20411 },
+ { 0x5CD0, 20415 },
+ { 0x5CD1, 20419 },
+ { 0x5CD2, 20423 },
+ { 0x5CD3, 20427 },
+ { 0x5CD4, 20431 },
+ { 0x5CD5, 20435 },
+ { 0x5CD6, 20439 },
+ { 0x5CD7, 20443 },
+ { 0x5CD8, 20447 },
+ { 0x5CD9, 20451 },
+ { 0x5CDA, 20455 },
+ { 0x5CDB, 20459 },
+ { 0x5CDC, 20463 },
+ { 0x5CDD, 20467 },
+ { 0x5CDE, 20471 },
+ { 0x5CDF, 20475 },
+ { 0x5CE0, 20479 },
+ { 0x5CE1, 20483 },
+ { 0x5CE2, 20487 },
+ { 0x5CE3, 20491 },
+ { 0x3F8C, 20495 },
+ { 0x3F8B, 20498 },
+ { 0x3F8D, 20501 },
+ { 0x03A9, 20504 },
+ { 0x0394, 20507 },
+ { 0x0396, 20510 },
+ { 0x18C9, 20513 },
+ { 0x18CB, 20518 },
+ { 0x18CA, 20523 },
+ { 0x18C7, 20528 },
+ { 0x18C8, 20533 },
+ { 0x38FF, 20538 },
+ { 0x0390, 20543 },
+ { 0x038E, 20546 },
+ { 0x0392, 20550 },
+ { 0x03A8, 20553 },
+ { 0x03AB, 20557 },
+ { 0x3F89, 20561 },
+ { 0x3F9E, 20564 },
+ { 0x3F7F, 20568 },
+ { 0x3F8A, 20571 },
+ { 0x0385, 20574 },
+ { 0x03AA, 20578 },
+ { 0x03B4, 20582 },
+ { 0x0353, 20588 },
+ { 0x0354, 20592 },
+ { 0x0357, 20596 },
+ { 0x0355, 20600 },
+ { 0x035D, 20604 },
+ { 0x034E, 20608 },
+ { 0x1B56, 20612 },
+ { 0x1AC0, 20618 },
+ { 0x1AC4, 20624 },
+ { 0x1B2A, 20632 },
+ { 0x1AC2, 20642 },
+ { 0x1B28, 20650 },
+ { 0x1AC6, 20660 },
+ { 0x1B2C, 20668 },
+ { 0x1B26, 20678 },
+ { 0x1ABF, 20686 },
+ { 0x1AC3, 20692 },
+ { 0x1B29, 20700 },
+ { 0x1AC1, 20710 },
+ { 0x1B27, 20718 },
+ { 0x1AC5, 20728 },
+ { 0x1B2B, 20736 },
+ { 0x1B25, 20746 },
+ { 0x0342, 20754 },
+ { 0x1B55, 20760 },
+ { 0x1B57, 20766 },
+ { 0x035C, 20772 },
+ { 0x035E, 20776 },
+ { 0x0358, 20780 },
+ { 0x1B74, 20784 },
+ { 0x03B0, 20790 },
+ { 0x03AD, 20794 },
+ { 0x035A, 20798 },
+ { 0x033C, 20802 },
+ { 0x0349, 20806 },
+ { 0x032F, 20810 },
+ { 0x0350, 20814 },
+ { 0x1B64, 20818 },
+ { 0x1AD0, 20824 },
+ { 0x1AD4, 20830 },
+ { 0x1AD2, 20838 },
+ { 0x1AD6, 20846 },
+ { 0x1ACF, 20854 },
+ { 0x1AD3, 20860 },
+ { 0x1AD1, 20868 },
+ { 0x1AD5, 20876 },
+ { 0x0343, 20884 },
+ { 0x1B63, 20890 },
+ { 0x1B62, 20896 },
+ { 0x1B61, 20902 },
+ { 0x0360, 20908 },
+ { 0x034D, 20914 },
+ { 0x0348, 20918 },
+ { 0x1B47, 20922 },
+ { 0x1AA4, 20928 },
+ { 0x1AA8, 20934 },
+ { 0x1B1A, 20942 },
+ { 0x1AA6, 20952 },
+ { 0x1B18, 20960 },
+ { 0x1AAA, 20970 },
+ { 0x1B1C, 20978 },
+ { 0x1B16, 20988 },
+ { 0x1AA3, 20996 },
+ { 0x1AA7, 21002 },
+ { 0x1B19, 21010 },
+ { 0x1AA5, 21020 },
+ { 0x1B17, 21028 },
+ { 0x1AA9, 21038 },
+ { 0x1B1B, 21046 },
+ { 0x1B15, 21056 },
+ { 0x033F, 21064 },
+ { 0x1B46, 21070 },
+ { 0x1B45, 21076 },
+ { 0x1B44, 21082 },
+ { 0x1B48, 21088 },
+ { 0x034B, 21094 },
+ { 0x034A, 21098 },
+ { 0x0351, 21102 },
+ { 0x0352, 21106 },
+ { 0x035F, 21110 },
+ { 0x1B80, 21114 },
+ { 0x1AF8, 21120 },
+ { 0x1AFC, 21126 },
+ { 0x1B3A, 21134 },
+ { 0x1AFA, 21144 },
+ { 0x1B38, 21152 },
+ { 0x1AFE, 21162 },
+ { 0x1B3C, 21170 },
+ { 0x1B36, 21180 },
+ { 0x1AF7, 21188 },
+ { 0x1AFB, 21194 },
+ { 0x1B39, 21202 },
+ { 0x1AF9, 21212 },
+ { 0x1B37, 21220 },
+ { 0x1AFD, 21230 },
+ { 0x1B3B, 21238 },
+ { 0x1B35, 21248 },
+ { 0x0346, 21256 },
+ { 0x1B7F, 21262 },
+ { 0x1B81, 21268 },
+ { 0x0359, 21274 },
+ { 0x034F, 21278 },
+ { 0x0331, 21282 },
+ { 0x034C, 21287 },
+ { 0x1B54, 21291 },
+ { 0x1AB2, 21297 },
+ { 0x1AB6, 21303 },
+ { 0x1AB4, 21311 },
+ { 0x1AB1, 21319 },
+ { 0x1AB5, 21325 },
+ { 0x1AB3, 21333 },
+ { 0x0341, 21341 },
+ { 0x1B53, 21347 },
+ { 0x0356, 21353 },
+ { 0x1B7E, 21357 },
+ { 0x1ADE, 21363 },
+ { 0x1AE2, 21369 },
+ { 0x1AE0, 21377 },
+ { 0x1ADD, 21385 },
+ { 0x1AE1, 21391 },
+ { 0x1ADF, 21399 },
+ { 0x0344, 21407 },
+ { 0x1B7D, 21413 },
+ { 0x035B, 21419 },
+ { 0x1B73, 21423 },
+ { 0x1AEB, 21429 },
+ { 0x1AED, 21435 },
+ { 0x1AEC, 21443 },
+ { 0x1AEE, 21451 },
+ { 0x0345, 21459 },
+ { 0x1B72, 21465 },
+ { 0x1B71, 21471 },
+ { 0x1B70, 21477 },
+ { 0x0361, 21483 },
+ { 0x0335, 21489 },
+ { 0x03AF, 21494 },
+ { 0x03B5, 21499 },
+ { 0x03B3, 21506 },
+ { 0x3F80, 21512 },
+ { 0x1B49, 21515 },
+ { 0x3F87, 21517 },
+ { 0x5D0C, 21521 },
+ { 0x0333, 21524 },
+ { 0x0388, 21527 },
+ { 0x0389, 21532 },
+ { 0x038A, 21539 },
+ { 0x3F86, 21546 },
+ { 0x033B, 21549 },
+ { 0x03AC, 21552 },
+ { 0x3F91, 21557 },
+ { 0x3F8E, 21560 },
+ { 0x1B76, 21564 },
+ { 0x1B75, 21568 },
+ { 0x1B4D, 21572 },
+ { 0x033E, 21576 },
+ { 0x190B, 21579 },
+ { 0x190A, 21584 },
+ { 0x1909, 21589 },
+ { 0x1907, 21594 },
+ { 0x1908, 21599 },
+ { 0x3F46, 21604 },
+ { 0x3F47, 21609 },
+ { 0x3F57, 21614 },
+ { 0x3F50, 21620 },
+ { 0x3F45, 21626 },
+ { 0x3F59, 21631 },
+ { 0x3F52, 21637 },
+ { 0x3F5C, 21643 },
+ { 0x3F55, 21648 },
+ { 0x3F4E, 21653 },
+ { 0x3F5A, 21658 },
+ { 0x3F48, 21664 },
+ { 0x3F4A, 21668 },
+ { 0x3F58, 21673 },
+ { 0x3F51, 21679 },
+ { 0x3F54, 21685 },
+ { 0x3F4D, 21690 },
+ { 0x3F4B, 21695 },
+ { 0x3F53, 21700 },
+ { 0x3F49, 21706 },
+ { 0x3F56, 21710 },
+ { 0x3F4F, 21715 },
+ { 0x3F4C, 21720 },
+ { 0x3F5B, 21725 },
+ { 0x3F75, 21731 },
+ { 0x3F78, 21736 },
+ { 0x3F5D, 21741 },
+ { 0x3F62, 21746 },
+ { 0x3F79, 21751 },
+ { 0x3F5E, 21756 },
+ { 0x3F6F, 21760 },
+ { 0x3F76, 21765 },
+ { 0x3F69, 21770 },
+ { 0x3F61, 21774 },
+ { 0x3F73, 21778 },
+ { 0x3F77, 21783 },
+ { 0x3F6E, 21788 },
+ { 0x3F70, 21792 },
+ { 0x3F6A, 21797 },
+ { 0x3F74, 21801 },
+ { 0x3F68, 21806 },
+ { 0x3F60, 21810 },
+ { 0x3F63, 21814 },
+ { 0x3F71, 21819 },
+ { 0x3F5F, 21824 },
+ { 0x3F67, 21828 },
+ { 0x3F6D, 21832 },
+ { 0x3F65, 21836 },
+ { 0x3F66, 21840 },
+ { 0x3F64, 21846 },
+ { 0x3F72, 21850 },
+ { 0x3F6B, 21855 },
+ { 0x3F6C, 21859 },
+ { 0x1B4C, 21865 },
+ { 0x5CE4, 21867 },
+ { 0x5CE5, 21871 },
+ { 0x5CE6, 21875 },
+ { 0x5CE7, 21879 },
+ { 0x5CE8, 21883 },
+ { 0x5CE9, 21887 },
+ { 0x5CEA, 21891 },
+ { 0x5CEB, 21895 },
+ { 0x5CEC, 21899 },
+ { 0x5CED, 21903 },
+ { 0x5CEE, 21907 },
+ { 0x5CEF, 21911 },
+ { 0x5CF0, 21915 },
+ { 0x5CF1, 21919 },
+ { 0x5CF2, 21923 },
+ { 0x5CF3, 21927 },
+ { 0x5CF4, 21931 },
+ { 0x5CF5, 21935 },
+ { 0x5CF6, 21939 },
+ { 0x5CF7, 21943 },
+ { 0x5CF8, 21947 },
+ { 0x5CF9, 21951 },
+ { 0x5CFA, 21955 },
+ { 0x5CFB, 21959 },
+ { 0x5CFC, 21963 },
+ { 0x5CFD, 21967 },
+ { 0x5CFE, 21971 },
+ { 0x5CFF, 21975 },
+ { 0x5D00, 21979 },
+ { 0x5D01, 21983 },
+ { 0x5D02, 21987 },
+ { 0x5D03, 21991 },
+ { 0x5D04, 21995 },
+ { 0x5D05, 21999 },
+ { 0x5D06, 22003 },
+ { 0x5D07, 22007 },
+ { 0x5D08, 22011 },
+ { 0x0337, 22015 },
+ { 0x1B4A, 22017 },
+ { 0x68FD, 22019 },
+ { 0x6775, 22021 },
+ { 0x68C0, 22023 },
+ { 0x6A6F, 22025 },
+ { 0x67BA, 22030 },
+ { 0x68BE, 22036 },
+ { 0x68C3, 22039 },
+ { 0x68C5, 22042 },
+ { 0x2286, 22044 },
+ { 0x2285, 22051 },
+ { 0x6BB2, 22058 },
+ { 0x6BC6, 22062 },
+ { 0x6BAC, 22067 },
+ { 0x6BC4, 22071 },
+ { 0x224A, 22076 },
+ { 0x2242, 22080 },
+ { 0x267C, 22084 },
+ { 0x22BB, 22089 },
+ { 0x6C51, 22092 },
+ { 0x6C53, 22097 },
+ { 0x6C54, 22103 },
+ { 0x6C52, 22109 },
+ { 0x228A, 22115 },
+ { 0x22CC, 22118 },
+ { 0x22CB, 22125 },
+ { 0x223A, 22132 },
+ { 0x6BB8, 22135 },
+ { 0x6BC9, 22139 },
+ { 0x6BCB, 22144 },
+ { 0x225E, 22149 },
+ { 0x2271, 22155 },
+ { 0x2240, 22160 },
+ { 0x2289, 22163 },
+ { 0x267B, 22168 },
+ { 0x696D, 22171 },
+ { 0x22D3, 22174 },
+ { 0x22BC, 22180 },
+ { 0x22C0, 22183 },
+ { 0x6A8A, 22187 },
+ { 0x6A82, 22192 },
+ { 0x6A88, 22198 },
+ { 0x6A80, 22203 },
+ { 0x22BE, 22209 },
+ { 0x6A8B, 22213 },
+ { 0x6A83, 22218 },
+ { 0x6A89, 22224 },
+ { 0x6A81, 22229 },
+ { 0x22D4, 22235 },
+ { 0x6B81, 22241 },
+ { 0x6B8B, 22244 },
+ { 0x2201, 22247 },
+ { 0x223E, 22251 },
+ { 0x267E, 22254 },
+ { 0x267D, 22256 },
+ { 0x2209, 22261 },
+ { 0x22C6, 22269 },
+ { 0x68D8, 22274 },
+ { 0x2284, 22277 },
+ { 0x2283, 22283 },
+ { 0x6A95, 22290 },
+ { 0x2282, 22295 },
+ { 0x2281, 22301 },
+ { 0x6BCD, 22308 },
+ { 0x6BCE, 22313 },
+ { 0x226C, 22318 },
+ { 0x267F, 22321 },
+ { 0x6BA6, 22324 },
+ { 0x226E, 22326 },
+ { 0x6BE8, 22328 },
+ { 0x6BE4, 22335 },
+ { 0x2257, 22341 },
+ { 0x22BD, 22343 },
+ { 0x6A97, 22346 },
+ { 0x2254, 22351 },
+ { 0x2280, 22355 },
+ { 0x6A98, 22358 },
+ { 0x6BEA, 22361 },
+ { 0x6BE6, 22368 },
+ { 0x6BE7, 22374 },
+ { 0x6BE3, 22381 },
+ { 0x22BF, 22387 },
+ { 0x6BE9, 22390 },
+ { 0x6BE5, 22397 },
+ { 0x6A9F, 22403 },
+ { 0x227D, 22407 },
+ { 0x2288, 22411 },
+ { 0x6A9D, 22415 },
+ { 0x22BA, 22418 },
+ { 0x22C2, 22422 },
+ { 0x22E3, 22426 },
+ { 0x2296, 22430 },
+ { 0x2294, 22435 },
+ { 0x223C, 22441 },
+ { 0x2297, 22444 },
+ { 0x2295, 22449 },
+ { 0x22DF, 22455 },
+ { 0x22DD, 22460 },
+ { 0x22DE, 22465 },
+ { 0x22CE, 22469 },
+ { 0x2263, 22474 },
+ { 0x2269, 22477 },
+ { 0x22C4, 22481 },
+ { 0x22E1, 22485 },
+ { 0x6950, 22489 },
+ { 0x6795, 22490 },
+ { 0x6834, 22492 },
+ { 0x685A, 22493 },
+ { 0x67ED, 22495 },
+ { 0x680E, 22497 },
+ { 0x1E5B, 22498 },
+ { 0x6807, 22499 },
+ { 0x6806, 22502 },
+ { 0x67FE, 22504 },
+ { 0x1E10, 22506 },
+ { 0x1DAC, 22508 },
+ { 0x690B, 22514 },
+ { 0x6947, 22516 },
+ { 0x6946, 22522 },
+ { 0x694A, 22528 },
+ { 0x6948, 22533 },
+ { 0x6949, 22537 },
+ { 0x687C, 22541 },
+ { 0x6971, 22542 },
+ { 0x371A, 22543 },
+ { 0x371B, 22547 },
+ { 0x3718, 22551 },
+ { 0x3719, 22555 },
+ { 0x3717, 22560 },
+ { 0x36ED, 22564 },
+ { 0x36F2, 22568 },
+ { 0x36EE, 22572 },
+ { 0x36F1, 22576 },
+ { 0x36F0, 22580 },
+ { 0x36F5, 22584 },
+ { 0x36EC, 22588 },
+ { 0x36F4, 22592 },
+ { 0x36F3, 22596 },
+ { 0x36EF, 22600 },
+ { 0x3713, 22604 },
+ { 0x3716, 22608 },
+ { 0x3714, 22612 },
+ { 0x3715, 22616 },
+ { 0x3712, 22620 },
+ { 0x370E, 22624 },
+ { 0x3710, 22628 },
+ { 0x3705, 22632 },
+ { 0x370D, 22636 },
+ { 0x3704, 22640 },
+ { 0x36F8, 22644 },
+ { 0x370B, 22648 },
+ { 0x36F6, 22652 },
+ { 0x3708, 22656 },
+ { 0x3703, 22660 },
+ { 0x3700, 22664 },
+ { 0x370F, 22668 },
+ { 0x3711, 22672 },
+ { 0x3701, 22676 },
+ { 0x3706, 22680 },
+ { 0x36FA, 22684 },
+ { 0x36FE, 22688 },
+ { 0x370C, 22692 },
+ { 0x3709, 22696 },
+ { 0x3707, 22700 },
+ { 0x36FC, 22704 },
+ { 0x36FF, 22708 },
+ { 0x36F7, 22712 },
+ { 0x36F9, 22716 },
+ { 0x36FD, 22720 },
+ { 0x3702, 22724 },
+ { 0x36FB, 22728 },
+ { 0x370A, 22732 },
+ { 0x1482, 22736 },
+ { 0x147F, 22740 },
+ { 0x147A, 22743 },
+ { 0x147D, 22746 },
+ { 0x1477, 22749 },
+ { 0x1476, 22752 },
+ { 0x1483, 22755 },
+ { 0x1481, 22758 },
+ { 0x1484, 22763 },
+ { 0x147B, 22767 },
+ { 0x147C, 22771 },
+ { 0x1479, 22774 },
+ { 0x1485, 22777 },
+ { 0x1471, 22780 },
+ { 0x1472, 22783 },
+ { 0x1475, 22786 },
+ { 0x1488, 22789 },
+ { 0x1480, 22792 },
+ { 0x147E, 22795 },
+ { 0x1474, 22798 },
+ { 0x1478, 22801 },
+ { 0x1487, 22804 },
+ { 0x1473, 22807 },
+ { 0x148A, 22810 },
+ { 0x148F, 22813 },
+ { 0x148B, 22816 },
+ { 0x148E, 22819 },
+ { 0x148D, 22822 },
+ { 0x1492, 22825 },
+ { 0x1489, 22828 },
+ { 0x1491, 22831 },
+ { 0x1490, 22834 },
+ { 0x148C, 22837 },
+ { 0x146C, 22840 },
+ { 0x1462, 22844 },
+ { 0x1466, 22848 },
+ { 0x1464, 22852 },
+ { 0x1461, 22856 },
+ { 0x146D, 22860 },
+ { 0x146E, 22864 },
+ { 0x1470, 22868 },
+ { 0x146B, 22872 },
+ { 0x1463, 22876 },
+ { 0x1469, 22880 },
+ { 0x146F, 22884 },
+ { 0x1468, 22888 },
+ { 0x1467, 22892 },
+ { 0x146A, 22896 },
+ { 0x1465, 22900 },
+ { 0x1460, 22904 },
+ { 0x145F, 22908 },
+ { 0x143F, 22912 },
+ { 0x1430, 22915 },
+ { 0x1432, 22918 },
+ { 0x1435, 22921 },
+ { 0x1437, 22924 },
+ { 0x144B, 22927 },
+ { 0x142B, 22930 },
+ { 0x142D, 22933 },
+ { 0x144C, 22936 },
+ { 0x1446, 22939 },
+ { 0x1443, 22942 },
+ { 0x143E, 22945 },
+ { 0x1441, 22948 },
+ { 0x144D, 22951 },
+ { 0x1445, 22954 },
+ { 0x144A, 22957 },
+ { 0x143A, 22960 },
+ { 0x143C, 22963 },
+ { 0x1447, 22966 },
+ { 0x1444, 22969 },
+ { 0x1431, 22972 },
+ { 0x1433, 22975 },
+ { 0x142C, 22978 },
+ { 0x142E, 22981 },
+ { 0x142F, 22984 },
+ { 0x1439, 22987 },
+ { 0x1434, 22990 },
+ { 0x1440, 22993 },
+ { 0x1442, 22996 },
+ { 0x1448, 22999 },
+ { 0x1449, 23002 },
+ { 0x143B, 23005 },
+ { 0x143D, 23008 },
+ { 0x1436, 23011 },
+ { 0x1438, 23014 },
+ { 0x164C, 23017 },
+ { 0x163C, 23021 },
+ { 0x1653, 23025 },
+ { 0x1643, 23029 },
+ { 0x1496, 23033 },
+ { 0x1495, 23038 },
+ { 0x1493, 23043 },
+ { 0x1497, 23048 },
+ { 0x1494, 23053 },
+ { 0x1498, 23058 },
+ { 0x149B, 23063 },
+ { 0x149A, 23068 },
+ { 0x149C, 23073 },
+ { 0x1499, 23078 },
+ { 0x164B, 23083 },
+ { 0x163B, 23087 },
+ { 0x164D, 23091 },
+ { 0x163D, 23095 },
+ { 0x164A, 23099 },
+ { 0x163A, 23103 },
+ { 0x164E, 23107 },
+ { 0x163E, 23111 },
+ { 0x1656, 23115 },
+ { 0x1646, 23119 },
+ { 0x1655, 23123 },
+ { 0x1645, 23127 },
+ { 0x1657, 23131 },
+ { 0x1647, 23135 },
+ { 0x1654, 23139 },
+ { 0x1644, 23143 },
+ { 0x1658, 23147 },
+ { 0x1648, 23151 },
+ { 0x1651, 23155 },
+ { 0x1641, 23159 },
+ { 0x1650, 23163 },
+ { 0x1640, 23167 },
+ { 0x1652, 23171 },
+ { 0x1642, 23175 },
+ { 0x164F, 23179 },
+ { 0x163F, 23183 },
+ { 0x1649, 23187 },
+ { 0x1639, 23190 },
+ { 0x1486, 23193 },
+ { 0x1458, 23197 },
+ { 0x145A, 23201 },
+ { 0x1450, 23205 },
+ { 0x1452, 23209 },
+ { 0x1456, 23213 },
+ { 0x1459, 23217 },
+ { 0x144F, 23221 },
+ { 0x145B, 23225 },
+ { 0x144E, 23229 },
+ { 0x145E, 23233 },
+ { 0x1451, 23237 },
+ { 0x145C, 23241 },
+ { 0x145D, 23247 },
+ { 0x1453, 23253 },
+ { 0x1454, 23257 },
+ { 0x1457, 23261 },
+ { 0x1455, 23265 },
+ { 0x684E, 23269 },
+ { 0x681D, 23270 },
+ { 0x22FE, 23271 },
+ { 0x45A4, 23274 },
+ { 0x45A6, 23281 },
+ { 0x695A, 23288 },
+ { 0x45A3, 23291 },
+ { 0x45A5, 23298 },
+ { 0x695B, 23305 },
+ { 0x695D, 23308 },
+ { 0x22FF, 23311 },
+ { 0x2544, 23314 },
+ { 0x2115, 23318 },
+ { 0x695C, 23320 },
+ { 0x2622, 23323 },
+ { 0x2243, 23328 },
+ { 0x0041, 23330 },
+ { 0x01E6, 23334 },
+ { 0x01A0, 23341 },
+ { 0x1A3C, 23350 },
+ { 0x1A3E, 23357 },
+ { 0x00A4, 23364 },
+ { 0x01BA, 23371 },
+ { 0x199C, 23380 },
+ { 0x00A0, 23387 },
+ { 0x00C2, 23393 },
+ { 0x1A52, 23399 },
+ { 0x1A4E, 23408 },
+ { 0x1A4A, 23417 },
+ { 0x1A4C, 23425 },
+ { 0x1A50, 23433 },
+ { 0x018D, 23441 },
+ { 0x009F, 23447 },
+ { 0x1A35, 23453 },
+ { 0x00A2, 23461 },
+ { 0x01C0, 23467 },
+ { 0x00C0, 23474 },
+ { 0x00C4, 23480 },
+ { 0x2757, 23486 },
+ { 0x01C2, 23492 },
+ { 0x00A3, 23499 },
+ { 0x019E, 23505 },
+ { 0x1930, 23513 },
+ { 0x00A1, 23520 },
+ { 0x1A48, 23526 },
+ { 0x1A44, 23535 },
+ { 0x1A40, 23544 },
+ { 0x1A42, 23552 },
+ { 0x1A46, 23560 },
+ { 0x38CB, 23568 },
+ { 0x0042, 23573 },
+ { 0x199E, 23577 },
+ { 0x19A0, 23584 },
+ { 0x0212, 23591 },
+ { 0x19A2, 23597 },
+ { 0x190D, 23604 },
+ { 0x013F, 23611 },
+ { 0x0142, 23617 },
+ { 0x1921, 23623 },
+ { 0x35E7, 23630 },
+ { 0x0043, 23636 },
+ { 0x35E3, 23640 },
+ { 0x00CA, 23646 },
+ { 0x0214, 23653 },
+ { 0x0147, 23659 },
+ { 0x00C6, 23665 },
+ { 0x00CC, 23671 },
+ { 0x01FB, 23677 },
+ { 0x00A6, 23683 },
+ { 0x19A4, 23689 },
+ { 0x35E4, 23697 },
+ { 0x00C8, 23704 },
+ { 0x0044, 23710 },
+ { 0x19A6, 23714 },
+ { 0x19A8, 23721 },
+ { 0x01E0, 23728 },
+ { 0x0216, 23734 },
+ { 0x1932, 23740 },
+ { 0x19AA, 23748 },
+ { 0x0215, 23755 },
+ { 0x00CE, 23761 },
+ { 0x190E, 23767 },
+ { 0x00D0, 23774 },
+ { 0x014B, 23780 },
+ { 0x19AC, 23786 },
+ { 0x1922, 23792 },
+ { 0x19AE, 23799 },
+ { 0x0045, 23806 },
+ { 0x00D6, 23810 },
+ { 0x1A54, 23817 },
+ { 0x1A56, 23824 },
+ { 0x00A8, 23831 },
+ { 0x00D4, 23837 },
+ { 0x00DA, 23843 },
+ { 0x00A7, 23849 },
+ { 0x276A, 23855 },
+ { 0x1A58, 23861 },
+ { 0x19B6, 23867 },
+ { 0x01C4, 23874 },
+ { 0x00D2, 23881 },
+ { 0x19B2, 23887 },
+ { 0x19B0, 23895 },
+ { 0x00D8, 23903 },
+ { 0x0206, 23909 },
+ { 0x01E8, 23915 },
+ { 0x19B8, 23921 },
+ { 0x38CE, 23929 },
+ { 0x01C6, 23935 },
+ { 0x00AA, 23942 },
+ { 0x1933, 23948 },
+ { 0x00A9, 23955 },
+ { 0x1A62, 23961 },
+ { 0x1A5E, 23970 },
+ { 0x1A5A, 23979 },
+ { 0x1A5C, 23987 },
+ { 0x1A60, 23995 },
+ { 0x19B4, 24003 },
+ { 0x0046, 24010 },
+ { 0x19BA, 24014 },
+ { 0x0151, 24021 },
+ { 0x190F, 24027 },
+ { 0x35E9, 24034 },
+ { 0x1923, 24040 },
+ { 0x0047, 24047 },
+ { 0x00E0, 24051 },
+ { 0x021F, 24058 },
+ { 0x01B4, 24064 },
+ { 0x00DE, 24070 },
+ { 0x01A6, 24076 },
+ { 0x19BC, 24082 },
+ { 0x01A4, 24088 },
+ { 0x00E2, 24094 },
+ { 0x35F1, 24100 },
+ { 0x1924, 24107 },
+ { 0x00DC, 24114 },
+ { 0x0048, 24120 },
+ { 0x19BE, 24124 },
+ { 0x19C0, 24131 },
+ { 0x0225, 24138 },
+ { 0x1A31, 24144 },
+ { 0x19C6, 24151 },
+ { 0x01DE, 24158 },
+ { 0x00E6, 24164 },
+ { 0x19C4, 24170 },
+ { 0x35E5, 24176 },
+ { 0x275A, 24183 },
+ { 0x19C2, 24189 },
+ { 0x00E4, 24195 },
+ { 0x0049, 24201 },
+ { 0x1A66, 24205 },
+ { 0x1A64, 24212 },
+ { 0x00AC, 24219 },
+ { 0x00EC, 24225 },
+ { 0x018F, 24231 },
+ { 0x00AB, 24237 },
+ { 0x00E8, 24243 },
+ { 0x19C8, 24249 },
+ { 0x01C8, 24256 },
+ { 0x00EA, 24263 },
+ { 0x00EE, 24269 },
+ { 0x0227, 24275 },
+ { 0x01CA, 24281 },
+ { 0x00AE, 24288 },
+ { 0x19CA, 24294 },
+ { 0x1937, 24302 },
+ { 0x00AD, 24309 },
+ { 0x004A, 24315 },
+ { 0x01AF, 24319 },
+ { 0x0208, 24325 },
+ { 0x00F4, 24331 },
+ { 0x025C, 24337 },
+ { 0x004B, 24343 },
+ { 0x19CE, 24347 },
+ { 0x0158, 24354 },
+ { 0x19D0, 24360 },
+ { 0x19CC, 24367 },
+ { 0x01A8, 24373 },
+ { 0x3591, 24379 },
+ { 0x3595, 24385 },
+ { 0x00F6, 24394 },
+ { 0x35F3, 24400 },
+ { 0x1925, 24407 },
+ { 0x3593, 24414 },
+ { 0x275C, 24421 },
+ { 0x004C, 24427 },
+ { 0x0159, 24431 },
+ { 0x19D2, 24437 },
+ { 0x19D4, 24444 },
+ { 0x022B, 24453 },
+ { 0x01F3, 24459 },
+ { 0x3599, 24465 },
+ { 0x19D6, 24472 },
+ { 0x00F9, 24479 },
+ { 0x00FD, 24485 },
+ { 0x2753, 24491 },
+ { 0x38D2, 24498 },
+ { 0x00FF, 24506 },
+ { 0x38D3, 24513 },
+ { 0x022A, 24520 },
+ { 0x0101, 24527 },
+ { 0x00FB, 24533 },
+ { 0x1926, 24539 },
+ { 0x38D1, 24546 },
+ { 0x022C, 24554 },
+ { 0x35DE, 24561 },
+ { 0x19D8, 24570 },
+ { 0x004D, 24577 },
+ { 0x19DC, 24581 },
+ { 0x19DE, 24588 },
+ { 0x0230, 24595 },
+ { 0x19DA, 24601 },
+ { 0x1910, 24607 },
+ { 0x1927, 24614 },
+ { 0x38D4, 24621 },
+ { 0x004E, 24627 },
+ { 0x19E0, 24631 },
+ { 0x19E2, 24638 },
+ { 0x01F4, 24645 },
+ { 0x0231, 24651 },
+ { 0x19E4, 24658 },
+ { 0x015D, 24665 },
+ { 0x0103, 24673 },
+ { 0x0107, 24679 },
+ { 0x01B8, 24685 },
+ { 0x00B0, 24691 },
+ { 0x1911, 24697 },
+ { 0x0105, 24704 },
+ { 0x35F5, 24710 },
+ { 0x1928, 24717 },
+ { 0x35E1, 24724 },
+ { 0x0232, 24730 },
+ { 0x19E6, 24737 },
+ { 0x38D5, 24744 },
+ { 0x0108, 24750 },
+ { 0x004F, 24757 },
+ { 0x01EE, 24761 },
+ { 0x01F0, 24768 },
+ { 0x1A68, 24777 },
+ { 0x276C, 24784 },
+ { 0x1A6A, 24792 },
+ { 0x0160, 24799 },
+ { 0x1A7E, 24805 },
+ { 0x1A7A, 24814 },
+ { 0x1A76, 24823 },
+ { 0x1A78, 24831 },
+ { 0x1A7C, 24839 },
+ { 0x359B, 24847 },
+ { 0x359D, 24855 },
+ { 0x00B2, 24861 },
+ { 0x010E, 24867 },
+ { 0x0191, 24873 },
+ { 0x00B1, 24879 },
+ { 0x00B4, 24885 },
+ { 0x19E8, 24891 },
+ { 0x01EC, 24899 },
+ { 0x19EA, 24907 },
+ { 0x0110, 24915 },
+ { 0x01CC, 24922 },
+ { 0x010C, 24929 },
+ { 0x19EE, 24935 },
+ { 0x19EC, 24943 },
+ { 0x01AA, 24951 },
+ { 0x01AC, 24957 },
+ { 0x00B7, 24965 },
+ { 0x01BE, 24971 },
+ { 0x01CE, 24979 },
+ { 0x00B5, 24986 },
+ { 0x01EA, 24992 },
+ { 0x00B3, 25000 },
+ { 0x1A74, 25006 },
+ { 0x1A70, 25015 },
+ { 0x1A6C, 25024 },
+ { 0x1A6E, 25032 },
+ { 0x1A72, 25040 },
+ { 0x0050, 25048 },
+ { 0x19F2, 25052 },
+ { 0x0164, 25059 },
+ { 0x19F0, 25065 },
+ { 0x1912, 25071 },
+ { 0x191E, 25078 },
+ { 0x35A1, 25084 },
+ { 0x1929, 25092 },
+ { 0x35A3, 25099 },
+ { 0x35A5, 25105 },
+ { 0x0051, 25112 },
+ { 0x025F, 25116 },
+ { 0x020A, 25122 },
+ { 0x35A7, 25129 },
+ { 0x35A9, 25137 },
+ { 0x0052, 25144 },
+ { 0x19F4, 25148 },
+ { 0x19F6, 25155 },
+ { 0x19F8, 25162 },
+ { 0x19FA, 25171 },
+ { 0x023B, 25178 },
+ { 0x023C, 25185 },
+ { 0x0114, 25191 },
+ { 0x0118, 25197 },
+ { 0x01D0, 25203 },
+ { 0x1913, 25210 },
+ { 0x020C, 25217 },
+ { 0x0116, 25223 },
+ { 0x35F7, 25229 },
+ { 0x192A, 25236 },
+ { 0x023D, 25243 },
+ { 0x1914, 25249 },
+ { 0x01D2, 25258 },
+ { 0x38E3, 25265 },
+ { 0x35AB, 25271 },
+ { 0x38E1, 25276 },
+ { 0x0053, 25282 },
+ { 0x19FC, 25286 },
+ { 0x19FE, 25293 },
+ { 0x1A04, 25300 },
+ { 0x0241, 25310 },
+ { 0x011A, 25316 },
+ { 0x1A00, 25322 },
+ { 0x0120, 25331 },
+ { 0x1A02, 25337 },
+ { 0x01D8, 25346 },
+ { 0x01FE, 25353 },
+ { 0x1915, 25360 },
+ { 0x011E, 25367 },
+ { 0x35F9, 25373 },
+ { 0x192B, 25380 },
+ { 0x011C, 25387 },
+ { 0x0054, 25393 },
+ { 0x1A06, 25397 },
+ { 0x1A08, 25404 },
+ { 0x01F5, 25411 },
+ { 0x016C, 25417 },
+ { 0x1A0A, 25423 },
+ { 0x0124, 25430 },
+ { 0x01DA, 25436 },
+ { 0x1916, 25443 },
+ { 0x0126, 25450 },
+ { 0x0122, 25456 },
+ { 0x016A, 25462 },
+ { 0x2758, 25469 },
+ { 0x1A32, 25476 },
+ { 0x0247, 25482 },
+ { 0x1A0C, 25489 },
+ { 0x0055, 25496 },
+ { 0x0248, 25500 },
+ { 0x38E9, 25505 },
+ { 0x1A80, 25514 },
+ { 0x1A82, 25521 },
+ { 0x016F, 25528 },
+ { 0x1A8C, 25534 },
+ { 0x1A88, 25543 },
+ { 0x1A84, 25552 },
+ { 0x1A86, 25560 },
+ { 0x1A8A, 25568 },
+ { 0x38EC, 25576 },
+ { 0x012E, 25583 },
+ { 0x00B9, 25590 },
+ { 0x012C, 25596 },
+ { 0x0193, 25602 },
+ { 0x00B8, 25608 },
+ { 0x38E8, 25614 },
+ { 0x0128, 25622 },
+ { 0x1A14, 25628 },
+ { 0x1A10, 25636 },
+ { 0x0130, 25643 },
+ { 0x01D4, 25650 },
+ { 0x012A, 25657 },
+ { 0x1A16, 25663 },
+ { 0x0132, 25671 },
+ { 0x01D6, 25677 },
+ { 0x00BB, 25684 },
+ { 0x0197, 25690 },
+ { 0x0199, 25698 },
+ { 0x019B, 25706 },
+ { 0x0195, 25714 },
+ { 0x1A0E, 25722 },
+ { 0x193A, 25729 },
+ { 0x00BA, 25736 },
+ { 0x1A12, 25742 },
+ { 0x0056, 25749 },
+ { 0x1A1A, 25753 },
+ { 0x2766, 25760 },
+ { 0x024A, 25766 },
+ { 0x2763, 25772 },
+ { 0x1A18, 25779 },
+ { 0x192D, 25785 },
+ { 0x35AF, 25792 },
+ { 0x0057, 25799 },
+ { 0x1A22, 25803 },
+ { 0x1A24, 25810 },
+ { 0x2765, 25817 },
+ { 0x1A33, 25823 },
+ { 0x1A1E, 25830 },
+ { 0x1A1C, 25836 },
+ { 0x1A20, 25842 },
+ { 0x0134, 25848 },
+ { 0x0058, 25854 },
+ { 0x1A26, 25858 },
+ { 0x38F0, 25865 },
+ { 0x38F1, 25873 },
+ { 0x38F2, 25881 },
+ { 0x38F3, 25893 },
+ { 0x192E, 25903 },
+ { 0x1A28, 25910 },
+ { 0x0059, 25916 },
+ { 0x1A2A, 25920 },
+ { 0x1A90, 25927 },
+ { 0x0173, 25934 },
+ { 0x1A92, 25940 },
+ { 0x1A9A, 25947 },
+ { 0x1A34, 25953 },
+ { 0x00BC, 25960 },
+ { 0x1A8E, 25966 },
+ { 0x38F4, 25972 },
+ { 0x1A94, 25980 },
+ { 0x01F2, 25986 },
+ { 0x020E, 25992 },
+ { 0x00BE, 25998 },
+ { 0x0136, 26004 },
+ { 0x005A, 26010 },
+ { 0x013B, 26014 },
+ { 0x1A2E, 26021 },
+ { 0x0250, 26028 },
+ { 0x01E4, 26034 },
+ { 0x1A30, 26040 },
+ { 0x0139, 26047 },
+ { 0x013D, 26053 },
+ { 0x01FF, 26059 },
+ { 0x1917, 26066 },
+ { 0x0175, 26073 },
+ { 0x192F, 26079 },
+ { 0x275E, 26086 },
+ { 0x024F, 26092 },
+ { 0x1A2C, 26099 },
+ { 0x3583, 26105 },
+ { 0x00A5, 26109 },
+ { 0x01BC, 26113 },
+ { 0x01A2, 26119 },
+ { 0x3585, 26125 },
+ { 0x3587, 26129 },
+ { 0x3589, 26133 },
+ { 0x358B, 26137 },
+ { 0x358D, 26144 },
+ { 0x01F7, 26148 },
+ { 0x01B2, 26153 },
+ { 0x0185, 26157 },
+ { 0x0262, 26163 },
+ { 0x0264, 26168 },
+ { 0x35BB, 26175 },
+ { 0x0154, 26179 },
+ { 0x35BD, 26183 },
+ { 0x0188, 26187 },
+ { 0x0269, 26191 },
+ { 0x026A, 26196 },
+ { 0x018B, 26201 },
+ { 0x0162, 26205 },
+ { 0x359F, 26209 },
+ { 0x01E2, 26213 },
+ { 0x01F8, 26217 },
+ { 0x0267, 26222 },
+ { 0x191B, 26229 },
+ { 0x0265, 26235 },
+ { 0x3579, 26240 },
+ { 0x190C, 26244 },
+ { 0x38EA, 26248 },
+ { 0x35C8, 26252 },
+ { 0x38FD, 26256 },
+ { 0x35B1, 26260 },
+ { 0x38ED, 26264 },
+ { 0x38EF, 26268 },
+ { 0x38EE, 26276 },
+ { 0x35BF, 26284 },
+ { 0x35C1, 26288 },
+ { 0x010A, 26292 },
+ { 0x38D6, 26296 },
+ { 0x0242, 26302 },
+ { 0x0245, 26306 },
+ { 0x192C, 26312 },
+ { 0x1939, 26319 },
+ { 0x00AF, 26326 },
+ { 0x0251, 26330 },
+ { 0x0252, 26334 },
+ { 0x0179, 26340 },
+ { 0x01AE, 26346 },
+ { 0x193B, 26352 },
+ { 0x0178, 26359 },
+ { 0x0162, 26364 },
+ { 0x00F7, 26368 },
+ { 0x35C2, 26372 },
+ { 0x35C3, 26376 },
+ { 0x35C4, 26380 },
+ { 0x0237, 26384 },
+ { 0x35C5, 26388 },
+ { 0x35AD, 26392 },
+ { 0x18B7, 26397 },
+ { 0x35C7, 26403 },
+ { 0x3603, 26407 },
+ { 0x0263, 26411 },
+ { 0x0268, 26416 },
+ { 0x2768, 26421 },
+ { 0x3577, 26426 },
+ { 0x0226, 26430 },
+ { 0x0228, 26436 },
+ { 0x191D, 26440 },
+ { 0x022D, 26446 },
+ { 0x013E, 26450 },
+ { 0x1A36, 26455 },
+ { 0x1A38, 26463 },
+ { 0x1A37, 26471 },
+ { 0x021A, 26479 },
+ { 0x1934, 26484 },
+ { 0x0213, 26492 },
+ { 0x38D9, 26497 },
+ { 0x1938, 26504 },
+ { 0x38FC, 26512 },
+ { 0x0223, 26517 },
+ { 0x0266, 26522 },
+ { 0x0144, 26527 },
+ { 0x0167, 26532 },
+ { 0x017C, 26537 },
+ { 0x35B9, 26542 },
+ { 0x01DC, 26546 },
+ { 0x0210, 26550 },
+ { 0x1931, 26554 },
+ { 0x1A3A, 26561 },
+ { 0x0222, 26565 },
+ { 0x38CF, 26569 },
+ { 0x3605, 26574 },
+ { 0x38FA, 26578 },
+ { 0x0218, 26583 },
+ { 0x0219, 26587 },
+ { 0x1936, 26593 },
+ { 0x009E, 26600 },
+ { 0x0244, 26605 },
+ { 0x00BD, 26611 },
+ { 0x35B5, 26615 },
+ { 0x35B7, 26621 },
+ { 0x38CD, 26629 },
+ { 0x0234, 26634 },
+ { 0x38CA, 26639 },
+ { 0x18B8, 26644 },
+ { 0x3597, 26650 },
+ { 0x0259, 26655 },
+ { 0x0236, 26661 },
+ { 0x021D, 26666 },
+ { 0x38E2, 26673 },
+ { 0x38E4, 26678 },
+ { 0x015A, 26685 },
+ { 0x0220, 26691 },
+ { 0x38D0, 26696 },
+ { 0x38E5, 26703 },
+ { 0x38E6, 26708 },
+ { 0x020F, 26715 },
+ { 0x019C, 26720 },
+ { 0x1918, 26725 },
+ { 0x0224, 26730 },
+ { 0x026D, 26735 },
+ { 0x026E, 26742 },
+ { 0x18AA, 26751 },
+ { 0x025D, 26756 },
+ { 0x35D1, 26761 },
+ { 0x022E, 26766 },
+ { 0x022F, 26771 },
+ { 0x38DD, 26779 },
+ { 0x38DE, 26785 },
+ { 0x0238, 26793 },
+ { 0x023A, 26798 },
+ { 0x0239, 26805 },
+ { 0x276B, 26813 },
+ { 0x0246, 26820 },
+ { 0x024B, 26825 },
+ { 0x024C, 26830 },
+ { 0x024D, 26835 },
+ { 0x18A3, 26840 },
+ { 0x18B5, 26845 },
+ { 0x38DB, 26850 },
+ { 0x38DC, 26857 },
+ { 0x38EB, 26865 },
+ { 0x18A9, 26870 },
+ { 0x0211, 26876 },
+ { 0x014C, 26881 },
+ { 0x35CF, 26886 },
+ { 0x00F0, 26892 },
+ { 0x01F6, 26897 },
+ { 0x021E, 26902 },
+ { 0x0243, 26909 },
+ { 0x0201, 26918 },
+ { 0x35CA, 26923 },
+ { 0x35CC, 26928 },
+ { 0x191A, 26933 },
+ { 0x35D3, 26938 },
+ { 0x35D5, 26943 },
+ { 0x35D7, 26948 },
+ { 0x38DF, 26953 },
+ { 0x0249, 26958 },
+ { 0x1920, 26962 },
+ { 0x35EB, 26968 },
+ { 0x35ED, 26973 },
+ { 0x35EF, 26978 },
+ { 0x38E7, 26983 },
+ { 0x38DA, 26988 },
+ { 0x38FE, 26993 },
+ { 0x38FB, 26998 },
+ { 0x1CE1, 27003 },
+ { 0x358F, 27008 },
+ { 0x0217, 27015 },
+ { 0x023E, 27020 },
+ { 0x021B, 27027 },
+ { 0x021C, 27033 },
+ { 0x1935, 27041 },
+ { 0x35DC, 27050 },
+ { 0x18B2, 27054 },
+ { 0x18B4, 27059 },
+ { 0x18BE, 27066 },
+ { 0x18B3, 27071 },
+ { 0x18C0, 27077 },
+ { 0x18BF, 27083 },
+ { 0x2769, 27089 },
+ { 0x357B, 27094 },
+ { 0x357D, 27098 },
+ { 0x357F, 27102 },
+ { 0x35B3, 27108 },
+ { 0x38CC, 27113 },
+ { 0x38D7, 27118 },
+ { 0x38D8, 27123 },
+ { 0x1A98, 27130 },
+ { 0x1A96, 27135 },
+ { 0x3575, 27140 },
+ { 0x3573, 27145 },
+ { 0x191C, 27150 },
+ { 0x191F, 27157 },
+ { 0x39D5, 27164 },
+ { 0x39D6, 27168 },
+ { 0x39D7, 27172 },
+ { 0x00F2, 27176 },
+ { 0x0112, 27180 },
+ { 0x39DB, 27184 },
+ { 0x39D8, 27188 },
+ { 0x39D9, 27192 },
+ { 0x39DA, 27196 },
+ { 0x0165, 27202 },
+ { 0x18C6, 27205 },
+ { 0x017A, 27208 },
+ { 0x017E, 27213 },
+ { 0x18A1, 27216 },
+ { 0x0258, 27221 },
+ { 0x18A5, 27226 },
+ { 0x18A6, 27231 },
+ { 0x18A8, 27236 },
+ { 0x3580, 27241 },
+ { 0x0221, 27246 },
+ { 0x025A, 27251 },
+ { 0x025B, 27258 },
+ { 0x0229, 27263 },
+ { 0x18AB, 27268 },
+ { 0x18AC, 27273 },
+ { 0x025E, 27278 },
+ { 0x18AD, 27283 },
+ { 0x18AE, 27290 },
+ { 0x0233, 27295 },
+ { 0x18B0, 27300 },
+ { 0x18B9, 27305 },
+ { 0x023F, 27310 },
+ { 0x38E0, 27315 },
+ { 0x3581, 27323 },
+ { 0x18BC, 27328 },
+ { 0x18BD, 27333 },
+ { 0x18C1, 27338 },
+ { 0x18C2, 27343 },
+ { 0x024E, 27348 },
+ { 0x18C3, 27353 },
+ { 0x18A2, 27358 },
+ { 0x0235, 27363 },
+ { 0x18B6, 27368 },
+ { 0x18A7, 27373 },
+ { 0x18C4, 27378 },
+ { 0x35C6, 27383 },
+ { 0x18B1, 27388 },
+ { 0x18A4, 27394 },
+ { 0x276D, 27400 },
+ { 0x3609, 27406 },
+ { 0x18BB, 27412 },
+ { 0x0240, 27418 },
+ { 0x18AF, 27424 },
+ { 0x18BA, 27430 },
+ { 0x017F, 27436 },
+ { 0x18C5, 27440 },
+ { 0x0253, 27445 },
+ { 0x0260, 27449 },
+ { 0x0180, 27455 },
+ { 0x0181, 27459 },
+ { 0x026C, 27463 },
+ { 0x0257, 27467 },
+ { 0x026B, 27471 },
+ { 0x0255, 27475 },
+ { 0x017D, 27480 },
+ { 0x0169, 27487 },
+ { 0x0261, 27492 },
+ { 0x0182, 27499 },
+ { 0x0256, 27503 },
+ { 0x0254, 27507 },
+ { 0x35DF, 27512 },
+ { 0x0021, 27516 },
+ { 0x01E5, 27520 },
+ { 0x019F, 27527 },
+ { 0x1A3B, 27536 },
+ { 0x1A3D, 27543 },
+ { 0x0084, 27550 },
+ { 0x01B9, 27557 },
+ { 0x199B, 27566 },
+ { 0x0080, 27573 },
+ { 0x00C1, 27579 },
+ { 0x1A51, 27585 },
+ { 0x1A4D, 27594 },
+ { 0x1A49, 27603 },
+ { 0x1A4B, 27611 },
+ { 0x1A4F, 27619 },
+ { 0x018C, 27627 },
+ { 0x007F, 27633 },
+ { 0x0082, 27639 },
+ { 0x01BF, 27645 },
+ { 0x00BF, 27652 },
+ { 0x00C3, 27658 },
+ { 0x01F9, 27664 },
+ { 0x01C1, 27670 },
+ { 0x0083, 27677 },
+ { 0x019D, 27683 },
+ { 0x0081, 27691 },
+ { 0x1A47, 27697 },
+ { 0x1A43, 27706 },
+ { 0x1A3F, 27715 },
+ { 0x1A41, 27723 },
+ { 0x1A45, 27731 },
+ { 0x0022, 27739 },
+ { 0x199D, 27743 },
+ { 0x199F, 27750 },
+ { 0x0140, 27757 },
+ { 0x19A1, 27763 },
+ { 0x0202, 27770 },
+ { 0x0141, 27776 },
+ { 0x35E6, 27782 },
+ { 0x0023, 27788 },
+ { 0x35E2, 27792 },
+ { 0x00C9, 27798 },
+ { 0x0146, 27805 },
+ { 0x00C5, 27811 },
+ { 0x00CB, 27817 },
+ { 0x01FA, 27823 },
+ { 0x0086, 27829 },
+ { 0x19A3, 27835 },
+ { 0x00C7, 27843 },
+ { 0x0024, 27849 },
+ { 0x19A5, 27853 },
+ { 0x19A7, 27860 },
+ { 0x0149, 27867 },
+ { 0x19A9, 27873 },
+ { 0x00CD, 27880 },
+ { 0x01B1, 27886 },
+ { 0x0184, 27894 },
+ { 0x00CF, 27904 },
+ { 0x014A, 27910 },
+ { 0x19AB, 27916 },
+ { 0x19AD, 27922 },
+ { 0x0025, 27929 },
+ { 0x00D5, 27933 },
+ { 0x1A53, 27940 },
+ { 0x1A55, 27947 },
+ { 0x0088, 27954 },
+ { 0x00D3, 27960 },
+ { 0x00D9, 27966 },
+ { 0x0087, 27972 },
+ { 0x1A57, 27978 },
+ { 0x19B5, 27984 },
+ { 0x01C3, 27991 },
+ { 0x00D1, 27998 },
+ { 0x19B1, 28004 },
+ { 0x19AF, 28012 },
+ { 0x00D7, 28020 },
+ { 0x0205, 28026 },
+ { 0x01E7, 28032 },
+ { 0x19B7, 28038 },
+ { 0x01C5, 28046 },
+ { 0x008A, 28053 },
+ { 0x0089, 28059 },
+ { 0x1A61, 28065 },
+ { 0x1A5D, 28074 },
+ { 0x1A59, 28083 },
+ { 0x1A5B, 28091 },
+ { 0x1A5F, 28099 },
+ { 0x19B3, 28107 },
+ { 0x0026, 28114 },
+ { 0x19B9, 28118 },
+ { 0x0150, 28125 },
+ { 0x35E8, 28131 },
+ { 0x0027, 28137 },
+ { 0x00DF, 28141 },
+ { 0x0152, 28148 },
+ { 0x01B3, 28154 },
+ { 0x00DD, 28160 },
+ { 0x01A5, 28166 },
+ { 0x19BB, 28172 },
+ { 0x01A3, 28178 },
+ { 0x00E1, 28184 },
+ { 0x35F0, 28190 },
+ { 0x00DB, 28197 },
+ { 0x0028, 28203 },
+ { 0x19BD, 28207 },
+ { 0x19BF, 28214 },
+ { 0x35FA, 28221 },
+ { 0x19C5, 28227 },
+ { 0x01DD, 28234 },
+ { 0x00E5, 28240 },
+ { 0x19C3, 28246 },
+ { 0x2759, 28252 },
+ { 0x19C1, 28258 },
+ { 0x00E3, 28264 },
+ { 0x0029, 28270 },
+ { 0x00EF, 28274 },
+ { 0x1A65, 28281 },
+ { 0x1A63, 28288 },
+ { 0x008C, 28295 },
+ { 0x00EB, 28301 },
+ { 0x018E, 28307 },
+ { 0x008B, 28313 },
+ { 0x00E7, 28319 },
+ { 0x19C7, 28325 },
+ { 0x01C7, 28332 },
+ { 0x00E9, 28339 },
+ { 0x00ED, 28345 },
+ { 0x0156, 28351 },
+ { 0x01C9, 28357 },
+ { 0x008E, 28364 },
+ { 0x19C9, 28370 },
+ { 0x008D, 28378 },
+ { 0x002A, 28384 },
+ { 0x0207, 28388 },
+ { 0x00F3, 28394 },
+ { 0x3600, 28400 },
+ { 0x002B, 28406 },
+ { 0x19CD, 28410 },
+ { 0x0157, 28417 },
+ { 0x19CF, 28423 },
+ { 0x19CB, 28430 },
+ { 0x01A7, 28436 },
+ { 0x3590, 28442 },
+ { 0x3594, 28448 },
+ { 0x00F5, 28457 },
+ { 0x35F2, 28463 },
+ { 0x3592, 28470 },
+ { 0x275B, 28477 },
+ { 0x002C, 28483 },
+ { 0x01FC, 28487 },
+ { 0x19D1, 28493 },
+ { 0x19D3, 28500 },
+ { 0x35FD, 28509 },
+ { 0x3598, 28515 },
+ { 0x19D5, 28522 },
+ { 0x00F8, 28529 },
+ { 0x00FC, 28535 },
+ { 0x0187, 28541 },
+ { 0x2752, 28549 },
+ { 0x00FE, 28556 },
+ { 0x2754, 28563 },
+ { 0x0100, 28570 },
+ { 0x00FA, 28576 },
+ { 0x19D7, 28582 },
+ { 0x002D, 28589 },
+ { 0x19DB, 28593 },
+ { 0x19DD, 28600 },
+ { 0x2760, 28607 },
+ { 0x19D9, 28613 },
+ { 0x002E, 28619 },
+ { 0x19DF, 28623 },
+ { 0x19E1, 28630 },
+ { 0x015C, 28637 },
+ { 0x19E3, 28644 },
+ { 0x01DF, 28651 },
+ { 0x0102, 28659 },
+ { 0x0106, 28665 },
+ { 0x01B7, 28671 },
+ { 0x018A, 28677 },
+ { 0x0090, 28685 },
+ { 0x0104, 28691 },
+ { 0x35F4, 28697 },
+ { 0x35E0, 28704 },
+ { 0x19E5, 28710 },
+ { 0x002F, 28717 },
+ { 0x01ED, 28721 },
+ { 0x01EF, 28728 },
+ { 0x1A67, 28737 },
+ { 0x1A69, 28744 },
+ { 0x015F, 28751 },
+ { 0x1A7D, 28757 },
+ { 0x1A79, 28766 },
+ { 0x1A75, 28775 },
+ { 0x1A77, 28783 },
+ { 0x1A7B, 28791 },
+ { 0x359A, 28799 },
+ { 0x359C, 28807 },
+ { 0x0092, 28813 },
+ { 0x010D, 28819 },
+ { 0x0190, 28825 },
+ { 0x0091, 28831 },
+ { 0x0094, 28837 },
+ { 0x19E7, 28843 },
+ { 0x01EB, 28851 },
+ { 0x19E9, 28859 },
+ { 0x010F, 28867 },
+ { 0x01CB, 28874 },
+ { 0x010B, 28881 },
+ { 0x19ED, 28887 },
+ { 0x19EB, 28895 },
+ { 0x015E, 28903 },
+ { 0x01A9, 28910 },
+ { 0x01AB, 28916 },
+ { 0x0097, 28924 },
+ { 0x01BD, 28930 },
+ { 0x01CD, 28938 },
+ { 0x0095, 28945 },
+ { 0x01E9, 28951 },
+ { 0x0093, 28959 },
+ { 0x1A73, 28965 },
+ { 0x1A6F, 28974 },
+ { 0x1A6B, 28983 },
+ { 0x1A6D, 28991 },
+ { 0x1A71, 28999 },
+ { 0x0030, 29007 },
+ { 0x19F1, 29011 },
+ { 0x0163, 29018 },
+ { 0x19EF, 29024 },
+ { 0x2755, 29030 },
+ { 0x35A0, 29036 },
+ { 0x35A2, 29044 },
+ { 0x35A4, 29050 },
+ { 0x0031, 29057 },
+ { 0x35A6, 29061 },
+ { 0x35A8, 29069 },
+ { 0x0032, 29076 },
+ { 0x19F3, 29080 },
+ { 0x19F5, 29087 },
+ { 0x19F7, 29094 },
+ { 0x19F9, 29103 },
+ { 0x2756, 29110 },
+ { 0x0113, 29116 },
+ { 0x0117, 29122 },
+ { 0x01CF, 29128 },
+ { 0x020B, 29135 },
+ { 0x0115, 29141 },
+ { 0x35F6, 29147 },
+ { 0x01D1, 29154 },
+ { 0x35AA, 29161 },
+ { 0x0033, 29166 },
+ { 0x19FB, 29170 },
+ { 0x19FD, 29177 },
+ { 0x1A03, 29184 },
+ { 0x0119, 29194 },
+ { 0x19FF, 29200 },
+ { 0x011F, 29209 },
+ { 0x1A01, 29215 },
+ { 0x01D7, 29224 },
+ { 0x2770, 29231 },
+ { 0x011D, 29238 },
+ { 0x35F8, 29244 },
+ { 0x011B, 29251 },
+ { 0x0034, 29257 },
+ { 0x1A05, 29261 },
+ { 0x1A07, 29268 },
+ { 0x016B, 29275 },
+ { 0x1A09, 29281 },
+ { 0x0123, 29288 },
+ { 0x01D9, 29294 },
+ { 0x0125, 29301 },
+ { 0x0121, 29307 },
+ { 0x01FD, 29313 },
+ { 0x016D, 29320 },
+ { 0x1A0B, 29327 },
+ { 0x0035, 29334 },
+ { 0x0203, 29338 },
+ { 0x1A7F, 29343 },
+ { 0x1A81, 29350 },
+ { 0x016E, 29357 },
+ { 0x1A8B, 29363 },
+ { 0x1A87, 29372 },
+ { 0x1A83, 29381 },
+ { 0x1A85, 29389 },
+ { 0x1A89, 29397 },
+ { 0x012D, 29405 },
+ { 0x0099, 29412 },
+ { 0x012B, 29418 },
+ { 0x0192, 29424 },
+ { 0x0098, 29430 },
+ { 0x0127, 29436 },
+ { 0x1A13, 29442 },
+ { 0x1A0F, 29450 },
+ { 0x012F, 29457 },
+ { 0x01D3, 29464 },
+ { 0x0129, 29471 },
+ { 0x1A15, 29477 },
+ { 0x0131, 29485 },
+ { 0x01D5, 29491 },
+ { 0x009B, 29498 },
+ { 0x0196, 29504 },
+ { 0x0198, 29512 },
+ { 0x019A, 29520 },
+ { 0x0194, 29528 },
+ { 0x1A0D, 29536 },
+ { 0x009A, 29543 },
+ { 0x1A11, 29549 },
+ { 0x0036, 29556 },
+ { 0x1A19, 29560 },
+ { 0x0171, 29567 },
+ { 0x1A17, 29573 },
+ { 0x35AE, 29579 },
+ { 0x0037, 29586 },
+ { 0x1A21, 29590 },
+ { 0x1A23, 29597 },
+ { 0x2764, 29604 },
+ { 0x1A1D, 29610 },
+ { 0x1A1B, 29616 },
+ { 0x1A1F, 29622 },
+ { 0x0133, 29628 },
+ { 0x0038, 29634 },
+ { 0x1A25, 29638 },
+ { 0x1A27, 29645 },
+ { 0x0039, 29651 },
+ { 0x1A29, 29655 },
+ { 0x1A8F, 29662 },
+ { 0x0172, 29669 },
+ { 0x1A91, 29675 },
+ { 0x1A99, 29682 },
+ { 0x009C, 29688 },
+ { 0x1A8D, 29694 },
+ { 0x1A93, 29700 },
+ { 0x01F1, 29706 },
+ { 0x020D, 29712 },
+ { 0x0137, 29718 },
+ { 0x0135, 29724 },
+ { 0x003A, 29730 },
+ { 0x013A, 29734 },
+ { 0x1A2D, 29741 },
+ { 0x01E3, 29748 },
+ { 0x1A2F, 29754 },
+ { 0x0138, 29761 },
+ { 0x013C, 29767 },
+ { 0x2771, 29773 },
+ { 0x0174, 29780 },
+ { 0x275D, 29786 },
+ { 0x1A2B, 29792 },
+ { 0x3582, 29798 },
+ { 0x0085, 29802 },
+ { 0x01BB, 29806 },
+ { 0x01A1, 29812 },
+ { 0x3584, 29818 },
+ { 0x3586, 29822 },
+ { 0x3588, 29826 },
+ { 0x358A, 29830 },
+ { 0x358C, 29837 },
+ { 0x01B0, 29841 },
+ { 0x0183, 29845 },
+ { 0x35BA, 29851 },
+ { 0x35BC, 29855 },
+ { 0x0186, 29859 },
+ { 0x0189, 29863 },
+ { 0x0161, 29867 },
+ { 0x359E, 29871 },
+ { 0x01E1, 29875 },
+ { 0x3578, 29879 },
+ { 0x35B0, 29883 },
+ { 0x3601, 29887 },
+ { 0x35BE, 29891 },
+ { 0x0109, 29895 },
+ { 0x0168, 29899 },
+ { 0x008F, 29903 },
+ { 0x0176, 29907 },
+ { 0x01AD, 29911 },
+ { 0x0177, 29917 },
+ { 0x0161, 29922 },
+ { 0x35AC, 29926 },
+ { 0x3602, 29931 },
+ { 0x2767, 29935 },
+ { 0x3576, 29940 },
+ { 0x0155, 29944 },
+ { 0x014F, 29948 },
+ { 0x0145, 29953 },
+ { 0x0143, 29958 },
+ { 0x0166, 29963 },
+ { 0x017B, 29968 },
+ { 0x35B8, 29973 },
+ { 0x01B6, 29977 },
+ { 0x01DB, 29981 },
+ { 0x275F, 29985 },
+ { 0x0153, 29989 },
+ { 0x01B5, 29993 },
+ { 0x3604, 29997 },
+ { 0x014E, 30001 },
+ { 0x1A39, 30005 },
+ { 0x0209, 30010 },
+ { 0x009D, 30018 },
+ { 0x35B4, 30022 },
+ { 0x35B6, 30028 },
+ { 0x3596, 30036 },
+ { 0x35FC, 30041 },
+ { 0x2761, 30046 },
+ { 0x35DD, 30051 },
+ { 0x35FE, 30056 },
+ { 0x35D0, 30061 },
+ { 0x015B, 30066 },
+ { 0x35FF, 30071 },
+ { 0x0204, 30076 },
+ { 0x2762, 30081 },
+ { 0x35CE, 30086 },
+ { 0x0148, 30092 },
+ { 0x0200, 30097 },
+ { 0x35C9, 30102 },
+ { 0x35CB, 30107 },
+ { 0x35CD, 30112 },
+ { 0x35D2, 30117 },
+ { 0x35D4, 30122 },
+ { 0x35D6, 30127 },
+ { 0x0170, 30132 },
+ { 0x35EA, 30136 },
+ { 0x35EC, 30141 },
+ { 0x35EE, 30146 },
+ { 0x358E, 30151 },
+ { 0x014D, 30158 },
+ { 0x35FB, 30163 },
+ { 0x35DB, 30169 },
+ { 0x357A, 30173 },
+ { 0x357C, 30177 },
+ { 0x357E, 30181 },
+ { 0x35B2, 30187 },
+ { 0x1A97, 30192 },
+ { 0x1A95, 30197 },
+ { 0x3574, 30202 },
+ { 0x3572, 30207 },
+ { 0x00F1, 30212 },
+ { 0x0111, 30216 },
+ { 0x1C10, 30220 },
+ { 0x1C11, 30225 },
+ { 0x1C15, 30230 },
+ { 0x1903, 30235 },
+ { 0x276E, 30240 },
+ { 0x1C16, 30245 },
+ { 0x1C17, 30250 },
+ { 0x1C18, 30255 },
+ { 0x1C19, 30260 },
+ { 0x1C12, 30265 },
+ { 0x1C1A, 30270 },
+ { 0x1904, 30275 },
+ { 0x1C1B, 30280 },
+ { 0x1C1C, 30285 },
+ { 0x1905, 30290 },
+ { 0x1906, 30295 },
+ { 0x1C13, 30300 },
+ { 0x1C14, 30305 },
+ { 0x360D, 30310 },
+ { 0x360E, 30315 },
+ { 0x360C, 30320 },
+ { 0x360A, 30325 },
+ { 0x360B, 30330 },
+ { 0x3606, 30335 },
+ { 0x6771, 30340 },
+ { 0x67C0, 30341 },
+ { 0x2174, 30343 },
+ { 0x6BAF, 30344 },
+ { 0x6BA9, 30348 },
+ { 0x6BC3, 30352 },
+ { 0x26EA, 30357 },
+ { 0x6BBE, 30362 },
+ { 0x2298, 30367 },
+ { 0x6AAC, 30373 },
+ { 0x6A1C, 30375 },
+ { 0x6BB5, 30378 },
+ { 0x6B9C, 30382 },
+ { 0x2299, 30385 },
+ { 0x20B7, 30391 },
+ { 0x6BBA, 30393 },
+ { 0x6B88, 30398 },
+ { 0x6BCC, 30401 },
+ { 0x6BA3, 30406 },
+ { 0x227E, 30408 },
+ { 0x15B6, 30411 },
+ { 0x15B5, 30414 },
+ { 0x15B4, 30417 },
+ { 0x15B3, 30420 },
+ { 0x15BA, 30423 },
+ { 0x15BF, 30426 },
+ { 0x15BB, 30429 },
+ { 0x15BE, 30432 },
+ { 0x15BD, 30435 },
+ { 0x15C2, 30438 },
+ { 0x15B9, 30441 },
+ { 0x15C1, 30444 },
+ { 0x15C0, 30447 },
+ { 0x15BC, 30450 },
+ { 0x15AA, 30453 },
+ { 0x15B2, 30457 },
+ { 0x15B0, 30461 },
+ { 0x15AE, 30465 },
+ { 0x15AF, 30469 },
+ { 0x15B1, 30473 },
+ { 0x15AD, 30477 },
+ { 0x15AB, 30481 },
+ { 0x15AC, 30485 },
+ { 0x159E, 30489 },
+ { 0x15A5, 30493 },
+ { 0x159F, 30497 },
+ { 0x15A6, 30501 },
+ { 0x15A0, 30505 },
+ { 0x15A2, 30509 },
+ { 0x15A4, 30513 },
+ { 0x15A1, 30517 },
+ { 0x15A3, 30521 },
+ { 0x1591, 30525 },
+ { 0x1585, 30528 },
+ { 0x158C, 30531 },
+ { 0x1582, 30534 },
+ { 0x159B, 30537 },
+ { 0x1587, 30540 },
+ { 0x1580, 30543 },
+ { 0x1596, 30546 },
+ { 0x1593, 30549 },
+ { 0x158E, 30552 },
+ { 0x158F, 30555 },
+ { 0x1595, 30558 },
+ { 0x159A, 30561 },
+ { 0x158A, 30564 },
+ { 0x1597, 30567 },
+ { 0x1594, 30570 },
+ { 0x1592, 30573 },
+ { 0x1586, 30576 },
+ { 0x158D, 30579 },
+ { 0x1583, 30582 },
+ { 0x1588, 30585 },
+ { 0x1581, 30588 },
+ { 0x1584, 30591 },
+ { 0x1590, 30594 },
+ { 0x1598, 30597 },
+ { 0x1599, 30600 },
+ { 0x158B, 30603 },
+ { 0x159D, 30606 },
+ { 0x1589, 30609 },
+ { 0x159C, 30612 },
+ { 0x15B8, 30615 },
+ { 0x15A8, 30618 },
+ { 0x15A9, 30622 },
+ { 0x15A7, 30626 },
+ { 0x15B7, 30630 },
+ { 0x157F, 30633 },
+ { 0x1C33, 30636 },
+ { 0x20A7, 30639 },
+ { 0x20A8, 30643 },
+ { 0x20AB, 30647 },
+ { 0x20AA, 30651 },
+ { 0x2107, 30654 },
+ { 0x2101, 30657 },
+ { 0x69B2, 30662 },
+ { 0x69AE, 30665 },
+ { 0x69B0, 30668 },
+ { 0x2105, 30672 },
+ { 0x2120, 30677 },
+ { 0x69AF, 30680 },
+ { 0x69B1, 30684 },
+ { 0x2465, 30687 },
+ { 0x2229, 30692 },
+ { 0x22F9, 30695 },
+ { 0x2234, 30700 },
+ { 0x2104, 30703 },
+ { 0x6964, 30708 },
+ { 0x2277, 30713 },
+ { 0x2125, 30718 },
+ { 0x2464, 30721 },
+ { 0x2275, 30726 },
+ { 0x20AD, 30731 },
+ { 0x20A9, 30735 },
+ { 0x20AC, 30739 },
+ { 0x1C39, 30743 },
+ { 0x6767, 30745 },
+ { 0x676E, 30747 },
+ { 0x64BF, 30748 },
+ { 0x64C4, 30752 },
+ { 0x64C0, 30756 },
+ { 0x64C3, 30760 },
+ { 0x64C2, 30764 },
+ { 0x64C7, 30768 },
+ { 0x64C6, 30772 },
+ { 0x64C5, 30776 },
+ { 0x64C1, 30780 },
+ { 0x63FA, 30784 },
+ { 0x63FB, 30789 },
+ { 0x63FC, 30794 },
+ { 0x6402, 30799 },
+ { 0x6403, 30804 },
+ { 0x6404, 30809 },
+ { 0x640E, 30814 },
+ { 0x640F, 30819 },
+ { 0x6410, 30824 },
+ { 0x6415, 30829 },
+ { 0x6416, 30834 },
+ { 0x6417, 30839 },
+ { 0x641C, 30844 },
+ { 0x641D, 30849 },
+ { 0x641E, 30854 },
+ { 0x6438, 30859 },
+ { 0x6439, 30864 },
+ { 0x643A, 30869 },
+ { 0x6428, 30874 },
+ { 0x6429, 30879 },
+ { 0x642A, 30884 },
+ { 0x643E, 30889 },
+ { 0x643F, 30894 },
+ { 0x6440, 30899 },
+ { 0x6430, 30904 },
+ { 0x6431, 30909 },
+ { 0x6432, 30914 },
+ { 0x6445, 30919 },
+ { 0x6446, 30924 },
+ { 0x6447, 30929 },
+ { 0x644D, 30934 },
+ { 0x644E, 30939 },
+ { 0x644F, 30944 },
+ { 0x6454, 30949 },
+ { 0x6455, 30954 },
+ { 0x6456, 30959 },
+ { 0x645D, 30964 },
+ { 0x645E, 30969 },
+ { 0x645F, 30974 },
+ { 0x6465, 30979 },
+ { 0x6463, 30984 },
+ { 0x6467, 30989 },
+ { 0x6472, 30994 },
+ { 0x649C, 30999 },
+ { 0x6408, 31004 },
+ { 0x6470, 31009 },
+ { 0x6490, 31014 },
+ { 0x6400, 31019 },
+ { 0x640C, 31024 },
+ { 0x6488, 31029 },
+ { 0x648A, 31034 },
+ { 0x646E, 31039 },
+ { 0x646B, 31044 },
+ { 0x6435, 31049 },
+ { 0x6442, 31054 },
+ { 0x64A1, 31059 },
+ { 0x6484, 31064 },
+ { 0x64BB, 31069 },
+ { 0x6411, 31074 },
+ { 0x64BE, 31079 },
+ { 0x640B, 31084 },
+ { 0x648E, 31089 },
+ { 0x644B, 31094 },
+ { 0x64AE, 31099 },
+ { 0x63FD, 31104 },
+ { 0x648C, 31109 },
+ { 0x64AD, 31114 },
+ { 0x6486, 31119 },
+ { 0x6444, 31124 },
+ { 0x64A6, 31129 },
+ { 0x64A5, 31134 },
+ { 0x6492, 31139 },
+ { 0x6434, 31144 },
+ { 0x649B, 31149 },
+ { 0x6458, 31154 },
+ { 0x63FF, 31159 },
+ { 0x64B9, 31164 },
+ { 0x6457, 31169 },
+ { 0x642E, 31174 },
+ { 0x6451, 31179 },
+ { 0x6489, 31184 },
+ { 0x6473, 31189 },
+ { 0x6469, 31194 },
+ { 0x6433, 31199 },
+ { 0x64B7, 31204 },
+ { 0x647A, 31209 },
+ { 0x646D, 31215 },
+ { 0x645A, 31220 },
+ { 0x643B, 31225 },
+ { 0x6471, 31230 },
+ { 0x6441, 31235 },
+ { 0x649A, 31240 },
+ { 0x64A3, 31245 },
+ { 0x6412, 31250 },
+ { 0x63FE, 31255 },
+ { 0x6466, 31260 },
+ { 0x6419, 31265 },
+ { 0x64BD, 31270 },
+ { 0x6487, 31275 },
+ { 0x6420, 31280 },
+ { 0x645C, 31285 },
+ { 0x648B, 31290 },
+ { 0x641A, 31295 },
+ { 0x6443, 31300 },
+ { 0x6497, 31305 },
+ { 0x647B, 31311 },
+ { 0x64A4, 31317 },
+ { 0x649D, 31322 },
+ { 0x6450, 31327 },
+ { 0x6437, 31332 },
+ { 0x647E, 31338 },
+ { 0x649E, 31343 },
+ { 0x6449, 31348 },
+ { 0x6407, 31353 },
+ { 0x6474, 31358 },
+ { 0x642C, 31363 },
+ { 0x6460, 31368 },
+ { 0x6406, 31373 },
+ { 0x64AC, 31378 },
+ { 0x6477, 31383 },
+ { 0x6453, 31388 },
+ { 0x648F, 31393 },
+ { 0x64A8, 31398 },
+ { 0x64A0, 31403 },
+ { 0x64AA, 31408 },
+ { 0x6405, 31413 },
+ { 0x6479, 31418 },
+ { 0x646A, 31423 },
+ { 0x64A9, 31428 },
+ { 0x646C, 31433 },
+ { 0x6424, 31438 },
+ { 0x6499, 31443 },
+ { 0x6459, 31448 },
+ { 0x64B2, 31453 },
+ { 0x6425, 31458 },
+ { 0x642D, 31463 },
+ { 0x6423, 31468 },
+ { 0x641B, 31473 },
+ { 0x640D, 31478 },
+ { 0x6468, 31483 },
+ { 0x6452, 31488 },
+ { 0x6498, 31493 },
+ { 0x640A, 31499 },
+ { 0x64B8, 31504 },
+ { 0x648D, 31509 },
+ { 0x6475, 31514 },
+ { 0x6422, 31519 },
+ { 0x64A2, 31524 },
+ { 0x64B1, 31529 },
+ { 0x6418, 31534 },
+ { 0x64B5, 31539 },
+ { 0x64AF, 31544 },
+ { 0x6436, 31549 },
+ { 0x6413, 31554 },
+ { 0x647D, 31559 },
+ { 0x6476, 31564 },
+ { 0x6448, 31569 },
+ { 0x649F, 31574 },
+ { 0x6478, 31579 },
+ { 0x644A, 31584 },
+ { 0x6496, 31589 },
+ { 0x642B, 31595 },
+ { 0x641F, 31600 },
+ { 0x64BA, 31605 },
+ { 0x6421, 31610 },
+ { 0x6481, 31615 },
+ { 0x6482, 31620 },
+ { 0x647F, 31625 },
+ { 0x6461, 31630 },
+ { 0x64BC, 31635 },
+ { 0x64A7, 31640 },
+ { 0x6493, 31645 },
+ { 0x64B6, 31650 },
+ { 0x6494, 31655 },
+ { 0x644C, 31660 },
+ { 0x6462, 31666 },
+ { 0x6485, 31671 },
+ { 0x6427, 31676 },
+ { 0x6401, 31681 },
+ { 0x643C, 31686 },
+ { 0x643D, 31691 },
+ { 0x64B3, 31696 },
+ { 0x647C, 31701 },
+ { 0x6483, 31707 },
+ { 0x64B4, 31712 },
+ { 0x6464, 31717 },
+ { 0x6495, 31722 },
+ { 0x6491, 31727 },
+ { 0x6414, 31732 },
+ { 0x6480, 31737 },
+ { 0x64AB, 31742 },
+ { 0x64B0, 31747 },
+ { 0x646F, 31752 },
+ { 0x6409, 31757 },
+ { 0x6426, 31762 },
+ { 0x642F, 31767 },
+ { 0x645B, 31772 },
+ { 0x64CC, 31777 },
+ { 0x64C9, 31783 },
+ { 0x64C8, 31788 },
+ { 0x64CD, 31793 },
+ { 0x64CA, 31799 },
+ { 0x64CE, 31804 },
+ { 0x64CB, 31809 },
+ { 0x6AAB, 31814 },
+ { 0x0074, 31815 },
+ { 0x6732, 31817 },
+ { 0x1D6B, 31819 },
+ { 0x2560, 31821 },
+ { 0x2550, 31825 },
+ { 0x254F, 31830 },
+ { 0x2552, 31835 },
+ { 0x2551, 31840 },
+ { 0x1D9B, 31845 },
+ { 0x68D6, 31847 },
+ { 0x68DE, 31849 },
+ { 0x6AFA, 31852 },
+ { 0x6A1F, 31854 },
+ { 0x6827, 31856 },
+ { 0x6853, 31857 },
+ { 0x686A, 31859 },
+ { 0x67CB, 31860 },
+ { 0x6A23, 31862 },
+ { 0x2193, 31863 },
+ { 0x2195, 31866 },
+ { 0x2194, 31869 },
+ { 0x252F, 31872 },
+ { 0x1E1C, 31875 },
+ { 0x2529, 31877 },
+ { 0x252A, 31882 },
+ { 0x2625, 31887 },
+ { 0x252C, 31891 },
+ { 0x252B, 31895 },
+ { 0x2526, 31899 },
+ { 0x2527, 31903 },
+ { 0x2528, 31907 },
+ { 0x1E1A, 31911 },
+ { 0x1E19, 31914 },
+ { 0x1D68, 31917 },
+ { 0x1D69, 31919 },
+ { 0x1D6A, 31921 },
+ { 0x1E1B, 31923 },
+ { 0x1D60, 31925 },
+ { 0x1C23, 31926 },
+ { 0x6729, 31928 },
+ { 0x1BB3, 31931 },
+ { 0x2448, 31932 },
+ { 0x1CF0, 31938 },
+ { 0x244E, 31941 },
+ { 0x244A, 31948 },
+ { 0x2457, 31953 },
+ { 0x2454, 31960 },
+ { 0x262E, 31967 },
+ { 0x2626, 31971 },
+ { 0x1D30, 31975 },
+ { 0x6A86, 31979 },
+ { 0x6A76, 31983 },
+ { 0x6A7E, 31987 },
+ { 0x6C18, 31992 },
+ { 0x268D, 31996 },
+ { 0x269B, 32000 },
+ { 0x2447, 32006 },
+ { 0x1CEF, 32012 },
+ { 0x1D11, 32015 },
+ { 0x1D4A, 32021 },
+ { 0x244D, 32026 },
+ { 0x2449, 32033 },
+ { 0x2458, 32038 },
+ { 0x262F, 32045 },
+ { 0x2627, 32049 },
+ { 0x1D2F, 32053 },
+ { 0x6A84, 32057 },
+ { 0x6A74, 32061 },
+ { 0x6A7C, 32065 },
+ { 0x6C17, 32070 },
+ { 0x268C, 32074 },
+ { 0x269A, 32078 },
+ { 0x3643, 32084 },
+ { 0x3641, 32088 },
+ { 0x363C, 32092 },
+ { 0x363F, 32097 },
+ { 0x363B, 32102 },
+ { 0x363E, 32107 },
+ { 0x363D, 32112 },
+ { 0x3640, 32117 },
+ { 0x3644, 32122 },
+ { 0x3642, 32126 },
+ { 0x1364, 32130 },
+ { 0x137A, 32133 },
+ { 0x1376, 32136 },
+ { 0x1375, 32139 },
+ { 0x1374, 32142 },
+ { 0x136D, 32145 },
+ { 0x136B, 32148 },
+ { 0x1370, 32151 },
+ { 0x137C, 32154 },
+ { 0x1366, 32157 },
+ { 0x136F, 32160 },
+ { 0x1369, 32163 },
+ { 0x1373, 32166 },
+ { 0x1368, 32169 },
+ { 0x136A, 32172 },
+ { 0x1365, 32175 },
+ { 0x136E, 32178 },
+ { 0x1367, 32181 },
+ { 0x137E, 32184 },
+ { 0x136C, 32187 },
+ { 0x1372, 32190 },
+ { 0x1379, 32193 },
+ { 0x1377, 32196 },
+ { 0x1378, 32199 },
+ { 0x1371, 32202 },
+ { 0x137B, 32205 },
+ { 0x137D, 32208 },
+ { 0x137F, 32211 },
+ { 0x1380, 32214 },
+ { 0x689A, 32218 },
+ { 0x689B, 32220 },
+ { 0x09CB, 32222 },
+ { 0x09CC, 32226 },
+ { 0x09BD, 32230 },
+ { 0x09CA, 32233 },
+ { 0x098E, 32236 },
+ { 0x098D, 32239 },
+ { 0x09BE, 32242 },
+ { 0x098C, 32245 },
+ { 0x09D5, 32248 },
+ { 0x09DA, 32251 },
+ { 0x09D6, 32254 },
+ { 0x09D9, 32257 },
+ { 0x09D8, 32260 },
+ { 0x09DD, 32263 },
+ { 0x09D4, 32266 },
+ { 0x09DC, 32269 },
+ { 0x09DB, 32272 },
+ { 0x09D7, 32275 },
+ { 0x09C6, 32278 },
+ { 0x09C0, 32282 },
+ { 0x09C8, 32286 },
+ { 0x09C2, 32290 },
+ { 0x09BF, 32294 },
+ { 0x09C7, 32298 },
+ { 0x09C9, 32302 },
+ { 0x09C1, 32306 },
+ { 0x09C3, 32310 },
+ { 0x09D2, 32314 },
+ { 0x09C4, 32319 },
+ { 0x09D3, 32324 },
+ { 0x09C5, 32329 },
+ { 0x09DE, 32334 },
+ { 0x098F, 32336 },
+ { 0x0997, 32339 },
+ { 0x0991, 32342 },
+ { 0x0999, 32345 },
+ { 0x0993, 32348 },
+ { 0x0990, 32351 },
+ { 0x0998, 32354 },
+ { 0x099A, 32357 },
+ { 0x09B1, 32360 },
+ { 0x09A0, 32363 },
+ { 0x09AC, 32366 },
+ { 0x099D, 32369 },
+ { 0x09BC, 32372 },
+ { 0x0992, 32375 },
+ { 0x09A2, 32378 },
+ { 0x099B, 32381 },
+ { 0x09B6, 32384 },
+ { 0x09B3, 32387 },
+ { 0x09AE, 32390 },
+ { 0x09AF, 32393 },
+ { 0x09B5, 32396 },
+ { 0x09BB, 32399 },
+ { 0x09AA, 32402 },
+ { 0x0994, 32405 },
+ { 0x09B8, 32408 },
+ { 0x09DF, 32411 },
+ { 0x09B4, 32414 },
+ { 0x09B2, 32417 },
+ { 0x09A1, 32420 },
+ { 0x09A7, 32423 },
+ { 0x09AD, 32426 },
+ { 0x099E, 32429 },
+ { 0x09A3, 32432 },
+ { 0x099C, 32435 },
+ { 0x09B7, 32438 },
+ { 0x099F, 32441 },
+ { 0x09A9, 32444 },
+ { 0x09A4, 32447 },
+ { 0x09B0, 32450 },
+ { 0x09CE, 32453 },
+ { 0x09CD, 32456 },
+ { 0x09B9, 32459 },
+ { 0x09BA, 32462 },
+ { 0x09AB, 32465 },
+ { 0x09A5, 32468 },
+ { 0x09CF, 32471 },
+ { 0x09A8, 32474 },
+ { 0x09A6, 32477 },
+ { 0x0996, 32480 },
+ { 0x0995, 32484 },
+ { 0x09D1, 32488 },
+ { 0x09D0, 32492 },
+ { 0x09E1, 32496 },
+ { 0x09E4, 32500 },
+ { 0x09E0, 32504 },
+ { 0x09E3, 32508 },
+ { 0x09E2, 32512 },
+ { 0x09E5, 32516 },
+ { 0x1C82, 32520 },
+ { 0x6905, 32522 },
+ { 0x69F4, 32523 },
+ { 0x6862, 32524 },
+ { 0x67AF, 32526 },
+ { 0x2154, 32528 },
+ { 0x6777, 32530 },
+ { 0x6AF4, 32531 },
+ { 0x1E71, 32534 },
+ { 0x216D, 32538 },
+ { 0x6883, 32539 },
+ { 0x0062, 32540 },
+ { 0x1BB6, 32542 },
+ { 0x1EF2, 32543 },
+ { 0x6881, 32546 },
+ { 0x6921, 32547 },
+ { 0x693E, 32548 },
+ { 0x1D8F, 32550 },
+ { 0x24BA, 32551 },
+ { 0x28DC, 32555 },
+ { 0x20BB, 32559 },
+ { 0x24A3, 32563 },
+ { 0x20FD, 32566 },
+ { 0x20B6, 32570 },
+ { 0x69A2, 32573 },
+ { 0x1DFB, 32577 },
+ { 0x6A13, 32579 },
+ { 0x1D78, 32582 },
+ { 0x1E17, 32584 },
+ { 0x1ED5, 32588 },
+ { 0x28C0, 32594 },
+ { 0x2A60, 32599 },
+ { 0x24B8, 32602 },
+ { 0x24C2, 32607 },
+ { 0x28BF, 32612 },
+ { 0x1D4D, 32616 },
+ { 0x231A, 32621 },
+ { 0x24BE, 32626 },
+ { 0x2A68, 32631 },
+ { 0x005D, 32635 },
+ { 0x1F06, 32638 },
+ { 0x1F04, 32643 },
+ { 0x1F05, 32648 },
+ { 0x1E64, 32653 },
+ { 0x22FC, 32655 },
+ { 0x24AA, 32658 },
+ { 0x2A66, 32662 },
+ { 0x2A72, 32666 },
+ { 0x2A70, 32670 },
+ { 0x2A6E, 32675 },
+ { 0x24AC, 32679 },
+ { 0x2A64, 32682 },
+ { 0x28C4, 32685 },
+ { 0x2A62, 32689 },
+ { 0x2496, 32693 },
+ { 0x2501, 32699 },
+ { 0x1BA1, 32703 },
+ { 0x28E8, 32707 },
+ { 0x1E23, 32710 },
+ { 0x28CC, 32715 },
+ { 0x1B9D, 32719 },
+ { 0x6A0D, 32723 },
+ { 0x003D, 32726 },
+ { 0x24B6, 32729 },
+ { 0x24B4, 32737 },
+ { 0x1BCA, 32745 },
+ { 0x24B2, 32750 },
+ { 0x1EFF, 32755 },
+ { 0x1EFD, 32760 },
+ { 0x1EFE, 32765 },
+ { 0x24FF, 32769 },
+ { 0x1E62, 32772 },
+ { 0x698E, 32774 },
+ { 0x698F, 32776 },
+ { 0x6990, 32782 },
+ { 0x6A11, 32788 },
+ { 0x22EC, 32791 },
+ { 0x28E6, 32795 },
+ { 0x2A6C, 32799 },
+ { 0x1E18, 32803 },
+ { 0x24F4, 32805 },
+ { 0x28E0, 32810 },
+ { 0x1F12, 32815 },
+ { 0x1E25, 32819 },
+ { 0x0009, 32822 },
+ { 0x1EF9, 32824 },
+ { 0x1EF7, 32828 },
+ { 0x1EF8, 32832 },
+ { 0x28C2, 32835 },
+ { 0x28C9, 32838 },
+ { 0x6C69, 32841 },
+ { 0x3F9C, 32843 },
+ { 0x3F93, 32846 },
+ { 0x3F96, 32849 },
+ { 0x1CBD, 32853 },
+ { 0x1CCA, 32856 },
+ { 0x1CE5, 32860 },
+ { 0x1CCC, 32865 },
+ { 0x1CDD, 32869 },
+ { 0x1CC2, 32875 },
+ { 0x1CE2, 32878 },
+ { 0x1CC6, 32883 },
+ { 0x1CDF, 32886 },
+ { 0x1CBE, 32890 },
+ { 0x1CC1, 32893 },
+ { 0x1CCB, 32896 },
+ { 0x1CDE, 32900 },
+ { 0x1CC0, 32904 },
+ { 0x1CC5, 32907 },
+ { 0x1CC4, 32910 },
+ { 0x1CC9, 32913 },
+ { 0x1CE3, 32916 },
+ { 0x1CE4, 32921 },
+ { 0x1CC3, 32925 },
+ { 0x1CBF, 32928 },
+ { 0x1CC7, 32931 },
+ { 0x1CC8, 32934 },
+ { 0x1CE0, 32937 },
+ { 0x3F92, 32942 },
+ { 0x3F95, 32945 },
+ { 0x3F97, 32948 },
+ { 0x3F98, 32951 },
+ { 0x3F94, 32954 },
+ { 0x3F9D, 32957 },
+ { 0x3F9B, 32960 },
+ { 0x3F99, 32963 },
+ { 0x3F9A, 32966 },
+ { 0x6B85, 32969 },
+ { 0x68F3, 32971 },
+ { 0x1C3A, 32973 },
+ { 0x67EF, 32975 },
+ { 0x13CE, 32977 },
+ { 0x13CF, 32980 },
+ { 0x13AE, 32983 },
+ { 0x13B2, 32986 },
+ { 0x13A3, 32989 },
+ { 0x1396, 32992 },
+ { 0x13D2, 32995 },
+ { 0x138F, 32998 },
+ { 0x13CA, 33001 },
+ { 0x1382, 33004 },
+ { 0x1386, 33007 },
+ { 0x13CB, 33010 },
+ { 0x1385, 33013 },
+ { 0x13AF, 33016 },
+ { 0x138B, 33019 },
+ { 0x1390, 33023 },
+ { 0x1391, 33026 },
+ { 0x13D4, 33029 },
+ { 0x138A, 33032 },
+ { 0x13D3, 33036 },
+ { 0x1384, 33039 },
+ { 0x1394, 33042 },
+ { 0x13C1, 33045 },
+ { 0x1397, 33048 },
+ { 0x1388, 33051 },
+ { 0x1399, 33054 },
+ { 0x13A5, 33057 },
+ { 0x13BE, 33060 },
+ { 0x13C2, 33063 },
+ { 0x138C, 33066 },
+ { 0x13C4, 33069 },
+ { 0x1381, 33072 },
+ { 0x1398, 33078 },
+ { 0x13A2, 33083 },
+ { 0x13A8, 33089 },
+ { 0x1395, 33093 },
+ { 0x13C6, 33097 },
+ { 0x1383, 33100 },
+ { 0x13AA, 33105 },
+ { 0x1389, 33109 },
+ { 0x13C5, 33113 },
+ { 0x13BF, 33116 },
+ { 0x13B7, 33121 },
+ { 0x139C, 33126 },
+ { 0x13A4, 33130 },
+ { 0x1393, 33134 },
+ { 0x1392, 33137 },
+ { 0x13AC, 33143 },
+ { 0x13B0, 33148 },
+ { 0x139A, 33154 },
+ { 0x13D8, 33159 },
+ { 0x13D7, 33164 },
+ { 0x13D6, 33169 },
+ { 0x13D5, 33174 },
+ { 0x13D9, 33179 },
+ { 0x139B, 33184 },
+ { 0x13BD, 33188 },
+ { 0x13BB, 33191 },
+ { 0x13B8, 33197 },
+ { 0x139F, 33202 },
+ { 0x13B6, 33208 },
+ { 0x13A9, 33211 },
+ { 0x13AB, 33216 },
+ { 0x13C3, 33220 },
+ { 0x13C0, 33223 },
+ { 0x13B3, 33228 },
+ { 0x13BC, 33234 },
+ { 0x13A1, 33237 },
+ { 0x13B5, 33240 },
+ { 0x1387, 33243 },
+ { 0x13C9, 33248 },
+ { 0x13A7, 33251 },
+ { 0x13C8, 33255 },
+ { 0x13A6, 33258 },
+ { 0x13C7, 33262 },
+ { 0x138E, 33265 },
+ { 0x13AD, 33269 },
+ { 0x13B1, 33273 },
+ { 0x138D, 33277 },
+ { 0x13BA, 33281 },
+ { 0x13A0, 33285 },
+ { 0x13B9, 33289 },
+ { 0x139E, 33293 },
+ { 0x139D, 33297 },
+ { 0x13B4, 33301 },
+ { 0x13CC, 33305 },
+ { 0x13D1, 33308 },
+ { 0x13CD, 33311 },
+ { 0x13D0, 33314 },
+ { 0x1C25, 33317 },
+ { 0x6837, 33319 },
+ { 0x2606, 33320 },
+ { 0x260E, 33323 },
+ { 0x260F, 33328 },
+ { 0x2685, 33335 },
+ { 0x2605, 33343 },
+ { 0x260D, 33346 },
+ { 0x2604, 33351 },
+ { 0x2674, 33354 },
+ { 0x246A, 33358 },
+ { 0x2675, 33364 },
+ { 0x221D, 33368 },
+ { 0x68A6, 33369 },
+ { 0x2146, 33370 },
+ { 0x677B, 33373 },
+ { 0x1E8C, 33376 },
+ { 0x3CB3, 33377 },
+ { 0x45A2, 33380 },
+ { 0x2587, 33387 },
+ { 0x695F, 33391 },
+ { 0x3CAE, 33394 },
+ { 0x3CB6, 33397 },
+ { 0x3CB8, 33401 },
+ { 0x3CB4, 33406 },
+ { 0x3CBD, 33409 },
+ { 0x3CB0, 33412 },
+ { 0x3CAC, 33414 },
+ { 0x3CB7, 33416 },
+ { 0x3CB9, 33420 },
+ { 0x3CB5, 33425 },
+ { 0x1CCD, 33428 },
+ { 0x1CDA, 33432 },
+ { 0x1CDC, 33437 },
+ { 0x1CD2, 33442 },
+ { 0x1CD6, 33446 },
+ { 0x1CCE, 33450 },
+ { 0x1CD1, 33454 },
+ { 0x1CDB, 33458 },
+ { 0x1CD0, 33463 },
+ { 0x1CD5, 33467 },
+ { 0x1CD4, 33471 },
+ { 0x1CD9, 33475 },
+ { 0x1CD3, 33479 },
+ { 0x1CCF, 33483 },
+ { 0x1CD7, 33487 },
+ { 0x1CD8, 33491 },
+ { 0x029B, 33495 },
+ { 0x3CC3, 33497 },
+ { 0x3CC1, 33500 },
+ { 0x3CBA, 33503 },
+ { 0x695E, 33506 },
+ { 0x1D63, 33509 },
+ { 0x1E50, 33512 },
+ { 0x1E4D, 33517 },
+ { 0x3CC4, 33528 },
+ { 0x3CC2, 33531 },
+ { 0x6AFE, 33534 },
+ { 0x3CBC, 33536 },
+ { 0x1D66, 33538 },
+ { 0x1E57, 33542 },
+ { 0x1E55, 33546 },
+ { 0x3CB1, 33556 },
+ { 0x3CBB, 33559 },
+ { 0x3CBF, 33561 },
+ { 0x3CAF, 33564 },
+ { 0x3CC5, 33566 },
+ { 0x3CB2, 33569 },
+ { 0x3CAD, 33572 },
+ { 0x3CC0, 33575 },
+ { 0x3CBE, 33578 },
+ { 0x2559, 33580 },
+ { 0x1E7C, 33582 },
+ { 0x6832, 33583 },
+ { 0x6833, 33584 },
+ { 0x6A8E, 33585 },
+ { 0x6A8F, 33589 },
+ { 0x1C74, 33596 },
+ { 0x1CF1, 33599 },
+ { 0x1D4B, 33602 },
+ { 0x244F, 33607 },
+ { 0x244B, 33614 },
+ { 0x2453, 33619 },
+ { 0x2630, 33626 },
+ { 0x2628, 33630 },
+ { 0x1D31, 33634 },
+ { 0x6A87, 33638 },
+ { 0x6A77, 33642 },
+ { 0x6A7F, 33646 },
+ { 0x6C19, 33651 },
+ { 0x268E, 33655 },
+ { 0x269C, 33659 },
+ { 0x1CF2, 33665 },
+ { 0x2450, 33668 },
+ { 0x244C, 33675 },
+ { 0x2631, 33680 },
+ { 0x2629, 33684 },
+ { 0x1D32, 33688 },
+ { 0x6A85, 33692 },
+ { 0x6A75, 33696 },
+ { 0x6A7D, 33700 },
+ { 0x6C1A, 33705 },
+ { 0x268F, 33709 },
+ { 0x269D, 33713 },
+ { 0x0000, 33719 },
+ { 0x22CD, 33720 },
+ { 0x21C0, 33724 },
+ { 0x21BB, 33727 },
+ { 0x6AA6, 33730 },
+ { 0x6A04, 33732 },
+ { 0x6789, 33734 },
+ { 0x6A99, 33735 },
+ { 0x1BD7, 33738 },
+ { 0x67F9, 33740 },
+ { 0x4AB0, 33745 },
+ { 0x4AAF, 33748 },
+ { 0x4AA5, 33751 },
+ { 0x4AA4, 33754 },
+ { 0x4AB2, 33757 },
+ { 0x4AB7, 33760 },
+ { 0x4AB3, 33763 },
+ { 0x4AB6, 33766 },
+ { 0x4AB5, 33769 },
+ { 0x4ABA, 33772 },
+ { 0x4AB1, 33775 },
+ { 0x4AB9, 33778 },
+ { 0x4AB8, 33781 },
+ { 0x4AB4, 33784 },
+ { 0x4AAB, 33787 },
+ { 0x4AA7, 33791 },
+ { 0x4AAD, 33795 },
+ { 0x4AA9, 33799 },
+ { 0x4AA6, 33803 },
+ { 0x4AAC, 33807 },
+ { 0x4AAE, 33811 },
+ { 0x4AA8, 33815 },
+ { 0x4AAA, 33819 },
+ { 0x4A79, 33823 },
+ { 0x4A7F, 33826 },
+ { 0x4A7B, 33829 },
+ { 0x4A81, 33832 },
+ { 0x4A7D, 33835 },
+ { 0x4A7A, 33838 },
+ { 0x4A80, 33841 },
+ { 0x4A82, 33844 },
+ { 0x4A99, 33847 },
+ { 0x4A88, 33850 },
+ { 0x4A94, 33853 },
+ { 0x4A85, 33856 },
+ { 0x4AA2, 33859 },
+ { 0x4A7C, 33862 },
+ { 0x4A8A, 33865 },
+ { 0x4A83, 33868 },
+ { 0x4A9E, 33871 },
+ { 0x4A9B, 33874 },
+ { 0x4A96, 33877 },
+ { 0x4A97, 33880 },
+ { 0x4A9D, 33883 },
+ { 0x4AA1, 33886 },
+ { 0x4A92, 33889 },
+ { 0x4A7E, 33892 },
+ { 0x4A9F, 33895 },
+ { 0x4A9C, 33898 },
+ { 0x4A9A, 33901 },
+ { 0x4A89, 33904 },
+ { 0x4A8F, 33907 },
+ { 0x4A95, 33910 },
+ { 0x4A86, 33913 },
+ { 0x4A8B, 33916 },
+ { 0x4A84, 33919 },
+ { 0x4A87, 33922 },
+ { 0x4A91, 33925 },
+ { 0x4A8C, 33928 },
+ { 0x4A98, 33931 },
+ { 0x4AA3, 33934 },
+ { 0x4AA0, 33937 },
+ { 0x4A93, 33940 },
+ { 0x4A8D, 33943 },
+ { 0x4A90, 33946 },
+ { 0x4A8E, 33949 },
+ { 0x0A2B, 33952 },
+ { 0x0A18, 33956 },
+ { 0x0A17, 33960 },
+ { 0x0A26, 33962 },
+ { 0x0A16, 33965 },
+ { 0x09E7, 33968 },
+ { 0x09E6, 33971 },
+ { 0x0A28, 33974 },
+ { 0x0A29, 33977 },
+ { 0x0A1A, 33980 },
+ { 0x0A1F, 33983 },
+ { 0x0A1B, 33986 },
+ { 0x0A1E, 33989 },
+ { 0x0A1D, 33992 },
+ { 0x0A22, 33995 },
+ { 0x0A19, 33998 },
+ { 0x0A21, 34001 },
+ { 0x0A20, 34004 },
+ { 0x0A1C, 34007 },
+ { 0x0A27, 34010 },
+ { 0x0A2C, 34013 },
+ { 0x0A10, 34016 },
+ { 0x0A0C, 34020 },
+ { 0x0A13, 34024 },
+ { 0x0A0E, 34028 },
+ { 0x0A0B, 34032 },
+ { 0x0A12, 34036 },
+ { 0x0A15, 34040 },
+ { 0x0A11, 34044 },
+ { 0x0A0D, 34048 },
+ { 0x0A14, 34052 },
+ { 0x0A0F, 34056 },
+ { 0x0A2A, 34060 },
+ { 0x09E8, 34063 },
+ { 0x09EE, 34066 },
+ { 0x09EA, 34069 },
+ { 0x09F1, 34072 },
+ { 0x09EC, 34075 },
+ { 0x09E9, 34078 },
+ { 0x09F0, 34081 },
+ { 0x09F3, 34084 },
+ { 0x09F6, 34087 },
+ { 0x09EF, 34090 },
+ { 0x0A0A, 34093 },
+ { 0x09EB, 34096 },
+ { 0x09F7, 34099 },
+ { 0x09F4, 34102 },
+ { 0x0A03, 34105 },
+ { 0x09FF, 34108 },
+ { 0x09FC, 34111 },
+ { 0x09F2, 34114 },
+ { 0x09FE, 34117 },
+ { 0x0A01, 34120 },
+ { 0x0A09, 34123 },
+ { 0x09FB, 34126 },
+ { 0x09ED, 34129 },
+ { 0x0A06, 34132 },
+ { 0x0A00, 34135 },
+ { 0x0A04, 34138 },
+ { 0x09F5, 34141 },
+ { 0x09FA, 34144 },
+ { 0x09F8, 34147 },
+ { 0x0A02, 34150 },
+ { 0x0A07, 34153 },
+ { 0x0A08, 34156 },
+ { 0x09F9, 34159 },
+ { 0x0A05, 34162 },
+ { 0x09FD, 34165 },
+ { 0x0A24, 34168 },
+ { 0x0A25, 34172 },
+ { 0x0A23, 34176 },
+ { 0x0A2D, 34179 },
+ { 0x1C35, 34182 },
+ { 0x1D5D, 34184 },
+ { 0x1D5C, 34188 },
+ { 0x1BDA, 34190 },
+ { 0x6A0A, 34193 },
+ { 0x6A08, 34196 },
+ { 0x6A09, 34199 },
+ { 0x6A0B, 34202 },
+ { 0x21C5, 34205 },
+ { 0x21C4, 34209 },
+ { 0x69D5, 34213 },
+ { 0x6A0F, 34216 },
+ { 0x6BBC, 34219 },
+ { 0x2657, 34223 },
+ { 0x69CB, 34226 },
+ { 0x1D4F, 34229 },
+ { 0x259C, 34232 },
+ { 0x22E6, 34236 },
+ { 0x682B, 34239 },
+ { 0x6855, 34240 },
+ { 0x226B, 34242 },
+ { 0x005E, 34245 },
+ { 0x28DD, 34246 },
+ { 0x28DE, 34250 },
+ { 0x28DA, 34254 },
+ { 0x1D95, 34258 },
+ { 0x2590, 34260 },
+ { 0x2591, 34265 },
+ { 0x266F, 34270 },
+ { 0x2498, 34275 },
+ { 0x1F4B, 34280 },
+ { 0x24FA, 34282 },
+ { 0x24FB, 34287 },
+ { 0x6A4F, 34292 },
+ { 0x6A20, 34294 },
+ { 0x1E89, 34296 },
+ { 0x1C7F, 34298 },
+ { 0x6AAA, 34301 },
+ { 0x675D, 34302 },
+ { 0x1D83, 34303 },
+ { 0x2567, 34304 },
+ { 0x256B, 34308 },
+ { 0x2568, 34312 },
+ { 0x256E, 34315 },
+ { 0x256C, 34320 },
+ { 0x2570, 34323 },
+ { 0x20BA, 34329 },
+ { 0x20A6, 34333 },
+ { 0x2106, 34336 },
+ { 0x2100, 34339 },
+ { 0x1F09, 34344 },
+ { 0x22FA, 34352 },
+ { 0x2102, 34357 },
+ { 0x211E, 34362 },
+ { 0x2227, 34365 },
+ { 0x1F0A, 34368 },
+ { 0x2236, 34376 },
+ { 0x2103, 34379 },
+ { 0x6965, 34384 },
+ { 0x2278, 34389 },
+ { 0x211F, 34394 },
+ { 0x2276, 34397 },
+ { 0x1897, 34402 },
+ { 0x1898, 34406 },
+ { 0x1895, 34411 },
+ { 0x189B, 34414 },
+ { 0x188B, 34418 },
+ { 0x188F, 34422 },
+ { 0x188A, 34428 },
+ { 0x188D, 34432 },
+ { 0x1890, 34436 },
+ { 0x1899, 34442 },
+ { 0x1893, 34447 },
+ { 0x1894, 34451 },
+ { 0x1891, 34457 },
+ { 0x1892, 34461 },
+ { 0x1896, 34465 },
+ { 0x188C, 34470 },
+ { 0x188E, 34475 },
+ { 0x187B, 34480 },
+ { 0x187C, 34483 },
+ { 0x189D, 34488 },
+ { 0x189E, 34491 },
+ { 0x189A, 34494 },
+ { 0x1885, 34497 },
+ { 0x1886, 34501 },
+ { 0x189F, 34506 },
+ { 0x1879, 34510 },
+ { 0x1887, 34513 },
+ { 0x189C, 34518 },
+ { 0x1880, 34522 },
+ { 0x18A0, 34526 },
+ { 0x1882, 34531 },
+ { 0x1883, 34535 },
+ { 0x1884, 34539 },
+ { 0x187A, 34543 },
+ { 0x1878, 34546 },
+ { 0x1888, 34549 },
+ { 0x187F, 34555 },
+ { 0x1881, 34561 },
+ { 0x187D, 34568 },
+ { 0x187E, 34574 },
+ { 0x1889, 34579 },
+ { 0x21DC, 34584 },
+ { 0x67D4, 34585 },
+ { 0x691F, 34587 },
+ { 0x2173, 34589 },
+ { 0x1E73, 34590 },
+ { 0x6730, 34591 },
+ { 0x6AE2, 34593 },
+ { 0x6829, 34595 },
+ { 0x6A64, 34597 },
+ { 0x6A4D, 34600 },
+ { 0x6831, 34602 },
+ { 0x215E, 34603 },
+ { 0x2143, 34606 },
+ { 0x686C, 34610 },
+ { 0x2237, 34615 },
+ { 0x6749, 34617 },
+ { 0x2162, 34619 },
+ { 0x674A, 34623 },
+ { 0x674B, 34628 },
+ { 0x674C, 34632 },
+ { 0x218D, 34638 },
+ { 0x69BC, 34641 },
+ { 0x2145, 34647 },
+ { 0x686D, 34651 },
+ { 0x21B6, 34656 },
+ { 0x2225, 34658 },
+ { 0x26EC, 34665 },
+ { 0x224D, 34669 },
+ { 0x69CF, 34673 },
+ { 0x21FF, 34678 },
+ { 0x2142, 34682 },
+ { 0x686E, 34686 },
+ { 0x212C, 34691 },
+ { 0x2644, 34693 },
+ { 0x6C61, 34697 },
+ { 0x6C62, 34702 },
+ { 0x217A, 34708 },
+ { 0x217F, 34711 },
+ { 0x217C, 34714 },
+ { 0x217B, 34717 },
+ { 0x217D, 34720 },
+ { 0x217E, 34723 },
+ { 0x2187, 34726 },
+ { 0x222B, 34729 },
+ { 0x2642, 34733 },
+ { 0x696C, 34736 },
+ { 0x2144, 34739 },
+ { 0x686F, 34743 },
+ { 0x213C, 34748 },
+ { 0x2678, 34751 },
+ { 0x20D1, 34754 },
+ { 0x2651, 34757 },
+ { 0x218A, 34760 },
+ { 0x210C, 34763 },
+ { 0x20F1, 34765 },
+ { 0x21AC, 34767 },
+ { 0x21AD, 34772 },
+ { 0x2512, 34777 },
+ { 0x211B, 34782 },
+ { 0x211C, 34788 },
+ { 0x211A, 34794 },
+ { 0x211D, 34800 },
+ { 0x6B84, 34806 },
+ { 0x68D4, 34812 },
+ { 0x2676, 34814 },
+ { 0x2123, 34817 },
+ { 0x2121, 34821 },
+ { 0x264C, 34824 },
+ { 0x264E, 34827 },
+ { 0x3CA2, 34830 },
+ { 0x20C7, 34833 },
+ { 0x2117, 34835 },
+ { 0x2118, 34841 },
+ { 0x2116, 34847 },
+ { 0x2119, 34853 },
+ { 0x1EDE, 34859 },
+ { 0x20C8, 34865 },
+ { 0x2111, 34870 },
+ { 0x230A, 34876 },
+ { 0x230B, 34881 },
+ { 0x6959, 34886 },
+ { 0x6B8E, 34889 },
+ { 0x20C9, 34896 },
+ { 0x6B8F, 34902 },
+ { 0x20ED, 34908 },
+ { 0x21F1, 34910 },
+ { 0x2188, 34914 },
+ { 0x22F6, 34917 },
+ { 0x6B94, 34922 },
+ { 0x20EE, 34929 },
+ { 0x6B95, 34935 },
+ { 0x2647, 34941 },
+ { 0x6B9A, 34943 },
+ { 0x6817, 34949 },
+ { 0x2160, 34951 },
+ { 0x21FD, 34954 },
+ { 0x21E6, 34959 },
+ { 0x21E7, 34962 },
+ { 0x2266, 34965 },
+ { 0x215F, 34967 },
+ { 0x2646, 34970 },
+ { 0x227A, 34972 },
+ { 0x222A, 34976 },
+ { 0x22E7, 34978 },
+ { 0x2624, 34984 },
+ { 0x2655, 34987 },
+ { 0x20D5, 34990 },
+ { 0x24FC, 34993 },
+ { 0x20D3, 34995 },
+ { 0x2135, 34997 },
+ { 0x69A3, 34999 },
+ { 0x1F3B, 35002 },
+ { 0x2653, 35004 },
+ { 0x227B, 35007 },
+ { 0x20DB, 35011 },
+ { 0x20D9, 35015 },
+ { 0x2112, 35018 },
+ { 0x2307, 35023 },
+ { 0x2308, 35026 },
+ { 0x2309, 35032 },
+ { 0x20E5, 35038 },
+ { 0x20E3, 35042 },
+ { 0x20E9, 35045 },
+ { 0x20EB, 35049 },
+ { 0x20E7, 35052 },
+ { 0x20D7, 35055 },
+ { 0x20DF, 35057 },
+ { 0x20E1, 35061 },
+ { 0x267A, 35064 },
+ { 0x20DD, 35067 },
+ { 0x69D2, 35070 },
+ { 0x688F, 35072 },
+ { 0x6895, 35073 },
+ { 0x6A1E, 35077 },
+ { 0x3F41, 35079 },
+ { 0x3F0D, 35084 },
+ { 0x3F0C, 35088 },
+ { 0x3F0E, 35092 },
+ { 0x3F42, 35095 },
+ { 0x3F0F, 35100 },
+ { 0x3F21, 35103 },
+ { 0x3F2A, 35107 },
+ { 0x3F14, 35111 },
+ { 0x3F26, 35114 },
+ { 0x3F2F, 35118 },
+ { 0x3F18, 35122 },
+ { 0x3F33, 35125 },
+ { 0x3F10, 35129 },
+ { 0x3F22, 35132 },
+ { 0x3F2B, 35136 },
+ { 0x3F13, 35140 },
+ { 0x3F25, 35143 },
+ { 0x3F2E, 35147 },
+ { 0x3F12, 35151 },
+ { 0x3F24, 35154 },
+ { 0x3F2D, 35158 },
+ { 0x3F17, 35162 },
+ { 0x3F29, 35165 },
+ { 0x3F32, 35169 },
+ { 0x3F16, 35173 },
+ { 0x3F28, 35176 },
+ { 0x3F31, 35180 },
+ { 0x3F1C, 35184 },
+ { 0x3F37, 35187 },
+ { 0x3F1B, 35191 },
+ { 0x3F36, 35194 },
+ { 0x3F15, 35198 },
+ { 0x3F27, 35201 },
+ { 0x3F30, 35205 },
+ { 0x3F1D, 35209 },
+ { 0x3F38, 35212 },
+ { 0x3F11, 35216 },
+ { 0x3F23, 35219 },
+ { 0x3F2C, 35223 },
+ { 0x3F1F, 35227 },
+ { 0x3F3A, 35230 },
+ { 0x3F20, 35234 },
+ { 0x3F3B, 35237 },
+ { 0x3F1A, 35241 },
+ { 0x3F35, 35244 },
+ { 0x3F19, 35248 },
+ { 0x3F34, 35251 },
+ { 0x3F1E, 35255 },
+ { 0x3F39, 35258 },
+ { 0x3F3C, 35262 },
+ { 0x3F3D, 35266 },
+ { 0x3F3F, 35270 },
+ { 0x3F40, 35274 },
+ { 0x3F3E, 35278 },
+ { 0x3F44, 35282 },
+ { 0x3F43, 35286 },
+ { 0x6AC5, 35290 },
+ { 0x1DA3, 35292 },
+ { 0x1DA1, 35297 },
+ { 0x2595, 35300 },
+ { 0x21B9, 35306 },
+ { 0x0672, 35307 },
+ { 0x059E, 35311 },
+ { 0x05A3, 35313 },
+ { 0x0602, 35316 },
+ { 0x0669, 35320 },
+ { 0x0802, 35323 },
+ { 0x0804, 35327 },
+ { 0x05ED, 35331 },
+ { 0x080A, 35335 },
+ { 0x07FC, 35340 },
+ { 0x07FB, 35343 },
+ { 0x07FD, 35346 },
+ { 0x05A9, 35349 },
+ { 0x05A5, 35354 },
+ { 0x0599, 35357 },
+ { 0x0597, 35360 },
+ { 0x05A7, 35363 },
+ { 0x059A, 35367 },
+ { 0x0692, 35370 },
+ { 0x0693, 35374 },
+ { 0x05AA, 35379 },
+ { 0x05A8, 35382 },
+ { 0x05A6, 35386 },
+ { 0x3CC9, 35391 },
+ { 0x07F5, 35394 },
+ { 0x07F8, 35399 },
+ { 0x07F6, 35404 },
+ { 0x07F9, 35409 },
+ { 0x07F7, 35414 },
+ { 0x07FA, 35418 },
+ { 0x05F4, 35422 },
+ { 0x05A2, 35426 },
+ { 0x07F0, 35428 },
+ { 0x07EF, 35431 },
+ { 0x07F1, 35434 },
+ { 0x07F3, 35437 },
+ { 0x07F2, 35440 },
+ { 0x07F4, 35443 },
+ { 0x05E4, 35446 },
+ { 0x0809, 35448 },
+ { 0x3CCE, 35452 },
+ { 0x3CCD, 35456 },
+ { 0x067F, 35460 },
+ { 0x0680, 35465 },
+ { 0x05E3, 35470 },
+ { 0x0800, 35472 },
+ { 0x05F3, 35477 },
+ { 0x07FF, 35482 },
+ { 0x3CCC, 35486 },
+ { 0x3CCB, 35490 },
+ { 0x05E9, 35494 },
+ { 0x05EA, 35497 },
+ { 0x05E5, 35500 },
+ { 0x0801, 35502 },
+ { 0x3CD0, 35507 },
+ { 0x3CCF, 35511 },
+ { 0x067E, 35515 },
+ { 0x0803, 35519 },
+ { 0x0808, 35523 },
+ { 0x0805, 35529 },
+ { 0x0682, 35533 },
+ { 0x0678, 35537 },
+ { 0x067A, 35541 },
+ { 0x067B, 35544 },
+ { 0x066E, 35547 },
+ { 0x05AB, 35552 },
+ { 0x07FE, 35556 },
+ { 0x067C, 35560 },
+ { 0x066F, 35564 },
+ { 0x066D, 35568 },
+ { 0x0677, 35574 },
+ { 0x067D, 35580 },
+ { 0x0671, 35584 },
+ { 0x05AD, 35588 },
+ { 0x0679, 35592 },
+ { 0x0670, 35596 },
+ { 0x0676, 35601 },
+ { 0x0674, 35608 },
+ { 0x0675, 35613 },
+ { 0x066C, 35619 },
+ { 0x066B, 35629 },
+ { 0x05AC, 35639 },
+ { 0x05AF, 35648 },
+ { 0x05AE, 35651 },
+ { 0x05B0, 35654 },
+ { 0x0673, 35657 },
+ { 0x05E7, 35663 },
+ { 0x3CD4, 35665 },
+ { 0x3CD3, 35669 },
+ { 0x05F1, 35673 },
+ { 0x05EF, 35678 },
+ { 0x05F0, 35684 },
+ { 0x0806, 35691 },
+ { 0x0807, 35696 },
+ { 0x0665, 35703 },
+ { 0x3A93, 35706 },
+ { 0x3A95, 35711 },
+ { 0x3A94, 35716 },
+ { 0x3A92, 35721 },
+ { 0x065C, 35726 },
+ { 0x060C, 35729 },
+ { 0x3A8B, 35735 },
+ { 0x3A86, 35743 },
+ { 0x3A85, 35748 },
+ { 0x066A, 35753 },
+ { 0x0642, 35756 },
+ { 0x3A82, 35759 },
+ { 0x3A84, 35764 },
+ { 0x3A83, 35769 },
+ { 0x3A81, 35774 },
+ { 0x065B, 35779 },
+ { 0x3A88, 35782 },
+ { 0x3A87, 35787 },
+ { 0x0660, 35792 },
+ { 0x3A8D, 35795 },
+ { 0x3A8C, 35800 },
+ { 0x065D, 35805 },
+ { 0x3A8A, 35808 },
+ { 0x3A89, 35813 },
+ { 0x05CE, 35818 },
+ { 0x06EF, 35821 },
+ { 0x06F1, 35828 },
+ { 0x0635, 35836 },
+ { 0x07EC, 35843 },
+ { 0x06F0, 35850 },
+ { 0x3D1F, 35859 },
+ { 0x3D21, 35864 },
+ { 0x3D20, 35869 },
+ { 0x3D1E, 35874 },
+ { 0x05BD, 35879 },
+ { 0x06E3, 35882 },
+ { 0x06E6, 35892 },
+ { 0x07DA, 35902 },
+ { 0x06E8, 35908 },
+ { 0x07D9, 35914 },
+ { 0x06E4, 35921 },
+ { 0x06E5, 35930 },
+ { 0x06E2, 35943 },
+ { 0x06E7, 35951 },
+ { 0x3CE5, 35959 },
+ { 0x3CE7, 35964 },
+ { 0x3CE6, 35969 },
+ { 0x3CE4, 35974 },
+ { 0x05CB, 35979 },
+ { 0x0690, 35982 },
+ { 0x3D13, 35988 },
+ { 0x3D15, 35993 },
+ { 0x3D14, 35998 },
+ { 0x3D12, 36003 },
+ { 0x05C4, 36008 },
+ { 0x061F, 36011 },
+ { 0x0620, 36017 },
+ { 0x06EB, 36026 },
+ { 0x0625, 36037 },
+ { 0x061E, 36044 },
+ { 0x0624, 36049 },
+ { 0x07E7, 36057 },
+ { 0x0683, 36064 },
+ { 0x06EC, 36070 },
+ { 0x3CFF, 36078 },
+ { 0x3CFE, 36083 },
+ { 0x0623, 36088 },
+ { 0x3A46, 36091 },
+ { 0x3A45, 36096 },
+ { 0x05D6, 36101 },
+ { 0x0638, 36104 },
+ { 0x07DD, 36110 },
+ { 0x0637, 36120 },
+ { 0x06F2, 36127 },
+ { 0x063A, 36134 },
+ { 0x06F3, 36141 },
+ { 0x3D27, 36150 },
+ { 0x3D29, 36155 },
+ { 0x3D28, 36160 },
+ { 0x3D26, 36165 },
+ { 0x0644, 36170 },
+ { 0x0647, 36173 },
+ { 0x0645, 36180 },
+ { 0x0649, 36185 },
+ { 0x07E9, 36192 },
+ { 0x3A52, 36198 },
+ { 0x3A54, 36203 },
+ { 0x3A53, 36208 },
+ { 0x3A51, 36213 },
+ { 0x05C2, 36218 },
+ { 0x06E9, 36221 },
+ { 0x0617, 36228 },
+ { 0x0616, 36236 },
+ { 0x0701, 36242 },
+ { 0x0704, 36253 },
+ { 0x0700, 36262 },
+ { 0x061A, 36271 },
+ { 0x06EA, 36278 },
+ { 0x070E, 36287 },
+ { 0x3CF7, 36296 },
+ { 0x3CF9, 36301 },
+ { 0x3CF8, 36306 },
+ { 0x3CF6, 36311 },
+ { 0x05DC, 36316 },
+ { 0x0656, 36319 },
+ { 0x0657, 36323 },
+ { 0x3A66, 36330 },
+ { 0x3A68, 36336 },
+ { 0x3A67, 36342 },
+ { 0x3A65, 36348 },
+ { 0x0655, 36354 },
+ { 0x3A64, 36360 },
+ { 0x3A63, 36368 },
+ { 0x0694, 36376 },
+ { 0x3D3F, 36382 },
+ { 0x3D41, 36387 },
+ { 0x3D40, 36392 },
+ { 0x3D3E, 36397 },
+ { 0x0653, 36402 },
+ { 0x3A6A, 36406 },
+ { 0x3A6C, 36412 },
+ { 0x3A6B, 36418 },
+ { 0x3A69, 36424 },
+ { 0x062D, 36430 },
+ { 0x3A4A, 36433 },
+ { 0x3A49, 36438 },
+ { 0x05D8, 36443 },
+ { 0x0641, 36446 },
+ { 0x07ED, 36452 },
+ { 0x0711, 36458 },
+ { 0x0640, 36465 },
+ { 0x0643, 36470 },
+ { 0x3D2F, 36477 },
+ { 0x3D31, 36482 },
+ { 0x3D30, 36487 },
+ { 0x3D2E, 36492 },
+ { 0x05D9, 36497 },
+ { 0x06FC, 36500 },
+ { 0x064B, 36505 },
+ { 0x064A, 36511 },
+ { 0x064C, 36517 },
+ { 0x064D, 36524 },
+ { 0x07DF, 36531 },
+ { 0x3D33, 36537 },
+ { 0x3D35, 36542 },
+ { 0x3D34, 36547 },
+ { 0x3D32, 36552 },
+ { 0x07E6, 36557 },
+ { 0x0613, 36561 },
+ { 0x3A16, 36564 },
+ { 0x3A18, 36569 },
+ { 0x3A17, 36574 },
+ { 0x3A15, 36579 },
+ { 0x05D7, 36584 },
+ { 0x063C, 36587 },
+ { 0x07DE, 36593 },
+ { 0x063D, 36599 },
+ { 0x3D2B, 36606 },
+ { 0x3D2D, 36611 },
+ { 0x3D2C, 36616 },
+ { 0x3D2A, 36621 },
+ { 0x05C6, 36626 },
+ { 0x0629, 36629 },
+ { 0x062B, 36635 },
+ { 0x062C, 36644 },
+ { 0x06FD, 36651 },
+ { 0x062E, 36659 },
+ { 0x07E3, 36666 },
+ { 0x0628, 36671 },
+ { 0x06FE, 36676 },
+ { 0x0627, 36682 },
+ { 0x062A, 36688 },
+ { 0x0703, 36695 },
+ { 0x06ED, 36706 },
+ { 0x0684, 36711 },
+ { 0x3D03, 36717 },
+ { 0x3D02, 36722 },
+ { 0x05CA, 36727 },
+ { 0x0632, 36730 },
+ { 0x0633, 36737 },
+ { 0x07E8, 36744 },
+ { 0x3D0F, 36751 },
+ { 0x3D11, 36756 },
+ { 0x3D10, 36761 },
+ { 0x3D0E, 36766 },
+ { 0x05CC, 36771 },
+ { 0x07DC, 36774 },
+ { 0x0634, 36781 },
+ { 0x3D17, 36788 },
+ { 0x3D19, 36793 },
+ { 0x3D18, 36798 },
+ { 0x3D16, 36803 },
+ { 0x05BF, 36808 },
+ { 0x0611, 36811 },
+ { 0x0612, 36816 },
+ { 0x3CEB, 36824 },
+ { 0x3CED, 36829 },
+ { 0x3CEC, 36834 },
+ { 0x05BE, 36839 },
+ { 0x0658, 36843 },
+ { 0x3CE9, 36848 },
+ { 0x3CE8, 36854 },
+ { 0x3CEA, 36860 },
+ { 0x0639, 36865 },
+ { 0x3A2A, 36868 },
+ { 0x3A2C, 36873 },
+ { 0x3A2B, 36878 },
+ { 0x3A29, 36883 },
+ { 0x05DD, 36888 },
+ { 0x0664, 36891 },
+ { 0x07E4, 36897 },
+ { 0x065F, 36903 },
+ { 0x0659, 36910 },
+ { 0x05B9, 36915 },
+ { 0x3CDB, 36921 },
+ { 0x3CDA, 36929 },
+ { 0x070A, 36937 },
+ { 0x070B, 36946 },
+ { 0x3D43, 36955 },
+ { 0x3D42, 36960 },
+ { 0x05DF, 36965 },
+ { 0x07E2, 36968 },
+ { 0x07E1, 36978 },
+ { 0x0662, 36988 },
+ { 0x05BB, 36993 },
+ { 0x3CDF, 36999 },
+ { 0x3CE1, 37007 },
+ { 0x3CE0, 37015 },
+ { 0x3CDE, 37023 },
+ { 0x0663, 37031 },
+ { 0x0666, 37037 },
+ { 0x3D47, 37044 },
+ { 0x0667, 37049 },
+ { 0x0668, 37053 },
+ { 0x3A70, 37060 },
+ { 0x3A6F, 37069 },
+ { 0x070C, 37078 },
+ { 0x070D, 37088 },
+ { 0x3A6E, 37098 },
+ { 0x3A6D, 37104 },
+ { 0x3D49, 37110 },
+ { 0x3D48, 37115 },
+ { 0x3D46, 37120 },
+ { 0x05CD, 37125 },
+ { 0x3D1B, 37128 },
+ { 0x3D1D, 37133 },
+ { 0x3D1C, 37138 },
+ { 0x3D1A, 37143 },
+ { 0x05BC, 37148 },
+ { 0x0607, 37151 },
+ { 0x0608, 37158 },
+ { 0x05B8, 37165 },
+ { 0x3CD9, 37171 },
+ { 0x3CD8, 37179 },
+ { 0x05BA, 37187 },
+ { 0x3CDD, 37193 },
+ { 0x3CDC, 37201 },
+ { 0x05B7, 37209 },
+ { 0x3CD7, 37215 },
+ { 0x3CD6, 37223 },
+ { 0x0705, 37231 },
+ { 0x0706, 37240 },
+ { 0x3CE3, 37249 },
+ { 0x0606, 37254 },
+ { 0x3A10, 37258 },
+ { 0x3A0F, 37264 },
+ { 0x05DE, 37270 },
+ { 0x3D45, 37274 },
+ { 0x3D44, 37280 },
+ { 0x3CE2, 37286 },
+ { 0x0610, 37291 },
+ { 0x3A12, 37294 },
+ { 0x3A14, 37299 },
+ { 0x3A13, 37304 },
+ { 0x3A11, 37309 },
+ { 0x061D, 37314 },
+ { 0x3A48, 37317 },
+ { 0x3A47, 37322 },
+ { 0x0619, 37327 },
+ { 0x3A32, 37330 },
+ { 0x3A34, 37335 },
+ { 0x3A33, 37340 },
+ { 0x3A31, 37345 },
+ { 0x0648, 37350 },
+ { 0x3A56, 37353 },
+ { 0x3A58, 37358 },
+ { 0x3A57, 37363 },
+ { 0x3A55, 37368 },
+ { 0x0609, 37373 },
+ { 0x060B, 37377 },
+ { 0x060D, 37382 },
+ { 0x060A, 37387 },
+ { 0x05C1, 37392 },
+ { 0x07DB, 37395 },
+ { 0x3CF3, 37402 },
+ { 0x3CF5, 37407 },
+ { 0x3CF4, 37412 },
+ { 0x3CF2, 37417 },
+ { 0x05C3, 37422 },
+ { 0x3CFB, 37425 },
+ { 0x3CFD, 37430 },
+ { 0x3CFC, 37435 },
+ { 0x3CFA, 37440 },
+ { 0x05B2, 37445 },
+ { 0x05DA, 37448 },
+ { 0x06F7, 37451 },
+ { 0x06F8, 37457 },
+ { 0x07E0, 37463 },
+ { 0x3D37, 37470 },
+ { 0x3D39, 37475 },
+ { 0x3D38, 37480 },
+ { 0x3D36, 37485 },
+ { 0x05DB, 37490 },
+ { 0x064E, 37493 },
+ { 0x06F9, 37499 },
+ { 0x0651, 37506 },
+ { 0x06FB, 37511 },
+ { 0x06FA, 37517 },
+ { 0x0652, 37523 },
+ { 0x3D3B, 37530 },
+ { 0x064F, 37535 },
+ { 0x3A5E, 37539 },
+ { 0x3A5D, 37545 },
+ { 0x3D3D, 37551 },
+ { 0x3D3C, 37556 },
+ { 0x3D3A, 37561 },
+ { 0x0618, 37566 },
+ { 0x3A36, 37569 },
+ { 0x3A38, 37574 },
+ { 0x3A37, 37579 },
+ { 0x3A35, 37584 },
+ { 0x0626, 37589 },
+ { 0x3A4C, 37592 },
+ { 0x3A4B, 37597 },
+ { 0x05C8, 37602 },
+ { 0x062F, 37605 },
+ { 0x06FF, 37614 },
+ { 0x06EE, 37622 },
+ { 0x0702, 37629 },
+ { 0x0630, 37640 },
+ { 0x0631, 37647 },
+ { 0x070F, 37658 },
+ { 0x0710, 37667 },
+ { 0x3D07, 37673 },
+ { 0x3D09, 37678 },
+ { 0x3D08, 37683 },
+ { 0x3D06, 37688 },
+ { 0x05C5, 37693 },
+ { 0x3D01, 37696 },
+ { 0x3D00, 37701 },
+ { 0x05C0, 37706 },
+ { 0x3CEF, 37709 },
+ { 0x3CF1, 37714 },
+ { 0x3CF0, 37719 },
+ { 0x3CEE, 37724 },
+ { 0x060E, 37729 },
+ { 0x3A26, 37732 },
+ { 0x3A28, 37737 },
+ { 0x3A27, 37742 },
+ { 0x3A25, 37747 },
+ { 0x05C7, 37752 },
+ { 0x07EB, 37755 },
+ { 0x3D05, 37762 },
+ { 0x3D04, 37767 },
+ { 0x0615, 37772 },
+ { 0x3A1A, 37775 },
+ { 0x3A1C, 37780 },
+ { 0x3A1B, 37785 },
+ { 0x3A19, 37790 },
+ { 0x0621, 37795 },
+ { 0x3A44, 37798 },
+ { 0x3A43, 37803 },
+ { 0x0661, 37808 },
+ { 0x05D3, 37812 },
+ { 0x05D4, 37820 },
+ { 0x0707, 37828 },
+ { 0x0709, 37838 },
+ { 0x0708, 37848 },
+ { 0x05D2, 37858 },
+ { 0x3AAB, 37865 },
+ { 0x3AAD, 37871 },
+ { 0x3AAC, 37877 },
+ { 0x3AAA, 37883 },
+ { 0x05CF, 37889 },
+ { 0x0691, 37892 },
+ { 0x3D23, 37898 },
+ { 0x3D25, 37903 },
+ { 0x3D24, 37908 },
+ { 0x3D22, 37913 },
+ { 0x05B6, 37918 },
+ { 0x3CD5, 37921 },
+ { 0x063E, 37926 },
+ { 0x06F4, 37929 },
+ { 0x05D0, 37935 },
+ { 0x06F5, 37942 },
+ { 0x05D1, 37949 },
+ { 0x06F6, 37956 },
+ { 0x3A4E, 37965 },
+ { 0x3A50, 37970 },
+ { 0x3A4F, 37975 },
+ { 0x3A4D, 37980 },
+ { 0x0646, 37985 },
+ { 0x3A5A, 37988 },
+ { 0x3A5C, 37993 },
+ { 0x3A5B, 37998 },
+ { 0x3A59, 38003 },
+ { 0x063B, 38008 },
+ { 0x3A2E, 38011 },
+ { 0x3A30, 38016 },
+ { 0x3A2F, 38021 },
+ { 0x3A2D, 38026 },
+ { 0x0650, 38031 },
+ { 0x3A60, 38034 },
+ { 0x3A62, 38039 },
+ { 0x3A61, 38044 },
+ { 0x3A5F, 38049 },
+ { 0x05C9, 38054 },
+ { 0x068F, 38057 },
+ { 0x3D0B, 38063 },
+ { 0x3D0D, 38068 },
+ { 0x3D0C, 38073 },
+ { 0x3D0A, 38078 },
+ { 0x063F, 38083 },
+ { 0x061B, 38087 },
+ { 0x0654, 38090 },
+ { 0x3A3A, 38096 },
+ { 0x3A3C, 38101 },
+ { 0x3A3B, 38106 },
+ { 0x3A39, 38111 },
+ { 0x0614, 38116 },
+ { 0x3A22, 38119 },
+ { 0x3A24, 38124 },
+ { 0x3A23, 38129 },
+ { 0x3A21, 38134 },
+ { 0x0622, 38139 },
+ { 0x3A42, 38142 },
+ { 0x3A41, 38147 },
+ { 0x060F, 38152 },
+ { 0x3A1E, 38155 },
+ { 0x3A20, 38160 },
+ { 0x3A1F, 38165 },
+ { 0x3A1D, 38170 },
+ { 0x3A97, 38175 },
+ { 0x3A96, 38184 },
+ { 0x0603, 38193 },
+ { 0x0636, 38197 },
+ { 0x0604, 38201 },
+ { 0x065A, 38205 },
+ { 0x3A8F, 38209 },
+ { 0x3A8E, 38215 },
+ { 0x065E, 38221 },
+ { 0x3A91, 38225 },
+ { 0x3A90, 38231 },
+ { 0x061C, 38237 },
+ { 0x3A3E, 38240 },
+ { 0x3A40, 38245 },
+ { 0x3A3F, 38250 },
+ { 0x3A3D, 38255 },
+ { 0x05B5, 38260 },
+ { 0x07E5, 38264 },
+ { 0x07EA, 38268 },
+ { 0x0605, 38272 },
+ { 0x05E8, 38276 },
+ { 0x059B, 38279 },
+ { 0x0596, 38283 },
+ { 0x05A4, 38286 },
+ { 0x05E6, 38290 },
+ { 0x3CD2, 38292 },
+ { 0x3CD1, 38296 },
+ { 0x3A71, 38300 },
+ { 0x3A72, 38304 },
+ { 0x3A73, 38308 },
+ { 0x3A74, 38313 },
+ { 0x3A7C, 38318 },
+ { 0x3A7D, 38324 },
+ { 0x3A79, 38330 },
+ { 0x3A7A, 38335 },
+ { 0x3A7E, 38340 },
+ { 0x3A7F, 38343 },
+ { 0x3A80, 38348 },
+ { 0x3A75, 38353 },
+ { 0x3A76, 38358 },
+ { 0x3A77, 38363 },
+ { 0x3A78, 38370 },
+ { 0x3A7B, 38377 },
+ { 0x05B3, 38383 },
+ { 0x07EE, 38388 },
+ { 0x0600, 38392 },
+ { 0x05FF, 38395 },
+ { 0x0681, 38398 },
+ { 0x05D5, 38405 },
+ { 0x3CC7, 38407 },
+ { 0x05E1, 38412 },
+ { 0x3CC8, 38414 },
+ { 0x05E0, 38418 },
+ { 0x3CC6, 38420 },
+ { 0x0598, 38424 },
+ { 0x05EC, 38427 },
+ { 0x05E2, 38430 },
+ { 0x3CCA, 38432 },
+ { 0x3BC2, 38436 },
+ { 0x3BA6, 38443 },
+ { 0x3BC1, 38450 },
+ { 0x3BA5, 38458 },
+ { 0x3C13, 38466 },
+ { 0x3C60, 38475 },
+ { 0x3B68, 38484 },
+ { 0x3AD7, 38491 },
+ { 0x3C52, 38498 },
+ { 0x3C16, 38507 },
+ { 0x3C14, 38517 },
+ { 0x3C15, 38526 },
+ { 0x3B69, 38535 },
+ { 0x3AD8, 38542 },
+ { 0x3C5E, 38549 },
+ { 0x3B4B, 38558 },
+ { 0x3AB4, 38565 },
+ { 0x3B90, 38572 },
+ { 0x3B4E, 38579 },
+ { 0x3B18, 38586 },
+ { 0x3B1D, 38593 },
+ { 0x3AB8, 38600 },
+ { 0x3B1C, 38607 },
+ { 0x3AB7, 38615 },
+ { 0x3B4A, 38623 },
+ { 0x3AB3, 38630 },
+ { 0x3C3A, 38637 },
+ { 0x3B4C, 38646 },
+ { 0x3AB5, 38653 },
+ { 0x3B1A, 38660 },
+ { 0x3B8F, 38667 },
+ { 0x3B4D, 38674 },
+ { 0x3AB6, 38681 },
+ { 0x3B1B, 38688 },
+ { 0x3B19, 38695 },
+ { 0x3C47, 38702 },
+ { 0x3C0C, 38711 },
+ { 0x3B63, 38721 },
+ { 0x3AD1, 38728 },
+ { 0x3BDA, 38735 },
+ { 0x3BBE, 38742 },
+ { 0x3BD2, 38749 },
+ { 0x3BB6, 38756 },
+ { 0x3BD1, 38763 },
+ { 0x3BB5, 38771 },
+ { 0x3B62, 38779 },
+ { 0x3AD0, 38786 },
+ { 0x3C0D, 38793 },
+ { 0x3C0E, 38802 },
+ { 0x3B64, 38811 },
+ { 0x3AD2, 38818 },
+ { 0x3B65, 38825 },
+ { 0x3AD3, 38832 },
+ { 0x3B6D, 38839 },
+ { 0x3ADC, 38846 },
+ { 0x3B2B, 38853 },
+ { 0x3AE0, 38860 },
+ { 0x3B2A, 38867 },
+ { 0x3ADF, 38875 },
+ { 0x3B6C, 38883 },
+ { 0x3ADB, 38890 },
+ { 0x3C1A, 38897 },
+ { 0x3C1B, 38906 },
+ { 0x3B6E, 38915 },
+ { 0x3ADD, 38922 },
+ { 0x3C5D, 38929 },
+ { 0x3B6F, 38938 },
+ { 0x3ADE, 38945 },
+ { 0x3BCA, 38952 },
+ { 0x3BAE, 38959 },
+ { 0x3BC9, 38966 },
+ { 0x3BAD, 38974 },
+ { 0x3C5B, 38982 },
+ { 0x3B57, 38991 },
+ { 0x3AC5, 38998 },
+ { 0x3BF8, 39005 },
+ { 0x3BF9, 39014 },
+ { 0x3B58, 39024 },
+ { 0x3AC6, 39031 },
+ { 0x3B02, 39038 },
+ { 0x3B01, 39045 },
+ { 0x3B85, 39053 },
+ { 0x3AFF, 39060 },
+ { 0x3C2F, 39067 },
+ { 0x3C30, 39076 },
+ { 0x3B86, 39085 },
+ { 0x3B00, 39092 },
+ { 0x3B87, 39099 },
+ { 0x3B73, 39107 },
+ { 0x3AE7, 39114 },
+ { 0x3B2F, 39121 },
+ { 0x3B99, 39128 },
+ { 0x3B75, 39135 },
+ { 0x3AE9, 39142 },
+ { 0x3B32, 39149 },
+ { 0x3AEC, 39156 },
+ { 0x3B2E, 39163 },
+ { 0x3B31, 39170 },
+ { 0x3AEB, 39178 },
+ { 0x3AE5, 39186 },
+ { 0x3B72, 39193 },
+ { 0x3AE6, 39200 },
+ { 0x3B74, 39207 },
+ { 0x3AE8, 39214 },
+ { 0x3C53, 39221 },
+ { 0x3C57, 39230 },
+ { 0x3C5F, 39239 },
+ { 0x3B30, 39248 },
+ { 0x3B9A, 39255 },
+ { 0x3B76, 39262 },
+ { 0x3AEA, 39269 },
+ { 0x3C1F, 39276 },
+ { 0x3C20, 39285 },
+ { 0x3C1E, 39295 },
+ { 0x3C51, 39304 },
+ { 0x3B78, 39313 },
+ { 0x3AEE, 39320 },
+ { 0x3B7B, 39327 },
+ { 0x3B35, 39334 },
+ { 0x3AF2, 39341 },
+ { 0x3D4D, 39348 },
+ { 0x3D4C, 39358 },
+ { 0x3D4F, 39368 },
+ { 0x3D4E, 39378 },
+ { 0x3D4B, 39388 },
+ { 0x3D4A, 39398 },
+ { 0x3D51, 39408 },
+ { 0x3B34, 39415 },
+ { 0x3AF1, 39423 },
+ { 0x3D50, 39431 },
+ { 0x3C48, 39438 },
+ { 0x3C22, 39447 },
+ { 0x3C21, 39456 },
+ { 0x3C58, 39465 },
+ { 0x3C56, 39474 },
+ { 0x3B77, 39483 },
+ { 0x3AED, 39490 },
+ { 0x3C23, 39497 },
+ { 0x3C24, 39506 },
+ { 0x3B79, 39515 },
+ { 0x3AEF, 39522 },
+ { 0x3C25, 39529 },
+ { 0x3C26, 39538 },
+ { 0x3C49, 39547 },
+ { 0x3B33, 39556 },
+ { 0x3B9B, 39563 },
+ { 0x3B7A, 39570 },
+ { 0x3AF0, 39577 },
+ { 0x3B70, 39584 },
+ { 0x3AE1, 39591 },
+ { 0x3B2D, 39598 },
+ { 0x3AE4, 39605 },
+ { 0x3B2C, 39612 },
+ { 0x3AE3, 39620 },
+ { 0x3C1C, 39628 },
+ { 0x3C50, 39637 },
+ { 0x3C4E, 39646 },
+ { 0x3C1D, 39655 },
+ { 0x3B71, 39664 },
+ { 0x3AE2, 39671 },
+ { 0x3B0A, 39678 },
+ { 0x3C02, 39686 },
+ { 0x3C03, 39695 },
+ { 0x3C45, 39704 },
+ { 0x3B5F, 39713 },
+ { 0x3ACE, 39720 },
+ { 0x3BD9, 39727 },
+ { 0x3BBD, 39734 },
+ { 0x3BD0, 39741 },
+ { 0x3BB4, 39748 },
+ { 0x3BCF, 39755 },
+ { 0x3BB3, 39763 },
+ { 0x3B60, 39771 },
+ { 0x3C04, 39778 },
+ { 0x3C61, 39787 },
+ { 0x3B61, 39796 },
+ { 0x3ACF, 39803 },
+ { 0x3B66, 39810 },
+ { 0x3AD4, 39817 },
+ { 0x3BC0, 39824 },
+ { 0x3BA4, 39831 },
+ { 0x3BBF, 39838 },
+ { 0x3BA3, 39846 },
+ { 0x3C0F, 39854 },
+ { 0x3C10, 39863 },
+ { 0x3C12, 39872 },
+ { 0x3C11, 39881 },
+ { 0x3BE8, 39890 },
+ { 0x3BE1, 39897 },
+ { 0x3AD5, 39904 },
+ { 0x3BEF, 39911 },
+ { 0x3BF0, 39920 },
+ { 0x3BF1, 39929 },
+ { 0x3B50, 39938 },
+ { 0x3ABA, 39945 },
+ { 0x3B92, 39952 },
+ { 0x3B53, 39959 },
+ { 0x3B1E, 39966 },
+ { 0x3B23, 39973 },
+ { 0x3ABE, 39980 },
+ { 0x3B22, 39987 },
+ { 0x3ABD, 39995 },
+ { 0x3C3B, 40003 },
+ { 0x3C3C, 40012 },
+ { 0x3BEE, 40022 },
+ { 0x3B4F, 40031 },
+ { 0x3AB9, 40038 },
+ { 0x3C3D, 40045 },
+ { 0x3C3E, 40054 },
+ { 0x3BF2, 40064 },
+ { 0x3B51, 40073 },
+ { 0x3ABB, 40080 },
+ { 0x3BF4, 40087 },
+ { 0x3C3F, 40096 },
+ { 0x3C40, 40105 },
+ { 0x3BF3, 40115 },
+ { 0x3BF5, 40124 },
+ { 0x3B20, 40133 },
+ { 0x3B91, 40140 },
+ { 0x3B52, 40147 },
+ { 0x3ABC, 40154 },
+ { 0x3B21, 40161 },
+ { 0x3B1F, 40168 },
+ { 0x3C4A, 40175 },
+ { 0x3B89, 40184 },
+ { 0x3B04, 40191 },
+ { 0x3B9F, 40198 },
+ { 0x3B8C, 40205 },
+ { 0x3B3F, 40212 },
+ { 0x3B44, 40219 },
+ { 0x3B08, 40226 },
+ { 0x3B43, 40233 },
+ { 0x3B07, 40241 },
+ { 0x3C4B, 40249 },
+ { 0x3B88, 40258 },
+ { 0x3B03, 40265 },
+ { 0x3B8A, 40272 },
+ { 0x3B05, 40279 },
+ { 0x3C4C, 40286 },
+ { 0x3C38, 40295 },
+ { 0x3C39, 40304 },
+ { 0x3B41, 40313 },
+ { 0x3B9E, 40320 },
+ { 0x3B8B, 40327 },
+ { 0x3B06, 40334 },
+ { 0x3B42, 40341 },
+ { 0x3B40, 40348 },
+ { 0x3AA5, 40355 },
+ { 0x3AA6, 40365 },
+ { 0x3AA4, 40375 },
+ { 0x3A9F, 40385 },
+ { 0x3A9E, 40395 },
+ { 0x3A9B, 40405 },
+ { 0x3A9A, 40415 },
+ { 0x3AA1, 40425 },
+ { 0x3AA0, 40435 },
+ { 0x3AA3, 40445 },
+ { 0x3AA2, 40455 },
+ { 0x3B46, 40465 },
+ { 0x3AAF, 40475 },
+ { 0x3B8E, 40485 },
+ { 0x3B49, 40495 },
+ { 0x3B12, 40505 },
+ { 0x3A9D, 40515 },
+ { 0x3A9C, 40525 },
+ { 0x3B17, 40535 },
+ { 0x3AB2, 40545 },
+ { 0x3A99, 40555 },
+ { 0x3B16, 40565 },
+ { 0x3AB1, 40576 },
+ { 0x3A98, 40587 },
+ { 0x3B45, 40597 },
+ { 0x3AAE, 40607 },
+ { 0x3B47, 40617 },
+ { 0x3B14, 40627 },
+ { 0x3B8D, 40637 },
+ { 0x3B48, 40647 },
+ { 0x3AB0, 40657 },
+ { 0x3B15, 40667 },
+ { 0x3B13, 40677 },
+ { 0x3BE9, 40687 },
+ { 0x3B67, 40694 },
+ { 0x3AD6, 40701 },
+ { 0x3BEA, 40708 },
+ { 0x3BEB, 40715 },
+ { 0x3B3E, 40722 },
+ { 0x3B0B, 40731 },
+ { 0x3C5A, 40740 },
+ { 0x3C42, 40749 },
+ { 0x3B55, 40759 },
+ { 0x3AC3, 40766 },
+ { 0x3BCC, 40773 },
+ { 0x3BB0, 40780 },
+ { 0x3BCB, 40787 },
+ { 0x3BAF, 40795 },
+ { 0x3BF6, 40803 },
+ { 0x3BF7, 40812 },
+ { 0x3C41, 40821 },
+ { 0x3C43, 40830 },
+ { 0x3B56, 40840 },
+ { 0x3AC4, 40847 },
+ { 0x3AC8, 40854 },
+ { 0x3BCE, 40861 },
+ { 0x3BB2, 40868 },
+ { 0x3BCD, 40875 },
+ { 0x3BB1, 40883 },
+ { 0x3B59, 40891 },
+ { 0x3AC7, 40898 },
+ { 0x3B5A, 40905 },
+ { 0x3AC9, 40912 },
+ { 0x3C29, 40919 },
+ { 0x3C27, 40928 },
+ { 0x3C28, 40937 },
+ { 0x3B7D, 40946 },
+ { 0x3AF4, 40953 },
+ { 0x3AF8, 40960 },
+ { 0x3B36, 40967 },
+ { 0x3AF7, 40974 },
+ { 0x3C2A, 40982 },
+ { 0x3C5C, 40991 },
+ { 0x3C2E, 41000 },
+ { 0x3C2B, 41009 },
+ { 0x3B7C, 41018 },
+ { 0x3AF3, 41025 },
+ { 0x3C55, 41032 },
+ { 0x3C2C, 41041 },
+ { 0x3C2D, 41050 },
+ { 0x3B7E, 41059 },
+ { 0x3AF5, 41066 },
+ { 0x3C4D, 41073 },
+ { 0x3B37, 41082 },
+ { 0x3B7F, 41089 },
+ { 0x3AF6, 41096 },
+ { 0x3C4F, 41103 },
+ { 0x3C32, 41112 },
+ { 0x3C31, 41122 },
+ { 0x3B81, 41131 },
+ { 0x3AFA, 41138 },
+ { 0x3B9D, 41145 },
+ { 0x3B84, 41152 },
+ { 0x3B38, 41159 },
+ { 0x3B3D, 41166 },
+ { 0x3AFE, 41173 },
+ { 0x3B3C, 41180 },
+ { 0x3AFD, 41188 },
+ { 0x3C59, 41196 },
+ { 0x3C54, 41205 },
+ { 0x3C63, 41214 },
+ { 0x3C35, 41223 },
+ { 0x3C33, 41233 },
+ { 0x3C34, 41242 },
+ { 0x3B80, 41251 },
+ { 0x3AF9, 41258 },
+ { 0x3B82, 41265 },
+ { 0x3AFB, 41272 },
+ { 0x3C36, 41279 },
+ { 0x3C37, 41288 },
+ { 0x3B3A, 41298 },
+ { 0x3B9C, 41305 },
+ { 0x3B83, 41312 },
+ { 0x3AFC, 41319 },
+ { 0x3B3B, 41326 },
+ { 0x3B39, 41333 },
+ { 0x3C65, 41340 },
+ { 0x3BFA, 41350 },
+ { 0x3BE3, 41359 },
+ { 0x3B5C, 41366 },
+ { 0x3ACB, 41373 },
+ { 0x3B96, 41380 },
+ { 0x3BDF, 41387 },
+ { 0x3BD8, 41394 },
+ { 0x3BBC, 41401 },
+ { 0x3BC6, 41408 },
+ { 0x3BAA, 41415 },
+ { 0x3BC5, 41422 },
+ { 0x3BA9, 41430 },
+ { 0x3BFB, 41438 },
+ { 0x3BFC, 41447 },
+ { 0x3BE2, 41457 },
+ { 0x3B5B, 41464 },
+ { 0x3ACA, 41471 },
+ { 0x3C62, 41478 },
+ { 0x3C44, 41487 },
+ { 0x3BE4, 41497 },
+ { 0x3B5D, 41504 },
+ { 0x3ACC, 41511 },
+ { 0x3BFD, 41518 },
+ { 0x3BFE, 41527 },
+ { 0x3BFF, 41536 },
+ { 0x3C00, 41545 },
+ { 0x3C01, 41554 },
+ { 0x3B95, 41563 },
+ { 0x3B5E, 41570 },
+ { 0x3ACD, 41577 },
+ { 0x3B09, 41584 },
+ { 0x3B94, 41592 },
+ { 0x3B24, 41599 },
+ { 0x3B29, 41606 },
+ { 0x3AC2, 41613 },
+ { 0x3B28, 41620 },
+ { 0x3AC1, 41628 },
+ { 0x3ABF, 41636 },
+ { 0x3B26, 41643 },
+ { 0x3B93, 41650 },
+ { 0x3B54, 41657 },
+ { 0x3AC0, 41664 },
+ { 0x3B27, 41671 },
+ { 0x3B25, 41678 },
+ { 0x3C67, 41685 },
+ { 0x3C66, 41690 },
+ { 0x3BC4, 41695 },
+ { 0x3BA8, 41702 },
+ { 0x3BC3, 41709 },
+ { 0x3BA7, 41717 },
+ { 0x3B6A, 41725 },
+ { 0x3AD9, 41732 },
+ { 0x3C18, 41739 },
+ { 0x3C19, 41748 },
+ { 0x3C17, 41758 },
+ { 0x3B6B, 41767 },
+ { 0x3ADA, 41774 },
+ { 0x3C69, 41781 },
+ { 0x3C64, 41786 },
+ { 0x3C6D, 41796 },
+ { 0x3C46, 41801 },
+ { 0x3C05, 41810 },
+ { 0x3C06, 41819 },
+ { 0x3BD4, 41828 },
+ { 0x3BE6, 41835 },
+ { 0x3BDC, 41842 },
+ { 0x3BB8, 41849 },
+ { 0x3B98, 41856 },
+ { 0x3BE0, 41863 },
+ { 0x3BD7, 41870 },
+ { 0x3BBB, 41877 },
+ { 0x3BC8, 41884 },
+ { 0x3BAC, 41891 },
+ { 0x3BC7, 41898 },
+ { 0x3BAB, 41906 },
+ { 0x3C07, 41914 },
+ { 0x3BD3, 41923 },
+ { 0x3BE5, 41930 },
+ { 0x3BDB, 41937 },
+ { 0x3BB7, 41944 },
+ { 0x3BD5, 41951 },
+ { 0x3BE7, 41958 },
+ { 0x3BDD, 41965 },
+ { 0x3BB9, 41972 },
+ { 0x3C08, 41979 },
+ { 0x3C09, 41988 },
+ { 0x3C0A, 41997 },
+ { 0x3C0B, 42006 },
+ { 0x3BD6, 42015 },
+ { 0x3B97, 42022 },
+ { 0x3BDE, 42029 },
+ { 0x3BBA, 42036 },
+ { 0x3C6B, 42043 },
+ { 0x3C6A, 42048 },
+ { 0x3BA1, 42053 },
+ { 0x3B0F, 42060 },
+ { 0x3BA0, 42067 },
+ { 0x3B0E, 42074 },
+ { 0x3BA2, 42081 },
+ { 0x3B10, 42088 },
+ { 0x3B0C, 42095 },
+ { 0x3B0D, 42102 },
+ { 0x3B11, 42109 },
+ { 0x3AA8, 42117 },
+ { 0x3AA9, 42130 },
+ { 0x3AA7, 42143 },
+ { 0x3C68, 42156 },
+ { 0x3C6C, 42161 },
+ { 0x3C71, 42166 },
+ { 0x3C6E, 42171 },
+ { 0x3C6F, 42176 },
+ { 0x05B4, 42179 },
+ { 0x05F2, 42182 },
+ { 0x05EE, 42185 },
+ { 0x05B1, 42187 },
+ { 0x05EB, 42189 },
+ { 0x0601, 42192 },
+ { 0x64DD, 42195 },
+ { 0x64D0, 42198 },
+ { 0x64E7, 42201 },
+ { 0x64D2, 42204 },
+ { 0x64DE, 42207 },
+ { 0x64D5, 42210 },
+ { 0x64D8, 42213 },
+ { 0x64D9, 42216 },
+ { 0x64E0, 42219 },
+ { 0x64E1, 42222 },
+ { 0x64DF, 42225 },
+ { 0x64D6, 42228 },
+ { 0x64E3, 42231 },
+ { 0x64D3, 42234 },
+ { 0x64D7, 42237 },
+ { 0x64E8, 42240 },
+ { 0x64CF, 42243 },
+ { 0x64D1, 42246 },
+ { 0x64E5, 42249 },
+ { 0x64DA, 42252 },
+ { 0x64DB, 42255 },
+ { 0x64DC, 42258 },
+ { 0x64E6, 42261 },
+ { 0x64E4, 42264 },
+ { 0x64D4, 42267 },
+ { 0x64E9, 42270 },
+ { 0x64E2, 42273 },
+ { 0x6536, 42276 },
+ { 0x6529, 42280 },
+ { 0x6540, 42284 },
+ { 0x652B, 42288 },
+ { 0x6537, 42292 },
+ { 0x652F, 42296 },
+ { 0x652C, 42300 },
+ { 0x6532, 42304 },
+ { 0x6539, 42308 },
+ { 0x653A, 42312 },
+ { 0x6538, 42316 },
+ { 0x6530, 42320 },
+ { 0x653C, 42324 },
+ { 0x652D, 42328 },
+ { 0x6531, 42332 },
+ { 0x6541, 42336 },
+ { 0x6528, 42340 },
+ { 0x652A, 42344 },
+ { 0x653E, 42348 },
+ { 0x6533, 42352 },
+ { 0x6534, 42356 },
+ { 0x6535, 42360 },
+ { 0x653F, 42364 },
+ { 0x653D, 42368 },
+ { 0x652E, 42372 },
+ { 0x6542, 42376 },
+ { 0x653B, 42380 },
+ { 0x6508, 42384 },
+ { 0x650D, 42388 },
+ { 0x6503, 42392 },
+ { 0x6505, 42396 },
+ { 0x650A, 42400 },
+ { 0x6509, 42404 },
+ { 0x6504, 42408 },
+ { 0x6502, 42412 },
+ { 0x650C, 42416 },
+ { 0x6506, 42420 },
+ { 0x6507, 42424 },
+ { 0x650E, 42428 },
+ { 0x650B, 42432 },
+ { 0x6510, 42436 },
+ { 0x650F, 42441 },
+ { 0x64EA, 42446 },
+ { 0x64EC, 42450 },
+ { 0x64ED, 42454 },
+ { 0x64EB, 42458 },
+ { 0x64F8, 42462 },
+ { 0x64EE, 42466 },
+ { 0x6500, 42470 },
+ { 0x64F9, 42474 },
+ { 0x64F1, 42478 },
+ { 0x64F0, 42482 },
+ { 0x64F3, 42486 },
+ { 0x64F4, 42490 },
+ { 0x64FB, 42494 },
+ { 0x64FA, 42498 },
+ { 0x64FD, 42502 },
+ { 0x64F2, 42506 },
+ { 0x64EF, 42510 },
+ { 0x64FF, 42514 },
+ { 0x64F5, 42518 },
+ { 0x64F6, 42522 },
+ { 0x64F7, 42526 },
+ { 0x64FE, 42530 },
+ { 0x6501, 42534 },
+ { 0x64FC, 42538 },
+ { 0x655D, 42542 },
+ { 0x655C, 42548 },
+ { 0x651B, 42556 },
+ { 0x6511, 42560 },
+ { 0x6523, 42564 },
+ { 0x651C, 42568 },
+ { 0x6514, 42572 },
+ { 0x6513, 42576 },
+ { 0x6517, 42580 },
+ { 0x651E, 42584 },
+ { 0x651D, 42588 },
+ { 0x6515, 42592 },
+ { 0x6520, 42596 },
+ { 0x6516, 42600 },
+ { 0x6524, 42604 },
+ { 0x6512, 42608 },
+ { 0x6522, 42612 },
+ { 0x6518, 42616 },
+ { 0x6519, 42620 },
+ { 0x651A, 42624 },
+ { 0x6521, 42628 },
+ { 0x6525, 42632 },
+ { 0x651F, 42636 },
+ { 0x6526, 42640 },
+ { 0x6527, 42645 },
+ { 0x654F, 42650 },
+ { 0x6543, 42654 },
+ { 0x6559, 42658 },
+ { 0x6545, 42662 },
+ { 0x6550, 42666 },
+ { 0x6548, 42670 },
+ { 0x654B, 42674 },
+ { 0x6552, 42678 },
+ { 0x6553, 42682 },
+ { 0x6551, 42686 },
+ { 0x6549, 42690 },
+ { 0x6555, 42694 },
+ { 0x6546, 42698 },
+ { 0x654A, 42702 },
+ { 0x655A, 42706 },
+ { 0x6544, 42710 },
+ { 0x6557, 42714 },
+ { 0x654C, 42718 },
+ { 0x654D, 42722 },
+ { 0x654E, 42726 },
+ { 0x6558, 42730 },
+ { 0x6556, 42734 },
+ { 0x6547, 42738 },
+ { 0x655B, 42742 },
+ { 0x6554, 42746 },
+ { 0x67CE, 42750 },
+ { 0x223D, 42752 },
+ { 0x2136, 42754 },
+ { 0x2138, 42756 },
+ { 0x6A1D, 42760 },
+ { 0x6A1B, 42765 },
+ { 0x2137, 42771 },
+ { 0x26DC, 42775 },
+ { 0x6A17, 42780 },
+ { 0x6A19, 42784 },
+ { 0x6A1A, 42789 },
+ { 0x6A18, 42793 },
+ { 0x6772, 42796 },
+ { 0x68AE, 42797 },
+ { 0x2191, 42799 },
+ { 0x67C2, 42802 },
+ { 0x2192, 42806 },
+ { 0x67C3, 42809 },
+ { 0x687F, 42813 },
+ { 0x67A4, 42814 },
+ { 0x2461, 42818 },
+ { 0x26E9, 42822 },
+ { 0x1E7A, 42826 },
+ { 0x1E66, 42829 },
+ { 0x28E3, 42832 },
+ { 0x1E77, 42836 },
+ { 0x1F38, 42839 },
+ { 0x1E65, 42842 },
+ { 0x28E4, 42845 },
+ { 0x1E78, 42849 },
+ { 0x1F0E, 42852 },
+ { 0x1F0F, 42855 },
+ { 0x1F3A, 42862 },
+ { 0x1F36, 42866 },
+ { 0x1E21, 42868 },
+ { 0x24F7, 42869 },
+ { 0x24F8, 42874 },
+ { 0x46D3, 42879 },
+ { 0x46D2, 42882 },
+ { 0x46D1, 42885 },
+ { 0x46D4, 42888 },
+ { 0x46D5, 42891 },
+ { 0x4718, 42894 },
+ { 0x4734, 42896 },
+ { 0x4739, 42899 },
+ { 0x4735, 42902 },
+ { 0x4738, 42905 },
+ { 0x4737, 42908 },
+ { 0x473C, 42911 },
+ { 0x4733, 42914 },
+ { 0x473B, 42917 },
+ { 0x473A, 42920 },
+ { 0x4736, 42923 },
+ { 0x4713, 42926 },
+ { 0x470B, 42930 },
+ { 0x4715, 42934 },
+ { 0x470D, 42938 },
+ { 0x4709, 42942 },
+ { 0x4714, 42946 },
+ { 0x4716, 42950 },
+ { 0x470C, 42954 },
+ { 0x470E, 42958 },
+ { 0x4711, 42962 },
+ { 0x470F, 42967 },
+ { 0x4712, 42972 },
+ { 0x4710, 42977 },
+ { 0x470A, 42982 },
+ { 0x4719, 42987 },
+ { 0x46D6, 42990 },
+ { 0x46E0, 42993 },
+ { 0x46D8, 42996 },
+ { 0x46E2, 42999 },
+ { 0x46DA, 43002 },
+ { 0x46D7, 43005 },
+ { 0x46E1, 43008 },
+ { 0x46E3, 43011 },
+ { 0x46FA, 43014 },
+ { 0x46E9, 43017 },
+ { 0x46F5, 43020 },
+ { 0x46E6, 43023 },
+ { 0x4704, 43026 },
+ { 0x46D9, 43029 },
+ { 0x46EB, 43032 },
+ { 0x46E4, 43035 },
+ { 0x46FF, 43038 },
+ { 0x46FC, 43041 },
+ { 0x46F7, 43044 },
+ { 0x46F8, 43047 },
+ { 0x46FE, 43050 },
+ { 0x4703, 43053 },
+ { 0x46F3, 43056 },
+ { 0x46DB, 43059 },
+ { 0x4700, 43062 },
+ { 0x46FD, 43065 },
+ { 0x46FB, 43068 },
+ { 0x46EA, 43071 },
+ { 0x46F0, 43074 },
+ { 0x46F6, 43077 },
+ { 0x46E7, 43080 },
+ { 0x46EC, 43083 },
+ { 0x46E5, 43086 },
+ { 0x4705, 43089 },
+ { 0x46E8, 43092 },
+ { 0x46F2, 43095 },
+ { 0x46ED, 43098 },
+ { 0x4707, 43101 },
+ { 0x4706, 43106 },
+ { 0x4708, 43111 },
+ { 0x46F9, 43116 },
+ { 0x4701, 43119 },
+ { 0x4702, 43122 },
+ { 0x46F4, 43125 },
+ { 0x46EE, 43128 },
+ { 0x46F1, 43131 },
+ { 0x46EF, 43134 },
+ { 0x46DE, 43137 },
+ { 0x46DC, 43141 },
+ { 0x46DF, 43145 },
+ { 0x46DD, 43149 },
+ { 0x471F, 43153 },
+ { 0x4731, 43156 },
+ { 0x4732, 43160 },
+ { 0x4724, 43164 },
+ { 0x4728, 43167 },
+ { 0x4720, 43170 },
+ { 0x4723, 43173 },
+ { 0x4722, 43176 },
+ { 0x4727, 43179 },
+ { 0x4726, 43182 },
+ { 0x472C, 43185 },
+ { 0x472B, 43188 },
+ { 0x4725, 43191 },
+ { 0x472D, 43194 },
+ { 0x4721, 43197 },
+ { 0x472F, 43200 },
+ { 0x473D, 43203 },
+ { 0x4730, 43206 },
+ { 0x472A, 43209 },
+ { 0x4729, 43212 },
+ { 0x472E, 43215 },
+ { 0x4717, 43218 },
+ { 0x471A, 43220 },
+ { 0x471C, 43223 },
+ { 0x471E, 43226 },
+ { 0x471B, 43229 },
+ { 0x471D, 43233 },
+ { 0x672F, 43237 },
+ { 0x0065, 43240 },
+ { 0x68BA, 43242 },
+ { 0x1EE4, 43244 },
+ { 0x1BA6, 43249 },
+ { 0x1D72, 43250 },
+ { 0x675B, 43252 },
+ { 0x691D, 43253 },
+ { 0x691E, 43254 },
+ { 0x6CD2, 43257 },
+ { 0x2171, 43259 },
+ { 0x6995, 43260 },
+ { 0x3FEA, 43261 },
+ { 0x3FF3, 43264 },
+ { 0x3FEC, 43267 },
+ { 0x4004, 43270 },
+ { 0x400A, 43273 },
+ { 0x4003, 43276 },
+ { 0x4006, 43279 },
+ { 0x3FED, 43282 },
+ { 0x3FF4, 43285 },
+ { 0x3FFF, 43288 },
+ { 0x3FF5, 43291 },
+ { 0x4001, 43294 },
+ { 0x3FF2, 43297 },
+ { 0x3FEF, 43300 },
+ { 0x3FFA, 43303 },
+ { 0x3FF7, 43306 },
+ { 0x3FFC, 43309 },
+ { 0x3FFE, 43312 },
+ { 0x3FF1, 43315 },
+ { 0x3FF6, 43318 },
+ { 0x4019, 43321 },
+ { 0x400B, 43324 },
+ { 0x400F, 43327 },
+ { 0x4007, 43330 },
+ { 0x3FF0, 43333 },
+ { 0x4014, 43336 },
+ { 0x4008, 43339 },
+ { 0x400E, 43342 },
+ { 0x3FFD, 43345 },
+ { 0x3FEB, 43348 },
+ { 0x4013, 43351 },
+ { 0x3FF8, 43354 },
+ { 0x4002, 43357 },
+ { 0x400C, 43360 },
+ { 0x4011, 43363 },
+ { 0x4009, 43366 },
+ { 0x4018, 43369 },
+ { 0x4015, 43372 },
+ { 0x4016, 43375 },
+ { 0x4017, 43378 },
+ { 0x3FF9, 43381 },
+ { 0x400D, 43384 },
+ { 0x4000, 43387 },
+ { 0x3FEE, 43390 },
+ { 0x3FFB, 43393 },
+ { 0x4010, 43396 },
+ { 0x4012, 43399 },
+ { 0x401A, 43402 },
+ { 0x4005, 43405 },
+ { 0x2211, 43408 },
+ { 0x696E, 43409 },
+ { 0x1C61, 43411 },
+ { 0x21F9, 43414 },
+ { 0x47D4, 43415 },
+ { 0x47D5, 43418 },
+ { 0x47A5, 43421 },
+ { 0x47A4, 43424 },
+ { 0x47A3, 43427 },
+ { 0x47E3, 43430 },
+ { 0x47D9, 43432 },
+ { 0x47DE, 43435 },
+ { 0x47DA, 43438 },
+ { 0x47DD, 43441 },
+ { 0x47DC, 43444 },
+ { 0x47E1, 43447 },
+ { 0x47D8, 43450 },
+ { 0x47E0, 43453 },
+ { 0x47DF, 43456 },
+ { 0x47DB, 43459 },
+ { 0x47CA, 43462 },
+ { 0x47CF, 43466 },
+ { 0x47CB, 43470 },
+ { 0x47D1, 43474 },
+ { 0x47CD, 43478 },
+ { 0x47D0, 43482 },
+ { 0x47D2, 43486 },
+ { 0x47CC, 43490 },
+ { 0x47D3, 43494 },
+ { 0x47CE, 43498 },
+ { 0x47E4, 43502 },
+ { 0x47A9, 43505 },
+ { 0x47A7, 43508 },
+ { 0x47A8, 43511 },
+ { 0x47A6, 43514 },
+ { 0x47C0, 43517 },
+ { 0x47AF, 43520 },
+ { 0x47BB, 43523 },
+ { 0x47AC, 43526 },
+ { 0x47C9, 43529 },
+ { 0x47B1, 43532 },
+ { 0x47AA, 43535 },
+ { 0x47C6, 43538 },
+ { 0x47C2, 43541 },
+ { 0x47BD, 43544 },
+ { 0x47BE, 43547 },
+ { 0x47C5, 43550 },
+ { 0x47C8, 43553 },
+ { 0x47B9, 43556 },
+ { 0x47C7, 43559 },
+ { 0x47C4, 43562 },
+ { 0x47C1, 43565 },
+ { 0x47B0, 43568 },
+ { 0x47B6, 43571 },
+ { 0x47BC, 43574 },
+ { 0x47AD, 43577 },
+ { 0x47B2, 43580 },
+ { 0x47AB, 43583 },
+ { 0x47AE, 43586 },
+ { 0x47B8, 43589 },
+ { 0x47B3, 43592 },
+ { 0x47BF, 43595 },
+ { 0x47BA, 43598 },
+ { 0x47B4, 43601 },
+ { 0x47C3, 43604 },
+ { 0x47B7, 43607 },
+ { 0x47B5, 43610 },
+ { 0x47D6, 43613 },
+ { 0x47D7, 43615 },
+ { 0x47E2, 43617 },
+ { 0x47E5, 43620 },
+ { 0x6C71, 43623 },
+ { 0x675E, 43625 },
+ { 0x21DD, 43627 },
+ { 0x2210, 43628 },
+ { 0x67CC, 43629 },
+ { 0x20FB, 43630 },
+ { 0x24E9, 43638 },
+ { 0x20F6, 43646 },
+ { 0x20F8, 43651 },
+ { 0x20F7, 43656 },
+ { 0x24E8, 43661 },
+ { 0x20F9, 43668 },
+ { 0x20FA, 43673 },
+ { 0x20F3, 43679 },
+ { 0x24DB, 43683 },
+ { 0x24E1, 43687 },
+ { 0x24E0, 43691 },
+ { 0x67D0, 43703 },
+ { 0x68FB, 43705 },
+ { 0x6936, 43707 },
+ { 0x2572, 43711 },
+ { 0x2576, 43715 },
+ { 0x25F5, 43722 },
+ { 0x25F7, 43724 },
+ { 0x6911, 43729 },
+ { 0x6910, 43734 },
+ { 0x25F6, 43739 },
+ { 0x25F8, 43741 },
+ { 0x6728, 43746 },
+ { 0x2573, 43748 },
+ { 0x21D6, 43752 },
+ { 0x6780, 43753 },
+ { 0x6790, 43755 },
+ { 0x27E6, 43756 },
+ { 0x27E9, 43761 },
+ { 0x27E7, 43766 },
+ { 0x27E8, 43772 },
+ { 0x27EB, 43778 },
+ { 0x401C, 43781 },
+ { 0x4021, 43785 },
+ { 0x401D, 43789 },
+ { 0x4020, 43793 },
+ { 0x401F, 43797 },
+ { 0x4024, 43801 },
+ { 0x4023, 43805 },
+ { 0x4022, 43809 },
+ { 0x401E, 43813 },
+ { 0x402E, 43817 },
+ { 0x4033, 43822 },
+ { 0x4025, 43827 },
+ { 0x402F, 43831 },
+ { 0x4032, 43836 },
+ { 0x4031, 43841 },
+ { 0x4036, 43846 },
+ { 0x4035, 43851 },
+ { 0x4029, 43856 },
+ { 0x4028, 43860 },
+ { 0x4034, 43864 },
+ { 0x402A, 43869 },
+ { 0x4030, 43873 },
+ { 0x402C, 43878 },
+ { 0x402D, 43882 },
+ { 0x4027, 43886 },
+ { 0x4026, 43890 },
+ { 0x402B, 43894 },
+ { 0x401B, 43898 },
+ { 0x2791, 43902 },
+ { 0x279D, 43906 },
+ { 0x278B, 43910 },
+ { 0x278D, 43914 },
+ { 0x2793, 43918 },
+ { 0x2795, 43922 },
+ { 0x279B, 43926 },
+ { 0x03A5, 43930 },
+ { 0x277B, 43934 },
+ { 0x039B, 43938 },
+ { 0x279F, 43942 },
+ { 0x278F, 43946 },
+ { 0x27C1, 43950 },
+ { 0x27A7, 43956 },
+ { 0x27CB, 43962 },
+ { 0x27B9, 43968 },
+ { 0x27C7, 43974 },
+ { 0x27C5, 43980 },
+ { 0x27B1, 43986 },
+ { 0x27BF, 43992 },
+ { 0x27B7, 43998 },
+ { 0x27CD, 44004 },
+ { 0x27C9, 44010 },
+ { 0x27D1, 44016 },
+ { 0x27D3, 44022 },
+ { 0x27D5, 44028 },
+ { 0x27CF, 44034 },
+ { 0x27A3, 44040 },
+ { 0x27A1, 44044 },
+ { 0x277D, 44048 },
+ { 0x2799, 44052 },
+ { 0x2773, 44056 },
+ { 0x2781, 44060 },
+ { 0x039F, 44064 },
+ { 0x2787, 44068 },
+ { 0x039D, 44072 },
+ { 0x0399, 44076 },
+ { 0x2797, 44080 },
+ { 0x2775, 44084 },
+ { 0x277F, 44088 },
+ { 0x2779, 44092 },
+ { 0x2777, 44096 },
+ { 0x2785, 44100 },
+ { 0x2789, 44104 },
+ { 0x27B3, 44108 },
+ { 0x03A3, 44112 },
+ { 0x03A1, 44116 },
+ { 0x2783, 44120 },
+ { 0x27B5, 44124 },
+ { 0x27BB, 44129 },
+ { 0x27E5, 44134 },
+ { 0x27C3, 44139 },
+ { 0x27AD, 44144 },
+ { 0x27A5, 44149 },
+ { 0x27BD, 44154 },
+ { 0x27AB, 44159 },
+ { 0x27AF, 44164 },
+ { 0x27A9, 44169 },
+ { 0x27DE, 44174 },
+ { 0x27E0, 44179 },
+ { 0x27D7, 44184 },
+ { 0x27D8, 44188 },
+ { 0x27D6, 44192 },
+ { 0x27DB, 44195 },
+ { 0x27DA, 44199 },
+ { 0x27DC, 44203 },
+ { 0x27D9, 44207 },
+ { 0x2790, 44210 },
+ { 0x279C, 44214 },
+ { 0x278A, 44218 },
+ { 0x278C, 44222 },
+ { 0x2792, 44226 },
+ { 0x2794, 44230 },
+ { 0x279A, 44234 },
+ { 0x03A4, 44238 },
+ { 0x277A, 44242 },
+ { 0x039A, 44246 },
+ { 0x279E, 44250 },
+ { 0x278E, 44254 },
+ { 0x27C0, 44258 },
+ { 0x27A6, 44264 },
+ { 0x27CA, 44270 },
+ { 0x27B8, 44276 },
+ { 0x27C6, 44282 },
+ { 0x27C4, 44288 },
+ { 0x27B0, 44294 },
+ { 0x27BE, 44300 },
+ { 0x27B6, 44306 },
+ { 0x27CC, 44312 },
+ { 0x27C8, 44318 },
+ { 0x27D0, 44324 },
+ { 0x27D2, 44330 },
+ { 0x27D4, 44336 },
+ { 0x27CE, 44342 },
+ { 0x27A2, 44348 },
+ { 0x27A0, 44352 },
+ { 0x277C, 44356 },
+ { 0x2798, 44360 },
+ { 0x2772, 44364 },
+ { 0x2780, 44368 },
+ { 0x039E, 44372 },
+ { 0x2786, 44376 },
+ { 0x039C, 44380 },
+ { 0x0398, 44384 },
+ { 0x2796, 44388 },
+ { 0x2774, 44392 },
+ { 0x277E, 44396 },
+ { 0x2778, 44400 },
+ { 0x2776, 44404 },
+ { 0x2784, 44408 },
+ { 0x2788, 44412 },
+ { 0x27B2, 44416 },
+ { 0x03A2, 44420 },
+ { 0x03A0, 44424 },
+ { 0x2782, 44428 },
+ { 0x27B4, 44432 },
+ { 0x27BA, 44437 },
+ { 0x27E4, 44442 },
+ { 0x27C2, 44447 },
+ { 0x27AC, 44452 },
+ { 0x27A4, 44457 },
+ { 0x27BC, 44462 },
+ { 0x27AA, 44467 },
+ { 0x27AE, 44472 },
+ { 0x27A8, 44477 },
+ { 0x27DD, 44482 },
+ { 0x27DF, 44487 },
+ { 0x27EA, 44492 },
+ { 0x27E1, 44496 },
+ { 0x27E2, 44500 },
+ { 0x27E3, 44504 },
+ { 0x27EC, 44508 },
+ { 0x68B7, 44511 },
+ { 0x68D9, 44514 },
+ { 0x6A63, 44516 },
+ { 0x6A46, 44519 },
+ { 0x2287, 44521 },
+ { 0x1BA4, 44526 },
+ { 0x28F5, 44527 },
+ { 0x28F6, 44531 },
+ { 0x6A05, 44535 },
+ { 0x68A9, 44537 },
+ { 0x3CA9, 44538 },
+ { 0x3CA5, 44541 },
+ { 0x22C5, 44543 },
+ { 0x006F, 44547 },
+ { 0x1C60, 44549 },
+ { 0x1C66, 44551 },
+ { 0x6802, 44553 },
+ { 0x6803, 44554 },
+ { 0x6B04, 44556 },
+ { 0x5D12, 44558 },
+ { 0x5D0F, 44561 },
+ { 0x21B3, 44565 },
+ { 0x21B4, 44569 },
+ { 0x5D11, 44573 },
+ { 0x5D10, 44577 },
+ { 0x21B5, 44581 },
+ { 0x21B2, 44585 },
+ { 0x5D0E, 44589 },
+ { 0x67D5, 44593 },
+ { 0x1EEC, 44595 },
+ { 0x0004, 44600 },
+ { 0x65BC, 44602 },
+ { 0x658A, 44606 },
+ { 0x65BD, 44610 },
+ { 0x65BE, 44613 },
+ { 0x65BF, 44616 },
+ { 0x65C0, 44619 },
+ { 0x65C1, 44622 },
+ { 0x65C2, 44625 },
+ { 0x65C3, 44628 },
+ { 0x65C4, 44631 },
+ { 0x65C5, 44634 },
+ { 0x65C6, 44637 },
+ { 0x65C7, 44640 },
+ { 0x65C8, 44643 },
+ { 0x65C9, 44646 },
+ { 0x65CA, 44649 },
+ { 0x65CB, 44652 },
+ { 0x65CC, 44655 },
+ { 0x65CD, 44658 },
+ { 0x65CE, 44661 },
+ { 0x65CF, 44664 },
+ { 0x65D0, 44667 },
+ { 0x65D1, 44670 },
+ { 0x65D2, 44673 },
+ { 0x65D3, 44676 },
+ { 0x65D4, 44679 },
+ { 0x65D5, 44682 },
+ { 0x65D6, 44685 },
+ { 0x65D7, 44688 },
+ { 0x65D8, 44691 },
+ { 0x65D9, 44694 },
+ { 0x65DA, 44697 },
+ { 0x65DB, 44700 },
+ { 0x65DC, 44703 },
+ { 0x65DD, 44706 },
+ { 0x65DE, 44709 },
+ { 0x65DF, 44712 },
+ { 0x65E0, 44715 },
+ { 0x65E1, 44718 },
+ { 0x65E2, 44721 },
+ { 0x65E3, 44724 },
+ { 0x65E4, 44727 },
+ { 0x65E5, 44730 },
+ { 0x65E6, 44733 },
+ { 0x65E7, 44736 },
+ { 0x65E8, 44739 },
+ { 0x65E9, 44742 },
+ { 0x65EA, 44745 },
+ { 0x65EB, 44748 },
+ { 0x65EC, 44751 },
+ { 0x65ED, 44754 },
+ { 0x658B, 44757 },
+ { 0x658C, 44760 },
+ { 0x658D, 44763 },
+ { 0x658E, 44766 },
+ { 0x658F, 44769 },
+ { 0x6590, 44772 },
+ { 0x6591, 44775 },
+ { 0x6592, 44778 },
+ { 0x6593, 44781 },
+ { 0x6594, 44784 },
+ { 0x6595, 44787 },
+ { 0x6596, 44790 },
+ { 0x6597, 44793 },
+ { 0x6598, 44796 },
+ { 0x6599, 44799 },
+ { 0x659A, 44802 },
+ { 0x659B, 44805 },
+ { 0x659C, 44808 },
+ { 0x659D, 44811 },
+ { 0x659E, 44814 },
+ { 0x659F, 44817 },
+ { 0x65A0, 44820 },
+ { 0x65A1, 44823 },
+ { 0x65A2, 44826 },
+ { 0x65A3, 44829 },
+ { 0x65A4, 44832 },
+ { 0x65A5, 44835 },
+ { 0x65A6, 44838 },
+ { 0x65A7, 44841 },
+ { 0x65A8, 44844 },
+ { 0x65A9, 44847 },
+ { 0x65AA, 44850 },
+ { 0x65AB, 44853 },
+ { 0x65AC, 44856 },
+ { 0x65AD, 44859 },
+ { 0x65AE, 44862 },
+ { 0x65AF, 44865 },
+ { 0x65B0, 44868 },
+ { 0x65B1, 44871 },
+ { 0x65B2, 44874 },
+ { 0x65B3, 44877 },
+ { 0x65B4, 44880 },
+ { 0x65B5, 44883 },
+ { 0x65B6, 44886 },
+ { 0x65B7, 44889 },
+ { 0x65B8, 44892 },
+ { 0x65B9, 44895 },
+ { 0x65BA, 44898 },
+ { 0x65BB, 44901 },
+ { 0x1BE0, 44904 },
+ { 0x24BF, 44906 },
+ { 0x20F2, 44908 },
+ { 0x28D2, 44910 },
+ { 0x2640, 44912 },
+ { 0x28C7, 44914 },
+ { 0x28D5, 44917 },
+ { 0x2611, 44920 },
+ { 0x1B9B, 44923 },
+ { 0x2610, 44926 },
+ { 0x24BB, 44929 },
+ { 0x2520, 44934 },
+ { 0x3CA8, 44936 },
+ { 0x029C, 44939 },
+ { 0x259A, 44942 },
+ { 0x22E5, 44945 },
+ { 0x1BA2, 44948 },
+ { 0x1BB7, 44952 },
+ { 0x2A75, 44954 },
+ { 0x24BC, 44958 },
+ { 0x1E2C, 44963 },
+ { 0x1BA5, 44965 },
+ { 0x28FF, 44967 },
+ { 0x25C7, 44969 },
+ { 0x25C9, 44972 },
+ { 0x25C8, 44977 },
+ { 0x2575, 44980 },
+ { 0x2574, 44983 },
+ { 0x2612, 44986 },
+ { 0x1E29, 44990 },
+ { 0x201B, 44992 },
+ { 0x2020, 44996 },
+ { 0x201C, 45000 },
+ { 0x201F, 45004 },
+ { 0x201E, 45008 },
+ { 0x2023, 45012 },
+ { 0x2022, 45016 },
+ { 0x2021, 45020 },
+ { 0x201D, 45024 },
+ { 0x2024, 45028 },
+ { 0x257A, 45032 },
+ { 0x2579, 45035 },
+ { 0x28D6, 45038 },
+ { 0x2623, 45041 },
+ { 0x1D85, 45044 },
+ { 0x25E1, 45046 },
+ { 0x1BCB, 45048 },
+ { 0x25E2, 45051 },
+ { 0x1E2A, 45053 },
+ { 0x1F51, 45055 },
+ { 0x2609, 45058 },
+ { 0x260B, 45063 },
+ { 0x1E04, 45069 },
+ { 0x1B9A, 45075 },
+ { 0x1BC0, 45078 },
+ { 0x1E2B, 45081 },
+ { 0x2901, 45083 },
+ { 0x1BA3, 45087 },
+ { 0x682F, 45091 },
+ { 0x6858, 45092 },
+ { 0x690D, 45094 },
+ { 0x2190, 45096 },
+ { 0x001D, 45098 },
+ { 0x2509, 45100 },
+ { 0x250A, 45105 },
+ { 0x258C, 45113 },
+ { 0x259D, 45118 },
+ { 0x25D4, 45128 },
+ { 0x2597, 45133 },
+ { 0x2599, 45138 },
+ { 0x2666, 45143 },
+ { 0x2497, 45148 },
+ { 0x2594, 45153 },
+ { 0x1DAE, 45156 },
+ { 0x1D92, 45158 },
+ { 0x6768, 45159 },
+ { 0x6890, 45161 },
+ { 0x67AB, 45162 },
+ { 0x2166, 45164 },
+ { 0x67C7, 45166 },
+ { 0x1B96, 45168 },
+ { 0x1B8B, 45170 },
+ { 0x2533, 45172 },
+ { 0x6870, 45175 },
+ { 0x68D0, 45178 },
+ { 0x68E4, 45180 },
+ { 0x228C, 45182 },
+ { 0x21BE, 45184 },
+ { 0x67DA, 45185 },
+ { 0x1BD9, 45188 },
+ { 0x69AA, 45191 },
+ { 0x69E4, 45193 },
+ { 0x1E02, 45194 },
+ { 0x28CF, 45195 },
+ { 0x1D75, 45197 },
+ { 0x1C20, 45199 },
+ { 0x6785, 45202 },
+ { 0x2170, 45204 },
+ { 0x1C2D, 45205 },
+ { 0x250C, 45208 },
+ { 0x67F2, 45210 },
+ { 0x4064, 45211 },
+ { 0x4069, 45214 },
+ { 0x405B, 45217 },
+ { 0x405E, 45220 },
+ { 0x405D, 45223 },
+ { 0x4062, 45226 },
+ { 0x4061, 45229 },
+ { 0x4075, 45232 },
+ { 0x406A, 45236 },
+ { 0x4071, 45239 },
+ { 0x4073, 45242 },
+ { 0x4072, 45245 },
+ { 0x4065, 45248 },
+ { 0x4066, 45251 },
+ { 0x4067, 45254 },
+ { 0x4074, 45257 },
+ { 0x406D, 45260 },
+ { 0x406E, 45263 },
+ { 0x406F, 45266 },
+ { 0x4070, 45269 },
+ { 0x405F, 45272 },
+ { 0x4068, 45275 },
+ { 0x406C, 45278 },
+ { 0x4063, 45281 },
+ { 0x405C, 45284 },
+ { 0x406B, 45287 },
+ { 0x4060, 45290 },
+ { 0x676D, 45293 },
+ { 0x67DE, 45294 },
+ { 0x694E, 45295 },
+ { 0x21B8, 45296 },
+ { 0x2153, 45299 },
+ { 0x6AF5, 45302 },
+ { 0x2A86, 45305 },
+ { 0x2BB0, 45310 },
+ { 0x2B9B, 45312 },
+ { 0x2BA0, 45315 },
+ { 0x2BAF, 45318 },
+ { 0x2BA3, 45321 },
+ { 0x2BA8, 45324 },
+ { 0x2B9C, 45327 },
+ { 0x2B9F, 45330 },
+ { 0x2BAD, 45333 },
+ { 0x2BA6, 45336 },
+ { 0x2BA4, 45339 },
+ { 0x2BAA, 45342 },
+ { 0x2BAB, 45345 },
+ { 0x2B9D, 45348 },
+ { 0x2BA2, 45351 },
+ { 0x2BAE, 45354 },
+ { 0x2BA7, 45357 },
+ { 0x2BAC, 45360 },
+ { 0x2BA5, 45363 },
+ { 0x2BA9, 45366 },
+ { 0x2B9E, 45369 },
+ { 0x2BA1, 45372 },
+ { 0x2B91, 45375 },
+ { 0x2BD5, 45378 },
+ { 0x2BD8, 45381 },
+ { 0x2BD9, 45384 },
+ { 0x2B94, 45387 },
+ { 0x2B9A, 45390 },
+ { 0x2B93, 45393 },
+ { 0x2B8D, 45396 },
+ { 0x2B80, 45399 },
+ { 0x2B8E, 45402 },
+ { 0x2B85, 45405 },
+ { 0x2BD3, 45408 },
+ { 0x2BD7, 45411 },
+ { 0x2BDA, 45414 },
+ { 0x2B7D, 45417 },
+ { 0x2B83, 45420 },
+ { 0x2BD4, 45423 },
+ { 0x2BD6, 45426 },
+ { 0x2B96, 45429 },
+ { 0x2B97, 45432 },
+ { 0x2BCB, 45435 },
+ { 0x2B99, 45438 },
+ { 0x2B98, 45441 },
+ { 0x2BCD, 45444 },
+ { 0x2B92, 45447 },
+ { 0x2BBB, 45450 },
+ { 0x2BB3, 45453 },
+ { 0x2B90, 45456 },
+ { 0x2B89, 45459 },
+ { 0x2BCA, 45462 },
+ { 0x2BC7, 45465 },
+ { 0x2BC9, 45468 },
+ { 0x2B95, 45471 },
+ { 0x2BD1, 45474 },
+ { 0x2BCC, 45477 },
+ { 0x2BB1, 45480 },
+ { 0x2B8F, 45483 },
+ { 0x2B7F, 45486 },
+ { 0x2BBA, 45489 },
+ { 0x2B81, 45492 },
+ { 0x2B82, 45495 },
+ { 0x2BC2, 45498 },
+ { 0x2B8C, 45501 },
+ { 0x2B87, 45504 },
+ { 0x2B88, 45507 },
+ { 0x2BC6, 45510 },
+ { 0x2BC8, 45513 },
+ { 0x2B7E, 45516 },
+ { 0x2B84, 45519 },
+ { 0x2BD2, 45522 },
+ { 0x2BB2, 45525 },
+ { 0x2BBE, 45528 },
+ { 0x2BBF, 45531 },
+ { 0x2B86, 45534 },
+ { 0x2BB6, 45537 },
+ { 0x2BBD, 45540 },
+ { 0x2BC4, 45543 },
+ { 0x2BBC, 45546 },
+ { 0x2BB4, 45549 },
+ { 0x2BC3, 45552 },
+ { 0x2BB8, 45555 },
+ { 0x2B8B, 45558 },
+ { 0x2B8A, 45561 },
+ { 0x2BCE, 45564 },
+ { 0x2BD0, 45567 },
+ { 0x2BB7, 45570 },
+ { 0x2BCF, 45573 },
+ { 0x2BC0, 45576 },
+ { 0x2BC1, 45579 },
+ { 0x2BB5, 45582 },
+ { 0x2BB9, 45585 },
+ { 0x2BC5, 45588 },
+ { 0x2A85, 45591 },
+ { 0x0E11, 45596 },
+ { 0x0E14, 45599 },
+ { 0x0E1A, 45602 },
+ { 0x0E13, 45605 },
+ { 0x0E0E, 45608 },
+ { 0x0E0A, 45611 },
+ { 0x0E0F, 45614 },
+ { 0x0E0D, 45617 },
+ { 0x0E67, 45620 },
+ { 0x0E08, 45623 },
+ { 0x0E0B, 45626 },
+ { 0x0E16, 45629 },
+ { 0x0E17, 45632 },
+ { 0x0E48, 45635 },
+ { 0x0E19, 45638 },
+ { 0x0E18, 45641 },
+ { 0x0E54, 45644 },
+ { 0x0E12, 45647 },
+ { 0x375C, 45650 },
+ { 0x0E4D, 45653 },
+ { 0x3752, 45656 },
+ { 0x0E63, 45659 },
+ { 0x0E29, 45662 },
+ { 0x374D, 45665 },
+ { 0x0E3E, 45668 },
+ { 0x0E43, 45671 },
+ { 0x0E3D, 45674 },
+ { 0x0E39, 45677 },
+ { 0x0E36, 45680 },
+ { 0x0E3A, 45683 },
+ { 0x0E38, 45686 },
+ { 0x0E15, 45689 },
+ { 0x0E60, 45692 },
+ { 0x0E4F, 45695 },
+ { 0x0E1C, 45698 },
+ { 0x0E10, 45701 },
+ { 0x0E21, 45704 },
+ { 0x0E55, 45707 },
+ { 0x0E50, 45710 },
+ { 0x3758, 45713 },
+ { 0x0E4B, 45716 },
+ { 0x0E4C, 45719 },
+ { 0x3757, 45722 },
+ { 0x0E24, 45725 },
+ { 0x0E64, 45728 },
+ { 0x0E65, 45731 },
+ { 0x0E1E, 45734 },
+ { 0x0E2F, 45737 },
+ { 0x3755, 45740 },
+ { 0x0E27, 45743 },
+ { 0x374E, 45746 },
+ { 0x0E22, 45749 },
+ { 0x3749, 45752 },
+ { 0x0E20, 45755 },
+ { 0x374A, 45758 },
+ { 0x0E35, 45761 },
+ { 0x0E37, 45764 },
+ { 0x0E09, 45767 },
+ { 0x0E0C, 45770 },
+ { 0x3743, 45773 },
+ { 0x0E61, 45776 },
+ { 0x0E44, 45779 },
+ { 0x0E49, 45782 },
+ { 0x0E4A, 45785 },
+ { 0x3750, 45788 },
+ { 0x3751, 45791 },
+ { 0x0E1B, 45794 },
+ { 0x0E1D, 45797 },
+ { 0x0E26, 45800 },
+ { 0x0E28, 45803 },
+ { 0x3745, 45806 },
+ { 0x3747, 45809 },
+ { 0x0E3F, 45812 },
+ { 0x0E40, 45815 },
+ { 0x0E42, 45818 },
+ { 0x0E41, 45821 },
+ { 0x375A, 45824 },
+ { 0x3744, 45827 },
+ { 0x3741, 45830 },
+ { 0x3742, 45833 },
+ { 0x0E66, 45836 },
+ { 0x0E5B, 45839 },
+ { 0x0E56, 45842 },
+ { 0x0E51, 45845 },
+ { 0x0E4E, 45848 },
+ { 0x0E53, 45851 },
+ { 0x0E52, 45854 },
+ { 0x0E25, 45857 },
+ { 0x0E33, 45860 },
+ { 0x0E23, 45863 },
+ { 0x0E62, 45866 },
+ { 0x375B, 45869 },
+ { 0x0E5E, 45872 },
+ { 0x0E30, 45875 },
+ { 0x3754, 45878 },
+ { 0x0E32, 45881 },
+ { 0x0E31, 45884 },
+ { 0x374F, 45887 },
+ { 0x0E1F, 45890 },
+ { 0x0E3C, 45893 },
+ { 0x0E46, 45896 },
+ { 0x0E5A, 45899 },
+ { 0x0E5C, 45902 },
+ { 0x0E5F, 45905 },
+ { 0x0E2D, 45908 },
+ { 0x3756, 45911 },
+ { 0x0E58, 45914 },
+ { 0x0E2E, 45917 },
+ { 0x0E2C, 45920 },
+ { 0x374B, 45923 },
+ { 0x3759, 45926 },
+ { 0x375D, 45929 },
+ { 0x0E45, 45932 },
+ { 0x0E2A, 45935 },
+ { 0x0E2B, 45938 },
+ { 0x3746, 45941 },
+ { 0x3748, 45944 },
+ { 0x0E3B, 45947 },
+ { 0x0E5D, 45950 },
+ { 0x0E57, 45953 },
+ { 0x0E34, 45956 },
+ { 0x3753, 45959 },
+ { 0x374C, 45962 },
+ { 0x0E47, 45965 },
+ { 0x0E59, 45968 },
+ { 0x0EC2, 45971 },
+ { 0x0EC5, 45974 },
+ { 0x0ECA, 45977 },
+ { 0x0EC4, 45980 },
+ { 0x0EBF, 45983 },
+ { 0x0EB3, 45986 },
+ { 0x0EC0, 45989 },
+ { 0x0EB7, 45992 },
+ { 0x0EB0, 45995 },
+ { 0x0EB6, 45998 },
+ { 0x0EC6, 46001 },
+ { 0x0EC7, 46004 },
+ { 0x0EF3, 46007 },
+ { 0x0EC9, 46010 },
+ { 0x0EC8, 46013 },
+ { 0x0EF8, 46016 },
+ { 0x0EC3, 46019 },
+ { 0x0EE5, 46022 },
+ { 0x0ECF, 46025 },
+ { 0x0EC1, 46028 },
+ { 0x0EBB, 46031 },
+ { 0x39C3, 46034 },
+ { 0x39C6, 46037 },
+ { 0x39BE, 46040 },
+ { 0x0EF2, 46043 },
+ { 0x0EF1, 46046 },
+ { 0x39CD, 46049 },
+ { 0x0EF6, 46052 },
+ { 0x39B4, 46055 },
+ { 0x0F07, 46058 },
+ { 0x39BA, 46061 },
+ { 0x0ED8, 46064 },
+ { 0x39CB, 46067 },
+ { 0x0EFF, 46070 },
+ { 0x0EFD, 46073 },
+ { 0x0F00, 46076 },
+ { 0x0EFE, 46079 },
+ { 0x0EB2, 46082 },
+ { 0x39B6, 46085 },
+ { 0x0EE9, 46088 },
+ { 0x39B2, 46091 },
+ { 0x0EE4, 46094 },
+ { 0x0EE3, 46097 },
+ { 0x0EB4, 46100 },
+ { 0x0EB5, 46103 },
+ { 0x399F, 46106 },
+ { 0x39BC, 46109 },
+ { 0x0EED, 46112 },
+ { 0x39B9, 46115 },
+ { 0x0EEB, 46118 },
+ { 0x0EBE, 46121 },
+ { 0x0EB9, 46124 },
+ { 0x0ED5, 46127 },
+ { 0x0EBA, 46130 },
+ { 0x0EEF, 46133 },
+ { 0x0EF0, 46136 },
+ { 0x0EB1, 46139 },
+ { 0x39A1, 46142 },
+ { 0x39A4, 46145 },
+ { 0x0F01, 46148 },
+ { 0x0EF4, 46151 },
+ { 0x0F06, 46154 },
+ { 0x0F02, 46157 },
+ { 0x0F03, 46160 },
+ { 0x0ECB, 46163 },
+ { 0x0EE2, 46166 },
+ { 0x0ECD, 46169 },
+ { 0x0ECE, 46172 },
+ { 0x39CE, 46175 },
+ { 0x39B7, 46178 },
+ { 0x0EB8, 46181 },
+ { 0x0ED6, 46184 },
+ { 0x39C4, 46187 },
+ { 0x39C2, 46190 },
+ { 0x39C5, 46193 },
+ { 0x39A6, 46196 },
+ { 0x39A3, 46199 },
+ { 0x0ED3, 46202 },
+ { 0x0EF7, 46205 },
+ { 0x0EEA, 46208 },
+ { 0x0EEE, 46211 },
+ { 0x39B1, 46214 },
+ { 0x0EE8, 46217 },
+ { 0x0EE7, 46220 },
+ { 0x39A0, 46223 },
+ { 0x0ED0, 46226 },
+ { 0x0ED1, 46229 },
+ { 0x39C7, 46232 },
+ { 0x0EFB, 46235 },
+ { 0x39BD, 46238 },
+ { 0x0EEC, 46241 },
+ { 0x0EE0, 46244 },
+ { 0x0EDF, 46247 },
+ { 0x0EBD, 46250 },
+ { 0x0EBC, 46253 },
+ { 0x0ED2, 46256 },
+ { 0x0EF9, 46259 },
+ { 0x0F04, 46262 },
+ { 0x0F05, 46265 },
+ { 0x39AF, 46268 },
+ { 0x39A7, 46271 },
+ { 0x39A8, 46274 },
+ { 0x39CA, 46277 },
+ { 0x39C9, 46280 },
+ { 0x0EFC, 46283 },
+ { 0x0EE6, 46286 },
+ { 0x39CF, 46289 },
+ { 0x0EDE, 46292 },
+ { 0x39CC, 46295 },
+ { 0x39B5, 46298 },
+ { 0x39B3, 46301 },
+ { 0x0EDA, 46304 },
+ { 0x0EDB, 46307 },
+ { 0x39C0, 46310 },
+ { 0x39C1, 46313 },
+ { 0x0EFA, 46316 },
+ { 0x0EF5, 46319 },
+ { 0x39BB, 46322 },
+ { 0x0ED4, 46325 },
+ { 0x39AC, 46328 },
+ { 0x0EDC, 46331 },
+ { 0x39A9, 46334 },
+ { 0x0EE1, 46337 },
+ { 0x39A2, 46340 },
+ { 0x0ECC, 46343 },
+ { 0x39AA, 46346 },
+ { 0x0ED9, 46349 },
+ { 0x39AD, 46352 },
+ { 0x0ED7, 46355 },
+ { 0x39BF, 46358 },
+ { 0x39AB, 46361 },
+ { 0x39A5, 46364 },
+ { 0x39B8, 46367 },
+ { 0x0EDD, 46370 },
+ { 0x39AE, 46373 },
+ { 0x39C8, 46376 },
+ { 0x39B0, 46379 },
+ { 0x0E69, 46382 },
+ { 0x0E6E, 46385 },
+ { 0x0E7D, 46388 },
+ { 0x0E71, 46391 },
+ { 0x0E76, 46394 },
+ { 0x0E6A, 46397 },
+ { 0x0E6D, 46400 },
+ { 0x0E7B, 46403 },
+ { 0x0E74, 46406 },
+ { 0x0E72, 46409 },
+ { 0x0E78, 46412 },
+ { 0x0E79, 46415 },
+ { 0x0E6B, 46418 },
+ { 0x0E70, 46421 },
+ { 0x0E7C, 46424 },
+ { 0x0E75, 46427 },
+ { 0x0E7A, 46430 },
+ { 0x0E7E, 46433 },
+ { 0x0E7F, 46436 },
+ { 0x0EA0, 46439 },
+ { 0x399C, 46442 },
+ { 0x0EA2, 46445 },
+ { 0x0EA3, 46448 },
+ { 0x0E88, 46451 },
+ { 0x0E8A, 46454 },
+ { 0x0E8B, 46457 },
+ { 0x0E91, 46460 },
+ { 0x0E95, 46463 },
+ { 0x0E73, 46466 },
+ { 0x0E77, 46469 },
+ { 0x0E6C, 46472 },
+ { 0x0E6F, 46475 },
+ { 0x0EAB, 46478 },
+ { 0x0E82, 46481 },
+ { 0x0E83, 46484 },
+ { 0x3991, 46487 },
+ { 0x3993, 46490 },
+ { 0x3994, 46493 },
+ { 0x0E9D, 46496 },
+ { 0x0EA4, 46499 },
+ { 0x0EA1, 46502 },
+ { 0x3998, 46505 },
+ { 0x399A, 46508 },
+ { 0x399B, 46511 },
+ { 0x0E87, 46514 },
+ { 0x0EAE, 46517 },
+ { 0x0E89, 46520 },
+ { 0x0E92, 46523 },
+ { 0x0E94, 46526 },
+ { 0x0E80, 46529 },
+ { 0x0EAC, 46532 },
+ { 0x0E9F, 46535 },
+ { 0x398A, 46538 },
+ { 0x0E90, 46541 },
+ { 0x0E8F, 46544 },
+ { 0x0E96, 46547 },
+ { 0x0E98, 46550 },
+ { 0x0E9C, 46553 },
+ { 0x3990, 46556 },
+ { 0x0E9B, 46559 },
+ { 0x0EA6, 46562 },
+ { 0x0E84, 46565 },
+ { 0x3992, 46568 },
+ { 0x0E9E, 46571 },
+ { 0x3999, 46574 },
+ { 0x3996, 46577 },
+ { 0x3997, 46580 },
+ { 0x3989, 46583 },
+ { 0x0EAF, 46586 },
+ { 0x3988, 46589 },
+ { 0x398E, 46592 },
+ { 0x398D, 46595 },
+ { 0x0E81, 46598 },
+ { 0x0E85, 46601 },
+ { 0x0E86, 46604 },
+ { 0x398B, 46607 },
+ { 0x398C, 46610 },
+ { 0x0E8C, 46613 },
+ { 0x398F, 46616 },
+ { 0x0E97, 46619 },
+ { 0x0E9A, 46622 },
+ { 0x0E68, 46625 },
+ { 0x3995, 46628 },
+ { 0x0EAD, 46631 },
+ { 0x0E8D, 46634 },
+ { 0x0E8E, 46637 },
+ { 0x0E99, 46640 },
+ { 0x399D, 46643 },
+ { 0x399E, 46646 },
+ { 0x0EA9, 46649 },
+ { 0x0EA8, 46652 },
+ { 0x0EA5, 46655 },
+ { 0x0E93, 46658 },
+ { 0x0EA7, 46661 },
+ { 0x0EAA, 46664 },
+ { 0x43EE, 46667 },
+ { 0x43FA, 46670 },
+ { 0x43F9, 46673 },
+ { 0x43F6, 46676 },
+ { 0x43F7, 46679 },
+ { 0x43FE, 46682 },
+ { 0x43EF, 46685 },
+ { 0x43EB, 46688 },
+ { 0x43F1, 46691 },
+ { 0x43F4, 46694 },
+ { 0x43FC, 46697 },
+ { 0x43FD, 46700 },
+ { 0x43F2, 46703 },
+ { 0x43F3, 46706 },
+ { 0x43F0, 46709 },
+ { 0x43EA, 46712 },
+ { 0x43EC, 46715 },
+ { 0x43FB, 46718 },
+ { 0x43F5, 46721 },
+ { 0x43F8, 46724 },
+ { 0x43ED, 46727 },
+ { 0x43FF, 46730 },
+ { 0x4403, 46733 },
+ { 0x4401, 46737 },
+ { 0x4400, 46740 },
+ { 0x4402, 46743 },
+ { 0x0573, 46746 },
+ { 0x0572, 46750 },
+ { 0x055D, 46754 },
+ { 0x0570, 46758 },
+ { 0x056D, 46762 },
+ { 0x056F, 46765 },
+ { 0x0560, 46769 },
+ { 0x055F, 46773 },
+ { 0x0561, 46777 },
+ { 0x0562, 46781 },
+ { 0x0567, 46784 },
+ { 0x0568, 46787 },
+ { 0x056B, 46793 },
+ { 0x0565, 46796 },
+ { 0x0564, 46799 },
+ { 0x055E, 46802 },
+ { 0x0563, 46805 },
+ { 0x056A, 46808 },
+ { 0x0566, 46813 },
+ { 0x0575, 46816 },
+ { 0x0569, 46820 },
+ { 0x39E2, 46823 },
+ { 0x0559, 46827 },
+ { 0x055B, 46830 },
+ { 0x055A, 46833 },
+ { 0x0550, 46836 },
+ { 0x0555, 46840 },
+ { 0x0551, 46843 },
+ { 0x054F, 46846 },
+ { 0x0556, 46849 },
+ { 0x0545, 46852 },
+ { 0x0540, 46855 },
+ { 0x0549, 46858 },
+ { 0x0558, 46861 },
+ { 0x0548, 46866 },
+ { 0x0543, 46869 },
+ { 0x0542, 46873 },
+ { 0x0546, 46877 },
+ { 0x055C, 46880 },
+ { 0x054A, 46883 },
+ { 0x054B, 46886 },
+ { 0x0553, 46890 },
+ { 0x0554, 46893 },
+ { 0x0547, 46897 },
+ { 0x054D, 46900 },
+ { 0x0544, 46904 },
+ { 0x053F, 46907 },
+ { 0x054E, 46910 },
+ { 0x0557, 46914 },
+ { 0x0552, 46918 },
+ { 0x054C, 46921 },
+ { 0x0541, 46924 },
+ { 0x057A, 46927 },
+ { 0x39F8, 46930 },
+ { 0x058A, 46935 },
+ { 0x3A0D, 46938 },
+ { 0x3A04, 46943 },
+ { 0x0577, 46948 },
+ { 0x3A0B, 46951 },
+ { 0x39F5, 46956 },
+ { 0x057D, 46961 },
+ { 0x0581, 46964 },
+ { 0x3A0C, 46967 },
+ { 0x39FE, 46972 },
+ { 0x0584, 46977 },
+ { 0x3A00, 46980 },
+ { 0x0586, 46985 },
+ { 0x3A01, 46988 },
+ { 0x058D, 46993 },
+ { 0x3A06, 46996 },
+ { 0x0590, 47001 },
+ { 0x3A09, 47004 },
+ { 0x057E, 47009 },
+ { 0x39FB, 47012 },
+ { 0x057B, 47017 },
+ { 0x3A0A, 47020 },
+ { 0x39F9, 47025 },
+ { 0x057F, 47030 },
+ { 0x39E1, 47033 },
+ { 0x39FC, 47038 },
+ { 0x0576, 47043 },
+ { 0x39F4, 47046 },
+ { 0x39F2, 47051 },
+ { 0x39F3, 47056 },
+ { 0x0588, 47061 },
+ { 0x058E, 47064 },
+ { 0x3A07, 47067 },
+ { 0x058F, 47072 },
+ { 0x39EF, 47075 },
+ { 0x39EE, 47081 },
+ { 0x3A08, 47087 },
+ { 0x39F1, 47092 },
+ { 0x39F0, 47100 },
+ { 0x39E7, 47108 },
+ { 0x39E8, 47112 },
+ { 0x39EC, 47116 },
+ { 0x39E5, 47120 },
+ { 0x39EB, 47124 },
+ { 0x39E6, 47128 },
+ { 0x39EA, 47132 },
+ { 0x39E9, 47137 },
+ { 0x0579, 47141 },
+ { 0x39F7, 47144 },
+ { 0x0589, 47149 },
+ { 0x3A03, 47153 },
+ { 0x0580, 47159 },
+ { 0x39FD, 47163 },
+ { 0x0583, 47169 },
+ { 0x0585, 47173 },
+ { 0x058B, 47177 },
+ { 0x0578, 47181 },
+ { 0x39F6, 47184 },
+ { 0x0582, 47189 },
+ { 0x39FF, 47192 },
+ { 0x058C, 47197 },
+ { 0x3A05, 47200 },
+ { 0x057C, 47205 },
+ { 0x39FA, 47208 },
+ { 0x0587, 47213 },
+ { 0x3A02, 47216 },
+ { 0x39E4, 47221 },
+ { 0x39ED, 47225 },
+ { 0x3A0E, 47230 },
+ { 0x0592, 47234 },
+ { 0x39E3, 47239 },
+ { 0x0591, 47245 },
+ { 0x0593, 47250 },
+ { 0x0574, 47255 },
+ { 0x0571, 47259 },
+ { 0x056C, 47263 },
+ { 0x056E, 47266 },
+ { 0x0594, 47269 },
+ { 0x0595, 47272 },
+ { 0x21F7, 47275 },
+ { 0x6A8C, 47279 },
+ { 0x6A8D, 47283 },
+ { 0x6A53, 47290 },
+ { 0x1B94, 47292 },
+ { 0x28D9, 47293 },
+ { 0x1BC7, 47296 },
+ { 0x1C36, 47298 },
+ { 0x4778, 47301 },
+ { 0x4777, 47304 },
+ { 0x4740, 47307 },
+ { 0x473F, 47310 },
+ { 0x473E, 47313 },
+ { 0x477E, 47316 },
+ { 0x4773, 47318 },
+ { 0x476F, 47322 },
+ { 0x4775, 47326 },
+ { 0x4771, 47330 },
+ { 0x476E, 47334 },
+ { 0x4774, 47338 },
+ { 0x4776, 47342 },
+ { 0x4770, 47346 },
+ { 0x4772, 47350 },
+ { 0x477F, 47354 },
+ { 0x477D, 47357 },
+ { 0x4741, 47361 },
+ { 0x4747, 47364 },
+ { 0x4743, 47367 },
+ { 0x4749, 47370 },
+ { 0x4745, 47373 },
+ { 0x4742, 47376 },
+ { 0x4748, 47379 },
+ { 0x474A, 47382 },
+ { 0x4763, 47385 },
+ { 0x4750, 47388 },
+ { 0x475E, 47391 },
+ { 0x474D, 47394 },
+ { 0x476D, 47397 },
+ { 0x4744, 47400 },
+ { 0x4752, 47403 },
+ { 0x474B, 47406 },
+ { 0x4768, 47409 },
+ { 0x4765, 47412 },
+ { 0x4760, 47415 },
+ { 0x4761, 47418 },
+ { 0x4767, 47421 },
+ { 0x476C, 47424 },
+ { 0x475C, 47427 },
+ { 0x4746, 47430 },
+ { 0x4769, 47433 },
+ { 0x4766, 47436 },
+ { 0x4764, 47439 },
+ { 0x4751, 47442 },
+ { 0x4757, 47445 },
+ { 0x475F, 47448 },
+ { 0x474E, 47451 },
+ { 0x4753, 47454 },
+ { 0x474C, 47457 },
+ { 0x474F, 47460 },
+ { 0x475B, 47463 },
+ { 0x4754, 47466 },
+ { 0x4762, 47469 },
+ { 0x475A, 47472 },
+ { 0x476A, 47475 },
+ { 0x476B, 47478 },
+ { 0x475D, 47481 },
+ { 0x4755, 47484 },
+ { 0x4759, 47487 },
+ { 0x4756, 47490 },
+ { 0x4758, 47493 },
+ { 0x477B, 47496 },
+ { 0x477C, 47499 },
+ { 0x477A, 47502 },
+ { 0x4779, 47505 },
+ { 0x29C4, 47508 },
+ { 0x2996, 47512 },
+ { 0x2997, 47515 },
+ { 0x29F2, 47519 },
+ { 0x29B9, 47522 },
+ { 0x2999, 47525 },
+ { 0x29AD, 47528 },
+ { 0x29D1, 47531 },
+ { 0x29D2, 47534 },
+ { 0x2977, 47537 },
+ { 0x29A7, 47540 },
+ { 0x29F4, 47543 },
+ { 0x2A2C, 47546 },
+ { 0x29E1, 47549 },
+ { 0x2A2B, 47552 },
+ { 0x29C6, 47555 },
+ { 0x2983, 47558 },
+ { 0x29ED, 47561 },
+ { 0x297C, 47564 },
+ { 0x297D, 47567 },
+ { 0x29EE, 47570 },
+ { 0x29BB, 47573 },
+ { 0x29F1, 47576 },
+ { 0x2975, 47579 },
+ { 0x2A0C, 47582 },
+ { 0x29B6, 47585 },
+ { 0x2A44, 47588 },
+ { 0x2A0F, 47591 },
+ { 0x2A10, 47594 },
+ { 0x29BD, 47597 },
+ { 0x2A07, 47600 },
+ { 0x29BC, 47603 },
+ { 0x298C, 47606 },
+ { 0x297B, 47609 },
+ { 0x29AB, 47612 },
+ { 0x29D9, 47616 },
+ { 0x2A0B, 47619 },
+ { 0x2A38, 47622 },
+ { 0x2A22, 47625 },
+ { 0x29FD, 47628 },
+ { 0x2A12, 47631 },
+ { 0x29DB, 47634 },
+ { 0x2A30, 47639 },
+ { 0x2A13, 47642 },
+ { 0x29E8, 47645 },
+ { 0x2A17, 47648 },
+ { 0x29C7, 47651 },
+ { 0x29CB, 47654 },
+ { 0x2A3A, 47657 },
+ { 0x29E0, 47660 },
+ { 0x29B3, 47663 },
+ { 0x2981, 47666 },
+ { 0x2A43, 47670 },
+ { 0x2A46, 47673 },
+ { 0x2A24, 47676 },
+ { 0x29D0, 47679 },
+ { 0x29CA, 47682 },
+ { 0x2A37, 47685 },
+ { 0x2A11, 47688 },
+ { 0x2A41, 47691 },
+ { 0x2A1D, 47694 },
+ { 0x2A1B, 47697 },
+ { 0x2A32, 47700 },
+ { 0x29CE, 47703 },
+ { 0x29B4, 47708 },
+ { 0x2A2D, 47711 },
+ { 0x2A3C, 47714 },
+ { 0x297A, 47717 },
+ { 0x2A08, 47720 },
+ { 0x299D, 47723 },
+ { 0x29D4, 47726 },
+ { 0x29C0, 47729 },
+ { 0x299F, 47732 },
+ { 0x2A29, 47735 },
+ { 0x2A27, 47738 },
+ { 0x297E, 47741 },
+ { 0x29D8, 47744 },
+ { 0x2976, 47747 },
+ { 0x2A1C, 47750 },
+ { 0x29AA, 47753 },
+ { 0x29F6, 47757 },
+ { 0x29BE, 47760 },
+ { 0x2A45, 47763 },
+ { 0x2985, 47766 },
+ { 0x29F3, 47770 },
+ { 0x2A21, 47773 },
+ { 0x29EB, 47776 },
+ { 0x299C, 47779 },
+ { 0x2A39, 47782 },
+ { 0x298E, 47785 },
+ { 0x29F8, 47788 },
+ { 0x29EC, 47791 },
+ { 0x29DF, 47794 },
+ { 0x29B0, 47797 },
+ { 0x29C1, 47800 },
+ { 0x2A31, 47803 },
+ { 0x29D6, 47806 },
+ { 0x29BF, 47809 },
+ { 0x2A16, 47812 },
+ { 0x2A04, 47815 },
+ { 0x2A06, 47819 },
+ { 0x2A2A, 47822 },
+ { 0x2A18, 47825 },
+ { 0x29A4, 47828 },
+ { 0x2988, 47831 },
+ { 0x2991, 47834 },
+ { 0x29E3, 47837 },
+ { 0x2A3F, 47840 },
+ { 0x2A03, 47843 },
+ { 0x29F5, 47846 },
+ { 0x299B, 47849 },
+ { 0x298F, 47852 },
+ { 0x29FF, 47855 },
+ { 0x2982, 47858 },
+ { 0x29C2, 47861 },
+ { 0x2994, 47864 },
+ { 0x2980, 47867 },
+ { 0x297F, 47870 },
+ { 0x29DA, 47873 },
+ { 0x2A33, 47876 },
+ { 0x2A4A, 47879 },
+ { 0x2A36, 47882 },
+ { 0x29E7, 47885 },
+ { 0x2A00, 47888 },
+ { 0x29B1, 47891 },
+ { 0x2A2F, 47894 },
+ { 0x2986, 47897 },
+ { 0x29D5, 47900 },
+ { 0x2A1E, 47903 },
+ { 0x2992, 47906 },
+ { 0x2987, 47909 },
+ { 0x298A, 47912 },
+ { 0x29A3, 47917 },
+ { 0x29EF, 47920 },
+ { 0x2A0E, 47923 },
+ { 0x29AC, 47926 },
+ { 0x2A20, 47929 },
+ { 0x29A8, 47934 },
+ { 0x2978, 47938 },
+ { 0x2A1F, 47941 },
+ { 0x29CF, 47944 },
+ { 0x299E, 47947 },
+ { 0x29AE, 47950 },
+ { 0x2A28, 47953 },
+ { 0x29E2, 47956 },
+ { 0x2989, 47959 },
+ { 0x29E9, 47962 },
+ { 0x29C8, 47965 },
+ { 0x29E4, 47968 },
+ { 0x29D7, 47971 },
+ { 0x2984, 47974 },
+ { 0x2A01, 47977 },
+ { 0x2A47, 47980 },
+ { 0x29E6, 47983 },
+ { 0x29C9, 47986 },
+ { 0x2A3B, 47989 },
+ { 0x29DE, 47992 },
+ { 0x299A, 47995 },
+ { 0x2A23, 47998 },
+ { 0x29F9, 48001 },
+ { 0x2A0D, 48004 },
+ { 0x29EA, 48007 },
+ { 0x2A14, 48010 },
+ { 0x29B5, 48013 },
+ { 0x29A0, 48016 },
+ { 0x29B8, 48019 },
+ { 0x29DD, 48022 },
+ { 0x29A9, 48026 },
+ { 0x29CD, 48030 },
+ { 0x2A48, 48034 },
+ { 0x29CC, 48037 },
+ { 0x298B, 48040 },
+ { 0x2A02, 48044 },
+ { 0x2A3E, 48047 },
+ { 0x29FA, 48050 },
+ { 0x29FC, 48053 },
+ { 0x29B7, 48056 },
+ { 0x2979, 48059 },
+ { 0x2A09, 48062 },
+ { 0x29E5, 48065 },
+ { 0x29A1, 48068 },
+ { 0x29BA, 48071 },
+ { 0x2A26, 48074 },
+ { 0x29FB, 48078 },
+ { 0x2A42, 48081 },
+ { 0x29A6, 48084 },
+ { 0x2A49, 48087 },
+ { 0x2A0A, 48090 },
+ { 0x29C3, 48093 },
+ { 0x2A3D, 48096 },
+ { 0x29AF, 48099 },
+ { 0x2A05, 48102 },
+ { 0x29C5, 48105 },
+ { 0x2998, 48108 },
+ { 0x29F0, 48111 },
+ { 0x29B2, 48114 },
+ { 0x2A25, 48117 },
+ { 0x2A15, 48120 },
+ { 0x29A5, 48123 },
+ { 0x2990, 48126 },
+ { 0x2995, 48129 },
+ { 0x2A1A, 48132 },
+ { 0x2A35, 48135 },
+ { 0x2A2E, 48138 },
+ { 0x29F7, 48141 },
+ { 0x29A2, 48144 },
+ { 0x29D3, 48147 },
+ { 0x29DC, 48150 },
+ { 0x29FE, 48153 },
+ { 0x2993, 48156 },
+ { 0x298D, 48159 },
+ { 0x2A40, 48162 },
+ { 0x2A19, 48165 },
+ { 0x2A34, 48168 },
+ { 0x1C87, 48172 },
+ { 0x6945, 48174 },
+ { 0x48B4, 48176 },
+ { 0x48B5, 48179 },
+ { 0x48B3, 48182 },
+ { 0x48B2, 48185 },
+ { 0x48B8, 48188 },
+ { 0x48B6, 48191 },
+ { 0x48AE, 48193 },
+ { 0x48AB, 48197 },
+ { 0x48B0, 48201 },
+ { 0x48AD, 48205 },
+ { 0x48AA, 48209 },
+ { 0x48AF, 48213 },
+ { 0x48B1, 48217 },
+ { 0x48AC, 48221 },
+ { 0x48B7, 48225 },
+ { 0x48BA, 48228 },
+ { 0x487F, 48232 },
+ { 0x4883, 48235 },
+ { 0x4881, 48238 },
+ { 0x4885, 48241 },
+ { 0x4882, 48244 },
+ { 0x4880, 48247 },
+ { 0x4884, 48250 },
+ { 0x4886, 48253 },
+ { 0x489F, 48256 },
+ { 0x488D, 48259 },
+ { 0x4899, 48262 },
+ { 0x4889, 48265 },
+ { 0x48A8, 48268 },
+ { 0x488F, 48271 },
+ { 0x4887, 48274 },
+ { 0x48A5, 48277 },
+ { 0x48A2, 48280 },
+ { 0x489C, 48283 },
+ { 0x489D, 48286 },
+ { 0x48A4, 48289 },
+ { 0x48A7, 48292 },
+ { 0x4897, 48295 },
+ { 0x48A6, 48298 },
+ { 0x48A3, 48301 },
+ { 0x48A0, 48304 },
+ { 0x48A1, 48307 },
+ { 0x488E, 48310 },
+ { 0x4894, 48313 },
+ { 0x489B, 48316 },
+ { 0x488A, 48319 },
+ { 0x488B, 48322 },
+ { 0x4890, 48325 },
+ { 0x4888, 48328 },
+ { 0x48A9, 48331 },
+ { 0x488C, 48334 },
+ { 0x4896, 48337 },
+ { 0x4891, 48340 },
+ { 0x489E, 48343 },
+ { 0x4898, 48346 },
+ { 0x4892, 48349 },
+ { 0x489A, 48352 },
+ { 0x4895, 48355 },
+ { 0x4893, 48358 },
+ { 0x48B9, 48361 },
+ { 0x48BB, 48364 },
+ { 0x687E, 48367 },
+ { 0x2CB8, 48368 },
+ { 0x25D1, 48371 },
+ { 0x25D3, 48373 },
+ { 0x68F8, 48378 },
+ { 0x182C, 48379 },
+ { 0x182D, 48382 },
+ { 0x1834, 48385 },
+ { 0x1839, 48388 },
+ { 0x1835, 48391 },
+ { 0x1838, 48394 },
+ { 0x1837, 48397 },
+ { 0x183C, 48400 },
+ { 0x1833, 48403 },
+ { 0x183B, 48406 },
+ { 0x183A, 48409 },
+ { 0x1836, 48412 },
+ { 0x1822, 48415 },
+ { 0x181D, 48419 },
+ { 0x181E, 48423 },
+ { 0x1820, 48427 },
+ { 0x181C, 48431 },
+ { 0x181F, 48435 },
+ { 0x1821, 48439 },
+ { 0x1819, 48443 },
+ { 0x1809, 48446 },
+ { 0x17FC, 48449 },
+ { 0x1802, 48452 },
+ { 0x1807, 48455 },
+ { 0x17F9, 48458 },
+ { 0x1813, 48461 },
+ { 0x17FE, 48464 },
+ { 0x17F6, 48467 },
+ { 0x1812, 48470 },
+ { 0x180B, 48473 },
+ { 0x1803, 48476 },
+ { 0x1804, 48479 },
+ { 0x1811, 48482 },
+ { 0x1816, 48485 },
+ { 0x1800, 48488 },
+ { 0x1815, 48491 },
+ { 0x1818, 48494 },
+ { 0x1810, 48497 },
+ { 0x180A, 48500 },
+ { 0x17FD, 48503 },
+ { 0x183F, 48506 },
+ { 0x180F, 48509 },
+ { 0x1808, 48512 },
+ { 0x17FA, 48515 },
+ { 0x1814, 48518 },
+ { 0x17F8, 48521 },
+ { 0x17F7, 48524 },
+ { 0x180C, 48527 },
+ { 0x17FB, 48530 },
+ { 0x17FF, 48533 },
+ { 0x1806, 48536 },
+ { 0x1805, 48539 },
+ { 0x1817, 48542 },
+ { 0x1801, 48545 },
+ { 0x180D, 48548 },
+ { 0x183D, 48551 },
+ { 0x180E, 48554 },
+ { 0x183E, 48557 },
+ { 0x1823, 48560 },
+ { 0x1825, 48564 },
+ { 0x1824, 48568 },
+ { 0x1826, 48572 },
+ { 0x1827, 48576 },
+ { 0x1828, 48580 },
+ { 0x1829, 48584 },
+ { 0x182B, 48588 },
+ { 0x182A, 48592 },
+ { 0x181B, 48596 },
+ { 0x181A, 48600 },
+ { 0x182F, 48604 },
+ { 0x1830, 48609 },
+ { 0x182E, 48612 },
+ { 0x1832, 48615 },
+ { 0x1831, 48618 },
+ { 0x424C, 48622 },
+ { 0x424D, 48626 },
+ { 0x424E, 48630 },
+ { 0x424F, 48634 },
+ { 0x4250, 48638 },
+ { 0x4251, 48642 },
+ { 0x4252, 48646 },
+ { 0x4253, 48650 },
+ { 0x4257, 48654 },
+ { 0x4258, 48658 },
+ { 0x4259, 48662 },
+ { 0x425D, 48666 },
+ { 0x425E, 48670 },
+ { 0x425F, 48674 },
+ { 0x4260, 48678 },
+ { 0x4261, 48682 },
+ { 0x4262, 48686 },
+ { 0x4263, 48690 },
+ { 0x4264, 48694 },
+ { 0x4265, 48698 },
+ { 0x4266, 48702 },
+ { 0x4267, 48706 },
+ { 0x4268, 48710 },
+ { 0x4269, 48714 },
+ { 0x426A, 48718 },
+ { 0x426B, 48722 },
+ { 0x426C, 48726 },
+ { 0x426D, 48730 },
+ { 0x426E, 48734 },
+ { 0x426F, 48738 },
+ { 0x4270, 48742 },
+ { 0x4271, 48746 },
+ { 0x4272, 48750 },
+ { 0x4273, 48754 },
+ { 0x4274, 48758 },
+ { 0x4275, 48762 },
+ { 0x4276, 48766 },
+ { 0x4277, 48770 },
+ { 0x4278, 48774 },
+ { 0x4279, 48778 },
+ { 0x427A, 48782 },
+ { 0x427B, 48786 },
+ { 0x427C, 48790 },
+ { 0x427D, 48794 },
+ { 0x427E, 48798 },
+ { 0x427F, 48802 },
+ { 0x4280, 48806 },
+ { 0x4281, 48810 },
+ { 0x4282, 48814 },
+ { 0x4283, 48818 },
+ { 0x4284, 48822 },
+ { 0x4285, 48826 },
+ { 0x4286, 48830 },
+ { 0x4287, 48834 },
+ { 0x4288, 48838 },
+ { 0x4289, 48842 },
+ { 0x428A, 48846 },
+ { 0x428B, 48850 },
+ { 0x428C, 48854 },
+ { 0x428D, 48858 },
+ { 0x428E, 48862 },
+ { 0x428F, 48866 },
+ { 0x4290, 48870 },
+ { 0x4291, 48874 },
+ { 0x4292, 48878 },
+ { 0x4293, 48882 },
+ { 0x4294, 48886 },
+ { 0x4295, 48890 },
+ { 0x4296, 48894 },
+ { 0x42AA, 48898 },
+ { 0x42AB, 48902 },
+ { 0x42AC, 48906 },
+ { 0x42AD, 48910 },
+ { 0x42AE, 48914 },
+ { 0x42AF, 48918 },
+ { 0x42B0, 48922 },
+ { 0x42B1, 48926 },
+ { 0x42B2, 48930 },
+ { 0x42B3, 48934 },
+ { 0x42B4, 48938 },
+ { 0x42B5, 48942 },
+ { 0x42B6, 48946 },
+ { 0x42B7, 48950 },
+ { 0x42B8, 48954 },
+ { 0x42B9, 48958 },
+ { 0x42BA, 48962 },
+ { 0x42BB, 48966 },
+ { 0x42BC, 48970 },
+ { 0x42BD, 48974 },
+ { 0x42BE, 48978 },
+ { 0x42BF, 48982 },
+ { 0x42C0, 48986 },
+ { 0x42C1, 48990 },
+ { 0x42C2, 48994 },
+ { 0x42C3, 48998 },
+ { 0x42C4, 49002 },
+ { 0x42C5, 49006 },
+ { 0x42C6, 49010 },
+ { 0x42C7, 49014 },
+ { 0x42C8, 49018 },
+ { 0x42C9, 49022 },
+ { 0x42CA, 49026 },
+ { 0x42CB, 49030 },
+ { 0x42CC, 49034 },
+ { 0x42CD, 49038 },
+ { 0x42CE, 49042 },
+ { 0x42CF, 49046 },
+ { 0x42D0, 49050 },
+ { 0x42D1, 49054 },
+ { 0x42D2, 49058 },
+ { 0x42D3, 49062 },
+ { 0x42D4, 49066 },
+ { 0x42D5, 49070 },
+ { 0x42D6, 49074 },
+ { 0x42D7, 49078 },
+ { 0x42D8, 49082 },
+ { 0x42D9, 49086 },
+ { 0x42DA, 49090 },
+ { 0x42DB, 49094 },
+ { 0x42DC, 49098 },
+ { 0x42DD, 49102 },
+ { 0x42DE, 49106 },
+ { 0x42DF, 49110 },
+ { 0x42E0, 49114 },
+ { 0x42E1, 49118 },
+ { 0x42E2, 49122 },
+ { 0x42E3, 49126 },
+ { 0x42E4, 49130 },
+ { 0x42E5, 49134 },
+ { 0x42E6, 49138 },
+ { 0x42E7, 49142 },
+ { 0x42E8, 49146 },
+ { 0x42E9, 49150 },
+ { 0x42EA, 49154 },
+ { 0x42EB, 49158 },
+ { 0x42EC, 49162 },
+ { 0x42ED, 49166 },
+ { 0x42EE, 49170 },
+ { 0x42EF, 49174 },
+ { 0x42F0, 49178 },
+ { 0x42F1, 49182 },
+ { 0x42F2, 49186 },
+ { 0x42F3, 49190 },
+ { 0x42F4, 49194 },
+ { 0x42F5, 49198 },
+ { 0x42F6, 49202 },
+ { 0x42F7, 49206 },
+ { 0x42F8, 49210 },
+ { 0x42F9, 49214 },
+ { 0x42FA, 49218 },
+ { 0x42FB, 49222 },
+ { 0x42FC, 49226 },
+ { 0x42FD, 49230 },
+ { 0x42FE, 49234 },
+ { 0x42FF, 49238 },
+ { 0x4300, 49242 },
+ { 0x4301, 49246 },
+ { 0x4302, 49250 },
+ { 0x4303, 49254 },
+ { 0x4304, 49258 },
+ { 0x4305, 49262 },
+ { 0x4306, 49266 },
+ { 0x4307, 49270 },
+ { 0x4308, 49274 },
+ { 0x4309, 49278 },
+ { 0x430A, 49282 },
+ { 0x430B, 49286 },
+ { 0x430C, 49290 },
+ { 0x430D, 49294 },
+ { 0x430E, 49298 },
+ { 0x430F, 49302 },
+ { 0x4310, 49306 },
+ { 0x4311, 49310 },
+ { 0x4312, 49314 },
+ { 0x4313, 49318 },
+ { 0x4314, 49322 },
+ { 0x4315, 49326 },
+ { 0x4316, 49330 },
+ { 0x4317, 49334 },
+ { 0x4318, 49338 },
+ { 0x4319, 49342 },
+ { 0x431A, 49346 },
+ { 0x431B, 49350 },
+ { 0x431C, 49354 },
+ { 0x431D, 49358 },
+ { 0x431E, 49362 },
+ { 0x431F, 49366 },
+ { 0x4320, 49370 },
+ { 0x4321, 49374 },
+ { 0x4322, 49378 },
+ { 0x4323, 49382 },
+ { 0x4324, 49386 },
+ { 0x4325, 49390 },
+ { 0x4326, 49394 },
+ { 0x4327, 49398 },
+ { 0x4328, 49402 },
+ { 0x4329, 49406 },
+ { 0x432A, 49410 },
+ { 0x432B, 49414 },
+ { 0x432C, 49418 },
+ { 0x432D, 49422 },
+ { 0x432E, 49426 },
+ { 0x432F, 49431 },
+ { 0x4330, 49436 },
+ { 0x4331, 49441 },
+ { 0x4332, 49446 },
+ { 0x4333, 49451 },
+ { 0x4334, 49456 },
+ { 0x4335, 49461 },
+ { 0x4336, 49466 },
+ { 0x433B, 49471 },
+ { 0x433C, 49476 },
+ { 0x433D, 49481 },
+ { 0x433E, 49486 },
+ { 0x433F, 49491 },
+ { 0x4340, 49496 },
+ { 0x4341, 49501 },
+ { 0x4342, 49506 },
+ { 0x4343, 49511 },
+ { 0x4344, 49516 },
+ { 0x4345, 49520 },
+ { 0x4346, 49524 },
+ { 0x4347, 49528 },
+ { 0x4348, 49532 },
+ { 0x4349, 49536 },
+ { 0x434A, 49540 },
+ { 0x434B, 49544 },
+ { 0x4212, 49548 },
+ { 0x4241, 49552 },
+ { 0x4246, 49556 },
+ { 0x4254, 49560 },
+ { 0x4255, 49564 },
+ { 0x4256, 49568 },
+ { 0x425A, 49572 },
+ { 0x425B, 49576 },
+ { 0x425C, 49580 },
+ { 0x41F7, 49584 },
+ { 0x41F8, 49588 },
+ { 0x41F9, 49592 },
+ { 0x41FA, 49596 },
+ { 0x41FB, 49600 },
+ { 0x41FC, 49604 },
+ { 0x41FD, 49608 },
+ { 0x41FE, 49612 },
+ { 0x41FF, 49616 },
+ { 0x4200, 49620 },
+ { 0x4201, 49624 },
+ { 0x4202, 49628 },
+ { 0x4203, 49632 },
+ { 0x4204, 49636 },
+ { 0x4205, 49640 },
+ { 0x4206, 49644 },
+ { 0x4209, 49648 },
+ { 0x420C, 49652 },
+ { 0x420E, 49656 },
+ { 0x420F, 49660 },
+ { 0x4210, 49664 },
+ { 0x4211, 49668 },
+ { 0x4213, 49672 },
+ { 0x4214, 49676 },
+ { 0x4215, 49680 },
+ { 0x4216, 49684 },
+ { 0x4217, 49688 },
+ { 0x4218, 49692 },
+ { 0x4219, 49696 },
+ { 0x421A, 49700 },
+ { 0x421B, 49704 },
+ { 0x421C, 49708 },
+ { 0x421D, 49712 },
+ { 0x421E, 49716 },
+ { 0x421F, 49720 },
+ { 0x4220, 49724 },
+ { 0x4221, 49728 },
+ { 0x4222, 49732 },
+ { 0x4223, 49736 },
+ { 0x4224, 49740 },
+ { 0x4225, 49744 },
+ { 0x4226, 49748 },
+ { 0x4227, 49752 },
+ { 0x4228, 49756 },
+ { 0x4229, 49760 },
+ { 0x422A, 49764 },
+ { 0x422B, 49768 },
+ { 0x422C, 49772 },
+ { 0x422D, 49776 },
+ { 0x422E, 49780 },
+ { 0x422F, 49784 },
+ { 0x4230, 49788 },
+ { 0x4231, 49792 },
+ { 0x4232, 49796 },
+ { 0x4233, 49800 },
+ { 0x4234, 49804 },
+ { 0x4235, 49808 },
+ { 0x4236, 49812 },
+ { 0x4237, 49816 },
+ { 0x4238, 49820 },
+ { 0x4239, 49824 },
+ { 0x423A, 49828 },
+ { 0x423B, 49832 },
+ { 0x423C, 49836 },
+ { 0x423D, 49840 },
+ { 0x423F, 49844 },
+ { 0x4240, 49848 },
+ { 0x4242, 49852 },
+ { 0x4243, 49856 },
+ { 0x4247, 49860 },
+ { 0x4248, 49864 },
+ { 0x4249, 49868 },
+ { 0x424A, 49872 },
+ { 0x424B, 49876 },
+ { 0x4337, 49880 },
+ { 0x4338, 49885 },
+ { 0x4339, 49890 },
+ { 0x433A, 49895 },
+ { 0x4207, 49900 },
+ { 0x4208, 49904 },
+ { 0x420A, 49908 },
+ { 0x420B, 49912 },
+ { 0x420D, 49916 },
+ { 0x4244, 49920 },
+ { 0x4245, 49924 },
+ { 0x423E, 49928 },
+ { 0x4297, 49932 },
+ { 0x4298, 49936 },
+ { 0x4299, 49940 },
+ { 0x429A, 49944 },
+ { 0x429B, 49948 },
+ { 0x429C, 49952 },
+ { 0x429D, 49956 },
+ { 0x429E, 49960 },
+ { 0x429F, 49964 },
+ { 0x42A0, 49968 },
+ { 0x42A1, 49972 },
+ { 0x42A2, 49976 },
+ { 0x42A3, 49980 },
+ { 0x42A4, 49984 },
+ { 0x42A5, 49988 },
+ { 0x42A6, 49992 },
+ { 0x42A7, 49996 },
+ { 0x42A8, 50000 },
+ { 0x42A9, 50004 },
+ { 0x3E83, 50008 },
+ { 0x3E84, 50012 },
+ { 0x3E85, 50016 },
+ { 0x3E86, 50020 },
+ { 0x3E87, 50024 },
+ { 0x3E88, 50028 },
+ { 0x3E89, 50032 },
+ { 0x3E8A, 50036 },
+ { 0x3E8B, 50040 },
+ { 0x3E8C, 50044 },
+ { 0x3E8D, 50048 },
+ { 0x3E8E, 50052 },
+ { 0x3E8F, 50056 },
+ { 0x3E90, 50060 },
+ { 0x3E91, 50064 },
+ { 0x3E92, 50069 },
+ { 0x3E93, 50074 },
+ { 0x3E94, 50079 },
+ { 0x3E9F, 50084 },
+ { 0x3EA0, 50089 },
+ { 0x3EA1, 50094 },
+ { 0x3EA2, 50099 },
+ { 0x3EA3, 50104 },
+ { 0x3EA6, 50109 },
+ { 0x3EA7, 50114 },
+ { 0x3EA8, 50119 },
+ { 0x3EAB, 50123 },
+ { 0x3EAC, 50128 },
+ { 0x3EAD, 50133 },
+ { 0x3EAE, 50137 },
+ { 0x3EAF, 50142 },
+ { 0x3EB0, 50146 },
+ { 0x3EB1, 50150 },
+ { 0x3EB2, 50155 },
+ { 0x3EB3, 50159 },
+ { 0x3EB4, 50163 },
+ { 0x3EB6, 50167 },
+ { 0x3EB7, 50171 },
+ { 0x3EB8, 50175 },
+ { 0x3EB9, 50180 },
+ { 0x3EBA, 50184 },
+ { 0x3EBB, 50188 },
+ { 0x3EBC, 50193 },
+ { 0x3EBD, 50198 },
+ { 0x3EBE, 50202 },
+ { 0x3EBF, 50206 },
+ { 0x3EC0, 50210 },
+ { 0x3EC1, 50214 },
+ { 0x3EC2, 50218 },
+ { 0x3EC3, 50222 },
+ { 0x3EC4, 50226 },
+ { 0x3EC5, 50230 },
+ { 0x3EC6, 50234 },
+ { 0x3EC7, 50239 },
+ { 0x3EC8, 50243 },
+ { 0x3EC9, 50248 },
+ { 0x3ECA, 50252 },
+ { 0x3ECB, 50256 },
+ { 0x3ECC, 50260 },
+ { 0x3ECD, 50264 },
+ { 0x3ECE, 50268 },
+ { 0x3ECF, 50272 },
+ { 0x3ED0, 50276 },
+ { 0x3ED1, 50280 },
+ { 0x3ED2, 50284 },
+ { 0x3ED3, 50288 },
+ { 0x3ED4, 50292 },
+ { 0x3ED5, 50297 },
+ { 0x3ED6, 50302 },
+ { 0x3ED7, 50307 },
+ { 0x3ED8, 50312 },
+ { 0x3ED9, 50317 },
+ { 0x3EDA, 50321 },
+ { 0x3EDB, 50326 },
+ { 0x3EDC, 50330 },
+ { 0x3EDD, 50334 },
+ { 0x3EDE, 50340 },
+ { 0x3EDF, 50345 },
+ { 0x3EE0, 50351 },
+ { 0x3EE1, 50356 },
+ { 0x3EE2, 50360 },
+ { 0x3EE4, 50364 },
+ { 0x3EE5, 50368 },
+ { 0x3EE6, 50372 },
+ { 0x3EE7, 50376 },
+ { 0x3EE8, 50380 },
+ { 0x3EE9, 50384 },
+ { 0x3EEA, 50389 },
+ { 0x3EEB, 50393 },
+ { 0x3EEC, 50397 },
+ { 0x3EED, 50401 },
+ { 0x3EEE, 50405 },
+ { 0x3E95, 50409 },
+ { 0x3E96, 50414 },
+ { 0x3E97, 50419 },
+ { 0x3E98, 50424 },
+ { 0x3E99, 50429 },
+ { 0x3E9A, 50434 },
+ { 0x3E9B, 50439 },
+ { 0x3E9C, 50444 },
+ { 0x3E9D, 50449 },
+ { 0x3E9E, 50454 },
+ { 0x3EEF, 50459 },
+ { 0x3EF0, 50464 },
+ { 0x3EF1, 50469 },
+ { 0x3EF2, 50474 },
+ { 0x3EF3, 50479 },
+ { 0x3EF4, 50484 },
+ { 0x3EF5, 50489 },
+ { 0x3EF6, 50494 },
+ { 0x3EF7, 50499 },
+ { 0x3EF8, 50504 },
+ { 0x3EF9, 50509 },
+ { 0x3EFA, 50514 },
+ { 0x3EFB, 50519 },
+ { 0x3EFC, 50524 },
+ { 0x3EFD, 50529 },
+ { 0x3EFE, 50534 },
+ { 0x3EFF, 50539 },
+ { 0x3F00, 50544 },
+ { 0x3F01, 50549 },
+ { 0x3F02, 50554 },
+ { 0x3F03, 50559 },
+ { 0x3F04, 50564 },
+ { 0x3F05, 50569 },
+ { 0x3F06, 50574 },
+ { 0x3F07, 50579 },
+ { 0x3F08, 50584 },
+ { 0x3F09, 50589 },
+ { 0x3F0A, 50594 },
+ { 0x3F0B, 50599 },
+ { 0x3EA4, 50604 },
+ { 0x3EA5, 50609 },
+ { 0x3EA9, 50614 },
+ { 0x3EAA, 50619 },
+ { 0x3EB5, 50624 },
+ { 0x3EE3, 50629 },
+ { 0x3E3E, 50634 },
+ { 0x3E62, 50639 },
+ { 0x3E56, 50644 },
+ { 0x3E6A, 50649 },
+ { 0x3E6C, 50654 },
+ { 0x3E51, 50659 },
+ { 0x3E40, 50664 },
+ { 0x3E39, 50669 },
+ { 0x3E65, 50674 },
+ { 0x3E3D, 50679 },
+ { 0x3E59, 50684 },
+ { 0x3E67, 50689 },
+ { 0x3E4D, 50694 },
+ { 0x3E41, 50699 },
+ { 0x3E4F, 50704 },
+ { 0x3E5B, 50709 },
+ { 0x3E72, 50714 },
+ { 0x3E74, 50719 },
+ { 0x3E5D, 50724 },
+ { 0x3E50, 50729 },
+ { 0x3E52, 50734 },
+ { 0x3E75, 50739 },
+ { 0x3E63, 50744 },
+ { 0x3E60, 50749 },
+ { 0x3E3B, 50754 },
+ { 0x3E7B, 50759 },
+ { 0x3E53, 50764 },
+ { 0x3E64, 50769 },
+ { 0x3E5E, 50774 },
+ { 0x3E7E, 50779 },
+ { 0x3E45, 50784 },
+ { 0x3E6B, 50789 },
+ { 0x3E3A, 50794 },
+ { 0x3E58, 50799 },
+ { 0x3E70, 50804 },
+ { 0x3E66, 50809 },
+ { 0x3E71, 50814 },
+ { 0x3E76, 50819 },
+ { 0x3E48, 50824 },
+ { 0x3E3F, 50829 },
+ { 0x3E44, 50834 },
+ { 0x3E7A, 50839 },
+ { 0x3E5A, 50844 },
+ { 0x3E42, 50849 },
+ { 0x3E54, 50854 },
+ { 0x3E61, 50859 },
+ { 0x3E6E, 50864 },
+ { 0x3E55, 50869 },
+ { 0x3E43, 50874 },
+ { 0x3E68, 50879 },
+ { 0x3E69, 50884 },
+ { 0x3E5F, 50889 },
+ { 0x3E3C, 50894 },
+ { 0x3E7C, 50899 },
+ { 0x3E46, 50904 },
+ { 0x3E80, 50909 },
+ { 0x3E49, 50914 },
+ { 0x3E7F, 50919 },
+ { 0x3E6D, 50924 },
+ { 0x3E4A, 50929 },
+ { 0x3E78, 50934 },
+ { 0x3E57, 50939 },
+ { 0x3E4E, 50944 },
+ { 0x3E73, 50949 },
+ { 0x3E6F, 50954 },
+ { 0x3E7D, 50959 },
+ { 0x3E47, 50964 },
+ { 0x3E5C, 50969 },
+ { 0x3E4C, 50974 },
+ { 0x3E4B, 50979 },
+ { 0x3E77, 50984 },
+ { 0x3E81, 50989 },
+ { 0x3E79, 50994 },
+ { 0x3E82, 50999 },
+ { 0x69AC, 51004 },
+ { 0x6A51, 51006 },
+ { 0x3FCD, 51009 },
+ { 0x3FCF, 51012 },
+ { 0x3FD2, 51015 },
+ { 0x3FCE, 51018 },
+ { 0x3FD1, 51021 },
+ { 0x3FE8, 51024 },
+ { 0x3FD3, 51027 },
+ { 0x3FD7, 51030 },
+ { 0x3FD8, 51033 },
+ { 0x3FDA, 51036 },
+ { 0x3FDB, 51039 },
+ { 0x3FDC, 51042 },
+ { 0x3FE0, 51045 },
+ { 0x3FD9, 51048 },
+ { 0x3FE2, 51051 },
+ { 0x3FE3, 51054 },
+ { 0x3FE4, 51057 },
+ { 0x3FDF, 51060 },
+ { 0x3FD4, 51063 },
+ { 0x3FE9, 51066 },
+ { 0x3FD5, 51069 },
+ { 0x3FE6, 51072 },
+ { 0x3FD0, 51075 },
+ { 0x3FE7, 51078 },
+ { 0x3FE1, 51081 },
+ { 0x3FDD, 51084 },
+ { 0x3FDE, 51087 },
+ { 0x3FD6, 51090 },
+ { 0x3FE5, 51093 },
+ { 0x4421, 51096 },
+ { 0x4422, 51099 },
+ { 0x443A, 51102 },
+ { 0x4424, 51105 },
+ { 0x4425, 51108 },
+ { 0x4432, 51111 },
+ { 0x4423, 51114 },
+ { 0x4427, 51117 },
+ { 0x4429, 51120 },
+ { 0x442A, 51123 },
+ { 0x442B, 51126 },
+ { 0x442C, 51129 },
+ { 0x442D, 51132 },
+ { 0x4433, 51135 },
+ { 0x442E, 51138 },
+ { 0x4434, 51141 },
+ { 0x4430, 51144 },
+ { 0x4431, 51147 },
+ { 0x4426, 51150 },
+ { 0x4428, 51153 },
+ { 0x4436, 51156 },
+ { 0x4437, 51159 },
+ { 0x4438, 51162 },
+ { 0x4439, 51165 },
+ { 0x442F, 51168 },
+ { 0x4435, 51171 },
+ { 0x443B, 51174 },
+ { 0x006E, 51177 },
+ { 0x6BB0, 51178 },
+ { 0x6BC5, 51182 },
+ { 0x6B7F, 51187 },
+ { 0x6BAA, 51191 },
+ { 0x6BBF, 51195 },
+ { 0x6BC1, 51200 },
+ { 0x229A, 51205 },
+ { 0x228E, 51210 },
+ { 0x21D1, 51214 },
+ { 0x6BB6, 51217 },
+ { 0x6BC8, 51221 },
+ { 0x6B9D, 51226 },
+ { 0x229B, 51229 },
+ { 0x228F, 51234 },
+ { 0x20B8, 51238 },
+ { 0x21D2, 51240 },
+ { 0x6BBB, 51244 },
+ { 0x6BBD, 51249 },
+ { 0x21D0, 51254 },
+ { 0x6B89, 51257 },
+ { 0x6BA4, 51260 },
+ { 0x227F, 51262 },
+ { 0x2290, 51265 },
+ { 0x2291, 51270 },
+ { 0x1BE3, 51275 },
+ { 0x2292, 51278 },
+ { 0x2293, 51283 },
+ { 0x397C, 51288 },
+ { 0x38A5, 51292 },
+ { 0x397D, 51295 },
+ { 0x38A7, 51299 },
+ { 0x38A4, 51304 },
+ { 0x397F, 51308 },
+ { 0x3984, 51312 },
+ { 0x3980, 51316 },
+ { 0x3983, 51320 },
+ { 0x3982, 51324 },
+ { 0x3987, 51328 },
+ { 0x397E, 51332 },
+ { 0x3986, 51336 },
+ { 0x3985, 51340 },
+ { 0x3981, 51344 },
+ { 0x38A1, 51348 },
+ { 0x389E, 51353 },
+ { 0x389F, 51358 },
+ { 0x38A0, 51363 },
+ { 0x38A2, 51368 },
+ { 0x3975, 51373 },
+ { 0x3974, 51378 },
+ { 0x397A, 51383 },
+ { 0x3973, 51388 },
+ { 0x3978, 51393 },
+ { 0x3976, 51398 },
+ { 0x3977, 51403 },
+ { 0x3979, 51408 },
+ { 0x38A8, 51413 },
+ { 0x3893, 51418 },
+ { 0x395F, 51422 },
+ { 0x3972, 51426 },
+ { 0x3894, 51431 },
+ { 0x3965, 51435 },
+ { 0x3955, 51439 },
+ { 0x396F, 51443 },
+ { 0x3954, 51448 },
+ { 0x396E, 51452 },
+ { 0x395E, 51457 },
+ { 0x3895, 51461 },
+ { 0x3899, 51465 },
+ { 0x3967, 51469 },
+ { 0x3962, 51473 },
+ { 0x395D, 51477 },
+ { 0x3966, 51481 },
+ { 0x3950, 51485 },
+ { 0x396B, 51489 },
+ { 0x3952, 51494 },
+ { 0x396C, 51498 },
+ { 0x3953, 51503 },
+ { 0x396D, 51507 },
+ { 0x389B, 51512 },
+ { 0x3896, 51516 },
+ { 0x3964, 51520 },
+ { 0x3951, 51524 },
+ { 0x389C, 51528 },
+ { 0x389D, 51532 },
+ { 0x3957, 51536 },
+ { 0x3970, 51540 },
+ { 0x3897, 51545 },
+ { 0x395B, 51549 },
+ { 0x396A, 51553 },
+ { 0x3956, 51557 },
+ { 0x389A, 51561 },
+ { 0x3969, 51565 },
+ { 0x3968, 51569 },
+ { 0x3963, 51573 },
+ { 0x3958, 51577 },
+ { 0x3959, 51581 },
+ { 0x3971, 51585 },
+ { 0x3960, 51590 },
+ { 0x395A, 51594 },
+ { 0x3898, 51598 },
+ { 0x395C, 51602 },
+ { 0x3961, 51606 },
+ { 0x38A9, 51610 },
+ { 0x38A3, 51613 },
+ { 0x397B, 51616 },
+ { 0x38A6, 51619 },
+ { 0x0076, 51624 },
+ { 0x6917, 51626 },
+ { 0x691A, 51628 },
+ { 0x6918, 51631 },
+ { 0x1E00, 51638 },
+ { 0x2530, 51639 },
+ { 0x6838, 51642 },
+ { 0x685B, 51643 },
+ { 0x6972, 51645 },
+ { 0x1BB3, 51646 },
+ { 0x21D8, 51649 },
+ { 0x1C38, 51650 },
+ { 0x1E0B, 51653 },
+ { 0x1E0D, 51656 },
+ { 0x1FB7, 51662 },
+ { 0x0003, 51666 },
+ { 0x1FB8, 51668 },
+ { 0x1FB9, 51672 },
+ { 0x1FC1, 51676 },
+ { 0x1FBC, 51680 },
+ { 0x1FBD, 51684 },
+ { 0x1FBF, 51688 },
+ { 0x1FBB, 51692 },
+ { 0x1FC0, 51696 },
+ { 0x1FBA, 51700 },
+ { 0x1FBE, 51704 },
+ { 0x1C73, 51708 },
+ { 0x3E37, 51710 },
+ { 0x6808, 51713 },
+ { 0x029A, 51715 },
+ { 0x1E7E, 51716 },
+ { 0x68FF, 51718 },
+ { 0x3BEC, 51720 },
+ { 0x3BED, 51723 },
+ { 0x690A, 51726 },
+ { 0x59CB, 51728 },
+ { 0x59C9, 51733 },
+ { 0x59C2, 51738 },
+ { 0x59CE, 51743 },
+ { 0x59BF, 51748 },
+ { 0x59CA, 51753 },
+ { 0x59CF, 51758 },
+ { 0x59CC, 51763 },
+ { 0x59C3, 51768 },
+ { 0x59C8, 51773 },
+ { 0x59C0, 51778 },
+ { 0x59C4, 51783 },
+ { 0x59C7, 51788 },
+ { 0x59C5, 51793 },
+ { 0x59C6, 51798 },
+ { 0x59CD, 51803 },
+ { 0x59BE, 51808 },
+ { 0x59C1, 51813 },
+ { 0x59BD, 51818 },
+ { 0x5982, 51823 },
+ { 0x5986, 51828 },
+ { 0x5983, 51833 },
+ { 0x5981, 51838 },
+ { 0x5984, 51843 },
+ { 0x5985, 51848 },
+ { 0x5987, 51853 },
+ { 0x59B1, 51858 },
+ { 0x5994, 51862 },
+ { 0x59BB, 51867 },
+ { 0x59B8, 51873 },
+ { 0x59B7, 51879 },
+ { 0x59BC, 51887 },
+ { 0x5996, 51893 },
+ { 0x59B9, 51899 },
+ { 0x59BA, 51904 },
+ { 0x598A, 51910 },
+ { 0x59AA, 51915 },
+ { 0x59B5, 51919 },
+ { 0x59B6, 51923 },
+ { 0x59B4, 51927 },
+ { 0x59A8, 51931 },
+ { 0x598C, 51936 },
+ { 0x5993, 51941 },
+ { 0x5991, 51946 },
+ { 0x5988, 51951 },
+ { 0x598B, 51956 },
+ { 0x5989, 51961 },
+ { 0x59AC, 51967 },
+ { 0x59AD, 51972 },
+ { 0x5992, 51976 },
+ { 0x59B3, 51981 },
+ { 0x59AE, 51986 },
+ { 0x59B0, 51990 },
+ { 0x5995, 51994 },
+ { 0x59AF, 51998 },
+ { 0x59A9, 52002 },
+ { 0x598E, 52006 },
+ { 0x598F, 52011 },
+ { 0x5990, 52016 },
+ { 0x598D, 52021 },
+ { 0x59B2, 52026 },
+ { 0x59AB, 52031 },
+ { 0x5998, 52036 },
+ { 0x599D, 52040 },
+ { 0x5999, 52044 },
+ { 0x599C, 52048 },
+ { 0x599B, 52052 },
+ { 0x59A0, 52056 },
+ { 0x5997, 52060 },
+ { 0x599F, 52064 },
+ { 0x599E, 52068 },
+ { 0x599A, 52072 },
+ { 0x5967, 52076 },
+ { 0x5968, 52080 },
+ { 0x5959, 52084 },
+ { 0x595A, 52088 },
+ { 0x5953, 52092 },
+ { 0x5954, 52096 },
+ { 0x5963, 52100 },
+ { 0x5964, 52104 },
+ { 0x5957, 52108 },
+ { 0x5958, 52112 },
+ { 0x5969, 52116 },
+ { 0x596A, 52120 },
+ { 0x596B, 52124 },
+ { 0x596C, 52128 },
+ { 0x595B, 52132 },
+ { 0x595C, 52136 },
+ { 0x5955, 52140 },
+ { 0x5956, 52144 },
+ { 0x595F, 52148 },
+ { 0x5960, 52152 },
+ { 0x5951, 52156 },
+ { 0x5952, 52160 },
+ { 0x5965, 52164 },
+ { 0x5966, 52168 },
+ { 0x595D, 52172 },
+ { 0x595E, 52176 },
+ { 0x5961, 52180 },
+ { 0x5962, 52184 },
+ { 0x59A6, 52188 },
+ { 0x59A3, 52193 },
+ { 0x59A1, 52198 },
+ { 0x59A5, 52202 },
+ { 0x59A2, 52207 },
+ { 0x59A4, 52211 },
+ { 0x59A7, 52215 },
+ { 0x597E, 52219 },
+ { 0x5980, 52223 },
+ { 0x5970, 52227 },
+ { 0x596F, 52231 },
+ { 0x5977, 52235 },
+ { 0x597D, 52239 },
+ { 0x5972, 52243 },
+ { 0x596D, 52247 },
+ { 0x597F, 52251 },
+ { 0x5975, 52255 },
+ { 0x5978, 52259 },
+ { 0x5976, 52263 },
+ { 0x597A, 52267 },
+ { 0x5973, 52271 },
+ { 0x5971, 52275 },
+ { 0x5974, 52279 },
+ { 0x5979, 52283 },
+ { 0x597C, 52287 },
+ { 0x596E, 52291 },
+ { 0x597B, 52295 },
+ { 0x21DA, 52299 },
+ { 0x2235, 52300 },
+ { 0x221F, 52301 },
+ { 0x6897, 52304 },
+ { 0x6A73, 52308 },
+ { 0x6A72, 52312 },
+ { 0x6A6B, 52316 },
+ { 0x6A70, 52319 },
+ { 0x6A71, 52325 },
+ { 0x1C24, 52327 },
+ { 0x2179, 52329 },
+ { 0x6951, 52330 },
+ { 0x1C6B, 52331 },
+ { 0x1C6C, 52333 },
+ { 0x69CD, 52338 },
+ { 0x6AB7, 52340 },
+ { 0x6ACC, 52342 },
+ { 0x6894, 52346 },
+ { 0x684F, 52348 },
+ { 0x6915, 52349 },
+ { 0x2A69, 52351 },
+ { 0x2A77, 52353 },
+ { 0x6925, 52356 },
+ { 0x6908, 52358 },
+ { 0x68C2, 52361 },
+ { 0x682D, 52363 },
+ { 0x6856, 52364 },
+ { 0x67F4, 52366 },
+ { 0x67F3, 52368 },
+ { 0x66A6, 52370 },
+ { 0x66A7, 52373 },
+ { 0x28F2, 52376 },
+ { 0x2230, 52378 },
+ { 0x2231, 52380 },
+ { 0x69BB, 52382 },
+ { 0x69B5, 52391 },
+ { 0x28F3, 52396 },
+ { 0x28C6, 52398 },
+ { 0x28CA, 52402 },
+ { 0x28C5, 52404 },
+ { 0x3735, 52407 },
+ { 0x3733, 52411 },
+ { 0x3737, 52415 },
+ { 0x3734, 52419 },
+ { 0x3736, 52423 },
+ { 0x3738, 52427 },
+ { 0x373A, 52431 },
+ { 0x3739, 52435 },
+ { 0x3732, 52439 },
+ { 0x3723, 52442 },
+ { 0x3725, 52445 },
+ { 0x3720, 52448 },
+ { 0x371D, 52451 },
+ { 0x372D, 52454 },
+ { 0x3726, 52457 },
+ { 0x371C, 52460 },
+ { 0x372A, 52463 },
+ { 0x3724, 52466 },
+ { 0x3721, 52469 },
+ { 0x3722, 52472 },
+ { 0x3729, 52475 },
+ { 0x3728, 52478 },
+ { 0x371F, 52481 },
+ { 0x372C, 52484 },
+ { 0x372B, 52487 },
+ { 0x372E, 52490 },
+ { 0x3730, 52493 },
+ { 0x371E, 52496 },
+ { 0x3727, 52499 },
+ { 0x372F, 52502 },
+ { 0x3731, 52505 },
+ { 0x373F, 52508 },
+ { 0x3740, 52510 },
+ { 0x373E, 52513 },
+ { 0x373C, 52517 },
+ { 0x373D, 52521 },
+ { 0x373B, 52525 },
+ { 0x26B4, 52529 },
+ { 0x26B5, 52531 },
+ { 0x1F27, 52533 },
+ { 0x67A6, 52535 },
+ { 0x26D4, 52536 },
+ { 0x26D5, 52540 },
+ { 0x26D2, 52544 },
+ { 0x26D3, 52548 },
+ { 0x26D6, 52552 },
+ { 0x26D8, 52556 },
+ { 0x26D7, 52560 },
+ { 0x26D9, 52564 },
+ { 0x2456, 52568 },
+ { 0x2451, 52574 },
+ { 0x6AA4, 52579 },
+ { 0x67C8, 52580 },
+ { 0x67E9, 52582 },
+ { 0x216A, 52583 },
+ { 0x21BC, 52584 },
+ { 0x6811, 52585 },
+ { 0x67B8, 52586 },
+ { 0x69D9, 52588 },
+ { 0x1C8C, 52589 },
+ { 0x1C67, 52592 },
+ { 0x1C70, 52595 },
+ { 0x1C91, 52598 },
+ { 0x1C89, 52601 },
+ { 0x1C8D, 52604 },
+ { 0x1C8E, 52607 },
+ { 0x1C68, 52610 },
+ { 0x1C6D, 52613 },
+ { 0x1C6F, 52616 },
+ { 0x1C90, 52619 },
+ { 0x1C75, 52622 },
+ { 0x1C78, 52625 },
+ { 0x6A94, 52628 },
+ { 0x6902, 52632 },
+ { 0x1E6D, 52633 },
+ { 0x3CA1, 52634 },
+ { 0x678D, 52636 },
+ { 0x6AF6, 52638 },
+ { 0x220F, 52639 },
+ { 0x6AE3, 52641 },
+ { 0x1B9E, 52642 },
+ { 0x1BBD, 52646 },
+ { 0x1BBE, 52651 },
+ { 0x1B9F, 52656 },
+ { 0x6A4E, 52660 },
+ { 0x699B, 52662 },
+ { 0x21E3, 52665 },
+ { 0x68D2, 52667 },
+ { 0x699D, 52669 },
+ { 0x699E, 52670 },
+ { 0x69F6, 52672 },
+ { 0x6840, 52675 },
+ { 0x69F7, 52677 },
+ { 0x67EB, 52680 },
+ { 0x2E17, 52682 },
+ { 0x2DFE, 52686 },
+ { 0x2DF8, 52690 },
+ { 0x2DF9, 52693 },
+ { 0x2DDF, 52696 },
+ { 0x2DE0, 52700 },
+ { 0x2DDD, 52705 },
+ { 0x2DD9, 52708 },
+ { 0x2E16, 52711 },
+ { 0x2DFA, 52715 },
+ { 0x2DAB, 52717 },
+ { 0x2DFB, 52719 },
+ { 0x2DFC, 52721 },
+ { 0x2DFD, 52723 },
+ { 0x2DD5, 52725 },
+ { 0x2DDC, 52727 },
+ { 0x2DD8, 52730 },
+ { 0x2DFF, 52733 },
+ { 0x2DAA, 52735 },
+ { 0x2E00, 52737 },
+ { 0x66C8, 52739 },
+ { 0x2DCF, 52741 },
+ { 0x2DAF, 52743 },
+ { 0x2DB1, 52745 },
+ { 0x2DB0, 52748 },
+ { 0x2D07, 52751 },
+ { 0x2DD1, 52753 },
+ { 0x2DBF, 52755 },
+ { 0x2E01, 52757 },
+ { 0x2E02, 52759 },
+ { 0x2D05, 52761 },
+ { 0x2E03, 52763 },
+ { 0x2DC8, 52765 },
+ { 0x2E04, 52767 },
+ { 0x2DB2, 52769 },
+ { 0x2DBC, 52771 },
+ { 0x2DBD, 52773 },
+ { 0x2DC7, 52775 },
+ { 0x2E05, 52777 },
+ { 0x2DD0, 52779 },
+ { 0x2DD6, 52781 },
+ { 0x2DDE, 52783 },
+ { 0x2E06, 52786 },
+ { 0x2DDA, 52789 },
+ { 0x2E07, 52792 },
+ { 0x2DF0, 52794 },
+ { 0x2DF6, 52796 },
+ { 0x2E08, 52798 },
+ { 0x2E09, 52800 },
+ { 0x2E0B, 52802 },
+ { 0x2DBB, 52804 },
+ { 0x2DBE, 52806 },
+ { 0x2E0C, 52808 },
+ { 0x2DC6, 52811 },
+ { 0x2DCE, 52813 },
+ { 0x2DD4, 52815 },
+ { 0x2DDB, 52817 },
+ { 0x2DD7, 52820 },
+ { 0x2DEB, 52823 },
+ { 0x2DBA, 52825 },
+ { 0x2DC4, 52828 },
+ { 0x2DC5, 52831 },
+ { 0x2DCD, 52834 },
+ { 0x2DD3, 52837 },
+ { 0x2DEA, 52840 },
+ { 0x2DEE, 52843 },
+ { 0x2DF4, 52846 },
+ { 0x2DEF, 52849 },
+ { 0x2DF1, 52851 },
+ { 0x2DF5, 52854 },
+ { 0x2DF7, 52856 },
+ { 0x2DB9, 52859 },
+ { 0x2DC3, 52861 },
+ { 0x2DD2, 52863 },
+ { 0x2DE9, 52865 },
+ { 0x2DED, 52867 },
+ { 0x2DF3, 52869 },
+ { 0x2DAD, 52871 },
+ { 0x2DE1, 52873 },
+ { 0x2DB8, 52875 },
+ { 0x2DAE, 52878 },
+ { 0x2DC2, 52880 },
+ { 0x2E0F, 52882 },
+ { 0x2E10, 52884 },
+ { 0x2E12, 52886 },
+ { 0x2DE8, 52888 },
+ { 0x2DEC, 52890 },
+ { 0x2DF2, 52892 },
+ { 0x2E13, 52894 },
+ { 0x2E14, 52896 },
+ { 0x2E15, 52898 },
+ { 0x2DAC, 52900 },
+ { 0x2DC0, 52902 },
+ { 0x1DEC, 52904 },
+ { 0x1DED, 52906 },
+ { 0x2DB6, 52908 },
+ { 0x2DB3, 52912 },
+ { 0x2DB4, 52916 },
+ { 0x2DB5, 52920 },
+ { 0x2D06, 52924 },
+ { 0x2E37, 52926 },
+ { 0x2DCB, 52928 },
+ { 0x2DE4, 52930 },
+ { 0x2D77, 52932 },
+ { 0x2DA9, 52934 },
+ { 0x2DC9, 52936 },
+ { 0x2DE2, 52938 },
+ { 0x2E0A, 52940 },
+ { 0x2DCA, 52942 },
+ { 0x2E0D, 52944 },
+ { 0x2E0E, 52946 },
+ { 0x2DE3, 52948 },
+ { 0x2E11, 52950 },
+ { 0x2DE5, 52952 },
+ { 0x2DE6, 52954 },
+ { 0x2DE7, 52958 },
+ { 0x2DCC, 52963 },
+ { 0x2D5F, 52965 },
+ { 0x2D3E, 52967 },
+ { 0x2D3B, 52969 },
+ { 0x2D69, 52971 },
+ { 0x2D5D, 52973 },
+ { 0x2D5E, 52975 },
+ { 0x1F26, 52977 },
+ { 0x221C, 52979 },
+ { 0x2D48, 52982 },
+ { 0x2D7A, 52984 },
+ { 0x2D3D, 52986 },
+ { 0x2DC1, 52988 },
+ { 0x2D4C, 52990 },
+ { 0x25F3, 52992 },
+ { 0x2D83, 52997 },
+ { 0x2D81, 52999 },
+ { 0x2D60, 53001 },
+ { 0x2D41, 53003 },
+ { 0x2D42, 53005 },
+ { 0x2D6F, 53007 },
+ { 0x2D68, 53009 },
+ { 0x2D8D, 53011 },
+ { 0x2D8A, 53013 },
+ { 0x1D73, 53015 },
+ { 0x2638, 53017 },
+ { 0x210D, 53022 },
+ { 0x263B, 53027 },
+ { 0x2110, 53034 },
+ { 0x210E, 53041 },
+ { 0x20CD, 53046 },
+ { 0x210F, 53054 },
+ { 0x20CE, 53061 },
+ { 0x263A, 53069 },
+ { 0x2639, 53076 },
+ { 0x20CF, 53081 },
+ { 0x20CB, 53086 },
+ { 0x2506, 53090 },
+ { 0x20CA, 53094 },
+ { 0x20CC, 53098 },
+ { 0x2D88, 53103 },
+ { 0x2D3A, 53105 },
+ { 0x2D74, 53107 },
+ { 0x2D5C, 53109 },
+ { 0x2D40, 53111 },
+ { 0x2D47, 53113 },
+ { 0x2D46, 53115 },
+ { 0x2D49, 53117 },
+ { 0x2D62, 53119 },
+ { 0x2D79, 53121 },
+ { 0x2D6D, 53123 },
+ { 0x1DE8, 53125 },
+ { 0x1E3D, 53128 },
+ { 0x1DEA, 53135 },
+ { 0x2D43, 53141 },
+ { 0x2D54, 53143 },
+ { 0x2D56, 53145 },
+ { 0x2D7D, 53147 },
+ { 0x2D7C, 53149 },
+ { 0x2D61, 53151 },
+ { 0x2D64, 53153 },
+ { 0x2D73, 53155 },
+ { 0x2D72, 53157 },
+ { 0x2D78, 53159 },
+ { 0x25F4, 53161 },
+ { 0x2D8B, 53166 },
+ { 0x2D5A, 53168 },
+ { 0x2D5B, 53170 },
+ { 0x2D8F, 53172 },
+ { 0x2D86, 53174 },
+ { 0x2D87, 53176 },
+ { 0x2D38, 53178 },
+ { 0x2D39, 53180 },
+ { 0x2D76, 53182 },
+ { 0x2D50, 53184 },
+ { 0x2D71, 53186 },
+ { 0x2D6B, 53188 },
+ { 0x2D3C, 53190 },
+ { 0x2D55, 53192 },
+ { 0x2D4A, 53194 },
+ { 0x2D7E, 53196 },
+ { 0x2D70, 53198 },
+ { 0x2D67, 53200 },
+ { 0x2D75, 53202 },
+ { 0x6B90, 53204 },
+ { 0x2D65, 53206 },
+ { 0x2D4B, 53208 },
+ { 0x2D44, 53210 },
+ { 0x2D45, 53212 },
+ { 0x2D53, 53214 },
+ { 0x1E6A, 53216 },
+ { 0x2D7B, 53218 },
+ { 0x2D7F, 53220 },
+ { 0x2D85, 53222 },
+ { 0x2D84, 53224 },
+ { 0x2D80, 53226 },
+ { 0x2D89, 53228 },
+ { 0x2D8C, 53230 },
+ { 0x2D57, 53232 },
+ { 0x2D59, 53234 },
+ { 0x2D6C, 53236 },
+ { 0x2D3F, 53238 },
+ { 0x66ED, 53240 },
+ { 0x2D6A, 53243 },
+ { 0x1DE9, 53245 },
+ { 0x1E3E, 53248 },
+ { 0x1DEB, 53255 },
+ { 0x2D63, 53261 },
+ { 0x26EE, 53263 },
+ { 0x2D8E, 53266 },
+ { 0x2D58, 53268 },
+ { 0x2D51, 53270 },
+ { 0x2D6E, 53272 },
+ { 0x2D4F, 53274 },
+ { 0x2D52, 53276 },
+ { 0x2D82, 53278 },
+ { 0x2D66, 53280 },
+ { 0x2D4D, 53282 },
+ { 0x2DB7, 53284 },
+ { 0x2D4E, 53286 },
+ { 0x6A21, 53288 },
+ { 0x224F, 53291 },
+ { 0x67BF, 53295 },
+ { 0x1DDB, 53297 },
+ { 0x1DDF, 53299 },
+ { 0x25E9, 53304 },
+ { 0x1DE3, 53312 },
+ { 0x25F1, 53318 },
+ { 0x25ED, 53324 },
+ { 0x25EF, 53329 },
+ { 0x25EB, 53335 },
+ { 0x25E3, 53340 },
+ { 0x25E5, 53343 },
+ { 0x25E7, 53348 },
+ { 0x25FB, 53353 },
+ { 0x25F9, 53356 },
+ { 0x249F, 53359 },
+ { 0x672D, 53363 },
+ { 0x67EA, 53366 },
+ { 0x3615, 53367 },
+ { 0x361A, 53371 },
+ { 0x3611, 53375 },
+ { 0x3632, 53379 },
+ { 0x3635, 53384 },
+ { 0x3633, 53389 },
+ { 0x3634, 53394 },
+ { 0x3636, 53399 },
+ { 0x360F, 53404 },
+ { 0x3613, 53408 },
+ { 0x3610, 53412 },
+ { 0x3614, 53416 },
+ { 0x3612, 53420 },
+ { 0x362A, 53424 },
+ { 0x361B, 53428 },
+ { 0x3625, 53432 },
+ { 0x3618, 53436 },
+ { 0x3631, 53440 },
+ { 0x361D, 53444 },
+ { 0x3616, 53448 },
+ { 0x362E, 53452 },
+ { 0x362C, 53456 },
+ { 0x3627, 53460 },
+ { 0x3628, 53464 },
+ { 0x362D, 53468 },
+ { 0x3630, 53472 },
+ { 0x3623, 53476 },
+ { 0x362B, 53480 },
+ { 0x361C, 53484 },
+ { 0x3621, 53488 },
+ { 0x3626, 53492 },
+ { 0x3619, 53496 },
+ { 0x361E, 53500 },
+ { 0x3617, 53504 },
+ { 0x3629, 53508 },
+ { 0x362F, 53512 },
+ { 0x3624, 53516 },
+ { 0x361F, 53520 },
+ { 0x3622, 53524 },
+ { 0x3620, 53528 },
+ { 0x3637, 53532 },
+ { 0x3638, 53536 },
+ { 0x3639, 53540 },
+ { 0x363A, 53544 },
+ { 0x1F57, 53548 },
+ { 0x1F6D, 53553 },
+ { 0x1F58, 53558 },
+ { 0x1F6B, 53563 },
+ { 0x1F5B, 53569 },
+ { 0x1F64, 53572 },
+ { 0x1F70, 53577 },
+ { 0x1F60, 53581 },
+ { 0x1F5E, 53585 },
+ { 0x1F54, 53589 },
+ { 0x1F73, 53592 },
+ { 0x1F71, 53596 },
+ { 0x696B, 53600 },
+ { 0x1F63, 53604 },
+ { 0x1F62, 53608 },
+ { 0x1F74, 53612 },
+ { 0x1F56, 53615 },
+ { 0x1F55, 53620 },
+ { 0x1F6C, 53625 },
+ { 0x1F75, 53628 },
+ { 0x1F79, 53631 },
+ { 0x1F65, 53636 },
+ { 0x1F66, 53641 },
+ { 0x1F68, 53646 },
+ { 0x1F67, 53651 },
+ { 0x1F6F, 53656 },
+ { 0x1F72, 53659 },
+ { 0x1F59, 53663 },
+ { 0x1F78, 53666 },
+ { 0x1F61, 53669 },
+ { 0x1F69, 53673 },
+ { 0x1F5F, 53677 },
+ { 0x1F5C, 53681 },
+ { 0x1CAC, 53684 },
+ { 0x1F5D, 53688 },
+ { 0x1F6E, 53692 },
+ { 0x1F7A, 53695 },
+ { 0x1F5A, 53700 },
+ { 0x1F6A, 53703 },
+ { 0x0695, 53707 },
+ { 0x06D7, 53711 },
+ { 0x06D8, 53716 },
+ { 0x069B, 53721 },
+ { 0x069C, 53725 },
+ { 0x06D1, 53729 },
+ { 0x06D2, 53732 },
+ { 0x06CE, 53735 },
+ { 0x06CF, 53738 },
+ { 0x06DD, 53741 },
+ { 0x06CA, 53743 },
+ { 0x06CB, 53746 },
+ { 0x06D3, 53749 },
+ { 0x06D9, 53751 },
+ { 0x06DA, 53755 },
+ { 0x06CD, 53759 },
+ { 0x06CC, 53763 },
+ { 0x06B9, 53767 },
+ { 0x06AB, 53770 },
+ { 0x06BA, 53773 },
+ { 0x06B5, 53776 },
+ { 0x06B6, 53779 },
+ { 0x06C0, 53782 },
+ { 0x06AC, 53785 },
+ { 0x06A6, 53788 },
+ { 0x06AE, 53791 },
+ { 0x06B3, 53794 },
+ { 0x06BD, 53797 },
+ { 0x06BE, 53800 },
+ { 0x06BF, 53803 },
+ { 0x06AF, 53806 },
+ { 0x06B0, 53809 },
+ { 0x06B1, 53813 },
+ { 0x06B2, 53816 },
+ { 0x06AD, 53820 },
+ { 0x06A4, 53823 },
+ { 0x06B8, 53826 },
+ { 0x06A7, 53830 },
+ { 0x06A8, 53833 },
+ { 0x06BC, 53837 },
+ { 0x06A9, 53840 },
+ { 0x06B4, 53843 },
+ { 0x06AA, 53846 },
+ { 0x06C1, 53851 },
+ { 0x06C2, 53855 },
+ { 0x06C3, 53859 },
+ { 0x06B7, 53863 },
+ { 0x06E1, 53866 },
+ { 0x06E0, 53870 },
+ { 0x06DF, 53874 },
+ { 0x06BB, 53878 },
+ { 0x06A5, 53882 },
+ { 0x06C4, 53886 },
+ { 0x06C5, 53889 },
+ { 0x06C6, 53892 },
+ { 0x06C7, 53895 },
+ { 0x06C8, 53898 },
+ { 0x06C9, 53901 },
+ { 0x06DE, 53904 },
+ { 0x06DB, 53906 },
+ { 0x06DC, 53910 },
+ { 0x06D4, 53914 },
+ { 0x06A0, 53917 },
+ { 0x06A1, 53920 },
+ { 0x06A2, 53923 },
+ { 0x06D6, 53926 },
+ { 0x06D5, 53928 },
+ { 0x0697, 53930 },
+ { 0x0699, 53934 },
+ { 0x069E, 53937 },
+ { 0x069E, 53942 },
+ { 0x069A, 53947 },
+ { 0x069F, 53950 },
+ { 0x06D0, 53952 },
+ { 0x0696, 53955 },
+ { 0x0698, 53959 },
+ { 0x069D, 53962 },
+ { 0x06A3, 53967 },
+ { 0x216F, 53970 },
+ { 0x679B, 53971 },
+ { 0x0A74, 53974 },
+ { 0x0A8D, 53978 },
+ { 0x0A72, 53981 },
+ { 0x0A31, 53984 },
+ { 0x0A30, 53987 },
+ { 0x0A64, 53990 },
+ { 0x0A2E, 53993 },
+ { 0x0A2F, 53998 },
+ { 0x0A7D, 54001 },
+ { 0x0A82, 54004 },
+ { 0x0A7E, 54007 },
+ { 0x0A81, 54010 },
+ { 0x0A80, 54013 },
+ { 0x0A85, 54016 },
+ { 0x0A7C, 54019 },
+ { 0x0A84, 54022 },
+ { 0x0A83, 54025 },
+ { 0x0A7F, 54028 },
+ { 0x0A6C, 54031 },
+ { 0x0A66, 54035 },
+ { 0x0A6F, 54039 },
+ { 0x0A68, 54043 },
+ { 0x0A65, 54047 },
+ { 0x0A6E, 54051 },
+ { 0x0A71, 54055 },
+ { 0x0A6D, 54059 },
+ { 0x0A67, 54063 },
+ { 0x0A70, 54067 },
+ { 0x0A69, 54071 },
+ { 0x0A7A, 54075 },
+ { 0x0A6A, 54080 },
+ { 0x0A7B, 54085 },
+ { 0x0A6B, 54090 },
+ { 0x0A73, 54095 },
+ { 0x0A32, 54098 },
+ { 0x0A3A, 54101 },
+ { 0x0A34, 54104 },
+ { 0x0A3D, 54107 },
+ { 0x0A36, 54110 },
+ { 0x0A33, 54113 },
+ { 0x0A3C, 54116 },
+ { 0x0A3F, 54119 },
+ { 0x0A56, 54122 },
+ { 0x0A45, 54125 },
+ { 0x0A51, 54128 },
+ { 0x0A3B, 54131 },
+ { 0x0A42, 54134 },
+ { 0x0A63, 54137 },
+ { 0x0A35, 54140 },
+ { 0x0A47, 54143 },
+ { 0x0A40, 54146 },
+ { 0x0A5C, 54149 },
+ { 0x0A58, 54152 },
+ { 0x0A53, 54155 },
+ { 0x0A3E, 54158 },
+ { 0x0A54, 54161 },
+ { 0x0A5A, 54164 },
+ { 0x0A62, 54167 },
+ { 0x0A4F, 54170 },
+ { 0x0A37, 54173 },
+ { 0x0A5F, 54176 },
+ { 0x0A59, 54179 },
+ { 0x0A57, 54182 },
+ { 0x0A46, 54185 },
+ { 0x0A4C, 54188 },
+ { 0x0A52, 54191 },
+ { 0x0A76, 54194 },
+ { 0x0A43, 54197 },
+ { 0x0A48, 54200 },
+ { 0x0A41, 54203 },
+ { 0x0A5D, 54206 },
+ { 0x0A44, 54209 },
+ { 0x0A4E, 54212 },
+ { 0x0A49, 54215 },
+ { 0x0A55, 54218 },
+ { 0x0A5B, 54221 },
+ { 0x0A60, 54224 },
+ { 0x0A61, 54227 },
+ { 0x0A50, 54230 },
+ { 0x0A75, 54233 },
+ { 0x0A4A, 54236 },
+ { 0x0A4D, 54239 },
+ { 0x0A5E, 54242 },
+ { 0x0A77, 54245 },
+ { 0x0A4B, 54248 },
+ { 0x0A39, 54251 },
+ { 0x0A38, 54255 },
+ { 0x0A79, 54259 },
+ { 0x0A78, 54263 },
+ { 0x0A87, 54267 },
+ { 0x0A8A, 54276 },
+ { 0x0A88, 54285 },
+ { 0x0A8B, 54294 },
+ { 0x0A86, 54303 },
+ { 0x0A89, 54312 },
+ { 0x0A8C, 54321 },
+ { 0x67E4, 54330 },
+ { 0x0742, 54334 },
+ { 0x0732, 54336 },
+ { 0x0733, 54339 },
+ { 0x0716, 54342 },
+ { 0x0712, 54345 },
+ { 0x0743, 54348 },
+ { 0x0715, 54351 },
+ { 0x0726, 54354 },
+ { 0x072E, 54357 },
+ { 0x0734, 54360 },
+ { 0x072B, 54363 },
+ { 0x072C, 54366 },
+ { 0x071E, 54369 },
+ { 0x072A, 54372 },
+ { 0x0719, 54375 },
+ { 0x071C, 54378 },
+ { 0x0720, 54381 },
+ { 0x0718, 54384 },
+ { 0x071F, 54387 },
+ { 0x071B, 54390 },
+ { 0x0714, 54393 },
+ { 0x0736, 54396 },
+ { 0x0722, 54399 },
+ { 0x071A, 54402 },
+ { 0x0737, 54405 },
+ { 0x0731, 54408 },
+ { 0x071D, 54411 },
+ { 0x0735, 54414 },
+ { 0x0730, 54417 },
+ { 0x072F, 54420 },
+ { 0x072D, 54423 },
+ { 0x0723, 54426 },
+ { 0x0728, 54429 },
+ { 0x0727, 54432 },
+ { 0x0725, 54435 },
+ { 0x0724, 54438 },
+ { 0x0729, 54441 },
+ { 0x0721, 54444 },
+ { 0x0717, 54447 },
+ { 0x0713, 54450 },
+ { 0x0738, 54453 },
+ { 0x073E, 54455 },
+ { 0x073A, 54457 },
+ { 0x0740, 54459 },
+ { 0x073C, 54461 },
+ { 0x0739, 54463 },
+ { 0x073B, 54465 },
+ { 0x073F, 54467 },
+ { 0x0741, 54469 },
+ { 0x073D, 54471 },
+ { 0x6873, 54473 },
+ { 0x6874, 54476 },
+ { 0x67D1, 54479 },
+ { 0x6AE1, 54480 },
+ { 0x676B, 54481 },
+ { 0x686B, 54482 },
+ { 0x2521, 54483 },
+ { 0x261C, 54485 },
+ { 0x1BB8, 54488 },
+ { 0x1DA4, 54490 },
+ { 0x261D, 54492 },
+ { 0x261E, 54495 },
+ { 0x2621, 54498 },
+ { 0x1D86, 54502 },
+ { 0x261B, 54504 },
+ { 0x1E03, 54510 },
+ { 0x261A, 54515 },
+ { 0x24A6, 54520 },
+ { 0x258E, 54524 },
+ { 0x258F, 54531 },
+ { 0x67EC, 54538 },
+ { 0x1C2B, 54539 },
+ { 0x6C6F, 54541 },
+ { 0x69B4, 54542 },
+ { 0x1E72, 54546 },
+ { 0x24C8, 54549 },
+ { 0x21F0, 54551 },
+ { 0x26E1, 54555 },
+ { 0x28F1, 54558 },
+ { 0x1CE7, 54560 },
+ { 0x1CE8, 54563 },
+ { 0x1C86, 54566 },
+ { 0x6A7A, 54571 },
+ { 0x6A78, 54576 },
+ { 0x1CAB, 54581 },
+ { 0x6A7B, 54584 },
+ { 0x6A79, 54589 },
+ { 0x21EF, 54594 },
+ { 0x28F7, 54598 },
+ { 0x1C8F, 54600 },
+ { 0x1CA8, 54603 },
+ { 0x28F4, 54605 },
+ { 0x1C9E, 54607 },
+ { 0x1C9F, 54611 },
+ { 0x1CA1, 54615 },
+ { 0x6848, 54619 },
+ { 0x225F, 54620 },
+ { 0x28F9, 54624 },
+ { 0x216B, 54626 },
+ { 0x2555, 54627 },
+ { 0x67E1, 54631 },
+ { 0x1D89, 54632 },
+ { 0x007C, 54634 },
+ { 0x1CB2, 54638 },
+ { 0x1CAE, 54642 },
+ { 0x1CB6, 54646 },
+ { 0x1CAF, 54650 },
+ { 0x1CB0, 54654 },
+ { 0x1CB8, 54658 },
+ { 0x007B, 54662 },
+ { 0x1CAD, 54666 },
+ { 0x1CB3, 54670 },
+ { 0x1CB1, 54674 },
+ { 0x1CB7, 54678 },
+ { 0x1CBA, 54682 },
+ { 0x1CB5, 54686 },
+ { 0x1CE6, 54690 },
+ { 0x1CBB, 54694 },
+ { 0x1CB4, 54698 },
+ { 0x1CB9, 54702 },
+ { 0x007D, 54706 },
+ { 0x673C, 54710 },
+ { 0x673E, 54714 },
+ { 0x4B47, 54718 },
+ { 0x4B35, 54721 },
+ { 0x4B3A, 54725 },
+ { 0x4B36, 54729 },
+ { 0x4B39, 54733 },
+ { 0x4B38, 54737 },
+ { 0x4B3D, 54741 },
+ { 0x4B34, 54745 },
+ { 0x4B3C, 54749 },
+ { 0x4B3B, 54753 },
+ { 0x4B37, 54757 },
+ { 0x4B15, 54761 },
+ { 0x4B1C, 54766 },
+ { 0x4B1D, 54771 },
+ { 0x4B2A, 54776 },
+ { 0x4B29, 54781 },
+ { 0x4B2B, 54786 },
+ { 0x4B28, 54791 },
+ { 0x4B1F, 54796 },
+ { 0x4B1A, 54801 },
+ { 0x4B20, 54806 },
+ { 0x4B2C, 54811 },
+ { 0x4B23, 54816 },
+ { 0x4B1B, 54821 },
+ { 0x4B16, 54826 },
+ { 0x4B18, 54831 },
+ { 0x4B19, 54836 },
+ { 0x4B17, 54841 },
+ { 0x4B1E, 54846 },
+ { 0x4B24, 54851 },
+ { 0x4B21, 54856 },
+ { 0x4B30, 54861 },
+ { 0x4B25, 54866 },
+ { 0x4B32, 54871 },
+ { 0x4B26, 54876 },
+ { 0x4B22, 54881 },
+ { 0x4B2D, 54886 },
+ { 0x4B2E, 54891 },
+ { 0x4B2F, 54896 },
+ { 0x4B14, 54901 },
+ { 0x4B27, 54906 },
+ { 0x4B31, 54911 },
+ { 0x4B33, 54916 },
+ { 0x4B3E, 54921 },
+ { 0x4B42, 54925 },
+ { 0x4B41, 54929 },
+ { 0x4B43, 54933 },
+ { 0x4B45, 54937 },
+ { 0x4B46, 54941 },
+ { 0x4B40, 54945 },
+ { 0x4B3F, 54949 },
+ { 0x4B44, 54953 },
+ { 0x4AF5, 54957 },
+ { 0x4AFC, 54962 },
+ { 0x4AFD, 54967 },
+ { 0x4B0A, 54972 },
+ { 0x4B09, 54977 },
+ { 0x4B0B, 54982 },
+ { 0x4B08, 54987 },
+ { 0x4AFF, 54992 },
+ { 0x4AFA, 54997 },
+ { 0x4B00, 55002 },
+ { 0x4B0C, 55007 },
+ { 0x4B03, 55012 },
+ { 0x4AFB, 55017 },
+ { 0x4AF6, 55022 },
+ { 0x4AF8, 55027 },
+ { 0x4AF9, 55032 },
+ { 0x4AF7, 55037 },
+ { 0x4AFE, 55042 },
+ { 0x4B04, 55047 },
+ { 0x4B01, 55052 },
+ { 0x4B10, 55057 },
+ { 0x4B05, 55062 },
+ { 0x4B12, 55067 },
+ { 0x4B06, 55072 },
+ { 0x4B02, 55077 },
+ { 0x4B0D, 55082 },
+ { 0x4B0E, 55087 },
+ { 0x4B0F, 55092 },
+ { 0x4AF4, 55097 },
+ { 0x4B07, 55102 },
+ { 0x4B11, 55107 },
+ { 0x4B13, 55112 },
+ { 0x6871, 55117 },
+ { 0x681A, 55120 },
+ { 0x6819, 55123 },
+ { 0x673A, 55126 },
+ { 0x6738, 55130 },
+ { 0x67F1, 55134 },
+ { 0x28FD, 55136 },
+ { 0x6878, 55139 },
+ { 0x6888, 55141 },
+ { 0x6887, 55143 },
+ { 0x6880, 55145 },
+ { 0x6ADE, 55147 },
+ { 0x1D99, 55149 },
+ { 0x694D, 55151 },
+ { 0x68C1, 55152 },
+ { 0x3D52, 55154 },
+ { 0x1C5D, 55155 },
+ { 0x05A1, 55157 },
+ { 0x21BD, 55159 },
+ { 0x6820, 55160 },
+ { 0x691C, 55161 },
+ { 0x1C30, 55164 },
+ { 0x456A, 55166 },
+ { 0x4572, 55169 },
+ { 0x4576, 55172 },
+ { 0x4574, 55175 },
+ { 0x4578, 55178 },
+ { 0x456B, 55181 },
+ { 0x4570, 55184 },
+ { 0x456E, 55187 },
+ { 0x456C, 55190 },
+ { 0x458A, 55193 },
+ { 0x4581, 55196 },
+ { 0x4585, 55199 },
+ { 0x4573, 55202 },
+ { 0x4589, 55205 },
+ { 0x457E, 55208 },
+ { 0x459F, 55211 },
+ { 0x4577, 55214 },
+ { 0x4582, 55217 },
+ { 0x457A, 55220 },
+ { 0x4598, 55223 },
+ { 0x4592, 55226 },
+ { 0x458F, 55229 },
+ { 0x4575, 55232 },
+ { 0x4588, 55235 },
+ { 0x4597, 55238 },
+ { 0x4599, 55241 },
+ { 0x4583, 55244 },
+ { 0x4579, 55247 },
+ { 0x4596, 55250 },
+ { 0x457B, 55253 },
+ { 0x4595, 55256 },
+ { 0x459A, 55259 },
+ { 0x456F, 55262 },
+ { 0x456D, 55265 },
+ { 0x4571, 55268 },
+ { 0x458B, 55271 },
+ { 0x4586, 55274 },
+ { 0x457F, 55277 },
+ { 0x4580, 55280 },
+ { 0x4593, 55283 },
+ { 0x458C, 55286 },
+ { 0x4591, 55289 },
+ { 0x4590, 55292 },
+ { 0x459B, 55295 },
+ { 0x4584, 55298 },
+ { 0x4587, 55301 },
+ { 0x457D, 55304 },
+ { 0x457C, 55307 },
+ { 0x4594, 55310 },
+ { 0x459C, 55313 },
+ { 0x458E, 55316 },
+ { 0x458D, 55319 },
+ { 0x459D, 55322 },
+ { 0x459E, 55325 },
+ { 0x45A0, 55328 },
+ { 0x6AE8, 55331 },
+ { 0x67AE, 55333 },
+ { 0x6AE5, 55334 },
+ { 0x6931, 55335 },
+ { 0x68B9, 55336 },
+ { 0x1D8E, 55338 },
+ { 0x6AF2, 55339 },
+ { 0x08CA, 55341 },
+ { 0x088B, 55345 },
+ { 0x08BB, 55347 },
+ { 0x08C8, 55350 },
+ { 0x088E, 55353 },
+ { 0x088D, 55356 },
+ { 0x08BC, 55359 },
+ { 0x088C, 55362 },
+ { 0x08D3, 55365 },
+ { 0x08D8, 55368 },
+ { 0x08D4, 55371 },
+ { 0x08D7, 55374 },
+ { 0x08D6, 55377 },
+ { 0x08DB, 55380 },
+ { 0x08D2, 55383 },
+ { 0x08DA, 55386 },
+ { 0x08D9, 55389 },
+ { 0x08D5, 55392 },
+ { 0x08E7, 55395 },
+ { 0x08DE, 55398 },
+ { 0x08DF, 55401 },
+ { 0x08C4, 55404 },
+ { 0x08BE, 55408 },
+ { 0x08C6, 55412 },
+ { 0x08C0, 55416 },
+ { 0x08BD, 55420 },
+ { 0x08C5, 55424 },
+ { 0x08C7, 55428 },
+ { 0x08BF, 55432 },
+ { 0x08C1, 55436 },
+ { 0x08D0, 55440 },
+ { 0x08C2, 55445 },
+ { 0x08D1, 55450 },
+ { 0x08C3, 55455 },
+ { 0x08E6, 55460 },
+ { 0x088F, 55462 },
+ { 0x0897, 55465 },
+ { 0x0891, 55468 },
+ { 0x0899, 55471 },
+ { 0x0893, 55474 },
+ { 0x0890, 55477 },
+ { 0x0898, 55480 },
+ { 0x089A, 55483 },
+ { 0x08B1, 55486 },
+ { 0x08A0, 55489 },
+ { 0x08AC, 55492 },
+ { 0x089D, 55495 },
+ { 0x08BA, 55498 },
+ { 0x0892, 55501 },
+ { 0x08A2, 55504 },
+ { 0x089B, 55507 },
+ { 0x08B6, 55510 },
+ { 0x08B3, 55513 },
+ { 0x08AE, 55516 },
+ { 0x08AF, 55519 },
+ { 0x08B5, 55522 },
+ { 0x08DD, 55525 },
+ { 0x08DC, 55531 },
+ { 0x08B9, 55537 },
+ { 0x08AA, 55540 },
+ { 0x0894, 55543 },
+ { 0x08B4, 55546 },
+ { 0x08B2, 55549 },
+ { 0x08A1, 55552 },
+ { 0x08A7, 55555 },
+ { 0x08AD, 55558 },
+ { 0x089E, 55561 },
+ { 0x08A3, 55564 },
+ { 0x089C, 55567 },
+ { 0x089F, 55570 },
+ { 0x08A9, 55573 },
+ { 0x08A4, 55576 },
+ { 0x08B0, 55579 },
+ { 0x08CC, 55582 },
+ { 0x08CB, 55585 },
+ { 0x08B7, 55588 },
+ { 0x08B8, 55591 },
+ { 0x08AB, 55594 },
+ { 0x08A5, 55597 },
+ { 0x08CD, 55600 },
+ { 0x08A8, 55603 },
+ { 0x08A6, 55606 },
+ { 0x08C9, 55609 },
+ { 0x0896, 55613 },
+ { 0x0895, 55617 },
+ { 0x08CF, 55621 },
+ { 0x08CE, 55625 },
+ { 0x08E0, 55629 },
+ { 0x08E4, 55633 },
+ { 0x08E1, 55641 },
+ { 0x08E3, 55645 },
+ { 0x08E2, 55649 },
+ { 0x08E5, 55653 },
+ { 0x1E85, 55657 },
+ { 0x1F3C, 55659 },
+ { 0x1DC5, 55663 },
+ { 0x6AD6, 55664 },
+ { 0x6762, 55665 },
+ { 0x68B6, 55666 },
+ { 0x67BB, 55667 },
+ { 0x67D9, 55670 },
+ { 0x2326, 55671 },
+ { 0x2327, 55674 },
+ { 0x2328, 55677 },
+ { 0x232A, 55680 },
+ { 0x232E, 55683 },
+ { 0x2336, 55686 },
+ { 0x2346, 55689 },
+ { 0x2366, 55692 },
+ { 0x23A6, 55695 },
+ { 0x2329, 55698 },
+ { 0x232B, 55701 },
+ { 0x232F, 55704 },
+ { 0x2337, 55707 },
+ { 0x2347, 55710 },
+ { 0x2367, 55713 },
+ { 0x23A7, 55716 },
+ { 0x232C, 55719 },
+ { 0x2330, 55722 },
+ { 0x2338, 55725 },
+ { 0x2348, 55728 },
+ { 0x2368, 55731 },
+ { 0x23A8, 55734 },
+ { 0x2332, 55737 },
+ { 0x233A, 55740 },
+ { 0x234A, 55743 },
+ { 0x236A, 55746 },
+ { 0x23AA, 55749 },
+ { 0x233E, 55752 },
+ { 0x234E, 55755 },
+ { 0x236E, 55758 },
+ { 0x23AE, 55761 },
+ { 0x2356, 55764 },
+ { 0x2376, 55767 },
+ { 0x23B6, 55770 },
+ { 0x2386, 55773 },
+ { 0x23C6, 55776 },
+ { 0x23E6, 55779 },
+ { 0x232D, 55782 },
+ { 0x2331, 55785 },
+ { 0x2339, 55788 },
+ { 0x2349, 55791 },
+ { 0x2369, 55794 },
+ { 0x23A9, 55797 },
+ { 0x2333, 55800 },
+ { 0x233B, 55803 },
+ { 0x234B, 55806 },
+ { 0x236B, 55809 },
+ { 0x23AB, 55812 },
+ { 0x233F, 55815 },
+ { 0x234F, 55818 },
+ { 0x236F, 55821 },
+ { 0x23AF, 55824 },
+ { 0x2357, 55827 },
+ { 0x2377, 55830 },
+ { 0x23B7, 55833 },
+ { 0x2387, 55836 },
+ { 0x23C7, 55839 },
+ { 0x23E7, 55842 },
+ { 0x2334, 55845 },
+ { 0x233C, 55848 },
+ { 0x234C, 55851 },
+ { 0x236C, 55854 },
+ { 0x23AC, 55857 },
+ { 0x2340, 55860 },
+ { 0x2350, 55863 },
+ { 0x2370, 55866 },
+ { 0x23B0, 55869 },
+ { 0x2358, 55872 },
+ { 0x2378, 55875 },
+ { 0x23B8, 55878 },
+ { 0x2388, 55881 },
+ { 0x23C8, 55884 },
+ { 0x23E8, 55887 },
+ { 0x2342, 55890 },
+ { 0x2352, 55893 },
+ { 0x2372, 55896 },
+ { 0x23B2, 55899 },
+ { 0x235A, 55902 },
+ { 0x237A, 55905 },
+ { 0x23BA, 55908 },
+ { 0x238A, 55911 },
+ { 0x23CA, 55914 },
+ { 0x23EA, 55917 },
+ { 0x235E, 55920 },
+ { 0x237E, 55923 },
+ { 0x23BE, 55926 },
+ { 0x238E, 55929 },
+ { 0x23CE, 55932 },
+ { 0x23EE, 55935 },
+ { 0x2396, 55938 },
+ { 0x23D6, 55941 },
+ { 0x23F6, 55944 },
+ { 0x2406, 55947 },
+ { 0x2335, 55950 },
+ { 0x233D, 55953 },
+ { 0x234D, 55956 },
+ { 0x236D, 55959 },
+ { 0x23AD, 55962 },
+ { 0x2341, 55965 },
+ { 0x2351, 55968 },
+ { 0x2371, 55971 },
+ { 0x23B1, 55974 },
+ { 0x2359, 55977 },
+ { 0x2379, 55980 },
+ { 0x23B9, 55983 },
+ { 0x2389, 55986 },
+ { 0x23C9, 55989 },
+ { 0x23E9, 55992 },
+ { 0x2343, 55995 },
+ { 0x2353, 55998 },
+ { 0x2373, 56001 },
+ { 0x23B3, 56004 },
+ { 0x235B, 56007 },
+ { 0x237B, 56010 },
+ { 0x23BB, 56013 },
+ { 0x238B, 56016 },
+ { 0x23CB, 56019 },
+ { 0x23EB, 56022 },
+ { 0x235F, 56025 },
+ { 0x237F, 56028 },
+ { 0x23BF, 56031 },
+ { 0x238F, 56034 },
+ { 0x23CF, 56037 },
+ { 0x23EF, 56040 },
+ { 0x2397, 56043 },
+ { 0x23D7, 56046 },
+ { 0x23F7, 56049 },
+ { 0x2407, 56052 },
+ { 0x2344, 56055 },
+ { 0x2354, 56058 },
+ { 0x2374, 56061 },
+ { 0x23B4, 56064 },
+ { 0x235C, 56067 },
+ { 0x237C, 56070 },
+ { 0x23BC, 56073 },
+ { 0x238C, 56076 },
+ { 0x23CC, 56079 },
+ { 0x23EC, 56082 },
+ { 0x2360, 56085 },
+ { 0x2380, 56088 },
+ { 0x23C0, 56091 },
+ { 0x2390, 56094 },
+ { 0x23D0, 56097 },
+ { 0x23F0, 56100 },
+ { 0x2398, 56103 },
+ { 0x23D8, 56106 },
+ { 0x23F8, 56109 },
+ { 0x2408, 56112 },
+ { 0x2362, 56115 },
+ { 0x2382, 56118 },
+ { 0x23C2, 56121 },
+ { 0x2392, 56124 },
+ { 0x23D2, 56127 },
+ { 0x23F2, 56130 },
+ { 0x239A, 56133 },
+ { 0x23DA, 56136 },
+ { 0x23FA, 56139 },
+ { 0x240A, 56142 },
+ { 0x239E, 56145 },
+ { 0x23DE, 56148 },
+ { 0x23FE, 56151 },
+ { 0x240E, 56154 },
+ { 0x2416, 56157 },
+ { 0x2345, 56160 },
+ { 0x2355, 56163 },
+ { 0x2375, 56166 },
+ { 0x23B5, 56169 },
+ { 0x235D, 56172 },
+ { 0x237D, 56175 },
+ { 0x23BD, 56178 },
+ { 0x238D, 56181 },
+ { 0x23CD, 56184 },
+ { 0x23ED, 56187 },
+ { 0x2361, 56190 },
+ { 0x2381, 56193 },
+ { 0x23C1, 56196 },
+ { 0x2391, 56199 },
+ { 0x23D1, 56202 },
+ { 0x23F1, 56205 },
+ { 0x2399, 56208 },
+ { 0x23D9, 56211 },
+ { 0x23F9, 56214 },
+ { 0x2409, 56217 },
+ { 0x2363, 56220 },
+ { 0x2383, 56223 },
+ { 0x23C3, 56226 },
+ { 0x2393, 56229 },
+ { 0x23D3, 56232 },
+ { 0x23F3, 56235 },
+ { 0x239B, 56238 },
+ { 0x23DB, 56241 },
+ { 0x23FB, 56244 },
+ { 0x240B, 56247 },
+ { 0x239F, 56250 },
+ { 0x23DF, 56253 },
+ { 0x23FF, 56256 },
+ { 0x240F, 56259 },
+ { 0x2417, 56262 },
+ { 0x2364, 56265 },
+ { 0x2384, 56268 },
+ { 0x23C4, 56271 },
+ { 0x2394, 56274 },
+ { 0x23D4, 56277 },
+ { 0x23F4, 56280 },
+ { 0x239C, 56283 },
+ { 0x23DC, 56286 },
+ { 0x23FC, 56289 },
+ { 0x240C, 56292 },
+ { 0x23A0, 56295 },
+ { 0x23E0, 56298 },
+ { 0x2400, 56301 },
+ { 0x2410, 56304 },
+ { 0x2418, 56307 },
+ { 0x23A2, 56310 },
+ { 0x23E2, 56313 },
+ { 0x2402, 56316 },
+ { 0x2412, 56319 },
+ { 0x241A, 56322 },
+ { 0x241E, 56325 },
+ { 0x2365, 56328 },
+ { 0x2385, 56331 },
+ { 0x23C5, 56334 },
+ { 0x2395, 56337 },
+ { 0x23D5, 56340 },
+ { 0x23F5, 56343 },
+ { 0x239D, 56346 },
+ { 0x23DD, 56349 },
+ { 0x23FD, 56352 },
+ { 0x240D, 56355 },
+ { 0x23A1, 56358 },
+ { 0x23E1, 56361 },
+ { 0x2401, 56364 },
+ { 0x2411, 56367 },
+ { 0x2419, 56370 },
+ { 0x23A3, 56373 },
+ { 0x23E3, 56376 },
+ { 0x2403, 56379 },
+ { 0x2413, 56382 },
+ { 0x241B, 56385 },
+ { 0x241F, 56388 },
+ { 0x23A4, 56391 },
+ { 0x23E4, 56394 },
+ { 0x2404, 56397 },
+ { 0x2414, 56400 },
+ { 0x241C, 56403 },
+ { 0x2420, 56406 },
+ { 0x2422, 56409 },
+ { 0x23A5, 56412 },
+ { 0x23E5, 56415 },
+ { 0x2405, 56418 },
+ { 0x2415, 56421 },
+ { 0x241D, 56424 },
+ { 0x2421, 56427 },
+ { 0x2423, 56430 },
+ { 0x2424, 56433 },
+ { 0x2425, 56436 },
+ { 0x6755, 56439 },
+ { 0x67FB, 56440 },
+ { 0x2147, 56441 },
+ { 0x0077, 56443 },
+ { 0x6AA2, 56444 },
+ { 0x683A, 56446 },
+ { 0x26DD, 56447 },
+ { 0x666A, 56449 },
+ { 0x666B, 56451 },
+ { 0x1DF2, 56453 },
+ { 0x26DE, 56456 },
+ { 0x1DF6, 56459 },
+ { 0x2268, 56461 },
+ { 0x1DEE, 56467 },
+ { 0x1DF3, 56469 },
+ { 0x6966, 56472 },
+ { 0x1F86, 56475 },
+ { 0x1F8B, 56478 },
+ { 0x1F87, 56481 },
+ { 0x1F8A, 56484 },
+ { 0x1F89, 56487 },
+ { 0x1F8E, 56490 },
+ { 0x2010, 56493 },
+ { 0x1F8D, 56496 },
+ { 0x1F8C, 56499 },
+ { 0x1F88, 56502 },
+ { 0x22D8, 56505 },
+ { 0x1FF6, 56510 },
+ { 0x1FF7, 56515 },
+ { 0x1FF8, 56520 },
+ { 0x1FF9, 56525 },
+ { 0x1FFA, 56530 },
+ { 0x1FFB, 56535 },
+ { 0x1FFC, 56540 },
+ { 0x1FFD, 56545 },
+ { 0x1FFE, 56550 },
+ { 0x1FFF, 56555 },
+ { 0x2000, 56560 },
+ { 0x2001, 56565 },
+ { 0x2002, 56570 },
+ { 0x2003, 56575 },
+ { 0x2004, 56580 },
+ { 0x2005, 56585 },
+ { 0x2006, 56590 },
+ { 0x2007, 56595 },
+ { 0x2008, 56600 },
+ { 0x2009, 56605 },
+ { 0x200A, 56610 },
+ { 0x200B, 56615 },
+ { 0x200C, 56620 },
+ { 0x200D, 56625 },
+ { 0x200E, 56630 },
+ { 0x200F, 56635 },
+ { 0x1FDC, 56640 },
+ { 0x1FDD, 56645 },
+ { 0x1FDE, 56650 },
+ { 0x1FDF, 56655 },
+ { 0x1FE0, 56660 },
+ { 0x1FE1, 56665 },
+ { 0x1FE2, 56670 },
+ { 0x1FE3, 56675 },
+ { 0x1FE4, 56680 },
+ { 0x1FE5, 56685 },
+ { 0x1FE6, 56690 },
+ { 0x1FE7, 56695 },
+ { 0x1FE8, 56700 },
+ { 0x1FE9, 56705 },
+ { 0x1FEA, 56710 },
+ { 0x1FEB, 56715 },
+ { 0x1FEC, 56720 },
+ { 0x1FED, 56725 },
+ { 0x1FEE, 56730 },
+ { 0x1FEF, 56735 },
+ { 0x1FF0, 56740 },
+ { 0x1FF1, 56745 },
+ { 0x1FF2, 56750 },
+ { 0x1FF3, 56755 },
+ { 0x1FF4, 56760 },
+ { 0x1FF5, 56765 },
+ { 0x1DEF, 56770 },
+ { 0x1DF0, 56772 },
+ { 0x2250, 56774 },
+ { 0x24E4, 56777 },
+ { 0x24E5, 56780 },
+ { 0x1DF5, 56782 },
+ { 0x2C9F, 56784 },
+ { 0x2CAD, 56787 },
+ { 0x2CA1, 56791 },
+ { 0x2CAF, 56794 },
+ { 0x2CA6, 56798 },
+ { 0x2CB4, 56801 },
+ { 0x2CA0, 56805 },
+ { 0x2CAE, 56808 },
+ { 0x2CB7, 56812 },
+ { 0x2C9D, 56816 },
+ { 0x2CAB, 56819 },
+ { 0x2C9A, 56823 },
+ { 0x2CA8, 56826 },
+ { 0x2C9E, 56830 },
+ { 0x2CAC, 56833 },
+ { 0x2C9C, 56837 },
+ { 0x2CAA, 56840 },
+ { 0x2C99, 56844 },
+ { 0x2CA7, 56847 },
+ { 0x2C9B, 56851 },
+ { 0x2CA9, 56854 },
+ { 0x2CA2, 56858 },
+ { 0x2CB0, 56861 },
+ { 0x2CA3, 56865 },
+ { 0x2CB1, 56868 },
+ { 0x2CA5, 56872 },
+ { 0x2CB3, 56875 },
+ { 0x2CA4, 56879 },
+ { 0x2CB2, 56882 },
+ { 0x6668, 56886 },
+ { 0x6669, 56892 },
+ { 0x2CB6, 56898 },
+ { 0x2CB5, 56902 },
+ { 0x1F8F, 56906 },
+ { 0x2C81, 56909 },
+ { 0x2CF8, 56915 },
+ { 0x2C85, 56918 },
+ { 0x2CEE, 56924 },
+ { 0x2C84, 56927 },
+ { 0x2CEF, 56933 },
+ { 0x2CF4, 56937 },
+ { 0x2CF0, 56941 },
+ { 0x2CF3, 56945 },
+ { 0x2CF2, 56949 },
+ { 0x2CF7, 56953 },
+ { 0x2CF6, 56957 },
+ { 0x2CF5, 56961 },
+ { 0x2CF1, 56965 },
+ { 0x2C86, 56969 },
+ { 0x2C88, 56975 },
+ { 0x1F90, 56981 },
+ { 0x2C93, 56984 },
+ { 0x2C83, 56987 },
+ { 0x2C94, 56993 },
+ { 0x2CEA, 56997 },
+ { 0x2C95, 57001 },
+ { 0x2C98, 57005 },
+ { 0x2C97, 57009 },
+ { 0x2CED, 57013 },
+ { 0x2CEC, 57017 },
+ { 0x2CEB, 57021 },
+ { 0x2C96, 57025 },
+ { 0x1F91, 57029 },
+ { 0x1F99, 57032 },
+ { 0x2C82, 57035 },
+ { 0x2C8A, 57041 },
+ { 0x2C8F, 57045 },
+ { 0x2C8B, 57049 },
+ { 0x2C8E, 57053 },
+ { 0x2C8D, 57057 },
+ { 0x2C92, 57061 },
+ { 0x2C91, 57065 },
+ { 0x2C90, 57069 },
+ { 0x2C8C, 57073 },
+ { 0x1F94, 57077 },
+ { 0x2C87, 57080 },
+ { 0x1F95, 57086 },
+ { 0x1F97, 57089 },
+ { 0x1F93, 57092 },
+ { 0x1F98, 57095 },
+ { 0x1F92, 57098 },
+ { 0x1F96, 57101 },
+ { 0x2A8D, 57104 },
+ { 0x24DE, 57107 },
+ { 0x1DF4, 57110 },
+ { 0x21F8, 57113 },
+ { 0x255E, 57116 },
+ { 0x1DF1, 57119 },
+ { 0x2D09, 57122 },
+ { 0x2D0C, 57125 },
+ { 0x2D0A, 57128 },
+ { 0x2D0D, 57131 },
+ { 0x2D0B, 57134 },
+ { 0x2D22, 57137 },
+ { 0x2D25, 57140 },
+ { 0x2D23, 57143 },
+ { 0x2D26, 57146 },
+ { 0x2D24, 57149 },
+ { 0x2D0E, 57152 },
+ { 0x2D11, 57155 },
+ { 0x2D0F, 57158 },
+ { 0x2D12, 57161 },
+ { 0x2D10, 57164 },
+ { 0x2D27, 57167 },
+ { 0x2D2A, 57170 },
+ { 0x2D28, 57173 },
+ { 0x2D2B, 57176 },
+ { 0x2D29, 57179 },
+ { 0x2D1D, 57182 },
+ { 0x2D20, 57185 },
+ { 0x2D1E, 57188 },
+ { 0x2D21, 57191 },
+ { 0x2D1F, 57194 },
+ { 0x2D2F, 57197 },
+ { 0x2D32, 57200 },
+ { 0x2D30, 57203 },
+ { 0x2D33, 57206 },
+ { 0x2D31, 57209 },
+ { 0x2D13, 57212 },
+ { 0x2D16, 57215 },
+ { 0x2D14, 57218 },
+ { 0x2D17, 57221 },
+ { 0x2D15, 57224 },
+ { 0x2D18, 57227 },
+ { 0x2D1B, 57230 },
+ { 0x2D19, 57233 },
+ { 0x2D1C, 57236 },
+ { 0x2D1A, 57239 },
+ { 0x2D34, 57242 },
+ { 0x2D36, 57245 },
+ { 0x2D35, 57248 },
+ { 0x2D37, 57251 },
+ { 0x2D2C, 57254 },
+ { 0x2D2E, 57257 },
+ { 0x2D2D, 57260 },
+ { 0x24DD, 57263 },
+ { 0x1EE3, 57265 },
+ { 0x24DC, 57268 },
+ { 0x2CDF, 57271 },
+ { 0x2CB9, 57274 },
+ { 0x2CBE, 57277 },
+ { 0x2CC9, 57280 },
+ { 0x2CC2, 57283 },
+ { 0x2CBA, 57286 },
+ { 0x2CDB, 57289 },
+ { 0x2CC4, 57292 },
+ { 0x2CBD, 57295 },
+ { 0x2CBC, 57298 },
+ { 0x2CCB, 57301 },
+ { 0x2CDD, 57304 },
+ { 0x2CD9, 57307 },
+ { 0x2C80, 57310 },
+ { 0x2CE0, 57313 },
+ { 0x2CD3, 57316 },
+ { 0x2CC3, 57319 },
+ { 0x2CCD, 57322 },
+ { 0x2CC1, 57325 },
+ { 0x2CDA, 57328 },
+ { 0x2CC6, 57331 },
+ { 0x2CC8, 57334 },
+ { 0x2CC0, 57337 },
+ { 0x2CD1, 57340 },
+ { 0x2CC7, 57343 },
+ { 0x2CE9, 57346 },
+ { 0x2CD7, 57349 },
+ { 0x2CE1, 57352 },
+ { 0x2CBF, 57355 },
+ { 0x2CCA, 57358 },
+ { 0x2CE4, 57361 },
+ { 0x2CBB, 57364 },
+ { 0x2CC5, 57367 },
+ { 0x6725, 57370 },
+ { 0x2CDE, 57373 },
+ { 0x2CD4, 57376 },
+ { 0x2C7F, 57379 },
+ { 0x2CD2, 57382 },
+ { 0x2CDC, 57385 },
+ { 0x2CCC, 57388 },
+ { 0x2CCE, 57391 },
+ { 0x2CE8, 57394 },
+ { 0x2CE2, 57397 },
+ { 0x2C7D, 57400 },
+ { 0x2CE3, 57403 },
+ { 0x2CE7, 57406 },
+ { 0x2CD5, 57409 },
+ { 0x6724, 57412 },
+ { 0x2CD8, 57415 },
+ { 0x2CD6, 57418 },
+ { 0x2CCF, 57421 },
+ { 0x2CE5, 57424 },
+ { 0x2CE6, 57427 },
+ { 0x2C7E, 57430 },
+ { 0x2CD0, 57433 },
+ { 0x24E6, 57436 },
+ { 0x1EE2, 57438 },
+ { 0x6AEC, 57443 },
+ { 0x24E7, 57446 },
+ { 0x24DF, 57448 },
+ { 0x255C, 57450 },
+ { 0x24E2, 57456 },
+ { 0x67D2, 57460 },
+ { 0x1E8B, 57462 },
+ { 0x1D87, 57464 },
+ { 0x67C1, 57466 },
+ { 0x6799, 57468 },
+ { 0x67F5, 57469 },
+ { 0x67B2, 57473 },
+ { 0x21BA, 57475 },
+ { 0x66C2, 57477 },
+ { 0x6954, 57484 },
+ { 0x6794, 57486 },
+ { 0x6AE7, 57487 },
+ { 0x6726, 57488 },
+ { 0x434C, 57489 },
+ { 0x434D, 57492 },
+ { 0x434E, 57495 },
+ { 0x434F, 57498 },
+ { 0x4350, 57501 },
+ { 0x4351, 57504 },
+ { 0x4352, 57507 },
+ { 0x4353, 57510 },
+ { 0x4354, 57513 },
+ { 0x4355, 57516 },
+ { 0x4356, 57519 },
+ { 0x4357, 57522 },
+ { 0x4358, 57525 },
+ { 0x4359, 57528 },
+ { 0x435A, 57531 },
+ { 0x435B, 57534 },
+ { 0x435C, 57537 },
+ { 0x435D, 57540 },
+ { 0x435E, 57543 },
+ { 0x435F, 57546 },
+ { 0x4360, 57549 },
+ { 0x4361, 57552 },
+ { 0x4362, 57555 },
+ { 0x4363, 57558 },
+ { 0x4364, 57561 },
+ { 0x4365, 57564 },
+ { 0x4366, 57567 },
+ { 0x4367, 57570 },
+ { 0x4368, 57573 },
+ { 0x4369, 57576 },
+ { 0x436A, 57579 },
+ { 0x436B, 57582 },
+ { 0x436C, 57585 },
+ { 0x436D, 57588 },
+ { 0x436E, 57591 },
+ { 0x436F, 57594 },
+ { 0x4370, 57597 },
+ { 0x4371, 57600 },
+ { 0x4372, 57603 },
+ { 0x4373, 57606 },
+ { 0x4374, 57609 },
+ { 0x4375, 57612 },
+ { 0x4376, 57615 },
+ { 0x4377, 57618 },
+ { 0x4378, 57621 },
+ { 0x4379, 57624 },
+ { 0x437A, 57627 },
+ { 0x437B, 57630 },
+ { 0x437C, 57633 },
+ { 0x437D, 57636 },
+ { 0x437E, 57639 },
+ { 0x437F, 57642 },
+ { 0x4380, 57645 },
+ { 0x4381, 57648 },
+ { 0x4382, 57651 },
+ { 0x1F41, 57654 },
+ { 0x1EEF, 57657 },
+ { 0x412A, 57661 },
+ { 0x4126, 57665 },
+ { 0x4133, 57669 },
+ { 0x413C, 57673 },
+ { 0x413D, 57677 },
+ { 0x413E, 57681 },
+ { 0x413B, 57685 },
+ { 0x4137, 57689 },
+ { 0x4141, 57693 },
+ { 0x4140, 57697 },
+ { 0x4127, 57701 },
+ { 0x4128, 57705 },
+ { 0x412C, 57709 },
+ { 0x412E, 57713 },
+ { 0x413F, 57717 },
+ { 0x4139, 57721 },
+ { 0x4135, 57725 },
+ { 0x4132, 57729 },
+ { 0x4130, 57733 },
+ { 0x4131, 57737 },
+ { 0x412B, 57741 },
+ { 0x412D, 57745 },
+ { 0x4134, 57749 },
+ { 0x4129, 57753 },
+ { 0x4138, 57757 },
+ { 0x412F, 57761 },
+ { 0x411C, 57765 },
+ { 0x411B, 57770 },
+ { 0x411A, 57775 },
+ { 0x411E, 57780 },
+ { 0x411D, 57785 },
+ { 0x411F, 57790 },
+ { 0x4136, 57795 },
+ { 0x413A, 57799 },
+ { 0x4122, 57803 },
+ { 0x4121, 57808 },
+ { 0x4120, 57813 },
+ { 0x4124, 57818 },
+ { 0x4123, 57823 },
+ { 0x4125, 57828 },
+ { 0x4102, 57833 },
+ { 0x40FE, 57837 },
+ { 0x410B, 57841 },
+ { 0x4114, 57845 },
+ { 0x4115, 57849 },
+ { 0x4116, 57853 },
+ { 0x4113, 57857 },
+ { 0x410F, 57861 },
+ { 0x4119, 57865 },
+ { 0x4118, 57869 },
+ { 0x40FF, 57873 },
+ { 0x4100, 57877 },
+ { 0x4104, 57881 },
+ { 0x4106, 57885 },
+ { 0x4117, 57889 },
+ { 0x4111, 57893 },
+ { 0x410D, 57897 },
+ { 0x410A, 57901 },
+ { 0x4108, 57905 },
+ { 0x4109, 57909 },
+ { 0x4103, 57913 },
+ { 0x4105, 57917 },
+ { 0x410C, 57921 },
+ { 0x4101, 57925 },
+ { 0x4110, 57929 },
+ { 0x4107, 57933 },
+ { 0x40F4, 57937 },
+ { 0x40F3, 57942 },
+ { 0x40F2, 57947 },
+ { 0x40F6, 57952 },
+ { 0x40F5, 57957 },
+ { 0x40F7, 57962 },
+ { 0x410E, 57967 },
+ { 0x4112, 57971 },
+ { 0x40FA, 57975 },
+ { 0x40F9, 57980 },
+ { 0x40F8, 57985 },
+ { 0x40FC, 57990 },
+ { 0x40FB, 57995 },
+ { 0x40FD, 58000 },
+ { 0x69F8, 58005 },
+ { 0x69C9, 58007 },
+ { 0x263E, 58009 },
+ { 0x263C, 58014 },
+ { 0x263D, 58019 },
+ { 0x263F, 58024 },
+ { 0x68C6, 58029 },
+ { 0x6B96, 58035 },
+ { 0x1E1D, 58037 },
+ { 0x22A6, 58039 },
+ { 0x22AB, 58044 },
+ { 0x22A7, 58049 },
+ { 0x22AA, 58054 },
+ { 0x22A9, 58059 },
+ { 0x22AE, 58064 },
+ { 0x664B, 58069 },
+ { 0x22AD, 58074 },
+ { 0x22AC, 58079 },
+ { 0x22A8, 58084 },
+ { 0x22AF, 58089 },
+ { 0x229C, 58094 },
+ { 0x22A1, 58099 },
+ { 0x229D, 58104 },
+ { 0x22A0, 58109 },
+ { 0x229F, 58114 },
+ { 0x22A4, 58119 },
+ { 0x22A3, 58124 },
+ { 0x22A2, 58129 },
+ { 0x229E, 58134 },
+ { 0x22A5, 58139 },
+ { 0x22B0, 58144 },
+ { 0x22B5, 58150 },
+ { 0x22B1, 58156 },
+ { 0x22B4, 58162 },
+ { 0x22B3, 58168 },
+ { 0x22B8, 58174 },
+ { 0x664C, 58180 },
+ { 0x22B7, 58186 },
+ { 0x22B6, 58192 },
+ { 0x22B2, 58198 },
+ { 0x22B9, 58204 },
+ { 0x1D7C, 58210 },
+ { 0x21D4, 58211 },
+ { 0x6852, 58213 },
+ { 0x21C9, 58214 },
+ { 0x21C8, 58217 },
+ { 0x1C2C, 58220 },
+ { 0x68CD, 58222 },
+ { 0x419A, 58223 },
+ { 0x41A2, 58226 },
+ { 0x41A7, 58229 },
+ { 0x41B0, 58232 },
+ { 0x41B9, 58235 },
+ { 0x41BC, 58238 },
+ { 0x419B, 58241 },
+ { 0x419C, 58244 },
+ { 0x419E, 58247 },
+ { 0x41A1, 58250 },
+ { 0x41A3, 58253 },
+ { 0x41A4, 58256 },
+ { 0x41A6, 58259 },
+ { 0x41A8, 58262 },
+ { 0x41A9, 58265 },
+ { 0x41AA, 58268 },
+ { 0x41AC, 58271 },
+ { 0x41AE, 58274 },
+ { 0x41AD, 58277 },
+ { 0x41B1, 58280 },
+ { 0x41B2, 58283 },
+ { 0x41B3, 58286 },
+ { 0x41B5, 58289 },
+ { 0x41B7, 58292 },
+ { 0x41BA, 58295 },
+ { 0x41BB, 58298 },
+ { 0x41BD, 58301 },
+ { 0x419D, 58304 },
+ { 0x41A0, 58307 },
+ { 0x41BF, 58310 },
+ { 0x41A5, 58313 },
+ { 0x41C1, 58316 },
+ { 0x41AB, 58319 },
+ { 0x419F, 58322 },
+ { 0x41AF, 58325 },
+ { 0x41B4, 58328 },
+ { 0x41B6, 58331 },
+ { 0x41B8, 58334 },
+ { 0x41BE, 58337 },
+ { 0x41C0, 58340 },
+ { 0x1D61, 58343 },
+ { 0x1E4E, 58345 },
+ { 0x1E52, 58350 },
+ { 0x1E4B, 58356 },
+ { 0x1E4F, 58362 },
+ { 0x1E51, 58366 },
+ { 0x1E4C, 58370 },
+ { 0x22F8, 58380 },
+ { 0x25FF, 58384 },
+ { 0x6813, 58388 },
+ { 0x2204, 58389 },
+ { 0x2455, 58397 },
+ { 0x2452, 58403 },
+ { 0x6A4C, 58408 },
+ { 0x20EF, 58410 },
+ { 0x67C9, 58411 },
+ { 0x6A57, 58415 },
+ { 0x2602, 58417 },
+ { 0x21D7, 58418 },
+ { 0x6745, 58420 },
+ { 0x4968, 58422 },
+ { 0x4967, 58426 },
+ { 0x4959, 58428 },
+ { 0x4969, 58431 },
+ { 0x4966, 58434 },
+ { 0x492A, 58437 },
+ { 0x4929, 58440 },
+ { 0x495A, 58443 },
+ { 0x4927, 58446 },
+ { 0x4928, 58451 },
+ { 0x495C, 58454 },
+ { 0x495E, 58458 },
+ { 0x495B, 58462 },
+ { 0x4963, 58466 },
+ { 0x4965, 58470 },
+ { 0x4962, 58474 },
+ { 0x495D, 58478 },
+ { 0x4964, 58482 },
+ { 0x495F, 58486 },
+ { 0x496E, 58490 },
+ { 0x4960, 58495 },
+ { 0x496F, 58500 },
+ { 0x4961, 58505 },
+ { 0x492B, 58510 },
+ { 0x492D, 58513 },
+ { 0x492F, 58516 },
+ { 0x492C, 58519 },
+ { 0x4934, 58522 },
+ { 0x4936, 58525 },
+ { 0x494D, 58528 },
+ { 0x493C, 58531 },
+ { 0x4948, 58534 },
+ { 0x4933, 58537 },
+ { 0x4939, 58540 },
+ { 0x4958, 58543 },
+ { 0x492E, 58546 },
+ { 0x493E, 58549 },
+ { 0x4937, 58552 },
+ { 0x4952, 58555 },
+ { 0x494F, 58558 },
+ { 0x494A, 58561 },
+ { 0x4935, 58564 },
+ { 0x494B, 58567 },
+ { 0x4951, 58570 },
+ { 0x4957, 58573 },
+ { 0x4946, 58576 },
+ { 0x4930, 58579 },
+ { 0x4954, 58582 },
+ { 0x4950, 58585 },
+ { 0x494E, 58588 },
+ { 0x493D, 58591 },
+ { 0x4943, 58594 },
+ { 0x4949, 58597 },
+ { 0x493A, 58600 },
+ { 0x493F, 58603 },
+ { 0x4938, 58606 },
+ { 0x4953, 58609 },
+ { 0x493B, 58612 },
+ { 0x4945, 58615 },
+ { 0x4940, 58618 },
+ { 0x494C, 58621 },
+ { 0x4955, 58624 },
+ { 0x4956, 58627 },
+ { 0x4947, 58630 },
+ { 0x4941, 58633 },
+ { 0x4944, 58636 },
+ { 0x4942, 58639 },
+ { 0x496B, 58642 },
+ { 0x496A, 58647 },
+ { 0x4932, 58651 },
+ { 0x4931, 58655 },
+ { 0x496D, 58659 },
+ { 0x496C, 58663 },
+ { 0x68BD, 58667 },
+ { 0x1C2F, 58669 },
+ { 0x68AD, 58671 },
+ { 0x685F, 58672 },
+ { 0x6882, 58674 },
+ { 0x1402, 58675 },
+ { 0x1400, 58678 },
+ { 0x1401, 58682 },
+ { 0x13EE, 58686 },
+ { 0x13EF, 58689 },
+ { 0x13F0, 58692 },
+ { 0x13F8, 58695 },
+ { 0x13F5, 58698 },
+ { 0x13F2, 58701 },
+ { 0x13FF, 58704 },
+ { 0x13F1, 58707 },
+ { 0x13FC, 58710 },
+ { 0x13F9, 58713 },
+ { 0x13F6, 58716 },
+ { 0x13F7, 58719 },
+ { 0x13FB, 58722 },
+ { 0x13FE, 58725 },
+ { 0x13F4, 58728 },
+ { 0x13FD, 58731 },
+ { 0x13FA, 58734 },
+ { 0x13F3, 58737 },
+ { 0x1C31, 58740 },
+ { 0x6C6A, 58742 },
+ { 0x68D5, 58744 },
+ { 0x1BEF, 58747 },
+ { 0x1BED, 58751 },
+ { 0x20FF, 58754 },
+ { 0x20FE, 58757 },
+ { 0x6814, 58759 },
+ { 0x2169, 58761 },
+ { 0x0AD3, 58762 },
+ { 0x0AC2, 58766 },
+ { 0x0AD1, 58769 },
+ { 0x0A90, 58772 },
+ { 0x0A8F, 58775 },
+ { 0x0AC3, 58778 },
+ { 0x0A8E, 58781 },
+ { 0x0AE3, 58784 },
+ { 0x0AE4, 58787 },
+ { 0x0ADA, 58790 },
+ { 0x0ADF, 58793 },
+ { 0x0ADB, 58796 },
+ { 0x0ADE, 58799 },
+ { 0x0ADD, 58802 },
+ { 0x0AE2, 58805 },
+ { 0x0AD9, 58808 },
+ { 0x0AE1, 58811 },
+ { 0x0AE0, 58814 },
+ { 0x0ADC, 58817 },
+ { 0x0ACB, 58820 },
+ { 0x0AC5, 58824 },
+ { 0x0ACE, 58828 },
+ { 0x0AC7, 58832 },
+ { 0x0AC4, 58836 },
+ { 0x0ACD, 58840 },
+ { 0x0AD0, 58844 },
+ { 0x0ACC, 58848 },
+ { 0x0AC6, 58852 },
+ { 0x0ACF, 58856 },
+ { 0x0AC8, 58860 },
+ { 0x0AD7, 58864 },
+ { 0x0AC9, 58869 },
+ { 0x0AD8, 58874 },
+ { 0x0ACA, 58879 },
+ { 0x0AD2, 58884 },
+ { 0x0A91, 58887 },
+ { 0x0A99, 58890 },
+ { 0x0A93, 58893 },
+ { 0x0A9C, 58896 },
+ { 0x0A95, 58899 },
+ { 0x0A92, 58902 },
+ { 0x0A9B, 58905 },
+ { 0x0A9E, 58908 },
+ { 0x0AB5, 58911 },
+ { 0x0AA4, 58914 },
+ { 0x0AB0, 58917 },
+ { 0x0A9A, 58920 },
+ { 0x0AD4, 58923 },
+ { 0x0AA1, 58926 },
+ { 0x0AC1, 58929 },
+ { 0x0A94, 58932 },
+ { 0x0AA6, 58935 },
+ { 0x0A9F, 58938 },
+ { 0x0ABB, 58941 },
+ { 0x0AB7, 58944 },
+ { 0x0AB2, 58947 },
+ { 0x0A9D, 58950 },
+ { 0x0AB3, 58953 },
+ { 0x0AB9, 58956 },
+ { 0x0AC0, 58959 },
+ { 0x0AAE, 58962 },
+ { 0x0A96, 58965 },
+ { 0x0ABD, 58968 },
+ { 0x0AB8, 58971 },
+ { 0x0AB6, 58974 },
+ { 0x0AA5, 58977 },
+ { 0x0AAB, 58980 },
+ { 0x0AB1, 58983 },
+ { 0x0AA2, 58986 },
+ { 0x0AA7, 58989 },
+ { 0x0AA0, 58992 },
+ { 0x0ABC, 58995 },
+ { 0x0AA3, 58998 },
+ { 0x0AAD, 59001 },
+ { 0x0AA8, 59004 },
+ { 0x0AB4, 59007 },
+ { 0x0ABA, 59010 },
+ { 0x0ABE, 59013 },
+ { 0x0ABF, 59016 },
+ { 0x0AAF, 59019 },
+ { 0x0AA9, 59022 },
+ { 0x0AAC, 59025 },
+ { 0x0AD4, 59028 },
+ { 0x0AAA, 59031 },
+ { 0x0A98, 59034 },
+ { 0x0A97, 59038 },
+ { 0x0AD6, 59042 },
+ { 0x0AD5, 59046 },
+ { 0x6A61, 59050 },
+ { 0x6A3B, 59056 },
+ { 0x6A3E, 59058 },
+ { 0x6A3D, 59063 },
+ { 0x682C, 59068 },
+ { 0x2D08, 59069 },
+ { 0x1D81, 59072 },
+ { 0x2578, 59074 },
+ { 0x2588, 59079 },
+ { 0x2589, 59084 },
+ { 0x2581, 59089 },
+ { 0x2583, 59094 },
+ { 0x257F, 59099 },
+ { 0x1D80, 59104 },
+ { 0x2577, 59106 },
+ { 0x2584, 59111 },
+ { 0x2586, 59116 },
+ { 0x2580, 59121 },
+ { 0x2585, 59126 },
+ { 0x2582, 59130 },
+ { 0x20F0, 59135 },
+ { 0x2306, 59136 },
+ { 0x656E, 59141 },
+ { 0x6577, 59146 },
+ { 0x6565, 59151 },
+ { 0x6562, 59156 },
+ { 0x6573, 59160 },
+ { 0x657C, 59165 },
+ { 0x656A, 59170 },
+ { 0x656F, 59175 },
+ { 0x6578, 59180 },
+ { 0x6566, 59185 },
+ { 0x6589, 59190 },
+ { 0x655E, 59193 },
+ { 0x6572, 59197 },
+ { 0x657B, 59202 },
+ { 0x6569, 59207 },
+ { 0x6571, 59212 },
+ { 0x657A, 59217 },
+ { 0x6568, 59222 },
+ { 0x6576, 59227 },
+ { 0x657F, 59232 },
+ { 0x656D, 59237 },
+ { 0x6580, 59242 },
+ { 0x6560, 59245 },
+ { 0x6575, 59249 },
+ { 0x657E, 59254 },
+ { 0x656C, 59259 },
+ { 0x6563, 59264 },
+ { 0x6588, 59268 },
+ { 0x6561, 59271 },
+ { 0x6574, 59275 },
+ { 0x657D, 59280 },
+ { 0x656B, 59285 },
+ { 0x655F, 59290 },
+ { 0x6570, 59294 },
+ { 0x6579, 59299 },
+ { 0x6567, 59304 },
+ { 0x6564, 59309 },
+ { 0x6586, 59313 },
+ { 0x6582, 59316 },
+ { 0x6581, 59319 },
+ { 0x6584, 59322 },
+ { 0x6585, 59325 },
+ { 0x6587, 59328 },
+ { 0x6583, 59331 },
+ { 0x2246, 59334 },
+ { 0x07BD, 59336 },
+ { 0x07BF, 59339 },
+ { 0x07BE, 59342 },
+ { 0x07C0, 59345 },
+ { 0x07C6, 59348 },
+ { 0x07C7, 59351 },
+ { 0x07C8, 59354 },
+ { 0x07C9, 59357 },
+ { 0x07CC, 59360 },
+ { 0x07CE, 59363 },
+ { 0x07CF, 59366 },
+ { 0x07CA, 59369 },
+ { 0x07D1, 59372 },
+ { 0x07C2, 59375 },
+ { 0x07CB, 59378 },
+ { 0x07C3, 59381 },
+ { 0x07D4, 59384 },
+ { 0x07D0, 59387 },
+ { 0x07CD, 59390 },
+ { 0x07C4, 59393 },
+ { 0x07D3, 59396 },
+ { 0x07C5, 59399 },
+ { 0x07BC, 59402 },
+ { 0x07C1, 59405 },
+ { 0x07D2, 59408 },
+ { 0x07D7, 59411 },
+ { 0x07D5, 59414 },
+ { 0x07D8, 59417 },
+ { 0x07D6, 59419 },
+ { 0x6974, 59422 },
+ { 0x2165, 59426 },
+ { 0x1E48, 59427 },
+ { 0x6AB4, 59430 },
+ { 0x48BC, 59431 },
+ { 0x48BF, 59434 },
+ { 0x48BD, 59437 },
+ { 0x48BE, 59440 },
+ { 0x48D6, 59443 },
+ { 0x48C4, 59446 },
+ { 0x48D1, 59449 },
+ { 0x48C2, 59452 },
+ { 0x48DE, 59455 },
+ { 0x48C6, 59458 },
+ { 0x48C0, 59461 },
+ { 0x48DB, 59464 },
+ { 0x48D8, 59467 },
+ { 0x48D3, 59470 },
+ { 0x48D4, 59473 },
+ { 0x48DA, 59476 },
+ { 0x48DD, 59479 },
+ { 0x48CF, 59482 },
+ { 0x48DC, 59485 },
+ { 0x48D9, 59488 },
+ { 0x48D7, 59491 },
+ { 0x48C5, 59494 },
+ { 0x48CB, 59497 },
+ { 0x48D2, 59500 },
+ { 0x48C3, 59503 },
+ { 0x48C7, 59506 },
+ { 0x48C1, 59509 },
+ { 0x48CE, 59512 },
+ { 0x48C8, 59515 },
+ { 0x48D5, 59518 },
+ { 0x48E0, 59521 },
+ { 0x48DF, 59524 },
+ { 0x48D0, 59527 },
+ { 0x48C9, 59530 },
+ { 0x48CC, 59533 },
+ { 0x48CD, 59536 },
+ { 0x48CA, 59539 },
+ { 0x48E1, 59542 },
+ { 0x67DB, 59545 },
+ { 0x67E2, 59547 },
+ { 0x5C01, 59549 },
+ { 0x5C02, 59553 },
+ { 0x5C03, 59557 },
+ { 0x5C04, 59563 },
+ { 0x5BFE, 59569 },
+ { 0x5BFF, 59573 },
+ { 0x5C00, 59579 },
+ { 0x5C21, 59585 },
+ { 0x5C6C, 59589 },
+ { 0x5BEA, 59592 },
+ { 0x5C74, 59596 },
+ { 0x5C13, 59599 },
+ { 0x5BE9, 59603 },
+ { 0x5C86, 59607 },
+ { 0x5C54, 59612 },
+ { 0x5C52, 59616 },
+ { 0x5C56, 59620 },
+ { 0x5C58, 59624 },
+ { 0x5C42, 59628 },
+ { 0x5C20, 59634 },
+ { 0x5CBB, 59640 },
+ { 0x5BEC, 59644 },
+ { 0x5C92, 59647 },
+ { 0x5C93, 59650 },
+ { 0x5C05, 59654 },
+ { 0x5C06, 59658 },
+ { 0x5C0A, 59662 },
+ { 0x5C0B, 59666 },
+ { 0x5C9E, 59670 },
+ { 0x5C9D, 59674 },
+ { 0x5C3C, 59678 },
+ { 0x5C1A, 59682 },
+ { 0x5C8E, 59686 },
+ { 0x5BE6, 59691 },
+ { 0x5C31, 59696 },
+ { 0x5C30, 59701 },
+ { 0x5C37, 59706 },
+ { 0x5C22, 59710 },
+ { 0x5C75, 59714 },
+ { 0x5C78, 59717 },
+ { 0x5C77, 59721 },
+ { 0x5C35, 59725 },
+ { 0x5C91, 59729 },
+ { 0x5C53, 59733 },
+ { 0x5C51, 59737 },
+ { 0x5C55, 59741 },
+ { 0x5C57, 59745 },
+ { 0x5BF4, 59749 },
+ { 0x5C3A, 59752 },
+ { 0x5CAD, 59755 },
+ { 0x5BE2, 59758 },
+ { 0x5C6F, 59762 },
+ { 0x5C73, 59765 },
+ { 0x5C72, 59771 },
+ { 0x5C95, 59776 },
+ { 0x5C9F, 59779 },
+ { 0x5CA0, 59784 },
+ { 0x5C6E, 59789 },
+ { 0x5C18, 59792 },
+ { 0x5C8D, 59796 },
+ { 0x5C8C, 59801 },
+ { 0x5C6D, 59805 },
+ { 0x5BE7, 59808 },
+ { 0x5BEB, 59813 },
+ { 0x5C0E, 59816 },
+ { 0x5C0F, 59820 },
+ { 0x5BE5, 59824 },
+ { 0x5CB1, 59828 },
+ { 0x5C3B, 59831 },
+ { 0x5C19, 59835 },
+ { 0x5BF2, 59839 },
+ { 0x5C96, 59843 },
+ { 0x5CA1, 59846 },
+ { 0x5C23, 59850 },
+ { 0x5CB3, 59855 },
+ { 0x5C12, 59858 },
+ { 0x5BE4, 59862 },
+ { 0x5C87, 59866 },
+ { 0x5C09, 59870 },
+ { 0x5C08, 59874 },
+ { 0x5BE1, 59878 },
+ { 0x5C3E, 59882 },
+ { 0x5C1C, 59886 },
+ { 0x5CBC, 59890 },
+ { 0x5CBD, 59895 },
+ { 0x5CC6, 59901 },
+ { 0x5CC1, 59906 },
+ { 0x5CBE, 59911 },
+ { 0x5CC0, 59916 },
+ { 0x5CC5, 59921 },
+ { 0x5CC4, 59928 },
+ { 0x5CC3, 59935 },
+ { 0x5CC2, 59942 },
+ { 0x5CBF, 59949 },
+ { 0x5C94, 59954 },
+ { 0x5C99, 59957 },
+ { 0x5CA3, 59960 },
+ { 0x5C9A, 59964 },
+ { 0x5C14, 59968 },
+ { 0x5C15, 59972 },
+ { 0x5BE8, 59976 },
+ { 0x5BE0, 59980 },
+ { 0x5CB0, 59984 },
+ { 0x5C25, 59988 },
+ { 0x5C24, 59993 },
+ { 0x5C6B, 59998 },
+ { 0x5CA5, 60001 },
+ { 0x5CA7, 60008 },
+ { 0x5CA6, 60016 },
+ { 0x5CA8, 60023 },
+ { 0x5CA9, 60030 },
+ { 0x5CAA, 60037 },
+ { 0x5CAB, 60045 },
+ { 0x5CAC, 60053 },
+ { 0x5BF5, 60061 },
+ { 0x5BF3, 60064 },
+ { 0x5C39, 60067 },
+ { 0x5C38, 60072 },
+ { 0x5BF0, 60077 },
+ { 0x5BF1, 60080 },
+ { 0x5C0C, 60084 },
+ { 0x5C0D, 60088 },
+ { 0x5CB2, 60092 },
+ { 0x5C3D, 60095 },
+ { 0x5C1B, 60099 },
+ { 0x5C11, 60103 },
+ { 0x5C10, 60108 },
+ { 0x5BE3, 60113 },
+ { 0x5CB5, 60118 },
+ { 0x5C48, 60121 },
+ { 0x5C49, 60125 },
+ { 0x5C4A, 60129 },
+ { 0x5C76, 60133 },
+ { 0x5C07, 60137 },
+ { 0x5C36, 60142 },
+ { 0x5BF6, 60146 },
+ { 0x5C79, 60150 },
+ { 0x5C7A, 60154 },
+ { 0x5C7B, 60158 },
+ { 0x5C7C, 60162 },
+ { 0x5C7D, 60166 },
+ { 0x5C7E, 60170 },
+ { 0x5C7F, 60174 },
+ { 0x5C80, 60178 },
+ { 0x5C81, 60182 },
+ { 0x5C82, 60186 },
+ { 0x5C83, 60190 },
+ { 0x5BED, 60194 },
+ { 0x5BEE, 60198 },
+ { 0x5BEF, 60202 },
+ { 0x5BFB, 60206 },
+ { 0x5CB6, 60210 },
+ { 0x5CBA, 60213 },
+ { 0x5C27, 60217 },
+ { 0x5C2F, 60223 },
+ { 0x5C2E, 60230 },
+ { 0x5C26, 60237 },
+ { 0x5C2D, 60243 },
+ { 0x5C2C, 60249 },
+ { 0x5C29, 60255 },
+ { 0x5C28, 60261 },
+ { 0x5C2B, 60267 },
+ { 0x5C2A, 60273 },
+ { 0x5BF7, 60279 },
+ { 0x5C89, 60283 },
+ { 0x5C64, 60288 },
+ { 0x5C67, 60292 },
+ { 0x5C63, 60296 },
+ { 0x5C88, 60300 },
+ { 0x5C65, 60305 },
+ { 0x5C8B, 60309 },
+ { 0x5C43, 60314 },
+ { 0x5C60, 60318 },
+ { 0x5C66, 60322 },
+ { 0x5C59, 60326 },
+ { 0x5C68, 60330 },
+ { 0x5C4C, 60335 },
+ { 0x5C4D, 60339 },
+ { 0x5C4E, 60343 },
+ { 0x5C4F, 60347 },
+ { 0x5C50, 60351 },
+ { 0x5C5B, 60355 },
+ { 0x5C69, 60359 },
+ { 0x5C5D, 60364 },
+ { 0x5C8A, 60368 },
+ { 0x5C5A, 60372 },
+ { 0x5C45, 60376 },
+ { 0x5C46, 60380 },
+ { 0x5C47, 60384 },
+ { 0x5C4B, 60388 },
+ { 0x5C44, 60393 },
+ { 0x5C5C, 60398 },
+ { 0x5C5F, 60402 },
+ { 0x5C5E, 60406 },
+ { 0x5C70, 60410 },
+ { 0x5BFA, 60413 },
+ { 0x5BF9, 60417 },
+ { 0x5C8F, 60421 },
+ { 0x5C90, 60425 },
+ { 0x5CAE, 60429 },
+ { 0x5CAF, 60434 },
+ { 0x5CB7, 60439 },
+ { 0x5CB8, 60442 },
+ { 0x5CB4, 60446 },
+ { 0x5CB9, 60449 },
+ { 0x5C3F, 60453 },
+ { 0x5C1D, 60457 },
+ { 0x5C61, 60461 },
+ { 0x5C62, 60465 },
+ { 0x5CA2, 60469 },
+ { 0x5C98, 60473 },
+ { 0x5C97, 60477 },
+ { 0x5CA4, 60481 },
+ { 0x5C9C, 60485 },
+ { 0x5C9B, 60489 },
+ { 0x5BFC, 60493 },
+ { 0x5BF8, 60497 },
+ { 0x5C71, 60501 },
+ { 0x5BFD, 60504 },
+ { 0x5C84, 60508 },
+ { 0x5C85, 60511 },
+ { 0x5C34, 60514 },
+ { 0x5C6A, 60518 },
+ { 0x5C16, 60521 },
+ { 0x5C17, 60525 },
+ { 0x5C41, 60529 },
+ { 0x5C1F, 60533 },
+ { 0x5C40, 60537 },
+ { 0x5C1E, 60541 },
+ { 0x5C33, 60545 },
+ { 0x5C32, 60551 },
+ { 0x67DF, 60557 },
+ { 0x67BE, 60559 },
+ { 0x37CA, 60563 },
+ { 0x37CF, 60568 },
+ { 0x37CB, 60573 },
+ { 0x37CE, 60578 },
+ { 0x37CD, 60583 },
+ { 0x37D2, 60588 },
+ { 0x37C9, 60593 },
+ { 0x37D1, 60598 },
+ { 0x37D0, 60603 },
+ { 0x37CC, 60608 },
+ { 0x0DA1, 60613 },
+ { 0x0DA6, 60617 },
+ { 0x0DA2, 60621 },
+ { 0x0DA5, 60625 },
+ { 0x0DA4, 60629 },
+ { 0x0DA9, 60633 },
+ { 0x0DA0, 60637 },
+ { 0x0DA8, 60641 },
+ { 0x0DA7, 60645 },
+ { 0x0DA3, 60649 },
+ { 0x0D47, 60653 },
+ { 0x3846, 60657 },
+ { 0x3847, 60662 },
+ { 0x3848, 60667 },
+ { 0x0D4A, 60672 },
+ { 0x37BE, 60675 },
+ { 0x0D97, 60679 },
+ { 0x0D98, 60683 },
+ { 0x0D99, 60687 },
+ { 0x0D9A, 60691 },
+ { 0x0D9B, 60695 },
+ { 0x0D9C, 60700 },
+ { 0x0D9D, 60705 },
+ { 0x0D9F, 60711 },
+ { 0x0DAA, 60716 },
+ { 0x0DAB, 60720 },
+ { 0x0D5A, 60724 },
+ { 0x0D49, 60728 },
+ { 0x0D5B, 60731 },
+ { 0x0D48, 60734 },
+ { 0x0D79, 60737 },
+ { 0x0D7A, 60743 },
+ { 0x0D7B, 60749 },
+ { 0x0D7C, 60755 },
+ { 0x0D7D, 60761 },
+ { 0x0D46, 60767 },
+ { 0x0D74, 60770 },
+ { 0x0D73, 60777 },
+ { 0x0D51, 60783 },
+ { 0x0D56, 60786 },
+ { 0x0D52, 60789 },
+ { 0x0D55, 60792 },
+ { 0x0D54, 60795 },
+ { 0x0D59, 60798 },
+ { 0x0D50, 60801 },
+ { 0x0D58, 60804 },
+ { 0x0D57, 60807 },
+ { 0x0D53, 60810 },
+ { 0x0D41, 60813 },
+ { 0x0D45, 60817 },
+ { 0x0D3D, 60822 },
+ { 0x0D3F, 60826 },
+ { 0x0D3C, 60830 },
+ { 0x0D42, 60834 },
+ { 0x0D3E, 60838 },
+ { 0x0D40, 60842 },
+ { 0x0D44, 60846 },
+ { 0x0D43, 60851 },
+ { 0x0D81, 60856 },
+ { 0x0D72, 60862 },
+ { 0x0D94, 60868 },
+ { 0x0D95, 60873 },
+ { 0x0D93, 60879 },
+ { 0x0D96, 60884 },
+ { 0x0D3B, 60890 },
+ { 0x0DAC, 60895 },
+ { 0x0DAD, 60900 },
+ { 0x0D83, 60905 },
+ { 0x0D84, 60910 },
+ { 0x0D82, 60915 },
+ { 0x0D68, 60920 },
+ { 0x0D66, 60925 },
+ { 0x0D69, 60930 },
+ { 0x0D67, 60935 },
+ { 0x0D77, 60940 },
+ { 0x0D78, 60947 },
+ { 0x0D31, 60954 },
+ { 0x0D37, 60957 },
+ { 0x0D33, 60960 },
+ { 0x0D39, 60963 },
+ { 0x0D35, 60966 },
+ { 0x0D3A, 60969 },
+ { 0x0D27, 60972 },
+ { 0x0D15, 60975 },
+ { 0x0D22, 60978 },
+ { 0x0D12, 60981 },
+ { 0x0D2F, 60984 },
+ { 0x0D34, 60987 },
+ { 0x0D17, 60990 },
+ { 0x0D10, 60993 },
+ { 0x0D2C, 60996 },
+ { 0x0D29, 60999 },
+ { 0x0D24, 61002 },
+ { 0x0D25, 61005 },
+ { 0x0D2B, 61008 },
+ { 0x0D2E, 61011 },
+ { 0x0D20, 61014 },
+ { 0x0D36, 61017 },
+ { 0x0D2D, 61020 },
+ { 0x0D2A, 61023 },
+ { 0x0D28, 61026 },
+ { 0x0D16, 61029 },
+ { 0x0D1D, 61032 },
+ { 0x0D23, 61035 },
+ { 0x0D13, 61038 },
+ { 0x0D18, 61041 },
+ { 0x0D11, 61044 },
+ { 0x0D30, 61047 },
+ { 0x0D38, 61050 },
+ { 0x0D6C, 61054 },
+ { 0x0D6D, 61058 },
+ { 0x0D6B, 61062 },
+ { 0x0D6A, 61066 },
+ { 0x0D14, 61070 },
+ { 0x0D1F, 61073 },
+ { 0x0D19, 61076 },
+ { 0x0D26, 61079 },
+ { 0x0D60, 61082 },
+ { 0x0D61, 61085 },
+ { 0x37D6, 61088 },
+ { 0x37D4, 61093 },
+ { 0x37C1, 61098 },
+ { 0x37C2, 61103 },
+ { 0x37C4, 61108 },
+ { 0x37D7, 61113 },
+ { 0x37C6, 61118 },
+ { 0x37D5, 61123 },
+ { 0x37C3, 61128 },
+ { 0x37C5, 61133 },
+ { 0x37D3, 61138 },
+ { 0x37C8, 61143 },
+ { 0x37C0, 61148 },
+ { 0x37C7, 61153 },
+ { 0x0D21, 61158 },
+ { 0x0D1B, 61161 },
+ { 0x0D1E, 61164 },
+ { 0x0D1A, 61167 },
+ { 0x0D71, 61170 },
+ { 0x0D32, 61175 },
+ { 0x0D8F, 61179 },
+ { 0x0D88, 61183 },
+ { 0x0D8B, 61187 },
+ { 0x0D8E, 61191 },
+ { 0x0D87, 61195 },
+ { 0x0D91, 61199 },
+ { 0x0D85, 61203 },
+ { 0x0D8C, 61207 },
+ { 0x0D89, 61211 },
+ { 0x37BD, 61215 },
+ { 0x37BA, 61219 },
+ { 0x37B9, 61223 },
+ { 0x37BB, 61227 },
+ { 0x0D86, 61231 },
+ { 0x37BC, 61235 },
+ { 0x0D8A, 61239 },
+ { 0x0D8D, 61243 },
+ { 0x0D90, 61247 },
+ { 0x3849, 61251 },
+ { 0x384A, 61256 },
+ { 0x0D1C, 61261 },
+ { 0x3845, 61264 },
+ { 0x0D4F, 61268 },
+ { 0x0D9E, 61272 },
+ { 0x382C, 61277 },
+ { 0x383A, 61281 },
+ { 0x382B, 61285 },
+ { 0x3838, 61289 },
+ { 0x382E, 61293 },
+ { 0x3836, 61297 },
+ { 0x383E, 61301 },
+ { 0x3837, 61305 },
+ { 0x383C, 61309 },
+ { 0x383D, 61313 },
+ { 0x382D, 61317 },
+ { 0x3833, 61321 },
+ { 0x3835, 61325 },
+ { 0x3839, 61329 },
+ { 0x382F, 61333 },
+ { 0x3830, 61337 },
+ { 0x3831, 61341 },
+ { 0x3834, 61345 },
+ { 0x3832, 61349 },
+ { 0x0D7E, 61353 },
+ { 0x0D7F, 61359 },
+ { 0x0D80, 61365 },
+ { 0x0D64, 61371 },
+ { 0x0D62, 61375 },
+ { 0x0D65, 61379 },
+ { 0x0D63, 61383 },
+ { 0x0D76, 61387 },
+ { 0x0D75, 61393 },
+ { 0x0DAE, 61399 },
+ { 0x0DAF, 61403 },
+ { 0x3843, 61407 },
+ { 0x3844, 61411 },
+ { 0x3842, 61415 },
+ { 0x0D5F, 61419 },
+ { 0x0D5C, 61422 },
+ { 0x0D5D, 61425 },
+ { 0x0D5E, 61428 },
+ { 0x3841, 61431 },
+ { 0x3840, 61435 },
+ { 0x383F, 61439 },
+ { 0x37BF, 61443 },
+ { 0x383B, 61448 },
+ { 0x0D70, 61453 },
+ { 0x0D6F, 61459 },
+ { 0x0D6E, 61465 },
+ { 0x0D92, 61471 },
+ { 0x0D4E, 61477 },
+ { 0x0D4C, 61482 },
+ { 0x0D4D, 61487 },
+ { 0x0D4B, 61492 },
+ { 0x687A, 61497 },
+ { 0x1E08, 61498 },
+ { 0x1DE1, 61505 },
+ { 0x1DE2, 61512 },
+ { 0x1DC9, 61519 },
+ { 0x1DCD, 61524 },
+ { 0x1DD1, 61529 },
+ { 0x1DCA, 61533 },
+ { 0x1DD2, 61538 },
+ { 0x1DCE, 61542 },
+ { 0x1DA0, 61547 },
+ { 0x216C, 61553 },
+ { 0x6A34, 61554 },
+ { 0x26B6, 61556 },
+ { 0x26B7, 61558 },
+ { 0x1BF2, 61560 },
+ { 0x6969, 61563 },
+ { 0x22D5, 61569 },
+ { 0x696A, 61575 },
+ { 0x22D7, 61581 },
+ { 0x24CC, 61587 },
+ { 0x24CD, 61591 },
+ { 0x683F, 61595 },
+ { 0x68E5, 61596 },
+ { 0x69DC, 61598 },
+ { 0x4191, 61601 },
+ { 0x4196, 61604 },
+ { 0x4192, 61607 },
+ { 0x4195, 61610 },
+ { 0x4194, 61613 },
+ { 0x4199, 61616 },
+ { 0x4190, 61619 },
+ { 0x4198, 61622 },
+ { 0x4197, 61625 },
+ { 0x4193, 61628 },
+ { 0x4188, 61631 },
+ { 0x4189, 61634 },
+ { 0x418A, 61637 },
+ { 0x418B, 61640 },
+ { 0x418C, 61643 },
+ { 0x418D, 61646 },
+ { 0x4173, 61649 },
+ { 0x418E, 61652 },
+ { 0x417F, 61655 },
+ { 0x417E, 61658 },
+ { 0x4186, 61661 },
+ { 0x4175, 61664 },
+ { 0x418F, 61667 },
+ { 0x4179, 61670 },
+ { 0x417A, 61673 },
+ { 0x4174, 61676 },
+ { 0x4176, 61679 },
+ { 0x4187, 61682 },
+ { 0x417C, 61685 },
+ { 0x4177, 61688 },
+ { 0x4185, 61691 },
+ { 0x4172, 61694 },
+ { 0x417D, 61697 },
+ { 0x4178, 61700 },
+ { 0x4181, 61703 },
+ { 0x4182, 61706 },
+ { 0x4183, 61709 },
+ { 0x4184, 61712 },
+ { 0x4180, 61715 },
+ { 0x417B, 61718 },
+ { 0x69FB, 61721 },
+ { 0x690C, 61722 },
+ { 0x1D5B, 61723 },
+ { 0x684D, 61725 },
+ { 0x6A38, 61726 },
+ { 0x0005, 61728 },
+ { 0x0075, 61730 },
+ { 0x661B, 61732 },
+ { 0x65FD, 61737 },
+ { 0x65EF, 61742 },
+ { 0x660C, 61747 },
+ { 0x660B, 61752 },
+ { 0x6620, 61756 },
+ { 0x6602, 61761 },
+ { 0x65F4, 61766 },
+ { 0x6611, 61771 },
+ { 0x6624, 61776 },
+ { 0x6606, 61781 },
+ { 0x65F8, 61786 },
+ { 0x6615, 61791 },
+ { 0x661C, 61796 },
+ { 0x65FE, 61801 },
+ { 0x65F0, 61806 },
+ { 0x660D, 61811 },
+ { 0x65EE, 61816 },
+ { 0x661F, 61819 },
+ { 0x6601, 61824 },
+ { 0x65F3, 61829 },
+ { 0x6610, 61834 },
+ { 0x662A, 61839 },
+ { 0x661E, 61842 },
+ { 0x6600, 61847 },
+ { 0x65F2, 61852 },
+ { 0x660F, 61857 },
+ { 0x6625, 61862 },
+ { 0x6607, 61867 },
+ { 0x65F9, 61872 },
+ { 0x6616, 61877 },
+ { 0x6628, 61882 },
+ { 0x660A, 61887 },
+ { 0x65FC, 61892 },
+ { 0x6619, 61897 },
+ { 0x6623, 61902 },
+ { 0x6605, 61907 },
+ { 0x65F7, 61912 },
+ { 0x6614, 61917 },
+ { 0x661A, 61922 },
+ { 0x6622, 61926 },
+ { 0x6604, 61931 },
+ { 0x65F6, 61936 },
+ { 0x6613, 61941 },
+ { 0x6627, 61946 },
+ { 0x6609, 61951 },
+ { 0x65FB, 61956 },
+ { 0x6618, 61961 },
+ { 0x6621, 61966 },
+ { 0x6603, 61971 },
+ { 0x65F5, 61976 },
+ { 0x6612, 61981 },
+ { 0x661D, 61986 },
+ { 0x65FF, 61991 },
+ { 0x65F1, 61996 },
+ { 0x660E, 62001 },
+ { 0x6629, 62006 },
+ { 0x6626, 62010 },
+ { 0x6608, 62015 },
+ { 0x65FA, 62020 },
+ { 0x6617, 62025 },
+ { 0x662B, 62030 },
+ { 0x662C, 62033 },
+ { 0x662D, 62036 },
+ { 0x662E, 62039 },
+ { 0x662F, 62042 },
+ { 0x6630, 62045 },
+ { 0x6631, 62048 },
+ { 0x6632, 62051 },
+ { 0x6633, 62054 },
+ { 0x6634, 62057 },
+ { 0x6635, 62060 },
+ { 0x6636, 62063 },
+ { 0x6637, 62066 },
+ { 0x6638, 62069 },
+ { 0x6639, 62072 },
+ { 0x663A, 62075 },
+ { 0x663B, 62078 },
+ { 0x663C, 62081 },
+ { 0x663D, 62084 },
+ { 0x663E, 62087 },
+ { 0x663F, 62090 },
+ { 0x67A5, 62093 },
+ { 0x6914, 62094 },
+ { 0x6AD4, 62095 },
+ { 0x677D, 62098 },
+ { 0x6A62, 62100 },
+ { 0x6A45, 62103 },
+ { 0x69CC, 62105 },
+ { 0x69DA, 62106 },
+ { 0x45F5, 62108 },
+ { 0x45F4, 62114 },
+ { 0x45E4, 62120 },
+ { 0x45EE, 62124 },
+ { 0x45EC, 62128 },
+ { 0x45F1, 62132 },
+ { 0x45E1, 62136 },
+ { 0x45E7, 62140 },
+ { 0x45E9, 62144 },
+ { 0x45F0, 62148 },
+ { 0x45E8, 62152 },
+ { 0x45E0, 62156 },
+ { 0x45E2, 62160 },
+ { 0x45EF, 62164 },
+ { 0x45E6, 62168 },
+ { 0x45E3, 62172 },
+ { 0x45EA, 62176 },
+ { 0x45ED, 62180 },
+ { 0x45EB, 62184 },
+ { 0x45E5, 62188 },
+ { 0x45F6, 62192 },
+ { 0x45FC, 62196 },
+ { 0x45FA, 62201 },
+ { 0x45F7, 62205 },
+ { 0x45F9, 62209 },
+ { 0x45F8, 62213 },
+ { 0x45FB, 62217 },
+ { 0x45F3, 62221 },
+ { 0x45F2, 62226 },
+ { 0x68F2, 62230 },
+ { 0x218F, 62231 },
+ { 0x1F10, 62233 },
+ { 0x6AA7, 62236 },
+ { 0x6AF9, 62238 },
+ { 0x672E, 62240 },
+ { 0x6BC2, 62241 },
+ { 0x2667, 62247 },
+ { 0x266D, 62253 },
+ { 0x6AA3, 62259 },
+ { 0x003C, 62262 },
+ { 0x251D, 62264 },
+ { 0x251B, 62269 },
+ { 0x22EE, 62272 },
+ { 0x6993, 62276 },
+ { 0x6786, 62278 },
+ { 0x6839, 62281 },
+ { 0x681B, 62282 },
+ { 0x228B, 62283 },
+ { 0x26EB, 62288 },
+ { 0x26ED, 62294 },
+ { 0x228D, 62299 },
+ { 0x1C97, 62303 },
+ { 0x6AC7, 62306 },
+ { 0x67E3, 62307 },
+ { 0x2139, 62311 },
+ { 0x1C65, 62312 },
+ { 0x0066, 62313 },
+ { 0x1E6C, 62315 },
+ { 0x1C7D, 62316 },
+ { 0x21DF, 62318 },
+ { 0x4851, 62319 },
+ { 0x4865, 62321 },
+ { 0x4857, 62323 },
+ { 0x484D, 62326 },
+ { 0x4866, 62329 },
+ { 0x480F, 62332 },
+ { 0x480E, 62335 },
+ { 0x484E, 62338 },
+ { 0x480D, 62341 },
+ { 0x484F, 62344 },
+ { 0x4850, 62347 },
+ { 0x4852, 62350 },
+ { 0x485C, 62352 },
+ { 0x4861, 62355 },
+ { 0x485D, 62358 },
+ { 0x4860, 62361 },
+ { 0x485F, 62364 },
+ { 0x4864, 62367 },
+ { 0x485B, 62370 },
+ { 0x4863, 62373 },
+ { 0x4862, 62376 },
+ { 0x485E, 62379 },
+ { 0x4859, 62382 },
+ { 0x485A, 62387 },
+ { 0x4849, 62390 },
+ { 0x4841, 62394 },
+ { 0x484B, 62398 },
+ { 0x4843, 62402 },
+ { 0x4840, 62406 },
+ { 0x484A, 62410 },
+ { 0x484C, 62414 },
+ { 0x4842, 62418 },
+ { 0x4844, 62422 },
+ { 0x4847, 62426 },
+ { 0x4845, 62431 },
+ { 0x4848, 62436 },
+ { 0x4846, 62441 },
+ { 0x4858, 62446 },
+ { 0x4853, 62450 },
+ { 0x4810, 62453 },
+ { 0x481A, 62456 },
+ { 0x4812, 62459 },
+ { 0x481C, 62462 },
+ { 0x4814, 62465 },
+ { 0x4811, 62468 },
+ { 0x481B, 62471 },
+ { 0x481D, 62474 },
+ { 0x4834, 62477 },
+ { 0x4823, 62480 },
+ { 0x482F, 62483 },
+ { 0x4820, 62486 },
+ { 0x483F, 62489 },
+ { 0x4813, 62492 },
+ { 0x4825, 62495 },
+ { 0x481E, 62498 },
+ { 0x4839, 62501 },
+ { 0x4836, 62504 },
+ { 0x4831, 62507 },
+ { 0x4832, 62510 },
+ { 0x4838, 62513 },
+ { 0x483E, 62516 },
+ { 0x482D, 62519 },
+ { 0x4815, 62522 },
+ { 0x483B, 62525 },
+ { 0x4837, 62528 },
+ { 0x4835, 62531 },
+ { 0x4824, 62534 },
+ { 0x482A, 62537 },
+ { 0x4830, 62540 },
+ { 0x4821, 62543 },
+ { 0x4826, 62546 },
+ { 0x481F, 62549 },
+ { 0x483A, 62552 },
+ { 0x4822, 62555 },
+ { 0x482C, 62558 },
+ { 0x4827, 62561 },
+ { 0x4833, 62564 },
+ { 0x483C, 62567 },
+ { 0x483D, 62570 },
+ { 0x482E, 62573 },
+ { 0x4828, 62576 },
+ { 0x482B, 62579 },
+ { 0x4829, 62582 },
+ { 0x4818, 62585 },
+ { 0x4816, 62589 },
+ { 0x4819, 62593 },
+ { 0x4817, 62597 },
+ { 0x4856, 62601 },
+ { 0x4869, 62604 },
+ { 0x486A, 62607 },
+ { 0x4855, 62610 },
+ { 0x4867, 62612 },
+ { 0x4854, 62614 },
+ { 0x4868, 62617 },
+ { 0x415F, 62620 },
+ { 0x4158, 62623 },
+ { 0x415C, 62626 },
+ { 0x416B, 62629 },
+ { 0x4147, 62632 },
+ { 0x4165, 62635 },
+ { 0x415B, 62638 },
+ { 0x4163, 62641 },
+ { 0x416C, 62644 },
+ { 0x416A, 62647 },
+ { 0x415A, 62650 },
+ { 0x4169, 62653 },
+ { 0x414C, 62656 },
+ { 0x416F, 62659 },
+ { 0x4162, 62662 },
+ { 0x4159, 62665 },
+ { 0x416D, 62668 },
+ { 0x4145, 62671 },
+ { 0x414E, 62674 },
+ { 0x4170, 62677 },
+ { 0x4164, 62680 },
+ { 0x4161, 62683 },
+ { 0x4166, 62686 },
+ { 0x4168, 62689 },
+ { 0x415E, 62692 },
+ { 0x4143, 62695 },
+ { 0x414F, 62698 },
+ { 0x4154, 62701 },
+ { 0x414A, 62704 },
+ { 0x4171, 62707 },
+ { 0x4151, 62710 },
+ { 0x414D, 62713 },
+ { 0x414B, 62716 },
+ { 0x4144, 62719 },
+ { 0x4156, 62722 },
+ { 0x4157, 62725 },
+ { 0x4167, 62728 },
+ { 0x4142, 62731 },
+ { 0x4160, 62734 },
+ { 0x4148, 62737 },
+ { 0x4150, 62740 },
+ { 0x415D, 62743 },
+ { 0x416E, 62746 },
+ { 0x4155, 62749 },
+ { 0x4153, 62752 },
+ { 0x4146, 62755 },
+ { 0x4149, 62758 },
+ { 0x4152, 62761 },
+ { 0x2508, 62764 },
+ { 0x4A15, 62766 },
+ { 0x4A0C, 62771 },
+ { 0x4A0B, 62774 },
+ { 0x4A0D, 62777 },
+ { 0x4A0A, 62780 },
+ { 0x4A09, 62783 },
+ { 0x4A08, 62786 },
+ { 0x4A0E, 62789 },
+ { 0x4A04, 62791 },
+ { 0x49FE, 62795 },
+ { 0x4A06, 62799 },
+ { 0x4A00, 62803 },
+ { 0x49FD, 62807 },
+ { 0x4A05, 62811 },
+ { 0x4A07, 62815 },
+ { 0x49FF, 62819 },
+ { 0x4A01, 62823 },
+ { 0x4A02, 62827 },
+ { 0x4A03, 62832 },
+ { 0x4A28, 62837 },
+ { 0x4A29, 62842 },
+ { 0x4A0F, 62847 },
+ { 0x49CE, 62850 },
+ { 0x49D8, 62853 },
+ { 0x49D0, 62856 },
+ { 0x49DA, 62859 },
+ { 0x49D2, 62862 },
+ { 0x49CF, 62865 },
+ { 0x49D9, 62868 },
+ { 0x49DB, 62871 },
+ { 0x49F2, 62874 },
+ { 0x49E1, 62877 },
+ { 0x49ED, 62880 },
+ { 0x49DE, 62883 },
+ { 0x49FC, 62886 },
+ { 0x49D1, 62889 },
+ { 0x49E3, 62892 },
+ { 0x49DC, 62895 },
+ { 0x49F7, 62898 },
+ { 0x49F4, 62901 },
+ { 0x49EF, 62904 },
+ { 0x49F0, 62907 },
+ { 0x49F6, 62910 },
+ { 0x49FB, 62913 },
+ { 0x49EB, 62916 },
+ { 0x49D3, 62919 },
+ { 0x49F8, 62922 },
+ { 0x49F5, 62925 },
+ { 0x49F3, 62928 },
+ { 0x49E2, 62931 },
+ { 0x49E8, 62934 },
+ { 0x49EE, 62937 },
+ { 0x49DF, 62940 },
+ { 0x49E4, 62943 },
+ { 0x49DD, 62946 },
+ { 0x49E0, 62949 },
+ { 0x49EA, 62952 },
+ { 0x49E5, 62955 },
+ { 0x49F1, 62958 },
+ { 0x49F9, 62961 },
+ { 0x49FA, 62964 },
+ { 0x49EC, 62967 },
+ { 0x49E6, 62970 },
+ { 0x49E9, 62973 },
+ { 0x49E7, 62976 },
+ { 0x49D6, 62979 },
+ { 0x49D4, 62983 },
+ { 0x49D7, 62987 },
+ { 0x49D5, 62991 },
+ { 0x4A27, 62995 },
+ { 0x4A25, 62999 },
+ { 0x4A26, 63004 },
+ { 0x4A24, 63009 },
+ { 0x4A19, 63014 },
+ { 0x4A1A, 63023 },
+ { 0x4A18, 63032 },
+ { 0x4A1D, 63040 },
+ { 0x4A1E, 63046 },
+ { 0x4A22, 63052 },
+ { 0x4A23, 63060 },
+ { 0x4A21, 63068 },
+ { 0x4A17, 63075 },
+ { 0x4A16, 63083 },
+ { 0x4A20, 63091 },
+ { 0x4A1F, 63097 },
+ { 0x4A1B, 63103 },
+ { 0x4A1C, 63108 },
+ { 0x4A11, 63115 },
+ { 0x4A10, 63118 },
+ { 0x4A12, 63121 },
+ { 0x4A13, 63124 },
+ { 0x4A14, 63127 },
+ { 0x25C3, 63130 },
+ { 0x25C4, 63133 },
+ { 0x25C5, 63136 },
+ { 0x25C6, 63142 },
+ { 0x2592, 63148 },
+ { 0x0B97, 63151 },
+ { 0x0B9C, 63155 },
+ { 0x0B98, 63159 },
+ { 0x0B9B, 63163 },
+ { 0x0B9A, 63167 },
+ { 0x0B9F, 63171 },
+ { 0x0B96, 63175 },
+ { 0x0B9E, 63179 },
+ { 0x0B9D, 63183 },
+ { 0x0B99, 63187 },
+ { 0x0B86, 63191 },
+ { 0x0B4A, 63194 },
+ { 0x0B49, 63197 },
+ { 0x0B90, 63200 },
+ { 0x0B8B, 63205 },
+ { 0x0B8D, 63210 },
+ { 0x0B89, 63215 },
+ { 0x0BA1, 63220 },
+ { 0x0BA0, 63225 },
+ { 0x0B8A, 63230 },
+ { 0x0B8C, 63235 },
+ { 0x0B88, 63240 },
+ { 0x0B91, 63245 },
+ { 0x0B8F, 63250 },
+ { 0x0B93, 63254 },
+ { 0x0B92, 63261 },
+ { 0x0B94, 63267 },
+ { 0x0B87, 63273 },
+ { 0x0B95, 63277 },
+ { 0x0B8E, 63281 },
+ { 0x0B7B, 63285 },
+ { 0x0B4B, 63289 },
+ { 0x0B57, 63292 },
+ { 0x0B4F, 63295 },
+ { 0x0B5A, 63298 },
+ { 0x0B51, 63301 },
+ { 0x0B4C, 63304 },
+ { 0x0B4D, 63307 },
+ { 0x0B59, 63310 },
+ { 0x0B5C, 63313 },
+ { 0x0B7E, 63316 },
+ { 0x0B74, 63320 },
+ { 0x0B82, 63324 },
+ { 0x0B58, 63328 },
+ { 0x0B85, 63331 },
+ { 0x0B83, 63334 },
+ { 0x0B50, 63337 },
+ { 0x0B61, 63340 },
+ { 0x0B7A, 63344 },
+ { 0x0B5B, 63347 },
+ { 0x0B7D, 63350 },
+ { 0x0B75, 63353 },
+ { 0x0B62, 63357 },
+ { 0x0B69, 63361 },
+ { 0x0B6F, 63365 },
+ { 0x0B80, 63369 },
+ { 0x0B68, 63373 },
+ { 0x0B67, 63378 },
+ { 0x0B52, 63382 },
+ { 0x0B7F, 63385 },
+ { 0x0B7C, 63388 },
+ { 0x0B4E, 63391 },
+ { 0x0B55, 63394 },
+ { 0x0B53, 63397 },
+ { 0x0B56, 63400 },
+ { 0x0B54, 63403 },
+ { 0x0B84, 63406 },
+ { 0x0B6E, 63410 },
+ { 0x0B81, 63414 },
+ { 0x0B78, 63418 },
+ { 0x0B63, 63422 },
+ { 0x0B72, 63426 },
+ { 0x0B5F, 63430 },
+ { 0x0B65, 63434 },
+ { 0x0B5D, 63438 },
+ { 0x0B76, 63442 },
+ { 0x0B70, 63446 },
+ { 0x0B6C, 63450 },
+ { 0x0B6A, 63454 },
+ { 0x0B79, 63458 },
+ { 0x0B64, 63462 },
+ { 0x0B73, 63466 },
+ { 0x0B60, 63470 },
+ { 0x0B66, 63474 },
+ { 0x0B5E, 63478 },
+ { 0x0B77, 63482 },
+ { 0x0B71, 63486 },
+ { 0x0B6D, 63490 },
+ { 0x0B6B, 63494 },
+ { 0x486B, 63498 },
+ { 0x4870, 63502 },
+ { 0x486C, 63506 },
+ { 0x486F, 63510 },
+ { 0x486E, 63514 },
+ { 0x4873, 63518 },
+ { 0x4872, 63522 },
+ { 0x4871, 63526 },
+ { 0x486D, 63530 },
+ { 0x487D, 63534 },
+ { 0x487E, 63539 },
+ { 0x4874, 63544 },
+ { 0x4878, 63548 },
+ { 0x4877, 63552 },
+ { 0x4879, 63556 },
+ { 0x487B, 63560 },
+ { 0x487C, 63564 },
+ { 0x4876, 63568 },
+ { 0x4875, 63572 },
+ { 0x487A, 63576 },
+ { 0x0BA2, 63580 },
+ { 0x2260, 63583 },
+ { 0x25BB, 63586 },
+ { 0x25BD, 63591 },
+ { 0x25BC, 63599 },
+ { 0x25BE, 63604 },
+ { 0x2680, 63612 },
+ { 0x2682, 63618 },
+ { 0x257D, 63624 },
+ { 0x257E, 63627 },
+ { 0x25D0, 63630 },
+ { 0x25D2, 63632 },
+ { 0x6A5E, 63637 },
+ { 0x6A5F, 63643 },
+ { 0x6A2B, 63649 },
+ { 0x6A27, 63653 },
+ { 0x6A29, 63658 },
+ { 0x6A28, 63666 },
+ { 0x6A2A, 63674 },
+ { 0x6A2C, 63682 },
+ { 0x6A2E, 63686 },
+ { 0x6A32, 63691 },
+ { 0x6A31, 63695 },
+ { 0x6AD0, 63700 },
+ { 0x2129, 63702 },
+ { 0x21EA, 63703 },
+ { 0x000F, 63706 },
+ { 0x251C, 63707 },
+ { 0x226D, 63710 },
+ { 0x692E, 63711 },
+ { 0x692F, 63712 },
+ { 0x6930, 63717 },
+ { 0x692D, 63722 },
+ { 0x66C9, 63726 },
+ { 0x6686, 63728 },
+ { 0x66CC, 63730 },
+ { 0x6687, 63732 },
+ { 0x66CE, 63734 },
+ { 0x66CF, 63736 },
+ { 0x6688, 63738 },
+ { 0x6689, 63740 },
+ { 0x66D1, 63742 },
+ { 0x66D2, 63747 },
+ { 0x668B, 63749 },
+ { 0x6709, 63751 },
+ { 0x670A, 63755 },
+ { 0x670D, 63759 },
+ { 0x66F4, 63763 },
+ { 0x66F8, 63767 },
+ { 0x66FE, 63771 },
+ { 0x6700, 63775 },
+ { 0x66FC, 63779 },
+ { 0x6719, 63783 },
+ { 0x66F2, 63787 },
+ { 0x670E, 63791 },
+ { 0x6714, 63795 },
+ { 0x6705, 63799 },
+ { 0x671A, 63803 },
+ { 0x6704, 63807 },
+ { 0x66F5, 63811 },
+ { 0x66F7, 63815 },
+ { 0x66F1, 63819 },
+ { 0x670C, 63823 },
+ { 0x66FD, 63827 },
+ { 0x66F0, 63831 },
+ { 0x6711, 63835 },
+ { 0x6707, 63839 },
+ { 0x670F, 63843 },
+ { 0x6708, 63847 },
+ { 0x66FB, 63851 },
+ { 0x66FF, 63855 },
+ { 0x66F9, 63859 },
+ { 0x6717, 63863 },
+ { 0x6716, 63867 },
+ { 0x6715, 63871 },
+ { 0x6706, 63875 },
+ { 0x66FA, 63879 },
+ { 0x6702, 63883 },
+ { 0x6718, 63887 },
+ { 0x6712, 63891 },
+ { 0x6713, 63895 },
+ { 0x6701, 63899 },
+ { 0x66F6, 63903 },
+ { 0x6703, 63907 },
+ { 0x6710, 63911 },
+ { 0x670B, 63915 },
+ { 0x1DFA, 63919 },
+ { 0x21E5, 63922 },
+ { 0x66CD, 63924 },
+ { 0x668A, 63926 },
+ { 0x66D0, 63928 },
+ { 0x66CA, 63930 },
+ { 0x28EB, 63932 },
+ { 0x66CB, 63936 },
+ { 0x1DF7, 63938 },
+ { 0x666C, 63940 },
+ { 0x666D, 63945 },
+ { 0x666E, 63950 },
+ { 0x666F, 63955 },
+ { 0x6670, 63960 },
+ { 0x6671, 63965 },
+ { 0x6672, 63970 },
+ { 0x6673, 63975 },
+ { 0x6674, 63980 },
+ { 0x6675, 63985 },
+ { 0x6676, 63990 },
+ { 0x6677, 63995 },
+ { 0x6678, 64000 },
+ { 0x6679, 64005 },
+ { 0x667A, 64010 },
+ { 0x667B, 64015 },
+ { 0x667C, 64020 },
+ { 0x667D, 64025 },
+ { 0x667E, 64030 },
+ { 0x667F, 64035 },
+ { 0x6680, 64040 },
+ { 0x6681, 64045 },
+ { 0x6682, 64050 },
+ { 0x6683, 64055 },
+ { 0x6684, 64060 },
+ { 0x6685, 64065 },
+ { 0x1DF8, 64070 },
+ { 0x24ED, 64072 },
+ { 0x1DF9, 64075 },
+ { 0x24EA, 64077 },
+ { 0x24EE, 64081 },
+ { 0x24EB, 64083 },
+ { 0x22F5, 64087 },
+ { 0x22F4, 64090 },
+ { 0x2203, 64093 },
+ { 0x24EC, 64095 },
+ { 0x66F3, 64097 },
+ { 0x66EF, 64100 },
+ { 0x66EE, 64103 },
+ { 0x6805, 64106 },
+ { 0x69A8, 64107 },
+ { 0x6AAD, 64109 },
+ { 0x672B, 64110 },
+ { 0x672A, 64111 },
+ { 0x1D88, 64114 },
+ { 0x67F0, 64116 },
+ { 0x68AF, 64117 },
+ { 0x687B, 64118 },
+ { 0x13ED, 64119 },
+ { 0x13EB, 64122 },
+ { 0x13EC, 64126 },
+ { 0x13DA, 64130 },
+ { 0x13DB, 64133 },
+ { 0x13DC, 64136 },
+ { 0x13E4, 64139 },
+ { 0x13E1, 64142 },
+ { 0x13DE, 64145 },
+ { 0x13EA, 64148 },
+ { 0x13DD, 64151 },
+ { 0x13E7, 64154 },
+ { 0x13E5, 64157 },
+ { 0x13E2, 64160 },
+ { 0x13E3, 64163 },
+ { 0x13E9, 64166 },
+ { 0x13E0, 64169 },
+ { 0x13E8, 64172 },
+ { 0x13E6, 64175 },
+ { 0x13DF, 64178 },
+ { 0x68D3, 64181 },
+ { 0x26BA, 64183 },
+ { 0x22C8, 64188 },
+ { 0x26BC, 64192 },
+ { 0x26BD, 64197 },
+ { 0x26BB, 64202 },
+ { 0x22C9, 64207 },
+ { 0x21EE, 64211 },
+ { 0x0CF4, 64215 },
+ { 0x0CF5, 64219 },
+ { 0x0C7A, 64226 },
+ { 0x0C79, 64231 },
+ { 0x0C75, 64236 },
+ { 0x0C78, 64240 },
+ { 0x0C77, 64245 },
+ { 0x0C4E, 64250 },
+ { 0x0C76, 64256 },
+ { 0x0C44, 64260 },
+ { 0x0D05, 64267 },
+ { 0x0C47, 64274 },
+ { 0x0C40, 64280 },
+ { 0x0C3F, 64289 },
+ { 0x0C3E, 64298 },
+ { 0x0C51, 64305 },
+ { 0x0C72, 64309 },
+ { 0x0C74, 64315 },
+ { 0x0C4B, 64321 },
+ { 0x0D07, 64325 },
+ { 0x0C4D, 64329 },
+ { 0x0C4F, 64334 },
+ { 0x0C4A, 64339 },
+ { 0x0C71, 64342 },
+ { 0x0D05, 64346 },
+ { 0x0C46, 64353 },
+ { 0x0C43, 64358 },
+ { 0x0C50, 64366 },
+ { 0x0C73, 64374 },
+ { 0x0D06, 64382 },
+ { 0x0C45, 64389 },
+ { 0x0C4C, 64393 },
+ { 0x0CBD, 64397 },
+ { 0x0C42, 64400 },
+ { 0x0D09, 64407 },
+ { 0x0CBC, 64416 },
+ { 0x0C41, 64419 },
+ { 0x0D08, 64426 },
+ { 0x0D0E, 64435 },
+ { 0x0D0F, 64440 },
+ { 0x0C49, 64445 },
+ { 0x0C48, 64450 },
+ { 0x0CC2, 64454 },
+ { 0x0CC3, 64459 },
+ { 0x0CC0, 64464 },
+ { 0x0CBE, 64469 },
+ { 0x0C7C, 64473 },
+ { 0x0CBA, 64477 },
+ { 0x0CBB, 64483 },
+ { 0x0C7B, 64487 },
+ { 0x0CC1, 64491 },
+ { 0x0C5A, 64495 },
+ { 0x0D04, 64500 },
+ { 0x0D03, 64505 },
+ { 0x0C5B, 64511 },
+ { 0x0C57, 64516 },
+ { 0x0C59, 64521 },
+ { 0x0C5C, 64526 },
+ { 0x0C58, 64532 },
+ { 0x0CB6, 64537 },
+ { 0x0CB7, 64543 },
+ { 0x0CBF, 64547 },
+ { 0x0CC4, 64551 },
+ { 0x0C5E, 64556 },
+ { 0x0C63, 64559 },
+ { 0x0C5F, 64562 },
+ { 0x0C62, 64565 },
+ { 0x0C61, 64568 },
+ { 0x0C67, 64571 },
+ { 0x0C6C, 64575 },
+ { 0x0C68, 64579 },
+ { 0x0C6B, 64583 },
+ { 0x0C6A, 64587 },
+ { 0x0C6F, 64591 },
+ { 0x0C70, 64595 },
+ { 0x0C6E, 64599 },
+ { 0x0C6D, 64603 },
+ { 0x0C69, 64607 },
+ { 0x0C66, 64611 },
+ { 0x0C5D, 64614 },
+ { 0x0C65, 64617 },
+ { 0x0C64, 64620 },
+ { 0x0C60, 64623 },
+ { 0x0CB2, 64626 },
+ { 0x0CAA, 64630 },
+ { 0x0CB4, 64634 },
+ { 0x0CAC, 64638 },
+ { 0x0CA9, 64642 },
+ { 0x0CB3, 64646 },
+ { 0x0CAB, 64650 },
+ { 0x0CB5, 64654 },
+ { 0x0CAD, 64658 },
+ { 0x0CB0, 64662 },
+ { 0x0CAE, 64667 },
+ { 0x0CB1, 64672 },
+ { 0x0CAF, 64677 },
+ { 0x0CB8, 64682 },
+ { 0x0CB9, 64687 },
+ { 0x0CA4, 64692 },
+ { 0x0C9C, 64695 },
+ { 0x0C92, 64698 },
+ { 0x0C82, 64701 },
+ { 0x0C8D, 64704 },
+ { 0x0C7F, 64707 },
+ { 0x0CA3, 64710 },
+ { 0x0C84, 64713 },
+ { 0x0C7D, 64716 },
+ { 0x0C9F, 64719 },
+ { 0x0C94, 64722 },
+ { 0x0C8F, 64725 },
+ { 0x0C90, 64728 },
+ { 0x0C9E, 64731 },
+ { 0x0CA2, 64734 },
+ { 0x0C8B, 64737 },
+ { 0x0C99, 64740 },
+ { 0x0C9D, 64743 },
+ { 0x0C9B, 64746 },
+ { 0x0C93, 64749 },
+ { 0x0C83, 64752 },
+ { 0x0C88, 64755 },
+ { 0x0C8E, 64758 },
+ { 0x0C97, 64761 },
+ { 0x0C80, 64764 },
+ { 0x0C7E, 64767 },
+ { 0x0CA7, 64770 },
+ { 0x0C81, 64773 },
+ { 0x0C8A, 64776 },
+ { 0x0C85, 64779 },
+ { 0x0C91, 64782 },
+ { 0x0CA8, 64785 },
+ { 0x0CA0, 64788 },
+ { 0x0CA1, 64791 },
+ { 0x0C8C, 64794 },
+ { 0x0C95, 64797 },
+ { 0x0C86, 64800 },
+ { 0x0C9A, 64803 },
+ { 0x0C89, 64806 },
+ { 0x0C98, 64809 },
+ { 0x0CA5, 64812 },
+ { 0x0C96, 64815 },
+ { 0x0C87, 64818 },
+ { 0x0CA6, 64821 },
+ { 0x0CFF, 64825 },
+ { 0x0D02, 64829 },
+ { 0x0D01, 64835 },
+ { 0x0D00, 64841 },
+ { 0x0CFB, 64847 },
+ { 0x0CFD, 64851 },
+ { 0x0CFA, 64857 },
+ { 0x0CFE, 64861 },
+ { 0x0CFC, 64865 },
+ { 0x0C52, 64869 },
+ { 0x0C53, 64874 },
+ { 0x0C3D, 64879 },
+ { 0x0CC5, 64882 },
+ { 0x0CC6, 64888 },
+ { 0x0CC7, 64893 },
+ { 0x0CEF, 64899 },
+ { 0x0CE7, 64903 },
+ { 0x0CDD, 64907 },
+ { 0x0CCD, 64911 },
+ { 0x0CD8, 64915 },
+ { 0x0CCA, 64919 },
+ { 0x0CEE, 64923 },
+ { 0x0CCF, 64927 },
+ { 0x0CC8, 64931 },
+ { 0x0CEA, 64935 },
+ { 0x0CDF, 64939 },
+ { 0x0CDA, 64943 },
+ { 0x0CDB, 64947 },
+ { 0x0CE9, 64951 },
+ { 0x0CED, 64955 },
+ { 0x0CD6, 64959 },
+ { 0x0CE4, 64963 },
+ { 0x0CE8, 64967 },
+ { 0x0CE6, 64971 },
+ { 0x0CDE, 64975 },
+ { 0x0CCE, 64979 },
+ { 0x0CD3, 64983 },
+ { 0x0CD9, 64987 },
+ { 0x0CE2, 64991 },
+ { 0x0CCB, 64995 },
+ { 0x0CC9, 64999 },
+ { 0x0CCC, 65003 },
+ { 0x0CD5, 65007 },
+ { 0x0CD0, 65011 },
+ { 0x0CDC, 65015 },
+ { 0x0CEB, 65019 },
+ { 0x0CEC, 65023 },
+ { 0x0CD7, 65027 },
+ { 0x0CE0, 65031 },
+ { 0x0CD1, 65035 },
+ { 0x0CE5, 65039 },
+ { 0x0CD4, 65043 },
+ { 0x0CE3, 65047 },
+ { 0x0CF0, 65051 },
+ { 0x0CE1, 65055 },
+ { 0x0CD2, 65059 },
+ { 0x0CF3, 65063 },
+ { 0x0CF1, 65068 },
+ { 0x0CF2, 65073 },
+ { 0x0C54, 65078 },
+ { 0x0C56, 65085 },
+ { 0x0C55, 65090 },
+ { 0x0CF8, 65095 },
+ { 0x0CF9, 65100 },
+ { 0x0CF6, 65105 },
+ { 0x0CF7, 65110 },
+ { 0x49C3, 65115 },
+ { 0x497C, 65117 },
+ { 0x49BF, 65119 },
+ { 0x49BE, 65122 },
+ { 0x49BD, 65125 },
+ { 0x49BC, 65128 },
+ { 0x49C0, 65131 },
+ { 0x49BB, 65134 },
+ { 0x49C5, 65137 },
+ { 0x49CA, 65140 },
+ { 0x49C6, 65143 },
+ { 0x49C9, 65146 },
+ { 0x49C8, 65149 },
+ { 0x49CD, 65152 },
+ { 0x49C4, 65155 },
+ { 0x49CC, 65158 },
+ { 0x49CB, 65161 },
+ { 0x49C7, 65164 },
+ { 0x49C1, 65167 },
+ { 0x49B5, 65169 },
+ { 0x49AD, 65173 },
+ { 0x49B8, 65177 },
+ { 0x49AF, 65181 },
+ { 0x49AC, 65185 },
+ { 0x49B7, 65189 },
+ { 0x49BA, 65193 },
+ { 0x49AE, 65197 },
+ { 0x49B0, 65201 },
+ { 0x49B6, 65205 },
+ { 0x49B9, 65210 },
+ { 0x49B3, 65215 },
+ { 0x49B1, 65220 },
+ { 0x49B4, 65225 },
+ { 0x49B2, 65230 },
+ { 0x497D, 65235 },
+ { 0x4987, 65238 },
+ { 0x497F, 65241 },
+ { 0x4989, 65244 },
+ { 0x4981, 65247 },
+ { 0x497E, 65250 },
+ { 0x4988, 65253 },
+ { 0x498A, 65256 },
+ { 0x49A1, 65259 },
+ { 0x4990, 65262 },
+ { 0x499C, 65265 },
+ { 0x498D, 65268 },
+ { 0x49AB, 65271 },
+ { 0x4980, 65274 },
+ { 0x4992, 65277 },
+ { 0x498B, 65280 },
+ { 0x49A6, 65283 },
+ { 0x49A3, 65286 },
+ { 0x499E, 65289 },
+ { 0x499F, 65292 },
+ { 0x49A5, 65295 },
+ { 0x49AA, 65298 },
+ { 0x499A, 65301 },
+ { 0x4982, 65304 },
+ { 0x49A7, 65307 },
+ { 0x49A4, 65310 },
+ { 0x49A2, 65313 },
+ { 0x4991, 65316 },
+ { 0x4997, 65319 },
+ { 0x499D, 65322 },
+ { 0x498E, 65325 },
+ { 0x4993, 65328 },
+ { 0x498C, 65331 },
+ { 0x498F, 65334 },
+ { 0x4999, 65337 },
+ { 0x4994, 65340 },
+ { 0x49A0, 65343 },
+ { 0x49A8, 65346 },
+ { 0x49A9, 65349 },
+ { 0x499B, 65352 },
+ { 0x4995, 65355 },
+ { 0x4998, 65358 },
+ { 0x4996, 65361 },
+ { 0x4985, 65364 },
+ { 0x4983, 65368 },
+ { 0x4986, 65372 },
+ { 0x4984, 65376 },
+ { 0x49C2, 65380 },
+ { 0x6AC0, 65383 },
+ { 0x6957, 65384 },
+ { 0x2158, 65386 },
+ { 0x2157, 65389 },
+ { 0x215A, 65392 },
+ { 0x215D, 65395 },
+ { 0x215B, 65398 },
+ { 0x2156, 65401 },
+ { 0x2159, 65404 },
+ { 0x215C, 65407 },
+ { 0x67E0, 65410 },
+ { 0x1C37, 65411 },
+ { 0x6926, 65414 },
+ { 0x6C70, 65417 },
+ { 0x1CF8, 65419 },
+ { 0x1CEA, 65423 },
+ { 0x2438, 65425 },
+ { 0x1CFE, 65429 },
+ { 0x1D09, 65433 },
+ { 0x1D0A, 65438 },
+ { 0x6BD8, 65443 },
+ { 0x6BD0, 65449 },
+ { 0x6BDC, 65455 },
+ { 0x1D37, 65461 },
+ { 0x6BD4, 65466 },
+ { 0x6C4E, 65472 },
+ { 0x242F, 65477 },
+ { 0x6BE0, 65482 },
+ { 0x1D1E, 65487 },
+ { 0x262C, 65493 },
+ { 0x26AD, 65496 },
+ { 0x6C10, 65501 },
+ { 0x6C0C, 65504 },
+ { 0x1D40, 65508 },
+ { 0x1D44, 65511 },
+ { 0x1D46, 65516 },
+ { 0x1D45, 65524 },
+ { 0x1D43, 65532 },
+ { 0x26DA, 65537 },
+ { 0x6C4A, 65545 },
+ { 0x1D47, 65551 },
+ { 0x1D48, 65555 },
+ { 0x28D4, 65561 },
+ { 0x1D3A, 65563 },
+ { 0x1D2A, 65566 },
+ { 0x1D21, 65569 },
+ { 0x6A91, 65572 },
+ { 0x2430, 65574 },
+ { 0x247E, 65577 },
+ { 0x2486, 65584 },
+ { 0x2489, 65591 },
+ { 0x2494, 65602 },
+ { 0x247A, 65613 },
+ { 0x2482, 65620 },
+ { 0x1D18, 65627 },
+ { 0x1D17, 65632 },
+ { 0x6C04, 65637 },
+ { 0x6C46, 65640 },
+ { 0x2316, 65643 },
+ { 0x6C08, 65646 },
+ { 0x6C14, 65649 },
+ { 0x246F, 65652 },
+ { 0x26F1, 65658 },
+ { 0x6C00, 65664 },
+ { 0x2687, 65667 },
+ { 0x2697, 65670 },
+ { 0x6BF4, 65675 },
+ { 0x26C4, 65681 },
+ { 0x26C5, 65688 },
+ { 0x6BFC, 65695 },
+ { 0x6BF8, 65702 },
+ { 0x269F, 65708 },
+ { 0x6BF0, 65715 },
+ { 0x6BEC, 65721 },
+ { 0x26A5, 65727 },
+ { 0x2691, 65735 },
+ { 0x26A9, 65739 },
+ { 0x2232, 65743 },
+ { 0x6731, 65745 },
+ { 0x21C6, 65746 },
+ { 0x68B8, 65748 },
+ { 0x6A2D, 65749 },
+ { 0x6A43, 65751 },
+ { 0x67A7, 65753 },
+ { 0x2233, 65755 },
+ { 0x1BF0, 65757 },
+ { 0x1BEE, 65761 },
+ { 0x222E, 65764 },
+ { 0x6B01, 65765 },
+ { 0x6B00, 65767 },
+ { 0x67EE, 65769 },
+ { 0x1C88, 65771 },
+ { 0x2178, 65773 },
+ { 0x053E, 65774 },
+ { 0x053A, 65777 },
+ { 0x0510, 65780 },
+ { 0x0520, 65782 },
+ { 0x0533, 65786 },
+ { 0x0516, 65790 },
+ { 0x0519, 65794 },
+ { 0x051A, 65798 },
+ { 0x0522, 65802 },
+ { 0x0523, 65806 },
+ { 0x0537, 65810 },
+ { 0x052E, 65814 },
+ { 0x051B, 65818 },
+ { 0x052A, 65822 },
+ { 0x0527, 65826 },
+ { 0x0518, 65830 },
+ { 0x0513, 65834 },
+ { 0x0514, 65838 },
+ { 0x052B, 65842 },
+ { 0x0517, 65846 },
+ { 0x0538, 65850 },
+ { 0x0515, 65854 },
+ { 0x051D, 65858 },
+ { 0x0536, 65862 },
+ { 0x0521, 65866 },
+ { 0x0526, 65870 },
+ { 0x0528, 65874 },
+ { 0x052C, 65878 },
+ { 0x0532, 65882 },
+ { 0x052F, 65886 },
+ { 0x0529, 65890 },
+ { 0x0530, 65894 },
+ { 0x051F, 65898 },
+ { 0x051C, 65902 },
+ { 0x0525, 65906 },
+ { 0x0524, 65910 },
+ { 0x052D, 65914 },
+ { 0x051E, 65918 },
+ { 0x0535, 65922 },
+ { 0x0531, 65926 },
+ { 0x0534, 65930 },
+ { 0x0539, 65934 },
+ { 0x39DD, 65939 },
+ { 0x39DE, 65944 },
+ { 0x39DC, 65949 },
+ { 0x39E0, 65954 },
+ { 0x39DF, 65959 },
+ { 0x053B, 65964 },
+ { 0x04F3, 65966 },
+ { 0x0506, 65970 },
+ { 0x04E9, 65974 },
+ { 0x04EC, 65978 },
+ { 0x04ED, 65982 },
+ { 0x04F5, 65986 },
+ { 0x04F6, 65990 },
+ { 0x050A, 65994 },
+ { 0x0501, 65998 },
+ { 0x04EE, 66002 },
+ { 0x04FD, 66006 },
+ { 0x04FA, 66010 },
+ { 0x04EB, 66014 },
+ { 0x04E6, 66018 },
+ { 0x04E7, 66022 },
+ { 0x04FE, 66026 },
+ { 0x04EA, 66030 },
+ { 0x050B, 66034 },
+ { 0x04E8, 66038 },
+ { 0x04F0, 66042 },
+ { 0x0509, 66046 },
+ { 0x04F4, 66050 },
+ { 0x04F9, 66054 },
+ { 0x04FB, 66058 },
+ { 0x04FF, 66062 },
+ { 0x0505, 66066 },
+ { 0x0502, 66070 },
+ { 0x04FC, 66074 },
+ { 0x0503, 66078 },
+ { 0x04F2, 66082 },
+ { 0x04EF, 66086 },
+ { 0x04F8, 66090 },
+ { 0x04F7, 66094 },
+ { 0x0500, 66098 },
+ { 0x04F1, 66102 },
+ { 0x0508, 66106 },
+ { 0x0504, 66110 },
+ { 0x0507, 66114 },
+ { 0x050E, 66118 },
+ { 0x050C, 66121 },
+ { 0x0511, 66127 },
+ { 0x050D, 66130 },
+ { 0x050F, 66132 },
+ { 0x0512, 66135 },
+ { 0x000A, 66138 },
+ { 0x1D70, 66139 },
+ { 0x1BC6, 66141 },
+ { 0x6885, 66142 },
+ { 0x6851, 66144 },
+ { 0x1749, 66146 },
+ { 0x1705, 66149 },
+ { 0x1706, 66153 },
+ { 0x1709, 66157 },
+ { 0x1707, 66160 },
+ { 0x1708, 66163 },
+ { 0x1739, 66166 },
+ { 0x175F, 66169 },
+ { 0x1760, 66172 },
+ { 0x175E, 66175 },
+ { 0x1752, 66178 },
+ { 0x1757, 66181 },
+ { 0x1753, 66184 },
+ { 0x1756, 66187 },
+ { 0x1755, 66190 },
+ { 0x175A, 66193 },
+ { 0x1751, 66196 },
+ { 0x1759, 66199 },
+ { 0x1758, 66202 },
+ { 0x1754, 66205 },
+ { 0x175B, 66208 },
+ { 0x1741, 66210 },
+ { 0x1742, 66215 },
+ { 0x173F, 66221 },
+ { 0x1740, 66226 },
+ { 0x173B, 66232 },
+ { 0x173C, 66236 },
+ { 0x173D, 66241 },
+ { 0x173E, 66245 },
+ { 0x1747, 66250 },
+ { 0x1748, 66254 },
+ { 0x1743, 66259 },
+ { 0x1744, 66263 },
+ { 0x1746, 66268 },
+ { 0x1745, 66274 },
+ { 0x173A, 66279 },
+ { 0x175D, 66283 },
+ { 0x172E, 66285 },
+ { 0x172F, 66288 },
+ { 0x171D, 66292 },
+ { 0x171E, 66295 },
+ { 0x1729, 66299 },
+ { 0x172A, 66302 },
+ { 0x1724, 66306 },
+ { 0x1725, 66311 },
+ { 0x174D, 66316 },
+ { 0x171A, 66320 },
+ { 0x171B, 66323 },
+ { 0x1738, 66327 },
+ { 0x171F, 66330 },
+ { 0x1720, 66333 },
+ { 0x1718, 66337 },
+ { 0x1719, 66340 },
+ { 0x1733, 66344 },
+ { 0x1712, 66347 },
+ { 0x1713, 66351 },
+ { 0x1730, 66356 },
+ { 0x172B, 66359 },
+ { 0x1726, 66362 },
+ { 0x172C, 66366 },
+ { 0x172D, 66369 },
+ { 0x1732, 66373 },
+ { 0x1710, 66376 },
+ { 0x1711, 66380 },
+ { 0x1737, 66385 },
+ { 0x1735, 66388 },
+ { 0x1736, 66392 },
+ { 0x1727, 66396 },
+ { 0x1728, 66399 },
+ { 0x1722, 66403 },
+ { 0x1723, 66407 },
+ { 0x174E, 66412 },
+ { 0x1734, 66416 },
+ { 0x1731, 66419 },
+ { 0x174A, 66422 },
+ { 0x171C, 66426 },
+ { 0x1721, 66429 },
+ { 0x174F, 66432 },
+ { 0x174B, 66436 },
+ { 0x174C, 66440 },
+ { 0x170A, 66444 },
+ { 0x170B, 66447 },
+ { 0x1714, 66451 },
+ { 0x170C, 66454 },
+ { 0x170D, 66457 },
+ { 0x1716, 66461 },
+ { 0x1717, 66464 },
+ { 0x170E, 66468 },
+ { 0x170F, 66471 },
+ { 0x1715, 66475 },
+ { 0x1750, 66478 },
+ { 0x175C, 66482 },
+ { 0x1765, 66484 },
+ { 0x176B, 66488 },
+ { 0x1766, 66493 },
+ { 0x1763, 66498 },
+ { 0x1767, 66502 },
+ { 0x1762, 66506 },
+ { 0x1764, 66510 },
+ { 0x1768, 66514 },
+ { 0x176A, 66518 },
+ { 0x1769, 66522 },
+ { 0x1774, 66526 },
+ { 0x1773, 66531 },
+ { 0x176D, 66536 },
+ { 0x176C, 66541 },
+ { 0x176F, 66546 },
+ { 0x1772, 66551 },
+ { 0x176E, 66558 },
+ { 0x1771, 66563 },
+ { 0x1770, 66570 },
+ { 0x1779, 66575 },
+ { 0x177D, 66581 },
+ { 0x177A, 66587 },
+ { 0x177B, 66593 },
+ { 0x177C, 66599 },
+ { 0x1776, 66605 },
+ { 0x1775, 66611 },
+ { 0x1778, 66617 },
+ { 0x1777, 66623 },
+ { 0x1761, 66629 },
+ { 0x68DA, 66631 },
+ { 0x68DC, 66635 },
+ { 0x68DD, 66639 },
+ { 0x68DB, 66643 },
+ { 0x21E4, 66647 },
+ { 0x67A8, 66648 },
+ { 0x6847, 66650 },
+ { 0x693C, 66651 },
+ { 0x68F7, 66652 },
+ { 0x2C02, 66654 },
+ { 0x2C01, 66658 },
+ { 0x2BFF, 66662 },
+ { 0x2C00, 66666 },
+ { 0x2B69, 66670 },
+ { 0x2B54, 66673 },
+ { 0x2B67, 66676 },
+ { 0x2B58, 66679 },
+ { 0x2B6B, 66682 },
+ { 0x2B57, 66685 },
+ { 0x2B5C, 66688 },
+ { 0x2B5E, 66691 },
+ { 0x2B76, 66694 },
+ { 0x2B5F, 66697 },
+ { 0x2B5D, 66700 },
+ { 0x2B5B, 66703 },
+ { 0x2B56, 66706 },
+ { 0x2B5A, 66709 },
+ { 0x2B6A, 66712 },
+ { 0x2B55, 66715 },
+ { 0x2B60, 66718 },
+ { 0x2B65, 66721 },
+ { 0x2B68, 66724 },
+ { 0x2B59, 66727 },
+ { 0x2B77, 66730 },
+ { 0x2B79, 66733 },
+ { 0x2B61, 66736 },
+ { 0x2B66, 66739 },
+ { 0x2B6D, 66742 },
+ { 0x2BFB, 66745 },
+ { 0x2B71, 66748 },
+ { 0x2B6F, 66751 },
+ { 0x2BEB, 66754 },
+ { 0x2B63, 66757 },
+ { 0x2BEF, 66760 },
+ { 0x2B6C, 66763 },
+ { 0x2B6E, 66766 },
+ { 0x2B72, 66769 },
+ { 0x2B75, 66772 },
+ { 0x2C03, 66775 },
+ { 0x2B7B, 66778 },
+ { 0x2BEE, 66781 },
+ { 0x2B7C, 66784 },
+ { 0x2BF7, 66787 },
+ { 0x2BF3, 66790 },
+ { 0x2B78, 66793 },
+ { 0x2BED, 66796 },
+ { 0x2C04, 66799 },
+ { 0x2B7A, 66802 },
+ { 0x2BFC, 66805 },
+ { 0x2BF1, 66808 },
+ { 0x2B70, 66811 },
+ { 0x2B64, 66814 },
+ { 0x2B62, 66817 },
+ { 0x2BEC, 66820 },
+ { 0x2C05, 66823 },
+ { 0x2B73, 66826 },
+ { 0x2BF4, 66829 },
+ { 0x2B74, 66832 },
+ { 0x2BF0, 66835 },
+ { 0x2BF5, 66838 },
+ { 0x2BF8, 66841 },
+ { 0x2BFD, 66844 },
+ { 0x2BF2, 66847 },
+ { 0x2BF6, 66850 },
+ { 0x2BF9, 66853 },
+ { 0x2BFA, 66856 },
+ { 0x2BFE, 66859 },
+ { 0x1676, 66862 },
+ { 0x1672, 66866 },
+ { 0x1670, 66870 },
+ { 0x1673, 66874 },
+ { 0x1671, 66878 },
+ { 0x1674, 66882 },
+ { 0x166E, 66886 },
+ { 0x165E, 66889 },
+ { 0x1665, 66892 },
+ { 0x1662, 66895 },
+ { 0x165A, 66898 },
+ { 0x166F, 66901 },
+ { 0x1666, 66904 },
+ { 0x1659, 66907 },
+ { 0x166B, 66910 },
+ { 0x165F, 66913 },
+ { 0x1663, 66916 },
+ { 0x165D, 66919 },
+ { 0x166A, 66922 },
+ { 0x166D, 66925 },
+ { 0x1661, 66928 },
+ { 0x166C, 66931 },
+ { 0x1669, 66934 },
+ { 0x1660, 66937 },
+ { 0x165B, 66940 },
+ { 0x1664, 66943 },
+ { 0x1667, 66946 },
+ { 0x165C, 66949 },
+ { 0x1668, 66952 },
+ { 0x1675, 66955 },
+ { 0x67FD, 66957 },
+ { 0x6991, 66959 },
+ { 0x6992, 66960 },
+ { 0x20F4, 66964 },
+ { 0x214A, 66965 },
+ { 0x68EB, 66966 },
+ { 0x10EE, 66967 },
+ { 0x1185, 66970 },
+ { 0x10E5, 66973 },
+ { 0x1241, 66976 },
+ { 0x10E7, 66979 },
+ { 0x1167, 66982 },
+ { 0x11CE, 66985 },
+ { 0x119F, 66988 },
+ { 0x11B4, 66991 },
+ { 0x10E9, 66994 },
+ { 0x112D, 66997 },
+ { 0x1269, 67000 },
+ { 0x1234, 67003 },
+ { 0x11E9, 67006 },
+ { 0x114A, 67009 },
+ { 0x1222, 67012 },
+ { 0x10EF, 67015 },
+ { 0x1100, 67018 },
+ { 0x1112, 67021 },
+ { 0x153A, 67024 },
+ { 0x1174, 67027 },
+ { 0x116D, 67030 },
+ { 0x116F, 67033 },
+ { 0x1171, 67036 },
+ { 0x110F, 67039 },
+ { 0x123D, 67042 },
+ { 0x1237, 67045 },
+ { 0x1239, 67048 },
+ { 0x123B, 67051 },
+ { 0x1261, 67054 },
+ { 0x10E8, 67057 },
+ { 0x1110, 67060 },
+ { 0x1156, 67063 },
+ { 0x114F, 67066 },
+ { 0x1151, 67069 },
+ { 0x1153, 67072 },
+ { 0x1168, 67075 },
+ { 0x11BE, 67078 },
+ { 0x11B7, 67081 },
+ { 0x128A, 67084 },
+ { 0x11B9, 67087 },
+ { 0x11BB, 67090 },
+ { 0x118E, 67093 },
+ { 0x1187, 67096 },
+ { 0x11A1, 67099 },
+ { 0x1189, 67102 },
+ { 0x118B, 67105 },
+ { 0x11AB, 67108 },
+ { 0x11A4, 67111 },
+ { 0x1279, 67114 },
+ { 0x11B6, 67117 },
+ { 0x11A6, 67120 },
+ { 0x11A8, 67123 },
+ { 0x1111, 67126 },
+ { 0x10EA, 67129 },
+ { 0x1539, 67132 },
+ { 0x111C, 67135 },
+ { 0x1113, 67138 },
+ { 0x1115, 67141 },
+ { 0x1117, 67144 },
+ { 0x1267, 67147 },
+ { 0x1263, 67150 },
+ { 0x1265, 67153 },
+ { 0x122F, 67156 },
+ { 0x1226, 67159 },
+ { 0x122A, 67162 },
+ { 0x122C, 67165 },
+ { 0x11D8, 67168 },
+ { 0x11D1, 67171 },
+ { 0x1209, 67174 },
+ { 0x11D3, 67177 },
+ { 0x11D5, 67180 },
+ { 0x11EB, 67183 },
+ { 0x1139, 67186 },
+ { 0x1130, 67189 },
+ { 0x124E, 67192 },
+ { 0x1132, 67195 },
+ { 0x1134, 67198 },
+ { 0x10FB, 67201 },
+ { 0x10F0, 67204 },
+ { 0x10F2, 67207 },
+ { 0x10F6, 67210 },
+ { 0x1211, 67213 },
+ { 0x120A, 67216 },
+ { 0x120C, 67219 },
+ { 0x120E, 67222 },
+ { 0x10E6, 67225 },
+ { 0x153B, 67228 },
+ { 0x1175, 67231 },
+ { 0x1351, 67234 },
+ { 0x1170, 67238 },
+ { 0x1172, 67241 },
+ { 0x1180, 67244 },
+ { 0x1176, 67247 },
+ { 0x1178, 67250 },
+ { 0x117C, 67253 },
+ { 0x123E, 67256 },
+ { 0x123A, 67259 },
+ { 0x123C, 67262 },
+ { 0x1157, 67265 },
+ { 0x1541, 67268 },
+ { 0x1152, 67271 },
+ { 0x1154, 67274 },
+ { 0x1162, 67277 },
+ { 0x1158, 67280 },
+ { 0x115A, 67283 },
+ { 0x115E, 67286 },
+ { 0x11BF, 67289 },
+ { 0x1546, 67292 },
+ { 0x1288, 67295 },
+ { 0x1284, 67298 },
+ { 0x1286, 67301 },
+ { 0x11BA, 67304 },
+ { 0x11BC, 67307 },
+ { 0x11CA, 67310 },
+ { 0x11C0, 67313 },
+ { 0x11C2, 67316 },
+ { 0x11C6, 67319 },
+ { 0x118F, 67322 },
+ { 0x1543, 67325 },
+ { 0x118A, 67328 },
+ { 0x118C, 67331 },
+ { 0x119A, 67334 },
+ { 0x1190, 67337 },
+ { 0x1192, 67340 },
+ { 0x1196, 67343 },
+ { 0x11AC, 67346 },
+ { 0x1545, 67349 },
+ { 0x1277, 67352 },
+ { 0x1273, 67355 },
+ { 0x1275, 67358 },
+ { 0x11A7, 67361 },
+ { 0x127A, 67364 },
+ { 0x11A9, 67367 },
+ { 0x1544, 67370 },
+ { 0x11AF, 67373 },
+ { 0x11AD, 67376 },
+ { 0x154F, 67379 },
+ { 0x1553, 67382 },
+ { 0x111D, 67385 },
+ { 0x153E, 67388 },
+ { 0x1116, 67391 },
+ { 0x1118, 67394 },
+ { 0x153D, 67397 },
+ { 0x1128, 67400 },
+ { 0x111E, 67403 },
+ { 0x1120, 67406 },
+ { 0x1124, 67409 },
+ { 0x1268, 67412 },
+ { 0x1353, 67415 },
+ { 0x1264, 67418 },
+ { 0x1266, 67421 },
+ { 0x1230, 67424 },
+ { 0x154E, 67427 },
+ { 0x122B, 67430 },
+ { 0x122D, 67433 },
+ { 0x155C, 67436 },
+ { 0x1558, 67439 },
+ { 0x155A, 67442 },
+ { 0x11D9, 67445 },
+ { 0x1548, 67448 },
+ { 0x11F9, 67451 },
+ { 0x11F4, 67454 },
+ { 0x11F5, 67457 },
+ { 0x11F7, 67460 },
+ { 0x11D4, 67463 },
+ { 0x11D6, 67466 },
+ { 0x1547, 67469 },
+ { 0x11E4, 67472 },
+ { 0x11DA, 67475 },
+ { 0x11DC, 67478 },
+ { 0x11E0, 67481 },
+ { 0x113A, 67484 },
+ { 0x1540, 67487 },
+ { 0x124A, 67490 },
+ { 0x1242, 67493 },
+ { 0x1244, 67496 },
+ { 0x1248, 67499 },
+ { 0x1133, 67502 },
+ { 0x1135, 67505 },
+ { 0x114E, 67508 },
+ { 0x114B, 67511 },
+ { 0x1253, 67514 },
+ { 0x114C, 67517 },
+ { 0x114D, 67520 },
+ { 0x1145, 67523 },
+ { 0x113B, 67526 },
+ { 0x113D, 67529 },
+ { 0x1141, 67532 },
+ { 0x1257, 67535 },
+ { 0x1254, 67538 },
+ { 0x1255, 67541 },
+ { 0x1256, 67544 },
+ { 0x10FD, 67547 },
+ { 0x153C, 67550 },
+ { 0x10F4, 67553 },
+ { 0x10F8, 67556 },
+ { 0x1212, 67559 },
+ { 0x154D, 67562 },
+ { 0x120D, 67565 },
+ { 0x120F, 67568 },
+ { 0x154C, 67571 },
+ { 0x121D, 67574 },
+ { 0x1213, 67577 },
+ { 0x1215, 67580 },
+ { 0x1219, 67583 },
+ { 0x116E, 67586 },
+ { 0x1182, 67589 },
+ { 0x117A, 67592 },
+ { 0x117E, 67595 },
+ { 0x1238, 67598 },
+ { 0x1352, 67601 },
+ { 0x123F, 67605 },
+ { 0x1150, 67608 },
+ { 0x1164, 67611 },
+ { 0x1542, 67614 },
+ { 0x115C, 67617 },
+ { 0x1160, 67620 },
+ { 0x11B8, 67623 },
+ { 0x1289, 67626 },
+ { 0x1285, 67629 },
+ { 0x1287, 67632 },
+ { 0x11CC, 67635 },
+ { 0x11C4, 67638 },
+ { 0x11C8, 67641 },
+ { 0x1188, 67644 },
+ { 0x119C, 67647 },
+ { 0x1194, 67650 },
+ { 0x1198, 67653 },
+ { 0x11A5, 67656 },
+ { 0x1278, 67659 },
+ { 0x1354, 67662 },
+ { 0x1274, 67665 },
+ { 0x1276, 67668 },
+ { 0x1359, 67671 },
+ { 0x1355, 67674 },
+ { 0x1357, 67677 },
+ { 0x11B1, 67680 },
+ { 0x1551, 67683 },
+ { 0x1555, 67686 },
+ { 0x1114, 67689 },
+ { 0x112A, 67692 },
+ { 0x1122, 67695 },
+ { 0x1126, 67698 },
+ { 0x153F, 67701 },
+ { 0x1262, 67704 },
+ { 0x1229, 67707 },
+ { 0x1232, 67710 },
+ { 0x1557, 67713 },
+ { 0x1559, 67716 },
+ { 0x155B, 67719 },
+ { 0x11D2, 67722 },
+ { 0x11FA, 67725 },
+ { 0x154A, 67728 },
+ { 0x11F6, 67731 },
+ { 0x11F8, 67734 },
+ { 0x1549, 67737 },
+ { 0x1205, 67740 },
+ { 0x11FB, 67743 },
+ { 0x11FD, 67746 },
+ { 0x1201, 67749 },
+ { 0x11E6, 67752 },
+ { 0x11DE, 67755 },
+ { 0x11E2, 67758 },
+ { 0x1131, 67761 },
+ { 0x124B, 67764 },
+ { 0x1246, 67767 },
+ { 0x1249, 67770 },
+ { 0x156D, 67773 },
+ { 0x156C, 67776 },
+ { 0x126D, 67779 },
+ { 0x126A, 67782 },
+ { 0x126B, 67785 },
+ { 0x126C, 67788 },
+ { 0x1252, 67791 },
+ { 0x124F, 67794 },
+ { 0x1250, 67797 },
+ { 0x1251, 67800 },
+ { 0x1147, 67803 },
+ { 0x113F, 67806 },
+ { 0x1143, 67809 },
+ { 0x120B, 67812 },
+ { 0x121F, 67815 },
+ { 0x1217, 67818 },
+ { 0x121B, 67821 },
+ { 0x1106, 67824 },
+ { 0x110E, 67830 },
+ { 0x110D, 67835 },
+ { 0x1108, 67839 },
+ { 0x1103, 67843 },
+ { 0x1104, 67847 },
+ { 0x1107, 67851 },
+ { 0x110C, 67857 },
+ { 0x1567, 67863 },
+ { 0x1105, 67868 },
+ { 0x1109, 67874 },
+ { 0x110A, 67879 },
+ { 0x110B, 67886 },
+ { 0x1568, 67891 },
+ { 0x1272, 67896 },
+ { 0x135A, 67899 },
+ { 0x1356, 67902 },
+ { 0x1358, 67905 },
+ { 0x1207, 67908 },
+ { 0x11FF, 67911 },
+ { 0x1203, 67914 },
+ { 0x154B, 67917 },
+ { 0x124C, 67920 },
+ { 0x1572, 67923 },
+ { 0x1571, 67926 },
+ { 0x1570, 67929 },
+ { 0x156F, 67932 },
+ { 0x156E, 67935 },
+ { 0x157C, 67938 },
+ { 0x157D, 67943 },
+ { 0x10E4, 67948 },
+ { 0x11D0, 67951 },
+ { 0x1236, 67955 },
+ { 0x1243, 67959 },
+ { 0x1245, 67963 },
+ { 0x1247, 67967 },
+ { 0x1227, 67971 },
+ { 0x1569, 67975 },
+ { 0x11A3, 67979 },
+ { 0x12A7, 67983 },
+ { 0x12A4, 67987 },
+ { 0x12A5, 67991 },
+ { 0x12A6, 67995 },
+ { 0x12FE, 67999 },
+ { 0x12F9, 68003 },
+ { 0x1186, 68007 },
+ { 0x1225, 68011 },
+ { 0x1575, 68015 },
+ { 0x157A, 68019 },
+ { 0x127E, 68023 },
+ { 0x127B, 68027 },
+ { 0x127C, 68031 },
+ { 0x127D, 68035 },
+ { 0x1574, 68039 },
+ { 0x1573, 68043 },
+ { 0x1101, 68047 },
+ { 0x10EB, 68051 },
+ { 0x1173, 68055 },
+ { 0x1155, 68059 },
+ { 0x11BD, 68063 },
+ { 0x118D, 68067 },
+ { 0x11AA, 68071 },
+ { 0x1119, 68075 },
+ { 0x11D7, 68079 },
+ { 0x1136, 68083 },
+ { 0x1210, 68087 },
+ { 0x112C, 68091 },
+ { 0x1293, 68095 },
+ { 0x112F, 68099 },
+ { 0x10ED, 68103 },
+ { 0x12D2, 68107 },
+ { 0x132A, 68111 },
+ { 0x1138, 68115 },
+ { 0x10EC, 68119 },
+ { 0x12D8, 68123 },
+ { 0x12D5, 68127 },
+ { 0x12D7, 68131 },
+ { 0x12D4, 68135 },
+ { 0x12D3, 68139 },
+ { 0x111B, 68143 },
+ { 0x12FF, 68147 },
+ { 0x12FB, 68151 },
+ { 0x12FD, 68155 },
+ { 0x12FA, 68159 },
+ { 0x12F8, 68163 },
+ { 0x12E5, 68167 },
+ { 0x130B, 68171 },
+ { 0x1308, 68175 },
+ { 0x130A, 68179 },
+ { 0x1307, 68183 },
+ { 0x1306, 68187 },
+ { 0x12F1, 68191 },
+ { 0x12EE, 68195 },
+ { 0x12F0, 68199 },
+ { 0x12ED, 68203 },
+ { 0x12EC, 68207 },
+ { 0x12EB, 68211 },
+ { 0x12E8, 68215 },
+ { 0x11B5, 68219 },
+ { 0x12EA, 68223 },
+ { 0x12E7, 68227 },
+ { 0x12E6, 68231 },
+ { 0x12D1, 68235 },
+ { 0x12CE, 68239 },
+ { 0x12D0, 68243 },
+ { 0x12CD, 68247 },
+ { 0x12CC, 68251 },
+ { 0x12B3, 68255 },
+ { 0x12B0, 68259 },
+ { 0x12B2, 68263 },
+ { 0x12AF, 68267 },
+ { 0x12AE, 68271 },
+ { 0x1337, 68275 },
+ { 0x1334, 68279 },
+ { 0x133E, 68283 },
+ { 0x1336, 68287 },
+ { 0x1333, 68291 },
+ { 0x1332, 68295 },
+ { 0x12B9, 68299 },
+ { 0x12B6, 68303 },
+ { 0x12B8, 68307 },
+ { 0x12B5, 68311 },
+ { 0x12B4, 68315 },
+ { 0x12F7, 68319 },
+ { 0x12F4, 68323 },
+ { 0x12F6, 68327 },
+ { 0x12F3, 68331 },
+ { 0x12F2, 68335 },
+ { 0x1329, 68339 },
+ { 0x1326, 68343 },
+ { 0x1328, 68347 },
+ { 0x1325, 68351 },
+ { 0x1324, 68355 },
+ { 0x134A, 68359 },
+ { 0x1347, 68363 },
+ { 0x1349, 68367 },
+ { 0x1346, 68371 },
+ { 0x1345, 68375 },
+ { 0x1137, 68379 },
+ { 0x1311, 68383 },
+ { 0x130E, 68387 },
+ { 0x1310, 68391 },
+ { 0x130D, 68395 },
+ { 0x130C, 68399 },
+ { 0x1331, 68403 },
+ { 0x132E, 68407 },
+ { 0x1330, 68411 },
+ { 0x132D, 68415 },
+ { 0x132C, 68419 },
+ { 0x1578, 68423 },
+ { 0x12D6, 68427 },
+ { 0x12AD, 68431 },
+ { 0x12AA, 68435 },
+ { 0x12AC, 68439 },
+ { 0x12A9, 68443 },
+ { 0x12A8, 68447 },
+ { 0x1579, 68451 },
+ { 0x1576, 68455 },
+ { 0x111A, 68459 },
+ { 0x12BF, 68463 },
+ { 0x12BC, 68467 },
+ { 0x12BE, 68471 },
+ { 0x12BB, 68475 },
+ { 0x12BA, 68479 },
+ { 0x12FC, 68483 },
+ { 0x1305, 68487 },
+ { 0x1302, 68491 },
+ { 0x1304, 68495 },
+ { 0x1301, 68499 },
+ { 0x1300, 68503 },
+ { 0x157B, 68507 },
+ { 0x12DE, 68511 },
+ { 0x12DB, 68515 },
+ { 0x12DD, 68519 },
+ { 0x12DA, 68523 },
+ { 0x12D9, 68527 },
+ { 0x12E4, 68531 },
+ { 0x12E1, 68535 },
+ { 0x12E3, 68539 },
+ { 0x12E0, 68543 },
+ { 0x12DF, 68547 },
+ { 0x1309, 68551 },
+ { 0x1317, 68555 },
+ { 0x1314, 68559 },
+ { 0x1316, 68563 },
+ { 0x1313, 68567 },
+ { 0x1312, 68571 },
+ { 0x12EF, 68575 },
+ { 0x12E9, 68579 },
+ { 0x12CF, 68583 },
+ { 0x12B1, 68587 },
+ { 0x1335, 68591 },
+ { 0x133D, 68595 },
+ { 0x133A, 68599 },
+ { 0x133C, 68603 },
+ { 0x1339, 68607 },
+ { 0x1338, 68611 },
+ { 0x12C5, 68615 },
+ { 0x12C2, 68619 },
+ { 0x12C4, 68623 },
+ { 0x12C1, 68627 },
+ { 0x12C0, 68631 },
+ { 0x1323, 68635 },
+ { 0x1320, 68639 },
+ { 0x1322, 68643 },
+ { 0x131F, 68647 },
+ { 0x131E, 68651 },
+ { 0x1344, 68655 },
+ { 0x1341, 68659 },
+ { 0x1343, 68663 },
+ { 0x1340, 68667 },
+ { 0x133F, 68671 },
+ { 0x12CB, 68675 },
+ { 0x12C8, 68679 },
+ { 0x12CA, 68683 },
+ { 0x12C7, 68687 },
+ { 0x12C6, 68691 },
+ { 0x12B7, 68695 },
+ { 0x12F5, 68699 },
+ { 0x1327, 68703 },
+ { 0x1348, 68707 },
+ { 0x1577, 68711 },
+ { 0x130F, 68716 },
+ { 0x132F, 68720 },
+ { 0x12AB, 68724 },
+ { 0x12BD, 68728 },
+ { 0x1303, 68732 },
+ { 0x12DC, 68736 },
+ { 0x12E2, 68740 },
+ { 0x1315, 68744 },
+ { 0x133B, 68748 },
+ { 0x12C3, 68752 },
+ { 0x1321, 68756 },
+ { 0x131D, 68760 },
+ { 0x131A, 68764 },
+ { 0x131C, 68768 },
+ { 0x1319, 68772 },
+ { 0x1318, 68776 },
+ { 0x1342, 68780 },
+ { 0x12C9, 68784 },
+ { 0x1350, 68788 },
+ { 0x134D, 68792 },
+ { 0x134F, 68796 },
+ { 0x134C, 68800 },
+ { 0x134B, 68804 },
+ { 0x131B, 68808 },
+ { 0x134E, 68812 },
+ { 0x157E, 68816 },
+ { 0x132B, 68821 },
+ { 0x1565, 68826 },
+ { 0x1102, 68830 },
+ { 0x11EF, 68834 },
+ { 0x11EE, 68838 },
+ { 0x10FF, 68842 },
+ { 0x10FA, 68846 },
+ { 0x1184, 68850 },
+ { 0x1166, 68854 },
+ { 0x119E, 68858 },
+ { 0x11B3, 68862 },
+ { 0x11F3, 68866 },
+ { 0x11F2, 68870 },
+ { 0x11F0, 68874 },
+ { 0x11F1, 68878 },
+ { 0x11E8, 68882 },
+ { 0x1149, 68886 },
+ { 0x1221, 68890 },
+ { 0x125F, 68894 },
+ { 0x125D, 68898 },
+ { 0x1258, 68902 },
+ { 0x1259, 68906 },
+ { 0x125B, 68910 },
+ { 0x125E, 68914 },
+ { 0x125A, 68918 },
+ { 0x125C, 68922 },
+ { 0x1260, 68926 },
+ { 0x1560, 68930 },
+ { 0x155F, 68934 },
+ { 0x1561, 68938 },
+ { 0x1562, 68942 },
+ { 0x155D, 68946 },
+ { 0x1563, 68950 },
+ { 0x155E, 68954 },
+ { 0x1564, 68958 },
+ { 0x1550, 68962 },
+ { 0x1554, 68966 },
+ { 0x1552, 68970 },
+ { 0x1556, 68974 },
+ { 0x1292, 68978 },
+ { 0x1290, 68982 },
+ { 0x128B, 68986 },
+ { 0x128C, 68990 },
+ { 0x128E, 68994 },
+ { 0x1291, 68998 },
+ { 0x128D, 69002 },
+ { 0x128F, 69006 },
+ { 0x1566, 69010 },
+ { 0x1297, 69014 },
+ { 0x1294, 69018 },
+ { 0x1295, 69022 },
+ { 0x1296, 69026 },
+ { 0x11EC, 69030 },
+ { 0x1363, 69034 },
+ { 0x12A3, 69038 },
+ { 0x12A0, 69042 },
+ { 0x12A1, 69046 },
+ { 0x12A2, 69050 },
+ { 0x129F, 69054 },
+ { 0x129C, 69058 },
+ { 0x129D, 69062 },
+ { 0x129E, 69066 },
+ { 0x129B, 69070 },
+ { 0x1298, 69074 },
+ { 0x1299, 69078 },
+ { 0x129A, 69082 },
+ { 0x11CF, 69086 },
+ { 0x11A0, 69090 },
+ { 0x112E, 69094 },
+ { 0x1235, 69098 },
+ { 0x1224, 69102 },
+ { 0x1231, 69106 },
+ { 0x1228, 69110 },
+ { 0x122E, 69114 },
+ { 0x1271, 69118 },
+ { 0x126E, 69122 },
+ { 0x126F, 69126 },
+ { 0x1270, 69130 },
+ { 0x10FC, 69134 },
+ { 0x10F1, 69138 },
+ { 0x10F3, 69142 },
+ { 0x10F7, 69146 },
+ { 0x1181, 69150 },
+ { 0x1177, 69154 },
+ { 0x1179, 69158 },
+ { 0x117D, 69162 },
+ { 0x1163, 69166 },
+ { 0x1159, 69170 },
+ { 0x115B, 69174 },
+ { 0x115F, 69178 },
+ { 0x156B, 69182 },
+ { 0x156A, 69186 },
+ { 0x11CB, 69190 },
+ { 0x11C1, 69194 },
+ { 0x11C3, 69198 },
+ { 0x11C7, 69202 },
+ { 0x119B, 69206 },
+ { 0x1191, 69210 },
+ { 0x1193, 69214 },
+ { 0x1197, 69218 },
+ { 0x11B0, 69222 },
+ { 0x11AE, 69226 },
+ { 0x1129, 69230 },
+ { 0x111F, 69234 },
+ { 0x1121, 69238 },
+ { 0x1125, 69242 },
+ { 0x11E5, 69246 },
+ { 0x11DB, 69250 },
+ { 0x11DD, 69254 },
+ { 0x11E1, 69258 },
+ { 0x1146, 69262 },
+ { 0x113C, 69266 },
+ { 0x113E, 69270 },
+ { 0x1142, 69274 },
+ { 0x10FE, 69278 },
+ { 0x10F5, 69282 },
+ { 0x10F9, 69286 },
+ { 0x121E, 69290 },
+ { 0x1214, 69294 },
+ { 0x1216, 69298 },
+ { 0x121A, 69302 },
+ { 0x1183, 69306 },
+ { 0x117B, 69310 },
+ { 0x117F, 69314 },
+ { 0x1240, 69318 },
+ { 0x1165, 69322 },
+ { 0x115D, 69326 },
+ { 0x1161, 69330 },
+ { 0x11CD, 69334 },
+ { 0x11C5, 69338 },
+ { 0x11C9, 69342 },
+ { 0x119D, 69346 },
+ { 0x1195, 69350 },
+ { 0x1199, 69354 },
+ { 0x11B2, 69358 },
+ { 0x112B, 69362 },
+ { 0x1123, 69366 },
+ { 0x1127, 69370 },
+ { 0x1233, 69374 },
+ { 0x1206, 69378 },
+ { 0x11FC, 69382 },
+ { 0x11FE, 69386 },
+ { 0x1202, 69390 },
+ { 0x11E7, 69394 },
+ { 0x11DF, 69398 },
+ { 0x11E3, 69402 },
+ { 0x1148, 69406 },
+ { 0x1140, 69410 },
+ { 0x1144, 69414 },
+ { 0x1220, 69418 },
+ { 0x1218, 69422 },
+ { 0x121C, 69426 },
+ { 0x1208, 69430 },
+ { 0x1200, 69434 },
+ { 0x1204, 69438 },
+ { 0x124D, 69442 },
+ { 0x11A2, 69446 },
+ { 0x11EA, 69450 },
+ { 0x1223, 69454 },
+ { 0x11ED, 69458 },
+ { 0x1283, 69462 },
+ { 0x1282, 69466 },
+ { 0x127F, 69470 },
+ { 0x1280, 69474 },
+ { 0x1281, 69478 },
+ { 0x1360, 69482 },
+ { 0x135C, 69486 },
+ { 0x135E, 69490 },
+ { 0x1362, 69494 },
+ { 0x1361, 69499 },
+ { 0x135B, 69503 },
+ { 0x135D, 69507 },
+ { 0x135F, 69511 },
+ { 0x116C, 69515 },
+ { 0x1169, 69519 },
+ { 0x116A, 69523 },
+ { 0x116B, 69527 },
+ { 0x67C6, 69531 },
+ { 0x6909, 69533 },
+ { 0x3900, 69535 },
+ { 0x3901, 69539 },
+ { 0x3902, 69543 },
+ { 0x3903, 69547 },
+ { 0x392D, 69551 },
+ { 0x3904, 69555 },
+ { 0x3905, 69559 },
+ { 0x3933, 69563 },
+ { 0x3935, 69567 },
+ { 0x3937, 69571 },
+ { 0x3939, 69575 },
+ { 0x393A, 69579 },
+ { 0x393B, 69583 },
+ { 0x3906, 69587 },
+ { 0x3908, 69591 },
+ { 0x3909, 69595 },
+ { 0x390A, 69599 },
+ { 0x390B, 69603 },
+ { 0x390C, 69607 },
+ { 0x390D, 69611 },
+ { 0x390E, 69615 },
+ { 0x390F, 69619 },
+ { 0x3910, 69623 },
+ { 0x3911, 69627 },
+ { 0x3912, 69631 },
+ { 0x3907, 69635 },
+ { 0x3913, 69639 },
+ { 0x3914, 69643 },
+ { 0x3915, 69647 },
+ { 0x3916, 69651 },
+ { 0x3917, 69655 },
+ { 0x3918, 69659 },
+ { 0x3919, 69663 },
+ { 0x391A, 69667 },
+ { 0x391B, 69671 },
+ { 0x391C, 69675 },
+ { 0x391D, 69679 },
+ { 0x10E3, 69683 },
+ { 0x391E, 69687 },
+ { 0x3921, 69691 },
+ { 0x3922, 69695 },
+ { 0x3923, 69699 },
+ { 0x3924, 69703 },
+ { 0x3925, 69707 },
+ { 0x392C, 69711 },
+ { 0x392E, 69715 },
+ { 0x392F, 69719 },
+ { 0x3930, 69723 },
+ { 0x3931, 69727 },
+ { 0x3932, 69731 },
+ { 0x3934, 69735 },
+ { 0x3936, 69739 },
+ { 0x3938, 69743 },
+ { 0x3949, 69747 },
+ { 0x394A, 69751 },
+ { 0x394B, 69755 },
+ { 0x394C, 69759 },
+ { 0x394D, 69763 },
+ { 0x394E, 69767 },
+ { 0x394F, 69771 },
+ { 0x10DE, 69775 },
+ { 0x10DF, 69779 },
+ { 0x10E0, 69783 },
+ { 0x10E1, 69787 },
+ { 0x10E2, 69791 },
+ { 0x393C, 69795 },
+ { 0x391F, 69799 },
+ { 0x3920, 69803 },
+ { 0x3926, 69807 },
+ { 0x3927, 69811 },
+ { 0x3928, 69815 },
+ { 0x3929, 69819 },
+ { 0x392A, 69823 },
+ { 0x392B, 69827 },
+ { 0x393D, 69831 },
+ { 0x393E, 69835 },
+ { 0x393F, 69839 },
+ { 0x3940, 69843 },
+ { 0x3941, 69847 },
+ { 0x3942, 69851 },
+ { 0x3943, 69855 },
+ { 0x3944, 69859 },
+ { 0x3945, 69863 },
+ { 0x3946, 69867 },
+ { 0x3947, 69871 },
+ { 0x3948, 69875 },
+ { 0x1088, 69879 },
+ { 0x1089, 69882 },
+ { 0x108A, 69885 },
+ { 0x108B, 69888 },
+ { 0x10B5, 69891 },
+ { 0x108C, 69894 },
+ { 0x108D, 69897 },
+ { 0x10BB, 69900 },
+ { 0x10BD, 69903 },
+ { 0x10BF, 69906 },
+ { 0x10C1, 69909 },
+ { 0x10C2, 69912 },
+ { 0x10C3, 69915 },
+ { 0x108E, 69918 },
+ { 0x1090, 69921 },
+ { 0x1091, 69924 },
+ { 0x1092, 69927 },
+ { 0x1093, 69930 },
+ { 0x1094, 69933 },
+ { 0x1095, 69936 },
+ { 0x1096, 69939 },
+ { 0x1097, 69942 },
+ { 0x1098, 69945 },
+ { 0x1099, 69948 },
+ { 0x109A, 69951 },
+ { 0x108F, 69954 },
+ { 0x109B, 69957 },
+ { 0x109C, 69960 },
+ { 0x109D, 69963 },
+ { 0x109E, 69966 },
+ { 0x109F, 69969 },
+ { 0x10A0, 69972 },
+ { 0x10A1, 69975 },
+ { 0x10A2, 69978 },
+ { 0x10A3, 69981 },
+ { 0x10A4, 69984 },
+ { 0x10A5, 69987 },
+ { 0x10DD, 69990 },
+ { 0x10A6, 69993 },
+ { 0x10A9, 69996 },
+ { 0x10AA, 69999 },
+ { 0x10AB, 70002 },
+ { 0x10AC, 70005 },
+ { 0x10AD, 70008 },
+ { 0x10B4, 70011 },
+ { 0x10B6, 70014 },
+ { 0x10B7, 70017 },
+ { 0x10B8, 70020 },
+ { 0x10B9, 70023 },
+ { 0x10BA, 70026 },
+ { 0x10BC, 70029 },
+ { 0x10BE, 70032 },
+ { 0x10C0, 70035 },
+ { 0x10D1, 70038 },
+ { 0x10D2, 70041 },
+ { 0x10D3, 70044 },
+ { 0x10D4, 70047 },
+ { 0x10D5, 70050 },
+ { 0x10D6, 70053 },
+ { 0x10D7, 70056 },
+ { 0x10D8, 70059 },
+ { 0x10D9, 70062 },
+ { 0x10DA, 70065 },
+ { 0x10DB, 70068 },
+ { 0x10DC, 70071 },
+ { 0x10C4, 70074 },
+ { 0x10A7, 70077 },
+ { 0x10A8, 70080 },
+ { 0x10AE, 70083 },
+ { 0x10AF, 70086 },
+ { 0x10B0, 70089 },
+ { 0x10B1, 70092 },
+ { 0x10B2, 70095 },
+ { 0x10B3, 70098 },
+ { 0x10C5, 70101 },
+ { 0x10C6, 70104 },
+ { 0x10C7, 70107 },
+ { 0x10C8, 70110 },
+ { 0x10C9, 70113 },
+ { 0x10CA, 70116 },
+ { 0x10CB, 70119 },
+ { 0x10CC, 70122 },
+ { 0x10CD, 70125 },
+ { 0x10CE, 70128 },
+ { 0x10CF, 70131 },
+ { 0x10D0, 70134 },
+ { 0x6778, 70137 },
+ { 0x6756, 70138 },
+ { 0x6ADC, 70139 },
+ { 0x6865, 70141 },
+ { 0x6875, 70142 },
+ { 0x67A1, 70145 },
+ { 0x679E, 70148 },
+ { 0x67B0, 70150 },
+ { 0x6A39, 70152 },
+ { 0x1D64, 70154 },
+ { 0x1E0C, 70157 },
+ { 0x1E0E, 70161 },
+ { 0x1E53, 70168 },
+ { 0x1E56, 70173 },
+ { 0x1E54, 70176 },
+ { 0x5D6D, 70185 },
+ { 0x5D72, 70190 },
+ { 0x5D6E, 70195 },
+ { 0x5D71, 70200 },
+ { 0x5D70, 70205 },
+ { 0x5D75, 70210 },
+ { 0x5D74, 70215 },
+ { 0x5D73, 70220 },
+ { 0x5D6F, 70225 },
+ { 0x5D64, 70230 },
+ { 0x5D69, 70235 },
+ { 0x5D65, 70240 },
+ { 0x5D68, 70245 },
+ { 0x5D67, 70250 },
+ { 0x5D6C, 70255 },
+ { 0x5D6B, 70260 },
+ { 0x5D6A, 70265 },
+ { 0x5D66, 70270 },
+ { 0x673F, 70275 },
+ { 0x21F2, 70277 },
+ { 0x1C1F, 70279 },
+ { 0x0063, 70281 },
+ { 0x68D7, 70283 },
+ { 0x03E6, 70285 },
+ { 0x0487, 70289 },
+ { 0x0489, 70295 },
+ { 0x0403, 70301 },
+ { 0x04A3, 70305 },
+ { 0x03EE, 70311 },
+ { 0x0413, 70315 },
+ { 0x0499, 70321 },
+ { 0x049B, 70327 },
+ { 0x03F4, 70333 },
+ { 0x049D, 70337 },
+ { 0x03F9, 70343 },
+ { 0x04A9, 70347 },
+ { 0x04A5, 70354 },
+ { 0x04A7, 70360 },
+ { 0x03E7, 70366 },
+ { 0x03EA, 70370 },
+ { 0x03FA, 70374 },
+ { 0x03F1, 70378 },
+ { 0x04C9, 70382 },
+ { 0x047C, 70388 },
+ { 0x04D7, 70394 },
+ { 0x04E5, 70401 },
+ { 0x03F2, 70407 },
+ { 0x0484, 70411 },
+ { 0x03F3, 70417 },
+ { 0x047E, 70421 },
+ { 0x04DF, 70427 },
+ { 0x0480, 70434 },
+ { 0x04D9, 70440 },
+ { 0x0459, 70447 },
+ { 0x03F6, 70453 },
+ { 0x0445, 70457 },
+ { 0x03F7, 70463 },
+ { 0x0461, 70467 },
+ { 0x03FB, 70473 },
+ { 0x04B3, 70477 },
+ { 0x04B5, 70483 },
+ { 0x0469, 70489 },
+ { 0x03EB, 70495 },
+ { 0x048D, 70499 },
+ { 0x0406, 70505 },
+ { 0x0407, 70511 },
+ { 0x040E, 70515 },
+ { 0x03F0, 70519 },
+ { 0x047A, 70523 },
+ { 0x0455, 70529 },
+ { 0x0453, 70535 },
+ { 0x0451, 70542 },
+ { 0x0435, 70548 },
+ { 0x03F5, 70552 },
+ { 0x045D, 70556 },
+ { 0x04DB, 70563 },
+ { 0x04D1, 70569 },
+ { 0x03F8, 70573 },
+ { 0x34E3, 70577 },
+ { 0x0463, 70584 },
+ { 0x042F, 70590 },
+ { 0x03E8, 70594 },
+ { 0x04D3, 70598 },
+ { 0x0405, 70602 },
+ { 0x040D, 70606 },
+ { 0x34B7, 70610 },
+ { 0x0404, 70614 },
+ { 0x03ED, 70618 },
+ { 0x044F, 70622 },
+ { 0x0495, 70628 },
+ { 0x0421, 70634 },
+ { 0x03FD, 70639 },
+ { 0x046F, 70643 },
+ { 0x046D, 70650 },
+ { 0x04AB, 70656 },
+ { 0x0408, 70662 },
+ { 0x34D9, 70666 },
+ { 0x040B, 70670 },
+ { 0x03E9, 70674 },
+ { 0x044B, 70678 },
+ { 0x0449, 70685 },
+ { 0x04B1, 70691 },
+ { 0x0447, 70699 },
+ { 0x04AD, 70705 },
+ { 0x0409, 70711 },
+ { 0x34ED, 70715 },
+ { 0x0412, 70719 },
+ { 0x0425, 70723 },
+ { 0x04CB, 70727 },
+ { 0x040F, 70731 },
+ { 0x0410, 70735 },
+ { 0x0427, 70739 },
+ { 0x04CD, 70743 },
+ { 0x03FE, 70747 },
+ { 0x03FC, 70751 },
+ { 0x34E5, 70755 },
+ { 0x04CF, 70759 },
+ { 0x0419, 70763 },
+ { 0x03EC, 70767 },
+ { 0x0478, 70771 },
+ { 0x044D, 70777 },
+ { 0x0493, 70783 },
+ { 0x34DF, 70789 },
+ { 0x04E3, 70793 },
+ { 0x0415, 70797 },
+ { 0x34DB, 70801 },
+ { 0x34E1, 70805 },
+ { 0x0429, 70809 },
+ { 0x0400, 70813 },
+ { 0x349F, 70818 },
+ { 0x04B7, 70822 },
+ { 0x04B9, 70827 },
+ { 0x04BF, 70832 },
+ { 0x04C1, 70837 },
+ { 0x04C3, 70842 },
+ { 0x04C5, 70847 },
+ { 0x04BB, 70852 },
+ { 0x04BD, 70857 },
+ { 0x0471, 70862 },
+ { 0x04DD, 70866 },
+ { 0x34EF, 70872 },
+ { 0x34BB, 70876 },
+ { 0x34BD, 70881 },
+ { 0x34BF, 70886 },
+ { 0x0402, 70891 },
+ { 0x34EB, 70896 },
+ { 0x0411, 70900 },
+ { 0x34E9, 70904 },
+ { 0x34E7, 70908 },
+ { 0x0401, 70912 },
+ { 0x34A9, 70916 },
+ { 0x04AF, 70923 },
+ { 0x34DD, 70929 },
+ { 0x04D5, 70933 },
+ { 0x34A5, 70938 },
+ { 0x34A1, 70943 },
+ { 0x349B, 70947 },
+ { 0x04E1, 70951 },
+ { 0x0437, 70955 },
+ { 0x0417, 70959 },
+ { 0x0433, 70963 },
+ { 0x0431, 70969 },
+ { 0x048F, 70974 },
+ { 0x0491, 70978 },
+ { 0x03FF, 70984 },
+ { 0x03EF, 70988 },
+ { 0x0441, 70993 },
+ { 0x0414, 71000 },
+ { 0x049F, 71005 },
+ { 0x04A1, 71010 },
+ { 0x34B1, 71017 },
+ { 0x34F1, 71023 },
+ { 0x34C5, 71028 },
+ { 0x041D, 71034 },
+ { 0x3499, 71039 },
+ { 0x0457, 71043 },
+ { 0x34B3, 71048 },
+ { 0x34F3, 71053 },
+ { 0x042B, 71058 },
+ { 0x042D, 71062 },
+ { 0x34A7, 71070 },
+ { 0x34AF, 71075 },
+ { 0x041B, 71080 },
+ { 0x0423, 71085 },
+ { 0x34AB, 71091 },
+ { 0x34B5, 71096 },
+ { 0x041F, 71103 },
+ { 0x0485, 71109 },
+ { 0x34AD, 71113 },
+ { 0x04C7, 71118 },
+ { 0x349D, 71123 },
+ { 0x34B9, 71128 },
+ { 0x0443, 71133 },
+ { 0x0465, 71138 },
+ { 0x0467, 71143 },
+ { 0x045F, 71150 },
+ { 0x0473, 71155 },
+ { 0x0475, 71160 },
+ { 0x0497, 71167 },
+ { 0x34C3, 71172 },
+ { 0x34C1, 71177 },
+ { 0x34A3, 71182 },
+ { 0x040A, 71187 },
+ { 0x0482, 71192 },
+ { 0x040C, 71197 },
+ { 0x048B, 71202 },
+ { 0x045B, 71207 },
+ { 0x046B, 71212 },
+ { 0x34D6, 71217 },
+ { 0x18CC, 71219 },
+ { 0x0476, 71224 },
+ { 0x34C6, 71227 },
+ { 0x03C6, 71231 },
+ { 0x0486, 71235 },
+ { 0x0488, 71241 },
+ { 0x03E3, 71247 },
+ { 0x04A2, 71251 },
+ { 0x03CE, 71257 },
+ { 0x03C3, 71261 },
+ { 0x0498, 71267 },
+ { 0x049A, 71273 },
+ { 0x03D4, 71279 },
+ { 0x049C, 71283 },
+ { 0x03D9, 71289 },
+ { 0x04A8, 71293 },
+ { 0x04A4, 71300 },
+ { 0x04A6, 71306 },
+ { 0x03C7, 71312 },
+ { 0x03CA, 71316 },
+ { 0x03DA, 71320 },
+ { 0x03D1, 71324 },
+ { 0x04C8, 71328 },
+ { 0x047B, 71334 },
+ { 0x04D6, 71340 },
+ { 0x04E4, 71347 },
+ { 0x03D2, 71353 },
+ { 0x0483, 71357 },
+ { 0x03D3, 71363 },
+ { 0x047D, 71367 },
+ { 0x04DE, 71373 },
+ { 0x047F, 71380 },
+ { 0x04D8, 71386 },
+ { 0x0458, 71393 },
+ { 0x03D6, 71399 },
+ { 0x0444, 71403 },
+ { 0x03D7, 71409 },
+ { 0x0460, 71413 },
+ { 0x03DB, 71419 },
+ { 0x04B2, 71423 },
+ { 0x04B4, 71429 },
+ { 0x0468, 71435 },
+ { 0x03CB, 71441 },
+ { 0x048C, 71445 },
+ { 0x03B6, 71451 },
+ { 0x03B7, 71457 },
+ { 0x03BE, 71461 },
+ { 0x03D0, 71465 },
+ { 0x0479, 71469 },
+ { 0x0454, 71475 },
+ { 0x0452, 71481 },
+ { 0x0450, 71488 },
+ { 0x0434, 71494 },
+ { 0x03D5, 71498 },
+ { 0x045C, 71502 },
+ { 0x04DA, 71509 },
+ { 0x04D0, 71515 },
+ { 0x03D8, 71519 },
+ { 0x34E2, 71523 },
+ { 0x0462, 71530 },
+ { 0x042E, 71536 },
+ { 0x03C8, 71540 },
+ { 0x04D2, 71544 },
+ { 0x03E5, 71548 },
+ { 0x03BD, 71552 },
+ { 0x34B6, 71556 },
+ { 0x03E4, 71560 },
+ { 0x03CD, 71564 },
+ { 0x044E, 71568 },
+ { 0x0494, 71574 },
+ { 0x0420, 71580 },
+ { 0x03DD, 71585 },
+ { 0x046E, 71589 },
+ { 0x046C, 71596 },
+ { 0x04AA, 71602 },
+ { 0x03B8, 71608 },
+ { 0x34D8, 71612 },
+ { 0x03BB, 71616 },
+ { 0x03C9, 71620 },
+ { 0x044A, 71624 },
+ { 0x0448, 71631 },
+ { 0x04B0, 71637 },
+ { 0x0446, 71645 },
+ { 0x04AC, 71651 },
+ { 0x03B9, 71657 },
+ { 0x34EC, 71661 },
+ { 0x03C2, 71665 },
+ { 0x0424, 71669 },
+ { 0x04CA, 71673 },
+ { 0x03BF, 71677 },
+ { 0x03C0, 71681 },
+ { 0x0426, 71685 },
+ { 0x04CC, 71689 },
+ { 0x03DE, 71693 },
+ { 0x03DC, 71697 },
+ { 0x34E4, 71701 },
+ { 0x04CE, 71705 },
+ { 0x0418, 71709 },
+ { 0x03CC, 71713 },
+ { 0x0477, 71717 },
+ { 0x044C, 71723 },
+ { 0x0492, 71729 },
+ { 0x34DE, 71735 },
+ { 0x04E2, 71739 },
+ { 0x03C5, 71743 },
+ { 0x34DA, 71747 },
+ { 0x34E0, 71751 },
+ { 0x0428, 71755 },
+ { 0x03E0, 71759 },
+ { 0x349E, 71764 },
+ { 0x04B6, 71768 },
+ { 0x04B8, 71773 },
+ { 0x04BE, 71778 },
+ { 0x04C0, 71783 },
+ { 0x04C2, 71788 },
+ { 0x04C4, 71793 },
+ { 0x04BA, 71798 },
+ { 0x04BC, 71803 },
+ { 0x0470, 71808 },
+ { 0x04DC, 71812 },
+ { 0x34EE, 71818 },
+ { 0x34BA, 71822 },
+ { 0x34BC, 71827 },
+ { 0x34BE, 71832 },
+ { 0x03E2, 71837 },
+ { 0x34EA, 71842 },
+ { 0x03C1, 71846 },
+ { 0x34E8, 71850 },
+ { 0x34E6, 71854 },
+ { 0x03E1, 71858 },
+ { 0x34A8, 71862 },
+ { 0x04AE, 71869 },
+ { 0x34DC, 71875 },
+ { 0x04D4, 71879 },
+ { 0x34A4, 71884 },
+ { 0x34A0, 71889 },
+ { 0x349A, 71893 },
+ { 0x04E0, 71897 },
+ { 0x0436, 71901 },
+ { 0x0416, 71905 },
+ { 0x0432, 71909 },
+ { 0x0430, 71915 },
+ { 0x048E, 71920 },
+ { 0x0490, 71924 },
+ { 0x03DF, 71930 },
+ { 0x03CF, 71934 },
+ { 0x0440, 71939 },
+ { 0x03C4, 71946 },
+ { 0x049E, 71951 },
+ { 0x04A0, 71956 },
+ { 0x34B0, 71963 },
+ { 0x34F0, 71969 },
+ { 0x34C4, 71974 },
+ { 0x041C, 71980 },
+ { 0x3498, 71985 },
+ { 0x0456, 71989 },
+ { 0x34B2, 71994 },
+ { 0x34F2, 71999 },
+ { 0x042A, 72004 },
+ { 0x042C, 72008 },
+ { 0x34A6, 72016 },
+ { 0x34AE, 72021 },
+ { 0x041A, 72026 },
+ { 0x0422, 72031 },
+ { 0x34AA, 72037 },
+ { 0x34B4, 72042 },
+ { 0x041E, 72049 },
+ { 0x34AC, 72055 },
+ { 0x04C6, 72060 },
+ { 0x349C, 72065 },
+ { 0x34B8, 72070 },
+ { 0x0442, 72075 },
+ { 0x0464, 72080 },
+ { 0x0466, 72085 },
+ { 0x045E, 72092 },
+ { 0x0472, 72097 },
+ { 0x0474, 72102 },
+ { 0x0496, 72109 },
+ { 0x34C2, 72114 },
+ { 0x34C0, 72119 },
+ { 0x34A2, 72124 },
+ { 0x03BA, 72129 },
+ { 0x0481, 72134 },
+ { 0x03BC, 72139 },
+ { 0x048A, 72144 },
+ { 0x045A, 72149 },
+ { 0x046A, 72154 },
+ { 0x34D7, 72159 },
+ { 0x0438, 72161 },
+ { 0x69FF, 72164 },
+ { 0x6ABE, 72168 },
+ { 0x6800, 72170 },
+ { 0x1E59, 72173 },
+ { 0x21F3, 72175 },
+ { 0x00B6, 72177 },
+ { 0x1D6E, 72179 },
+ { 0x1E20, 72181 },
+ { 0x69F2, 72183 },
+ { 0x69DD, 72184 },
+ { 0x69DE, 72187 },
+ { 0x69DF, 72192 },
+ { 0x678F, 72195 },
+ { 0x22C1, 72196 },
+ { 0x5AE2, 72200 },
+ { 0x5ADC, 72205 },
+ { 0x5ADE, 72209 },
+ { 0x5ADB, 72213 },
+ { 0x5ADF, 72218 },
+ { 0x5AD8, 72222 },
+ { 0x5AE1, 72226 },
+ { 0x5ADA, 72230 },
+ { 0x5AD9, 72234 },
+ { 0x5ADD, 72239 },
+ { 0x5AE0, 72243 },
+ { 0x5AC5, 72247 },
+ { 0x5AC6, 72252 },
+ { 0x5AC3, 72257 },
+ { 0x5AD3, 72262 },
+ { 0x5AD5, 72266 },
+ { 0x5AD2, 72270 },
+ { 0x5AD6, 72275 },
+ { 0x5ACF, 72279 },
+ { 0x5AD1, 72283 },
+ { 0x5AD0, 72287 },
+ { 0x5AD4, 72292 },
+ { 0x5AD7, 72296 },
+ { 0x5AC7, 72300 },
+ { 0x5AC2, 72305 },
+ { 0x5AC4, 72310 },
+ { 0x5ACC, 72315 },
+ { 0x5ACD, 72320 },
+ { 0x5ACB, 72325 },
+ { 0x5AC8, 72329 },
+ { 0x5ACA, 72333 },
+ { 0x5ACE, 72337 },
+ { 0x5AC9, 72342 },
+ { 0x5AE3, 72347 },
+ { 0x5AE4, 72351 },
+ { 0x5A98, 72354 },
+ { 0x5A5E, 72357 },
+ { 0x5A5F, 72360 },
+ { 0x5A64, 72363 },
+ { 0x5A9E, 72367 },
+ { 0x5A5B, 72370 },
+ { 0x5A65, 72373 },
+ { 0x5A61, 72377 },
+ { 0x5A95, 72380 },
+ { 0x5A57, 72385 },
+ { 0x5A9D, 72388 },
+ { 0x5A72, 72391 },
+ { 0x5A76, 72394 },
+ { 0x5A84, 72398 },
+ { 0x5A87, 72403 },
+ { 0x5A88, 72407 },
+ { 0x5A80, 72412 },
+ { 0x5A86, 72416 },
+ { 0x5A7A, 72422 },
+ { 0x5A7B, 72427 },
+ { 0x5A5C, 72435 },
+ { 0x5A66, 72438 },
+ { 0x5A94, 72442 },
+ { 0x5A5D, 72447 },
+ { 0x5A70, 72450 },
+ { 0x5A74, 72453 },
+ { 0x5A82, 72457 },
+ { 0x5A7E, 72462 },
+ { 0x5A78, 72466 },
+ { 0x5A71, 72471 },
+ { 0x5A75, 72474 },
+ { 0x5A83, 72478 },
+ { 0x5A7F, 72483 },
+ { 0x5A79, 72487 },
+ { 0x5A9B, 72492 },
+ { 0x5A59, 72495 },
+ { 0x5A63, 72498 },
+ { 0x5A62, 72502 },
+ { 0x5A67, 72505 },
+ { 0x5A73, 72509 },
+ { 0x5A77, 72512 },
+ { 0x5A85, 72516 },
+ { 0x5A96, 72521 },
+ { 0x5A97, 72525 },
+ { 0x5A93, 72530 },
+ { 0x5A92, 72534 },
+ { 0x5A8B, 72538 },
+ { 0x5A8C, 72542 },
+ { 0x5A81, 72547 },
+ { 0x5A89, 72551 },
+ { 0x5A8A, 72555 },
+ { 0x5A7C, 72560 },
+ { 0x5A7D, 72565 },
+ { 0x5A5A, 72571 },
+ { 0x5A8E, 72574 },
+ { 0x5A8D, 72579 },
+ { 0x5AA8, 72583 },
+ { 0x5AAB, 72586 },
+ { 0x5A60, 72590 },
+ { 0x5A8F, 72593 },
+ { 0x5A91, 72596 },
+ { 0x5A58, 72600 },
+ { 0x5A6A, 72603 },
+ { 0x5AA2, 72606 },
+ { 0x5AA9, 72609 },
+ { 0x5A6D, 72612 },
+ { 0x5A9F, 72615 },
+ { 0x5A6B, 72618 },
+ { 0x5A6E, 72621 },
+ { 0x5A9A, 72624 },
+ { 0x5AB2, 72627 },
+ { 0x5AB1, 72630 },
+ { 0x5A6F, 72633 },
+ { 0x5A68, 72636 },
+ { 0x5AAE, 72639 },
+ { 0x5AA1, 72642 },
+ { 0x5AB3, 72645 },
+ { 0x5A90, 72648 },
+ { 0x5AB5, 72651 },
+ { 0x5AB4, 72654 },
+ { 0x5AAA, 72657 },
+ { 0x5AA7, 72660 },
+ { 0x5A9C, 72663 },
+ { 0x5AB0, 72666 },
+ { 0x5AB6, 72669 },
+ { 0x5AB7, 72672 },
+ { 0x5AA6, 72675 },
+ { 0x5AAC, 72679 },
+ { 0x5ABB, 72683 },
+ { 0x5ABA, 72687 },
+ { 0x5AB9, 72691 },
+ { 0x5AB8, 72695 },
+ { 0x5AA0, 72699 },
+ { 0x5A6C, 72703 },
+ { 0x5AAF, 72707 },
+ { 0x5ABF, 72711 },
+ { 0x5A69, 72715 },
+ { 0x5AA5, 72719 },
+ { 0x5AA3, 72723 },
+ { 0x5ABE, 72727 },
+ { 0x5AC0, 72731 },
+ { 0x5A99, 72735 },
+ { 0x5ABD, 72739 },
+ { 0x5ABC, 72743 },
+ { 0x5AC1, 72747 },
+ { 0x5AA4, 72751 },
+ { 0x5AAD, 72755 },
+ { 0x5AE5, 72759 },
+ { 0x5053, 72764 },
+ { 0x5054, 72767 },
+ { 0x5055, 72770 },
+ { 0x5056, 72773 },
+ { 0x5057, 72776 },
+ { 0x5059, 72779 },
+ { 0x505C, 72782 },
+ { 0x505D, 72785 },
+ { 0x505E, 72788 },
+ { 0x505F, 72791 },
+ { 0x5060, 72794 },
+ { 0x5061, 72797 },
+ { 0x5062, 72800 },
+ { 0x5063, 72803 },
+ { 0x5065, 72806 },
+ { 0x5066, 72809 },
+ { 0x5067, 72812 },
+ { 0x5069, 72815 },
+ { 0x506A, 72818 },
+ { 0x506B, 72821 },
+ { 0x506C, 72824 },
+ { 0x506D, 72827 },
+ { 0x506E, 72830 },
+ { 0x506F, 72833 },
+ { 0x5070, 72836 },
+ { 0x5071, 72839 },
+ { 0x5072, 72842 },
+ { 0x5073, 72845 },
+ { 0x5074, 72848 },
+ { 0x5075, 72851 },
+ { 0x5076, 72854 },
+ { 0x5077, 72857 },
+ { 0x5079, 72860 },
+ { 0x507A, 72863 },
+ { 0x507B, 72866 },
+ { 0x507C, 72869 },
+ { 0x507D, 72872 },
+ { 0x507E, 72875 },
+ { 0x507F, 72878 },
+ { 0x5080, 72881 },
+ { 0x5082, 72884 },
+ { 0x5083, 72887 },
+ { 0x5085, 72890 },
+ { 0x5087, 72893 },
+ { 0x5088, 72896 },
+ { 0x508A, 72899 },
+ { 0x508B, 72902 },
+ { 0x508C, 72905 },
+ { 0x508D, 72908 },
+ { 0x508E, 72911 },
+ { 0x508F, 72914 },
+ { 0x5090, 72917 },
+ { 0x5091, 72920 },
+ { 0x5092, 72923 },
+ { 0x5093, 72926 },
+ { 0x5094, 72929 },
+ { 0x5095, 72932 },
+ { 0x5096, 72935 },
+ { 0x5097, 72938 },
+ { 0x5098, 72941 },
+ { 0x5099, 72944 },
+ { 0x509A, 72947 },
+ { 0x509B, 72950 },
+ { 0x509C, 72953 },
+ { 0x509D, 72956 },
+ { 0x509E, 72959 },
+ { 0x509F, 72962 },
+ { 0x50A0, 72965 },
+ { 0x50A1, 72968 },
+ { 0x50A2, 72971 },
+ { 0x50A3, 72974 },
+ { 0x50A4, 72977 },
+ { 0x50A5, 72980 },
+ { 0x50A6, 72983 },
+ { 0x50A7, 72986 },
+ { 0x50A9, 72989 },
+ { 0x50AA, 72992 },
+ { 0x50AB, 72995 },
+ { 0x50AC, 72998 },
+ { 0x50AD, 73001 },
+ { 0x50AE, 73004 },
+ { 0x50B2, 73007 },
+ { 0x50B3, 73010 },
+ { 0x50B4, 73013 },
+ { 0x50B5, 73016 },
+ { 0x50B6, 73019 },
+ { 0x50B7, 73022 },
+ { 0x50B8, 73025 },
+ { 0x50B9, 73028 },
+ { 0x50BB, 73031 },
+ { 0x50BC, 73034 },
+ { 0x50BD, 73037 },
+ { 0x50BE, 73040 },
+ { 0x50BF, 73043 },
+ { 0x50C0, 73046 },
+ { 0x50C1, 73049 },
+ { 0x50C2, 73052 },
+ { 0x50C3, 73055 },
+ { 0x50C4, 73058 },
+ { 0x50C5, 73061 },
+ { 0x50C6, 73064 },
+ { 0x50C7, 73067 },
+ { 0x50C8, 73070 },
+ { 0x50C9, 73073 },
+ { 0x50CA, 73076 },
+ { 0x50CB, 73079 },
+ { 0x50CC, 73082 },
+ { 0x50CD, 73085 },
+ { 0x50CE, 73088 },
+ { 0x50CF, 73091 },
+ { 0x50D0, 73094 },
+ { 0x50D2, 73097 },
+ { 0x50D3, 73100 },
+ { 0x50D4, 73103 },
+ { 0x50D5, 73106 },
+ { 0x50D6, 73109 },
+ { 0x50D7, 73112 },
+ { 0x50D8, 73115 },
+ { 0x50D9, 73118 },
+ { 0x50DA, 73121 },
+ { 0x50DB, 73124 },
+ { 0x50DC, 73127 },
+ { 0x50DD, 73130 },
+ { 0x50DE, 73133 },
+ { 0x50DF, 73136 },
+ { 0x50E0, 73139 },
+ { 0x50E1, 73142 },
+ { 0x50E2, 73145 },
+ { 0x50E3, 73148 },
+ { 0x50E4, 73151 },
+ { 0x50E6, 73154 },
+ { 0x50E7, 73157 },
+ { 0x50E8, 73160 },
+ { 0x50E9, 73163 },
+ { 0x50EB, 73166 },
+ { 0x50EC, 73169 },
+ { 0x50ED, 73172 },
+ { 0x50EF, 73175 },
+ { 0x50F0, 73178 },
+ { 0x50F1, 73181 },
+ { 0x50F2, 73184 },
+ { 0x50F3, 73187 },
+ { 0x50F4, 73190 },
+ { 0x50F5, 73193 },
+ { 0x50F6, 73196 },
+ { 0x50F7, 73199 },
+ { 0x50F8, 73202 },
+ { 0x50F9, 73205 },
+ { 0x50FA, 73208 },
+ { 0x50FC, 73211 },
+ { 0x50FD, 73214 },
+ { 0x50FF, 73217 },
+ { 0x5100, 73220 },
+ { 0x510A, 73223 },
+ { 0x510B, 73226 },
+ { 0x510D, 73229 },
+ { 0x510E, 73232 },
+ { 0x5110, 73235 },
+ { 0x5111, 73238 },
+ { 0x5112, 73241 },
+ { 0x5113, 73244 },
+ { 0x5114, 73247 },
+ { 0x5115, 73250 },
+ { 0x5116, 73253 },
+ { 0x5117, 73256 },
+ { 0x5118, 73259 },
+ { 0x5119, 73262 },
+ { 0x511A, 73265 },
+ { 0x511B, 73268 },
+ { 0x511C, 73271 },
+ { 0x5125, 73274 },
+ { 0x5126, 73277 },
+ { 0x5127, 73280 },
+ { 0x5128, 73283 },
+ { 0x5129, 73286 },
+ { 0x512A, 73289 },
+ { 0x512B, 73292 },
+ { 0x512C, 73295 },
+ { 0x512E, 73298 },
+ { 0x5130, 73301 },
+ { 0x5131, 73304 },
+ { 0x5132, 73307 },
+ { 0x5133, 73310 },
+ { 0x5134, 73313 },
+ { 0x5135, 73316 },
+ { 0x5136, 73319 },
+ { 0x5138, 73322 },
+ { 0x513A, 73325 },
+ { 0x513B, 73328 },
+ { 0x513C, 73331 },
+ { 0x513E, 73334 },
+ { 0x513F, 73337 },
+ { 0x5140, 73340 },
+ { 0x5141, 73343 },
+ { 0x5142, 73346 },
+ { 0x5143, 73349 },
+ { 0x5144, 73352 },
+ { 0x5145, 73355 },
+ { 0x5147, 73358 },
+ { 0x5148, 73361 },
+ { 0x5149, 73364 },
+ { 0x514A, 73367 },
+ { 0x514B, 73370 },
+ { 0x514C, 73373 },
+ { 0x514E, 73376 },
+ { 0x514F, 73379 },
+ { 0x5150, 73382 },
+ { 0x5151, 73385 },
+ { 0x5153, 73388 },
+ { 0x5154, 73391 },
+ { 0x5155, 73394 },
+ { 0x5156, 73397 },
+ { 0x5157, 73400 },
+ { 0x5158, 73403 },
+ { 0x5159, 73406 },
+ { 0x515A, 73409 },
+ { 0x515B, 73412 },
+ { 0x515C, 73415 },
+ { 0x515D, 73418 },
+ { 0x515E, 73421 },
+ { 0x5160, 73424 },
+ { 0x5161, 73427 },
+ { 0x5162, 73430 },
+ { 0x5163, 73433 },
+ { 0x5164, 73436 },
+ { 0x5165, 73439 },
+ { 0x5166, 73442 },
+ { 0x5167, 73445 },
+ { 0x5169, 73448 },
+ { 0x516A, 73451 },
+ { 0x516B, 73454 },
+ { 0x516C, 73457 },
+ { 0x516D, 73460 },
+ { 0x516E, 73463 },
+ { 0x516F, 73466 },
+ { 0x5170, 73469 },
+ { 0x5171, 73472 },
+ { 0x5172, 73475 },
+ { 0x5174, 73478 },
+ { 0x5175, 73481 },
+ { 0x5176, 73484 },
+ { 0x5177, 73487 },
+ { 0x5178, 73490 },
+ { 0x5179, 73493 },
+ { 0x517B, 73496 },
+ { 0x517D, 73499 },
+ { 0x517E, 73502 },
+ { 0x517F, 73505 },
+ { 0x5180, 73508 },
+ { 0x5181, 73511 },
+ { 0x5182, 73514 },
+ { 0x5183, 73517 },
+ { 0x5185, 73520 },
+ { 0x5187, 73523 },
+ { 0x5189, 73526 },
+ { 0x518A, 73529 },
+ { 0x518B, 73532 },
+ { 0x518C, 73535 },
+ { 0x5190, 73538 },
+ { 0x5191, 73541 },
+ { 0x5192, 73544 },
+ { 0x5193, 73547 },
+ { 0x5194, 73550 },
+ { 0x5195, 73553 },
+ { 0x5196, 73556 },
+ { 0x5197, 73559 },
+ { 0x5199, 73562 },
+ { 0x519C, 73565 },
+ { 0x519D, 73568 },
+ { 0x519E, 73571 },
+ { 0x519F, 73574 },
+ { 0x51A1, 73577 },
+ { 0x51A2, 73580 },
+ { 0x51A3, 73583 },
+ { 0x51A4, 73586 },
+ { 0x51A5, 73589 },
+ { 0x51A6, 73592 },
+ { 0x51A7, 73595 },
+ { 0x51A8, 73598 },
+ { 0x51A9, 73601 },
+ { 0x51AB, 73604 },
+ { 0x51AC, 73607 },
+ { 0x51AD, 73610 },
+ { 0x51AE, 73613 },
+ { 0x51AF, 73616 },
+ { 0x51B0, 73619 },
+ { 0x51B2, 73622 },
+ { 0x51B3, 73625 },
+ { 0x51B4, 73628 },
+ { 0x51B5, 73631 },
+ { 0x51B6, 73634 },
+ { 0x51B7, 73637 },
+ { 0x51B8, 73640 },
+ { 0x51B9, 73643 },
+ { 0x51BA, 73646 },
+ { 0x51BB, 73649 },
+ { 0x51BD, 73652 },
+ { 0x51BF, 73655 },
+ { 0x51C0, 73658 },
+ { 0x51C1, 73661 },
+ { 0x51C2, 73664 },
+ { 0x51C3, 73667 },
+ { 0x51C4, 73670 },
+ { 0x51C6, 73673 },
+ { 0x51C7, 73676 },
+ { 0x51C9, 73679 },
+ { 0x51CA, 73682 },
+ { 0x51CB, 73685 },
+ { 0x51CC, 73688 },
+ { 0x51CD, 73691 },
+ { 0x51CE, 73694 },
+ { 0x51CF, 73697 },
+ { 0x51D0, 73700 },
+ { 0x51D1, 73703 },
+ { 0x51D2, 73706 },
+ { 0x51D3, 73709 },
+ { 0x51D4, 73712 },
+ { 0x51D5, 73715 },
+ { 0x51D6, 73718 },
+ { 0x51D7, 73721 },
+ { 0x51D9, 73724 },
+ { 0x51DA, 73727 },
+ { 0x51DB, 73730 },
+ { 0x51DC, 73733 },
+ { 0x51DD, 73736 },
+ { 0x51DE, 73739 },
+ { 0x51DF, 73742 },
+ { 0x51E1, 73745 },
+ { 0x51E2, 73748 },
+ { 0x51E3, 73751 },
+ { 0x51E4, 73754 },
+ { 0x51E6, 73757 },
+ { 0x51E8, 73760 },
+ { 0x51EA, 73763 },
+ { 0x51EB, 73766 },
+ { 0x51EC, 73769 },
+ { 0x51ED, 73772 },
+ { 0x51EE, 73775 },
+ { 0x51EF, 73778 },
+ { 0x51F0, 73781 },
+ { 0x51F1, 73784 },
+ { 0x51F2, 73787 },
+ { 0x51F3, 73790 },
+ { 0x51F4, 73793 },
+ { 0x51F5, 73796 },
+ { 0x51F6, 73799 },
+ { 0x51F7, 73802 },
+ { 0x51F9, 73805 },
+ { 0x51FA, 73808 },
+ { 0x51FB, 73811 },
+ { 0x51FC, 73814 },
+ { 0x51FE, 73817 },
+ { 0x51FF, 73820 },
+ { 0x5200, 73823 },
+ { 0x5203, 73826 },
+ { 0x5204, 73829 },
+ { 0x5206, 73832 },
+ { 0x5207, 73835 },
+ { 0x5208, 73838 },
+ { 0x5209, 73841 },
+ { 0x520A, 73844 },
+ { 0x520B, 73847 },
+ { 0x520C, 73850 },
+ { 0x520E, 73853 },
+ { 0x520F, 73856 },
+ { 0x5218, 73859 },
+ { 0x5219, 73862 },
+ { 0x521A, 73865 },
+ { 0x521C, 73868 },
+ { 0x521E, 73871 },
+ { 0x5220, 73874 },
+ { 0x5221, 73877 },
+ { 0x5222, 73880 },
+ { 0x5223, 73883 },
+ { 0x5224, 73886 },
+ { 0x5226, 73889 },
+ { 0x5227, 73892 },
+ { 0x5229, 73895 },
+ { 0x522A, 73898 },
+ { 0x522B, 73901 },
+ { 0x522C, 73904 },
+ { 0x522E, 73907 },
+ { 0x522F, 73910 },
+ { 0x5230, 73913 },
+ { 0x5232, 73916 },
+ { 0x5233, 73919 },
+ { 0x5236, 73922 },
+ { 0x5237, 73925 },
+ { 0x5238, 73928 },
+ { 0x5239, 73931 },
+ { 0x523A, 73934 },
+ { 0x523B, 73937 },
+ { 0x523C, 73940 },
+ { 0x523E, 73943 },
+ { 0x523F, 73946 },
+ { 0x5240, 73949 },
+ { 0x5241, 73952 },
+ { 0x5242, 73955 },
+ { 0x5243, 73958 },
+ { 0x5244, 73961 },
+ { 0x5245, 73964 },
+ { 0x5246, 73967 },
+ { 0x5247, 73970 },
+ { 0x5248, 73973 },
+ { 0x5249, 73976 },
+ { 0x524A, 73979 },
+ { 0x524B, 73982 },
+ { 0x524C, 73985 },
+ { 0x524D, 73988 },
+ { 0x524E, 73991 },
+ { 0x524F, 73994 },
+ { 0x5250, 73997 },
+ { 0x5251, 74000 },
+ { 0x5252, 74003 },
+ { 0x5253, 74006 },
+ { 0x5256, 74009 },
+ { 0x5257, 74012 },
+ { 0x5258, 74015 },
+ { 0x5259, 74018 },
+ { 0x525A, 74021 },
+ { 0x525B, 74024 },
+ { 0x525C, 74027 },
+ { 0x525E, 74030 },
+ { 0x525F, 74033 },
+ { 0x5260, 74036 },
+ { 0x5261, 74039 },
+ { 0x5262, 74042 },
+ { 0x5263, 74045 },
+ { 0x5264, 74048 },
+ { 0x5265, 74051 },
+ { 0x5267, 74054 },
+ { 0x5269, 74057 },
+ { 0x526B, 74060 },
+ { 0x526C, 74063 },
+ { 0x526E, 74066 },
+ { 0x526F, 74069 },
+ { 0x5270, 74072 },
+ { 0x5271, 74075 },
+ { 0x5272, 74078 },
+ { 0x52A3, 74081 },
+ { 0x52A5, 74084 },
+ { 0x52A6, 74087 },
+ { 0x52A7, 74090 },
+ { 0x52A8, 74093 },
+ { 0x52AA, 74096 },
+ { 0x52B1, 74099 },
+ { 0x52B2, 74102 },
+ { 0x52B3, 74105 },
+ { 0x52B4, 74108 },
+ { 0x52B8, 74111 },
+ { 0x52B9, 74114 },
+ { 0x52BA, 74117 },
+ { 0x52BB, 74120 },
+ { 0x52BC, 74123 },
+ { 0x52BD, 74126 },
+ { 0x52BE, 74129 },
+ { 0x52BF, 74132 },
+ { 0x52C0, 74135 },
+ { 0x52C2, 74138 },
+ { 0x52C4, 74141 },
+ { 0x52C5, 74144 },
+ { 0x52C6, 74147 },
+ { 0x52C7, 74150 },
+ { 0x52C9, 74153 },
+ { 0x52CB, 74156 },
+ { 0x52CC, 74159 },
+ { 0x52CD, 74162 },
+ { 0x52CE, 74165 },
+ { 0x52D0, 74168 },
+ { 0x52D2, 74171 },
+ { 0x52D3, 74174 },
+ { 0x52D4, 74177 },
+ { 0x52D6, 74180 },
+ { 0x52D7, 74183 },
+ { 0x52D8, 74186 },
+ { 0x52DD, 74189 },
+ { 0x52DE, 74192 },
+ { 0x52DF, 74195 },
+ { 0x52E0, 74198 },
+ { 0x52E1, 74201 },
+ { 0x52E2, 74204 },
+ { 0x52E3, 74207 },
+ { 0x52E4, 74210 },
+ { 0x52E5, 74213 },
+ { 0x52E6, 74216 },
+ { 0x52E7, 74219 },
+ { 0x52E8, 74222 },
+ { 0x52E9, 74225 },
+ { 0x52EA, 74228 },
+ { 0x52ED, 74231 },
+ { 0x52EE, 74234 },
+ { 0x52F0, 74237 },
+ { 0x52F1, 74240 },
+ { 0x52F3, 74243 },
+ { 0x52F4, 74246 },
+ { 0x52F5, 74249 },
+ { 0x52F6, 74252 },
+ { 0x52F7, 74255 },
+ { 0x52F8, 74258 },
+ { 0x52F9, 74261 },
+ { 0x52FA, 74264 },
+ { 0x52FB, 74267 },
+ { 0x52FC, 74270 },
+ { 0x52FD, 74273 },
+ { 0x52FE, 74276 },
+ { 0x52FF, 74279 },
+ { 0x5300, 74282 },
+ { 0x5301, 74285 },
+ { 0x5302, 74288 },
+ { 0x5303, 74291 },
+ { 0x5305, 74294 },
+ { 0x5308, 74297 },
+ { 0x5309, 74300 },
+ { 0x530A, 74303 },
+ { 0x530B, 74306 },
+ { 0x530C, 74309 },
+ { 0x530D, 74312 },
+ { 0x530E, 74315 },
+ { 0x5310, 74318 },
+ { 0x5311, 74321 },
+ { 0x5312, 74324 },
+ { 0x5313, 74327 },
+ { 0x5314, 74330 },
+ { 0x5315, 74333 },
+ { 0x5317, 74336 },
+ { 0x5318, 74339 },
+ { 0x5319, 74342 },
+ { 0x531A, 74345 },
+ { 0x531B, 74348 },
+ { 0x531C, 74351 },
+ { 0x531D, 74354 },
+ { 0x531E, 74357 },
+ { 0x531F, 74360 },
+ { 0x5320, 74363 },
+ { 0x5321, 74366 },
+ { 0x5322, 74369 },
+ { 0x5323, 74372 },
+ { 0x5324, 74375 },
+ { 0x5325, 74378 },
+ { 0x5327, 74381 },
+ { 0x5328, 74384 },
+ { 0x5329, 74387 },
+ { 0x532A, 74390 },
+ { 0x532C, 74393 },
+ { 0x532D, 74396 },
+ { 0x532E, 74399 },
+ { 0x532F, 74402 },
+ { 0x5330, 74405 },
+ { 0x5331, 74408 },
+ { 0x5332, 74411 },
+ { 0x5333, 74414 },
+ { 0x5336, 74417 },
+ { 0x5337, 74420 },
+ { 0x5338, 74423 },
+ { 0x533A, 74426 },
+ { 0x533B, 74429 },
+ { 0x533C, 74432 },
+ { 0x533D, 74435 },
+ { 0x533E, 74438 },
+ { 0x533F, 74441 },
+ { 0x5340, 74444 },
+ { 0x5341, 74447 },
+ { 0x5342, 74450 },
+ { 0x5345, 74453 },
+ { 0x5346, 74456 },
+ { 0x5347, 74459 },
+ { 0x5348, 74462 },
+ { 0x5349, 74465 },
+ { 0x534A, 74468 },
+ { 0x534B, 74471 },
+ { 0x534C, 74474 },
+ { 0x534D, 74477 },
+ { 0x534F, 74480 },
+ { 0x5350, 74483 },
+ { 0x5351, 74486 },
+ { 0x5352, 74489 },
+ { 0x5353, 74492 },
+ { 0x5354, 74495 },
+ { 0x5355, 74498 },
+ { 0x5356, 74501 },
+ { 0x5357, 74504 },
+ { 0x5358, 74507 },
+ { 0x5359, 74510 },
+ { 0x535A, 74513 },
+ { 0x535B, 74516 },
+ { 0x535C, 74519 },
+ { 0x535E, 74522 },
+ { 0x535F, 74525 },
+ { 0x5360, 74528 },
+ { 0x5361, 74531 },
+ { 0x5363, 74534 },
+ { 0x5365, 74537 },
+ { 0x5367, 74540 },
+ { 0x5368, 74543 },
+ { 0x536A, 74546 },
+ { 0x536B, 74549 },
+ { 0x536C, 74552 },
+ { 0x536D, 74555 },
+ { 0x536E, 74558 },
+ { 0x5370, 74561 },
+ { 0x5371, 74564 },
+ { 0x5372, 74567 },
+ { 0x5373, 74570 },
+ { 0x5374, 74573 },
+ { 0x5375, 74576 },
+ { 0x5376, 74579 },
+ { 0x5377, 74582 },
+ { 0x5378, 74585 },
+ { 0x5379, 74588 },
+ { 0x537A, 74591 },
+ { 0x537B, 74594 },
+ { 0x537C, 74597 },
+ { 0x537D, 74600 },
+ { 0x537E, 74603 },
+ { 0x537F, 74606 },
+ { 0x5381, 74609 },
+ { 0x5383, 74612 },
+ { 0x5384, 74615 },
+ { 0x5385, 74618 },
+ { 0x5386, 74621 },
+ { 0x5387, 74624 },
+ { 0x5388, 74627 },
+ { 0x5389, 74630 },
+ { 0x538A, 74633 },
+ { 0x538B, 74636 },
+ { 0x538E, 74639 },
+ { 0x538F, 74642 },
+ { 0x5390, 74645 },
+ { 0x5391, 74648 },
+ { 0x5392, 74651 },
+ { 0x5393, 74654 },
+ { 0x5394, 74657 },
+ { 0x5395, 74660 },
+ { 0x5396, 74663 },
+ { 0x5397, 74666 },
+ { 0x5398, 74669 },
+ { 0x5399, 74672 },
+ { 0x539A, 74675 },
+ { 0x539B, 74678 },
+ { 0x539C, 74681 },
+ { 0x539D, 74684 },
+ { 0x539E, 74687 },
+ { 0x53A0, 74690 },
+ { 0x53A1, 74693 },
+ { 0x53A2, 74696 },
+ { 0x53A3, 74699 },
+ { 0x53A4, 74702 },
+ { 0x53A5, 74705 },
+ { 0x53A7, 74708 },
+ { 0x53A8, 74711 },
+ { 0x53A9, 74714 },
+ { 0x53AB, 74717 },
+ { 0x53AC, 74720 },
+ { 0x53AD, 74723 },
+ { 0x53AE, 74726 },
+ { 0x53AF, 74729 },
+ { 0x53B0, 74732 },
+ { 0x53B1, 74735 },
+ { 0x53B2, 74738 },
+ { 0x53B3, 74741 },
+ { 0x53B4, 74744 },
+ { 0x53B5, 74747 },
+ { 0x53BF, 74750 },
+ { 0x53C1, 74753 },
+ { 0x53C2, 74756 },
+ { 0x53C3, 74759 },
+ { 0x53C4, 74762 },
+ { 0x53C5, 74765 },
+ { 0x53C8, 74768 },
+ { 0x53C9, 74771 },
+ { 0x53CA, 74774 },
+ { 0x53CB, 74777 },
+ { 0x53CF, 74780 },
+ { 0x53D2, 74783 },
+ { 0x53D3, 74786 },
+ { 0x53D4, 74789 },
+ { 0x53D5, 74792 },
+ { 0x53D6, 74795 },
+ { 0x53D7, 74798 },
+ { 0x53D8, 74801 },
+ { 0x53D9, 74804 },
+ { 0x53E6, 74807 },
+ { 0x53E7, 74810 },
+ { 0x53E8, 74813 },
+ { 0x53EA, 74816 },
+ { 0x53EB, 74819 },
+ { 0x53EC, 74822 },
+ { 0x53ED, 74825 },
+ { 0x53EE, 74828 },
+ { 0x53F0, 74831 },
+ { 0x53F2, 74834 },
+ { 0x53F4, 74837 },
+ { 0x53F6, 74840 },
+ { 0x53F7, 74843 },
+ { 0x53F9, 74846 },
+ { 0x53FA, 74849 },
+ { 0x53FB, 74852 },
+ { 0x53FC, 74855 },
+ { 0x53FE, 74858 },
+ { 0x53FF, 74861 },
+ { 0x5400, 74864 },
+ { 0x5402, 74867 },
+ { 0x5403, 74870 },
+ { 0x5404, 74873 },
+ { 0x5406, 74876 },
+ { 0x5407, 74879 },
+ { 0x5408, 74882 },
+ { 0x5409, 74885 },
+ { 0x540A, 74888 },
+ { 0x540B, 74891 },
+ { 0x540D, 74894 },
+ { 0x540F, 74897 },
+ { 0x5410, 74900 },
+ { 0x5411, 74903 },
+ { 0x5412, 74906 },
+ { 0x5414, 74909 },
+ { 0x5415, 74912 },
+ { 0x5416, 74915 },
+ { 0x5418, 74918 },
+ { 0x541A, 74921 },
+ { 0x541B, 74924 },
+ { 0x541C, 74927 },
+ { 0x541D, 74930 },
+ { 0x541E, 74933 },
+ { 0x541F, 74936 },
+ { 0x5421, 74939 },
+ { 0x5422, 74942 },
+ { 0x5423, 74945 },
+ { 0x5424, 74948 },
+ { 0x5425, 74951 },
+ { 0x5428, 74954 },
+ { 0x5429, 74957 },
+ { 0x542B, 74960 },
+ { 0x542C, 74963 },
+ { 0x542E, 74966 },
+ { 0x5430, 74969 },
+ { 0x5431, 74972 },
+ { 0x5432, 74975 },
+ { 0x5433, 74978 },
+ { 0x5434, 74981 },
+ { 0x5435, 74984 },
+ { 0x5436, 74987 },
+ { 0x5437, 74990 },
+ { 0x5438, 74993 },
+ { 0x543D, 74996 },
+ { 0x5440, 74999 },
+ { 0x5442, 75002 },
+ { 0x5444, 75005 },
+ { 0x5445, 75008 },
+ { 0x5446, 75011 },
+ { 0x5447, 75014 },
+ { 0x5448, 75017 },
+ { 0x5449, 75020 },
+ { 0x544A, 75023 },
+ { 0x544B, 75026 },
+ { 0x544C, 75029 },
+ { 0x544D, 75032 },
+ { 0x5457, 75035 },
+ { 0x5058, 75038 },
+ { 0x505A, 75041 },
+ { 0x505B, 75044 },
+ { 0x5064, 75047 },
+ { 0x5068, 75050 },
+ { 0x5078, 75053 },
+ { 0x5081, 75056 },
+ { 0x5084, 75059 },
+ { 0x5086, 75062 },
+ { 0x5089, 75065 },
+ { 0x5460, 75068 },
+ { 0x5461, 75071 },
+ { 0x5462, 75074 },
+ { 0x5463, 75077 },
+ { 0x5464, 75080 },
+ { 0x5465, 75083 },
+ { 0x5466, 75086 },
+ { 0x5469, 75089 },
+ { 0x546A, 75092 },
+ { 0x546B, 75095 },
+ { 0x546C, 75098 },
+ { 0x546D, 75101 },
+ { 0x546E, 75104 },
+ { 0x546F, 75107 },
+ { 0x5470, 75110 },
+ { 0x5471, 75113 },
+ { 0x5472, 75116 },
+ { 0x5473, 75119 },
+ { 0x5474, 75122 },
+ { 0x5475, 75125 },
+ { 0x5476, 75128 },
+ { 0x5477, 75131 },
+ { 0x5478, 75134 },
+ { 0x5479, 75137 },
+ { 0x547A, 75140 },
+ { 0x547B, 75143 },
+ { 0x547C, 75146 },
+ { 0x547D, 75149 },
+ { 0x547E, 75152 },
+ { 0x547F, 75155 },
+ { 0x5480, 75158 },
+ { 0x5481, 75161 },
+ { 0x50A8, 75164 },
+ { 0x50AF, 75167 },
+ { 0x50B0, 75170 },
+ { 0x50B1, 75173 },
+ { 0x50BA, 75176 },
+ { 0x50D1, 75179 },
+ { 0x50E5, 75182 },
+ { 0x50EA, 75185 },
+ { 0x50EE, 75188 },
+ { 0x50FB, 75191 },
+ { 0x50FE, 75194 },
+ { 0x5101, 75197 },
+ { 0x5102, 75200 },
+ { 0x5103, 75203 },
+ { 0x5104, 75206 },
+ { 0x5105, 75209 },
+ { 0x5106, 75212 },
+ { 0x5107, 75215 },
+ { 0x5108, 75218 },
+ { 0x5109, 75221 },
+ { 0x510C, 75224 },
+ { 0x510F, 75227 },
+ { 0x511D, 75230 },
+ { 0x511E, 75233 },
+ { 0x511F, 75236 },
+ { 0x5120, 75239 },
+ { 0x5121, 75242 },
+ { 0x5122, 75245 },
+ { 0x5123, 75248 },
+ { 0x5124, 75251 },
+ { 0x512D, 75254 },
+ { 0x512F, 75257 },
+ { 0x5137, 75260 },
+ { 0x5139, 75263 },
+ { 0x513D, 75266 },
+ { 0x5146, 75269 },
+ { 0x514D, 75272 },
+ { 0x5152, 75275 },
+ { 0x515F, 75278 },
+ { 0x5168, 75281 },
+ { 0x5173, 75284 },
+ { 0x517A, 75287 },
+ { 0x517C, 75290 },
+ { 0x5184, 75293 },
+ { 0x5186, 75296 },
+ { 0x5188, 75299 },
+ { 0x518D, 75302 },
+ { 0x518E, 75305 },
+ { 0x518F, 75308 },
+ { 0x5198, 75311 },
+ { 0x519A, 75314 },
+ { 0x519B, 75317 },
+ { 0x51A0, 75320 },
+ { 0x51AA, 75323 },
+ { 0x51B1, 75326 },
+ { 0x51BC, 75329 },
+ { 0x51BE, 75332 },
+ { 0x51C5, 75335 },
+ { 0x51C8, 75338 },
+ { 0x51D8, 75341 },
+ { 0x51E0, 75344 },
+ { 0x51E5, 75347 },
+ { 0x51E7, 75350 },
+ { 0x51E9, 75353 },
+ { 0x51F8, 75356 },
+ { 0x51FD, 75359 },
+ { 0x5201, 75362 },
+ { 0x5202, 75365 },
+ { 0x5205, 75368 },
+ { 0x520D, 75371 },
+ { 0x5210, 75374 },
+ { 0x5211, 75377 },
+ { 0x5212, 75380 },
+ { 0x5213, 75383 },
+ { 0x5214, 75386 },
+ { 0x5215, 75389 },
+ { 0x5216, 75392 },
+ { 0x5217, 75395 },
+ { 0x521B, 75398 },
+ { 0x521D, 75401 },
+ { 0x521F, 75404 },
+ { 0x5225, 75407 },
+ { 0x5228, 75410 },
+ { 0x522D, 75413 },
+ { 0x5231, 75416 },
+ { 0x5234, 75419 },
+ { 0x5235, 75422 },
+ { 0x523D, 75425 },
+ { 0x5254, 75428 },
+ { 0x5255, 75431 },
+ { 0x525D, 75434 },
+ { 0x5266, 75437 },
+ { 0x5268, 75440 },
+ { 0x526A, 75443 },
+ { 0x526D, 75446 },
+ { 0x5273, 75449 },
+ { 0x5274, 75452 },
+ { 0x5275, 75455 },
+ { 0x5276, 75458 },
+ { 0x5277, 75461 },
+ { 0x5279, 75464 },
+ { 0x527A, 75467 },
+ { 0x527B, 75470 },
+ { 0x527C, 75473 },
+ { 0x527D, 75476 },
+ { 0x527E, 75479 },
+ { 0x527F, 75482 },
+ { 0x5280, 75485 },
+ { 0x5281, 75488 },
+ { 0x5282, 75491 },
+ { 0x5283, 75494 },
+ { 0x5284, 75497 },
+ { 0x5286, 75500 },
+ { 0x5287, 75503 },
+ { 0x5288, 75506 },
+ { 0x5289, 75509 },
+ { 0x528A, 75512 },
+ { 0x528B, 75515 },
+ { 0x528C, 75518 },
+ { 0x528D, 75521 },
+ { 0x528E, 75524 },
+ { 0x528F, 75527 },
+ { 0x5290, 75530 },
+ { 0x5291, 75533 },
+ { 0x5292, 75536 },
+ { 0x5294, 75539 },
+ { 0x5296, 75542 },
+ { 0x5297, 75545 },
+ { 0x5298, 75548 },
+ { 0x5299, 75551 },
+ { 0x529A, 75554 },
+ { 0x529B, 75557 },
+ { 0x529C, 75560 },
+ { 0x529E, 75563 },
+ { 0x529F, 75566 },
+ { 0x52A0, 75569 },
+ { 0x52A1, 75572 },
+ { 0x52A4, 75575 },
+ { 0x52A9, 75578 },
+ { 0x52AB, 75581 },
+ { 0x52AC, 75584 },
+ { 0x52AD, 75587 },
+ { 0x52AE, 75590 },
+ { 0x52AF, 75593 },
+ { 0x52B0, 75596 },
+ { 0x52B5, 75599 },
+ { 0x52B6, 75602 },
+ { 0x52B7, 75605 },
+ { 0x52C1, 75608 },
+ { 0x52C3, 75611 },
+ { 0x52C8, 75614 },
+ { 0x52CA, 75617 },
+ { 0x52CF, 75620 },
+ { 0x52D1, 75623 },
+ { 0x52D5, 75626 },
+ { 0x52D9, 75629 },
+ { 0x52DA, 75632 },
+ { 0x52DB, 75635 },
+ { 0x52DC, 75638 },
+ { 0x52EB, 75641 },
+ { 0x52EC, 75644 },
+ { 0x52EF, 75647 },
+ { 0x52F2, 75650 },
+ { 0x5304, 75653 },
+ { 0x5306, 75656 },
+ { 0x5307, 75659 },
+ { 0x530F, 75662 },
+ { 0x5316, 75665 },
+ { 0x5326, 75668 },
+ { 0x532B, 75671 },
+ { 0x5334, 75674 },
+ { 0x5335, 75677 },
+ { 0x5339, 75680 },
+ { 0x5343, 75683 },
+ { 0x5344, 75686 },
+ { 0x534E, 75689 },
+ { 0x535D, 75692 },
+ { 0x5362, 75695 },
+ { 0x5364, 75698 },
+ { 0x5366, 75701 },
+ { 0x5369, 75704 },
+ { 0x536F, 75707 },
+ { 0x5380, 75710 },
+ { 0x5382, 75713 },
+ { 0x538C, 75716 },
+ { 0x538D, 75719 },
+ { 0x539F, 75722 },
+ { 0x53A6, 75725 },
+ { 0x53AA, 75728 },
+ { 0x53B6, 75731 },
+ { 0x53B7, 75734 },
+ { 0x53B8, 75737 },
+ { 0x53B9, 75740 },
+ { 0x53BA, 75743 },
+ { 0x53BB, 75746 },
+ { 0x53BC, 75749 },
+ { 0x53BD, 75752 },
+ { 0x53BE, 75755 },
+ { 0x53C0, 75758 },
+ { 0x53C6, 75761 },
+ { 0x53C7, 75764 },
+ { 0x53CC, 75767 },
+ { 0x53CD, 75770 },
+ { 0x53CE, 75773 },
+ { 0x53D0, 75776 },
+ { 0x53D1, 75779 },
+ { 0x53DA, 75782 },
+ { 0x53DB, 75785 },
+ { 0x53DC, 75788 },
+ { 0x53DD, 75791 },
+ { 0x53DE, 75794 },
+ { 0x53DF, 75797 },
+ { 0x53E0, 75800 },
+ { 0x53E1, 75803 },
+ { 0x53E2, 75806 },
+ { 0x53E3, 75809 },
+ { 0x53E4, 75812 },
+ { 0x53E5, 75815 },
+ { 0x53E9, 75818 },
+ { 0x53EF, 75821 },
+ { 0x53F1, 75824 },
+ { 0x53F3, 75827 },
+ { 0x53F5, 75830 },
+ { 0x53F8, 75833 },
+ { 0x53FD, 75836 },
+ { 0x5401, 75839 },
+ { 0x5405, 75842 },
+ { 0x540C, 75845 },
+ { 0x540E, 75848 },
+ { 0x5413, 75851 },
+ { 0x5417, 75854 },
+ { 0x5419, 75857 },
+ { 0x5420, 75860 },
+ { 0x5426, 75863 },
+ { 0x5427, 75866 },
+ { 0x542A, 75869 },
+ { 0x542D, 75872 },
+ { 0x542F, 75875 },
+ { 0x5439, 75878 },
+ { 0x543A, 75881 },
+ { 0x543B, 75884 },
+ { 0x543C, 75887 },
+ { 0x543E, 75890 },
+ { 0x543F, 75893 },
+ { 0x5441, 75896 },
+ { 0x5443, 75899 },
+ { 0x544E, 75902 },
+ { 0x544F, 75905 },
+ { 0x5450, 75908 },
+ { 0x5451, 75911 },
+ { 0x5452, 75914 },
+ { 0x5453, 75917 },
+ { 0x5454, 75920 },
+ { 0x5455, 75923 },
+ { 0x5456, 75926 },
+ { 0x5458, 75929 },
+ { 0x5459, 75932 },
+ { 0x545A, 75935 },
+ { 0x545B, 75938 },
+ { 0x545C, 75941 },
+ { 0x545D, 75944 },
+ { 0x545E, 75947 },
+ { 0x545F, 75950 },
+ { 0x5467, 75953 },
+ { 0x5468, 75956 },
+ { 0x5278, 75959 },
+ { 0x5285, 75962 },
+ { 0x5293, 75965 },
+ { 0x5295, 75968 },
+ { 0x529D, 75971 },
+ { 0x52A2, 75974 },
+ { 0x6932, 75977 },
+ { 0x1E5A, 75979 },
+ { 0x68C7, 75981 },
+ { 0x694C, 75984 },
+ { 0x683E, 75986 },
+ { 0x1EDC, 75987 },
+ { 0x222F, 75989 },
+ { 0x690F, 75990 },
+ { 0x69A9, 75995 },
+ { 0x1053, 75998 },
+ { 0x1056, 76001 },
+ { 0x1054, 76003 },
+ { 0x105A, 76005 },
+ { 0x105F, 76008 },
+ { 0x105B, 76011 },
+ { 0x105E, 76014 },
+ { 0x105D, 76017 },
+ { 0x1062, 76020 },
+ { 0x1061, 76023 },
+ { 0x1060, 76026 },
+ { 0x105C, 76029 },
+ { 0x1087, 76032 },
+ { 0x107F, 76036 },
+ { 0x1082, 76040 },
+ { 0x1085, 76044 },
+ { 0x1083, 76048 },
+ { 0x1081, 76052 },
+ { 0x107E, 76057 },
+ { 0x1084, 76061 },
+ { 0x1080, 76065 },
+ { 0x1086, 76069 },
+ { 0x1063, 76073 },
+ { 0x106D, 76076 },
+ { 0x1067, 76080 },
+ { 0x1066, 76083 },
+ { 0x1068, 76086 },
+ { 0x106A, 76089 },
+ { 0x106B, 76092 },
+ { 0x1065, 76095 },
+ { 0x1064, 76098 },
+ { 0x106C, 76101 },
+ { 0x1069, 76104 },
+ { 0x1057, 76107 },
+ { 0x1051, 76110 },
+ { 0x1058, 76113 },
+ { 0x0F61, 76116 },
+ { 0x0F66, 76119 },
+ { 0x0F63, 76122 },
+ { 0x0F67, 76125 },
+ { 0x0F62, 76128 },
+ { 0x0F79, 76131 },
+ { 0x0F7E, 76134 },
+ { 0x0F7B, 76137 },
+ { 0x0F7F, 76140 },
+ { 0x0F7A, 76143 },
+ { 0x0FE6, 76146 },
+ { 0x0FEB, 76149 },
+ { 0x0FE8, 76152 },
+ { 0x0FEC, 76155 },
+ { 0x0FE7, 76158 },
+ { 0x103B, 76161 },
+ { 0x1040, 76164 },
+ { 0x103D, 76167 },
+ { 0x1041, 76170 },
+ { 0x103C, 76173 },
+ { 0x0FFE, 76176 },
+ { 0x1003, 76179 },
+ { 0x1000, 76182 },
+ { 0x1004, 76185 },
+ { 0x0FFF, 76188 },
+ { 0x0F08, 76191 },
+ { 0x0F0D, 76194 },
+ { 0x0F0A, 76197 },
+ { 0x0F0E, 76200 },
+ { 0x0F09, 76203 },
+ { 0x0FF6, 76206 },
+ { 0x0FFB, 76209 },
+ { 0x0FF8, 76212 },
+ { 0x0FFC, 76215 },
+ { 0x0FF7, 76218 },
+ { 0x0FA6, 76221 },
+ { 0x0FAB, 76224 },
+ { 0x0FA8, 76227 },
+ { 0x0FAC, 76230 },
+ { 0x0FA7, 76233 },
+ { 0x0F10, 76236 },
+ { 0x0F15, 76239 },
+ { 0x0F12, 76242 },
+ { 0x0F16, 76245 },
+ { 0x0F11, 76248 },
+ { 0x0F20, 76251 },
+ { 0x0F25, 76254 },
+ { 0x0F22, 76257 },
+ { 0x0F26, 76260 },
+ { 0x0F21, 76263 },
+ { 0x0F8E, 76266 },
+ { 0x0F93, 76269 },
+ { 0x0F90, 76272 },
+ { 0x0F94, 76275 },
+ { 0x0F8F, 76278 },
+ { 0x1043, 76281 },
+ { 0x1048, 76284 },
+ { 0x1045, 76287 },
+ { 0x1049, 76290 },
+ { 0x1044, 76293 },
+ { 0x0F48, 76296 },
+ { 0x0F4D, 76299 },
+ { 0x0F4A, 76302 },
+ { 0x0F4E, 76305 },
+ { 0x0F49, 76308 },
+ { 0x0F30, 76311 },
+ { 0x0F35, 76314 },
+ { 0x0F32, 76317 },
+ { 0x0F36, 76320 },
+ { 0x0F31, 76323 },
+ { 0x0F38, 76326 },
+ { 0x0F3D, 76329 },
+ { 0x0F3A, 76332 },
+ { 0x0F3E, 76335 },
+ { 0x0F39, 76338 },
+ { 0x0F71, 76341 },
+ { 0x0F76, 76344 },
+ { 0x0F73, 76347 },
+ { 0x0F77, 76350 },
+ { 0x0F72, 76353 },
+ { 0x0F69, 76356 },
+ { 0x0F6E, 76359 },
+ { 0x0F6B, 76362 },
+ { 0x0F6F, 76365 },
+ { 0x0F6A, 76368 },
+ { 0x0FBF, 76371 },
+ { 0x0FC4, 76374 },
+ { 0x0FC1, 76377 },
+ { 0x0FC5, 76380 },
+ { 0x0FC0, 76383 },
+ { 0x0F81, 76386 },
+ { 0x0F86, 76389 },
+ { 0x0F83, 76392 },
+ { 0x0F87, 76395 },
+ { 0x0F82, 76398 },
+ { 0x0FDE, 76401 },
+ { 0x0FE3, 76404 },
+ { 0x0FE0, 76407 },
+ { 0x0FE4, 76410 },
+ { 0x0FDF, 76413 },
+ { 0x0FCE, 76416 },
+ { 0x0FD3, 76419 },
+ { 0x0FD0, 76422 },
+ { 0x0FD4, 76425 },
+ { 0x0FCF, 76428 },
+ { 0x0F64, 76431 },
+ { 0x38C3, 76434 },
+ { 0x38C8, 76437 },
+ { 0x38C5, 76440 },
+ { 0x38C9, 76443 },
+ { 0x38C4, 76446 },
+ { 0x0F65, 76449 },
+ { 0x2855, 76452 },
+ { 0x0F68, 76455 },
+ { 0x1075, 76458 },
+ { 0x1073, 76461 },
+ { 0x0F7C, 76464 },
+ { 0x286E, 76467 },
+ { 0x2873, 76470 },
+ { 0x2870, 76473 },
+ { 0x2874, 76476 },
+ { 0x286F, 76479 },
+ { 0x0F7D, 76482 },
+ { 0x101B, 76485 },
+ { 0x1020, 76488 },
+ { 0x101D, 76491 },
+ { 0x1021, 76494 },
+ { 0x101C, 76497 },
+ { 0x2857, 76500 },
+ { 0x0F80, 76503 },
+ { 0x0FE9, 76506 },
+ { 0x0FEE, 76509 },
+ { 0x0FF3, 76512 },
+ { 0x0FF0, 76515 },
+ { 0x0FF4, 76518 },
+ { 0x0FEF, 76521 },
+ { 0x0FEA, 76524 },
+ { 0x285C, 76527 },
+ { 0x0FED, 76530 },
+ { 0x38BA, 76533 },
+ { 0x38B7, 76536 },
+ { 0x38BB, 76539 },
+ { 0x38B6, 76542 },
+ { 0x103E, 76545 },
+ { 0x103F, 76548 },
+ { 0x1042, 76551 },
+ { 0x1079, 76554 },
+ { 0x1077, 76557 },
+ { 0x104D, 76560 },
+ { 0x1001, 76563 },
+ { 0x1002, 76566 },
+ { 0x100B, 76569 },
+ { 0x1010, 76572 },
+ { 0x100D, 76575 },
+ { 0x1011, 76578 },
+ { 0x100C, 76581 },
+ { 0x1005, 76584 },
+ { 0x1006, 76587 },
+ { 0x100A, 76590 },
+ { 0x1007, 76593 },
+ { 0x2898, 76596 },
+ { 0x289D, 76599 },
+ { 0x289A, 76602 },
+ { 0x289E, 76605 },
+ { 0x2899, 76608 },
+ { 0x0F0B, 76611 },
+ { 0x0F0C, 76614 },
+ { 0x0F18, 76617 },
+ { 0x0F1D, 76620 },
+ { 0x0F1A, 76623 },
+ { 0x0F1E, 76626 },
+ { 0x0F19, 76629 },
+ { 0x0F0F, 76632 },
+ { 0x0FF9, 76635 },
+ { 0x0FFA, 76638 },
+ { 0x285E, 76641 },
+ { 0x0FFD, 76644 },
+ { 0x0FA9, 76647 },
+ { 0x0FAA, 76650 },
+ { 0x0FAD, 76653 },
+ { 0x0FAE, 76656 },
+ { 0x0FB2, 76659 },
+ { 0x0FAF, 76662 },
+ { 0x0FB3, 76665 },
+ { 0x0FB8, 76668 },
+ { 0x0FB5, 76671 },
+ { 0x0FB9, 76674 },
+ { 0x0FB4, 76677 },
+ { 0x288A, 76680 },
+ { 0x288F, 76683 },
+ { 0x288C, 76686 },
+ { 0x2890, 76689 },
+ { 0x288B, 76692 },
+ { 0x0F13, 76695 },
+ { 0x0F14, 76698 },
+ { 0x2850, 76701 },
+ { 0x0F17, 76704 },
+ { 0x0F23, 76707 },
+ { 0x0F24, 76710 },
+ { 0x2851, 76713 },
+ { 0x0F27, 76716 },
+ { 0x1071, 76719 },
+ { 0x106F, 76722 },
+ { 0x104C, 76725 },
+ { 0x0F91, 76728 },
+ { 0x0F92, 76731 },
+ { 0x2858, 76734 },
+ { 0x0F95, 76737 },
+ { 0x0F96, 76740 },
+ { 0x0F9B, 76743 },
+ { 0x0F98, 76746 },
+ { 0x0F9C, 76749 },
+ { 0x0F97, 76752 },
+ { 0x1046, 76755 },
+ { 0x1047, 76758 },
+ { 0x1023, 76761 },
+ { 0x1028, 76764 },
+ { 0x1025, 76767 },
+ { 0x1029, 76770 },
+ { 0x1024, 76773 },
+ { 0x2862, 76776 },
+ { 0x104A, 76779 },
+ { 0x107D, 76782 },
+ { 0x107B, 76785 },
+ { 0x0F4B, 76788 },
+ { 0x0F4C, 76791 },
+ { 0x0F55, 76794 },
+ { 0x0F5A, 76797 },
+ { 0x0F57, 76800 },
+ { 0x0F5B, 76803 },
+ { 0x0F56, 76806 },
+ { 0x0F4F, 76809 },
+ { 0x0F50, 76812 },
+ { 0x0F54, 76815 },
+ { 0x0F51, 76818 },
+ { 0x2883, 76821 },
+ { 0x2888, 76824 },
+ { 0x2885, 76827 },
+ { 0x2889, 76830 },
+ { 0x2884, 76833 },
+ { 0x0F33, 76836 },
+ { 0x0F34, 76839 },
+ { 0x2852, 76842 },
+ { 0x0F37, 76845 },
+ { 0x104B, 76848 },
+ { 0x0F3B, 76851 },
+ { 0x0F3C, 76854 },
+ { 0x0F40, 76857 },
+ { 0x0F45, 76860 },
+ { 0x0F42, 76863 },
+ { 0x0F46, 76866 },
+ { 0x0F41, 76869 },
+ { 0x2853, 76872 },
+ { 0x2867, 76875 },
+ { 0x286C, 76878 },
+ { 0x2869, 76881 },
+ { 0x286D, 76884 },
+ { 0x2868, 76887 },
+ { 0x0F3F, 76890 },
+ { 0x0F28, 76893 },
+ { 0x0F2D, 76896 },
+ { 0x0F2A, 76899 },
+ { 0x0F2E, 76902 },
+ { 0x0F29, 76905 },
+ { 0x0F74, 76908 },
+ { 0x0F75, 76911 },
+ { 0x1013, 76914 },
+ { 0x1018, 76917 },
+ { 0x1015, 76920 },
+ { 0x1019, 76923 },
+ { 0x1014, 76926 },
+ { 0x2856, 76929 },
+ { 0x102B, 76932 },
+ { 0x1030, 76935 },
+ { 0x102D, 76938 },
+ { 0x1031, 76941 },
+ { 0x102C, 76944 },
+ { 0x0F78, 76947 },
+ { 0x1033, 76950 },
+ { 0x1038, 76953 },
+ { 0x1035, 76956 },
+ { 0x1039, 76959 },
+ { 0x1034, 76962 },
+ { 0x0F6C, 76965 },
+ { 0x0F6D, 76968 },
+ { 0x0F70, 76971 },
+ { 0x0FC2, 76974 },
+ { 0x0FC3, 76977 },
+ { 0x0FC6, 76980 },
+ { 0x0F84, 76983 },
+ { 0x0F85, 76986 },
+ { 0x0F88, 76989 },
+ { 0x0F89, 76992 },
+ { 0x0F8D, 76995 },
+ { 0x0F8A, 76998 },
+ { 0x2891, 77001 },
+ { 0x2896, 77004 },
+ { 0x2893, 77007 },
+ { 0x2897, 77010 },
+ { 0x2892, 77013 },
+ { 0x0FE1, 77016 },
+ { 0x0FE2, 77019 },
+ { 0x0FE5, 77022 },
+ { 0x0FD1, 77025 },
+ { 0x0FD2, 77028 },
+ { 0x0FD6, 77031 },
+ { 0x0FDB, 77034 },
+ { 0x0FD8, 77037 },
+ { 0x0FDC, 77040 },
+ { 0x0FD7, 77043 },
+ { 0x285B, 77046 },
+ { 0x0FD5, 77049 },
+ { 0x2875, 77052 },
+ { 0x287A, 77055 },
+ { 0x2877, 77058 },
+ { 0x287B, 77061 },
+ { 0x2876, 77064 },
+ { 0x38C6, 77067 },
+ { 0x38C7, 77070 },
+ { 0x1074, 77073 },
+ { 0x2871, 77076 },
+ { 0x2872, 77079 },
+ { 0x287C, 77082 },
+ { 0x2881, 77085 },
+ { 0x287E, 77088 },
+ { 0x2882, 77091 },
+ { 0x287D, 77094 },
+ { 0x101E, 77097 },
+ { 0x101F, 77100 },
+ { 0x2860, 77103 },
+ { 0x1022, 77106 },
+ { 0x0FF1, 77109 },
+ { 0x0FF2, 77112 },
+ { 0x38B4, 77115 },
+ { 0x38B1, 77118 },
+ { 0x38B5, 77121 },
+ { 0x38B0, 77124 },
+ { 0x285D, 77127 },
+ { 0x0FF5, 77130 },
+ { 0x38B8, 77133 },
+ { 0x38B9, 77136 },
+ { 0x1078, 77139 },
+ { 0x100E, 77142 },
+ { 0x100F, 77145 },
+ { 0x2863, 77148 },
+ { 0x2866, 77151 },
+ { 0x2864, 77154 },
+ { 0x1008, 77157 },
+ { 0x1009, 77160 },
+ { 0x289B, 77163 },
+ { 0x289C, 77166 },
+ { 0x0F1B, 77169 },
+ { 0x0F1C, 77172 },
+ { 0x0F1F, 77175 },
+ { 0x0FB0, 77178 },
+ { 0x0FB1, 77181 },
+ { 0x0FB6, 77184 },
+ { 0x0FB7, 77187 },
+ { 0x0FBA, 77190 },
+ { 0x0FBE, 77193 },
+ { 0x0FBB, 77196 },
+ { 0x288D, 77199 },
+ { 0x288E, 77202 },
+ { 0x1070, 77205 },
+ { 0x0F99, 77208 },
+ { 0x0F9A, 77211 },
+ { 0x2859, 77214 },
+ { 0x0F9D, 77217 },
+ { 0x1026, 77220 },
+ { 0x1027, 77223 },
+ { 0x2861, 77226 },
+ { 0x102A, 77229 },
+ { 0x107C, 77232 },
+ { 0x0F58, 77235 },
+ { 0x0F59, 77238 },
+ { 0x0F5C, 77241 },
+ { 0x0F60, 77244 },
+ { 0x0F5D, 77247 },
+ { 0x0F52, 77250 },
+ { 0x0F53, 77253 },
+ { 0x2886, 77256 },
+ { 0x2887, 77259 },
+ { 0x0F43, 77262 },
+ { 0x0F44, 77265 },
+ { 0x2854, 77268 },
+ { 0x0F47, 77271 },
+ { 0x286A, 77274 },
+ { 0x286B, 77277 },
+ { 0x0F2B, 77280 },
+ { 0x0F2C, 77283 },
+ { 0x0F2F, 77286 },
+ { 0x1016, 77289 },
+ { 0x1017, 77292 },
+ { 0x285F, 77295 },
+ { 0x101A, 77298 },
+ { 0x102E, 77301 },
+ { 0x102F, 77304 },
+ { 0x1032, 77307 },
+ { 0x38AE, 77310 },
+ { 0x38AB, 77313 },
+ { 0x38AF, 77316 },
+ { 0x38AA, 77319 },
+ { 0x1036, 77322 },
+ { 0x1037, 77325 },
+ { 0x103A, 77328 },
+ { 0x0F8B, 77331 },
+ { 0x0F8C, 77334 },
+ { 0x2894, 77337 },
+ { 0x2895, 77340 },
+ { 0x0FD9, 77343 },
+ { 0x0FDA, 77346 },
+ { 0x0FDD, 77349 },
+ { 0x2878, 77352 },
+ { 0x2879, 77355 },
+ { 0x287F, 77358 },
+ { 0x2880, 77361 },
+ { 0x38BC, 77364 },
+ { 0x38C1, 77367 },
+ { 0x38BE, 77370 },
+ { 0x38C2, 77373 },
+ { 0x38BD, 77376 },
+ { 0x38B2, 77379 },
+ { 0x38B3, 77382 },
+ { 0x1012, 77385 },
+ { 0x2865, 77388 },
+ { 0x0FBC, 77391 },
+ { 0x0FBD, 77394 },
+ { 0x0F5E, 77397 },
+ { 0x0F5F, 77400 },
+ { 0x38AC, 77403 },
+ { 0x38AD, 77406 },
+ { 0x38BF, 77409 },
+ { 0x38C0, 77412 },
+ { 0x0F9E, 77415 },
+ { 0x0FA3, 77419 },
+ { 0x0FA0, 77423 },
+ { 0x0FA4, 77427 },
+ { 0x0F9F, 77431 },
+ { 0x0FA1, 77435 },
+ { 0x0FA2, 77439 },
+ { 0x285A, 77443 },
+ { 0x0FA5, 77447 },
+ { 0x1072, 77451 },
+ { 0x1076, 77455 },
+ { 0x106E, 77459 },
+ { 0x107A, 77463 },
+ { 0x0FC7, 77467 },
+ { 0x0FCC, 77471 },
+ { 0x0FC9, 77475 },
+ { 0x0FCD, 77479 },
+ { 0x0FC8, 77483 },
+ { 0x0FCA, 77487 },
+ { 0x0FCB, 77491 },
+ { 0x104F, 77495 },
+ { 0x104E, 77500 },
+ { 0x1050, 77507 },
+ { 0x1059, 77511 },
+ { 0x1055, 77514 },
+ { 0x1052, 77516 },
+ { 0x680A, 77518 },
+ { 0x6816, 77521 },
+ { 0x0686, 77523 },
+ { 0x068B, 77527 },
+ { 0x0687, 77531 },
+ { 0x068A, 77535 },
+ { 0x0689, 77539 },
+ { 0x068E, 77543 },
+ { 0x0685, 77547 },
+ { 0x068D, 77551 },
+ { 0x068C, 77555 },
+ { 0x0688, 77559 },
+ { 0x0069, 77563 },
+ { 0x67AD, 77566 },
+ { 0x1F3E, 77568 },
+ { 0x2218, 77569 },
+ { 0x1BC8, 77570 },
+ { 0x1CBC, 77572 },
+ { 0x6A4A, 77575 },
+ { 0x1BE5, 77580 },
+ { 0x27ED, 77582 },
+ { 0x27F1, 77586 },
+ { 0x280E, 77590 },
+ { 0x27F5, 77594 },
+ { 0x27FA, 77598 },
+ { 0x2800, 77602 },
+ { 0x2810, 77606 },
+ { 0x2813, 77610 },
+ { 0x2814, 77614 },
+ { 0x27EE, 77618 },
+ { 0x2807, 77622 },
+ { 0x2809, 77626 },
+ { 0x27F0, 77630 },
+ { 0x27EF, 77634 },
+ { 0x280D, 77638 },
+ { 0x2811, 77642 },
+ { 0x280F, 77646 },
+ { 0x2812, 77650 },
+ { 0x2808, 77654 },
+ { 0x27F6, 77658 },
+ { 0x27F7, 77662 },
+ { 0x27F8, 77666 },
+ { 0x27F9, 77670 },
+ { 0x27FB, 77674 },
+ { 0x2804, 77678 },
+ { 0x27FD, 77682 },
+ { 0x27FE, 77686 },
+ { 0x27F4, 77690 },
+ { 0x27FF, 77694 },
+ { 0x27F2, 77698 },
+ { 0x280B, 77702 },
+ { 0x27F3, 77706 },
+ { 0x280A, 77710 },
+ { 0x2806, 77714 },
+ { 0x2803, 77718 },
+ { 0x280C, 77722 },
+ { 0x2802, 77726 },
+ { 0x2801, 77730 },
+ { 0x2805, 77734 },
+ { 0x27FC, 77738 },
+ { 0x0DD8, 77742 },
+ { 0x0DDC, 77745 },
+ { 0x0DFE, 77748 },
+ { 0x0DF9, 77751 },
+ { 0x0DE0, 77754 },
+ { 0x0DE5, 77757 },
+ { 0x0DEB, 77760 },
+ { 0x0DFB, 77763 },
+ { 0x0DFF, 77766 },
+ { 0x0E05, 77769 },
+ { 0x0E02, 77772 },
+ { 0x0DD9, 77775 },
+ { 0x0DF2, 77778 },
+ { 0x0DF4, 77781 },
+ { 0x0DDB, 77784 },
+ { 0x0DDA, 77787 },
+ { 0x0DF8, 77790 },
+ { 0x0DFC, 77793 },
+ { 0x0DFA, 77796 },
+ { 0x0DFD, 77799 },
+ { 0x0DF3, 77802 },
+ { 0x0DE1, 77805 },
+ { 0x0DE2, 77808 },
+ { 0x0DE3, 77811 },
+ { 0x0DE4, 77814 },
+ { 0x0DE6, 77817 },
+ { 0x0DEF, 77820 },
+ { 0x0DE8, 77823 },
+ { 0x0DE9, 77826 },
+ { 0x0DDF, 77829 },
+ { 0x0DEA, 77832 },
+ { 0x0DDD, 77835 },
+ { 0x0DF6, 77838 },
+ { 0x0DDE, 77841 },
+ { 0x0DF5, 77844 },
+ { 0x0DF1, 77847 },
+ { 0x0DEE, 77850 },
+ { 0x0E06, 77853 },
+ { 0x0DF7, 77857 },
+ { 0x0DED, 77860 },
+ { 0x0DEC, 77863 },
+ { 0x0DF0, 77866 },
+ { 0x0DE7, 77869 },
+ { 0x0E00, 77872 },
+ { 0x0E07, 77875 },
+ { 0x0E01, 77879 },
+ { 0x0DB0, 77883 },
+ { 0x0DB4, 77887 },
+ { 0x0DD1, 77891 },
+ { 0x0DB8, 77895 },
+ { 0x0DBD, 77899 },
+ { 0x0DC3, 77903 },
+ { 0x0DD3, 77907 },
+ { 0x0DD6, 77911 },
+ { 0x0DD7, 77915 },
+ { 0x0DB1, 77919 },
+ { 0x0DCA, 77923 },
+ { 0x0DCC, 77927 },
+ { 0x0DB3, 77931 },
+ { 0x0DB2, 77935 },
+ { 0x0DD0, 77939 },
+ { 0x0DD4, 77943 },
+ { 0x0DD2, 77947 },
+ { 0x0DD5, 77951 },
+ { 0x0DCB, 77955 },
+ { 0x0DB9, 77959 },
+ { 0x0DBA, 77963 },
+ { 0x0DBB, 77967 },
+ { 0x0DBC, 77971 },
+ { 0x0DBE, 77975 },
+ { 0x0DC7, 77979 },
+ { 0x0DC0, 77983 },
+ { 0x0DC1, 77987 },
+ { 0x0DB7, 77991 },
+ { 0x0DC2, 77995 },
+ { 0x0DB5, 77999 },
+ { 0x0DCE, 78003 },
+ { 0x0DB6, 78007 },
+ { 0x0DCD, 78011 },
+ { 0x0DC9, 78015 },
+ { 0x0DC6, 78019 },
+ { 0x0DCF, 78023 },
+ { 0x0DC5, 78027 },
+ { 0x0DC4, 78031 },
+ { 0x0DC8, 78035 },
+ { 0x0DBF, 78039 },
+ { 0x0E03, 78043 },
+ { 0x6A5C, 78046 },
+ { 0x6A24, 78052 },
+ { 0x6A25, 78054 },
+ { 0x097A, 78059 },
+ { 0x096A, 78061 },
+ { 0x0979, 78064 },
+ { 0x0939, 78067 },
+ { 0x0938, 78070 },
+ { 0x096B, 78073 },
+ { 0x0937, 78076 },
+ { 0x0980, 78079 },
+ { 0x0985, 78082 },
+ { 0x0981, 78085 },
+ { 0x0984, 78088 },
+ { 0x0983, 78091 },
+ { 0x0988, 78094 },
+ { 0x097F, 78097 },
+ { 0x0987, 78100 },
+ { 0x0986, 78103 },
+ { 0x0982, 78106 },
+ { 0x098A, 78109 },
+ { 0x0974, 78112 },
+ { 0x096D, 78116 },
+ { 0x0977, 78120 },
+ { 0x096F, 78124 },
+ { 0x096C, 78128 },
+ { 0x0975, 78132 },
+ { 0x0978, 78136 },
+ { 0x096E, 78140 },
+ { 0x0970, 78144 },
+ { 0x0973, 78148 },
+ { 0x0976, 78153 },
+ { 0x097D, 78158 },
+ { 0x0971, 78163 },
+ { 0x097E, 78168 },
+ { 0x0972, 78173 },
+ { 0x0942, 78178 },
+ { 0x0945, 78182 },
+ { 0x093A, 78186 },
+ { 0x0943, 78189 },
+ { 0x093C, 78192 },
+ { 0x0946, 78195 },
+ { 0x093E, 78198 },
+ { 0x093B, 78201 },
+ { 0x0944, 78204 },
+ { 0x0947, 78207 },
+ { 0x095E, 78210 },
+ { 0x094D, 78213 },
+ { 0x0959, 78216 },
+ { 0x094A, 78219 },
+ { 0x0969, 78222 },
+ { 0x093D, 78225 },
+ { 0x094F, 78228 },
+ { 0x0948, 78231 },
+ { 0x0963, 78234 },
+ { 0x0960, 78237 },
+ { 0x095B, 78240 },
+ { 0x095C, 78243 },
+ { 0x0962, 78246 },
+ { 0x0968, 78249 },
+ { 0x0957, 78252 },
+ { 0x093F, 78255 },
+ { 0x0965, 78258 },
+ { 0x0961, 78261 },
+ { 0x095F, 78264 },
+ { 0x094E, 78267 },
+ { 0x0954, 78270 },
+ { 0x095A, 78273 },
+ { 0x094B, 78276 },
+ { 0x0950, 78279 },
+ { 0x0949, 78282 },
+ { 0x0964, 78285 },
+ { 0x094C, 78288 },
+ { 0x0956, 78291 },
+ { 0x0951, 78294 },
+ { 0x095D, 78297 },
+ { 0x0966, 78300 },
+ { 0x0967, 78303 },
+ { 0x0958, 78306 },
+ { 0x0952, 78309 },
+ { 0x098B, 78312 },
+ { 0x0955, 78315 },
+ { 0x0953, 78318 },
+ { 0x0941, 78321 },
+ { 0x0940, 78325 },
+ { 0x097C, 78329 },
+ { 0x097B, 78333 },
+ { 0x0989, 78337 },
+ { 0x0935, 78340 },
+ { 0x0933, 78343 },
+ { 0x0934, 78345 },
+ { 0x08E8, 78347 },
+ { 0x08E9, 78351 },
+ { 0x0916, 78354 },
+ { 0x0921, 78357 },
+ { 0x0920, 78360 },
+ { 0x0936, 78363 },
+ { 0x08EA, 78366 },
+ { 0x0932, 78369 },
+ { 0x0928, 78371 },
+ { 0x092D, 78374 },
+ { 0x0929, 78377 },
+ { 0x092C, 78380 },
+ { 0x092B, 78383 },
+ { 0x0930, 78386 },
+ { 0x0927, 78389 },
+ { 0x092F, 78392 },
+ { 0x092E, 78395 },
+ { 0x092A, 78398 },
+ { 0x0931, 78401 },
+ { 0x0918, 78403 },
+ { 0x091A, 78407 },
+ { 0x0917, 78411 },
+ { 0x091D, 78415 },
+ { 0x091F, 78419 },
+ { 0x091C, 78423 },
+ { 0x0919, 78427 },
+ { 0x091E, 78431 },
+ { 0x091B, 78435 },
+ { 0x08EB, 78439 },
+ { 0x08ED, 78442 },
+ { 0x08EF, 78445 },
+ { 0x08EC, 78448 },
+ { 0x08F2, 78451 },
+ { 0x08F4, 78454 },
+ { 0x090B, 78457 },
+ { 0x08FA, 78460 },
+ { 0x0906, 78463 },
+ { 0x08F1, 78466 },
+ { 0x0926, 78469 },
+ { 0x08F7, 78472 },
+ { 0x0915, 78475 },
+ { 0x08EE, 78478 },
+ { 0x08FC, 78481 },
+ { 0x08F5, 78484 },
+ { 0x0910, 78487 },
+ { 0x090D, 78490 },
+ { 0x0908, 78493 },
+ { 0x08F3, 78496 },
+ { 0x0909, 78499 },
+ { 0x090F, 78502 },
+ { 0x0914, 78505 },
+ { 0x0904, 78508 },
+ { 0x08F0, 78511 },
+ { 0x0912, 78514 },
+ { 0x090E, 78517 },
+ { 0x0924, 78520 },
+ { 0x090C, 78523 },
+ { 0x08FB, 78526 },
+ { 0x0901, 78529 },
+ { 0x0907, 78532 },
+ { 0x08F8, 78535 },
+ { 0x08FD, 78538 },
+ { 0x08F6, 78541 },
+ { 0x0911, 78544 },
+ { 0x08F9, 78547 },
+ { 0x0903, 78550 },
+ { 0x08FE, 78553 },
+ { 0x090A, 78556 },
+ { 0x0925, 78559 },
+ { 0x0913, 78562 },
+ { 0x0905, 78565 },
+ { 0x08FF, 78568 },
+ { 0x0902, 78571 },
+ { 0x0923, 78574 },
+ { 0x0922, 78577 },
+ { 0x0900, 78580 },
+ { 0x2A78, 78583 },
+ { 0x2A7D, 78586 },
+ { 0x2A8F, 78589 },
+ { 0x2A79, 78592 },
+ { 0x2A7C, 78595 },
+ { 0x2A7B, 78598 },
+ { 0x2A80, 78601 },
+ { 0x2A7F, 78604 },
+ { 0x2A7E, 78607 },
+ { 0x2A7A, 78610 },
+ { 0x2A91, 78613 },
+ { 0x2A90, 78616 },
+ { 0x6849, 78619 },
+ { 0x2E3E, 78621 },
+ { 0x2E67, 78625 },
+ { 0x2E5C, 78629 },
+ { 0x2E70, 78633 },
+ { 0x2E71, 78638 },
+ { 0x2E54, 78643 },
+ { 0x2E6B, 78648 },
+ { 0x2E6A, 78654 },
+ { 0x2E69, 78659 },
+ { 0x2E55, 78663 },
+ { 0x2E38, 78668 },
+ { 0x2E6D, 78673 },
+ { 0x2E6F, 78678 },
+ { 0x2E39, 78682 },
+ { 0x2E49, 78687 },
+ { 0x2E76, 78693 },
+ { 0x2E4D, 78697 },
+ { 0x2E59, 78700 },
+ { 0x2E51, 78704 },
+ { 0x2E45, 78708 },
+ { 0x2E53, 78712 },
+ { 0x2E74, 78716 },
+ { 0x2E52, 78720 },
+ { 0x2E42, 78724 },
+ { 0x2E40, 78727 },
+ { 0x2E75, 78731 },
+ { 0x2E77, 78735 },
+ { 0x2E4C, 78739 },
+ { 0x2E63, 78743 },
+ { 0x2E4F, 78748 },
+ { 0x2E3F, 78751 },
+ { 0x2E46, 78755 },
+ { 0x2E65, 78758 },
+ { 0x2E58, 78762 },
+ { 0x2E3C, 78765 },
+ { 0x2E4A, 78768 },
+ { 0x2E3D, 78771 },
+ { 0x2E60, 78774 },
+ { 0x2E57, 78777 },
+ { 0x2E61, 78780 },
+ { 0x2E5A, 78783 },
+ { 0x2E41, 78786 },
+ { 0x2E3B, 78789 },
+ { 0x2E6E, 78793 },
+ { 0x2E5B, 78796 },
+ { 0x2E48, 78802 },
+ { 0x2E64, 78805 },
+ { 0x2E56, 78809 },
+ { 0x2E50, 78812 },
+ { 0x2E4E, 78815 },
+ { 0x2E3A, 78819 },
+ { 0x2E72, 78825 },
+ { 0x2E47, 78828 },
+ { 0x2E44, 78831 },
+ { 0x2E73, 78834 },
+ { 0x2E5D, 78837 },
+ { 0x2E66, 78840 },
+ { 0x2E68, 78843 },
+ { 0x2E43, 78846 },
+ { 0x2E5F, 78849 },
+ { 0x2E6C, 78852 },
+ { 0x2E5E, 78855 },
+ { 0x2E62, 78858 },
+ { 0x2E4B, 78861 },
+ { 0x6760, 78864 },
+ { 0x2A98, 78865 },
+ { 0x2A9E, 78868 },
+ { 0x2A9A, 78871 },
+ { 0x2AE9, 78874 },
+ { 0x2AA0, 78877 },
+ { 0x2A9C, 78880 },
+ { 0x2AC6, 78883 },
+ { 0x2ACF, 78886 },
+ { 0x2AC9, 78889 },
+ { 0x2AD2, 78892 },
+ { 0x2ACC, 78895 },
+ { 0x2AB6, 78898 },
+ { 0x2ABD, 78901 },
+ { 0x2AB8, 78904 },
+ { 0x2ABF, 78907 },
+ { 0x2ABB, 78910 },
+ { 0x2AA2, 78913 },
+ { 0x2AA8, 78916 },
+ { 0x2AA4, 78919 },
+ { 0x2AAA, 78922 },
+ { 0x2AA6, 78925 },
+ { 0x2AC5, 78928 },
+ { 0x2ACE, 78931 },
+ { 0x2AC8, 78934 },
+ { 0x2AD1, 78937 },
+ { 0x2ACB, 78940 },
+ { 0x2AA1, 78943 },
+ { 0x2AA7, 78946 },
+ { 0x2AA3, 78949 },
+ { 0x2AA9, 78952 },
+ { 0x2AA5, 78955 },
+ { 0x2AD4, 78958 },
+ { 0x2AD7, 78961 },
+ { 0x2AD5, 78964 },
+ { 0x2AD8, 78967 },
+ { 0x2AD6, 78970 },
+ { 0x2AC0, 78973 },
+ { 0x2AC3, 78976 },
+ { 0x2AC1, 78979 },
+ { 0x2AC4, 78982 },
+ { 0x2AC2, 78985 },
+ { 0x2AC7, 78988 },
+ { 0x2AD0, 78991 },
+ { 0x2ACA, 78994 },
+ { 0x2AD3, 78997 },
+ { 0x2ACD, 79000 },
+ { 0x2ADF, 79003 },
+ { 0x2AE2, 79006 },
+ { 0x2AE0, 79009 },
+ { 0x2AE3, 79012 },
+ { 0x2AE1, 79015 },
+ { 0x2AAB, 79018 },
+ { 0x2AB1, 79021 },
+ { 0x2AAD, 79024 },
+ { 0x2AB3, 79027 },
+ { 0x2AAF, 79030 },
+ { 0x2AB5, 79033 },
+ { 0x2ABC, 79036 },
+ { 0x2AB7, 79039 },
+ { 0x2ABE, 79042 },
+ { 0x2ABA, 79045 },
+ { 0x2AEA, 79048 },
+ { 0x2AE5, 79051 },
+ { 0x2AE7, 79054 },
+ { 0x2AE6, 79057 },
+ { 0x2AE8, 79060 },
+ { 0x2ADA, 79063 },
+ { 0x2ADE, 79066 },
+ { 0x2ADC, 79069 },
+ { 0x2AAC, 79072 },
+ { 0x2AB2, 79075 },
+ { 0x2AAE, 79078 },
+ { 0x2AB4, 79081 },
+ { 0x2AB0, 79084 },
+ { 0x2A97, 79087 },
+ { 0x2A9D, 79091 },
+ { 0x2A99, 79095 },
+ { 0x2A9F, 79099 },
+ { 0x2A9B, 79103 },
+ { 0x2AEB, 79107 },
+ { 0x2AEC, 79111 },
+ { 0x2AB9, 79115 },
+ { 0x2AE4, 79119 },
+ { 0x2AD9, 79123 },
+ { 0x2ADD, 79127 },
+ { 0x2ADB, 79131 },
+ { 0x5A56, 79135 },
+ { 0x2AF2, 79139 },
+ { 0x2AF3, 79143 },
+ { 0x2AF1, 79146 },
+ { 0x2212, 79149 },
+ { 0x6843, 79151 },
+ { 0x680B, 79152 },
+ { 0x4387, 79153 },
+ { 0x4393, 79157 },
+ { 0x438F, 79161 },
+ { 0x4390, 79165 },
+ { 0x4398, 79169 },
+ { 0x4388, 79173 },
+ { 0x4392, 79177 },
+ { 0x4384, 79181 },
+ { 0x438A, 79185 },
+ { 0x438D, 79189 },
+ { 0x4395, 79193 },
+ { 0x4396, 79197 },
+ { 0x4397, 79201 },
+ { 0x438B, 79205 },
+ { 0x438C, 79209 },
+ { 0x4383, 79213 },
+ { 0x4385, 79217 },
+ { 0x4394, 79221 },
+ { 0x4389, 79225 },
+ { 0x4386, 79229 },
+ { 0x438E, 79233 },
+ { 0x4391, 79237 },
+ { 0x439A, 79241 },
+ { 0x439F, 79245 },
+ { 0x43A0, 79250 },
+ { 0x439D, 79255 },
+ { 0x43A1, 79259 },
+ { 0x439B, 79264 },
+ { 0x439C, 79268 },
+ { 0x439E, 79272 },
+ { 0x4399, 79276 },
+ { 0x690E, 79280 },
+ { 0x69FE, 79282 },
+ { 0x1D77, 79286 },
+ { 0x2504, 79287 },
+ { 0x1D84, 79292 },
+ { 0x253E, 79293 },
+ { 0x2540, 79297 },
+ { 0x2534, 79300 },
+ { 0x2541, 79304 },
+ { 0x2542, 79307 },
+ { 0x253D, 79310 },
+ { 0x253F, 79316 },
+ { 0x253B, 79319 },
+ { 0x2535, 79324 },
+ { 0x1F07, 79328 },
+ { 0x2562, 79330 },
+ { 0x1C84, 79332 },
+ { 0x1D97, 79335 },
+ { 0x007E, 79338 },
+ { 0x1BD8, 79341 },
+ { 0x220D, 79343 },
+ { 0x0060, 79345 },
+ { 0x28D7, 79348 },
+ { 0x2221, 79350 },
+ { 0x689F, 79353 },
+ { 0x6809, 79355 },
+ { 0x67B4, 79358 },
+ { 0x6815, 79360 },
+ { 0x68A0, 79362 },
+ { 0x6956, 79364 },
+ { 0x2A5B, 79368 },
+ { 0x379F, 79372 },
+ { 0x37A8, 79375 },
+ { 0x37A9, 79378 },
+ { 0x37A1, 79382 },
+ { 0x37A3, 79385 },
+ { 0x37A2, 79388 },
+ { 0x37B7, 79391 },
+ { 0x37A4, 79395 },
+ { 0x37A6, 79398 },
+ { 0x37A7, 79401 },
+ { 0x37A5, 79404 },
+ { 0x37AA, 79407 },
+ { 0x37B8, 79410 },
+ { 0x375F, 79413 },
+ { 0x3791, 79416 },
+ { 0x3760, 79420 },
+ { 0x3761, 79423 },
+ { 0x375E, 79426 },
+ { 0x37AE, 79429 },
+ { 0x37B3, 79432 },
+ { 0x37AF, 79435 },
+ { 0x37B2, 79438 },
+ { 0x37B1, 79441 },
+ { 0x37B6, 79444 },
+ { 0x37AD, 79447 },
+ { 0x37B5, 79450 },
+ { 0x37B4, 79453 },
+ { 0x37B0, 79456 },
+ { 0x37A0, 79459 },
+ { 0x3796, 79462 },
+ { 0x3797, 79466 },
+ { 0x3794, 79471 },
+ { 0x3795, 79475 },
+ { 0x3799, 79480 },
+ { 0x379A, 79485 },
+ { 0x3798, 79489 },
+ { 0x3792, 79493 },
+ { 0x3793, 79497 },
+ { 0x3762, 79501 },
+ { 0x376A, 79504 },
+ { 0x3764, 79507 },
+ { 0x3763, 79510 },
+ { 0x376C, 79514 },
+ { 0x3766, 79517 },
+ { 0x376B, 79520 },
+ { 0x3785, 79523 },
+ { 0x3786, 79526 },
+ { 0x3773, 79530 },
+ { 0x3774, 79533 },
+ { 0x3780, 79537 },
+ { 0x3781, 79540 },
+ { 0x3770, 79544 },
+ { 0x3771, 79547 },
+ { 0x3790, 79551 },
+ { 0x3765, 79554 },
+ { 0x3775, 79557 },
+ { 0x3777, 79560 },
+ { 0x376D, 79564 },
+ { 0x376F, 79567 },
+ { 0x376E, 79571 },
+ { 0x378B, 79575 },
+ { 0x3787, 79578 },
+ { 0x3782, 79581 },
+ { 0x377D, 79584 },
+ { 0x3783, 79588 },
+ { 0x3767, 79591 },
+ { 0x3784, 79595 },
+ { 0x3789, 79599 },
+ { 0x378A, 79602 },
+ { 0x378F, 79606 },
+ { 0x378D, 79609 },
+ { 0x378E, 79613 },
+ { 0x377E, 79617 },
+ { 0x377F, 79620 },
+ { 0x378C, 79624 },
+ { 0x3788, 79627 },
+ { 0x377B, 79630 },
+ { 0x377C, 79633 },
+ { 0x3772, 79637 },
+ { 0x3768, 79640 },
+ { 0x3769, 79644 },
+ { 0x3778, 79649 },
+ { 0x3776, 79652 },
+ { 0x3779, 79656 },
+ { 0x377A, 79659 },
+ { 0x37AB, 79663 },
+ { 0x379E, 79667 },
+ { 0x379D, 79669 },
+ { 0x379B, 79673 },
+ { 0x379C, 79677 },
+ { 0x37AC, 79681 },
+ { 0x699F, 79683 },
+ { 0x2AF6, 79684 },
+ { 0x2AFC, 79687 },
+ { 0x2AF8, 79690 },
+ { 0x2B47, 79693 },
+ { 0x2AFE, 79696 },
+ { 0x2AFA, 79699 },
+ { 0x2B24, 79702 },
+ { 0x2B2D, 79705 },
+ { 0x2B27, 79708 },
+ { 0x2B30, 79711 },
+ { 0x2B2A, 79714 },
+ { 0x2B14, 79717 },
+ { 0x2B1B, 79720 },
+ { 0x2B16, 79723 },
+ { 0x2B1D, 79726 },
+ { 0x2B19, 79729 },
+ { 0x2B00, 79732 },
+ { 0x2B06, 79735 },
+ { 0x2B02, 79738 },
+ { 0x2B08, 79741 },
+ { 0x2B04, 79744 },
+ { 0x2B23, 79747 },
+ { 0x2B2C, 79750 },
+ { 0x2B26, 79753 },
+ { 0x2B2F, 79756 },
+ { 0x2B29, 79759 },
+ { 0x2AFF, 79762 },
+ { 0x2B05, 79765 },
+ { 0x2B01, 79768 },
+ { 0x2B07, 79771 },
+ { 0x2B03, 79774 },
+ { 0x2B32, 79777 },
+ { 0x2B35, 79780 },
+ { 0x2B33, 79783 },
+ { 0x2B36, 79786 },
+ { 0x2B34, 79789 },
+ { 0x2B1E, 79792 },
+ { 0x2B21, 79795 },
+ { 0x2B1F, 79798 },
+ { 0x2B22, 79801 },
+ { 0x2B20, 79804 },
+ { 0x2B25, 79807 },
+ { 0x2B2E, 79810 },
+ { 0x2B28, 79813 },
+ { 0x2B31, 79816 },
+ { 0x2B2B, 79819 },
+ { 0x2B3D, 79822 },
+ { 0x2B40, 79825 },
+ { 0x2B3E, 79828 },
+ { 0x2B41, 79831 },
+ { 0x2B3F, 79834 },
+ { 0x2B09, 79837 },
+ { 0x2B0F, 79840 },
+ { 0x2B0B, 79843 },
+ { 0x2B11, 79846 },
+ { 0x2B0D, 79849 },
+ { 0x2B13, 79852 },
+ { 0x2B1A, 79855 },
+ { 0x2B15, 79858 },
+ { 0x2B1C, 79861 },
+ { 0x2B18, 79864 },
+ { 0x2B4B, 79867 },
+ { 0x2B4D, 79870 },
+ { 0x2B4C, 79873 },
+ { 0x2B4E, 79876 },
+ { 0x2B48, 79879 },
+ { 0x2B43, 79882 },
+ { 0x2B45, 79885 },
+ { 0x2B44, 79888 },
+ { 0x2B46, 79891 },
+ { 0x2B38, 79894 },
+ { 0x2B3C, 79897 },
+ { 0x2B3A, 79900 },
+ { 0x2B0A, 79903 },
+ { 0x2B10, 79906 },
+ { 0x2B0C, 79909 },
+ { 0x2B12, 79912 },
+ { 0x2B0E, 79915 },
+ { 0x2AF5, 79918 },
+ { 0x2AFB, 79922 },
+ { 0x2AF7, 79926 },
+ { 0x2AFD, 79930 },
+ { 0x2AF9, 79934 },
+ { 0x2C2F, 79938 },
+ { 0x2C32, 79942 },
+ { 0x2C30, 79946 },
+ { 0x2C33, 79950 },
+ { 0x2C31, 79954 },
+ { 0x2B49, 79958 },
+ { 0x2B4A, 79962 },
+ { 0x2C2A, 79966 },
+ { 0x2C34, 79970 },
+ { 0x2C2E, 79974 },
+ { 0x2C35, 79978 },
+ { 0x2C38, 79982 },
+ { 0x2C36, 79986 },
+ { 0x2C39, 79990 },
+ { 0x2C37, 79994 },
+ { 0x2C2B, 79998 },
+ { 0x2C2C, 80002 },
+ { 0x2C2D, 80006 },
+ { 0x2B17, 80010 },
+ { 0x2B42, 80014 },
+ { 0x2B37, 80018 },
+ { 0x2B3B, 80022 },
+ { 0x2B39, 80026 },
+ { 0x5A55, 80030 },
+ { 0x2B4F, 80034 },
+ { 0x2B52, 80037 },
+ { 0x2B53, 80041 },
+ { 0x2B51, 80044 },
+ { 0x1E81, 80047 },
+ { 0x69CA, 80048 },
+ { 0x6C72, 80051 },
+ { 0x6A96, 80053 },
+ { 0x68AA, 80057 },
+ { 0x6793, 80058 },
+ { 0x4809, 80059 },
+ { 0x47E6, 80062 },
+ { 0x47E9, 80065 },
+ { 0x47E7, 80068 },
+ { 0x47EA, 80071 },
+ { 0x47E8, 80074 },
+ { 0x4800, 80077 },
+ { 0x47EF, 80080 },
+ { 0x47FB, 80083 },
+ { 0x47ED, 80086 },
+ { 0x4807, 80089 },
+ { 0x47F1, 80092 },
+ { 0x47EB, 80095 },
+ { 0x4804, 80098 },
+ { 0x4802, 80101 },
+ { 0x47FD, 80104 },
+ { 0x47FE, 80107 },
+ { 0x4803, 80110 },
+ { 0x4806, 80113 },
+ { 0x47F9, 80116 },
+ { 0x4805, 80119 },
+ { 0x4801, 80122 },
+ { 0x47F0, 80125 },
+ { 0x47F6, 80128 },
+ { 0x47FC, 80131 },
+ { 0x47EE, 80134 },
+ { 0x47F2, 80137 },
+ { 0x47EC, 80140 },
+ { 0x47F8, 80143 },
+ { 0x47F3, 80146 },
+ { 0x47FF, 80149 },
+ { 0x4808, 80152 },
+ { 0x47FA, 80155 },
+ { 0x47F4, 80158 },
+ { 0x47F7, 80161 },
+ { 0x47F5, 80164 },
+ { 0x480B, 80167 },
+ { 0x480C, 80170 },
+ { 0x480A, 80173 },
+ { 0x21D3, 80176 },
+ { 0x69FA, 80178 },
+ { 0x1DB7, 80179 },
+ { 0x1D7A, 80181 },
+ { 0x24CF, 80183 },
+ { 0x24CE, 80195 },
+ { 0x24D1, 80207 },
+ { 0x24D0, 80219 },
+ { 0x24D3, 80231 },
+ { 0x24D5, 80243 },
+ { 0x24D2, 80255 },
+ { 0x24D4, 80267 },
+ { 0x24C1, 80279 },
+ { 0x24C3, 80283 },
+ { 0x445C, 80288 },
+ { 0x445D, 80292 },
+ { 0x445E, 80296 },
+ { 0x445F, 80300 },
+ { 0x4462, 80304 },
+ { 0x4473, 80308 },
+ { 0x446E, 80312 },
+ { 0x4468, 80316 },
+ { 0x4464, 80320 },
+ { 0x4465, 80324 },
+ { 0x4466, 80328 },
+ { 0x4463, 80332 },
+ { 0x446F, 80336 },
+ { 0x4467, 80340 },
+ { 0x446B, 80344 },
+ { 0x446D, 80348 },
+ { 0x4470, 80352 },
+ { 0x4471, 80356 },
+ { 0x4472, 80360 },
+ { 0x4461, 80364 },
+ { 0x4460, 80368 },
+ { 0x446A, 80372 },
+ { 0x4469, 80376 },
+ { 0x446C, 80380 },
+ { 0x4478, 80385 },
+ { 0x4488, 80389 },
+ { 0x44A3, 80394 },
+ { 0x4491, 80400 },
+ { 0x447D, 80405 },
+ { 0x448D, 80409 },
+ { 0x44A8, 80414 },
+ { 0x4496, 80420 },
+ { 0x4481, 80425 },
+ { 0x449A, 80429 },
+ { 0x4479, 80434 },
+ { 0x4489, 80438 },
+ { 0x44A4, 80443 },
+ { 0x4492, 80449 },
+ { 0x447C, 80454 },
+ { 0x448C, 80458 },
+ { 0x44A7, 80463 },
+ { 0x4495, 80469 },
+ { 0x447B, 80474 },
+ { 0x448B, 80478 },
+ { 0x44A6, 80483 },
+ { 0x4494, 80489 },
+ { 0x4480, 80494 },
+ { 0x4490, 80498 },
+ { 0x44AB, 80503 },
+ { 0x4499, 80509 },
+ { 0x447F, 80514 },
+ { 0x448F, 80518 },
+ { 0x44AA, 80523 },
+ { 0x4498, 80529 },
+ { 0x4485, 80534 },
+ { 0x449E, 80538 },
+ { 0x4484, 80543 },
+ { 0x449D, 80547 },
+ { 0x447E, 80552 },
+ { 0x448E, 80556 },
+ { 0x44A9, 80561 },
+ { 0x4497, 80567 },
+ { 0x4486, 80572 },
+ { 0x449F, 80576 },
+ { 0x447A, 80581 },
+ { 0x448A, 80585 },
+ { 0x44A5, 80590 },
+ { 0x4493, 80596 },
+ { 0x44A1, 80601 },
+ { 0x44A2, 80606 },
+ { 0x4483, 80611 },
+ { 0x449C, 80615 },
+ { 0x4482, 80620 },
+ { 0x449B, 80624 },
+ { 0x4487, 80629 },
+ { 0x44A0, 80633 },
+ { 0x4475, 80638 },
+ { 0x44AC, 80643 },
+ { 0x44B1, 80648 },
+ { 0x44B5, 80653 },
+ { 0x44AD, 80658 },
+ { 0x44B0, 80663 },
+ { 0x44AF, 80668 },
+ { 0x44B4, 80673 },
+ { 0x44B3, 80678 },
+ { 0x44B2, 80683 },
+ { 0x44AE, 80688 },
+ { 0x4474, 80693 },
+ { 0x4477, 80698 },
+ { 0x4476, 80702 },
+ { 0x443C, 80706 },
+ { 0x443D, 80710 },
+ { 0x443E, 80714 },
+ { 0x443F, 80718 },
+ { 0x4442, 80722 },
+ { 0x4459, 80726 },
+ { 0x4452, 80730 },
+ { 0x444C, 80734 },
+ { 0x4445, 80738 },
+ { 0x4446, 80742 },
+ { 0x4448, 80746 },
+ { 0x4444, 80750 },
+ { 0x4453, 80754 },
+ { 0x444A, 80758 },
+ { 0x444F, 80762 },
+ { 0x4451, 80766 },
+ { 0x4454, 80770 },
+ { 0x4456, 80774 },
+ { 0x4458, 80778 },
+ { 0x4441, 80782 },
+ { 0x4440, 80786 },
+ { 0x444E, 80790 },
+ { 0x444D, 80794 },
+ { 0x4443, 80798 },
+ { 0x4447, 80802 },
+ { 0x4449, 80806 },
+ { 0x444B, 80810 },
+ { 0x4450, 80814 },
+ { 0x4455, 80818 },
+ { 0x4457, 80822 },
+ { 0x445A, 80826 },
+ { 0x445B, 80830 },
+ { 0x1F2E, 80834 },
+ { 0x1F2F, 80839 },
+ { 0x1F2D, 80843 },
+ { 0x1F2B, 80848 },
+ { 0x1F2A, 80852 },
+ { 0x1F2C, 80854 },
+ { 0x1F30, 80858 },
+ { 0x1F32, 80860 },
+ { 0x1F31, 80862 },
+ { 0x67BC, 80864 },
+ { 0x68E3, 80866 },
+ { 0x69F9, 80867 },
+ { 0x38F5, 80868 },
+ { 0x0293, 80873 },
+ { 0x0283, 80877 },
+ { 0x35C0, 80881 },
+ { 0x3568, 80884 },
+ { 0x3567, 80888 },
+ { 0x3569, 80893 },
+ { 0x02BB, 80898 },
+ { 0x02B9, 80903 },
+ { 0x02AF, 80908 },
+ { 0x02AE, 80913 },
+ { 0x02BE, 80918 },
+ { 0x02B0, 80923 },
+ { 0x02B2, 80928 },
+ { 0x02A7, 80932 },
+ { 0x028E, 80937 },
+ { 0x028D, 80942 },
+ { 0x02B1, 80947 },
+ { 0x02B6, 80952 },
+ { 0x355B, 80956 },
+ { 0x3560, 80962 },
+ { 0x028C, 80969 },
+ { 0x356F, 80973 },
+ { 0x028B, 80979 },
+ { 0x3565, 80984 },
+ { 0x35D8, 80990 },
+ { 0x02A6, 80995 },
+ { 0x355A, 81000 },
+ { 0x355F, 81006 },
+ { 0x3564, 81013 },
+ { 0x02A9, 81019 },
+ { 0x0294, 81025 },
+ { 0x0284, 81029 },
+ { 0x0290, 81033 },
+ { 0x02A5, 81038 },
+ { 0x3559, 81043 },
+ { 0x355E, 81049 },
+ { 0x3563, 81056 },
+ { 0x027E, 81062 },
+ { 0x0281, 81067 },
+ { 0x02BD, 81071 },
+ { 0x0295, 81075 },
+ { 0x02AA, 81079 },
+ { 0x0289, 81085 },
+ { 0x02BA, 81089 },
+ { 0x02B8, 81094 },
+ { 0x35D9, 81099 },
+ { 0x029E, 81102 },
+ { 0x028A, 81106 },
+ { 0x356A, 81110 },
+ { 0x0296, 81116 },
+ { 0x0278, 81120 },
+ { 0x027D, 81123 },
+ { 0x0282, 81128 },
+ { 0x02BC, 81132 },
+ { 0x35DA, 81135 },
+ { 0x18E4, 81140 },
+ { 0x18E8, 81144 },
+ { 0x193D, 81148 },
+ { 0x193E, 81152 },
+ { 0x18E9, 81158 },
+ { 0x18EA, 81162 },
+ { 0x1941, 81166 },
+ { 0x18EE, 81170 },
+ { 0x026F, 81174 },
+ { 0x0270, 81178 },
+ { 0x1945, 81184 },
+ { 0x0271, 81190 },
+ { 0x1949, 81194 },
+ { 0x18F0, 81200 },
+ { 0x02A0, 81204 },
+ { 0x38F8, 81208 },
+ { 0x194B, 81215 },
+ { 0x38F7, 81222 },
+ { 0x194A, 81230 },
+ { 0x18F1, 81237 },
+ { 0x194D, 81241 },
+ { 0x194F, 81247 },
+ { 0x1950, 81254 },
+ { 0x18F3, 81261 },
+ { 0x18F7, 81265 },
+ { 0x0272, 81269 },
+ { 0x02A1, 81273 },
+ { 0x1954, 81277 },
+ { 0x18F8, 81283 },
+ { 0x1956, 81287 },
+ { 0x18F9, 81294 },
+ { 0x1957, 81298 },
+ { 0x38F9, 81303 },
+ { 0x18FC, 81310 },
+ { 0x195A, 81314 },
+ { 0x0276, 81320 },
+ { 0x02A2, 81324 },
+ { 0x0277, 81328 },
+ { 0x195C, 81332 },
+ { 0x195E, 81336 },
+ { 0x195D, 81342 },
+ { 0x18FD, 81349 },
+ { 0x1902, 81353 },
+ { 0x18F2, 81357 },
+ { 0x1955, 81361 },
+ { 0x193F, 81365 },
+ { 0x195F, 81369 },
+ { 0x1953, 81373 },
+ { 0x18F5, 81377 },
+ { 0x18FE, 81383 },
+ { 0x38F6, 81387 },
+ { 0x1946, 81391 },
+ { 0x18EC, 81395 },
+ { 0x18F4, 81400 },
+ { 0x18E6, 81405 },
+ { 0x1900, 81409 },
+ { 0x029F, 81413 },
+ { 0x1901, 81417 },
+ { 0x18FF, 81422 },
+ { 0x18EB, 81427 },
+ { 0x1960, 81431 },
+ { 0x1952, 81435 },
+ { 0x18F6, 81440 },
+ { 0x1943, 81446 },
+ { 0x18E5, 81451 },
+ { 0x1944, 81456 },
+ { 0x18EF, 81461 },
+ { 0x18FB, 81466 },
+ { 0x194E, 81471 },
+ { 0x0273, 81479 },
+ { 0x0274, 81484 },
+ { 0x195B, 81491 },
+ { 0x18E7, 81496 },
+ { 0x18ED, 81501 },
+ { 0x193C, 81507 },
+ { 0x1947, 81512 },
+ { 0x1948, 81517 },
+ { 0x194C, 81524 },
+ { 0x1951, 81529 },
+ { 0x1959, 81534 },
+ { 0x0275, 81539 },
+ { 0x1942, 81545 },
+ { 0x1958, 81552 },
+ { 0x3608, 81556 },
+ { 0x1940, 81561 },
+ { 0x02A3, 81567 },
+ { 0x18FA, 81573 },
+ { 0x0279, 81578 },
+ { 0x02AD, 81582 },
+ { 0x0288, 81586 },
+ { 0x02B3, 81589 },
+ { 0x02B5, 81594 },
+ { 0x02B4, 81600 },
+ { 0x356B, 81606 },
+ { 0x356C, 81611 },
+ { 0x02B7, 81616 },
+ { 0x356E, 81620 },
+ { 0x356D, 81626 },
+ { 0x029D, 81631 },
+ { 0x3571, 81635 },
+ { 0x3570, 81641 },
+ { 0x027A, 81647 },
+ { 0x18CD, 81651 },
+ { 0x18CF, 81655 },
+ { 0x18D1, 81659 },
+ { 0x18D2, 81663 },
+ { 0x18D4, 81667 },
+ { 0x18D5, 81671 },
+ { 0x3607, 81675 },
+ { 0x18D6, 81681 },
+ { 0x18D7, 81685 },
+ { 0x18D8, 81689 },
+ { 0x18D9, 81693 },
+ { 0x18DA, 81697 },
+ { 0x18DB, 81701 },
+ { 0x18DD, 81705 },
+ { 0x18DF, 81709 },
+ { 0x18E0, 81713 },
+ { 0x18E1, 81717 },
+ { 0x18E2, 81721 },
+ { 0x276F, 81725 },
+ { 0x18E3, 81729 },
+ { 0x18CE, 81733 },
+ { 0x18DE, 81737 },
+ { 0x18D0, 81741 },
+ { 0x18D3, 81746 },
+ { 0x18DC, 81751 },
+ { 0x0292, 81756 },
+ { 0x0291, 81762 },
+ { 0x3554, 81768 },
+ { 0x3556, 81774 },
+ { 0x3550, 81780 },
+ { 0x3552, 81786 },
+ { 0x3555, 81792 },
+ { 0x3557, 81798 },
+ { 0x3551, 81804 },
+ { 0x3553, 81810 },
+ { 0x027F, 81816 },
+ { 0x02AB, 81820 },
+ { 0x1919, 81823 },
+ { 0x34F4, 81827 },
+ { 0x34F5, 81832 },
+ { 0x0E04, 81837 },
+ { 0x027C, 81841 },
+ { 0x0280, 81845 },
+ { 0x0287, 81850 },
+ { 0x02A8, 81854 },
+ { 0x355C, 81859 },
+ { 0x3561, 81865 },
+ { 0x3566, 81872 },
+ { 0x027B, 81878 },
+ { 0x0285, 81881 },
+ { 0x02A4, 81885 },
+ { 0x3558, 81890 },
+ { 0x355D, 81896 },
+ { 0x3562, 81903 },
+ { 0x028F, 81909 },
+ { 0x02AC, 81913 },
+ { 0x21B1, 81916 },
+ { 0x21B0, 81919 },
+ { 0x5D0D, 81922 },
+ { 0x6AC1, 81925 },
+ { 0x6AF8, 81926 },
+ { 0x2216, 81927 },
+ { 0x6AC2, 81928 },
+ { 0x6AC4, 81930 },
+ { 0x6AD9, 81932 },
+ { 0x1E11, 81934 },
+ { 0x67DC, 81935 },
+ { 0x1DE5, 81938 },
+ { 0x1DE7, 81939 },
+ { 0x1DE6, 81941 },
+ { 0x676A, 81943 },
+ { 0x6804, 81944 },
+ { 0x1BF1, 81946 },
+ { 0x2025, 81949 },
+ { 0x668C, 81953 },
+ { 0x668D, 81959 },
+ { 0x668E, 81965 },
+ { 0x668F, 81971 },
+ { 0x6690, 81977 },
+ { 0x6691, 81983 },
+ { 0x6692, 81989 },
+ { 0x6693, 81995 },
+ { 0x6694, 82001 },
+ { 0x6695, 82007 },
+ { 0x6696, 82013 },
+ { 0x6697, 82019 },
+ { 0x6698, 82025 },
+ { 0x6699, 82031 },
+ { 0x669A, 82037 },
+ { 0x669B, 82043 },
+ { 0x669C, 82049 },
+ { 0x669D, 82055 },
+ { 0x669E, 82061 },
+ { 0x669F, 82067 },
+ { 0x66A0, 82073 },
+ { 0x66A1, 82079 },
+ { 0x66A2, 82085 },
+ { 0x66A3, 82091 },
+ { 0x66A4, 82097 },
+ { 0x66A5, 82103 },
+ { 0x2011, 82109 },
+ { 0x2012, 82113 },
+ { 0x201A, 82117 },
+ { 0x2015, 82121 },
+ { 0x2016, 82125 },
+ { 0x2018, 82129 },
+ { 0x2014, 82133 },
+ { 0x2019, 82137 },
+ { 0x2013, 82141 },
+ { 0x2017, 82145 },
+ { 0x66C6, 82149 },
+ { 0x66C3, 82152 },
+ { 0x66C4, 82155 },
+ { 0x66C5, 82158 },
+ { 0x66C7, 82161 },
+ { 0x2274, 82164 },
+ { 0x66A8, 82168 },
+ { 0x66A9, 82174 },
+ { 0x66AA, 82180 },
+ { 0x66AB, 82186 },
+ { 0x66AC, 82192 },
+ { 0x66AD, 82198 },
+ { 0x66AE, 82204 },
+ { 0x66AF, 82210 },
+ { 0x66B0, 82216 },
+ { 0x66B1, 82222 },
+ { 0x66B2, 82228 },
+ { 0x66B3, 82234 },
+ { 0x66B4, 82240 },
+ { 0x66B5, 82246 },
+ { 0x66B6, 82252 },
+ { 0x66B7, 82258 },
+ { 0x66B8, 82264 },
+ { 0x66B9, 82270 },
+ { 0x66BA, 82276 },
+ { 0x66BB, 82282 },
+ { 0x66BC, 82288 },
+ { 0x66BD, 82294 },
+ { 0x66BE, 82300 },
+ { 0x66BF, 82306 },
+ { 0x66C0, 82312 },
+ { 0x66C1, 82318 },
+ { 0x005F, 82324 },
+ { 0x68F9, 82326 },
+ { 0x68FA, 82327 },
+ { 0x6AB1, 82331 },
+ { 0x6B03, 82333 },
+ { 0x6ABA, 82336 },
+ { 0x6AB8, 82338 },
+ { 0x6ABC, 82341 },
+ { 0x1E0F, 82343 },
+ { 0x214C, 82345 },
+ { 0x2253, 82347 },
+ { 0x223F, 82350 },
+ { 0x2245, 82353 },
+ { 0x21C3, 82356 },
+ { 0x1BC2, 82359 },
+ { 0x1D7E, 82360 },
+ { 0x2619, 82362 },
+ { 0x2618, 82366 },
+ { 0x6AE6, 82370 },
+ { 0x68E1, 82372 },
+ { 0x367B, 82374 },
+ { 0x367C, 82377 },
+ { 0x367A, 82381 },
+ { 0x3662, 82385 },
+ { 0x3665, 82388 },
+ { 0x3663, 82391 },
+ { 0x3666, 82394 },
+ { 0x3664, 82397 },
+ { 0x3653, 82400 },
+ { 0x3649, 82403 },
+ { 0x364F, 82406 },
+ { 0x366B, 82409 },
+ { 0x3669, 82412 },
+ { 0x3647, 82415 },
+ { 0x3661, 82418 },
+ { 0x364B, 82421 },
+ { 0x3645, 82424 },
+ { 0x365E, 82427 },
+ { 0x3654, 82430 },
+ { 0x3650, 82433 },
+ { 0x3651, 82436 },
+ { 0x3667, 82439 },
+ { 0x365D, 82442 },
+ { 0x3660, 82445 },
+ { 0x364D, 82448 },
+ { 0x3658, 82451 },
+ { 0x3668, 82454 },
+ { 0x365C, 82457 },
+ { 0x365A, 82460 },
+ { 0x364A, 82463 },
+ { 0x3670, 82466 },
+ { 0x3657, 82469 },
+ { 0x366A, 82472 },
+ { 0x3646, 82475 },
+ { 0x3648, 82478 },
+ { 0x3671, 82481 },
+ { 0x364C, 82484 },
+ { 0x3652, 82487 },
+ { 0x365F, 82490 },
+ { 0x364E, 82493 },
+ { 0x3655, 82496 },
+ { 0x366E, 82499 },
+ { 0x3659, 82502 },
+ { 0x3656, 82505 },
+ { 0x366F, 82508 },
+ { 0x365B, 82511 },
+ { 0x3674, 82515 },
+ { 0x3672, 82519 },
+ { 0x3675, 82523 },
+ { 0x3673, 82527 },
+ { 0x3678, 82531 },
+ { 0x3679, 82534 },
+ { 0x3676, 82538 },
+ { 0x366C, 82542 },
+ { 0x366D, 82546 },
+ { 0x3677, 82550 },
+ { 0x3FC6, 82554 },
+ { 0x3FC0, 82559 },
+ { 0x3FA9, 82563 },
+ { 0x3FBB, 82567 },
+ { 0x3FAF, 82571 },
+ { 0x3FBC, 82575 },
+ { 0x3FAE, 82579 },
+ { 0x3FAB, 82583 },
+ { 0x3FB3, 82587 },
+ { 0x3FBE, 82591 },
+ { 0x3FB9, 82595 },
+ { 0x3FB8, 82599 },
+ { 0x3FC5, 82603 },
+ { 0x3FB7, 82607 },
+ { 0x3FC2, 82611 },
+ { 0x3FCB, 82615 },
+ { 0x3FA8, 82620 },
+ { 0x3FBA, 82624 },
+ { 0x3FA3, 82629 },
+ { 0x3FBD, 82633 },
+ { 0x3FC7, 82637 },
+ { 0x3FC1, 82641 },
+ { 0x3FB4, 82646 },
+ { 0x3FCA, 82650 },
+ { 0x3FA7, 82655 },
+ { 0x3FBF, 82659 },
+ { 0x3FA4, 82663 },
+ { 0x3FB5, 82667 },
+ { 0x3FB2, 82671 },
+ { 0x3FC8, 82675 },
+ { 0x3FA5, 82679 },
+ { 0x3FA0, 82683 },
+ { 0x3FAA, 82688 },
+ { 0x3FB6, 82692 },
+ { 0x3FA2, 82696 },
+ { 0x3FAD, 82700 },
+ { 0x3FC3, 82704 },
+ { 0x3FC4, 82708 },
+ { 0x3FA6, 82712 },
+ { 0x3FAC, 82716 },
+ { 0x3FC9, 82720 },
+ { 0x3FA1, 82724 },
+ { 0x3FB0, 82729 },
+ { 0x3FB1, 82733 },
+ { 0x3FCC, 82738 },
+ { 0x3F9F, 82744 },
+ { 0x2255, 82748 },
+ { 0x6924, 82750 },
+ { 0x1E6F, 82752 },
+ { 0x1DD3, 82754 },
+ { 0x1DD5, 82755 },
+ { 0x1DD7, 82759 },
+ { 0x1E41, 82763 },
+ { 0x25DB, 82768 },
+ { 0x25DF, 82773 },
+ { 0x25DD, 82779 },
+ { 0x25D9, 82784 },
+ { 0x25D7, 82788 },
+ { 0x25D5, 82794 },
+ { 0x1E09, 82799 },
+ { 0x1EF0, 82802 },
+ { 0x689E, 82804 },
+ { 0x1CA7, 82805 },
+ { 0x20BC, 82807 },
+ { 0x20BD, 82810 },
+ { 0x20BE, 82813 },
+ { 0x20BF, 82816 },
+ { 0x20C0, 82825 },
+ { 0x20C1, 82831 },
+ { 0x20C2, 82840 },
+ { 0x20C3, 82849 },
+ { 0x20C4, 82852 },
+ { 0x20C5, 82858 },
+ { 0x001F, 82867 },
+ { 0x1BCC, 82869 },
+ { 0x21E1, 82872 },
+ { 0x21A2, 82873 },
+ { 0x66D3, 82876 },
+ { 0x66D4, 82881 },
+ { 0x66D5, 82886 },
+ { 0x66D6, 82891 },
+ { 0x66D7, 82896 },
+ { 0x66D8, 82901 },
+ { 0x66D9, 82906 },
+ { 0x66DA, 82911 },
+ { 0x66DB, 82916 },
+ { 0x66DC, 82921 },
+ { 0x66DD, 82926 },
+ { 0x66DE, 82931 },
+ { 0x66DF, 82936 },
+ { 0x66E0, 82941 },
+ { 0x66E1, 82946 },
+ { 0x66E2, 82951 },
+ { 0x66E3, 82956 },
+ { 0x66E4, 82961 },
+ { 0x66E5, 82966 },
+ { 0x66E6, 82971 },
+ { 0x66E7, 82976 },
+ { 0x66E8, 82981 },
+ { 0x66E9, 82986 },
+ { 0x66EA, 82991 },
+ { 0x66EB, 82996 },
+ { 0x66EC, 83001 },
+ { 0x6A30, 83006 },
+ { 0x67BD, 83008 },
+ { 0x1C7C, 83010 },
+ { 0x6ADF, 83011 },
+ { 0x1E69, 83012 },
+ { 0x69BA, 83015 },
+ { 0x24C9, 83021 },
+ { 0x24CB, 83023 },
+ { 0x2900, 83027 },
+ { 0x24D6, 83029 },
+ { 0x1BB9, 83032 },
+ { 0x1D96, 83034 },
+ { 0x1E26, 83036 },
+ { 0x1BBA, 83039 },
+ { 0x2A74, 83042 },
+ { 0x2613, 83047 },
+ { 0x28D0, 83052 },
+ { 0x69B6, 83055 },
+ { 0x69B7, 83061 },
+ { 0x69B8, 83065 },
+ { 0x1BBB, 83069 },
+ { 0x1BCF, 83072 },
+ { 0x213F, 83075 },
+ { 0x69B9, 83080 },
+ { 0x28ED, 83083 },
+ { 0x1BD3, 83086 },
+ { 0x1CA0, 83088 },
+ { 0x221B, 83092 },
+ { 0x6C6E, 83093 },
+ { 0x2175, 83094 },
+ { 0x6757, 83095 },
+ { 0x2256, 83096 },
+ { 0x2244, 83099 },
+ { 0x2273, 83103 },
+ { 0x213E, 83106 },
+ { 0x6746, 83107 },
+ { 0x6AF1, 83109 },
+ { 0x69C5, 83111 },
+ { 0x69C6, 83116 },
+ { 0x69BF, 83121 },
+ { 0x69C0, 83126 },
+ { 0x69C3, 83131 },
+ { 0x69C4, 83136 },
+ { 0x69BD, 83141 },
+ { 0x69BE, 83146 },
+ { 0x34CB, 83151 },
+ { 0x6A58, 83153 },
+ { 0x68CA, 83155 },
+ { 0x6AF0, 83157 },
+ { 0x6A66, 83159 },
+ { 0x6A65, 83162 },
+ { 0x6A33, 83165 },
+ { 0x224E, 83167 },
+ { 0x6A07, 83168 },
+ { 0x1C34, 83172 },
+ { 0x6859, 83174 },
+ { 0x6782, 83176 },
+ { 0x68F5, 83178 },
+ { 0x1DBC, 83180 },
+ { 0x1DD4, 83183 },
+ { 0x1DD6, 83184 },
+ { 0x1DD8, 83188 },
+ { 0x1E42, 83192 },
+ { 0x25DC, 83197 },
+ { 0x25E0, 83202 },
+ { 0x25DE, 83208 },
+ { 0x25DA, 83213 },
+ { 0x25D8, 83217 },
+ { 0x25D6, 83223 },
+ { 0x1E0A, 83228 },
+ { 0x1DDC, 83231 },
+ { 0x1DE0, 83233 },
+ { 0x25EA, 83238 },
+ { 0x1DE4, 83246 },
+ { 0x25F2, 83252 },
+ { 0x25EE, 83258 },
+ { 0x25F0, 83263 },
+ { 0x25EC, 83269 },
+ { 0x25E4, 83274 },
+ { 0x25E6, 83277 },
+ { 0x25E8, 83282 },
+ { 0x25FA, 83287 },
+ { 0x25FC, 83290 },
+ { 0x24A1, 83293 },
+ { 0x25FE, 83297 },
+ { 0x25FD, 83305 },
+ { 0x22EF, 83308 },
+ { 0x1E88, 83311 },
+ { 0x1429, 83312 },
+ { 0x142A, 83316 },
+ { 0x1419, 83320 },
+ { 0x141A, 83323 },
+ { 0x141B, 83326 },
+ { 0x1423, 83329 },
+ { 0x1420, 83332 },
+ { 0x141D, 83335 },
+ { 0x141C, 83338 },
+ { 0x1426, 83341 },
+ { 0x1424, 83344 },
+ { 0x1421, 83347 },
+ { 0x1422, 83350 },
+ { 0x1428, 83353 },
+ { 0x141F, 83356 },
+ { 0x1427, 83359 },
+ { 0x1425, 83362 },
+ { 0x141E, 83365 },
+ { 0x67B1, 83368 },
+ { 0x68EC, 83370 },
+ { 0x6C67, 83372 },
+ { 0x28FA, 83374 },
+ { 0x2815, 83376 },
+ { 0x284B, 83379 },
+ { 0x282E, 83382 },
+ { 0x284C, 83385 },
+ { 0x2838, 83388 },
+ { 0x2829, 83391 },
+ { 0x2816, 83394 },
+ { 0x281C, 83397 },
+ { 0x2821, 83400 },
+ { 0x2818, 83403 },
+ { 0x2825, 83406 },
+ { 0x281B, 83409 },
+ { 0x2822, 83412 },
+ { 0x2832, 83415 },
+ { 0x2833, 83418 },
+ { 0x2834, 83421 },
+ { 0x2837, 83424 },
+ { 0x282C, 83427 },
+ { 0x2839, 83430 },
+ { 0x283E, 83433 },
+ { 0x2841, 83436 },
+ { 0x2845, 83439 },
+ { 0x2846, 83442 },
+ { 0x2847, 83445 },
+ { 0x2848, 83448 },
+ { 0x2820, 83451 },
+ { 0x283D, 83454 },
+ { 0x2817, 83458 },
+ { 0x2843, 83461 },
+ { 0x281E, 83464 },
+ { 0x281D, 83467 },
+ { 0x283B, 83470 },
+ { 0x2828, 83473 },
+ { 0x282A, 83476 },
+ { 0x283A, 83479 },
+ { 0x2840, 83482 },
+ { 0x283F, 83485 },
+ { 0x2842, 83488 },
+ { 0x2844, 83491 },
+ { 0x282F, 83494 },
+ { 0x284A, 83497 },
+ { 0x281F, 83500 },
+ { 0x2819, 83503 },
+ { 0x2824, 83506 },
+ { 0x2826, 83509 },
+ { 0x281A, 83514 },
+ { 0x2827, 83519 },
+ { 0x2823, 83523 },
+ { 0x282D, 83527 },
+ { 0x283C, 83531 },
+ { 0x2835, 83535 },
+ { 0x282B, 83539 },
+ { 0x2836, 83543 },
+ { 0x2831, 83547 },
+ { 0x2830, 83551 },
+ { 0x2849, 83555 },
+ { 0x284D, 83559 },
+ { 0x284F, 83564 },
+ { 0x284E, 83567 },
+ { 0x1BCE, 83570 },
+ { 0x671C, 83573 },
+ { 0x671D, 83579 },
+ { 0x6722, 83585 },
+ { 0x671E, 83591 },
+ { 0x6720, 83597 },
+ { 0x6723, 83603 },
+ { 0x671B, 83609 },
+ { 0x671F, 83615 },
+ { 0x6721, 83621 },
+ { 0x6667, 83627 },
+ { 0x24F0, 83634 },
+ { 0x24F3, 83638 },
+ { 0x6AEA, 83643 },
+ { 0x24F1, 83647 },
+ { 0x1BE1, 83650 },
+ { 0x6846, 83651 },
+ { 0x679F, 83653 },
+ { 0x40BF, 83655 },
+ { 0x40BC, 83658 },
+ { 0x40BD, 83661 },
+ { 0x40A6, 83664 },
+ { 0x40B5, 83667 },
+ { 0x40BB, 83670 },
+ { 0x40A7, 83673 },
+ { 0x40B2, 83676 },
+ { 0x40B4, 83679 },
+ { 0x40AC, 83682 },
+ { 0x40A4, 83685 },
+ { 0x40AF, 83688 },
+ { 0x40B1, 83691 },
+ { 0x40BE, 83694 },
+ { 0x40AA, 83697 },
+ { 0x40AB, 83700 },
+ { 0x40A1, 83703 },
+ { 0x40A2, 83706 },
+ { 0x40B0, 83709 },
+ { 0x40A9, 83712 },
+ { 0x40B7, 83715 },
+ { 0x40B6, 83718 },
+ { 0x40AD, 83721 },
+ { 0x40A8, 83724 },
+ { 0x40A5, 83727 },
+ { 0x40A3, 83730 },
+ { 0x40BA, 83733 },
+ { 0x40AE, 83736 },
+ { 0x40B8, 83739 },
+ { 0x40B3, 83742 },
+ { 0x40B9, 83745 },
+ { 0x2128, 83748 },
+ { 0x2217, 83749 },
+ { 0x213A, 83752 },
+ { 0x6A36, 83756 },
+ { 0x1BC3, 83758 },
+ { 0x1C80, 83759 },
+ { 0x22F0, 83760 },
+ { 0x24F6, 83765 },
+ { 0x260A, 83770 },
+ { 0x2608, 83775 },
+ { 0x28FC, 83780 },
+ { 0x26A3, 83783 },
+ { 0x1BE2, 83786 },
+ { 0x2A88, 83789 },
+ { 0x2A8C, 83793 },
+ { 0x2A8A, 83799 },
+ { 0x2A89, 83805 },
+ { 0x2A8B, 83812 },
+ { 0x005C, 83821 },
+ { 0x2615, 83823 },
+ { 0x2616, 83828 },
+ { 0x1ED8, 83833 },
+ { 0x1F29, 83838 },
+ { 0x21CE, 83841 },
+ { 0x28EE, 83846 },
+ { 0x24C0, 83848 },
+ { 0x6ACA, 83851 },
+ { 0x1E47, 83854 },
+ { 0x2A92, 83856 },
+ { 0x1E70, 83860 },
+ { 0x1C5E, 83862 },
+ { 0x67C5, 83866 },
+ { 0x21FB, 83868 },
+ { 0x6AB5, 83873 },
+ { 0x0006, 83874 },
+ { 0x5482, 83875 },
+ { 0x5483, 83878 },
+ { 0x5484, 83881 },
+ { 0x5485, 83884 },
+ { 0x5486, 83887 },
+ { 0x5487, 83890 },
+ { 0x5488, 83893 },
+ { 0x5489, 83896 },
+ { 0x548A, 83899 },
+ { 0x548B, 83902 },
+ { 0x548D, 83905 },
+ { 0x548E, 83908 },
+ { 0x548F, 83911 },
+ { 0x5490, 83914 },
+ { 0x5491, 83917 },
+ { 0x5492, 83920 },
+ { 0x5493, 83923 },
+ { 0x5494, 83926 },
+ { 0x5495, 83929 },
+ { 0x5496, 83932 },
+ { 0x5497, 83935 },
+ { 0x5498, 83938 },
+ { 0x5499, 83941 },
+ { 0x549A, 83944 },
+ { 0x549B, 83947 },
+ { 0x549C, 83950 },
+ { 0x549E, 83953 },
+ { 0x549F, 83956 },
+ { 0x54A0, 83959 },
+ { 0x54A1, 83962 },
+ { 0x54A2, 83965 },
+ { 0x54A3, 83968 },
+ { 0x54A4, 83971 },
+ { 0x54A5, 83974 },
+ { 0x54A6, 83977 },
+ { 0x54A7, 83980 },
+ { 0x54A8, 83983 },
+ { 0x54A9, 83986 },
+ { 0x54AA, 83989 },
+ { 0x54AC, 83992 },
+ { 0x54AD, 83995 },
+ { 0x54AF, 83998 },
+ { 0x54B0, 84001 },
+ { 0x54B1, 84004 },
+ { 0x54B2, 84007 },
+ { 0x54B4, 84010 },
+ { 0x54B7, 84013 },
+ { 0x54B8, 84016 },
+ { 0x54B9, 84019 },
+ { 0x54BA, 84022 },
+ { 0x54BB, 84025 },
+ { 0x54BC, 84028 },
+ { 0x54BD, 84031 },
+ { 0x54BE, 84034 },
+ { 0x54BF, 84037 },
+ { 0x54C0, 84040 },
+ { 0x54C1, 84043 },
+ { 0x54C2, 84046 },
+ { 0x54C3, 84049 },
+ { 0x54C4, 84052 },
+ { 0x54C5, 84055 },
+ { 0x54C6, 84058 },
+ { 0x54C7, 84061 },
+ { 0x54C8, 84064 },
+ { 0x54C9, 84067 },
+ { 0x54CA, 84070 },
+ { 0x54CE, 84073 },
+ { 0x54CF, 84076 },
+ { 0x54D0, 84079 },
+ { 0x54D1, 84082 },
+ { 0x54D2, 84085 },
+ { 0x54D3, 84088 },
+ { 0x54D4, 84091 },
+ { 0x54D5, 84094 },
+ { 0x54D6, 84097 },
+ { 0x54D7, 84100 },
+ { 0x54D8, 84103 },
+ { 0x54D9, 84106 },
+ { 0x54DA, 84109 },
+ { 0x54DB, 84112 },
+ { 0x54DC, 84115 },
+ { 0x54DD, 84118 },
+ { 0x54DE, 84121 },
+ { 0x54DF, 84124 },
+ { 0x54E0, 84127 },
+ { 0x54E1, 84130 },
+ { 0x54E2, 84133 },
+ { 0x54E3, 84136 },
+ { 0x54E4, 84139 },
+ { 0x54E5, 84142 },
+ { 0x54E6, 84145 },
+ { 0x54E7, 84148 },
+ { 0x54E8, 84151 },
+ { 0x54E9, 84154 },
+ { 0x54EA, 84157 },
+ { 0x54EB, 84160 },
+ { 0x54EC, 84163 },
+ { 0x54EE, 84166 },
+ { 0x54F0, 84169 },
+ { 0x54F1, 84172 },
+ { 0x54F3, 84175 },
+ { 0x54F5, 84178 },
+ { 0x54F7, 84181 },
+ { 0x54F8, 84184 },
+ { 0x54FC, 84187 },
+ { 0x54FF, 84190 },
+ { 0x5500, 84193 },
+ { 0x5504, 84196 },
+ { 0x5505, 84199 },
+ { 0x5506, 84202 },
+ { 0x5509, 84205 },
+ { 0x550A, 84208 },
+ { 0x550B, 84211 },
+ { 0x550C, 84214 },
+ { 0x550D, 84217 },
+ { 0x550F, 84220 },
+ { 0x5510, 84223 },
+ { 0x5511, 84226 },
+ { 0x5512, 84229 },
+ { 0x5513, 84232 },
+ { 0x5514, 84235 },
+ { 0x5515, 84238 },
+ { 0x5516, 84241 },
+ { 0x5517, 84244 },
+ { 0x5518, 84247 },
+ { 0x551A, 84250 },
+ { 0x551B, 84253 },
+ { 0x551C, 84256 },
+ { 0x551D, 84259 },
+ { 0x551E, 84262 },
+ { 0x551F, 84265 },
+ { 0x5520, 84268 },
+ { 0x5521, 84271 },
+ { 0x5522, 84274 },
+ { 0x5523, 84277 },
+ { 0x5525, 84280 },
+ { 0x5526, 84283 },
+ { 0x5527, 84286 },
+ { 0x5528, 84289 },
+ { 0x5529, 84292 },
+ { 0x552A, 84295 },
+ { 0x552B, 84298 },
+ { 0x552C, 84301 },
+ { 0x552D, 84304 },
+ { 0x552E, 84307 },
+ { 0x552F, 84310 },
+ { 0x5530, 84313 },
+ { 0x5531, 84316 },
+ { 0x5532, 84319 },
+ { 0x5533, 84322 },
+ { 0x5534, 84325 },
+ { 0x5535, 84328 },
+ { 0x5536, 84331 },
+ { 0x5537, 84334 },
+ { 0x5538, 84337 },
+ { 0x5539, 84340 },
+ { 0x553A, 84343 },
+ { 0x553B, 84346 },
+ { 0x553C, 84349 },
+ { 0x553D, 84352 },
+ { 0x553E, 84355 },
+ { 0x553F, 84358 },
+ { 0x5540, 84361 },
+ { 0x5541, 84364 },
+ { 0x5542, 84367 },
+ { 0x5543, 84370 },
+ { 0x5544, 84373 },
+ { 0x5545, 84376 },
+ { 0x5546, 84379 },
+ { 0x5547, 84382 },
+ { 0x5548, 84385 },
+ { 0x5549, 84388 },
+ { 0x554A, 84391 },
+ { 0x554B, 84394 },
+ { 0x554C, 84397 },
+ { 0x554D, 84400 },
+ { 0x554E, 84403 },
+ { 0x554F, 84406 },
+ { 0x5550, 84409 },
+ { 0x5551, 84412 },
+ { 0x5552, 84415 },
+ { 0x5553, 84418 },
+ { 0x5554, 84421 },
+ { 0x5555, 84424 },
+ { 0x5556, 84427 },
+ { 0x5557, 84430 },
+ { 0x5558, 84433 },
+ { 0x5559, 84436 },
+ { 0x555A, 84439 },
+ { 0x555B, 84442 },
+ { 0x555C, 84445 },
+ { 0x555D, 84448 },
+ { 0x555E, 84451 },
+ { 0x555F, 84454 },
+ { 0x5560, 84457 },
+ { 0x5561, 84460 },
+ { 0x5562, 84463 },
+ { 0x5563, 84466 },
+ { 0x5564, 84469 },
+ { 0x5565, 84472 },
+ { 0x5566, 84475 },
+ { 0x5567, 84478 },
+ { 0x556A, 84481 },
+ { 0x556B, 84484 },
+ { 0x556C, 84487 },
+ { 0x556D, 84490 },
+ { 0x556E, 84493 },
+ { 0x5570, 84496 },
+ { 0x5571, 84499 },
+ { 0x5573, 84502 },
+ { 0x5574, 84505 },
+ { 0x5575, 84508 },
+ { 0x5576, 84511 },
+ { 0x5577, 84514 },
+ { 0x5578, 84517 },
+ { 0x557A, 84520 },
+ { 0x557C, 84523 },
+ { 0x557D, 84526 },
+ { 0x557E, 84529 },
+ { 0x557F, 84532 },
+ { 0x5580, 84535 },
+ { 0x5581, 84538 },
+ { 0x5582, 84541 },
+ { 0x5583, 84544 },
+ { 0x5584, 84547 },
+ { 0x5585, 84550 },
+ { 0x5586, 84553 },
+ { 0x5588, 84556 },
+ { 0x5589, 84559 },
+ { 0x558A, 84562 },
+ { 0x558B, 84565 },
+ { 0x558C, 84568 },
+ { 0x558D, 84571 },
+ { 0x558E, 84574 },
+ { 0x558F, 84577 },
+ { 0x5590, 84580 },
+ { 0x5591, 84583 },
+ { 0x5592, 84586 },
+ { 0x5593, 84589 },
+ { 0x5594, 84592 },
+ { 0x5595, 84595 },
+ { 0x5596, 84598 },
+ { 0x5597, 84601 },
+ { 0x5598, 84604 },
+ { 0x5599, 84607 },
+ { 0x559A, 84610 },
+ { 0x559B, 84613 },
+ { 0x559C, 84616 },
+ { 0x559D, 84619 },
+ { 0x559E, 84622 },
+ { 0x559F, 84625 },
+ { 0x55A0, 84628 },
+ { 0x55A1, 84631 },
+ { 0x55A2, 84634 },
+ { 0x55A3, 84637 },
+ { 0x55A4, 84640 },
+ { 0x55A5, 84643 },
+ { 0x55A6, 84646 },
+ { 0x55A7, 84649 },
+ { 0x55A8, 84652 },
+ { 0x55A9, 84655 },
+ { 0x55AA, 84658 },
+ { 0x55AB, 84661 },
+ { 0x55AC, 84664 },
+ { 0x55AD, 84667 },
+ { 0x55AE, 84670 },
+ { 0x55AF, 84673 },
+ { 0x55B1, 84676 },
+ { 0x55B2, 84679 },
+ { 0x55B3, 84682 },
+ { 0x55B4, 84685 },
+ { 0x55B5, 84688 },
+ { 0x55B6, 84691 },
+ { 0x55B7, 84694 },
+ { 0x55B8, 84697 },
+ { 0x55B9, 84700 },
+ { 0x55BA, 84703 },
+ { 0x55BB, 84706 },
+ { 0x55BC, 84709 },
+ { 0x55BD, 84712 },
+ { 0x55BE, 84715 },
+ { 0x55BF, 84718 },
+ { 0x55C0, 84721 },
+ { 0x55C1, 84724 },
+ { 0x55C2, 84727 },
+ { 0x55C3, 84730 },
+ { 0x55C4, 84733 },
+ { 0x55C5, 84736 },
+ { 0x55C6, 84739 },
+ { 0x55C8, 84742 },
+ { 0x55C9, 84745 },
+ { 0x55CA, 84748 },
+ { 0x55CB, 84751 },
+ { 0x55CC, 84754 },
+ { 0x55CE, 84757 },
+ { 0x55CF, 84760 },
+ { 0x55D0, 84763 },
+ { 0x55D1, 84766 },
+ { 0x55D2, 84769 },
+ { 0x55D4, 84772 },
+ { 0x55D5, 84775 },
+ { 0x55D6, 84778 },
+ { 0x55D7, 84781 },
+ { 0x55D8, 84784 },
+ { 0x55D9, 84787 },
+ { 0x55DA, 84790 },
+ { 0x55DB, 84793 },
+ { 0x55DC, 84796 },
+ { 0x55DD, 84799 },
+ { 0x55DF, 84802 },
+ { 0x55E0, 84805 },
+ { 0x55E1, 84808 },
+ { 0x55E2, 84811 },
+ { 0x55E3, 84814 },
+ { 0x55E4, 84817 },
+ { 0x55E5, 84820 },
+ { 0x55E6, 84823 },
+ { 0x55E7, 84826 },
+ { 0x55E8, 84829 },
+ { 0x55E9, 84832 },
+ { 0x55EA, 84835 },
+ { 0x55EB, 84838 },
+ { 0x55EC, 84841 },
+ { 0x55ED, 84844 },
+ { 0x55EE, 84847 },
+ { 0x55EF, 84850 },
+ { 0x55F0, 84853 },
+ { 0x55F1, 84856 },
+ { 0x55F2, 84859 },
+ { 0x55F4, 84862 },
+ { 0x55F5, 84865 },
+ { 0x55F9, 84868 },
+ { 0x55FA, 84871 },
+ { 0x55FB, 84874 },
+ { 0x55FC, 84877 },
+ { 0x5600, 84880 },
+ { 0x5601, 84883 },
+ { 0x5602, 84886 },
+ { 0x5603, 84889 },
+ { 0x5604, 84892 },
+ { 0x5605, 84895 },
+ { 0x5606, 84898 },
+ { 0x5607, 84901 },
+ { 0x5608, 84904 },
+ { 0x5609, 84907 },
+ { 0x560A, 84910 },
+ { 0x560B, 84913 },
+ { 0x560C, 84916 },
+ { 0x560D, 84919 },
+ { 0x560E, 84922 },
+ { 0x560F, 84925 },
+ { 0x5610, 84928 },
+ { 0x5611, 84931 },
+ { 0x5612, 84934 },
+ { 0x5613, 84937 },
+ { 0x5614, 84940 },
+ { 0x5615, 84943 },
+ { 0x5616, 84946 },
+ { 0x5618, 84949 },
+ { 0x5619, 84952 },
+ { 0x561A, 84955 },
+ { 0x561B, 84958 },
+ { 0x561C, 84961 },
+ { 0x561E, 84964 },
+ { 0x561F, 84967 },
+ { 0x5620, 84970 },
+ { 0x5621, 84973 },
+ { 0x5623, 84976 },
+ { 0x5624, 84979 },
+ { 0x5625, 84982 },
+ { 0x5627, 84985 },
+ { 0x5628, 84988 },
+ { 0x5629, 84991 },
+ { 0x562A, 84994 },
+ { 0x562B, 84997 },
+ { 0x562C, 85000 },
+ { 0x562D, 85003 },
+ { 0x562E, 85006 },
+ { 0x562F, 85009 },
+ { 0x5630, 85012 },
+ { 0x5632, 85015 },
+ { 0x5633, 85018 },
+ { 0x5635, 85024 },
+ { 0x5636, 85027 },
+ { 0x5637, 85030 },
+ { 0x5639, 85033 },
+ { 0x563A, 85036 },
+ { 0x563B, 85039 },
+ { 0x563C, 85042 },
+ { 0x563D, 85045 },
+ { 0x563E, 85048 },
+ { 0x563F, 85051 },
+ { 0x5640, 85055 },
+ { 0x5641, 85058 },
+ { 0x5642, 85061 },
+ { 0x5643, 85064 },
+ { 0x5644, 85067 },
+ { 0x5645, 85070 },
+ { 0x5646, 85073 },
+ { 0x5647, 85076 },
+ { 0x5648, 85079 },
+ { 0x5649, 85082 },
+ { 0x564A, 85085 },
+ { 0x564B, 85088 },
+ { 0x564C, 85091 },
+ { 0x564D, 85094 },
+ { 0x564E, 85097 },
+ { 0x564F, 85100 },
+ { 0x5650, 85103 },
+ { 0x5652, 85109 },
+ { 0x5653, 85112 },
+ { 0x5654, 85115 },
+ { 0x5655, 85118 },
+ { 0x5656, 85121 },
+ { 0x5657, 85124 },
+ { 0x5658, 85127 },
+ { 0x5659, 85130 },
+ { 0x565A, 85133 },
+ { 0x565B, 85136 },
+ { 0x565C, 85139 },
+ { 0x565D, 85142 },
+ { 0x565E, 85145 },
+ { 0x565F, 85148 },
+ { 0x5660, 85151 },
+ { 0x5661, 85154 },
+ { 0x5662, 85157 },
+ { 0x5663, 85160 },
+ { 0x5664, 85163 },
+ { 0x5665, 85166 },
+ { 0x5666, 85169 },
+ { 0x5667, 85172 },
+ { 0x5668, 85175 },
+ { 0x5669, 85178 },
+ { 0x566A, 85181 },
+ { 0x566B, 85184 },
+ { 0x566C, 85187 },
+ { 0x566D, 85190 },
+ { 0x566E, 85193 },
+ { 0x566F, 85196 },
+ { 0x5670, 85199 },
+ { 0x5671, 85202 },
+ { 0x5672, 85205 },
+ { 0x5673, 85208 },
+ { 0x5674, 85211 },
+ { 0x5675, 85214 },
+ { 0x5676, 85217 },
+ { 0x5677, 85220 },
+ { 0x5678, 85223 },
+ { 0x5679, 85226 },
+ { 0x567B, 85229 },
+ { 0x567C, 85232 },
+ { 0x567D, 85235 },
+ { 0x567E, 85238 },
+ { 0x567F, 85241 },
+ { 0x5680, 85244 },
+ { 0x5681, 85247 },
+ { 0x5683, 85250 },
+ { 0x5684, 85253 },
+ { 0x5685, 85256 },
+ { 0x5686, 85259 },
+ { 0x5687, 85262 },
+ { 0x5688, 85265 },
+ { 0x5689, 85268 },
+ { 0x568A, 85271 },
+ { 0x568B, 85274 },
+ { 0x568C, 85277 },
+ { 0x568D, 85280 },
+ { 0x568E, 85283 },
+ { 0x568F, 85286 },
+ { 0x5690, 85289 },
+ { 0x5691, 85292 },
+ { 0x5692, 85295 },
+ { 0x5693, 85298 },
+ { 0x5694, 85301 },
+ { 0x5695, 85304 },
+ { 0x5696, 85307 },
+ { 0x5697, 85310 },
+ { 0x5698, 85313 },
+ { 0x5699, 85316 },
+ { 0x569A, 85319 },
+ { 0x569B, 85322 },
+ { 0x569C, 85325 },
+ { 0x569D, 85328 },
+ { 0x569E, 85331 },
+ { 0x569F, 85334 },
+ { 0x56A0, 85337 },
+ { 0x56A1, 85340 },
+ { 0x56A2, 85343 },
+ { 0x56A3, 85346 },
+ { 0x56A4, 85349 },
+ { 0x56A5, 85352 },
+ { 0x56A6, 85355 },
+ { 0x56A7, 85358 },
+ { 0x56A8, 85361 },
+ { 0x56A9, 85364 },
+ { 0x56AA, 85367 },
+ { 0x56AB, 85370 },
+ { 0x56AC, 85373 },
+ { 0x56AD, 85376 },
+ { 0x56AE, 85379 },
+ { 0x56AF, 85382 },
+ { 0x56B0, 85385 },
+ { 0x56B1, 85388 },
+ { 0x56B2, 85391 },
+ { 0x56B3, 85394 },
+ { 0x56B4, 85397 },
+ { 0x56B5, 85400 },
+ { 0x56B6, 85403 },
+ { 0x56B7, 85406 },
+ { 0x56B8, 85409 },
+ { 0x56B9, 85412 },
+ { 0x56BA, 85415 },
+ { 0x56BB, 85418 },
+ { 0x56BC, 85421 },
+ { 0x56BD, 85424 },
+ { 0x56BE, 85427 },
+ { 0x56BF, 85430 },
+ { 0x56C0, 85433 },
+ { 0x56C1, 85436 },
+ { 0x56C2, 85439 },
+ { 0x56C3, 85442 },
+ { 0x56C4, 85445 },
+ { 0x56C5, 85448 },
+ { 0x56C6, 85451 },
+ { 0x56C7, 85454 },
+ { 0x56C8, 85457 },
+ { 0x548C, 85460 },
+ { 0x549D, 85463 },
+ { 0x54AB, 85466 },
+ { 0x54AE, 85469 },
+ { 0x54B3, 85472 },
+ { 0x54B5, 85475 },
+ { 0x54B6, 85478 },
+ { 0x54CB, 85481 },
+ { 0x54CC, 85484 },
+ { 0x54CD, 85487 },
+ { 0x54ED, 85490 },
+ { 0x54EF, 85493 },
+ { 0x54F2, 85496 },
+ { 0x54F4, 85499 },
+ { 0x54F6, 85502 },
+ { 0x54F9, 85505 },
+ { 0x54FA, 85508 },
+ { 0x54FB, 85511 },
+ { 0x54FD, 85514 },
+ { 0x54FE, 85517 },
+ { 0x5501, 85520 },
+ { 0x5502, 85523 },
+ { 0x5503, 85526 },
+ { 0x5507, 85529 },
+ { 0x5508, 85532 },
+ { 0x550E, 85535 },
+ { 0x5519, 85538 },
+ { 0x5524, 85541 },
+ { 0x5568, 85544 },
+ { 0x5569, 85547 },
+ { 0x556F, 85550 },
+ { 0x5572, 85553 },
+ { 0x5579, 85556 },
+ { 0x557B, 85559 },
+ { 0x5587, 85562 },
+ { 0x55B0, 85565 },
+ { 0x55C7, 85568 },
+ { 0x55CD, 85571 },
+ { 0x55D3, 85574 },
+ { 0x55DE, 85577 },
+ { 0x55F3, 85580 },
+ { 0x55F6, 85583 },
+ { 0x55F7, 85586 },
+ { 0x55F8, 85589 },
+ { 0x55FD, 85592 },
+ { 0x55FE, 85595 },
+ { 0x55FF, 85598 },
+ { 0x5617, 85601 },
+ { 0x561D, 85604 },
+ { 0x5622, 85607 },
+ { 0x5626, 85610 },
+ { 0x5631, 85613 },
+ { 0x5634, 85616 },
+ { 0x5638, 85619 },
+ { 0x5651, 85622 },
+ { 0x567A, 85628 },
+ { 0x5682, 85631 },
+ { 0x6A4B, 85634 },
+ { 0x2130, 85636 },
+ { 0x1DFF, 85638 },
+ { 0x676C, 85639 },
+ { 0x680D, 85640 },
+ { 0x681E, 85643 },
+ { 0x6AD8, 85647 },
+ { 0x67D7, 85648 },
+ { 0x2149, 85649 },
+ { 0x68E2, 85651 },
+ { 0x5B19, 85652 },
+ { 0x5AF8, 85656 },
+ { 0x5B6F, 85661 },
+ { 0x5B30, 85665 },
+ { 0x5B04, 85670 },
+ { 0x5B2A, 85675 },
+ { 0x5B63, 85679 },
+ { 0x5B1A, 85685 },
+ { 0x5B67, 85689 },
+ { 0x5B66, 85694 },
+ { 0x5B86, 85699 },
+ { 0x5B88, 85704 },
+ { 0x5B84, 85709 },
+ { 0x5B8B, 85715 },
+ { 0x5B89, 85721 },
+ { 0x5B87, 85726 },
+ { 0x5B85, 85731 },
+ { 0x5B8A, 85736 },
+ { 0x5B1D, 85741 },
+ { 0x5AF7, 85747 },
+ { 0x5B81, 85752 },
+ { 0x5BB2, 85756 },
+ { 0x5BB3, 85761 },
+ { 0x5BB4, 85766 },
+ { 0x5B70, 85771 },
+ { 0x5B6A, 85775 },
+ { 0x5B18, 85780 },
+ { 0x5B32, 85784 },
+ { 0x5AEE, 85789 },
+ { 0x5AED, 85794 },
+ { 0x5AEA, 85799 },
+ { 0x5B0F, 85803 },
+ { 0x5B50, 85807 },
+ { 0x5B17, 85811 },
+ { 0x5B62, 85815 },
+ { 0x5AFE, 85820 },
+ { 0x5B03, 85824 },
+ { 0x5B54, 85828 },
+ { 0x5AEB, 85833 },
+ { 0x5BBA, 85837 },
+ { 0x5BBC, 85844 },
+ { 0x5BBD, 85851 },
+ { 0x5BBB, 85858 },
+ { 0x5BB8, 85865 },
+ { 0x5BB9, 85870 },
+ { 0x5B4A, 85875 },
+ { 0x5B5E, 85880 },
+ { 0x5BAF, 85885 },
+ { 0x5BB5, 85892 },
+ { 0x5BA6, 85899 },
+ { 0x5BB1, 85905 },
+ { 0x5BAD, 85910 },
+ { 0x5BAE, 85917 },
+ { 0x5BAF, 85924 },
+ { 0x5BB0, 85931 },
+ { 0x5BA8, 85938 },
+ { 0x5B1E, 85945 },
+ { 0x5BA3, 85950 },
+ { 0x5BA7, 85957 },
+ { 0x5BA9, 85963 },
+ { 0x5BAC, 85969 },
+ { 0x5BAB, 85976 },
+ { 0x5BA4, 85983 },
+ { 0x5BAA, 85989 },
+ { 0x5BA5, 85995 },
+ { 0x5BB6, 86001 },
+ { 0x5BC2, 86007 },
+ { 0x5BC3, 86012 },
+ { 0x5B79, 86017 },
+ { 0x5BDF, 86023 },
+ { 0x5B00, 86029 },
+ { 0x5B7B, 86034 },
+ { 0x5B7A, 86040 },
+ { 0x5B96, 86046 },
+ { 0x5B21, 86052 },
+ { 0x5B0E, 86057 },
+ { 0x5B69, 86061 },
+ { 0x5BDE, 86066 },
+ { 0x5B75, 86071 },
+ { 0x5B74, 86077 },
+ { 0x5B76, 86083 },
+ { 0x5B78, 86089 },
+ { 0x5B77, 86095 },
+ { 0x5B41, 86101 },
+ { 0x5B31, 86106 },
+ { 0x5AFF, 86111 },
+ { 0x5B45, 86116 },
+ { 0x5B0A, 86120 },
+ { 0x5B43, 86125 },
+ { 0x5B10, 86130 },
+ { 0x5B01, 86135 },
+ { 0x5B13, 86139 },
+ { 0x5B53, 86143 },
+ { 0x5BD2, 86148 },
+ { 0x5AF9, 86152 },
+ { 0x5B71, 86156 },
+ { 0x5B42, 86160 },
+ { 0x5AF0, 86165 },
+ { 0x5AEF, 86170 },
+ { 0x5BBE, 86175 },
+ { 0x5BC0, 86182 },
+ { 0x5BC1, 86189 },
+ { 0x5BBF, 86196 },
+ { 0x5BB7, 86203 },
+ { 0x5B3A, 86208 },
+ { 0x5BD6, 86212 },
+ { 0x5BD5, 86217 },
+ { 0x5BD7, 86222 },
+ { 0x5BD9, 86227 },
+ { 0x5BD3, 86232 },
+ { 0x5BD8, 86237 },
+ { 0x5BD4, 86242 },
+ { 0x5B40, 86247 },
+ { 0x5B83, 86251 },
+ { 0x5B3F, 86255 },
+ { 0x5BA0, 86259 },
+ { 0x5B29, 86266 },
+ { 0x5B39, 86270 },
+ { 0x5BDD, 86276 },
+ { 0x5BDB, 86282 },
+ { 0x5B05, 86288 },
+ { 0x5B73, 86293 },
+ { 0x5B6D, 86297 },
+ { 0x5B6C, 86302 },
+ { 0x5B6B, 86307 },
+ { 0x5B4B, 86312 },
+ { 0x5B47, 86316 },
+ { 0x5B2B, 86320 },
+ { 0x5B33, 86324 },
+ { 0x5B26, 86328 },
+ { 0x5B68, 86332 },
+ { 0x5B09, 86336 },
+ { 0x5B4F, 86341 },
+ { 0x5B15, 86346 },
+ { 0x5B14, 86352 },
+ { 0x5AFD, 86357 },
+ { 0x5B1B, 86361 },
+ { 0x5B11, 86365 },
+ { 0x5B0B, 86369 },
+ { 0x5B3D, 86374 },
+ { 0x5B6E, 86378 },
+ { 0x5B0C, 86383 },
+ { 0x5B0D, 86388 },
+ { 0x5B02, 86392 },
+ { 0x5B51, 86396 },
+ { 0x5B25, 86401 },
+ { 0x5BC4, 86406 },
+ { 0x5BC5, 86412 },
+ { 0x5BC6, 86418 },
+ { 0x5BC7, 86423 },
+ { 0x5B7C, 86428 },
+ { 0x5B7F, 86432 },
+ { 0x5B7E, 86438 },
+ { 0x5B7D, 86445 },
+ { 0x5BD0, 86452 },
+ { 0x5B52, 86457 },
+ { 0x5BA1, 86461 },
+ { 0x5AF1, 86465 },
+ { 0x5B24, 86469 },
+ { 0x5B2C, 86473 },
+ { 0x5B34, 86478 },
+ { 0x5AF6, 86482 },
+ { 0x5B8D, 86486 },
+ { 0x5B8F, 86493 },
+ { 0x5B9B, 86500 },
+ { 0x5B8C, 86506 },
+ { 0x5B90, 86512 },
+ { 0x5B94, 86518 },
+ { 0x5B95, 86524 },
+ { 0x5B9D, 86530 },
+ { 0x5B8E, 86537 },
+ { 0x5B92, 86543 },
+ { 0x5B93, 86549 },
+ { 0x5B91, 86556 },
+ { 0x5B9C, 86561 },
+ { 0x5B08, 86567 },
+ { 0x5B22, 86571 },
+ { 0x5B37, 86575 },
+ { 0x5B07, 86580 },
+ { 0x5BCC, 86584 },
+ { 0x5BCD, 86589 },
+ { 0x5BCE, 86595 },
+ { 0x5BCF, 86601 },
+ { 0x5BC8, 86607 },
+ { 0x5BC9, 86612 },
+ { 0x5BCA, 86618 },
+ { 0x5BCB, 86624 },
+ { 0x5B72, 86630 },
+ { 0x5B4D, 86634 },
+ { 0x5B2D, 86639 },
+ { 0x5B20, 86644 },
+ { 0x5BD1, 86649 },
+ { 0x5B65, 86654 },
+ { 0x5B9A, 86658 },
+ { 0x5B99, 86663 },
+ { 0x5B98, 86668 },
+ { 0x5B1F, 86673 },
+ { 0x5B64, 86677 },
+ { 0x5AFA, 86681 },
+ { 0x5B38, 86685 },
+ { 0x5BDC, 86691 },
+ { 0x5BDA, 86697 },
+ { 0x5B06, 86703 },
+ { 0x5B1C, 86708 },
+ { 0x5B5F, 86712 },
+ { 0x5B16, 86717 },
+ { 0x5B23, 86722 },
+ { 0x5B44, 86726 },
+ { 0x5AF2, 86731 },
+ { 0x5B80, 86735 },
+ { 0x5AF4, 86739 },
+ { 0x5AF5, 86743 },
+ { 0x5B46, 86748 },
+ { 0x5B97, 86752 },
+ { 0x5B3C, 86758 },
+ { 0x5AFB, 86764 },
+ { 0x5B3B, 86768 },
+ { 0x5AFC, 86773 },
+ { 0x5B4E, 86778 },
+ { 0x5B9E, 86782 },
+ { 0x5B9F, 86788 },
+ { 0x5B82, 86794 },
+ { 0x5BA2, 86798 },
+ { 0x5B49, 86802 },
+ { 0x5B27, 86807 },
+ { 0x5AF3, 86812 },
+ { 0x5B48, 86816 },
+ { 0x5B28, 86821 },
+ { 0x5AEC, 86826 },
+ { 0x5B60, 86830 },
+ { 0x5B61, 86835 },
+ { 0x5B12, 86840 },
+ { 0x5B2F, 86844 },
+ { 0x5B2E, 86848 },
+ { 0x5B5D, 86852 },
+ { 0x5B5C, 86856 },
+ { 0x5B57, 86860 },
+ { 0x5B5A, 86864 },
+ { 0x5B4C, 86868 },
+ { 0x5B36, 86872 },
+ { 0x5B3E, 86876 },
+ { 0x5B35, 86880 },
+ { 0x5B56, 86884 },
+ { 0x5B5B, 86888 },
+ { 0x5B55, 86892 },
+ { 0x5B58, 86896 },
+ { 0x5B59, 86900 },
+ { 0x28FE, 86904 },
+ { 0x2177, 86905 },
+ { 0x41C6, 86906 },
+ { 0x41E4, 86910 },
+ { 0x41C2, 86914 },
+ { 0x41DA, 86918 },
+ { 0x41C3, 86922 },
+ { 0x41D4, 86926 },
+ { 0x41CB, 86930 },
+ { 0x41DC, 86934 },
+ { 0x41C5, 86938 },
+ { 0x41C8, 86942 },
+ { 0x41E6, 86946 },
+ { 0x41C4, 86950 },
+ { 0x41CE, 86954 },
+ { 0x41F0, 86958 },
+ { 0x41D6, 86962 },
+ { 0x41F5, 86966 },
+ { 0x41D0, 86970 },
+ { 0x41DE, 86974 },
+ { 0x41E9, 86978 },
+ { 0x41DF, 86982 },
+ { 0x41D9, 86986 },
+ { 0x41EB, 86990 },
+ { 0x41CF, 86994 },
+ { 0x41CA, 86998 },
+ { 0x41CD, 87002 },
+ { 0x41F2, 87006 },
+ { 0x41E8, 87010 },
+ { 0x41DB, 87014 },
+ { 0x41F1, 87018 },
+ { 0x41DD, 87022 },
+ { 0x41D3, 87026 },
+ { 0x41E7, 87030 },
+ { 0x41D8, 87034 },
+ { 0x41D1, 87038 },
+ { 0x41E3, 87042 },
+ { 0x41D5, 87046 },
+ { 0x41D7, 87050 },
+ { 0x41E0, 87054 },
+ { 0x41F4, 87058 },
+ { 0x41EC, 87062 },
+ { 0x41E2, 87066 },
+ { 0x41EF, 87070 },
+ { 0x41EE, 87074 },
+ { 0x41E5, 87078 },
+ { 0x41ED, 87082 },
+ { 0x41D2, 87086 },
+ { 0x41F3, 87090 },
+ { 0x41CC, 87094 },
+ { 0x41C7, 87098 },
+ { 0x41C9, 87102 },
+ { 0x41E1, 87106 },
+ { 0x41EA, 87110 },
+ { 0x41F6, 87114 },
+ { 0x1BC4, 87118 },
+ { 0x67E7, 87120 },
+ { 0x6791, 87122 },
+ { 0x67AA, 87124 },
+ { 0x67FF, 87126 },
+ { 0x672C, 87127 },
+ { 0x69A6, 87130 },
+ { 0x6801, 87133 },
+ { 0x68F1, 87135 },
+ { 0x1D10, 87136 },
+ { 0x1D14, 87140 },
+ { 0x69FC, 87144 },
+ { 0x2467, 87150 },
+ { 0x2319, 87154 },
+ { 0x1D8B, 87158 },
+ { 0x1D8A, 87161 },
+ { 0x6929, 87163 },
+ { 0x6927, 87170 },
+ { 0x6928, 87177 },
+ { 0x2694, 87188 },
+ { 0x68CB, 87193 },
+ { 0x02FC, 87195 },
+ { 0x0312, 87198 },
+ { 0x1971, 87201 },
+ { 0x1996, 87204 },
+ { 0x02DC, 87208 },
+ { 0x1972, 87212 },
+ { 0x1973, 87215 },
+ { 0x02C6, 87218 },
+ { 0x0317, 87221 },
+ { 0x02E2, 87225 },
+ { 0x02F1, 87228 },
+ { 0x0309, 87231 },
+ { 0x409C, 87235 },
+ { 0x409D, 87240 },
+ { 0x40A0, 87245 },
+ { 0x409E, 87250 },
+ { 0x409F, 87255 },
+ { 0x16FB, 87260 },
+ { 0x02DD, 87263 },
+ { 0x1C48, 87267 },
+ { 0x02C8, 87271 },
+ { 0x02DA, 87274 },
+ { 0x0310, 87276 },
+ { 0x02DB, 87281 },
+ { 0x02D7, 87286 },
+ { 0x02D9, 87290 },
+ { 0x0308, 87294 },
+ { 0x1C42, 87298 },
+ { 0x1C5A, 87302 },
+ { 0x1C4D, 87306 },
+ { 0x030C, 87311 },
+ { 0x1C3C, 87316 },
+ { 0x1999, 87320 },
+ { 0x0313, 87324 },
+ { 0x1C57, 87328 },
+ { 0x02F5, 87333 },
+ { 0x02F7, 87337 },
+ { 0x1C3E, 87341 },
+ { 0x16FD, 87346 },
+ { 0x02DE, 87350 },
+ { 0x02C9, 87354 },
+ { 0x02E4, 87357 },
+ { 0x1C44, 87360 },
+ { 0x1C55, 87363 },
+ { 0x0300, 87367 },
+ { 0x02C0, 87371 },
+ { 0x02D6, 87374 },
+ { 0x02C5, 87378 },
+ { 0x02ED, 87380 },
+ { 0x02CB, 87383 },
+ { 0x02EB, 87385 },
+ { 0x02D2, 87388 },
+ { 0x02D4, 87391 },
+ { 0x02E5, 87395 },
+ { 0x02FF, 87398 },
+ { 0x02BF, 87402 },
+ { 0x02D5, 87405 },
+ { 0x0302, 87409 },
+ { 0x5D09, 87412 },
+ { 0x5D0B, 87416 },
+ { 0x5D0A, 87420 },
+ { 0x0303, 87424 },
+ { 0x0301, 87428 },
+ { 0x0304, 87431 },
+ { 0x0322, 87434 },
+ { 0x1993, 87439 },
+ { 0x1989, 87446 },
+ { 0x0327, 87451 },
+ { 0x1978, 87456 },
+ { 0x0328, 87462 },
+ { 0x0323, 87467 },
+ { 0x198C, 87472 },
+ { 0x197B, 87477 },
+ { 0x0329, 87482 },
+ { 0x0324, 87487 },
+ { 0x197D, 87492 },
+ { 0x197E, 87497 },
+ { 0x198D, 87502 },
+ { 0x032A, 87511 },
+ { 0x1981, 87516 },
+ { 0x0325, 87521 },
+ { 0x198E, 87526 },
+ { 0x1994, 87535 },
+ { 0x198F, 87542 },
+ { 0x032B, 87547 },
+ { 0x196B, 87552 },
+ { 0x1984, 87558 },
+ { 0x1985, 87564 },
+ { 0x032C, 87569 },
+ { 0x0326, 87574 },
+ { 0x1991, 87579 },
+ { 0x1995, 87588 },
+ { 0x032D, 87595 },
+ { 0x1992, 87600 },
+ { 0x032E, 87605 },
+ { 0x1987, 87610 },
+ { 0x1975, 87615 },
+ { 0x1976, 87620 },
+ { 0x1977, 87625 },
+ { 0x1990, 87630 },
+ { 0x197A, 87635 },
+ { 0x198A, 87640 },
+ { 0x1986, 87645 },
+ { 0x1988, 87651 },
+ { 0x198B, 87656 },
+ { 0x1979, 87661 },
+ { 0x1974, 87667 },
+ { 0x197C, 87675 },
+ { 0x197F, 87681 },
+ { 0x1980, 87687 },
+ { 0x1982, 87693 },
+ { 0x1983, 87699 },
+ { 0x16FF, 87705 },
+ { 0x02DF, 87710 },
+ { 0x0316, 87714 },
+ { 0x02F8, 87719 },
+ { 0x02D8, 87724 },
+ { 0x1C43, 87728 },
+ { 0x1C5B, 87732 },
+ { 0x1C3D, 87736 },
+ { 0x0315, 87740 },
+ { 0x199A, 87747 },
+ { 0x030F, 87754 },
+ { 0x0314, 87758 },
+ { 0x02F4, 87762 },
+ { 0x02F6, 87766 },
+ { 0x1C3F, 87770 },
+ { 0x1963, 87775 },
+ { 0x1C47, 87778 },
+ { 0x02C2, 87782 },
+ { 0x3C85, 87784 },
+ { 0x02EF, 87789 },
+ { 0x3C86, 87792 },
+ { 0x02F3, 87797 },
+ { 0x030B, 87800 },
+ { 0x1998, 87805 },
+ { 0x0305, 87810 },
+ { 0x02E9, 87813 },
+ { 0x1962, 87816 },
+ { 0x1961, 87820 },
+ { 0x02F2, 87824 },
+ { 0x16FE, 87828 },
+ { 0x0319, 87833 },
+ { 0x02CA, 87837 },
+ { 0x031C, 87841 },
+ { 0x031B, 87844 },
+ { 0x02CE, 87848 },
+ { 0x031F, 87852 },
+ { 0x3C7E, 87855 },
+ { 0x3C7F, 87860 },
+ { 0x031D, 87865 },
+ { 0x031E, 87868 },
+ { 0x0320, 87872 },
+ { 0x1997, 87876 },
+ { 0x02FE, 87881 },
+ { 0x02CD, 87884 },
+ { 0x0307, 87889 },
+ { 0x1C52, 87894 },
+ { 0x196E, 87899 },
+ { 0x0321, 87903 },
+ { 0x1702, 87908 },
+ { 0x0306, 87912 },
+ { 0x02C3, 87916 },
+ { 0x3C80, 87918 },
+ { 0x3C87, 87922 },
+ { 0x02F0, 87927 },
+ { 0x3C81, 87930 },
+ { 0x3C88, 87934 },
+ { 0x02E7, 87939 },
+ { 0x196F, 87941 },
+ { 0x02FA, 87944 },
+ { 0x1700, 87947 },
+ { 0x16FA, 87952 },
+ { 0x1C54, 87955 },
+ { 0x02D1, 87958 },
+ { 0x16FC, 87962 },
+ { 0x031A, 87966 },
+ { 0x1970, 87969 },
+ { 0x1C53, 87972 },
+ { 0x02E6, 87975 },
+ { 0x16F6, 87977 },
+ { 0x0311, 87981 },
+ { 0x4971, 87983 },
+ { 0x4976, 87987 },
+ { 0x4972, 87991 },
+ { 0x4975, 87995 },
+ { 0x4974, 87999 },
+ { 0x4970, 88003 },
+ { 0x4973, 88007 },
+ { 0x4977, 88011 },
+ { 0x4978, 88015 },
+ { 0x4979, 88019 },
+ { 0x497B, 88023 },
+ { 0x497A, 88027 },
+ { 0x1C51, 88031 },
+ { 0x02FB, 88035 },
+ { 0x030D, 88038 },
+ { 0x1C5C, 88042 },
+ { 0x0318, 88045 },
+ { 0x34C8, 88048 },
+ { 0x043B, 88053 },
+ { 0x043C, 88057 },
+ { 0x0439, 88061 },
+ { 0x3C8A, 88064 },
+ { 0x3C8B, 88069 },
+ { 0x34C7, 88074 },
+ { 0x34D4, 88077 },
+ { 0x28B5, 88080 },
+ { 0x34CD, 88084 },
+ { 0x28A9, 88088 },
+ { 0x34CF, 88092 },
+ { 0x289F, 88096 },
+ { 0x28A2, 88100 },
+ { 0x34F6, 88104 },
+ { 0x28A6, 88108 },
+ { 0x28A7, 88112 },
+ { 0x28A8, 88116 },
+ { 0x28AB, 88120 },
+ { 0x28AC, 88124 },
+ { 0x28AE, 88128 },
+ { 0x28B6, 88132 },
+ { 0x28A5, 88136 },
+ { 0x28AA, 88140 },
+ { 0x28AD, 88144 },
+ { 0x28A0, 88148 },
+ { 0x34CE, 88152 },
+ { 0x28BA, 88156 },
+ { 0x28A4, 88160 },
+ { 0x28BD, 88164 },
+ { 0x28B0, 88169 },
+ { 0x28A1, 88173 },
+ { 0x28B1, 88177 },
+ { 0x28AF, 88181 },
+ { 0x28B9, 88185 },
+ { 0x28A3, 88189 },
+ { 0x28B3, 88193 },
+ { 0x34D0, 88197 },
+ { 0x34D2, 88202 },
+ { 0x34D1, 88207 },
+ { 0x28B7, 88211 },
+ { 0x28B4, 88215 },
+ { 0x34D3, 88219 },
+ { 0x28B2, 88223 },
+ { 0x28BC, 88227 },
+ { 0x28BB, 88232 },
+ { 0x34F7, 88237 },
+ { 0x28BE, 88242 },
+ { 0x28B8, 88248 },
+ { 0x34CC, 88253 },
+ { 0x34C9, 88258 },
+ { 0x043E, 88263 },
+ { 0x34D5, 88268 },
+ { 0x043F, 88271 },
+ { 0x043D, 88275 },
+ { 0x34CA, 88278 },
+ { 0x043A, 88283 },
+ { 0x030E, 88286 },
+ { 0x16F8, 88289 },
+ { 0x02D0, 88291 },
+ { 0x02EE, 88294 },
+ { 0x02F9, 88298 },
+ { 0x02EA, 88302 },
+ { 0x3C7C, 88307 },
+ { 0x3C83, 88311 },
+ { 0x3C7D, 88316 },
+ { 0x3C84, 88320 },
+ { 0x02C4, 88325 },
+ { 0x02D3, 88327 },
+ { 0x02CC, 88331 },
+ { 0x02E8, 88335 },
+ { 0x02FD, 88339 },
+ { 0x1C45, 88342 },
+ { 0x1C41, 88346 },
+ { 0x02C7, 88350 },
+ { 0x02E3, 88352 },
+ { 0x16F9, 88355 },
+ { 0x1C49, 88358 },
+ { 0x1C4C, 88361 },
+ { 0x1C4F, 88365 },
+ { 0x1C4E, 88368 },
+ { 0x1C4A, 88371 },
+ { 0x1C50, 88374 },
+ { 0x1C4B, 88379 },
+ { 0x1C56, 88382 },
+ { 0x1C59, 88386 },
+ { 0x02E1, 88392 },
+ { 0x02C1, 88396 },
+ { 0x02EC, 88399 },
+ { 0x3C82, 88403 },
+ { 0x3C89, 88406 },
+ { 0x36DF, 88410 },
+ { 0x36CF, 88414 },
+ { 0x36D4, 88418 },
+ { 0x36D0, 88422 },
+ { 0x36D3, 88426 },
+ { 0x36D2, 88430 },
+ { 0x36D7, 88434 },
+ { 0x36CE, 88438 },
+ { 0x36D6, 88442 },
+ { 0x36D5, 88446 },
+ { 0x36D1, 88450 },
+ { 0x36D8, 88454 },
+ { 0x36D9, 88458 },
+ { 0x36DA, 88462 },
+ { 0x36DB, 88466 },
+ { 0x36DC, 88470 },
+ { 0x36DD, 88474 },
+ { 0x36DE, 88478 },
+ { 0x030A, 88482 },
+ { 0x1C58, 88485 },
+ { 0x1964, 88491 },
+ { 0x02CF, 88494 },
+ { 0x02E0, 88496 },
+ { 0x1701, 88500 },
+ { 0x1703, 88503 },
+ { 0x1704, 88506 },
+ { 0x1968, 88509 },
+ { 0x196C, 88511 },
+ { 0x1966, 88513 },
+ { 0x1965, 88515 },
+ { 0x196D, 88517 },
+ { 0x1967, 88519 },
+ { 0x1C46, 88521 },
+ { 0x1C40, 88525 },
+ { 0x16F7, 88529 },
+ { 0x196A, 88531 },
+ { 0x1969, 88533 },
+ { 0x2AED, 88535 },
+ { 0x2AEE, 88540 },
+ { 0x2593, 88545 },
+ { 0x0068, 88549 },
+ { 0x6830, 88551 },
+ { 0x4B81, 88552 },
+ { 0x4B82, 88555 },
+ { 0x4B85, 88560 },
+ { 0x4B83, 88565 },
+ { 0x4B86, 88570 },
+ { 0x4B89, 88575 },
+ { 0x4B84, 88580 },
+ { 0x4B88, 88586 },
+ { 0x4B87, 88591 },
+ { 0x4C0B, 88597 },
+ { 0x4C0D, 88600 },
+ { 0x4C0C, 88608 },
+ { 0x4CC0, 88613 },
+ { 0x4CC1, 88616 },
+ { 0x4E8C, 88620 },
+ { 0x4F1A, 88623 },
+ { 0x4E8E, 88627 },
+ { 0x4E8D, 88632 },
+ { 0x4E91, 88636 },
+ { 0x4E8F, 88646 },
+ { 0x4E90, 88657 },
+ { 0x4B8A, 88665 },
+ { 0x4B8B, 88668 },
+ { 0x4B96, 88671 },
+ { 0x4B95, 88675 },
+ { 0x4B90, 88684 },
+ { 0x4B8E, 88689 },
+ { 0x4B91, 88694 },
+ { 0x4EF1, 88700 },
+ { 0x4F8F, 88705 },
+ { 0x4B8C, 88711 },
+ { 0x4B8D, 88716 },
+ { 0x4B8F, 88722 },
+ { 0x4B92, 88728 },
+ { 0x4F90, 88733 },
+ { 0x4B93, 88738 },
+ { 0x4B94, 88743 },
+ { 0x4B9D, 88748 },
+ { 0x4F91, 88751 },
+ { 0x4B9E, 88756 },
+ { 0x4B9F, 88759 },
+ { 0x4BA0, 88764 },
+ { 0x4BA1, 88771 },
+ { 0x4BA2, 88774 },
+ { 0x4BA5, 88779 },
+ { 0x4BA7, 88784 },
+ { 0x4BA8, 88789 },
+ { 0x4BA9, 88794 },
+ { 0x4BA3, 88799 },
+ { 0x4BA4, 88804 },
+ { 0x4BA6, 88809 },
+ { 0x4BAE, 88814 },
+ { 0x4BAF, 88817 },
+ { 0x4BB2, 88822 },
+ { 0x4BB1, 88828 },
+ { 0x4BB0, 88837 },
+ { 0x4BC1, 88842 },
+ { 0x4BCA, 88845 },
+ { 0x4BCB, 88848 },
+ { 0x4BCC, 88853 },
+ { 0x4BCD, 88858 },
+ { 0x4BCE, 88864 },
+ { 0x4BCF, 88867 },
+ { 0x4BD0, 88873 },
+ { 0x4F96, 88879 },
+ { 0x4BD1, 88886 },
+ { 0x4BD6, 88891 },
+ { 0x4F97, 88894 },
+ { 0x4BF3, 88899 },
+ { 0x4BFB, 88902 },
+ { 0x4BFD, 88905 },
+ { 0x4BFC, 88909 },
+ { 0x4BFE, 88914 },
+ { 0x4C0E, 88918 },
+ { 0x4C0F, 88921 },
+ { 0x4C14, 88930 },
+ { 0x4C11, 88935 },
+ { 0x4C10, 88940 },
+ { 0x4FB8, 88945 },
+ { 0x4FB9, 88950 },
+ { 0x4C12, 88955 },
+ { 0x4C13, 88960 },
+ { 0x4C17, 88965 },
+ { 0x4C18, 88968 },
+ { 0x4C1B, 88971 },
+ { 0x4C19, 88976 },
+ { 0x4C1A, 88981 },
+ { 0x4C1E, 88987 },
+ { 0x4C1C, 88991 },
+ { 0x4C1D, 88996 },
+ { 0x4C36, 89001 },
+ { 0x4C37, 89004 },
+ { 0x4C81, 89008 },
+ { 0x4C82, 89011 },
+ { 0x4C83, 89016 },
+ { 0x4C84, 89021 },
+ { 0x4C97, 89026 },
+ { 0x4C98, 89029 },
+ { 0x4CAA, 89034 },
+ { 0x4CAC, 89037 },
+ { 0x4CAB, 89041 },
+ { 0x4FDD, 89045 },
+ { 0x4CAE, 89050 },
+ { 0x4CB7, 89053 },
+ { 0x4CAF, 89058 },
+ { 0x4FDE, 89063 },
+ { 0x4CB1, 89072 },
+ { 0x4CB3, 89077 },
+ { 0x4CB4, 89082 },
+ { 0x4CB5, 89087 },
+ { 0x4CB6, 89092 },
+ { 0x4CB0, 89097 },
+ { 0x4CB2, 89102 },
+ { 0x4CB8, 89107 },
+ { 0x4CC2, 89110 },
+ { 0x4CC6, 89113 },
+ { 0x4CCC, 89116 },
+ { 0x4CCD, 89119 },
+ { 0x4CCF, 89125 },
+ { 0x4CD0, 89128 },
+ { 0x4CD3, 89133 },
+ { 0x4CD1, 89137 },
+ { 0x4CD2, 89142 },
+ { 0x4CD5, 89147 },
+ { 0x4CD6, 89150 },
+ { 0x4CD8, 89153 },
+ { 0x4CD9, 89156 },
+ { 0x4D08, 89161 },
+ { 0x4FE1, 89166 },
+ { 0x4CDA, 89173 },
+ { 0x4CDB, 89178 },
+ { 0x4CE0, 89185 },
+ { 0x4FDF, 89190 },
+ { 0x4CE3, 89195 },
+ { 0x4CE8, 89200 },
+ { 0x4CEC, 89205 },
+ { 0x4F03, 89210 },
+ { 0x4CEF, 89217 },
+ { 0x4FE0, 89222 },
+ { 0x4CF1, 89227 },
+ { 0x4CF3, 89232 },
+ { 0x4CF4, 89237 },
+ { 0x4CF5, 89242 },
+ { 0x4CF6, 89247 },
+ { 0x4CF7, 89254 },
+ { 0x4CF8, 89261 },
+ { 0x4CF9, 89268 },
+ { 0x4CFA, 89273 },
+ { 0x4CFB, 89280 },
+ { 0x4F05, 89285 },
+ { 0x4CFD, 89290 },
+ { 0x4CFE, 89295 },
+ { 0x4CFF, 89300 },
+ { 0x4F07, 89305 },
+ { 0x4D09, 89310 },
+ { 0x4D0A, 89315 },
+ { 0x4FE2, 89320 },
+ { 0x4D0D, 89325 },
+ { 0x4CDD, 89330 },
+ { 0x4CDF, 89335 },
+ { 0x4CE4, 89340 },
+ { 0x4CE6, 89345 },
+ { 0x4CE7, 89350 },
+ { 0x4F02, 89359 },
+ { 0x4CEE, 89364 },
+ { 0x4CF0, 89369 },
+ { 0x4CF2, 89374 },
+ { 0x4F04, 89379 },
+ { 0x4CFC, 89384 },
+ { 0x4D00, 89389 },
+ { 0x4D01, 89394 },
+ { 0x4D02, 89399 },
+ { 0x4D04, 89404 },
+ { 0x4D05, 89409 },
+ { 0x4D07, 89414 },
+ { 0x4F08, 89419 },
+ { 0x4D0C, 89424 },
+ { 0x4CDC, 89429 },
+ { 0x4F00, 89434 },
+ { 0x4CE2, 89439 },
+ { 0x4CE5, 89444 },
+ { 0x4CE9, 89450 },
+ { 0x4F01, 89455 },
+ { 0x4CEA, 89460 },
+ { 0x4CEB, 89467 },
+ { 0x4CED, 89474 },
+ { 0x4D03, 89479 },
+ { 0x4F06, 89484 },
+ { 0x4D0B, 89489 },
+ { 0x4EFF, 89496 },
+ { 0x4CDE, 89501 },
+ { 0x4CE1, 89506 },
+ { 0x4D06, 89511 },
+ { 0x4D21, 89516 },
+ { 0x4D23, 89519 },
+ { 0x4D24, 89524 },
+ { 0x4D22, 89529 },
+ { 0x4D2B, 89534 },
+ { 0x4D2C, 89537 },
+ { 0x4D38, 89549 },
+ { 0x4D78, 89552 },
+ { 0x4D7C, 89555 },
+ { 0x4D7D, 89558 },
+ { 0x4DA1, 89563 },
+ { 0x4DA3, 89566 },
+ { 0x4DA2, 89570 },
+ { 0x4DA9, 89575 },
+ { 0x4DAB, 89578 },
+ { 0x502E, 89581 },
+ { 0x4DAD, 89586 },
+ { 0x4DAE, 89589 },
+ { 0x4DBF, 89594 },
+ { 0x4DC9, 89597 },
+ { 0x4DCA, 89600 },
+ { 0x4DCB, 89605 },
+ { 0x4DCC, 89610 },
+ { 0x4DCD, 89614 },
+ { 0x4DCE, 89617 },
+ { 0x4DE2, 89622 },
+ { 0x4DFB, 89625 },
+ { 0x4E00, 89628 },
+ { 0x4E01, 89631 },
+ { 0x4E05, 89636 },
+ { 0x4E06, 89641 },
+ { 0x4E08, 89646 },
+ { 0x4E02, 89651 },
+ { 0x4E03, 89656 },
+ { 0x4E04, 89661 },
+ { 0x4E07, 89666 },
+ { 0x4E09, 89671 },
+ { 0x4E0A, 89676 },
+ { 0x4E10, 89681 },
+ { 0x4E12, 89684 },
+ { 0x4E13, 89687 },
+ { 0x4E14, 89690 },
+ { 0x4E5C, 89693 },
+ { 0x4E5D, 89696 },
+ { 0x5047, 89700 },
+ { 0x4E63, 89705 },
+ { 0x4E64, 89708 },
+ { 0x4E6C, 89713 },
+ { 0x4E70, 89716 },
+ { 0x4E6E, 89720 },
+ { 0x4E6F, 89725 },
+ { 0x4E6D, 89730 },
+ { 0x4E7D, 89734 },
+ { 0x4E7E, 89737 },
+ { 0x4E7F, 89741 },
+ { 0x4E80, 89744 },
+ { 0x4E86, 89748 },
+ { 0x4E92, 89751 },
+ { 0x4E93, 89754 },
+ { 0x4E94, 89757 },
+ { 0x4E9A, 89760 },
+ { 0x4E98, 89764 },
+ { 0x4E99, 89773 },
+ { 0x4E97, 89783 },
+ { 0x4E96, 89788 },
+ { 0x4E95, 89793 },
+ { 0x4E9B, 89797 },
+ { 0x4E9C, 89801 },
+ { 0x4E9E, 89807 },
+ { 0x4EA2, 89810 },
+ { 0x4F19, 89815 },
+ { 0x4EA0, 89820 },
+ { 0x4EA1, 89827 },
+ { 0x4E9F, 89832 },
+ { 0x4EA7, 89837 },
+ { 0x4EA8, 89840 },
+ { 0x4EA9, 89844 },
+ { 0x4EAB, 89847 },
+ { 0x4EAA, 89851 },
+ { 0x4EDE, 89856 },
+ { 0x4EDF, 89859 },
+ { 0x4EE0, 89863 },
+ { 0x4EE4, 89869 },
+ { 0x4EE5, 89872 },
+ { 0x4EEB, 89877 },
+ { 0x5051, 89880 },
+ { 0x4B97, 89887 },
+ { 0x4EF2, 89890 },
+ { 0x4B9A, 89895 },
+ { 0x4B99, 89902 },
+ { 0x4B9B, 89908 },
+ { 0x4B9C, 89913 },
+ { 0x4B98, 89918 },
+ { 0x4BB9, 89923 },
+ { 0x4BBB, 89926 },
+ { 0x4BBD, 89931 },
+ { 0x4BBE, 89938 },
+ { 0x4BBC, 89951 },
+ { 0x4BBA, 89963 },
+ { 0x4BC2, 89968 },
+ { 0x4F92, 89971 },
+ { 0x4BC5, 89977 },
+ { 0x4BC6, 89980 },
+ { 0x4BC8, 89985 },
+ { 0x4BD4, 89988 },
+ { 0x4BD7, 89991 },
+ { 0x4F98, 89994 },
+ { 0x4BD8, 89999 },
+ { 0x4BDB, 90007 },
+ { 0x4BDC, 90013 },
+ { 0x4BDD, 90019 },
+ { 0x4BDE, 90027 },
+ { 0x4BE1, 90033 },
+ { 0x4BE2, 90039 },
+ { 0x4BE3, 90045 },
+ { 0x4BE5, 90053 },
+ { 0x4BE6, 90059 },
+ { 0x4BE7, 90065 },
+ { 0x4BE9, 90073 },
+ { 0x4BEB, 90079 },
+ { 0x4BED, 90085 },
+ { 0x4EF4, 90093 },
+ { 0x4BE0, 90101 },
+ { 0x4BE4, 90107 },
+ { 0x4BE8, 90113 },
+ { 0x4BEA, 90119 },
+ { 0x4BEE, 90127 },
+ { 0x4BD9, 90133 },
+ { 0x4BDF, 90139 },
+ { 0x4BEC, 90145 },
+ { 0x4BDA, 90151 },
+ { 0x4BEF, 90157 },
+ { 0x4BF0, 90160 },
+ { 0x4BF4, 90163 },
+ { 0x4BF5, 90166 },
+ { 0x4F9A, 90169 },
+ { 0x4F99, 90176 },
+ { 0x4BF6, 90181 },
+ { 0x4BF8, 90186 },
+ { 0x4BF9, 90189 },
+ { 0x4BFF, 90196 },
+ { 0x4EF7, 90199 },
+ { 0x4C00, 90204 },
+ { 0x4C02, 90209 },
+ { 0x4FA2, 90212 },
+ { 0x4FA3, 90217 },
+ { 0x4FA6, 90222 },
+ { 0x4FA7, 90227 },
+ { 0x4FB3, 90232 },
+ { 0x4FB4, 90237 },
+ { 0x4FB5, 90242 },
+ { 0x4FB7, 90247 },
+ { 0x4F9D, 90253 },
+ { 0x4F9E, 90258 },
+ { 0x4F9F, 90265 },
+ { 0x4FA0, 90270 },
+ { 0x4FA8, 90275 },
+ { 0x4FAA, 90281 },
+ { 0x4FAE, 90286 },
+ { 0x4FAF, 90291 },
+ { 0x4FB0, 90298 },
+ { 0x4FB2, 90305 },
+ { 0x4FB6, 90310 },
+ { 0x4FA4, 90315 },
+ { 0x4FA5, 90321 },
+ { 0x4FB1, 90326 },
+ { 0x4F9C, 90331 },
+ { 0x4FA1, 90336 },
+ { 0x4FA9, 90341 },
+ { 0x4FAB, 90346 },
+ { 0x4FAC, 90351 },
+ { 0x4FAD, 90358 },
+ { 0x4C04, 90363 },
+ { 0x4C05, 90366 },
+ { 0x4C38, 90369 },
+ { 0x4C6E, 90372 },
+ { 0x4C39, 90377 },
+ { 0x4C3A, 90386 },
+ { 0x4C3B, 90393 },
+ { 0x4C6B, 90400 },
+ { 0x4C3D, 90405 },
+ { 0x4EFA, 90410 },
+ { 0x4C44, 90419 },
+ { 0x4C45, 90424 },
+ { 0x4C48, 90429 },
+ { 0x4C49, 90434 },
+ { 0x4C4A, 90441 },
+ { 0x4C4B, 90446 },
+ { 0x4FCA, 90454 },
+ { 0x4C4E, 90459 },
+ { 0x4FCD, 90464 },
+ { 0x4C52, 90471 },
+ { 0x4C55, 90480 },
+ { 0x4C5E, 90487 },
+ { 0x4C5F, 90492 },
+ { 0x4C60, 90499 },
+ { 0x4FD3, 90504 },
+ { 0x4FD4, 90509 },
+ { 0x4FD5, 90516 },
+ { 0x4C63, 90523 },
+ { 0x4C6C, 90528 },
+ { 0x4C6D, 90533 },
+ { 0x4C3C, 90540 },
+ { 0x4C3E, 90548 },
+ { 0x4C40, 90553 },
+ { 0x4C41, 90558 },
+ { 0x4C42, 90565 },
+ { 0x4C43, 90570 },
+ { 0x4FC6, 90577 },
+ { 0x4C46, 90583 },
+ { 0x4C47, 90590 },
+ { 0x4FC7, 90595 },
+ { 0x4FC8, 90603 },
+ { 0x4C4D, 90610 },
+ { 0x4FCB, 90615 },
+ { 0x4FCC, 90622 },
+ { 0x4C4F, 90629 },
+ { 0x4C50, 90634 },
+ { 0x4C53, 90641 },
+ { 0x4C54, 90646 },
+ { 0x4C57, 90653 },
+ { 0x4C58, 90659 },
+ { 0x4C59, 90668 },
+ { 0x4C5B, 90673 },
+ { 0x4C5C, 90678 },
+ { 0x4C5D, 90685 },
+ { 0x4FCF, 90692 },
+ { 0x4FD0, 90697 },
+ { 0x4FD1, 90704 },
+ { 0x4C61, 90709 },
+ { 0x4C62, 90714 },
+ { 0x4C64, 90721 },
+ { 0x4C65, 90726 },
+ { 0x4C66, 90731 },
+ { 0x4C67, 90736 },
+ { 0x4C69, 90743 },
+ { 0x4EFB, 90748 },
+ { 0x4C3F, 90753 },
+ { 0x4FC9, 90760 },
+ { 0x4C4C, 90765 },
+ { 0x4C51, 90771 },
+ { 0x4C56, 90778 },
+ { 0x4FD2, 90783 },
+ { 0x4C68, 90788 },
+ { 0x4FD6, 90793 },
+ { 0x4C6A, 90798 },
+ { 0x4FD7, 90803 },
+ { 0x4FC5, 90808 },
+ { 0x4C5A, 90813 },
+ { 0x4FCE, 90818 },
+ { 0x4C71, 90825 },
+ { 0x4C72, 90828 },
+ { 0x4C73, 90836 },
+ { 0x4C74, 90839 },
+ { 0x4C76, 90848 },
+ { 0x4C77, 90851 },
+ { 0x4C7C, 90854 },
+ { 0x4C85, 90857 },
+ { 0x4C86, 90860 },
+ { 0x4C87, 90865 },
+ { 0x4EFD, 90870 },
+ { 0x4C99, 90873 },
+ { 0x4C9E, 90876 },
+ { 0x4FDB, 90880 },
+ { 0x4C9A, 90886 },
+ { 0x4C9B, 90891 },
+ { 0x4C9C, 90899 },
+ { 0x4C9D, 90904 },
+ { 0x4C9F, 90911 },
+ { 0x4CA2, 90914 },
+ { 0x4FDC, 90920 },
+ { 0x4CA0, 90927 },
+ { 0x4CA1, 90934 },
+ { 0x4CA3, 90939 },
+ { 0x4CA4, 90942 },
+ { 0x4CA5, 90945 },
+ { 0x4CA6, 90950 },
+ { 0x4CAD, 90953 },
+ { 0x4CC7, 90956 },
+ { 0x4CC9, 90959 },
+ { 0x4CC8, 90963 },
+ { 0x4CCB, 90967 },
+ { 0x4CCA, 90971 },
+ { 0x4CCE, 90982 },
+ { 0x4CD7, 90985 },
+ { 0x4D0E, 90988 },
+ { 0x4D0F, 90991 },
+ { 0x4D10, 90996 },
+ { 0x4D16, 90999 },
+ { 0x4D17, 91002 },
+ { 0x4D18, 91008 },
+ { 0x4D19, 91011 },
+ { 0x4D1A, 91016 },
+ { 0x4EF0, 91021 },
+ { 0x4D25, 91025 },
+ { 0x4D26, 91028 },
+ { 0x4D2D, 91031 },
+ { 0x4D2E, 91034 },
+ { 0x4D2F, 91037 },
+ { 0x4D30, 91042 },
+ { 0x4D31, 91045 },
+ { 0x4D32, 91048 },
+ { 0x4D33, 91052 },
+ { 0x4D34, 91055 },
+ { 0x4D35, 91058 },
+ { 0x4D73, 91063 },
+ { 0x4D74, 91066 },
+ { 0x4D75, 91071 },
+ { 0x4D76, 91074 },
+ { 0x4D77, 91079 },
+ { 0x4D79, 91086 },
+ { 0x4D7E, 91089 },
+ { 0x5028, 91092 },
+ { 0x4D92, 91098 },
+ { 0x4D7F, 91102 },
+ { 0x4D84, 91107 },
+ { 0x4D85, 91114 },
+ { 0x4D89, 91119 },
+ { 0x4D8A, 91124 },
+ { 0x4D8C, 91131 },
+ { 0x4D8D, 91138 },
+ { 0x4D8E, 91143 },
+ { 0x4D8F, 91148 },
+ { 0x4D80, 91155 },
+ { 0x502A, 91160 },
+ { 0x502B, 91165 },
+ { 0x502C, 91170 },
+ { 0x4F0C, 91179 },
+ { 0x5029, 91184 },
+ { 0x4D81, 91189 },
+ { 0x4F0B, 91194 },
+ { 0x4D82, 91201 },
+ { 0x4D83, 91207 },
+ { 0x4D86, 91213 },
+ { 0x4D87, 91218 },
+ { 0x4D88, 91223 },
+ { 0x4D90, 91230 },
+ { 0x502D, 91237 },
+ { 0x4D91, 91242 },
+ { 0x4D8B, 91247 },
+ { 0x4D96, 91252 },
+ { 0x4F0A, 91256 },
+ { 0x4D95, 91262 },
+ { 0x4D93, 91266 },
+ { 0x4D94, 91271 },
+ { 0x4D97, 91276 },
+ { 0x4D9C, 91279 },
+ { 0x4D9D, 91282 },
+ { 0x4D9E, 91285 },
+ { 0x4D9F, 91288 },
+ { 0x4DA0, 91293 },
+ { 0x4DA4, 91301 },
+ { 0x4DA5, 91304 },
+ { 0x4DA6, 91307 },
+ { 0x4DAA, 91310 },
+ { 0x4DAC, 91313 },
+ { 0x4DAF, 91316 },
+ { 0x4DB0, 91319 },
+ { 0x4DC0, 91323 },
+ { 0x4F0F, 91326 },
+ { 0x4DC7, 91329 },
+ { 0x4DC6, 91332 },
+ { 0x4DCF, 91336 },
+ { 0x4DD0, 91339 },
+ { 0x4DD2, 91342 },
+ { 0x4DD1, 91350 },
+ { 0x4F10, 91356 },
+ { 0x4DE4, 91359 },
+ { 0x4DEB, 91362 },
+ { 0x4DEA, 91367 },
+ { 0x4DE5, 91371 },
+ { 0x4DE7, 91377 },
+ { 0x4DE8, 91383 },
+ { 0x4DE9, 91394 },
+ { 0x4DE6, 91400 },
+ { 0x4DEC, 91406 },
+ { 0x4DED, 91411 },
+ { 0x4DFC, 91419 },
+ { 0x4DFD, 91422 },
+ { 0x4DFE, 91425 },
+ { 0x4E11, 91428 },
+ { 0x4E16, 91431 },
+ { 0x4E29, 91434 },
+ { 0x503C, 91438 },
+ { 0x4E28, 91444 },
+ { 0x4E17, 91449 },
+ { 0x4E18, 91454 },
+ { 0x503D, 91459 },
+ { 0x4E1A, 91464 },
+ { 0x4E1E, 91469 },
+ { 0x4E23, 91474 },
+ { 0x4E24, 91479 },
+ { 0x4E25, 91484 },
+ { 0x4E26, 91489 },
+ { 0x4E19, 91494 },
+ { 0x4F17, 91499 },
+ { 0x4E1B, 91505 },
+ { 0x4E1C, 91510 },
+ { 0x4E1D, 91515 },
+ { 0x4E1F, 91520 },
+ { 0x4E20, 91525 },
+ { 0x503E, 91530 },
+ { 0x4E22, 91537 },
+ { 0x4E27, 91542 },
+ { 0x4E21, 91547 },
+ { 0x503F, 91552 },
+ { 0x4E15, 91557 },
+ { 0x4E2A, 91561 },
+ { 0x4E2B, 91564 },
+ { 0x4E2D, 91570 },
+ { 0x4E2E, 91573 },
+ { 0x4E3B, 91576 },
+ { 0x4E3C, 91579 },
+ { 0x5041, 91583 },
+ { 0x4E3D, 91588 },
+ { 0x4E3E, 91599 },
+ { 0x5044, 91610 },
+ { 0x5042, 91615 },
+ { 0x5043, 91620 },
+ { 0x4E58, 91625 },
+ { 0x4E59, 91628 },
+ { 0x4E5E, 91634 },
+ { 0x4E65, 91637 },
+ { 0x4E68, 91640 },
+ { 0x4E6A, 91643 },
+ { 0x4E71, 91646 },
+ { 0x4E72, 91649 },
+ { 0x4E73, 91660 },
+ { 0x4E74, 91664 },
+ { 0x4E75, 91667 },
+ { 0x4E7A, 91672 },
+ { 0x4E76, 91677 },
+ { 0x4E77, 91682 },
+ { 0x4E78, 91687 },
+ { 0x4E79, 91692 },
+ { 0x4E7C, 91697 },
+ { 0x4F18, 91700 },
+ { 0x4E81, 91703 },
+ { 0x4E82, 91706 },
+ { 0x4E84, 91709 },
+ { 0x4E85, 91714 },
+ { 0x4E83, 91725 },
+ { 0x4E88, 91730 },
+ { 0x4E89, 91733 },
+ { 0x5049, 91736 },
+ { 0x504A, 91742 },
+ { 0x4E8A, 91748 },
+ { 0x4E8B, 91751 },
+ { 0x4EAC, 91759 },
+ { 0x4EAD, 91762 },
+ { 0x4EAE, 91769 },
+ { 0x4EAF, 91776 },
+ { 0x4EB0, 91781 },
+ { 0x4EB2, 91786 },
+ { 0x4EB4, 91791 },
+ { 0x4EB3, 91798 },
+ { 0x504C, 91805 },
+ { 0x4EB1, 91810 },
+ { 0x504B, 91815 },
+ { 0x4EB5, 91819 },
+ { 0x4EB6, 91822 },
+ { 0x4EB8, 91825 },
+ { 0x4EB9, 91828 },
+ { 0x4ECD, 91833 },
+ { 0x4EBD, 91840 },
+ { 0x4EC1, 91845 },
+ { 0x4EC2, 91850 },
+ { 0x4EC4, 91855 },
+ { 0x4EC6, 91860 },
+ { 0x4EC9, 91865 },
+ { 0x4ECC, 91870 },
+ { 0x4ECE, 91875 },
+ { 0x4EBB, 91880 },
+ { 0x4EBC, 91885 },
+ { 0x4EBE, 91890 },
+ { 0x4EC0, 91895 },
+ { 0x4EC3, 91900 },
+ { 0x4EC5, 91905 },
+ { 0x504F, 91910 },
+ { 0x4EC7, 91915 },
+ { 0x4EC8, 91920 },
+ { 0x4ECA, 91925 },
+ { 0x4EBF, 91930 },
+ { 0x4ECB, 91936 },
+ { 0x504D, 91941 },
+ { 0x4ECF, 91946 },
+ { 0x4EBA, 91951 },
+ { 0x504E, 91956 },
+ { 0x4ED2, 91961 },
+ { 0x4ED3, 91964 },
+ { 0x4ED4, 91969 },
+ { 0x4ED5, 91974 },
+ { 0x4ED6, 91979 },
+ { 0x4EDB, 91984 },
+ { 0x4EDC, 91987 },
+ { 0x4EDD, 91992 },
+ { 0x5050, 91995 },
+ { 0x4EE1, 91998 },
+ { 0x4EE3, 92001 },
+ { 0x4EE6, 92004 },
+ { 0x4EE7, 92007 },
+ { 0x4EE8, 92010 },
+ { 0x4EE9, 92015 },
+ { 0x4EEC, 92018 },
+ { 0x4EED, 92021 },
+ { 0x5052, 92026 },
+ { 0x4EEF, 92033 },
+ { 0x4BAA, 92036 },
+ { 0x4BAC, 92039 },
+ { 0x4EF3, 92042 },
+ { 0x4BAD, 92047 },
+ { 0x4BB4, 92052 },
+ { 0x4BB5, 92055 },
+ { 0x4BB6, 92058 },
+ { 0x4BBF, 92063 },
+ { 0x4BC3, 92066 },
+ { 0x4BD5, 92069 },
+ { 0x4EF5, 92072 },
+ { 0x4BF7, 92075 },
+ { 0x4F9B, 92078 },
+ { 0x4BFA, 92083 },
+ { 0x4EF6, 92086 },
+ { 0x4C01, 92091 },
+ { 0x4C06, 92094 },
+ { 0x4C07, 92097 },
+ { 0x4C08, 92101 },
+ { 0x4C09, 92106 },
+ { 0x4C0A, 92109 },
+ { 0x4C15, 92112 },
+ { 0x4C16, 92115 },
+ { 0x4C1F, 92118 },
+ { 0x4C21, 92121 },
+ { 0x4FBB, 92124 },
+ { 0x4C22, 92129 },
+ { 0x4C23, 92132 },
+ { 0x4C24, 92137 },
+ { 0x4C25, 92144 },
+ { 0x4C26, 92153 },
+ { 0x4C2A, 92158 },
+ { 0x4C2B, 92163 },
+ { 0x4C30, 92169 },
+ { 0x4C32, 92174 },
+ { 0x4C33, 92179 },
+ { 0x4FC4, 92184 },
+ { 0x4C34, 92189 },
+ { 0x4C35, 92194 },
+ { 0x4C27, 92199 },
+ { 0x4EF8, 92204 },
+ { 0x4C2C, 92209 },
+ { 0x4C2F, 92215 },
+ { 0x4C31, 92220 },
+ { 0x4EF9, 92227 },
+ { 0x4C28, 92232 },
+ { 0x4C29, 92238 },
+ { 0x4C2D, 92245 },
+ { 0x4C2E, 92250 },
+ { 0x4FBD, 92256 },
+ { 0x4FBF, 92262 },
+ { 0x4FC1, 92268 },
+ { 0x4FC3, 92274 },
+ { 0x4FBC, 92280 },
+ { 0x4FBE, 92286 },
+ { 0x4FC0, 92293 },
+ { 0x4FC2, 92299 },
+ { 0x4C6F, 92305 },
+ { 0x4FD8, 92308 },
+ { 0x4C70, 92314 },
+ { 0x4C78, 92319 },
+ { 0x4C7A, 92322 },
+ { 0x4C79, 92327 },
+ { 0x4C7B, 92331 },
+ { 0x4C7D, 92336 },
+ { 0x4EFC, 92339 },
+ { 0x4C89, 92342 },
+ { 0x4C8A, 92345 },
+ { 0x4C8B, 92349 },
+ { 0x4C8C, 92352 },
+ { 0x4C8F, 92359 },
+ { 0x4C90, 92366 },
+ { 0x4C8E, 92371 },
+ { 0x4C8D, 92376 },
+ { 0x4C92, 92382 },
+ { 0x4C96, 92385 },
+ { 0x4C94, 92389 },
+ { 0x4FDA, 92394 },
+ { 0x4C95, 92401 },
+ { 0x4C93, 92406 },
+ { 0x4CA7, 92411 },
+ { 0x4CB9, 92414 },
+ { 0x4CBA, 92417 },
+ { 0x4CBE, 92422 },
+ { 0x4CBB, 92427 },
+ { 0x4CBD, 92432 },
+ { 0x4CBC, 92437 },
+ { 0x4CBF, 92442 },
+ { 0x4EFE, 92445 },
+ { 0x4CC3, 92448 },
+ { 0x4CC4, 92451 },
+ { 0x4CC5, 92457 },
+ { 0x4CD4, 92463 },
+ { 0x4D11, 92466 },
+ { 0x4D12, 92469 },
+ { 0x4D13, 92472 },
+ { 0x4D14, 92475 },
+ { 0x4D15, 92478 },
+ { 0x4D1B, 92483 },
+ { 0x4D1C, 92486 },
+ { 0x4D28, 92489 },
+ { 0x4D7B, 92492 },
+ { 0x4DA7, 92495 },
+ { 0x4F0D, 92498 },
+ { 0x4DB3, 92501 },
+ { 0x4DB7, 92504 },
+ { 0x4DB8, 92509 },
+ { 0x502F, 92518 },
+ { 0x5030, 92525 },
+ { 0x4DB4, 92532 },
+ { 0x4DB6, 92537 },
+ { 0x4DB5, 92542 },
+ { 0x4DB9, 92547 },
+ { 0x4DC1, 92552 },
+ { 0x4DC3, 92555 },
+ { 0x4DC2, 92561 },
+ { 0x4DC4, 92565 },
+ { 0x4DC8, 92570 },
+ { 0x4F11, 92573 },
+ { 0x4DE3, 92576 },
+ { 0x4E56, 92579 },
+ { 0x4E55, 92587 },
+ { 0x4F14, 92591 },
+ { 0x4F16, 92597 },
+ { 0x4E2F, 92600 },
+ { 0x4E30, 92603 },
+ { 0x4E36, 92608 },
+ { 0x4E37, 92613 },
+ { 0x4E33, 92620 },
+ { 0x4E31, 92625 },
+ { 0x4E35, 92630 },
+ { 0x4E32, 92635 },
+ { 0x4E34, 92640 },
+ { 0x4E38, 92645 },
+ { 0x5040, 92648 },
+ { 0x4E40, 92652 },
+ { 0x4E44, 92655 },
+ { 0x4E45, 92658 },
+ { 0x4E46, 92663 },
+ { 0x4E47, 92668 },
+ { 0x4E48, 92671 },
+ { 0x4E49, 92676 },
+ { 0x4E4B, 92681 },
+ { 0x4E4C, 92686 },
+ { 0x4E4D, 92691 },
+ { 0x4E4E, 92696 },
+ { 0x4E50, 92702 },
+ { 0x4E51, 92707 },
+ { 0x4E52, 92712 },
+ { 0x4E4A, 92717 },
+ { 0x4E4F, 92722 },
+ { 0x4E54, 92727 },
+ { 0x4E56, 92730 },
+ { 0x4E55, 92738 },
+ { 0x4E5A, 92742 },
+ { 0x5046, 92745 },
+ { 0x5045, 92752 },
+ { 0x4E5F, 92759 },
+ { 0x4E60, 92762 },
+ { 0x4E61, 92768 },
+ { 0x4E66, 92771 },
+ { 0x4E6B, 92774 },
+ { 0x4E7B, 92777 },
+ { 0x5048, 92780 },
+ { 0x4E87, 92785 },
+ { 0x4E9D, 92788 },
+ { 0x4EA4, 92791 },
+ { 0x4EA6, 92794 },
+ { 0x4EA5, 92799 },
+ { 0x4EB7, 92804 },
+ { 0x4ED8, 92807 },
+ { 0x4ED7, 92810 },
+ { 0x4EE2, 92813 },
+ { 0x4EEA, 92816 },
+ { 0x4BAB, 92819 },
+ { 0x4BB3, 92822 },
+ { 0x4BB7, 92825 },
+ { 0x4BB8, 92828 },
+ { 0x4BC7, 92831 },
+ { 0x4BC9, 92834 },
+ { 0x4BD2, 92837 },
+ { 0x4BD3, 92840 },
+ { 0x4BF1, 92845 },
+ { 0x4BF2, 92848 },
+ { 0x4C03, 92851 },
+ { 0x4C20, 92854 },
+ { 0x4FBA, 92857 },
+ { 0x4C75, 92861 },
+ { 0x4C88, 92864 },
+ { 0x4C91, 92867 },
+ { 0x4CA8, 92870 },
+ { 0x4D20, 92873 },
+ { 0x4D27, 92876 },
+ { 0x4D39, 92879 },
+ { 0x4D3A, 92882 },
+ { 0x4D3B, 92887 },
+ { 0x4D3C, 92896 },
+ { 0x4D3D, 92903 },
+ { 0x4D66, 92910 },
+ { 0x4D67, 92915 },
+ { 0x4D68, 92922 },
+ { 0x4D3E, 92931 },
+ { 0x4D3F, 92936 },
+ { 0x4D42, 92941 },
+ { 0x4D44, 92946 },
+ { 0x4D45, 92951 },
+ { 0x4F09, 92956 },
+ { 0x4D49, 92961 },
+ { 0x4D4B, 92966 },
+ { 0x4D4D, 92973 },
+ { 0x4D4E, 92978 },
+ { 0x4D4F, 92985 },
+ { 0x4D50, 92992 },
+ { 0x4D57, 92997 },
+ { 0x4D59, 93002 },
+ { 0x4D5A, 93007 },
+ { 0x4D5C, 93014 },
+ { 0x4D65, 93019 },
+ { 0x4D69, 93030 },
+ { 0x4D6A, 93037 },
+ { 0x4FE3, 93042 },
+ { 0x4D40, 93049 },
+ { 0x4D41, 93056 },
+ { 0x4D43, 93061 },
+ { 0x4D46, 93066 },
+ { 0x4D47, 93071 },
+ { 0x4D48, 93076 },
+ { 0x4D4A, 93083 },
+ { 0x4D4C, 93088 },
+ { 0x4D51, 93094 },
+ { 0x4D52, 93099 },
+ { 0x4D53, 93104 },
+ { 0x4D54, 93109 },
+ { 0x4D58, 93118 },
+ { 0x4D5D, 93123 },
+ { 0x4D62, 93130 },
+ { 0x4D63, 93135 },
+ { 0x4D6B, 93140 },
+ { 0x4D56, 93145 },
+ { 0x4D5B, 93150 },
+ { 0x4D60, 93155 },
+ { 0x4D61, 93160 },
+ { 0x4D64, 93167 },
+ { 0x4D55, 93172 },
+ { 0x4D5E, 93177 },
+ { 0x4D5F, 93186 },
+ { 0x4D6C, 93194 },
+ { 0x4D6D, 93198 },
+ { 0x4D70, 93201 },
+ { 0x4D71, 93205 },
+ { 0x4D6E, 93213 },
+ { 0x4D6F, 93218 },
+ { 0x4D98, 93225 },
+ { 0x4D99, 93228 },
+ { 0x4D9B, 93233 },
+ { 0x4D9A, 93237 },
+ { 0x4DA8, 93242 },
+ { 0x4DBA, 93245 },
+ { 0x4DBE, 93248 },
+ { 0x4DBB, 93252 },
+ { 0x4DBC, 93257 },
+ { 0x4DBD, 93264 },
+ { 0x4F0E, 93269 },
+ { 0x4DC5, 93274 },
+ { 0x4DE1, 93277 },
+ { 0x4DEE, 93280 },
+ { 0x4DF0, 93283 },
+ { 0x4DF5, 93289 },
+ { 0x4DF6, 93295 },
+ { 0x4DF8, 93301 },
+ { 0x4DF1, 93307 },
+ { 0x4DF2, 93313 },
+ { 0x4DF3, 93319 },
+ { 0x4DF4, 93326 },
+ { 0x4DF7, 93332 },
+ { 0x4DEF, 93338 },
+ { 0x4DF9, 93344 },
+ { 0x4DFA, 93350 },
+ { 0x4DFF, 93357 },
+ { 0x4F15, 93360 },
+ { 0x4E0B, 93364 },
+ { 0x4E0D, 93367 },
+ { 0x4E0E, 93372 },
+ { 0x4E0C, 93377 },
+ { 0x4E0F, 93382 },
+ { 0x4E39, 93387 },
+ { 0x4E3A, 93390 },
+ { 0x4E3F, 93393 },
+ { 0x4E41, 93396 },
+ { 0x4E57, 93399 },
+ { 0x4E62, 93402 },
+ { 0x4E67, 93405 },
+ { 0x4EA3, 93408 },
+ { 0x4ED0, 93411 },
+ { 0x4ED1, 93414 },
+ { 0x4EDA, 93419 },
+ { 0x4EEE, 93422 },
+ { 0x4BC0, 93425 },
+ { 0x4BC4, 93428 },
+ { 0x4F94, 93431 },
+ { 0x4F95, 93436 },
+ { 0x4F93, 93441 },
+ { 0x4C7E, 93446 },
+ { 0x4CA9, 93449 },
+ { 0x4D1D, 93452 },
+ { 0x4D1F, 93455 },
+ { 0x4D1E, 93467 },
+ { 0x4D29, 93477 },
+ { 0x4D2A, 93480 },
+ { 0x4D36, 93485 },
+ { 0x4D37, 93488 },
+ { 0x4D72, 93491 },
+ { 0x4D7A, 93494 },
+ { 0x4DB1, 93497 },
+ { 0x4DB2, 93500 },
+ { 0x4DD3, 93503 },
+ { 0x5039, 93506 },
+ { 0x503A, 93511 },
+ { 0x4DD4, 93518 },
+ { 0x4F13, 93523 },
+ { 0x5034, 93528 },
+ { 0x4DD8, 93533 },
+ { 0x4DD9, 93541 },
+ { 0x4DDF, 93546 },
+ { 0x4DD5, 93553 },
+ { 0x4DD6, 93558 },
+ { 0x4F12, 93565 },
+ { 0x5031, 93570 },
+ { 0x4DD7, 93576 },
+ { 0x5033, 93581 },
+ { 0x4DDA, 93586 },
+ { 0x5038, 93591 },
+ { 0x4DDB, 93598 },
+ { 0x4DDC, 93603 },
+ { 0x4DDD, 93611 },
+ { 0x4DDE, 93618 },
+ { 0x4DE0, 93627 },
+ { 0x5032, 93632 },
+ { 0x5037, 93637 },
+ { 0x5035, 93642 },
+ { 0x503B, 93647 },
+ { 0x5036, 93652 },
+ { 0x4E2C, 93657 },
+ { 0x4E42, 93660 },
+ { 0x4E53, 93663 },
+ { 0x4E5B, 93666 },
+ { 0x4E69, 93669 },
+ { 0x4ED9, 93672 },
+ { 0x4C7F, 93675 },
+ { 0x4FD9, 93678 },
+ { 0x4C80, 93683 },
+ { 0x4FE4, 93688 },
+ { 0x4FE5, 93691 },
+ { 0x4FE6, 93694 },
+ { 0x4FE7, 93697 },
+ { 0x4FE8, 93700 },
+ { 0x4FE9, 93703 },
+ { 0x4FEA, 93706 },
+ { 0x4FEB, 93709 },
+ { 0x4FEC, 93715 },
+ { 0x4FED, 93718 },
+ { 0x4FEE, 93723 },
+ { 0x4FEF, 93726 },
+ { 0x4FF0, 93729 },
+ { 0x4FF1, 93732 },
+ { 0x4FF2, 93735 },
+ { 0x4FF3, 93738 },
+ { 0x4FF4, 93741 },
+ { 0x4FF5, 93744 },
+ { 0x4FF6, 93747 },
+ { 0x4FF7, 93750 },
+ { 0x4FF8, 93753 },
+ { 0x4FF9, 93756 },
+ { 0x4FFA, 93759 },
+ { 0x4FFB, 93762 },
+ { 0x4FFC, 93765 },
+ { 0x4FFD, 93768 },
+ { 0x4FFE, 93771 },
+ { 0x4FFF, 93774 },
+ { 0x5000, 93777 },
+ { 0x5001, 93780 },
+ { 0x5005, 93785 },
+ { 0x5002, 93792 },
+ { 0x5003, 93797 },
+ { 0x5004, 93804 },
+ { 0x5006, 93813 },
+ { 0x5007, 93816 },
+ { 0x5008, 93819 },
+ { 0x5009, 93822 },
+ { 0x500A, 93825 },
+ { 0x500B, 93828 },
+ { 0x500C, 93831 },
+ { 0x500D, 93834 },
+ { 0x500E, 93837 },
+ { 0x500F, 93840 },
+ { 0x5010, 93843 },
+ { 0x5015, 93846 },
+ { 0x5017, 93851 },
+ { 0x5018, 93856 },
+ { 0x5019, 93861 },
+ { 0x5011, 93866 },
+ { 0x5012, 93871 },
+ { 0x5014, 93876 },
+ { 0x5016, 93881 },
+ { 0x5013, 93886 },
+ { 0x501A, 93893 },
+ { 0x501B, 93898 },
+ { 0x501C, 93901 },
+ { 0x501E, 93904 },
+ { 0x5021, 93909 },
+ { 0x5024, 93914 },
+ { 0x501D, 93919 },
+ { 0x501F, 93924 },
+ { 0x5020, 93929 },
+ { 0x5022, 93935 },
+ { 0x5023, 93944 },
+ { 0x5025, 93951 },
+ { 0x5026, 93956 },
+ { 0x5027, 93959 },
+ { 0x4E43, 93962 },
+ { 0x4F7C, 93965 },
+ { 0x4F7D, 93972 },
+ { 0x4F6A, 93979 },
+ { 0x4F4F, 93984 },
+ { 0x4F7F, 93989 },
+ { 0x4F73, 93995 },
+ { 0x4F30, 94000 },
+ { 0x4F39, 94005 },
+ { 0x4F47, 94010 },
+ { 0x4F75, 94015 },
+ { 0x4F78, 94021 },
+ { 0x4F7A, 94029 },
+ { 0x4F7B, 94035 },
+ { 0x4F7E, 94041 },
+ { 0x4F2C, 94047 },
+ { 0x4F86, 94052 },
+ { 0x4F1F, 94059 },
+ { 0x4F69, 94064 },
+ { 0x4F26, 94070 },
+ { 0x4F35, 94075 },
+ { 0x4F43, 94080 },
+ { 0x4F5B, 94085 },
+ { 0x4F1B, 94092 },
+ { 0x4F65, 94097 },
+ { 0x4F6B, 94103 },
+ { 0x4F50, 94108 },
+ { 0x4F74, 94113 },
+ { 0x4F31, 94118 },
+ { 0x4F3A, 94123 },
+ { 0x4F3E, 94128 },
+ { 0x4F48, 94133 },
+ { 0x4F76, 94138 },
+ { 0x4F79, 94144 },
+ { 0x4F2B, 94152 },
+ { 0x4F85, 94157 },
+ { 0x4F1E, 94164 },
+ { 0x4F68, 94169 },
+ { 0x4F6F, 94175 },
+ { 0x4F70, 94180 },
+ { 0x4F54, 94187 },
+ { 0x4F25, 94192 },
+ { 0x4F34, 94197 },
+ { 0x4F3D, 94202 },
+ { 0x4F42, 94207 },
+ { 0x4F4C, 94212 },
+ { 0x4F77, 94217 },
+ { 0x4F2A, 94223 },
+ { 0x4F84, 94228 },
+ { 0x4F1D, 94235 },
+ { 0x4F67, 94240 },
+ { 0x4F6D, 94246 },
+ { 0x4F6E, 94251 },
+ { 0x4F53, 94258 },
+ { 0x4F24, 94263 },
+ { 0x4F33, 94268 },
+ { 0x4F3C, 94273 },
+ { 0x4F41, 94278 },
+ { 0x4F4B, 94283 },
+ { 0x4F57, 94288 },
+ { 0x4F59, 94295 },
+ { 0x4F5A, 94303 },
+ { 0x4F58, 94311 },
+ { 0x4F2F, 94318 },
+ { 0x4F89, 94323 },
+ { 0x4F22, 94330 },
+ { 0x4F29, 94335 },
+ { 0x4F38, 94340 },
+ { 0x4F46, 94345 },
+ { 0x4F61, 94350 },
+ { 0x4F64, 94357 },
+ { 0x4F62, 94365 },
+ { 0x4F63, 94372 },
+ { 0x4F2E, 94379 },
+ { 0x4F88, 94384 },
+ { 0x4F21, 94391 },
+ { 0x4F28, 94396 },
+ { 0x4F37, 94401 },
+ { 0x4F45, 94406 },
+ { 0x4F5F, 94411 },
+ { 0x4F60, 94418 },
+ { 0x4F2D, 94425 },
+ { 0x4F87, 94430 },
+ { 0x4F20, 94437 },
+ { 0x4F27, 94442 },
+ { 0x4F36, 94447 },
+ { 0x4F44, 94452 },
+ { 0x4F5D, 94457 },
+ { 0x4F5E, 94465 },
+ { 0x4F5C, 94473 },
+ { 0x4F4E, 94480 },
+ { 0x4F4D, 94488 },
+ { 0x4F1C, 94496 },
+ { 0x4F66, 94501 },
+ { 0x4F6C, 94507 },
+ { 0x4F51, 94512 },
+ { 0x4F52, 94517 },
+ { 0x4F23, 94524 },
+ { 0x4F32, 94529 },
+ { 0x4F3B, 94534 },
+ { 0x4F3F, 94539 },
+ { 0x4F40, 94544 },
+ { 0x4F49, 94551 },
+ { 0x4F4A, 94556 },
+ { 0x4F55, 94563 },
+ { 0x4F56, 94570 },
+ { 0x4F80, 94577 },
+ { 0x4F81, 94583 },
+ { 0x4F83, 94589 },
+ { 0x4F82, 94594 },
+ { 0x4F72, 94599 },
+ { 0x4F71, 94603 },
+ { 0x4F8A, 94607 },
+ { 0x4F8C, 94614 },
+ { 0x4F8D, 94619 },
+ { 0x4F8E, 94624 },
+ { 0x4F8B, 94629 },
+ { 0x6759, 94634 },
+ { 0x1F23, 94636 },
+ { 0x1F21, 94642 },
+ { 0x1F1B, 94650 },
+ { 0x1F1E, 94658 },
+ { 0x1F22, 94666 },
+ { 0x1F20, 94672 },
+ { 0x1F1A, 94680 },
+ { 0x1F1D, 94688 },
+ { 0x1F24, 94696 },
+ { 0x1F17, 94703 },
+ { 0x1F1F, 94710 },
+ { 0x1F25, 94716 },
+ { 0x1F18, 94723 },
+ { 0x1F19, 94730 },
+ { 0x1F1C, 94736 },
+ { 0x0067, 94742 },
+ { 0x1E8A, 94743 },
+ { 0x1CFA, 94745 },
+ { 0x1CEC, 94749 },
+ { 0x2439, 94751 },
+ { 0x1D00, 94755 },
+ { 0x1D0B, 94759 },
+ { 0x1D0C, 94764 },
+ { 0x6BDA, 94769 },
+ { 0x6BD2, 94775 },
+ { 0x6BDE, 94781 },
+ { 0x1D0E, 94787 },
+ { 0x1D38, 94792 },
+ { 0x6BD6, 94797 },
+ { 0x6C50, 94803 },
+ { 0x242E, 94808 },
+ { 0x6BE2, 94813 },
+ { 0x1D4E, 94818 },
+ { 0x262D, 94824 },
+ { 0x26AF, 94827 },
+ { 0x6C12, 94832 },
+ { 0x6C0E, 94835 },
+ { 0x1D42, 94839 },
+ { 0x6C4C, 94842 },
+ { 0x28D3, 94848 },
+ { 0x1D3C, 94850 },
+ { 0x1D2C, 94853 },
+ { 0x1D23, 94856 },
+ { 0x6A93, 94859 },
+ { 0x2431, 94861 },
+ { 0x1D08, 94864 },
+ { 0x247F, 94867 },
+ { 0x2487, 94874 },
+ { 0x2495, 94881 },
+ { 0x248B, 94892 },
+ { 0x247B, 94903 },
+ { 0x2483, 94910 },
+ { 0x1D1C, 94917 },
+ { 0x1D1B, 94922 },
+ { 0x6C06, 94927 },
+ { 0x6C48, 94930 },
+ { 0x2317, 94933 },
+ { 0x6C0A, 94936 },
+ { 0x6C16, 94939 },
+ { 0x26F3, 94942 },
+ { 0x6C02, 94948 },
+ { 0x2689, 94951 },
+ { 0x2699, 94954 },
+ { 0x6BF6, 94959 },
+ { 0x26C2, 94965 },
+ { 0x26C3, 94972 },
+ { 0x6BFE, 94979 },
+ { 0x6BFA, 94986 },
+ { 0x26A1, 94992 },
+ { 0x6BF2, 94999 },
+ { 0x6BEE, 95005 },
+ { 0x26A7, 95011 },
+ { 0x2693, 95019 },
+ { 0x26AB, 95023 },
+ { 0x2673, 95027 },
+ { 0x6850, 95031 },
+ { 0x28CD, 95033 },
+ { 0x1C8B, 95035 },
+ { 0x1DB2, 95037 },
+ { 0x6758, 95038 },
+ { 0x6BB4, 95040 },
+ { 0x6BAE, 95045 },
+ { 0x6BA1, 95050 },
+ { 0x6B83, 95054 },
+ { 0x6B8D, 95058 },
+ { 0x6BA8, 95062 },
+ { 0x1C98, 95065 },
+ { 0x67AC, 95067 },
+ { 0x3D91, 95068 },
+ { 0x3E28, 95071 },
+ { 0x3E2C, 95074 },
+ { 0x3E2B, 95077 },
+ { 0x3E26, 95080 },
+ { 0x3D60, 95083 },
+ { 0x3DAD, 95086 },
+ { 0x3DB1, 95090 },
+ { 0x3D8D, 95094 },
+ { 0x3D5A, 95098 },
+ { 0x3D5D, 95101 },
+ { 0x3D6C, 95104 },
+ { 0x3D5E, 95106 },
+ { 0x3D63, 95108 },
+ { 0x3D68, 95111 },
+ { 0x3D64, 95114 },
+ { 0x3D67, 95117 },
+ { 0x3D66, 95120 },
+ { 0x3D6B, 95123 },
+ { 0x3D62, 95126 },
+ { 0x3D6A, 95129 },
+ { 0x3D69, 95132 },
+ { 0x3D65, 95135 },
+ { 0x3D92, 95138 },
+ { 0x3D93, 95141 },
+ { 0x3D94, 95146 },
+ { 0x3D95, 95151 },
+ { 0x3D96, 95156 },
+ { 0x3D97, 95161 },
+ { 0x3D98, 95166 },
+ { 0x3D99, 95171 },
+ { 0x3D9A, 95176 },
+ { 0x3D9B, 95181 },
+ { 0x3D9C, 95186 },
+ { 0x3D9D, 95191 },
+ { 0x3D9E, 95196 },
+ { 0x3D9F, 95201 },
+ { 0x3DA0, 95206 },
+ { 0x3DA1, 95211 },
+ { 0x3DA2, 95216 },
+ { 0x3DA3, 95221 },
+ { 0x3DA4, 95226 },
+ { 0x3DA5, 95231 },
+ { 0x3DA6, 95236 },
+ { 0x3DA7, 95241 },
+ { 0x3DA8, 95246 },
+ { 0x3DA9, 95251 },
+ { 0x3DAA, 95256 },
+ { 0x3DAB, 95261 },
+ { 0x3DAC, 95266 },
+ { 0x3D73, 95271 },
+ { 0x3D74, 95276 },
+ { 0x3D75, 95281 },
+ { 0x3D76, 95286 },
+ { 0x3D77, 95291 },
+ { 0x3D78, 95296 },
+ { 0x3D79, 95301 },
+ { 0x3D7A, 95306 },
+ { 0x3D7B, 95311 },
+ { 0x3D7C, 95316 },
+ { 0x3D7D, 95321 },
+ { 0x3D7E, 95326 },
+ { 0x3D7F, 95331 },
+ { 0x3D80, 95336 },
+ { 0x3D81, 95341 },
+ { 0x3D82, 95346 },
+ { 0x3D83, 95351 },
+ { 0x3D84, 95356 },
+ { 0x3D85, 95361 },
+ { 0x3D86, 95366 },
+ { 0x3D87, 95371 },
+ { 0x3D88, 95376 },
+ { 0x3D89, 95381 },
+ { 0x3D8A, 95386 },
+ { 0x3D8B, 95391 },
+ { 0x3D8C, 95396 },
+ { 0x3E27, 95401 },
+ { 0x3DAF, 95404 },
+ { 0x3DB2, 95408 },
+ { 0x3D8F, 95412 },
+ { 0x3D5B, 95416 },
+ { 0x3DB0, 95419 },
+ { 0x3E2A, 95421 },
+ { 0x3D56, 95424 },
+ { 0x3D6F, 95427 },
+ { 0x3E29, 95430 },
+ { 0x3D55, 95432 },
+ { 0x3D57, 95435 },
+ { 0x3D8E, 95438 },
+ { 0x3D61, 95441 },
+ { 0x3D5C, 95443 },
+ { 0x3D71, 95445 },
+ { 0x3DAE, 95448 },
+ { 0x3D58, 95451 },
+ { 0x3D6E, 95453 },
+ { 0x3D54, 95456 },
+ { 0x3D6D, 95459 },
+ { 0x3D59, 95461 },
+ { 0x3D90, 95463 },
+ { 0x3D72, 95466 },
+ { 0x3D53, 95469 },
+ { 0x3D70, 95472 },
+ { 0x3D5F, 95475 },
+ { 0x1D93, 95477 },
+ { 0x6A50, 95479 },
+ { 0x68A8, 95481 },
+ { 0x3DB4, 95482 },
+ { 0x3E32, 95486 },
+ { 0x3E2D, 95489 },
+ { 0x3DB5, 95493 },
+ { 0x3E33, 95497 },
+ { 0x3DF2, 95500 },
+ { 0x3E11, 95503 },
+ { 0x3E16, 95507 },
+ { 0x3E25, 95511 },
+ { 0x3E19, 95515 },
+ { 0x3E1E, 95519 },
+ { 0x3E12, 95523 },
+ { 0x3E15, 95527 },
+ { 0x3E23, 95531 },
+ { 0x3E1C, 95535 },
+ { 0x3E1A, 95539 },
+ { 0x3E20, 95543 },
+ { 0x3E21, 95547 },
+ { 0x3E13, 95551 },
+ { 0x3E18, 95555 },
+ { 0x3E24, 95559 },
+ { 0x3E1D, 95563 },
+ { 0x3E22, 95567 },
+ { 0x3E1B, 95571 },
+ { 0x3E1F, 95575 },
+ { 0x3E14, 95579 },
+ { 0x3E17, 95583 },
+ { 0x3E07, 95587 },
+ { 0x3E0A, 95591 },
+ { 0x3E10, 95595 },
+ { 0x3E09, 95599 },
+ { 0x3E03, 95603 },
+ { 0x3DF6, 95607 },
+ { 0x3E04, 95611 },
+ { 0x3DFB, 95615 },
+ { 0x3DF3, 95619 },
+ { 0x3DF9, 95623 },
+ { 0x3E0C, 95627 },
+ { 0x3E0D, 95631 },
+ { 0x3E0F, 95635 },
+ { 0x3E0E, 95639 },
+ { 0x3E08, 95643 },
+ { 0x3E06, 95647 },
+ { 0x3DFF, 95651 },
+ { 0x3E0B, 95655 },
+ { 0x3E05, 95659 },
+ { 0x3DF5, 95663 },
+ { 0x3DF7, 95667 },
+ { 0x3DF8, 95671 },
+ { 0x3E02, 95675 },
+ { 0x3DFD, 95679 },
+ { 0x3DFE, 95683 },
+ { 0x3DF4, 95687 },
+ { 0x3DFA, 95691 },
+ { 0x3DFC, 95695 },
+ { 0x3E01, 95699 },
+ { 0x3E00, 95703 },
+ { 0x3E2F, 95707 },
+ { 0x3DC3, 95710 },
+ { 0x3DC6, 95714 },
+ { 0x3DC4, 95718 },
+ { 0x3DEF, 95722 },
+ { 0x3DC7, 95726 },
+ { 0x3DC5, 95730 },
+ { 0x3DDC, 95734 },
+ { 0x3DDF, 95738 },
+ { 0x3DDD, 95742 },
+ { 0x3DE0, 95746 },
+ { 0x3DDE, 95750 },
+ { 0x3DC8, 95754 },
+ { 0x3DCB, 95758 },
+ { 0x3DC9, 95762 },
+ { 0x3DCC, 95766 },
+ { 0x3DCA, 95770 },
+ { 0x3DE1, 95774 },
+ { 0x3DE4, 95778 },
+ { 0x3DE2, 95782 },
+ { 0x3DE5, 95786 },
+ { 0x3DE3, 95790 },
+ { 0x3DD7, 95794 },
+ { 0x3DDA, 95798 },
+ { 0x3DD8, 95802 },
+ { 0x3DDB, 95806 },
+ { 0x3DD9, 95810 },
+ { 0x3DE9, 95814 },
+ { 0x3DEC, 95818 },
+ { 0x3DEA, 95822 },
+ { 0x3DED, 95826 },
+ { 0x3DEB, 95830 },
+ { 0x3DCD, 95834 },
+ { 0x3DD0, 95838 },
+ { 0x3DCE, 95842 },
+ { 0x3DD1, 95846 },
+ { 0x3DCF, 95850 },
+ { 0x3DD2, 95854 },
+ { 0x3DD5, 95858 },
+ { 0x3DD3, 95862 },
+ { 0x3DD6, 95866 },
+ { 0x3DD4, 95870 },
+ { 0x3DEE, 95874 },
+ { 0x3DB8, 95878 },
+ { 0x3DE6, 95882 },
+ { 0x3DE8, 95886 },
+ { 0x3DE7, 95890 },
+ { 0x3DB9, 95894 },
+ { 0x3DBC, 95899 },
+ { 0x3DBA, 95904 },
+ { 0x3DBD, 95909 },
+ { 0x3DBB, 95914 },
+ { 0x3DC1, 95919 },
+ { 0x3DBE, 95924 },
+ { 0x3DC0, 95929 },
+ { 0x3DBF, 95934 },
+ { 0x3DB7, 95939 },
+ { 0x3DF0, 95943 },
+ { 0x3DF1, 95948 },
+ { 0x3E31, 95953 },
+ { 0x3E2E, 95956 },
+ { 0x3E30, 95959 },
+ { 0x3DB3, 95962 },
+ { 0x3DB6, 95966 },
+ { 0x3DC2, 95969 },
+ { 0x677A, 95974 },
+ { 0x67CD, 95975 },
+ { 0x2222, 95976 },
+ { 0x1E12, 95979 },
+ { 0x1E74, 95982 },
+ { 0x1F4C, 95983 },
+ { 0x1DBA, 95987 },
+ { 0x250B, 95989 },
+ { 0x258D, 95994 },
+ { 0x2507, 95998 },
+ { 0x1D5F, 96000 },
+ { 0x1ED9, 96001 },
+ { 0x1BE8, 96003 },
+ { 0x1BE6, 96005 },
+ { 0x1BE7, 96007 },
+ { 0x491B, 96009 },
+ { 0x491C, 96012 },
+ { 0x4911, 96015 },
+ { 0x491E, 96018 },
+ { 0x4923, 96021 },
+ { 0x491F, 96024 },
+ { 0x4922, 96027 },
+ { 0x4921, 96030 },
+ { 0x4926, 96033 },
+ { 0x491D, 96036 },
+ { 0x4925, 96039 },
+ { 0x4924, 96042 },
+ { 0x4920, 96045 },
+ { 0x4917, 96048 },
+ { 0x4913, 96052 },
+ { 0x4919, 96056 },
+ { 0x4915, 96060 },
+ { 0x4912, 96064 },
+ { 0x4918, 96068 },
+ { 0x491A, 96072 },
+ { 0x4914, 96076 },
+ { 0x4916, 96080 },
+ { 0x48E2, 96084 },
+ { 0x48E8, 96087 },
+ { 0x48E4, 96090 },
+ { 0x48EA, 96093 },
+ { 0x48E6, 96096 },
+ { 0x48E3, 96099 },
+ { 0x48E9, 96102 },
+ { 0x48EB, 96105 },
+ { 0x4906, 96108 },
+ { 0x48F2, 96111 },
+ { 0x4901, 96114 },
+ { 0x48EE, 96117 },
+ { 0x4910, 96120 },
+ { 0x48E5, 96123 },
+ { 0x48F4, 96126 },
+ { 0x48EC, 96129 },
+ { 0x490C, 96132 },
+ { 0x4909, 96135 },
+ { 0x4903, 96138 },
+ { 0x4904, 96141 },
+ { 0x490B, 96144 },
+ { 0x490F, 96147 },
+ { 0x48FF, 96150 },
+ { 0x48E7, 96153 },
+ { 0x490D, 96156 },
+ { 0x490A, 96159 },
+ { 0x4907, 96162 },
+ { 0x4908, 96165 },
+ { 0x48F3, 96168 },
+ { 0x48FA, 96171 },
+ { 0x4902, 96174 },
+ { 0x48EF, 96177 },
+ { 0x48F0, 96180 },
+ { 0x48F6, 96183 },
+ { 0x48F5, 96186 },
+ { 0x48ED, 96189 },
+ { 0x48F1, 96192 },
+ { 0x48FE, 96195 },
+ { 0x48F7, 96198 },
+ { 0x4905, 96201 },
+ { 0x48FC, 96204 },
+ { 0x490E, 96207 },
+ { 0x4900, 96210 },
+ { 0x48F8, 96213 },
+ { 0x48FB, 96216 },
+ { 0x48FD, 96219 },
+ { 0x48F9, 96222 },
+ { 0x245F, 96225 },
+ { 0x6C57, 96229 },
+ { 0x1CF7, 96234 },
+ { 0x1CF5, 96238 },
+ { 0x1CE9, 96241 },
+ { 0x1D3D, 96243 },
+ { 0x1D12, 96247 },
+ { 0x2443, 96256 },
+ { 0x1CFD, 96261 },
+ { 0x2445, 96265 },
+ { 0x1D1F, 96272 },
+ { 0x2637, 96277 },
+ { 0x2636, 96282 },
+ { 0x1D02, 96287 },
+ { 0x1D04, 96291 },
+ { 0x246C, 96295 },
+ { 0x1CFB, 96300 },
+ { 0x2660, 96304 },
+ { 0x265F, 96312 },
+ { 0x6BD7, 96319 },
+ { 0x6BCF, 96325 },
+ { 0x6BDB, 96331 },
+ { 0x265E, 96337 },
+ { 0x1D53, 96342 },
+ { 0x6BD3, 96348 },
+ { 0x1CF3, 96354 },
+ { 0x6C4D, 96358 },
+ { 0x1D50, 96363 },
+ { 0x6BDF, 96368 },
+ { 0x2469, 96373 },
+ { 0x2499, 96379 },
+ { 0x2670, 96384 },
+ { 0x2671, 96390 },
+ { 0x2668, 96396 },
+ { 0x2664, 96403 },
+ { 0x24A0, 96407 },
+ { 0x249D, 96411 },
+ { 0x262B, 96415 },
+ { 0x26AC, 96418 },
+ { 0x6C0F, 96423 },
+ { 0x6C0B, 96426 },
+ { 0x1D3F, 96430 },
+ { 0x6C49, 96433 },
+ { 0x1D39, 96439 },
+ { 0x2432, 96442 },
+ { 0x1D29, 96446 },
+ { 0x242C, 96449 },
+ { 0x1D26, 96454 },
+ { 0x2428, 96459 },
+ { 0x2441, 96465 },
+ { 0x1D20, 96468 },
+ { 0x6A90, 96471 },
+ { 0x2434, 96473 },
+ { 0x1D33, 96477 },
+ { 0x1D24, 96480 },
+ { 0x2478, 96485 },
+ { 0x2480, 96492 },
+ { 0x2490, 96499 },
+ { 0x2488, 96507 },
+ { 0x248C, 96518 },
+ { 0x247C, 96529 },
+ { 0x2484, 96536 },
+ { 0x248D, 96543 },
+ { 0x2491, 96554 },
+ { 0x1D15, 96562 },
+ { 0x1D16, 96567 },
+ { 0x6C03, 96572 },
+ { 0x1D35, 96575 },
+ { 0x6C45, 96578 },
+ { 0x266B, 96581 },
+ { 0x243F, 96584 },
+ { 0x6C07, 96586 },
+ { 0x6C13, 96589 },
+ { 0x265C, 96592 },
+ { 0x2661, 96597 },
+ { 0x2663, 96602 },
+ { 0x2662, 96611 },
+ { 0x265B, 96619 },
+ { 0x26F0, 96626 },
+ { 0x265A, 96632 },
+ { 0x265D, 96638 },
+ { 0x6C5D, 96643 },
+ { 0x6BFF, 96648 },
+ { 0x6C59, 96651 },
+ { 0x1D56, 96655 },
+ { 0x6C5F, 96658 },
+ { 0x6C5B, 96663 },
+ { 0x6C55, 96667 },
+ { 0x2686, 96671 },
+ { 0x2696, 96674 },
+ { 0x26A4, 96679 },
+ { 0x6BF3, 96686 },
+ { 0x26C6, 96692 },
+ { 0x26C8, 96699 },
+ { 0x6BFB, 96706 },
+ { 0x6BF7, 96713 },
+ { 0x269E, 96719 },
+ { 0x269E, 96726 },
+ { 0x6BEF, 96733 },
+ { 0x6BEB, 96739 },
+ { 0x2690, 96745 },
+ { 0x26A8, 96749 },
+ { 0x1DBD, 96753 },
+ { 0x25A3, 96757 },
+ { 0x25A7, 96762 },
+ { 0x25A9, 96770 },
+ { 0x25A5, 96779 },
+ { 0x1DCB, 96787 },
+ { 0x25AB, 96791 },
+ { 0x1DCF, 96794 },
+ { 0x25AF, 96797 },
+ { 0x25AD, 96801 },
+ { 0x1DC1, 96807 },
+ { 0x1E3F, 96812 },
+ { 0x1DBF, 96817 },
+ { 0x001C, 96821 },
+ { 0x1E2F, 96823 },
+ { 0x259F, 96826 },
+ { 0x25A1, 96830 },
+ { 0x25B3, 96835 },
+ { 0x25B5, 96840 },
+ { 0x25B9, 96845 },
+ { 0x249C, 96854 },
+ { 0x25B1, 96858 },
+ { 0x25B7, 96864 },
+ { 0x1E33, 96870 },
+ { 0x25CC, 96875 },
+ { 0x25CE, 96879 },
+ { 0x212D, 96886 },
+ { 0x6A16, 96887 },
+ { 0x6A15, 96889 },
+ { 0x0B2C, 96892 },
+ { 0x0B42, 96896 },
+ { 0x0B2A, 96899 },
+ { 0x0AE7, 96902 },
+ { 0x0AE6, 96905 },
+ { 0x0B1C, 96908 },
+ { 0x0AE5, 96911 },
+ { 0x0B33, 96914 },
+ { 0x0B38, 96917 },
+ { 0x0B34, 96920 },
+ { 0x0B37, 96923 },
+ { 0x0B36, 96926 },
+ { 0x0B3B, 96929 },
+ { 0x0B32, 96932 },
+ { 0x0B3A, 96935 },
+ { 0x0B39, 96938 },
+ { 0x0B35, 96941 },
+ { 0x0B24, 96944 },
+ { 0x0B1E, 96948 },
+ { 0x0B27, 96952 },
+ { 0x0B20, 96956 },
+ { 0x0B1D, 96960 },
+ { 0x0B26, 96964 },
+ { 0x0B29, 96968 },
+ { 0x0B25, 96972 },
+ { 0x0B1F, 96976 },
+ { 0x0B28, 96980 },
+ { 0x0B21, 96984 },
+ { 0x0B30, 96988 },
+ { 0x0B22, 96993 },
+ { 0x0B31, 96998 },
+ { 0x0B23, 97003 },
+ { 0x0AE8, 97008 },
+ { 0x0AF0, 97011 },
+ { 0x0AEA, 97014 },
+ { 0x0AF3, 97017 },
+ { 0x0AEC, 97020 },
+ { 0x0AE9, 97023 },
+ { 0x0AF2, 97026 },
+ { 0x0AF5, 97029 },
+ { 0x0B0D, 97032 },
+ { 0x0AFB, 97035 },
+ { 0x0B07, 97038 },
+ { 0x0AF1, 97041 },
+ { 0x0AF8, 97044 },
+ { 0x0B1A, 97047 },
+ { 0x0AEB, 97050 },
+ { 0x0AFD, 97053 },
+ { 0x0AF6, 97056 },
+ { 0x0B13, 97059 },
+ { 0x0B0F, 97062 },
+ { 0x0B09, 97065 },
+ { 0x0AF4, 97068 },
+ { 0x0B0B, 97071 },
+ { 0x0B11, 97074 },
+ { 0x0B19, 97077 },
+ { 0x0B05, 97080 },
+ { 0x0AED, 97083 },
+ { 0x0B16, 97086 },
+ { 0x0B10, 97089 },
+ { 0x0B0E, 97092 },
+ { 0x0AFC, 97095 },
+ { 0x0B02, 97098 },
+ { 0x0B08, 97101 },
+ { 0x0B2B, 97104 },
+ { 0x0AF9, 97108 },
+ { 0x0AFE, 97111 },
+ { 0x0AF7, 97114 },
+ { 0x0B14, 97117 },
+ { 0x0AFA, 97120 },
+ { 0x0B04, 97123 },
+ { 0x0AFF, 97126 },
+ { 0x0B0C, 97129 },
+ { 0x0B12, 97132 },
+ { 0x0B17, 97135 },
+ { 0x0B18, 97138 },
+ { 0x0B06, 97141 },
+ { 0x0B00, 97144 },
+ { 0x0B03, 97147 },
+ { 0x0B15, 97150 },
+ { 0x0B0A, 97153 },
+ { 0x0B01, 97156 },
+ { 0x0B1B, 97159 },
+ { 0x0B48, 97162 },
+ { 0x0B46, 97166 },
+ { 0x0B44, 97170 },
+ { 0x0B47, 97174 },
+ { 0x0B43, 97178 },
+ { 0x0B45, 97182 },
+ { 0x0B2D, 97186 },
+ { 0x0AEF, 97190 },
+ { 0x0AEE, 97194 },
+ { 0x0B2F, 97198 },
+ { 0x0B2E, 97202 },
+ { 0x0B3D, 97206 },
+ { 0x0B3E, 97210 },
+ { 0x0B3C, 97214 },
+ { 0x0B40, 97217 },
+ { 0x0B3F, 97221 },
+ { 0x0B41, 97225 },
+ { 0x0079, 97229 },
+ { 0x14A2, 97232 },
+ { 0x14A8, 97235 },
+ { 0x14A9, 97240 },
+ { 0x14AA, 97245 },
+ { 0x14A0, 97250 },
+ { 0x14A4, 97253 },
+ { 0x14A3, 97258 },
+ { 0x149D, 97262 },
+ { 0x14A1, 97264 },
+ { 0x149F, 97266 },
+ { 0x14AD, 97268 },
+ { 0x14B2, 97271 },
+ { 0x14AE, 97274 },
+ { 0x14B1, 97277 },
+ { 0x14B0, 97280 },
+ { 0x14B5, 97283 },
+ { 0x14AC, 97286 },
+ { 0x14B4, 97289 },
+ { 0x14B3, 97292 },
+ { 0x14AF, 97295 },
+ { 0x14AB, 97298 },
+ { 0x14B6, 97301 },
+ { 0x14B7, 97304 },
+ { 0x14B8, 97307 },
+ { 0x14B9, 97310 },
+ { 0x14BA, 97313 },
+ { 0x14C0, 97316 },
+ { 0x14C9, 97319 },
+ { 0x14BD, 97322 },
+ { 0x14CF, 97325 },
+ { 0x14C3, 97328 },
+ { 0x14CB, 97331 },
+ { 0x14D0, 97334 },
+ { 0x14C5, 97337 },
+ { 0x14C4, 97340 },
+ { 0x14BE, 97343 },
+ { 0x14BB, 97346 },
+ { 0x14C1, 97349 },
+ { 0x14C2, 97352 },
+ { 0x14CD, 97355 },
+ { 0x14C6, 97358 },
+ { 0x14C8, 97361 },
+ { 0x14BC, 97364 },
+ { 0x14CE, 97367 },
+ { 0x14CC, 97370 },
+ { 0x14D3, 97373 },
+ { 0x1515, 97376 },
+ { 0x1516, 97381 },
+ { 0x1525, 97386 },
+ { 0x1519, 97391 },
+ { 0x151F, 97396 },
+ { 0x1517, 97401 },
+ { 0x1520, 97406 },
+ { 0x151E, 97411 },
+ { 0x1524, 97416 },
+ { 0x151C, 97421 },
+ { 0x1518, 97426 },
+ { 0x151D, 97431 },
+ { 0x1521, 97436 },
+ { 0x1522, 97441 },
+ { 0x151A, 97446 },
+ { 0x1523, 97451 },
+ { 0x1534, 97456 },
+ { 0x1535, 97462 },
+ { 0x151B, 97468 },
+ { 0x1514, 97473 },
+ { 0x1513, 97479 },
+ { 0x1510, 97484 },
+ { 0x1537, 97489 },
+ { 0x1511, 97494 },
+ { 0x150F, 97499 },
+ { 0x150E, 97505 },
+ { 0x1512, 97511 },
+ { 0x14BF, 97517 },
+ { 0x14CA, 97520 },
+ { 0x14D8, 97523 },
+ { 0x14D4, 97526 },
+ { 0x14D1, 97529 },
+ { 0x14D6, 97532 },
+ { 0x14C7, 97535 },
+ { 0x14D2, 97538 },
+ { 0x14D7, 97541 },
+ { 0x14D5, 97544 },
+ { 0x14F3, 97547 },
+ { 0x14F4, 97551 },
+ { 0x14F7, 97555 },
+ { 0x14FF, 97559 },
+ { 0x1501, 97563 },
+ { 0x14FA, 97567 },
+ { 0x14FB, 97571 },
+ { 0x14F5, 97575 },
+ { 0x1500, 97579 },
+ { 0x14F9, 97583 },
+ { 0x14FC, 97587 },
+ { 0x14FE, 97591 },
+ { 0x14F6, 97595 },
+ { 0x1505, 97599 },
+ { 0x14F8, 97603 },
+ { 0x1507, 97607 },
+ { 0x1502, 97611 },
+ { 0x1503, 97615 },
+ { 0x1506, 97619 },
+ { 0x14FD, 97623 },
+ { 0x1504, 97627 },
+ { 0x1508, 97631 },
+ { 0x14DA, 97635 },
+ { 0x14DB, 97639 },
+ { 0x14DC, 97643 },
+ { 0x14DD, 97647 },
+ { 0x14E1, 97651 },
+ { 0x14E7, 97655 },
+ { 0x14E4, 97659 },
+ { 0x14E9, 97663 },
+ { 0x14ED, 97667 },
+ { 0x14E5, 97671 },
+ { 0x14DE, 97675 },
+ { 0x14E2, 97679 },
+ { 0x14E3, 97683 },
+ { 0x14E6, 97687 },
+ { 0x14DF, 97691 },
+ { 0x14EC, 97695 },
+ { 0x14EB, 97699 },
+ { 0x1526, 97703 },
+ { 0x1527, 97709 },
+ { 0x14E0, 97715 },
+ { 0x14E8, 97719 },
+ { 0x14F2, 97723 },
+ { 0x14EE, 97727 },
+ { 0x14EF, 97731 },
+ { 0x14F0, 97735 },
+ { 0x14F1, 97739 },
+ { 0x14EA, 97743 },
+ { 0x14D9, 97747 },
+ { 0x1509, 97753 },
+ { 0x150C, 97757 },
+ { 0x150A, 97761 },
+ { 0x150B, 97765 },
+ { 0x152A, 97769 },
+ { 0x152E, 97775 },
+ { 0x1533, 97781 },
+ { 0x1536, 97787 },
+ { 0x1531, 97793 },
+ { 0x152F, 97799 },
+ { 0x1528, 97805 },
+ { 0x152B, 97811 },
+ { 0x1538, 97817 },
+ { 0x1529, 97823 },
+ { 0x1530, 97829 },
+ { 0x152C, 97835 },
+ { 0x1532, 97841 },
+ { 0x152D, 97847 },
+ { 0x150D, 97853 },
+ { 0x14A6, 97857 },
+ { 0x14A5, 97861 },
+ { 0x14A7, 97864 },
+ { 0x149E, 97866 },
+ { 0x43C9, 97868 },
+ { 0x43DA, 97871 },
+ { 0x43D5, 97874 },
+ { 0x43D7, 97877 },
+ { 0x43E0, 97880 },
+ { 0x43CA, 97883 },
+ { 0x43D9, 97886 },
+ { 0x43C5, 97889 },
+ { 0x43CC, 97892 },
+ { 0x43D1, 97895 },
+ { 0x43DC, 97898 },
+ { 0x43DD, 97901 },
+ { 0x43DF, 97904 },
+ { 0x43CD, 97907 },
+ { 0x43CF, 97910 },
+ { 0x43C3, 97913 },
+ { 0x43C8, 97916 },
+ { 0x43D4, 97920 },
+ { 0x43D6, 97924 },
+ { 0x43C4, 97928 },
+ { 0x43D0, 97932 },
+ { 0x43DE, 97936 },
+ { 0x43CE, 97940 },
+ { 0x43C2, 97944 },
+ { 0x43D2, 97948 },
+ { 0x43C6, 97952 },
+ { 0x43DB, 97955 },
+ { 0x43CB, 97958 },
+ { 0x43C7, 97961 },
+ { 0x43D3, 97964 },
+ { 0x43D8, 97967 },
+ { 0x43E1, 97970 },
+ { 0x43E9, 97973 },
+ { 0x43E7, 97977 },
+ { 0x43E2, 97980 },
+ { 0x43E6, 97983 },
+ { 0x43E4, 97986 },
+ { 0x43E3, 97989 },
+ { 0x43E8, 97992 },
+ { 0x43E5, 97995 },
+ { 0x6916, 97999 },
+ { 0x21F4, 98000 },
+ { 0x43A6, 98001 },
+ { 0x43B3, 98004 },
+ { 0x43AE, 98007 },
+ { 0x43B0, 98010 },
+ { 0x43B8, 98013 },
+ { 0x43A7, 98016 },
+ { 0x43B2, 98019 },
+ { 0x43A3, 98022 },
+ { 0x43A9, 98025 },
+ { 0x43AC, 98028 },
+ { 0x43B5, 98031 },
+ { 0x43B6, 98034 },
+ { 0x43B7, 98037 },
+ { 0x43AA, 98040 },
+ { 0x43AB, 98043 },
+ { 0x43A2, 98046 },
+ { 0x43AF, 98049 },
+ { 0x43A4, 98053 },
+ { 0x43B4, 98056 },
+ { 0x43A8, 98059 },
+ { 0x43A5, 98062 },
+ { 0x43AD, 98065 },
+ { 0x43B1, 98068 },
+ { 0x43BB, 98071 },
+ { 0x43C0, 98074 },
+ { 0x43BC, 98077 },
+ { 0x43BF, 98080 },
+ { 0x43BE, 98083 },
+ { 0x43BD, 98086 },
+ { 0x43C1, 98089 },
+ { 0x43B9, 98092 },
+ { 0x43BA, 98095 },
+ { 0x68F4, 98098 },
+ { 0x1BAD, 98099 },
+ { 0x6B05, 98101 },
+ { 0x220A, 98103 },
+ { 0x21A4, 98104 },
+ { 0x6773, 98107 },
+ { 0x1E2D, 98108 },
+ { 0x2600, 98109 },
+ { 0x1BDB, 98113 },
+ { 0x2532, 98115 },
+ { 0x0002, 98118 },
+ { 0x2199, 98120 },
+ { 0x219A, 98125 },
+ { 0x219B, 98130 },
+ { 0x219C, 98135 },
+ { 0x219D, 98140 },
+ { 0x219E, 98145 },
+ { 0x219F, 98150 },
+ { 0x21A0, 98155 },
+ { 0x1BBF, 98160 },
+ { 0x68C4, 98162 },
+ { 0x2563, 98164 },
+ { 0x6A02, 98167 },
+ { 0x0795, 98169 },
+ { 0x0798, 98172 },
+ { 0x0796, 98175 },
+ { 0x07AC, 98178 },
+ { 0x0797, 98181 },
+ { 0x079A, 98184 },
+ { 0x07A2, 98188 },
+ { 0x079C, 98192 },
+ { 0x07A9, 98196 },
+ { 0x07AA, 98200 },
+ { 0x07A6, 98204 },
+ { 0x079F, 98208 },
+ { 0x07A1, 98212 },
+ { 0x079B, 98217 },
+ { 0x07A8, 98222 },
+ { 0x07A5, 98227 },
+ { 0x079E, 98232 },
+ { 0x07A4, 98237 },
+ { 0x07AB, 98242 },
+ { 0x07A0, 98246 },
+ { 0x079D, 98251 },
+ { 0x078F, 98256 },
+ { 0x078E, 98259 },
+ { 0x0786, 98262 },
+ { 0x0783, 98265 },
+ { 0x0784, 98268 },
+ { 0x0780, 98271 },
+ { 0x078B, 98274 },
+ { 0x078C, 98277 },
+ { 0x0791, 98280 },
+ { 0x0787, 98283 },
+ { 0x0788, 98286 },
+ { 0x0785, 98289 },
+ { 0x077F, 98292 },
+ { 0x0789, 98295 },
+ { 0x0792, 98298 },
+ { 0x0793, 98301 },
+ { 0x0794, 98304 },
+ { 0x0782, 98307 },
+ { 0x0781, 98310 },
+ { 0x078A, 98313 },
+ { 0x078D, 98316 },
+ { 0x0790, 98319 },
+ { 0x07A7, 98322 },
+ { 0x07A3, 98326 },
+ { 0x0799, 98331 },
+ { 0x07B0, 98336 },
+ { 0x07BA, 98339 },
+ { 0x07B8, 98343 },
+ { 0x07B7, 98346 },
+ { 0x07AF, 98349 },
+ { 0x07B6, 98352 },
+ { 0x07B5, 98355 },
+ { 0x07AE, 98358 },
+ { 0x07BB, 98361 },
+ { 0x07B1, 98364 },
+ { 0x07B9, 98367 },
+ { 0x07B4, 98370 },
+ { 0x07AD, 98374 },
+ { 0x07B2, 98377 },
+ { 0x07B3, 98380 },
+ { 0x6B02, 98383 },
+ { 0x6907, 98384 },
+ { 0x67DD, 98386 },
+ { 0x001B, 98387 },
+ { 0x6796, 98388 },
+ { 0x5AE9, 98389 },
+ { 0x5AE8, 98393 },
+ { 0x5AE6, 98397 },
+ { 0x5AE7, 98401 },
+ { 0x226A, 98405 },
+ { 0x6783, 98406 },
+ { 0x68BC, 98407 },
+ { 0x6AC8, 98409 },
+ { 0x1D7B, 98410 },
+ { 0x24C7, 98412 },
+ { 0x24C6, 98416 },
+ { 0x68CC, 98420 },
+ { 0x1F4A, 98423 },
+ { 0x1C02, 98424 },
+ { 0x1C07, 98426 },
+ { 0x1C03, 98428 },
+ { 0x1C06, 98430 },
+ { 0x1C05, 98432 },
+ { 0x1C0E, 98434 },
+ { 0x1C0A, 98437 },
+ { 0x1C0B, 98439 },
+ { 0x1C01, 98442 },
+ { 0x1C09, 98444 },
+ { 0x1C0C, 98446 },
+ { 0x1C0F, 98448 },
+ { 0x1C08, 98451 },
+ { 0x1C04, 98453 },
+ { 0x1C0D, 98455 },
+ { 0x1F0B, 98458 },
+ { 0x2531, 98460 },
+ { 0x1F0C, 98463 },
+ { 0x17A9, 98465 },
+ { 0x17A8, 98468 },
+ { 0x177E, 98471 },
+ { 0x177F, 98474 },
+ { 0x1780, 98477 },
+ { 0x17AF, 98480 },
+ { 0x17B4, 98483 },
+ { 0x17B0, 98486 },
+ { 0x17B3, 98489 },
+ { 0x17B2, 98492 },
+ { 0x17B7, 98495 },
+ { 0x17AE, 98498 },
+ { 0x17B6, 98501 },
+ { 0x17B5, 98504 },
+ { 0x17B1, 98507 },
+ { 0x17A6, 98510 },
+ { 0x17A3, 98514 },
+ { 0x17A2, 98518 },
+ { 0x17A5, 98522 },
+ { 0x17A4, 98526 },
+ { 0x17A7, 98530 },
+ { 0x1781, 98534 },
+ { 0x1786, 98537 },
+ { 0x1782, 98540 },
+ { 0x1785, 98543 },
+ { 0x1783, 98546 },
+ { 0x1784, 98549 },
+ { 0x1796, 98552 },
+ { 0x178C, 98555 },
+ { 0x1791, 98558 },
+ { 0x1787, 98561 },
+ { 0x1794, 98564 },
+ { 0x178A, 98567 },
+ { 0x179E, 98570 },
+ { 0x178D, 98573 },
+ { 0x1788, 98576 },
+ { 0x179A, 98579 },
+ { 0x1797, 98582 },
+ { 0x1792, 98585 },
+ { 0x1793, 98588 },
+ { 0x1789, 98591 },
+ { 0x1799, 98594 },
+ { 0x179C, 98597 },
+ { 0x1790, 98600 },
+ { 0x1795, 98603 },
+ { 0x179B, 98606 },
+ { 0x179D, 98609 },
+ { 0x1798, 98612 },
+ { 0x178E, 98615 },
+ { 0x17BB, 98618 },
+ { 0x17AC, 98621 },
+ { 0x17BA, 98624 },
+ { 0x178B, 98627 },
+ { 0x178F, 98630 },
+ { 0x17B9, 98633 },
+ { 0x17AD, 98636 },
+ { 0x17BC, 98639 },
+ { 0x17BD, 98643 },
+ { 0x17B8, 98647 },
+ { 0x17A1, 98649 },
+ { 0x17A0, 98653 },
+ { 0x17AA, 98657 },
+ { 0x17AB, 98662 },
+ { 0x179F, 98667 },
+ { 0x1877, 98671 },
+ { 0x1876, 98676 },
+ { 0x1875, 98681 },
+ { 0x1874, 98686 },
+ { 0x1873, 98691 },
+ { 0x1870, 98695 },
+ { 0x1872, 98699 },
+ { 0x1871, 98703 },
+ { 0x6761, 98707 },
+ { 0x6973, 98708 },
+ { 0x6770, 98709 },
+ { 0x69A5, 98710 },
+ { 0x1C7E, 98715 },
+ { 0x222C, 98717 },
+ { 0x6904, 98720 },
+ { 0x69A1, 98722 },
+ { 0x1E6E, 98726 },
+ { 0x6953, 98728 },
+ { 0x5D60, 98729 },
+ { 0x5D2A, 98734 },
+ { 0x5D3A, 98737 },
+ { 0x5D30, 98742 },
+ { 0x5D29, 98746 },
+ { 0x5D14, 98749 },
+ { 0x5D50, 98753 },
+ { 0x5D3C, 98756 },
+ { 0x5D53, 98761 },
+ { 0x5D15, 98764 },
+ { 0x5D21, 98767 },
+ { 0x5D3E, 98770 },
+ { 0x5D48, 98773 },
+ { 0x5D51, 98776 },
+ { 0x5D19, 98779 },
+ { 0x5D13, 98782 },
+ { 0x5D2E, 98785 },
+ { 0x5D4A, 98788 },
+ { 0x5D2D, 98792 },
+ { 0x5D43, 98795 },
+ { 0x5D32, 98798 },
+ { 0x5D37, 98801 },
+ { 0x5D42, 98804 },
+ { 0x5D26, 98807 },
+ { 0x5D16, 98810 },
+ { 0x5D5C, 98813 },
+ { 0x5D22, 98816 },
+ { 0x5D56, 98819 },
+ { 0x5D5D, 98822 },
+ { 0x5D23, 98825 },
+ { 0x5D17, 98829 },
+ { 0x5D34, 98833 },
+ { 0x5D4D, 98836 },
+ { 0x5D46, 98839 },
+ { 0x5D31, 98842 },
+ { 0x5D41, 98845 },
+ { 0x5D27, 98848 },
+ { 0x5D52, 98851 },
+ { 0x5D24, 98854 },
+ { 0x5D47, 98857 },
+ { 0x5D38, 98860 },
+ { 0x5D5A, 98863 },
+ { 0x5D1F, 98866 },
+ { 0x5D3B, 98869 },
+ { 0x5D59, 98872 },
+ { 0x5D36, 98875 },
+ { 0x5D44, 98878 },
+ { 0x5D1B, 98883 },
+ { 0x5D33, 98887 },
+ { 0x5D45, 98890 },
+ { 0x5D55, 98893 },
+ { 0x5D54, 98896 },
+ { 0x5D2C, 98899 },
+ { 0x5D25, 98902 },
+ { 0x5D63, 98905 },
+ { 0x5D35, 98908 },
+ { 0x5D4C, 98911 },
+ { 0x5D3F, 98915 },
+ { 0x5D62, 98918 },
+ { 0x5D39, 98921 },
+ { 0x5D58, 98924 },
+ { 0x5D5B, 98927 },
+ { 0x5D5F, 98930 },
+ { 0x5D2B, 98933 },
+ { 0x5D1D, 98936 },
+ { 0x5D3D, 98939 },
+ { 0x5D57, 98942 },
+ { 0x5D1A, 98945 },
+ { 0x5D28, 98948 },
+ { 0x5D5E, 98951 },
+ { 0x5D18, 98954 },
+ { 0x5D40, 98957 },
+ { 0x5D4B, 98960 },
+ { 0x5D20, 98963 },
+ { 0x5D4E, 98966 },
+ { 0x5D2F, 98969 },
+ { 0x5D61, 98972 },
+ { 0x5D49, 98975 },
+ { 0x5D1E, 98978 },
+ { 0x5D1C, 98981 },
+ { 0x5D4F, 98986 },
+ { 0x1D8D, 98989 },
+ { 0x69D6, 98990 },
+ { 0x2198, 98991 },
+ { 0x21D5, 98994 },
+ { 0x6919, 98997 },
+ { 0x6B07, 98999 },
+ { 0x6B4F, 99003 },
+ { 0x6B4C, 99007 },
+ { 0x6B5E, 99011 },
+ { 0x6B2F, 99016 },
+ { 0x6B50, 99021 },
+ { 0x6B4B, 99025 },
+ { 0x6B0C, 99029 },
+ { 0x6B0E, 99034 },
+ { 0x6B0D, 99039 },
+ { 0x6B0F, 99044 },
+ { 0x6B71, 99049 },
+ { 0x6B72, 99055 },
+ { 0x6B52, 99061 },
+ { 0x6B08, 99065 },
+ { 0x6B20, 99069 },
+ { 0x6B78, 99073 },
+ { 0x6B79, 99078 },
+ { 0x6B74, 99083 },
+ { 0x6B22, 99087 },
+ { 0x6B23, 99092 },
+ { 0x6B30, 99097 },
+ { 0x6B1E, 99102 },
+ { 0x6B1F, 99107 },
+ { 0x6B1A, 99112 },
+ { 0x6B2C, 99116 },
+ { 0x6B33, 99123 },
+ { 0x6B5A, 99129 },
+ { 0x6B5D, 99133 },
+ { 0x6B15, 99137 },
+ { 0x6B48, 99142 },
+ { 0x6B5F, 99146 },
+ { 0x6B54, 99150 },
+ { 0x6B09, 99155 },
+ { 0x6B5C, 99159 },
+ { 0x6B77, 99164 },
+ { 0x6B75, 99168 },
+ { 0x6B1B, 99172 },
+ { 0x6B47, 99176 },
+ { 0x6B53, 99181 },
+ { 0x6B5B, 99185 },
+ { 0x6B0A, 99189 },
+ { 0x6B3C, 99193 },
+ { 0x6B26, 99197 },
+ { 0x6B2B, 99202 },
+ { 0x6B24, 99207 },
+ { 0x6B29, 99213 },
+ { 0x6B2A, 99219 },
+ { 0x6B51, 99225 },
+ { 0x6B69, 99229 },
+ { 0x6B73, 99233 },
+ { 0x6B21, 99237 },
+ { 0x6B4D, 99241 },
+ { 0x6B13, 99245 },
+ { 0x6B45, 99249 },
+ { 0x6B70, 99253 },
+ { 0x6B61, 99257 },
+ { 0x6B40, 99261 },
+ { 0x6B44, 99265 },
+ { 0x6B49, 99270 },
+ { 0x6B4A, 99274 },
+ { 0x6B66, 99278 },
+ { 0x6B16, 99282 },
+ { 0x6B17, 99287 },
+ { 0x6B18, 99292 },
+ { 0x6B41, 99297 },
+ { 0x6B38, 99301 },
+ { 0x6B25, 99305 },
+ { 0x6B36, 99311 },
+ { 0x6B37, 99317 },
+ { 0x6B55, 99323 },
+ { 0x6B58, 99329 },
+ { 0x6B62, 99334 },
+ { 0x6B63, 99340 },
+ { 0x6B57, 99346 },
+ { 0x6B10, 99350 },
+ { 0x6B35, 99354 },
+ { 0x6B1C, 99360 },
+ { 0x6B3D, 99364 },
+ { 0x6B31, 99368 },
+ { 0x6B56, 99373 },
+ { 0x6B19, 99377 },
+ { 0x6B6B, 99381 },
+ { 0x6B67, 99385 },
+ { 0x6B60, 99389 },
+ { 0x6B46, 99394 },
+ { 0x6B4E, 99398 },
+ { 0x6B76, 99402 },
+ { 0x6B59, 99406 },
+ { 0x6B3E, 99410 },
+ { 0x6B42, 99414 },
+ { 0x6B39, 99418 },
+ { 0x6B3A, 99422 },
+ { 0x6B3B, 99426 },
+ { 0x6B2D, 99430 },
+ { 0x6B34, 99438 },
+ { 0x6B28, 99446 },
+ { 0x6B32, 99452 },
+ { 0x6B2E, 99458 },
+ { 0x6B11, 99462 },
+ { 0x6B12, 99466 },
+ { 0x6B1D, 99470 },
+ { 0x6B0B, 99474 },
+ { 0x6B6C, 99478 },
+ { 0x6B6D, 99482 },
+ { 0x6B6E, 99486 },
+ { 0x6B6F, 99490 },
+ { 0x6B68, 99494 },
+ { 0x6B43, 99498 },
+ { 0x6B27, 99502 },
+ { 0x6B65, 99507 },
+ { 0x6B64, 99511 },
+ { 0x6B14, 99515 },
+ { 0x6B6A, 99520 },
+ { 0x6B06, 99524 },
+ { 0x6B3F, 99528 },
+ { 0x0007, 99532 },
+ { 0x1DA9, 99533 },
+ { 0x6A56, 99536 },
+ { 0x6ABB, 99538 },
+ { 0x67E6, 99539 },
+ { 0x3CAA, 99542 },
+ { 0x3CA6, 99545 },
+ { 0x003E, 99547 },
+ { 0x0020, 99549 },
+ { 0x1BD6, 99551 },
+ { 0x1D5A, 99554 },
+ { 0x6A3A, 99555 },
+ { 0x1EDA, 99557 },
+ { 0x6812, 99560 },
+ { 0x2131, 99562 },
+ { 0x085B, 99564 },
+ { 0x36E7, 99566 },
+ { 0x36EB, 99569 },
+ { 0x087C, 99572 },
+ { 0x0847, 99577 },
+ { 0x36E2, 99580 },
+ { 0x0858, 99585 },
+ { 0x36EA, 99588 },
+ { 0x36E0, 99591 },
+ { 0x080E, 99595 },
+ { 0x080D, 99598 },
+ { 0x0848, 99601 },
+ { 0x080B, 99604 },
+ { 0x36E6, 99608 },
+ { 0x080C, 99611 },
+ { 0x36E3, 99614 },
+ { 0x36E4, 99618 },
+ { 0x36E1, 99622 },
+ { 0x36E5, 99626 },
+ { 0x085F, 99630 },
+ { 0x36E8, 99633 },
+ { 0x086F, 99635 },
+ { 0x0872, 99637 },
+ { 0x0877, 99640 },
+ { 0x0873, 99643 },
+ { 0x0876, 99646 },
+ { 0x0875, 99649 },
+ { 0x087A, 99652 },
+ { 0x0871, 99655 },
+ { 0x0879, 99658 },
+ { 0x0878, 99661 },
+ { 0x0874, 99664 },
+ { 0x085E, 99667 },
+ { 0x0852, 99670 },
+ { 0x084A, 99674 },
+ { 0x0856, 99678 },
+ { 0x084C, 99682 },
+ { 0x0849, 99686 },
+ { 0x0853, 99690 },
+ { 0x0857, 99694 },
+ { 0x085A, 99698 },
+ { 0x084B, 99702 },
+ { 0x0845, 99706 },
+ { 0x0861, 99710 },
+ { 0x084D, 99714 },
+ { 0x0846, 99718 },
+ { 0x0862, 99722 },
+ { 0x0851, 99726 },
+ { 0x0855, 99731 },
+ { 0x0850, 99736 },
+ { 0x0854, 99741 },
+ { 0x0860, 99746 },
+ { 0x086D, 99752 },
+ { 0x084E, 99757 },
+ { 0x086E, 99762 },
+ { 0x084F, 99767 },
+ { 0x0859, 99772 },
+ { 0x0870, 99777 },
+ { 0x0810, 99780 },
+ { 0x081A, 99783 },
+ { 0x0812, 99786 },
+ { 0x081E, 99789 },
+ { 0x0814, 99792 },
+ { 0x0811, 99795 },
+ { 0x081B, 99798 },
+ { 0x081F, 99801 },
+ { 0x0880, 99804 },
+ { 0x0837, 99807 },
+ { 0x0825, 99810 },
+ { 0x0831, 99813 },
+ { 0x0869, 99816 },
+ { 0x0822, 99819 },
+ { 0x0844, 99822 },
+ { 0x0813, 99825 },
+ { 0x0827, 99828 },
+ { 0x0820, 99831 },
+ { 0x083D, 99834 },
+ { 0x0839, 99837 },
+ { 0x0833, 99840 },
+ { 0x087E, 99843 },
+ { 0x0835, 99846 },
+ { 0x0863, 99849 },
+ { 0x083B, 99852 },
+ { 0x0843, 99855 },
+ { 0x082F, 99858 },
+ { 0x0881, 99861 },
+ { 0x0815, 99864 },
+ { 0x0840, 99867 },
+ { 0x083A, 99870 },
+ { 0x0866, 99873 },
+ { 0x088A, 99876 },
+ { 0x0838, 99879 },
+ { 0x0826, 99882 },
+ { 0x082C, 99885 },
+ { 0x0832, 99888 },
+ { 0x0886, 99891 },
+ { 0x0823, 99894 },
+ { 0x0828, 99897 },
+ { 0x0887, 99900 },
+ { 0x0821, 99903 },
+ { 0x083E, 99906 },
+ { 0x0824, 99909 },
+ { 0x082E, 99912 },
+ { 0x0829, 99915 },
+ { 0x087F, 99918 },
+ { 0x0836, 99921 },
+ { 0x0868, 99924 },
+ { 0x083C, 99927 },
+ { 0x0841, 99930 },
+ { 0x0842, 99933 },
+ { 0x0830, 99936 },
+ { 0x082A, 99939 },
+ { 0x0882, 99942 },
+ { 0x086A, 99945 },
+ { 0x0884, 99948 },
+ { 0x0889, 99951 },
+ { 0x082D, 99954 },
+ { 0x0865, 99957 },
+ { 0x0864, 99960 },
+ { 0x083F, 99963 },
+ { 0x0834, 99966 },
+ { 0x082B, 99969 },
+ { 0x0867, 99972 },
+ { 0x0885, 99975 },
+ { 0x080F, 99979 },
+ { 0x0819, 99983 },
+ { 0x081D, 99987 },
+ { 0x087D, 99991 },
+ { 0x0818, 99995 },
+ { 0x081C, 99999 },
+ { 0x0888, 100003 },
+ { 0x0883, 100007 },
+ { 0x0817, 100011 },
+ { 0x0816, 100015 },
+ { 0x086C, 100019 },
+ { 0x086B, 100023 },
+ { 0x085C, 100027 },
+ { 0x085D, 100031 },
+ { 0x36E9, 100035 },
+ { 0x087B, 100037 },
+ { 0x1DA8, 100040 },
+ { 0x1F40, 100042 },
+ { 0x1DA6, 100044 },
+ { 0x259E, 100046 },
+ { 0x6879, 100051 },
+ { 0x6889, 100052 },
+ { 0x272E, 100053 },
+ { 0x273D, 100057 },
+ { 0x2749, 100061 },
+ { 0x2746, 100065 },
+ { 0x2723, 100069 },
+ { 0x274B, 100073 },
+ { 0x2734, 100078 },
+ { 0x273C, 100082 },
+ { 0x2741, 100086 },
+ { 0x273F, 100090 },
+ { 0x2739, 100094 },
+ { 0x2724, 100098 },
+ { 0x274D, 100102 },
+ { 0x273B, 100106 },
+ { 0x272C, 100110 },
+ { 0x2730, 100114 },
+ { 0x273E, 100118 },
+ { 0x2725, 100122 },
+ { 0x2744, 100126 },
+ { 0x2743, 100130 },
+ { 0x2742, 100134 },
+ { 0x2727, 100138 },
+ { 0x272A, 100142 },
+ { 0x273A, 100146 },
+ { 0x2733, 100150 },
+ { 0x2736, 100154 },
+ { 0x2737, 100158 },
+ { 0x2747, 100162 },
+ { 0x2748, 100167 },
+ { 0x2728, 100174 },
+ { 0x2740, 100178 },
+ { 0x272F, 100182 },
+ { 0x2735, 100186 },
+ { 0x2738, 100190 },
+ { 0x272B, 100194 },
+ { 0x2726, 100198 },
+ { 0x272D, 100202 },
+ { 0x274C, 100207 },
+ { 0x274A, 100213 },
+ { 0x274E, 100219 },
+ { 0x2731, 100223 },
+ { 0x2732, 100227 },
+ { 0x274F, 100231 },
+ { 0x2745, 100235 },
+ { 0x2729, 100240 },
+ { 0x2751, 100244 },
+ { 0x2750, 100249 },
+ { 0x26FF, 100254 },
+ { 0x270E, 100258 },
+ { 0x271A, 100262 },
+ { 0x2717, 100266 },
+ { 0x26F4, 100270 },
+ { 0x271C, 100274 },
+ { 0x2705, 100279 },
+ { 0x270D, 100283 },
+ { 0x2712, 100287 },
+ { 0x2710, 100291 },
+ { 0x270A, 100295 },
+ { 0x26F5, 100299 },
+ { 0x271E, 100303 },
+ { 0x270C, 100307 },
+ { 0x26FD, 100311 },
+ { 0x2701, 100315 },
+ { 0x270F, 100319 },
+ { 0x26F6, 100323 },
+ { 0x2715, 100327 },
+ { 0x2714, 100331 },
+ { 0x2713, 100335 },
+ { 0x26F8, 100339 },
+ { 0x26FB, 100343 },
+ { 0x270B, 100347 },
+ { 0x2704, 100351 },
+ { 0x2707, 100355 },
+ { 0x2708, 100359 },
+ { 0x2718, 100363 },
+ { 0x2719, 100368 },
+ { 0x26F9, 100375 },
+ { 0x2711, 100379 },
+ { 0x2700, 100383 },
+ { 0x2706, 100387 },
+ { 0x2709, 100391 },
+ { 0x26FC, 100395 },
+ { 0x26F7, 100399 },
+ { 0x26FE, 100403 },
+ { 0x271D, 100408 },
+ { 0x271B, 100414 },
+ { 0x271F, 100420 },
+ { 0x2702, 100424 },
+ { 0x2703, 100428 },
+ { 0x2720, 100432 },
+ { 0x2716, 100436 },
+ { 0x26FA, 100441 },
+ { 0x2722, 100445 },
+ { 0x2721, 100450 },
+ { 0x67B9, 100455 },
+ { 0x6AA5, 100457 },
+ { 0x6AA8, 100458 },
+ { 0x6AA9, 100460 },
+ { 0x1D94, 100465 },
+ { 0x1B99, 100466 },
+ { 0x26A2, 100468 },
+ { 0x1F08, 100471 },
+ { 0x21CF, 100474 },
+ { 0x1F13, 100479 },
+ { 0x1F14, 100482 },
+ { 0x1F15, 100485 },
+ { 0x1F16, 100488 },
+ { 0x2649, 100491 },
+ { 0x26E2, 100494 },
+ { 0x6AC9, 100497 },
+ { 0x1BAA, 100500 },
+ { 0x1EE7, 100502 },
+ { 0x2502, 100504 },
+ { 0x44E2, 100506 },
+ { 0x44E4, 100510 },
+ { 0x44E3, 100514 },
+ { 0x44BD, 100517 },
+ { 0x44BF, 100522 },
+ { 0x44BE, 100525 },
+ { 0x44E6, 100528 },
+ { 0x44E7, 100531 },
+ { 0x44E9, 100534 },
+ { 0x44E8, 100537 },
+ { 0x44BA, 100540 },
+ { 0x44B7, 100544 },
+ { 0x44BB, 100548 },
+ { 0x44B8, 100552 },
+ { 0x44B9, 100556 },
+ { 0x44BC, 100561 },
+ { 0x44B6, 100565 },
+ { 0x44D4, 100568 },
+ { 0x44C4, 100571 },
+ { 0x44CF, 100574 },
+ { 0x44C2, 100577 },
+ { 0x44DF, 100580 },
+ { 0x44C6, 100583 },
+ { 0x44C0, 100586 },
+ { 0x44D9, 100589 },
+ { 0x44D6, 100592 },
+ { 0x44D1, 100595 },
+ { 0x44D2, 100598 },
+ { 0x44D8, 100601 },
+ { 0x44DD, 100604 },
+ { 0x44CD, 100607 },
+ { 0x44DA, 100610 },
+ { 0x44D7, 100613 },
+ { 0x44DE, 100616 },
+ { 0x44D5, 100619 },
+ { 0x44C5, 100622 },
+ { 0x44CA, 100625 },
+ { 0x44D0, 100628 },
+ { 0x44C3, 100631 },
+ { 0x44C1, 100634 },
+ { 0x44E0, 100637 },
+ { 0x44CC, 100640 },
+ { 0x44C7, 100643 },
+ { 0x44D3, 100646 },
+ { 0x44DB, 100649 },
+ { 0x44DC, 100652 },
+ { 0x44CE, 100655 },
+ { 0x44C8, 100658 },
+ { 0x44CB, 100661 },
+ { 0x44C9, 100664 },
+ { 0x44E1, 100667 },
+ { 0x44EC, 100670 },
+ { 0x44ED, 100674 },
+ { 0x44EA, 100678 },
+ { 0x44EB, 100681 },
+ { 0x44E5, 100684 },
+ { 0x44EE, 100686 },
+ { 0x44F4, 100689 },
+ { 0x44F6, 100692 },
+ { 0x44F3, 100695 },
+ { 0x44EF, 100698 },
+ { 0x44F0, 100702 },
+ { 0x44F5, 100705 },
+ { 0x44F1, 100709 },
+ { 0x44F2, 100713 },
+ { 0x453F, 100716 },
+ { 0x4553, 100719 },
+ { 0x453D, 100722 },
+ { 0x4552, 100725 },
+ { 0x454D, 100728 },
+ { 0x454E, 100731 },
+ { 0x455B, 100734 },
+ { 0x453E, 100737 },
+ { 0x4550, 100740 },
+ { 0x4538, 100743 },
+ { 0x4544, 100746 },
+ { 0x4547, 100749 },
+ { 0x4555, 100752 },
+ { 0x4558, 100755 },
+ { 0x4559, 100758 },
+ { 0x4545, 100761 },
+ { 0x4548, 100764 },
+ { 0x4556, 100767 },
+ { 0x4546, 100770 },
+ { 0x4551, 100773 },
+ { 0x4537, 100776 },
+ { 0x4539, 100779 },
+ { 0x453A, 100782 },
+ { 0x4542, 100785 },
+ { 0x4549, 100788 },
+ { 0x4557, 100791 },
+ { 0x4554, 100794 },
+ { 0x455A, 100797 },
+ { 0x4540, 100800 },
+ { 0x453C, 100803 },
+ { 0x453B, 100806 },
+ { 0x4543, 100809 },
+ { 0x454A, 100812 },
+ { 0x454F, 100815 },
+ { 0x4541, 100818 },
+ { 0x454B, 100821 },
+ { 0x454C, 100824 },
+ { 0x455E, 100827 },
+ { 0x4562, 100830 },
+ { 0x4560, 100834 },
+ { 0x455F, 100837 },
+ { 0x4561, 100840 },
+ { 0x4567, 100843 },
+ { 0x4566, 100846 },
+ { 0x4568, 100851 },
+ { 0x4569, 100855 },
+ { 0x4563, 100859 },
+ { 0x4565, 100862 },
+ { 0x4564, 100868 },
+ { 0x455C, 100871 },
+ { 0x455D, 100875 },
+ { 0x67CA, 100879 },
+ { 0x6952, 100880 },
+ { 0x1EE6, 100881 },
+ { 0x2603, 100883 },
+ { 0x2133, 100884 },
+ { 0x6ADA, 100885 },
+ { 0x67D3, 100886 },
+ { 0x1404, 100888 },
+ { 0x1403, 100891 },
+ { 0x4420, 100894 },
+ { 0x4408, 100897 },
+ { 0x4414, 100900 },
+ { 0x4413, 100903 },
+ { 0x4404, 100906 },
+ { 0x4405, 100909 },
+ { 0x440B, 100912 },
+ { 0x440E, 100915 },
+ { 0x4410, 100918 },
+ { 0x4411, 100921 },
+ { 0x4416, 100924 },
+ { 0x4419, 100927 },
+ { 0x440C, 100930 },
+ { 0x4409, 100933 },
+ { 0x440D, 100936 },
+ { 0x440A, 100939 },
+ { 0x4407, 100942 },
+ { 0x4406, 100945 },
+ { 0x440F, 100948 },
+ { 0x4417, 100951 },
+ { 0x4415, 100954 },
+ { 0x4412, 100957 },
+ { 0x4418, 100960 },
+ { 0x441A, 100963 },
+ { 0x441D, 100966 },
+ { 0x441B, 100970 },
+ { 0x441E, 100973 },
+ { 0x441F, 100976 },
+ { 0x441C, 100979 },
+ { 0x0070, 100982 },
+ { 0x6AEB, 100984 },
+ { 0x1E5E, 100986 },
+ { 0x1D90, 100987 },
+ { 0x253C, 100988 },
+ { 0x1DB8, 100991 },
+ { 0x006D, 100994 },
+ { 0x2206, 100996 },
+ { 0x2207, 100999 },
+ { 0x245E, 101002 },
+ { 0x6C58, 101006 },
+ { 0x1CF9, 101011 },
+ { 0x1CF6, 101015 },
+ { 0x1CEB, 101018 },
+ { 0x1D3E, 101020 },
+ { 0x2444, 101024 },
+ { 0x1CFF, 101029 },
+ { 0x2446, 101033 },
+ { 0x1D1D, 101040 },
+ { 0x2635, 101045 },
+ { 0x2634, 101050 },
+ { 0x1D03, 101055 },
+ { 0x1D05, 101059 },
+ { 0x246B, 101063 },
+ { 0x1CFC, 101068 },
+ { 0x243B, 101072 },
+ { 0x243A, 101080 },
+ { 0x6BD9, 101087 },
+ { 0x6BD1, 101093 },
+ { 0x6BDD, 101099 },
+ { 0x1D0D, 101105 },
+ { 0x2437, 101110 },
+ { 0x1D54, 101115 },
+ { 0x6BD5, 101121 },
+ { 0x1CF4, 101127 },
+ { 0x6C4F, 101131 },
+ { 0x1D51, 101136 },
+ { 0x6BE1, 101141 },
+ { 0x2468, 101146 },
+ { 0x249A, 101152 },
+ { 0x249B, 101157 },
+ { 0x2672, 101163 },
+ { 0x266E, 101169 },
+ { 0x246D, 101176 },
+ { 0x266A, 101180 },
+ { 0x2669, 101184 },
+ { 0x26B9, 101188 },
+ { 0x26AE, 101191 },
+ { 0x6C11, 101196 },
+ { 0x6C0D, 101199 },
+ { 0x1D41, 101203 },
+ { 0x1D49, 101206 },
+ { 0x6C4B, 101211 },
+ { 0x6C56, 101217 },
+ { 0x1D3B, 101222 },
+ { 0x2433, 101225 },
+ { 0x1D2B, 101229 },
+ { 0x242D, 101232 },
+ { 0x1D28, 101237 },
+ { 0x2429, 101242 },
+ { 0x2442, 101248 },
+ { 0x1D22, 101251 },
+ { 0x6A92, 101254 },
+ { 0x2435, 101256 },
+ { 0x1D34, 101260 },
+ { 0x1D25, 101263 },
+ { 0x2479, 101268 },
+ { 0x2481, 101275 },
+ { 0x2492, 101282 },
+ { 0x248E, 101290 },
+ { 0x248A, 101301 },
+ { 0x247D, 101312 },
+ { 0x2485, 101319 },
+ { 0x248F, 101326 },
+ { 0x2493, 101337 },
+ { 0x1D19, 101345 },
+ { 0x1D1A, 101350 },
+ { 0x6C05, 101355 },
+ { 0x1D36, 101358 },
+ { 0x6C47, 101361 },
+ { 0x266C, 101364 },
+ { 0x2440, 101367 },
+ { 0x6C09, 101369 },
+ { 0x6C15, 101372 },
+ { 0x242B, 101375 },
+ { 0x243C, 101380 },
+ { 0x243E, 101385 },
+ { 0x243D, 101394 },
+ { 0x2427, 101402 },
+ { 0x26F2, 101409 },
+ { 0x2426, 101415 },
+ { 0x2436, 101421 },
+ { 0x6C5E, 101426 },
+ { 0x6C01, 101431 },
+ { 0x6C5C, 101434 },
+ { 0x1D57, 101438 },
+ { 0x6C60, 101441 },
+ { 0x6C5A, 101446 },
+ { 0x2688, 101450 },
+ { 0x2698, 101453 },
+ { 0x26A6, 101458 },
+ { 0x6BF5, 101465 },
+ { 0x26C7, 101471 },
+ { 0x26C9, 101478 },
+ { 0x6BFD, 101485 },
+ { 0x6BF9, 101492 },
+ { 0x26A0, 101498 },
+ { 0x26A0, 101505 },
+ { 0x6BF1, 101512 },
+ { 0x6BED, 101518 },
+ { 0x2692, 101524 },
+ { 0x26AA, 101528 },
+ { 0x6A9C, 101532 },
+ { 0x6A9B, 101540 },
+ { 0x6A9A, 101547 },
+ { 0x6A9E, 101555 },
+ { 0x36C1, 101558 },
+ { 0x367E, 101561 },
+ { 0x367D, 101564 },
+ { 0x36C2, 101567 },
+ { 0x36C5, 101569 },
+ { 0x36CA, 101572 },
+ { 0x36C6, 101575 },
+ { 0x36C9, 101578 },
+ { 0x36C8, 101581 },
+ { 0x36CD, 101584 },
+ { 0x36C4, 101587 },
+ { 0x36CC, 101590 },
+ { 0x36CB, 101593 },
+ { 0x36C7, 101596 },
+ { 0x36BB, 101599 },
+ { 0x36B3, 101603 },
+ { 0x36BE, 101607 },
+ { 0x36B5, 101611 },
+ { 0x36B2, 101615 },
+ { 0x36BD, 101619 },
+ { 0x36C0, 101623 },
+ { 0x36BC, 101627 },
+ { 0x36B4, 101631 },
+ { 0x36BF, 101635 },
+ { 0x36B6, 101639 },
+ { 0x36B9, 101643 },
+ { 0x36B7, 101648 },
+ { 0x36BA, 101653 },
+ { 0x36B8, 101658 },
+ { 0x36C3, 101663 },
+ { 0x367F, 101666 },
+ { 0x3689, 101669 },
+ { 0x3681, 101672 },
+ { 0x368C, 101675 },
+ { 0x3683, 101678 },
+ { 0x3680, 101681 },
+ { 0x368B, 101684 },
+ { 0x368E, 101687 },
+ { 0x36A5, 101690 },
+ { 0x3694, 101693 },
+ { 0x36A0, 101696 },
+ { 0x368A, 101699 },
+ { 0x3691, 101702 },
+ { 0x36AF, 101705 },
+ { 0x3682, 101708 },
+ { 0x3696, 101711 },
+ { 0x368F, 101714 },
+ { 0x36AA, 101717 },
+ { 0x36A7, 101720 },
+ { 0x36A2, 101723 },
+ { 0x368D, 101726 },
+ { 0x36A3, 101729 },
+ { 0x36A9, 101732 },
+ { 0x36AE, 101735 },
+ { 0x369E, 101738 },
+ { 0x3684, 101741 },
+ { 0x36AB, 101744 },
+ { 0x36A8, 101747 },
+ { 0x36A6, 101750 },
+ { 0x3695, 101753 },
+ { 0x369B, 101756 },
+ { 0x36A1, 101759 },
+ { 0x3692, 101762 },
+ { 0x3697, 101765 },
+ { 0x3690, 101768 },
+ { 0x36B0, 101771 },
+ { 0x3693, 101774 },
+ { 0x369D, 101777 },
+ { 0x3698, 101780 },
+ { 0x36A4, 101783 },
+ { 0x36AC, 101786 },
+ { 0x36AD, 101789 },
+ { 0x369F, 101792 },
+ { 0x3699, 101795 },
+ { 0x369C, 101798 },
+ { 0x369A, 101801 },
+ { 0x3687, 101804 },
+ { 0x3685, 101808 },
+ { 0x3688, 101812 },
+ { 0x3686, 101816 },
+ { 0x36B1, 101820 },
+ { 0x2558, 101824 },
+ { 0x1ED6, 101829 },
+ { 0x6A22, 101832 },
+ { 0x1B8A, 101835 },
+ { 0x6779, 101837 },
+ { 0x6AC3, 101838 },
+ { 0x6920, 101840 },
+ { 0x6ACD, 101841 },
+ { 0x68F6, 101845 },
+ { 0x1BA7, 101847 },
+ { 0x6AB2, 101849 },
+ { 0x67F6, 101850 },
+ { 0x676F, 101851 },
+ { 0x21A5, 101852 },
+ { 0x1EE0, 101854 },
+ { 0x6ABF, 101857 },
+ { 0x22D1, 101859 },
+ { 0x2681, 101864 },
+ { 0x2683, 101870 },
+ { 0x2536, 101876 },
+ { 0x1EDD, 101878 },
+ { 0x6A00, 101880 },
+ { 0x2132, 101881 },
+ { 0x6810, 101882 },
+ { 0x1DB1, 101884 },
+ { 0x1E8D, 101886 },
+ { 0x1E8E, 101887 },
+ { 0x25BF, 101888 },
+ { 0x25C0, 101893 },
+ { 0x25C1, 101898 },
+ { 0x25C2, 101904 },
+ { 0x261F, 101910 },
+ { 0x2620, 101916 },
+ { 0x1DB3, 101922 },
+ { 0x0001, 101924 },
+ { 0x1BCD, 101926 },
+ { 0x1B89, 101929 },
+ { 0x6886, 101931 },
+ { 0x1BAB, 101933 },
+ { 0x2A59, 101935 },
+ { 0x2A96, 101938 },
+ { 0x2A58, 101942 },
+ { 0x2A81, 101944 },
+ { 0x2A57, 101948 },
+ { 0x2A5E, 101950 },
+ { 0x2A82, 101953 },
+ { 0x2A5D, 101957 },
+ { 0x2A84, 101960 },
+ { 0x2A83, 101964 },
+ { 0x2A5C, 101968 },
+ { 0x2A8E, 101971 },
+ { 0x2E18, 101977 },
+ { 0x2E1D, 101983 },
+ { 0x2E21, 101989 },
+ { 0x2E19, 101995 },
+ { 0x2E1C, 102001 },
+ { 0x2E1B, 102007 },
+ { 0x2E20, 102013 },
+ { 0x2E1F, 102019 },
+ { 0x2E1E, 102025 },
+ { 0x2E1A, 102031 },
+ { 0x2E22, 102037 },
+ { 0x2E35, 102043 },
+ { 0x2E23, 102049 },
+ { 0x2E2B, 102055 },
+ { 0x2E26, 102061 },
+ { 0x2E27, 102067 },
+ { 0x2E29, 102073 },
+ { 0x2E25, 102079 },
+ { 0x2E2A, 102085 },
+ { 0x2E24, 102091 },
+ { 0x2E28, 102097 },
+ { 0x2E36, 102103 },
+ { 0x2E2C, 102109 },
+ { 0x2E31, 102115 },
+ { 0x2E2D, 102121 },
+ { 0x2E30, 102127 },
+ { 0x2E2F, 102133 },
+ { 0x2E34, 102139 },
+ { 0x2E33, 102145 },
+ { 0x2E32, 102151 },
+ { 0x2E2E, 102157 },
+ { 0x2CFD, 102163 },
+ { 0x2D91, 102168 },
+ { 0x2D96, 102174 },
+ { 0x2D9A, 102180 },
+ { 0x2D92, 102186 },
+ { 0x2D95, 102192 },
+ { 0x2D94, 102198 },
+ { 0x2D99, 102204 },
+ { 0x2D90, 102210 },
+ { 0x2D98, 102216 },
+ { 0x2D97, 102222 },
+ { 0x2D93, 102228 },
+ { 0x2D9B, 102234 },
+ { 0x2D9C, 102240 },
+ { 0x2DA4, 102246 },
+ { 0x2D9F, 102252 },
+ { 0x2DA0, 102258 },
+ { 0x2DA2, 102264 },
+ { 0x2D9E, 102270 },
+ { 0x2DA3, 102276 },
+ { 0x2D9D, 102282 },
+ { 0x2DA1, 102288 },
+ { 0x2DA5, 102294 },
+ { 0x2DA6, 102300 },
+ { 0x2DA8, 102306 },
+ { 0x2DA7, 102312 },
+ { 0x2CFF, 102318 },
+ { 0x2CFE, 102323 },
+ { 0x2CFC, 102328 },
+ { 0x2CFB, 102333 },
+ { 0x2D00, 102338 },
+ { 0x2CF9, 102343 },
+ { 0x2D02, 102348 },
+ { 0x2D04, 102353 },
+ { 0x2CFA, 102358 },
+ { 0x2D03, 102363 },
+ { 0x2D01, 102368 },
+ { 0x2A95, 102373 },
+ { 0x2BEA, 102376 },
+ { 0x2BDD, 102380 },
+ { 0x2BE1, 102384 },
+ { 0x2BDE, 102388 },
+ { 0x2BE0, 102392 },
+ { 0x2BE9, 102396 },
+ { 0x2BE4, 102400 },
+ { 0x2BE6, 102404 },
+ { 0x2BDF, 102408 },
+ { 0x2BE3, 102412 },
+ { 0x2BE7, 102416 },
+ { 0x2BE8, 102420 },
+ { 0x2BE2, 102424 },
+ { 0x2BE5, 102428 },
+ { 0x2BDB, 102432 },
+ { 0x2BDC, 102436 },
+ { 0x2A4F, 102440 },
+ { 0x2A4B, 102445 },
+ { 0x2A4D, 102451 },
+ { 0x2A4C, 102459 },
+ { 0x2A4E, 102465 },
+ { 0x2A56, 102473 },
+ { 0x2A52, 102477 },
+ { 0x2A50, 102483 },
+ { 0x2A51, 102489 },
+ { 0x2A55, 102495 },
+ { 0x2A53, 102502 },
+ { 0x2A54, 102509 },
+ { 0x68A7, 102516 },
+ { 0x1C96, 102519 },
+ { 0x1E13, 102521 },
+ { 0x3E34, 102522 },
+ { 0x3E35, 102525 },
+ { 0x3E36, 102528 },
+ { 0x21CA, 102531 },
+ { 0x1BC1, 102536 },
+ { 0x0D0B, 102537 },
+ { 0x0D0D, 102540 },
+ { 0x053D, 102545 },
+ { 0x220C, 102549 },
+ { 0x22D0, 102552 },
+ { 0x6996, 102556 },
+ { 0x6C64, 102558 },
+ { 0x6AD5, 102560 },
+ { 0x28CE, 102563 },
+ { 0x2C89, 102564 },
+ { 0x6A47, 102566 },
+ { 0x1E5F, 102568 },
+ { 0x1B8C, 102569 },
+ { 0x2148, 102571 },
+ { 0x3E38, 102573 },
+ { 0x2176, 102575 },
+ { 0x6A6C, 102576 },
+ { 0x21E0, 102578 },
+ { 0x6391, 102579 },
+ { 0x6392, 102584 },
+ { 0x638F, 102589 },
+ { 0x6390, 102593 },
+ { 0x6377, 102597 },
+ { 0x6371, 102600 },
+ { 0x6372, 102604 },
+ { 0x63AE, 102608 },
+ { 0x63AF, 102613 },
+ { 0x626B, 102618 },
+ { 0x626D, 102621 },
+ { 0x626C, 102624 },
+ { 0x638A, 102627 },
+ { 0x6373, 102629 },
+ { 0x6375, 102633 },
+ { 0x636E, 102637 },
+ { 0x6374, 102640 },
+ { 0x6370, 102644 },
+ { 0x636F, 102647 },
+ { 0x6376, 102650 },
+ { 0x6362, 102654 },
+ { 0x6363, 102662 },
+ { 0x6361, 102671 },
+ { 0x63E6, 102678 },
+ { 0x63E7, 102681 },
+ { 0x63E8, 102684 },
+ { 0x63E9, 102687 },
+ { 0x63EA, 102690 },
+ { 0x63E2, 102693 },
+ { 0x63C5, 102696 },
+ { 0x6359, 102698 },
+ { 0x635A, 102700 },
+ { 0x6360, 102703 },
+ { 0x635C, 102707 },
+ { 0x635E, 102711 },
+ { 0x635B, 102715 },
+ { 0x635F, 102719 },
+ { 0x635D, 102723 },
+ { 0x63D1, 102727 },
+ { 0x63D2, 102730 },
+ { 0x63D3, 102733 },
+ { 0x63D4, 102736 },
+ { 0x63D5, 102739 },
+ { 0x63D6, 102742 },
+ { 0x63D7, 102745 },
+ { 0x63D0, 102748 },
+ { 0x63AD, 102751 },
+ { 0x63C4, 102755 },
+ { 0x638C, 102757 },
+ { 0x638B, 102760 },
+ { 0x638E, 102763 },
+ { 0x638D, 102766 },
+ { 0x6268, 102769 },
+ { 0x626A, 102772 },
+ { 0x6269, 102775 },
+ { 0x63E4, 102778 },
+ { 0x63E1, 102780 },
+ { 0x6275, 102782 },
+ { 0x6277, 102786 },
+ { 0x6276, 102790 },
+ { 0x6278, 102794 },
+ { 0x6279, 102798 },
+ { 0x6262, 102801 },
+ { 0x6264, 102804 },
+ { 0x6263, 102807 },
+ { 0x63A7, 102810 },
+ { 0x63A8, 102813 },
+ { 0x63A9, 102817 },
+ { 0x63A1, 102821 },
+ { 0x63A3, 102825 },
+ { 0x63A2, 102830 },
+ { 0x639E, 102835 },
+ { 0x639F, 102839 },
+ { 0x63A0, 102843 },
+ { 0x63A4, 102847 },
+ { 0x63A6, 102851 },
+ { 0x63A5, 102856 },
+ { 0x639B, 102861 },
+ { 0x639D, 102864 },
+ { 0x639C, 102868 },
+ { 0x6398, 102872 },
+ { 0x639A, 102875 },
+ { 0x6399, 102879 },
+ { 0x63AA, 102883 },
+ { 0x63AC, 102886 },
+ { 0x63AB, 102890 },
+ { 0x6397, 102894 },
+ { 0x6396, 102898 },
+ { 0x6395, 102902 },
+ { 0x63B0, 102906 },
+ { 0x63B2, 102909 },
+ { 0x63B1, 102913 },
+ { 0x63BB, 102917 },
+ { 0x63BF, 102919 },
+ { 0x63C0, 102923 },
+ { 0x63BD, 102928 },
+ { 0x63BE, 102932 },
+ { 0x63C1, 102937 },
+ { 0x63BC, 102941 },
+ { 0x6389, 102944 },
+ { 0x6387, 102948 },
+ { 0x6388, 102952 },
+ { 0x625F, 102956 },
+ { 0x6261, 102959 },
+ { 0x6260, 102962 },
+ { 0x63CF, 102965 },
+ { 0x6394, 102972 },
+ { 0x6393, 102975 },
+ { 0x6384, 102978 },
+ { 0x6386, 102981 },
+ { 0x6385, 102984 },
+ { 0x6369, 102987 },
+ { 0x6368, 102992 },
+ { 0x636A, 102997 },
+ { 0x6367, 103002 },
+ { 0x63D8, 103007 },
+ { 0x6265, 103009 },
+ { 0x6267, 103012 },
+ { 0x6266, 103015 },
+ { 0x63B5, 103018 },
+ { 0x63B6, 103023 },
+ { 0x63B8, 103029 },
+ { 0x63BA, 103034 },
+ { 0x63B9, 103039 },
+ { 0x63B7, 103044 },
+ { 0x63B4, 103049 },
+ { 0x63B3, 103053 },
+ { 0x6351, 103058 },
+ { 0x6352, 103061 },
+ { 0x6357, 103064 },
+ { 0x6353, 103069 },
+ { 0x6358, 103072 },
+ { 0x6354, 103075 },
+ { 0x6350, 103078 },
+ { 0x634F, 103082 },
+ { 0x6355, 103086 },
+ { 0x6356, 103089 },
+ { 0x627A, 103093 },
+ { 0x6270, 103097 },
+ { 0x6272, 103101 },
+ { 0x6271, 103105 },
+ { 0x6273, 103109 },
+ { 0x6274, 103113 },
+ { 0x626F, 103116 },
+ { 0x626E, 103119 },
+ { 0x6364, 103122 },
+ { 0x6366, 103126 },
+ { 0x6365, 103130 },
+ { 0x636C, 103134 },
+ { 0x636B, 103137 },
+ { 0x636D, 103140 },
+ { 0x61C7, 103143 },
+ { 0x61CB, 103145 },
+ { 0x61AD, 103149 },
+ { 0x61AE, 103154 },
+ { 0x61C6, 103160 },
+ { 0x61CA, 103163 },
+ { 0x61C8, 103168 },
+ { 0x61CC, 103173 },
+ { 0x615C, 103178 },
+ { 0x621A, 103181 },
+ { 0x6246, 103186 },
+ { 0x6247, 103190 },
+ { 0x61C9, 103195 },
+ { 0x61CD, 103199 },
+ { 0x622A, 103203 },
+ { 0x63DE, 103208 },
+ { 0x63DD, 103212 },
+ { 0x63E0, 103215 },
+ { 0x63DF, 103219 },
+ { 0x63DC, 103222 },
+ { 0x63DB, 103225 },
+ { 0x63EB, 103228 },
+ { 0x63EC, 103231 },
+ { 0x63ED, 103234 },
+ { 0x63EE, 103237 },
+ { 0x63EF, 103240 },
+ { 0x63F0, 103243 },
+ { 0x63F1, 103246 },
+ { 0x63F2, 103249 },
+ { 0x63F3, 103252 },
+ { 0x63F4, 103255 },
+ { 0x63F5, 103258 },
+ { 0x63F6, 103261 },
+ { 0x63F7, 103264 },
+ { 0x63F8, 103267 },
+ { 0x63F9, 103270 },
+ { 0x63C7, 103273 },
+ { 0x63C8, 103277 },
+ { 0x63CB, 103281 },
+ { 0x6378, 103286 },
+ { 0x6379, 103289 },
+ { 0x637A, 103292 },
+ { 0x61C0, 103295 },
+ { 0x61C2, 103297 },
+ { 0x61A3, 103301 },
+ { 0x6243, 103306 },
+ { 0x61C1, 103313 },
+ { 0x61C3, 103317 },
+ { 0x6230, 103321 },
+ { 0x6231, 103327 },
+ { 0x625D, 103334 },
+ { 0x61A4, 103336 },
+ { 0x625E, 103342 },
+ { 0x6208, 103345 },
+ { 0x6205, 103349 },
+ { 0x6211, 103353 },
+ { 0x6212, 103357 },
+ { 0x620A, 103361 },
+ { 0x620E, 103365 },
+ { 0x6210, 103369 },
+ { 0x620F, 103375 },
+ { 0x6209, 103380 },
+ { 0x615A, 103385 },
+ { 0x616D, 103388 },
+ { 0x617E, 103394 },
+ { 0x617F, 103402 },
+ { 0x6160, 103410 },
+ { 0x6177, 103414 },
+ { 0x6214, 103420 },
+ { 0x6240, 103425 },
+ { 0x6236, 103430 },
+ { 0x623C, 103435 },
+ { 0x623B, 103442 },
+ { 0x623D, 103449 },
+ { 0x623A, 103456 },
+ { 0x6238, 103463 },
+ { 0x6239, 103470 },
+ { 0x6244, 103477 },
+ { 0x6242, 103484 },
+ { 0x6195, 103491 },
+ { 0x6194, 103499 },
+ { 0x6245, 103507 },
+ { 0x6191, 103512 },
+ { 0x618B, 103519 },
+ { 0x619D, 103526 },
+ { 0x6196, 103533 },
+ { 0x623F, 103540 },
+ { 0x623E, 103547 },
+ { 0x6241, 103554 },
+ { 0x6164, 103559 },
+ { 0x6165, 103563 },
+ { 0x6166, 103567 },
+ { 0x616E, 103572 },
+ { 0x6180, 103578 },
+ { 0x6168, 103586 },
+ { 0x6181, 103590 },
+ { 0x616A, 103598 },
+ { 0x617B, 103603 },
+ { 0x61E0, 103610 },
+ { 0x61E5, 103615 },
+ { 0x61E6, 103621 },
+ { 0x6203, 103627 },
+ { 0x6178, 103633 },
+ { 0x617C, 103638 },
+ { 0x6199, 103644 },
+ { 0x6198, 103650 },
+ { 0x6182, 103657 },
+ { 0x6185, 103663 },
+ { 0x6184, 103669 },
+ { 0x6183, 103675 },
+ { 0x6197, 103681 },
+ { 0x616C, 103688 },
+ { 0x617D, 103693 },
+ { 0x61FE, 103701 },
+ { 0x616B, 103706 },
+ { 0x6174, 103712 },
+ { 0x618D, 103717 },
+ { 0x617A, 103724 },
+ { 0x616F, 103731 },
+ { 0x6170, 103736 },
+ { 0x6187, 103743 },
+ { 0x6189, 103750 },
+ { 0x6188, 103758 },
+ { 0x618E, 103766 },
+ { 0x6172, 103773 },
+ { 0x618F, 103779 },
+ { 0x6173, 103787 },
+ { 0x618C, 103793 },
+ { 0x6171, 103801 },
+ { 0x6163, 103808 },
+ { 0x624F, 103813 },
+ { 0x6250, 103816 },
+ { 0x6259, 103820 },
+ { 0x625C, 103826 },
+ { 0x6253, 103833 },
+ { 0x6251, 103838 },
+ { 0x6252, 103843 },
+ { 0x6258, 103848 },
+ { 0x625B, 103854 },
+ { 0x6162, 103860 },
+ { 0x625A, 103866 },
+ { 0x61ED, 103872 },
+ { 0x6257, 103878 },
+ { 0x6255, 103884 },
+ { 0x6186, 103890 },
+ { 0x6256, 103897 },
+ { 0x6254, 103903 },
+ { 0x61EC, 103907 },
+ { 0x61F2, 103911 },
+ { 0x61E8, 103915 },
+ { 0x61EB, 103919 },
+ { 0x61EA, 103925 },
+ { 0x61E9, 103931 },
+ { 0x61FA, 103937 },
+ { 0x61F6, 103941 },
+ { 0x61F4, 103946 },
+ { 0x61F1, 103950 },
+ { 0x61F3, 103955 },
+ { 0x6220, 103960 },
+ { 0x6223, 103964 },
+ { 0x6176, 103970 },
+ { 0x621E, 103976 },
+ { 0x6227, 103980 },
+ { 0x619A, 103985 },
+ { 0x619B, 103993 },
+ { 0x619C, 104001 },
+ { 0x6190, 104008 },
+ { 0x618A, 104015 },
+ { 0x6225, 104022 },
+ { 0x6192, 104027 },
+ { 0x6193, 104034 },
+ { 0x6226, 104041 },
+ { 0x6222, 104045 },
+ { 0x61B4, 104050 },
+ { 0x61A6, 104052 },
+ { 0x61AA, 104057 },
+ { 0x61A8, 104063 },
+ { 0x61AC, 104070 },
+ { 0x61B1, 104077 },
+ { 0x61B3, 104083 },
+ { 0x61B2, 104091 },
+ { 0x619E, 104099 },
+ { 0x619F, 104103 },
+ { 0x61A0, 104108 },
+ { 0x61A1, 104113 },
+ { 0x61A2, 104118 },
+ { 0x61B6, 104124 },
+ { 0x61A7, 104127 },
+ { 0x61AB, 104133 },
+ { 0x61A9, 104140 },
+ { 0x61B8, 104148 },
+ { 0x61BB, 104153 },
+ { 0x61BC, 104159 },
+ { 0x61BD, 104163 },
+ { 0x61BE, 104169 },
+ { 0x61BF, 104176 },
+ { 0x61B9, 104180 },
+ { 0x61B7, 104184 },
+ { 0x61BA, 104188 },
+ { 0x61B5, 104192 },
+ { 0x61C5, 104197 },
+ { 0x6213, 104199 },
+ { 0x6218, 104203 },
+ { 0x6217, 104209 },
+ { 0x6219, 104215 },
+ { 0x6234, 104221 },
+ { 0x6233, 104227 },
+ { 0x6232, 104234 },
+ { 0x6224, 104241 },
+ { 0x61C4, 104245 },
+ { 0x61D1, 104248 },
+ { 0x61D3, 104250 },
+ { 0x61B0, 104254 },
+ { 0x620C, 104259 },
+ { 0x615D, 104263 },
+ { 0x61D2, 104266 },
+ { 0x61D4, 104270 },
+ { 0x61EF, 104274 },
+ { 0x63E3, 104278 },
+ { 0x63C9, 104280 },
+ { 0x63C6, 104285 },
+ { 0x63CA, 104287 },
+ { 0x61DF, 104292 },
+ { 0x6207, 104294 },
+ { 0x620D, 104302 },
+ { 0x615F, 104306 },
+ { 0x621D, 104309 },
+ { 0x621C, 104314 },
+ { 0x624E, 104320 },
+ { 0x624D, 104324 },
+ { 0x624C, 104329 },
+ { 0x61E3, 104334 },
+ { 0x6202, 104339 },
+ { 0x61F0, 104344 },
+ { 0x61FD, 104348 },
+ { 0x61F9, 104352 },
+ { 0x61F8, 104359 },
+ { 0x622E, 104367 },
+ { 0x622D, 104372 },
+ { 0x622C, 104378 },
+ { 0x61D7, 104384 },
+ { 0x61DC, 104386 },
+ { 0x61AF, 104390 },
+ { 0x61A5, 104396 },
+ { 0x61D5, 104401 },
+ { 0x61DB, 104404 },
+ { 0x61D9, 104409 },
+ { 0x61D6, 104414 },
+ { 0x6201, 104419 },
+ { 0x6206, 104422 },
+ { 0x615E, 104430 },
+ { 0x621B, 104433 },
+ { 0x624A, 104438 },
+ { 0x6248, 104442 },
+ { 0x6237, 104447 },
+ { 0x6249, 104452 },
+ { 0x624B, 104457 },
+ { 0x6235, 104462 },
+ { 0x61E2, 104466 },
+ { 0x61E7, 104471 },
+ { 0x6200, 104477 },
+ { 0x61D8, 104482 },
+ { 0x61DA, 104485 },
+ { 0x61DD, 104489 },
+ { 0x61DE, 104495 },
+ { 0x61E4, 104501 },
+ { 0x61FC, 104504 },
+ { 0x61F7, 104508 },
+ { 0x61F5, 104513 },
+ { 0x621F, 104517 },
+ { 0x622B, 104520 },
+ { 0x61D0, 104525 },
+ { 0x620B, 104527 },
+ { 0x615B, 104531 },
+ { 0x6161, 104534 },
+ { 0x6215, 104538 },
+ { 0x6167, 104543 },
+ { 0x6169, 104547 },
+ { 0x61E1, 104551 },
+ { 0x6204, 104556 },
+ { 0x6179, 104562 },
+ { 0x61FF, 104567 },
+ { 0x6175, 104572 },
+ { 0x61EE, 104577 },
+ { 0x61FB, 104581 },
+ { 0x6221, 104585 },
+ { 0x6228, 104589 },
+ { 0x622F, 104594 },
+ { 0x63E5, 104600 },
+ { 0x61CF, 104602 },
+ { 0x61CE, 104604 },
+ { 0x6216, 104607 },
+ { 0x6229, 104613 },
+ { 0x627B, 104619 },
+ { 0x627C, 104624 },
+ { 0x627F, 104629 },
+ { 0x6280, 104635 },
+ { 0x627D, 104641 },
+ { 0x627E, 104645 },
+ { 0x6281, 104649 },
+ { 0x63CD, 104655 },
+ { 0x63CC, 104659 },
+ { 0x63CE, 104663 },
+ { 0x62AD, 104666 },
+ { 0x62AC, 104671 },
+ { 0x62AE, 104676 },
+ { 0x62AB, 104681 },
+ { 0x62A6, 104684 },
+ { 0x62A5, 104688 },
+ { 0x62A7, 104692 },
+ { 0x62A9, 104696 },
+ { 0x62A8, 104700 },
+ { 0x62AA, 104704 },
+ { 0x6381, 104708 },
+ { 0x6383, 104711 },
+ { 0x637B, 104714 },
+ { 0x637C, 104717 },
+ { 0x637D, 104721 },
+ { 0x62B1, 104725 },
+ { 0x62AF, 104729 },
+ { 0x62B0, 104733 },
+ { 0x62B2, 104737 },
+ { 0x62B9, 104741 },
+ { 0x62B7, 104746 },
+ { 0x62B8, 104751 },
+ { 0x62BA, 104756 },
+ { 0x62BD, 104761 },
+ { 0x62BB, 104766 },
+ { 0x62BC, 104771 },
+ { 0x62BE, 104776 },
+ { 0x62B5, 104781 },
+ { 0x62B3, 104785 },
+ { 0x62B4, 104789 },
+ { 0x62B6, 104793 },
+ { 0x62E1, 104797 },
+ { 0x62DF, 104800 },
+ { 0x62DE, 104804 },
+ { 0x62E0, 104808 },
+ { 0x62DC, 104812 },
+ { 0x62DB, 104816 },
+ { 0x62DD, 104820 },
+ { 0x6382, 104824 },
+ { 0x637E, 104827 },
+ { 0x637F, 104830 },
+ { 0x6380, 104834 },
+ { 0x63D9, 104838 },
+ { 0x633F, 104841 },
+ { 0x633D, 104847 },
+ { 0x6340, 104853 },
+ { 0x633E, 104859 },
+ { 0x629E, 104865 },
+ { 0x629C, 104869 },
+ { 0x629D, 104873 },
+ { 0x63C2, 104877 },
+ { 0x6294, 104880 },
+ { 0x6292, 104884 },
+ { 0x6293, 104888 },
+ { 0x62EE, 104892 },
+ { 0x62EC, 104896 },
+ { 0x62ED, 104900 },
+ { 0x6308, 104904 },
+ { 0x6301, 104909 },
+ { 0x62F1, 104915 },
+ { 0x62EF, 104919 },
+ { 0x62F2, 104923 },
+ { 0x62F0, 104928 },
+ { 0x6309, 104932 },
+ { 0x6302, 104937 },
+ { 0x62F5, 104943 },
+ { 0x62F3, 104949 },
+ { 0x62F4, 104955 },
+ { 0x62F8, 104961 },
+ { 0x62F6, 104967 },
+ { 0x62F7, 104973 },
+ { 0x630A, 104979 },
+ { 0x6303, 104984 },
+ { 0x6310, 104990 },
+ { 0x630E, 104996 },
+ { 0x630F, 105002 },
+ { 0x629B, 105008 },
+ { 0x6299, 105012 },
+ { 0x629A, 105016 },
+ { 0x628D, 105020 },
+ { 0x62F9, 105023 },
+ { 0x6307, 105028 },
+ { 0x6300, 105033 },
+ { 0x62E4, 105039 },
+ { 0x62E2, 105044 },
+ { 0x62E3, 105049 },
+ { 0x62E5, 105054 },
+ { 0x62E8, 105059 },
+ { 0x62E6, 105064 },
+ { 0x62E7, 105069 },
+ { 0x62E9, 105074 },
+ { 0x62EA, 105079 },
+ { 0x62EB, 105085 },
+ { 0x62A4, 105091 },
+ { 0x62A2, 105095 },
+ { 0x62A3, 105099 },
+ { 0x6348, 105103 },
+ { 0x6347, 105109 },
+ { 0x6297, 105115 },
+ { 0x6295, 105119 },
+ { 0x6296, 105123 },
+ { 0x6298, 105127 },
+ { 0x62FA, 105131 },
+ { 0x62FB, 105136 },
+ { 0x628A, 105141 },
+ { 0x6289, 105146 },
+ { 0x628B, 105150 },
+ { 0x628C, 105154 },
+ { 0x634C, 105160 },
+ { 0x634B, 105165 },
+ { 0x6282, 105170 },
+ { 0x6288, 105174 },
+ { 0x6286, 105179 },
+ { 0x6284, 105184 },
+ { 0x6285, 105189 },
+ { 0x6287, 105194 },
+ { 0x628F, 105199 },
+ { 0x628E, 105204 },
+ { 0x6290, 105209 },
+ { 0x6291, 105213 },
+ { 0x62A1, 105219 },
+ { 0x629F, 105223 },
+ { 0x62A0, 105227 },
+ { 0x62FF, 105231 },
+ { 0x62FD, 105234 },
+ { 0x630C, 105237 },
+ { 0x6305, 105242 },
+ { 0x62FC, 105248 },
+ { 0x630B, 105251 },
+ { 0x6304, 105256 },
+ { 0x62FE, 105262 },
+ { 0x630D, 105265 },
+ { 0x6306, 105270 },
+ { 0x63DA, 105276 },
+ { 0x6346, 105279 },
+ { 0x6343, 105287 },
+ { 0x6344, 105295 },
+ { 0x6341, 105303 },
+ { 0x6345, 105311 },
+ { 0x6342, 105319 },
+ { 0x62D4, 105327 },
+ { 0x62D2, 105331 },
+ { 0x62D3, 105335 },
+ { 0x63C3, 105339 },
+ { 0x62CD, 105342 },
+ { 0x6334, 105345 },
+ { 0x6323, 105349 },
+ { 0x6322, 105356 },
+ { 0x6325, 105363 },
+ { 0x6324, 105371 },
+ { 0x6314, 105379 },
+ { 0x6316, 105386 },
+ { 0x6313, 105393 },
+ { 0x6315, 105400 },
+ { 0x6335, 105407 },
+ { 0x6329, 105411 },
+ { 0x6327, 105418 },
+ { 0x6328, 105425 },
+ { 0x6326, 105432 },
+ { 0x631A, 105439 },
+ { 0x6318, 105446 },
+ { 0x6319, 105453 },
+ { 0x6317, 105460 },
+ { 0x6338, 105467 },
+ { 0x6337, 105471 },
+ { 0x6336, 105475 },
+ { 0x632B, 105479 },
+ { 0x632A, 105485 },
+ { 0x631C, 105491 },
+ { 0x631B, 105497 },
+ { 0x62D1, 105503 },
+ { 0x62C8, 105506 },
+ { 0x6331, 105509 },
+ { 0x632F, 105513 },
+ { 0x6330, 105517 },
+ { 0x6321, 105521 },
+ { 0x6320, 105527 },
+ { 0x6312, 105533 },
+ { 0x6311, 105539 },
+ { 0x6332, 105545 },
+ { 0x6333, 105549 },
+ { 0x62DA, 105553 },
+ { 0x62D8, 105557 },
+ { 0x62D9, 105561 },
+ { 0x634A, 105565 },
+ { 0x6349, 105572 },
+ { 0x62D0, 105579 },
+ { 0x62CE, 105583 },
+ { 0x62CF, 105587 },
+ { 0x62C5, 105591 },
+ { 0x62C4, 105596 },
+ { 0x62C6, 105600 },
+ { 0x62C7, 105604 },
+ { 0x634E, 105610 },
+ { 0x634D, 105617 },
+ { 0x6283, 105624 },
+ { 0x62C3, 105628 },
+ { 0x62C1, 105633 },
+ { 0x62BF, 105638 },
+ { 0x62C0, 105643 },
+ { 0x62C2, 105648 },
+ { 0x62CA, 105653 },
+ { 0x62C9, 105658 },
+ { 0x62CC, 105663 },
+ { 0x62CB, 105669 },
+ { 0x62D7, 105674 },
+ { 0x62D5, 105678 },
+ { 0x62D6, 105682 },
+ { 0x633C, 105686 },
+ { 0x633A, 105690 },
+ { 0x632D, 105693 },
+ { 0x631E, 105698 },
+ { 0x6339, 105703 },
+ { 0x632C, 105706 },
+ { 0x631D, 105711 },
+ { 0x633B, 105716 },
+ { 0x632E, 105719 },
+ { 0x631F, 105724 },
+ { 0x67E8, 105729 },
+ { 0x0078, 105730 },
+ { 0x1BF7, 105732 },
+ { 0x0071, 105734 },
+ { 0x1BF6, 105736 },
+ { 0x1BF5, 105738 },
+ { 0x1BFE, 105740 },
+ { 0x1BFA, 105743 },
+ { 0x1BFB, 105745 },
+ { 0x1BF3, 105748 },
+ { 0x1BF9, 105750 },
+ { 0x1BF4, 105752 },
+ { 0x1C00, 105757 },
+ { 0x1BFC, 105762 },
+ { 0x1BFF, 105764 },
+ { 0x1BF8, 105767 },
+ { 0x0072, 105769 },
+ { 0x1BFD, 105771 },
+ { 0x6747, 105774 },
+ { 0x2601, 105775 },
+ { 0x26EF, 105777 },
+ { 0x6960, 105779 },
+ { 0x6962, 105782 },
+ { 0x6AFD, 105786 },
+ { 0x6AFC, 105789 },
+ { 0x6AFB, 105791 },
+ { 0x2113, 105794 },
+ { 0x2114, 105800 },
+ { 0x6A67, 105806 },
+ { 0x69F5, 105808 },
+ { 0x1C75, 105809 },
+ { 0x6C2A, 105812 },
+ { 0x6C42, 105817 },
+ { 0x6C3A, 105824 },
+ { 0x6C22, 105830 },
+ { 0x6C32, 105836 },
+ { 0x6C29, 105842 },
+ { 0x6C41, 105847 },
+ { 0x6C39, 105854 },
+ { 0x6C21, 105860 },
+ { 0x6C31, 105866 },
+ { 0x6C2B, 105872 },
+ { 0x6C43, 105877 },
+ { 0x6C3B, 105884 },
+ { 0x6C23, 105890 },
+ { 0x6C33, 105896 },
+ { 0x6C2C, 105902 },
+ { 0x6C44, 105907 },
+ { 0x6C3C, 105914 },
+ { 0x6C24, 105920 },
+ { 0x6C34, 105926 },
+ { 0x6C26, 105932 },
+ { 0x6C3E, 105936 },
+ { 0x6C36, 105942 },
+ { 0x6C1E, 105947 },
+ { 0x6C2E, 105952 },
+ { 0x6C28, 105957 },
+ { 0x6C40, 105961 },
+ { 0x6C38, 105967 },
+ { 0x6C20, 105972 },
+ { 0x6C30, 105977 },
+ { 0x6C25, 105982 },
+ { 0x6C3D, 105986 },
+ { 0x6C35, 105992 },
+ { 0x6C1D, 105997 },
+ { 0x6C2D, 106002 },
+ { 0x6C27, 106007 },
+ { 0x6C3F, 106011 },
+ { 0x6C37, 106017 },
+ { 0x6C1F, 106022 },
+ { 0x6C2F, 106027 },
+ { 0x1CAA, 106032 },
+ { 0x2565, 106033 },
+ { 0x05A0, 106036 },
+ { 0x059F, 106041 },
+ { 0x059C, 106045 },
+ { 0x05F6, 106048 },
+ { 0x05FB, 106051 },
+ { 0x05F7, 106054 },
+ { 0x05FA, 106057 },
+ { 0x05F9, 106060 },
+ { 0x05FE, 106063 },
+ { 0x05F5, 106066 },
+ { 0x05FD, 106069 },
+ { 0x05FC, 106072 },
+ { 0x05F8, 106075 },
+ { 0x059D, 106078 },
+ { 0x2208, 106081 },
+ { 0x1C8A, 106085 },
+ { 0x1C69, 106088 },
+ { 0x1C6E, 106091 },
+ { 0x1C79, 106094 },
+ { 0x1C85, 106097 },
+ { 0x69FD, 106100 },
+ { 0x6ACB, 106102 },
+ { 0x689D, 106104 },
+ { 0x1E86, 106106 },
+ { 0x6A49, 106107 },
+ { 0x6A42, 106111 },
+ { 0x2505, 106113 },
+ { 0x2519, 106115 },
+ { 0x2515, 106118 },
+ { 0x2517, 106121 },
+ { 0x2518, 106124 },
+ { 0x2514, 106127 },
+ { 0x2516, 106130 },
+ { 0x21C2, 106133 },
+ { 0x684B, 106134 },
+ { 0x22D2, 106137 },
+ { 0x1DBE, 106142 },
+ { 0x25A4, 106146 },
+ { 0x25A8, 106151 },
+ { 0x25AA, 106159 },
+ { 0x25A6, 106168 },
+ { 0x1DD0, 106176 },
+ { 0x1DCC, 106179 },
+ { 0x25AC, 106183 },
+ { 0x25B0, 106186 },
+ { 0x25AE, 106190 },
+ { 0x1DC2, 106196 },
+ { 0x1E40, 106201 },
+ { 0x1DC0, 106206 },
+ { 0x001E, 106210 },
+ { 0x1E30, 106212 },
+ { 0x25A0, 106215 },
+ { 0x25A2, 106219 },
+ { 0x25B4, 106224 },
+ { 0x25B6, 106229 },
+ { 0x25BA, 106234 },
+ { 0x25B8, 106243 },
+ { 0x249E, 106249 },
+ { 0x25B2, 106253 },
+ { 0x1E34, 106259 },
+ { 0x25CB, 106264 },
+ { 0x25CD, 106267 },
+ { 0x25CF, 106271 },
+ { 0x25CA, 106278 },
+ { 0x6A6D, 106281 },
+ { 0x000D, 106283 },
+ { 0x28D1, 106284 },
+ { 0x1D82, 106285 },
+ { 0x2566, 106286 },
+ { 0x256A, 106289 },
+ { 0x2569, 106293 },
+ { 0x256F, 106296 },
+ { 0x256D, 106301 },
+ { 0x2571, 106304 },
+ { 0x603D, 106310 },
+ { 0x603B, 106314 },
+ { 0x603C, 106318 },
+ { 0x6129, 106322 },
+ { 0x612E, 106326 },
+ { 0x612A, 106330 },
+ { 0x612D, 106334 },
+ { 0x612C, 106338 },
+ { 0x6131, 106342 },
+ { 0x6128, 106346 },
+ { 0x6130, 106350 },
+ { 0x612F, 106354 },
+ { 0x612B, 106358 },
+ { 0x603A, 106362 },
+ { 0x601D, 106366 },
+ { 0x5D90, 106369 },
+ { 0x5D91, 106373 },
+ { 0x5D92, 106377 },
+ { 0x5D93, 106381 },
+ { 0x5D94, 106385 },
+ { 0x5D95, 106389 },
+ { 0x5D96, 106393 },
+ { 0x5D97, 106397 },
+ { 0x5D98, 106401 },
+ { 0x5D99, 106405 },
+ { 0x5D9A, 106409 },
+ { 0x5D9B, 106413 },
+ { 0x5D9C, 106417 },
+ { 0x5D9D, 106421 },
+ { 0x5D9E, 106425 },
+ { 0x5D9F, 106429 },
+ { 0x5DA0, 106433 },
+ { 0x5DA1, 106437 },
+ { 0x5DA2, 106441 },
+ { 0x5DA3, 106445 },
+ { 0x5DA4, 106449 },
+ { 0x5DA5, 106453 },
+ { 0x5DA6, 106457 },
+ { 0x5DA7, 106461 },
+ { 0x5DA8, 106465 },
+ { 0x5DA9, 106469 },
+ { 0x6029, 106473 },
+ { 0x602A, 106477 },
+ { 0x602D, 106481 },
+ { 0x602B, 106485 },
+ { 0x6034, 106489 },
+ { 0x6024, 106493 },
+ { 0x6033, 106497 },
+ { 0x6035, 106501 },
+ { 0x602E, 106505 },
+ { 0x6031, 106509 },
+ { 0x601F, 106513 },
+ { 0x6026, 106517 },
+ { 0x6023, 106521 },
+ { 0x601E, 106525 },
+ { 0x6021, 106529 },
+ { 0x602F, 106533 },
+ { 0x6020, 106538 },
+ { 0x6027, 106542 },
+ { 0x6028, 106546 },
+ { 0x6036, 106550 },
+ { 0x6030, 106554 },
+ { 0x6025, 106558 },
+ { 0x6127, 106562 },
+ { 0x6022, 106566 },
+ { 0x602C, 106570 },
+ { 0x6032, 106574 },
+ { 0x6039, 106578 },
+ { 0x60B1, 106582 },
+ { 0x60AF, 106587 },
+ { 0x60B0, 106592 },
+ { 0x60AE, 106597 },
+ { 0x6091, 106602 },
+ { 0x5DF7, 106606 },
+ { 0x5DF8, 106611 },
+ { 0x5DF9, 106616 },
+ { 0x5DFA, 106621 },
+ { 0x5DFB, 106626 },
+ { 0x5DFC, 106631 },
+ { 0x5DFD, 106636 },
+ { 0x5DFE, 106641 },
+ { 0x5DFF, 106646 },
+ { 0x5E00, 106651 },
+ { 0x5E01, 106656 },
+ { 0x5E02, 106661 },
+ { 0x5E03, 106666 },
+ { 0x5E04, 106671 },
+ { 0x5E05, 106676 },
+ { 0x5E06, 106681 },
+ { 0x5E07, 106686 },
+ { 0x5E08, 106691 },
+ { 0x5E09, 106696 },
+ { 0x5E0A, 106701 },
+ { 0x5E0B, 106706 },
+ { 0x5E0C, 106711 },
+ { 0x5E0D, 106716 },
+ { 0x5E0E, 106721 },
+ { 0x5E0F, 106726 },
+ { 0x5E10, 106731 },
+ { 0x609D, 106736 },
+ { 0x609E, 106741 },
+ { 0x60A1, 106746 },
+ { 0x609F, 106751 },
+ { 0x60A8, 106756 },
+ { 0x6098, 106761 },
+ { 0x60A7, 106766 },
+ { 0x60A9, 106771 },
+ { 0x60A2, 106776 },
+ { 0x60A5, 106781 },
+ { 0x6093, 106786 },
+ { 0x609A, 106791 },
+ { 0x6097, 106796 },
+ { 0x6092, 106801 },
+ { 0x6095, 106806 },
+ { 0x60A3, 106811 },
+ { 0x6094, 106817 },
+ { 0x609B, 106822 },
+ { 0x609C, 106827 },
+ { 0x60AA, 106832 },
+ { 0x60A4, 106837 },
+ { 0x6099, 106842 },
+ { 0x6096, 106847 },
+ { 0x60A0, 106852 },
+ { 0x60A6, 106857 },
+ { 0x60AD, 106862 },
+ { 0x5DDD, 106867 },
+ { 0x5DDE, 106872 },
+ { 0x5DDF, 106877 },
+ { 0x5DE0, 106882 },
+ { 0x5DE1, 106887 },
+ { 0x5DE2, 106892 },
+ { 0x5DE3, 106897 },
+ { 0x5DE4, 106902 },
+ { 0x5DE5, 106907 },
+ { 0x5DE6, 106912 },
+ { 0x5DE7, 106917 },
+ { 0x5DE8, 106922 },
+ { 0x5DE9, 106927 },
+ { 0x5DEA, 106932 },
+ { 0x5DEB, 106937 },
+ { 0x5DEC, 106942 },
+ { 0x5DED, 106947 },
+ { 0x5DEE, 106952 },
+ { 0x5DEF, 106957 },
+ { 0x5DF0, 106962 },
+ { 0x5DF1, 106967 },
+ { 0x5DF2, 106972 },
+ { 0x5DF3, 106977 },
+ { 0x5DF4, 106982 },
+ { 0x5DF5, 106987 },
+ { 0x5DF6, 106992 },
+ { 0x6083, 106997 },
+ { 0x6084, 107002 },
+ { 0x6087, 107007 },
+ { 0x6085, 107012 },
+ { 0x608E, 107017 },
+ { 0x607E, 107022 },
+ { 0x608D, 107027 },
+ { 0x608F, 107032 },
+ { 0x6088, 107037 },
+ { 0x608B, 107042 },
+ { 0x6079, 107047 },
+ { 0x6080, 107052 },
+ { 0x607D, 107057 },
+ { 0x6078, 107062 },
+ { 0x607B, 107067 },
+ { 0x607A, 107072 },
+ { 0x6081, 107077 },
+ { 0x6082, 107082 },
+ { 0x6090, 107087 },
+ { 0x608A, 107092 },
+ { 0x607F, 107097 },
+ { 0x6089, 107102 },
+ { 0x607C, 107108 },
+ { 0x6086, 107113 },
+ { 0x608C, 107118 },
+ { 0x60AC, 107123 },
+ { 0x60AB, 107128 },
+ { 0x5E54, 107133 },
+ { 0x5E55, 107138 },
+ { 0x5E56, 107143 },
+ { 0x5E57, 107148 },
+ { 0x5E58, 107153 },
+ { 0x5E59, 107158 },
+ { 0x5E5A, 107163 },
+ { 0x5E5B, 107168 },
+ { 0x5E5C, 107173 },
+ { 0x5E5D, 107178 },
+ { 0x5E5E, 107183 },
+ { 0x5E5F, 107188 },
+ { 0x5E60, 107193 },
+ { 0x5E61, 107198 },
+ { 0x5E62, 107203 },
+ { 0x5E63, 107208 },
+ { 0x5E64, 107213 },
+ { 0x5E65, 107218 },
+ { 0x5E66, 107223 },
+ { 0x5E67, 107228 },
+ { 0x5E68, 107233 },
+ { 0x5E69, 107238 },
+ { 0x5E6A, 107243 },
+ { 0x5E6B, 107248 },
+ { 0x5E6C, 107253 },
+ { 0x5E6D, 107258 },
+ { 0x5E3A, 107263 },
+ { 0x5E3B, 107268 },
+ { 0x5E3C, 107273 },
+ { 0x5E3D, 107278 },
+ { 0x5E3E, 107283 },
+ { 0x5E3F, 107288 },
+ { 0x5E40, 107293 },
+ { 0x5E41, 107298 },
+ { 0x5E42, 107303 },
+ { 0x5E43, 107308 },
+ { 0x5E44, 107313 },
+ { 0x5E45, 107318 },
+ { 0x5E46, 107323 },
+ { 0x5E47, 107328 },
+ { 0x5E48, 107333 },
+ { 0x5E49, 107338 },
+ { 0x5E4A, 107343 },
+ { 0x5E4B, 107348 },
+ { 0x5E4C, 107353 },
+ { 0x5E4D, 107358 },
+ { 0x5E4E, 107363 },
+ { 0x5E4F, 107368 },
+ { 0x5E50, 107373 },
+ { 0x5E51, 107378 },
+ { 0x5E52, 107383 },
+ { 0x5E53, 107388 },
+ { 0x5D76, 107393 },
+ { 0x5D77, 107397 },
+ { 0x5D78, 107401 },
+ { 0x5D79, 107405 },
+ { 0x5D7A, 107409 },
+ { 0x5D7B, 107413 },
+ { 0x5D7C, 107417 },
+ { 0x5D7D, 107421 },
+ { 0x5D7E, 107425 },
+ { 0x5D7F, 107429 },
+ { 0x5D80, 107433 },
+ { 0x5D81, 107437 },
+ { 0x5D82, 107441 },
+ { 0x5D83, 107445 },
+ { 0x5D84, 107449 },
+ { 0x5D85, 107453 },
+ { 0x5D86, 107457 },
+ { 0x5D87, 107461 },
+ { 0x5D88, 107465 },
+ { 0x5D89, 107469 },
+ { 0x5D8A, 107473 },
+ { 0x5D8B, 107477 },
+ { 0x5D8C, 107481 },
+ { 0x5D8D, 107485 },
+ { 0x5D8E, 107489 },
+ { 0x5D8F, 107493 },
+ { 0x600F, 107497 },
+ { 0x6010, 107501 },
+ { 0x6013, 107505 },
+ { 0x6011, 107509 },
+ { 0x601A, 107513 },
+ { 0x600A, 107517 },
+ { 0x6019, 107521 },
+ { 0x601B, 107525 },
+ { 0x6014, 107529 },
+ { 0x6017, 107533 },
+ { 0x6005, 107537 },
+ { 0x600C, 107541 },
+ { 0x6009, 107545 },
+ { 0x6004, 107549 },
+ { 0x6007, 107553 },
+ { 0x6006, 107557 },
+ { 0x600D, 107561 },
+ { 0x600E, 107565 },
+ { 0x601C, 107569 },
+ { 0x6016, 107573 },
+ { 0x600B, 107577 },
+ { 0x6015, 107581 },
+ { 0x6126, 107586 },
+ { 0x6008, 107590 },
+ { 0x6012, 107594 },
+ { 0x6018, 107598 },
+ { 0x6038, 107602 },
+ { 0x5EE4, 107606 },
+ { 0x5EE5, 107611 },
+ { 0x5EE6, 107616 },
+ { 0x5EE7, 107621 },
+ { 0x5EE8, 107626 },
+ { 0x5EE9, 107631 },
+ { 0x5EEA, 107636 },
+ { 0x5EEB, 107641 },
+ { 0x5EEC, 107646 },
+ { 0x5EED, 107651 },
+ { 0x5EEE, 107656 },
+ { 0x5EEF, 107661 },
+ { 0x5EF0, 107666 },
+ { 0x5EF1, 107671 },
+ { 0x5EF2, 107676 },
+ { 0x5EF3, 107681 },
+ { 0x5EF4, 107686 },
+ { 0x5EF5, 107691 },
+ { 0x5EF6, 107696 },
+ { 0x5EF7, 107701 },
+ { 0x5EF8, 107706 },
+ { 0x5EF9, 107711 },
+ { 0x5EFA, 107716 },
+ { 0x5EFB, 107721 },
+ { 0x5EFC, 107726 },
+ { 0x5EFD, 107731 },
+ { 0x5ECA, 107736 },
+ { 0x5ECB, 107741 },
+ { 0x5ECC, 107746 },
+ { 0x5ECD, 107751 },
+ { 0x5ECE, 107756 },
+ { 0x5ECF, 107761 },
+ { 0x5ED0, 107766 },
+ { 0x5ED1, 107771 },
+ { 0x5ED2, 107776 },
+ { 0x5ED3, 107781 },
+ { 0x5ED4, 107786 },
+ { 0x5ED5, 107791 },
+ { 0x5ED6, 107796 },
+ { 0x5ED7, 107801 },
+ { 0x5ED8, 107806 },
+ { 0x5ED9, 107811 },
+ { 0x5EDA, 107816 },
+ { 0x5EDB, 107821 },
+ { 0x5EDC, 107826 },
+ { 0x5EDD, 107831 },
+ { 0x5EDE, 107836 },
+ { 0x5EDF, 107841 },
+ { 0x5EE0, 107846 },
+ { 0x5EE1, 107851 },
+ { 0x5EE2, 107856 },
+ { 0x5EE3, 107861 },
+ { 0x6037, 107866 },
+ { 0x230E, 107870 },
+ { 0x230C, 107874 },
+ { 0x2312, 107879 },
+ { 0x2310, 107885 },
+ { 0x2314, 107890 },
+ { 0x230F, 107894 },
+ { 0x230D, 107898 },
+ { 0x2313, 107903 },
+ { 0x2311, 107909 },
+ { 0x2315, 107914 },
+ { 0x6077, 107918 },
+ { 0x6075, 107922 },
+ { 0x6076, 107926 },
+ { 0x6074, 107930 },
+ { 0x6057, 107934 },
+ { 0x5DC4, 107937 },
+ { 0x5DC5, 107941 },
+ { 0x5DC6, 107945 },
+ { 0x5DC7, 107949 },
+ { 0x5DC8, 107953 },
+ { 0x5DC9, 107957 },
+ { 0x5DCA, 107961 },
+ { 0x5DCB, 107965 },
+ { 0x5DCC, 107969 },
+ { 0x5DCD, 107973 },
+ { 0x5DCE, 107977 },
+ { 0x5DCF, 107981 },
+ { 0x5DD0, 107985 },
+ { 0x5DD1, 107989 },
+ { 0x5DD2, 107993 },
+ { 0x5DD3, 107997 },
+ { 0x5DD4, 108001 },
+ { 0x5DD5, 108005 },
+ { 0x5DD6, 108009 },
+ { 0x5DD7, 108013 },
+ { 0x5DD8, 108017 },
+ { 0x5DD9, 108021 },
+ { 0x5DDA, 108025 },
+ { 0x5DDB, 108029 },
+ { 0x5DDC, 108033 },
+ { 0x6063, 108037 },
+ { 0x6064, 108041 },
+ { 0x6067, 108045 },
+ { 0x6065, 108049 },
+ { 0x606E, 108053 },
+ { 0x605E, 108057 },
+ { 0x606D, 108061 },
+ { 0x606F, 108065 },
+ { 0x6068, 108069 },
+ { 0x606B, 108073 },
+ { 0x6059, 108077 },
+ { 0x6060, 108081 },
+ { 0x605D, 108085 },
+ { 0x6058, 108089 },
+ { 0x605B, 108093 },
+ { 0x6069, 108097 },
+ { 0x605A, 108102 },
+ { 0x6061, 108106 },
+ { 0x6062, 108110 },
+ { 0x6070, 108114 },
+ { 0x606A, 108118 },
+ { 0x605F, 108122 },
+ { 0x6002, 108126 },
+ { 0x6003, 108131 },
+ { 0x605C, 108136 },
+ { 0x6066, 108140 },
+ { 0x606C, 108144 },
+ { 0x6073, 108148 },
+ { 0x5DAA, 108152 },
+ { 0x5DAB, 108156 },
+ { 0x5DAC, 108160 },
+ { 0x5DAD, 108164 },
+ { 0x5DAE, 108168 },
+ { 0x5DAF, 108172 },
+ { 0x5DB0, 108176 },
+ { 0x5DB1, 108180 },
+ { 0x5DB2, 108184 },
+ { 0x5DB3, 108188 },
+ { 0x5DB4, 108192 },
+ { 0x5DB5, 108196 },
+ { 0x5DB6, 108200 },
+ { 0x5DB7, 108204 },
+ { 0x5DB8, 108208 },
+ { 0x5DB9, 108212 },
+ { 0x5DBA, 108216 },
+ { 0x5DBB, 108220 },
+ { 0x5DBC, 108224 },
+ { 0x5DBD, 108228 },
+ { 0x5DBE, 108232 },
+ { 0x5DBF, 108236 },
+ { 0x5DC0, 108240 },
+ { 0x5DC1, 108244 },
+ { 0x5DC2, 108248 },
+ { 0x5DC3, 108252 },
+ { 0x6049, 108256 },
+ { 0x604A, 108260 },
+ { 0x604D, 108264 },
+ { 0x604B, 108268 },
+ { 0x6054, 108272 },
+ { 0x6044, 108276 },
+ { 0x6053, 108280 },
+ { 0x6055, 108284 },
+ { 0x604E, 108288 },
+ { 0x6051, 108292 },
+ { 0x603F, 108296 },
+ { 0x6046, 108300 },
+ { 0x6043, 108304 },
+ { 0x603E, 108308 },
+ { 0x6041, 108312 },
+ { 0x6040, 108316 },
+ { 0x6047, 108320 },
+ { 0x6048, 108324 },
+ { 0x6056, 108328 },
+ { 0x6050, 108332 },
+ { 0x6045, 108336 },
+ { 0x604F, 108340 },
+ { 0x6042, 108345 },
+ { 0x604C, 108349 },
+ { 0x6052, 108353 },
+ { 0x6072, 108357 },
+ { 0x6071, 108361 },
+ { 0x22F1, 108365 },
+ { 0x5E23, 108368 },
+ { 0x5E24, 108372 },
+ { 0x5E25, 108376 },
+ { 0x5E26, 108380 },
+ { 0x5E27, 108384 },
+ { 0x5E28, 108388 },
+ { 0x5E29, 108392 },
+ { 0x5E2A, 108396 },
+ { 0x5E2B, 108400 },
+ { 0x5E2C, 108404 },
+ { 0x5E2D, 108408 },
+ { 0x5E2E, 108412 },
+ { 0x5E2F, 108416 },
+ { 0x5E30, 108420 },
+ { 0x5E31, 108424 },
+ { 0x5E32, 108428 },
+ { 0x5E33, 108432 },
+ { 0x5E34, 108436 },
+ { 0x5E35, 108440 },
+ { 0x5E36, 108444 },
+ { 0x5E37, 108448 },
+ { 0x5E38, 108452 },
+ { 0x5E39, 108456 },
+ { 0x5E11, 108460 },
+ { 0x5E12, 108464 },
+ { 0x5E13, 108468 },
+ { 0x5E14, 108472 },
+ { 0x5E15, 108476 },
+ { 0x5E16, 108480 },
+ { 0x5E17, 108484 },
+ { 0x5E18, 108488 },
+ { 0x5E19, 108492 },
+ { 0x5E1A, 108496 },
+ { 0x5E1B, 108500 },
+ { 0x5E1C, 108504 },
+ { 0x5E1D, 108508 },
+ { 0x5E1E, 108512 },
+ { 0x5E1F, 108516 },
+ { 0x5E20, 108520 },
+ { 0x5E21, 108524 },
+ { 0x5E22, 108528 },
+ { 0x22F3, 108532 },
+ { 0x5E83, 108535 },
+ { 0x5E84, 108539 },
+ { 0x5E85, 108543 },
+ { 0x5E86, 108547 },
+ { 0x5E87, 108551 },
+ { 0x5E88, 108555 },
+ { 0x5E89, 108559 },
+ { 0x5E8A, 108563 },
+ { 0x5E8B, 108567 },
+ { 0x5E8C, 108571 },
+ { 0x5E8D, 108575 },
+ { 0x5E8E, 108579 },
+ { 0x5E8F, 108583 },
+ { 0x5E90, 108587 },
+ { 0x5E91, 108591 },
+ { 0x5E92, 108595 },
+ { 0x5E93, 108599 },
+ { 0x5E94, 108603 },
+ { 0x5E95, 108607 },
+ { 0x5E96, 108611 },
+ { 0x5E97, 108615 },
+ { 0x5E98, 108619 },
+ { 0x5E99, 108623 },
+ { 0x5E9A, 108627 },
+ { 0x5E9B, 108631 },
+ { 0x5E9C, 108635 },
+ { 0x5E6E, 108639 },
+ { 0x5E6F, 108643 },
+ { 0x5E70, 108647 },
+ { 0x5E71, 108651 },
+ { 0x5E72, 108655 },
+ { 0x5E73, 108659 },
+ { 0x5E74, 108663 },
+ { 0x5E75, 108667 },
+ { 0x5E76, 108671 },
+ { 0x5E77, 108675 },
+ { 0x5E78, 108679 },
+ { 0x5E79, 108683 },
+ { 0x5E7A, 108687 },
+ { 0x5E7B, 108691 },
+ { 0x5E7C, 108695 },
+ { 0x5E7D, 108699 },
+ { 0x5E7E, 108703 },
+ { 0x5E7F, 108707 },
+ { 0x5E80, 108711 },
+ { 0x5E81, 108715 },
+ { 0x5E82, 108719 },
+ { 0x6151, 108723 },
+ { 0x6156, 108727 },
+ { 0x6152, 108731 },
+ { 0x6155, 108735 },
+ { 0x6154, 108739 },
+ { 0x6159, 108743 },
+ { 0x6150, 108747 },
+ { 0x6158, 108751 },
+ { 0x6157, 108755 },
+ { 0x6153, 108759 },
+ { 0x5FE8, 108763 },
+ { 0x5FE9, 108767 },
+ { 0x5FEA, 108771 },
+ { 0x5FEB, 108775 },
+ { 0x5FEC, 108779 },
+ { 0x5FED, 108783 },
+ { 0x5FEE, 108787 },
+ { 0x5FEF, 108791 },
+ { 0x5FF0, 108795 },
+ { 0x5FF1, 108799 },
+ { 0x5FF2, 108803 },
+ { 0x5FF3, 108807 },
+ { 0x5FF4, 108811 },
+ { 0x5FF5, 108815 },
+ { 0x5FF6, 108819 },
+ { 0x5FF7, 108823 },
+ { 0x5FF8, 108827 },
+ { 0x5FF9, 108831 },
+ { 0x5FFA, 108835 },
+ { 0x5FFB, 108839 },
+ { 0x5FFC, 108843 },
+ { 0x5FFD, 108847 },
+ { 0x5FFE, 108851 },
+ { 0x5FFF, 108855 },
+ { 0x6000, 108859 },
+ { 0x6001, 108863 },
+ { 0x5FCE, 108867 },
+ { 0x5FCF, 108871 },
+ { 0x5FD0, 108875 },
+ { 0x5FD1, 108879 },
+ { 0x5FD2, 108883 },
+ { 0x5FD3, 108887 },
+ { 0x5FD4, 108891 },
+ { 0x5FD5, 108895 },
+ { 0x5FD6, 108899 },
+ { 0x5FD7, 108903 },
+ { 0x5FD8, 108907 },
+ { 0x5FD9, 108911 },
+ { 0x5FDA, 108915 },
+ { 0x5FDB, 108919 },
+ { 0x5FDC, 108923 },
+ { 0x5FDD, 108927 },
+ { 0x5FDE, 108931 },
+ { 0x5FDF, 108935 },
+ { 0x5FE0, 108939 },
+ { 0x5FE1, 108943 },
+ { 0x5FE2, 108947 },
+ { 0x5FE3, 108951 },
+ { 0x5FE4, 108955 },
+ { 0x5FE5, 108959 },
+ { 0x5FE6, 108963 },
+ { 0x5FE7, 108967 },
+ { 0x60EB, 108971 },
+ { 0x60E9, 108976 },
+ { 0x60EA, 108981 },
+ { 0x6147, 108986 },
+ { 0x614C, 108991 },
+ { 0x6148, 108996 },
+ { 0x614B, 109001 },
+ { 0x614A, 109006 },
+ { 0x614F, 109011 },
+ { 0x6146, 109016 },
+ { 0x614E, 109021 },
+ { 0x614D, 109026 },
+ { 0x6149, 109031 },
+ { 0x60E8, 109036 },
+ { 0x60CB, 109041 },
+ { 0x5F4C, 109045 },
+ { 0x5F4D, 109050 },
+ { 0x5F4E, 109055 },
+ { 0x5F4F, 109060 },
+ { 0x5F50, 109065 },
+ { 0x5F51, 109070 },
+ { 0x5F52, 109075 },
+ { 0x5F53, 109080 },
+ { 0x5F54, 109085 },
+ { 0x5F55, 109090 },
+ { 0x5F56, 109095 },
+ { 0x5F57, 109100 },
+ { 0x5F58, 109105 },
+ { 0x5F59, 109110 },
+ { 0x5F5A, 109115 },
+ { 0x5F5B, 109120 },
+ { 0x5F5C, 109125 },
+ { 0x5F5D, 109130 },
+ { 0x5F5E, 109135 },
+ { 0x5F5F, 109140 },
+ { 0x5F60, 109145 },
+ { 0x5F61, 109150 },
+ { 0x5F62, 109155 },
+ { 0x5F63, 109160 },
+ { 0x5F64, 109165 },
+ { 0x5F65, 109170 },
+ { 0x60D7, 109175 },
+ { 0x60D8, 109180 },
+ { 0x60DB, 109185 },
+ { 0x60D9, 109190 },
+ { 0x60E2, 109195 },
+ { 0x60D2, 109200 },
+ { 0x60E1, 109205 },
+ { 0x60E3, 109210 },
+ { 0x60DC, 109215 },
+ { 0x60DF, 109220 },
+ { 0x60CD, 109225 },
+ { 0x60D4, 109230 },
+ { 0x60D1, 109235 },
+ { 0x60CC, 109240 },
+ { 0x60CF, 109245 },
+ { 0x60DD, 109250 },
+ { 0x60CE, 109256 },
+ { 0x60D5, 109261 },
+ { 0x60D6, 109266 },
+ { 0x60E4, 109271 },
+ { 0x60DE, 109276 },
+ { 0x60D3, 109281 },
+ { 0x60D0, 109286 },
+ { 0x60DA, 109291 },
+ { 0x60E0, 109296 },
+ { 0x60E7, 109301 },
+ { 0x6125, 109306 },
+ { 0x6123, 109312 },
+ { 0x6124, 109318 },
+ { 0x6122, 109324 },
+ { 0x6105, 109330 },
+ { 0x5FB4, 109335 },
+ { 0x5FB5, 109341 },
+ { 0x5FB6, 109347 },
+ { 0x5FB7, 109353 },
+ { 0x5FB8, 109359 },
+ { 0x5FB9, 109365 },
+ { 0x5FBA, 109371 },
+ { 0x5FBB, 109377 },
+ { 0x5FBC, 109383 },
+ { 0x5FBD, 109389 },
+ { 0x5FBE, 109395 },
+ { 0x5FBF, 109401 },
+ { 0x5FC0, 109407 },
+ { 0x5FC1, 109413 },
+ { 0x5FC2, 109419 },
+ { 0x5FC3, 109425 },
+ { 0x5FC4, 109431 },
+ { 0x5FC5, 109437 },
+ { 0x5FC6, 109443 },
+ { 0x5FC7, 109449 },
+ { 0x5FC8, 109455 },
+ { 0x5FC9, 109461 },
+ { 0x5FCA, 109467 },
+ { 0x5FCB, 109473 },
+ { 0x5FCC, 109479 },
+ { 0x5FCD, 109485 },
+ { 0x6111, 109491 },
+ { 0x6112, 109497 },
+ { 0x6115, 109503 },
+ { 0x6113, 109509 },
+ { 0x611C, 109515 },
+ { 0x610C, 109521 },
+ { 0x611B, 109527 },
+ { 0x611D, 109533 },
+ { 0x6116, 109539 },
+ { 0x6119, 109545 },
+ { 0x6107, 109551 },
+ { 0x610E, 109557 },
+ { 0x610B, 109563 },
+ { 0x6106, 109569 },
+ { 0x6109, 109575 },
+ { 0x6117, 109581 },
+ { 0x6108, 109588 },
+ { 0x610F, 109594 },
+ { 0x6110, 109600 },
+ { 0x611E, 109606 },
+ { 0x6118, 109612 },
+ { 0x610D, 109618 },
+ { 0x610A, 109624 },
+ { 0x6114, 109630 },
+ { 0x611A, 109636 },
+ { 0x6121, 109642 },
+ { 0x5F9A, 109648 },
+ { 0x5F9B, 109654 },
+ { 0x5F9C, 109660 },
+ { 0x5F9D, 109666 },
+ { 0x5F9E, 109672 },
+ { 0x5F9F, 109678 },
+ { 0x5FA0, 109684 },
+ { 0x5FA1, 109690 },
+ { 0x5FA2, 109696 },
+ { 0x5FA3, 109702 },
+ { 0x5FA4, 109708 },
+ { 0x5FA5, 109714 },
+ { 0x5FA6, 109720 },
+ { 0x5FA7, 109726 },
+ { 0x5FA8, 109732 },
+ { 0x5FA9, 109738 },
+ { 0x5FAA, 109744 },
+ { 0x5FAB, 109750 },
+ { 0x5FAC, 109756 },
+ { 0x5FAD, 109762 },
+ { 0x5FAE, 109768 },
+ { 0x5FAF, 109774 },
+ { 0x5FB0, 109780 },
+ { 0x5FB1, 109786 },
+ { 0x5FB2, 109792 },
+ { 0x5FB3, 109798 },
+ { 0x60F7, 109804 },
+ { 0x60F8, 109810 },
+ { 0x60FB, 109816 },
+ { 0x60F9, 109822 },
+ { 0x6102, 109828 },
+ { 0x60F2, 109834 },
+ { 0x6101, 109840 },
+ { 0x6103, 109846 },
+ { 0x60FC, 109852 },
+ { 0x60FF, 109858 },
+ { 0x60ED, 109864 },
+ { 0x60F4, 109870 },
+ { 0x60F1, 109876 },
+ { 0x60EC, 109882 },
+ { 0x60EF, 109888 },
+ { 0x60EE, 109894 },
+ { 0x60F5, 109900 },
+ { 0x60F6, 109906 },
+ { 0x6104, 109912 },
+ { 0x60FE, 109918 },
+ { 0x60F3, 109924 },
+ { 0x60FD, 109930 },
+ { 0x60F0, 109937 },
+ { 0x60FA, 109943 },
+ { 0x6100, 109949 },
+ { 0x6120, 109955 },
+ { 0x611F, 109961 },
+ { 0x5F32, 109967 },
+ { 0x5F33, 109972 },
+ { 0x5F34, 109977 },
+ { 0x5F35, 109982 },
+ { 0x5F36, 109987 },
+ { 0x5F37, 109992 },
+ { 0x5F38, 109997 },
+ { 0x5F39, 110002 },
+ { 0x5F3A, 110007 },
+ { 0x5F3B, 110012 },
+ { 0x5F3C, 110017 },
+ { 0x5F3D, 110022 },
+ { 0x5F3E, 110027 },
+ { 0x5F3F, 110032 },
+ { 0x5F40, 110037 },
+ { 0x5F41, 110042 },
+ { 0x5F42, 110047 },
+ { 0x5F43, 110052 },
+ { 0x5F44, 110057 },
+ { 0x5F45, 110062 },
+ { 0x5F46, 110067 },
+ { 0x5F47, 110072 },
+ { 0x5F48, 110077 },
+ { 0x5F49, 110082 },
+ { 0x5F4A, 110087 },
+ { 0x5F4B, 110092 },
+ { 0x60BD, 110097 },
+ { 0x60BE, 110102 },
+ { 0x60C1, 110107 },
+ { 0x60BF, 110112 },
+ { 0x60C8, 110117 },
+ { 0x60B8, 110122 },
+ { 0x60C7, 110127 },
+ { 0x60C9, 110132 },
+ { 0x60C2, 110137 },
+ { 0x60C5, 110142 },
+ { 0x60B3, 110147 },
+ { 0x60BA, 110152 },
+ { 0x60B7, 110157 },
+ { 0x60B2, 110162 },
+ { 0x60B5, 110167 },
+ { 0x60B4, 110172 },
+ { 0x60BB, 110177 },
+ { 0x60BC, 110182 },
+ { 0x60CA, 110187 },
+ { 0x60C4, 110192 },
+ { 0x60B9, 110197 },
+ { 0x60C3, 110202 },
+ { 0x60B6, 110208 },
+ { 0x60C0, 110213 },
+ { 0x60C6, 110218 },
+ { 0x60E6, 110223 },
+ { 0x60E5, 110228 },
+ { 0x613D, 110233 },
+ { 0x6142, 110237 },
+ { 0x613E, 110241 },
+ { 0x6141, 110245 },
+ { 0x6140, 110249 },
+ { 0x6145, 110253 },
+ { 0x613C, 110257 },
+ { 0x6144, 110261 },
+ { 0x6143, 110265 },
+ { 0x613F, 110269 },
+ { 0x5F18, 110273 },
+ { 0x5F19, 110277 },
+ { 0x5F1A, 110281 },
+ { 0x5F1B, 110285 },
+ { 0x5F1C, 110289 },
+ { 0x5F1D, 110293 },
+ { 0x5F1E, 110297 },
+ { 0x5F1F, 110301 },
+ { 0x5F20, 110305 },
+ { 0x5F21, 110309 },
+ { 0x5F22, 110313 },
+ { 0x5F23, 110317 },
+ { 0x5F24, 110321 },
+ { 0x5F25, 110325 },
+ { 0x5F26, 110329 },
+ { 0x5F27, 110333 },
+ { 0x5F28, 110337 },
+ { 0x5F29, 110341 },
+ { 0x5F2A, 110345 },
+ { 0x5F2B, 110349 },
+ { 0x5F2C, 110353 },
+ { 0x5F2D, 110357 },
+ { 0x5F2E, 110361 },
+ { 0x5F2F, 110365 },
+ { 0x5F30, 110369 },
+ { 0x5F31, 110373 },
+ { 0x5F80, 110377 },
+ { 0x5F81, 110382 },
+ { 0x5F82, 110387 },
+ { 0x5F83, 110392 },
+ { 0x5F84, 110397 },
+ { 0x5F85, 110402 },
+ { 0x5F86, 110407 },
+ { 0x5F87, 110412 },
+ { 0x5F88, 110417 },
+ { 0x5F89, 110422 },
+ { 0x5F8A, 110427 },
+ { 0x5F8B, 110432 },
+ { 0x5F8C, 110437 },
+ { 0x5F8D, 110442 },
+ { 0x5F8E, 110447 },
+ { 0x5F8F, 110452 },
+ { 0x5F90, 110457 },
+ { 0x5F91, 110462 },
+ { 0x5F92, 110467 },
+ { 0x5F93, 110472 },
+ { 0x5F94, 110477 },
+ { 0x5F95, 110482 },
+ { 0x5F96, 110487 },
+ { 0x5F97, 110492 },
+ { 0x5F98, 110497 },
+ { 0x5F99, 110502 },
+ { 0x5F66, 110507 },
+ { 0x5F67, 110512 },
+ { 0x5F68, 110517 },
+ { 0x5F69, 110522 },
+ { 0x5F6A, 110527 },
+ { 0x5F6B, 110532 },
+ { 0x5F6C, 110537 },
+ { 0x5F6D, 110542 },
+ { 0x5F6E, 110547 },
+ { 0x5F6F, 110552 },
+ { 0x5F70, 110557 },
+ { 0x5F71, 110562 },
+ { 0x5F72, 110567 },
+ { 0x5F73, 110572 },
+ { 0x5F74, 110577 },
+ { 0x5F75, 110582 },
+ { 0x5F76, 110587 },
+ { 0x5F77, 110592 },
+ { 0x5F78, 110597 },
+ { 0x5F79, 110602 },
+ { 0x5F7A, 110607 },
+ { 0x5F7B, 110612 },
+ { 0x5F7C, 110617 },
+ { 0x5F7D, 110622 },
+ { 0x5F7E, 110627 },
+ { 0x5F7F, 110632 },
+ { 0x5EFE, 110637 },
+ { 0x5EFF, 110641 },
+ { 0x5F00, 110645 },
+ { 0x5F01, 110649 },
+ { 0x5F02, 110653 },
+ { 0x5F03, 110657 },
+ { 0x5F04, 110661 },
+ { 0x5F05, 110665 },
+ { 0x5F06, 110669 },
+ { 0x5F07, 110673 },
+ { 0x5F08, 110677 },
+ { 0x5F09, 110681 },
+ { 0x5F0A, 110685 },
+ { 0x5F0B, 110689 },
+ { 0x5F0C, 110693 },
+ { 0x5F0D, 110697 },
+ { 0x5F0E, 110701 },
+ { 0x5F0F, 110705 },
+ { 0x5F10, 110709 },
+ { 0x5F11, 110713 },
+ { 0x5F12, 110717 },
+ { 0x5F13, 110721 },
+ { 0x5F14, 110725 },
+ { 0x5F15, 110729 },
+ { 0x5F16, 110733 },
+ { 0x5F17, 110737 },
+ { 0x6133, 110741 },
+ { 0x6138, 110745 },
+ { 0x6134, 110749 },
+ { 0x6137, 110753 },
+ { 0x6136, 110757 },
+ { 0x613B, 110761 },
+ { 0x6132, 110765 },
+ { 0x613A, 110769 },
+ { 0x6139, 110773 },
+ { 0x6135, 110777 },
+ { 0x5EB0, 110781 },
+ { 0x5EB1, 110785 },
+ { 0x5EB2, 110789 },
+ { 0x5EB3, 110793 },
+ { 0x5EB4, 110797 },
+ { 0x5EB5, 110801 },
+ { 0x5EB6, 110805 },
+ { 0x5EB7, 110809 },
+ { 0x5EB8, 110813 },
+ { 0x5EB9, 110817 },
+ { 0x5EBA, 110821 },
+ { 0x5EBB, 110825 },
+ { 0x5EBC, 110829 },
+ { 0x5EBD, 110833 },
+ { 0x5EBE, 110837 },
+ { 0x5EBF, 110841 },
+ { 0x5EC0, 110845 },
+ { 0x5EC1, 110849 },
+ { 0x5EC2, 110853 },
+ { 0x5EC3, 110857 },
+ { 0x5EC4, 110861 },
+ { 0x5EC5, 110865 },
+ { 0x5EC6, 110869 },
+ { 0x5EC7, 110873 },
+ { 0x5EC8, 110877 },
+ { 0x5EC9, 110881 },
+ { 0x5E9D, 110885 },
+ { 0x5E9E, 110889 },
+ { 0x5E9F, 110893 },
+ { 0x5EA0, 110897 },
+ { 0x5EA1, 110901 },
+ { 0x5EA2, 110905 },
+ { 0x5EA3, 110909 },
+ { 0x5EA4, 110913 },
+ { 0x5EA5, 110917 },
+ { 0x5EA6, 110921 },
+ { 0x5EA7, 110925 },
+ { 0x5EA8, 110929 },
+ { 0x5EA9, 110933 },
+ { 0x5EAA, 110937 },
+ { 0x5EAB, 110941 },
+ { 0x5EAC, 110945 },
+ { 0x5EAD, 110949 },
+ { 0x5EAE, 110953 },
+ { 0x5EAF, 110957 },
+ { 0x1B95, 110961 },
+ { 0x1C7B, 110963 },
+ { 0x3C8D, 110965 },
+ { 0x3C8E, 110971 },
+ { 0x3C8F, 110977 },
+ { 0x3C8C, 110983 },
+ { 0x3C9B, 110990 },
+ { 0x3C97, 110997 },
+ { 0x3C93, 111005 },
+ { 0x3C9F, 111012 },
+ { 0x3C79, 111020 },
+ { 0x3C9D, 111028 },
+ { 0x3C99, 111035 },
+ { 0x3CA3, 111043 },
+ { 0x3C95, 111050 },
+ { 0x3C91, 111058 },
+ { 0x3C90, 111064 },
+ { 0x3C75, 111071 },
+ { 0x3C72, 111076 },
+ { 0x3C9C, 111081 },
+ { 0x3C98, 111088 },
+ { 0x3C94, 111096 },
+ { 0x3CA0, 111103 },
+ { 0x3C7A, 111111 },
+ { 0x3C7A, 111119 },
+ { 0x3C9E, 111127 },
+ { 0x3C9A, 111134 },
+ { 0x3CA4, 111142 },
+ { 0x3C96, 111149 },
+ { 0x3C92, 111157 },
+ { 0x3C78, 111163 },
+ { 0x3C76, 111169 },
+ { 0x3C7B, 111174 },
+ { 0x3C77, 111180 },
+ { 0x3C74, 111186 },
+ { 0x3C73, 111193 },
+ { 0x1D76, 111199 },
+ { 0x6ABD, 111201 },
+ { 0x0D0A, 111203 },
+ { 0x0D0C, 111206 },
+ { 0x053C, 111211 },
+ { 0x220B, 111215 },
+ { 0x22CF, 111218 },
+ { 0x251A, 111222 },
+ { 0x28FB, 111223 },
+ { 0x1F3D, 111226 },
+ { 0x1B88, 111227 },
+ { 0x212E, 111229 },
+ { 0x22E2, 111230 },
+ { 0x6C63, 111233 },
+ { 0x1D0F, 111235 },
+ { 0x1D13, 111239 },
+ { 0x2466, 111243 },
+ { 0x2318, 111247 },
+ { 0x1D8C, 111251 },
+ { 0x692A, 111254 },
+ { 0x2537, 111261 },
+ { 0x26B3, 111263 },
+ { 0x26B2, 111268 },
+ { 0x2695, 111273 },
+ { 0x26B0, 111278 },
+ { 0x26B1, 111283 },
+ { 0x1D9F, 111288 },
+ { 0x2596, 111294 },
+ { 0x1D9E, 111299 },
+ { 0x1DAB, 111302 },
+ { 0x1EDB, 111309 },
+ { 0x1C9D, 111312 },
+ { 0x1C99, 111315 },
+ { 0x1C9A, 111318 },
+ { 0x1CA3, 111321 },
+ { 0x1CA4, 111325 },
+ { 0x1CA5, 111329 },
+ { 0x1CA6, 111333 },
+ { 0x1CA2, 111337 },
+ { 0x1C5F, 111341 },
+ { 0x1C6A, 111344 },
+ { 0x1C72, 111347 },
+ { 0x1C76, 111350 },
+ { 0x1C77, 111353 },
+ { 0x1C7A, 111356 },
+ { 0x1C81, 111359 },
+ { 0x1C9C, 111362 },
+ { 0x1C9B, 111365 },
+ { 0x6961, 111368 },
+ { 0x6963, 111371 },
+ { 0x250E, 111375 },
+ { 0x250F, 111381 },
+ { 0x1C1D, 111387 },
+ { 0x1DAA, 111389 },
+ { 0x1DA7, 111392 },
+ { 0x45C9, 111395 },
+ { 0x45D4, 111399 },
+ { 0x45D2, 111403 },
+ { 0x45D7, 111407 },
+ { 0x45C6, 111411 },
+ { 0x45CC, 111415 },
+ { 0x45CF, 111419 },
+ { 0x45D6, 111423 },
+ { 0x45CD, 111427 },
+ { 0x45CE, 111431 },
+ { 0x45C5, 111435 },
+ { 0x45C7, 111439 },
+ { 0x45D5, 111443 },
+ { 0x45CB, 111447 },
+ { 0x45C8, 111451 },
+ { 0x45D0, 111455 },
+ { 0x45D3, 111459 },
+ { 0x45D1, 111463 },
+ { 0x45CA, 111467 },
+ { 0x45D8, 111471 },
+ { 0x45DE, 111475 },
+ { 0x45DF, 111480 },
+ { 0x45DC, 111485 },
+ { 0x45D9, 111489 },
+ { 0x45DB, 111493 },
+ { 0x45DA, 111497 },
+ { 0x45DD, 111501 },
+ { 0x45AB, 111505 },
+ { 0x45B7, 111509 },
+ { 0x45B3, 111513 },
+ { 0x45B4, 111517 },
+ { 0x45BC, 111521 },
+ { 0x45AC, 111525 },
+ { 0x45B6, 111529 },
+ { 0x45A8, 111533 },
+ { 0x45AE, 111537 },
+ { 0x45B1, 111541 },
+ { 0x45B9, 111545 },
+ { 0x45BA, 111549 },
+ { 0x45BB, 111553 },
+ { 0x45AF, 111557 },
+ { 0x45B0, 111561 },
+ { 0x45A7, 111565 },
+ { 0x45A9, 111569 },
+ { 0x45B8, 111573 },
+ { 0x45AD, 111577 },
+ { 0x45AA, 111581 },
+ { 0x45B2, 111585 },
+ { 0x45B5, 111589 },
+ { 0x45BD, 111593 },
+ { 0x45C3, 111597 },
+ { 0x45C4, 111602 },
+ { 0x45C1, 111607 },
+ { 0x45BE, 111611 },
+ { 0x45C0, 111615 },
+ { 0x45BF, 111619 },
+ { 0x45C2, 111623 },
+ { 0x1E82, 111627 },
+ { 0x2522, 111630 },
+ { 0x006A, 111634 },
+ { 0x6933, 111639 },
+ { 0x1B92, 111642 },
+ { 0x1BE9, 111644 },
+ { 0x1BB1, 111646 },
+ { 0x1BAE, 111648 },
+ { 0x1D6C, 111650 },
+ { 0x22E4, 111652 },
+ { 0x1F9A, 111655 },
+ { 0x1F9F, 111658 },
+ { 0x1F9B, 111661 },
+ { 0x1F9E, 111664 },
+ { 0x1F9D, 111667 },
+ { 0x1FA2, 111670 },
+ { 0x1FA1, 111673 },
+ { 0x1FA0, 111676 },
+ { 0x1F9C, 111679 },
+ { 0x1FC2, 111682 },
+ { 0x1FC3, 111687 },
+ { 0x1FC4, 111692 },
+ { 0x1FC5, 111697 },
+ { 0x1FC6, 111702 },
+ { 0x1FC7, 111707 },
+ { 0x1FC8, 111712 },
+ { 0x1FC9, 111717 },
+ { 0x1FCA, 111722 },
+ { 0x1FCB, 111727 },
+ { 0x1FCC, 111732 },
+ { 0x1FCD, 111737 },
+ { 0x1FCE, 111742 },
+ { 0x1FCF, 111747 },
+ { 0x1FD0, 111752 },
+ { 0x1FD1, 111757 },
+ { 0x1FD2, 111762 },
+ { 0x1FD3, 111767 },
+ { 0x1FD4, 111772 },
+ { 0x1FD5, 111777 },
+ { 0x1FD6, 111782 },
+ { 0x1FD7, 111787 },
+ { 0x1FD8, 111792 },
+ { 0x1FD9, 111797 },
+ { 0x1FDA, 111802 },
+ { 0x1FDB, 111807 },
+ { 0x664D, 111812 },
+ { 0x664E, 111817 },
+ { 0x664F, 111822 },
+ { 0x6650, 111827 },
+ { 0x6651, 111832 },
+ { 0x6652, 111837 },
+ { 0x6653, 111842 },
+ { 0x6654, 111847 },
+ { 0x6655, 111852 },
+ { 0x6656, 111857 },
+ { 0x6657, 111862 },
+ { 0x6658, 111867 },
+ { 0x6659, 111872 },
+ { 0x665A, 111877 },
+ { 0x665B, 111882 },
+ { 0x665C, 111887 },
+ { 0x665D, 111892 },
+ { 0x665E, 111897 },
+ { 0x665F, 111902 },
+ { 0x6660, 111907 },
+ { 0x6661, 111912 },
+ { 0x6662, 111917 },
+ { 0x6663, 111922 },
+ { 0x6664, 111927 },
+ { 0x6665, 111932 },
+ { 0x6666, 111937 },
+ { 0x2C40, 111942 },
+ { 0x2C4E, 111945 },
+ { 0x2C42, 111949 },
+ { 0x2C50, 111952 },
+ { 0x2C56, 111956 },
+ { 0x2C47, 111960 },
+ { 0x2C55, 111963 },
+ { 0x2C41, 111967 },
+ { 0x2C4F, 111970 },
+ { 0x2C3E, 111974 },
+ { 0x2C4C, 111977 },
+ { 0x2C3B, 111981 },
+ { 0x2C49, 111984 },
+ { 0x2C3F, 111988 },
+ { 0x2C4D, 111991 },
+ { 0x2C3D, 111995 },
+ { 0x2C4B, 111998 },
+ { 0x2C3A, 112002 },
+ { 0x2C48, 112005 },
+ { 0x2C3C, 112009 },
+ { 0x2C4A, 112012 },
+ { 0x2C43, 112016 },
+ { 0x2C51, 112019 },
+ { 0x2C44, 112023 },
+ { 0x2C52, 112026 },
+ { 0x2C46, 112030 },
+ { 0x2C54, 112033 },
+ { 0x2C45, 112037 },
+ { 0x2C53, 112040 },
+ { 0x2C58, 112044 },
+ { 0x2C57, 112049 },
+ { 0x1FA3, 112053 },
+ { 0x1FA4, 112056 },
+ { 0x1FA5, 112059 },
+ { 0x1FAD, 112062 },
+ { 0x1FA8, 112065 },
+ { 0x1FA9, 112068 },
+ { 0x1FAB, 112071 },
+ { 0x1FA7, 112074 },
+ { 0x1FAC, 112077 },
+ { 0x1FA6, 112080 },
+ { 0x1FAA, 112083 },
+ { 0x2C59, 112086 },
+ { 0x2C5E, 112089 },
+ { 0x2C69, 112092 },
+ { 0x2C62, 112095 },
+ { 0x2C5A, 112098 },
+ { 0x2C73, 112101 },
+ { 0x2C64, 112104 },
+ { 0x2C5D, 112107 },
+ { 0x2C5C, 112110 },
+ { 0x2C6B, 112113 },
+ { 0x2C63, 112116 },
+ { 0x2C6D, 112119 },
+ { 0x2C61, 112122 },
+ { 0x2C7A, 112125 },
+ { 0x2C7B, 112128 },
+ { 0x2C66, 112131 },
+ { 0x2C68, 112134 },
+ { 0x2C60, 112137 },
+ { 0x2C71, 112140 },
+ { 0x2C67, 112143 },
+ { 0x2C7C, 112146 },
+ { 0x2C5F, 112149 },
+ { 0x2C6A, 112152 },
+ { 0x2C74, 112155 },
+ { 0x2C5B, 112158 },
+ { 0x2C65, 112161 },
+ { 0x2C6C, 112164 },
+ { 0x2C6E, 112167 },
+ { 0x2C78, 112170 },
+ { 0x2C79, 112173 },
+ { 0x2C77, 112176 },
+ { 0x2C6F, 112179 },
+ { 0x2C72, 112182 },
+ { 0x2C75, 112185 },
+ { 0x2C76, 112188 },
+ { 0x2C70, 112191 },
+ { 0x22E8, 112194 },
+ { 0x2607, 112195 },
+ { 0x1B93, 112198 },
+ { 0x1BEA, 112200 },
+ { 0x1BB2, 112202 },
+ { 0x1BAF, 112204 },
+ { 0x6A6E, 112206 },
+ { 0x250D, 112208 },
+ { 0x6922, 112209 },
+ { 0x1D9C, 112210 },
+ { 0x226F, 112213 },
+ { 0x6A35, 112215 },
+ { 0x67A9, 112217 },
+ { 0x223B, 112218 },
+ { 0x0096, 112220 },
+ { 0x255A, 112222 },
+ { 0x255B, 112228 },
+ { 0x255D, 112234 },
+ { 0x2561, 112239 },
+ { 0x2556, 112243 },
+ { 0x2557, 112248 },
+ { 0x1E83, 112252 },
+ { 0x2523, 112255 },
+ { 0x007A, 112259 },
+ { 0x6934, 112264 },
+ { 0x21E2, 112267 },
+ { 0x22DC, 112268 },
+ { 0x22DA, 112272 },
+ { 0x22DB, 112276 },
+ { 0x22E0, 112279 },
+ { 0x2261, 112282 },
+ { 0x22C3, 112284 },
+ { 0x22D9, 112287 },
+ { 0x68A3, 112290 },
+ { 0x2AF4, 112292 },
+ { 0x2AEF, 112295 },
+ { 0x2B50, 112299 },
+ { 0x2AF0, 112303 },
+ { 0x1EED, 112307 },
+ { 0x6AFF, 112309 },
+ { 0x21A3, 112311 },
+ { 0x1EE8, 112314 },
+ { 0x1EE9, 112317 },
+ { 0x1EEB, 112320 },
+ { 0x1EEA, 112322 },
};
-static const struct { uint16_t code; uint32_t name:24; }
+static const struct { uint16_t index; uint32_t name:24; }
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
__attribute__((__packed__))
#endif
-unicode_code_to_name[18242] = {
- { 0x0020, 22740 },
- { 0x0021, 68656 },
- { 0x0022, 65766 },
- { 0x0023, 35593 },
- { 0x0024, 31225 },
- { 0x0025, 42973 },
- { 0x0026, 56108 },
- { 0x0027, 66826 },
- { 0x0028, 9464 },
- { 0x0029, 21991 },
- { 0x002A, 45081 },
- { 0x002B, 9633 },
- { 0x002C, 10461 },
- { 0x002D, 69568 },
- { 0x002E, 9112 },
- { 0x002F, 43548 },
- { 0x0030, 10518 },
- { 0x0031, 10482 },
- { 0x0032, 10494 },
- { 0x0033, 10532 },
- { 0x0034, 10506 },
- { 0x0035, 10500 },
- { 0x0036, 10488 },
- { 0x0037, 10526 },
- { 0x0038, 10520 },
- { 0x0039, 10512 },
- { 0x003A, 10455 },
- { 0x003B, 65813 },
- { 0x003C, 64726 },
- { 0x003D, 31706 },
- { 0x003E, 69497 },
- { 0x003F, 55446 },
- { 0x0040, 66837 },
- { 0x0041, 18231 },
- { 0x0042, 18454 },
- { 0x0043, 18497 },
- { 0x0044, 18552 },
- { 0x0045, 18632 },
- { 0x0046, 18817 },
- { 0x0047, 18834 },
- { 0x0048, 18893 },
- { 0x0049, 18954 },
- { 0x004A, 19068 },
- { 0x004B, 19084 },
- { 0x004C, 19154 },
- { 0x004D, 19254 },
- { 0x004E, 19284 },
- { 0x004F, 19369 },
- { 0x0050, 19659 },
- { 0x0051, 19709 },
- { 0x0052, 19728 },
- { 0x0053, 19811 },
- { 0x0054, 19888 },
- { 0x0055, 19965 },
- { 0x0056, 20187 },
- { 0x0057, 20217 },
- { 0x0058, 20265 },
- { 0x0059, 20282 },
- { 0x005A, 20361 },
- { 0x005B, 9385 },
- { 0x005C, 42994 },
- { 0x005D, 21912 },
- { 0x005E, 66835 },
- { 0x005F, 6031 },
- { 0x0060, 10638 },
- { 0x0061, 14473 },
- { 0x0062, 14711 },
- { 0x0063, 14768 },
- { 0x0064, 14829 },
- { 0x0065, 14925 },
- { 0x0066, 15123 },
- { 0x0067, 15154 },
- { 0x0068, 15220 },
- { 0x0069, 15294 },
- { 0x006A, 15408 },
- { 0x006B, 15436 },
- { 0x006C, 15513 },
- { 0x006D, 15631 },
- { 0x006E, 15675 },
- { 0x006F, 15786 },
- { 0x0070, 16077 },
- { 0x0071, 16141 },
- { 0x0072, 16173 },
- { 0x0073, 16292 },
- { 0x0074, 16396 },
- { 0x0075, 16499 },
- { 0x0076, 16728 },
- { 0x0077, 16778 },
- { 0x0078, 16833 },
- { 0x0079, 16857 },
- { 0x007A, 16943 },
- { 0x007B, 9231 },
- { 0x007C, 56066 },
- { 0x007D, 21824 },
- { 0x007E, 23008 },
- { 0x00A0, 54927 },
- { 0x00A1, 53357 },
- { 0x00A2, 8729 },
- { 0x00A3, 21740 },
- { 0x00A4, 48521 },
- { 0x00A5, 8712 },
- { 0x00A6, 30305 },
- { 0x00A7, 43022 },
- { 0x00A8, 63244 },
- { 0x00A9, 58349 },
- { 0x00AA, 51775 },
- { 0x00AB, 74612 },
- { 0x00AC, 6723 },
- { 0x00AD, 9710 },
- { 0x00AE, 67979 },
- { 0x00AF, 35513 },
- { 0x00B0, 31179 },
- { 0x00B1, 67969 },
- { 0x00B2, 69284 },
- { 0x00B3, 69319 },
- { 0x00B4, 10104 },
- { 0x00B5, 21176 },
- { 0x00B6, 42975 },
- { 0x00B7, 35570 },
- { 0x00B8, 38870 },
- { 0x00B9, 69280 },
- { 0x00BA, 65112 },
- { 0x00BB, 75094 },
- { 0x00BC, 37732 },
- { 0x00BD, 37712 },
- { 0x00BE, 37768 },
- { 0x00BF, 53352 },
- { 0x00C0, 18348 },
- { 0x00C1, 18288 },
- { 0x00C2, 18406 },
- { 0x00C3, 18354 },
- { 0x00C4, 18392 },
- { 0x00C5, 18265 },
- { 0x00C6, 20426 },
- { 0x00C7, 18532 },
- { 0x00C8, 18675 },
- { 0x00C9, 18657 },
- { 0x00CA, 18762 },
- { 0x00CB, 18756 },
- { 0x00CC, 18997 },
- { 0x00CD, 18979 },
- { 0x00CE, 19062 },
- { 0x00CF, 19048 },
- { 0x00D0, 20523 },
- { 0x00D1, 19350 },
- { 0x00D2, 19483 },
- { 0x00D3, 19465 },
- { 0x00D4, 19611 },
- { 0x00D5, 19489 },
- { 0x00D6, 19597 },
- { 0x00D7, 75055 },
- { 0x00D8, 19576 },
- { 0x00D9, 20061 },
- { 0x00DA, 20043 },
- { 0x00DB, 20174 },
- { 0x00DC, 20129 },
- { 0x00DD, 20319 },
- { 0x00DE, 20626 },
- { 0x00DF, 17465 },
- { 0x00E0, 14590 },
- { 0x00E1, 14530 },
- { 0x00E2, 14663 },
- { 0x00E3, 14604 },
- { 0x00E4, 14642 },
- { 0x00E5, 14507 },
- { 0x00E6, 17042 },
- { 0x00E7, 14809 },
- { 0x00E8, 14968 },
- { 0x00E9, 14950 },
- { 0x00EA, 15068 },
- { 0x00EB, 15055 },
- { 0x00EC, 15330 },
- { 0x00ED, 15312 },
- { 0x00EE, 15402 },
- { 0x00EF, 15381 },
- { 0x00F0, 17225 },
- { 0x00F1, 15739 },
- { 0x00F2, 15908 },
- { 0x00F3, 15890 },
- { 0x00F4, 16029 },
- { 0x00F5, 15914 },
- { 0x00F6, 16015 },
- { 0x00F7, 50308 },
- { 0x00F8, 15994 },
- { 0x00F9, 16595 },
- { 0x00FA, 16577 },
- { 0x00FB, 16715 },
- { 0x00FC, 16663 },
- { 0x00FD, 16901 },
- { 0x00FE, 17476 },
- { 0x00FF, 16931 },
- { 0x0100, 18367 },
- { 0x0101, 14617 },
- { 0x0102, 18294 },
- { 0x0103, 14536 },
- { 0x0104, 18373 },
- { 0x0105, 14623 },
- { 0x0106, 18514 },
- { 0x0107, 14791 },
- { 0x0108, 18546 },
- { 0x0109, 14823 },
- { 0x010A, 18501 },
- { 0x010B, 14772 },
- { 0x010C, 18520 },
- { 0x010D, 14797 },
- { 0x010E, 18583 },
- { 0x010F, 14880 },
- { 0x0110, 18607 },
- { 0x0111, 14893 },
- { 0x0112, 18701 },
- { 0x0113, 15000 },
- { 0x0114, 18663 },
- { 0x0115, 14956 },
- { 0x0116, 18636 },
- { 0x0117, 14929 },
- { 0x0118, 18723 },
- { 0x0119, 15022 },
- { 0x011A, 18669 },
- { 0x011B, 14962 },
- { 0x011C, 18887 },
- { 0x011D, 15214 },
- { 0x011E, 18857 },
- { 0x011F, 15177 },
- { 0x0120, 18838 },
- { 0x0121, 15158 },
- { 0x0122, 18881 },
- { 0x0123, 15201 },
- { 0x0124, 18948 },
- { 0x0125, 15288 },
- { 0x0126, 18924 },
- { 0x0127, 15264 },
- { 0x0128, 19003 },
- { 0x0129, 15336 },
- { 0x012A, 19023 },
- { 0x012B, 15356 },
- { 0x012C, 18985 },
- { 0x012D, 15318 },
- { 0x012E, 19029 },
- { 0x012F, 15362 },
- { 0x0130, 18958 },
- { 0x0131, 17682 },
- { 0x0132, 20774 },
- { 0x0133, 17909 },
- { 0x0134, 19078 },
- { 0x0135, 15424 },
- { 0x0136, 19135 },
- { 0x0137, 15487 },
- { 0x0138, 17263 },
- { 0x0139, 19194 },
- { 0x013A, 15565 },
- { 0x013B, 19241 },
- { 0x013C, 15604 },
- { 0x013D, 19200 },
- { 0x013E, 15571 },
- { 0x013F, 19221 },
- { 0x0140, 15584 },
- { 0x0141, 19235 },
- { 0x0142, 15598 },
- { 0x0143, 19324 },
- { 0x0144, 15721 },
- { 0x0145, 19356 },
- { 0x0146, 15752 },
- { 0x0147, 19330 },
- { 0x0148, 15727 },
- { 0x0149, 15779 },
- { 0x014A, 20515 },
- { 0x014B, 17197 },
- { 0x014C, 19533 },
- { 0x014D, 15958 },
- { 0x014E, 19471 },
- { 0x014F, 15896 },
- { 0x0150, 19519 },
- { 0x0151, 15944 },
- { 0x0152, 20778 },
- { 0x0153, 17913 },
- { 0x0154, 19768 },
- { 0x0155, 16220 },
- { 0x0156, 19793 },
- { 0x0157, 16252 },
- { 0x0158, 19774 },
- { 0x0159, 16226 },
- { 0x015A, 19839 },
- { 0x015B, 16326 },
- { 0x015C, 19882 },
- { 0x015D, 16390 },
- { 0x015E, 19876 },
- { 0x015F, 16377 },
- { 0x0160, 19854 },
- { 0x0161, 16341 },
- { 0x0162, 19938 },
- { 0x0163, 16459 },
- { 0x0164, 19919 },
- { 0x0165, 16433 },
- { 0x0166, 19932 },
- { 0x0167, 16453 },
- { 0x0168, 20067 },
- { 0x0169, 16601 },
- { 0x016A, 20102 },
- { 0x016B, 16636 },
- { 0x016C, 20049 },
- { 0x016D, 16583 },
- { 0x016E, 20036 },
- { 0x016F, 16570 },
- { 0x0170, 20088 },
- { 0x0171, 16622 },
- { 0x0172, 20116 },
- { 0x0173, 16650 },
- { 0x0174, 20259 },
- { 0x0175, 16827 },
- { 0x0176, 20355 },
- { 0x0177, 16937 },
- { 0x0178, 20349 },
- { 0x0179, 20392 },
- { 0x017A, 16980 },
- { 0x017B, 20365 },
- { 0x017C, 16947 },
- { 0x017D, 20398 },
- { 0x017E, 16986 },
- { 0x017F, 17341 },
- { 0x0180, 14749 },
- { 0x0181, 18472 },
- { 0x0182, 18491 },
- { 0x0183, 14755 },
- { 0x0184, 20570 },
- { 0x0185, 17406 },
- { 0x0186, 20565 },
- { 0x0187, 18508 },
- { 0x0188, 14785 },
- { 0x0189, 20675 },
- { 0x018A, 18570 },
- { 0x018B, 18613 },
- { 0x018C, 14899 },
- { 0x018D, 17671 },
- { 0x018E, 20726 },
- { 0x018F, 20609 },
- { 0x0190, 20560 },
- { 0x0191, 18828 },
- { 0x0192, 15134 },
- { 0x0193, 18845 },
- { 0x0194, 20601 },
- { 0x0195, 17112 },
- { 0x0196, 20556 },
- { 0x0197, 19035 },
- { 0x0198, 19095 },
- { 0x0199, 15447 },
- { 0x019A, 15517 },
- { 0x019B, 17528 },
- { 0x019C, 20659 },
- { 0x019D, 19302 },
- { 0x019E, 15713 },
- { 0x019F, 19555 },
- { 0x01A0, 19403 },
- { 0x01A1, 15828 },
- { 0x01A2, 20491 },
- { 0x01A3, 17138 },
- { 0x01A4, 19670 },
- { 0x01A5, 16088 },
- { 0x01A6, 17935 },
- { 0x01A7, 20575 },
- { 0x01A8, 17411 },
- { 0x01A9, 20519 },
- { 0x01AA, 18206 },
- { 0x01AB, 16465 },
- { 0x01AC, 19906 },
- { 0x01AD, 16420 },
- { 0x01AE, 19951 },
- { 0x01AF, 19988 },
- { 0x01B0, 16522 },
- { 0x01B1, 20715 },
- { 0x01B2, 20198 },
- { 0x01B3, 20300 },
- { 0x01B4, 16875 },
- { 0x01B5, 20404 },
- { 0x01B6, 17006 },
- { 0x01B7, 20527 },
- { 0x01B8, 20537 },
- { 0x01B9, 17258 },
- { 0x01BA, 17239 },
- { 0x01BB, 17941 },
- { 0x01BC, 20580 },
- { 0x01BD, 17416 },
- { 0x01BE, 18199 },
- { 0x01BF, 17946 },
- { 0x01C0, 18155 },
- { 0x01C1, 18174 },
- { 0x01C2, 18178 },
- { 0x01C3, 18218 },
- { 0x01C4, 20469 },
- { 0x01C5, 18597 },
- { 0x01C6, 17090 },
- { 0x01C7, 20483 },
- { 0x01C8, 19206 },
- { 0x01C9, 17120 },
- { 0x01CA, 20487 },
- { 0x01CB, 19342 },
- { 0x01CC, 17134 },
- { 0x01CD, 18342 },
- { 0x01CE, 14584 },
- { 0x01CF, 18991 },
- { 0x01D0, 15324 },
- { 0x01D1, 19477 },
- { 0x01D2, 15902 },
- { 0x01D3, 20055 },
- { 0x01D4, 16589 },
- { 0x01D5, 20159 },
- { 0x01D6, 16693 },
- { 0x01D7, 20135 },
- { 0x01D8, 16669 },
- { 0x01D9, 20143 },
- { 0x01DA, 16677 },
- { 0x01DB, 20151 },
- { 0x01DC, 16685 },
- { 0x01DD, 17544 },
- { 0x01DE, 18398 },
- { 0x01DF, 14648 },
- { 0x01E0, 18242 },
- { 0x01E1, 14484 },
- { 0x01E2, 20436 },
- { 0x01E3, 17052 },
- { 0x01E4, 18875 },
- { 0x01E5, 15195 },
- { 0x01E6, 18863 },
- { 0x01E7, 15183 },
- { 0x01E8, 19114 },
- { 0x01E9, 15466 },
- { 0x01EA, 19562 },
- { 0x01EB, 15980 },
- { 0x01EC, 19568 },
- { 0x01ED, 15986 },
- { 0x01EE, 20531 },
- { 0x01EF, 17245 },
- { 0x01F0, 15412 },
- { 0x01F1, 20465 },
- { 0x01F2, 18589 },
- { 0x01F3, 17086 },
- { 0x01F4, 18851 },
- { 0x01F5, 15171 },
- { 0x01F6, 20605 },
- { 0x01F7, 20589 },
- { 0x01F8, 19336 },
- { 0x01F9, 15733 },
- { 0x01FA, 18272 },
- { 0x01FB, 14514 },
- { 0x01FC, 20430 },
- { 0x01FD, 17046 },
- { 0x01FE, 19582 },
- { 0x01FF, 16000 },
- { 0x0200, 18360 },
- { 0x0201, 14610 },
- { 0x0202, 18385 },
- { 0x0203, 14635 },
- { 0x0204, 18694 },
- { 0x0205, 14993 },
- { 0x0206, 18749 },
- { 0x0207, 15048 },
- { 0x0208, 19016 },
- { 0x0209, 15349 },
- { 0x020A, 19041 },
- { 0x020B, 15374 },
- { 0x020C, 19526 },
- { 0x020D, 15951 },
- { 0x020E, 19590 },
- { 0x020F, 16008 },
- { 0x0210, 19780 },
- { 0x0211, 16232 },
- { 0x0212, 19799 },
- { 0x0213, 16280 },
- { 0x0214, 20095 },
- { 0x0215, 16629 },
- { 0x0216, 20122 },
- { 0x0217, 16656 },
- { 0x0218, 19869 },
- { 0x0219, 16356 },
- { 0x021A, 19925 },
- { 0x021B, 16439 },
- { 0x021C, 20593 },
- { 0x021D, 17425 },
- { 0x021E, 18918 },
- { 0x021F, 15258 },
- { 0x0220, 19316 },
- { 0x0221, 14847 },
- { 0x0222, 20499 },
- { 0x0223, 17146 },
- { 0x0224, 20379 },
- { 0x0225, 16967 },
- { 0x0226, 18235 },
- { 0x0227, 14477 },
- { 0x0228, 18735 },
- { 0x0229, 15034 },
- { 0x022A, 19603 },
- { 0x022B, 16021 },
- { 0x022C, 19503 },
- { 0x022D, 15928 },
- { 0x022E, 19373 },
- { 0x022F, 15790 },
- { 0x0230, 19380 },
- { 0x0231, 15797 },
- { 0x0232, 20337 },
- { 0x0233, 16919 },
- { 0x0234, 15545 },
- { 0x0235, 15693 },
- { 0x0236, 16414 },
- { 0x0237, 17687 },
- { 0x0238, 17081 },
- { 0x0239, 17150 },
- { 0x023A, 18379 },
- { 0x023B, 18526 },
- { 0x023C, 14803 },
- { 0x023D, 19158 },
- { 0x023E, 19944 },
- { 0x023F, 16363 },
- { 0x0240, 16992 },
- { 0x0241, 20680 },
- { 0x0242, 17708 },
- { 0x0243, 18485 },
- { 0x0244, 19969 },
- { 0x0245, 20664 },
- { 0x0246, 18729 },
- { 0x0247, 15028 },
- { 0x0248, 19072 },
- { 0x0249, 15418 },
- { 0x024A, 20618 },
- { 0x024B, 16151 },
- { 0x024C, 19787 },
- { 0x024D, 16246 },
- { 0x024E, 20343 },
- { 0x024F, 16925 },
- { 0x0250, 17539 },
- { 0x0251, 17429 },
- { 0x0252, 17666 },
- { 0x0253, 14729 },
- { 0x0254, 17383 },
- { 0x0255, 14779 },
- { 0x0256, 14874 },
- { 0x0257, 14853 },
- { 0x0258, 17765 },
- { 0x0259, 17448 },
- { 0x025A, 17452 },
- { 0x025B, 17370 },
- { 0x025C, 17777 },
- { 0x025D, 17783 },
- { 0x025E, 17521 },
- { 0x025F, 17692 },
- { 0x0260, 15165 },
- { 0x0261, 17534 },
- { 0x0262, 17979 },
- { 0x0263, 17444 },
- { 0x0264, 17396 },
- { 0x0265, 17554 },
- { 0x0266, 15238 },
- { 0x0267, 17321 },
- { 0x0268, 15368 },
- { 0x0269, 17327 },
- { 0x026A, 17996 },
- { 0x026B, 15591 },
- { 0x026C, 15539 },
- { 0x026D, 15617 },
- { 0x026E, 17337 },
- { 0x026F, 17590 },
- { 0x0270, 17595 },
- { 0x0271, 15649 },
- { 0x0272, 15699 },
- { 0x0273, 15765 },
- { 0x0274, 18028 },
- { 0x0275, 17494 },
- { 0x0276, 18088 },
- { 0x0277, 17516 },
- { 0x0278, 17279 },
- { 0x0279, 17603 },
- { 0x027A, 17615 },
- { 0x027B, 17608 },
- { 0x027C, 16207 },
- { 0x027D, 16214 },
- { 0x027E, 16265 },
- { 0x027F, 17770 },
- { 0x0280, 18043 },
- { 0x0281, 18137 },
- { 0x0282, 16320 },
- { 0x0283, 17201 },
- { 0x0284, 17699 },
- { 0x0285, 17470 },
- { 0x0286, 17205 },
- { 0x0287, 17630 },
- { 0x0288, 16485 },
- { 0x0289, 16503 },
- { 0x028A, 17743 },
- { 0x028B, 16745 },
- { 0x028C, 17635 },
- { 0x028D, 17640 },
- { 0x028E, 17645 },
- { 0x028F, 18073 },
- { 0x0290, 17025 },
- { 0x0291, 16961 },
- { 0x0292, 17229 },
- { 0x0293, 17233 },
- { 0x0294, 18164 },
- { 0x0295, 18226 },
- { 0x0296, 18194 },
- { 0x0297, 18222 },
- { 0x0298, 18186 },
- { 0x0299, 17954 },
- { 0x029A, 17510 },
- { 0x029B, 17984 },
- { 0x029C, 17991 },
- { 0x029D, 15430 },
- { 0x029E, 17580 },
- { 0x029F, 18011 },
- { 0x02A0, 16145 },
- { 0x02A1, 18168 },
- { 0x02A2, 18211 },
- { 0x02A3, 17096 },
- { 0x02A4, 17302 },
- { 0x02A5, 17101 },
- { 0x02A6, 17168 },
- { 0x02A7, 17401 },
- { 0x02A8, 17155 },
- { 0x02A9, 17307 },
- { 0x02AA, 17124 },
- { 0x02AB, 17129 },
- { 0x02AC, 18190 },
- { 0x02AD, 18182 },
- { 0x02AE, 17559 },
- { 0x02AF, 17566 },
- { 0x02B0, 54170 },
- { 0x02B1, 54174 },
- { 0x02B2, 54186 },
- { 0x02B3, 54250 },
- { 0x02B4, 54449 },
- { 0x02B5, 54454 },
- { 0x02B6, 54509 },
- { 0x02B7, 54294 },
- { 0x02B8, 54302 },
- { 0x02B9, 54116 },
- { 0x02BA, 54543 },
- { 0x02BB, 54612 },
- { 0x02BC, 54827 },
- { 0x02BD, 54790 },
- { 0x02BE, 54119 },
- { 0x02BF, 54058 },
- { 0x02C0, 54775 },
- { 0x02C1, 54794 },
- { 0x02C2, 54063 },
- { 0x02C3, 54124 },
- { 0x02C4, 53873 },
- { 0x02C5, 54025 },
- { 0x02C6, 54830 },
- { 0x02C7, 10445 },
- { 0x02C8, 54799 },
- { 0x02C9, 54551 },
- { 0x02CA, 54081 },
- { 0x02CB, 54102 },
- { 0x02CC, 53975 },
- { 0x02CD, 53965 },
- { 0x02CE, 53938 },
- { 0x02CF, 53933 },
- { 0x02D0, 54858 },
- { 0x02D1, 54029 },
- { 0x02D2, 54721 },
- { 0x02D3, 54715 },
- { 0x02D4, 53869 },
- { 0x02D5, 54021 },
- { 0x02D6, 54071 },
- { 0x02D7, 54112 },
- { 0x02D8, 10378 },
- { 0x02D9, 5782 },
- { 0x02DA, 9699 },
- { 0x02DB, 35640 },
- { 0x02DC, 22588 },
- { 0x02DD, 31564 },
- { 0x02DE, 54596 },
- { 0x02DF, 54098 },
- { 0x02E0, 54383 },
- { 0x02E1, 54200 },
- { 0x02E2, 54254 },
- { 0x02E3, 54298 },
- { 0x02E4, 54532 },
- { 0x02E5, 54834 },
- { 0x02E6, 54034 },
- { 0x02E7, 53991 },
- { 0x02E8, 53928 },
- { 0x02E9, 54803 },
- { 0x02EA, 54015 },
- { 0x02EB, 54075 },
- { 0x02EC, 54779 },
- { 0x02ED, 54862 },
- { 0x02EE, 54547 },
- { 0x02EF, 53909 },
- { 0x02F0, 53904 },
- { 0x02F1, 53919 },
- { 0x02F2, 53943 },
- { 0x02F3, 53924 },
- { 0x02F4, 54554 },
- { 0x02F5, 54565 },
- { 0x02F6, 54559 },
- { 0x02F7, 53948 },
- { 0x02F8, 54581 },
- { 0x02F9, 54090 },
- { 0x02FA, 53899 },
- { 0x02FB, 54085 },
- { 0x02FC, 53894 },
- { 0x02FD, 54128 },
- { 0x02FE, 54067 },
- { 0x02FF, 53914 },
- { 0x0300, 57554 },
- { 0x0301, 57523 },
- { 0x0302, 58283 },
- { 0x0303, 57841 },
- { 0x0304, 57946 },
- { 0x0305, 58215 },
- { 0x0306, 57530 },
- { 0x0307, 57402 },
- { 0x0308, 58240 },
- { 0x0309, 57427 },
- { 0x030A, 57506 },
- { 0x030B, 57876 },
- { 0x030C, 57535 },
- { 0x030D, 58221 },
- { 0x030E, 57918 },
- { 0x030F, 57887 },
- { 0x0310, 58305 },
- { 0x0311, 58191 },
- { 0x0312, 57970 },
- { 0x0313, 57540 },
- { 0x0314, 58217 },
- { 0x0315, 57543 },
- { 0x0316, 57557 },
- { 0x0317, 57526 },
- { 0x0318, 57442 },
- { 0x0319, 57783 },
- { 0x031A, 57446 },
- { 0x031B, 57430 },
- { 0x031C, 57437 },
- { 0x031D, 57392 },
- { 0x031E, 57419 },
- { 0x031F, 57502 },
- { 0x0320, 57769 },
- { 0x0321, 58307 },
- { 0x0322, 58279 },
- { 0x0323, 57409 },
- { 0x0324, 58242 },
- { 0x0325, 57509 },
- { 0x0326, 57547 },
- { 0x0327, 57983 },
- { 0x0328, 57959 },
- { 0x0329, 58225 },
- { 0x032A, 57857 },
- { 0x032B, 58202 },
- { 0x032C, 57537 },
- { 0x032D, 58286 },
- { 0x032E, 57532 },
- { 0x032F, 58194 },
- { 0x0330, 57843 },
- { 0x0331, 57952 },
- { 0x0332, 57412 },
- { 0x0333, 57868 },
- { 0x0334, 57846 },
- { 0x0335, 57821 },
- { 0x0336, 57489 },
- { 0x0337, 57825 },
- { 0x0338, 57493 },
- { 0x0339, 57778 },
- { 0x033A, 58198 },
- { 0x033B, 57964 },
- { 0x033C, 57991 },
- { 0x033D, 57383 },
- { 0x033E, 58229 },
- { 0x033F, 57915 },
- { 0x0340, 57550 },
- { 0x0341, 57519 },
- { 0x0342, 57580 },
- { 0x0343, 57561 },
- { 0x0344, 57576 },
- { 0x0345, 57583 },
- { 0x0346, 57854 },
- { 0x0347, 57942 },
- { 0x0348, 57923 },
- { 0x0349, 57450 },
- { 0x034A, 57415 },
- { 0x034B, 58293 },
- { 0x034C, 57849 },
- { 0x034D, 57467 },
- { 0x034E, 57994 },
- { 0x034F, 58188 },
- { 0x0350, 57813 },
- { 0x0351, 57432 },
- { 0x0352, 57985 },
- { 0x0353, 57386 },
- { 0x0354, 57480 },
- { 0x0355, 57817 },
- { 0x0356, 57799 },
- { 0x0357, 57773 },
- { 0x0358, 57405 },
- { 0x0359, 58001 },
- { 0x035A, 57872 },
- { 0x035B, 57974 },
- { 0x035C, 57883 },
- { 0x035D, 57880 },
- { 0x035E, 57904 },
- { 0x035F, 57907 },
- { 0x0360, 57891 },
- { 0x0361, 57911 },
- { 0x0362, 57937 },
- { 0x0363, 57586 },
- { 0x0364, 57607 },
- { 0x0365, 57622 },
- { 0x0366, 57647 },
- { 0x0367, 57679 },
- { 0x0368, 57591 },
- { 0x0369, 57602 },
- { 0x036A, 57617 },
- { 0x036B, 57637 },
- { 0x036C, 57652 },
- { 0x036D, 57674 },
- { 0x036E, 57684 },
- { 0x036F, 57689 },
- { 0x0370, 12320 },
- { 0x0371, 10998 },
- { 0x0372, 12792 },
- { 0x0373, 11590 },
- { 0x0374, 13034 },
- { 0x0375, 10720 },
- { 0x0376, 12999 },
- { 0x0377, 11869 },
- { 0x037A, 13522 },
- { 0x037B, 11881 },
- { 0x037C, 10738 },
- { 0x037D, 11874 },
- { 0x037E, 13059 },
- { 0x0384, 11898 },
- { 0x0385, 13083 },
- { 0x0386, 12574 },
- { 0x0387, 10643 },
- { 0x0388, 12851 },
- { 0x0389, 12268 },
- { 0x038A, 12394 },
- { 0x038C, 12917 },
- { 0x038E, 12969 },
- { 0x038F, 12766 },
- { 0x0390, 11110 },
- { 0x0391, 12428 },
- { 0x0392, 12316 },
- { 0x0393, 12608 },
- { 0x0394, 12604 },
- { 0x0395, 12797 },
- { 0x0396, 12424 },
- { 0x0397, 12122 },
- { 0x0398, 12788 },
- { 0x0399, 12324 },
- { 0x039A, 12612 },
- { 0x039B, 12616 },
- { 0x039C, 12102 },
- { 0x039D, 12106 },
- { 0x039E, 12114 },
- { 0x039F, 12863 },
- { 0x03A0, 12110 },
- { 0x03A1, 12294 },
- { 0x03A3, 12784 },
- { 0x03A4, 12312 },
- { 0x03A5, 12929 },
- { 0x03A6, 12286 },
- { 0x03A7, 12118 },
- { 0x03A8, 12290 },
- { 0x03A9, 12620 },
- { 0x03AA, 12418 },
- { 0x03AB, 12993 },
- { 0x03AC, 11298 },
- { 0x03AD, 11653 },
- { 0x03AE, 10918 },
- { 0x03AF, 11072 },
- { 0x03B0, 11839 },
- { 0x03B1, 11144 },
- { 0x03B2, 10994 },
- { 0x03B3, 11359 },
- { 0x03B4, 11350 },
- { 0x03B5, 11599 },
- { 0x03B6, 11140 },
- { 0x03B7, 10764 },
- { 0x03B8, 11577 },
- { 0x03B9, 11002 },
- { 0x03BA, 11363 },
- { 0x03BB, 11371 },
- { 0x03BC, 10744 },
- { 0x03BD, 10748 },
- { 0x03BE, 10756 },
- { 0x03BF, 11665 },
- { 0x03C0, 10752 },
- { 0x03C1, 10966 },
- { 0x03C2, 11354 },
- { 0x03C3, 11573 },
- { 0x03C4, 10990 },
- { 0x03C5, 11731 },
- { 0x03C6, 10958 },
- { 0x03C7, 10760 },
- { 0x03C8, 10962 },
- { 0x03C9, 11375 },
- { 0x03CA, 11096 },
- { 0x03CB, 11825 },
- { 0x03CC, 11719 },
- { 0x03CD, 11801 },
- { 0x03CE, 11529 },
- { 0x03CF, 12088 },
- { 0x03D0, 10678 },
- { 0x03D1, 11887 },
- { 0x03D2, 13037 },
- { 0x03D3, 13042 },
- { 0x03D4, 13049 },
- { 0x03D5, 10659 },
- { 0x03D6, 10640 },
- { 0x03D7, 10646 },
- { 0x03D8, 12064 },
- { 0x03D9, 11585 },
- { 0x03DA, 12061 },
- { 0x03DB, 11581 },
- { 0x03DC, 12068 },
- { 0x03DD, 11595 },
- { 0x03DE, 12030 },
- { 0x03DF, 11367 },
- { 0x03E0, 12033 },
- { 0x03E1, 11569 },
- { 0x03E2, 31064 },
- { 0x03E3, 30771 },
- { 0x03E4, 30926 },
- { 0x03E5, 30633 },
- { 0x03E6, 31060 },
- { 0x03E7, 30767 },
- { 0x03E8, 31052 },
- { 0x03E9, 30759 },
- { 0x03EA, 31104 },
- { 0x03EB, 30811 },
- { 0x03EC, 31100 },
- { 0x03ED, 30807 },
- { 0x03EE, 30918 },
- { 0x03EF, 30625 },
- { 0x03F0, 10714 },
- { 0x03F1, 10667 },
- { 0x03F2, 12071 },
- { 0x03F3, 12027 },
- { 0x03F4, 12092 },
- { 0x03F5, 12075 },
- { 0x03F6, 13062 },
- { 0x03F7, 12308 },
- { 0x03F8, 10986 },
- { 0x03F9, 13004 },
- { 0x03FA, 12304 },
- { 0x03FB, 10982 },
- { 0x03FC, 10662 },
- { 0x03FD, 13016 },
- { 0x03FE, 12096 },
- { 0x03FF, 13009 },
- { 0x0400, 49628 },
- { 0x0401, 49634 },
- { 0x0402, 49779 },
- { 0x0403, 49828 },
- { 0x0404, 50271 },
- { 0x0405, 49787 },
- { 0x0406, 50281 },
- { 0x0407, 49723 },
- { 0x0408, 49638 },
- { 0x0409, 49848 },
- { 0x040A, 49852 },
- { 0x040B, 50007 },
- { 0x040C, 49836 },
- { 0x040D, 49451 },
- { 0x040E, 50103 },
- { 0x040F, 49910 },
- { 0x0410, 49421 },
- { 0x0411, 49502 },
- { 0x0412, 49711 },
- { 0x0413, 49791 },
- { 0x0414, 49506 },
- { 0x0415, 49618 },
- { 0x0416, 49884 },
- { 0x0417, 49735 },
- { 0x0418, 49447 },
- { 0x0419, 50091 },
- { 0x041A, 49642 },
- { 0x041B, 49514 },
- { 0x041C, 49537 },
- { 0x041D, 49547 },
- { 0x041E, 49469 },
- { 0x041F, 49675 },
- { 0x0420, 49576 },
- { 0x0421, 49586 },
- { 0x0422, 49690 },
- { 0x0423, 49479 },
- { 0x0424, 49510 },
- { 0x0425, 49596 },
- { 0x0426, 49868 },
- { 0x0427, 49756 },
- { 0x0428, 49864 },
- { 0x0429, 50087 },
- { 0x042A, 49926 },
- { 0x042B, 50019 },
- { 0x042C, 49998 },
- { 0x042D, 49437 },
- { 0x042E, 49731 },
- { 0x042F, 49719 },
- { 0x0430, 48523 },
- { 0x0431, 48604 },
- { 0x0432, 48813 },
- { 0x0433, 48893 },
- { 0x0434, 48608 },
- { 0x0435, 48720 },
- { 0x0436, 48986 },
- { 0x0437, 48837 },
- { 0x0438, 48549 },
- { 0x0439, 49193 },
- { 0x043A, 48744 },
- { 0x043B, 48616 },
- { 0x043C, 48639 },
- { 0x043D, 48649 },
- { 0x043E, 48571 },
- { 0x043F, 48777 },
- { 0x0440, 48678 },
- { 0x0441, 48688 },
- { 0x0442, 48792 },
- { 0x0443, 48581 },
- { 0x0444, 48612 },
- { 0x0445, 48698 },
- { 0x0446, 48970 },
- { 0x0447, 48858 },
- { 0x0448, 48966 },
- { 0x0449, 49189 },
- { 0x044A, 49028 },
- { 0x044B, 49121 },
- { 0x044C, 49100 },
- { 0x044D, 48539 },
- { 0x044E, 48833 },
- { 0x044F, 48821 },
- { 0x0450, 48730 },
- { 0x0451, 48736 },
- { 0x0452, 48881 },
- { 0x0453, 48930 },
- { 0x0454, 49377 },
- { 0x0455, 48889 },
- { 0x0456, 49387 },
- { 0x0457, 48825 },
- { 0x0458, 48740 },
- { 0x0459, 48950 },
- { 0x045A, 48954 },
- { 0x045B, 49109 },
- { 0x045C, 48938 },
- { 0x045D, 48553 },
- { 0x045E, 49205 },
- { 0x045F, 49012 },
- { 0x0460, 50062 },
- { 0x0461, 49164 },
- { 0x0462, 49880 },
- { 0x0463, 48982 },
- { 0x0464, 50173 },
- { 0x0465, 49275 },
- { 0x0466, 50132 },
- { 0x0467, 49234 },
- { 0x0468, 50196 },
- { 0x0469, 49298 },
- { 0x046A, 49751 },
- { 0x046B, 48853 },
- { 0x046C, 50178 },
- { 0x046D, 49280 },
- { 0x046E, 49840 },
- { 0x046F, 48942 },
- { 0x0470, 49856 },
- { 0x0471, 48958 },
- { 0x0472, 49922 },
- { 0x0473, 49024 },
- { 0x0474, 50151 },
- { 0x0475, 49253 },
- { 0x0476, 50155 },
- { 0x0477, 49257 },
- { 0x0478, 49707 },
- { 0x0479, 48809 },
- { 0x047A, 50072 },
- { 0x047B, 49174 },
- { 0x047C, 50066 },
- { 0x047D, 49168 },
- { 0x047E, 49671 },
- { 0x047F, 48773 },
- { 0x0480, 50058 },
- { 0x0481, 49160 },
- { 0x0482, 50303 },
- { 0x0483, 58017 },
- { 0x0484, 58185 },
- { 0x0485, 58009 },
- { 0x0486, 58013 },
- { 0x0487, 58177 },
- { 0x0488, 58165 },
- { 0x0489, 58173 },
- { 0x048A, 50096 },
- { 0x048B, 49198 },
- { 0x048C, 50217 },
- { 0x048D, 49323 },
- { 0x048E, 49580 },
- { 0x048F, 48682 },
- { 0x0490, 49816 },
- { 0x0491, 48918 },
- { 0x0492, 49802 },
- { 0x0493, 48904 },
- { 0x0494, 49795 },
- { 0x0495, 48897 },
- { 0x0496, 49894 },
- { 0x0497, 48996 },
- { 0x0498, 49739 },
- { 0x0499, 48841 },
- { 0x049A, 49665 },
- { 0x049B, 48767 },
- { 0x049C, 49658 },
- { 0x049D, 48760 },
- { 0x049E, 49652 },
- { 0x049F, 48754 },
- { 0x04A0, 50141 },
- { 0x04A1, 49243 },
- { 0x04A2, 49570 },
- { 0x04A3, 48672 },
- { 0x04A4, 50291 },
- { 0x04A5, 49397 },
- { 0x04A6, 49679 },
- { 0x04A7, 48781 },
- { 0x04A8, 50234 },
- { 0x04A9, 49340 },
- { 0x04AA, 49590 },
- { 0x04AB, 48692 },
- { 0x04AC, 49701 },
- { 0x04AD, 48803 },
- { 0x04AE, 50222 },
- { 0x04AF, 49328 },
- { 0x04B0, 50227 },
- { 0x04B1, 49333 },
- { 0x04B2, 49612 },
- { 0x04B3, 48714 },
- { 0x04B4, 50296 },
- { 0x04B5, 49402 },
- { 0x04B6, 49767 },
- { 0x04B7, 48869 },
- { 0x04B8, 49760 },
- { 0x04B9, 48862 },
- { 0x04BA, 49975 },
- { 0x04BB, 49077 },
- { 0x04BC, 50239 },
- { 0x04BD, 49345 },
- { 0x04BE, 50244 },
- { 0x04BF, 49350 },
- { 0x04C0, 49414 },
- { 0x04C1, 49888 },
- { 0x04C2, 48990 },
- { 0x04C3, 49646 },
- { 0x04C4, 48748 },
- { 0x04C5, 49524 },
- { 0x04C6, 48626 },
- { 0x04C7, 49551 },
- { 0x04C8, 48653 },
- { 0x04C9, 49557 },
- { 0x04CA, 48659 },
- { 0x04CB, 50276 },
- { 0x04CC, 49382 },
- { 0x04CD, 49541 },
- { 0x04CE, 48643 },
- { 0x04CF, 49304 },
- { 0x04D0, 49425 },
- { 0x04D1, 48527 },
- { 0x04D2, 49431 },
- { 0x04D3, 48533 },
- { 0x04D4, 50286 },
- { 0x04D5, 49392 },
- { 0x04D6, 49622 },
- { 0x04D7, 48724 },
- { 0x04D8, 50077 },
- { 0x04D9, 49179 },
- { 0x04DA, 50081 },
- { 0x04DB, 49183 },
- { 0x04DC, 49900 },
- { 0x04DD, 49002 },
- { 0x04DE, 49745 },
- { 0x04DF, 48847 },
- { 0x04E0, 50251 },
- { 0x04E1, 49357 },
- { 0x04E2, 49457 },
- { 0x04E3, 48559 },
- { 0x04E4, 49463 },
- { 0x04E5, 48565 },
- { 0x04E6, 49473 },
- { 0x04E7, 48575 },
- { 0x04E8, 50108 },
- { 0x04E9, 49210 },
- { 0x04EA, 50113 },
- { 0x04EB, 49215 },
- { 0x04EC, 49441 },
- { 0x04ED, 48543 },
- { 0x04EE, 49490 },
- { 0x04EF, 48592 },
- { 0x04F0, 49496 },
- { 0x04F1, 48598 },
- { 0x04F2, 49483 },
- { 0x04F3, 48585 },
- { 0x04F4, 49773 },
- { 0x04F5, 48875 },
- { 0x04F6, 49822 },
- { 0x04F7, 48924 },
- { 0x04F8, 50030 },
- { 0x04F9, 49132 },
- { 0x04FA, 49808 },
- { 0x04FB, 48910 },
- { 0x04FC, 49600 },
- { 0x04FD, 48702 },
- { 0x04FE, 49606 },
- { 0x04FF, 48708 },
- { 0x0500, 49935 },
- { 0x0501, 49037 },
- { 0x0502, 49940 },
- { 0x0503, 49042 },
- { 0x0504, 49965 },
- { 0x0505, 49067 },
- { 0x0506, 49970 },
- { 0x0507, 49072 },
- { 0x0508, 49945 },
- { 0x0509, 49047 },
- { 0x050A, 49950 },
- { 0x050B, 49052 },
- { 0x050C, 49955 },
- { 0x050D, 49057 },
- { 0x050E, 49960 },
- { 0x050F, 49062 },
- { 0x0510, 50207 },
- { 0x0511, 49313 },
- { 0x0512, 49518 },
- { 0x0513, 48620 },
- { 0x0514, 49844 },
- { 0x0515, 48946 },
- { 0x0516, 49860 },
- { 0x0517, 48962 },
- { 0x0518, 49876 },
- { 0x0519, 48978 },
- { 0x051A, 49686 },
- { 0x051B, 48788 },
- { 0x051C, 49715 },
- { 0x051D, 48817 },
- { 0x051E, 50040 },
- { 0x051F, 49142 },
- { 0x0520, 49530 },
- { 0x0521, 48632 },
- { 0x0522, 49563 },
- { 0x0523, 48665 },
- { 0x0531, 44961 },
- { 0x0532, 44965 },
- { 0x0533, 44981 },
- { 0x0534, 44917 },
- { 0x0535, 44973 },
- { 0x0536, 44957 },
- { 0x0537, 44921 },
- { 0x0538, 44925 },
- { 0x0539, 44945 },
- { 0x053A, 45029 },
- { 0x053B, 44985 },
- { 0x053C, 45045 },
- { 0x053D, 45025 },
- { 0x053E, 44909 },
- { 0x053F, 44993 },
- { 0x0540, 44929 },
- { 0x0541, 44933 },
- { 0x0542, 45037 },
- { 0x0543, 45033 },
- { 0x0544, 44997 },
- { 0x0545, 44953 },
- { 0x0546, 45001 },
- { 0x0547, 45017 },
- { 0x0548, 44949 },
- { 0x0549, 44969 },
- { 0x054A, 45005 },
- { 0x054B, 45041 },
- { 0x054C, 44941 },
- { 0x054D, 45013 },
- { 0x054E, 45021 },
- { 0x054F, 45053 },
- { 0x0550, 45009 },
- { 0x0551, 44913 },
- { 0x0552, 45057 },
- { 0x0553, 45049 },
- { 0x0554, 44989 },
- { 0x0555, 44937 },
- { 0x0556, 44977 },
- { 0x0559, 45064 },
- { 0x055A, 45073 },
- { 0x055B, 45061 },
- { 0x055C, 45075 },
- { 0x055D, 44723 },
- { 0x055E, 45070 },
- { 0x055F, 45078 },
- { 0x0561, 44777 },
- { 0x0562, 44781 },
- { 0x0563, 44797 },
- { 0x0564, 44733 },
- { 0x0565, 44789 },
- { 0x0566, 44773 },
- { 0x0567, 44737 },
- { 0x0568, 44741 },
- { 0x0569, 44761 },
- { 0x056A, 44845 },
- { 0x056B, 44801 },
- { 0x056C, 44861 },
- { 0x056D, 44841 },
- { 0x056E, 44725 },
- { 0x056F, 44809 },
- { 0x0570, 44745 },
- { 0x0571, 44749 },
- { 0x0572, 44853 },
- { 0x0573, 44849 },
- { 0x0574, 44813 },
- { 0x0575, 44769 },
- { 0x0576, 44817 },
- { 0x0577, 44833 },
- { 0x0578, 44765 },
- { 0x0579, 44785 },
- { 0x057A, 44821 },
- { 0x057B, 44857 },
- { 0x057C, 44757 },
- { 0x057D, 44829 },
- { 0x057E, 44837 },
- { 0x057F, 44869 },
- { 0x0580, 44825 },
- { 0x0581, 44729 },
- { 0x0582, 44873 },
- { 0x0583, 44865 },
- { 0x0584, 44805 },
- { 0x0585, 44753 },
- { 0x0586, 44793 },
- { 0x0587, 44877 },
- { 0x0589, 44720 },
- { 0x058A, 44907 },
- { 0x0591, 33056 },
- { 0x0592, 33004 },
- { 0x0593, 33073 },
- { 0x0594, 33022 },
- { 0x0595, 33018 },
- { 0x0596, 33053 },
- { 0x0597, 33001 },
- { 0x0598, 33026 },
- { 0x0599, 33046 },
- { 0x059A, 33015 },
- { 0x059B, 33007 },
- { 0x059C, 33032 },
- { 0x059D, 33035 },
- { 0x059E, 33070 },
- { 0x059F, 33049 },
- { 0x05A0, 33059 },
- { 0x05A1, 32995 },
- { 0x05A2, 32985 },
- { 0x05A3, 32992 },
- { 0x05A4, 33067 },
- { 0x05A5, 33039 },
- { 0x05A6, 33042 },
- { 0x05A7, 32989 },
- { 0x05A8, 32998 },
- { 0x05A9, 33063 },
- { 0x05AA, 33010 },
- { 0x05AB, 32976 },
- { 0x05AC, 32982 },
- { 0x05AD, 32979 },
- { 0x05AE, 33029 },
- { 0x05AF, 32903 },
- { 0x05B0, 32951 },
- { 0x05B1, 32922 },
- { 0x05B2, 32918 },
- { 0x05B3, 32926 },
- { 0x05B4, 32930 },
- { 0x05B5, 32954 },
- { 0x05B6, 32948 },
- { 0x05B7, 32945 },
- { 0x05B8, 32962 },
- { 0x05B9, 32933 },
- { 0x05BA, 32936 },
- { 0x05BB, 32969 },
- { 0x05BC, 32957 },
- { 0x05BD, 32942 },
- { 0x05BE, 33412 },
- { 0x05BF, 32911 },
- { 0x05C0, 33415 },
- { 0x05C1, 32914 },
- { 0x05C2, 32907 },
- { 0x05C3, 33408 },
- { 0x05C4, 32899 },
- { 0x05C5, 32895 },
- { 0x05C6, 33404 },
- { 0x05C7, 32965 },
- { 0x05D0, 33192 },
- { 0x05D1, 33097 },
- { 0x05D2, 33330 },
- { 0x05D3, 33290 },
- { 0x05D4, 33076 },
- { 0x05D5, 33166 },
- { 0x05D6, 33354 },
- { 0x05D7, 33110 },
- { 0x05D8, 33158 },
- { 0x05D9, 33179 },
- { 0x05DA, 33308 },
- { 0x05DB, 33113 },
- { 0x05DC, 33338 },
- { 0x05DD, 33318 },
- { 0x05DE, 33126 },
- { 0x05DF, 33322 },
- { 0x05E0, 33134 },
- { 0x05E1, 33362 },
- { 0x05E2, 33210 },
- { 0x05E3, 33298 },
- { 0x05E4, 33084 },
- { 0x05E5, 33326 },
- { 0x05E6, 33346 },
- { 0x05E7, 33142 },
- { 0x05E8, 33213 },
- { 0x05E9, 33221 },
- { 0x05EA, 33150 },
- { 0x05F0, 33394 },
- { 0x05F1, 33383 },
- { 0x05F2, 33399 },
- { 0x05F3, 33418 },
- { 0x05F4, 33421 },
- { 0x0600, 26405 },
- { 0x0601, 23733 },
- { 0x0602, 26459 },
- { 0x0603, 23730 },
- { 0x0606, 69351 },
- { 0x0607, 69384 },
- { 0x0608, 23706 },
- { 0x0609, 69347 },
- { 0x060A, 69342 },
- { 0x060B, 37776 },
- { 0x060C, 23764 },
- { 0x060D, 23708 },
- { 0x060E, 26408 },
- { 0x060F, 23727 },
- { 0x0610, 23756 },
- { 0x0611, 23736 },
- { 0x0612, 23752 },
- { 0x0613, 23722 },
- { 0x0614, 23749 },
- { 0x0615, 23840 },
- { 0x0616, 23923 },
- { 0x0617, 23872 },
- { 0x0618, 23935 },
- { 0x0619, 23932 },
- { 0x061A, 23938 },
- { 0x061B, 30222 },
- { 0x061E, 26422 },
- { 0x061F, 30214 },
- { 0x0621, 26056 },
- { 0x0622, 25371 },
- { 0x0623, 25327 },
- { 0x0624, 25097 },
- { 0x0625, 25349 },
- { 0x0626, 25155 },
- { 0x0627, 25310 },
- { 0x0628, 24144 },
- { 0x0629, 25027 },
- { 0x062A, 24996 },
- { 0x062B, 25851 },
- { 0x062C, 25554 },
- { 0x062D, 24447 },
- { 0x062E, 25577 },
- { 0x062F, 24260 },
- { 0x0630, 25838 },
- { 0x0631, 24833 },
- { 0x0632, 25897 },
- { 0x0633, 25747 },
- { 0x0634, 26192 },
- { 0x0635, 24929 },
- { 0x0636, 24231 },
- { 0x0637, 24966 },
- { 0x0638, 25287 },
- { 0x0639, 24090 },
- { 0x063A, 26027 },
- { 0x063B, 26073 },
- { 0x063C, 26087 },
- { 0x063D, 25996 },
- { 0x063E, 25950 },
- { 0x063F, 25958 },
- { 0x0640, 26440 },
- { 0x0641, 24346 },
- { 0x0642, 24797 },
- { 0x0643, 24672 },
- { 0x0644, 24720 },
- { 0x0645, 25600 },
- { 0x0646, 25635 },
- { 0x0647, 24545 },
- { 0x0648, 25076 },
- { 0x0649, 25432 },
- { 0x064A, 25147 },
- { 0x064B, 26453 },
- { 0x064C, 26447 },
- { 0x064D, 26465 },
- { 0x064E, 23786 },
- { 0x064F, 23766 },
- { 0x0650, 23807 },
- { 0x0651, 26412 },
- { 0x0652, 23947 },
- { 0x0653, 26402 },
- { 0x0654, 23801 },
- { 0x0655, 23804 },
- { 0x0656, 30224 },
- { 0x0657, 26462 },
- { 0x0658, 23718 },
- { 0x0659, 30220 },
- { 0x065A, 23962 },
- { 0x065B, 23968 },
- { 0x065C, 23957 },
- { 0x065D, 30217 },
- { 0x065E, 23788 },
- { 0x0660, 69372 },
- { 0x0661, 69354 },
- { 0x0662, 69360 },
- { 0x0663, 69381 },
- { 0x0664, 69366 },
- { 0x0665, 69363 },
- { 0x0666, 69357 },
- { 0x0667, 69378 },
- { 0x0668, 69375 },
- { 0x0669, 69369 },
- { 0x066A, 26430 },
- { 0x066B, 26427 },
- { 0x066C, 30227 },
- { 0x066D, 23711 },
- { 0x066E, 26331 },
- { 0x066F, 26339 },
- { 0x0670, 26398 },
- { 0x0671, 25416 },
- { 0x0672, 25313 },
- { 0x0673, 25320 },
- { 0x0674, 25535 },
- { 0x0675, 25549 },
- { 0x0676, 25539 },
- { 0x0677, 24001 },
- { 0x0678, 25544 },
- { 0x0679, 25874 },
- { 0x067A, 26290 },
- { 0x067B, 25453 },
- { 0x067C, 24999 },
- { 0x067D, 25004 },
- { 0x067E, 24774 },
- { 0x067F, 26254 },
- { 0x0680, 25910 },
- { 0x0681, 24465 },
- { 0x0682, 24457 },
- { 0x0683, 25711 },
- { 0x0684, 25489 },
- { 0x0685, 24500 },
- { 0x0686, 26225 },
- { 0x0687, 26375 },
- { 0x0688, 25476 },
- { 0x0689, 24296 },
- { 0x068A, 24263 },
- { 0x068B, 24269 },
- { 0x068C, 25933 },
- { 0x068D, 26277 },
- { 0x068E, 24333 },
- { 0x068F, 24301 },
- { 0x0690, 24289 },
- { 0x0691, 25734 },
- { 0x0692, 24884 },
- { 0x0693, 24873 },
- { 0x0694, 24836 },
- { 0x0695, 24890 },
- { 0x0696, 24842 },
- { 0x0697, 24851 },
- { 0x0698, 24659 },
- { 0x0699, 24866 },
- { 0x069A, 25750 },
- { 0x069B, 25785 },
- { 0x069C, 25792 },
- { 0x069D, 24932 },
- { 0x069E, 24939 },
- { 0x069F, 24969 },
- { 0x06A0, 24108 },
- { 0x06A1, 26335 },
- { 0x06A2, 24355 },
- { 0x06A3, 24349 },
- { 0x06A4, 25053 },
- { 0x06A5, 24369 },
- { 0x06A6, 26146 },
- { 0x06A7, 24800 },
- { 0x06A8, 24806 },
- { 0x06A9, 26064 },
- { 0x06AA, 26221 },
- { 0x06AB, 24688 },
- { 0x06AC, 24675 },
- { 0x06AD, 24028 },
- { 0x06AE, 24693 },
- { 0x06AF, 24405 },
- { 0x06B0, 24415 },
- { 0x06B1, 26123 },
- { 0x06B2, 24408 },
- { 0x06B3, 25512 },
- { 0x06B4, 24420 },
- { 0x06B5, 24734 },
- { 0x06B6, 24728 },
- { 0x06B7, 24740 },
- { 0x06B8, 24747 },
- { 0x06B9, 25638 },
- { 0x06BA, 25680 },
- { 0x06BB, 26169 },
- { 0x06BC, 25651 },
- { 0x06BD, 25668 },
- { 0x06BE, 24631 },
- { 0x06BF, 26228 },
- { 0x06C0, 24583 },
- { 0x06C1, 24548 },
- { 0x06C2, 24552 },
- { 0x06C3, 25031 },
- { 0x06C4, 25092 },
- { 0x06C5, 26343 },
- { 0x06C6, 24051 },
- { 0x06C7, 23998 },
- { 0x06C8, 24077 },
- { 0x06C9, 26359 },
- { 0x06CA, 25085 },
- { 0x06CB, 24064 },
- { 0x06CC, 25946 },
- { 0x06CD, 25150 },
- { 0x06CE, 25193 },
- { 0x06CF, 25079 },
- { 0x06D0, 23975 },
- { 0x06D1, 25199 },
- { 0x06D2, 25211 },
- { 0x06D3, 25215 },
- { 0x06D4, 23715 },
- { 0x06D5, 24025 },
- { 0x06D6, 23913 },
- { 0x06D7, 23903 },
- { 0x06D8, 23852 },
- { 0x06D9, 23835 },
- { 0x06DA, 23848 },
- { 0x06DB, 23880 },
- { 0x06DC, 23868 },
- { 0x06DD, 23702 },
- { 0x06DE, 23941 },
- { 0x06DF, 23892 },
- { 0x06E0, 23897 },
- { 0x06E1, 23885 },
- { 0x06E2, 23858 },
- { 0x06E3, 23825 },
- { 0x06E4, 23876 },
- { 0x06E5, 23829 },
- { 0x06E6, 23832 },
- { 0x06E7, 23844 },
- { 0x06E8, 23864 },
- { 0x06E9, 23817 },
- { 0x06EA, 23776 },
- { 0x06EB, 23781 },
- { 0x06EC, 26433 },
- { 0x06ED, 23821 },
- { 0x06EE, 24309 },
- { 0x06EF, 24913 },
- { 0x06F0, 51759 },
- { 0x06F1, 51735 },
- { 0x06F2, 51743 },
- { 0x06F3, 51771 },
- { 0x06F4, 51751 },
- { 0x06F5, 51747 },
- { 0x06F6, 51739 },
- { 0x06F7, 51767 },
- { 0x06F8, 51763 },
- { 0x06F9, 51755 },
- { 0x06FA, 26195 },
- { 0x06FB, 24234 },
- { 0x06FC, 26030 },
- { 0x06FD, 23740 },
- { 0x06FE, 23744 },
- { 0x06FF, 24605 },
- { 0x0700, 36871 },
- { 0x0701, 37114 },
- { 0x0702, 37094 },
- { 0x0703, 37118 },
- { 0x0704, 37098 },
- { 0x0705, 37106 },
- { 0x0706, 36885 },
- { 0x0707, 36889 },
- { 0x0708, 37121 },
- { 0x0709, 37101 },
- { 0x070A, 37109 },
- { 0x070B, 37081 },
- { 0x070C, 37084 },
- { 0x070D, 37087 },
- { 0x070F, 37126 },
- { 0x0710, 36987 },
- { 0x0711, 37046 },
- { 0x0712, 36952 },
- { 0x0713, 36994 },
- { 0x0714, 36997 },
- { 0x0715, 37004 },
- { 0x0716, 37010 },
- { 0x0717, 36934 },
- { 0x0718, 36949 },
- { 0x0719, 36984 },
- { 0x071A, 36955 },
- { 0x071B, 36970 },
- { 0x071C, 36973 },
- { 0x071D, 36977 },
- { 0x071E, 36980 },
- { 0x071F, 36958 },
- { 0x0720, 37007 },
- { 0x0721, 36940 },
- { 0x0722, 36943 },
- { 0x0723, 37027 },
- { 0x0724, 36990 },
- { 0x0725, 36931 },
- { 0x0726, 36937 },
- { 0x0727, 37042 },
- { 0x0728, 37001 },
- { 0x0729, 36961 },
- { 0x072A, 36964 },
- { 0x072B, 36967 },
- { 0x072C, 36946 },
- { 0x072D, 37015 },
- { 0x072E, 37019 },
- { 0x072F, 37023 },
- { 0x0730, 37050 },
- { 0x0731, 37053 },
- { 0x0732, 37056 },
- { 0x0733, 37059 },
- { 0x0734, 37062 },
- { 0x0735, 37065 },
- { 0x0736, 36907 },
- { 0x0737, 36910 },
- { 0x0738, 36927 },
- { 0x0739, 36923 },
- { 0x073A, 36899 },
- { 0x073B, 36902 },
- { 0x073C, 37111 },
- { 0x073D, 36893 },
- { 0x073E, 36896 },
- { 0x073F, 36913 },
- { 0x0740, 37078 },
- { 0x0741, 37092 },
- { 0x0742, 37090 },
- { 0x0743, 36875 },
- { 0x0744, 36880 },
- { 0x0745, 36915 },
- { 0x0746, 36919 },
- { 0x0747, 37070 },
- { 0x0748, 37074 },
- { 0x0749, 36905 },
- { 0x074A, 37068 },
- { 0x074D, 37038 },
- { 0x074E, 37034 },
- { 0x074F, 37030 },
- { 0x0750, 24195 },
- { 0x0751, 24147 },
- { 0x0752, 24173 },
- { 0x0753, 24182 },
- { 0x0754, 24157 },
- { 0x0755, 24203 },
- { 0x0756, 24167 },
- { 0x0757, 24450 },
- { 0x0758, 24507 },
- { 0x0759, 24278 },
- { 0x075A, 24315 },
- { 0x075B, 24908 },
- { 0x075C, 25767 },
- { 0x075D, 24093 },
- { 0x075E, 24115 },
- { 0x075F, 24100 },
- { 0x0760, 24362 },
- { 0x0761, 24376 },
- { 0x0762, 26067 },
- { 0x0763, 26080 },
- { 0x0764, 26094 },
- { 0x0765, 25603 },
- { 0x0766, 25609 },
- { 0x0767, 25644 },
- { 0x0768, 25662 },
- { 0x0769, 25656 },
- { 0x076A, 24723 },
- { 0x076B, 24858 },
- { 0x076C, 24878 },
- { 0x076D, 25759 },
- { 0x076E, 24491 },
- { 0x076F, 24471 },
- { 0x0770, 25774 },
- { 0x0771, 24897 },
- { 0x0772, 24482 },
- { 0x0773, 25393 },
- { 0x0774, 25402 },
- { 0x0775, 25966 },
- { 0x0776, 25986 },
- { 0x0777, 25976 },
- { 0x0778, 25119 },
- { 0x0779, 25128 },
- { 0x077A, 25240 },
- { 0x077B, 25250 },
- { 0x077C, 24516 },
- { 0x077D, 25803 },
- { 0x077E, 25812 },
- { 0x077F, 24681 },
- { 0x0780, 37486 },
- { 0x0781, 37591 },
- { 0x0782, 37534 },
- { 0x0783, 37492 },
- { 0x0784, 37483 },
- { 0x0785, 37588 },
- { 0x0786, 37525 },
- { 0x0787, 37516 },
- { 0x0788, 37543 },
- { 0x0789, 37531 },
- { 0x078A, 37519 },
- { 0x078B, 37552 },
- { 0x078C, 37510 },
- { 0x078D, 37528 },
- { 0x078E, 37522 },
- { 0x078F, 37585 },
- { 0x0790, 37540 },
- { 0x0791, 37567 },
- { 0x0792, 37579 },
- { 0x0793, 37576 },
- { 0x0794, 37495 },
- { 0x0795, 37573 },
- { 0x0796, 37570 },
- { 0x0797, 37582 },
- { 0x0798, 37513 },
- { 0x0799, 37504 },
- { 0x079A, 37507 },
- { 0x079B, 37564 },
- { 0x079C, 37498 },
- { 0x079D, 37561 },
- { 0x079E, 37558 },
- { 0x079F, 37549 },
- { 0x07A0, 37477 },
- { 0x07A1, 37480 },
- { 0x07A2, 37501 },
- { 0x07A3, 37555 },
- { 0x07A4, 37537 },
- { 0x07A5, 37546 },
- { 0x07A6, 37594 },
- { 0x07A7, 37604 },
- { 0x07A8, 37598 },
- { 0x07A9, 37606 },
- { 0x07AA, 37602 },
- { 0x07AB, 37612 },
- { 0x07AC, 37596 },
- { 0x07AD, 37608 },
- { 0x07AE, 37600 },
- { 0x07AF, 37610 },
- { 0x07B0, 37475 },
- { 0x07B1, 37489 },
- { 0x07C0, 6538 },
- { 0x07C1, 6520 },
- { 0x07C2, 6526 },
- { 0x07C3, 6547 },
- { 0x07C4, 6532 },
- { 0x07C5, 6529 },
- { 0x07C6, 6523 },
- { 0x07C7, 6544 },
- { 0x07C8, 6541 },
- { 0x07C9, 6535 },
- { 0x07CA, 6550 },
- { 0x07CB, 6574 },
- { 0x07CC, 6556 },
- { 0x07CD, 6553 },
- { 0x07CE, 6565 },
- { 0x07CF, 6602 },
- { 0x07D0, 6562 },
- { 0x07D1, 6651 },
- { 0x07D2, 6559 },
- { 0x07D3, 6568 },
- { 0x07D4, 6605 },
- { 0x07D5, 6614 },
- { 0x07D6, 6583 },
- { 0x07D7, 6623 },
- { 0x07D8, 6571 },
- { 0x07D9, 6608 },
- { 0x07DA, 6636 },
- { 0x07DB, 6611 },
- { 0x07DC, 6626 },
- { 0x07DD, 6577 },
- { 0x07DE, 6586 },
- { 0x07DF, 6589 },
- { 0x07E0, 6598 },
- { 0x07E1, 6592 },
- { 0x07E2, 6629 },
- { 0x07E3, 6595 },
- { 0x07E4, 6580 },
- { 0x07E5, 6617 },
- { 0x07E6, 6620 },
- { 0x07E7, 6632 },
- { 0x07E8, 6639 },
- { 0x07E9, 6647 },
- { 0x07EA, 6643 },
- { 0x07EB, 6686 },
- { 0x07EC, 6681 },
- { 0x07ED, 6691 },
- { 0x07EE, 6676 },
- { 0x07EF, 6666 },
- { 0x07F0, 6661 },
- { 0x07F1, 6671 },
- { 0x07F2, 6701 },
- { 0x07F3, 6696 },
- { 0x07F4, 6514 },
- { 0x07F5, 6510 },
- { 0x07F6, 6654 },
- { 0x07F7, 6658 },
- { 0x07F8, 6518 },
- { 0x07F9, 6707 },
- { 0x07FA, 6705 },
- { 0x0901, 66870 },
- { 0x0902, 66864 },
- { 0x0903, 66861 },
- { 0x0904, 67167 },
- { 0x0905, 66990 },
- { 0x0906, 67005 },
- { 0x0907, 66996 },
- { 0x0908, 67032 },
- { 0x0909, 67002 },
- { 0x090A, 67065 },
- { 0x090B, 67199 },
- { 0x090C, 67195 },
- { 0x090D, 67183 },
- { 0x090E, 67171 },
- { 0x090F, 66993 },
- { 0x0910, 67008 },
- { 0x0911, 67187 },
- { 0x0912, 67175 },
- { 0x0913, 66999 },
- { 0x0914, 67011 },
- { 0x0915, 67038 },
- { 0x0916, 67104 },
- { 0x0917, 67026 },
- { 0x0918, 67095 },
- { 0x0919, 67110 },
- { 0x091A, 67017 },
- { 0x091B, 67083 },
- { 0x091C, 67035 },
- { 0x091D, 67098 },
- { 0x091E, 67116 },
- { 0x091F, 67137 },
- { 0x0920, 67161 },
- { 0x0921, 67086 },
- { 0x0922, 67146 },
- { 0x0923, 67113 },
- { 0x0924, 67062 },
- { 0x0925, 67134 },
- { 0x0926, 67020 },
- { 0x0927, 67089 },
- { 0x0928, 67047 },
- { 0x0929, 67158 },
- { 0x092A, 67050 },
- { 0x092B, 67119 },
- { 0x092C, 67014 },
- { 0x092D, 67080 },
- { 0x092E, 67044 },
- { 0x092F, 67071 },
- { 0x0930, 67056 },
- { 0x0931, 67125 },
- { 0x0932, 67041 },
- { 0x0933, 67107 },
- { 0x0934, 67155 },
- { 0x0935, 67068 },
- { 0x0936, 67128 },
- { 0x0937, 67131 },
- { 0x0938, 67059 },
- { 0x0939, 67029 },
- { 0x093C, 66855 },
- { 0x093D, 66867 },
- { 0x093E, 66927 },
- { 0x093F, 66915 },
- { 0x0940, 66939 },
- { 0x0941, 66923 },
- { 0x0942, 66943 },
- { 0x0943, 66972 },
- { 0x0944, 66982 },
- { 0x0945, 66957 },
- { 0x0946, 66947 },
- { 0x0947, 66911 },
- { 0x0948, 66931 },
- { 0x0949, 66962 },
- { 0x094A, 66952 },
- { 0x094B, 66919 },
- { 0x094C, 66935 },
- { 0x094D, 66858 },
- { 0x0950, 66848 },
- { 0x0951, 67211 },
- { 0x0952, 67215 },
- { 0x0953, 66908 },
- { 0x0954, 66873 },
- { 0x0958, 67053 },
- { 0x0959, 67152 },
- { 0x095A, 67149 },
- { 0x095B, 67074 },
- { 0x095C, 67164 },
- { 0x095D, 67122 },
- { 0x095E, 67023 },
- { 0x095F, 67140 },
- { 0x0960, 67207 },
- { 0x0961, 67203 },
- { 0x0962, 66967 },
- { 0x0963, 66977 },
- { 0x0964, 66876 },
- { 0x0965, 66987 },
- { 0x0966, 66896 },
- { 0x0967, 66878 },
- { 0x0968, 66884 },
- { 0x0969, 66905 },
- { 0x096A, 66890 },
- { 0x096B, 66887 },
- { 0x096C, 66881 },
- { 0x096D, 66902 },
- { 0x096E, 66899 },
- { 0x096F, 66893 },
- { 0x0970, 67219 },
- { 0x0971, 66850 },
- { 0x0972, 67179 },
- { 0x097B, 67092 },
- { 0x097C, 67101 },
- { 0x097D, 67191 },
- { 0x097E, 67143 },
- { 0x097F, 67077 },
- { 0x0981, 37801 },
- { 0x0982, 37795 },
- { 0x0983, 37792 },
- { 0x0985, 37898 },
- { 0x0986, 37913 },
- { 0x0987, 37904 },
- { 0x0988, 37937 },
- { 0x0989, 37910 },
- { 0x098A, 37979 },
- { 0x098B, 38053 },
- { 0x098C, 38049 },
- { 0x098F, 37901 },
- { 0x0990, 37916 },
- { 0x0993, 37907 },
- { 0x0994, 37919 },
- { 0x0995, 37943 },
- { 0x0996, 38003 },
- { 0x0997, 37931 },
- { 0x0998, 37997 },
- { 0x0999, 38006 },
- { 0x099A, 37925 },
- { 0x099B, 37988 },
- { 0x099C, 37940 },
- { 0x099D, 38000 },
- { 0x099E, 38012 },
- { 0x099F, 38033 },
- { 0x09A0, 38042 },
- { 0x09A1, 37991 },
- { 0x09A2, 38039 },
- { 0x09A3, 38009 },
- { 0x09A4, 37976 },
- { 0x09A5, 38030 },
- { 0x09A6, 37928 },
- { 0x09A7, 37994 },
- { 0x09A8, 37952 },
- { 0x09AA, 37955 },
- { 0x09AB, 38015 },
- { 0x09AC, 37922 },
- { 0x09AD, 37985 },
- { 0x09AE, 37949 },
- { 0x09AF, 37982 },
- { 0x09B0, 37958 },
- { 0x09B2, 37946 },
- { 0x09B6, 38024 },
- { 0x09B7, 38027 },
- { 0x09B8, 37973 },
- { 0x09B9, 37934 },
- { 0x09BC, 37786 },
- { 0x09BD, 37798 },
- { 0x09BE, 37856 },
- { 0x09BF, 37844 },
- { 0x09C0, 37868 },
- { 0x09C1, 37852 },
- { 0x09C2, 37872 },
- { 0x09C3, 37881 },
- { 0x09C4, 37891 },
- { 0x09C7, 37840 },
- { 0x09C8, 37860 },
- { 0x09CB, 37848 },
- { 0x09CC, 37864 },
- { 0x09CD, 37789 },
- { 0x09CE, 38045 },
- { 0x09D7, 37782 },
- { 0x09DC, 38021 },
- { 0x09DD, 38018 },
- { 0x09DF, 38036 },
- { 0x09E0, 38061 },
- { 0x09E1, 38057 },
- { 0x09E2, 37876 },
- { 0x09E3, 37886 },
- { 0x09E6, 37822 },
- { 0x09E7, 37804 },
- { 0x09E8, 37810 },
- { 0x09E9, 37831 },
- { 0x09EA, 37816 },
- { 0x09EB, 37813 },
- { 0x09EC, 37807 },
- { 0x09ED, 37828 },
- { 0x09EE, 37825 },
- { 0x09EF, 37819 },
- { 0x09F0, 37967 },
- { 0x09F1, 37961 },
- { 0x09F2, 37834 },
- { 0x09F3, 37837 },
- { 0x09F4, 38065 },
- { 0x09F5, 38077 },
- { 0x09F6, 38085 },
- { 0x09F7, 38081 },
- { 0x09F8, 38069 },
- { 0x09F9, 38089 },
- { 0x09FA, 37896 },
- { 0x0A01, 52505 },
- { 0x0A02, 52509 },
- { 0x0A03, 52524 },
- { 0x0A05, 52597 },
- { 0x0A06, 52606 },
- { 0x0A07, 52600 },
- { 0x0A08, 52636 },
- { 0x0A09, 52603 },
- { 0x0A0A, 52669 },
- { 0x0A0F, 52624 },
- { 0x0A10, 52609 },
- { 0x0A13, 52654 },
- { 0x0A14, 52612 },
- { 0x0A15, 52642 },
- { 0x0A16, 52699 },
- { 0x0A17, 52630 },
- { 0x0A18, 52693 },
- { 0x0A19, 52705 },
- { 0x0A1A, 52618 },
- { 0x0A1B, 52684 },
- { 0x0A1C, 52639 },
- { 0x0A1D, 52696 },
- { 0x0A1E, 52711 },
- { 0x0A1F, 52726 },
- { 0x0A20, 52738 },
- { 0x0A21, 52687 },
- { 0x0A22, 52729 },
- { 0x0A23, 52708 },
- { 0x0A24, 52666 },
- { 0x0A25, 52723 },
- { 0x0A26, 52621 },
- { 0x0A27, 52690 },
- { 0x0A28, 52651 },
- { 0x0A2A, 52657 },
- { 0x0A2B, 52714 },
- { 0x0A2C, 52615 },
- { 0x0A2D, 52681 },
- { 0x0A2E, 52648 },
- { 0x0A2F, 52675 },
- { 0x0A30, 52660 },
- { 0x0A32, 52645 },
- { 0x0A33, 52702 },
- { 0x0A35, 52672 },
- { 0x0A36, 52720 },
- { 0x0A38, 52663 },
- { 0x0A39, 52633 },
- { 0x0A3C, 52512 },
- { 0x0A3E, 52569 },
- { 0x0A3F, 52561 },
- { 0x0A40, 52585 },
- { 0x0A41, 52565 },
- { 0x0A42, 52593 },
- { 0x0A47, 52581 },
- { 0x0A48, 52573 },
- { 0x0A4B, 52589 },
- { 0x0A4C, 52577 },
- { 0x0A4D, 52518 },
- { 0x0A51, 52515 },
- { 0x0A59, 52735 },
- { 0x0A5A, 52732 },
- { 0x0A5B, 52678 },
- { 0x0A5C, 52717 },
- { 0x0A5E, 52627 },
- { 0x0A66, 52547 },
- { 0x0A67, 52529 },
- { 0x0A68, 52535 },
- { 0x0A69, 52556 },
- { 0x0A6A, 52541 },
- { 0x0A6B, 52538 },
- { 0x0A6C, 52532 },
- { 0x0A6D, 52553 },
- { 0x0A6E, 52550 },
- { 0x0A6F, 52544 },
- { 0x0A70, 52559 },
- { 0x0A71, 52527 },
- { 0x0A72, 52501 },
- { 0x0A73, 52503 },
- { 0x0A74, 52498 },
- { 0x0A75, 52521 },
- { 0x0A81, 52240 },
- { 0x0A82, 52234 },
- { 0x0A83, 52231 },
- { 0x0A85, 52350 },
- { 0x0A86, 52365 },
- { 0x0A87, 52356 },
- { 0x0A88, 52389 },
- { 0x0A89, 52362 },
- { 0x0A8A, 52419 },
- { 0x0A8B, 52486 },
- { 0x0A8C, 52482 },
- { 0x0A8D, 52342 },
- { 0x0A8F, 52353 },
- { 0x0A90, 52368 },
- { 0x0A91, 52346 },
- { 0x0A93, 52359 },
- { 0x0A94, 52371 },
- { 0x0A95, 52395 },
- { 0x0A96, 52446 },
- { 0x0A97, 52383 },
- { 0x0A98, 52440 },
- { 0x0A99, 52452 },
- { 0x0A9A, 52377 },
- { 0x0A9B, 52431 },
- { 0x0A9C, 52392 },
- { 0x0A9D, 52443 },
- { 0x0A9E, 52458 },
- { 0x0A9F, 52473 },
- { 0x0AA0, 52479 },
- { 0x0AA1, 52434 },
- { 0x0AA2, 52476 },
- { 0x0AA3, 52455 },
- { 0x0AA4, 52416 },
- { 0x0AA5, 52470 },
- { 0x0AA6, 52380 },
- { 0x0AA7, 52437 },
- { 0x0AA8, 52404 },
- { 0x0AAA, 52407 },
- { 0x0AAB, 52461 },
- { 0x0AAC, 52374 },
- { 0x0AAD, 52428 },
- { 0x0AAE, 52401 },
- { 0x0AAF, 52425 },
- { 0x0AB0, 52410 },
- { 0x0AB2, 52398 },
- { 0x0AB3, 52449 },
- { 0x0AB5, 52422 },
- { 0x0AB6, 52464 },
- { 0x0AB7, 52467 },
- { 0x0AB8, 52413 },
- { 0x0AB9, 52386 },
- { 0x0ABC, 52225 },
- { 0x0ABD, 52237 },
- { 0x0ABE, 52292 },
- { 0x0ABF, 52280 },
- { 0x0AC0, 52304 },
- { 0x0AC1, 52288 },
- { 0x0AC2, 52308 },
- { 0x0AC3, 52327 },
- { 0x0AC4, 52337 },
- { 0x0AC5, 52312 },
- { 0x0AC7, 52276 },
- { 0x0AC8, 52296 },
- { 0x0AC9, 52317 },
- { 0x0ACB, 52284 },
- { 0x0ACC, 52300 },
- { 0x0ACD, 52228 },
- { 0x0AD0, 52223 },
- { 0x0AE0, 52494 },
- { 0x0AE1, 52490 },
- { 0x0AE2, 52322 },
- { 0x0AE3, 52332 },
- { 0x0AE6, 52261 },
- { 0x0AE7, 52243 },
- { 0x0AE8, 52249 },
- { 0x0AE9, 52270 },
- { 0x0AEA, 52255 },
- { 0x0AEB, 52252 },
- { 0x0AEC, 52246 },
- { 0x0AED, 52267 },
- { 0x0AEE, 52264 },
- { 0x0AEF, 52258 },
- { 0x0AF1, 52273 },
- { 0x0B01, 21480 },
- { 0x0B02, 21474 },
- { 0x0B03, 21471 },
- { 0x0B05, 21571 },
- { 0x0B06, 21586 },
- { 0x0B07, 21577 },
- { 0x0B08, 21610 },
- { 0x0B09, 21583 },
- { 0x0B0A, 21640 },
- { 0x0B0B, 21719 },
- { 0x0B0C, 21715 },
- { 0x0B0F, 21574 },
- { 0x0B10, 21589 },
- { 0x0B13, 21580 },
- { 0x0B14, 21592 },
- { 0x0B15, 21616 },
- { 0x0B16, 21670 },
- { 0x0B17, 21604 },
- { 0x0B18, 21664 },
- { 0x0B19, 21676 },
- { 0x0B1A, 21598 },
- { 0x0B1B, 21655 },
- { 0x0B1C, 21613 },
- { 0x0B1D, 21667 },
- { 0x0B1E, 21682 },
- { 0x0B1F, 21703 },
- { 0x0B20, 21712 },
- { 0x0B21, 21658 },
- { 0x0B22, 21709 },
- { 0x0B23, 21679 },
- { 0x0B24, 21637 },
- { 0x0B25, 21700 },
- { 0x0B26, 21601 },
- { 0x0B27, 21661 },
- { 0x0B28, 21625 },
- { 0x0B2A, 21628 },
- { 0x0B2B, 21685 },
- { 0x0B2C, 21595 },
- { 0x0B2D, 21652 },
- { 0x0B2E, 21622 },
- { 0x0B2F, 21649 },
- { 0x0B30, 21631 },
- { 0x0B32, 21619 },
- { 0x0B33, 21673 },
- { 0x0B35, 21643 },
- { 0x0B36, 21694 },
- { 0x0B37, 21697 },
- { 0x0B38, 21634 },
- { 0x0B39, 21607 },
- { 0x0B3C, 21465 },
- { 0x0B3D, 21477 },
- { 0x0B3E, 21529 },
- { 0x0B3F, 21517 },
- { 0x0B40, 21541 },
- { 0x0B41, 21525 },
- { 0x0B42, 21545 },
- { 0x0B43, 21554 },
- { 0x0B44, 21564 },
- { 0x0B47, 21513 },
- { 0x0B48, 21533 },
- { 0x0B4B, 21521 },
- { 0x0B4C, 21537 },
- { 0x0B4D, 21468 },
- { 0x0B56, 21457 },
- { 0x0B57, 21461 },
- { 0x0B5C, 21691 },
- { 0x0B5D, 21688 },
- { 0x0B5F, 21706 },
- { 0x0B60, 21727 },
- { 0x0B61, 21723 },
- { 0x0B62, 21549 },
- { 0x0B63, 21559 },
- { 0x0B66, 21501 },
- { 0x0B67, 21483 },
- { 0x0B68, 21489 },
- { 0x0B69, 21510 },
- { 0x0B6A, 21495 },
- { 0x0B6B, 21492 },
- { 0x0B6C, 21486 },
- { 0x0B6D, 21507 },
- { 0x0B6E, 21504 },
- { 0x0B6F, 21498 },
- { 0x0B70, 21569 },
- { 0x0B71, 21646 },
- { 0x0B82, 22772 },
- { 0x0B83, 22769 },
- { 0x0B85, 22864 },
- { 0x0B86, 22879 },
- { 0x0B87, 22870 },
- { 0x0B88, 22897 },
- { 0x0B89, 22876 },
- { 0x0B8A, 22930 },
- { 0x0B8E, 22867 },
- { 0x0B8F, 22891 },
- { 0x0B90, 22882 },
- { 0x0B92, 22873 },
- { 0x0B93, 22915 },
- { 0x0B94, 22885 },
- { 0x0B95, 22903 },
- { 0x0B99, 22942 },
- { 0x0B9A, 22888 },
- { 0x0B9C, 22900 },
- { 0x0B9E, 22948 },
- { 0x0B9F, 22960 },
- { 0x0BA3, 22945 },
- { 0x0BA4, 22927 },
- { 0x0BA8, 22912 },
- { 0x0BA9, 22966 },
- { 0x0BAA, 22918 },
- { 0x0BAE, 22909 },
- { 0x0BAF, 22936 },
- { 0x0BB0, 22921 },
- { 0x0BB1, 22951 },
- { 0x0BB2, 22906 },
- { 0x0BB3, 22939 },
- { 0x0BB4, 22963 },
- { 0x0BB5, 22933 },
- { 0x0BB6, 22954 },
- { 0x0BB7, 22957 },
- { 0x0BB8, 22924 },
- { 0x0BB9, 22894 },
- { 0x0BBE, 22833 },
- { 0x0BBF, 22821 },
- { 0x0BC0, 22849 },
- { 0x0BC1, 22829 },
- { 0x0BC2, 22857 },
- { 0x0BC6, 22817 },
- { 0x0BC7, 22845 },
- { 0x0BC8, 22837 },
- { 0x0BCA, 22825 },
- { 0x0BCB, 22853 },
- { 0x0BCC, 22841 },
- { 0x0BCD, 22766 },
- { 0x0BD0, 22761 },
- { 0x0BD7, 22757 },
- { 0x0BE6, 22799 },
- { 0x0BE7, 22781 },
- { 0x0BE8, 22787 },
- { 0x0BE9, 22808 },
- { 0x0BEA, 22793 },
- { 0x0BEB, 22790 },
- { 0x0BEC, 22784 },
- { 0x0BED, 22805 },
- { 0x0BEE, 22802 },
- { 0x0BEF, 22796 },
- { 0x0BF0, 22977 },
- { 0x0BF1, 22969 },
- { 0x0BF2, 22973 },
- { 0x0BF3, 22763 },
- { 0x0BF4, 22811 },
- { 0x0BF5, 22775 },
- { 0x0BF6, 22778 },
- { 0x0BF7, 22861 },
- { 0x0BF8, 22753 },
- { 0x0BF9, 22814 },
- { 0x0BFA, 22980 },
- { 0x0C01, 37149 },
- { 0x0C02, 37143 },
- { 0x0C03, 37140 },
- { 0x0C05, 37249 },
- { 0x0C06, 37264 },
- { 0x0C07, 37255 },
- { 0x0C08, 37291 },
- { 0x0C09, 37261 },
- { 0x0C0A, 37324 },
- { 0x0C0B, 37400 },
- { 0x0C0C, 37396 },
- { 0x0C0E, 37252 },
- { 0x0C0F, 37282 },
- { 0x0C10, 37267 },
- { 0x0C12, 37258 },
- { 0x0C13, 37309 },
- { 0x0C14, 37270 },
- { 0x0C15, 37297 },
- { 0x0C16, 37354 },
- { 0x0C17, 37285 },
- { 0x0C18, 37348 },
- { 0x0C19, 37360 },
- { 0x0C1A, 37276 },
- { 0x0C1B, 37336 },
- { 0x0C1C, 37294 },
- { 0x0C1D, 37351 },
- { 0x0C1E, 37366 },
- { 0x0C1F, 37387 },
- { 0x0C20, 37393 },
- { 0x0C21, 37339 },
- { 0x0C22, 37390 },
- { 0x0C23, 37363 },
- { 0x0C24, 37321 },
- { 0x0C25, 37381 },
- { 0x0C26, 37279 },
- { 0x0C27, 37342 },
- { 0x0C28, 37306 },
- { 0x0C2A, 37312 },
- { 0x0C2B, 37369 },
- { 0x0C2C, 37273 },
- { 0x0C2D, 37333 },
- { 0x0C2E, 37303 },
- { 0x0C2F, 37330 },
- { 0x0C30, 37315 },
- { 0x0C31, 37372 },
- { 0x0C32, 37300 },
- { 0x0C33, 37357 },
- { 0x0C35, 37327 },
- { 0x0C36, 37375 },
- { 0x0C37, 37378 },
- { 0x0C38, 37318 },
- { 0x0C39, 37288 },
- { 0x0C3D, 37146 },
- { 0x0C3E, 37198 },
- { 0x0C3F, 37186 },
- { 0x0C40, 37214 },
- { 0x0C41, 37194 },
- { 0x0C42, 37222 },
- { 0x0C43, 37231 },
- { 0x0C44, 37241 },
- { 0x0C46, 37182 },
- { 0x0C47, 37210 },
- { 0x0C48, 37202 },
- { 0x0C4A, 37190 },
- { 0x0C4B, 37218 },
- { 0x0C4C, 37206 },
- { 0x0C4D, 37137 },
- { 0x0C55, 37246 },
- { 0x0C56, 37130 },
- { 0x0C58, 37384 },
- { 0x0C59, 37345 },
- { 0x0C60, 37408 },
- { 0x0C61, 37404 },
- { 0x0C62, 37226 },
- { 0x0C63, 37236 },
- { 0x0C66, 37170 },
- { 0x0C67, 37152 },
- { 0x0C68, 37158 },
- { 0x0C69, 37179 },
- { 0x0C6A, 37164 },
- { 0x0C6B, 37161 },
- { 0x0C6C, 37155 },
- { 0x0C6D, 37176 },
- { 0x0C6E, 37173 },
- { 0x0C6F, 37167 },
- { 0x0C78, 37448 },
- { 0x0C79, 37412 },
- { 0x0C7A, 37430 },
- { 0x0C7B, 37457 },
- { 0x0C7C, 37421 },
- { 0x0C7D, 37439 },
- { 0x0C7E, 37466 },
- { 0x0C7F, 37134 },
- { 0x0C82, 40655 },
- { 0x0C83, 40652 },
- { 0x0C85, 40764 },
- { 0x0C86, 40779 },
- { 0x0C87, 40770 },
- { 0x0C88, 40809 },
- { 0x0C89, 40776 },
- { 0x0C8A, 40842 },
- { 0x0C8B, 40912 },
- { 0x0C8C, 40908 },
- { 0x0C8E, 40767 },
- { 0x0C8F, 40797 },
- { 0x0C90, 40782 },
- { 0x0C92, 40773 },
- { 0x0C93, 40827 },
- { 0x0C94, 40785 },
- { 0x0C95, 40815 },
- { 0x0C96, 40869 },
- { 0x0C97, 40803 },
- { 0x0C98, 40863 },
- { 0x0C99, 40875 },
- { 0x0C9A, 40791 },
- { 0x0C9B, 40854 },
- { 0x0C9C, 40812 },
- { 0x0C9D, 40866 },
- { 0x0C9E, 40881 },
- { 0x0C9F, 40899 },
- { 0x0CA0, 40905 },
- { 0x0CA1, 40857 },
- { 0x0CA2, 40902 },
- { 0x0CA3, 40878 },
- { 0x0CA4, 40839 },
- { 0x0CA5, 40896 },
- { 0x0CA6, 40794 },
- { 0x0CA7, 40860 },
- { 0x0CA8, 40824 },
- { 0x0CAA, 40830 },
- { 0x0CAB, 40884 },
- { 0x0CAC, 40788 },
- { 0x0CAD, 40851 },
- { 0x0CAE, 40821 },
- { 0x0CAF, 40848 },
- { 0x0CB0, 40833 },
- { 0x0CB1, 40887 },
- { 0x0CB2, 40818 },
- { 0x0CB3, 40872 },
- { 0x0CB5, 40845 },
- { 0x0CB6, 40890 },
- { 0x0CB7, 40893 },
- { 0x0CB8, 40836 },
- { 0x0CB9, 40806 },
- { 0x0CBC, 40646 },
- { 0x0CBD, 40658 },
- { 0x0CBE, 40713 },
- { 0x0CBF, 40701 },
- { 0x0CC0, 40729 },
- { 0x0CC1, 40709 },
- { 0x0CC2, 40737 },
- { 0x0CC3, 40746 },
- { 0x0CC4, 40756 },
- { 0x0CC6, 40697 },
- { 0x0CC7, 40725 },
- { 0x0CC8, 40717 },
- { 0x0CCA, 40705 },
- { 0x0CCB, 40733 },
- { 0x0CCC, 40721 },
- { 0x0CCD, 40649 },
- { 0x0CD5, 40761 },
- { 0x0CD6, 40642 },
- { 0x0CDE, 40800 },
- { 0x0CE0, 40920 },
- { 0x0CE1, 40916 },
- { 0x0CE2, 40741 },
- { 0x0CE3, 40751 },
- { 0x0CE6, 40685 },
- { 0x0CE7, 40667 },
- { 0x0CE8, 40673 },
- { 0x0CE9, 40694 },
- { 0x0CEA, 40679 },
- { 0x0CEB, 40676 },
- { 0x0CEC, 40670 },
- { 0x0CED, 40691 },
- { 0x0CEE, 40688 },
- { 0x0CEF, 40682 },
- { 0x0CF1, 40661 },
- { 0x0CF2, 40664 },
- { 0x0D02, 64805 },
- { 0x0D03, 64802 },
- { 0x0D05, 64905 },
- { 0x0D06, 64920 },
- { 0x0D07, 64911 },
- { 0x0D08, 64947 },
- { 0x0D09, 64917 },
- { 0x0D0A, 64980 },
- { 0x0D0B, 65077 },
- { 0x0D0C, 65073 },
- { 0x0D0E, 64908 },
- { 0x0D0F, 64938 },
- { 0x0D10, 64923 },
- { 0x0D12, 64914 },
- { 0x0D13, 64965 },
- { 0x0D14, 64926 },
- { 0x0D15, 64953 },
- { 0x0D16, 65007 },
- { 0x0D17, 64941 },
- { 0x0D18, 65001 },
- { 0x0D19, 65013 },
- { 0x0D1A, 64932 },
- { 0x0D1B, 64992 },
- { 0x0D1C, 64950 },
- { 0x0D1D, 65004 },
- { 0x0D1E, 65019 },
- { 0x0D1F, 65037 },
- { 0x0D20, 65046 },
- { 0x0D21, 64995 },
- { 0x0D22, 65040 },
- { 0x0D23, 65016 },
- { 0x0D24, 64977 },
- { 0x0D25, 65034 },
- { 0x0D26, 64935 },
- { 0x0D27, 64998 },
- { 0x0D28, 64962 },
- { 0x0D2A, 64968 },
- { 0x0D2B, 65022 },
- { 0x0D2C, 64929 },
- { 0x0D2D, 64989 },
- { 0x0D2E, 64959 },
- { 0x0D2F, 64986 },
- { 0x0D30, 64971 },
- { 0x0D31, 65025 },
- { 0x0D32, 64956 },
- { 0x0D33, 65010 },
- { 0x0D34, 65043 },
- { 0x0D35, 64983 },
- { 0x0D36, 65028 },
- { 0x0D37, 65031 },
- { 0x0D38, 64974 },
- { 0x0D39, 64944 },
- { 0x0D3D, 64808 },
- { 0x0D3E, 64857 },
- { 0x0D3F, 64845 },
- { 0x0D40, 64873 },
- { 0x0D41, 64853 },
- { 0x0D42, 64881 },
- { 0x0D43, 64890 },
- { 0x0D44, 64900 },
- { 0x0D46, 64841 },
- { 0x0D47, 64869 },
- { 0x0D48, 64861 },
- { 0x0D4A, 64849 },
- { 0x0D4B, 64877 },
- { 0x0D4C, 64865 },
- { 0x0D4D, 64799 },
- { 0x0D57, 64792 },
- { 0x0D60, 65085 },
- { 0x0D61, 65081 },
- { 0x0D62, 64885 },
- { 0x0D63, 64895 },
- { 0x0D66, 64829 },
- { 0x0D67, 64811 },
- { 0x0D68, 64817 },
- { 0x0D69, 64838 },
- { 0x0D6A, 64823 },
- { 0x0D6B, 64820 },
- { 0x0D6C, 64814 },
- { 0x0D6D, 64835 },
- { 0x0D6E, 64832 },
- { 0x0D6F, 64826 },
- { 0x0D70, 65097 },
- { 0x0D71, 65089 },
- { 0x0D72, 65093 },
- { 0x0D73, 65104 },
- { 0x0D74, 65100 },
- { 0x0D75, 65108 },
- { 0x0D79, 64796 },
- { 0x0D7A, 65065 },
- { 0x0D7B, 65057 },
- { 0x0D7C, 65069 },
- { 0x0D7D, 65053 },
- { 0x0D7E, 65061 },
- { 0x0D7F, 65049 },
- { 0x0D82, 43201 },
- { 0x0D83, 43198 },
- { 0x0D85, 43293 },
- { 0x0D86, 43308 },
- { 0x0D87, 43311 },
- { 0x0D88, 43395 },
- { 0x0D89, 43299 },
- { 0x0D8A, 43341 },
- { 0x0D8B, 43305 },
- { 0x0D8C, 43386 },
- { 0x0D8D, 43401 },
- { 0x0D8E, 43407 },
- { 0x0D8F, 43398 },
- { 0x0D90, 43404 },
- { 0x0D91, 43296 },
- { 0x0D92, 43332 },
- { 0x0D93, 43314 },
- { 0x0D94, 43302 },
- { 0x0D95, 43351 },
- { 0x0D96, 43317 },
- { 0x0D9A, 43442 },
- { 0x0D9B, 43482 },
- { 0x0D9C, 43434 },
- { 0x0D9D, 43474 },
- { 0x0D9E, 43344 },
- { 0x0D9F, 43361 },
- { 0x0DA0, 43426 },
- { 0x0DA1, 43466 },
- { 0x0DA2, 43438 },
- { 0x0DA3, 43478 },
- { 0x0DA4, 43382 },
- { 0x0DA5, 43377 },
- { 0x0DA6, 43365 },
- { 0x0DA7, 43458 },
- { 0x0DA8, 43498 },
- { 0x0DA9, 43454 },
- { 0x0DAA, 43494 },
- { 0x0DAB, 43414 },
- { 0x0DAC, 43369 },
- { 0x0DAD, 43450 },
- { 0x0DAE, 43490 },
- { 0x0DAF, 43430 },
- { 0x0DB0, 43470 },
- { 0x0DB1, 43324 },
- { 0x0DB3, 43357 },
- { 0x0DB4, 43446 },
- { 0x0DB5, 43486 },
- { 0x0DB6, 43422 },
- { 0x0DB7, 43462 },
- { 0x0DB8, 43348 },
- { 0x0DB9, 43289 },
- { 0x0DBA, 43392 },
- { 0x0DBB, 43354 },
- { 0x0DBD, 43320 },
- { 0x0DC0, 43389 },
- { 0x0DC1, 43373 },
- { 0x0DC2, 43418 },
- { 0x0DC3, 43328 },
- { 0x0DC4, 43338 },
- { 0x0DC5, 43410 },
- { 0x0DC6, 43335 },
- { 0x0DCA, 43195 },
- { 0x0DCF, 43277 },
- { 0x0DD0, 43244 },
- { 0x0DD1, 43219 },
- { 0x0DD2, 43234 },
- { 0x0DD3, 43209 },
- { 0x0DD4, 43239 },
- { 0x0DD6, 43214 },
- { 0x0DD8, 43285 },
- { 0x0DD9, 43254 },
- { 0x0DDA, 43204 },
- { 0x0DDB, 43249 },
- { 0x0DDC, 43265 },
- { 0x0DDD, 43258 },
- { 0x0DDE, 43271 },
- { 0x0DDF, 43281 },
- { 0x0DF2, 43229 },
- { 0x0DF3, 43224 },
- { 0x0DF4, 43502 },
- { 0x0E01, 9790 },
- { 0x0E02, 9880 },
- { 0x0E03, 9888 },
- { 0x0E04, 9892 },
- { 0x0E05, 9884 },
- { 0x0E06, 9896 },
- { 0x0E07, 9920 },
- { 0x0E08, 9864 },
- { 0x0E09, 9876 },
- { 0x0E0A, 9872 },
- { 0x0E0B, 9828 },
- { 0x0E0C, 9868 },
- { 0x0E0D, 9860 },
- { 0x0E0E, 9770 },
- { 0x0E0F, 9848 },
- { 0x0E10, 9936 },
- { 0x0E11, 9956 },
- { 0x0E12, 9952 },
- { 0x0E13, 9813 },
- { 0x0E14, 9766 },
- { 0x0E15, 9844 },
- { 0x0E16, 9944 },
- { 0x0E17, 9948 },
- { 0x0E18, 9940 },
- { 0x0E19, 9809 },
- { 0x0E1A, 9762 },
- { 0x0E1B, 9817 },
- { 0x0E1C, 9928 },
- { 0x0E1D, 9774 },
- { 0x0E1E, 9924 },
- { 0x0E1F, 9778 },
- { 0x0E20, 9932 },
- { 0x0E21, 9805 },
- { 0x0E22, 9856 },
- { 0x0E23, 9821 },
- { 0x0E24, 9825 },
- { 0x0E25, 9794 },
- { 0x0E26, 9802 },
- { 0x0E27, 9852 },
- { 0x0E28, 9840 },
- { 0x0E29, 9836 },
- { 0x0E2A, 9832 },
- { 0x0E2B, 9782 },
- { 0x0E2C, 9798 },
- { 0x0E2D, 9758 },
- { 0x0E2E, 9786 },
- { 0x0E2F, 10039 },
- { 0x0E30, 9960 },
- { 0x0E31, 9916 },
- { 0x0E32, 9980 },
- { 0x0E33, 9998 },
- { 0x0E34, 9968 },
- { 0x0E35, 10002 },
- { 0x0E36, 10006 },
- { 0x0E37, 10014 },
- { 0x0E38, 9976 },
- { 0x0E39, 10010 },
- { 0x0E3A, 10024 },
- { 0x0E3F, 9754 },
- { 0x0E40, 9964 },
- { 0x0E41, 9984 },
- { 0x0E42, 9972 },
- { 0x0E43, 9988 },
- { 0x0E44, 9993 },
- { 0x0E45, 10045 },
- { 0x0E46, 10027 },
- { 0x0E47, 10036 },
- { 0x0E48, 9900 },
- { 0x0E49, 9904 },
- { 0x0E4A, 9908 },
- { 0x0E4B, 9912 },
- { 0x0E4C, 10048 },
- { 0x0E4D, 10030 },
- { 0x0E4E, 10033 },
- { 0x0E4F, 10021 },
- { 0x0E50, 9742 },
- { 0x0E51, 9724 },
- { 0x0E52, 9730 },
- { 0x0E53, 9751 },
- { 0x0E54, 9736 },
- { 0x0E55, 9733 },
- { 0x0E56, 9727 },
- { 0x0E57, 9748 },
- { 0x0E58, 9745 },
- { 0x0E59, 9739 },
- { 0x0E5A, 10042 },
- { 0x0E5B, 10018 },
- { 0x0E81, 5948 },
- { 0x0E82, 5989 },
- { 0x0E84, 5985 },
- { 0x0E87, 5993 },
- { 0x0E88, 5926 },
- { 0x0E8A, 5968 },
- { 0x0E8D, 5996 },
- { 0x0E94, 5929 },
- { 0x0E95, 5976 },
- { 0x0E96, 6011 },
- { 0x0E97, 6007 },
- { 0x0E99, 5962 },
- { 0x0E9A, 5923 },
- { 0x0E9B, 5965 },
- { 0x0E9C, 6003 },
- { 0x0E9D, 5932 },
- { 0x0E9E, 5999 },
- { 0x0E9F, 5936 },
- { 0x0EA1, 5959 },
- { 0x0EA2, 5982 },
- { 0x0EA3, 5951 },
- { 0x0EA5, 5955 },
- { 0x0EA7, 5979 },
- { 0x0EAA, 5972 },
- { 0x0EAB, 5944 },
- { 0x0EAD, 5920 },
- { 0x0EAE, 5940 },
- { 0x0EAF, 6015 },
- { 0x0EB0, 5854 },
- { 0x0EB1, 5910 },
- { 0x0EB2, 5878 },
- { 0x0EB3, 5886 },
- { 0x0EB4, 5862 },
- { 0x0EB5, 5898 },
- { 0x0EB6, 5874 },
- { 0x0EB7, 5906 },
- { 0x0EB8, 5870 },
- { 0x0EB9, 5902 },
- { 0x0EBB, 5915 },
- { 0x0EBC, 6019 },
- { 0x0EBD, 6023 },
- { 0x0EC0, 5858 },
- { 0x0EC1, 5894 },
- { 0x0EC2, 5866 },
- { 0x0EC3, 5890 },
- { 0x0EC4, 5882 },
- { 0x0EC6, 5805 },
- { 0x0EC8, 5808 },
- { 0x0EC9, 5816 },
- { 0x0ECA, 5812 },
- { 0x0ECB, 5820 },
- { 0x0ECC, 6027 },
- { 0x0ECD, 6017 },
- { 0x0ED0, 5842 },
- { 0x0ED1, 5824 },
- { 0x0ED2, 5830 },
- { 0x0ED3, 5851 },
- { 0x0ED4, 5836 },
- { 0x0ED5, 5833 },
- { 0x0ED6, 5827 },
- { 0x0ED7, 5848 },
- { 0x0ED8, 5845 },
- { 0x0ED9, 5839 },
- { 0x0EDC, 5802 },
- { 0x0EDD, 5799 },
- { 0x0F00, 44295 },
- { 0x0F01, 43729 },
- { 0x0F02, 43720 },
- { 0x0F03, 43711 },
- { 0x0F04, 43850 },
- { 0x0F05, 43831 },
- { 0x0F06, 43789 },
- { 0x0F07, 43698 },
- { 0x0F08, 43820 },
- { 0x0F09, 43784 },
- { 0x0F0A, 43705 },
- { 0x0F0B, 43871 },
- { 0x0F0C, 43866 },
- { 0x0F0D, 43770 },
- { 0x0F0E, 43752 },
- { 0x0F0F, 43824 },
- { 0x0F10, 43760 },
- { 0x0F11, 43688 },
- { 0x0F12, 43765 },
- { 0x0F13, 43797 },
- { 0x0F14, 43736 },
- { 0x0F15, 44285 },
- { 0x0F16, 44290 },
- { 0x0F17, 44477 },
- { 0x0F18, 44489 },
- { 0x0F19, 44484 },
- { 0x0F1A, 43937 },
- { 0x0F1B, 43953 },
- { 0x0F1C, 43942 },
- { 0x0F1D, 43916 },
- { 0x0F1E, 43932 },
- { 0x0F1F, 43947 },
- { 0x0F20, 44030 },
- { 0x0F21, 43972 },
- { 0x0F22, 43978 },
- { 0x0F23, 44039 },
- { 0x0F24, 43984 },
- { 0x0F25, 43981 },
- { 0x0F26, 43975 },
- { 0x0F27, 44036 },
- { 0x0F28, 44033 },
- { 0x0F29, 44027 },
- { 0x0F2A, 43987 },
- { 0x0F2B, 43995 },
- { 0x0F2C, 44023 },
- { 0x0F2D, 44003 },
- { 0x0F2E, 43999 },
- { 0x0F2F, 43991 },
- { 0x0F30, 44019 },
- { 0x0F31, 44015 },
- { 0x0F32, 44007 },
- { 0x0F33, 44011 },
- { 0x0F34, 43773 },
- { 0x0F35, 43740 },
- { 0x0F36, 43805 },
- { 0x0F37, 43746 },
- { 0x0F38, 43674 },
- { 0x0F39, 43694 },
- { 0x0F3A, 43683 },
- { 0x0F3B, 43678 },
- { 0x0F3C, 43669 },
- { 0x0F3D, 43664 },
- { 0x0F3E, 43908 },
- { 0x0F3F, 43894 },
- { 0x0F40, 44132 },
- { 0x0F41, 44183 },
- { 0x0F42, 44123 },
- { 0x0F43, 44180 },
- { 0x0F44, 44189 },
- { 0x0F45, 44117 },
- { 0x0F46, 44168 },
- { 0x0F47, 44129 },
- { 0x0F49, 44195 },
- { 0x0F4A, 44216 },
- { 0x0F4B, 44234 },
- { 0x0F4C, 44171 },
- { 0x0F4D, 44222 },
- { 0x0F4E, 44192 },
- { 0x0F4F, 44153 },
- { 0x0F50, 44210 },
- { 0x0F51, 44120 },
- { 0x0F52, 44174 },
- { 0x0F53, 44141 },
- { 0x0F54, 44144 },
- { 0x0F55, 44198 },
- { 0x0F56, 44114 },
- { 0x0F57, 44165 },
- { 0x0F58, 44138 },
- { 0x0F59, 44213 },
- { 0x0F5A, 44231 },
- { 0x0F5B, 44177 },
- { 0x0F5C, 44225 },
- { 0x0F5D, 44156 },
- { 0x0F5E, 44219 },
- { 0x0F5F, 44162 },
- { 0x0F60, 44111 },
- { 0x0F61, 44159 },
- { 0x0F62, 44147 },
- { 0x0F63, 44135 },
- { 0x0F64, 44204 },
- { 0x0F65, 44207 },
- { 0x0F66, 44150 },
- { 0x0F67, 44126 },
- { 0x0F68, 44108 },
- { 0x0F69, 44228 },
- { 0x0F6A, 44237 },
- { 0x0F6B, 44186 },
- { 0x0F6C, 44201 },
- { 0x0F71, 44058 },
- { 0x0F72, 44046 },
- { 0x0F73, 44066 },
- { 0x0F74, 44054 },
- { 0x0F75, 44074 },
- { 0x0F76, 44083 },
- { 0x0F77, 44093 },
- { 0x0F78, 44078 },
- { 0x0F79, 44088 },
- { 0x0F7A, 44042 },
- { 0x0F7B, 44062 },
- { 0x0F7C, 44050 },
- { 0x0F7D, 44070 },
- { 0x0F7E, 43958 },
- { 0x0F7F, 43964 },
- { 0x0F80, 44098 },
- { 0x0F81, 44103 },
- { 0x0F82, 43898 },
- { 0x0F83, 43904 },
- { 0x0F84, 43847 },
- { 0x0F85, 43828 },
- { 0x0F86, 43890 },
- { 0x0F87, 43968 },
- { 0x0F88, 43885 },
- { 0x0F89, 43912 },
- { 0x0F8A, 43875 },
- { 0x0F8B, 43880 },
- { 0x0F90, 44330 },
- { 0x0F91, 44398 },
- { 0x0F92, 44318 },
- { 0x0F93, 44394 },
- { 0x0F94, 44402 },
- { 0x0F95, 44310 },
- { 0x0F96, 44378 },
- { 0x0F97, 44326 },
- { 0x0F99, 44410 },
- { 0x0F9A, 44434 },
- { 0x0F9B, 44458 },
- { 0x0F9C, 44382 },
- { 0x0F9D, 44442 },
- { 0x0F9E, 44406 },
- { 0x0F9F, 44358 },
- { 0x0FA0, 44426 },
- { 0x0FA1, 44314 },
- { 0x0FA2, 44386 },
- { 0x0FA3, 44342 },
- { 0x0FA4, 44346 },
- { 0x0FA5, 44414 },
- { 0x0FA6, 44306 },
- { 0x0FA7, 44374 },
- { 0x0FA8, 44338 },
- { 0x0FA9, 44430 },
- { 0x0FAA, 44454 },
- { 0x0FAB, 44390 },
- { 0x0FAC, 44446 },
- { 0x0FAD, 44362 },
- { 0x0FAE, 44438 },
- { 0x0FAF, 44370 },
- { 0x0FB0, 44302 },
- { 0x0FB1, 44366 },
- { 0x0FB2, 44350 },
- { 0x0FB3, 44334 },
- { 0x0FB4, 44418 },
- { 0x0FB5, 44422 },
- { 0x0FB6, 44354 },
- { 0x0FB7, 44322 },
- { 0x0FB8, 44298 },
- { 0x0FB9, 44450 },
- { 0x0FBA, 44467 },
- { 0x0FBB, 44472 },
- { 0x0FBC, 44462 },
- { 0x0FBE, 43653 },
- { 0x0FBF, 43657 },
- { 0x0FC0, 44504 },
- { 0x0FC1, 44509 },
- { 0x0FC2, 44494 },
- { 0x0FC3, 44499 },
- { 0x0FC4, 44273 },
- { 0x0FC5, 44263 },
- { 0x0FC6, 44281 },
- { 0x0FC7, 44267 },
- { 0x0FC8, 44277 },
- { 0x0FC9, 44241 },
- { 0x0FCA, 44257 },
- { 0x0FCB, 44251 },
- { 0x0FCC, 44245 },
- { 0x0FCE, 43926 },
- { 0x0FCF, 43921 },
- { 0x0FD0, 43777 },
- { 0x0FD1, 43813 },
- { 0x0FD2, 43756 },
- { 0x0FD3, 43857 },
- { 0x0FD4, 43838 },
- { 0x1000, 42482 },
- { 0x1001, 42533 },
- { 0x1002, 42470 },
- { 0x1003, 42527 },
- { 0x1004, 42559 },
- { 0x1005, 42464 },
- { 0x1006, 42518 },
- { 0x1007, 42479 },
- { 0x1008, 42530 },
- { 0x1009, 42565 },
- { 0x100A, 42586 },
- { 0x100B, 42580 },
- { 0x100C, 42650 },
- { 0x100D, 42521 },
- { 0x100E, 42583 },
- { 0x100F, 42562 },
- { 0x1010, 42503 },
- { 0x1011, 42577 },
- { 0x1012, 42467 },
- { 0x1013, 42524 },
- { 0x1014, 42491 },
- { 0x1015, 42494 },
- { 0x1016, 42568 },
- { 0x1017, 42461 },
- { 0x1018, 42515 },
- { 0x1019, 42488 },
- { 0x101A, 42512 },
- { 0x101B, 42497 },
- { 0x101C, 42485 },
- { 0x101D, 42509 },
- { 0x101E, 42500 },
- { 0x101F, 42473 },
- { 0x1020, 42536 },
- { 0x1021, 42443 },
- { 0x1022, 42594 },
- { 0x1023, 42449 },
- { 0x1024, 42476 },
- { 0x1025, 42455 },
- { 0x1026, 42506 },
- { 0x1027, 42446 },
- { 0x1028, 42539 },
- { 0x1029, 42452 },
- { 0x102A, 42458 },
- { 0x102B, 42389 },
- { 0x102C, 42329 },
- { 0x102D, 42321 },
- { 0x102E, 42337 },
- { 0x102F, 42325 },
- { 0x1030, 42341 },
- { 0x1031, 42312 },
- { 0x1032, 42333 },
- { 0x1033, 42350 },
- { 0x1034, 42345 },
- { 0x1035, 42316 },
- { 0x1036, 42266 },
- { 0x1037, 42179 },
- { 0x1038, 42233 },
- { 0x1039, 42227 },
- { 0x103A, 42183 },
- { 0x103B, 42767 },
- { 0x103C, 42757 },
- { 0x103D, 42762 },
- { 0x103E, 42752 },
- { 0x103F, 42653 },
- { 0x1040, 42300 },
- { 0x1041, 42282 },
- { 0x1042, 42288 },
- { 0x1043, 42309 },
- { 0x1044, 42294 },
- { 0x1045, 42291 },
- { 0x1046, 42285 },
- { 0x1047, 42306 },
- { 0x1048, 42303 },
- { 0x1049, 42297 },
- { 0x104A, 42223 },
- { 0x104B, 42230 },
- { 0x104C, 42719 },
- { 0x104D, 42722 },
- { 0x104E, 42725 },
- { 0x104F, 42716 },
- { 0x1050, 42571 },
- { 0x1051, 42574 },
- { 0x1052, 42684 },
- { 0x1053, 42692 },
- { 0x1054, 42680 },
- { 0x1055, 42688 },
- { 0x1056, 42414 },
- { 0x1057, 42424 },
- { 0x1058, 42409 },
- { 0x1059, 42419 },
- { 0x105A, 42555 },
- { 0x105B, 42551 },
- { 0x105C, 42543 },
- { 0x105D, 42547 },
- { 0x105E, 42740 },
- { 0x105F, 42734 },
- { 0x1060, 42728 },
- { 0x1061, 42589 },
- { 0x1062, 42361 },
- { 0x1063, 42276 },
- { 0x1064, 42269 },
- { 0x1065, 42702 },
- { 0x1066, 42696 },
- { 0x1067, 42429 },
- { 0x1068, 42436 },
- { 0x1069, 42236 },
- { 0x106A, 42242 },
- { 0x106B, 42248 },
- { 0x106C, 42254 },
- { 0x106D, 42260 },
- { 0x106E, 42662 },
- { 0x106F, 42668 },
- { 0x1070, 42674 },
- { 0x1071, 42355 },
- { 0x1072, 42404 },
- { 0x1073, 42394 },
- { 0x1074, 42399 },
- { 0x1075, 42622 },
- { 0x1076, 42634 },
- { 0x1077, 42614 },
- { 0x1078, 42602 },
- { 0x1079, 42630 },
- { 0x107A, 42638 },
- { 0x107B, 42606 },
- { 0x107C, 42626 },
- { 0x107D, 42642 },
- { 0x107E, 42610 },
- { 0x107F, 42598 },
- { 0x1080, 42646 },
- { 0x1081, 42618 },
- { 0x1082, 42746 },
- { 0x1083, 42378 },
- { 0x1084, 42367 },
- { 0x1085, 42372 },
- { 0x1086, 42383 },
- { 0x1087, 42186 },
- { 0x1088, 42190 },
- { 0x1089, 42194 },
- { 0x108A, 42198 },
- { 0x108B, 42202 },
- { 0x108C, 42207 },
- { 0x108D, 42212 },
- { 0x108E, 42657 },
- { 0x108F, 42218 },
- { 0x1090, 42163 },
- { 0x1091, 42139 },
- { 0x1092, 42147 },
- { 0x1093, 42175 },
- { 0x1094, 42155 },
- { 0x1095, 42151 },
- { 0x1096, 42143 },
- { 0x1097, 42171 },
- { 0x1098, 42167 },
- { 0x1099, 42159 },
- { 0x109E, 42708 },
- { 0x109F, 42712 },
- { 0x10A0, 52068 },
- { 0x10A1, 52096 },
- { 0x10A2, 52112 },
- { 0x10A3, 52108 },
- { 0x10A4, 52072 },
- { 0x10A5, 52176 },
- { 0x10A6, 52184 },
- { 0x10A7, 52168 },
- { 0x10A8, 52080 },
- { 0x10A9, 52136 },
- { 0x10AA, 52140 },
- { 0x10AB, 52144 },
- { 0x10AC, 52148 },
- { 0x10AD, 52084 },
- { 0x10AE, 52152 },
- { 0x10AF, 52216 },
- { 0x10B0, 52160 },
- { 0x10B1, 52164 },
- { 0x10B2, 52172 },
- { 0x10B3, 52088 },
- { 0x10B4, 52208 },
- { 0x10B5, 52204 },
- { 0x10B6, 52196 },
- { 0x10B7, 52156 },
- { 0x10B8, 52212 },
- { 0x10B9, 52192 },
- { 0x10BA, 52100 },
- { 0x10BB, 52132 },
- { 0x10BC, 52104 },
- { 0x10BD, 52188 },
- { 0x10BE, 52180 },
- { 0x10BF, 52200 },
- { 0x10C0, 52116 },
- { 0x10C1, 52076 },
- { 0x10C2, 52124 },
- { 0x10C3, 52092 },
- { 0x10C4, 52120 },
- { 0x10C5, 52128 },
- { 0x10D0, 51938 },
- { 0x10D1, 51968 },
- { 0x10D2, 51980 },
- { 0x10D3, 51977 },
- { 0x10D4, 51941 },
- { 0x10D5, 52028 },
- { 0x10D6, 52034 },
- { 0x10D7, 52022 },
- { 0x10D8, 51950 },
- { 0x10D9, 51998 },
- { 0x10DA, 52001 },
- { 0x10DB, 52004 },
- { 0x10DC, 52007 },
- { 0x10DD, 51953 },
- { 0x10DE, 52010 },
- { 0x10DF, 52058 },
- { 0x10E0, 52016 },
- { 0x10E1, 52019 },
- { 0x10E2, 52025 },
- { 0x10E3, 51956 },
- { 0x10E4, 52052 },
- { 0x10E5, 52049 },
- { 0x10E6, 52043 },
- { 0x10E7, 52013 },
- { 0x10E8, 52055 },
- { 0x10E9, 52040 },
- { 0x10EA, 51971 },
- { 0x10EB, 51995 },
- { 0x10EC, 51974 },
- { 0x10ED, 52037 },
- { 0x10EE, 52031 },
- { 0x10EF, 52046 },
- { 0x10F0, 51983 },
- { 0x10F1, 51947 },
- { 0x10F2, 51989 },
- { 0x10F3, 51959 },
- { 0x10F4, 51986 },
- { 0x10F5, 51992 },
- { 0x10F6, 51944 },
- { 0x10F7, 51962 },
- { 0x10F8, 52061 },
- { 0x10F9, 52064 },
- { 0x10FA, 51965 },
- { 0x10FB, 52220 },
- { 0x10FC, 54786 },
- { 0x1100, 32202 },
- { 0x1101, 32310 },
- { 0x1102, 32190 },
- { 0x1103, 32205 },
- { 0x1104, 32313 },
- { 0x1105, 32196 },
- { 0x1106, 32187 },
- { 0x1107, 32193 },
- { 0x1108, 32268 },
- { 0x1109, 32175 },
- { 0x110A, 32226 },
- { 0x110B, 32184 },
- { 0x110C, 32178 },
- { 0x110D, 32256 },
- { 0x110E, 32208 },
- { 0x110F, 32211 },
- { 0x1110, 32220 },
- { 0x1111, 32217 },
- { 0x1112, 32181 },
- { 0x1113, 32328 },
- { 0x1114, 32265 },
- { 0x1115, 32331 },
- { 0x1116, 32289 },
- { 0x1117, 32391 },
- { 0x1118, 32301 },
- { 0x1119, 32271 },
- { 0x111A, 32298 },
- { 0x111B, 32376 },
- { 0x111C, 32286 },
- { 0x111D, 32370 },
- { 0x111E, 32334 },
- { 0x111F, 32295 },
- { 0x1120, 32337 },
- { 0x1121, 32232 },
- { 0x1122, 32424 },
- { 0x1123, 32427 },
- { 0x1124, 32418 },
- { 0x1125, 32409 },
- { 0x1126, 32415 },
- { 0x1127, 32292 },
- { 0x1128, 32382 },
- { 0x1129, 32388 },
- { 0x112A, 32385 },
- { 0x112B, 32373 },
- { 0x112C, 32439 },
- { 0x112D, 32304 },
- { 0x112E, 32247 },
- { 0x112F, 32307 },
- { 0x1130, 32253 },
- { 0x1131, 32244 },
- { 0x1132, 32250 },
- { 0x1133, 32430 },
- { 0x1134, 32394 },
- { 0x1135, 32241 },
- { 0x1136, 32235 },
- { 0x1137, 32340 },
- { 0x1138, 32343 },
- { 0x1139, 32349 },
- { 0x113A, 32346 },
- { 0x113B, 32238 },
- { 0x113C, 32319 },
- { 0x113D, 32421 },
- { 0x113E, 32397 },
- { 0x113F, 32442 },
- { 0x1140, 32214 },
- { 0x1141, 32322 },
- { 0x1142, 32325 },
- { 0x1143, 32280 },
- { 0x1144, 32283 },
- { 0x1145, 32229 },
- { 0x1146, 32361 },
- { 0x1147, 32262 },
- { 0x1148, 32277 },
- { 0x1149, 32358 },
- { 0x114A, 32367 },
- { 0x114B, 32364 },
- { 0x114C, 32223 },
- { 0x114D, 32274 },
- { 0x114E, 32355 },
- { 0x114F, 32436 },
- { 0x1150, 32412 },
- { 0x1151, 32445 },
- { 0x1152, 32400 },
- { 0x1153, 32352 },
- { 0x1154, 32403 },
- { 0x1155, 32433 },
- { 0x1156, 32379 },
- { 0x1157, 32406 },
- { 0x1158, 32259 },
- { 0x1159, 32316 },
- { 0x115F, 32199 },
- { 0x1160, 32865 },
- { 0x1161, 32694 },
- { 0x1162, 32709 },
- { 0x1163, 32730 },
- { 0x1164, 32781 },
- { 0x1165, 32712 },
- { 0x1166, 32697 },
- { 0x1167, 32784 },
- { 0x1168, 32733 },
- { 0x1169, 32703 },
- { 0x116A, 32721 },
- { 0x116B, 32775 },
- { 0x116C, 32718 },
- { 0x116D, 32739 },
- { 0x116E, 32706 },
- { 0x116F, 32778 },
- { 0x1170, 32724 },
- { 0x1171, 32727 },
- { 0x1172, 32742 },
- { 0x1173, 32715 },
- { 0x1174, 32736 },
- { 0x1175, 32700 },
- { 0x1176, 32745 },
- { 0x1177, 32748 },
- { 0x1178, 32814 },
- { 0x1179, 32847 },
- { 0x117A, 32787 },
- { 0x117B, 32790 },
- { 0x117C, 32841 },
- { 0x117D, 32850 },
- { 0x117E, 32853 },
- { 0x117F, 32802 },
- { 0x1180, 32760 },
- { 0x1181, 32805 },
- { 0x1182, 32763 },
- { 0x1183, 32766 },
- { 0x1184, 32856 },
- { 0x1185, 32868 },
- { 0x1186, 32871 },
- { 0x1187, 32823 },
- { 0x1188, 32820 },
- { 0x1189, 32769 },
- { 0x118A, 32808 },
- { 0x118B, 32886 },
- { 0x118C, 32811 },
- { 0x118D, 32772 },
- { 0x118E, 32826 },
- { 0x118F, 32859 },
- { 0x1190, 32829 },
- { 0x1191, 32874 },
- { 0x1192, 32862 },
- { 0x1193, 32835 },
- { 0x1194, 32832 },
- { 0x1195, 32793 },
- { 0x1196, 32844 },
- { 0x1197, 32817 },
- { 0x1198, 32751 },
- { 0x1199, 32799 },
- { 0x119A, 32754 },
- { 0x119B, 32757 },
- { 0x119C, 32796 },
- { 0x119D, 32883 },
- { 0x119E, 32838 },
- { 0x119F, 32889 },
- { 0x11A0, 32880 },
- { 0x11A1, 32877 },
- { 0x11A2, 32892 },
- { 0x11A8, 32472 },
- { 0x11A9, 32577 },
- { 0x11AA, 32535 },
- { 0x11AB, 32463 },
- { 0x11AC, 32547 },
- { 0x11AD, 32550 },
- { 0x11AE, 32475 },
- { 0x11AF, 32469 },
- { 0x11B0, 32598 },
- { 0x11B1, 32562 },
- { 0x11B2, 32568 },
- { 0x11B3, 32508 },
- { 0x11B4, 32643 },
- { 0x11B5, 32640 },
- { 0x11B6, 32559 },
- { 0x11B7, 32460 },
- { 0x11B8, 32466 },
- { 0x11B9, 32505 },
- { 0x11BA, 32448 },
- { 0x11BB, 32496 },
- { 0x11BC, 32457 },
- { 0x11BD, 32451 },
- { 0x11BE, 32478 },
- { 0x11BF, 32481 },
- { 0x11C0, 32490 },
- { 0x11C1, 32487 },
- { 0x11C2, 32454 },
- { 0x11C3, 32586 },
- { 0x11C4, 32682 },
- { 0x11C5, 32592 },
- { 0x11C6, 32595 },
- { 0x11C7, 32502 },
- { 0x11C8, 32622 },
- { 0x11C9, 32625 },
- { 0x11CA, 32646 },
- { 0x11CB, 32604 },
- { 0x11CC, 32673 },
- { 0x11CD, 32565 },
- { 0x11CE, 32601 },
- { 0x11CF, 32688 },
- { 0x11D0, 32520 },
- { 0x11D1, 32685 },
- { 0x11D2, 32661 },
- { 0x11D3, 32664 },
- { 0x11D4, 32676 },
- { 0x11D5, 32691 },
- { 0x11D6, 32658 },
- { 0x11D7, 32637 },
- { 0x11D8, 32634 },
- { 0x11D9, 32679 },
- { 0x11DA, 32589 },
- { 0x11DB, 32544 },
- { 0x11DC, 32541 },
- { 0x11DD, 32499 },
- { 0x11DE, 32655 },
- { 0x11DF, 32619 },
- { 0x11E0, 32616 },
- { 0x11E1, 32538 },
- { 0x11E2, 32610 },
- { 0x11E3, 32556 },
- { 0x11E4, 32631 },
- { 0x11E5, 32553 },
- { 0x11E6, 32613 },
- { 0x11E7, 32571 },
- { 0x11E8, 32574 },
- { 0x11E9, 32514 },
- { 0x11EA, 32511 },
- { 0x11EB, 32484 },
- { 0x11EC, 32583 },
- { 0x11ED, 32670 },
- { 0x11EE, 32517 },
- { 0x11EF, 32607 },
- { 0x11F0, 32493 },
- { 0x11F1, 32649 },
- { 0x11F2, 32667 },
- { 0x11F3, 32628 },
- { 0x11F4, 32652 },
- { 0x11F5, 32526 },
- { 0x11F6, 32532 },
- { 0x11F7, 32523 },
- { 0x11F8, 32529 },
- { 0x11F9, 32580 },
- { 0x1200, 50516 },
- { 0x1201, 50528 },
- { 0x1202, 50522 },
- { 0x1203, 50909 },
- { 0x1204, 50912 },
- { 0x1205, 50519 },
- { 0x1206, 50525 },
- { 0x1207, 50930 },
- { 0x1208, 50561 },
- { 0x1209, 50573 },
- { 0x120A, 50567 },
- { 0x120B, 50993 },
- { 0x120C, 50996 },
- { 0x120D, 50564 },
- { 0x120E, 50570 },
- { 0x120F, 51002 },
- { 0x1210, 50915 },
- { 0x1211, 50927 },
- { 0x1212, 50921 },
- { 0x1213, 51443 },
- { 0x1214, 51446 },
- { 0x1215, 50918 },
- { 0x1216, 50924 },
- { 0x1217, 51449 },
- { 0x1218, 50576 },
- { 0x1219, 50588 },
- { 0x121A, 50582 },
- { 0x121B, 51005 },
- { 0x121C, 51008 },
- { 0x121D, 50579 },
- { 0x121E, 50585 },
- { 0x121F, 51014 },
- { 0x1220, 51191 },
- { 0x1221, 51203 },
- { 0x1222, 51197 },
- { 0x1223, 51554 },
- { 0x1224, 51557 },
- { 0x1225, 51194 },
- { 0x1226, 51200 },
- { 0x1227, 51560 },
- { 0x1228, 50636 },
- { 0x1229, 50648 },
- { 0x122A, 50642 },
- { 0x122B, 51134 },
- { 0x122C, 51137 },
- { 0x122D, 50639 },
- { 0x122E, 50645 },
- { 0x122F, 51143 },
- { 0x1230, 50651 },
- { 0x1231, 50663 },
- { 0x1232, 50657 },
- { 0x1233, 51149 },
- { 0x1234, 51152 },
- { 0x1235, 50654 },
- { 0x1236, 50660 },
- { 0x1237, 51188 },
- { 0x1238, 51155 },
- { 0x1239, 51167 },
- { 0x123A, 51161 },
- { 0x123B, 51536 },
- { 0x123C, 51539 },
- { 0x123D, 51158 },
- { 0x123E, 51164 },
- { 0x123F, 51545 },
- { 0x1240, 50621 },
- { 0x1241, 50633 },
- { 0x1242, 50627 },
- { 0x1243, 51086 },
- { 0x1244, 51089 },
- { 0x1245, 50624 },
- { 0x1246, 50630 },
- { 0x1247, 51107 },
- { 0x1248, 51110 },
- { 0x124A, 51116 },
- { 0x124B, 51524 },
- { 0x124C, 51527 },
- { 0x124D, 51113 },
- { 0x1250, 51092 },
- { 0x1251, 51104 },
- { 0x1252, 51098 },
- { 0x1253, 51509 },
- { 0x1254, 51512 },
- { 0x1255, 51095 },
- { 0x1256, 51101 },
- { 0x1258, 51515 },
- { 0x125A, 51521 },
- { 0x125B, 51638 },
- { 0x125C, 51641 },
- { 0x125D, 51518 },
- { 0x1260, 50441 },
- { 0x1261, 50453 },
- { 0x1262, 50447 },
- { 0x1263, 50756 },
- { 0x1264, 50759 },
- { 0x1265, 50444 },
- { 0x1266, 50450 },
- { 0x1267, 50765 },
- { 0x1268, 50681 },
- { 0x1269, 50693 },
- { 0x126A, 50687 },
- { 0x126B, 51263 },
- { 0x126C, 51266 },
- { 0x126D, 50684 },
- { 0x126E, 50690 },
- { 0x126F, 51269 },
- { 0x1270, 50666 },
- { 0x1271, 50678 },
- { 0x1272, 50672 },
- { 0x1273, 51206 },
- { 0x1274, 51209 },
- { 0x1275, 50669 },
- { 0x1276, 50675 },
- { 0x1277, 51245 },
- { 0x1278, 50456 },
- { 0x1279, 50468 },
- { 0x127A, 50462 },
- { 0x127B, 50774 },
- { 0x127C, 50792 },
- { 0x127D, 50459 },
- { 0x127E, 50465 },
- { 0x127F, 50813 },
- { 0x1280, 50711 },
- { 0x1281, 50723 },
- { 0x1282, 50717 },
- { 0x1283, 51281 },
- { 0x1284, 51284 },
- { 0x1285, 50714 },
- { 0x1286, 50720 },
- { 0x1287, 51287 },
- { 0x1288, 51290 },
- { 0x128A, 51296 },
- { 0x128B, 51593 },
- { 0x128C, 51596 },
- { 0x128D, 51293 },
- { 0x1290, 50591 },
- { 0x1291, 50603 },
- { 0x1292, 50597 },
- { 0x1293, 51026 },
- { 0x1294, 51029 },
- { 0x1295, 50594 },
- { 0x1296, 50600 },
- { 0x1297, 51035 },
- { 0x1298, 51038 },
- { 0x1299, 51050 },
- { 0x129A, 51044 },
- { 0x129B, 51482 },
- { 0x129C, 51485 },
- { 0x129D, 51041 },
- { 0x129E, 51047 },
- { 0x129F, 51491 },
- { 0x12A0, 51644 },
- { 0x12A1, 51660 },
- { 0x12A2, 51652 },
- { 0x12A3, 51664 },
- { 0x12A4, 51668 },
- { 0x12A5, 51648 },
- { 0x12A6, 51656 },
- { 0x12A7, 51676 },
- { 0x12A8, 50546 },
- { 0x12A9, 50558 },
- { 0x12AA, 50552 },
- { 0x12AB, 50945 },
- { 0x12AC, 50948 },
- { 0x12AD, 50549 },
- { 0x12AE, 50555 },
- { 0x12AF, 50951 },
- { 0x12B0, 50954 },
- { 0x12B2, 50960 },
- { 0x12B3, 51452 },
- { 0x12B4, 51455 },
- { 0x12B5, 50957 },
- { 0x12B8, 50963 },
- { 0x12B9, 50975 },
- { 0x12BA, 50969 },
- { 0x12BB, 51458 },
- { 0x12BC, 51461 },
- { 0x12BD, 50966 },
- { 0x12BE, 50972 },
- { 0x12C0, 51464 },
- { 0x12C2, 51470 },
- { 0x12C3, 51632 },
- { 0x12C4, 51635 },
- { 0x12C5, 51467 },
- { 0x12C8, 50696 },
- { 0x12C9, 50708 },
- { 0x12CA, 50702 },
- { 0x12CB, 51272 },
- { 0x12CC, 51275 },
- { 0x12CD, 50699 },
- { 0x12CE, 50705 },
- { 0x12CF, 51278 },
- { 0x12D0, 51696 },
- { 0x12D1, 51712 },
- { 0x12D2, 51704 },
- { 0x12D3, 51716 },
- { 0x12D4, 51720 },
- { 0x12D5, 51700 },
- { 0x12D6, 51708 },
- { 0x12D8, 50741 },
- { 0x12D9, 50753 },
- { 0x12DA, 50747 },
- { 0x12DB, 51323 },
- { 0x12DC, 51326 },
- { 0x12DD, 50744 },
- { 0x12DE, 50750 },
- { 0x12DF, 51347 },
- { 0x12E0, 51329 },
- { 0x12E1, 51341 },
- { 0x12E2, 51335 },
- { 0x12E3, 51605 },
- { 0x12E4, 51608 },
- { 0x12E5, 51332 },
- { 0x12E6, 51338 },
- { 0x12E7, 51611 },
- { 0x12E8, 50726 },
- { 0x12E9, 50738 },
- { 0x12EA, 50732 },
- { 0x12EB, 51314 },
- { 0x12EC, 51317 },
- { 0x12ED, 50729 },
- { 0x12EE, 50735 },
- { 0x12EF, 51320 },
- { 0x12F0, 50471 },
- { 0x12F1, 50483 },
- { 0x12F2, 50477 },
- { 0x12F3, 50816 },
- { 0x12F4, 50834 },
- { 0x12F5, 50474 },
- { 0x12F6, 50480 },
- { 0x12F7, 50840 },
- { 0x12F8, 50819 },
- { 0x12F9, 50831 },
- { 0x12FA, 50825 },
- { 0x12FB, 51401 },
- { 0x12FC, 51404 },
- { 0x12FD, 50822 },
- { 0x12FE, 50828 },
- { 0x12FF, 51410 },
- { 0x1300, 50531 },
- { 0x1301, 50543 },
- { 0x1302, 50537 },
- { 0x1303, 50933 },
- { 0x1304, 50936 },
- { 0x1305, 50534 },
- { 0x1306, 50540 },
- { 0x1307, 50942 },
- { 0x1308, 50501 },
- { 0x1309, 50513 },
- { 0x130A, 50507 },
- { 0x130B, 50861 },
- { 0x130C, 50864 },
- { 0x130D, 50504 },
- { 0x130E, 50510 },
- { 0x130F, 50882 },
- { 0x1310, 50885 },
- { 0x1312, 50891 },
- { 0x1313, 51431 },
- { 0x1314, 51434 },
- { 0x1315, 50888 },
- { 0x1318, 50867 },
- { 0x1319, 50879 },
- { 0x131A, 50873 },
- { 0x131B, 51416 },
- { 0x131C, 51419 },
- { 0x131D, 50870 },
- { 0x131E, 50876 },
- { 0x131F, 51626 },
- { 0x1320, 51212 },
- { 0x1321, 51224 },
- { 0x1322, 51218 },
- { 0x1323, 51563 },
- { 0x1324, 51566 },
- { 0x1325, 51215 },
- { 0x1326, 51221 },
- { 0x1327, 51572 },
- { 0x1328, 50795 },
- { 0x1329, 50807 },
- { 0x132A, 50801 },
- { 0x132B, 51389 },
- { 0x132C, 51392 },
- { 0x132D, 50798 },
- { 0x132E, 50804 },
- { 0x132F, 51398 },
- { 0x1330, 51059 },
- { 0x1331, 51071 },
- { 0x1332, 51065 },
- { 0x1333, 51494 },
- { 0x1334, 51497 },
- { 0x1335, 51062 },
- { 0x1336, 51068 },
- { 0x1337, 51503 },
- { 0x1338, 51230 },
- { 0x1339, 51242 },
- { 0x133A, 51236 },
- { 0x133B, 51575 },
- { 0x133C, 51578 },
- { 0x133D, 51233 },
- { 0x133E, 51239 },
- { 0x133F, 51581 },
- { 0x1340, 51248 },
- { 0x1341, 51260 },
- { 0x1342, 51254 },
- { 0x1343, 51584 },
- { 0x1344, 51587 },
- { 0x1345, 51251 },
- { 0x1346, 51257 },
- { 0x1347, 51590 },
- { 0x1348, 50486 },
- { 0x1349, 50498 },
- { 0x134A, 50492 },
- { 0x134B, 50843 },
- { 0x134C, 50846 },
- { 0x134D, 50489 },
- { 0x134E, 50495 },
- { 0x134F, 50849 },
- { 0x1350, 50606 },
- { 0x1351, 50618 },
- { 0x1352, 50612 },
- { 0x1353, 51053 },
- { 0x1354, 51056 },
- { 0x1355, 50609 },
- { 0x1356, 50615 },
- { 0x1357, 51077 },
- { 0x1358, 51146 },
- { 0x1359, 51023 },
- { 0x135A, 50858 },
- { 0x135F, 51724 },
- { 0x1360, 50435 },
- { 0x1361, 51733 },
- { 0x1362, 50323 },
- { 0x1363, 50328 },
- { 0x1364, 51731 },
- { 0x1365, 50326 },
- { 0x1366, 50432 },
- { 0x1367, 50438 },
- { 0x1368, 51728 },
- { 0x1369, 50330 },
- { 0x136A, 50336 },
- { 0x136B, 50354 },
- { 0x136C, 50342 },
- { 0x136D, 50339 },
- { 0x136E, 50333 },
- { 0x136F, 50351 },
- { 0x1370, 50348 },
- { 0x1371, 50345 },
- { 0x1372, 50398 },
- { 0x1373, 50423 },
- { 0x1374, 50420 },
- { 0x1375, 50408 },
- { 0x1376, 50405 },
- { 0x1377, 50411 },
- { 0x1378, 50429 },
- { 0x1379, 50414 },
- { 0x137A, 50417 },
- { 0x137B, 50426 },
- { 0x137C, 50401 },
- { 0x1380, 51688 },
- { 0x1381, 51020 },
- { 0x1382, 51479 },
- { 0x1383, 51017 },
- { 0x1384, 51680 },
- { 0x1385, 50771 },
- { 0x1386, 51365 },
- { 0x1387, 50768 },
- { 0x1388, 51684 },
- { 0x1389, 50855 },
- { 0x138A, 51413 },
- { 0x138B, 50852 },
- { 0x138C, 51692 },
- { 0x138D, 51083 },
- { 0x138E, 51506 },
- { 0x138F, 51080 },
- { 0x1390, 50382 },
- { 0x1391, 50361 },
- { 0x1392, 50390 },
- { 0x1393, 50377 },
- { 0x1394, 50365 },
- { 0x1395, 50373 },
- { 0x1396, 50386 },
- { 0x1397, 50369 },
- { 0x1398, 50394 },
- { 0x1399, 50357 },
- { 0x13A0, 48143 },
- { 0x13A1, 48146 },
- { 0x13A2, 48149 },
- { 0x13A3, 48152 },
- { 0x13A4, 48158 },
- { 0x13A5, 48161 },
- { 0x13A6, 48182 },
- { 0x13A7, 48218 },
- { 0x13A8, 48185 },
- { 0x13A9, 48188 },
- { 0x13AA, 48191 },
- { 0x13AB, 48194 },
- { 0x13AC, 48197 },
- { 0x13AD, 48200 },
- { 0x13AE, 48203 },
- { 0x13AF, 48206 },
- { 0x13B0, 48209 },
- { 0x13B1, 48212 },
- { 0x13B2, 48215 },
- { 0x13B3, 48221 },
- { 0x13B4, 48224 },
- { 0x13B5, 48227 },
- { 0x13B6, 48230 },
- { 0x13B7, 48233 },
- { 0x13B8, 48236 },
- { 0x13B9, 48239 },
- { 0x13BA, 48242 },
- { 0x13BB, 48245 },
- { 0x13BC, 48248 },
- { 0x13BD, 48251 },
- { 0x13BE, 48254 },
- { 0x13BF, 48338 },
- { 0x13C0, 48341 },
- { 0x13C1, 48257 },
- { 0x13C2, 48260 },
- { 0x13C3, 48263 },
- { 0x13C4, 48266 },
- { 0x13C5, 48269 },
- { 0x13C6, 48344 },
- { 0x13C7, 48347 },
- { 0x13C8, 48350 },
- { 0x13C9, 48353 },
- { 0x13CA, 48356 },
- { 0x13CB, 48359 },
- { 0x13CC, 48272 },
- { 0x13CD, 48155 },
- { 0x13CE, 48275 },
- { 0x13CF, 48278 },
- { 0x13D0, 48281 },
- { 0x13D1, 48284 },
- { 0x13D2, 48287 },
- { 0x13D3, 48164 },
- { 0x13D4, 48290 },
- { 0x13D5, 48167 },
- { 0x13D6, 48293 },
- { 0x13D7, 48170 },
- { 0x13D8, 48296 },
- { 0x13D9, 48173 },
- { 0x13DA, 48176 },
- { 0x13DB, 48179 },
- { 0x13DC, 48335 },
- { 0x13DD, 48362 },
- { 0x13DE, 48365 },
- { 0x13DF, 48368 },
- { 0x13E0, 48371 },
- { 0x13E1, 48374 },
- { 0x13E2, 48377 },
- { 0x13E3, 48380 },
- { 0x13E4, 48383 },
- { 0x13E5, 48386 },
- { 0x13E6, 48389 },
- { 0x13E7, 48392 },
- { 0x13E8, 48395 },
- { 0x13E9, 48299 },
- { 0x13EA, 48302 },
- { 0x13EB, 48305 },
- { 0x13EC, 48308 },
- { 0x13ED, 48311 },
- { 0x13EE, 48314 },
- { 0x13EF, 48317 },
- { 0x13F0, 48320 },
- { 0x13F1, 48323 },
- { 0x13F2, 48326 },
- { 0x13F3, 48329 },
- { 0x13F4, 48332 },
- { 0x1401, 45872 },
- { 0x1402, 46118 },
- { 0x1403, 45878 },
- { 0x1404, 45953 },
- { 0x1405, 45893 },
- { 0x1406, 46025 },
- { 0x1407, 46790 },
- { 0x1408, 46858 },
- { 0x1409, 46842 },
- { 0x140A, 45866 },
- { 0x140B, 45914 },
- { 0x140C, 46097 },
- { 0x140D, 47791 },
- { 0x140E, 46100 },
- { 0x140F, 47795 },
- { 0x1410, 46392 },
- { 0x1411, 47927 },
- { 0x1412, 46103 },
- { 0x1413, 47799 },
- { 0x1414, 46395 },
- { 0x1415, 47931 },
- { 0x1416, 47555 },
- { 0x1417, 46094 },
- { 0x1418, 47787 },
- { 0x1419, 46389 },
- { 0x141A, 47923 },
- { 0x141B, 47551 },
- { 0x141C, 45917 },
- { 0x141D, 46786 },
- { 0x141E, 47539 },
- { 0x141F, 46643 },
- { 0x1420, 46647 },
- { 0x1421, 46663 },
- { 0x1422, 46624 },
- { 0x1423, 46651 },
- { 0x1424, 46639 },
- { 0x1425, 46669 },
- { 0x1426, 46674 },
- { 0x1427, 46681 },
- { 0x1428, 46657 },
- { 0x1429, 46635 },
- { 0x142A, 46630 },
- { 0x142B, 45935 },
- { 0x142C, 45956 },
- { 0x142D, 46022 },
- { 0x142E, 45920 },
- { 0x142F, 46031 },
- { 0x1430, 46513 },
- { 0x1431, 46034 },
- { 0x1432, 46257 },
- { 0x1433, 46037 },
- { 0x1434, 46260 },
- { 0x1435, 46814 },
- { 0x1436, 47186 },
- { 0x1437, 46882 },
- { 0x1438, 46028 },
- { 0x1439, 46254 },
- { 0x143A, 46266 },
- { 0x143B, 47879 },
- { 0x143C, 46269 },
- { 0x143D, 47883 },
- { 0x143E, 46519 },
- { 0x143F, 48011 },
- { 0x1440, 46272 },
- { 0x1441, 47887 },
- { 0x1442, 46522 },
- { 0x1443, 48015 },
- { 0x1444, 46263 },
- { 0x1445, 47875 },
- { 0x1446, 46516 },
- { 0x1447, 48007 },
- { 0x1448, 46830 },
- { 0x1449, 45896 },
- { 0x144A, 47747 },
- { 0x144B, 46838 },
- { 0x144C, 46082 },
- { 0x144D, 46567 },
- { 0x144E, 46088 },
- { 0x144F, 46344 },
- { 0x1450, 46091 },
- { 0x1451, 46347 },
- { 0x1452, 46822 },
- { 0x1453, 47118 },
- { 0x1454, 46854 },
- { 0x1455, 46079 },
- { 0x1456, 46329 },
- { 0x1457, 46368 },
- { 0x1458, 47911 },
- { 0x1459, 46371 },
- { 0x145A, 47915 },
- { 0x145B, 46606 },
- { 0x145C, 48055 },
- { 0x145D, 46374 },
- { 0x145E, 47919 },
- { 0x145F, 46609 },
- { 0x1460, 48059 },
- { 0x1461, 46365 },
- { 0x1462, 47907 },
- { 0x1463, 46603 },
- { 0x1464, 48051 },
- { 0x1465, 47595 },
- { 0x1466, 45908 },
- { 0x1467, 46353 },
- { 0x1468, 46359 },
- { 0x1469, 46362 },
- { 0x146A, 46350 },
- { 0x146B, 45962 },
- { 0x146C, 46441 },
- { 0x146D, 45965 },
- { 0x146E, 46158 },
- { 0x146F, 45968 },
- { 0x1470, 46161 },
- { 0x1471, 46798 },
- { 0x1472, 45959 },
- { 0x1473, 46155 },
- { 0x1474, 46167 },
- { 0x1475, 47823 },
- { 0x1476, 46170 },
- { 0x1477, 47827 },
- { 0x1478, 46447 },
- { 0x1479, 47971 },
- { 0x147A, 46173 },
- { 0x147B, 47831 },
- { 0x147C, 46450 },
- { 0x147D, 47975 },
- { 0x147E, 46164 },
- { 0x147F, 47819 },
- { 0x1480, 46444 },
- { 0x1481, 47967 },
- { 0x1482, 47563 },
- { 0x1483, 45881 },
- { 0x1484, 45971 },
- { 0x1485, 48131 },
- { 0x1486, 48135 },
- { 0x1487, 48139 },
- { 0x1488, 48127 },
- { 0x1489, 45926 },
- { 0x148A, 46419 },
- { 0x148B, 45929 },
- { 0x148C, 46128 },
- { 0x148D, 45932 },
- { 0x148E, 46131 },
- { 0x148F, 46794 },
- { 0x1490, 45923 },
- { 0x1491, 46121 },
- { 0x1492, 46137 },
- { 0x1493, 47807 },
- { 0x1494, 46140 },
- { 0x1495, 47811 },
- { 0x1496, 46425 },
- { 0x1497, 47955 },
- { 0x1498, 46143 },
- { 0x1499, 47815 },
- { 0x149A, 46428 },
- { 0x149B, 47959 },
- { 0x149C, 46134 },
- { 0x149D, 47803 },
- { 0x149E, 46422 },
- { 0x149F, 47951 },
- { 0x14A0, 47559 },
- { 0x14A1, 45869 },
- { 0x14A2, 46762 },
- { 0x14A3, 45992 },
- { 0x14A4, 46474 },
- { 0x14A5, 45998 },
- { 0x14A6, 46209 },
- { 0x14A7, 46001 },
- { 0x14A8, 46212 },
- { 0x14A9, 46806 },
- { 0x14AA, 45989 },
- { 0x14AB, 46206 },
- { 0x14AC, 46218 },
- { 0x14AD, 47855 },
- { 0x14AE, 46221 },
- { 0x14AF, 47859 },
- { 0x14B0, 46480 },
- { 0x14B1, 47995 },
- { 0x14B2, 46224 },
- { 0x14B3, 47863 },
- { 0x14B4, 46483 },
- { 0x14B5, 47999 },
- { 0x14B6, 46215 },
- { 0x14B7, 47851 },
- { 0x14B8, 46477 },
- { 0x14B9, 47991 },
- { 0x14BA, 47567 },
- { 0x14BB, 45887 },
- { 0x14BC, 47743 },
- { 0x14BD, 45995 },
- { 0x14BE, 48091 },
- { 0x14BF, 46734 },
- { 0x14C0, 46007 },
- { 0x14C1, 46486 },
- { 0x14C2, 46016 },
- { 0x14C3, 46239 },
- { 0x14C4, 46019 },
- { 0x14C5, 46245 },
- { 0x14C6, 46810 },
- { 0x14C7, 46004 },
- { 0x14C8, 46227 },
- { 0x14C9, 46251 },
- { 0x14CA, 47871 },
- { 0x14CB, 46248 },
- { 0x14CC, 47867 },
- { 0x14CD, 46510 },
- { 0x14CE, 48003 },
- { 0x14CF, 47571 },
- { 0x14D0, 45890 },
- { 0x14D1, 46958 },
- { 0x14D2, 46013 },
- { 0x14D3, 45977 },
- { 0x14D4, 46453 },
- { 0x14D5, 45983 },
- { 0x14D6, 46188 },
- { 0x14D7, 45986 },
- { 0x14D8, 46191 },
- { 0x14D9, 46802 },
- { 0x14DA, 45974 },
- { 0x14DB, 46176 },
- { 0x14DC, 46197 },
- { 0x14DD, 47839 },
- { 0x14DE, 46200 },
- { 0x14DF, 47843 },
- { 0x14E0, 46468 },
- { 0x14E1, 47983 },
- { 0x14E2, 46203 },
- { 0x14E3, 47847 },
- { 0x14E4, 46471 },
- { 0x14E5, 47987 },
- { 0x14E6, 46194 },
- { 0x14E7, 47835 },
- { 0x14E8, 46465 },
- { 0x14E9, 47979 },
- { 0x14EA, 45884 },
- { 0x14EB, 47739 },
- { 0x14EC, 46710 },
- { 0x14ED, 46064 },
- { 0x14EE, 46534 },
- { 0x14EF, 46070 },
- { 0x14F0, 46311 },
- { 0x14F1, 46073 },
- { 0x14F2, 46314 },
- { 0x14F3, 46818 },
- { 0x14F4, 46061 },
- { 0x14F5, 46296 },
- { 0x14F6, 46320 },
- { 0x14F7, 47895 },
- { 0x14F8, 46323 },
- { 0x14F9, 47899 },
- { 0x14FA, 46561 },
- { 0x14FB, 48043 },
- { 0x14FC, 46326 },
- { 0x14FD, 47903 },
- { 0x14FE, 46564 },
- { 0x14FF, 48047 },
- { 0x1500, 46317 },
- { 0x1501, 47891 },
- { 0x1502, 46558 },
- { 0x1503, 48039 },
- { 0x1504, 47591 },
- { 0x1505, 45905 },
- { 0x1506, 48095 },
- { 0x1507, 46076 },
- { 0x1508, 47687 },
- { 0x1509, 48103 },
- { 0x150A, 47547 },
- { 0x150B, 47543 },
- { 0x150C, 47583 },
- { 0x150D, 47587 },
- { 0x150E, 47579 },
- { 0x150F, 47575 },
- { 0x1510, 46302 },
- { 0x1511, 46305 },
- { 0x1512, 46540 },
- { 0x1513, 46308 },
- { 0x1514, 46543 },
- { 0x1515, 46299 },
- { 0x1516, 46537 },
- { 0x1517, 46549 },
- { 0x1518, 48027 },
- { 0x1519, 46552 },
- { 0x151A, 48031 },
- { 0x151B, 46701 },
- { 0x151C, 48079 },
- { 0x151D, 46555 },
- { 0x151E, 48035 },
- { 0x151F, 46704 },
- { 0x1520, 48083 },
- { 0x1521, 46546 },
- { 0x1522, 48023 },
- { 0x1523, 46698 },
- { 0x1524, 48075 },
- { 0x1525, 46067 },
- { 0x1526, 46109 },
- { 0x1527, 46612 },
- { 0x1528, 46112 },
- { 0x1529, 46401 },
- { 0x152A, 46115 },
- { 0x152B, 46404 },
- { 0x152C, 46826 },
- { 0x152D, 46106 },
- { 0x152E, 46398 },
- { 0x152F, 46410 },
- { 0x1530, 47939 },
- { 0x1531, 46413 },
- { 0x1532, 47943 },
- { 0x1533, 46618 },
- { 0x1534, 48067 },
- { 0x1535, 46416 },
- { 0x1536, 47947 },
- { 0x1537, 46621 },
- { 0x1538, 48071 },
- { 0x1539, 46407 },
- { 0x153A, 47935 },
- { 0x153B, 46615 },
- { 0x153C, 48063 },
- { 0x153D, 47599 },
- { 0x153E, 45911 },
- { 0x153F, 48099 },
- { 0x1540, 47755 },
- { 0x1541, 46766 },
- { 0x1542, 46052 },
- { 0x1543, 46730 },
- { 0x1544, 47763 },
- { 0x1545, 46528 },
- { 0x1546, 46055 },
- { 0x1547, 46290 },
- { 0x1548, 46058 },
- { 0x1549, 46293 },
- { 0x154A, 47767 },
- { 0x154B, 46049 },
- { 0x154C, 46287 },
- { 0x154D, 47759 },
- { 0x154E, 46531 },
- { 0x154F, 48019 },
- { 0x1550, 45902 },
- { 0x1551, 47751 },
- { 0x1552, 46714 },
- { 0x1553, 45941 },
- { 0x1554, 46431 },
- { 0x1555, 45944 },
- { 0x1556, 46149 },
- { 0x1557, 45947 },
- { 0x1558, 46152 },
- { 0x1559, 45938 },
- { 0x155A, 46146 },
- { 0x155B, 46438 },
- { 0x155C, 47963 },
- { 0x155D, 45875 },
- { 0x155E, 46335 },
- { 0x155F, 46718 },
- { 0x1560, 46338 },
- { 0x1561, 46722 },
- { 0x1562, 46573 },
- { 0x1563, 46726 },
- { 0x1564, 46341 },
- { 0x1565, 46576 },
- { 0x1566, 46332 },
- { 0x1567, 46570 },
- { 0x1568, 46707 },
- { 0x1569, 48087 },
- { 0x156A, 46085 },
- { 0x156B, 46594 },
- { 0x156C, 46597 },
- { 0x156D, 46600 },
- { 0x156E, 46591 },
- { 0x156F, 46356 },
- { 0x1570, 46380 },
- { 0x1571, 46383 },
- { 0x1572, 46386 },
- { 0x1573, 46377 },
- { 0x1574, 47611 },
- { 0x1575, 47615 },
- { 0x1576, 47627 },
- { 0x1577, 47619 },
- { 0x1578, 47631 },
- { 0x1579, 47607 },
- { 0x157A, 47623 },
- { 0x157B, 47603 },
- { 0x157C, 47635 },
- { 0x157D, 45950 },
- { 0x157E, 46525 },
- { 0x157F, 46043 },
- { 0x1580, 46281 },
- { 0x1581, 46046 },
- { 0x1582, 46284 },
- { 0x1583, 46040 },
- { 0x1584, 46275 },
- { 0x1585, 45899 },
- { 0x1586, 46582 },
- { 0x1587, 46585 },
- { 0x1588, 46588 },
- { 0x1589, 46579 },
- { 0x158A, 47775 },
- { 0x158B, 47779 },
- { 0x158C, 47783 },
- { 0x158D, 47771 },
- { 0x158E, 46686 },
- { 0x158F, 46233 },
- { 0x1590, 46495 },
- { 0x1591, 46236 },
- { 0x1592, 46498 },
- { 0x1593, 46230 },
- { 0x1594, 46489 },
- { 0x1595, 46010 },
- { 0x1596, 46242 },
- { 0x1597, 46774 },
- { 0x1598, 46778 },
- { 0x1599, 46782 },
- { 0x159A, 46770 },
- { 0x159B, 48115 },
- { 0x159C, 48119 },
- { 0x159D, 48123 },
- { 0x159E, 48111 },
- { 0x159F, 48107 },
- { 0x15A0, 46182 },
- { 0x15A1, 46459 },
- { 0x15A2, 46185 },
- { 0x15A3, 46462 },
- { 0x15A4, 46179 },
- { 0x15A5, 46456 },
- { 0x15A6, 45980 },
- { 0x15A7, 47647 },
- { 0x15A8, 47651 },
- { 0x15A9, 47663 },
- { 0x15AA, 47655 },
- { 0x15AB, 47667 },
- { 0x15AC, 47643 },
- { 0x15AD, 47659 },
- { 0x15AE, 47639 },
- { 0x15AF, 46834 },
- { 0x15B0, 47675 },
- { 0x15B1, 47679 },
- { 0x15B2, 47683 },
- { 0x15B3, 47671 },
- { 0x15B4, 47727 },
- { 0x15B5, 47731 },
- { 0x15B6, 47735 },
- { 0x15B7, 47723 },
- { 0x15B8, 47711 },
- { 0x15B9, 47715 },
- { 0x15BA, 47719 },
- { 0x15BB, 47707 },
- { 0x15BC, 47695 },
- { 0x15BD, 47699 },
- { 0x15BE, 47703 },
- { 0x15BF, 47691 },
- { 0x15C0, 46742 },
- { 0x15C1, 46746 },
- { 0x15C2, 46750 },
- { 0x15C3, 46738 },
- { 0x15C4, 47182 },
- { 0x15C5, 47178 },
- { 0x15C6, 47170 },
- { 0x15C7, 47442 },
- { 0x15C8, 47174 },
- { 0x15C9, 47166 },
- { 0x15CA, 47010 },
- { 0x15CB, 47006 },
- { 0x15CC, 46998 },
- { 0x15CD, 47310 },
- { 0x15CE, 47002 },
- { 0x15CF, 46994 },
- { 0x15D0, 47054 },
- { 0x15D1, 47050 },
- { 0x15D2, 47042 },
- { 0x15D3, 47418 },
- { 0x15D4, 47046 },
- { 0x15D5, 47038 },
- { 0x15D6, 47206 },
- { 0x15D7, 47202 },
- { 0x15D8, 47194 },
- { 0x15D9, 47446 },
- { 0x15DA, 47198 },
- { 0x15DB, 47190 },
- { 0x15DC, 47354 },
- { 0x15DD, 47350 },
- { 0x15DE, 47342 },
- { 0x15DF, 47470 },
- { 0x15E0, 47346 },
- { 0x15E1, 47338 },
- { 0x15E2, 47414 },
- { 0x15E3, 47410 },
- { 0x15E4, 47402 },
- { 0x15E5, 47502 },
- { 0x15E6, 47406 },
- { 0x15E7, 47398 },
- { 0x15E8, 46990 },
- { 0x15E9, 46986 },
- { 0x15EA, 46978 },
- { 0x15EB, 47306 },
- { 0x15EC, 46982 },
- { 0x15ED, 46974 },
- { 0x15EE, 46846 },
- { 0x15EF, 46878 },
- { 0x15F0, 46874 },
- { 0x15F1, 46866 },
- { 0x15F2, 47162 },
- { 0x15F3, 46870 },
- { 0x15F4, 46862 },
- { 0x15F5, 47250 },
- { 0x15F6, 47246 },
- { 0x15F7, 47238 },
- { 0x15F8, 47454 },
- { 0x15F9, 47242 },
- { 0x15FA, 47234 },
- { 0x15FB, 47270 },
- { 0x15FC, 47266 },
- { 0x15FD, 47258 },
- { 0x15FE, 47458 },
- { 0x15FF, 47262 },
- { 0x1600, 47254 },
- { 0x1601, 46906 },
- { 0x1602, 46970 },
- { 0x1603, 46966 },
- { 0x1604, 46954 },
- { 0x1605, 47302 },
- { 0x1606, 46962 },
- { 0x1607, 46950 },
- { 0x1608, 46946 },
- { 0x1609, 46942 },
- { 0x160A, 46934 },
- { 0x160B, 47298 },
- { 0x160C, 46938 },
- { 0x160D, 46930 },
- { 0x160E, 47074 },
- { 0x160F, 47070 },
- { 0x1610, 47062 },
- { 0x1611, 47422 },
- { 0x1612, 47066 },
- { 0x1613, 47058 },
- { 0x1614, 46902 },
- { 0x1615, 46758 },
- { 0x1616, 46898 },
- { 0x1617, 46890 },
- { 0x1618, 47210 },
- { 0x1619, 46894 },
- { 0x161A, 46754 },
- { 0x161B, 46886 },
- { 0x161C, 47230 },
- { 0x161D, 47226 },
- { 0x161E, 47218 },
- { 0x161F, 47450 },
- { 0x1620, 47222 },
- { 0x1621, 47214 },
- { 0x1622, 46926 },
- { 0x1623, 46922 },
- { 0x1624, 46914 },
- { 0x1625, 47274 },
- { 0x1626, 46918 },
- { 0x1627, 46910 },
- { 0x1628, 47138 },
- { 0x1629, 47134 },
- { 0x162A, 47126 },
- { 0x162B, 47434 },
- { 0x162C, 47130 },
- { 0x162D, 47122 },
- { 0x162E, 47294 },
- { 0x162F, 47290 },
- { 0x1630, 47282 },
- { 0x1631, 47462 },
- { 0x1632, 47286 },
- { 0x1633, 47278 },
- { 0x1634, 47494 },
- { 0x1635, 47490 },
- { 0x1636, 47482 },
- { 0x1637, 47526 },
- { 0x1638, 47486 },
- { 0x1639, 47478 },
- { 0x163A, 47374 },
- { 0x163B, 47370 },
- { 0x163C, 47362 },
- { 0x163D, 47474 },
- { 0x163E, 47366 },
- { 0x163F, 47358 },
- { 0x1640, 47094 },
- { 0x1641, 47090 },
- { 0x1642, 47082 },
- { 0x1643, 47426 },
- { 0x1644, 47086 },
- { 0x1645, 47078 },
- { 0x1646, 46850 },
- { 0x1647, 47534 },
- { 0x1648, 47158 },
- { 0x1649, 47154 },
- { 0x164A, 47146 },
- { 0x164B, 47438 },
- { 0x164C, 47150 },
- { 0x164D, 47142 },
- { 0x164E, 47034 },
- { 0x164F, 47030 },
- { 0x1650, 47018 },
- { 0x1651, 47314 },
- { 0x1652, 47026 },
- { 0x1653, 47014 },
- { 0x1654, 47334 },
- { 0x1655, 47330 },
- { 0x1656, 47322 },
- { 0x1657, 47466 },
- { 0x1658, 47326 },
- { 0x1659, 47318 },
- { 0x165A, 47022 },
- { 0x165B, 47394 },
- { 0x165C, 47390 },
- { 0x165D, 47382 },
- { 0x165E, 47498 },
- { 0x165F, 47386 },
- { 0x1660, 47378 },
- { 0x1661, 47114 },
- { 0x1662, 47110 },
- { 0x1663, 47102 },
- { 0x1664, 47430 },
- { 0x1665, 47106 },
- { 0x1666, 47098 },
- { 0x1667, 47522 },
- { 0x1668, 47518 },
- { 0x1669, 47510 },
- { 0x166A, 47530 },
- { 0x166B, 47514 },
- { 0x166C, 47506 },
- { 0x166D, 46124 },
- { 0x166E, 46434 },
- { 0x166F, 46278 },
- { 0x1670, 46492 },
- { 0x1671, 46504 },
- { 0x1672, 46692 },
- { 0x1673, 46507 },
- { 0x1674, 46695 },
- { 0x1675, 46501 },
- { 0x1676, 46689 },
- { 0x1680, 21369 },
- { 0x1681, 21414 },
- { 0x1682, 21396 },
- { 0x1683, 21420 },
- { 0x1684, 21408 },
- { 0x1685, 21402 },
- { 0x1686, 21411 },
- { 0x1687, 21387 },
- { 0x1688, 21426 },
- { 0x1689, 21384 },
- { 0x168A, 21417 },
- { 0x168B, 21399 },
- { 0x168C, 21390 },
- { 0x168D, 21441 },
- { 0x168E, 21429 },
- { 0x168F, 21405 },
- { 0x1690, 21381 },
- { 0x1691, 21378 },
- { 0x1692, 21375 },
- { 0x1693, 21435 },
- { 0x1694, 21438 },
- { 0x1695, 21432 },
- { 0x1696, 21372 },
- { 0x1697, 21444 },
- { 0x1698, 21393 },
- { 0x1699, 21447 },
- { 0x169A, 21423 },
- { 0x169B, 21450 },
- { 0x169C, 21453 },
- { 0x16A0, 22222 },
- { 0x16A1, 22160 },
- { 0x16A2, 22250 },
- { 0x16A3, 22189 },
- { 0x16A4, 22169 },
- { 0x16A5, 22163 },
- { 0x16A6, 22368 },
- { 0x16A7, 22201 },
- { 0x16A8, 22259 },
- { 0x16A9, 22185 },
- { 0x16AA, 22175 },
- { 0x16AB, 22216 },
- { 0x16AC, 22402 },
- { 0x16AD, 22390 },
- { 0x16AE, 22154 },
- { 0x16AF, 22179 },
- { 0x16B0, 22182 },
- { 0x16B1, 22287 },
- { 0x16B2, 22284 },
- { 0x16B3, 22192 },
- { 0x16B4, 22243 },
- { 0x16B5, 22151 },
- { 0x16B6, 22198 },
- { 0x16B7, 22228 },
- { 0x16B8, 22204 },
- { 0x16B9, 22304 },
- { 0x16BA, 22309 },
- { 0x16BB, 22276 },
- { 0x16BC, 22422 },
- { 0x16BD, 22418 },
- { 0x16BE, 22327 },
- { 0x16BF, 22410 },
- { 0x16C0, 22362 },
- { 0x16C1, 22233 },
- { 0x16C2, 22148 },
- { 0x16C3, 22280 },
- { 0x16C4, 22207 },
- { 0x16C5, 22383 },
- { 0x16C6, 22376 },
- { 0x16C7, 22239 },
- { 0x16C8, 22336 },
- { 0x16C9, 22255 },
- { 0x16CA, 22341 },
- { 0x16CB, 22293 },
- { 0x16CC, 22394 },
- { 0x16CD, 22142 },
- { 0x16CE, 22172 },
- { 0x16CF, 22298 },
- { 0x16D0, 22398 },
- { 0x16D1, 22145 },
- { 0x16D2, 22353 },
- { 0x16D3, 22426 },
- { 0x16D4, 22365 },
- { 0x16D5, 22333 },
- { 0x16D6, 22271 },
- { 0x16D7, 22322 },
- { 0x16D8, 22414 },
- { 0x16D9, 22406 },
- { 0x16DA, 22316 },
- { 0x16DB, 22359 },
- { 0x16DC, 22313 },
- { 0x16DD, 22210 },
- { 0x16DE, 22266 },
- { 0x16DF, 22348 },
- { 0x16E0, 22195 },
- { 0x16E1, 22213 },
- { 0x16E2, 22345 },
- { 0x16E3, 22219 },
- { 0x16E4, 22263 },
- { 0x16E5, 22247 },
- { 0x16E6, 22387 },
- { 0x16E7, 22380 },
- { 0x16E8, 22373 },
- { 0x16E9, 22157 },
- { 0x16EA, 22166 },
- { 0x16EB, 22430 },
- { 0x16EC, 22436 },
- { 0x16ED, 22136 },
- { 0x16EE, 22139 },
- { 0x16EF, 22439 },
- { 0x16F0, 22433 },
- { 0x1700, 43594 },
- { 0x1701, 43597 },
- { 0x1702, 43600 },
- { 0x1703, 43615 },
- { 0x1704, 43609 },
- { 0x1705, 43642 },
- { 0x1706, 43633 },
- { 0x1707, 43606 },
- { 0x1708, 43624 },
- { 0x1709, 43627 },
- { 0x170A, 43603 },
- { 0x170B, 43621 },
- { 0x170C, 43639 },
- { 0x170E, 43618 },
- { 0x170F, 43636 },
- { 0x1710, 43630 },
- { 0x1711, 43612 },
- { 0x1712, 43586 },
- { 0x1713, 43590 },
- { 0x1714, 43583 },
- { 0x1720, 40573 },
- { 0x1721, 40576 },
- { 0x1722, 40579 },
- { 0x1723, 40594 },
- { 0x1724, 40588 },
- { 0x1725, 40624 },
- { 0x1726, 40615 },
- { 0x1727, 40585 },
- { 0x1728, 40603 },
- { 0x1729, 40606 },
- { 0x172A, 40582 },
- { 0x172B, 40600 },
- { 0x172C, 40621 },
- { 0x172D, 40609 },
- { 0x172E, 40597 },
- { 0x172F, 40618 },
- { 0x1730, 40612 },
- { 0x1731, 40591 },
- { 0x1732, 40565 },
- { 0x1733, 40569 },
- { 0x1734, 40562 },
- { 0x1735, 67884 },
- { 0x1736, 67881 },
- { 0x1740, 10387 },
- { 0x1741, 10390 },
- { 0x1742, 10393 },
- { 0x1743, 10408 },
- { 0x1744, 10402 },
- { 0x1745, 10438 },
- { 0x1746, 10429 },
- { 0x1747, 10399 },
- { 0x1748, 10417 },
- { 0x1749, 10420 },
- { 0x174A, 10396 },
- { 0x174B, 10414 },
- { 0x174C, 10435 },
- { 0x174D, 10423 },
- { 0x174E, 10411 },
- { 0x174F, 10432 },
- { 0x1750, 10426 },
- { 0x1751, 10405 },
- { 0x1752, 10379 },
- { 0x1753, 10383 },
- { 0x1760, 55665 },
- { 0x1761, 55668 },
- { 0x1762, 55671 },
- { 0x1763, 55683 },
- { 0x1764, 55680 },
- { 0x1765, 55710 },
- { 0x1766, 55701 },
- { 0x1767, 55677 },
- { 0x1768, 55692 },
- { 0x1769, 55695 },
- { 0x176A, 55674 },
- { 0x176B, 55689 },
- { 0x176C, 55707 },
- { 0x176E, 55686 },
- { 0x176F, 55704 },
- { 0x1770, 55698 },
- { 0x1772, 55657 },
- { 0x1773, 55661 },
- { 0x1780, 14115 },
- { 0x1781, 14163 },
- { 0x1782, 14118 },
- { 0x1783, 14166 },
- { 0x1784, 14169 },
- { 0x1785, 14100 },
- { 0x1786, 14157 },
- { 0x1787, 14103 },
- { 0x1788, 14160 },
- { 0x1789, 14175 },
- { 0x178A, 14106 },
- { 0x178B, 14196 },
- { 0x178C, 14109 },
- { 0x178D, 14199 },
- { 0x178E, 14172 },
- { 0x178F, 14145 },
- { 0x1790, 14190 },
- { 0x1791, 14148 },
- { 0x1792, 14193 },
- { 0x1793, 14130 },
- { 0x1794, 14097 },
- { 0x1795, 14178 },
- { 0x1796, 14133 },
- { 0x1797, 14181 },
- { 0x1798, 14127 },
- { 0x1799, 14154 },
- { 0x179A, 14139 },
- { 0x179B, 14124 },
- { 0x179C, 14151 },
- { 0x179D, 14184 },
- { 0x179E, 14187 },
- { 0x179F, 14142 },
- { 0x17A0, 14112 },
- { 0x17A1, 14121 },
- { 0x17A2, 14136 },
- { 0x17A3, 14414 },
- { 0x17A4, 14406 },
- { 0x17A5, 14390 },
- { 0x17A6, 14422 },
- { 0x17A7, 14394 },
- { 0x17A8, 14438 },
- { 0x17A9, 14442 },
- { 0x17AA, 14450 },
- { 0x17AB, 14398 },
- { 0x17AC, 14446 },
- { 0x17AD, 14382 },
- { 0x17AE, 14402 },
- { 0x17AF, 14386 },
- { 0x17B0, 14410 },
- { 0x17B1, 14426 },
- { 0x17B2, 14432 },
- { 0x17B3, 14418 },
- { 0x17B4, 14093 },
- { 0x17B5, 14089 },
- { 0x17B6, 14041 },
- { 0x17B7, 14029 },
- { 0x17B8, 14061 },
- { 0x17B9, 14037 },
- { 0x17BA, 14085 },
- { 0x17BB, 14033 },
- { 0x17BC, 14077 },
- { 0x17BD, 14073 },
- { 0x17BE, 14065 },
- { 0x17BF, 14081 },
- { 0x17C0, 14057 },
- { 0x17C1, 14025 },
- { 0x17C2, 14045 },
- { 0x17C3, 14049 },
- { 0x17C4, 14069 },
- { 0x17C5, 14053 },
- { 0x17C6, 13965 },
- { 0x17C7, 13968 },
- { 0x17C8, 13992 },
- { 0x17C9, 13983 },
- { 0x17CA, 13971 },
- { 0x17CB, 13937 },
- { 0x17CC, 13934 },
- { 0x17CD, 13986 },
- { 0x17CE, 13959 },
- { 0x17CF, 13928 },
- { 0x17D0, 13952 },
- { 0x17D1, 13956 },
- { 0x17D2, 13931 },
- { 0x17D3, 13980 },
- { 0x17D4, 13925 },
- { 0x17D5, 13977 },
- { 0x17D6, 13943 },
- { 0x17D7, 13921 },
- { 0x17D8, 13940 },
- { 0x17D9, 13948 },
- { 0x17DA, 13962 },
- { 0x17DB, 14378 },
- { 0x17DC, 13989 },
- { 0x17DD, 13974 },
- { 0x17E0, 14013 },
- { 0x17E1, 13995 },
- { 0x17E2, 14001 },
- { 0x17E3, 14022 },
- { 0x17E4, 14007 },
- { 0x17E5, 14004 },
- { 0x17E6, 13998 },
- { 0x17E7, 14019 },
- { 0x17E8, 14016 },
- { 0x17E9, 14010 },
- { 0x17F0, 14228 },
- { 0x17F1, 14238 },
- { 0x17F2, 14223 },
- { 0x17F3, 14218 },
- { 0x17F4, 14233 },
- { 0x17F5, 14243 },
- { 0x17F6, 14263 },
- { 0x17F7, 14253 },
- { 0x17F8, 14248 },
- { 0x17F9, 14258 },
- { 0x1800, 65145 },
- { 0x1801, 65749 },
- { 0x1802, 65149 },
- { 0x1803, 65133 },
- { 0x1804, 65147 },
- { 0x1805, 65115 },
- { 0x1806, 65141 },
- { 0x1807, 65136 },
- { 0x1808, 65744 },
- { 0x1809, 65740 },
- { 0x180A, 65747 },
- { 0x180B, 65118 },
- { 0x180C, 65123 },
- { 0x180D, 65128 },
- { 0x180E, 65181 },
- { 0x1810, 65169 },
- { 0x1811, 65151 },
- { 0x1812, 65157 },
- { 0x1813, 65178 },
- { 0x1814, 65163 },
- { 0x1815, 65160 },
- { 0x1816, 65154 },
- { 0x1817, 65175 },
- { 0x1818, 65172 },
- { 0x1819, 65166 },
- { 0x1820, 65184 },
- { 0x1821, 65187 },
- { 0x1822, 65190 },
- { 0x1823, 65193 },
- { 0x1824, 65196 },
- { 0x1825, 65229 },
- { 0x1826, 65247 },
- { 0x1827, 65205 },
- { 0x1828, 65226 },
- { 0x1829, 65400 },
- { 0x182A, 65199 },
- { 0x182B, 65232 },
- { 0x182C, 65235 },
- { 0x182D, 65211 },
- { 0x182E, 65223 },
- { 0x182F, 65220 },
- { 0x1830, 65241 },
- { 0x1831, 65418 },
- { 0x1832, 65244 },
- { 0x1833, 65202 },
- { 0x1834, 65403 },
- { 0x1835, 65214 },
- { 0x1836, 65253 },
- { 0x1837, 65238 },
- { 0x1838, 65250 },
- { 0x1839, 65208 },
- { 0x183A, 65217 },
- { 0x183B, 65412 },
- { 0x183C, 65421 },
- { 0x183D, 65256 },
- { 0x183E, 65409 },
- { 0x183F, 65427 },
- { 0x1840, 65415 },
- { 0x1841, 65424 },
- { 0x1842, 65406 },
- { 0x1843, 65630 },
- { 0x1844, 65518 },
- { 0x1845, 65522 },
- { 0x1846, 65526 },
- { 0x1847, 65530 },
- { 0x1848, 65558 },
- { 0x1849, 65574 },
- { 0x184A, 65598 },
- { 0x184B, 65534 },
- { 0x184C, 65562 },
- { 0x184D, 65566 },
- { 0x184E, 65542 },
- { 0x184F, 65554 },
- { 0x1850, 65570 },
- { 0x1851, 65538 },
- { 0x1852, 65602 },
- { 0x1853, 65546 },
- { 0x1854, 65626 },
- { 0x1855, 65582 },
- { 0x1856, 65578 },
- { 0x1857, 65550 },
- { 0x1858, 65610 },
- { 0x1859, 65614 },
- { 0x185A, 65618 },
- { 0x185B, 65622 },
- { 0x185C, 65606 },
- { 0x185D, 65430 },
- { 0x185E, 65434 },
- { 0x185F, 65458 },
- { 0x1860, 65478 },
- { 0x1861, 65438 },
- { 0x1862, 65486 },
- { 0x1863, 65466 },
- { 0x1864, 65450 },
- { 0x1865, 65454 },
- { 0x1866, 65470 },
- { 0x1867, 65506 },
- { 0x1868, 65474 },
- { 0x1869, 65442 },
- { 0x186A, 65462 },
- { 0x186B, 65446 },
- { 0x186C, 65494 },
- { 0x186D, 65498 },
- { 0x186E, 65510 },
- { 0x186F, 65482 },
- { 0x1870, 65502 },
- { 0x1871, 65490 },
- { 0x1872, 65514 },
- { 0x1873, 65636 },
- { 0x1874, 65644 },
- { 0x1875, 65648 },
- { 0x1876, 65640 },
- { 0x1877, 65736 },
- { 0x1880, 65388 },
- { 0x1881, 65382 },
- { 0x1882, 65367 },
- { 0x1883, 65377 },
- { 0x1884, 65394 },
- { 0x1885, 65362 },
- { 0x1886, 65356 },
- { 0x1887, 65259 },
- { 0x1888, 65264 },
- { 0x1889, 65284 },
- { 0x188A, 65309 },
- { 0x188B, 65274 },
- { 0x188C, 65329 },
- { 0x188D, 65351 },
- { 0x188E, 65304 },
- { 0x188F, 65314 },
- { 0x1890, 65294 },
- { 0x1891, 65279 },
- { 0x1892, 65289 },
- { 0x1893, 65319 },
- { 0x1894, 65324 },
- { 0x1895, 65334 },
- { 0x1896, 65299 },
- { 0x1897, 65269 },
- { 0x1898, 65586 },
- { 0x1899, 65592 },
- { 0x189A, 65688 },
- { 0x189B, 65706 },
- { 0x189C, 65652 },
- { 0x189D, 65694 },
- { 0x189E, 65718 },
- { 0x189F, 65730 },
- { 0x18A0, 65658 },
- { 0x18A1, 65682 },
- { 0x18A2, 65712 },
- { 0x18A3, 65676 },
- { 0x18A4, 65724 },
- { 0x18A5, 65664 },
- { 0x18A6, 65339 },
- { 0x18A7, 65345 },
- { 0x18A8, 65670 },
- { 0x18A9, 65372 },
- { 0x18AA, 65700 },
- { 0x1900, 21091 },
- { 0x1901, 21007 },
- { 0x1902, 21052 },
- { 0x1903, 20998 },
- { 0x1904, 21046 },
- { 0x1905, 21055 },
- { 0x1906, 20992 },
- { 0x1907, 21040 },
- { 0x1908, 21004 },
- { 0x1909, 21049 },
- { 0x190A, 21070 },
- { 0x190B, 21028 },
- { 0x190C, 21067 },
- { 0x190D, 20995 },
- { 0x190E, 21043 },
- { 0x190F, 21016 },
- { 0x1910, 21019 },
- { 0x1911, 21058 },
- { 0x1912, 20989 },
- { 0x1913, 21037 },
- { 0x1914, 21013 },
- { 0x1915, 21034 },
- { 0x1916, 21022 },
- { 0x1917, 21010 },
- { 0x1918, 21031 },
- { 0x1919, 21061 },
- { 0x191A, 21064 },
- { 0x191B, 21025 },
- { 0x191C, 21001 },
- { 0x1920, 20953 },
- { 0x1921, 20961 },
- { 0x1922, 20969 },
- { 0x1923, 20981 },
- { 0x1924, 20973 },
- { 0x1925, 20985 },
- { 0x1926, 20977 },
- { 0x1927, 20957 },
- { 0x1928, 20965 },
- { 0x1929, 21084 },
- { 0x192A, 21076 },
- { 0x192B, 21080 },
- { 0x1930, 20917 },
- { 0x1931, 20945 },
- { 0x1932, 20949 },
- { 0x1933, 20941 },
- { 0x1934, 20929 },
- { 0x1935, 20933 },
- { 0x1936, 20925 },
- { 0x1937, 20937 },
- { 0x1938, 20921 },
- { 0x1939, 20884 },
- { 0x193A, 20881 },
- { 0x193B, 20878 },
- { 0x1940, 20875 },
- { 0x1944, 21088 },
- { 0x1945, 21073 },
- { 0x1946, 20905 },
- { 0x1947, 20887 },
- { 0x1948, 20893 },
- { 0x1949, 20914 },
- { 0x194A, 20899 },
- { 0x194B, 20896 },
- { 0x194C, 20890 },
- { 0x194D, 20911 },
- { 0x194E, 20908 },
- { 0x194F, 20902 },
- { 0x1950, 7612 },
- { 0x1951, 7656 },
- { 0x1952, 7672 },
- { 0x1953, 7684 },
- { 0x1954, 7640 },
- { 0x1955, 7660 },
- { 0x1956, 7644 },
- { 0x1957, 7680 },
- { 0x1958, 7616 },
- { 0x1959, 7632 },
- { 0x195A, 7676 },
- { 0x195B, 7620 },
- { 0x195C, 7604 },
- { 0x195D, 7652 },
- { 0x195E, 7608 },
- { 0x195F, 7636 },
- { 0x1960, 7668 },
- { 0x1961, 7688 },
- { 0x1962, 7624 },
- { 0x1963, 7572 },
- { 0x1964, 7580 },
- { 0x1965, 7596 },
- { 0x1966, 7600 },
- { 0x1967, 7588 },
- { 0x1968, 7628 },
- { 0x1969, 7584 },
- { 0x196A, 7648 },
- { 0x196B, 7576 },
- { 0x196C, 7664 },
- { 0x196D, 7592 },
- { 0x1970, 7692 },
- { 0x1971, 7696 },
- { 0x1972, 7700 },
- { 0x1973, 7704 },
- { 0x1974, 7708 },
- { 0x1980, 6393 },
- { 0x1981, 6267 },
- { 0x1982, 6363 },
- { 0x1983, 6417 },
- { 0x1984, 6435 },
- { 0x1985, 6237 },
- { 0x1986, 6291 },
- { 0x1987, 6309 },
- { 0x1988, 6453 },
- { 0x1989, 6399 },
- { 0x198A, 6423 },
- { 0x198B, 6327 },
- { 0x198C, 6273 },
- { 0x198D, 6297 },
- { 0x198E, 6405 },
- { 0x198F, 6447 },
- { 0x1990, 6381 },
- { 0x1991, 6279 },
- { 0x1992, 6321 },
- { 0x1993, 6255 },
- { 0x1994, 6387 },
- { 0x1995, 6441 },
- { 0x1996, 6375 },
- { 0x1997, 6261 },
- { 0x1998, 6315 },
- { 0x1999, 6249 },
- { 0x199A, 6351 },
- { 0x199B, 6411 },
- { 0x199C, 6369 },
- { 0x199D, 6225 },
- { 0x199E, 6285 },
- { 0x199F, 6243 },
- { 0x19A0, 6357 },
- { 0x19A1, 6345 },
- { 0x19A2, 6339 },
- { 0x19A3, 6231 },
- { 0x19A4, 6219 },
- { 0x19A5, 6213 },
- { 0x19A6, 6429 },
- { 0x19A7, 6459 },
- { 0x19A8, 6303 },
- { 0x19A9, 6333 },
- { 0x19B0, 6206 },
- { 0x19B1, 6128 },
- { 0x19B2, 6146 },
- { 0x19B3, 6122 },
- { 0x19B4, 6176 },
- { 0x19B5, 6110 },
- { 0x19B6, 6134 },
- { 0x19B7, 6116 },
- { 0x19B8, 6158 },
- { 0x19B9, 6170 },
- { 0x19BA, 6140 },
- { 0x19BB, 6188 },
- { 0x19BC, 6182 },
- { 0x19BD, 6164 },
- { 0x19BE, 6194 },
- { 0x19BF, 6200 },
- { 0x19C0, 6152 },
- { 0x19C1, 6495 },
- { 0x19C2, 6501 },
- { 0x19C3, 6489 },
- { 0x19C4, 6483 },
- { 0x19C5, 6477 },
- { 0x19C6, 6471 },
- { 0x19C7, 6465 },
- { 0x19C8, 6050 },
- { 0x19C9, 6055 },
- { 0x19D0, 6090 },
- { 0x19D1, 6060 },
- { 0x19D2, 6070 },
- { 0x19D3, 6105 },
- { 0x19D4, 6080 },
- { 0x19D5, 6075 },
- { 0x19D6, 6065 },
- { 0x19D7, 6100 },
- { 0x19D8, 6095 },
- { 0x19D9, 6085 },
- { 0x19DE, 6040 },
- { 0x19DF, 6045 },
- { 0x19E0, 14375 },
- { 0x19E1, 14288 },
- { 0x19E2, 14272 },
- { 0x19E3, 14206 },
- { 0x19E4, 14280 },
- { 0x19E5, 14296 },
- { 0x19E6, 14368 },
- { 0x19E7, 14352 },
- { 0x19E8, 14344 },
- { 0x19E9, 14360 },
- { 0x19EA, 14214 },
- { 0x19EB, 14328 },
- { 0x19EC, 14312 },
- { 0x19ED, 14304 },
- { 0x19EE, 14320 },
- { 0x19EF, 14336 },
- { 0x19F0, 14372 },
- { 0x19F1, 14284 },
- { 0x19F2, 14268 },
- { 0x19F3, 14202 },
- { 0x19F4, 14276 },
- { 0x19F5, 14292 },
- { 0x19F6, 14364 },
- { 0x19F7, 14348 },
- { 0x19F8, 14340 },
- { 0x19F9, 14356 },
- { 0x19FA, 14210 },
- { 0x19FB, 14324 },
- { 0x19FC, 14308 },
- { 0x19FD, 14300 },
- { 0x19FE, 14316 },
- { 0x19FF, 14332 },
- { 0x1A00, 45814 },
- { 0x1A01, 45805 },
- { 0x1A02, 45847 },
- { 0x1A03, 45856 },
- { 0x1A04, 45826 },
- { 0x1A05, 45796 },
- { 0x1A06, 45820 },
- { 0x1A07, 45844 },
- { 0x1A08, 45835 },
- { 0x1A09, 45802 },
- { 0x1A0A, 45823 },
- { 0x1A0B, 45850 },
- { 0x1A0C, 45799 },
- { 0x1A0D, 45811 },
- { 0x1A0E, 45853 },
- { 0x1A0F, 45859 },
- { 0x1A10, 45841 },
- { 0x1A11, 45829 },
- { 0x1A12, 45817 },
- { 0x1A13, 45838 },
- { 0x1A14, 45832 },
- { 0x1A15, 45793 },
- { 0x1A16, 45808 },
- { 0x1A17, 45777 },
- { 0x1A18, 45785 },
- { 0x1A19, 45773 },
- { 0x1A1A, 45781 },
- { 0x1A1B, 45789 },
- { 0x1A1E, 45862 },
- { 0x1A1F, 45769 },
- { 0x1B00, 45088 },
- { 0x1B01, 45092 },
- { 0x1B02, 45099 },
- { 0x1B03, 45102 },
- { 0x1B04, 45096 },
- { 0x1B05, 45383 },
- { 0x1B06, 45386 },
- { 0x1B07, 45393 },
- { 0x1B08, 45396 },
- { 0x1B09, 45407 },
- { 0x1B0A, 45410 },
- { 0x1B0B, 45315 },
- { 0x1B0C, 45319 },
- { 0x1B0D, 45286 },
- { 0x1B0E, 45290 },
- { 0x1B0F, 45390 },
- { 0x1B10, 45414 },
- { 0x1B11, 45400 },
- { 0x1B12, 45403 },
- { 0x1B13, 45276 },
- { 0x1B14, 45279 },
- { 0x1B15, 45259 },
- { 0x1B16, 45262 },
- { 0x1B17, 45365 },
- { 0x1B18, 45231 },
- { 0x1B19, 45234 },
- { 0x1B1A, 45269 },
- { 0x1B1B, 45272 },
- { 0x1B1C, 45368 },
- { 0x1B1D, 45342 },
- { 0x1B1E, 45346 },
- { 0x1B1F, 45245 },
- { 0x1B20, 45250 },
- { 0x1B21, 45301 },
- { 0x1B22, 45335 },
- { 0x1B23, 45338 },
- { 0x1B24, 45238 },
- { 0x1B25, 45241 },
- { 0x1B26, 45298 },
- { 0x1B27, 45305 },
- { 0x1B28, 45308 },
- { 0x1B29, 45224 },
- { 0x1B2A, 45227 },
- { 0x1B2B, 45295 },
- { 0x1B2C, 45358 },
- { 0x1B2D, 45312 },
- { 0x1B2E, 45283 },
- { 0x1B2F, 45355 },
- { 0x1B30, 45327 },
- { 0x1B31, 45331 },
- { 0x1B32, 45324 },
- { 0x1B33, 45266 },
- { 0x1B34, 45105 },
- { 0x1B35, 45218 },
- { 0x1B36, 45171 },
- { 0x1B37, 45175 },
- { 0x1B38, 45180 },
- { 0x1B39, 45184 },
- { 0x1B3A, 45160 },
- { 0x1B3B, 45165 },
- { 0x1B3C, 45149 },
- { 0x1B3D, 45154 },
- { 0x1B3E, 45198 },
- { 0x1B3F, 45202 },
- { 0x1B40, 45213 },
- { 0x1B41, 45207 },
- { 0x1B42, 45189 },
- { 0x1B43, 45193 },
- { 0x1B44, 45085 },
- { 0x1B45, 45361 },
- { 0x1B46, 45375 },
- { 0x1B47, 45379 },
- { 0x1B48, 45255 },
- { 0x1B49, 45351 },
- { 0x1B4A, 45371 },
- { 0x1B4B, 45417 },
- { 0x1B50, 45135 },
- { 0x1B51, 45117 },
- { 0x1B52, 45123 },
- { 0x1B53, 45144 },
- { 0x1B54, 45129 },
- { 0x1B55, 45126 },
- { 0x1B56, 45120 },
- { 0x1B57, 45141 },
- { 0x1B58, 45138 },
- { 0x1B59, 45132 },
- { 0x1B5A, 45147 },
- { 0x1B5B, 45421 },
- { 0x1B5C, 45222 },
- { 0x1B5D, 45114 },
- { 0x1B5E, 45108 },
- { 0x1B5F, 45111 },
- { 0x1B60, 45568 },
- { 0x1B61, 45445 },
- { 0x1B62, 45437 },
- { 0x1B63, 45449 },
- { 0x1B64, 45423 },
- { 0x1B65, 45432 },
- { 0x1B66, 45441 },
- { 0x1B67, 45453 },
- { 0x1B68, 45461 },
- { 0x1B69, 45457 },
- { 0x1B6A, 45427 },
- { 0x1B6B, 45480 },
- { 0x1B6C, 45475 },
- { 0x1B6D, 45497 },
- { 0x1B6E, 45485 },
- { 0x1B6F, 45509 },
- { 0x1B70, 45502 },
- { 0x1B71, 45490 },
- { 0x1B72, 45470 },
- { 0x1B73, 45465 },
- { 0x1B74, 45550 },
- { 0x1B75, 45544 },
- { 0x1B76, 45562 },
- { 0x1B77, 45556 },
- { 0x1B78, 45514 },
- { 0x1B79, 45526 },
- { 0x1B7A, 45532 },
- { 0x1B7B, 45538 },
- { 0x1B7C, 45520 },
- { 0x1B80, 65869 },
- { 0x1B81, 65872 },
- { 0x1B82, 65875 },
- { 0x1B83, 65932 },
- { 0x1B84, 65938 },
- { 0x1B85, 65944 },
- { 0x1B86, 65947 },
- { 0x1B87, 65941 },
- { 0x1B88, 65935 },
- { 0x1B89, 65959 },
- { 0x1B8A, 65974 },
- { 0x1B8B, 65989 },
- { 0x1B8C, 65965 },
- { 0x1B8D, 66019 },
- { 0x1B8E, 65953 },
- { 0x1B8F, 65971 },
- { 0x1B90, 66013 },
- { 0x1B91, 66022 },
- { 0x1B92, 65998 },
- { 0x1B93, 65956 },
- { 0x1B94, 65983 },
- { 0x1B95, 65986 },
- { 0x1B96, 65962 },
- { 0x1B97, 66001 },
- { 0x1B98, 65950 },
- { 0x1B99, 65980 },
- { 0x1B9A, 66010 },
- { 0x1B9B, 65992 },
- { 0x1B9C, 65977 },
- { 0x1B9D, 66004 },
- { 0x1B9E, 65995 },
- { 0x1B9F, 66007 },
- { 0x1BA0, 65968 },
- { 0x1BA1, 66036 },
- { 0x1BA2, 66032 },
- { 0x1BA3, 66028 },
- { 0x1BA4, 65916 },
- { 0x1BA5, 65912 },
- { 0x1BA6, 65924 },
- { 0x1BA7, 65920 },
- { 0x1BA8, 65908 },
- { 0x1BA9, 65928 },
- { 0x1BAA, 65866 },
- { 0x1BAE, 66016 },
- { 0x1BAF, 66025 },
- { 0x1BB0, 65896 },
- { 0x1BB1, 65878 },
- { 0x1BB2, 65884 },
- { 0x1BB3, 65905 },
- { 0x1BB4, 65890 },
- { 0x1BB5, 65887 },
- { 0x1BB6, 65881 },
- { 0x1BB7, 65902 },
- { 0x1BB8, 65899 },
- { 0x1BB9, 65893 },
- { 0x1C00, 34194 },
- { 0x1C01, 34251 },
- { 0x1C02, 34248 },
- { 0x1C03, 34185 },
- { 0x1C04, 34242 },
- { 0x1C05, 34257 },
- { 0x1C06, 34176 },
- { 0x1C07, 34230 },
- { 0x1C08, 34191 },
- { 0x1C09, 34260 },
- { 0x1C0A, 34215 },
- { 0x1C0B, 34272 },
- { 0x1C0C, 34179 },
- { 0x1C0D, 34203 },
- { 0x1C0E, 34206 },
- { 0x1C0F, 34266 },
- { 0x1C10, 34263 },
- { 0x1C11, 34182 },
- { 0x1C12, 34239 },
- { 0x1C13, 34173 },
- { 0x1C14, 34227 },
- { 0x1C15, 34200 },
- { 0x1C16, 34254 },
- { 0x1C17, 34275 },
- { 0x1C18, 34281 },
- { 0x1C19, 34236 },
- { 0x1C1A, 34224 },
- { 0x1C1B, 34209 },
- { 0x1C1C, 34197 },
- { 0x1C1D, 34188 },
- { 0x1C1E, 34245 },
- { 0x1C1F, 34218 },
- { 0x1C20, 34212 },
- { 0x1C21, 34269 },
- { 0x1C22, 34221 },
- { 0x1C23, 34170 },
- { 0x1C24, 34327 },
- { 0x1C25, 34323 },
- { 0x1C26, 34158 },
- { 0x1C27, 34146 },
- { 0x1C28, 34150 },
- { 0x1C29, 34162 },
- { 0x1C2A, 34154 },
- { 0x1C2B, 34166 },
- { 0x1C2C, 34142 },
- { 0x1C2D, 34287 },
- { 0x1C2E, 34295 },
- { 0x1C2F, 34291 },
- { 0x1C30, 34299 },
- { 0x1C31, 34303 },
- { 0x1C32, 34307 },
- { 0x1C33, 34311 },
- { 0x1C34, 34319 },
- { 0x1C35, 34315 },
- { 0x1C36, 34106 },
- { 0x1C37, 34109 },
- { 0x1C3B, 34339 },
- { 0x1C3C, 34331 },
- { 0x1C3D, 34336 },
- { 0x1C3E, 34345 },
- { 0x1C3F, 34342 },
- { 0x1C40, 34130 },
- { 0x1C41, 34112 },
- { 0x1C42, 34118 },
- { 0x1C43, 34139 },
- { 0x1C44, 34124 },
- { 0x1C45, 34121 },
- { 0x1C46, 34115 },
- { 0x1C47, 34136 },
- { 0x1C48, 34133 },
- { 0x1C49, 34127 },
- { 0x1C4D, 34278 },
- { 0x1C4E, 34284 },
- { 0x1C4F, 34233 },
- { 0x1C50, 112 },
- { 0x1C51, 88 },
- { 0x1C52, 96 },
- { 0x1C53, 124 },
- { 0x1C54, 104 },
- { 0x1C55, 100 },
- { 0x1C56, 92 },
- { 0x1C57, 120 },
- { 0x1C58, 116 },
- { 0x1C59, 108 },
- { 0x1C5A, 163 },
- { 0x1C5B, 139 },
- { 0x1C5C, 131 },
- { 0x1C5D, 223 },
- { 0x1C5E, 135 },
- { 0x1C5F, 239 },
- { 0x1C60, 211 },
- { 0x1C61, 207 },
- { 0x1C62, 215 },
- { 0x1C63, 219 },
- { 0x1C64, 171 },
- { 0x1C65, 159 },
- { 0x1C66, 151 },
- { 0x1C67, 235 },
- { 0x1C68, 155 },
- { 0x1C69, 179 },
- { 0x1C6A, 195 },
- { 0x1C6B, 199 },
- { 0x1C6C, 247 },
- { 0x1C6D, 203 },
- { 0x1C6E, 167 },
- { 0x1C6F, 147 },
- { 0x1C70, 227 },
- { 0x1C71, 143 },
- { 0x1C72, 231 },
- { 0x1C73, 175 },
- { 0x1C74, 243 },
- { 0x1C75, 183 },
- { 0x1C76, 191 },
- { 0x1C77, 187 },
- { 0x1C78, 81 },
- { 0x1C79, 251 },
- { 0x1C7A, 258 },
- { 0x1C7B, 128 },
- { 0x1C7C, 255 },
- { 0x1C7D, 85 },
- { 0x1C7E, 267 },
- { 0x1C7F, 262 },
- { 0x1D00, 17949 },
- { 0x1D01, 18083 },
- { 0x1D02, 17650 },
- { 0x1D03, 18119 },
- { 0x1D04, 17959 },
- { 0x1D05, 17964 },
- { 0x1D06, 18098 },
- { 0x1D07, 17969 },
- { 0x1D08, 17660 },
- { 0x1D09, 17575 },
- { 0x1D0A, 18001 },
- { 0x1D0B, 18006 },
- { 0x1D0C, 18016 },
- { 0x1D0D, 18023 },
- { 0x1D0E, 18143 },
- { 0x1D0F, 18033 },
- { 0x1D10, 18113 },
- { 0x1D11, 17804 },
- { 0x1D12, 17821 },
- { 0x1D13, 17809 },
- { 0x1D14, 17655 },
- { 0x1D15, 18093 },
- { 0x1D16, 17292 },
- { 0x1D17, 17499 },
- { 0x1D18, 18038 },
- { 0x1D19, 18149 },
- { 0x1D1A, 18131 },
- { 0x1D1B, 18053 },
- { 0x1D1C, 18058 },
- { 0x1D1D, 17816 },
- { 0x1D1E, 17833 },
- { 0x1D1F, 17827 },
- { 0x1D20, 18063 },
- { 0x1D21, 18068 },
- { 0x1D22, 18078 },
- { 0x1D23, 18103 },
- { 0x1D24, 18159 },
- { 0x1D25, 17938 },
- { 0x1D26, 12051 },
- { 0x1D27, 12056 },
- { 0x1D28, 12036 },
- { 0x1D29, 12046 },
- { 0x1D2A, 12041 },
- { 0x1D2B, 49409 },
- { 0x1D2C, 54616 },
- { 0x1D2D, 54692 },
- { 0x1D2E, 54620 },
- { 0x1D2F, 54700 },
- { 0x1D30, 54624 },
- { 0x1D31, 54628 },
- { 0x1D32, 54705 },
- { 0x1D33, 54632 },
- { 0x1D34, 54636 },
- { 0x1D35, 54640 },
- { 0x1D36, 54644 },
- { 0x1D37, 54648 },
- { 0x1D38, 54652 },
- { 0x1D39, 54656 },
- { 0x1D3A, 54660 },
- { 0x1D3B, 54710 },
- { 0x1D3C, 54664 },
- { 0x1D3D, 54696 },
- { 0x1D3E, 54668 },
- { 0x1D3F, 54672 },
- { 0x1D40, 54676 },
- { 0x1D41, 54680 },
- { 0x1D42, 54688 },
- { 0x1D43, 54136 },
- { 0x1D44, 54421 },
- { 0x1D45, 54375 },
- { 0x1D46, 54466 },
- { 0x1D47, 54140 },
- { 0x1D48, 54154 },
- { 0x1D49, 54158 },
- { 0x1D4A, 54397 },
- { 0x1D4B, 54365 },
- { 0x1D4C, 54471 },
- { 0x1D4D, 54166 },
- { 0x1D4E, 54431 },
- { 0x1D4F, 54196 },
- { 0x1D50, 54218 },
- { 0x1D51, 54331 },
- { 0x1D52, 54242 },
- { 0x1D53, 54370 },
- { 0x1D54, 54351 },
- { 0x1D55, 54410 },
- { 0x1D56, 54246 },
- { 0x1D57, 54264 },
- { 0x1D58, 54275 },
- { 0x1D59, 54538 },
- { 0x1D5A, 54436 },
- { 0x1D5B, 54284 },
- { 0x1D5C, 54323 },
- { 0x1D5D, 54357 },
- { 0x1D5E, 54392 },
- { 0x1D5F, 54379 },
- { 0x1D60, 54387 },
- { 0x1D61, 54327 },
- { 0x1D62, 20792 },
- { 0x1D63, 20807 },
- { 0x1D64, 20812 },
- { 0x1D65, 20817 },
- { 0x1D66, 13101 },
- { 0x1D67, 13106 },
- { 0x1D68, 13096 },
- { 0x1D69, 13091 },
- { 0x1D6A, 13086 },
- { 0x1D6B, 17177 },
- { 0x1D6C, 14742 },
- { 0x1D6D, 14886 },
- { 0x1D6E, 15140 },
- { 0x1D6F, 15661 },
- { 0x1D70, 15745 },
- { 0x1D71, 16100 },
- { 0x1D72, 16239 },
- { 0x1D73, 16271 },
- { 0x1D74, 16370 },
- { 0x1D75, 16446 },
- { 0x1D76, 16999 },
- { 0x1D77, 17549 },
- { 0x1D78, 54782 },
- { 0x1D79, 17723 },
- { 0x1D7A, 17162 },
- { 0x1D7B, 17883 },
- { 0x1D7C, 17331 },
- { 0x1D7D, 16107 },
- { 0x1D7E, 17890 },
- { 0x1D7F, 17747 },
- { 0x1D80, 14761 },
- { 0x1D81, 14911 },
- { 0x1D82, 15147 },
- { 0x1D83, 15207 },
- { 0x1D84, 15493 },
- { 0x1D85, 15610 },
- { 0x1D86, 15668 },
- { 0x1D87, 15758 },
- { 0x1D88, 16121 },
- { 0x1D89, 16258 },
- { 0x1D8A, 16383 },
- { 0x1D8B, 17211 },
- { 0x1D8C, 16764 },
- { 0x1D8D, 16844 },
- { 0x1D8E, 17012 },
- { 0x1D8F, 14656 },
- { 0x1D90, 17433 },
- { 0x1D91, 14859 },
- { 0x1D92, 15061 },
- { 0x1D93, 17375 },
- { 0x1D94, 17791 },
- { 0x1D95, 17458 },
- { 0x1D96, 15395 },
- { 0x1D97, 17388 },
- { 0x1D98, 17218 },
- { 0x1D99, 16708 },
- { 0x1D9A, 17251 },
- { 0x1D9B, 54477 },
- { 0x1D9C, 54144 },
- { 0x1D9D, 54148 },
- { 0x1D9E, 54339 },
- { 0x1D9F, 54526 },
- { 0x1DA0, 54162 },
- { 0x1DA1, 54515 },
- { 0x1DA2, 54416 },
- { 0x1DA3, 54426 },
- { 0x1DA4, 54180 },
- { 0x1DA5, 54361 },
- { 0x1DA6, 54482 },
- { 0x1DA7, 54487 },
- { 0x1DA8, 54190 },
- { 0x1DA9, 54211 },
- { 0x1DAA, 54204 },
- { 0x1DAB, 54494 },
- { 0x1DAC, 54222 },
- { 0x1DAD, 54441 },
- { 0x1DAE, 54228 },
- { 0x1DAF, 54235 },
- { 0x1DB0, 54499 },
- { 0x1DB1, 54405 },
- { 0x1DB2, 54347 },
- { 0x1DB3, 54258 },
- { 0x1DB4, 54335 },
- { 0x1DB5, 54268 },
- { 0x1DB6, 54279 },
- { 0x1DB7, 54522 },
- { 0x1DB8, 54504 },
- { 0x1DB9, 54288 },
- { 0x1DBA, 54461 },
- { 0x1DBB, 54306 },
- { 0x1DBC, 54316 },
- { 0x1DBD, 54310 },
- { 0x1DBE, 54343 },
- { 0x1DBF, 54401 },
- { 0x1DC0, 57864 },
- { 0x1DC1, 57860 },
- { 0x1DC2, 57834 },
- { 0x1DC3, 58302 },
- { 0x1DC4, 58317 },
- { 0x1DC5, 58315 },
- { 0x1DC6, 58321 },
- { 0x1DC7, 58311 },
- { 0x1DC8, 58333 },
- { 0x1DC9, 58331 },
- { 0x1DCA, 57657 },
- { 0x1DCB, 58313 },
- { 0x1DCC, 58319 },
- { 0x1DCD, 57933 },
- { 0x1DCE, 57961 },
- { 0x1DCF, 57977 },
- { 0x1DD0, 57389 },
- { 0x1DD1, 57396 },
- { 0x1DD2, 57399 },
- { 0x1DD3, 57731 },
- { 0x1DD4, 57699 },
- { 0x1DD5, 57704 },
- { 0x1DD6, 57709 },
- { 0x1DD7, 57596 },
- { 0x1DD8, 57725 },
- { 0x1DD9, 57714 },
- { 0x1DDA, 57612 },
- { 0x1DDB, 57739 },
- { 0x1DDC, 57627 },
- { 0x1DDD, 57632 },
- { 0x1DDE, 57745 },
- { 0x1DDF, 57751 },
- { 0x1DE0, 57642 },
- { 0x1DE1, 57757 },
- { 0x1DE2, 57763 },
- { 0x1DE3, 57663 },
- { 0x1DE4, 57669 },
- { 0x1DE5, 57719 },
- { 0x1DE6, 57694 },
- { 0x1DFE, 57476 },
- { 0x1DFF, 57806 },
- { 0x1E00, 18281 },
- { 0x1E01, 14523 },
- { 0x1E02, 18458 },
- { 0x1E03, 14715 },
- { 0x1E04, 18465 },
- { 0x1E05, 14722 },
- { 0x1E06, 18478 },
- { 0x1E07, 14735 },
- { 0x1E08, 18538 },
- { 0x1E09, 14815 },
- { 0x1E0A, 18556 },
- { 0x1E0B, 14833 },
- { 0x1E0C, 18563 },
- { 0x1E0D, 14840 },
- { 0x1E0E, 18576 },
- { 0x1E0F, 14867 },
- { 0x1E10, 18619 },
- { 0x1E11, 14905 },
- { 0x1E12, 18625 },
- { 0x1E13, 14918 },
- { 0x1E14, 18715 },
- { 0x1E15, 15014 },
- { 0x1E16, 18707 },
- { 0x1E17, 15006 },
- { 0x1E18, 18810 },
- { 0x1E19, 15116 },
- { 0x1E1A, 18687 },
- { 0x1E1B, 14986 },
- { 0x1E1C, 18741 },
- { 0x1E1D, 15040 },
- { 0x1E1E, 18821 },
- { 0x1E1F, 15127 },
- { 0x1E20, 18869 },
- { 0x1E21, 15189 },
- { 0x1E22, 18897 },
- { 0x1E23, 15224 },
- { 0x1E24, 18904 },
- { 0x1E25, 15231 },
- { 0x1E26, 18942 },
- { 0x1E27, 15282 },
- { 0x1E28, 18930 },
- { 0x1E29, 15270 },
- { 0x1E2A, 18911 },
- { 0x1E2B, 15251 },
- { 0x1E2C, 19009 },
- { 0x1E2D, 15342 },
- { 0x1E2E, 19054 },
- { 0x1E2F, 15387 },
- { 0x1E30, 19108 },
- { 0x1E31, 15460 },
- { 0x1E32, 19088 },
- { 0x1E33, 15440 },
- { 0x1E34, 19101 },
- { 0x1E35, 15453 },
- { 0x1E36, 19164 },
- { 0x1E37, 15523 },
- { 0x1E38, 19171 },
- { 0x1E39, 15530 },
- { 0x1E3A, 19187 },
- { 0x1E3B, 15558 },
- { 0x1E3C, 19247 },
- { 0x1E3D, 15624 },
- { 0x1E3E, 19278 },
- { 0x1E3F, 15655 },
- { 0x1E40, 19258 },
- { 0x1E41, 15635 },
- { 0x1E42, 19265 },
- { 0x1E43, 15642 },
- { 0x1E44, 19288 },
- { 0x1E45, 15679 },
- { 0x1E46, 19295 },
- { 0x1E47, 15686 },
- { 0x1E48, 19309 },
- { 0x1E49, 15706 },
- { 0x1E4A, 19362 },
- { 0x1E4B, 15772 },
- { 0x1E4C, 19495 },
- { 0x1E4D, 15920 },
- { 0x1E4E, 19511 },
- { 0x1E4F, 15936 },
- { 0x1E50, 19547 },
- { 0x1E51, 15972 },
- { 0x1E52, 19539 },
- { 0x1E53, 15964 },
- { 0x1E54, 19676 },
- { 0x1E55, 16094 },
- { 0x1E56, 19663 },
- { 0x1E57, 16081 },
- { 0x1E58, 19732 },
- { 0x1E59, 16177 },
- { 0x1E5A, 19739 },
- { 0x1E5B, 16184 },
- { 0x1E5C, 19746 },
- { 0x1E5D, 16191 },
- { 0x1E5E, 19755 },
- { 0x1E5F, 16200 },
- { 0x1E60, 19815 },
- { 0x1E61, 16296 },
- { 0x1E62, 19822 },
- { 0x1E63, 16303 },
- { 0x1E64, 19845 },
- { 0x1E65, 16332 },
- { 0x1E66, 19860 },
- { 0x1E67, 16347 },
- { 0x1E68, 19829 },
- { 0x1E69, 16310 },
- { 0x1E6A, 19892 },
- { 0x1E6B, 16400 },
- { 0x1E6C, 19899 },
- { 0x1E6D, 16407 },
- { 0x1E6E, 19912 },
- { 0x1E6F, 16426 },
- { 0x1E70, 19958 },
- { 0x1E71, 16492 },
- { 0x1E72, 20167 },
- { 0x1E73, 16701 },
- { 0x1E74, 20081 },
- { 0x1E75, 16615 },
- { 0x1E76, 20180 },
- { 0x1E77, 16721 },
- { 0x1E78, 20073 },
- { 0x1E79, 16607 },
- { 0x1E7A, 20108 },
- { 0x1E7B, 16642 },
- { 0x1E7C, 20204 },
- { 0x1E7D, 16758 },
- { 0x1E7E, 20191 },
- { 0x1E7F, 16732 },
- { 0x1E80, 20247 },
- { 0x1E81, 16815 },
- { 0x1E82, 20241 },
- { 0x1E83, 16809 },
- { 0x1E84, 20253 },
- { 0x1E85, 16821 },
- { 0x1E86, 20221 },
- { 0x1E87, 16782 },
- { 0x1E88, 20228 },
- { 0x1E89, 16789 },
- { 0x1E8A, 20269 },
- { 0x1E8B, 16837 },
- { 0x1E8C, 20276 },
- { 0x1E8D, 16851 },
- { 0x1E8E, 20286 },
- { 0x1E8F, 16861 },
- { 0x1E90, 20416 },
- { 0x1E91, 17032 },
- { 0x1E92, 20372 },
- { 0x1E93, 16954 },
- { 0x1E94, 20385 },
- { 0x1E95, 16973 },
- { 0x1E96, 15244 },
- { 0x1E97, 16479 },
- { 0x1E98, 16802 },
- { 0x1E99, 16894 },
- { 0x1E9A, 14596 },
- { 0x1E9B, 17346 },
- { 0x1E9C, 17362 },
- { 0x1E9D, 17354 },
- { 0x1E9E, 20613 },
- { 0x1E9F, 17440 },
- { 0x1EA0, 18251 },
- { 0x1EA1, 14493 },
- { 0x1EA2, 18258 },
- { 0x1EA3, 14500 },
- { 0x1EA4, 18430 },
- { 0x1EA5, 14687 },
- { 0x1EA6, 18438 },
- { 0x1EA7, 14695 },
- { 0x1EA8, 18421 },
- { 0x1EA9, 14678 },
- { 0x1EAA, 18446 },
- { 0x1EAB, 14703 },
- { 0x1EAC, 18412 },
- { 0x1EAD, 14669 },
- { 0x1EAE, 18318 },
- { 0x1EAF, 14560 },
- { 0x1EB0, 18326 },
- { 0x1EB1, 14568 },
- { 0x1EB2, 18309 },
- { 0x1EB3, 14551 },
- { 0x1EB4, 18334 },
- { 0x1EB5, 14576 },
- { 0x1EB6, 18300 },
- { 0x1EB7, 14542 },
- { 0x1EB8, 18643 },
- { 0x1EB9, 14936 },
- { 0x1EBA, 18650 },
- { 0x1EBB, 14943 },
- { 0x1EBC, 18681 },
- { 0x1EBD, 14980 },
- { 0x1EBE, 18786 },
- { 0x1EBF, 15092 },
- { 0x1EC0, 18794 },
- { 0x1EC1, 15100 },
- { 0x1EC2, 18777 },
- { 0x1EC3, 15083 },
- { 0x1EC4, 18802 },
- { 0x1EC5, 15108 },
- { 0x1EC6, 18768 },
- { 0x1EC7, 15074 },
- { 0x1EC8, 18972 },
- { 0x1EC9, 15305 },
- { 0x1ECA, 18965 },
- { 0x1ECB, 15298 },
- { 0x1ECC, 19389 },
- { 0x1ECD, 15806 },
- { 0x1ECE, 19396 },
- { 0x1ECF, 15821 },
- { 0x1ED0, 19635 },
- { 0x1ED1, 16053 },
- { 0x1ED2, 19643 },
- { 0x1ED3, 16061 },
- { 0x1ED4, 19626 },
- { 0x1ED5, 16044 },
- { 0x1ED6, 19651 },
- { 0x1ED7, 16069 },
- { 0x1ED8, 19617 },
- { 0x1ED9, 16035 },
- { 0x1EDA, 19427 },
- { 0x1EDB, 15852 },
- { 0x1EDC, 19435 },
- { 0x1EDD, 15860 },
- { 0x1EDE, 19418 },
- { 0x1EDF, 15843 },
- { 0x1EE0, 19443 },
- { 0x1EE1, 15868 },
- { 0x1EE2, 19409 },
- { 0x1EE3, 15834 },
- { 0x1EE4, 19974 },
- { 0x1EE5, 16508 },
- { 0x1EE6, 19981 },
- { 0x1EE7, 16515 },
- { 0x1EE8, 20012 },
- { 0x1EE9, 16546 },
- { 0x1EEA, 20020 },
- { 0x1EEB, 16554 },
- { 0x1EEC, 20003 },
- { 0x1EED, 16537 },
- { 0x1EEE, 20028 },
- { 0x1EEF, 16562 },
- { 0x1EF0, 19994 },
- { 0x1EF1, 16528 },
- { 0x1EF2, 20325 },
- { 0x1EF3, 16907 },
- { 0x1EF4, 20293 },
- { 0x1EF5, 16868 },
- { 0x1EF6, 20306 },
- { 0x1EF7, 16881 },
- { 0x1EF8, 20331 },
- { 0x1EF9, 16913 },
- { 0x1EFA, 20759 },
- { 0x1EFB, 17868 },
- { 0x1EFC, 20754 },
- { 0x1EFD, 17863 },
- { 0x1EFE, 20313 },
- { 0x1EFF, 16888 },
- { 0x1F00, 11230 },
- { 0x1F01, 11162 },
- { 0x1F02, 11254 },
- { 0x1F03, 11186 },
- { 0x1F04, 11236 },
- { 0x1F05, 11168 },
- { 0x1F06, 11272 },
- { 0x1F07, 11204 },
- { 0x1F08, 12506 },
- { 0x1F09, 12438 },
- { 0x1F0A, 12530 },
- { 0x1F0B, 12462 },
- { 0x1F0C, 12512 },
- { 0x1F0D, 12444 },
- { 0x1F0E, 12548 },
- { 0x1F0F, 12480 },
- { 0x1F10, 11631 },
- { 0x1F11, 11609 },
- { 0x1F12, 11645 },
- { 0x1F13, 11623 },
- { 0x1F14, 11637 },
- { 0x1F15, 11615 },
- { 0x1F18, 12829 },
- { 0x1F19, 12807 },
- { 0x1F1A, 12843 },
- { 0x1F1B, 12821 },
- { 0x1F1C, 12835 },
- { 0x1F1D, 12813 },
- { 0x1F20, 10850 },
- { 0x1F21, 10782 },
- { 0x1F22, 10874 },
- { 0x1F23, 10806 },
- { 0x1F24, 10856 },
- { 0x1F25, 10788 },
- { 0x1F26, 10892 },
- { 0x1F27, 10824 },
- { 0x1F28, 12200 },
- { 0x1F29, 12132 },
- { 0x1F2A, 12224 },
- { 0x1F2B, 12156 },
- { 0x1F2C, 12206 },
- { 0x1F2D, 12138 },
- { 0x1F2E, 12242 },
- { 0x1F2F, 12174 },
- { 0x1F30, 11042 },
- { 0x1F31, 11012 },
- { 0x1F32, 11056 },
- { 0x1F33, 11026 },
- { 0x1F34, 11048 },
- { 0x1F35, 11018 },
- { 0x1F36, 11064 },
- { 0x1F37, 11034 },
- { 0x1F38, 12364 },
- { 0x1F39, 12334 },
- { 0x1F3A, 12378 },
- { 0x1F3B, 12348 },
- { 0x1F3C, 12370 },
- { 0x1F3D, 12340 },
- { 0x1F3E, 12386 },
- { 0x1F3F, 12356 },
- { 0x1F40, 11697 },
- { 0x1F41, 11675 },
- { 0x1F42, 11711 },
- { 0x1F43, 11689 },
- { 0x1F44, 11703 },
- { 0x1F45, 11681 },
- { 0x1F48, 12895 },
- { 0x1F49, 12873 },
- { 0x1F4A, 12909 },
- { 0x1F4B, 12887 },
- { 0x1F4C, 12901 },
- { 0x1F4D, 12879 },
- { 0x1F50, 11771 },
- { 0x1F51, 11741 },
- { 0x1F52, 11785 },
- { 0x1F53, 11755 },
- { 0x1F54, 11777 },
- { 0x1F55, 11747 },
- { 0x1F56, 11793 },
- { 0x1F57, 11763 },
- { 0x1F59, 12939 },
- { 0x1F5B, 12953 },
- { 0x1F5D, 12945 },
- { 0x1F5F, 12961 },
- { 0x1F60, 11461 },
- { 0x1F61, 11393 },
- { 0x1F62, 11485 },
- { 0x1F63, 11417 },
- { 0x1F64, 11467 },
- { 0x1F65, 11399 },
- { 0x1F66, 11503 },
- { 0x1F67, 11435 },
- { 0x1F68, 12698 },
- { 0x1F69, 12630 },
- { 0x1F6A, 12722 },
- { 0x1F6B, 12654 },
- { 0x1F6C, 12704 },
- { 0x1F6D, 12636 },
- { 0x1F6E, 12740 },
- { 0x1F6F, 12672 },
- { 0x1F70, 11304 },
- { 0x1F71, 11148 },
- { 0x1F72, 11659 },
- { 0x1F73, 11603 },
- { 0x1F74, 10924 },
- { 0x1F75, 10768 },
- { 0x1F76, 11078 },
- { 0x1F77, 11006 },
- { 0x1F78, 11725 },
- { 0x1F79, 11669 },
- { 0x1F7A, 11807 },
- { 0x1F7B, 11735 },
- { 0x1F7C, 11535 },
- { 0x1F7D, 11379 },
- { 0x1F80, 11290 },
- { 0x1F81, 11222 },
- { 0x1F82, 11262 },
- { 0x1F83, 11194 },
- { 0x1F84, 11244 },
- { 0x1F85, 11176 },
- { 0x1F86, 11280 },
- { 0x1F87, 11212 },
- { 0x1F88, 12566 },
- { 0x1F89, 12498 },
- { 0x1F8A, 12538 },
- { 0x1F8B, 12470 },
- { 0x1F8C, 12520 },
- { 0x1F8D, 12452 },
- { 0x1F8E, 12556 },
- { 0x1F8F, 12488 },
- { 0x1F90, 10910 },
- { 0x1F91, 10842 },
- { 0x1F92, 10882 },
- { 0x1F93, 10814 },
- { 0x1F94, 10864 },
- { 0x1F95, 10796 },
- { 0x1F96, 10900 },
- { 0x1F97, 10832 },
- { 0x1F98, 12260 },
- { 0x1F99, 12192 },
- { 0x1F9A, 12232 },
- { 0x1F9B, 12164 },
- { 0x1F9C, 12214 },
- { 0x1F9D, 12146 },
- { 0x1F9E, 12250 },
- { 0x1F9F, 12182 },
- { 0x1FA0, 11521 },
- { 0x1FA1, 11453 },
- { 0x1FA2, 11493 },
- { 0x1FA3, 11425 },
- { 0x1FA4, 11475 },
- { 0x1FA5, 11407 },
- { 0x1FA6, 11511 },
- { 0x1FA7, 11443 },
- { 0x1FA8, 12758 },
- { 0x1FA9, 12690 },
- { 0x1FAA, 12730 },
- { 0x1FAB, 12662 },
- { 0x1FAC, 12712 },
- { 0x1FAD, 12644 },
- { 0x1FAE, 12748 },
- { 0x1FAF, 12680 },
- { 0x1FB0, 11324 },
- { 0x1FB1, 11318 },
- { 0x1FB2, 11310 },
- { 0x1FB3, 11344 },
- { 0x1FB4, 11154 },
- { 0x1FB6, 11330 },
- { 0x1FB7, 11336 },
- { 0x1FB8, 12592 },
- { 0x1FB9, 12586 },
- { 0x1FBA, 12580 },
- { 0x1FBB, 12432 },
- { 0x1FBC, 12598 },
- { 0x1FBD, 13025 },
- { 0x1FBE, 13524 },
- { 0x1FBF, 10724 },
- { 0x1FC0, 13372 },
- { 0x1FC1, 13079 },
- { 0x1FC2, 10930 },
- { 0x1FC3, 10952 },
- { 0x1FC4, 10774 },
- { 0x1FC6, 10938 },
- { 0x1FC7, 10944 },
- { 0x1FC8, 12857 },
- { 0x1FC9, 12801 },
- { 0x1FCA, 12274 },
- { 0x1FCB, 12126 },
- { 0x1FCC, 12280 },
- { 0x1FCD, 10730 },
- { 0x1FCE, 10726 },
- { 0x1FCF, 10734 },
- { 0x1FD0, 11090 },
- { 0x1FD1, 11084 },
- { 0x1FD2, 11118 },
- { 0x1FD3, 11102 },
- { 0x1FD6, 11134 },
- { 0x1FD7, 11126 },
- { 0x1FD8, 12412 },
- { 0x1FD9, 12406 },
- { 0x1FDA, 12400 },
- { 0x1FDB, 12328 },
- { 0x1FDD, 10706 },
- { 0x1FDE, 10702 },
- { 0x1FDF, 10710 },
- { 0x1FE0, 11819 },
- { 0x1FE1, 11813 },
- { 0x1FE2, 11847 },
- { 0x1FE3, 11831 },
- { 0x1FE4, 10976 },
- { 0x1FE5, 10970 },
- { 0x1FE6, 11863 },
- { 0x1FE7, 11855 },
- { 0x1FE8, 12987 },
- { 0x1FE9, 12981 },
- { 0x1FEA, 12975 },
- { 0x1FEB, 12933 },
- { 0x1FEC, 12298 },
- { 0x1FED, 13075 },
- { 0x1FEE, 13071 },
- { 0x1FEF, 11900 },
- { 0x1FF2, 11541 },
- { 0x1FF3, 11563 },
- { 0x1FF4, 11385 },
- { 0x1FF6, 11549 },
- { 0x1FF7, 11555 },
- { 0x1FF8, 12923 },
- { 0x1FF9, 12867 },
- { 0x1FFA, 12772 },
- { 0x1FFB, 12624 },
- { 0x1FFC, 12778 },
- { 0x1FFD, 10692 },
- { 0x1FFE, 10700 },
- { 0x2000, 77 },
- { 0x2001, 71 },
- { 0x2002, 79 },
- { 0x2003, 73 },
- { 0x2004, 74478 },
- { 0x2005, 68661 },
- { 0x2006, 68597 },
- { 0x2007, 31771 },
- { 0x2008, 69272 },
- { 0x2009, 10051 },
- { 0x200A, 9123 },
- { 0x200B, 10089 },
- { 0x200C, 10099 },
- { 0x200D, 10092 },
- { 0x200E, 74617 },
- { 0x200F, 75041 },
- { 0x2010, 33424 },
- { 0x2011, 74240 },
- { 0x2012, 31769 },
- { 0x2013, 75 },
- { 0x2014, 69 },
- { 0x2015, 67636 },
- { 0x2016, 31692 },
- { 0x2017, 31548 },
- { 0x2018, 9381 },
- { 0x2019, 21908 },
- { 0x201A, 35854 },
- { 0x201B, 35868 },
- { 0x201C, 9365 },
- { 0x201D, 21892 },
- { 0x201E, 31570 },
- { 0x201F, 31700 },
- { 0x2020, 31169 },
- { 0x2021, 31587 },
- { 0x2022, 30312 },
- { 0x2023, 68599 },
- { 0x2024, 7161 },
- { 0x2025, 7766 },
- { 0x2026, 67661 },
- { 0x2027, 68663 },
- { 0x2028, 9483 },
- { 0x2029, 65751 },
- { 0x202A, 74621 },
- { 0x202B, 75045 },
- { 0x202C, 7173 },
- { 0x202D, 74619 },
- { 0x202E, 75043 },
- { 0x202F, 35576 },
- { 0x2030, 7170 },
- { 0x2031, 7164 },
- { 0x2032, 21742 },
- { 0x2033, 31574 },
- { 0x2034, 37619 },
- { 0x2035, 55468 },
- { 0x2036, 55475 },
- { 0x2037, 55491 },
- { 0x2038, 10441 },
- { 0x2039, 35858 },
- { 0x203A, 35863 },
- { 0x203B, 65808 },
- { 0x203C, 31695 },
- { 0x203D, 69263 },
- { 0x203E, 54945 },
- { 0x203F, 56009 },
- { 0x2040, 57360 },
- { 0x2041, 10442 },
- { 0x2042, 45084 },
- { 0x2043, 33428 },
- { 0x2044, 51779 },
- { 0x2045, 9404 },
- { 0x2046, 21931 },
- { 0x2047, 31668 },
- { 0x2048, 55448 },
- { 0x2049, 68658 },
- { 0x204A, 55895 },
- { 0x204B, 55494 },
- { 0x204C, 10314 },
- { 0x204D, 10331 },
- { 0x204E, 6038 },
- { 0x204F, 55505 },
- { 0x2050, 10452 },
- { 0x2051, 7789 },
- { 0x2052, 66839 },
- { 0x2053, 22751 },
- { 0x2054, 53355 },
- { 0x2055, 31779 },
- { 0x2056, 22989 },
- { 0x2057, 65761 },
- { 0x2058, 9100 },
- { 0x2059, 9094 },
- { 0x205A, 7769 },
- { 0x205B, 9097 },
- { 0x205C, 31529 },
- { 0x205D, 55910 },
- { 0x205E, 56031 },
- { 0x205F, 35557 },
- { 0x2060, 10087 },
- { 0x2061, 51784 },
- { 0x2062, 64310 },
- { 0x2063, 64312 },
- { 0x2064, 64308 },
- { 0x206A, 40633 },
- { 0x206B, 44713 },
- { 0x206C, 40629 },
- { 0x206D, 44709 },
- { 0x206E, 54880 },
- { 0x206F, 42828 },
- { 0x2070, 69298 },
- { 0x2071, 69302 },
- { 0x2074, 69288 },
- { 0x2075, 69286 },
- { 0x2076, 69282 },
- { 0x2077, 69317 },
- { 0x2078, 69300 },
- { 0x2079, 69293 },
- { 0x207A, 69295 },
- { 0x207B, 69312 },
- { 0x207C, 69321 },
- { 0x207D, 69290 },
- { 0x207E, 69314 },
- { 0x207F, 69307 },
- { 0x2080, 65843 },
- { 0x2081, 65825 },
- { 0x2082, 65829 },
- { 0x2083, 65854 },
- { 0x2084, 65833 },
- { 0x2085, 65831 },
- { 0x2086, 65827 },
- { 0x2087, 65852 },
- { 0x2088, 65845 },
- { 0x2089, 65838 },
- { 0x208A, 65840 },
- { 0x208B, 65847 },
- { 0x208C, 65856 },
- { 0x208D, 65835 },
- { 0x208E, 65849 },
- { 0x2090, 20782 },
- { 0x2091, 20787 },
- { 0x2092, 20802 },
- { 0x2093, 20822 },
- { 0x2094, 20827 },
- { 0x20A0, 74597 },
- { 0x20A1, 10456 },
- { 0x20A2, 48519 },
- { 0x20A3, 31787 },
- { 0x20A4, 9505 },
- { 0x20A5, 9596 },
- { 0x20A6, 21269 },
- { 0x20A7, 35651 },
- { 0x20A8, 22442 },
- { 0x20A9, 8709 },
- { 0x20AA, 6507 },
- { 0x20AB, 9068 },
- { 0x20AC, 9089 },
- { 0x20AD, 5797 },
- { 0x20AE, 37669 },
- { 0x20AF, 40498 },
- { 0x20B0, 31791 },
- { 0x20B1, 9631 },
- { 0x20B2, 40560 },
- { 0x20B3, 37779 },
- { 0x20B4, 40627 },
- { 0x20B5, 8727 },
- { 0x20D0, 57472 },
- { 0x20D1, 57795 },
- { 0x20D2, 57497 },
- { 0x20D3, 57829 },
- { 0x20D4, 58327 },
- { 0x20D5, 58236 },
- { 0x20D6, 57454 },
- { 0x20D7, 57787 },
- { 0x20D8, 57512 },
- { 0x20D9, 58232 },
- { 0x20DA, 58323 },
- { 0x20DB, 57837 },
- { 0x20DC, 57423 },
- { 0x20DD, 58245 },
- { 0x20DE, 58258 },
- { 0x20DF, 58266 },
- { 0x20E0, 58248 },
- { 0x20E1, 57462 },
- { 0x20E2, 58255 },
- { 0x20E3, 58252 },
- { 0x20E4, 58261 },
- { 0x20E5, 57987 },
- { 0x20E6, 57928 },
- { 0x20E7, 57980 },
- { 0x20E8, 57967 },
- { 0x20E9, 57515 },
- { 0x20EA, 58269 },
- { 0x20EB, 57484 },
- { 0x20EC, 58296 },
- { 0x20ED, 58273 },
- { 0x20EE, 57458 },
- { 0x20EF, 57791 },
- { 0x20F0, 57998 },
- { 0x2100, 37774 },
- { 0x2101, 56104 },
- { 0x2102, 74558 },
- { 0x2103, 31181 },
- { 0x2104, 30465 },
- { 0x2105, 8725 },
- { 0x2106, 8723 },
- { 0x2107, 10628 },
- { 0x2108, 43021 },
- { 0x2109, 31183 },
- { 0x210A, 35815 },
- { 0x210B, 35833 },
- { 0x210C, 69390 },
- { 0x210D, 74561 },
- { 0x210E, 35654 },
- { 0x210F, 35656 },
- { 0x2110, 35836 },
- { 0x2111, 69393 },
- { 0x2112, 35839 },
- { 0x2113, 35818 },
- { 0x2114, 0 },
- { 0x2115, 74564 },
- { 0x2116, 35635 },
- { 0x2117, 22671 },
- { 0x2118, 35845 },
- { 0x2119, 74567 },
- { 0x211A, 74570 },
- { 0x211B, 35848 },
- { 0x211C, 69396 },
- { 0x211D, 74573 },
- { 0x211E, 74242 },
- { 0x211F, 55455 },
- { 0x2120, 43025 },
- { 0x2121, 66040 },
- { 0x2122, 23055 },
- { 0x2123, 56010 },
- { 0x2124, 74576 },
- { 0x2125, 21731 },
- { 0x2126, 6813 },
- { 0x2127, 53346 },
- { 0x2128, 69399 },
- { 0x2129, 37676 },
- { 0x212A, 34094 },
- { 0x212B, 44717 },
- { 0x212C, 35824 },
- { 0x212D, 69387 },
- { 0x212E, 63380 },
- { 0x212F, 35812 },
- { 0x2130, 35827 },
- { 0x2131, 35830 },
- { 0x2132, 37684 },
- { 0x2133, 35842 },
- { 0x2134, 35821 },
- { 0x2135, 8716 },
- { 0x2136, 4380 },
- { 0x2137, 10636 },
- { 0x2138, 10477 },
- { 0x2139, 69246 },
- { 0x213A, 43017 },
- { 0x213B, 63383 },
- { 0x213C, 74532 },
- { 0x213D, 74535 },
- { 0x213E, 74582 },
- { 0x213F, 74579 },
- { 0x2140, 74529 },
- { 0x2141, 37689 },
- { 0x2142, 37693 },
- { 0x2143, 55507 },
- { 0x2144, 37697 },
- { 0x2145, 74554 },
- { 0x2146, 74538 },
- { 0x2147, 74542 },
- { 0x2148, 74546 },
- { 0x2149, 74550 },
- { 0x214A, 55384 },
- { 0x214B, 37687 },
- { 0x214C, 7168 },
- { 0x214D, 69338 },
- { 0x214E, 37681 },
- { 0x214F, 36848 },
- { 0x2153, 37724 },
- { 0x2154, 37740 },
- { 0x2155, 37716 },
- { 0x2156, 37736 },
- { 0x2157, 37760 },
- { 0x2158, 37752 },
- { 0x2159, 37720 },
- { 0x215A, 37744 },
- { 0x215B, 37728 },
- { 0x215C, 37764 },
- { 0x215D, 37748 },
- { 0x215E, 37756 },
- { 0x215F, 51781 },
- { 0x2160, 22020 },
- { 0x2161, 22057 },
- { 0x2162, 22095 },
- { 0x2163, 22071 },
- { 0x2164, 22060 },
- { 0x2165, 22042 },
- { 0x2166, 22092 },
- { 0x2167, 22077 },
- { 0x2168, 22074 },
- { 0x2169, 22050 },
- { 0x216A, 22098 },
- { 0x216B, 22101 },
- { 0x216C, 22080 },
- { 0x216D, 22023 },
- { 0x216E, 22063 },
- { 0x216F, 22032 },
- { 0x2170, 22521 },
- { 0x2171, 22543 },
- { 0x2172, 22576 },
- { 0x2173, 22556 },
- { 0x2174, 22547 },
- { 0x2175, 22535 },
- { 0x2176, 22572 },
- { 0x2177, 22564 },
- { 0x2178, 22560 },
- { 0x2179, 22539 },
- { 0x217A, 22580 },
- { 0x217B, 22584 },
- { 0x217C, 22568 },
- { 0x217D, 22525 },
- { 0x217E, 22551 },
- { 0x217F, 22530 },
- { 0x2180, 22036 },
- { 0x2181, 22067 },
- { 0x2182, 22053 },
- { 0x2183, 22104 },
- { 0x2184, 17753 },
- { 0x2185, 22045 },
- { 0x2186, 22083 },
- { 0x2187, 22088 },
- { 0x2188, 22027 },
- { 0x2190, 64325 },
- { 0x2191, 44542 },
- { 0x2192, 67992 },
- { 0x2193, 63251 },
- { 0x2194, 9258 },
- { 0x2195, 303 },
- { 0x2196, 21324 },
- { 0x2197, 21277 },
- { 0x2198, 22674 },
- { 0x2199, 22713 },
- { 0x219A, 64414 },
- { 0x219B, 68077 },
- { 0x219C, 64322 },
- { 0x219D, 67989 },
- { 0x219E, 64318 },
- { 0x219F, 44538 },
- { 0x21A0, 67985 },
- { 0x21A1, 63247 },
- { 0x21A2, 64384 },
- { 0x21A3, 68042 },
- { 0x21A4, 64345 },
- { 0x21A5, 44548 },
- { 0x21A6, 68003 },
- { 0x21A7, 63257 },
- { 0x21A8, 306 },
- { 0x21A9, 64371 },
- { 0x21AA, 68029 },
- { 0x21AB, 64375 },
- { 0x21AC, 68033 },
- { 0x21AD, 9254 },
- { 0x21AE, 9268 },
- { 0x21AF, 63312 },
- { 0x21B0, 44552 },
- { 0x21B1, 44557 },
- { 0x21B2, 63261 },
- { 0x21B3, 63266 },
- { 0x21B4, 68061 },
- { 0x21B5, 63271 },
- { 0x21B6, 74484 },
- { 0x21B7, 57362 },
- { 0x21B8, 21327 },
- { 0x21B9, 64331 },
- { 0x21BA, 74488 },
- { 0x21BB, 57366 },
- { 0x21BC, 64592 },
- { 0x21BD, 64597 },
- { 0x21BE, 44689 },
- { 0x21BF, 44684 },
- { 0x21C0, 68257 },
- { 0x21C1, 68262 },
- { 0x21C2, 63370 },
- { 0x21C3, 63365 },
- { 0x21C4, 68014 },
- { 0x21C5, 44572 },
- { 0x21C6, 64356 },
- { 0x21C7, 64500 },
- { 0x21C8, 44628 },
- { 0x21C9, 68165 },
- { 0x21CA, 63306 },
- { 0x21CB, 64510 },
- { 0x21CC, 68175 },
- { 0x21CD, 64486 },
- { 0x21CE, 9297 },
- { 0x21CF, 68151 },
- { 0x21D0, 64478 },
- { 0x21D1, 44625 },
- { 0x21D2, 68143 },
- { 0x21D3, 63303 },
- { 0x21D4, 9293 },
- { 0x21D5, 319 },
- { 0x21D6, 21365 },
- { 0x21D7, 21314 },
- { 0x21D8, 22709 },
- { 0x21D9, 22736 },
- { 0x21DA, 64507 },
- { 0x21DB, 68172 },
- { 0x21DC, 64602 },
- { 0x21DD, 68267 },
- { 0x21DE, 44562 },
- { 0x21DF, 63276 },
- { 0x21E0, 64471 },
- { 0x21E1, 44622 },
- { 0x21E2, 68136 },
- { 0x21E3, 63300 },
- { 0x21E4, 64327 },
- { 0x21E5, 67994 },
- { 0x21E6, 64468 },
- { 0x21E7, 44581 },
- { 0x21E8, 68128 },
- { 0x21E9, 63295 },
- { 0x21EA, 44605 },
- { 0x21EB, 44584 },
- { 0x21EC, 44597 },
- { 0x21ED, 44589 },
- { 0x21EE, 44610 },
- { 0x21EF, 44614 },
- { 0x21F0, 68131 },
- { 0x21F1, 21333 },
- { 0x21F2, 22677 },
- { 0x21F3, 315 },
- { 0x21F4, 21805 },
- { 0x21F5, 63286 },
- { 0x21F6, 22995 },
- { 0x21F7, 64418 },
- { 0x21F8, 68081 },
- { 0x21F9, 9273 },
- { 0x21FA, 64408 },
- { 0x21FB, 68071 },
- { 0x21FC, 9261 },
- { 0x21FD, 64655 },
- { 0x21FE, 68320 },
- { 0x21FF, 9310 },
- { 0x2200, 5791 },
- { 0x2201, 66842 },
- { 0x2202, 42971 },
- { 0x2203, 22987 },
- { 0x2204, 22983 },
- { 0x2205, 10570 },
- { 0x2206, 64305 },
- { 0x2207, 21268 },
- { 0x2208, 40500 },
- { 0x2209, 6719 },
- { 0x220A, 22599 },
- { 0x220B, 48398 },
- { 0x220C, 9033 },
- { 0x220D, 22626 },
- { 0x220E, 5788 },
- { 0x220F, 21260 },
- { 0x2210, 21262 },
- { 0x2211, 21264 },
- { 0x2212, 21178 },
- { 0x2213, 74623 },
- { 0x2214, 5780 },
- { 0x2215, 50310 },
- { 0x2216, 7176 },
- { 0x2217, 45082 },
- { 0x2218, 9706 },
- { 0x2219, 30313 },
- { 0x221A, 36200 },
- { 0x221B, 9013 },
- { 0x221C, 31785 },
- { 0x221D, 74470 },
- { 0x221E, 53300 },
- { 0x221F, 21771 },
- { 0x2220, 10106 },
- { 0x2221, 53732 },
- { 0x2222, 65815 },
- { 0x2223, 40489 },
- { 0x2224, 9023 },
- { 0x2225, 54946 },
- { 0x2226, 6764 },
- { 0x2227, 40959 },
- { 0x2228, 40927 },
- { 0x2229, 69570 },
- { 0x222A, 23058 },
- { 0x222B, 53306 },
- { 0x222C, 31664 },
- { 0x222D, 37633 },
- { 0x222E, 39790 },
- { 0x222F, 43581 },
- { 0x2230, 37710 },
- { 0x2231, 57381 },
- { 0x2232, 57378 },
- { 0x2233, 74500 },
- { 0x2234, 66307 },
- { 0x2235, 37781 },
- { 0x2236, 21746 },
- { 0x2237, 67972 },
- { 0x2238, 5784 },
- { 0x2239, 31766 },
- { 0x223A, 63794 },
- { 0x223B, 67635 },
- { 0x223C, 23021 },
- { 0x223D, 55470 },
- { 0x223E, 53349 },
- { 0x223F, 9708 },
- { 0x2240, 37772 },
- { 0x2241, 6733 },
- { 0x2242, 21204 },
- { 0x2243, 75048 },
- { 0x2244, 6777 },
- { 0x2245, 74516 },
- { 0x2246, 74505 },
- { 0x2247, 42821 },
- { 0x2248, 23692 },
- { 0x2249, 6735 },
- { 0x224A, 23687 },
- { 0x224B, 37621 },
- { 0x224C, 4011 },
- { 0x224D, 67226 },
- { 0x224E, 74602 },
- { 0x224F, 67222 },
- { 0x2250, 66827 },
- { 0x2251, 74599 },
- { 0x2252, 74519 },
- { 0x2253, 13722 },
- { 0x2254, 10458 },
- { 0x2255, 31764 },
- { 0x2256, 9695 },
- { 0x2257, 9701 },
- { 0x2258, 68616 },
- { 0x2259, 63382 },
- { 0x225A, 68654 },
- { 0x225B, 9718 },
- { 0x225C, 10479 },
- { 0x225D, 10596 },
- { 0x225E, 53730 },
- { 0x225F, 67976 },
- { 0x2260, 6730 },
- { 0x2261, 64292 },
- { 0x2262, 6767 },
- { 0x2263, 55525 },
- { 0x2264, 64658 },
- { 0x2265, 69429 },
- { 0x2266, 64722 },
- { 0x2267, 69493 },
- { 0x2268, 64712 },
- { 0x2269, 69483 },
- { 0x226A, 9599 },
- { 0x226B, 9601 },
- { 0x226C, 38099 },
- { 0x226D, 6772 },
- { 0x226E, 6770 },
- { 0x226F, 6775 },
- { 0x2270, 42793 },
- { 0x2271, 42807 },
- { 0x2272, 64692 },
- { 0x2273, 69466 },
- { 0x2274, 42798 },
- { 0x2275, 42816 },
- { 0x2276, 64699 },
- { 0x2277, 69463 },
- { 0x2278, 42803 },
- { 0x2279, 42812 },
- { 0x227A, 55334 },
- { 0x227B, 55528 },
- { 0x227C, 55335 },
- { 0x227D, 55529 },
- { 0x227E, 55339 },
- { 0x227F, 55533 },
- { 0x2280, 9052 },
- { 0x2281, 9060 },
- { 0x2282, 36469 },
- { 0x2283, 55576 },
- { 0x2284, 6711 },
- { 0x2285, 6715 },
- { 0x2286, 36471 },
- { 0x2287, 55578 },
- { 0x2288, 42779 },
- { 0x2289, 42786 },
- { 0x228A, 36484 },
- { 0x228B, 55591 },
- { 0x228C, 54875 },
- { 0x228D, 54878 },
- { 0x228E, 54876 },
- { 0x228F, 36310 },
- { 0x2290, 36425 },
- { 0x2291, 36320 },
- { 0x2292, 36435 },
- { 0x2293, 36092 },
- { 0x2294, 36094 },
- { 0x2295, 38882 },
- { 0x2296, 39182 },
- { 0x2297, 39184 },
- { 0x2298, 39468 },
- { 0x2299, 38871 },
- { 0x229A, 38884 },
- { 0x229B, 39462 },
- { 0x229C, 39194 },
- { 0x229D, 38874 },
- { 0x229E, 43560 },
- { 0x229F, 43562 },
- { 0x22A0, 43567 },
- { 0x22A1, 43553 },
- { 0x22A2, 21769 },
- { 0x22A3, 9202 },
- { 0x22A4, 9073 },
- { 0x22A5, 326 },
- { 0x22A6, 56111 },
- { 0x22A7, 35572 },
- { 0x22A8, 10054 },
- { 0x22A9, 31782 },
- { 0x22AA, 37641 },
- { 0x22AB, 31686 },
- { 0x22AC, 9020 },
- { 0x22AD, 6725 },
- { 0x22AE, 9017 },
- { 0x22AF, 42772 },
- { 0x22B0, 55379 },
- { 0x22B1, 55573 },
- { 0x22B2, 35580 },
- { 0x22B3, 48401 },
- { 0x22B4, 35583 },
- { 0x22B5, 48405 },
- { 0x22B6, 54929 },
- { 0x22B7, 13720 },
- { 0x22B8, 54874 },
- { 0x22B9, 64288 },
- { 0x22BA, 69248 },
- { 0x22BB, 8711 },
- { 0x22BC, 9603 },
- { 0x22BD, 6710 },
- { 0x22BE, 21773 },
- { 0x22BF, 21972 },
- { 0x22C0, 21257 },
- { 0x22C1, 21254 },
- { 0x22C2, 21266 },
- { 0x22C3, 21218 },
- { 0x22C4, 40327 },
- { 0x22C5, 5786 },
- { 0x22C6, 9720 },
- { 0x22C7, 50312 },
- { 0x22C8, 30294 },
- { 0x22C9, 9372 },
- { 0x22CA, 21899 },
- { 0x22CB, 9461 },
- { 0x22CC, 21988 },
- { 0x22CD, 55472 },
- { 0x22CE, 10471 },
- { 0x22CF, 10474 },
- { 0x22D0, 31610 },
- { 0x22D1, 31673 },
- { 0x22D2, 31698 },
- { 0x22D3, 31585 },
- { 0x22D4, 65756 },
- { 0x22D5, 10616 },
- { 0x22D6, 64728 },
- { 0x22D7, 69499 },
- { 0x22D8, 10057 },
- { 0x22D9, 10060 },
- { 0x22DA, 64775 },
- { 0x22DB, 69546 },
- { 0x22DC, 10608 },
- { 0x22DD, 10612 },
- { 0x22DE, 10600 },
- { 0x22DF, 10604 },
- { 0x22E0, 9055 },
- { 0x22E1, 9063 },
- { 0x22E2, 6750 },
- { 0x22E3, 6757 },
- { 0x22E4, 36313 },
- { 0x22E5, 36428 },
- { 0x22E6, 64717 },
- { 0x22E7, 69488 },
- { 0x22E8, 55343 },
- { 0x22E9, 55537 },
- { 0x22EA, 6739 },
- { 0x22EB, 9038 },
- { 0x22EC, 6743 },
- { 0x22ED, 9044 },
- { 0x22EE, 56096 },
- { 0x22EF, 41192 },
- { 0x22F0, 337 },
- { 0x22F1, 9080 },
- { 0x22F2, 40513 },
- { 0x22F3, 40527 },
- { 0x22F4, 22607 },
- { 0x22F5, 40502 },
- { 0x22F6, 40519 },
- { 0x22F7, 22602 },
- { 0x22F8, 40523 },
- { 0x22F9, 40507 },
- { 0x22FA, 48412 },
- { 0x22FB, 48420 },
- { 0x22FC, 22634 },
- { 0x22FD, 48417 },
- { 0x22FE, 22630 },
- { 0x22FF, 12 },
- { 0x2300, 50306 },
- { 0x2301, 50318 },
- { 0x2302, 13719 },
- { 0x2303, 341 },
- { 0x2304, 9084 },
- { 0x2305, 67971 },
- { 0x2306, 69271 },
- { 0x2307, 10080 },
- { 0x2308, 9431 },
- { 0x2309, 21958 },
- { 0x230A, 9249 },
- { 0x230B, 21842 },
- { 0x230C, 30268 },
- { 0x230D, 30255 },
- { 0x230E, 7747 },
- { 0x230F, 7734 },
- { 0x2310, 55456 },
- { 0x2311, 36399 },
- { 0x2312, 4379 },
- { 0x2313, 43024 },
- { 0x2314, 35851 },
- { 0x2315, 66045 },
- { 0x2316, 55332 },
- { 0x2317, 56102 },
- { 0x2318, 21735 },
- { 0x2319, 37671 },
- { 0x231A, 23154 },
- { 0x231B, 64291 },
- { 0x231C, 7741 },
- { 0x231D, 7754 },
- { 0x231E, 30262 },
- { 0x231F, 30275 },
- { 0x2320, 7731 },
- { 0x2321, 30252 },
- { 0x2322, 10635 },
- { 0x2323, 22670 },
- { 0x2324, 343 },
- { 0x2325, 35641 },
- { 0x2326, 10624 },
- { 0x2327, 7 },
- { 0x2328, 53725 },
- { 0x2329, 74605 },
- { 0x232A, 75087 },
- { 0x232B, 10620 },
- { 0x232C, 38093 },
- { 0x232D, 69402 },
- { 0x232E, 4014 },
- { 0x232F, 55656 },
- { 0x2330, 23053 },
- { 0x2331, 63245 },
- { 0x2332, 39788 },
- { 0x2333, 22479 },
- { 0x2334, 68618 },
- { 0x2335, 68619 },
- { 0x2336, 4325 },
- { 0x2337, 4329 },
- { 0x2338, 4159 },
- { 0x2339, 4174 },
- { 0x233A, 4179 },
- { 0x233B, 4132 },
- { 0x233C, 4169 },
- { 0x233D, 4305 },
- { 0x233E, 4295 },
- { 0x233F, 4276 },
- { 0x2340, 4349 },
- { 0x2341, 4164 },
- { 0x2342, 4195 },
- { 0x2343, 4212 },
- { 0x2344, 4223 },
- { 0x2345, 4359 },
- { 0x2346, 4369 },
- { 0x2347, 4206 },
- { 0x2348, 4217 },
- { 0x2349, 4315 },
- { 0x234A, 4090 },
- { 0x234B, 4247 },
- { 0x234C, 4143 },
- { 0x234D, 4154 },
- { 0x234E, 4084 },
- { 0x234F, 4344 },
- { 0x2350, 4184 },
- { 0x2351, 4031 },
- { 0x2352, 4049 },
- { 0x2353, 4121 },
- { 0x2354, 4127 },
- { 0x2355, 4025 },
- { 0x2356, 4354 },
- { 0x2357, 4200 },
- { 0x2358, 4271 },
- { 0x2359, 4252 },
- { 0x235A, 4334 },
- { 0x235B, 4064 },
- { 0x235C, 4310 },
- { 0x235D, 4019 },
- { 0x235E, 4266 },
- { 0x235F, 4300 },
- { 0x2360, 4149 },
- { 0x2361, 4037 },
- { 0x2362, 4059 },
- { 0x2363, 4228 },
- { 0x2364, 4069 },
- { 0x2365, 4320 },
- { 0x2366, 4078 },
- { 0x2367, 4111 },
- { 0x2368, 4286 },
- { 0x2369, 4374 },
- { 0x236A, 4242 },
- { 0x236B, 4054 },
- { 0x236C, 4291 },
- { 0x236D, 4281 },
- { 0x236E, 4364 },
- { 0x236F, 4137 },
- { 0x2370, 4190 },
- { 0x2371, 4096 },
- { 0x2372, 4043 },
- { 0x2373, 4102 },
- { 0x2374, 4074 },
- { 0x2375, 4257 },
- { 0x2376, 4237 },
- { 0x2377, 4339 },
- { 0x2378, 4106 },
- { 0x2379, 4261 },
- { 0x237A, 4233 },
- { 0x237B, 6727 },
- { 0x237C, 21777 },
- { 0x237D, 68594 },
- { 0x237E, 8721 },
- { 0x237F, 56078 },
- { 0x2380, 64306 },
- { 0x2381, 66843 },
- { 0x2382, 74526 },
- { 0x2383, 50320 },
- { 0x2384, 68613 },
- { 0x2385, 23322 },
- { 0x2386, 10594 },
- { 0x2387, 68603 },
- { 0x2388, 9125 },
- { 0x2389, 39769 },
- { 0x238A, 39614 },
- { 0x238B, 30307 },
- { 0x238C, 10055 },
- { 0x238D, 67877 },
- { 0x238E, 67663 },
- { 0x238F, 75142 },
- { 0x2390, 75145 },
- { 0x2391, 75150 },
- { 0x2392, 75148 },
- { 0x2393, 31220 },
- { 0x2394, 75137 },
- { 0x2395, 4117 },
- { 0x2396, 39959 },
- { 0x2397, 55382 },
- { 0x2398, 9604 },
- { 0x2399, 21743 },
- { 0x239A, 10449 },
- { 0x239B, 9470 },
- { 0x239C, 9474 },
- { 0x239D, 9466 },
- { 0x239E, 21997 },
- { 0x239F, 22001 },
- { 0x23A0, 21993 },
- { 0x23A1, 9419 },
- { 0x23A2, 9424 },
- { 0x23A3, 9414 },
- { 0x23A4, 21946 },
- { 0x23A5, 21951 },
- { 0x23A6, 21941 },
- { 0x23A7, 9239 },
- { 0x23A8, 9244 },
- { 0x23A9, 9234 },
- { 0x23AA, 10468 },
- { 0x23AB, 21832 },
- { 0x23AC, 21837 },
- { 0x23AD, 21827 },
- { 0x23AE, 53342 },
- { 0x23AF, 67638 },
- { 0x23B0, 23099 },
- { 0x23B1, 23123 },
- { 0x23B2, 65859 },
- { 0x23B3, 65864 },
- { 0x23B4, 7757 },
- { 0x23B5, 30278 },
- { 0x23B6, 30281 },
- { 0x23B7, 42979 },
- { 0x23B8, 9457 },
- { 0x23B9, 21984 },
- { 0x23BA, 67646 },
- { 0x23BB, 67649 },
- { 0x23BC, 67652 },
- { 0x23BD, 67655 },
- { 0x23BE, 63205 },
- { 0x23BF, 63225 },
- { 0x23C0, 63232 },
- { 0x23C1, 63182 },
- { 0x23C2, 63152 },
- { 0x23C3, 63238 },
- { 0x23C4, 63190 },
- { 0x23C5, 63160 },
- { 0x23C6, 63212 },
- { 0x23C7, 63174 },
- { 0x23C8, 63144 },
- { 0x23C9, 63168 },
- { 0x23CA, 63138 },
- { 0x23CB, 63198 },
- { 0x23CC, 63218 },
- { 0x23CD, 36165 },
- { 0x23CE, 35797 },
- { 0x23CF, 10568 },
- { 0x23D0, 56083 },
- { 0x23D1, 53857 },
- { 0x23D2, 53853 },
- { 0x23D3, 53859 },
- { 0x23D4, 53848 },
- { 0x23D5, 53839 },
- { 0x23D6, 53844 },
- { 0x23D7, 53863 },
- { 0x23D8, 53867 },
- { 0x23D9, 53865 },
- { 0x23DA, 10541 },
- { 0x23DB, 9119 },
- { 0x23DC, 7764 },
- { 0x23DD, 30292 },
- { 0x23DE, 7744 },
- { 0x23DF, 30265 },
- { 0x23E0, 7760 },
- { 0x23E1, 30288 },
- { 0x23E2, 23412 },
- { 0x23E3, 38095 },
- { 0x23E4, 74477 },
- { 0x23E5, 51778 },
- { 0x23E6, 67 },
- { 0x23E7, 67224 },
- { 0x2400, 36757 },
- { 0x2401, 36784 },
- { 0x2402, 36779 },
- { 0x2403, 36716 },
- { 0x2404, 36726 },
- { 0x2405, 36827 },
- { 0x2406, 36864 },
- { 0x2407, 36737 },
- { 0x2408, 36845 },
- { 0x2409, 36852 },
- { 0x240A, 36753 },
- { 0x240B, 36841 },
- { 0x240C, 36749 },
- { 0x240D, 36833 },
- { 0x240E, 36772 },
- { 0x240F, 36768 },
- { 0x2410, 36740 },
- { 0x2411, 36800 },
- { 0x2412, 36805 },
- { 0x2413, 36815 },
- { 0x2414, 36810 },
- { 0x2415, 36837 },
- { 0x2416, 36867 },
- { 0x2417, 36731 },
- { 0x2418, 36789 },
- { 0x2419, 36721 },
- { 0x241A, 36856 },
- { 0x241B, 36820 },
- { 0x241C, 36745 },
- { 0x241D, 36764 },
- { 0x241E, 36823 },
- { 0x241F, 36760 },
- { 0x2420, 36776 },
- { 0x2421, 36792 },
- { 0x2422, 10376 },
- { 0x2423, 9606 },
- { 0x2424, 36830 },
- { 0x2425, 36795 },
- { 0x2426, 36859 },
- { 0x2440, 6791 },
- { 0x2441, 6793 },
- { 0x2442, 6789 },
- { 0x2443, 6810 },
- { 0x2444, 6784 },
- { 0x2445, 6781 },
- { 0x2446, 6799 },
- { 0x2447, 6795 },
- { 0x2448, 6787 },
- { 0x2449, 6806 },
- { 0x244A, 6803 },
- { 0x2460, 38887 },
- { 0x2461, 38893 },
- { 0x2462, 38914 },
- { 0x2463, 38899 },
- { 0x2464, 38896 },
- { 0x2465, 38890 },
- { 0x2466, 38911 },
- { 0x2467, 38908 },
- { 0x2468, 38902 },
- { 0x2469, 39306 },
- { 0x246A, 39351 },
- { 0x246B, 39393 },
- { 0x246C, 39450 },
- { 0x246D, 39444 },
- { 0x246E, 39435 },
- { 0x246F, 39438 },
- { 0x2470, 39453 },
- { 0x2471, 39441 },
- { 0x2472, 39447 },
- { 0x2473, 39396 },
- { 0x2474, 74628 },
- { 0x2475, 74634 },
- { 0x2476, 74652 },
- { 0x2477, 74640 },
- { 0x2478, 74637 },
- { 0x2479, 74631 },
- { 0x247A, 74649 },
- { 0x247B, 74646 },
- { 0x247C, 74643 },
- { 0x247D, 74896 },
- { 0x247E, 74899 },
- { 0x247F, 74902 },
- { 0x2480, 74923 },
- { 0x2481, 74917 },
- { 0x2482, 74908 },
- { 0x2483, 74911 },
- { 0x2484, 74926 },
- { 0x2485, 74914 },
- { 0x2486, 74920 },
- { 0x2487, 74905 },
- { 0x2488, 10484 },
- { 0x2489, 10496 },
- { 0x248A, 10534 },
- { 0x248B, 10508 },
- { 0x248C, 10502 },
- { 0x248D, 10490 },
- { 0x248E, 10528 },
- { 0x248F, 10522 },
- { 0x2490, 10514 },
- { 0x2491, 35589 },
- { 0x2492, 35595 },
- { 0x2493, 35599 },
- { 0x2494, 35627 },
- { 0x2495, 35619 },
- { 0x2496, 35607 },
- { 0x2497, 35611 },
- { 0x2498, 35631 },
- { 0x2499, 35615 },
- { 0x249A, 35623 },
- { 0x249B, 35603 },
- { 0x249C, 74655 },
- { 0x249D, 74660 },
- { 0x249E, 74665 },
- { 0x249F, 74670 },
- { 0x24A0, 74675 },
- { 0x24A1, 74680 },
- { 0x24A2, 74685 },
- { 0x24A3, 74690 },
- { 0x24A4, 74695 },
- { 0x24A5, 74700 },
- { 0x24A6, 74705 },
- { 0x24A7, 74710 },
- { 0x24A8, 74715 },
- { 0x24A9, 74720 },
- { 0x24AA, 74725 },
- { 0x24AB, 74730 },
- { 0x24AC, 74735 },
- { 0x24AD, 74740 },
- { 0x24AE, 74745 },
- { 0x24AF, 74750 },
- { 0x24B0, 74755 },
- { 0x24B1, 74760 },
- { 0x24B2, 74765 },
- { 0x24B3, 74770 },
- { 0x24B4, 74775 },
- { 0x24B5, 74780 },
- { 0x24B6, 39052 },
- { 0x24B7, 39057 },
- { 0x24B8, 39062 },
- { 0x24B9, 39067 },
- { 0x24BA, 39072 },
- { 0x24BB, 39077 },
- { 0x24BC, 39082 },
- { 0x24BD, 39087 },
- { 0x24BE, 39092 },
- { 0x24BF, 39097 },
- { 0x24C0, 39102 },
- { 0x24C1, 39107 },
- { 0x24C2, 39112 },
- { 0x24C3, 39117 },
- { 0x24C4, 39122 },
- { 0x24C5, 39127 },
- { 0x24C6, 39132 },
- { 0x24C7, 39137 },
- { 0x24C8, 39142 },
- { 0x24C9, 39147 },
- { 0x24CA, 39152 },
- { 0x24CB, 39157 },
- { 0x24CC, 39162 },
- { 0x24CD, 39167 },
- { 0x24CE, 39172 },
- { 0x24CF, 39177 },
- { 0x24D0, 38922 },
- { 0x24D1, 38927 },
- { 0x24D2, 38932 },
- { 0x24D3, 38937 },
- { 0x24D4, 38942 },
- { 0x24D5, 38947 },
- { 0x24D6, 38952 },
- { 0x24D7, 38957 },
- { 0x24D8, 38962 },
- { 0x24D9, 38967 },
- { 0x24DA, 38972 },
- { 0x24DB, 38977 },
- { 0x24DC, 38982 },
- { 0x24DD, 38987 },
- { 0x24DE, 38992 },
- { 0x24DF, 38997 },
- { 0x24E0, 39002 },
- { 0x24E1, 39007 },
- { 0x24E2, 39012 },
- { 0x24E3, 39017 },
- { 0x24E4, 39022 },
- { 0x24E5, 39027 },
- { 0x24E6, 39032 },
- { 0x24E7, 39037 },
- { 0x24E8, 39042 },
- { 0x24E9, 39047 },
- { 0x24EA, 38905 },
- { 0x24EB, 54887 },
- { 0x24EC, 54891 },
- { 0x24ED, 54919 },
- { 0x24EE, 54911 },
- { 0x24EF, 54899 },
- { 0x24F0, 54903 },
- { 0x24F1, 54923 },
- { 0x24F2, 54907 },
- { 0x24F3, 54915 },
- { 0x24F4, 54895 },
- { 0x24F5, 31612 },
- { 0x24F6, 31620 },
- { 0x24F7, 31644 },
- { 0x24F8, 31628 },
- { 0x24F9, 31624 },
- { 0x24FA, 31616 },
- { 0x24FB, 31640 },
- { 0x24FC, 31636 },
- { 0x24FD, 31632 },
- { 0x24FE, 31648 },
- { 0x24FF, 54883 },
- { 0x2500, 5020 },
- { 0x2501, 4841 },
- { 0x2502, 4986 },
- { 0x2503, 4807 },
- { 0x2504, 4957 },
- { 0x2505, 4801 },
- { 0x2506, 4951 },
- { 0x2507, 4795 },
- { 0x2508, 5014 },
- { 0x2509, 4835 },
- { 0x250A, 5008 },
- { 0x250B, 4829 },
- { 0x250C, 4912 },
- { 0x250D, 4595 },
- { 0x250E, 4550 },
- { 0x250F, 4756 },
- { 0x2510, 4906 },
- { 0x2511, 4580 },
- { 0x2512, 4535 },
- { 0x2513, 4750 },
- { 0x2514, 4862 },
- { 0x2515, 4463 },
- { 0x2516, 4418 },
- { 0x2517, 4734 },
- { 0x2518, 4849 },
- { 0x2519, 4448 },
- { 0x251A, 4403 },
- { 0x251B, 4721 },
- { 0x251C, 4996 },
- { 0x251D, 5180 },
- { 0x251E, 4410 },
- { 0x251F, 4542 },
- { 0x2520, 5159 },
- { 0x2521, 4587 },
- { 0x2522, 4455 },
- { 0x2523, 4817 },
- { 0x2524, 4990 },
- { 0x2525, 5173 },
- { 0x2526, 4395 },
- { 0x2527, 4527 },
- { 0x2528, 5152 },
- { 0x2529, 4572 },
- { 0x252A, 4440 },
- { 0x252B, 4811 },
- { 0x252C, 4918 },
- { 0x252D, 4677 },
- { 0x252E, 5050 },
- { 0x252F, 4602 },
- { 0x2530, 4557 },
- { 0x2531, 5074 },
- { 0x2532, 4701 },
- { 0x2533, 4762 },
- { 0x2534, 4868 },
- { 0x2535, 4669 },
- { 0x2536, 5042 },
- { 0x2537, 4470 },
- { 0x2538, 4425 },
- { 0x2539, 5066 },
- { 0x253A, 4693 },
- { 0x253B, 4740 },
- { 0x253C, 5002 },
- { 0x253D, 4685 },
- { 0x253E, 5058 },
- { 0x253F, 5187 },
- { 0x2540, 4387 },
- { 0x2541, 4519 },
- { 0x2542, 5166 },
- { 0x2543, 4651 },
- { 0x2544, 5024 },
- { 0x2545, 4660 },
- { 0x2546, 5033 },
- { 0x2547, 4564 },
- { 0x2548, 4432 },
- { 0x2549, 5082 },
- { 0x254A, 4709 },
- { 0x254B, 4823 },
- { 0x254C, 4945 },
- { 0x254D, 4789 },
- { 0x254E, 4939 },
- { 0x254F, 4783 },
- { 0x2550, 5148 },
- { 0x2551, 5126 },
- { 0x2552, 4637 },
- { 0x2553, 4616 },
- { 0x2554, 5114 },
- { 0x2555, 4630 },
- { 0x2556, 4609 },
- { 0x2557, 5108 },
- { 0x2558, 4505 },
- { 0x2559, 4484 },
- { 0x255A, 5096 },
- { 0x255B, 4498 },
- { 0x255C, 4477 },
- { 0x255D, 5090 },
- { 0x255E, 5222 },
- { 0x255F, 5201 },
- { 0x2560, 5136 },
- { 0x2561, 5215 },
- { 0x2562, 5194 },
- { 0x2563, 5130 },
- { 0x2564, 4644 },
- { 0x2565, 4623 },
- { 0x2566, 5120 },
- { 0x2567, 4512 },
- { 0x2568, 4491 },
- { 0x2569, 5102 },
- { 0x256A, 5229 },
- { 0x256B, 5208 },
- { 0x256C, 5142 },
- { 0x256D, 4895 },
- { 0x256E, 4888 },
- { 0x256F, 4874 },
- { 0x2570, 4881 },
- { 0x2571, 4977 },
- { 0x2572, 4968 },
- { 0x2573, 4963 },
- { 0x2574, 4924 },
- { 0x2575, 4845 },
- { 0x2576, 4935 },
- { 0x2577, 4902 },
- { 0x2578, 4768 },
- { 0x2579, 4717 },
- { 0x257A, 4779 },
- { 0x257B, 4746 },
- { 0x257C, 4928 },
- { 0x257D, 4855 },
- { 0x257E, 4772 },
- { 0x257F, 4727 },
- { 0x2580, 23088 },
- { 0x2581, 21094 },
- { 0x2582, 21098 },
- { 0x2583, 21168 },
- { 0x2584, 21106 },
- { 0x2585, 21102 },
- { 0x2586, 21172 },
- { 0x2587, 21164 },
- { 0x2588, 9114 },
- { 0x2589, 9314 },
- { 0x258A, 9322 },
- { 0x258B, 9191 },
- { 0x258C, 9199 },
- { 0x258D, 9318 },
- { 0x258E, 9156 },
- { 0x258F, 9152 },
- { 0x2590, 21766 },
- { 0x2591, 20870 },
- { 0x2592, 35535 },
- { 0x2593, 9015 },
- { 0x2594, 23084 },
- { 0x2595, 21755 },
- { 0x2596, 55386 },
- { 0x2597, 55389 },
- { 0x2598, 55392 },
- { 0x2599, 55395 },
- { 0x259A, 55404 },
- { 0x259B, 55410 },
- { 0x259C, 55419 },
- { 0x259D, 55428 },
- { 0x259E, 55431 },
- { 0x259F, 55437 },
- { 0x25A0, 10270 },
- { 0x25A1, 23296 },
- { 0x25A2, 23328 },
- { 0x25A3, 23349 },
- { 0x25A4, 36279 },
- { 0x25A5, 36271 },
- { 0x25A6, 36283 },
- { 0x25A7, 36231 },
- { 0x25A8, 36246 },
- { 0x25A9, 36266 },
- { 0x25AA, 10212 },
- { 0x25AB, 23225 },
- { 0x25AC, 10317 },
- { 0x25AD, 23408 },
- { 0x25AE, 10309 },
- { 0x25AF, 23403 },
- { 0x25B0, 10361 },
- { 0x25B1, 23461 },
- { 0x25B2, 10341 },
- { 0x25B3, 23421 },
- { 0x25B4, 10337 },
- { 0x25B5, 23417 },
- { 0x25B6, 10373 },
- { 0x25B7, 23473 },
- { 0x25B8, 10363 },
- { 0x25B9, 23463 },
- { 0x25BA, 10367 },
- { 0x25BB, 23467 },
- { 0x25BC, 10348 },
- { 0x25BD, 23448 },
- { 0x25BE, 10344 },
- { 0x25BF, 23444 },
- { 0x25C0, 10358 },
- { 0x25C1, 23458 },
- { 0x25C2, 10351 },
- { 0x25C3, 23451 },
- { 0x25C4, 10355 },
- { 0x25C5, 23455 },
- { 0x25C6, 10272 },
- { 0x25C7, 23355 },
- { 0x25C8, 23365 },
- { 0x25C9, 40556 },
- { 0x25CA, 40990 },
- { 0x25CB, 23236 },
- { 0x25CC, 31533 },
- { 0x25CD, 30518 },
- { 0x25CE, 45864 },
- { 0x25CF, 10238 },
- { 0x25D0, 30485 },
- { 0x25D1, 30495 },
- { 0x25D2, 30490 },
- { 0x25D3, 30507 },
- { 0x25D4, 30512 },
- { 0x25D5, 30469 },
- { 0x25D6, 9195 },
- { 0x25D7, 21762 },
- { 0x25D8, 40639 },
- { 0x25D9, 40636 },
- { 0x25DA, 23094 },
- { 0x25DB, 21112 },
- { 0x25DC, 23112 },
- { 0x25DD, 23134 },
- { 0x25DE, 21141 },
- { 0x25DF, 21117 },
- { 0x25E0, 23091 },
- { 0x25E1, 21109 },
- { 0x25E2, 10198 },
- { 0x25E3, 10194 },
- { 0x25E4, 10224 },
- { 0x25E5, 10228 },
- { 0x25E6, 23234 },
- { 0x25E7, 36207 },
- { 0x25E8, 36226 },
- { 0x25E9, 36239 },
- { 0x25EA, 36219 },
- { 0x25EB, 23333 },
- { 0x25EC, 23424 },
- { 0x25ED, 69326 },
- { 0x25EE, 69332 },
- { 0x25EF, 14464 },
- { 0x25F0, 23310 },
- { 0x25F1, 23298 },
- { 0x25F2, 23304 },
- { 0x25F3, 23316 },
- { 0x25F4, 23265 },
- { 0x25F5, 23253 },
- { 0x25F6, 23259 },
- { 0x25F7, 23271 },
- { 0x25F8, 23117 },
- { 0x25F9, 23144 },
- { 0x25FA, 21122 },
- { 0x25FB, 23284 },
- { 0x25FC, 10261 },
- { 0x25FD, 23280 },
- { 0x25FE, 10257 },
- { 0x25FF, 21151 },
- { 0x2600, 10141 },
- { 0x2601, 10454 },
- { 0x2602, 56004 },
- { 0x2603, 43547 },
- { 0x2604, 10460 },
- { 0x2605, 10161 },
- { 0x2606, 23185 },
- { 0x2607, 64791 },
- { 0x2608, 74480 },
- { 0x2609, 7188 },
- { 0x260A, 56109 },
- { 0x260B, 66846 },
- { 0x260C, 68615 },
- { 0x260D, 67880 },
- { 0x260E, 10319 },
- { 0x260F, 23410 },
- { 0x2610, 30232 },
- { 0x2611, 30238 },
- { 0x2612, 30234 },
- { 0x2613, 43020 },
- { 0x2614, 56005 },
- { 0x2615, 5795 },
- { 0x2616, 23219 },
- { 0x2617, 10206 },
- { 0x2618, 55522 },
- { 0x2619, 55497 },
- { 0x261A, 10154 },
- { 0x261B, 10202 },
- { 0x261C, 23181 },
- { 0x261D, 23158 },
- { 0x261E, 23215 },
- { 0x261F, 23171 },
- { 0x2620, 22476 },
- { 0x2621, 38868 },
- { 0x2622, 69274 },
- { 0x2623, 56112 },
- { 0x2624, 45865 },
- { 0x2625, 8718 },
- { 0x2626, 54931 },
- { 0x2627, 5236 },
- { 0x2628, 10462 },
- { 0x2629, 10465 },
- { 0x262A, 9715 },
- { 0x262B, 10630 },
- { 0x262C, 4009 },
- { 0x262D, 31881 },
- { 0x262E, 21733 },
- { 0x262F, 8714 },
- { 0x2630, 44529 },
- { 0x2631, 44517 },
- { 0x2632, 44514 },
- { 0x2633, 44532 },
- { 0x2634, 44520 },
- { 0x2635, 44526 },
- { 0x2636, 44535 },
- { 0x2637, 44523 },
- { 0x2638, 23155 },
- { 0x2639, 23384 },
- { 0x263A, 23373 },
- { 0x263B, 10291 },
- { 0x263C, 23164 },
- { 0x263D, 10632 },
- { 0x263E, 9132 },
- { 0x263F, 41191 },
- { 0x2640, 31767 },
- { 0x2641, 10540 },
- { 0x2642, 9580 },
- { 0x2643, 40641 },
- { 0x2644, 35810 },
- { 0x2645, 37705 },
- { 0x2646, 42827 },
- { 0x2647, 21739 },
- { 0x2648, 10114 },
- { 0x2649, 37129 },
- { 0x264A, 31790 },
- { 0x264B, 30317 },
- { 0x264C, 6030 },
- { 0x264D, 23153 },
- { 0x264E, 20857 },
- { 0x264F, 55511 },
- { 0x2650, 69278 },
- { 0x2651, 57359 },
- { 0x2652, 44719 },
- { 0x2653, 35653 },
- { 0x2654, 23191 },
- { 0x2655, 23200 },
- { 0x2656, 23197 },
- { 0x2657, 23203 },
- { 0x2658, 23206 },
- { 0x2659, 23194 },
- { 0x265A, 10167 },
- { 0x265B, 10176 },
- { 0x265C, 10173 },
- { 0x265D, 10179 },
- { 0x265E, 10182 },
- { 0x265F, 10170 },
- { 0x2660, 10221 },
- { 0x2661, 23209 },
- { 0x2662, 23357 },
- { 0x2663, 10145 },
- { 0x2664, 23231 },
- { 0x2665, 10185 },
- { 0x2666, 10274 },
- { 0x2667, 23168 },
- { 0x2668, 5793 },
- { 0x2669, 42977 },
- { 0x266A, 31704 },
- { 0x266B, 30242 },
- { 0x266C, 30245 },
- { 0x266D, 21206 },
- { 0x266E, 21212 },
- { 0x266F, 21209 },
- { 0x2670, 10084 },
- { 0x2671, 9086 },
- { 0x2672, 66308 },
- { 0x2673, 65768 },
- { 0x2674, 65773 },
- { 0x2675, 65778 },
- { 0x2676, 65783 },
- { 0x2677, 65788 },
- { 0x2678, 65793 },
- { 0x2679, 65798 },
- { 0x267A, 65803 },
- { 0x267B, 10321 },
- { 0x267C, 55452 },
- { 0x267D, 75139 },
- { 0x267E, 65753 },
- { 0x267F, 68601 },
- { 0x2680, 5768 },
- { 0x2681, 5770 },
- { 0x2682, 5772 },
- { 0x2683, 5774 },
- { 0x2684, 5776 },
- { 0x2685, 5778 },
- { 0x2686, 23238 },
- { 0x2687, 23243 },
- { 0x2688, 10251 },
- { 0x2689, 10240 },
- { 0x268A, 54868 },
- { 0x268B, 54865 },
- { 0x268C, 31212 },
- { 0x268D, 31192 },
- { 0x268E, 31196 },
- { 0x268F, 31208 },
- { 0x2690, 23175 },
- { 0x2691, 10148 },
- { 0x2692, 31878 },
- { 0x2693, 23701 },
- { 0x2694, 39792 },
- { 0x2695, 22748 },
- { 0x2696, 35811 },
- { 0x2697, 37778 },
- { 0x2698, 31778 },
- { 0x2699, 9120 },
- { 0x269A, 22745 },
- { 0x269B, 8719 },
- { 0x269C, 69423 },
- { 0x269D, 54942 },
- { 0x26A0, 44705 },
- { 0x26A1, 9127 },
- { 0x26A2, 40495 },
- { 0x26A3, 40492 },
- { 0x26A4, 69258 },
- { 0x26A5, 9576 },
- { 0x26A6, 9590 },
- { 0x26A7, 9582 },
- { 0x26A8, 56086 },
- { 0x26A9, 67641 },
- { 0x26AA, 35541 },
- { 0x26AB, 35523 },
- { 0x26AC, 35537 },
- { 0x26AD, 53728 },
- { 0x26AE, 40490 },
- { 0x26AF, 66311 },
- { 0x26B0, 30571 },
- { 0x26B1, 40558 },
- { 0x26B2, 35579 },
- { 0x26B3, 10446 },
- { 0x26B4, 35649 },
- { 0x26B5, 9131 },
- { 0x26B6, 23152 },
- { 0x26B7, 30468 },
- { 0x26B8, 10158 },
- { 0x26B9, 43027 },
- { 0x26BA, 69279 },
- { 0x26BB, 55451 },
- { 0x26BC, 75099 },
- { 0x26C0, 23376 },
- { 0x26C1, 23379 },
- { 0x26C2, 10294 },
- { 0x26C3, 10297 },
- { 0x2701, 23120 },
- { 0x2702, 10304 },
- { 0x2703, 21130 },
- { 0x2704, 23389 },
- { 0x2706, 66042 },
- { 0x2707, 9722 },
- { 0x2708, 44716 },
- { 0x2709, 50322 },
- { 0x270C, 44703 },
- { 0x270D, 44707 },
- { 0x270E, 21138 },
- { 0x270F, 35650 },
- { 0x2710, 23131 },
- { 0x2711, 23162 },
- { 0x2712, 10139 },
- { 0x2713, 10447 },
- { 0x2714, 13551 },
- { 0x2715, 75053 },
- { 0x2716, 13671 },
- { 0x2717, 30230 },
- { 0x2718, 13593 },
- { 0x2719, 54936 },
- { 0x271A, 13565 },
- { 0x271B, 9612 },
- { 0x271C, 13530 },
- { 0x271D, 14471 },
- { 0x271E, 55515 },
- { 0x271F, 54939 },
- { 0x2720, 41189 },
- { 0x2721, 9712 },
- { 0x2722, 9109 },
- { 0x2723, 9106 },
- { 0x2724, 13526 },
- { 0x2725, 9103 },
- { 0x2726, 10150 },
- { 0x2727, 23177 },
- { 0x2729, 36465 },
- { 0x272A, 39186 },
- { 0x272B, 9608 },
- { 0x272C, 10234 },
- { 0x272D, 54933 },
- { 0x272E, 13634 },
- { 0x272F, 55330 },
- { 0x2730, 55512 },
- { 0x2731, 13632 },
- { 0x2732, 9615 },
- { 0x2733, 10543 },
- { 0x2734, 10546 },
- { 0x2735, 10550 },
- { 0x2736, 7178 },
- { 0x2737, 10554 },
- { 0x2738, 13554 },
- { 0x2739, 37701 },
- { 0x273A, 43505 },
- { 0x273B, 75114 },
- { 0x273C, 9618 },
- { 0x273D, 13704 },
- { 0x273E, 7182 },
- { 0x273F, 10300 },
- { 0x2740, 23382 },
- { 0x2741, 10559 },
- { 0x2742, 38876 },
- { 0x2743, 13707 },
- { 0x2744, 65814 },
- { 0x2745, 23005 },
- { 0x2746, 13627 },
- { 0x2747, 43552 },
- { 0x2748, 13630 },
- { 0x2749, 75051 },
- { 0x274A, 10564 },
- { 0x274B, 13560 },
- { 0x274D, 55519 },
- { 0x274F, 21159 },
- { 0x2750, 23147 },
- { 0x2751, 21146 },
- { 0x2752, 23139 },
- { 0x2756, 10282 },
- { 0x2758, 20872 },
- { 0x2759, 35544 },
- { 0x275A, 13638 },
- { 0x275B, 13620 },
- { 0x275C, 13614 },
- { 0x275D, 13607 },
- { 0x275E, 13601 },
- { 0x2761, 31164 },
- { 0x2762, 13644 },
- { 0x2763, 13568 },
- { 0x2764, 13534 },
- { 0x2765, 43008 },
- { 0x2766, 31776 },
- { 0x2767, 43013 },
- { 0x2768, 35519 },
- { 0x2769, 35531 },
- { 0x276A, 35547 },
- { 0x276B, 35552 },
- { 0x276C, 35560 },
- { 0x276D, 35565 },
- { 0x276E, 13665 },
- { 0x276F, 13679 },
- { 0x2770, 13660 },
- { 0x2771, 13674 },
- { 0x2772, 20858 },
- { 0x2773, 20864 },
- { 0x2774, 35514 },
- { 0x2775, 35526 },
- { 0x2776, 40379 },
- { 0x2777, 40389 },
- { 0x2778, 40419 },
- { 0x2779, 40399 },
- { 0x277A, 40394 },
- { 0x277B, 40384 },
- { 0x277C, 40414 },
- { 0x277D, 40409 },
- { 0x277E, 40404 },
- { 0x277F, 40424 },
- { 0x2780, 40329 },
- { 0x2781, 40339 },
- { 0x2782, 40369 },
- { 0x2783, 40349 },
- { 0x2784, 40344 },
- { 0x2785, 40334 },
- { 0x2786, 40364 },
- { 0x2787, 40359 },
- { 0x2788, 40354 },
- { 0x2789, 40374 },
- { 0x278A, 40429 },
- { 0x278B, 40441 },
- { 0x278C, 40477 },
- { 0x278D, 40453 },
- { 0x278E, 40447 },
- { 0x278F, 40435 },
- { 0x2790, 40471 },
- { 0x2791, 40465 },
- { 0x2792, 40459 },
- { 0x2793, 40483 },
- { 0x2794, 13648 },
- { 0x2798, 13583 },
- { 0x2799, 13641 },
- { 0x279A, 13579 },
- { 0x279B, 50314 },
- { 0x279C, 13652 },
- { 0x279D, 75116 },
- { 0x279E, 13711 },
- { 0x279F, 31175 },
- { 0x27A0, 13596 },
- { 0x27A1, 10328 },
- { 0x27A2, 43645 },
- { 0x27A3, 43649 },
- { 0x27A4, 10334 },
- { 0x27A5, 13544 },
- { 0x27A6, 13537 },
- { 0x27A7, 22741 },
- { 0x27A8, 13699 },
- { 0x27A9, 74472 },
- { 0x27AA, 69264 },
- { 0x27AB, 68606 },
- { 0x27AC, 69424 },
- { 0x27AD, 13573 },
- { 0x27AE, 13587 },
- { 0x27AF, 42831 },
- { 0x27B1, 42837 },
- { 0x27B2, 38917 },
- { 0x27B3, 75119 },
- { 0x27B4, 75104 },
- { 0x27B5, 75108 },
- { 0x27B6, 75100 },
- { 0x27B7, 13690 },
- { 0x27B8, 13695 },
- { 0x27B9, 13685 },
- { 0x27BA, 75111 },
- { 0x27BB, 13715 },
- { 0x27BC, 74481 },
- { 0x27BD, 13656 },
- { 0x27BE, 74625 },
- { 0x27C0, 23002 },
- { 0x27C1, 23391 },
- { 0x27C2, 75037 },
- { 0x27C3, 9622 },
- { 0x27C4, 9624 },
- { 0x27C5, 9435 },
- { 0x27C6, 21960 },
- { 0x27C7, 271 },
- { 0x27C8, 43004 },
- { 0x27C9, 55653 },
- { 0x27CA, 56011 },
- { 0x27CC, 9530 },
- { 0x27D0, 23360 },
- { 0x27D1, 4016 },
- { 0x27D2, 40537 },
- { 0x27D3, 21133 },
- { 0x27D4, 23107 },
- { 0x27D5, 9251 },
- { 0x27D6, 21844 },
- { 0x27D7, 9116 },
- { 0x27D8, 14454 },
- { 0x27D9, 14457 },
- { 0x27DA, 9139 },
- { 0x27DB, 9135 },
- { 0x27DC, 9433 },
- { 0x27DD, 9527 },
- { 0x27DE, 9515 },
- { 0x27DF, 328 },
- { 0x27E0, 40991 },
- { 0x27E1, 23429 },
- { 0x27E2, 23432 },
- { 0x27E3, 23438 },
- { 0x27E4, 23339 },
- { 0x27E5, 23344 },
- { 0x27E6, 71159 },
- { 0x27E7, 71183 },
- { 0x27E8, 71155 },
- { 0x27E9, 71179 },
- { 0x27EA, 71170 },
- { 0x27EB, 71194 },
- { 0x27EC, 71164 },
- { 0x27ED, 71188 },
- { 0x27EE, 71175 },
- { 0x27EF, 71199 },
- { 0x27F0, 44694 },
- { 0x27F1, 63375 },
- { 0x27F2, 74496 },
- { 0x27F3, 57374 },
- { 0x27F4, 21810 },
- { 0x27F5, 9532 },
- { 0x27F6, 9554 },
- { 0x27F7, 9518 },
- { 0x27F8, 9540 },
- { 0x27F9, 9562 },
- { 0x27FA, 9522 },
- { 0x27FB, 9535 },
- { 0x27FC, 9557 },
- { 0x27FD, 9544 },
- { 0x27FE, 9566 },
- { 0x27FF, 9572 },
- { 0x2800, 38100 },
- { 0x2801, 38103 },
- { 0x2802, 38106 },
- { 0x2803, 38127 },
- { 0x2804, 38109 },
- { 0x2805, 38130 },
- { 0x2806, 38148 },
- { 0x2807, 38211 },
- { 0x2808, 38112 },
- { 0x2809, 38133 },
- { 0x280A, 38151 },
- { 0x280B, 38214 },
- { 0x280C, 38166 },
- { 0x280D, 38229 },
- { 0x280E, 38274 },
- { 0x280F, 38379 },
- { 0x2810, 38115 },
- { 0x2811, 38136 },
- { 0x2812, 38154 },
- { 0x2813, 38217 },
- { 0x2814, 38169 },
- { 0x2815, 38232 },
- { 0x2816, 38277 },
- { 0x2817, 38382 },
- { 0x2818, 38181 },
- { 0x2819, 38244 },
- { 0x281A, 38289 },
- { 0x281B, 38394 },
- { 0x281C, 38319 },
- { 0x281D, 38424 },
- { 0x281E, 38484 },
- { 0x281F, 38589 },
- { 0x2820, 38118 },
- { 0x2821, 38139 },
- { 0x2822, 38157 },
- { 0x2823, 38220 },
- { 0x2824, 38172 },
- { 0x2825, 38235 },
- { 0x2826, 38280 },
- { 0x2827, 38385 },
- { 0x2828, 38184 },
- { 0x2829, 38247 },
- { 0x282A, 38292 },
- { 0x282B, 38397 },
- { 0x282C, 38322 },
- { 0x282D, 38427 },
- { 0x282E, 38487 },
- { 0x282F, 38592 },
- { 0x2830, 38193 },
- { 0x2831, 38256 },
- { 0x2832, 38301 },
- { 0x2833, 38406 },
- { 0x2834, 38331 },
- { 0x2835, 38436 },
- { 0x2836, 38496 },
- { 0x2837, 38601 },
- { 0x2838, 38349 },
- { 0x2839, 38454 },
- { 0x283A, 38514 },
- { 0x283B, 38619 },
- { 0x283C, 38544 },
- { 0x283D, 38649 },
- { 0x283E, 38694 },
- { 0x283F, 38757 },
- { 0x2840, 38121 },
- { 0x2841, 38142 },
- { 0x2842, 38160 },
- { 0x2843, 38223 },
- { 0x2844, 38175 },
- { 0x2845, 38238 },
- { 0x2846, 38283 },
- { 0x2847, 38388 },
- { 0x2848, 38187 },
- { 0x2849, 38250 },
- { 0x284A, 38295 },
- { 0x284B, 38400 },
- { 0x284C, 38325 },
- { 0x284D, 38430 },
- { 0x284E, 38490 },
- { 0x284F, 38595 },
- { 0x2850, 38196 },
- { 0x2851, 38259 },
- { 0x2852, 38304 },
- { 0x2853, 38409 },
- { 0x2854, 38334 },
- { 0x2855, 38439 },
- { 0x2856, 38499 },
- { 0x2857, 38604 },
- { 0x2858, 38352 },
- { 0x2859, 38457 },
- { 0x285A, 38517 },
- { 0x285B, 38622 },
- { 0x285C, 38547 },
- { 0x285D, 38652 },
- { 0x285E, 38697 },
- { 0x285F, 38760 },
- { 0x2860, 38202 },
- { 0x2861, 38265 },
- { 0x2862, 38310 },
- { 0x2863, 38415 },
- { 0x2864, 38340 },
- { 0x2865, 38445 },
- { 0x2866, 38505 },
- { 0x2867, 38610 },
- { 0x2868, 38358 },
- { 0x2869, 38463 },
- { 0x286A, 38523 },
- { 0x286B, 38628 },
- { 0x286C, 38553 },
- { 0x286D, 38658 },
- { 0x286E, 38703 },
- { 0x286F, 38766 },
- { 0x2870, 38367 },
- { 0x2871, 38472 },
- { 0x2872, 38532 },
- { 0x2873, 38637 },
- { 0x2874, 38562 },
- { 0x2875, 38667 },
- { 0x2876, 38712 },
- { 0x2877, 38775 },
- { 0x2878, 38574 },
- { 0x2879, 38679 },
- { 0x287A, 38724 },
- { 0x287B, 38787 },
- { 0x287C, 38739 },
- { 0x287D, 38802 },
- { 0x287E, 38820 },
- { 0x287F, 38841 },
- { 0x2880, 38124 },
- { 0x2881, 38145 },
- { 0x2882, 38163 },
- { 0x2883, 38226 },
- { 0x2884, 38178 },
- { 0x2885, 38241 },
- { 0x2886, 38286 },
- { 0x2887, 38391 },
- { 0x2888, 38190 },
- { 0x2889, 38253 },
- { 0x288A, 38298 },
- { 0x288B, 38403 },
- { 0x288C, 38328 },
- { 0x288D, 38433 },
- { 0x288E, 38493 },
- { 0x288F, 38598 },
- { 0x2890, 38199 },
- { 0x2891, 38262 },
- { 0x2892, 38307 },
- { 0x2893, 38412 },
- { 0x2894, 38337 },
- { 0x2895, 38442 },
- { 0x2896, 38502 },
- { 0x2897, 38607 },
- { 0x2898, 38355 },
- { 0x2899, 38460 },
- { 0x289A, 38520 },
- { 0x289B, 38625 },
- { 0x289C, 38550 },
- { 0x289D, 38655 },
- { 0x289E, 38700 },
- { 0x289F, 38763 },
- { 0x28A0, 38205 },
- { 0x28A1, 38268 },
- { 0x28A2, 38313 },
- { 0x28A3, 38418 },
- { 0x28A4, 38343 },
- { 0x28A5, 38448 },
- { 0x28A6, 38508 },
- { 0x28A7, 38613 },
- { 0x28A8, 38361 },
- { 0x28A9, 38466 },
- { 0x28AA, 38526 },
- { 0x28AB, 38631 },
- { 0x28AC, 38556 },
- { 0x28AD, 38661 },
- { 0x28AE, 38706 },
- { 0x28AF, 38769 },
- { 0x28B0, 38370 },
- { 0x28B1, 38475 },
- { 0x28B2, 38535 },
- { 0x28B3, 38640 },
- { 0x28B4, 38565 },
- { 0x28B5, 38670 },
- { 0x28B6, 38715 },
- { 0x28B7, 38778 },
- { 0x28B8, 38577 },
- { 0x28B9, 38682 },
- { 0x28BA, 38727 },
- { 0x28BB, 38790 },
- { 0x28BC, 38742 },
- { 0x28BD, 38805 },
- { 0x28BE, 38823 },
- { 0x28BF, 38844 },
- { 0x28C0, 38208 },
- { 0x28C1, 38271 },
- { 0x28C2, 38316 },
- { 0x28C3, 38421 },
- { 0x28C4, 38346 },
- { 0x28C5, 38451 },
- { 0x28C6, 38511 },
- { 0x28C7, 38616 },
- { 0x28C8, 38364 },
- { 0x28C9, 38469 },
- { 0x28CA, 38529 },
- { 0x28CB, 38634 },
- { 0x28CC, 38559 },
- { 0x28CD, 38664 },
- { 0x28CE, 38709 },
- { 0x28CF, 38772 },
- { 0x28D0, 38373 },
- { 0x28D1, 38478 },
- { 0x28D2, 38538 },
- { 0x28D3, 38643 },
- { 0x28D4, 38568 },
- { 0x28D5, 38673 },
- { 0x28D6, 38718 },
- { 0x28D7, 38781 },
- { 0x28D8, 38580 },
- { 0x28D9, 38685 },
- { 0x28DA, 38730 },
- { 0x28DB, 38793 },
- { 0x28DC, 38745 },
- { 0x28DD, 38808 },
- { 0x28DE, 38826 },
- { 0x28DF, 38847 },
- { 0x28E0, 38376 },
- { 0x28E1, 38481 },
- { 0x28E2, 38541 },
- { 0x28E3, 38646 },
- { 0x28E4, 38571 },
- { 0x28E5, 38676 },
- { 0x28E6, 38721 },
- { 0x28E7, 38784 },
- { 0x28E8, 38583 },
- { 0x28E9, 38688 },
- { 0x28EA, 38733 },
- { 0x28EB, 38796 },
- { 0x28EC, 38748 },
- { 0x28ED, 38811 },
- { 0x28EE, 38829 },
- { 0x28EF, 38850 },
- { 0x28F0, 38586 },
- { 0x28F1, 38691 },
- { 0x28F2, 38736 },
- { 0x28F3, 38799 },
- { 0x28F4, 38751 },
- { 0x28F5, 38814 },
- { 0x28F6, 38832 },
- { 0x28F7, 38853 },
- { 0x28F8, 38754 },
- { 0x28F9, 38817 },
- { 0x28FA, 38835 },
- { 0x28FB, 38856 },
- { 0x28FC, 38838 },
- { 0x28FD, 38859 },
- { 0x28FE, 38862 },
- { 0x28FF, 38865 },
- { 0x2900, 68309 },
- { 0x2901, 68302 },
- { 0x2902, 64491 },
- { 0x2903, 68156 },
- { 0x2904, 9303 },
- { 0x2905, 68275 },
- { 0x2906, 64481 },
- { 0x2907, 68146 },
- { 0x2908, 63281 },
- { 0x2909, 44567 },
- { 0x290A, 44631 },
- { 0x290B, 63309 },
- { 0x290C, 64474 },
- { 0x290D, 68139 },
- { 0x290E, 64503 },
- { 0x290F, 68168 },
- { 0x2910, 68315 },
- { 0x2911, 68066 },
- { 0x2912, 44544 },
- { 0x2913, 63253 },
- { 0x2914, 68054 },
- { 0x2915, 68046 },
- { 0x2916, 68280 },
- { 0x2917, 68294 },
- { 0x2918, 68285 },
- { 0x2919, 64608 },
- { 0x291A, 68273 },
- { 0x291B, 64497 },
- { 0x291C, 68162 },
- { 0x291D, 64340 },
- { 0x291E, 67998 },
- { 0x291F, 64349 },
- { 0x2920, 68007 },
- { 0x2921, 21318 },
- { 0x2922, 21271 },
- { 0x2923, 21345 },
- { 0x2924, 21287 },
- { 0x2925, 22689 },
- { 0x2926, 22723 },
- { 0x2927, 21338 },
- { 0x2928, 21280 },
- { 0x2929, 22682 },
- { 0x292A, 22716 },
- { 0x292B, 35805 },
- { 0x292C, 40551 },
- { 0x292D, 22694 },
- { 0x292E, 21299 },
- { 0x292F, 40545 },
- { 0x2930, 35799 },
- { 0x2931, 21292 },
- { 0x2932, 21350 },
- { 0x2933, 10070 },
- { 0x2934, 10127 },
- { 0x2935, 10133 },
- { 0x2936, 10115 },
- { 0x2937, 10121 },
- { 0x2938, 67981 },
- { 0x2939, 64314 },
- { 0x293A, 7721 },
- { 0x293B, 30248 },
- { 0x293C, 7715 },
- { 0x293D, 7725 },
- { 0x293E, 21154 },
- { 0x293F, 21125 },
- { 0x2940, 74492 },
- { 0x2941, 57370 },
- { 0x2942, 68086 },
- { 0x2943, 64423 },
- { 0x2944, 22470 },
- { 0x2945, 68037 },
- { 0x2946, 64379 },
- { 0x2947, 68116 },
- { 0x2948, 9279 },
- { 0x2949, 44697 },
- { 0x294A, 9167 },
- { 0x294B, 9174 },
- { 0x294C, 289 },
- { 0x294D, 282 },
- { 0x294E, 9160 },
- { 0x294F, 296 },
- { 0x2950, 9181 },
- { 0x2951, 275 },
- { 0x2952, 64515 },
- { 0x2953, 68180 },
- { 0x2954, 44670 },
- { 0x2955, 63351 },
- { 0x2956, 64559 },
- { 0x2957, 68224 },
- { 0x2958, 44634 },
- { 0x2959, 63315 },
- { 0x295A, 64522 },
- { 0x295B, 68187 },
- { 0x295C, 44677 },
- { 0x295D, 63358 },
- { 0x295E, 64566 },
- { 0x295F, 68231 },
- { 0x2960, 44641 },
- { 0x2961, 63322 },
- { 0x2962, 64537 },
- { 0x2963, 44648 },
- { 0x2964, 68213 },
- { 0x2965, 63340 },
- { 0x2966, 64548 },
- { 0x2967, 64573 },
- { 0x2968, 68202 },
- { 0x2969, 68238 },
- { 0x296A, 64529 },
- { 0x296B, 64584 },
- { 0x296C, 68194 },
- { 0x296D, 68249 },
- { 0x296E, 44659 },
- { 0x296F, 63329 },
- { 0x2970, 21882 },
- { 0x2971, 31756 },
- { 0x2972, 23038 },
- { 0x2973, 64429 },
- { 0x2974, 68092 },
- { 0x2975, 68097 },
- { 0x2976, 64759 },
- { 0x2977, 64461 },
- { 0x2978, 69536 },
- { 0x2979, 36531 },
- { 0x297A, 64457 },
- { 0x297B, 55638 },
- { 0x297C, 9188 },
- { 0x297D, 21759 },
- { 0x297E, 323 },
- { 0x297F, 9070 },
- { 0x2980, 37651 },
- { 0x2981, 26 },
- { 0x2982, 29 },
- { 0x2983, 9326 },
- { 0x2984, 21847 },
- { 0x2985, 9347 },
- { 0x2986, 21868 },
- { 0x2987, 16 },
- { 0x2988, 37 },
- { 0x2989, 21 },
- { 0x298A, 42 },
- { 0x298B, 9409 },
- { 0x298C, 21936 },
- { 0x298D, 9388 },
- { 0x298E, 21923 },
- { 0x298F, 9396 },
- { 0x2990, 21915 },
- { 0x2991, 9207 },
- { 0x2992, 21791 },
- { 0x2993, 9144 },
- { 0x2994, 21747 },
- { 0x2995, 31554 },
- { 0x2996, 31580 },
- { 0x2997, 9222 },
- { 0x2998, 21815 },
- { 0x2999, 31531 },
- { 0x299A, 56093 },
- { 0x299B, 53830 },
- { 0x299C, 21796 },
- { 0x299D, 53834 },
- { 0x299E, 10107 },
- { 0x299F, 10102 },
- { 0x29A0, 65821 },
- { 0x29A1, 65817 },
- { 0x29A2, 37674 },
- { 0x29A3, 55459 },
- { 0x29A4, 10111 },
- { 0x29A5, 55461 },
- { 0x29A6, 42843 },
- { 0x29A7, 42847 },
- { 0x29A8, 53746 },
- { 0x29A9, 53734 },
- { 0x29AA, 53770 },
- { 0x29AB, 53758 },
- { 0x29AC, 53806 },
- { 0x29AD, 53782 },
- { 0x29AE, 53818 },
- { 0x29AF, 53794 },
- { 0x29B0, 55465 },
- { 0x29B1, 10590 },
- { 0x29B2, 10584 },
- { 0x29B3, 10578 },
- { 0x29B4, 10572 },
- { 0x29B5, 30522 },
- { 0x29B6, 39617 },
- { 0x29B7, 39612 },
- { 0x29B8, 39459 },
- { 0x29B9, 39776 },
- { 0x29BA, 30530 },
- { 0x29BB, 30526 },
- { 0x29BC, 39784 },
- { 0x29BD, 333 },
- { 0x29BE, 39189 },
- { 0x29BF, 39192 },
- { 0x29C0, 39767 },
- { 0x29C1, 39774 },
- { 0x29C2, 30500 },
- { 0x29C3, 30477 },
- { 0x29C4, 43569 },
- { 0x29C5, 43575 },
- { 0x29C6, 43579 },
- { 0x29C7, 43564 },
- { 0x29C8, 43573 },
- { 0x29C9, 7778 },
- { 0x29CA, 55898 },
- { 0x29CB, 55907 },
- { 0x29CC, 4 },
- { 0x29CD, 55902 },
- { 0x29CE, 21974 },
- { 0x29CF, 9447 },
- { 0x29D0, 56016 },
- { 0x29D1, 30295 },
- { 0x29D2, 30300 },
- { 0x29D3, 10232 },
- { 0x29D4, 23043 },
- { 0x29D5, 23048 },
- { 0x29D6, 23406 },
- { 0x29D7, 10312 },
- { 0x29D8, 9428 },
- { 0x29D9, 21955 },
- { 0x29DA, 9361 },
- { 0x29DB, 21888 },
- { 0x29DC, 67665 },
- { 0x29DD, 7712 },
- { 0x29DE, 53301 },
- { 0x29DF, 69403 },
- { 0x29E0, 36275 },
- { 0x29E1, 64303 },
- { 0x29E2, 43172 },
- { 0x29E3, 31708 },
- { 0x29E4, 31713 },
- { 0x29E5, 64294 },
- { 0x29E6, 31794 },
- { 0x29E7, 75047 },
- { 0x29E8, 74585 },
- { 0x29E9, 74591 },
- { 0x29EA, 10277 },
- { 0x29EB, 10289 },
- { 0x29EC, 23248 },
- { 0x29ED, 10246 },
- { 0x29EE, 69417 },
- { 0x29EF, 69408 },
- { 0x29F0, 69420 },
- { 0x29F1, 69411 },
- { 0x29F2, 69414 },
- { 0x29F3, 69405 },
- { 0x29F4, 74476 },
- { 0x29F5, 43001 },
- { 0x29F6, 43549 },
- { 0x29F7, 42996 },
- { 0x29F8, 4385 },
- { 0x29F9, 4382 },
- { 0x29FA, 31559 },
- { 0x29FB, 37614 },
- { 0x29FC, 74608 },
- { 0x29FD, 75090 },
- { 0x29FE, 10053 },
- { 0x29FF, 9598 },
- { 0x2A00, 21242 },
- { 0x2A01, 21246 },
- { 0x2A02, 21250 },
- { 0x2A03, 21220 },
- { 0x2A04, 21225 },
- { 0x2A05, 21238 },
- { 0x2A06, 21234 },
- { 0x2A07, 7785 },
- { 0x2A08, 7781 },
- { 0x2A09, 21215 },
- { 0x2A0A, 35573 },
- { 0x2A0B, 65861 },
- { 0x2A0C, 65763 },
- { 0x2A0D, 31773 },
- { 0x2A0E, 53314 },
- { 0x2A0F, 53338 },
- { 0x2A10, 68611 },
- { 0x2A11, 74503 },
- { 0x2A12, 9491 },
- { 0x2A13, 9498 },
- { 0x2A14, 9485 },
- { 0x2A15, 53333 },
- { 0x2A16, 67973 },
- { 0x2A17, 53324 },
- { 0x2A18, 53307 },
- { 0x2A19, 53330 },
- { 0x2A1A, 53311 },
- { 0x2A1B, 53318 },
- { 0x2A1C, 53321 },
- { 0x2A1D, 9130 },
- { 0x2A1E, 14460 },
- { 0x2A1F, 59 },
- { 0x2A20, 51 },
- { 0x2A21, 55 },
- { 0x2A22, 9661 },
- { 0x2A23, 9682 },
- { 0x2A24, 9667 },
- { 0x2A25, 9651 },
- { 0x2A26, 9672 },
- { 0x2A27, 9677 },
- { 0x2A28, 9656 },
- { 0x2A29, 21189 },
- { 0x2A2A, 21184 },
- { 0x2A2B, 21199 },
- { 0x2A2C, 21194 },
- { 0x2A2D, 9635 },
- { 0x2A2E, 9641 },
- { 0x2A2F, 37706 },
- { 0x2A30, 75078 },
- { 0x2A31, 75083 },
- { 0x2A32, 68589 },
- { 0x2A33, 22668 },
- { 0x2A34, 75057 },
- { 0x2A35, 75063 },
- { 0x2A36, 39778 },
- { 0x2A37, 75069 },
- { 0x2A38, 39465 },
- { 0x2A39, 9647 },
- { 0x2A3A, 21180 },
- { 0x2A3B, 75074 },
- { 0x2A3C, 53344 },
- { 0x2A3D, 65810 },
- { 0x2A3E, 63 },
- { 0x2A3F, 69339 },
- { 0x2A40, 69571 },
- { 0x2A41, 23059 },
- { 0x2A42, 23067 },
- { 0x2A43, 69578 },
- { 0x2A44, 69574 },
- { 0x2A45, 23063 },
- { 0x2A46, 23075 },
- { 0x2A47, 69586 },
- { 0x2A48, 23070 },
- { 0x2A49, 69581 },
- { 0x2A4A, 23078 },
- { 0x2A4B, 69589 },
- { 0x2A4C, 30542 },
- { 0x2A4D, 30567 },
- { 0x2A4E, 31603 },
- { 0x2A4F, 31600 },
- { 0x2A50, 30546 },
- { 0x2A51, 40961 },
- { 0x2A52, 40929 },
- { 0x2A53, 31655 },
- { 0x2A54, 31652 },
- { 0x2A55, 7801 },
- { 0x2A56, 7797 },
- { 0x2A57, 43534 },
- { 0x2A58, 43537 },
- { 0x2A59, 40954 },
- { 0x2A5A, 40976 },
- { 0x2A5B, 40944 },
- { 0x2A5C, 40985 },
- { 0x2A5D, 40949 },
- { 0x2A5E, 40966 },
- { 0x2A5F, 40981 },
- { 0x2A60, 40971 },
- { 0x2A61, 22483 },
- { 0x2A62, 40934 },
- { 0x2A63, 40939 },
- { 0x2A64, 47 },
- { 0x2A65, 33 },
- { 0x2A66, 31721 },
- { 0x2A67, 64299 },
- { 0x2A68, 37655 },
- { 0x2A69, 37662 },
- { 0x2A6A, 23023 },
- { 0x2A6B, 23028 },
- { 0x2A6C, 43192 },
- { 0x2A6D, 58345 },
- { 0x2A6E, 31761 },
- { 0x2A6F, 23695 },
- { 0x2A70, 74511 },
- { 0x2A71, 31741 },
- { 0x2A72, 9688 },
- { 0x2A73, 31746 },
- { 0x2A74, 31567 },
- { 0x2A75, 7793 },
- { 0x2A76, 22998 },
- { 0x2A77, 31726 },
- { 0x2A78, 67228 },
- { 0x2A79, 64731 },
- { 0x2A7A, 69502 },
- { 0x2A7B, 64735 },
- { 0x2A7C, 69506 },
- { 0x2A7D, 64662 },
- { 0x2A7E, 69433 },
- { 0x2A7F, 64684 },
- { 0x2A80, 69455 },
- { 0x2A81, 64667 },
- { 0x2A82, 69438 },
- { 0x2A83, 64675 },
- { 0x2A84, 69446 },
- { 0x2A85, 64696 },
- { 0x2A86, 69470 },
- { 0x2A87, 64706 },
- { 0x2A88, 69477 },
- { 0x2A89, 64702 },
- { 0x2A8A, 69473 },
- { 0x2A8B, 64763 },
- { 0x2A8C, 69540 },
- { 0x2A8D, 64740 },
- { 0x2A8E, 69511 },
- { 0x2A8F, 64745 },
- { 0x2A90, 69516 },
- { 0x2A91, 64769 },
- { 0x2A92, 69530 },
- { 0x2A93, 64750 },
- { 0x2A94, 69521 },
- { 0x2A95, 43508 },
- { 0x2A96, 43521 },
- { 0x2A97, 43513 },
- { 0x2A98, 43526 },
- { 0x2A99, 68620 },
- { 0x2A9A, 68625 },
- { 0x2A9B, 68630 },
- { 0x2A9C, 68636 },
- { 0x2A9D, 43174 },
- { 0x2A9E, 43177 },
- { 0x2A9F, 43180 },
- { 0x2AA0, 43186 },
- { 0x2AA1, 31589 },
- { 0x2AA2, 31597 },
- { 0x2AA3, 31592 },
- { 0x2AA4, 69565 },
- { 0x2AA5, 69551 },
- { 0x2AA6, 64780 },
- { 0x2AA7, 69554 },
- { 0x2AA8, 64784 },
- { 0x2AA9, 69558 },
- { 0x2AAA, 43540 },
- { 0x2AAB, 34099 },
- { 0x2AAC, 43542 },
- { 0x2AAD, 34101 },
- { 0x2AAE, 31736 },
- { 0x2AAF, 55374 },
- { 0x2AB0, 55568 },
- { 0x2AB1, 55368 },
- { 0x2AB2, 55562 },
- { 0x2AB3, 55364 },
- { 0x2AB4, 55558 },
- { 0x2AB5, 55348 },
- { 0x2AB6, 55542 },
- { 0x2AB7, 55359 },
- { 0x2AB8, 55553 },
- { 0x2AB9, 55353 },
- { 0x2ABA, 55547 },
- { 0x2ABB, 31666 },
- { 0x2ABC, 31671 },
- { 0x2ABD, 36512 },
- { 0x2ABE, 55619 },
- { 0x2ABF, 36515 },
- { 0x2AC0, 55622 },
- { 0x2AC1, 36520 },
- { 0x2AC2, 55627 },
- { 0x2AC3, 36476 },
- { 0x2AC4, 55583 },
- { 0x2AC5, 36507 },
- { 0x2AC6, 55614 },
- { 0x2AC7, 36496 },
- { 0x2AC8, 55603 },
- { 0x2AC9, 36501 },
- { 0x2ACA, 55608 },
- { 0x2ACB, 36490 },
- { 0x2ACC, 55597 },
- { 0x2ACD, 36177 },
- { 0x2ACE, 36346 },
- { 0x2ACF, 30553 },
- { 0x2AD0, 30560 },
- { 0x2AD1, 30555 },
- { 0x2AD2, 30562 },
- { 0x2AD3, 36528 },
- { 0x2AD4, 55632 },
- { 0x2AD5, 36525 },
- { 0x2AD6, 55635 },
- { 0x2AD7, 55650 },
- { 0x2AD8, 55642 },
- { 0x2AD9, 40541 },
- { 0x2ADA, 65757 },
- { 0x2ADB, 69324 },
- { 0x2ADC, 40557 },
- { 0x2ADD, 67879 },
- { 0x2ADE, 22467 },
- { 0x2ADF, 22459 },
- { 0x2AE0, 22444 },
- { 0x2AE1, 75038 },
- { 0x2AE2, 56026 },
- { 0x2AE3, 31675 },
- { 0x2AE4, 56021 },
- { 0x2AE5, 31680 },
- { 0x2AE6, 9507 },
- { 0x2AE7, 22462 },
- { 0x2AE8, 22447 },
- { 0x2AE9, 22452 },
- { 0x2AEA, 31551 },
- { 0x2AEB, 31545 },
- { 0x2AEC, 31606 },
- { 0x2AED, 55483 },
- { 0x2AEE, 9026 },
- { 0x2AEF, 56068 },
- { 0x2AF0, 56073 },
- { 0x2AF1, 9075 },
- { 0x2AF2, 54952 },
- { 0x2AF3, 54948 },
- { 0x2AF4, 37646 },
- { 0x2AF5, 37635 },
- { 0x2AF6, 37616 },
- { 0x2AF7, 37623 },
- { 0x2AF8, 37626 },
- { 0x2AF9, 68642 },
- { 0x2AFA, 68648 },
- { 0x2AFB, 37629 },
- { 0x2AFC, 14466 },
- { 0x2AFD, 31661 },
- { 0x2AFE, 23397 },
- { 0x2AFF, 21230 },
- { 0x2B00, 21310 },
- { 0x2B01, 21361 },
- { 0x2B02, 22705 },
- { 0x2B03, 22732 },
- { 0x2B04, 9289 },
- { 0x2B05, 64465 },
- { 0x2B06, 44578 },
- { 0x2B07, 63292 },
- { 0x2B08, 21306 },
- { 0x2B09, 21357 },
- { 0x2B0A, 22701 },
- { 0x2B0B, 22728 },
- { 0x2B0C, 9285 },
- { 0x2B0D, 311 },
- { 0x2B0E, 68024 },
- { 0x2B0F, 68019 },
- { 0x2B10, 64366 },
- { 0x2B11, 64361 },
- { 0x2B12, 36202 },
- { 0x2B13, 36261 },
- { 0x2B14, 36254 },
- { 0x2B15, 36212 },
- { 0x2B16, 40312 },
- { 0x2B17, 40317 },
- { 0x2B18, 40307 },
- { 0x2B19, 40322 },
- { 0x2B1A, 31537 },
- { 0x2B1B, 10191 },
- { 0x2B1C, 23212 },
- { 0x2B1D, 10163 },
- { 0x2B1E, 23187 },
- { 0x2B1F, 10302 },
- { 0x2B20, 23387 },
- { 0x2B21, 23371 },
- { 0x2B22, 10287 },
- { 0x2B23, 67658 },
- { 0x2B24, 10188 },
- { 0x2B25, 10264 },
- { 0x2B26, 23287 },
- { 0x2B27, 10267 },
- { 0x2B28, 23290 },
- { 0x2B29, 10215 },
- { 0x2B2A, 10218 },
- { 0x2B2B, 23228 },
- { 0x2B2C, 10325 },
- { 0x2B2D, 23414 },
- { 0x2B2E, 10306 },
- { 0x2B2F, 23400 },
- { 0x2B30, 9212 },
- { 0x2B31, 22992 },
- { 0x2B32, 9217 },
- { 0x2B33, 9550 },
- { 0x2B34, 64644 },
- { 0x2B35, 64637 },
- { 0x2B36, 64610 },
- { 0x2B37, 64650 },
- { 0x2B38, 64403 },
- { 0x2B39, 64396 },
- { 0x2B3A, 64388 },
- { 0x2B3B, 64615 },
- { 0x2B3C, 64629 },
- { 0x2B3D, 64620 },
- { 0x2B3E, 64453 },
- { 0x2B3F, 10065 },
- { 0x2B40, 31751 },
- { 0x2B41, 42982 },
- { 0x2B42, 64446 },
- { 0x2B43, 68124 },
- { 0x2B44, 68120 },
- { 0x2B45, 64605 },
- { 0x2B46, 68270 },
- { 0x2B47, 42988 },
- { 0x2B48, 68109 },
- { 0x2B49, 23033 },
- { 0x2B4A, 64434 },
- { 0x2B4B, 64440 },
- { 0x2B4C, 68103 },
- { 0x2B50, 23277 },
- { 0x2B51, 10209 },
- { 0x2B52, 23222 },
- { 0x2B53, 10370 },
- { 0x2B54, 23470 },
- { 0x2C00, 67450 },
- { 0x2C01, 67479 },
- { 0x2C02, 67503 },
- { 0x2C03, 67579 },
- { 0x2C04, 67519 },
- { 0x2C05, 67555 },
- { 0x2C06, 67621 },
- { 0x2C07, 67523 },
- { 0x2C08, 67575 },
- { 0x2C09, 67491 },
- { 0x2C0A, 67583 },
- { 0x2C0B, 67434 },
- { 0x2C0C, 67563 },
- { 0x2C0D, 67495 },
- { 0x2C0E, 67604 },
- { 0x2C0F, 67608 },
- { 0x2C10, 67531 },
- { 0x2C11, 67459 },
- { 0x2C12, 67567 },
- { 0x2C13, 67535 },
- { 0x2C14, 67539 },
- { 0x2C15, 67571 },
- { 0x2C16, 67475 },
- { 0x2C17, 67527 },
- { 0x2C18, 67487 },
- { 0x2C19, 67463 },
- { 0x2C1A, 67438 },
- { 0x2C1B, 67499 },
- { 0x2C1C, 67471 },
- { 0x2C1D, 67559 },
- { 0x2C1E, 67467 },
- { 0x2C1F, 67515 },
- { 0x2C20, 67511 },
- { 0x2C21, 67507 },
- { 0x2C22, 67616 },
- { 0x2C23, 67446 },
- { 0x2C24, 67543 },
- { 0x2C25, 67548 },
- { 0x2C26, 67442 },
- { 0x2C27, 67594 },
- { 0x2C28, 67454 },
- { 0x2C29, 67588 },
- { 0x2C2A, 67483 },
- { 0x2C2B, 67600 },
- { 0x2C2C, 67612 },
- { 0x2C2D, 67630 },
- { 0x2C2E, 67625 },
- { 0x2C30, 67249 },
- { 0x2C31, 67278 },
- { 0x2C32, 67302 },
- { 0x2C33, 67378 },
- { 0x2C34, 67318 },
- { 0x2C35, 67354 },
- { 0x2C36, 67420 },
- { 0x2C37, 67322 },
- { 0x2C38, 67374 },
- { 0x2C39, 67290 },
- { 0x2C3A, 67382 },
- { 0x2C3B, 67233 },
- { 0x2C3C, 67362 },
- { 0x2C3D, 67294 },
- { 0x2C3E, 67403 },
- { 0x2C3F, 67407 },
- { 0x2C40, 67330 },
- { 0x2C41, 67258 },
- { 0x2C42, 67366 },
- { 0x2C43, 67334 },
- { 0x2C44, 67338 },
- { 0x2C45, 67370 },
- { 0x2C46, 67274 },
- { 0x2C47, 67326 },
- { 0x2C48, 67286 },
- { 0x2C49, 67262 },
- { 0x2C4A, 67237 },
- { 0x2C4B, 67298 },
- { 0x2C4C, 67270 },
- { 0x2C4D, 67358 },
- { 0x2C4E, 67266 },
- { 0x2C4F, 67314 },
- { 0x2C50, 67310 },
- { 0x2C51, 67306 },
- { 0x2C52, 67415 },
- { 0x2C53, 67245 },
- { 0x2C54, 67342 },
- { 0x2C55, 67347 },
- { 0x2C56, 67241 },
- { 0x2C57, 67393 },
- { 0x2C58, 67253 },
- { 0x2C59, 67387 },
- { 0x2C5A, 67282 },
- { 0x2C5B, 67399 },
- { 0x2C5C, 67411 },
- { 0x2C5D, 67429 },
- { 0x2C5E, 67424 },
- { 0x2C60, 19214 },
- { 0x2C61, 15577 },
- { 0x2C62, 19228 },
- { 0x2C63, 19682 },
- { 0x2C64, 19762 },
- { 0x2C65, 14629 },
- { 0x2C66, 16472 },
- { 0x2C67, 18936 },
- { 0x2C68, 15276 },
- { 0x2C69, 19148 },
- { 0x2C6A, 15507 },
- { 0x2C6B, 20410 },
- { 0x2C6C, 17019 },
- { 0x2C6D, 20597 },
- { 0x2C6E, 19272 },
- { 0x2C6F, 20649 },
- { 0x2C71, 16751 },
- { 0x2C72, 20235 },
- { 0x2C73, 16796 },
- { 0x2C74, 16739 },
- { 0x2C75, 20547 },
- { 0x2C76, 17312 },
- { 0x2C77, 17839 },
- { 0x2C78, 14974 },
- { 0x2C79, 17623 },
- { 0x2C7A, 15813 },
- { 0x2C7B, 18125 },
- { 0x2C7C, 20797 },
- { 0x2C7D, 54684 },
- { 0x2C80, 31044 },
- { 0x2C81, 30751 },
- { 0x2C82, 31072 },
- { 0x2C83, 30779 },
- { 0x2C84, 31084 },
- { 0x2C85, 30791 },
- { 0x2C86, 31080 },
- { 0x2C87, 30787 },
- { 0x2C88, 30922 },
- { 0x2C89, 30629 },
- { 0x2C8A, 31036 },
- { 0x2C8B, 30743 },
- { 0x2C8C, 31076 },
- { 0x2C8D, 30783 },
- { 0x2C8E, 31048 },
- { 0x2C8F, 30755 },
- { 0x2C90, 31108 },
- { 0x2C91, 30815 },
- { 0x2C92, 31088 },
- { 0x2C93, 30795 },
- { 0x2C94, 31056 },
- { 0x2C95, 30763 },
- { 0x2C96, 31092 },
- { 0x2C97, 30799 },
- { 0x2C98, 30898 },
- { 0x2C99, 30605 },
- { 0x2C9A, 30902 },
- { 0x2C9B, 30609 },
- { 0x2C9C, 30934 },
- { 0x2C9D, 30641 },
- { 0x2C9E, 30890 },
- { 0x2C9F, 30597 },
- { 0x2CA0, 30906 },
- { 0x2CA1, 30613 },
- { 0x2CA2, 30910 },
- { 0x2CA3, 30617 },
- { 0x2CA4, 31068 },
- { 0x2CA5, 30775 },
- { 0x2CA6, 31040 },
- { 0x2CA7, 30747 },
- { 0x2CA8, 30914 },
- { 0x2CA9, 30621 },
- { 0x2CAA, 30894 },
- { 0x2CAB, 30601 },
- { 0x2CAC, 30930 },
- { 0x2CAD, 30637 },
- { 0x2CAE, 31032 },
- { 0x2CAF, 30739 },
- { 0x2CB0, 31028 },
- { 0x2CB1, 30735 },
- { 0x2CB2, 31132 },
- { 0x2CB3, 30839 },
- { 0x2CB4, 30944 },
- { 0x2CB5, 30651 },
- { 0x2CB6, 31152 },
- { 0x2CB7, 30859 },
- { 0x2CB8, 31142 },
- { 0x2CB9, 30849 },
- { 0x2CBA, 31127 },
- { 0x2CBB, 30834 },
- { 0x2CBC, 31147 },
- { 0x2CBD, 30854 },
- { 0x2CBE, 30974 },
- { 0x2CBF, 30681 },
- { 0x2CC0, 31096 },
- { 0x2CC1, 30803 },
- { 0x2CC2, 31112 },
- { 0x2CC3, 30819 },
- { 0x2CC4, 30986 },
- { 0x2CC5, 30693 },
- { 0x2CC6, 30956 },
- { 0x2CC7, 30663 },
- { 0x2CC8, 31117 },
- { 0x2CC9, 30824 },
- { 0x2CCA, 31137 },
- { 0x2CCB, 30844 },
- { 0x2CCC, 30980 },
- { 0x2CCD, 30687 },
- { 0x2CCE, 30938 },
- { 0x2CCF, 30645 },
- { 0x2CD0, 31122 },
- { 0x2CD1, 30829 },
- { 0x2CD2, 30968 },
- { 0x2CD3, 30675 },
- { 0x2CD4, 30962 },
- { 0x2CD5, 30669 },
- { 0x2CD6, 30998 },
- { 0x2CD7, 30705 },
- { 0x2CD8, 30950 },
- { 0x2CD9, 30657 },
- { 0x2CDA, 30992 },
- { 0x2CDB, 30699 },
- { 0x2CDC, 31022 },
- { 0x2CDD, 30729 },
- { 0x2CDE, 31004 },
- { 0x2CDF, 30711 },
- { 0x2CE0, 31010 },
- { 0x2CE1, 30717 },
- { 0x2CE2, 31016 },
- { 0x2CE3, 30723 },
- { 0x2CE4, 30872 },
- { 0x2CE5, 30864 },
- { 0x2CE6, 30868 },
- { 0x2CE7, 30887 },
- { 0x2CE8, 30879 },
- { 0x2CE9, 30875 },
- { 0x2CEA, 30883 },
- { 0x2CF9, 30572 },
- { 0x2CFA, 30582 },
- { 0x2CFB, 30588 },
- { 0x2CFC, 30577 },
- { 0x2CFD, 31157 },
- { 0x2CFE, 30594 },
- { 0x2CFF, 31161 },
- { 0x2D00, 51786 },
- { 0x2D01, 51814 },
- { 0x2D02, 51830 },
- { 0x2D03, 51826 },
- { 0x2D04, 51790 },
- { 0x2D05, 51894 },
- { 0x2D06, 51902 },
- { 0x2D07, 51886 },
- { 0x2D08, 51798 },
- { 0x2D09, 51854 },
- { 0x2D0A, 51858 },
- { 0x2D0B, 51862 },
- { 0x2D0C, 51866 },
- { 0x2D0D, 51802 },
- { 0x2D0E, 51870 },
- { 0x2D0F, 51934 },
- { 0x2D10, 51878 },
- { 0x2D11, 51882 },
- { 0x2D12, 51890 },
- { 0x2D13, 51806 },
- { 0x2D14, 51926 },
- { 0x2D15, 51922 },
- { 0x2D16, 51914 },
- { 0x2D17, 51874 },
- { 0x2D18, 51930 },
- { 0x2D19, 51910 },
- { 0x2D1A, 51818 },
- { 0x2D1B, 51850 },
- { 0x2D1C, 51822 },
- { 0x2D1D, 51906 },
- { 0x2D1E, 51898 },
- { 0x2D1F, 51918 },
- { 0x2D20, 51834 },
- { 0x2D21, 51794 },
- { 0x2D22, 51842 },
- { 0x2D23, 51810 },
- { 0x2D24, 51838 },
- { 0x2D25, 51846 },
- { 0x2D30, 55713 },
- { 0x2D31, 55725 },
- { 0x2D32, 55789 },
- { 0x2D33, 55734 },
- { 0x2D34, 55834 },
- { 0x2D35, 55845 },
- { 0x2D36, 55740 },
- { 0x2D37, 55728 },
- { 0x2D38, 55798 },
- { 0x2D39, 55795 },
- { 0x2D3A, 55831 },
- { 0x2D3B, 55782 },
- { 0x2D3C, 55731 },
- { 0x2D3D, 55743 },
- { 0x2D3E, 55854 },
- { 0x2D3F, 55837 },
- { 0x2D40, 55737 },
- { 0x2D41, 55840 },
- { 0x2D42, 55850 },
- { 0x2D43, 55804 },
- { 0x2D44, 55722 },
- { 0x2D45, 55807 },
- { 0x2D46, 55870 },
- { 0x2D47, 55758 },
- { 0x2D48, 55858 },
- { 0x2D49, 55716 },
- { 0x2D4A, 55825 },
- { 0x2D4B, 55882 },
- { 0x2D4C, 55878 },
- { 0x2D4D, 55746 },
- { 0x2D4E, 55749 },
- { 0x2D4F, 55752 },
- { 0x2D50, 55866 },
- { 0x2D51, 55874 },
- { 0x2D52, 55755 },
- { 0x2D53, 55719 },
- { 0x2D54, 55761 },
- { 0x2D55, 55810 },
- { 0x2D56, 55801 },
- { 0x2D57, 55862 },
- { 0x2D58, 55785 },
- { 0x2D59, 55764 },
- { 0x2D5A, 55816 },
- { 0x2D5B, 55813 },
- { 0x2D5C, 55767 },
- { 0x2D5D, 55819 },
- { 0x2D5E, 55792 },
- { 0x2D5F, 55822 },
- { 0x2D60, 55770 },
- { 0x2D61, 55773 },
- { 0x2D62, 55776 },
- { 0x2D63, 55779 },
- { 0x2D64, 55886 },
- { 0x2D65, 55828 },
- { 0x2D6F, 55890 },
- { 0x2D80, 50999 },
- { 0x2D81, 51011 },
- { 0x2D82, 51140 },
- { 0x2D83, 51170 },
- { 0x2D84, 51542 },
- { 0x2D85, 50762 },
- { 0x2D86, 51227 },
- { 0x2D87, 50810 },
- { 0x2D88, 51032 },
- { 0x2D89, 51488 },
- { 0x2D8A, 51672 },
- { 0x2D8B, 51344 },
- { 0x2D8C, 50837 },
- { 0x2D8D, 51407 },
- { 0x2D8E, 50939 },
- { 0x2D8F, 51569 },
- { 0x2D90, 51395 },
- { 0x2D91, 51500 },
- { 0x2D92, 51074 },
- { 0x2D93, 51422 },
- { 0x2D94, 51428 },
- { 0x2D95, 51629 },
- { 0x2D96, 51425 },
- { 0x2DA0, 51173 },
- { 0x2DA1, 51185 },
- { 0x2DA2, 51179 },
- { 0x2DA3, 51548 },
- { 0x2DA4, 51551 },
- { 0x2DA5, 51176 },
- { 0x2DA6, 51182 },
- { 0x2DA8, 50777 },
- { 0x2DA9, 50789 },
- { 0x2DAA, 50783 },
- { 0x2DAB, 51368 },
- { 0x2DAC, 51371 },
- { 0x2DAD, 50780 },
- { 0x2DAE, 50786 },
- { 0x2DB0, 51350 },
- { 0x2DB1, 51362 },
- { 0x2DB2, 51356 },
- { 0x2DB3, 51614 },
- { 0x2DB4, 51617 },
- { 0x2DB5, 51353 },
- { 0x2DB6, 51359 },
- { 0x2DB8, 51374 },
- { 0x2DB9, 51386 },
- { 0x2DBA, 51380 },
- { 0x2DBB, 51620 },
- { 0x2DBC, 51623 },
- { 0x2DBD, 51377 },
- { 0x2DBE, 51383 },
- { 0x2DC0, 51119 },
- { 0x2DC1, 51131 },
- { 0x2DC2, 51125 },
- { 0x2DC3, 51530 },
- { 0x2DC4, 51533 },
- { 0x2DC5, 51122 },
- { 0x2DC6, 51128 },
- { 0x2DC8, 50978 },
- { 0x2DC9, 50990 },
- { 0x2DCA, 50984 },
- { 0x2DCB, 51473 },
- { 0x2DCC, 51476 },
- { 0x2DCD, 50981 },
- { 0x2DCE, 50987 },
- { 0x2DD0, 51299 },
- { 0x2DD1, 51311 },
- { 0x2DD2, 51305 },
- { 0x2DD3, 51599 },
- { 0x2DD4, 51602 },
- { 0x2DD5, 51302 },
- { 0x2DD6, 51308 },
- { 0x2DD8, 50894 },
- { 0x2DD9, 50906 },
- { 0x2DDA, 50900 },
- { 0x2DDB, 51437 },
- { 0x2DDC, 51440 },
- { 0x2DDD, 50897 },
- { 0x2DDE, 50903 },
- { 0x2DE0, 58034 },
- { 0x2DE1, 58082 },
- { 0x2DE2, 58103 },
- { 0x2DE3, 58038 },
- { 0x2DE4, 58119 },
- { 0x2DE5, 58090 },
- { 0x2DE6, 58070 },
- { 0x2DE7, 58042 },
- { 0x2DE8, 58046 },
- { 0x2DE9, 58050 },
- { 0x2DEA, 58030 },
- { 0x2DEB, 58074 },
- { 0x2DEC, 58054 },
- { 0x2DED, 58058 },
- { 0x2DEE, 58078 },
- { 0x2DEF, 58062 },
- { 0x2DF0, 58111 },
- { 0x2DF1, 58099 },
- { 0x2DF2, 58107 },
- { 0x2DF3, 58135 },
- { 0x2DF4, 58123 },
- { 0x2DF5, 58131 },
- { 0x2DF6, 58026 },
- { 0x2DF7, 58066 },
- { 0x2DF8, 58127 },
- { 0x2DF9, 58155 },
- { 0x2DFA, 58115 },
- { 0x2DFB, 58086 },
- { 0x2DFC, 58144 },
- { 0x2DFD, 58139 },
- { 0x2DFE, 58094 },
- { 0x2DFF, 58149 },
- { 0x2E00, 21801 },
- { 0x2E01, 21783 },
- { 0x2E02, 9477 },
- { 0x2E03, 22004 },
- { 0x2E04, 9353 },
- { 0x2E05, 21874 },
- { 0x2E06, 35672 },
- { 0x2E07, 35666 },
- { 0x2E08, 31539 },
- { 0x2E09, 9480 },
- { 0x2E0A, 22007 },
- { 0x2E0B, 35670 },
- { 0x2E0C, 9377 },
- { 0x2E0D, 21904 },
- { 0x2E0E, 63378 },
- { 0x2E0F, 69268 },
- { 0x2E10, 31783 },
- { 0x2E11, 55488 },
- { 0x2E12, 69569 },
- { 0x2E13, 31535 },
- { 0x2E14, 63298 },
- { 0x2E15, 44620 },
- { 0x2E16, 31542 },
- { 0x2E17, 31658 },
- { 0x2E18, 53360 },
- { 0x2E19, 9626 },
- { 0x2E1A, 33425 },
- { 0x2E1B, 23017 },
- { 0x2E1C, 9148 },
- { 0x2E1D, 21751 },
- { 0x2E1E, 23009 },
- { 0x2E1F, 23013 },
- { 0x2E20, 9452 },
- { 0x2E21, 21979 },
- { 0x2E22, 7737 },
- { 0x2E23, 7750 },
- { 0x2E24, 30258 },
- { 0x2E25, 30271 },
- { 0x2E26, 9439 },
- { 0x2E27, 21964 },
- { 0x2E28, 9369 },
- { 0x2E29, 21896 },
- { 0x2E2A, 7772 },
- { 0x2E2B, 7155 },
- { 0x2E2C, 43556 },
- { 0x2E2D, 9091 },
- { 0x2E2E, 55502 },
- { 0x2E2F, 56091 },
- { 0x2E30, 9704 },
- { 0x2E80, 5603 },
- { 0x2E81, 5510 },
- { 0x2E82, 5606 },
- { 0x2E83, 5610 },
- { 0x2E84, 5614 },
- { 0x2E85, 5600 },
- { 0x2E86, 5346 },
- { 0x2E87, 5577 },
- { 0x2E88, 5539 },
- { 0x2E89, 5543 },
- { 0x2E8A, 5638 },
- { 0x2E8B, 5477 },
- { 0x2E8C, 5558 },
- { 0x2E8D, 5562 },
- { 0x2E8E, 5441 },
- { 0x2E8F, 5445 },
- { 0x2E90, 5453 },
- { 0x2E91, 5449 },
- { 0x2E92, 5566 },
- { 0x2E93, 5626 },
- { 0x2E94, 5569 },
- { 0x2E95, 5573 },
- { 0x2E96, 5531 },
- { 0x2E97, 5535 },
- { 0x2E98, 5429 },
- { 0x2E99, 5403 },
- { 0x2E9B, 5507 },
- { 0x2E9C, 5406 },
- { 0x2E9D, 5471 },
- { 0x2E9E, 5513 },
- { 0x2E9F, 5597 },
- { 0x2EA0, 5635 },
- { 0x2EA1, 5583 },
- { 0x2EA2, 5587 },
- { 0x2EA3, 5423 },
- { 0x2EA4, 5392 },
- { 0x2EA5, 5396 },
- { 0x2EA6, 5641 },
- { 0x2EA7, 5349 },
- { 0x2EA8, 5352 },
- { 0x2EA9, 5438 },
- { 0x2EAA, 5412 },
- { 0x2EAB, 5370 },
- { 0x2EAC, 5618 },
- { 0x2EAD, 5622 },
- { 0x2EAE, 5591 },
- { 0x2EAF, 5480 },
- { 0x2EB0, 5715 },
- { 0x2EB1, 5373 },
- { 0x2EB2, 5377 },
- { 0x2EB3, 5385 },
- { 0x2EB4, 5381 },
- { 0x2EB5, 5468 },
- { 0x2EB6, 5555 },
- { 0x2EB7, 5400 },
- { 0x2EB8, 5367 },
- { 0x2EB9, 5389 },
- { 0x2EBA, 5499 },
- { 0x2EBB, 5503 },
- { 0x2EBC, 5465 },
- { 0x2EBD, 5594 },
- { 0x2EBE, 5519 },
- { 0x2EBF, 5523 },
- { 0x2EC0, 5527 },
- { 0x2EC1, 5580 },
- { 0x2EC2, 5632 },
- { 0x2EC3, 5491 },
- { 0x2EC4, 5495 },
- { 0x2EC5, 5671 },
- { 0x2EC6, 5647 },
- { 0x2EC7, 5435 },
- { 0x2EC8, 5739 },
- { 0x2EC9, 5727 },
- { 0x2ECA, 5426 },
- { 0x2ECB, 5679 },
- { 0x2ECC, 5651 },
- { 0x2ECD, 5483 },
- { 0x2ECE, 5487 },
- { 0x2ECF, 5420 },
- { 0x2ED0, 5699 },
- { 0x2ED1, 5457 },
- { 0x2ED2, 5461 },
- { 0x2ED3, 5707 },
- { 0x2ED4, 5695 },
- { 0x2ED5, 5547 },
- { 0x2ED6, 5551 },
- { 0x2ED7, 5474 },
- { 0x2ED8, 5409 },
- { 0x2ED9, 5743 },
- { 0x2EDA, 5703 },
- { 0x2EDB, 5719 },
- { 0x2EDC, 5667 },
- { 0x2EDD, 5355 },
- { 0x2EDE, 5359 },
- { 0x2EDF, 5363 },
- { 0x2EE0, 5663 },
- { 0x2EE1, 5432 },
- { 0x2EE2, 5723 },
- { 0x2EE3, 5417 },
- { 0x2EE4, 5516 },
- { 0x2EE5, 5687 },
- { 0x2EE6, 5675 },
- { 0x2EE7, 5711 },
- { 0x2EE8, 5655 },
- { 0x2EE9, 5659 },
- { 0x2EEA, 5691 },
- { 0x2EEB, 5752 },
- { 0x2EEC, 5683 },
- { 0x2EED, 5756 },
- { 0x2EEE, 5731 },
- { 0x2EEF, 5760 },
- { 0x2EF0, 5735 },
- { 0x2EF1, 5629 },
- { 0x2EF2, 5764 },
- { 0x2EF3, 5748 },
- { 0x2F00, 33501 },
- { 0x2F01, 33669 },
- { 0x2F02, 33459 },
- { 0x2F03, 33860 },
- { 0x2F04, 33981 },
- { 0x2F05, 33639 },
- { 0x2F06, 33531 },
- { 0x2F07, 33486 },
- { 0x2F08, 33489 },
- { 0x2F09, 33663 },
- { 0x2F0A, 33792 },
- { 0x2F0B, 33789 },
- { 0x2F0C, 33588 },
- { 0x2F0D, 33780 },
- { 0x2F0E, 33480 },
- { 0x2F0F, 33896 },
- { 0x2F10, 33688 },
- { 0x2F11, 33819 },
- { 0x2F12, 33831 },
- { 0x2F13, 33753 },
- { 0x2F14, 33881 },
- { 0x2F15, 33834 },
- { 0x2F16, 33962 },
- { 0x2F17, 33528 },
- { 0x2F18, 34081 },
- { 0x2F19, 33707 },
- { 0x2F1A, 33774 },
- { 0x2F1B, 34048 },
- { 0x2F1C, 33756 },
- { 0x2F1D, 33828 },
- { 0x2F1E, 34078 },
- { 0x2F1F, 33786 },
- { 0x2F20, 34051 },
- { 0x2F21, 33434 },
- { 0x2F22, 33437 },
- { 0x2F23, 34030 },
- { 0x2F24, 33447 },
- { 0x2F25, 33917 },
- { 0x2F26, 33771 },
- { 0x2F27, 33701 },
- { 0x2F28, 33645 },
- { 0x2F29, 33869 },
- { 0x2F2A, 33654 },
- { 0x2F2B, 33938 },
- { 0x2F2C, 33990 },
- { 0x2F2D, 34066 },
- { 0x2F2E, 33839 },
- { 0x2F2F, 33750 },
- { 0x2F30, 34045 },
- { 0x2F31, 34006 },
- { 0x2F32, 33462 },
- { 0x2F33, 33856 },
- { 0x2F34, 33948 },
- { 0x2F35, 33675 },
- { 0x2F36, 33534 },
- { 0x2F37, 33848 },
- { 0x2F38, 33450 },
- { 0x2F39, 33872 },
- { 0x2F3A, 34021 },
- { 0x2F3B, 33719 },
- { 0x2F3C, 33813 },
- { 0x2F3D, 34036 },
- { 0x2F3E, 33585 },
- { 0x2F3F, 33630 },
- { 0x2F40, 33935 },
- { 0x2F41, 33507 },
- { 0x2F42, 33978 },
- { 0x2F43, 33941 },
- { 0x2F44, 33444 },
- { 0x2F45, 33993 },
- { 0x2F46, 33495 },
- { 0x2F47, 33525 },
- { 0x2F48, 33519 },
- { 0x2F49, 33682 },
- { 0x2F4A, 33731 },
- { 0x2F4B, 33651 },
- { 0x2F4C, 33722 },
- { 0x2F4D, 33783 },
- { 0x2F4E, 34015 },
- { 0x2F4F, 33430 },
- { 0x2F50, 34027 },
- { 0x2F51, 33477 },
- { 0x2F52, 33573 },
- { 0x2F53, 33887 },
- { 0x2F54, 33908 },
- { 0x2F55, 33604 },
- { 0x2F56, 33576 },
- { 0x2F57, 33959 },
- { 0x2F58, 33952 },
- { 0x2F59, 33625 },
- { 0x2F5A, 33866 },
- { 0x2F5B, 33601 },
- { 0x2F5C, 33453 },
- { 0x2F5D, 33456 },
- { 0x2F5E, 34069 },
- { 0x2F5F, 33648 },
- { 0x2F60, 33822 },
- { 0x2F61, 33728 },
- { 0x2F62, 33893 },
- { 0x2F63, 33666 },
- { 0x2F64, 33538 },
- { 0x2F65, 33795 },
- { 0x2F66, 33556 },
- { 0x2F67, 34072 },
- { 0x2F68, 33944 },
- { 0x2F69, 33914 },
- { 0x2F6A, 33716 },
- { 0x2F6B, 33582 },
- { 0x2F6C, 33471 },
- { 0x2F6D, 33878 },
- { 0x2F6E, 33759 },
- { 0x2F6F, 33890 },
- { 0x2F70, 33987 },
- { 0x2F71, 33905 },
- { 0x2F72, 33807 },
- { 0x2F73, 33567 },
- { 0x2F74, 33884 },
- { 0x2F75, 33929 },
- { 0x2F76, 33698 },
- { 0x2F77, 33713 },
- { 0x2F78, 33483 },
- { 0x2F79, 33492 },
- { 0x2F7A, 33842 },
- { 0x2F7B, 34033 },
- { 0x2F7C, 33498 },
- { 0x2F7D, 33441 },
- { 0x2F7E, 33692 },
- { 0x2F7F, 33465 },
- { 0x2F80, 33768 },
- { 0x2F81, 33679 },
- { 0x2F82, 34063 },
- { 0x2F83, 33710 },
- { 0x2F84, 33923 },
- { 0x2F85, 33972 },
- { 0x2F86, 34000 },
- { 0x2F87, 33975 },
- { 0x2F88, 33550 },
- { 0x2F89, 34075 },
- { 0x2F8A, 33777 },
- { 0x2F8B, 33810 },
- { 0x2F8C, 33899 },
- { 0x2F8D, 33966 },
- { 0x2F8E, 33765 },
- { 0x2F8F, 33737 },
- { 0x2F90, 34024 },
- { 0x2F91, 33741 },
- { 0x2F92, 33522 },
- { 0x2F93, 33642 },
- { 0x2F94, 33984 },
- { 0x2F95, 34012 },
- { 0x2F96, 33541 },
- { 0x2F97, 33504 },
- { 0x2F98, 33926 },
- { 0x2F99, 33845 },
- { 0x2F9A, 33513 },
- { 0x2F9B, 33516 },
- { 0x2F9C, 33610 },
- { 0x2F9D, 33553 },
- { 0x2F9E, 33564 },
- { 0x2F9F, 33932 },
- { 0x2FA0, 34042 },
- { 0x2FA1, 33734 },
- { 0x2FA2, 33570 },
- { 0x2FA3, 33747 },
- { 0x2FA4, 34087 },
- { 0x2FA5, 34054 },
- { 0x2FA6, 33619 },
- { 0x2FA7, 33672 },
- { 0x2FA8, 33616 },
- { 0x2FA9, 33825 },
- { 0x2FAA, 33863 },
- { 0x2FAB, 33851 },
- { 0x2FAC, 33695 },
- { 0x2FAD, 33547 },
- { 0x2FAE, 33920 },
- { 0x2FAF, 33598 },
- { 0x2FB0, 34039 },
- { 0x2FB1, 33996 },
- { 0x2FB2, 33660 },
- { 0x2FB3, 33875 },
- { 0x2FB4, 33657 },
- { 0x2FB5, 33744 },
- { 0x2FB6, 33474 },
- { 0x2FB7, 33468 },
- { 0x2FB8, 33633 },
- { 0x2FB9, 34060 },
- { 0x2FBA, 33816 },
- { 0x2FBB, 33561 },
- { 0x2FBC, 33725 },
- { 0x2FBD, 33622 },
- { 0x2FBE, 33798 },
- { 0x2FBF, 34090 },
- { 0x2FC0, 34057 },
- { 0x2FC1, 33804 },
- { 0x2FC2, 33607 },
- { 0x2FC3, 33544 },
- { 0x2FC4, 33704 },
- { 0x2FC5, 33579 },
- { 0x2FC6, 33911 },
- { 0x2FC7, 33636 },
- { 0x2FC8, 34018 },
- { 0x2FC9, 33969 },
- { 0x2FCA, 33762 },
- { 0x2FCB, 34084 },
- { 0x2FCC, 33613 },
- { 0x2FCD, 34003 },
- { 0x2FCE, 33592 },
- { 0x2FCF, 33510 },
- { 0x2FD0, 33685 },
- { 0x2FD1, 33595 },
- { 0x2FD2, 33902 },
- { 0x2FD3, 33956 },
- { 0x2FD4, 34009 },
- { 0x2FD5, 33801 },
- { 0x2FF0, 69175 },
- { 0x2FF1, 69189 },
- { 0x2FF2, 69181 },
- { 0x2FF3, 69195 },
- { 0x2FF4, 69170 },
- { 0x2FF5, 69213 },
- { 0x2FF6, 69219 },
- { 0x2FF7, 69207 },
- { 0x2FF8, 69232 },
- { 0x2FF9, 69239 },
- { 0x2FFA, 69225 },
- { 0x2FFB, 69203 },
- { 0x3000, 68678 },
- { 0x3001, 68672 },
- { 0x3002, 68665 },
- { 0x3003, 10538 },
- { 0x3004, 53362 },
- { 0x3005, 68698 },
- { 0x3006, 68687 },
- { 0x3007, 68680 },
- { 0x3008, 9204 },
- { 0x3009, 21788 },
- { 0x300A, 9357 },
- { 0x300B, 21878 },
- { 0x300C, 9350 },
- { 0x300D, 21871 },
- { 0x300E, 9330 },
- { 0x300F, 21851 },
- { 0x3010, 9227 },
- { 0x3011, 21820 },
- { 0x3012, 35661 },
- { 0x3013, 9121 },
- { 0x3014, 9443 },
- { 0x3015, 21968 },
- { 0x3016, 9343 },
- { 0x3017, 21864 },
- { 0x3018, 9338 },
- { 0x3019, 21859 },
- { 0x301A, 9334 },
- { 0x301B, 21855 },
- { 0x301C, 10063 },
- { 0x301D, 55478 },
- { 0x301E, 31576 },
- { 0x301F, 6033 },
- { 0x3020, 35663 },
- { 0x3021, 52741 },
- { 0x3022, 52750 },
- { 0x3023, 52768 },
- { 0x3024, 52756 },
- { 0x3025, 52753 },
- { 0x3026, 52744 },
- { 0x3027, 52765 },
- { 0x3028, 52762 },
- { 0x3029, 52759 },
- { 0x302A, 68674 },
- { 0x302B, 68683 },
- { 0x302C, 68694 },
- { 0x302D, 68690 },
- { 0x302E, 32170 },
- { 0x302F, 31884 },
- { 0x3030, 10078 },
- { 0x3031, 56034 },
- { 0x3032, 56050 },
- { 0x3033, 56044 },
- { 0x3034, 56057 },
- { 0x3035, 56038 },
- { 0x3036, 39456 },
- { 0x3037, 68701 },
- { 0x3038, 52747 },
- { 0x3039, 52774 },
- { 0x303A, 52771 },
- { 0x303B, 56098 },
- { 0x303C, 9594 },
- { 0x303D, 9628 },
- { 0x303E, 69103 },
- { 0x303F, 68668 },
- { 0x3041, 53242 },
- { 0x3042, 53020 },
- { 0x3043, 53250 },
- { 0x3044, 53026 },
- { 0x3045, 53258 },
- { 0x3046, 53035 },
- { 0x3047, 53246 },
- { 0x3048, 53023 },
- { 0x3049, 53254 },
- { 0x304A, 53032 },
- { 0x304B, 53098 },
- { 0x304C, 53068 },
- { 0x304D, 53104 },
- { 0x304E, 53074 },
- { 0x304F, 53110 },
- { 0x3050, 53080 },
- { 0x3051, 53101 },
- { 0x3052, 53071 },
- { 0x3053, 53107 },
- { 0x3054, 53077 },
- { 0x3055, 53173 },
- { 0x3056, 53227 },
- { 0x3057, 53179 },
- { 0x3058, 53233 },
- { 0x3059, 53185 },
- { 0x305A, 53239 },
- { 0x305B, 53176 },
- { 0x305C, 53230 },
- { 0x305D, 53182 },
- { 0x305E, 53236 },
- { 0x305F, 53188 },
- { 0x3060, 53053 },
- { 0x3061, 53194 },
- { 0x3062, 53059 },
- { 0x3063, 53270 },
- { 0x3064, 53200 },
- { 0x3065, 53065 },
- { 0x3066, 53191 },
- { 0x3067, 53056 },
- { 0x3068, 53197 },
- { 0x3069, 53062 },
- { 0x306A, 53128 },
- { 0x306B, 53134 },
- { 0x306C, 53140 },
- { 0x306D, 53131 },
- { 0x306E, 53137 },
- { 0x306F, 53083 },
- { 0x3070, 53038 },
- { 0x3071, 53143 },
- { 0x3072, 53089 },
- { 0x3073, 53044 },
- { 0x3074, 53149 },
- { 0x3075, 53095 },
- { 0x3076, 53050 },
- { 0x3077, 53155 },
- { 0x3078, 53086 },
- { 0x3079, 53041 },
- { 0x307A, 53146 },
- { 0x307B, 53092 },
- { 0x307C, 53047 },
- { 0x307D, 53152 },
- { 0x307E, 53113 },
- { 0x307F, 53119 },
- { 0x3080, 53125 },
- { 0x3081, 53116 },
- { 0x3082, 53122 },
- { 0x3083, 53278 },
- { 0x3084, 53218 },
- { 0x3085, 53286 },
- { 0x3086, 53224 },
- { 0x3087, 53282 },
- { 0x3088, 53221 },
- { 0x3089, 53158 },
- { 0x308A, 53164 },
- { 0x308B, 53170 },
- { 0x308C, 53161 },
- { 0x308D, 53167 },
- { 0x308E, 53274 },
- { 0x308F, 53206 },
- { 0x3090, 53212 },
- { 0x3091, 53209 },
- { 0x3092, 53215 },
- { 0x3093, 53029 },
- { 0x3094, 53203 },
- { 0x3095, 53262 },
- { 0x3096, 53266 },
- { 0x3099, 58335 },
- { 0x309A, 58340 },
- { 0x309B, 75125 },
- { 0x309C, 75133 },
- { 0x309D, 53297 },
- { 0x309E, 53290 },
- { 0x309F, 53294 },
- { 0x30A0, 75122 },
- { 0x30A1, 53600 },
- { 0x30A2, 53366 },
- { 0x30A3, 53608 },
- { 0x30A4, 53372 },
- { 0x30A5, 53616 },
- { 0x30A6, 53381 },
- { 0x30A7, 53604 },
- { 0x30A8, 53369 },
- { 0x30A9, 53612 },
- { 0x30AA, 53378 },
- { 0x30AB, 53444 },
- { 0x30AC, 53414 },
- { 0x30AD, 53450 },
- { 0x30AE, 53420 },
- { 0x30AF, 53456 },
- { 0x30B0, 53426 },
- { 0x30B1, 53447 },
- { 0x30B2, 53417 },
- { 0x30B3, 53453 },
- { 0x30B4, 53423 },
- { 0x30B5, 53519 },
- { 0x30B6, 53585 },
- { 0x30B7, 53525 },
- { 0x30B8, 53591 },
- { 0x30B9, 53531 },
- { 0x30BA, 53597 },
- { 0x30BB, 53522 },
- { 0x30BC, 53588 },
- { 0x30BD, 53528 },
- { 0x30BE, 53594 },
- { 0x30BF, 53534 },
- { 0x30C0, 53399 },
- { 0x30C1, 53540 },
- { 0x30C2, 53405 },
- { 0x30C3, 53692 },
- { 0x30C4, 53546 },
- { 0x30C5, 53411 },
- { 0x30C6, 53537 },
- { 0x30C7, 53402 },
- { 0x30C8, 53543 },
- { 0x30C9, 53408 },
- { 0x30CA, 53474 },
- { 0x30CB, 53480 },
- { 0x30CC, 53486 },
- { 0x30CD, 53477 },
- { 0x30CE, 53483 },
- { 0x30CF, 53429 },
- { 0x30D0, 53384 },
- { 0x30D1, 53489 },
- { 0x30D2, 53435 },
- { 0x30D3, 53390 },
- { 0x30D4, 53495 },
- { 0x30D5, 53441 },
- { 0x30D6, 53396 },
- { 0x30D7, 53501 },
- { 0x30D8, 53432 },
- { 0x30D9, 53387 },
- { 0x30DA, 53492 },
- { 0x30DB, 53438 },
- { 0x30DC, 53393 },
- { 0x30DD, 53498 },
- { 0x30DE, 53459 },
- { 0x30DF, 53465 },
- { 0x30E0, 53471 },
- { 0x30E1, 53462 },
- { 0x30E2, 53468 },
- { 0x30E3, 53700 },
- { 0x30E4, 53576 },
- { 0x30E5, 53708 },
- { 0x30E6, 53582 },
- { 0x30E7, 53704 },
- { 0x30E8, 53579 },
- { 0x30E9, 53504 },
- { 0x30EA, 53510 },
- { 0x30EB, 53516 },
- { 0x30EC, 53507 },
- { 0x30ED, 53513 },
- { 0x30EE, 53696 },
- { 0x30EF, 53564 },
- { 0x30F0, 53570 },
- { 0x30F1, 53567 },
- { 0x30F2, 53573 },
- { 0x30F3, 53375 },
- { 0x30F4, 53561 },
- { 0x30F5, 53640 },
- { 0x30F6, 53644 },
- { 0x30F7, 53549 },
- { 0x30F8, 53555 },
- { 0x30F9, 53552 },
- { 0x30FA, 53558 },
- { 0x30FB, 53712 },
- { 0x30FC, 75129 },
- { 0x30FD, 53722 },
- { 0x30FE, 53715 },
- { 0x30FF, 53719 },
- { 0x3105, 45589 },
- { 0x3106, 45631 },
- { 0x3107, 45622 },
- { 0x3108, 45601 },
- { 0x3109, 45595 },
- { 0x310A, 45643 },
- { 0x310B, 45625 },
- { 0x310C, 45619 },
- { 0x310D, 45604 },
- { 0x310E, 45616 },
- { 0x310F, 45607 },
- { 0x3110, 45613 },
- { 0x3111, 45634 },
- { 0x3112, 45652 },
- { 0x3113, 45727 },
- { 0x3114, 45673 },
- { 0x3115, 45724 },
- { 0x3116, 45637 },
- { 0x3117, 45655 },
- { 0x3118, 45592 },
- { 0x3119, 45640 },
- { 0x311A, 45586 },
- { 0x311B, 45628 },
- { 0x311C, 45598 },
- { 0x311D, 45679 },
- { 0x311E, 45658 },
- { 0x311F, 45682 },
- { 0x3120, 45667 },
- { 0x3121, 45721 },
- { 0x3122, 45664 },
- { 0x3123, 45685 },
- { 0x3124, 45733 },
- { 0x3125, 45739 },
- { 0x3126, 45688 },
- { 0x3127, 45610 },
- { 0x3128, 45646 },
- { 0x3129, 45706 },
- { 0x312A, 45649 },
- { 0x312B, 45712 },
- { 0x312C, 45691 },
- { 0x312D, 45697 },
- { 0x3131, 31996 },
- { 0x3132, 32095 },
- { 0x3133, 32065 },
- { 0x3134, 31978 },
- { 0x3135, 32071 },
- { 0x3136, 32074 },
- { 0x3137, 31999 },
- { 0x3138, 32098 },
- { 0x3139, 31984 },
- { 0x313A, 32113 },
- { 0x313B, 32083 },
- { 0x313C, 32086 },
- { 0x313D, 32038 },
- { 0x313E, 32140 },
- { 0x313F, 32137 },
- { 0x3140, 32080 },
- { 0x3141, 31975 },
- { 0x3142, 31981 },
- { 0x3143, 32062 },
- { 0x3144, 32035 },
- { 0x3145, 31954 },
- { 0x3146, 32026 },
- { 0x3147, 31972 },
- { 0x3148, 31966 },
- { 0x3149, 32050 },
- { 0x314A, 32008 },
- { 0x314B, 32011 },
- { 0x314C, 32020 },
- { 0x314D, 32017 },
- { 0x314E, 31969 },
- { 0x314F, 31891 },
- { 0x3150, 31906 },
- { 0x3151, 31927 },
- { 0x3152, 31948 },
- { 0x3153, 31909 },
- { 0x3154, 31894 },
- { 0x3155, 31951 },
- { 0x3156, 31930 },
- { 0x3157, 31900 },
- { 0x3158, 31918 },
- { 0x3159, 31942 },
- { 0x315A, 31915 },
- { 0x315B, 31936 },
- { 0x315C, 31903 },
- { 0x315D, 31945 },
- { 0x315E, 31921 },
- { 0x315F, 31924 },
- { 0x3160, 31939 },
- { 0x3161, 31912 },
- { 0x3162, 31933 },
- { 0x3163, 31897 },
- { 0x3164, 31889 },
- { 0x3165, 32059 },
- { 0x3166, 32104 },
- { 0x3167, 32032 },
- { 0x3168, 32128 },
- { 0x3169, 32161 },
- { 0x316A, 32116 },
- { 0x316B, 32149 },
- { 0x316C, 32134 },
- { 0x316D, 32164 },
- { 0x316E, 32068 },
- { 0x316F, 32029 },
- { 0x3170, 32125 },
- { 0x3171, 32119 },
- { 0x3172, 32107 },
- { 0x3173, 32110 },
- { 0x3174, 32155 },
- { 0x3175, 32158 },
- { 0x3176, 32077 },
- { 0x3177, 32131 },
- { 0x3178, 32122 },
- { 0x3179, 32167 },
- { 0x317A, 32089 },
- { 0x317B, 32044 },
- { 0x317C, 32092 },
- { 0x317D, 32047 },
- { 0x317E, 32041 },
- { 0x317F, 32014 },
- { 0x3180, 32056 },
- { 0x3181, 32023 },
- { 0x3182, 32143 },
- { 0x3183, 32152 },
- { 0x3184, 32146 },
- { 0x3185, 32053 },
- { 0x3186, 32101 },
- { 0x3187, 31987 },
- { 0x3188, 32002 },
- { 0x3189, 31957 },
- { 0x318A, 32005 },
- { 0x318B, 31990 },
- { 0x318C, 31960 },
- { 0x318D, 31963 },
- { 0x318E, 31993 },
- { 0x3190, 69162 },
- { 0x3191, 69166 },
- { 0x3192, 69110 },
- { 0x3193, 69118 },
- { 0x3194, 69138 },
- { 0x3195, 69122 },
- { 0x3196, 69114 },
- { 0x3197, 69154 },
- { 0x3198, 69142 },
- { 0x3199, 69130 },
- { 0x319A, 69158 },
- { 0x319B, 69134 },
- { 0x319C, 69146 },
- { 0x319D, 69150 },
- { 0x319E, 69126 },
- { 0x319F, 69106 },
- { 0x31A0, 45670 },
- { 0x31A1, 45730 },
- { 0x31A2, 45709 },
- { 0x31A3, 45694 },
- { 0x31A4, 45676 },
- { 0x31A5, 45742 },
- { 0x31A6, 45718 },
- { 0x31A7, 45754 },
- { 0x31A8, 45703 },
- { 0x31A9, 45736 },
- { 0x31AA, 45745 },
- { 0x31AB, 45757 },
- { 0x31AC, 45700 },
- { 0x31AD, 45748 },
- { 0x31AE, 45760 },
- { 0x31AF, 45763 },
- { 0x31B0, 45661 },
- { 0x31B1, 45715 },
- { 0x31B2, 45751 },
- { 0x31B3, 45766 },
- { 0x31B4, 45578 },
- { 0x31B5, 45582 },
- { 0x31B6, 45574 },
- { 0x31B7, 45570 },
- { 0x31C0, 5256 },
- { 0x31C1, 5295 },
- { 0x31C2, 5298 },
- { 0x31C3, 5301 },
- { 0x31C4, 5286 },
- { 0x31C5, 5313 },
- { 0x31C6, 5304 },
- { 0x31C7, 5262 },
- { 0x31C8, 5331 },
- { 0x31C9, 5340 },
- { 0x31CA, 5307 },
- { 0x31CB, 5334 },
- { 0x31CC, 5325 },
- { 0x31CD, 5310 },
- { 0x31CE, 5337 },
- { 0x31CF, 5244 },
- { 0x31D0, 5241 },
- { 0x31D1, 5253 },
- { 0x31D2, 5247 },
- { 0x31D3, 5280 },
- { 0x31D4, 5238 },
- { 0x31D5, 5265 },
- { 0x31D6, 5259 },
- { 0x31D7, 5289 },
- { 0x31D8, 5319 },
- { 0x31D9, 5283 },
- { 0x31DA, 5277 },
- { 0x31DB, 5268 },
- { 0x31DC, 5274 },
- { 0x31DD, 5292 },
- { 0x31DE, 5322 },
- { 0x31DF, 5316 },
- { 0x31E0, 5328 },
- { 0x31E1, 5343 },
- { 0x31E2, 5271 },
- { 0x31E3, 5250 },
- { 0x31F0, 53648 },
- { 0x31F1, 53680 },
- { 0x31F2, 53684 },
- { 0x31F3, 53688 },
- { 0x31F4, 53656 },
- { 0x31F5, 53620 },
- { 0x31F6, 53628 },
- { 0x31F7, 53636 },
- { 0x31F8, 53624 },
- { 0x31F9, 53632 },
- { 0x31FA, 53652 },
- { 0x31FB, 53660 },
- { 0x31FC, 53668 },
- { 0x31FD, 53676 },
- { 0x31FE, 53664 },
- { 0x31FF, 53672 },
- { 0x3200, 74845 },
- { 0x3201, 74824 },
- { 0x3202, 74852 },
- { 0x3203, 74838 },
- { 0x3204, 74817 },
- { 0x3205, 74831 },
- { 0x3206, 74785 },
- { 0x3207, 74810 },
- { 0x3208, 74792 },
- { 0x3209, 74859 },
- { 0x320A, 74866 },
- { 0x320B, 74880 },
- { 0x320C, 74873 },
- { 0x320D, 74803 },
- { 0x320E, 74848 },
- { 0x320F, 74827 },
- { 0x3210, 74855 },
- { 0x3211, 74841 },
- { 0x3212, 74820 },
- { 0x3213, 74834 },
- { 0x3214, 74788 },
- { 0x3215, 74813 },
- { 0x3216, 74795 },
- { 0x3217, 74862 },
- { 0x3218, 74869 },
- { 0x3219, 74883 },
- { 0x321A, 74876 },
- { 0x321B, 74806 },
- { 0x321C, 74799 },
- { 0x321D, 74892 },
- { 0x321E, 74887 },
- { 0x3220, 74929 },
- { 0x3221, 74941 },
- { 0x3222, 75001 },
- { 0x3223, 74953 },
- { 0x3224, 74950 },
- { 0x3225, 74932 },
- { 0x3226, 74992 },
- { 0x3227, 74980 },
- { 0x3228, 74965 },
- { 0x3229, 74938 },
- { 0x322A, 74959 },
- { 0x322B, 74947 },
- { 0x322C, 75004 },
- { 0x322D, 74974 },
- { 0x322E, 74986 },
- { 0x322F, 74977 },
- { 0x3230, 74935 },
- { 0x3231, 74995 },
- { 0x3232, 74956 },
- { 0x3233, 75007 },
- { 0x3234, 74962 },
- { 0x3235, 75010 },
- { 0x3236, 75022 },
- { 0x3237, 75034 },
- { 0x3238, 74983 },
- { 0x3239, 75025 },
- { 0x323A, 74944 },
- { 0x323B, 74998 },
- { 0x323C, 75028 },
- { 0x323D, 75031 },
- { 0x323E, 75019 },
- { 0x323F, 75013 },
- { 0x3240, 75016 },
- { 0x3241, 74968 },
- { 0x3242, 74971 },
- { 0x3243, 74989 },
- { 0x3250, 69269 },
- { 0x3251, 39399 },
- { 0x3252, 39407 },
- { 0x3253, 39431 },
- { 0x3254, 39415 },
- { 0x3255, 39411 },
- { 0x3256, 39403 },
- { 0x3257, 39427 },
- { 0x3258, 39423 },
- { 0x3259, 39419 },
- { 0x325A, 39354 },
- { 0x325B, 39357 },
- { 0x325C, 39365 },
- { 0x325D, 39389 },
- { 0x325E, 39373 },
- { 0x325F, 39369 },
- { 0x3260, 39256 },
- { 0x3261, 39235 },
- { 0x3262, 39263 },
- { 0x3263, 39249 },
- { 0x3264, 39228 },
- { 0x3265, 39242 },
- { 0x3266, 39196 },
- { 0x3267, 39217 },
- { 0x3268, 39203 },
- { 0x3269, 39270 },
- { 0x326A, 39277 },
- { 0x326B, 39291 },
- { 0x326C, 39284 },
- { 0x326D, 39210 },
- { 0x326E, 39259 },
- { 0x326F, 39238 },
- { 0x3270, 39266 },
- { 0x3271, 39252 },
- { 0x3272, 39231 },
- { 0x3273, 39245 },
- { 0x3274, 39199 },
- { 0x3275, 39220 },
- { 0x3276, 39206 },
- { 0x3277, 39273 },
- { 0x3278, 39280 },
- { 0x3279, 39294 },
- { 0x327A, 39287 },
- { 0x327B, 39213 },
- { 0x327C, 39302 },
- { 0x327D, 39298 },
- { 0x327E, 39224 },
- { 0x327F, 34096 },
- { 0x3280, 39623 },
- { 0x3281, 39635 },
- { 0x3282, 39710 },
- { 0x3283, 39647 },
- { 0x3284, 39644 },
- { 0x3285, 39626 },
- { 0x3286, 39701 },
- { 0x3287, 39683 },
- { 0x3288, 39671 },
- { 0x3289, 39632 },
- { 0x328A, 39665 },
- { 0x328B, 39641 },
- { 0x328C, 39713 },
- { 0x328D, 39677 },
- { 0x328E, 39689 },
- { 0x328F, 39680 },
- { 0x3290, 39629 },
- { 0x3291, 39704 },
- { 0x3292, 39650 },
- { 0x3293, 39728 },
- { 0x3294, 39668 },
- { 0x3295, 39731 },
- { 0x3296, 39755 },
- { 0x3297, 39764 },
- { 0x3298, 39686 },
- { 0x3299, 39722 },
- { 0x329A, 39662 },
- { 0x329B, 39719 },
- { 0x329C, 39746 },
- { 0x329D, 39752 },
- { 0x329E, 39695 },
- { 0x329F, 39749 },
- { 0x32A0, 39656 },
- { 0x32A1, 39674 },
- { 0x32A2, 39638 },
- { 0x32A3, 39725 },
- { 0x32A4, 39653 },
- { 0x32A5, 39716 },
- { 0x32A6, 39620 },
- { 0x32A7, 39659 },
- { 0x32A8, 39698 },
- { 0x32A9, 39737 },
- { 0x32AA, 39740 },
- { 0x32AB, 39707 },
- { 0x32AC, 39758 },
- { 0x32AD, 39761 },
- { 0x32AE, 39743 },
- { 0x32AF, 39734 },
- { 0x32B0, 39692 },
- { 0x32B1, 39361 },
- { 0x32B2, 39385 },
- { 0x32B3, 39381 },
- { 0x32B4, 39377 },
- { 0x32B5, 39312 },
- { 0x32B6, 39315 },
- { 0x32B7, 39323 },
- { 0x32B8, 39347 },
- { 0x32B9, 39331 },
- { 0x32BA, 39327 },
- { 0x32BB, 39319 },
- { 0x32BC, 39343 },
- { 0x32BD, 39339 },
- { 0x32BE, 39335 },
- { 0x32BF, 39309 },
- { 0x32C0, 69073 },
- { 0x32C1, 69088 },
- { 0x32C2, 69063 },
- { 0x32C3, 69058 },
- { 0x32C4, 68893 },
- { 0x32C5, 69053 },
- { 0x32C6, 69048 },
- { 0x32C7, 69068 },
- { 0x32C8, 69098 },
- { 0x32C9, 69078 },
- { 0x32CA, 69093 },
- { 0x32CB, 69083 },
- { 0x32CC, 35949 },
- { 0x32CD, 36112 },
- { 0x32CE, 35939 },
- { 0x32CF, 40924 },
- { 0x32D0, 39471 },
- { 0x32D1, 39477 },
- { 0x32D2, 39483 },
- { 0x32D3, 39474 },
- { 0x32D4, 39480 },
- { 0x32D5, 39501 },
- { 0x32D6, 39507 },
- { 0x32D7, 39513 },
- { 0x32D8, 39504 },
- { 0x32D9, 39510 },
- { 0x32DA, 39561 },
- { 0x32DB, 39567 },
- { 0x32DC, 39573 },
- { 0x32DD, 39564 },
- { 0x32DE, 39570 },
- { 0x32DF, 39576 },
- { 0x32E0, 39582 },
- { 0x32E1, 39588 },
- { 0x32E2, 39579 },
- { 0x32E3, 39585 },
- { 0x32E4, 39531 },
- { 0x32E5, 39537 },
- { 0x32E6, 39543 },
- { 0x32E7, 39534 },
- { 0x32E8, 39540 },
- { 0x32E9, 39486 },
- { 0x32EA, 39492 },
- { 0x32EB, 39498 },
- { 0x32EC, 39489 },
- { 0x32ED, 39495 },
- { 0x32EE, 39516 },
- { 0x32EF, 39522 },
- { 0x32F0, 39528 },
- { 0x32F1, 39519 },
- { 0x32F2, 39525 },
- { 0x32F3, 39603 },
- { 0x32F4, 39609 },
- { 0x32F5, 39606 },
- { 0x32F6, 39546 },
- { 0x32F7, 39552 },
- { 0x32F8, 39558 },
- { 0x32F9, 39549 },
- { 0x32FA, 39555 },
- { 0x32FB, 39591 },
- { 0x32FC, 39597 },
- { 0x32FD, 39594 },
- { 0x32FE, 39600 },
- { 0x3300, 36363 },
- { 0x3301, 36365 },
- { 0x3302, 36290 },
- { 0x3303, 36157 },
- { 0x3304, 36375 },
- { 0x3305, 36171 },
- { 0x3306, 36155 },
- { 0x3307, 36421 },
- { 0x3308, 36296 },
- { 0x3309, 36188 },
- { 0x330A, 36190 },
- { 0x330B, 36326 },
- { 0x330C, 36393 },
- { 0x330D, 36395 },
- { 0x330E, 36300 },
- { 0x330F, 36298 },
- { 0x3310, 36167 },
- { 0x3311, 36302 },
- { 0x3312, 36379 },
- { 0x3313, 36391 },
- { 0x3314, 36175 },
- { 0x3315, 36459 },
- { 0x3316, 36463 },
- { 0x3317, 36451 },
- { 0x3318, 36369 },
- { 0x3319, 36447 },
- { 0x331A, 36453 },
- { 0x331B, 36397 },
- { 0x331C, 36328 },
- { 0x331D, 36377 },
- { 0x331E, 36330 },
- { 0x331F, 36415 },
- { 0x3320, 36445 },
- { 0x3321, 36417 },
- { 0x3322, 36353 },
- { 0x3323, 36355 },
- { 0x3324, 36294 },
- { 0x3325, 36161 },
- { 0x3326, 36163 },
- { 0x3327, 36153 },
- { 0x3328, 36186 },
- { 0x3329, 36336 },
- { 0x332A, 36304 },
- { 0x332B, 36441 },
- { 0x332C, 36338 },
- { 0x332D, 36389 },
- { 0x332E, 36457 },
- { 0x332F, 36385 },
- { 0x3330, 36194 },
- { 0x3331, 36159 },
- { 0x3332, 36423 },
- { 0x3333, 36373 },
- { 0x3334, 36419 },
- { 0x3335, 36308 },
- { 0x3336, 36449 },
- { 0x3337, 36192 },
- { 0x3338, 36383 },
- { 0x3339, 36371 },
- { 0x333A, 36342 },
- { 0x333B, 36340 },
- { 0x333C, 36292 },
- { 0x333D, 36387 },
- { 0x333E, 36367 },
- { 0x333F, 36120 },
- { 0x3340, 36344 },
- { 0x3341, 36306 },
- { 0x3342, 36169 },
- { 0x3343, 36401 },
- { 0x3344, 36334 },
- { 0x3345, 36332 },
- { 0x3346, 36381 },
- { 0x3347, 36403 },
- { 0x3348, 36409 },
- { 0x3349, 36184 },
- { 0x334A, 36455 },
- { 0x334B, 36182 },
- { 0x334C, 36407 },
- { 0x334D, 36405 },
- { 0x334E, 36359 },
- { 0x334F, 36361 },
- { 0x3350, 36288 },
- { 0x3351, 36411 },
- { 0x3352, 36198 },
- { 0x3353, 36351 },
- { 0x3354, 36413 },
- { 0x3355, 36196 },
- { 0x3356, 36443 },
- { 0x3357, 36357 },
- { 0x3358, 68940 },
- { 0x3359, 68898 },
- { 0x335A, 68916 },
- { 0x335B, 68958 },
- { 0x335C, 68928 },
- { 0x335D, 68922 },
- { 0x335E, 68904 },
- { 0x335F, 68952 },
- { 0x3360, 68946 },
- { 0x3361, 68934 },
- { 0x3362, 68910 },
- { 0x3363, 68964 },
- { 0x3364, 68970 },
- { 0x3365, 69012 },
- { 0x3366, 69000 },
- { 0x3367, 68982 },
- { 0x3368, 68988 },
- { 0x3369, 69018 },
- { 0x336A, 68994 },
- { 0x336B, 69006 },
- { 0x336C, 68976 },
- { 0x336D, 69024 },
- { 0x336E, 69030 },
- { 0x336F, 69042 },
- { 0x3370, 69036 },
- { 0x3371, 36122 },
- { 0x3372, 35925 },
- { 0x3373, 35907 },
- { 0x3374, 36088 },
- { 0x3375, 36059 },
- { 0x3376, 36066 },
- { 0x3377, 35931 },
- { 0x3378, 35936 },
- { 0x3379, 35933 },
- { 0x337A, 35957 },
- { 0x337B, 36100 },
- { 0x337C, 36104 },
- { 0x337D, 36108 },
- { 0x337E, 36096 },
- { 0x337F, 36461 },
- { 0x3380, 36063 },
- { 0x3381, 36047 },
- { 0x3382, 36013 },
- { 0x3383, 35992 },
- { 0x3384, 35959 },
- { 0x3385, 35961 },
- { 0x3386, 35994 },
- { 0x3387, 35943 },
- { 0x3388, 36090 },
- { 0x3389, 36173 },
- { 0x338A, 36068 },
- { 0x338B, 36049 },
- { 0x338C, 36016 },
- { 0x338D, 36019 },
- { 0x338E, 35999 },
- { 0x338F, 35963 },
- { 0x3390, 35953 },
- { 0x3391, 36124 },
- { 0x3392, 36130 },
- { 0x3393, 36116 },
- { 0x3394, 36151 },
- { 0x3395, 36022 },
- { 0x3396, 36001 },
- { 0x3397, 35929 },
- { 0x3398, 35967 },
- { 0x3399, 35941 },
- { 0x339A, 36051 },
- { 0x339B, 36025 },
- { 0x339C, 36003 },
- { 0x339D, 35915 },
- { 0x339E, 35969 },
- { 0x339F, 36008 },
- { 0x33A0, 35920 },
- { 0x33A1, 35898 },
- { 0x33A2, 35977 },
- { 0x33A3, 36005 },
- { 0x33A4, 35917 },
- { 0x33A5, 35895 },
- { 0x33A6, 35971 },
- { 0x33A7, 35886 },
- { 0x33A8, 35890 },
- { 0x33A9, 36061 },
- { 0x33AA, 36126 },
- { 0x33AB, 36136 },
- { 0x33AC, 36118 },
- { 0x33AD, 36140 },
- { 0x33AE, 36142 },
- { 0x33AF, 36146 },
- { 0x33B0, 36076 },
- { 0x33B1, 36053 },
- { 0x33B2, 36028 },
- { 0x33B3, 36011 },
- { 0x33B4, 36078 },
- { 0x33B5, 36055 },
- { 0x33B6, 36031 },
- { 0x33B7, 36037 },
- { 0x33B8, 35982 },
- { 0x33B9, 36039 },
- { 0x33BA, 36080 },
- { 0x33BB, 36057 },
- { 0x33BC, 36034 },
- { 0x33BD, 36042 },
- { 0x33BE, 35984 },
- { 0x33BF, 36044 },
- { 0x33C0, 35880 },
- { 0x33C1, 35883 },
- { 0x33C2, 35905 },
- { 0x33C3, 35909 },
- { 0x33C4, 35911 },
- { 0x33C5, 35913 },
- { 0x33C6, 35876 },
- { 0x33C7, 35923 },
- { 0x33C8, 35927 },
- { 0x33C9, 35945 },
- { 0x33CA, 35947 },
- { 0x33CB, 35951 },
- { 0x33CC, 35955 },
- { 0x33CD, 35965 },
- { 0x33CE, 35974 },
- { 0x33CF, 35980 },
- { 0x33D0, 35986 },
- { 0x33D1, 35988 },
- { 0x33D2, 36128 },
- { 0x33D3, 35990 },
- { 0x33D4, 35996 },
- { 0x33D5, 36132 },
- { 0x33D6, 36134 },
- { 0x33D7, 36070 },
- { 0x33D8, 36072 },
- { 0x33D9, 36138 },
- { 0x33DA, 36074 },
- { 0x33DB, 36082 },
- { 0x33DC, 36084 },
- { 0x33DD, 36086 },
- { 0x33DE, 35901 },
- { 0x33DF, 35872 },
- { 0x33E0, 68707 },
- { 0x33E1, 68725 },
- { 0x33E2, 68761 },
- { 0x33E3, 68737 },
- { 0x33E4, 68731 },
- { 0x33E5, 68713 },
- { 0x33E6, 68755 },
- { 0x33E7, 68749 },
- { 0x33E8, 68743 },
- { 0x33E9, 68719 },
- { 0x33EA, 68767 },
- { 0x33EB, 68779 },
- { 0x33EC, 68821 },
- { 0x33ED, 68809 },
- { 0x33EE, 68791 },
- { 0x33EF, 68797 },
- { 0x33F0, 68827 },
- { 0x33F1, 68803 },
- { 0x33F2, 68815 },
- { 0x33F3, 68785 },
- { 0x33F4, 68839 },
- { 0x33F5, 68851 },
- { 0x33F6, 68887 },
- { 0x33F7, 68863 },
- { 0x33F8, 68857 },
- { 0x33F9, 68845 },
- { 0x33FA, 68881 },
- { 0x33FB, 68875 },
- { 0x33FC, 68869 },
- { 0x33FD, 68773 },
- { 0x33FE, 68833 },
- { 0x33FF, 36114 },
- { 0x4DC0, 52824 },
- { 0x4DC1, 52838 },
- { 0x4DC2, 52975 },
- { 0x4DC3, 52945 },
- { 0x4DC4, 52921 },
- { 0x4DC5, 52927 },
- { 0x4DC6, 52777 },
- { 0x4DC7, 52907 },
- { 0x4DC8, 52883 },
- { 0x4DC9, 52942 },
- { 0x4DCA, 52880 },
- { 0x4DCB, 53002 },
- { 0x4DCC, 52987 },
- { 0x4DCD, 52864 },
- { 0x4DCE, 52911 },
- { 0x4DCF, 52984 },
- { 0x4DD0, 52958 },
- { 0x4DD1, 52843 },
- { 0x4DD2, 52924 },
- { 0x4DD3, 53017 },
- { 0x4DD4, 52895 },
- { 0x4DD5, 52853 },
- { 0x4DD6, 52971 },
- { 0x4DD7, 52904 },
- { 0x4DD8, 52968 },
- { 0x4DD9, 52860 },
- { 0x4DDA, 52876 },
- { 0x4DDB, 52868 },
- { 0x4DDC, 52799 },
- { 0x4DDD, 52819 },
- { 0x4DDE, 52965 },
- { 0x4DDF, 52933 },
- { 0x4DE0, 52918 },
- { 0x4DE1, 52856 },
- { 0x4DE2, 52939 },
- { 0x4DE3, 52952 },
- { 0x4DE4, 52785 },
- { 0x4DE5, 52993 },
- { 0x4DE6, 53011 },
- { 0x4DE7, 53005 },
- { 0x4DE8, 52930 },
- { 0x4DE9, 52936 },
- { 0x4DEA, 53014 },
- { 0x4DEB, 52899 },
- { 0x4DEC, 52961 },
- { 0x4DED, 52914 },
- { 0x4DEE, 52996 },
- { 0x4DEF, 52781 },
- { 0x4DF0, 52999 },
- { 0x4DF1, 52815 },
- { 0x4DF2, 52810 },
- { 0x4DF3, 52804 },
- { 0x4DF4, 53008 },
- { 0x4DF5, 52829 },
- { 0x4DF6, 52949 },
- { 0x4DF7, 52834 },
- { 0x4DF8, 52789 },
- { 0x4DF9, 52794 },
- { 0x4DFA, 52981 },
- { 0x4DFB, 52990 },
- { 0x4DFC, 52872 },
- { 0x4DFD, 52887 },
- { 0x4DFE, 52849 },
- { 0x4DFF, 52891 },
- { 0x5000, 634 },
- { 0x5001, 637 },
- { 0x5002, 520 },
- { 0x5003, 631 },
- { 0x5004, 1300 },
- { 0x5005, 1303 },
- { 0x5006, 628 },
- { 0x5007, 1297 },
- { 0x5008, 529 },
- { 0x5009, 532 },
- { 0x500A, 514 },
- { 0x500B, 526 },
- { 0x500C, 2011 },
- { 0x500D, 802 },
- { 0x500E, 2008 },
- { 0x500F, 721 },
- { 0x5010, 724 },
- { 0x5011, 523 },
- { 0x5012, 718 },
- { 0x5013, 586 },
- { 0x5014, 517 },
- { 0x5015, 829 },
- { 0x5016, 910 },
- { 0x5017, 913 },
- { 0x5018, 541 },
- { 0x5019, 907 },
- { 0x501A, 2341 },
- { 0x501B, 2344 },
- { 0x501C, 904 },
- { 0x501D, 2338 },
- { 0x501E, 874 },
- { 0x501F, 877 },
- { 0x5020, 535 },
- { 0x5021, 871 },
- { 0x5022, 2350 },
- { 0x5023, 925 },
- { 0x5024, 2347 },
- { 0x5025, 919 },
- { 0x5026, 922 },
- { 0x5027, 544 },
- { 0x5028, 916 },
- { 0x5029, 901 },
- { 0x502A, 538 },
- { 0x502B, 898 },
- { 0x502C, 934 },
- { 0x502D, 937 },
- { 0x502E, 547 },
- { 0x502F, 928 },
- { 0x5030, 2353 },
- { 0x5031, 931 },
- { 0x5032, 946 },
- { 0x5033, 949 },
- { 0x5034, 550 },
- { 0x5035, 940 },
- { 0x5036, 2356 },
- { 0x5037, 943 },
- { 0x5038, 1705 },
- { 0x5039, 1708 },
- { 0x503A, 730 },
- { 0x503B, 1702 },
- { 0x503C, 3274 },
- { 0x503D, 1699 },
- { 0x503E, 3271 },
- { 0x503F, 1693 },
- { 0x5040, 1696 },
- { 0x5041, 727 },
- { 0x5042, 1690 },
- { 0x5043, 3280 },
- { 0x5044, 1720 },
- { 0x5045, 3277 },
- { 0x5046, 1714 },
- { 0x5047, 1717 },
- { 0x5048, 733 },
- { 0x5049, 1711 },
- { 0x504A, 1729 },
- { 0x504B, 1732 },
- { 0x504C, 736 },
- { 0x504D, 1723 },
- { 0x504E, 3283 },
- { 0x504F, 1726 },
- { 0x5050, 1741 },
- { 0x5051, 1744 },
- { 0x5052, 739 },
- { 0x5053, 1735 },
- { 0x5054, 3286 },
- { 0x5055, 1738 },
- { 0x5056, 2299 },
- { 0x5057, 2302 },
- { 0x5058, 886 },
- { 0x5059, 2296 },
- { 0x505A, 3709 },
- { 0x505B, 3712 },
- { 0x505C, 2293 },
- { 0x505D, 3706 },
- { 0x505E, 2281 },
- { 0x505F, 2284 },
- { 0x5060, 880 },
- { 0x5061, 2278 },
- { 0x5062, 3718 },
- { 0x5063, 2314 },
- { 0x5064, 3715 },
- { 0x5065, 2308 },
- { 0x5066, 2311 },
- { 0x5067, 889 },
- { 0x5068, 2305 },
- { 0x5069, 2290 },
- { 0x506A, 883 },
- { 0x506B, 2287 },
- { 0x506C, 2323 },
- { 0x506D, 2326 },
- { 0x506E, 892 },
- { 0x506F, 2317 },
- { 0x5070, 3721 },
- { 0x5071, 2320 },
- { 0x5072, 2332 },
- { 0x5073, 2335 },
- { 0x5074, 895 },
- { 0x5075, 2329 },
- { 0x5076, 2959 },
- { 0x5077, 2962 },
- { 0x5078, 1561 },
- { 0x5079, 2956 },
- { 0x507A, 3871 },
- { 0x507B, 2953 },
- { 0x507C, 3868 },
- { 0x507D, 2947 },
- { 0x507E, 2950 },
- { 0x507F, 1558 },
- { 0x5080, 2944 },
- { 0x5081, 2968 },
- { 0x5082, 2971 },
- { 0x5083, 1564 },
- { 0x5084, 2965 },
- { 0x5085, 2980 },
- { 0x5086, 2983 },
- { 0x5087, 1567 },
- { 0x5088, 2974 },
- { 0x5089, 3874 },
- { 0x508A, 2977 },
- { 0x508B, 2992 },
- { 0x508C, 2995 },
- { 0x508D, 1570 },
- { 0x508E, 2986 },
- { 0x508F, 3877 },
- { 0x5090, 2989 },
- { 0x5091, 2647 },
- { 0x5092, 2650 },
- { 0x5093, 1252 },
- { 0x5094, 2644 },
- { 0x5095, 3793 },
- { 0x5096, 2641 },
- { 0x5097, 3790 },
- { 0x5098, 2635 },
- { 0x5099, 2638 },
- { 0x509A, 1249 },
- { 0x509B, 2632 },
- { 0x509C, 3799 },
- { 0x509D, 2662 },
- { 0x509E, 3796 },
- { 0x509F, 2656 },
- { 0x50A0, 2659 },
- { 0x50A1, 1255 },
- { 0x50A2, 2653 },
- { 0x50A3, 2671 },
- { 0x50A4, 2674 },
- { 0x50A5, 1258 },
- { 0x50A6, 2665 },
- { 0x50A7, 3802 },
- { 0x50A8, 2668 },
- { 0x50A9, 2683 },
- { 0x50AA, 1261 },
- { 0x50AB, 2677 },
- { 0x50AC, 3805 },
- { 0x50AD, 2680 },
- { 0x50AE, 1513 },
- { 0x50AF, 1516 },
- { 0x50B0, 691 },
- { 0x50B1, 1510 },
- { 0x50B2, 2929 },
- { 0x50B3, 1507 },
- { 0x50B4, 2926 },
- { 0x50B5, 1486 },
- { 0x50B6, 1489 },
- { 0x50B7, 685 },
- { 0x50B8, 1483 },
- { 0x50B9, 2935 },
- { 0x50BA, 2938 },
- { 0x50BB, 1528 },
- { 0x50BC, 2932 },
- { 0x50BD, 1522 },
- { 0x50BE, 1525 },
- { 0x50BF, 694 },
- { 0x50C0, 1519 },
- { 0x50C1, 1492 },
- { 0x50C2, 688 },
- { 0x50C3, 1537 },
- { 0x50C4, 1540 },
- { 0x50C5, 697 },
- { 0x50C6, 1531 },
- { 0x50C7, 2941 },
- { 0x50C8, 1534 },
- { 0x50C9, 1546 },
- { 0x50CA, 1549 },
- { 0x50CB, 700 },
- { 0x50CC, 1543 },
- { 0x50CD, 1108 },
- { 0x50CE, 1111 },
- { 0x50CF, 592 },
- { 0x50D0, 1105 },
- { 0x50D1, 1099 },
- { 0x50D2, 1102 },
- { 0x50D3, 589 },
- { 0x50D4, 1096 },
- { 0x50D5, 1117 },
- { 0x50D6, 595 },
- { 0x50D7, 1114 },
- { 0x50D8, 1126 },
- { 0x50D9, 1129 },
- { 0x50DA, 598 },
- { 0x50DB, 1120 },
- { 0x50DC, 2494 },
- { 0x50DD, 1123 },
- { 0x50DE, 1135 },
- { 0x50DF, 1138 },
- { 0x50E0, 601 },
- { 0x50E1, 1132 },
- { 0x50E2, 2035 },
- { 0x50E3, 2038 },
- { 0x50E4, 808 },
- { 0x50E5, 2032 },
- { 0x50E6, 3523 },
- { 0x50E7, 3526 },
- { 0x50E8, 2029 },
- { 0x50E9, 3520 },
- { 0x50EA, 2017 },
- { 0x50EB, 2020 },
- { 0x50EC, 805 },
- { 0x50ED, 2014 },
- { 0x50EE, 2044 },
- { 0x50EF, 2047 },
- { 0x50F0, 811 },
- { 0x50F1, 2041 },
- { 0x50F2, 2026 },
- { 0x50F3, 2023 },
- { 0x50F4, 2056 },
- { 0x50F5, 2059 },
- { 0x50F6, 814 },
- { 0x50F7, 2050 },
- { 0x50F8, 3529 },
- { 0x50F9, 2053 },
- { 0x50FA, 2068 },
- { 0x50FB, 2071 },
- { 0x50FC, 817 },
- { 0x50FD, 2062 },
- { 0x50FE, 3532 },
- { 0x50FF, 2065 },
- { 0x5100, 1066 },
- { 0x5101, 1069 },
- { 0x5102, 577 },
- { 0x5103, 1063 },
- { 0x5104, 2485 },
- { 0x5105, 1060 },
- { 0x5106, 2482 },
- { 0x5107, 1033 },
- { 0x5108, 1036 },
- { 0x5109, 571 },
- { 0x510A, 1030 },
- { 0x510B, 2488 },
- { 0x510C, 1081 },
- { 0x510D, 1075 },
- { 0x510E, 1078 },
- { 0x510F, 580 },
- { 0x5110, 1072 },
- { 0x5111, 1057 },
- { 0x5112, 574 },
- { 0x5113, 1054 },
- { 0x5114, 1090 },
- { 0x5115, 1093 },
- { 0x5116, 583 },
- { 0x5117, 1084 },
- { 0x5118, 2491 },
- { 0x5119, 1087 },
- { 0x511A, 1978 },
- { 0x511B, 1981 },
- { 0x511C, 793 },
- { 0x511D, 1975 },
- { 0x511E, 3505 },
- { 0x511F, 1972 },
- { 0x5120, 3502 },
- { 0x5121, 1960 },
- { 0x5122, 1963 },
- { 0x5123, 787 },
- { 0x5124, 1957 },
- { 0x5125, 3511 },
- { 0x5126, 3514 },
- { 0x5127, 1993 },
- { 0x5128, 3508 },
- { 0x5129, 1987 },
- { 0x512A, 1990 },
- { 0x512B, 796 },
- { 0x512C, 1984 },
- { 0x512D, 1969 },
- { 0x512E, 790 },
- { 0x512F, 1966 },
- { 0x5130, 2002 },
- { 0x5131, 2005 },
- { 0x5132, 799 },
- { 0x5133, 1996 },
- { 0x5134, 3517 },
- { 0x5135, 1999 },
- { 0x5136, 2452 },
- { 0x5137, 2455 },
- { 0x5138, 1045 },
- { 0x5139, 2449 },
- { 0x513A, 3742 },
- { 0x513B, 2446 },
- { 0x513C, 3739 },
- { 0x513D, 2434 },
- { 0x513E, 2437 },
- { 0x513F, 1039 },
- { 0x5140, 2431 },
- { 0x5141, 3748 },
- { 0x5142, 2467 },
- { 0x5143, 3745 },
- { 0x5144, 2461 },
- { 0x5145, 2464 },
- { 0x5146, 1048 },
- { 0x5147, 2458 },
- { 0x5148, 2443 },
- { 0x5149, 1042 },
- { 0x514A, 2440 },
- { 0x514B, 2476 },
- { 0x514C, 2479 },
- { 0x514D, 1051 },
- { 0x514E, 2470 },
- { 0x514F, 3751 },
- { 0x5150, 2473 },
- { 0x5151, 3019 },
- { 0x5152, 3022 },
- { 0x5153, 1579 },
- { 0x5154, 3016 },
- { 0x5155, 3880 },
- { 0x5156, 3013 },
- { 0x5157, 3001 },
- { 0x5158, 3004 },
- { 0x5159, 1573 },
- { 0x515A, 2998 },
- { 0x515B, 3028 },
- { 0x515C, 3031 },
- { 0x515D, 1582 },
- { 0x515E, 3025 },
- { 0x515F, 3010 },
- { 0x5160, 1576 },
- { 0x5161, 3007 },
- { 0x5162, 3040 },
- { 0x5163, 3043 },
- { 0x5164, 1585 },
- { 0x5165, 3034 },
- { 0x5166, 3883 },
- { 0x5167, 3037 },
- { 0x5168, 2707 },
- { 0x5169, 2710 },
- { 0x516A, 1270 },
- { 0x516B, 2704 },
- { 0x516C, 3811 },
- { 0x516D, 3814 },
- { 0x516E, 2701 },
- { 0x516F, 3808 },
- { 0x5170, 2689 },
- { 0x5171, 2692 },
- { 0x5172, 1264 },
- { 0x5173, 2686 },
- { 0x5174, 3817 },
- { 0x5175, 2722 },
- { 0x5176, 2716 },
- { 0x5177, 2719 },
- { 0x5178, 2713 },
- { 0x5179, 2698 },
- { 0x517A, 1267 },
- { 0x517B, 2695 },
- { 0x517C, 2725 },
- { 0x517D, 1609 },
- { 0x517E, 1612 },
- { 0x517F, 709 },
- { 0x5180, 1606 },
- { 0x5181, 3079 },
- { 0x5182, 1603 },
- { 0x5183, 3076 },
- { 0x5184, 1555 },
- { 0x5185, 703 },
- { 0x5186, 1552 },
- { 0x5187, 3178 },
- { 0x5188, 1651 },
- { 0x5189, 3175 },
- { 0x518A, 1630 },
- { 0x518B, 1633 },
- { 0x518C, 712 },
- { 0x518D, 1627 },
- { 0x518E, 1591 },
- { 0x518F, 706 },
- { 0x5190, 1588 },
- { 0x5191, 1660 },
- { 0x5192, 1663 },
- { 0x5193, 715 },
- { 0x5194, 1654 },
- { 0x5195, 3181 },
- { 0x5196, 1657 },
- { 0x5197, 2593 },
- { 0x5198, 2596 },
- { 0x5199, 1237 },
- { 0x519A, 2590 },
- { 0x519B, 3775 },
- { 0x519C, 2587 },
- { 0x519D, 3772 },
- { 0x519E, 2575 },
- { 0x519F, 2578 },
- { 0x51A0, 1231 },
- { 0x51A1, 2572 },
- { 0x51A2, 3781 },
- { 0x51A3, 2605 },
- { 0x51A4, 3778 },
- { 0x51A5, 2602 },
- { 0x51A6, 1240 },
- { 0x51A7, 2599 },
- { 0x51A8, 2584 },
- { 0x51A9, 1234 },
- { 0x51AA, 2581 },
- { 0x51AB, 2614 },
- { 0x51AC, 2617 },
- { 0x51AD, 1243 },
- { 0x51AE, 2608 },
- { 0x51AF, 3784 },
- { 0x51B0, 2611 },
- { 0x51B1, 2626 },
- { 0x51B2, 2629 },
- { 0x51B3, 1246 },
- { 0x51B4, 2620 },
- { 0x51B5, 3787 },
- { 0x51B6, 2623 },
- { 0x51B7, 1441 },
- { 0x51B8, 1444 },
- { 0x51B9, 673 },
- { 0x51BA, 1438 },
- { 0x51BB, 2863 },
- { 0x51BC, 2866 },
- { 0x51BD, 1435 },
- { 0x51BE, 2860 },
- { 0x51BF, 1423 },
- { 0x51C0, 1426 },
- { 0x51C1, 667 },
- { 0x51C2, 1420 },
- { 0x51C3, 2872 },
- { 0x51C4, 2875 },
- { 0x51C5, 1456 },
- { 0x51C6, 2869 },
- { 0x51C7, 1450 },
- { 0x51C8, 1453 },
- { 0x51C9, 676 },
- { 0x51CA, 1447 },
- { 0x51CB, 1432 },
- { 0x51CC, 670 },
- { 0x51CD, 1429 },
- { 0x51CE, 1465 },
- { 0x51CF, 1468 },
- { 0x51D0, 679 },
- { 0x51D1, 1459 },
- { 0x51D2, 2878 },
- { 0x51D3, 1462 },
- { 0x51D4, 1477 },
- { 0x51D5, 1480 },
- { 0x51D6, 682 },
- { 0x51D7, 1471 },
- { 0x51D8, 2881 },
- { 0x51D9, 1474 },
- { 0x51DA, 1180 },
- { 0x51DB, 1183 },
- { 0x51DC, 610 },
- { 0x51DD, 1177 },
- { 0x51DE, 2551 },
- { 0x51DF, 2554 },
- { 0x51E0, 1174 },
- { 0x51E1, 2548 },
- { 0x51E2, 1144 },
- { 0x51E3, 1147 },
- { 0x51E4, 604 },
- { 0x51E5, 1141 },
- { 0x51E6, 2560 },
- { 0x51E7, 2563 },
- { 0x51E8, 1195 },
- { 0x51E9, 2557 },
- { 0x51EA, 1189 },
- { 0x51EB, 1192 },
- { 0x51EC, 613 },
- { 0x51ED, 1186 },
- { 0x51EE, 1153 },
- { 0x51EF, 1156 },
- { 0x51F0, 607 },
- { 0x51F1, 1150 },
- { 0x51F2, 1204 },
- { 0x51F3, 1207 },
- { 0x51F4, 616 },
- { 0x51F5, 1198 },
- { 0x51F6, 2566 },
- { 0x51F7, 1201 },
- { 0x51F8, 1390 },
- { 0x51F9, 1393 },
- { 0x51FA, 658 },
- { 0x51FB, 1387 },
- { 0x51FC, 2848 },
- { 0x51FD, 1384 },
- { 0x51FE, 2845 },
- { 0x51FF, 1369 },
- { 0x5200, 1372 },
- { 0x5201, 652 },
- { 0x5202, 1366 },
- { 0x5203, 2854 },
- { 0x5204, 1405 },
- { 0x5205, 2851 },
- { 0x5206, 1399 },
- { 0x5207, 1402 },
- { 0x5208, 661 },
- { 0x5209, 1396 },
- { 0x520A, 1378 },
- { 0x520B, 1381 },
- { 0x520C, 655 },
- { 0x520D, 1375 },
- { 0x520E, 1414 },
- { 0x520F, 1417 },
- { 0x5210, 664 },
- { 0x5211, 1408 },
- { 0x5212, 2857 },
- { 0x5213, 1411 },
- { 0x5214, 2518 },
- { 0x5215, 2521 },
- { 0x5216, 1165 },
- { 0x5217, 3757 },
- { 0x5218, 2515 },
- { 0x5219, 3754 },
- { 0x521A, 2500 },
- { 0x521B, 2503 },
- { 0x521C, 1159 },
- { 0x521D, 2497 },
- { 0x521E, 3763 },
- { 0x521F, 3766 },
- { 0x5220, 2533 },
- { 0x5221, 3760 },
- { 0x5222, 2527 },
- { 0x5223, 2530 },
- { 0x5224, 1168 },
- { 0x5225, 2524 },
- { 0x5226, 2509 },
- { 0x5227, 2512 },
- { 0x5228, 1162 },
- { 0x5229, 2506 },
- { 0x522A, 2542 },
- { 0x522B, 2545 },
- { 0x522C, 1171 },
- { 0x522D, 2536 },
- { 0x522E, 3769 },
- { 0x522F, 2539 },
- { 0x5230, 3856 },
- { 0x5231, 2899 },
- { 0x5232, 2887 },
- { 0x5233, 2890 },
- { 0x5234, 1495 },
- { 0x5235, 2884 },
- { 0x5236, 3862 },
- { 0x5237, 2911 },
- { 0x5238, 3859 },
- { 0x5239, 2905 },
- { 0x523A, 2908 },
- { 0x523B, 1501 },
- { 0x523C, 2902 },
- { 0x523D, 2896 },
- { 0x523E, 1498 },
- { 0x523F, 2893 },
- { 0x5240, 2920 },
- { 0x5241, 2923 },
- { 0x5242, 1504 },
- { 0x5243, 2914 },
- { 0x5244, 3865 },
- { 0x5245, 2917 },
- { 0x5246, 2758 },
- { 0x5247, 2761 },
- { 0x5248, 1291 },
- { 0x5249, 2755 },
- { 0x524A, 3823 },
- { 0x524B, 3826 },
- { 0x524C, 2752 },
- { 0x524D, 3820 },
- { 0x524E, 2740 },
- { 0x524F, 2743 },
- { 0x5250, 1285 },
- { 0x5251, 2737 },
- { 0x5252, 3832 },
- { 0x5253, 3835 },
- { 0x5254, 2773 },
- { 0x5255, 3829 },
- { 0x5256, 2767 },
- { 0x5257, 2770 },
- { 0x5258, 1294 },
- { 0x5259, 2764 },
- { 0x525A, 2749 },
- { 0x525B, 1288 },
- { 0x525C, 2746 },
- { 0x525D, 3889 },
- { 0x525E, 3061 },
- { 0x525F, 3886 },
- { 0x5260, 3049 },
- { 0x5261, 3052 },
- { 0x5262, 1594 },
- { 0x5263, 3046 },
- { 0x5264, 3892 },
- { 0x5265, 3895 },
- { 0x5266, 3073 },
- { 0x5267, 3067 },
- { 0x5268, 3070 },
- { 0x5269, 1600 },
- { 0x526A, 3064 },
- { 0x526B, 3058 },
- { 0x526C, 1597 },
- { 0x526D, 3055 },
- { 0x526E, 1228 },
- { 0x526F, 2569 },
- { 0x5270, 1225 },
- { 0x5271, 1213 },
- { 0x5272, 1216 },
- { 0x5273, 619 },
- { 0x5274, 1210 },
- { 0x5275, 2731 },
- { 0x5276, 2734 },
- { 0x5277, 1282 },
- { 0x5278, 2728 },
- { 0x5279, 1276 },
- { 0x527A, 1279 },
- { 0x527B, 625 },
- { 0x527C, 1273 },
- { 0x527D, 1222 },
- { 0x527E, 622 },
- { 0x527F, 1219 },
- { 0x5280, 2077 },
- { 0x5281, 2080 },
- { 0x5282, 820 },
- { 0x5283, 2074 },
- { 0x5284, 3538 },
- { 0x5285, 2095 },
- { 0x5286, 3535 },
- { 0x5287, 2092 },
- { 0x5288, 826 },
- { 0x5289, 2089 },
- { 0x528A, 2086 },
- { 0x528B, 823 },
- { 0x528C, 2083 },
- { 0x528D, 2218 },
- { 0x528E, 2221 },
- { 0x528F, 859 },
- { 0x5290, 2215 },
- { 0x5291, 3637 },
- { 0x5292, 2212 },
- { 0x5293, 3634 },
- { 0x5294, 2185 },
- { 0x5295, 2188 },
- { 0x5296, 853 },
- { 0x5297, 2182 },
- { 0x5298, 3643 },
- { 0x5299, 2233 },
- { 0x529A, 3640 },
- { 0x529B, 2227 },
- { 0x529C, 2230 },
- { 0x529D, 862 },
- { 0x529E, 2224 },
- { 0x529F, 2194 },
- { 0x52A0, 856 },
- { 0x52A1, 2191 },
- { 0x52A2, 2242 },
- { 0x52A3, 2245 },
- { 0x52A4, 865 },
- { 0x52A5, 2236 },
- { 0x52A6, 3646 },
- { 0x52A7, 2239 },
- { 0x52A8, 2254 },
- { 0x52A9, 2257 },
- { 0x52AA, 868 },
- { 0x52AB, 2248 },
- { 0x52AC, 3649 },
- { 0x52AD, 2251 },
- { 0x52AE, 988 },
- { 0x52AF, 991 },
- { 0x52B0, 559 },
- { 0x52B1, 985 },
- { 0x52B2, 2413 },
- { 0x52B3, 2416 },
- { 0x52B4, 982 },
- { 0x52B5, 2410 },
- { 0x52B6, 955 },
- { 0x52B7, 958 },
- { 0x52B8, 553 },
- { 0x52B9, 952 },
- { 0x52BA, 2422 },
- { 0x52BB, 1003 },
- { 0x52BC, 2419 },
- { 0x52BD, 997 },
- { 0x52BE, 1000 },
- { 0x52BF, 562 },
- { 0x52C0, 994 },
- { 0x52C1, 964 },
- { 0x52C2, 556 },
- { 0x52C3, 961 },
- { 0x52C4, 1012 },
- { 0x52C5, 1015 },
- { 0x52C6, 565 },
- { 0x52C7, 1006 },
- { 0x52C8, 2425 },
- { 0x52C9, 1009 },
- { 0x52CA, 1024 },
- { 0x52CB, 1027 },
- { 0x52CC, 568 },
- { 0x52CD, 1018 },
- { 0x52CE, 2428 },
- { 0x52CF, 1021 },
- { 0x52D0, 3673 },
- { 0x52D1, 3676 },
- { 0x52D2, 2266 },
- { 0x52D3, 3670 },
- { 0x52D4, 3997 },
- { 0x52D5, 4000 },
- { 0x52D6, 3667 },
- { 0x52D7, 3994 },
- { 0x52D8, 3655 },
- { 0x52D9, 3658 },
- { 0x52DA, 2260 },
- { 0x52DB, 3652 },
- { 0x52DC, 3682 },
- { 0x52DD, 2269 },
- { 0x52DE, 3679 },
- { 0x52DF, 3664 },
- { 0x52E0, 2263 },
- { 0x52E1, 3661 },
- { 0x52E2, 3691 },
- { 0x52E3, 2272 },
- { 0x52E4, 3685 },
- { 0x52E5, 4003 },
- { 0x52E6, 3688 },
- { 0x52E7, 3700 },
- { 0x52E8, 3703 },
- { 0x52E9, 2275 },
- { 0x52EA, 3694 },
- { 0x52EB, 4006 },
- { 0x52EC, 3697 },
- { 0x52ED, 3235 },
- { 0x52EE, 3238 },
- { 0x52EF, 1681 },
- { 0x52F0, 3232 },
- { 0x52F1, 3940 },
- { 0x52F2, 3229 },
- { 0x52F3, 3937 },
- { 0x52F4, 3220 },
- { 0x52F5, 3223 },
- { 0x52F6, 1675 },
- { 0x52F7, 3217 },
- { 0x52F8, 3943 },
- { 0x52F9, 3247 },
- { 0x52FA, 3244 },
- { 0x52FB, 3241 },
- { 0x52FC, 3226 },
- { 0x52FD, 1678 },
- { 0x52FE, 3256 },
- { 0x52FF, 1684 },
- { 0x5300, 3250 },
- { 0x5301, 3946 },
- { 0x5302, 3253 },
- { 0x5303, 3265 },
- { 0x5304, 3268 },
- { 0x5305, 1687 },
- { 0x5306, 3259 },
- { 0x5307, 3949 },
- { 0x5308, 3262 },
- { 0x5309, 1897 },
- { 0x530A, 1900 },
- { 0x530B, 775 },
- { 0x530C, 1894 },
- { 0x530D, 3430 },
- { 0x530E, 1891 },
- { 0x530F, 3427 },
- { 0x5310, 1864 },
- { 0x5311, 1867 },
- { 0x5312, 769 },
- { 0x5313, 1861 },
- { 0x5314, 3493 },
- { 0x5315, 1930 },
- { 0x5316, 3490 },
- { 0x5317, 1906 },
- { 0x5318, 1909 },
- { 0x5319, 778 },
- { 0x531A, 1903 },
- { 0x531B, 1873 },
- { 0x531C, 772 },
- { 0x531D, 1870 },
- { 0x531E, 1939 },
- { 0x531F, 1942 },
- { 0x5320, 781 },
- { 0x5321, 1933 },
- { 0x5322, 3496 },
- { 0x5323, 1936 },
- { 0x5324, 1951 },
- { 0x5325, 1954 },
- { 0x5326, 784 },
- { 0x5327, 1945 },
- { 0x5328, 3499 },
- { 0x5329, 1948 },
- { 0x532A, 3454 },
- { 0x532B, 3457 },
- { 0x532C, 1918 },
- { 0x532D, 3451 },
- { 0x532E, 3976 },
- { 0x532F, 3448 },
- { 0x5330, 3973 },
- { 0x5331, 3436 },
- { 0x5332, 3439 },
- { 0x5333, 1912 },
- { 0x5334, 3433 },
- { 0x5335, 3463 },
- { 0x5336, 3466 },
- { 0x5337, 1921 },
- { 0x5338, 3460 },
- { 0x5339, 3445 },
- { 0x533A, 1915 },
- { 0x533B, 3442 },
- { 0x533C, 3472 },
- { 0x533D, 3475 },
- { 0x533E, 1924 },
- { 0x533F, 3469 },
- { 0x5340, 3484 },
- { 0x5341, 3487 },
- { 0x5342, 1927 },
- { 0x5343, 3478 },
- { 0x5344, 3979 },
- { 0x5345, 3481 },
- { 0x5346, 3583 },
- { 0x5347, 3586 },
- { 0x5348, 2197 },
- { 0x5349, 3580 },
- { 0x534A, 3985 },
- { 0x534B, 3607 },
- { 0x534C, 3982 },
- { 0x534D, 3601 },
- { 0x534E, 3604 },
- { 0x534F, 2203 },
- { 0x5350, 3598 },
- { 0x5351, 3592 },
- { 0x5352, 3595 },
- { 0x5353, 2200 },
- { 0x5354, 3589 },
- { 0x5355, 3616 },
- { 0x5356, 3619 },
- { 0x5357, 2206 },
- { 0x5358, 3610 },
- { 0x5359, 3988 },
- { 0x535A, 3613 },
- { 0x535B, 3628 },
- { 0x535C, 3631 },
- { 0x535D, 2209 },
- { 0x535E, 3622 },
- { 0x535F, 3991 },
- { 0x5360, 3625 },
- { 0x5361, 2362 },
- { 0x5362, 2365 },
- { 0x5363, 967 },
- { 0x5364, 2359 },
- { 0x5365, 3727 },
- { 0x5366, 3730 },
- { 0x5367, 2386 },
- { 0x5368, 3724 },
- { 0x5369, 2380 },
- { 0x536A, 2383 },
- { 0x536B, 973 },
- { 0x536C, 2377 },
- { 0x536D, 2371 },
- { 0x536E, 2374 },
- { 0x536F, 970 },
- { 0x5370, 2368 },
- { 0x5371, 2395 },
- { 0x5372, 976 },
- { 0x5373, 2389 },
- { 0x5374, 3733 },
- { 0x5375, 2392 },
- { 0x5376, 2404 },
- { 0x5377, 2407 },
- { 0x5378, 979 },
- { 0x5379, 2398 },
- { 0x537A, 3736 },
- { 0x537B, 2401 },
- { 0x537C, 3313 },
- { 0x537D, 1819 },
- { 0x537E, 3952 },
- { 0x537F, 3334 },
- { 0x5380, 3328 },
- { 0x5381, 3331 },
- { 0x5382, 1825 },
- { 0x5383, 3325 },
- { 0x5384, 3319 },
- { 0x5385, 3322 },
- { 0x5386, 1822 },
- { 0x5387, 3316 },
- { 0x5388, 3343 },
- { 0x5389, 3346 },
- { 0x538A, 1828 },
- { 0x538B, 3337 },
- { 0x538C, 3955 },
- { 0x538D, 3340 },
- { 0x538E, 3355 },
- { 0x538F, 3358 },
- { 0x5390, 1831 },
- { 0x5391, 3349 },
- { 0x5392, 3958 },
- { 0x5393, 3352 },
- { 0x5394, 3130 },
- { 0x5395, 3133 },
- { 0x5396, 1636 },
- { 0x5397, 3127 },
- { 0x5398, 3148 },
- { 0x5399, 1642 },
- { 0x539A, 3145 },
- { 0x539B, 3139 },
- { 0x539C, 3142 },
- { 0x539D, 1639 },
- { 0x539E, 3136 },
- { 0x539F, 3157 },
- { 0x53A0, 3160 },
- { 0x53A1, 1645 },
- { 0x53A2, 3151 },
- { 0x53A3, 3916 },
- { 0x53A4, 3154 },
- { 0x53A5, 3169 },
- { 0x53A6, 3172 },
- { 0x53A7, 1648 },
- { 0x53A8, 3163 },
- { 0x53A9, 3919 },
- { 0x53AA, 3166 },
- { 0x53AB, 3376 },
- { 0x53AC, 3379 },
- { 0x53AD, 1876 },
- { 0x53AE, 3373 },
- { 0x53AF, 3964 },
- { 0x53B0, 3400 },
- { 0x53B1, 3961 },
- { 0x53B2, 3394 },
- { 0x53B3, 3397 },
- { 0x53B4, 1882 },
- { 0x53B5, 3391 },
- { 0x53B6, 3385 },
- { 0x53B7, 3388 },
- { 0x53B8, 1879 },
- { 0x53B9, 3382 },
- { 0x53BA, 3409 },
- { 0x53BB, 3412 },
- { 0x53BC, 1885 },
- { 0x53BD, 3403 },
- { 0x53BE, 3967 },
- { 0x53BF, 3406 },
- { 0x53C0, 3421 },
- { 0x53C1, 3424 },
- { 0x53C2, 1888 },
- { 0x53C3, 3415 },
- { 0x53C4, 3970 },
- { 0x53C5, 3418 },
- { 0x53C6, 1798 },
- { 0x53C7, 1801 },
- { 0x53C8, 754 },
- { 0x53C9, 1795 },
- { 0x53CA, 3364 },
- { 0x53CB, 1834 },
- { 0x53CC, 3361 },
- { 0x53CD, 1813 },
- { 0x53CE, 1816 },
- { 0x53CF, 760 },
- { 0x53D0, 1810 },
- { 0x53D1, 1807 },
- { 0x53D2, 757 },
- { 0x53D3, 1804 },
- { 0x53D4, 1843 },
- { 0x53D5, 1846 },
- { 0x53D6, 763 },
- { 0x53D7, 1837 },
- { 0x53D8, 3367 },
- { 0x53D9, 1840 },
- { 0x53DA, 1855 },
- { 0x53DB, 1858 },
- { 0x53DC, 766 },
- { 0x53DD, 1849 },
- { 0x53DE, 3370 },
- { 0x53DF, 1852 },
- { 0x53E0, 1312 },
- { 0x53E1, 1315 },
- { 0x53E2, 640 },
- { 0x53E3, 1309 },
- { 0x53E4, 2779 },
- { 0x53E5, 2782 },
- { 0x53E6, 1306 },
- { 0x53E7, 2776 },
- { 0x53E8, 2833 },
- { 0x53E9, 2836 },
- { 0x53EA, 1339 },
- { 0x53EB, 2830 },
- { 0x53EC, 1333 },
- { 0x53ED, 1336 },
- { 0x53EE, 643 },
- { 0x53EF, 1330 },
- { 0x53F0, 1348 },
- { 0x53F1, 1351 },
- { 0x53F2, 646 },
- { 0x53F3, 1342 },
- { 0x53F4, 2839 },
- { 0x53F5, 1345 },
- { 0x53F6, 1360 },
- { 0x53F7, 1363 },
- { 0x53F8, 649 },
- { 0x53F9, 1354 },
- { 0x53FA, 2842 },
- { 0x53FB, 1357 },
- { 0x53FC, 1753 },
- { 0x53FD, 1756 },
- { 0x53FE, 742 },
- { 0x53FF, 1750 },
- { 0x5400, 3292 },
- { 0x5401, 3295 },
- { 0x5402, 1747 },
- { 0x5403, 3289 },
- { 0x5404, 3301 },
- { 0x5405, 3304 },
- { 0x5406, 1768 },
- { 0x5407, 3298 },
- { 0x5408, 1762 },
- { 0x5409, 1765 },
- { 0x540A, 745 },
- { 0x540B, 1759 },
- { 0x540C, 1777 },
- { 0x540D, 1780 },
- { 0x540E, 748 },
- { 0x540F, 1771 },
- { 0x5410, 3307 },
- { 0x5411, 1774 },
- { 0x5412, 1789 },
- { 0x5413, 1792 },
- { 0x5414, 751 },
- { 0x5415, 1783 },
- { 0x5416, 3310 },
- { 0x5417, 1786 },
- { 0x5418, 2791 },
- { 0x5419, 2794 },
- { 0x541A, 1318 },
- { 0x541B, 2788 },
- { 0x541C, 3841 },
- { 0x541D, 3844 },
- { 0x541E, 2785 },
- { 0x541F, 3838 },
- { 0x5420, 3850 },
- { 0x5421, 2806 },
- { 0x5422, 3847 },
- { 0x5423, 2800 },
- { 0x5424, 2803 },
- { 0x5425, 1321 },
- { 0x5426, 2797 },
- { 0x5427, 2815 },
- { 0x5428, 2818 },
- { 0x5429, 1324 },
- { 0x542A, 2809 },
- { 0x542B, 3853 },
- { 0x542C, 2812 },
- { 0x542D, 2824 },
- { 0x542E, 2827 },
- { 0x542F, 1327 },
- { 0x5430, 2821 },
- { 0x5431, 3088 },
- { 0x5432, 3091 },
- { 0x5433, 1615 },
- { 0x5434, 3085 },
- { 0x5435, 3901 },
- { 0x5436, 3904 },
- { 0x5437, 3082 },
- { 0x5438, 3898 },
- { 0x5439, 3907 },
- { 0x543A, 3103 },
- { 0x543B, 3097 },
- { 0x543C, 3100 },
- { 0x543D, 1618 },
- { 0x543E, 3094 },
- { 0x543F, 3112 },
- { 0x5440, 1621 },
- { 0x5441, 3106 },
- { 0x5442, 3910 },
- { 0x5443, 3109 },
- { 0x5444, 3121 },
- { 0x5445, 3124 },
- { 0x5446, 1624 },
- { 0x5447, 3115 },
- { 0x5448, 3913 },
- { 0x5449, 3118 },
- { 0x544A, 3190 },
- { 0x544B, 3193 },
- { 0x544C, 1666 },
- { 0x544D, 3187 },
- { 0x544E, 3925 },
- { 0x544F, 3928 },
- { 0x5450, 3184 },
- { 0x5451, 3922 },
- { 0x5452, 3934 },
- { 0x5453, 3205 },
- { 0x5454, 3931 },
- { 0x5455, 3199 },
- { 0x5456, 3202 },
- { 0x5457, 1669 },
- { 0x5458, 3196 },
- { 0x5459, 3211 },
- { 0x545A, 3214 },
- { 0x545B, 1672 },
- { 0x545C, 3208 },
- { 0x545D, 2104 },
- { 0x545E, 2107 },
- { 0x545F, 832 },
- { 0x5460, 2101 },
- { 0x5461, 3544 },
- { 0x5462, 3547 },
- { 0x5463, 2098 },
- { 0x5464, 3541 },
- { 0x5465, 3550 },
- { 0x5466, 2119 },
- { 0x5467, 2113 },
- { 0x5468, 2116 },
- { 0x5469, 835 },
- { 0x546A, 2110 },
- { 0x546B, 2128 },
- { 0x546C, 2131 },
- { 0x546D, 838 },
- { 0x546E, 2122 },
- { 0x546F, 3553 },
- { 0x5470, 2125 },
- { 0x5471, 2140 },
- { 0x5472, 2143 },
- { 0x5473, 841 },
- { 0x5474, 2137 },
- { 0x5475, 3559 },
- { 0x5476, 3562 },
- { 0x5477, 2134 },
- { 0x5478, 3556 },
- { 0x5479, 3568 },
- { 0x547A, 3571 },
- { 0x547B, 2155 },
- { 0x547C, 3565 },
- { 0x547D, 2149 },
- { 0x547E, 2152 },
- { 0x547F, 844 },
- { 0x5480, 2146 },
- { 0x5481, 2164 },
- { 0x5482, 2167 },
- { 0x5483, 847 },
- { 0x5484, 2158 },
- { 0x5485, 3574 },
- { 0x5486, 2161 },
- { 0x5487, 2176 },
- { 0x5488, 2179 },
- { 0x5489, 850 },
- { 0x548A, 2170 },
- { 0x548B, 3577 },
- { 0x548C, 2173 },
- { 0x5490, 430 },
- { 0x5491, 364 },
- { 0x5492, 412 },
- { 0x5493, 493 },
- { 0x5494, 394 },
- { 0x5495, 436 },
- { 0x5496, 469 },
- { 0x5497, 400 },
- { 0x5498, 367 },
- { 0x5499, 475 },
- { 0x549A, 418 },
- { 0x549B, 460 },
- { 0x549C, 421 },
- { 0x549D, 379 },
- { 0x549E, 424 },
- { 0x549F, 481 },
- { 0x54A0, 439 },
- { 0x54A1, 355 },
- { 0x54A2, 454 },
- { 0x54A3, 397 },
- { 0x54A4, 466 },
- { 0x54A5, 385 },
- { 0x54A6, 472 },
- { 0x54A7, 496 },
- { 0x54A8, 373 },
- { 0x54A9, 370 },
- { 0x54AA, 487 },
- { 0x54AB, 451 },
- { 0x54AC, 427 },
- { 0x54AD, 406 },
- { 0x54AE, 448 },
- { 0x54AF, 445 },
- { 0x54B0, 433 },
- { 0x54B1, 442 },
- { 0x54B2, 382 },
- { 0x54B3, 358 },
- { 0x54B4, 499 },
- { 0x54B5, 409 },
- { 0x54B6, 403 },
- { 0x54B7, 484 },
- { 0x54B8, 376 },
- { 0x54B9, 352 },
- { 0x54BA, 508 },
- { 0x54BB, 415 },
- { 0x54BC, 349 },
- { 0x54BD, 463 },
- { 0x54BE, 391 },
- { 0x54BF, 478 },
- { 0x54C0, 502 },
- { 0x54C1, 457 },
- { 0x54C2, 505 },
- { 0x54C3, 388 },
- { 0x54C4, 511 },
- { 0x54C5, 490 },
- { 0x54C6, 361 },
- { 0x5500, 7945 },
- { 0x5501, 8254 },
- { 0x5502, 8290 },
- { 0x5503, 8482 },
- { 0x5504, 8653 },
- { 0x5505, 8419 },
- { 0x5506, 8527 },
- { 0x5507, 8206 },
- { 0x5508, 8578 },
- { 0x5509, 8569 },
- { 0x550A, 8671 },
- { 0x550B, 8554 },
- { 0x550C, 8257 },
- { 0x550D, 8473 },
- { 0x550E, 8452 },
- { 0x550F, 8647 },
- { 0x5510, 8533 },
- { 0x5511, 8665 },
- { 0x5512, 8338 },
- { 0x5513, 8425 },
- { 0x5514, 8233 },
- { 0x5515, 8599 },
- { 0x5516, 8431 },
- { 0x5517, 8641 },
- { 0x5518, 8506 },
- { 0x5519, 8659 },
- { 0x551A, 8227 },
- { 0x551B, 8308 },
- { 0x551C, 8629 },
- { 0x551D, 8500 },
- { 0x551E, 8317 },
- { 0x551F, 8697 },
- { 0x5520, 8278 },
- { 0x5521, 8359 },
- { 0x5522, 8380 },
- { 0x5523, 8635 },
- { 0x5524, 7888 },
- { 0x5525, 7996 },
- { 0x5526, 7987 },
- { 0x5527, 8296 },
- { 0x5528, 8167 },
- { 0x5529, 8488 },
- { 0x552A, 8089 },
- { 0x552B, 8215 },
- { 0x552C, 7906 },
- { 0x552D, 8350 },
- { 0x552E, 8329 },
- { 0x552F, 8590 },
- { 0x5530, 8269 },
- { 0x5531, 7957 },
- { 0x5532, 8152 },
- { 0x5533, 8134 },
- { 0x5534, 8461 },
- { 0x5535, 8242 },
- { 0x5536, 8542 },
- { 0x5537, 8035 },
- { 0x5538, 8104 },
- { 0x5539, 7936 },
- { 0x553A, 8371 },
- { 0x553B, 8119 },
- { 0x553C, 8440 },
- { 0x553D, 8197 },
- { 0x553E, 8515 },
- { 0x553F, 7921 },
- { 0x5540, 8005 },
- { 0x5541, 8389 },
- { 0x5542, 8182 },
- { 0x5543, 8020 },
- { 0x5544, 8617 },
- { 0x5545, 7972 },
- { 0x5546, 8050 },
- { 0x5547, 8068 },
- { 0x5548, 8407 },
- { 0x5549, 7882 },
- { 0x554A, 7897 },
- { 0x554B, 8605 },
- { 0x554C, 7981 },
- { 0x554D, 8287 },
- { 0x554E, 8161 },
- { 0x554F, 8479 },
- { 0x5550, 8083 },
- { 0x5551, 8209 },
- { 0x5552, 7900 },
- { 0x5553, 8344 },
- { 0x5554, 8323 },
- { 0x5555, 8566 },
- { 0x5556, 8584 },
- { 0x5557, 8263 },
- { 0x5558, 7951 },
- { 0x5559, 8146 },
- { 0x555A, 8128 },
- { 0x555B, 8455 },
- { 0x555C, 8236 },
- { 0x555D, 8536 },
- { 0x555E, 8029 },
- { 0x555F, 8098 },
- { 0x5560, 7930 },
- { 0x5561, 8365 },
- { 0x5562, 8113 },
- { 0x5563, 8434 },
- { 0x5564, 8191 },
- { 0x5565, 8509 },
- { 0x5566, 7915 },
- { 0x5567, 7999 },
- { 0x5568, 8383 },
- { 0x5569, 8176 },
- { 0x556A, 8014 },
- { 0x556B, 8314 },
- { 0x556C, 8611 },
- { 0x556D, 7966 },
- { 0x556E, 8044 },
- { 0x556F, 8059 },
- { 0x5570, 8401 },
- { 0x5571, 8080 },
- { 0x5572, 8416 },
- { 0x5573, 8302 },
- { 0x5574, 8494 },
- { 0x5575, 8656 },
- { 0x5576, 8422 },
- { 0x5577, 8530 },
- { 0x5578, 8224 },
- { 0x5579, 8581 },
- { 0x557A, 8575 },
- { 0x557B, 8674 },
- { 0x557C, 8563 },
- { 0x557D, 8260 },
- { 0x557E, 8476 },
- { 0x557F, 8470 },
- { 0x5580, 8650 },
- { 0x5581, 8551 },
- { 0x5582, 8668 },
- { 0x5583, 8341 },
- { 0x5584, 8428 },
- { 0x5585, 8251 },
- { 0x5586, 8602 },
- { 0x5587, 8449 },
- { 0x5588, 8644 },
- { 0x5589, 8524 },
- { 0x558A, 8662 },
- { 0x558B, 8230 },
- { 0x558C, 8311 },
- { 0x558D, 8632 },
- { 0x558E, 8503 },
- { 0x558F, 8320 },
- { 0x5590, 8703 },
- { 0x5591, 8284 },
- { 0x5592, 8362 },
- { 0x5593, 8398 },
- { 0x5594, 8638 },
- { 0x5595, 7894 },
- { 0x5596, 8143 },
- { 0x5597, 7993 },
- { 0x5598, 8305 },
- { 0x5599, 8173 },
- { 0x559A, 8497 },
- { 0x559B, 8095 },
- { 0x559C, 8221 },
- { 0x559D, 7912 },
- { 0x559E, 8356 },
- { 0x559F, 8335 },
- { 0x55A0, 8596 },
- { 0x55A1, 8275 },
- { 0x55A2, 7963 },
- { 0x55A3, 8158 },
- { 0x55A4, 8140 },
- { 0x55A5, 8467 },
- { 0x55A6, 8248 },
- { 0x55A7, 8548 },
- { 0x55A8, 8041 },
- { 0x55A9, 8110 },
- { 0x55AA, 7942 },
- { 0x55AB, 8377 },
- { 0x55AC, 8125 },
- { 0x55AD, 8446 },
- { 0x55AE, 8203 },
- { 0x55AF, 8521 },
- { 0x55B0, 7927 },
- { 0x55B1, 8011 },
- { 0x55B2, 8395 },
- { 0x55B3, 8188 },
- { 0x55B4, 8026 },
- { 0x55B5, 8623 },
- { 0x55B6, 7978 },
- { 0x55B7, 8056 },
- { 0x55B8, 8074 },
- { 0x55B9, 8413 },
- { 0x55BA, 7891 },
- { 0x55BB, 8077 },
- { 0x55BC, 8626 },
- { 0x55BD, 7990 },
- { 0x55BE, 8299 },
- { 0x55BF, 8170 },
- { 0x55C0, 8491 },
- { 0x55C1, 8092 },
- { 0x55C2, 8218 },
- { 0x55C3, 7909 },
- { 0x55C4, 8353 },
- { 0x55C5, 8332 },
- { 0x55C6, 8593 },
- { 0x55C7, 8272 },
- { 0x55C8, 8560 },
- { 0x55C9, 7960 },
- { 0x55CA, 8155 },
- { 0x55CB, 8137 },
- { 0x55CC, 8464 },
- { 0x55CD, 8245 },
- { 0x55CE, 8545 },
- { 0x55CF, 8038 },
- { 0x55D0, 8107 },
- { 0x55D1, 7939 },
- { 0x55D2, 8374 },
- { 0x55D3, 8122 },
- { 0x55D4, 8443 },
- { 0x55D5, 8200 },
- { 0x55D6, 8518 },
- { 0x55D7, 7924 },
- { 0x55D8, 8008 },
- { 0x55D9, 8392 },
- { 0x55DA, 8185 },
- { 0x55DB, 8023 },
- { 0x55DC, 8620 },
- { 0x55DD, 7975 },
- { 0x55DE, 8053 },
- { 0x55DF, 8071 },
- { 0x55E0, 8410 },
- { 0x55E1, 7885 },
- { 0x55E2, 7948 },
- { 0x55E3, 8608 },
- { 0x55E4, 7984 },
- { 0x55E5, 8293 },
- { 0x55E6, 8164 },
- { 0x55E7, 8485 },
- { 0x55E8, 8086 },
- { 0x55E9, 8212 },
- { 0x55EA, 7903 },
- { 0x55EB, 8347 },
- { 0x55EC, 8326 },
- { 0x55ED, 8572 },
- { 0x55EE, 8587 },
- { 0x55EF, 8266 },
- { 0x55F0, 8557 },
- { 0x55F1, 7954 },
- { 0x55F2, 8149 },
- { 0x55F3, 8131 },
- { 0x55F4, 8458 },
- { 0x55F5, 8239 },
- { 0x55F6, 8539 },
- { 0x55F7, 8032 },
- { 0x55F8, 8101 },
- { 0x55F9, 7933 },
- { 0x55FA, 8368 },
- { 0x55FB, 8116 },
- { 0x55FC, 8437 },
- { 0x55FD, 8194 },
- { 0x55FE, 8512 },
- { 0x55FF, 7918 },
- { 0x5600, 8002 },
- { 0x5601, 8386 },
- { 0x5602, 8179 },
- { 0x5603, 8017 },
- { 0x5604, 8614 },
- { 0x5605, 8700 },
- { 0x5606, 7969 },
- { 0x5607, 8281 },
- { 0x5608, 8047 },
- { 0x5609, 8062 },
- { 0x560A, 8404 },
- { 0x560B, 8065 },
- { 0x560C, 8706 },
- { 0x560D, 7808 },
- { 0x560E, 7805 },
- { 0x560F, 7879 },
- { 0x5610, 8681 },
- { 0x5611, 8685 },
- { 0x5612, 8693 },
- { 0x5613, 7873 },
- { 0x5614, 7876 },
- { 0x5615, 7864 },
- { 0x5616, 7843 },
- { 0x5617, 7849 },
- { 0x5618, 7840 },
- { 0x5619, 7846 },
- { 0x561A, 7852 },
- { 0x561B, 7870 },
- { 0x561C, 7861 },
- { 0x561D, 7867 },
- { 0x561E, 7855 },
- { 0x561F, 7858 },
- { 0x5620, 7828 },
- { 0x5621, 7810 },
- { 0x5622, 7816 },
- { 0x5623, 7837 },
- { 0x5624, 7822 },
- { 0x5625, 7819 },
- { 0x5626, 7813 },
- { 0x5627, 7834 },
- { 0x5628, 7831 },
- { 0x5629, 7825 },
- { 0x562A, 8689 },
- { 0x562B, 8677 },
- { 0x5640, 50137 },
- { 0x5641, 49239 },
- { 0x5642, 50054 },
- { 0x5643, 49156 },
- { 0x5644, 50212 },
- { 0x5645, 49318 },
- { 0x5646, 49931 },
- { 0x5647, 49033 },
- { 0x5648, 50050 },
- { 0x5649, 49152 },
- { 0x564A, 50266 },
- { 0x564B, 49372 },
- { 0x564C, 50045 },
- { 0x564D, 49147 },
- { 0x564E, 50163 },
- { 0x564F, 49265 },
- { 0x5650, 50023 },
- { 0x5651, 49125 },
- { 0x5652, 50184 },
- { 0x5653, 49286 },
- { 0x5654, 50202 },
- { 0x5655, 49308 },
- { 0x5656, 50168 },
- { 0x5657, 49270 },
- { 0x5658, 50120 },
- { 0x5659, 49222 },
- { 0x565A, 50146 },
- { 0x565B, 49248 },
- { 0x565C, 50189 },
- { 0x565D, 49291 },
- { 0x565E, 49727 },
- { 0x565F, 48829 },
- { 0x5662, 49983 },
- { 0x5663, 49085 },
- { 0x5664, 49988 },
- { 0x5665, 49090 },
- { 0x5666, 49993 },
- { 0x5667, 49095 },
- { 0x5668, 50261 },
- { 0x5669, 49367 },
- { 0x566A, 50256 },
- { 0x566B, 49362 },
- { 0x566C, 50126 },
- { 0x566D, 49228 },
- { 0x566E, 49417 },
- { 0x566F, 58020 },
- { 0x5670, 58004 },
- { 0x5671, 58160 },
- { 0x5672, 58180 },
- { 0x5673, 55523 },
- { 0x567C, 58023 },
- { 0x567D, 58170 },
- { 0x567E, 49407 },
- { 0x567F, 50301 },
- { 0x5680, 49783 },
- { 0x5681, 48885 },
- { 0x5682, 49914 },
- { 0x5683, 49016 },
- { 0x5684, 50036 },
- { 0x5685, 49138 },
- { 0x5686, 49906 },
- { 0x5687, 49008 },
- { 0x5688, 49918 },
- { 0x5689, 49020 },
- { 0x568A, 49694 },
- { 0x568B, 48796 },
- { 0x568C, 49872 },
- { 0x568D, 48974 },
- { 0x568E, 50015 },
- { 0x568F, 49117 },
- { 0x5690, 50011 },
- { 0x5691, 49113 },
- { 0x5692, 50003 },
- { 0x5693, 49105 },
- { 0x5694, 49832 },
- { 0x5695, 48934 },
- { 0x5696, 49979 },
- { 0x5697, 49081 },
- { 0x5700, 54739 },
- { 0x5701, 54763 },
- { 0x5702, 54745 },
- { 0x5703, 54769 },
- { 0x5704, 54727 },
- { 0x5705, 54751 },
- { 0x5706, 54733 },
- { 0x5707, 54757 },
- { 0x5708, 54839 },
- { 0x5709, 54039 },
- { 0x570A, 53996 },
- { 0x570B, 53952 },
- { 0x570C, 54808 },
- { 0x570D, 54845 },
- { 0x570E, 54045 },
- { 0x570F, 54002 },
- { 0x5710, 53958 },
- { 0x5711, 54814 },
- { 0x5712, 54852 },
- { 0x5713, 54052 },
- { 0x5714, 54009 },
- { 0x5715, 53980 },
- { 0x5716, 54821 },
- { 0x5717, 53884 },
- { 0x5718, 53880 },
- { 0x5719, 53889 },
- { 0x571A, 54106 },
- { 0x571B, 54571 },
- { 0x571C, 54576 },
- { 0x571D, 54591 },
- { 0x571E, 54585 },
- { 0x571F, 53969 },
- { 0x5720, 54606 },
- { 0x5721, 54600 },
- { 0x5722, 20769 },
- { 0x5723, 17878 },
- { 0x5724, 20764 },
- { 0x5725, 17873 },
- { 0x5726, 20552 },
- { 0x5727, 17317 },
- { 0x5728, 20503 },
- { 0x5729, 17173 },
- { 0x572A, 20735 },
- { 0x572B, 17844 },
- { 0x572C, 20739 },
- { 0x572D, 17848 },
- { 0x572E, 20743 },
- { 0x572F, 17852 },
- { 0x5730, 17974 },
- { 0x5731, 18048 },
- { 0x5732, 20422 },
- { 0x5733, 17038 },
- { 0x5734, 20442 },
- { 0x5735, 17058 },
- { 0x5736, 20446 },
- { 0x5737, 17062 },
- { 0x5738, 20450 },
- { 0x5739, 17066 },
- { 0x573A, 20454 },
- { 0x573B, 17070 },
- { 0x573C, 20461 },
- { 0x573D, 17077 },
- { 0x573E, 20719 },
- { 0x573F, 17758 },
- { 0x5740, 19120 },
- { 0x5741, 15472 },
- { 0x5742, 19141 },
- { 0x5743, 15500 },
- { 0x5744, 19126 },
- { 0x5745, 15478 },
- { 0x5746, 20644 },
- { 0x5747, 17505 },
- { 0x5748, 19180 },
- { 0x5749, 15551 },
- { 0x574A, 19451 },
- { 0x574B, 15876 },
- { 0x574C, 19459 },
- { 0x574D, 15884 },
- { 0x574E, 20495 },
- { 0x574F, 17142 },
- { 0x5750, 19688 },
- { 0x5751, 16113 },
- { 0x5752, 19696 },
- { 0x5753, 16128 },
- { 0x5754, 19702 },
- { 0x5755, 16134 },
- { 0x5756, 19713 },
- { 0x5757, 16158 },
- { 0x5758, 19721 },
- { 0x5759, 16166 },
- { 0x575A, 19806 },
- { 0x575B, 16287 },
- { 0x575C, 20542 },
- { 0x575D, 17287 },
- { 0x575E, 20210 },
- { 0x575F, 16771 },
- { 0x5760, 20507 },
- { 0x5761, 17185 },
- { 0x5762, 20749 },
- { 0x5763, 17858 },
- { 0x5764, 20630 },
- { 0x5765, 17480 },
- { 0x5766, 20636 },
- { 0x5767, 17486 },
- { 0x5768, 20585 },
- { 0x5769, 17421 },
- { 0x576A, 20475 },
- { 0x576B, 17108 },
- { 0x576C, 20479 },
- { 0x576D, 17116 },
- { 0x576E, 20511 },
- { 0x576F, 17189 },
- { 0x5770, 53877 },
- { 0x5771, 17193 },
- { 0x5772, 17267 },
- { 0x5773, 17271 },
- { 0x5774, 17275 },
- { 0x5775, 17283 },
- { 0x5776, 18108 },
- { 0x5777, 17298 },
- { 0x5778, 17181 },
- { 0x5779, 20685 },
- { 0x577A, 17713 },
- { 0x577B, 20690 },
- { 0x577C, 17718 },
- { 0x577D, 20695 },
- { 0x577E, 20669 },
- { 0x577F, 17676 },
- { 0x5780, 20654 },
- { 0x5781, 17585 },
- { 0x5782, 20700 },
- { 0x5783, 17728 },
- { 0x5784, 20705 },
- { 0x5785, 17733 },
- { 0x5786, 20710 },
- { 0x5787, 17738 },
- { 0x5788, 53986 },
- { 0x5789, 54095 },
- { 0x578A, 54131 },
- { 0x578B, 20731 },
- { 0x578C, 17800 },
- { 0x57FB, 20847 },
- { 0x57FC, 20852 },
- { 0x57FD, 20842 },
- { 0x57FE, 20832 },
- { 0x57FF, 20837 },
- { 0x5800, 36572 },
- { 0x5801, 36580 },
- { 0x5802, 36543 },
- { 0x5803, 36588 },
- { 0x5804, 36576 },
- { 0x5805, 36584 },
- { 0x5806, 36535 },
- { 0x5807, 36616 },
- { 0x5808, 36672 },
- { 0x5809, 36604 },
- { 0x580A, 36664 },
- { 0x580B, 36539 },
- { 0x580C, 36596 },
- { 0x580D, 36652 },
- { 0x580E, 36612 },
- { 0x580F, 36668 },
- { 0x5810, 36688 },
- { 0x5811, 36696 },
- { 0x5812, 36656 },
- { 0x5813, 36692 },
- { 0x5814, 36644 },
- { 0x5815, 36684 },
- { 0x5816, 36600 },
- { 0x5817, 36660 },
- { 0x5818, 36628 },
- { 0x5819, 36632 },
- { 0x581A, 36676 },
- { 0x581B, 36592 },
- { 0x581C, 36648 },
- { 0x581D, 36624 },
- { 0x581E, 36636 },
- { 0x581F, 36620 },
- { 0x5820, 36680 },
- { 0x5821, 36640 },
- { 0x5822, 36608 },
- { 0x5823, 36547 },
- { 0x5824, 36557 },
- { 0x5825, 36562 },
- { 0x5826, 36552 },
- { 0x5827, 36567 },
- { 0x5828, 36700 },
- { 0x5829, 36704 },
- { 0x582A, 36708 },
- { 0x582B, 36712 },
- { 0x5840, 55006 },
- { 0x5841, 55057 },
- { 0x5842, 54997 },
- { 0x5843, 55060 },
- { 0x5844, 54985 },
- { 0x5845, 55045 },
- { 0x5846, 55003 },
- { 0x5847, 55066 },
- { 0x5848, 55030 },
- { 0x5849, 55075 },
- { 0x584A, 54988 },
- { 0x584B, 55015 },
- { 0x584C, 55018 },
- { 0x584D, 55069 },
- { 0x584E, 54982 },
- { 0x584F, 55012 },
- { 0x5850, 55078 },
- { 0x5851, 55087 },
- { 0x5852, 55051 },
- { 0x5853, 55033 },
- { 0x5854, 55084 },
- { 0x5855, 55042 },
- { 0x5856, 55093 },
- { 0x5857, 55039 },
- { 0x5858, 55024 },
- { 0x5859, 55009 },
- { 0x585A, 55072 },
- { 0x585B, 55027 },
- { 0x585C, 55000 },
- { 0x585D, 54967 },
- { 0x585E, 54973 },
- { 0x585F, 54979 },
- { 0x5860, 54970 },
- { 0x5861, 54976 },
- { 0x5862, 55021 },
- { 0x5863, 55036 },
- { 0x5864, 54994 },
- { 0x5865, 55054 },
- { 0x5866, 54991 },
- { 0x5867, 55124 },
- { 0x5868, 55128 },
- { 0x5869, 55081 },
- { 0x586A, 55090 },
- { 0x586B, 55048 },
- { 0x586C, 55063 },
- { 0x586D, 55101 },
- { 0x586E, 55109 },
- { 0x586F, 55097 },
- { 0x5870, 55105 },
- { 0x5871, 55120 },
- { 0x5872, 55132 },
- { 0x5873, 55113 },
- { 0x5874, 55116 },
- { 0x5875, 54963 },
- { 0x5876, 54956 },
- { 0x5877, 54959 },
- { 0x5880, 68329 },
- { 0x5881, 68326 },
- { 0x5882, 68431 },
- { 0x5883, 68446 },
- { 0x5884, 68437 },
- { 0x5885, 68473 },
- { 0x5886, 68443 },
- { 0x5887, 68506 },
- { 0x5888, 68573 },
- { 0x5889, 68581 },
- { 0x588A, 68569 },
- { 0x588B, 68577 },
- { 0x588C, 68434 },
- { 0x588D, 68464 },
- { 0x588E, 68449 },
- { 0x588F, 68440 },
- { 0x5890, 68491 },
- { 0x5891, 68452 },
- { 0x5892, 68479 },
- { 0x5893, 68533 },
- { 0x5894, 68467 },
- { 0x5895, 68527 },
- { 0x5896, 68539 },
- { 0x5897, 68458 },
- { 0x5898, 68518 },
- { 0x5899, 68476 },
- { 0x589A, 68530 },
- { 0x589B, 68545 },
- { 0x589C, 68560 },
- { 0x589D, 68566 },
- { 0x589E, 68521 },
- { 0x589F, 68563 },
- { 0x58A0, 68542 },
- { 0x58A1, 68503 },
- { 0x58A2, 68557 },
- { 0x58A3, 68461 },
- { 0x58A4, 68524 },
- { 0x58A5, 68488 },
- { 0x58A6, 68494 },
- { 0x58A7, 68548 },
- { 0x58A8, 68455 },
- { 0x58A9, 68515 },
- { 0x58AA, 68485 },
- { 0x58AB, 68512 },
- { 0x58AC, 68497 },
- { 0x58AD, 68482 },
- { 0x58AE, 68509 },
- { 0x58AF, 68551 },
- { 0x58B0, 68554 },
- { 0x58B1, 68500 },
- { 0x58B2, 68470 },
- { 0x58B3, 68536 },
- { 0x58B4, 68585 },
- { 0x58B5, 68380 },
- { 0x58B6, 68368 },
- { 0x58B7, 68396 },
- { 0x58B8, 68376 },
- { 0x58B9, 68404 },
- { 0x58BA, 68413 },
- { 0x58BB, 68423 },
- { 0x58BC, 68408 },
- { 0x58BD, 68418 },
- { 0x58BE, 68364 },
- { 0x58BF, 68392 },
- { 0x58C0, 68384 },
- { 0x58C1, 68372 },
- { 0x58C2, 68400 },
- { 0x58C3, 68388 },
- { 0x58C4, 68323 },
- { 0x58CE, 68332 },
- { 0x58CF, 68428 },
- { 0x58D0, 68352 },
- { 0x58D1, 68334 },
- { 0x58D2, 68340 },
- { 0x58D3, 68361 },
- { 0x58D4, 68346 },
- { 0x58D5, 68343 },
- { 0x58D6, 68337 },
- { 0x58D7, 68358 },
- { 0x58D8, 68355 },
- { 0x58D9, 68349 },
- { 0x5900, 13773 },
- { 0x5901, 13749 },
- { 0x5902, 13757 },
- { 0x5903, 13785 },
- { 0x5904, 13765 },
- { 0x5905, 13761 },
- { 0x5906, 13753 },
- { 0x5907, 13781 },
- { 0x5908, 13777 },
- { 0x5909, 13769 },
- { 0x590A, 13837 },
- { 0x590B, 13897 },
- { 0x590C, 13829 },
- { 0x590D, 13901 },
- { 0x590E, 13869 },
- { 0x590F, 13913 },
- { 0x5910, 13889 },
- { 0x5911, 13905 },
- { 0x5912, 13873 },
- { 0x5913, 13893 },
- { 0x5914, 13849 },
- { 0x5915, 13861 },
- { 0x5916, 13909 },
- { 0x5917, 13845 },
- { 0x5918, 13825 },
- { 0x5919, 13817 },
- { 0x591A, 13865 },
- { 0x591B, 13885 },
- { 0x591C, 13841 },
- { 0x591D, 13881 },
- { 0x591E, 13917 },
- { 0x591F, 13833 },
- { 0x5920, 13877 },
- { 0x5921, 13821 },
- { 0x5922, 13809 },
- { 0x5923, 13853 },
- { 0x5924, 13813 },
- { 0x5925, 13857 },
- { 0x5926, 13805 },
- { 0x5927, 13789 },
- { 0x5928, 13797 },
- { 0x5929, 13801 },
- { 0x592A, 13793 },
- { 0x592B, 13745 },
- { 0x592C, 13736 },
- { 0x592D, 13740 },
- { 0x592E, 13728 },
- { 0x592F, 13732 },
- { 0x5930, 35728 },
- { 0x5931, 35719 },
- { 0x5932, 35764 },
- { 0x5933, 35749 },
- { 0x5934, 35716 },
- { 0x5935, 35737 },
- { 0x5936, 35740 },
- { 0x5937, 35710 },
- { 0x5938, 35734 },
- { 0x5939, 35713 },
- { 0x593A, 35725 },
- { 0x593B, 35767 },
- { 0x593C, 35746 },
- { 0x593D, 35743 },
- { 0x593E, 35731 },
- { 0x593F, 35755 },
- { 0x5940, 35752 },
- { 0x5941, 35722 },
- { 0x5942, 35758 },
- { 0x5943, 35770 },
- { 0x5944, 35761 },
- { 0x5945, 35773 },
- { 0x5946, 35707 },
- { 0x5947, 35679 },
- { 0x5948, 35687 },
- { 0x5949, 35675 },
- { 0x594A, 35691 },
- { 0x594B, 35683 },
- { 0x594C, 35695 },
- { 0x594D, 35703 },
- { 0x594E, 35699 },
- { 0x594F, 35793 },
- { 0x5950, 35785 },
- { 0x5951, 35789 },
- { 0x5952, 35781 },
- { 0x5953, 35776 },
- { 0x595F, 35778 },
- { 0x5A00, 8801 },
- { 0x5A01, 8807 },
- { 0x5A02, 8813 },
- { 0x5A03, 8804 },
- { 0x5A04, 8816 },
- { 0x5A05, 8810 },
- { 0x5A06, 8834 },
- { 0x5A07, 8885 },
- { 0x5A08, 8825 },
- { 0x5A09, 8879 },
- { 0x5A0A, 8915 },
- { 0x5A0B, 8891 },
- { 0x5A0C, 8870 },
- { 0x5A0D, 8912 },
- { 0x5A0E, 8831 },
- { 0x5A0F, 8882 },
- { 0x5A10, 8921 },
- { 0x5A11, 8894 },
- { 0x5A12, 8918 },
- { 0x5A13, 8855 },
- { 0x5A14, 8909 },
- { 0x5A15, 8822 },
- { 0x5A16, 8876 },
- { 0x5A17, 8897 },
- { 0x5A18, 8843 },
- { 0x5A19, 8873 },
- { 0x5A1A, 8846 },
- { 0x5A1B, 8903 },
- { 0x5A1C, 8900 },
- { 0x5A1D, 8819 },
- { 0x5A1E, 8867 },
- { 0x5A1F, 8888 },
- { 0x5A20, 8840 },
- { 0x5A21, 8864 },
- { 0x5A22, 8861 },
- { 0x5A23, 8849 },
- { 0x5A24, 8837 },
- { 0x5A25, 8858 },
- { 0x5A26, 8906 },
- { 0x5A27, 8852 },
- { 0x5A28, 8828 },
- { 0x5A29, 8773 },
- { 0x5A2A, 8761 },
- { 0x5A2B, 8789 },
- { 0x5A2C, 8785 },
- { 0x5A2D, 8769 },
- { 0x5A2E, 8793 },
- { 0x5A2F, 8765 },
- { 0x5A30, 8777 },
- { 0x5A31, 8781 },
- { 0x5A32, 8797 },
- { 0x5A33, 8980 },
- { 0x5A34, 8972 },
- { 0x5A35, 8968 },
- { 0x5A36, 8976 },
- { 0x5A40, 8928 },
- { 0x5A41, 8924 },
- { 0x5A42, 8960 },
- { 0x5A43, 8994 },
- { 0x5A44, 8956 },
- { 0x5A45, 8948 },
- { 0x5A46, 8936 },
- { 0x5A47, 8940 },
- { 0x5A48, 8952 },
- { 0x5A49, 8944 },
- { 0x5A4A, 8932 },
- { 0x5A4B, 8964 },
- { 0x5A4C, 8989 },
- { 0x5A4D, 8984 },
- { 0x5A50, 8749 },
- { 0x5A51, 8731 },
- { 0x5A52, 8737 },
- { 0x5A53, 8758 },
- { 0x5A54, 8743 },
- { 0x5A55, 8740 },
- { 0x5A56, 8734 },
- { 0x5A57, 8755 },
- { 0x5A58, 8752 },
- { 0x5A59, 8746 },
- { 0x5A5C, 9006 },
- { 0x5A5D, 8999 },
- { 0x5A5E, 9002 },
- { 0x5A5F, 9009 },
- { 0x6B00, 17897 },
- { 0x6B01, 17901 },
- { 0x6B02, 17905 },
- { 0x6B03, 17921 },
- { 0x6B04, 17925 },
- { 0x6B05, 17929 },
- { 0x6B06, 17917 },
- { 0x6B13, 44892 },
- { 0x6B14, 44882 },
- { 0x6B15, 44887 },
- { 0x6B16, 44902 },
- { 0x6B17, 44897 },
- { 0x6B1D, 33182 },
- { 0x6B1E, 32972 },
- { 0x6B1F, 33388 },
- { 0x6B20, 33370 },
- { 0x6B21, 33269 },
- { 0x6B22, 33277 },
- { 0x6B23, 33257 },
- { 0x6B24, 33261 },
- { 0x6B25, 33286 },
- { 0x6B26, 33281 },
- { 0x6B27, 33273 },
- { 0x6B28, 33265 },
- { 0x6B29, 33374 },
- { 0x6B2A, 33230 },
- { 0x6B2B, 33224 },
- { 0x6B2C, 33249 },
- { 0x6B2D, 33241 },
- { 0x6B2E, 33200 },
- { 0x6B2F, 33205 },
- { 0x6B30, 33195 },
- { 0x6B31, 33105 },
- { 0x6B32, 33333 },
- { 0x6B33, 33293 },
- { 0x6B34, 33079 },
- { 0x6B35, 33174 },
- { 0x6B36, 33357 },
- { 0x6B38, 33161 },
- { 0x6B39, 33187 },
- { 0x6B3A, 33312 },
- { 0x6B3B, 33121 },
- { 0x6B3C, 33341 },
- { 0x6B3E, 33129 },
- { 0x6B40, 33137 },
- { 0x6B41, 33365 },
- { 0x6B43, 33302 },
- { 0x6B44, 33092 },
- { 0x6B46, 33349 },
- { 0x6B47, 33145 },
- { 0x6B48, 33216 },
- { 0x6B49, 33236 },
- { 0x6B4A, 33153 },
- { 0x6B4B, 33169 },
- { 0x6B4C, 33100 },
- { 0x6B4D, 33116 },
- { 0x6B4E, 33087 },
- { 0x6B4F, 33379 },
- { 0x6B50, 25426 },
- { 0x6B51, 25420 },
- { 0x6B52, 25471 },
- { 0x6B53, 25456 },
- { 0x6B54, 25466 },
- { 0x6B55, 25461 },
- { 0x6B56, 24792 },
- { 0x6B57, 24777 },
- { 0x6B58, 24787 },
- { 0x6B59, 24782 },
- { 0x6B5A, 25928 },
- { 0x6B5B, 25913 },
- { 0x6B5C, 25923 },
- { 0x6B5D, 25918 },
- { 0x6B5E, 26308 },
- { 0x6B5F, 26293 },
- { 0x6B60, 26303 },
- { 0x6B61, 26298 },
- { 0x6B62, 26272 },
- { 0x6B63, 26257 },
- { 0x6B64, 26267 },
- { 0x6B65, 26262 },
- { 0x6B66, 25892 },
- { 0x6B67, 25877 },
- { 0x6B68, 25887 },
- { 0x6B69, 25882 },
- { 0x6B6A, 25071 },
- { 0x6B6B, 25056 },
- { 0x6B6C, 25066 },
- { 0x6B6D, 25061 },
- { 0x6B6E, 26164 },
- { 0x6B6F, 26149 },
- { 0x6B70, 26159 },
- { 0x6B71, 26154 },
- { 0x6B72, 25507 },
- { 0x6B73, 25492 },
- { 0x6B74, 25502 },
- { 0x6B75, 25497 },
- { 0x6B76, 25729 },
- { 0x6B77, 25714 },
- { 0x6B78, 25724 },
- { 0x6B79, 25719 },
- { 0x6B7A, 26249 },
- { 0x6B7B, 26234 },
- { 0x6B7C, 26244 },
- { 0x6B7D, 26239 },
- { 0x6B7E, 26393 },
- { 0x6B7F, 26378 },
- { 0x6B80, 26388 },
- { 0x6B81, 26383 },
- { 0x6B82, 26285 },
- { 0x6B83, 26280 },
- { 0x6B84, 25941 },
- { 0x6B85, 25936 },
- { 0x6B86, 24341 },
- { 0x6B87, 24336 },
- { 0x6B88, 25484 },
- { 0x6B89, 25479 },
- { 0x6B8A, 24667 },
- { 0x6B8B, 24662 },
- { 0x6B8C, 25742 },
- { 0x6B8D, 25737 },
- { 0x6B8E, 26118 },
- { 0x6B8F, 26103 },
- { 0x6B90, 26113 },
- { 0x6B91, 26108 },
- { 0x6B92, 24442 },
- { 0x6B93, 24427 },
- { 0x6B94, 24437 },
- { 0x6B95, 24432 },
- { 0x6B96, 25530 },
- { 0x6B97, 25515 },
- { 0x6B98, 25525 },
- { 0x6B99, 25520 },
- { 0x6B9A, 26141 },
- { 0x6B9B, 26126 },
- { 0x6B9C, 26136 },
- { 0x6B9D, 26131 },
- { 0x6B9E, 25690 },
- { 0x6B9F, 25684 },
- { 0x6BA0, 26187 },
- { 0x6BA1, 26172 },
- { 0x6BA2, 26182 },
- { 0x6BA3, 26177 },
- { 0x6BA4, 24597 },
- { 0x6BA5, 24589 },
- { 0x6BA6, 24577 },
- { 0x6BA7, 24559 },
- { 0x6BA8, 24571 },
- { 0x6BA9, 24565 },
- { 0x6BAA, 24653 },
- { 0x6BAB, 24635 },
- { 0x6BAC, 24647 },
- { 0x6BAD, 24641 },
- { 0x6BAE, 25266 },
- { 0x6BAF, 25260 },
- { 0x6BB0, 25231 },
- { 0x6BB1, 25222 },
- { 0x6BD3, 24046 },
- { 0x6BD4, 24031 },
- { 0x6BD5, 24041 },
- { 0x6BD6, 24036 },
- { 0x6BD7, 24020 },
- { 0x6BD8, 24015 },
- { 0x6BD9, 24059 },
- { 0x6BDA, 24054 },
- { 0x6BDB, 24085 },
- { 0x6BDC, 24080 },
- { 0x6BDD, 24007 },
- { 0x6BDE, 24072 },
- { 0x6BDF, 24067 },
- { 0x6BE0, 26353 },
- { 0x6BE1, 26347 },
- { 0x6BE2, 26369 },
- { 0x6BE3, 26363 },
- { 0x6BE4, 23993 },
- { 0x6BE5, 23978 },
- { 0x6BE6, 23988 },
- { 0x6BE7, 23983 },
- { 0x6BE8, 26322 },
- { 0x6BE9, 26313 },
- { 0x6BEA, 28622 },
- { 0x6BEB, 28590 },
- { 0x6BEC, 28450 },
- { 0x6BED, 28440 },
- { 0x6BEE, 28560 },
- { 0x6BEF, 28550 },
- { 0x6BF0, 28430 },
- { 0x6BF1, 28420 },
- { 0x6BF2, 28470 },
- { 0x6BF3, 28460 },
- { 0x6BF4, 28490 },
- { 0x6BF5, 28480 },
- { 0x6BF6, 28410 },
- { 0x6BF7, 28390 },
- { 0x6BF8, 28400 },
- { 0x6BF9, 30178 },
- { 0x6BFA, 30152 },
- { 0x6BFB, 30165 },
- { 0x6BFC, 26021 },
- { 0x6BFD, 26003 },
- { 0x6BFE, 26015 },
- { 0x6BFF, 26009 },
- { 0x6C00, 28642 },
- { 0x6C01, 28510 },
- { 0x6C02, 28692 },
- { 0x6C03, 28611 },
- { 0x6C04, 28580 },
- { 0x6C05, 26665 },
- { 0x6C06, 26600 },
- { 0x6C07, 26688 },
- { 0x6C08, 26716 },
- { 0x6C09, 26650 },
- { 0x6C0A, 26635 },
- { 0x6C0B, 28073 },
- { 0x6C0C, 27980 },
- { 0x6C0D, 28115 },
- { 0x6C0E, 28189 },
- { 0x6C0F, 28030 },
- { 0x6C10, 28015 },
- { 0x6C11, 29671 },
- { 0x6C12, 29699 },
- { 0x6C13, 29663 },
- { 0x6C14, 29648 },
- { 0x6C15, 28801 },
- { 0x6C16, 28882 },
- { 0x6C17, 27033 },
- { 0x6C18, 27066 },
- { 0x6C19, 28933 },
- { 0x6C1A, 28889 },
- { 0x6C1B, 28947 },
- { 0x6C1C, 29506 },
- { 0x6C1D, 29408 },
- { 0x6C1E, 29546 },
- { 0x6C1F, 29612 },
- { 0x6C20, 27755 },
- { 0x6C21, 27838 },
- { 0x6C22, 26821 },
- { 0x6C23, 26763 },
- { 0x6C24, 26853 },
- { 0x6C25, 26867 },
- { 0x6C26, 27852 },
- { 0x6C27, 27939 },
- { 0x6C28, 28736 },
- { 0x6C29, 26526 },
- { 0x6C2A, 26577 },
- { 0x6C2B, 29767 },
- { 0x6C2C, 29809 },
- { 0x6C2D, 26925 },
- { 0x6C2E, 26881 },
- { 0x6C2F, 26957 },
- { 0x6C30, 26980 },
- { 0x6C31, 26910 },
- { 0x6C32, 26895 },
- { 0x6C33, 27626 },
- { 0x6C34, 27706 },
- { 0x6C35, 27655 },
- { 0x6C36, 27640 },
- { 0x6C37, 27221 },
- { 0x6C38, 27235 },
- { 0x6C39, 27149 },
- { 0x6C3A, 27249 },
- { 0x6C3B, 27177 },
- { 0x6C3C, 27304 },
- { 0x6C3D, 27213 },
- { 0x6C3E, 27191 },
- { 0x6C3F, 27525 },
- { 0x6C40, 27355 },
- { 0x6C41, 27557 },
- { 0x6C42, 27612 },
- { 0x6C43, 27458 },
- { 0x6C44, 27376 },
- { 0x6C45, 29060 },
- { 0x6C46, 28988 },
- { 0x6C47, 29101 },
- { 0x6C48, 29131 },
- { 0x6C49, 29009 },
- { 0x6C4A, 28995 },
- { 0x6C4B, 29293 },
- { 0x6C4C, 29173 },
- { 0x6C4D, 29307 },
- { 0x6C4E, 29354 },
- { 0x6C4F, 29223 },
- { 0x6C50, 29208 },
- { 0x6C51, 27095 },
- { 0x6C52, 27127 },
- { 0x6C53, 27080 },
- { 0x6C54, 27073 },
- { 0x6C55, 28300 },
- { 0x6C56, 28226 },
- { 0x6C57, 28314 },
- { 0x6C58, 28369 },
- { 0x6C59, 28276 },
- { 0x6C5A, 28261 },
- { 0x6C5B, 29619 },
- { 0x6C5C, 27713 },
- { 0x6C5D, 28766 },
- { 0x6C5E, 30130 },
- { 0x6C5F, 30137 },
- { 0x6C60, 30109 },
- { 0x6C61, 30095 },
- { 0x6C62, 30123 },
- { 0x6C63, 30144 },
- { 0x6C64, 28540 },
- { 0x6C65, 28712 },
- { 0x6C66, 28662 },
- { 0x6C67, 28702 },
- { 0x6C68, 28600 },
- { 0x6C69, 28570 },
- { 0x6C6A, 26621 },
- { 0x6C6B, 26730 },
- { 0x6C6C, 26695 },
- { 0x6C6D, 26723 },
- { 0x6C6E, 26642 },
- { 0x6C6F, 26628 },
- { 0x6C70, 28001 },
- { 0x6C71, 28203 },
- { 0x6C72, 28168 },
- { 0x6C73, 28196 },
- { 0x6C74, 28022 },
- { 0x6C75, 28008 },
- { 0x6C76, 29634 },
- { 0x6C77, 29713 },
- { 0x6C78, 29678 },
- { 0x6C79, 29706 },
- { 0x6C7A, 29655 },
- { 0x6C7B, 29641 },
- { 0x6C7C, 26902 },
- { 0x6C7D, 26888 },
- { 0x6C7E, 27647 },
- { 0x6C7F, 27633 },
- { 0x6C80, 27198 },
- { 0x6C81, 27156 },
- { 0x6C82, 27283 },
- { 0x6C83, 27205 },
- { 0x6C84, 27184 },
- { 0x6C85, 27591 },
- { 0x6C86, 27450 },
- { 0x6C87, 27369 },
- { 0x6C88, 29002 },
- { 0x6C89, 29117 },
- { 0x6C8A, 29194 },
- { 0x6C8B, 29368 },
- { 0x6C8C, 29333 },
- { 0x6C8D, 29361 },
- { 0x6C8E, 29215 },
- { 0x6C8F, 29201 },
- { 0x6C90, 28757 },
- { 0x6C91, 28247 },
- { 0x6C92, 28383 },
- { 0x6C93, 28348 },
- { 0x6C94, 28376 },
- { 0x6C95, 28268 },
- { 0x6C96, 28254 },
- { 0x6C97, 28632 },
- { 0x6C98, 28500 },
- { 0x6C99, 28652 },
- { 0x6C9A, 28682 },
- { 0x6C9B, 28530 },
- { 0x6C9C, 26658 },
- { 0x6C9D, 26593 },
- { 0x6C9E, 26681 },
- { 0x6C9F, 26709 },
- { 0x6CA0, 26614 },
- { 0x6CA1, 28066 },
- { 0x6CA2, 27973 },
- { 0x6CA3, 28108 },
- { 0x6CA4, 28182 },
- { 0x6CA5, 27994 },
- { 0x6CA6, 29692 },
- { 0x6CA7, 28794 },
- { 0x6CA8, 28875 },
- { 0x6CA9, 27026 },
- { 0x6CAA, 27059 },
- { 0x6CAB, 28926 },
- { 0x6CAC, 28940 },
- { 0x6CAD, 29499 },
- { 0x6CAE, 29401 },
- { 0x6CAF, 29539 },
- { 0x6CB0, 29605 },
- { 0x6CB1, 27748 },
- { 0x6CB2, 27806 },
- { 0x6CB3, 27831 },
- { 0x6CB4, 26814 },
- { 0x6CB5, 26756 },
- { 0x6CB6, 26846 },
- { 0x6CB7, 26860 },
- { 0x6CB8, 27845 },
- { 0x6CB9, 28729 },
- { 0x6CBA, 26519 },
- { 0x6CBB, 26570 },
- { 0x6CBC, 29760 },
- { 0x6CBD, 29802 },
- { 0x6CBE, 26918 },
- { 0x6CBF, 26874 },
- { 0x6CC0, 26950 },
- { 0x6CC1, 26973 },
- { 0x6CC2, 27619 },
- { 0x6CC3, 27699 },
- { 0x6CC4, 27228 },
- { 0x6CC5, 27142 },
- { 0x6CC6, 27242 },
- { 0x6CC7, 27170 },
- { 0x6CC8, 27297 },
- { 0x6CC9, 27518 },
- { 0x6CCA, 27348 },
- { 0x6CCB, 27550 },
- { 0x6CCC, 27605 },
- { 0x6CCD, 27362 },
- { 0x6CCE, 29053 },
- { 0x6CCF, 28981 },
- { 0x6CD0, 29094 },
- { 0x6CD1, 29124 },
- { 0x6CD2, 29286 },
- { 0x6CD3, 29166 },
- { 0x6CD4, 29300 },
- { 0x6CD5, 29347 },
- { 0x6CD6, 29187 },
- { 0x6CD7, 27088 },
- { 0x6CD8, 27120 },
- { 0x6CD9, 27134 },
- { 0x6CDA, 28293 },
- { 0x6CDB, 28219 },
- { 0x6CDC, 28307 },
- { 0x6CDD, 28362 },
- { 0x6CDE, 28240 },
- { 0x6CDF, 28672 },
- { 0x6CE0, 28520 },
- { 0x6CE1, 26702 },
- { 0x6CE2, 26607 },
- { 0x6CE3, 28175 },
- { 0x6CE4, 27987 },
- { 0x6CE5, 29685 },
- { 0x6CE6, 29627 },
- { 0x6CE7, 29598 },
- { 0x6CE8, 29415 },
- { 0x6CE9, 30057 },
- { 0x6CEA, 29891 },
- { 0x6CEB, 27163 },
- { 0x6CEC, 27290 },
- { 0x6CED, 27598 },
- { 0x6CEE, 29340 },
- { 0x6CEF, 29180 },
- { 0x6CF0, 28355 },
- { 0x6CF1, 28233 },
- { 0x6CF2, 30102 },
- { 0x6CF3, 30088 },
- { 0x6CF4, 30116 },
- { 0x6CF5, 27881 },
- { 0x6CF6, 27866 },
- { 0x6CF7, 26493 },
- { 0x6CF8, 26478 },
- { 0x6CF9, 29752 },
- { 0x6CFA, 29737 },
- { 0x6CFB, 29465 },
- { 0x6CFC, 29450 },
- { 0x6CFD, 29941 },
- { 0x6CFE, 29926 },
- { 0x6CFF, 27009 },
- { 0x6D00, 26994 },
- { 0x6D01, 28830 },
- { 0x6D02, 28815 },
- { 0x6D03, 28918 },
- { 0x6D04, 28903 },
- { 0x6D05, 27798 },
- { 0x6D06, 27783 },
- { 0x6D07, 26806 },
- { 0x6D08, 26791 },
- { 0x6D09, 29979 },
- { 0x6D0A, 29884 },
- { 0x6D0B, 30007 },
- { 0x6D0C, 30071 },
- { 0x6D0D, 29912 },
- { 0x6D0E, 29436 },
- { 0x6D0F, 27769 },
- { 0x6D10, 26777 },
- { 0x6D11, 27873 },
- { 0x6D12, 27859 },
- { 0x6D13, 26485 },
- { 0x6D14, 26471 },
- { 0x6D15, 29744 },
- { 0x6D16, 29730 },
- { 0x6D17, 29457 },
- { 0x6D18, 29443 },
- { 0x6D19, 29933 },
- { 0x6D1A, 29919 },
- { 0x6D1B, 27001 },
- { 0x6D1C, 26987 },
- { 0x6D1D, 28822 },
- { 0x6D1E, 28808 },
- { 0x6D1F, 28910 },
- { 0x6D20, 28896 },
- { 0x6D21, 27790 },
- { 0x6D22, 27776 },
- { 0x6D23, 26798 },
- { 0x6D24, 26784 },
- { 0x6D25, 29958 },
- { 0x6D26, 29863 },
- { 0x6D27, 29986 },
- { 0x6D28, 30050 },
- { 0x6D29, 29905 },
- { 0x6D2A, 29429 },
- { 0x6D2B, 27762 },
- { 0x6D2C, 26770 },
- { 0x6D2D, 29972 },
- { 0x6D2E, 29877 },
- { 0x6D2F, 30000 },
- { 0x6D30, 30064 },
- { 0x6D31, 29422 },
- { 0x6D32, 29898 },
- { 0x6D33, 27932 },
- { 0x6D34, 29492 },
- { 0x6D35, 29394 },
- { 0x6D36, 29532 },
- { 0x6D37, 29965 },
- { 0x6D38, 29870 },
- { 0x6D39, 29993 },
- { 0x6D3A, 27925 },
- { 0x6D3B, 28722 },
- { 0x6D3C, 28743 },
- { 0x6D3D, 28750 },
- { 0x6D3E, 35643 },
- { 0x6D3F, 35646 },
- { 0x6D50, 28057 },
- { 0x6D51, 27946 },
- { 0x6D52, 27955 },
- { 0x6D53, 27964 },
- { 0x6D54, 28099 },
- { 0x6D55, 28150 },
- { 0x6D56, 28122 },
- { 0x6D57, 28159 },
- { 0x6D58, 28838 },
- { 0x6D59, 28847 },
- { 0x6D5A, 27040 },
- { 0x6D5B, 27049 },
- { 0x6D5C, 29385 },
- { 0x6D5D, 29473 },
- { 0x6D5E, 29482 },
- { 0x6D5F, 29553 },
- { 0x6D60, 29562 },
- { 0x6D61, 29571 },
- { 0x6D62, 29580 },
- { 0x6D63, 29589 },
- { 0x6D64, 27721 },
- { 0x6D65, 27730 },
- { 0x6D66, 27813 },
- { 0x6D67, 29845 },
- { 0x6D68, 29854 },
- { 0x6D69, 29949 },
- { 0x6D6A, 30014 },
- { 0x6D6B, 30023 },
- { 0x6D6C, 30032 },
- { 0x6D6D, 30041 },
- { 0x6D6E, 26746 },
- { 0x6D6F, 26828 },
- { 0x6D70, 26837 },
- { 0x6D71, 27889 },
- { 0x6D72, 27898 },
- { 0x6D73, 27916 },
- { 0x6D74, 27907 },
- { 0x6D75, 26501 },
- { 0x6D76, 26552 },
- { 0x6D77, 26561 },
- { 0x6D78, 26542 },
- { 0x6D79, 29793 },
- { 0x6D7A, 29774 },
- { 0x6D7B, 29783 },
- { 0x6D7C, 26932 },
- { 0x6D7D, 26941 },
- { 0x6D7E, 27663 },
- { 0x6D7F, 27690 },
- { 0x6D80, 27330 },
- { 0x6D81, 27311 },
- { 0x6D82, 27320 },
- { 0x6D83, 27491 },
- { 0x6D84, 27482 },
- { 0x6D85, 27532 },
- { 0x6D86, 27541 },
- { 0x6D87, 27564 },
- { 0x6D88, 27573 },
- { 0x6D89, 28963 },
- { 0x6D8A, 28972 },
- { 0x6D8B, 28954 },
- { 0x6D8C, 29017 },
- { 0x6D8D, 29044 },
- { 0x6D8E, 29076 },
- { 0x6D8F, 29085 },
- { 0x6D92, 29035 },
- { 0x6D93, 27102 },
- { 0x6D94, 27111 },
- { 0x6D95, 29157 },
- { 0x6D96, 29147 },
- { 0x6D97, 29268 },
- { 0x6D98, 29277 },
- { 0x6D99, 29258 },
- { 0x6D9A, 29314 },
- { 0x6D9B, 29323 },
- { 0x6D9C, 28330 },
- { 0x6D9D, 28339 },
- { 0x6D9E, 26672 },
- { 0x6D9F, 28038 },
- { 0x6DA0, 28047 },
- { 0x6DA1, 28080 },
- { 0x6DA2, 28089 },
- { 0x6DA3, 28131 },
- { 0x6DA4, 28140 },
- { 0x6DA5, 28856 },
- { 0x6DA6, 28784 },
- { 0x6DA7, 28865 },
- { 0x6DA8, 29522 },
- { 0x6DA9, 27739 },
- { 0x6DAA, 29836 },
- { 0x6DAB, 26737 },
- { 0x6DAC, 27473 },
- { 0x6DAD, 27582 },
- { 0x6DAE, 28210 },
- { 0x6DAF, 28284 },
- { 0x6DB0, 28321 },
- { 0x6DB1, 29108 },
- { 0x6DB2, 27681 },
- { 0x6DB3, 29138 },
- { 0x6DB4, 27672 },
- { 0x6DB5, 27339 },
- { 0x6DB6, 26533 },
- { 0x6DB7, 27256 },
- { 0x6DB8, 29240 },
- { 0x6DB9, 29067 },
- { 0x6DBA, 27509 },
- { 0x6DBB, 27265 },
- { 0x6DBC, 27500 },
- { 0x6DBD, 29231 },
- { 0x6DBE, 28775 },
- { 0x6DBF, 27017 },
- { 0x6DC0, 29026 },
- { 0x6DC1, 26964 },
- { 0x6DC2, 26584 },
- { 0x6DC3, 27274 },
- { 0x6DC4, 26510 },
- { 0x6DC5, 27822 },
- { 0x6DC6, 29513 },
- { 0x6DC7, 29249 },
- { 0x6DF0, 29821 },
- { 0x6DF1, 29375 },
- { 0x6DF2, 29725 },
- { 0x6DF3, 29720 },
- { 0x6DF4, 30191 },
- { 0x6DF5, 29816 },
- { 0x6DF6, 30083 },
- { 0x6DF7, 30078 },
- { 0x6DF8, 30196 },
- { 0x6DF9, 29831 },
- { 0x6DFA, 30206 },
- { 0x6DFB, 30211 },
- { 0x6DFC, 9693 },
- { 0x6DFD, 30201 },
- { 0x6E00, 66314 },
- { 0x6E01, 66316 },
- { 0x6E02, 66318 },
- { 0x6E03, 66320 },
- { 0x6E04, 66322 },
- { 0x6E05, 66324 },
- { 0x6E06, 66326 },
- { 0x6E07, 66328 },
- { 0x6E08, 66330 },
- { 0x6E09, 66332 },
- { 0x6E0A, 66334 },
- { 0x6E0B, 66336 },
- { 0x6E0C, 66338 },
- { 0x6E0D, 66340 },
- { 0x6E0E, 66342 },
- { 0x6E0F, 66344 },
- { 0x6E10, 74355 },
- { 0x6E11, 74464 },
- { 0x6E12, 74457 },
- { 0x6E13, 74350 },
- { 0x6E14, 74440 },
- { 0x6E15, 74451 },
- { 0x6E16, 74434 },
- { 0x6E17, 74299 },
- { 0x6E18, 74390 },
- { 0x6E19, 74445 },
- { 0x6E20, 58207 },
- { 0x6E21, 58211 },
- { 0x6E22, 57894 },
- { 0x6E23, 57899 },
- { 0x6E24, 57948 },
- { 0x6E25, 57955 },
- { 0x6E26, 58290 },
- { 0x6E30, 74262 },
- { 0x6E31, 74244 },
- { 0x6E32, 74250 },
- { 0x6E33, 74256 },
- { 0x6E34, 74343 },
- { 0x6E35, 74337 },
- { 0x6E36, 74428 },
- { 0x6E37, 74284 },
- { 0x6E38, 74375 },
- { 0x6E39, 74329 },
- { 0x6E3A, 74420 },
- { 0x6E3B, 74276 },
- { 0x6E3C, 74367 },
- { 0x6E3D, 74314 },
- { 0x6E3E, 74405 },
- { 0x6E3F, 74269 },
- { 0x6E40, 74360 },
- { 0x6E41, 74307 },
- { 0x6E42, 74398 },
- { 0x6E43, 74291 },
- { 0x6E44, 74382 },
- { 0x6E45, 35852 },
- { 0x6E46, 23293 },
- { 0x6E47, 74322 },
- { 0x6E48, 74413 },
- { 0x6E49, 31173 },
- { 0x6E4A, 66833 },
- { 0x6E4B, 10082 },
- { 0x6E4C, 31561 },
- { 0x6E4D, 31170 },
- { 0x6E4E, 66830 },
- { 0x6E4F, 10075 },
- { 0x6E50, 22507 },
- { 0x6E51, 22660 },
- { 0x6E52, 22487 },
- { 0x6E54, 22652 },
- { 0x6E55, 22505 },
- { 0x6E56, 22644 },
- { 0x6E57, 22657 },
- { 0x6E58, 22480 },
- { 0x6E59, 22499 },
- { 0x6E5A, 22518 },
- { 0x6E5B, 22490 },
- { 0x6E5C, 22509 },
- { 0x6E5D, 22494 },
- { 0x6E5E, 22513 },
- { 0x6E5F, 22596 },
- { 0x6E60, 22647 },
- { 0x6E61, 22624 },
- { 0x6E62, 22502 },
- { 0x6E63, 22666 },
- { 0x6E64, 22649 },
- { 0x6E65, 22663 },
- { 0x6E66, 22593 },
- { 0x6E68, 22621 },
- { 0x6E69, 22590 },
- { 0x6E6A, 22618 },
- { 0x6E6B, 22654 },
- { 0x6E70, 26455 },
- { 0x6E71, 26442 },
- { 0x6E72, 26449 },
- { 0x6E73, 23761 },
- { 0x6E74, 26467 },
- { 0x6E76, 23797 },
- { 0x6E77, 23793 },
- { 0x6E78, 23772 },
- { 0x6E79, 23768 },
- { 0x6E7A, 23813 },
- { 0x6E7B, 23809 },
- { 0x6E7C, 26418 },
- { 0x6E7D, 26414 },
- { 0x6E7E, 23953 },
- { 0x6E7F, 23949 },
- { 0x6E80, 26059 },
- { 0x6E81, 25385 },
- { 0x6E82, 25377 },
- { 0x6E83, 25341 },
- { 0x6E84, 25333 },
- { 0x6E85, 25111 },
- { 0x6E86, 25103 },
- { 0x6E87, 25363 },
- { 0x6E88, 25355 },
- { 0x6E89, 25185 },
- { 0x6E8A, 25161 },
- { 0x6E8B, 25177 },
- { 0x6E8C, 25169 },
- { 0x6E8D, 25448 },
- { 0x6E8E, 25411 },
- { 0x6E8F, 24226 },
- { 0x6E90, 24211 },
- { 0x6E91, 24221 },
- { 0x6E92, 24216 },
- { 0x6E93, 25042 },
- { 0x6E94, 25036 },
- { 0x6E95, 25048 },
- { 0x6E96, 25012 },
- { 0x6E97, 25022 },
- { 0x6E98, 25017 },
- { 0x6E99, 25869 },
- { 0x6E9A, 25854 },
- { 0x6E9B, 25864 },
- { 0x6E9C, 25859 },
- { 0x6E9D, 25572 },
- { 0x6E9E, 25557 },
- { 0x6E9F, 25567 },
- { 0x6EA0, 25562 },
- { 0x6EA1, 24540 },
- { 0x6EA2, 24525 },
- { 0x6EA3, 24535 },
- { 0x6EA4, 24530 },
- { 0x6EA5, 25595 },
- { 0x6EA6, 25580 },
- { 0x6EA7, 25590 },
- { 0x6EA8, 25585 },
- { 0x6EA9, 24328 },
- { 0x6EAA, 24323 },
- { 0x6EAB, 25846 },
- { 0x6EAC, 25841 },
- { 0x6EAD, 24924 },
- { 0x6EAE, 24919 },
- { 0x6EAF, 25905 },
- { 0x6EB0, 25900 },
- { 0x6EB1, 25833 },
- { 0x6EB2, 25818 },
- { 0x6EB3, 25828 },
- { 0x6EB4, 25823 },
- { 0x6EB5, 26216 },
- { 0x6EB6, 26201 },
- { 0x6EB7, 26211 },
- { 0x6EB8, 26206 },
- { 0x6EB9, 24961 },
- { 0x6EBA, 24946 },
- { 0x6EBB, 24956 },
- { 0x6EBC, 24951 },
- { 0x6EBD, 24255 },
- { 0x6EBE, 24240 },
- { 0x6EBF, 24250 },
- { 0x6EC0, 24245 },
- { 0x6EC1, 24991 },
- { 0x6EC2, 24976 },
- { 0x6EC3, 24986 },
- { 0x6EC4, 24981 },
- { 0x6EC5, 25305 },
- { 0x6EC6, 25290 },
- { 0x6EC7, 25300 },
- { 0x6EC8, 25295 },
- { 0x6EC9, 24139 },
- { 0x6ECA, 24124 },
- { 0x6ECB, 24134 },
- { 0x6ECC, 24129 },
- { 0x6ECD, 26051 },
- { 0x6ECE, 26036 },
- { 0x6ECF, 26046 },
- { 0x6ED0, 26041 },
- { 0x6ED1, 24400 },
- { 0x6ED2, 24385 },
- { 0x6ED3, 24395 },
- { 0x6ED4, 24390 },
- { 0x6ED5, 24828 },
- { 0x6ED6, 24813 },
- { 0x6ED7, 24823 },
- { 0x6ED8, 24818 },
- { 0x6ED9, 24715 },
- { 0x6EDA, 24700 },
- { 0x6EDB, 24710 },
- { 0x6EDC, 24705 },
- { 0x6EDD, 24769 },
- { 0x6EDE, 24754 },
- { 0x6EDF, 24764 },
- { 0x6EE0, 24759 },
- { 0x6EE1, 25630 },
- { 0x6EE2, 25615 },
- { 0x6EE3, 25625 },
- { 0x6EE4, 25620 },
- { 0x6EE5, 25706 },
- { 0x6EE6, 25675 },
- { 0x6EE7, 25701 },
- { 0x6EE8, 25696 },
- { 0x6EE9, 24626 },
- { 0x6EEA, 24611 },
- { 0x6EEB, 24621 },
- { 0x6EEC, 24616 },
- { 0x6EED, 25142 },
- { 0x6EEE, 25137 },
- { 0x6EEF, 25442 },
- { 0x6EF0, 25436 },
- { 0x6EF1, 25282 },
- { 0x6EF2, 25206 },
- { 0x6EF3, 25277 },
- { 0x6EF4, 25272 },
- { 0x6EF5, 27433 },
- { 0x6EF6, 27423 },
- { 0x6EF7, 27393 },
- { 0x6EF8, 27383 },
- { 0x6EF9, 27413 },
- { 0x6EFA, 27403 },
- { 0x6EFB, 27466 },
- { 0x6EFC, 27443 },
- { 0x6EFF, 10095 },
- { 0x6F01, 63786 },
- { 0x6F02, 63773 },
- { 0x6F03, 63749 },
- { 0x6F04, 63741 },
- { 0x6F05, 63752 },
- { 0x6F06, 63768 },
- { 0x6F07, 63778 },
- { 0x6F08, 63415 },
- { 0x6F09, 63733 },
- { 0x6F0A, 63760 },
- { 0x6F0B, 63418 },
- { 0x6F0C, 63423 },
- { 0x6F0D, 63792 },
- { 0x6F0E, 63400 },
- { 0x6F0F, 63758 },
- { 0x6F10, 63443 },
- { 0x6F11, 63425 },
- { 0x6F12, 63431 },
- { 0x6F13, 63452 },
- { 0x6F14, 63437 },
- { 0x6F15, 63434 },
- { 0x6F16, 63428 },
- { 0x6F17, 63449 },
- { 0x6F18, 63446 },
- { 0x6F19, 63440 },
- { 0x6F1A, 63421 },
- { 0x6F1B, 63776 },
- { 0x6F1C, 63770 },
- { 0x6F1D, 63744 },
- { 0x6F1E, 63789 },
- { 0x6F1F, 63762 },
- { 0x6F20, 63783 },
- { 0x6F21, 63588 },
- { 0x6F22, 63593 },
- { 0x6F23, 63598 },
- { 0x6F24, 63603 },
- { 0x6F25, 63608 },
- { 0x6F26, 63613 },
- { 0x6F27, 63618 },
- { 0x6F28, 63623 },
- { 0x6F29, 63628 },
- { 0x6F2A, 63633 },
- { 0x6F2B, 63638 },
- { 0x6F2C, 63643 },
- { 0x6F2D, 63648 },
- { 0x6F2E, 63653 },
- { 0x6F2F, 63658 },
- { 0x6F30, 63663 },
- { 0x6F31, 63668 },
- { 0x6F32, 63673 },
- { 0x6F33, 63678 },
- { 0x6F34, 63683 },
- { 0x6F35, 63688 },
- { 0x6F36, 63693 },
- { 0x6F37, 63698 },
- { 0x6F38, 63703 },
- { 0x6F39, 63708 },
- { 0x6F3A, 63713 },
- { 0x6F3B, 63411 },
- { 0x6F3C, 63755 },
- { 0x6F3D, 63729 },
- { 0x6F3E, 63780 },
- { 0x6F3F, 63385 },
- { 0x6F40, 63455 },
- { 0x6F41, 63458 },
- { 0x6F42, 63463 },
- { 0x6F43, 63468 },
- { 0x6F44, 63473 },
- { 0x6F45, 63478 },
- { 0x6F46, 63483 },
- { 0x6F47, 63488 },
- { 0x6F48, 63493 },
- { 0x6F49, 63498 },
- { 0x6F4A, 63503 },
- { 0x6F4B, 63508 },
- { 0x6F4C, 63513 },
- { 0x6F4D, 63518 },
- { 0x6F4E, 63523 },
- { 0x6F4F, 63528 },
- { 0x6F50, 63533 },
- { 0x6F51, 63538 },
- { 0x6F52, 63543 },
- { 0x6F53, 63548 },
- { 0x6F54, 63553 },
- { 0x6F55, 63558 },
- { 0x6F56, 63563 },
- { 0x6F57, 63568 },
- { 0x6F58, 63573 },
- { 0x6F59, 63578 },
- { 0x6F5A, 63583 },
- { 0x6F5B, 63403 },
- { 0x6F5C, 63765 },
- { 0x6F5D, 63721 },
- { 0x6F5E, 63736 },
- { 0x6F5F, 63407 },
- { 0x6F60, 63725 },
- { 0x6F61, 64276 },
- { 0x6F62, 63796 },
- { 0x6F63, 63807 },
- { 0x6F64, 64280 },
- { 0x6F65, 64253 },
- { 0x6F66, 64192 },
- { 0x6F67, 64208 },
- { 0x6F68, 64218 },
- { 0x6F69, 64228 },
- { 0x6F6A, 64213 },
- { 0x6F6B, 64223 },
- { 0x6F6C, 64238 },
- { 0x6F6D, 64248 },
- { 0x6F6E, 64243 },
- { 0x6F6F, 64233 },
- { 0x6F70, 64283 },
- { 0x6F71, 64024 },
- { 0x6F72, 64032 },
- { 0x6F73, 64044 },
- { 0x6F74, 64028 },
- { 0x6F75, 64040 },
- { 0x6F76, 64068 },
- { 0x6F77, 64076 },
- { 0x6F78, 64084 },
- { 0x6F79, 64072 },
- { 0x6F7A, 64080 },
- { 0x6F7B, 64148 },
- { 0x6F7C, 64156 },
- { 0x6F7D, 64164 },
- { 0x6F7E, 64152 },
- { 0x6F7F, 64160 },
- { 0x6F80, 64168 },
- { 0x6F81, 64176 },
- { 0x6F82, 64184 },
- { 0x6F83, 64172 },
- { 0x6F84, 64180 },
- { 0x6F85, 64108 },
- { 0x6F86, 64116 },
- { 0x6F87, 64124 },
- { 0x6F88, 64112 },
- { 0x6F89, 64120 },
- { 0x6F8A, 64048 },
- { 0x6F8B, 64056 },
- { 0x6F8C, 64064 },
- { 0x6F8D, 64052 },
- { 0x6F8E, 64060 },
- { 0x6F8F, 64088 },
- { 0x6F90, 64096 },
- { 0x6F91, 64104 },
- { 0x6F92, 64092 },
- { 0x6F93, 64100 },
- { 0x6F94, 64196 },
- { 0x6F95, 64204 },
- { 0x6F96, 64200 },
- { 0x6F97, 64128 },
- { 0x6F98, 64136 },
- { 0x6F99, 64144 },
- { 0x6F9A, 64132 },
- { 0x6F9B, 64140 },
- { 0x6F9C, 64188 },
- { 0x6F9D, 64036 },
- { 0x6F9E, 64257 },
- { 0x6F9F, 64262 },
- { 0x6FA0, 63814 },
- { 0x6FA1, 63933 },
- { 0x6FA2, 64001 },
- { 0x6FA3, 63977 },
- { 0x6FA4, 63921 },
- { 0x6FA5, 63981 },
- { 0x6FA6, 63985 },
- { 0x6FA7, 63937 },
- { 0x6FA8, 64005 },
- { 0x6FA9, 63929 },
- { 0x6FAA, 64009 },
- { 0x6FAB, 63993 },
- { 0x6FAC, 63997 },
- { 0x6FAD, 63965 },
- { 0x6FAE, 64017 },
- { 0x6FAF, 64013 },
- { 0x6FB0, 63989 },
- { 0x6FB1, 63917 },
- { 0x6FB2, 63925 },
- { 0x6FB3, 63973 },
- { 0x6FB4, 63961 },
- { 0x6FB5, 63901 },
- { 0x6FB6, 63957 },
- { 0x6FB7, 63913 },
- { 0x6FB8, 63905 },
- { 0x6FB9, 63969 },
- { 0x6FBA, 63941 },
- { 0x6FBB, 63945 },
- { 0x6FBC, 63953 },
- { 0x6FBD, 63949 },
- { 0x6FBE, 63909 },
- { 0x6FC2, 63817 },
- { 0x6FC3, 63837 },
- { 0x6FC4, 63865 },
- { 0x6FC5, 63893 },
- { 0x6FC6, 63841 },
- { 0x6FC7, 63821 },
- { 0x6FCA, 63897 },
- { 0x6FCB, 63869 },
- { 0x6FCC, 63829 },
- { 0x6FCD, 63853 },
- { 0x6FCE, 63885 },
- { 0x6FCF, 63849 },
- { 0x6FD2, 63877 },
- { 0x6FD3, 63833 },
- { 0x6FD4, 63889 },
- { 0x6FD5, 63857 },
- { 0x6FD6, 63861 },
- { 0x6FD7, 63881 },
- { 0x6FDA, 63845 },
- { 0x6FDB, 63873 },
- { 0x6FDC, 63825 },
- { 0x6FE0, 63397 },
- { 0x6FE1, 63718 },
- { 0x6FE2, 63388 },
- { 0x6FE3, 63747 },
- { 0x6FE4, 63738 },
- { 0x6FE5, 63394 },
- { 0x6FE6, 63391 },
- { 0x6FE8, 63803 },
- { 0x6FE9, 64270 },
- { 0x6FEA, 64021 },
- { 0x6FEB, 64273 },
- { 0x6FEC, 64267 },
- { 0x6FED, 63800 },
- { 0x6FEE, 63811 },
- { 0x6FF9, 69249 },
- { 0x6FFA, 69252 },
- { 0x6FFB, 69255 },
- { 0x6FFC, 35637 },
- { 0x6FFD, 69276 },
- { 0x7000, 35010 },
- { 0x7001, 35135 },
- { 0x7002, 35095 },
- { 0x7003, 35235 },
- { 0x7004, 35020 },
- { 0x7005, 34975 },
- { 0x7006, 35170 },
- { 0x7007, 35005 },
- { 0x7008, 35040 },
- { 0x7009, 35190 },
- { 0x700A, 35215 },
- { 0x700B, 35175 },
- { 0x700D, 35125 },
- { 0x700E, 35245 },
- { 0x700F, 35305 },
- { 0x7010, 35165 },
- { 0x7011, 35255 },
- { 0x7012, 35270 },
- { 0x7013, 35320 },
- { 0x7014, 35315 },
- { 0x7015, 35035 },
- { 0x7016, 35285 },
- { 0x7017, 35045 },
- { 0x7018, 35070 },
- { 0x7019, 35000 },
- { 0x701A, 35075 },
- { 0x701B, 35105 },
- { 0x701C, 35195 },
- { 0x701D, 35210 },
- { 0x701E, 34985 },
- { 0x701F, 35280 },
- { 0x7020, 35140 },
- { 0x7021, 35025 },
- { 0x7022, 35185 },
- { 0x7023, 35050 },
- { 0x7024, 35310 },
- { 0x7025, 35065 },
- { 0x7026, 35115 },
- { 0x7028, 35230 },
- { 0x7029, 35090 },
- { 0x702A, 35200 },
- { 0x702B, 34980 },
- { 0x702C, 35085 },
- { 0x702D, 35110 },
- { 0x702E, 35015 },
- { 0x702F, 35150 },
- { 0x7030, 35030 },
- { 0x7031, 35220 },
- { 0x7032, 35225 },
- { 0x7033, 34990 },
- { 0x7034, 35130 },
- { 0x7035, 34995 },
- { 0x7036, 35265 },
- { 0x7037, 35205 },
- { 0x7038, 35295 },
- { 0x7039, 35145 },
- { 0x703A, 35155 },
- { 0x703C, 35055 },
- { 0x703D, 35290 },
- { 0x703F, 35060 },
- { 0x7040, 35080 },
- { 0x7041, 35160 },
- { 0x7042, 35325 },
- { 0x7043, 35275 },
- { 0x7044, 35335 },
- { 0x7045, 35180 },
- { 0x7046, 35100 },
- { 0x7047, 35240 },
- { 0x7048, 35300 },
- { 0x7049, 35120 },
- { 0x704A, 35260 },
- { 0x704B, 35250 },
- { 0x704C, 35330 },
- { 0x704D, 35340 },
- { 0x7050, 34349 },
- { 0x7051, 34353 },
- { 0x7052, 34357 },
- { 0x7053, 34361 },
- { 0x7054, 34365 },
- { 0x7055, 34369 },
- { 0x7056, 34373 },
- { 0x7057, 34377 },
- { 0x7058, 34381 },
- { 0x7059, 34385 },
- { 0x705A, 34389 },
- { 0x705B, 34393 },
- { 0x705C, 34397 },
- { 0x705D, 34401 },
- { 0x7080, 34405 },
- { 0x7081, 34410 },
- { 0x7082, 34415 },
- { 0x7083, 34420 },
- { 0x7084, 34750 },
- { 0x7085, 34755 },
- { 0x7086, 34760 },
- { 0x7087, 34765 },
- { 0x7088, 34770 },
- { 0x7089, 34775 },
- { 0x708A, 34780 },
- { 0x708B, 34785 },
- { 0x708C, 34790 },
- { 0x708D, 34795 },
- { 0x708E, 34425 },
- { 0x708F, 34430 },
- { 0x7090, 34435 },
- { 0x7091, 34440 },
- { 0x7092, 34445 },
- { 0x7093, 34945 },
- { 0x7094, 34950 },
- { 0x7095, 34450 },
- { 0x7096, 34455 },
- { 0x7097, 34460 },
- { 0x7098, 34955 },
- { 0x7099, 34960 },
- { 0x709A, 34464 },
- { 0x709B, 34469 },
- { 0x709C, 34474 },
- { 0x709D, 34478 },
- { 0x709E, 34483 },
- { 0x709F, 34487 },
- { 0x70A0, 34491 },
- { 0x70A1, 34496 },
- { 0x70A2, 34500 },
- { 0x70A3, 34504 },
- { 0x70A4, 34965 },
- { 0x70A5, 34508 },
- { 0x70A6, 34512 },
- { 0x70A7, 34516 },
- { 0x70A8, 34521 },
- { 0x70A9, 34525 },
- { 0x70AA, 34529 },
- { 0x70AB, 34534 },
- { 0x70AC, 34539 },
- { 0x70AD, 34543 },
- { 0x70AE, 34547 },
- { 0x70AF, 34551 },
- { 0x70B0, 34555 },
- { 0x70B1, 34559 },
- { 0x70B2, 34563 },
- { 0x70B3, 34567 },
- { 0x70B4, 34571 },
- { 0x70B5, 34575 },
- { 0x70B6, 34580 },
- { 0x70B7, 34584 },
- { 0x70B8, 34589 },
- { 0x70B9, 34593 },
- { 0x70BA, 34597 },
- { 0x70BB, 34601 },
- { 0x70BC, 34605 },
- { 0x70BD, 34609 },
- { 0x70BE, 34613 },
- { 0x70BF, 34617 },
- { 0x70C0, 34621 },
- { 0x70C1, 34625 },
- { 0x70C2, 34629 },
- { 0x70C3, 34633 },
- { 0x70C4, 34638 },
- { 0x70C5, 34643 },
- { 0x70C6, 34648 },
- { 0x70C7, 34653 },
- { 0x70C8, 34658 },
- { 0x70C9, 34662 },
- { 0x70CA, 34667 },
- { 0x70CB, 34671 },
- { 0x70CC, 34675 },
- { 0x70CD, 34681 },
- { 0x70CE, 34686 },
- { 0x70CF, 34692 },
- { 0x70D0, 34697 },
- { 0x70D1, 34701 },
- { 0x70D2, 34970 },
- { 0x70D3, 34705 },
- { 0x70D4, 34709 },
- { 0x70D5, 34713 },
- { 0x70D6, 34717 },
- { 0x70D7, 34721 },
- { 0x70D8, 34725 },
- { 0x70D9, 34730 },
- { 0x70DA, 34734 },
- { 0x70DB, 34738 },
- { 0x70DC, 34742 },
- { 0x70DD, 34746 },
- { 0x70DE, 34800 },
- { 0x70DF, 34805 },
- { 0x70E0, 34810 },
- { 0x70E1, 34815 },
- { 0x70E2, 34820 },
- { 0x70E3, 34825 },
- { 0x70E4, 34830 },
- { 0x70E5, 34835 },
- { 0x70E6, 34840 },
- { 0x70E7, 34845 },
- { 0x70E8, 34850 },
- { 0x70E9, 34855 },
- { 0x70EA, 34860 },
- { 0x70EB, 34865 },
- { 0x70EC, 34870 },
- { 0x70ED, 34875 },
- { 0x70EE, 34880 },
- { 0x70EF, 34885 },
- { 0x70F0, 34890 },
- { 0x70F1, 34895 },
- { 0x70F2, 34900 },
- { 0x70F3, 34905 },
- { 0x70F4, 34910 },
- { 0x70F5, 34915 },
- { 0x70F6, 34920 },
- { 0x70F7, 34925 },
- { 0x70F8, 34930 },
- { 0x70F9, 34935 },
- { 0x70FA, 34940 },
- { 0x7100, 23485 },
- { 0x7101, 23481 },
- { 0x7102, 23489 },
- { 0x7107, 23497 },
- { 0x7108, 23526 },
- { 0x7109, 23613 },
- { 0x710A, 23548 },
- { 0x710B, 23537 },
- { 0x710C, 23508 },
- { 0x710D, 23595 },
- { 0x710E, 23570 },
- { 0x710F, 23559 },
- { 0x7110, 23519 },
- { 0x7111, 23645 },
- { 0x7112, 23638 },
- { 0x7113, 23588 },
- { 0x7114, 23581 },
- { 0x7115, 23606 },
- { 0x7116, 23652 },
- { 0x7117, 23624 },
- { 0x7118, 23631 },
- { 0x7119, 23500 },
- { 0x711A, 23529 },
- { 0x711B, 23616 },
- { 0x711C, 23551 },
- { 0x711D, 23540 },
- { 0x711E, 23511 },
- { 0x711F, 23598 },
- { 0x7120, 23573 },
- { 0x7121, 23562 },
- { 0x7122, 23504 },
- { 0x7123, 23533 },
- { 0x7124, 23620 },
- { 0x7125, 23555 },
- { 0x7126, 23544 },
- { 0x7127, 23515 },
- { 0x7128, 23602 },
- { 0x7129, 23577 },
- { 0x712A, 23566 },
- { 0x712B, 23522 },
- { 0x712C, 23648 },
- { 0x712D, 23641 },
- { 0x712E, 23591 },
- { 0x712F, 23584 },
- { 0x7130, 23609 },
- { 0x7131, 23655 },
- { 0x7132, 23627 },
- { 0x7133, 23634 },
- { 0x7137, 23659 },
- { 0x7138, 23663 },
- { 0x7139, 23675 },
- { 0x713A, 23667 },
- { 0x713B, 23671 },
- { 0x713C, 23476 },
- { 0x713D, 23492 },
- { 0x713E, 23683 },
- { 0x713F, 23679 },
- { 0x7140, 13133 },
- { 0x7141, 13111 },
- { 0x7142, 13116 },
- { 0x7143, 13171 },
- { 0x7144, 13213 },
- { 0x7145, 13175 },
- { 0x7146, 13202 },
- { 0x7147, 13227 },
- { 0x7148, 13197 },
- { 0x7149, 13160 },
- { 0x714A, 13222 },
- { 0x714B, 13127 },
- { 0x714C, 13186 },
- { 0x714D, 13144 },
- { 0x714E, 13207 },
- { 0x714F, 13192 },
- { 0x7150, 13155 },
- { 0x7151, 13217 },
- { 0x7152, 13121 },
- { 0x7153, 13180 },
- { 0x7154, 13138 },
- { 0x7155, 13165 },
- { 0x7156, 13232 },
- { 0x7157, 13150 },
- { 0x7158, 13248 },
- { 0x7159, 13263 },
- { 0x715A, 13331 },
- { 0x715B, 13317 },
- { 0x715C, 13281 },
- { 0x715D, 13253 },
- { 0x715E, 13321 },
- { 0x715F, 13353 },
- { 0x7160, 13343 },
- { 0x7161, 13347 },
- { 0x7162, 13335 },
- { 0x7163, 13313 },
- { 0x7164, 13277 },
- { 0x7165, 13304 },
- { 0x7166, 13362 },
- { 0x7167, 13366 },
- { 0x7168, 13339 },
- { 0x7169, 13295 },
- { 0x716A, 13267 },
- { 0x716B, 13299 },
- { 0x716C, 13326 },
- { 0x716D, 13357 },
- { 0x716E, 13285 },
- { 0x716F, 13308 },
- { 0x7170, 13238 },
- { 0x7171, 13272 },
- { 0x7172, 13290 },
- { 0x7173, 13243 },
- { 0x7174, 13258 },
- { 0x7175, 10649 },
- { 0x7176, 10653 },
- { 0x7177, 10674 },
- { 0x7178, 11894 },
- { 0x7179, 10694 },
- { 0x717A, 12082 },
- { 0x717B, 13022 },
- { 0x717C, 10689 },
- { 0x717D, 10670 },
- { 0x717E, 11890 },
- { 0x717F, 10685 },
- { 0x7180, 10681 },
- { 0x7181, 13056 },
- { 0x7182, 13027 },
- { 0x7183, 10717 },
- { 0x7184, 12079 },
- { 0x7185, 12085 },
- { 0x7186, 12021 },
- { 0x7187, 12018 },
- { 0x7188, 12024 },
- { 0x7189, 13067 },
- { 0x718A, 10697 },
- { 0x7190, 22109 },
- { 0x7191, 22013 },
- { 0x7192, 22121 },
- { 0x7193, 22112 },
- { 0x7194, 22016 },
- { 0x7195, 22115 },
- { 0x7196, 22118 },
- { 0x7197, 22130 },
- { 0x7198, 22133 },
- { 0x7199, 22127 },
- { 0x719A, 22010 },
- { 0x719B, 22124 },
- { 0x71D0, 55326 },
- { 0x71D1, 55265 },
- { 0x71D2, 55306 },
- { 0x71D3, 55278 },
- { 0x71D4, 55211 },
- { 0x71D5, 55245 },
- { 0x71D6, 55261 },
- { 0x71D7, 55294 },
- { 0x71D8, 55237 },
- { 0x71D9, 55202 },
- { 0x71DA, 55145 },
- { 0x71DB, 55270 },
- { 0x71DC, 55165 },
- { 0x71DD, 55298 },
- { 0x71DE, 55282 },
- { 0x71DF, 55161 },
- { 0x71E0, 55153 },
- { 0x71E1, 55311 },
- { 0x71E2, 55315 },
- { 0x71E3, 55253 },
- { 0x71E4, 55169 },
- { 0x71E5, 55228 },
- { 0x71E6, 55249 },
- { 0x71E7, 55274 },
- { 0x71E8, 55189 },
- { 0x71E9, 55181 },
- { 0x71EA, 55177 },
- { 0x71EB, 55206 },
- { 0x71EC, 55149 },
- { 0x71ED, 55157 },
- { 0x71EE, 55215 },
- { 0x71EF, 55173 },
- { 0x71F0, 55241 },
- { 0x71F1, 55141 },
- { 0x71F2, 55223 },
- { 0x71F3, 55193 },
- { 0x71F4, 55286 },
- { 0x71F5, 55290 },
- { 0x71F6, 55185 },
- { 0x71F7, 55136 },
- { 0x71F8, 55219 },
- { 0x71F9, 55257 },
- { 0x71FA, 55302 },
- { 0x71FB, 55232 },
- { 0x71FC, 55197 },
- { 0x71FD, 55320 },
- { 0x7280, 35345 },
- { 0x7281, 35354 },
- { 0x7282, 35348 },
- { 0x7283, 35411 },
- { 0x7284, 35357 },
- { 0x7285, 35351 },
- { 0x7286, 35363 },
- { 0x7287, 35399 },
- { 0x7288, 35405 },
- { 0x7289, 35426 },
- { 0x728A, 35366 },
- { 0x728B, 35369 },
- { 0x728C, 35384 },
- { 0x728D, 35372 },
- { 0x728E, 35375 },
- { 0x728F, 35378 },
- { 0x7290, 35420 },
- { 0x7291, 35423 },
- { 0x7292, 35396 },
- { 0x7293, 35381 },
- { 0x7294, 35417 },
- { 0x7295, 35387 },
- { 0x7296, 35390 },
- { 0x7297, 35393 },
- { 0x7298, 35429 },
- { 0x7299, 35408 },
- { 0x729A, 35414 },
- { 0x729B, 35360 },
- { 0x729C, 35402 },
- { 0x72A0, 30318 },
- { 0x72A1, 30405 },
- { 0x72A2, 30324 },
- { 0x72A3, 30339 },
- { 0x72A4, 30447 },
- { 0x72A5, 30357 },
- { 0x72A6, 30390 },
- { 0x72A7, 30372 },
- { 0x72A8, 30354 },
- { 0x72A9, 30321 },
- { 0x72AA, 30342 },
- { 0x72AB, 30348 },
- { 0x72AC, 30375 },
- { 0x72AD, 30363 },
- { 0x72AE, 30411 },
- { 0x72AF, 30438 },
- { 0x72B0, 30360 },
- { 0x72B1, 30450 },
- { 0x72B2, 30366 },
- { 0x72B3, 30402 },
- { 0x72B4, 30369 },
- { 0x72B5, 30345 },
- { 0x72B6, 30444 },
- { 0x72B7, 30351 },
- { 0x72B8, 30414 },
- { 0x72B9, 30333 },
- { 0x72BA, 30327 },
- { 0x72BB, 30462 },
- { 0x72BC, 30336 },
- { 0x72BD, 30387 },
- { 0x72BE, 30396 },
- { 0x72BF, 30423 },
- { 0x72C0, 30330 },
- { 0x72C1, 30381 },
- { 0x72C2, 30417 },
- { 0x72C3, 30441 },
- { 0x72C4, 30399 },
- { 0x72C5, 30384 },
- { 0x72C6, 30453 },
- { 0x72C7, 30420 },
- { 0x72C8, 30456 },
- { 0x72C9, 30408 },
- { 0x72CA, 30393 },
- { 0x72CB, 30429 },
- { 0x72CC, 30432 },
- { 0x72CD, 30435 },
- { 0x72CE, 30426 },
- { 0x72CF, 30378 },
- { 0x72D0, 30459 },
- { 0x7300, 6815 },
- { 0x7301, 6835 },
- { 0x7302, 6879 },
- { 0x7303, 6839 },
- { 0x7304, 6819 },
- { 0x7305, 6899 },
- { 0x7306, 6903 },
- { 0x7307, 6867 },
- { 0x7308, 6935 },
- { 0x7309, 6823 },
- { 0x730A, 6875 },
- { 0x730B, 6847 },
- { 0x730C, 6851 },
- { 0x730D, 6855 },
- { 0x730E, 6919 },
- { 0x730F, 6827 },
- { 0x7310, 6887 },
- { 0x7311, 6931 },
- { 0x7312, 6883 },
- { 0x7313, 6859 },
- { 0x7314, 6863 },
- { 0x7315, 6891 },
- { 0x7316, 6831 },
- { 0x7317, 6911 },
- { 0x7318, 6927 },
- { 0x7319, 6923 },
- { 0x731A, 6843 },
- { 0x731B, 6915 },
- { 0x731C, 6907 },
- { 0x731D, 6871 },
- { 0x731E, 6895 },
- { 0x7320, 6939 },
- { 0x7321, 6947 },
- { 0x7322, 6943 },
- { 0x7323, 6951 },
- { 0x7330, 31802 },
- { 0x7331, 31869 },
- { 0x7332, 31808 },
- { 0x7333, 31805 },
- { 0x7334, 31857 },
- { 0x7335, 31875 },
- { 0x7336, 31814 },
- { 0x7337, 31811 },
- { 0x7338, 31866 },
- { 0x7339, 31796 },
- { 0x733A, 31833 },
- { 0x733B, 31836 },
- { 0x733C, 31839 },
- { 0x733D, 31860 },
- { 0x733E, 31799 },
- { 0x733F, 31821 },
- { 0x7340, 31872 },
- { 0x7341, 31863 },
- { 0x7342, 31845 },
- { 0x7343, 31848 },
- { 0x7344, 31851 },
- { 0x7345, 31854 },
- { 0x7346, 31824 },
- { 0x7347, 31830 },
- { 0x7348, 31827 },
- { 0x7349, 31842 },
- { 0x734A, 31817 },
- { 0x7380, 55959 },
- { 0x7381, 55962 },
- { 0x7382, 55986 },
- { 0x7383, 55941 },
- { 0x7384, 55983 },
- { 0x7385, 55920 },
- { 0x7386, 55929 },
- { 0x7387, 55980 },
- { 0x7388, 55968 },
- { 0x7389, 55953 },
- { 0x738A, 55956 },
- { 0x738B, 55938 },
- { 0x738C, 55977 },
- { 0x738D, 55992 },
- { 0x738E, 55944 },
- { 0x738F, 55965 },
- { 0x7390, 55947 },
- { 0x7391, 55932 },
- { 0x7392, 55998 },
- { 0x7393, 55935 },
- { 0x7394, 55923 },
- { 0x7395, 55974 },
- { 0x7396, 55971 },
- { 0x7397, 55995 },
- { 0x7398, 56001 },
- { 0x7399, 55989 },
- { 0x739A, 55926 },
- { 0x739B, 55914 },
- { 0x739C, 55917 },
- { 0x739D, 55950 },
- { 0x739F, 55911 },
- { 0x73A0, 6955 },
- { 0x73A1, 6959 },
- { 0x73A2, 6963 },
- { 0x73A3, 7011 },
- { 0x73A4, 7015 },
- { 0x73A5, 6991 },
- { 0x73A6, 6995 },
- { 0x73A7, 7075 },
- { 0x73A8, 6971 },
- { 0x73A9, 7003 },
- { 0x73AA, 7007 },
- { 0x73AB, 7059 },
- { 0x73AC, 7063 },
- { 0x73AD, 6975 },
- { 0x73AE, 6979 },
- { 0x73AF, 6983 },
- { 0x73B0, 7095 },
- { 0x73B1, 7043 },
- { 0x73B2, 6967 },
- { 0x73B3, 6987 },
- { 0x73B4, 7035 },
- { 0x73B5, 7039 },
- { 0x73B6, 7023 },
- { 0x73B7, 7027 },
- { 0x73B8, 7031 },
- { 0x73B9, 7079 },
- { 0x73BA, 7067 },
- { 0x73BB, 7071 },
- { 0x73BC, 7047 },
- { 0x73BD, 7051 },
- { 0x73BE, 7019 },
- { 0x73BF, 7055 },
- { 0x73C0, 7083 },
- { 0x73C1, 7087 },
- { 0x73C2, 7091 },
- { 0x73C3, 6999 },
- { 0x73C8, 7111 },
- { 0x73C9, 7119 },
- { 0x73CA, 7123 },
- { 0x73CB, 7127 },
- { 0x73CC, 7107 },
- { 0x73CD, 7115 },
- { 0x73CE, 7099 },
- { 0x73CF, 7103 },
- { 0x73D0, 7131 },
- { 0x73D1, 7135 },
- { 0x73D2, 7143 },
- { 0x73D3, 7139 },
- { 0x73D4, 7147 },
- { 0x73D5, 7151 },
- { 0x7400, 40249 },
- { 0x7401, 40244 },
- { 0x7402, 40239 },
- { 0x7403, 40259 },
- { 0x7404, 40254 },
- { 0x7405, 40264 },
- { 0x7406, 40287 },
- { 0x7407, 40282 },
- { 0x7408, 40277 },
- { 0x7409, 40297 },
- { 0x740A, 40292 },
- { 0x740B, 40302 },
- { 0x740C, 40139 },
- { 0x740D, 40175 },
- { 0x740E, 40179 },
- { 0x740F, 40227 },
- { 0x7410, 40135 },
- { 0x7411, 40215 },
- { 0x7412, 40183 },
- { 0x7413, 40219 },
- { 0x7414, 40187 },
- { 0x7415, 40235 },
- { 0x7416, 40207 },
- { 0x7417, 40211 },
- { 0x7418, 40203 },
- { 0x7419, 40143 },
- { 0x741A, 40223 },
- { 0x741B, 40199 },
- { 0x741C, 40269 },
- { 0x741D, 40163 },
- { 0x741E, 40231 },
- { 0x741F, 40195 },
- { 0x7420, 40273 },
- { 0x7421, 40159 },
- { 0x7422, 40147 },
- { 0x7423, 40151 },
- { 0x7424, 40155 },
- { 0x7425, 40191 },
- { 0x7426, 40171 },
- { 0x7427, 40167 },
- { 0x7428, 40077 },
- { 0x7429, 40072 },
- { 0x742A, 40067 },
- { 0x742B, 40087 },
- { 0x742C, 40082 },
- { 0x742D, 40092 },
- { 0x742E, 40115 },
- { 0x742F, 40110 },
- { 0x7430, 40105 },
- { 0x7431, 40125 },
- { 0x7432, 40120 },
- { 0x7433, 40130 },
- { 0x7434, 39967 },
- { 0x7435, 40003 },
- { 0x7436, 40007 },
- { 0x7437, 40055 },
- { 0x7438, 39963 },
- { 0x7439, 40043 },
- { 0x743A, 40011 },
- { 0x743B, 40047 },
- { 0x743C, 40015 },
- { 0x743D, 40063 },
- { 0x743E, 40035 },
- { 0x743F, 40039 },
- { 0x7440, 40031 },
- { 0x7441, 39971 },
- { 0x7442, 40051 },
- { 0x7443, 40027 },
- { 0x7444, 40097 },
- { 0x7445, 39991 },
- { 0x7446, 40059 },
- { 0x7447, 40023 },
- { 0x7448, 40101 },
- { 0x7449, 39987 },
- { 0x744A, 39975 },
- { 0x744B, 39979 },
- { 0x744C, 39983 },
- { 0x744D, 40019 },
- { 0x744E, 39999 },
- { 0x744F, 39995 },
- { 0x7450, 43139 },
- { 0x7451, 43103 },
- { 0x7452, 43127 },
- { 0x7453, 43079 },
- { 0x7454, 43163 },
- { 0x7455, 43040 },
- { 0x7456, 43145 },
- { 0x7457, 43166 },
- { 0x7458, 43112 },
- { 0x7459, 43124 },
- { 0x745A, 43064 },
- { 0x745B, 43121 },
- { 0x745C, 43082 },
- { 0x745D, 43106 },
- { 0x745E, 43148 },
- { 0x745F, 43118 },
- { 0x7460, 43169 },
- { 0x7461, 43160 },
- { 0x7462, 43109 },
- { 0x7463, 43157 },
- { 0x7464, 43130 },
- { 0x7465, 43133 },
- { 0x7466, 43031 },
- { 0x7467, 43073 },
- { 0x7468, 43058 },
- { 0x7469, 43046 },
- { 0x746A, 43034 },
- { 0x746B, 43151 },
- { 0x746C, 43100 },
- { 0x746D, 43028 },
- { 0x746E, 43142 },
- { 0x746F, 43091 },
- { 0x7470, 43070 },
- { 0x7471, 43049 },
- { 0x7472, 43088 },
- { 0x7473, 43043 },
- { 0x7474, 43094 },
- { 0x7475, 43136 },
- { 0x7476, 43097 },
- { 0x7477, 43061 },
- { 0x7478, 43055 },
- { 0x7479, 43037 },
- { 0x747A, 43052 },
- { 0x747B, 43076 },
- { 0x747C, 43154 },
- { 0x747D, 43067 },
- { 0x747E, 43085 },
- { 0x747F, 43115 },
- { 0x7480, 42944 },
- { 0x7481, 42899 },
- { 0x7482, 42926 },
- { 0x7483, 42914 },
- { 0x7484, 42929 },
- { 0x7485, 42938 },
- { 0x7486, 42950 },
- { 0x7487, 42920 },
- { 0x7488, 42923 },
- { 0x7489, 42968 },
- { 0x748A, 42935 },
- { 0x748B, 42947 },
- { 0x748C, 42908 },
- { 0x748D, 42905 },
- { 0x748E, 42965 },
- { 0x748F, 42953 },
- { 0x7490, 42956 },
- { 0x7491, 42959 },
- { 0x7492, 42962 },
- { 0x7493, 42941 },
- { 0x7494, 42911 },
- { 0x7495, 42932 },
- { 0x7496, 42881 },
- { 0x7497, 42884 },
- { 0x7498, 42887 },
- { 0x7499, 42890 },
- { 0x749A, 42893 },
- { 0x749B, 42896 },
- { 0x749C, 42902 },
- { 0x749D, 42917 },
- { 0x74A0, 42869 },
- { 0x74A1, 42851 },
- { 0x74A2, 42857 },
- { 0x74A3, 42878 },
- { 0x74A4, 42863 },
- { 0x74A5, 42860 },
- { 0x74A6, 42854 },
- { 0x74A7, 42875 },
- { 0x74A8, 42872 },
- { 0x74A9, 42866 },
- { 0x7800, 39794 },
- { 0x7801, 39797 },
- { 0x7802, 39800 },
- { 0x7803, 39803 },
- { 0x7804, 39806 },
- { 0x7805, 39809 },
- { 0x7808, 39812 },
- { 0x780A, 39815 },
- { 0x780B, 39818 },
- { 0x780C, 39821 },
- { 0x780D, 39824 },
- { 0x780E, 39827 },
- { 0x780F, 39830 },
- { 0x7810, 39833 },
- { 0x7811, 39836 },
- { 0x7812, 39839 },
- { 0x7813, 39842 },
- { 0x7814, 39845 },
- { 0x7815, 39848 },
- { 0x7816, 39851 },
- { 0x7817, 39854 },
- { 0x7818, 39857 },
- { 0x7819, 39860 },
- { 0x781A, 39863 },
- { 0x781B, 39866 },
- { 0x781C, 39869 },
- { 0x781D, 39872 },
- { 0x781E, 39875 },
- { 0x781F, 39878 },
- { 0x7820, 39881 },
- { 0x7821, 39884 },
- { 0x7822, 39887 },
- { 0x7823, 39890 },
- { 0x7824, 39893 },
- { 0x7825, 39896 },
- { 0x7826, 39899 },
- { 0x7827, 39902 },
- { 0x7828, 39905 },
- { 0x7829, 39908 },
- { 0x782A, 39911 },
- { 0x782B, 39914 },
- { 0x782C, 39917 },
- { 0x782D, 39920 },
- { 0x782E, 39923 },
- { 0x782F, 39926 },
- { 0x7830, 39929 },
- { 0x7831, 39932 },
- { 0x7832, 39935 },
- { 0x7833, 39938 },
- { 0x7834, 39941 },
- { 0x7835, 39944 },
- { 0x7837, 39947 },
- { 0x7838, 39950 },
- { 0x783C, 39953 },
- { 0x783F, 39956 },
- { 0x7900, 67899 },
- { 0x7901, 67902 },
- { 0x7902, 67938 },
- { 0x7903, 67935 },
- { 0x7904, 67890 },
- { 0x7905, 67926 },
- { 0x7906, 67932 },
- { 0x7907, 67905 },
- { 0x7908, 67923 },
- { 0x7909, 67929 },
- { 0x790A, 67908 },
- { 0x790B, 67941 },
- { 0x790C, 67911 },
- { 0x790D, 67914 },
- { 0x790E, 67950 },
- { 0x790F, 67896 },
- { 0x7910, 67893 },
- { 0x7911, 67947 },
- { 0x7912, 67917 },
- { 0x7913, 67944 },
- { 0x7914, 67953 },
- { 0x7915, 67920 },
- { 0x7916, 67956 },
- { 0x7917, 67963 },
- { 0x7918, 67966 },
- { 0x7919, 67959 },
- { 0x791F, 67887 },
- { 0x7920, 35432 },
- { 0x7921, 35435 },
- { 0x7922, 35450 },
- { 0x7923, 35441 },
- { 0x7924, 35444 },
- { 0x7925, 35486 },
- { 0x7926, 35453 },
- { 0x7927, 35489 },
- { 0x7928, 35456 },
- { 0x7929, 35459 },
- { 0x792A, 35462 },
- { 0x792B, 35465 },
- { 0x792C, 35468 },
- { 0x792D, 35474 },
- { 0x792E, 35504 },
- { 0x792F, 35480 },
- { 0x7930, 35483 },
- { 0x7931, 35447 },
- { 0x7932, 35471 },
- { 0x7933, 35477 },
- { 0x7934, 35507 },
- { 0x7935, 35492 },
- { 0x7936, 35495 },
- { 0x7937, 35498 },
- { 0x7938, 35501 },
- { 0x7939, 35438 },
- { 0x793F, 35510 },
- { 0x7A00, 67726 },
- { 0x7A01, 67705 },
- { 0x7A02, 67713 },
- { 0x7A03, 67717 },
- { 0x7A05, 67701 },
- { 0x7A06, 67709 },
- { 0x7A0C, 67722 },
- { 0x7A0D, 67678 },
- { 0x7A0E, 67686 },
- { 0x7A0F, 67683 },
- { 0x7A10, 67747 },
- { 0x7A11, 67795 },
- { 0x7A12, 67738 },
- { 0x7A13, 67792 },
- { 0x7A15, 67732 },
- { 0x7A16, 67783 },
- { 0x7A17, 67744 },
- { 0x7A19, 67804 },
- { 0x7A1A, 67819 },
- { 0x7A1B, 67825 },
- { 0x7A1C, 67786 },
- { 0x7A1D, 67822 },
- { 0x7A1E, 67801 },
- { 0x7A1F, 67768 },
- { 0x7A20, 67816 },
- { 0x7A21, 67735 },
- { 0x7A22, 67789 },
- { 0x7A23, 67756 },
- { 0x7A24, 67759 },
- { 0x7A25, 67807 },
- { 0x7A26, 67729 },
- { 0x7A27, 67780 },
- { 0x7A28, 67753 },
- { 0x7A29, 67774 },
- { 0x7A2A, 67762 },
- { 0x7A2B, 67750 },
- { 0x7A2C, 67771 },
- { 0x7A2D, 67810 },
- { 0x7A2E, 67813 },
- { 0x7A2F, 67765 },
- { 0x7A30, 67777 },
- { 0x7A31, 67741 },
- { 0x7A32, 67798 },
- { 0x7A33, 67828 },
- { 0x7A38, 67667 },
- { 0x7A39, 67675 },
- { 0x7A3A, 67671 },
- { 0x7A3F, 67845 },
- { 0x7A40, 67689 },
- { 0x7A41, 67692 },
- { 0x7A42, 67698 },
- { 0x7A43, 67695 },
- { 0x7A44, 67839 },
- { 0x7A45, 67842 },
- { 0x7A46, 67831 },
- { 0x7A47, 67835 },
- { 0x7A50, 67847 },
- { 0x7A51, 67859 },
- { 0x7A52, 67863 },
- { 0x7A53, 67870 },
- { 0x7A54, 67874 },
- { 0x7A55, 67856 },
- { 0x7A56, 67850 },
- { 0x7A57, 67866 },
- { 0x7A58, 67853 },
- { 0x8000, 58351 },
- { 0x8001, 58354 },
- { 0x8002, 58364 },
- { 0x8003, 58379 },
- { 0x8004, 58359 },
- { 0x8005, 58369 },
- { 0x8006, 58390 },
- { 0x8007, 58385 },
- { 0x8008, 58374 },
- { 0x8009, 58460 },
- { 0x800A, 58463 },
- { 0x800B, 58495 },
- { 0x800C, 58500 },
- { 0x800D, 58484 },
- { 0x800E, 58506 },
- { 0x800F, 58479 },
- { 0x8010, 58489 },
- { 0x8011, 58512 },
- { 0x8012, 58517 },
- { 0x8013, 58522 },
- { 0x8014, 58470 },
- { 0x8015, 58466 },
- { 0x8016, 59529 },
- { 0x8017, 59555 },
- { 0x8018, 59539 },
- { 0x8019, 59532 },
- { 0x801A, 59545 },
- { 0x801B, 59550 },
- { 0x801C, 58527 },
- { 0x801D, 58530 },
- { 0x801E, 58533 },
- { 0x801F, 58538 },
- { 0x8020, 58545 },
- { 0x8021, 58548 },
- { 0x8022, 58573 },
- { 0x8023, 58578 },
- { 0x8024, 58553 },
- { 0x8025, 58583 },
- { 0x8026, 58558 },
- { 0x8027, 58563 },
- { 0x8028, 58568 },
- { 0x8029, 61180 },
- { 0x802A, 61793 },
- { 0x802B, 61183 },
- { 0x802C, 61186 },
- { 0x802D, 58588 },
- { 0x802E, 58591 },
- { 0x802F, 58611 },
- { 0x8030, 58602 },
- { 0x8031, 58596 },
- { 0x8032, 61796 },
- { 0x8033, 61191 },
- { 0x8034, 61194 },
- { 0x8035, 61197 },
- { 0x8036, 61799 },
- { 0x8037, 61802 },
- { 0x8038, 59560 },
- { 0x8039, 59600 },
- { 0x803A, 59563 },
- { 0x803B, 59588 },
- { 0x803C, 59568 },
- { 0x803D, 59575 },
- { 0x803E, 61202 },
- { 0x803F, 62374 },
- { 0x8040, 58616 },
- { 0x8041, 59605 },
- { 0x8042, 61205 },
- { 0x8043, 62377 },
- { 0x8044, 59608 },
- { 0x8045, 59611 },
- { 0x8046, 61805 },
- { 0x8047, 59616 },
- { 0x8048, 61808 },
- { 0x8049, 58619 },
- { 0x804A, 58622 },
- { 0x804B, 58627 },
- { 0x804C, 58632 },
- { 0x804D, 58638 },
- { 0x804E, 58641 },
- { 0x804F, 58647 },
- { 0x8050, 58653 },
- { 0x8051, 61811 },
- { 0x8052, 61814 },
- { 0x8053, 59619 },
- { 0x8054, 61208 },
- { 0x8055, 58658 },
- { 0x8056, 59622 },
- { 0x8057, 59625 },
- { 0x8058, 59751 },
- { 0x8059, 59769 },
- { 0x805A, 59633 },
- { 0x805B, 59639 },
- { 0x805C, 59645 },
- { 0x805D, 59653 },
- { 0x805E, 59757 },
- { 0x805F, 59719 },
- { 0x8060, 59659 },
- { 0x8061, 59665 },
- { 0x8062, 59671 },
- { 0x8063, 59725 },
- { 0x8064, 59679 },
- { 0x8065, 59685 },
- { 0x8066, 59691 },
- { 0x8067, 59731 },
- { 0x8068, 59699 },
- { 0x8069, 59737 },
- { 0x806A, 59705 },
- { 0x806B, 59763 },
- { 0x806C, 59711 },
- { 0x806D, 59745 },
- { 0x806E, 59775 },
- { 0x806F, 59778 },
- { 0x8070, 61819 },
- { 0x8071, 61822 },
- { 0x8072, 58661 },
- { 0x8073, 59781 },
- { 0x8074, 59784 },
- { 0x8075, 59787 },
- { 0x8076, 61211 },
- { 0x8077, 59792 },
- { 0x8078, 59795 },
- { 0x8079, 61214 },
- { 0x807A, 58664 },
- { 0x807B, 58671 },
- { 0x807C, 58667 },
- { 0x807D, 58676 },
- { 0x807E, 59802 },
- { 0x807F, 59805 },
- { 0x8080, 61217 },
- { 0x8081, 59810 },
- { 0x8082, 61825 },
- { 0x8083, 59813 },
- { 0x8084, 59816 },
- { 0x8085, 61220 },
- { 0x8086, 61223 },
- { 0x8087, 61227 },
- { 0x8088, 61232 },
- { 0x8089, 61235 },
- { 0x808A, 58396 },
- { 0x808B, 58407 },
- { 0x808C, 58399 },
- { 0x808D, 58680 },
- { 0x808E, 58683 },
- { 0x808F, 58702 },
- { 0x8090, 58697 },
- { 0x8091, 58707 },
- { 0x8092, 58712 },
- { 0x8093, 58692 },
- { 0x8094, 61238 },
- { 0x8095, 61241 },
- { 0x8096, 58717 },
- { 0x8097, 58720 },
- { 0x8098, 58728 },
- { 0x8099, 58733 },
- { 0x809A, 58723 },
- { 0x809B, 58743 },
- { 0x809C, 58748 },
- { 0x809D, 58739 },
- { 0x809E, 61244 },
- { 0x809F, 61828 },
- { 0x80A0, 61247 },
- { 0x80A1, 61250 },
- { 0x80A2, 61253 },
- { 0x80A3, 61258 },
- { 0x80A4, 61265 },
- { 0x80A5, 61274 },
- { 0x80A6, 61315 },
- { 0x80A7, 61338 },
- { 0x80A8, 61344 },
- { 0x80A9, 61279 },
- { 0x80AA, 61284 },
- { 0x80AB, 61320 },
- { 0x80AC, 61351 },
- { 0x80AD, 61356 },
- { 0x80AE, 61326 },
- { 0x80AF, 61290 },
- { 0x80B0, 61331 },
- { 0x80B1, 61295 },
- { 0x80B2, 61300 },
- { 0x80B3, 61305 },
- { 0x80B4, 61310 },
- { 0x80B5, 58753 },
- { 0x80B6, 58756 },
- { 0x80B7, 59819 },
- { 0x80B8, 59827 },
- { 0x80B9, 59836 },
- { 0x80BA, 59843 },
- { 0x80BB, 59950 },
- { 0x80BC, 59855 },
- { 0x80BD, 59958 },
- { 0x80BE, 60106 },
- { 0x80BF, 59963 },
- { 0x80C0, 59968 },
- { 0x80C1, 59975 },
- { 0x80C2, 59980 },
- { 0x80C3, 59860 },
- { 0x80C4, 59865 },
- { 0x80C5, 59987 },
- { 0x80C6, 59994 },
- { 0x80C7, 59870 },
- { 0x80C8, 59875 },
- { 0x80C9, 59882 },
- { 0x80CA, 59887 },
- { 0x80CB, 60113 },
- { 0x80CC, 59999 },
- { 0x80CD, 59895 },
- { 0x80CE, 60004 },
- { 0x80CF, 60009 },
- { 0x80D0, 60119 },
- { 0x80D1, 59900 },
- { 0x80D2, 60016 },
- { 0x80D3, 60021 },
- { 0x80D4, 59909 },
- { 0x80D5, 60126 },
- { 0x80D6, 60028 },
- { 0x80D7, 60034 },
- { 0x80D8, 60043 },
- { 0x80D9, 60141 },
- { 0x80DA, 60048 },
- { 0x80DB, 60053 },
- { 0x80DC, 60060 },
- { 0x80DD, 59916 },
- { 0x80DE, 59921 },
- { 0x80DF, 59928 },
- { 0x80E0, 60067 },
- { 0x80E1, 60072 },
- { 0x80E2, 59933 },
- { 0x80E3, 60079 },
- { 0x80E4, 60084 },
- { 0x80E5, 60089 },
- { 0x80E6, 60094 },
- { 0x80E7, 60131 },
- { 0x80E8, 60101 },
- { 0x80E9, 60136 },
- { 0x80EA, 59850 },
- { 0x80EB, 59938 },
- { 0x80EC, 59943 },
- { 0x80ED, 59822 },
- { 0x80EE, 61362 },
- { 0x80EF, 61365 },
- { 0x80F0, 60146 },
- { 0x80F1, 60149 },
- { 0x80F2, 60157 },
- { 0x80F3, 60160 },
- { 0x80F4, 61831 },
- { 0x80F5, 60169 },
- { 0x80F6, 60172 },
- { 0x80F7, 61370 },
- { 0x80F8, 61378 },
- { 0x80F9, 61373 },
- { 0x80FA, 61382 },
- { 0x80FB, 60175 },
- { 0x80FC, 61387 },
- { 0x80FD, 62380 },
- { 0x80FE, 62539 },
- { 0x80FF, 62542 },
- { 0x8100, 58760 },
- { 0x8101, 58763 },
- { 0x8102, 58768 },
- { 0x8103, 58773 },
- { 0x8104, 60178 },
- { 0x8105, 60181 },
- { 0x8106, 60186 },
- { 0x8107, 61834 },
- { 0x8108, 61390 },
- { 0x8109, 61393 },
- { 0x810A, 61397 },
- { 0x810B, 61400 },
- { 0x810C, 61424 },
- { 0x810D, 61419 },
- { 0x810E, 61407 },
- { 0x810F, 61414 },
- { 0x8110, 61837 },
- { 0x8111, 61430 },
- { 0x8112, 61447 },
- { 0x8113, 61437 },
- { 0x8114, 61442 },
- { 0x8115, 61433 },
- { 0x8116, 58778 },
- { 0x8117, 58781 },
- { 0x8118, 60191 },
- { 0x8119, 60198 },
- { 0x811A, 60203 },
- { 0x811B, 60211 },
- { 0x811C, 60216 },
- { 0x811D, 60194 },
- { 0x811E, 60223 },
- { 0x811F, 60232 },
- { 0x8120, 60239 },
- { 0x8121, 60226 },
- { 0x8122, 60244 },
- { 0x8123, 60247 },
- { 0x8124, 60250 },
- { 0x8125, 60255 },
- { 0x8126, 61452 },
- { 0x8127, 61840 },
- { 0x8128, 62383 },
- { 0x8129, 58786 },
- { 0x812A, 58793 },
- { 0x812B, 58789 },
- { 0x812C, 60258 },
- { 0x812D, 58797 },
- { 0x812E, 58805 },
- { 0x812F, 58835 },
- { 0x8130, 58810 },
- { 0x8131, 58840 },
- { 0x8132, 58815 },
- { 0x8133, 58820 },
- { 0x8134, 58825 },
- { 0x8135, 58830 },
- { 0x8136, 58800 },
- { 0x8137, 58845 },
- { 0x8138, 61455 },
- { 0x8139, 61458 },
- { 0x813A, 61468 },
- { 0x813B, 61478 },
- { 0x813C, 61473 },
- { 0x813D, 61463 },
- { 0x813E, 61483 },
- { 0x813F, 58412 },
- { 0x8140, 58415 },
- { 0x8141, 58848 },
- { 0x8142, 61486 },
- { 0x8143, 61489 },
- { 0x8144, 61495 },
- { 0x8145, 58851 },
- { 0x8146, 60261 },
- { 0x8147, 60268 },
- { 0x8148, 60264 },
- { 0x8149, 60276 },
- { 0x814A, 60272 },
- { 0x814B, 58854 },
- { 0x814C, 58857 },
- { 0x814D, 60287 },
- { 0x814E, 58863 },
- { 0x814F, 58866 },
- { 0x8150, 58875 },
- { 0x8151, 58880 },
- { 0x8152, 58871 },
- { 0x8153, 61501 },
- { 0x8154, 58885 },
- { 0x8155, 58888 },
- { 0x8156, 60290 },
- { 0x8157, 58891 },
- { 0x8158, 58894 },
- { 0x8159, 58904 },
- { 0x815A, 58909 },
- { 0x815B, 59113 },
- { 0x815C, 59029 },
- { 0x815D, 59165 },
- { 0x815E, 59034 },
- { 0x815F, 58916 },
- { 0x8160, 59170 },
- { 0x8161, 59118 },
- { 0x8162, 58921 },
- { 0x8163, 59039 },
- { 0x8164, 59123 },
- { 0x8165, 59044 },
- { 0x8166, 59049 },
- { 0x8167, 58926 },
- { 0x8168, 59129 },
- { 0x8169, 59134 },
- { 0x816A, 59141 },
- { 0x816B, 58931 },
- { 0x816C, 59148 },
- { 0x816D, 59058 },
- { 0x816E, 58936 },
- { 0x816F, 59063 },
- { 0x8170, 58941 },
- { 0x8171, 59068 },
- { 0x8172, 58946 },
- { 0x8173, 58951 },
- { 0x8174, 58956 },
- { 0x8175, 58961 },
- { 0x8176, 58968 },
- { 0x8177, 58975 },
- { 0x8178, 58982 },
- { 0x8179, 58987 },
- { 0x817A, 58994 },
- { 0x817B, 59073 },
- { 0x817C, 58999 },
- { 0x817D, 59004 },
- { 0x817E, 59009 },
- { 0x817F, 59078 },
- { 0x8180, 59083 },
- { 0x8181, 59088 },
- { 0x8182, 59153 },
- { 0x8183, 59093 },
- { 0x8184, 59098 },
- { 0x8185, 59175 },
- { 0x8186, 59103 },
- { 0x8187, 58899 },
- { 0x8188, 59014 },
- { 0x8189, 59019 },
- { 0x818A, 59158 },
- { 0x818B, 59108 },
- { 0x818C, 59024 },
- { 0x818D, 60293 },
- { 0x818E, 60296 },
- { 0x818F, 60301 },
- { 0x8190, 61504 },
- { 0x8191, 61507 },
- { 0x8192, 61510 },
- { 0x8193, 61513 },
- { 0x8194, 61516 },
- { 0x8195, 60304 },
- { 0x8196, 60307 },
- { 0x8197, 60313 },
- { 0x8198, 60316 },
- { 0x8199, 60321 },
- { 0x819A, 61521 },
- { 0x819B, 61524 },
- { 0x819C, 62386 },
- { 0x819D, 62401 },
- { 0x819E, 62389 },
- { 0x819F, 61843 },
- { 0x81A0, 59180 },
- { 0x81A1, 59193 },
- { 0x81A2, 59183 },
- { 0x81A3, 59188 },
- { 0x81A4, 60326 },
- { 0x81A5, 60329 },
- { 0x81A6, 61846 },
- { 0x81A7, 61527 },
- { 0x81A8, 62411 },
- { 0x81A9, 62414 },
- { 0x81AA, 59198 },
- { 0x81AB, 59201 },
- { 0x81AC, 60332 },
- { 0x81AD, 60335 },
- { 0x81AE, 60338 },
- { 0x81AF, 60343 },
- { 0x81B0, 60346 },
- { 0x81B1, 60349 },
- { 0x81B2, 60353 },
- { 0x81B3, 60356 },
- { 0x81B4, 60359 },
- { 0x81B5, 62419 },
- { 0x81B6, 62422 },
- { 0x81B7, 59213 },
- { 0x81B8, 61849 },
- { 0x81B9, 61852 },
- { 0x81BA, 61857 },
- { 0x81BB, 61866 },
- { 0x81BC, 61873 },
- { 0x81BD, 61901 },
- { 0x81BE, 61906 },
- { 0x81BF, 62007 },
- { 0x81C0, 62014 },
- { 0x81C1, 61911 },
- { 0x81C2, 62019 },
- { 0x81C3, 61916 },
- { 0x81C4, 61921 },
- { 0x81C5, 62024 },
- { 0x81C6, 62029 },
- { 0x81C7, 62034 },
- { 0x81C8, 61926 },
- { 0x81C9, 62041 },
- { 0x81CA, 61931 },
- { 0x81CB, 62046 },
- { 0x81CC, 61938 },
- { 0x81CD, 61943 },
- { 0x81CE, 61950 },
- { 0x81CF, 61957 },
- { 0x81D0, 62052 },
- { 0x81D1, 62057 },
- { 0x81D2, 62062 },
- { 0x81D3, 62067 },
- { 0x81D4, 62130 },
- { 0x81D5, 62103 },
- { 0x81D6, 61962 },
- { 0x81D7, 62076 },
- { 0x81D8, 61967 },
- { 0x81D9, 61972 },
- { 0x81DA, 62108 },
- { 0x81DB, 61979 },
- { 0x81DC, 62081 },
- { 0x81DD, 62135 },
- { 0x81DE, 62144 },
- { 0x81DF, 62113 },
- { 0x81E0, 62118 },
- { 0x81E1, 62088 },
- { 0x81E2, 62093 },
- { 0x81E3, 62125 },
- { 0x81E4, 61984 },
- { 0x81E5, 61880 },
- { 0x81E6, 61885 },
- { 0x81E7, 61892 },
- { 0x81E8, 61995 },
- { 0x81E9, 62002 },
- { 0x81EA, 62098 },
- { 0x81EB, 62152 },
- { 0x81EC, 62156 },
- { 0x81ED, 62171 },
- { 0x81EE, 62176 },
- { 0x81EF, 62159 },
- { 0x81F0, 62163 },
- { 0x81F1, 62425 },
- { 0x81F2, 60364 },
- { 0x81F3, 60367 },
- { 0x81F4, 60372 },
- { 0x81F5, 60375 },
- { 0x81F6, 60380 },
- { 0x81F7, 59216 },
- { 0x81F8, 60387 },
- { 0x81F9, 62428 },
- { 0x81FA, 61530 },
- { 0x81FB, 59219 },
- { 0x81FC, 59222 },
- { 0x81FD, 60390 },
- { 0x81FE, 60397 },
- { 0x81FF, 60450 },
- { 0x8200, 60455 },
- { 0x8201, 60460 },
- { 0x8202, 60466 },
- { 0x8203, 60402 },
- { 0x8204, 60409 },
- { 0x8205, 60472 },
- { 0x8206, 60477 },
- { 0x8207, 60482 },
- { 0x8208, 60414 },
- { 0x8209, 60419 },
- { 0x820A, 60501 },
- { 0x820B, 60426 },
- { 0x820C, 60433 },
- { 0x820D, 60438 },
- { 0x820E, 60443 },
- { 0x820F, 60489 },
- { 0x8210, 60496 },
- { 0x8211, 60393 },
- { 0x8212, 60514 },
- { 0x8213, 60519 },
- { 0x8214, 60510 },
- { 0x8215, 60506 },
- { 0x8216, 60524 },
- { 0x8217, 62183 },
- { 0x8218, 62186 },
- { 0x8219, 62195 },
- { 0x821A, 62191 },
- { 0x821B, 60527 },
- { 0x821C, 60530 },
- { 0x821D, 60533 },
- { 0x821E, 60536 },
- { 0x821F, 60541 },
- { 0x8220, 59227 },
- { 0x8221, 59234 },
- { 0x8222, 59230 },
- { 0x8223, 60549 },
- { 0x8224, 60552 },
- { 0x8225, 60555 },
- { 0x8226, 61533 },
- { 0x8227, 62200 },
- { 0x8228, 59239 },
- { 0x8229, 60558 },
- { 0x822A, 59242 },
- { 0x822B, 60561 },
- { 0x822C, 59245 },
- { 0x822D, 59248 },
- { 0x822E, 60564 },
- { 0x822F, 60567 },
- { 0x8230, 62431 },
- { 0x8231, 62434 },
- { 0x8232, 61536 },
- { 0x8233, 61553 },
- { 0x8234, 61563 },
- { 0x8235, 61558 },
- { 0x8236, 61539 },
- { 0x8237, 61544 },
- { 0x8238, 61568 },
- { 0x8239, 62203 },
- { 0x823A, 62210 },
- { 0x823B, 62215 },
- { 0x823C, 62222 },
- { 0x823D, 62206 },
- { 0x823E, 59253 },
- { 0x823F, 60571 },
- { 0x8240, 61573 },
- { 0x8241, 61582 },
- { 0x8242, 61576 },
- { 0x8243, 61586 },
- { 0x8244, 62227 },
- { 0x8245, 60577 },
- { 0x8246, 60574 },
- { 0x8247, 61591 },
- { 0x8248, 59256 },
- { 0x8249, 59259 },
- { 0x824A, 59264 },
- { 0x824B, 59269 },
- { 0x824C, 59273 },
- { 0x824D, 59276 },
- { 0x824E, 60581 },
- { 0x824F, 60584 },
- { 0x8250, 60595 },
- { 0x8251, 60587 },
- { 0x8252, 62437 },
- { 0x8253, 62440 },
- { 0x8254, 62465 },
- { 0x8255, 62470 },
- { 0x8256, 62477 },
- { 0x8257, 62445 },
- { 0x8258, 62453 },
- { 0x8259, 62482 },
- { 0x825A, 62487 },
- { 0x825B, 62492 },
- { 0x825C, 62500 },
- { 0x825D, 62507 },
- { 0x825E, 62458 },
- { 0x825F, 62516 },
- { 0x8260, 62230 },
- { 0x8261, 59281 },
- { 0x8262, 61594 },
- { 0x8263, 60601 },
- { 0x8264, 60613 },
- { 0x8265, 60642 },
- { 0x8266, 60619 },
- { 0x8267, 60625 },
- { 0x8268, 60636 },
- { 0x8269, 60609 },
- { 0x826A, 60604 },
- { 0x826B, 60648 },
- { 0x826C, 60653 },
- { 0x826D, 62233 },
- { 0x826E, 62291 },
- { 0x826F, 62236 },
- { 0x8270, 62260 },
- { 0x8271, 62266 },
- { 0x8272, 62272 },
- { 0x8273, 62279 },
- { 0x8274, 62242 },
- { 0x8275, 62248 },
- { 0x8276, 62285 },
- { 0x8277, 62254 },
- { 0x8278, 62297 },
- { 0x8279, 62303 },
- { 0x827A, 59284 },
- { 0x827B, 60661 },
- { 0x827C, 60664 },
- { 0x827D, 60667 },
- { 0x827E, 62310 },
- { 0x827F, 59287 },
- { 0x8280, 59290 },
- { 0x8281, 59310 },
- { 0x8282, 59315 },
- { 0x8283, 59320 },
- { 0x8284, 59295 },
- { 0x8285, 59300 },
- { 0x8286, 59325 },
- { 0x8287, 59305 },
- { 0x8288, 59330 },
- { 0x8289, 59335 },
- { 0x828A, 62313 },
- { 0x828B, 62326 },
- { 0x828C, 62316 },
- { 0x828D, 62321 },
- { 0x828E, 62331 },
- { 0x828F, 59340 },
- { 0x8290, 60670 },
- { 0x8291, 59343 },
- { 0x8292, 59346 },
- { 0x8293, 59349 },
- { 0x8294, 60770 },
- { 0x8295, 60673 },
- { 0x8296, 60685 },
- { 0x8297, 60690 },
- { 0x8298, 60725 },
- { 0x8299, 60695 },
- { 0x829A, 60730 },
- { 0x829B, 60735 },
- { 0x829C, 60740 },
- { 0x829D, 60700 },
- { 0x829E, 60745 },
- { 0x829F, 60750 },
- { 0x82A0, 60765 },
- { 0x82A1, 60755 },
- { 0x82A2, 60705 },
- { 0x82A3, 60710 },
- { 0x82A4, 60715 },
- { 0x82A5, 60720 },
- { 0x82A6, 60760 },
- { 0x82A7, 60680 },
- { 0x82A8, 60676 },
- { 0x82A9, 60774 },
- { 0x82AA, 60777 },
- { 0x82AB, 62521 },
- { 0x82AC, 60783 },
- { 0x82AD, 60786 },
- { 0x82AE, 61597 },
- { 0x82AF, 61600 },
- { 0x82B0, 61622 },
- { 0x82B1, 61632 },
- { 0x82B2, 61617 },
- { 0x82B3, 61637 },
- { 0x82B4, 61627 },
- { 0x82B5, 61605 },
- { 0x82B6, 61610 },
- { 0x82B7, 61642 },
- { 0x82B8, 62336 },
- { 0x82B9, 62339 },
- { 0x82BA, 60789 },
- { 0x82BB, 60792 },
- { 0x82BC, 60796 },
- { 0x82BD, 60807 },
- { 0x82BE, 62342 },
- { 0x82BF, 61645 },
- { 0x82C0, 62345 },
- { 0x82C1, 62524 },
- { 0x82C2, 62547 },
- { 0x82C3, 61648 },
- { 0x82C4, 61651 },
- { 0x82C5, 61656 },
- { 0x82C6, 61661 },
- { 0x82C7, 61664 },
- { 0x82C8, 61669 },
- { 0x82C9, 61710 },
- { 0x82CA, 61674 },
- { 0x82CB, 61679 },
- { 0x82CC, 61684 },
- { 0x82CD, 61689 },
- { 0x82CE, 61715 },
- { 0x82CF, 61695 },
- { 0x82D0, 61700 },
- { 0x82D1, 61705 },
- { 0x82D2, 62527 },
- { 0x82D3, 61720 },
- { 0x82D4, 61731 },
- { 0x82D5, 61723 },
- { 0x82D6, 62348 },
- { 0x82D7, 60818 },
- { 0x82D8, 60821 },
- { 0x82D9, 61735 },
- { 0x82DA, 62530 },
- { 0x82DB, 59352 },
- { 0x82DC, 59355 },
- { 0x82DD, 60827 },
- { 0x82DE, 61738 },
- { 0x82DF, 61741 },
- { 0x82E0, 61747 },
- { 0x82E1, 62351 },
- { 0x82E2, 59359 },
- { 0x82E3, 59362 },
- { 0x82E4, 60830 },
- { 0x82E5, 61750 },
- { 0x82E6, 62354 },
- { 0x82E7, 60833 },
- { 0x82E8, 62533 },
- { 0x82E9, 60836 },
- { 0x82EA, 61753 },
- { 0x82EB, 59367 },
- { 0x82EC, 59384 },
- { 0x82ED, 59374 },
- { 0x82EE, 59379 },
- { 0x82EF, 59370 },
- { 0x82F0, 60839 },
- { 0x82F1, 60842 },
- { 0x82F2, 60853 },
- { 0x82F3, 60857 },
- { 0x82F4, 60860 },
- { 0x82F5, 60870 },
- { 0x82F6, 60875 },
- { 0x82F7, 60880 },
- { 0x82F8, 60885 },
- { 0x82F9, 60865 },
- { 0x82FA, 61756 },
- { 0x82FB, 60890 },
- { 0x82FC, 59388 },
- { 0x82FD, 59391 },
- { 0x82FE, 59395 },
- { 0x82FF, 59398 },
- { 0x8300, 60893 },
- { 0x8301, 60896 },
- { 0x8302, 60915 },
- { 0x8303, 60899 },
- { 0x8304, 60904 },
- { 0x8305, 59402 },
- { 0x8306, 61759 },
- { 0x8307, 60920 },
- { 0x8308, 60923 },
- { 0x8309, 60926 },
- { 0x830A, 60929 },
- { 0x830B, 58419 },
- { 0x830C, 58427 },
- { 0x830D, 58422 },
- { 0x830E, 58441 },
- { 0x830F, 58452 },
- { 0x8310, 58431 },
- { 0x8311, 59405 },
- { 0x8312, 59408 },
- { 0x8313, 59411 },
- { 0x8314, 59447 },
- { 0x8315, 59442 },
- { 0x8316, 59437 },
- { 0x8317, 59418 },
- { 0x8318, 59427 },
- { 0x8319, 59414 },
- { 0x831A, 59451 },
- { 0x831B, 59455 },
- { 0x831C, 61762 },
- { 0x831D, 59461 },
- { 0x831E, 59481 },
- { 0x831F, 59469 },
- { 0x8320, 59476 },
- { 0x8321, 59464 },
- { 0x8322, 62357 },
- { 0x8323, 61765 },
- { 0x8324, 61773 },
- { 0x8325, 61768 },
- { 0x8326, 59486 },
- { 0x8327, 59489 },
- { 0x8328, 59493 },
- { 0x8329, 59500 },
- { 0x832A, 59496 },
- { 0x832B, 60937 },
- { 0x832C, 60940 },
- { 0x832D, 60947 },
- { 0x832E, 60954 },
- { 0x832F, 60959 },
- { 0x8330, 60983 },
- { 0x8331, 60964 },
- { 0x8332, 60976 },
- { 0x8333, 60969 },
- { 0x8334, 60988 },
- { 0x8335, 60991 },
- { 0x8336, 61778 },
- { 0x8337, 60994 },
- { 0x8338, 60997 },
- { 0x8339, 61110 },
- { 0x833A, 61049 },
- { 0x833B, 61054 },
- { 0x833C, 61009 },
- { 0x833D, 61059 },
- { 0x833E, 61094 },
- { 0x833F, 61064 },
- { 0x8340, 61014 },
- { 0x8341, 61019 },
- { 0x8342, 61069 },
- { 0x8343, 61024 },
- { 0x8344, 61074 },
- { 0x8345, 61029 },
- { 0x8346, 61079 },
- { 0x8347, 61084 },
- { 0x8348, 61034 },
- { 0x8349, 61089 },
- { 0x834A, 61100 },
- { 0x834B, 61039 },
- { 0x834C, 61002 },
- { 0x834D, 61044 },
- { 0x834E, 61105 },
- { 0x834F, 62360 },
- { 0x8350, 62363 },
- { 0x8351, 61115 },
- { 0x8352, 61118 },
- { 0x8353, 61123 },
- { 0x8354, 61128 },
- { 0x8355, 61133 },
- { 0x8356, 61784 },
- { 0x8357, 61781 },
- { 0x8358, 62536 },
- { 0x8359, 62368 },
- { 0x835A, 61138 },
- { 0x835B, 61141 },
- { 0x835C, 61146 },
- { 0x835D, 59505 },
- { 0x835E, 59508 },
- { 0x835F, 59512 },
- { 0x8360, 61149 },
- { 0x8361, 61787 },
- { 0x8362, 61152 },
- { 0x8363, 59518 },
- { 0x8364, 59521 },
- { 0x8365, 61155 },
- { 0x8366, 61158 },
- { 0x8367, 61161 },
- { 0x8368, 61166 },
- { 0x8369, 61790 },
- { 0x836A, 59526 },
- { 0x836B, 61169 },
- { 0x836C, 61172 },
- { 0x836D, 62371 },
- { 0x836E, 61177 },
- { 0x8400, 62658 },
- { 0x8401, 63027 },
- { 0x8402, 62787 },
- { 0x8403, 62723 },
- { 0x8404, 62625 },
- { 0x8405, 62968 },
- { 0x8406, 62929 },
- { 0x8407, 62875 },
- { 0x8408, 63055 },
- { 0x8409, 62815 },
- { 0x840A, 62751 },
- { 0x840B, 62636 },
- { 0x840C, 62973 },
- { 0x840D, 62934 },
- { 0x840E, 62880 },
- { 0x840F, 62782 },
- { 0x8410, 62718 },
- { 0x8411, 62620 },
- { 0x8412, 62963 },
- { 0x8413, 62924 },
- { 0x8414, 62870 },
- { 0x8415, 62579 },
- { 0x8416, 62684 },
- { 0x8417, 63060 },
- { 0x8418, 62820 },
- { 0x8419, 62756 },
- { 0x841A, 62641 },
- { 0x841B, 62978 },
- { 0x841C, 62939 },
- { 0x841D, 62885 },
- { 0x841E, 62584 },
- { 0x841F, 62689 },
- { 0x8420, 63065 },
- { 0x8421, 62825 },
- { 0x8422, 62761 },
- { 0x8423, 62694 },
- { 0x8424, 63070 },
- { 0x8425, 63075 },
- { 0x8426, 62830 },
- { 0x8427, 62766 },
- { 0x8428, 62646 },
- { 0x8429, 62983 },
- { 0x842A, 62944 },
- { 0x842B, 62890 },
- { 0x842C, 62589 },
- { 0x842D, 62699 },
- { 0x842E, 63082 },
- { 0x842F, 63087 },
- { 0x8430, 62835 },
- { 0x8431, 62771 },
- { 0x8432, 63019 },
- { 0x8433, 63011 },
- { 0x8434, 62569 },
- { 0x8435, 62674 },
- { 0x8436, 63043 },
- { 0x8437, 63048 },
- { 0x8438, 62810 },
- { 0x8439, 62746 },
- { 0x843A, 63094 },
- { 0x843B, 63101 },
- { 0x843C, 62840 },
- { 0x843D, 62863 },
- { 0x843E, 62847 },
- { 0x843F, 62855 },
- { 0x8440, 62651 },
- { 0x8441, 63004 },
- { 0x8442, 62988 },
- { 0x8443, 62996 },
- { 0x8444, 62949 },
- { 0x8445, 62956 },
- { 0x8446, 62895 },
- { 0x8447, 62910 },
- { 0x8448, 62917 },
- { 0x8449, 62902 },
- { 0x844A, 62663 },
- { 0x844B, 63032 },
- { 0x844C, 62792 },
- { 0x844D, 62728 },
- { 0x844E, 62630 },
- { 0x844F, 62564 },
- { 0x8450, 62669 },
- { 0x8451, 63038 },
- { 0x8452, 62798 },
- { 0x8453, 62803 },
- { 0x8454, 62734 },
- { 0x8455, 62739 },
- { 0x8456, 63112 },
- { 0x8457, 63108 },
- { 0x8458, 62574 },
- { 0x8459, 62679 },
- { 0x845A, 62594 },
- { 0x845B, 62704 },
- { 0x845C, 62776 },
- { 0x845D, 62600 },
- { 0x845E, 62710 },
- { 0x845F, 62608 },
- { 0x8460, 62614 },
- { 0x8461, 62550 },
- { 0x8462, 62557 },
- { 0x8470, 63116 },
- { 0x8471, 63133 },
- { 0x8472, 63123 },
- { 0x8473, 63128 },
- { 0x9000, 56261 },
- { 0x9001, 56295 },
- { 0x9002, 57281 },
- { 0x9003, 56256 },
- { 0x9004, 56251 },
- { 0x9005, 56625 },
- { 0x9006, 56620 },
- { 0x9007, 56920 },
- { 0x9008, 57186 },
- { 0x9009, 57267 },
- { 0x900A, 57194 },
- { 0x900B, 57198 },
- { 0x900C, 56937 },
- { 0x900D, 56209 },
- { 0x900E, 56118 },
- { 0x900F, 56607 },
- { 0x9010, 57136 },
- { 0x9011, 57219 },
- { 0x9012, 57228 },
- { 0x9013, 56812 },
- { 0x9014, 56282 },
- { 0x9015, 56566 },
- { 0x9016, 56484 },
- { 0x9017, 56590 },
- { 0x9018, 56847 },
- { 0x9019, 56286 },
- { 0x901A, 56132 },
- { 0x901B, 56743 },
- { 0x901C, 57158 },
- { 0x901D, 57035 },
- { 0x901E, 57022 },
- { 0x901F, 56791 },
- { 0x9020, 56575 },
- { 0x9021, 56824 },
- { 0x9022, 56838 },
- { 0x9023, 56843 },
- { 0x9024, 56512 },
- { 0x9025, 56265 },
- { 0x9026, 56585 },
- { 0x9027, 56820 },
- { 0x9028, 57295 },
- { 0x9029, 56594 },
- { 0x902A, 56807 },
- { 0x902B, 56801 },
- { 0x902C, 57172 },
- { 0x902D, 56273 },
- { 0x902E, 56242 },
- { 0x902F, 56114 },
- { 0x9030, 56147 },
- { 0x9031, 56816 },
- { 0x9032, 57163 },
- { 0x9033, 56203 },
- { 0x9034, 56400 },
- { 0x9035, 57128 },
- { 0x9036, 57099 },
- { 0x9037, 56507 },
- { 0x9038, 57026 },
- { 0x9039, 57177 },
- { 0x903A, 56924 },
- { 0x903B, 56856 },
- { 0x903C, 56783 },
- { 0x903D, 57262 },
- { 0x903E, 57276 },
- { 0x903F, 56721 },
- { 0x9040, 56137 },
- { 0x9041, 56775 },
- { 0x9042, 56928 },
- { 0x9043, 57094 },
- { 0x9044, 57303 },
- { 0x9045, 57299 },
- { 0x9046, 56127 },
- { 0x9047, 56561 },
- { 0x9048, 56246 },
- { 0x9049, 56779 },
- { 0x904A, 56933 },
- { 0x904B, 57335 },
- { 0x904C, 57327 },
- { 0x904D, 57030 },
- { 0x904E, 57140 },
- { 0x904F, 56725 },
- { 0x9050, 56663 },
- { 0x9051, 57223 },
- { 0x9052, 57213 },
- { 0x9053, 56829 },
- { 0x9054, 57331 },
- { 0x9055, 56710 },
- { 0x9056, 56702 },
- { 0x9057, 56556 },
- { 0x9058, 56615 },
- { 0x9059, 56580 },
- { 0x905A, 57181 },
- { 0x905B, 56571 },
- { 0x905C, 57203 },
- { 0x905D, 56771 },
- { 0x905E, 57271 },
- { 0x905F, 57257 },
- { 0x9060, 56337 },
- { 0x9061, 56767 },
- { 0x9062, 57323 },
- { 0x9063, 57089 },
- { 0x9064, 57233 },
- { 0x9065, 56796 },
- { 0x9066, 56269 },
- { 0x9067, 56851 },
- { 0x9068, 56912 },
- { 0x9069, 56598 },
- { 0x906A, 56290 },
- { 0x906B, 57347 },
- { 0x906C, 57339 },
- { 0x906D, 57315 },
- { 0x906E, 57351 },
- { 0x906F, 57355 },
- { 0x9070, 57319 },
- { 0x9071, 57343 },
- { 0x9072, 57311 },
- { 0x9073, 57307 },
- { 0x9074, 56342 },
- { 0x9075, 57167 },
- { 0x9076, 57285 },
- { 0x9077, 57290 },
- { 0x9078, 56277 },
- { 0x9079, 56141 },
- { 0x907A, 57132 },
- { 0x907B, 57109 },
- { 0x907C, 56156 },
- { 0x907D, 56151 },
- { 0x907E, 56787 },
- { 0x907F, 56516 },
- { 0x9080, 56237 },
- { 0x9081, 56762 },
- { 0x9082, 56757 },
- { 0x9083, 56752 },
- { 0x9084, 56833 },
- { 0x9085, 56123 },
- { 0x9086, 56233 },
- { 0x9087, 56611 },
- { 0x9088, 57085 },
- { 0x9089, 56748 },
- { 0x908A, 56532 },
- { 0x908B, 56526 },
- { 0x908C, 56538 },
- { 0x908D, 56550 },
- { 0x908E, 56544 },
- { 0x908F, 56472 },
- { 0x9090, 56495 },
- { 0x9091, 56489 },
- { 0x9092, 56883 },
- { 0x9093, 56900 },
- { 0x9094, 56893 },
- { 0x9095, 56887 },
- { 0x9096, 57190 },
- { 0x9097, 56214 },
- { 0x9098, 57249 },
- { 0x9099, 56706 },
- { 0x909A, 56171 },
- { 0x909B, 56193 },
- { 0x909C, 56161 },
- { 0x909D, 56188 },
- { 0x909E, 56166 },
- { 0x909F, 56183 },
- { 0x90A0, 56198 },
- { 0x90A1, 56177 },
- { 0x90A2, 56961 },
- { 0x90A3, 56941 },
- { 0x90A4, 56992 },
- { 0x90A5, 56948 },
- { 0x90A6, 56967 },
- { 0x90A7, 57011 },
- { 0x90A8, 56998 },
- { 0x90A9, 57004 },
- { 0x90AA, 56973 },
- { 0x90AB, 56979 },
- { 0x90AC, 56501 },
- { 0x90AD, 57207 },
- { 0x90AE, 57123 },
- { 0x90AF, 57118 },
- { 0x90B0, 57113 },
- { 0x90B1, 56955 },
- { 0x90B2, 57016 },
- { 0x90B3, 56985 },
- { 0x90B4, 57237 },
- { 0x90B5, 57243 },
- { 0x90B6, 56714 },
- { 0x90B7, 56916 },
- { 0x90B8, 57253 },
- { 0x90B9, 56405 },
- { 0x90BA, 56438 },
- { 0x90BB, 56450 },
- { 0x90BC, 56361 },
- { 0x90BD, 56412 },
- { 0x90BE, 56393 },
- { 0x90BF, 56418 },
- { 0x90C0, 56444 },
- { 0x90C1, 56431 },
- { 0x90C2, 56424 },
- { 0x90C3, 56372 },
- { 0x90C4, 56379 },
- { 0x90C5, 56347 },
- { 0x90C6, 56386 },
- { 0x90C7, 56367 },
- { 0x90C8, 56218 },
- { 0x90C9, 56223 },
- { 0x90CA, 56228 },
- { 0x90CB, 56354 },
- { 0x90CC, 56456 },
- { 0x90CD, 56658 },
- { 0x90CE, 56327 },
- { 0x90CF, 56332 },
- { 0x90D0, 56299 },
- { 0x90D1, 56320 },
- { 0x90D2, 56306 },
- { 0x90D3, 56313 },
- { 0x90D4, 56630 },
- { 0x90D5, 56651 },
- { 0x90D6, 56637 },
- { 0x90D7, 56644 },
- { 0x90D8, 56462 },
- { 0x90D9, 56467 },
- { 0x90DA, 56861 },
- { 0x90DB, 56867 },
- { 0x90DC, 56873 },
- { 0x90DD, 56878 },
- { 0x90DE, 57062 },
- { 0x90DF, 57067 },
- { 0x90E0, 57073 },
- { 0x90E1, 57079 },
- { 0x90E2, 57039 },
- { 0x90E3, 57044 },
- { 0x90E4, 57050 },
- { 0x90E5, 57056 },
- { 0x90E6, 56907 },
- { 0x90E7, 57104 },
- { 0x90E8, 56603 },
- { 0x90E9, 56687 },
- { 0x90EA, 56697 },
- { 0x90EB, 56672 },
- { 0x90EC, 56667 },
- { 0x90ED, 56677 },
- { 0x90EE, 56692 },
- { 0x90EF, 56682 },
- { 0x90F0, 57152 },
- { 0x90F1, 56737 },
- { 0x90F2, 57146 },
- { 0x90F3, 56731 },
- { 0x90F4, 56521 },
- { 0x90F5, 56478 },
- { 0x9100, 41562 },
- { 0x9101, 41524 },
- { 0x9102, 41404 },
- { 0x9103, 41695 },
- { 0x9104, 41508 },
- { 0x9105, 41470 },
- { 0x9106, 41337 },
- { 0x9107, 41454 },
- { 0x9108, 41558 },
- { 0x9109, 41249 },
- { 0x910A, 41238 },
- { 0x910B, 41459 },
- { 0x910C, 41290 },
- { 0x910D, 41776 },
- { 0x910E, 41780 },
- { 0x910F, 41784 },
- { 0x9110, 41659 },
- { 0x9111, 41662 },
- { 0x9112, 41485 },
- { 0x9113, 41646 },
- { 0x9114, 41395 },
- { 0x9115, 41643 },
- { 0x9116, 41728 },
- { 0x9117, 41861 },
- { 0x9118, 42079 },
- { 0x9119, 41999 },
- { 0x911A, 41995 },
- { 0x911B, 41788 },
- { 0x911C, 42075 },
- { 0x911D, 42086 },
- { 0x911E, 41215 },
- { 0x911F, 41219 },
- { 0x9120, 41225 },
- { 0x9121, 41195 },
- { 0x9122, 41199 },
- { 0x9123, 41203 },
- { 0x9124, 41209 },
- { 0x9125, 41300 },
- { 0x9126, 41304 },
- { 0x9129, 41719 },
- { 0x912A, 41520 },
- { 0x912B, 41516 },
- { 0x912C, 41308 },
- { 0x912D, 41312 },
- { 0x912E, 41666 },
- { 0x912F, 41670 },
- { 0x9130, 41462 },
- { 0x9131, 41466 },
- { 0x9132, 41690 },
- { 0x9133, 41685 },
- { 0x9134, 41504 },
- { 0x9135, 41245 },
- { 0x9136, 41550 },
- { 0x9137, 41554 },
- { 0x9138, 42103 },
- { 0x9139, 42107 },
- { 0x913A, 41438 },
- { 0x913B, 41481 },
- { 0x913C, 41328 },
- { 0x913D, 41681 },
- { 0x913E, 41532 },
- { 0x913F, 42039 },
- { 0x9140, 42123 },
- { 0x9141, 42115 },
- { 0x9142, 41280 },
- { 0x9143, 41231 },
- { 0x9144, 41356 },
- { 0x9145, 41496 },
- { 0x9146, 41575 },
- { 0x9147, 41570 },
- { 0x9148, 41819 },
- { 0x9149, 41799 },
- { 0x914A, 41843 },
- { 0x914B, 41837 },
- { 0x914C, 41855 },
- { 0x914D, 41849 },
- { 0x914E, 41831 },
- { 0x914F, 41825 },
- { 0x9150, 41812 },
- { 0x9151, 41805 },
- { 0x9152, 41347 },
- { 0x9153, 41342 },
- { 0x9154, 42133 },
- { 0x9155, 42127 },
- { 0x9156, 42096 },
- { 0x9157, 41371 },
- { 0x9158, 41724 },
- { 0x9159, 41352 },
- { 0x915A, 41654 },
- { 0x915B, 41649 },
- { 0x915C, 41398 },
- { 0x915D, 41477 },
- { 0x915E, 41324 },
- { 0x915F, 41677 },
- { 0x9160, 41528 },
- { 0x9161, 42035 },
- { 0x9162, 42119 },
- { 0x9163, 42111 },
- { 0x9164, 41274 },
- { 0x9165, 41896 },
- { 0x9166, 41975 },
- { 0x9167, 41958 },
- { 0x9168, 41962 },
- { 0x9169, 41966 },
- { 0x916A, 41703 },
- { 0x916B, 41707 },
- { 0x916C, 41711 },
- { 0x916D, 41970 },
- { 0x916E, 41917 },
- { 0x916F, 41921 },
- { 0x9170, 41925 },
- { 0x9171, 41929 },
- { 0x9172, 41933 },
- { 0x9173, 41383 },
- { 0x9174, 41262 },
- { 0x9175, 41379 },
- { 0x9176, 41258 },
- { 0x9177, 41387 },
- { 0x9178, 41266 },
- { 0x9179, 41391 },
- { 0x917A, 41270 },
- { 0x917B, 41908 },
- { 0x917C, 41954 },
- { 0x917D, 41937 },
- { 0x917E, 41980 },
- { 0x917F, 41946 },
- { 0x9180, 41988 },
- { 0x9181, 41984 },
- { 0x9182, 41900 },
- { 0x9183, 42043 },
- { 0x9184, 42047 },
- { 0x9185, 41878 },
- { 0x9186, 41870 },
- { 0x9187, 41887 },
- { 0x9188, 41904 },
- { 0x9189, 41874 },
- { 0x918A, 41912 },
- { 0x918B, 41941 },
- { 0x918C, 42100 },
- { 0x918D, 41580 },
- { 0x918E, 41235 },
- { 0x918F, 41451 },
- { 0x9190, 41435 },
- { 0x9191, 41408 },
- { 0x9192, 41992 },
- { 0x9193, 42083 },
- { 0x9194, 41417 },
- { 0x9195, 41411 },
- { 0x9196, 41242 },
- { 0x9197, 41360 },
- { 0x9198, 41715 },
- { 0x9199, 41367 },
- { 0x919A, 41363 },
- { 0x919B, 41732 },
- { 0x919C, 41736 },
- { 0x919D, 41740 },
- { 0x919E, 41744 },
- { 0x919F, 41748 },
- { 0x91A0, 41752 },
- { 0x91A1, 41756 },
- { 0x91A2, 41760 },
- { 0x91A3, 41764 },
- { 0x91A4, 41768 },
- { 0x91A5, 41772 },
- { 0x91A6, 42090 },
- { 0x91A7, 42093 },
- { 0x91A8, 41253 },
- { 0x91A9, 41512 },
- { 0x91AA, 41882 },
- { 0x91AB, 41865 },
- { 0x91AC, 41950 },
- { 0x91AD, 41891 },
- { 0x91AE, 41447 },
- { 0x91AF, 41442 },
- { 0x91B0, 41332 },
- { 0x91B1, 42003 },
- { 0x91B2, 42007 },
- { 0x91B3, 41375 },
- { 0x91B4, 41293 },
- { 0x91B5, 41296 },
- { 0x91B6, 41536 },
- { 0x91B7, 41422 },
- { 0x91B8, 41489 },
- { 0x91B9, 42059 },
- { 0x91BA, 42055 },
- { 0x91BB, 41539 },
- { 0x91BC, 41546 },
- { 0x91BD, 42071 },
- { 0x91BE, 42067 },
- { 0x91BF, 41320 },
- { 0x91C0, 41316 },
- { 0x91C1, 41425 },
- { 0x91C2, 41430 },
- { 0x91C3, 41492 },
- { 0x91C4, 42051 },
- { 0x91C5, 41542 },
- { 0x91C6, 42063 },
- { 0x91C7, 41583 },
- { 0x91C8, 41598 },
- { 0x91C9, 41590 },
- { 0x91CA, 41605 },
- { 0x91CB, 41612 },
- { 0x91CC, 41619 },
- { 0x91CD, 41627 },
- { 0x91CE, 41635 },
- { 0x91CF, 41401 },
- { 0x91D0, 42011 },
- { 0x91D1, 42016 },
- { 0x91D2, 41566 },
- { 0x91D3, 41474 },
- { 0x91D4, 41674 },
- { 0x91D5, 41501 },
- { 0x91D6, 42028 },
- { 0x91D7, 41700 },
- { 0x91D8, 41792 },
- { 0x91D9, 42021 },
- { 0x91DA, 42024 },
- { 0x91DB, 42031 },
- { 0x91DC, 41795 },
- { 0x91DD, 41286 },
- { 0x9200, 11902 },
- { 0x9201, 11906 },
- { 0x9202, 11910 },
- { 0x9203, 11914 },
- { 0x9204, 11918 },
- { 0x9205, 11922 },
- { 0x9206, 11926 },
- { 0x9207, 11930 },
- { 0x9208, 11934 },
- { 0x9209, 11938 },
- { 0x920A, 11942 },
- { 0x920B, 11946 },
- { 0x920C, 11950 },
- { 0x920D, 11954 },
- { 0x920E, 11958 },
- { 0x920F, 11962 },
- { 0x9210, 11966 },
- { 0x9211, 11970 },
- { 0x9212, 11974 },
- { 0x9213, 11978 },
- { 0x9214, 11982 },
- { 0x9215, 11986 },
- { 0x9216, 11990 },
- { 0x9217, 11994 },
- { 0x9218, 11998 },
- { 0x9219, 12002 },
- { 0x921A, 12006 },
- { 0x921B, 12010 },
- { 0x921C, 12014 },
- { 0x921D, 13374 },
- { 0x921E, 13378 },
- { 0x921F, 13382 },
- { 0x9220, 13386 },
- { 0x9221, 13390 },
- { 0x9222, 13394 },
- { 0x9223, 13398 },
- { 0x9224, 13402 },
- { 0x9225, 13406 },
- { 0x9226, 13410 },
- { 0x9227, 13414 },
- { 0x9228, 13418 },
- { 0x9229, 13422 },
- { 0x922A, 13426 },
- { 0x922B, 13430 },
- { 0x922C, 13434 },
- { 0x922D, 13438 },
- { 0x922E, 13442 },
- { 0x922F, 13446 },
- { 0x9230, 13450 },
- { 0x9231, 13454 },
- { 0x9232, 13458 },
- { 0x9233, 13462 },
- { 0x9234, 13466 },
- { 0x9235, 13470 },
- { 0x9236, 13474 },
- { 0x9237, 13478 },
- { 0x9238, 13482 },
- { 0x9239, 13486 },
- { 0x923A, 13490 },
- { 0x923B, 13494 },
- { 0x923C, 13498 },
- { 0x923D, 13502 },
- { 0x923E, 13506 },
- { 0x923F, 13510 },
- { 0x9240, 13514 },
- { 0x9241, 13518 },
- { 0x9242, 57564 },
- { 0x9243, 57572 },
- { 0x9244, 57568 },
- { 0x9245, 13031 },
- { 0x9300, 54871 },
- { 0x9301, 31216 },
- { 0x9302, 31188 },
- { 0x9303, 31204 },
- { 0x9304, 31200 },
- { 0x9305, 31185 },
- { 0x9306, 66100 },
- { 0x9307, 66067 },
- { 0x9308, 66082 },
- { 0x9309, 66128 },
- { 0x930A, 66147 },
- { 0x930B, 66272 },
- { 0x930C, 66097 },
- { 0x930D, 66263 },
- { 0x930E, 66201 },
- { 0x930F, 66299 },
- { 0x9310, 66254 },
- { 0x9311, 66296 },
- { 0x9312, 66184 },
- { 0x9313, 66281 },
- { 0x9314, 66085 },
- { 0x9315, 66134 },
- { 0x9316, 66143 },
- { 0x9317, 66172 },
- { 0x9318, 66220 },
- { 0x9319, 66125 },
- { 0x931A, 66166 },
- { 0x931B, 66266 },
- { 0x931C, 66064 },
- { 0x931D, 66052 },
- { 0x931E, 66251 },
- { 0x931F, 66217 },
- { 0x9320, 66110 },
- { 0x9321, 66103 },
- { 0x9322, 66287 },
- { 0x9323, 66060 },
- { 0x9324, 66160 },
- { 0x9325, 66116 },
- { 0x9326, 66205 },
- { 0x9327, 66151 },
- { 0x9328, 66226 },
- { 0x9329, 66193 },
- { 0x932A, 66119 },
- { 0x932B, 66178 },
- { 0x932C, 66239 },
- { 0x932D, 66055 },
- { 0x932E, 66187 },
- { 0x932F, 66074 },
- { 0x9330, 66257 },
- { 0x9331, 66088 },
- { 0x9332, 66233 },
- { 0x9333, 66275 },
- { 0x9334, 66163 },
- { 0x9335, 66122 },
- { 0x9336, 66113 },
- { 0x9337, 66196 },
- { 0x9338, 66208 },
- { 0x9339, 66157 },
- { 0x933A, 66175 },
- { 0x933B, 66091 },
- { 0x933C, 66293 },
- { 0x933D, 66106 },
- { 0x933E, 66278 },
- { 0x933F, 66229 },
- { 0x9340, 66154 },
- { 0x9341, 66284 },
- { 0x9342, 66304 },
- { 0x9343, 66071 },
- { 0x9344, 66094 },
- { 0x9345, 66169 },
- { 0x9346, 66079 },
- { 0x9347, 66214 },
- { 0x9348, 66211 },
- { 0x9349, 66137 },
- { 0x934A, 66260 },
- { 0x934B, 66242 },
- { 0x934C, 66190 },
- { 0x934D, 66181 },
- { 0x934E, 66245 },
- { 0x934F, 66131 },
- { 0x9350, 66140 },
- { 0x9351, 66269 },
- { 0x9352, 66248 },
- { 0x9353, 66047 },
- { 0x9354, 66290 },
- { 0x9355, 66236 },
- { 0x9356, 66223 },
- { 0x9360, 48474 },
- { 0x9361, 48484 },
- { 0x9362, 48514 },
- { 0x9363, 48494 },
- { 0x9364, 48489 },
- { 0x9365, 48479 },
- { 0x9366, 48509 },
- { 0x9367, 48504 },
- { 0x9368, 48499 },
- { 0x9369, 48429 },
- { 0x936A, 48439 },
- { 0x936B, 48469 },
- { 0x936C, 48449 },
- { 0x936D, 48444 },
- { 0x936E, 48434 },
- { 0x936F, 48464 },
- { 0x9370, 48459 },
- { 0x9371, 48454 },
- { 0x9400, 70678 },
- { 0x9401, 70682 },
- { 0x9402, 70686 },
- { 0x9403, 70690 },
- { 0x9404, 70694 },
- { 0x9405, 70698 },
- { 0x9406, 70702 },
- { 0x9407, 70706 },
- { 0x9408, 70710 },
- { 0x9409, 70714 },
- { 0x940A, 70718 },
- { 0x940B, 70722 },
- { 0x940C, 70726 },
- { 0x940D, 70730 },
- { 0x940E, 70734 },
- { 0x940F, 70738 },
- { 0x9410, 70742 },
- { 0x9411, 70746 },
- { 0x9412, 70750 },
- { 0x9413, 70754 },
- { 0x9414, 70758 },
- { 0x9415, 70762 },
- { 0x9416, 70766 },
- { 0x9417, 70770 },
- { 0x9418, 70774 },
- { 0x9419, 70778 },
- { 0x941A, 69654 },
- { 0x941B, 69658 },
- { 0x941C, 69662 },
- { 0x941D, 69666 },
- { 0x941E, 69670 },
- { 0x941F, 69674 },
- { 0x9420, 69678 },
- { 0x9421, 69682 },
- { 0x9422, 69686 },
- { 0x9423, 69690 },
- { 0x9424, 69694 },
- { 0x9425, 69698 },
- { 0x9426, 69702 },
- { 0x9427, 69706 },
- { 0x9428, 69710 },
- { 0x9429, 69714 },
- { 0x942A, 69718 },
- { 0x942B, 69722 },
- { 0x942C, 69726 },
- { 0x942D, 69730 },
- { 0x942E, 69734 },
- { 0x942F, 69738 },
- { 0x9430, 69742 },
- { 0x9431, 69746 },
- { 0x9432, 69750 },
- { 0x9433, 69754 },
- { 0x9434, 71437 },
- { 0x9435, 71441 },
- { 0x9436, 71445 },
- { 0x9437, 71449 },
- { 0x9438, 71453 },
- { 0x9439, 71457 },
- { 0x943A, 71461 },
- { 0x943B, 71465 },
- { 0x943C, 71469 },
- { 0x943D, 71473 },
- { 0x943E, 71477 },
- { 0x943F, 71481 },
- { 0x9440, 71485 },
- { 0x9441, 71489 },
- { 0x9442, 71493 },
- { 0x9443, 71497 },
- { 0x9444, 71501 },
- { 0x9445, 71505 },
- { 0x9446, 71509 },
- { 0x9447, 71513 },
- { 0x9448, 71517 },
- { 0x9449, 71521 },
- { 0x944A, 71525 },
- { 0x944B, 71529 },
- { 0x944C, 71533 },
- { 0x944D, 71537 },
- { 0x944E, 71222 },
- { 0x944F, 71226 },
- { 0x9450, 71230 },
- { 0x9451, 71234 },
- { 0x9452, 71238 },
- { 0x9453, 71242 },
- { 0x9454, 71246 },
- { 0x9456, 71250 },
- { 0x9457, 71254 },
- { 0x9458, 71258 },
- { 0x9459, 71262 },
- { 0x945A, 71266 },
- { 0x945B, 71270 },
- { 0x945C, 71274 },
- { 0x945D, 71278 },
- { 0x945E, 71282 },
- { 0x945F, 71286 },
- { 0x9460, 71290 },
- { 0x9461, 71294 },
- { 0x9462, 71298 },
- { 0x9463, 71302 },
- { 0x9464, 71306 },
- { 0x9465, 71310 },
- { 0x9466, 71314 },
- { 0x9467, 71318 },
- { 0x9468, 70152 },
- { 0x9469, 70157 },
- { 0x946A, 70162 },
- { 0x946B, 70167 },
- { 0x946C, 70172 },
- { 0x946D, 70177 },
- { 0x946E, 70182 },
- { 0x946F, 70187 },
- { 0x9470, 70192 },
- { 0x9471, 70197 },
- { 0x9472, 70202 },
- { 0x9473, 70207 },
- { 0x9474, 70212 },
- { 0x9475, 70217 },
- { 0x9476, 70222 },
- { 0x9477, 70227 },
- { 0x9478, 70232 },
- { 0x9479, 70237 },
- { 0x947A, 70242 },
- { 0x947B, 70247 },
- { 0x947C, 70252 },
- { 0x947D, 70257 },
- { 0x947E, 70262 },
- { 0x947F, 70267 },
- { 0x9480, 70272 },
- { 0x9481, 70277 },
- { 0x9482, 69891 },
- { 0x9483, 69896 },
- { 0x9484, 69901 },
- { 0x9485, 69906 },
- { 0x9486, 69911 },
- { 0x9487, 69916 },
- { 0x9488, 69921 },
- { 0x9489, 69926 },
- { 0x948A, 69931 },
- { 0x948B, 69936 },
- { 0x948C, 69941 },
- { 0x948D, 69946 },
- { 0x948E, 69951 },
- { 0x948F, 69956 },
- { 0x9490, 69961 },
- { 0x9491, 69966 },
- { 0x9492, 69971 },
- { 0x9493, 69976 },
- { 0x9494, 69981 },
- { 0x9495, 69986 },
- { 0x9496, 69991 },
- { 0x9497, 69996 },
- { 0x9498, 70001 },
- { 0x9499, 70006 },
- { 0x949A, 70011 },
- { 0x949B, 70016 },
- { 0x949C, 71742 },
- { 0x949E, 71746 },
- { 0x949F, 71750 },
- { 0x94A2, 71754 },
- { 0x94A5, 71758 },
- { 0x94A6, 71762 },
- { 0x94A9, 71766 },
- { 0x94AA, 71770 },
- { 0x94AB, 71774 },
- { 0x94AC, 71778 },
- { 0x94AE, 71782 },
- { 0x94AF, 71786 },
- { 0x94B0, 71790 },
- { 0x94B1, 71794 },
- { 0x94B2, 71798 },
- { 0x94B3, 71802 },
- { 0x94B4, 71806 },
- { 0x94B5, 71810 },
- { 0x94B6, 71650 },
- { 0x94B7, 71654 },
- { 0x94B8, 71658 },
- { 0x94B9, 71662 },
- { 0x94BB, 71666 },
- { 0x94BD, 71670 },
- { 0x94BE, 71674 },
- { 0x94BF, 71678 },
- { 0x94C0, 71682 },
- { 0x94C1, 71686 },
- { 0x94C2, 71690 },
- { 0x94C3, 71694 },
- { 0x94C5, 71698 },
- { 0x94C6, 71702 },
- { 0x94C7, 71706 },
- { 0x94C8, 71710 },
- { 0x94C9, 71714 },
- { 0x94CA, 71718 },
- { 0x94CB, 71722 },
- { 0x94CC, 71726 },
- { 0x94CD, 71730 },
- { 0x94CE, 71734 },
- { 0x94CF, 71738 },
- { 0x94D0, 70548 },
- { 0x94D1, 70553 },
- { 0x94D2, 70558 },
- { 0x94D3, 70563 },
- { 0x94D4, 70568 },
- { 0x94D5, 70573 },
- { 0x94D6, 70578 },
- { 0x94D7, 70583 },
- { 0x94D8, 70588 },
- { 0x94D9, 70593 },
- { 0x94DA, 70598 },
- { 0x94DB, 70603 },
- { 0x94DC, 70608 },
- { 0x94DD, 70613 },
- { 0x94DE, 70618 },
- { 0x94DF, 70623 },
- { 0x94E0, 70628 },
- { 0x94E1, 70633 },
- { 0x94E2, 70638 },
- { 0x94E3, 70643 },
- { 0x94E4, 70648 },
- { 0x94E5, 70653 },
- { 0x94E6, 70658 },
- { 0x94E7, 70663 },
- { 0x94E8, 70668 },
- { 0x94E9, 70673 },
- { 0x94EA, 70418 },
- { 0x94EB, 70423 },
- { 0x94EC, 70428 },
- { 0x94ED, 70433 },
- { 0x94EE, 70438 },
- { 0x94EF, 70443 },
- { 0x94F0, 70448 },
- { 0x94F1, 70453 },
- { 0x94F2, 70458 },
- { 0x94F3, 70463 },
- { 0x94F4, 70468 },
- { 0x94F5, 70473 },
- { 0x94F6, 70478 },
- { 0x94F7, 70483 },
- { 0x94F8, 70488 },
- { 0x94F9, 70493 },
- { 0x94FA, 70498 },
- { 0x94FB, 70503 },
- { 0x94FC, 70508 },
- { 0x94FD, 70513 },
- { 0x94FE, 70518 },
- { 0x94FF, 70523 },
- { 0x9500, 70528 },
- { 0x9501, 70533 },
- { 0x9502, 70538 },
- { 0x9503, 70543 },
- { 0x9504, 71918 },
- { 0x9505, 71922 },
- { 0x9507, 71926 },
- { 0x9508, 71930 },
- { 0x9509, 71934 },
- { 0x950A, 71938 },
- { 0x950D, 71942 },
- { 0x950E, 71946 },
- { 0x950F, 71950 },
- { 0x9510, 71954 },
- { 0x9511, 71958 },
- { 0x9512, 71962 },
- { 0x9513, 71966 },
- { 0x9514, 71970 },
- { 0x9516, 71974 },
- { 0x9517, 71978 },
- { 0x9518, 71982 },
- { 0x9519, 71986 },
- { 0x951A, 71990 },
- { 0x951B, 71994 },
- { 0x951C, 71998 },
- { 0x951E, 71814 },
- { 0x951F, 71818 },
- { 0x9520, 71822 },
- { 0x9521, 71826 },
- { 0x9522, 71830 },
- { 0x9523, 71834 },
- { 0x9524, 71838 },
- { 0x9525, 71842 },
- { 0x9526, 71846 },
- { 0x9527, 71850 },
- { 0x9528, 71854 },
- { 0x9529, 71858 },
- { 0x952A, 71862 },
- { 0x952B, 71866 },
- { 0x952C, 71870 },
- { 0x952D, 71874 },
- { 0x952E, 71878 },
- { 0x952F, 71882 },
- { 0x9530, 71886 },
- { 0x9531, 71890 },
- { 0x9532, 71894 },
- { 0x9533, 71898 },
- { 0x9534, 71902 },
- { 0x9535, 71906 },
- { 0x9536, 71910 },
- { 0x9537, 71914 },
- { 0x9538, 74164 },
- { 0x9539, 74168 },
- { 0x953B, 74172 },
- { 0x953C, 74176 },
- { 0x953D, 74180 },
- { 0x953E, 74184 },
- { 0x9540, 74188 },
- { 0x9541, 74192 },
- { 0x9542, 74196 },
- { 0x9543, 74200 },
- { 0x9544, 74204 },
- { 0x9546, 74208 },
- { 0x954A, 74212 },
- { 0x954B, 74216 },
- { 0x954C, 74220 },
- { 0x954D, 74224 },
- { 0x954E, 74228 },
- { 0x954F, 74232 },
- { 0x9550, 74236 },
- { 0x9552, 74060 },
- { 0x9553, 74064 },
- { 0x9554, 74068 },
- { 0x9555, 74072 },
- { 0x9556, 74076 },
- { 0x9557, 74080 },
- { 0x9558, 74084 },
- { 0x9559, 74088 },
- { 0x955A, 74092 },
- { 0x955B, 74096 },
- { 0x955C, 74100 },
- { 0x955D, 74104 },
- { 0x955E, 74108 },
- { 0x955F, 74112 },
- { 0x9560, 74116 },
- { 0x9561, 74120 },
- { 0x9562, 74124 },
- { 0x9563, 74128 },
- { 0x9564, 74132 },
- { 0x9565, 74136 },
- { 0x9566, 74140 },
- { 0x9567, 74144 },
- { 0x9568, 74148 },
- { 0x9569, 74152 },
- { 0x956A, 74156 },
- { 0x956B, 74160 },
- { 0x956C, 71021 },
- { 0x956D, 71026 },
- { 0x956E, 71031 },
- { 0x956F, 71036 },
- { 0x9570, 71041 },
- { 0x9571, 71046 },
- { 0x9572, 71051 },
- { 0x9573, 71056 },
- { 0x9574, 71061 },
- { 0x9575, 71066 },
- { 0x9576, 71071 },
- { 0x9577, 71076 },
- { 0x9578, 71081 },
- { 0x9579, 71086 },
- { 0x957A, 71091 },
- { 0x957B, 71096 },
- { 0x957C, 71101 },
- { 0x957D, 71106 },
- { 0x957E, 71111 },
- { 0x957F, 71116 },
- { 0x9580, 71121 },
- { 0x9581, 71126 },
- { 0x9582, 71131 },
- { 0x9583, 71136 },
- { 0x9584, 71141 },
- { 0x9585, 71146 },
- { 0x9586, 70891 },
- { 0x9587, 70896 },
- { 0x9588, 70901 },
- { 0x9589, 70906 },
- { 0x958A, 70911 },
- { 0x958B, 70916 },
- { 0x958C, 70921 },
- { 0x958D, 70926 },
- { 0x958E, 70931 },
- { 0x958F, 70936 },
- { 0x9590, 70941 },
- { 0x9591, 70946 },
- { 0x9592, 70951 },
- { 0x9593, 70956 },
- { 0x9594, 70961 },
- { 0x9595, 70966 },
- { 0x9596, 70971 },
- { 0x9597, 70976 },
- { 0x9598, 70981 },
- { 0x9599, 70986 },
- { 0x959A, 70991 },
- { 0x959B, 70996 },
- { 0x959C, 71001 },
- { 0x959D, 71006 },
- { 0x959E, 71011 },
- { 0x959F, 71016 },
- { 0x95A0, 73916 },
- { 0x95A1, 73920 },
- { 0x95A2, 73924 },
- { 0x95A3, 73928 },
- { 0x95A4, 73932 },
- { 0x95A5, 73936 },
- { 0x95A6, 73940 },
- { 0x95A7, 73944 },
- { 0x95A8, 73948 },
- { 0x95A9, 73952 },
- { 0x95AA, 73956 },
- { 0x95AB, 73960 },
- { 0x95AC, 73964 },
- { 0x95AD, 73968 },
- { 0x95AE, 73972 },
- { 0x95AF, 73976 },
- { 0x95B0, 73980 },
- { 0x95B1, 73984 },
- { 0x95B2, 73988 },
- { 0x95B3, 73992 },
- { 0x95B4, 73996 },
- { 0x95B5, 74000 },
- { 0x95B6, 74004 },
- { 0x95B7, 74008 },
- { 0x95B8, 74012 },
- { 0x95B9, 74016 },
- { 0x95BA, 73552 },
- { 0x95BB, 73556 },
- { 0x95BC, 73560 },
- { 0x95BD, 73564 },
- { 0x95BE, 73568 },
- { 0x95BF, 73572 },
- { 0x95C0, 73576 },
- { 0x95C1, 73580 },
- { 0x95C2, 73584 },
- { 0x95C3, 73588 },
- { 0x95C4, 73592 },
- { 0x95C5, 73596 },
- { 0x95C6, 73600 },
- { 0x95C7, 73604 },
- { 0x95C8, 73608 },
- { 0x95C9, 73612 },
- { 0x95CA, 73616 },
- { 0x95CB, 73620 },
- { 0x95CC, 73624 },
- { 0x95CD, 73628 },
- { 0x95CE, 73632 },
- { 0x95CF, 73636 },
- { 0x95D0, 73640 },
- { 0x95D1, 73644 },
- { 0x95D2, 73648 },
- { 0x95D3, 73652 },
- { 0x95D4, 73246 },
- { 0x95D5, 73251 },
- { 0x95D6, 73256 },
- { 0x95D7, 73261 },
- { 0x95D8, 73266 },
- { 0x95D9, 73271 },
- { 0x95DA, 73276 },
- { 0x95DB, 73281 },
- { 0x95DC, 73286 },
- { 0x95DD, 73291 },
- { 0x95DE, 73296 },
- { 0x95DF, 73301 },
- { 0x95E0, 73306 },
- { 0x95E1, 73311 },
- { 0x95E2, 73316 },
- { 0x95E3, 73321 },
- { 0x95E4, 73326 },
- { 0x95E5, 73331 },
- { 0x95E6, 73336 },
- { 0x95E7, 73341 },
- { 0x95E8, 73346 },
- { 0x95E9, 73351 },
- { 0x95EA, 73356 },
- { 0x95EB, 73361 },
- { 0x95EC, 73366 },
- { 0x95ED, 73371 },
- { 0x95EE, 72324 },
- { 0x95EF, 72329 },
- { 0x95F0, 72334 },
- { 0x95F1, 72339 },
- { 0x95F2, 72344 },
- { 0x95F3, 72349 },
- { 0x95F4, 72354 },
- { 0x95F5, 72359 },
- { 0x95F6, 72364 },
- { 0x95F7, 72369 },
- { 0x95F8, 72374 },
- { 0x95F9, 72379 },
- { 0x95FA, 72384 },
- { 0x95FB, 72389 },
- { 0x95FC, 72394 },
- { 0x95FD, 72399 },
- { 0x95FE, 72404 },
- { 0x95FF, 72409 },
- { 0x9600, 72414 },
- { 0x9601, 72419 },
- { 0x9602, 72424 },
- { 0x9603, 72429 },
- { 0x9604, 72434 },
- { 0x9605, 72439 },
- { 0x9606, 72444 },
- { 0x9607, 72449 },
- { 0x9608, 73786 },
- { 0x9609, 73791 },
- { 0x960A, 73796 },
- { 0x960B, 73801 },
- { 0x960C, 73806 },
- { 0x960D, 73811 },
- { 0x960E, 73816 },
- { 0x960F, 73821 },
- { 0x9610, 73826 },
- { 0x9611, 73831 },
- { 0x9612, 73836 },
- { 0x9613, 73841 },
- { 0x9614, 73846 },
- { 0x9615, 73851 },
- { 0x9616, 73856 },
- { 0x9617, 73861 },
- { 0x9618, 73866 },
- { 0x9619, 73871 },
- { 0x961A, 73876 },
- { 0x961B, 73881 },
- { 0x961C, 73886 },
- { 0x961D, 73891 },
- { 0x961E, 73896 },
- { 0x961F, 73901 },
- { 0x9620, 73906 },
- { 0x9621, 73911 },
- { 0x9622, 73656 },
- { 0x9623, 73661 },
- { 0x9624, 73666 },
- { 0x9625, 73671 },
- { 0x9626, 73676 },
- { 0x9627, 73681 },
- { 0x9628, 73686 },
- { 0x9629, 73691 },
- { 0x962A, 73696 },
- { 0x962B, 73701 },
- { 0x962C, 73706 },
- { 0x962D, 73711 },
- { 0x962E, 73716 },
- { 0x962F, 73721 },
- { 0x9630, 73726 },
- { 0x9631, 73731 },
- { 0x9632, 73736 },
- { 0x9633, 73741 },
- { 0x9634, 73746 },
- { 0x9635, 73751 },
- { 0x9636, 73756 },
- { 0x9637, 73761 },
- { 0x9638, 73766 },
- { 0x9639, 73771 },
- { 0x963A, 73776 },
- { 0x963B, 73781 },
- { 0x963C, 72927 },
- { 0x963D, 72933 },
- { 0x963E, 72939 },
- { 0x963F, 72945 },
- { 0x9640, 72951 },
- { 0x9641, 72957 },
- { 0x9642, 72963 },
- { 0x9643, 72969 },
- { 0x9644, 72975 },
- { 0x9645, 72981 },
- { 0x9646, 72987 },
- { 0x9647, 72993 },
- { 0x9648, 72999 },
- { 0x9649, 73005 },
- { 0x964A, 73011 },
- { 0x964B, 73017 },
- { 0x964C, 73023 },
- { 0x964D, 73029 },
- { 0x964E, 73035 },
- { 0x964F, 73041 },
- { 0x9650, 73047 },
- { 0x9651, 73053 },
- { 0x9652, 73059 },
- { 0x9653, 73065 },
- { 0x9654, 73071 },
- { 0x9655, 73077 },
- { 0x9656, 72614 },
- { 0x9657, 72620 },
- { 0x9658, 72626 },
- { 0x9659, 72632 },
- { 0x965A, 72638 },
- { 0x965B, 72644 },
- { 0x965C, 72650 },
- { 0x965D, 72656 },
- { 0x965E, 72662 },
- { 0x965F, 72668 },
- { 0x9660, 72674 },
- { 0x9661, 72680 },
- { 0x9662, 72686 },
- { 0x9663, 72692 },
- { 0x9664, 72698 },
- { 0x9665, 72704 },
- { 0x9666, 72710 },
- { 0x9667, 72716 },
- { 0x9668, 72722 },
- { 0x9669, 72728 },
- { 0x966A, 72734 },
- { 0x966B, 72740 },
- { 0x966C, 72746 },
- { 0x966D, 72752 },
- { 0x966E, 72758 },
- { 0x966F, 72764 },
- { 0x9670, 72146 },
- { 0x9671, 72150 },
- { 0x9672, 72154 },
- { 0x9673, 72158 },
- { 0x9674, 72162 },
- { 0x9675, 72166 },
- { 0x9676, 72170 },
- { 0x9677, 72174 },
- { 0x9678, 72178 },
- { 0x9679, 72182 },
- { 0x967A, 72186 },
- { 0x967B, 72190 },
- { 0x967C, 72194 },
- { 0x967D, 72198 },
- { 0x967E, 72202 },
- { 0x967F, 72206 },
- { 0x9680, 72210 },
- { 0x9681, 72214 },
- { 0x9682, 72218 },
- { 0x9683, 72222 },
- { 0x9684, 72226 },
- { 0x9685, 72230 },
- { 0x9686, 72234 },
- { 0x9687, 72238 },
- { 0x9688, 72242 },
- { 0x9689, 72246 },
- { 0x968A, 72042 },
- { 0x968B, 72046 },
- { 0x968C, 72050 },
- { 0x968D, 72054 },
- { 0x968E, 72058 },
- { 0x968F, 72062 },
- { 0x9690, 72066 },
- { 0x9691, 72070 },
- { 0x9692, 72074 },
- { 0x9693, 72078 },
- { 0x9694, 72082 },
- { 0x9695, 72086 },
- { 0x9696, 72090 },
- { 0x9697, 72094 },
- { 0x9698, 72098 },
- { 0x9699, 72102 },
- { 0x969A, 72106 },
- { 0x969B, 72110 },
- { 0x969C, 72114 },
- { 0x969D, 72118 },
- { 0x969E, 72122 },
- { 0x969F, 72126 },
- { 0x96A0, 72130 },
- { 0x96A1, 72134 },
- { 0x96A2, 72138 },
- { 0x96A3, 72142 },
- { 0x96A4, 71411 },
- { 0x96A5, 71416 },
- { 0x96A8, 70834 },
- { 0x96A9, 70822 },
- { 0x96AA, 70842 },
- { 0x96AB, 70838 },
- { 0x96AC, 70875 },
- { 0x96AD, 70830 },
- { 0x96AE, 70802 },
- { 0x96AF, 70862 },
- { 0x96B0, 70826 },
- { 0x96B1, 70846 },
- { 0x96B2, 70850 },
- { 0x96B3, 70782 },
- { 0x96B4, 70786 },
- { 0x96B5, 70794 },
- { 0x96B6, 70879 },
- { 0x96B7, 70790 },
- { 0x96B8, 70814 },
- { 0x96B9, 70866 },
- { 0x96BA, 70858 },
- { 0x96BB, 70818 },
- { 0x96BC, 70883 },
- { 0x96BD, 70806 },
- { 0x96BE, 70798 },
- { 0x96BF, 70810 },
- { 0x96C0, 70854 },
- { 0x96C1, 69651 },
- { 0x96C2, 69810 },
- { 0x96C3, 69798 },
- { 0x96C4, 69823 },
- { 0x96C5, 69814 },
- { 0x96C6, 69851 },
- { 0x96C7, 69806 },
- { 0x96C8, 69778 },
- { 0x96C9, 69843 },
- { 0x96CA, 69802 },
- { 0x96CB, 69827 },
- { 0x96CC, 69831 },
- { 0x96CD, 69758 },
- { 0x96CE, 69762 },
- { 0x96CF, 69770 },
- { 0x96D0, 69855 },
- { 0x96D1, 69766 },
- { 0x96D2, 69790 },
- { 0x96D3, 69818 },
- { 0x96D4, 69839 },
- { 0x96D5, 69794 },
- { 0x96D6, 69859 },
- { 0x96D7, 69782 },
- { 0x96D8, 69774 },
- { 0x96D9, 69786 },
- { 0x96DA, 69835 },
- { 0x96DB, 71151 },
- { 0x96DC, 70887 },
- { 0x96DD, 69863 },
- { 0x96DE, 69647 },
- { 0x96DF, 69599 },
- { 0x96E0, 69603 },
- { 0x96E1, 69595 },
- { 0x96E2, 71593 },
- { 0x96E3, 71581 },
- { 0x96E4, 71601 },
- { 0x96E5, 71597 },
- { 0x96E6, 71630 },
- { 0x96E7, 71589 },
- { 0x96E8, 71561 },
- { 0x96E9, 71621 },
- { 0x96EA, 71585 },
- { 0x96EB, 71605 },
- { 0x96EC, 71609 },
- { 0x96ED, 71541 },
- { 0x96EE, 71545 },
- { 0x96EF, 71553 },
- { 0x96F0, 71634 },
- { 0x96F1, 71549 },
- { 0x96F2, 71573 },
- { 0x96F3, 71625 },
- { 0x96F4, 71617 },
- { 0x96F5, 71577 },
- { 0x96F6, 71638 },
- { 0x96F7, 71565 },
- { 0x96F8, 71557 },
- { 0x96F9, 71569 },
- { 0x96FA, 71613 },
- { 0x96FB, 71219 },
- { 0x96FC, 71374 },
- { 0x96FD, 71362 },
- { 0x96FE, 71387 },
- { 0x96FF, 71378 },
- { 0x9700, 71421 },
- { 0x9701, 71370 },
- { 0x9702, 71342 },
- { 0x9703, 71407 },
- { 0x9704, 71366 },
- { 0x9705, 71391 },
- { 0x9706, 71395 },
- { 0x9707, 71322 },
- { 0x9708, 71326 },
- { 0x9709, 71334 },
- { 0x970A, 71425 },
- { 0x970B, 71330 },
- { 0x970C, 71354 },
- { 0x970D, 71382 },
- { 0x970E, 71403 },
- { 0x970F, 71358 },
- { 0x9710, 71429 },
- { 0x9711, 71346 },
- { 0x9712, 71338 },
- { 0x9713, 71350 },
- { 0x9714, 71399 },
- { 0x9715, 71646 },
- { 0x9716, 71642 },
- { 0x9717, 71433 },
- { 0x9718, 71215 },
- { 0x9719, 71207 },
- { 0x971A, 71211 },
- { 0x971B, 71203 },
- { 0x971C, 70347 },
- { 0x971D, 70332 },
- { 0x971E, 70357 },
- { 0x971F, 70352 },
- { 0x9720, 70393 },
- { 0x9721, 70342 },
- { 0x9722, 70307 },
- { 0x9723, 70382 },
- { 0x9724, 70337 },
- { 0x9725, 70362 },
- { 0x9726, 70367 },
- { 0x9727, 70282 },
- { 0x9728, 70287 },
- { 0x9729, 70297 },
- { 0x972A, 70398 },
- { 0x972B, 70292 },
- { 0x972C, 70322 },
- { 0x972D, 70387 },
- { 0x972E, 70377 },
- { 0x972F, 70327 },
- { 0x9730, 70403 },
- { 0x9731, 70312 },
- { 0x9732, 70302 },
- { 0x9733, 70317 },
- { 0x9734, 70372 },
- { 0x9735, 69887 },
- { 0x9736, 70086 },
- { 0x9737, 70071 },
- { 0x9738, 70102 },
- { 0x9739, 70091 },
- { 0x973A, 70132 },
- { 0x973B, 70081 },
- { 0x973C, 70046 },
- { 0x973D, 70127 },
- { 0x973E, 70076 },
- { 0x973F, 70107 },
- { 0x9740, 70112 },
- { 0x9741, 70021 },
- { 0x9742, 70026 },
- { 0x9743, 70036 },
- { 0x9744, 70137 },
- { 0x9745, 70031 },
- { 0x9746, 70061 },
- { 0x9747, 70096 },
- { 0x9748, 70122 },
- { 0x9749, 70066 },
- { 0x974A, 70142 },
- { 0x974B, 70051 },
- { 0x974C, 70041 },
- { 0x974D, 70056 },
- { 0x974E, 70117 },
- { 0x974F, 70413 },
- { 0x9750, 70408 },
- { 0x9751, 70147 },
- { 0x9752, 69882 },
- { 0x9753, 69872 },
- { 0x9754, 69877 },
- { 0x9755, 69867 },
- { 0x9756, 73441 },
- { 0x9757, 73426 },
- { 0x9758, 73451 },
- { 0x9759, 73446 },
- { 0x975A, 73487 },
- { 0x975B, 73436 },
- { 0x975C, 73401 },
- { 0x975D, 73476 },
- { 0x975E, 73431 },
- { 0x975F, 73456 },
- { 0x9760, 73461 },
- { 0x9761, 73376 },
- { 0x9762, 73381 },
- { 0x9763, 73391 },
- { 0x9764, 73492 },
- { 0x9765, 73386 },
- { 0x9766, 73416 },
- { 0x9767, 73481 },
- { 0x9768, 73471 },
- { 0x9769, 73421 },
- { 0x976A, 73497 },
- { 0x976B, 73406 },
- { 0x976C, 73396 },
- { 0x976D, 73411 },
- { 0x976E, 73466 },
- { 0x976F, 72320 },
- { 0x9770, 72519 },
- { 0x9771, 72504 },
- { 0x9772, 72535 },
- { 0x9773, 72524 },
- { 0x9774, 72565 },
- { 0x9775, 72514 },
- { 0x9776, 72479 },
- { 0x9777, 72560 },
- { 0x9778, 72509 },
- { 0x9779, 72540 },
- { 0x977A, 72545 },
- { 0x977B, 72454 },
- { 0x977C, 72459 },
- { 0x977D, 72469 },
- { 0x977E, 72570 },
- { 0x977F, 72464 },
- { 0x9780, 72494 },
- { 0x9781, 72529 },
- { 0x9782, 72555 },
- { 0x9783, 72499 },
- { 0x9784, 72575 },
- { 0x9785, 72484 },
- { 0x9786, 72474 },
- { 0x9787, 72489 },
- { 0x9788, 72550 },
- { 0x9789, 73507 },
- { 0x978A, 73502 },
- { 0x978B, 72580 },
- { 0x978C, 72315 },
- { 0x978D, 72255 },
- { 0x978E, 72260 },
- { 0x978F, 72250 },
- { 0x9790, 73161 },
- { 0x9791, 73143 },
- { 0x9792, 73173 },
- { 0x9793, 73167 },
- { 0x9794, 73216 },
- { 0x9795, 73155 },
- { 0x9796, 73113 },
- { 0x9797, 73203 },
- { 0x9798, 73149 },
- { 0x9799, 73179 },
- { 0x979A, 73185 },
- { 0x979B, 73083 },
- { 0x979C, 73089 },
- { 0x979D, 73101 },
- { 0x979E, 73222 },
- { 0x979F, 73095 },
- { 0x97A0, 73131 },
- { 0x97A1, 73209 },
- { 0x97A2, 73197 },
- { 0x97A3, 73137 },
- { 0x97A4, 73228 },
- { 0x97A5, 73119 },
- { 0x97A6, 73107 },
- { 0x97A7, 73125 },
- { 0x97A8, 73191 },
- { 0x97A9, 72609 },
- { 0x97AA, 72848 },
- { 0x97AB, 72830 },
- { 0x97AC, 72867 },
- { 0x97AD, 72854 },
- { 0x97AE, 72903 },
- { 0x97AF, 72842 },
- { 0x97B0, 72800 },
- { 0x97B1, 72897 },
- { 0x97B2, 72836 },
- { 0x97B3, 72873 },
- { 0x97B4, 72879 },
- { 0x97B5, 72770 },
- { 0x97B6, 72776 },
- { 0x97B7, 72788 },
- { 0x97B8, 72909 },
- { 0x97B9, 72782 },
- { 0x97BA, 72818 },
- { 0x97BB, 72860 },
- { 0x97BC, 72891 },
- { 0x97BD, 72824 },
- { 0x97BE, 72915 },
- { 0x97BF, 72806 },
- { 0x97C0, 72794 },
- { 0x97C1, 72812 },
- { 0x97C2, 72885 },
- { 0x97C3, 73240 },
- { 0x97C4, 73234 },
- { 0x97C5, 72921 },
- { 0x97C6, 72603 },
- { 0x97C7, 72591 },
- { 0x97C8, 72597 },
- { 0x97C9, 72585 },
- { 0x97CA, 70871 },
- { 0x97CB, 69847 },
- { 0x97CE, 69631 },
- { 0x97CF, 69607 },
- { 0x97D0, 69615 },
- { 0x97D1, 69643 },
- { 0x97D2, 69623 },
- { 0x97D3, 69619 },
- { 0x97D4, 69611 },
- { 0x97D5, 69639 },
- { 0x97D6, 69635 },
- { 0x97D7, 69627 },
- { 0x97D8, 74044 },
- { 0x97D9, 74020 },
- { 0x97DA, 74028 },
- { 0x97DB, 74056 },
- { 0x97DC, 74036 },
- { 0x97DD, 74032 },
- { 0x97DE, 74024 },
- { 0x97DF, 74052 },
- { 0x97E0, 74048 },
- { 0x97E1, 74040 },
- { 0x97E2, 73536 },
- { 0x97E3, 73512 },
- { 0x97E4, 73520 },
- { 0x97E5, 73548 },
- { 0x97E6, 73528 },
- { 0x97E7, 73524 },
- { 0x97E8, 73516 },
- { 0x97E9, 73544 },
- { 0x97EA, 73540 },
- { 0x97EB, 73532 },
- { 0x97EC, 72295 },
- { 0x97ED, 72265 },
- { 0x97EE, 72275 },
- { 0x97EF, 72310 },
- { 0x97F0, 72285 },
- { 0x97F1, 72280 },
- { 0x97F2, 72270 },
- { 0x97F3, 72305 },
- { 0x97F4, 72300 },
- { 0x97F5, 72290 },
- { 0x97F6, 72026 },
- { 0x97F7, 72002 },
- { 0x97F8, 72010 },
- { 0x97F9, 72038 },
- { 0x97FA, 72018 },
- { 0x97FB, 72014 },
- { 0x97FC, 72006 },
- { 0x97FD, 72034 },
- { 0x97FE, 72030 },
- { 0x97FF, 72022 },
- { 0xA000, 41048 },
- { 0xA001, 41145 },
- { 0xA002, 41100 },
- { 0xA003, 41126 },
- { 0xA004, 41011 },
- { 0xA005, 41119 },
- { 0xA006, 41164 },
- { 0xA007, 41006 },
- { 0xA008, 41040 },
- { 0xA009, 41159 },
- { 0xA00A, 41077 },
- { 0xA00B, 41062 },
- { 0xA00C, 41025 },
- { 0xA00D, 41140 },
- { 0xA00E, 41114 },
- { 0xA00F, 41092 },
- { 0xA010, 40996 },
- { 0xA011, 41030 },
- { 0xA012, 41149 },
- { 0xA013, 41067 },
- { 0xA014, 41052 },
- { 0xA015, 41015 },
- { 0xA016, 41130 },
- { 0xA017, 41104 },
- { 0xA018, 41082 },
- { 0xA019, 41001 },
- { 0xA01A, 41035 },
- { 0xA01B, 41154 },
- { 0xA01C, 41072 },
- { 0xA01D, 41057 },
- { 0xA01E, 41020 },
- { 0xA01F, 41135 },
- { 0xA020, 41109 },
- { 0xA021, 41087 },
- { 0xA022, 41097 },
- { 0xA023, 41174 },
- { 0xA024, 41171 },
- { 0xA025, 41186 },
- { 0xA026, 41177 },
- { 0xA027, 41180 },
- { 0xA028, 41168 },
- { 0xA029, 41183 },
- { 0xA02A, 41123 },
- { 0xA02B, 41045 },
- { 0xA030, 31231 },
- { 0xA031, 31382 },
- { 0xA032, 31385 },
- { 0xA033, 31388 },
- { 0xA034, 31391 },
- { 0xA035, 31394 },
- { 0xA036, 31397 },
- { 0xA037, 31400 },
- { 0xA038, 31403 },
- { 0xA039, 31406 },
- { 0xA03A, 31409 },
- { 0xA03B, 31412 },
- { 0xA03C, 31415 },
- { 0xA03D, 31418 },
- { 0xA03E, 31421 },
- { 0xA03F, 31424 },
- { 0xA040, 31427 },
- { 0xA041, 31430 },
- { 0xA042, 31433 },
- { 0xA043, 31436 },
- { 0xA044, 31439 },
- { 0xA045, 31442 },
- { 0xA046, 31445 },
- { 0xA047, 31448 },
- { 0xA048, 31451 },
- { 0xA049, 31454 },
- { 0xA04A, 31457 },
- { 0xA04B, 31460 },
- { 0xA04C, 31463 },
- { 0xA04D, 31466 },
- { 0xA04E, 31469 },
- { 0xA04F, 31472 },
- { 0xA050, 31475 },
- { 0xA051, 31478 },
- { 0xA052, 31481 },
- { 0xA053, 31484 },
- { 0xA054, 31487 },
- { 0xA055, 31490 },
- { 0xA056, 31493 },
- { 0xA057, 31496 },
- { 0xA058, 31499 },
- { 0xA059, 31502 },
- { 0xA05A, 31505 },
- { 0xA05B, 31508 },
- { 0xA05C, 31511 },
- { 0xA05D, 31514 },
- { 0xA05E, 31517 },
- { 0xA05F, 31520 },
- { 0xA060, 31523 },
- { 0xA061, 31526 },
- { 0xA062, 31227 },
- { 0xA063, 31235 },
- { 0xA064, 31238 },
- { 0xA065, 31241 },
- { 0xA066, 31244 },
- { 0xA067, 31247 },
- { 0xA068, 31250 },
- { 0xA069, 31253 },
- { 0xA06A, 31256 },
- { 0xA06B, 31259 },
- { 0xA06C, 31262 },
- { 0xA06D, 31265 },
- { 0xA06E, 31268 },
- { 0xA06F, 31271 },
- { 0xA070, 31274 },
- { 0xA071, 31277 },
- { 0xA072, 31280 },
- { 0xA073, 31283 },
- { 0xA074, 31286 },
- { 0xA075, 31289 },
- { 0xA076, 31292 },
- { 0xA077, 31295 },
- { 0xA078, 31298 },
- { 0xA079, 31301 },
- { 0xA07A, 31304 },
- { 0xA07B, 31307 },
- { 0xA07C, 31310 },
- { 0xA07D, 31313 },
- { 0xA07E, 31316 },
- { 0xA07F, 31319 },
- { 0xA080, 31322 },
- { 0xA081, 31325 },
- { 0xA082, 31328 },
- { 0xA083, 31331 },
- { 0xA084, 31334 },
- { 0xA085, 31337 },
- { 0xA086, 31340 },
- { 0xA087, 31343 },
- { 0xA088, 31346 },
- { 0xA089, 31349 },
- { 0xA08A, 31352 },
- { 0xA08B, 31355 },
- { 0xA08C, 31358 },
- { 0xA08D, 31361 },
- { 0xA08E, 31364 },
- { 0xA08F, 31367 },
- { 0xA090, 31370 },
- { 0xA091, 31373 },
- { 0xA092, 31376 },
- { 0xA093, 31379 },
- { 0xC001, 53726 },
- { 0xC020, 7517 },
- { 0xC021, 7564 },
- { 0xC022, 7551 },
- { 0xC023, 7527 },
- { 0xC024, 7521 },
- { 0xC025, 7530 },
- { 0xC026, 7546 },
- { 0xC027, 7556 },
- { 0xC028, 7203 },
- { 0xC029, 7514 },
- { 0xC02A, 7538 },
- { 0xC02B, 7206 },
- { 0xC02C, 7211 },
- { 0xC02D, 7570 },
- { 0xC02E, 7192 },
- { 0xC02F, 7536 },
- { 0xC030, 7231 },
- { 0xC031, 7213 },
- { 0xC032, 7219 },
- { 0xC033, 7240 },
- { 0xC034, 7225 },
- { 0xC035, 7222 },
- { 0xC036, 7216 },
- { 0xC037, 7237 },
- { 0xC038, 7234 },
- { 0xC039, 7228 },
- { 0xC03A, 7209 },
- { 0xC03B, 7554 },
- { 0xC03C, 7548 },
- { 0xC03D, 7524 },
- { 0xC03E, 7567 },
- { 0xC03F, 7540 },
- { 0xC040, 7561 },
- { 0xC041, 7376 },
- { 0xC042, 7381 },
- { 0xC043, 7386 },
- { 0xC044, 7391 },
- { 0xC045, 7396 },
- { 0xC046, 7401 },
- { 0xC047, 7406 },
- { 0xC048, 7411 },
- { 0xC049, 7416 },
- { 0xC04A, 7421 },
- { 0xC04B, 7426 },
- { 0xC04C, 7431 },
- { 0xC04D, 7436 },
- { 0xC04E, 7441 },
- { 0xC04F, 7446 },
- { 0xC050, 7451 },
- { 0xC051, 7456 },
- { 0xC052, 7461 },
- { 0xC053, 7466 },
- { 0xC054, 7471 },
- { 0xC055, 7476 },
- { 0xC056, 7481 },
- { 0xC057, 7486 },
- { 0xC058, 7491 },
- { 0xC059, 7496 },
- { 0xC05A, 7501 },
- { 0xC05B, 7199 },
- { 0xC05C, 7533 },
- { 0xC05D, 7510 },
- { 0xC05E, 7558 },
- { 0xC05F, 7189 },
- { 0xC060, 7243 },
- { 0xC061, 7246 },
- { 0xC062, 7251 },
- { 0xC063, 7256 },
- { 0xC064, 7261 },
- { 0xC065, 7266 },
- { 0xC066, 7271 },
- { 0xC067, 7276 },
- { 0xC068, 7281 },
- { 0xC069, 7286 },
- { 0xC06A, 7291 },
- { 0xC06B, 7296 },
- { 0xC06C, 7301 },
- { 0xC06D, 7306 },
- { 0xC06E, 7311 },
- { 0xC06F, 7316 },
- { 0xC070, 7321 },
- { 0xC071, 7326 },
- { 0xC072, 7331 },
- { 0xC073, 7336 },
- { 0xC074, 7341 },
- { 0xC075, 7346 },
- { 0xC076, 7351 },
- { 0xC077, 7356 },
- { 0xC078, 7361 },
- { 0xC079, 7366 },
- { 0xC07A, 7371 },
- { 0xC07B, 7195 },
- { 0xC07C, 7543 },
- { 0xC07D, 7506 },
- { 0xC07E, 7519 },
- { 0xC07F, 30315 },
- { 0xC100, 66346 },
- { 0xC101, 66348 },
- { 0xC102, 66350 },
- { 0xC103, 66352 },
- { 0xC104, 66354 },
- { 0xC105, 66356 },
- { 0xC106, 66358 },
- { 0xC107, 66360 },
- { 0xC108, 66362 },
- { 0xC109, 66364 },
- { 0xC10A, 66366 },
- { 0xC10B, 66368 },
- { 0xC10C, 66370 },
- { 0xC10D, 66372 },
- { 0xC10E, 66374 },
- { 0xC10F, 66376 },
- { 0xC110, 66378 },
- { 0xC111, 66380 },
- { 0xC112, 66382 },
- { 0xC113, 66384 },
- { 0xC114, 66386 },
- { 0xC115, 66388 },
- { 0xC116, 66390 },
- { 0xC117, 66392 },
- { 0xC118, 66394 },
- { 0xC119, 66396 },
- { 0xC11A, 66398 },
- { 0xC11B, 66400 },
- { 0xC11C, 66402 },
- { 0xC11D, 66404 },
- { 0xC11E, 66406 },
- { 0xC11F, 66408 },
- { 0xC120, 66410 },
- { 0xC121, 66412 },
- { 0xC122, 66414 },
- { 0xC123, 66416 },
- { 0xC124, 66418 },
- { 0xC125, 66420 },
- { 0xC126, 66422 },
- { 0xC127, 66424 },
- { 0xC128, 66426 },
- { 0xC129, 66428 },
- { 0xC12A, 66430 },
- { 0xC12B, 66432 },
- { 0xC12C, 66434 },
- { 0xC12D, 66436 },
- { 0xC12E, 66438 },
- { 0xC12F, 66440 },
- { 0xC130, 66442 },
- { 0xC131, 66444 },
- { 0xC132, 66446 },
- { 0xC133, 66448 },
- { 0xC134, 66450 },
- { 0xC135, 66452 },
- { 0xC136, 66454 },
- { 0xC137, 66456 },
- { 0xC138, 66458 },
- { 0xC139, 66460 },
- { 0xC13A, 66462 },
- { 0xC13B, 66464 },
- { 0xC13C, 66466 },
- { 0xC13D, 66468 },
- { 0xC13E, 66470 },
- { 0xC13F, 66472 },
- { 0xC140, 66474 },
- { 0xC141, 66476 },
- { 0xC142, 66478 },
- { 0xC143, 66480 },
- { 0xC144, 66482 },
- { 0xC145, 66484 },
- { 0xC146, 66486 },
- { 0xC147, 66488 },
- { 0xC148, 66490 },
- { 0xC149, 66492 },
- { 0xC14A, 66494 },
- { 0xC14B, 66496 },
- { 0xC14C, 66498 },
- { 0xC14D, 66500 },
- { 0xC14E, 66502 },
- { 0xC14F, 66504 },
- { 0xC150, 66506 },
- { 0xC151, 66508 },
- { 0xC152, 66510 },
- { 0xC153, 66512 },
- { 0xC154, 66514 },
- { 0xC155, 66516 },
- { 0xC156, 66518 },
- { 0xC157, 66520 },
- { 0xC158, 66522 },
- { 0xC159, 66524 },
- { 0xC15A, 66526 },
- { 0xC15B, 66528 },
- { 0xC15C, 66530 },
- { 0xC15D, 66532 },
- { 0xC15E, 66534 },
- { 0xC15F, 66536 },
- { 0xC160, 66538 },
- { 0xC161, 66540 },
- { 0xC162, 66542 },
- { 0xC163, 66544 },
- { 0xC164, 66546 },
- { 0xC165, 66548 },
- { 0xC166, 66550 },
- { 0xC167, 66552 },
- { 0xC168, 66554 },
- { 0xC169, 66556 },
- { 0xC16A, 66558 },
- { 0xC16B, 66560 },
- { 0xC16C, 66562 },
- { 0xC16D, 66564 },
- { 0xC16E, 66566 },
- { 0xC16F, 66568 },
- { 0xC170, 66570 },
- { 0xC171, 66572 },
- { 0xC172, 66574 },
- { 0xC173, 66576 },
- { 0xC174, 66578 },
- { 0xC175, 66580 },
- { 0xC176, 66582 },
- { 0xC177, 66584 },
- { 0xC178, 66586 },
- { 0xC179, 66588 },
- { 0xC17A, 66590 },
- { 0xC17B, 66592 },
- { 0xC17C, 66594 },
- { 0xC17D, 66596 },
- { 0xC17E, 66598 },
- { 0xC17F, 66600 },
- { 0xC180, 66602 },
- { 0xC181, 66604 },
- { 0xC182, 66606 },
- { 0xC183, 66608 },
- { 0xC184, 66610 },
- { 0xC185, 66612 },
- { 0xC186, 66614 },
- { 0xC187, 66616 },
- { 0xC188, 66618 },
- { 0xC189, 66620 },
- { 0xC18A, 66622 },
- { 0xC18B, 66624 },
- { 0xC18C, 66626 },
- { 0xC18D, 66628 },
- { 0xC18E, 66630 },
- { 0xC18F, 66632 },
- { 0xC190, 66634 },
- { 0xC191, 66636 },
- { 0xC192, 66638 },
- { 0xC193, 66640 },
- { 0xC194, 66642 },
- { 0xC195, 66644 },
- { 0xC196, 66646 },
- { 0xC197, 66648 },
- { 0xC198, 66650 },
- { 0xC199, 66652 },
- { 0xC19A, 66654 },
- { 0xC19B, 66656 },
- { 0xC19C, 66658 },
- { 0xC19D, 66660 },
- { 0xC19E, 66662 },
- { 0xC19F, 66664 },
- { 0xC1A0, 66666 },
- { 0xC1A1, 66668 },
- { 0xC1A2, 66670 },
- { 0xC1A3, 66672 },
- { 0xC1A4, 66674 },
- { 0xC1A5, 66676 },
- { 0xC1A6, 66678 },
- { 0xC1A7, 66680 },
- { 0xC1A8, 66682 },
- { 0xC1A9, 66684 },
- { 0xC1AA, 66686 },
- { 0xC1AB, 66688 },
- { 0xC1AC, 66690 },
- { 0xC1AD, 66692 },
- { 0xC1AE, 66694 },
- { 0xC1AF, 66696 },
- { 0xC1B0, 66698 },
- { 0xC1B1, 66700 },
- { 0xC1B2, 66702 },
- { 0xC1B3, 66704 },
- { 0xC1B4, 66706 },
- { 0xC1B5, 66708 },
- { 0xC1B6, 66710 },
- { 0xC1B7, 66712 },
- { 0xC1B8, 66714 },
- { 0xC1B9, 66716 },
- { 0xC1BA, 66718 },
- { 0xC1BB, 66720 },
- { 0xC1BC, 66722 },
- { 0xC1BD, 66724 },
- { 0xC1BE, 66726 },
- { 0xC1BF, 66728 },
- { 0xC1C0, 66730 },
- { 0xC1C1, 66732 },
- { 0xC1C2, 66734 },
- { 0xC1C3, 66736 },
- { 0xC1C4, 66738 },
- { 0xC1C5, 66740 },
- { 0xC1C6, 66742 },
- { 0xC1C7, 66744 },
- { 0xC1C8, 66746 },
- { 0xC1C9, 66748 },
- { 0xC1CA, 66750 },
- { 0xC1CB, 66752 },
- { 0xC1CC, 66754 },
- { 0xC1CD, 66756 },
- { 0xC1CE, 66758 },
- { 0xC1CF, 66760 },
- { 0xC1D0, 66762 },
- { 0xC1D1, 66764 },
- { 0xC1D2, 66766 },
- { 0xC1D3, 66768 },
- { 0xC1D4, 66770 },
- { 0xC1D5, 66772 },
- { 0xC1D6, 66774 },
- { 0xC1D7, 66776 },
- { 0xC1D8, 66778 },
- { 0xC1D9, 66780 },
- { 0xC1DA, 66782 },
- { 0xC1DB, 66784 },
- { 0xC1DC, 66786 },
- { 0xC1DD, 66788 },
- { 0xC1DE, 66790 },
- { 0xC1DF, 66792 },
- { 0xC1E0, 66794 },
- { 0xC1E1, 66796 },
- { 0xC1E2, 66798 },
- { 0xC1E3, 66800 },
- { 0xC1E4, 66802 },
- { 0xC1E5, 66804 },
- { 0xC1E6, 66806 },
- { 0xC1E7, 66808 },
- { 0xC1E8, 66810 },
- { 0xC1E9, 66812 },
- { 0xC1EA, 66814 },
- { 0xC1EB, 66816 },
- { 0xC1EC, 66818 },
- { 0xC1ED, 66820 },
- { 0xC1EE, 66822 },
- { 0xC1EF, 66824 },
+unicode_index_to_name[27859] = {
+ { 0x0000, 33719 },
+ { 0x0001, 101924 },
+ { 0x0002, 98118 },
+ { 0x0003, 51666 },
+ { 0x0004, 44600 },
+ { 0x0005, 61728 },
+ { 0x0006, 83874 },
+ { 0x0007, 99532 },
+ { 0x0008, 13077 },
+ { 0x0009, 32822 },
+ { 0x000A, 66138 },
+ { 0x000B, 14218 },
+ { 0x000C, 18793 },
+ { 0x000D, 106283 },
+ { 0x000E, 12656 },
+ { 0x000F, 63706 },
+ { 0x0010, 18887 },
+ { 0x0011, 18833 },
+ { 0x0012, 18851 },
+ { 0x0013, 18914 },
+ { 0x0014, 18869 },
+ { 0x0015, 18860 },
+ { 0x0016, 18842 },
+ { 0x0017, 18905 },
+ { 0x0018, 18896 },
+ { 0x0019, 18878 },
+ { 0x001A, 18787 },
+ { 0x001B, 98387 },
+ { 0x001C, 96821 },
+ { 0x001D, 45098 },
+ { 0x001E, 106210 },
+ { 0x001F, 82867 },
+ { 0x0020, 99549 },
+ { 0x0021, 27516 },
+ { 0x0022, 27739 },
+ { 0x0023, 27788 },
+ { 0x0024, 27849 },
+ { 0x0025, 27929 },
+ { 0x0026, 28114 },
+ { 0x0027, 28137 },
+ { 0x0028, 28203 },
+ { 0x0029, 28270 },
+ { 0x002A, 28384 },
+ { 0x002B, 28406 },
+ { 0x002C, 28483 },
+ { 0x002D, 28589 },
+ { 0x002E, 28619 },
+ { 0x002F, 28717 },
+ { 0x0030, 29007 },
+ { 0x0031, 29057 },
+ { 0x0032, 29076 },
+ { 0x0033, 29166 },
+ { 0x0034, 29257 },
+ { 0x0035, 29334 },
+ { 0x0036, 29556 },
+ { 0x0037, 29586 },
+ { 0x0038, 29634 },
+ { 0x0039, 29651 },
+ { 0x003A, 29730 },
+ { 0x003B, 12990 },
+ { 0x003C, 62262 },
+ { 0x003D, 32726 },
+ { 0x003E, 99547 },
+ { 0x003F, 6207 },
+ { 0x0040, 19111 },
+ { 0x0041, 23330 },
+ { 0x0042, 23573 },
+ { 0x0043, 23636 },
+ { 0x0044, 23710 },
+ { 0x0045, 23806 },
+ { 0x0046, 24010 },
+ { 0x0047, 24047 },
+ { 0x0048, 24120 },
+ { 0x0049, 24201 },
+ { 0x004A, 24315 },
+ { 0x004B, 24343 },
+ { 0x004C, 24427 },
+ { 0x004D, 24577 },
+ { 0x004E, 24627 },
+ { 0x004F, 24757 },
+ { 0x0050, 25048 },
+ { 0x0051, 25112 },
+ { 0x0052, 25144 },
+ { 0x0053, 25282 },
+ { 0x0054, 25393 },
+ { 0x0055, 25496 },
+ { 0x0056, 25749 },
+ { 0x0057, 25799 },
+ { 0x0058, 25854 },
+ { 0x0059, 25916 },
+ { 0x005A, 26010 },
+ { 0x005B, 12822 },
+ { 0x005C, 83821 },
+ { 0x005D, 32635 },
+ { 0x005E, 34245 },
+ { 0x005F, 82324 },
+ { 0x0060, 79345 },
+ { 0x0061, 12129 },
+ { 0x0062, 32540 },
+ { 0x0063, 70281 },
+ { 0x0064, 11832 },
+ { 0x0065, 43240 },
+ { 0x0066, 62313 },
+ { 0x0067, 94742 },
+ { 0x0068, 88549 },
+ { 0x0069, 77563 },
+ { 0x006A, 111634 },
+ { 0x006B, 7083 },
+ { 0x006C, 14430 },
+ { 0x006D, 100994 },
+ { 0x006E, 51177 },
+ { 0x006F, 44547 },
+ { 0x0070, 100982 },
+ { 0x0071, 105734 },
+ { 0x0072, 105769 },
+ { 0x0073, 15051 },
+ { 0x0074, 31815 },
+ { 0x0075, 61730 },
+ { 0x0076, 51624 },
+ { 0x0077, 56443 },
+ { 0x0078, 105730 },
+ { 0x0079, 97229 },
+ { 0x007A, 112259 },
+ { 0x007B, 54662 },
+ { 0x007C, 54634 },
+ { 0x007D, 54706 },
+ { 0x007E, 79338 },
+ { 0x007F, 27633 },
+ { 0x0080, 27573 },
+ { 0x0081, 27691 },
+ { 0x0082, 27639 },
+ { 0x0083, 27677 },
+ { 0x0084, 27550 },
+ { 0x0085, 29802 },
+ { 0x0086, 27829 },
+ { 0x0087, 27972 },
+ { 0x0088, 27954 },
+ { 0x0089, 28059 },
+ { 0x008A, 28053 },
+ { 0x008B, 28313 },
+ { 0x008C, 28295 },
+ { 0x008D, 28378 },
+ { 0x008E, 28364 },
+ { 0x008F, 29903 },
+ { 0x0090, 28685 },
+ { 0x0091, 28831 },
+ { 0x0092, 28813 },
+ { 0x0093, 28959 },
+ { 0x0094, 28837 },
+ { 0x0095, 28945 },
+ { 0x0096, 112220 },
+ { 0x0097, 28924 },
+ { 0x0098, 29430 },
+ { 0x0099, 29412 },
+ { 0x009A, 29543 },
+ { 0x009B, 29498 },
+ { 0x009C, 29688 },
+ { 0x009D, 30018 },
+ { 0x009E, 26600 },
+ { 0x009F, 23447 },
+ { 0x00A0, 23387 },
+ { 0x00A1, 23520 },
+ { 0x00A2, 23461 },
+ { 0x00A3, 23499 },
+ { 0x00A4, 23364 },
+ { 0x00A5, 26109 },
+ { 0x00A6, 23683 },
+ { 0x00A7, 23849 },
+ { 0x00A8, 23831 },
+ { 0x00A9, 23955 },
+ { 0x00AA, 23942 },
+ { 0x00AB, 24237 },
+ { 0x00AC, 24219 },
+ { 0x00AD, 24309 },
+ { 0x00AE, 24288 },
+ { 0x00AF, 26326 },
+ { 0x00B0, 24691 },
+ { 0x00B1, 24879 },
+ { 0x00B2, 24861 },
+ { 0x00B3, 25000 },
+ { 0x00B4, 24885 },
+ { 0x00B5, 24986 },
+ { 0x00B6, 72177 },
+ { 0x00B7, 24965 },
+ { 0x00B8, 25608 },
+ { 0x00B9, 25590 },
+ { 0x00BA, 25736 },
+ { 0x00BB, 25684 },
+ { 0x00BC, 25960 },
+ { 0x00BD, 26611 },
+ { 0x00BE, 25998 },
+ { 0x00BF, 27652 },
+ { 0x00C0, 23474 },
+ { 0x00C1, 27579 },
+ { 0x00C2, 23393 },
+ { 0x00C3, 27658 },
+ { 0x00C4, 23480 },
+ { 0x00C5, 27811 },
+ { 0x00C6, 23665 },
+ { 0x00C7, 27843 },
+ { 0x00C8, 23704 },
+ { 0x00C9, 27798 },
+ { 0x00CA, 23646 },
+ { 0x00CB, 27817 },
+ { 0x00CC, 23671 },
+ { 0x00CD, 27880 },
+ { 0x00CE, 23761 },
+ { 0x00CF, 27904 },
+ { 0x00D0, 23774 },
+ { 0x00D1, 27998 },
+ { 0x00D2, 23881 },
+ { 0x00D3, 27960 },
+ { 0x00D4, 23837 },
+ { 0x00D5, 27933 },
+ { 0x00D6, 23810 },
+ { 0x00D7, 28020 },
+ { 0x00D8, 23903 },
+ { 0x00D9, 27966 },
+ { 0x00DA, 23843 },
+ { 0x00DB, 28197 },
+ { 0x00DC, 24114 },
+ { 0x00DD, 28160 },
+ { 0x00DE, 24070 },
+ { 0x00DF, 28141 },
+ { 0x00E0, 24051 },
+ { 0x00E1, 28184 },
+ { 0x00E2, 24094 },
+ { 0x00E3, 28264 },
+ { 0x00E4, 24195 },
+ { 0x00E5, 28240 },
+ { 0x00E6, 24164 },
+ { 0x00E7, 28319 },
+ { 0x00E8, 24243 },
+ { 0x00E9, 28339 },
+ { 0x00EA, 24263 },
+ { 0x00EB, 28301 },
+ { 0x00EC, 24225 },
+ { 0x00ED, 28345 },
+ { 0x00EE, 24269 },
+ { 0x00EF, 28274 },
+ { 0x00F0, 26892 },
+ { 0x00F1, 30212 },
+ { 0x00F2, 27176 },
+ { 0x00F3, 28394 },
+ { 0x00F4, 24331 },
+ { 0x00F5, 28457 },
+ { 0x00F6, 24394 },
+ { 0x00F7, 26368 },
+ { 0x00F8, 28529 },
+ { 0x00F9, 24479 },
+ { 0x00FA, 28576 },
+ { 0x00FB, 24533 },
+ { 0x00FC, 28535 },
+ { 0x00FD, 24485 },
+ { 0x00FE, 28556 },
+ { 0x00FF, 24506 },
+ { 0x0100, 28570 },
+ { 0x0101, 24527 },
+ { 0x0102, 28659 },
+ { 0x0103, 24673 },
+ { 0x0104, 28691 },
+ { 0x0105, 24704 },
+ { 0x0106, 28665 },
+ { 0x0107, 24679 },
+ { 0x0108, 24750 },
+ { 0x0109, 29895 },
+ { 0x010A, 26292 },
+ { 0x010B, 28881 },
+ { 0x010C, 24929 },
+ { 0x010D, 28819 },
+ { 0x010E, 24867 },
+ { 0x010F, 28867 },
+ { 0x0110, 24915 },
+ { 0x0111, 30216 },
+ { 0x0112, 27180 },
+ { 0x0113, 29116 },
+ { 0x0114, 25191 },
+ { 0x0115, 29141 },
+ { 0x0116, 25223 },
+ { 0x0117, 29122 },
+ { 0x0118, 25197 },
+ { 0x0119, 29194 },
+ { 0x011A, 25316 },
+ { 0x011B, 29251 },
+ { 0x011C, 25387 },
+ { 0x011D, 29238 },
+ { 0x011E, 25367 },
+ { 0x011F, 29209 },
+ { 0x0120, 25331 },
+ { 0x0121, 29307 },
+ { 0x0122, 25456 },
+ { 0x0123, 29288 },
+ { 0x0124, 25430 },
+ { 0x0125, 29301 },
+ { 0x0126, 25450 },
+ { 0x0127, 29436 },
+ { 0x0128, 25622 },
+ { 0x0129, 29471 },
+ { 0x012A, 25657 },
+ { 0x012B, 29418 },
+ { 0x012C, 25596 },
+ { 0x012D, 29405 },
+ { 0x012E, 25583 },
+ { 0x012F, 29457 },
+ { 0x0130, 25643 },
+ { 0x0131, 29485 },
+ { 0x0132, 25671 },
+ { 0x0133, 29628 },
+ { 0x0134, 25848 },
+ { 0x0135, 29724 },
+ { 0x0136, 26004 },
+ { 0x0137, 29718 },
+ { 0x0138, 29761 },
+ { 0x0139, 26047 },
+ { 0x013A, 29734 },
+ { 0x013B, 26014 },
+ { 0x013C, 29767 },
+ { 0x013D, 26053 },
+ { 0x013E, 26450 },
+ { 0x013F, 23611 },
+ { 0x0140, 27757 },
+ { 0x0141, 27776 },
+ { 0x0142, 23617 },
+ { 0x0143, 29958 },
+ { 0x0144, 26527 },
+ { 0x0145, 29953 },
+ { 0x0146, 27805 },
+ { 0x0147, 23659 },
+ { 0x0148, 30092 },
+ { 0x0149, 27867 },
+ { 0x014A, 27910 },
+ { 0x014B, 23780 },
+ { 0x014C, 26881 },
+ { 0x014D, 30158 },
+ { 0x014E, 30001 },
+ { 0x014F, 29948 },
+ { 0x0150, 28125 },
+ { 0x0151, 24021 },
+ { 0x0152, 28148 },
+ { 0x0153, 29989 },
+ { 0x0154, 26179 },
+ { 0x0155, 29944 },
+ { 0x0156, 28351 },
+ { 0x0157, 28417 },
+ { 0x0158, 24354 },
+ { 0x0159, 24431 },
+ { 0x015A, 26685 },
+ { 0x015B, 30066 },
+ { 0x015C, 28637 },
+ { 0x015D, 24665 },
+ { 0x015E, 28903 },
+ { 0x015F, 28751 },
+ { 0x0160, 24799 },
+ { 0x0161, 29867 },
+ { 0x0162, 26205 },
+ { 0x0163, 29018 },
+ { 0x0164, 25059 },
+ { 0x0165, 27202 },
+ { 0x0166, 29963 },
+ { 0x0167, 26532 },
+ { 0x0168, 29899 },
+ { 0x0169, 27487 },
+ { 0x016A, 25462 },
+ { 0x016B, 29275 },
+ { 0x016C, 25417 },
+ { 0x016D, 29320 },
+ { 0x016E, 29357 },
+ { 0x016F, 25528 },
+ { 0x0170, 30132 },
+ { 0x0171, 29567 },
+ { 0x0172, 29669 },
+ { 0x0173, 25934 },
+ { 0x0174, 29780 },
+ { 0x0175, 26073 },
+ { 0x0176, 29907 },
+ { 0x0177, 29917 },
+ { 0x0178, 26359 },
+ { 0x0179, 26340 },
+ { 0x017A, 27208 },
+ { 0x017B, 29968 },
+ { 0x017C, 26537 },
+ { 0x017D, 27480 },
+ { 0x017E, 27213 },
+ { 0x017F, 27436 },
+ { 0x0180, 27455 },
+ { 0x0181, 27459 },
+ { 0x0182, 27499 },
+ { 0x0183, 29845 },
+ { 0x0184, 27894 },
+ { 0x0185, 26157 },
+ { 0x0186, 29859 },
+ { 0x0187, 28541 },
+ { 0x0188, 26187 },
+ { 0x0189, 29863 },
+ { 0x018A, 28677 },
+ { 0x018B, 26201 },
+ { 0x018C, 27627 },
+ { 0x018D, 23441 },
+ { 0x018E, 28307 },
+ { 0x018F, 24231 },
+ { 0x0190, 28825 },
+ { 0x0191, 24873 },
+ { 0x0192, 29424 },
+ { 0x0193, 25602 },
+ { 0x0194, 29528 },
+ { 0x0195, 25714 },
+ { 0x0196, 29504 },
+ { 0x0197, 25690 },
+ { 0x0198, 29512 },
+ { 0x0199, 25698 },
+ { 0x019A, 29520 },
+ { 0x019B, 25706 },
+ { 0x019C, 26720 },
+ { 0x019D, 27683 },
+ { 0x019E, 23505 },
+ { 0x019F, 27527 },
+ { 0x01A0, 23341 },
+ { 0x01A1, 29812 },
+ { 0x01A2, 26119 },
+ { 0x01A3, 28178 },
+ { 0x01A4, 24088 },
+ { 0x01A5, 28166 },
+ { 0x01A6, 24076 },
+ { 0x01A7, 28436 },
+ { 0x01A8, 24373 },
+ { 0x01A9, 28910 },
+ { 0x01AA, 24951 },
+ { 0x01AB, 28916 },
+ { 0x01AC, 24957 },
+ { 0x01AD, 29911 },
+ { 0x01AE, 26346 },
+ { 0x01AF, 24319 },
+ { 0x01B0, 29841 },
+ { 0x01B1, 27886 },
+ { 0x01B2, 26153 },
+ { 0x01B3, 28154 },
+ { 0x01B4, 24064 },
+ { 0x01B5, 29993 },
+ { 0x01B6, 29977 },
+ { 0x01B7, 28671 },
+ { 0x01B8, 24685 },
+ { 0x01B9, 27557 },
+ { 0x01BA, 23371 },
+ { 0x01BB, 29806 },
+ { 0x01BC, 26113 },
+ { 0x01BD, 28930 },
+ { 0x01BE, 24971 },
+ { 0x01BF, 27645 },
+ { 0x01C0, 23467 },
+ { 0x01C1, 27670 },
+ { 0x01C2, 23492 },
+ { 0x01C3, 27991 },
+ { 0x01C4, 23874 },
+ { 0x01C5, 28046 },
+ { 0x01C6, 23935 },
+ { 0x01C7, 28332 },
+ { 0x01C8, 24256 },
+ { 0x01C9, 28357 },
+ { 0x01CA, 24281 },
+ { 0x01CB, 28874 },
+ { 0x01CC, 24922 },
+ { 0x01CD, 28938 },
+ { 0x01CE, 24979 },
+ { 0x01CF, 29128 },
+ { 0x01D0, 25203 },
+ { 0x01D1, 29154 },
+ { 0x01D2, 25258 },
+ { 0x01D3, 29464 },
+ { 0x01D4, 25650 },
+ { 0x01D5, 29491 },
+ { 0x01D6, 25677 },
+ { 0x01D7, 29224 },
+ { 0x01D8, 25346 },
+ { 0x01D9, 29294 },
+ { 0x01DA, 25436 },
+ { 0x01DB, 29981 },
+ { 0x01DC, 26546 },
+ { 0x01DD, 28234 },
+ { 0x01DE, 24158 },
+ { 0x01DF, 28651 },
+ { 0x01E0, 23728 },
+ { 0x01E1, 29875 },
+ { 0x01E2, 26213 },
+ { 0x01E3, 29748 },
+ { 0x01E4, 26034 },
+ { 0x01E5, 27520 },
+ { 0x01E6, 23334 },
+ { 0x01E7, 28032 },
+ { 0x01E8, 23915 },
+ { 0x01E9, 28951 },
+ { 0x01EA, 24992 },
+ { 0x01EB, 28851 },
+ { 0x01EC, 24899 },
+ { 0x01ED, 28721 },
+ { 0x01EE, 24761 },
+ { 0x01EF, 28728 },
+ { 0x01F0, 24768 },
+ { 0x01F1, 29706 },
+ { 0x01F2, 25986 },
+ { 0x01F3, 24459 },
+ { 0x01F4, 24645 },
+ { 0x01F5, 25411 },
+ { 0x01F6, 26897 },
+ { 0x01F7, 26148 },
+ { 0x01F8, 26217 },
+ { 0x01F9, 27664 },
+ { 0x01FA, 27823 },
+ { 0x01FB, 23677 },
+ { 0x01FC, 28487 },
+ { 0x01FD, 29313 },
+ { 0x01FE, 25353 },
+ { 0x01FF, 26059 },
+ { 0x0200, 30097 },
+ { 0x0201, 26918 },
+ { 0x0202, 27770 },
+ { 0x0203, 29338 },
+ { 0x0204, 30076 },
+ { 0x0205, 28026 },
+ { 0x0206, 23909 },
+ { 0x0207, 28388 },
+ { 0x0208, 24325 },
+ { 0x0209, 30010 },
+ { 0x020A, 25122 },
+ { 0x020B, 29135 },
+ { 0x020C, 25217 },
+ { 0x020D, 29712 },
+ { 0x020E, 25992 },
+ { 0x020F, 26715 },
+ { 0x0210, 26550 },
+ { 0x0211, 26876 },
+ { 0x0212, 23591 },
+ { 0x0213, 26492 },
+ { 0x0214, 23653 },
+ { 0x0215, 23755 },
+ { 0x0216, 23734 },
+ { 0x0217, 27015 },
+ { 0x0218, 26583 },
+ { 0x0219, 26587 },
+ { 0x021A, 26479 },
+ { 0x021B, 27027 },
+ { 0x021C, 27033 },
+ { 0x021D, 26666 },
+ { 0x021E, 26902 },
+ { 0x021F, 24058 },
+ { 0x0220, 26691 },
+ { 0x0221, 27246 },
+ { 0x0222, 26565 },
+ { 0x0223, 26517 },
+ { 0x0224, 26730 },
+ { 0x0225, 24138 },
+ { 0x0226, 26430 },
+ { 0x0227, 24275 },
+ { 0x0228, 26436 },
+ { 0x0229, 27263 },
+ { 0x022A, 24520 },
+ { 0x022B, 24453 },
+ { 0x022C, 24554 },
+ { 0x022D, 26446 },
+ { 0x022E, 26766 },
+ { 0x022F, 26771 },
+ { 0x0230, 24595 },
+ { 0x0231, 24651 },
+ { 0x0232, 24730 },
+ { 0x0233, 27295 },
+ { 0x0234, 26634 },
+ { 0x0235, 27363 },
+ { 0x0236, 26661 },
+ { 0x0237, 26384 },
+ { 0x0238, 26793 },
+ { 0x0239, 26805 },
+ { 0x023A, 26798 },
+ { 0x023B, 25178 },
+ { 0x023C, 25185 },
+ { 0x023D, 25243 },
+ { 0x023E, 27020 },
+ { 0x023F, 27310 },
+ { 0x0240, 27418 },
+ { 0x0241, 25310 },
+ { 0x0242, 26302 },
+ { 0x0243, 26909 },
+ { 0x0244, 26605 },
+ { 0x0245, 26306 },
+ { 0x0246, 26820 },
+ { 0x0247, 25482 },
+ { 0x0248, 25500 },
+ { 0x0249, 26958 },
+ { 0x024A, 25766 },
+ { 0x024B, 26825 },
+ { 0x024C, 26830 },
+ { 0x024D, 26835 },
+ { 0x024E, 27348 },
+ { 0x024F, 26092 },
+ { 0x0250, 26028 },
+ { 0x0251, 26330 },
+ { 0x0252, 26334 },
+ { 0x0253, 27445 },
+ { 0x0254, 27507 },
+ { 0x0255, 27475 },
+ { 0x0256, 27503 },
+ { 0x0257, 27467 },
+ { 0x0258, 27221 },
+ { 0x0259, 26655 },
+ { 0x025A, 27251 },
+ { 0x025B, 27258 },
+ { 0x025C, 24337 },
+ { 0x025D, 26756 },
+ { 0x025E, 27278 },
+ { 0x025F, 25116 },
+ { 0x0260, 27449 },
+ { 0x0261, 27492 },
+ { 0x0262, 26163 },
+ { 0x0263, 26411 },
+ { 0x0264, 26168 },
+ { 0x0265, 26235 },
+ { 0x0266, 26522 },
+ { 0x0267, 26222 },
+ { 0x0268, 26416 },
+ { 0x0269, 26191 },
+ { 0x026A, 26196 },
+ { 0x026B, 27471 },
+ { 0x026C, 27463 },
+ { 0x026D, 26735 },
+ { 0x026E, 26742 },
+ { 0x026F, 81174 },
+ { 0x0270, 81178 },
+ { 0x0271, 81190 },
+ { 0x0272, 81269 },
+ { 0x0273, 81479 },
+ { 0x0274, 81484 },
+ { 0x0275, 81539 },
+ { 0x0276, 81320 },
+ { 0x0277, 81328 },
+ { 0x0278, 81120 },
+ { 0x0279, 81578 },
+ { 0x027A, 81647 },
+ { 0x027B, 81878 },
+ { 0x027C, 81841 },
+ { 0x027D, 81123 },
+ { 0x027E, 81062 },
+ { 0x027F, 81816 },
+ { 0x0280, 81845 },
+ { 0x0281, 81067 },
+ { 0x0282, 81128 },
+ { 0x0283, 80877 },
+ { 0x0284, 81029 },
+ { 0x0285, 81881 },
+ { 0x0286, 18666 },
+ { 0x0287, 81850 },
+ { 0x0288, 81586 },
+ { 0x0289, 81085 },
+ { 0x028A, 81106 },
+ { 0x028B, 80979 },
+ { 0x028C, 80969 },
+ { 0x028D, 80942 },
+ { 0x028E, 80937 },
+ { 0x028F, 81909 },
+ { 0x0290, 81033 },
+ { 0x0291, 81762 },
+ { 0x0292, 81756 },
+ { 0x0293, 80873 },
+ { 0x0294, 81025 },
+ { 0x0295, 81075 },
+ { 0x0296, 81116 },
+ { 0x0297, 18592 },
+ { 0x0298, 5899 },
+ { 0x0299, 14290 },
+ { 0x029A, 51715 },
+ { 0x029B, 33495 },
+ { 0x029C, 44939 },
+ { 0x029D, 81631 },
+ { 0x029E, 81102 },
+ { 0x029F, 81413 },
+ { 0x02A0, 81204 },
+ { 0x02A1, 81273 },
+ { 0x02A2, 81324 },
+ { 0x02A3, 81567 },
+ { 0x02A4, 81885 },
+ { 0x02A5, 81038 },
+ { 0x02A6, 80995 },
+ { 0x02A7, 80932 },
+ { 0x02A8, 81854 },
+ { 0x02A9, 81019 },
+ { 0x02AA, 81079 },
+ { 0x02AB, 81820 },
+ { 0x02AC, 81913 },
+ { 0x02AD, 81582 },
+ { 0x02AE, 80913 },
+ { 0x02AF, 80908 },
+ { 0x02B0, 80923 },
+ { 0x02B1, 80947 },
+ { 0x02B2, 80928 },
+ { 0x02B3, 81589 },
+ { 0x02B4, 81600 },
+ { 0x02B5, 81594 },
+ { 0x02B6, 80952 },
+ { 0x02B7, 81616 },
+ { 0x02B8, 81094 },
+ { 0x02B9, 80903 },
+ { 0x02BA, 81089 },
+ { 0x02BB, 80898 },
+ { 0x02BC, 81132 },
+ { 0x02BD, 81071 },
+ { 0x02BE, 80918 },
+ { 0x02BF, 87402 },
+ { 0x02C0, 87371 },
+ { 0x02C1, 88396 },
+ { 0x02C2, 87782 },
+ { 0x02C3, 87916 },
+ { 0x02C4, 88325 },
+ { 0x02C5, 87378 },
+ { 0x02C6, 87218 },
+ { 0x02C7, 88350 },
+ { 0x02C8, 87271 },
+ { 0x02C9, 87354 },
+ { 0x02CA, 87837 },
+ { 0x02CB, 87383 },
+ { 0x02CC, 88331 },
+ { 0x02CD, 87884 },
+ { 0x02CE, 87848 },
+ { 0x02CF, 88494 },
+ { 0x02D0, 88291 },
+ { 0x02D1, 87958 },
+ { 0x02D2, 87388 },
+ { 0x02D3, 88327 },
+ { 0x02D4, 87391 },
+ { 0x02D5, 87405 },
+ { 0x02D6, 87374 },
+ { 0x02D7, 87286 },
+ { 0x02D8, 87724 },
+ { 0x02D9, 87290 },
+ { 0x02DA, 87274 },
+ { 0x02DB, 87281 },
+ { 0x02DC, 87208 },
+ { 0x02DD, 87263 },
+ { 0x02DE, 87350 },
+ { 0x02DF, 87710 },
+ { 0x02E0, 88496 },
+ { 0x02E1, 88392 },
+ { 0x02E2, 87225 },
+ { 0x02E3, 88352 },
+ { 0x02E4, 87357 },
+ { 0x02E5, 87395 },
+ { 0x02E6, 87975 },
+ { 0x02E7, 87939 },
+ { 0x02E8, 88335 },
+ { 0x02E9, 87813 },
+ { 0x02EA, 88302 },
+ { 0x02EB, 87385 },
+ { 0x02EC, 88399 },
+ { 0x02ED, 87380 },
+ { 0x02EE, 88294 },
+ { 0x02EF, 87789 },
+ { 0x02F0, 87927 },
+ { 0x02F1, 87228 },
+ { 0x02F2, 87824 },
+ { 0x02F3, 87797 },
+ { 0x02F4, 87762 },
+ { 0x02F5, 87333 },
+ { 0x02F6, 87766 },
+ { 0x02F7, 87337 },
+ { 0x02F8, 87719 },
+ { 0x02F9, 88298 },
+ { 0x02FA, 87944 },
+ { 0x02FB, 88035 },
+ { 0x02FC, 87195 },
+ { 0x02FD, 88339 },
+ { 0x02FE, 87881 },
+ { 0x02FF, 87398 },
+ { 0x0300, 87367 },
+ { 0x0301, 87428 },
+ { 0x0302, 87409 },
+ { 0x0303, 87424 },
+ { 0x0304, 87431 },
+ { 0x0305, 87810 },
+ { 0x0306, 87912 },
+ { 0x0307, 87889 },
+ { 0x0308, 87294 },
+ { 0x0309, 87231 },
+ { 0x030A, 88482 },
+ { 0x030B, 87800 },
+ { 0x030C, 87311 },
+ { 0x030D, 88038 },
+ { 0x030E, 88286 },
+ { 0x030F, 87754 },
+ { 0x0310, 87276 },
+ { 0x0311, 87981 },
+ { 0x0312, 87198 },
+ { 0x0313, 87324 },
+ { 0x0314, 87758 },
+ { 0x0315, 87740 },
+ { 0x0316, 87714 },
+ { 0x0317, 87221 },
+ { 0x0318, 88045 },
+ { 0x0319, 87833 },
+ { 0x031A, 87966 },
+ { 0x031B, 87844 },
+ { 0x031C, 87841 },
+ { 0x031D, 87865 },
+ { 0x031E, 87868 },
+ { 0x031F, 87852 },
+ { 0x0320, 87872 },
+ { 0x0321, 87903 },
+ { 0x0322, 87434 },
+ { 0x0323, 87467 },
+ { 0x0324, 87487 },
+ { 0x0325, 87521 },
+ { 0x0326, 87574 },
+ { 0x0327, 87451 },
+ { 0x0328, 87462 },
+ { 0x0329, 87482 },
+ { 0x032A, 87511 },
+ { 0x032B, 87547 },
+ { 0x032C, 87569 },
+ { 0x032D, 87595 },
+ { 0x032E, 87605 },
+ { 0x032F, 20810 },
+ { 0x0330, 19475 },
+ { 0x0331, 21282 },
+ { 0x0332, 20067 },
+ { 0x0333, 21524 },
+ { 0x0334, 19197 },
+ { 0x0335, 21489 },
+ { 0x0336, 20346 },
+ { 0x0337, 22015 },
+ { 0x0338, 20358 },
+ { 0x0339, 19215 },
+ { 0x033A, 20351 },
+ { 0x033B, 21549 },
+ { 0x033C, 20802 },
+ { 0x033D, 20375 },
+ { 0x033E, 21576 },
+ { 0x033F, 21064 },
+ { 0x0340, 19116 },
+ { 0x0341, 21341 },
+ { 0x0342, 20754 },
+ { 0x0343, 20884 },
+ { 0x0344, 21407 },
+ { 0x0345, 21459 },
+ { 0x0346, 21256 },
+ { 0x0347, 19587 },
+ { 0x0348, 20918 },
+ { 0x0349, 20806 },
+ { 0x034A, 21098 },
+ { 0x034B, 21094 },
+ { 0x034C, 21287 },
+ { 0x034D, 20914 },
+ { 0x034E, 20608 },
+ { 0x034F, 21278 },
+ { 0x0350, 20814 },
+ { 0x0351, 21102 },
+ { 0x0352, 21106 },
+ { 0x0353, 20588 },
+ { 0x0354, 20592 },
+ { 0x0355, 20600 },
+ { 0x0356, 21353 },
+ { 0x0357, 20596 },
+ { 0x0358, 20780 },
+ { 0x0359, 21274 },
+ { 0x035A, 20798 },
+ { 0x035B, 21419 },
+ { 0x035C, 20772 },
+ { 0x035D, 20604 },
+ { 0x035E, 20776 },
+ { 0x035F, 21110 },
+ { 0x0360, 20908 },
+ { 0x0361, 21483 },
+ { 0x0362, 19775 },
+ { 0x0363, 20130 },
+ { 0x0364, 19395 },
+ { 0x0365, 19549 },
+ { 0x0366, 20316 },
+ { 0x0367, 19621 },
+ { 0x0368, 19471 },
+ { 0x0369, 19836 },
+ { 0x036A, 19827 },
+ { 0x036B, 20076 },
+ { 0x036C, 19617 },
+ { 0x036D, 19241 },
+ { 0x036E, 20054 },
+ { 0x036F, 19479 },
+ { 0x0370, 19840 },
+ { 0x0371, 19848 },
+ { 0x0372, 19221 },
+ { 0x0373, 19225 },
+ { 0x0374, 19233 },
+ { 0x0375, 20142 },
+ { 0x0376, 19229 },
+ { 0x0377, 19443 },
+ { 0x0378, 19831 },
+ { 0x0379, 20050 },
+ { 0x037A, 19467 },
+ { 0x037B, 20208 },
+ { 0x037C, 19435 },
+ { 0x037D, 19237 },
+ { 0x037E, 19439 },
+ { 0x037F, 19852 },
+ { 0x0380, 19573 },
+ { 0x0381, 20302 },
+ { 0x0382, 20196 },
+ { 0x0383, 20278 },
+ { 0x0384, 20006 },
+ { 0x0385, 20574 },
+ { 0x0386, 19155 },
+ { 0x0387, 20364 },
+ { 0x0388, 21527 },
+ { 0x0389, 21532 },
+ { 0x038A, 21539 },
+ { 0x038B, 19136 },
+ { 0x038C, 19113 },
+ { 0x038D, 19119 },
+ { 0x038E, 20546 },
+ { 0x038F, 20062 },
+ { 0x0390, 20543 },
+ { 0x0391, 20058 },
+ { 0x0392, 20550 },
+ { 0x0393, 20072 },
+ { 0x0394, 20507 },
+ { 0x0395, 19844 },
+ { 0x0396, 20510 },
+ { 0x0397, 20046 },
+ { 0x0398, 44384 },
+ { 0x0399, 44076 },
+ { 0x039A, 44246 },
+ { 0x039B, 43938 },
+ { 0x039C, 44380 },
+ { 0x039D, 44072 },
+ { 0x039E, 44372 },
+ { 0x039F, 44064 },
+ { 0x03A0, 44424 },
+ { 0x03A1, 44116 },
+ { 0x03A2, 44420 },
+ { 0x03A3, 44112 },
+ { 0x03A4, 44238 },
+ { 0x03A5, 43930 },
+ { 0x03A6, 19191 },
+ { 0x03A7, 19144 },
+ { 0x03A8, 20553 },
+ { 0x03A9, 20504 },
+ { 0x03AA, 20578 },
+ { 0x03AB, 20557 },
+ { 0x03AC, 21552 },
+ { 0x03AD, 20794 },
+ { 0x03AE, 19463 },
+ { 0x03AF, 21494 },
+ { 0x03B0, 20790 },
+ { 0x03B1, 19459 },
+ { 0x03B2, 19139 },
+ { 0x03B3, 21506 },
+ { 0x03B4, 20582 },
+ { 0x03B5, 21499 },
+ { 0x03B6, 71451 },
+ { 0x03B7, 71457 },
+ { 0x03B8, 71608 },
+ { 0x03B9, 71657 },
+ { 0x03BA, 72129 },
+ { 0x03BB, 71616 },
+ { 0x03BC, 72139 },
+ { 0x03BD, 71552 },
+ { 0x03BE, 71461 },
+ { 0x03BF, 71677 },
+ { 0x03C0, 71681 },
+ { 0x03C1, 71846 },
+ { 0x03C2, 71665 },
+ { 0x03C3, 71261 },
+ { 0x03C4, 71946 },
+ { 0x03C5, 71743 },
+ { 0x03C6, 71231 },
+ { 0x03C7, 71312 },
+ { 0x03C8, 71540 },
+ { 0x03C9, 71620 },
+ { 0x03CA, 71316 },
+ { 0x03CB, 71441 },
+ { 0x03CC, 71713 },
+ { 0x03CD, 71564 },
+ { 0x03CE, 71257 },
+ { 0x03CF, 71934 },
+ { 0x03D0, 71465 },
+ { 0x03D1, 71324 },
+ { 0x03D2, 71353 },
+ { 0x03D3, 71363 },
+ { 0x03D4, 71279 },
+ { 0x03D5, 71498 },
+ { 0x03D6, 71399 },
+ { 0x03D7, 71409 },
+ { 0x03D8, 71519 },
+ { 0x03D9, 71289 },
+ { 0x03DA, 71320 },
+ { 0x03DB, 71419 },
+ { 0x03DC, 71697 },
+ { 0x03DD, 71585 },
+ { 0x03DE, 71693 },
+ { 0x03DF, 71930 },
+ { 0x03E0, 71759 },
+ { 0x03E1, 71858 },
+ { 0x03E2, 71837 },
+ { 0x03E3, 71247 },
+ { 0x03E4, 71560 },
+ { 0x03E5, 71548 },
+ { 0x03E6, 70285 },
+ { 0x03E7, 70366 },
+ { 0x03E8, 70594 },
+ { 0x03E9, 70674 },
+ { 0x03EA, 70370 },
+ { 0x03EB, 70495 },
+ { 0x03EC, 70767 },
+ { 0x03ED, 70618 },
+ { 0x03EE, 70311 },
+ { 0x03EF, 70988 },
+ { 0x03F0, 70519 },
+ { 0x03F1, 70378 },
+ { 0x03F2, 70407 },
+ { 0x03F3, 70417 },
+ { 0x03F4, 70333 },
+ { 0x03F5, 70552 },
+ { 0x03F6, 70453 },
+ { 0x03F7, 70463 },
+ { 0x03F8, 70573 },
+ { 0x03F9, 70343 },
+ { 0x03FA, 70374 },
+ { 0x03FB, 70473 },
+ { 0x03FC, 70751 },
+ { 0x03FD, 70639 },
+ { 0x03FE, 70747 },
+ { 0x03FF, 70984 },
+ { 0x0400, 70813 },
+ { 0x0401, 70912 },
+ { 0x0402, 70891 },
+ { 0x0403, 70301 },
+ { 0x0404, 70614 },
+ { 0x0405, 70602 },
+ { 0x0406, 70505 },
+ { 0x0407, 70511 },
+ { 0x0408, 70662 },
+ { 0x0409, 70711 },
+ { 0x040A, 71187 },
+ { 0x040B, 70670 },
+ { 0x040C, 71197 },
+ { 0x040D, 70606 },
+ { 0x040E, 70515 },
+ { 0x040F, 70731 },
+ { 0x0410, 70735 },
+ { 0x0411, 70900 },
+ { 0x0412, 70719 },
+ { 0x0413, 70315 },
+ { 0x0414, 71000 },
+ { 0x0415, 70797 },
+ { 0x0416, 71905 },
+ { 0x0417, 70959 },
+ { 0x0418, 71709 },
+ { 0x0419, 70763 },
+ { 0x041A, 72026 },
+ { 0x041B, 71080 },
+ { 0x041C, 71980 },
+ { 0x041D, 71034 },
+ { 0x041E, 72049 },
+ { 0x041F, 71103 },
+ { 0x0420, 71580 },
+ { 0x0421, 70634 },
+ { 0x0422, 72031 },
+ { 0x0423, 71085 },
+ { 0x0424, 71669 },
+ { 0x0425, 70723 },
+ { 0x0426, 71685 },
+ { 0x0427, 70739 },
+ { 0x0428, 71755 },
+ { 0x0429, 70809 },
+ { 0x042A, 72004 },
+ { 0x042B, 71058 },
+ { 0x042C, 72008 },
+ { 0x042D, 71062 },
+ { 0x042E, 71536 },
+ { 0x042F, 70590 },
+ { 0x0430, 71915 },
+ { 0x0431, 70969 },
+ { 0x0432, 71909 },
+ { 0x0433, 70963 },
+ { 0x0434, 71494 },
+ { 0x0435, 70548 },
+ { 0x0436, 71901 },
+ { 0x0437, 70955 },
+ { 0x0438, 72161 },
+ { 0x0439, 88061 },
+ { 0x043A, 88283 },
+ { 0x043B, 88053 },
+ { 0x043C, 88057 },
+ { 0x043D, 88275 },
+ { 0x043E, 88263 },
+ { 0x043F, 88271 },
+ { 0x0440, 71939 },
+ { 0x0441, 70993 },
+ { 0x0442, 72075 },
+ { 0x0443, 71133 },
+ { 0x0444, 71403 },
+ { 0x0445, 70457 },
+ { 0x0446, 71645 },
+ { 0x0447, 70699 },
+ { 0x0448, 71631 },
+ { 0x0449, 70685 },
+ { 0x044A, 71624 },
+ { 0x044B, 70678 },
+ { 0x044C, 71723 },
+ { 0x044D, 70777 },
+ { 0x044E, 71568 },
+ { 0x044F, 70622 },
+ { 0x0450, 71488 },
+ { 0x0451, 70542 },
+ { 0x0452, 71481 },
+ { 0x0453, 70535 },
+ { 0x0454, 71475 },
+ { 0x0455, 70529 },
+ { 0x0456, 71989 },
+ { 0x0457, 71043 },
+ { 0x0458, 71393 },
+ { 0x0459, 70447 },
+ { 0x045A, 72149 },
+ { 0x045B, 71207 },
+ { 0x045C, 71502 },
+ { 0x045D, 70556 },
+ { 0x045E, 72092 },
+ { 0x045F, 71150 },
+ { 0x0460, 71413 },
+ { 0x0461, 70467 },
+ { 0x0462, 71530 },
+ { 0x0463, 70584 },
+ { 0x0464, 72080 },
+ { 0x0465, 71138 },
+ { 0x0466, 72085 },
+ { 0x0467, 71143 },
+ { 0x0468, 71435 },
+ { 0x0469, 70489 },
+ { 0x046A, 72154 },
+ { 0x046B, 71212 },
+ { 0x046C, 71596 },
+ { 0x046D, 70650 },
+ { 0x046E, 71589 },
+ { 0x046F, 70643 },
+ { 0x0470, 71808 },
+ { 0x0471, 70862 },
+ { 0x0472, 72097 },
+ { 0x0473, 71155 },
+ { 0x0474, 72102 },
+ { 0x0475, 71160 },
+ { 0x0476, 71224 },
+ { 0x0477, 71717 },
+ { 0x0478, 70771 },
+ { 0x0479, 71469 },
+ { 0x047A, 70523 },
+ { 0x047B, 71334 },
+ { 0x047C, 70388 },
+ { 0x047D, 71367 },
+ { 0x047E, 70421 },
+ { 0x047F, 71380 },
+ { 0x0480, 70434 },
+ { 0x0481, 72134 },
+ { 0x0482, 71192 },
+ { 0x0483, 71357 },
+ { 0x0484, 70411 },
+ { 0x0485, 71109 },
+ { 0x0486, 71235 },
+ { 0x0487, 70289 },
+ { 0x0488, 71241 },
+ { 0x0489, 70295 },
+ { 0x048A, 72144 },
+ { 0x048B, 71202 },
+ { 0x048C, 71445 },
+ { 0x048D, 70499 },
+ { 0x048E, 71920 },
+ { 0x048F, 70974 },
+ { 0x0490, 71924 },
+ { 0x0491, 70978 },
+ { 0x0492, 71729 },
+ { 0x0493, 70783 },
+ { 0x0494, 71574 },
+ { 0x0495, 70628 },
+ { 0x0496, 72109 },
+ { 0x0497, 71167 },
+ { 0x0498, 71267 },
+ { 0x0499, 70321 },
+ { 0x049A, 71273 },
+ { 0x049B, 70327 },
+ { 0x049C, 71283 },
+ { 0x049D, 70337 },
+ { 0x049E, 71951 },
+ { 0x049F, 71005 },
+ { 0x04A0, 71956 },
+ { 0x04A1, 71010 },
+ { 0x04A2, 71251 },
+ { 0x04A3, 70305 },
+ { 0x04A4, 71300 },
+ { 0x04A5, 70354 },
+ { 0x04A6, 71306 },
+ { 0x04A7, 70360 },
+ { 0x04A8, 71293 },
+ { 0x04A9, 70347 },
+ { 0x04AA, 71602 },
+ { 0x04AB, 70656 },
+ { 0x04AC, 71651 },
+ { 0x04AD, 70705 },
+ { 0x04AE, 71869 },
+ { 0x04AF, 70923 },
+ { 0x04B0, 71637 },
+ { 0x04B1, 70691 },
+ { 0x04B2, 71423 },
+ { 0x04B3, 70477 },
+ { 0x04B4, 71429 },
+ { 0x04B5, 70483 },
+ { 0x04B6, 71768 },
+ { 0x04B7, 70822 },
+ { 0x04B8, 71773 },
+ { 0x04B9, 70827 },
+ { 0x04BA, 71798 },
+ { 0x04BB, 70852 },
+ { 0x04BC, 71803 },
+ { 0x04BD, 70857 },
+ { 0x04BE, 71778 },
+ { 0x04BF, 70832 },
+ { 0x04C0, 71783 },
+ { 0x04C1, 70837 },
+ { 0x04C2, 71788 },
+ { 0x04C3, 70842 },
+ { 0x04C4, 71793 },
+ { 0x04C5, 70847 },
+ { 0x04C6, 72060 },
+ { 0x04C7, 71118 },
+ { 0x04C8, 71328 },
+ { 0x04C9, 70382 },
+ { 0x04CA, 71673 },
+ { 0x04CB, 70727 },
+ { 0x04CC, 71689 },
+ { 0x04CD, 70743 },
+ { 0x04CE, 71705 },
+ { 0x04CF, 70759 },
+ { 0x04D0, 71515 },
+ { 0x04D1, 70569 },
+ { 0x04D2, 71544 },
+ { 0x04D3, 70598 },
+ { 0x04D4, 71879 },
+ { 0x04D5, 70933 },
+ { 0x04D6, 71340 },
+ { 0x04D7, 70394 },
+ { 0x04D8, 71386 },
+ { 0x04D9, 70440 },
+ { 0x04DA, 71509 },
+ { 0x04DB, 70563 },
+ { 0x04DC, 71812 },
+ { 0x04DD, 70866 },
+ { 0x04DE, 71373 },
+ { 0x04DF, 70427 },
+ { 0x04E0, 71897 },
+ { 0x04E1, 70951 },
+ { 0x04E2, 71739 },
+ { 0x04E3, 70793 },
+ { 0x04E4, 71347 },
+ { 0x04E5, 70401 },
+ { 0x04E6, 66018 },
+ { 0x04E7, 66022 },
+ { 0x04E8, 66038 },
+ { 0x04E9, 65974 },
+ { 0x04EA, 66030 },
+ { 0x04EB, 66014 },
+ { 0x04EC, 65978 },
+ { 0x04ED, 65982 },
+ { 0x04EE, 66002 },
+ { 0x04EF, 66086 },
+ { 0x04F0, 66042 },
+ { 0x04F1, 66102 },
+ { 0x04F2, 66082 },
+ { 0x04F3, 65966 },
+ { 0x04F4, 66050 },
+ { 0x04F5, 65986 },
+ { 0x04F6, 65990 },
+ { 0x04F7, 66094 },
+ { 0x04F8, 66090 },
+ { 0x04F9, 66054 },
+ { 0x04FA, 66010 },
+ { 0x04FB, 66058 },
+ { 0x04FC, 66074 },
+ { 0x04FD, 66006 },
+ { 0x04FE, 66026 },
+ { 0x04FF, 66062 },
+ { 0x0500, 66098 },
+ { 0x0501, 65998 },
+ { 0x0502, 66070 },
+ { 0x0503, 66078 },
+ { 0x0504, 66110 },
+ { 0x0505, 66066 },
+ { 0x0506, 65970 },
+ { 0x0507, 66114 },
+ { 0x0508, 66106 },
+ { 0x0509, 66046 },
+ { 0x050A, 65994 },
+ { 0x050B, 66034 },
+ { 0x050C, 66121 },
+ { 0x050D, 66130 },
+ { 0x050E, 66118 },
+ { 0x050F, 66132 },
+ { 0x0510, 65780 },
+ { 0x0511, 66127 },
+ { 0x0512, 66135 },
+ { 0x0513, 65834 },
+ { 0x0514, 65838 },
+ { 0x0515, 65854 },
+ { 0x0516, 65790 },
+ { 0x0517, 65846 },
+ { 0x0518, 65830 },
+ { 0x0519, 65794 },
+ { 0x051A, 65798 },
+ { 0x051B, 65818 },
+ { 0x051C, 65902 },
+ { 0x051D, 65858 },
+ { 0x051E, 65918 },
+ { 0x051F, 65898 },
+ { 0x0520, 65782 },
+ { 0x0521, 65866 },
+ { 0x0522, 65802 },
+ { 0x0523, 65806 },
+ { 0x0524, 65910 },
+ { 0x0525, 65906 },
+ { 0x0526, 65870 },
+ { 0x0527, 65826 },
+ { 0x0528, 65874 },
+ { 0x0529, 65890 },
+ { 0x052A, 65822 },
+ { 0x052B, 65842 },
+ { 0x052C, 65878 },
+ { 0x052D, 65914 },
+ { 0x052E, 65814 },
+ { 0x052F, 65886 },
+ { 0x0530, 65894 },
+ { 0x0531, 65926 },
+ { 0x0532, 65882 },
+ { 0x0533, 65786 },
+ { 0x0534, 65930 },
+ { 0x0535, 65922 },
+ { 0x0536, 65862 },
+ { 0x0537, 65810 },
+ { 0x0538, 65850 },
+ { 0x0539, 65934 },
+ { 0x053A, 65777 },
+ { 0x053B, 65964 },
+ { 0x053C, 111211 },
+ { 0x053D, 102545 },
+ { 0x053E, 65774 },
+ { 0x053F, 46907 },
+ { 0x0540, 46855 },
+ { 0x0541, 46924 },
+ { 0x0542, 46873 },
+ { 0x0543, 46869 },
+ { 0x0544, 46904 },
+ { 0x0545, 46852 },
+ { 0x0546, 46877 },
+ { 0x0547, 46897 },
+ { 0x0548, 46866 },
+ { 0x0549, 46858 },
+ { 0x054A, 46883 },
+ { 0x054B, 46886 },
+ { 0x054C, 46921 },
+ { 0x054D, 46900 },
+ { 0x054E, 46910 },
+ { 0x054F, 46846 },
+ { 0x0550, 46836 },
+ { 0x0551, 46843 },
+ { 0x0552, 46918 },
+ { 0x0553, 46890 },
+ { 0x0554, 46893 },
+ { 0x0555, 46840 },
+ { 0x0556, 46849 },
+ { 0x0557, 46914 },
+ { 0x0558, 46861 },
+ { 0x0559, 46827 },
+ { 0x055A, 46833 },
+ { 0x055B, 46830 },
+ { 0x055C, 46880 },
+ { 0x055D, 46754 },
+ { 0x055E, 46802 },
+ { 0x055F, 46773 },
+ { 0x0560, 46769 },
+ { 0x0561, 46777 },
+ { 0x0562, 46781 },
+ { 0x0563, 46805 },
+ { 0x0564, 46799 },
+ { 0x0565, 46796 },
+ { 0x0566, 46813 },
+ { 0x0567, 46784 },
+ { 0x0568, 46787 },
+ { 0x0569, 46820 },
+ { 0x056A, 46808 },
+ { 0x056B, 46793 },
+ { 0x056C, 47263 },
+ { 0x056D, 46762 },
+ { 0x056E, 47266 },
+ { 0x056F, 46765 },
+ { 0x0570, 46758 },
+ { 0x0571, 47259 },
+ { 0x0572, 46750 },
+ { 0x0573, 46746 },
+ { 0x0574, 47255 },
+ { 0x0575, 46816 },
+ { 0x0576, 47043 },
+ { 0x0577, 46948 },
+ { 0x0578, 47181 },
+ { 0x0579, 47141 },
+ { 0x057A, 46927 },
+ { 0x057B, 47017 },
+ { 0x057C, 47205 },
+ { 0x057D, 46961 },
+ { 0x057E, 47009 },
+ { 0x057F, 47030 },
+ { 0x0580, 47159 },
+ { 0x0581, 46964 },
+ { 0x0582, 47189 },
+ { 0x0583, 47169 },
+ { 0x0584, 46977 },
+ { 0x0585, 47173 },
+ { 0x0586, 46985 },
+ { 0x0587, 47213 },
+ { 0x0588, 47061 },
+ { 0x0589, 47149 },
+ { 0x058A, 46935 },
+ { 0x058B, 47177 },
+ { 0x058C, 47197 },
+ { 0x058D, 46993 },
+ { 0x058E, 47064 },
+ { 0x058F, 47072 },
+ { 0x0590, 47001 },
+ { 0x0591, 47245 },
+ { 0x0592, 47234 },
+ { 0x0593, 47250 },
+ { 0x0594, 47269 },
+ { 0x0595, 47272 },
+ { 0x0596, 38283 },
+ { 0x0597, 35360 },
+ { 0x0598, 38424 },
+ { 0x0599, 35357 },
+ { 0x059A, 35367 },
+ { 0x059B, 38279 },
+ { 0x059C, 106045 },
+ { 0x059D, 106078 },
+ { 0x059E, 35311 },
+ { 0x059F, 106041 },
+ { 0x05A0, 106036 },
+ { 0x05A1, 55157 },
+ { 0x05A2, 35426 },
+ { 0x05A3, 35313 },
+ { 0x05A4, 38286 },
+ { 0x05A5, 35354 },
+ { 0x05A6, 35386 },
+ { 0x05A7, 35363 },
+ { 0x05A8, 35382 },
+ { 0x05A9, 35349 },
+ { 0x05AA, 35379 },
+ { 0x05AB, 35552 },
+ { 0x05AC, 35639 },
+ { 0x05AD, 35588 },
+ { 0x05AE, 35651 },
+ { 0x05AF, 35648 },
+ { 0x05B0, 35654 },
+ { 0x05B1, 42187 },
+ { 0x05B2, 37445 },
+ { 0x05B3, 38383 },
+ { 0x05B4, 42179 },
+ { 0x05B5, 38260 },
+ { 0x05B6, 37918 },
+ { 0x05B7, 37209 },
+ { 0x05B8, 37165 },
+ { 0x05B9, 36915 },
+ { 0x05BA, 37187 },
+ { 0x05BB, 36993 },
+ { 0x05BC, 37148 },
+ { 0x05BD, 35879 },
+ { 0x05BE, 36839 },
+ { 0x05BF, 36808 },
+ { 0x05C0, 37706 },
+ { 0x05C1, 37392 },
+ { 0x05C2, 36218 },
+ { 0x05C3, 37422 },
+ { 0x05C4, 36008 },
+ { 0x05C5, 37693 },
+ { 0x05C6, 36626 },
+ { 0x05C7, 37752 },
+ { 0x05C8, 37602 },
+ { 0x05C9, 38054 },
+ { 0x05CA, 36727 },
+ { 0x05CB, 35979 },
+ { 0x05CC, 36771 },
+ { 0x05CD, 37125 },
+ { 0x05CE, 35818 },
+ { 0x05CF, 37889 },
+ { 0x05D0, 37935 },
+ { 0x05D1, 37949 },
+ { 0x05D2, 37858 },
+ { 0x05D3, 37812 },
+ { 0x05D4, 37820 },
+ { 0x05D5, 38405 },
+ { 0x05D6, 36101 },
+ { 0x05D7, 36584 },
+ { 0x05D8, 36443 },
+ { 0x05D9, 36497 },
+ { 0x05DA, 37448 },
+ { 0x05DB, 37490 },
+ { 0x05DC, 36316 },
+ { 0x05DD, 36888 },
+ { 0x05DE, 37270 },
+ { 0x05DF, 36965 },
+ { 0x05E0, 38418 },
+ { 0x05E1, 38412 },
+ { 0x05E2, 38430 },
+ { 0x05E3, 35470 },
+ { 0x05E4, 35446 },
+ { 0x05E5, 35500 },
+ { 0x05E6, 38290 },
+ { 0x05E7, 35663 },
+ { 0x05E8, 38276 },
+ { 0x05E9, 35494 },
+ { 0x05EA, 35497 },
+ { 0x05EB, 42189 },
+ { 0x05EC, 38427 },
+ { 0x05ED, 35331 },
+ { 0x05EE, 42185 },
+ { 0x05EF, 35678 },
+ { 0x05F0, 35684 },
+ { 0x05F1, 35673 },
+ { 0x05F2, 42182 },
+ { 0x05F3, 35477 },
+ { 0x05F4, 35422 },
+ { 0x05F5, 106066 },
+ { 0x05F6, 106048 },
+ { 0x05F7, 106054 },
+ { 0x05F8, 106075 },
+ { 0x05F9, 106060 },
+ { 0x05FA, 106057 },
+ { 0x05FB, 106051 },
+ { 0x05FC, 106072 },
+ { 0x05FD, 106069 },
+ { 0x05FE, 106063 },
+ { 0x05FF, 38395 },
+ { 0x0600, 38392 },
+ { 0x0601, 42192 },
+ { 0x0602, 35316 },
+ { 0x0603, 38193 },
+ { 0x0604, 38201 },
+ { 0x0605, 38272 },
+ { 0x0606, 37254 },
+ { 0x0607, 37151 },
+ { 0x0608, 37158 },
+ { 0x0609, 37373 },
+ { 0x060A, 37387 },
+ { 0x060B, 37377 },
+ { 0x060C, 35729 },
+ { 0x060D, 37382 },
+ { 0x060E, 37729 },
+ { 0x060F, 38152 },
+ { 0x0610, 37291 },
+ { 0x0611, 36811 },
+ { 0x0612, 36816 },
+ { 0x0613, 36561 },
+ { 0x0614, 38116 },
+ { 0x0615, 37772 },
+ { 0x0616, 36236 },
+ { 0x0617, 36228 },
+ { 0x0618, 37566 },
+ { 0x0619, 37327 },
+ { 0x061A, 36271 },
+ { 0x061B, 38087 },
+ { 0x061C, 38237 },
+ { 0x061D, 37314 },
+ { 0x061E, 36044 },
+ { 0x061F, 36011 },
+ { 0x0620, 36017 },
+ { 0x0621, 37795 },
+ { 0x0622, 38139 },
+ { 0x0623, 36088 },
+ { 0x0624, 36049 },
+ { 0x0625, 36037 },
+ { 0x0626, 37589 },
+ { 0x0627, 36682 },
+ { 0x0628, 36671 },
+ { 0x0629, 36629 },
+ { 0x062A, 36688 },
+ { 0x062B, 36635 },
+ { 0x062C, 36644 },
+ { 0x062D, 36430 },
+ { 0x062E, 36659 },
+ { 0x062F, 37605 },
+ { 0x0630, 37640 },
+ { 0x0631, 37647 },
+ { 0x0632, 36730 },
+ { 0x0633, 36737 },
+ { 0x0634, 36781 },
+ { 0x0635, 35836 },
+ { 0x0636, 38197 },
+ { 0x0637, 36120 },
+ { 0x0638, 36104 },
+ { 0x0639, 36865 },
+ { 0x063A, 36134 },
+ { 0x063B, 38008 },
+ { 0x063C, 36587 },
+ { 0x063D, 36599 },
+ { 0x063E, 37926 },
+ { 0x063F, 38083 },
+ { 0x0640, 36465 },
+ { 0x0641, 36446 },
+ { 0x0642, 35756 },
+ { 0x0643, 36470 },
+ { 0x0644, 36170 },
+ { 0x0645, 36180 },
+ { 0x0646, 37985 },
+ { 0x0647, 36173 },
+ { 0x0648, 37350 },
+ { 0x0649, 36185 },
+ { 0x064A, 36511 },
+ { 0x064B, 36505 },
+ { 0x064C, 36517 },
+ { 0x064D, 36524 },
+ { 0x064E, 37493 },
+ { 0x064F, 37535 },
+ { 0x0650, 38031 },
+ { 0x0651, 37506 },
+ { 0x0652, 37523 },
+ { 0x0653, 36402 },
+ { 0x0654, 38090 },
+ { 0x0655, 36354 },
+ { 0x0656, 36319 },
+ { 0x0657, 36323 },
+ { 0x0658, 36843 },
+ { 0x0659, 36910 },
+ { 0x065A, 38205 },
+ { 0x065B, 35779 },
+ { 0x065C, 35726 },
+ { 0x065D, 35805 },
+ { 0x065E, 38221 },
+ { 0x065F, 36903 },
+ { 0x0660, 35792 },
+ { 0x0661, 37808 },
+ { 0x0662, 36988 },
+ { 0x0663, 37031 },
+ { 0x0664, 36891 },
+ { 0x0665, 35703 },
+ { 0x0666, 37037 },
+ { 0x0667, 37049 },
+ { 0x0668, 37053 },
+ { 0x0669, 35320 },
+ { 0x066A, 35753 },
+ { 0x066B, 35629 },
+ { 0x066C, 35619 },
+ { 0x066D, 35568 },
+ { 0x066E, 35547 },
+ { 0x066F, 35564 },
+ { 0x0670, 35596 },
+ { 0x0671, 35584 },
+ { 0x0672, 35307 },
+ { 0x0673, 35657 },
+ { 0x0674, 35608 },
+ { 0x0675, 35613 },
+ { 0x0676, 35601 },
+ { 0x0677, 35574 },
+ { 0x0678, 35537 },
+ { 0x0679, 35592 },
+ { 0x067A, 35541 },
+ { 0x067B, 35544 },
+ { 0x067C, 35560 },
+ { 0x067D, 35580 },
+ { 0x067E, 35515 },
+ { 0x067F, 35460 },
+ { 0x0680, 35465 },
+ { 0x0681, 38398 },
+ { 0x0682, 35533 },
+ { 0x0683, 36064 },
+ { 0x0684, 36711 },
+ { 0x0685, 77547 },
+ { 0x0686, 77523 },
+ { 0x0687, 77531 },
+ { 0x0688, 77559 },
+ { 0x0689, 77539 },
+ { 0x068A, 77535 },
+ { 0x068B, 77527 },
+ { 0x068C, 77555 },
+ { 0x068D, 77551 },
+ { 0x068E, 77543 },
+ { 0x068F, 38057 },
+ { 0x0690, 35982 },
+ { 0x0691, 37892 },
+ { 0x0692, 35370 },
+ { 0x0693, 35374 },
+ { 0x0694, 36376 },
+ { 0x0695, 53707 },
+ { 0x0696, 53955 },
+ { 0x0697, 53930 },
+ { 0x0698, 53959 },
+ { 0x0699, 53934 },
+ { 0x069A, 53947 },
+ { 0x069B, 53721 },
+ { 0x069C, 53725 },
+ { 0x069D, 53962 },
+ { 0x069E, 53942 },
+ { 0x069F, 53950 },
+ { 0x06A0, 53917 },
+ { 0x06A1, 53920 },
+ { 0x06A2, 53923 },
+ { 0x06A3, 53967 },
+ { 0x06A4, 53823 },
+ { 0x06A5, 53882 },
+ { 0x06A6, 53788 },
+ { 0x06A7, 53830 },
+ { 0x06A8, 53833 },
+ { 0x06A9, 53840 },
+ { 0x06AA, 53846 },
+ { 0x06AB, 53770 },
+ { 0x06AC, 53785 },
+ { 0x06AD, 53820 },
+ { 0x06AE, 53791 },
+ { 0x06AF, 53806 },
+ { 0x06B0, 53809 },
+ { 0x06B1, 53813 },
+ { 0x06B2, 53816 },
+ { 0x06B3, 53794 },
+ { 0x06B4, 53843 },
+ { 0x06B5, 53776 },
+ { 0x06B6, 53779 },
+ { 0x06B7, 53863 },
+ { 0x06B8, 53826 },
+ { 0x06B9, 53767 },
+ { 0x06BA, 53773 },
+ { 0x06BB, 53878 },
+ { 0x06BC, 53837 },
+ { 0x06BD, 53797 },
+ { 0x06BE, 53800 },
+ { 0x06BF, 53803 },
+ { 0x06C0, 53782 },
+ { 0x06C1, 53851 },
+ { 0x06C2, 53855 },
+ { 0x06C3, 53859 },
+ { 0x06C4, 53886 },
+ { 0x06C5, 53889 },
+ { 0x06C6, 53892 },
+ { 0x06C7, 53895 },
+ { 0x06C8, 53898 },
+ { 0x06C9, 53901 },
+ { 0x06CA, 53743 },
+ { 0x06CB, 53746 },
+ { 0x06CC, 53763 },
+ { 0x06CD, 53759 },
+ { 0x06CE, 53735 },
+ { 0x06CF, 53738 },
+ { 0x06D0, 53952 },
+ { 0x06D1, 53729 },
+ { 0x06D2, 53732 },
+ { 0x06D3, 53749 },
+ { 0x06D4, 53914 },
+ { 0x06D5, 53928 },
+ { 0x06D6, 53926 },
+ { 0x06D7, 53711 },
+ { 0x06D8, 53716 },
+ { 0x06D9, 53751 },
+ { 0x06DA, 53755 },
+ { 0x06DB, 53906 },
+ { 0x06DC, 53910 },
+ { 0x06DD, 53741 },
+ { 0x06DE, 53904 },
+ { 0x06DF, 53874 },
+ { 0x06E0, 53870 },
+ { 0x06E1, 53866 },
+ { 0x06E2, 35943 },
+ { 0x06E3, 35882 },
+ { 0x06E4, 35921 },
+ { 0x06E5, 35930 },
+ { 0x06E6, 35892 },
+ { 0x06E7, 35951 },
+ { 0x06E8, 35908 },
+ { 0x06E9, 36221 },
+ { 0x06EA, 36278 },
+ { 0x06EB, 36026 },
+ { 0x06EC, 36070 },
+ { 0x06ED, 36706 },
+ { 0x06EE, 37622 },
+ { 0x06EF, 35821 },
+ { 0x06F0, 35850 },
+ { 0x06F1, 35828 },
+ { 0x06F2, 36127 },
+ { 0x06F3, 36141 },
+ { 0x06F4, 37929 },
+ { 0x06F5, 37942 },
+ { 0x06F6, 37956 },
+ { 0x06F7, 37451 },
+ { 0x06F8, 37457 },
+ { 0x06F9, 37499 },
+ { 0x06FA, 37517 },
+ { 0x06FB, 37511 },
+ { 0x06FC, 36500 },
+ { 0x06FD, 36651 },
+ { 0x06FE, 36676 },
+ { 0x06FF, 37614 },
+ { 0x0700, 36262 },
+ { 0x0701, 36242 },
+ { 0x0702, 37629 },
+ { 0x0703, 36695 },
+ { 0x0704, 36253 },
+ { 0x0705, 37231 },
+ { 0x0706, 37240 },
+ { 0x0707, 37828 },
+ { 0x0708, 37848 },
+ { 0x0709, 37838 },
+ { 0x070A, 36937 },
+ { 0x070B, 36946 },
+ { 0x070C, 37078 },
+ { 0x070D, 37088 },
+ { 0x070E, 36287 },
+ { 0x070F, 37658 },
+ { 0x0710, 37667 },
+ { 0x0711, 36458 },
+ { 0x0712, 54345 },
+ { 0x0713, 54450 },
+ { 0x0714, 54393 },
+ { 0x0715, 54351 },
+ { 0x0716, 54342 },
+ { 0x0717, 54447 },
+ { 0x0718, 54384 },
+ { 0x0719, 54375 },
+ { 0x071A, 54402 },
+ { 0x071B, 54390 },
+ { 0x071C, 54378 },
+ { 0x071D, 54411 },
+ { 0x071E, 54369 },
+ { 0x071F, 54387 },
+ { 0x0720, 54381 },
+ { 0x0721, 54444 },
+ { 0x0722, 54399 },
+ { 0x0723, 54426 },
+ { 0x0724, 54438 },
+ { 0x0725, 54435 },
+ { 0x0726, 54354 },
+ { 0x0727, 54432 },
+ { 0x0728, 54429 },
+ { 0x0729, 54441 },
+ { 0x072A, 54372 },
+ { 0x072B, 54363 },
+ { 0x072C, 54366 },
+ { 0x072D, 54423 },
+ { 0x072E, 54357 },
+ { 0x072F, 54420 },
+ { 0x0730, 54417 },
+ { 0x0731, 54408 },
+ { 0x0732, 54336 },
+ { 0x0733, 54339 },
+ { 0x0734, 54360 },
+ { 0x0735, 54414 },
+ { 0x0736, 54396 },
+ { 0x0737, 54405 },
+ { 0x0738, 54453 },
+ { 0x0739, 54463 },
+ { 0x073A, 54457 },
+ { 0x073B, 54465 },
+ { 0x073C, 54461 },
+ { 0x073D, 54471 },
+ { 0x073E, 54455 },
+ { 0x073F, 54467 },
+ { 0x0740, 54459 },
+ { 0x0741, 54469 },
+ { 0x0742, 54334 },
+ { 0x0743, 54348 },
+ { 0x0744, 6898 },
+ { 0x0745, 6880 },
+ { 0x0746, 6886 },
+ { 0x0747, 6907 },
+ { 0x0748, 6892 },
+ { 0x0749, 6889 },
+ { 0x074A, 6883 },
+ { 0x074B, 6904 },
+ { 0x074C, 6901 },
+ { 0x074D, 6895 },
+ { 0x074E, 6910 },
+ { 0x074F, 6934 },
+ { 0x0750, 6916 },
+ { 0x0751, 6913 },
+ { 0x0752, 6925 },
+ { 0x0753, 6962 },
+ { 0x0754, 6922 },
+ { 0x0755, 7011 },
+ { 0x0756, 6919 },
+ { 0x0757, 6928 },
+ { 0x0758, 6965 },
+ { 0x0759, 6974 },
+ { 0x075A, 6943 },
+ { 0x075B, 6983 },
+ { 0x075C, 6931 },
+ { 0x075D, 6968 },
+ { 0x075E, 6996 },
+ { 0x075F, 6971 },
+ { 0x0760, 6986 },
+ { 0x0761, 6937 },
+ { 0x0762, 6946 },
+ { 0x0763, 6949 },
+ { 0x0764, 6958 },
+ { 0x0765, 6952 },
+ { 0x0766, 6989 },
+ { 0x0767, 6955 },
+ { 0x0768, 6940 },
+ { 0x0769, 6977 },
+ { 0x076A, 6980 },
+ { 0x076B, 6992 },
+ { 0x076C, 6999 },
+ { 0x076D, 7007 },
+ { 0x076E, 7003 },
+ { 0x076F, 7046 },
+ { 0x0770, 7041 },
+ { 0x0771, 7051 },
+ { 0x0772, 7036 },
+ { 0x0773, 7026 },
+ { 0x0774, 7021 },
+ { 0x0775, 7031 },
+ { 0x0776, 7061 },
+ { 0x0777, 7056 },
+ { 0x0778, 6874 },
+ { 0x0779, 6870 },
+ { 0x077A, 7014 },
+ { 0x077B, 7018 },
+ { 0x077C, 6878 },
+ { 0x077D, 7067 },
+ { 0x077E, 7065 },
+ { 0x077F, 98292 },
+ { 0x0780, 98271 },
+ { 0x0781, 98310 },
+ { 0x0782, 98307 },
+ { 0x0783, 98265 },
+ { 0x0784, 98268 },
+ { 0x0785, 98289 },
+ { 0x0786, 98262 },
+ { 0x0787, 98283 },
+ { 0x0788, 98286 },
+ { 0x0789, 98295 },
+ { 0x078A, 98313 },
+ { 0x078B, 98274 },
+ { 0x078C, 98277 },
+ { 0x078D, 98316 },
+ { 0x078E, 98259 },
+ { 0x078F, 98256 },
+ { 0x0790, 98319 },
+ { 0x0791, 98280 },
+ { 0x0792, 98298 },
+ { 0x0793, 98301 },
+ { 0x0794, 98304 },
+ { 0x0795, 98169 },
+ { 0x0796, 98175 },
+ { 0x0797, 98181 },
+ { 0x0798, 98172 },
+ { 0x0799, 98331 },
+ { 0x079A, 98184 },
+ { 0x079B, 98217 },
+ { 0x079C, 98192 },
+ { 0x079D, 98251 },
+ { 0x079E, 98232 },
+ { 0x079F, 98208 },
+ { 0x07A0, 98246 },
+ { 0x07A1, 98212 },
+ { 0x07A2, 98188 },
+ { 0x07A3, 98326 },
+ { 0x07A4, 98237 },
+ { 0x07A5, 98227 },
+ { 0x07A6, 98204 },
+ { 0x07A7, 98322 },
+ { 0x07A8, 98222 },
+ { 0x07A9, 98196 },
+ { 0x07AA, 98200 },
+ { 0x07AB, 98242 },
+ { 0x07AC, 98178 },
+ { 0x07AD, 98374 },
+ { 0x07AE, 98358 },
+ { 0x07AF, 98349 },
+ { 0x07B0, 98336 },
+ { 0x07B1, 98364 },
+ { 0x07B2, 98377 },
+ { 0x07B3, 98380 },
+ { 0x07B4, 98370 },
+ { 0x07B5, 98355 },
+ { 0x07B6, 98352 },
+ { 0x07B7, 98346 },
+ { 0x07B8, 98343 },
+ { 0x07B9, 98367 },
+ { 0x07BA, 98339 },
+ { 0x07BB, 98361 },
+ { 0x07BC, 59402 },
+ { 0x07BD, 59336 },
+ { 0x07BE, 59342 },
+ { 0x07BF, 59339 },
+ { 0x07C0, 59345 },
+ { 0x07C1, 59405 },
+ { 0x07C2, 59375 },
+ { 0x07C3, 59381 },
+ { 0x07C4, 59393 },
+ { 0x07C5, 59399 },
+ { 0x07C6, 59348 },
+ { 0x07C7, 59351 },
+ { 0x07C8, 59354 },
+ { 0x07C9, 59357 },
+ { 0x07CA, 59369 },
+ { 0x07CB, 59378 },
+ { 0x07CC, 59360 },
+ { 0x07CD, 59390 },
+ { 0x07CE, 59363 },
+ { 0x07CF, 59366 },
+ { 0x07D0, 59387 },
+ { 0x07D1, 59372 },
+ { 0x07D2, 59408 },
+ { 0x07D3, 59396 },
+ { 0x07D4, 59384 },
+ { 0x07D5, 59414 },
+ { 0x07D6, 59419 },
+ { 0x07D7, 59411 },
+ { 0x07D8, 59417 },
+ { 0x07D9, 35914 },
+ { 0x07DA, 35902 },
+ { 0x07DB, 37395 },
+ { 0x07DC, 36774 },
+ { 0x07DD, 36110 },
+ { 0x07DE, 36593 },
+ { 0x07DF, 36531 },
+ { 0x07E0, 37463 },
+ { 0x07E1, 36978 },
+ { 0x07E2, 36968 },
+ { 0x07E3, 36666 },
+ { 0x07E4, 36897 },
+ { 0x07E5, 38264 },
+ { 0x07E6, 36557 },
+ { 0x07E7, 36057 },
+ { 0x07E8, 36744 },
+ { 0x07E9, 36192 },
+ { 0x07EA, 38268 },
+ { 0x07EB, 37755 },
+ { 0x07EC, 35843 },
+ { 0x07ED, 36452 },
+ { 0x07EE, 38388 },
+ { 0x07EF, 35431 },
+ { 0x07F0, 35428 },
+ { 0x07F1, 35434 },
+ { 0x07F2, 35440 },
+ { 0x07F3, 35437 },
+ { 0x07F4, 35443 },
+ { 0x07F5, 35394 },
+ { 0x07F6, 35404 },
+ { 0x07F7, 35414 },
+ { 0x07F8, 35399 },
+ { 0x07F9, 35409 },
+ { 0x07FA, 35418 },
+ { 0x07FB, 35343 },
+ { 0x07FC, 35340 },
+ { 0x07FD, 35346 },
+ { 0x07FE, 35556 },
+ { 0x07FF, 35482 },
+ { 0x0800, 35472 },
+ { 0x0801, 35502 },
+ { 0x0802, 35323 },
+ { 0x0803, 35519 },
+ { 0x0804, 35327 },
+ { 0x0805, 35529 },
+ { 0x0806, 35691 },
+ { 0x0807, 35696 },
+ { 0x0808, 35523 },
+ { 0x0809, 35448 },
+ { 0x080A, 35335 },
+ { 0x080B, 99604 },
+ { 0x080C, 99611 },
+ { 0x080D, 99598 },
+ { 0x080E, 99595 },
+ { 0x080F, 99979 },
+ { 0x0810, 99780 },
+ { 0x0811, 99795 },
+ { 0x0812, 99786 },
+ { 0x0813, 99825 },
+ { 0x0814, 99792 },
+ { 0x0815, 99864 },
+ { 0x0816, 100015 },
+ { 0x0817, 100011 },
+ { 0x0818, 99995 },
+ { 0x0819, 99983 },
+ { 0x081A, 99783 },
+ { 0x081B, 99798 },
+ { 0x081C, 99999 },
+ { 0x081D, 99987 },
+ { 0x081E, 99789 },
+ { 0x081F, 99801 },
+ { 0x0820, 99831 },
+ { 0x0821, 99903 },
+ { 0x0822, 99819 },
+ { 0x0823, 99894 },
+ { 0x0824, 99909 },
+ { 0x0825, 99810 },
+ { 0x0826, 99882 },
+ { 0x0827, 99828 },
+ { 0x0828, 99897 },
+ { 0x0829, 99915 },
+ { 0x082A, 99939 },
+ { 0x082B, 99969 },
+ { 0x082C, 99885 },
+ { 0x082D, 99954 },
+ { 0x082E, 99912 },
+ { 0x082F, 99858 },
+ { 0x0830, 99936 },
+ { 0x0831, 99813 },
+ { 0x0832, 99888 },
+ { 0x0833, 99840 },
+ { 0x0834, 99966 },
+ { 0x0835, 99846 },
+ { 0x0836, 99921 },
+ { 0x0837, 99807 },
+ { 0x0838, 99879 },
+ { 0x0839, 99837 },
+ { 0x083A, 99870 },
+ { 0x083B, 99852 },
+ { 0x083C, 99927 },
+ { 0x083D, 99834 },
+ { 0x083E, 99906 },
+ { 0x083F, 99963 },
+ { 0x0840, 99867 },
+ { 0x0841, 99930 },
+ { 0x0842, 99933 },
+ { 0x0843, 99855 },
+ { 0x0844, 99822 },
+ { 0x0845, 99706 },
+ { 0x0846, 99718 },
+ { 0x0847, 99577 },
+ { 0x0848, 99601 },
+ { 0x0849, 99686 },
+ { 0x084A, 99674 },
+ { 0x084B, 99702 },
+ { 0x084C, 99682 },
+ { 0x084D, 99714 },
+ { 0x084E, 99757 },
+ { 0x084F, 99767 },
+ { 0x0850, 99736 },
+ { 0x0851, 99726 },
+ { 0x0852, 99670 },
+ { 0x0853, 99690 },
+ { 0x0854, 99741 },
+ { 0x0855, 99731 },
+ { 0x0856, 99678 },
+ { 0x0857, 99694 },
+ { 0x0858, 99585 },
+ { 0x0859, 99772 },
+ { 0x085A, 99698 },
+ { 0x085B, 99564 },
+ { 0x085C, 100027 },
+ { 0x085D, 100031 },
+ { 0x085E, 99667 },
+ { 0x085F, 99630 },
+ { 0x0860, 99746 },
+ { 0x0861, 99710 },
+ { 0x0862, 99722 },
+ { 0x0863, 99849 },
+ { 0x0864, 99960 },
+ { 0x0865, 99957 },
+ { 0x0866, 99873 },
+ { 0x0867, 99972 },
+ { 0x0868, 99924 },
+ { 0x0869, 99816 },
+ { 0x086A, 99945 },
+ { 0x086B, 100023 },
+ { 0x086C, 100019 },
+ { 0x086D, 99752 },
+ { 0x086E, 99762 },
+ { 0x086F, 99635 },
+ { 0x0870, 99777 },
+ { 0x0871, 99655 },
+ { 0x0872, 99637 },
+ { 0x0873, 99643 },
+ { 0x0874, 99664 },
+ { 0x0875, 99649 },
+ { 0x0876, 99646 },
+ { 0x0877, 99640 },
+ { 0x0878, 99661 },
+ { 0x0879, 99658 },
+ { 0x087A, 99652 },
+ { 0x087B, 100037 },
+ { 0x087C, 99572 },
+ { 0x087D, 99991 },
+ { 0x087E, 99843 },
+ { 0x087F, 99918 },
+ { 0x0880, 99804 },
+ { 0x0881, 99861 },
+ { 0x0882, 99942 },
+ { 0x0883, 100007 },
+ { 0x0884, 99948 },
+ { 0x0885, 99975 },
+ { 0x0886, 99891 },
+ { 0x0887, 99900 },
+ { 0x0888, 100003 },
+ { 0x0889, 99951 },
+ { 0x088A, 99876 },
+ { 0x088B, 55345 },
+ { 0x088C, 55362 },
+ { 0x088D, 55356 },
+ { 0x088E, 55353 },
+ { 0x088F, 55462 },
+ { 0x0890, 55477 },
+ { 0x0891, 55468 },
+ { 0x0892, 55501 },
+ { 0x0893, 55474 },
+ { 0x0894, 55543 },
+ { 0x0895, 55617 },
+ { 0x0896, 55613 },
+ { 0x0897, 55465 },
+ { 0x0898, 55480 },
+ { 0x0899, 55471 },
+ { 0x089A, 55483 },
+ { 0x089B, 55507 },
+ { 0x089C, 55567 },
+ { 0x089D, 55495 },
+ { 0x089E, 55561 },
+ { 0x089F, 55570 },
+ { 0x08A0, 55489 },
+ { 0x08A1, 55552 },
+ { 0x08A2, 55504 },
+ { 0x08A3, 55564 },
+ { 0x08A4, 55576 },
+ { 0x08A5, 55597 },
+ { 0x08A6, 55606 },
+ { 0x08A7, 55555 },
+ { 0x08A8, 55603 },
+ { 0x08A9, 55573 },
+ { 0x08AA, 55540 },
+ { 0x08AB, 55594 },
+ { 0x08AC, 55492 },
+ { 0x08AD, 55558 },
+ { 0x08AE, 55516 },
+ { 0x08AF, 55519 },
+ { 0x08B0, 55579 },
+ { 0x08B1, 55486 },
+ { 0x08B2, 55549 },
+ { 0x08B3, 55513 },
+ { 0x08B4, 55546 },
+ { 0x08B5, 55522 },
+ { 0x08B6, 55510 },
+ { 0x08B7, 55588 },
+ { 0x08B8, 55591 },
+ { 0x08B9, 55537 },
+ { 0x08BA, 55498 },
+ { 0x08BB, 55347 },
+ { 0x08BC, 55359 },
+ { 0x08BD, 55420 },
+ { 0x08BE, 55408 },
+ { 0x08BF, 55432 },
+ { 0x08C0, 55416 },
+ { 0x08C1, 55436 },
+ { 0x08C2, 55445 },
+ { 0x08C3, 55455 },
+ { 0x08C4, 55404 },
+ { 0x08C5, 55424 },
+ { 0x08C6, 55412 },
+ { 0x08C7, 55428 },
+ { 0x08C8, 55350 },
+ { 0x08C9, 55609 },
+ { 0x08CA, 55341 },
+ { 0x08CB, 55585 },
+ { 0x08CC, 55582 },
+ { 0x08CD, 55600 },
+ { 0x08CE, 55625 },
+ { 0x08CF, 55621 },
+ { 0x08D0, 55440 },
+ { 0x08D1, 55450 },
+ { 0x08D2, 55383 },
+ { 0x08D3, 55365 },
+ { 0x08D4, 55371 },
+ { 0x08D5, 55392 },
+ { 0x08D6, 55377 },
+ { 0x08D7, 55374 },
+ { 0x08D8, 55368 },
+ { 0x08D9, 55389 },
+ { 0x08DA, 55386 },
+ { 0x08DB, 55380 },
+ { 0x08DC, 55531 },
+ { 0x08DD, 55525 },
+ { 0x08DE, 55398 },
+ { 0x08DF, 55401 },
+ { 0x08E0, 55629 },
+ { 0x08E1, 55641 },
+ { 0x08E2, 55649 },
+ { 0x08E3, 55645 },
+ { 0x08E4, 55633 },
+ { 0x08E5, 55653 },
+ { 0x08E6, 55460 },
+ { 0x08E7, 55395 },
+ { 0x08E8, 78347 },
+ { 0x08E9, 78351 },
+ { 0x08EA, 78366 },
+ { 0x08EB, 78439 },
+ { 0x08EC, 78448 },
+ { 0x08ED, 78442 },
+ { 0x08EE, 78478 },
+ { 0x08EF, 78445 },
+ { 0x08F0, 78511 },
+ { 0x08F1, 78466 },
+ { 0x08F2, 78451 },
+ { 0x08F3, 78496 },
+ { 0x08F4, 78454 },
+ { 0x08F5, 78484 },
+ { 0x08F6, 78541 },
+ { 0x08F7, 78472 },
+ { 0x08F8, 78535 },
+ { 0x08F9, 78547 },
+ { 0x08FA, 78460 },
+ { 0x08FB, 78526 },
+ { 0x08FC, 78481 },
+ { 0x08FD, 78538 },
+ { 0x08FE, 78553 },
+ { 0x08FF, 78568 },
+ { 0x0900, 78580 },
+ { 0x0901, 78529 },
+ { 0x0902, 78571 },
+ { 0x0903, 78550 },
+ { 0x0904, 78508 },
+ { 0x0905, 78565 },
+ { 0x0906, 78463 },
+ { 0x0907, 78532 },
+ { 0x0908, 78493 },
+ { 0x0909, 78499 },
+ { 0x090A, 78556 },
+ { 0x090B, 78457 },
+ { 0x090C, 78523 },
+ { 0x090D, 78490 },
+ { 0x090E, 78517 },
+ { 0x090F, 78502 },
+ { 0x0910, 78487 },
+ { 0x0911, 78544 },
+ { 0x0912, 78514 },
+ { 0x0913, 78562 },
+ { 0x0914, 78505 },
+ { 0x0915, 78475 },
+ { 0x0916, 78354 },
+ { 0x0917, 78411 },
+ { 0x0918, 78403 },
+ { 0x0919, 78427 },
+ { 0x091A, 78407 },
+ { 0x091B, 78435 },
+ { 0x091C, 78423 },
+ { 0x091D, 78415 },
+ { 0x091E, 78431 },
+ { 0x091F, 78419 },
+ { 0x0920, 78360 },
+ { 0x0921, 78357 },
+ { 0x0922, 78577 },
+ { 0x0923, 78574 },
+ { 0x0924, 78520 },
+ { 0x0925, 78559 },
+ { 0x0926, 78469 },
+ { 0x0927, 78389 },
+ { 0x0928, 78371 },
+ { 0x0929, 78377 },
+ { 0x092A, 78398 },
+ { 0x092B, 78383 },
+ { 0x092C, 78380 },
+ { 0x092D, 78374 },
+ { 0x092E, 78395 },
+ { 0x092F, 78392 },
+ { 0x0930, 78386 },
+ { 0x0931, 78401 },
+ { 0x0932, 78369 },
+ { 0x0933, 78343 },
+ { 0x0934, 78345 },
+ { 0x0935, 78340 },
+ { 0x0936, 78363 },
+ { 0x0937, 78076 },
+ { 0x0938, 78070 },
+ { 0x0939, 78067 },
+ { 0x093A, 78186 },
+ { 0x093B, 78201 },
+ { 0x093C, 78192 },
+ { 0x093D, 78225 },
+ { 0x093E, 78198 },
+ { 0x093F, 78255 },
+ { 0x0940, 78325 },
+ { 0x0941, 78321 },
+ { 0x0942, 78178 },
+ { 0x0943, 78189 },
+ { 0x0944, 78204 },
+ { 0x0945, 78182 },
+ { 0x0946, 78195 },
+ { 0x0947, 78207 },
+ { 0x0948, 78231 },
+ { 0x0949, 78282 },
+ { 0x094A, 78219 },
+ { 0x094B, 78276 },
+ { 0x094C, 78288 },
+ { 0x094D, 78213 },
+ { 0x094E, 78267 },
+ { 0x094F, 78228 },
+ { 0x0950, 78279 },
+ { 0x0951, 78294 },
+ { 0x0952, 78309 },
+ { 0x0953, 78318 },
+ { 0x0954, 78270 },
+ { 0x0955, 78315 },
+ { 0x0956, 78291 },
+ { 0x0957, 78252 },
+ { 0x0958, 78306 },
+ { 0x0959, 78216 },
+ { 0x095A, 78273 },
+ { 0x095B, 78240 },
+ { 0x095C, 78243 },
+ { 0x095D, 78297 },
+ { 0x095E, 78210 },
+ { 0x095F, 78264 },
+ { 0x0960, 78237 },
+ { 0x0961, 78261 },
+ { 0x0962, 78246 },
+ { 0x0963, 78234 },
+ { 0x0964, 78285 },
+ { 0x0965, 78258 },
+ { 0x0966, 78300 },
+ { 0x0967, 78303 },
+ { 0x0968, 78249 },
+ { 0x0969, 78222 },
+ { 0x096A, 78061 },
+ { 0x096B, 78073 },
+ { 0x096C, 78128 },
+ { 0x096D, 78116 },
+ { 0x096E, 78140 },
+ { 0x096F, 78124 },
+ { 0x0970, 78144 },
+ { 0x0971, 78163 },
+ { 0x0972, 78173 },
+ { 0x0973, 78148 },
+ { 0x0974, 78112 },
+ { 0x0975, 78132 },
+ { 0x0976, 78153 },
+ { 0x0977, 78120 },
+ { 0x0978, 78136 },
+ { 0x0979, 78064 },
+ { 0x097A, 78059 },
+ { 0x097B, 78333 },
+ { 0x097C, 78329 },
+ { 0x097D, 78158 },
+ { 0x097E, 78168 },
+ { 0x097F, 78097 },
+ { 0x0980, 78079 },
+ { 0x0981, 78085 },
+ { 0x0982, 78106 },
+ { 0x0983, 78091 },
+ { 0x0984, 78088 },
+ { 0x0985, 78082 },
+ { 0x0986, 78103 },
+ { 0x0987, 78100 },
+ { 0x0988, 78094 },
+ { 0x0989, 78337 },
+ { 0x098A, 78109 },
+ { 0x098B, 78312 },
+ { 0x098C, 32245 },
+ { 0x098D, 32239 },
+ { 0x098E, 32236 },
+ { 0x098F, 32336 },
+ { 0x0990, 32351 },
+ { 0x0991, 32342 },
+ { 0x0992, 32375 },
+ { 0x0993, 32348 },
+ { 0x0994, 32405 },
+ { 0x0995, 32484 },
+ { 0x0996, 32480 },
+ { 0x0997, 32339 },
+ { 0x0998, 32354 },
+ { 0x0999, 32345 },
+ { 0x099A, 32357 },
+ { 0x099B, 32381 },
+ { 0x099C, 32435 },
+ { 0x099D, 32369 },
+ { 0x099E, 32429 },
+ { 0x099F, 32441 },
+ { 0x09A0, 32363 },
+ { 0x09A1, 32420 },
+ { 0x09A2, 32378 },
+ { 0x09A3, 32432 },
+ { 0x09A4, 32447 },
+ { 0x09A5, 32468 },
+ { 0x09A6, 32477 },
+ { 0x09A7, 32423 },
+ { 0x09A8, 32474 },
+ { 0x09A9, 32444 },
+ { 0x09AA, 32402 },
+ { 0x09AB, 32465 },
+ { 0x09AC, 32366 },
+ { 0x09AD, 32426 },
+ { 0x09AE, 32390 },
+ { 0x09AF, 32393 },
+ { 0x09B0, 32450 },
+ { 0x09B1, 32360 },
+ { 0x09B2, 32417 },
+ { 0x09B3, 32387 },
+ { 0x09B4, 32414 },
+ { 0x09B5, 32396 },
+ { 0x09B6, 32384 },
+ { 0x09B7, 32438 },
+ { 0x09B8, 32408 },
+ { 0x09B9, 32459 },
+ { 0x09BA, 32462 },
+ { 0x09BB, 32399 },
+ { 0x09BC, 32372 },
+ { 0x09BD, 32230 },
+ { 0x09BE, 32242 },
+ { 0x09BF, 32294 },
+ { 0x09C0, 32282 },
+ { 0x09C1, 32306 },
+ { 0x09C2, 32290 },
+ { 0x09C3, 32310 },
+ { 0x09C4, 32319 },
+ { 0x09C5, 32329 },
+ { 0x09C6, 32278 },
+ { 0x09C7, 32298 },
+ { 0x09C8, 32286 },
+ { 0x09C9, 32302 },
+ { 0x09CA, 32233 },
+ { 0x09CB, 32222 },
+ { 0x09CC, 32226 },
+ { 0x09CD, 32456 },
+ { 0x09CE, 32453 },
+ { 0x09CF, 32471 },
+ { 0x09D0, 32492 },
+ { 0x09D1, 32488 },
+ { 0x09D2, 32314 },
+ { 0x09D3, 32324 },
+ { 0x09D4, 32266 },
+ { 0x09D5, 32248 },
+ { 0x09D6, 32254 },
+ { 0x09D7, 32275 },
+ { 0x09D8, 32260 },
+ { 0x09D9, 32257 },
+ { 0x09DA, 32251 },
+ { 0x09DB, 32272 },
+ { 0x09DC, 32269 },
+ { 0x09DD, 32263 },
+ { 0x09DE, 32334 },
+ { 0x09DF, 32411 },
+ { 0x09E0, 32504 },
+ { 0x09E1, 32496 },
+ { 0x09E2, 32512 },
+ { 0x09E3, 32508 },
+ { 0x09E4, 32500 },
+ { 0x09E5, 32516 },
+ { 0x09E6, 33971 },
+ { 0x09E7, 33968 },
+ { 0x09E8, 34063 },
+ { 0x09E9, 34078 },
+ { 0x09EA, 34069 },
+ { 0x09EB, 34096 },
+ { 0x09EC, 34075 },
+ { 0x09ED, 34129 },
+ { 0x09EE, 34066 },
+ { 0x09EF, 34090 },
+ { 0x09F0, 34081 },
+ { 0x09F1, 34072 },
+ { 0x09F2, 34114 },
+ { 0x09F3, 34084 },
+ { 0x09F4, 34102 },
+ { 0x09F5, 34141 },
+ { 0x09F6, 34087 },
+ { 0x09F7, 34099 },
+ { 0x09F8, 34147 },
+ { 0x09F9, 34159 },
+ { 0x09FA, 34144 },
+ { 0x09FB, 34126 },
+ { 0x09FC, 34111 },
+ { 0x09FD, 34165 },
+ { 0x09FE, 34117 },
+ { 0x09FF, 34108 },
+ { 0x0A00, 34135 },
+ { 0x0A01, 34120 },
+ { 0x0A02, 34150 },
+ { 0x0A03, 34105 },
+ { 0x0A04, 34138 },
+ { 0x0A05, 34162 },
+ { 0x0A06, 34132 },
+ { 0x0A07, 34153 },
+ { 0x0A08, 34156 },
+ { 0x0A09, 34123 },
+ { 0x0A0A, 34093 },
+ { 0x0A0B, 34032 },
+ { 0x0A0C, 34020 },
+ { 0x0A0D, 34048 },
+ { 0x0A0E, 34028 },
+ { 0x0A0F, 34056 },
+ { 0x0A10, 34016 },
+ { 0x0A11, 34044 },
+ { 0x0A12, 34036 },
+ { 0x0A13, 34024 },
+ { 0x0A14, 34052 },
+ { 0x0A15, 34040 },
+ { 0x0A16, 33965 },
+ { 0x0A17, 33960 },
+ { 0x0A18, 33956 },
+ { 0x0A19, 33998 },
+ { 0x0A1A, 33980 },
+ { 0x0A1B, 33986 },
+ { 0x0A1C, 34007 },
+ { 0x0A1D, 33992 },
+ { 0x0A1E, 33989 },
+ { 0x0A1F, 33983 },
+ { 0x0A20, 34004 },
+ { 0x0A21, 34001 },
+ { 0x0A22, 33995 },
+ { 0x0A23, 34176 },
+ { 0x0A24, 34168 },
+ { 0x0A25, 34172 },
+ { 0x0A26, 33962 },
+ { 0x0A27, 34010 },
+ { 0x0A28, 33974 },
+ { 0x0A29, 33977 },
+ { 0x0A2A, 34060 },
+ { 0x0A2B, 33952 },
+ { 0x0A2C, 34013 },
+ { 0x0A2D, 34179 },
+ { 0x0A2E, 53993 },
+ { 0x0A2F, 53998 },
+ { 0x0A30, 53987 },
+ { 0x0A31, 53984 },
+ { 0x0A32, 54098 },
+ { 0x0A33, 54113 },
+ { 0x0A34, 54104 },
+ { 0x0A35, 54140 },
+ { 0x0A36, 54110 },
+ { 0x0A37, 54173 },
+ { 0x0A38, 54255 },
+ { 0x0A39, 54251 },
+ { 0x0A3A, 54101 },
+ { 0x0A3B, 54131 },
+ { 0x0A3C, 54116 },
+ { 0x0A3D, 54107 },
+ { 0x0A3E, 54158 },
+ { 0x0A3F, 54119 },
+ { 0x0A40, 54146 },
+ { 0x0A41, 54203 },
+ { 0x0A42, 54134 },
+ { 0x0A43, 54197 },
+ { 0x0A44, 54209 },
+ { 0x0A45, 54125 },
+ { 0x0A46, 54185 },
+ { 0x0A47, 54143 },
+ { 0x0A48, 54200 },
+ { 0x0A49, 54215 },
+ { 0x0A4A, 54236 },
+ { 0x0A4B, 54248 },
+ { 0x0A4C, 54188 },
+ { 0x0A4D, 54239 },
+ { 0x0A4E, 54212 },
+ { 0x0A4F, 54170 },
+ { 0x0A50, 54230 },
+ { 0x0A51, 54128 },
+ { 0x0A52, 54191 },
+ { 0x0A53, 54155 },
+ { 0x0A54, 54161 },
+ { 0x0A55, 54218 },
+ { 0x0A56, 54122 },
+ { 0x0A57, 54182 },
+ { 0x0A58, 54152 },
+ { 0x0A59, 54179 },
+ { 0x0A5A, 54164 },
+ { 0x0A5B, 54221 },
+ { 0x0A5C, 54149 },
+ { 0x0A5D, 54206 },
+ { 0x0A5E, 54242 },
+ { 0x0A5F, 54176 },
+ { 0x0A60, 54224 },
+ { 0x0A61, 54227 },
+ { 0x0A62, 54167 },
+ { 0x0A63, 54137 },
+ { 0x0A64, 53990 },
+ { 0x0A65, 54047 },
+ { 0x0A66, 54035 },
+ { 0x0A67, 54063 },
+ { 0x0A68, 54043 },
+ { 0x0A69, 54071 },
+ { 0x0A6A, 54080 },
+ { 0x0A6B, 54090 },
+ { 0x0A6C, 54031 },
+ { 0x0A6D, 54059 },
+ { 0x0A6E, 54051 },
+ { 0x0A6F, 54039 },
+ { 0x0A70, 54067 },
+ { 0x0A71, 54055 },
+ { 0x0A72, 53981 },
+ { 0x0A73, 54095 },
+ { 0x0A74, 53974 },
+ { 0x0A75, 54233 },
+ { 0x0A76, 54194 },
+ { 0x0A77, 54245 },
+ { 0x0A78, 54263 },
+ { 0x0A79, 54259 },
+ { 0x0A7A, 54075 },
+ { 0x0A7B, 54085 },
+ { 0x0A7C, 54019 },
+ { 0x0A7D, 54001 },
+ { 0x0A7E, 54007 },
+ { 0x0A7F, 54028 },
+ { 0x0A80, 54013 },
+ { 0x0A81, 54010 },
+ { 0x0A82, 54004 },
+ { 0x0A83, 54025 },
+ { 0x0A84, 54022 },
+ { 0x0A85, 54016 },
+ { 0x0A86, 54303 },
+ { 0x0A87, 54267 },
+ { 0x0A88, 54285 },
+ { 0x0A89, 54312 },
+ { 0x0A8A, 54276 },
+ { 0x0A8B, 54294 },
+ { 0x0A8C, 54321 },
+ { 0x0A8D, 53978 },
+ { 0x0A8E, 58781 },
+ { 0x0A8F, 58775 },
+ { 0x0A90, 58772 },
+ { 0x0A91, 58887 },
+ { 0x0A92, 58902 },
+ { 0x0A93, 58893 },
+ { 0x0A94, 58932 },
+ { 0x0A95, 58899 },
+ { 0x0A96, 58965 },
+ { 0x0A97, 59038 },
+ { 0x0A98, 59034 },
+ { 0x0A99, 58890 },
+ { 0x0A9A, 58920 },
+ { 0x0A9B, 58905 },
+ { 0x0A9C, 58896 },
+ { 0x0A9D, 58950 },
+ { 0x0A9E, 58908 },
+ { 0x0A9F, 58938 },
+ { 0x0AA0, 58992 },
+ { 0x0AA1, 58926 },
+ { 0x0AA2, 58986 },
+ { 0x0AA3, 58998 },
+ { 0x0AA4, 58914 },
+ { 0x0AA5, 58977 },
+ { 0x0AA6, 58935 },
+ { 0x0AA7, 58989 },
+ { 0x0AA8, 59004 },
+ { 0x0AA9, 59022 },
+ { 0x0AAA, 59031 },
+ { 0x0AAB, 58980 },
+ { 0x0AAC, 59025 },
+ { 0x0AAD, 59001 },
+ { 0x0AAE, 58962 },
+ { 0x0AAF, 59019 },
+ { 0x0AB0, 58917 },
+ { 0x0AB1, 58983 },
+ { 0x0AB2, 58947 },
+ { 0x0AB3, 58953 },
+ { 0x0AB4, 59007 },
+ { 0x0AB5, 58911 },
+ { 0x0AB6, 58974 },
+ { 0x0AB7, 58944 },
+ { 0x0AB8, 58971 },
+ { 0x0AB9, 58956 },
+ { 0x0ABA, 59010 },
+ { 0x0ABB, 58941 },
+ { 0x0ABC, 58995 },
+ { 0x0ABD, 58968 },
+ { 0x0ABE, 59013 },
+ { 0x0ABF, 59016 },
+ { 0x0AC0, 58959 },
+ { 0x0AC1, 58929 },
+ { 0x0AC2, 58766 },
+ { 0x0AC3, 58778 },
+ { 0x0AC4, 58836 },
+ { 0x0AC5, 58824 },
+ { 0x0AC6, 58852 },
+ { 0x0AC7, 58832 },
+ { 0x0AC8, 58860 },
+ { 0x0AC9, 58869 },
+ { 0x0ACA, 58879 },
+ { 0x0ACB, 58820 },
+ { 0x0ACC, 58848 },
+ { 0x0ACD, 58840 },
+ { 0x0ACE, 58828 },
+ { 0x0ACF, 58856 },
+ { 0x0AD0, 58844 },
+ { 0x0AD1, 58769 },
+ { 0x0AD2, 58884 },
+ { 0x0AD3, 58762 },
+ { 0x0AD4, 58923 },
+ { 0x0AD5, 59046 },
+ { 0x0AD6, 59042 },
+ { 0x0AD7, 58864 },
+ { 0x0AD8, 58874 },
+ { 0x0AD9, 58808 },
+ { 0x0ADA, 58790 },
+ { 0x0ADB, 58796 },
+ { 0x0ADC, 58817 },
+ { 0x0ADD, 58802 },
+ { 0x0ADE, 58799 },
+ { 0x0ADF, 58793 },
+ { 0x0AE0, 58814 },
+ { 0x0AE1, 58811 },
+ { 0x0AE2, 58805 },
+ { 0x0AE3, 58784 },
+ { 0x0AE4, 58787 },
+ { 0x0AE5, 96911 },
+ { 0x0AE6, 96905 },
+ { 0x0AE7, 96902 },
+ { 0x0AE8, 97008 },
+ { 0x0AE9, 97023 },
+ { 0x0AEA, 97014 },
+ { 0x0AEB, 97050 },
+ { 0x0AEC, 97020 },
+ { 0x0AED, 97083 },
+ { 0x0AEE, 97194 },
+ { 0x0AEF, 97190 },
+ { 0x0AF0, 97011 },
+ { 0x0AF1, 97041 },
+ { 0x0AF2, 97026 },
+ { 0x0AF3, 97017 },
+ { 0x0AF4, 97068 },
+ { 0x0AF5, 97029 },
+ { 0x0AF6, 97056 },
+ { 0x0AF7, 97114 },
+ { 0x0AF8, 97044 },
+ { 0x0AF9, 97108 },
+ { 0x0AFA, 97120 },
+ { 0x0AFB, 97035 },
+ { 0x0AFC, 97095 },
+ { 0x0AFD, 97053 },
+ { 0x0AFE, 97111 },
+ { 0x0AFF, 97126 },
+ { 0x0B00, 97144 },
+ { 0x0B01, 97156 },
+ { 0x0B02, 97098 },
+ { 0x0B03, 97147 },
+ { 0x0B04, 97123 },
+ { 0x0B05, 97080 },
+ { 0x0B06, 97141 },
+ { 0x0B07, 97038 },
+ { 0x0B08, 97101 },
+ { 0x0B09, 97065 },
+ { 0x0B0A, 97153 },
+ { 0x0B0B, 97071 },
+ { 0x0B0C, 97129 },
+ { 0x0B0D, 97032 },
+ { 0x0B0E, 97092 },
+ { 0x0B0F, 97062 },
+ { 0x0B10, 97089 },
+ { 0x0B11, 97074 },
+ { 0x0B12, 97132 },
+ { 0x0B13, 97059 },
+ { 0x0B14, 97117 },
+ { 0x0B15, 97150 },
+ { 0x0B16, 97086 },
+ { 0x0B17, 97135 },
+ { 0x0B18, 97138 },
+ { 0x0B19, 97077 },
+ { 0x0B1A, 97047 },
+ { 0x0B1B, 97159 },
+ { 0x0B1C, 96908 },
+ { 0x0B1D, 96960 },
+ { 0x0B1E, 96948 },
+ { 0x0B1F, 96976 },
+ { 0x0B20, 96956 },
+ { 0x0B21, 96984 },
+ { 0x0B22, 96993 },
+ { 0x0B23, 97003 },
+ { 0x0B24, 96944 },
+ { 0x0B25, 96972 },
+ { 0x0B26, 96964 },
+ { 0x0B27, 96952 },
+ { 0x0B28, 96980 },
+ { 0x0B29, 96968 },
+ { 0x0B2A, 96899 },
+ { 0x0B2B, 97104 },
+ { 0x0B2C, 96892 },
+ { 0x0B2D, 97186 },
+ { 0x0B2E, 97202 },
+ { 0x0B2F, 97198 },
+ { 0x0B30, 96988 },
+ { 0x0B31, 96998 },
+ { 0x0B32, 96932 },
+ { 0x0B33, 96914 },
+ { 0x0B34, 96920 },
+ { 0x0B35, 96941 },
+ { 0x0B36, 96926 },
+ { 0x0B37, 96923 },
+ { 0x0B38, 96917 },
+ { 0x0B39, 96938 },
+ { 0x0B3A, 96935 },
+ { 0x0B3B, 96929 },
+ { 0x0B3C, 97214 },
+ { 0x0B3D, 97206 },
+ { 0x0B3E, 97210 },
+ { 0x0B3F, 97221 },
+ { 0x0B40, 97217 },
+ { 0x0B41, 97225 },
+ { 0x0B42, 96896 },
+ { 0x0B43, 97178 },
+ { 0x0B44, 97170 },
+ { 0x0B45, 97182 },
+ { 0x0B46, 97166 },
+ { 0x0B47, 97174 },
+ { 0x0B48, 97162 },
+ { 0x0B49, 63197 },
+ { 0x0B4A, 63194 },
+ { 0x0B4B, 63289 },
+ { 0x0B4C, 63304 },
+ { 0x0B4D, 63307 },
+ { 0x0B4E, 63391 },
+ { 0x0B4F, 63295 },
+ { 0x0B50, 63337 },
+ { 0x0B51, 63301 },
+ { 0x0B52, 63382 },
+ { 0x0B53, 63397 },
+ { 0x0B54, 63403 },
+ { 0x0B55, 63394 },
+ { 0x0B56, 63400 },
+ { 0x0B57, 63292 },
+ { 0x0B58, 63328 },
+ { 0x0B59, 63310 },
+ { 0x0B5A, 63298 },
+ { 0x0B5B, 63347 },
+ { 0x0B5C, 63313 },
+ { 0x0B5D, 63438 },
+ { 0x0B5E, 63478 },
+ { 0x0B5F, 63430 },
+ { 0x0B60, 63470 },
+ { 0x0B61, 63340 },
+ { 0x0B62, 63357 },
+ { 0x0B63, 63422 },
+ { 0x0B64, 63462 },
+ { 0x0B65, 63434 },
+ { 0x0B66, 63474 },
+ { 0x0B67, 63378 },
+ { 0x0B68, 63373 },
+ { 0x0B69, 63361 },
+ { 0x0B6A, 63454 },
+ { 0x0B6B, 63494 },
+ { 0x0B6C, 63450 },
+ { 0x0B6D, 63490 },
+ { 0x0B6E, 63410 },
+ { 0x0B6F, 63365 },
+ { 0x0B70, 63446 },
+ { 0x0B71, 63486 },
+ { 0x0B72, 63426 },
+ { 0x0B73, 63466 },
+ { 0x0B74, 63320 },
+ { 0x0B75, 63353 },
+ { 0x0B76, 63442 },
+ { 0x0B77, 63482 },
+ { 0x0B78, 63418 },
+ { 0x0B79, 63458 },
+ { 0x0B7A, 63344 },
+ { 0x0B7B, 63285 },
+ { 0x0B7C, 63388 },
+ { 0x0B7D, 63350 },
+ { 0x0B7E, 63316 },
+ { 0x0B7F, 63385 },
+ { 0x0B80, 63369 },
+ { 0x0B81, 63414 },
+ { 0x0B82, 63324 },
+ { 0x0B83, 63334 },
+ { 0x0B84, 63406 },
+ { 0x0B85, 63331 },
+ { 0x0B86, 63191 },
+ { 0x0B87, 63273 },
+ { 0x0B88, 63240 },
+ { 0x0B89, 63215 },
+ { 0x0B8A, 63230 },
+ { 0x0B8B, 63205 },
+ { 0x0B8C, 63235 },
+ { 0x0B8D, 63210 },
+ { 0x0B8E, 63281 },
+ { 0x0B8F, 63250 },
+ { 0x0B90, 63200 },
+ { 0x0B91, 63245 },
+ { 0x0B92, 63261 },
+ { 0x0B93, 63254 },
+ { 0x0B94, 63267 },
+ { 0x0B95, 63277 },
+ { 0x0B96, 63175 },
+ { 0x0B97, 63151 },
+ { 0x0B98, 63159 },
+ { 0x0B99, 63187 },
+ { 0x0B9A, 63167 },
+ { 0x0B9B, 63163 },
+ { 0x0B9C, 63155 },
+ { 0x0B9D, 63183 },
+ { 0x0B9E, 63179 },
+ { 0x0B9F, 63171 },
+ { 0x0BA0, 63225 },
+ { 0x0BA1, 63220 },
+ { 0x0BA2, 63580 },
+ { 0x0BA3, 14660 },
+ { 0x0BA4, 14750 },
+ { 0x0BA5, 14758 },
+ { 0x0BA6, 14762 },
+ { 0x0BA7, 14754 },
+ { 0x0BA8, 14766 },
+ { 0x0BA9, 14790 },
+ { 0x0BAA, 14734 },
+ { 0x0BAB, 14746 },
+ { 0x0BAC, 14742 },
+ { 0x0BAD, 14698 },
+ { 0x0BAE, 14738 },
+ { 0x0BAF, 14730 },
+ { 0x0BB0, 14640 },
+ { 0x0BB1, 14718 },
+ { 0x0BB2, 14806 },
+ { 0x0BB3, 14826 },
+ { 0x0BB4, 14822 },
+ { 0x0BB5, 14683 },
+ { 0x0BB6, 14636 },
+ { 0x0BB7, 14714 },
+ { 0x0BB8, 14814 },
+ { 0x0BB9, 14818 },
+ { 0x0BBA, 14810 },
+ { 0x0BBB, 14679 },
+ { 0x0BBC, 14632 },
+ { 0x0BBD, 14687 },
+ { 0x0BBE, 14798 },
+ { 0x0BBF, 14644 },
+ { 0x0BC0, 14794 },
+ { 0x0BC1, 14648 },
+ { 0x0BC2, 14802 },
+ { 0x0BC3, 14675 },
+ { 0x0BC4, 14726 },
+ { 0x0BC5, 14691 },
+ { 0x0BC6, 14695 },
+ { 0x0BC7, 14664 },
+ { 0x0BC8, 14672 },
+ { 0x0BC9, 14722 },
+ { 0x0BCA, 14710 },
+ { 0x0BCB, 14706 },
+ { 0x0BCC, 14702 },
+ { 0x0BCD, 14652 },
+ { 0x0BCE, 14668 },
+ { 0x0BCF, 14628 },
+ { 0x0BD0, 14656 },
+ { 0x0BD1, 14909 },
+ { 0x0BD2, 14830 },
+ { 0x0BD3, 14786 },
+ { 0x0BD4, 14850 },
+ { 0x0BD5, 14868 },
+ { 0x0BD6, 14838 },
+ { 0x0BD7, 14872 },
+ { 0x0BD8, 14876 },
+ { 0x0BD9, 14884 },
+ { 0x0BDA, 14846 },
+ { 0x0BDB, 14880 },
+ { 0x0BDC, 14894 },
+ { 0x0BDD, 14624 },
+ { 0x0BDE, 14834 },
+ { 0x0BDF, 14854 },
+ { 0x0BE0, 14842 },
+ { 0x0BE1, 14858 },
+ { 0x0BE2, 14863 },
+ { 0x0BE3, 14915 },
+ { 0x0BE4, 14897 },
+ { 0x0BE5, 14906 },
+ { 0x0BE6, 14770 },
+ { 0x0BE7, 14774 },
+ { 0x0BE8, 14778 },
+ { 0x0BE9, 14782 },
+ { 0x0BEA, 14918 },
+ { 0x0BEB, 14900 },
+ { 0x0BEC, 14903 },
+ { 0x0BED, 14891 },
+ { 0x0BEE, 14612 },
+ { 0x0BEF, 14594 },
+ { 0x0BF0, 14600 },
+ { 0x0BF1, 14621 },
+ { 0x0BF2, 14606 },
+ { 0x0BF3, 14603 },
+ { 0x0BF4, 14597 },
+ { 0x0BF5, 14618 },
+ { 0x0BF6, 14615 },
+ { 0x0BF7, 14609 },
+ { 0x0BF8, 14912 },
+ { 0x0BF9, 14888 },
+ { 0x0BFA, 6110 },
+ { 0x0BFB, 6157 },
+ { 0x0BFC, 6153 },
+ { 0x0BFD, 6161 },
+ { 0x0BFE, 6080 },
+ { 0x0BFF, 6136 },
+ { 0x0C00, 6164 },
+ { 0x0C01, 6083 },
+ { 0x0C02, 6144 },
+ { 0x0C03, 6179 },
+ { 0x0C04, 6175 },
+ { 0x0C05, 6127 },
+ { 0x0C06, 6077 },
+ { 0x0C07, 6130 },
+ { 0x0C08, 6171 },
+ { 0x0C09, 6094 },
+ { 0x0C0A, 6167 },
+ { 0x0C0B, 6098 },
+ { 0x0C0C, 6124 },
+ { 0x0C0D, 6150 },
+ { 0x0C0E, 6116 },
+ { 0x0C0F, 6120 },
+ { 0x0C10, 6147 },
+ { 0x0C11, 6140 },
+ { 0x0C12, 6106 },
+ { 0x0C13, 6074 },
+ { 0x0C14, 6102 },
+ { 0x0C15, 6191 },
+ { 0x0C16, 6008 },
+ { 0x0C17, 6064 },
+ { 0x0C18, 6032 },
+ { 0x0C19, 6040 },
+ { 0x0C1A, 6016 },
+ { 0x0C1B, 6052 },
+ { 0x0C1C, 6028 },
+ { 0x0C1D, 6060 },
+ { 0x0C1E, 6024 },
+ { 0x0C1F, 6056 },
+ { 0x0C20, 6069 },
+ { 0x0C21, 6195 },
+ { 0x0C22, 6199 },
+ { 0x0C23, 6012 },
+ { 0x0C24, 6048 },
+ { 0x0C25, 6020 },
+ { 0x0C26, 6044 },
+ { 0x0C27, 6036 },
+ { 0x0C28, 5959 },
+ { 0x0C29, 5962 },
+ { 0x0C2A, 5970 },
+ { 0x0C2B, 5966 },
+ { 0x0C2C, 5974 },
+ { 0x0C2D, 6203 },
+ { 0x0C2E, 6193 },
+ { 0x0C2F, 5996 },
+ { 0x0C30, 5978 },
+ { 0x0C31, 5984 },
+ { 0x0C32, 6005 },
+ { 0x0C33, 5990 },
+ { 0x0C34, 5987 },
+ { 0x0C35, 5981 },
+ { 0x0C36, 6002 },
+ { 0x0C37, 5999 },
+ { 0x0C38, 5993 },
+ { 0x0C39, 5956 },
+ { 0x0C3A, 5953 },
+ { 0x0C3B, 6183 },
+ { 0x0C3C, 6187 },
+ { 0x0C3D, 64879 },
+ { 0x0C3E, 64298 },
+ { 0x0C3F, 64289 },
+ { 0x0C40, 64280 },
+ { 0x0C41, 64419 },
+ { 0x0C42, 64400 },
+ { 0x0C43, 64358 },
+ { 0x0C44, 64260 },
+ { 0x0C45, 64389 },
+ { 0x0C46, 64353 },
+ { 0x0C47, 64274 },
+ { 0x0C48, 64450 },
+ { 0x0C49, 64445 },
+ { 0x0C4A, 64339 },
+ { 0x0C4B, 64321 },
+ { 0x0C4C, 64393 },
+ { 0x0C4D, 64329 },
+ { 0x0C4E, 64250 },
+ { 0x0C4F, 64334 },
+ { 0x0C50, 64366 },
+ { 0x0C51, 64305 },
+ { 0x0C52, 64869 },
+ { 0x0C53, 64874 },
+ { 0x0C54, 65078 },
+ { 0x0C55, 65090 },
+ { 0x0C56, 65085 },
+ { 0x0C57, 64516 },
+ { 0x0C58, 64532 },
+ { 0x0C59, 64521 },
+ { 0x0C5A, 64495 },
+ { 0x0C5B, 64511 },
+ { 0x0C5C, 64526 },
+ { 0x0C5D, 64614 },
+ { 0x0C5E, 64556 },
+ { 0x0C5F, 64562 },
+ { 0x0C60, 64623 },
+ { 0x0C61, 64568 },
+ { 0x0C62, 64565 },
+ { 0x0C63, 64559 },
+ { 0x0C64, 64620 },
+ { 0x0C65, 64617 },
+ { 0x0C66, 64611 },
+ { 0x0C67, 64571 },
+ { 0x0C68, 64579 },
+ { 0x0C69, 64607 },
+ { 0x0C6A, 64587 },
+ { 0x0C6B, 64583 },
+ { 0x0C6C, 64575 },
+ { 0x0C6D, 64603 },
+ { 0x0C6E, 64599 },
+ { 0x0C6F, 64591 },
+ { 0x0C70, 64595 },
+ { 0x0C71, 64342 },
+ { 0x0C72, 64309 },
+ { 0x0C73, 64374 },
+ { 0x0C74, 64315 },
+ { 0x0C75, 64236 },
+ { 0x0C76, 64256 },
+ { 0x0C77, 64245 },
+ { 0x0C78, 64240 },
+ { 0x0C79, 64231 },
+ { 0x0C7A, 64226 },
+ { 0x0C7B, 64487 },
+ { 0x0C7C, 64473 },
+ { 0x0C7D, 64716 },
+ { 0x0C7E, 64767 },
+ { 0x0C7F, 64707 },
+ { 0x0C80, 64764 },
+ { 0x0C81, 64773 },
+ { 0x0C82, 64701 },
+ { 0x0C83, 64752 },
+ { 0x0C84, 64713 },
+ { 0x0C85, 64779 },
+ { 0x0C86, 64800 },
+ { 0x0C87, 64818 },
+ { 0x0C88, 64755 },
+ { 0x0C89, 64806 },
+ { 0x0C8A, 64776 },
+ { 0x0C8B, 64737 },
+ { 0x0C8C, 64794 },
+ { 0x0C8D, 64704 },
+ { 0x0C8E, 64758 },
+ { 0x0C8F, 64725 },
+ { 0x0C90, 64728 },
+ { 0x0C91, 64782 },
+ { 0x0C92, 64698 },
+ { 0x0C93, 64749 },
+ { 0x0C94, 64722 },
+ { 0x0C95, 64797 },
+ { 0x0C96, 64815 },
+ { 0x0C97, 64761 },
+ { 0x0C98, 64809 },
+ { 0x0C99, 64740 },
+ { 0x0C9A, 64803 },
+ { 0x0C9B, 64746 },
+ { 0x0C9C, 64695 },
+ { 0x0C9D, 64743 },
+ { 0x0C9E, 64731 },
+ { 0x0C9F, 64719 },
+ { 0x0CA0, 64788 },
+ { 0x0CA1, 64791 },
+ { 0x0CA2, 64734 },
+ { 0x0CA3, 64710 },
+ { 0x0CA4, 64692 },
+ { 0x0CA5, 64812 },
+ { 0x0CA6, 64821 },
+ { 0x0CA7, 64770 },
+ { 0x0CA8, 64785 },
+ { 0x0CA9, 64642 },
+ { 0x0CAA, 64630 },
+ { 0x0CAB, 64650 },
+ { 0x0CAC, 64638 },
+ { 0x0CAD, 64658 },
+ { 0x0CAE, 64667 },
+ { 0x0CAF, 64677 },
+ { 0x0CB0, 64662 },
+ { 0x0CB1, 64672 },
+ { 0x0CB2, 64626 },
+ { 0x0CB3, 64646 },
+ { 0x0CB4, 64634 },
+ { 0x0CB5, 64654 },
+ { 0x0CB6, 64537 },
+ { 0x0CB7, 64543 },
+ { 0x0CB8, 64682 },
+ { 0x0CB9, 64687 },
+ { 0x0CBA, 64477 },
+ { 0x0CBB, 64483 },
+ { 0x0CBC, 64416 },
+ { 0x0CBD, 64397 },
+ { 0x0CBE, 64469 },
+ { 0x0CBF, 64547 },
+ { 0x0CC0, 64464 },
+ { 0x0CC1, 64491 },
+ { 0x0CC2, 64454 },
+ { 0x0CC3, 64459 },
+ { 0x0CC4, 64551 },
+ { 0x0CC5, 64882 },
+ { 0x0CC6, 64888 },
+ { 0x0CC7, 64893 },
+ { 0x0CC8, 64931 },
+ { 0x0CC9, 64999 },
+ { 0x0CCA, 64919 },
+ { 0x0CCB, 64995 },
+ { 0x0CCC, 65003 },
+ { 0x0CCD, 64911 },
+ { 0x0CCE, 64979 },
+ { 0x0CCF, 64927 },
+ { 0x0CD0, 65011 },
+ { 0x0CD1, 65035 },
+ { 0x0CD2, 65059 },
+ { 0x0CD3, 64983 },
+ { 0x0CD4, 65043 },
+ { 0x0CD5, 65007 },
+ { 0x0CD6, 64959 },
+ { 0x0CD7, 65027 },
+ { 0x0CD8, 64915 },
+ { 0x0CD9, 64987 },
+ { 0x0CDA, 64943 },
+ { 0x0CDB, 64947 },
+ { 0x0CDC, 65015 },
+ { 0x0CDD, 64907 },
+ { 0x0CDE, 64975 },
+ { 0x0CDF, 64939 },
+ { 0x0CE0, 65031 },
+ { 0x0CE1, 65055 },
+ { 0x0CE2, 64991 },
+ { 0x0CE3, 65047 },
+ { 0x0CE4, 64963 },
+ { 0x0CE5, 65039 },
+ { 0x0CE6, 64971 },
+ { 0x0CE7, 64903 },
+ { 0x0CE8, 64967 },
+ { 0x0CE9, 64951 },
+ { 0x0CEA, 64935 },
+ { 0x0CEB, 65019 },
+ { 0x0CEC, 65023 },
+ { 0x0CED, 64955 },
+ { 0x0CEE, 64923 },
+ { 0x0CEF, 64899 },
+ { 0x0CF0, 65051 },
+ { 0x0CF1, 65068 },
+ { 0x0CF2, 65073 },
+ { 0x0CF3, 65063 },
+ { 0x0CF4, 64215 },
+ { 0x0CF5, 64219 },
+ { 0x0CF6, 65105 },
+ { 0x0CF7, 65110 },
+ { 0x0CF8, 65095 },
+ { 0x0CF9, 65100 },
+ { 0x0CFA, 64857 },
+ { 0x0CFB, 64847 },
+ { 0x0CFC, 64865 },
+ { 0x0CFD, 64851 },
+ { 0x0CFE, 64861 },
+ { 0x0CFF, 64825 },
+ { 0x0D00, 64841 },
+ { 0x0D01, 64835 },
+ { 0x0D02, 64829 },
+ { 0x0D03, 64505 },
+ { 0x0D04, 64500 },
+ { 0x0D05, 64346 },
+ { 0x0D06, 64382 },
+ { 0x0D07, 64325 },
+ { 0x0D08, 64426 },
+ { 0x0D09, 64407 },
+ { 0x0D0A, 111203 },
+ { 0x0D0B, 102537 },
+ { 0x0D0C, 111206 },
+ { 0x0D0D, 102540 },
+ { 0x0D0E, 64435 },
+ { 0x0D0F, 64440 },
+ { 0x0D10, 60993 },
+ { 0x0D11, 61044 },
+ { 0x0D12, 60981 },
+ { 0x0D13, 61038 },
+ { 0x0D14, 61070 },
+ { 0x0D15, 60975 },
+ { 0x0D16, 61029 },
+ { 0x0D17, 60990 },
+ { 0x0D18, 61041 },
+ { 0x0D19, 61076 },
+ { 0x0D1A, 61167 },
+ { 0x0D1B, 61161 },
+ { 0x0D1C, 61261 },
+ { 0x0D1D, 61032 },
+ { 0x0D1E, 61164 },
+ { 0x0D1F, 61073 },
+ { 0x0D20, 61014 },
+ { 0x0D21, 61158 },
+ { 0x0D22, 60978 },
+ { 0x0D23, 61035 },
+ { 0x0D24, 61002 },
+ { 0x0D25, 61005 },
+ { 0x0D26, 61079 },
+ { 0x0D27, 60972 },
+ { 0x0D28, 61026 },
+ { 0x0D29, 60999 },
+ { 0x0D2A, 61023 },
+ { 0x0D2B, 61008 },
+ { 0x0D2C, 60996 },
+ { 0x0D2D, 61020 },
+ { 0x0D2E, 61011 },
+ { 0x0D2F, 60984 },
+ { 0x0D30, 61047 },
+ { 0x0D31, 60954 },
+ { 0x0D32, 61175 },
+ { 0x0D33, 60960 },
+ { 0x0D34, 60987 },
+ { 0x0D35, 60966 },
+ { 0x0D36, 61017 },
+ { 0x0D37, 60957 },
+ { 0x0D38, 61050 },
+ { 0x0D39, 60963 },
+ { 0x0D3A, 60969 },
+ { 0x0D3B, 60890 },
+ { 0x0D3C, 60830 },
+ { 0x0D3D, 60822 },
+ { 0x0D3E, 60838 },
+ { 0x0D3F, 60826 },
+ { 0x0D40, 60842 },
+ { 0x0D41, 60813 },
+ { 0x0D42, 60834 },
+ { 0x0D43, 60851 },
+ { 0x0D44, 60846 },
+ { 0x0D45, 60817 },
+ { 0x0D46, 60767 },
+ { 0x0D47, 60653 },
+ { 0x0D48, 60734 },
+ { 0x0D49, 60728 },
+ { 0x0D4A, 60672 },
+ { 0x0D4B, 61492 },
+ { 0x0D4C, 61482 },
+ { 0x0D4D, 61487 },
+ { 0x0D4E, 61477 },
+ { 0x0D4F, 61268 },
+ { 0x0D50, 60801 },
+ { 0x0D51, 60783 },
+ { 0x0D52, 60789 },
+ { 0x0D53, 60810 },
+ { 0x0D54, 60795 },
+ { 0x0D55, 60792 },
+ { 0x0D56, 60786 },
+ { 0x0D57, 60807 },
+ { 0x0D58, 60804 },
+ { 0x0D59, 60798 },
+ { 0x0D5A, 60724 },
+ { 0x0D5B, 60731 },
+ { 0x0D5C, 61422 },
+ { 0x0D5D, 61425 },
+ { 0x0D5E, 61428 },
+ { 0x0D5F, 61419 },
+ { 0x0D60, 61082 },
+ { 0x0D61, 61085 },
+ { 0x0D62, 61375 },
+ { 0x0D63, 61383 },
+ { 0x0D64, 61371 },
+ { 0x0D65, 61379 },
+ { 0x0D66, 60925 },
+ { 0x0D67, 60935 },
+ { 0x0D68, 60920 },
+ { 0x0D69, 60930 },
+ { 0x0D6A, 61066 },
+ { 0x0D6B, 61062 },
+ { 0x0D6C, 61054 },
+ { 0x0D6D, 61058 },
+ { 0x0D6E, 61465 },
+ { 0x0D6F, 61459 },
+ { 0x0D70, 61453 },
+ { 0x0D71, 61170 },
+ { 0x0D72, 60862 },
+ { 0x0D73, 60777 },
+ { 0x0D74, 60770 },
+ { 0x0D75, 61393 },
+ { 0x0D76, 61387 },
+ { 0x0D77, 60940 },
+ { 0x0D78, 60947 },
+ { 0x0D79, 60737 },
+ { 0x0D7A, 60743 },
+ { 0x0D7B, 60749 },
+ { 0x0D7C, 60755 },
+ { 0x0D7D, 60761 },
+ { 0x0D7E, 61353 },
+ { 0x0D7F, 61359 },
+ { 0x0D80, 61365 },
+ { 0x0D81, 60856 },
+ { 0x0D82, 60915 },
+ { 0x0D83, 60905 },
+ { 0x0D84, 60910 },
+ { 0x0D85, 61203 },
+ { 0x0D86, 61231 },
+ { 0x0D87, 61195 },
+ { 0x0D88, 61183 },
+ { 0x0D89, 61211 },
+ { 0x0D8A, 61239 },
+ { 0x0D8B, 61187 },
+ { 0x0D8C, 61207 },
+ { 0x0D8D, 61243 },
+ { 0x0D8E, 61191 },
+ { 0x0D8F, 61179 },
+ { 0x0D90, 61247 },
+ { 0x0D91, 61199 },
+ { 0x0D92, 61471 },
+ { 0x0D93, 60879 },
+ { 0x0D94, 60868 },
+ { 0x0D95, 60873 },
+ { 0x0D96, 60884 },
+ { 0x0D97, 60679 },
+ { 0x0D98, 60683 },
+ { 0x0D99, 60687 },
+ { 0x0D9A, 60691 },
+ { 0x0D9B, 60695 },
+ { 0x0D9C, 60700 },
+ { 0x0D9D, 60705 },
+ { 0x0D9E, 61272 },
+ { 0x0D9F, 60711 },
+ { 0x0DA0, 60637 },
+ { 0x0DA1, 60613 },
+ { 0x0DA2, 60621 },
+ { 0x0DA3, 60649 },
+ { 0x0DA4, 60629 },
+ { 0x0DA5, 60625 },
+ { 0x0DA6, 60617 },
+ { 0x0DA7, 60645 },
+ { 0x0DA8, 60641 },
+ { 0x0DA9, 60633 },
+ { 0x0DAA, 60716 },
+ { 0x0DAB, 60720 },
+ { 0x0DAC, 60895 },
+ { 0x0DAD, 60900 },
+ { 0x0DAE, 61399 },
+ { 0x0DAF, 61403 },
+ { 0x0DB0, 77883 },
+ { 0x0DB1, 77919 },
+ { 0x0DB2, 77935 },
+ { 0x0DB3, 77931 },
+ { 0x0DB4, 77887 },
+ { 0x0DB5, 77999 },
+ { 0x0DB6, 78007 },
+ { 0x0DB7, 77991 },
+ { 0x0DB8, 77895 },
+ { 0x0DB9, 77959 },
+ { 0x0DBA, 77963 },
+ { 0x0DBB, 77967 },
+ { 0x0DBC, 77971 },
+ { 0x0DBD, 77899 },
+ { 0x0DBE, 77975 },
+ { 0x0DBF, 78039 },
+ { 0x0DC0, 77983 },
+ { 0x0DC1, 77987 },
+ { 0x0DC2, 77995 },
+ { 0x0DC3, 77903 },
+ { 0x0DC4, 78031 },
+ { 0x0DC5, 78027 },
+ { 0x0DC6, 78019 },
+ { 0x0DC7, 77979 },
+ { 0x0DC8, 78035 },
+ { 0x0DC9, 78015 },
+ { 0x0DCA, 77923 },
+ { 0x0DCB, 77955 },
+ { 0x0DCC, 77927 },
+ { 0x0DCD, 78011 },
+ { 0x0DCE, 78003 },
+ { 0x0DCF, 78023 },
+ { 0x0DD0, 77939 },
+ { 0x0DD1, 77891 },
+ { 0x0DD2, 77947 },
+ { 0x0DD3, 77907 },
+ { 0x0DD4, 77943 },
+ { 0x0DD5, 77951 },
+ { 0x0DD6, 77911 },
+ { 0x0DD7, 77915 },
+ { 0x0DD8, 77742 },
+ { 0x0DD9, 77775 },
+ { 0x0DDA, 77787 },
+ { 0x0DDB, 77784 },
+ { 0x0DDC, 77745 },
+ { 0x0DDD, 77835 },
+ { 0x0DDE, 77841 },
+ { 0x0DDF, 77829 },
+ { 0x0DE0, 77754 },
+ { 0x0DE1, 77805 },
+ { 0x0DE2, 77808 },
+ { 0x0DE3, 77811 },
+ { 0x0DE4, 77814 },
+ { 0x0DE5, 77757 },
+ { 0x0DE6, 77817 },
+ { 0x0DE7, 77869 },
+ { 0x0DE8, 77823 },
+ { 0x0DE9, 77826 },
+ { 0x0DEA, 77832 },
+ { 0x0DEB, 77760 },
+ { 0x0DEC, 77863 },
+ { 0x0DED, 77860 },
+ { 0x0DEE, 77850 },
+ { 0x0DEF, 77820 },
+ { 0x0DF0, 77866 },
+ { 0x0DF1, 77847 },
+ { 0x0DF2, 77778 },
+ { 0x0DF3, 77802 },
+ { 0x0DF4, 77781 },
+ { 0x0DF5, 77844 },
+ { 0x0DF6, 77838 },
+ { 0x0DF7, 77857 },
+ { 0x0DF8, 77790 },
+ { 0x0DF9, 77751 },
+ { 0x0DFA, 77796 },
+ { 0x0DFB, 77763 },
+ { 0x0DFC, 77793 },
+ { 0x0DFD, 77799 },
+ { 0x0DFE, 77748 },
+ { 0x0DFF, 77766 },
+ { 0x0E00, 77872 },
+ { 0x0E01, 77879 },
+ { 0x0E02, 77772 },
+ { 0x0E03, 78043 },
+ { 0x0E04, 81837 },
+ { 0x0E05, 77769 },
+ { 0x0E06, 77853 },
+ { 0x0E07, 77875 },
+ { 0x0E08, 45623 },
+ { 0x0E09, 45767 },
+ { 0x0E0A, 45611 },
+ { 0x0E0B, 45626 },
+ { 0x0E0C, 45770 },
+ { 0x0E0D, 45617 },
+ { 0x0E0E, 45608 },
+ { 0x0E0F, 45614 },
+ { 0x0E10, 45701 },
+ { 0x0E11, 45596 },
+ { 0x0E12, 45647 },
+ { 0x0E13, 45605 },
+ { 0x0E14, 45599 },
+ { 0x0E15, 45689 },
+ { 0x0E16, 45629 },
+ { 0x0E17, 45632 },
+ { 0x0E18, 45641 },
+ { 0x0E19, 45638 },
+ { 0x0E1A, 45602 },
+ { 0x0E1B, 45794 },
+ { 0x0E1C, 45698 },
+ { 0x0E1D, 45797 },
+ { 0x0E1E, 45734 },
+ { 0x0E1F, 45890 },
+ { 0x0E20, 45755 },
+ { 0x0E21, 45704 },
+ { 0x0E22, 45749 },
+ { 0x0E23, 45863 },
+ { 0x0E24, 45725 },
+ { 0x0E25, 45857 },
+ { 0x0E26, 45800 },
+ { 0x0E27, 45743 },
+ { 0x0E28, 45803 },
+ { 0x0E29, 45662 },
+ { 0x0E2A, 45935 },
+ { 0x0E2B, 45938 },
+ { 0x0E2C, 45920 },
+ { 0x0E2D, 45908 },
+ { 0x0E2E, 45917 },
+ { 0x0E2F, 45737 },
+ { 0x0E30, 45875 },
+ { 0x0E31, 45884 },
+ { 0x0E32, 45881 },
+ { 0x0E33, 45860 },
+ { 0x0E34, 45956 },
+ { 0x0E35, 45761 },
+ { 0x0E36, 45680 },
+ { 0x0E37, 45764 },
+ { 0x0E38, 45686 },
+ { 0x0E39, 45677 },
+ { 0x0E3A, 45683 },
+ { 0x0E3B, 45947 },
+ { 0x0E3C, 45893 },
+ { 0x0E3D, 45674 },
+ { 0x0E3E, 45668 },
+ { 0x0E3F, 45812 },
+ { 0x0E40, 45815 },
+ { 0x0E41, 45821 },
+ { 0x0E42, 45818 },
+ { 0x0E43, 45671 },
+ { 0x0E44, 45779 },
+ { 0x0E45, 45932 },
+ { 0x0E46, 45896 },
+ { 0x0E47, 45965 },
+ { 0x0E48, 45635 },
+ { 0x0E49, 45782 },
+ { 0x0E4A, 45785 },
+ { 0x0E4B, 45716 },
+ { 0x0E4C, 45719 },
+ { 0x0E4D, 45653 },
+ { 0x0E4E, 45848 },
+ { 0x0E4F, 45695 },
+ { 0x0E50, 45710 },
+ { 0x0E51, 45845 },
+ { 0x0E52, 45854 },
+ { 0x0E53, 45851 },
+ { 0x0E54, 45644 },
+ { 0x0E55, 45707 },
+ { 0x0E56, 45842 },
+ { 0x0E57, 45953 },
+ { 0x0E58, 45914 },
+ { 0x0E59, 45968 },
+ { 0x0E5A, 45899 },
+ { 0x0E5B, 45839 },
+ { 0x0E5C, 45902 },
+ { 0x0E5D, 45950 },
+ { 0x0E5E, 45872 },
+ { 0x0E5F, 45905 },
+ { 0x0E60, 45692 },
+ { 0x0E61, 45776 },
+ { 0x0E62, 45866 },
+ { 0x0E63, 45659 },
+ { 0x0E64, 45728 },
+ { 0x0E65, 45731 },
+ { 0x0E66, 45836 },
+ { 0x0E67, 45620 },
+ { 0x0E68, 46625 },
+ { 0x0E69, 46382 },
+ { 0x0E6A, 46397 },
+ { 0x0E6B, 46418 },
+ { 0x0E6C, 46472 },
+ { 0x0E6D, 46400 },
+ { 0x0E6E, 46385 },
+ { 0x0E6F, 46475 },
+ { 0x0E70, 46421 },
+ { 0x0E71, 46391 },
+ { 0x0E72, 46409 },
+ { 0x0E73, 46466 },
+ { 0x0E74, 46406 },
+ { 0x0E75, 46427 },
+ { 0x0E76, 46394 },
+ { 0x0E77, 46469 },
+ { 0x0E78, 46412 },
+ { 0x0E79, 46415 },
+ { 0x0E7A, 46430 },
+ { 0x0E7B, 46403 },
+ { 0x0E7C, 46424 },
+ { 0x0E7D, 46388 },
+ { 0x0E7E, 46433 },
+ { 0x0E7F, 46436 },
+ { 0x0E80, 46529 },
+ { 0x0E81, 46598 },
+ { 0x0E82, 46481 },
+ { 0x0E83, 46484 },
+ { 0x0E84, 46565 },
+ { 0x0E85, 46601 },
+ { 0x0E86, 46604 },
+ { 0x0E87, 46514 },
+ { 0x0E88, 46451 },
+ { 0x0E89, 46520 },
+ { 0x0E8A, 46454 },
+ { 0x0E8B, 46457 },
+ { 0x0E8C, 46613 },
+ { 0x0E8D, 46634 },
+ { 0x0E8E, 46637 },
+ { 0x0E8F, 46544 },
+ { 0x0E90, 46541 },
+ { 0x0E91, 46460 },
+ { 0x0E92, 46523 },
+ { 0x0E93, 46658 },
+ { 0x0E94, 46526 },
+ { 0x0E95, 46463 },
+ { 0x0E96, 46547 },
+ { 0x0E97, 46619 },
+ { 0x0E98, 46550 },
+ { 0x0E99, 46640 },
+ { 0x0E9A, 46622 },
+ { 0x0E9B, 46559 },
+ { 0x0E9C, 46553 },
+ { 0x0E9D, 46496 },
+ { 0x0E9E, 46571 },
+ { 0x0E9F, 46535 },
+ { 0x0EA0, 46439 },
+ { 0x0EA1, 46502 },
+ { 0x0EA2, 46445 },
+ { 0x0EA3, 46448 },
+ { 0x0EA4, 46499 },
+ { 0x0EA5, 46655 },
+ { 0x0EA6, 46562 },
+ { 0x0EA7, 46661 },
+ { 0x0EA8, 46652 },
+ { 0x0EA9, 46649 },
+ { 0x0EAA, 46664 },
+ { 0x0EAB, 46478 },
+ { 0x0EAC, 46532 },
+ { 0x0EAD, 46631 },
+ { 0x0EAE, 46517 },
+ { 0x0EAF, 46586 },
+ { 0x0EB0, 45995 },
+ { 0x0EB1, 46139 },
+ { 0x0EB2, 46082 },
+ { 0x0EB3, 45986 },
+ { 0x0EB4, 46100 },
+ { 0x0EB5, 46103 },
+ { 0x0EB6, 45998 },
+ { 0x0EB7, 45992 },
+ { 0x0EB8, 46181 },
+ { 0x0EB9, 46124 },
+ { 0x0EBA, 46130 },
+ { 0x0EBB, 46031 },
+ { 0x0EBC, 46253 },
+ { 0x0EBD, 46250 },
+ { 0x0EBE, 46121 },
+ { 0x0EBF, 45983 },
+ { 0x0EC0, 45989 },
+ { 0x0EC1, 46028 },
+ { 0x0EC2, 45971 },
+ { 0x0EC3, 46019 },
+ { 0x0EC4, 45980 },
+ { 0x0EC5, 45974 },
+ { 0x0EC6, 46001 },
+ { 0x0EC7, 46004 },
+ { 0x0EC8, 46013 },
+ { 0x0EC9, 46010 },
+ { 0x0ECA, 45977 },
+ { 0x0ECB, 46163 },
+ { 0x0ECC, 46343 },
+ { 0x0ECD, 46169 },
+ { 0x0ECE, 46172 },
+ { 0x0ECF, 46025 },
+ { 0x0ED0, 46226 },
+ { 0x0ED1, 46229 },
+ { 0x0ED2, 46256 },
+ { 0x0ED3, 46202 },
+ { 0x0ED4, 46325 },
+ { 0x0ED5, 46127 },
+ { 0x0ED6, 46184 },
+ { 0x0ED7, 46355 },
+ { 0x0ED8, 46064 },
+ { 0x0ED9, 46349 },
+ { 0x0EDA, 46304 },
+ { 0x0EDB, 46307 },
+ { 0x0EDC, 46331 },
+ { 0x0EDD, 46370 },
+ { 0x0EDE, 46292 },
+ { 0x0EDF, 46247 },
+ { 0x0EE0, 46244 },
+ { 0x0EE1, 46337 },
+ { 0x0EE2, 46166 },
+ { 0x0EE3, 46097 },
+ { 0x0EE4, 46094 },
+ { 0x0EE5, 46022 },
+ { 0x0EE6, 46286 },
+ { 0x0EE7, 46220 },
+ { 0x0EE8, 46217 },
+ { 0x0EE9, 46088 },
+ { 0x0EEA, 46208 },
+ { 0x0EEB, 46118 },
+ { 0x0EEC, 46241 },
+ { 0x0EED, 46112 },
+ { 0x0EEE, 46211 },
+ { 0x0EEF, 46133 },
+ { 0x0EF0, 46136 },
+ { 0x0EF1, 46046 },
+ { 0x0EF2, 46043 },
+ { 0x0EF3, 46007 },
+ { 0x0EF4, 46151 },
+ { 0x0EF5, 46319 },
+ { 0x0EF6, 46052 },
+ { 0x0EF7, 46205 },
+ { 0x0EF8, 46016 },
+ { 0x0EF9, 46259 },
+ { 0x0EFA, 46316 },
+ { 0x0EFB, 46235 },
+ { 0x0EFC, 46283 },
+ { 0x0EFD, 46073 },
+ { 0x0EFE, 46079 },
+ { 0x0EFF, 46070 },
+ { 0x0F00, 46076 },
+ { 0x0F01, 46148 },
+ { 0x0F02, 46157 },
+ { 0x0F03, 46160 },
+ { 0x0F04, 46262 },
+ { 0x0F05, 46265 },
+ { 0x0F06, 46154 },
+ { 0x0F07, 46058 },
+ { 0x0F08, 76191 },
+ { 0x0F09, 76203 },
+ { 0x0F0A, 76197 },
+ { 0x0F0B, 76611 },
+ { 0x0F0C, 76614 },
+ { 0x0F0D, 76194 },
+ { 0x0F0E, 76200 },
+ { 0x0F0F, 76632 },
+ { 0x0F10, 76236 },
+ { 0x0F11, 76248 },
+ { 0x0F12, 76242 },
+ { 0x0F13, 76695 },
+ { 0x0F14, 76698 },
+ { 0x0F15, 76239 },
+ { 0x0F16, 76245 },
+ { 0x0F17, 76704 },
+ { 0x0F18, 76617 },
+ { 0x0F19, 76629 },
+ { 0x0F1A, 76623 },
+ { 0x0F1B, 77169 },
+ { 0x0F1C, 77172 },
+ { 0x0F1D, 76620 },
+ { 0x0F1E, 76626 },
+ { 0x0F1F, 77175 },
+ { 0x0F20, 76251 },
+ { 0x0F21, 76263 },
+ { 0x0F22, 76257 },
+ { 0x0F23, 76707 },
+ { 0x0F24, 76710 },
+ { 0x0F25, 76254 },
+ { 0x0F26, 76260 },
+ { 0x0F27, 76716 },
+ { 0x0F28, 76893 },
+ { 0x0F29, 76905 },
+ { 0x0F2A, 76899 },
+ { 0x0F2B, 77280 },
+ { 0x0F2C, 77283 },
+ { 0x0F2D, 76896 },
+ { 0x0F2E, 76902 },
+ { 0x0F2F, 77286 },
+ { 0x0F30, 76311 },
+ { 0x0F31, 76323 },
+ { 0x0F32, 76317 },
+ { 0x0F33, 76836 },
+ { 0x0F34, 76839 },
+ { 0x0F35, 76314 },
+ { 0x0F36, 76320 },
+ { 0x0F37, 76845 },
+ { 0x0F38, 76326 },
+ { 0x0F39, 76338 },
+ { 0x0F3A, 76332 },
+ { 0x0F3B, 76851 },
+ { 0x0F3C, 76854 },
+ { 0x0F3D, 76329 },
+ { 0x0F3E, 76335 },
+ { 0x0F3F, 76890 },
+ { 0x0F40, 76857 },
+ { 0x0F41, 76869 },
+ { 0x0F42, 76863 },
+ { 0x0F43, 77262 },
+ { 0x0F44, 77265 },
+ { 0x0F45, 76860 },
+ { 0x0F46, 76866 },
+ { 0x0F47, 77271 },
+ { 0x0F48, 76296 },
+ { 0x0F49, 76308 },
+ { 0x0F4A, 76302 },
+ { 0x0F4B, 76788 },
+ { 0x0F4C, 76791 },
+ { 0x0F4D, 76299 },
+ { 0x0F4E, 76305 },
+ { 0x0F4F, 76809 },
+ { 0x0F50, 76812 },
+ { 0x0F51, 76818 },
+ { 0x0F52, 77250 },
+ { 0x0F53, 77253 },
+ { 0x0F54, 76815 },
+ { 0x0F55, 76794 },
+ { 0x0F56, 76806 },
+ { 0x0F57, 76800 },
+ { 0x0F58, 77235 },
+ { 0x0F59, 77238 },
+ { 0x0F5A, 76797 },
+ { 0x0F5B, 76803 },
+ { 0x0F5C, 77241 },
+ { 0x0F5D, 77247 },
+ { 0x0F5E, 77397 },
+ { 0x0F5F, 77400 },
+ { 0x0F60, 77244 },
+ { 0x0F61, 76116 },
+ { 0x0F62, 76128 },
+ { 0x0F63, 76122 },
+ { 0x0F64, 76431 },
+ { 0x0F65, 76449 },
+ { 0x0F66, 76119 },
+ { 0x0F67, 76125 },
+ { 0x0F68, 76455 },
+ { 0x0F69, 76356 },
+ { 0x0F6A, 76368 },
+ { 0x0F6B, 76362 },
+ { 0x0F6C, 76965 },
+ { 0x0F6D, 76968 },
+ { 0x0F6E, 76359 },
+ { 0x0F6F, 76365 },
+ { 0x0F70, 76971 },
+ { 0x0F71, 76341 },
+ { 0x0F72, 76353 },
+ { 0x0F73, 76347 },
+ { 0x0F74, 76908 },
+ { 0x0F75, 76911 },
+ { 0x0F76, 76344 },
+ { 0x0F77, 76350 },
+ { 0x0F78, 76947 },
+ { 0x0F79, 76131 },
+ { 0x0F7A, 76143 },
+ { 0x0F7B, 76137 },
+ { 0x0F7C, 76464 },
+ { 0x0F7D, 76482 },
+ { 0x0F7E, 76134 },
+ { 0x0F7F, 76140 },
+ { 0x0F80, 76503 },
+ { 0x0F81, 76386 },
+ { 0x0F82, 76398 },
+ { 0x0F83, 76392 },
+ { 0x0F84, 76983 },
+ { 0x0F85, 76986 },
+ { 0x0F86, 76389 },
+ { 0x0F87, 76395 },
+ { 0x0F88, 76989 },
+ { 0x0F89, 76992 },
+ { 0x0F8A, 76998 },
+ { 0x0F8B, 77331 },
+ { 0x0F8C, 77334 },
+ { 0x0F8D, 76995 },
+ { 0x0F8E, 76266 },
+ { 0x0F8F, 76278 },
+ { 0x0F90, 76272 },
+ { 0x0F91, 76728 },
+ { 0x0F92, 76731 },
+ { 0x0F93, 76269 },
+ { 0x0F94, 76275 },
+ { 0x0F95, 76737 },
+ { 0x0F96, 76740 },
+ { 0x0F97, 76752 },
+ { 0x0F98, 76746 },
+ { 0x0F99, 77208 },
+ { 0x0F9A, 77211 },
+ { 0x0F9B, 76743 },
+ { 0x0F9C, 76749 },
+ { 0x0F9D, 77217 },
+ { 0x0F9E, 77415 },
+ { 0x0F9F, 77431 },
+ { 0x0FA0, 77423 },
+ { 0x0FA1, 77435 },
+ { 0x0FA2, 77439 },
+ { 0x0FA3, 77419 },
+ { 0x0FA4, 77427 },
+ { 0x0FA5, 77447 },
+ { 0x0FA6, 76221 },
+ { 0x0FA7, 76233 },
+ { 0x0FA8, 76227 },
+ { 0x0FA9, 76647 },
+ { 0x0FAA, 76650 },
+ { 0x0FAB, 76224 },
+ { 0x0FAC, 76230 },
+ { 0x0FAD, 76653 },
+ { 0x0FAE, 76656 },
+ { 0x0FAF, 76662 },
+ { 0x0FB0, 77178 },
+ { 0x0FB1, 77181 },
+ { 0x0FB2, 76659 },
+ { 0x0FB3, 76665 },
+ { 0x0FB4, 76677 },
+ { 0x0FB5, 76671 },
+ { 0x0FB6, 77184 },
+ { 0x0FB7, 77187 },
+ { 0x0FB8, 76668 },
+ { 0x0FB9, 76674 },
+ { 0x0FBA, 77190 },
+ { 0x0FBB, 77196 },
+ { 0x0FBC, 77391 },
+ { 0x0FBD, 77394 },
+ { 0x0FBE, 77193 },
+ { 0x0FBF, 76371 },
+ { 0x0FC0, 76383 },
+ { 0x0FC1, 76377 },
+ { 0x0FC2, 76974 },
+ { 0x0FC3, 76977 },
+ { 0x0FC4, 76374 },
+ { 0x0FC5, 76380 },
+ { 0x0FC6, 76980 },
+ { 0x0FC7, 77467 },
+ { 0x0FC8, 77483 },
+ { 0x0FC9, 77475 },
+ { 0x0FCA, 77487 },
+ { 0x0FCB, 77491 },
+ { 0x0FCC, 77471 },
+ { 0x0FCD, 77479 },
+ { 0x0FCE, 76416 },
+ { 0x0FCF, 76428 },
+ { 0x0FD0, 76422 },
+ { 0x0FD1, 77025 },
+ { 0x0FD2, 77028 },
+ { 0x0FD3, 76419 },
+ { 0x0FD4, 76425 },
+ { 0x0FD5, 77049 },
+ { 0x0FD6, 77031 },
+ { 0x0FD7, 77043 },
+ { 0x0FD8, 77037 },
+ { 0x0FD9, 77343 },
+ { 0x0FDA, 77346 },
+ { 0x0FDB, 77034 },
+ { 0x0FDC, 77040 },
+ { 0x0FDD, 77349 },
+ { 0x0FDE, 76401 },
+ { 0x0FDF, 76413 },
+ { 0x0FE0, 76407 },
+ { 0x0FE1, 77016 },
+ { 0x0FE2, 77019 },
+ { 0x0FE3, 76404 },
+ { 0x0FE4, 76410 },
+ { 0x0FE5, 77022 },
+ { 0x0FE6, 76146 },
+ { 0x0FE7, 76158 },
+ { 0x0FE8, 76152 },
+ { 0x0FE9, 76506 },
+ { 0x0FEA, 76524 },
+ { 0x0FEB, 76149 },
+ { 0x0FEC, 76155 },
+ { 0x0FED, 76530 },
+ { 0x0FEE, 76509 },
+ { 0x0FEF, 76521 },
+ { 0x0FF0, 76515 },
+ { 0x0FF1, 77109 },
+ { 0x0FF2, 77112 },
+ { 0x0FF3, 76512 },
+ { 0x0FF4, 76518 },
+ { 0x0FF5, 77130 },
+ { 0x0FF6, 76206 },
+ { 0x0FF7, 76218 },
+ { 0x0FF8, 76212 },
+ { 0x0FF9, 76635 },
+ { 0x0FFA, 76638 },
+ { 0x0FFB, 76209 },
+ { 0x0FFC, 76215 },
+ { 0x0FFD, 76644 },
+ { 0x0FFE, 76176 },
+ { 0x0FFF, 76188 },
+ { 0x1000, 76182 },
+ { 0x1001, 76563 },
+ { 0x1002, 76566 },
+ { 0x1003, 76179 },
+ { 0x1004, 76185 },
+ { 0x1005, 76584 },
+ { 0x1006, 76587 },
+ { 0x1007, 76593 },
+ { 0x1008, 77157 },
+ { 0x1009, 77160 },
+ { 0x100A, 76590 },
+ { 0x100B, 76569 },
+ { 0x100C, 76581 },
+ { 0x100D, 76575 },
+ { 0x100E, 77142 },
+ { 0x100F, 77145 },
+ { 0x1010, 76572 },
+ { 0x1011, 76578 },
+ { 0x1012, 77385 },
+ { 0x1013, 76914 },
+ { 0x1014, 76926 },
+ { 0x1015, 76920 },
+ { 0x1016, 77289 },
+ { 0x1017, 77292 },
+ { 0x1018, 76917 },
+ { 0x1019, 76923 },
+ { 0x101A, 77298 },
+ { 0x101B, 76485 },
+ { 0x101C, 76497 },
+ { 0x101D, 76491 },
+ { 0x101E, 77097 },
+ { 0x101F, 77100 },
+ { 0x1020, 76488 },
+ { 0x1021, 76494 },
+ { 0x1022, 77106 },
+ { 0x1023, 76761 },
+ { 0x1024, 76773 },
+ { 0x1025, 76767 },
+ { 0x1026, 77220 },
+ { 0x1027, 77223 },
+ { 0x1028, 76764 },
+ { 0x1029, 76770 },
+ { 0x102A, 77229 },
+ { 0x102B, 76932 },
+ { 0x102C, 76944 },
+ { 0x102D, 76938 },
+ { 0x102E, 77301 },
+ { 0x102F, 77304 },
+ { 0x1030, 76935 },
+ { 0x1031, 76941 },
+ { 0x1032, 77307 },
+ { 0x1033, 76950 },
+ { 0x1034, 76962 },
+ { 0x1035, 76956 },
+ { 0x1036, 77322 },
+ { 0x1037, 77325 },
+ { 0x1038, 76953 },
+ { 0x1039, 76959 },
+ { 0x103A, 77328 },
+ { 0x103B, 76161 },
+ { 0x103C, 76173 },
+ { 0x103D, 76167 },
+ { 0x103E, 76545 },
+ { 0x103F, 76548 },
+ { 0x1040, 76164 },
+ { 0x1041, 76170 },
+ { 0x1042, 76551 },
+ { 0x1043, 76281 },
+ { 0x1044, 76293 },
+ { 0x1045, 76287 },
+ { 0x1046, 76755 },
+ { 0x1047, 76758 },
+ { 0x1048, 76284 },
+ { 0x1049, 76290 },
+ { 0x104A, 76779 },
+ { 0x104B, 76848 },
+ { 0x104C, 76725 },
+ { 0x104D, 76560 },
+ { 0x104E, 77500 },
+ { 0x104F, 77495 },
+ { 0x1050, 77507 },
+ { 0x1051, 76110 },
+ { 0x1052, 77516 },
+ { 0x1053, 75998 },
+ { 0x1054, 76003 },
+ { 0x1055, 77514 },
+ { 0x1056, 76001 },
+ { 0x1057, 76107 },
+ { 0x1058, 76113 },
+ { 0x1059, 77511 },
+ { 0x105A, 76005 },
+ { 0x105B, 76011 },
+ { 0x105C, 76029 },
+ { 0x105D, 76017 },
+ { 0x105E, 76014 },
+ { 0x105F, 76008 },
+ { 0x1060, 76026 },
+ { 0x1061, 76023 },
+ { 0x1062, 76020 },
+ { 0x1063, 76073 },
+ { 0x1064, 76098 },
+ { 0x1065, 76095 },
+ { 0x1066, 76083 },
+ { 0x1067, 76080 },
+ { 0x1068, 76086 },
+ { 0x1069, 76104 },
+ { 0x106A, 76089 },
+ { 0x106B, 76092 },
+ { 0x106C, 76101 },
+ { 0x106D, 76076 },
+ { 0x106E, 77459 },
+ { 0x106F, 76722 },
+ { 0x1070, 77205 },
+ { 0x1071, 76719 },
+ { 0x1072, 77451 },
+ { 0x1073, 76461 },
+ { 0x1074, 77073 },
+ { 0x1075, 76458 },
+ { 0x1076, 77455 },
+ { 0x1077, 76557 },
+ { 0x1078, 77139 },
+ { 0x1079, 76554 },
+ { 0x107A, 77463 },
+ { 0x107B, 76785 },
+ { 0x107C, 77232 },
+ { 0x107D, 76782 },
+ { 0x107E, 76057 },
+ { 0x107F, 76036 },
+ { 0x1080, 76065 },
+ { 0x1081, 76052 },
+ { 0x1082, 76040 },
+ { 0x1083, 76048 },
+ { 0x1084, 76061 },
+ { 0x1085, 76044 },
+ { 0x1086, 76069 },
+ { 0x1087, 76032 },
+ { 0x1088, 69879 },
+ { 0x1089, 69882 },
+ { 0x108A, 69885 },
+ { 0x108B, 69888 },
+ { 0x108C, 69894 },
+ { 0x108D, 69897 },
+ { 0x108E, 69918 },
+ { 0x108F, 69954 },
+ { 0x1090, 69921 },
+ { 0x1091, 69924 },
+ { 0x1092, 69927 },
+ { 0x1093, 69930 },
+ { 0x1094, 69933 },
+ { 0x1095, 69936 },
+ { 0x1096, 69939 },
+ { 0x1097, 69942 },
+ { 0x1098, 69945 },
+ { 0x1099, 69948 },
+ { 0x109A, 69951 },
+ { 0x109B, 69957 },
+ { 0x109C, 69960 },
+ { 0x109D, 69963 },
+ { 0x109E, 69966 },
+ { 0x109F, 69969 },
+ { 0x10A0, 69972 },
+ { 0x10A1, 69975 },
+ { 0x10A2, 69978 },
+ { 0x10A3, 69981 },
+ { 0x10A4, 69984 },
+ { 0x10A5, 69987 },
+ { 0x10A6, 69993 },
+ { 0x10A7, 70077 },
+ { 0x10A8, 70080 },
+ { 0x10A9, 69996 },
+ { 0x10AA, 69999 },
+ { 0x10AB, 70002 },
+ { 0x10AC, 70005 },
+ { 0x10AD, 70008 },
+ { 0x10AE, 70083 },
+ { 0x10AF, 70086 },
+ { 0x10B0, 70089 },
+ { 0x10B1, 70092 },
+ { 0x10B2, 70095 },
+ { 0x10B3, 70098 },
+ { 0x10B4, 70011 },
+ { 0x10B5, 69891 },
+ { 0x10B6, 70014 },
+ { 0x10B7, 70017 },
+ { 0x10B8, 70020 },
+ { 0x10B9, 70023 },
+ { 0x10BA, 70026 },
+ { 0x10BB, 69900 },
+ { 0x10BC, 70029 },
+ { 0x10BD, 69903 },
+ { 0x10BE, 70032 },
+ { 0x10BF, 69906 },
+ { 0x10C0, 70035 },
+ { 0x10C1, 69909 },
+ { 0x10C2, 69912 },
+ { 0x10C3, 69915 },
+ { 0x10C4, 70074 },
+ { 0x10C5, 70101 },
+ { 0x10C6, 70104 },
+ { 0x10C7, 70107 },
+ { 0x10C8, 70110 },
+ { 0x10C9, 70113 },
+ { 0x10CA, 70116 },
+ { 0x10CB, 70119 },
+ { 0x10CC, 70122 },
+ { 0x10CD, 70125 },
+ { 0x10CE, 70128 },
+ { 0x10CF, 70131 },
+ { 0x10D0, 70134 },
+ { 0x10D1, 70038 },
+ { 0x10D2, 70041 },
+ { 0x10D3, 70044 },
+ { 0x10D4, 70047 },
+ { 0x10D5, 70050 },
+ { 0x10D6, 70053 },
+ { 0x10D7, 70056 },
+ { 0x10D8, 70059 },
+ { 0x10D9, 70062 },
+ { 0x10DA, 70065 },
+ { 0x10DB, 70068 },
+ { 0x10DC, 70071 },
+ { 0x10DD, 69990 },
+ { 0x10DE, 69775 },
+ { 0x10DF, 69779 },
+ { 0x10E0, 69783 },
+ { 0x10E1, 69787 },
+ { 0x10E2, 69791 },
+ { 0x10E3, 69683 },
+ { 0x10E4, 67948 },
+ { 0x10E5, 66973 },
+ { 0x10E6, 67225 },
+ { 0x10E7, 66979 },
+ { 0x10E8, 67057 },
+ { 0x10E9, 66994 },
+ { 0x10EA, 67129 },
+ { 0x10EB, 68051 },
+ { 0x10EC, 68119 },
+ { 0x10ED, 68103 },
+ { 0x10EE, 66967 },
+ { 0x10EF, 67015 },
+ { 0x10F0, 67204 },
+ { 0x10F1, 69138 },
+ { 0x10F2, 67207 },
+ { 0x10F3, 69142 },
+ { 0x10F4, 67553 },
+ { 0x10F5, 69282 },
+ { 0x10F6, 67210 },
+ { 0x10F7, 69146 },
+ { 0x10F8, 67556 },
+ { 0x10F9, 69286 },
+ { 0x10FA, 68846 },
+ { 0x10FB, 67201 },
+ { 0x10FC, 69134 },
+ { 0x10FD, 67547 },
+ { 0x10FE, 69278 },
+ { 0x10FF, 68842 },
+ { 0x1100, 67018 },
+ { 0x1101, 68047 },
+ { 0x1102, 68830 },
+ { 0x1103, 67843 },
+ { 0x1104, 67847 },
+ { 0x1105, 67868 },
+ { 0x1106, 67824 },
+ { 0x1107, 67851 },
+ { 0x1108, 67839 },
+ { 0x1109, 67874 },
+ { 0x110A, 67879 },
+ { 0x110B, 67886 },
+ { 0x110C, 67857 },
+ { 0x110D, 67835 },
+ { 0x110E, 67830 },
+ { 0x110F, 67039 },
+ { 0x1110, 67060 },
+ { 0x1111, 67126 },
+ { 0x1112, 67021 },
+ { 0x1113, 67138 },
+ { 0x1114, 67689 },
+ { 0x1115, 67141 },
+ { 0x1116, 67391 },
+ { 0x1117, 67144 },
+ { 0x1118, 67394 },
+ { 0x1119, 68075 },
+ { 0x111A, 68459 },
+ { 0x111B, 68143 },
+ { 0x111C, 67135 },
+ { 0x111D, 67385 },
+ { 0x111E, 67403 },
+ { 0x111F, 69234 },
+ { 0x1120, 67406 },
+ { 0x1121, 69238 },
+ { 0x1122, 67695 },
+ { 0x1123, 69366 },
+ { 0x1124, 67409 },
+ { 0x1125, 69242 },
+ { 0x1126, 67698 },
+ { 0x1127, 69370 },
+ { 0x1128, 67400 },
+ { 0x1129, 69230 },
+ { 0x112A, 67692 },
+ { 0x112B, 69362 },
+ { 0x112C, 68091 },
+ { 0x112D, 66997 },
+ { 0x112E, 69094 },
+ { 0x112F, 68099 },
+ { 0x1130, 67189 },
+ { 0x1131, 67761 },
+ { 0x1132, 67195 },
+ { 0x1133, 67502 },
+ { 0x1134, 67198 },
+ { 0x1135, 67505 },
+ { 0x1136, 68083 },
+ { 0x1137, 68379 },
+ { 0x1138, 68115 },
+ { 0x1139, 67186 },
+ { 0x113A, 67484 },
+ { 0x113B, 67526 },
+ { 0x113C, 69266 },
+ { 0x113D, 67529 },
+ { 0x113E, 69270 },
+ { 0x113F, 67806 },
+ { 0x1140, 69410 },
+ { 0x1141, 67532 },
+ { 0x1142, 69274 },
+ { 0x1143, 67809 },
+ { 0x1144, 69414 },
+ { 0x1145, 67523 },
+ { 0x1146, 69262 },
+ { 0x1147, 67803 },
+ { 0x1148, 69406 },
+ { 0x1149, 68886 },
+ { 0x114A, 67009 },
+ { 0x114B, 67511 },
+ { 0x114C, 67517 },
+ { 0x114D, 67520 },
+ { 0x114E, 67508 },
+ { 0x114F, 67066 },
+ { 0x1150, 67608 },
+ { 0x1151, 67069 },
+ { 0x1152, 67271 },
+ { 0x1153, 67072 },
+ { 0x1154, 67274 },
+ { 0x1155, 68059 },
+ { 0x1156, 67063 },
+ { 0x1157, 67265 },
+ { 0x1158, 67280 },
+ { 0x1159, 69170 },
+ { 0x115A, 67283 },
+ { 0x115B, 69174 },
+ { 0x115C, 67617 },
+ { 0x115D, 69326 },
+ { 0x115E, 67286 },
+ { 0x115F, 69178 },
+ { 0x1160, 67620 },
+ { 0x1161, 69330 },
+ { 0x1162, 67277 },
+ { 0x1163, 69166 },
+ { 0x1164, 67611 },
+ { 0x1165, 69322 },
+ { 0x1166, 68854 },
+ { 0x1167, 66982 },
+ { 0x1168, 67075 },
+ { 0x1169, 69519 },
+ { 0x116A, 69523 },
+ { 0x116B, 69527 },
+ { 0x116C, 69515 },
+ { 0x116D, 67030 },
+ { 0x116E, 67586 },
+ { 0x116F, 67033 },
+ { 0x1170, 67238 },
+ { 0x1171, 67036 },
+ { 0x1172, 67241 },
+ { 0x1173, 68055 },
+ { 0x1174, 67027 },
+ { 0x1175, 67231 },
+ { 0x1176, 67247 },
+ { 0x1177, 69154 },
+ { 0x1178, 67250 },
+ { 0x1179, 69158 },
+ { 0x117A, 67592 },
+ { 0x117B, 69310 },
+ { 0x117C, 67253 },
+ { 0x117D, 69162 },
+ { 0x117E, 67595 },
+ { 0x117F, 69314 },
+ { 0x1180, 67244 },
+ { 0x1181, 69150 },
+ { 0x1182, 67589 },
+ { 0x1183, 69306 },
+ { 0x1184, 68850 },
+ { 0x1185, 66970 },
+ { 0x1186, 68007 },
+ { 0x1187, 67096 },
+ { 0x1188, 67644 },
+ { 0x1189, 67102 },
+ { 0x118A, 67328 },
+ { 0x118B, 67105 },
+ { 0x118C, 67331 },
+ { 0x118D, 68067 },
+ { 0x118E, 67093 },
+ { 0x118F, 67322 },
+ { 0x1190, 67337 },
+ { 0x1191, 69210 },
+ { 0x1192, 67340 },
+ { 0x1193, 69214 },
+ { 0x1194, 67650 },
+ { 0x1195, 69350 },
+ { 0x1196, 67343 },
+ { 0x1197, 69218 },
+ { 0x1198, 67653 },
+ { 0x1199, 69354 },
+ { 0x119A, 67334 },
+ { 0x119B, 69206 },
+ { 0x119C, 67647 },
+ { 0x119D, 69346 },
+ { 0x119E, 68858 },
+ { 0x119F, 66988 },
+ { 0x11A0, 69090 },
+ { 0x11A1, 67099 },
+ { 0x11A2, 69446 },
+ { 0x11A3, 67979 },
+ { 0x11A4, 67111 },
+ { 0x11A5, 67656 },
+ { 0x11A6, 67120 },
+ { 0x11A7, 67361 },
+ { 0x11A8, 67123 },
+ { 0x11A9, 67367 },
+ { 0x11AA, 68071 },
+ { 0x11AB, 67108 },
+ { 0x11AC, 67346 },
+ { 0x11AD, 67376 },
+ { 0x11AE, 69226 },
+ { 0x11AF, 67373 },
+ { 0x11B0, 69222 },
+ { 0x11B1, 67680 },
+ { 0x11B2, 69358 },
+ { 0x11B3, 68862 },
+ { 0x11B4, 66991 },
+ { 0x11B5, 68219 },
+ { 0x11B6, 67117 },
+ { 0x11B7, 67081 },
+ { 0x11B8, 67623 },
+ { 0x11B9, 67087 },
+ { 0x11BA, 67304 },
+ { 0x11BB, 67090 },
+ { 0x11BC, 67307 },
+ { 0x11BD, 68063 },
+ { 0x11BE, 67078 },
+ { 0x11BF, 67289 },
+ { 0x11C0, 67313 },
+ { 0x11C1, 69194 },
+ { 0x11C2, 67316 },
+ { 0x11C3, 69198 },
+ { 0x11C4, 67638 },
+ { 0x11C5, 69338 },
+ { 0x11C6, 67319 },
+ { 0x11C7, 69202 },
+ { 0x11C8, 67641 },
+ { 0x11C9, 69342 },
+ { 0x11CA, 67310 },
+ { 0x11CB, 69190 },
+ { 0x11CC, 67635 },
+ { 0x11CD, 69334 },
+ { 0x11CE, 66985 },
+ { 0x11CF, 69086 },
+ { 0x11D0, 67951 },
+ { 0x11D1, 67171 },
+ { 0x11D2, 67722 },
+ { 0x11D3, 67177 },
+ { 0x11D4, 67463 },
+ { 0x11D5, 67180 },
+ { 0x11D6, 67466 },
+ { 0x11D7, 68079 },
+ { 0x11D8, 67168 },
+ { 0x11D9, 67445 },
+ { 0x11DA, 67475 },
+ { 0x11DB, 69250 },
+ { 0x11DC, 67478 },
+ { 0x11DD, 69254 },
+ { 0x11DE, 67755 },
+ { 0x11DF, 69398 },
+ { 0x11E0, 67481 },
+ { 0x11E1, 69258 },
+ { 0x11E2, 67758 },
+ { 0x11E3, 69402 },
+ { 0x11E4, 67472 },
+ { 0x11E5, 69246 },
+ { 0x11E6, 67752 },
+ { 0x11E7, 69394 },
+ { 0x11E8, 68882 },
+ { 0x11E9, 67006 },
+ { 0x11EA, 69450 },
+ { 0x11EB, 67183 },
+ { 0x11EC, 69030 },
+ { 0x11ED, 69458 },
+ { 0x11EE, 68838 },
+ { 0x11EF, 68834 },
+ { 0x11F0, 68874 },
+ { 0x11F1, 68878 },
+ { 0x11F2, 68870 },
+ { 0x11F3, 68866 },
+ { 0x11F4, 67454 },
+ { 0x11F5, 67457 },
+ { 0x11F6, 67731 },
+ { 0x11F7, 67460 },
+ { 0x11F8, 67734 },
+ { 0x11F9, 67451 },
+ { 0x11FA, 67725 },
+ { 0x11FB, 67743 },
+ { 0x11FC, 69382 },
+ { 0x11FD, 67746 },
+ { 0x11FE, 69386 },
+ { 0x11FF, 67911 },
+ { 0x1200, 69434 },
+ { 0x1201, 67749 },
+ { 0x1202, 69390 },
+ { 0x1203, 67914 },
+ { 0x1204, 69438 },
+ { 0x1205, 67740 },
+ { 0x1206, 69378 },
+ { 0x1207, 67908 },
+ { 0x1208, 69430 },
+ { 0x1209, 67174 },
+ { 0x120A, 67216 },
+ { 0x120B, 67812 },
+ { 0x120C, 67219 },
+ { 0x120D, 67565 },
+ { 0x120E, 67222 },
+ { 0x120F, 67568 },
+ { 0x1210, 68087 },
+ { 0x1211, 67213 },
+ { 0x1212, 67559 },
+ { 0x1213, 67577 },
+ { 0x1214, 69294 },
+ { 0x1215, 67580 },
+ { 0x1216, 69298 },
+ { 0x1217, 67818 },
+ { 0x1218, 69422 },
+ { 0x1219, 67583 },
+ { 0x121A, 69302 },
+ { 0x121B, 67821 },
+ { 0x121C, 69426 },
+ { 0x121D, 67574 },
+ { 0x121E, 69290 },
+ { 0x121F, 67815 },
+ { 0x1220, 69418 },
+ { 0x1221, 68890 },
+ { 0x1222, 67012 },
+ { 0x1223, 69454 },
+ { 0x1224, 69102 },
+ { 0x1225, 68011 },
+ { 0x1226, 67159 },
+ { 0x1227, 67971 },
+ { 0x1228, 69110 },
+ { 0x1229, 67707 },
+ { 0x122A, 67162 },
+ { 0x122B, 67430 },
+ { 0x122C, 67165 },
+ { 0x122D, 67433 },
+ { 0x122E, 69114 },
+ { 0x122F, 67156 },
+ { 0x1230, 67424 },
+ { 0x1231, 69106 },
+ { 0x1232, 67710 },
+ { 0x1233, 69374 },
+ { 0x1234, 67003 },
+ { 0x1235, 69098 },
+ { 0x1236, 67955 },
+ { 0x1237, 67045 },
+ { 0x1238, 67598 },
+ { 0x1239, 67048 },
+ { 0x123A, 67259 },
+ { 0x123B, 67051 },
+ { 0x123C, 67262 },
+ { 0x123D, 67042 },
+ { 0x123E, 67256 },
+ { 0x123F, 67605 },
+ { 0x1240, 69318 },
+ { 0x1241, 66976 },
+ { 0x1242, 67493 },
+ { 0x1243, 67959 },
+ { 0x1244, 67496 },
+ { 0x1245, 67963 },
+ { 0x1246, 67767 },
+ { 0x1247, 67967 },
+ { 0x1248, 67499 },
+ { 0x1249, 67770 },
+ { 0x124A, 67490 },
+ { 0x124B, 67764 },
+ { 0x124C, 67920 },
+ { 0x124D, 69442 },
+ { 0x124E, 67192 },
+ { 0x124F, 67794 },
+ { 0x1250, 67797 },
+ { 0x1251, 67800 },
+ { 0x1252, 67791 },
+ { 0x1253, 67514 },
+ { 0x1254, 67538 },
+ { 0x1255, 67541 },
+ { 0x1256, 67544 },
+ { 0x1257, 67535 },
+ { 0x1258, 68902 },
+ { 0x1259, 68906 },
+ { 0x125A, 68918 },
+ { 0x125B, 68910 },
+ { 0x125C, 68922 },
+ { 0x125D, 68898 },
+ { 0x125E, 68914 },
+ { 0x125F, 68894 },
+ { 0x1260, 68926 },
+ { 0x1261, 67054 },
+ { 0x1262, 67704 },
+ { 0x1263, 67150 },
+ { 0x1264, 67418 },
+ { 0x1265, 67153 },
+ { 0x1266, 67421 },
+ { 0x1267, 67147 },
+ { 0x1268, 67412 },
+ { 0x1269, 67000 },
+ { 0x126A, 67782 },
+ { 0x126B, 67785 },
+ { 0x126C, 67788 },
+ { 0x126D, 67779 },
+ { 0x126E, 69122 },
+ { 0x126F, 69126 },
+ { 0x1270, 69130 },
+ { 0x1271, 69118 },
+ { 0x1272, 67896 },
+ { 0x1273, 67355 },
+ { 0x1274, 67665 },
+ { 0x1275, 67358 },
+ { 0x1276, 67668 },
+ { 0x1277, 67352 },
+ { 0x1278, 67659 },
+ { 0x1279, 67114 },
+ { 0x127A, 67364 },
+ { 0x127B, 68027 },
+ { 0x127C, 68031 },
+ { 0x127D, 68035 },
+ { 0x127E, 68023 },
+ { 0x127F, 69470 },
+ { 0x1280, 69474 },
+ { 0x1281, 69478 },
+ { 0x1282, 69466 },
+ { 0x1283, 69462 },
+ { 0x1284, 67298 },
+ { 0x1285, 67629 },
+ { 0x1286, 67301 },
+ { 0x1287, 67632 },
+ { 0x1288, 67295 },
+ { 0x1289, 67626 },
+ { 0x128A, 67084 },
+ { 0x128B, 68986 },
+ { 0x128C, 68990 },
+ { 0x128D, 69002 },
+ { 0x128E, 68994 },
+ { 0x128F, 69006 },
+ { 0x1290, 68982 },
+ { 0x1291, 68998 },
+ { 0x1292, 68978 },
+ { 0x1293, 68095 },
+ { 0x1294, 69018 },
+ { 0x1295, 69022 },
+ { 0x1296, 69026 },
+ { 0x1297, 69014 },
+ { 0x1298, 69074 },
+ { 0x1299, 69078 },
+ { 0x129A, 69082 },
+ { 0x129B, 69070 },
+ { 0x129C, 69058 },
+ { 0x129D, 69062 },
+ { 0x129E, 69066 },
+ { 0x129F, 69054 },
+ { 0x12A0, 69042 },
+ { 0x12A1, 69046 },
+ { 0x12A2, 69050 },
+ { 0x12A3, 69038 },
+ { 0x12A4, 67987 },
+ { 0x12A5, 67991 },
+ { 0x12A6, 67995 },
+ { 0x12A7, 67983 },
+ { 0x12A8, 68447 },
+ { 0x12A9, 68443 },
+ { 0x12AA, 68435 },
+ { 0x12AB, 68724 },
+ { 0x12AC, 68439 },
+ { 0x12AD, 68431 },
+ { 0x12AE, 68271 },
+ { 0x12AF, 68267 },
+ { 0x12B0, 68259 },
+ { 0x12B1, 68587 },
+ { 0x12B2, 68263 },
+ { 0x12B3, 68255 },
+ { 0x12B4, 68315 },
+ { 0x12B5, 68311 },
+ { 0x12B6, 68303 },
+ { 0x12B7, 68695 },
+ { 0x12B8, 68307 },
+ { 0x12B9, 68299 },
+ { 0x12BA, 68479 },
+ { 0x12BB, 68475 },
+ { 0x12BC, 68467 },
+ { 0x12BD, 68728 },
+ { 0x12BE, 68471 },
+ { 0x12BF, 68463 },
+ { 0x12C0, 68631 },
+ { 0x12C1, 68627 },
+ { 0x12C2, 68619 },
+ { 0x12C3, 68752 },
+ { 0x12C4, 68623 },
+ { 0x12C5, 68615 },
+ { 0x12C6, 68691 },
+ { 0x12C7, 68687 },
+ { 0x12C8, 68679 },
+ { 0x12C9, 68784 },
+ { 0x12CA, 68683 },
+ { 0x12CB, 68675 },
+ { 0x12CC, 68251 },
+ { 0x12CD, 68247 },
+ { 0x12CE, 68239 },
+ { 0x12CF, 68583 },
+ { 0x12D0, 68243 },
+ { 0x12D1, 68235 },
+ { 0x12D2, 68107 },
+ { 0x12D3, 68139 },
+ { 0x12D4, 68135 },
+ { 0x12D5, 68127 },
+ { 0x12D6, 68427 },
+ { 0x12D7, 68131 },
+ { 0x12D8, 68123 },
+ { 0x12D9, 68527 },
+ { 0x12DA, 68523 },
+ { 0x12DB, 68515 },
+ { 0x12DC, 68736 },
+ { 0x12DD, 68519 },
+ { 0x12DE, 68511 },
+ { 0x12DF, 68547 },
+ { 0x12E0, 68543 },
+ { 0x12E1, 68535 },
+ { 0x12E2, 68740 },
+ { 0x12E3, 68539 },
+ { 0x12E4, 68531 },
+ { 0x12E5, 68167 },
+ { 0x12E6, 68231 },
+ { 0x12E7, 68227 },
+ { 0x12E8, 68215 },
+ { 0x12E9, 68579 },
+ { 0x12EA, 68223 },
+ { 0x12EB, 68211 },
+ { 0x12EC, 68207 },
+ { 0x12ED, 68203 },
+ { 0x12EE, 68195 },
+ { 0x12EF, 68575 },
+ { 0x12F0, 68199 },
+ { 0x12F1, 68191 },
+ { 0x12F2, 68335 },
+ { 0x12F3, 68331 },
+ { 0x12F4, 68323 },
+ { 0x12F5, 68699 },
+ { 0x12F6, 68327 },
+ { 0x12F7, 68319 },
+ { 0x12F8, 68163 },
+ { 0x12F9, 68003 },
+ { 0x12FA, 68159 },
+ { 0x12FB, 68151 },
+ { 0x12FC, 68483 },
+ { 0x12FD, 68155 },
+ { 0x12FE, 67999 },
+ { 0x12FF, 68147 },
+ { 0x1300, 68503 },
+ { 0x1301, 68499 },
+ { 0x1302, 68491 },
+ { 0x1303, 68732 },
+ { 0x1304, 68495 },
+ { 0x1305, 68487 },
+ { 0x1306, 68187 },
+ { 0x1307, 68183 },
+ { 0x1308, 68175 },
+ { 0x1309, 68551 },
+ { 0x130A, 68179 },
+ { 0x130B, 68171 },
+ { 0x130C, 68399 },
+ { 0x130D, 68395 },
+ { 0x130E, 68387 },
+ { 0x130F, 68716 },
+ { 0x1310, 68391 },
+ { 0x1311, 68383 },
+ { 0x1312, 68571 },
+ { 0x1313, 68567 },
+ { 0x1314, 68559 },
+ { 0x1315, 68744 },
+ { 0x1316, 68563 },
+ { 0x1317, 68555 },
+ { 0x1318, 68776 },
+ { 0x1319, 68772 },
+ { 0x131A, 68764 },
+ { 0x131B, 68808 },
+ { 0x131C, 68768 },
+ { 0x131D, 68760 },
+ { 0x131E, 68651 },
+ { 0x131F, 68647 },
+ { 0x1320, 68639 },
+ { 0x1321, 68756 },
+ { 0x1322, 68643 },
+ { 0x1323, 68635 },
+ { 0x1324, 68355 },
+ { 0x1325, 68351 },
+ { 0x1326, 68343 },
+ { 0x1327, 68703 },
+ { 0x1328, 68347 },
+ { 0x1329, 68339 },
+ { 0x132A, 68111 },
+ { 0x132B, 68821 },
+ { 0x132C, 68419 },
+ { 0x132D, 68415 },
+ { 0x132E, 68407 },
+ { 0x132F, 68720 },
+ { 0x1330, 68411 },
+ { 0x1331, 68403 },
+ { 0x1332, 68295 },
+ { 0x1333, 68291 },
+ { 0x1334, 68279 },
+ { 0x1335, 68591 },
+ { 0x1336, 68287 },
+ { 0x1337, 68275 },
+ { 0x1338, 68611 },
+ { 0x1339, 68607 },
+ { 0x133A, 68599 },
+ { 0x133B, 68748 },
+ { 0x133C, 68603 },
+ { 0x133D, 68595 },
+ { 0x133E, 68283 },
+ { 0x133F, 68671 },
+ { 0x1340, 68667 },
+ { 0x1341, 68659 },
+ { 0x1342, 68780 },
+ { 0x1343, 68663 },
+ { 0x1344, 68655 },
+ { 0x1345, 68375 },
+ { 0x1346, 68371 },
+ { 0x1347, 68363 },
+ { 0x1348, 68707 },
+ { 0x1349, 68367 },
+ { 0x134A, 68359 },
+ { 0x134B, 68804 },
+ { 0x134C, 68800 },
+ { 0x134D, 68792 },
+ { 0x134E, 68812 },
+ { 0x134F, 68796 },
+ { 0x1350, 68788 },
+ { 0x1351, 67234 },
+ { 0x1352, 67601 },
+ { 0x1353, 67415 },
+ { 0x1354, 67662 },
+ { 0x1355, 67674 },
+ { 0x1356, 67902 },
+ { 0x1357, 67677 },
+ { 0x1358, 67905 },
+ { 0x1359, 67671 },
+ { 0x135A, 67899 },
+ { 0x135B, 69503 },
+ { 0x135C, 69486 },
+ { 0x135D, 69507 },
+ { 0x135E, 69490 },
+ { 0x135F, 69511 },
+ { 0x1360, 69482 },
+ { 0x1361, 69499 },
+ { 0x1362, 69494 },
+ { 0x1363, 69034 },
+ { 0x1364, 32130 },
+ { 0x1365, 32175 },
+ { 0x1366, 32157 },
+ { 0x1367, 32181 },
+ { 0x1368, 32169 },
+ { 0x1369, 32163 },
+ { 0x136A, 32172 },
+ { 0x136B, 32148 },
+ { 0x136C, 32187 },
+ { 0x136D, 32145 },
+ { 0x136E, 32178 },
+ { 0x136F, 32160 },
+ { 0x1370, 32151 },
+ { 0x1371, 32202 },
+ { 0x1372, 32190 },
+ { 0x1373, 32166 },
+ { 0x1374, 32142 },
+ { 0x1375, 32139 },
+ { 0x1376, 32136 },
+ { 0x1377, 32196 },
+ { 0x1378, 32199 },
+ { 0x1379, 32193 },
+ { 0x137A, 32133 },
+ { 0x137B, 32205 },
+ { 0x137C, 32154 },
+ { 0x137D, 32208 },
+ { 0x137E, 32184 },
+ { 0x137F, 32211 },
+ { 0x1380, 32214 },
+ { 0x1381, 33072 },
+ { 0x1382, 33004 },
+ { 0x1383, 33100 },
+ { 0x1384, 33039 },
+ { 0x1385, 33013 },
+ { 0x1386, 33007 },
+ { 0x1387, 33243 },
+ { 0x1388, 33051 },
+ { 0x1389, 33109 },
+ { 0x138A, 33032 },
+ { 0x138B, 33019 },
+ { 0x138C, 33066 },
+ { 0x138D, 33277 },
+ { 0x138E, 33265 },
+ { 0x138F, 32998 },
+ { 0x1390, 33023 },
+ { 0x1391, 33026 },
+ { 0x1392, 33137 },
+ { 0x1393, 33134 },
+ { 0x1394, 33042 },
+ { 0x1395, 33093 },
+ { 0x1396, 32992 },
+ { 0x1397, 33048 },
+ { 0x1398, 33078 },
+ { 0x1399, 33054 },
+ { 0x139A, 33154 },
+ { 0x139B, 33184 },
+ { 0x139C, 33126 },
+ { 0x139D, 33297 },
+ { 0x139E, 33293 },
+ { 0x139F, 33202 },
+ { 0x13A0, 33285 },
+ { 0x13A1, 33237 },
+ { 0x13A2, 33083 },
+ { 0x13A3, 32989 },
+ { 0x13A4, 33130 },
+ { 0x13A5, 33057 },
+ { 0x13A6, 33258 },
+ { 0x13A7, 33251 },
+ { 0x13A8, 33089 },
+ { 0x13A9, 33211 },
+ { 0x13AA, 33105 },
+ { 0x13AB, 33216 },
+ { 0x13AC, 33143 },
+ { 0x13AD, 33269 },
+ { 0x13AE, 32983 },
+ { 0x13AF, 33016 },
+ { 0x13B0, 33148 },
+ { 0x13B1, 33273 },
+ { 0x13B2, 32986 },
+ { 0x13B3, 33228 },
+ { 0x13B4, 33301 },
+ { 0x13B5, 33240 },
+ { 0x13B6, 33208 },
+ { 0x13B7, 33121 },
+ { 0x13B8, 33197 },
+ { 0x13B9, 33289 },
+ { 0x13BA, 33281 },
+ { 0x13BB, 33191 },
+ { 0x13BC, 33234 },
+ { 0x13BD, 33188 },
+ { 0x13BE, 33060 },
+ { 0x13BF, 33116 },
+ { 0x13C0, 33223 },
+ { 0x13C1, 33045 },
+ { 0x13C2, 33063 },
+ { 0x13C3, 33220 },
+ { 0x13C4, 33069 },
+ { 0x13C5, 33113 },
+ { 0x13C6, 33097 },
+ { 0x13C7, 33262 },
+ { 0x13C8, 33255 },
+ { 0x13C9, 33248 },
+ { 0x13CA, 33001 },
+ { 0x13CB, 33010 },
+ { 0x13CC, 33305 },
+ { 0x13CD, 33311 },
+ { 0x13CE, 32977 },
+ { 0x13CF, 32980 },
+ { 0x13D0, 33314 },
+ { 0x13D1, 33308 },
+ { 0x13D2, 32995 },
+ { 0x13D3, 33036 },
+ { 0x13D4, 33029 },
+ { 0x13D5, 33174 },
+ { 0x13D6, 33169 },
+ { 0x13D7, 33164 },
+ { 0x13D8, 33159 },
+ { 0x13D9, 33179 },
+ { 0x13DA, 64130 },
+ { 0x13DB, 64133 },
+ { 0x13DC, 64136 },
+ { 0x13DD, 64151 },
+ { 0x13DE, 64145 },
+ { 0x13DF, 64178 },
+ { 0x13E0, 64169 },
+ { 0x13E1, 64142 },
+ { 0x13E2, 64160 },
+ { 0x13E3, 64163 },
+ { 0x13E4, 64139 },
+ { 0x13E5, 64157 },
+ { 0x13E6, 64175 },
+ { 0x13E7, 64154 },
+ { 0x13E8, 64172 },
+ { 0x13E9, 64166 },
+ { 0x13EA, 64148 },
+ { 0x13EB, 64122 },
+ { 0x13EC, 64126 },
+ { 0x13ED, 64119 },
+ { 0x13EE, 58686 },
+ { 0x13EF, 58689 },
+ { 0x13F0, 58692 },
+ { 0x13F1, 58707 },
+ { 0x13F2, 58701 },
+ { 0x13F3, 58737 },
+ { 0x13F4, 58728 },
+ { 0x13F5, 58698 },
+ { 0x13F6, 58716 },
+ { 0x13F7, 58719 },
+ { 0x13F8, 58695 },
+ { 0x13F9, 58713 },
+ { 0x13FA, 58734 },
+ { 0x13FB, 58722 },
+ { 0x13FC, 58710 },
+ { 0x13FD, 58731 },
+ { 0x13FE, 58725 },
+ { 0x13FF, 58704 },
+ { 0x1400, 58678 },
+ { 0x1401, 58682 },
+ { 0x1402, 58675 },
+ { 0x1403, 100891 },
+ { 0x1404, 100888 },
+ { 0x1405, 18604 },
+ { 0x1406, 18607 },
+ { 0x1407, 18610 },
+ { 0x1408, 18625 },
+ { 0x1409, 18619 },
+ { 0x140A, 18655 },
+ { 0x140B, 18646 },
+ { 0x140C, 18616 },
+ { 0x140D, 18634 },
+ { 0x140E, 18637 },
+ { 0x140F, 18613 },
+ { 0x1410, 18631 },
+ { 0x1411, 18652 },
+ { 0x1412, 18640 },
+ { 0x1413, 18628 },
+ { 0x1414, 18649 },
+ { 0x1415, 18643 },
+ { 0x1416, 18622 },
+ { 0x1417, 18596 },
+ { 0x1418, 18600 },
+ { 0x1419, 83320 },
+ { 0x141A, 83323 },
+ { 0x141B, 83326 },
+ { 0x141C, 83338 },
+ { 0x141D, 83335 },
+ { 0x141E, 83365 },
+ { 0x141F, 83356 },
+ { 0x1420, 83332 },
+ { 0x1421, 83347 },
+ { 0x1422, 83350 },
+ { 0x1423, 83329 },
+ { 0x1424, 83344 },
+ { 0x1425, 83362 },
+ { 0x1426, 83341 },
+ { 0x1427, 83359 },
+ { 0x1428, 83353 },
+ { 0x1429, 83312 },
+ { 0x142A, 83316 },
+ { 0x142B, 22930 },
+ { 0x142C, 22978 },
+ { 0x142D, 22933 },
+ { 0x142E, 22981 },
+ { 0x142F, 22984 },
+ { 0x1430, 22915 },
+ { 0x1431, 22972 },
+ { 0x1432, 22918 },
+ { 0x1433, 22975 },
+ { 0x1434, 22990 },
+ { 0x1435, 22921 },
+ { 0x1436, 23011 },
+ { 0x1437, 22924 },
+ { 0x1438, 23014 },
+ { 0x1439, 22987 },
+ { 0x143A, 22960 },
+ { 0x143B, 23005 },
+ { 0x143C, 22963 },
+ { 0x143D, 23008 },
+ { 0x143E, 22945 },
+ { 0x143F, 22912 },
+ { 0x1440, 22993 },
+ { 0x1441, 22948 },
+ { 0x1442, 22996 },
+ { 0x1443, 22942 },
+ { 0x1444, 22969 },
+ { 0x1445, 22954 },
+ { 0x1446, 22939 },
+ { 0x1447, 22966 },
+ { 0x1448, 22999 },
+ { 0x1449, 23002 },
+ { 0x144A, 22957 },
+ { 0x144B, 22927 },
+ { 0x144C, 22936 },
+ { 0x144D, 22951 },
+ { 0x144E, 23229 },
+ { 0x144F, 23221 },
+ { 0x1450, 23205 },
+ { 0x1451, 23237 },
+ { 0x1452, 23209 },
+ { 0x1453, 23253 },
+ { 0x1454, 23257 },
+ { 0x1455, 23265 },
+ { 0x1456, 23213 },
+ { 0x1457, 23261 },
+ { 0x1458, 23197 },
+ { 0x1459, 23217 },
+ { 0x145A, 23201 },
+ { 0x145B, 23225 },
+ { 0x145C, 23241 },
+ { 0x145D, 23247 },
+ { 0x145E, 23233 },
+ { 0x145F, 22908 },
+ { 0x1460, 22904 },
+ { 0x1461, 22856 },
+ { 0x1462, 22844 },
+ { 0x1463, 22876 },
+ { 0x1464, 22852 },
+ { 0x1465, 22900 },
+ { 0x1466, 22848 },
+ { 0x1467, 22892 },
+ { 0x1468, 22888 },
+ { 0x1469, 22880 },
+ { 0x146A, 22896 },
+ { 0x146B, 22872 },
+ { 0x146C, 22840 },
+ { 0x146D, 22860 },
+ { 0x146E, 22864 },
+ { 0x146F, 22884 },
+ { 0x1470, 22868 },
+ { 0x1471, 22780 },
+ { 0x1472, 22783 },
+ { 0x1473, 22807 },
+ { 0x1474, 22798 },
+ { 0x1475, 22786 },
+ { 0x1476, 22752 },
+ { 0x1477, 22749 },
+ { 0x1478, 22801 },
+ { 0x1479, 22774 },
+ { 0x147A, 22743 },
+ { 0x147B, 22767 },
+ { 0x147C, 22771 },
+ { 0x147D, 22746 },
+ { 0x147E, 22795 },
+ { 0x147F, 22740 },
+ { 0x1480, 22792 },
+ { 0x1481, 22758 },
+ { 0x1482, 22736 },
+ { 0x1483, 22755 },
+ { 0x1484, 22763 },
+ { 0x1485, 22777 },
+ { 0x1486, 23193 },
+ { 0x1487, 22804 },
+ { 0x1488, 22789 },
+ { 0x1489, 22828 },
+ { 0x148A, 22810 },
+ { 0x148B, 22816 },
+ { 0x148C, 22837 },
+ { 0x148D, 22822 },
+ { 0x148E, 22819 },
+ { 0x148F, 22813 },
+ { 0x1490, 22834 },
+ { 0x1491, 22831 },
+ { 0x1492, 22825 },
+ { 0x1493, 23043 },
+ { 0x1494, 23053 },
+ { 0x1495, 23038 },
+ { 0x1496, 23033 },
+ { 0x1497, 23048 },
+ { 0x1498, 23058 },
+ { 0x1499, 23078 },
+ { 0x149A, 23068 },
+ { 0x149B, 23063 },
+ { 0x149C, 23073 },
+ { 0x149D, 97262 },
+ { 0x149E, 97866 },
+ { 0x149F, 97266 },
+ { 0x14A0, 97250 },
+ { 0x14A1, 97264 },
+ { 0x14A2, 97232 },
+ { 0x14A3, 97258 },
+ { 0x14A4, 97253 },
+ { 0x14A5, 97861 },
+ { 0x14A6, 97857 },
+ { 0x14A7, 97864 },
+ { 0x14A8, 97235 },
+ { 0x14A9, 97240 },
+ { 0x14AA, 97245 },
+ { 0x14AB, 97298 },
+ { 0x14AC, 97286 },
+ { 0x14AD, 97268 },
+ { 0x14AE, 97274 },
+ { 0x14AF, 97295 },
+ { 0x14B0, 97280 },
+ { 0x14B1, 97277 },
+ { 0x14B2, 97271 },
+ { 0x14B3, 97292 },
+ { 0x14B4, 97289 },
+ { 0x14B5, 97283 },
+ { 0x14B6, 97301 },
+ { 0x14B7, 97304 },
+ { 0x14B8, 97307 },
+ { 0x14B9, 97310 },
+ { 0x14BA, 97313 },
+ { 0x14BB, 97346 },
+ { 0x14BC, 97364 },
+ { 0x14BD, 97322 },
+ { 0x14BE, 97343 },
+ { 0x14BF, 97517 },
+ { 0x14C0, 97316 },
+ { 0x14C1, 97349 },
+ { 0x14C2, 97352 },
+ { 0x14C3, 97328 },
+ { 0x14C4, 97340 },
+ { 0x14C5, 97337 },
+ { 0x14C6, 97358 },
+ { 0x14C7, 97535 },
+ { 0x14C8, 97361 },
+ { 0x14C9, 97319 },
+ { 0x14CA, 97520 },
+ { 0x14CB, 97331 },
+ { 0x14CC, 97370 },
+ { 0x14CD, 97355 },
+ { 0x14CE, 97367 },
+ { 0x14CF, 97325 },
+ { 0x14D0, 97334 },
+ { 0x14D1, 97529 },
+ { 0x14D2, 97538 },
+ { 0x14D3, 97373 },
+ { 0x14D4, 97526 },
+ { 0x14D5, 97544 },
+ { 0x14D6, 97532 },
+ { 0x14D7, 97541 },
+ { 0x14D8, 97523 },
+ { 0x14D9, 97747 },
+ { 0x14DA, 97635 },
+ { 0x14DB, 97639 },
+ { 0x14DC, 97643 },
+ { 0x14DD, 97647 },
+ { 0x14DE, 97675 },
+ { 0x14DF, 97691 },
+ { 0x14E0, 97715 },
+ { 0x14E1, 97651 },
+ { 0x14E2, 97679 },
+ { 0x14E3, 97683 },
+ { 0x14E4, 97659 },
+ { 0x14E5, 97671 },
+ { 0x14E6, 97687 },
+ { 0x14E7, 97655 },
+ { 0x14E8, 97719 },
+ { 0x14E9, 97663 },
+ { 0x14EA, 97743 },
+ { 0x14EB, 97699 },
+ { 0x14EC, 97695 },
+ { 0x14ED, 97667 },
+ { 0x14EE, 97727 },
+ { 0x14EF, 97731 },
+ { 0x14F0, 97735 },
+ { 0x14F1, 97739 },
+ { 0x14F2, 97723 },
+ { 0x14F3, 97547 },
+ { 0x14F4, 97551 },
+ { 0x14F5, 97575 },
+ { 0x14F6, 97595 },
+ { 0x14F7, 97555 },
+ { 0x14F8, 97603 },
+ { 0x14F9, 97583 },
+ { 0x14FA, 97567 },
+ { 0x14FB, 97571 },
+ { 0x14FC, 97587 },
+ { 0x14FD, 97623 },
+ { 0x14FE, 97591 },
+ { 0x14FF, 97559 },
+ { 0x1500, 97579 },
+ { 0x1501, 97563 },
+ { 0x1502, 97611 },
+ { 0x1503, 97615 },
+ { 0x1504, 97627 },
+ { 0x1505, 97599 },
+ { 0x1506, 97619 },
+ { 0x1507, 97607 },
+ { 0x1508, 97631 },
+ { 0x1509, 97753 },
+ { 0x150A, 97761 },
+ { 0x150B, 97765 },
+ { 0x150C, 97757 },
+ { 0x150D, 97853 },
+ { 0x150E, 97505 },
+ { 0x150F, 97499 },
+ { 0x1510, 97484 },
+ { 0x1511, 97494 },
+ { 0x1512, 97511 },
+ { 0x1513, 97479 },
+ { 0x1514, 97473 },
+ { 0x1515, 97376 },
+ { 0x1516, 97381 },
+ { 0x1517, 97401 },
+ { 0x1518, 97426 },
+ { 0x1519, 97391 },
+ { 0x151A, 97446 },
+ { 0x151B, 97468 },
+ { 0x151C, 97421 },
+ { 0x151D, 97431 },
+ { 0x151E, 97411 },
+ { 0x151F, 97396 },
+ { 0x1520, 97406 },
+ { 0x1521, 97436 },
+ { 0x1522, 97441 },
+ { 0x1523, 97451 },
+ { 0x1524, 97416 },
+ { 0x1525, 97386 },
+ { 0x1526, 97703 },
+ { 0x1527, 97709 },
+ { 0x1528, 97805 },
+ { 0x1529, 97823 },
+ { 0x152A, 97769 },
+ { 0x152B, 97811 },
+ { 0x152C, 97835 },
+ { 0x152D, 97847 },
+ { 0x152E, 97775 },
+ { 0x152F, 97799 },
+ { 0x1530, 97829 },
+ { 0x1531, 97793 },
+ { 0x1532, 97841 },
+ { 0x1533, 97781 },
+ { 0x1534, 97456 },
+ { 0x1535, 97462 },
+ { 0x1536, 97787 },
+ { 0x1537, 97489 },
+ { 0x1538, 97817 },
+ { 0x1539, 67132 },
+ { 0x153A, 67024 },
+ { 0x153B, 67228 },
+ { 0x153C, 67550 },
+ { 0x153D, 67397 },
+ { 0x153E, 67388 },
+ { 0x153F, 67701 },
+ { 0x1540, 67487 },
+ { 0x1541, 67268 },
+ { 0x1542, 67614 },
+ { 0x1543, 67325 },
+ { 0x1544, 67370 },
+ { 0x1545, 67349 },
+ { 0x1546, 67292 },
+ { 0x1547, 67469 },
+ { 0x1548, 67448 },
+ { 0x1549, 67737 },
+ { 0x154A, 67728 },
+ { 0x154B, 67917 },
+ { 0x154C, 67571 },
+ { 0x154D, 67562 },
+ { 0x154E, 67427 },
+ { 0x154F, 67379 },
+ { 0x1550, 68962 },
+ { 0x1551, 67683 },
+ { 0x1552, 68970 },
+ { 0x1553, 67382 },
+ { 0x1554, 68966 },
+ { 0x1555, 67686 },
+ { 0x1556, 68974 },
+ { 0x1557, 67713 },
+ { 0x1558, 67439 },
+ { 0x1559, 67716 },
+ { 0x155A, 67442 },
+ { 0x155B, 67719 },
+ { 0x155C, 67436 },
+ { 0x155D, 68946 },
+ { 0x155E, 68954 },
+ { 0x155F, 68934 },
+ { 0x1560, 68930 },
+ { 0x1561, 68938 },
+ { 0x1562, 68942 },
+ { 0x1563, 68950 },
+ { 0x1564, 68958 },
+ { 0x1565, 68826 },
+ { 0x1566, 69010 },
+ { 0x1567, 67863 },
+ { 0x1568, 67891 },
+ { 0x1569, 67975 },
+ { 0x156A, 69186 },
+ { 0x156B, 69182 },
+ { 0x156C, 67776 },
+ { 0x156D, 67773 },
+ { 0x156E, 67935 },
+ { 0x156F, 67932 },
+ { 0x1570, 67929 },
+ { 0x1571, 67926 },
+ { 0x1572, 67923 },
+ { 0x1573, 68043 },
+ { 0x1574, 68039 },
+ { 0x1575, 68015 },
+ { 0x1576, 68455 },
+ { 0x1577, 68711 },
+ { 0x1578, 68423 },
+ { 0x1579, 68451 },
+ { 0x157A, 68019 },
+ { 0x157B, 68507 },
+ { 0x157C, 67938 },
+ { 0x157D, 67943 },
+ { 0x157E, 68816 },
+ { 0x157F, 30633 },
+ { 0x1580, 30543 },
+ { 0x1581, 30588 },
+ { 0x1582, 30534 },
+ { 0x1583, 30582 },
+ { 0x1584, 30591 },
+ { 0x1585, 30528 },
+ { 0x1586, 30576 },
+ { 0x1587, 30540 },
+ { 0x1588, 30585 },
+ { 0x1589, 30609 },
+ { 0x158A, 30564 },
+ { 0x158B, 30603 },
+ { 0x158C, 30531 },
+ { 0x158D, 30579 },
+ { 0x158E, 30552 },
+ { 0x158F, 30555 },
+ { 0x1590, 30594 },
+ { 0x1591, 30525 },
+ { 0x1592, 30573 },
+ { 0x1593, 30549 },
+ { 0x1594, 30570 },
+ { 0x1595, 30558 },
+ { 0x1596, 30546 },
+ { 0x1597, 30567 },
+ { 0x1598, 30597 },
+ { 0x1599, 30600 },
+ { 0x159A, 30561 },
+ { 0x159B, 30537 },
+ { 0x159C, 30612 },
+ { 0x159D, 30606 },
+ { 0x159E, 30489 },
+ { 0x159F, 30497 },
+ { 0x15A0, 30505 },
+ { 0x15A1, 30517 },
+ { 0x15A2, 30509 },
+ { 0x15A3, 30521 },
+ { 0x15A4, 30513 },
+ { 0x15A5, 30493 },
+ { 0x15A6, 30501 },
+ { 0x15A7, 30626 },
+ { 0x15A8, 30618 },
+ { 0x15A9, 30622 },
+ { 0x15AA, 30453 },
+ { 0x15AB, 30481 },
+ { 0x15AC, 30485 },
+ { 0x15AD, 30477 },
+ { 0x15AE, 30465 },
+ { 0x15AF, 30469 },
+ { 0x15B0, 30461 },
+ { 0x15B1, 30473 },
+ { 0x15B2, 30457 },
+ { 0x15B3, 30420 },
+ { 0x15B4, 30417 },
+ { 0x15B5, 30414 },
+ { 0x15B6, 30411 },
+ { 0x15B7, 30630 },
+ { 0x15B8, 30615 },
+ { 0x15B9, 30441 },
+ { 0x15BA, 30423 },
+ { 0x15BB, 30429 },
+ { 0x15BC, 30450 },
+ { 0x15BD, 30435 },
+ { 0x15BE, 30432 },
+ { 0x15BF, 30426 },
+ { 0x15C0, 30447 },
+ { 0x15C1, 30444 },
+ { 0x15C2, 30438 },
+ { 0x15C3, 9744 },
+ { 0x15C4, 9788 },
+ { 0x15C5, 9804 },
+ { 0x15C6, 9816 },
+ { 0x15C7, 9772 },
+ { 0x15C8, 9792 },
+ { 0x15C9, 9776 },
+ { 0x15CA, 9812 },
+ { 0x15CB, 9748 },
+ { 0x15CC, 9764 },
+ { 0x15CD, 9808 },
+ { 0x15CE, 9752 },
+ { 0x15CF, 9736 },
+ { 0x15D0, 9784 },
+ { 0x15D1, 9740 },
+ { 0x15D2, 9768 },
+ { 0x15D3, 9800 },
+ { 0x15D4, 9820 },
+ { 0x15D5, 9756 },
+ { 0x15D6, 9704 },
+ { 0x15D7, 9712 },
+ { 0x15D8, 9728 },
+ { 0x15D9, 9732 },
+ { 0x15DA, 9720 },
+ { 0x15DB, 9760 },
+ { 0x15DC, 9716 },
+ { 0x15DD, 9780 },
+ { 0x15DE, 9708 },
+ { 0x15DF, 9796 },
+ { 0x15E0, 9724 },
+ { 0x15E1, 9824 },
+ { 0x15E2, 9828 },
+ { 0x15E3, 9832 },
+ { 0x15E4, 9836 },
+ { 0x15E5, 9840 },
+ { 0x15E6, 6740 },
+ { 0x15E7, 6608 },
+ { 0x15E8, 6710 },
+ { 0x15E9, 6764 },
+ { 0x15EA, 6782 },
+ { 0x15EB, 6578 },
+ { 0x15EC, 6632 },
+ { 0x15ED, 6650 },
+ { 0x15EE, 6806 },
+ { 0x15EF, 6746 },
+ { 0x15F0, 6770 },
+ { 0x15F1, 6674 },
+ { 0x15F2, 6614 },
+ { 0x15F3, 6638 },
+ { 0x15F4, 6752 },
+ { 0x15F5, 6800 },
+ { 0x15F6, 6728 },
+ { 0x15F7, 6620 },
+ { 0x15F8, 6668 },
+ { 0x15F9, 6596 },
+ { 0x15FA, 6734 },
+ { 0x15FB, 6788 },
+ { 0x15FC, 6722 },
+ { 0x15FD, 6602 },
+ { 0x15FE, 6656 },
+ { 0x15FF, 6590 },
+ { 0x1600, 6698 },
+ { 0x1601, 6758 },
+ { 0x1602, 6716 },
+ { 0x1603, 6566 },
+ { 0x1604, 6626 },
+ { 0x1605, 6584 },
+ { 0x1606, 6704 },
+ { 0x1607, 6692 },
+ { 0x1608, 6686 },
+ { 0x1609, 6572 },
+ { 0x160A, 6560 },
+ { 0x160B, 6554 },
+ { 0x160C, 6776 },
+ { 0x160D, 6812 },
+ { 0x160E, 6644 },
+ { 0x160F, 6680 },
+ { 0x1610, 6794 },
+ { 0x1611, 6662 },
+ { 0x1612, 6547 },
+ { 0x1613, 6469 },
+ { 0x1614, 6487 },
+ { 0x1615, 6463 },
+ { 0x1616, 6517 },
+ { 0x1617, 6451 },
+ { 0x1618, 6475 },
+ { 0x1619, 6457 },
+ { 0x161A, 6499 },
+ { 0x161B, 6511 },
+ { 0x161C, 6481 },
+ { 0x161D, 6529 },
+ { 0x161E, 6523 },
+ { 0x161F, 6505 },
+ { 0x1620, 6535 },
+ { 0x1621, 6541 },
+ { 0x1622, 6493 },
+ { 0x1623, 6848 },
+ { 0x1624, 6854 },
+ { 0x1625, 6842 },
+ { 0x1626, 6836 },
+ { 0x1627, 6830 },
+ { 0x1628, 6824 },
+ { 0x1629, 6818 },
+ { 0x162A, 6391 },
+ { 0x162B, 6396 },
+ { 0x162C, 6431 },
+ { 0x162D, 6401 },
+ { 0x162E, 6411 },
+ { 0x162F, 6446 },
+ { 0x1630, 6421 },
+ { 0x1631, 6416 },
+ { 0x1632, 6406 },
+ { 0x1633, 6441 },
+ { 0x1634, 6436 },
+ { 0x1635, 6426 },
+ { 0x1636, 6385 },
+ { 0x1637, 6375 },
+ { 0x1638, 6380 },
+ { 0x1639, 23190 },
+ { 0x163A, 23103 },
+ { 0x163B, 23087 },
+ { 0x163C, 23021 },
+ { 0x163D, 23095 },
+ { 0x163E, 23111 },
+ { 0x163F, 23183 },
+ { 0x1640, 23167 },
+ { 0x1641, 23159 },
+ { 0x1642, 23175 },
+ { 0x1643, 23029 },
+ { 0x1644, 23143 },
+ { 0x1645, 23127 },
+ { 0x1646, 23119 },
+ { 0x1647, 23135 },
+ { 0x1648, 23151 },
+ { 0x1649, 23187 },
+ { 0x164A, 23099 },
+ { 0x164B, 23083 },
+ { 0x164C, 23017 },
+ { 0x164D, 23091 },
+ { 0x164E, 23107 },
+ { 0x164F, 23179 },
+ { 0x1650, 23163 },
+ { 0x1651, 23155 },
+ { 0x1652, 23171 },
+ { 0x1653, 23025 },
+ { 0x1654, 23139 },
+ { 0x1655, 23123 },
+ { 0x1656, 23115 },
+ { 0x1657, 23131 },
+ { 0x1658, 23147 },
+ { 0x1659, 66907 },
+ { 0x165A, 66898 },
+ { 0x165B, 66940 },
+ { 0x165C, 66949 },
+ { 0x165D, 66919 },
+ { 0x165E, 66889 },
+ { 0x165F, 66913 },
+ { 0x1660, 66937 },
+ { 0x1661, 66928 },
+ { 0x1662, 66895 },
+ { 0x1663, 66916 },
+ { 0x1664, 66943 },
+ { 0x1665, 66892 },
+ { 0x1666, 66904 },
+ { 0x1667, 66946 },
+ { 0x1668, 66952 },
+ { 0x1669, 66934 },
+ { 0x166A, 66922 },
+ { 0x166B, 66910 },
+ { 0x166C, 66931 },
+ { 0x166D, 66925 },
+ { 0x166E, 66886 },
+ { 0x166F, 66901 },
+ { 0x1670, 66870 },
+ { 0x1671, 66878 },
+ { 0x1672, 66866 },
+ { 0x1673, 66874 },
+ { 0x1674, 66882 },
+ { 0x1675, 66955 },
+ { 0x1676, 66862 },
+ { 0x1677, 10321 },
+ { 0x1678, 10351 },
+ { 0x1679, 10356 },
+ { 0x167A, 10235 },
+ { 0x167B, 10270 },
+ { 0x167C, 10265 },
+ { 0x167D, 10294 },
+ { 0x167E, 10306 },
+ { 0x167F, 10346 },
+ { 0x1680, 10220 },
+ { 0x1681, 10245 },
+ { 0x1682, 10260 },
+ { 0x1683, 10298 },
+ { 0x1684, 10390 },
+ { 0x1685, 10381 },
+ { 0x1686, 10172 },
+ { 0x1687, 10285 },
+ { 0x1688, 10386 },
+ { 0x1689, 10336 },
+ { 0x168A, 10376 },
+ { 0x168B, 10250 },
+ { 0x168C, 10280 },
+ { 0x168D, 10192 },
+ { 0x168E, 10168 },
+ { 0x168F, 10326 },
+ { 0x1690, 10361 },
+ { 0x1691, 10311 },
+ { 0x1692, 10240 },
+ { 0x1693, 10225 },
+ { 0x1694, 10275 },
+ { 0x1695, 10188 },
+ { 0x1696, 10255 },
+ { 0x1697, 10341 },
+ { 0x1698, 10200 },
+ { 0x1699, 10302 },
+ { 0x169A, 10184 },
+ { 0x169B, 10290 },
+ { 0x169C, 10208 },
+ { 0x169D, 10366 },
+ { 0x169E, 10371 },
+ { 0x169F, 10331 },
+ { 0x16A0, 10316 },
+ { 0x16A1, 10216 },
+ { 0x16A2, 10156 },
+ { 0x16A3, 10230 },
+ { 0x16A4, 10160 },
+ { 0x16A5, 10180 },
+ { 0x16A6, 10164 },
+ { 0x16A7, 10204 },
+ { 0x16A8, 10176 },
+ { 0x16A9, 10196 },
+ { 0x16AA, 10212 },
+ { 0x16AB, 10394 },
+ { 0x16AC, 10453 },
+ { 0x16AD, 10447 },
+ { 0x16AE, 10409 },
+ { 0x16AF, 9913 },
+ { 0x16B0, 10441 },
+ { 0x16B1, 10426 },
+ { 0x16B2, 10432 },
+ { 0x16B3, 10416 },
+ { 0x16B4, 10404 },
+ { 0x16B5, 10421 },
+ { 0x16B6, 9955 },
+ { 0x16B7, 10056 },
+ { 0x16B8, 10133 },
+ { 0x16B9, 10081 },
+ { 0x16BA, 10144 },
+ { 0x16BB, 10066 },
+ { 0x16BC, 10096 },
+ { 0x16BD, 10123 },
+ { 0x16BE, 10139 },
+ { 0x16BF, 10076 },
+ { 0x16C0, 10128 },
+ { 0x16C1, 10071 },
+ { 0x16C2, 10107 },
+ { 0x16C3, 10118 },
+ { 0x16C4, 10061 },
+ { 0x16C5, 10086 },
+ { 0x16C6, 10113 },
+ { 0x16C7, 10091 },
+ { 0x16C8, 10150 },
+ { 0x16C9, 10101 },
+ { 0x16CA, 9908 },
+ { 0x16CB, 9971 },
+ { 0x16CC, 9975 },
+ { 0x16CD, 9940 },
+ { 0x16CE, 9945 },
+ { 0x16CF, 9950 },
+ { 0x16D0, 9894 },
+ { 0x16D1, 9903 },
+ { 0x16D2, 9993 },
+ { 0x16D3, 10399 },
+ { 0x16D4, 9874 },
+ { 0x16D5, 9844 },
+ { 0x16D6, 9854 },
+ { 0x16D7, 9889 },
+ { 0x16D8, 9864 },
+ { 0x16D9, 9859 },
+ { 0x16DA, 9849 },
+ { 0x16DB, 9884 },
+ { 0x16DC, 9879 },
+ { 0x16DD, 9869 },
+ { 0x16DE, 10036 },
+ { 0x16DF, 10006 },
+ { 0x16E0, 10016 },
+ { 0x16E1, 10051 },
+ { 0x16E2, 10026 },
+ { 0x16E3, 10021 },
+ { 0x16E4, 10011 },
+ { 0x16E5, 10046 },
+ { 0x16E6, 10041 },
+ { 0x16E7, 10031 },
+ { 0x16E8, 9963 },
+ { 0x16E9, 9998 },
+ { 0x16EA, 9959 },
+ { 0x16EB, 9932 },
+ { 0x16EC, 9899 },
+ { 0x16ED, 9967 },
+ { 0x16EE, 9987 },
+ { 0x16EF, 9919 },
+ { 0x16F0, 9928 },
+ { 0x16F1, 9979 },
+ { 0x16F2, 9983 },
+ { 0x16F3, 10002 },
+ { 0x16F4, 9924 },
+ { 0x16F5, 9936 },
+ { 0x16F6, 87977 },
+ { 0x16F7, 88529 },
+ { 0x16F8, 88289 },
+ { 0x16F9, 88355 },
+ { 0x16FA, 87952 },
+ { 0x16FB, 87260 },
+ { 0x16FC, 87962 },
+ { 0x16FD, 87346 },
+ { 0x16FE, 87828 },
+ { 0x16FF, 87705 },
+ { 0x1700, 87947 },
+ { 0x1701, 88500 },
+ { 0x1702, 87908 },
+ { 0x1703, 88503 },
+ { 0x1704, 88506 },
+ { 0x1705, 66149 },
+ { 0x1706, 66153 },
+ { 0x1707, 66160 },
+ { 0x1708, 66163 },
+ { 0x1709, 66157 },
+ { 0x170A, 66444 },
+ { 0x170B, 66447 },
+ { 0x170C, 66454 },
+ { 0x170D, 66457 },
+ { 0x170E, 66468 },
+ { 0x170F, 66471 },
+ { 0x1710, 66376 },
+ { 0x1711, 66380 },
+ { 0x1712, 66347 },
+ { 0x1713, 66351 },
+ { 0x1714, 66451 },
+ { 0x1715, 66475 },
+ { 0x1716, 66461 },
+ { 0x1717, 66464 },
+ { 0x1718, 66337 },
+ { 0x1719, 66340 },
+ { 0x171A, 66320 },
+ { 0x171B, 66323 },
+ { 0x171C, 66426 },
+ { 0x171D, 66292 },
+ { 0x171E, 66295 },
+ { 0x171F, 66330 },
+ { 0x1720, 66333 },
+ { 0x1721, 66429 },
+ { 0x1722, 66403 },
+ { 0x1723, 66407 },
+ { 0x1724, 66306 },
+ { 0x1725, 66311 },
+ { 0x1726, 66362 },
+ { 0x1727, 66396 },
+ { 0x1728, 66399 },
+ { 0x1729, 66299 },
+ { 0x172A, 66302 },
+ { 0x172B, 66359 },
+ { 0x172C, 66366 },
+ { 0x172D, 66369 },
+ { 0x172E, 66285 },
+ { 0x172F, 66288 },
+ { 0x1730, 66356 },
+ { 0x1731, 66419 },
+ { 0x1732, 66373 },
+ { 0x1733, 66344 },
+ { 0x1734, 66416 },
+ { 0x1735, 66388 },
+ { 0x1736, 66392 },
+ { 0x1737, 66385 },
+ { 0x1738, 66327 },
+ { 0x1739, 66166 },
+ { 0x173A, 66279 },
+ { 0x173B, 66232 },
+ { 0x173C, 66236 },
+ { 0x173D, 66241 },
+ { 0x173E, 66245 },
+ { 0x173F, 66221 },
+ { 0x1740, 66226 },
+ { 0x1741, 66210 },
+ { 0x1742, 66215 },
+ { 0x1743, 66259 },
+ { 0x1744, 66263 },
+ { 0x1745, 66274 },
+ { 0x1746, 66268 },
+ { 0x1747, 66250 },
+ { 0x1748, 66254 },
+ { 0x1749, 66146 },
+ { 0x174A, 66422 },
+ { 0x174B, 66436 },
+ { 0x174C, 66440 },
+ { 0x174D, 66316 },
+ { 0x174E, 66412 },
+ { 0x174F, 66432 },
+ { 0x1750, 66478 },
+ { 0x1751, 66196 },
+ { 0x1752, 66178 },
+ { 0x1753, 66184 },
+ { 0x1754, 66205 },
+ { 0x1755, 66190 },
+ { 0x1756, 66187 },
+ { 0x1757, 66181 },
+ { 0x1758, 66202 },
+ { 0x1759, 66199 },
+ { 0x175A, 66193 },
+ { 0x175B, 66208 },
+ { 0x175C, 66482 },
+ { 0x175D, 66283 },
+ { 0x175E, 66175 },
+ { 0x175F, 66169 },
+ { 0x1760, 66172 },
+ { 0x1761, 66629 },
+ { 0x1762, 66506 },
+ { 0x1763, 66498 },
+ { 0x1764, 66510 },
+ { 0x1765, 66484 },
+ { 0x1766, 66493 },
+ { 0x1767, 66502 },
+ { 0x1768, 66514 },
+ { 0x1769, 66522 },
+ { 0x176A, 66518 },
+ { 0x176B, 66488 },
+ { 0x176C, 66541 },
+ { 0x176D, 66536 },
+ { 0x176E, 66558 },
+ { 0x176F, 66546 },
+ { 0x1770, 66570 },
+ { 0x1771, 66563 },
+ { 0x1772, 66551 },
+ { 0x1773, 66531 },
+ { 0x1774, 66526 },
+ { 0x1775, 66611 },
+ { 0x1776, 66605 },
+ { 0x1777, 66623 },
+ { 0x1778, 66617 },
+ { 0x1779, 66575 },
+ { 0x177A, 66587 },
+ { 0x177B, 66593 },
+ { 0x177C, 66599 },
+ { 0x177D, 66581 },
+ { 0x177E, 98471 },
+ { 0x177F, 98474 },
+ { 0x1780, 98477 },
+ { 0x1781, 98534 },
+ { 0x1782, 98540 },
+ { 0x1783, 98546 },
+ { 0x1784, 98549 },
+ { 0x1785, 98543 },
+ { 0x1786, 98537 },
+ { 0x1787, 98561 },
+ { 0x1788, 98576 },
+ { 0x1789, 98591 },
+ { 0x178A, 98567 },
+ { 0x178B, 98627 },
+ { 0x178C, 98555 },
+ { 0x178D, 98573 },
+ { 0x178E, 98615 },
+ { 0x178F, 98630 },
+ { 0x1790, 98600 },
+ { 0x1791, 98558 },
+ { 0x1792, 98585 },
+ { 0x1793, 98588 },
+ { 0x1794, 98564 },
+ { 0x1795, 98603 },
+ { 0x1796, 98552 },
+ { 0x1797, 98582 },
+ { 0x1798, 98612 },
+ { 0x1799, 98594 },
+ { 0x179A, 98579 },
+ { 0x179B, 98606 },
+ { 0x179C, 98597 },
+ { 0x179D, 98609 },
+ { 0x179E, 98570 },
+ { 0x179F, 98667 },
+ { 0x17A0, 98653 },
+ { 0x17A1, 98649 },
+ { 0x17A2, 98518 },
+ { 0x17A3, 98514 },
+ { 0x17A4, 98526 },
+ { 0x17A5, 98522 },
+ { 0x17A6, 98510 },
+ { 0x17A7, 98530 },
+ { 0x17A8, 98468 },
+ { 0x17A9, 98465 },
+ { 0x17AA, 98657 },
+ { 0x17AB, 98662 },
+ { 0x17AC, 98621 },
+ { 0x17AD, 98636 },
+ { 0x17AE, 98498 },
+ { 0x17AF, 98480 },
+ { 0x17B0, 98486 },
+ { 0x17B1, 98507 },
+ { 0x17B2, 98492 },
+ { 0x17B3, 98489 },
+ { 0x17B4, 98483 },
+ { 0x17B5, 98504 },
+ { 0x17B6, 98501 },
+ { 0x17B7, 98495 },
+ { 0x17B8, 98647 },
+ { 0x17B9, 98633 },
+ { 0x17BA, 98624 },
+ { 0x17BB, 98618 },
+ { 0x17BC, 98639 },
+ { 0x17BD, 98643 },
+ { 0x17BE, 17911 },
+ { 0x17BF, 18002 },
+ { 0x17C0, 17932 },
+ { 0x17C1, 18010 },
+ { 0x17C2, 17990 },
+ { 0x17C3, 17920 },
+ { 0x17C4, 17974 },
+ { 0x17C5, 17947 },
+ { 0x17C6, 18022 },
+ { 0x17C7, 17944 },
+ { 0x17C8, 17994 },
+ { 0x17C9, 17956 },
+ { 0x17CA, 18034 },
+ { 0x17CB, 17978 },
+ { 0x17CC, 17929 },
+ { 0x17CD, 18006 },
+ { 0x17CE, 17935 },
+ { 0x17CF, 17926 },
+ { 0x17D0, 17950 },
+ { 0x17D1, 18026 },
+ { 0x17D2, 17941 },
+ { 0x17D3, 18018 },
+ { 0x17D4, 17986 },
+ { 0x17D5, 17982 },
+ { 0x17D6, 17953 },
+ { 0x17D7, 18030 },
+ { 0x17D8, 17998 },
+ { 0x17D9, 17959 },
+ { 0x17DA, 18038 },
+ { 0x17DB, 17968 },
+ { 0x17DC, 17938 },
+ { 0x17DD, 18014 },
+ { 0x17DE, 17971 },
+ { 0x17DF, 17923 },
+ { 0x17E0, 17965 },
+ { 0x17E1, 17962 },
+ { 0x17E2, 17914 },
+ { 0x17E3, 17917 },
+ { 0x17E4, 17866 },
+ { 0x17E5, 17869 },
+ { 0x17E6, 17906 },
+ { 0x17E7, 17892 },
+ { 0x17E8, 17873 },
+ { 0x17E9, 17896 },
+ { 0x17EA, 17877 },
+ { 0x17EB, 17901 },
+ { 0x17EC, 17881 },
+ { 0x17ED, 17885 },
+ { 0x17EE, 18065 },
+ { 0x17EF, 18061 },
+ { 0x17F0, 18059 },
+ { 0x17F1, 18069 },
+ { 0x17F2, 18042 },
+ { 0x17F3, 18055 },
+ { 0x17F4, 18047 },
+ { 0x17F5, 18051 },
+ { 0x17F6, 48467 },
+ { 0x17F7, 48524 },
+ { 0x17F8, 48521 },
+ { 0x17F9, 48458 },
+ { 0x17FA, 48515 },
+ { 0x17FB, 48530 },
+ { 0x17FC, 48449 },
+ { 0x17FD, 48503 },
+ { 0x17FE, 48464 },
+ { 0x17FF, 48533 },
+ { 0x1800, 48488 },
+ { 0x1801, 48545 },
+ { 0x1802, 48452 },
+ { 0x1803, 48476 },
+ { 0x1804, 48479 },
+ { 0x1805, 48539 },
+ { 0x1806, 48536 },
+ { 0x1807, 48455 },
+ { 0x1808, 48512 },
+ { 0x1809, 48446 },
+ { 0x180A, 48500 },
+ { 0x180B, 48473 },
+ { 0x180C, 48527 },
+ { 0x180D, 48548 },
+ { 0x180E, 48554 },
+ { 0x180F, 48509 },
+ { 0x1810, 48497 },
+ { 0x1811, 48482 },
+ { 0x1812, 48470 },
+ { 0x1813, 48461 },
+ { 0x1814, 48518 },
+ { 0x1815, 48491 },
+ { 0x1816, 48485 },
+ { 0x1817, 48542 },
+ { 0x1818, 48494 },
+ { 0x1819, 48443 },
+ { 0x181A, 48600 },
+ { 0x181B, 48596 },
+ { 0x181C, 48431 },
+ { 0x181D, 48419 },
+ { 0x181E, 48423 },
+ { 0x181F, 48435 },
+ { 0x1820, 48427 },
+ { 0x1821, 48439 },
+ { 0x1822, 48415 },
+ { 0x1823, 48560 },
+ { 0x1824, 48568 },
+ { 0x1825, 48564 },
+ { 0x1826, 48572 },
+ { 0x1827, 48576 },
+ { 0x1828, 48580 },
+ { 0x1829, 48584 },
+ { 0x182A, 48592 },
+ { 0x182B, 48588 },
+ { 0x182C, 48379 },
+ { 0x182D, 48382 },
+ { 0x182E, 48612 },
+ { 0x182F, 48604 },
+ { 0x1830, 48609 },
+ { 0x1831, 48618 },
+ { 0x1832, 48615 },
+ { 0x1833, 48403 },
+ { 0x1834, 48385 },
+ { 0x1835, 48391 },
+ { 0x1836, 48412 },
+ { 0x1837, 48397 },
+ { 0x1838, 48394 },
+ { 0x1839, 48388 },
+ { 0x183A, 48409 },
+ { 0x183B, 48406 },
+ { 0x183C, 48400 },
+ { 0x183D, 48551 },
+ { 0x183E, 48557 },
+ { 0x183F, 48506 },
+ { 0x1840, 141 },
+ { 0x1841, 117 },
+ { 0x1842, 125 },
+ { 0x1843, 153 },
+ { 0x1844, 133 },
+ { 0x1845, 129 },
+ { 0x1846, 121 },
+ { 0x1847, 149 },
+ { 0x1848, 145 },
+ { 0x1849, 137 },
+ { 0x184A, 192 },
+ { 0x184B, 168 },
+ { 0x184C, 160 },
+ { 0x184D, 252 },
+ { 0x184E, 164 },
+ { 0x184F, 268 },
+ { 0x1850, 240 },
+ { 0x1851, 236 },
+ { 0x1852, 244 },
+ { 0x1853, 248 },
+ { 0x1854, 200 },
+ { 0x1855, 188 },
+ { 0x1856, 180 },
+ { 0x1857, 264 },
+ { 0x1858, 184 },
+ { 0x1859, 208 },
+ { 0x185A, 224 },
+ { 0x185B, 228 },
+ { 0x185C, 276 },
+ { 0x185D, 232 },
+ { 0x185E, 196 },
+ { 0x185F, 176 },
+ { 0x1860, 256 },
+ { 0x1861, 172 },
+ { 0x1862, 260 },
+ { 0x1863, 204 },
+ { 0x1864, 272 },
+ { 0x1865, 212 },
+ { 0x1866, 220 },
+ { 0x1867, 216 },
+ { 0x1868, 110 },
+ { 0x1869, 280 },
+ { 0x186A, 287 },
+ { 0x186B, 157 },
+ { 0x186C, 284 },
+ { 0x186D, 114 },
+ { 0x186E, 296 },
+ { 0x186F, 291 },
+ { 0x1870, 98695 },
+ { 0x1871, 98703 },
+ { 0x1872, 98699 },
+ { 0x1873, 98691 },
+ { 0x1874, 98686 },
+ { 0x1875, 98681 },
+ { 0x1876, 98676 },
+ { 0x1877, 98671 },
+ { 0x1878, 34546 },
+ { 0x1879, 34510 },
+ { 0x187A, 34543 },
+ { 0x187B, 34480 },
+ { 0x187C, 34483 },
+ { 0x187D, 34568 },
+ { 0x187E, 34574 },
+ { 0x187F, 34555 },
+ { 0x1880, 34522 },
+ { 0x1881, 34561 },
+ { 0x1882, 34531 },
+ { 0x1883, 34535 },
+ { 0x1884, 34539 },
+ { 0x1885, 34497 },
+ { 0x1886, 34501 },
+ { 0x1887, 34513 },
+ { 0x1888, 34549 },
+ { 0x1889, 34579 },
+ { 0x188A, 34428 },
+ { 0x188B, 34418 },
+ { 0x188C, 34470 },
+ { 0x188D, 34432 },
+ { 0x188E, 34475 },
+ { 0x188F, 34422 },
+ { 0x1890, 34436 },
+ { 0x1891, 34457 },
+ { 0x1892, 34461 },
+ { 0x1893, 34447 },
+ { 0x1894, 34451 },
+ { 0x1895, 34411 },
+ { 0x1896, 34465 },
+ { 0x1897, 34402 },
+ { 0x1898, 34406 },
+ { 0x1899, 34442 },
+ { 0x189A, 34494 },
+ { 0x189B, 34414 },
+ { 0x189C, 34518 },
+ { 0x189D, 34488 },
+ { 0x189E, 34491 },
+ { 0x189F, 34506 },
+ { 0x18A0, 34526 },
+ { 0x18A1, 27216 },
+ { 0x18A2, 27358 },
+ { 0x18A3, 26840 },
+ { 0x18A4, 27394 },
+ { 0x18A5, 27226 },
+ { 0x18A6, 27231 },
+ { 0x18A7, 27373 },
+ { 0x18A8, 27236 },
+ { 0x18A9, 26870 },
+ { 0x18AA, 26751 },
+ { 0x18AB, 27268 },
+ { 0x18AC, 27273 },
+ { 0x18AD, 27283 },
+ { 0x18AE, 27290 },
+ { 0x18AF, 27424 },
+ { 0x18B0, 27300 },
+ { 0x18B1, 27388 },
+ { 0x18B2, 27054 },
+ { 0x18B3, 27071 },
+ { 0x18B4, 27059 },
+ { 0x18B5, 26845 },
+ { 0x18B6, 27368 },
+ { 0x18B7, 26397 },
+ { 0x18B8, 26644 },
+ { 0x18B9, 27305 },
+ { 0x18BA, 27430 },
+ { 0x18BB, 27412 },
+ { 0x18BC, 27328 },
+ { 0x18BD, 27333 },
+ { 0x18BE, 27066 },
+ { 0x18BF, 27083 },
+ { 0x18C0, 27077 },
+ { 0x18C1, 27338 },
+ { 0x18C2, 27343 },
+ { 0x18C3, 27353 },
+ { 0x18C4, 27378 },
+ { 0x18C5, 27440 },
+ { 0x18C6, 27205 },
+ { 0x18C7, 20528 },
+ { 0x18C8, 20533 },
+ { 0x18C9, 20513 },
+ { 0x18CA, 20523 },
+ { 0x18CB, 20518 },
+ { 0x18CC, 71219 },
+ { 0x18CD, 81651 },
+ { 0x18CE, 81733 },
+ { 0x18CF, 81655 },
+ { 0x18D0, 81741 },
+ { 0x18D1, 81659 },
+ { 0x18D2, 81663 },
+ { 0x18D3, 81746 },
+ { 0x18D4, 81667 },
+ { 0x18D5, 81671 },
+ { 0x18D6, 81681 },
+ { 0x18D7, 81685 },
+ { 0x18D8, 81689 },
+ { 0x18D9, 81693 },
+ { 0x18DA, 81697 },
+ { 0x18DB, 81701 },
+ { 0x18DC, 81751 },
+ { 0x18DD, 81705 },
+ { 0x18DE, 81737 },
+ { 0x18DF, 81709 },
+ { 0x18E0, 81713 },
+ { 0x18E1, 81717 },
+ { 0x18E2, 81721 },
+ { 0x18E3, 81729 },
+ { 0x18E4, 81140 },
+ { 0x18E5, 81451 },
+ { 0x18E6, 81405 },
+ { 0x18E7, 81496 },
+ { 0x18E8, 81144 },
+ { 0x18E9, 81158 },
+ { 0x18EA, 81162 },
+ { 0x18EB, 81427 },
+ { 0x18EC, 81395 },
+ { 0x18ED, 81501 },
+ { 0x18EE, 81170 },
+ { 0x18EF, 81461 },
+ { 0x18F0, 81200 },
+ { 0x18F1, 81237 },
+ { 0x18F2, 81357 },
+ { 0x18F3, 81261 },
+ { 0x18F4, 81400 },
+ { 0x18F5, 81377 },
+ { 0x18F6, 81440 },
+ { 0x18F7, 81265 },
+ { 0x18F8, 81283 },
+ { 0x18F9, 81294 },
+ { 0x18FA, 81573 },
+ { 0x18FB, 81466 },
+ { 0x18FC, 81310 },
+ { 0x18FD, 81349 },
+ { 0x18FE, 81383 },
+ { 0x18FF, 81422 },
+ { 0x1900, 81409 },
+ { 0x1901, 81417 },
+ { 0x1902, 81353 },
+ { 0x1903, 30235 },
+ { 0x1904, 30275 },
+ { 0x1905, 30290 },
+ { 0x1906, 30295 },
+ { 0x1907, 21594 },
+ { 0x1908, 21599 },
+ { 0x1909, 21589 },
+ { 0x190A, 21584 },
+ { 0x190B, 21579 },
+ { 0x190C, 26244 },
+ { 0x190D, 23604 },
+ { 0x190E, 23767 },
+ { 0x190F, 24027 },
+ { 0x1910, 24607 },
+ { 0x1911, 24697 },
+ { 0x1912, 25071 },
+ { 0x1913, 25210 },
+ { 0x1914, 25249 },
+ { 0x1915, 25360 },
+ { 0x1916, 25443 },
+ { 0x1917, 26066 },
+ { 0x1918, 26725 },
+ { 0x1919, 81823 },
+ { 0x191A, 26933 },
+ { 0x191B, 26229 },
+ { 0x191C, 27150 },
+ { 0x191D, 26440 },
+ { 0x191E, 25078 },
+ { 0x191F, 27157 },
+ { 0x1920, 26962 },
+ { 0x1921, 23623 },
+ { 0x1922, 23792 },
+ { 0x1923, 24040 },
+ { 0x1924, 24107 },
+ { 0x1925, 24407 },
+ { 0x1926, 24539 },
+ { 0x1927, 24614 },
+ { 0x1928, 24717 },
+ { 0x1929, 25092 },
+ { 0x192A, 25236 },
+ { 0x192B, 25380 },
+ { 0x192C, 26312 },
+ { 0x192D, 25785 },
+ { 0x192E, 25903 },
+ { 0x192F, 26079 },
+ { 0x1930, 23513 },
+ { 0x1931, 26554 },
+ { 0x1932, 23740 },
+ { 0x1933, 23948 },
+ { 0x1934, 26484 },
+ { 0x1935, 27041 },
+ { 0x1936, 26593 },
+ { 0x1937, 24302 },
+ { 0x1938, 26504 },
+ { 0x1939, 26319 },
+ { 0x193A, 25729 },
+ { 0x193B, 26352 },
+ { 0x193C, 81507 },
+ { 0x193D, 81148 },
+ { 0x193E, 81152 },
+ { 0x193F, 81365 },
+ { 0x1940, 81561 },
+ { 0x1941, 81166 },
+ { 0x1942, 81545 },
+ { 0x1943, 81446 },
+ { 0x1944, 81456 },
+ { 0x1945, 81184 },
+ { 0x1946, 81391 },
+ { 0x1947, 81512 },
+ { 0x1948, 81517 },
+ { 0x1949, 81194 },
+ { 0x194A, 81230 },
+ { 0x194B, 81215 },
+ { 0x194C, 81524 },
+ { 0x194D, 81241 },
+ { 0x194E, 81471 },
+ { 0x194F, 81247 },
+ { 0x1950, 81254 },
+ { 0x1951, 81529 },
+ { 0x1952, 81435 },
+ { 0x1953, 81373 },
+ { 0x1954, 81277 },
+ { 0x1955, 81361 },
+ { 0x1956, 81287 },
+ { 0x1957, 81298 },
+ { 0x1958, 81552 },
+ { 0x1959, 81534 },
+ { 0x195A, 81314 },
+ { 0x195B, 81491 },
+ { 0x195C, 81332 },
+ { 0x195D, 81342 },
+ { 0x195E, 81336 },
+ { 0x195F, 81369 },
+ { 0x1960, 81431 },
+ { 0x1961, 87820 },
+ { 0x1962, 87816 },
+ { 0x1963, 87775 },
+ { 0x1964, 88491 },
+ { 0x1965, 88515 },
+ { 0x1966, 88513 },
+ { 0x1967, 88519 },
+ { 0x1968, 88509 },
+ { 0x1969, 88533 },
+ { 0x196A, 88531 },
+ { 0x196B, 87552 },
+ { 0x196C, 88511 },
+ { 0x196D, 88517 },
+ { 0x196E, 87899 },
+ { 0x196F, 87941 },
+ { 0x1970, 87969 },
+ { 0x1971, 87201 },
+ { 0x1972, 87212 },
+ { 0x1973, 87215 },
+ { 0x1974, 87667 },
+ { 0x1975, 87615 },
+ { 0x1976, 87620 },
+ { 0x1977, 87625 },
+ { 0x1978, 87456 },
+ { 0x1979, 87661 },
+ { 0x197A, 87635 },
+ { 0x197B, 87477 },
+ { 0x197C, 87675 },
+ { 0x197D, 87492 },
+ { 0x197E, 87497 },
+ { 0x197F, 87681 },
+ { 0x1980, 87687 },
+ { 0x1981, 87516 },
+ { 0x1982, 87693 },
+ { 0x1983, 87699 },
+ { 0x1984, 87558 },
+ { 0x1985, 87564 },
+ { 0x1986, 87645 },
+ { 0x1987, 87610 },
+ { 0x1988, 87651 },
+ { 0x1989, 87446 },
+ { 0x198A, 87640 },
+ { 0x198B, 87656 },
+ { 0x198C, 87472 },
+ { 0x198D, 87502 },
+ { 0x198E, 87526 },
+ { 0x198F, 87542 },
+ { 0x1990, 87630 },
+ { 0x1991, 87579 },
+ { 0x1992, 87600 },
+ { 0x1993, 87439 },
+ { 0x1994, 87535 },
+ { 0x1995, 87588 },
+ { 0x1996, 87204 },
+ { 0x1997, 87876 },
+ { 0x1998, 87805 },
+ { 0x1999, 87320 },
+ { 0x199A, 87747 },
+ { 0x199B, 27566 },
+ { 0x199C, 23380 },
+ { 0x199D, 27743 },
+ { 0x199E, 23577 },
+ { 0x199F, 27750 },
+ { 0x19A0, 23584 },
+ { 0x19A1, 27763 },
+ { 0x19A2, 23597 },
+ { 0x19A3, 27835 },
+ { 0x19A4, 23689 },
+ { 0x19A5, 27853 },
+ { 0x19A6, 23714 },
+ { 0x19A7, 27860 },
+ { 0x19A8, 23721 },
+ { 0x19A9, 27873 },
+ { 0x19AA, 23748 },
+ { 0x19AB, 27916 },
+ { 0x19AC, 23786 },
+ { 0x19AD, 27922 },
+ { 0x19AE, 23799 },
+ { 0x19AF, 28012 },
+ { 0x19B0, 23895 },
+ { 0x19B1, 28004 },
+ { 0x19B2, 23887 },
+ { 0x19B3, 28107 },
+ { 0x19B4, 24003 },
+ { 0x19B5, 27984 },
+ { 0x19B6, 23867 },
+ { 0x19B7, 28038 },
+ { 0x19B8, 23921 },
+ { 0x19B9, 28118 },
+ { 0x19BA, 24014 },
+ { 0x19BB, 28172 },
+ { 0x19BC, 24082 },
+ { 0x19BD, 28207 },
+ { 0x19BE, 24124 },
+ { 0x19BF, 28214 },
+ { 0x19C0, 24131 },
+ { 0x19C1, 28258 },
+ { 0x19C2, 24189 },
+ { 0x19C3, 28246 },
+ { 0x19C4, 24170 },
+ { 0x19C5, 28227 },
+ { 0x19C6, 24151 },
+ { 0x19C7, 28325 },
+ { 0x19C8, 24249 },
+ { 0x19C9, 28370 },
+ { 0x19CA, 24294 },
+ { 0x19CB, 28430 },
+ { 0x19CC, 24367 },
+ { 0x19CD, 28410 },
+ { 0x19CE, 24347 },
+ { 0x19CF, 28423 },
+ { 0x19D0, 24360 },
+ { 0x19D1, 28493 },
+ { 0x19D2, 24437 },
+ { 0x19D3, 28500 },
+ { 0x19D4, 24444 },
+ { 0x19D5, 28522 },
+ { 0x19D6, 24472 },
+ { 0x19D7, 28582 },
+ { 0x19D8, 24570 },
+ { 0x19D9, 28613 },
+ { 0x19DA, 24601 },
+ { 0x19DB, 28593 },
+ { 0x19DC, 24581 },
+ { 0x19DD, 28600 },
+ { 0x19DE, 24588 },
+ { 0x19DF, 28623 },
+ { 0x19E0, 24631 },
+ { 0x19E1, 28630 },
+ { 0x19E2, 24638 },
+ { 0x19E3, 28644 },
+ { 0x19E4, 24658 },
+ { 0x19E5, 28710 },
+ { 0x19E6, 24737 },
+ { 0x19E7, 28843 },
+ { 0x19E8, 24891 },
+ { 0x19E9, 28859 },
+ { 0x19EA, 24907 },
+ { 0x19EB, 28895 },
+ { 0x19EC, 24943 },
+ { 0x19ED, 28887 },
+ { 0x19EE, 24935 },
+ { 0x19EF, 29024 },
+ { 0x19F0, 25065 },
+ { 0x19F1, 29011 },
+ { 0x19F2, 25052 },
+ { 0x19F3, 29080 },
+ { 0x19F4, 25148 },
+ { 0x19F5, 29087 },
+ { 0x19F6, 25155 },
+ { 0x19F7, 29094 },
+ { 0x19F8, 25162 },
+ { 0x19F9, 29103 },
+ { 0x19FA, 25171 },
+ { 0x19FB, 29170 },
+ { 0x19FC, 25286 },
+ { 0x19FD, 29177 },
+ { 0x19FE, 25293 },
+ { 0x19FF, 29200 },
+ { 0x1A00, 25322 },
+ { 0x1A01, 29215 },
+ { 0x1A02, 25337 },
+ { 0x1A03, 29184 },
+ { 0x1A04, 25300 },
+ { 0x1A05, 29261 },
+ { 0x1A06, 25397 },
+ { 0x1A07, 29268 },
+ { 0x1A08, 25404 },
+ { 0x1A09, 29281 },
+ { 0x1A0A, 25423 },
+ { 0x1A0B, 29327 },
+ { 0x1A0C, 25489 },
+ { 0x1A0D, 29536 },
+ { 0x1A0E, 25722 },
+ { 0x1A0F, 29450 },
+ { 0x1A10, 25636 },
+ { 0x1A11, 29549 },
+ { 0x1A12, 25742 },
+ { 0x1A13, 29442 },
+ { 0x1A14, 25628 },
+ { 0x1A15, 29477 },
+ { 0x1A16, 25663 },
+ { 0x1A17, 29573 },
+ { 0x1A18, 25779 },
+ { 0x1A19, 29560 },
+ { 0x1A1A, 25753 },
+ { 0x1A1B, 29616 },
+ { 0x1A1C, 25836 },
+ { 0x1A1D, 29610 },
+ { 0x1A1E, 25830 },
+ { 0x1A1F, 29622 },
+ { 0x1A20, 25842 },
+ { 0x1A21, 29590 },
+ { 0x1A22, 25803 },
+ { 0x1A23, 29597 },
+ { 0x1A24, 25810 },
+ { 0x1A25, 29638 },
+ { 0x1A26, 25858 },
+ { 0x1A27, 29645 },
+ { 0x1A28, 25910 },
+ { 0x1A29, 29655 },
+ { 0x1A2A, 25920 },
+ { 0x1A2B, 29792 },
+ { 0x1A2C, 26099 },
+ { 0x1A2D, 29741 },
+ { 0x1A2E, 26021 },
+ { 0x1A2F, 29754 },
+ { 0x1A30, 26040 },
+ { 0x1A31, 24144 },
+ { 0x1A32, 25476 },
+ { 0x1A33, 25823 },
+ { 0x1A34, 25953 },
+ { 0x1A35, 23453 },
+ { 0x1A36, 26455 },
+ { 0x1A37, 26471 },
+ { 0x1A38, 26463 },
+ { 0x1A39, 30005 },
+ { 0x1A3A, 26561 },
+ { 0x1A3B, 27536 },
+ { 0x1A3C, 23350 },
+ { 0x1A3D, 27543 },
+ { 0x1A3E, 23357 },
+ { 0x1A3F, 27715 },
+ { 0x1A40, 23544 },
+ { 0x1A41, 27723 },
+ { 0x1A42, 23552 },
+ { 0x1A43, 27706 },
+ { 0x1A44, 23535 },
+ { 0x1A45, 27731 },
+ { 0x1A46, 23560 },
+ { 0x1A47, 27697 },
+ { 0x1A48, 23526 },
+ { 0x1A49, 27603 },
+ { 0x1A4A, 23417 },
+ { 0x1A4B, 27611 },
+ { 0x1A4C, 23425 },
+ { 0x1A4D, 27594 },
+ { 0x1A4E, 23408 },
+ { 0x1A4F, 27619 },
+ { 0x1A50, 23433 },
+ { 0x1A51, 27585 },
+ { 0x1A52, 23399 },
+ { 0x1A53, 27940 },
+ { 0x1A54, 23817 },
+ { 0x1A55, 27947 },
+ { 0x1A56, 23824 },
+ { 0x1A57, 27978 },
+ { 0x1A58, 23861 },
+ { 0x1A59, 28083 },
+ { 0x1A5A, 23979 },
+ { 0x1A5B, 28091 },
+ { 0x1A5C, 23987 },
+ { 0x1A5D, 28074 },
+ { 0x1A5E, 23970 },
+ { 0x1A5F, 28099 },
+ { 0x1A60, 23995 },
+ { 0x1A61, 28065 },
+ { 0x1A62, 23961 },
+ { 0x1A63, 28288 },
+ { 0x1A64, 24212 },
+ { 0x1A65, 28281 },
+ { 0x1A66, 24205 },
+ { 0x1A67, 28737 },
+ { 0x1A68, 24777 },
+ { 0x1A69, 28744 },
+ { 0x1A6A, 24792 },
+ { 0x1A6B, 28983 },
+ { 0x1A6C, 25024 },
+ { 0x1A6D, 28991 },
+ { 0x1A6E, 25032 },
+ { 0x1A6F, 28974 },
+ { 0x1A70, 25015 },
+ { 0x1A71, 28999 },
+ { 0x1A72, 25040 },
+ { 0x1A73, 28965 },
+ { 0x1A74, 25006 },
+ { 0x1A75, 28775 },
+ { 0x1A76, 24823 },
+ { 0x1A77, 28783 },
+ { 0x1A78, 24831 },
+ { 0x1A79, 28766 },
+ { 0x1A7A, 24814 },
+ { 0x1A7B, 28791 },
+ { 0x1A7C, 24839 },
+ { 0x1A7D, 28757 },
+ { 0x1A7E, 24805 },
+ { 0x1A7F, 29343 },
+ { 0x1A80, 25514 },
+ { 0x1A81, 29350 },
+ { 0x1A82, 25521 },
+ { 0x1A83, 29381 },
+ { 0x1A84, 25552 },
+ { 0x1A85, 29389 },
+ { 0x1A86, 25560 },
+ { 0x1A87, 29372 },
+ { 0x1A88, 25543 },
+ { 0x1A89, 29397 },
+ { 0x1A8A, 25568 },
+ { 0x1A8B, 29363 },
+ { 0x1A8C, 25534 },
+ { 0x1A8D, 29694 },
+ { 0x1A8E, 25966 },
+ { 0x1A8F, 29662 },
+ { 0x1A90, 25927 },
+ { 0x1A91, 29675 },
+ { 0x1A92, 25940 },
+ { 0x1A93, 29700 },
+ { 0x1A94, 25980 },
+ { 0x1A95, 30197 },
+ { 0x1A96, 27135 },
+ { 0x1A97, 30192 },
+ { 0x1A98, 27130 },
+ { 0x1A99, 29682 },
+ { 0x1A9A, 25947 },
+ { 0x1A9B, 19707 },
+ { 0x1A9C, 19639 },
+ { 0x1A9D, 19731 },
+ { 0x1A9E, 19663 },
+ { 0x1A9F, 19713 },
+ { 0x1AA0, 19645 },
+ { 0x1AA1, 19749 },
+ { 0x1AA2, 19681 },
+ { 0x1AA3, 20996 },
+ { 0x1AA4, 20928 },
+ { 0x1AA5, 21020 },
+ { 0x1AA6, 20952 },
+ { 0x1AA7, 21002 },
+ { 0x1AA8, 20934 },
+ { 0x1AA9, 21038 },
+ { 0x1AAA, 20970 },
+ { 0x1AAB, 20108 },
+ { 0x1AAC, 20086 },
+ { 0x1AAD, 20122 },
+ { 0x1AAE, 20100 },
+ { 0x1AAF, 20114 },
+ { 0x1AB0, 20092 },
+ { 0x1AB1, 21319 },
+ { 0x1AB2, 21297 },
+ { 0x1AB3, 21333 },
+ { 0x1AB4, 21311 },
+ { 0x1AB5, 21325 },
+ { 0x1AB6, 21303 },
+ { 0x1AB7, 19327 },
+ { 0x1AB8, 19259 },
+ { 0x1AB9, 19351 },
+ { 0x1ABA, 19283 },
+ { 0x1ABB, 19333 },
+ { 0x1ABC, 19265 },
+ { 0x1ABD, 19369 },
+ { 0x1ABE, 19301 },
+ { 0x1ABF, 20686 },
+ { 0x1AC0, 20618 },
+ { 0x1AC1, 20710 },
+ { 0x1AC2, 20642 },
+ { 0x1AC3, 20692 },
+ { 0x1AC4, 20624 },
+ { 0x1AC5, 20728 },
+ { 0x1AC6, 20660 },
+ { 0x1AC7, 19519 },
+ { 0x1AC8, 19489 },
+ { 0x1AC9, 19533 },
+ { 0x1ACA, 19503 },
+ { 0x1ACB, 19525 },
+ { 0x1ACC, 19495 },
+ { 0x1ACD, 19541 },
+ { 0x1ACE, 19511 },
+ { 0x1ACF, 20854 },
+ { 0x1AD0, 20824 },
+ { 0x1AD1, 20868 },
+ { 0x1AD2, 20838 },
+ { 0x1AD3, 20860 },
+ { 0x1AD4, 20830 },
+ { 0x1AD5, 20876 },
+ { 0x1AD6, 20846 },
+ { 0x1AD7, 20174 },
+ { 0x1AD8, 20152 },
+ { 0x1AD9, 20188 },
+ { 0x1ADA, 20166 },
+ { 0x1ADB, 20180 },
+ { 0x1ADC, 20158 },
+ { 0x1ADD, 21385 },
+ { 0x1ADE, 21363 },
+ { 0x1ADF, 21399 },
+ { 0x1AE0, 21377 },
+ { 0x1AE1, 21391 },
+ { 0x1AE2, 21369 },
+ { 0x1AE3, 20248 },
+ { 0x1AE4, 20218 },
+ { 0x1AE5, 20262 },
+ { 0x1AE6, 20232 },
+ { 0x1AE7, 20254 },
+ { 0x1AE8, 20224 },
+ { 0x1AE9, 20270 },
+ { 0x1AEA, 20240 },
+ { 0x1AEB, 21429 },
+ { 0x1AEC, 21443 },
+ { 0x1AED, 21435 },
+ { 0x1AEE, 21451 },
+ { 0x1AEF, 19938 },
+ { 0x1AF0, 19870 },
+ { 0x1AF1, 19962 },
+ { 0x1AF2, 19894 },
+ { 0x1AF3, 19944 },
+ { 0x1AF4, 19876 },
+ { 0x1AF5, 19980 },
+ { 0x1AF6, 19912 },
+ { 0x1AF7, 21188 },
+ { 0x1AF8, 21120 },
+ { 0x1AF9, 21212 },
+ { 0x1AFA, 21144 },
+ { 0x1AFB, 21194 },
+ { 0x1AFC, 21126 },
+ { 0x1AFD, 21230 },
+ { 0x1AFE, 21162 },
+ { 0x1AFF, 19781 },
+ { 0x1B00, 19625 },
+ { 0x1B01, 20136 },
+ { 0x1B02, 20080 },
+ { 0x1B03, 19401 },
+ { 0x1B04, 19245 },
+ { 0x1B05, 19555 },
+ { 0x1B06, 19483 },
+ { 0x1B07, 20202 },
+ { 0x1B08, 20146 },
+ { 0x1B09, 20284 },
+ { 0x1B0A, 20212 },
+ { 0x1B0B, 20012 },
+ { 0x1B0C, 19856 },
+ { 0x1B0D, 19767 },
+ { 0x1B0E, 19699 },
+ { 0x1B0F, 19739 },
+ { 0x1B10, 19671 },
+ { 0x1B11, 19721 },
+ { 0x1B12, 19653 },
+ { 0x1B13, 19757 },
+ { 0x1B14, 19689 },
+ { 0x1B15, 21056 },
+ { 0x1B16, 20988 },
+ { 0x1B17, 21028 },
+ { 0x1B18, 20960 },
+ { 0x1B19, 21010 },
+ { 0x1B1A, 20942 },
+ { 0x1B1B, 21046 },
+ { 0x1B1C, 20978 },
+ { 0x1B1D, 19387 },
+ { 0x1B1E, 19319 },
+ { 0x1B1F, 19359 },
+ { 0x1B20, 19291 },
+ { 0x1B21, 19341 },
+ { 0x1B22, 19273 },
+ { 0x1B23, 19377 },
+ { 0x1B24, 19309 },
+ { 0x1B25, 20746 },
+ { 0x1B26, 20678 },
+ { 0x1B27, 20718 },
+ { 0x1B28, 20650 },
+ { 0x1B29, 20700 },
+ { 0x1B2A, 20632 },
+ { 0x1B2B, 20736 },
+ { 0x1B2C, 20668 },
+ { 0x1B2D, 19998 },
+ { 0x1B2E, 19930 },
+ { 0x1B2F, 19970 },
+ { 0x1B30, 19902 },
+ { 0x1B31, 19952 },
+ { 0x1B32, 19884 },
+ { 0x1B33, 19988 },
+ { 0x1B34, 19920 },
+ { 0x1B35, 21248 },
+ { 0x1B36, 21180 },
+ { 0x1B37, 21220 },
+ { 0x1B38, 21152 },
+ { 0x1B39, 21202 },
+ { 0x1B3A, 21134 },
+ { 0x1B3B, 21238 },
+ { 0x1B3C, 21170 },
+ { 0x1B3D, 19801 },
+ { 0x1B3E, 19795 },
+ { 0x1B3F, 19787 },
+ { 0x1B40, 19821 },
+ { 0x1B41, 19631 },
+ { 0x1B42, 19807 },
+ { 0x1B43, 19813 },
+ { 0x1B44, 21082 },
+ { 0x1B45, 21076 },
+ { 0x1B46, 21070 },
+ { 0x1B47, 20922 },
+ { 0x1B48, 21088 },
+ { 0x1B49, 21515 },
+ { 0x1B4A, 22017 },
+ { 0x1B4B, 19201 },
+ { 0x1B4C, 21865 },
+ { 0x1B4D, 21572 },
+ { 0x1B4E, 19407 },
+ { 0x1B4F, 19429 },
+ { 0x1B50, 19251 },
+ { 0x1B51, 19415 },
+ { 0x1B52, 19421 },
+ { 0x1B53, 21347 },
+ { 0x1B54, 21291 },
+ { 0x1B55, 20760 },
+ { 0x1B56, 20612 },
+ { 0x1B57, 20766 },
+ { 0x1B58, 19207 },
+ { 0x1B59, 19203 },
+ { 0x1B5A, 19211 },
+ { 0x1B5B, 19567 },
+ { 0x1B5C, 19561 },
+ { 0x1B5D, 19595 },
+ { 0x1B5E, 19579 },
+ { 0x1B5F, 19611 },
+ { 0x1B60, 19603 },
+ { 0x1B61, 20902 },
+ { 0x1B62, 20896 },
+ { 0x1B63, 20890 },
+ { 0x1B64, 20818 },
+ { 0x1B65, 19183 },
+ { 0x1B66, 19179 },
+ { 0x1B67, 19187 },
+ { 0x1B68, 20296 },
+ { 0x1B69, 20290 },
+ { 0x1B6A, 20324 },
+ { 0x1B6B, 20308 },
+ { 0x1B6C, 19453 },
+ { 0x1B6D, 19447 },
+ { 0x1B6E, 20340 },
+ { 0x1B6F, 20332 },
+ { 0x1B70, 21477 },
+ { 0x1B71, 21471 },
+ { 0x1B72, 21465 },
+ { 0x1B73, 21423 },
+ { 0x1B74, 20784 },
+ { 0x1B75, 21568 },
+ { 0x1B76, 21564 },
+ { 0x1B77, 20377 },
+ { 0x1B78, 20018 },
+ { 0x1B79, 20040 },
+ { 0x1B7A, 19862 },
+ { 0x1B7B, 20026 },
+ { 0x1B7C, 20032 },
+ { 0x1B7D, 21413 },
+ { 0x1B7E, 21357 },
+ { 0x1B7F, 21262 },
+ { 0x1B80, 21114 },
+ { 0x1B81, 21268 },
+ { 0x1B82, 19169 },
+ { 0x1B83, 19177 },
+ { 0x1B84, 81 },
+ { 0x1B85, 75 },
+ { 0x1B86, 83 },
+ { 0x1B87, 77 },
+ { 0x1B88, 111227 },
+ { 0x1B89, 101929 },
+ { 0x1B8A, 101835 },
+ { 0x1B8B, 45170 },
+ { 0x1B8C, 102569 },
+ { 0x1B8D, 14924 },
+ { 0x1B8E, 12680 },
+ { 0x1B8F, 15034 },
+ { 0x1B90, 15044 },
+ { 0x1B91, 15037 },
+ { 0x1B92, 111642 },
+ { 0x1B93, 112198 },
+ { 0x1B94, 47292 },
+ { 0x1B95, 110961 },
+ { 0x1B96, 45168 },
+ { 0x1B97, 79 },
+ { 0x1B98, 73 },
+ { 0x1B99, 100466 },
+ { 0x1B9A, 45075 },
+ { 0x1B9B, 44923 },
+ { 0x1B9C, 12983 },
+ { 0x1B9D, 32719 },
+ { 0x1B9E, 52642 },
+ { 0x1B9F, 52656 },
+ { 0x1BA0, 12967 },
+ { 0x1BA1, 32703 },
+ { 0x1BA2, 44948 },
+ { 0x1BA3, 45087 },
+ { 0x1BA4, 44526 },
+ { 0x1BA5, 44965 },
+ { 0x1BA6, 43249 },
+ { 0x1BA7, 101847 },
+ { 0x1BA8, 8922 },
+ { 0x1BA9, 10870 },
+ { 0x1BAA, 100500 },
+ { 0x1BAB, 101933 },
+ { 0x1BAC, 13096 },
+ { 0x1BAD, 98099 },
+ { 0x1BAE, 111648 },
+ { 0x1BAF, 112204 },
+ { 0x1BB0, 9267 },
+ { 0x1BB1, 111646 },
+ { 0x1BB2, 112202 },
+ { 0x1BB3, 51646 },
+ { 0x1BB4, 9256 },
+ { 0x1BB5, 9250 },
+ { 0x1BB6, 32542 },
+ { 0x1BB7, 44952 },
+ { 0x1BB8, 54488 },
+ { 0x1BB9, 83032 },
+ { 0x1BBA, 83039 },
+ { 0x1BBB, 83069 },
+ { 0x1BBC, 18662 },
+ { 0x1BBD, 52646 },
+ { 0x1BBE, 52651 },
+ { 0x1BBF, 98160 },
+ { 0x1BC0, 45078 },
+ { 0x1BC1, 102536 },
+ { 0x1BC2, 82359 },
+ { 0x1BC3, 83758 },
+ { 0x1BC4, 87118 },
+ { 0x1BC5, 18663 },
+ { 0x1BC6, 66141 },
+ { 0x1BC7, 47296 },
+ { 0x1BC8, 77570 },
+ { 0x1BC9, 13009 },
+ { 0x1BCA, 32745 },
+ { 0x1BCB, 45048 },
+ { 0x1BCC, 82869 },
+ { 0x1BCD, 101926 },
+ { 0x1BCE, 83570 },
+ { 0x1BCF, 83072 },
+ { 0x1BD0, 18458 },
+ { 0x1BD1, 18482 },
+ { 0x1BD2, 6214 },
+ { 0x1BD3, 83086 },
+ { 0x1BD4, 18772 },
+ { 0x1BD5, 10909 },
+ { 0x1BD6, 99551 },
+ { 0x1BD7, 33738 },
+ { 0x1BD8, 79341 },
+ { 0x1BD9, 45188 },
+ { 0x1BDA, 34190 },
+ { 0x1BDB, 98113 },
+ { 0x1BDC, 12621 },
+ { 0x1BDD, 12604 },
+ { 0x1BDE, 10873 },
+ { 0x1BDF, 12618 },
+ { 0x1BE0, 44904 },
+ { 0x1BE1, 83650 },
+ { 0x1BE2, 83786 },
+ { 0x1BE3, 51275 },
+ { 0x1BE4, 15028 },
+ { 0x1BE5, 77580 },
+ { 0x1BE6, 96005 },
+ { 0x1BE7, 96007 },
+ { 0x1BE8, 96003 },
+ { 0x1BE9, 111644 },
+ { 0x1BEA, 112200 },
+ { 0x1BEB, 19074 },
+ { 0x1BEC, 9264 },
+ { 0x1BED, 58751 },
+ { 0x1BEE, 65761 },
+ { 0x1BEF, 58747 },
+ { 0x1BF0, 65757 },
+ { 0x1BF1, 81946 },
+ { 0x1BF2, 61560 },
+ { 0x1BF3, 105748 },
+ { 0x1BF4, 105752 },
+ { 0x1BF5, 105738 },
+ { 0x1BF6, 105736 },
+ { 0x1BF7, 105732 },
+ { 0x1BF8, 105767 },
+ { 0x1BF9, 105750 },
+ { 0x1BFA, 105743 },
+ { 0x1BFB, 105745 },
+ { 0x1BFC, 105762 },
+ { 0x1BFD, 105771 },
+ { 0x1BFE, 105740 },
+ { 0x1BFF, 105764 },
+ { 0x1C00, 105757 },
+ { 0x1C01, 98442 },
+ { 0x1C02, 98424 },
+ { 0x1C03, 98428 },
+ { 0x1C04, 98453 },
+ { 0x1C05, 98432 },
+ { 0x1C06, 98430 },
+ { 0x1C07, 98426 },
+ { 0x1C08, 98451 },
+ { 0x1C09, 98444 },
+ { 0x1C0A, 98437 },
+ { 0x1C0B, 98439 },
+ { 0x1C0C, 98446 },
+ { 0x1C0D, 98455 },
+ { 0x1C0E, 98434 },
+ { 0x1C0F, 98448 },
+ { 0x1C10, 30220 },
+ { 0x1C11, 30225 },
+ { 0x1C12, 30265 },
+ { 0x1C13, 30300 },
+ { 0x1C14, 30305 },
+ { 0x1C15, 30230 },
+ { 0x1C16, 30245 },
+ { 0x1C17, 30250 },
+ { 0x1C18, 30255 },
+ { 0x1C19, 30260 },
+ { 0x1C1A, 30270 },
+ { 0x1C1B, 30280 },
+ { 0x1C1C, 30285 },
+ { 0x1C1D, 111387 },
+ { 0x1C1E, 18788 },
+ { 0x1C1F, 70279 },
+ { 0x1C20, 45199 },
+ { 0x1C21, 13123 },
+ { 0x1C22, 13861 },
+ { 0x1C23, 31926 },
+ { 0x1C24, 52327 },
+ { 0x1C25, 33317 },
+ { 0x1C26, 11829 },
+ { 0x1C27, 6867 },
+ { 0x1C28, 12473 },
+ { 0x1C29, 12498 },
+ { 0x1C2A, 5951 },
+ { 0x1C2B, 54539 },
+ { 0x1C2C, 58220 },
+ { 0x1C2D, 45205 },
+ { 0x1C2E, 14209 },
+ { 0x1C2F, 58669 },
+ { 0x1C30, 55164 },
+ { 0x1C31, 58740 },
+ { 0x1C32, 12127 },
+ { 0x1C33, 30636 },
+ { 0x1C34, 83172 },
+ { 0x1C35, 34182 },
+ { 0x1C36, 47298 },
+ { 0x1C37, 65411 },
+ { 0x1C38, 51650 },
+ { 0x1C39, 30743 },
+ { 0x1C3A, 32973 },
+ { 0x1C3B, 12701 },
+ { 0x1C3C, 87316 },
+ { 0x1C3D, 87736 },
+ { 0x1C3E, 87341 },
+ { 0x1C3F, 87770 },
+ { 0x1C40, 88525 },
+ { 0x1C41, 88346 },
+ { 0x1C42, 87298 },
+ { 0x1C43, 87728 },
+ { 0x1C44, 87360 },
+ { 0x1C45, 88342 },
+ { 0x1C46, 88521 },
+ { 0x1C47, 87778 },
+ { 0x1C48, 87267 },
+ { 0x1C49, 88358 },
+ { 0x1C4A, 88371 },
+ { 0x1C4B, 88379 },
+ { 0x1C4C, 88361 },
+ { 0x1C4D, 87306 },
+ { 0x1C4E, 88368 },
+ { 0x1C4F, 88365 },
+ { 0x1C50, 88374 },
+ { 0x1C51, 88031 },
+ { 0x1C52, 87894 },
+ { 0x1C53, 87972 },
+ { 0x1C54, 87955 },
+ { 0x1C55, 87363 },
+ { 0x1C56, 88382 },
+ { 0x1C57, 87328 },
+ { 0x1C58, 88485 },
+ { 0x1C59, 88386 },
+ { 0x1C5A, 87302 },
+ { 0x1C5B, 87732 },
+ { 0x1C5C, 88042 },
+ { 0x1C5D, 55155 },
+ { 0x1C5E, 83862 },
+ { 0x1C5F, 111341 },
+ { 0x1C60, 44549 },
+ { 0x1C61, 43411 },
+ { 0x1C62, 12123 },
+ { 0x1C63, 12113 },
+ { 0x1C64, 19064 },
+ { 0x1C65, 62312 },
+ { 0x1C66, 44551 },
+ { 0x1C67, 52592 },
+ { 0x1C68, 52610 },
+ { 0x1C69, 106088 },
+ { 0x1C6A, 111344 },
+ { 0x1C6B, 52331 },
+ { 0x1C6C, 52333 },
+ { 0x1C6D, 52613 },
+ { 0x1C6E, 106091 },
+ { 0x1C6F, 52616 },
+ { 0x1C70, 52595 },
+ { 0x1C71, 0 },
+ { 0x1C72, 111347 },
+ { 0x1C73, 51708 },
+ { 0x1C74, 33596 },
+ { 0x1C75, 52622 },
+ { 0x1C76, 111350 },
+ { 0x1C77, 111353 },
+ { 0x1C78, 52625 },
+ { 0x1C79, 106094 },
+ { 0x1C7A, 111356 },
+ { 0x1C7B, 110963 },
+ { 0x1C7C, 83010 },
+ { 0x1C7D, 62316 },
+ { 0x1C7E, 98715 },
+ { 0x1C7F, 34298 },
+ { 0x1C80, 83759 },
+ { 0x1C81, 111359 },
+ { 0x1C82, 32520 },
+ { 0x1C83, 7176 },
+ { 0x1C84, 79332 },
+ { 0x1C85, 106097 },
+ { 0x1C86, 54566 },
+ { 0x1C87, 48172 },
+ { 0x1C88, 65771 },
+ { 0x1C89, 52601 },
+ { 0x1C8A, 106085 },
+ { 0x1C8B, 95035 },
+ { 0x1C8C, 52589 },
+ { 0x1C8D, 52604 },
+ { 0x1C8E, 52607 },
+ { 0x1C8F, 54600 },
+ { 0x1C90, 52619 },
+ { 0x1C91, 52598 },
+ { 0x1C92, 12029 },
+ { 0x1C93, 4446 },
+ { 0x1C94, 19104 },
+ { 0x1C95, 18827 },
+ { 0x1C96, 102519 },
+ { 0x1C97, 62303 },
+ { 0x1C98, 95065 },
+ { 0x1C99, 111315 },
+ { 0x1C9A, 111318 },
+ { 0x1C9B, 111365 },
+ { 0x1C9C, 111362 },
+ { 0x1C9D, 111312 },
+ { 0x1C9E, 54607 },
+ { 0x1C9F, 54611 },
+ { 0x1CA0, 83088 },
+ { 0x1CA1, 54615 },
+ { 0x1CA2, 111337 },
+ { 0x1CA3, 111321 },
+ { 0x1CA4, 111325 },
+ { 0x1CA5, 111329 },
+ { 0x1CA6, 111333 },
+ { 0x1CA7, 82805 },
+ { 0x1CA8, 54603 },
+ { 0x1CA9, 9254 },
+ { 0x1CAA, 106032 },
+ { 0x1CAB, 54581 },
+ { 0x1CAC, 53684 },
+ { 0x1CAD, 54666 },
+ { 0x1CAE, 54642 },
+ { 0x1CAF, 54650 },
+ { 0x1CB0, 54654 },
+ { 0x1CB1, 54674 },
+ { 0x1CB2, 54638 },
+ { 0x1CB3, 54670 },
+ { 0x1CB4, 54698 },
+ { 0x1CB5, 54686 },
+ { 0x1CB6, 54646 },
+ { 0x1CB7, 54678 },
+ { 0x1CB8, 54658 },
+ { 0x1CB9, 54702 },
+ { 0x1CBA, 54682 },
+ { 0x1CBB, 54694 },
+ { 0x1CBC, 77572 },
+ { 0x1CBD, 32853 },
+ { 0x1CBE, 32890 },
+ { 0x1CBF, 32928 },
+ { 0x1CC0, 32904 },
+ { 0x1CC1, 32893 },
+ { 0x1CC2, 32875 },
+ { 0x1CC3, 32925 },
+ { 0x1CC4, 32910 },
+ { 0x1CC5, 32907 },
+ { 0x1CC6, 32883 },
+ { 0x1CC7, 32931 },
+ { 0x1CC8, 32934 },
+ { 0x1CC9, 32913 },
+ { 0x1CCA, 32856 },
+ { 0x1CCB, 32896 },
+ { 0x1CCC, 32865 },
+ { 0x1CCD, 33428 },
+ { 0x1CCE, 33450 },
+ { 0x1CCF, 33483 },
+ { 0x1CD0, 33463 },
+ { 0x1CD1, 33454 },
+ { 0x1CD2, 33442 },
+ { 0x1CD3, 33479 },
+ { 0x1CD4, 33471 },
+ { 0x1CD5, 33467 },
+ { 0x1CD6, 33446 },
+ { 0x1CD7, 33487 },
+ { 0x1CD8, 33491 },
+ { 0x1CD9, 33475 },
+ { 0x1CDA, 33432 },
+ { 0x1CDB, 33458 },
+ { 0x1CDC, 33437 },
+ { 0x1CDD, 32869 },
+ { 0x1CDE, 32900 },
+ { 0x1CDF, 32886 },
+ { 0x1CE0, 32937 },
+ { 0x1CE1, 27003 },
+ { 0x1CE2, 32878 },
+ { 0x1CE3, 32916 },
+ { 0x1CE4, 32921 },
+ { 0x1CE5, 32860 },
+ { 0x1CE6, 54690 },
+ { 0x1CE7, 54560 },
+ { 0x1CE8, 54563 },
+ { 0x1CE9, 96241 },
+ { 0x1CEA, 65423 },
+ { 0x1CEB, 101018 },
+ { 0x1CEC, 94749 },
+ { 0x1CED, 12849 },
+ { 0x1CEE, 345 },
+ { 0x1CEF, 32012 },
+ { 0x1CF0, 31938 },
+ { 0x1CF1, 33599 },
+ { 0x1CF2, 33665 },
+ { 0x1CF3, 96354 },
+ { 0x1CF4, 101127 },
+ { 0x1CF5, 96238 },
+ { 0x1CF6, 101015 },
+ { 0x1CF7, 96234 },
+ { 0x1CF8, 65419 },
+ { 0x1CF9, 101011 },
+ { 0x1CFA, 94745 },
+ { 0x1CFB, 96300 },
+ { 0x1CFC, 101068 },
+ { 0x1CFD, 96261 },
+ { 0x1CFE, 65429 },
+ { 0x1CFF, 101029 },
+ { 0x1D00, 94755 },
+ { 0x1D01, 348 },
+ { 0x1D02, 96287 },
+ { 0x1D03, 101055 },
+ { 0x1D04, 96291 },
+ { 0x1D05, 101059 },
+ { 0x1D06, 12845 },
+ { 0x1D07, 12859 },
+ { 0x1D08, 94864 },
+ { 0x1D09, 65433 },
+ { 0x1D0A, 65438 },
+ { 0x1D0B, 94759 },
+ { 0x1D0C, 94764 },
+ { 0x1D0D, 101105 },
+ { 0x1D0E, 94787 },
+ { 0x1D0F, 111235 },
+ { 0x1D10, 87136 },
+ { 0x1D11, 32015 },
+ { 0x1D12, 96247 },
+ { 0x1D13, 111239 },
+ { 0x1D14, 87140 },
+ { 0x1D15, 96562 },
+ { 0x1D16, 96567 },
+ { 0x1D17, 65632 },
+ { 0x1D18, 65627 },
+ { 0x1D19, 101345 },
+ { 0x1D1A, 101350 },
+ { 0x1D1B, 94922 },
+ { 0x1D1C, 94917 },
+ { 0x1D1D, 101040 },
+ { 0x1D1E, 65487 },
+ { 0x1D1F, 96272 },
+ { 0x1D20, 96468 },
+ { 0x1D21, 65569 },
+ { 0x1D22, 101251 },
+ { 0x1D23, 94856 },
+ { 0x1D24, 96480 },
+ { 0x1D25, 101263 },
+ { 0x1D26, 96454 },
+ { 0x1D27, 12888 },
+ { 0x1D28, 101237 },
+ { 0x1D29, 96446 },
+ { 0x1D2A, 65566 },
+ { 0x1D2B, 101229 },
+ { 0x1D2C, 94853 },
+ { 0x1D2D, 12884 },
+ { 0x1D2E, 361 },
+ { 0x1D2F, 32053 },
+ { 0x1D30, 31975 },
+ { 0x1D31, 33634 },
+ { 0x1D32, 33688 },
+ { 0x1D33, 96477 },
+ { 0x1D34, 101260 },
+ { 0x1D35, 96575 },
+ { 0x1D36, 101358 },
+ { 0x1D37, 65461 },
+ { 0x1D38, 94792 },
+ { 0x1D39, 96439 },
+ { 0x1D3A, 65563 },
+ { 0x1D3B, 101222 },
+ { 0x1D3C, 94850 },
+ { 0x1D3D, 96243 },
+ { 0x1D3E, 101020 },
+ { 0x1D3F, 96430 },
+ { 0x1D40, 65508 },
+ { 0x1D41, 101203 },
+ { 0x1D42, 94839 },
+ { 0x1D43, 65532 },
+ { 0x1D44, 65511 },
+ { 0x1D45, 65524 },
+ { 0x1D46, 65516 },
+ { 0x1D47, 65551 },
+ { 0x1D48, 65555 },
+ { 0x1D49, 101206 },
+ { 0x1D4A, 32021 },
+ { 0x1D4B, 33602 },
+ { 0x1D4C, 357 },
+ { 0x1D4D, 32616 },
+ { 0x1D4E, 94818 },
+ { 0x1D4F, 34229 },
+ { 0x1D50, 96363 },
+ { 0x1D51, 101136 },
+ { 0x1D52, 12864 },
+ { 0x1D53, 96342 },
+ { 0x1D54, 101115 },
+ { 0x1D55, 12852 },
+ { 0x1D56, 96655 },
+ { 0x1D57, 101438 },
+ { 0x1D58, 12905 },
+ { 0x1D59, 5927 },
+ { 0x1D5A, 99554 },
+ { 0x1D5B, 61723 },
+ { 0x1D5C, 34188 },
+ { 0x1D5D, 34184 },
+ { 0x1D5E, 18992 },
+ { 0x1D5F, 96000 },
+ { 0x1D60, 31925 },
+ { 0x1D61, 58343 },
+ { 0x1D62, 7079 },
+ { 0x1D63, 33509 },
+ { 0x1D64, 70154 },
+ { 0x1D65, 12438 },
+ { 0x1D66, 33538 },
+ { 0x1D67, 5913 },
+ { 0x1D68, 31917 },
+ { 0x1D69, 31919 },
+ { 0x1D6A, 31921 },
+ { 0x1D6B, 31819 },
+ { 0x1D6C, 111650 },
+ { 0x1D6D, 5897 },
+ { 0x1D6E, 72179 },
+ { 0x1D6F, 9287 },
+ { 0x1D70, 66139 },
+ { 0x1D71, 14297 },
+ { 0x1D72, 43250 },
+ { 0x1D73, 53015 },
+ { 0x1D74, 12414 },
+ { 0x1D75, 45197 },
+ { 0x1D76, 111199 },
+ { 0x1D77, 79286 },
+ { 0x1D78, 32582 },
+ { 0x1D79, 15059 },
+ { 0x1D7A, 80181 },
+ { 0x1D7B, 98410 },
+ { 0x1D7C, 58210 },
+ { 0x1D7D, 12428 },
+ { 0x1D7E, 82360 },
+ { 0x1D7F, 7124 },
+ { 0x1D80, 59104 },
+ { 0x1D81, 59072 },
+ { 0x1D82, 106285 },
+ { 0x1D83, 34303 },
+ { 0x1D84, 79292 },
+ { 0x1D85, 45044 },
+ { 0x1D86, 54502 },
+ { 0x1D87, 57464 },
+ { 0x1D88, 64114 },
+ { 0x1D89, 54632 },
+ { 0x1D8A, 87161 },
+ { 0x1D8B, 87158 },
+ { 0x1D8C, 111251 },
+ { 0x1D8D, 98989 },
+ { 0x1D8E, 55338 },
+ { 0x1D8F, 32550 },
+ { 0x1D90, 100987 },
+ { 0x1D91, 5901 },
+ { 0x1D92, 45158 },
+ { 0x1D93, 95477 },
+ { 0x1D94, 100465 },
+ { 0x1D95, 34258 },
+ { 0x1D96, 83034 },
+ { 0x1D97, 79335 },
+ { 0x1D98, 14416 },
+ { 0x1D99, 55149 },
+ { 0x1D9A, 7093 },
+ { 0x1D9B, 31845 },
+ { 0x1D9C, 112210 },
+ { 0x1D9D, 7137 },
+ { 0x1D9E, 111299 },
+ { 0x1D9F, 111288 },
+ { 0x1DA0, 61547 },
+ { 0x1DA1, 35297 },
+ { 0x1DA2, 7095 },
+ { 0x1DA3, 35292 },
+ { 0x1DA4, 54490 },
+ { 0x1DA5, 4072 },
+ { 0x1DA6, 100044 },
+ { 0x1DA7, 111392 },
+ { 0x1DA8, 100040 },
+ { 0x1DA9, 99533 },
+ { 0x1DAA, 111389 },
+ { 0x1DAB, 111302 },
+ { 0x1DAC, 22508 },
+ { 0x1DAD, 18790 },
+ { 0x1DAE, 45156 },
+ { 0x1DAF, 14286 },
+ { 0x1DB0, 14292 },
+ { 0x1DB1, 101884 },
+ { 0x1DB2, 95037 },
+ { 0x1DB3, 101922 },
+ { 0x1DB4, 14583 },
+ { 0x1DB5, 18830 },
+ { 0x1DB6, 19032 },
+ { 0x1DB7, 80179 },
+ { 0x1DB8, 100991 },
+ { 0x1DB9, 7090 },
+ { 0x1DBA, 95987 },
+ { 0x1DBB, 7127 },
+ { 0x1DBC, 83180 },
+ { 0x1DBD, 96753 },
+ { 0x1DBE, 106142 },
+ { 0x1DBF, 96817 },
+ { 0x1DC0, 106206 },
+ { 0x1DC1, 96807 },
+ { 0x1DC2, 106196 },
+ { 0x1DC3, 14127 },
+ { 0x1DC4, 14129 },
+ { 0x1DC5, 55663 },
+ { 0x1DC6, 7132 },
+ { 0x1DC7, 7130 },
+ { 0x1DC8, 7135 },
+ { 0x1DC9, 61519 },
+ { 0x1DCA, 61533 },
+ { 0x1DCB, 96787 },
+ { 0x1DCC, 106179 },
+ { 0x1DCD, 61524 },
+ { 0x1DCE, 61542 },
+ { 0x1DCF, 96794 },
+ { 0x1DD0, 106176 },
+ { 0x1DD1, 61529 },
+ { 0x1DD2, 61538 },
+ { 0x1DD3, 82754 },
+ { 0x1DD4, 83183 },
+ { 0x1DD5, 82755 },
+ { 0x1DD6, 83184 },
+ { 0x1DD7, 82759 },
+ { 0x1DD8, 83188 },
+ { 0x1DD9, 12457 },
+ { 0x1DDA, 12465 },
+ { 0x1DDB, 53297 },
+ { 0x1DDC, 83231 },
+ { 0x1DDD, 7071 },
+ { 0x1DDE, 7075 },
+ { 0x1DDF, 53299 },
+ { 0x1DE0, 83233 },
+ { 0x1DE1, 61505 },
+ { 0x1DE2, 61512 },
+ { 0x1DE3, 53312 },
+ { 0x1DE4, 83246 },
+ { 0x1DE5, 81938 },
+ { 0x1DE6, 81941 },
+ { 0x1DE7, 81939 },
+ { 0x1DE8, 53125 },
+ { 0x1DE9, 53245 },
+ { 0x1DEA, 53135 },
+ { 0x1DEB, 53255 },
+ { 0x1DEC, 52904 },
+ { 0x1DED, 52906 },
+ { 0x1DEE, 56467 },
+ { 0x1DEF, 56770 },
+ { 0x1DF0, 56772 },
+ { 0x1DF1, 57119 },
+ { 0x1DF2, 56453 },
+ { 0x1DF3, 56469 },
+ { 0x1DF4, 57110 },
+ { 0x1DF5, 56782 },
+ { 0x1DF6, 56459 },
+ { 0x1DF7, 63938 },
+ { 0x1DF8, 64070 },
+ { 0x1DF9, 64075 },
+ { 0x1DFA, 63919 },
+ { 0x1DFB, 32577 },
+ { 0x1DFC, 12790 },
+ { 0x1DFD, 12482 },
+ { 0x1DFE, 376 },
+ { 0x1DFF, 85638 },
+ { 0x1E00, 51638 },
+ { 0x1E01, 14939 },
+ { 0x1E02, 45194 },
+ { 0x1E03, 54510 },
+ { 0x1E04, 45069 },
+ { 0x1E05, 12425 },
+ { 0x1E06, 7085 },
+ { 0x1E07, 12422 },
+ { 0x1E08, 61498 },
+ { 0x1E09, 82799 },
+ { 0x1E0A, 83228 },
+ { 0x1E0B, 51653 },
+ { 0x1E0C, 70157 },
+ { 0x1E0D, 51656 },
+ { 0x1E0E, 70161 },
+ { 0x1E0F, 82343 },
+ { 0x1E10, 22506 },
+ { 0x1E11, 81934 },
+ { 0x1E12, 95979 },
+ { 0x1E13, 102521 },
+ { 0x1E14, 11831 },
+ { 0x1E15, 14135 },
+ { 0x1E16, 7070 },
+ { 0x1E17, 32584 },
+ { 0x1E18, 32803 },
+ { 0x1E19, 31914 },
+ { 0x1E1A, 31911 },
+ { 0x1E1B, 31923 },
+ { 0x1E1C, 31875 },
+ { 0x1E1D, 58037 },
+ { 0x1E1E, 5903 },
+ { 0x1E1F, 14585 },
+ { 0x1E20, 72181 },
+ { 0x1E21, 42868 },
+ { 0x1E22, 12974 },
+ { 0x1E23, 32710 },
+ { 0x1E24, 13074 },
+ { 0x1E25, 32819 },
+ { 0x1E26, 83036 },
+ { 0x1E27, 18818 },
+ { 0x1E28, 18821 },
+ { 0x1E29, 44990 },
+ { 0x1E2A, 45053 },
+ { 0x1E2B, 45081 },
+ { 0x1E2C, 44963 },
+ { 0x1E2D, 98108 },
+ { 0x1E2E, 19052 },
+ { 0x1E2F, 96823 },
+ { 0x1E30, 106212 },
+ { 0x1E31, 14946 },
+ { 0x1E32, 14949 },
+ { 0x1E33, 96870 },
+ { 0x1E34, 106259 },
+ { 0x1E35, 19044 },
+ { 0x1E36, 19048 },
+ { 0x1E37, 19036 },
+ { 0x1E38, 19040 },
+ { 0x1E39, 12460 },
+ { 0x1E3A, 12468 },
+ { 0x1E3B, 7110 },
+ { 0x1E3C, 7117 },
+ { 0x1E3D, 53128 },
+ { 0x1E3E, 53248 },
+ { 0x1E3F, 96812 },
+ { 0x1E40, 106201 },
+ { 0x1E41, 82763 },
+ { 0x1E42, 83192 },
+ { 0x1E43, 7099 },
+ { 0x1E44, 12443 },
+ { 0x1E45, 7103 },
+ { 0x1E46, 12449 },
+ { 0x1E47, 83854 },
+ { 0x1E48, 59427 },
+ { 0x1E49, 387 },
+ { 0x1E4A, 12489 },
+ { 0x1E4B, 58356 },
+ { 0x1E4C, 58370 },
+ { 0x1E4D, 33517 },
+ { 0x1E4E, 58345 },
+ { 0x1E4F, 58362 },
+ { 0x1E50, 33512 },
+ { 0x1E51, 58366 },
+ { 0x1E52, 58350 },
+ { 0x1E53, 70168 },
+ { 0x1E54, 70176 },
+ { 0x1E55, 33546 },
+ { 0x1E56, 70173 },
+ { 0x1E57, 33542 },
+ { 0x1E58, 12 },
+ { 0x1E59, 72173 },
+ { 0x1E5A, 75979 },
+ { 0x1E5B, 22498 },
+ { 0x1E5C, 391 },
+ { 0x1E5D, 12493 },
+ { 0x1E5E, 100986 },
+ { 0x1E5F, 102568 },
+ { 0x1E60, 15012 },
+ { 0x1E61, 13036 },
+ { 0x1E62, 32772 },
+ { 0x1E63, 12840 },
+ { 0x1E64, 32653 },
+ { 0x1E65, 42842 },
+ { 0x1E66, 42829 },
+ { 0x1E67, 10851 },
+ { 0x1E68, 10833 },
+ { 0x1E69, 83012 },
+ { 0x1E6A, 53216 },
+ { 0x1E6B, 4442 },
+ { 0x1E6C, 62315 },
+ { 0x1E6D, 52633 },
+ { 0x1E6E, 98726 },
+ { 0x1E6F, 82752 },
+ { 0x1E70, 83860 },
+ { 0x1E71, 32534 },
+ { 0x1E72, 54546 },
+ { 0x1E73, 34590 },
+ { 0x1E74, 95982 },
+ { 0x1E75, 10840 },
+ { 0x1E76, 10858 },
+ { 0x1E77, 42836 },
+ { 0x1E78, 42849 },
+ { 0x1E79, 10830 },
+ { 0x1E7A, 42826 },
+ { 0x1E7B, 19102 },
+ { 0x1E7C, 33582 },
+ { 0x1E7D, 399 },
+ { 0x1E7E, 51716 },
+ { 0x1E7F, 19060 },
+ { 0x1E80, 7 },
+ { 0x1E81, 80047 },
+ { 0x1E82, 111627 },
+ { 0x1E83, 112252 },
+ { 0x1E84, 19056 },
+ { 0x1E85, 55657 },
+ { 0x1E86, 106106 },
+ { 0x1E87, 4075 },
+ { 0x1E88, 83311 },
+ { 0x1E89, 34296 },
+ { 0x1E8A, 94743 },
+ { 0x1E8B, 57462 },
+ { 0x1E8C, 33376 },
+ { 0x1E8D, 101886 },
+ { 0x1E8E, 101887 },
+ { 0x1E8F, 4388 },
+ { 0x1E90, 4392 },
+ { 0x1E91, 4222 },
+ { 0x1E92, 4237 },
+ { 0x1E93, 4242 },
+ { 0x1E94, 4195 },
+ { 0x1E95, 4232 },
+ { 0x1E96, 4368 },
+ { 0x1E97, 4358 },
+ { 0x1E98, 4339 },
+ { 0x1E99, 4412 },
+ { 0x1E9A, 4227 },
+ { 0x1E9B, 4258 },
+ { 0x1E9C, 4275 },
+ { 0x1E9D, 4286 },
+ { 0x1E9E, 4422 },
+ { 0x1E9F, 4432 },
+ { 0x1EA0, 4269 },
+ { 0x1EA1, 4280 },
+ { 0x1EA2, 4378 },
+ { 0x1EA3, 4153 },
+ { 0x1EA4, 4310 },
+ { 0x1EA5, 4206 },
+ { 0x1EA6, 4217 },
+ { 0x1EA7, 4147 },
+ { 0x1EA8, 4407 },
+ { 0x1EA9, 4247 },
+ { 0x1EAA, 4094 },
+ { 0x1EAB, 4112 },
+ { 0x1EAC, 4184 },
+ { 0x1EAD, 4190 },
+ { 0x1EAE, 4088 },
+ { 0x1EAF, 4417 },
+ { 0x1EB0, 4263 },
+ { 0x1EB1, 4334 },
+ { 0x1EB2, 4315 },
+ { 0x1EB3, 4397 },
+ { 0x1EB4, 4127 },
+ { 0x1EB5, 4373 },
+ { 0x1EB6, 4082 },
+ { 0x1EB7, 4329 },
+ { 0x1EB8, 4363 },
+ { 0x1EB9, 4212 },
+ { 0x1EBA, 4100 },
+ { 0x1EBB, 4122 },
+ { 0x1EBC, 4291 },
+ { 0x1EBD, 4132 },
+ { 0x1EBE, 4383 },
+ { 0x1EBF, 4141 },
+ { 0x1EC0, 4174 },
+ { 0x1EC1, 4349 },
+ { 0x1EC2, 4437 },
+ { 0x1EC3, 4305 },
+ { 0x1EC4, 4117 },
+ { 0x1EC5, 4354 },
+ { 0x1EC6, 4344 },
+ { 0x1EC7, 4427 },
+ { 0x1EC8, 4200 },
+ { 0x1EC9, 4253 },
+ { 0x1ECA, 4159 },
+ { 0x1ECB, 4106 },
+ { 0x1ECC, 4165 },
+ { 0x1ECD, 4137 },
+ { 0x1ECE, 4320 },
+ { 0x1ECF, 4300 },
+ { 0x1ED0, 4402 },
+ { 0x1ED1, 4169 },
+ { 0x1ED2, 4324 },
+ { 0x1ED3, 4296 },
+ { 0x1ED4, 7087 },
+ { 0x1ED5, 32588 },
+ { 0x1ED6, 101829 },
+ { 0x1ED7, 12062 },
+ { 0x1ED8, 83833 },
+ { 0x1ED9, 96001 },
+ { 0x1EDA, 99557 },
+ { 0x1EDB, 111309 },
+ { 0x1EDC, 75987 },
+ { 0x1EDD, 101878 },
+ { 0x1EDE, 34859 },
+ { 0x1EDF, 19030 },
+ { 0x1EE0, 101854 },
+ { 0x1EE1, 12684 },
+ { 0x1EE2, 57438 },
+ { 0x1EE3, 57265 },
+ { 0x1EE4, 43244 },
+ { 0x1EE5, 14940 },
+ { 0x1EE6, 100881 },
+ { 0x1EE7, 100502 },
+ { 0x1EE8, 112314 },
+ { 0x1EE9, 112317 },
+ { 0x1EEA, 112322 },
+ { 0x1EEB, 112320 },
+ { 0x1EEC, 44595 },
+ { 0x1EED, 112307 },
+ { 0x1EEE, 4180 },
+ { 0x1EEF, 57657 },
+ { 0x1EF0, 82802 },
+ { 0x1EF1, 14139 },
+ { 0x1EF2, 32543 },
+ { 0x1EF3, 18685 },
+ { 0x1EF4, 13083 },
+ { 0x1EF5, 13087 },
+ { 0x1EF6, 13079 },
+ { 0x1EF7, 32828 },
+ { 0x1EF8, 32832 },
+ { 0x1EF9, 32824 },
+ { 0x1EFA, 13024 },
+ { 0x1EFB, 13029 },
+ { 0x1EFC, 13019 },
+ { 0x1EFD, 32760 },
+ { 0x1EFE, 32765 },
+ { 0x1EFF, 32755 },
+ { 0x1F00, 12830 },
+ { 0x1F01, 12835 },
+ { 0x1F02, 12825 },
+ { 0x1F03, 18815 },
+ { 0x1F04, 32643 },
+ { 0x1F05, 32648 },
+ { 0x1F06, 32638 },
+ { 0x1F07, 79328 },
+ { 0x1F08, 100471 },
+ { 0x1F09, 34344 },
+ { 0x1F0A, 34368 },
+ { 0x1F0B, 98458 },
+ { 0x1F0C, 98463 },
+ { 0x1F0D, 10861 },
+ { 0x1F0E, 42852 },
+ { 0x1F0F, 42855 },
+ { 0x1F10, 62233 },
+ { 0x1F11, 13070 },
+ { 0x1F12, 32815 },
+ { 0x1F13, 100479 },
+ { 0x1F14, 100482 },
+ { 0x1F15, 100485 },
+ { 0x1F16, 100488 },
+ { 0x1F17, 94703 },
+ { 0x1F18, 94723 },
+ { 0x1F19, 94730 },
+ { 0x1F1A, 94680 },
+ { 0x1F1B, 94650 },
+ { 0x1F1C, 94736 },
+ { 0x1F1D, 94688 },
+ { 0x1F1E, 94658 },
+ { 0x1F1F, 94710 },
+ { 0x1F20, 94672 },
+ { 0x1F21, 94642 },
+ { 0x1F22, 94666 },
+ { 0x1F23, 94636 },
+ { 0x1F24, 94696 },
+ { 0x1F25, 94716 },
+ { 0x1F26, 52977 },
+ { 0x1F27, 52533 },
+ { 0x1F28, 18970 },
+ { 0x1F29, 83838 },
+ { 0x1F2A, 80852 },
+ { 0x1F2B, 80848 },
+ { 0x1F2C, 80854 },
+ { 0x1F2D, 80843 },
+ { 0x1F2E, 80834 },
+ { 0x1F2F, 80839 },
+ { 0x1F30, 80858 },
+ { 0x1F31, 80862 },
+ { 0x1F32, 80860 },
+ { 0x1F33, 18943 },
+ { 0x1F34, 12663 },
+ { 0x1F35, 10868 },
+ { 0x1F36, 42866 },
+ { 0x1F37, 10848 },
+ { 0x1F38, 42839 },
+ { 0x1F39, 10864 },
+ { 0x1F3A, 42862 },
+ { 0x1F3B, 35002 },
+ { 0x1F3C, 55659 },
+ { 0x1F3D, 111226 },
+ { 0x1F3E, 77568 },
+ { 0x1F3F, 67 },
+ { 0x1F40, 100042 },
+ { 0x1F41, 57654 },
+ { 0x1F42, 18556 },
+ { 0x1F43, 18528 },
+ { 0x1F44, 18496 },
+ { 0x1F45, 18512 },
+ { 0x1F46, 18560 },
+ { 0x1F47, 18532 },
+ { 0x1F48, 18576 },
+ { 0x1F49, 15053 },
+ { 0x1F4A, 98423 },
+ { 0x1F4B, 34280 },
+ { 0x1F4C, 95983 },
+ { 0x1F4D, 18343 },
+ { 0x1F4E, 18352 },
+ { 0x1F4F, 18325 },
+ { 0x1F50, 18334 },
+ { 0x1F51, 45055 },
+ { 0x1F52, 18366 },
+ { 0x1F53, 18233 },
+ { 0x1F54, 53589 },
+ { 0x1F55, 53620 },
+ { 0x1F56, 53615 },
+ { 0x1F57, 53548 },
+ { 0x1F58, 53558 },
+ { 0x1F59, 53663 },
+ { 0x1F5A, 53700 },
+ { 0x1F5B, 53569 },
+ { 0x1F5C, 53681 },
+ { 0x1F5D, 53688 },
+ { 0x1F5E, 53585 },
+ { 0x1F5F, 53677 },
+ { 0x1F60, 53581 },
+ { 0x1F61, 53669 },
+ { 0x1F62, 53608 },
+ { 0x1F63, 53604 },
+ { 0x1F64, 53572 },
+ { 0x1F65, 53636 },
+ { 0x1F66, 53641 },
+ { 0x1F67, 53651 },
+ { 0x1F68, 53646 },
+ { 0x1F69, 53673 },
+ { 0x1F6A, 53703 },
+ { 0x1F6B, 53563 },
+ { 0x1F6C, 53625 },
+ { 0x1F6D, 53553 },
+ { 0x1F6E, 53692 },
+ { 0x1F6F, 53656 },
+ { 0x1F70, 53577 },
+ { 0x1F71, 53596 },
+ { 0x1F72, 53659 },
+ { 0x1F73, 53592 },
+ { 0x1F74, 53612 },
+ { 0x1F75, 53628 },
+ { 0x1F76, 18588 },
+ { 0x1F77, 14148 },
+ { 0x1F78, 53666 },
+ { 0x1F79, 53631 },
+ { 0x1F7A, 53695 },
+ { 0x1F7B, 7154 },
+ { 0x1F7C, 7156 },
+ { 0x1F7D, 7152 },
+ { 0x1F7E, 7173 },
+ { 0x1F7F, 7147 },
+ { 0x1F80, 7144 },
+ { 0x1F81, 7162 },
+ { 0x1F82, 7158 },
+ { 0x1F83, 7150 },
+ { 0x1F84, 7169 },
+ { 0x1F85, 7166 },
+ { 0x1F86, 56475 },
+ { 0x1F87, 56481 },
+ { 0x1F88, 56502 },
+ { 0x1F89, 56487 },
+ { 0x1F8A, 56484 },
+ { 0x1F8B, 56478 },
+ { 0x1F8C, 56499 },
+ { 0x1F8D, 56496 },
+ { 0x1F8E, 56490 },
+ { 0x1F8F, 56906 },
+ { 0x1F90, 56981 },
+ { 0x1F91, 57029 },
+ { 0x1F92, 57098 },
+ { 0x1F93, 57092 },
+ { 0x1F94, 57077 },
+ { 0x1F95, 57086 },
+ { 0x1F96, 57101 },
+ { 0x1F97, 57089 },
+ { 0x1F98, 57095 },
+ { 0x1F99, 57032 },
+ { 0x1F9A, 111655 },
+ { 0x1F9B, 111661 },
+ { 0x1F9C, 111679 },
+ { 0x1F9D, 111667 },
+ { 0x1F9E, 111664 },
+ { 0x1F9F, 111658 },
+ { 0x1FA0, 111676 },
+ { 0x1FA1, 111673 },
+ { 0x1FA2, 111670 },
+ { 0x1FA3, 112053 },
+ { 0x1FA4, 112056 },
+ { 0x1FA5, 112059 },
+ { 0x1FA6, 112080 },
+ { 0x1FA7, 112074 },
+ { 0x1FA8, 112065 },
+ { 0x1FA9, 112068 },
+ { 0x1FAA, 112083 },
+ { 0x1FAB, 112071 },
+ { 0x1FAC, 112077 },
+ { 0x1FAD, 112062 },
+ { 0x1FAE, 18835 },
+ { 0x1FAF, 18853 },
+ { 0x1FB0, 18916 },
+ { 0x1FB1, 18871 },
+ { 0x1FB2, 18862 },
+ { 0x1FB3, 18844 },
+ { 0x1FB4, 18907 },
+ { 0x1FB5, 18898 },
+ { 0x1FB6, 18880 },
+ { 0x1FB7, 51662 },
+ { 0x1FB8, 51668 },
+ { 0x1FB9, 51672 },
+ { 0x1FBA, 51700 },
+ { 0x1FBB, 51692 },
+ { 0x1FBC, 51680 },
+ { 0x1FBD, 51684 },
+ { 0x1FBE, 51704 },
+ { 0x1FBF, 51688 },
+ { 0x1FC0, 51696 },
+ { 0x1FC1, 51676 },
+ { 0x1FC2, 111682 },
+ { 0x1FC3, 111687 },
+ { 0x1FC4, 111692 },
+ { 0x1FC5, 111697 },
+ { 0x1FC6, 111702 },
+ { 0x1FC7, 111707 },
+ { 0x1FC8, 111712 },
+ { 0x1FC9, 111717 },
+ { 0x1FCA, 111722 },
+ { 0x1FCB, 111727 },
+ { 0x1FCC, 111732 },
+ { 0x1FCD, 111737 },
+ { 0x1FCE, 111742 },
+ { 0x1FCF, 111747 },
+ { 0x1FD0, 111752 },
+ { 0x1FD1, 111757 },
+ { 0x1FD2, 111762 },
+ { 0x1FD3, 111767 },
+ { 0x1FD4, 111772 },
+ { 0x1FD5, 111777 },
+ { 0x1FD6, 111782 },
+ { 0x1FD7, 111787 },
+ { 0x1FD8, 111792 },
+ { 0x1FD9, 111797 },
+ { 0x1FDA, 111802 },
+ { 0x1FDB, 111807 },
+ { 0x1FDC, 56640 },
+ { 0x1FDD, 56645 },
+ { 0x1FDE, 56650 },
+ { 0x1FDF, 56655 },
+ { 0x1FE0, 56660 },
+ { 0x1FE1, 56665 },
+ { 0x1FE2, 56670 },
+ { 0x1FE3, 56675 },
+ { 0x1FE4, 56680 },
+ { 0x1FE5, 56685 },
+ { 0x1FE6, 56690 },
+ { 0x1FE7, 56695 },
+ { 0x1FE8, 56700 },
+ { 0x1FE9, 56705 },
+ { 0x1FEA, 56710 },
+ { 0x1FEB, 56715 },
+ { 0x1FEC, 56720 },
+ { 0x1FED, 56725 },
+ { 0x1FEE, 56730 },
+ { 0x1FEF, 56735 },
+ { 0x1FF0, 56740 },
+ { 0x1FF1, 56745 },
+ { 0x1FF2, 56750 },
+ { 0x1FF3, 56755 },
+ { 0x1FF4, 56760 },
+ { 0x1FF5, 56765 },
+ { 0x1FF6, 56510 },
+ { 0x1FF7, 56515 },
+ { 0x1FF8, 56520 },
+ { 0x1FF9, 56525 },
+ { 0x1FFA, 56530 },
+ { 0x1FFB, 56535 },
+ { 0x1FFC, 56540 },
+ { 0x1FFD, 56545 },
+ { 0x1FFE, 56550 },
+ { 0x1FFF, 56555 },
+ { 0x2000, 56560 },
+ { 0x2001, 56565 },
+ { 0x2002, 56570 },
+ { 0x2003, 56575 },
+ { 0x2004, 56580 },
+ { 0x2005, 56585 },
+ { 0x2006, 56590 },
+ { 0x2007, 56595 },
+ { 0x2008, 56600 },
+ { 0x2009, 56605 },
+ { 0x200A, 56610 },
+ { 0x200B, 56615 },
+ { 0x200C, 56620 },
+ { 0x200D, 56625 },
+ { 0x200E, 56630 },
+ { 0x200F, 56635 },
+ { 0x2010, 56493 },
+ { 0x2011, 82109 },
+ { 0x2012, 82113 },
+ { 0x2013, 82141 },
+ { 0x2014, 82133 },
+ { 0x2015, 82121 },
+ { 0x2016, 82125 },
+ { 0x2017, 82145 },
+ { 0x2018, 82129 },
+ { 0x2019, 82137 },
+ { 0x201A, 82117 },
+ { 0x201B, 44992 },
+ { 0x201C, 45000 },
+ { 0x201D, 45024 },
+ { 0x201E, 45008 },
+ { 0x201F, 45004 },
+ { 0x2020, 44996 },
+ { 0x2021, 45020 },
+ { 0x2022, 45016 },
+ { 0x2023, 45012 },
+ { 0x2024, 45028 },
+ { 0x2025, 81949 },
+ { 0x2026, 5090 },
+ { 0x2027, 4911 },
+ { 0x2028, 5056 },
+ { 0x2029, 4877 },
+ { 0x202A, 5027 },
+ { 0x202B, 4871 },
+ { 0x202C, 5021 },
+ { 0x202D, 4865 },
+ { 0x202E, 5084 },
+ { 0x202F, 4905 },
+ { 0x2030, 5078 },
+ { 0x2031, 4899 },
+ { 0x2032, 4982 },
+ { 0x2033, 4665 },
+ { 0x2034, 4620 },
+ { 0x2035, 4826 },
+ { 0x2036, 4976 },
+ { 0x2037, 4650 },
+ { 0x2038, 4605 },
+ { 0x2039, 4820 },
+ { 0x203A, 4932 },
+ { 0x203B, 4533 },
+ { 0x203C, 4488 },
+ { 0x203D, 4804 },
+ { 0x203E, 4919 },
+ { 0x203F, 4518 },
+ { 0x2040, 4473 },
+ { 0x2041, 4791 },
+ { 0x2042, 5066 },
+ { 0x2043, 5250 },
+ { 0x2044, 4480 },
+ { 0x2045, 4612 },
+ { 0x2046, 5229 },
+ { 0x2047, 4657 },
+ { 0x2048, 4525 },
+ { 0x2049, 4887 },
+ { 0x204A, 5060 },
+ { 0x204B, 5243 },
+ { 0x204C, 4465 },
+ { 0x204D, 4597 },
+ { 0x204E, 5222 },
+ { 0x204F, 4642 },
+ { 0x2050, 4510 },
+ { 0x2051, 4881 },
+ { 0x2052, 4988 },
+ { 0x2053, 4747 },
+ { 0x2054, 5120 },
+ { 0x2055, 4672 },
+ { 0x2056, 4627 },
+ { 0x2057, 5144 },
+ { 0x2058, 4771 },
+ { 0x2059, 4832 },
+ { 0x205A, 4938 },
+ { 0x205B, 4739 },
+ { 0x205C, 5112 },
+ { 0x205D, 4540 },
+ { 0x205E, 4495 },
+ { 0x205F, 5136 },
+ { 0x2060, 4763 },
+ { 0x2061, 4810 },
+ { 0x2062, 5072 },
+ { 0x2063, 4755 },
+ { 0x2064, 5128 },
+ { 0x2065, 5257 },
+ { 0x2066, 4457 },
+ { 0x2067, 4589 },
+ { 0x2068, 5236 },
+ { 0x2069, 4721 },
+ { 0x206A, 5094 },
+ { 0x206B, 4730 },
+ { 0x206C, 5103 },
+ { 0x206D, 4634 },
+ { 0x206E, 4502 },
+ { 0x206F, 5152 },
+ { 0x2070, 4779 },
+ { 0x2071, 4893 },
+ { 0x2072, 5015 },
+ { 0x2073, 4859 },
+ { 0x2074, 5009 },
+ { 0x2075, 4853 },
+ { 0x2076, 5218 },
+ { 0x2077, 5196 },
+ { 0x2078, 4707 },
+ { 0x2079, 4686 },
+ { 0x207A, 5184 },
+ { 0x207B, 4700 },
+ { 0x207C, 4679 },
+ { 0x207D, 5178 },
+ { 0x207E, 4575 },
+ { 0x207F, 4554 },
+ { 0x2080, 5166 },
+ { 0x2081, 4568 },
+ { 0x2082, 4547 },
+ { 0x2083, 5160 },
+ { 0x2084, 5292 },
+ { 0x2085, 5271 },
+ { 0x2086, 5206 },
+ { 0x2087, 5285 },
+ { 0x2088, 5264 },
+ { 0x2089, 5200 },
+ { 0x208A, 4714 },
+ { 0x208B, 4693 },
+ { 0x208C, 5190 },
+ { 0x208D, 4582 },
+ { 0x208E, 4561 },
+ { 0x208F, 5172 },
+ { 0x2090, 5299 },
+ { 0x2091, 5278 },
+ { 0x2092, 5212 },
+ { 0x2093, 4965 },
+ { 0x2094, 4958 },
+ { 0x2095, 4944 },
+ { 0x2096, 4951 },
+ { 0x2097, 5047 },
+ { 0x2098, 5038 },
+ { 0x2099, 5033 },
+ { 0x209A, 4994 },
+ { 0x209B, 4915 },
+ { 0x209C, 5005 },
+ { 0x209D, 4972 },
+ { 0x209E, 4838 },
+ { 0x209F, 4787 },
+ { 0x20A0, 4849 },
+ { 0x20A1, 4816 },
+ { 0x20A2, 4998 },
+ { 0x20A3, 4925 },
+ { 0x20A4, 4842 },
+ { 0x20A5, 4797 },
+ { 0x20A6, 34333 },
+ { 0x20A7, 30639 },
+ { 0x20A8, 30643 },
+ { 0x20A9, 30735 },
+ { 0x20AA, 30651 },
+ { 0x20AB, 30647 },
+ { 0x20AC, 30739 },
+ { 0x20AD, 30731 },
+ { 0x20AE, 12658 },
+ { 0x20AF, 12913 },
+ { 0x20B0, 12921 },
+ { 0x20B1, 12775 },
+ { 0x20B2, 12783 },
+ { 0x20B3, 12917 },
+ { 0x20B4, 12740 },
+ { 0x20B5, 12736 },
+ { 0x20B6, 32570 },
+ { 0x20B7, 30391 },
+ { 0x20B8, 51238 },
+ { 0x20B9, 12416 },
+ { 0x20BA, 34329 },
+ { 0x20BB, 32559 },
+ { 0x20BC, 82807 },
+ { 0x20BD, 82810 },
+ { 0x20BE, 82813 },
+ { 0x20BF, 82816 },
+ { 0x20C0, 82825 },
+ { 0x20C1, 82831 },
+ { 0x20C2, 82840 },
+ { 0x20C3, 82849 },
+ { 0x20C4, 82852 },
+ { 0x20C5, 82858 },
+ { 0x20C6, 18364 },
+ { 0x20C7, 34833 },
+ { 0x20C8, 34865 },
+ { 0x20C9, 34896 },
+ { 0x20CA, 53094 },
+ { 0x20CB, 53086 },
+ { 0x20CC, 53098 },
+ { 0x20CD, 53046 },
+ { 0x20CE, 53061 },
+ { 0x20CF, 53081 },
+ { 0x20D0, 18203 },
+ { 0x20D1, 34754 },
+ { 0x20D2, 18465 },
+ { 0x20D3, 34995 },
+ { 0x20D4, 18449 },
+ { 0x20D5, 34990 },
+ { 0x20D6, 18550 },
+ { 0x20D7, 35055 },
+ { 0x20D8, 18500 },
+ { 0x20D9, 35015 },
+ { 0x20DA, 18492 },
+ { 0x20DB, 35011 },
+ { 0x20DC, 18573 },
+ { 0x20DD, 35067 },
+ { 0x20DE, 18552 },
+ { 0x20DF, 35057 },
+ { 0x20E0, 18567 },
+ { 0x20E1, 35061 },
+ { 0x20E2, 18516 },
+ { 0x20E3, 35042 },
+ { 0x20E4, 18508 },
+ { 0x20E5, 35038 },
+ { 0x20E6, 18542 },
+ { 0x20E7, 35052 },
+ { 0x20E8, 18524 },
+ { 0x20E9, 35045 },
+ { 0x20EA, 18539 },
+ { 0x20EB, 35049 },
+ { 0x20EC, 18376 },
+ { 0x20ED, 34908 },
+ { 0x20EE, 34929 },
+ { 0x20EF, 58410 },
+ { 0x20F0, 59135 },
+ { 0x20F1, 34765 },
+ { 0x20F2, 44908 },
+ { 0x20F3, 43679 },
+ { 0x20F4, 66964 },
+ { 0x20F5, 18231 },
+ { 0x20F6, 43646 },
+ { 0x20F7, 43656 },
+ { 0x20F8, 43651 },
+ { 0x20F9, 43668 },
+ { 0x20FA, 43673 },
+ { 0x20FB, 43630 },
+ { 0x20FC, 12779 },
+ { 0x20FD, 32566 },
+ { 0x20FE, 58757 },
+ { 0x20FF, 58754 },
+ { 0x2100, 34339 },
+ { 0x2101, 30657 },
+ { 0x2102, 34357 },
+ { 0x2103, 34379 },
+ { 0x2104, 30703 },
+ { 0x2105, 30672 },
+ { 0x2106, 34336 },
+ { 0x2107, 30654 },
+ { 0x2108, 18180 },
+ { 0x2109, 18176 },
+ { 0x210A, 18217 },
+ { 0x210B, 18221 },
+ { 0x210C, 34763 },
+ { 0x210D, 53022 },
+ { 0x210E, 53041 },
+ { 0x210F, 53054 },
+ { 0x2110, 53034 },
+ { 0x2111, 34870 },
+ { 0x2112, 35018 },
+ { 0x2113, 105794 },
+ { 0x2114, 105800 },
+ { 0x2115, 23318 },
+ { 0x2116, 34847 },
+ { 0x2117, 34835 },
+ { 0x2118, 34841 },
+ { 0x2119, 34853 },
+ { 0x211A, 34794 },
+ { 0x211B, 34782 },
+ { 0x211C, 34788 },
+ { 0x211D, 34800 },
+ { 0x211E, 34362 },
+ { 0x211F, 34394 },
+ { 0x2120, 30677 },
+ { 0x2121, 34821 },
+ { 0x2122, 18316 },
+ { 0x2123, 34817 },
+ { 0x2124, 18304 },
+ { 0x2125, 30718 },
+ { 0x2126, 18083 },
+ { 0x2127, 18774 },
+ { 0x2128, 83748 },
+ { 0x2129, 63702 },
+ { 0x212A, 18792 },
+ { 0x212B, 18122 },
+ { 0x212C, 34691 },
+ { 0x212D, 96886 },
+ { 0x212E, 111229 },
+ { 0x212F, 9314 },
+ { 0x2130, 85636 },
+ { 0x2131, 99562 },
+ { 0x2132, 101881 },
+ { 0x2133, 100884 },
+ { 0x2134, 18467 },
+ { 0x2135, 34997 },
+ { 0x2136, 42754 },
+ { 0x2137, 42771 },
+ { 0x2138, 42756 },
+ { 0x2139, 62311 },
+ { 0x213A, 83752 },
+ { 0x213B, 5938 },
+ { 0x213C, 34748 },
+ { 0x213D, 18193 },
+ { 0x213E, 83106 },
+ { 0x213F, 83075 },
+ { 0x2140, 18110 },
+ { 0x2141, 18184 },
+ { 0x2142, 34682 },
+ { 0x2143, 34606 },
+ { 0x2144, 34739 },
+ { 0x2145, 34647 },
+ { 0x2146, 33370 },
+ { 0x2147, 56441 },
+ { 0x2148, 102571 },
+ { 0x2149, 85649 },
+ { 0x214A, 66965 },
+ { 0x214B, 12031 },
+ { 0x214C, 82345 },
+ { 0x214D, 5328 },
+ { 0x214E, 18797 },
+ { 0x214F, 18800 },
+ { 0x2150, 14580 },
+ { 0x2151, 19066 },
+ { 0x2152, 4070 },
+ { 0x2153, 45299 },
+ { 0x2154, 32528 },
+ { 0x2155, 11834 },
+ { 0x2156, 65401 },
+ { 0x2157, 65389 },
+ { 0x2158, 65386 },
+ { 0x2159, 65404 },
+ { 0x215A, 65392 },
+ { 0x215B, 65398 },
+ { 0x215C, 65407 },
+ { 0x215D, 65395 },
+ { 0x215E, 34603 },
+ { 0x215F, 34967 },
+ { 0x2160, 34951 },
+ { 0x2161, 18408 },
+ { 0x2162, 34619 },
+ { 0x2163, 19077 },
+ { 0x2164, 12703 },
+ { 0x2165, 59426 },
+ { 0x2166, 45164 },
+ { 0x2167, 18933 },
+ { 0x2168, 13364 },
+ { 0x2169, 58761 },
+ { 0x216A, 52583 },
+ { 0x216B, 54626 },
+ { 0x216C, 61553 },
+ { 0x216D, 32538 },
+ { 0x216E, 15069 },
+ { 0x216F, 53970 },
+ { 0x2170, 45204 },
+ { 0x2171, 43259 },
+ { 0x2172, 6206 },
+ { 0x2173, 34589 },
+ { 0x2174, 30343 },
+ { 0x2175, 83094 },
+ { 0x2176, 102575 },
+ { 0x2177, 86905 },
+ { 0x2178, 65773 },
+ { 0x2179, 52329 },
+ { 0x217A, 34708 },
+ { 0x217B, 34717 },
+ { 0x217C, 34714 },
+ { 0x217D, 34720 },
+ { 0x217E, 34723 },
+ { 0x217F, 34711 },
+ { 0x2180, 18145 },
+ { 0x2181, 18154 },
+ { 0x2182, 18151 },
+ { 0x2183, 18157 },
+ { 0x2184, 18160 },
+ { 0x2185, 18148 },
+ { 0x2186, 18212 },
+ { 0x2187, 34726 },
+ { 0x2188, 34914 },
+ { 0x2189, 18087 },
+ { 0x218A, 34760 },
+ { 0x218B, 18167 },
+ { 0x218C, 18378 },
+ { 0x218D, 34638 },
+ { 0x218E, 5936 },
+ { 0x218F, 62231 },
+ { 0x2190, 45096 },
+ { 0x2191, 42799 },
+ { 0x2192, 42806 },
+ { 0x2193, 31863 },
+ { 0x2194, 31869 },
+ { 0x2195, 31866 },
+ { 0x2196, 15016 },
+ { 0x2197, 12495 },
+ { 0x2198, 98991 },
+ { 0x2199, 98120 },
+ { 0x219A, 98125 },
+ { 0x219B, 98130 },
+ { 0x219C, 98135 },
+ { 0x219D, 98140 },
+ { 0x219E, 98145 },
+ { 0x219F, 98150 },
+ { 0x21A0, 98155 },
+ { 0x21A1, 18472 },
+ { 0x21A2, 82873 },
+ { 0x21A3, 112311 },
+ { 0x21A4, 98104 },
+ { 0x21A5, 101852 },
+ { 0x21A6, 5882 },
+ { 0x21A7, 5884 },
+ { 0x21A8, 5886 },
+ { 0x21A9, 5888 },
+ { 0x21AA, 5890 },
+ { 0x21AB, 5892 },
+ { 0x21AC, 34767 },
+ { 0x21AD, 34772 },
+ { 0x21AE, 18248 },
+ { 0x21AF, 18237 },
+ { 0x21B0, 81919 },
+ { 0x21B1, 81916 },
+ { 0x21B2, 44585 },
+ { 0x21B3, 44565 },
+ { 0x21B4, 44569 },
+ { 0x21B5, 44581 },
+ { 0x21B6, 34656 },
+ { 0x21B7, 18095 },
+ { 0x21B8, 45296 },
+ { 0x21B9, 35306 },
+ { 0x21BA, 57475 },
+ { 0x21BB, 33727 },
+ { 0x21BC, 52584 },
+ { 0x21BD, 55159 },
+ { 0x21BE, 45184 },
+ { 0x21BF, 12669 },
+ { 0x21C0, 33724 },
+ { 0x21C1, 12032 },
+ { 0x21C2, 106133 },
+ { 0x21C3, 82356 },
+ { 0x21C4, 34209 },
+ { 0x21C5, 34205 },
+ { 0x21C6, 65746 },
+ { 0x21C7, 12687 },
+ { 0x21C8, 58217 },
+ { 0x21C9, 58214 },
+ { 0x21CA, 102531 },
+ { 0x21CB, 13360 },
+ { 0x21CC, 13374 },
+ { 0x21CD, 13366 },
+ { 0x21CE, 83841 },
+ { 0x21CF, 100474 },
+ { 0x21D0, 51254 },
+ { 0x21D1, 51214 },
+ { 0x21D2, 51240 },
+ { 0x21D3, 80176 },
+ { 0x21D4, 58211 },
+ { 0x21D5, 98994 },
+ { 0x21D6, 43752 },
+ { 0x21D7, 58418 },
+ { 0x21D8, 51649 },
+ { 0x21D9, 18667 },
+ { 0x21DA, 52299 },
+ { 0x21DB, 12695 },
+ { 0x21DC, 34584 },
+ { 0x21DD, 43627 },
+ { 0x21DE, 18119 },
+ { 0x21DF, 62318 },
+ { 0x21E0, 102578 },
+ { 0x21E1, 82872 },
+ { 0x21E2, 112267 },
+ { 0x21E3, 52665 },
+ { 0x21E4, 66647 },
+ { 0x21E5, 63922 },
+ { 0x21E6, 34959 },
+ { 0x21E7, 34962 },
+ { 0x21E8, 18422 },
+ { 0x21E9, 18425 },
+ { 0x21EA, 63703 },
+ { 0x21EB, 9318 },
+ { 0x21EC, 14278 },
+ { 0x21ED, 18411 },
+ { 0x21EE, 64211 },
+ { 0x21EF, 54594 },
+ { 0x21F0, 54551 },
+ { 0x21F1, 34910 },
+ { 0x21F2, 70277 },
+ { 0x21F3, 72175 },
+ { 0x21F4, 98000 },
+ { 0x21F5, 14211 },
+ { 0x21F6, 5311 },
+ { 0x21F7, 47275 },
+ { 0x21F8, 57113 },
+ { 0x21F9, 43414 },
+ { 0x21FA, 90 },
+ { 0x21FB, 83868 },
+ { 0x21FC, 18413 },
+ { 0x21FD, 34954 },
+ { 0x21FE, 18106 },
+ { 0x21FF, 34678 },
+ { 0x2200, 18930 },
+ { 0x2201, 22247 },
+ { 0x2202, 12949 },
+ { 0x2203, 64093 },
+ { 0x2204, 58389 },
+ { 0x2205, 18215 },
+ { 0x2206, 100996 },
+ { 0x2207, 100999 },
+ { 0x2208, 106081 },
+ { 0x2209, 22261 },
+ { 0x220A, 98103 },
+ { 0x220B, 111215 },
+ { 0x220C, 102549 },
+ { 0x220D, 79343 },
+ { 0x220E, 18163 },
+ { 0x220F, 52639 },
+ { 0x2210, 43628 },
+ { 0x2211, 43408 },
+ { 0x2212, 79149 },
+ { 0x2213, 12673 },
+ { 0x2214, 12670 },
+ { 0x2215, 6242 },
+ { 0x2216, 81927 },
+ { 0x2217, 83749 },
+ { 0x2218, 77569 },
+ { 0x2219, 12607 },
+ { 0x221A, 19068 },
+ { 0x221B, 83092 },
+ { 0x221C, 52979 },
+ { 0x221D, 33368 },
+ { 0x221E, 5942 },
+ { 0x221F, 52301 },
+ { 0x2220, 14593 },
+ { 0x2221, 79350 },
+ { 0x2222, 95976 },
+ { 0x2223, 12647 },
+ { 0x2224, 5878 },
+ { 0x2225, 34658 },
+ { 0x2226, 18361 },
+ { 0x2227, 34365 },
+ { 0x2228, 18436 },
+ { 0x2229, 30692 },
+ { 0x222A, 34976 },
+ { 0x222B, 34729 },
+ { 0x222C, 98717 },
+ { 0x222D, 14588 },
+ { 0x222E, 65764 },
+ { 0x222F, 75989 },
+ { 0x2230, 52378 },
+ { 0x2231, 52380 },
+ { 0x2232, 65743 },
+ { 0x2233, 65755 },
+ { 0x2234, 30700 },
+ { 0x2235, 52300 },
+ { 0x2236, 34376 },
+ { 0x2237, 34615 },
+ { 0x2238, 18081 },
+ { 0x2239, 18683 },
+ { 0x223A, 22132 },
+ { 0x223B, 112218 },
+ { 0x223C, 22441 },
+ { 0x223D, 42752 },
+ { 0x223E, 22251 },
+ { 0x223F, 82350 },
+ { 0x2240, 22160 },
+ { 0x2241, 14164 },
+ { 0x2242, 22080 },
+ { 0x2243, 23328 },
+ { 0x2244, 83099 },
+ { 0x2245, 82353 },
+ { 0x2246, 59334 },
+ { 0x2247, 14577 },
+ { 0x2248, 12642 },
+ { 0x2249, 12639 },
+ { 0x224A, 22076 },
+ { 0x224B, 12636 },
+ { 0x224C, 18097 },
+ { 0x224D, 34669 },
+ { 0x224E, 83167 },
+ { 0x224F, 53291 },
+ { 0x2250, 56774 },
+ { 0x2251, 14160 },
+ { 0x2252, 18227 },
+ { 0x2253, 82347 },
+ { 0x2254, 22351 },
+ { 0x2255, 82748 },
+ { 0x2256, 83096 },
+ { 0x2257, 22341 },
+ { 0x2258, 14167 },
+ { 0x2259, 18945 },
+ { 0x225A, 18948 },
+ { 0x225B, 18952 },
+ { 0x225C, 9296 },
+ { 0x225D, 18956 },
+ { 0x225E, 22149 },
+ { 0x225F, 54620 },
+ { 0x2260, 63583 },
+ { 0x2261, 112282 },
+ { 0x2262, 14170 },
+ { 0x2263, 22474 },
+ { 0x2264, 9304 },
+ { 0x2265, 18428 },
+ { 0x2266, 34965 },
+ { 0x2267, 18961 },
+ { 0x2268, 56461 },
+ { 0x2269, 22477 },
+ { 0x226A, 98405 },
+ { 0x226B, 34242 },
+ { 0x226C, 22318 },
+ { 0x226D, 63710 },
+ { 0x226E, 22326 },
+ { 0x226F, 112213 },
+ { 0x2270, 18966 },
+ { 0x2271, 22155 },
+ { 0x2272, 18803 },
+ { 0x2273, 83103 },
+ { 0x2274, 82164 },
+ { 0x2275, 30726 },
+ { 0x2276, 34397 },
+ { 0x2277, 30713 },
+ { 0x2278, 34389 },
+ { 0x2279, 18432 },
+ { 0x227A, 34972 },
+ { 0x227B, 35007 },
+ { 0x227C, 18386 },
+ { 0x227D, 22407 },
+ { 0x227E, 30408 },
+ { 0x227F, 51262 },
+ { 0x2280, 22355 },
+ { 0x2281, 22301 },
+ { 0x2282, 22295 },
+ { 0x2283, 22283 },
+ { 0x2284, 22277 },
+ { 0x2285, 22051 },
+ { 0x2286, 22044 },
+ { 0x2287, 44521 },
+ { 0x2288, 22411 },
+ { 0x2289, 22163 },
+ { 0x228A, 22115 },
+ { 0x228B, 62283 },
+ { 0x228C, 45182 },
+ { 0x228D, 62299 },
+ { 0x228E, 51210 },
+ { 0x228F, 51234 },
+ { 0x2290, 51265 },
+ { 0x2291, 51270 },
+ { 0x2292, 51278 },
+ { 0x2293, 51283 },
+ { 0x2294, 22435 },
+ { 0x2295, 22449 },
+ { 0x2296, 22430 },
+ { 0x2297, 22444 },
+ { 0x2298, 30367 },
+ { 0x2299, 30385 },
+ { 0x229A, 51205 },
+ { 0x229B, 51229 },
+ { 0x229C, 58094 },
+ { 0x229D, 58104 },
+ { 0x229E, 58134 },
+ { 0x229F, 58114 },
+ { 0x22A0, 58109 },
+ { 0x22A1, 58099 },
+ { 0x22A2, 58129 },
+ { 0x22A3, 58124 },
+ { 0x22A4, 58119 },
+ { 0x22A5, 58139 },
+ { 0x22A6, 58039 },
+ { 0x22A7, 58049 },
+ { 0x22A8, 58084 },
+ { 0x22A9, 58059 },
+ { 0x22AA, 58054 },
+ { 0x22AB, 58044 },
+ { 0x22AC, 58079 },
+ { 0x22AD, 58074 },
+ { 0x22AE, 58064 },
+ { 0x22AF, 58089 },
+ { 0x22B0, 58144 },
+ { 0x22B1, 58156 },
+ { 0x22B2, 58198 },
+ { 0x22B3, 58168 },
+ { 0x22B4, 58162 },
+ { 0x22B5, 58150 },
+ { 0x22B6, 58192 },
+ { 0x22B7, 58186 },
+ { 0x22B8, 58174 },
+ { 0x22B9, 58204 },
+ { 0x22BA, 22418 },
+ { 0x22BB, 22089 },
+ { 0x22BC, 22180 },
+ { 0x22BD, 22343 },
+ { 0x22BE, 22209 },
+ { 0x22BF, 22387 },
+ { 0x22C0, 22183 },
+ { 0x22C1, 72196 },
+ { 0x22C2, 22422 },
+ { 0x22C3, 112284 },
+ { 0x22C4, 22481 },
+ { 0x22C5, 44543 },
+ { 0x22C6, 22269 },
+ { 0x22C7, 18479 },
+ { 0x22C8, 64188 },
+ { 0x22C9, 64207 },
+ { 0x22CA, 18485 },
+ { 0x22CB, 22125 },
+ { 0x22CC, 22118 },
+ { 0x22CD, 33720 },
+ { 0x22CE, 22469 },
+ { 0x22CF, 111218 },
+ { 0x22D0, 102552 },
+ { 0x22D1, 101859 },
+ { 0x22D2, 106137 },
+ { 0x22D3, 22174 },
+ { 0x22D4, 22235 },
+ { 0x22D5, 61569 },
+ { 0x22D6, 18813 },
+ { 0x22D7, 61581 },
+ { 0x22D8, 56505 },
+ { 0x22D9, 112287 },
+ { 0x22DA, 112272 },
+ { 0x22DB, 112276 },
+ { 0x22DC, 112268 },
+ { 0x22DD, 22460 },
+ { 0x22DE, 22465 },
+ { 0x22DF, 22455 },
+ { 0x22E0, 112279 },
+ { 0x22E1, 22485 },
+ { 0x22E2, 111230 },
+ { 0x22E3, 22426 },
+ { 0x22E4, 111652 },
+ { 0x22E5, 44945 },
+ { 0x22E6, 34236 },
+ { 0x22E7, 34978 },
+ { 0x22E8, 112194 },
+ { 0x22E9, 14176 },
+ { 0x22EA, 14188 },
+ { 0x22EB, 13048 },
+ { 0x22EC, 32791 },
+ { 0x22ED, 311 },
+ { 0x22EE, 62272 },
+ { 0x22EF, 83308 },
+ { 0x22F0, 83760 },
+ { 0x22F1, 108365 },
+ { 0x22F2, 13310 },
+ { 0x22F3, 108532 },
+ { 0x22F4, 64090 },
+ { 0x22F5, 64087 },
+ { 0x22F6, 34917 },
+ { 0x22F7, 4078 },
+ { 0x22F8, 58380 },
+ { 0x22F9, 30695 },
+ { 0x22FA, 34352 },
+ { 0x22FB, 12842 },
+ { 0x22FC, 32655 },
+ { 0x22FD, 12660 },
+ { 0x22FE, 23271 },
+ { 0x22FF, 23311 },
+ { 0x2300, 12723 },
+ { 0x2301, 12719 },
+ { 0x2302, 13046 },
+ { 0x2303, 13307 },
+ { 0x2304, 13295 },
+ { 0x2305, 378 },
+ { 0x2306, 59136 },
+ { 0x2307, 35023 },
+ { 0x2308, 35026 },
+ { 0x2309, 35032 },
+ { 0x230A, 34876 },
+ { 0x230B, 34881 },
+ { 0x230C, 107874 },
+ { 0x230D, 107898 },
+ { 0x230E, 107870 },
+ { 0x230F, 107894 },
+ { 0x2310, 107885 },
+ { 0x2311, 107909 },
+ { 0x2312, 107879 },
+ { 0x2313, 107903 },
+ { 0x2314, 107890 },
+ { 0x2315, 107914 },
+ { 0x2316, 65643 },
+ { 0x2317, 94933 },
+ { 0x2318, 111247 },
+ { 0x2319, 87154 },
+ { 0x231A, 32621 },
+ { 0x231B, 13312 },
+ { 0x231C, 13334 },
+ { 0x231D, 13298 },
+ { 0x231E, 13320 },
+ { 0x231F, 13342 },
+ { 0x2320, 13302 },
+ { 0x2321, 13315 },
+ { 0x2322, 13337 },
+ { 0x2323, 13324 },
+ { 0x2324, 13346 },
+ { 0x2325, 13352 },
+ { 0x2326, 55671 },
+ { 0x2327, 55674 },
+ { 0x2328, 55677 },
+ { 0x2329, 55698 },
+ { 0x232A, 55680 },
+ { 0x232B, 55701 },
+ { 0x232C, 55719 },
+ { 0x232D, 55782 },
+ { 0x232E, 55683 },
+ { 0x232F, 55704 },
+ { 0x2330, 55722 },
+ { 0x2331, 55785 },
+ { 0x2332, 55737 },
+ { 0x2333, 55800 },
+ { 0x2334, 55845 },
+ { 0x2335, 55950 },
+ { 0x2336, 55686 },
+ { 0x2337, 55707 },
+ { 0x2338, 55725 },
+ { 0x2339, 55788 },
+ { 0x233A, 55740 },
+ { 0x233B, 55803 },
+ { 0x233C, 55848 },
+ { 0x233D, 55953 },
+ { 0x233E, 55752 },
+ { 0x233F, 55815 },
+ { 0x2340, 55860 },
+ { 0x2341, 55965 },
+ { 0x2342, 55890 },
+ { 0x2343, 55995 },
+ { 0x2344, 56055 },
+ { 0x2345, 56160 },
+ { 0x2346, 55689 },
+ { 0x2347, 55710 },
+ { 0x2348, 55728 },
+ { 0x2349, 55791 },
+ { 0x234A, 55743 },
+ { 0x234B, 55806 },
+ { 0x234C, 55851 },
+ { 0x234D, 55956 },
+ { 0x234E, 55755 },
+ { 0x234F, 55818 },
+ { 0x2350, 55863 },
+ { 0x2351, 55968 },
+ { 0x2352, 55893 },
+ { 0x2353, 55998 },
+ { 0x2354, 56058 },
+ { 0x2355, 56163 },
+ { 0x2356, 55764 },
+ { 0x2357, 55827 },
+ { 0x2358, 55872 },
+ { 0x2359, 55977 },
+ { 0x235A, 55902 },
+ { 0x235B, 56007 },
+ { 0x235C, 56067 },
+ { 0x235D, 56172 },
+ { 0x235E, 55920 },
+ { 0x235F, 56025 },
+ { 0x2360, 56085 },
+ { 0x2361, 56190 },
+ { 0x2362, 56115 },
+ { 0x2363, 56220 },
+ { 0x2364, 56265 },
+ { 0x2365, 56328 },
+ { 0x2366, 55692 },
+ { 0x2367, 55713 },
+ { 0x2368, 55731 },
+ { 0x2369, 55794 },
+ { 0x236A, 55746 },
+ { 0x236B, 55809 },
+ { 0x236C, 55854 },
+ { 0x236D, 55959 },
+ { 0x236E, 55758 },
+ { 0x236F, 55821 },
+ { 0x2370, 55866 },
+ { 0x2371, 55971 },
+ { 0x2372, 55896 },
+ { 0x2373, 56001 },
+ { 0x2374, 56061 },
+ { 0x2375, 56166 },
+ { 0x2376, 55767 },
+ { 0x2377, 55830 },
+ { 0x2378, 55875 },
+ { 0x2379, 55980 },
+ { 0x237A, 55905 },
+ { 0x237B, 56010 },
+ { 0x237C, 56070 },
+ { 0x237D, 56175 },
+ { 0x237E, 55923 },
+ { 0x237F, 56028 },
+ { 0x2380, 56088 },
+ { 0x2381, 56193 },
+ { 0x2382, 56118 },
+ { 0x2383, 56223 },
+ { 0x2384, 56268 },
+ { 0x2385, 56331 },
+ { 0x2386, 55773 },
+ { 0x2387, 55836 },
+ { 0x2388, 55881 },
+ { 0x2389, 55986 },
+ { 0x238A, 55911 },
+ { 0x238B, 56016 },
+ { 0x238C, 56076 },
+ { 0x238D, 56181 },
+ { 0x238E, 55929 },
+ { 0x238F, 56034 },
+ { 0x2390, 56094 },
+ { 0x2391, 56199 },
+ { 0x2392, 56124 },
+ { 0x2393, 56229 },
+ { 0x2394, 56274 },
+ { 0x2395, 56337 },
+ { 0x2396, 55938 },
+ { 0x2397, 56043 },
+ { 0x2398, 56103 },
+ { 0x2399, 56208 },
+ { 0x239A, 56133 },
+ { 0x239B, 56238 },
+ { 0x239C, 56283 },
+ { 0x239D, 56346 },
+ { 0x239E, 56145 },
+ { 0x239F, 56250 },
+ { 0x23A0, 56295 },
+ { 0x23A1, 56358 },
+ { 0x23A2, 56310 },
+ { 0x23A3, 56373 },
+ { 0x23A4, 56391 },
+ { 0x23A5, 56412 },
+ { 0x23A6, 55695 },
+ { 0x23A7, 55716 },
+ { 0x23A8, 55734 },
+ { 0x23A9, 55797 },
+ { 0x23AA, 55749 },
+ { 0x23AB, 55812 },
+ { 0x23AC, 55857 },
+ { 0x23AD, 55962 },
+ { 0x23AE, 55761 },
+ { 0x23AF, 55824 },
+ { 0x23B0, 55869 },
+ { 0x23B1, 55974 },
+ { 0x23B2, 55899 },
+ { 0x23B3, 56004 },
+ { 0x23B4, 56064 },
+ { 0x23B5, 56169 },
+ { 0x23B6, 55770 },
+ { 0x23B7, 55833 },
+ { 0x23B8, 55878 },
+ { 0x23B9, 55983 },
+ { 0x23BA, 55908 },
+ { 0x23BB, 56013 },
+ { 0x23BC, 56073 },
+ { 0x23BD, 56178 },
+ { 0x23BE, 55926 },
+ { 0x23BF, 56031 },
+ { 0x23C0, 56091 },
+ { 0x23C1, 56196 },
+ { 0x23C2, 56121 },
+ { 0x23C3, 56226 },
+ { 0x23C4, 56271 },
+ { 0x23C5, 56334 },
+ { 0x23C6, 55776 },
+ { 0x23C7, 55839 },
+ { 0x23C8, 55884 },
+ { 0x23C9, 55989 },
+ { 0x23CA, 55914 },
+ { 0x23CB, 56019 },
+ { 0x23CC, 56079 },
+ { 0x23CD, 56184 },
+ { 0x23CE, 55932 },
+ { 0x23CF, 56037 },
+ { 0x23D0, 56097 },
+ { 0x23D1, 56202 },
+ { 0x23D2, 56127 },
+ { 0x23D3, 56232 },
+ { 0x23D4, 56277 },
+ { 0x23D5, 56340 },
+ { 0x23D6, 55941 },
+ { 0x23D7, 56046 },
+ { 0x23D8, 56106 },
+ { 0x23D9, 56211 },
+ { 0x23DA, 56136 },
+ { 0x23DB, 56241 },
+ { 0x23DC, 56286 },
+ { 0x23DD, 56349 },
+ { 0x23DE, 56148 },
+ { 0x23DF, 56253 },
+ { 0x23E0, 56298 },
+ { 0x23E1, 56361 },
+ { 0x23E2, 56313 },
+ { 0x23E3, 56376 },
+ { 0x23E4, 56394 },
+ { 0x23E5, 56415 },
+ { 0x23E6, 55779 },
+ { 0x23E7, 55842 },
+ { 0x23E8, 55887 },
+ { 0x23E9, 55992 },
+ { 0x23EA, 55917 },
+ { 0x23EB, 56022 },
+ { 0x23EC, 56082 },
+ { 0x23ED, 56187 },
+ { 0x23EE, 55935 },
+ { 0x23EF, 56040 },
+ { 0x23F0, 56100 },
+ { 0x23F1, 56205 },
+ { 0x23F2, 56130 },
+ { 0x23F3, 56235 },
+ { 0x23F4, 56280 },
+ { 0x23F5, 56343 },
+ { 0x23F6, 55944 },
+ { 0x23F7, 56049 },
+ { 0x23F8, 56109 },
+ { 0x23F9, 56214 },
+ { 0x23FA, 56139 },
+ { 0x23FB, 56244 },
+ { 0x23FC, 56289 },
+ { 0x23FD, 56352 },
+ { 0x23FE, 56151 },
+ { 0x23FF, 56256 },
+ { 0x2400, 56301 },
+ { 0x2401, 56364 },
+ { 0x2402, 56316 },
+ { 0x2403, 56379 },
+ { 0x2404, 56397 },
+ { 0x2405, 56418 },
+ { 0x2406, 55947 },
+ { 0x2407, 56052 },
+ { 0x2408, 56112 },
+ { 0x2409, 56217 },
+ { 0x240A, 56142 },
+ { 0x240B, 56247 },
+ { 0x240C, 56292 },
+ { 0x240D, 56355 },
+ { 0x240E, 56154 },
+ { 0x240F, 56259 },
+ { 0x2410, 56304 },
+ { 0x2411, 56367 },
+ { 0x2412, 56319 },
+ { 0x2413, 56382 },
+ { 0x2414, 56400 },
+ { 0x2415, 56421 },
+ { 0x2416, 56157 },
+ { 0x2417, 56262 },
+ { 0x2418, 56307 },
+ { 0x2419, 56370 },
+ { 0x241A, 56322 },
+ { 0x241B, 56385 },
+ { 0x241C, 56403 },
+ { 0x241D, 56424 },
+ { 0x241E, 56325 },
+ { 0x241F, 56388 },
+ { 0x2420, 56406 },
+ { 0x2421, 56427 },
+ { 0x2422, 56409 },
+ { 0x2423, 56430 },
+ { 0x2424, 56433 },
+ { 0x2425, 56436 },
+ { 0x2426, 101415 },
+ { 0x2427, 101402 },
+ { 0x2428, 96459 },
+ { 0x2429, 101242 },
+ { 0x242A, 12894 },
+ { 0x242B, 101375 },
+ { 0x242C, 96449 },
+ { 0x242D, 101232 },
+ { 0x242E, 94808 },
+ { 0x242F, 65477 },
+ { 0x2430, 65574 },
+ { 0x2431, 94861 },
+ { 0x2432, 96442 },
+ { 0x2433, 101225 },
+ { 0x2434, 96473 },
+ { 0x2435, 101256 },
+ { 0x2436, 101421 },
+ { 0x2437, 101110 },
+ { 0x2438, 65425 },
+ { 0x2439, 94751 },
+ { 0x243A, 101080 },
+ { 0x243B, 101072 },
+ { 0x243C, 101380 },
+ { 0x243D, 101394 },
+ { 0x243E, 101385 },
+ { 0x243F, 96584 },
+ { 0x2440, 101367 },
+ { 0x2441, 96465 },
+ { 0x2442, 101248 },
+ { 0x2443, 96256 },
+ { 0x2444, 101024 },
+ { 0x2445, 96265 },
+ { 0x2446, 101033 },
+ { 0x2447, 32006 },
+ { 0x2448, 31932 },
+ { 0x2449, 32033 },
+ { 0x244A, 31948 },
+ { 0x244B, 33614 },
+ { 0x244C, 33675 },
+ { 0x244D, 32026 },
+ { 0x244E, 31941 },
+ { 0x244F, 33607 },
+ { 0x2450, 33668 },
+ { 0x2451, 52574 },
+ { 0x2452, 58403 },
+ { 0x2453, 33619 },
+ { 0x2454, 31960 },
+ { 0x2455, 58397 },
+ { 0x2456, 52568 },
+ { 0x2457, 31953 },
+ { 0x2458, 32038 },
+ { 0x2459, 15002 },
+ { 0x245A, 15082 },
+ { 0x245B, 15088 },
+ { 0x245C, 15070 },
+ { 0x245D, 15076 },
+ { 0x245E, 101002 },
+ { 0x245F, 96225 },
+ { 0x2460, 10810 },
+ { 0x2461, 42818 },
+ { 0x2462, 10804 },
+ { 0x2463, 10814 },
+ { 0x2464, 30721 },
+ { 0x2465, 30687 },
+ { 0x2466, 111243 },
+ { 0x2467, 87150 },
+ { 0x2468, 101146 },
+ { 0x2469, 96373 },
+ { 0x246A, 33358 },
+ { 0x246B, 101063 },
+ { 0x246C, 96295 },
+ { 0x246D, 101176 },
+ { 0x246E, 12870 },
+ { 0x246F, 65652 },
+ { 0x2470, 12751 },
+ { 0x2471, 12758 },
+ { 0x2472, 331 },
+ { 0x2473, 324 },
+ { 0x2474, 12744 },
+ { 0x2475, 338 },
+ { 0x2476, 12765 },
+ { 0x2477, 317 },
+ { 0x2478, 96485 },
+ { 0x2479, 101268 },
+ { 0x247A, 65613 },
+ { 0x247B, 94903 },
+ { 0x247C, 96529 },
+ { 0x247D, 101312 },
+ { 0x247E, 65577 },
+ { 0x247F, 94867 },
+ { 0x2480, 96492 },
+ { 0x2481, 101275 },
+ { 0x2482, 65620 },
+ { 0x2483, 94910 },
+ { 0x2484, 96536 },
+ { 0x2485, 101319 },
+ { 0x2486, 65584 },
+ { 0x2487, 94874 },
+ { 0x2488, 96507 },
+ { 0x2489, 65591 },
+ { 0x248A, 101301 },
+ { 0x248B, 94892 },
+ { 0x248C, 96518 },
+ { 0x248D, 96543 },
+ { 0x248E, 101290 },
+ { 0x248F, 101326 },
+ { 0x2490, 96499 },
+ { 0x2491, 96554 },
+ { 0x2492, 101282 },
+ { 0x2493, 101337 },
+ { 0x2494, 65602 },
+ { 0x2495, 94881 },
+ { 0x2496, 32693 },
+ { 0x2497, 45148 },
+ { 0x2498, 34275 },
+ { 0x2499, 96379 },
+ { 0x249A, 101152 },
+ { 0x249B, 101157 },
+ { 0x249C, 96854 },
+ { 0x249D, 96411 },
+ { 0x249E, 106249 },
+ { 0x249F, 53359 },
+ { 0x24A0, 96407 },
+ { 0x24A1, 83293 },
+ { 0x24A2, 12772 },
+ { 0x24A3, 32563 },
+ { 0x24A4, 373 },
+ { 0x24A5, 12479 },
+ { 0x24A6, 54520 },
+ { 0x24A7, 26 },
+ { 0x24A8, 29 },
+ { 0x24A9, 12925 },
+ { 0x24AA, 32658 },
+ { 0x24AB, 12946 },
+ { 0x24AC, 32679 },
+ { 0x24AD, 16 },
+ { 0x24AE, 37 },
+ { 0x24AF, 21 },
+ { 0x24B0, 42 },
+ { 0x24B1, 13014 },
+ { 0x24B2, 32750 },
+ { 0x24B3, 12993 },
+ { 0x24B4, 32737 },
+ { 0x24B5, 13001 },
+ { 0x24B6, 32729 },
+ { 0x24B7, 12798 },
+ { 0x24B8, 32602 },
+ { 0x24B9, 12728 },
+ { 0x24BA, 32551 },
+ { 0x24BB, 44929 },
+ { 0x24BC, 44958 },
+ { 0x24BD, 12813 },
+ { 0x24BE, 32626 },
+ { 0x24BF, 44906 },
+ { 0x24C0, 83848 },
+ { 0x24C1, 80279 },
+ { 0x24C2, 32607 },
+ { 0x24C3, 80283 },
+ { 0x24C4, 15060 },
+ { 0x24C5, 15049 },
+ { 0x24C6, 98416 },
+ { 0x24C7, 98412 },
+ { 0x24C8, 54549 },
+ { 0x24C9, 83021 },
+ { 0x24CA, 15064 },
+ { 0x24CB, 83023 },
+ { 0x24CC, 61587 },
+ { 0x24CD, 61591 },
+ { 0x24CE, 80195 },
+ { 0x24CF, 80183 },
+ { 0x24D0, 80219 },
+ { 0x24D1, 80207 },
+ { 0x24D2, 80255 },
+ { 0x24D3, 80231 },
+ { 0x24D4, 80267 },
+ { 0x24D5, 80243 },
+ { 0x24D6, 83029 },
+ { 0x24D7, 19012 },
+ { 0x24D8, 19006 },
+ { 0x24D9, 19000 },
+ { 0x24DA, 18994 },
+ { 0x24DB, 43683 },
+ { 0x24DC, 57268 },
+ { 0x24DD, 57263 },
+ { 0x24DE, 57107 },
+ { 0x24DF, 57448 },
+ { 0x24E0, 43691 },
+ { 0x24E1, 43687 },
+ { 0x24E2, 57456 },
+ { 0x24E3, 383 },
+ { 0x24E4, 56777 },
+ { 0x24E5, 56780 },
+ { 0x24E6, 57436 },
+ { 0x24E7, 57446 },
+ { 0x24E8, 43661 },
+ { 0x24E9, 43638 },
+ { 0x24EA, 64077 },
+ { 0x24EB, 64083 },
+ { 0x24EC, 64095 },
+ { 0x24ED, 64072 },
+ { 0x24EE, 64081 },
+ { 0x24EF, 10895 },
+ { 0x24F0, 83634 },
+ { 0x24F1, 83647 },
+ { 0x24F2, 4 },
+ { 0x24F3, 83638 },
+ { 0x24F4, 32805 },
+ { 0x24F5, 13060 },
+ { 0x24F6, 83765 },
+ { 0x24F7, 42869 },
+ { 0x24F8, 42874 },
+ { 0x24F9, 18225 },
+ { 0x24FA, 34282 },
+ { 0x24FB, 34287 },
+ { 0x24FC, 34993 },
+ { 0x24FD, 18456 },
+ { 0x24FE, 13033 },
+ { 0x24FF, 32769 },
+ { 0x2500, 12963 },
+ { 0x2501, 32699 },
+ { 0x2502, 100504 },
+ { 0x2503, 10801 },
+ { 0x2504, 79287 },
+ { 0x2505, 106113 },
+ { 0x2506, 53090 },
+ { 0x2507, 95998 },
+ { 0x2508, 62764 },
+ { 0x2509, 45100 },
+ { 0x250A, 45105 },
+ { 0x250B, 95989 },
+ { 0x250C, 45208 },
+ { 0x250D, 112208 },
+ { 0x250E, 111375 },
+ { 0x250F, 111381 },
+ { 0x2510, 18381 },
+ { 0x2511, 18398 },
+ { 0x2512, 34777 },
+ { 0x2513, 18243 },
+ { 0x2514, 106127 },
+ { 0x2515, 106118 },
+ { 0x2516, 106130 },
+ { 0x2517, 106121 },
+ { 0x2518, 106124 },
+ { 0x2519, 106115 },
+ { 0x251A, 111222 },
+ { 0x251B, 62269 },
+ { 0x251C, 63707 },
+ { 0x251D, 62264 },
+ { 0x251E, 4451 },
+ { 0x251F, 4448 },
+ { 0x2520, 44934 },
+ { 0x2521, 54483 },
+ { 0x2522, 111630 },
+ { 0x2523, 112255 },
+ { 0x2524, 14928 },
+ { 0x2525, 13863 },
+ { 0x2526, 31899 },
+ { 0x2527, 31903 },
+ { 0x2528, 31907 },
+ { 0x2529, 31877 },
+ { 0x252A, 31882 },
+ { 0x252B, 31895 },
+ { 0x252C, 31891 },
+ { 0x252D, 10905 },
+ { 0x252E, 10901 },
+ { 0x252F, 31872 },
+ { 0x2530, 51639 },
+ { 0x2531, 98460 },
+ { 0x2532, 98115 },
+ { 0x2533, 45172 },
+ { 0x2534, 79300 },
+ { 0x2535, 79324 },
+ { 0x2536, 101876 },
+ { 0x2537, 111261 },
+ { 0x2538, 13104 },
+ { 0x2539, 13111 },
+ { 0x253A, 13098 },
+ { 0x253B, 79319 },
+ { 0x253C, 100988 },
+ { 0x253D, 79310 },
+ { 0x253E, 79293 },
+ { 0x253F, 79316 },
+ { 0x2540, 79297 },
+ { 0x2541, 79304 },
+ { 0x2542, 79307 },
+ { 0x2543, 12694 },
+ { 0x2544, 23314 },
+ { 0x2545, 59 },
+ { 0x2546, 51 },
+ { 0x2547, 55 },
+ { 0x2548, 14246 },
+ { 0x2549, 14267 },
+ { 0x254A, 14252 },
+ { 0x254B, 14236 },
+ { 0x254C, 14257 },
+ { 0x254D, 14262 },
+ { 0x254E, 14241 },
+ { 0x254F, 31830 },
+ { 0x2550, 31825 },
+ { 0x2551, 31840 },
+ { 0x2552, 31835 },
+ { 0x2553, 14220 },
+ { 0x2554, 14226 },
+ { 0x2555, 54627 },
+ { 0x2556, 112243 },
+ { 0x2557, 112248 },
+ { 0x2558, 101824 },
+ { 0x2559, 33580 },
+ { 0x255A, 112222 },
+ { 0x255B, 112228 },
+ { 0x255C, 57450 },
+ { 0x255D, 112234 },
+ { 0x255E, 57116 },
+ { 0x255F, 14232 },
+ { 0x2560, 31821 },
+ { 0x2561, 112239 },
+ { 0x2562, 79330 },
+ { 0x2563, 98164 },
+ { 0x2564, 63 },
+ { 0x2565, 106033 },
+ { 0x2566, 106286 },
+ { 0x2567, 34304 },
+ { 0x2568, 34312 },
+ { 0x2569, 106293 },
+ { 0x256A, 106289 },
+ { 0x256B, 34308 },
+ { 0x256C, 34320 },
+ { 0x256D, 106301 },
+ { 0x256E, 34315 },
+ { 0x256F, 106296 },
+ { 0x2570, 34323 },
+ { 0x2571, 106304 },
+ { 0x2572, 43711 },
+ { 0x2573, 43748 },
+ { 0x2574, 44983 },
+ { 0x2575, 44980 },
+ { 0x2576, 43715 },
+ { 0x2577, 59106 },
+ { 0x2578, 59074 },
+ { 0x2579, 45035 },
+ { 0x257A, 45032 },
+ { 0x257B, 10921 },
+ { 0x257C, 10917 },
+ { 0x257D, 63624 },
+ { 0x257E, 63627 },
+ { 0x257F, 59099 },
+ { 0x2580, 59121 },
+ { 0x2581, 59089 },
+ { 0x2582, 59130 },
+ { 0x2583, 59094 },
+ { 0x2584, 59111 },
+ { 0x2585, 59126 },
+ { 0x2586, 59116 },
+ { 0x2587, 33387 },
+ { 0x2588, 59079 },
+ { 0x2589, 59084 },
+ { 0x258A, 47 },
+ { 0x258B, 33 },
+ { 0x258C, 45113 },
+ { 0x258D, 95994 },
+ { 0x258E, 54524 },
+ { 0x258F, 54531 },
+ { 0x2590, 34260 },
+ { 0x2591, 34265 },
+ { 0x2592, 63148 },
+ { 0x2593, 88545 },
+ { 0x2594, 45153 },
+ { 0x2595, 35300 },
+ { 0x2596, 111294 },
+ { 0x2597, 45133 },
+ { 0x2598, 14273 },
+ { 0x2599, 45138 },
+ { 0x259A, 44942 },
+ { 0x259B, 10913 },
+ { 0x259C, 34232 },
+ { 0x259D, 45118 },
+ { 0x259E, 100046 },
+ { 0x259F, 96826 },
+ { 0x25A0, 106215 },
+ { 0x25A1, 96830 },
+ { 0x25A2, 106219 },
+ { 0x25A3, 96757 },
+ { 0x25A4, 106146 },
+ { 0x25A5, 96779 },
+ { 0x25A6, 106168 },
+ { 0x25A7, 96762 },
+ { 0x25A8, 106151 },
+ { 0x25A9, 96770 },
+ { 0x25AA, 106159 },
+ { 0x25AB, 96791 },
+ { 0x25AC, 106183 },
+ { 0x25AD, 96801 },
+ { 0x25AE, 106190 },
+ { 0x25AF, 96797 },
+ { 0x25B0, 106186 },
+ { 0x25B1, 96858 },
+ { 0x25B2, 106253 },
+ { 0x25B3, 96835 },
+ { 0x25B4, 106224 },
+ { 0x25B5, 96840 },
+ { 0x25B6, 106229 },
+ { 0x25B7, 96864 },
+ { 0x25B8, 106243 },
+ { 0x25B9, 96845 },
+ { 0x25BA, 106234 },
+ { 0x25BB, 63586 },
+ { 0x25BC, 63599 },
+ { 0x25BD, 63591 },
+ { 0x25BE, 63604 },
+ { 0x25BF, 101888 },
+ { 0x25C0, 101893 },
+ { 0x25C1, 101898 },
+ { 0x25C2, 101904 },
+ { 0x25C3, 63130 },
+ { 0x25C4, 63133 },
+ { 0x25C5, 63136 },
+ { 0x25C6, 63142 },
+ { 0x25C7, 44969 },
+ { 0x25C8, 44977 },
+ { 0x25C9, 44972 },
+ { 0x25CA, 106278 },
+ { 0x25CB, 106264 },
+ { 0x25CC, 96875 },
+ { 0x25CD, 106267 },
+ { 0x25CE, 96879 },
+ { 0x25CF, 106271 },
+ { 0x25D0, 63630 },
+ { 0x25D1, 48371 },
+ { 0x25D2, 63632 },
+ { 0x25D3, 48373 },
+ { 0x25D4, 45128 },
+ { 0x25D5, 82794 },
+ { 0x25D6, 83223 },
+ { 0x25D7, 82788 },
+ { 0x25D8, 83217 },
+ { 0x25D9, 82784 },
+ { 0x25DA, 83213 },
+ { 0x25DB, 82768 },
+ { 0x25DC, 83197 },
+ { 0x25DD, 82779 },
+ { 0x25DE, 83208 },
+ { 0x25DF, 82773 },
+ { 0x25E0, 83202 },
+ { 0x25E1, 45046 },
+ { 0x25E2, 45051 },
+ { 0x25E3, 53340 },
+ { 0x25E4, 83274 },
+ { 0x25E5, 53343 },
+ { 0x25E6, 83277 },
+ { 0x25E7, 53348 },
+ { 0x25E8, 83282 },
+ { 0x25E9, 53304 },
+ { 0x25EA, 83238 },
+ { 0x25EB, 53335 },
+ { 0x25EC, 83269 },
+ { 0x25ED, 53324 },
+ { 0x25EE, 83258 },
+ { 0x25EF, 53329 },
+ { 0x25F0, 83263 },
+ { 0x25F1, 53318 },
+ { 0x25F2, 83252 },
+ { 0x25F3, 52992 },
+ { 0x25F4, 53161 },
+ { 0x25F5, 43722 },
+ { 0x25F6, 43739 },
+ { 0x25F7, 43724 },
+ { 0x25F8, 43741 },
+ { 0x25F9, 53356 },
+ { 0x25FA, 83287 },
+ { 0x25FB, 53353 },
+ { 0x25FC, 83290 },
+ { 0x25FD, 83305 },
+ { 0x25FE, 83297 },
+ { 0x25FF, 58384 },
+ { 0x2600, 98109 },
+ { 0x2601, 105775 },
+ { 0x2602, 58417 },
+ { 0x2603, 100883 },
+ { 0x2604, 33351 },
+ { 0x2605, 33343 },
+ { 0x2606, 33320 },
+ { 0x2607, 112195 },
+ { 0x2608, 83775 },
+ { 0x2609, 45058 },
+ { 0x260A, 83770 },
+ { 0x260B, 45063 },
+ { 0x260C, 13287 },
+ { 0x260D, 33346 },
+ { 0x260E, 33323 },
+ { 0x260F, 33328 },
+ { 0x2610, 44926 },
+ { 0x2611, 44920 },
+ { 0x2612, 44986 },
+ { 0x2613, 83047 },
+ { 0x2614, 12431 },
+ { 0x2615, 83823 },
+ { 0x2616, 83828 },
+ { 0x2617, 12484 },
+ { 0x2618, 82366 },
+ { 0x2619, 82362 },
+ { 0x261A, 54515 },
+ { 0x261B, 54504 },
+ { 0x261C, 54485 },
+ { 0x261D, 54492 },
+ { 0x261E, 54495 },
+ { 0x261F, 101910 },
+ { 0x2620, 101916 },
+ { 0x2621, 54498 },
+ { 0x2622, 23323 },
+ { 0x2623, 45041 },
+ { 0x2624, 34984 },
+ { 0x2625, 31887 },
+ { 0x2626, 31971 },
+ { 0x2627, 32049 },
+ { 0x2628, 33630 },
+ { 0x2629, 33684 },
+ { 0x262A, 12880 },
+ { 0x262B, 96415 },
+ { 0x262C, 65493 },
+ { 0x262D, 94824 },
+ { 0x262E, 31967 },
+ { 0x262F, 32045 },
+ { 0x2630, 33626 },
+ { 0x2631, 33680 },
+ { 0x2632, 12876 },
+ { 0x2633, 353 },
+ { 0x2634, 101050 },
+ { 0x2635, 101045 },
+ { 0x2636, 96282 },
+ { 0x2637, 96277 },
+ { 0x2638, 53017 },
+ { 0x2639, 53076 },
+ { 0x263A, 53069 },
+ { 0x263B, 53027 },
+ { 0x263C, 58014 },
+ { 0x263D, 58019 },
+ { 0x263E, 58009 },
+ { 0x263F, 58024 },
+ { 0x2640, 44912 },
+ { 0x2641, 18173 },
+ { 0x2642, 34733 },
+ { 0x2643, 18133 },
+ { 0x2644, 34693 },
+ { 0x2645, 18430 },
+ { 0x2646, 34970 },
+ { 0x2647, 34941 },
+ { 0x2648, 18396 },
+ { 0x2649, 100491 },
+ { 0x264A, 18170 },
+ { 0x264B, 18319 },
+ { 0x264C, 34824 },
+ { 0x264D, 18322 },
+ { 0x264E, 34827 },
+ { 0x264F, 18206 },
+ { 0x2650, 18209 },
+ { 0x2651, 34757 },
+ { 0x2652, 18476 },
+ { 0x2653, 35004 },
+ { 0x2654, 18446 },
+ { 0x2655, 34987 },
+ { 0x2656, 12803 },
+ { 0x2657, 34223 },
+ { 0x2658, 12808 },
+ { 0x2659, 13330 },
+ { 0x265A, 96632 },
+ { 0x265B, 96619 },
+ { 0x265C, 96592 },
+ { 0x265D, 96638 },
+ { 0x265E, 96337 },
+ { 0x265F, 96312 },
+ { 0x2660, 96304 },
+ { 0x2661, 96597 },
+ { 0x2662, 96611 },
+ { 0x2663, 96602 },
+ { 0x2664, 96403 },
+ { 0x2665, 14997 },
+ { 0x2666, 45143 },
+ { 0x2667, 62247 },
+ { 0x2668, 96396 },
+ { 0x2669, 101184 },
+ { 0x266A, 101180 },
+ { 0x266B, 96581 },
+ { 0x266C, 101364 },
+ { 0x266D, 62253 },
+ { 0x266E, 101169 },
+ { 0x266F, 34270 },
+ { 0x2670, 96384 },
+ { 0x2671, 96390 },
+ { 0x2672, 101163 },
+ { 0x2673, 95027 },
+ { 0x2674, 33354 },
+ { 0x2675, 33364 },
+ { 0x2676, 34814 },
+ { 0x2677, 18200 },
+ { 0x2678, 34751 },
+ { 0x2679, 18570 },
+ { 0x267A, 35064 },
+ { 0x267B, 22168 },
+ { 0x267C, 22084 },
+ { 0x267D, 22256 },
+ { 0x267E, 22254 },
+ { 0x267F, 22321 },
+ { 0x2680, 63612 },
+ { 0x2681, 101864 },
+ { 0x2682, 63618 },
+ { 0x2683, 101870 },
+ { 0x2684, 12064 },
+ { 0x2685, 33335 },
+ { 0x2686, 96671 },
+ { 0x2687, 65667 },
+ { 0x2688, 101450 },
+ { 0x2689, 94951 },
+ { 0x268A, 12909 },
+ { 0x268B, 369 },
+ { 0x268C, 32074 },
+ { 0x268D, 31996 },
+ { 0x268E, 33655 },
+ { 0x268F, 33709 },
+ { 0x2690, 96745 },
+ { 0x2691, 65735 },
+ { 0x2692, 101524 },
+ { 0x2693, 95019 },
+ { 0x2694, 87188 },
+ { 0x2695, 111273 },
+ { 0x2696, 96674 },
+ { 0x2697, 65670 },
+ { 0x2698, 101453 },
+ { 0x2699, 94954 },
+ { 0x269A, 32078 },
+ { 0x269B, 32000 },
+ { 0x269C, 33659 },
+ { 0x269D, 33713 },
+ { 0x269E, 96726 },
+ { 0x269F, 65708 },
+ { 0x26A0, 101505 },
+ { 0x26A1, 94992 },
+ { 0x26A2, 100468 },
+ { 0x26A3, 83783 },
+ { 0x26A4, 96679 },
+ { 0x26A5, 65727 },
+ { 0x26A6, 101458 },
+ { 0x26A7, 95011 },
+ { 0x26A8, 96749 },
+ { 0x26A9, 65739 },
+ { 0x26AA, 101528 },
+ { 0x26AB, 95023 },
+ { 0x26AC, 96418 },
+ { 0x26AD, 65496 },
+ { 0x26AE, 101191 },
+ { 0x26AF, 94827 },
+ { 0x26B0, 111278 },
+ { 0x26B1, 111283 },
+ { 0x26B2, 111268 },
+ { 0x26B3, 111263 },
+ { 0x26B4, 52529 },
+ { 0x26B5, 52531 },
+ { 0x26B6, 61556 },
+ { 0x26B7, 61558 },
+ { 0x26B8, 12627 },
+ { 0x26B9, 101188 },
+ { 0x26BA, 64183 },
+ { 0x26BB, 64202 },
+ { 0x26BC, 64192 },
+ { 0x26BD, 64197 },
+ { 0x26BE, 18461 },
+ { 0x26BF, 18418 },
+ { 0x26C0, 18488 },
+ { 0x26C1, 18452 },
+ { 0x26C2, 94965 },
+ { 0x26C3, 94972 },
+ { 0x26C4, 65681 },
+ { 0x26C5, 65688 },
+ { 0x26C6, 96692 },
+ { 0x26C7, 101471 },
+ { 0x26C8, 96699 },
+ { 0x26C9, 101478 },
+ { 0x26CA, 18266 },
+ { 0x26CB, 18272 },
+ { 0x26CC, 18254 },
+ { 0x26CD, 18260 },
+ { 0x26CE, 18278 },
+ { 0x26CF, 18290 },
+ { 0x26D0, 18284 },
+ { 0x26D1, 18296 },
+ { 0x26D2, 52544 },
+ { 0x26D3, 52548 },
+ { 0x26D4, 52536 },
+ { 0x26D5, 52540 },
+ { 0x26D6, 52552 },
+ { 0x26D7, 52560 },
+ { 0x26D8, 52556 },
+ { 0x26D9, 52564 },
+ { 0x26DA, 65537 },
+ { 0x26DB, 393 },
+ { 0x26DC, 42775 },
+ { 0x26DD, 56447 },
+ { 0x26DE, 56456 },
+ { 0x26DF, 18373 },
+ { 0x26E0, 18391 },
+ { 0x26E1, 54555 },
+ { 0x26E2, 100494 },
+ { 0x26E3, 18400 },
+ { 0x26E4, 18329 },
+ { 0x26E5, 18338 },
+ { 0x26E6, 18347 },
+ { 0x26E7, 18356 },
+ { 0x26E8, 10822 },
+ { 0x26E9, 42822 },
+ { 0x26EA, 30357 },
+ { 0x26EB, 62288 },
+ { 0x26EC, 34665 },
+ { 0x26ED, 62294 },
+ { 0x26EE, 53263 },
+ { 0x26EF, 105777 },
+ { 0x26F0, 96626 },
+ { 0x26F1, 65658 },
+ { 0x26F2, 101409 },
+ { 0x26F3, 94942 },
+ { 0x26F4, 100270 },
+ { 0x26F5, 100299 },
+ { 0x26F6, 100323 },
+ { 0x26F7, 100399 },
+ { 0x26F8, 100339 },
+ { 0x26F9, 100375 },
+ { 0x26FA, 100441 },
+ { 0x26FB, 100343 },
+ { 0x26FC, 100395 },
+ { 0x26FD, 100311 },
+ { 0x26FE, 100403 },
+ { 0x26FF, 100254 },
+ { 0x2700, 100383 },
+ { 0x2701, 100315 },
+ { 0x2702, 100424 },
+ { 0x2703, 100428 },
+ { 0x2704, 100351 },
+ { 0x2705, 100279 },
+ { 0x2706, 100387 },
+ { 0x2707, 100355 },
+ { 0x2708, 100359 },
+ { 0x2709, 100391 },
+ { 0x270A, 100295 },
+ { 0x270B, 100347 },
+ { 0x270C, 100307 },
+ { 0x270D, 100283 },
+ { 0x270E, 100258 },
+ { 0x270F, 100319 },
+ { 0x2710, 100291 },
+ { 0x2711, 100379 },
+ { 0x2712, 100287 },
+ { 0x2713, 100335 },
+ { 0x2714, 100331 },
+ { 0x2715, 100327 },
+ { 0x2716, 100436 },
+ { 0x2717, 100266 },
+ { 0x2718, 100363 },
+ { 0x2719, 100368 },
+ { 0x271A, 100262 },
+ { 0x271B, 100414 },
+ { 0x271C, 100274 },
+ { 0x271D, 100408 },
+ { 0x271E, 100303 },
+ { 0x271F, 100420 },
+ { 0x2720, 100432 },
+ { 0x2721, 100450 },
+ { 0x2722, 100445 },
+ { 0x2723, 100069 },
+ { 0x2724, 100098 },
+ { 0x2725, 100122 },
+ { 0x2726, 100198 },
+ { 0x2727, 100138 },
+ { 0x2728, 100174 },
+ { 0x2729, 100240 },
+ { 0x272A, 100142 },
+ { 0x272B, 100194 },
+ { 0x272C, 100110 },
+ { 0x272D, 100202 },
+ { 0x272E, 100053 },
+ { 0x272F, 100182 },
+ { 0x2730, 100114 },
+ { 0x2731, 100223 },
+ { 0x2732, 100227 },
+ { 0x2733, 100150 },
+ { 0x2734, 100078 },
+ { 0x2735, 100186 },
+ { 0x2736, 100154 },
+ { 0x2737, 100158 },
+ { 0x2738, 100190 },
+ { 0x2739, 100094 },
+ { 0x273A, 100146 },
+ { 0x273B, 100106 },
+ { 0x273C, 100082 },
+ { 0x273D, 100057 },
+ { 0x273E, 100118 },
+ { 0x273F, 100090 },
+ { 0x2740, 100178 },
+ { 0x2741, 100086 },
+ { 0x2742, 100134 },
+ { 0x2743, 100130 },
+ { 0x2744, 100126 },
+ { 0x2745, 100235 },
+ { 0x2746, 100065 },
+ { 0x2747, 100162 },
+ { 0x2748, 100167 },
+ { 0x2749, 100061 },
+ { 0x274A, 100213 },
+ { 0x274B, 100073 },
+ { 0x274C, 100207 },
+ { 0x274D, 100102 },
+ { 0x274E, 100219 },
+ { 0x274F, 100231 },
+ { 0x2750, 100249 },
+ { 0x2751, 100244 },
+ { 0x2752, 28549 },
+ { 0x2753, 24491 },
+ { 0x2754, 28563 },
+ { 0x2755, 29030 },
+ { 0x2756, 29110 },
+ { 0x2757, 23486 },
+ { 0x2758, 25469 },
+ { 0x2759, 28252 },
+ { 0x275A, 24183 },
+ { 0x275B, 28477 },
+ { 0x275C, 24421 },
+ { 0x275D, 29786 },
+ { 0x275E, 26086 },
+ { 0x275F, 29985 },
+ { 0x2760, 28607 },
+ { 0x2761, 30046 },
+ { 0x2762, 30081 },
+ { 0x2763, 25772 },
+ { 0x2764, 29604 },
+ { 0x2765, 25817 },
+ { 0x2766, 25760 },
+ { 0x2767, 29935 },
+ { 0x2768, 26421 },
+ { 0x2769, 27089 },
+ { 0x276A, 23855 },
+ { 0x276B, 26813 },
+ { 0x276C, 24784 },
+ { 0x276D, 27400 },
+ { 0x276E, 30240 },
+ { 0x276F, 81725 },
+ { 0x2770, 29231 },
+ { 0x2771, 29773 },
+ { 0x2772, 44364 },
+ { 0x2773, 44056 },
+ { 0x2774, 44392 },
+ { 0x2775, 44084 },
+ { 0x2776, 44404 },
+ { 0x2777, 44096 },
+ { 0x2778, 44400 },
+ { 0x2779, 44092 },
+ { 0x277A, 44242 },
+ { 0x277B, 43934 },
+ { 0x277C, 44356 },
+ { 0x277D, 44048 },
+ { 0x277E, 44396 },
+ { 0x277F, 44088 },
+ { 0x2780, 44368 },
+ { 0x2781, 44060 },
+ { 0x2782, 44428 },
+ { 0x2783, 44120 },
+ { 0x2784, 44408 },
+ { 0x2785, 44100 },
+ { 0x2786, 44376 },
+ { 0x2787, 44068 },
+ { 0x2788, 44412 },
+ { 0x2789, 44104 },
+ { 0x278A, 44218 },
+ { 0x278B, 43910 },
+ { 0x278C, 44222 },
+ { 0x278D, 43914 },
+ { 0x278E, 44254 },
+ { 0x278F, 43946 },
+ { 0x2790, 44210 },
+ { 0x2791, 43902 },
+ { 0x2792, 44226 },
+ { 0x2793, 43918 },
+ { 0x2794, 44230 },
+ { 0x2795, 43922 },
+ { 0x2796, 44388 },
+ { 0x2797, 44080 },
+ { 0x2798, 44360 },
+ { 0x2799, 44052 },
+ { 0x279A, 44234 },
+ { 0x279B, 43926 },
+ { 0x279C, 44214 },
+ { 0x279D, 43906 },
+ { 0x279E, 44250 },
+ { 0x279F, 43942 },
+ { 0x27A0, 44352 },
+ { 0x27A1, 44044 },
+ { 0x27A2, 44348 },
+ { 0x27A3, 44040 },
+ { 0x27A4, 44457 },
+ { 0x27A5, 44149 },
+ { 0x27A6, 44264 },
+ { 0x27A7, 43956 },
+ { 0x27A8, 44477 },
+ { 0x27A9, 44169 },
+ { 0x27AA, 44467 },
+ { 0x27AB, 44159 },
+ { 0x27AC, 44452 },
+ { 0x27AD, 44144 },
+ { 0x27AE, 44472 },
+ { 0x27AF, 44164 },
+ { 0x27B0, 44294 },
+ { 0x27B1, 43986 },
+ { 0x27B2, 44416 },
+ { 0x27B3, 44108 },
+ { 0x27B4, 44432 },
+ { 0x27B5, 44124 },
+ { 0x27B6, 44306 },
+ { 0x27B7, 43998 },
+ { 0x27B8, 44276 },
+ { 0x27B9, 43968 },
+ { 0x27BA, 44437 },
+ { 0x27BB, 44129 },
+ { 0x27BC, 44462 },
+ { 0x27BD, 44154 },
+ { 0x27BE, 44300 },
+ { 0x27BF, 43992 },
+ { 0x27C0, 44258 },
+ { 0x27C1, 43950 },
+ { 0x27C2, 44447 },
+ { 0x27C3, 44139 },
+ { 0x27C4, 44288 },
+ { 0x27C5, 43980 },
+ { 0x27C6, 44282 },
+ { 0x27C7, 43974 },
+ { 0x27C8, 44318 },
+ { 0x27C9, 44010 },
+ { 0x27CA, 44270 },
+ { 0x27CB, 43962 },
+ { 0x27CC, 44312 },
+ { 0x27CD, 44004 },
+ { 0x27CE, 44342 },
+ { 0x27CF, 44034 },
+ { 0x27D0, 44324 },
+ { 0x27D1, 44016 },
+ { 0x27D2, 44330 },
+ { 0x27D3, 44022 },
+ { 0x27D4, 44336 },
+ { 0x27D5, 44028 },
+ { 0x27D6, 44192 },
+ { 0x27D7, 44184 },
+ { 0x27D8, 44188 },
+ { 0x27D9, 44207 },
+ { 0x27DA, 44199 },
+ { 0x27DB, 44195 },
+ { 0x27DC, 44203 },
+ { 0x27DD, 44482 },
+ { 0x27DE, 44174 },
+ { 0x27DF, 44487 },
+ { 0x27E0, 44179 },
+ { 0x27E1, 44496 },
+ { 0x27E2, 44500 },
+ { 0x27E3, 44504 },
+ { 0x27E4, 44442 },
+ { 0x27E5, 44134 },
+ { 0x27E6, 43756 },
+ { 0x27E7, 43766 },
+ { 0x27E8, 43772 },
+ { 0x27E9, 43761 },
+ { 0x27EA, 44492 },
+ { 0x27EB, 43778 },
+ { 0x27EC, 44508 },
+ { 0x27ED, 77582 },
+ { 0x27EE, 77618 },
+ { 0x27EF, 77634 },
+ { 0x27F0, 77630 },
+ { 0x27F1, 77586 },
+ { 0x27F2, 77698 },
+ { 0x27F3, 77706 },
+ { 0x27F4, 77690 },
+ { 0x27F5, 77594 },
+ { 0x27F6, 77658 },
+ { 0x27F7, 77662 },
+ { 0x27F8, 77666 },
+ { 0x27F9, 77670 },
+ { 0x27FA, 77598 },
+ { 0x27FB, 77674 },
+ { 0x27FC, 77738 },
+ { 0x27FD, 77682 },
+ { 0x27FE, 77686 },
+ { 0x27FF, 77694 },
+ { 0x2800, 77602 },
+ { 0x2801, 77730 },
+ { 0x2802, 77726 },
+ { 0x2803, 77718 },
+ { 0x2804, 77678 },
+ { 0x2805, 77734 },
+ { 0x2806, 77714 },
+ { 0x2807, 77622 },
+ { 0x2808, 77654 },
+ { 0x2809, 77626 },
+ { 0x280A, 77710 },
+ { 0x280B, 77702 },
+ { 0x280C, 77722 },
+ { 0x280D, 77638 },
+ { 0x280E, 77590 },
+ { 0x280F, 77646 },
+ { 0x2810, 77606 },
+ { 0x2811, 77642 },
+ { 0x2812, 77650 },
+ { 0x2813, 77610 },
+ { 0x2814, 77614 },
+ { 0x2815, 83376 },
+ { 0x2816, 83394 },
+ { 0x2817, 83458 },
+ { 0x2818, 83403 },
+ { 0x2819, 83503 },
+ { 0x281A, 83514 },
+ { 0x281B, 83409 },
+ { 0x281C, 83397 },
+ { 0x281D, 83467 },
+ { 0x281E, 83464 },
+ { 0x281F, 83500 },
+ { 0x2820, 83451 },
+ { 0x2821, 83400 },
+ { 0x2822, 83412 },
+ { 0x2823, 83523 },
+ { 0x2824, 83506 },
+ { 0x2825, 83406 },
+ { 0x2826, 83509 },
+ { 0x2827, 83519 },
+ { 0x2828, 83473 },
+ { 0x2829, 83391 },
+ { 0x282A, 83476 },
+ { 0x282B, 83539 },
+ { 0x282C, 83427 },
+ { 0x282D, 83527 },
+ { 0x282E, 83382 },
+ { 0x282F, 83494 },
+ { 0x2830, 83551 },
+ { 0x2831, 83547 },
+ { 0x2832, 83415 },
+ { 0x2833, 83418 },
+ { 0x2834, 83421 },
+ { 0x2835, 83535 },
+ { 0x2836, 83543 },
+ { 0x2837, 83424 },
+ { 0x2838, 83388 },
+ { 0x2839, 83430 },
+ { 0x283A, 83479 },
+ { 0x283B, 83470 },
+ { 0x283C, 83531 },
+ { 0x283D, 83454 },
+ { 0x283E, 83433 },
+ { 0x283F, 83485 },
+ { 0x2840, 83482 },
+ { 0x2841, 83436 },
+ { 0x2842, 83488 },
+ { 0x2843, 83461 },
+ { 0x2844, 83491 },
+ { 0x2845, 83439 },
+ { 0x2846, 83442 },
+ { 0x2847, 83445 },
+ { 0x2848, 83448 },
+ { 0x2849, 83555 },
+ { 0x284A, 83497 },
+ { 0x284B, 83379 },
+ { 0x284C, 83385 },
+ { 0x284D, 83559 },
+ { 0x284E, 83567 },
+ { 0x284F, 83564 },
+ { 0x2850, 76701 },
+ { 0x2851, 76713 },
+ { 0x2852, 76842 },
+ { 0x2853, 76872 },
+ { 0x2854, 77268 },
+ { 0x2855, 76452 },
+ { 0x2856, 76929 },
+ { 0x2857, 76500 },
+ { 0x2858, 76734 },
+ { 0x2859, 77214 },
+ { 0x285A, 77443 },
+ { 0x285B, 77046 },
+ { 0x285C, 76527 },
+ { 0x285D, 77127 },
+ { 0x285E, 76641 },
+ { 0x285F, 77295 },
+ { 0x2860, 77103 },
+ { 0x2861, 77226 },
+ { 0x2862, 76776 },
+ { 0x2863, 77148 },
+ { 0x2864, 77154 },
+ { 0x2865, 77388 },
+ { 0x2866, 77151 },
+ { 0x2867, 76875 },
+ { 0x2868, 76887 },
+ { 0x2869, 76881 },
+ { 0x286A, 77274 },
+ { 0x286B, 77277 },
+ { 0x286C, 76878 },
+ { 0x286D, 76884 },
+ { 0x286E, 76467 },
+ { 0x286F, 76479 },
+ { 0x2870, 76473 },
+ { 0x2871, 77076 },
+ { 0x2872, 77079 },
+ { 0x2873, 76470 },
+ { 0x2874, 76476 },
+ { 0x2875, 77052 },
+ { 0x2876, 77064 },
+ { 0x2877, 77058 },
+ { 0x2878, 77352 },
+ { 0x2879, 77355 },
+ { 0x287A, 77055 },
+ { 0x287B, 77061 },
+ { 0x287C, 77082 },
+ { 0x287D, 77094 },
+ { 0x287E, 77088 },
+ { 0x287F, 77358 },
+ { 0x2880, 77361 },
+ { 0x2881, 77085 },
+ { 0x2882, 77091 },
+ { 0x2883, 76821 },
+ { 0x2884, 76833 },
+ { 0x2885, 76827 },
+ { 0x2886, 77256 },
+ { 0x2887, 77259 },
+ { 0x2888, 76824 },
+ { 0x2889, 76830 },
+ { 0x288A, 76680 },
+ { 0x288B, 76692 },
+ { 0x288C, 76686 },
+ { 0x288D, 77199 },
+ { 0x288E, 77202 },
+ { 0x288F, 76683 },
+ { 0x2890, 76689 },
+ { 0x2891, 77001 },
+ { 0x2892, 77013 },
+ { 0x2893, 77007 },
+ { 0x2894, 77337 },
+ { 0x2895, 77340 },
+ { 0x2896, 77004 },
+ { 0x2897, 77010 },
+ { 0x2898, 76596 },
+ { 0x2899, 76608 },
+ { 0x289A, 76602 },
+ { 0x289B, 77163 },
+ { 0x289C, 77166 },
+ { 0x289D, 76599 },
+ { 0x289E, 76605 },
+ { 0x289F, 88096 },
+ { 0x28A0, 88148 },
+ { 0x28A1, 88173 },
+ { 0x28A2, 88100 },
+ { 0x28A3, 88189 },
+ { 0x28A4, 88160 },
+ { 0x28A5, 88136 },
+ { 0x28A6, 88108 },
+ { 0x28A7, 88112 },
+ { 0x28A8, 88116 },
+ { 0x28A9, 88088 },
+ { 0x28AA, 88140 },
+ { 0x28AB, 88120 },
+ { 0x28AC, 88124 },
+ { 0x28AD, 88144 },
+ { 0x28AE, 88128 },
+ { 0x28AF, 88181 },
+ { 0x28B0, 88169 },
+ { 0x28B1, 88177 },
+ { 0x28B2, 88223 },
+ { 0x28B3, 88193 },
+ { 0x28B4, 88215 },
+ { 0x28B5, 88080 },
+ { 0x28B6, 88132 },
+ { 0x28B7, 88211 },
+ { 0x28B8, 88248 },
+ { 0x28B9, 88185 },
+ { 0x28BA, 88156 },
+ { 0x28BB, 88232 },
+ { 0x28BC, 88227 },
+ { 0x28BD, 88164 },
+ { 0x28BE, 88242 },
+ { 0x28BF, 32612 },
+ { 0x28C0, 32594 },
+ { 0x28C1, 13090 },
+ { 0x28C2, 32835 },
+ { 0x28C3, 12955 },
+ { 0x28C4, 32685 },
+ { 0x28C5, 52404 },
+ { 0x28C6, 52398 },
+ { 0x28C7, 44914 },
+ { 0x28C8, 13093 },
+ { 0x28C9, 32838 },
+ { 0x28CA, 52402 },
+ { 0x28CB, 12979 },
+ { 0x28CC, 32715 },
+ { 0x28CD, 95033 },
+ { 0x28CE, 102563 },
+ { 0x28CF, 45195 },
+ { 0x28D0, 83052 },
+ { 0x28D1, 106284 },
+ { 0x28D2, 44910 },
+ { 0x28D3, 94848 },
+ { 0x28D4, 65561 },
+ { 0x28D5, 44917 },
+ { 0x28D6, 45038 },
+ { 0x28D7, 79348 },
+ { 0x28D8, 14203 },
+ { 0x28D9, 47293 },
+ { 0x28DA, 34254 },
+ { 0x28DB, 12732 },
+ { 0x28DC, 32555 },
+ { 0x28DD, 34246 },
+ { 0x28DE, 34250 },
+ { 0x28DF, 13065 },
+ { 0x28E0, 32810 },
+ { 0x28E1, 10836 },
+ { 0x28E2, 10854 },
+ { 0x28E3, 42832 },
+ { 0x28E4, 42845 },
+ { 0x28E5, 13052 },
+ { 0x28E6, 32795 },
+ { 0x28E7, 12971 },
+ { 0x28E8, 32707 },
+ { 0x28E9, 10880 },
+ { 0x28EA, 8916 },
+ { 0x28EB, 63932 },
+ { 0x28EC, 12601 },
+ { 0x28ED, 83083 },
+ { 0x28EE, 83846 },
+ { 0x28EF, 14295 },
+ { 0x28F0, 15030 },
+ { 0x28F1, 54558 },
+ { 0x28F2, 52376 },
+ { 0x28F3, 52396 },
+ { 0x28F4, 54605 },
+ { 0x28F5, 44527 },
+ { 0x28F6, 44531 },
+ { 0x28F7, 54598 },
+ { 0x28F8, 10826 },
+ { 0x28F9, 54624 },
+ { 0x28FA, 83374 },
+ { 0x28FB, 111223 },
+ { 0x28FC, 83780 },
+ { 0x28FD, 55136 },
+ { 0x28FE, 86904 },
+ { 0x28FF, 44967 },
+ { 0x2900, 83027 },
+ { 0x2901, 45083 },
+ { 0x2902, 5695 },
+ { 0x2903, 5602 },
+ { 0x2904, 5698 },
+ { 0x2905, 5702 },
+ { 0x2906, 5706 },
+ { 0x2907, 5692 },
+ { 0x2908, 5438 },
+ { 0x2909, 5669 },
+ { 0x290A, 5631 },
+ { 0x290B, 5635 },
+ { 0x290C, 5730 },
+ { 0x290D, 5569 },
+ { 0x290E, 5650 },
+ { 0x290F, 5654 },
+ { 0x2910, 5533 },
+ { 0x2911, 5537 },
+ { 0x2912, 5545 },
+ { 0x2913, 5541 },
+ { 0x2914, 5658 },
+ { 0x2915, 5718 },
+ { 0x2916, 5661 },
+ { 0x2917, 5665 },
+ { 0x2918, 5623 },
+ { 0x2919, 5627 },
+ { 0x291A, 5521 },
+ { 0x291B, 5495 },
+ { 0x291C, 5599 },
+ { 0x291D, 5498 },
+ { 0x291E, 5563 },
+ { 0x291F, 5605 },
+ { 0x2920, 5689 },
+ { 0x2921, 5727 },
+ { 0x2922, 5675 },
+ { 0x2923, 5679 },
+ { 0x2924, 5515 },
+ { 0x2925, 5484 },
+ { 0x2926, 5488 },
+ { 0x2927, 5733 },
+ { 0x2928, 5441 },
+ { 0x2929, 5444 },
+ { 0x292A, 5530 },
+ { 0x292B, 5504 },
+ { 0x292C, 5462 },
+ { 0x292D, 5710 },
+ { 0x292E, 5714 },
+ { 0x292F, 5683 },
+ { 0x2930, 5572 },
+ { 0x2931, 5807 },
+ { 0x2932, 5465 },
+ { 0x2933, 5469 },
+ { 0x2934, 5477 },
+ { 0x2935, 5473 },
+ { 0x2936, 5560 },
+ { 0x2937, 5647 },
+ { 0x2938, 5492 },
+ { 0x2939, 5459 },
+ { 0x293A, 5481 },
+ { 0x293B, 5591 },
+ { 0x293C, 5595 },
+ { 0x293D, 5557 },
+ { 0x293E, 5686 },
+ { 0x293F, 5611 },
+ { 0x2940, 5615 },
+ { 0x2941, 5619 },
+ { 0x2942, 5672 },
+ { 0x2943, 5724 },
+ { 0x2944, 5583 },
+ { 0x2945, 5587 },
+ { 0x2946, 5763 },
+ { 0x2947, 5739 },
+ { 0x2948, 5527 },
+ { 0x2949, 5831 },
+ { 0x294A, 5819 },
+ { 0x294B, 5518 },
+ { 0x294C, 5771 },
+ { 0x294D, 5743 },
+ { 0x294E, 5575 },
+ { 0x294F, 5579 },
+ { 0x2950, 5512 },
+ { 0x2951, 5791 },
+ { 0x2952, 5549 },
+ { 0x2953, 5553 },
+ { 0x2954, 5799 },
+ { 0x2955, 5787 },
+ { 0x2956, 5639 },
+ { 0x2957, 5643 },
+ { 0x2958, 5566 },
+ { 0x2959, 5501 },
+ { 0x295A, 5835 },
+ { 0x295B, 5795 },
+ { 0x295C, 5811 },
+ { 0x295D, 5759 },
+ { 0x295E, 5447 },
+ { 0x295F, 5451 },
+ { 0x2960, 5455 },
+ { 0x2961, 5755 },
+ { 0x2962, 5524 },
+ { 0x2963, 5815 },
+ { 0x2964, 5509 },
+ { 0x2965, 5608 },
+ { 0x2966, 5779 },
+ { 0x2967, 5767 },
+ { 0x2968, 5803 },
+ { 0x2969, 5747 },
+ { 0x296A, 5751 },
+ { 0x296B, 5783 },
+ { 0x296C, 5844 },
+ { 0x296D, 5775 },
+ { 0x296E, 5848 },
+ { 0x296F, 5823 },
+ { 0x2970, 5852 },
+ { 0x2971, 5827 },
+ { 0x2972, 5721 },
+ { 0x2973, 5856 },
+ { 0x2974, 5840 },
+ { 0x2975, 47579 },
+ { 0x2976, 47747 },
+ { 0x2977, 47537 },
+ { 0x2978, 47938 },
+ { 0x2979, 48059 },
+ { 0x297A, 47717 },
+ { 0x297B, 47609 },
+ { 0x297C, 47564 },
+ { 0x297D, 47567 },
+ { 0x297E, 47741 },
+ { 0x297F, 47870 },
+ { 0x2980, 47867 },
+ { 0x2981, 47666 },
+ { 0x2982, 47858 },
+ { 0x2983, 47558 },
+ { 0x2984, 47974 },
+ { 0x2985, 47766 },
+ { 0x2986, 47897 },
+ { 0x2987, 47909 },
+ { 0x2988, 47831 },
+ { 0x2989, 47959 },
+ { 0x298A, 47912 },
+ { 0x298B, 48040 },
+ { 0x298C, 47606 },
+ { 0x298D, 48159 },
+ { 0x298E, 47785 },
+ { 0x298F, 47852 },
+ { 0x2990, 48126 },
+ { 0x2991, 47834 },
+ { 0x2992, 47906 },
+ { 0x2993, 48156 },
+ { 0x2994, 47864 },
+ { 0x2995, 48129 },
+ { 0x2996, 47512 },
+ { 0x2997, 47515 },
+ { 0x2998, 48108 },
+ { 0x2999, 47525 },
+ { 0x299A, 47995 },
+ { 0x299B, 47849 },
+ { 0x299C, 47779 },
+ { 0x299D, 47723 },
+ { 0x299E, 47947 },
+ { 0x299F, 47732 },
+ { 0x29A0, 48016 },
+ { 0x29A1, 48068 },
+ { 0x29A2, 48144 },
+ { 0x29A3, 47917 },
+ { 0x29A4, 47828 },
+ { 0x29A5, 48123 },
+ { 0x29A6, 48084 },
+ { 0x29A7, 47540 },
+ { 0x29A8, 47934 },
+ { 0x29A9, 48026 },
+ { 0x29AA, 47753 },
+ { 0x29AB, 47612 },
+ { 0x29AC, 47926 },
+ { 0x29AD, 47528 },
+ { 0x29AE, 47950 },
+ { 0x29AF, 48099 },
+ { 0x29B0, 47797 },
+ { 0x29B1, 47891 },
+ { 0x29B2, 48114 },
+ { 0x29B3, 47663 },
+ { 0x29B4, 47708 },
+ { 0x29B5, 48013 },
+ { 0x29B6, 47585 },
+ { 0x29B7, 48056 },
+ { 0x29B8, 48019 },
+ { 0x29B9, 47522 },
+ { 0x29BA, 48071 },
+ { 0x29BB, 47573 },
+ { 0x29BC, 47603 },
+ { 0x29BD, 47597 },
+ { 0x29BE, 47760 },
+ { 0x29BF, 47809 },
+ { 0x29C0, 47729 },
+ { 0x29C1, 47800 },
+ { 0x29C2, 47861 },
+ { 0x29C3, 48093 },
+ { 0x29C4, 47508 },
+ { 0x29C5, 48105 },
+ { 0x29C6, 47555 },
+ { 0x29C7, 47651 },
+ { 0x29C8, 47965 },
+ { 0x29C9, 47986 },
+ { 0x29CA, 47682 },
+ { 0x29CB, 47654 },
+ { 0x29CC, 48037 },
+ { 0x29CD, 48030 },
+ { 0x29CE, 47703 },
+ { 0x29CF, 47944 },
+ { 0x29D0, 47679 },
+ { 0x29D1, 47531 },
+ { 0x29D2, 47534 },
+ { 0x29D3, 48147 },
+ { 0x29D4, 47726 },
+ { 0x29D5, 47900 },
+ { 0x29D6, 47806 },
+ { 0x29D7, 47971 },
+ { 0x29D8, 47744 },
+ { 0x29D9, 47616 },
+ { 0x29DA, 47873 },
+ { 0x29DB, 47634 },
+ { 0x29DC, 48150 },
+ { 0x29DD, 48022 },
+ { 0x29DE, 47992 },
+ { 0x29DF, 47794 },
+ { 0x29E0, 47660 },
+ { 0x29E1, 47549 },
+ { 0x29E2, 47956 },
+ { 0x29E3, 47837 },
+ { 0x29E4, 47968 },
+ { 0x29E5, 48065 },
+ { 0x29E6, 47983 },
+ { 0x29E7, 47885 },
+ { 0x29E8, 47645 },
+ { 0x29E9, 47962 },
+ { 0x29EA, 48007 },
+ { 0x29EB, 47776 },
+ { 0x29EC, 47791 },
+ { 0x29ED, 47561 },
+ { 0x29EE, 47570 },
+ { 0x29EF, 47920 },
+ { 0x29F0, 48111 },
+ { 0x29F1, 47576 },
+ { 0x29F2, 47519 },
+ { 0x29F3, 47770 },
+ { 0x29F4, 47543 },
+ { 0x29F5, 47846 },
+ { 0x29F6, 47757 },
+ { 0x29F7, 48141 },
+ { 0x29F8, 47788 },
+ { 0x29F9, 48001 },
+ { 0x29FA, 48050 },
+ { 0x29FB, 48078 },
+ { 0x29FC, 48053 },
+ { 0x29FD, 47628 },
+ { 0x29FE, 48153 },
+ { 0x29FF, 47855 },
+ { 0x2A00, 47888 },
+ { 0x2A01, 47977 },
+ { 0x2A02, 48044 },
+ { 0x2A03, 47843 },
+ { 0x2A04, 47815 },
+ { 0x2A05, 48102 },
+ { 0x2A06, 47819 },
+ { 0x2A07, 47600 },
+ { 0x2A08, 47720 },
+ { 0x2A09, 48062 },
+ { 0x2A0A, 48090 },
+ { 0x2A0B, 47619 },
+ { 0x2A0C, 47582 },
+ { 0x2A0D, 48004 },
+ { 0x2A0E, 47923 },
+ { 0x2A0F, 47591 },
+ { 0x2A10, 47594 },
+ { 0x2A11, 47688 },
+ { 0x2A12, 47631 },
+ { 0x2A13, 47642 },
+ { 0x2A14, 48010 },
+ { 0x2A15, 48120 },
+ { 0x2A16, 47812 },
+ { 0x2A17, 47648 },
+ { 0x2A18, 47825 },
+ { 0x2A19, 48165 },
+ { 0x2A1A, 48132 },
+ { 0x2A1B, 47697 },
+ { 0x2A1C, 47750 },
+ { 0x2A1D, 47694 },
+ { 0x2A1E, 47903 },
+ { 0x2A1F, 47941 },
+ { 0x2A20, 47929 },
+ { 0x2A21, 47773 },
+ { 0x2A22, 47625 },
+ { 0x2A23, 47998 },
+ { 0x2A24, 47676 },
+ { 0x2A25, 48117 },
+ { 0x2A26, 48074 },
+ { 0x2A27, 47738 },
+ { 0x2A28, 47953 },
+ { 0x2A29, 47735 },
+ { 0x2A2A, 47822 },
+ { 0x2A2B, 47552 },
+ { 0x2A2C, 47546 },
+ { 0x2A2D, 47711 },
+ { 0x2A2E, 48138 },
+ { 0x2A2F, 47894 },
+ { 0x2A30, 47639 },
+ { 0x2A31, 47803 },
+ { 0x2A32, 47700 },
+ { 0x2A33, 47876 },
+ { 0x2A34, 48168 },
+ { 0x2A35, 48135 },
+ { 0x2A36, 47882 },
+ { 0x2A37, 47685 },
+ { 0x2A38, 47622 },
+ { 0x2A39, 47782 },
+ { 0x2A3A, 47657 },
+ { 0x2A3B, 47989 },
+ { 0x2A3C, 47714 },
+ { 0x2A3D, 48096 },
+ { 0x2A3E, 48047 },
+ { 0x2A3F, 47840 },
+ { 0x2A40, 48162 },
+ { 0x2A41, 47691 },
+ { 0x2A42, 48081 },
+ { 0x2A43, 47670 },
+ { 0x2A44, 47588 },
+ { 0x2A45, 47763 },
+ { 0x2A46, 47673 },
+ { 0x2A47, 47980 },
+ { 0x2A48, 48034 },
+ { 0x2A49, 48087 },
+ { 0x2A4A, 47879 },
+ { 0x2A4B, 102445 },
+ { 0x2A4C, 102459 },
+ { 0x2A4D, 102451 },
+ { 0x2A4E, 102465 },
+ { 0x2A4F, 102440 },
+ { 0x2A50, 102483 },
+ { 0x2A51, 102489 },
+ { 0x2A52, 102477 },
+ { 0x2A53, 102502 },
+ { 0x2A54, 102509 },
+ { 0x2A55, 102495 },
+ { 0x2A56, 102473 },
+ { 0x2A57, 101948 },
+ { 0x2A58, 101942 },
+ { 0x2A59, 101935 },
+ { 0x2A5A, 18923 },
+ { 0x2A5B, 79368 },
+ { 0x2A5C, 101968 },
+ { 0x2A5D, 101957 },
+ { 0x2A5E, 101950 },
+ { 0x2A5F, 12795 },
+ { 0x2A60, 32599 },
+ { 0x2A61, 12959 },
+ { 0x2A62, 32689 },
+ { 0x2A63, 12952 },
+ { 0x2A64, 32682 },
+ { 0x2A65, 12929 },
+ { 0x2A66, 32662 },
+ { 0x2A67, 12818 },
+ { 0x2A68, 32631 },
+ { 0x2A69, 52351 },
+ { 0x2A6A, 12676 },
+ { 0x2A6B, 13056 },
+ { 0x2A6C, 32799 },
+ { 0x2A6D, 12942 },
+ { 0x2A6E, 32675 },
+ { 0x2A6F, 12937 },
+ { 0x2A70, 32670 },
+ { 0x2A71, 12933 },
+ { 0x2A72, 32666 },
+ { 0x2A73, 14995 },
+ { 0x2A74, 83042 },
+ { 0x2A75, 44954 },
+ { 0x2A76, 6209 },
+ { 0x2A77, 52353 },
+ { 0x2A78, 78583 },
+ { 0x2A79, 78592 },
+ { 0x2A7A, 78610 },
+ { 0x2A7B, 78598 },
+ { 0x2A7C, 78595 },
+ { 0x2A7D, 78586 },
+ { 0x2A7E, 78607 },
+ { 0x2A7F, 78604 },
+ { 0x2A80, 78601 },
+ { 0x2A81, 101944 },
+ { 0x2A82, 101953 },
+ { 0x2A83, 101964 },
+ { 0x2A84, 101960 },
+ { 0x2A85, 45591 },
+ { 0x2A86, 45305 },
+ { 0x2A87, 15010 },
+ { 0x2A88, 83789 },
+ { 0x2A89, 83805 },
+ { 0x2A8A, 83799 },
+ { 0x2A8B, 83812 },
+ { 0x2A8C, 83793 },
+ { 0x2A8D, 57104 },
+ { 0x2A8E, 101971 },
+ { 0x2A8F, 78589 },
+ { 0x2A90, 78616 },
+ { 0x2A91, 78613 },
+ { 0x2A92, 83856 },
+ { 0x2A93, 13380 },
+ { 0x2A94, 14205 },
+ { 0x2A95, 102373 },
+ { 0x2A96, 101938 },
+ { 0x2A97, 79087 },
+ { 0x2A98, 78865 },
+ { 0x2A99, 79095 },
+ { 0x2A9A, 78871 },
+ { 0x2A9B, 79103 },
+ { 0x2A9C, 78880 },
+ { 0x2A9D, 79091 },
+ { 0x2A9E, 78868 },
+ { 0x2A9F, 79099 },
+ { 0x2AA0, 78877 },
+ { 0x2AA1, 78943 },
+ { 0x2AA2, 78913 },
+ { 0x2AA3, 78949 },
+ { 0x2AA4, 78919 },
+ { 0x2AA5, 78955 },
+ { 0x2AA6, 78925 },
+ { 0x2AA7, 78946 },
+ { 0x2AA8, 78916 },
+ { 0x2AA9, 78952 },
+ { 0x2AAA, 78922 },
+ { 0x2AAB, 79018 },
+ { 0x2AAC, 79072 },
+ { 0x2AAD, 79024 },
+ { 0x2AAE, 79078 },
+ { 0x2AAF, 79030 },
+ { 0x2AB0, 79084 },
+ { 0x2AB1, 79021 },
+ { 0x2AB2, 79075 },
+ { 0x2AB3, 79027 },
+ { 0x2AB4, 79081 },
+ { 0x2AB5, 79033 },
+ { 0x2AB6, 78898 },
+ { 0x2AB7, 79039 },
+ { 0x2AB8, 78904 },
+ { 0x2AB9, 79115 },
+ { 0x2ABA, 79045 },
+ { 0x2ABB, 78910 },
+ { 0x2ABC, 79036 },
+ { 0x2ABD, 78901 },
+ { 0x2ABE, 79042 },
+ { 0x2ABF, 78907 },
+ { 0x2AC0, 78973 },
+ { 0x2AC1, 78979 },
+ { 0x2AC2, 78985 },
+ { 0x2AC3, 78976 },
+ { 0x2AC4, 78982 },
+ { 0x2AC5, 78928 },
+ { 0x2AC6, 78883 },
+ { 0x2AC7, 78988 },
+ { 0x2AC8, 78934 },
+ { 0x2AC9, 78889 },
+ { 0x2ACA, 78994 },
+ { 0x2ACB, 78940 },
+ { 0x2ACC, 78895 },
+ { 0x2ACD, 79000 },
+ { 0x2ACE, 78931 },
+ { 0x2ACF, 78886 },
+ { 0x2AD0, 78991 },
+ { 0x2AD1, 78937 },
+ { 0x2AD2, 78892 },
+ { 0x2AD3, 78997 },
+ { 0x2AD4, 78958 },
+ { 0x2AD5, 78964 },
+ { 0x2AD6, 78970 },
+ { 0x2AD7, 78961 },
+ { 0x2AD8, 78967 },
+ { 0x2AD9, 79123 },
+ { 0x2ADA, 79063 },
+ { 0x2ADB, 79131 },
+ { 0x2ADC, 79069 },
+ { 0x2ADD, 79127 },
+ { 0x2ADE, 79066 },
+ { 0x2ADF, 79003 },
+ { 0x2AE0, 79009 },
+ { 0x2AE1, 79015 },
+ { 0x2AE2, 79006 },
+ { 0x2AE3, 79012 },
+ { 0x2AE4, 79119 },
+ { 0x2AE5, 79051 },
+ { 0x2AE6, 79057 },
+ { 0x2AE7, 79054 },
+ { 0x2AE8, 79060 },
+ { 0x2AE9, 78874 },
+ { 0x2AEA, 79048 },
+ { 0x2AEB, 79107 },
+ { 0x2AEC, 79111 },
+ { 0x2AED, 88535 },
+ { 0x2AEE, 88540 },
+ { 0x2AEF, 112295 },
+ { 0x2AF0, 112303 },
+ { 0x2AF1, 79146 },
+ { 0x2AF2, 79139 },
+ { 0x2AF3, 79143 },
+ { 0x2AF4, 112292 },
+ { 0x2AF5, 79918 },
+ { 0x2AF6, 79684 },
+ { 0x2AF7, 79926 },
+ { 0x2AF8, 79690 },
+ { 0x2AF9, 79934 },
+ { 0x2AFA, 79699 },
+ { 0x2AFB, 79922 },
+ { 0x2AFC, 79687 },
+ { 0x2AFD, 79930 },
+ { 0x2AFE, 79696 },
+ { 0x2AFF, 79762 },
+ { 0x2B00, 79732 },
+ { 0x2B01, 79768 },
+ { 0x2B02, 79738 },
+ { 0x2B03, 79774 },
+ { 0x2B04, 79744 },
+ { 0x2B05, 79765 },
+ { 0x2B06, 79735 },
+ { 0x2B07, 79771 },
+ { 0x2B08, 79741 },
+ { 0x2B09, 79837 },
+ { 0x2B0A, 79903 },
+ { 0x2B0B, 79843 },
+ { 0x2B0C, 79909 },
+ { 0x2B0D, 79849 },
+ { 0x2B0E, 79915 },
+ { 0x2B0F, 79840 },
+ { 0x2B10, 79906 },
+ { 0x2B11, 79846 },
+ { 0x2B12, 79912 },
+ { 0x2B13, 79852 },
+ { 0x2B14, 79717 },
+ { 0x2B15, 79858 },
+ { 0x2B16, 79723 },
+ { 0x2B17, 80010 },
+ { 0x2B18, 79864 },
+ { 0x2B19, 79729 },
+ { 0x2B1A, 79855 },
+ { 0x2B1B, 79720 },
+ { 0x2B1C, 79861 },
+ { 0x2B1D, 79726 },
+ { 0x2B1E, 79792 },
+ { 0x2B1F, 79798 },
+ { 0x2B20, 79804 },
+ { 0x2B21, 79795 },
+ { 0x2B22, 79801 },
+ { 0x2B23, 79747 },
+ { 0x2B24, 79702 },
+ { 0x2B25, 79807 },
+ { 0x2B26, 79753 },
+ { 0x2B27, 79708 },
+ { 0x2B28, 79813 },
+ { 0x2B29, 79759 },
+ { 0x2B2A, 79714 },
+ { 0x2B2B, 79819 },
+ { 0x2B2C, 79750 },
+ { 0x2B2D, 79705 },
+ { 0x2B2E, 79810 },
+ { 0x2B2F, 79756 },
+ { 0x2B30, 79711 },
+ { 0x2B31, 79816 },
+ { 0x2B32, 79777 },
+ { 0x2B33, 79783 },
+ { 0x2B34, 79789 },
+ { 0x2B35, 79780 },
+ { 0x2B36, 79786 },
+ { 0x2B37, 80018 },
+ { 0x2B38, 79894 },
+ { 0x2B39, 80026 },
+ { 0x2B3A, 79900 },
+ { 0x2B3B, 80022 },
+ { 0x2B3C, 79897 },
+ { 0x2B3D, 79822 },
+ { 0x2B3E, 79828 },
+ { 0x2B3F, 79834 },
+ { 0x2B40, 79825 },
+ { 0x2B41, 79831 },
+ { 0x2B42, 80014 },
+ { 0x2B43, 79882 },
+ { 0x2B44, 79888 },
+ { 0x2B45, 79885 },
+ { 0x2B46, 79891 },
+ { 0x2B47, 79693 },
+ { 0x2B48, 79879 },
+ { 0x2B49, 79958 },
+ { 0x2B4A, 79962 },
+ { 0x2B4B, 79867 },
+ { 0x2B4C, 79873 },
+ { 0x2B4D, 79870 },
+ { 0x2B4E, 79876 },
+ { 0x2B4F, 80034 },
+ { 0x2B50, 112299 },
+ { 0x2B51, 80044 },
+ { 0x2B52, 80037 },
+ { 0x2B53, 80041 },
+ { 0x2B54, 66673 },
+ { 0x2B55, 66715 },
+ { 0x2B56, 66706 },
+ { 0x2B57, 66685 },
+ { 0x2B58, 66679 },
+ { 0x2B59, 66727 },
+ { 0x2B5A, 66709 },
+ { 0x2B5B, 66703 },
+ { 0x2B5C, 66688 },
+ { 0x2B5D, 66700 },
+ { 0x2B5E, 66691 },
+ { 0x2B5F, 66697 },
+ { 0x2B60, 66718 },
+ { 0x2B61, 66736 },
+ { 0x2B62, 66817 },
+ { 0x2B63, 66757 },
+ { 0x2B64, 66814 },
+ { 0x2B65, 66721 },
+ { 0x2B66, 66739 },
+ { 0x2B67, 66676 },
+ { 0x2B68, 66724 },
+ { 0x2B69, 66670 },
+ { 0x2B6A, 66712 },
+ { 0x2B6B, 66682 },
+ { 0x2B6C, 66763 },
+ { 0x2B6D, 66742 },
+ { 0x2B6E, 66766 },
+ { 0x2B6F, 66751 },
+ { 0x2B70, 66811 },
+ { 0x2B71, 66748 },
+ { 0x2B72, 66769 },
+ { 0x2B73, 66826 },
+ { 0x2B74, 66832 },
+ { 0x2B75, 66772 },
+ { 0x2B76, 66694 },
+ { 0x2B77, 66730 },
+ { 0x2B78, 66793 },
+ { 0x2B79, 66733 },
+ { 0x2B7A, 66802 },
+ { 0x2B7B, 66778 },
+ { 0x2B7C, 66784 },
+ { 0x2B7D, 45417 },
+ { 0x2B7E, 45516 },
+ { 0x2B7F, 45486 },
+ { 0x2B80, 45399 },
+ { 0x2B81, 45492 },
+ { 0x2B82, 45495 },
+ { 0x2B83, 45420 },
+ { 0x2B84, 45519 },
+ { 0x2B85, 45405 },
+ { 0x2B86, 45534 },
+ { 0x2B87, 45504 },
+ { 0x2B88, 45507 },
+ { 0x2B89, 45459 },
+ { 0x2B8A, 45561 },
+ { 0x2B8B, 45558 },
+ { 0x2B8C, 45501 },
+ { 0x2B8D, 45396 },
+ { 0x2B8E, 45402 },
+ { 0x2B8F, 45483 },
+ { 0x2B90, 45456 },
+ { 0x2B91, 45375 },
+ { 0x2B92, 45447 },
+ { 0x2B93, 45393 },
+ { 0x2B94, 45387 },
+ { 0x2B95, 45471 },
+ { 0x2B96, 45429 },
+ { 0x2B97, 45432 },
+ { 0x2B98, 45441 },
+ { 0x2B99, 45438 },
+ { 0x2B9A, 45390 },
+ { 0x2B9B, 45312 },
+ { 0x2B9C, 45327 },
+ { 0x2B9D, 45348 },
+ { 0x2B9E, 45369 },
+ { 0x2B9F, 45330 },
+ { 0x2BA0, 45315 },
+ { 0x2BA1, 45372 },
+ { 0x2BA2, 45351 },
+ { 0x2BA3, 45321 },
+ { 0x2BA4, 45339 },
+ { 0x2BA5, 45363 },
+ { 0x2BA6, 45336 },
+ { 0x2BA7, 45357 },
+ { 0x2BA8, 45324 },
+ { 0x2BA9, 45366 },
+ { 0x2BAA, 45342 },
+ { 0x2BAB, 45345 },
+ { 0x2BAC, 45360 },
+ { 0x2BAD, 45333 },
+ { 0x2BAE, 45354 },
+ { 0x2BAF, 45318 },
+ { 0x2BB0, 45310 },
+ { 0x2BB1, 45480 },
+ { 0x2BB2, 45525 },
+ { 0x2BB3, 45453 },
+ { 0x2BB4, 45549 },
+ { 0x2BB5, 45582 },
+ { 0x2BB6, 45537 },
+ { 0x2BB7, 45570 },
+ { 0x2BB8, 45555 },
+ { 0x2BB9, 45585 },
+ { 0x2BBA, 45489 },
+ { 0x2BBB, 45450 },
+ { 0x2BBC, 45546 },
+ { 0x2BBD, 45540 },
+ { 0x2BBE, 45528 },
+ { 0x2BBF, 45531 },
+ { 0x2BC0, 45576 },
+ { 0x2BC1, 45579 },
+ { 0x2BC2, 45498 },
+ { 0x2BC3, 45552 },
+ { 0x2BC4, 45543 },
+ { 0x2BC5, 45588 },
+ { 0x2BC6, 45510 },
+ { 0x2BC7, 45465 },
+ { 0x2BC8, 45513 },
+ { 0x2BC9, 45468 },
+ { 0x2BCA, 45462 },
+ { 0x2BCB, 45435 },
+ { 0x2BCC, 45477 },
+ { 0x2BCD, 45444 },
+ { 0x2BCE, 45564 },
+ { 0x2BCF, 45573 },
+ { 0x2BD0, 45567 },
+ { 0x2BD1, 45474 },
+ { 0x2BD2, 45522 },
+ { 0x2BD3, 45408 },
+ { 0x2BD4, 45423 },
+ { 0x2BD5, 45378 },
+ { 0x2BD6, 45426 },
+ { 0x2BD7, 45411 },
+ { 0x2BD8, 45381 },
+ { 0x2BD9, 45384 },
+ { 0x2BDA, 45414 },
+ { 0x2BDB, 102432 },
+ { 0x2BDC, 102436 },
+ { 0x2BDD, 102380 },
+ { 0x2BDE, 102388 },
+ { 0x2BDF, 102408 },
+ { 0x2BE0, 102392 },
+ { 0x2BE1, 102384 },
+ { 0x2BE2, 102424 },
+ { 0x2BE3, 102412 },
+ { 0x2BE4, 102400 },
+ { 0x2BE5, 102428 },
+ { 0x2BE6, 102404 },
+ { 0x2BE7, 102416 },
+ { 0x2BE8, 102420 },
+ { 0x2BE9, 102396 },
+ { 0x2BEA, 102376 },
+ { 0x2BEB, 66754 },
+ { 0x2BEC, 66820 },
+ { 0x2BED, 66796 },
+ { 0x2BEE, 66781 },
+ { 0x2BEF, 66760 },
+ { 0x2BF0, 66835 },
+ { 0x2BF1, 66808 },
+ { 0x2BF2, 66847 },
+ { 0x2BF3, 66790 },
+ { 0x2BF4, 66829 },
+ { 0x2BF5, 66838 },
+ { 0x2BF6, 66850 },
+ { 0x2BF7, 66787 },
+ { 0x2BF8, 66841 },
+ { 0x2BF9, 66853 },
+ { 0x2BFA, 66856 },
+ { 0x2BFB, 66745 },
+ { 0x2BFC, 66805 },
+ { 0x2BFD, 66844 },
+ { 0x2BFE, 66859 },
+ { 0x2BFF, 66662 },
+ { 0x2C00, 66666 },
+ { 0x2C01, 66658 },
+ { 0x2C02, 66654 },
+ { 0x2C03, 66775 },
+ { 0x2C04, 66799 },
+ { 0x2C05, 66823 },
+ { 0x2C06, 5348 },
+ { 0x2C07, 5387 },
+ { 0x2C08, 5390 },
+ { 0x2C09, 5393 },
+ { 0x2C0A, 5378 },
+ { 0x2C0B, 5405 },
+ { 0x2C0C, 5396 },
+ { 0x2C0D, 5354 },
+ { 0x2C0E, 5423 },
+ { 0x2C0F, 5432 },
+ { 0x2C10, 5399 },
+ { 0x2C11, 5426 },
+ { 0x2C12, 5417 },
+ { 0x2C13, 5402 },
+ { 0x2C14, 5429 },
+ { 0x2C15, 5336 },
+ { 0x2C16, 5333 },
+ { 0x2C17, 5345 },
+ { 0x2C18, 5339 },
+ { 0x2C19, 5372 },
+ { 0x2C1A, 5330 },
+ { 0x2C1B, 5357 },
+ { 0x2C1C, 5351 },
+ { 0x2C1D, 5381 },
+ { 0x2C1E, 5411 },
+ { 0x2C1F, 5375 },
+ { 0x2C20, 5369 },
+ { 0x2C21, 5360 },
+ { 0x2C22, 5366 },
+ { 0x2C23, 5384 },
+ { 0x2C24, 5414 },
+ { 0x2C25, 5408 },
+ { 0x2C26, 5420 },
+ { 0x2C27, 5435 },
+ { 0x2C28, 5363 },
+ { 0x2C29, 5342 },
+ { 0x2C2A, 79966 },
+ { 0x2C2B, 79998 },
+ { 0x2C2C, 80002 },
+ { 0x2C2D, 80006 },
+ { 0x2C2E, 79974 },
+ { 0x2C2F, 79938 },
+ { 0x2C30, 79946 },
+ { 0x2C31, 79954 },
+ { 0x2C32, 79942 },
+ { 0x2C33, 79950 },
+ { 0x2C34, 79970 },
+ { 0x2C35, 79978 },
+ { 0x2C36, 79986 },
+ { 0x2C37, 79994 },
+ { 0x2C38, 79982 },
+ { 0x2C39, 79990 },
+ { 0x2C3A, 112002 },
+ { 0x2C3B, 111981 },
+ { 0x2C3C, 112009 },
+ { 0x2C3D, 111995 },
+ { 0x2C3E, 111974 },
+ { 0x2C3F, 111988 },
+ { 0x2C40, 111942 },
+ { 0x2C41, 111967 },
+ { 0x2C42, 111949 },
+ { 0x2C43, 112016 },
+ { 0x2C44, 112023 },
+ { 0x2C45, 112037 },
+ { 0x2C46, 112030 },
+ { 0x2C47, 111960 },
+ { 0x2C48, 112005 },
+ { 0x2C49, 111984 },
+ { 0x2C4A, 112012 },
+ { 0x2C4B, 111998 },
+ { 0x2C4C, 111977 },
+ { 0x2C4D, 111991 },
+ { 0x2C4E, 111945 },
+ { 0x2C4F, 111970 },
+ { 0x2C50, 111952 },
+ { 0x2C51, 112019 },
+ { 0x2C52, 112026 },
+ { 0x2C53, 112040 },
+ { 0x2C54, 112033 },
+ { 0x2C55, 111963 },
+ { 0x2C56, 111956 },
+ { 0x2C57, 112049 },
+ { 0x2C58, 112044 },
+ { 0x2C59, 112086 },
+ { 0x2C5A, 112098 },
+ { 0x2C5B, 112158 },
+ { 0x2C5C, 112110 },
+ { 0x2C5D, 112107 },
+ { 0x2C5E, 112089 },
+ { 0x2C5F, 112149 },
+ { 0x2C60, 112137 },
+ { 0x2C61, 112122 },
+ { 0x2C62, 112095 },
+ { 0x2C63, 112116 },
+ { 0x2C64, 112104 },
+ { 0x2C65, 112161 },
+ { 0x2C66, 112131 },
+ { 0x2C67, 112143 },
+ { 0x2C68, 112134 },
+ { 0x2C69, 112092 },
+ { 0x2C6A, 112152 },
+ { 0x2C6B, 112113 },
+ { 0x2C6C, 112164 },
+ { 0x2C6D, 112119 },
+ { 0x2C6E, 112167 },
+ { 0x2C6F, 112179 },
+ { 0x2C70, 112191 },
+ { 0x2C71, 112140 },
+ { 0x2C72, 112182 },
+ { 0x2C73, 112101 },
+ { 0x2C74, 112155 },
+ { 0x2C75, 112185 },
+ { 0x2C76, 112188 },
+ { 0x2C77, 112176 },
+ { 0x2C78, 112170 },
+ { 0x2C79, 112173 },
+ { 0x2C7A, 112125 },
+ { 0x2C7B, 112128 },
+ { 0x2C7C, 112146 },
+ { 0x2C7D, 57400 },
+ { 0x2C7E, 57430 },
+ { 0x2C7F, 57379 },
+ { 0x2C80, 57310 },
+ { 0x2C81, 56909 },
+ { 0x2C82, 57035 },
+ { 0x2C83, 56987 },
+ { 0x2C84, 56927 },
+ { 0x2C85, 56918 },
+ { 0x2C86, 56969 },
+ { 0x2C87, 57080 },
+ { 0x2C88, 56975 },
+ { 0x2C89, 102564 },
+ { 0x2C8A, 57041 },
+ { 0x2C8B, 57049 },
+ { 0x2C8C, 57073 },
+ { 0x2C8D, 57057 },
+ { 0x2C8E, 57053 },
+ { 0x2C8F, 57045 },
+ { 0x2C90, 57069 },
+ { 0x2C91, 57065 },
+ { 0x2C92, 57061 },
+ { 0x2C93, 56984 },
+ { 0x2C94, 56993 },
+ { 0x2C95, 57001 },
+ { 0x2C96, 57025 },
+ { 0x2C97, 57009 },
+ { 0x2C98, 57005 },
+ { 0x2C99, 56844 },
+ { 0x2C9A, 56823 },
+ { 0x2C9B, 56851 },
+ { 0x2C9C, 56837 },
+ { 0x2C9D, 56816 },
+ { 0x2C9E, 56830 },
+ { 0x2C9F, 56784 },
+ { 0x2CA0, 56805 },
+ { 0x2CA1, 56791 },
+ { 0x2CA2, 56858 },
+ { 0x2CA3, 56865 },
+ { 0x2CA4, 56879 },
+ { 0x2CA5, 56872 },
+ { 0x2CA6, 56798 },
+ { 0x2CA7, 56847 },
+ { 0x2CA8, 56826 },
+ { 0x2CA9, 56854 },
+ { 0x2CAA, 56840 },
+ { 0x2CAB, 56819 },
+ { 0x2CAC, 56833 },
+ { 0x2CAD, 56787 },
+ { 0x2CAE, 56808 },
+ { 0x2CAF, 56794 },
+ { 0x2CB0, 56861 },
+ { 0x2CB1, 56868 },
+ { 0x2CB2, 56882 },
+ { 0x2CB3, 56875 },
+ { 0x2CB4, 56801 },
+ { 0x2CB5, 56902 },
+ { 0x2CB6, 56898 },
+ { 0x2CB7, 56812 },
+ { 0x2CB8, 48368 },
+ { 0x2CB9, 57274 },
+ { 0x2CBA, 57286 },
+ { 0x2CBB, 57364 },
+ { 0x2CBC, 57298 },
+ { 0x2CBD, 57295 },
+ { 0x2CBE, 57277 },
+ { 0x2CBF, 57355 },
+ { 0x2CC0, 57337 },
+ { 0x2CC1, 57325 },
+ { 0x2CC2, 57283 },
+ { 0x2CC3, 57319 },
+ { 0x2CC4, 57292 },
+ { 0x2CC5, 57367 },
+ { 0x2CC6, 57331 },
+ { 0x2CC7, 57343 },
+ { 0x2CC8, 57334 },
+ { 0x2CC9, 57280 },
+ { 0x2CCA, 57358 },
+ { 0x2CCB, 57301 },
+ { 0x2CCC, 57388 },
+ { 0x2CCD, 57322 },
+ { 0x2CCE, 57391 },
+ { 0x2CCF, 57421 },
+ { 0x2CD0, 57433 },
+ { 0x2CD1, 57340 },
+ { 0x2CD2, 57382 },
+ { 0x2CD3, 57316 },
+ { 0x2CD4, 57376 },
+ { 0x2CD5, 57409 },
+ { 0x2CD6, 57418 },
+ { 0x2CD7, 57349 },
+ { 0x2CD8, 57415 },
+ { 0x2CD9, 57307 },
+ { 0x2CDA, 57328 },
+ { 0x2CDB, 57289 },
+ { 0x2CDC, 57385 },
+ { 0x2CDD, 57304 },
+ { 0x2CDE, 57373 },
+ { 0x2CDF, 57271 },
+ { 0x2CE0, 57313 },
+ { 0x2CE1, 57352 },
+ { 0x2CE2, 57397 },
+ { 0x2CE3, 57403 },
+ { 0x2CE4, 57361 },
+ { 0x2CE5, 57424 },
+ { 0x2CE6, 57427 },
+ { 0x2CE7, 57406 },
+ { 0x2CE8, 57394 },
+ { 0x2CE9, 57346 },
+ { 0x2CEA, 56997 },
+ { 0x2CEB, 57021 },
+ { 0x2CEC, 57017 },
+ { 0x2CED, 57013 },
+ { 0x2CEE, 56924 },
+ { 0x2CEF, 56933 },
+ { 0x2CF0, 56941 },
+ { 0x2CF1, 56965 },
+ { 0x2CF2, 56949 },
+ { 0x2CF3, 56945 },
+ { 0x2CF4, 56937 },
+ { 0x2CF5, 56961 },
+ { 0x2CF6, 56957 },
+ { 0x2CF7, 56953 },
+ { 0x2CF8, 56915 },
+ { 0x2CF9, 102343 },
+ { 0x2CFA, 102358 },
+ { 0x2CFB, 102333 },
+ { 0x2CFC, 102328 },
+ { 0x2CFD, 102163 },
+ { 0x2CFE, 102323 },
+ { 0x2CFF, 102318 },
+ { 0x2D00, 102338 },
+ { 0x2D01, 102368 },
+ { 0x2D02, 102348 },
+ { 0x2D03, 102363 },
+ { 0x2D04, 102353 },
+ { 0x2D05, 52761 },
+ { 0x2D06, 52924 },
+ { 0x2D07, 52751 },
+ { 0x2D08, 59069 },
+ { 0x2D09, 57122 },
+ { 0x2D0A, 57128 },
+ { 0x2D0B, 57134 },
+ { 0x2D0C, 57125 },
+ { 0x2D0D, 57131 },
+ { 0x2D0E, 57152 },
+ { 0x2D0F, 57158 },
+ { 0x2D10, 57164 },
+ { 0x2D11, 57155 },
+ { 0x2D12, 57161 },
+ { 0x2D13, 57212 },
+ { 0x2D14, 57218 },
+ { 0x2D15, 57224 },
+ { 0x2D16, 57215 },
+ { 0x2D17, 57221 },
+ { 0x2D18, 57227 },
+ { 0x2D19, 57233 },
+ { 0x2D1A, 57239 },
+ { 0x2D1B, 57230 },
+ { 0x2D1C, 57236 },
+ { 0x2D1D, 57182 },
+ { 0x2D1E, 57188 },
+ { 0x2D1F, 57194 },
+ { 0x2D20, 57185 },
+ { 0x2D21, 57191 },
+ { 0x2D22, 57137 },
+ { 0x2D23, 57143 },
+ { 0x2D24, 57149 },
+ { 0x2D25, 57140 },
+ { 0x2D26, 57146 },
+ { 0x2D27, 57167 },
+ { 0x2D28, 57173 },
+ { 0x2D29, 57179 },
+ { 0x2D2A, 57170 },
+ { 0x2D2B, 57176 },
+ { 0x2D2C, 57254 },
+ { 0x2D2D, 57260 },
+ { 0x2D2E, 57257 },
+ { 0x2D2F, 57197 },
+ { 0x2D30, 57203 },
+ { 0x2D31, 57209 },
+ { 0x2D32, 57200 },
+ { 0x2D33, 57206 },
+ { 0x2D34, 57242 },
+ { 0x2D35, 57248 },
+ { 0x2D36, 57245 },
+ { 0x2D37, 57251 },
+ { 0x2D38, 53178 },
+ { 0x2D39, 53180 },
+ { 0x2D3A, 53105 },
+ { 0x2D3B, 52969 },
+ { 0x2D3C, 53190 },
+ { 0x2D3D, 52986 },
+ { 0x2D3E, 52967 },
+ { 0x2D3F, 53238 },
+ { 0x2D40, 53111 },
+ { 0x2D41, 53003 },
+ { 0x2D42, 53005 },
+ { 0x2D43, 53141 },
+ { 0x2D44, 53210 },
+ { 0x2D45, 53212 },
+ { 0x2D46, 53115 },
+ { 0x2D47, 53113 },
+ { 0x2D48, 52982 },
+ { 0x2D49, 53117 },
+ { 0x2D4A, 53194 },
+ { 0x2D4B, 53208 },
+ { 0x2D4C, 52990 },
+ { 0x2D4D, 53282 },
+ { 0x2D4E, 53286 },
+ { 0x2D4F, 53274 },
+ { 0x2D50, 53184 },
+ { 0x2D51, 53270 },
+ { 0x2D52, 53276 },
+ { 0x2D53, 53214 },
+ { 0x2D54, 53143 },
+ { 0x2D55, 53192 },
+ { 0x2D56, 53145 },
+ { 0x2D57, 53232 },
+ { 0x2D58, 53268 },
+ { 0x2D59, 53234 },
+ { 0x2D5A, 53168 },
+ { 0x2D5B, 53170 },
+ { 0x2D5C, 53109 },
+ { 0x2D5D, 52973 },
+ { 0x2D5E, 52975 },
+ { 0x2D5F, 52965 },
+ { 0x2D60, 53001 },
+ { 0x2D61, 53151 },
+ { 0x2D62, 53119 },
+ { 0x2D63, 53261 },
+ { 0x2D64, 53153 },
+ { 0x2D65, 53206 },
+ { 0x2D66, 53280 },
+ { 0x2D67, 53200 },
+ { 0x2D68, 53009 },
+ { 0x2D69, 52971 },
+ { 0x2D6A, 53243 },
+ { 0x2D6B, 53188 },
+ { 0x2D6C, 53236 },
+ { 0x2D6D, 53123 },
+ { 0x2D6E, 53272 },
+ { 0x2D6F, 53007 },
+ { 0x2D70, 53198 },
+ { 0x2D71, 53186 },
+ { 0x2D72, 53157 },
+ { 0x2D73, 53155 },
+ { 0x2D74, 53107 },
+ { 0x2D75, 53202 },
+ { 0x2D76, 53182 },
+ { 0x2D77, 52932 },
+ { 0x2D78, 53159 },
+ { 0x2D79, 53121 },
+ { 0x2D7A, 52984 },
+ { 0x2D7B, 53218 },
+ { 0x2D7C, 53149 },
+ { 0x2D7D, 53147 },
+ { 0x2D7E, 53196 },
+ { 0x2D7F, 53220 },
+ { 0x2D80, 53226 },
+ { 0x2D81, 52999 },
+ { 0x2D82, 53278 },
+ { 0x2D83, 52997 },
+ { 0x2D84, 53224 },
+ { 0x2D85, 53222 },
+ { 0x2D86, 53174 },
+ { 0x2D87, 53176 },
+ { 0x2D88, 53103 },
+ { 0x2D89, 53228 },
+ { 0x2D8A, 53013 },
+ { 0x2D8B, 53166 },
+ { 0x2D8C, 53230 },
+ { 0x2D8D, 53011 },
+ { 0x2D8E, 53266 },
+ { 0x2D8F, 53172 },
+ { 0x2D90, 102210 },
+ { 0x2D91, 102168 },
+ { 0x2D92, 102186 },
+ { 0x2D93, 102228 },
+ { 0x2D94, 102198 },
+ { 0x2D95, 102192 },
+ { 0x2D96, 102174 },
+ { 0x2D97, 102222 },
+ { 0x2D98, 102216 },
+ { 0x2D99, 102204 },
+ { 0x2D9A, 102180 },
+ { 0x2D9B, 102234 },
+ { 0x2D9C, 102240 },
+ { 0x2D9D, 102282 },
+ { 0x2D9E, 102270 },
+ { 0x2D9F, 102252 },
+ { 0x2DA0, 102258 },
+ { 0x2DA1, 102288 },
+ { 0x2DA2, 102264 },
+ { 0x2DA3, 102276 },
+ { 0x2DA4, 102246 },
+ { 0x2DA5, 102294 },
+ { 0x2DA6, 102300 },
+ { 0x2DA7, 102312 },
+ { 0x2DA8, 102306 },
+ { 0x2DA9, 52934 },
+ { 0x2DAA, 52735 },
+ { 0x2DAB, 52717 },
+ { 0x2DAC, 52900 },
+ { 0x2DAD, 52871 },
+ { 0x2DAE, 52878 },
+ { 0x2DAF, 52743 },
+ { 0x2DB0, 52748 },
+ { 0x2DB1, 52745 },
+ { 0x2DB2, 52769 },
+ { 0x2DB3, 52912 },
+ { 0x2DB4, 52916 },
+ { 0x2DB5, 52920 },
+ { 0x2DB6, 52908 },
+ { 0x2DB7, 53284 },
+ { 0x2DB8, 52875 },
+ { 0x2DB9, 52859 },
+ { 0x2DBA, 52825 },
+ { 0x2DBB, 52804 },
+ { 0x2DBC, 52771 },
+ { 0x2DBD, 52773 },
+ { 0x2DBE, 52806 },
+ { 0x2DBF, 52755 },
+ { 0x2DC0, 52902 },
+ { 0x2DC1, 52988 },
+ { 0x2DC2, 52880 },
+ { 0x2DC3, 52861 },
+ { 0x2DC4, 52828 },
+ { 0x2DC5, 52831 },
+ { 0x2DC6, 52811 },
+ { 0x2DC7, 52775 },
+ { 0x2DC8, 52765 },
+ { 0x2DC9, 52936 },
+ { 0x2DCA, 52942 },
+ { 0x2DCB, 52928 },
+ { 0x2DCC, 52963 },
+ { 0x2DCD, 52834 },
+ { 0x2DCE, 52813 },
+ { 0x2DCF, 52741 },
+ { 0x2DD0, 52779 },
+ { 0x2DD1, 52753 },
+ { 0x2DD2, 52863 },
+ { 0x2DD3, 52837 },
+ { 0x2DD4, 52815 },
+ { 0x2DD5, 52725 },
+ { 0x2DD6, 52781 },
+ { 0x2DD7, 52820 },
+ { 0x2DD8, 52730 },
+ { 0x2DD9, 52708 },
+ { 0x2DDA, 52789 },
+ { 0x2DDB, 52817 },
+ { 0x2DDC, 52727 },
+ { 0x2DDD, 52705 },
+ { 0x2DDE, 52783 },
+ { 0x2DDF, 52696 },
+ { 0x2DE0, 52700 },
+ { 0x2DE1, 52873 },
+ { 0x2DE2, 52938 },
+ { 0x2DE3, 52948 },
+ { 0x2DE4, 52930 },
+ { 0x2DE5, 52952 },
+ { 0x2DE6, 52954 },
+ { 0x2DE7, 52958 },
+ { 0x2DE8, 52888 },
+ { 0x2DE9, 52865 },
+ { 0x2DEA, 52840 },
+ { 0x2DEB, 52823 },
+ { 0x2DEC, 52890 },
+ { 0x2DED, 52867 },
+ { 0x2DEE, 52843 },
+ { 0x2DEF, 52849 },
+ { 0x2DF0, 52794 },
+ { 0x2DF1, 52851 },
+ { 0x2DF2, 52892 },
+ { 0x2DF3, 52869 },
+ { 0x2DF4, 52846 },
+ { 0x2DF5, 52854 },
+ { 0x2DF6, 52796 },
+ { 0x2DF7, 52856 },
+ { 0x2DF8, 52690 },
+ { 0x2DF9, 52693 },
+ { 0x2DFA, 52715 },
+ { 0x2DFB, 52719 },
+ { 0x2DFC, 52721 },
+ { 0x2DFD, 52723 },
+ { 0x2DFE, 52686 },
+ { 0x2DFF, 52733 },
+ { 0x2E00, 52737 },
+ { 0x2E01, 52757 },
+ { 0x2E02, 52759 },
+ { 0x2E03, 52763 },
+ { 0x2E04, 52767 },
+ { 0x2E05, 52777 },
+ { 0x2E06, 52786 },
+ { 0x2E07, 52792 },
+ { 0x2E08, 52798 },
+ { 0x2E09, 52800 },
+ { 0x2E0A, 52940 },
+ { 0x2E0B, 52802 },
+ { 0x2E0C, 52808 },
+ { 0x2E0D, 52944 },
+ { 0x2E0E, 52946 },
+ { 0x2E0F, 52882 },
+ { 0x2E10, 52884 },
+ { 0x2E11, 52950 },
+ { 0x2E12, 52886 },
+ { 0x2E13, 52894 },
+ { 0x2E14, 52896 },
+ { 0x2E15, 52898 },
+ { 0x2E16, 52711 },
+ { 0x2E17, 52682 },
+ { 0x2E18, 101977 },
+ { 0x2E19, 101995 },
+ { 0x2E1A, 102031 },
+ { 0x2E1B, 102007 },
+ { 0x2E1C, 102001 },
+ { 0x2E1D, 101983 },
+ { 0x2E1E, 102025 },
+ { 0x2E1F, 102019 },
+ { 0x2E20, 102013 },
+ { 0x2E21, 101989 },
+ { 0x2E22, 102037 },
+ { 0x2E23, 102049 },
+ { 0x2E24, 102091 },
+ { 0x2E25, 102079 },
+ { 0x2E26, 102061 },
+ { 0x2E27, 102067 },
+ { 0x2E28, 102097 },
+ { 0x2E29, 102073 },
+ { 0x2E2A, 102085 },
+ { 0x2E2B, 102055 },
+ { 0x2E2C, 102109 },
+ { 0x2E2D, 102121 },
+ { 0x2E2E, 102157 },
+ { 0x2E2F, 102133 },
+ { 0x2E30, 102127 },
+ { 0x2E31, 102115 },
+ { 0x2E32, 102151 },
+ { 0x2E33, 102145 },
+ { 0x2E34, 102139 },
+ { 0x2E35, 102043 },
+ { 0x2E36, 102103 },
+ { 0x2E37, 52926 },
+ { 0x2E38, 78668 },
+ { 0x2E39, 78682 },
+ { 0x2E3A, 78819 },
+ { 0x2E3B, 78789 },
+ { 0x2E3C, 78765 },
+ { 0x2E3D, 78771 },
+ { 0x2E3E, 78621 },
+ { 0x2E3F, 78751 },
+ { 0x2E40, 78727 },
+ { 0x2E41, 78786 },
+ { 0x2E42, 78724 },
+ { 0x2E43, 78846 },
+ { 0x2E44, 78831 },
+ { 0x2E45, 78708 },
+ { 0x2E46, 78755 },
+ { 0x2E47, 78828 },
+ { 0x2E48, 78802 },
+ { 0x2E49, 78687 },
+ { 0x2E4A, 78768 },
+ { 0x2E4B, 78861 },
+ { 0x2E4C, 78739 },
+ { 0x2E4D, 78697 },
+ { 0x2E4E, 78815 },
+ { 0x2E4F, 78748 },
+ { 0x2E50, 78812 },
+ { 0x2E51, 78704 },
+ { 0x2E52, 78720 },
+ { 0x2E53, 78712 },
+ { 0x2E54, 78643 },
+ { 0x2E55, 78663 },
+ { 0x2E56, 78809 },
+ { 0x2E57, 78777 },
+ { 0x2E58, 78762 },
+ { 0x2E59, 78700 },
+ { 0x2E5A, 78783 },
+ { 0x2E5B, 78796 },
+ { 0x2E5C, 78629 },
+ { 0x2E5D, 78837 },
+ { 0x2E5E, 78855 },
+ { 0x2E5F, 78849 },
+ { 0x2E60, 78774 },
+ { 0x2E61, 78780 },
+ { 0x2E62, 78858 },
+ { 0x2E63, 78743 },
+ { 0x2E64, 78805 },
+ { 0x2E65, 78758 },
+ { 0x2E66, 78840 },
+ { 0x2E67, 78625 },
+ { 0x2E68, 78843 },
+ { 0x2E69, 78659 },
+ { 0x2E6A, 78654 },
+ { 0x2E6B, 78648 },
+ { 0x2E6C, 78852 },
+ { 0x2E6D, 78673 },
+ { 0x2E6E, 78793 },
+ { 0x2E6F, 78678 },
+ { 0x2E70, 78633 },
+ { 0x2E71, 78638 },
+ { 0x2E72, 78825 },
+ { 0x2E73, 78834 },
+ { 0x2E74, 78716 },
+ { 0x2E75, 78731 },
+ { 0x2E76, 78693 },
+ { 0x2E77, 78735 },
+ { 0x2E78, 691 },
+ { 0x2E79, 694 },
+ { 0x2E7A, 577 },
+ { 0x2E7B, 688 },
+ { 0x2E7C, 1357 },
+ { 0x2E7D, 1360 },
+ { 0x2E7E, 685 },
+ { 0x2E7F, 1354 },
+ { 0x2E80, 586 },
+ { 0x2E81, 589 },
+ { 0x2E82, 571 },
+ { 0x2E83, 583 },
+ { 0x2E84, 2068 },
+ { 0x2E85, 859 },
+ { 0x2E86, 2065 },
+ { 0x2E87, 778 },
+ { 0x2E88, 781 },
+ { 0x2E89, 580 },
+ { 0x2E8A, 775 },
+ { 0x2E8B, 643 },
+ { 0x2E8C, 574 },
+ { 0x2E8D, 886 },
+ { 0x2E8E, 967 },
+ { 0x2E8F, 970 },
+ { 0x2E90, 598 },
+ { 0x2E91, 964 },
+ { 0x2E92, 2398 },
+ { 0x2E93, 2401 },
+ { 0x2E94, 961 },
+ { 0x2E95, 2395 },
+ { 0x2E96, 931 },
+ { 0x2E97, 934 },
+ { 0x2E98, 592 },
+ { 0x2E99, 928 },
+ { 0x2E9A, 2407 },
+ { 0x2E9B, 982 },
+ { 0x2E9C, 2404 },
+ { 0x2E9D, 976 },
+ { 0x2E9E, 979 },
+ { 0x2E9F, 601 },
+ { 0x2EA0, 973 },
+ { 0x2EA1, 958 },
+ { 0x2EA2, 595 },
+ { 0x2EA3, 955 },
+ { 0x2EA4, 991 },
+ { 0x2EA5, 994 },
+ { 0x2EA6, 604 },
+ { 0x2EA7, 985 },
+ { 0x2EA8, 2410 },
+ { 0x2EA9, 988 },
+ { 0x2EAA, 1003 },
+ { 0x2EAB, 1006 },
+ { 0x2EAC, 607 },
+ { 0x2EAD, 997 },
+ { 0x2EAE, 2413 },
+ { 0x2EAF, 1000 },
+ { 0x2EB0, 1762 },
+ { 0x2EB1, 1765 },
+ { 0x2EB2, 787 },
+ { 0x2EB3, 1759 },
+ { 0x2EB4, 3331 },
+ { 0x2EB5, 1756 },
+ { 0x2EB6, 3328 },
+ { 0x2EB7, 1750 },
+ { 0x2EB8, 1753 },
+ { 0x2EB9, 784 },
+ { 0x2EBA, 1747 },
+ { 0x2EBB, 3337 },
+ { 0x2EBC, 1777 },
+ { 0x2EBD, 3334 },
+ { 0x2EBE, 1771 },
+ { 0x2EBF, 1774 },
+ { 0x2EC0, 790 },
+ { 0x2EC1, 1768 },
+ { 0x2EC2, 1786 },
+ { 0x2EC3, 1789 },
+ { 0x2EC4, 793 },
+ { 0x2EC5, 1780 },
+ { 0x2EC6, 3340 },
+ { 0x2EC7, 1783 },
+ { 0x2EC8, 1798 },
+ { 0x2EC9, 1801 },
+ { 0x2ECA, 796 },
+ { 0x2ECB, 1792 },
+ { 0x2ECC, 3343 },
+ { 0x2ECD, 1795 },
+ { 0x2ECE, 2356 },
+ { 0x2ECF, 2359 },
+ { 0x2ED0, 943 },
+ { 0x2ED1, 2353 },
+ { 0x2ED2, 3766 },
+ { 0x2ED3, 3769 },
+ { 0x2ED4, 2350 },
+ { 0x2ED5, 3763 },
+ { 0x2ED6, 2338 },
+ { 0x2ED7, 2341 },
+ { 0x2ED8, 937 },
+ { 0x2ED9, 2335 },
+ { 0x2EDA, 3775 },
+ { 0x2EDB, 2371 },
+ { 0x2EDC, 3772 },
+ { 0x2EDD, 2365 },
+ { 0x2EDE, 2368 },
+ { 0x2EDF, 946 },
+ { 0x2EE0, 2362 },
+ { 0x2EE1, 2347 },
+ { 0x2EE2, 940 },
+ { 0x2EE3, 2344 },
+ { 0x2EE4, 2380 },
+ { 0x2EE5, 2383 },
+ { 0x2EE6, 949 },
+ { 0x2EE7, 2374 },
+ { 0x2EE8, 3778 },
+ { 0x2EE9, 2377 },
+ { 0x2EEA, 2389 },
+ { 0x2EEB, 2392 },
+ { 0x2EEC, 952 },
+ { 0x2EED, 2386 },
+ { 0x2EEE, 3016 },
+ { 0x2EEF, 3019 },
+ { 0x2EF0, 1618 },
+ { 0x2EF1, 3013 },
+ { 0x2EF2, 3928 },
+ { 0x2EF3, 3010 },
+ { 0x2EF4, 3925 },
+ { 0x2EF5, 3004 },
+ { 0x2EF6, 3007 },
+ { 0x2EF7, 1615 },
+ { 0x2EF8, 3001 },
+ { 0x2EF9, 3025 },
+ { 0x2EFA, 3028 },
+ { 0x2EFB, 1621 },
+ { 0x2EFC, 3022 },
+ { 0x2EFD, 3037 },
+ { 0x2EFE, 3040 },
+ { 0x2EFF, 1624 },
+ { 0x2F00, 3031 },
+ { 0x2F01, 3931 },
+ { 0x2F02, 3034 },
+ { 0x2F03, 3049 },
+ { 0x2F04, 3052 },
+ { 0x2F05, 1627 },
+ { 0x2F06, 3043 },
+ { 0x2F07, 3934 },
+ { 0x2F08, 3046 },
+ { 0x2F09, 2704 },
+ { 0x2F0A, 2707 },
+ { 0x2F0B, 1309 },
+ { 0x2F0C, 2701 },
+ { 0x2F0D, 3850 },
+ { 0x2F0E, 2698 },
+ { 0x2F0F, 3847 },
+ { 0x2F10, 2692 },
+ { 0x2F11, 2695 },
+ { 0x2F12, 1306 },
+ { 0x2F13, 2689 },
+ { 0x2F14, 3856 },
+ { 0x2F15, 2719 },
+ { 0x2F16, 3853 },
+ { 0x2F17, 2713 },
+ { 0x2F18, 2716 },
+ { 0x2F19, 1312 },
+ { 0x2F1A, 2710 },
+ { 0x2F1B, 2728 },
+ { 0x2F1C, 2731 },
+ { 0x2F1D, 1315 },
+ { 0x2F1E, 2722 },
+ { 0x2F1F, 3859 },
+ { 0x2F20, 2725 },
+ { 0x2F21, 2740 },
+ { 0x2F22, 1318 },
+ { 0x2F23, 2734 },
+ { 0x2F24, 3862 },
+ { 0x2F25, 2737 },
+ { 0x2F26, 1570 },
+ { 0x2F27, 1573 },
+ { 0x2F28, 748 },
+ { 0x2F29, 1567 },
+ { 0x2F2A, 2986 },
+ { 0x2F2B, 1564 },
+ { 0x2F2C, 2983 },
+ { 0x2F2D, 1543 },
+ { 0x2F2E, 1546 },
+ { 0x2F2F, 742 },
+ { 0x2F30, 1540 },
+ { 0x2F31, 2992 },
+ { 0x2F32, 2995 },
+ { 0x2F33, 1585 },
+ { 0x2F34, 2989 },
+ { 0x2F35, 1579 },
+ { 0x2F36, 1582 },
+ { 0x2F37, 751 },
+ { 0x2F38, 1576 },
+ { 0x2F39, 1549 },
+ { 0x2F3A, 745 },
+ { 0x2F3B, 1594 },
+ { 0x2F3C, 1597 },
+ { 0x2F3D, 754 },
+ { 0x2F3E, 1588 },
+ { 0x2F3F, 2998 },
+ { 0x2F40, 1591 },
+ { 0x2F41, 1603 },
+ { 0x2F42, 1606 },
+ { 0x2F43, 757 },
+ { 0x2F44, 1600 },
+ { 0x2F45, 1165 },
+ { 0x2F46, 1168 },
+ { 0x2F47, 649 },
+ { 0x2F48, 1162 },
+ { 0x2F49, 1156 },
+ { 0x2F4A, 1159 },
+ { 0x2F4B, 646 },
+ { 0x2F4C, 1153 },
+ { 0x2F4D, 1174 },
+ { 0x2F4E, 652 },
+ { 0x2F4F, 1171 },
+ { 0x2F50, 1183 },
+ { 0x2F51, 1186 },
+ { 0x2F52, 655 },
+ { 0x2F53, 1177 },
+ { 0x2F54, 2551 },
+ { 0x2F55, 1180 },
+ { 0x2F56, 1192 },
+ { 0x2F57, 1195 },
+ { 0x2F58, 658 },
+ { 0x2F59, 1189 },
+ { 0x2F5A, 2092 },
+ { 0x2F5B, 2095 },
+ { 0x2F5C, 865 },
+ { 0x2F5D, 2089 },
+ { 0x2F5E, 3580 },
+ { 0x2F5F, 3583 },
+ { 0x2F60, 2086 },
+ { 0x2F61, 3577 },
+ { 0x2F62, 2074 },
+ { 0x2F63, 2077 },
+ { 0x2F64, 862 },
+ { 0x2F65, 2071 },
+ { 0x2F66, 2101 },
+ { 0x2F67, 2104 },
+ { 0x2F68, 868 },
+ { 0x2F69, 2098 },
+ { 0x2F6A, 2083 },
+ { 0x2F6B, 2080 },
+ { 0x2F6C, 2113 },
+ { 0x2F6D, 2116 },
+ { 0x2F6E, 871 },
+ { 0x2F6F, 2107 },
+ { 0x2F70, 3586 },
+ { 0x2F71, 2110 },
+ { 0x2F72, 2125 },
+ { 0x2F73, 2128 },
+ { 0x2F74, 874 },
+ { 0x2F75, 2119 },
+ { 0x2F76, 3589 },
+ { 0x2F77, 2122 },
+ { 0x2F78, 1123 },
+ { 0x2F79, 1126 },
+ { 0x2F7A, 634 },
+ { 0x2F7B, 1120 },
+ { 0x2F7C, 2542 },
+ { 0x2F7D, 1117 },
+ { 0x2F7E, 2539 },
+ { 0x2F7F, 1090 },
+ { 0x2F80, 1093 },
+ { 0x2F81, 628 },
+ { 0x2F82, 1087 },
+ { 0x2F83, 2545 },
+ { 0x2F84, 1138 },
+ { 0x2F85, 1132 },
+ { 0x2F86, 1135 },
+ { 0x2F87, 637 },
+ { 0x2F88, 1129 },
+ { 0x2F89, 1114 },
+ { 0x2F8A, 631 },
+ { 0x2F8B, 1111 },
+ { 0x2F8C, 1147 },
+ { 0x2F8D, 1150 },
+ { 0x2F8E, 640 },
+ { 0x2F8F, 1141 },
+ { 0x2F90, 2548 },
+ { 0x2F91, 1144 },
+ { 0x2F92, 2035 },
+ { 0x2F93, 2038 },
+ { 0x2F94, 850 },
+ { 0x2F95, 2032 },
+ { 0x2F96, 3562 },
+ { 0x2F97, 2029 },
+ { 0x2F98, 3559 },
+ { 0x2F99, 2017 },
+ { 0x2F9A, 2020 },
+ { 0x2F9B, 844 },
+ { 0x2F9C, 2014 },
+ { 0x2F9D, 3568 },
+ { 0x2F9E, 3571 },
+ { 0x2F9F, 2050 },
+ { 0x2FA0, 3565 },
+ { 0x2FA1, 2044 },
+ { 0x2FA2, 2047 },
+ { 0x2FA3, 853 },
+ { 0x2FA4, 2041 },
+ { 0x2FA5, 2026 },
+ { 0x2FA6, 847 },
+ { 0x2FA7, 2023 },
+ { 0x2FA8, 2059 },
+ { 0x2FA9, 2062 },
+ { 0x2FAA, 856 },
+ { 0x2FAB, 2053 },
+ { 0x2FAC, 3574 },
+ { 0x2FAD, 2056 },
+ { 0x2FAE, 2509 },
+ { 0x2FAF, 2512 },
+ { 0x2FB0, 1102 },
+ { 0x2FB1, 2506 },
+ { 0x2FB2, 3799 },
+ { 0x2FB3, 2503 },
+ { 0x2FB4, 3796 },
+ { 0x2FB5, 2491 },
+ { 0x2FB6, 2494 },
+ { 0x2FB7, 1096 },
+ { 0x2FB8, 2488 },
+ { 0x2FB9, 3805 },
+ { 0x2FBA, 2524 },
+ { 0x2FBB, 3802 },
+ { 0x2FBC, 2518 },
+ { 0x2FBD, 2521 },
+ { 0x2FBE, 1105 },
+ { 0x2FBF, 2515 },
+ { 0x2FC0, 2500 },
+ { 0x2FC1, 1099 },
+ { 0x2FC2, 2497 },
+ { 0x2FC3, 2533 },
+ { 0x2FC4, 2536 },
+ { 0x2FC5, 1108 },
+ { 0x2FC6, 2527 },
+ { 0x2FC7, 3808 },
+ { 0x2FC8, 2530 },
+ { 0x2FC9, 3076 },
+ { 0x2FCA, 3079 },
+ { 0x2FCB, 1636 },
+ { 0x2FCC, 3073 },
+ { 0x2FCD, 3937 },
+ { 0x2FCE, 3070 },
+ { 0x2FCF, 3058 },
+ { 0x2FD0, 3061 },
+ { 0x2FD1, 1630 },
+ { 0x2FD2, 3055 },
+ { 0x2FD3, 3085 },
+ { 0x2FD4, 3088 },
+ { 0x2FD5, 1639 },
+ { 0x2FD6, 3082 },
+ { 0x2FD7, 3067 },
+ { 0x2FD8, 1633 },
+ { 0x2FD9, 3064 },
+ { 0x2FDA, 3097 },
+ { 0x2FDB, 3100 },
+ { 0x2FDC, 1642 },
+ { 0x2FDD, 3091 },
+ { 0x2FDE, 3940 },
+ { 0x2FDF, 3094 },
+ { 0x2FE0, 2764 },
+ { 0x2FE1, 2767 },
+ { 0x2FE2, 1327 },
+ { 0x2FE3, 2761 },
+ { 0x2FE4, 3868 },
+ { 0x2FE5, 3871 },
+ { 0x2FE6, 2758 },
+ { 0x2FE7, 3865 },
+ { 0x2FE8, 2746 },
+ { 0x2FE9, 2749 },
+ { 0x2FEA, 1321 },
+ { 0x2FEB, 2743 },
+ { 0x2FEC, 3874 },
+ { 0x2FED, 2779 },
+ { 0x2FEE, 2773 },
+ { 0x2FEF, 2776 },
+ { 0x2FF0, 2770 },
+ { 0x2FF1, 2755 },
+ { 0x2FF2, 1324 },
+ { 0x2FF3, 2752 },
+ { 0x2FF4, 2782 },
+ { 0x2FF5, 1666 },
+ { 0x2FF6, 1669 },
+ { 0x2FF7, 766 },
+ { 0x2FF8, 1663 },
+ { 0x2FF9, 3136 },
+ { 0x2FFA, 1660 },
+ { 0x2FFB, 3133 },
+ { 0x2FFC, 1612 },
+ { 0x2FFD, 760 },
+ { 0x2FFE, 1609 },
+ { 0x2FFF, 3235 },
+ { 0x3000, 1708 },
+ { 0x3001, 3232 },
+ { 0x3002, 1687 },
+ { 0x3003, 1690 },
+ { 0x3004, 769 },
+ { 0x3005, 1684 },
+ { 0x3006, 1648 },
+ { 0x3007, 763 },
+ { 0x3008, 1645 },
+ { 0x3009, 1717 },
+ { 0x300A, 1720 },
+ { 0x300B, 772 },
+ { 0x300C, 1711 },
+ { 0x300D, 3238 },
+ { 0x300E, 1714 },
+ { 0x300F, 2650 },
+ { 0x3010, 2653 },
+ { 0x3011, 1294 },
+ { 0x3012, 2647 },
+ { 0x3013, 3832 },
+ { 0x3014, 2644 },
+ { 0x3015, 3829 },
+ { 0x3016, 2632 },
+ { 0x3017, 2635 },
+ { 0x3018, 1288 },
+ { 0x3019, 2629 },
+ { 0x301A, 3838 },
+ { 0x301B, 2662 },
+ { 0x301C, 3835 },
+ { 0x301D, 2659 },
+ { 0x301E, 1297 },
+ { 0x301F, 2656 },
+ { 0x3020, 2641 },
+ { 0x3021, 1291 },
+ { 0x3022, 2638 },
+ { 0x3023, 2671 },
+ { 0x3024, 2674 },
+ { 0x3025, 1300 },
+ { 0x3026, 2665 },
+ { 0x3027, 3841 },
+ { 0x3028, 2668 },
+ { 0x3029, 2683 },
+ { 0x302A, 2686 },
+ { 0x302B, 1303 },
+ { 0x302C, 2677 },
+ { 0x302D, 3844 },
+ { 0x302E, 2680 },
+ { 0x302F, 1498 },
+ { 0x3030, 1501 },
+ { 0x3031, 730 },
+ { 0x3032, 1495 },
+ { 0x3033, 2920 },
+ { 0x3034, 2923 },
+ { 0x3035, 1492 },
+ { 0x3036, 2917 },
+ { 0x3037, 1480 },
+ { 0x3038, 1483 },
+ { 0x3039, 724 },
+ { 0x303A, 1477 },
+ { 0x303B, 2929 },
+ { 0x303C, 2932 },
+ { 0x303D, 1513 },
+ { 0x303E, 2926 },
+ { 0x303F, 1507 },
+ { 0x3040, 1510 },
+ { 0x3041, 733 },
+ { 0x3042, 1504 },
+ { 0x3043, 1489 },
+ { 0x3044, 727 },
+ { 0x3045, 1486 },
+ { 0x3046, 1522 },
+ { 0x3047, 1525 },
+ { 0x3048, 736 },
+ { 0x3049, 1516 },
+ { 0x304A, 2935 },
+ { 0x304B, 1519 },
+ { 0x304C, 1534 },
+ { 0x304D, 1537 },
+ { 0x304E, 739 },
+ { 0x304F, 1528 },
+ { 0x3050, 2938 },
+ { 0x3051, 1531 },
+ { 0x3052, 1237 },
+ { 0x3053, 1240 },
+ { 0x3054, 667 },
+ { 0x3055, 1234 },
+ { 0x3056, 2608 },
+ { 0x3057, 2611 },
+ { 0x3058, 1231 },
+ { 0x3059, 2605 },
+ { 0x305A, 1201 },
+ { 0x305B, 1204 },
+ { 0x305C, 661 },
+ { 0x305D, 1198 },
+ { 0x305E, 2617 },
+ { 0x305F, 2620 },
+ { 0x3060, 1252 },
+ { 0x3061, 2614 },
+ { 0x3062, 1246 },
+ { 0x3063, 1249 },
+ { 0x3064, 670 },
+ { 0x3065, 1243 },
+ { 0x3066, 1210 },
+ { 0x3067, 1213 },
+ { 0x3068, 664 },
+ { 0x3069, 1207 },
+ { 0x306A, 1261 },
+ { 0x306B, 1264 },
+ { 0x306C, 673 },
+ { 0x306D, 1255 },
+ { 0x306E, 2623 },
+ { 0x306F, 1258 },
+ { 0x3070, 1447 },
+ { 0x3071, 1450 },
+ { 0x3072, 715 },
+ { 0x3073, 1444 },
+ { 0x3074, 2905 },
+ { 0x3075, 1441 },
+ { 0x3076, 2902 },
+ { 0x3077, 1426 },
+ { 0x3078, 1429 },
+ { 0x3079, 709 },
+ { 0x307A, 1423 },
+ { 0x307B, 2911 },
+ { 0x307C, 1462 },
+ { 0x307D, 2908 },
+ { 0x307E, 1456 },
+ { 0x307F, 1459 },
+ { 0x3080, 718 },
+ { 0x3081, 1453 },
+ { 0x3082, 1435 },
+ { 0x3083, 1438 },
+ { 0x3084, 712 },
+ { 0x3085, 1432 },
+ { 0x3086, 1471 },
+ { 0x3087, 1474 },
+ { 0x3088, 721 },
+ { 0x3089, 1465 },
+ { 0x308A, 2914 },
+ { 0x308B, 1468 },
+ { 0x308C, 2575 },
+ { 0x308D, 2578 },
+ { 0x308E, 1222 },
+ { 0x308F, 3814 },
+ { 0x3090, 2572 },
+ { 0x3091, 3811 },
+ { 0x3092, 2557 },
+ { 0x3093, 2560 },
+ { 0x3094, 1216 },
+ { 0x3095, 2554 },
+ { 0x3096, 3820 },
+ { 0x3097, 3823 },
+ { 0x3098, 2590 },
+ { 0x3099, 3817 },
+ { 0x309A, 2584 },
+ { 0x309B, 2587 },
+ { 0x309C, 1225 },
+ { 0x309D, 2581 },
+ { 0x309E, 2566 },
+ { 0x309F, 2569 },
+ { 0x30A0, 1219 },
+ { 0x30A1, 2563 },
+ { 0x30A2, 2599 },
+ { 0x30A3, 2602 },
+ { 0x30A4, 1228 },
+ { 0x30A5, 2593 },
+ { 0x30A6, 3826 },
+ { 0x30A7, 2596 },
+ { 0x30A8, 3913 },
+ { 0x30A9, 2956 },
+ { 0x30AA, 2944 },
+ { 0x30AB, 2947 },
+ { 0x30AC, 1552 },
+ { 0x30AD, 2941 },
+ { 0x30AE, 3919 },
+ { 0x30AF, 2968 },
+ { 0x30B0, 3916 },
+ { 0x30B1, 2962 },
+ { 0x30B2, 2965 },
+ { 0x30B3, 1558 },
+ { 0x30B4, 2959 },
+ { 0x30B5, 2953 },
+ { 0x30B6, 1555 },
+ { 0x30B7, 2950 },
+ { 0x30B8, 2977 },
+ { 0x30B9, 2980 },
+ { 0x30BA, 1561 },
+ { 0x30BB, 2971 },
+ { 0x30BC, 3922 },
+ { 0x30BD, 2974 },
+ { 0x30BE, 2815 },
+ { 0x30BF, 2818 },
+ { 0x30C0, 1348 },
+ { 0x30C1, 2812 },
+ { 0x30C2, 3880 },
+ { 0x30C3, 3883 },
+ { 0x30C4, 2809 },
+ { 0x30C5, 3877 },
+ { 0x30C6, 2797 },
+ { 0x30C7, 2800 },
+ { 0x30C8, 1342 },
+ { 0x30C9, 2794 },
+ { 0x30CA, 3889 },
+ { 0x30CB, 3892 },
+ { 0x30CC, 2830 },
+ { 0x30CD, 3886 },
+ { 0x30CE, 2824 },
+ { 0x30CF, 2827 },
+ { 0x30D0, 1351 },
+ { 0x30D1, 2821 },
+ { 0x30D2, 2806 },
+ { 0x30D3, 1345 },
+ { 0x30D4, 2803 },
+ { 0x30D5, 3946 },
+ { 0x30D6, 3118 },
+ { 0x30D7, 3943 },
+ { 0x30D8, 3106 },
+ { 0x30D9, 3109 },
+ { 0x30DA, 1651 },
+ { 0x30DB, 3103 },
+ { 0x30DC, 3949 },
+ { 0x30DD, 3952 },
+ { 0x30DE, 3130 },
+ { 0x30DF, 3124 },
+ { 0x30E0, 3127 },
+ { 0x30E1, 1657 },
+ { 0x30E2, 3121 },
+ { 0x30E3, 3115 },
+ { 0x30E4, 1654 },
+ { 0x30E5, 3112 },
+ { 0x30E6, 1285 },
+ { 0x30E7, 2626 },
+ { 0x30E8, 1282 },
+ { 0x30E9, 1270 },
+ { 0x30EA, 1273 },
+ { 0x30EB, 676 },
+ { 0x30EC, 1267 },
+ { 0x30ED, 2788 },
+ { 0x30EE, 2791 },
+ { 0x30EF, 1339 },
+ { 0x30F0, 2785 },
+ { 0x30F1, 1333 },
+ { 0x30F2, 1336 },
+ { 0x30F3, 682 },
+ { 0x30F4, 1330 },
+ { 0x30F5, 1279 },
+ { 0x30F6, 679 },
+ { 0x30F7, 1276 },
+ { 0x30F8, 2134 },
+ { 0x30F9, 2137 },
+ { 0x30FA, 877 },
+ { 0x30FB, 2131 },
+ { 0x30FC, 3595 },
+ { 0x30FD, 2152 },
+ { 0x30FE, 3592 },
+ { 0x30FF, 2149 },
+ { 0x3100, 883 },
+ { 0x3101, 2146 },
+ { 0x3102, 2143 },
+ { 0x3103, 880 },
+ { 0x3104, 2140 },
+ { 0x3105, 2275 },
+ { 0x3106, 2278 },
+ { 0x3107, 916 },
+ { 0x3108, 2272 },
+ { 0x3109, 3694 },
+ { 0x310A, 2269 },
+ { 0x310B, 3691 },
+ { 0x310C, 2242 },
+ { 0x310D, 2245 },
+ { 0x310E, 910 },
+ { 0x310F, 2239 },
+ { 0x3110, 3700 },
+ { 0x3111, 2290 },
+ { 0x3112, 3697 },
+ { 0x3113, 2284 },
+ { 0x3114, 2287 },
+ { 0x3115, 919 },
+ { 0x3116, 2281 },
+ { 0x3117, 2251 },
+ { 0x3118, 913 },
+ { 0x3119, 2248 },
+ { 0x311A, 2299 },
+ { 0x311B, 2302 },
+ { 0x311C, 922 },
+ { 0x311D, 2293 },
+ { 0x311E, 3703 },
+ { 0x311F, 2296 },
+ { 0x3120, 2311 },
+ { 0x3121, 2314 },
+ { 0x3122, 925 },
+ { 0x3123, 2305 },
+ { 0x3124, 3706 },
+ { 0x3125, 2308 },
+ { 0x3126, 1045 },
+ { 0x3127, 1048 },
+ { 0x3128, 616 },
+ { 0x3129, 1042 },
+ { 0x312A, 2470 },
+ { 0x312B, 2473 },
+ { 0x312C, 1039 },
+ { 0x312D, 2467 },
+ { 0x312E, 1012 },
+ { 0x312F, 1015 },
+ { 0x3130, 610 },
+ { 0x3131, 1009 },
+ { 0x3132, 2479 },
+ { 0x3133, 1060 },
+ { 0x3134, 2476 },
+ { 0x3135, 1054 },
+ { 0x3136, 1057 },
+ { 0x3137, 619 },
+ { 0x3138, 1051 },
+ { 0x3139, 1021 },
+ { 0x313A, 613 },
+ { 0x313B, 1018 },
+ { 0x313C, 1069 },
+ { 0x313D, 1072 },
+ { 0x313E, 622 },
+ { 0x313F, 1063 },
+ { 0x3140, 2482 },
+ { 0x3141, 1066 },
+ { 0x3142, 1081 },
+ { 0x3143, 1084 },
+ { 0x3144, 625 },
+ { 0x3145, 1075 },
+ { 0x3146, 2485 },
+ { 0x3147, 1078 },
+ { 0x3148, 3730 },
+ { 0x3149, 3733 },
+ { 0x314A, 2323 },
+ { 0x314B, 3727 },
+ { 0x314C, 4054 },
+ { 0x314D, 4057 },
+ { 0x314E, 3724 },
+ { 0x314F, 4051 },
+ { 0x3150, 3712 },
+ { 0x3151, 3715 },
+ { 0x3152, 2317 },
+ { 0x3153, 3709 },
+ { 0x3154, 3739 },
+ { 0x3155, 2326 },
+ { 0x3156, 3736 },
+ { 0x3157, 3721 },
+ { 0x3158, 2320 },
+ { 0x3159, 3718 },
+ { 0x315A, 3748 },
+ { 0x315B, 2329 },
+ { 0x315C, 3742 },
+ { 0x315D, 4060 },
+ { 0x315E, 3745 },
+ { 0x315F, 3757 },
+ { 0x3160, 3760 },
+ { 0x3161, 2332 },
+ { 0x3162, 3751 },
+ { 0x3163, 4063 },
+ { 0x3164, 3754 },
+ { 0x3165, 3292 },
+ { 0x3166, 3295 },
+ { 0x3167, 1738 },
+ { 0x3168, 3289 },
+ { 0x3169, 3997 },
+ { 0x316A, 3286 },
+ { 0x316B, 3994 },
+ { 0x316C, 3277 },
+ { 0x316D, 3280 },
+ { 0x316E, 1732 },
+ { 0x316F, 3274 },
+ { 0x3170, 4000 },
+ { 0x3171, 3304 },
+ { 0x3172, 3301 },
+ { 0x3173, 3298 },
+ { 0x3174, 3283 },
+ { 0x3175, 1735 },
+ { 0x3176, 3313 },
+ { 0x3177, 1741 },
+ { 0x3178, 3307 },
+ { 0x3179, 4003 },
+ { 0x317A, 3310 },
+ { 0x317B, 3322 },
+ { 0x317C, 3325 },
+ { 0x317D, 1744 },
+ { 0x317E, 3316 },
+ { 0x317F, 4006 },
+ { 0x3180, 3319 },
+ { 0x3181, 1954 },
+ { 0x3182, 1957 },
+ { 0x3183, 832 },
+ { 0x3184, 1951 },
+ { 0x3185, 3487 },
+ { 0x3186, 1948 },
+ { 0x3187, 3484 },
+ { 0x3188, 1921 },
+ { 0x3189, 1924 },
+ { 0x318A, 826 },
+ { 0x318B, 1918 },
+ { 0x318C, 3550 },
+ { 0x318D, 1987 },
+ { 0x318E, 3547 },
+ { 0x318F, 1963 },
+ { 0x3190, 1966 },
+ { 0x3191, 835 },
+ { 0x3192, 1960 },
+ { 0x3193, 1930 },
+ { 0x3194, 829 },
+ { 0x3195, 1927 },
+ { 0x3196, 1996 },
+ { 0x3197, 1999 },
+ { 0x3198, 838 },
+ { 0x3199, 1990 },
+ { 0x319A, 3553 },
+ { 0x319B, 1993 },
+ { 0x319C, 2008 },
+ { 0x319D, 2011 },
+ { 0x319E, 841 },
+ { 0x319F, 2002 },
+ { 0x31A0, 3556 },
+ { 0x31A1, 2005 },
+ { 0x31A2, 3511 },
+ { 0x31A3, 3514 },
+ { 0x31A4, 1975 },
+ { 0x31A5, 3508 },
+ { 0x31A6, 4033 },
+ { 0x31A7, 3505 },
+ { 0x31A8, 4030 },
+ { 0x31A9, 3493 },
+ { 0x31AA, 3496 },
+ { 0x31AB, 1969 },
+ { 0x31AC, 3490 },
+ { 0x31AD, 3520 },
+ { 0x31AE, 3523 },
+ { 0x31AF, 1978 },
+ { 0x31B0, 3517 },
+ { 0x31B1, 3502 },
+ { 0x31B2, 1972 },
+ { 0x31B3, 3499 },
+ { 0x31B4, 3529 },
+ { 0x31B5, 3532 },
+ { 0x31B6, 1981 },
+ { 0x31B7, 3526 },
+ { 0x31B8, 3541 },
+ { 0x31B9, 3544 },
+ { 0x31BA, 1984 },
+ { 0x31BB, 3535 },
+ { 0x31BC, 4036 },
+ { 0x31BD, 3538 },
+ { 0x31BE, 3640 },
+ { 0x31BF, 3643 },
+ { 0x31C0, 2254 },
+ { 0x31C1, 3637 },
+ { 0x31C2, 4042 },
+ { 0x31C3, 3664 },
+ { 0x31C4, 4039 },
+ { 0x31C5, 3658 },
+ { 0x31C6, 3661 },
+ { 0x31C7, 2260 },
+ { 0x31C8, 3655 },
+ { 0x31C9, 3649 },
+ { 0x31CA, 3652 },
+ { 0x31CB, 2257 },
+ { 0x31CC, 3646 },
+ { 0x31CD, 3673 },
+ { 0x31CE, 3676 },
+ { 0x31CF, 2263 },
+ { 0x31D0, 3667 },
+ { 0x31D1, 4045 },
+ { 0x31D2, 3670 },
+ { 0x31D3, 3685 },
+ { 0x31D4, 3688 },
+ { 0x31D5, 2266 },
+ { 0x31D6, 3679 },
+ { 0x31D7, 4048 },
+ { 0x31D8, 3682 },
+ { 0x31D9, 2419 },
+ { 0x31DA, 2422 },
+ { 0x31DB, 1024 },
+ { 0x31DC, 2416 },
+ { 0x31DD, 3784 },
+ { 0x31DE, 3787 },
+ { 0x31DF, 2443 },
+ { 0x31E0, 3781 },
+ { 0x31E1, 2437 },
+ { 0x31E2, 2440 },
+ { 0x31E3, 1030 },
+ { 0x31E4, 2434 },
+ { 0x31E5, 2428 },
+ { 0x31E6, 2431 },
+ { 0x31E7, 1027 },
+ { 0x31E8, 2425 },
+ { 0x31E9, 2452 },
+ { 0x31EA, 1033 },
+ { 0x31EB, 2446 },
+ { 0x31EC, 3790 },
+ { 0x31ED, 2449 },
+ { 0x31EE, 2461 },
+ { 0x31EF, 2464 },
+ { 0x31F0, 1036 },
+ { 0x31F1, 2455 },
+ { 0x31F2, 3793 },
+ { 0x31F3, 2458 },
+ { 0x31F4, 3370 },
+ { 0x31F5, 1876 },
+ { 0x31F6, 4009 },
+ { 0x31F7, 3391 },
+ { 0x31F8, 3385 },
+ { 0x31F9, 3388 },
+ { 0x31FA, 1882 },
+ { 0x31FB, 3382 },
+ { 0x31FC, 3376 },
+ { 0x31FD, 3379 },
+ { 0x31FE, 1879 },
+ { 0x31FF, 3373 },
+ { 0x3200, 3400 },
+ { 0x3201, 3403 },
+ { 0x3202, 1885 },
+ { 0x3203, 3394 },
+ { 0x3204, 4012 },
+ { 0x3205, 3397 },
+ { 0x3206, 3412 },
+ { 0x3207, 3415 },
+ { 0x3208, 1888 },
+ { 0x3209, 3406 },
+ { 0x320A, 4015 },
+ { 0x320B, 3409 },
+ { 0x320C, 3187 },
+ { 0x320D, 3190 },
+ { 0x320E, 1693 },
+ { 0x320F, 3184 },
+ { 0x3210, 3205 },
+ { 0x3211, 1699 },
+ { 0x3212, 3202 },
+ { 0x3213, 3196 },
+ { 0x3214, 3199 },
+ { 0x3215, 1696 },
+ { 0x3216, 3193 },
+ { 0x3217, 3214 },
+ { 0x3218, 3217 },
+ { 0x3219, 1702 },
+ { 0x321A, 3208 },
+ { 0x321B, 3973 },
+ { 0x321C, 3211 },
+ { 0x321D, 3226 },
+ { 0x321E, 3229 },
+ { 0x321F, 1705 },
+ { 0x3220, 3220 },
+ { 0x3221, 3976 },
+ { 0x3222, 3223 },
+ { 0x3223, 3433 },
+ { 0x3224, 3436 },
+ { 0x3225, 1933 },
+ { 0x3226, 3430 },
+ { 0x3227, 4021 },
+ { 0x3228, 3457 },
+ { 0x3229, 4018 },
+ { 0x322A, 3451 },
+ { 0x322B, 3454 },
+ { 0x322C, 1939 },
+ { 0x322D, 3448 },
+ { 0x322E, 3442 },
+ { 0x322F, 3445 },
+ { 0x3230, 1936 },
+ { 0x3231, 3439 },
+ { 0x3232, 3466 },
+ { 0x3233, 3469 },
+ { 0x3234, 1942 },
+ { 0x3235, 3460 },
+ { 0x3236, 4024 },
+ { 0x3237, 3463 },
+ { 0x3238, 3478 },
+ { 0x3239, 3481 },
+ { 0x323A, 1945 },
+ { 0x323B, 3472 },
+ { 0x323C, 4027 },
+ { 0x323D, 3475 },
+ { 0x323E, 1855 },
+ { 0x323F, 1858 },
+ { 0x3240, 811 },
+ { 0x3241, 1852 },
+ { 0x3242, 3421 },
+ { 0x3243, 1891 },
+ { 0x3244, 3418 },
+ { 0x3245, 1870 },
+ { 0x3246, 1873 },
+ { 0x3247, 817 },
+ { 0x3248, 1867 },
+ { 0x3249, 1864 },
+ { 0x324A, 814 },
+ { 0x324B, 1861 },
+ { 0x324C, 1900 },
+ { 0x324D, 1903 },
+ { 0x324E, 820 },
+ { 0x324F, 1894 },
+ { 0x3250, 3424 },
+ { 0x3251, 1897 },
+ { 0x3252, 1912 },
+ { 0x3253, 1915 },
+ { 0x3254, 823 },
+ { 0x3255, 1906 },
+ { 0x3256, 3427 },
+ { 0x3257, 1909 },
+ { 0x3258, 1369 },
+ { 0x3259, 1372 },
+ { 0x325A, 697 },
+ { 0x325B, 1366 },
+ { 0x325C, 2836 },
+ { 0x325D, 2839 },
+ { 0x325E, 1363 },
+ { 0x325F, 2833 },
+ { 0x3260, 2890 },
+ { 0x3261, 2893 },
+ { 0x3262, 1396 },
+ { 0x3263, 2887 },
+ { 0x3264, 1390 },
+ { 0x3265, 1393 },
+ { 0x3266, 700 },
+ { 0x3267, 1387 },
+ { 0x3268, 1405 },
+ { 0x3269, 1408 },
+ { 0x326A, 703 },
+ { 0x326B, 1399 },
+ { 0x326C, 2896 },
+ { 0x326D, 1402 },
+ { 0x326E, 1417 },
+ { 0x326F, 1420 },
+ { 0x3270, 706 },
+ { 0x3271, 1411 },
+ { 0x3272, 2899 },
+ { 0x3273, 1414 },
+ { 0x3274, 1810 },
+ { 0x3275, 1813 },
+ { 0x3276, 799 },
+ { 0x3277, 1807 },
+ { 0x3278, 3349 },
+ { 0x3279, 3352 },
+ { 0x327A, 1804 },
+ { 0x327B, 3346 },
+ { 0x327C, 3358 },
+ { 0x327D, 3361 },
+ { 0x327E, 1825 },
+ { 0x327F, 3355 },
+ { 0x3280, 1819 },
+ { 0x3281, 1822 },
+ { 0x3282, 802 },
+ { 0x3283, 1816 },
+ { 0x3284, 1834 },
+ { 0x3285, 1837 },
+ { 0x3286, 805 },
+ { 0x3287, 1828 },
+ { 0x3288, 3364 },
+ { 0x3289, 1831 },
+ { 0x328A, 1846 },
+ { 0x328B, 1849 },
+ { 0x328C, 808 },
+ { 0x328D, 1840 },
+ { 0x328E, 3367 },
+ { 0x328F, 1843 },
+ { 0x3290, 2848 },
+ { 0x3291, 2851 },
+ { 0x3292, 1375 },
+ { 0x3293, 2845 },
+ { 0x3294, 3898 },
+ { 0x3295, 3901 },
+ { 0x3296, 2842 },
+ { 0x3297, 3895 },
+ { 0x3298, 3907 },
+ { 0x3299, 2863 },
+ { 0x329A, 3904 },
+ { 0x329B, 2857 },
+ { 0x329C, 2860 },
+ { 0x329D, 1378 },
+ { 0x329E, 2854 },
+ { 0x329F, 2872 },
+ { 0x32A0, 2875 },
+ { 0x32A1, 1381 },
+ { 0x32A2, 2866 },
+ { 0x32A3, 3910 },
+ { 0x32A4, 2869 },
+ { 0x32A5, 2881 },
+ { 0x32A6, 2884 },
+ { 0x32A7, 1384 },
+ { 0x32A8, 2878 },
+ { 0x32A9, 3145 },
+ { 0x32AA, 3148 },
+ { 0x32AB, 1672 },
+ { 0x32AC, 3142 },
+ { 0x32AD, 3958 },
+ { 0x32AE, 3961 },
+ { 0x32AF, 3139 },
+ { 0x32B0, 3955 },
+ { 0x32B1, 3964 },
+ { 0x32B2, 3160 },
+ { 0x32B3, 3154 },
+ { 0x32B4, 3157 },
+ { 0x32B5, 1675 },
+ { 0x32B6, 3151 },
+ { 0x32B7, 3169 },
+ { 0x32B8, 1678 },
+ { 0x32B9, 3163 },
+ { 0x32BA, 3967 },
+ { 0x32BB, 3166 },
+ { 0x32BC, 3178 },
+ { 0x32BD, 3181 },
+ { 0x32BE, 1681 },
+ { 0x32BF, 3172 },
+ { 0x32C0, 3970 },
+ { 0x32C1, 3175 },
+ { 0x32C2, 3247 },
+ { 0x32C3, 3250 },
+ { 0x32C4, 1723 },
+ { 0x32C5, 3244 },
+ { 0x32C6, 3982 },
+ { 0x32C7, 3985 },
+ { 0x32C8, 3241 },
+ { 0x32C9, 3979 },
+ { 0x32CA, 3991 },
+ { 0x32CB, 3262 },
+ { 0x32CC, 3988 },
+ { 0x32CD, 3256 },
+ { 0x32CE, 3259 },
+ { 0x32CF, 1726 },
+ { 0x32D0, 3253 },
+ { 0x32D1, 3268 },
+ { 0x32D2, 3271 },
+ { 0x32D3, 1729 },
+ { 0x32D4, 3265 },
+ { 0x32D5, 2161 },
+ { 0x32D6, 2164 },
+ { 0x32D7, 889 },
+ { 0x32D8, 2158 },
+ { 0x32D9, 3601 },
+ { 0x32DA, 3604 },
+ { 0x32DB, 2155 },
+ { 0x32DC, 3598 },
+ { 0x32DD, 3607 },
+ { 0x32DE, 2176 },
+ { 0x32DF, 2170 },
+ { 0x32E0, 2173 },
+ { 0x32E1, 892 },
+ { 0x32E2, 2167 },
+ { 0x32E3, 2185 },
+ { 0x32E4, 2188 },
+ { 0x32E5, 895 },
+ { 0x32E6, 2179 },
+ { 0x32E7, 3610 },
+ { 0x32E8, 2182 },
+ { 0x32E9, 2197 },
+ { 0x32EA, 2200 },
+ { 0x32EB, 898 },
+ { 0x32EC, 2194 },
+ { 0x32ED, 3616 },
+ { 0x32EE, 3619 },
+ { 0x32EF, 2191 },
+ { 0x32F0, 3613 },
+ { 0x32F1, 3625 },
+ { 0x32F2, 3628 },
+ { 0x32F3, 2212 },
+ { 0x32F4, 3622 },
+ { 0x32F5, 2206 },
+ { 0x32F6, 2209 },
+ { 0x32F7, 901 },
+ { 0x32F8, 2203 },
+ { 0x32F9, 2221 },
+ { 0x32FA, 2224 },
+ { 0x32FB, 904 },
+ { 0x32FC, 2215 },
+ { 0x32FD, 3631 },
+ { 0x32FE, 2218 },
+ { 0x32FF, 2233 },
+ { 0x3300, 2236 },
+ { 0x3301, 907 },
+ { 0x3302, 2227 },
+ { 0x3303, 3634 },
+ { 0x3304, 2230 },
+ { 0x3305, 487 },
+ { 0x3306, 421 },
+ { 0x3307, 469 },
+ { 0x3308, 550 },
+ { 0x3309, 451 },
+ { 0x330A, 493 },
+ { 0x330B, 526 },
+ { 0x330C, 457 },
+ { 0x330D, 424 },
+ { 0x330E, 532 },
+ { 0x330F, 475 },
+ { 0x3310, 517 },
+ { 0x3311, 478 },
+ { 0x3312, 436 },
+ { 0x3313, 481 },
+ { 0x3314, 538 },
+ { 0x3315, 496 },
+ { 0x3316, 412 },
+ { 0x3317, 511 },
+ { 0x3318, 454 },
+ { 0x3319, 523 },
+ { 0x331A, 442 },
+ { 0x331B, 529 },
+ { 0x331C, 553 },
+ { 0x331D, 430 },
+ { 0x331E, 427 },
+ { 0x331F, 544 },
+ { 0x3320, 508 },
+ { 0x3321, 484 },
+ { 0x3322, 463 },
+ { 0x3323, 505 },
+ { 0x3324, 502 },
+ { 0x3325, 490 },
+ { 0x3326, 499 },
+ { 0x3327, 439 },
+ { 0x3328, 415 },
+ { 0x3329, 556 },
+ { 0x332A, 466 },
+ { 0x332B, 460 },
+ { 0x332C, 541 },
+ { 0x332D, 433 },
+ { 0x332E, 409 },
+ { 0x332F, 565 },
+ { 0x3330, 472 },
+ { 0x3331, 406 },
+ { 0x3332, 520 },
+ { 0x3333, 448 },
+ { 0x3334, 535 },
+ { 0x3335, 559 },
+ { 0x3336, 514 },
+ { 0x3337, 562 },
+ { 0x3338, 445 },
+ { 0x3339, 568 },
+ { 0x333A, 547 },
+ { 0x333B, 418 },
+ { 0x333C, 13143 },
+ { 0x333D, 13182 },
+ { 0x333E, 13227 },
+ { 0x333F, 13149 },
+ { 0x3340, 13188 },
+ { 0x3341, 13233 },
+ { 0x3342, 13158 },
+ { 0x3343, 13167 },
+ { 0x3344, 13221 },
+ { 0x3345, 13164 },
+ { 0x3346, 13146 },
+ { 0x3347, 13209 },
+ { 0x3348, 13212 },
+ { 0x3349, 13236 },
+ { 0x334A, 13272 },
+ { 0x334B, 13173 },
+ { 0x334C, 13176 },
+ { 0x334D, 13170 },
+ { 0x334E, 13185 },
+ { 0x334F, 13239 },
+ { 0x3350, 13206 },
+ { 0x3351, 13224 },
+ { 0x3352, 13161 },
+ { 0x3353, 13200 },
+ { 0x3354, 13218 },
+ { 0x3355, 13155 },
+ { 0x3356, 13197 },
+ { 0x3357, 13230 },
+ { 0x3358, 13203 },
+ { 0x3359, 13215 },
+ { 0x335A, 13125 },
+ { 0x335B, 13140 },
+ { 0x335C, 13128 },
+ { 0x335D, 13152 },
+ { 0x335E, 13131 },
+ { 0x335F, 13134 },
+ { 0x3360, 13137 },
+ { 0x3361, 13191 },
+ { 0x3362, 13194 },
+ { 0x3363, 13179 },
+ { 0x3364, 13257 },
+ { 0x3365, 13242 },
+ { 0x3366, 13262 },
+ { 0x3367, 13247 },
+ { 0x3368, 13252 },
+ { 0x3369, 13267 },
+ { 0x336A, 13279 },
+ { 0x336B, 13275 },
+ { 0x336C, 11065 },
+ { 0x336D, 11374 },
+ { 0x336E, 11410 },
+ { 0x336F, 11602 },
+ { 0x3370, 11773 },
+ { 0x3371, 11539 },
+ { 0x3372, 11647 },
+ { 0x3373, 11326 },
+ { 0x3374, 11698 },
+ { 0x3375, 11689 },
+ { 0x3376, 11791 },
+ { 0x3377, 11674 },
+ { 0x3378, 11377 },
+ { 0x3379, 11593 },
+ { 0x337A, 11572 },
+ { 0x337B, 11767 },
+ { 0x337C, 11653 },
+ { 0x337D, 11785 },
+ { 0x337E, 11458 },
+ { 0x337F, 11545 },
+ { 0x3380, 11353 },
+ { 0x3381, 11719 },
+ { 0x3382, 11551 },
+ { 0x3383, 11761 },
+ { 0x3384, 11626 },
+ { 0x3385, 11779 },
+ { 0x3386, 11347 },
+ { 0x3387, 11428 },
+ { 0x3388, 11749 },
+ { 0x3389, 11620 },
+ { 0x338A, 11437 },
+ { 0x338B, 11817 },
+ { 0x338C, 11398 },
+ { 0x338D, 11479 },
+ { 0x338E, 11500 },
+ { 0x338F, 11755 },
+ { 0x3390, 11008 },
+ { 0x3391, 11116 },
+ { 0x3392, 11107 },
+ { 0x3393, 11416 },
+ { 0x3394, 11287 },
+ { 0x3395, 11608 },
+ { 0x3396, 11209 },
+ { 0x3397, 11335 },
+ { 0x3398, 11026 },
+ { 0x3399, 11470 },
+ { 0x339A, 11449 },
+ { 0x339B, 11710 },
+ { 0x339C, 11389 },
+ { 0x339D, 11077 },
+ { 0x339E, 11272 },
+ { 0x339F, 11254 },
+ { 0x33A0, 11581 },
+ { 0x33A1, 11362 },
+ { 0x33A2, 11662 },
+ { 0x33A3, 11155 },
+ { 0x33A4, 11224 },
+ { 0x33A5, 11056 },
+ { 0x33A6, 11491 },
+ { 0x33A7, 11239 },
+ { 0x33A8, 11560 },
+ { 0x33A9, 11317 },
+ { 0x33AA, 11635 },
+ { 0x33AB, 11041 },
+ { 0x33AC, 11125 },
+ { 0x33AD, 11509 },
+ { 0x33AE, 11302 },
+ { 0x33AF, 11140 },
+ { 0x33B0, 11737 },
+ { 0x33B1, 11092 },
+ { 0x33B2, 11170 },
+ { 0x33B3, 11188 },
+ { 0x33B4, 11527 },
+ { 0x33B5, 11002 },
+ { 0x33B6, 11017 },
+ { 0x33B7, 11725 },
+ { 0x33B8, 11101 },
+ { 0x33B9, 11407 },
+ { 0x33BA, 11281 },
+ { 0x33BB, 11599 },
+ { 0x33BC, 11203 },
+ { 0x33BD, 11329 },
+ { 0x33BE, 11020 },
+ { 0x33BF, 11464 },
+ { 0x33C0, 11443 },
+ { 0x33C1, 11686 },
+ { 0x33C2, 11704 },
+ { 0x33C3, 11383 },
+ { 0x33C4, 11071 },
+ { 0x33C5, 11266 },
+ { 0x33C6, 11248 },
+ { 0x33C7, 11575 },
+ { 0x33C8, 11356 },
+ { 0x33C9, 11656 },
+ { 0x33CA, 11149 },
+ { 0x33CB, 11218 },
+ { 0x33CC, 11050 },
+ { 0x33CD, 11485 },
+ { 0x33CE, 11233 },
+ { 0x33CF, 11554 },
+ { 0x33D0, 11311 },
+ { 0x33D1, 11629 },
+ { 0x33D2, 11035 },
+ { 0x33D3, 11119 },
+ { 0x33D4, 11503 },
+ { 0x33D5, 11296 },
+ { 0x33D6, 11134 },
+ { 0x33D7, 11434 },
+ { 0x33D8, 11731 },
+ { 0x33D9, 11086 },
+ { 0x33DA, 11164 },
+ { 0x33DB, 11179 },
+ { 0x33DC, 11521 },
+ { 0x33DD, 11200 },
+ { 0x33DE, 11536 },
+ { 0x33DF, 11422 },
+ { 0x33E0, 11614 },
+ { 0x33E1, 11776 },
+ { 0x33E2, 11542 },
+ { 0x33E3, 11650 },
+ { 0x33E4, 11344 },
+ { 0x33E5, 11701 },
+ { 0x33E6, 11695 },
+ { 0x33E7, 11794 },
+ { 0x33E8, 11683 },
+ { 0x33E9, 11380 },
+ { 0x33EA, 11596 },
+ { 0x33EB, 11590 },
+ { 0x33EC, 11770 },
+ { 0x33ED, 11671 },
+ { 0x33EE, 11788 },
+ { 0x33EF, 11461 },
+ { 0x33F0, 11548 },
+ { 0x33F1, 11371 },
+ { 0x33F2, 11722 },
+ { 0x33F3, 11569 },
+ { 0x33F4, 11764 },
+ { 0x33F5, 11644 },
+ { 0x33F6, 11782 },
+ { 0x33F7, 11350 },
+ { 0x33F8, 11431 },
+ { 0x33F9, 11752 },
+ { 0x33FA, 11623 },
+ { 0x33FB, 11440 },
+ { 0x33FC, 11823 },
+ { 0x33FD, 11404 },
+ { 0x33FE, 11482 },
+ { 0x33FF, 11518 },
+ { 0x3400, 11758 },
+ { 0x3401, 11014 },
+ { 0x3402, 11263 },
+ { 0x3403, 11113 },
+ { 0x3404, 11425 },
+ { 0x3405, 11293 },
+ { 0x3406, 11617 },
+ { 0x3407, 11215 },
+ { 0x3408, 11341 },
+ { 0x3409, 11032 },
+ { 0x340A, 11476 },
+ { 0x340B, 11455 },
+ { 0x340C, 11716 },
+ { 0x340D, 11395 },
+ { 0x340E, 11083 },
+ { 0x340F, 11278 },
+ { 0x3410, 11260 },
+ { 0x3411, 11587 },
+ { 0x3412, 11368 },
+ { 0x3413, 11668 },
+ { 0x3414, 11161 },
+ { 0x3415, 11230 },
+ { 0x3416, 11062 },
+ { 0x3417, 11497 },
+ { 0x3418, 11245 },
+ { 0x3419, 11566 },
+ { 0x341A, 11323 },
+ { 0x341B, 11641 },
+ { 0x341C, 11047 },
+ { 0x341D, 11131 },
+ { 0x341E, 11515 },
+ { 0x341F, 11308 },
+ { 0x3420, 11146 },
+ { 0x3421, 11743 },
+ { 0x3422, 11098 },
+ { 0x3423, 11176 },
+ { 0x3424, 11194 },
+ { 0x3425, 11533 },
+ { 0x3426, 11011 },
+ { 0x3427, 11197 },
+ { 0x3428, 11746 },
+ { 0x3429, 11110 },
+ { 0x342A, 11419 },
+ { 0x342B, 11290 },
+ { 0x342C, 11611 },
+ { 0x342D, 11212 },
+ { 0x342E, 11338 },
+ { 0x342F, 11029 },
+ { 0x3430, 11473 },
+ { 0x3431, 11452 },
+ { 0x3432, 11713 },
+ { 0x3433, 11392 },
+ { 0x3434, 11680 },
+ { 0x3435, 11080 },
+ { 0x3436, 11275 },
+ { 0x3437, 11257 },
+ { 0x3438, 11584 },
+ { 0x3439, 11365 },
+ { 0x343A, 11665 },
+ { 0x343B, 11158 },
+ { 0x343C, 11227 },
+ { 0x343D, 11059 },
+ { 0x343E, 11494 },
+ { 0x343F, 11242 },
+ { 0x3440, 11563 },
+ { 0x3441, 11320 },
+ { 0x3442, 11638 },
+ { 0x3443, 11044 },
+ { 0x3444, 11128 },
+ { 0x3445, 11512 },
+ { 0x3446, 11305 },
+ { 0x3447, 11143 },
+ { 0x3448, 11740 },
+ { 0x3449, 11095 },
+ { 0x344A, 11173 },
+ { 0x344B, 11191 },
+ { 0x344C, 11530 },
+ { 0x344D, 11005 },
+ { 0x344E, 11068 },
+ { 0x344F, 11728 },
+ { 0x3450, 11104 },
+ { 0x3451, 11413 },
+ { 0x3452, 11284 },
+ { 0x3453, 11605 },
+ { 0x3454, 11206 },
+ { 0x3455, 11332 },
+ { 0x3456, 11023 },
+ { 0x3457, 11467 },
+ { 0x3458, 11446 },
+ { 0x3459, 11692 },
+ { 0x345A, 11707 },
+ { 0x345B, 11386 },
+ { 0x345C, 11677 },
+ { 0x345D, 11074 },
+ { 0x345E, 11269 },
+ { 0x345F, 11251 },
+ { 0x3460, 11578 },
+ { 0x3461, 11359 },
+ { 0x3462, 11659 },
+ { 0x3463, 11152 },
+ { 0x3464, 11221 },
+ { 0x3465, 11053 },
+ { 0x3466, 11488 },
+ { 0x3467, 11236 },
+ { 0x3468, 11557 },
+ { 0x3469, 11314 },
+ { 0x346A, 11632 },
+ { 0x346B, 11038 },
+ { 0x346C, 11122 },
+ { 0x346D, 11506 },
+ { 0x346E, 11299 },
+ { 0x346F, 11137 },
+ { 0x3470, 11734 },
+ { 0x3471, 11820 },
+ { 0x3472, 11089 },
+ { 0x3473, 11401 },
+ { 0x3474, 11167 },
+ { 0x3475, 11182 },
+ { 0x3476, 11524 },
+ { 0x3477, 11185 },
+ { 0x3478, 11826 },
+ { 0x3479, 10928 },
+ { 0x347A, 10925 },
+ { 0x347B, 10999 },
+ { 0x347C, 11801 },
+ { 0x347D, 11805 },
+ { 0x347E, 11813 },
+ { 0x347F, 10993 },
+ { 0x3480, 10996 },
+ { 0x3481, 10984 },
+ { 0x3482, 10963 },
+ { 0x3483, 10969 },
+ { 0x3484, 10960 },
+ { 0x3485, 10966 },
+ { 0x3486, 10972 },
+ { 0x3487, 10990 },
+ { 0x3488, 10981 },
+ { 0x3489, 10987 },
+ { 0x348A, 10975 },
+ { 0x348B, 10978 },
+ { 0x348C, 10948 },
+ { 0x348D, 10930 },
+ { 0x348E, 10936 },
+ { 0x348F, 10957 },
+ { 0x3490, 10942 },
+ { 0x3491, 10939 },
+ { 0x3492, 10933 },
+ { 0x3493, 10954 },
+ { 0x3494, 10951 },
+ { 0x3495, 10945 },
+ { 0x3496, 11809 },
+ { 0x3497, 11797 },
+ { 0x3498, 71985 },
+ { 0x3499, 71039 },
+ { 0x349A, 71893 },
+ { 0x349B, 70947 },
+ { 0x349C, 72065 },
+ { 0x349D, 71123 },
+ { 0x349E, 71764 },
+ { 0x349F, 70818 },
+ { 0x34A0, 71889 },
+ { 0x34A1, 70943 },
+ { 0x34A2, 72124 },
+ { 0x34A3, 71182 },
+ { 0x34A4, 71884 },
+ { 0x34A5, 70938 },
+ { 0x34A6, 72016 },
+ { 0x34A7, 71070 },
+ { 0x34A8, 71862 },
+ { 0x34A9, 70916 },
+ { 0x34AA, 72037 },
+ { 0x34AB, 71091 },
+ { 0x34AC, 72055 },
+ { 0x34AD, 71113 },
+ { 0x34AE, 72021 },
+ { 0x34AF, 71075 },
+ { 0x34B0, 71963 },
+ { 0x34B1, 71017 },
+ { 0x34B2, 71994 },
+ { 0x34B3, 71048 },
+ { 0x34B4, 72042 },
+ { 0x34B5, 71096 },
+ { 0x34B6, 71556 },
+ { 0x34B7, 70610 },
+ { 0x34B8, 72070 },
+ { 0x34B9, 71128 },
+ { 0x34BA, 71822 },
+ { 0x34BB, 70876 },
+ { 0x34BC, 71827 },
+ { 0x34BD, 70881 },
+ { 0x34BE, 71832 },
+ { 0x34BF, 70886 },
+ { 0x34C0, 72119 },
+ { 0x34C1, 71177 },
+ { 0x34C2, 72114 },
+ { 0x34C3, 71172 },
+ { 0x34C4, 71974 },
+ { 0x34C5, 71028 },
+ { 0x34C6, 71227 },
+ { 0x34C7, 88074 },
+ { 0x34C8, 88048 },
+ { 0x34C9, 88258 },
+ { 0x34CA, 88278 },
+ { 0x34CB, 83151 },
+ { 0x34CC, 88253 },
+ { 0x34CD, 88084 },
+ { 0x34CE, 88152 },
+ { 0x34CF, 88092 },
+ { 0x34D0, 88197 },
+ { 0x34D1, 88207 },
+ { 0x34D2, 88202 },
+ { 0x34D3, 88219 },
+ { 0x34D4, 88077 },
+ { 0x34D5, 88268 },
+ { 0x34D6, 71217 },
+ { 0x34D7, 72159 },
+ { 0x34D8, 71612 },
+ { 0x34D9, 70666 },
+ { 0x34DA, 71747 },
+ { 0x34DB, 70801 },
+ { 0x34DC, 71875 },
+ { 0x34DD, 70929 },
+ { 0x34DE, 71735 },
+ { 0x34DF, 70789 },
+ { 0x34E0, 71751 },
+ { 0x34E1, 70805 },
+ { 0x34E2, 71523 },
+ { 0x34E3, 70577 },
+ { 0x34E4, 71701 },
+ { 0x34E5, 70755 },
+ { 0x34E6, 71854 },
+ { 0x34E7, 70908 },
+ { 0x34E8, 71850 },
+ { 0x34E9, 70904 },
+ { 0x34EA, 71842 },
+ { 0x34EB, 70896 },
+ { 0x34EC, 71661 },
+ { 0x34ED, 70715 },
+ { 0x34EE, 71818 },
+ { 0x34EF, 70872 },
+ { 0x34F0, 71969 },
+ { 0x34F1, 71023 },
+ { 0x34F2, 71999 },
+ { 0x34F3, 71053 },
+ { 0x34F4, 81827 },
+ { 0x34F5, 81832 },
+ { 0x34F6, 88104 },
+ { 0x34F7, 88237 },
+ { 0x34F8, 15101 },
+ { 0x34F9, 15122 },
+ { 0x34FA, 15113 },
+ { 0x34FB, 15131 },
+ { 0x34FC, 15116 },
+ { 0x34FD, 15221 },
+ { 0x34FE, 15242 },
+ { 0x34FF, 15110 },
+ { 0x3500, 15209 },
+ { 0x3501, 15104 },
+ { 0x3502, 15134 },
+ { 0x3503, 15164 },
+ { 0x3504, 15227 },
+ { 0x3505, 15302 },
+ { 0x3506, 15314 },
+ { 0x3507, 15317 },
+ { 0x3508, 15239 },
+ { 0x3509, 15272 },
+ { 0x350A, 15320 },
+ { 0x350B, 15107 },
+ { 0x350C, 15236 },
+ { 0x350D, 15152 },
+ { 0x350E, 15308 },
+ { 0x350F, 15173 },
+ { 0x3510, 15329 },
+ { 0x3511, 15305 },
+ { 0x3512, 15263 },
+ { 0x3513, 15194 },
+ { 0x3514, 15290 },
+ { 0x3515, 15161 },
+ { 0x3516, 15323 },
+ { 0x3517, 15254 },
+ { 0x3518, 15233 },
+ { 0x3519, 15257 },
+ { 0x351A, 15182 },
+ { 0x351B, 15281 },
+ { 0x351C, 15260 },
+ { 0x351D, 15293 },
+ { 0x351E, 15278 },
+ { 0x351F, 15284 },
+ { 0x3520, 15215 },
+ { 0x3521, 15251 },
+ { 0x3522, 15212 },
+ { 0x3523, 15185 },
+ { 0x3524, 15170 },
+ { 0x3525, 15140 },
+ { 0x3526, 15146 },
+ { 0x3527, 15158 },
+ { 0x3528, 15299 },
+ { 0x3529, 15218 },
+ { 0x352A, 15191 },
+ { 0x352B, 15338 },
+ { 0x352C, 15275 },
+ { 0x352D, 15206 },
+ { 0x352E, 15230 },
+ { 0x352F, 15296 },
+ { 0x3530, 15119 },
+ { 0x3531, 15188 },
+ { 0x3532, 15179 },
+ { 0x3533, 15155 },
+ { 0x3534, 15137 },
+ { 0x3535, 15167 },
+ { 0x3536, 15200 },
+ { 0x3537, 15128 },
+ { 0x3538, 15269 },
+ { 0x3539, 15224 },
+ { 0x353A, 15203 },
+ { 0x353B, 15143 },
+ { 0x353C, 15176 },
+ { 0x353D, 15125 },
+ { 0x353E, 15149 },
+ { 0x353F, 15266 },
+ { 0x3540, 15248 },
+ { 0x3541, 15197 },
+ { 0x3542, 15245 },
+ { 0x3543, 15287 },
+ { 0x3544, 15326 },
+ { 0x3545, 15332 },
+ { 0x3546, 15311 },
+ { 0x3547, 15335 },
+ { 0x3548, 17707 },
+ { 0x3549, 17711 },
+ { 0x354A, 17702 },
+ { 0x354B, 15094 },
+ { 0x354C, 15097 },
+ { 0x354D, 15099 },
+ { 0x354E, 17715 },
+ { 0x354F, 17704 },
+ { 0x3550, 81780 },
+ { 0x3551, 81804 },
+ { 0x3552, 81786 },
+ { 0x3553, 81810 },
+ { 0x3554, 81768 },
+ { 0x3555, 81792 },
+ { 0x3556, 81774 },
+ { 0x3557, 81798 },
+ { 0x3558, 81890 },
+ { 0x3559, 81043 },
+ { 0x355A, 81000 },
+ { 0x355B, 80956 },
+ { 0x355C, 81859 },
+ { 0x355D, 81896 },
+ { 0x355E, 81049 },
+ { 0x355F, 81006 },
+ { 0x3560, 80962 },
+ { 0x3561, 81865 },
+ { 0x3562, 81903 },
+ { 0x3563, 81056 },
+ { 0x3564, 81013 },
+ { 0x3565, 80984 },
+ { 0x3566, 81872 },
+ { 0x3567, 80888 },
+ { 0x3568, 80884 },
+ { 0x3569, 80893 },
+ { 0x356A, 81110 },
+ { 0x356B, 81606 },
+ { 0x356C, 81611 },
+ { 0x356D, 81626 },
+ { 0x356E, 81620 },
+ { 0x356F, 80973 },
+ { 0x3570, 81641 },
+ { 0x3571, 81635 },
+ { 0x3572, 30207 },
+ { 0x3573, 27145 },
+ { 0x3574, 30202 },
+ { 0x3575, 27140 },
+ { 0x3576, 29940 },
+ { 0x3577, 26426 },
+ { 0x3578, 29879 },
+ { 0x3579, 26240 },
+ { 0x357A, 30173 },
+ { 0x357B, 27094 },
+ { 0x357C, 30177 },
+ { 0x357D, 27098 },
+ { 0x357E, 30181 },
+ { 0x357F, 27102 },
+ { 0x3580, 27241 },
+ { 0x3581, 27323 },
+ { 0x3582, 29798 },
+ { 0x3583, 26105 },
+ { 0x3584, 29818 },
+ { 0x3585, 26125 },
+ { 0x3586, 29822 },
+ { 0x3587, 26129 },
+ { 0x3588, 29826 },
+ { 0x3589, 26133 },
+ { 0x358A, 29830 },
+ { 0x358B, 26137 },
+ { 0x358C, 29837 },
+ { 0x358D, 26144 },
+ { 0x358E, 30151 },
+ { 0x358F, 27008 },
+ { 0x3590, 28442 },
+ { 0x3591, 24379 },
+ { 0x3592, 28470 },
+ { 0x3593, 24414 },
+ { 0x3594, 28448 },
+ { 0x3595, 24385 },
+ { 0x3596, 30036 },
+ { 0x3597, 26650 },
+ { 0x3598, 28515 },
+ { 0x3599, 24465 },
+ { 0x359A, 28799 },
+ { 0x359B, 24847 },
+ { 0x359C, 28807 },
+ { 0x359D, 24855 },
+ { 0x359E, 29871 },
+ { 0x359F, 26209 },
+ { 0x35A0, 29036 },
+ { 0x35A1, 25084 },
+ { 0x35A2, 29044 },
+ { 0x35A3, 25099 },
+ { 0x35A4, 29050 },
+ { 0x35A5, 25105 },
+ { 0x35A6, 29061 },
+ { 0x35A7, 25129 },
+ { 0x35A8, 29069 },
+ { 0x35A9, 25137 },
+ { 0x35AA, 29161 },
+ { 0x35AB, 25271 },
+ { 0x35AC, 29926 },
+ { 0x35AD, 26392 },
+ { 0x35AE, 29579 },
+ { 0x35AF, 25792 },
+ { 0x35B0, 29883 },
+ { 0x35B1, 26260 },
+ { 0x35B2, 30187 },
+ { 0x35B3, 27108 },
+ { 0x35B4, 30022 },
+ { 0x35B5, 26615 },
+ { 0x35B6, 30028 },
+ { 0x35B7, 26621 },
+ { 0x35B8, 29973 },
+ { 0x35B9, 26542 },
+ { 0x35BA, 29851 },
+ { 0x35BB, 26175 },
+ { 0x35BC, 29855 },
+ { 0x35BD, 26183 },
+ { 0x35BE, 29891 },
+ { 0x35BF, 26284 },
+ { 0x35C0, 80881 },
+ { 0x35C1, 26288 },
+ { 0x35C2, 26372 },
+ { 0x35C3, 26376 },
+ { 0x35C4, 26380 },
+ { 0x35C5, 26388 },
+ { 0x35C6, 27383 },
+ { 0x35C7, 26403 },
+ { 0x35C8, 26252 },
+ { 0x35C9, 30102 },
+ { 0x35CA, 26923 },
+ { 0x35CB, 30107 },
+ { 0x35CC, 26928 },
+ { 0x35CD, 30112 },
+ { 0x35CE, 30086 },
+ { 0x35CF, 26886 },
+ { 0x35D0, 30061 },
+ { 0x35D1, 26761 },
+ { 0x35D2, 30117 },
+ { 0x35D3, 26938 },
+ { 0x35D4, 30122 },
+ { 0x35D5, 26943 },
+ { 0x35D6, 30127 },
+ { 0x35D7, 26948 },
+ { 0x35D8, 80990 },
+ { 0x35D9, 81099 },
+ { 0x35DA, 81135 },
+ { 0x35DB, 30169 },
+ { 0x35DC, 27050 },
+ { 0x35DD, 30051 },
+ { 0x35DE, 24561 },
+ { 0x35DF, 27512 },
+ { 0x35E0, 28704 },
+ { 0x35E1, 24724 },
+ { 0x35E2, 27792 },
+ { 0x35E3, 23640 },
+ { 0x35E4, 23697 },
+ { 0x35E5, 24176 },
+ { 0x35E6, 27782 },
+ { 0x35E7, 23630 },
+ { 0x35E8, 28131 },
+ { 0x35E9, 24034 },
+ { 0x35EA, 30136 },
+ { 0x35EB, 26968 },
+ { 0x35EC, 30141 },
+ { 0x35ED, 26973 },
+ { 0x35EE, 30146 },
+ { 0x35EF, 26978 },
+ { 0x35F0, 28190 },
+ { 0x35F1, 24100 },
+ { 0x35F2, 28463 },
+ { 0x35F3, 24400 },
+ { 0x35F4, 28697 },
+ { 0x35F5, 24710 },
+ { 0x35F6, 29147 },
+ { 0x35F7, 25229 },
+ { 0x35F8, 29244 },
+ { 0x35F9, 25373 },
+ { 0x35FA, 28221 },
+ { 0x35FB, 30163 },
+ { 0x35FC, 30041 },
+ { 0x35FD, 28509 },
+ { 0x35FE, 30056 },
+ { 0x35FF, 30071 },
+ { 0x3600, 28400 },
+ { 0x3601, 29887 },
+ { 0x3602, 29931 },
+ { 0x3603, 26407 },
+ { 0x3604, 29997 },
+ { 0x3605, 26574 },
+ { 0x3606, 30335 },
+ { 0x3607, 81675 },
+ { 0x3608, 81556 },
+ { 0x3609, 27406 },
+ { 0x360A, 30325 },
+ { 0x360B, 30330 },
+ { 0x360C, 30320 },
+ { 0x360D, 30310 },
+ { 0x360E, 30315 },
+ { 0x360F, 53404 },
+ { 0x3610, 53412 },
+ { 0x3611, 53375 },
+ { 0x3612, 53420 },
+ { 0x3613, 53408 },
+ { 0x3614, 53416 },
+ { 0x3615, 53367 },
+ { 0x3616, 53448 },
+ { 0x3617, 53504 },
+ { 0x3618, 53436 },
+ { 0x3619, 53496 },
+ { 0x361A, 53371 },
+ { 0x361B, 53428 },
+ { 0x361C, 53484 },
+ { 0x361D, 53444 },
+ { 0x361E, 53500 },
+ { 0x361F, 53520 },
+ { 0x3620, 53528 },
+ { 0x3621, 53488 },
+ { 0x3622, 53524 },
+ { 0x3623, 53476 },
+ { 0x3624, 53516 },
+ { 0x3625, 53432 },
+ { 0x3626, 53492 },
+ { 0x3627, 53460 },
+ { 0x3628, 53464 },
+ { 0x3629, 53508 },
+ { 0x362A, 53424 },
+ { 0x362B, 53480 },
+ { 0x362C, 53456 },
+ { 0x362D, 53468 },
+ { 0x362E, 53452 },
+ { 0x362F, 53512 },
+ { 0x3630, 53472 },
+ { 0x3631, 53440 },
+ { 0x3632, 53379 },
+ { 0x3633, 53389 },
+ { 0x3634, 53394 },
+ { 0x3635, 53384 },
+ { 0x3636, 53399 },
+ { 0x3637, 53532 },
+ { 0x3638, 53536 },
+ { 0x3639, 53540 },
+ { 0x363A, 53544 },
+ { 0x363B, 32102 },
+ { 0x363C, 32092 },
+ { 0x363D, 32112 },
+ { 0x363E, 32107 },
+ { 0x363F, 32097 },
+ { 0x3640, 32117 },
+ { 0x3641, 32088 },
+ { 0x3642, 32126 },
+ { 0x3643, 32084 },
+ { 0x3644, 32122 },
+ { 0x3645, 82424 },
+ { 0x3646, 82475 },
+ { 0x3647, 82415 },
+ { 0x3648, 82478 },
+ { 0x3649, 82403 },
+ { 0x364A, 82463 },
+ { 0x364B, 82421 },
+ { 0x364C, 82484 },
+ { 0x364D, 82448 },
+ { 0x364E, 82493 },
+ { 0x364F, 82406 },
+ { 0x3650, 82433 },
+ { 0x3651, 82436 },
+ { 0x3652, 82487 },
+ { 0x3653, 82400 },
+ { 0x3654, 82430 },
+ { 0x3655, 82496 },
+ { 0x3656, 82505 },
+ { 0x3657, 82469 },
+ { 0x3658, 82451 },
+ { 0x3659, 82502 },
+ { 0x365A, 82460 },
+ { 0x365B, 82511 },
+ { 0x365C, 82457 },
+ { 0x365D, 82442 },
+ { 0x365E, 82427 },
+ { 0x365F, 82490 },
+ { 0x3660, 82445 },
+ { 0x3661, 82418 },
+ { 0x3662, 82385 },
+ { 0x3663, 82391 },
+ { 0x3664, 82397 },
+ { 0x3665, 82388 },
+ { 0x3666, 82394 },
+ { 0x3667, 82439 },
+ { 0x3668, 82454 },
+ { 0x3669, 82412 },
+ { 0x366A, 82472 },
+ { 0x366B, 82409 },
+ { 0x366C, 82542 },
+ { 0x366D, 82546 },
+ { 0x366E, 82499 },
+ { 0x366F, 82508 },
+ { 0x3670, 82466 },
+ { 0x3671, 82481 },
+ { 0x3672, 82519 },
+ { 0x3673, 82527 },
+ { 0x3674, 82515 },
+ { 0x3675, 82523 },
+ { 0x3676, 82538 },
+ { 0x3677, 82550 },
+ { 0x3678, 82531 },
+ { 0x3679, 82534 },
+ { 0x367A, 82381 },
+ { 0x367B, 82374 },
+ { 0x367C, 82377 },
+ { 0x367D, 101564 },
+ { 0x367E, 101561 },
+ { 0x367F, 101666 },
+ { 0x3680, 101681 },
+ { 0x3681, 101672 },
+ { 0x3682, 101708 },
+ { 0x3683, 101678 },
+ { 0x3684, 101741 },
+ { 0x3685, 101808 },
+ { 0x3686, 101816 },
+ { 0x3687, 101804 },
+ { 0x3688, 101812 },
+ { 0x3689, 101669 },
+ { 0x368A, 101699 },
+ { 0x368B, 101684 },
+ { 0x368C, 101675 },
+ { 0x368D, 101726 },
+ { 0x368E, 101687 },
+ { 0x368F, 101714 },
+ { 0x3690, 101768 },
+ { 0x3691, 101702 },
+ { 0x3692, 101762 },
+ { 0x3693, 101774 },
+ { 0x3694, 101693 },
+ { 0x3695, 101753 },
+ { 0x3696, 101711 },
+ { 0x3697, 101765 },
+ { 0x3698, 101780 },
+ { 0x3699, 101795 },
+ { 0x369A, 101801 },
+ { 0x369B, 101756 },
+ { 0x369C, 101798 },
+ { 0x369D, 101777 },
+ { 0x369E, 101738 },
+ { 0x369F, 101792 },
+ { 0x36A0, 101696 },
+ { 0x36A1, 101759 },
+ { 0x36A2, 101723 },
+ { 0x36A3, 101729 },
+ { 0x36A4, 101783 },
+ { 0x36A5, 101690 },
+ { 0x36A6, 101750 },
+ { 0x36A7, 101720 },
+ { 0x36A8, 101747 },
+ { 0x36A9, 101732 },
+ { 0x36AA, 101717 },
+ { 0x36AB, 101744 },
+ { 0x36AC, 101786 },
+ { 0x36AD, 101789 },
+ { 0x36AE, 101735 },
+ { 0x36AF, 101705 },
+ { 0x36B0, 101771 },
+ { 0x36B1, 101820 },
+ { 0x36B2, 101615 },
+ { 0x36B3, 101603 },
+ { 0x36B4, 101631 },
+ { 0x36B5, 101611 },
+ { 0x36B6, 101639 },
+ { 0x36B7, 101648 },
+ { 0x36B8, 101658 },
+ { 0x36B9, 101643 },
+ { 0x36BA, 101653 },
+ { 0x36BB, 101599 },
+ { 0x36BC, 101627 },
+ { 0x36BD, 101619 },
+ { 0x36BE, 101607 },
+ { 0x36BF, 101635 },
+ { 0x36C0, 101623 },
+ { 0x36C1, 101558 },
+ { 0x36C2, 101567 },
+ { 0x36C3, 101663 },
+ { 0x36C4, 101587 },
+ { 0x36C5, 101569 },
+ { 0x36C6, 101575 },
+ { 0x36C7, 101596 },
+ { 0x36C8, 101581 },
+ { 0x36C9, 101578 },
+ { 0x36CA, 101572 },
+ { 0x36CB, 101593 },
+ { 0x36CC, 101590 },
+ { 0x36CD, 101584 },
+ { 0x36CE, 88438 },
+ { 0x36CF, 88414 },
+ { 0x36D0, 88422 },
+ { 0x36D1, 88450 },
+ { 0x36D2, 88430 },
+ { 0x36D3, 88426 },
+ { 0x36D4, 88418 },
+ { 0x36D5, 88446 },
+ { 0x36D6, 88442 },
+ { 0x36D7, 88434 },
+ { 0x36D8, 88454 },
+ { 0x36D9, 88458 },
+ { 0x36DA, 88462 },
+ { 0x36DB, 88466 },
+ { 0x36DC, 88470 },
+ { 0x36DD, 88474 },
+ { 0x36DE, 88478 },
+ { 0x36DF, 88410 },
+ { 0x36E0, 99591 },
+ { 0x36E1, 99622 },
+ { 0x36E2, 99580 },
+ { 0x36E3, 99614 },
+ { 0x36E4, 99618 },
+ { 0x36E5, 99626 },
+ { 0x36E6, 99608 },
+ { 0x36E7, 99566 },
+ { 0x36E8, 99633 },
+ { 0x36E9, 100035 },
+ { 0x36EA, 99588 },
+ { 0x36EB, 99569 },
+ { 0x36EC, 22588 },
+ { 0x36ED, 22564 },
+ { 0x36EE, 22572 },
+ { 0x36EF, 22600 },
+ { 0x36F0, 22580 },
+ { 0x36F1, 22576 },
+ { 0x36F2, 22568 },
+ { 0x36F3, 22596 },
+ { 0x36F4, 22592 },
+ { 0x36F5, 22584 },
+ { 0x36F6, 22652 },
+ { 0x36F7, 22712 },
+ { 0x36F8, 22644 },
+ { 0x36F9, 22716 },
+ { 0x36FA, 22684 },
+ { 0x36FB, 22728 },
+ { 0x36FC, 22704 },
+ { 0x36FD, 22720 },
+ { 0x36FE, 22688 },
+ { 0x36FF, 22708 },
+ { 0x3700, 22664 },
+ { 0x3701, 22676 },
+ { 0x3702, 22724 },
+ { 0x3703, 22660 },
+ { 0x3704, 22640 },
+ { 0x3705, 22632 },
+ { 0x3706, 22680 },
+ { 0x3707, 22700 },
+ { 0x3708, 22656 },
+ { 0x3709, 22696 },
+ { 0x370A, 22732 },
+ { 0x370B, 22648 },
+ { 0x370C, 22692 },
+ { 0x370D, 22636 },
+ { 0x370E, 22624 },
+ { 0x370F, 22668 },
+ { 0x3710, 22628 },
+ { 0x3711, 22672 },
+ { 0x3712, 22620 },
+ { 0x3713, 22604 },
+ { 0x3714, 22612 },
+ { 0x3715, 22616 },
+ { 0x3716, 22608 },
+ { 0x3717, 22560 },
+ { 0x3718, 22551 },
+ { 0x3719, 22555 },
+ { 0x371A, 22543 },
+ { 0x371B, 22547 },
+ { 0x371C, 52460 },
+ { 0x371D, 52451 },
+ { 0x371E, 52496 },
+ { 0x371F, 52481 },
+ { 0x3720, 52448 },
+ { 0x3721, 52469 },
+ { 0x3722, 52472 },
+ { 0x3723, 52442 },
+ { 0x3724, 52466 },
+ { 0x3725, 52445 },
+ { 0x3726, 52457 },
+ { 0x3727, 52499 },
+ { 0x3728, 52478 },
+ { 0x3729, 52475 },
+ { 0x372A, 52463 },
+ { 0x372B, 52487 },
+ { 0x372C, 52484 },
+ { 0x372D, 52454 },
+ { 0x372E, 52490 },
+ { 0x372F, 52502 },
+ { 0x3730, 52493 },
+ { 0x3731, 52505 },
+ { 0x3732, 52439 },
+ { 0x3733, 52411 },
+ { 0x3734, 52419 },
+ { 0x3735, 52407 },
+ { 0x3736, 52423 },
+ { 0x3737, 52415 },
+ { 0x3738, 52427 },
+ { 0x3739, 52435 },
+ { 0x373A, 52431 },
+ { 0x373B, 52525 },
+ { 0x373C, 52517 },
+ { 0x373D, 52521 },
+ { 0x373E, 52513 },
+ { 0x373F, 52508 },
+ { 0x3740, 52510 },
+ { 0x3741, 45830 },
+ { 0x3742, 45833 },
+ { 0x3743, 45773 },
+ { 0x3744, 45827 },
+ { 0x3745, 45806 },
+ { 0x3746, 45941 },
+ { 0x3747, 45809 },
+ { 0x3748, 45944 },
+ { 0x3749, 45752 },
+ { 0x374A, 45758 },
+ { 0x374B, 45923 },
+ { 0x374C, 45962 },
+ { 0x374D, 45665 },
+ { 0x374E, 45746 },
+ { 0x374F, 45887 },
+ { 0x3750, 45788 },
+ { 0x3751, 45791 },
+ { 0x3752, 45656 },
+ { 0x3753, 45959 },
+ { 0x3754, 45878 },
+ { 0x3755, 45740 },
+ { 0x3756, 45911 },
+ { 0x3757, 45722 },
+ { 0x3758, 45713 },
+ { 0x3759, 45926 },
+ { 0x375A, 45824 },
+ { 0x375B, 45869 },
+ { 0x375C, 45650 },
+ { 0x375D, 45929 },
+ { 0x375E, 79426 },
+ { 0x375F, 79413 },
+ { 0x3760, 79420 },
+ { 0x3761, 79423 },
+ { 0x3762, 79501 },
+ { 0x3763, 79510 },
+ { 0x3764, 79507 },
+ { 0x3765, 79554 },
+ { 0x3766, 79517 },
+ { 0x3767, 79591 },
+ { 0x3768, 79640 },
+ { 0x3769, 79644 },
+ { 0x376A, 79504 },
+ { 0x376B, 79520 },
+ { 0x376C, 79514 },
+ { 0x376D, 79564 },
+ { 0x376E, 79571 },
+ { 0x376F, 79567 },
+ { 0x3770, 79544 },
+ { 0x3771, 79547 },
+ { 0x3772, 79637 },
+ { 0x3773, 79530 },
+ { 0x3774, 79533 },
+ { 0x3775, 79557 },
+ { 0x3776, 79652 },
+ { 0x3777, 79560 },
+ { 0x3778, 79649 },
+ { 0x3779, 79656 },
+ { 0x377A, 79659 },
+ { 0x377B, 79630 },
+ { 0x377C, 79633 },
+ { 0x377D, 79584 },
+ { 0x377E, 79617 },
+ { 0x377F, 79620 },
+ { 0x3780, 79537 },
+ { 0x3781, 79540 },
+ { 0x3782, 79581 },
+ { 0x3783, 79588 },
+ { 0x3784, 79595 },
+ { 0x3785, 79523 },
+ { 0x3786, 79526 },
+ { 0x3787, 79578 },
+ { 0x3788, 79627 },
+ { 0x3789, 79599 },
+ { 0x378A, 79602 },
+ { 0x378B, 79575 },
+ { 0x378C, 79624 },
+ { 0x378D, 79609 },
+ { 0x378E, 79613 },
+ { 0x378F, 79606 },
+ { 0x3790, 79551 },
+ { 0x3791, 79416 },
+ { 0x3792, 79493 },
+ { 0x3793, 79497 },
+ { 0x3794, 79471 },
+ { 0x3795, 79475 },
+ { 0x3796, 79462 },
+ { 0x3797, 79466 },
+ { 0x3798, 79489 },
+ { 0x3799, 79480 },
+ { 0x379A, 79485 },
+ { 0x379B, 79673 },
+ { 0x379C, 79677 },
+ { 0x379D, 79669 },
+ { 0x379E, 79667 },
+ { 0x379F, 79372 },
+ { 0x37A0, 79459 },
+ { 0x37A1, 79382 },
+ { 0x37A2, 79388 },
+ { 0x37A3, 79385 },
+ { 0x37A4, 79395 },
+ { 0x37A5, 79404 },
+ { 0x37A6, 79398 },
+ { 0x37A7, 79401 },
+ { 0x37A8, 79375 },
+ { 0x37A9, 79378 },
+ { 0x37AA, 79407 },
+ { 0x37AB, 79663 },
+ { 0x37AC, 79681 },
+ { 0x37AD, 79447 },
+ { 0x37AE, 79429 },
+ { 0x37AF, 79435 },
+ { 0x37B0, 79456 },
+ { 0x37B1, 79441 },
+ { 0x37B2, 79438 },
+ { 0x37B3, 79432 },
+ { 0x37B4, 79453 },
+ { 0x37B5, 79450 },
+ { 0x37B6, 79444 },
+ { 0x37B7, 79391 },
+ { 0x37B8, 79410 },
+ { 0x37B9, 61223 },
+ { 0x37BA, 61219 },
+ { 0x37BB, 61227 },
+ { 0x37BC, 61235 },
+ { 0x37BD, 61215 },
+ { 0x37BE, 60675 },
+ { 0x37BF, 61443 },
+ { 0x37C0, 61148 },
+ { 0x37C1, 61098 },
+ { 0x37C2, 61103 },
+ { 0x37C3, 61128 },
+ { 0x37C4, 61108 },
+ { 0x37C5, 61133 },
+ { 0x37C6, 61118 },
+ { 0x37C7, 61153 },
+ { 0x37C8, 61143 },
+ { 0x37C9, 60593 },
+ { 0x37CA, 60563 },
+ { 0x37CB, 60573 },
+ { 0x37CC, 60608 },
+ { 0x37CD, 60583 },
+ { 0x37CE, 60578 },
+ { 0x37CF, 60568 },
+ { 0x37D0, 60603 },
+ { 0x37D1, 60598 },
+ { 0x37D2, 60588 },
+ { 0x37D3, 61138 },
+ { 0x37D4, 61093 },
+ { 0x37D5, 61123 },
+ { 0x37D6, 61088 },
+ { 0x37D7, 61113 },
+ { 0x37D8, 12201 },
+ { 0x37D9, 12207 },
+ { 0x37DA, 12213 },
+ { 0x37DB, 12204 },
+ { 0x37DC, 12216 },
+ { 0x37DD, 12210 },
+ { 0x37DE, 12234 },
+ { 0x37DF, 12285 },
+ { 0x37E0, 12225 },
+ { 0x37E1, 12279 },
+ { 0x37E2, 12315 },
+ { 0x37E3, 12291 },
+ { 0x37E4, 12270 },
+ { 0x37E5, 12312 },
+ { 0x37E6, 12231 },
+ { 0x37E7, 12282 },
+ { 0x37E8, 12321 },
+ { 0x37E9, 12294 },
+ { 0x37EA, 12318 },
+ { 0x37EB, 12255 },
+ { 0x37EC, 12309 },
+ { 0x37ED, 12222 },
+ { 0x37EE, 12276 },
+ { 0x37EF, 12297 },
+ { 0x37F0, 12243 },
+ { 0x37F1, 12273 },
+ { 0x37F2, 12246 },
+ { 0x37F3, 12303 },
+ { 0x37F4, 12300 },
+ { 0x37F5, 12219 },
+ { 0x37F6, 12267 },
+ { 0x37F7, 12288 },
+ { 0x37F8, 12240 },
+ { 0x37F9, 12264 },
+ { 0x37FA, 12261 },
+ { 0x37FB, 12249 },
+ { 0x37FC, 12237 },
+ { 0x37FD, 12258 },
+ { 0x37FE, 12306 },
+ { 0x37FF, 12252 },
+ { 0x3800, 12228 },
+ { 0x3801, 12173 },
+ { 0x3802, 12161 },
+ { 0x3803, 12189 },
+ { 0x3804, 12185 },
+ { 0x3805, 12169 },
+ { 0x3806, 12193 },
+ { 0x3807, 12165 },
+ { 0x3808, 12177 },
+ { 0x3809, 12181 },
+ { 0x380A, 12197 },
+ { 0x380B, 12380 },
+ { 0x380C, 12372 },
+ { 0x380D, 12368 },
+ { 0x380E, 12376 },
+ { 0x380F, 12328 },
+ { 0x3810, 12324 },
+ { 0x3811, 12360 },
+ { 0x3812, 12394 },
+ { 0x3813, 12356 },
+ { 0x3814, 12348 },
+ { 0x3815, 12336 },
+ { 0x3816, 12340 },
+ { 0x3817, 12352 },
+ { 0x3818, 12344 },
+ { 0x3819, 12332 },
+ { 0x381A, 12364 },
+ { 0x381B, 12389 },
+ { 0x381C, 12384 },
+ { 0x381D, 12149 },
+ { 0x381E, 12131 },
+ { 0x381F, 12137 },
+ { 0x3820, 12158 },
+ { 0x3821, 12143 },
+ { 0x3822, 12140 },
+ { 0x3823, 12134 },
+ { 0x3824, 12155 },
+ { 0x3825, 12152 },
+ { 0x3826, 12146 },
+ { 0x3827, 12406 },
+ { 0x3828, 12399 },
+ { 0x3829, 12402 },
+ { 0x382A, 12409 },
+ { 0x382B, 61285 },
+ { 0x382C, 61277 },
+ { 0x382D, 61317 },
+ { 0x382E, 61293 },
+ { 0x382F, 61333 },
+ { 0x3830, 61337 },
+ { 0x3831, 61341 },
+ { 0x3832, 61349 },
+ { 0x3833, 61321 },
+ { 0x3834, 61345 },
+ { 0x3835, 61325 },
+ { 0x3836, 61297 },
+ { 0x3837, 61305 },
+ { 0x3838, 61289 },
+ { 0x3839, 61329 },
+ { 0x383A, 61281 },
+ { 0x383B, 61448 },
+ { 0x383C, 61309 },
+ { 0x383D, 61313 },
+ { 0x383E, 61301 },
+ { 0x383F, 61439 },
+ { 0x3840, 61435 },
+ { 0x3841, 61431 },
+ { 0x3842, 61415 },
+ { 0x3843, 61407 },
+ { 0x3844, 61411 },
+ { 0x3845, 61264 },
+ { 0x3846, 60657 },
+ { 0x3847, 60662 },
+ { 0x3848, 60667 },
+ { 0x3849, 61251 },
+ { 0x384A, 61256 },
+ { 0x384B, 10574 },
+ { 0x384C, 10694 },
+ { 0x384D, 10629 },
+ { 0x384E, 10749 },
+ { 0x384F, 10654 },
+ { 0x3850, 10774 },
+ { 0x3851, 10564 },
+ { 0x3852, 10684 },
+ { 0x3853, 10634 },
+ { 0x3854, 10754 },
+ { 0x3855, 10549 },
+ { 0x3856, 10669 },
+ { 0x3857, 10624 },
+ { 0x3858, 10744 },
+ { 0x3859, 10604 },
+ { 0x385A, 10724 },
+ { 0x385B, 10639 },
+ { 0x385C, 10759 },
+ { 0x385D, 10554 },
+ { 0x385E, 10674 },
+ { 0x385F, 10609 },
+ { 0x3860, 10729 },
+ { 0x3861, 10649 },
+ { 0x3862, 10769 },
+ { 0x3863, 10589 },
+ { 0x3864, 10709 },
+ { 0x3865, 10544 },
+ { 0x3866, 10664 },
+ { 0x3867, 10594 },
+ { 0x3868, 10714 },
+ { 0x3869, 10644 },
+ { 0x386A, 10764 },
+ { 0x386B, 10559 },
+ { 0x386C, 10679 },
+ { 0x386D, 10584 },
+ { 0x386E, 10704 },
+ { 0x386F, 10619 },
+ { 0x3870, 10739 },
+ { 0x3871, 10599 },
+ { 0x3872, 10719 },
+ { 0x3873, 10579 },
+ { 0x3874, 10699 },
+ { 0x3875, 10614 },
+ { 0x3876, 10734 },
+ { 0x3877, 10569 },
+ { 0x3878, 10689 },
+ { 0x3879, 10539 },
+ { 0x387A, 10659 },
+ { 0x387B, 10459 },
+ { 0x387C, 10503 },
+ { 0x387D, 10491 },
+ { 0x387E, 10527 },
+ { 0x387F, 10499 },
+ { 0x3880, 10487 },
+ { 0x3881, 10495 },
+ { 0x3882, 10463 },
+ { 0x3883, 10519 },
+ { 0x3884, 10535 },
+ { 0x3885, 10523 },
+ { 0x3886, 10531 },
+ { 0x3887, 10515 },
+ { 0x3888, 10511 },
+ { 0x3889, 10507 },
+ { 0x388A, 10467 },
+ { 0x388B, 10482 },
+ { 0x388C, 10472 },
+ { 0x388D, 10477 },
+ { 0x388E, 10789 },
+ { 0x388F, 10797 },
+ { 0x3890, 10793 },
+ { 0x3891, 10779 },
+ { 0x3892, 10784 },
+ { 0x3893, 51418 },
+ { 0x3894, 51431 },
+ { 0x3895, 51461 },
+ { 0x3896, 51516 },
+ { 0x3897, 51545 },
+ { 0x3898, 51598 },
+ { 0x3899, 51465 },
+ { 0x389A, 51561 },
+ { 0x389B, 51512 },
+ { 0x389C, 51528 },
+ { 0x389D, 51532 },
+ { 0x389E, 51353 },
+ { 0x389F, 51358 },
+ { 0x38A0, 51363 },
+ { 0x38A1, 51348 },
+ { 0x38A2, 51368 },
+ { 0x38A3, 51613 },
+ { 0x38A4, 51304 },
+ { 0x38A5, 51292 },
+ { 0x38A6, 51619 },
+ { 0x38A7, 51299 },
+ { 0x38A8, 51413 },
+ { 0x38A9, 51610 },
+ { 0x38AA, 77319 },
+ { 0x38AB, 77313 },
+ { 0x38AC, 77403 },
+ { 0x38AD, 77406 },
+ { 0x38AE, 77310 },
+ { 0x38AF, 77316 },
+ { 0x38B0, 77124 },
+ { 0x38B1, 77118 },
+ { 0x38B2, 77379 },
+ { 0x38B3, 77382 },
+ { 0x38B4, 77115 },
+ { 0x38B5, 77121 },
+ { 0x38B6, 76542 },
+ { 0x38B7, 76536 },
+ { 0x38B8, 77133 },
+ { 0x38B9, 77136 },
+ { 0x38BA, 76533 },
+ { 0x38BB, 76539 },
+ { 0x38BC, 77364 },
+ { 0x38BD, 77376 },
+ { 0x38BE, 77370 },
+ { 0x38BF, 77409 },
+ { 0x38C0, 77412 },
+ { 0x38C1, 77367 },
+ { 0x38C2, 77373 },
+ { 0x38C3, 76434 },
+ { 0x38C4, 76446 },
+ { 0x38C5, 76440 },
+ { 0x38C6, 77067 },
+ { 0x38C7, 77070 },
+ { 0x38C8, 76437 },
+ { 0x38C9, 76443 },
+ { 0x38CA, 26639 },
+ { 0x38CB, 23568 },
+ { 0x38CC, 27113 },
+ { 0x38CD, 26629 },
+ { 0x38CE, 23929 },
+ { 0x38CF, 26569 },
+ { 0x38D0, 26696 },
+ { 0x38D1, 24546 },
+ { 0x38D2, 24498 },
+ { 0x38D3, 24513 },
+ { 0x38D4, 24621 },
+ { 0x38D5, 24744 },
+ { 0x38D6, 26296 },
+ { 0x38D7, 27118 },
+ { 0x38D8, 27123 },
+ { 0x38D9, 26497 },
+ { 0x38DA, 26988 },
+ { 0x38DB, 26850 },
+ { 0x38DC, 26857 },
+ { 0x38DD, 26779 },
+ { 0x38DE, 26785 },
+ { 0x38DF, 26953 },
+ { 0x38E0, 27315 },
+ { 0x38E1, 25276 },
+ { 0x38E2, 26673 },
+ { 0x38E3, 25265 },
+ { 0x38E4, 26678 },
+ { 0x38E5, 26703 },
+ { 0x38E6, 26708 },
+ { 0x38E7, 26983 },
+ { 0x38E8, 25614 },
+ { 0x38E9, 25505 },
+ { 0x38EA, 26248 },
+ { 0x38EB, 26865 },
+ { 0x38EC, 25576 },
+ { 0x38ED, 26264 },
+ { 0x38EE, 26276 },
+ { 0x38EF, 26268 },
+ { 0x38F0, 25865 },
+ { 0x38F1, 25873 },
+ { 0x38F2, 25881 },
+ { 0x38F3, 25893 },
+ { 0x38F4, 25972 },
+ { 0x38F5, 80868 },
+ { 0x38F6, 81387 },
+ { 0x38F7, 81222 },
+ { 0x38F8, 81208 },
+ { 0x38F9, 81303 },
+ { 0x38FA, 26578 },
+ { 0x38FB, 26998 },
+ { 0x38FC, 26512 },
+ { 0x38FD, 26256 },
+ { 0x38FE, 26993 },
+ { 0x38FF, 20538 },
+ { 0x3900, 69535 },
+ { 0x3901, 69539 },
+ { 0x3902, 69543 },
+ { 0x3903, 69547 },
+ { 0x3904, 69555 },
+ { 0x3905, 69559 },
+ { 0x3906, 69587 },
+ { 0x3907, 69635 },
+ { 0x3908, 69591 },
+ { 0x3909, 69595 },
+ { 0x390A, 69599 },
+ { 0x390B, 69603 },
+ { 0x390C, 69607 },
+ { 0x390D, 69611 },
+ { 0x390E, 69615 },
+ { 0x390F, 69619 },
+ { 0x3910, 69623 },
+ { 0x3911, 69627 },
+ { 0x3912, 69631 },
+ { 0x3913, 69639 },
+ { 0x3914, 69643 },
+ { 0x3915, 69647 },
+ { 0x3916, 69651 },
+ { 0x3917, 69655 },
+ { 0x3918, 69659 },
+ { 0x3919, 69663 },
+ { 0x391A, 69667 },
+ { 0x391B, 69671 },
+ { 0x391C, 69675 },
+ { 0x391D, 69679 },
+ { 0x391E, 69687 },
+ { 0x391F, 69799 },
+ { 0x3920, 69803 },
+ { 0x3921, 69691 },
+ { 0x3922, 69695 },
+ { 0x3923, 69699 },
+ { 0x3924, 69703 },
+ { 0x3925, 69707 },
+ { 0x3926, 69807 },
+ { 0x3927, 69811 },
+ { 0x3928, 69815 },
+ { 0x3929, 69819 },
+ { 0x392A, 69823 },
+ { 0x392B, 69827 },
+ { 0x392C, 69711 },
+ { 0x392D, 69551 },
+ { 0x392E, 69715 },
+ { 0x392F, 69719 },
+ { 0x3930, 69723 },
+ { 0x3931, 69727 },
+ { 0x3932, 69731 },
+ { 0x3933, 69563 },
+ { 0x3934, 69735 },
+ { 0x3935, 69567 },
+ { 0x3936, 69739 },
+ { 0x3937, 69571 },
+ { 0x3938, 69743 },
+ { 0x3939, 69575 },
+ { 0x393A, 69579 },
+ { 0x393B, 69583 },
+ { 0x393C, 69795 },
+ { 0x393D, 69831 },
+ { 0x393E, 69835 },
+ { 0x393F, 69839 },
+ { 0x3940, 69843 },
+ { 0x3941, 69847 },
+ { 0x3942, 69851 },
+ { 0x3943, 69855 },
+ { 0x3944, 69859 },
+ { 0x3945, 69863 },
+ { 0x3946, 69867 },
+ { 0x3947, 69871 },
+ { 0x3948, 69875 },
+ { 0x3949, 69747 },
+ { 0x394A, 69751 },
+ { 0x394B, 69755 },
+ { 0x394C, 69759 },
+ { 0x394D, 69763 },
+ { 0x394E, 69767 },
+ { 0x394F, 69771 },
+ { 0x3950, 51485 },
+ { 0x3951, 51524 },
+ { 0x3952, 51494 },
+ { 0x3953, 51503 },
+ { 0x3954, 51448 },
+ { 0x3955, 51439 },
+ { 0x3956, 51557 },
+ { 0x3957, 51536 },
+ { 0x3958, 51577 },
+ { 0x3959, 51581 },
+ { 0x395A, 51594 },
+ { 0x395B, 51549 },
+ { 0x395C, 51602 },
+ { 0x395D, 51477 },
+ { 0x395E, 51457 },
+ { 0x395F, 51422 },
+ { 0x3960, 51590 },
+ { 0x3961, 51606 },
+ { 0x3962, 51473 },
+ { 0x3963, 51573 },
+ { 0x3964, 51520 },
+ { 0x3965, 51435 },
+ { 0x3966, 51481 },
+ { 0x3967, 51469 },
+ { 0x3968, 51569 },
+ { 0x3969, 51565 },
+ { 0x396A, 51553 },
+ { 0x396B, 51489 },
+ { 0x396C, 51498 },
+ { 0x396D, 51507 },
+ { 0x396E, 51452 },
+ { 0x396F, 51443 },
+ { 0x3970, 51540 },
+ { 0x3971, 51585 },
+ { 0x3972, 51426 },
+ { 0x3973, 51388 },
+ { 0x3974, 51378 },
+ { 0x3975, 51373 },
+ { 0x3976, 51398 },
+ { 0x3977, 51403 },
+ { 0x3978, 51393 },
+ { 0x3979, 51408 },
+ { 0x397A, 51383 },
+ { 0x397B, 51616 },
+ { 0x397C, 51288 },
+ { 0x397D, 51295 },
+ { 0x397E, 51332 },
+ { 0x397F, 51308 },
+ { 0x3980, 51316 },
+ { 0x3981, 51344 },
+ { 0x3982, 51324 },
+ { 0x3983, 51320 },
+ { 0x3984, 51312 },
+ { 0x3985, 51340 },
+ { 0x3986, 51336 },
+ { 0x3987, 51328 },
+ { 0x3988, 46589 },
+ { 0x3989, 46583 },
+ { 0x398A, 46538 },
+ { 0x398B, 46607 },
+ { 0x398C, 46610 },
+ { 0x398D, 46595 },
+ { 0x398E, 46592 },
+ { 0x398F, 46616 },
+ { 0x3990, 46556 },
+ { 0x3991, 46487 },
+ { 0x3992, 46568 },
+ { 0x3993, 46490 },
+ { 0x3994, 46493 },
+ { 0x3995, 46628 },
+ { 0x3996, 46577 },
+ { 0x3997, 46580 },
+ { 0x3998, 46505 },
+ { 0x3999, 46574 },
+ { 0x399A, 46508 },
+ { 0x399B, 46511 },
+ { 0x399C, 46442 },
+ { 0x399D, 46643 },
+ { 0x399E, 46646 },
+ { 0x399F, 46106 },
+ { 0x39A0, 46223 },
+ { 0x39A1, 46142 },
+ { 0x39A2, 46340 },
+ { 0x39A3, 46199 },
+ { 0x39A4, 46145 },
+ { 0x39A5, 46364 },
+ { 0x39A6, 46196 },
+ { 0x39A7, 46271 },
+ { 0x39A8, 46274 },
+ { 0x39A9, 46334 },
+ { 0x39AA, 46346 },
+ { 0x39AB, 46361 },
+ { 0x39AC, 46328 },
+ { 0x39AD, 46352 },
+ { 0x39AE, 46373 },
+ { 0x39AF, 46268 },
+ { 0x39B0, 46379 },
+ { 0x39B1, 46214 },
+ { 0x39B2, 46091 },
+ { 0x39B3, 46301 },
+ { 0x39B4, 46055 },
+ { 0x39B5, 46298 },
+ { 0x39B6, 46085 },
+ { 0x39B7, 46178 },
+ { 0x39B8, 46367 },
+ { 0x39B9, 46115 },
+ { 0x39BA, 46061 },
+ { 0x39BB, 46322 },
+ { 0x39BC, 46109 },
+ { 0x39BD, 46238 },
+ { 0x39BE, 46040 },
+ { 0x39BF, 46358 },
+ { 0x39C0, 46310 },
+ { 0x39C1, 46313 },
+ { 0x39C2, 46190 },
+ { 0x39C3, 46034 },
+ { 0x39C4, 46187 },
+ { 0x39C5, 46193 },
+ { 0x39C6, 46037 },
+ { 0x39C7, 46232 },
+ { 0x39C8, 46376 },
+ { 0x39C9, 46280 },
+ { 0x39CA, 46277 },
+ { 0x39CB, 46067 },
+ { 0x39CC, 46295 },
+ { 0x39CD, 46049 },
+ { 0x39CE, 46175 },
+ { 0x39CF, 46289 },
+ { 0x39D0, 5860 },
+ { 0x39D1, 5863 },
+ { 0x39D2, 5866 },
+ { 0x39D3, 5869 },
+ { 0x39D4, 5872 },
+ { 0x39D5, 27164 },
+ { 0x39D6, 27168 },
+ { 0x39D7, 27172 },
+ { 0x39D8, 27188 },
+ { 0x39D9, 27192 },
+ { 0x39DA, 27196 },
+ { 0x39DB, 27184 },
+ { 0x39DC, 65949 },
+ { 0x39DD, 65939 },
+ { 0x39DE, 65944 },
+ { 0x39DF, 65959 },
+ { 0x39E0, 65954 },
+ { 0x39E1, 47033 },
+ { 0x39E2, 46823 },
+ { 0x39E3, 47239 },
+ { 0x39E4, 47221 },
+ { 0x39E5, 47120 },
+ { 0x39E6, 47128 },
+ { 0x39E7, 47108 },
+ { 0x39E8, 47112 },
+ { 0x39E9, 47137 },
+ { 0x39EA, 47132 },
+ { 0x39EB, 47124 },
+ { 0x39EC, 47116 },
+ { 0x39ED, 47225 },
+ { 0x39EE, 47081 },
+ { 0x39EF, 47075 },
+ { 0x39F0, 47100 },
+ { 0x39F1, 47092 },
+ { 0x39F2, 47051 },
+ { 0x39F3, 47056 },
+ { 0x39F4, 47046 },
+ { 0x39F5, 46956 },
+ { 0x39F6, 47184 },
+ { 0x39F7, 47144 },
+ { 0x39F8, 46930 },
+ { 0x39F9, 47025 },
+ { 0x39FA, 47208 },
+ { 0x39FB, 47012 },
+ { 0x39FC, 47038 },
+ { 0x39FD, 47163 },
+ { 0x39FE, 46972 },
+ { 0x39FF, 47192 },
+ { 0x3A00, 46980 },
+ { 0x3A01, 46988 },
+ { 0x3A02, 47216 },
+ { 0x3A03, 47153 },
+ { 0x3A04, 46943 },
+ { 0x3A05, 47200 },
+ { 0x3A06, 46996 },
+ { 0x3A07, 47067 },
+ { 0x3A08, 47087 },
+ { 0x3A09, 47004 },
+ { 0x3A0A, 47020 },
+ { 0x3A0B, 46951 },
+ { 0x3A0C, 46967 },
+ { 0x3A0D, 46938 },
+ { 0x3A0E, 47230 },
+ { 0x3A0F, 37264 },
+ { 0x3A10, 37258 },
+ { 0x3A11, 37309 },
+ { 0x3A12, 37294 },
+ { 0x3A13, 37304 },
+ { 0x3A14, 37299 },
+ { 0x3A15, 36579 },
+ { 0x3A16, 36564 },
+ { 0x3A17, 36574 },
+ { 0x3A18, 36569 },
+ { 0x3A19, 37790 },
+ { 0x3A1A, 37775 },
+ { 0x3A1B, 37785 },
+ { 0x3A1C, 37780 },
+ { 0x3A1D, 38170 },
+ { 0x3A1E, 38155 },
+ { 0x3A1F, 38165 },
+ { 0x3A20, 38160 },
+ { 0x3A21, 38134 },
+ { 0x3A22, 38119 },
+ { 0x3A23, 38129 },
+ { 0x3A24, 38124 },
+ { 0x3A25, 37747 },
+ { 0x3A26, 37732 },
+ { 0x3A27, 37742 },
+ { 0x3A28, 37737 },
+ { 0x3A29, 36883 },
+ { 0x3A2A, 36868 },
+ { 0x3A2B, 36878 },
+ { 0x3A2C, 36873 },
+ { 0x3A2D, 38026 },
+ { 0x3A2E, 38011 },
+ { 0x3A2F, 38021 },
+ { 0x3A30, 38016 },
+ { 0x3A31, 37345 },
+ { 0x3A32, 37330 },
+ { 0x3A33, 37340 },
+ { 0x3A34, 37335 },
+ { 0x3A35, 37584 },
+ { 0x3A36, 37569 },
+ { 0x3A37, 37579 },
+ { 0x3A38, 37574 },
+ { 0x3A39, 38111 },
+ { 0x3A3A, 38096 },
+ { 0x3A3B, 38106 },
+ { 0x3A3C, 38101 },
+ { 0x3A3D, 38255 },
+ { 0x3A3E, 38240 },
+ { 0x3A3F, 38250 },
+ { 0x3A40, 38245 },
+ { 0x3A41, 38147 },
+ { 0x3A42, 38142 },
+ { 0x3A43, 37803 },
+ { 0x3A44, 37798 },
+ { 0x3A45, 36096 },
+ { 0x3A46, 36091 },
+ { 0x3A47, 37322 },
+ { 0x3A48, 37317 },
+ { 0x3A49, 36438 },
+ { 0x3A4A, 36433 },
+ { 0x3A4B, 37597 },
+ { 0x3A4C, 37592 },
+ { 0x3A4D, 37980 },
+ { 0x3A4E, 37965 },
+ { 0x3A4F, 37975 },
+ { 0x3A50, 37970 },
+ { 0x3A51, 36213 },
+ { 0x3A52, 36198 },
+ { 0x3A53, 36208 },
+ { 0x3A54, 36203 },
+ { 0x3A55, 37368 },
+ { 0x3A56, 37353 },
+ { 0x3A57, 37363 },
+ { 0x3A58, 37358 },
+ { 0x3A59, 38003 },
+ { 0x3A5A, 37988 },
+ { 0x3A5B, 37998 },
+ { 0x3A5C, 37993 },
+ { 0x3A5D, 37545 },
+ { 0x3A5E, 37539 },
+ { 0x3A5F, 38049 },
+ { 0x3A60, 38034 },
+ { 0x3A61, 38044 },
+ { 0x3A62, 38039 },
+ { 0x3A63, 36368 },
+ { 0x3A64, 36360 },
+ { 0x3A65, 36348 },
+ { 0x3A66, 36330 },
+ { 0x3A67, 36342 },
+ { 0x3A68, 36336 },
+ { 0x3A69, 36424 },
+ { 0x3A6A, 36406 },
+ { 0x3A6B, 36418 },
+ { 0x3A6C, 36412 },
+ { 0x3A6D, 37104 },
+ { 0x3A6E, 37098 },
+ { 0x3A6F, 37069 },
+ { 0x3A70, 37060 },
+ { 0x3A71, 38300 },
+ { 0x3A72, 38304 },
+ { 0x3A73, 38308 },
+ { 0x3A74, 38313 },
+ { 0x3A75, 38353 },
+ { 0x3A76, 38358 },
+ { 0x3A77, 38363 },
+ { 0x3A78, 38370 },
+ { 0x3A79, 38330 },
+ { 0x3A7A, 38335 },
+ { 0x3A7B, 38377 },
+ { 0x3A7C, 38318 },
+ { 0x3A7D, 38324 },
+ { 0x3A7E, 38340 },
+ { 0x3A7F, 38343 },
+ { 0x3A80, 38348 },
+ { 0x3A81, 35774 },
+ { 0x3A82, 35759 },
+ { 0x3A83, 35769 },
+ { 0x3A84, 35764 },
+ { 0x3A85, 35748 },
+ { 0x3A86, 35743 },
+ { 0x3A87, 35787 },
+ { 0x3A88, 35782 },
+ { 0x3A89, 35813 },
+ { 0x3A8A, 35808 },
+ { 0x3A8B, 35735 },
+ { 0x3A8C, 35800 },
+ { 0x3A8D, 35795 },
+ { 0x3A8E, 38215 },
+ { 0x3A8F, 38209 },
+ { 0x3A90, 38231 },
+ { 0x3A91, 38225 },
+ { 0x3A92, 35721 },
+ { 0x3A93, 35706 },
+ { 0x3A94, 35716 },
+ { 0x3A95, 35711 },
+ { 0x3A96, 38184 },
+ { 0x3A97, 38175 },
+ { 0x3A98, 40587 },
+ { 0x3A99, 40555 },
+ { 0x3A9A, 40415 },
+ { 0x3A9B, 40405 },
+ { 0x3A9C, 40525 },
+ { 0x3A9D, 40515 },
+ { 0x3A9E, 40395 },
+ { 0x3A9F, 40385 },
+ { 0x3AA0, 40435 },
+ { 0x3AA1, 40425 },
+ { 0x3AA2, 40455 },
+ { 0x3AA3, 40445 },
+ { 0x3AA4, 40375 },
+ { 0x3AA5, 40355 },
+ { 0x3AA6, 40365 },
+ { 0x3AA7, 42143 },
+ { 0x3AA8, 42117 },
+ { 0x3AA9, 42130 },
+ { 0x3AAA, 37883 },
+ { 0x3AAB, 37865 },
+ { 0x3AAC, 37877 },
+ { 0x3AAD, 37871 },
+ { 0x3AAE, 40607 },
+ { 0x3AAF, 40475 },
+ { 0x3AB0, 40657 },
+ { 0x3AB1, 40576 },
+ { 0x3AB2, 40545 },
+ { 0x3AB3, 38630 },
+ { 0x3AB4, 38565 },
+ { 0x3AB5, 38653 },
+ { 0x3AB6, 38681 },
+ { 0x3AB7, 38615 },
+ { 0x3AB8, 38600 },
+ { 0x3AB9, 40038 },
+ { 0x3ABA, 39945 },
+ { 0x3ABB, 40080 },
+ { 0x3ABC, 40154 },
+ { 0x3ABD, 39995 },
+ { 0x3ABE, 39980 },
+ { 0x3ABF, 41636 },
+ { 0x3AC0, 41664 },
+ { 0x3AC1, 41628 },
+ { 0x3AC2, 41613 },
+ { 0x3AC3, 40766 },
+ { 0x3AC4, 40847 },
+ { 0x3AC5, 38998 },
+ { 0x3AC6, 39031 },
+ { 0x3AC7, 40898 },
+ { 0x3AC8, 40854 },
+ { 0x3AC9, 40912 },
+ { 0x3ACA, 41471 },
+ { 0x3ACB, 41373 },
+ { 0x3ACC, 41511 },
+ { 0x3ACD, 41577 },
+ { 0x3ACE, 39720 },
+ { 0x3ACF, 39803 },
+ { 0x3AD0, 38786 },
+ { 0x3AD1, 38728 },
+ { 0x3AD2, 38818 },
+ { 0x3AD3, 38832 },
+ { 0x3AD4, 39817 },
+ { 0x3AD5, 39904 },
+ { 0x3AD6, 40701 },
+ { 0x3AD7, 38491 },
+ { 0x3AD8, 38542 },
+ { 0x3AD9, 41732 },
+ { 0x3ADA, 41774 },
+ { 0x3ADB, 38890 },
+ { 0x3ADC, 38846 },
+ { 0x3ADD, 38922 },
+ { 0x3ADE, 38945 },
+ { 0x3ADF, 38875 },
+ { 0x3AE0, 38860 },
+ { 0x3AE1, 39591 },
+ { 0x3AE2, 39671 },
+ { 0x3AE3, 39620 },
+ { 0x3AE4, 39605 },
+ { 0x3AE5, 39186 },
+ { 0x3AE6, 39200 },
+ { 0x3AE7, 39114 },
+ { 0x3AE8, 39214 },
+ { 0x3AE9, 39142 },
+ { 0x3AEA, 39269 },
+ { 0x3AEB, 39178 },
+ { 0x3AEC, 39156 },
+ { 0x3AED, 39490 },
+ { 0x3AEE, 39320 },
+ { 0x3AEF, 39522 },
+ { 0x3AF0, 39577 },
+ { 0x3AF1, 39423 },
+ { 0x3AF2, 39341 },
+ { 0x3AF3, 41025 },
+ { 0x3AF4, 40953 },
+ { 0x3AF5, 41066 },
+ { 0x3AF6, 41096 },
+ { 0x3AF7, 40974 },
+ { 0x3AF8, 40960 },
+ { 0x3AF9, 41258 },
+ { 0x3AFA, 41138 },
+ { 0x3AFB, 41272 },
+ { 0x3AFC, 41319 },
+ { 0x3AFD, 41188 },
+ { 0x3AFE, 41173 },
+ { 0x3AFF, 39060 },
+ { 0x3B00, 39092 },
+ { 0x3B01, 39045 },
+ { 0x3B02, 39038 },
+ { 0x3B03, 40265 },
+ { 0x3B04, 40191 },
+ { 0x3B05, 40279 },
+ { 0x3B06, 40334 },
+ { 0x3B07, 40241 },
+ { 0x3B08, 40226 },
+ { 0x3B09, 41584 },
+ { 0x3B0A, 39678 },
+ { 0x3B0B, 40731 },
+ { 0x3B0C, 42095 },
+ { 0x3B0D, 42102 },
+ { 0x3B0E, 42074 },
+ { 0x3B0F, 42060 },
+ { 0x3B10, 42088 },
+ { 0x3B11, 42109 },
+ { 0x3B12, 40505 },
+ { 0x3B13, 40677 },
+ { 0x3B14, 40627 },
+ { 0x3B15, 40667 },
+ { 0x3B16, 40565 },
+ { 0x3B17, 40535 },
+ { 0x3B18, 38586 },
+ { 0x3B19, 38695 },
+ { 0x3B1A, 38660 },
+ { 0x3B1B, 38688 },
+ { 0x3B1C, 38607 },
+ { 0x3B1D, 38593 },
+ { 0x3B1E, 39966 },
+ { 0x3B1F, 40168 },
+ { 0x3B20, 40133 },
+ { 0x3B21, 40161 },
+ { 0x3B22, 39987 },
+ { 0x3B23, 39973 },
+ { 0x3B24, 41599 },
+ { 0x3B25, 41678 },
+ { 0x3B26, 41643 },
+ { 0x3B27, 41671 },
+ { 0x3B28, 41620 },
+ { 0x3B29, 41606 },
+ { 0x3B2A, 38867 },
+ { 0x3B2B, 38853 },
+ { 0x3B2C, 39612 },
+ { 0x3B2D, 39598 },
+ { 0x3B2E, 39163 },
+ { 0x3B2F, 39121 },
+ { 0x3B30, 39248 },
+ { 0x3B31, 39170 },
+ { 0x3B32, 39149 },
+ { 0x3B33, 39556 },
+ { 0x3B34, 39415 },
+ { 0x3B35, 39334 },
+ { 0x3B36, 40967 },
+ { 0x3B37, 41082 },
+ { 0x3B38, 41159 },
+ { 0x3B39, 41333 },
+ { 0x3B3A, 41298 },
+ { 0x3B3B, 41326 },
+ { 0x3B3C, 41180 },
+ { 0x3B3D, 41166 },
+ { 0x3B3E, 40722 },
+ { 0x3B3F, 40212 },
+ { 0x3B40, 40348 },
+ { 0x3B41, 40313 },
+ { 0x3B42, 40341 },
+ { 0x3B43, 40233 },
+ { 0x3B44, 40219 },
+ { 0x3B45, 40597 },
+ { 0x3B46, 40465 },
+ { 0x3B47, 40617 },
+ { 0x3B48, 40647 },
+ { 0x3B49, 40495 },
+ { 0x3B4A, 38623 },
+ { 0x3B4B, 38558 },
+ { 0x3B4C, 38646 },
+ { 0x3B4D, 38674 },
+ { 0x3B4E, 38579 },
+ { 0x3B4F, 40031 },
+ { 0x3B50, 39938 },
+ { 0x3B51, 40073 },
+ { 0x3B52, 40147 },
+ { 0x3B53, 39959 },
+ { 0x3B54, 41657 },
+ { 0x3B55, 40759 },
+ { 0x3B56, 40840 },
+ { 0x3B57, 38991 },
+ { 0x3B58, 39024 },
+ { 0x3B59, 40891 },
+ { 0x3B5A, 40905 },
+ { 0x3B5B, 41464 },
+ { 0x3B5C, 41366 },
+ { 0x3B5D, 41504 },
+ { 0x3B5E, 41570 },
+ { 0x3B5F, 39713 },
+ { 0x3B60, 39771 },
+ { 0x3B61, 39796 },
+ { 0x3B62, 38779 },
+ { 0x3B63, 38721 },
+ { 0x3B64, 38811 },
+ { 0x3B65, 38825 },
+ { 0x3B66, 39810 },
+ { 0x3B67, 40694 },
+ { 0x3B68, 38484 },
+ { 0x3B69, 38535 },
+ { 0x3B6A, 41725 },
+ { 0x3B6B, 41767 },
+ { 0x3B6C, 38883 },
+ { 0x3B6D, 38839 },
+ { 0x3B6E, 38915 },
+ { 0x3B6F, 38938 },
+ { 0x3B70, 39584 },
+ { 0x3B71, 39664 },
+ { 0x3B72, 39193 },
+ { 0x3B73, 39107 },
+ { 0x3B74, 39207 },
+ { 0x3B75, 39135 },
+ { 0x3B76, 39262 },
+ { 0x3B77, 39483 },
+ { 0x3B78, 39313 },
+ { 0x3B79, 39515 },
+ { 0x3B7A, 39570 },
+ { 0x3B7B, 39327 },
+ { 0x3B7C, 41018 },
+ { 0x3B7D, 40946 },
+ { 0x3B7E, 41059 },
+ { 0x3B7F, 41089 },
+ { 0x3B80, 41251 },
+ { 0x3B81, 41131 },
+ { 0x3B82, 41265 },
+ { 0x3B83, 41312 },
+ { 0x3B84, 41152 },
+ { 0x3B85, 39053 },
+ { 0x3B86, 39085 },
+ { 0x3B87, 39099 },
+ { 0x3B88, 40258 },
+ { 0x3B89, 40184 },
+ { 0x3B8A, 40272 },
+ { 0x3B8B, 40327 },
+ { 0x3B8C, 40205 },
+ { 0x3B8D, 40637 },
+ { 0x3B8E, 40485 },
+ { 0x3B8F, 38667 },
+ { 0x3B90, 38572 },
+ { 0x3B91, 40140 },
+ { 0x3B92, 39952 },
+ { 0x3B93, 41650 },
+ { 0x3B94, 41592 },
+ { 0x3B95, 41563 },
+ { 0x3B96, 41380 },
+ { 0x3B97, 42022 },
+ { 0x3B98, 41856 },
+ { 0x3B99, 39128 },
+ { 0x3B9A, 39255 },
+ { 0x3B9B, 39563 },
+ { 0x3B9C, 41305 },
+ { 0x3B9D, 41145 },
+ { 0x3B9E, 40320 },
+ { 0x3B9F, 40198 },
+ { 0x3BA0, 42067 },
+ { 0x3BA1, 42053 },
+ { 0x3BA2, 42081 },
+ { 0x3BA3, 39846 },
+ { 0x3BA4, 39831 },
+ { 0x3BA5, 38458 },
+ { 0x3BA6, 38443 },
+ { 0x3BA7, 41717 },
+ { 0x3BA8, 41702 },
+ { 0x3BA9, 41430 },
+ { 0x3BAA, 41415 },
+ { 0x3BAB, 41906 },
+ { 0x3BAC, 41891 },
+ { 0x3BAD, 38974 },
+ { 0x3BAE, 38959 },
+ { 0x3BAF, 40795 },
+ { 0x3BB0, 40780 },
+ { 0x3BB1, 40883 },
+ { 0x3BB2, 40868 },
+ { 0x3BB3, 39763 },
+ { 0x3BB4, 39748 },
+ { 0x3BB5, 38771 },
+ { 0x3BB6, 38756 },
+ { 0x3BB7, 41944 },
+ { 0x3BB8, 41849 },
+ { 0x3BB9, 41972 },
+ { 0x3BBA, 42036 },
+ { 0x3BBB, 41877 },
+ { 0x3BBC, 41401 },
+ { 0x3BBD, 39734 },
+ { 0x3BBE, 38742 },
+ { 0x3BBF, 39838 },
+ { 0x3BC0, 39824 },
+ { 0x3BC1, 38450 },
+ { 0x3BC2, 38436 },
+ { 0x3BC3, 41709 },
+ { 0x3BC4, 41695 },
+ { 0x3BC5, 41422 },
+ { 0x3BC6, 41408 },
+ { 0x3BC7, 41898 },
+ { 0x3BC8, 41884 },
+ { 0x3BC9, 38966 },
+ { 0x3BCA, 38952 },
+ { 0x3BCB, 40787 },
+ { 0x3BCC, 40773 },
+ { 0x3BCD, 40875 },
+ { 0x3BCE, 40861 },
+ { 0x3BCF, 39755 },
+ { 0x3BD0, 39741 },
+ { 0x3BD1, 38763 },
+ { 0x3BD2, 38749 },
+ { 0x3BD3, 41923 },
+ { 0x3BD4, 41828 },
+ { 0x3BD5, 41951 },
+ { 0x3BD6, 42015 },
+ { 0x3BD7, 41870 },
+ { 0x3BD8, 41394 },
+ { 0x3BD9, 39727 },
+ { 0x3BDA, 38735 },
+ { 0x3BDB, 41937 },
+ { 0x3BDC, 41842 },
+ { 0x3BDD, 41965 },
+ { 0x3BDE, 42029 },
+ { 0x3BDF, 41387 },
+ { 0x3BE0, 41863 },
+ { 0x3BE1, 39897 },
+ { 0x3BE2, 41457 },
+ { 0x3BE3, 41359 },
+ { 0x3BE4, 41497 },
+ { 0x3BE5, 41930 },
+ { 0x3BE6, 41835 },
+ { 0x3BE7, 41958 },
+ { 0x3BE8, 39890 },
+ { 0x3BE9, 40687 },
+ { 0x3BEA, 40708 },
+ { 0x3BEB, 40715 },
+ { 0x3BEC, 51720 },
+ { 0x3BED, 51723 },
+ { 0x3BEE, 40022 },
+ { 0x3BEF, 39911 },
+ { 0x3BF0, 39920 },
+ { 0x3BF1, 39929 },
+ { 0x3BF2, 40064 },
+ { 0x3BF3, 40115 },
+ { 0x3BF4, 40087 },
+ { 0x3BF5, 40124 },
+ { 0x3BF6, 40803 },
+ { 0x3BF7, 40812 },
+ { 0x3BF8, 39005 },
+ { 0x3BF9, 39014 },
+ { 0x3BFA, 41350 },
+ { 0x3BFB, 41438 },
+ { 0x3BFC, 41447 },
+ { 0x3BFD, 41518 },
+ { 0x3BFE, 41527 },
+ { 0x3BFF, 41536 },
+ { 0x3C00, 41545 },
+ { 0x3C01, 41554 },
+ { 0x3C02, 39686 },
+ { 0x3C03, 39695 },
+ { 0x3C04, 39778 },
+ { 0x3C05, 41810 },
+ { 0x3C06, 41819 },
+ { 0x3C07, 41914 },
+ { 0x3C08, 41979 },
+ { 0x3C09, 41988 },
+ { 0x3C0A, 41997 },
+ { 0x3C0B, 42006 },
+ { 0x3C0C, 38711 },
+ { 0x3C0D, 38793 },
+ { 0x3C0E, 38802 },
+ { 0x3C0F, 39854 },
+ { 0x3C10, 39863 },
+ { 0x3C11, 39881 },
+ { 0x3C12, 39872 },
+ { 0x3C13, 38466 },
+ { 0x3C14, 38517 },
+ { 0x3C15, 38526 },
+ { 0x3C16, 38507 },
+ { 0x3C17, 41758 },
+ { 0x3C18, 41739 },
+ { 0x3C19, 41748 },
+ { 0x3C1A, 38897 },
+ { 0x3C1B, 38906 },
+ { 0x3C1C, 39628 },
+ { 0x3C1D, 39655 },
+ { 0x3C1E, 39295 },
+ { 0x3C1F, 39276 },
+ { 0x3C20, 39285 },
+ { 0x3C21, 39456 },
+ { 0x3C22, 39447 },
+ { 0x3C23, 39497 },
+ { 0x3C24, 39506 },
+ { 0x3C25, 39529 },
+ { 0x3C26, 39538 },
+ { 0x3C27, 40928 },
+ { 0x3C28, 40937 },
+ { 0x3C29, 40919 },
+ { 0x3C2A, 40982 },
+ { 0x3C2B, 41009 },
+ { 0x3C2C, 41041 },
+ { 0x3C2D, 41050 },
+ { 0x3C2E, 41000 },
+ { 0x3C2F, 39067 },
+ { 0x3C30, 39076 },
+ { 0x3C31, 41122 },
+ { 0x3C32, 41112 },
+ { 0x3C33, 41233 },
+ { 0x3C34, 41242 },
+ { 0x3C35, 41223 },
+ { 0x3C36, 41279 },
+ { 0x3C37, 41288 },
+ { 0x3C38, 40295 },
+ { 0x3C39, 40304 },
+ { 0x3C3A, 38637 },
+ { 0x3C3B, 40003 },
+ { 0x3C3C, 40012 },
+ { 0x3C3D, 40045 },
+ { 0x3C3E, 40054 },
+ { 0x3C3F, 40096 },
+ { 0x3C40, 40105 },
+ { 0x3C41, 40821 },
+ { 0x3C42, 40749 },
+ { 0x3C43, 40830 },
+ { 0x3C44, 41487 },
+ { 0x3C45, 39704 },
+ { 0x3C46, 41801 },
+ { 0x3C47, 38702 },
+ { 0x3C48, 39438 },
+ { 0x3C49, 39547 },
+ { 0x3C4A, 40175 },
+ { 0x3C4B, 40249 },
+ { 0x3C4C, 40286 },
+ { 0x3C4D, 41073 },
+ { 0x3C4E, 39646 },
+ { 0x3C4F, 41103 },
+ { 0x3C50, 39637 },
+ { 0x3C51, 39304 },
+ { 0x3C52, 38498 },
+ { 0x3C53, 39221 },
+ { 0x3C54, 41205 },
+ { 0x3C55, 41032 },
+ { 0x3C56, 39474 },
+ { 0x3C57, 39230 },
+ { 0x3C58, 39465 },
+ { 0x3C59, 41196 },
+ { 0x3C5A, 40740 },
+ { 0x3C5B, 38982 },
+ { 0x3C5C, 40991 },
+ { 0x3C5D, 38929 },
+ { 0x3C5E, 38549 },
+ { 0x3C5F, 39239 },
+ { 0x3C60, 38475 },
+ { 0x3C61, 39787 },
+ { 0x3C62, 41478 },
+ { 0x3C63, 41214 },
+ { 0x3C64, 41786 },
+ { 0x3C65, 41340 },
+ { 0x3C66, 41690 },
+ { 0x3C67, 41685 },
+ { 0x3C68, 42156 },
+ { 0x3C69, 41781 },
+ { 0x3C6A, 42048 },
+ { 0x3C6B, 42043 },
+ { 0x3C6C, 42161 },
+ { 0x3C6D, 41796 },
+ { 0x3C6E, 42171 },
+ { 0x3C6F, 42176 },
+ { 0x3C70, 14279 },
+ { 0x3C71, 42166 },
+ { 0x3C72, 111076 },
+ { 0x3C73, 111193 },
+ { 0x3C74, 111186 },
+ { 0x3C75, 111071 },
+ { 0x3C76, 111169 },
+ { 0x3C77, 111180 },
+ { 0x3C78, 111163 },
+ { 0x3C79, 111020 },
+ { 0x3C7A, 111119 },
+ { 0x3C7B, 111174 },
+ { 0x3C7C, 88307 },
+ { 0x3C7D, 88316 },
+ { 0x3C7E, 87855 },
+ { 0x3C7F, 87860 },
+ { 0x3C80, 87918 },
+ { 0x3C81, 87930 },
+ { 0x3C82, 88403 },
+ { 0x3C83, 88311 },
+ { 0x3C84, 88320 },
+ { 0x3C85, 87784 },
+ { 0x3C86, 87792 },
+ { 0x3C87, 87922 },
+ { 0x3C88, 87934 },
+ { 0x3C89, 88406 },
+ { 0x3C8A, 88064 },
+ { 0x3C8B, 88069 },
+ { 0x3C8C, 110983 },
+ { 0x3C8D, 110965 },
+ { 0x3C8E, 110971 },
+ { 0x3C8F, 110977 },
+ { 0x3C90, 111064 },
+ { 0x3C91, 111058 },
+ { 0x3C92, 111157 },
+ { 0x3C93, 111005 },
+ { 0x3C94, 111096 },
+ { 0x3C95, 111050 },
+ { 0x3C96, 111149 },
+ { 0x3C97, 110997 },
+ { 0x3C98, 111088 },
+ { 0x3C99, 111035 },
+ { 0x3C9A, 111134 },
+ { 0x3C9B, 110990 },
+ { 0x3C9C, 111081 },
+ { 0x3C9D, 111028 },
+ { 0x3C9E, 111127 },
+ { 0x3C9F, 111012 },
+ { 0x3CA0, 111103 },
+ { 0x3CA1, 52634 },
+ { 0x3CA2, 34830 },
+ { 0x3CA3, 111043 },
+ { 0x3CA4, 111142 },
+ { 0x3CA5, 44541 },
+ { 0x3CA6, 99545 },
+ { 0x3CA7, 15014 },
+ { 0x3CA8, 44936 },
+ { 0x3CA9, 44538 },
+ { 0x3CAA, 99542 },
+ { 0x3CAB, 15007 },
+ { 0x3CAC, 33414 },
+ { 0x3CAD, 33572 },
+ { 0x3CAE, 33394 },
+ { 0x3CAF, 33564 },
+ { 0x3CB0, 33412 },
+ { 0x3CB1, 33556 },
+ { 0x3CB2, 33569 },
+ { 0x3CB3, 33377 },
+ { 0x3CB4, 33406 },
+ { 0x3CB5, 33425 },
+ { 0x3CB6, 33397 },
+ { 0x3CB7, 33416 },
+ { 0x3CB8, 33401 },
+ { 0x3CB9, 33420 },
+ { 0x3CBA, 33503 },
+ { 0x3CBB, 33559 },
+ { 0x3CBC, 33536 },
+ { 0x3CBD, 33409 },
+ { 0x3CBE, 33578 },
+ { 0x3CBF, 33561 },
+ { 0x3CC0, 33575 },
+ { 0x3CC1, 33500 },
+ { 0x3CC2, 33531 },
+ { 0x3CC3, 33497 },
+ { 0x3CC4, 33528 },
+ { 0x3CC5, 33566 },
+ { 0x3CC6, 38420 },
+ { 0x3CC7, 38407 },
+ { 0x3CC8, 38414 },
+ { 0x3CC9, 35391 },
+ { 0x3CCA, 38432 },
+ { 0x3CCB, 35490 },
+ { 0x3CCC, 35486 },
+ { 0x3CCD, 35456 },
+ { 0x3CCE, 35452 },
+ { 0x3CCF, 35511 },
+ { 0x3CD0, 35507 },
+ { 0x3CD1, 38296 },
+ { 0x3CD2, 38292 },
+ { 0x3CD3, 35669 },
+ { 0x3CD4, 35665 },
+ { 0x3CD5, 37921 },
+ { 0x3CD6, 37223 },
+ { 0x3CD7, 37215 },
+ { 0x3CD8, 37179 },
+ { 0x3CD9, 37171 },
+ { 0x3CDA, 36929 },
+ { 0x3CDB, 36921 },
+ { 0x3CDC, 37201 },
+ { 0x3CDD, 37193 },
+ { 0x3CDE, 37023 },
+ { 0x3CDF, 36999 },
+ { 0x3CE0, 37015 },
+ { 0x3CE1, 37007 },
+ { 0x3CE2, 37286 },
+ { 0x3CE3, 37249 },
+ { 0x3CE4, 35974 },
+ { 0x3CE5, 35959 },
+ { 0x3CE6, 35969 },
+ { 0x3CE7, 35964 },
+ { 0x3CE8, 36854 },
+ { 0x3CE9, 36848 },
+ { 0x3CEA, 36860 },
+ { 0x3CEB, 36824 },
+ { 0x3CEC, 36834 },
+ { 0x3CED, 36829 },
+ { 0x3CEE, 37724 },
+ { 0x3CEF, 37709 },
+ { 0x3CF0, 37719 },
+ { 0x3CF1, 37714 },
+ { 0x3CF2, 37417 },
+ { 0x3CF3, 37402 },
+ { 0x3CF4, 37412 },
+ { 0x3CF5, 37407 },
+ { 0x3CF6, 36311 },
+ { 0x3CF7, 36296 },
+ { 0x3CF8, 36306 },
+ { 0x3CF9, 36301 },
+ { 0x3CFA, 37440 },
+ { 0x3CFB, 37425 },
+ { 0x3CFC, 37435 },
+ { 0x3CFD, 37430 },
+ { 0x3CFE, 36083 },
+ { 0x3CFF, 36078 },
+ { 0x3D00, 37701 },
+ { 0x3D01, 37696 },
+ { 0x3D02, 36722 },
+ { 0x3D03, 36717 },
+ { 0x3D04, 37767 },
+ { 0x3D05, 37762 },
+ { 0x3D06, 37688 },
+ { 0x3D07, 37673 },
+ { 0x3D08, 37683 },
+ { 0x3D09, 37678 },
+ { 0x3D0A, 38078 },
+ { 0x3D0B, 38063 },
+ { 0x3D0C, 38073 },
+ { 0x3D0D, 38068 },
+ { 0x3D0E, 36766 },
+ { 0x3D0F, 36751 },
+ { 0x3D10, 36761 },
+ { 0x3D11, 36756 },
+ { 0x3D12, 36003 },
+ { 0x3D13, 35988 },
+ { 0x3D14, 35998 },
+ { 0x3D15, 35993 },
+ { 0x3D16, 36803 },
+ { 0x3D17, 36788 },
+ { 0x3D18, 36798 },
+ { 0x3D19, 36793 },
+ { 0x3D1A, 37143 },
+ { 0x3D1B, 37128 },
+ { 0x3D1C, 37138 },
+ { 0x3D1D, 37133 },
+ { 0x3D1E, 35874 },
+ { 0x3D1F, 35859 },
+ { 0x3D20, 35869 },
+ { 0x3D21, 35864 },
+ { 0x3D22, 37913 },
+ { 0x3D23, 37898 },
+ { 0x3D24, 37908 },
+ { 0x3D25, 37903 },
+ { 0x3D26, 36165 },
+ { 0x3D27, 36150 },
+ { 0x3D28, 36160 },
+ { 0x3D29, 36155 },
+ { 0x3D2A, 36621 },
+ { 0x3D2B, 36606 },
+ { 0x3D2C, 36616 },
+ { 0x3D2D, 36611 },
+ { 0x3D2E, 36492 },
+ { 0x3D2F, 36477 },
+ { 0x3D30, 36487 },
+ { 0x3D31, 36482 },
+ { 0x3D32, 36552 },
+ { 0x3D33, 36537 },
+ { 0x3D34, 36547 },
+ { 0x3D35, 36542 },
+ { 0x3D36, 37485 },
+ { 0x3D37, 37470 },
+ { 0x3D38, 37480 },
+ { 0x3D39, 37475 },
+ { 0x3D3A, 37561 },
+ { 0x3D3B, 37530 },
+ { 0x3D3C, 37556 },
+ { 0x3D3D, 37551 },
+ { 0x3D3E, 36397 },
+ { 0x3D3F, 36382 },
+ { 0x3D40, 36392 },
+ { 0x3D41, 36387 },
+ { 0x3D42, 36960 },
+ { 0x3D43, 36955 },
+ { 0x3D44, 37280 },
+ { 0x3D45, 37274 },
+ { 0x3D46, 37120 },
+ { 0x3D47, 37044 },
+ { 0x3D48, 37115 },
+ { 0x3D49, 37110 },
+ { 0x3D4A, 39398 },
+ { 0x3D4B, 39388 },
+ { 0x3D4C, 39358 },
+ { 0x3D4D, 39348 },
+ { 0x3D4E, 39378 },
+ { 0x3D4F, 39368 },
+ { 0x3D50, 39431 },
+ { 0x3D51, 39408 },
+ { 0x3D52, 15040 },
+ { 0x3D53, 95469 },
+ { 0x3D54, 95456 },
+ { 0x3D55, 95432 },
+ { 0x3D56, 95424 },
+ { 0x3D57, 95435 },
+ { 0x3D58, 95451 },
+ { 0x3D59, 95461 },
+ { 0x3D5A, 95098 },
+ { 0x3D5B, 95416 },
+ { 0x3D5C, 95443 },
+ { 0x3D5D, 95101 },
+ { 0x3D5E, 95106 },
+ { 0x3D5F, 95475 },
+ { 0x3D60, 95083 },
+ { 0x3D61, 95441 },
+ { 0x3D62, 95126 },
+ { 0x3D63, 95108 },
+ { 0x3D64, 95114 },
+ { 0x3D65, 95135 },
+ { 0x3D66, 95120 },
+ { 0x3D67, 95117 },
+ { 0x3D68, 95111 },
+ { 0x3D69, 95132 },
+ { 0x3D6A, 95129 },
+ { 0x3D6B, 95123 },
+ { 0x3D6C, 95104 },
+ { 0x3D6D, 95459 },
+ { 0x3D6E, 95453 },
+ { 0x3D6F, 95427 },
+ { 0x3D70, 95472 },
+ { 0x3D71, 95445 },
+ { 0x3D72, 95466 },
+ { 0x3D73, 95271 },
+ { 0x3D74, 95276 },
+ { 0x3D75, 95281 },
+ { 0x3D76, 95286 },
+ { 0x3D77, 95291 },
+ { 0x3D78, 95296 },
+ { 0x3D79, 95301 },
+ { 0x3D7A, 95306 },
+ { 0x3D7B, 95311 },
+ { 0x3D7C, 95316 },
+ { 0x3D7D, 95321 },
+ { 0x3D7E, 95326 },
+ { 0x3D7F, 95331 },
+ { 0x3D80, 95336 },
+ { 0x3D81, 95341 },
+ { 0x3D82, 95346 },
+ { 0x3D83, 95351 },
+ { 0x3D84, 95356 },
+ { 0x3D85, 95361 },
+ { 0x3D86, 95366 },
+ { 0x3D87, 95371 },
+ { 0x3D88, 95376 },
+ { 0x3D89, 95381 },
+ { 0x3D8A, 95386 },
+ { 0x3D8B, 95391 },
+ { 0x3D8C, 95396 },
+ { 0x3D8D, 95094 },
+ { 0x3D8E, 95438 },
+ { 0x3D8F, 95412 },
+ { 0x3D90, 95463 },
+ { 0x3D91, 95068 },
+ { 0x3D92, 95138 },
+ { 0x3D93, 95141 },
+ { 0x3D94, 95146 },
+ { 0x3D95, 95151 },
+ { 0x3D96, 95156 },
+ { 0x3D97, 95161 },
+ { 0x3D98, 95166 },
+ { 0x3D99, 95171 },
+ { 0x3D9A, 95176 },
+ { 0x3D9B, 95181 },
+ { 0x3D9C, 95186 },
+ { 0x3D9D, 95191 },
+ { 0x3D9E, 95196 },
+ { 0x3D9F, 95201 },
+ { 0x3DA0, 95206 },
+ { 0x3DA1, 95211 },
+ { 0x3DA2, 95216 },
+ { 0x3DA3, 95221 },
+ { 0x3DA4, 95226 },
+ { 0x3DA5, 95231 },
+ { 0x3DA6, 95236 },
+ { 0x3DA7, 95241 },
+ { 0x3DA8, 95246 },
+ { 0x3DA9, 95251 },
+ { 0x3DAA, 95256 },
+ { 0x3DAB, 95261 },
+ { 0x3DAC, 95266 },
+ { 0x3DAD, 95086 },
+ { 0x3DAE, 95448 },
+ { 0x3DAF, 95404 },
+ { 0x3DB0, 95419 },
+ { 0x3DB1, 95090 },
+ { 0x3DB2, 95408 },
+ { 0x3DB3, 95962 },
+ { 0x3DB4, 95482 },
+ { 0x3DB5, 95493 },
+ { 0x3DB6, 95966 },
+ { 0x3DB7, 95939 },
+ { 0x3DB8, 95878 },
+ { 0x3DB9, 95894 },
+ { 0x3DBA, 95904 },
+ { 0x3DBB, 95914 },
+ { 0x3DBC, 95899 },
+ { 0x3DBD, 95909 },
+ { 0x3DBE, 95924 },
+ { 0x3DBF, 95934 },
+ { 0x3DC0, 95929 },
+ { 0x3DC1, 95919 },
+ { 0x3DC2, 95969 },
+ { 0x3DC3, 95710 },
+ { 0x3DC4, 95718 },
+ { 0x3DC5, 95730 },
+ { 0x3DC6, 95714 },
+ { 0x3DC7, 95726 },
+ { 0x3DC8, 95754 },
+ { 0x3DC9, 95762 },
+ { 0x3DCA, 95770 },
+ { 0x3DCB, 95758 },
+ { 0x3DCC, 95766 },
+ { 0x3DCD, 95834 },
+ { 0x3DCE, 95842 },
+ { 0x3DCF, 95850 },
+ { 0x3DD0, 95838 },
+ { 0x3DD1, 95846 },
+ { 0x3DD2, 95854 },
+ { 0x3DD3, 95862 },
+ { 0x3DD4, 95870 },
+ { 0x3DD5, 95858 },
+ { 0x3DD6, 95866 },
+ { 0x3DD7, 95794 },
+ { 0x3DD8, 95802 },
+ { 0x3DD9, 95810 },
+ { 0x3DDA, 95798 },
+ { 0x3DDB, 95806 },
+ { 0x3DDC, 95734 },
+ { 0x3DDD, 95742 },
+ { 0x3DDE, 95750 },
+ { 0x3DDF, 95738 },
+ { 0x3DE0, 95746 },
+ { 0x3DE1, 95774 },
+ { 0x3DE2, 95782 },
+ { 0x3DE3, 95790 },
+ { 0x3DE4, 95778 },
+ { 0x3DE5, 95786 },
+ { 0x3DE6, 95882 },
+ { 0x3DE7, 95890 },
+ { 0x3DE8, 95886 },
+ { 0x3DE9, 95814 },
+ { 0x3DEA, 95822 },
+ { 0x3DEB, 95830 },
+ { 0x3DEC, 95818 },
+ { 0x3DED, 95826 },
+ { 0x3DEE, 95874 },
+ { 0x3DEF, 95722 },
+ { 0x3DF0, 95943 },
+ { 0x3DF1, 95948 },
+ { 0x3DF2, 95500 },
+ { 0x3DF3, 95619 },
+ { 0x3DF4, 95687 },
+ { 0x3DF5, 95663 },
+ { 0x3DF6, 95607 },
+ { 0x3DF7, 95667 },
+ { 0x3DF8, 95671 },
+ { 0x3DF9, 95623 },
+ { 0x3DFA, 95691 },
+ { 0x3DFB, 95615 },
+ { 0x3DFC, 95695 },
+ { 0x3DFD, 95679 },
+ { 0x3DFE, 95683 },
+ { 0x3DFF, 95651 },
+ { 0x3E00, 95703 },
+ { 0x3E01, 95699 },
+ { 0x3E02, 95675 },
+ { 0x3E03, 95603 },
+ { 0x3E04, 95611 },
+ { 0x3E05, 95659 },
+ { 0x3E06, 95647 },
+ { 0x3E07, 95587 },
+ { 0x3E08, 95643 },
+ { 0x3E09, 95599 },
+ { 0x3E0A, 95591 },
+ { 0x3E0B, 95655 },
+ { 0x3E0C, 95627 },
+ { 0x3E0D, 95631 },
+ { 0x3E0E, 95639 },
+ { 0x3E0F, 95635 },
+ { 0x3E10, 95595 },
+ { 0x3E11, 95503 },
+ { 0x3E12, 95523 },
+ { 0x3E13, 95551 },
+ { 0x3E14, 95579 },
+ { 0x3E15, 95527 },
+ { 0x3E16, 95507 },
+ { 0x3E17, 95583 },
+ { 0x3E18, 95555 },
+ { 0x3E19, 95515 },
+ { 0x3E1A, 95539 },
+ { 0x3E1B, 95571 },
+ { 0x3E1C, 95535 },
+ { 0x3E1D, 95563 },
+ { 0x3E1E, 95519 },
+ { 0x3E1F, 95575 },
+ { 0x3E20, 95543 },
+ { 0x3E21, 95547 },
+ { 0x3E22, 95567 },
+ { 0x3E23, 95531 },
+ { 0x3E24, 95559 },
+ { 0x3E25, 95511 },
+ { 0x3E26, 95080 },
+ { 0x3E27, 95401 },
+ { 0x3E28, 95071 },
+ { 0x3E29, 95430 },
+ { 0x3E2A, 95421 },
+ { 0x3E2B, 95077 },
+ { 0x3E2C, 95074 },
+ { 0x3E2D, 95489 },
+ { 0x3E2E, 95956 },
+ { 0x3E2F, 95707 },
+ { 0x3E30, 95959 },
+ { 0x3E31, 95953 },
+ { 0x3E32, 95486 },
+ { 0x3E33, 95497 },
+ { 0x3E34, 102522 },
+ { 0x3E35, 102525 },
+ { 0x3E36, 102528 },
+ { 0x3E37, 51710 },
+ { 0x3E38, 102573 },
+ { 0x3E39, 50669 },
+ { 0x3E3A, 50794 },
+ { 0x3E3B, 50754 },
+ { 0x3E3C, 50894 },
+ { 0x3E3D, 50679 },
+ { 0x3E3E, 50634 },
+ { 0x3E3F, 50829 },
+ { 0x3E40, 50664 },
+ { 0x3E41, 50699 },
+ { 0x3E42, 50849 },
+ { 0x3E43, 50874 },
+ { 0x3E44, 50834 },
+ { 0x3E45, 50784 },
+ { 0x3E46, 50904 },
+ { 0x3E47, 50964 },
+ { 0x3E48, 50824 },
+ { 0x3E49, 50914 },
+ { 0x3E4A, 50929 },
+ { 0x3E4B, 50979 },
+ { 0x3E4C, 50974 },
+ { 0x3E4D, 50694 },
+ { 0x3E4E, 50944 },
+ { 0x3E4F, 50704 },
+ { 0x3E50, 50729 },
+ { 0x3E51, 50659 },
+ { 0x3E52, 50734 },
+ { 0x3E53, 50764 },
+ { 0x3E54, 50854 },
+ { 0x3E55, 50869 },
+ { 0x3E56, 50644 },
+ { 0x3E57, 50939 },
+ { 0x3E58, 50799 },
+ { 0x3E59, 50684 },
+ { 0x3E5A, 50844 },
+ { 0x3E5B, 50709 },
+ { 0x3E5C, 50969 },
+ { 0x3E5D, 50724 },
+ { 0x3E5E, 50774 },
+ { 0x3E5F, 50889 },
+ { 0x3E60, 50749 },
+ { 0x3E61, 50859 },
+ { 0x3E62, 50639 },
+ { 0x3E63, 50744 },
+ { 0x3E64, 50769 },
+ { 0x3E65, 50674 },
+ { 0x3E66, 50809 },
+ { 0x3E67, 50689 },
+ { 0x3E68, 50879 },
+ { 0x3E69, 50884 },
+ { 0x3E6A, 50649 },
+ { 0x3E6B, 50789 },
+ { 0x3E6C, 50654 },
+ { 0x3E6D, 50924 },
+ { 0x3E6E, 50864 },
+ { 0x3E6F, 50954 },
+ { 0x3E70, 50804 },
+ { 0x3E71, 50814 },
+ { 0x3E72, 50714 },
+ { 0x3E73, 50949 },
+ { 0x3E74, 50719 },
+ { 0x3E75, 50739 },
+ { 0x3E76, 50819 },
+ { 0x3E77, 50984 },
+ { 0x3E78, 50934 },
+ { 0x3E79, 50994 },
+ { 0x3E7A, 50839 },
+ { 0x3E7B, 50759 },
+ { 0x3E7C, 50899 },
+ { 0x3E7D, 50959 },
+ { 0x3E7E, 50779 },
+ { 0x3E7F, 50919 },
+ { 0x3E80, 50909 },
+ { 0x3E81, 50989 },
+ { 0x3E82, 50999 },
+ { 0x3E83, 50008 },
+ { 0x3E84, 50012 },
+ { 0x3E85, 50016 },
+ { 0x3E86, 50020 },
+ { 0x3E87, 50024 },
+ { 0x3E88, 50028 },
+ { 0x3E89, 50032 },
+ { 0x3E8A, 50036 },
+ { 0x3E8B, 50040 },
+ { 0x3E8C, 50044 },
+ { 0x3E8D, 50048 },
+ { 0x3E8E, 50052 },
+ { 0x3E8F, 50056 },
+ { 0x3E90, 50060 },
+ { 0x3E91, 50064 },
+ { 0x3E92, 50069 },
+ { 0x3E93, 50074 },
+ { 0x3E94, 50079 },
+ { 0x3E95, 50409 },
+ { 0x3E96, 50414 },
+ { 0x3E97, 50419 },
+ { 0x3E98, 50424 },
+ { 0x3E99, 50429 },
+ { 0x3E9A, 50434 },
+ { 0x3E9B, 50439 },
+ { 0x3E9C, 50444 },
+ { 0x3E9D, 50449 },
+ { 0x3E9E, 50454 },
+ { 0x3E9F, 50084 },
+ { 0x3EA0, 50089 },
+ { 0x3EA1, 50094 },
+ { 0x3EA2, 50099 },
+ { 0x3EA3, 50104 },
+ { 0x3EA4, 50604 },
+ { 0x3EA5, 50609 },
+ { 0x3EA6, 50109 },
+ { 0x3EA7, 50114 },
+ { 0x3EA8, 50119 },
+ { 0x3EA9, 50614 },
+ { 0x3EAA, 50619 },
+ { 0x3EAB, 50123 },
+ { 0x3EAC, 50128 },
+ { 0x3EAD, 50133 },
+ { 0x3EAE, 50137 },
+ { 0x3EAF, 50142 },
+ { 0x3EB0, 50146 },
+ { 0x3EB1, 50150 },
+ { 0x3EB2, 50155 },
+ { 0x3EB3, 50159 },
+ { 0x3EB4, 50163 },
+ { 0x3EB5, 50624 },
+ { 0x3EB6, 50167 },
+ { 0x3EB7, 50171 },
+ { 0x3EB8, 50175 },
+ { 0x3EB9, 50180 },
+ { 0x3EBA, 50184 },
+ { 0x3EBB, 50188 },
+ { 0x3EBC, 50193 },
+ { 0x3EBD, 50198 },
+ { 0x3EBE, 50202 },
+ { 0x3EBF, 50206 },
+ { 0x3EC0, 50210 },
+ { 0x3EC1, 50214 },
+ { 0x3EC2, 50218 },
+ { 0x3EC3, 50222 },
+ { 0x3EC4, 50226 },
+ { 0x3EC5, 50230 },
+ { 0x3EC6, 50234 },
+ { 0x3EC7, 50239 },
+ { 0x3EC8, 50243 },
+ { 0x3EC9, 50248 },
+ { 0x3ECA, 50252 },
+ { 0x3ECB, 50256 },
+ { 0x3ECC, 50260 },
+ { 0x3ECD, 50264 },
+ { 0x3ECE, 50268 },
+ { 0x3ECF, 50272 },
+ { 0x3ED0, 50276 },
+ { 0x3ED1, 50280 },
+ { 0x3ED2, 50284 },
+ { 0x3ED3, 50288 },
+ { 0x3ED4, 50292 },
+ { 0x3ED5, 50297 },
+ { 0x3ED6, 50302 },
+ { 0x3ED7, 50307 },
+ { 0x3ED8, 50312 },
+ { 0x3ED9, 50317 },
+ { 0x3EDA, 50321 },
+ { 0x3EDB, 50326 },
+ { 0x3EDC, 50330 },
+ { 0x3EDD, 50334 },
+ { 0x3EDE, 50340 },
+ { 0x3EDF, 50345 },
+ { 0x3EE0, 50351 },
+ { 0x3EE1, 50356 },
+ { 0x3EE2, 50360 },
+ { 0x3EE3, 50629 },
+ { 0x3EE4, 50364 },
+ { 0x3EE5, 50368 },
+ { 0x3EE6, 50372 },
+ { 0x3EE7, 50376 },
+ { 0x3EE8, 50380 },
+ { 0x3EE9, 50384 },
+ { 0x3EEA, 50389 },
+ { 0x3EEB, 50393 },
+ { 0x3EEC, 50397 },
+ { 0x3EED, 50401 },
+ { 0x3EEE, 50405 },
+ { 0x3EEF, 50459 },
+ { 0x3EF0, 50464 },
+ { 0x3EF1, 50469 },
+ { 0x3EF2, 50474 },
+ { 0x3EF3, 50479 },
+ { 0x3EF4, 50484 },
+ { 0x3EF5, 50489 },
+ { 0x3EF6, 50494 },
+ { 0x3EF7, 50499 },
+ { 0x3EF8, 50504 },
+ { 0x3EF9, 50509 },
+ { 0x3EFA, 50514 },
+ { 0x3EFB, 50519 },
+ { 0x3EFC, 50524 },
+ { 0x3EFD, 50529 },
+ { 0x3EFE, 50534 },
+ { 0x3EFF, 50539 },
+ { 0x3F00, 50544 },
+ { 0x3F01, 50549 },
+ { 0x3F02, 50554 },
+ { 0x3F03, 50559 },
+ { 0x3F04, 50564 },
+ { 0x3F05, 50569 },
+ { 0x3F06, 50574 },
+ { 0x3F07, 50579 },
+ { 0x3F08, 50584 },
+ { 0x3F09, 50589 },
+ { 0x3F0A, 50594 },
+ { 0x3F0B, 50599 },
+ { 0x3F0C, 35088 },
+ { 0x3F0D, 35084 },
+ { 0x3F0E, 35092 },
+ { 0x3F0F, 35100 },
+ { 0x3F10, 35129 },
+ { 0x3F11, 35216 },
+ { 0x3F12, 35151 },
+ { 0x3F13, 35140 },
+ { 0x3F14, 35111 },
+ { 0x3F15, 35198 },
+ { 0x3F16, 35173 },
+ { 0x3F17, 35162 },
+ { 0x3F18, 35122 },
+ { 0x3F19, 35248 },
+ { 0x3F1A, 35241 },
+ { 0x3F1B, 35191 },
+ { 0x3F1C, 35184 },
+ { 0x3F1D, 35209 },
+ { 0x3F1E, 35255 },
+ { 0x3F1F, 35227 },
+ { 0x3F20, 35234 },
+ { 0x3F21, 35103 },
+ { 0x3F22, 35132 },
+ { 0x3F23, 35219 },
+ { 0x3F24, 35154 },
+ { 0x3F25, 35143 },
+ { 0x3F26, 35114 },
+ { 0x3F27, 35201 },
+ { 0x3F28, 35176 },
+ { 0x3F29, 35165 },
+ { 0x3F2A, 35107 },
+ { 0x3F2B, 35136 },
+ { 0x3F2C, 35223 },
+ { 0x3F2D, 35158 },
+ { 0x3F2E, 35147 },
+ { 0x3F2F, 35118 },
+ { 0x3F30, 35205 },
+ { 0x3F31, 35180 },
+ { 0x3F32, 35169 },
+ { 0x3F33, 35125 },
+ { 0x3F34, 35251 },
+ { 0x3F35, 35244 },
+ { 0x3F36, 35194 },
+ { 0x3F37, 35187 },
+ { 0x3F38, 35212 },
+ { 0x3F39, 35258 },
+ { 0x3F3A, 35230 },
+ { 0x3F3B, 35237 },
+ { 0x3F3C, 35262 },
+ { 0x3F3D, 35266 },
+ { 0x3F3E, 35278 },
+ { 0x3F3F, 35270 },
+ { 0x3F40, 35274 },
+ { 0x3F41, 35079 },
+ { 0x3F42, 35095 },
+ { 0x3F43, 35286 },
+ { 0x3F44, 35282 },
+ { 0x3F45, 21626 },
+ { 0x3F46, 21604 },
+ { 0x3F47, 21609 },
+ { 0x3F48, 21664 },
+ { 0x3F49, 21706 },
+ { 0x3F4A, 21668 },
+ { 0x3F4B, 21695 },
+ { 0x3F4C, 21720 },
+ { 0x3F4D, 21690 },
+ { 0x3F4E, 21653 },
+ { 0x3F4F, 21715 },
+ { 0x3F50, 21620 },
+ { 0x3F51, 21679 },
+ { 0x3F52, 21637 },
+ { 0x3F53, 21700 },
+ { 0x3F54, 21685 },
+ { 0x3F55, 21648 },
+ { 0x3F56, 21710 },
+ { 0x3F57, 21614 },
+ { 0x3F58, 21673 },
+ { 0x3F59, 21631 },
+ { 0x3F5A, 21658 },
+ { 0x3F5B, 21725 },
+ { 0x3F5C, 21643 },
+ { 0x3F5D, 21741 },
+ { 0x3F5E, 21756 },
+ { 0x3F5F, 21824 },
+ { 0x3F60, 21810 },
+ { 0x3F61, 21774 },
+ { 0x3F62, 21746 },
+ { 0x3F63, 21814 },
+ { 0x3F64, 21846 },
+ { 0x3F65, 21836 },
+ { 0x3F66, 21840 },
+ { 0x3F67, 21828 },
+ { 0x3F68, 21806 },
+ { 0x3F69, 21770 },
+ { 0x3F6A, 21797 },
+ { 0x3F6B, 21855 },
+ { 0x3F6C, 21859 },
+ { 0x3F6D, 21832 },
+ { 0x3F6E, 21788 },
+ { 0x3F6F, 21760 },
+ { 0x3F70, 21792 },
+ { 0x3F71, 21819 },
+ { 0x3F72, 21850 },
+ { 0x3F73, 21778 },
+ { 0x3F74, 21801 },
+ { 0x3F75, 21731 },
+ { 0x3F76, 21765 },
+ { 0x3F77, 21783 },
+ { 0x3F78, 21736 },
+ { 0x3F79, 21751 },
+ { 0x3F7A, 19122 },
+ { 0x3F7B, 19126 },
+ { 0x3F7C, 19151 },
+ { 0x3F7D, 20371 },
+ { 0x3F7E, 19171 },
+ { 0x3F7F, 20568 },
+ { 0x3F80, 21512 },
+ { 0x3F81, 19166 },
+ { 0x3F82, 19147 },
+ { 0x3F83, 20367 },
+ { 0x3F84, 19162 },
+ { 0x3F85, 19158 },
+ { 0x3F86, 21546 },
+ { 0x3F87, 21517 },
+ { 0x3F88, 19194 },
+ { 0x3F89, 20561 },
+ { 0x3F8A, 20571 },
+ { 0x3F8B, 20498 },
+ { 0x3F8C, 20495 },
+ { 0x3F8D, 20501 },
+ { 0x3F8E, 21560 },
+ { 0x3F8F, 19174 },
+ { 0x3F90, 19132 },
+ { 0x3F91, 21557 },
+ { 0x3F92, 32942 },
+ { 0x3F93, 32846 },
+ { 0x3F94, 32954 },
+ { 0x3F95, 32945 },
+ { 0x3F96, 32849 },
+ { 0x3F97, 32948 },
+ { 0x3F98, 32951 },
+ { 0x3F99, 32963 },
+ { 0x3F9A, 32966 },
+ { 0x3F9B, 32960 },
+ { 0x3F9C, 32843 },
+ { 0x3F9D, 32957 },
+ { 0x3F9E, 20564 },
+ { 0x3F9F, 82744 },
+ { 0x3FA0, 82683 },
+ { 0x3FA1, 82724 },
+ { 0x3FA2, 82696 },
+ { 0x3FA3, 82629 },
+ { 0x3FA4, 82663 },
+ { 0x3FA5, 82679 },
+ { 0x3FA6, 82712 },
+ { 0x3FA7, 82655 },
+ { 0x3FA8, 82620 },
+ { 0x3FA9, 82563 },
+ { 0x3FAA, 82688 },
+ { 0x3FAB, 82583 },
+ { 0x3FAC, 82716 },
+ { 0x3FAD, 82700 },
+ { 0x3FAE, 82579 },
+ { 0x3FAF, 82571 },
+ { 0x3FB0, 82729 },
+ { 0x3FB1, 82733 },
+ { 0x3FB2, 82671 },
+ { 0x3FB3, 82587 },
+ { 0x3FB4, 82646 },
+ { 0x3FB5, 82667 },
+ { 0x3FB6, 82692 },
+ { 0x3FB7, 82607 },
+ { 0x3FB8, 82599 },
+ { 0x3FB9, 82595 },
+ { 0x3FBA, 82624 },
+ { 0x3FBB, 82567 },
+ { 0x3FBC, 82575 },
+ { 0x3FBD, 82633 },
+ { 0x3FBE, 82591 },
+ { 0x3FBF, 82659 },
+ { 0x3FC0, 82559 },
+ { 0x3FC1, 82641 },
+ { 0x3FC2, 82611 },
+ { 0x3FC3, 82704 },
+ { 0x3FC4, 82708 },
+ { 0x3FC5, 82603 },
+ { 0x3FC6, 82554 },
+ { 0x3FC7, 82637 },
+ { 0x3FC8, 82675 },
+ { 0x3FC9, 82720 },
+ { 0x3FCA, 82650 },
+ { 0x3FCB, 82615 },
+ { 0x3FCC, 82738 },
+ { 0x3FCD, 51009 },
+ { 0x3FCE, 51018 },
+ { 0x3FCF, 51012 },
+ { 0x3FD0, 51075 },
+ { 0x3FD1, 51021 },
+ { 0x3FD2, 51015 },
+ { 0x3FD3, 51027 },
+ { 0x3FD4, 51063 },
+ { 0x3FD5, 51069 },
+ { 0x3FD6, 51090 },
+ { 0x3FD7, 51030 },
+ { 0x3FD8, 51033 },
+ { 0x3FD9, 51048 },
+ { 0x3FDA, 51036 },
+ { 0x3FDB, 51039 },
+ { 0x3FDC, 51042 },
+ { 0x3FDD, 51084 },
+ { 0x3FDE, 51087 },
+ { 0x3FDF, 51060 },
+ { 0x3FE0, 51045 },
+ { 0x3FE1, 51081 },
+ { 0x3FE2, 51051 },
+ { 0x3FE3, 51054 },
+ { 0x3FE4, 51057 },
+ { 0x3FE5, 51093 },
+ { 0x3FE6, 51072 },
+ { 0x3FE7, 51078 },
+ { 0x3FE8, 51024 },
+ { 0x3FE9, 51066 },
+ { 0x3FEA, 43261 },
+ { 0x3FEB, 43348 },
+ { 0x3FEC, 43267 },
+ { 0x3FED, 43282 },
+ { 0x3FEE, 43390 },
+ { 0x3FEF, 43300 },
+ { 0x3FF0, 43333 },
+ { 0x3FF1, 43315 },
+ { 0x3FF2, 43297 },
+ { 0x3FF3, 43264 },
+ { 0x3FF4, 43285 },
+ { 0x3FF5, 43291 },
+ { 0x3FF6, 43318 },
+ { 0x3FF7, 43306 },
+ { 0x3FF8, 43354 },
+ { 0x3FF9, 43381 },
+ { 0x3FFA, 43303 },
+ { 0x3FFB, 43393 },
+ { 0x3FFC, 43309 },
+ { 0x3FFD, 43345 },
+ { 0x3FFE, 43312 },
+ { 0x3FFF, 43288 },
+ { 0x4000, 43387 },
+ { 0x4001, 43294 },
+ { 0x4002, 43357 },
+ { 0x4003, 43276 },
+ { 0x4004, 43270 },
+ { 0x4005, 43405 },
+ { 0x4006, 43279 },
+ { 0x4007, 43330 },
+ { 0x4008, 43339 },
+ { 0x4009, 43366 },
+ { 0x400A, 43273 },
+ { 0x400B, 43324 },
+ { 0x400C, 43360 },
+ { 0x400D, 43384 },
+ { 0x400E, 43342 },
+ { 0x400F, 43327 },
+ { 0x4010, 43396 },
+ { 0x4011, 43363 },
+ { 0x4012, 43399 },
+ { 0x4013, 43351 },
+ { 0x4014, 43336 },
+ { 0x4015, 43372 },
+ { 0x4016, 43375 },
+ { 0x4017, 43378 },
+ { 0x4018, 43369 },
+ { 0x4019, 43321 },
+ { 0x401A, 43402 },
+ { 0x401B, 43898 },
+ { 0x401C, 43781 },
+ { 0x401D, 43789 },
+ { 0x401E, 43813 },
+ { 0x401F, 43797 },
+ { 0x4020, 43793 },
+ { 0x4021, 43785 },
+ { 0x4022, 43809 },
+ { 0x4023, 43805 },
+ { 0x4024, 43801 },
+ { 0x4025, 43827 },
+ { 0x4026, 43890 },
+ { 0x4027, 43886 },
+ { 0x4028, 43860 },
+ { 0x4029, 43856 },
+ { 0x402A, 43869 },
+ { 0x402B, 43894 },
+ { 0x402C, 43878 },
+ { 0x402D, 43882 },
+ { 0x402E, 43817 },
+ { 0x402F, 43831 },
+ { 0x4030, 43873 },
+ { 0x4031, 43841 },
+ { 0x4032, 43836 },
+ { 0x4033, 43822 },
+ { 0x4034, 43864 },
+ { 0x4035, 43851 },
+ { 0x4036, 43846 },
+ { 0x4037, 7502 },
+ { 0x4038, 7522 },
+ { 0x4039, 7566 },
+ { 0x403A, 7526 },
+ { 0x403B, 7506 },
+ { 0x403C, 7586 },
+ { 0x403D, 7590 },
+ { 0x403E, 7554 },
+ { 0x403F, 7626 },
+ { 0x4040, 7510 },
+ { 0x4041, 7562 },
+ { 0x4042, 7534 },
+ { 0x4043, 7538 },
+ { 0x4044, 7542 },
+ { 0x4045, 7606 },
+ { 0x4046, 7514 },
+ { 0x4047, 7574 },
+ { 0x4048, 7622 },
+ { 0x4049, 7570 },
+ { 0x404A, 7546 },
+ { 0x404B, 7550 },
+ { 0x404C, 7578 },
+ { 0x404D, 7518 },
+ { 0x404E, 7598 },
+ { 0x404F, 7618 },
+ { 0x4050, 7614 },
+ { 0x4051, 7530 },
+ { 0x4052, 7602 },
+ { 0x4053, 7594 },
+ { 0x4054, 7558 },
+ { 0x4055, 7582 },
+ { 0x4056, 7610 },
+ { 0x4057, 7630 },
+ { 0x4058, 7638 },
+ { 0x4059, 7634 },
+ { 0x405A, 7642 },
+ { 0x405B, 45217 },
+ { 0x405C, 45284 },
+ { 0x405D, 45223 },
+ { 0x405E, 45220 },
+ { 0x405F, 45272 },
+ { 0x4060, 45290 },
+ { 0x4061, 45229 },
+ { 0x4062, 45226 },
+ { 0x4063, 45281 },
+ { 0x4064, 45211 },
+ { 0x4065, 45248 },
+ { 0x4066, 45251 },
+ { 0x4067, 45254 },
+ { 0x4068, 45275 },
+ { 0x4069, 45214 },
+ { 0x406A, 45236 },
+ { 0x406B, 45287 },
+ { 0x406C, 45278 },
+ { 0x406D, 45260 },
+ { 0x406E, 45263 },
+ { 0x406F, 45266 },
+ { 0x4070, 45269 },
+ { 0x4071, 45239 },
+ { 0x4072, 45245 },
+ { 0x4073, 45242 },
+ { 0x4074, 45257 },
+ { 0x4075, 45232 },
+ { 0x4076, 7662 },
+ { 0x4077, 7694 },
+ { 0x4078, 7702 },
+ { 0x4079, 7698 },
+ { 0x407A, 7646 },
+ { 0x407B, 7766 },
+ { 0x407C, 7774 },
+ { 0x407D, 7762 },
+ { 0x407E, 7778 },
+ { 0x407F, 7650 },
+ { 0x4080, 7738 },
+ { 0x4081, 7706 },
+ { 0x4082, 7782 },
+ { 0x4083, 7786 },
+ { 0x4084, 7750 },
+ { 0x4085, 7742 },
+ { 0x4086, 7710 },
+ { 0x4087, 7714 },
+ { 0x4088, 7718 },
+ { 0x4089, 7658 },
+ { 0x408A, 7770 },
+ { 0x408B, 7790 },
+ { 0x408C, 7794 },
+ { 0x408D, 7734 },
+ { 0x408E, 7758 },
+ { 0x408F, 7654 },
+ { 0x4090, 7682 },
+ { 0x4091, 7666 },
+ { 0x4092, 7670 },
+ { 0x4093, 7746 },
+ { 0x4094, 7722 },
+ { 0x4095, 7730 },
+ { 0x4096, 7754 },
+ { 0x4097, 7726 },
+ { 0x4098, 7678 },
+ { 0x4099, 7690 },
+ { 0x409A, 7686 },
+ { 0x409B, 7674 },
+ { 0x409C, 87235 },
+ { 0x409D, 87240 },
+ { 0x409E, 87250 },
+ { 0x409F, 87255 },
+ { 0x40A0, 87245 },
+ { 0x40A1, 83703 },
+ { 0x40A2, 83706 },
+ { 0x40A3, 83730 },
+ { 0x40A4, 83685 },
+ { 0x40A5, 83727 },
+ { 0x40A6, 83664 },
+ { 0x40A7, 83673 },
+ { 0x40A8, 83724 },
+ { 0x40A9, 83712 },
+ { 0x40AA, 83697 },
+ { 0x40AB, 83700 },
+ { 0x40AC, 83682 },
+ { 0x40AD, 83721 },
+ { 0x40AE, 83736 },
+ { 0x40AF, 83688 },
+ { 0x40B0, 83709 },
+ { 0x40B1, 83691 },
+ { 0x40B2, 83676 },
+ { 0x40B3, 83742 },
+ { 0x40B4, 83679 },
+ { 0x40B5, 83667 },
+ { 0x40B6, 83718 },
+ { 0x40B7, 83715 },
+ { 0x40B8, 83739 },
+ { 0x40B9, 83745 },
+ { 0x40BA, 83733 },
+ { 0x40BB, 83670 },
+ { 0x40BC, 83658 },
+ { 0x40BD, 83661 },
+ { 0x40BE, 83694 },
+ { 0x40BF, 83655 },
+ { 0x40C0, 8163 },
+ { 0x40C1, 8167 },
+ { 0x40C2, 8171 },
+ { 0x40C3, 8219 },
+ { 0x40C4, 8223 },
+ { 0x40C5, 8199 },
+ { 0x40C6, 8203 },
+ { 0x40C7, 8283 },
+ { 0x40C8, 8179 },
+ { 0x40C9, 8211 },
+ { 0x40CA, 8215 },
+ { 0x40CB, 8267 },
+ { 0x40CC, 8271 },
+ { 0x40CD, 8183 },
+ { 0x40CE, 8187 },
+ { 0x40CF, 8191 },
+ { 0x40D0, 8303 },
+ { 0x40D1, 8251 },
+ { 0x40D2, 8175 },
+ { 0x40D3, 8195 },
+ { 0x40D4, 8243 },
+ { 0x40D5, 8247 },
+ { 0x40D6, 8231 },
+ { 0x40D7, 8235 },
+ { 0x40D8, 8239 },
+ { 0x40D9, 8287 },
+ { 0x40DA, 8275 },
+ { 0x40DB, 8279 },
+ { 0x40DC, 8255 },
+ { 0x40DD, 8259 },
+ { 0x40DE, 8227 },
+ { 0x40DF, 8263 },
+ { 0x40E0, 8291 },
+ { 0x40E1, 8295 },
+ { 0x40E2, 8299 },
+ { 0x40E3, 8207 },
+ { 0x40E4, 8319 },
+ { 0x40E5, 8327 },
+ { 0x40E6, 8331 },
+ { 0x40E7, 8335 },
+ { 0x40E8, 8315 },
+ { 0x40E9, 8323 },
+ { 0x40EA, 8307 },
+ { 0x40EB, 8311 },
+ { 0x40EC, 8339 },
+ { 0x40ED, 8343 },
+ { 0x40EE, 8351 },
+ { 0x40EF, 8347 },
+ { 0x40F0, 8355 },
+ { 0x40F1, 8359 },
+ { 0x40F2, 57947 },
+ { 0x40F3, 57942 },
+ { 0x40F4, 57937 },
+ { 0x40F5, 57957 },
+ { 0x40F6, 57952 },
+ { 0x40F7, 57962 },
+ { 0x40F8, 57985 },
+ { 0x40F9, 57980 },
+ { 0x40FA, 57975 },
+ { 0x40FB, 57995 },
+ { 0x40FC, 57990 },
+ { 0x40FD, 58000 },
+ { 0x40FE, 57837 },
+ { 0x40FF, 57873 },
+ { 0x4100, 57877 },
+ { 0x4101, 57925 },
+ { 0x4102, 57833 },
+ { 0x4103, 57913 },
+ { 0x4104, 57881 },
+ { 0x4105, 57917 },
+ { 0x4106, 57885 },
+ { 0x4107, 57933 },
+ { 0x4108, 57905 },
+ { 0x4109, 57909 },
+ { 0x410A, 57901 },
+ { 0x410B, 57841 },
+ { 0x410C, 57921 },
+ { 0x410D, 57897 },
+ { 0x410E, 57967 },
+ { 0x410F, 57861 },
+ { 0x4110, 57929 },
+ { 0x4111, 57893 },
+ { 0x4112, 57971 },
+ { 0x4113, 57857 },
+ { 0x4114, 57845 },
+ { 0x4115, 57849 },
+ { 0x4116, 57853 },
+ { 0x4117, 57889 },
+ { 0x4118, 57869 },
+ { 0x4119, 57865 },
+ { 0x411A, 57775 },
+ { 0x411B, 57770 },
+ { 0x411C, 57765 },
+ { 0x411D, 57785 },
+ { 0x411E, 57780 },
+ { 0x411F, 57790 },
+ { 0x4120, 57813 },
+ { 0x4121, 57808 },
+ { 0x4122, 57803 },
+ { 0x4123, 57823 },
+ { 0x4124, 57818 },
+ { 0x4125, 57828 },
+ { 0x4126, 57665 },
+ { 0x4127, 57701 },
+ { 0x4128, 57705 },
+ { 0x4129, 57753 },
+ { 0x412A, 57661 },
+ { 0x412B, 57741 },
+ { 0x412C, 57709 },
+ { 0x412D, 57745 },
+ { 0x412E, 57713 },
+ { 0x412F, 57761 },
+ { 0x4130, 57733 },
+ { 0x4131, 57737 },
+ { 0x4132, 57729 },
+ { 0x4133, 57669 },
+ { 0x4134, 57749 },
+ { 0x4135, 57725 },
+ { 0x4136, 57795 },
+ { 0x4137, 57689 },
+ { 0x4138, 57757 },
+ { 0x4139, 57721 },
+ { 0x413A, 57799 },
+ { 0x413B, 57685 },
+ { 0x413C, 57673 },
+ { 0x413D, 57677 },
+ { 0x413E, 57681 },
+ { 0x413F, 57717 },
+ { 0x4140, 57697 },
+ { 0x4141, 57693 },
+ { 0x4142, 62731 },
+ { 0x4143, 62695 },
+ { 0x4144, 62719 },
+ { 0x4145, 62671 },
+ { 0x4146, 62755 },
+ { 0x4147, 62632 },
+ { 0x4148, 62737 },
+ { 0x4149, 62758 },
+ { 0x414A, 62704 },
+ { 0x414B, 62716 },
+ { 0x414C, 62656 },
+ { 0x414D, 62713 },
+ { 0x414E, 62674 },
+ { 0x414F, 62698 },
+ { 0x4150, 62740 },
+ { 0x4151, 62710 },
+ { 0x4152, 62761 },
+ { 0x4153, 62752 },
+ { 0x4154, 62701 },
+ { 0x4155, 62749 },
+ { 0x4156, 62722 },
+ { 0x4157, 62725 },
+ { 0x4158, 62623 },
+ { 0x4159, 62665 },
+ { 0x415A, 62650 },
+ { 0x415B, 62638 },
+ { 0x415C, 62626 },
+ { 0x415D, 62743 },
+ { 0x415E, 62692 },
+ { 0x415F, 62620 },
+ { 0x4160, 62734 },
+ { 0x4161, 62683 },
+ { 0x4162, 62662 },
+ { 0x4163, 62641 },
+ { 0x4164, 62680 },
+ { 0x4165, 62635 },
+ { 0x4166, 62686 },
+ { 0x4167, 62728 },
+ { 0x4168, 62689 },
+ { 0x4169, 62653 },
+ { 0x416A, 62647 },
+ { 0x416B, 62629 },
+ { 0x416C, 62644 },
+ { 0x416D, 62668 },
+ { 0x416E, 62746 },
+ { 0x416F, 62659 },
+ { 0x4170, 62677 },
+ { 0x4171, 62707 },
+ { 0x4172, 61694 },
+ { 0x4173, 61649 },
+ { 0x4174, 61676 },
+ { 0x4175, 61664 },
+ { 0x4176, 61679 },
+ { 0x4177, 61688 },
+ { 0x4178, 61700 },
+ { 0x4179, 61670 },
+ { 0x417A, 61673 },
+ { 0x417B, 61718 },
+ { 0x417C, 61685 },
+ { 0x417D, 61697 },
+ { 0x417E, 61658 },
+ { 0x417F, 61655 },
+ { 0x4180, 61715 },
+ { 0x4181, 61703 },
+ { 0x4182, 61706 },
+ { 0x4183, 61709 },
+ { 0x4184, 61712 },
+ { 0x4185, 61691 },
+ { 0x4186, 61661 },
+ { 0x4187, 61682 },
+ { 0x4188, 61631 },
+ { 0x4189, 61634 },
+ { 0x418A, 61637 },
+ { 0x418B, 61640 },
+ { 0x418C, 61643 },
+ { 0x418D, 61646 },
+ { 0x418E, 61652 },
+ { 0x418F, 61667 },
+ { 0x4190, 61619 },
+ { 0x4191, 61601 },
+ { 0x4192, 61607 },
+ { 0x4193, 61628 },
+ { 0x4194, 61613 },
+ { 0x4195, 61610 },
+ { 0x4196, 61604 },
+ { 0x4197, 61625 },
+ { 0x4198, 61622 },
+ { 0x4199, 61616 },
+ { 0x419A, 58223 },
+ { 0x419B, 58241 },
+ { 0x419C, 58244 },
+ { 0x419D, 58304 },
+ { 0x419E, 58247 },
+ { 0x419F, 58322 },
+ { 0x41A0, 58307 },
+ { 0x41A1, 58250 },
+ { 0x41A2, 58226 },
+ { 0x41A3, 58253 },
+ { 0x41A4, 58256 },
+ { 0x41A5, 58313 },
+ { 0x41A6, 58259 },
+ { 0x41A7, 58229 },
+ { 0x41A8, 58262 },
+ { 0x41A9, 58265 },
+ { 0x41AA, 58268 },
+ { 0x41AB, 58319 },
+ { 0x41AC, 58271 },
+ { 0x41AD, 58277 },
+ { 0x41AE, 58274 },
+ { 0x41AF, 58325 },
+ { 0x41B0, 58232 },
+ { 0x41B1, 58280 },
+ { 0x41B2, 58283 },
+ { 0x41B3, 58286 },
+ { 0x41B4, 58328 },
+ { 0x41B5, 58289 },
+ { 0x41B6, 58331 },
+ { 0x41B7, 58292 },
+ { 0x41B8, 58334 },
+ { 0x41B9, 58235 },
+ { 0x41BA, 58295 },
+ { 0x41BB, 58298 },
+ { 0x41BC, 58238 },
+ { 0x41BD, 58301 },
+ { 0x41BE, 58337 },
+ { 0x41BF, 58310 },
+ { 0x41C0, 58340 },
+ { 0x41C1, 58316 },
+ { 0x41C2, 86914 },
+ { 0x41C3, 86922 },
+ { 0x41C4, 86950 },
+ { 0x41C5, 86938 },
+ { 0x41C6, 86906 },
+ { 0x41C7, 87098 },
+ { 0x41C8, 86942 },
+ { 0x41C9, 87102 },
+ { 0x41CA, 86998 },
+ { 0x41CB, 86930 },
+ { 0x41CC, 87094 },
+ { 0x41CD, 87002 },
+ { 0x41CE, 86954 },
+ { 0x41CF, 86994 },
+ { 0x41D0, 86970 },
+ { 0x41D1, 87038 },
+ { 0x41D2, 87086 },
+ { 0x41D3, 87026 },
+ { 0x41D4, 86926 },
+ { 0x41D5, 87046 },
+ { 0x41D6, 86962 },
+ { 0x41D7, 87050 },
+ { 0x41D8, 87034 },
+ { 0x41D9, 86986 },
+ { 0x41DA, 86918 },
+ { 0x41DB, 87014 },
+ { 0x41DC, 86934 },
+ { 0x41DD, 87022 },
+ { 0x41DE, 86974 },
+ { 0x41DF, 86982 },
+ { 0x41E0, 87054 },
+ { 0x41E1, 87106 },
+ { 0x41E2, 87066 },
+ { 0x41E3, 87042 },
+ { 0x41E4, 86910 },
+ { 0x41E5, 87078 },
+ { 0x41E6, 86946 },
+ { 0x41E7, 87030 },
+ { 0x41E8, 87010 },
+ { 0x41E9, 86978 },
+ { 0x41EA, 87110 },
+ { 0x41EB, 86990 },
+ { 0x41EC, 87062 },
+ { 0x41ED, 87082 },
+ { 0x41EE, 87074 },
+ { 0x41EF, 87070 },
+ { 0x41F0, 86958 },
+ { 0x41F1, 87018 },
+ { 0x41F2, 87006 },
+ { 0x41F3, 87090 },
+ { 0x41F4, 87058 },
+ { 0x41F5, 86966 },
+ { 0x41F6, 87114 },
+ { 0x41F7, 49584 },
+ { 0x41F8, 49588 },
+ { 0x41F9, 49592 },
+ { 0x41FA, 49596 },
+ { 0x41FB, 49600 },
+ { 0x41FC, 49604 },
+ { 0x41FD, 49608 },
+ { 0x41FE, 49612 },
+ { 0x41FF, 49616 },
+ { 0x4200, 49620 },
+ { 0x4201, 49624 },
+ { 0x4202, 49628 },
+ { 0x4203, 49632 },
+ { 0x4204, 49636 },
+ { 0x4205, 49640 },
+ { 0x4206, 49644 },
+ { 0x4207, 49900 },
+ { 0x4208, 49904 },
+ { 0x4209, 49648 },
+ { 0x420A, 49908 },
+ { 0x420B, 49912 },
+ { 0x420C, 49652 },
+ { 0x420D, 49916 },
+ { 0x420E, 49656 },
+ { 0x420F, 49660 },
+ { 0x4210, 49664 },
+ { 0x4211, 49668 },
+ { 0x4212, 49548 },
+ { 0x4213, 49672 },
+ { 0x4214, 49676 },
+ { 0x4215, 49680 },
+ { 0x4216, 49684 },
+ { 0x4217, 49688 },
+ { 0x4218, 49692 },
+ { 0x4219, 49696 },
+ { 0x421A, 49700 },
+ { 0x421B, 49704 },
+ { 0x421C, 49708 },
+ { 0x421D, 49712 },
+ { 0x421E, 49716 },
+ { 0x421F, 49720 },
+ { 0x4220, 49724 },
+ { 0x4221, 49728 },
+ { 0x4222, 49732 },
+ { 0x4223, 49736 },
+ { 0x4224, 49740 },
+ { 0x4225, 49744 },
+ { 0x4226, 49748 },
+ { 0x4227, 49752 },
+ { 0x4228, 49756 },
+ { 0x4229, 49760 },
+ { 0x422A, 49764 },
+ { 0x422B, 49768 },
+ { 0x422C, 49772 },
+ { 0x422D, 49776 },
+ { 0x422E, 49780 },
+ { 0x422F, 49784 },
+ { 0x4230, 49788 },
+ { 0x4231, 49792 },
+ { 0x4232, 49796 },
+ { 0x4233, 49800 },
+ { 0x4234, 49804 },
+ { 0x4235, 49808 },
+ { 0x4236, 49812 },
+ { 0x4237, 49816 },
+ { 0x4238, 49820 },
+ { 0x4239, 49824 },
+ { 0x423A, 49828 },
+ { 0x423B, 49832 },
+ { 0x423C, 49836 },
+ { 0x423D, 49840 },
+ { 0x423E, 49928 },
+ { 0x423F, 49844 },
+ { 0x4240, 49848 },
+ { 0x4241, 49552 },
+ { 0x4242, 49852 },
+ { 0x4243, 49856 },
+ { 0x4244, 49920 },
+ { 0x4245, 49924 },
+ { 0x4246, 49556 },
+ { 0x4247, 49860 },
+ { 0x4248, 49864 },
+ { 0x4249, 49868 },
+ { 0x424A, 49872 },
+ { 0x424B, 49876 },
+ { 0x424C, 48622 },
+ { 0x424D, 48626 },
+ { 0x424E, 48630 },
+ { 0x424F, 48634 },
+ { 0x4250, 48638 },
+ { 0x4251, 48642 },
+ { 0x4252, 48646 },
+ { 0x4253, 48650 },
+ { 0x4254, 49560 },
+ { 0x4255, 49564 },
+ { 0x4256, 49568 },
+ { 0x4257, 48654 },
+ { 0x4258, 48658 },
+ { 0x4259, 48662 },
+ { 0x425A, 49572 },
+ { 0x425B, 49576 },
+ { 0x425C, 49580 },
+ { 0x425D, 48666 },
+ { 0x425E, 48670 },
+ { 0x425F, 48674 },
+ { 0x4260, 48678 },
+ { 0x4261, 48682 },
+ { 0x4262, 48686 },
+ { 0x4263, 48690 },
+ { 0x4264, 48694 },
+ { 0x4265, 48698 },
+ { 0x4266, 48702 },
+ { 0x4267, 48706 },
+ { 0x4268, 48710 },
+ { 0x4269, 48714 },
+ { 0x426A, 48718 },
+ { 0x426B, 48722 },
+ { 0x426C, 48726 },
+ { 0x426D, 48730 },
+ { 0x426E, 48734 },
+ { 0x426F, 48738 },
+ { 0x4270, 48742 },
+ { 0x4271, 48746 },
+ { 0x4272, 48750 },
+ { 0x4273, 48754 },
+ { 0x4274, 48758 },
+ { 0x4275, 48762 },
+ { 0x4276, 48766 },
+ { 0x4277, 48770 },
+ { 0x4278, 48774 },
+ { 0x4279, 48778 },
+ { 0x427A, 48782 },
+ { 0x427B, 48786 },
+ { 0x427C, 48790 },
+ { 0x427D, 48794 },
+ { 0x427E, 48798 },
+ { 0x427F, 48802 },
+ { 0x4280, 48806 },
+ { 0x4281, 48810 },
+ { 0x4282, 48814 },
+ { 0x4283, 48818 },
+ { 0x4284, 48822 },
+ { 0x4285, 48826 },
+ { 0x4286, 48830 },
+ { 0x4287, 48834 },
+ { 0x4288, 48838 },
+ { 0x4289, 48842 },
+ { 0x428A, 48846 },
+ { 0x428B, 48850 },
+ { 0x428C, 48854 },
+ { 0x428D, 48858 },
+ { 0x428E, 48862 },
+ { 0x428F, 48866 },
+ { 0x4290, 48870 },
+ { 0x4291, 48874 },
+ { 0x4292, 48878 },
+ { 0x4293, 48882 },
+ { 0x4294, 48886 },
+ { 0x4295, 48890 },
+ { 0x4296, 48894 },
+ { 0x4297, 49932 },
+ { 0x4298, 49936 },
+ { 0x4299, 49940 },
+ { 0x429A, 49944 },
+ { 0x429B, 49948 },
+ { 0x429C, 49952 },
+ { 0x429D, 49956 },
+ { 0x429E, 49960 },
+ { 0x429F, 49964 },
+ { 0x42A0, 49968 },
+ { 0x42A1, 49972 },
+ { 0x42A2, 49976 },
+ { 0x42A3, 49980 },
+ { 0x42A4, 49984 },
+ { 0x42A5, 49988 },
+ { 0x42A6, 49992 },
+ { 0x42A7, 49996 },
+ { 0x42A8, 50000 },
+ { 0x42A9, 50004 },
+ { 0x42AA, 48898 },
+ { 0x42AB, 48902 },
+ { 0x42AC, 48906 },
+ { 0x42AD, 48910 },
+ { 0x42AE, 48914 },
+ { 0x42AF, 48918 },
+ { 0x42B0, 48922 },
+ { 0x42B1, 48926 },
+ { 0x42B2, 48930 },
+ { 0x42B3, 48934 },
+ { 0x42B4, 48938 },
+ { 0x42B5, 48942 },
+ { 0x42B6, 48946 },
+ { 0x42B7, 48950 },
+ { 0x42B8, 48954 },
+ { 0x42B9, 48958 },
+ { 0x42BA, 48962 },
+ { 0x42BB, 48966 },
+ { 0x42BC, 48970 },
+ { 0x42BD, 48974 },
+ { 0x42BE, 48978 },
+ { 0x42BF, 48982 },
+ { 0x42C0, 48986 },
+ { 0x42C1, 48990 },
+ { 0x42C2, 48994 },
+ { 0x42C3, 48998 },
+ { 0x42C4, 49002 },
+ { 0x42C5, 49006 },
+ { 0x42C6, 49010 },
+ { 0x42C7, 49014 },
+ { 0x42C8, 49018 },
+ { 0x42C9, 49022 },
+ { 0x42CA, 49026 },
+ { 0x42CB, 49030 },
+ { 0x42CC, 49034 },
+ { 0x42CD, 49038 },
+ { 0x42CE, 49042 },
+ { 0x42CF, 49046 },
+ { 0x42D0, 49050 },
+ { 0x42D1, 49054 },
+ { 0x42D2, 49058 },
+ { 0x42D3, 49062 },
+ { 0x42D4, 49066 },
+ { 0x42D5, 49070 },
+ { 0x42D6, 49074 },
+ { 0x42D7, 49078 },
+ { 0x42D8, 49082 },
+ { 0x42D9, 49086 },
+ { 0x42DA, 49090 },
+ { 0x42DB, 49094 },
+ { 0x42DC, 49098 },
+ { 0x42DD, 49102 },
+ { 0x42DE, 49106 },
+ { 0x42DF, 49110 },
+ { 0x42E0, 49114 },
+ { 0x42E1, 49118 },
+ { 0x42E2, 49122 },
+ { 0x42E3, 49126 },
+ { 0x42E4, 49130 },
+ { 0x42E5, 49134 },
+ { 0x42E6, 49138 },
+ { 0x42E7, 49142 },
+ { 0x42E8, 49146 },
+ { 0x42E9, 49150 },
+ { 0x42EA, 49154 },
+ { 0x42EB, 49158 },
+ { 0x42EC, 49162 },
+ { 0x42ED, 49166 },
+ { 0x42EE, 49170 },
+ { 0x42EF, 49174 },
+ { 0x42F0, 49178 },
+ { 0x42F1, 49182 },
+ { 0x42F2, 49186 },
+ { 0x42F3, 49190 },
+ { 0x42F4, 49194 },
+ { 0x42F5, 49198 },
+ { 0x42F6, 49202 },
+ { 0x42F7, 49206 },
+ { 0x42F8, 49210 },
+ { 0x42F9, 49214 },
+ { 0x42FA, 49218 },
+ { 0x42FB, 49222 },
+ { 0x42FC, 49226 },
+ { 0x42FD, 49230 },
+ { 0x42FE, 49234 },
+ { 0x42FF, 49238 },
+ { 0x4300, 49242 },
+ { 0x4301, 49246 },
+ { 0x4302, 49250 },
+ { 0x4303, 49254 },
+ { 0x4304, 49258 },
+ { 0x4305, 49262 },
+ { 0x4306, 49266 },
+ { 0x4307, 49270 },
+ { 0x4308, 49274 },
+ { 0x4309, 49278 },
+ { 0x430A, 49282 },
+ { 0x430B, 49286 },
+ { 0x430C, 49290 },
+ { 0x430D, 49294 },
+ { 0x430E, 49298 },
+ { 0x430F, 49302 },
+ { 0x4310, 49306 },
+ { 0x4311, 49310 },
+ { 0x4312, 49314 },
+ { 0x4313, 49318 },
+ { 0x4314, 49322 },
+ { 0x4315, 49326 },
+ { 0x4316, 49330 },
+ { 0x4317, 49334 },
+ { 0x4318, 49338 },
+ { 0x4319, 49342 },
+ { 0x431A, 49346 },
+ { 0x431B, 49350 },
+ { 0x431C, 49354 },
+ { 0x431D, 49358 },
+ { 0x431E, 49362 },
+ { 0x431F, 49366 },
+ { 0x4320, 49370 },
+ { 0x4321, 49374 },
+ { 0x4322, 49378 },
+ { 0x4323, 49382 },
+ { 0x4324, 49386 },
+ { 0x4325, 49390 },
+ { 0x4326, 49394 },
+ { 0x4327, 49398 },
+ { 0x4328, 49402 },
+ { 0x4329, 49406 },
+ { 0x432A, 49410 },
+ { 0x432B, 49414 },
+ { 0x432C, 49418 },
+ { 0x432D, 49422 },
+ { 0x432E, 49426 },
+ { 0x432F, 49431 },
+ { 0x4330, 49436 },
+ { 0x4331, 49441 },
+ { 0x4332, 49446 },
+ { 0x4333, 49451 },
+ { 0x4334, 49456 },
+ { 0x4335, 49461 },
+ { 0x4336, 49466 },
+ { 0x4337, 49880 },
+ { 0x4338, 49885 },
+ { 0x4339, 49890 },
+ { 0x433A, 49895 },
+ { 0x433B, 49471 },
+ { 0x433C, 49476 },
+ { 0x433D, 49481 },
+ { 0x433E, 49486 },
+ { 0x433F, 49491 },
+ { 0x4340, 49496 },
+ { 0x4341, 49501 },
+ { 0x4342, 49506 },
+ { 0x4343, 49511 },
+ { 0x4344, 49516 },
+ { 0x4345, 49520 },
+ { 0x4346, 49524 },
+ { 0x4347, 49528 },
+ { 0x4348, 49532 },
+ { 0x4349, 49536 },
+ { 0x434A, 49540 },
+ { 0x434B, 49544 },
+ { 0x434C, 57489 },
+ { 0x434D, 57492 },
+ { 0x434E, 57495 },
+ { 0x434F, 57498 },
+ { 0x4350, 57501 },
+ { 0x4351, 57504 },
+ { 0x4352, 57507 },
+ { 0x4353, 57510 },
+ { 0x4354, 57513 },
+ { 0x4355, 57516 },
+ { 0x4356, 57519 },
+ { 0x4357, 57522 },
+ { 0x4358, 57525 },
+ { 0x4359, 57528 },
+ { 0x435A, 57531 },
+ { 0x435B, 57534 },
+ { 0x435C, 57537 },
+ { 0x435D, 57540 },
+ { 0x435E, 57543 },
+ { 0x435F, 57546 },
+ { 0x4360, 57549 },
+ { 0x4361, 57552 },
+ { 0x4362, 57555 },
+ { 0x4363, 57558 },
+ { 0x4364, 57561 },
+ { 0x4365, 57564 },
+ { 0x4366, 57567 },
+ { 0x4367, 57570 },
+ { 0x4368, 57573 },
+ { 0x4369, 57576 },
+ { 0x436A, 57579 },
+ { 0x436B, 57582 },
+ { 0x436C, 57585 },
+ { 0x436D, 57588 },
+ { 0x436E, 57591 },
+ { 0x436F, 57594 },
+ { 0x4370, 57597 },
+ { 0x4371, 57600 },
+ { 0x4372, 57603 },
+ { 0x4373, 57606 },
+ { 0x4374, 57609 },
+ { 0x4375, 57612 },
+ { 0x4376, 57615 },
+ { 0x4377, 57618 },
+ { 0x4378, 57621 },
+ { 0x4379, 57624 },
+ { 0x437A, 57627 },
+ { 0x437B, 57630 },
+ { 0x437C, 57633 },
+ { 0x437D, 57636 },
+ { 0x437E, 57639 },
+ { 0x437F, 57642 },
+ { 0x4380, 57645 },
+ { 0x4381, 57648 },
+ { 0x4382, 57651 },
+ { 0x4383, 79213 },
+ { 0x4384, 79181 },
+ { 0x4385, 79217 },
+ { 0x4386, 79229 },
+ { 0x4387, 79153 },
+ { 0x4388, 79173 },
+ { 0x4389, 79225 },
+ { 0x438A, 79185 },
+ { 0x438B, 79205 },
+ { 0x438C, 79209 },
+ { 0x438D, 79189 },
+ { 0x438E, 79233 },
+ { 0x438F, 79161 },
+ { 0x4390, 79165 },
+ { 0x4391, 79237 },
+ { 0x4392, 79177 },
+ { 0x4393, 79157 },
+ { 0x4394, 79221 },
+ { 0x4395, 79193 },
+ { 0x4396, 79197 },
+ { 0x4397, 79201 },
+ { 0x4398, 79169 },
+ { 0x4399, 79276 },
+ { 0x439A, 79241 },
+ { 0x439B, 79264 },
+ { 0x439C, 79268 },
+ { 0x439D, 79255 },
+ { 0x439E, 79272 },
+ { 0x439F, 79245 },
+ { 0x43A0, 79250 },
+ { 0x43A1, 79259 },
+ { 0x43A2, 98046 },
+ { 0x43A3, 98022 },
+ { 0x43A4, 98053 },
+ { 0x43A5, 98062 },
+ { 0x43A6, 98001 },
+ { 0x43A7, 98016 },
+ { 0x43A8, 98059 },
+ { 0x43A9, 98025 },
+ { 0x43AA, 98040 },
+ { 0x43AB, 98043 },
+ { 0x43AC, 98028 },
+ { 0x43AD, 98065 },
+ { 0x43AE, 98007 },
+ { 0x43AF, 98049 },
+ { 0x43B0, 98010 },
+ { 0x43B1, 98068 },
+ { 0x43B2, 98019 },
+ { 0x43B3, 98004 },
+ { 0x43B4, 98056 },
+ { 0x43B5, 98031 },
+ { 0x43B6, 98034 },
+ { 0x43B7, 98037 },
+ { 0x43B8, 98013 },
+ { 0x43B9, 98092 },
+ { 0x43BA, 98095 },
+ { 0x43BB, 98071 },
+ { 0x43BC, 98077 },
+ { 0x43BD, 98086 },
+ { 0x43BE, 98083 },
+ { 0x43BF, 98080 },
+ { 0x43C0, 98074 },
+ { 0x43C1, 98089 },
+ { 0x43C2, 97944 },
+ { 0x43C3, 97913 },
+ { 0x43C4, 97928 },
+ { 0x43C5, 97889 },
+ { 0x43C6, 97952 },
+ { 0x43C7, 97961 },
+ { 0x43C8, 97916 },
+ { 0x43C9, 97868 },
+ { 0x43CA, 97883 },
+ { 0x43CB, 97958 },
+ { 0x43CC, 97892 },
+ { 0x43CD, 97907 },
+ { 0x43CE, 97940 },
+ { 0x43CF, 97910 },
+ { 0x43D0, 97932 },
+ { 0x43D1, 97895 },
+ { 0x43D2, 97948 },
+ { 0x43D3, 97964 },
+ { 0x43D4, 97920 },
+ { 0x43D5, 97874 },
+ { 0x43D6, 97924 },
+ { 0x43D7, 97877 },
+ { 0x43D8, 97967 },
+ { 0x43D9, 97886 },
+ { 0x43DA, 97871 },
+ { 0x43DB, 97955 },
+ { 0x43DC, 97898 },
+ { 0x43DD, 97901 },
+ { 0x43DE, 97936 },
+ { 0x43DF, 97904 },
+ { 0x43E0, 97880 },
+ { 0x43E1, 97970 },
+ { 0x43E2, 97980 },
+ { 0x43E3, 97989 },
+ { 0x43E4, 97986 },
+ { 0x43E5, 97995 },
+ { 0x43E6, 97983 },
+ { 0x43E7, 97977 },
+ { 0x43E8, 97992 },
+ { 0x43E9, 97973 },
+ { 0x43EA, 46712 },
+ { 0x43EB, 46688 },
+ { 0x43EC, 46715 },
+ { 0x43ED, 46727 },
+ { 0x43EE, 46667 },
+ { 0x43EF, 46685 },
+ { 0x43F0, 46709 },
+ { 0x43F1, 46691 },
+ { 0x43F2, 46703 },
+ { 0x43F3, 46706 },
+ { 0x43F4, 46694 },
+ { 0x43F5, 46721 },
+ { 0x43F6, 46676 },
+ { 0x43F7, 46679 },
+ { 0x43F8, 46724 },
+ { 0x43F9, 46673 },
+ { 0x43FA, 46670 },
+ { 0x43FB, 46718 },
+ { 0x43FC, 46697 },
+ { 0x43FD, 46700 },
+ { 0x43FE, 46682 },
+ { 0x43FF, 46730 },
+ { 0x4400, 46740 },
+ { 0x4401, 46737 },
+ { 0x4402, 46743 },
+ { 0x4403, 46733 },
+ { 0x4404, 100906 },
+ { 0x4405, 100909 },
+ { 0x4406, 100945 },
+ { 0x4407, 100942 },
+ { 0x4408, 100897 },
+ { 0x4409, 100933 },
+ { 0x440A, 100939 },
+ { 0x440B, 100912 },
+ { 0x440C, 100930 },
+ { 0x440D, 100936 },
+ { 0x440E, 100915 },
+ { 0x440F, 100948 },
+ { 0x4410, 100918 },
+ { 0x4411, 100921 },
+ { 0x4412, 100957 },
+ { 0x4413, 100903 },
+ { 0x4414, 100900 },
+ { 0x4415, 100954 },
+ { 0x4416, 100924 },
+ { 0x4417, 100951 },
+ { 0x4418, 100960 },
+ { 0x4419, 100927 },
+ { 0x441A, 100963 },
+ { 0x441B, 100970 },
+ { 0x441C, 100979 },
+ { 0x441D, 100966 },
+ { 0x441E, 100973 },
+ { 0x441F, 100976 },
+ { 0x4420, 100894 },
+ { 0x4421, 51096 },
+ { 0x4422, 51099 },
+ { 0x4423, 51114 },
+ { 0x4424, 51105 },
+ { 0x4425, 51108 },
+ { 0x4426, 51150 },
+ { 0x4427, 51117 },
+ { 0x4428, 51153 },
+ { 0x4429, 51120 },
+ { 0x442A, 51123 },
+ { 0x442B, 51126 },
+ { 0x442C, 51129 },
+ { 0x442D, 51132 },
+ { 0x442E, 51138 },
+ { 0x442F, 51168 },
+ { 0x4430, 51144 },
+ { 0x4431, 51147 },
+ { 0x4432, 51111 },
+ { 0x4433, 51135 },
+ { 0x4434, 51141 },
+ { 0x4435, 51171 },
+ { 0x4436, 51156 },
+ { 0x4437, 51159 },
+ { 0x4438, 51162 },
+ { 0x4439, 51165 },
+ { 0x443A, 51102 },
+ { 0x443B, 51174 },
+ { 0x443C, 80706 },
+ { 0x443D, 80710 },
+ { 0x443E, 80714 },
+ { 0x443F, 80718 },
+ { 0x4440, 80786 },
+ { 0x4441, 80782 },
+ { 0x4442, 80722 },
+ { 0x4443, 80798 },
+ { 0x4444, 80750 },
+ { 0x4445, 80738 },
+ { 0x4446, 80742 },
+ { 0x4447, 80802 },
+ { 0x4448, 80746 },
+ { 0x4449, 80806 },
+ { 0x444A, 80758 },
+ { 0x444B, 80810 },
+ { 0x444C, 80734 },
+ { 0x444D, 80794 },
+ { 0x444E, 80790 },
+ { 0x444F, 80762 },
+ { 0x4450, 80814 },
+ { 0x4451, 80766 },
+ { 0x4452, 80730 },
+ { 0x4453, 80754 },
+ { 0x4454, 80770 },
+ { 0x4455, 80818 },
+ { 0x4456, 80774 },
+ { 0x4457, 80822 },
+ { 0x4458, 80778 },
+ { 0x4459, 80726 },
+ { 0x445A, 80826 },
+ { 0x445B, 80830 },
+ { 0x445C, 80288 },
+ { 0x445D, 80292 },
+ { 0x445E, 80296 },
+ { 0x445F, 80300 },
+ { 0x4460, 80368 },
+ { 0x4461, 80364 },
+ { 0x4462, 80304 },
+ { 0x4463, 80332 },
+ { 0x4464, 80320 },
+ { 0x4465, 80324 },
+ { 0x4466, 80328 },
+ { 0x4467, 80340 },
+ { 0x4468, 80316 },
+ { 0x4469, 80376 },
+ { 0x446A, 80372 },
+ { 0x446B, 80344 },
+ { 0x446C, 80380 },
+ { 0x446D, 80348 },
+ { 0x446E, 80312 },
+ { 0x446F, 80336 },
+ { 0x4470, 80352 },
+ { 0x4471, 80356 },
+ { 0x4472, 80360 },
+ { 0x4473, 80308 },
+ { 0x4474, 80693 },
+ { 0x4475, 80638 },
+ { 0x4476, 80702 },
+ { 0x4477, 80698 },
+ { 0x4478, 80385 },
+ { 0x4479, 80434 },
+ { 0x447A, 80581 },
+ { 0x447B, 80474 },
+ { 0x447C, 80454 },
+ { 0x447D, 80405 },
+ { 0x447E, 80552 },
+ { 0x447F, 80514 },
+ { 0x4480, 80494 },
+ { 0x4481, 80425 },
+ { 0x4482, 80620 },
+ { 0x4483, 80611 },
+ { 0x4484, 80543 },
+ { 0x4485, 80534 },
+ { 0x4486, 80572 },
+ { 0x4487, 80629 },
+ { 0x4488, 80389 },
+ { 0x4489, 80438 },
+ { 0x448A, 80585 },
+ { 0x448B, 80478 },
+ { 0x448C, 80458 },
+ { 0x448D, 80409 },
+ { 0x448E, 80556 },
+ { 0x448F, 80518 },
+ { 0x4490, 80498 },
+ { 0x4491, 80400 },
+ { 0x4492, 80449 },
+ { 0x4493, 80596 },
+ { 0x4494, 80489 },
+ { 0x4495, 80469 },
+ { 0x4496, 80420 },
+ { 0x4497, 80567 },
+ { 0x4498, 80529 },
+ { 0x4499, 80509 },
+ { 0x449A, 80429 },
+ { 0x449B, 80624 },
+ { 0x449C, 80615 },
+ { 0x449D, 80547 },
+ { 0x449E, 80538 },
+ { 0x449F, 80576 },
+ { 0x44A0, 80633 },
+ { 0x44A1, 80601 },
+ { 0x44A2, 80606 },
+ { 0x44A3, 80394 },
+ { 0x44A4, 80443 },
+ { 0x44A5, 80590 },
+ { 0x44A6, 80483 },
+ { 0x44A7, 80463 },
+ { 0x44A8, 80414 },
+ { 0x44A9, 80561 },
+ { 0x44AA, 80523 },
+ { 0x44AB, 80503 },
+ { 0x44AC, 80643 },
+ { 0x44AD, 80658 },
+ { 0x44AE, 80688 },
+ { 0x44AF, 80668 },
+ { 0x44B0, 80663 },
+ { 0x44B1, 80648 },
+ { 0x44B2, 80683 },
+ { 0x44B3, 80678 },
+ { 0x44B4, 80673 },
+ { 0x44B5, 80653 },
+ { 0x44B6, 100565 },
+ { 0x44B7, 100544 },
+ { 0x44B8, 100552 },
+ { 0x44B9, 100556 },
+ { 0x44BA, 100540 },
+ { 0x44BB, 100548 },
+ { 0x44BC, 100561 },
+ { 0x44BD, 100517 },
+ { 0x44BE, 100525 },
+ { 0x44BF, 100522 },
+ { 0x44C0, 100586 },
+ { 0x44C1, 100634 },
+ { 0x44C2, 100577 },
+ { 0x44C3, 100631 },
+ { 0x44C4, 100571 },
+ { 0x44C5, 100622 },
+ { 0x44C6, 100583 },
+ { 0x44C7, 100643 },
+ { 0x44C8, 100658 },
+ { 0x44C9, 100664 },
+ { 0x44CA, 100625 },
+ { 0x44CB, 100661 },
+ { 0x44CC, 100640 },
+ { 0x44CD, 100607 },
+ { 0x44CE, 100655 },
+ { 0x44CF, 100574 },
+ { 0x44D0, 100628 },
+ { 0x44D1, 100595 },
+ { 0x44D2, 100598 },
+ { 0x44D3, 100646 },
+ { 0x44D4, 100568 },
+ { 0x44D5, 100619 },
+ { 0x44D6, 100592 },
+ { 0x44D7, 100613 },
+ { 0x44D8, 100601 },
+ { 0x44D9, 100589 },
+ { 0x44DA, 100610 },
+ { 0x44DB, 100649 },
+ { 0x44DC, 100652 },
+ { 0x44DD, 100604 },
+ { 0x44DE, 100616 },
+ { 0x44DF, 100580 },
+ { 0x44E0, 100637 },
+ { 0x44E1, 100667 },
+ { 0x44E2, 100506 },
+ { 0x44E3, 100514 },
+ { 0x44E4, 100510 },
+ { 0x44E5, 100684 },
+ { 0x44E6, 100528 },
+ { 0x44E7, 100531 },
+ { 0x44E8, 100537 },
+ { 0x44E9, 100534 },
+ { 0x44EA, 100678 },
+ { 0x44EB, 100681 },
+ { 0x44EC, 100670 },
+ { 0x44ED, 100674 },
+ { 0x44EE, 100686 },
+ { 0x44EF, 100698 },
+ { 0x44F0, 100702 },
+ { 0x44F1, 100709 },
+ { 0x44F2, 100713 },
+ { 0x44F3, 100695 },
+ { 0x44F4, 100689 },
+ { 0x44F5, 100705 },
+ { 0x44F6, 100692 },
+ { 0x44F7, 7347 },
+ { 0x44F8, 7472 },
+ { 0x44F9, 7392 },
+ { 0x44FA, 7357 },
+ { 0x44FB, 7402 },
+ { 0x44FC, 7377 },
+ { 0x44FD, 7412 },
+ { 0x44FE, 7407 },
+ { 0x44FF, 7387 },
+ { 0x4500, 7372 },
+ { 0x4501, 7367 },
+ { 0x4502, 7397 },
+ { 0x4503, 7362 },
+ { 0x4504, 7447 },
+ { 0x4505, 7452 },
+ { 0x4506, 7477 },
+ { 0x4507, 7342 },
+ { 0x4508, 7382 },
+ { 0x4509, 7352 },
+ { 0x450A, 7467 },
+ { 0x450B, 7442 },
+ { 0x450C, 7462 },
+ { 0x450D, 7437 },
+ { 0x450E, 7417 },
+ { 0x450F, 7432 },
+ { 0x4510, 7482 },
+ { 0x4511, 7427 },
+ { 0x4512, 7422 },
+ { 0x4513, 7457 },
+ { 0x4514, 7487 },
+ { 0x4515, 7492 },
+ { 0x4516, 7497 },
+ { 0x4517, 7212 },
+ { 0x4518, 7222 },
+ { 0x4519, 7207 },
+ { 0x451A, 7297 },
+ { 0x451B, 7227 },
+ { 0x451C, 7252 },
+ { 0x451D, 7277 },
+ { 0x451E, 7232 },
+ { 0x451F, 7187 },
+ { 0x4520, 7247 },
+ { 0x4521, 7272 },
+ { 0x4522, 7217 },
+ { 0x4523, 7302 },
+ { 0x4524, 7292 },
+ { 0x4525, 7237 },
+ { 0x4526, 7282 },
+ { 0x4527, 7202 },
+ { 0x4528, 7267 },
+ { 0x4529, 7182 },
+ { 0x452A, 7192 },
+ { 0x452B, 7287 },
+ { 0x452C, 7197 },
+ { 0x452D, 7322 },
+ { 0x452E, 7242 },
+ { 0x452F, 7317 },
+ { 0x4530, 7307 },
+ { 0x4531, 7257 },
+ { 0x4532, 7312 },
+ { 0x4533, 7262 },
+ { 0x4534, 7327 },
+ { 0x4535, 7332 },
+ { 0x4536, 7337 },
+ { 0x4537, 100776 },
+ { 0x4538, 100743 },
+ { 0x4539, 100779 },
+ { 0x453A, 100782 },
+ { 0x453B, 100806 },
+ { 0x453C, 100803 },
+ { 0x453D, 100722 },
+ { 0x453E, 100737 },
+ { 0x453F, 100716 },
+ { 0x4540, 100800 },
+ { 0x4541, 100818 },
+ { 0x4542, 100785 },
+ { 0x4543, 100809 },
+ { 0x4544, 100746 },
+ { 0x4545, 100761 },
+ { 0x4546, 100770 },
+ { 0x4547, 100749 },
+ { 0x4548, 100764 },
+ { 0x4549, 100788 },
+ { 0x454A, 100812 },
+ { 0x454B, 100821 },
+ { 0x454C, 100824 },
+ { 0x454D, 100728 },
+ { 0x454E, 100731 },
+ { 0x454F, 100815 },
+ { 0x4550, 100740 },
+ { 0x4551, 100773 },
+ { 0x4552, 100725 },
+ { 0x4553, 100719 },
+ { 0x4554, 100794 },
+ { 0x4555, 100752 },
+ { 0x4556, 100767 },
+ { 0x4557, 100791 },
+ { 0x4558, 100755 },
+ { 0x4559, 100758 },
+ { 0x455A, 100797 },
+ { 0x455B, 100734 },
+ { 0x455C, 100871 },
+ { 0x455D, 100875 },
+ { 0x455E, 100827 },
+ { 0x455F, 100837 },
+ { 0x4560, 100834 },
+ { 0x4561, 100840 },
+ { 0x4562, 100830 },
+ { 0x4563, 100859 },
+ { 0x4564, 100868 },
+ { 0x4565, 100862 },
+ { 0x4566, 100846 },
+ { 0x4567, 100843 },
+ { 0x4568, 100851 },
+ { 0x4569, 100855 },
+ { 0x456A, 55166 },
+ { 0x456B, 55181 },
+ { 0x456C, 55190 },
+ { 0x456D, 55265 },
+ { 0x456E, 55187 },
+ { 0x456F, 55262 },
+ { 0x4570, 55184 },
+ { 0x4571, 55268 },
+ { 0x4572, 55169 },
+ { 0x4573, 55202 },
+ { 0x4574, 55175 },
+ { 0x4575, 55232 },
+ { 0x4576, 55172 },
+ { 0x4577, 55214 },
+ { 0x4578, 55178 },
+ { 0x4579, 55247 },
+ { 0x457A, 55220 },
+ { 0x457B, 55253 },
+ { 0x457C, 55307 },
+ { 0x457D, 55304 },
+ { 0x457E, 55208 },
+ { 0x457F, 55277 },
+ { 0x4580, 55280 },
+ { 0x4581, 55196 },
+ { 0x4582, 55217 },
+ { 0x4583, 55244 },
+ { 0x4584, 55298 },
+ { 0x4585, 55199 },
+ { 0x4586, 55274 },
+ { 0x4587, 55301 },
+ { 0x4588, 55235 },
+ { 0x4589, 55205 },
+ { 0x458A, 55193 },
+ { 0x458B, 55271 },
+ { 0x458C, 55286 },
+ { 0x458D, 55319 },
+ { 0x458E, 55316 },
+ { 0x458F, 55229 },
+ { 0x4590, 55292 },
+ { 0x4591, 55289 },
+ { 0x4592, 55226 },
+ { 0x4593, 55283 },
+ { 0x4594, 55310 },
+ { 0x4595, 55256 },
+ { 0x4596, 55250 },
+ { 0x4597, 55238 },
+ { 0x4598, 55223 },
+ { 0x4599, 55241 },
+ { 0x459A, 55259 },
+ { 0x459B, 55295 },
+ { 0x459C, 55313 },
+ { 0x459D, 55322 },
+ { 0x459E, 55325 },
+ { 0x459F, 55211 },
+ { 0x45A0, 55328 },
+ { 0x45A1, 14929 },
+ { 0x45A2, 33380 },
+ { 0x45A3, 23291 },
+ { 0x45A4, 23274 },
+ { 0x45A5, 23298 },
+ { 0x45A6, 23281 },
+ { 0x45A7, 111565 },
+ { 0x45A8, 111533 },
+ { 0x45A9, 111569 },
+ { 0x45AA, 111581 },
+ { 0x45AB, 111505 },
+ { 0x45AC, 111525 },
+ { 0x45AD, 111577 },
+ { 0x45AE, 111537 },
+ { 0x45AF, 111557 },
+ { 0x45B0, 111561 },
+ { 0x45B1, 111541 },
+ { 0x45B2, 111585 },
+ { 0x45B3, 111513 },
+ { 0x45B4, 111517 },
+ { 0x45B5, 111589 },
+ { 0x45B6, 111529 },
+ { 0x45B7, 111509 },
+ { 0x45B8, 111573 },
+ { 0x45B9, 111545 },
+ { 0x45BA, 111549 },
+ { 0x45BB, 111553 },
+ { 0x45BC, 111521 },
+ { 0x45BD, 111593 },
+ { 0x45BE, 111611 },
+ { 0x45BF, 111619 },
+ { 0x45C0, 111615 },
+ { 0x45C1, 111607 },
+ { 0x45C2, 111623 },
+ { 0x45C3, 111597 },
+ { 0x45C4, 111602 },
+ { 0x45C5, 111435 },
+ { 0x45C6, 111411 },
+ { 0x45C7, 111439 },
+ { 0x45C8, 111451 },
+ { 0x45C9, 111395 },
+ { 0x45CA, 111467 },
+ { 0x45CB, 111447 },
+ { 0x45CC, 111415 },
+ { 0x45CD, 111427 },
+ { 0x45CE, 111431 },
+ { 0x45CF, 111419 },
+ { 0x45D0, 111455 },
+ { 0x45D1, 111463 },
+ { 0x45D2, 111403 },
+ { 0x45D3, 111459 },
+ { 0x45D4, 111399 },
+ { 0x45D5, 111443 },
+ { 0x45D6, 111423 },
+ { 0x45D7, 111407 },
+ { 0x45D8, 111471 },
+ { 0x45D9, 111489 },
+ { 0x45DA, 111497 },
+ { 0x45DB, 111493 },
+ { 0x45DC, 111485 },
+ { 0x45DD, 111501 },
+ { 0x45DE, 111475 },
+ { 0x45DF, 111480 },
+ { 0x45E0, 62156 },
+ { 0x45E1, 62136 },
+ { 0x45E2, 62160 },
+ { 0x45E3, 62172 },
+ { 0x45E4, 62120 },
+ { 0x45E5, 62188 },
+ { 0x45E6, 62168 },
+ { 0x45E7, 62140 },
+ { 0x45E8, 62152 },
+ { 0x45E9, 62144 },
+ { 0x45EA, 62176 },
+ { 0x45EB, 62184 },
+ { 0x45EC, 62128 },
+ { 0x45ED, 62180 },
+ { 0x45EE, 62124 },
+ { 0x45EF, 62164 },
+ { 0x45F0, 62148 },
+ { 0x45F1, 62132 },
+ { 0x45F2, 62226 },
+ { 0x45F3, 62221 },
+ { 0x45F4, 62114 },
+ { 0x45F5, 62108 },
+ { 0x45F6, 62192 },
+ { 0x45F7, 62205 },
+ { 0x45F8, 62213 },
+ { 0x45F9, 62209 },
+ { 0x45FA, 62201 },
+ { 0x45FB, 62217 },
+ { 0x45FC, 62196 },
+ { 0x45FD, 7798 },
+ { 0x45FE, 8008 },
+ { 0x45FF, 8033 },
+ { 0x4600, 7803 },
+ { 0x4601, 8018 },
+ { 0x4602, 8013 },
+ { 0x4603, 7808 },
+ { 0x4604, 7893 },
+ { 0x4605, 8083 },
+ { 0x4606, 7813 },
+ { 0x4607, 8023 },
+ { 0x4608, 7913 },
+ { 0x4609, 8093 },
+ { 0x460A, 7823 },
+ { 0x460B, 8038 },
+ { 0x460C, 7923 },
+ { 0x460D, 8098 },
+ { 0x460E, 7818 },
+ { 0x460F, 8028 },
+ { 0x4610, 7918 },
+ { 0x4611, 7878 },
+ { 0x4612, 8073 },
+ { 0x4613, 7858 },
+ { 0x4614, 8063 },
+ { 0x4615, 7958 },
+ { 0x4616, 8118 },
+ { 0x4617, 7928 },
+ { 0x4618, 8103 },
+ { 0x4619, 7998 },
+ { 0x461A, 8153 },
+ { 0x461B, 7828 },
+ { 0x461C, 8043 },
+ { 0x461D, 7933 },
+ { 0x461E, 7968 },
+ { 0x461F, 7868 },
+ { 0x4620, 7833 },
+ { 0x4621, 7938 },
+ { 0x4622, 8108 },
+ { 0x4623, 7983 },
+ { 0x4624, 8138 },
+ { 0x4625, 7973 },
+ { 0x4626, 8133 },
+ { 0x4627, 7988 },
+ { 0x4628, 8143 },
+ { 0x4629, 8123 },
+ { 0x462A, 7978 },
+ { 0x462B, 8158 },
+ { 0x462C, 7873 },
+ { 0x462D, 7898 },
+ { 0x462E, 7883 },
+ { 0x462F, 7863 },
+ { 0x4630, 8068 },
+ { 0x4631, 7838 },
+ { 0x4632, 8048 },
+ { 0x4633, 7888 },
+ { 0x4634, 8078 },
+ { 0x4635, 7903 },
+ { 0x4636, 8088 },
+ { 0x4637, 7843 },
+ { 0x4638, 8053 },
+ { 0x4639, 7943 },
+ { 0x463A, 7848 },
+ { 0x463B, 7948 },
+ { 0x463C, 7963 },
+ { 0x463D, 8128 },
+ { 0x463E, 7993 },
+ { 0x463F, 8148 },
+ { 0x4640, 7853 },
+ { 0x4641, 8058 },
+ { 0x4642, 7953 },
+ { 0x4643, 8113 },
+ { 0x4644, 7908 },
+ { 0x4645, 8003 },
+ { 0x4646, 8654 },
+ { 0x4647, 8679 },
+ { 0x4648, 8689 },
+ { 0x4649, 8799 },
+ { 0x464A, 8694 },
+ { 0x464B, 8834 },
+ { 0x464C, 8814 },
+ { 0x464D, 8699 },
+ { 0x464E, 8804 },
+ { 0x464F, 8659 },
+ { 0x4650, 8874 },
+ { 0x4651, 8704 },
+ { 0x4652, 8709 },
+ { 0x4653, 8714 },
+ { 0x4654, 8819 },
+ { 0x4655, 8719 },
+ { 0x4656, 8664 },
+ { 0x4657, 8779 },
+ { 0x4658, 8724 },
+ { 0x4659, 8729 },
+ { 0x465A, 8684 },
+ { 0x465B, 8869 },
+ { 0x465C, 8734 },
+ { 0x465D, 8824 },
+ { 0x465E, 8739 },
+ { 0x465F, 8744 },
+ { 0x4660, 8844 },
+ { 0x4661, 8669 },
+ { 0x4662, 8784 },
+ { 0x4663, 8904 },
+ { 0x4664, 8886 },
+ { 0x4665, 8864 },
+ { 0x4666, 8749 },
+ { 0x4667, 8829 },
+ { 0x4668, 8754 },
+ { 0x4669, 8880 },
+ { 0x466A, 8759 },
+ { 0x466B, 8849 },
+ { 0x466C, 8764 },
+ { 0x466D, 8839 },
+ { 0x466E, 8854 },
+ { 0x466F, 8809 },
+ { 0x4670, 8674 },
+ { 0x4671, 8794 },
+ { 0x4672, 8910 },
+ { 0x4673, 8892 },
+ { 0x4674, 8769 },
+ { 0x4675, 8774 },
+ { 0x4676, 8859 },
+ { 0x4677, 8898 },
+ { 0x4678, 8789 },
+ { 0x4679, 8366 },
+ { 0x467A, 8391 },
+ { 0x467B, 8401 },
+ { 0x467C, 8511 },
+ { 0x467D, 8406 },
+ { 0x467E, 8546 },
+ { 0x467F, 8526 },
+ { 0x4680, 8411 },
+ { 0x4681, 8516 },
+ { 0x4682, 8371 },
+ { 0x4683, 8586 },
+ { 0x4684, 8416 },
+ { 0x4685, 8421 },
+ { 0x4686, 8426 },
+ { 0x4687, 8531 },
+ { 0x4688, 8431 },
+ { 0x4689, 8376 },
+ { 0x468A, 8491 },
+ { 0x468B, 8436 },
+ { 0x468C, 8441 },
+ { 0x468D, 8396 },
+ { 0x468E, 8581 },
+ { 0x468F, 8446 },
+ { 0x4690, 8536 },
+ { 0x4691, 8451 },
+ { 0x4692, 8456 },
+ { 0x4693, 8556 },
+ { 0x4694, 8381 },
+ { 0x4695, 8496 },
+ { 0x4696, 8616 },
+ { 0x4697, 8598 },
+ { 0x4698, 8576 },
+ { 0x4699, 8461 },
+ { 0x469A, 8541 },
+ { 0x469B, 8466 },
+ { 0x469C, 8592 },
+ { 0x469D, 8471 },
+ { 0x469E, 8561 },
+ { 0x469F, 8476 },
+ { 0x46A0, 8551 },
+ { 0x46A1, 8566 },
+ { 0x46A2, 8521 },
+ { 0x46A3, 8386 },
+ { 0x46A4, 8506 },
+ { 0x46A5, 8622 },
+ { 0x46A6, 8604 },
+ { 0x46A7, 8481 },
+ { 0x46A8, 8486 },
+ { 0x46A9, 8571 },
+ { 0x46AA, 8610 },
+ { 0x46AB, 8501 },
+ { 0x46AC, 8628 },
+ { 0x46AD, 8646 },
+ { 0x46AE, 8642 },
+ { 0x46AF, 8650 },
+ { 0x46B0, 8632 },
+ { 0x46B1, 8637 },
+ { 0x46B2, 14300 },
+ { 0x46B3, 14306 },
+ { 0x46B4, 14324 },
+ { 0x46B5, 14312 },
+ { 0x46B6, 14309 },
+ { 0x46B7, 14303 },
+ { 0x46B8, 14321 },
+ { 0x46B9, 14318 },
+ { 0x46BA, 14315 },
+ { 0x46BB, 14335 },
+ { 0x46BC, 14384 },
+ { 0x46BD, 14381 },
+ { 0x46BE, 14361 },
+ { 0x46BF, 14358 },
+ { 0x46C0, 14368 },
+ { 0x46C1, 14387 },
+ { 0x46C2, 14375 },
+ { 0x46C3, 14378 },
+ { 0x46C4, 14327 },
+ { 0x46C5, 14338 },
+ { 0x46C6, 14371 },
+ { 0x46C7, 14346 },
+ { 0x46C8, 14342 },
+ { 0x46C9, 14331 },
+ { 0x46CA, 14364 },
+ { 0x46CB, 14354 },
+ { 0x46CC, 14350 },
+ { 0x46CD, 14390 },
+ { 0x46CE, 14398 },
+ { 0x46CF, 14394 },
+ { 0x46D0, 14402 },
+ { 0x46D1, 42885 },
+ { 0x46D2, 42882 },
+ { 0x46D3, 42879 },
+ { 0x46D4, 42888 },
+ { 0x46D5, 42891 },
+ { 0x46D6, 42990 },
+ { 0x46D7, 43005 },
+ { 0x46D8, 42996 },
+ { 0x46D9, 43029 },
+ { 0x46DA, 43002 },
+ { 0x46DB, 43059 },
+ { 0x46DC, 43141 },
+ { 0x46DD, 43149 },
+ { 0x46DE, 43137 },
+ { 0x46DF, 43145 },
+ { 0x46E0, 42993 },
+ { 0x46E1, 43008 },
+ { 0x46E2, 42999 },
+ { 0x46E3, 43011 },
+ { 0x46E4, 43035 },
+ { 0x46E5, 43086 },
+ { 0x46E6, 43023 },
+ { 0x46E7, 43080 },
+ { 0x46E8, 43092 },
+ { 0x46E9, 43017 },
+ { 0x46EA, 43071 },
+ { 0x46EB, 43032 },
+ { 0x46EC, 43083 },
+ { 0x46ED, 43098 },
+ { 0x46EE, 43128 },
+ { 0x46EF, 43134 },
+ { 0x46F0, 43074 },
+ { 0x46F1, 43131 },
+ { 0x46F2, 43095 },
+ { 0x46F3, 43056 },
+ { 0x46F4, 43125 },
+ { 0x46F5, 43020 },
+ { 0x46F6, 43077 },
+ { 0x46F7, 43044 },
+ { 0x46F8, 43047 },
+ { 0x46F9, 43116 },
+ { 0x46FA, 43014 },
+ { 0x46FB, 43068 },
+ { 0x46FC, 43041 },
+ { 0x46FD, 43065 },
+ { 0x46FE, 43050 },
+ { 0x46FF, 43038 },
+ { 0x4700, 43062 },
+ { 0x4701, 43119 },
+ { 0x4702, 43122 },
+ { 0x4703, 43053 },
+ { 0x4704, 43026 },
+ { 0x4705, 43089 },
+ { 0x4706, 43106 },
+ { 0x4707, 43101 },
+ { 0x4708, 43111 },
+ { 0x4709, 42942 },
+ { 0x470A, 42982 },
+ { 0x470B, 42930 },
+ { 0x470C, 42954 },
+ { 0x470D, 42938 },
+ { 0x470E, 42958 },
+ { 0x470F, 42967 },
+ { 0x4710, 42977 },
+ { 0x4711, 42962 },
+ { 0x4712, 42972 },
+ { 0x4713, 42926 },
+ { 0x4714, 42946 },
+ { 0x4715, 42934 },
+ { 0x4716, 42950 },
+ { 0x4717, 43218 },
+ { 0x4718, 42894 },
+ { 0x4719, 42987 },
+ { 0x471A, 43220 },
+ { 0x471B, 43229 },
+ { 0x471C, 43223 },
+ { 0x471D, 43233 },
+ { 0x471E, 43226 },
+ { 0x471F, 43153 },
+ { 0x4720, 43170 },
+ { 0x4721, 43197 },
+ { 0x4722, 43176 },
+ { 0x4723, 43173 },
+ { 0x4724, 43164 },
+ { 0x4725, 43191 },
+ { 0x4726, 43182 },
+ { 0x4727, 43179 },
+ { 0x4728, 43167 },
+ { 0x4729, 43212 },
+ { 0x472A, 43209 },
+ { 0x472B, 43188 },
+ { 0x472C, 43185 },
+ { 0x472D, 43194 },
+ { 0x472E, 43215 },
+ { 0x472F, 43200 },
+ { 0x4730, 43206 },
+ { 0x4731, 43156 },
+ { 0x4732, 43160 },
+ { 0x4733, 42914 },
+ { 0x4734, 42896 },
+ { 0x4735, 42902 },
+ { 0x4736, 42923 },
+ { 0x4737, 42908 },
+ { 0x4738, 42905 },
+ { 0x4739, 42899 },
+ { 0x473A, 42920 },
+ { 0x473B, 42917 },
+ { 0x473C, 42911 },
+ { 0x473D, 43203 },
+ { 0x473E, 47313 },
+ { 0x473F, 47310 },
+ { 0x4740, 47307 },
+ { 0x4741, 47361 },
+ { 0x4742, 47376 },
+ { 0x4743, 47367 },
+ { 0x4744, 47400 },
+ { 0x4745, 47373 },
+ { 0x4746, 47430 },
+ { 0x4747, 47364 },
+ { 0x4748, 47379 },
+ { 0x4749, 47370 },
+ { 0x474A, 47382 },
+ { 0x474B, 47406 },
+ { 0x474C, 47457 },
+ { 0x474D, 47394 },
+ { 0x474E, 47451 },
+ { 0x474F, 47460 },
+ { 0x4750, 47388 },
+ { 0x4751, 47442 },
+ { 0x4752, 47403 },
+ { 0x4753, 47454 },
+ { 0x4754, 47466 },
+ { 0x4755, 47484 },
+ { 0x4756, 47490 },
+ { 0x4757, 47445 },
+ { 0x4758, 47493 },
+ { 0x4759, 47487 },
+ { 0x475A, 47472 },
+ { 0x475B, 47463 },
+ { 0x475C, 47427 },
+ { 0x475D, 47481 },
+ { 0x475E, 47391 },
+ { 0x475F, 47448 },
+ { 0x4760, 47415 },
+ { 0x4761, 47418 },
+ { 0x4762, 47469 },
+ { 0x4763, 47385 },
+ { 0x4764, 47439 },
+ { 0x4765, 47412 },
+ { 0x4766, 47436 },
+ { 0x4767, 47421 },
+ { 0x4768, 47409 },
+ { 0x4769, 47433 },
+ { 0x476A, 47475 },
+ { 0x476B, 47478 },
+ { 0x476C, 47424 },
+ { 0x476D, 47397 },
+ { 0x476E, 47334 },
+ { 0x476F, 47322 },
+ { 0x4770, 47346 },
+ { 0x4771, 47330 },
+ { 0x4772, 47350 },
+ { 0x4773, 47318 },
+ { 0x4774, 47338 },
+ { 0x4775, 47326 },
+ { 0x4776, 47342 },
+ { 0x4777, 47304 },
+ { 0x4778, 47301 },
+ { 0x4779, 47505 },
+ { 0x477A, 47502 },
+ { 0x477B, 47496 },
+ { 0x477C, 47499 },
+ { 0x477D, 47357 },
+ { 0x477E, 47316 },
+ { 0x477F, 47354 },
+ { 0x4780, 14553 },
+ { 0x4781, 14557 },
+ { 0x4782, 14497 },
+ { 0x4783, 14501 },
+ { 0x4784, 14505 },
+ { 0x4785, 14513 },
+ { 0x4786, 14537 },
+ { 0x4787, 14569 },
+ { 0x4788, 14529 },
+ { 0x4789, 14541 },
+ { 0x478A, 14561 },
+ { 0x478B, 14545 },
+ { 0x478C, 14565 },
+ { 0x478D, 14549 },
+ { 0x478E, 14517 },
+ { 0x478F, 14525 },
+ { 0x4790, 14521 },
+ { 0x4791, 14573 },
+ { 0x4792, 14477 },
+ { 0x4793, 14509 },
+ { 0x4794, 14485 },
+ { 0x4795, 14493 },
+ { 0x4796, 14489 },
+ { 0x4797, 14481 },
+ { 0x4798, 14533 },
+ { 0x4799, 14461 },
+ { 0x479A, 14437 },
+ { 0x479B, 14445 },
+ { 0x479C, 14473 },
+ { 0x479D, 14453 },
+ { 0x479E, 14449 },
+ { 0x479F, 14441 },
+ { 0x47A0, 14469 },
+ { 0x47A1, 14465 },
+ { 0x47A2, 14457 },
+ { 0x47A3, 43427 },
+ { 0x47A4, 43424 },
+ { 0x47A5, 43421 },
+ { 0x47A6, 43514 },
+ { 0x47A7, 43508 },
+ { 0x47A8, 43511 },
+ { 0x47A9, 43505 },
+ { 0x47AA, 43535 },
+ { 0x47AB, 43583 },
+ { 0x47AC, 43526 },
+ { 0x47AD, 43577 },
+ { 0x47AE, 43586 },
+ { 0x47AF, 43520 },
+ { 0x47B0, 43568 },
+ { 0x47B1, 43532 },
+ { 0x47B2, 43580 },
+ { 0x47B3, 43592 },
+ { 0x47B4, 43601 },
+ { 0x47B5, 43610 },
+ { 0x47B6, 43571 },
+ { 0x47B7, 43607 },
+ { 0x47B8, 43589 },
+ { 0x47B9, 43556 },
+ { 0x47BA, 43598 },
+ { 0x47BB, 43523 },
+ { 0x47BC, 43574 },
+ { 0x47BD, 43544 },
+ { 0x47BE, 43547 },
+ { 0x47BF, 43595 },
+ { 0x47C0, 43517 },
+ { 0x47C1, 43565 },
+ { 0x47C2, 43541 },
+ { 0x47C3, 43604 },
+ { 0x47C4, 43562 },
+ { 0x47C5, 43550 },
+ { 0x47C6, 43538 },
+ { 0x47C7, 43559 },
+ { 0x47C8, 43553 },
+ { 0x47C9, 43529 },
+ { 0x47CA, 43462 },
+ { 0x47CB, 43470 },
+ { 0x47CC, 43490 },
+ { 0x47CD, 43478 },
+ { 0x47CE, 43498 },
+ { 0x47CF, 43466 },
+ { 0x47D0, 43482 },
+ { 0x47D1, 43474 },
+ { 0x47D2, 43486 },
+ { 0x47D3, 43494 },
+ { 0x47D4, 43415 },
+ { 0x47D5, 43418 },
+ { 0x47D6, 43613 },
+ { 0x47D7, 43615 },
+ { 0x47D8, 43450 },
+ { 0x47D9, 43432 },
+ { 0x47DA, 43438 },
+ { 0x47DB, 43459 },
+ { 0x47DC, 43444 },
+ { 0x47DD, 43441 },
+ { 0x47DE, 43435 },
+ { 0x47DF, 43456 },
+ { 0x47E0, 43453 },
+ { 0x47E1, 43447 },
+ { 0x47E2, 43617 },
+ { 0x47E3, 43430 },
+ { 0x47E4, 43502 },
+ { 0x47E5, 43620 },
+ { 0x47E6, 80062 },
+ { 0x47E7, 80068 },
+ { 0x47E8, 80074 },
+ { 0x47E9, 80065 },
+ { 0x47EA, 80071 },
+ { 0x47EB, 80095 },
+ { 0x47EC, 80140 },
+ { 0x47ED, 80086 },
+ { 0x47EE, 80134 },
+ { 0x47EF, 80080 },
+ { 0x47F0, 80125 },
+ { 0x47F1, 80092 },
+ { 0x47F2, 80137 },
+ { 0x47F3, 80146 },
+ { 0x47F4, 80158 },
+ { 0x47F5, 80164 },
+ { 0x47F6, 80128 },
+ { 0x47F7, 80161 },
+ { 0x47F8, 80143 },
+ { 0x47F9, 80116 },
+ { 0x47FA, 80155 },
+ { 0x47FB, 80083 },
+ { 0x47FC, 80131 },
+ { 0x47FD, 80104 },
+ { 0x47FE, 80107 },
+ { 0x47FF, 80149 },
+ { 0x4800, 80077 },
+ { 0x4801, 80122 },
+ { 0x4802, 80101 },
+ { 0x4803, 80110 },
+ { 0x4804, 80098 },
+ { 0x4805, 80119 },
+ { 0x4806, 80113 },
+ { 0x4807, 80089 },
+ { 0x4808, 80152 },
+ { 0x4809, 80059 },
+ { 0x480A, 80173 },
+ { 0x480B, 80167 },
+ { 0x480C, 80170 },
+ { 0x480D, 62341 },
+ { 0x480E, 62335 },
+ { 0x480F, 62332 },
+ { 0x4810, 62453 },
+ { 0x4811, 62468 },
+ { 0x4812, 62459 },
+ { 0x4813, 62492 },
+ { 0x4814, 62465 },
+ { 0x4815, 62522 },
+ { 0x4816, 62589 },
+ { 0x4817, 62597 },
+ { 0x4818, 62585 },
+ { 0x4819, 62593 },
+ { 0x481A, 62456 },
+ { 0x481B, 62471 },
+ { 0x481C, 62462 },
+ { 0x481D, 62474 },
+ { 0x481E, 62498 },
+ { 0x481F, 62549 },
+ { 0x4820, 62486 },
+ { 0x4821, 62543 },
+ { 0x4822, 62555 },
+ { 0x4823, 62480 },
+ { 0x4824, 62534 },
+ { 0x4825, 62495 },
+ { 0x4826, 62546 },
+ { 0x4827, 62561 },
+ { 0x4828, 62576 },
+ { 0x4829, 62582 },
+ { 0x482A, 62537 },
+ { 0x482B, 62579 },
+ { 0x482C, 62558 },
+ { 0x482D, 62519 },
+ { 0x482E, 62573 },
+ { 0x482F, 62483 },
+ { 0x4830, 62540 },
+ { 0x4831, 62507 },
+ { 0x4832, 62510 },
+ { 0x4833, 62564 },
+ { 0x4834, 62477 },
+ { 0x4835, 62531 },
+ { 0x4836, 62504 },
+ { 0x4837, 62528 },
+ { 0x4838, 62513 },
+ { 0x4839, 62501 },
+ { 0x483A, 62552 },
+ { 0x483B, 62525 },
+ { 0x483C, 62567 },
+ { 0x483D, 62570 },
+ { 0x483E, 62516 },
+ { 0x483F, 62489 },
+ { 0x4840, 62406 },
+ { 0x4841, 62394 },
+ { 0x4842, 62418 },
+ { 0x4843, 62402 },
+ { 0x4844, 62422 },
+ { 0x4845, 62431 },
+ { 0x4846, 62441 },
+ { 0x4847, 62426 },
+ { 0x4848, 62436 },
+ { 0x4849, 62390 },
+ { 0x484A, 62410 },
+ { 0x484B, 62398 },
+ { 0x484C, 62414 },
+ { 0x484D, 62326 },
+ { 0x484E, 62338 },
+ { 0x484F, 62344 },
+ { 0x4850, 62347 },
+ { 0x4851, 62319 },
+ { 0x4852, 62350 },
+ { 0x4853, 62450 },
+ { 0x4854, 62614 },
+ { 0x4855, 62610 },
+ { 0x4856, 62601 },
+ { 0x4857, 62323 },
+ { 0x4858, 62446 },
+ { 0x4859, 62382 },
+ { 0x485A, 62387 },
+ { 0x485B, 62370 },
+ { 0x485C, 62352 },
+ { 0x485D, 62358 },
+ { 0x485E, 62379 },
+ { 0x485F, 62364 },
+ { 0x4860, 62361 },
+ { 0x4861, 62355 },
+ { 0x4862, 62376 },
+ { 0x4863, 62373 },
+ { 0x4864, 62367 },
+ { 0x4865, 62321 },
+ { 0x4866, 62329 },
+ { 0x4867, 62612 },
+ { 0x4868, 62617 },
+ { 0x4869, 62604 },
+ { 0x486A, 62607 },
+ { 0x486B, 63498 },
+ { 0x486C, 63506 },
+ { 0x486D, 63530 },
+ { 0x486E, 63514 },
+ { 0x486F, 63510 },
+ { 0x4870, 63502 },
+ { 0x4871, 63526 },
+ { 0x4872, 63522 },
+ { 0x4873, 63518 },
+ { 0x4874, 63544 },
+ { 0x4875, 63572 },
+ { 0x4876, 63568 },
+ { 0x4877, 63552 },
+ { 0x4878, 63548 },
+ { 0x4879, 63556 },
+ { 0x487A, 63576 },
+ { 0x487B, 63560 },
+ { 0x487C, 63564 },
+ { 0x487D, 63534 },
+ { 0x487E, 63539 },
+ { 0x487F, 48232 },
+ { 0x4880, 48247 },
+ { 0x4881, 48238 },
+ { 0x4882, 48244 },
+ { 0x4883, 48235 },
+ { 0x4884, 48250 },
+ { 0x4885, 48241 },
+ { 0x4886, 48253 },
+ { 0x4887, 48274 },
+ { 0x4888, 48328 },
+ { 0x4889, 48265 },
+ { 0x488A, 48319 },
+ { 0x488B, 48322 },
+ { 0x488C, 48334 },
+ { 0x488D, 48259 },
+ { 0x488E, 48310 },
+ { 0x488F, 48271 },
+ { 0x4890, 48325 },
+ { 0x4891, 48340 },
+ { 0x4892, 48349 },
+ { 0x4893, 48358 },
+ { 0x4894, 48313 },
+ { 0x4895, 48355 },
+ { 0x4896, 48337 },
+ { 0x4897, 48295 },
+ { 0x4898, 48346 },
+ { 0x4899, 48262 },
+ { 0x489A, 48352 },
+ { 0x489B, 48316 },
+ { 0x489C, 48283 },
+ { 0x489D, 48286 },
+ { 0x489E, 48343 },
+ { 0x489F, 48256 },
+ { 0x48A0, 48304 },
+ { 0x48A1, 48307 },
+ { 0x48A2, 48280 },
+ { 0x48A3, 48301 },
+ { 0x48A4, 48289 },
+ { 0x48A5, 48277 },
+ { 0x48A6, 48298 },
+ { 0x48A7, 48292 },
+ { 0x48A8, 48268 },
+ { 0x48A9, 48331 },
+ { 0x48AA, 48209 },
+ { 0x48AB, 48197 },
+ { 0x48AC, 48221 },
+ { 0x48AD, 48205 },
+ { 0x48AE, 48193 },
+ { 0x48AF, 48213 },
+ { 0x48B0, 48201 },
+ { 0x48B1, 48217 },
+ { 0x48B2, 48185 },
+ { 0x48B3, 48182 },
+ { 0x48B4, 48176 },
+ { 0x48B5, 48179 },
+ { 0x48B6, 48191 },
+ { 0x48B7, 48225 },
+ { 0x48B8, 48188 },
+ { 0x48B9, 48361 },
+ { 0x48BA, 48228 },
+ { 0x48BB, 48364 },
+ { 0x48BC, 59431 },
+ { 0x48BD, 59437 },
+ { 0x48BE, 59440 },
+ { 0x48BF, 59434 },
+ { 0x48C0, 59461 },
+ { 0x48C1, 59509 },
+ { 0x48C2, 59452 },
+ { 0x48C3, 59503 },
+ { 0x48C4, 59446 },
+ { 0x48C5, 59494 },
+ { 0x48C6, 59458 },
+ { 0x48C7, 59506 },
+ { 0x48C8, 59515 },
+ { 0x48C9, 59530 },
+ { 0x48CA, 59539 },
+ { 0x48CB, 59497 },
+ { 0x48CC, 59533 },
+ { 0x48CD, 59536 },
+ { 0x48CE, 59512 },
+ { 0x48CF, 59482 },
+ { 0x48D0, 59527 },
+ { 0x48D1, 59449 },
+ { 0x48D2, 59500 },
+ { 0x48D3, 59470 },
+ { 0x48D4, 59473 },
+ { 0x48D5, 59518 },
+ { 0x48D6, 59443 },
+ { 0x48D7, 59491 },
+ { 0x48D8, 59467 },
+ { 0x48D9, 59488 },
+ { 0x48DA, 59476 },
+ { 0x48DB, 59464 },
+ { 0x48DC, 59485 },
+ { 0x48DD, 59479 },
+ { 0x48DE, 59455 },
+ { 0x48DF, 59524 },
+ { 0x48E0, 59521 },
+ { 0x48E1, 59542 },
+ { 0x48E2, 96084 },
+ { 0x48E3, 96099 },
+ { 0x48E4, 96090 },
+ { 0x48E5, 96123 },
+ { 0x48E6, 96096 },
+ { 0x48E7, 96153 },
+ { 0x48E8, 96087 },
+ { 0x48E9, 96102 },
+ { 0x48EA, 96093 },
+ { 0x48EB, 96105 },
+ { 0x48EC, 96129 },
+ { 0x48ED, 96189 },
+ { 0x48EE, 96117 },
+ { 0x48EF, 96177 },
+ { 0x48F0, 96180 },
+ { 0x48F1, 96192 },
+ { 0x48F2, 96111 },
+ { 0x48F3, 96168 },
+ { 0x48F4, 96126 },
+ { 0x48F5, 96186 },
+ { 0x48F6, 96183 },
+ { 0x48F7, 96198 },
+ { 0x48F8, 96213 },
+ { 0x48F9, 96222 },
+ { 0x48FA, 96171 },
+ { 0x48FB, 96216 },
+ { 0x48FC, 96204 },
+ { 0x48FD, 96219 },
+ { 0x48FE, 96195 },
+ { 0x48FF, 96150 },
+ { 0x4900, 96210 },
+ { 0x4901, 96114 },
+ { 0x4902, 96174 },
+ { 0x4903, 96138 },
+ { 0x4904, 96141 },
+ { 0x4905, 96201 },
+ { 0x4906, 96108 },
+ { 0x4907, 96162 },
+ { 0x4908, 96165 },
+ { 0x4909, 96135 },
+ { 0x490A, 96159 },
+ { 0x490B, 96144 },
+ { 0x490C, 96132 },
+ { 0x490D, 96156 },
+ { 0x490E, 96207 },
+ { 0x490F, 96147 },
+ { 0x4910, 96120 },
+ { 0x4911, 96015 },
+ { 0x4912, 96064 },
+ { 0x4913, 96052 },
+ { 0x4914, 96076 },
+ { 0x4915, 96060 },
+ { 0x4916, 96080 },
+ { 0x4917, 96048 },
+ { 0x4918, 96068 },
+ { 0x4919, 96056 },
+ { 0x491A, 96072 },
+ { 0x491B, 96009 },
+ { 0x491C, 96012 },
+ { 0x491D, 96036 },
+ { 0x491E, 96018 },
+ { 0x491F, 96024 },
+ { 0x4920, 96045 },
+ { 0x4921, 96030 },
+ { 0x4922, 96027 },
+ { 0x4923, 96021 },
+ { 0x4924, 96042 },
+ { 0x4925, 96039 },
+ { 0x4926, 96033 },
+ { 0x4927, 58446 },
+ { 0x4928, 58451 },
+ { 0x4929, 58440 },
+ { 0x492A, 58437 },
+ { 0x492B, 58510 },
+ { 0x492C, 58519 },
+ { 0x492D, 58513 },
+ { 0x492E, 58546 },
+ { 0x492F, 58516 },
+ { 0x4930, 58579 },
+ { 0x4931, 58655 },
+ { 0x4932, 58651 },
+ { 0x4933, 58537 },
+ { 0x4934, 58522 },
+ { 0x4935, 58564 },
+ { 0x4936, 58525 },
+ { 0x4937, 58552 },
+ { 0x4938, 58606 },
+ { 0x4939, 58540 },
+ { 0x493A, 58600 },
+ { 0x493B, 58612 },
+ { 0x493C, 58531 },
+ { 0x493D, 58591 },
+ { 0x493E, 58549 },
+ { 0x493F, 58603 },
+ { 0x4940, 58618 },
+ { 0x4941, 58633 },
+ { 0x4942, 58639 },
+ { 0x4943, 58594 },
+ { 0x4944, 58636 },
+ { 0x4945, 58615 },
+ { 0x4946, 58576 },
+ { 0x4947, 58630 },
+ { 0x4948, 58534 },
+ { 0x4949, 58597 },
+ { 0x494A, 58561 },
+ { 0x494B, 58567 },
+ { 0x494C, 58621 },
+ { 0x494D, 58528 },
+ { 0x494E, 58588 },
+ { 0x494F, 58558 },
+ { 0x4950, 58585 },
+ { 0x4951, 58570 },
+ { 0x4952, 58555 },
+ { 0x4953, 58609 },
+ { 0x4954, 58582 },
+ { 0x4955, 58624 },
+ { 0x4956, 58627 },
+ { 0x4957, 58573 },
+ { 0x4958, 58543 },
+ { 0x4959, 58428 },
+ { 0x495A, 58443 },
+ { 0x495B, 58462 },
+ { 0x495C, 58454 },
+ { 0x495D, 58478 },
+ { 0x495E, 58458 },
+ { 0x495F, 58486 },
+ { 0x4960, 58495 },
+ { 0x4961, 58505 },
+ { 0x4962, 58474 },
+ { 0x4963, 58466 },
+ { 0x4964, 58482 },
+ { 0x4965, 58470 },
+ { 0x4966, 58434 },
+ { 0x4967, 58426 },
+ { 0x4968, 58422 },
+ { 0x4969, 58431 },
+ { 0x496A, 58647 },
+ { 0x496B, 58642 },
+ { 0x496C, 58663 },
+ { 0x496D, 58659 },
+ { 0x496E, 58490 },
+ { 0x496F, 58500 },
+ { 0x4970, 88003 },
+ { 0x4971, 87983 },
+ { 0x4972, 87991 },
+ { 0x4973, 88007 },
+ { 0x4974, 87999 },
+ { 0x4975, 87995 },
+ { 0x4976, 87987 },
+ { 0x4977, 88011 },
+ { 0x4978, 88015 },
+ { 0x4979, 88019 },
+ { 0x497A, 88027 },
+ { 0x497B, 88023 },
+ { 0x497C, 65117 },
+ { 0x497D, 65235 },
+ { 0x497E, 65250 },
+ { 0x497F, 65241 },
+ { 0x4980, 65274 },
+ { 0x4981, 65247 },
+ { 0x4982, 65304 },
+ { 0x4983, 65368 },
+ { 0x4984, 65376 },
+ { 0x4985, 65364 },
+ { 0x4986, 65372 },
+ { 0x4987, 65238 },
+ { 0x4988, 65253 },
+ { 0x4989, 65244 },
+ { 0x498A, 65256 },
+ { 0x498B, 65280 },
+ { 0x498C, 65331 },
+ { 0x498D, 65268 },
+ { 0x498E, 65325 },
+ { 0x498F, 65334 },
+ { 0x4990, 65262 },
+ { 0x4991, 65316 },
+ { 0x4992, 65277 },
+ { 0x4993, 65328 },
+ { 0x4994, 65340 },
+ { 0x4995, 65355 },
+ { 0x4996, 65361 },
+ { 0x4997, 65319 },
+ { 0x4998, 65358 },
+ { 0x4999, 65337 },
+ { 0x499A, 65301 },
+ { 0x499B, 65352 },
+ { 0x499C, 65265 },
+ { 0x499D, 65322 },
+ { 0x499E, 65289 },
+ { 0x499F, 65292 },
+ { 0x49A0, 65343 },
+ { 0x49A1, 65259 },
+ { 0x49A2, 65313 },
+ { 0x49A3, 65286 },
+ { 0x49A4, 65310 },
+ { 0x49A5, 65295 },
+ { 0x49A6, 65283 },
+ { 0x49A7, 65307 },
+ { 0x49A8, 65346 },
+ { 0x49A9, 65349 },
+ { 0x49AA, 65298 },
+ { 0x49AB, 65271 },
+ { 0x49AC, 65185 },
+ { 0x49AD, 65173 },
+ { 0x49AE, 65197 },
+ { 0x49AF, 65181 },
+ { 0x49B0, 65201 },
+ { 0x49B1, 65220 },
+ { 0x49B2, 65230 },
+ { 0x49B3, 65215 },
+ { 0x49B4, 65225 },
+ { 0x49B5, 65169 },
+ { 0x49B6, 65205 },
+ { 0x49B7, 65189 },
+ { 0x49B8, 65177 },
+ { 0x49B9, 65210 },
+ { 0x49BA, 65193 },
+ { 0x49BB, 65134 },
+ { 0x49BC, 65128 },
+ { 0x49BD, 65125 },
+ { 0x49BE, 65122 },
+ { 0x49BF, 65119 },
+ { 0x49C0, 65131 },
+ { 0x49C1, 65167 },
+ { 0x49C2, 65380 },
+ { 0x49C3, 65115 },
+ { 0x49C4, 65155 },
+ { 0x49C5, 65137 },
+ { 0x49C6, 65143 },
+ { 0x49C7, 65164 },
+ { 0x49C8, 65149 },
+ { 0x49C9, 65146 },
+ { 0x49CA, 65140 },
+ { 0x49CB, 65161 },
+ { 0x49CC, 65158 },
+ { 0x49CD, 65152 },
+ { 0x49CE, 62850 },
+ { 0x49CF, 62865 },
+ { 0x49D0, 62856 },
+ { 0x49D1, 62889 },
+ { 0x49D2, 62862 },
+ { 0x49D3, 62919 },
+ { 0x49D4, 62983 },
+ { 0x49D5, 62991 },
+ { 0x49D6, 62979 },
+ { 0x49D7, 62987 },
+ { 0x49D8, 62853 },
+ { 0x49D9, 62868 },
+ { 0x49DA, 62859 },
+ { 0x49DB, 62871 },
+ { 0x49DC, 62895 },
+ { 0x49DD, 62946 },
+ { 0x49DE, 62883 },
+ { 0x49DF, 62940 },
+ { 0x49E0, 62949 },
+ { 0x49E1, 62877 },
+ { 0x49E2, 62931 },
+ { 0x49E3, 62892 },
+ { 0x49E4, 62943 },
+ { 0x49E5, 62955 },
+ { 0x49E6, 62970 },
+ { 0x49E7, 62976 },
+ { 0x49E8, 62934 },
+ { 0x49E9, 62973 },
+ { 0x49EA, 62952 },
+ { 0x49EB, 62916 },
+ { 0x49EC, 62967 },
+ { 0x49ED, 62880 },
+ { 0x49EE, 62937 },
+ { 0x49EF, 62904 },
+ { 0x49F0, 62907 },
+ { 0x49F1, 62958 },
+ { 0x49F2, 62874 },
+ { 0x49F3, 62928 },
+ { 0x49F4, 62901 },
+ { 0x49F5, 62925 },
+ { 0x49F6, 62910 },
+ { 0x49F7, 62898 },
+ { 0x49F8, 62922 },
+ { 0x49F9, 62961 },
+ { 0x49FA, 62964 },
+ { 0x49FB, 62913 },
+ { 0x49FC, 62886 },
+ { 0x49FD, 62807 },
+ { 0x49FE, 62795 },
+ { 0x49FF, 62819 },
+ { 0x4A00, 62803 },
+ { 0x4A01, 62823 },
+ { 0x4A02, 62827 },
+ { 0x4A03, 62832 },
+ { 0x4A04, 62791 },
+ { 0x4A05, 62811 },
+ { 0x4A06, 62799 },
+ { 0x4A07, 62815 },
+ { 0x4A08, 62786 },
+ { 0x4A09, 62783 },
+ { 0x4A0A, 62780 },
+ { 0x4A0B, 62774 },
+ { 0x4A0C, 62771 },
+ { 0x4A0D, 62777 },
+ { 0x4A0E, 62789 },
+ { 0x4A0F, 62847 },
+ { 0x4A10, 63118 },
+ { 0x4A11, 63115 },
+ { 0x4A12, 63121 },
+ { 0x4A13, 63124 },
+ { 0x4A14, 63127 },
+ { 0x4A15, 62766 },
+ { 0x4A16, 63083 },
+ { 0x4A17, 63075 },
+ { 0x4A18, 63032 },
+ { 0x4A19, 63014 },
+ { 0x4A1A, 63023 },
+ { 0x4A1B, 63103 },
+ { 0x4A1C, 63108 },
+ { 0x4A1D, 63040 },
+ { 0x4A1E, 63046 },
+ { 0x4A1F, 63097 },
+ { 0x4A20, 63091 },
+ { 0x4A21, 63068 },
+ { 0x4A22, 63052 },
+ { 0x4A23, 63060 },
+ { 0x4A24, 63009 },
+ { 0x4A25, 62999 },
+ { 0x4A26, 63004 },
+ { 0x4A27, 62995 },
+ { 0x4A28, 62837 },
+ { 0x4A29, 62842 },
+ { 0x4A2A, 13971 },
+ { 0x4A2B, 13986 },
+ { 0x4A2C, 13977 },
+ { 0x4A2D, 14010 },
+ { 0x4A2E, 13983 },
+ { 0x4A2F, 14040 },
+ { 0x4A30, 14107 },
+ { 0x4A31, 14115 },
+ { 0x4A32, 14103 },
+ { 0x4A33, 14111 },
+ { 0x4A34, 13974 },
+ { 0x4A35, 13989 },
+ { 0x4A36, 13980 },
+ { 0x4A37, 13992 },
+ { 0x4A38, 14016 },
+ { 0x4A39, 14067 },
+ { 0x4A3A, 14004 },
+ { 0x4A3B, 14061 },
+ { 0x4A3C, 14073 },
+ { 0x4A3D, 13998 },
+ { 0x4A3E, 14052 },
+ { 0x4A3F, 14013 },
+ { 0x4A40, 14064 },
+ { 0x4A41, 14079 },
+ { 0x4A42, 14094 },
+ { 0x4A43, 14100 },
+ { 0x4A44, 14055 },
+ { 0x4A45, 14097 },
+ { 0x4A46, 14076 },
+ { 0x4A47, 14037 },
+ { 0x4A48, 14091 },
+ { 0x4A49, 14001 },
+ { 0x4A4A, 14058 },
+ { 0x4A4B, 14025 },
+ { 0x4A4C, 14028 },
+ { 0x4A4D, 14082 },
+ { 0x4A4E, 13995 },
+ { 0x4A4F, 14049 },
+ { 0x4A50, 14022 },
+ { 0x4A51, 14046 },
+ { 0x4A52, 14031 },
+ { 0x4A53, 14019 },
+ { 0x4A54, 14043 },
+ { 0x4A55, 14085 },
+ { 0x4A56, 14088 },
+ { 0x4A57, 14034 },
+ { 0x4A58, 14007 },
+ { 0x4A59, 14070 },
+ { 0x4A5A, 13928 },
+ { 0x4A5B, 13916 },
+ { 0x4A5C, 13940 },
+ { 0x4A5D, 13924 },
+ { 0x4A5E, 13944 },
+ { 0x4A5F, 13953 },
+ { 0x4A60, 13963 },
+ { 0x4A61, 13948 },
+ { 0x4A62, 13958 },
+ { 0x4A63, 13912 },
+ { 0x4A64, 13932 },
+ { 0x4A65, 13920 },
+ { 0x4A66, 13936 },
+ { 0x4A67, 13874 },
+ { 0x4A68, 13871 },
+ { 0x4A69, 13868 },
+ { 0x4A6A, 13877 },
+ { 0x4A6B, 13880 },
+ { 0x4A6C, 13968 },
+ { 0x4A6D, 14119 },
+ { 0x4A6E, 13865 },
+ { 0x4A6F, 13900 },
+ { 0x4A70, 13882 },
+ { 0x4A71, 13888 },
+ { 0x4A72, 13909 },
+ { 0x4A73, 13894 },
+ { 0x4A74, 13891 },
+ { 0x4A75, 13885 },
+ { 0x4A76, 13906 },
+ { 0x4A77, 13903 },
+ { 0x4A78, 13897 },
+ { 0x4A79, 33823 },
+ { 0x4A7A, 33838 },
+ { 0x4A7B, 33829 },
+ { 0x4A7C, 33862 },
+ { 0x4A7D, 33835 },
+ { 0x4A7E, 33892 },
+ { 0x4A7F, 33826 },
+ { 0x4A80, 33841 },
+ { 0x4A81, 33832 },
+ { 0x4A82, 33844 },
+ { 0x4A83, 33868 },
+ { 0x4A84, 33919 },
+ { 0x4A85, 33856 },
+ { 0x4A86, 33913 },
+ { 0x4A87, 33922 },
+ { 0x4A88, 33850 },
+ { 0x4A89, 33904 },
+ { 0x4A8A, 33865 },
+ { 0x4A8B, 33916 },
+ { 0x4A8C, 33928 },
+ { 0x4A8D, 33943 },
+ { 0x4A8E, 33949 },
+ { 0x4A8F, 33907 },
+ { 0x4A90, 33946 },
+ { 0x4A91, 33925 },
+ { 0x4A92, 33889 },
+ { 0x4A93, 33940 },
+ { 0x4A94, 33853 },
+ { 0x4A95, 33910 },
+ { 0x4A96, 33877 },
+ { 0x4A97, 33880 },
+ { 0x4A98, 33931 },
+ { 0x4A99, 33847 },
+ { 0x4A9A, 33901 },
+ { 0x4A9B, 33874 },
+ { 0x4A9C, 33898 },
+ { 0x4A9D, 33883 },
+ { 0x4A9E, 33871 },
+ { 0x4A9F, 33895 },
+ { 0x4AA0, 33937 },
+ { 0x4AA1, 33886 },
+ { 0x4AA2, 33859 },
+ { 0x4AA3, 33934 },
+ { 0x4AA4, 33754 },
+ { 0x4AA5, 33751 },
+ { 0x4AA6, 33803 },
+ { 0x4AA7, 33791 },
+ { 0x4AA8, 33815 },
+ { 0x4AA9, 33799 },
+ { 0x4AAA, 33819 },
+ { 0x4AAB, 33787 },
+ { 0x4AAC, 33807 },
+ { 0x4AAD, 33795 },
+ { 0x4AAE, 33811 },
+ { 0x4AAF, 33748 },
+ { 0x4AB0, 33745 },
+ { 0x4AB1, 33775 },
+ { 0x4AB2, 33757 },
+ { 0x4AB3, 33763 },
+ { 0x4AB4, 33784 },
+ { 0x4AB5, 33769 },
+ { 0x4AB6, 33766 },
+ { 0x4AB7, 33760 },
+ { 0x4AB8, 33781 },
+ { 0x4AB9, 33778 },
+ { 0x4ABA, 33772 },
+ { 0x4ABB, 11942 },
+ { 0x4ABC, 11981 },
+ { 0x4ABD, 11984 },
+ { 0x4ABE, 11951 },
+ { 0x4ABF, 11963 },
+ { 0x4AC0, 12000 },
+ { 0x4AC1, 11954 },
+ { 0x4AC2, 11990 },
+ { 0x4AC3, 11927 },
+ { 0x4AC4, 11948 },
+ { 0x4AC5, 11939 },
+ { 0x4AC6, 11969 },
+ { 0x4AC7, 11993 },
+ { 0x4AC8, 11957 },
+ { 0x4AC9, 11945 },
+ { 0x4ACA, 11960 },
+ { 0x4ACB, 11987 },
+ { 0x4ACC, 11936 },
+ { 0x4ACD, 11924 },
+ { 0x4ACE, 11930 },
+ { 0x4ACF, 11972 },
+ { 0x4AD0, 11933 },
+ { 0x4AD1, 11996 },
+ { 0x4AD2, 11975 },
+ { 0x4AD3, 11966 },
+ { 0x4AD4, 11978 },
+ { 0x4AD5, 12013 },
+ { 0x4AD6, 12018 },
+ { 0x4AD7, 12023 },
+ { 0x4AD8, 11880 },
+ { 0x4AD9, 11900 },
+ { 0x4ADA, 11888 },
+ { 0x4ADB, 11916 },
+ { 0x4ADC, 11896 },
+ { 0x4ADD, 11920 },
+ { 0x4ADE, 11884 },
+ { 0x4ADF, 11912 },
+ { 0x4AE0, 11892 },
+ { 0x4AE1, 11904 },
+ { 0x4AE2, 11908 },
+ { 0x4AE3, 11844 },
+ { 0x4AE4, 11868 },
+ { 0x4AE5, 11850 },
+ { 0x4AE6, 11856 },
+ { 0x4AE7, 11877 },
+ { 0x4AE8, 11862 },
+ { 0x4AE9, 11859 },
+ { 0x4AEA, 11853 },
+ { 0x4AEB, 11874 },
+ { 0x4AEC, 11871 },
+ { 0x4AED, 11865 },
+ { 0x4AEE, 12004 },
+ { 0x4AEF, 12007 },
+ { 0x4AF0, 11840 },
+ { 0x4AF1, 11847 },
+ { 0x4AF2, 11837 },
+ { 0x4AF3, 12010 },
+ { 0x4AF4, 55097 },
+ { 0x4AF5, 54957 },
+ { 0x4AF6, 55022 },
+ { 0x4AF7, 55037 },
+ { 0x4AF8, 55027 },
+ { 0x4AF9, 55032 },
+ { 0x4AFA, 54997 },
+ { 0x4AFB, 55017 },
+ { 0x4AFC, 54962 },
+ { 0x4AFD, 54967 },
+ { 0x4AFE, 55042 },
+ { 0x4AFF, 54992 },
+ { 0x4B00, 55002 },
+ { 0x4B01, 55052 },
+ { 0x4B02, 55077 },
+ { 0x4B03, 55012 },
+ { 0x4B04, 55047 },
+ { 0x4B05, 55062 },
+ { 0x4B06, 55072 },
+ { 0x4B07, 55102 },
+ { 0x4B08, 54987 },
+ { 0x4B09, 54977 },
+ { 0x4B0A, 54972 },
+ { 0x4B0B, 54982 },
+ { 0x4B0C, 55007 },
+ { 0x4B0D, 55082 },
+ { 0x4B0E, 55087 },
+ { 0x4B0F, 55092 },
+ { 0x4B10, 55057 },
+ { 0x4B11, 55107 },
+ { 0x4B12, 55067 },
+ { 0x4B13, 55112 },
+ { 0x4B14, 54901 },
+ { 0x4B15, 54761 },
+ { 0x4B16, 54826 },
+ { 0x4B17, 54841 },
+ { 0x4B18, 54831 },
+ { 0x4B19, 54836 },
+ { 0x4B1A, 54801 },
+ { 0x4B1B, 54821 },
+ { 0x4B1C, 54766 },
+ { 0x4B1D, 54771 },
+ { 0x4B1E, 54846 },
+ { 0x4B1F, 54796 },
+ { 0x4B20, 54806 },
+ { 0x4B21, 54856 },
+ { 0x4B22, 54881 },
+ { 0x4B23, 54816 },
+ { 0x4B24, 54851 },
+ { 0x4B25, 54866 },
+ { 0x4B26, 54876 },
+ { 0x4B27, 54906 },
+ { 0x4B28, 54791 },
+ { 0x4B29, 54781 },
+ { 0x4B2A, 54776 },
+ { 0x4B2B, 54786 },
+ { 0x4B2C, 54811 },
+ { 0x4B2D, 54886 },
+ { 0x4B2E, 54891 },
+ { 0x4B2F, 54896 },
+ { 0x4B30, 54861 },
+ { 0x4B31, 54911 },
+ { 0x4B32, 54871 },
+ { 0x4B33, 54916 },
+ { 0x4B34, 54745 },
+ { 0x4B35, 54721 },
+ { 0x4B36, 54729 },
+ { 0x4B37, 54757 },
+ { 0x4B38, 54737 },
+ { 0x4B39, 54733 },
+ { 0x4B3A, 54725 },
+ { 0x4B3B, 54753 },
+ { 0x4B3C, 54749 },
+ { 0x4B3D, 54741 },
+ { 0x4B3E, 54921 },
+ { 0x4B3F, 54949 },
+ { 0x4B40, 54945 },
+ { 0x4B41, 54929 },
+ { 0x4B42, 54925 },
+ { 0x4B43, 54933 },
+ { 0x4B44, 54953 },
+ { 0x4B45, 54937 },
+ { 0x4B46, 54941 },
+ { 0x4B47, 54718 },
+ { 0x4B48, 9008 },
+ { 0x4B49, 8988 },
+ { 0x4B4A, 8993 },
+ { 0x4B4B, 8998 },
+ { 0x4B4C, 8963 },
+ { 0x4B4D, 9038 },
+ { 0x4B4E, 9033 },
+ { 0x4B4F, 9053 },
+ { 0x4B50, 8978 },
+ { 0x4B51, 8973 },
+ { 0x4B52, 9048 },
+ { 0x4B53, 9018 },
+ { 0x4B54, 8953 },
+ { 0x4B55, 8958 },
+ { 0x4B56, 9023 },
+ { 0x4B57, 9063 },
+ { 0x4B58, 9003 },
+ { 0x4B59, 9058 },
+ { 0x4B5A, 9013 },
+ { 0x4B5B, 8968 },
+ { 0x4B5C, 9043 },
+ { 0x4B5D, 8928 },
+ { 0x4B5E, 8933 },
+ { 0x4B5F, 8938 },
+ { 0x4B60, 8943 },
+ { 0x4B61, 8948 },
+ { 0x4B62, 9028 },
+ { 0x4B63, 8983 },
+ { 0x4B64, 9092 },
+ { 0x4B65, 9068 },
+ { 0x4B66, 9098 },
+ { 0x4B67, 9080 },
+ { 0x4B68, 9086 },
+ { 0x4B69, 9074 },
+ { 0x4B6A, 9104 },
+ { 0x4B6B, 9116 },
+ { 0x4B6C, 9110 },
+ { 0x4B6D, 9127 },
+ { 0x4B6E, 9122 },
+ { 0x4B6F, 9170 },
+ { 0x4B70, 9133 },
+ { 0x4B71, 9140 },
+ { 0x4B72, 9176 },
+ { 0x4B73, 9151 },
+ { 0x4B74, 9146 },
+ { 0x4B75, 9157 },
+ { 0x4B76, 9164 },
+ { 0x4B77, 9200 },
+ { 0x4B78, 9194 },
+ { 0x4B79, 9205 },
+ { 0x4B7A, 9212 },
+ { 0x4B7B, 9223 },
+ { 0x4B7C, 9218 },
+ { 0x4B7D, 9183 },
+ { 0x4B7E, 9229 },
+ { 0x4B7F, 9236 },
+ { 0x4B80, 9188 },
+ { 0x4B81, 88552 },
+ { 0x4B82, 88555 },
+ { 0x4B83, 88565 },
+ { 0x4B84, 88580 },
+ { 0x4B85, 88560 },
+ { 0x4B86, 88570 },
+ { 0x4B87, 88591 },
+ { 0x4B88, 88586 },
+ { 0x4B89, 88575 },
+ { 0x4B8A, 88665 },
+ { 0x4B8B, 88668 },
+ { 0x4B8C, 88711 },
+ { 0x4B8D, 88716 },
+ { 0x4B8E, 88689 },
+ { 0x4B8F, 88722 },
+ { 0x4B90, 88684 },
+ { 0x4B91, 88694 },
+ { 0x4B92, 88728 },
+ { 0x4B93, 88738 },
+ { 0x4B94, 88743 },
+ { 0x4B95, 88675 },
+ { 0x4B96, 88671 },
+ { 0x4B97, 89887 },
+ { 0x4B98, 89918 },
+ { 0x4B99, 89902 },
+ { 0x4B9A, 89895 },
+ { 0x4B9B, 89908 },
+ { 0x4B9C, 89913 },
+ { 0x4B9D, 88748 },
+ { 0x4B9E, 88756 },
+ { 0x4B9F, 88759 },
+ { 0x4BA0, 88764 },
+ { 0x4BA1, 88771 },
+ { 0x4BA2, 88774 },
+ { 0x4BA3, 88799 },
+ { 0x4BA4, 88804 },
+ { 0x4BA5, 88779 },
+ { 0x4BA6, 88809 },
+ { 0x4BA7, 88784 },
+ { 0x4BA8, 88789 },
+ { 0x4BA9, 88794 },
+ { 0x4BAA, 92036 },
+ { 0x4BAB, 92819 },
+ { 0x4BAC, 92039 },
+ { 0x4BAD, 92047 },
+ { 0x4BAE, 88814 },
+ { 0x4BAF, 88817 },
+ { 0x4BB0, 88837 },
+ { 0x4BB1, 88828 },
+ { 0x4BB2, 88822 },
+ { 0x4BB3, 92822 },
+ { 0x4BB4, 92052 },
+ { 0x4BB5, 92055 },
+ { 0x4BB6, 92058 },
+ { 0x4BB7, 92825 },
+ { 0x4BB8, 92828 },
+ { 0x4BB9, 89923 },
+ { 0x4BBA, 89963 },
+ { 0x4BBB, 89926 },
+ { 0x4BBC, 89951 },
+ { 0x4BBD, 89931 },
+ { 0x4BBE, 89938 },
+ { 0x4BBF, 92063 },
+ { 0x4BC0, 93425 },
+ { 0x4BC1, 88842 },
+ { 0x4BC2, 89968 },
+ { 0x4BC3, 92066 },
+ { 0x4BC4, 93428 },
+ { 0x4BC5, 89977 },
+ { 0x4BC6, 89980 },
+ { 0x4BC7, 92831 },
+ { 0x4BC8, 89985 },
+ { 0x4BC9, 92834 },
+ { 0x4BCA, 88845 },
+ { 0x4BCB, 88848 },
+ { 0x4BCC, 88853 },
+ { 0x4BCD, 88858 },
+ { 0x4BCE, 88864 },
+ { 0x4BCF, 88867 },
+ { 0x4BD0, 88873 },
+ { 0x4BD1, 88886 },
+ { 0x4BD2, 92837 },
+ { 0x4BD3, 92840 },
+ { 0x4BD4, 89988 },
+ { 0x4BD5, 92069 },
+ { 0x4BD6, 88891 },
+ { 0x4BD7, 89991 },
+ { 0x4BD8, 89999 },
+ { 0x4BD9, 90133 },
+ { 0x4BDA, 90151 },
+ { 0x4BDB, 90007 },
+ { 0x4BDC, 90013 },
+ { 0x4BDD, 90019 },
+ { 0x4BDE, 90027 },
+ { 0x4BDF, 90139 },
+ { 0x4BE0, 90101 },
+ { 0x4BE1, 90033 },
+ { 0x4BE2, 90039 },
+ { 0x4BE3, 90045 },
+ { 0x4BE4, 90107 },
+ { 0x4BE5, 90053 },
+ { 0x4BE6, 90059 },
+ { 0x4BE7, 90065 },
+ { 0x4BE8, 90113 },
+ { 0x4BE9, 90073 },
+ { 0x4BEA, 90119 },
+ { 0x4BEB, 90079 },
+ { 0x4BEC, 90145 },
+ { 0x4BED, 90085 },
+ { 0x4BEE, 90127 },
+ { 0x4BEF, 90157 },
+ { 0x4BF0, 90160 },
+ { 0x4BF1, 92845 },
+ { 0x4BF2, 92848 },
+ { 0x4BF3, 88899 },
+ { 0x4BF4, 90163 },
+ { 0x4BF5, 90166 },
+ { 0x4BF6, 90181 },
+ { 0x4BF7, 92075 },
+ { 0x4BF8, 90186 },
+ { 0x4BF9, 90189 },
+ { 0x4BFA, 92083 },
+ { 0x4BFB, 88902 },
+ { 0x4BFC, 88909 },
+ { 0x4BFD, 88905 },
+ { 0x4BFE, 88914 },
+ { 0x4BFF, 90196 },
+ { 0x4C00, 90204 },
+ { 0x4C01, 92091 },
+ { 0x4C02, 90209 },
+ { 0x4C03, 92851 },
+ { 0x4C04, 90363 },
+ { 0x4C05, 90366 },
+ { 0x4C06, 92094 },
+ { 0x4C07, 92097 },
+ { 0x4C08, 92101 },
+ { 0x4C09, 92106 },
+ { 0x4C0A, 92109 },
+ { 0x4C0B, 88597 },
+ { 0x4C0C, 88608 },
+ { 0x4C0D, 88600 },
+ { 0x4C0E, 88918 },
+ { 0x4C0F, 88921 },
+ { 0x4C10, 88940 },
+ { 0x4C11, 88935 },
+ { 0x4C12, 88955 },
+ { 0x4C13, 88960 },
+ { 0x4C14, 88930 },
+ { 0x4C15, 92112 },
+ { 0x4C16, 92115 },
+ { 0x4C17, 88965 },
+ { 0x4C18, 88968 },
+ { 0x4C19, 88976 },
+ { 0x4C1A, 88981 },
+ { 0x4C1B, 88971 },
+ { 0x4C1C, 88991 },
+ { 0x4C1D, 88996 },
+ { 0x4C1E, 88987 },
+ { 0x4C1F, 92118 },
+ { 0x4C20, 92854 },
+ { 0x4C21, 92121 },
+ { 0x4C22, 92129 },
+ { 0x4C23, 92132 },
+ { 0x4C24, 92137 },
+ { 0x4C25, 92144 },
+ { 0x4C26, 92153 },
+ { 0x4C27, 92199 },
+ { 0x4C28, 92232 },
+ { 0x4C29, 92238 },
+ { 0x4C2A, 92158 },
+ { 0x4C2B, 92163 },
+ { 0x4C2C, 92209 },
+ { 0x4C2D, 92245 },
+ { 0x4C2E, 92250 },
+ { 0x4C2F, 92215 },
+ { 0x4C30, 92169 },
+ { 0x4C31, 92220 },
+ { 0x4C32, 92174 },
+ { 0x4C33, 92179 },
+ { 0x4C34, 92189 },
+ { 0x4C35, 92194 },
+ { 0x4C36, 89001 },
+ { 0x4C37, 89004 },
+ { 0x4C38, 90369 },
+ { 0x4C39, 90377 },
+ { 0x4C3A, 90386 },
+ { 0x4C3B, 90393 },
+ { 0x4C3C, 90540 },
+ { 0x4C3D, 90405 },
+ { 0x4C3E, 90548 },
+ { 0x4C3F, 90753 },
+ { 0x4C40, 90553 },
+ { 0x4C41, 90558 },
+ { 0x4C42, 90565 },
+ { 0x4C43, 90570 },
+ { 0x4C44, 90419 },
+ { 0x4C45, 90424 },
+ { 0x4C46, 90583 },
+ { 0x4C47, 90590 },
+ { 0x4C48, 90429 },
+ { 0x4C49, 90434 },
+ { 0x4C4A, 90441 },
+ { 0x4C4B, 90446 },
+ { 0x4C4C, 90765 },
+ { 0x4C4D, 90610 },
+ { 0x4C4E, 90459 },
+ { 0x4C4F, 90629 },
+ { 0x4C50, 90634 },
+ { 0x4C51, 90771 },
+ { 0x4C52, 90471 },
+ { 0x4C53, 90641 },
+ { 0x4C54, 90646 },
+ { 0x4C55, 90480 },
+ { 0x4C56, 90778 },
+ { 0x4C57, 90653 },
+ { 0x4C58, 90659 },
+ { 0x4C59, 90668 },
+ { 0x4C5A, 90813 },
+ { 0x4C5B, 90673 },
+ { 0x4C5C, 90678 },
+ { 0x4C5D, 90685 },
+ { 0x4C5E, 90487 },
+ { 0x4C5F, 90492 },
+ { 0x4C60, 90499 },
+ { 0x4C61, 90709 },
+ { 0x4C62, 90714 },
+ { 0x4C63, 90523 },
+ { 0x4C64, 90721 },
+ { 0x4C65, 90726 },
+ { 0x4C66, 90731 },
+ { 0x4C67, 90736 },
+ { 0x4C68, 90788 },
+ { 0x4C69, 90743 },
+ { 0x4C6A, 90798 },
+ { 0x4C6B, 90400 },
+ { 0x4C6C, 90528 },
+ { 0x4C6D, 90533 },
+ { 0x4C6E, 90372 },
+ { 0x4C6F, 92305 },
+ { 0x4C70, 92314 },
+ { 0x4C71, 90825 },
+ { 0x4C72, 90828 },
+ { 0x4C73, 90836 },
+ { 0x4C74, 90839 },
+ { 0x4C75, 92861 },
+ { 0x4C76, 90848 },
+ { 0x4C77, 90851 },
+ { 0x4C78, 92319 },
+ { 0x4C79, 92327 },
+ { 0x4C7A, 92322 },
+ { 0x4C7B, 92331 },
+ { 0x4C7C, 90854 },
+ { 0x4C7D, 92336 },
+ { 0x4C7E, 93446 },
+ { 0x4C7F, 93675 },
+ { 0x4C80, 93683 },
+ { 0x4C81, 89008 },
+ { 0x4C82, 89011 },
+ { 0x4C83, 89016 },
+ { 0x4C84, 89021 },
+ { 0x4C85, 90857 },
+ { 0x4C86, 90860 },
+ { 0x4C87, 90865 },
+ { 0x4C88, 92864 },
+ { 0x4C89, 92342 },
+ { 0x4C8A, 92345 },
+ { 0x4C8B, 92349 },
+ { 0x4C8C, 92352 },
+ { 0x4C8D, 92376 },
+ { 0x4C8E, 92371 },
+ { 0x4C8F, 92359 },
+ { 0x4C90, 92366 },
+ { 0x4C91, 92867 },
+ { 0x4C92, 92382 },
+ { 0x4C93, 92406 },
+ { 0x4C94, 92389 },
+ { 0x4C95, 92401 },
+ { 0x4C96, 92385 },
+ { 0x4C97, 89026 },
+ { 0x4C98, 89029 },
+ { 0x4C99, 90873 },
+ { 0x4C9A, 90886 },
+ { 0x4C9B, 90891 },
+ { 0x4C9C, 90899 },
+ { 0x4C9D, 90904 },
+ { 0x4C9E, 90876 },
+ { 0x4C9F, 90911 },
+ { 0x4CA0, 90927 },
+ { 0x4CA1, 90934 },
+ { 0x4CA2, 90914 },
+ { 0x4CA3, 90939 },
+ { 0x4CA4, 90942 },
+ { 0x4CA5, 90945 },
+ { 0x4CA6, 90950 },
+ { 0x4CA7, 92411 },
+ { 0x4CA8, 92870 },
+ { 0x4CA9, 93449 },
+ { 0x4CAA, 89034 },
+ { 0x4CAB, 89041 },
+ { 0x4CAC, 89037 },
+ { 0x4CAD, 90953 },
+ { 0x4CAE, 89050 },
+ { 0x4CAF, 89058 },
+ { 0x4CB0, 89097 },
+ { 0x4CB1, 89072 },
+ { 0x4CB2, 89102 },
+ { 0x4CB3, 89077 },
+ { 0x4CB4, 89082 },
+ { 0x4CB5, 89087 },
+ { 0x4CB6, 89092 },
+ { 0x4CB7, 89053 },
+ { 0x4CB8, 89107 },
+ { 0x4CB9, 92414 },
+ { 0x4CBA, 92417 },
+ { 0x4CBB, 92427 },
+ { 0x4CBC, 92437 },
+ { 0x4CBD, 92432 },
+ { 0x4CBE, 92422 },
+ { 0x4CBF, 92442 },
+ { 0x4CC0, 88613 },
+ { 0x4CC1, 88616 },
+ { 0x4CC2, 89110 },
+ { 0x4CC3, 92448 },
+ { 0x4CC4, 92451 },
+ { 0x4CC5, 92457 },
+ { 0x4CC6, 89113 },
+ { 0x4CC7, 90956 },
+ { 0x4CC8, 90963 },
+ { 0x4CC9, 90959 },
+ { 0x4CCA, 90971 },
+ { 0x4CCB, 90967 },
+ { 0x4CCC, 89116 },
+ { 0x4CCD, 89119 },
+ { 0x4CCE, 90982 },
+ { 0x4CCF, 89125 },
+ { 0x4CD0, 89128 },
+ { 0x4CD1, 89137 },
+ { 0x4CD2, 89142 },
+ { 0x4CD3, 89133 },
+ { 0x4CD4, 92463 },
+ { 0x4CD5, 89147 },
+ { 0x4CD6, 89150 },
+ { 0x4CD7, 90985 },
+ { 0x4CD8, 89153 },
+ { 0x4CD9, 89156 },
+ { 0x4CDA, 89173 },
+ { 0x4CDB, 89178 },
+ { 0x4CDC, 89429 },
+ { 0x4CDD, 89330 },
+ { 0x4CDE, 89501 },
+ { 0x4CDF, 89335 },
+ { 0x4CE0, 89185 },
+ { 0x4CE1, 89506 },
+ { 0x4CE2, 89439 },
+ { 0x4CE3, 89195 },
+ { 0x4CE4, 89340 },
+ { 0x4CE5, 89444 },
+ { 0x4CE6, 89345 },
+ { 0x4CE7, 89350 },
+ { 0x4CE8, 89200 },
+ { 0x4CE9, 89450 },
+ { 0x4CEA, 89460 },
+ { 0x4CEB, 89467 },
+ { 0x4CEC, 89205 },
+ { 0x4CED, 89474 },
+ { 0x4CEE, 89364 },
+ { 0x4CEF, 89217 },
+ { 0x4CF0, 89369 },
+ { 0x4CF1, 89227 },
+ { 0x4CF2, 89374 },
+ { 0x4CF3, 89232 },
+ { 0x4CF4, 89237 },
+ { 0x4CF5, 89242 },
+ { 0x4CF6, 89247 },
+ { 0x4CF7, 89254 },
+ { 0x4CF8, 89261 },
+ { 0x4CF9, 89268 },
+ { 0x4CFA, 89273 },
+ { 0x4CFB, 89280 },
+ { 0x4CFC, 89384 },
+ { 0x4CFD, 89290 },
+ { 0x4CFE, 89295 },
+ { 0x4CFF, 89300 },
+ { 0x4D00, 89389 },
+ { 0x4D01, 89394 },
+ { 0x4D02, 89399 },
+ { 0x4D03, 89479 },
+ { 0x4D04, 89404 },
+ { 0x4D05, 89409 },
+ { 0x4D06, 89511 },
+ { 0x4D07, 89414 },
+ { 0x4D08, 89161 },
+ { 0x4D09, 89310 },
+ { 0x4D0A, 89315 },
+ { 0x4D0B, 89489 },
+ { 0x4D0C, 89424 },
+ { 0x4D0D, 89325 },
+ { 0x4D0E, 90988 },
+ { 0x4D0F, 90991 },
+ { 0x4D10, 90996 },
+ { 0x4D11, 92466 },
+ { 0x4D12, 92469 },
+ { 0x4D13, 92472 },
+ { 0x4D14, 92475 },
+ { 0x4D15, 92478 },
+ { 0x4D16, 90999 },
+ { 0x4D17, 91002 },
+ { 0x4D18, 91008 },
+ { 0x4D19, 91011 },
+ { 0x4D1A, 91016 },
+ { 0x4D1B, 92483 },
+ { 0x4D1C, 92486 },
+ { 0x4D1D, 93452 },
+ { 0x4D1E, 93467 },
+ { 0x4D1F, 93455 },
+ { 0x4D20, 92873 },
+ { 0x4D21, 89516 },
+ { 0x4D22, 89529 },
+ { 0x4D23, 89519 },
+ { 0x4D24, 89524 },
+ { 0x4D25, 91025 },
+ { 0x4D26, 91028 },
+ { 0x4D27, 92876 },
+ { 0x4D28, 92489 },
+ { 0x4D29, 93477 },
+ { 0x4D2A, 93480 },
+ { 0x4D2B, 89534 },
+ { 0x4D2C, 89537 },
+ { 0x4D2D, 91031 },
+ { 0x4D2E, 91034 },
+ { 0x4D2F, 91037 },
+ { 0x4D30, 91042 },
+ { 0x4D31, 91045 },
+ { 0x4D32, 91048 },
+ { 0x4D33, 91052 },
+ { 0x4D34, 91055 },
+ { 0x4D35, 91058 },
+ { 0x4D36, 93485 },
+ { 0x4D37, 93488 },
+ { 0x4D38, 89549 },
+ { 0x4D39, 92879 },
+ { 0x4D3A, 92882 },
+ { 0x4D3B, 92887 },
+ { 0x4D3C, 92896 },
+ { 0x4D3D, 92903 },
+ { 0x4D3E, 92931 },
+ { 0x4D3F, 92936 },
+ { 0x4D40, 93049 },
+ { 0x4D41, 93056 },
+ { 0x4D42, 92941 },
+ { 0x4D43, 93061 },
+ { 0x4D44, 92946 },
+ { 0x4D45, 92951 },
+ { 0x4D46, 93066 },
+ { 0x4D47, 93071 },
+ { 0x4D48, 93076 },
+ { 0x4D49, 92961 },
+ { 0x4D4A, 93083 },
+ { 0x4D4B, 92966 },
+ { 0x4D4C, 93088 },
+ { 0x4D4D, 92973 },
+ { 0x4D4E, 92978 },
+ { 0x4D4F, 92985 },
+ { 0x4D50, 92992 },
+ { 0x4D51, 93094 },
+ { 0x4D52, 93099 },
+ { 0x4D53, 93104 },
+ { 0x4D54, 93109 },
+ { 0x4D55, 93172 },
+ { 0x4D56, 93145 },
+ { 0x4D57, 92997 },
+ { 0x4D58, 93118 },
+ { 0x4D59, 93002 },
+ { 0x4D5A, 93007 },
+ { 0x4D5B, 93150 },
+ { 0x4D5C, 93014 },
+ { 0x4D5D, 93123 },
+ { 0x4D5E, 93177 },
+ { 0x4D5F, 93186 },
+ { 0x4D60, 93155 },
+ { 0x4D61, 93160 },
+ { 0x4D62, 93130 },
+ { 0x4D63, 93135 },
+ { 0x4D64, 93167 },
+ { 0x4D65, 93019 },
+ { 0x4D66, 92910 },
+ { 0x4D67, 92915 },
+ { 0x4D68, 92922 },
+ { 0x4D69, 93030 },
+ { 0x4D6A, 93037 },
+ { 0x4D6B, 93140 },
+ { 0x4D6C, 93194 },
+ { 0x4D6D, 93198 },
+ { 0x4D6E, 93213 },
+ { 0x4D6F, 93218 },
+ { 0x4D70, 93201 },
+ { 0x4D71, 93205 },
+ { 0x4D72, 93491 },
+ { 0x4D73, 91063 },
+ { 0x4D74, 91066 },
+ { 0x4D75, 91071 },
+ { 0x4D76, 91074 },
+ { 0x4D77, 91079 },
+ { 0x4D78, 89552 },
+ { 0x4D79, 91086 },
+ { 0x4D7A, 93494 },
+ { 0x4D7B, 92492 },
+ { 0x4D7C, 89555 },
+ { 0x4D7D, 89558 },
+ { 0x4D7E, 91089 },
+ { 0x4D7F, 91102 },
+ { 0x4D80, 91155 },
+ { 0x4D81, 91189 },
+ { 0x4D82, 91201 },
+ { 0x4D83, 91207 },
+ { 0x4D84, 91107 },
+ { 0x4D85, 91114 },
+ { 0x4D86, 91213 },
+ { 0x4D87, 91218 },
+ { 0x4D88, 91223 },
+ { 0x4D89, 91119 },
+ { 0x4D8A, 91124 },
+ { 0x4D8B, 91247 },
+ { 0x4D8C, 91131 },
+ { 0x4D8D, 91138 },
+ { 0x4D8E, 91143 },
+ { 0x4D8F, 91148 },
+ { 0x4D90, 91230 },
+ { 0x4D91, 91242 },
+ { 0x4D92, 91098 },
+ { 0x4D93, 91266 },
+ { 0x4D94, 91271 },
+ { 0x4D95, 91262 },
+ { 0x4D96, 91252 },
+ { 0x4D97, 91276 },
+ { 0x4D98, 93225 },
+ { 0x4D99, 93228 },
+ { 0x4D9A, 93237 },
+ { 0x4D9B, 93233 },
+ { 0x4D9C, 91279 },
+ { 0x4D9D, 91282 },
+ { 0x4D9E, 91285 },
+ { 0x4D9F, 91288 },
+ { 0x4DA0, 91293 },
+ { 0x4DA1, 89563 },
+ { 0x4DA2, 89570 },
+ { 0x4DA3, 89566 },
+ { 0x4DA4, 91301 },
+ { 0x4DA5, 91304 },
+ { 0x4DA6, 91307 },
+ { 0x4DA7, 92495 },
+ { 0x4DA8, 93242 },
+ { 0x4DA9, 89575 },
+ { 0x4DAA, 91310 },
+ { 0x4DAB, 89578 },
+ { 0x4DAC, 91313 },
+ { 0x4DAD, 89586 },
+ { 0x4DAE, 89589 },
+ { 0x4DAF, 91316 },
+ { 0x4DB0, 91319 },
+ { 0x4DB1, 93497 },
+ { 0x4DB2, 93500 },
+ { 0x4DB3, 92501 },
+ { 0x4DB4, 92532 },
+ { 0x4DB5, 92542 },
+ { 0x4DB6, 92537 },
+ { 0x4DB7, 92504 },
+ { 0x4DB8, 92509 },
+ { 0x4DB9, 92547 },
+ { 0x4DBA, 93245 },
+ { 0x4DBB, 93252 },
+ { 0x4DBC, 93257 },
+ { 0x4DBD, 93264 },
+ { 0x4DBE, 93248 },
+ { 0x4DBF, 89594 },
+ { 0x4DC0, 91323 },
+ { 0x4DC1, 92552 },
+ { 0x4DC2, 92561 },
+ { 0x4DC3, 92555 },
+ { 0x4DC4, 92565 },
+ { 0x4DC5, 93274 },
+ { 0x4DC6, 91332 },
+ { 0x4DC7, 91329 },
+ { 0x4DC8, 92570 },
+ { 0x4DC9, 89597 },
+ { 0x4DCA, 89600 },
+ { 0x4DCB, 89605 },
+ { 0x4DCC, 89610 },
+ { 0x4DCD, 89614 },
+ { 0x4DCE, 89617 },
+ { 0x4DCF, 91336 },
+ { 0x4DD0, 91339 },
+ { 0x4DD1, 91350 },
+ { 0x4DD2, 91342 },
+ { 0x4DD3, 93503 },
+ { 0x4DD4, 93518 },
+ { 0x4DD5, 93553 },
+ { 0x4DD6, 93558 },
+ { 0x4DD7, 93576 },
+ { 0x4DD8, 93533 },
+ { 0x4DD9, 93541 },
+ { 0x4DDA, 93586 },
+ { 0x4DDB, 93598 },
+ { 0x4DDC, 93603 },
+ { 0x4DDD, 93611 },
+ { 0x4DDE, 93618 },
+ { 0x4DDF, 93546 },
+ { 0x4DE0, 93627 },
+ { 0x4DE1, 93277 },
+ { 0x4DE2, 89622 },
+ { 0x4DE3, 92576 },
+ { 0x4DE4, 91359 },
+ { 0x4DE5, 91371 },
+ { 0x4DE6, 91400 },
+ { 0x4DE7, 91377 },
+ { 0x4DE8, 91383 },
+ { 0x4DE9, 91394 },
+ { 0x4DEA, 91367 },
+ { 0x4DEB, 91362 },
+ { 0x4DEC, 91406 },
+ { 0x4DED, 91411 },
+ { 0x4DEE, 93280 },
+ { 0x4DEF, 93338 },
+ { 0x4DF0, 93283 },
+ { 0x4DF1, 93307 },
+ { 0x4DF2, 93313 },
+ { 0x4DF3, 93319 },
+ { 0x4DF4, 93326 },
+ { 0x4DF5, 93289 },
+ { 0x4DF6, 93295 },
+ { 0x4DF7, 93332 },
+ { 0x4DF8, 93301 },
+ { 0x4DF9, 93344 },
+ { 0x4DFA, 93350 },
+ { 0x4DFB, 89625 },
+ { 0x4DFC, 91419 },
+ { 0x4DFD, 91422 },
+ { 0x4DFE, 91425 },
+ { 0x4DFF, 93357 },
+ { 0x4E00, 89628 },
+ { 0x4E01, 89631 },
+ { 0x4E02, 89651 },
+ { 0x4E03, 89656 },
+ { 0x4E04, 89661 },
+ { 0x4E05, 89636 },
+ { 0x4E06, 89641 },
+ { 0x4E07, 89666 },
+ { 0x4E08, 89646 },
+ { 0x4E09, 89671 },
+ { 0x4E0A, 89676 },
+ { 0x4E0B, 93364 },
+ { 0x4E0C, 93377 },
+ { 0x4E0D, 93367 },
+ { 0x4E0E, 93372 },
+ { 0x4E0F, 93382 },
+ { 0x4E10, 89681 },
+ { 0x4E11, 91428 },
+ { 0x4E12, 89684 },
+ { 0x4E13, 89687 },
+ { 0x4E14, 89690 },
+ { 0x4E15, 91557 },
+ { 0x4E16, 91431 },
+ { 0x4E17, 91449 },
+ { 0x4E18, 91454 },
+ { 0x4E19, 91494 },
+ { 0x4E1A, 91464 },
+ { 0x4E1B, 91505 },
+ { 0x4E1C, 91510 },
+ { 0x4E1D, 91515 },
+ { 0x4E1E, 91469 },
+ { 0x4E1F, 91520 },
+ { 0x4E20, 91525 },
+ { 0x4E21, 91547 },
+ { 0x4E22, 91537 },
+ { 0x4E23, 91474 },
+ { 0x4E24, 91479 },
+ { 0x4E25, 91484 },
+ { 0x4E26, 91489 },
+ { 0x4E27, 91542 },
+ { 0x4E28, 91444 },
+ { 0x4E29, 91434 },
+ { 0x4E2A, 91561 },
+ { 0x4E2B, 91564 },
+ { 0x4E2C, 93657 },
+ { 0x4E2D, 91570 },
+ { 0x4E2E, 91573 },
+ { 0x4E2F, 92600 },
+ { 0x4E30, 92603 },
+ { 0x4E31, 92625 },
+ { 0x4E32, 92635 },
+ { 0x4E33, 92620 },
+ { 0x4E34, 92640 },
+ { 0x4E35, 92630 },
+ { 0x4E36, 92608 },
+ { 0x4E37, 92613 },
+ { 0x4E38, 92645 },
+ { 0x4E39, 93387 },
+ { 0x4E3A, 93390 },
+ { 0x4E3B, 91576 },
+ { 0x4E3C, 91579 },
+ { 0x4E3D, 91588 },
+ { 0x4E3E, 91599 },
+ { 0x4E3F, 93393 },
+ { 0x4E40, 92652 },
+ { 0x4E41, 93396 },
+ { 0x4E42, 93660 },
+ { 0x4E43, 93962 },
+ { 0x4E44, 92655 },
+ { 0x4E45, 92658 },
+ { 0x4E46, 92663 },
+ { 0x4E47, 92668 },
+ { 0x4E48, 92671 },
+ { 0x4E49, 92676 },
+ { 0x4E4A, 92717 },
+ { 0x4E4B, 92681 },
+ { 0x4E4C, 92686 },
+ { 0x4E4D, 92691 },
+ { 0x4E4E, 92696 },
+ { 0x4E4F, 92722 },
+ { 0x4E50, 92702 },
+ { 0x4E51, 92707 },
+ { 0x4E52, 92712 },
+ { 0x4E53, 93663 },
+ { 0x4E54, 92727 },
+ { 0x4E55, 92738 },
+ { 0x4E56, 92730 },
+ { 0x4E57, 93399 },
+ { 0x4E58, 91625 },
+ { 0x4E59, 91628 },
+ { 0x4E5A, 92742 },
+ { 0x4E5B, 93666 },
+ { 0x4E5C, 89693 },
+ { 0x4E5D, 89696 },
+ { 0x4E5E, 91634 },
+ { 0x4E5F, 92759 },
+ { 0x4E60, 92762 },
+ { 0x4E61, 92768 },
+ { 0x4E62, 93402 },
+ { 0x4E63, 89705 },
+ { 0x4E64, 89708 },
+ { 0x4E65, 91637 },
+ { 0x4E66, 92771 },
+ { 0x4E67, 93405 },
+ { 0x4E68, 91640 },
+ { 0x4E69, 93669 },
+ { 0x4E6A, 91643 },
+ { 0x4E6B, 92774 },
+ { 0x4E6C, 89713 },
+ { 0x4E6D, 89730 },
+ { 0x4E6E, 89720 },
+ { 0x4E6F, 89725 },
+ { 0x4E70, 89716 },
+ { 0x4E71, 91646 },
+ { 0x4E72, 91649 },
+ { 0x4E73, 91660 },
+ { 0x4E74, 91664 },
+ { 0x4E75, 91667 },
+ { 0x4E76, 91677 },
+ { 0x4E77, 91682 },
+ { 0x4E78, 91687 },
+ { 0x4E79, 91692 },
+ { 0x4E7A, 91672 },
+ { 0x4E7B, 92777 },
+ { 0x4E7C, 91697 },
+ { 0x4E7D, 89734 },
+ { 0x4E7E, 89737 },
+ { 0x4E7F, 89741 },
+ { 0x4E80, 89744 },
+ { 0x4E81, 91703 },
+ { 0x4E82, 91706 },
+ { 0x4E83, 91725 },
+ { 0x4E84, 91709 },
+ { 0x4E85, 91714 },
+ { 0x4E86, 89748 },
+ { 0x4E87, 92785 },
+ { 0x4E88, 91730 },
+ { 0x4E89, 91733 },
+ { 0x4E8A, 91748 },
+ { 0x4E8B, 91751 },
+ { 0x4E8C, 88620 },
+ { 0x4E8D, 88632 },
+ { 0x4E8E, 88627 },
+ { 0x4E8F, 88646 },
+ { 0x4E90, 88657 },
+ { 0x4E91, 88636 },
+ { 0x4E92, 89751 },
+ { 0x4E93, 89754 },
+ { 0x4E94, 89757 },
+ { 0x4E95, 89793 },
+ { 0x4E96, 89788 },
+ { 0x4E97, 89783 },
+ { 0x4E98, 89764 },
+ { 0x4E99, 89773 },
+ { 0x4E9A, 89760 },
+ { 0x4E9B, 89797 },
+ { 0x4E9C, 89801 },
+ { 0x4E9D, 92788 },
+ { 0x4E9E, 89807 },
+ { 0x4E9F, 89832 },
+ { 0x4EA0, 89820 },
+ { 0x4EA1, 89827 },
+ { 0x4EA2, 89810 },
+ { 0x4EA3, 93408 },
+ { 0x4EA4, 92791 },
+ { 0x4EA5, 92799 },
+ { 0x4EA6, 92794 },
+ { 0x4EA7, 89837 },
+ { 0x4EA8, 89840 },
+ { 0x4EA9, 89844 },
+ { 0x4EAA, 89851 },
+ { 0x4EAB, 89847 },
+ { 0x4EAC, 91759 },
+ { 0x4EAD, 91762 },
+ { 0x4EAE, 91769 },
+ { 0x4EAF, 91776 },
+ { 0x4EB0, 91781 },
+ { 0x4EB1, 91810 },
+ { 0x4EB2, 91786 },
+ { 0x4EB3, 91798 },
+ { 0x4EB4, 91791 },
+ { 0x4EB5, 91819 },
+ { 0x4EB6, 91822 },
+ { 0x4EB7, 92804 },
+ { 0x4EB8, 91825 },
+ { 0x4EB9, 91828 },
+ { 0x4EBA, 91951 },
+ { 0x4EBB, 91880 },
+ { 0x4EBC, 91885 },
+ { 0x4EBD, 91840 },
+ { 0x4EBE, 91890 },
+ { 0x4EBF, 91930 },
+ { 0x4EC0, 91895 },
+ { 0x4EC1, 91845 },
+ { 0x4EC2, 91850 },
+ { 0x4EC3, 91900 },
+ { 0x4EC4, 91855 },
+ { 0x4EC5, 91905 },
+ { 0x4EC6, 91860 },
+ { 0x4EC7, 91915 },
+ { 0x4EC8, 91920 },
+ { 0x4EC9, 91865 },
+ { 0x4ECA, 91925 },
+ { 0x4ECB, 91936 },
+ { 0x4ECC, 91870 },
+ { 0x4ECD, 91833 },
+ { 0x4ECE, 91875 },
+ { 0x4ECF, 91946 },
+ { 0x4ED0, 93411 },
+ { 0x4ED1, 93414 },
+ { 0x4ED2, 91961 },
+ { 0x4ED3, 91964 },
+ { 0x4ED4, 91969 },
+ { 0x4ED5, 91974 },
+ { 0x4ED6, 91979 },
+ { 0x4ED7, 92810 },
+ { 0x4ED8, 92807 },
+ { 0x4ED9, 93672 },
+ { 0x4EDA, 93419 },
+ { 0x4EDB, 91984 },
+ { 0x4EDC, 91987 },
+ { 0x4EDD, 91992 },
+ { 0x4EDE, 89856 },
+ { 0x4EDF, 89859 },
+ { 0x4EE0, 89863 },
+ { 0x4EE1, 91998 },
+ { 0x4EE2, 92813 },
+ { 0x4EE3, 92001 },
+ { 0x4EE4, 89869 },
+ { 0x4EE5, 89872 },
+ { 0x4EE6, 92004 },
+ { 0x4EE7, 92007 },
+ { 0x4EE8, 92010 },
+ { 0x4EE9, 92015 },
+ { 0x4EEA, 92816 },
+ { 0x4EEB, 89877 },
+ { 0x4EEC, 92018 },
+ { 0x4EED, 92021 },
+ { 0x4EEE, 93422 },
+ { 0x4EEF, 92033 },
+ { 0x4EF0, 91021 },
+ { 0x4EF1, 88700 },
+ { 0x4EF2, 89890 },
+ { 0x4EF3, 92042 },
+ { 0x4EF4, 90093 },
+ { 0x4EF5, 92072 },
+ { 0x4EF6, 92086 },
+ { 0x4EF7, 90199 },
+ { 0x4EF8, 92204 },
+ { 0x4EF9, 92227 },
+ { 0x4EFA, 90410 },
+ { 0x4EFB, 90748 },
+ { 0x4EFC, 92339 },
+ { 0x4EFD, 90870 },
+ { 0x4EFE, 92445 },
+ { 0x4EFF, 89496 },
+ { 0x4F00, 89434 },
+ { 0x4F01, 89455 },
+ { 0x4F02, 89359 },
+ { 0x4F03, 89210 },
+ { 0x4F04, 89379 },
+ { 0x4F05, 89285 },
+ { 0x4F06, 89484 },
+ { 0x4F07, 89305 },
+ { 0x4F08, 89419 },
+ { 0x4F09, 92956 },
+ { 0x4F0A, 91256 },
+ { 0x4F0B, 91194 },
+ { 0x4F0C, 91179 },
+ { 0x4F0D, 92498 },
+ { 0x4F0E, 93269 },
+ { 0x4F0F, 91326 },
+ { 0x4F10, 91356 },
+ { 0x4F11, 92573 },
+ { 0x4F12, 93565 },
+ { 0x4F13, 93523 },
+ { 0x4F14, 92591 },
+ { 0x4F15, 93360 },
+ { 0x4F16, 92597 },
+ { 0x4F17, 91499 },
+ { 0x4F18, 91700 },
+ { 0x4F19, 89815 },
+ { 0x4F1A, 88623 },
+ { 0x4F1B, 94092 },
+ { 0x4F1C, 94496 },
+ { 0x4F1D, 94235 },
+ { 0x4F1E, 94164 },
+ { 0x4F1F, 94059 },
+ { 0x4F20, 94437 },
+ { 0x4F21, 94391 },
+ { 0x4F22, 94330 },
+ { 0x4F23, 94524 },
+ { 0x4F24, 94263 },
+ { 0x4F25, 94192 },
+ { 0x4F26, 94070 },
+ { 0x4F27, 94442 },
+ { 0x4F28, 94396 },
+ { 0x4F29, 94335 },
+ { 0x4F2A, 94223 },
+ { 0x4F2B, 94152 },
+ { 0x4F2C, 94047 },
+ { 0x4F2D, 94425 },
+ { 0x4F2E, 94379 },
+ { 0x4F2F, 94318 },
+ { 0x4F30, 94000 },
+ { 0x4F31, 94118 },
+ { 0x4F32, 94529 },
+ { 0x4F33, 94268 },
+ { 0x4F34, 94197 },
+ { 0x4F35, 94075 },
+ { 0x4F36, 94447 },
+ { 0x4F37, 94401 },
+ { 0x4F38, 94340 },
+ { 0x4F39, 94005 },
+ { 0x4F3A, 94123 },
+ { 0x4F3B, 94534 },
+ { 0x4F3C, 94273 },
+ { 0x4F3D, 94202 },
+ { 0x4F3E, 94128 },
+ { 0x4F3F, 94539 },
+ { 0x4F40, 94544 },
+ { 0x4F41, 94278 },
+ { 0x4F42, 94207 },
+ { 0x4F43, 94080 },
+ { 0x4F44, 94452 },
+ { 0x4F45, 94406 },
+ { 0x4F46, 94345 },
+ { 0x4F47, 94010 },
+ { 0x4F48, 94133 },
+ { 0x4F49, 94551 },
+ { 0x4F4A, 94556 },
+ { 0x4F4B, 94283 },
+ { 0x4F4C, 94212 },
+ { 0x4F4D, 94488 },
+ { 0x4F4E, 94480 },
+ { 0x4F4F, 93984 },
+ { 0x4F50, 94108 },
+ { 0x4F51, 94512 },
+ { 0x4F52, 94517 },
+ { 0x4F53, 94258 },
+ { 0x4F54, 94187 },
+ { 0x4F55, 94563 },
+ { 0x4F56, 94570 },
+ { 0x4F57, 94288 },
+ { 0x4F58, 94311 },
+ { 0x4F59, 94295 },
+ { 0x4F5A, 94303 },
+ { 0x4F5B, 94085 },
+ { 0x4F5C, 94473 },
+ { 0x4F5D, 94457 },
+ { 0x4F5E, 94465 },
+ { 0x4F5F, 94411 },
+ { 0x4F60, 94418 },
+ { 0x4F61, 94350 },
+ { 0x4F62, 94365 },
+ { 0x4F63, 94372 },
+ { 0x4F64, 94357 },
+ { 0x4F65, 94097 },
+ { 0x4F66, 94501 },
+ { 0x4F67, 94240 },
+ { 0x4F68, 94169 },
+ { 0x4F69, 94064 },
+ { 0x4F6A, 93979 },
+ { 0x4F6B, 94103 },
+ { 0x4F6C, 94507 },
+ { 0x4F6D, 94246 },
+ { 0x4F6E, 94251 },
+ { 0x4F6F, 94175 },
+ { 0x4F70, 94180 },
+ { 0x4F71, 94603 },
+ { 0x4F72, 94599 },
+ { 0x4F73, 93995 },
+ { 0x4F74, 94113 },
+ { 0x4F75, 94015 },
+ { 0x4F76, 94138 },
+ { 0x4F77, 94217 },
+ { 0x4F78, 94021 },
+ { 0x4F79, 94144 },
+ { 0x4F7A, 94029 },
+ { 0x4F7B, 94035 },
+ { 0x4F7C, 93965 },
+ { 0x4F7D, 93972 },
+ { 0x4F7E, 94041 },
+ { 0x4F7F, 93989 },
+ { 0x4F80, 94577 },
+ { 0x4F81, 94583 },
+ { 0x4F82, 94594 },
+ { 0x4F83, 94589 },
+ { 0x4F84, 94228 },
+ { 0x4F85, 94157 },
+ { 0x4F86, 94052 },
+ { 0x4F87, 94430 },
+ { 0x4F88, 94384 },
+ { 0x4F89, 94323 },
+ { 0x4F8A, 94607 },
+ { 0x4F8B, 94629 },
+ { 0x4F8C, 94614 },
+ { 0x4F8D, 94619 },
+ { 0x4F8E, 94624 },
+ { 0x4F8F, 88705 },
+ { 0x4F90, 88733 },
+ { 0x4F91, 88751 },
+ { 0x4F92, 89971 },
+ { 0x4F93, 93441 },
+ { 0x4F94, 93431 },
+ { 0x4F95, 93436 },
+ { 0x4F96, 88879 },
+ { 0x4F97, 88894 },
+ { 0x4F98, 89994 },
+ { 0x4F99, 90176 },
+ { 0x4F9A, 90169 },
+ { 0x4F9B, 92078 },
+ { 0x4F9C, 90331 },
+ { 0x4F9D, 90253 },
+ { 0x4F9E, 90258 },
+ { 0x4F9F, 90265 },
+ { 0x4FA0, 90270 },
+ { 0x4FA1, 90336 },
+ { 0x4FA2, 90212 },
+ { 0x4FA3, 90217 },
+ { 0x4FA4, 90315 },
+ { 0x4FA5, 90321 },
+ { 0x4FA6, 90222 },
+ { 0x4FA7, 90227 },
+ { 0x4FA8, 90275 },
+ { 0x4FA9, 90341 },
+ { 0x4FAA, 90281 },
+ { 0x4FAB, 90346 },
+ { 0x4FAC, 90351 },
+ { 0x4FAD, 90358 },
+ { 0x4FAE, 90286 },
+ { 0x4FAF, 90291 },
+ { 0x4FB0, 90298 },
+ { 0x4FB1, 90326 },
+ { 0x4FB2, 90305 },
+ { 0x4FB3, 90232 },
+ { 0x4FB4, 90237 },
+ { 0x4FB5, 90242 },
+ { 0x4FB6, 90310 },
+ { 0x4FB7, 90247 },
+ { 0x4FB8, 88945 },
+ { 0x4FB9, 88950 },
+ { 0x4FBA, 92857 },
+ { 0x4FBB, 92124 },
+ { 0x4FBC, 92280 },
+ { 0x4FBD, 92256 },
+ { 0x4FBE, 92286 },
+ { 0x4FBF, 92262 },
+ { 0x4FC0, 92293 },
+ { 0x4FC1, 92268 },
+ { 0x4FC2, 92299 },
+ { 0x4FC3, 92274 },
+ { 0x4FC4, 92184 },
+ { 0x4FC5, 90808 },
+ { 0x4FC6, 90577 },
+ { 0x4FC7, 90595 },
+ { 0x4FC8, 90603 },
+ { 0x4FC9, 90760 },
+ { 0x4FCA, 90454 },
+ { 0x4FCB, 90615 },
+ { 0x4FCC, 90622 },
+ { 0x4FCD, 90464 },
+ { 0x4FCE, 90818 },
+ { 0x4FCF, 90692 },
+ { 0x4FD0, 90697 },
+ { 0x4FD1, 90704 },
+ { 0x4FD2, 90783 },
+ { 0x4FD3, 90504 },
+ { 0x4FD4, 90509 },
+ { 0x4FD5, 90516 },
+ { 0x4FD6, 90793 },
+ { 0x4FD7, 90803 },
+ { 0x4FD8, 92308 },
+ { 0x4FD9, 93678 },
+ { 0x4FDA, 92394 },
+ { 0x4FDB, 90880 },
+ { 0x4FDC, 90920 },
+ { 0x4FDD, 89045 },
+ { 0x4FDE, 89063 },
+ { 0x4FDF, 89190 },
+ { 0x4FE0, 89222 },
+ { 0x4FE1, 89166 },
+ { 0x4FE2, 89320 },
+ { 0x4FE3, 93042 },
+ { 0x4FE4, 93688 },
+ { 0x4FE5, 93691 },
+ { 0x4FE6, 93694 },
+ { 0x4FE7, 93697 },
+ { 0x4FE8, 93700 },
+ { 0x4FE9, 93703 },
+ { 0x4FEA, 93706 },
+ { 0x4FEB, 93709 },
+ { 0x4FEC, 93715 },
+ { 0x4FED, 93718 },
+ { 0x4FEE, 93723 },
+ { 0x4FEF, 93726 },
+ { 0x4FF0, 93729 },
+ { 0x4FF1, 93732 },
+ { 0x4FF2, 93735 },
+ { 0x4FF3, 93738 },
+ { 0x4FF4, 93741 },
+ { 0x4FF5, 93744 },
+ { 0x4FF6, 93747 },
+ { 0x4FF7, 93750 },
+ { 0x4FF8, 93753 },
+ { 0x4FF9, 93756 },
+ { 0x4FFA, 93759 },
+ { 0x4FFB, 93762 },
+ { 0x4FFC, 93765 },
+ { 0x4FFD, 93768 },
+ { 0x4FFE, 93771 },
+ { 0x4FFF, 93774 },
+ { 0x5000, 93777 },
+ { 0x5001, 93780 },
+ { 0x5002, 93792 },
+ { 0x5003, 93797 },
+ { 0x5004, 93804 },
+ { 0x5005, 93785 },
+ { 0x5006, 93813 },
+ { 0x5007, 93816 },
+ { 0x5008, 93819 },
+ { 0x5009, 93822 },
+ { 0x500A, 93825 },
+ { 0x500B, 93828 },
+ { 0x500C, 93831 },
+ { 0x500D, 93834 },
+ { 0x500E, 93837 },
+ { 0x500F, 93840 },
+ { 0x5010, 93843 },
+ { 0x5011, 93866 },
+ { 0x5012, 93871 },
+ { 0x5013, 93886 },
+ { 0x5014, 93876 },
+ { 0x5015, 93846 },
+ { 0x5016, 93881 },
+ { 0x5017, 93851 },
+ { 0x5018, 93856 },
+ { 0x5019, 93861 },
+ { 0x501A, 93893 },
+ { 0x501B, 93898 },
+ { 0x501C, 93901 },
+ { 0x501D, 93919 },
+ { 0x501E, 93904 },
+ { 0x501F, 93924 },
+ { 0x5020, 93929 },
+ { 0x5021, 93909 },
+ { 0x5022, 93935 },
+ { 0x5023, 93944 },
+ { 0x5024, 93914 },
+ { 0x5025, 93951 },
+ { 0x5026, 93956 },
+ { 0x5027, 93959 },
+ { 0x5028, 91092 },
+ { 0x5029, 91184 },
+ { 0x502A, 91160 },
+ { 0x502B, 91165 },
+ { 0x502C, 91170 },
+ { 0x502D, 91237 },
+ { 0x502E, 89581 },
+ { 0x502F, 92518 },
+ { 0x5030, 92525 },
+ { 0x5031, 93570 },
+ { 0x5032, 93632 },
+ { 0x5033, 93581 },
+ { 0x5034, 93528 },
+ { 0x5035, 93642 },
+ { 0x5036, 93652 },
+ { 0x5037, 93637 },
+ { 0x5038, 93591 },
+ { 0x5039, 93506 },
+ { 0x503A, 93511 },
+ { 0x503B, 93647 },
+ { 0x503C, 91438 },
+ { 0x503D, 91459 },
+ { 0x503E, 91530 },
+ { 0x503F, 91552 },
+ { 0x5040, 92648 },
+ { 0x5041, 91583 },
+ { 0x5042, 91615 },
+ { 0x5043, 91620 },
+ { 0x5044, 91610 },
+ { 0x5045, 92752 },
+ { 0x5046, 92745 },
+ { 0x5047, 89700 },
+ { 0x5048, 92780 },
+ { 0x5049, 91736 },
+ { 0x504A, 91742 },
+ { 0x504B, 91815 },
+ { 0x504C, 91805 },
+ { 0x504D, 91941 },
+ { 0x504E, 91956 },
+ { 0x504F, 91910 },
+ { 0x5050, 91995 },
+ { 0x5051, 89880 },
+ { 0x5052, 92026 },
+ { 0x5053, 72764 },
+ { 0x5054, 72767 },
+ { 0x5055, 72770 },
+ { 0x5056, 72773 },
+ { 0x5057, 72776 },
+ { 0x5058, 75038 },
+ { 0x5059, 72779 },
+ { 0x505A, 75041 },
+ { 0x505B, 75044 },
+ { 0x505C, 72782 },
+ { 0x505D, 72785 },
+ { 0x505E, 72788 },
+ { 0x505F, 72791 },
+ { 0x5060, 72794 },
+ { 0x5061, 72797 },
+ { 0x5062, 72800 },
+ { 0x5063, 72803 },
+ { 0x5064, 75047 },
+ { 0x5065, 72806 },
+ { 0x5066, 72809 },
+ { 0x5067, 72812 },
+ { 0x5068, 75050 },
+ { 0x5069, 72815 },
+ { 0x506A, 72818 },
+ { 0x506B, 72821 },
+ { 0x506C, 72824 },
+ { 0x506D, 72827 },
+ { 0x506E, 72830 },
+ { 0x506F, 72833 },
+ { 0x5070, 72836 },
+ { 0x5071, 72839 },
+ { 0x5072, 72842 },
+ { 0x5073, 72845 },
+ { 0x5074, 72848 },
+ { 0x5075, 72851 },
+ { 0x5076, 72854 },
+ { 0x5077, 72857 },
+ { 0x5078, 75053 },
+ { 0x5079, 72860 },
+ { 0x507A, 72863 },
+ { 0x507B, 72866 },
+ { 0x507C, 72869 },
+ { 0x507D, 72872 },
+ { 0x507E, 72875 },
+ { 0x507F, 72878 },
+ { 0x5080, 72881 },
+ { 0x5081, 75056 },
+ { 0x5082, 72884 },
+ { 0x5083, 72887 },
+ { 0x5084, 75059 },
+ { 0x5085, 72890 },
+ { 0x5086, 75062 },
+ { 0x5087, 72893 },
+ { 0x5088, 72896 },
+ { 0x5089, 75065 },
+ { 0x508A, 72899 },
+ { 0x508B, 72902 },
+ { 0x508C, 72905 },
+ { 0x508D, 72908 },
+ { 0x508E, 72911 },
+ { 0x508F, 72914 },
+ { 0x5090, 72917 },
+ { 0x5091, 72920 },
+ { 0x5092, 72923 },
+ { 0x5093, 72926 },
+ { 0x5094, 72929 },
+ { 0x5095, 72932 },
+ { 0x5096, 72935 },
+ { 0x5097, 72938 },
+ { 0x5098, 72941 },
+ { 0x5099, 72944 },
+ { 0x509A, 72947 },
+ { 0x509B, 72950 },
+ { 0x509C, 72953 },
+ { 0x509D, 72956 },
+ { 0x509E, 72959 },
+ { 0x509F, 72962 },
+ { 0x50A0, 72965 },
+ { 0x50A1, 72968 },
+ { 0x50A2, 72971 },
+ { 0x50A3, 72974 },
+ { 0x50A4, 72977 },
+ { 0x50A5, 72980 },
+ { 0x50A6, 72983 },
+ { 0x50A7, 72986 },
+ { 0x50A8, 75164 },
+ { 0x50A9, 72989 },
+ { 0x50AA, 72992 },
+ { 0x50AB, 72995 },
+ { 0x50AC, 72998 },
+ { 0x50AD, 73001 },
+ { 0x50AE, 73004 },
+ { 0x50AF, 75167 },
+ { 0x50B0, 75170 },
+ { 0x50B1, 75173 },
+ { 0x50B2, 73007 },
+ { 0x50B3, 73010 },
+ { 0x50B4, 73013 },
+ { 0x50B5, 73016 },
+ { 0x50B6, 73019 },
+ { 0x50B7, 73022 },
+ { 0x50B8, 73025 },
+ { 0x50B9, 73028 },
+ { 0x50BA, 75176 },
+ { 0x50BB, 73031 },
+ { 0x50BC, 73034 },
+ { 0x50BD, 73037 },
+ { 0x50BE, 73040 },
+ { 0x50BF, 73043 },
+ { 0x50C0, 73046 },
+ { 0x50C1, 73049 },
+ { 0x50C2, 73052 },
+ { 0x50C3, 73055 },
+ { 0x50C4, 73058 },
+ { 0x50C5, 73061 },
+ { 0x50C6, 73064 },
+ { 0x50C7, 73067 },
+ { 0x50C8, 73070 },
+ { 0x50C9, 73073 },
+ { 0x50CA, 73076 },
+ { 0x50CB, 73079 },
+ { 0x50CC, 73082 },
+ { 0x50CD, 73085 },
+ { 0x50CE, 73088 },
+ { 0x50CF, 73091 },
+ { 0x50D0, 73094 },
+ { 0x50D1, 75179 },
+ { 0x50D2, 73097 },
+ { 0x50D3, 73100 },
+ { 0x50D4, 73103 },
+ { 0x50D5, 73106 },
+ { 0x50D6, 73109 },
+ { 0x50D7, 73112 },
+ { 0x50D8, 73115 },
+ { 0x50D9, 73118 },
+ { 0x50DA, 73121 },
+ { 0x50DB, 73124 },
+ { 0x50DC, 73127 },
+ { 0x50DD, 73130 },
+ { 0x50DE, 73133 },
+ { 0x50DF, 73136 },
+ { 0x50E0, 73139 },
+ { 0x50E1, 73142 },
+ { 0x50E2, 73145 },
+ { 0x50E3, 73148 },
+ { 0x50E4, 73151 },
+ { 0x50E5, 75182 },
+ { 0x50E6, 73154 },
+ { 0x50E7, 73157 },
+ { 0x50E8, 73160 },
+ { 0x50E9, 73163 },
+ { 0x50EA, 75185 },
+ { 0x50EB, 73166 },
+ { 0x50EC, 73169 },
+ { 0x50ED, 73172 },
+ { 0x50EE, 75188 },
+ { 0x50EF, 73175 },
+ { 0x50F0, 73178 },
+ { 0x50F1, 73181 },
+ { 0x50F2, 73184 },
+ { 0x50F3, 73187 },
+ { 0x50F4, 73190 },
+ { 0x50F5, 73193 },
+ { 0x50F6, 73196 },
+ { 0x50F7, 73199 },
+ { 0x50F8, 73202 },
+ { 0x50F9, 73205 },
+ { 0x50FA, 73208 },
+ { 0x50FB, 75191 },
+ { 0x50FC, 73211 },
+ { 0x50FD, 73214 },
+ { 0x50FE, 75194 },
+ { 0x50FF, 73217 },
+ { 0x5100, 73220 },
+ { 0x5101, 75197 },
+ { 0x5102, 75200 },
+ { 0x5103, 75203 },
+ { 0x5104, 75206 },
+ { 0x5105, 75209 },
+ { 0x5106, 75212 },
+ { 0x5107, 75215 },
+ { 0x5108, 75218 },
+ { 0x5109, 75221 },
+ { 0x510A, 73223 },
+ { 0x510B, 73226 },
+ { 0x510C, 75224 },
+ { 0x510D, 73229 },
+ { 0x510E, 73232 },
+ { 0x510F, 75227 },
+ { 0x5110, 73235 },
+ { 0x5111, 73238 },
+ { 0x5112, 73241 },
+ { 0x5113, 73244 },
+ { 0x5114, 73247 },
+ { 0x5115, 73250 },
+ { 0x5116, 73253 },
+ { 0x5117, 73256 },
+ { 0x5118, 73259 },
+ { 0x5119, 73262 },
+ { 0x511A, 73265 },
+ { 0x511B, 73268 },
+ { 0x511C, 73271 },
+ { 0x511D, 75230 },
+ { 0x511E, 75233 },
+ { 0x511F, 75236 },
+ { 0x5120, 75239 },
+ { 0x5121, 75242 },
+ { 0x5122, 75245 },
+ { 0x5123, 75248 },
+ { 0x5124, 75251 },
+ { 0x5125, 73274 },
+ { 0x5126, 73277 },
+ { 0x5127, 73280 },
+ { 0x5128, 73283 },
+ { 0x5129, 73286 },
+ { 0x512A, 73289 },
+ { 0x512B, 73292 },
+ { 0x512C, 73295 },
+ { 0x512D, 75254 },
+ { 0x512E, 73298 },
+ { 0x512F, 75257 },
+ { 0x5130, 73301 },
+ { 0x5131, 73304 },
+ { 0x5132, 73307 },
+ { 0x5133, 73310 },
+ { 0x5134, 73313 },
+ { 0x5135, 73316 },
+ { 0x5136, 73319 },
+ { 0x5137, 75260 },
+ { 0x5138, 73322 },
+ { 0x5139, 75263 },
+ { 0x513A, 73325 },
+ { 0x513B, 73328 },
+ { 0x513C, 73331 },
+ { 0x513D, 75266 },
+ { 0x513E, 73334 },
+ { 0x513F, 73337 },
+ { 0x5140, 73340 },
+ { 0x5141, 73343 },
+ { 0x5142, 73346 },
+ { 0x5143, 73349 },
+ { 0x5144, 73352 },
+ { 0x5145, 73355 },
+ { 0x5146, 75269 },
+ { 0x5147, 73358 },
+ { 0x5148, 73361 },
+ { 0x5149, 73364 },
+ { 0x514A, 73367 },
+ { 0x514B, 73370 },
+ { 0x514C, 73373 },
+ { 0x514D, 75272 },
+ { 0x514E, 73376 },
+ { 0x514F, 73379 },
+ { 0x5150, 73382 },
+ { 0x5151, 73385 },
+ { 0x5152, 75275 },
+ { 0x5153, 73388 },
+ { 0x5154, 73391 },
+ { 0x5155, 73394 },
+ { 0x5156, 73397 },
+ { 0x5157, 73400 },
+ { 0x5158, 73403 },
+ { 0x5159, 73406 },
+ { 0x515A, 73409 },
+ { 0x515B, 73412 },
+ { 0x515C, 73415 },
+ { 0x515D, 73418 },
+ { 0x515E, 73421 },
+ { 0x515F, 75278 },
+ { 0x5160, 73424 },
+ { 0x5161, 73427 },
+ { 0x5162, 73430 },
+ { 0x5163, 73433 },
+ { 0x5164, 73436 },
+ { 0x5165, 73439 },
+ { 0x5166, 73442 },
+ { 0x5167, 73445 },
+ { 0x5168, 75281 },
+ { 0x5169, 73448 },
+ { 0x516A, 73451 },
+ { 0x516B, 73454 },
+ { 0x516C, 73457 },
+ { 0x516D, 73460 },
+ { 0x516E, 73463 },
+ { 0x516F, 73466 },
+ { 0x5170, 73469 },
+ { 0x5171, 73472 },
+ { 0x5172, 73475 },
+ { 0x5173, 75284 },
+ { 0x5174, 73478 },
+ { 0x5175, 73481 },
+ { 0x5176, 73484 },
+ { 0x5177, 73487 },
+ { 0x5178, 73490 },
+ { 0x5179, 73493 },
+ { 0x517A, 75287 },
+ { 0x517B, 73496 },
+ { 0x517C, 75290 },
+ { 0x517D, 73499 },
+ { 0x517E, 73502 },
+ { 0x517F, 73505 },
+ { 0x5180, 73508 },
+ { 0x5181, 73511 },
+ { 0x5182, 73514 },
+ { 0x5183, 73517 },
+ { 0x5184, 75293 },
+ { 0x5185, 73520 },
+ { 0x5186, 75296 },
+ { 0x5187, 73523 },
+ { 0x5188, 75299 },
+ { 0x5189, 73526 },
+ { 0x518A, 73529 },
+ { 0x518B, 73532 },
+ { 0x518C, 73535 },
+ { 0x518D, 75302 },
+ { 0x518E, 75305 },
+ { 0x518F, 75308 },
+ { 0x5190, 73538 },
+ { 0x5191, 73541 },
+ { 0x5192, 73544 },
+ { 0x5193, 73547 },
+ { 0x5194, 73550 },
+ { 0x5195, 73553 },
+ { 0x5196, 73556 },
+ { 0x5197, 73559 },
+ { 0x5198, 75311 },
+ { 0x5199, 73562 },
+ { 0x519A, 75314 },
+ { 0x519B, 75317 },
+ { 0x519C, 73565 },
+ { 0x519D, 73568 },
+ { 0x519E, 73571 },
+ { 0x519F, 73574 },
+ { 0x51A0, 75320 },
+ { 0x51A1, 73577 },
+ { 0x51A2, 73580 },
+ { 0x51A3, 73583 },
+ { 0x51A4, 73586 },
+ { 0x51A5, 73589 },
+ { 0x51A6, 73592 },
+ { 0x51A7, 73595 },
+ { 0x51A8, 73598 },
+ { 0x51A9, 73601 },
+ { 0x51AA, 75323 },
+ { 0x51AB, 73604 },
+ { 0x51AC, 73607 },
+ { 0x51AD, 73610 },
+ { 0x51AE, 73613 },
+ { 0x51AF, 73616 },
+ { 0x51B0, 73619 },
+ { 0x51B1, 75326 },
+ { 0x51B2, 73622 },
+ { 0x51B3, 73625 },
+ { 0x51B4, 73628 },
+ { 0x51B5, 73631 },
+ { 0x51B6, 73634 },
+ { 0x51B7, 73637 },
+ { 0x51B8, 73640 },
+ { 0x51B9, 73643 },
+ { 0x51BA, 73646 },
+ { 0x51BB, 73649 },
+ { 0x51BC, 75329 },
+ { 0x51BD, 73652 },
+ { 0x51BE, 75332 },
+ { 0x51BF, 73655 },
+ { 0x51C0, 73658 },
+ { 0x51C1, 73661 },
+ { 0x51C2, 73664 },
+ { 0x51C3, 73667 },
+ { 0x51C4, 73670 },
+ { 0x51C5, 75335 },
+ { 0x51C6, 73673 },
+ { 0x51C7, 73676 },
+ { 0x51C8, 75338 },
+ { 0x51C9, 73679 },
+ { 0x51CA, 73682 },
+ { 0x51CB, 73685 },
+ { 0x51CC, 73688 },
+ { 0x51CD, 73691 },
+ { 0x51CE, 73694 },
+ { 0x51CF, 73697 },
+ { 0x51D0, 73700 },
+ { 0x51D1, 73703 },
+ { 0x51D2, 73706 },
+ { 0x51D3, 73709 },
+ { 0x51D4, 73712 },
+ { 0x51D5, 73715 },
+ { 0x51D6, 73718 },
+ { 0x51D7, 73721 },
+ { 0x51D8, 75341 },
+ { 0x51D9, 73724 },
+ { 0x51DA, 73727 },
+ { 0x51DB, 73730 },
+ { 0x51DC, 73733 },
+ { 0x51DD, 73736 },
+ { 0x51DE, 73739 },
+ { 0x51DF, 73742 },
+ { 0x51E0, 75344 },
+ { 0x51E1, 73745 },
+ { 0x51E2, 73748 },
+ { 0x51E3, 73751 },
+ { 0x51E4, 73754 },
+ { 0x51E5, 75347 },
+ { 0x51E6, 73757 },
+ { 0x51E7, 75350 },
+ { 0x51E8, 73760 },
+ { 0x51E9, 75353 },
+ { 0x51EA, 73763 },
+ { 0x51EB, 73766 },
+ { 0x51EC, 73769 },
+ { 0x51ED, 73772 },
+ { 0x51EE, 73775 },
+ { 0x51EF, 73778 },
+ { 0x51F0, 73781 },
+ { 0x51F1, 73784 },
+ { 0x51F2, 73787 },
+ { 0x51F3, 73790 },
+ { 0x51F4, 73793 },
+ { 0x51F5, 73796 },
+ { 0x51F6, 73799 },
+ { 0x51F7, 73802 },
+ { 0x51F8, 75356 },
+ { 0x51F9, 73805 },
+ { 0x51FA, 73808 },
+ { 0x51FB, 73811 },
+ { 0x51FC, 73814 },
+ { 0x51FD, 75359 },
+ { 0x51FE, 73817 },
+ { 0x51FF, 73820 },
+ { 0x5200, 73823 },
+ { 0x5201, 75362 },
+ { 0x5202, 75365 },
+ { 0x5203, 73826 },
+ { 0x5204, 73829 },
+ { 0x5205, 75368 },
+ { 0x5206, 73832 },
+ { 0x5207, 73835 },
+ { 0x5208, 73838 },
+ { 0x5209, 73841 },
+ { 0x520A, 73844 },
+ { 0x520B, 73847 },
+ { 0x520C, 73850 },
+ { 0x520D, 75371 },
+ { 0x520E, 73853 },
+ { 0x520F, 73856 },
+ { 0x5210, 75374 },
+ { 0x5211, 75377 },
+ { 0x5212, 75380 },
+ { 0x5213, 75383 },
+ { 0x5214, 75386 },
+ { 0x5215, 75389 },
+ { 0x5216, 75392 },
+ { 0x5217, 75395 },
+ { 0x5218, 73859 },
+ { 0x5219, 73862 },
+ { 0x521A, 73865 },
+ { 0x521B, 75398 },
+ { 0x521C, 73868 },
+ { 0x521D, 75401 },
+ { 0x521E, 73871 },
+ { 0x521F, 75404 },
+ { 0x5220, 73874 },
+ { 0x5221, 73877 },
+ { 0x5222, 73880 },
+ { 0x5223, 73883 },
+ { 0x5224, 73886 },
+ { 0x5225, 75407 },
+ { 0x5226, 73889 },
+ { 0x5227, 73892 },
+ { 0x5228, 75410 },
+ { 0x5229, 73895 },
+ { 0x522A, 73898 },
+ { 0x522B, 73901 },
+ { 0x522C, 73904 },
+ { 0x522D, 75413 },
+ { 0x522E, 73907 },
+ { 0x522F, 73910 },
+ { 0x5230, 73913 },
+ { 0x5231, 75416 },
+ { 0x5232, 73916 },
+ { 0x5233, 73919 },
+ { 0x5234, 75419 },
+ { 0x5235, 75422 },
+ { 0x5236, 73922 },
+ { 0x5237, 73925 },
+ { 0x5238, 73928 },
+ { 0x5239, 73931 },
+ { 0x523A, 73934 },
+ { 0x523B, 73937 },
+ { 0x523C, 73940 },
+ { 0x523D, 75425 },
+ { 0x523E, 73943 },
+ { 0x523F, 73946 },
+ { 0x5240, 73949 },
+ { 0x5241, 73952 },
+ { 0x5242, 73955 },
+ { 0x5243, 73958 },
+ { 0x5244, 73961 },
+ { 0x5245, 73964 },
+ { 0x5246, 73967 },
+ { 0x5247, 73970 },
+ { 0x5248, 73973 },
+ { 0x5249, 73976 },
+ { 0x524A, 73979 },
+ { 0x524B, 73982 },
+ { 0x524C, 73985 },
+ { 0x524D, 73988 },
+ { 0x524E, 73991 },
+ { 0x524F, 73994 },
+ { 0x5250, 73997 },
+ { 0x5251, 74000 },
+ { 0x5252, 74003 },
+ { 0x5253, 74006 },
+ { 0x5254, 75428 },
+ { 0x5255, 75431 },
+ { 0x5256, 74009 },
+ { 0x5257, 74012 },
+ { 0x5258, 74015 },
+ { 0x5259, 74018 },
+ { 0x525A, 74021 },
+ { 0x525B, 74024 },
+ { 0x525C, 74027 },
+ { 0x525D, 75434 },
+ { 0x525E, 74030 },
+ { 0x525F, 74033 },
+ { 0x5260, 74036 },
+ { 0x5261, 74039 },
+ { 0x5262, 74042 },
+ { 0x5263, 74045 },
+ { 0x5264, 74048 },
+ { 0x5265, 74051 },
+ { 0x5266, 75437 },
+ { 0x5267, 74054 },
+ { 0x5268, 75440 },
+ { 0x5269, 74057 },
+ { 0x526A, 75443 },
+ { 0x526B, 74060 },
+ { 0x526C, 74063 },
+ { 0x526D, 75446 },
+ { 0x526E, 74066 },
+ { 0x526F, 74069 },
+ { 0x5270, 74072 },
+ { 0x5271, 74075 },
+ { 0x5272, 74078 },
+ { 0x5273, 75449 },
+ { 0x5274, 75452 },
+ { 0x5275, 75455 },
+ { 0x5276, 75458 },
+ { 0x5277, 75461 },
+ { 0x5278, 75959 },
+ { 0x5279, 75464 },
+ { 0x527A, 75467 },
+ { 0x527B, 75470 },
+ { 0x527C, 75473 },
+ { 0x527D, 75476 },
+ { 0x527E, 75479 },
+ { 0x527F, 75482 },
+ { 0x5280, 75485 },
+ { 0x5281, 75488 },
+ { 0x5282, 75491 },
+ { 0x5283, 75494 },
+ { 0x5284, 75497 },
+ { 0x5285, 75962 },
+ { 0x5286, 75500 },
+ { 0x5287, 75503 },
+ { 0x5288, 75506 },
+ { 0x5289, 75509 },
+ { 0x528A, 75512 },
+ { 0x528B, 75515 },
+ { 0x528C, 75518 },
+ { 0x528D, 75521 },
+ { 0x528E, 75524 },
+ { 0x528F, 75527 },
+ { 0x5290, 75530 },
+ { 0x5291, 75533 },
+ { 0x5292, 75536 },
+ { 0x5293, 75965 },
+ { 0x5294, 75539 },
+ { 0x5295, 75968 },
+ { 0x5296, 75542 },
+ { 0x5297, 75545 },
+ { 0x5298, 75548 },
+ { 0x5299, 75551 },
+ { 0x529A, 75554 },
+ { 0x529B, 75557 },
+ { 0x529C, 75560 },
+ { 0x529D, 75971 },
+ { 0x529E, 75563 },
+ { 0x529F, 75566 },
+ { 0x52A0, 75569 },
+ { 0x52A1, 75572 },
+ { 0x52A2, 75974 },
+ { 0x52A3, 74081 },
+ { 0x52A4, 75575 },
+ { 0x52A5, 74084 },
+ { 0x52A6, 74087 },
+ { 0x52A7, 74090 },
+ { 0x52A8, 74093 },
+ { 0x52A9, 75578 },
+ { 0x52AA, 74096 },
+ { 0x52AB, 75581 },
+ { 0x52AC, 75584 },
+ { 0x52AD, 75587 },
+ { 0x52AE, 75590 },
+ { 0x52AF, 75593 },
+ { 0x52B0, 75596 },
+ { 0x52B1, 74099 },
+ { 0x52B2, 74102 },
+ { 0x52B3, 74105 },
+ { 0x52B4, 74108 },
+ { 0x52B5, 75599 },
+ { 0x52B6, 75602 },
+ { 0x52B7, 75605 },
+ { 0x52B8, 74111 },
+ { 0x52B9, 74114 },
+ { 0x52BA, 74117 },
+ { 0x52BB, 74120 },
+ { 0x52BC, 74123 },
+ { 0x52BD, 74126 },
+ { 0x52BE, 74129 },
+ { 0x52BF, 74132 },
+ { 0x52C0, 74135 },
+ { 0x52C1, 75608 },
+ { 0x52C2, 74138 },
+ { 0x52C3, 75611 },
+ { 0x52C4, 74141 },
+ { 0x52C5, 74144 },
+ { 0x52C6, 74147 },
+ { 0x52C7, 74150 },
+ { 0x52C8, 75614 },
+ { 0x52C9, 74153 },
+ { 0x52CA, 75617 },
+ { 0x52CB, 74156 },
+ { 0x52CC, 74159 },
+ { 0x52CD, 74162 },
+ { 0x52CE, 74165 },
+ { 0x52CF, 75620 },
+ { 0x52D0, 74168 },
+ { 0x52D1, 75623 },
+ { 0x52D2, 74171 },
+ { 0x52D3, 74174 },
+ { 0x52D4, 74177 },
+ { 0x52D5, 75626 },
+ { 0x52D6, 74180 },
+ { 0x52D7, 74183 },
+ { 0x52D8, 74186 },
+ { 0x52D9, 75629 },
+ { 0x52DA, 75632 },
+ { 0x52DB, 75635 },
+ { 0x52DC, 75638 },
+ { 0x52DD, 74189 },
+ { 0x52DE, 74192 },
+ { 0x52DF, 74195 },
+ { 0x52E0, 74198 },
+ { 0x52E1, 74201 },
+ { 0x52E2, 74204 },
+ { 0x52E3, 74207 },
+ { 0x52E4, 74210 },
+ { 0x52E5, 74213 },
+ { 0x52E6, 74216 },
+ { 0x52E7, 74219 },
+ { 0x52E8, 74222 },
+ { 0x52E9, 74225 },
+ { 0x52EA, 74228 },
+ { 0x52EB, 75641 },
+ { 0x52EC, 75644 },
+ { 0x52ED, 74231 },
+ { 0x52EE, 74234 },
+ { 0x52EF, 75647 },
+ { 0x52F0, 74237 },
+ { 0x52F1, 74240 },
+ { 0x52F2, 75650 },
+ { 0x52F3, 74243 },
+ { 0x52F4, 74246 },
+ { 0x52F5, 74249 },
+ { 0x52F6, 74252 },
+ { 0x52F7, 74255 },
+ { 0x52F8, 74258 },
+ { 0x52F9, 74261 },
+ { 0x52FA, 74264 },
+ { 0x52FB, 74267 },
+ { 0x52FC, 74270 },
+ { 0x52FD, 74273 },
+ { 0x52FE, 74276 },
+ { 0x52FF, 74279 },
+ { 0x5300, 74282 },
+ { 0x5301, 74285 },
+ { 0x5302, 74288 },
+ { 0x5303, 74291 },
+ { 0x5304, 75653 },
+ { 0x5305, 74294 },
+ { 0x5306, 75656 },
+ { 0x5307, 75659 },
+ { 0x5308, 74297 },
+ { 0x5309, 74300 },
+ { 0x530A, 74303 },
+ { 0x530B, 74306 },
+ { 0x530C, 74309 },
+ { 0x530D, 74312 },
+ { 0x530E, 74315 },
+ { 0x530F, 75662 },
+ { 0x5310, 74318 },
+ { 0x5311, 74321 },
+ { 0x5312, 74324 },
+ { 0x5313, 74327 },
+ { 0x5314, 74330 },
+ { 0x5315, 74333 },
+ { 0x5316, 75665 },
+ { 0x5317, 74336 },
+ { 0x5318, 74339 },
+ { 0x5319, 74342 },
+ { 0x531A, 74345 },
+ { 0x531B, 74348 },
+ { 0x531C, 74351 },
+ { 0x531D, 74354 },
+ { 0x531E, 74357 },
+ { 0x531F, 74360 },
+ { 0x5320, 74363 },
+ { 0x5321, 74366 },
+ { 0x5322, 74369 },
+ { 0x5323, 74372 },
+ { 0x5324, 74375 },
+ { 0x5325, 74378 },
+ { 0x5326, 75668 },
+ { 0x5327, 74381 },
+ { 0x5328, 74384 },
+ { 0x5329, 74387 },
+ { 0x532A, 74390 },
+ { 0x532B, 75671 },
+ { 0x532C, 74393 },
+ { 0x532D, 74396 },
+ { 0x532E, 74399 },
+ { 0x532F, 74402 },
+ { 0x5330, 74405 },
+ { 0x5331, 74408 },
+ { 0x5332, 74411 },
+ { 0x5333, 74414 },
+ { 0x5334, 75674 },
+ { 0x5335, 75677 },
+ { 0x5336, 74417 },
+ { 0x5337, 74420 },
+ { 0x5338, 74423 },
+ { 0x5339, 75680 },
+ { 0x533A, 74426 },
+ { 0x533B, 74429 },
+ { 0x533C, 74432 },
+ { 0x533D, 74435 },
+ { 0x533E, 74438 },
+ { 0x533F, 74441 },
+ { 0x5340, 74444 },
+ { 0x5341, 74447 },
+ { 0x5342, 74450 },
+ { 0x5343, 75683 },
+ { 0x5344, 75686 },
+ { 0x5345, 74453 },
+ { 0x5346, 74456 },
+ { 0x5347, 74459 },
+ { 0x5348, 74462 },
+ { 0x5349, 74465 },
+ { 0x534A, 74468 },
+ { 0x534B, 74471 },
+ { 0x534C, 74474 },
+ { 0x534D, 74477 },
+ { 0x534E, 75689 },
+ { 0x534F, 74480 },
+ { 0x5350, 74483 },
+ { 0x5351, 74486 },
+ { 0x5352, 74489 },
+ { 0x5353, 74492 },
+ { 0x5354, 74495 },
+ { 0x5355, 74498 },
+ { 0x5356, 74501 },
+ { 0x5357, 74504 },
+ { 0x5358, 74507 },
+ { 0x5359, 74510 },
+ { 0x535A, 74513 },
+ { 0x535B, 74516 },
+ { 0x535C, 74519 },
+ { 0x535D, 75692 },
+ { 0x535E, 74522 },
+ { 0x535F, 74525 },
+ { 0x5360, 74528 },
+ { 0x5361, 74531 },
+ { 0x5362, 75695 },
+ { 0x5363, 74534 },
+ { 0x5364, 75698 },
+ { 0x5365, 74537 },
+ { 0x5366, 75701 },
+ { 0x5367, 74540 },
+ { 0x5368, 74543 },
+ { 0x5369, 75704 },
+ { 0x536A, 74546 },
+ { 0x536B, 74549 },
+ { 0x536C, 74552 },
+ { 0x536D, 74555 },
+ { 0x536E, 74558 },
+ { 0x536F, 75707 },
+ { 0x5370, 74561 },
+ { 0x5371, 74564 },
+ { 0x5372, 74567 },
+ { 0x5373, 74570 },
+ { 0x5374, 74573 },
+ { 0x5375, 74576 },
+ { 0x5376, 74579 },
+ { 0x5377, 74582 },
+ { 0x5378, 74585 },
+ { 0x5379, 74588 },
+ { 0x537A, 74591 },
+ { 0x537B, 74594 },
+ { 0x537C, 74597 },
+ { 0x537D, 74600 },
+ { 0x537E, 74603 },
+ { 0x537F, 74606 },
+ { 0x5380, 75710 },
+ { 0x5381, 74609 },
+ { 0x5382, 75713 },
+ { 0x5383, 74612 },
+ { 0x5384, 74615 },
+ { 0x5385, 74618 },
+ { 0x5386, 74621 },
+ { 0x5387, 74624 },
+ { 0x5388, 74627 },
+ { 0x5389, 74630 },
+ { 0x538A, 74633 },
+ { 0x538B, 74636 },
+ { 0x538C, 75716 },
+ { 0x538D, 75719 },
+ { 0x538E, 74639 },
+ { 0x538F, 74642 },
+ { 0x5390, 74645 },
+ { 0x5391, 74648 },
+ { 0x5392, 74651 },
+ { 0x5393, 74654 },
+ { 0x5394, 74657 },
+ { 0x5395, 74660 },
+ { 0x5396, 74663 },
+ { 0x5397, 74666 },
+ { 0x5398, 74669 },
+ { 0x5399, 74672 },
+ { 0x539A, 74675 },
+ { 0x539B, 74678 },
+ { 0x539C, 74681 },
+ { 0x539D, 74684 },
+ { 0x539E, 74687 },
+ { 0x539F, 75722 },
+ { 0x53A0, 74690 },
+ { 0x53A1, 74693 },
+ { 0x53A2, 74696 },
+ { 0x53A3, 74699 },
+ { 0x53A4, 74702 },
+ { 0x53A5, 74705 },
+ { 0x53A6, 75725 },
+ { 0x53A7, 74708 },
+ { 0x53A8, 74711 },
+ { 0x53A9, 74714 },
+ { 0x53AA, 75728 },
+ { 0x53AB, 74717 },
+ { 0x53AC, 74720 },
+ { 0x53AD, 74723 },
+ { 0x53AE, 74726 },
+ { 0x53AF, 74729 },
+ { 0x53B0, 74732 },
+ { 0x53B1, 74735 },
+ { 0x53B2, 74738 },
+ { 0x53B3, 74741 },
+ { 0x53B4, 74744 },
+ { 0x53B5, 74747 },
+ { 0x53B6, 75731 },
+ { 0x53B7, 75734 },
+ { 0x53B8, 75737 },
+ { 0x53B9, 75740 },
+ { 0x53BA, 75743 },
+ { 0x53BB, 75746 },
+ { 0x53BC, 75749 },
+ { 0x53BD, 75752 },
+ { 0x53BE, 75755 },
+ { 0x53BF, 74750 },
+ { 0x53C0, 75758 },
+ { 0x53C1, 74753 },
+ { 0x53C2, 74756 },
+ { 0x53C3, 74759 },
+ { 0x53C4, 74762 },
+ { 0x53C5, 74765 },
+ { 0x53C6, 75761 },
+ { 0x53C7, 75764 },
+ { 0x53C8, 74768 },
+ { 0x53C9, 74771 },
+ { 0x53CA, 74774 },
+ { 0x53CB, 74777 },
+ { 0x53CC, 75767 },
+ { 0x53CD, 75770 },
+ { 0x53CE, 75773 },
+ { 0x53CF, 74780 },
+ { 0x53D0, 75776 },
+ { 0x53D1, 75779 },
+ { 0x53D2, 74783 },
+ { 0x53D3, 74786 },
+ { 0x53D4, 74789 },
+ { 0x53D5, 74792 },
+ { 0x53D6, 74795 },
+ { 0x53D7, 74798 },
+ { 0x53D8, 74801 },
+ { 0x53D9, 74804 },
+ { 0x53DA, 75782 },
+ { 0x53DB, 75785 },
+ { 0x53DC, 75788 },
+ { 0x53DD, 75791 },
+ { 0x53DE, 75794 },
+ { 0x53DF, 75797 },
+ { 0x53E0, 75800 },
+ { 0x53E1, 75803 },
+ { 0x53E2, 75806 },
+ { 0x53E3, 75809 },
+ { 0x53E4, 75812 },
+ { 0x53E5, 75815 },
+ { 0x53E6, 74807 },
+ { 0x53E7, 74810 },
+ { 0x53E8, 74813 },
+ { 0x53E9, 75818 },
+ { 0x53EA, 74816 },
+ { 0x53EB, 74819 },
+ { 0x53EC, 74822 },
+ { 0x53ED, 74825 },
+ { 0x53EE, 74828 },
+ { 0x53EF, 75821 },
+ { 0x53F0, 74831 },
+ { 0x53F1, 75824 },
+ { 0x53F2, 74834 },
+ { 0x53F3, 75827 },
+ { 0x53F4, 74837 },
+ { 0x53F5, 75830 },
+ { 0x53F6, 74840 },
+ { 0x53F7, 74843 },
+ { 0x53F8, 75833 },
+ { 0x53F9, 74846 },
+ { 0x53FA, 74849 },
+ { 0x53FB, 74852 },
+ { 0x53FC, 74855 },
+ { 0x53FD, 75836 },
+ { 0x53FE, 74858 },
+ { 0x53FF, 74861 },
+ { 0x5400, 74864 },
+ { 0x5401, 75839 },
+ { 0x5402, 74867 },
+ { 0x5403, 74870 },
+ { 0x5404, 74873 },
+ { 0x5405, 75842 },
+ { 0x5406, 74876 },
+ { 0x5407, 74879 },
+ { 0x5408, 74882 },
+ { 0x5409, 74885 },
+ { 0x540A, 74888 },
+ { 0x540B, 74891 },
+ { 0x540C, 75845 },
+ { 0x540D, 74894 },
+ { 0x540E, 75848 },
+ { 0x540F, 74897 },
+ { 0x5410, 74900 },
+ { 0x5411, 74903 },
+ { 0x5412, 74906 },
+ { 0x5413, 75851 },
+ { 0x5414, 74909 },
+ { 0x5415, 74912 },
+ { 0x5416, 74915 },
+ { 0x5417, 75854 },
+ { 0x5418, 74918 },
+ { 0x5419, 75857 },
+ { 0x541A, 74921 },
+ { 0x541B, 74924 },
+ { 0x541C, 74927 },
+ { 0x541D, 74930 },
+ { 0x541E, 74933 },
+ { 0x541F, 74936 },
+ { 0x5420, 75860 },
+ { 0x5421, 74939 },
+ { 0x5422, 74942 },
+ { 0x5423, 74945 },
+ { 0x5424, 74948 },
+ { 0x5425, 74951 },
+ { 0x5426, 75863 },
+ { 0x5427, 75866 },
+ { 0x5428, 74954 },
+ { 0x5429, 74957 },
+ { 0x542A, 75869 },
+ { 0x542B, 74960 },
+ { 0x542C, 74963 },
+ { 0x542D, 75872 },
+ { 0x542E, 74966 },
+ { 0x542F, 75875 },
+ { 0x5430, 74969 },
+ { 0x5431, 74972 },
+ { 0x5432, 74975 },
+ { 0x5433, 74978 },
+ { 0x5434, 74981 },
+ { 0x5435, 74984 },
+ { 0x5436, 74987 },
+ { 0x5437, 74990 },
+ { 0x5438, 74993 },
+ { 0x5439, 75878 },
+ { 0x543A, 75881 },
+ { 0x543B, 75884 },
+ { 0x543C, 75887 },
+ { 0x543D, 74996 },
+ { 0x543E, 75890 },
+ { 0x543F, 75893 },
+ { 0x5440, 74999 },
+ { 0x5441, 75896 },
+ { 0x5442, 75002 },
+ { 0x5443, 75899 },
+ { 0x5444, 75005 },
+ { 0x5445, 75008 },
+ { 0x5446, 75011 },
+ { 0x5447, 75014 },
+ { 0x5448, 75017 },
+ { 0x5449, 75020 },
+ { 0x544A, 75023 },
+ { 0x544B, 75026 },
+ { 0x544C, 75029 },
+ { 0x544D, 75032 },
+ { 0x544E, 75902 },
+ { 0x544F, 75905 },
+ { 0x5450, 75908 },
+ { 0x5451, 75911 },
+ { 0x5452, 75914 },
+ { 0x5453, 75917 },
+ { 0x5454, 75920 },
+ { 0x5455, 75923 },
+ { 0x5456, 75926 },
+ { 0x5457, 75035 },
+ { 0x5458, 75929 },
+ { 0x5459, 75932 },
+ { 0x545A, 75935 },
+ { 0x545B, 75938 },
+ { 0x545C, 75941 },
+ { 0x545D, 75944 },
+ { 0x545E, 75947 },
+ { 0x545F, 75950 },
+ { 0x5460, 75068 },
+ { 0x5461, 75071 },
+ { 0x5462, 75074 },
+ { 0x5463, 75077 },
+ { 0x5464, 75080 },
+ { 0x5465, 75083 },
+ { 0x5466, 75086 },
+ { 0x5467, 75953 },
+ { 0x5468, 75956 },
+ { 0x5469, 75089 },
+ { 0x546A, 75092 },
+ { 0x546B, 75095 },
+ { 0x546C, 75098 },
+ { 0x546D, 75101 },
+ { 0x546E, 75104 },
+ { 0x546F, 75107 },
+ { 0x5470, 75110 },
+ { 0x5471, 75113 },
+ { 0x5472, 75116 },
+ { 0x5473, 75119 },
+ { 0x5474, 75122 },
+ { 0x5475, 75125 },
+ { 0x5476, 75128 },
+ { 0x5477, 75131 },
+ { 0x5478, 75134 },
+ { 0x5479, 75137 },
+ { 0x547A, 75140 },
+ { 0x547B, 75143 },
+ { 0x547C, 75146 },
+ { 0x547D, 75149 },
+ { 0x547E, 75152 },
+ { 0x547F, 75155 },
+ { 0x5480, 75158 },
+ { 0x5481, 75161 },
+ { 0x5482, 83875 },
+ { 0x5483, 83878 },
+ { 0x5484, 83881 },
+ { 0x5485, 83884 },
+ { 0x5486, 83887 },
+ { 0x5487, 83890 },
+ { 0x5488, 83893 },
+ { 0x5489, 83896 },
+ { 0x548A, 83899 },
+ { 0x548B, 83902 },
+ { 0x548C, 85460 },
+ { 0x548D, 83905 },
+ { 0x548E, 83908 },
+ { 0x548F, 83911 },
+ { 0x5490, 83914 },
+ { 0x5491, 83917 },
+ { 0x5492, 83920 },
+ { 0x5493, 83923 },
+ { 0x5494, 83926 },
+ { 0x5495, 83929 },
+ { 0x5496, 83932 },
+ { 0x5497, 83935 },
+ { 0x5498, 83938 },
+ { 0x5499, 83941 },
+ { 0x549A, 83944 },
+ { 0x549B, 83947 },
+ { 0x549C, 83950 },
+ { 0x549D, 85463 },
+ { 0x549E, 83953 },
+ { 0x549F, 83956 },
+ { 0x54A0, 83959 },
+ { 0x54A1, 83962 },
+ { 0x54A2, 83965 },
+ { 0x54A3, 83968 },
+ { 0x54A4, 83971 },
+ { 0x54A5, 83974 },
+ { 0x54A6, 83977 },
+ { 0x54A7, 83980 },
+ { 0x54A8, 83983 },
+ { 0x54A9, 83986 },
+ { 0x54AA, 83989 },
+ { 0x54AB, 85466 },
+ { 0x54AC, 83992 },
+ { 0x54AD, 83995 },
+ { 0x54AE, 85469 },
+ { 0x54AF, 83998 },
+ { 0x54B0, 84001 },
+ { 0x54B1, 84004 },
+ { 0x54B2, 84007 },
+ { 0x54B3, 85472 },
+ { 0x54B4, 84010 },
+ { 0x54B5, 85475 },
+ { 0x54B6, 85478 },
+ { 0x54B7, 84013 },
+ { 0x54B8, 84016 },
+ { 0x54B9, 84019 },
+ { 0x54BA, 84022 },
+ { 0x54BB, 84025 },
+ { 0x54BC, 84028 },
+ { 0x54BD, 84031 },
+ { 0x54BE, 84034 },
+ { 0x54BF, 84037 },
+ { 0x54C0, 84040 },
+ { 0x54C1, 84043 },
+ { 0x54C2, 84046 },
+ { 0x54C3, 84049 },
+ { 0x54C4, 84052 },
+ { 0x54C5, 84055 },
+ { 0x54C6, 84058 },
+ { 0x54C7, 84061 },
+ { 0x54C8, 84064 },
+ { 0x54C9, 84067 },
+ { 0x54CA, 84070 },
+ { 0x54CB, 85481 },
+ { 0x54CC, 85484 },
+ { 0x54CD, 85487 },
+ { 0x54CE, 84073 },
+ { 0x54CF, 84076 },
+ { 0x54D0, 84079 },
+ { 0x54D1, 84082 },
+ { 0x54D2, 84085 },
+ { 0x54D3, 84088 },
+ { 0x54D4, 84091 },
+ { 0x54D5, 84094 },
+ { 0x54D6, 84097 },
+ { 0x54D7, 84100 },
+ { 0x54D8, 84103 },
+ { 0x54D9, 84106 },
+ { 0x54DA, 84109 },
+ { 0x54DB, 84112 },
+ { 0x54DC, 84115 },
+ { 0x54DD, 84118 },
+ { 0x54DE, 84121 },
+ { 0x54DF, 84124 },
+ { 0x54E0, 84127 },
+ { 0x54E1, 84130 },
+ { 0x54E2, 84133 },
+ { 0x54E3, 84136 },
+ { 0x54E4, 84139 },
+ { 0x54E5, 84142 },
+ { 0x54E6, 84145 },
+ { 0x54E7, 84148 },
+ { 0x54E8, 84151 },
+ { 0x54E9, 84154 },
+ { 0x54EA, 84157 },
+ { 0x54EB, 84160 },
+ { 0x54EC, 84163 },
+ { 0x54ED, 85490 },
+ { 0x54EE, 84166 },
+ { 0x54EF, 85493 },
+ { 0x54F0, 84169 },
+ { 0x54F1, 84172 },
+ { 0x54F2, 85496 },
+ { 0x54F3, 84175 },
+ { 0x54F4, 85499 },
+ { 0x54F5, 84178 },
+ { 0x54F6, 85502 },
+ { 0x54F7, 84181 },
+ { 0x54F8, 84184 },
+ { 0x54F9, 85505 },
+ { 0x54FA, 85508 },
+ { 0x54FB, 85511 },
+ { 0x54FC, 84187 },
+ { 0x54FD, 85514 },
+ { 0x54FE, 85517 },
+ { 0x54FF, 84190 },
+ { 0x5500, 84193 },
+ { 0x5501, 85520 },
+ { 0x5502, 85523 },
+ { 0x5503, 85526 },
+ { 0x5504, 84196 },
+ { 0x5505, 84199 },
+ { 0x5506, 84202 },
+ { 0x5507, 85529 },
+ { 0x5508, 85532 },
+ { 0x5509, 84205 },
+ { 0x550A, 84208 },
+ { 0x550B, 84211 },
+ { 0x550C, 84214 },
+ { 0x550D, 84217 },
+ { 0x550E, 85535 },
+ { 0x550F, 84220 },
+ { 0x5510, 84223 },
+ { 0x5511, 84226 },
+ { 0x5512, 84229 },
+ { 0x5513, 84232 },
+ { 0x5514, 84235 },
+ { 0x5515, 84238 },
+ { 0x5516, 84241 },
+ { 0x5517, 84244 },
+ { 0x5518, 84247 },
+ { 0x5519, 85538 },
+ { 0x551A, 84250 },
+ { 0x551B, 84253 },
+ { 0x551C, 84256 },
+ { 0x551D, 84259 },
+ { 0x551E, 84262 },
+ { 0x551F, 84265 },
+ { 0x5520, 84268 },
+ { 0x5521, 84271 },
+ { 0x5522, 84274 },
+ { 0x5523, 84277 },
+ { 0x5524, 85541 },
+ { 0x5525, 84280 },
+ { 0x5526, 84283 },
+ { 0x5527, 84286 },
+ { 0x5528, 84289 },
+ { 0x5529, 84292 },
+ { 0x552A, 84295 },
+ { 0x552B, 84298 },
+ { 0x552C, 84301 },
+ { 0x552D, 84304 },
+ { 0x552E, 84307 },
+ { 0x552F, 84310 },
+ { 0x5530, 84313 },
+ { 0x5531, 84316 },
+ { 0x5532, 84319 },
+ { 0x5533, 84322 },
+ { 0x5534, 84325 },
+ { 0x5535, 84328 },
+ { 0x5536, 84331 },
+ { 0x5537, 84334 },
+ { 0x5538, 84337 },
+ { 0x5539, 84340 },
+ { 0x553A, 84343 },
+ { 0x553B, 84346 },
+ { 0x553C, 84349 },
+ { 0x553D, 84352 },
+ { 0x553E, 84355 },
+ { 0x553F, 84358 },
+ { 0x5540, 84361 },
+ { 0x5541, 84364 },
+ { 0x5542, 84367 },
+ { 0x5543, 84370 },
+ { 0x5544, 84373 },
+ { 0x5545, 84376 },
+ { 0x5546, 84379 },
+ { 0x5547, 84382 },
+ { 0x5548, 84385 },
+ { 0x5549, 84388 },
+ { 0x554A, 84391 },
+ { 0x554B, 84394 },
+ { 0x554C, 84397 },
+ { 0x554D, 84400 },
+ { 0x554E, 84403 },
+ { 0x554F, 84406 },
+ { 0x5550, 84409 },
+ { 0x5551, 84412 },
+ { 0x5552, 84415 },
+ { 0x5553, 84418 },
+ { 0x5554, 84421 },
+ { 0x5555, 84424 },
+ { 0x5556, 84427 },
+ { 0x5557, 84430 },
+ { 0x5558, 84433 },
+ { 0x5559, 84436 },
+ { 0x555A, 84439 },
+ { 0x555B, 84442 },
+ { 0x555C, 84445 },
+ { 0x555D, 84448 },
+ { 0x555E, 84451 },
+ { 0x555F, 84454 },
+ { 0x5560, 84457 },
+ { 0x5561, 84460 },
+ { 0x5562, 84463 },
+ { 0x5563, 84466 },
+ { 0x5564, 84469 },
+ { 0x5565, 84472 },
+ { 0x5566, 84475 },
+ { 0x5567, 84478 },
+ { 0x5568, 85544 },
+ { 0x5569, 85547 },
+ { 0x556A, 84481 },
+ { 0x556B, 84484 },
+ { 0x556C, 84487 },
+ { 0x556D, 84490 },
+ { 0x556E, 84493 },
+ { 0x556F, 85550 },
+ { 0x5570, 84496 },
+ { 0x5571, 84499 },
+ { 0x5572, 85553 },
+ { 0x5573, 84502 },
+ { 0x5574, 84505 },
+ { 0x5575, 84508 },
+ { 0x5576, 84511 },
+ { 0x5577, 84514 },
+ { 0x5578, 84517 },
+ { 0x5579, 85556 },
+ { 0x557A, 84520 },
+ { 0x557B, 85559 },
+ { 0x557C, 84523 },
+ { 0x557D, 84526 },
+ { 0x557E, 84529 },
+ { 0x557F, 84532 },
+ { 0x5580, 84535 },
+ { 0x5581, 84538 },
+ { 0x5582, 84541 },
+ { 0x5583, 84544 },
+ { 0x5584, 84547 },
+ { 0x5585, 84550 },
+ { 0x5586, 84553 },
+ { 0x5587, 85562 },
+ { 0x5588, 84556 },
+ { 0x5589, 84559 },
+ { 0x558A, 84562 },
+ { 0x558B, 84565 },
+ { 0x558C, 84568 },
+ { 0x558D, 84571 },
+ { 0x558E, 84574 },
+ { 0x558F, 84577 },
+ { 0x5590, 84580 },
+ { 0x5591, 84583 },
+ { 0x5592, 84586 },
+ { 0x5593, 84589 },
+ { 0x5594, 84592 },
+ { 0x5595, 84595 },
+ { 0x5596, 84598 },
+ { 0x5597, 84601 },
+ { 0x5598, 84604 },
+ { 0x5599, 84607 },
+ { 0x559A, 84610 },
+ { 0x559B, 84613 },
+ { 0x559C, 84616 },
+ { 0x559D, 84619 },
+ { 0x559E, 84622 },
+ { 0x559F, 84625 },
+ { 0x55A0, 84628 },
+ { 0x55A1, 84631 },
+ { 0x55A2, 84634 },
+ { 0x55A3, 84637 },
+ { 0x55A4, 84640 },
+ { 0x55A5, 84643 },
+ { 0x55A6, 84646 },
+ { 0x55A7, 84649 },
+ { 0x55A8, 84652 },
+ { 0x55A9, 84655 },
+ { 0x55AA, 84658 },
+ { 0x55AB, 84661 },
+ { 0x55AC, 84664 },
+ { 0x55AD, 84667 },
+ { 0x55AE, 84670 },
+ { 0x55AF, 84673 },
+ { 0x55B0, 85565 },
+ { 0x55B1, 84676 },
+ { 0x55B2, 84679 },
+ { 0x55B3, 84682 },
+ { 0x55B4, 84685 },
+ { 0x55B5, 84688 },
+ { 0x55B6, 84691 },
+ { 0x55B7, 84694 },
+ { 0x55B8, 84697 },
+ { 0x55B9, 84700 },
+ { 0x55BA, 84703 },
+ { 0x55BB, 84706 },
+ { 0x55BC, 84709 },
+ { 0x55BD, 84712 },
+ { 0x55BE, 84715 },
+ { 0x55BF, 84718 },
+ { 0x55C0, 84721 },
+ { 0x55C1, 84724 },
+ { 0x55C2, 84727 },
+ { 0x55C3, 84730 },
+ { 0x55C4, 84733 },
+ { 0x55C5, 84736 },
+ { 0x55C6, 84739 },
+ { 0x55C7, 85568 },
+ { 0x55C8, 84742 },
+ { 0x55C9, 84745 },
+ { 0x55CA, 84748 },
+ { 0x55CB, 84751 },
+ { 0x55CC, 84754 },
+ { 0x55CD, 85571 },
+ { 0x55CE, 84757 },
+ { 0x55CF, 84760 },
+ { 0x55D0, 84763 },
+ { 0x55D1, 84766 },
+ { 0x55D2, 84769 },
+ { 0x55D3, 85574 },
+ { 0x55D4, 84772 },
+ { 0x55D5, 84775 },
+ { 0x55D6, 84778 },
+ { 0x55D7, 84781 },
+ { 0x55D8, 84784 },
+ { 0x55D9, 84787 },
+ { 0x55DA, 84790 },
+ { 0x55DB, 84793 },
+ { 0x55DC, 84796 },
+ { 0x55DD, 84799 },
+ { 0x55DE, 85577 },
+ { 0x55DF, 84802 },
+ { 0x55E0, 84805 },
+ { 0x55E1, 84808 },
+ { 0x55E2, 84811 },
+ { 0x55E3, 84814 },
+ { 0x55E4, 84817 },
+ { 0x55E5, 84820 },
+ { 0x55E6, 84823 },
+ { 0x55E7, 84826 },
+ { 0x55E8, 84829 },
+ { 0x55E9, 84832 },
+ { 0x55EA, 84835 },
+ { 0x55EB, 84838 },
+ { 0x55EC, 84841 },
+ { 0x55ED, 84844 },
+ { 0x55EE, 84847 },
+ { 0x55EF, 84850 },
+ { 0x55F0, 84853 },
+ { 0x55F1, 84856 },
+ { 0x55F2, 84859 },
+ { 0x55F3, 85580 },
+ { 0x55F4, 84862 },
+ { 0x55F5, 84865 },
+ { 0x55F6, 85583 },
+ { 0x55F7, 85586 },
+ { 0x55F8, 85589 },
+ { 0x55F9, 84868 },
+ { 0x55FA, 84871 },
+ { 0x55FB, 84874 },
+ { 0x55FC, 84877 },
+ { 0x55FD, 85592 },
+ { 0x55FE, 85595 },
+ { 0x55FF, 85598 },
+ { 0x5600, 84880 },
+ { 0x5601, 84883 },
+ { 0x5602, 84886 },
+ { 0x5603, 84889 },
+ { 0x5604, 84892 },
+ { 0x5605, 84895 },
+ { 0x5606, 84898 },
+ { 0x5607, 84901 },
+ { 0x5608, 84904 },
+ { 0x5609, 84907 },
+ { 0x560A, 84910 },
+ { 0x560B, 84913 },
+ { 0x560C, 84916 },
+ { 0x560D, 84919 },
+ { 0x560E, 84922 },
+ { 0x560F, 84925 },
+ { 0x5610, 84928 },
+ { 0x5611, 84931 },
+ { 0x5612, 84934 },
+ { 0x5613, 84937 },
+ { 0x5614, 84940 },
+ { 0x5615, 84943 },
+ { 0x5616, 84946 },
+ { 0x5617, 85601 },
+ { 0x5618, 84949 },
+ { 0x5619, 84952 },
+ { 0x561A, 84955 },
+ { 0x561B, 84958 },
+ { 0x561C, 84961 },
+ { 0x561D, 85604 },
+ { 0x561E, 84964 },
+ { 0x561F, 84967 },
+ { 0x5620, 84970 },
+ { 0x5621, 84973 },
+ { 0x5622, 85607 },
+ { 0x5623, 84976 },
+ { 0x5624, 84979 },
+ { 0x5625, 84982 },
+ { 0x5626, 85610 },
+ { 0x5627, 84985 },
+ { 0x5628, 84988 },
+ { 0x5629, 84991 },
+ { 0x562A, 84994 },
+ { 0x562B, 84997 },
+ { 0x562C, 85000 },
+ { 0x562D, 85003 },
+ { 0x562E, 85006 },
+ { 0x562F, 85009 },
+ { 0x5630, 85012 },
+ { 0x5631, 85613 },
+ { 0x5632, 85015 },
+ { 0x5633, 85018 },
+ { 0x5634, 85616 },
+ { 0x5635, 85024 },
+ { 0x5636, 85027 },
+ { 0x5637, 85030 },
+ { 0x5638, 85619 },
+ { 0x5639, 85033 },
+ { 0x563A, 85036 },
+ { 0x563B, 85039 },
+ { 0x563C, 85042 },
+ { 0x563D, 85045 },
+ { 0x563E, 85048 },
+ { 0x563F, 85051 },
+ { 0x5640, 85055 },
+ { 0x5641, 85058 },
+ { 0x5642, 85061 },
+ { 0x5643, 85064 },
+ { 0x5644, 85067 },
+ { 0x5645, 85070 },
+ { 0x5646, 85073 },
+ { 0x5647, 85076 },
+ { 0x5648, 85079 },
+ { 0x5649, 85082 },
+ { 0x564A, 85085 },
+ { 0x564B, 85088 },
+ { 0x564C, 85091 },
+ { 0x564D, 85094 },
+ { 0x564E, 85097 },
+ { 0x564F, 85100 },
+ { 0x5650, 85103 },
+ { 0x5651, 85622 },
+ { 0x5652, 85109 },
+ { 0x5653, 85112 },
+ { 0x5654, 85115 },
+ { 0x5655, 85118 },
+ { 0x5656, 85121 },
+ { 0x5657, 85124 },
+ { 0x5658, 85127 },
+ { 0x5659, 85130 },
+ { 0x565A, 85133 },
+ { 0x565B, 85136 },
+ { 0x565C, 85139 },
+ { 0x565D, 85142 },
+ { 0x565E, 85145 },
+ { 0x565F, 85148 },
+ { 0x5660, 85151 },
+ { 0x5661, 85154 },
+ { 0x5662, 85157 },
+ { 0x5663, 85160 },
+ { 0x5664, 85163 },
+ { 0x5665, 85166 },
+ { 0x5666, 85169 },
+ { 0x5667, 85172 },
+ { 0x5668, 85175 },
+ { 0x5669, 85178 },
+ { 0x566A, 85181 },
+ { 0x566B, 85184 },
+ { 0x566C, 85187 },
+ { 0x566D, 85190 },
+ { 0x566E, 85193 },
+ { 0x566F, 85196 },
+ { 0x5670, 85199 },
+ { 0x5671, 85202 },
+ { 0x5672, 85205 },
+ { 0x5673, 85208 },
+ { 0x5674, 85211 },
+ { 0x5675, 85214 },
+ { 0x5676, 85217 },
+ { 0x5677, 85220 },
+ { 0x5678, 85223 },
+ { 0x5679, 85226 },
+ { 0x567A, 85628 },
+ { 0x567B, 85229 },
+ { 0x567C, 85232 },
+ { 0x567D, 85235 },
+ { 0x567E, 85238 },
+ { 0x567F, 85241 },
+ { 0x5680, 85244 },
+ { 0x5681, 85247 },
+ { 0x5682, 85631 },
+ { 0x5683, 85250 },
+ { 0x5684, 85253 },
+ { 0x5685, 85256 },
+ { 0x5686, 85259 },
+ { 0x5687, 85262 },
+ { 0x5688, 85265 },
+ { 0x5689, 85268 },
+ { 0x568A, 85271 },
+ { 0x568B, 85274 },
+ { 0x568C, 85277 },
+ { 0x568D, 85280 },
+ { 0x568E, 85283 },
+ { 0x568F, 85286 },
+ { 0x5690, 85289 },
+ { 0x5691, 85292 },
+ { 0x5692, 85295 },
+ { 0x5693, 85298 },
+ { 0x5694, 85301 },
+ { 0x5695, 85304 },
+ { 0x5696, 85307 },
+ { 0x5697, 85310 },
+ { 0x5698, 85313 },
+ { 0x5699, 85316 },
+ { 0x569A, 85319 },
+ { 0x569B, 85322 },
+ { 0x569C, 85325 },
+ { 0x569D, 85328 },
+ { 0x569E, 85331 },
+ { 0x569F, 85334 },
+ { 0x56A0, 85337 },
+ { 0x56A1, 85340 },
+ { 0x56A2, 85343 },
+ { 0x56A3, 85346 },
+ { 0x56A4, 85349 },
+ { 0x56A5, 85352 },
+ { 0x56A6, 85355 },
+ { 0x56A7, 85358 },
+ { 0x56A8, 85361 },
+ { 0x56A9, 85364 },
+ { 0x56AA, 85367 },
+ { 0x56AB, 85370 },
+ { 0x56AC, 85373 },
+ { 0x56AD, 85376 },
+ { 0x56AE, 85379 },
+ { 0x56AF, 85382 },
+ { 0x56B0, 85385 },
+ { 0x56B1, 85388 },
+ { 0x56B2, 85391 },
+ { 0x56B3, 85394 },
+ { 0x56B4, 85397 },
+ { 0x56B5, 85400 },
+ { 0x56B6, 85403 },
+ { 0x56B7, 85406 },
+ { 0x56B8, 85409 },
+ { 0x56B9, 85412 },
+ { 0x56BA, 85415 },
+ { 0x56BB, 85418 },
+ { 0x56BC, 85421 },
+ { 0x56BD, 85424 },
+ { 0x56BE, 85427 },
+ { 0x56BF, 85430 },
+ { 0x56C0, 85433 },
+ { 0x56C1, 85436 },
+ { 0x56C2, 85439 },
+ { 0x56C3, 85442 },
+ { 0x56C4, 85445 },
+ { 0x56C5, 85448 },
+ { 0x56C6, 85451 },
+ { 0x56C7, 85454 },
+ { 0x56C8, 85457 },
+ { 0x56C9, 15573 },
+ { 0x56CA, 15552 },
+ { 0x56CB, 15435 },
+ { 0x56CC, 15429 },
+ { 0x56CD, 15384 },
+ { 0x56CE, 15704 },
+ { 0x56CF, 15547 },
+ { 0x56D0, 15406 },
+ { 0x56D1, 15618 },
+ { 0x56D2, 15422 },
+ { 0x56D3, 15415 },
+ { 0x56D4, 15692 },
+ { 0x56D5, 15356 },
+ { 0x56D6, 15598 },
+ { 0x56D7, 15676 },
+ { 0x56D8, 15640 },
+ { 0x56D9, 15696 },
+ { 0x56DA, 15664 },
+ { 0x56DB, 15656 },
+ { 0x56DC, 15688 },
+ { 0x56DD, 15602 },
+ { 0x56DE, 15457 },
+ { 0x56DF, 15700 },
+ { 0x56E0, 15557 },
+ { 0x56E1, 15369 },
+ { 0x56E2, 15505 },
+ { 0x56E3, 15636 },
+ { 0x56E4, 15614 },
+ { 0x56E5, 15680 },
+ { 0x56E6, 15660 },
+ { 0x56E7, 15379 },
+ { 0x56E8, 15524 },
+ { 0x56E9, 15341 },
+ { 0x56EA, 15708 },
+ { 0x56EB, 15510 },
+ { 0x56EC, 15543 },
+ { 0x56ED, 15594 },
+ { 0x56EE, 15712 },
+ { 0x56EF, 15648 },
+ { 0x56F0, 15469 },
+ { 0x56F1, 15351 },
+ { 0x56F2, 15393 },
+ { 0x56F3, 15411 },
+ { 0x56F4, 15672 },
+ { 0x56F5, 15489 },
+ { 0x56F6, 15441 },
+ { 0x56F7, 15578 },
+ { 0x56F8, 15561 },
+ { 0x56F9, 15628 },
+ { 0x56FA, 15684 },
+ { 0x56FB, 15586 },
+ { 0x56FC, 15365 },
+ { 0x56FD, 15716 },
+ { 0x56FE, 15477 },
+ { 0x56FF, 15644 },
+ { 0x5700, 15539 },
+ { 0x5701, 15582 },
+ { 0x5702, 15465 },
+ { 0x5703, 15445 },
+ { 0x5704, 15473 },
+ { 0x5705, 15449 },
+ { 0x5706, 15374 },
+ { 0x5707, 15624 },
+ { 0x5708, 15501 },
+ { 0x5709, 15533 },
+ { 0x570A, 15519 },
+ { 0x570B, 15610 },
+ { 0x570C, 15652 },
+ { 0x570D, 15668 },
+ { 0x570E, 15569 },
+ { 0x570F, 15565 },
+ { 0x5710, 15493 },
+ { 0x5711, 15590 },
+ { 0x5712, 15515 },
+ { 0x5713, 15632 },
+ { 0x5714, 15453 },
+ { 0x5715, 15529 },
+ { 0x5716, 15606 },
+ { 0x5717, 15481 },
+ { 0x5718, 15402 },
+ { 0x5719, 15361 },
+ { 0x571A, 15497 },
+ { 0x571B, 15461 },
+ { 0x571C, 15347 },
+ { 0x571D, 15398 },
+ { 0x571E, 15389 },
+ { 0x571F, 15485 },
+ { 0x5720, 15911 },
+ { 0x5721, 15739 },
+ { 0x5722, 15835 },
+ { 0x5723, 15790 },
+ { 0x5724, 15766 },
+ { 0x5725, 15771 },
+ { 0x5726, 15852 },
+ { 0x5727, 15919 },
+ { 0x5728, 15927 },
+ { 0x5729, 15748 },
+ { 0x572A, 15915 },
+ { 0x572B, 15847 },
+ { 0x572C, 15756 },
+ { 0x572D, 15865 },
+ { 0x572E, 15776 },
+ { 0x572F, 15960 },
+ { 0x5730, 15786 },
+ { 0x5731, 15734 },
+ { 0x5732, 15830 },
+ { 0x5733, 15956 },
+ { 0x5734, 15817 },
+ { 0x5735, 15803 },
+ { 0x5736, 15781 },
+ { 0x5737, 15882 },
+ { 0x5738, 15948 },
+ { 0x5739, 15923 },
+ { 0x573A, 15886 },
+ { 0x573B, 15870 },
+ { 0x573C, 15843 },
+ { 0x573D, 15931 },
+ { 0x573E, 15860 },
+ { 0x573F, 15874 },
+ { 0x5740, 15944 },
+ { 0x5741, 15839 },
+ { 0x5742, 15808 },
+ { 0x5743, 15902 },
+ { 0x5744, 15906 },
+ { 0x5745, 15894 },
+ { 0x5746, 15795 },
+ { 0x5747, 15890 },
+ { 0x5748, 15952 },
+ { 0x5749, 15936 },
+ { 0x574A, 15940 },
+ { 0x574B, 15812 },
+ { 0x574C, 15799 },
+ { 0x574D, 15856 },
+ { 0x574E, 15744 },
+ { 0x574F, 15878 },
+ { 0x5750, 15729 },
+ { 0x5751, 15724 },
+ { 0x5752, 15762 },
+ { 0x5753, 15898 },
+ { 0x5754, 15826 },
+ { 0x5755, 15720 },
+ { 0x5756, 15752 },
+ { 0x5757, 15822 },
+ { 0x5758, 16216 },
+ { 0x5759, 16042 },
+ { 0x575A, 16066 },
+ { 0x575B, 16359 },
+ { 0x575C, 16204 },
+ { 0x575D, 16363 },
+ { 0x575E, 16212 },
+ { 0x575F, 16258 },
+ { 0x5760, 16339 },
+ { 0x5761, 16180 },
+ { 0x5762, 16153 },
+ { 0x5763, 16037 },
+ { 0x5764, 16188 },
+ { 0x5765, 16323 },
+ { 0x5766, 16286 },
+ { 0x5767, 16092 },
+ { 0x5768, 16367 },
+ { 0x5769, 16074 },
+ { 0x576A, 16262 },
+ { 0x576B, 15982 },
+ { 0x576C, 16242 },
+ { 0x576D, 16101 },
+ { 0x576E, 16319 },
+ { 0x576F, 16097 },
+ { 0x5770, 16176 },
+ { 0x5771, 16266 },
+ { 0x5772, 15991 },
+ { 0x5773, 16159 },
+ { 0x5774, 16200 },
+ { 0x5775, 16327 },
+ { 0x5776, 16229 },
+ { 0x5777, 16167 },
+ { 0x5778, 16250 },
+ { 0x5779, 16310 },
+ { 0x577A, 16172 },
+ { 0x577B, 16347 },
+ { 0x577C, 15973 },
+ { 0x577D, 16145 },
+ { 0x577E, 16290 },
+ { 0x577F, 16017 },
+ { 0x5780, 16343 },
+ { 0x5781, 16306 },
+ { 0x5782, 16351 },
+ { 0x5783, 16331 },
+ { 0x5784, 16208 },
+ { 0x5785, 15987 },
+ { 0x5786, 16196 },
+ { 0x5787, 16033 },
+ { 0x5788, 16233 },
+ { 0x5789, 16070 },
+ { 0x578A, 16355 },
+ { 0x578B, 16278 },
+ { 0x578C, 15978 },
+ { 0x578D, 16221 },
+ { 0x578E, 16013 },
+ { 0x578F, 16335 },
+ { 0x5790, 16237 },
+ { 0x5791, 16294 },
+ { 0x5792, 16005 },
+ { 0x5793, 16125 },
+ { 0x5794, 16184 },
+ { 0x5795, 16282 },
+ { 0x5796, 15964 },
+ { 0x5797, 16009 },
+ { 0x5798, 16133 },
+ { 0x5799, 16129 },
+ { 0x579A, 16058 },
+ { 0x579B, 16315 },
+ { 0x579C, 16137 },
+ { 0x579D, 16149 },
+ { 0x579E, 16082 },
+ { 0x579F, 16141 },
+ { 0x57A0, 16113 },
+ { 0x57A1, 15968 },
+ { 0x57A2, 16062 },
+ { 0x57A3, 16117 },
+ { 0x57A4, 16246 },
+ { 0x57A5, 16298 },
+ { 0x57A6, 16025 },
+ { 0x57A7, 16270 },
+ { 0x57A8, 16274 },
+ { 0x57A9, 16302 },
+ { 0x57AA, 16192 },
+ { 0x57AB, 16078 },
+ { 0x57AC, 16087 },
+ { 0x57AD, 16254 },
+ { 0x57AE, 16225 },
+ { 0x57AF, 16105 },
+ { 0x57B0, 16109 },
+ { 0x57B1, 16163 },
+ { 0x57B2, 15995 },
+ { 0x57B3, 16000 },
+ { 0x57B4, 16121 },
+ { 0x57B5, 16029 },
+ { 0x57B6, 16021 },
+ { 0x57B7, 16050 },
+ { 0x57B8, 16046 },
+ { 0x57B9, 16054 },
+ { 0x57BA, 16546 },
+ { 0x57BB, 16501 },
+ { 0x57BC, 16431 },
+ { 0x57BD, 16558 },
+ { 0x57BE, 16699 },
+ { 0x57BF, 16533 },
+ { 0x57C0, 16695 },
+ { 0x57C1, 16707 },
+ { 0x57C2, 16827 },
+ { 0x57C3, 16598 },
+ { 0x57C4, 16727 },
+ { 0x57C5, 16691 },
+ { 0x57C6, 16618 },
+ { 0x57C7, 16687 },
+ { 0x57C8, 16839 },
+ { 0x57C9, 16638 },
+ { 0x57CA, 16791 },
+ { 0x57CB, 16582 },
+ { 0x57CC, 16485 },
+ { 0x57CD, 16403 },
+ { 0x57CE, 16823 },
+ { 0x57CF, 16521 },
+ { 0x57D0, 16469 },
+ { 0x57D1, 16671 },
+ { 0x57D2, 16679 },
+ { 0x57D3, 16803 },
+ { 0x57D4, 16554 },
+ { 0x57D5, 16787 },
+ { 0x57D6, 16505 },
+ { 0x57D7, 16819 },
+ { 0x57D8, 16654 },
+ { 0x57D9, 16815 },
+ { 0x57DA, 16395 },
+ { 0x57DB, 16509 },
+ { 0x57DC, 16771 },
+ { 0x57DD, 16835 },
+ { 0x57DE, 16574 },
+ { 0x57DF, 16807 },
+ { 0x57E0, 16739 },
+ { 0x57E1, 16578 },
+ { 0x57E2, 16562 },
+ { 0x57E3, 16747 },
+ { 0x57E4, 16610 },
+ { 0x57E5, 16751 },
+ { 0x57E6, 16427 },
+ { 0x57E7, 16423 },
+ { 0x57E8, 16775 },
+ { 0x57E9, 16537 },
+ { 0x57EA, 16659 },
+ { 0x57EB, 16602 },
+ { 0x57EC, 16795 },
+ { 0x57ED, 16481 },
+ { 0x57EE, 16731 },
+ { 0x57EF, 16513 },
+ { 0x57F0, 16614 },
+ { 0x57F1, 16723 },
+ { 0x57F2, 16831 },
+ { 0x57F3, 16743 },
+ { 0x57F4, 16779 },
+ { 0x57F5, 16517 },
+ { 0x57F6, 16447 },
+ { 0x57F7, 16783 },
+ { 0x57F8, 16606 },
+ { 0x57F9, 16415 },
+ { 0x57FA, 16755 },
+ { 0x57FB, 16675 },
+ { 0x57FC, 16811 },
+ { 0x57FD, 16646 },
+ { 0x57FE, 16439 },
+ { 0x57FF, 16650 },
+ { 0x5800, 16570 },
+ { 0x5801, 16715 },
+ { 0x5802, 16630 },
+ { 0x5803, 16407 },
+ { 0x5804, 16759 },
+ { 0x5805, 16767 },
+ { 0x5806, 16642 },
+ { 0x5807, 16550 },
+ { 0x5808, 16411 },
+ { 0x5809, 16586 },
+ { 0x580A, 16634 },
+ { 0x580B, 16799 },
+ { 0x580C, 16683 },
+ { 0x580D, 16529 },
+ { 0x580E, 16763 },
+ { 0x580F, 16711 },
+ { 0x5810, 16703 },
+ { 0x5811, 16735 },
+ { 0x5812, 16375 },
+ { 0x5813, 16455 },
+ { 0x5814, 16493 },
+ { 0x5815, 16497 },
+ { 0x5816, 16435 },
+ { 0x5817, 16465 },
+ { 0x5818, 16663 },
+ { 0x5819, 16667 },
+ { 0x581A, 16371 },
+ { 0x581B, 16489 },
+ { 0x581C, 16379 },
+ { 0x581D, 16622 },
+ { 0x581E, 16719 },
+ { 0x581F, 16525 },
+ { 0x5820, 16387 },
+ { 0x5821, 16477 },
+ { 0x5822, 16590 },
+ { 0x5823, 16443 },
+ { 0x5824, 16383 },
+ { 0x5825, 16626 },
+ { 0x5826, 16451 },
+ { 0x5827, 16566 },
+ { 0x5828, 16419 },
+ { 0x5829, 16460 },
+ { 0x582A, 16391 },
+ { 0x582B, 16594 },
+ { 0x582C, 16541 },
+ { 0x582D, 16473 },
+ { 0x582E, 16399 },
+ { 0x582F, 17187 },
+ { 0x5830, 17293 },
+ { 0x5831, 17341 },
+ { 0x5832, 16944 },
+ { 0x5833, 17078 },
+ { 0x5834, 17148 },
+ { 0x5835, 17002 },
+ { 0x5836, 17038 },
+ { 0x5837, 17018 },
+ { 0x5838, 17425 },
+ { 0x5839, 17195 },
+ { 0x583A, 17264 },
+ { 0x583B, 17046 },
+ { 0x583C, 17199 },
+ { 0x583D, 17337 },
+ { 0x583E, 17086 },
+ { 0x583F, 17026 },
+ { 0x5840, 17473 },
+ { 0x5841, 17240 },
+ { 0x5842, 17062 },
+ { 0x5843, 17140 },
+ { 0x5844, 16952 },
+ { 0x5845, 17421 },
+ { 0x5846, 17203 },
+ { 0x5847, 17156 },
+ { 0x5848, 17413 },
+ { 0x5849, 17207 },
+ { 0x584A, 17377 },
+ { 0x584B, 17429 },
+ { 0x584C, 17373 },
+ { 0x584D, 17244 },
+ { 0x584E, 17022 },
+ { 0x584F, 17453 },
+ { 0x5850, 17164 },
+ { 0x5851, 17329 },
+ { 0x5852, 17477 },
+ { 0x5853, 17461 },
+ { 0x5854, 16964 },
+ { 0x5855, 17152 },
+ { 0x5856, 17445 },
+ { 0x5857, 17191 },
+ { 0x5858, 17288 },
+ { 0x5859, 17030 },
+ { 0x585A, 17010 },
+ { 0x585B, 17182 },
+ { 0x585C, 17481 },
+ { 0x585D, 17313 },
+ { 0x585E, 17325 },
+ { 0x585F, 17297 },
+ { 0x5860, 17397 },
+ { 0x5861, 16912 },
+ { 0x5862, 17389 },
+ { 0x5863, 17333 },
+ { 0x5864, 17385 },
+ { 0x5865, 17433 },
+ { 0x5866, 17393 },
+ { 0x5867, 17301 },
+ { 0x5868, 17144 },
+ { 0x5869, 16916 },
+ { 0x586A, 17284 },
+ { 0x586B, 17441 },
+ { 0x586C, 17469 },
+ { 0x586D, 17465 },
+ { 0x586E, 17349 },
+ { 0x586F, 17160 },
+ { 0x5870, 17232 },
+ { 0x5871, 17220 },
+ { 0x5872, 17120 },
+ { 0x5873, 17070 },
+ { 0x5874, 17136 },
+ { 0x5875, 17090 },
+ { 0x5876, 16997 },
+ { 0x5877, 17094 },
+ { 0x5878, 17345 },
+ { 0x5879, 17353 },
+ { 0x587A, 17381 },
+ { 0x587B, 17317 },
+ { 0x587C, 17409 },
+ { 0x587D, 16932 },
+ { 0x587E, 17321 },
+ { 0x587F, 17365 },
+ { 0x5880, 16936 },
+ { 0x5881, 16960 },
+ { 0x5882, 17457 },
+ { 0x5883, 17124 },
+ { 0x5884, 16855 },
+ { 0x5885, 17228 },
+ { 0x5886, 17248 },
+ { 0x5887, 17305 },
+ { 0x5888, 17449 },
+ { 0x5889, 16992 },
+ { 0x588A, 17236 },
+ { 0x588B, 17260 },
+ { 0x588C, 17168 },
+ { 0x588D, 17116 },
+ { 0x588E, 16984 },
+ { 0x588F, 17172 },
+ { 0x5890, 17405 },
+ { 0x5891, 16859 },
+ { 0x5892, 16980 },
+ { 0x5893, 17268 },
+ { 0x5894, 17361 },
+ { 0x5895, 16940 },
+ { 0x5896, 17256 },
+ { 0x5897, 17224 },
+ { 0x5898, 17437 },
+ { 0x5899, 17357 },
+ { 0x589A, 16898 },
+ { 0x589B, 16864 },
+ { 0x589C, 16928 },
+ { 0x589D, 17211 },
+ { 0x589E, 16843 },
+ { 0x589F, 17066 },
+ { 0x58A0, 16851 },
+ { 0x58A1, 16847 },
+ { 0x58A2, 16948 },
+ { 0x58A3, 16903 },
+ { 0x58A4, 17042 },
+ { 0x58A5, 17050 },
+ { 0x58A6, 17176 },
+ { 0x58A7, 17276 },
+ { 0x58A8, 17309 },
+ { 0x58A9, 17369 },
+ { 0x58AA, 17401 },
+ { 0x58AB, 17103 },
+ { 0x58AC, 17098 },
+ { 0x58AD, 17112 },
+ { 0x58AE, 17108 },
+ { 0x58AF, 17132 },
+ { 0x58B0, 17252 },
+ { 0x58B1, 17215 },
+ { 0x58B2, 17006 },
+ { 0x58B3, 17082 },
+ { 0x58B4, 16924 },
+ { 0x58B5, 17074 },
+ { 0x58B6, 16882 },
+ { 0x58B7, 16890 },
+ { 0x58B8, 17272 },
+ { 0x58B9, 17014 },
+ { 0x58BA, 17417 },
+ { 0x58BB, 16988 },
+ { 0x58BC, 17034 },
+ { 0x58BD, 17280 },
+ { 0x58BE, 16869 },
+ { 0x58BF, 16894 },
+ { 0x58C0, 16908 },
+ { 0x58C1, 16956 },
+ { 0x58C2, 16878 },
+ { 0x58C3, 16972 },
+ { 0x58C4, 16886 },
+ { 0x58C5, 16968 },
+ { 0x58C6, 17058 },
+ { 0x58C7, 16874 },
+ { 0x58C8, 16976 },
+ { 0x58C9, 17054 },
+ { 0x58CA, 16920 },
+ { 0x58CB, 17128 },
+ { 0x58CC, 17498 },
+ { 0x58CD, 17490 },
+ { 0x58CE, 17506 },
+ { 0x58CF, 17494 },
+ { 0x58D0, 17578 },
+ { 0x58D1, 17606 },
+ { 0x58D2, 17570 },
+ { 0x58D3, 17510 },
+ { 0x58D4, 17586 },
+ { 0x58D5, 17666 },
+ { 0x58D6, 17682 },
+ { 0x58D7, 17602 },
+ { 0x58D8, 17634 },
+ { 0x58D9, 17686 },
+ { 0x58DA, 17486 },
+ { 0x58DB, 17598 },
+ { 0x58DC, 17674 },
+ { 0x58DD, 17538 },
+ { 0x58DE, 17670 },
+ { 0x58DF, 17622 },
+ { 0x58E0, 17558 },
+ { 0x58E1, 17650 },
+ { 0x58E2, 17530 },
+ { 0x58E3, 17690 },
+ { 0x58E4, 17618 },
+ { 0x58E5, 17594 },
+ { 0x58E6, 17546 },
+ { 0x58E7, 17642 },
+ { 0x58E8, 17654 },
+ { 0x58E9, 17646 },
+ { 0x58EA, 17614 },
+ { 0x58EB, 17574 },
+ { 0x58EC, 17534 },
+ { 0x58ED, 17526 },
+ { 0x58EE, 17662 },
+ { 0x58EF, 17554 },
+ { 0x58F0, 17698 },
+ { 0x58F1, 17638 },
+ { 0x58F2, 17590 },
+ { 0x58F3, 17658 },
+ { 0x58F4, 17550 },
+ { 0x58F5, 17542 },
+ { 0x58F6, 17514 },
+ { 0x58F7, 17566 },
+ { 0x58F8, 17502 },
+ { 0x58F9, 17630 },
+ { 0x58FA, 17582 },
+ { 0x58FB, 17518 },
+ { 0x58FC, 17522 },
+ { 0x58FD, 17626 },
+ { 0x58FE, 17610 },
+ { 0x58FF, 17562 },
+ { 0x5900, 17694 },
+ { 0x5901, 17678 },
+ { 0x5902, 6320 },
+ { 0x5903, 6347 },
+ { 0x5904, 6326 },
+ { 0x5905, 6344 },
+ { 0x5906, 6290 },
+ { 0x5907, 6293 },
+ { 0x5908, 6281 },
+ { 0x5909, 6353 },
+ { 0x590A, 6362 },
+ { 0x590B, 6338 },
+ { 0x590C, 6332 },
+ { 0x590D, 6329 },
+ { 0x590E, 6371 },
+ { 0x590F, 6305 },
+ { 0x5910, 6365 },
+ { 0x5911, 6350 },
+ { 0x5912, 6311 },
+ { 0x5913, 6308 },
+ { 0x5914, 6287 },
+ { 0x5915, 6317 },
+ { 0x5916, 6356 },
+ { 0x5917, 6368 },
+ { 0x5918, 6296 },
+ { 0x5919, 6323 },
+ { 0x591A, 6284 },
+ { 0x591B, 6299 },
+ { 0x591C, 6341 },
+ { 0x591D, 6302 },
+ { 0x591E, 6335 },
+ { 0x591F, 6314 },
+ { 0x5920, 6359 },
+ { 0x5921, 6266 },
+ { 0x5922, 6248 },
+ { 0x5923, 6254 },
+ { 0x5924, 6275 },
+ { 0x5925, 6260 },
+ { 0x5926, 6257 },
+ { 0x5927, 6251 },
+ { 0x5928, 6272 },
+ { 0x5929, 6269 },
+ { 0x592A, 6263 },
+ { 0x592B, 6246 },
+ { 0x592C, 6278 },
+ { 0x592D, 17821 },
+ { 0x592E, 17765 },
+ { 0x592F, 17777 },
+ { 0x5930, 17757 },
+ { 0x5931, 17805 },
+ { 0x5932, 17813 },
+ { 0x5933, 17797 },
+ { 0x5934, 17817 },
+ { 0x5935, 17829 },
+ { 0x5936, 17761 },
+ { 0x5937, 17825 },
+ { 0x5938, 17789 },
+ { 0x5939, 17793 },
+ { 0x593A, 17801 },
+ { 0x593B, 17749 },
+ { 0x593C, 17745 },
+ { 0x593D, 17809 },
+ { 0x593E, 17781 },
+ { 0x593F, 17741 },
+ { 0x5940, 17785 },
+ { 0x5941, 17833 },
+ { 0x5942, 17773 },
+ { 0x5943, 17837 },
+ { 0x5944, 17721 },
+ { 0x5945, 17733 },
+ { 0x5946, 17769 },
+ { 0x5947, 17737 },
+ { 0x5948, 17753 },
+ { 0x5949, 17725 },
+ { 0x594A, 17729 },
+ { 0x594B, 17851 },
+ { 0x594C, 17841 },
+ { 0x594D, 17846 },
+ { 0x594E, 17856 },
+ { 0x594F, 17861 },
+ { 0x5950, 17717 },
+ { 0x5951, 52156 },
+ { 0x5952, 52160 },
+ { 0x5953, 52092 },
+ { 0x5954, 52096 },
+ { 0x5955, 52140 },
+ { 0x5956, 52144 },
+ { 0x5957, 52108 },
+ { 0x5958, 52112 },
+ { 0x5959, 52084 },
+ { 0x595A, 52088 },
+ { 0x595B, 52132 },
+ { 0x595C, 52136 },
+ { 0x595D, 52172 },
+ { 0x595E, 52176 },
+ { 0x595F, 52148 },
+ { 0x5960, 52152 },
+ { 0x5961, 52180 },
+ { 0x5962, 52184 },
+ { 0x5963, 52100 },
+ { 0x5964, 52104 },
+ { 0x5965, 52164 },
+ { 0x5966, 52168 },
+ { 0x5967, 52076 },
+ { 0x5968, 52080 },
+ { 0x5969, 52116 },
+ { 0x596A, 52120 },
+ { 0x596B, 52124 },
+ { 0x596C, 52128 },
+ { 0x596D, 52247 },
+ { 0x596E, 52291 },
+ { 0x596F, 52231 },
+ { 0x5970, 52227 },
+ { 0x5971, 52275 },
+ { 0x5972, 52243 },
+ { 0x5973, 52271 },
+ { 0x5974, 52279 },
+ { 0x5975, 52255 },
+ { 0x5976, 52263 },
+ { 0x5977, 52235 },
+ { 0x5978, 52259 },
+ { 0x5979, 52283 },
+ { 0x597A, 52267 },
+ { 0x597B, 52295 },
+ { 0x597C, 52287 },
+ { 0x597D, 52239 },
+ { 0x597E, 52219 },
+ { 0x597F, 52251 },
+ { 0x5980, 52223 },
+ { 0x5981, 51838 },
+ { 0x5982, 51823 },
+ { 0x5983, 51833 },
+ { 0x5984, 51843 },
+ { 0x5985, 51848 },
+ { 0x5986, 51828 },
+ { 0x5987, 51853 },
+ { 0x5988, 51951 },
+ { 0x5989, 51961 },
+ { 0x598A, 51910 },
+ { 0x598B, 51956 },
+ { 0x598C, 51936 },
+ { 0x598D, 52021 },
+ { 0x598E, 52006 },
+ { 0x598F, 52011 },
+ { 0x5990, 52016 },
+ { 0x5991, 51946 },
+ { 0x5992, 51976 },
+ { 0x5993, 51941 },
+ { 0x5994, 51862 },
+ { 0x5995, 51994 },
+ { 0x5996, 51893 },
+ { 0x5997, 52060 },
+ { 0x5998, 52036 },
+ { 0x5999, 52044 },
+ { 0x599A, 52072 },
+ { 0x599B, 52052 },
+ { 0x599C, 52048 },
+ { 0x599D, 52040 },
+ { 0x599E, 52068 },
+ { 0x599F, 52064 },
+ { 0x59A0, 52056 },
+ { 0x59A1, 52198 },
+ { 0x59A2, 52207 },
+ { 0x59A3, 52193 },
+ { 0x59A4, 52211 },
+ { 0x59A5, 52202 },
+ { 0x59A6, 52188 },
+ { 0x59A7, 52215 },
+ { 0x59A8, 51931 },
+ { 0x59A9, 52002 },
+ { 0x59AA, 51915 },
+ { 0x59AB, 52031 },
+ { 0x59AC, 51967 },
+ { 0x59AD, 51972 },
+ { 0x59AE, 51986 },
+ { 0x59AF, 51998 },
+ { 0x59B0, 51990 },
+ { 0x59B1, 51858 },
+ { 0x59B2, 52026 },
+ { 0x59B3, 51981 },
+ { 0x59B4, 51927 },
+ { 0x59B5, 51919 },
+ { 0x59B6, 51923 },
+ { 0x59B7, 51879 },
+ { 0x59B8, 51873 },
+ { 0x59B9, 51899 },
+ { 0x59BA, 51904 },
+ { 0x59BB, 51867 },
+ { 0x59BC, 51887 },
+ { 0x59BD, 51818 },
+ { 0x59BE, 51808 },
+ { 0x59BF, 51748 },
+ { 0x59C0, 51778 },
+ { 0x59C1, 51813 },
+ { 0x59C2, 51738 },
+ { 0x59C3, 51768 },
+ { 0x59C4, 51783 },
+ { 0x59C5, 51793 },
+ { 0x59C6, 51798 },
+ { 0x59C7, 51788 },
+ { 0x59C8, 51773 },
+ { 0x59C9, 51733 },
+ { 0x59CA, 51753 },
+ { 0x59CB, 51728 },
+ { 0x59CC, 51763 },
+ { 0x59CD, 51803 },
+ { 0x59CE, 51743 },
+ { 0x59CF, 51758 },
+ { 0x59D0, 13616 },
+ { 0x59D1, 13589 },
+ { 0x59D2, 13641 },
+ { 0x59D3, 13705 },
+ { 0x59D4, 13610 },
+ { 0x59D5, 13690 },
+ { 0x59D6, 13807 },
+ { 0x59D7, 13595 },
+ { 0x59D8, 13628 },
+ { 0x59D9, 13723 },
+ { 0x59DA, 13625 },
+ { 0x59DB, 13592 },
+ { 0x59DC, 13657 },
+ { 0x59DD, 13645 },
+ { 0x59DE, 13720 },
+ { 0x59DF, 13672 },
+ { 0x59E0, 13613 },
+ { 0x59E1, 13696 },
+ { 0x59E2, 13649 },
+ { 0x59E3, 13811 },
+ { 0x59E4, 13699 },
+ { 0x59E5, 13753 },
+ { 0x59E6, 13607 },
+ { 0x59E7, 13687 },
+ { 0x59E8, 13684 },
+ { 0x59E9, 13747 },
+ { 0x59EA, 13759 },
+ { 0x59EB, 13735 },
+ { 0x59EC, 13780 },
+ { 0x59ED, 13777 },
+ { 0x59EE, 13604 },
+ { 0x59EF, 13598 },
+ { 0x59F0, 13637 },
+ { 0x59F1, 13619 },
+ { 0x59F2, 13708 },
+ { 0x59F3, 13693 },
+ { 0x59F4, 13750 },
+ { 0x59F5, 13815 },
+ { 0x59F6, 13601 },
+ { 0x59F7, 13634 },
+ { 0x59F8, 13678 },
+ { 0x59F9, 13744 },
+ { 0x59FA, 13765 },
+ { 0x59FB, 13741 },
+ { 0x59FC, 13702 },
+ { 0x59FD, 13756 },
+ { 0x59FE, 13762 },
+ { 0x59FF, 13738 },
+ { 0x5A00, 13665 },
+ { 0x5A01, 13661 },
+ { 0x5A02, 13823 },
+ { 0x5A03, 13711 },
+ { 0x5A04, 13714 },
+ { 0x5A05, 13726 },
+ { 0x5A06, 13768 },
+ { 0x5A07, 13717 },
+ { 0x5A08, 13675 },
+ { 0x5A09, 13653 },
+ { 0x5A0A, 13622 },
+ { 0x5A0B, 13669 },
+ { 0x5A0C, 13729 },
+ { 0x5A0D, 13732 },
+ { 0x5A0E, 13771 },
+ { 0x5A0F, 13819 },
+ { 0x5A10, 13774 },
+ { 0x5A11, 13783 },
+ { 0x5A12, 13631 },
+ { 0x5A13, 13586 },
+ { 0x5A14, 13681 },
+ { 0x5A15, 13851 },
+ { 0x5A16, 13396 },
+ { 0x5A17, 13388 },
+ { 0x5A18, 13392 },
+ { 0x5A19, 13412 },
+ { 0x5A1A, 13444 },
+ { 0x5A1B, 13528 },
+ { 0x5A1C, 13456 },
+ { 0x5A1D, 13532 },
+ { 0x5A1E, 13428 },
+ { 0x5A1F, 13500 },
+ { 0x5A20, 13516 },
+ { 0x5A21, 13436 },
+ { 0x5A22, 13416 },
+ { 0x5A23, 13468 },
+ { 0x5A24, 13536 },
+ { 0x5A25, 13552 },
+ { 0x5A26, 13420 },
+ { 0x5A27, 13476 },
+ { 0x5A28, 13544 },
+ { 0x5A29, 13568 },
+ { 0x5A2A, 13488 },
+ { 0x5A2B, 13480 },
+ { 0x5A2C, 13484 },
+ { 0x5A2D, 13492 },
+ { 0x5A2E, 13548 },
+ { 0x5A2F, 13432 },
+ { 0x5A30, 13508 },
+ { 0x5A31, 13556 },
+ { 0x5A32, 13572 },
+ { 0x5A33, 13512 },
+ { 0x5A34, 13560 },
+ { 0x5A35, 13564 },
+ { 0x5A36, 13440 },
+ { 0x5A37, 13520 },
+ { 0x5A38, 13448 },
+ { 0x5A39, 13524 },
+ { 0x5A3A, 13540 },
+ { 0x5A3B, 13581 },
+ { 0x5A3C, 13472 },
+ { 0x5A3D, 13576 },
+ { 0x5A3E, 13452 },
+ { 0x5A3F, 13464 },
+ { 0x5A40, 13460 },
+ { 0x5A41, 13504 },
+ { 0x5A42, 13424 },
+ { 0x5A43, 13496 },
+ { 0x5A44, 13409 },
+ { 0x5A45, 13399 },
+ { 0x5A46, 13403 },
+ { 0x5A47, 13406 },
+ { 0x5A48, 13786 },
+ { 0x5A49, 13789 },
+ { 0x5A4A, 13792 },
+ { 0x5A4B, 13795 },
+ { 0x5A4C, 13798 },
+ { 0x5A4D, 13801 },
+ { 0x5A4E, 13804 },
+ { 0x5A4F, 13827 },
+ { 0x5A50, 13831 },
+ { 0x5A51, 13835 },
+ { 0x5A52, 13839 },
+ { 0x5A53, 13843 },
+ { 0x5A54, 13847 },
+ { 0x5A55, 80030 },
+ { 0x5A56, 79135 },
+ { 0x5A57, 72385 },
+ { 0x5A58, 72600 },
+ { 0x5A59, 72495 },
+ { 0x5A5A, 72571 },
+ { 0x5A5B, 72370 },
+ { 0x5A5C, 72435 },
+ { 0x5A5D, 72447 },
+ { 0x5A5E, 72357 },
+ { 0x5A5F, 72360 },
+ { 0x5A60, 72590 },
+ { 0x5A61, 72377 },
+ { 0x5A62, 72502 },
+ { 0x5A63, 72498 },
+ { 0x5A64, 72363 },
+ { 0x5A65, 72373 },
+ { 0x5A66, 72438 },
+ { 0x5A67, 72505 },
+ { 0x5A68, 72636 },
+ { 0x5A69, 72715 },
+ { 0x5A6A, 72603 },
+ { 0x5A6B, 72618 },
+ { 0x5A6C, 72703 },
+ { 0x5A6D, 72612 },
+ { 0x5A6E, 72621 },
+ { 0x5A6F, 72633 },
+ { 0x5A70, 72450 },
+ { 0x5A71, 72471 },
+ { 0x5A72, 72391 },
+ { 0x5A73, 72509 },
+ { 0x5A74, 72453 },
+ { 0x5A75, 72474 },
+ { 0x5A76, 72394 },
+ { 0x5A77, 72512 },
+ { 0x5A78, 72466 },
+ { 0x5A79, 72487 },
+ { 0x5A7A, 72422 },
+ { 0x5A7B, 72427 },
+ { 0x5A7C, 72560 },
+ { 0x5A7D, 72565 },
+ { 0x5A7E, 72462 },
+ { 0x5A7F, 72483 },
+ { 0x5A80, 72412 },
+ { 0x5A81, 72547 },
+ { 0x5A82, 72457 },
+ { 0x5A83, 72478 },
+ { 0x5A84, 72398 },
+ { 0x5A85, 72516 },
+ { 0x5A86, 72416 },
+ { 0x5A87, 72403 },
+ { 0x5A88, 72407 },
+ { 0x5A89, 72551 },
+ { 0x5A8A, 72555 },
+ { 0x5A8B, 72538 },
+ { 0x5A8C, 72542 },
+ { 0x5A8D, 72579 },
+ { 0x5A8E, 72574 },
+ { 0x5A8F, 72593 },
+ { 0x5A90, 72648 },
+ { 0x5A91, 72596 },
+ { 0x5A92, 72534 },
+ { 0x5A93, 72530 },
+ { 0x5A94, 72442 },
+ { 0x5A95, 72380 },
+ { 0x5A96, 72521 },
+ { 0x5A97, 72525 },
+ { 0x5A98, 72354 },
+ { 0x5A99, 72735 },
+ { 0x5A9A, 72624 },
+ { 0x5A9B, 72492 },
+ { 0x5A9C, 72663 },
+ { 0x5A9D, 72388 },
+ { 0x5A9E, 72367 },
+ { 0x5A9F, 72615 },
+ { 0x5AA0, 72699 },
+ { 0x5AA1, 72642 },
+ { 0x5AA2, 72606 },
+ { 0x5AA3, 72723 },
+ { 0x5AA4, 72751 },
+ { 0x5AA5, 72719 },
+ { 0x5AA6, 72675 },
+ { 0x5AA7, 72660 },
+ { 0x5AA8, 72583 },
+ { 0x5AA9, 72609 },
+ { 0x5AAA, 72657 },
+ { 0x5AAB, 72586 },
+ { 0x5AAC, 72679 },
+ { 0x5AAD, 72755 },
+ { 0x5AAE, 72639 },
+ { 0x5AAF, 72707 },
+ { 0x5AB0, 72666 },
+ { 0x5AB1, 72630 },
+ { 0x5AB2, 72627 },
+ { 0x5AB3, 72645 },
+ { 0x5AB4, 72654 },
+ { 0x5AB5, 72651 },
+ { 0x5AB6, 72669 },
+ { 0x5AB7, 72672 },
+ { 0x5AB8, 72695 },
+ { 0x5AB9, 72691 },
+ { 0x5ABA, 72687 },
+ { 0x5ABB, 72683 },
+ { 0x5ABC, 72743 },
+ { 0x5ABD, 72739 },
+ { 0x5ABE, 72727 },
+ { 0x5ABF, 72711 },
+ { 0x5AC0, 72731 },
+ { 0x5AC1, 72747 },
+ { 0x5AC2, 72305 },
+ { 0x5AC3, 72257 },
+ { 0x5AC4, 72310 },
+ { 0x5AC5, 72247 },
+ { 0x5AC6, 72252 },
+ { 0x5AC7, 72300 },
+ { 0x5AC8, 72329 },
+ { 0x5AC9, 72342 },
+ { 0x5ACA, 72333 },
+ { 0x5ACB, 72325 },
+ { 0x5ACC, 72315 },
+ { 0x5ACD, 72320 },
+ { 0x5ACE, 72337 },
+ { 0x5ACF, 72279 },
+ { 0x5AD0, 72287 },
+ { 0x5AD1, 72283 },
+ { 0x5AD2, 72270 },
+ { 0x5AD3, 72262 },
+ { 0x5AD4, 72292 },
+ { 0x5AD5, 72266 },
+ { 0x5AD6, 72275 },
+ { 0x5AD7, 72296 },
+ { 0x5AD8, 72222 },
+ { 0x5AD9, 72234 },
+ { 0x5ADA, 72230 },
+ { 0x5ADB, 72213 },
+ { 0x5ADC, 72205 },
+ { 0x5ADD, 72239 },
+ { 0x5ADE, 72209 },
+ { 0x5ADF, 72218 },
+ { 0x5AE0, 72243 },
+ { 0x5AE1, 72226 },
+ { 0x5AE2, 72200 },
+ { 0x5AE3, 72347 },
+ { 0x5AE4, 72351 },
+ { 0x5AE5, 72759 },
+ { 0x5AE6, 98397 },
+ { 0x5AE7, 98401 },
+ { 0x5AE8, 98393 },
+ { 0x5AE9, 98389 },
+ { 0x5AEA, 85799 },
+ { 0x5AEB, 85833 },
+ { 0x5AEC, 86826 },
+ { 0x5AED, 85794 },
+ { 0x5AEE, 85789 },
+ { 0x5AEF, 86170 },
+ { 0x5AF0, 86165 },
+ { 0x5AF1, 86465 },
+ { 0x5AF2, 86731 },
+ { 0x5AF3, 86812 },
+ { 0x5AF4, 86739 },
+ { 0x5AF5, 86743 },
+ { 0x5AF6, 86482 },
+ { 0x5AF7, 85747 },
+ { 0x5AF8, 85656 },
+ { 0x5AF9, 86152 },
+ { 0x5AFA, 86681 },
+ { 0x5AFB, 86764 },
+ { 0x5AFC, 86773 },
+ { 0x5AFD, 86357 },
+ { 0x5AFE, 85820 },
+ { 0x5AFF, 86111 },
+ { 0x5B00, 86029 },
+ { 0x5B01, 86135 },
+ { 0x5B02, 86392 },
+ { 0x5B03, 85824 },
+ { 0x5B04, 85670 },
+ { 0x5B05, 86288 },
+ { 0x5B06, 86703 },
+ { 0x5B07, 86580 },
+ { 0x5B08, 86567 },
+ { 0x5B09, 86336 },
+ { 0x5B0A, 86120 },
+ { 0x5B0B, 86369 },
+ { 0x5B0C, 86383 },
+ { 0x5B0D, 86388 },
+ { 0x5B0E, 86057 },
+ { 0x5B0F, 85803 },
+ { 0x5B10, 86130 },
+ { 0x5B11, 86365 },
+ { 0x5B12, 86840 },
+ { 0x5B13, 86139 },
+ { 0x5B14, 86352 },
+ { 0x5B15, 86346 },
+ { 0x5B16, 86717 },
+ { 0x5B17, 85811 },
+ { 0x5B18, 85780 },
+ { 0x5B19, 85652 },
+ { 0x5B1A, 85685 },
+ { 0x5B1B, 86361 },
+ { 0x5B1C, 86708 },
+ { 0x5B1D, 85741 },
+ { 0x5B1E, 85945 },
+ { 0x5B1F, 86673 },
+ { 0x5B20, 86644 },
+ { 0x5B21, 86052 },
+ { 0x5B22, 86571 },
+ { 0x5B23, 86722 },
+ { 0x5B24, 86469 },
+ { 0x5B25, 86401 },
+ { 0x5B26, 86328 },
+ { 0x5B27, 86807 },
+ { 0x5B28, 86821 },
+ { 0x5B29, 86266 },
+ { 0x5B2A, 85675 },
+ { 0x5B2B, 86320 },
+ { 0x5B2C, 86473 },
+ { 0x5B2D, 86639 },
+ { 0x5B2E, 86848 },
+ { 0x5B2F, 86844 },
+ { 0x5B30, 85665 },
+ { 0x5B31, 86106 },
+ { 0x5B32, 85784 },
+ { 0x5B33, 86324 },
+ { 0x5B34, 86478 },
+ { 0x5B35, 86880 },
+ { 0x5B36, 86872 },
+ { 0x5B37, 86575 },
+ { 0x5B38, 86685 },
+ { 0x5B39, 86270 },
+ { 0x5B3A, 86208 },
+ { 0x5B3B, 86768 },
+ { 0x5B3C, 86758 },
+ { 0x5B3D, 86374 },
+ { 0x5B3E, 86876 },
+ { 0x5B3F, 86255 },
+ { 0x5B40, 86247 },
+ { 0x5B41, 86101 },
+ { 0x5B42, 86160 },
+ { 0x5B43, 86125 },
+ { 0x5B44, 86726 },
+ { 0x5B45, 86116 },
+ { 0x5B46, 86748 },
+ { 0x5B47, 86316 },
+ { 0x5B48, 86816 },
+ { 0x5B49, 86802 },
+ { 0x5B4A, 85875 },
+ { 0x5B4B, 86312 },
+ { 0x5B4C, 86868 },
+ { 0x5B4D, 86634 },
+ { 0x5B4E, 86778 },
+ { 0x5B4F, 86341 },
+ { 0x5B50, 85807 },
+ { 0x5B51, 86396 },
+ { 0x5B52, 86457 },
+ { 0x5B53, 86143 },
+ { 0x5B54, 85828 },
+ { 0x5B55, 86892 },
+ { 0x5B56, 86884 },
+ { 0x5B57, 86860 },
+ { 0x5B58, 86896 },
+ { 0x5B59, 86900 },
+ { 0x5B5A, 86864 },
+ { 0x5B5B, 86888 },
+ { 0x5B5C, 86856 },
+ { 0x5B5D, 86852 },
+ { 0x5B5E, 85880 },
+ { 0x5B5F, 86712 },
+ { 0x5B60, 86830 },
+ { 0x5B61, 86835 },
+ { 0x5B62, 85815 },
+ { 0x5B63, 85679 },
+ { 0x5B64, 86677 },
+ { 0x5B65, 86654 },
+ { 0x5B66, 85694 },
+ { 0x5B67, 85689 },
+ { 0x5B68, 86332 },
+ { 0x5B69, 86061 },
+ { 0x5B6A, 85775 },
+ { 0x5B6B, 86307 },
+ { 0x5B6C, 86302 },
+ { 0x5B6D, 86297 },
+ { 0x5B6E, 86378 },
+ { 0x5B6F, 85661 },
+ { 0x5B70, 85771 },
+ { 0x5B71, 86156 },
+ { 0x5B72, 86630 },
+ { 0x5B73, 86293 },
+ { 0x5B74, 86077 },
+ { 0x5B75, 86071 },
+ { 0x5B76, 86083 },
+ { 0x5B77, 86095 },
+ { 0x5B78, 86089 },
+ { 0x5B79, 86017 },
+ { 0x5B7A, 86040 },
+ { 0x5B7B, 86034 },
+ { 0x5B7C, 86428 },
+ { 0x5B7D, 86445 },
+ { 0x5B7E, 86438 },
+ { 0x5B7F, 86432 },
+ { 0x5B80, 86735 },
+ { 0x5B81, 85752 },
+ { 0x5B82, 86794 },
+ { 0x5B83, 86251 },
+ { 0x5B84, 85709 },
+ { 0x5B85, 85731 },
+ { 0x5B86, 85699 },
+ { 0x5B87, 85726 },
+ { 0x5B88, 85704 },
+ { 0x5B89, 85721 },
+ { 0x5B8A, 85736 },
+ { 0x5B8B, 85715 },
+ { 0x5B8C, 86506 },
+ { 0x5B8D, 86486 },
+ { 0x5B8E, 86537 },
+ { 0x5B8F, 86493 },
+ { 0x5B90, 86512 },
+ { 0x5B91, 86556 },
+ { 0x5B92, 86543 },
+ { 0x5B93, 86549 },
+ { 0x5B94, 86518 },
+ { 0x5B95, 86524 },
+ { 0x5B96, 86046 },
+ { 0x5B97, 86752 },
+ { 0x5B98, 86668 },
+ { 0x5B99, 86663 },
+ { 0x5B9A, 86658 },
+ { 0x5B9B, 86500 },
+ { 0x5B9C, 86561 },
+ { 0x5B9D, 86530 },
+ { 0x5B9E, 86782 },
+ { 0x5B9F, 86788 },
+ { 0x5BA0, 86259 },
+ { 0x5BA1, 86461 },
+ { 0x5BA2, 86798 },
+ { 0x5BA3, 85950 },
+ { 0x5BA4, 85983 },
+ { 0x5BA5, 85995 },
+ { 0x5BA6, 85899 },
+ { 0x5BA7, 85957 },
+ { 0x5BA8, 85938 },
+ { 0x5BA9, 85963 },
+ { 0x5BAA, 85989 },
+ { 0x5BAB, 85976 },
+ { 0x5BAC, 85969 },
+ { 0x5BAD, 85910 },
+ { 0x5BAE, 85917 },
+ { 0x5BAF, 85885 },
+ { 0x5BB0, 85931 },
+ { 0x5BB1, 85905 },
+ { 0x5BB2, 85756 },
+ { 0x5BB3, 85761 },
+ { 0x5BB4, 85766 },
+ { 0x5BB5, 85892 },
+ { 0x5BB6, 86001 },
+ { 0x5BB7, 86203 },
+ { 0x5BB8, 85865 },
+ { 0x5BB9, 85870 },
+ { 0x5BBA, 85837 },
+ { 0x5BBB, 85858 },
+ { 0x5BBC, 85844 },
+ { 0x5BBD, 85851 },
+ { 0x5BBE, 86175 },
+ { 0x5BBF, 86196 },
+ { 0x5BC0, 86182 },
+ { 0x5BC1, 86189 },
+ { 0x5BC2, 86007 },
+ { 0x5BC3, 86012 },
+ { 0x5BC4, 86406 },
+ { 0x5BC5, 86412 },
+ { 0x5BC6, 86418 },
+ { 0x5BC7, 86423 },
+ { 0x5BC8, 86607 },
+ { 0x5BC9, 86612 },
+ { 0x5BCA, 86618 },
+ { 0x5BCB, 86624 },
+ { 0x5BCC, 86584 },
+ { 0x5BCD, 86589 },
+ { 0x5BCE, 86595 },
+ { 0x5BCF, 86601 },
+ { 0x5BD0, 86452 },
+ { 0x5BD1, 86649 },
+ { 0x5BD2, 86148 },
+ { 0x5BD3, 86232 },
+ { 0x5BD4, 86242 },
+ { 0x5BD5, 86217 },
+ { 0x5BD6, 86212 },
+ { 0x5BD7, 86222 },
+ { 0x5BD8, 86237 },
+ { 0x5BD9, 86227 },
+ { 0x5BDA, 86697 },
+ { 0x5BDB, 86282 },
+ { 0x5BDC, 86691 },
+ { 0x5BDD, 86276 },
+ { 0x5BDE, 86066 },
+ { 0x5BDF, 86023 },
+ { 0x5BE0, 59980 },
+ { 0x5BE1, 59878 },
+ { 0x5BE2, 59758 },
+ { 0x5BE3, 60113 },
+ { 0x5BE4, 59862 },
+ { 0x5BE5, 59824 },
+ { 0x5BE6, 59691 },
+ { 0x5BE7, 59808 },
+ { 0x5BE8, 59976 },
+ { 0x5BE9, 59603 },
+ { 0x5BEA, 59592 },
+ { 0x5BEB, 59813 },
+ { 0x5BEC, 59644 },
+ { 0x5BED, 60194 },
+ { 0x5BEE, 60198 },
+ { 0x5BEF, 60202 },
+ { 0x5BF0, 60077 },
+ { 0x5BF1, 60080 },
+ { 0x5BF2, 59839 },
+ { 0x5BF3, 60064 },
+ { 0x5BF4, 59749 },
+ { 0x5BF5, 60061 },
+ { 0x5BF6, 60146 },
+ { 0x5BF7, 60279 },
+ { 0x5BF8, 60497 },
+ { 0x5BF9, 60417 },
+ { 0x5BFA, 60413 },
+ { 0x5BFB, 60206 },
+ { 0x5BFC, 60493 },
+ { 0x5BFD, 60504 },
+ { 0x5BFE, 59569 },
+ { 0x5BFF, 59573 },
+ { 0x5C00, 59579 },
+ { 0x5C01, 59549 },
+ { 0x5C02, 59553 },
+ { 0x5C03, 59557 },
+ { 0x5C04, 59563 },
+ { 0x5C05, 59654 },
+ { 0x5C06, 59658 },
+ { 0x5C07, 60137 },
+ { 0x5C08, 59874 },
+ { 0x5C09, 59870 },
+ { 0x5C0A, 59662 },
+ { 0x5C0B, 59666 },
+ { 0x5C0C, 60084 },
+ { 0x5C0D, 60088 },
+ { 0x5C0E, 59816 },
+ { 0x5C0F, 59820 },
+ { 0x5C10, 60108 },
+ { 0x5C11, 60103 },
+ { 0x5C12, 59858 },
+ { 0x5C13, 59599 },
+ { 0x5C14, 59968 },
+ { 0x5C15, 59972 },
+ { 0x5C16, 60521 },
+ { 0x5C17, 60525 },
+ { 0x5C18, 59792 },
+ { 0x5C19, 59835 },
+ { 0x5C1A, 59682 },
+ { 0x5C1B, 60099 },
+ { 0x5C1C, 59886 },
+ { 0x5C1D, 60457 },
+ { 0x5C1E, 60541 },
+ { 0x5C1F, 60533 },
+ { 0x5C20, 59634 },
+ { 0x5C21, 59585 },
+ { 0x5C22, 59710 },
+ { 0x5C23, 59850 },
+ { 0x5C24, 59993 },
+ { 0x5C25, 59988 },
+ { 0x5C26, 60237 },
+ { 0x5C27, 60217 },
+ { 0x5C28, 60261 },
+ { 0x5C29, 60255 },
+ { 0x5C2A, 60273 },
+ { 0x5C2B, 60267 },
+ { 0x5C2C, 60249 },
+ { 0x5C2D, 60243 },
+ { 0x5C2E, 60230 },
+ { 0x5C2F, 60223 },
+ { 0x5C30, 59701 },
+ { 0x5C31, 59696 },
+ { 0x5C32, 60551 },
+ { 0x5C33, 60545 },
+ { 0x5C34, 60514 },
+ { 0x5C35, 59725 },
+ { 0x5C36, 60142 },
+ { 0x5C37, 59706 },
+ { 0x5C38, 60072 },
+ { 0x5C39, 60067 },
+ { 0x5C3A, 59752 },
+ { 0x5C3B, 59831 },
+ { 0x5C3C, 59678 },
+ { 0x5C3D, 60095 },
+ { 0x5C3E, 59882 },
+ { 0x5C3F, 60453 },
+ { 0x5C40, 60537 },
+ { 0x5C41, 60529 },
+ { 0x5C42, 59628 },
+ { 0x5C43, 60314 },
+ { 0x5C44, 60393 },
+ { 0x5C45, 60376 },
+ { 0x5C46, 60380 },
+ { 0x5C47, 60384 },
+ { 0x5C48, 60121 },
+ { 0x5C49, 60125 },
+ { 0x5C4A, 60129 },
+ { 0x5C4B, 60388 },
+ { 0x5C4C, 60335 },
+ { 0x5C4D, 60339 },
+ { 0x5C4E, 60343 },
+ { 0x5C4F, 60347 },
+ { 0x5C50, 60351 },
+ { 0x5C51, 59737 },
+ { 0x5C52, 59616 },
+ { 0x5C53, 59733 },
+ { 0x5C54, 59612 },
+ { 0x5C55, 59741 },
+ { 0x5C56, 59620 },
+ { 0x5C57, 59745 },
+ { 0x5C58, 59624 },
+ { 0x5C59, 60326 },
+ { 0x5C5A, 60372 },
+ { 0x5C5B, 60355 },
+ { 0x5C5C, 60398 },
+ { 0x5C5D, 60364 },
+ { 0x5C5E, 60406 },
+ { 0x5C5F, 60402 },
+ { 0x5C60, 60318 },
+ { 0x5C61, 60461 },
+ { 0x5C62, 60465 },
+ { 0x5C63, 60296 },
+ { 0x5C64, 60288 },
+ { 0x5C65, 60305 },
+ { 0x5C66, 60322 },
+ { 0x5C67, 60292 },
+ { 0x5C68, 60330 },
+ { 0x5C69, 60359 },
+ { 0x5C6A, 60518 },
+ { 0x5C6B, 59998 },
+ { 0x5C6C, 59589 },
+ { 0x5C6D, 59805 },
+ { 0x5C6E, 59789 },
+ { 0x5C6F, 59762 },
+ { 0x5C70, 60410 },
+ { 0x5C71, 60501 },
+ { 0x5C72, 59771 },
+ { 0x5C73, 59765 },
+ { 0x5C74, 59596 },
+ { 0x5C75, 59714 },
+ { 0x5C76, 60133 },
+ { 0x5C77, 59721 },
+ { 0x5C78, 59717 },
+ { 0x5C79, 60150 },
+ { 0x5C7A, 60154 },
+ { 0x5C7B, 60158 },
+ { 0x5C7C, 60162 },
+ { 0x5C7D, 60166 },
+ { 0x5C7E, 60170 },
+ { 0x5C7F, 60174 },
+ { 0x5C80, 60178 },
+ { 0x5C81, 60182 },
+ { 0x5C82, 60186 },
+ { 0x5C83, 60190 },
+ { 0x5C84, 60508 },
+ { 0x5C85, 60511 },
+ { 0x5C86, 59607 },
+ { 0x5C87, 59866 },
+ { 0x5C88, 60300 },
+ { 0x5C89, 60283 },
+ { 0x5C8A, 60368 },
+ { 0x5C8B, 60309 },
+ { 0x5C8C, 59801 },
+ { 0x5C8D, 59796 },
+ { 0x5C8E, 59686 },
+ { 0x5C8F, 60421 },
+ { 0x5C90, 60425 },
+ { 0x5C91, 59729 },
+ { 0x5C92, 59647 },
+ { 0x5C93, 59650 },
+ { 0x5C94, 59954 },
+ { 0x5C95, 59776 },
+ { 0x5C96, 59843 },
+ { 0x5C97, 60477 },
+ { 0x5C98, 60473 },
+ { 0x5C99, 59957 },
+ { 0x5C9A, 59964 },
+ { 0x5C9B, 60489 },
+ { 0x5C9C, 60485 },
+ { 0x5C9D, 59674 },
+ { 0x5C9E, 59670 },
+ { 0x5C9F, 59779 },
+ { 0x5CA0, 59784 },
+ { 0x5CA1, 59846 },
+ { 0x5CA2, 60469 },
+ { 0x5CA3, 59960 },
+ { 0x5CA4, 60481 },
+ { 0x5CA5, 60001 },
+ { 0x5CA6, 60016 },
+ { 0x5CA7, 60008 },
+ { 0x5CA8, 60023 },
+ { 0x5CA9, 60030 },
+ { 0x5CAA, 60037 },
+ { 0x5CAB, 60045 },
+ { 0x5CAC, 60053 },
+ { 0x5CAD, 59755 },
+ { 0x5CAE, 60429 },
+ { 0x5CAF, 60434 },
+ { 0x5CB0, 59984 },
+ { 0x5CB1, 59828 },
+ { 0x5CB2, 60092 },
+ { 0x5CB3, 59855 },
+ { 0x5CB4, 60446 },
+ { 0x5CB5, 60118 },
+ { 0x5CB6, 60210 },
+ { 0x5CB7, 60439 },
+ { 0x5CB8, 60442 },
+ { 0x5CB9, 60449 },
+ { 0x5CBA, 60213 },
+ { 0x5CBB, 59640 },
+ { 0x5CBC, 59890 },
+ { 0x5CBD, 59895 },
+ { 0x5CBE, 59911 },
+ { 0x5CBF, 59949 },
+ { 0x5CC0, 59916 },
+ { 0x5CC1, 59906 },
+ { 0x5CC2, 59942 },
+ { 0x5CC3, 59935 },
+ { 0x5CC4, 59928 },
+ { 0x5CC5, 59921 },
+ { 0x5CC6, 59901 },
+ { 0x5CC7, 20379 },
+ { 0x5CC8, 20383 },
+ { 0x5CC9, 20387 },
+ { 0x5CCA, 20391 },
+ { 0x5CCB, 20395 },
+ { 0x5CCC, 20399 },
+ { 0x5CCD, 20403 },
+ { 0x5CCE, 20407 },
+ { 0x5CCF, 20411 },
+ { 0x5CD0, 20415 },
+ { 0x5CD1, 20419 },
+ { 0x5CD2, 20423 },
+ { 0x5CD3, 20427 },
+ { 0x5CD4, 20431 },
+ { 0x5CD5, 20435 },
+ { 0x5CD6, 20439 },
+ { 0x5CD7, 20443 },
+ { 0x5CD8, 20447 },
+ { 0x5CD9, 20451 },
+ { 0x5CDA, 20455 },
+ { 0x5CDB, 20459 },
+ { 0x5CDC, 20463 },
+ { 0x5CDD, 20467 },
+ { 0x5CDE, 20471 },
+ { 0x5CDF, 20475 },
+ { 0x5CE0, 20479 },
+ { 0x5CE1, 20483 },
+ { 0x5CE2, 20487 },
+ { 0x5CE3, 20491 },
+ { 0x5CE4, 21867 },
+ { 0x5CE5, 21871 },
+ { 0x5CE6, 21875 },
+ { 0x5CE7, 21879 },
+ { 0x5CE8, 21883 },
+ { 0x5CE9, 21887 },
+ { 0x5CEA, 21891 },
+ { 0x5CEB, 21895 },
+ { 0x5CEC, 21899 },
+ { 0x5CED, 21903 },
+ { 0x5CEE, 21907 },
+ { 0x5CEF, 21911 },
+ { 0x5CF0, 21915 },
+ { 0x5CF1, 21919 },
+ { 0x5CF2, 21923 },
+ { 0x5CF3, 21927 },
+ { 0x5CF4, 21931 },
+ { 0x5CF5, 21935 },
+ { 0x5CF6, 21939 },
+ { 0x5CF7, 21943 },
+ { 0x5CF8, 21947 },
+ { 0x5CF9, 21951 },
+ { 0x5CFA, 21955 },
+ { 0x5CFB, 21959 },
+ { 0x5CFC, 21963 },
+ { 0x5CFD, 21967 },
+ { 0x5CFE, 21971 },
+ { 0x5CFF, 21975 },
+ { 0x5D00, 21979 },
+ { 0x5D01, 21983 },
+ { 0x5D02, 21987 },
+ { 0x5D03, 21991 },
+ { 0x5D04, 21995 },
+ { 0x5D05, 21999 },
+ { 0x5D06, 22003 },
+ { 0x5D07, 22007 },
+ { 0x5D08, 22011 },
+ { 0x5D09, 87412 },
+ { 0x5D0A, 87420 },
+ { 0x5D0B, 87416 },
+ { 0x5D0C, 21521 },
+ { 0x5D0D, 81922 },
+ { 0x5D0E, 44589 },
+ { 0x5D0F, 44561 },
+ { 0x5D10, 44577 },
+ { 0x5D11, 44573 },
+ { 0x5D12, 44558 },
+ { 0x5D13, 98782 },
+ { 0x5D14, 98749 },
+ { 0x5D15, 98764 },
+ { 0x5D16, 98810 },
+ { 0x5D17, 98829 },
+ { 0x5D18, 98954 },
+ { 0x5D19, 98779 },
+ { 0x5D1A, 98945 },
+ { 0x5D1B, 98883 },
+ { 0x5D1C, 98981 },
+ { 0x5D1D, 98936 },
+ { 0x5D1E, 98978 },
+ { 0x5D1F, 98866 },
+ { 0x5D20, 98963 },
+ { 0x5D21, 98767 },
+ { 0x5D22, 98816 },
+ { 0x5D23, 98825 },
+ { 0x5D24, 98854 },
+ { 0x5D25, 98902 },
+ { 0x5D26, 98807 },
+ { 0x5D27, 98848 },
+ { 0x5D28, 98948 },
+ { 0x5D29, 98746 },
+ { 0x5D2A, 98734 },
+ { 0x5D2B, 98933 },
+ { 0x5D2C, 98899 },
+ { 0x5D2D, 98792 },
+ { 0x5D2E, 98785 },
+ { 0x5D2F, 98969 },
+ { 0x5D30, 98742 },
+ { 0x5D31, 98842 },
+ { 0x5D32, 98798 },
+ { 0x5D33, 98887 },
+ { 0x5D34, 98833 },
+ { 0x5D35, 98908 },
+ { 0x5D36, 98875 },
+ { 0x5D37, 98801 },
+ { 0x5D38, 98860 },
+ { 0x5D39, 98921 },
+ { 0x5D3A, 98737 },
+ { 0x5D3B, 98869 },
+ { 0x5D3C, 98756 },
+ { 0x5D3D, 98939 },
+ { 0x5D3E, 98770 },
+ { 0x5D3F, 98915 },
+ { 0x5D40, 98957 },
+ { 0x5D41, 98845 },
+ { 0x5D42, 98804 },
+ { 0x5D43, 98795 },
+ { 0x5D44, 98878 },
+ { 0x5D45, 98890 },
+ { 0x5D46, 98839 },
+ { 0x5D47, 98857 },
+ { 0x5D48, 98773 },
+ { 0x5D49, 98975 },
+ { 0x5D4A, 98788 },
+ { 0x5D4B, 98960 },
+ { 0x5D4C, 98911 },
+ { 0x5D4D, 98836 },
+ { 0x5D4E, 98966 },
+ { 0x5D4F, 98986 },
+ { 0x5D50, 98753 },
+ { 0x5D51, 98776 },
+ { 0x5D52, 98851 },
+ { 0x5D53, 98761 },
+ { 0x5D54, 98896 },
+ { 0x5D55, 98893 },
+ { 0x5D56, 98819 },
+ { 0x5D57, 98942 },
+ { 0x5D58, 98924 },
+ { 0x5D59, 98872 },
+ { 0x5D5A, 98863 },
+ { 0x5D5B, 98927 },
+ { 0x5D5C, 98813 },
+ { 0x5D5D, 98822 },
+ { 0x5D5E, 98951 },
+ { 0x5D5F, 98930 },
+ { 0x5D60, 98729 },
+ { 0x5D61, 98972 },
+ { 0x5D62, 98918 },
+ { 0x5D63, 98905 },
+ { 0x5D64, 70230 },
+ { 0x5D65, 70240 },
+ { 0x5D66, 70270 },
+ { 0x5D67, 70250 },
+ { 0x5D68, 70245 },
+ { 0x5D69, 70235 },
+ { 0x5D6A, 70265 },
+ { 0x5D6B, 70260 },
+ { 0x5D6C, 70255 },
+ { 0x5D6D, 70185 },
+ { 0x5D6E, 70195 },
+ { 0x5D6F, 70225 },
+ { 0x5D70, 70205 },
+ { 0x5D71, 70200 },
+ { 0x5D72, 70190 },
+ { 0x5D73, 70220 },
+ { 0x5D74, 70215 },
+ { 0x5D75, 70210 },
+ { 0x5D76, 107393 },
+ { 0x5D77, 107397 },
+ { 0x5D78, 107401 },
+ { 0x5D79, 107405 },
+ { 0x5D7A, 107409 },
+ { 0x5D7B, 107413 },
+ { 0x5D7C, 107417 },
+ { 0x5D7D, 107421 },
+ { 0x5D7E, 107425 },
+ { 0x5D7F, 107429 },
+ { 0x5D80, 107433 },
+ { 0x5D81, 107437 },
+ { 0x5D82, 107441 },
+ { 0x5D83, 107445 },
+ { 0x5D84, 107449 },
+ { 0x5D85, 107453 },
+ { 0x5D86, 107457 },
+ { 0x5D87, 107461 },
+ { 0x5D88, 107465 },
+ { 0x5D89, 107469 },
+ { 0x5D8A, 107473 },
+ { 0x5D8B, 107477 },
+ { 0x5D8C, 107481 },
+ { 0x5D8D, 107485 },
+ { 0x5D8E, 107489 },
+ { 0x5D8F, 107493 },
+ { 0x5D90, 106369 },
+ { 0x5D91, 106373 },
+ { 0x5D92, 106377 },
+ { 0x5D93, 106381 },
+ { 0x5D94, 106385 },
+ { 0x5D95, 106389 },
+ { 0x5D96, 106393 },
+ { 0x5D97, 106397 },
+ { 0x5D98, 106401 },
+ { 0x5D99, 106405 },
+ { 0x5D9A, 106409 },
+ { 0x5D9B, 106413 },
+ { 0x5D9C, 106417 },
+ { 0x5D9D, 106421 },
+ { 0x5D9E, 106425 },
+ { 0x5D9F, 106429 },
+ { 0x5DA0, 106433 },
+ { 0x5DA1, 106437 },
+ { 0x5DA2, 106441 },
+ { 0x5DA3, 106445 },
+ { 0x5DA4, 106449 },
+ { 0x5DA5, 106453 },
+ { 0x5DA6, 106457 },
+ { 0x5DA7, 106461 },
+ { 0x5DA8, 106465 },
+ { 0x5DA9, 106469 },
+ { 0x5DAA, 108152 },
+ { 0x5DAB, 108156 },
+ { 0x5DAC, 108160 },
+ { 0x5DAD, 108164 },
+ { 0x5DAE, 108168 },
+ { 0x5DAF, 108172 },
+ { 0x5DB0, 108176 },
+ { 0x5DB1, 108180 },
+ { 0x5DB2, 108184 },
+ { 0x5DB3, 108188 },
+ { 0x5DB4, 108192 },
+ { 0x5DB5, 108196 },
+ { 0x5DB6, 108200 },
+ { 0x5DB7, 108204 },
+ { 0x5DB8, 108208 },
+ { 0x5DB9, 108212 },
+ { 0x5DBA, 108216 },
+ { 0x5DBB, 108220 },
+ { 0x5DBC, 108224 },
+ { 0x5DBD, 108228 },
+ { 0x5DBE, 108232 },
+ { 0x5DBF, 108236 },
+ { 0x5DC0, 108240 },
+ { 0x5DC1, 108244 },
+ { 0x5DC2, 108248 },
+ { 0x5DC3, 108252 },
+ { 0x5DC4, 107937 },
+ { 0x5DC5, 107941 },
+ { 0x5DC6, 107945 },
+ { 0x5DC7, 107949 },
+ { 0x5DC8, 107953 },
+ { 0x5DC9, 107957 },
+ { 0x5DCA, 107961 },
+ { 0x5DCB, 107965 },
+ { 0x5DCC, 107969 },
+ { 0x5DCD, 107973 },
+ { 0x5DCE, 107977 },
+ { 0x5DCF, 107981 },
+ { 0x5DD0, 107985 },
+ { 0x5DD1, 107989 },
+ { 0x5DD2, 107993 },
+ { 0x5DD3, 107997 },
+ { 0x5DD4, 108001 },
+ { 0x5DD5, 108005 },
+ { 0x5DD6, 108009 },
+ { 0x5DD7, 108013 },
+ { 0x5DD8, 108017 },
+ { 0x5DD9, 108021 },
+ { 0x5DDA, 108025 },
+ { 0x5DDB, 108029 },
+ { 0x5DDC, 108033 },
+ { 0x5DDD, 106867 },
+ { 0x5DDE, 106872 },
+ { 0x5DDF, 106877 },
+ { 0x5DE0, 106882 },
+ { 0x5DE1, 106887 },
+ { 0x5DE2, 106892 },
+ { 0x5DE3, 106897 },
+ { 0x5DE4, 106902 },
+ { 0x5DE5, 106907 },
+ { 0x5DE6, 106912 },
+ { 0x5DE7, 106917 },
+ { 0x5DE8, 106922 },
+ { 0x5DE9, 106927 },
+ { 0x5DEA, 106932 },
+ { 0x5DEB, 106937 },
+ { 0x5DEC, 106942 },
+ { 0x5DED, 106947 },
+ { 0x5DEE, 106952 },
+ { 0x5DEF, 106957 },
+ { 0x5DF0, 106962 },
+ { 0x5DF1, 106967 },
+ { 0x5DF2, 106972 },
+ { 0x5DF3, 106977 },
+ { 0x5DF4, 106982 },
+ { 0x5DF5, 106987 },
+ { 0x5DF6, 106992 },
+ { 0x5DF7, 106606 },
+ { 0x5DF8, 106611 },
+ { 0x5DF9, 106616 },
+ { 0x5DFA, 106621 },
+ { 0x5DFB, 106626 },
+ { 0x5DFC, 106631 },
+ { 0x5DFD, 106636 },
+ { 0x5DFE, 106641 },
+ { 0x5DFF, 106646 },
+ { 0x5E00, 106651 },
+ { 0x5E01, 106656 },
+ { 0x5E02, 106661 },
+ { 0x5E03, 106666 },
+ { 0x5E04, 106671 },
+ { 0x5E05, 106676 },
+ { 0x5E06, 106681 },
+ { 0x5E07, 106686 },
+ { 0x5E08, 106691 },
+ { 0x5E09, 106696 },
+ { 0x5E0A, 106701 },
+ { 0x5E0B, 106706 },
+ { 0x5E0C, 106711 },
+ { 0x5E0D, 106716 },
+ { 0x5E0E, 106721 },
+ { 0x5E0F, 106726 },
+ { 0x5E10, 106731 },
+ { 0x5E11, 108460 },
+ { 0x5E12, 108464 },
+ { 0x5E13, 108468 },
+ { 0x5E14, 108472 },
+ { 0x5E15, 108476 },
+ { 0x5E16, 108480 },
+ { 0x5E17, 108484 },
+ { 0x5E18, 108488 },
+ { 0x5E19, 108492 },
+ { 0x5E1A, 108496 },
+ { 0x5E1B, 108500 },
+ { 0x5E1C, 108504 },
+ { 0x5E1D, 108508 },
+ { 0x5E1E, 108512 },
+ { 0x5E1F, 108516 },
+ { 0x5E20, 108520 },
+ { 0x5E21, 108524 },
+ { 0x5E22, 108528 },
+ { 0x5E23, 108368 },
+ { 0x5E24, 108372 },
+ { 0x5E25, 108376 },
+ { 0x5E26, 108380 },
+ { 0x5E27, 108384 },
+ { 0x5E28, 108388 },
+ { 0x5E29, 108392 },
+ { 0x5E2A, 108396 },
+ { 0x5E2B, 108400 },
+ { 0x5E2C, 108404 },
+ { 0x5E2D, 108408 },
+ { 0x5E2E, 108412 },
+ { 0x5E2F, 108416 },
+ { 0x5E30, 108420 },
+ { 0x5E31, 108424 },
+ { 0x5E32, 108428 },
+ { 0x5E33, 108432 },
+ { 0x5E34, 108436 },
+ { 0x5E35, 108440 },
+ { 0x5E36, 108444 },
+ { 0x5E37, 108448 },
+ { 0x5E38, 108452 },
+ { 0x5E39, 108456 },
+ { 0x5E3A, 107263 },
+ { 0x5E3B, 107268 },
+ { 0x5E3C, 107273 },
+ { 0x5E3D, 107278 },
+ { 0x5E3E, 107283 },
+ { 0x5E3F, 107288 },
+ { 0x5E40, 107293 },
+ { 0x5E41, 107298 },
+ { 0x5E42, 107303 },
+ { 0x5E43, 107308 },
+ { 0x5E44, 107313 },
+ { 0x5E45, 107318 },
+ { 0x5E46, 107323 },
+ { 0x5E47, 107328 },
+ { 0x5E48, 107333 },
+ { 0x5E49, 107338 },
+ { 0x5E4A, 107343 },
+ { 0x5E4B, 107348 },
+ { 0x5E4C, 107353 },
+ { 0x5E4D, 107358 },
+ { 0x5E4E, 107363 },
+ { 0x5E4F, 107368 },
+ { 0x5E50, 107373 },
+ { 0x5E51, 107378 },
+ { 0x5E52, 107383 },
+ { 0x5E53, 107388 },
+ { 0x5E54, 107133 },
+ { 0x5E55, 107138 },
+ { 0x5E56, 107143 },
+ { 0x5E57, 107148 },
+ { 0x5E58, 107153 },
+ { 0x5E59, 107158 },
+ { 0x5E5A, 107163 },
+ { 0x5E5B, 107168 },
+ { 0x5E5C, 107173 },
+ { 0x5E5D, 107178 },
+ { 0x5E5E, 107183 },
+ { 0x5E5F, 107188 },
+ { 0x5E60, 107193 },
+ { 0x5E61, 107198 },
+ { 0x5E62, 107203 },
+ { 0x5E63, 107208 },
+ { 0x5E64, 107213 },
+ { 0x5E65, 107218 },
+ { 0x5E66, 107223 },
+ { 0x5E67, 107228 },
+ { 0x5E68, 107233 },
+ { 0x5E69, 107238 },
+ { 0x5E6A, 107243 },
+ { 0x5E6B, 107248 },
+ { 0x5E6C, 107253 },
+ { 0x5E6D, 107258 },
+ { 0x5E6E, 108639 },
+ { 0x5E6F, 108643 },
+ { 0x5E70, 108647 },
+ { 0x5E71, 108651 },
+ { 0x5E72, 108655 },
+ { 0x5E73, 108659 },
+ { 0x5E74, 108663 },
+ { 0x5E75, 108667 },
+ { 0x5E76, 108671 },
+ { 0x5E77, 108675 },
+ { 0x5E78, 108679 },
+ { 0x5E79, 108683 },
+ { 0x5E7A, 108687 },
+ { 0x5E7B, 108691 },
+ { 0x5E7C, 108695 },
+ { 0x5E7D, 108699 },
+ { 0x5E7E, 108703 },
+ { 0x5E7F, 108707 },
+ { 0x5E80, 108711 },
+ { 0x5E81, 108715 },
+ { 0x5E82, 108719 },
+ { 0x5E83, 108535 },
+ { 0x5E84, 108539 },
+ { 0x5E85, 108543 },
+ { 0x5E86, 108547 },
+ { 0x5E87, 108551 },
+ { 0x5E88, 108555 },
+ { 0x5E89, 108559 },
+ { 0x5E8A, 108563 },
+ { 0x5E8B, 108567 },
+ { 0x5E8C, 108571 },
+ { 0x5E8D, 108575 },
+ { 0x5E8E, 108579 },
+ { 0x5E8F, 108583 },
+ { 0x5E90, 108587 },
+ { 0x5E91, 108591 },
+ { 0x5E92, 108595 },
+ { 0x5E93, 108599 },
+ { 0x5E94, 108603 },
+ { 0x5E95, 108607 },
+ { 0x5E96, 108611 },
+ { 0x5E97, 108615 },
+ { 0x5E98, 108619 },
+ { 0x5E99, 108623 },
+ { 0x5E9A, 108627 },
+ { 0x5E9B, 108631 },
+ { 0x5E9C, 108635 },
+ { 0x5E9D, 110885 },
+ { 0x5E9E, 110889 },
+ { 0x5E9F, 110893 },
+ { 0x5EA0, 110897 },
+ { 0x5EA1, 110901 },
+ { 0x5EA2, 110905 },
+ { 0x5EA3, 110909 },
+ { 0x5EA4, 110913 },
+ { 0x5EA5, 110917 },
+ { 0x5EA6, 110921 },
+ { 0x5EA7, 110925 },
+ { 0x5EA8, 110929 },
+ { 0x5EA9, 110933 },
+ { 0x5EAA, 110937 },
+ { 0x5EAB, 110941 },
+ { 0x5EAC, 110945 },
+ { 0x5EAD, 110949 },
+ { 0x5EAE, 110953 },
+ { 0x5EAF, 110957 },
+ { 0x5EB0, 110781 },
+ { 0x5EB1, 110785 },
+ { 0x5EB2, 110789 },
+ { 0x5EB3, 110793 },
+ { 0x5EB4, 110797 },
+ { 0x5EB5, 110801 },
+ { 0x5EB6, 110805 },
+ { 0x5EB7, 110809 },
+ { 0x5EB8, 110813 },
+ { 0x5EB9, 110817 },
+ { 0x5EBA, 110821 },
+ { 0x5EBB, 110825 },
+ { 0x5EBC, 110829 },
+ { 0x5EBD, 110833 },
+ { 0x5EBE, 110837 },
+ { 0x5EBF, 110841 },
+ { 0x5EC0, 110845 },
+ { 0x5EC1, 110849 },
+ { 0x5EC2, 110853 },
+ { 0x5EC3, 110857 },
+ { 0x5EC4, 110861 },
+ { 0x5EC5, 110865 },
+ { 0x5EC6, 110869 },
+ { 0x5EC7, 110873 },
+ { 0x5EC8, 110877 },
+ { 0x5EC9, 110881 },
+ { 0x5ECA, 107736 },
+ { 0x5ECB, 107741 },
+ { 0x5ECC, 107746 },
+ { 0x5ECD, 107751 },
+ { 0x5ECE, 107756 },
+ { 0x5ECF, 107761 },
+ { 0x5ED0, 107766 },
+ { 0x5ED1, 107771 },
+ { 0x5ED2, 107776 },
+ { 0x5ED3, 107781 },
+ { 0x5ED4, 107786 },
+ { 0x5ED5, 107791 },
+ { 0x5ED6, 107796 },
+ { 0x5ED7, 107801 },
+ { 0x5ED8, 107806 },
+ { 0x5ED9, 107811 },
+ { 0x5EDA, 107816 },
+ { 0x5EDB, 107821 },
+ { 0x5EDC, 107826 },
+ { 0x5EDD, 107831 },
+ { 0x5EDE, 107836 },
+ { 0x5EDF, 107841 },
+ { 0x5EE0, 107846 },
+ { 0x5EE1, 107851 },
+ { 0x5EE2, 107856 },
+ { 0x5EE3, 107861 },
+ { 0x5EE4, 107606 },
+ { 0x5EE5, 107611 },
+ { 0x5EE6, 107616 },
+ { 0x5EE7, 107621 },
+ { 0x5EE8, 107626 },
+ { 0x5EE9, 107631 },
+ { 0x5EEA, 107636 },
+ { 0x5EEB, 107641 },
+ { 0x5EEC, 107646 },
+ { 0x5EED, 107651 },
+ { 0x5EEE, 107656 },
+ { 0x5EEF, 107661 },
+ { 0x5EF0, 107666 },
+ { 0x5EF1, 107671 },
+ { 0x5EF2, 107676 },
+ { 0x5EF3, 107681 },
+ { 0x5EF4, 107686 },
+ { 0x5EF5, 107691 },
+ { 0x5EF6, 107696 },
+ { 0x5EF7, 107701 },
+ { 0x5EF8, 107706 },
+ { 0x5EF9, 107711 },
+ { 0x5EFA, 107716 },
+ { 0x5EFB, 107721 },
+ { 0x5EFC, 107726 },
+ { 0x5EFD, 107731 },
+ { 0x5EFE, 110637 },
+ { 0x5EFF, 110641 },
+ { 0x5F00, 110645 },
+ { 0x5F01, 110649 },
+ { 0x5F02, 110653 },
+ { 0x5F03, 110657 },
+ { 0x5F04, 110661 },
+ { 0x5F05, 110665 },
+ { 0x5F06, 110669 },
+ { 0x5F07, 110673 },
+ { 0x5F08, 110677 },
+ { 0x5F09, 110681 },
+ { 0x5F0A, 110685 },
+ { 0x5F0B, 110689 },
+ { 0x5F0C, 110693 },
+ { 0x5F0D, 110697 },
+ { 0x5F0E, 110701 },
+ { 0x5F0F, 110705 },
+ { 0x5F10, 110709 },
+ { 0x5F11, 110713 },
+ { 0x5F12, 110717 },
+ { 0x5F13, 110721 },
+ { 0x5F14, 110725 },
+ { 0x5F15, 110729 },
+ { 0x5F16, 110733 },
+ { 0x5F17, 110737 },
+ { 0x5F18, 110273 },
+ { 0x5F19, 110277 },
+ { 0x5F1A, 110281 },
+ { 0x5F1B, 110285 },
+ { 0x5F1C, 110289 },
+ { 0x5F1D, 110293 },
+ { 0x5F1E, 110297 },
+ { 0x5F1F, 110301 },
+ { 0x5F20, 110305 },
+ { 0x5F21, 110309 },
+ { 0x5F22, 110313 },
+ { 0x5F23, 110317 },
+ { 0x5F24, 110321 },
+ { 0x5F25, 110325 },
+ { 0x5F26, 110329 },
+ { 0x5F27, 110333 },
+ { 0x5F28, 110337 },
+ { 0x5F29, 110341 },
+ { 0x5F2A, 110345 },
+ { 0x5F2B, 110349 },
+ { 0x5F2C, 110353 },
+ { 0x5F2D, 110357 },
+ { 0x5F2E, 110361 },
+ { 0x5F2F, 110365 },
+ { 0x5F30, 110369 },
+ { 0x5F31, 110373 },
+ { 0x5F32, 109967 },
+ { 0x5F33, 109972 },
+ { 0x5F34, 109977 },
+ { 0x5F35, 109982 },
+ { 0x5F36, 109987 },
+ { 0x5F37, 109992 },
+ { 0x5F38, 109997 },
+ { 0x5F39, 110002 },
+ { 0x5F3A, 110007 },
+ { 0x5F3B, 110012 },
+ { 0x5F3C, 110017 },
+ { 0x5F3D, 110022 },
+ { 0x5F3E, 110027 },
+ { 0x5F3F, 110032 },
+ { 0x5F40, 110037 },
+ { 0x5F41, 110042 },
+ { 0x5F42, 110047 },
+ { 0x5F43, 110052 },
+ { 0x5F44, 110057 },
+ { 0x5F45, 110062 },
+ { 0x5F46, 110067 },
+ { 0x5F47, 110072 },
+ { 0x5F48, 110077 },
+ { 0x5F49, 110082 },
+ { 0x5F4A, 110087 },
+ { 0x5F4B, 110092 },
+ { 0x5F4C, 109045 },
+ { 0x5F4D, 109050 },
+ { 0x5F4E, 109055 },
+ { 0x5F4F, 109060 },
+ { 0x5F50, 109065 },
+ { 0x5F51, 109070 },
+ { 0x5F52, 109075 },
+ { 0x5F53, 109080 },
+ { 0x5F54, 109085 },
+ { 0x5F55, 109090 },
+ { 0x5F56, 109095 },
+ { 0x5F57, 109100 },
+ { 0x5F58, 109105 },
+ { 0x5F59, 109110 },
+ { 0x5F5A, 109115 },
+ { 0x5F5B, 109120 },
+ { 0x5F5C, 109125 },
+ { 0x5F5D, 109130 },
+ { 0x5F5E, 109135 },
+ { 0x5F5F, 109140 },
+ { 0x5F60, 109145 },
+ { 0x5F61, 109150 },
+ { 0x5F62, 109155 },
+ { 0x5F63, 109160 },
+ { 0x5F64, 109165 },
+ { 0x5F65, 109170 },
+ { 0x5F66, 110507 },
+ { 0x5F67, 110512 },
+ { 0x5F68, 110517 },
+ { 0x5F69, 110522 },
+ { 0x5F6A, 110527 },
+ { 0x5F6B, 110532 },
+ { 0x5F6C, 110537 },
+ { 0x5F6D, 110542 },
+ { 0x5F6E, 110547 },
+ { 0x5F6F, 110552 },
+ { 0x5F70, 110557 },
+ { 0x5F71, 110562 },
+ { 0x5F72, 110567 },
+ { 0x5F73, 110572 },
+ { 0x5F74, 110577 },
+ { 0x5F75, 110582 },
+ { 0x5F76, 110587 },
+ { 0x5F77, 110592 },
+ { 0x5F78, 110597 },
+ { 0x5F79, 110602 },
+ { 0x5F7A, 110607 },
+ { 0x5F7B, 110612 },
+ { 0x5F7C, 110617 },
+ { 0x5F7D, 110622 },
+ { 0x5F7E, 110627 },
+ { 0x5F7F, 110632 },
+ { 0x5F80, 110377 },
+ { 0x5F81, 110382 },
+ { 0x5F82, 110387 },
+ { 0x5F83, 110392 },
+ { 0x5F84, 110397 },
+ { 0x5F85, 110402 },
+ { 0x5F86, 110407 },
+ { 0x5F87, 110412 },
+ { 0x5F88, 110417 },
+ { 0x5F89, 110422 },
+ { 0x5F8A, 110427 },
+ { 0x5F8B, 110432 },
+ { 0x5F8C, 110437 },
+ { 0x5F8D, 110442 },
+ { 0x5F8E, 110447 },
+ { 0x5F8F, 110452 },
+ { 0x5F90, 110457 },
+ { 0x5F91, 110462 },
+ { 0x5F92, 110467 },
+ { 0x5F93, 110472 },
+ { 0x5F94, 110477 },
+ { 0x5F95, 110482 },
+ { 0x5F96, 110487 },
+ { 0x5F97, 110492 },
+ { 0x5F98, 110497 },
+ { 0x5F99, 110502 },
+ { 0x5F9A, 109648 },
+ { 0x5F9B, 109654 },
+ { 0x5F9C, 109660 },
+ { 0x5F9D, 109666 },
+ { 0x5F9E, 109672 },
+ { 0x5F9F, 109678 },
+ { 0x5FA0, 109684 },
+ { 0x5FA1, 109690 },
+ { 0x5FA2, 109696 },
+ { 0x5FA3, 109702 },
+ { 0x5FA4, 109708 },
+ { 0x5FA5, 109714 },
+ { 0x5FA6, 109720 },
+ { 0x5FA7, 109726 },
+ { 0x5FA8, 109732 },
+ { 0x5FA9, 109738 },
+ { 0x5FAA, 109744 },
+ { 0x5FAB, 109750 },
+ { 0x5FAC, 109756 },
+ { 0x5FAD, 109762 },
+ { 0x5FAE, 109768 },
+ { 0x5FAF, 109774 },
+ { 0x5FB0, 109780 },
+ { 0x5FB1, 109786 },
+ { 0x5FB2, 109792 },
+ { 0x5FB3, 109798 },
+ { 0x5FB4, 109335 },
+ { 0x5FB5, 109341 },
+ { 0x5FB6, 109347 },
+ { 0x5FB7, 109353 },
+ { 0x5FB8, 109359 },
+ { 0x5FB9, 109365 },
+ { 0x5FBA, 109371 },
+ { 0x5FBB, 109377 },
+ { 0x5FBC, 109383 },
+ { 0x5FBD, 109389 },
+ { 0x5FBE, 109395 },
+ { 0x5FBF, 109401 },
+ { 0x5FC0, 109407 },
+ { 0x5FC1, 109413 },
+ { 0x5FC2, 109419 },
+ { 0x5FC3, 109425 },
+ { 0x5FC4, 109431 },
+ { 0x5FC5, 109437 },
+ { 0x5FC6, 109443 },
+ { 0x5FC7, 109449 },
+ { 0x5FC8, 109455 },
+ { 0x5FC9, 109461 },
+ { 0x5FCA, 109467 },
+ { 0x5FCB, 109473 },
+ { 0x5FCC, 109479 },
+ { 0x5FCD, 109485 },
+ { 0x5FCE, 108867 },
+ { 0x5FCF, 108871 },
+ { 0x5FD0, 108875 },
+ { 0x5FD1, 108879 },
+ { 0x5FD2, 108883 },
+ { 0x5FD3, 108887 },
+ { 0x5FD4, 108891 },
+ { 0x5FD5, 108895 },
+ { 0x5FD6, 108899 },
+ { 0x5FD7, 108903 },
+ { 0x5FD8, 108907 },
+ { 0x5FD9, 108911 },
+ { 0x5FDA, 108915 },
+ { 0x5FDB, 108919 },
+ { 0x5FDC, 108923 },
+ { 0x5FDD, 108927 },
+ { 0x5FDE, 108931 },
+ { 0x5FDF, 108935 },
+ { 0x5FE0, 108939 },
+ { 0x5FE1, 108943 },
+ { 0x5FE2, 108947 },
+ { 0x5FE3, 108951 },
+ { 0x5FE4, 108955 },
+ { 0x5FE5, 108959 },
+ { 0x5FE6, 108963 },
+ { 0x5FE7, 108967 },
+ { 0x5FE8, 108763 },
+ { 0x5FE9, 108767 },
+ { 0x5FEA, 108771 },
+ { 0x5FEB, 108775 },
+ { 0x5FEC, 108779 },
+ { 0x5FED, 108783 },
+ { 0x5FEE, 108787 },
+ { 0x5FEF, 108791 },
+ { 0x5FF0, 108795 },
+ { 0x5FF1, 108799 },
+ { 0x5FF2, 108803 },
+ { 0x5FF3, 108807 },
+ { 0x5FF4, 108811 },
+ { 0x5FF5, 108815 },
+ { 0x5FF6, 108819 },
+ { 0x5FF7, 108823 },
+ { 0x5FF8, 108827 },
+ { 0x5FF9, 108831 },
+ { 0x5FFA, 108835 },
+ { 0x5FFB, 108839 },
+ { 0x5FFC, 108843 },
+ { 0x5FFD, 108847 },
+ { 0x5FFE, 108851 },
+ { 0x5FFF, 108855 },
+ { 0x6000, 108859 },
+ { 0x6001, 108863 },
+ { 0x6002, 108126 },
+ { 0x6003, 108131 },
+ { 0x6004, 107549 },
+ { 0x6005, 107537 },
+ { 0x6006, 107557 },
+ { 0x6007, 107553 },
+ { 0x6008, 107590 },
+ { 0x6009, 107545 },
+ { 0x600A, 107517 },
+ { 0x600B, 107577 },
+ { 0x600C, 107541 },
+ { 0x600D, 107561 },
+ { 0x600E, 107565 },
+ { 0x600F, 107497 },
+ { 0x6010, 107501 },
+ { 0x6011, 107509 },
+ { 0x6012, 107594 },
+ { 0x6013, 107505 },
+ { 0x6014, 107529 },
+ { 0x6015, 107581 },
+ { 0x6016, 107573 },
+ { 0x6017, 107533 },
+ { 0x6018, 107598 },
+ { 0x6019, 107521 },
+ { 0x601A, 107513 },
+ { 0x601B, 107525 },
+ { 0x601C, 107569 },
+ { 0x601D, 106366 },
+ { 0x601E, 106525 },
+ { 0x601F, 106513 },
+ { 0x6020, 106538 },
+ { 0x6021, 106529 },
+ { 0x6022, 106566 },
+ { 0x6023, 106521 },
+ { 0x6024, 106493 },
+ { 0x6025, 106558 },
+ { 0x6026, 106517 },
+ { 0x6027, 106542 },
+ { 0x6028, 106546 },
+ { 0x6029, 106473 },
+ { 0x602A, 106477 },
+ { 0x602B, 106485 },
+ { 0x602C, 106570 },
+ { 0x602D, 106481 },
+ { 0x602E, 106505 },
+ { 0x602F, 106533 },
+ { 0x6030, 106554 },
+ { 0x6031, 106509 },
+ { 0x6032, 106574 },
+ { 0x6033, 106497 },
+ { 0x6034, 106489 },
+ { 0x6035, 106501 },
+ { 0x6036, 106550 },
+ { 0x6037, 107866 },
+ { 0x6038, 107602 },
+ { 0x6039, 106578 },
+ { 0x603A, 106362 },
+ { 0x603B, 106314 },
+ { 0x603C, 106318 },
+ { 0x603D, 106310 },
+ { 0x603E, 108308 },
+ { 0x603F, 108296 },
+ { 0x6040, 108316 },
+ { 0x6041, 108312 },
+ { 0x6042, 108345 },
+ { 0x6043, 108304 },
+ { 0x6044, 108276 },
+ { 0x6045, 108336 },
+ { 0x6046, 108300 },
+ { 0x6047, 108320 },
+ { 0x6048, 108324 },
+ { 0x6049, 108256 },
+ { 0x604A, 108260 },
+ { 0x604B, 108268 },
+ { 0x604C, 108349 },
+ { 0x604D, 108264 },
+ { 0x604E, 108288 },
+ { 0x604F, 108340 },
+ { 0x6050, 108332 },
+ { 0x6051, 108292 },
+ { 0x6052, 108353 },
+ { 0x6053, 108280 },
+ { 0x6054, 108272 },
+ { 0x6055, 108284 },
+ { 0x6056, 108328 },
+ { 0x6057, 107934 },
+ { 0x6058, 108089 },
+ { 0x6059, 108077 },
+ { 0x605A, 108102 },
+ { 0x605B, 108093 },
+ { 0x605C, 108136 },
+ { 0x605D, 108085 },
+ { 0x605E, 108057 },
+ { 0x605F, 108122 },
+ { 0x6060, 108081 },
+ { 0x6061, 108106 },
+ { 0x6062, 108110 },
+ { 0x6063, 108037 },
+ { 0x6064, 108041 },
+ { 0x6065, 108049 },
+ { 0x6066, 108140 },
+ { 0x6067, 108045 },
+ { 0x6068, 108069 },
+ { 0x6069, 108097 },
+ { 0x606A, 108118 },
+ { 0x606B, 108073 },
+ { 0x606C, 108144 },
+ { 0x606D, 108061 },
+ { 0x606E, 108053 },
+ { 0x606F, 108065 },
+ { 0x6070, 108114 },
+ { 0x6071, 108361 },
+ { 0x6072, 108357 },
+ { 0x6073, 108148 },
+ { 0x6074, 107930 },
+ { 0x6075, 107922 },
+ { 0x6076, 107926 },
+ { 0x6077, 107918 },
+ { 0x6078, 107062 },
+ { 0x6079, 107047 },
+ { 0x607A, 107072 },
+ { 0x607B, 107067 },
+ { 0x607C, 107108 },
+ { 0x607D, 107057 },
+ { 0x607E, 107022 },
+ { 0x607F, 107097 },
+ { 0x6080, 107052 },
+ { 0x6081, 107077 },
+ { 0x6082, 107082 },
+ { 0x6083, 106997 },
+ { 0x6084, 107002 },
+ { 0x6085, 107012 },
+ { 0x6086, 107113 },
+ { 0x6087, 107007 },
+ { 0x6088, 107037 },
+ { 0x6089, 107102 },
+ { 0x608A, 107092 },
+ { 0x608B, 107042 },
+ { 0x608C, 107118 },
+ { 0x608D, 107027 },
+ { 0x608E, 107017 },
+ { 0x608F, 107032 },
+ { 0x6090, 107087 },
+ { 0x6091, 106602 },
+ { 0x6092, 106801 },
+ { 0x6093, 106786 },
+ { 0x6094, 106817 },
+ { 0x6095, 106806 },
+ { 0x6096, 106847 },
+ { 0x6097, 106796 },
+ { 0x6098, 106761 },
+ { 0x6099, 106842 },
+ { 0x609A, 106791 },
+ { 0x609B, 106822 },
+ { 0x609C, 106827 },
+ { 0x609D, 106736 },
+ { 0x609E, 106741 },
+ { 0x609F, 106751 },
+ { 0x60A0, 106852 },
+ { 0x60A1, 106746 },
+ { 0x60A2, 106776 },
+ { 0x60A3, 106811 },
+ { 0x60A4, 106837 },
+ { 0x60A5, 106781 },
+ { 0x60A6, 106857 },
+ { 0x60A7, 106766 },
+ { 0x60A8, 106756 },
+ { 0x60A9, 106771 },
+ { 0x60AA, 106832 },
+ { 0x60AB, 107128 },
+ { 0x60AC, 107123 },
+ { 0x60AD, 106862 },
+ { 0x60AE, 106597 },
+ { 0x60AF, 106587 },
+ { 0x60B0, 106592 },
+ { 0x60B1, 106582 },
+ { 0x60B2, 110162 },
+ { 0x60B3, 110147 },
+ { 0x60B4, 110172 },
+ { 0x60B5, 110167 },
+ { 0x60B6, 110208 },
+ { 0x60B7, 110157 },
+ { 0x60B8, 110122 },
+ { 0x60B9, 110197 },
+ { 0x60BA, 110152 },
+ { 0x60BB, 110177 },
+ { 0x60BC, 110182 },
+ { 0x60BD, 110097 },
+ { 0x60BE, 110102 },
+ { 0x60BF, 110112 },
+ { 0x60C0, 110213 },
+ { 0x60C1, 110107 },
+ { 0x60C2, 110137 },
+ { 0x60C3, 110202 },
+ { 0x60C4, 110192 },
+ { 0x60C5, 110142 },
+ { 0x60C6, 110218 },
+ { 0x60C7, 110127 },
+ { 0x60C8, 110117 },
+ { 0x60C9, 110132 },
+ { 0x60CA, 110187 },
+ { 0x60CB, 109041 },
+ { 0x60CC, 109240 },
+ { 0x60CD, 109225 },
+ { 0x60CE, 109256 },
+ { 0x60CF, 109245 },
+ { 0x60D0, 109286 },
+ { 0x60D1, 109235 },
+ { 0x60D2, 109200 },
+ { 0x60D3, 109281 },
+ { 0x60D4, 109230 },
+ { 0x60D5, 109261 },
+ { 0x60D6, 109266 },
+ { 0x60D7, 109175 },
+ { 0x60D8, 109180 },
+ { 0x60D9, 109190 },
+ { 0x60DA, 109291 },
+ { 0x60DB, 109185 },
+ { 0x60DC, 109215 },
+ { 0x60DD, 109250 },
+ { 0x60DE, 109276 },
+ { 0x60DF, 109220 },
+ { 0x60E0, 109296 },
+ { 0x60E1, 109205 },
+ { 0x60E2, 109195 },
+ { 0x60E3, 109210 },
+ { 0x60E4, 109271 },
+ { 0x60E5, 110228 },
+ { 0x60E6, 110223 },
+ { 0x60E7, 109301 },
+ { 0x60E8, 109036 },
+ { 0x60E9, 108976 },
+ { 0x60EA, 108981 },
+ { 0x60EB, 108971 },
+ { 0x60EC, 109882 },
+ { 0x60ED, 109864 },
+ { 0x60EE, 109894 },
+ { 0x60EF, 109888 },
+ { 0x60F0, 109937 },
+ { 0x60F1, 109876 },
+ { 0x60F2, 109834 },
+ { 0x60F3, 109924 },
+ { 0x60F4, 109870 },
+ { 0x60F5, 109900 },
+ { 0x60F6, 109906 },
+ { 0x60F7, 109804 },
+ { 0x60F8, 109810 },
+ { 0x60F9, 109822 },
+ { 0x60FA, 109943 },
+ { 0x60FB, 109816 },
+ { 0x60FC, 109852 },
+ { 0x60FD, 109930 },
+ { 0x60FE, 109918 },
+ { 0x60FF, 109858 },
+ { 0x6100, 109949 },
+ { 0x6101, 109840 },
+ { 0x6102, 109828 },
+ { 0x6103, 109846 },
+ { 0x6104, 109912 },
+ { 0x6105, 109330 },
+ { 0x6106, 109569 },
+ { 0x6107, 109551 },
+ { 0x6108, 109588 },
+ { 0x6109, 109575 },
+ { 0x610A, 109624 },
+ { 0x610B, 109563 },
+ { 0x610C, 109521 },
+ { 0x610D, 109618 },
+ { 0x610E, 109557 },
+ { 0x610F, 109594 },
+ { 0x6110, 109600 },
+ { 0x6111, 109491 },
+ { 0x6112, 109497 },
+ { 0x6113, 109509 },
+ { 0x6114, 109630 },
+ { 0x6115, 109503 },
+ { 0x6116, 109539 },
+ { 0x6117, 109581 },
+ { 0x6118, 109612 },
+ { 0x6119, 109545 },
+ { 0x611A, 109636 },
+ { 0x611B, 109527 },
+ { 0x611C, 109515 },
+ { 0x611D, 109533 },
+ { 0x611E, 109606 },
+ { 0x611F, 109961 },
+ { 0x6120, 109955 },
+ { 0x6121, 109642 },
+ { 0x6122, 109324 },
+ { 0x6123, 109312 },
+ { 0x6124, 109318 },
+ { 0x6125, 109306 },
+ { 0x6126, 107586 },
+ { 0x6127, 106562 },
+ { 0x6128, 106346 },
+ { 0x6129, 106322 },
+ { 0x612A, 106330 },
+ { 0x612B, 106358 },
+ { 0x612C, 106338 },
+ { 0x612D, 106334 },
+ { 0x612E, 106326 },
+ { 0x612F, 106354 },
+ { 0x6130, 106350 },
+ { 0x6131, 106342 },
+ { 0x6132, 110765 },
+ { 0x6133, 110741 },
+ { 0x6134, 110749 },
+ { 0x6135, 110777 },
+ { 0x6136, 110757 },
+ { 0x6137, 110753 },
+ { 0x6138, 110745 },
+ { 0x6139, 110773 },
+ { 0x613A, 110769 },
+ { 0x613B, 110761 },
+ { 0x613C, 110257 },
+ { 0x613D, 110233 },
+ { 0x613E, 110241 },
+ { 0x613F, 110269 },
+ { 0x6140, 110249 },
+ { 0x6141, 110245 },
+ { 0x6142, 110237 },
+ { 0x6143, 110265 },
+ { 0x6144, 110261 },
+ { 0x6145, 110253 },
+ { 0x6146, 109016 },
+ { 0x6147, 108986 },
+ { 0x6148, 108996 },
+ { 0x6149, 109031 },
+ { 0x614A, 109006 },
+ { 0x614B, 109001 },
+ { 0x614C, 108991 },
+ { 0x614D, 109026 },
+ { 0x614E, 109021 },
+ { 0x614F, 109011 },
+ { 0x6150, 108747 },
+ { 0x6151, 108723 },
+ { 0x6152, 108731 },
+ { 0x6153, 108759 },
+ { 0x6154, 108739 },
+ { 0x6155, 108735 },
+ { 0x6156, 108727 },
+ { 0x6157, 108755 },
+ { 0x6158, 108751 },
+ { 0x6159, 108743 },
+ { 0x615A, 103385 },
+ { 0x615B, 104531 },
+ { 0x615C, 103178 },
+ { 0x615D, 104263 },
+ { 0x615E, 104430 },
+ { 0x615F, 104306 },
+ { 0x6160, 103410 },
+ { 0x6161, 104534 },
+ { 0x6162, 103860 },
+ { 0x6163, 103808 },
+ { 0x6164, 103559 },
+ { 0x6165, 103563 },
+ { 0x6166, 103567 },
+ { 0x6167, 104543 },
+ { 0x6168, 103586 },
+ { 0x6169, 104547 },
+ { 0x616A, 103598 },
+ { 0x616B, 103706 },
+ { 0x616C, 103688 },
+ { 0x616D, 103388 },
+ { 0x616E, 103572 },
+ { 0x616F, 103731 },
+ { 0x6170, 103736 },
+ { 0x6171, 103801 },
+ { 0x6172, 103773 },
+ { 0x6173, 103787 },
+ { 0x6174, 103712 },
+ { 0x6175, 104572 },
+ { 0x6176, 103970 },
+ { 0x6177, 103414 },
+ { 0x6178, 103633 },
+ { 0x6179, 104562 },
+ { 0x617A, 103724 },
+ { 0x617B, 103603 },
+ { 0x617C, 103638 },
+ { 0x617D, 103693 },
+ { 0x617E, 103394 },
+ { 0x617F, 103402 },
+ { 0x6180, 103578 },
+ { 0x6181, 103590 },
+ { 0x6182, 103657 },
+ { 0x6183, 103675 },
+ { 0x6184, 103669 },
+ { 0x6185, 103663 },
+ { 0x6186, 103890 },
+ { 0x6187, 103743 },
+ { 0x6188, 103758 },
+ { 0x6189, 103750 },
+ { 0x618A, 104015 },
+ { 0x618B, 103519 },
+ { 0x618C, 103793 },
+ { 0x618D, 103717 },
+ { 0x618E, 103766 },
+ { 0x618F, 103779 },
+ { 0x6190, 104008 },
+ { 0x6191, 103512 },
+ { 0x6192, 104027 },
+ { 0x6193, 104034 },
+ { 0x6194, 103499 },
+ { 0x6195, 103491 },
+ { 0x6196, 103533 },
+ { 0x6197, 103681 },
+ { 0x6198, 103650 },
+ { 0x6199, 103644 },
+ { 0x619A, 103985 },
+ { 0x619B, 103993 },
+ { 0x619C, 104001 },
+ { 0x619D, 103526 },
+ { 0x619E, 104099 },
+ { 0x619F, 104103 },
+ { 0x61A0, 104108 },
+ { 0x61A1, 104113 },
+ { 0x61A2, 104118 },
+ { 0x61A3, 103301 },
+ { 0x61A4, 103336 },
+ { 0x61A5, 104396 },
+ { 0x61A6, 104052 },
+ { 0x61A7, 104127 },
+ { 0x61A8, 104063 },
+ { 0x61A9, 104140 },
+ { 0x61AA, 104057 },
+ { 0x61AB, 104133 },
+ { 0x61AC, 104070 },
+ { 0x61AD, 103149 },
+ { 0x61AE, 103154 },
+ { 0x61AF, 104390 },
+ { 0x61B0, 104254 },
+ { 0x61B1, 104077 },
+ { 0x61B2, 104091 },
+ { 0x61B3, 104083 },
+ { 0x61B4, 104050 },
+ { 0x61B5, 104192 },
+ { 0x61B6, 104124 },
+ { 0x61B7, 104184 },
+ { 0x61B8, 104148 },
+ { 0x61B9, 104180 },
+ { 0x61BA, 104188 },
+ { 0x61BB, 104153 },
+ { 0x61BC, 104159 },
+ { 0x61BD, 104163 },
+ { 0x61BE, 104169 },
+ { 0x61BF, 104176 },
+ { 0x61C0, 103295 },
+ { 0x61C1, 103313 },
+ { 0x61C2, 103297 },
+ { 0x61C3, 103317 },
+ { 0x61C4, 104245 },
+ { 0x61C5, 104197 },
+ { 0x61C6, 103160 },
+ { 0x61C7, 103143 },
+ { 0x61C8, 103168 },
+ { 0x61C9, 103195 },
+ { 0x61CA, 103163 },
+ { 0x61CB, 103145 },
+ { 0x61CC, 103173 },
+ { 0x61CD, 103199 },
+ { 0x61CE, 104604 },
+ { 0x61CF, 104602 },
+ { 0x61D0, 104525 },
+ { 0x61D1, 104248 },
+ { 0x61D2, 104266 },
+ { 0x61D3, 104250 },
+ { 0x61D4, 104270 },
+ { 0x61D5, 104401 },
+ { 0x61D6, 104414 },
+ { 0x61D7, 104384 },
+ { 0x61D8, 104482 },
+ { 0x61D9, 104409 },
+ { 0x61DA, 104485 },
+ { 0x61DB, 104404 },
+ { 0x61DC, 104386 },
+ { 0x61DD, 104489 },
+ { 0x61DE, 104495 },
+ { 0x61DF, 104292 },
+ { 0x61E0, 103610 },
+ { 0x61E1, 104551 },
+ { 0x61E2, 104466 },
+ { 0x61E3, 104334 },
+ { 0x61E4, 104501 },
+ { 0x61E5, 103615 },
+ { 0x61E6, 103621 },
+ { 0x61E7, 104471 },
+ { 0x61E8, 103915 },
+ { 0x61E9, 103931 },
+ { 0x61EA, 103925 },
+ { 0x61EB, 103919 },
+ { 0x61EC, 103907 },
+ { 0x61ED, 103872 },
+ { 0x61EE, 104577 },
+ { 0x61EF, 104274 },
+ { 0x61F0, 104344 },
+ { 0x61F1, 103950 },
+ { 0x61F2, 103911 },
+ { 0x61F3, 103955 },
+ { 0x61F4, 103946 },
+ { 0x61F5, 104513 },
+ { 0x61F6, 103941 },
+ { 0x61F7, 104508 },
+ { 0x61F8, 104359 },
+ { 0x61F9, 104352 },
+ { 0x61FA, 103937 },
+ { 0x61FB, 104581 },
+ { 0x61FC, 104504 },
+ { 0x61FD, 104348 },
+ { 0x61FE, 103701 },
+ { 0x61FF, 104567 },
+ { 0x6200, 104477 },
+ { 0x6201, 104419 },
+ { 0x6202, 104339 },
+ { 0x6203, 103627 },
+ { 0x6204, 104556 },
+ { 0x6205, 103349 },
+ { 0x6206, 104422 },
+ { 0x6207, 104294 },
+ { 0x6208, 103345 },
+ { 0x6209, 103380 },
+ { 0x620A, 103361 },
+ { 0x620B, 104527 },
+ { 0x620C, 104259 },
+ { 0x620D, 104302 },
+ { 0x620E, 103365 },
+ { 0x620F, 103375 },
+ { 0x6210, 103369 },
+ { 0x6211, 103353 },
+ { 0x6212, 103357 },
+ { 0x6213, 104199 },
+ { 0x6214, 103420 },
+ { 0x6215, 104538 },
+ { 0x6216, 104607 },
+ { 0x6217, 104209 },
+ { 0x6218, 104203 },
+ { 0x6219, 104215 },
+ { 0x621A, 103181 },
+ { 0x621B, 104433 },
+ { 0x621C, 104314 },
+ { 0x621D, 104309 },
+ { 0x621E, 103976 },
+ { 0x621F, 104517 },
+ { 0x6220, 103960 },
+ { 0x6221, 104585 },
+ { 0x6222, 104045 },
+ { 0x6223, 103964 },
+ { 0x6224, 104241 },
+ { 0x6225, 104022 },
+ { 0x6226, 104041 },
+ { 0x6227, 103980 },
+ { 0x6228, 104589 },
+ { 0x6229, 104613 },
+ { 0x622A, 103203 },
+ { 0x622B, 104520 },
+ { 0x622C, 104378 },
+ { 0x622D, 104372 },
+ { 0x622E, 104367 },
+ { 0x622F, 104594 },
+ { 0x6230, 103321 },
+ { 0x6231, 103327 },
+ { 0x6232, 104234 },
+ { 0x6233, 104227 },
+ { 0x6234, 104221 },
+ { 0x6235, 104462 },
+ { 0x6236, 103430 },
+ { 0x6237, 104447 },
+ { 0x6238, 103463 },
+ { 0x6239, 103470 },
+ { 0x623A, 103456 },
+ { 0x623B, 103442 },
+ { 0x623C, 103435 },
+ { 0x623D, 103449 },
+ { 0x623E, 103547 },
+ { 0x623F, 103540 },
+ { 0x6240, 103425 },
+ { 0x6241, 103554 },
+ { 0x6242, 103484 },
+ { 0x6243, 103306 },
+ { 0x6244, 103477 },
+ { 0x6245, 103507 },
+ { 0x6246, 103186 },
+ { 0x6247, 103190 },
+ { 0x6248, 104442 },
+ { 0x6249, 104452 },
+ { 0x624A, 104438 },
+ { 0x624B, 104457 },
+ { 0x624C, 104329 },
+ { 0x624D, 104324 },
+ { 0x624E, 104320 },
+ { 0x624F, 103813 },
+ { 0x6250, 103816 },
+ { 0x6251, 103838 },
+ { 0x6252, 103843 },
+ { 0x6253, 103833 },
+ { 0x6254, 103903 },
+ { 0x6255, 103884 },
+ { 0x6256, 103897 },
+ { 0x6257, 103878 },
+ { 0x6258, 103848 },
+ { 0x6259, 103820 },
+ { 0x625A, 103866 },
+ { 0x625B, 103854 },
+ { 0x625C, 103826 },
+ { 0x625D, 103334 },
+ { 0x625E, 103342 },
+ { 0x625F, 102956 },
+ { 0x6260, 102962 },
+ { 0x6261, 102959 },
+ { 0x6262, 102801 },
+ { 0x6263, 102807 },
+ { 0x6264, 102804 },
+ { 0x6265, 103009 },
+ { 0x6266, 103015 },
+ { 0x6267, 103012 },
+ { 0x6268, 102769 },
+ { 0x6269, 102775 },
+ { 0x626A, 102772 },
+ { 0x626B, 102618 },
+ { 0x626C, 102624 },
+ { 0x626D, 102621 },
+ { 0x626E, 103119 },
+ { 0x626F, 103116 },
+ { 0x6270, 103097 },
+ { 0x6271, 103105 },
+ { 0x6272, 103101 },
+ { 0x6273, 103109 },
+ { 0x6274, 103113 },
+ { 0x6275, 102782 },
+ { 0x6276, 102790 },
+ { 0x6277, 102786 },
+ { 0x6278, 102794 },
+ { 0x6279, 102798 },
+ { 0x627A, 103093 },
+ { 0x627B, 104619 },
+ { 0x627C, 104624 },
+ { 0x627D, 104641 },
+ { 0x627E, 104645 },
+ { 0x627F, 104629 },
+ { 0x6280, 104635 },
+ { 0x6281, 104649 },
+ { 0x6282, 105170 },
+ { 0x6283, 105624 },
+ { 0x6284, 105184 },
+ { 0x6285, 105189 },
+ { 0x6286, 105179 },
+ { 0x6287, 105194 },
+ { 0x6288, 105174 },
+ { 0x6289, 105146 },
+ { 0x628A, 105141 },
+ { 0x628B, 105150 },
+ { 0x628C, 105154 },
+ { 0x628D, 105020 },
+ { 0x628E, 105204 },
+ { 0x628F, 105199 },
+ { 0x6290, 105209 },
+ { 0x6291, 105213 },
+ { 0x6292, 104884 },
+ { 0x6293, 104888 },
+ { 0x6294, 104880 },
+ { 0x6295, 105119 },
+ { 0x6296, 105123 },
+ { 0x6297, 105115 },
+ { 0x6298, 105127 },
+ { 0x6299, 105012 },
+ { 0x629A, 105016 },
+ { 0x629B, 105008 },
+ { 0x629C, 104869 },
+ { 0x629D, 104873 },
+ { 0x629E, 104865 },
+ { 0x629F, 105223 },
+ { 0x62A0, 105227 },
+ { 0x62A1, 105219 },
+ { 0x62A2, 105095 },
+ { 0x62A3, 105099 },
+ { 0x62A4, 105091 },
+ { 0x62A5, 104688 },
+ { 0x62A6, 104684 },
+ { 0x62A7, 104692 },
+ { 0x62A8, 104700 },
+ { 0x62A9, 104696 },
+ { 0x62AA, 104704 },
+ { 0x62AB, 104681 },
+ { 0x62AC, 104671 },
+ { 0x62AD, 104666 },
+ { 0x62AE, 104676 },
+ { 0x62AF, 104729 },
+ { 0x62B0, 104733 },
+ { 0x62B1, 104725 },
+ { 0x62B2, 104737 },
+ { 0x62B3, 104785 },
+ { 0x62B4, 104789 },
+ { 0x62B5, 104781 },
+ { 0x62B6, 104793 },
+ { 0x62B7, 104746 },
+ { 0x62B8, 104751 },
+ { 0x62B9, 104741 },
+ { 0x62BA, 104756 },
+ { 0x62BB, 104766 },
+ { 0x62BC, 104771 },
+ { 0x62BD, 104761 },
+ { 0x62BE, 104776 },
+ { 0x62BF, 105638 },
+ { 0x62C0, 105643 },
+ { 0x62C1, 105633 },
+ { 0x62C2, 105648 },
+ { 0x62C3, 105628 },
+ { 0x62C4, 105596 },
+ { 0x62C5, 105591 },
+ { 0x62C6, 105600 },
+ { 0x62C7, 105604 },
+ { 0x62C8, 105506 },
+ { 0x62C9, 105658 },
+ { 0x62CA, 105653 },
+ { 0x62CB, 105669 },
+ { 0x62CC, 105663 },
+ { 0x62CD, 105342 },
+ { 0x62CE, 105583 },
+ { 0x62CF, 105587 },
+ { 0x62D0, 105579 },
+ { 0x62D1, 105503 },
+ { 0x62D2, 105331 },
+ { 0x62D3, 105335 },
+ { 0x62D4, 105327 },
+ { 0x62D5, 105678 },
+ { 0x62D6, 105682 },
+ { 0x62D7, 105674 },
+ { 0x62D8, 105557 },
+ { 0x62D9, 105561 },
+ { 0x62DA, 105553 },
+ { 0x62DB, 104816 },
+ { 0x62DC, 104812 },
+ { 0x62DD, 104820 },
+ { 0x62DE, 104804 },
+ { 0x62DF, 104800 },
+ { 0x62E0, 104808 },
+ { 0x62E1, 104797 },
+ { 0x62E2, 105044 },
+ { 0x62E3, 105049 },
+ { 0x62E4, 105039 },
+ { 0x62E5, 105054 },
+ { 0x62E6, 105064 },
+ { 0x62E7, 105069 },
+ { 0x62E8, 105059 },
+ { 0x62E9, 105074 },
+ { 0x62EA, 105079 },
+ { 0x62EB, 105085 },
+ { 0x62EC, 104896 },
+ { 0x62ED, 104900 },
+ { 0x62EE, 104892 },
+ { 0x62EF, 104919 },
+ { 0x62F0, 104928 },
+ { 0x62F1, 104915 },
+ { 0x62F2, 104923 },
+ { 0x62F3, 104949 },
+ { 0x62F4, 104955 },
+ { 0x62F5, 104943 },
+ { 0x62F6, 104967 },
+ { 0x62F7, 104973 },
+ { 0x62F8, 104961 },
+ { 0x62F9, 105023 },
+ { 0x62FA, 105131 },
+ { 0x62FB, 105136 },
+ { 0x62FC, 105248 },
+ { 0x62FD, 105234 },
+ { 0x62FE, 105262 },
+ { 0x62FF, 105231 },
+ { 0x6300, 105033 },
+ { 0x6301, 104909 },
+ { 0x6302, 104937 },
+ { 0x6303, 104984 },
+ { 0x6304, 105256 },
+ { 0x6305, 105242 },
+ { 0x6306, 105270 },
+ { 0x6307, 105028 },
+ { 0x6308, 104904 },
+ { 0x6309, 104932 },
+ { 0x630A, 104979 },
+ { 0x630B, 105251 },
+ { 0x630C, 105237 },
+ { 0x630D, 105265 },
+ { 0x630E, 104996 },
+ { 0x630F, 105002 },
+ { 0x6310, 104990 },
+ { 0x6311, 105539 },
+ { 0x6312, 105533 },
+ { 0x6313, 105393 },
+ { 0x6314, 105379 },
+ { 0x6315, 105400 },
+ { 0x6316, 105386 },
+ { 0x6317, 105460 },
+ { 0x6318, 105446 },
+ { 0x6319, 105453 },
+ { 0x631A, 105439 },
+ { 0x631B, 105497 },
+ { 0x631C, 105491 },
+ { 0x631D, 105711 },
+ { 0x631E, 105698 },
+ { 0x631F, 105724 },
+ { 0x6320, 105527 },
+ { 0x6321, 105521 },
+ { 0x6322, 105356 },
+ { 0x6323, 105349 },
+ { 0x6324, 105371 },
+ { 0x6325, 105363 },
+ { 0x6326, 105432 },
+ { 0x6327, 105418 },
+ { 0x6328, 105425 },
+ { 0x6329, 105411 },
+ { 0x632A, 105485 },
+ { 0x632B, 105479 },
+ { 0x632C, 105706 },
+ { 0x632D, 105693 },
+ { 0x632E, 105719 },
+ { 0x632F, 105513 },
+ { 0x6330, 105517 },
+ { 0x6331, 105509 },
+ { 0x6332, 105545 },
+ { 0x6333, 105549 },
+ { 0x6334, 105345 },
+ { 0x6335, 105407 },
+ { 0x6336, 105475 },
+ { 0x6337, 105471 },
+ { 0x6338, 105467 },
+ { 0x6339, 105703 },
+ { 0x633A, 105690 },
+ { 0x633B, 105716 },
+ { 0x633C, 105686 },
+ { 0x633D, 104847 },
+ { 0x633E, 104859 },
+ { 0x633F, 104841 },
+ { 0x6340, 104853 },
+ { 0x6341, 105303 },
+ { 0x6342, 105319 },
+ { 0x6343, 105287 },
+ { 0x6344, 105295 },
+ { 0x6345, 105311 },
+ { 0x6346, 105279 },
+ { 0x6347, 105109 },
+ { 0x6348, 105103 },
+ { 0x6349, 105572 },
+ { 0x634A, 105565 },
+ { 0x634B, 105165 },
+ { 0x634C, 105160 },
+ { 0x634D, 105617 },
+ { 0x634E, 105610 },
+ { 0x634F, 103082 },
+ { 0x6350, 103078 },
+ { 0x6351, 103058 },
+ { 0x6352, 103061 },
+ { 0x6353, 103069 },
+ { 0x6354, 103075 },
+ { 0x6355, 103086 },
+ { 0x6356, 103089 },
+ { 0x6357, 103064 },
+ { 0x6358, 103072 },
+ { 0x6359, 102698 },
+ { 0x635A, 102700 },
+ { 0x635B, 102715 },
+ { 0x635C, 102707 },
+ { 0x635D, 102723 },
+ { 0x635E, 102711 },
+ { 0x635F, 102719 },
+ { 0x6360, 102703 },
+ { 0x6361, 102671 },
+ { 0x6362, 102654 },
+ { 0x6363, 102662 },
+ { 0x6364, 103122 },
+ { 0x6365, 103130 },
+ { 0x6366, 103126 },
+ { 0x6367, 103002 },
+ { 0x6368, 102992 },
+ { 0x6369, 102987 },
+ { 0x636A, 102997 },
+ { 0x636B, 103137 },
+ { 0x636C, 103134 },
+ { 0x636D, 103140 },
+ { 0x636E, 102637 },
+ { 0x636F, 102647 },
+ { 0x6370, 102644 },
+ { 0x6371, 102600 },
+ { 0x6372, 102604 },
+ { 0x6373, 102629 },
+ { 0x6374, 102640 },
+ { 0x6375, 102633 },
+ { 0x6376, 102650 },
+ { 0x6377, 102597 },
+ { 0x6378, 103286 },
+ { 0x6379, 103289 },
+ { 0x637A, 103292 },
+ { 0x637B, 104714 },
+ { 0x637C, 104717 },
+ { 0x637D, 104721 },
+ { 0x637E, 104827 },
+ { 0x637F, 104830 },
+ { 0x6380, 104834 },
+ { 0x6381, 104708 },
+ { 0x6382, 104824 },
+ { 0x6383, 104711 },
+ { 0x6384, 102978 },
+ { 0x6385, 102984 },
+ { 0x6386, 102981 },
+ { 0x6387, 102948 },
+ { 0x6388, 102952 },
+ { 0x6389, 102944 },
+ { 0x638A, 102627 },
+ { 0x638B, 102760 },
+ { 0x638C, 102757 },
+ { 0x638D, 102766 },
+ { 0x638E, 102763 },
+ { 0x638F, 102589 },
+ { 0x6390, 102593 },
+ { 0x6391, 102579 },
+ { 0x6392, 102584 },
+ { 0x6393, 102975 },
+ { 0x6394, 102972 },
+ { 0x6395, 102902 },
+ { 0x6396, 102898 },
+ { 0x6397, 102894 },
+ { 0x6398, 102872 },
+ { 0x6399, 102879 },
+ { 0x639A, 102875 },
+ { 0x639B, 102861 },
+ { 0x639C, 102868 },
+ { 0x639D, 102864 },
+ { 0x639E, 102835 },
+ { 0x639F, 102839 },
+ { 0x63A0, 102843 },
+ { 0x63A1, 102821 },
+ { 0x63A2, 102830 },
+ { 0x63A3, 102825 },
+ { 0x63A4, 102847 },
+ { 0x63A5, 102856 },
+ { 0x63A6, 102851 },
+ { 0x63A7, 102810 },
+ { 0x63A8, 102813 },
+ { 0x63A9, 102817 },
+ { 0x63AA, 102883 },
+ { 0x63AB, 102890 },
+ { 0x63AC, 102886 },
+ { 0x63AD, 102751 },
+ { 0x63AE, 102608 },
+ { 0x63AF, 102613 },
+ { 0x63B0, 102906 },
+ { 0x63B1, 102913 },
+ { 0x63B2, 102909 },
+ { 0x63B3, 103053 },
+ { 0x63B4, 103049 },
+ { 0x63B5, 103018 },
+ { 0x63B6, 103023 },
+ { 0x63B7, 103044 },
+ { 0x63B8, 103029 },
+ { 0x63B9, 103039 },
+ { 0x63BA, 103034 },
+ { 0x63BB, 102917 },
+ { 0x63BC, 102941 },
+ { 0x63BD, 102928 },
+ { 0x63BE, 102932 },
+ { 0x63BF, 102919 },
+ { 0x63C0, 102923 },
+ { 0x63C1, 102937 },
+ { 0x63C2, 104877 },
+ { 0x63C3, 105339 },
+ { 0x63C4, 102755 },
+ { 0x63C5, 102696 },
+ { 0x63C6, 104285 },
+ { 0x63C7, 103273 },
+ { 0x63C8, 103277 },
+ { 0x63C9, 104280 },
+ { 0x63CA, 104287 },
+ { 0x63CB, 103281 },
+ { 0x63CC, 104659 },
+ { 0x63CD, 104655 },
+ { 0x63CE, 104663 },
+ { 0x63CF, 102965 },
+ { 0x63D0, 102748 },
+ { 0x63D1, 102727 },
+ { 0x63D2, 102730 },
+ { 0x63D3, 102733 },
+ { 0x63D4, 102736 },
+ { 0x63D5, 102739 },
+ { 0x63D6, 102742 },
+ { 0x63D7, 102745 },
+ { 0x63D8, 103007 },
+ { 0x63D9, 104838 },
+ { 0x63DA, 105276 },
+ { 0x63DB, 103225 },
+ { 0x63DC, 103222 },
+ { 0x63DD, 103212 },
+ { 0x63DE, 103208 },
+ { 0x63DF, 103219 },
+ { 0x63E0, 103215 },
+ { 0x63E1, 102780 },
+ { 0x63E2, 102693 },
+ { 0x63E3, 104278 },
+ { 0x63E4, 102778 },
+ { 0x63E5, 104600 },
+ { 0x63E6, 102678 },
+ { 0x63E7, 102681 },
+ { 0x63E8, 102684 },
+ { 0x63E9, 102687 },
+ { 0x63EA, 102690 },
+ { 0x63EB, 103228 },
+ { 0x63EC, 103231 },
+ { 0x63ED, 103234 },
+ { 0x63EE, 103237 },
+ { 0x63EF, 103240 },
+ { 0x63F0, 103243 },
+ { 0x63F1, 103246 },
+ { 0x63F2, 103249 },
+ { 0x63F3, 103252 },
+ { 0x63F4, 103255 },
+ { 0x63F5, 103258 },
+ { 0x63F6, 103261 },
+ { 0x63F7, 103264 },
+ { 0x63F8, 103267 },
+ { 0x63F9, 103270 },
+ { 0x63FA, 30784 },
+ { 0x63FB, 30789 },
+ { 0x63FC, 30794 },
+ { 0x63FD, 31104 },
+ { 0x63FE, 31255 },
+ { 0x63FF, 31159 },
+ { 0x6400, 31019 },
+ { 0x6401, 31681 },
+ { 0x6402, 30799 },
+ { 0x6403, 30804 },
+ { 0x6404, 30809 },
+ { 0x6405, 31413 },
+ { 0x6406, 31373 },
+ { 0x6407, 31353 },
+ { 0x6408, 31004 },
+ { 0x6409, 31757 },
+ { 0x640A, 31499 },
+ { 0x640B, 31084 },
+ { 0x640C, 31024 },
+ { 0x640D, 31478 },
+ { 0x640E, 30814 },
+ { 0x640F, 30819 },
+ { 0x6410, 30824 },
+ { 0x6411, 31074 },
+ { 0x6412, 31250 },
+ { 0x6413, 31554 },
+ { 0x6414, 31732 },
+ { 0x6415, 30829 },
+ { 0x6416, 30834 },
+ { 0x6417, 30839 },
+ { 0x6418, 31534 },
+ { 0x6419, 31265 },
+ { 0x641A, 31295 },
+ { 0x641B, 31473 },
+ { 0x641C, 30844 },
+ { 0x641D, 30849 },
+ { 0x641E, 30854 },
+ { 0x641F, 31600 },
+ { 0x6420, 31280 },
+ { 0x6421, 31610 },
+ { 0x6422, 31519 },
+ { 0x6423, 31468 },
+ { 0x6424, 31438 },
+ { 0x6425, 31458 },
+ { 0x6426, 31762 },
+ { 0x6427, 31676 },
+ { 0x6428, 30874 },
+ { 0x6429, 30879 },
+ { 0x642A, 30884 },
+ { 0x642B, 31595 },
+ { 0x642C, 31363 },
+ { 0x642D, 31463 },
+ { 0x642E, 31174 },
+ { 0x642F, 31767 },
+ { 0x6430, 30904 },
+ { 0x6431, 30909 },
+ { 0x6432, 30914 },
+ { 0x6433, 31199 },
+ { 0x6434, 31144 },
+ { 0x6435, 31049 },
+ { 0x6436, 31549 },
+ { 0x6437, 31332 },
+ { 0x6438, 30859 },
+ { 0x6439, 30864 },
+ { 0x643A, 30869 },
+ { 0x643B, 31225 },
+ { 0x643C, 31686 },
+ { 0x643D, 31691 },
+ { 0x643E, 30889 },
+ { 0x643F, 30894 },
+ { 0x6440, 30899 },
+ { 0x6441, 31235 },
+ { 0x6442, 31054 },
+ { 0x6443, 31300 },
+ { 0x6444, 31124 },
+ { 0x6445, 30919 },
+ { 0x6446, 30924 },
+ { 0x6447, 30929 },
+ { 0x6448, 31569 },
+ { 0x6449, 31348 },
+ { 0x644A, 31584 },
+ { 0x644B, 31094 },
+ { 0x644C, 31660 },
+ { 0x644D, 30934 },
+ { 0x644E, 30939 },
+ { 0x644F, 30944 },
+ { 0x6450, 31327 },
+ { 0x6451, 31179 },
+ { 0x6452, 31488 },
+ { 0x6453, 31388 },
+ { 0x6454, 30949 },
+ { 0x6455, 30954 },
+ { 0x6456, 30959 },
+ { 0x6457, 31169 },
+ { 0x6458, 31154 },
+ { 0x6459, 31448 },
+ { 0x645A, 31220 },
+ { 0x645B, 31772 },
+ { 0x645C, 31285 },
+ { 0x645D, 30964 },
+ { 0x645E, 30969 },
+ { 0x645F, 30974 },
+ { 0x6460, 31368 },
+ { 0x6461, 31630 },
+ { 0x6462, 31666 },
+ { 0x6463, 30984 },
+ { 0x6464, 31717 },
+ { 0x6465, 30979 },
+ { 0x6466, 31260 },
+ { 0x6467, 30989 },
+ { 0x6468, 31483 },
+ { 0x6469, 31194 },
+ { 0x646A, 31423 },
+ { 0x646B, 31044 },
+ { 0x646C, 31433 },
+ { 0x646D, 31215 },
+ { 0x646E, 31039 },
+ { 0x646F, 31752 },
+ { 0x6470, 31009 },
+ { 0x6471, 31230 },
+ { 0x6472, 30994 },
+ { 0x6473, 31189 },
+ { 0x6474, 31358 },
+ { 0x6475, 31514 },
+ { 0x6476, 31564 },
+ { 0x6477, 31383 },
+ { 0x6478, 31579 },
+ { 0x6479, 31418 },
+ { 0x647A, 31209 },
+ { 0x647B, 31311 },
+ { 0x647C, 31701 },
+ { 0x647D, 31559 },
+ { 0x647E, 31338 },
+ { 0x647F, 31625 },
+ { 0x6480, 31737 },
+ { 0x6481, 31615 },
+ { 0x6482, 31620 },
+ { 0x6483, 31707 },
+ { 0x6484, 31064 },
+ { 0x6485, 31671 },
+ { 0x6486, 31119 },
+ { 0x6487, 31275 },
+ { 0x6488, 31029 },
+ { 0x6489, 31184 },
+ { 0x648A, 31034 },
+ { 0x648B, 31290 },
+ { 0x648C, 31109 },
+ { 0x648D, 31509 },
+ { 0x648E, 31089 },
+ { 0x648F, 31393 },
+ { 0x6490, 31014 },
+ { 0x6491, 31727 },
+ { 0x6492, 31139 },
+ { 0x6493, 31645 },
+ { 0x6494, 31655 },
+ { 0x6495, 31722 },
+ { 0x6496, 31589 },
+ { 0x6497, 31305 },
+ { 0x6498, 31493 },
+ { 0x6499, 31443 },
+ { 0x649A, 31240 },
+ { 0x649B, 31149 },
+ { 0x649C, 30999 },
+ { 0x649D, 31322 },
+ { 0x649E, 31343 },
+ { 0x649F, 31574 },
+ { 0x64A0, 31403 },
+ { 0x64A1, 31059 },
+ { 0x64A2, 31524 },
+ { 0x64A3, 31245 },
+ { 0x64A4, 31317 },
+ { 0x64A5, 31134 },
+ { 0x64A6, 31129 },
+ { 0x64A7, 31640 },
+ { 0x64A8, 31398 },
+ { 0x64A9, 31428 },
+ { 0x64AA, 31408 },
+ { 0x64AB, 31742 },
+ { 0x64AC, 31378 },
+ { 0x64AD, 31114 },
+ { 0x64AE, 31099 },
+ { 0x64AF, 31544 },
+ { 0x64B0, 31747 },
+ { 0x64B1, 31529 },
+ { 0x64B2, 31453 },
+ { 0x64B3, 31696 },
+ { 0x64B4, 31712 },
+ { 0x64B5, 31539 },
+ { 0x64B6, 31650 },
+ { 0x64B7, 31204 },
+ { 0x64B8, 31504 },
+ { 0x64B9, 31164 },
+ { 0x64BA, 31605 },
+ { 0x64BB, 31069 },
+ { 0x64BC, 31635 },
+ { 0x64BD, 31270 },
+ { 0x64BE, 31079 },
+ { 0x64BF, 30748 },
+ { 0x64C0, 30756 },
+ { 0x64C1, 30780 },
+ { 0x64C2, 30764 },
+ { 0x64C3, 30760 },
+ { 0x64C4, 30752 },
+ { 0x64C5, 30776 },
+ { 0x64C6, 30772 },
+ { 0x64C7, 30768 },
+ { 0x64C8, 31788 },
+ { 0x64C9, 31783 },
+ { 0x64CA, 31799 },
+ { 0x64CB, 31809 },
+ { 0x64CC, 31777 },
+ { 0x64CD, 31793 },
+ { 0x64CE, 31804 },
+ { 0x64CF, 42243 },
+ { 0x64D0, 42198 },
+ { 0x64D1, 42246 },
+ { 0x64D2, 42204 },
+ { 0x64D3, 42234 },
+ { 0x64D4, 42267 },
+ { 0x64D5, 42210 },
+ { 0x64D6, 42228 },
+ { 0x64D7, 42237 },
+ { 0x64D8, 42213 },
+ { 0x64D9, 42216 },
+ { 0x64DA, 42252 },
+ { 0x64DB, 42255 },
+ { 0x64DC, 42258 },
+ { 0x64DD, 42195 },
+ { 0x64DE, 42207 },
+ { 0x64DF, 42225 },
+ { 0x64E0, 42219 },
+ { 0x64E1, 42222 },
+ { 0x64E2, 42273 },
+ { 0x64E3, 42231 },
+ { 0x64E4, 42264 },
+ { 0x64E5, 42249 },
+ { 0x64E6, 42261 },
+ { 0x64E7, 42201 },
+ { 0x64E8, 42240 },
+ { 0x64E9, 42270 },
+ { 0x64EA, 42446 },
+ { 0x64EB, 42458 },
+ { 0x64EC, 42450 },
+ { 0x64ED, 42454 },
+ { 0x64EE, 42466 },
+ { 0x64EF, 42510 },
+ { 0x64F0, 42482 },
+ { 0x64F1, 42478 },
+ { 0x64F2, 42506 },
+ { 0x64F3, 42486 },
+ { 0x64F4, 42490 },
+ { 0x64F5, 42518 },
+ { 0x64F6, 42522 },
+ { 0x64F7, 42526 },
+ { 0x64F8, 42462 },
+ { 0x64F9, 42474 },
+ { 0x64FA, 42498 },
+ { 0x64FB, 42494 },
+ { 0x64FC, 42538 },
+ { 0x64FD, 42502 },
+ { 0x64FE, 42530 },
+ { 0x64FF, 42514 },
+ { 0x6500, 42470 },
+ { 0x6501, 42534 },
+ { 0x6502, 42412 },
+ { 0x6503, 42392 },
+ { 0x6504, 42408 },
+ { 0x6505, 42396 },
+ { 0x6506, 42420 },
+ { 0x6507, 42424 },
+ { 0x6508, 42384 },
+ { 0x6509, 42404 },
+ { 0x650A, 42400 },
+ { 0x650B, 42432 },
+ { 0x650C, 42416 },
+ { 0x650D, 42388 },
+ { 0x650E, 42428 },
+ { 0x650F, 42441 },
+ { 0x6510, 42436 },
+ { 0x6511, 42560 },
+ { 0x6512, 42608 },
+ { 0x6513, 42576 },
+ { 0x6514, 42572 },
+ { 0x6515, 42592 },
+ { 0x6516, 42600 },
+ { 0x6517, 42580 },
+ { 0x6518, 42616 },
+ { 0x6519, 42620 },
+ { 0x651A, 42624 },
+ { 0x651B, 42556 },
+ { 0x651C, 42568 },
+ { 0x651D, 42588 },
+ { 0x651E, 42584 },
+ { 0x651F, 42636 },
+ { 0x6520, 42596 },
+ { 0x6521, 42628 },
+ { 0x6522, 42612 },
+ { 0x6523, 42564 },
+ { 0x6524, 42604 },
+ { 0x6525, 42632 },
+ { 0x6526, 42640 },
+ { 0x6527, 42645 },
+ { 0x6528, 42340 },
+ { 0x6529, 42280 },
+ { 0x652A, 42344 },
+ { 0x652B, 42288 },
+ { 0x652C, 42300 },
+ { 0x652D, 42328 },
+ { 0x652E, 42372 },
+ { 0x652F, 42296 },
+ { 0x6530, 42320 },
+ { 0x6531, 42332 },
+ { 0x6532, 42304 },
+ { 0x6533, 42352 },
+ { 0x6534, 42356 },
+ { 0x6535, 42360 },
+ { 0x6536, 42276 },
+ { 0x6537, 42292 },
+ { 0x6538, 42316 },
+ { 0x6539, 42308 },
+ { 0x653A, 42312 },
+ { 0x653B, 42380 },
+ { 0x653C, 42324 },
+ { 0x653D, 42368 },
+ { 0x653E, 42348 },
+ { 0x653F, 42364 },
+ { 0x6540, 42284 },
+ { 0x6541, 42336 },
+ { 0x6542, 42376 },
+ { 0x6543, 42654 },
+ { 0x6544, 42710 },
+ { 0x6545, 42662 },
+ { 0x6546, 42698 },
+ { 0x6547, 42738 },
+ { 0x6548, 42670 },
+ { 0x6549, 42690 },
+ { 0x654A, 42702 },
+ { 0x654B, 42674 },
+ { 0x654C, 42718 },
+ { 0x654D, 42722 },
+ { 0x654E, 42726 },
+ { 0x654F, 42650 },
+ { 0x6550, 42666 },
+ { 0x6551, 42686 },
+ { 0x6552, 42678 },
+ { 0x6553, 42682 },
+ { 0x6554, 42746 },
+ { 0x6555, 42694 },
+ { 0x6556, 42734 },
+ { 0x6557, 42714 },
+ { 0x6558, 42730 },
+ { 0x6559, 42658 },
+ { 0x655A, 42706 },
+ { 0x655B, 42742 },
+ { 0x655C, 42548 },
+ { 0x655D, 42542 },
+ { 0x655E, 59193 },
+ { 0x655F, 59290 },
+ { 0x6560, 59245 },
+ { 0x6561, 59271 },
+ { 0x6562, 59156 },
+ { 0x6563, 59264 },
+ { 0x6564, 59309 },
+ { 0x6565, 59151 },
+ { 0x6566, 59185 },
+ { 0x6567, 59304 },
+ { 0x6568, 59222 },
+ { 0x6569, 59207 },
+ { 0x656A, 59170 },
+ { 0x656B, 59285 },
+ { 0x656C, 59259 },
+ { 0x656D, 59237 },
+ { 0x656E, 59141 },
+ { 0x656F, 59175 },
+ { 0x6570, 59294 },
+ { 0x6571, 59212 },
+ { 0x6572, 59197 },
+ { 0x6573, 59160 },
+ { 0x6574, 59275 },
+ { 0x6575, 59249 },
+ { 0x6576, 59227 },
+ { 0x6577, 59146 },
+ { 0x6578, 59180 },
+ { 0x6579, 59299 },
+ { 0x657A, 59217 },
+ { 0x657B, 59202 },
+ { 0x657C, 59165 },
+ { 0x657D, 59280 },
+ { 0x657E, 59254 },
+ { 0x657F, 59232 },
+ { 0x6580, 59242 },
+ { 0x6581, 59319 },
+ { 0x6582, 59316 },
+ { 0x6583, 59331 },
+ { 0x6584, 59322 },
+ { 0x6585, 59325 },
+ { 0x6586, 59313 },
+ { 0x6587, 59328 },
+ { 0x6588, 59268 },
+ { 0x6589, 59190 },
+ { 0x658A, 44606 },
+ { 0x658B, 44757 },
+ { 0x658C, 44760 },
+ { 0x658D, 44763 },
+ { 0x658E, 44766 },
+ { 0x658F, 44769 },
+ { 0x6590, 44772 },
+ { 0x6591, 44775 },
+ { 0x6592, 44778 },
+ { 0x6593, 44781 },
+ { 0x6594, 44784 },
+ { 0x6595, 44787 },
+ { 0x6596, 44790 },
+ { 0x6597, 44793 },
+ { 0x6598, 44796 },
+ { 0x6599, 44799 },
+ { 0x659A, 44802 },
+ { 0x659B, 44805 },
+ { 0x659C, 44808 },
+ { 0x659D, 44811 },
+ { 0x659E, 44814 },
+ { 0x659F, 44817 },
+ { 0x65A0, 44820 },
+ { 0x65A1, 44823 },
+ { 0x65A2, 44826 },
+ { 0x65A3, 44829 },
+ { 0x65A4, 44832 },
+ { 0x65A5, 44835 },
+ { 0x65A6, 44838 },
+ { 0x65A7, 44841 },
+ { 0x65A8, 44844 },
+ { 0x65A9, 44847 },
+ { 0x65AA, 44850 },
+ { 0x65AB, 44853 },
+ { 0x65AC, 44856 },
+ { 0x65AD, 44859 },
+ { 0x65AE, 44862 },
+ { 0x65AF, 44865 },
+ { 0x65B0, 44868 },
+ { 0x65B1, 44871 },
+ { 0x65B2, 44874 },
+ { 0x65B3, 44877 },
+ { 0x65B4, 44880 },
+ { 0x65B5, 44883 },
+ { 0x65B6, 44886 },
+ { 0x65B7, 44889 },
+ { 0x65B8, 44892 },
+ { 0x65B9, 44895 },
+ { 0x65BA, 44898 },
+ { 0x65BB, 44901 },
+ { 0x65BC, 44602 },
+ { 0x65BD, 44610 },
+ { 0x65BE, 44613 },
+ { 0x65BF, 44616 },
+ { 0x65C0, 44619 },
+ { 0x65C1, 44622 },
+ { 0x65C2, 44625 },
+ { 0x65C3, 44628 },
+ { 0x65C4, 44631 },
+ { 0x65C5, 44634 },
+ { 0x65C6, 44637 },
+ { 0x65C7, 44640 },
+ { 0x65C8, 44643 },
+ { 0x65C9, 44646 },
+ { 0x65CA, 44649 },
+ { 0x65CB, 44652 },
+ { 0x65CC, 44655 },
+ { 0x65CD, 44658 },
+ { 0x65CE, 44661 },
+ { 0x65CF, 44664 },
+ { 0x65D0, 44667 },
+ { 0x65D1, 44670 },
+ { 0x65D2, 44673 },
+ { 0x65D3, 44676 },
+ { 0x65D4, 44679 },
+ { 0x65D5, 44682 },
+ { 0x65D6, 44685 },
+ { 0x65D7, 44688 },
+ { 0x65D8, 44691 },
+ { 0x65D9, 44694 },
+ { 0x65DA, 44697 },
+ { 0x65DB, 44700 },
+ { 0x65DC, 44703 },
+ { 0x65DD, 44706 },
+ { 0x65DE, 44709 },
+ { 0x65DF, 44712 },
+ { 0x65E0, 44715 },
+ { 0x65E1, 44718 },
+ { 0x65E2, 44721 },
+ { 0x65E3, 44724 },
+ { 0x65E4, 44727 },
+ { 0x65E5, 44730 },
+ { 0x65E6, 44733 },
+ { 0x65E7, 44736 },
+ { 0x65E8, 44739 },
+ { 0x65E9, 44742 },
+ { 0x65EA, 44745 },
+ { 0x65EB, 44748 },
+ { 0x65EC, 44751 },
+ { 0x65ED, 44754 },
+ { 0x65EE, 61816 },
+ { 0x65EF, 61742 },
+ { 0x65F0, 61806 },
+ { 0x65F1, 61996 },
+ { 0x65F2, 61852 },
+ { 0x65F3, 61829 },
+ { 0x65F4, 61766 },
+ { 0x65F5, 61976 },
+ { 0x65F6, 61936 },
+ { 0x65F7, 61912 },
+ { 0x65F8, 61786 },
+ { 0x65F9, 61872 },
+ { 0x65FA, 62020 },
+ { 0x65FB, 61956 },
+ { 0x65FC, 61892 },
+ { 0x65FD, 61737 },
+ { 0x65FE, 61801 },
+ { 0x65FF, 61991 },
+ { 0x6600, 61847 },
+ { 0x6601, 61824 },
+ { 0x6602, 61761 },
+ { 0x6603, 61971 },
+ { 0x6604, 61931 },
+ { 0x6605, 61907 },
+ { 0x6606, 61781 },
+ { 0x6607, 61867 },
+ { 0x6608, 62015 },
+ { 0x6609, 61951 },
+ { 0x660A, 61887 },
+ { 0x660B, 61752 },
+ { 0x660C, 61747 },
+ { 0x660D, 61811 },
+ { 0x660E, 62001 },
+ { 0x660F, 61857 },
+ { 0x6610, 61834 },
+ { 0x6611, 61771 },
+ { 0x6612, 61981 },
+ { 0x6613, 61941 },
+ { 0x6614, 61917 },
+ { 0x6615, 61791 },
+ { 0x6616, 61877 },
+ { 0x6617, 62025 },
+ { 0x6618, 61961 },
+ { 0x6619, 61897 },
+ { 0x661A, 61922 },
+ { 0x661B, 61732 },
+ { 0x661C, 61796 },
+ { 0x661D, 61986 },
+ { 0x661E, 61842 },
+ { 0x661F, 61819 },
+ { 0x6620, 61756 },
+ { 0x6621, 61966 },
+ { 0x6622, 61926 },
+ { 0x6623, 61902 },
+ { 0x6624, 61776 },
+ { 0x6625, 61862 },
+ { 0x6626, 62010 },
+ { 0x6627, 61946 },
+ { 0x6628, 61882 },
+ { 0x6629, 62006 },
+ { 0x662A, 61839 },
+ { 0x662B, 62030 },
+ { 0x662C, 62033 },
+ { 0x662D, 62036 },
+ { 0x662E, 62039 },
+ { 0x662F, 62042 },
+ { 0x6630, 62045 },
+ { 0x6631, 62048 },
+ { 0x6632, 62051 },
+ { 0x6633, 62054 },
+ { 0x6634, 62057 },
+ { 0x6635, 62060 },
+ { 0x6636, 62063 },
+ { 0x6637, 62066 },
+ { 0x6638, 62069 },
+ { 0x6639, 62072 },
+ { 0x663A, 62075 },
+ { 0x663B, 62078 },
+ { 0x663C, 62081 },
+ { 0x663D, 62084 },
+ { 0x663E, 62087 },
+ { 0x663F, 62090 },
+ { 0x6640, 18889 },
+ { 0x6641, 18893 },
+ { 0x6642, 18839 },
+ { 0x6643, 18857 },
+ { 0x6644, 18920 },
+ { 0x6645, 18875 },
+ { 0x6646, 18866 },
+ { 0x6647, 18848 },
+ { 0x6648, 18911 },
+ { 0x6649, 18902 },
+ { 0x664A, 18884 },
+ { 0x664B, 58069 },
+ { 0x664C, 58180 },
+ { 0x664D, 111812 },
+ { 0x664E, 111817 },
+ { 0x664F, 111822 },
+ { 0x6650, 111827 },
+ { 0x6651, 111832 },
+ { 0x6652, 111837 },
+ { 0x6653, 111842 },
+ { 0x6654, 111847 },
+ { 0x6655, 111852 },
+ { 0x6656, 111857 },
+ { 0x6657, 111862 },
+ { 0x6658, 111867 },
+ { 0x6659, 111872 },
+ { 0x665A, 111877 },
+ { 0x665B, 111882 },
+ { 0x665C, 111887 },
+ { 0x665D, 111892 },
+ { 0x665E, 111897 },
+ { 0x665F, 111902 },
+ { 0x6660, 111907 },
+ { 0x6661, 111912 },
+ { 0x6662, 111917 },
+ { 0x6663, 111922 },
+ { 0x6664, 111927 },
+ { 0x6665, 111932 },
+ { 0x6666, 111937 },
+ { 0x6667, 83627 },
+ { 0x6668, 56886 },
+ { 0x6669, 56892 },
+ { 0x666A, 56449 },
+ { 0x666B, 56451 },
+ { 0x666C, 63940 },
+ { 0x666D, 63945 },
+ { 0x666E, 63950 },
+ { 0x666F, 63955 },
+ { 0x6670, 63960 },
+ { 0x6671, 63965 },
+ { 0x6672, 63970 },
+ { 0x6673, 63975 },
+ { 0x6674, 63980 },
+ { 0x6675, 63985 },
+ { 0x6676, 63990 },
+ { 0x6677, 63995 },
+ { 0x6678, 64000 },
+ { 0x6679, 64005 },
+ { 0x667A, 64010 },
+ { 0x667B, 64015 },
+ { 0x667C, 64020 },
+ { 0x667D, 64025 },
+ { 0x667E, 64030 },
+ { 0x667F, 64035 },
+ { 0x6680, 64040 },
+ { 0x6681, 64045 },
+ { 0x6682, 64050 },
+ { 0x6683, 64055 },
+ { 0x6684, 64060 },
+ { 0x6685, 64065 },
+ { 0x6686, 63728 },
+ { 0x6687, 63732 },
+ { 0x6688, 63738 },
+ { 0x6689, 63740 },
+ { 0x668A, 63926 },
+ { 0x668B, 63749 },
+ { 0x668C, 81953 },
+ { 0x668D, 81959 },
+ { 0x668E, 81965 },
+ { 0x668F, 81971 },
+ { 0x6690, 81977 },
+ { 0x6691, 81983 },
+ { 0x6692, 81989 },
+ { 0x6693, 81995 },
+ { 0x6694, 82001 },
+ { 0x6695, 82007 },
+ { 0x6696, 82013 },
+ { 0x6697, 82019 },
+ { 0x6698, 82025 },
+ { 0x6699, 82031 },
+ { 0x669A, 82037 },
+ { 0x669B, 82043 },
+ { 0x669C, 82049 },
+ { 0x669D, 82055 },
+ { 0x669E, 82061 },
+ { 0x669F, 82067 },
+ { 0x66A0, 82073 },
+ { 0x66A1, 82079 },
+ { 0x66A2, 82085 },
+ { 0x66A3, 82091 },
+ { 0x66A4, 82097 },
+ { 0x66A5, 82103 },
+ { 0x66A6, 52370 },
+ { 0x66A7, 52373 },
+ { 0x66A8, 82168 },
+ { 0x66A9, 82174 },
+ { 0x66AA, 82180 },
+ { 0x66AB, 82186 },
+ { 0x66AC, 82192 },
+ { 0x66AD, 82198 },
+ { 0x66AE, 82204 },
+ { 0x66AF, 82210 },
+ { 0x66B0, 82216 },
+ { 0x66B1, 82222 },
+ { 0x66B2, 82228 },
+ { 0x66B3, 82234 },
+ { 0x66B4, 82240 },
+ { 0x66B5, 82246 },
+ { 0x66B6, 82252 },
+ { 0x66B7, 82258 },
+ { 0x66B8, 82264 },
+ { 0x66B9, 82270 },
+ { 0x66BA, 82276 },
+ { 0x66BB, 82282 },
+ { 0x66BC, 82288 },
+ { 0x66BD, 82294 },
+ { 0x66BE, 82300 },
+ { 0x66BF, 82306 },
+ { 0x66C0, 82312 },
+ { 0x66C1, 82318 },
+ { 0x66C2, 57477 },
+ { 0x66C3, 82152 },
+ { 0x66C4, 82155 },
+ { 0x66C5, 82158 },
+ { 0x66C6, 82149 },
+ { 0x66C7, 82161 },
+ { 0x66C8, 52739 },
+ { 0x66C9, 63726 },
+ { 0x66CA, 63930 },
+ { 0x66CB, 63936 },
+ { 0x66CC, 63730 },
+ { 0x66CD, 63924 },
+ { 0x66CE, 63734 },
+ { 0x66CF, 63736 },
+ { 0x66D0, 63928 },
+ { 0x66D1, 63742 },
+ { 0x66D2, 63747 },
+ { 0x66D3, 82876 },
+ { 0x66D4, 82881 },
+ { 0x66D5, 82886 },
+ { 0x66D6, 82891 },
+ { 0x66D7, 82896 },
+ { 0x66D8, 82901 },
+ { 0x66D9, 82906 },
+ { 0x66DA, 82911 },
+ { 0x66DB, 82916 },
+ { 0x66DC, 82921 },
+ { 0x66DD, 82926 },
+ { 0x66DE, 82931 },
+ { 0x66DF, 82936 },
+ { 0x66E0, 82941 },
+ { 0x66E1, 82946 },
+ { 0x66E2, 82951 },
+ { 0x66E3, 82956 },
+ { 0x66E4, 82961 },
+ { 0x66E5, 82966 },
+ { 0x66E6, 82971 },
+ { 0x66E7, 82976 },
+ { 0x66E8, 82981 },
+ { 0x66E9, 82986 },
+ { 0x66EA, 82991 },
+ { 0x66EB, 82996 },
+ { 0x66EC, 83001 },
+ { 0x66ED, 53240 },
+ { 0x66EE, 64103 },
+ { 0x66EF, 64100 },
+ { 0x66F0, 63831 },
+ { 0x66F1, 63819 },
+ { 0x66F2, 63787 },
+ { 0x66F3, 64097 },
+ { 0x66F4, 63763 },
+ { 0x66F5, 63811 },
+ { 0x66F6, 63903 },
+ { 0x66F7, 63815 },
+ { 0x66F8, 63767 },
+ { 0x66F9, 63859 },
+ { 0x66FA, 63879 },
+ { 0x66FB, 63851 },
+ { 0x66FC, 63779 },
+ { 0x66FD, 63827 },
+ { 0x66FE, 63771 },
+ { 0x66FF, 63855 },
+ { 0x6700, 63775 },
+ { 0x6701, 63899 },
+ { 0x6702, 63883 },
+ { 0x6703, 63907 },
+ { 0x6704, 63807 },
+ { 0x6705, 63799 },
+ { 0x6706, 63875 },
+ { 0x6707, 63839 },
+ { 0x6708, 63847 },
+ { 0x6709, 63751 },
+ { 0x670A, 63755 },
+ { 0x670B, 63915 },
+ { 0x670C, 63823 },
+ { 0x670D, 63759 },
+ { 0x670E, 63791 },
+ { 0x670F, 63843 },
+ { 0x6710, 63911 },
+ { 0x6711, 63835 },
+ { 0x6712, 63891 },
+ { 0x6713, 63895 },
+ { 0x6714, 63795 },
+ { 0x6715, 63871 },
+ { 0x6716, 63867 },
+ { 0x6717, 63863 },
+ { 0x6718, 63887 },
+ { 0x6719, 63783 },
+ { 0x671A, 63803 },
+ { 0x671B, 83609 },
+ { 0x671C, 83573 },
+ { 0x671D, 83579 },
+ { 0x671E, 83591 },
+ { 0x671F, 83615 },
+ { 0x6720, 83597 },
+ { 0x6721, 83621 },
+ { 0x6722, 83585 },
+ { 0x6723, 83603 },
+ { 0x6724, 57412 },
+ { 0x6725, 57370 },
+ { 0x6726, 57488 },
+ { 0x6727, 19089 },
+ { 0x6728, 43746 },
+ { 0x6729, 31928 },
+ { 0x672A, 64111 },
+ { 0x672B, 64110 },
+ { 0x672C, 87127 },
+ { 0x672D, 53363 },
+ { 0x672E, 62240 },
+ { 0x672F, 43237 },
+ { 0x6730, 34591 },
+ { 0x6731, 65745 },
+ { 0x6732, 31817 },
+ { 0x6733, 18937 },
+ { 0x6734, 18934 },
+ { 0x6735, 18940 },
+ { 0x6736, 19108 },
+ { 0x6737, 6864 },
+ { 0x6738, 55130 },
+ { 0x6739, 19085 },
+ { 0x673A, 55126 },
+ { 0x673B, 12653 },
+ { 0x673C, 54710 },
+ { 0x673D, 12711 },
+ { 0x673E, 54714 },
+ { 0x673F, 70275 },
+ { 0x6740, 6860 },
+ { 0x6741, 19080 },
+ { 0x6742, 12706 },
+ { 0x6743, 12649 },
+ { 0x6744, 9315 },
+ { 0x6745, 58420 },
+ { 0x6746, 83107 },
+ { 0x6747, 105774 },
+ { 0x6748, 18394 },
+ { 0x6749, 34617 },
+ { 0x674A, 34623 },
+ { 0x674B, 34628 },
+ { 0x674C, 34632 },
+ { 0x674D, 18775 },
+ { 0x674E, 18778 },
+ { 0x674F, 18784 },
+ { 0x6750, 18781 },
+ { 0x6751, 5926 },
+ { 0x6752, 15021 },
+ { 0x6753, 5932 },
+ { 0x6754, 14587 },
+ { 0x6755, 56439 },
+ { 0x6756, 70138 },
+ { 0x6757, 83095 },
+ { 0x6758, 95038 },
+ { 0x6759, 94634 },
+ { 0x675A, 14201 },
+ { 0x675B, 43252 },
+ { 0x675C, 5934 },
+ { 0x675D, 34302 },
+ { 0x675E, 43625 },
+ { 0x675F, 14299 },
+ { 0x6760, 78864 },
+ { 0x6761, 98707 },
+ { 0x6762, 55665 },
+ { 0x6763, 5910 },
+ { 0x6764, 5907 },
+ { 0x6765, 12686 },
+ { 0x6766, 12624 },
+ { 0x6767, 30745 },
+ { 0x6768, 45159 },
+ { 0x6769, 12715 },
+ { 0x676A, 81943 },
+ { 0x676B, 54481 },
+ { 0x676C, 85639 },
+ { 0x676D, 45293 },
+ { 0x676E, 30747 },
+ { 0x676F, 101851 },
+ { 0x6770, 98709 },
+ { 0x6771, 30340 },
+ { 0x6772, 42796 },
+ { 0x6773, 98107 },
+ { 0x6774, 9281 },
+ { 0x6775, 22021 },
+ { 0x6776, 14208 },
+ { 0x6777, 32530 },
+ { 0x6778, 70137 },
+ { 0x6779, 101837 },
+ { 0x677A, 95974 },
+ { 0x677B, 33373 },
+ { 0x677C, 13382 },
+ { 0x677D, 62098 },
+ { 0x677E, 14283 },
+ { 0x677F, 14281 },
+ { 0x6780, 43753 },
+ { 0x6781, 18824 },
+ { 0x6782, 83176 },
+ { 0x6783, 98406 },
+ { 0x6784, 18591 },
+ { 0x6785, 45202 },
+ { 0x6786, 62278 },
+ { 0x6787, 18829 },
+ { 0x6788, 14147 },
+ { 0x6789, 33734 },
+ { 0x678A, 19100 },
+ { 0x678B, 12596 },
+ { 0x678C, 14423 },
+ { 0x678D, 52636 },
+ { 0x678E, 5940 },
+ { 0x678F, 72195 },
+ { 0x6790, 43755 },
+ { 0x6791, 87122 },
+ { 0x6792, 18661 },
+ { 0x6793, 80058 },
+ { 0x6794, 57486 },
+ { 0x6795, 22490 },
+ { 0x6796, 98388 },
+ { 0x6797, 18074 },
+ { 0x6798, 9270 },
+ { 0x6799, 57468 },
+ { 0x679A, 12610 },
+ { 0x679B, 53971 },
+ { 0x679C, 14406 },
+ { 0x679D, 15024 },
+ { 0x679E, 70148 },
+ { 0x679F, 83653 },
+ { 0x67A0, 12055 },
+ { 0x67A1, 70145 },
+ { 0x67A2, 12039 },
+ { 0x67A3, 12613 },
+ { 0x67A4, 42814 },
+ { 0x67A5, 62093 },
+ { 0x67A6, 52535 },
+ { 0x67A7, 65753 },
+ { 0x67A8, 66648 },
+ { 0x67A9, 112217 },
+ { 0x67AA, 87124 },
+ { 0x67AB, 45162 },
+ { 0x67AC, 95067 },
+ { 0x67AD, 77566 },
+ { 0x67AE, 55333 },
+ { 0x67AF, 32526 },
+ { 0x67B0, 70150 },
+ { 0x67B1, 83368 },
+ { 0x67B2, 57473 },
+ { 0x67B3, 14216 },
+ { 0x67B4, 79358 },
+ { 0x67B5, 12125 },
+ { 0x67B6, 15019 },
+ { 0x67B7, 14124 },
+ { 0x67B8, 52586 },
+ { 0x67B9, 100455 },
+ { 0x67BA, 22030 },
+ { 0x67BB, 55667 },
+ { 0x67BC, 80864 },
+ { 0x67BD, 83008 },
+ { 0x67BE, 60559 },
+ { 0x67BF, 53295 },
+ { 0x67C0, 30341 },
+ { 0x67C1, 57466 },
+ { 0x67C2, 42802 },
+ { 0x67C3, 42809 },
+ { 0x67C4, 12588 },
+ { 0x67C5, 83866 },
+ { 0x67C6, 69531 },
+ { 0x67C7, 45166 },
+ { 0x67C8, 52580 },
+ { 0x67C9, 58411 },
+ { 0x67CA, 100879 },
+ { 0x67CB, 31860 },
+ { 0x67CC, 43629 },
+ { 0x67CD, 95975 },
+ { 0x67CE, 42750 },
+ { 0x67CF, 10820 },
+ { 0x67D0, 43703 },
+ { 0x67D1, 54479 },
+ { 0x67D2, 57460 },
+ { 0x67D3, 100886 },
+ { 0x67D4, 34585 },
+ { 0x67D5, 44593 },
+ { 0x67D6, 14418 },
+ { 0x67D7, 85648 },
+ { 0x67D8, 12667 },
+ { 0x67D9, 55670 },
+ { 0x67DA, 45185 },
+ { 0x67DB, 59545 },
+ { 0x67DC, 81935 },
+ { 0x67DD, 98386 },
+ { 0x67DE, 45294 },
+ { 0x67DF, 60557 },
+ { 0x67E0, 65410 },
+ { 0x67E1, 54631 },
+ { 0x67E2, 59547 },
+ { 0x67E3, 62307 },
+ { 0x67E4, 54330 },
+ { 0x67E5, 9310 },
+ { 0x67E6, 99539 },
+ { 0x67E7, 87120 },
+ { 0x67E8, 105729 },
+ { 0x67E9, 52582 },
+ { 0x67EA, 53366 },
+ { 0x67EB, 52680 },
+ { 0x67EC, 54538 },
+ { 0x67ED, 22495 },
+ { 0x67EE, 65769 },
+ { 0x67EF, 32975 },
+ { 0x67F0, 64116 },
+ { 0x67F1, 55134 },
+ { 0x67F2, 45210 },
+ { 0x67F3, 52368 },
+ { 0x67F4, 52366 },
+ { 0x67F5, 57469 },
+ { 0x67F6, 101850 },
+ { 0x67F7, 19069 },
+ { 0x67F8, 5944 },
+ { 0x67F9, 33740 },
+ { 0x67FA, 14420 },
+ { 0x67FB, 56440 },
+ { 0x67FC, 18071 },
+ { 0x67FD, 66957 },
+ { 0x67FE, 22504 },
+ { 0x67FF, 87126 },
+ { 0x6800, 72170 },
+ { 0x6801, 87133 },
+ { 0x6802, 44553 },
+ { 0x6803, 44554 },
+ { 0x6804, 81944 },
+ { 0x6805, 64106 },
+ { 0x6806, 22502 },
+ { 0x6807, 22499 },
+ { 0x6808, 51713 },
+ { 0x6809, 79355 },
+ { 0x680A, 77518 },
+ { 0x680B, 79152 },
+ { 0x680C, 12051 },
+ { 0x680D, 85640 },
+ { 0x680E, 22497 },
+ { 0x680F, 13356 },
+ { 0x6810, 101882 },
+ { 0x6811, 52585 },
+ { 0x6812, 99560 },
+ { 0x6813, 58388 },
+ { 0x6814, 58759 },
+ { 0x6815, 79360 },
+ { 0x6816, 77521 },
+ { 0x6817, 34949 },
+ { 0x6818, 18402 },
+ { 0x6819, 55123 },
+ { 0x681A, 55120 },
+ { 0x681B, 62282 },
+ { 0x681C, 18406 },
+ { 0x681D, 23270 },
+ { 0x681E, 85643 },
+ { 0x681F, 4454 },
+ { 0x6820, 55160 },
+ { 0x6821, 18988 },
+ { 0x6822, 18972 },
+ { 0x6823, 18976 },
+ { 0x6824, 18980 },
+ { 0x6825, 18984 },
+ { 0x6826, 9280 },
+ { 0x6827, 31856 },
+ { 0x6828, 315 },
+ { 0x6829, 34595 },
+ { 0x682A, 5875 },
+ { 0x682B, 34239 },
+ { 0x682C, 59068 },
+ { 0x682D, 52363 },
+ { 0x682E, 5313 },
+ { 0x682F, 45091 },
+ { 0x6830, 88551 },
+ { 0x6831, 34602 },
+ { 0x6832, 33583 },
+ { 0x6833, 33584 },
+ { 0x6834, 22492 },
+ { 0x6835, 9279 },
+ { 0x6836, 12679 },
+ { 0x6837, 33319 },
+ { 0x6838, 51642 },
+ { 0x6839, 62281 },
+ { 0x683A, 56446 },
+ { 0x683B, 5894 },
+ { 0x683C, 9259 },
+ { 0x683D, 12076 },
+ { 0x683E, 75986 },
+ { 0x683F, 61595 },
+ { 0x6840, 52675 },
+ { 0x6841, 5307 },
+ { 0x6842, 4081 },
+ { 0x6843, 79151 },
+ { 0x6844, 12699 },
+ { 0x6845, 12595 },
+ { 0x6846, 83651 },
+ { 0x6847, 66650 },
+ { 0x6848, 54619 },
+ { 0x6849, 78619 },
+ { 0x684A, 12037 },
+ { 0x684B, 106134 },
+ { 0x684C, 12071 },
+ { 0x684D, 61725 },
+ { 0x684E, 23269 },
+ { 0x684F, 52348 },
+ { 0x6850, 95031 },
+ { 0x6851, 66144 },
+ { 0x6852, 58213 },
+ { 0x6853, 31857 },
+ { 0x6854, 5876 },
+ { 0x6855, 34240 },
+ { 0x6856, 52364 },
+ { 0x6857, 5314 },
+ { 0x6858, 45092 },
+ { 0x6859, 83174 },
+ { 0x685A, 22493 },
+ { 0x685B, 51643 },
+ { 0x685C, 5895 },
+ { 0x685D, 9260 },
+ { 0x685E, 12645 },
+ { 0x685F, 58672 },
+ { 0x6860, 15026 },
+ { 0x6861, 12053 },
+ { 0x6862, 32524 },
+ { 0x6863, 9262 },
+ { 0x6864, 9242 },
+ { 0x6865, 70141 },
+ { 0x6866, 12500 },
+ { 0x6867, 5921 },
+ { 0x6868, 5906 },
+ { 0x6869, 14141 },
+ { 0x686A, 31859 },
+ { 0x686B, 54482 },
+ { 0x686C, 34610 },
+ { 0x686D, 34651 },
+ { 0x686E, 34686 },
+ { 0x686F, 34743 },
+ { 0x6870, 45175 },
+ { 0x6871, 55117 },
+ { 0x6872, 107 },
+ { 0x6873, 54473 },
+ { 0x6874, 54476 },
+ { 0x6875, 70142 },
+ { 0x6876, 14157 },
+ { 0x6877, 18812 },
+ { 0x6878, 55139 },
+ { 0x6879, 100051 },
+ { 0x687A, 61497 },
+ { 0x687B, 64118 },
+ { 0x687C, 22541 },
+ { 0x687D, 18929 },
+ { 0x687E, 48367 },
+ { 0x687F, 42813 },
+ { 0x6880, 55145 },
+ { 0x6881, 32546 },
+ { 0x6882, 58674 },
+ { 0x6883, 32539 },
+ { 0x6884, 13378 },
+ { 0x6885, 66142 },
+ { 0x6886, 101931 },
+ { 0x6887, 55143 },
+ { 0x6888, 55141 },
+ { 0x6889, 100052 },
+ { 0x688A, 12107 },
+ { 0x688B, 18658 },
+ { 0x688C, 5306 },
+ { 0x688D, 12678 },
+ { 0x688E, 6223 },
+ { 0x688F, 35072 },
+ { 0x6890, 45161 },
+ { 0x6891, 6229 },
+ { 0x6892, 10876 },
+ { 0x6893, 10886 },
+ { 0x6894, 52346 },
+ { 0x6895, 35073 },
+ { 0x6896, 18593 },
+ { 0x6897, 52304 },
+ { 0x6898, 6234 },
+ { 0x6899, 6239 },
+ { 0x689A, 32218 },
+ { 0x689B, 32220 },
+ { 0x689C, 12034 },
+ { 0x689D, 106104 },
+ { 0x689E, 82804 },
+ { 0x689F, 79353 },
+ { 0x68A0, 79362 },
+ { 0x68A1, 19103 },
+ { 0x68A2, 12035 },
+ { 0x68A3, 112290 },
+ { 0x68A4, 15055 },
+ { 0x68A5, 5949 },
+ { 0x68A6, 33369 },
+ { 0x68A7, 102516 },
+ { 0x68A8, 95481 },
+ { 0x68A9, 44537 },
+ { 0x68AA, 80057 },
+ { 0x68AB, 14131 },
+ { 0x68AC, 12567 },
+ { 0x68AD, 58671 },
+ { 0x68AE, 42797 },
+ { 0x68AF, 64117 },
+ { 0x68B0, 14215 },
+ { 0x68B1, 12697 },
+ { 0x68B2, 13358 },
+ { 0x68B3, 14285 },
+ { 0x68B4, 5930 },
+ { 0x68B5, 12696 },
+ { 0x68B6, 55666 },
+ { 0x68B7, 44511 },
+ { 0x68B8, 65748 },
+ { 0x68B9, 55336 },
+ { 0x68BA, 43242 },
+ { 0x68BB, 10893 },
+ { 0x68BC, 98407 },
+ { 0x68BD, 58667 },
+ { 0x68BE, 22036 },
+ { 0x68BF, 12074 },
+ { 0x68C0, 22023 },
+ { 0x68C1, 55152 },
+ { 0x68C2, 52361 },
+ { 0x68C3, 22039 },
+ { 0x68C4, 98162 },
+ { 0x68C5, 22042 },
+ { 0x68C6, 58029 },
+ { 0x68C7, 75981 },
+ { 0x68C8, 15057 },
+ { 0x68C9, 12100 },
+ { 0x68CA, 83155 },
+ { 0x68CB, 87193 },
+ { 0x68CC, 98420 },
+ { 0x68CD, 58222 },
+ { 0x68CE, 12420 },
+ { 0x68CF, 14212 },
+ { 0x68D0, 45178 },
+ { 0x68D1, 18927 },
+ { 0x68D2, 52667 },
+ { 0x68D3, 64181 },
+ { 0x68D4, 34812 },
+ { 0x68D5, 58744 },
+ { 0x68D6, 31847 },
+ { 0x68D7, 70283 },
+ { 0x68D8, 22274 },
+ { 0x68D9, 44514 },
+ { 0x68DA, 66631 },
+ { 0x68DB, 66643 },
+ { 0x68DC, 66635 },
+ { 0x68DD, 66639 },
+ { 0x68DE, 31849 },
+ { 0x68DF, 18672 },
+ { 0x68E0, 14410 },
+ { 0x68E1, 82372 },
+ { 0x68E2, 85651 },
+ { 0x68E3, 80866 },
+ { 0x68E4, 45180 },
+ { 0x68E5, 61596 },
+ { 0x68E6, 5905 },
+ { 0x68E7, 12584 },
+ { 0x68E8, 14152 },
+ { 0x68E9, 14191 },
+ { 0x68EA, 14198 },
+ { 0x68EB, 66966 },
+ { 0x68EC, 83370 },
+ { 0x68ED, 12118 },
+ { 0x68EE, 18668 },
+ { 0x68EF, 18679 },
+ { 0x68F0, 4443 },
+ { 0x68F1, 87135 },
+ { 0x68F2, 62230 },
+ { 0x68F3, 32971 },
+ { 0x68F4, 98098 },
+ { 0x68F5, 83178 },
+ { 0x68F6, 101845 },
+ { 0x68F7, 66652 },
+ { 0x68F8, 48378 },
+ { 0x68F9, 82326 },
+ { 0x68FA, 82327 },
+ { 0x68FB, 43705 },
+ { 0x68FC, 14150 },
+ { 0x68FD, 22019 },
+ { 0x68FE, 12072 },
+ { 0x68FF, 51718 },
+ { 0x6900, 18590 },
+ { 0x6901, 14133 },
+ { 0x6902, 52632 },
+ { 0x6903, 13385 },
+ { 0x6904, 98720 },
+ { 0x6905, 32522 },
+ { 0x6906, 5924 },
+ { 0x6907, 98384 },
+ { 0x6908, 52358 },
+ { 0x6909, 69533 },
+ { 0x690A, 51726 },
+ { 0x690B, 22514 },
+ { 0x690C, 61722 },
+ { 0x690D, 45094 },
+ { 0x690E, 79280 },
+ { 0x690F, 75990 },
+ { 0x6910, 43734 },
+ { 0x6911, 43729 },
+ { 0x6912, 14178 },
+ { 0x6913, 14183 },
+ { 0x6914, 62094 },
+ { 0x6915, 52349 },
+ { 0x6916, 97999 },
+ { 0x6917, 51626 },
+ { 0x6918, 51631 },
+ { 0x6919, 98997 },
+ { 0x691A, 51628 },
+ { 0x691B, 95 },
+ { 0x691C, 55161 },
+ { 0x691D, 43253 },
+ { 0x691E, 43254 },
+ { 0x691F, 34587 },
+ { 0x6920, 101840 },
+ { 0x6921, 32547 },
+ { 0x6922, 112209 },
+ { 0x6923, 12590 },
+ { 0x6924, 82750 },
+ { 0x6925, 52356 },
+ { 0x6926, 65414 },
+ { 0x6927, 87170 },
+ { 0x6928, 87177 },
+ { 0x6929, 87163 },
+ { 0x692A, 111254 },
+ { 0x692B, 6216 },
+ { 0x692C, 12690 },
+ { 0x692D, 63722 },
+ { 0x692E, 63711 },
+ { 0x692F, 63712 },
+ { 0x6930, 63717 },
+ { 0x6931, 55335 },
+ { 0x6932, 75977 },
+ { 0x6933, 111639 },
+ { 0x6934, 112264 },
+ { 0x6935, 13283 },
+ { 0x6936, 43707 },
+ { 0x6937, 5950 },
+ { 0x6938, 13282 },
+ { 0x6939, 14155 },
+ { 0x693A, 12057 },
+ { 0x693B, 12058 },
+ { 0x693C, 66651 },
+ { 0x693D, 13118 },
+ { 0x693E, 32548 },
+ { 0x693F, 12046 },
+ { 0x6940, 5916 },
+ { 0x6941, 302 },
+ { 0x6942, 14432 },
+ { 0x6943, 10843 },
+ { 0x6944, 85 },
+ { 0x6945, 48174 },
+ { 0x6946, 22522 },
+ { 0x6947, 22516 },
+ { 0x6948, 22533 },
+ { 0x6949, 22537 },
+ { 0x694A, 22528 },
+ { 0x694B, 12592 },
+ { 0x694C, 75984 },
+ { 0x694D, 55151 },
+ { 0x694E, 45295 },
+ { 0x694F, 7141 },
+ { 0x6950, 22489 },
+ { 0x6951, 52330 },
+ { 0x6952, 100880 },
+ { 0x6953, 98728 },
+ { 0x6954, 57484 },
+ { 0x6955, 9290 },
+ { 0x6956, 79364 },
+ { 0x6957, 65384 },
+ { 0x6958, 18370 },
+ { 0x6959, 34886 },
+ { 0x695A, 23288 },
+ { 0x695B, 23305 },
+ { 0x695C, 23320 },
+ { 0x695D, 23308 },
+ { 0x695E, 33506 },
+ { 0x695F, 33391 },
+ { 0x6960, 105779 },
+ { 0x6961, 111368 },
+ { 0x6962, 105782 },
+ { 0x6963, 111371 },
+ { 0x6964, 30708 },
+ { 0x6965, 34384 },
+ { 0x6966, 56472 },
+ { 0x6967, 18807 },
+ { 0x6968, 18805 },
+ { 0x6969, 61563 },
+ { 0x696A, 61575 },
+ { 0x696B, 53600 },
+ { 0x696C, 34736 },
+ { 0x696D, 22171 },
+ { 0x696E, 43409 },
+ { 0x696F, 300 },
+ { 0x6970, 12476 },
+ { 0x6971, 22542 },
+ { 0x6972, 51645 },
+ { 0x6973, 98708 },
+ { 0x6974, 59422 },
+ { 0x6975, 12102 },
+ { 0x6976, 18688 },
+ { 0x6977, 18700 },
+ { 0x6978, 18724 },
+ { 0x6979, 18708 },
+ { 0x697A, 18704 },
+ { 0x697B, 18692 },
+ { 0x697C, 18720 },
+ { 0x697D, 18716 },
+ { 0x697E, 18712 },
+ { 0x697F, 18696 },
+ { 0x6980, 18728 },
+ { 0x6981, 18732 },
+ { 0x6982, 18736 },
+ { 0x6983, 18745 },
+ { 0x6984, 18763 },
+ { 0x6985, 18751 },
+ { 0x6986, 18748 },
+ { 0x6987, 18739 },
+ { 0x6988, 18760 },
+ { 0x6989, 18757 },
+ { 0x698A, 18754 },
+ { 0x698B, 18742 },
+ { 0x698C, 18766 },
+ { 0x698D, 18769 },
+ { 0x698E, 32774 },
+ { 0x698F, 32776 },
+ { 0x6990, 32782 },
+ { 0x6991, 66959 },
+ { 0x6992, 66960 },
+ { 0x6993, 62276 },
+ { 0x6994, 12101 },
+ { 0x6995, 43260 },
+ { 0x6996, 102556 },
+ { 0x6997, 18196 },
+ { 0x6998, 98 },
+ { 0x6999, 12693 },
+ { 0x699A, 6224 },
+ { 0x699B, 52662 },
+ { 0x699C, 12418 },
+ { 0x699D, 52669 },
+ { 0x699E, 52670 },
+ { 0x699F, 79683 },
+ { 0x69A0, 12786 },
+ { 0x69A1, 98722 },
+ { 0x69A2, 32573 },
+ { 0x69A3, 34999 },
+ { 0x69A4, 18469 },
+ { 0x69A5, 98710 },
+ { 0x69A6, 87130 },
+ { 0x69A7, 12043 },
+ { 0x69A8, 64107 },
+ { 0x69A9, 75995 },
+ { 0x69AA, 45191 },
+ { 0x69AB, 9246 },
+ { 0x69AC, 51004 },
+ { 0x69AD, 18404 },
+ { 0x69AE, 30665 },
+ { 0x69AF, 30680 },
+ { 0x69B0, 30668 },
+ { 0x69B1, 30684 },
+ { 0x69B2, 30662 },
+ { 0x69B3, 13043 },
+ { 0x69B4, 54542 },
+ { 0x69B5, 52391 },
+ { 0x69B6, 83055 },
+ { 0x69B7, 83061 },
+ { 0x69B8, 83065 },
+ { 0x69B9, 83080 },
+ { 0x69BA, 83015 },
+ { 0x69BB, 52382 },
+ { 0x69BC, 34641 },
+ { 0x69BD, 83141 },
+ { 0x69BE, 83146 },
+ { 0x69BF, 83121 },
+ { 0x69C0, 83126 },
+ { 0x69C1, 18114 },
+ { 0x69C2, 18188 },
+ { 0x69C3, 83131 },
+ { 0x69C4, 83136 },
+ { 0x69C5, 83111 },
+ { 0x69C6, 83116 },
+ { 0x69C7, 18076 },
+ { 0x69C8, 18090 },
+ { 0x69C9, 58007 },
+ { 0x69CA, 80048 },
+ { 0x69CB, 34226 },
+ { 0x69CC, 62105 },
+ { 0x69CD, 52338 },
+ { 0x69CE, 18101 },
+ { 0x69CF, 34673 },
+ { 0x69D0, 14426 },
+ { 0x69D1, 14590 },
+ { 0x69D2, 35070 },
+ { 0x69D3, 8925 },
+ { 0x69D4, 10890 },
+ { 0x69D5, 34213 },
+ { 0x69D6, 98990 },
+ { 0x69D7, 8363 },
+ { 0x69D8, 12682 },
+ { 0x69D9, 52588 },
+ { 0x69DA, 62106 },
+ { 0x69DB, 5922 },
+ { 0x69DC, 61598 },
+ { 0x69DD, 72184 },
+ { 0x69DE, 72187 },
+ { 0x69DF, 72192 },
+ { 0x69E0, 19097 },
+ { 0x69E1, 19094 },
+ { 0x69E2, 19090 },
+ { 0x69E3, 18302 },
+ { 0x69E4, 45193 },
+ { 0x69E5, 14174 },
+ { 0x69E6, 12120 },
+ { 0x69E7, 12115 },
+ { 0x69E8, 12586 },
+ { 0x69E9, 19016 },
+ { 0x69EA, 19021 },
+ { 0x69EB, 19018 },
+ { 0x69EC, 14142 },
+ { 0x69ED, 14145 },
+ { 0x69EE, 14143 },
+ { 0x69EF, 19028 },
+ { 0x69F0, 19024 },
+ { 0x69F1, 19026 },
+ { 0x69F2, 72183 },
+ { 0x69F3, 14190 },
+ { 0x69F4, 32523 },
+ { 0x69F5, 105808 },
+ { 0x69F6, 52672 },
+ { 0x69F7, 52677 },
+ { 0x69F8, 58005 },
+ { 0x69F9, 80867 },
+ { 0x69FA, 80178 },
+ { 0x69FB, 61721 },
+ { 0x69FC, 87144 },
+ { 0x69FD, 106100 },
+ { 0x69FE, 79282 },
+ { 0x69FF, 72164 },
+ { 0x6A00, 101880 },
+ { 0x6A01, 7180 },
+ { 0x6A02, 98167 },
+ { 0x6A03, 14194 },
+ { 0x6A04, 33732 },
+ { 0x6A05, 44535 },
+ { 0x6A06, 13122 },
+ { 0x6A07, 83168 },
+ { 0x6A08, 34196 },
+ { 0x6A09, 34199 },
+ { 0x6A0A, 34193 },
+ { 0x6A0B, 34202 },
+ { 0x6A0C, 12987 },
+ { 0x6A0D, 32723 },
+ { 0x6A0E, 10898 },
+ { 0x6A0F, 34216 },
+ { 0x6A10, 13040 },
+ { 0x6A11, 32788 },
+ { 0x6A12, 12792 },
+ { 0x6A13, 32579 },
+ { 0x6A14, 14122 },
+ { 0x6A15, 96889 },
+ { 0x6A16, 96887 },
+ { 0x6A17, 42780 },
+ { 0x6A18, 42793 },
+ { 0x6A19, 42784 },
+ { 0x6A1A, 42789 },
+ { 0x6A1B, 42765 },
+ { 0x6A1C, 30375 },
+ { 0x6A1D, 42760 },
+ { 0x6A1E, 35077 },
+ { 0x6A1F, 31854 },
+ { 0x6A20, 34294 },
+ { 0x6A21, 53288 },
+ { 0x6A22, 101832 },
+ { 0x6A23, 31862 },
+ { 0x6A24, 78052 },
+ { 0x6A25, 78054 },
+ { 0x6A26, 12530 },
+ { 0x6A27, 63653 },
+ { 0x6A28, 63666 },
+ { 0x6A29, 63658 },
+ { 0x6A2A, 63674 },
+ { 0x6A2B, 63649 },
+ { 0x6A2C, 63682 },
+ { 0x6A2D, 65749 },
+ { 0x6A2E, 63686 },
+ { 0x6A2F, 12576 },
+ { 0x6A30, 83006 },
+ { 0x6A31, 63695 },
+ { 0x6A32, 63691 },
+ { 0x6A33, 83165 },
+ { 0x6A34, 61554 },
+ { 0x6A35, 112215 },
+ { 0x6A36, 83756 },
+ { 0x6A37, 12510 },
+ { 0x6A38, 61726 },
+ { 0x6A39, 70152 },
+ { 0x6A3A, 99555 },
+ { 0x6A3B, 59056 },
+ { 0x6A3C, 12572 },
+ { 0x6A3D, 59063 },
+ { 0x6A3E, 59058 },
+ { 0x6A3F, 12543 },
+ { 0x6A40, 12547 },
+ { 0x6A41, 12554 },
+ { 0x6A42, 106111 },
+ { 0x6A43, 65751 },
+ { 0x6A44, 15067 },
+ { 0x6A45, 62103 },
+ { 0x6A46, 44519 },
+ { 0x6A47, 102566 },
+ { 0x6A48, 12514 },
+ { 0x6A49, 106107 },
+ { 0x6A4A, 77575 },
+ { 0x6A4B, 85634 },
+ { 0x6A4C, 58408 },
+ { 0x6A4D, 34600 },
+ { 0x6A4E, 52660 },
+ { 0x6A4F, 34292 },
+ { 0x6A50, 95479 },
+ { 0x6A51, 51006 },
+ { 0x6A52, 12519 },
+ { 0x6A53, 47290 },
+ { 0x6A54, 12523 },
+ { 0x6A55, 12580 },
+ { 0x6A56, 99536 },
+ { 0x6A57, 58415 },
+ { 0x6A58, 83153 },
+ { 0x6A59, 18925 },
+ { 0x6A5A, 12569 },
+ { 0x6A5B, 12535 },
+ { 0x6A5C, 78046 },
+ { 0x6A5D, 5321 },
+ { 0x6A5E, 63637 },
+ { 0x6A5F, 63643 },
+ { 0x6A60, 5316 },
+ { 0x6A61, 59050 },
+ { 0x6A62, 62100 },
+ { 0x6A63, 44516 },
+ { 0x6A64, 34597 },
+ { 0x6A65, 83162 },
+ { 0x6A66, 83159 },
+ { 0x6A67, 105806 },
+ { 0x6A68, 12539 },
+ { 0x6A69, 12501 },
+ { 0x6A6A, 12506 },
+ { 0x6A6B, 52316 },
+ { 0x6A6C, 102576 },
+ { 0x6A6D, 106281 },
+ { 0x6A6E, 112206 },
+ { 0x6A6F, 22025 },
+ { 0x6A70, 52319 },
+ { 0x6A71, 52325 },
+ { 0x6A72, 52312 },
+ { 0x6A73, 52308 },
+ { 0x6A74, 32061 },
+ { 0x6A75, 33696 },
+ { 0x6A76, 31983 },
+ { 0x6A77, 33642 },
+ { 0x6A78, 54576 },
+ { 0x6A79, 54589 },
+ { 0x6A7A, 54571 },
+ { 0x6A7B, 54584 },
+ { 0x6A7C, 32065 },
+ { 0x6A7D, 33700 },
+ { 0x6A7E, 31987 },
+ { 0x6A7F, 33646 },
+ { 0x6A80, 22203 },
+ { 0x6A81, 22229 },
+ { 0x6A82, 22192 },
+ { 0x6A83, 22218 },
+ { 0x6A84, 32057 },
+ { 0x6A85, 33692 },
+ { 0x6A86, 31979 },
+ { 0x6A87, 33638 },
+ { 0x6A88, 22198 },
+ { 0x6A89, 22224 },
+ { 0x6A8A, 22187 },
+ { 0x6A8B, 22213 },
+ { 0x6A8C, 47279 },
+ { 0x6A8D, 47283 },
+ { 0x6A8E, 33585 },
+ { 0x6A8F, 33589 },
+ { 0x6A90, 96471 },
+ { 0x6A91, 65572 },
+ { 0x6A92, 101254 },
+ { 0x6A93, 94859 },
+ { 0x6A94, 52628 },
+ { 0x6A95, 22290 },
+ { 0x6A96, 80053 },
+ { 0x6A97, 22346 },
+ { 0x6A98, 22358 },
+ { 0x6A99, 33735 },
+ { 0x6A9A, 101547 },
+ { 0x6A9B, 101540 },
+ { 0x6A9C, 101532 },
+ { 0x6A9D, 22415 },
+ { 0x6A9E, 101555 },
+ { 0x6A9F, 22403 },
+ { 0x6AA0, 14992 },
+ { 0x6AA1, 14985 },
+ { 0x6AA2, 56444 },
+ { 0x6AA3, 62259 },
+ { 0x6AA4, 52579 },
+ { 0x6AA5, 100457 },
+ { 0x6AA6, 33730 },
+ { 0x6AA7, 62236 },
+ { 0x6AA8, 100458 },
+ { 0x6AA9, 100460 },
+ { 0x6AAA, 34301 },
+ { 0x6AAB, 31814 },
+ { 0x6AAC, 30373 },
+ { 0x6AAD, 64109 },
+ { 0x6AAE, 14936 },
+ { 0x6AAF, 14937 },
+ { 0x6AB0, 5308 },
+ { 0x6AB1, 82331 },
+ { 0x6AB2, 101849 },
+ { 0x6AB3, 5309 },
+ { 0x6AB4, 59430 },
+ { 0x6AB5, 83873 },
+ { 0x6AB6, 12593 },
+ { 0x6AB7, 52340 },
+ { 0x6AB8, 82338 },
+ { 0x6AB9, 14592 },
+ { 0x6ABA, 82336 },
+ { 0x6ABB, 99538 },
+ { 0x6ABC, 82341 },
+ { 0x6ABD, 111201 },
+ { 0x6ABE, 72168 },
+ { 0x6ABF, 101857 },
+ { 0x6AC0, 65383 },
+ { 0x6AC1, 81925 },
+ { 0x6AC2, 81928 },
+ { 0x6AC3, 101838 },
+ { 0x6AC4, 81930 },
+ { 0x6AC5, 35290 },
+ { 0x6AC6, 14411 },
+ { 0x6AC7, 62306 },
+ { 0x6AC8, 98409 },
+ { 0x6AC9, 100497 },
+ { 0x6ACA, 83851 },
+ { 0x6ACB, 106102 },
+ { 0x6ACC, 52342 },
+ { 0x6ACD, 101841 },
+ { 0x6ACE, 12475 },
+ { 0x6ACF, 92 },
+ { 0x6AD0, 63700 },
+ { 0x6AD1, 100 },
+ { 0x6AD2, 9273 },
+ { 0x6AD3, 69 },
+ { 0x6AD4, 62095 },
+ { 0x6AD5, 102560 },
+ { 0x6AD6, 55664 },
+ { 0x6AD7, 103 },
+ { 0x6AD8, 85647 },
+ { 0x6AD9, 81932 },
+ { 0x6ADA, 100885 },
+ { 0x6ADB, 105 },
+ { 0x6ADC, 70139 },
+ { 0x6ADD, 13386 },
+ { 0x6ADE, 55147 },
+ { 0x6ADF, 83011 },
+ { 0x6AE0, 12041 },
+ { 0x6AE1, 54480 },
+ { 0x6AE2, 34593 },
+ { 0x6AE3, 52641 },
+ { 0x6AE4, 12052 },
+ { 0x6AE5, 55334 },
+ { 0x6AE6, 82370 },
+ { 0x6AE7, 57487 },
+ { 0x6AE8, 55331 },
+ { 0x6AE9, 13038 },
+ { 0x6AEA, 83643 },
+ { 0x6AEB, 100984 },
+ { 0x6AEC, 57443 },
+ { 0x6AED, 12105 },
+ { 0x6AEE, 19106 },
+ { 0x6AEF, 18794 },
+ { 0x6AF0, 83157 },
+ { 0x6AF1, 83109 },
+ { 0x6AF2, 55339 },
+ { 0x6AF3, 4445 },
+ { 0x6AF4, 32531 },
+ { 0x6AF5, 45302 },
+ { 0x6AF6, 52638 },
+ { 0x6AF7, 7178 },
+ { 0x6AF8, 81926 },
+ { 0x6AF9, 62238 },
+ { 0x6AFA, 31852 },
+ { 0x6AFB, 105791 },
+ { 0x6AFC, 105789 },
+ { 0x6AFD, 105786 },
+ { 0x6AFE, 33534 },
+ { 0x6AFF, 112309 },
+ { 0x6B00, 65767 },
+ { 0x6B01, 65765 },
+ { 0x6B02, 98383 },
+ { 0x6B03, 82333 },
+ { 0x6B04, 44556 },
+ { 0x6B05, 98101 },
+ { 0x6B06, 99524 },
+ { 0x6B07, 98999 },
+ { 0x6B08, 99065 },
+ { 0x6B09, 99155 },
+ { 0x6B0A, 99189 },
+ { 0x6B0B, 99474 },
+ { 0x6B0C, 99029 },
+ { 0x6B0D, 99039 },
+ { 0x6B0E, 99034 },
+ { 0x6B0F, 99044 },
+ { 0x6B10, 99350 },
+ { 0x6B11, 99462 },
+ { 0x6B12, 99466 },
+ { 0x6B13, 99245 },
+ { 0x6B14, 99515 },
+ { 0x6B15, 99137 },
+ { 0x6B16, 99282 },
+ { 0x6B17, 99287 },
+ { 0x6B18, 99292 },
+ { 0x6B19, 99377 },
+ { 0x6B1A, 99112 },
+ { 0x6B1B, 99172 },
+ { 0x6B1C, 99360 },
+ { 0x6B1D, 99470 },
+ { 0x6B1E, 99102 },
+ { 0x6B1F, 99107 },
+ { 0x6B20, 99069 },
+ { 0x6B21, 99237 },
+ { 0x6B22, 99087 },
+ { 0x6B23, 99092 },
+ { 0x6B24, 99207 },
+ { 0x6B25, 99305 },
+ { 0x6B26, 99197 },
+ { 0x6B27, 99502 },
+ { 0x6B28, 99446 },
+ { 0x6B29, 99213 },
+ { 0x6B2A, 99219 },
+ { 0x6B2B, 99202 },
+ { 0x6B2C, 99116 },
+ { 0x6B2D, 99430 },
+ { 0x6B2E, 99458 },
+ { 0x6B2F, 99016 },
+ { 0x6B30, 99097 },
+ { 0x6B31, 99368 },
+ { 0x6B32, 99452 },
+ { 0x6B33, 99123 },
+ { 0x6B34, 99438 },
+ { 0x6B35, 99354 },
+ { 0x6B36, 99311 },
+ { 0x6B37, 99317 },
+ { 0x6B38, 99301 },
+ { 0x6B39, 99418 },
+ { 0x6B3A, 99422 },
+ { 0x6B3B, 99426 },
+ { 0x6B3C, 99193 },
+ { 0x6B3D, 99364 },
+ { 0x6B3E, 99410 },
+ { 0x6B3F, 99528 },
+ { 0x6B40, 99261 },
+ { 0x6B41, 99297 },
+ { 0x6B42, 99414 },
+ { 0x6B43, 99498 },
+ { 0x6B44, 99265 },
+ { 0x6B45, 99249 },
+ { 0x6B46, 99394 },
+ { 0x6B47, 99176 },
+ { 0x6B48, 99142 },
+ { 0x6B49, 99270 },
+ { 0x6B4A, 99274 },
+ { 0x6B4B, 99025 },
+ { 0x6B4C, 99007 },
+ { 0x6B4D, 99241 },
+ { 0x6B4E, 99398 },
+ { 0x6B4F, 99003 },
+ { 0x6B50, 99021 },
+ { 0x6B51, 99225 },
+ { 0x6B52, 99061 },
+ { 0x6B53, 99181 },
+ { 0x6B54, 99150 },
+ { 0x6B55, 99323 },
+ { 0x6B56, 99373 },
+ { 0x6B57, 99346 },
+ { 0x6B58, 99329 },
+ { 0x6B59, 99406 },
+ { 0x6B5A, 99129 },
+ { 0x6B5B, 99185 },
+ { 0x6B5C, 99159 },
+ { 0x6B5D, 99133 },
+ { 0x6B5E, 99011 },
+ { 0x6B5F, 99146 },
+ { 0x6B60, 99389 },
+ { 0x6B61, 99257 },
+ { 0x6B62, 99334 },
+ { 0x6B63, 99340 },
+ { 0x6B64, 99511 },
+ { 0x6B65, 99507 },
+ { 0x6B66, 99278 },
+ { 0x6B67, 99385 },
+ { 0x6B68, 99494 },
+ { 0x6B69, 99229 },
+ { 0x6B6A, 99520 },
+ { 0x6B6B, 99381 },
+ { 0x6B6C, 99478 },
+ { 0x6B6D, 99482 },
+ { 0x6B6E, 99486 },
+ { 0x6B6F, 99490 },
+ { 0x6B70, 99253 },
+ { 0x6B71, 99049 },
+ { 0x6B72, 99055 },
+ { 0x6B73, 99233 },
+ { 0x6B74, 99083 },
+ { 0x6B75, 99168 },
+ { 0x6B76, 99402 },
+ { 0x6B77, 99164 },
+ { 0x6B78, 99073 },
+ { 0x6B79, 99078 },
+ { 0x6B7A, 18545 },
+ { 0x6B7B, 18503 },
+ { 0x6B7C, 18583 },
+ { 0x6B7D, 18519 },
+ { 0x6B7E, 18438 },
+ { 0x6B7F, 51187 },
+ { 0x6B80, 12092 },
+ { 0x6B81, 22241 },
+ { 0x6B82, 14977 },
+ { 0x6B83, 95054 },
+ { 0x6B84, 34806 },
+ { 0x6B85, 32969 },
+ { 0x6B86, 18124 },
+ { 0x6B87, 18442 },
+ { 0x6B88, 30398 },
+ { 0x6B89, 51257 },
+ { 0x6B8A, 12095 },
+ { 0x6B8B, 22244 },
+ { 0x6B8C, 14981 },
+ { 0x6B8D, 95058 },
+ { 0x6B8E, 34889 },
+ { 0x6B8F, 34902 },
+ { 0x6B90, 53204 },
+ { 0x6B91, 18127 },
+ { 0x6B92, 18137 },
+ { 0x6B93, 18308 },
+ { 0x6B94, 34922 },
+ { 0x6B95, 34935 },
+ { 0x6B96, 58035 },
+ { 0x6B97, 18130 },
+ { 0x6B98, 18141 },
+ { 0x6B99, 18312 },
+ { 0x6B9A, 34943 },
+ { 0x6B9B, 14921 },
+ { 0x6B9C, 30382 },
+ { 0x6B9D, 51226 },
+ { 0x6B9E, 12089 },
+ { 0x6B9F, 14942 },
+ { 0x6BA0, 14973 },
+ { 0x6BA1, 95050 },
+ { 0x6BA2, 14926 },
+ { 0x6BA3, 30406 },
+ { 0x6BA4, 51260 },
+ { 0x6BA5, 12098 },
+ { 0x6BA6, 22324 },
+ { 0x6BA7, 14989 },
+ { 0x6BA8, 95062 },
+ { 0x6BA9, 30348 },
+ { 0x6BAA, 51191 },
+ { 0x6BAB, 12081 },
+ { 0x6BAC, 22067 },
+ { 0x6BAD, 14957 },
+ { 0x6BAE, 95045 },
+ { 0x6BAF, 30344 },
+ { 0x6BB0, 51178 },
+ { 0x6BB1, 12077 },
+ { 0x6BB2, 22058 },
+ { 0x6BB3, 14952 },
+ { 0x6BB4, 95040 },
+ { 0x6BB5, 30378 },
+ { 0x6BB6, 51217 },
+ { 0x6BB7, 12085 },
+ { 0x6BB8, 22135 },
+ { 0x6BB9, 14962 },
+ { 0x6BBA, 30393 },
+ { 0x6BBB, 51244 },
+ { 0x6BBC, 34219 },
+ { 0x6BBD, 51249 },
+ { 0x6BBE, 30362 },
+ { 0x6BBF, 51195 },
+ { 0x6BC0, 12632 },
+ { 0x6BC1, 51200 },
+ { 0x6BC2, 62241 },
+ { 0x6BC3, 30352 },
+ { 0x6BC4, 22071 },
+ { 0x6BC5, 51182 },
+ { 0x6BC6, 22062 },
+ { 0x6BC7, 9300 },
+ { 0x6BC8, 51221 },
+ { 0x6BC9, 22139 },
+ { 0x6BCA, 14967 },
+ { 0x6BCB, 22144 },
+ { 0x6BCC, 30401 },
+ { 0x6BCD, 22308 },
+ { 0x6BCE, 22313 },
+ { 0x6BCF, 96325 },
+ { 0x6BD0, 65449 },
+ { 0x6BD1, 101093 },
+ { 0x6BD2, 94775 },
+ { 0x6BD3, 96348 },
+ { 0x6BD4, 65466 },
+ { 0x6BD5, 101121 },
+ { 0x6BD6, 94797 },
+ { 0x6BD7, 96319 },
+ { 0x6BD8, 65443 },
+ { 0x6BD9, 101087 },
+ { 0x6BDA, 94769 },
+ { 0x6BDB, 96331 },
+ { 0x6BDC, 65455 },
+ { 0x6BDD, 101099 },
+ { 0x6BDE, 94781 },
+ { 0x6BDF, 96368 },
+ { 0x6BE0, 65482 },
+ { 0x6BE1, 101141 },
+ { 0x6BE2, 94813 },
+ { 0x6BE3, 22381 },
+ { 0x6BE4, 22335 },
+ { 0x6BE5, 22397 },
+ { 0x6BE6, 22368 },
+ { 0x6BE7, 22374 },
+ { 0x6BE8, 22328 },
+ { 0x6BE9, 22390 },
+ { 0x6BEA, 22361 },
+ { 0x6BEB, 96739 },
+ { 0x6BEC, 65721 },
+ { 0x6BED, 101518 },
+ { 0x6BEE, 95005 },
+ { 0x6BEF, 96733 },
+ { 0x6BF0, 65715 },
+ { 0x6BF1, 101512 },
+ { 0x6BF2, 94999 },
+ { 0x6BF3, 96686 },
+ { 0x6BF4, 65675 },
+ { 0x6BF5, 101465 },
+ { 0x6BF6, 94959 },
+ { 0x6BF7, 96713 },
+ { 0x6BF8, 65702 },
+ { 0x6BF9, 101492 },
+ { 0x6BFA, 94986 },
+ { 0x6BFB, 96706 },
+ { 0x6BFC, 65695 },
+ { 0x6BFD, 101485 },
+ { 0x6BFE, 94979 },
+ { 0x6BFF, 96648 },
+ { 0x6C00, 65664 },
+ { 0x6C01, 101431 },
+ { 0x6C02, 94948 },
+ { 0x6C03, 96572 },
+ { 0x6C04, 65637 },
+ { 0x6C05, 101355 },
+ { 0x6C06, 94927 },
+ { 0x6C07, 96586 },
+ { 0x6C08, 65646 },
+ { 0x6C09, 101369 },
+ { 0x6C0A, 94936 },
+ { 0x6C0B, 96426 },
+ { 0x6C0C, 65504 },
+ { 0x6C0D, 101199 },
+ { 0x6C0E, 94835 },
+ { 0x6C0F, 96423 },
+ { 0x6C10, 65501 },
+ { 0x6C11, 101196 },
+ { 0x6C12, 94832 },
+ { 0x6C13, 96589 },
+ { 0x6C14, 65649 },
+ { 0x6C15, 101372 },
+ { 0x6C16, 94939 },
+ { 0x6C17, 32070 },
+ { 0x6C18, 31992 },
+ { 0x6C19, 33651 },
+ { 0x6C1A, 33705 },
+ { 0x6C1B, 12901 },
+ { 0x6C1C, 365 },
+ { 0x6C1D, 105997 },
+ { 0x6C1E, 105947 },
+ { 0x6C1F, 106022 },
+ { 0x6C20, 105972 },
+ { 0x6C21, 105860 },
+ { 0x6C22, 105830 },
+ { 0x6C23, 105890 },
+ { 0x6C24, 105920 },
+ { 0x6C25, 105982 },
+ { 0x6C26, 105932 },
+ { 0x6C27, 106007 },
+ { 0x6C28, 105957 },
+ { 0x6C29, 105842 },
+ { 0x6C2A, 105812 },
+ { 0x6C2B, 105872 },
+ { 0x6C2C, 105902 },
+ { 0x6C2D, 106002 },
+ { 0x6C2E, 105952 },
+ { 0x6C2F, 106027 },
+ { 0x6C30, 105977 },
+ { 0x6C31, 105866 },
+ { 0x6C32, 105836 },
+ { 0x6C33, 105896 },
+ { 0x6C34, 105926 },
+ { 0x6C35, 105992 },
+ { 0x6C36, 105942 },
+ { 0x6C37, 106017 },
+ { 0x6C38, 105967 },
+ { 0x6C39, 105854 },
+ { 0x6C3A, 105824 },
+ { 0x6C3B, 105884 },
+ { 0x6C3C, 105914 },
+ { 0x6C3D, 105986 },
+ { 0x6C3E, 105936 },
+ { 0x6C3F, 106011 },
+ { 0x6C40, 105961 },
+ { 0x6C41, 105847 },
+ { 0x6C42, 105817 },
+ { 0x6C43, 105877 },
+ { 0x6C44, 105907 },
+ { 0x6C45, 96578 },
+ { 0x6C46, 65640 },
+ { 0x6C47, 101361 },
+ { 0x6C48, 94930 },
+ { 0x6C49, 96433 },
+ { 0x6C4A, 65545 },
+ { 0x6C4B, 101211 },
+ { 0x6C4C, 94842 },
+ { 0x6C4D, 96358 },
+ { 0x6C4E, 65472 },
+ { 0x6C4F, 101131 },
+ { 0x6C50, 94803 },
+ { 0x6C51, 22092 },
+ { 0x6C52, 22109 },
+ { 0x6C53, 22097 },
+ { 0x6C54, 22103 },
+ { 0x6C55, 96667 },
+ { 0x6C56, 101217 },
+ { 0x6C57, 96229 },
+ { 0x6C58, 101006 },
+ { 0x6C59, 96651 },
+ { 0x6C5A, 101446 },
+ { 0x6C5B, 96663 },
+ { 0x6C5C, 101434 },
+ { 0x6C5D, 96643 },
+ { 0x6C5E, 101426 },
+ { 0x6C5F, 96658 },
+ { 0x6C60, 101441 },
+ { 0x6C61, 34697 },
+ { 0x6C62, 34702 },
+ { 0x6C63, 111233 },
+ { 0x6C64, 102558 },
+ { 0x6C65, 12561 },
+ { 0x6C66, 14137 },
+ { 0x6C67, 83372 },
+ { 0x6C68, 12564 },
+ { 0x6C69, 32841 },
+ { 0x6C6A, 58742 },
+ { 0x6C6B, 14412 },
+ { 0x6C6C, 12413 },
+ { 0x6C6D, 13120 },
+ { 0x6C6E, 83093 },
+ { 0x6C6F, 54541 },
+ { 0x6C70, 65417 },
+ { 0x6C71, 43623 },
+ { 0x6C72, 80051 },
+ { 0x6C73, 9649 },
+ { 0x6C74, 9696 },
+ { 0x6C75, 9683 },
+ { 0x6C76, 9659 },
+ { 0x6C77, 9653 },
+ { 0x6C78, 9662 },
+ { 0x6C79, 9678 },
+ { 0x6C7A, 9688 },
+ { 0x6C7B, 9335 },
+ { 0x6C7C, 9646 },
+ { 0x6C7D, 9670 },
+ { 0x6C7E, 9338 },
+ { 0x6C7F, 9343 },
+ { 0x6C80, 9702 },
+ { 0x6C81, 9324 },
+ { 0x6C82, 9668 },
+ { 0x6C83, 9363 },
+ { 0x6C84, 9345 },
+ { 0x6C85, 9351 },
+ { 0x6C86, 9372 },
+ { 0x6C87, 9357 },
+ { 0x6C88, 9354 },
+ { 0x6C89, 9348 },
+ { 0x6C8A, 9369 },
+ { 0x6C8B, 9366 },
+ { 0x6C8C, 9360 },
+ { 0x6C8D, 9341 },
+ { 0x6C8E, 9686 },
+ { 0x6C8F, 9680 },
+ { 0x6C90, 9656 },
+ { 0x6C91, 9699 },
+ { 0x6C92, 9672 },
+ { 0x6C93, 9693 },
+ { 0x6C94, 9508 },
+ { 0x6C95, 9513 },
+ { 0x6C96, 9518 },
+ { 0x6C97, 9523 },
+ { 0x6C98, 9528 },
+ { 0x6C99, 9533 },
+ { 0x6C9A, 9538 },
+ { 0x6C9B, 9543 },
+ { 0x6C9C, 9548 },
+ { 0x6C9D, 9553 },
+ { 0x6C9E, 9558 },
+ { 0x6C9F, 9563 },
+ { 0x6CA0, 9568 },
+ { 0x6CA1, 9573 },
+ { 0x6CA2, 9578 },
+ { 0x6CA3, 9583 },
+ { 0x6CA4, 9588 },
+ { 0x6CA5, 9593 },
+ { 0x6CA6, 9598 },
+ { 0x6CA7, 9603 },
+ { 0x6CA8, 9608 },
+ { 0x6CA9, 9613 },
+ { 0x6CAA, 9618 },
+ { 0x6CAB, 9623 },
+ { 0x6CAC, 9628 },
+ { 0x6CAD, 9633 },
+ { 0x6CAE, 9331 },
+ { 0x6CAF, 9665 },
+ { 0x6CB0, 9642 },
+ { 0x6CB1, 9690 },
+ { 0x6CB2, 9321 },
+ { 0x6CB3, 9375 },
+ { 0x6CB4, 9378 },
+ { 0x6CB5, 9383 },
+ { 0x6CB6, 9388 },
+ { 0x6CB7, 9393 },
+ { 0x6CB8, 9398 },
+ { 0x6CB9, 9403 },
+ { 0x6CBA, 9408 },
+ { 0x6CBB, 9413 },
+ { 0x6CBC, 9418 },
+ { 0x6CBD, 9423 },
+ { 0x6CBE, 9428 },
+ { 0x6CBF, 9433 },
+ { 0x6CC0, 9438 },
+ { 0x6CC1, 9443 },
+ { 0x6CC2, 9448 },
+ { 0x6CC3, 9453 },
+ { 0x6CC4, 9458 },
+ { 0x6CC5, 9463 },
+ { 0x6CC6, 9468 },
+ { 0x6CC7, 9473 },
+ { 0x6CC8, 9478 },
+ { 0x6CC9, 9483 },
+ { 0x6CCA, 9488 },
+ { 0x6CCB, 9493 },
+ { 0x6CCC, 9498 },
+ { 0x6CCD, 9503 },
+ { 0x6CCE, 9327 },
+ { 0x6CCF, 9675 },
+ { 0x6CD0, 9638 },
+ { 0x6CD1, 9651 },
+ { 0x6CD2, 43257 },
};
#define UNICODE_CHARNAME_MAX_LENGTH 83
#define UNICODE_CHARNAME_MAX_WORDS 13
+static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_ranges[605] = {
+ { 0, 32, 95 },
+ { 95, 65, 728 },
+ { 823, 67, 6 },
+ { 829, 71, 7 },
+ { 836, 72, 1 },
+ { 837, 73, 20 },
+ { 857, 74, 397 },
+ { 1254, 75, 38 },
+ { 1292, 77, 7 },
+ { 1299, 78, 39 },
+ { 1338, 79, 2 },
+ { 1340, 81, 3 },
+ { 1343, 82, 55 },
+ { 1398, 90, 27 },
+ { 1425, 95, 5 },
+ { 1430, 106, 29 },
+ { 1459, 107, 240 },
+ { 1699, 108, 60 },
+ { 1759, 110, 101 },
+ { 1860, 124, 59 },
+ { 1919, 129, 46 },
+ { 1965, 131, 15 },
+ { 1980, 132, 28 },
+ { 2008, 134, 1 },
+ { 2009, 199, 21 },
+ { 2030, 245, 161 },
+ { 2191, 246, 8 },
+ { 2199, 248, 2 },
+ { 2201, 250, 22 },
+ { 2223, 251, 7 },
+ { 2230, 252, 1 },
+ { 2231, 255, 4 },
+ { 2235, 257, 9 },
+ { 2244, 259, 2 },
+ { 2246, 261, 4 },
+ { 2250, 269, 1 },
+ { 2251, 273, 2 },
+ { 2253, 274, 5 },
+ { 2258, 276, 22 },
+ { 2280, 281, 3 },
+ { 2283, 282, 6 },
+ { 2289, 286, 2 },
+ { 2291, 288, 22 },
+ { 2313, 289, 7 },
+ { 2320, 290, 2 },
+ { 2322, 291, 2 },
+ { 2324, 292, 2 },
+ { 2326, 294, 1 },
+ { 2327, 295, 5 },
+ { 2332, 299, 2 },
+ { 2334, 301, 3 },
+ { 2337, 304, 1 },
+ { 2338, 311, 4 },
+ { 2342, 312, 1 },
+ { 2343, 319, 16 },
+ { 2359, 330, 3 },
+ { 2362, 331, 9 },
+ { 2371, 332, 3 },
+ { 2374, 333, 22 },
+ { 2396, 334, 7 },
+ { 2403, 335, 2 },
+ { 2405, 336, 5 },
+ { 2410, 338, 10 },
+ { 2420, 339, 3 },
+ { 2423, 340, 3 },
+ { 2426, 342, 1 },
+ { 2427, 357, 4 },
+ { 2431, 359, 12 },
+ { 2443, 366, 1 },
+ { 2444, 373, 3 },
+ { 2447, 374, 8 },
+ { 2455, 376, 2 },
+ { 2457, 378, 22 },
+ { 2479, 379, 7 },
+ { 2486, 380, 2 },
+ { 2488, 381, 5 },
+ { 2493, 383, 9 },
+ { 2502, 385, 2 },
+ { 2504, 387, 3 },
+ { 2507, 395, 2 },
+ { 2509, 399, 2 },
+ { 2511, 400, 5 },
+ { 2516, 402, 18 },
+ { 2534, 412, 2 },
+ { 2536, 413, 6 },
+ { 2542, 416, 3 },
+ { 2545, 417, 4 },
+ { 2549, 420, 2 },
+ { 2551, 421, 1 },
+ { 2552, 422, 2 },
+ { 2554, 425, 2 },
+ { 2556, 428, 3 },
+ { 2559, 431, 12 },
+ { 2571, 435, 5 },
+ { 2576, 438, 3 },
+ { 2579, 439, 4 },
+ { 2583, 441, 1 },
+ { 2584, 447, 1 },
+ { 2585, 461, 21 },
+ { 2606, 466, 4 },
+ { 2610, 467, 8 },
+ { 2618, 468, 3 },
+ { 2621, 469, 23 },
+ { 2644, 470, 16 },
+ { 2660, 473, 8 },
+ { 2668, 474, 3 },
+ { 2671, 475, 4 },
+ { 2675, 482, 2 },
+ { 2677, 483, 3 },
+ { 2680, 488, 4 },
+ { 2684, 490, 10 },
+ { 2694, 498, 8 },
+ { 2702, 499, 3 },
+ { 2705, 500, 8 },
+ { 2713, 501, 3 },
+ { 2716, 502, 23 },
+ { 2739, 503, 10 },
+ { 2749, 504, 5 },
+ { 2754, 506, 9 },
+ { 2763, 507, 3 },
+ { 2766, 508, 4 },
+ { 2770, 515, 2 },
+ { 2772, 522, 1 },
+ { 2773, 523, 4 },
+ { 2777, 525, 10 },
+ { 2787, 526, 2 },
+ { 2789, 540, 3 },
+ { 2792, 541, 8 },
+ { 2800, 542, 3 },
+ { 2803, 543, 41 },
+ { 2844, 545, 8 },
+ { 2852, 546, 3 },
+ { 2855, 547, 5 },
+ { 2860, 555, 1 },
+ { 2861, 562, 5 },
+ { 2866, 564, 16 },
+ { 2882, 567, 7 },
+ { 2889, 569, 2 },
+ { 2891, 570, 18 },
+ { 2909, 573, 24 },
+ { 2933, 574, 9 },
+ { 2942, 575, 1 },
+ { 2943, 577, 7 },
+ { 2950, 580, 1 },
+ { 2951, 584, 6 },
+ { 2957, 585, 1 },
+ { 2958, 586, 8 },
+ { 2966, 592, 10 },
+ { 2976, 594, 3 },
+ { 2979, 606, 58 },
+ { 3037, 610, 29 },
+ { 3066, 647, 2 },
+ { 3068, 648, 1 },
+ { 3069, 650, 2 },
+ { 3071, 651, 1 },
+ { 3072, 653, 1 },
+ { 3073, 659, 4 },
+ { 3077, 660, 7 },
+ { 3084, 661, 3 },
+ { 3087, 662, 1 },
+ { 3088, 663, 1 },
+ { 3089, 665, 2 },
+ { 3091, 666, 13 },
+ { 3104, 667, 3 },
+ { 3107, 669, 5 },
+ { 3112, 670, 1 },
+ { 3113, 671, 6 },
+ { 3119, 673, 10 },
+ { 3129, 675, 4 },
+ { 3133, 707, 72 },
+ { 3205, 708, 36 },
+ { 3241, 712, 39 },
+ { 3280, 713, 36 },
+ { 3316, 714, 15 },
+ { 3331, 715, 13 },
+ { 3344, 752, 198 },
+ { 3542, 753, 1 },
+ { 3543, 758, 1 },
+ { 3544, 760, 377 },
+ { 3921, 761, 4 },
+ { 3925, 763, 7 },
+ { 3932, 764, 1 },
+ { 3933, 765, 4 },
+ { 3937, 767, 41 },
+ { 3978, 768, 4 },
+ { 3982, 770, 33 },
+ { 4015, 771, 4 },
+ { 4019, 773, 7 },
+ { 4026, 774, 1 },
+ { 4027, 775, 4 },
+ { 4031, 777, 15 },
+ { 4046, 778, 57 },
+ { 4103, 779, 4 },
+ { 4107, 781, 67 },
+ { 4174, 783, 32 },
+ { 4206, 786, 26 },
+ { 4232, 792, 86 },
+ { 4318, 794, 6 },
+ { 4324, 796, 669 },
+ { 4993, 799, 89 },
+ { 5082, 806, 13 },
+ { 5095, 807, 7 },
+ { 5102, 818, 23 },
+ { 5125, 827, 20 },
+ { 5145, 839, 13 },
+ { 5158, 840, 3 },
+ { 5161, 841, 2 },
+ { 5163, 853, 94 },
+ { 5257, 855, 10 },
+ { 5267, 861, 10 },
+ { 5277, 867, 15 },
+ { 5292, 868, 10 },
+ { 5302, 874, 88 },
+ { 5390, 882, 43 },
+ { 5433, 887, 70 },
+ { 5503, 897, 31 },
+ { 5534, 898, 12 },
+ { 5546, 902, 12 },
+ { 5558, 906, 1 },
+ { 5559, 909, 42 },
+ { 5601, 911, 5 },
+ { 5606, 922, 44 },
+ { 5650, 926, 26 },
+ { 5676, 932, 11 },
+ { 5687, 935, 62 },
+ { 5749, 937, 65 },
+ { 5814, 938, 29 },
+ { 5843, 940, 11 },
+ { 5854, 946, 10 },
+ { 5864, 952, 14 },
+ { 5878, 954, 15 },
+ { 5893, 1019, 76 },
+ { 5969, 1023, 45 },
+ { 6014, 1026, 116 },
+ { 6130, 1034, 60 },
+ { 6190, 1037, 15 },
+ { 6205, 1040, 51 },
+ { 6256, 1104, 8 },
+ { 6264, 1112, 39 },
+ { 6303, 1113, 2 },
+ { 6305, 1119, 246 },
+ { 6551, 1125, 282 },
+ { 6833, 1127, 6 },
+ { 6839, 1129, 38 },
+ { 6877, 1131, 6 },
+ { 6883, 1133, 8 },
+ { 6891, 1134, 1 },
+ { 6892, 1135, 1 },
+ { 6893, 1136, 1 },
+ { 6894, 1137, 31 },
+ { 6925, 1139, 53 },
+ { 6978, 1140, 15 },
+ { 6993, 1141, 14 },
+ { 7007, 1143, 6 },
+ { 7013, 1144, 19 },
+ { 7032, 1146, 3 },
+ { 7035, 1147, 9 },
+ { 7044, 1148, 101 },
+ { 7145, 1149, 12 },
+ { 7157, 1151, 27 },
+ { 7184, 1152, 13 },
+ { 7197, 1155, 31 },
+ { 7228, 1172, 33 },
+ { 7261, 1187, 140 },
+ { 7401, 1191, 619 },
+ { 8020, 1196, 39 },
+ { 8059, 1221, 11 },
+ { 8070, 1242, 1812 },
+ { 9882, 1244, 32 },
+ { 9914, 1246, 34 },
+ { 9948, 1249, 12 },
+ { 9960, 1250, 8 },
+ { 9968, 1276, 4 },
+ { 9972, 1292, 47 },
+ { 10019, 1293, 47 },
+ { 10066, 1294, 148 },
+ { 10214, 1299, 45 },
+ { 10259, 1300, 1 },
+ { 10260, 1305, 1 },
+ { 10261, 1307, 56 },
+ { 10317, 1314, 2 },
+ { 10319, 1328, 24 },
+ { 10343, 1337, 7 },
+ { 10350, 1338, 7 },
+ { 10357, 1339, 7 },
+ { 10364, 1340, 7 },
+ { 10371, 1341, 7 },
+ { 10378, 1342, 7 },
+ { 10385, 1343, 7 },
+ { 10392, 1344, 7 },
+ { 10399, 1345, 99 },
+ { 10498, 1406, 26 },
+ { 10524, 1407, 89 },
+ { 10613, 1419, 214 },
+ { 10827, 1445, 12 },
+ { 10839, 1449, 64 },
+ { 10903, 1450, 86 },
+ { 10989, 1452, 103 },
+ { 11092, 1457, 41 },
+ { 11133, 1460, 94 },
+ { 11227, 1461, 43 },
+ { 11270, 1466, 36 },
+ { 11306, 1478, 47 },
+ { 11353, 1479, 223 },
+ { 11576, 1480, 256 },
+ { 11832, 8072, 64 },
+ { 11896, 29064, 1165 },
+ { 13061, 29067, 55 },
+ { 13116, 29076, 348 },
+ { 13464, 29096, 184 },
+ { 13648, 29104, 174 },
+ { 13822, 29106, 8 },
+ { 13830, 29169, 53 },
+ { 13883, 29173, 10 },
+ { 13893, 29179, 56 },
+ { 13949, 29187, 69 },
+ { 14018, 29196, 12 },
+ { 14030, 29202, 30 },
+ { 14060, 29204, 84 },
+ { 14144, 29215, 30 },
+ { 14174, 29218, 78 },
+ { 14252, 29219, 11 },
+ { 14263, 29223, 33 },
+ { 14296, 29224, 55 },
+ { 14351, 29233, 14 },
+ { 14365, 29235, 10 },
+ { 14375, 29237, 103 },
+ { 14478, 29261, 28 },
+ { 14506, 29271, 6 },
+ { 14512, 29273, 6 },
+ { 14518, 29275, 6 },
+ { 14524, 29284, 7 },
+ { 14531, 29285, 7 },
+ { 14538, 29286, 54 },
+ { 14592, 29296, 126 },
+ { 14718, 29298, 10 },
+ { 14728, 40488, 23 },
+ { 14751, 40492, 49 },
+ { 14800, 49246, 2 },
+ { 14802, 49305, 3 },
+ { 14805, 49451, 7 },
+ { 14812, 49463, 5 },
+ { 14817, 49468, 26 },
+ { 14843, 49469, 5 },
+ { 14848, 49470, 1 },
+ { 14849, 49471, 2 },
+ { 14851, 49472, 2 },
+ { 14853, 49473, 124 },
+ { 14977, 49490, 365 },
+ { 15342, 49506, 64 },
+ { 15406, 49508, 54 },
+ { 15460, 49548, 14 },
+ { 15474, 49566, 10 },
+ { 15484, 49572, 51 },
+ { 15535, 49573, 19 },
+ { 15554, 49574, 4 },
+ { 15558, 49578, 5 },
+ { 15563, 49579, 135 },
+ { 15698, 49581, 1 },
+ { 15699, 49582, 190 },
+ { 15889, 49585, 6 },
+ { 15895, 49587, 6 },
+ { 15901, 49589, 6 },
+ { 15907, 49591, 3 },
+ { 15910, 49594, 7 },
+ { 15917, 49595, 7 },
+ { 15924, 49605, 5 },
+ { 15929, 49607, 12 },
+ { 15941, 49608, 26 },
+ { 15967, 49609, 19 },
+ { 15986, 49610, 2 },
+ { 15988, 49611, 15 },
+ { 16003, 49613, 14 },
+ { 16017, 49647, 123 },
+ { 16140, 49652, 3 },
+ { 16143, 49656, 45 },
+ { 16188, 49659, 86 },
+ { 16274, 49662, 12 },
+ { 16286, 49666, 1 },
+ { 16287, 49713, 46 },
+ { 16333, 49843, 29 },
+ { 16362, 49846, 49 },
+ { 16411, 49861, 28 },
+ { 16439, 49865, 36 },
+ { 16475, 49877, 27 },
+ { 16502, 49882, 43 },
+ { 16545, 49887, 30 },
+ { 16575, 49888, 37 },
+ { 16612, 49892, 14 },
+ { 16626, 49934, 158 },
+ { 16784, 49936, 10 },
+ { 16794, 50022, 40 },
+ { 16834, 50030, 52 },
+ { 16886, 50041, 1 },
+ { 16887, 50185, 311 },
+ { 17198, 50194, 22 },
+ { 17220, 50204, 8 },
+ { 17228, 50356, 6 },
+ { 17234, 50358, 1 },
+ { 17235, 50359, 44 },
+ { 17279, 50360, 2 },
+ { 17281, 50363, 1 },
+ { 17282, 50365, 23 },
+ { 17305, 50366, 72 },
+ { 17377, 50374, 9 },
+ { 17386, 50422, 19 },
+ { 17405, 50423, 2 },
+ { 17407, 50428, 33 },
+ { 17440, 50431, 27 },
+ { 17467, 50436, 1 },
+ { 17468, 50500, 56 },
+ { 17524, 50504, 20 },
+ { 17544, 50506, 50 },
+ { 17594, 50507, 2 },
+ { 17596, 50512, 8 },
+ { 17604, 50513, 3 },
+ { 17607, 50514, 27 },
+ { 17634, 50518, 3 },
+ { 17637, 50522, 9 },
+ { 17646, 50530, 9 },
+ { 17655, 50537, 64 },
+ { 17719, 50569, 39 },
+ { 17758, 50573, 12 },
+ { 17770, 50582, 54 },
+ { 17824, 50585, 29 },
+ { 17853, 50587, 27 },
+ { 17880, 50592, 26 },
+ { 17906, 50599, 4 },
+ { 17910, 50611, 7 },
+ { 17917, 50691, 73 },
+ { 17990, 50746, 51 },
+ { 18041, 50759, 51 },
+ { 18092, 50766, 6 },
+ { 18098, 51118, 31 },
+ { 18129, 51503, 78 },
+ { 18207, 51507, 30 },
+ { 18237, 51522, 67 },
+ { 18304, 51536, 25 },
+ { 18329, 51543, 10 },
+ { 18339, 51549, 53 },
+ { 18392, 51550, 14 },
+ { 18406, 51562, 39 },
+ { 18445, 51571, 78 },
+ { 18523, 51573, 16 },
+ { 18539, 51574, 20 },
+ { 18559, 51585, 18 },
+ { 18577, 51586, 43 },
+ { 18620, 51652, 7 },
+ { 18627, 51653, 1 },
+ { 18628, 51654, 4 },
+ { 18632, 51655, 15 },
+ { 18647, 51656, 11 },
+ { 18658, 51662, 59 },
+ { 18717, 51667, 10 },
+ { 18727, 51673, 4 },
+ { 18731, 51674, 8 },
+ { 18739, 51676, 2 },
+ { 18741, 51678, 22 },
+ { 18763, 51679, 7 },
+ { 18770, 51680, 2 },
+ { 18772, 51681, 5 },
+ { 18777, 51683, 9 },
+ { 18786, 51685, 2 },
+ { 18788, 51687, 3 },
+ { 18791, 51689, 1 },
+ { 18792, 51695, 1 },
+ { 18793, 51700, 7 },
+ { 18800, 51702, 7 },
+ { 18807, 51705, 5 },
+ { 18812, 51972, 72 },
+ { 18884, 51980, 10 },
+ { 18894, 52146, 54 },
+ { 18948, 52148, 38 },
+ { 18986, 52182, 69 },
+ { 19055, 52193, 10 },
+ { 19065, 52231, 56 },
+ { 19121, 52239, 10 },
+ { 19131, 52293, 26 },
+ { 19157, 52296, 15 },
+ { 19172, 52300, 16 },
+ { 19188, 52652, 83 },
+ { 19271, 52664, 1 },
+ { 19272, 53112, 57 },
+ { 19329, 54399, 922 },
+ { 20251, 54501, 111 },
+ { 20362, 54502, 5 },
+ { 20367, 54513, 196 },
+ { 20563, 57261, 1071 },
+ { 21634, 61310, 583 },
+ { 22217, 69943, 569 },
+ { 22786, 69950, 31 },
+ { 22817, 69951, 10 },
+ { 22827, 69955, 2 },
+ { 22829, 70051, 30 },
+ { 22859, 70053, 6 },
+ { 22865, 70063, 70 },
+ { 22935, 70073, 10 },
+ { 22945, 70074, 7 },
+ { 22952, 70075, 21 },
+ { 22973, 70080, 19 },
+ { 22992, 70960, 69 },
+ { 23061, 70971, 47 },
+ { 23108, 70987, 17 },
+ { 23125, 87467, 2 },
+ { 23127, 90537, 107 },
+ { 23234, 90542, 13 },
+ { 23247, 90545, 9 },
+ { 23256, 90552, 10 },
+ { 23266, 90554, 8 },
+ { 23274, 95510, 246 },
+ { 23520, 95520, 39 },
+ { 23559, 95522, 192 },
+ { 23751, 95545, 70 },
+ { 23821, 95731, 87 },
+ { 23908, 95740, 18 },
+ { 23926, 95882, 85 },
+ { 24011, 95883, 71 },
+ { 24082, 95884, 2 },
+ { 24084, 95886, 1 },
+ { 24085, 95888, 2 },
+ { 24087, 95890, 4 },
+ { 24091, 95891, 12 },
+ { 24103, 95892, 1 },
+ { 24104, 95893, 7 },
+ { 24111, 95894, 65 },
+ { 24176, 95895, 4 },
+ { 24180, 95897, 8 },
+ { 24188, 95898, 7 },
+ { 24195, 95899, 28 },
+ { 24223, 95900, 4 },
+ { 24227, 95901, 5 },
+ { 24232, 95902, 1 },
+ { 24233, 95905, 7 },
+ { 24240, 95906, 340 },
+ { 24580, 95908, 292 },
+ { 24872, 95910, 702 },
+ { 25574, 95925, 5 },
+ { 25579, 95926, 15 },
+ { 25594, 99334, 197 },
+ { 25791, 99336, 16 },
+ { 25807, 100657, 4 },
+ { 25811, 100658, 27 },
+ { 25838, 100659, 2 },
+ { 25840, 100660, 1 },
+ { 25841, 100662, 1 },
+ { 25842, 100663, 10 },
+ { 25852, 100664, 4 },
+ { 25856, 100665, 1 },
+ { 25857, 100666, 1 },
+ { 25858, 100672, 1 },
+ { 25859, 100676, 1 },
+ { 25860, 100677, 1 },
+ { 25861, 100678, 1 },
+ { 25862, 100679, 3 },
+ { 25865, 100680, 2 },
+ { 25867, 100681, 1 },
+ { 25868, 100683, 1 },
+ { 25869, 100684, 1 },
+ { 25870, 100685, 1 },
+ { 25871, 100686, 1 },
+ { 25872, 100687, 1 },
+ { 25873, 100688, 2 },
+ { 25875, 100689, 1 },
+ { 25876, 100691, 4 },
+ { 25880, 100692, 7 },
+ { 25887, 100693, 4 },
+ { 25891, 100694, 4 },
+ { 25895, 100695, 1 },
+ { 25896, 100696, 10 },
+ { 25906, 100697, 17 },
+ { 25923, 100702, 3 },
+ { 25926, 100703, 5 },
+ { 25931, 100704, 17 },
+ { 25948, 100756, 2 },
+ { 25950, 101026, 44 },
+ { 25994, 101030, 100 },
+ { 26094, 101042, 15 },
+ { 26109, 101044, 15 },
+ { 26124, 101045, 15 },
+ { 26139, 101046, 37 },
+ { 26176, 101056, 13 },
+ { 26189, 101059, 31 },
+ { 26220, 101060, 60 },
+ { 26280, 101064, 43 },
+ { 26323, 101139, 29 },
+ { 26352, 101152, 43 },
+ { 26395, 101157, 9 },
+ { 26404, 101164, 2 },
+ { 26406, 101338, 634 },
+ { 27040, 101339, 41 },
+ { 27081, 101340, 300 },
+ { 27381, 101355, 13 },
+ { 27394, 101358, 4 },
+ { 27398, 101370, 116 },
+ { 27514, 101382, 85 },
+ { 27599, 101425, 12 },
+ { 27611, 101429, 56 },
+ { 27667, 101437, 10 },
+ { 27677, 101443, 40 },
+ { 27717, 101451, 30 },
+ { 27747, 101549, 9 },
+ { 27756, 101652, 5 },
+ { 27761, 101711, 1 },
+ { 27762, 889743, 1 },
+ { 27763, 889773, 96 },
+};
diff --git a/gettext-tools/gnulib-lib/unistd--.h b/gettext-tools/gnulib-lib/unistd--.h
index 9d0e54d..ada1f6b 100644
--- a/gettext-tools/gnulib-lib/unistd--.h
+++ b/gettext-tools/gnulib-lib/unistd--.h
@@ -1,6 +1,6 @@
/* Like unistd.h, but redefine some names to avoid glitches.
- Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/unistd-safer.h b/gettext-tools/gnulib-lib/unistd-safer.h
index 4b0ca6a..d4251b3 100644
--- a/gettext-tools/gnulib-lib/unistd-safer.h
+++ b/gettext-tools/gnulib-lib/unistd-safer.h
@@ -1,6 +1,6 @@
/* Invoke unistd-like functions, but avoid some glitches.
- Copyright (C) 2001, 2003, 2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/unistd.c b/gettext-tools/gnulib-lib/unistd.c
index 6c6a8e2..72bad1c 100644
--- a/gettext-tools/gnulib-lib/unistd.c
+++ b/gettext-tools/gnulib-lib/unistd.c
@@ -1,3 +1,4 @@
#include <config.h>
#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
#include "unistd.h"
+typedef int dummy;
diff --git a/gettext-tools/gnulib-lib/unistd.in.h b/gettext-tools/gnulib-lib/unistd.in.h
index 13babfb..93f1ed9 100644
--- a/gettext-tools/gnulib-lib/unistd.in.h
+++ b/gettext-tools/gnulib-lib/unistd.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/unistr.in.h b/gettext-tools/gnulib-lib/unistr.in.h
index 222c959..be158be 100644
--- a/gettext-tools/gnulib-lib/unistr.in.h
+++ b/gettext-tools/gnulib-lib/unistr.in.h
@@ -1,5 +1,5 @@
/* Elementary Unicode string functions.
- Copyright (C) 2001-2002, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/unistr/u16-mbtouc-aux.c b/gettext-tools/gnulib-lib/unistr/u16-mbtouc-aux.c
index 9f68c29..2e8487d 100644
--- a/gettext-tools/gnulib-lib/unistr/u16-mbtouc-aux.c
+++ b/gettext-tools/gnulib-lib/unistr/u16-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-16 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u16-mbtouc.c b/gettext-tools/gnulib-lib/unistr/u16-mbtouc.c
index d0b3dec..75a2521 100644
--- a/gettext-tools/gnulib-lib/unistr/u16-mbtouc.c
+++ b/gettext-tools/gnulib-lib/unistr/u16-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-check.c b/gettext-tools/gnulib-lib/unistr/u8-check.c
index 818b2e1..9c4a75c 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-check.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-check.c
@@ -1,5 +1,5 @@
/* Check UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-mblen.c b/gettext-tools/gnulib-lib/unistr/u8-mblen.c
index 05e2cef..32d960c 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-mblen.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-mblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2014 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2015 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/gettext-tools/gnulib-lib/unistr/u8-mbtouc-aux.c b/gettext-tools/gnulib-lib/unistr/u8-mbtouc-aux.c
index c6f4245..a751844 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-mbtouc-aux.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe-aux.c b/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe-aux.c
index f60b37e..ae46311 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe-aux.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe.c b/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe.c
index 18040b5..e27dd69 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-mbtouc.c b/gettext-tools/gnulib-lib/unistr/u8-mbtouc.c
index 78c8f0e..2e9aced 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-mbtouc.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-mbtoucr.c b/gettext-tools/gnulib-lib/unistr/u8-mbtoucr.c
index b11543a..9cc1500 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-mbtoucr.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-mbtoucr.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string, returning an error code.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-prev.c b/gettext-tools/gnulib-lib/unistr/u8-prev.c
index 6ccdfbd..20c8844 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-prev.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-prev.c
@@ -1,5 +1,5 @@
/* Iterate over previous character in UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-uctomb-aux.c b/gettext-tools/gnulib-lib/unistr/u8-uctomb-aux.c
index 8fdd88b..65445be 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-uctomb-aux.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-uctomb-aux.c
@@ -1,5 +1,5 @@
/* Conversion UCS-4 to UTF-8.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unistr/u8-uctomb.c b/gettext-tools/gnulib-lib/unistr/u8-uctomb.c
index df9b227..a8250f4 100644
--- a/gettext-tools/gnulib-lib/unistr/u8-uctomb.c
+++ b/gettext-tools/gnulib-lib/unistr/u8-uctomb.c
@@ -1,5 +1,5 @@
/* Store a character in UTF-8 string.
- Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/unitypes.in.h b/gettext-tools/gnulib-lib/unitypes.in.h
index bc302c2..d3c47ae 100644
--- a/gettext-tools/gnulib-lib/unitypes.in.h
+++ b/gettext-tools/gnulib-lib/unitypes.in.h
@@ -1,5 +1,5 @@
/* Elementary types and macros for the GNU UniString library.
- Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/gnulib-lib/uniwidth.in.h b/gettext-tools/gnulib-lib/uniwidth.in.h
index b2fd218..7694beb 100644
--- a/gettext-tools/gnulib-lib/uniwidth.in.h
+++ b/gettext-tools/gnulib-lib/uniwidth.in.h
@@ -1,5 +1,5 @@
/* Display width functions.
- Copyright (C) 2001-2002, 2005, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001-2002, 2005, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/uniwidth/cjk.h b/gettext-tools/gnulib-lib/uniwidth/cjk.h
index 71ea0cb..cdd9a55 100644
--- a/gettext-tools/gnulib-lib/uniwidth/cjk.h
+++ b/gettext-tools/gnulib-lib/uniwidth/cjk.h
@@ -1,5 +1,5 @@
/* Test for CJK encoding.
- Copyright (C) 2001-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-lib/uniwidth/width.c b/gettext-tools/gnulib-lib/uniwidth/width.c
index 2c070c3..c7e03b2 100644
--- a/gettext-tools/gnulib-lib/uniwidth/width.c
+++ b/gettext-tools/gnulib-lib/uniwidth/width.c
@@ -1,5 +1,5 @@
/* Determine display width of Unicode character.
- Copyright (C) 2001-2002, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* - Zero width characters; generated from
* "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt"
*/
-static const unsigned char nonspacing_table_data[27*64] = {
+static const unsigned char nonspacing_table_data[36*64] = {
/* 0x0000-0x01ff */
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */
@@ -61,7 +61,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */
0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */
/* 0x0600-0x07ff */
- 0x0f, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
+ 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */
0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
@@ -73,7 +73,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */
+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */
0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
@@ -88,11 +88,11 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */
0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */
/* 0x0c00-0x0dff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */
0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */
0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */
0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */
0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */
@@ -133,7 +133,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */
0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */
/* 0x1800-0x19ff */
- 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
+ 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */
@@ -142,26 +142,26 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */
/* 0x1a00-0x1bff */
- 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
+ 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */
0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */
- 0x03, 0x00, 0x00, 0x00, 0x3c, 0x03, 0x00, 0x00, /* 0x1b80-0x1bbf */
+ 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */
0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */
/* 0x1c00-0x1dff */
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */
- 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x00, 0x00, /* 0x1cc0-0x1cff */
+ 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */
- 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xf0, /* 0x1dc0-0x1dff */
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf0, /* 0x1dc0-0x1dff */
/* 0x2000-0x21ff */
0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */
- 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */
+ 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */
@@ -178,7 +178,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */
/* 0x3000-0x31ff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, /* 0x3000-0x303f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */
@@ -188,8 +188,8 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */
/* 0xa600-0xa7ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x30, /* 0xa640-0xa67f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */
@@ -203,12 +203,12 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */
0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
/* 0xaa00-0xabff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */
- 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa40-0xaa7f */
+ 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */
@@ -223,7 +223,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */
/* 0xfe00-0xffff */
- 0xff, 0xff, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, /* 0xfe00-0xfe3f */
+ 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */
@@ -240,24 +240,87 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */
+ /* 0x10200-0x103ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */
/* 0x10a00-0x10bff */
0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */
/* 0x11000-0x111ff */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */
- 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11040-0x1107f */
+ 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11100-0x1113f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11140-0x1117f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11180-0x111bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
+ 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */
+ 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
+ /* 0x11200-0x113ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x00, /* 0x11200-0x1123f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */
+ 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */
+ 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */
+ /* 0x11400-0x115ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11400-0x1143f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */
+ 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */
+ 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */
+ /* 0x11600-0x117ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */
+ 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */
+ /* 0x16a00-0x16bff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */
+ /* 0x16e00-0x16fff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */
+ 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */
+ /* 0x1bc00-0x1bdff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */
+ 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */
/* 0x1d000-0x1d1ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */
@@ -275,9 +338,27 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1d3c0-0x1d3ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */
+ /* 0x1da00-0x1dbff */
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */
+ 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */
+ /* 0x1e800-0x1e9ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */
+ 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */
};
-static const signed char nonspacing_table_ind[240] = {
+static const signed char nonspacing_table_ind[248] = {
0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */
8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */
14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */
@@ -294,20 +375,21 @@ static const signed char nonspacing_table_ind[240] = {
-1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */
-1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */
- 22, -1, -1, -1, -1, 23, -1, -1, /* 0x10000-0x10fff */
- 24, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */
+ 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */
+ 25, 26, 27, 28, -1, -1, -1, -1, /* 0x11000-0x11fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */
- -1, -1, -1, -1, -1, -1, -1, -1, /* 0x16000-0x16fff */
+ -1, -1, -1, -1, -1, 29, -1, 30, /* 0x16000-0x16fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */
- -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */
+ -1, -1, -1, -1, -1, -1, 31, -1, /* 0x1b000-0x1bfff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */
- 25, 26, -1, -1, -1, -1, -1, -1 /* 0x1d000-0x1dfff */
+ 32, 33, -1, -1, -1, 34, -1, -1, /* 0x1d000-0x1dfff */
+ -1, -1, -1, -1, 35, -1, -1, -1 /* 0x1e000-0x1efff */
};
/* Determine number of column positions required for UC. */
@@ -315,7 +397,7 @@ int
uc_width (ucs4_t uc, const char *encoding)
{
/* Test for non-spacing or control character. */
- if ((uc >> 9) < 240)
+ if ((uc >> 9) < 248)
{
int ind = nonspacing_table_ind[uc >> 9];
if (ind >= 0)
diff --git a/gettext-tools/gnulib-lib/unlocked-io.h b/gettext-tools/gnulib-lib/unlocked-io.h
index 4b0f3ff..06ffac6 100644
--- a/gettext-tools/gnulib-lib/unlocked-io.h
+++ b/gettext-tools/gnulib-lib/unlocked-io.h
@@ -1,6 +1,6 @@
/* Prefer faster, non-thread-safe stdio functions if available.
- Copyright (C) 2001-2004, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/unsetenv.c b/gettext-tools/gnulib-lib/unsetenv.c
index 53721fc..87f41d5 100644
--- a/gettext-tools/gnulib-lib/unsetenv.c
+++ b/gettext-tools/gnulib-lib/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/vasnprintf.c b/gettext-tools/gnulib-lib/vasnprintf.c
index ec7302a..88332f0 100644
--- a/gettext-tools/gnulib-lib/vasnprintf.c
+++ b/gettext-tools/gnulib-lib/vasnprintf.c
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc.
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
@@ -1886,7 +1886,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
else
{
do
- result[length++] = (unsigned char) *cp++;
+ result[length++] = *cp++;
while (--n > 0);
}
}
@@ -4793,7 +4793,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
const FCHAR_T *mp = dp->width_start;
do
- *fbp++ = (unsigned char) *mp++;
+ *fbp++ = *mp++;
while (--n > 0);
}
}
@@ -4814,7 +4814,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
const FCHAR_T *mp = dp->precision_start;
do
- *fbp++ = (unsigned char) *mp++;
+ *fbp++ = *mp++;
while (--n > 0);
}
}
@@ -5179,18 +5179,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
/* SNPRINTF or sprintf failed. Save and use the errno
that it has set, if any. */
int saved_errno = errno;
+ if (saved_errno == 0)
+ {
+ if (dp->conversion == 'c' || dp->conversion == 's')
+ saved_errno = EILSEQ;
+ else
+ saved_errno = EINVAL;
+ }
if (!(result == resultbuf || result == NULL))
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
CLEANUP ();
- errno =
- (saved_errno != 0
- ? saved_errno
- : (dp->conversion == 'c' || dp->conversion == 's'
- ? EILSEQ
- : EINVAL));
+
+ errno = saved_errno;
return NULL;
}
@@ -5379,7 +5382,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
tmpsrc += count;
tmpdst += count;
for (n = count; n > 0; n--)
- *--tmpdst = (unsigned char) *--tmpsrc;
+ *--tmpdst = *--tmpsrc;
}
}
#endif
diff --git a/gettext-tools/gnulib-lib/vasnprintf.h b/gettext-tools/gnulib-lib/vasnprintf.h
index daa946d..3494eef 100644
--- a/gettext-tools/gnulib-lib/vasnprintf.h
+++ b/gettext-tools/gnulib-lib/vasnprintf.h
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/vasprintf.c b/gettext-tools/gnulib-lib/vasprintf.c
index eed9037..5dd4abd 100644
--- a/gettext-tools/gnulib-lib/vasprintf.c
+++ b/gettext-tools/gnulib-lib/vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/verify.h b/gettext-tools/gnulib-lib/verify.h
index a25e514..60eba49 100644
--- a/gettext-tools/gnulib-lib/verify.h
+++ b/gettext-tools/gnulib-lib/verify.h
@@ -1,6 +1,6 @@
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/vsnprintf.c b/gettext-tools/gnulib-lib/vsnprintf.c
index 36346f9..d2ebed9 100644
--- a/gettext-tools/gnulib-lib/vsnprintf.c
+++ b/gettext-tools/gnulib-lib/vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
Written by Simon Josefsson and Yoann Vandoorselaere <yoann@prelude-ids.org>.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/w32spawn.h b/gettext-tools/gnulib-lib/w32spawn.h
index 0cad232..4a21a4e 100644
--- a/gettext-tools/gnulib-lib/w32spawn.h
+++ b/gettext-tools/gnulib-lib/w32spawn.h
@@ -1,5 +1,5 @@
/* Auxiliary functions for the creation of subprocesses. Native Windows API.
- Copyright (C) 2001, 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/wait-process.c b/gettext-tools/gnulib-lib/wait-process.c
index a5389fd..5dd6f07 100644
--- a/gettext-tools/gnulib-lib/wait-process.c
+++ b/gettext-tools/gnulib-lib/wait-process.c
@@ -1,5 +1,5 @@
/* Waiting for a subprocess to finish.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/wait-process.h b/gettext-tools/gnulib-lib/wait-process.h
index 3cb48d0..e453246 100644
--- a/gettext-tools/gnulib-lib/wait-process.h
+++ b/gettext-tools/gnulib-lib/wait-process.h
@@ -1,5 +1,5 @@
/* Waiting for a subprocess to finish.
- Copyright (C) 2001-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/waitpid.c b/gettext-tools/gnulib-lib/waitpid.c
index ab03853..46a5d92 100644
--- a/gettext-tools/gnulib-lib/waitpid.c
+++ b/gettext-tools/gnulib-lib/waitpid.c
@@ -1,5 +1,5 @@
/* Wait for process state change.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/wchar.in.h b/gettext-tools/gnulib-lib/wchar.in.h
index 473285f..684299f 100644
--- a/gettext-tools/gnulib-lib/wchar.in.h
+++ b/gettext-tools/gnulib-lib/wchar.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
@@ -30,9 +30,14 @@
#endif
@PRAGMA_COLUMNS@
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+#if (((defined __need_mbstate_t || defined __need_wint_t) \
+ && !defined __MINGW32__) \
+ || (defined __hpux \
+ && ((defined _INTTYPES_INCLUDED && !defined strtoimax) \
+ || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) \
+ || defined _GL_ALREADY_INCLUDING_WCHAR_H)
/* Special invocation convention:
- - Inside glibc and uClibc header files.
+ - Inside glibc and uClibc header files, but not MinGW.
- On HP-UX 11.00 we have a sequence of nested includes
<wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
diff --git a/gettext-tools/gnulib-lib/wctype.in.h b/gettext-tools/gnulib-lib/wctype.in.h
index ab06653..9050b7e 100644
--- a/gettext-tools/gnulib-lib/wctype.in.h
+++ b/gettext-tools/gnulib-lib/wctype.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/wcwidth.c b/gettext-tools/gnulib-lib/wcwidth.c
index d7837bb..d2b7118 100644
--- a/gettext-tools/gnulib-lib/wcwidth.c
+++ b/gettext-tools/gnulib-lib/wcwidth.c
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a character.
- Copyright (C) 2006-2007, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/write.c b/gettext-tools/gnulib-lib/write.c
index ff31dbb..ed2d3b7 100644
--- a/gettext-tools/gnulib-lib/write.c
+++ b/gettext-tools/gnulib-lib/write.c
@@ -1,5 +1,5 @@
/* POSIX compatible write() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xalloc.h b/gettext-tools/gnulib-lib/xalloc.h
index 1ad1009..b261994 100644
--- a/gettext-tools/gnulib-lib/xalloc.h
+++ b/gettext-tools/gnulib-lib/xalloc.h
@@ -1,5 +1,5 @@
/* malloc with out of memory checking.
- Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xasprintf.c b/gettext-tools/gnulib-lib/xasprintf.c
index 4e0b5b1..f8eef97 100644
--- a/gettext-tools/gnulib-lib/xasprintf.c
+++ b/gettext-tools/gnulib-lib/xasprintf.c
@@ -1,5 +1,5 @@
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 1999, 2002-2004, 2006, 2009-2014 Free Software Foundation,
+ Copyright (C) 1999, 2002-2004, 2006, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xconcat-filename.c b/gettext-tools/gnulib-lib/xconcat-filename.c
index 956f958..10ebbea 100644
--- a/gettext-tools/gnulib-lib/xconcat-filename.c
+++ b/gettext-tools/gnulib-lib/xconcat-filename.c
@@ -1,5 +1,5 @@
/* Construct a full filename from a directory and a relative filename.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xerror.c b/gettext-tools/gnulib-lib/xerror.c
index b803f48..705b553 100644
--- a/gettext-tools/gnulib-lib/xerror.c
+++ b/gettext-tools/gnulib-lib/xerror.c
@@ -1,5 +1,5 @@
/* Multiline error-reporting functions.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xerror.h b/gettext-tools/gnulib-lib/xerror.h
index 28b39c1..fc8b163 100644
--- a/gettext-tools/gnulib-lib/xerror.h
+++ b/gettext-tools/gnulib-lib/xerror.h
@@ -1,5 +1,5 @@
/* Multiline error-reporting functions.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xmalloc.c b/gettext-tools/gnulib-lib/xmalloc.c
index 223f994..43dcb94 100644
--- a/gettext-tools/gnulib-lib/xmalloc.c
+++ b/gettext-tools/gnulib-lib/xmalloc.c
@@ -1,5 +1,6 @@
/* xmalloc.c -- malloc with out of memory checking
- Copyright (C) 1990-1996, 2000-2003, 2005-2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1990-1996, 2000-2003, 2005-2007, 2012, 2015 Free
+ Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xmalloca.c b/gettext-tools/gnulib-lib/xmalloca.c
index 9861b44..4fc7c8a 100644
--- a/gettext-tools/gnulib-lib/xmalloca.c
+++ b/gettext-tools/gnulib-lib/xmalloca.c
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation with out of memory checking.
- Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xmalloca.h b/gettext-tools/gnulib-lib/xmalloca.h
index a6b98cf..c067c8a 100644
--- a/gettext-tools/gnulib-lib/xmalloca.h
+++ b/gettext-tools/gnulib-lib/xmalloca.h
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation with out of memory checking.
- Copyright (C) 2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xreadlink.c b/gettext-tools/gnulib-lib/xreadlink.c
index 2f3b8a1..5082d0b 100644
--- a/gettext-tools/gnulib-lib/xreadlink.c
+++ b/gettext-tools/gnulib-lib/xreadlink.c
@@ -1,6 +1,6 @@
/* xreadlink.c -- readlink wrapper to return the link name in malloc'd storage
- Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xreadlink.h b/gettext-tools/gnulib-lib/xreadlink.h
index af80ca4..a970eb9 100644
--- a/gettext-tools/gnulib-lib/xreadlink.h
+++ b/gettext-tools/gnulib-lib/xreadlink.h
@@ -1,6 +1,6 @@
/* Reading symbolic links without size limitation.
- Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xsetenv.c b/gettext-tools/gnulib-lib/xsetenv.c
index 4dcfb24..eb38d04 100644
--- a/gettext-tools/gnulib-lib/xsetenv.c
+++ b/gettext-tools/gnulib-lib/xsetenv.c
@@ -1,5 +1,5 @@
/* Setting environment variables, with out-of-memory checking.
- Copyright (C) 2001-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xsetenv.h b/gettext-tools/gnulib-lib/xsetenv.h
index b0bf932..7d9d67c 100644
--- a/gettext-tools/gnulib-lib/xsetenv.h
+++ b/gettext-tools/gnulib-lib/xsetenv.h
@@ -1,5 +1,5 @@
/* Setting environment variables, with out-of-memory checking.
- Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xsize.h b/gettext-tools/gnulib-lib/xsize.h
index fd12c67..b2a786a 100644
--- a/gettext-tools/gnulib-lib/xsize.h
+++ b/gettext-tools/gnulib-lib/xsize.h
@@ -1,6 +1,6 @@
/* xsize.h -- Checked size_t computations.
- Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xstrdup.c b/gettext-tools/gnulib-lib/xstrdup.c
index 9ad1b94..7aa09dc 100644
--- a/gettext-tools/gnulib-lib/xstrdup.c
+++ b/gettext-tools/gnulib-lib/xstrdup.c
@@ -1,5 +1,6 @@
/* xstrdup.c -- copy a string with out of memory checking
- Copyright (C) 1990, 1996, 2000-2003, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1996, 2000-2003, 2005-2006, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xstriconv.c b/gettext-tools/gnulib-lib/xstriconv.c
index be1ef2d..d5e1951 100644
--- a/gettext-tools/gnulib-lib/xstriconv.c
+++ b/gettext-tools/gnulib-lib/xstriconv.c
@@ -1,5 +1,5 @@
/* Charset conversion with out-of-memory checking.
- Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xstriconv.h b/gettext-tools/gnulib-lib/xstriconv.h
index 75f8f83..6319989 100644
--- a/gettext-tools/gnulib-lib/xstriconv.h
+++ b/gettext-tools/gnulib-lib/xstriconv.h
@@ -1,5 +1,5 @@
/* Charset conversion with out-of-memory checking.
- Copyright (C) 2001-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xstriconveh.c b/gettext-tools/gnulib-lib/xstriconveh.c
index 57d3d4c..f47904a 100644
--- a/gettext-tools/gnulib-lib/xstriconveh.c
+++ b/gettext-tools/gnulib-lib/xstriconveh.c
@@ -1,5 +1,5 @@
/* Charset conversion with out-of-memory checking.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xstriconveh.h b/gettext-tools/gnulib-lib/xstriconveh.h
index 761f84a..5438a75 100644
--- a/gettext-tools/gnulib-lib/xstriconveh.h
+++ b/gettext-tools/gnulib-lib/xstriconveh.h
@@ -1,5 +1,5 @@
/* Charset conversion with out-of-memory checking.
- Copyright (C) 2001-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-lib/xvasprintf.c b/gettext-tools/gnulib-lib/xvasprintf.c
index 7a4029e..441ab59 100644
--- a/gettext-tools/gnulib-lib/xvasprintf.c
+++ b/gettext-tools/gnulib-lib/xvasprintf.c
@@ -1,5 +1,5 @@
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 1999, 2002-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-lib/xvasprintf.h b/gettext-tools/gnulib-lib/xvasprintf.h
index 407a5e0..3b7f5ad 100644
--- a/gettext-tools/gnulib-lib/xvasprintf.h
+++ b/gettext-tools/gnulib-lib/xvasprintf.h
@@ -1,5 +1,5 @@
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-m4/00gnulib.m4 b/gettext-tools/gnulib-m4/00gnulib.m4
index 8eca551..c7103ed 100644
--- a/gettext-tools/gnulib-m4/00gnulib.m4
+++ b/gettext-tools/gnulib-m4/00gnulib.m4
@@ -1,5 +1,5 @@
# 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/absolute-header.m4 b/gettext-tools/gnulib-m4/absolute-header.m4
index ce3e39e..bc19dfc 100644
--- a/gettext-tools/gnulib-m4/absolute-header.m4
+++ b/gettext-tools/gnulib-m4/absolute-header.m4
@@ -1,5 +1,5 @@
# absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/acl.m4 b/gettext-tools/gnulib-m4/acl.m4
index f02f69d..75fc9ce 100644
--- a/gettext-tools/gnulib-m4/acl.m4
+++ b/gettext-tools/gnulib-m4/acl.m4
@@ -1,30 +1,36 @@
# acl.m4 - check for access control list (ACL) primitives
-# serial 17
+# serial 21
-# Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Written by Paul Eggert and Jim Meyering.
-AC_DEFUN([gl_FUNC_ACL],
+AC_DEFUN([gl_FUNC_ACL_ARG],
[
+ gl_need_lib_has_acl=
AC_ARG_ENABLE([acl],
AS_HELP_STRING([--disable-acl], [do not support ACLs]),
, [enable_acl=auto])
+])
+
+AC_DEFUN([gl_FUNC_ACL],
+[
+ AC_REQUIRE([gl_FUNC_ACL_ARG])
AC_CHECK_FUNCS_ONCE([fchmod])
LIB_ACL=
use_acl=0
- if test "x$enable_acl" != "xno"; then
+ if test "$enable_acl" != no; then
dnl On all platforms, the ACL related API is declared in <sys/acl.h>.
AC_CHECK_HEADERS([sys/acl.h])
if test $ac_cv_header_sys_acl_h = yes; then
ac_save_LIBS=$LIBS
- dnl Test for POSIX-draft-like API (Linux, FreeBSD, Mac OS X, IRIX, Tru64).
- dnl -lacl is needed on Linux, -lpacl is needed on OSF/1.
+ dnl Test for POSIX-draft-like API (GNU/Linux, FreeBSD, Mac OS X,
+ dnl IRIX, Tru64). -lacl is needed on GNU/Linux, -lpacl on OSF/1.
if test $use_acl = 0; then
AC_SEARCH_LIBS([acl_get_file], [acl pacl],
[if test "$ac_cv_search_acl_get_file" != "none required"; then
@@ -40,7 +46,7 @@ AC_DEFUN([gl_FUNC_ACL],
# If the acl_get_file bug is detected, don't enable the ACL support.
gl_ACL_GET_FILE([use_acl=1], [])
if test $use_acl = 1; then
- dnl On Linux, additional API is declared in <acl/libacl.h>.
+ dnl On GNU/Linux, an additional API is declared in <acl/libacl.h>.
AC_CHECK_HEADERS([acl/libacl.h])
AC_REPLACE_FUNCS([acl_entries])
AC_CACHE_CHECK([for ACL_FIRST_ENTRY],
@@ -124,13 +130,15 @@ int type = ACL_TYPE_EXTENDED;]])],
LIBS=$ac_save_LIBS
fi
- if test "x$enable_acl$use_acl" = "xyes0"; then
+
+ if test "$enable_acl$use_acl" = yes0; then
AC_MSG_ERROR([ACLs enabled but support not detected])
- elif test "x$enable_acl$use_acl" = "xauto0"; then
+ elif test "$enable_acl$use_acl" = auto0; then
AC_MSG_WARN([libacl development library was not found or not usable.])
AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.])
fi
fi
+ test $gl_need_lib_has_acl && LIB_HAS_ACL=$LIB_ACL
AC_SUBST([LIB_ACL])
AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl],
[Define to nonzero if you want access control list support.])
@@ -139,7 +147,7 @@ int type = ACL_TYPE_EXTENDED;]])],
])
# gl_ACL_GET_FILE(IF-WORKS, IF-NOT)
-# -------------------------------------
+# ---------------------------------
# If 'acl_get_file' works (does not have a particular bug),
# run IF-WORKS, otherwise, IF-NOT.
# When building natively, test for a Darwin 8.7.0 bug, whereby acl_get_file
@@ -166,3 +174,38 @@ AC_DEFUN([gl_ACL_GET_FILE],
fi])])
AS_IF([test "$gl_cv_func_working_acl_get_file" != no], [$1], [$2])
])
+
+# On GNU/Linux, testing if a file has an acl can be done with the getxattr
+# syscall which doesn't require linking against additional libraries.
+AC_DEFUN([gl_FILE_HAS_ACL],
+[
+ AC_REQUIRE([gl_FUNC_ACL_ARG])
+ if test "$enable_acl" != no; then
+ AC_CACHE_CHECK([for getxattr with XATTR_NAME_POSIX_ACL macros],
+ [gl_cv_getxattr_with_posix_acls],
+ [gl_cv_getxattr_with_posix_acls=no
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ #include <sys/xattr.h>
+ #include <linux/xattr.h>
+ ]],
+ [[ssize_t a = getxattr (".", XATTR_NAME_POSIX_ACL_ACCESS, 0, 0);
+ ssize_t b = getxattr (".", XATTR_NAME_POSIX_ACL_DEFAULT, 0, 0);
+ return a < 0 || b < 0;
+ ]])],
+ [gl_cv_getxattr_with_posix_acls=yes])])
+ fi
+ if test "$gl_cv_getxattr_with_posix_acls" = yes; then
+ LIB_HAS_ACL=
+ AC_DEFINE([GETXATTR_WITH_POSIX_ACLS], 1,
+ [Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS
+ and XATTR_NAME_POSIX_ACL_DEFAULT.])
+ else
+ dnl Set gl_need_lib_has_acl to a nonempty value, so that any
+ dnl later gl_FUNC_ACL call will set LIB_HAS_ACL=$LIB_ACL.
+ gl_need_lib_has_acl=1
+ LIB_HAS_ACL=$LIB_ACL
+ fi
+ AC_SUBST([LIB_HAS_ACL])
+])
diff --git a/gettext-tools/gnulib-m4/alloca.m4 b/gettext-tools/gnulib-m4/alloca.m4
index 58a61f8..c7165e5 100644
--- a/gettext-tools/gnulib-m4/alloca.m4
+++ b/gettext-tools/gnulib-m4/alloca.m4
@@ -1,5 +1,6 @@
# alloca.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2006, 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2006, 2011, 2015 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/ansi-c++.m4 b/gettext-tools/gnulib-m4/ansi-c++.m4
index 8431262..d1f3e9d 100644
--- a/gettext-tools/gnulib-m4/ansi-c++.m4
+++ b/gettext-tools/gnulib-m4/ansi-c++.m4
@@ -1,5 +1,5 @@
# ansi-c++.m4 serial 9
-dnl Copyright (C) 2002-2003, 2005, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2005, 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/asm-underscore.m4 b/gettext-tools/gnulib-m4/asm-underscore.m4
index 910144a..f11e712 100644
--- a/gettext-tools/gnulib-m4/asm-underscore.m4
+++ b/gettext-tools/gnulib-m4/asm-underscore.m4
@@ -1,5 +1,5 @@
# asm-underscore.m4 serial 2
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/atexit.m4 b/gettext-tools/gnulib-m4/atexit.m4
index 5a1c293..ace0061 100644
--- a/gettext-tools/gnulib-m4/atexit.m4
+++ b/gettext-tools/gnulib-m4/atexit.m4
@@ -1,5 +1,5 @@
# atexit.m4 serial 4
-dnl Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/backupfile.m4 b/gettext-tools/gnulib-m4/backupfile.m4
index 532bd5c..febc532 100644
--- a/gettext-tools/gnulib-m4/backupfile.m4
+++ b/gettext-tools/gnulib-m4/backupfile.m4
@@ -1,5 +1,5 @@
# backupfile.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/bison-i18n.m4 b/gettext-tools/gnulib-m4/bison-i18n.m4
index 8524d9a..f5cfd3a 100644
--- a/gettext-tools/gnulib-m4/bison-i18n.m4
+++ b/gettext-tools/gnulib-m4/bison-i18n.m4
@@ -1,5 +1,5 @@
# bison-i18n.m4 serial 3
-dnl Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/btowc.m4 b/gettext-tools/gnulib-m4/btowc.m4
index 9988944..c1da65d 100644
--- a/gettext-tools/gnulib-m4/btowc.m4
+++ b/gettext-tools/gnulib-m4/btowc.m4
@@ -1,5 +1,5 @@
# btowc.m4 serial 10
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/byteswap.m4 b/gettext-tools/gnulib-m4/byteswap.m4
index 6d6357c..ec5d46c 100644
--- a/gettext-tools/gnulib-m4/byteswap.m4
+++ b/gettext-tools/gnulib-m4/byteswap.m4
@@ -1,5 +1,5 @@
# byteswap.m4 serial 4
-dnl Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/canonicalize.m4 b/gettext-tools/gnulib-m4/canonicalize.m4
index ace4556..6d932fd 100644
--- a/gettext-tools/gnulib-m4/canonicalize.m4
+++ b/gettext-tools/gnulib-m4/canonicalize.m4
@@ -1,6 +1,6 @@
# canonicalize.m4 serial 26
-dnl Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/check-math-lib.m4 b/gettext-tools/gnulib-m4/check-math-lib.m4
new file mode 100644
index 0000000..1c83f8f
--- /dev/null
+++ b/gettext-tools/gnulib-m4/check-math-lib.m4
@@ -0,0 +1,32 @@
+# check-math-lib.m4 serial 4
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl gl_CHECK_MATH_LIB (VARIABLE, EXPRESSION [, EXTRA-CODE])
+dnl
+dnl Sets the shell VARIABLE according to the libraries needed by EXPRESSION
+dnl to compile and link: to the empty string if no extra libraries are needed,
+dnl to "-lm" if -lm is needed, or to "missing" if it does not compile and
+dnl link either way.
+dnl
+dnl Example: gl_CHECK_MATH_LIB([ROUNDF_LIBM], [x = roundf (x);])
+AC_DEFUN([gl_CHECK_MATH_LIB], [
+ save_LIBS=$LIBS
+ $1=missing
+ for libm in "" "-lm"; do
+ LIBS="$save_LIBS $libm"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+ $3
+ double x;]],
+ [$2])],
+ [$1=$libm
+break])
+ done
+ LIBS=$save_LIBS
+])
diff --git a/gettext-tools/gnulib-m4/close.m4 b/gettext-tools/gnulib-m4/close.m4
index 68510c5..d04aefb 100644
--- a/gettext-tools/gnulib-m4/close.m4
+++ b/gettext-tools/gnulib-m4/close.m4
@@ -1,5 +1,5 @@
# close.m4 serial 8
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/closedir.m4 b/gettext-tools/gnulib-m4/closedir.m4
index d234a52..a4403b4 100644
--- a/gettext-tools/gnulib-m4/closedir.m4
+++ b/gettext-tools/gnulib-m4/closedir.m4
@@ -1,5 +1,5 @@
# closedir.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/configmake.m4 b/gettext-tools/gnulib-m4/configmake.m4
index 0cd86cf..49d3a13 100644
--- a/gettext-tools/gnulib-m4/configmake.m4
+++ b/gettext-tools/gnulib-m4/configmake.m4
@@ -1,5 +1,5 @@
# configmake.m4 serial 2
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/copy-file.m4 b/gettext-tools/gnulib-m4/copy-file.m4
index 601e4e3..cdef360 100644
--- a/gettext-tools/gnulib-m4/copy-file.m4
+++ b/gettext-tools/gnulib-m4/copy-file.m4
@@ -1,5 +1,5 @@
# copy-file.m4 serial 3
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/csharp.m4 b/gettext-tools/gnulib-m4/csharp.m4
index 20f7887..8d90a65 100644
--- a/gettext-tools/gnulib-m4/csharp.m4
+++ b/gettext-tools/gnulib-m4/csharp.m4
@@ -1,5 +1,5 @@
# csharp.m4 serial 3
-dnl Copyright (C) 2004-2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/csharpcomp.m4 b/gettext-tools/gnulib-m4/csharpcomp.m4
index 4a91bc0..5308f9d 100644
--- a/gettext-tools/gnulib-m4/csharpcomp.m4
+++ b/gettext-tools/gnulib-m4/csharpcomp.m4
@@ -1,5 +1,5 @@
# csharpcomp.m4 serial 8
-dnl Copyright (C) 2003-2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/csharpexec.m4 b/gettext-tools/gnulib-m4/csharpexec.m4
index 73597cc..50fd281 100644
--- a/gettext-tools/gnulib-m4/csharpexec.m4
+++ b/gettext-tools/gnulib-m4/csharpexec.m4
@@ -1,5 +1,5 @@
# csharpexec.m4 serial 4
-dnl Copyright (C) 2003-2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/ctype.m4 b/gettext-tools/gnulib-m4/ctype.m4
new file mode 100644
index 0000000..e28975f
--- /dev/null
+++ b/gettext-tools/gnulib-m4/ctype.m4
@@ -0,0 +1,32 @@
+# ctype_h.m4 serial 6
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_CTYPE_H],
+[
+ AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+
+ dnl <ctype.h> is always overridden, because of GNULIB_POSIXCHECK.
+ gl_NEXT_HEADERS([ctype.h])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[#include <ctype.h>
+ ]], [isblank])
+])
+
+AC_DEFUN([gl_CTYPE_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+])
+
+AC_DEFUN([gl_CTYPE_H_DEFAULTS],
+[
+ GNULIB_ISBLANK=0; AC_SUBST([GNULIB_ISBLANK])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_ISBLANK=1; AC_SUBST([HAVE_ISBLANK])
+])
diff --git a/gettext-tools/gnulib-m4/curses.m4 b/gettext-tools/gnulib-m4/curses.m4
index ef41ffd..9de43d2 100644
--- a/gettext-tools/gnulib-m4/curses.m4
+++ b/gettext-tools/gnulib-m4/curses.m4
@@ -1,5 +1,5 @@
# curses.m4 serial 1 (gettext-0.18)
-dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/dirent_h.m4 b/gettext-tools/gnulib-m4/dirent_h.m4
index 3f2b16b..7abd1d0 100644
--- a/gettext-tools/gnulib-m4/dirent_h.m4
+++ b/gettext-tools/gnulib-m4/dirent_h.m4
@@ -1,5 +1,5 @@
# dirent_h.m4 serial 16
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/double-slash-root.m4 b/gettext-tools/gnulib-m4/double-slash-root.m4
index 937f4bc..f307eb2 100644
--- a/gettext-tools/gnulib-m4/double-slash-root.m4
+++ b/gettext-tools/gnulib-m4/double-slash-root.m4
@@ -1,5 +1,5 @@
# double-slash-root.m4 serial 4 -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/dup.m4 b/gettext-tools/gnulib-m4/dup.m4
index 9393bc5..b67e5b7 100644
--- a/gettext-tools/gnulib-m4/dup.m4
+++ b/gettext-tools/gnulib-m4/dup.m4
@@ -1,5 +1,5 @@
# dup.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/dup2.m4 b/gettext-tools/gnulib-m4/dup2.m4
index 6498fc2..59028e0 100644
--- a/gettext-tools/gnulib-m4/dup2.m4
+++ b/gettext-tools/gnulib-m4/dup2.m4
@@ -1,5 +1,5 @@
-#serial 20
-dnl Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+#serial 24
+dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -8,7 +8,6 @@ AC_DEFUN([gl_FUNC_DUP2],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CHECK_FUNCS_ONCE([getdtablesize])
m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [
AC_CHECK_FUNCS_ONCE([dup2])
if test $ac_cv_func_dup2 = no; then
@@ -20,38 +19,50 @@ AC_DEFUN([gl_FUNC_DUP2],
if test $HAVE_DUP2 = 1; then
AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
[AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>]],
- [int result = 0;
-#ifdef HAVE_GETDTABLESIZE
- int bad_fd = getdtablesize ();
-#else
- int bad_fd = 1000000;
-#endif
-#ifdef FD_CLOEXEC
- if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
- result |= 1;
-#endif
- if (dup2 (1, 1) == 0)
- result |= 2;
-#ifdef FD_CLOEXEC
- if (fcntl (1, F_GETFD) != FD_CLOEXEC)
- result |= 4;
-#endif
- close (0);
- if (dup2 (0, 0) != -1)
- result |= 8;
- /* Many gnulib modules require POSIX conformance of EBADF. */
- if (dup2 (2, bad_fd) == -1 && errno != EBADF)
- result |= 16;
- /* Flush out some cygwin core dumps. */
- if (dup2 (2, -1) != -1 || errno != EBADF)
- result |= 32;
- dup2 (2, 255);
- dup2 (2, 256);
- return result;
- ])
+ AC_LANG_PROGRAM(
+ [[#include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <sys/resource.h>
+ #include <unistd.h>
+ #ifndef RLIM_SAVED_CUR
+ # define RLIM_SAVED_CUR RLIM_INFINITY
+ #endif
+ #ifndef RLIM_SAVED_MAX
+ # define RLIM_SAVED_MAX RLIM_INFINITY
+ #endif
+ ]],
+ [[int result = 0;
+ int bad_fd = INT_MAX;
+ struct rlimit rlim;
+ if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+ && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+ && rlim.rlim_cur != RLIM_INFINITY
+ && rlim.rlim_cur != RLIM_SAVED_MAX
+ && rlim.rlim_cur != RLIM_SAVED_CUR)
+ bad_fd = rlim.rlim_cur;
+ #ifdef FD_CLOEXEC
+ if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+ result |= 1;
+ #endif
+ if (dup2 (1, 1) != 1)
+ result |= 2;
+ #ifdef FD_CLOEXEC
+ if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+ result |= 4;
+ #endif
+ close (0);
+ if (dup2 (0, 0) != -1)
+ result |= 8;
+ /* Many gnulib modules require POSIX conformance of EBADF. */
+ if (dup2 (2, bad_fd) == -1 && errno != EBADF)
+ result |= 16;
+ /* Flush out some cygwin core dumps. */
+ if (dup2 (2, -1) != -1 || errno != EBADF)
+ result |= 32;
+ dup2 (2, 255);
+ dup2 (2, 256);
+ return result;]])
],
[gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
[case "$host_os" in
@@ -59,15 +70,14 @@ AC_DEFUN([gl_FUNC_DUP2],
gl_cv_func_dup2_works="guessing no" ;;
cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
gl_cv_func_dup2_works="guessing no" ;;
- linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
- # closed fd may yield -EBADF instead of -1 / errno=EBADF.
- gl_cv_func_dup2_works="guessing no" ;;
aix* | freebsd*)
# on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
# not EBADF.
gl_cv_func_dup2_works="guessing no" ;;
haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
gl_cv_func_dup2_works="guessing no" ;;
+ *-android*) # implemented using dup3(), which fails if oldfd == newfd
+ gl_cv_func_dup2_works="guessing no" ;;
*) gl_cv_func_dup2_works="guessing yes" ;;
esac])
])
diff --git a/gettext-tools/gnulib-m4/eaccess.m4 b/gettext-tools/gnulib-m4/eaccess.m4
index 885972e..28f977c 100644
--- a/gettext-tools/gnulib-m4/eaccess.m4
+++ b/gettext-tools/gnulib-m4/eaccess.m4
@@ -1,5 +1,5 @@
# eaccess.m4 serial 2
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/eealloc.m4 b/gettext-tools/gnulib-m4/eealloc.m4
index 8a51fe7..322bdd5 100644
--- a/gettext-tools/gnulib-m4/eealloc.m4
+++ b/gettext-tools/gnulib-m4/eealloc.m4
@@ -1,5 +1,5 @@
# eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/environ.m4 b/gettext-tools/gnulib-m4/environ.m4
index cfabe46..4dbf947 100644
--- a/gettext-tools/gnulib-m4/environ.m4
+++ b/gettext-tools/gnulib-m4/environ.m4
@@ -1,5 +1,5 @@
# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/errno_h.m4 b/gettext-tools/gnulib-m4/errno_h.m4
index 4ee9e6a..cfaa687 100644
--- a/gettext-tools/gnulib-m4/errno_h.m4
+++ b/gettext-tools/gnulib-m4/errno_h.m4
@@ -1,5 +1,5 @@
# errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/error.m4 b/gettext-tools/gnulib-m4/error.m4
index f08ae50..b3bd7f6 100644
--- a/gettext-tools/gnulib-m4/error.m4
+++ b/gettext-tools/gnulib-m4/error.m4
@@ -1,6 +1,6 @@
#serial 14
-# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/execute.m4 b/gettext-tools/gnulib-m4/execute.m4
index 72155ae..ffa4eae 100644
--- a/gettext-tools/gnulib-m4/execute.m4
+++ b/gettext-tools/gnulib-m4/execute.m4
@@ -1,5 +1,5 @@
# execute.m4 serial 5
-dnl Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/exponentd.m4 b/gettext-tools/gnulib-m4/exponentd.m4
index 7bee635..84f1691 100644
--- a/gettext-tools/gnulib-m4/exponentd.m4
+++ b/gettext-tools/gnulib-m4/exponentd.m4
@@ -1,5 +1,5 @@
# exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/exponentf.m4 b/gettext-tools/gnulib-m4/exponentf.m4
new file mode 100644
index 0000000..95e32cd
--- /dev/null
+++ b/gettext-tools/gnulib-m4/exponentf.m4
@@ -0,0 +1,92 @@
+# exponentf.m4 serial 2
+dnl Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+AC_DEFUN([gl_FLOAT_EXPONENT_LOCATION],
+[
+ AC_CACHE_CHECK([where to find the exponent in a 'float'],
+ [gl_cv_cc_float_expbit0],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (float x)
+{
+ memory_float m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (float) < sizeof (memory_float). */
+ memset (&m, 0, sizeof (memory_float));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25f);
+ add_to_ored_words (0.5f);
+ add_to_ored_words (1.0f);
+ add_to_ored_words (2.0f);
+ add_to_ored_words (4.0f);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+ ]])],
+ [gl_cv_cc_float_expbit0=`cat conftest.out`],
+ [gl_cv_cc_float_expbit0="unknown"],
+ [gl_cv_cc_float_expbit0="word 0 bit 23"])
+ rm -f conftest.out
+ ])
+ case "$gl_cv_cc_float_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
+ AC_DEFINE_UNQUOTED([FLT_EXPBIT0_WORD], [$word],
+ [Define as the word index where to find the exponent of 'float'.])
+ AC_DEFINE_UNQUOTED([FLT_EXPBIT0_BIT], [$bit],
+ [Define as the bit index in the word where to find bit 0 of the exponent of 'float'.])
+ ;;
+ esac
+])
diff --git a/gettext-tools/gnulib-m4/exponentl.m4 b/gettext-tools/gnulib-m4/exponentl.m4
new file mode 100644
index 0000000..6b95e73
--- /dev/null
+++ b/gettext-tools/gnulib-m4/exponentl.m4
@@ -0,0 +1,98 @@
+# exponentl.m4 serial 3
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+AC_DEFUN([gl_LONG_DOUBLE_EXPONENT_LOCATION],
+[
+ AC_REQUIRE([gl_BIGENDIAN])
+ AC_CACHE_CHECK([where to find the exponent in a 'long double'],
+ [gl_cv_cc_long_double_expbit0],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { long double value; unsigned int word[NWORDS]; }
+ memory_long_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (long double x)
+{
+ memory_long_double m;
+ size_t i;
+ /* Clear it first, in case
+ sizeof (long double) < sizeof (memory_long_double). */
+ memset (&m, 0, sizeof (memory_long_double));
+ m.value = x;
+ for (i = 0; i < NWORDS; i++)
+ {
+ ored_words[i] |= m.word[i];
+ anded_words[i] &= m.word[i];
+ }
+}
+int main ()
+{
+ size_t j;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ for (j = 0; j < NWORDS; j++)
+ anded_words[j] = ~ (unsigned int) 0;
+ add_to_ored_words (0.25L);
+ add_to_ored_words (0.5L);
+ add_to_ored_words (1.0L);
+ add_to_ored_words (2.0L);
+ add_to_ored_words (4.0L);
+ /* Remove bits that are common (e.g. if representation of the first mantissa
+ bit is explicit). */
+ for (j = 0; j < NWORDS; j++)
+ ored_words[j] &= ~anded_words[j];
+ /* Now find the nonzero word. */
+ for (j = 0; j < NWORDS; j++)
+ if (ored_words[j] != 0)
+ break;
+ if (j < NWORDS)
+ {
+ size_t i;
+ for (i = j + 1; i < NWORDS; i++)
+ if (ored_words[i] != 0)
+ {
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+ }
+ for (i = 0; ; i++)
+ if ((ored_words[j] >> i) & 1)
+ {
+ fprintf (fp, "word %d bit %d", (int) j, (int) i);
+ return (fclose (fp) != 0);
+ }
+ }
+ fprintf (fp, "unknown");
+ return (fclose (fp) != 0);
+}
+ ]])],
+ [gl_cv_cc_long_double_expbit0=`cat conftest.out`],
+ [gl_cv_cc_long_double_expbit0="unknown"],
+ [
+ dnl When cross-compiling, we don't know. It depends on the
+ dnl ABI and compiler version. There are too many cases.
+ gl_cv_cc_long_double_expbit0="unknown"
+ ])
+ rm -f conftest.out
+ ])
+ case "$gl_cv_cc_long_double_expbit0" in
+ word*bit*)
+ word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
+ AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_WORD], [$word],
+ [Define as the word index where to find the exponent of 'long double'.])
+ AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_BIT], [$bit],
+ [Define as the bit index in the word where to find bit 0 of the exponent of 'long double'.])
+ ;;
+ esac
+])
diff --git a/gettext-tools/gnulib-m4/extensions.m4 b/gettext-tools/gnulib-m4/extensions.m4
index 37f55ca..35bc49c 100644
--- a/gettext-tools/gnulib-m4/extensions.m4
+++ b/gettext-tools/gnulib-m4/extensions.m4
@@ -1,7 +1,7 @@
# serial 13 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -68,6 +68,10 @@ dnl configure.ac when using autoheader 2.62.
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
+/* Use GNU style printf and scanf. */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
@@ -100,6 +104,7 @@ dnl configure.ac when using autoheader 2.62.
AC_DEFINE([_ALL_SOURCE])
AC_DEFINE([_DARWIN_C_SOURCE])
AC_DEFINE([_GNU_SOURCE])
+ AC_DEFINE([__USE_MINGW_ANSI_STDIO])
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
AC_DEFINE([_TANDEM_SOURCE])
AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
diff --git a/gettext-tools/gnulib-m4/fabs.m4 b/gettext-tools/gnulib-m4/fabs.m4
new file mode 100644
index 0000000..4bf1944
--- /dev/null
+++ b/gettext-tools/gnulib-m4/fabs.m4
@@ -0,0 +1,11 @@
+# fabs.m4 serial 1
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_FABS],
+[
+ dnl Determine FABS_LIBM.
+ gl_MATHFUNC([fabs], [double], [(double)])
+])
diff --git a/gettext-tools/gnulib-m4/fatal-signal.m4 b/gettext-tools/gnulib-m4/fatal-signal.m4
index d3edf64..55ec8a4 100644
--- a/gettext-tools/gnulib-m4/fatal-signal.m4
+++ b/gettext-tools/gnulib-m4/fatal-signal.m4
@@ -1,5 +1,5 @@
# fatal-signal.m4 serial 9
-dnl Copyright (C) 2003-2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fcntl.m4 b/gettext-tools/gnulib-m4/fcntl.m4
index f824beb..76dd867 100644
--- a/gettext-tools/gnulib-m4/fcntl.m4
+++ b/gettext-tools/gnulib-m4/fcntl.m4
@@ -1,5 +1,5 @@
-# fcntl.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# fcntl.m4 serial 8
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -19,7 +19,7 @@ AC_DEFUN([gl_FUNC_FCNTL],
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CHECK_FUNCS_ONCE([fcntl getdtablesize])
+ AC_CHECK_FUNCS_ONCE([fcntl])
if test $ac_cv_func_fcntl = no; then
gl_REPLACE_FCNTL
else
@@ -27,30 +27,40 @@ AC_DEFUN([gl_FUNC_FCNTL],
dnl haiku alpha 2 F_DUPFD has wrong errno
AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
[gl_cv_func_fcntl_f_dupfd_works],
- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-#ifdef HAVE_GETDTABLESIZE
-# include <unistd.h>
-#endif
-#include <fcntl.h>
-#include <errno.h>
-]], [[int result = 0;
-#ifdef HAVE_GETDTABLESIZE
- int bad_fd = getdtablesize ();
-#else
- int bad_fd = 1000000;
-#endif
- if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
- if (errno != EINVAL) result |= 2;
- if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
- if (errno != EINVAL) result |= 8;
- return result;
- ]])],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <sys/resource.h>
+ #include <unistd.h>
+ #ifndef RLIM_SAVED_CUR
+ # define RLIM_SAVED_CUR RLIM_INFINITY
+ #endif
+ #ifndef RLIM_SAVED_MAX
+ # define RLIM_SAVED_MAX RLIM_INFINITY
+ #endif
+ ]],
+ [[int result = 0;
+ int bad_fd = INT_MAX;
+ struct rlimit rlim;
+ if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+ && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+ && rlim.rlim_cur != RLIM_INFINITY
+ && rlim.rlim_cur != RLIM_SAVED_MAX
+ && rlim.rlim_cur != RLIM_SAVED_CUR)
+ bad_fd = rlim.rlim_cur;
+ if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+ if (errno != EINVAL) result |= 2;
+ if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+ if (errno != EINVAL) result |= 8;
+ return result;]])],
[gl_cv_func_fcntl_f_dupfd_works=yes],
[gl_cv_func_fcntl_f_dupfd_works=no],
- [# Guess that it works on glibc systems
- case $host_os in #((
- *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";;
- *) gl_cv_func_fcntl_f_dupfd_works="guessing no";;
+ [case $host_os in
+ aix* | cygwin* | haiku*)
+ gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+ *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
esac])])
case $gl_cv_func_fcntl_f_dupfd_works in
*yes) ;;
diff --git a/gettext-tools/gnulib-m4/fcntl_h.m4 b/gettext-tools/gnulib-m4/fcntl_h.m4
index fb2556d..b279162 100644
--- a/gettext-tools/gnulib-m4/fcntl_h.m4
+++ b/gettext-tools/gnulib-m4/fcntl_h.m4
@@ -1,6 +1,6 @@
# serial 15
# Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fdopen.m4 b/gettext-tools/gnulib-m4/fdopen.m4
index 4cf8f35..8c57b99 100644
--- a/gettext-tools/gnulib-m4/fdopen.m4
+++ b/gettext-tools/gnulib-m4/fdopen.m4
@@ -1,5 +1,5 @@
# fdopen.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/findprog.m4 b/gettext-tools/gnulib-m4/findprog.m4
index 0567b3f..f92c9ea 100644
--- a/gettext-tools/gnulib-m4/findprog.m4
+++ b/gettext-tools/gnulib-m4/findprog.m4
@@ -1,5 +1,5 @@
# findprog.m4 serial 2
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/float_h.m4 b/gettext-tools/gnulib-m4/float_h.m4
index a27ef7f..e4853f3 100644
--- a/gettext-tools/gnulib-m4/float_h.m4
+++ b/gettext-tools/gnulib-m4/float_h.m4
@@ -1,5 +1,5 @@
# float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fnmatch.m4 b/gettext-tools/gnulib-m4/fnmatch.m4
index 9db4144..6ccc1d0 100644
--- a/gettext-tools/gnulib-m4/fnmatch.m4
+++ b/gettext-tools/gnulib-m4/fnmatch.m4
@@ -1,6 +1,6 @@
-# Check for fnmatch - serial 9.
+# Check for fnmatch - serial 9. -*- coding: utf-8 -*-
-# Copyright (C) 2000-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fopen.m4 b/gettext-tools/gnulib-m4/fopen.m4
index 7b26c78..baec65e 100644
--- a/gettext-tools/gnulib-m4/fopen.m4
+++ b/gettext-tools/gnulib-m4/fopen.m4
@@ -1,5 +1,5 @@
# fopen.m4 serial 9
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fpieee.m4 b/gettext-tools/gnulib-m4/fpieee.m4
index 729afe8..41c6033 100644
--- a/gettext-tools/gnulib-m4/fpieee.m4
+++ b/gettext-tools/gnulib-m4/fpieee.m4
@@ -1,5 +1,5 @@
-# fpieee.m4 serial 2
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# fpieee.m4 serial 2 -*- coding: utf-8 -*-
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fseeko.m4 b/gettext-tools/gnulib-m4/fseeko.m4
index 4ccb57d..84555e2 100644
--- a/gettext-tools/gnulib-m4/fseeko.m4
+++ b/gettext-tools/gnulib-m4/fseeko.m4
@@ -1,5 +1,5 @@
# fseeko.m4 serial 17
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/fstat.m4 b/gettext-tools/gnulib-m4/fstat.m4
index ddd3fb9..d6a9288 100644
--- a/gettext-tools/gnulib-m4/fstat.m4
+++ b/gettext-tools/gnulib-m4/fstat.m4
@@ -1,5 +1,5 @@
# fstat.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/ftell.m4 b/gettext-tools/gnulib-m4/ftell.m4
index b99e76d..7798919 100644
--- a/gettext-tools/gnulib-m4/ftell.m4
+++ b/gettext-tools/gnulib-m4/ftell.m4
@@ -1,5 +1,5 @@
# ftell.m4 serial 3
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/ftello.m4 b/gettext-tools/gnulib-m4/ftello.m4
index 14a9bee..3825cf2 100644
--- a/gettext-tools/gnulib-m4/ftello.m4
+++ b/gettext-tools/gnulib-m4/ftello.m4
@@ -1,5 +1,5 @@
# ftello.m4 serial 11
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/gcj.m4 b/gettext-tools/gnulib-m4/gcj.m4
index f84b7fb..021bc7c 100644
--- a/gettext-tools/gnulib-m4/gcj.m4
+++ b/gettext-tools/gnulib-m4/gcj.m4
@@ -1,5 +1,5 @@
# gcj.m4 serial 2 (gettext-0.17)
-dnl Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2006, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/getcwd.m4 b/gettext-tools/gnulib-m4/getcwd.m4
index fc986cd..b9fbcec 100644
--- a/gettext-tools/gnulib-m4/getcwd.m4
+++ b/gettext-tools/gnulib-m4/getcwd.m4
@@ -1,6 +1,6 @@
# getcwd.m4 - check for working getcwd that is compatible with glibc
-# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -136,11 +136,16 @@ AC_DEFUN([gl_FUNC_GETCWD],
[Define to 1 if getcwd works, except it sometimes fails when it
shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.])
;;
+ "yes, but with shorter paths")
+ AC_DEFINE([HAVE_GETCWD_SHORTER], [1],
+ [Define to 1 if getcwd works, but with shorter paths
+ than is generally tested with the replacement.])
+ ;;
esac
if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \
|| test $gl_cv_func_getcwd_posix_signature != yes \
- || test "$gl_cv_func_getcwd_path_max" != yes \
+ || { case "$gl_cv_func_getcwd_path_max" in *yes*) false;; *) true;; esac; } \
|| test $gl_abort_bug = yes; then
REPLACE_GETCWD=1
fi
diff --git a/gettext-tools/gnulib-m4/getdelim.m4 b/gettext-tools/gnulib-m4/getdelim.m4
index c763994..af9b1fa 100644
--- a/gettext-tools/gnulib-m4/getdelim.m4
+++ b/gettext-tools/gnulib-m4/getdelim.m4
@@ -1,6 +1,6 @@
# getdelim.m4 serial 10
-dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
dnl
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/getdtablesize.m4 b/gettext-tools/gnulib-m4/getdtablesize.m4
index aa523b6..25e9968 100644
--- a/gettext-tools/gnulib-m4/getdtablesize.m4
+++ b/gettext-tools/gnulib-m4/getdtablesize.m4
@@ -1,5 +1,5 @@
-# getdtablesize.m4 serial 5
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# getdtablesize.m4 serial 6
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,9 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE],
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CHECK_FUNCS_ONCE([getdtablesize])
- if test $ac_cv_func_getdtablesize = yes; then
+ AC_CHECK_DECLS_ONCE([getdtablesize])
+ if test $ac_cv_func_getdtablesize = yes &&
+ test $ac_cv_have_decl_getdtablesize = yes; then
# Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
# up to an unchangeable hard limit; all other platforms correctly
# require setrlimit before getdtablesize() can report a larger value.
diff --git a/gettext-tools/gnulib-m4/getline.m4 b/gettext-tools/gnulib-m4/getline.m4
index 0330666..a35f3a2 100644
--- a/gettext-tools/gnulib-m4/getline.m4
+++ b/gettext-tools/gnulib-m4/getline.m4
@@ -1,6 +1,6 @@
# getline.m4 serial 26
-dnl Copyright (C) 1998-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl
dnl This file is free software; the Free Software Foundation
diff --git a/gettext-tools/gnulib-m4/getopt.m4 b/gettext-tools/gnulib-m4/getopt.m4
index f127028..e76e501 100644
--- a/gettext-tools/gnulib-m4/getopt.m4
+++ b/gettext-tools/gnulib-m4/getopt.m4
@@ -1,5 +1,5 @@
# getopt.m4 serial 44
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/getpagesize.m4 b/gettext-tools/gnulib-m4/getpagesize.m4
index ce50695..7057a21 100644
--- a/gettext-tools/gnulib-m4/getpagesize.m4
+++ b/gettext-tools/gnulib-m4/getpagesize.m4
@@ -1,5 +1,5 @@
# getpagesize.m4 serial 9
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/gettimeofday.m4 b/gettext-tools/gnulib-m4/gettimeofday.m4
index 1c2d66e..ce246e1 100644
--- a/gettext-tools/gnulib-m4/gettimeofday.m4
+++ b/gettext-tools/gnulib-m4/gettimeofday.m4
@@ -1,6 +1,6 @@
# serial 21
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/gnulib-cache.m4 b/gettext-tools/gnulib-m4/gnulib-cache.m4
index 1912d7a..e615944 100644
--- a/gettext-tools/gnulib-m4/gnulib-cache.m4
+++ b/gettext-tools/gnulib-m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=../build-aux --with-tests --avoid=hash-tests --avoid=unilbrk/u8-possible-linebreaks-tests --avoid=unilbrk/ulc-width-linebreaks-tests --avoid=unistr/u8-mbtouc-tests --avoid=unistr/u8-mbtouc-unsafe-tests --avoid=uniwidth/width-tests --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gl alloca-opt ansi-c++-opt atexit backupfile basename binary-io bison-i18n byteswap c-ctype c-strcase c-strcasestr c-strstr clean-temp closedir closeout copy-file csharpcomp csharpcomp-script csharpexec csharpexec-script error error-progname execute extensions fd-ostream file-ostream filename findprog fnmatch fopen fstrcmp full-write fwriteerror gcd gcj getline getopt-gnu gettext-h gettext-tools-misc hash html-styled-ostream iconv include_next java javacomp javacomp-script javaexec javaexec-script libunistring-optional localcharset locale localename lock malloc-posix mbrtowc mbsinit memmove memset minmax multiarch obstack open opendir openmp ostream pipe-filter-ii progname propername readdir relocatable-prog relocatable-script setlocale sh-quote sigpipe sigprocmask snippet/arg-nonnull snippet/c++defs snippet/warn-on-use spawn-pipe ssize_t stdbool stddef stdint stdio stdlib stpcpy stpncpy strcspn streq strerror strpbrk strtol strtoul styled-ostream sys_select sys_stat sys_time term-styled-ostream unilbrk/ulc-width-linebreaks uniname/uniname unistd unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf verify wait-process wchar wctype-h write xalloc xconcat-filename xerror xmalloca xsetenv xstriconv xstriconveh xvasprintf
+# gnulib-tool --import --local-dir=gnulib-local --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=../build-aux --with-tests --avoid=hash-tests --avoid=unilbrk/u8-possible-linebreaks-tests --avoid=unilbrk/ulc-width-linebreaks-tests --avoid=unistr/u8-mbtouc-tests --avoid=unistr/u8-mbtouc-unsafe-tests --avoid=uniwidth/width-tests --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gl alloca-opt ansi-c++-opt atexit backupfile basename binary-io bison-i18n byteswap c-ctype c-strcase c-strcasestr c-strstr clean-temp closedir closeout copy-file csharpcomp csharpcomp-script csharpexec csharpexec-script error error-progname execute extensions fd-ostream file-ostream filename findprog fnmatch fopen fstrcmp full-write fwriteerror gcd gcj getline getopt-gnu gettext-h gettext-tools-misc hash html-styled-ostream iconv include_next java javacomp javacomp-script javaexec javaexec-script libunistring-optional localcharset locale localename lock malloc-posix mbrtowc mbsinit memmove memset minmax multiarch obstack open opendir openmp ostream pipe-filter-ii progname propername readdir relocatable-prog relocatable-script setlocale sh-quote sigpipe sigprocmask snippet/arg-nonnull snippet/c++defs snippet/warn-on-use spawn-pipe ssize_t stdbool stddef stdint stdio stdlib stpcpy stpncpy strcspn streq strerror strpbrk strtol strtoul styled-ostream sys_select sys_stat sys_time term-styled-ostream trim unictype/ctype-space unilbrk/ulc-width-linebreaks uniname/uniname unistd unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf verify wait-process wchar wctype-h write xalloc xconcat-filename xerror xmalloca xsetenv xstriconv xstriconveh xvasprintf
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([../gnulib-local])
@@ -130,6 +130,8 @@ gl_MODULES([
sys_stat
sys_time
term-styled-ostream
+ trim
+ unictype/ctype-space
unilbrk/ulc-width-linebreaks
uniname/uniname
unistd
diff --git a/gettext-tools/gnulib-m4/gnulib-common.m4 b/gettext-tools/gnulib-m4/gnulib-common.m4
index 31e5f94..50ef974 100644
--- a/gettext-tools/gnulib-m4/gnulib-common.m4
+++ b/gettext-tools/gnulib-m4/gnulib-common.m4
@@ -1,5 +1,5 @@
# gnulib-common.m4 serial 36
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -253,9 +253,10 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
[
dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
dnl as "cc", and GCC as "gcc". They have different object file formats and
- dnl library formats. In particular, the GNU binutils programs ar, ranlib
+ dnl library formats. In particular, the GNU binutils programs ar and ranlib
dnl produce libraries that work only with gcc, not with cc.
AC_REQUIRE([AC_PROG_CC])
+ AC_BEFORE([$0], [AM_PROG_AR])
AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
[
AC_EGREP_CPP([Amsterdam],
@@ -267,25 +268,37 @@ Amsterdam
[gl_cv_c_amsterdam_compiler=yes],
[gl_cv_c_amsterdam_compiler=no])
])
- if test -z "$AR"; then
- if test $gl_cv_c_amsterdam_compiler = yes; then
+
+ dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not
+ dnl building with __ACK__.
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ if test -z "$AR"; then
AR='cc -c.a'
- if test -z "$ARFLAGS"; then
- ARFLAGS='-o'
- fi
- else
- dnl Use the Automake-documented default values for AR and ARFLAGS,
- dnl but prefer ${host}-ar over ar (useful for cross-compiling).
- AC_CHECK_TOOL([AR], [ar], [ar])
- if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
- fi
fi
- else
if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
+ ARFLAGS='-o'
fi
+ else
+ dnl AM_PROG_AR was added in automake v1.11.2. AM_PROG_AR does not AC_SUBST
+ dnl ARFLAGS variable (it is filed into Makefile.in directly by automake
+ dnl script on-demand, if not specified by ./configure of course).
+ dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above
+ dnl will be ignored. Also, pay attention to call AM_PROG_AR in else block
+ dnl because AM_PROG_AR is written so it could re-set AR variable even for
+ dnl __ACK__. It may seem like its easier to avoid calling the macro here,
+ dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good
+ dnl default value and automake should usually know them).
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR], [:])
+ fi
+
+ dnl In case the code above has not helped with setting AR/ARFLAGS, use
+ dnl Automake-documented default values for AR and ARFLAGS, but prefer
+ dnl ${host}-ar over ar (useful for cross-compiling).
+ AC_CHECK_TOOL([AR], [ar], [ar])
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cr'
fi
+
AC_SUBST([AR])
AC_SUBST([ARFLAGS])
if test -z "$RANLIB"; then
diff --git a/gettext-tools/gnulib-m4/gnulib-comp.m4 b/gettext-tools/gnulib-m4/gnulib-comp.m4
index b7417bc..a45c599 100644
--- a/gettext-tools/gnulib-m4/gnulib-comp.m4
+++ b/gettext-tools/gnulib-m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,10 +37,15 @@ AC_DEFUN([gl_EARLY],
m4_pattern_allow([^gl_ES$])dnl a valid locale name
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+ # Pre-early section.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_PROG_AR_RANLIB])
+
AC_REQUIRE([AM_PROG_CC_C_O])
# Code from module absolute-header:
# Code from module acl:
+ # Code from module acl-permissions:
# Code from module acl-tests:
# Code from module alignof:
# Code from module alignof-tests:
@@ -93,6 +98,8 @@ AC_DEFUN([gl_EARLY],
# Code from module csharpcomp-script:
# Code from module csharpexec:
# Code from module csharpexec-script:
+ # Code from module ctype:
+ # Code from module ctype-tests:
# Code from module diffseq:
# Code from module dirent:
# Code from module dirent-tests:
@@ -111,8 +118,9 @@ AC_DEFUN([gl_EARLY],
# Code from module execute:
# Code from module exitfail:
# Code from module extensions:
- AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
# Code from module extern-inline:
+ # Code from module fabs:
+ # Code from module fabs-tests:
# Code from module fatal-signal:
# Code from module fcntl:
# Code from module fcntl-h:
@@ -124,6 +132,8 @@ AC_DEFUN([gl_EARLY],
# Code from module fdopen:
# Code from module fdopen-tests:
# Code from module fgetc-tests:
+ # Code from module file-has-acl:
+ # Code from module file-has-acl-tests:
# Code from module file-ostream:
# Code from module filename:
# Code from module findprog:
@@ -188,6 +198,22 @@ AC_DEFUN([gl_EARLY],
# Code from module inttypes:
# Code from module inttypes-incomplete:
# Code from module inttypes-tests:
+ # Code from module isinf:
+ # Code from module isinf-tests:
+ # Code from module isnan:
+ # Code from module isnan-tests:
+ # Code from module isnand:
+ # Code from module isnand-nolibm:
+ # Code from module isnand-nolibm-tests:
+ # Code from module isnand-tests:
+ # Code from module isnanf:
+ # Code from module isnanf-nolibm:
+ # Code from module isnanf-nolibm-tests:
+ # Code from module isnanf-tests:
+ # Code from module isnanl:
+ # Code from module isnanl-nolibm:
+ # Code from module isnanl-nolibm-tests:
+ # Code from module isnanl-tests:
# Code from module iswblank:
# Code from module iswblank-tests:
# Code from module java:
@@ -196,6 +222,8 @@ AC_DEFUN([gl_EARLY],
# Code from module javaexec:
# Code from module javaexec-script:
# Code from module javaversion:
+ # Code from module langinfo:
+ # Code from module langinfo-tests:
# Code from module largefile:
AC_REQUIRE([AC_SYS_LARGEFILE])
# Code from module libcroco:
@@ -212,6 +240,8 @@ AC_DEFUN([gl_EARLY],
# Code from module localename-tests:
# Code from module lock:
# Code from module lock-tests:
+ # Code from module log10:
+ # Code from module log10-tests:
# Code from module lseek:
# Code from module lseek-tests:
# Code from module lstat:
@@ -219,6 +249,8 @@ AC_DEFUN([gl_EARLY],
# Code from module malloc-posix:
# Code from module malloca:
# Code from module malloca-tests:
+ # Code from module math:
+ # Code from module math-tests:
# Code from module mbchar:
# Code from module mbiter:
# Code from module mbrtowc:
@@ -274,10 +306,13 @@ AC_DEFUN([gl_EARLY],
# Code from module posix_spawnattr_setsigmask:
# Code from module posix_spawnp:
# Code from module posix_spawnp-tests:
+ # Code from module pow:
+ # Code from module pow-tests:
# Code from module progname:
# Code from module propername:
# Code from module putenv:
- # Code from module qacl:
+ # Code from module qcopy-acl:
+ # Code from module qset-acl:
# Code from module quote:
# Code from module quotearg:
# Code from module quotearg-simple:
@@ -315,6 +350,8 @@ AC_DEFUN([gl_EARLY],
# Code from module sigaction-tests:
# Code from module signal-h:
# Code from module signal-h-tests:
+ # Code from module signbit:
+ # Code from module signbit-tests:
# Code from module sigpipe:
# Code from module sigpipe-tests:
# Code from module sigprocmask:
@@ -336,6 +373,8 @@ AC_DEFUN([gl_EARLY],
# Code from module ssize_t:
# Code from module stat:
# Code from module stat-tests:
+ # Code from module stdalign:
+ # Code from module stdalign-tests:
# Code from module stdarg:
dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
dnl for the builtin va_copy to work. With Autoconf 2.60 or later,
@@ -414,6 +453,9 @@ AC_DEFUN([gl_EARLY],
# Code from module uniconv/base:
# Code from module uniconv/u8-conv-from-enc:
# Code from module uniconv/u8-conv-from-enc-tests:
+ # Code from module unictype/base:
+ # Code from module unictype/ctype-space:
+ # Code from module unictype/ctype-space-tests:
# Code from module unilbrk/base:
# Code from module unilbrk/tables:
# Code from module unilbrk/u8-possible-linebreaks:
@@ -506,6 +548,7 @@ AC_DEFUN([gl_INIT],
m4_pushdef([gl_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='gnulib-lib'
+ gl_FUNC_ACL
gl_FUNC_ALLOCA
gl_PROG_ANSI_CXX([CXX], [ANSICXX])
gl_FUNC_ATEXIT
@@ -563,6 +606,7 @@ AC_DEFUN([gl_INIT],
AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
gl_EXECUTE
AC_REQUIRE([gl_EXTERN_INLINE])
+ gl_FUNC_FABS
gl_FATAL_SIGNAL
gl_FUNC_FCNTL
if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
@@ -658,6 +702,55 @@ AC_DEFUN([gl_INIT],
AC_LIBOBJ([iconv_close])
fi
gl_INLINE
+ gl_ISINF
+ if test $REPLACE_ISINF = 1; then
+ AC_LIBOBJ([isinf])
+ fi
+ gl_MATH_MODULE_INDICATOR([isinf])
+ gl_ISNAN
+ gl_MATH_MODULE_INDICATOR([isnan])
+ gl_FUNC_ISNAND
+ m4_ifdef([gl_ISNAN], [
+ AC_REQUIRE([gl_ISNAN])
+ ])
+ if test $HAVE_ISNAND = 0 || test $REPLACE_ISNAN = 1; then
+ AC_LIBOBJ([isnand])
+ gl_PREREQ_ISNAND
+ fi
+ gl_MATH_MODULE_INDICATOR([isnand])
+ gl_FUNC_ISNAND_NO_LIBM
+ if test $gl_func_isnand_no_libm != yes; then
+ AC_LIBOBJ([isnand])
+ gl_PREREQ_ISNAND
+ fi
+ gl_FUNC_ISNANF
+ m4_ifdef([gl_ISNAN], [
+ AC_REQUIRE([gl_ISNAN])
+ ])
+ if test $HAVE_ISNANF = 0 || test $REPLACE_ISNAN = 1; then
+ AC_LIBOBJ([isnanf])
+ gl_PREREQ_ISNANF
+ fi
+ gl_MATH_MODULE_INDICATOR([isnanf])
+ gl_FUNC_ISNANF_NO_LIBM
+ if test $gl_func_isnanf_no_libm != yes; then
+ AC_LIBOBJ([isnanf])
+ gl_PREREQ_ISNANF
+ fi
+ gl_FUNC_ISNANL
+ m4_ifdef([gl_ISNAN], [
+ AC_REQUIRE([gl_ISNAN])
+ ])
+ if test $HAVE_ISNANL = 0 || test $REPLACE_ISNAN = 1; then
+ AC_LIBOBJ([isnanl])
+ gl_PREREQ_ISNANL
+ fi
+ gl_MATH_MODULE_INDICATOR([isnanl])
+ gl_FUNC_ISNANL_NO_LIBM
+ if test $gl_func_isnanl_no_libm != yes; then
+ AC_LIBOBJ([isnanl])
+ gl_PREREQ_ISNANL
+ fi
gl_FUNC_ISWBLANK
if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
:
@@ -672,6 +765,7 @@ AC_DEFUN([gl_INIT],
AC_CONFIG_FILES([javacomp.sh:../build-aux/javacomp.sh.in])
# You need to invoke gt_JAVAEXEC yourself, possibly with arguments.
AC_CONFIG_FILES([javaexec.sh:../build-aux/javaexec.sh.in])
+ gl_LANGINFO_H
AC_REQUIRE([gl_LARGEFILE])
gl_LIBCROCO
gl_LIBGLIB
@@ -684,6 +778,11 @@ AC_DEFUN([gl_INIT],
gl_LOCALENAME
gl_LOCK
gl_MODULE_INDICATOR([lock])
+ gl_FUNC_LOG10
+ if test $REPLACE_LOG10 = 1; then
+ AC_LIBOBJ([log10])
+ fi
+ gl_MATH_MODULE_INDICATOR([log10])
gl_FUNC_LSTAT
if test $REPLACE_LSTAT = 1; then
AC_LIBOBJ([lstat])
@@ -696,6 +795,7 @@ AC_DEFUN([gl_INIT],
fi
gl_STDLIB_MODULE_INDICATOR([malloc-posix])
gl_MALLOCA
+ gl_MATH_H
gl_MBCHAR
gl_MBITER
gl_FUNC_MBRTOWC
@@ -827,12 +927,12 @@ AC_DEFUN([gl_INIT],
gl_PREREQ_POSIX_SPAWN_INTERNAL
fi
gl_SPAWN_MODULE_INDICATOR([posix_spawnp])
+ gl_FUNC_POW
AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
m4_ifdef([AM_XGETTEXT_OPTION],
[AM_][XGETTEXT_OPTION([--keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"'])
AM_][XGETTEXT_OPTION([--keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'])])
- gl_FUNC_ACL
gl_QUOTE
gl_QUOTEARG
gl_FUNC_RAISE
@@ -914,6 +1014,13 @@ AC_DEFUN([gl_INIT],
fi
gl_SIGNAL_MODULE_INDICATOR([sigaction])
gl_SIGNAL_H
+ gl_SIGNBIT
+ if test $REPLACE_SIGNBIT = 1; then
+ AC_LIBOBJ([signbitf])
+ AC_LIBOBJ([signbitd])
+ AC_LIBOBJ([signbitl])
+ fi
+ gl_MATH_MODULE_INDICATOR([signbit])
gl_SIGNAL_SIGPIPE
dnl Define the C macro GNULIB_SIGPIPE to 1.
gl_MODULE_INDICATOR([sigpipe])
@@ -1042,18 +1149,21 @@ AC_DEFUN([gl_INIT],
gl_HEADER_TIME_H
gl_TLS
gt_TMPDIR
- gl_LIBUNISTRING_LIBHEADER([0.9], [uniconv.h])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniconv.h])
gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-conv-from-enc])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [unictype.h])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unictype/ctype-space])
gl_LIBUNISTRING_LIBHEADER([0.9.4], [unilbrk.h])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u8-possible-linebreaks])
- gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u8-width-linebreaks])
- gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/ulc-width-linebreaks])
- gl_LIBUNISTRING_LIBHEADER([0.9], [uniname.h])
- gl_LIBUNISTRING_MODULE([0.9], [uniname/uniname])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unilbrk/u8-possible-linebreaks])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unilbrk/u8-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unilbrk/ulc-width-linebreaks])
+ gl_LIBUNISTRING_LIBHEADER([0.9.5], [uniname.h])
+ gl_LIBUNISTRING_MODULE([0.9.6], [uniname/uniname])
gl_UNISTD_H
gl_UNISTD_SAFER
- gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h])
gl_MODULE_INDICATOR([unistr/u16-mbtouc])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbtouc])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-check])
@@ -1067,9 +1177,9 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
gl_MODULE_INDICATOR([unistr/u8-uctomb])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
- gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
- gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
- gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h])
+ gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width])
gl_FUNC_GLIBC_UNLOCKED_IO
gl_FUNC_UNSETENV
if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
@@ -1155,7 +1265,6 @@ changequote([, ])dnl
AC_SUBST([gltests_WITNESS])
gl_module_indicator_condition=$gltests_WITNESS
m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
- AC_CHECK_DECLS_ONCE([alarm])
gl_FUNC_BTOWC
if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
AC_LIBOBJ([btowc])
@@ -1166,6 +1275,7 @@ changequote([, ])dnl
gt_LOCALE_FR_UTF8
gt_LOCALE_FR
gt_LOCALE_TR_UTF8
+ gl_CTYPE_H
gl_FUNC_DUP
if test $REPLACE_DUP = 1; then
AC_LIBOBJ([dup])
@@ -1178,6 +1288,8 @@ changequote([, ])dnl
gl_PREREQ_FDOPEN
fi
gl_STDIO_MODULE_INDICATOR([fdopen])
+ gl_FILE_HAS_ACL
+ AC_CHECK_DECLS_ONCE([alarm])
gl_FUNC_FTELL
if test $REPLACE_FTELL = 1; then
AC_LIBOBJ([ftell])
@@ -1203,6 +1315,22 @@ changequote([, ])dnl
gl_UNISTD_MODULE_INDICATOR([getpagesize])
gl_INTTYPES_H
gl_INTTYPES_INCOMPLETE
+ gl_FLOAT_EXPONENT_LOCATION
+ gl_DOUBLE_EXPONENT_LOCATION
+ gl_LONG_DOUBLE_EXPONENT_LOCATION
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+ gl_FLOAT_EXPONENT_LOCATION
+ gl_DOUBLE_EXPONENT_LOCATION
+ gl_LONG_DOUBLE_EXPONENT_LOCATION
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+ gl_DOUBLE_EXPONENT_LOCATION
+ gl_DOUBLE_EXPONENT_LOCATION
+ gl_FLOAT_EXPONENT_LOCATION
+ gl_FLOAT_EXPONENT_LOCATION
+ gl_LONG_DOUBLE_EXPONENT_LOCATION
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+ gl_LONG_DOUBLE_EXPONENT_LOCATION
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
AC_CHECK_FUNCS_ONCE([newlocale])
AC_CHECK_FUNCS_ONCE([newlocale])
gl_FUNC_LSEEK
@@ -1259,12 +1387,16 @@ changequote([, ])dnl
gt_LOCALE_FR_UTF8
gt_LOCALE_JA
gt_LOCALE_ZH_CN
+ AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION])
+ AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
+ AC_REQUIRE([gl_LONG_DOUBLE_EXPONENT_LOCATION])
gl_FUNC_SLEEP
if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
AC_LIBOBJ([sleep])
fi
gl_UNISTD_MODULE_INDICATOR([sleep])
AC_CHECK_DECLS_ONCE([alarm])
+ gl_STDALIGN_H
AC_REQUIRE([gt_TYPE_WCHAR_T])
AC_REQUIRE([gt_TYPE_WINT_T])
dnl Check for prerequisites for memory fence checks.
@@ -1418,6 +1550,7 @@ AC_DEFUN([gl_FILE_LIST], [
build-aux/snippet/warn-on-use.h
doc/relocatable.texi
lib/acl-errno-valid.c
+ lib/acl-internal.c
lib/acl-internal.h
lib/acl.h
lib/acl_entries.c
@@ -1499,7 +1632,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/fd-ostream.oo.h
lib/fd-safer-flag.c
lib/fd-safer.c
- lib/file-has-acl.c
lib/file-ostream.oo.c
lib/file-ostream.oo.h
lib/filename.h
@@ -1521,6 +1653,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/fwriteerror.h
lib/gcd.c
lib/gcd.h
+ lib/get-permissions.c
lib/getdelim.c
lib/getdtablesize.c
lib/getline.c
@@ -1579,6 +1712,14 @@ AC_DEFUN([gl_FILE_LIST], [
lib/iconveh.h
lib/ignore-value.h
lib/intprops.h
+ lib/isinf.c
+ lib/isnan.c
+ lib/isnand-nolibm.h
+ lib/isnand.c
+ lib/isnanf-nolibm.h
+ lib/isnanf.c
+ lib/isnanl-nolibm.h
+ lib/isnanl.c
lib/iswblank.c
lib/itold.c
lib/javacomp.c
@@ -1589,6 +1730,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/javaversion.class
lib/javaversion.h
lib/javaversion.java
+ lib/langinfo.in.h
lib/libcroco/cr-additional-sel.c
lib/libcroco/cr-additional-sel.h
lib/libcroco/cr-attr-sel.c
@@ -1655,6 +1797,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/libxml/SAX.in.h
lib/libxml/SAX2.c
lib/libxml/SAX2.in.h
+ lib/libxml/buf.c
+ lib/libxml/buf.h
lib/libxml/c14n.c
lib/libxml/c14n.in.h
lib/libxml/catalog.c
@@ -1666,6 +1810,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/libxml/dict.c
lib/libxml/dict.in.h
lib/libxml/elfgcchack.h
+ lib/libxml/enc.h
lib/libxml/encoding.c
lib/libxml/encoding.in.h
lib/libxml/entities.c
@@ -1691,13 +1836,16 @@ AC_DEFUN([gl_FILE_LIST], [
lib/libxml/pattern.in.h
lib/libxml/relaxng.c
lib/libxml/relaxng.in.h
+ lib/libxml/save.h
lib/libxml/schemasInternals.in.h
lib/libxml/schematron.c
lib/libxml/schematron.in.h
lib/libxml/threads.c
lib/libxml/threads.in.h
+ lib/libxml/timsort.h
lib/libxml/tree.c
lib/libxml/tree.in.h
+ lib/libxml/trionan.c
lib/libxml/uri.c
lib/libxml/uri.in.h
lib/libxml/valid.c
@@ -1742,11 +1890,14 @@ AC_DEFUN([gl_FILE_LIST], [
lib/locale.in.h
lib/localename.c
lib/localename.h
+ lib/log10.c
lib/lstat.c
lib/malloc.c
lib/malloca.c
lib/malloca.h
lib/malloca.valgrind
+ lib/math.c
+ lib/math.in.h
lib/mbchar.c
lib/mbchar.h
lib/mbiter.c
@@ -1821,6 +1972,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/sched.in.h
lib/secure_getenv.c
lib/set-acl.c
+ lib/set-permissions.c
lib/setenv.c
lib/setlocale.c
lib/sh-quote.c
@@ -1829,6 +1981,9 @@ AC_DEFUN([gl_FILE_LIST], [
lib/sig-handler.h
lib/sigaction.c
lib/signal.in.h
+ lib/signbitd.c
+ lib/signbitf.c
+ lib/signbitl.c
lib/sigprocmask.c
lib/size_max.h
lib/snprintf.c
@@ -1903,6 +2058,10 @@ AC_DEFUN([gl_FILE_LIST], [
lib/trim.h
lib/uniconv.in.h
lib/uniconv/u8-conv-from-enc.c
+ lib/unictype.in.h
+ lib/unictype/bitmap.h
+ lib/unictype/ctype_space.c
+ lib/unictype/ctype_space.h
lib/unilbrk.in.h
lib/unilbrk/lbrkprop1.h
lib/unilbrk/lbrkprop2.h
@@ -1987,6 +2146,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/btowc.m4
m4/byteswap.m4
m4/canonicalize.m4
+ m4/check-math-lib.m4
m4/close.m4
m4/closedir.m4
m4/codeset.m4
@@ -1995,6 +2155,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/csharp.m4
m4/csharpcomp.m4
m4/csharpexec.m4
+ m4/ctype.m4
m4/curses.m4
m4/dirent_h.m4
m4/double-slash-root.m4
@@ -2007,8 +2168,11 @@ AC_DEFUN([gl_FILE_LIST], [
m4/error.m4
m4/execute.m4
m4/exponentd.m4
+ m4/exponentf.m4
+ m4/exponentl.m4
m4/extensions.m4
m4/extern-inline.m4
+ m4/fabs.m4
m4/fatal-signal.m4
m4/fcntl-o.m4
m4/fcntl.m4
@@ -2049,10 +2213,16 @@ AC_DEFUN([gl_FILE_LIST], [
m4/inttypes-pri.m4
m4/inttypes.m4
m4/inttypes_h.m4
+ m4/isinf.m4
+ m4/isnan.m4
+ m4/isnand.m4
+ m4/isnanf.m4
+ m4/isnanl.m4
m4/iswblank.m4
m4/java.m4
m4/javacomp.m4
m4/javaexec.m4
+ m4/langinfo_h.m4
m4/largefile.m4
m4/lcmessage.m4
m4/lib-ld.m4
@@ -2072,12 +2242,14 @@ AC_DEFUN([gl_FILE_LIST], [
m4/locale_h.m4
m4/localename.m4
m4/lock.m4
+ m4/log10.m4
m4/longlong.m4
m4/lseek.m4
m4/lstat.m4
m4/malloc.m4
m4/malloca.m4
m4/math_h.m4
+ m4/mathfunc.m4
m4/mbchar.m4
m4/mbiter.m4
m4/mbrtowc.m4
@@ -2110,6 +2282,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/pipe2.m4
m4/po.m4
m4/posix_spawn.m4
+ m4/pow.m4
m4/printf-posix.m4
m4/printf.m4
m4/progtest.m4
@@ -2136,6 +2309,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/sigaction.m4
m4/signal_h.m4
m4/signalblocking.m4
+ m4/signbit.m4
m4/sigpipe.m4
m4/size_max.m4
m4/sleep.m4
@@ -2144,6 +2318,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/spawn_h.m4
m4/ssize_t.m4
m4/stat.m4
+ m4/stdalign.m4
m4/stdarg.m4
m4/stdbool.m4
m4/stddef_h.m4
@@ -2202,8 +2377,12 @@ AC_DEFUN([gl_FILE_LIST], [
m4/xsize.m4
m4/xvasprintf.m4
m4/yield.m4
+ tests/infinity.h
tests/init.sh
tests/macros.h
+ tests/minus-zero.h
+ tests/nan.h
+ tests/randomd.c
tests/signature.h
tests/test-alignof.c
tests/test-alloca-opt.c
@@ -2236,12 +2415,15 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-copy-file-2.sh
tests/test-copy-file.c
tests/test-copy-file.sh
+ tests/test-ctype.c
tests/test-dirent.c
tests/test-dup-safer.c
tests/test-dup.c
tests/test-dup2.c
tests/test-environ.c
tests/test-errno.c
+ tests/test-fabs.c
+ tests/test-fabs.h
tests/test-fcntl-h.c
tests/test-fcntl.c
tests/test-fdopen.c
@@ -2283,16 +2465,31 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-init.sh
tests/test-intprops.c
tests/test-inttypes.c
+ tests/test-isinf.c
+ tests/test-isnan.c
+ tests/test-isnand-nolibm.c
+ tests/test-isnand.c
+ tests/test-isnand.h
+ tests/test-isnanf-nolibm.c
+ tests/test-isnanf.c
+ tests/test-isnanf.h
+ tests/test-isnanl-nolibm.c
+ tests/test-isnanl.c
+ tests/test-isnanl.h
tests/test-iswblank.c
+ tests/test-langinfo.c
tests/test-linkedhash_list.c
tests/test-locale.c
tests/test-localename.c
tests/test-lock.c
+ tests/test-log10.c
+ tests/test-log10.h
tests/test-lseek.c
tests/test-lseek.sh
tests/test-lstat.c
tests/test-lstat.h
tests/test-malloca.c
+ tests/test-math.c
tests/test-mbrtowc-w32-1.sh
tests/test-mbrtowc-w32-2.sh
tests/test-mbrtowc-w32-3.sh
@@ -2344,6 +2541,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-posix_spawn_file_actions_addclose.c
tests/test-posix_spawn_file_actions_adddup2.c
tests/test-posix_spawn_file_actions_addopen.c
+ tests/test-pow.c
tests/test-quotearg-simple.c
tests/test-quotearg.h
tests/test-raise.c
@@ -2368,6 +2566,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-sh-quote.c
tests/test-sigaction.c
tests/test-signal-h.c
+ tests/test-signbit.c
tests/test-sigpipe.c
tests/test-sigpipe.sh
tests/test-sigprocmask.c
@@ -2379,6 +2578,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-spawn.c
tests/test-stat.c
tests/test-stat.h
+ tests/test-stdalign.c
tests/test-stdbool.c
tests/test-stddef.c
tests/test-stdint.c
@@ -2410,6 +2610,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-term-ostream-xterm-aix51.out
tests/test-term-ostream-xterm-basic-italic.out
tests/test-term-ostream-xterm-basic.out
+ tests/test-term-ostream-xterm-freebsd101.out
tests/test-term-ostream-xterm-irix65.out
tests/test-term-ostream-xterm-linux-debian.out
tests/test-term-ostream-xterm-linux-mandriva.out
@@ -2448,8 +2649,13 @@ AC_DEFUN([gl_FILE_LIST], [
tests/test-xalloc-die.sh
tests/test-xvasprintf.c
tests/uniconv/test-u8-conv-from-enc.c
+ tests/unictype/test-ctype_space.c
+ tests/unictype/test-predicate-part1.h
+ tests/unictype/test-predicate-part2.h
tests/unilbrk/test-u8-width-linebreaks.c
- tests/uniname/UnicodeDataNames.txt
+ tests/uniname/HangulSyllableNames.txt
+ tests/uniname/NameAliases.txt
+ tests/uniname/UnicodeData.txt
tests/uniname/test-uninames.c
tests/uniname/test-uninames.sh
tests/unistr/test-cmp.h
@@ -2464,8 +2670,10 @@ AC_DEFUN([gl_FILE_LIST], [
tests/unistr/test-u8-uctomb.c
tests/zerosize-ptr.h
tests=lib/btowc.c
+ tests=lib/ctype.in.h
tests=lib/dup.c
tests=lib/fdopen.c
+ tests=lib/file-has-acl.c
tests=lib/fpucw.h
tests=lib/ftell.c
tests=lib/ftello.c
@@ -2483,6 +2691,7 @@ AC_DEFUN([gl_FILE_LIST], [
tests=lib/read-file.h
tests=lib/same-inode.h
tests=lib/sleep.c
+ tests=lib/stdalign.in.h
tests=lib/stdio-impl.h
tests=lib/symlink.c
tests=lib/unistr/u8-cmp.c
diff --git a/gettext-tools/gnulib-m4/iconv_h.m4 b/gettext-tools/gnulib-m4/iconv_h.m4
index e992fa3..c6878fa 100644
--- a/gettext-tools/gnulib-m4/iconv_h.m4
+++ b/gettext-tools/gnulib-m4/iconv_h.m4
@@ -1,5 +1,5 @@
# iconv_h.m4 serial 8
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/iconv_open.m4 b/gettext-tools/gnulib-m4/iconv_open.m4
index e0bfd72..177fccb 100644
--- a/gettext-tools/gnulib-m4/iconv_open.m4
+++ b/gettext-tools/gnulib-m4/iconv_open.m4
@@ -1,5 +1,5 @@
# iconv_open.m4 serial 14
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/include_next.m4 b/gettext-tools/gnulib-m4/include_next.m4
index 69ad3db..233d254 100644
--- a/gettext-tools/gnulib-m4/include_next.m4
+++ b/gettext-tools/gnulib-m4/include_next.m4
@@ -1,5 +1,5 @@
# include_next.m4 serial 23
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/inline.m4 b/gettext-tools/gnulib-m4/inline.m4
index c49957f..dc7063e 100644
--- a/gettext-tools/gnulib-m4/inline.m4
+++ b/gettext-tools/gnulib-m4/inline.m4
@@ -1,5 +1,5 @@
# inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/intmax_t.m4 b/gettext-tools/gnulib-m4/intmax_t.m4
index af5561e..4bd8155 100644
--- a/gettext-tools/gnulib-m4/intmax_t.m4
+++ b/gettext-tools/gnulib-m4/intmax_t.m4
@@ -1,5 +1,5 @@
# intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/inttypes.m4 b/gettext-tools/gnulib-m4/inttypes.m4
index 2f9317d..4209ffd 100644
--- a/gettext-tools/gnulib-m4/inttypes.m4
+++ b/gettext-tools/gnulib-m4/inttypes.m4
@@ -1,5 +1,5 @@
# inttypes.m4 serial 26
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/isinf.m4 b/gettext-tools/gnulib-m4/isinf.m4
new file mode 100644
index 0000000..b0a3da3
--- /dev/null
+++ b/gettext-tools/gnulib-m4/isinf.m4
@@ -0,0 +1,156 @@
+# isinf.m4 serial 11
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_ISINF],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ dnl Persuade glibc <math.h> to declare isinf.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_DECLS([isinf], , ,
+ [[#include <math.h>
+ #ifndef isinf
+ #error "isinf must be a macro, not a function"
+ #endif
+ ]])
+ if test "$ac_cv_have_decl_isinf" = yes; then
+ gl_CHECK_MATH_LIB([ISINF_LIBM], [x = isinf (x) + isinf ((float) x);])
+ if test "$ISINF_LIBM" != missing; then
+ dnl Test whether isinf() on 'long double' works.
+ gl_ISINFL_WORKS
+ case "$gl_cv_func_isinfl_works" in
+ *yes) ;;
+ *) ISINF_LIBM=missing;;
+ esac
+ fi
+ fi
+ if test "$ac_cv_have_decl_isinf" != yes ||
+ test "$ISINF_LIBM" = missing; then
+ REPLACE_ISINF=1
+ dnl No libraries are needed to link lib/isinf.c.
+ ISINF_LIBM=
+ fi
+ AC_SUBST([ISINF_LIBM])
+])
+
+dnl Test whether isinf() works:
+dnl 1) Whether it correctly returns false for LDBL_MAX.
+dnl 2) Whether on 'long double' recognizes all canonical values which are
+dnl infinite.
+AC_DEFUN([gl_ISINFL_WORKS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gl_BIGENDIAN])
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether isinf(long double) works], [gl_cv_func_isinfl_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+int main ()
+{
+ int result = 0;
+
+ if (isinf (LDBL_MAX))
+ result |= 1;
+
+ {
+ memory_long_double m;
+ unsigned int i;
+
+ /* The isinf macro should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit (since the exponent never extends to
+ bit 31). */
+ m.value = NaNl ();
+ m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ for (i = 0; i < NWORDS; i++)
+ m.word[i] |= 1;
+ if (isinf (m.value))
+ result |= 2;
+ }
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ if (isinf (x.value))
+ result |= 2;
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ if (isinf (x.value))
+ result |= 2;
+ }
+ /* isinf should return something even for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 4;
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 8;
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 16;
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 32;
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ if (isinf (x.value) && !isinf (x.value))
+ result |= 64;
+ }
+#endif
+
+ return result;
+}]])], [gl_cv_func_isinfl_works=yes], [gl_cv_func_isinfl_works=no],
+ [gl_cv_func_isinfl_works="guessing yes"])
+ ])
+])
diff --git a/gettext-tools/gnulib-m4/isnan.m4 b/gettext-tools/gnulib-m4/isnan.m4
new file mode 100644
index 0000000..618e56e
--- /dev/null
+++ b/gettext-tools/gnulib-m4/isnan.m4
@@ -0,0 +1,44 @@
+# isnan.m4 serial 5
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_ISNAN],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ AC_REQUIRE([gl_FUNC_ISNANF])
+ AC_REQUIRE([gl_FUNC_ISNAND])
+ AC_REQUIRE([gl_FUNC_ISNANL])
+
+ # If we replaced any of the underlying isnan* functions, replace
+ # the isnan macro; it undoubtedly suffers from the same flaws.
+ AC_MSG_CHECKING([whether isnan macro works])
+ if test $gl_func_isnanf = yes \
+ && test $gl_func_isnand = yes \
+ && test $gl_func_isnanl = yes; then
+ AC_MSG_RESULT([yes])
+ ISNAN_LIBM=
+ dnl Append $ISNANF_LIBM to ISNAN_LIBM, avoiding gratuitous duplicates.
+ case " $ISNAN_LIBM " in
+ *" $ISNANF_LIBM "*) ;;
+ *) ISNAN_LIBM="$ISNAN_LIBM $ISNANF_LIBM" ;;
+ esac
+ dnl Append $ISNAND_LIBM to ISNAN_LIBM, avoiding gratuitous duplicates.
+ case " $ISNAN_LIBM " in
+ *" $ISNAND_LIBM "*) ;;
+ *) ISNAN_LIBM="$ISNAN_LIBM $ISNAND_LIBM" ;;
+ esac
+ dnl Append $ISNANL_LIBM to ISNAN_LIBM, avoiding gratuitous duplicates.
+ case " $ISNAN_LIBM " in
+ *" $ISNANL_LIBM "*) ;;
+ *) ISNAN_LIBM="$ISNAN_LIBM $ISNANL_LIBM" ;;
+ esac
+ else
+ AC_MSG_RESULT([no])
+ dnl REPLACE_ISNAN=1 also makes sure the rpl_isnan[fdl] functions get built.
+ REPLACE_ISNAN=1
+ ISNAN_LIBM=
+ fi
+ AC_SUBST([ISNAN_LIBM])
+])
diff --git a/gettext-tools/gnulib-m4/isnand.m4 b/gettext-tools/gnulib-m4/isnand.m4
new file mode 100644
index 0000000..4d5c615
--- /dev/null
+++ b/gettext-tools/gnulib-m4/isnand.m4
@@ -0,0 +1,96 @@
+# isnand.m4 serial 11
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Check how to get or define isnand().
+
+AC_DEFUN([gl_FUNC_ISNAND],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ ISNAND_LIBM=
+ gl_HAVE_ISNAND_NO_LIBM
+ if test $gl_cv_func_isnand_no_libm = no; then
+ gl_HAVE_ISNAND_IN_LIBM
+ if test $gl_cv_func_isnand_in_libm = yes; then
+ ISNAND_LIBM=-lm
+ fi
+ fi
+ dnl The variable gl_func_isnand set here is used by isnan.m4.
+ if test $gl_cv_func_isnand_no_libm = yes \
+ || test $gl_cv_func_isnand_in_libm = yes; then
+ gl_func_isnand=yes
+ else
+ gl_func_isnand=no
+ HAVE_ISNAND=0
+ fi
+ AC_SUBST([ISNAND_LIBM])
+])
+
+dnl Check how to get or define isnand() without linking with libm.
+
+AC_DEFUN([gl_FUNC_ISNAND_NO_LIBM],
+[
+ gl_HAVE_ISNAND_NO_LIBM
+ gl_func_isnand_no_libm=$gl_cv_func_isnand_no_libm
+ if test $gl_cv_func_isnand_no_libm = yes; then
+ AC_DEFINE([HAVE_ISNAND_IN_LIBC], [1],
+ [Define if the isnan(double) function is available in libc.])
+ fi
+])
+
+dnl Prerequisites of replacement isnand definition. It does not need -lm.
+AC_DEFUN([gl_PREREQ_ISNAND],
+[
+ AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
+])
+
+dnl Test whether isnand() can be used with libm.
+
+AC_DEFUN([gl_HAVE_ISNAND_IN_LIBM],
+[
+ AC_CACHE_CHECK([whether isnan(double) can be used with libm],
+ [gl_cv_func_isnand_in_libm],
+ [
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #elif defined isnan
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;]],
+ [[return isnand (x);]])],
+ [gl_cv_func_isnand_in_libm=yes],
+ [gl_cv_func_isnand_in_libm=no])
+ LIBS="$save_LIBS"
+ ])
+])
+
+AC_DEFUN([gl_HAVE_ISNAND_NO_LIBM],
+[
+ AC_CACHE_CHECK([whether isnan(double) can be used without linking with libm],
+ [gl_cv_func_isnand_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnand
+ # define isnand(x) __builtin_isnan ((double)(x))
+ #else
+ # undef isnand
+ # define isnand(x) isnan ((double)(x))
+ #endif
+ double x;]],
+ [[return isnand (x);]])],
+ [gl_cv_func_isnand_no_libm=yes],
+ [gl_cv_func_isnand_no_libm=no])
+ ])
+])
diff --git a/gettext-tools/gnulib-m4/isnanf.m4 b/gettext-tools/gnulib-m4/isnanf.m4
new file mode 100644
index 0000000..09c3e5e
--- /dev/null
+++ b/gettext-tools/gnulib-m4/isnanf.m4
@@ -0,0 +1,188 @@
+# isnanf.m4 serial 14
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Check how to get or define isnanf().
+
+AC_DEFUN([gl_FUNC_ISNANF],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ ISNANF_LIBM=
+ gl_HAVE_ISNANF_NO_LIBM
+ if test $gl_cv_func_isnanf_no_libm = no; then
+ gl_HAVE_ISNANF_IN_LIBM
+ if test $gl_cv_func_isnanf_in_libm = yes; then
+ ISNANF_LIBM=-lm
+ fi
+ fi
+ dnl The variable gl_func_isnanf set here is used by isnan.m4.
+ if test $gl_cv_func_isnanf_no_libm = yes \
+ || test $gl_cv_func_isnanf_in_libm = yes; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $ISNANF_LIBM"
+ gl_ISNANF_WORKS
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_isnanf_works" in
+ *yes) gl_func_isnanf=yes ;;
+ *) gl_func_isnanf=no; ISNANF_LIBM= ;;
+ esac
+ else
+ gl_func_isnanf=no
+ fi
+ if test $gl_func_isnanf != yes; then
+ HAVE_ISNANF=0
+ fi
+ AC_SUBST([ISNANF_LIBM])
+])
+
+dnl Check how to get or define isnanf() without linking with libm.
+
+AC_DEFUN([gl_FUNC_ISNANF_NO_LIBM],
+[
+ gl_HAVE_ISNANF_NO_LIBM
+ if test $gl_cv_func_isnanf_no_libm = yes; then
+ gl_ISNANF_WORKS
+ fi
+ if test $gl_cv_func_isnanf_no_libm = yes \
+ && { case "$gl_cv_func_isnanf_works" in
+ *yes) true;;
+ *) false;;
+ esac
+ }; then
+ gl_func_isnanf_no_libm=yes
+ AC_DEFINE([HAVE_ISNANF_IN_LIBC], [1],
+ [Define if the isnan(float) function is available in libc.])
+ else
+ gl_func_isnanf_no_libm=no
+ fi
+])
+
+dnl Prerequisites of replacement isnanf definition. It does not need -lm.
+AC_DEFUN([gl_PREREQ_ISNANF],
+[
+ gl_FLOAT_EXPONENT_LOCATION
+])
+
+dnl Test whether isnanf() can be used without libm.
+AC_DEFUN([gl_HAVE_ISNANF_NO_LIBM],
+[
+ AC_CACHE_CHECK([whether isnan(float) can be used without linking with libm],
+ [gl_cv_func_isnanf_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;]],
+ [[return isnanf (x);]])],
+ [gl_cv_func_isnanf_no_libm=yes],
+ [gl_cv_func_isnanf_no_libm=no])
+ ])
+])
+
+dnl Test whether isnanf() can be used with libm.
+AC_DEFUN([gl_HAVE_ISNANF_IN_LIBM],
+[
+ AC_CACHE_CHECK([whether isnan(float) can be used with libm],
+ [gl_cv_func_isnanf_in_libm],
+ [
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanf
+ # define isnanf(x) __builtin_isnanf ((float)(x))
+ #elif defined isnan
+ # undef isnanf
+ # define isnanf(x) isnan ((float)(x))
+ #endif
+ float x;]],
+ [[return isnanf (x);]])],
+ [gl_cv_func_isnanf_in_libm=yes],
+ [gl_cv_func_isnanf_in_libm=no])
+ LIBS="$save_LIBS"
+ ])
+])
+
+dnl Test whether isnanf() rejects Infinity (this fails on Solaris 2.5.1),
+dnl recognizes a NaN (this fails on IRIX 6.5 with cc), and recognizes a NaN
+dnl with in-memory representation 0x7fbfffff (this fails on IRIX 6.5).
+AC_DEFUN([gl_ISNANF_WORKS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION])
+ AC_CACHE_CHECK([whether isnan(float) works], [gl_cv_func_isnanf_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanf
+# define isnanf(x) __builtin_isnanf ((float)(x))
+#elif defined isnan
+# undef isnanf
+# define isnanf(x) isnan ((float)(x))
+#endif
+/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
+#ifdef __DECC
+static float
+NaN ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+#else
+# define NaN() (0.0f / 0.0f)
+#endif
+#define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; float value; } memory_float;
+int main()
+{
+ int result = 0;
+
+ if (isnanf (1.0f / 0.0f))
+ result |= 1;
+
+ if (!isnanf (NaN ()))
+ result |= 2;
+
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* The isnanf function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit. */
+ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0)
+ {
+ memory_float m;
+
+ m.value = NaN ();
+ /* Set the bits below the exponent to 01111...111. */
+ m.word[0] &= -1U << FLT_EXPBIT0_BIT;
+ m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1;
+ if (!isnanf (m.value))
+ result |= 4;
+ }
+#endif
+
+ return result;
+}]])],
+ [gl_cv_func_isnanf_works=yes],
+ [gl_cv_func_isnanf_works=no],
+ [case "$host_os" in
+ irix* | solaris*) gl_cv_func_isnanf_works="guessing no";;
+ *) gl_cv_func_isnanf_works="guessing yes";;
+ esac
+ ])
+ ])
+])
diff --git a/gettext-tools/gnulib-m4/isnanl.m4 b/gettext-tools/gnulib-m4/isnanl.m4
new file mode 100644
index 0000000..b86ca9e
--- /dev/null
+++ b/gettext-tools/gnulib-m4/isnanl.m4
@@ -0,0 +1,236 @@
+# isnanl.m4 serial 19
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_ISNANL],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ ISNANL_LIBM=
+ gl_HAVE_ISNANL_NO_LIBM
+ if test $gl_cv_func_isnanl_no_libm = no; then
+ gl_HAVE_ISNANL_IN_LIBM
+ if test $gl_cv_func_isnanl_in_libm = yes; then
+ ISNANL_LIBM=-lm
+ fi
+ fi
+ dnl The variable gl_func_isnanl set here is used by isnan.m4.
+ if test $gl_cv_func_isnanl_no_libm = yes \
+ || test $gl_cv_func_isnanl_in_libm = yes; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $ISNANL_LIBM"
+ gl_FUNC_ISNANL_WORKS
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_isnanl_works" in
+ *yes) gl_func_isnanl=yes ;;
+ *) gl_func_isnanl=no; ISNANL_LIBM= ;;
+ esac
+ else
+ gl_func_isnanl=no
+ fi
+ if test $gl_func_isnanl != yes; then
+ HAVE_ISNANL=0
+ fi
+ AC_SUBST([ISNANL_LIBM])
+])
+
+AC_DEFUN([gl_FUNC_ISNANL_NO_LIBM],
+[
+ gl_HAVE_ISNANL_NO_LIBM
+ gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm
+ if test $gl_func_isnanl_no_libm = yes; then
+ gl_FUNC_ISNANL_WORKS
+ case "$gl_cv_func_isnanl_works" in
+ *yes) ;;
+ *) gl_func_isnanl_no_libm=no ;;
+ esac
+ fi
+ if test $gl_func_isnanl_no_libm = yes; then
+ AC_DEFINE([HAVE_ISNANL_IN_LIBC], [1],
+ [Define if the isnan(long double) function is available in libc.])
+ fi
+])
+
+dnl Prerequisites of replacement isnanl definition. It does not need -lm.
+AC_DEFUN([gl_PREREQ_ISNANL],
+[
+ gl_LONG_DOUBLE_EXPONENT_LOCATION
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+])
+
+dnl Test whether isnanl() can be used without libm.
+AC_DEFUN([gl_HAVE_ISNANL_NO_LIBM],
+[
+ AC_CACHE_CHECK([whether isnan(long double) can be used without linking with libm],
+ [gl_cv_func_isnanl_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;]],
+ [[return isnanl (x);]])],
+ [gl_cv_func_isnanl_no_libm=yes],
+ [gl_cv_func_isnanl_no_libm=no])
+ ])
+])
+
+dnl Test whether isnanl() can be used with libm.
+AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM],
+[
+ AC_CACHE_CHECK([whether isnan(long double) can be used with libm],
+ [gl_cv_func_isnanl_in_libm],
+ [
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ #if __GNUC__ >= 4
+ # undef isnanl
+ # define isnanl(x) __builtin_isnanl ((long double)(x))
+ #elif defined isnan
+ # undef isnanl
+ # define isnanl(x) isnan ((long double)(x))
+ #endif
+ long double x;]],
+ [[return isnanl (x);]])],
+ [gl_cv_func_isnanl_in_libm=yes],
+ [gl_cv_func_isnanl_in_libm=no])
+ LIBS="$save_LIBS"
+ ])
+])
+
+dnl Test whether isnanl() recognizes all canonical numbers which are neither
+dnl finite nor infinite.
+AC_DEFUN([gl_FUNC_ISNANL_WORKS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gl_BIGENDIAN])
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether isnanl works], [gl_cv_func_isnanl_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <float.h>
+#include <limits.h>
+#include <math.h>
+#if __GNUC__ >= 4
+# undef isnanl
+# define isnanl(x) __builtin_isnanl ((long double)(x))
+#elif defined isnan
+# undef isnanl
+# define isnanl(x) isnan ((long double)(x))
+#endif
+#define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+int main ()
+{
+ int result = 0;
+
+ if (!isnanl (NaNl ()))
+ result |= 1;
+
+ {
+ memory_long_double m;
+ unsigned int i;
+
+ /* The isnanl function should be immune against changes in the sign bit and
+ in the mantissa bits. The xor operation twiddles a bit that can only be
+ a sign bit or a mantissa bit (since the exponent never extends to
+ bit 31). */
+ m.value = NaNl ();
+ m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+ for (i = 0; i < NWORDS; i++)
+ m.word[i] |= 1;
+ if (!isnanl (m.value))
+ result |= 1;
+ }
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ if (!isnanl (x.value))
+ result |= 2;
+ }
+ /* isnanl should return something even for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 4;
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 8;
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 16;
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 32;
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ if (isnanl (x.value) && !isnanl (x.value))
+ result |= 64;
+ }
+#endif
+
+ return result;
+}]])],
+ [gl_cv_func_isnanl_works=yes],
+ [gl_cv_func_isnanl_works=no],
+ [gl_cv_func_isnanl_works="guessing yes"])
+ ])
+])
diff --git a/gettext-tools/gnulib-m4/iswblank.m4 b/gettext-tools/gnulib-m4/iswblank.m4
index a9ce0a3..bb74808 100644
--- a/gettext-tools/gnulib-m4/iswblank.m4
+++ b/gettext-tools/gnulib-m4/iswblank.m4
@@ -1,5 +1,5 @@
# iswblank.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/java.m4 b/gettext-tools/gnulib-m4/java.m4
index d04a660..3285dd5 100644
--- a/gettext-tools/gnulib-m4/java.m4
+++ b/gettext-tools/gnulib-m4/java.m4
@@ -1,5 +1,5 @@
# java.m4 serial 1 (gettext-0.15)
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/javacomp.m4 b/gettext-tools/gnulib-m4/javacomp.m4
index 69fe0c2..978f77b 100644
--- a/gettext-tools/gnulib-m4/javacomp.m4
+++ b/gettext-tools/gnulib-m4/javacomp.m4
@@ -1,5 +1,5 @@
# javacomp.m4 serial 12
-dnl Copyright (C) 2001-2003, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2001-2003, 2006-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/javaexec.m4 b/gettext-tools/gnulib-m4/javaexec.m4
index 0e34ee2..05c7548 100644
--- a/gettext-tools/gnulib-m4/javaexec.m4
+++ b/gettext-tools/gnulib-m4/javaexec.m4
@@ -1,5 +1,5 @@
# javaexec.m4 serial 5
-dnl Copyright (C) 2001-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/libgrep/gnulib-m4/langinfo_h.m4 b/gettext-tools/gnulib-m4/langinfo_h.m4
index e8d78f9..c3ecba6 100644
--- a/gettext-tools/libgrep/gnulib-m4/langinfo_h.m4
+++ b/gettext-tools/gnulib-m4/langinfo_h.m4
@@ -1,5 +1,5 @@
# langinfo_h.m4 serial 7
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/largefile.m4 b/gettext-tools/gnulib-m4/largefile.m4
index a1b564a..b7a6c48 100644
--- a/gettext-tools/gnulib-m4/largefile.m4
+++ b/gettext-tools/gnulib-m4/largefile.m4
@@ -1,6 +1,6 @@
# Enable large files on systems where this is not the default.
-# Copyright 1992-1996, 1998-2014 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/lib-ld.m4 b/gettext-tools/gnulib-m4/lib-ld.m4
index ddc569f..91ca911 100644
--- a/gettext-tools/gnulib-m4/lib-ld.m4
+++ b/gettext-tools/gnulib-m4/lib-ld.m4
@@ -1,5 +1,5 @@
# lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/lib-link.m4 b/gettext-tools/gnulib-m4/lib-link.m4
index 3522d99..d8d5d1f 100644
--- a/gettext-tools/gnulib-m4/lib-link.m4
+++ b/gettext-tools/gnulib-m4/lib-link.m4
@@ -1,5 +1,5 @@
# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/lib-prefix.m4 b/gettext-tools/gnulib-m4/lib-prefix.m4
index 31f49e4..0465f47 100644
--- a/gettext-tools/gnulib-m4/lib-prefix.m4
+++ b/gettext-tools/gnulib-m4/lib-prefix.m4
@@ -1,5 +1,5 @@
# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/libcroco.m4 b/gettext-tools/gnulib-m4/libcroco.m4
index 310a69e..859080c 100644
--- a/gettext-tools/gnulib-m4/libcroco.m4
+++ b/gettext-tools/gnulib-m4/libcroco.m4
@@ -1,5 +1,5 @@
# libcroco.m4 serial 2 (gettext-0.17)
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/libglib.m4 b/gettext-tools/gnulib-m4/libglib.m4
index fe533cb..f0df4ce 100644
--- a/gettext-tools/gnulib-m4/libglib.m4
+++ b/gettext-tools/gnulib-m4/libglib.m4
@@ -1,5 +1,5 @@
# libglib.m4 serial 3 (gettext-0.17)
-dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/libunistring-base.m4 b/gettext-tools/gnulib-m4/libunistring-base.m4
index d003267..cb8ae8a 100644
--- a/gettext-tools/gnulib-m4/libunistring-base.m4
+++ b/gettext-tools/gnulib-m4/libunistring-base.m4
@@ -1,5 +1,5 @@
# libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/libunistring-optional.m4 b/gettext-tools/gnulib-m4/libunistring-optional.m4
index cb94e49..c67f6ba 100644
--- a/gettext-tools/gnulib-m4/libunistring-optional.m4
+++ b/gettext-tools/gnulib-m4/libunistring-optional.m4
@@ -1,5 +1,5 @@
# libunistring-optional.m4 serial 1
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/libunistring.m4 b/gettext-tools/gnulib-m4/libunistring.m4
index 35980dd..a405bdb 100644
--- a/gettext-tools/gnulib-m4/libunistring.m4
+++ b/gettext-tools/gnulib-m4/libunistring.m4
@@ -1,5 +1,5 @@
# libunistring.m4 serial 11
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
index 7fa96bb..fa8e8e7 100644
--- a/gettext-tools/gnulib-m4/libxml.m4
+++ b/gettext-tools/gnulib-m4/libxml.m4
@@ -1,5 +1,5 @@
# libxml.m4 serial 6 (gettext-0.18.2)
-dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/localcharset.m4 b/gettext-tools/gnulib-m4/localcharset.m4
index ada2f01..f03916c 100644
--- a/gettext-tools/gnulib-m4/localcharset.m4
+++ b/gettext-tools/gnulib-m4/localcharset.m4
@@ -1,5 +1,5 @@
# localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/locale-fr.m4 b/gettext-tools/gnulib-m4/locale-fr.m4
index 27db5ab..92ff552 100644
--- a/gettext-tools/gnulib-m4/locale-fr.m4
+++ b/gettext-tools/gnulib-m4/locale-fr.m4
@@ -1,5 +1,5 @@
# locale-fr.m4 serial 17
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/locale-ja.m4 b/gettext-tools/gnulib-m4/locale-ja.m4
index c88fe8b..a3abef8 100644
--- a/gettext-tools/gnulib-m4/locale-ja.m4
+++ b/gettext-tools/gnulib-m4/locale-ja.m4
@@ -1,5 +1,5 @@
# locale-ja.m4 serial 12
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/locale-tr.m4 b/gettext-tools/gnulib-m4/locale-tr.m4
index 535b256..655c1ec 100644
--- a/gettext-tools/gnulib-m4/locale-tr.m4
+++ b/gettext-tools/gnulib-m4/locale-tr.m4
@@ -1,5 +1,5 @@
# locale-tr.m4 serial 10
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/locale-zh.m4 b/gettext-tools/gnulib-m4/locale-zh.m4
index d3b2347..c5c4ef6 100644
--- a/gettext-tools/gnulib-m4/locale-zh.m4
+++ b/gettext-tools/gnulib-m4/locale-zh.m4
@@ -1,5 +1,5 @@
# locale-zh.m4 serial 12
-dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/locale_h.m4 b/gettext-tools/gnulib-m4/locale_h.m4
index 2838588..0d7bb34 100644
--- a/gettext-tools/gnulib-m4/locale_h.m4
+++ b/gettext-tools/gnulib-m4/locale_h.m4
@@ -1,5 +1,5 @@
# locale_h.m4 serial 19
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/localename.m4 b/gettext-tools/gnulib-m4/localename.m4
index d865c66..2bdf31e 100644
--- a/gettext-tools/gnulib-m4/localename.m4
+++ b/gettext-tools/gnulib-m4/localename.m4
@@ -1,5 +1,5 @@
# localename.m4 serial 2
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -9,4 +9,9 @@ AC_DEFUN([gl_LOCALENAME],
AC_REQUIRE([gt_LC_MESSAGES])
AC_REQUIRE([gt_INTL_MACOSX])
AC_CHECK_FUNCS([setlocale uselocale])
+ dnl Solaris 12 provides getlocalename_l, while Illumos doesn't have
+ dnl it nor the equivalent.
+ if test $ac_cv_func_uselocale = yes; then
+ AC_CHECK_FUNCS([getlocalename_l])
+ fi
])
diff --git a/gettext-tools/gnulib-m4/log10.m4 b/gettext-tools/gnulib-m4/log10.m4
new file mode 100644
index 0000000..3a07a8d
--- /dev/null
+++ b/gettext-tools/gnulib-m4/log10.m4
@@ -0,0 +1,107 @@
+# log10.m4 serial 4
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_LOG10],
+[
+ m4_divert_text([DEFAULTS], [gl_log10_required=plain])
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+
+ dnl Determine LOG10_LIBM.
+ gl_COMMON_DOUBLE_MATHFUNC([log10])
+
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $LOG10_LIBM"
+ gl_FUNC_LOG10_WORKS
+ LIBS="$save_LIBS"
+ case "$gl_cv_func_log10_works" in
+ *yes) ;;
+ *) REPLACE_LOG10=1 ;;
+ esac
+
+ m4_ifdef([gl_FUNC_LOG10_IEEE], [
+ if test $gl_log10_required = ieee && test $REPLACE_LOG10 = 0; then
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether log10 works according to ISO C 99 with IEC 60559],
+ [gl_cv_func_log10_ieee],
+ [
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $LOG10_LIBM"
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#ifndef __NO_MATH_INLINES
+# define __NO_MATH_INLINES 1 /* for glibc */
+#endif
+#include <math.h>
+/* Compare two numbers with ==.
+ This is a separate function because IRIX 6.5 "cc -O" miscompiles an
+ 'x == x' test. */
+static int
+numeric_equal (double x, double y)
+{
+ return x == y;
+}
+static double dummy (double x) { return 0; }
+int main (int argc, char *argv[])
+{
+ double (*my_log10) (double) = argc ? log10 : dummy;
+ /* Test log10(negative).
+ This test fails on NetBSD 5.1, Solaris 11 2011-11. */
+ double y = my_log10 (-1.0);
+ if (numeric_equal (y, y))
+ return 1;
+ return 0;
+}
+ ]])],
+ [gl_cv_func_log10_ieee=yes],
+ [gl_cv_func_log10_ieee=no],
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_log10_ieee="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_log10_ieee="guessing no" ;;
+ esac
+ ])
+ LIBS="$save_LIBS"
+ ])
+ case "$gl_cv_func_log10_ieee" in
+ *yes) ;;
+ *) REPLACE_LOG10=1 ;;
+ esac
+ fi
+ ])
+])
+
+dnl Test whether log10() works.
+dnl On OSF/1 5.1, log10(-0.0) is NaN.
+AC_DEFUN([gl_FUNC_LOG10_WORKS],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether log10 works], [gl_cv_func_log10_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <math.h>
+volatile double x;
+double y;
+int main ()
+{
+ x = -0.0;
+ y = log10 (x);
+ if (!(y + y == y))
+ return 1;
+ return 0;
+}
+]])],
+ [gl_cv_func_log10_works=yes],
+ [gl_cv_func_log10_works=no],
+ [case "$host_os" in
+ osf*) gl_cv_func_log10_works="guessing no";;
+ *) gl_cv_func_log10_works="guessing yes";;
+ esac
+ ])
+ ])
+])
diff --git a/gettext-tools/gnulib-m4/lseek.m4 b/gettext-tools/gnulib-m4/lseek.m4
index 0904d02..f337abf 100644
--- a/gettext-tools/gnulib-m4/lseek.m4
+++ b/gettext-tools/gnulib-m4/lseek.m4
@@ -1,5 +1,5 @@
# lseek.m4 serial 10
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/lstat.m4 b/gettext-tools/gnulib-m4/lstat.m4
index c5e72b8..adf752c 100644
--- a/gettext-tools/gnulib-m4/lstat.m4
+++ b/gettext-tools/gnulib-m4/lstat.m4
@@ -1,6 +1,6 @@
-# serial 26
+# serial 27
-# Copyright (C) 1997-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -37,30 +37,28 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
[gl_cv_func_lstat_dereferences_slashed_symlink],
[rm -f conftest.sym conftest.file
echo >conftest.file
- if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [AC_INCLUDES_DEFAULT],
- [[struct stat sbuf;
- /* Linux will dereference the symlink and fail, as required by
- POSIX. That is better in the sense that it means we will not
- have to compile and use the lstat wrapper. */
- return lstat ("conftest.sym/", &sbuf) == 0;
- ]])],
- [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
- [gl_cv_func_lstat_dereferences_slashed_symlink=no],
- [case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
- # If we don't know, assume the worst.
- *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
- esac
- ])
- else
- # If the 'ln -s' command failed, then we probably don't even
- # have an lstat function.
- gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
- fi
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [AC_INCLUDES_DEFAULT],
+ [[struct stat sbuf;
+ if (symlink ("conftest.file", "conftest.sym") != 0)
+ return 1;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
+ ]])],
+ [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
+ [gl_cv_func_lstat_dereferences_slashed_symlink=no],
+ [case "$host_os" in
+ *-gnu*)
+ # Guess yes on glibc systems.
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+ *)
+ # If we don't know, assume the worst.
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+ esac
+ ])
rm -f conftest.sym conftest.file
])
case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
diff --git a/gettext-tools/gnulib-m4/malloc.m4 b/gettext-tools/gnulib-m4/malloc.m4
index 322ad6e..31368ab 100644
--- a/gettext-tools/gnulib-m4/malloc.m4
+++ b/gettext-tools/gnulib-m4/malloc.m4
@@ -1,5 +1,5 @@
# malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/malloca.m4 b/gettext-tools/gnulib-m4/malloca.m4
index dcc1a08..7248951 100644
--- a/gettext-tools/gnulib-m4/malloca.m4
+++ b/gettext-tools/gnulib-m4/malloca.m4
@@ -1,5 +1,5 @@
# malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/math_h.m4 b/gettext-tools/gnulib-m4/math_h.m4
new file mode 100644
index 0000000..7d0f583
--- /dev/null
+++ b/gettext-tools/gnulib-m4/math_h.m4
@@ -0,0 +1,353 @@
+# math_h.m4 serial 114
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_MATH_H],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ gl_CHECK_NEXT_HEADERS([math.h])
+
+ AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
+ [[/* Solaris 10 has a broken definition of NAN. Other platforms
+ fail to provide NAN, or provide it only in C99 mode; this
+ test only needs to fail when NAN is provided but wrong. */
+ float f = 1.0f;
+#ifdef NAN
+ f = NAN;
+#endif
+ return f == 0;]])],
+ [gl_cv_header_math_nan_works=yes],
+ [gl_cv_header_math_nan_works=no])])
+ if test $gl_cv_header_math_nan_works = no; then
+ REPLACE_NAN=1
+ fi
+ AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
+ [[/* Solaris 10 has a broken definition of HUGE_VAL. */
+ double d = HUGE_VAL;
+ return d == 0;]])],
+ [gl_cv_header_math_huge_val_works=yes],
+ [gl_cv_header_math_huge_val_works=no])])
+ if test $gl_cv_header_math_huge_val_works = no; then
+ REPLACE_HUGE_VAL=1
+ fi
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[#include <math.h>]],
+ [acosf acosl asinf asinl atanf atanl
+ cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf
+ expf expl exp2 exp2f exp2l expm1 expm1f expm1l
+ fabsf fabsl floorf floorl fma fmaf fmal
+ fmod fmodf fmodl frexpf frexpl hypotf hypotl
+ ilogb ilogbf ilogbl
+ ldexpf ldexpl
+ log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l
+ logb logbf logbl
+ modf modff modfl powf
+ remainder remainderf remainderl
+ rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl
+ tanf tanl tanhf trunc truncf truncl])
+])
+
+AC_DEFUN([gl_MATH_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_MATH_H_DEFAULTS],
+[
+ GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF])
+ GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL])
+ GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF])
+ GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL])
+ GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF])
+ GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL])
+ GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F])
+ GNULIB_CBRT=0; AC_SUBST([GNULIB_CBRT])
+ GNULIB_CBRTF=0; AC_SUBST([GNULIB_CBRTF])
+ GNULIB_CBRTL=0; AC_SUBST([GNULIB_CBRTL])
+ GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL])
+ GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF])
+ GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL])
+ GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN])
+ GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF])
+ GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL])
+ GNULIB_COSF=0; AC_SUBST([GNULIB_COSF])
+ GNULIB_COSL=0; AC_SUBST([GNULIB_COSL])
+ GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF])
+ GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF])
+ GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL])
+ GNULIB_EXP2=0; AC_SUBST([GNULIB_EXP2])
+ GNULIB_EXP2F=0; AC_SUBST([GNULIB_EXP2F])
+ GNULIB_EXP2L=0; AC_SUBST([GNULIB_EXP2L])
+ GNULIB_EXPM1=0; AC_SUBST([GNULIB_EXPM1])
+ GNULIB_EXPM1F=0; AC_SUBST([GNULIB_EXPM1F])
+ GNULIB_EXPM1L=0; AC_SUBST([GNULIB_EXPM1L])
+ GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF])
+ GNULIB_FABSL=0; AC_SUBST([GNULIB_FABSL])
+ GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR])
+ GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF])
+ GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL])
+ GNULIB_FMA=0; AC_SUBST([GNULIB_FMA])
+ GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF])
+ GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL])
+ GNULIB_FMOD=0; AC_SUBST([GNULIB_FMOD])
+ GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF])
+ GNULIB_FMODL=0; AC_SUBST([GNULIB_FMODL])
+ GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF])
+ GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP])
+ GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL])
+ GNULIB_HYPOT=0; AC_SUBST([GNULIB_HYPOT])
+ GNULIB_HYPOTF=0; AC_SUBST([GNULIB_HYPOTF])
+ GNULIB_HYPOTL=0; AC_SUBST([GNULIB_HYPOTL])
+ GNULIB_ILOGB=0; AC_SUBST([GNULIB_ILOGB])
+ GNULIB_ILOGBF=0; AC_SUBST([GNULIB_ILOGBF])
+ GNULIB_ILOGBL=0; AC_SUBST([GNULIB_ILOGBL])
+ GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE])
+ GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF])
+ GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN])
+ GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF])
+ GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND])
+ GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL])
+ GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF])
+ GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL])
+ GNULIB_LOG=0; AC_SUBST([GNULIB_LOG])
+ GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF])
+ GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL])
+ GNULIB_LOG10=0; AC_SUBST([GNULIB_LOG10])
+ GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F])
+ GNULIB_LOG10L=0; AC_SUBST([GNULIB_LOG10L])
+ GNULIB_LOG1P=0; AC_SUBST([GNULIB_LOG1P])
+ GNULIB_LOG1PF=0; AC_SUBST([GNULIB_LOG1PF])
+ GNULIB_LOG1PL=0; AC_SUBST([GNULIB_LOG1PL])
+ GNULIB_LOG2=0; AC_SUBST([GNULIB_LOG2])
+ GNULIB_LOG2F=0; AC_SUBST([GNULIB_LOG2F])
+ GNULIB_LOG2L=0; AC_SUBST([GNULIB_LOG2L])
+ GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB])
+ GNULIB_LOGBF=0; AC_SUBST([GNULIB_LOGBF])
+ GNULIB_LOGBL=0; AC_SUBST([GNULIB_LOGBL])
+ GNULIB_MODF=0; AC_SUBST([GNULIB_MODF])
+ GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF])
+ GNULIB_MODFL=0; AC_SUBST([GNULIB_MODFL])
+ GNULIB_POWF=0; AC_SUBST([GNULIB_POWF])
+ GNULIB_REMAINDER=0; AC_SUBST([GNULIB_REMAINDER])
+ GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF])
+ GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL])
+ GNULIB_RINT=0; AC_SUBST([GNULIB_RINT])
+ GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF])
+ GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL])
+ GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND])
+ GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF])
+ GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL])
+ GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT])
+ GNULIB_SINF=0; AC_SUBST([GNULIB_SINF])
+ GNULIB_SINL=0; AC_SUBST([GNULIB_SINL])
+ GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF])
+ GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF])
+ GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL])
+ GNULIB_TANF=0; AC_SUBST([GNULIB_TANF])
+ GNULIB_TANL=0; AC_SUBST([GNULIB_TANL])
+ GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF])
+ GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC])
+ GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF])
+ GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF])
+ HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL])
+ HAVE_ASINF=1; AC_SUBST([HAVE_ASINF])
+ HAVE_ASINL=1; AC_SUBST([HAVE_ASINL])
+ HAVE_ATANF=1; AC_SUBST([HAVE_ATANF])
+ HAVE_ATANL=1; AC_SUBST([HAVE_ATANL])
+ HAVE_ATAN2F=1; AC_SUBST([HAVE_ATAN2F])
+ HAVE_CBRT=1; AC_SUBST([HAVE_CBRT])
+ HAVE_CBRTF=1; AC_SUBST([HAVE_CBRTF])
+ HAVE_CBRTL=1; AC_SUBST([HAVE_CBRTL])
+ HAVE_COPYSIGN=1; AC_SUBST([HAVE_COPYSIGN])
+ HAVE_COPYSIGNL=1; AC_SUBST([HAVE_COPYSIGNL])
+ HAVE_COSF=1; AC_SUBST([HAVE_COSF])
+ HAVE_COSL=1; AC_SUBST([HAVE_COSL])
+ HAVE_COSHF=1; AC_SUBST([HAVE_COSHF])
+ HAVE_EXPF=1; AC_SUBST([HAVE_EXPF])
+ HAVE_EXPL=1; AC_SUBST([HAVE_EXPL])
+ HAVE_EXPM1=1; AC_SUBST([HAVE_EXPM1])
+ HAVE_EXPM1F=1; AC_SUBST([HAVE_EXPM1F])
+ HAVE_FABSF=1; AC_SUBST([HAVE_FABSF])
+ HAVE_FABSL=1; AC_SUBST([HAVE_FABSL])
+ HAVE_FMA=1; AC_SUBST([HAVE_FMA])
+ HAVE_FMAF=1; AC_SUBST([HAVE_FMAF])
+ HAVE_FMAL=1; AC_SUBST([HAVE_FMAL])
+ HAVE_FMODF=1; AC_SUBST([HAVE_FMODF])
+ HAVE_FMODL=1; AC_SUBST([HAVE_FMODL])
+ HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF])
+ HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF])
+ HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL])
+ HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB])
+ HAVE_ILOGBF=1; AC_SUBST([HAVE_ILOGBF])
+ HAVE_ILOGBL=1; AC_SUBST([HAVE_ILOGBL])
+ HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF])
+ HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND])
+ HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL])
+ HAVE_LDEXPF=1; AC_SUBST([HAVE_LDEXPF])
+ HAVE_LOGF=1; AC_SUBST([HAVE_LOGF])
+ HAVE_LOGL=1; AC_SUBST([HAVE_LOGL])
+ HAVE_LOG10F=1; AC_SUBST([HAVE_LOG10F])
+ HAVE_LOG10L=1; AC_SUBST([HAVE_LOG10L])
+ HAVE_LOG1P=1; AC_SUBST([HAVE_LOG1P])
+ HAVE_LOG1PF=1; AC_SUBST([HAVE_LOG1PF])
+ HAVE_LOG1PL=1; AC_SUBST([HAVE_LOG1PL])
+ HAVE_LOGBF=1; AC_SUBST([HAVE_LOGBF])
+ HAVE_LOGBL=1; AC_SUBST([HAVE_LOGBL])
+ HAVE_MODFF=1; AC_SUBST([HAVE_MODFF])
+ HAVE_MODFL=1; AC_SUBST([HAVE_MODFL])
+ HAVE_POWF=1; AC_SUBST([HAVE_POWF])
+ HAVE_REMAINDER=1; AC_SUBST([HAVE_REMAINDER])
+ HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF])
+ HAVE_RINT=1; AC_SUBST([HAVE_RINT])
+ HAVE_RINTL=1; AC_SUBST([HAVE_RINTL])
+ HAVE_SINF=1; AC_SUBST([HAVE_SINF])
+ HAVE_SINL=1; AC_SUBST([HAVE_SINL])
+ HAVE_SINHF=1; AC_SUBST([HAVE_SINHF])
+ HAVE_SQRTF=1; AC_SUBST([HAVE_SQRTF])
+ HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL])
+ HAVE_TANF=1; AC_SUBST([HAVE_TANF])
+ HAVE_TANL=1; AC_SUBST([HAVE_TANL])
+ HAVE_TANHF=1; AC_SUBST([HAVE_TANHF])
+ HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL])
+ HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL])
+ HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL])
+ HAVE_DECL_CBRTF=1; AC_SUBST([HAVE_DECL_CBRTF])
+ HAVE_DECL_CBRTL=1; AC_SUBST([HAVE_DECL_CBRTL])
+ HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF])
+ HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL])
+ HAVE_DECL_COPYSIGNF=1; AC_SUBST([HAVE_DECL_COPYSIGNF])
+ HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL])
+ HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL])
+ HAVE_DECL_EXP2=1; AC_SUBST([HAVE_DECL_EXP2])
+ HAVE_DECL_EXP2F=1; AC_SUBST([HAVE_DECL_EXP2F])
+ HAVE_DECL_EXP2L=1; AC_SUBST([HAVE_DECL_EXP2L])
+ HAVE_DECL_EXPM1L=1; AC_SUBST([HAVE_DECL_EXPM1L])
+ HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF])
+ HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL])
+ HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL])
+ HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL])
+ HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL])
+ HAVE_DECL_LOG10L=1; AC_SUBST([HAVE_DECL_LOG10L])
+ HAVE_DECL_LOG2=1; AC_SUBST([HAVE_DECL_LOG2])
+ HAVE_DECL_LOG2F=1; AC_SUBST([HAVE_DECL_LOG2F])
+ HAVE_DECL_LOG2L=1; AC_SUBST([HAVE_DECL_LOG2L])
+ HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB])
+ HAVE_DECL_REMAINDER=1; AC_SUBST([HAVE_DECL_REMAINDER])
+ HAVE_DECL_REMAINDERL=1; AC_SUBST([HAVE_DECL_REMAINDERL])
+ HAVE_DECL_RINTF=1; AC_SUBST([HAVE_DECL_RINTF])
+ HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND])
+ HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF])
+ HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL])
+ HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL])
+ HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL])
+ HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL])
+ HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC])
+ HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF])
+ HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL])
+ REPLACE_CBRTF=0; AC_SUBST([REPLACE_CBRTF])
+ REPLACE_CBRTL=0; AC_SUBST([REPLACE_CBRTL])
+ REPLACE_CEIL=0; AC_SUBST([REPLACE_CEIL])
+ REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF])
+ REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL])
+ REPLACE_EXPM1=0; AC_SUBST([REPLACE_EXPM1])
+ REPLACE_EXPM1F=0; AC_SUBST([REPLACE_EXPM1F])
+ REPLACE_EXP2=0; AC_SUBST([REPLACE_EXP2])
+ REPLACE_EXP2L=0; AC_SUBST([REPLACE_EXP2L])
+ REPLACE_FABSL=0; AC_SUBST([REPLACE_FABSL])
+ REPLACE_FLOOR=0; AC_SUBST([REPLACE_FLOOR])
+ REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF])
+ REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL])
+ REPLACE_FMA=0; AC_SUBST([REPLACE_FMA])
+ REPLACE_FMAF=0; AC_SUBST([REPLACE_FMAF])
+ REPLACE_FMAL=0; AC_SUBST([REPLACE_FMAL])
+ REPLACE_FMOD=0; AC_SUBST([REPLACE_FMOD])
+ REPLACE_FMODF=0; AC_SUBST([REPLACE_FMODF])
+ REPLACE_FMODL=0; AC_SUBST([REPLACE_FMODL])
+ REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF])
+ REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP])
+ REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL])
+ REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL])
+ REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT])
+ REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF])
+ REPLACE_HYPOTL=0; AC_SUBST([REPLACE_HYPOTL])
+ REPLACE_ILOGB=0; AC_SUBST([REPLACE_ILOGB])
+ REPLACE_ILOGBF=0; AC_SUBST([REPLACE_ILOGBF])
+ REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE])
+ REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF])
+ REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN])
+ REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL])
+ REPLACE_LOG=0; AC_SUBST([REPLACE_LOG])
+ REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF])
+ REPLACE_LOGL=0; AC_SUBST([REPLACE_LOGL])
+ REPLACE_LOG10=0; AC_SUBST([REPLACE_LOG10])
+ REPLACE_LOG10F=0; AC_SUBST([REPLACE_LOG10F])
+ REPLACE_LOG10L=0; AC_SUBST([REPLACE_LOG10L])
+ REPLACE_LOG1P=0; AC_SUBST([REPLACE_LOG1P])
+ REPLACE_LOG1PF=0; AC_SUBST([REPLACE_LOG1PF])
+ REPLACE_LOG1PL=0; AC_SUBST([REPLACE_LOG1PL])
+ REPLACE_LOG2=0; AC_SUBST([REPLACE_LOG2])
+ REPLACE_LOG2F=0; AC_SUBST([REPLACE_LOG2F])
+ REPLACE_LOG2L=0; AC_SUBST([REPLACE_LOG2L])
+ REPLACE_LOGB=0; AC_SUBST([REPLACE_LOGB])
+ REPLACE_LOGBF=0; AC_SUBST([REPLACE_LOGBF])
+ REPLACE_LOGBL=0; AC_SUBST([REPLACE_LOGBL])
+ REPLACE_MODF=0; AC_SUBST([REPLACE_MODF])
+ REPLACE_MODFF=0; AC_SUBST([REPLACE_MODFF])
+ REPLACE_MODFL=0; AC_SUBST([REPLACE_MODFL])
+ REPLACE_NAN=0; AC_SUBST([REPLACE_NAN])
+ REPLACE_REMAINDER=0; AC_SUBST([REPLACE_REMAINDER])
+ REPLACE_REMAINDERF=0; AC_SUBST([REPLACE_REMAINDERF])
+ REPLACE_REMAINDERL=0; AC_SUBST([REPLACE_REMAINDERL])
+ REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND])
+ REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF])
+ REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL])
+ REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT])
+ REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC])
+ REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL])
+ REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC])
+ REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF])
+ REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL])
+])
+
+# gl_LONG_DOUBLE_VS_DOUBLE
+# determines whether 'long double' and 'double' have the same representation.
+# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
+# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
+# The currently known platforms where this is the case are:
+# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
+AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE],
+[
+ AC_CACHE_CHECK([whether long double and double are the same],
+ [gl_cv_long_double_equals_double],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <float.h>]],
+ [[typedef int check[sizeof (long double) == sizeof (double)
+ && LDBL_MANT_DIG == DBL_MANT_DIG
+ && LDBL_MAX_EXP == DBL_MAX_EXP
+ && LDBL_MIN_EXP == DBL_MIN_EXP
+ ? 1 : -1];
+ ]])],
+ [gl_cv_long_double_equals_double=yes],
+ [gl_cv_long_double_equals_double=no])
+ ])
+ if test $gl_cv_long_double_equals_double = yes; then
+ AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1],
+ [Define to 1 if 'long double' and 'double' have the same representation.])
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1
+ else
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0
+ fi
+ AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE])
+])
diff --git a/gettext-tools/gnulib-m4/mathfunc.m4 b/gettext-tools/gnulib-m4/mathfunc.m4
new file mode 100644
index 0000000..743bafb
--- /dev/null
+++ b/gettext-tools/gnulib-m4/mathfunc.m4
@@ -0,0 +1,163 @@
+# mathfunc.m4 serial 11
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# gl_MATHFUNC(FUNC, RETTYPE, PARAMTYPES [, INCLUDES] [, EXTRA-CODE])
+# ------------------------------------------------------------------
+# tests whether the function FUNC is available in libc or libm.
+# RETTYPE is the return type. PARAMTYPES is a parameter list, with parentheses.
+# It sets FUNC_LIBM to empty or "-lm" accordingly.
+
+AC_DEFUN([gl_MATHFUNC],
+[
+ dnl We need the RETTYPE and PARAMTYPES in order to force linking with the
+ dnl function.
+ dnl 1) With gcc >= 4.3 on glibc/x86_64, calls to the 'fabs' function
+ dnl are inlined by the compiler, therefore linking of these calls does
+ dnl not require -lm, but taking the function pointer of 'fabs' does.
+ dnl 2) On MSVC 9, many math functions exist only as macros with arguments,
+ dnl whereas the function pointer is undefined.
+ dnl On the other hand, taking just the function pointer is not enough.
+ dnl 1) On AIX 7.1, when 'long double' is 128 bit large ("xlc -qldbl128" or
+ dnl "xlc -qlongdouble" or "gcc -mlong-double-128") many math functions
+ dnl exist as macros with arguments, that may reference libm or even
+ dnl completely undefined functions such as __rint128.
+ dnl 2) In AIX 7.1 with gcc 4.2, when optimization is turned on, calls to
+ dnl rint() with simple arguments are turned into rintf() calls by the
+ dnl compiler. But while rint() is resides in libc, rintf() is in libm.
+ m4_pushdef([func], [$1])
+ m4_pushdef([FUNC], [m4_translit([$1],[abcdefghijklmnopqrstuvwxyz],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
+ m4_pushdef([ARGS], [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [m4_bpatsubst(
+ [$3],
+ [int \*], [&i_ret])],
+ [float \*], [&f_ret])],
+ [double \*], [&d_ret])],
+ [long double \*], [&l_ret])],
+ [int], [2])],
+ [float], [1.618034f])],
+ [long double], [1.618033988749894848L])],
+ [double], [1.6180339887])],
+ [void], [])])
+ FUNC[]_LIBM=
+ AC_CACHE_CHECK([whether func() can be used without linking with libm],
+ [gl_cv_func_]func[_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+ $4
+ $2 (*funcptr) $3 = ]func[;
+ int i_ret;
+ float f_ret;
+ double d_ret;
+ long double l_ret;]],
+ [[$2 y = funcptr ]ARGS[ + ]func[ ]ARGS[;
+ $5
+ return y < 0.3 || y > 1.7;
+ ]])],
+ [gl_cv_func_]func[_no_libm=yes],
+ [gl_cv_func_]func[_no_libm=no])
+ ])
+ if test $gl_cv_func_[]func[]_no_libm = no; then
+ AC_CACHE_CHECK([whether func() can be used with libm],
+ [gl_cv_func_]func[_in_libm],
+ [
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+ $4
+ $2 (*funcptr) $3 = ]func[;
+ int i_ret;
+ float f_ret;
+ double d_ret;
+ long double l_ret;]],
+ [[$2 y = funcptr ]ARGS[ + ]func[ ]ARGS[;
+ $5
+ return y < 0.3 || y > 1.7;
+ ]])],
+ [gl_cv_func_]func[_in_libm=yes],
+ [gl_cv_func_]func[_in_libm=no])
+ LIBS="$save_LIBS"
+ ])
+ if test $gl_cv_func_[]func[]_in_libm = yes; then
+ FUNC[]_LIBM=-lm
+ fi
+ fi
+ AC_SUBST(FUNC[_LIBM])
+ m4_popdef([ARGS])
+ m4_popdef([FUNC])
+ m4_popdef([func])
+])
+
+# gl_COMMON_DOUBLE_MATHFUNC(FUNC)
+# -------------------------------
+# tests whether the function FUNC is available in libc or libm.
+# It sets FUNC_LIBM to empty or "-lm" accordingly.
+# FUNC must be one of the following functions, that are present on all systems
+# and provided by libm on all systems except Mac OS X, BeOS, Haiku:
+# acos asin atan atan2 cbrt cos cosh erf erfc exp fmod hypot j0 j1 jn lgamma
+# log log10 log1p pow remainder sin sinh sqrt tan tanh y0 y1 yn
+
+AC_DEFUN([gl_COMMON_DOUBLE_MATHFUNC],
+[
+ AC_REQUIRE([gl_COMMON_DOUBLE_MATHFUNC_TEST])
+ m4_pushdef([FUNC], [m4_translit([$1],[abcdefghijklmnopqrstuvwxyz],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
+ FUNC[]_LIBM="$POW_LIBM"
+ AC_SUBST(FUNC[_LIBM])
+ m4_popdef([FUNC])
+])
+
+AC_DEFUN([gl_COMMON_DOUBLE_MATHFUNC_TEST],
+[
+ dnl We could use any of the following:
+ dnl gl_MATHFUNC([acos], [double], [(double)])
+ dnl gl_MATHFUNC([asin], [double], [(double)])
+ dnl gl_MATHFUNC([atan], [double], [(double)])
+ dnl gl_MATHFUNC([atan2], [double], [(double, double)])
+ dnl gl_MATHFUNC([cbrt], [double], [(double)])
+ dnl gl_MATHFUNC([cos], [double], [(double)])
+ dnl gl_MATHFUNC([cosh], [double], [(double)])
+ dnl gl_MATHFUNC([erf], [double], [(double)])
+ dnl gl_MATHFUNC([erfc], [double], [(double)])
+ dnl gl_MATHFUNC([exp], [double], [(double)])
+ dnl gl_MATHFUNC([fmod], [double], [(double, double)])
+ dnl gl_MATHFUNC([hypot], [double], [(double, double)])
+ dnl gl_MATHFUNC([j0], [double], [(double)])
+ dnl gl_MATHFUNC([j1], [double], [(double)])
+ dnl gl_MATHFUNC([jn], [double], [(int, double)])
+ dnl gl_MATHFUNC([lgamma], [double], [(double)])
+ dnl gl_MATHFUNC([log], [double], [(double)])
+ dnl gl_MATHFUNC([log10], [double], [(double)])
+ dnl gl_MATHFUNC([log1p], [double], [(double)])
+ dnl gl_MATHFUNC([pow], [double], [(double, double)])
+ dnl gl_MATHFUNC([remainder], [double], [(double, double)])
+ dnl gl_MATHFUNC([sin], [double], [(double)])
+ dnl gl_MATHFUNC([sinh], [double], [(double)])
+ dnl gl_MATHFUNC([sqrt], [double], [(double)])
+ dnl gl_MATHFUNC([tan], [double], [(double)])
+ dnl gl_MATHFUNC([tanh], [double], [(double)])
+ dnl gl_MATHFUNC([y0], [double], [(double)])
+ dnl gl_MATHFUNC([y1], [double], [(double)])
+ dnl gl_MATHFUNC([yn], [double], [(int, double)])
+ gl_MATHFUNC([pow], [double], [(double, double)])
+])
diff --git a/gettext-tools/gnulib-m4/mbchar.m4 b/gettext-tools/gnulib-m4/mbchar.m4
index e250ca8..3f721c9 100644
--- a/gettext-tools/gnulib-m4/mbchar.m4
+++ b/gettext-tools/gnulib-m4/mbchar.m4
@@ -1,5 +1,5 @@
# mbchar.m4 serial 9
-dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbiter.m4 b/gettext-tools/gnulib-m4/mbiter.m4
index 648bf45..becf8a7 100644
--- a/gettext-tools/gnulib-m4/mbiter.m4
+++ b/gettext-tools/gnulib-m4/mbiter.m4
@@ -1,5 +1,5 @@
# mbiter.m4 serial 7
-dnl Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbrtowc.m4 b/gettext-tools/gnulib-m4/mbrtowc.m4
index 45696f5..be2e9d6 100644
--- a/gettext-tools/gnulib-m4/mbrtowc.m4
+++ b/gettext-tools/gnulib-m4/mbrtowc.m4
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 26
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2014 Free Software Foundation,
+# mbrtowc.m4 serial 26 -*- coding: utf-8 -*-
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -569,10 +569,10 @@ changequote([,])dnl
int
main (void)
{
- return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+ return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
}]])],
- [gl_cv_func_mbrtowc_empty_input=no],
[gl_cv_func_mbrtowc_empty_input=yes],
+ [gl_cv_func_mbrtowc_empty_input=no],
[:])
])
])
diff --git a/gettext-tools/gnulib-m4/mbsinit.m4 b/gettext-tools/gnulib-m4/mbsinit.m4
index e1598a1..61c4032 100644
--- a/gettext-tools/gnulib-m4/mbsinit.m4
+++ b/gettext-tools/gnulib-m4/mbsinit.m4
@@ -1,5 +1,5 @@
# mbsinit.m4 serial 8
-dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbslen.m4 b/gettext-tools/gnulib-m4/mbslen.m4
index 1dc1940..52becd5 100644
--- a/gettext-tools/gnulib-m4/mbslen.m4
+++ b/gettext-tools/gnulib-m4/mbslen.m4
@@ -1,5 +1,5 @@
# mbslen.m4 serial 2
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbsrtowcs.m4 b/gettext-tools/gnulib-m4/mbsrtowcs.m4
index 6967f35..cea47e5 100644
--- a/gettext-tools/gnulib-m4/mbsrtowcs.m4
+++ b/gettext-tools/gnulib-m4/mbsrtowcs.m4
@@ -1,5 +1,5 @@
# mbsrtowcs.m4 serial 13
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbstate_t.m4 b/gettext-tools/gnulib-m4/mbstate_t.m4
index 068155a..42ad6cd 100644
--- a/gettext-tools/gnulib-m4/mbstate_t.m4
+++ b/gettext-tools/gnulib-m4/mbstate_t.m4
@@ -1,5 +1,5 @@
# mbstate_t.m4 serial 13
-dnl Copyright (C) 2000-2002, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbswidth.m4 b/gettext-tools/gnulib-m4/mbswidth.m4
index eaa2ff3..efe3e21 100644
--- a/gettext-tools/gnulib-m4/mbswidth.m4
+++ b/gettext-tools/gnulib-m4/mbswidth.m4
@@ -1,5 +1,5 @@
# mbswidth.m4 serial 18
-dnl Copyright (C) 2000-2002, 2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2004, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mbtowc.m4 b/gettext-tools/gnulib-m4/mbtowc.m4
index cacfe16..88cdeee 100644
--- a/gettext-tools/gnulib-m4/mbtowc.m4
+++ b/gettext-tools/gnulib-m4/mbtowc.m4
@@ -1,5 +1,5 @@
# mbtowc.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/memchr.m4 b/gettext-tools/gnulib-m4/memchr.m4
index b9f126c..cb958d8 100644
--- a/gettext-tools/gnulib-m4/memchr.m4
+++ b/gettext-tools/gnulib-m4/memchr.m4
@@ -1,5 +1,5 @@
# memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/memmove.m4 b/gettext-tools/gnulib-m4/memmove.m4
index 2bc8875..a85ba10 100644
--- a/gettext-tools/gnulib-m4/memmove.m4
+++ b/gettext-tools/gnulib-m4/memmove.m4
@@ -1,5 +1,5 @@
# memmove.m4 serial 4
-dnl Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/memset.m4 b/gettext-tools/gnulib-m4/memset.m4
index d7223cd..6960666 100644
--- a/gettext-tools/gnulib-m4/memset.m4
+++ b/gettext-tools/gnulib-m4/memset.m4
@@ -1,5 +1,5 @@
# memset.m4 serial 4
-dnl Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/minmax.m4 b/gettext-tools/gnulib-m4/minmax.m4
index edbeb43..0df832c 100644
--- a/gettext-tools/gnulib-m4/minmax.m4
+++ b/gettext-tools/gnulib-m4/minmax.m4
@@ -1,5 +1,5 @@
# minmax.m4 serial 4
-dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mkdtemp.m4 b/gettext-tools/gnulib-m4/mkdtemp.m4
index dcc2ac0..fb3182d 100644
--- a/gettext-tools/gnulib-m4/mkdtemp.m4
+++ b/gettext-tools/gnulib-m4/mkdtemp.m4
@@ -1,5 +1,5 @@
# mkdtemp.m4 serial 8
-dnl Copyright (C) 2001-2003, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2001-2003, 2006-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/mmap-anon.m4 b/gettext-tools/gnulib-m4/mmap-anon.m4
index 94ae2e2..92a88d0 100644
--- a/gettext-tools/gnulib-m4/mmap-anon.m4
+++ b/gettext-tools/gnulib-m4/mmap-anon.m4
@@ -1,5 +1,5 @@
# mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/mode_t.m4 b/gettext-tools/gnulib-m4/mode_t.m4
index db6e192..01badba 100644
--- a/gettext-tools/gnulib-m4/mode_t.m4
+++ b/gettext-tools/gnulib-m4/mode_t.m4
@@ -1,5 +1,5 @@
# mode_t.m4 serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/moo.m4 b/gettext-tools/gnulib-m4/moo.m4
index 5368c8f..3bda672 100644
--- a/gettext-tools/gnulib-m4/moo.m4
+++ b/gettext-tools/gnulib-m4/moo.m4
@@ -1,5 +1,5 @@
# moo.m4 serial 1 (gettext-0.17)
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/msvc-inval.m4 b/gettext-tools/gnulib-m4/msvc-inval.m4
index 7f26087..9446fa5 100644
--- a/gettext-tools/gnulib-m4/msvc-inval.m4
+++ b/gettext-tools/gnulib-m4/msvc-inval.m4
@@ -1,5 +1,5 @@
# msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/msvc-nothrow.m4 b/gettext-tools/gnulib-m4/msvc-nothrow.m4
index 9e32c17..5d72a04 100644
--- a/gettext-tools/gnulib-m4/msvc-nothrow.m4
+++ b/gettext-tools/gnulib-m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
# msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/multiarch.m4 b/gettext-tools/gnulib-m4/multiarch.m4
index 2cb956d..fc575c1 100644
--- a/gettext-tools/gnulib-m4/multiarch.m4
+++ b/gettext-tools/gnulib-m4/multiarch.m4
@@ -1,5 +1,5 @@
# multiarch.m4 serial 7
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/no-c++.m4 b/gettext-tools/gnulib-m4/no-c++.m4
index 538ddd3..edc5246 100644
--- a/gettext-tools/gnulib-m4/no-c++.m4
+++ b/gettext-tools/gnulib-m4/no-c++.m4
@@ -1,5 +1,5 @@
# no-c++.m4 serial 1
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/nocrash.m4 b/gettext-tools/gnulib-m4/nocrash.m4
index 5a5d77d..5628318 100644
--- a/gettext-tools/gnulib-m4/nocrash.m4
+++ b/gettext-tools/gnulib-m4/nocrash.m4
@@ -1,5 +1,5 @@
# nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/obstack.m4 b/gettext-tools/gnulib-m4/obstack.m4
index bc5b4a4..9213921 100644
--- a/gettext-tools/gnulib-m4/obstack.m4
+++ b/gettext-tools/gnulib-m4/obstack.m4
@@ -1,6 +1,6 @@
# See if we need to provide obstacks.
-dnl Copyright 1996-2014 Free Software Foundation, Inc.
+dnl Copyright 1996-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/off_t.m4 b/gettext-tools/gnulib-m4/off_t.m4
index f5885b3..0eb1467 100644
--- a/gettext-tools/gnulib-m4/off_t.m4
+++ b/gettext-tools/gnulib-m4/off_t.m4
@@ -1,5 +1,5 @@
# off_t.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/open.m4 b/gettext-tools/gnulib-m4/open.m4
index 68f116f..2accbaa 100644
--- a/gettext-tools/gnulib-m4/open.m4
+++ b/gettext-tools/gnulib-m4/open.m4
@@ -1,5 +1,5 @@
# open.m4 serial 14
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/opendir.m4 b/gettext-tools/gnulib-m4/opendir.m4
index fa29c64..cd83706 100644
--- a/gettext-tools/gnulib-m4/opendir.m4
+++ b/gettext-tools/gnulib-m4/opendir.m4
@@ -1,5 +1,5 @@
# opendir.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/pathmax.m4 b/gettext-tools/gnulib-m4/pathmax.m4
index 114f91f..0e3db7a 100644
--- a/gettext-tools/gnulib-m4/pathmax.m4
+++ b/gettext-tools/gnulib-m4/pathmax.m4
@@ -1,5 +1,5 @@
# pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/pipe2.m4 b/gettext-tools/gnulib-m4/pipe2.m4
index 1cff1fe..0b64651 100644
--- a/gettext-tools/gnulib-m4/pipe2.m4
+++ b/gettext-tools/gnulib-m4/pipe2.m4
@@ -1,5 +1,5 @@
# pipe2.m4 serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/posix_spawn.m4 b/gettext-tools/gnulib-m4/posix_spawn.m4
index 97cb64b..f3ce331 100644
--- a/gettext-tools/gnulib-m4/posix_spawn.m4
+++ b/gettext-tools/gnulib-m4/posix_spawn.m4
@@ -1,5 +1,5 @@
# posix_spawn.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/pow.m4 b/gettext-tools/gnulib-m4/pow.m4
new file mode 100644
index 0000000..86428d1
--- /dev/null
+++ b/gettext-tools/gnulib-m4/pow.m4
@@ -0,0 +1,11 @@
+# pow.m4 serial 1
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_POW],
+[
+ dnl Determine POW_LIBM.
+ gl_COMMON_DOUBLE_MATHFUNC([pow])
+])
diff --git a/gettext-tools/gnulib-m4/printf.m4 b/gettext-tools/gnulib-m4/printf.m4
index 652fa1c..d06746a 100644
--- a/gettext-tools/gnulib-m4/printf.m4
+++ b/gettext-tools/gnulib-m4/printf.m4
@@ -1,5 +1,5 @@
-# printf.m4 serial 51
-dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+# printf.m4 serial 52
+dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -365,66 +365,51 @@ int main ()
{ /* Pseudo-NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
- if (sprintf (buf, "%Lf", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lf", x.value) <= 0)
result |= 4;
- if (sprintf (buf, "%Le", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Le", x.value) <= 0)
result |= 4;
- if (sprintf (buf, "%Lg", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lg", x.value) <= 0)
result |= 4;
}
{ /* Pseudo-Infinity. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
- if (sprintf (buf, "%Lf", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lf", x.value) <= 0)
result |= 8;
- if (sprintf (buf, "%Le", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Le", x.value) <= 0)
result |= 8;
- if (sprintf (buf, "%Lg", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lg", x.value) <= 0)
result |= 8;
}
{ /* Pseudo-Zero. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
- if (sprintf (buf, "%Lf", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lf", x.value) <= 0)
result |= 16;
- if (sprintf (buf, "%Le", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Le", x.value) <= 0)
result |= 16;
- if (sprintf (buf, "%Lg", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lg", x.value) <= 0)
result |= 16;
}
{ /* Unnormalized number. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
- if (sprintf (buf, "%Lf", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lf", x.value) <= 0)
result |= 32;
- if (sprintf (buf, "%Le", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Le", x.value) <= 0)
result |= 32;
- if (sprintf (buf, "%Lg", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lg", x.value) <= 0)
result |= 32;
}
{ /* Pseudo-Denormal. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
- if (sprintf (buf, "%Lf", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lf", x.value) <= 0)
result |= 64;
- if (sprintf (buf, "%Le", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Le", x.value) <= 0)
result |= 64;
- if (sprintf (buf, "%Lg", x.value) < 0
- || !strisnan (buf, 0, strlen (buf)))
+ if (sprintf (buf, "%Lg", x.value) <= 0)
result |= 64;
}
#endif
diff --git a/gettext-tools/gnulib-m4/putenv.m4 b/gettext-tools/gnulib-m4/putenv.m4
index d79321b..73a5f46 100644
--- a/gettext-tools/gnulib-m4/putenv.m4
+++ b/gettext-tools/gnulib-m4/putenv.m4
@@ -1,5 +1,5 @@
# putenv.m4 serial 20
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/quote.m4 b/gettext-tools/gnulib-m4/quote.m4
index 95b3e71..af72e96 100644
--- a/gettext-tools/gnulib-m4/quote.m4
+++ b/gettext-tools/gnulib-m4/quote.m4
@@ -1,5 +1,5 @@
# quote.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/quotearg.m4 b/gettext-tools/gnulib-m4/quotearg.m4
index eaebbf6..985b30d 100644
--- a/gettext-tools/gnulib-m4/quotearg.m4
+++ b/gettext-tools/gnulib-m4/quotearg.m4
@@ -1,5 +1,5 @@
# quotearg.m4 serial 9
-dnl Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/raise.m4 b/gettext-tools/gnulib-m4/raise.m4
index 8656578..ed6aae0 100644
--- a/gettext-tools/gnulib-m4/raise.m4
+++ b/gettext-tools/gnulib-m4/raise.m4
@@ -1,5 +1,5 @@
# raise.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/rawmemchr.m4 b/gettext-tools/gnulib-m4/rawmemchr.m4
index a35af40..88e815e 100644
--- a/gettext-tools/gnulib-m4/rawmemchr.m4
+++ b/gettext-tools/gnulib-m4/rawmemchr.m4
@@ -1,5 +1,5 @@
# rawmemchr.m4 serial 2
-dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/read-file.m4 b/gettext-tools/gnulib-m4/read-file.m4
index a2beacc..67e50bd 100644
--- a/gettext-tools/gnulib-m4/read-file.m4
+++ b/gettext-tools/gnulib-m4/read-file.m4
@@ -1,5 +1,5 @@
# read-file.m4 serial 3
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/read.m4 b/gettext-tools/gnulib-m4/read.m4
index 176b0b0..9fdd7df 100644
--- a/gettext-tools/gnulib-m4/read.m4
+++ b/gettext-tools/gnulib-m4/read.m4
@@ -1,5 +1,5 @@
# read.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/readdir.m4 b/gettext-tools/gnulib-m4/readdir.m4
index bd7be5c..8aa348f 100644
--- a/gettext-tools/gnulib-m4/readdir.m4
+++ b/gettext-tools/gnulib-m4/readdir.m4
@@ -1,5 +1,5 @@
# readdir.m4 serial 1
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/readlink.m4 b/gettext-tools/gnulib-m4/readlink.m4
index f9ce868..88c9bfe 100644
--- a/gettext-tools/gnulib-m4/readlink.m4
+++ b/gettext-tools/gnulib-m4/readlink.m4
@@ -1,5 +1,5 @@
# readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/realloc.m4 b/gettext-tools/gnulib-m4/realloc.m4
index f96537b..0e1d338 100644
--- a/gettext-tools/gnulib-m4/realloc.m4
+++ b/gettext-tools/gnulib-m4/realloc.m4
@@ -1,5 +1,5 @@
# realloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/relocatable-lib.m4 b/gettext-tools/gnulib-m4/relocatable-lib.m4
index d292a57..889e099 100644
--- a/gettext-tools/gnulib-m4/relocatable-lib.m4
+++ b/gettext-tools/gnulib-m4/relocatable-lib.m4
@@ -1,5 +1,5 @@
# relocatable-lib.m4 serial 6
-dnl Copyright (C) 2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/relocatable.m4 b/gettext-tools/gnulib-m4/relocatable.m4
index 93eba60..a4bf06f 100644
--- a/gettext-tools/gnulib-m4/relocatable.m4
+++ b/gettext-tools/gnulib-m4/relocatable.m4
@@ -1,5 +1,5 @@
# relocatable.m4 serial 18
-dnl Copyright (C) 2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/rmdir.m4 b/gettext-tools/gnulib-m4/rmdir.m4
index db6a939..09ed159 100644
--- a/gettext-tools/gnulib-m4/rmdir.m4
+++ b/gettext-tools/gnulib-m4/rmdir.m4
@@ -1,5 +1,5 @@
# rmdir.m4 serial 13
-dnl Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/safe-read.m4 b/gettext-tools/gnulib-m4/safe-read.m4
index f0c42e0..697a07c 100644
--- a/gettext-tools/gnulib-m4/safe-read.m4
+++ b/gettext-tools/gnulib-m4/safe-read.m4
@@ -1,5 +1,5 @@
# safe-read.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/safe-write.m4 b/gettext-tools/gnulib-m4/safe-write.m4
index 66648bb..1cef87c 100644
--- a/gettext-tools/gnulib-m4/safe-write.m4
+++ b/gettext-tools/gnulib-m4/safe-write.m4
@@ -1,5 +1,5 @@
# safe-write.m4 serial 4
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sched_h.m4 b/gettext-tools/gnulib-m4/sched_h.m4
index 329af35..0cbf2d2 100644
--- a/gettext-tools/gnulib-m4/sched_h.m4
+++ b/gettext-tools/gnulib-m4/sched_h.m4
@@ -1,5 +1,5 @@
-# sched_h.m4 serial 6
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# sched_h.m4 serial 7
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -27,9 +27,16 @@ AC_DEFUN([gl_SCHED_H],
fi
AC_SUBST([HAVE_SCHED_H])
- AC_CHECK_TYPE([struct sched_param],
- [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
- [#include <sched.h>])
+ if test "$HAVE_SCHED_H" = 1; then
+ AC_CHECK_TYPE([struct sched_param],
+ [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
+ [#include <sched.h>])
+ else
+ dnl On OS/2 kLIBC, struct sched_param is in spawn.h.
+ AC_CHECK_TYPE([struct sched_param],
+ [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
+ [#include <spawn.h>])
+ fi
AC_SUBST([HAVE_STRUCT_SCHED_PARAM])
dnl Ensure the type pid_t gets defined.
diff --git a/gettext-tools/gnulib-m4/secure_getenv.m4 b/gettext-tools/gnulib-m4/secure_getenv.m4
index 149888d..6afe89f 100644
--- a/gettext-tools/gnulib-m4/secure_getenv.m4
+++ b/gettext-tools/gnulib-m4/secure_getenv.m4
@@ -1,5 +1,5 @@
# Look up an environment variable more securely.
-dnl Copyright 2013-2014 Free Software Foundation, Inc.
+dnl Copyright 2013-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/setenv.m4 b/gettext-tools/gnulib-m4/setenv.m4
index 0f46a7b..3aa38d8 100644
--- a/gettext-tools/gnulib-m4/setenv.m4
+++ b/gettext-tools/gnulib-m4/setenv.m4
@@ -1,5 +1,5 @@
# setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/setlocale.m4 b/gettext-tools/gnulib-m4/setlocale.m4
index fe83aab..6d153f9 100644
--- a/gettext-tools/gnulib-m4/setlocale.m4
+++ b/gettext-tools/gnulib-m4/setlocale.m4
@@ -1,5 +1,5 @@
# setlocale.m4 serial 4
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sig_atomic_t.m4 b/gettext-tools/gnulib-m4/sig_atomic_t.m4
index acc10fb..f796112 100644
--- a/gettext-tools/gnulib-m4/sig_atomic_t.m4
+++ b/gettext-tools/gnulib-m4/sig_atomic_t.m4
@@ -1,5 +1,5 @@
# sig_atomic_t.m4 serial 3
-dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sigaction.m4 b/gettext-tools/gnulib-m4/sigaction.m4
index d060986..98a32b2 100644
--- a/gettext-tools/gnulib-m4/sigaction.m4
+++ b/gettext-tools/gnulib-m4/sigaction.m4
@@ -1,5 +1,5 @@
# sigaction.m4 serial 7
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/signal_h.m4 b/gettext-tools/gnulib-m4/signal_h.m4
index c8f664f..f737c36 100644
--- a/gettext-tools/gnulib-m4/signal_h.m4
+++ b/gettext-tools/gnulib-m4/signal_h.m4
@@ -1,5 +1,5 @@
# signal_h.m4 serial 18
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/signalblocking.m4 b/gettext-tools/gnulib-m4/signalblocking.m4
index a2ad9e8..7eeaf54 100644
--- a/gettext-tools/gnulib-m4/signalblocking.m4
+++ b/gettext-tools/gnulib-m4/signalblocking.m4
@@ -1,5 +1,5 @@
# signalblocking.m4 serial 14
-dnl Copyright (C) 2001-2002, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2002, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/signbit.m4 b/gettext-tools/gnulib-m4/signbit.m4
new file mode 100644
index 0000000..21b9bf5
--- /dev/null
+++ b/gettext-tools/gnulib-m4/signbit.m4
@@ -0,0 +1,365 @@
+# signbit.m4 serial 13
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_SIGNBIT],
+[
+ AC_REQUIRE([gl_MATH_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([for signbit macro], [gl_cv_func_signbit],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <math.h>
+/* If signbit is defined as a function, don't use it, since calling it for
+ 'float' or 'long double' arguments would involve conversions.
+ If signbit is not declared at all but exists as a library function, don't
+ use it, since the prototype may not match.
+ If signbit is not declared at all but exists as a compiler built-in, don't
+ use it, since it's preferable to use __builtin_signbit* (no warnings,
+ no conversions). */
+#ifndef signbit
+# error "signbit should be a macro"
+#endif
+#include <string.h>
+]gl_SIGNBIT_TEST_PROGRAM
+])],
+ [gl_cv_func_signbit=yes],
+ [gl_cv_func_signbit=no],
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_signbit="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_signbit="guessing no" ;;
+ esac
+ ])
+ ])
+ dnl GCC 4.0 and newer provides three built-ins for signbit.
+ dnl They can be used without warnings, also in C++, regardless of <math.h>.
+ dnl But they may expand to calls to functions, which may or may not be in
+ dnl libc.
+ AC_CACHE_CHECK([for signbit compiler built-ins], [gl_cv_func_signbit_gcc],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#if __GNUC__ >= 4
+# define signbit(x) \
+ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
+ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
+ __builtin_signbitf (x))
+#else
+# error "signbit should be three compiler built-ins"
+#endif
+#include <string.h>
+]gl_SIGNBIT_TEST_PROGRAM
+])],
+ [gl_cv_func_signbit_gcc=yes],
+ [gl_cv_func_signbit_gcc=no],
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_signbit_gcc="guessing no" ;;
+ esac
+ ])
+ ])
+ dnl Use the compiler built-ins whenever possible, because they are more
+ dnl efficient than the system library functions (if they exist).
+ case "$gl_cv_func_signbit_gcc" in
+ *yes)
+ REPLACE_SIGNBIT_USING_GCC=1
+ ;;
+ *)
+ case "$gl_cv_func_signbit" in
+ *yes) ;;
+ *)
+ dnl REPLACE_SIGNBIT=1 makes sure the signbit[fdl] functions get built.
+ REPLACE_SIGNBIT=1
+ gl_FLOAT_SIGN_LOCATION
+ gl_DOUBLE_SIGN_LOCATION
+ gl_LONG_DOUBLE_SIGN_LOCATION
+ if test "$gl_cv_cc_float_signbit" = unknown; then
+ dnl Test whether copysignf() is declared.
+ AC_CHECK_DECLS([copysignf], , , [[#include <math.h>]])
+ if test "$ac_cv_have_decl_copysignf" = yes; then
+ dnl Test whether copysignf() can be used without libm.
+ AC_CACHE_CHECK([whether copysignf can be used without linking with libm],
+ [gl_cv_func_copysignf_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ float x, y;]],
+ [[return copysignf (x, y) < 0;]])],
+ [gl_cv_func_copysignf_no_libm=yes],
+ [gl_cv_func_copysignf_no_libm=no])
+ ])
+ if test $gl_cv_func_copysignf_no_libm = yes; then
+ AC_DEFINE([HAVE_COPYSIGNF_IN_LIBC], [1],
+ [Define if the copysignf function is declared in <math.h> and available in libc.])
+ fi
+ fi
+ fi
+ if test "$gl_cv_cc_double_signbit" = unknown; then
+ dnl Test whether copysign() is declared.
+ AC_CHECK_DECLS([copysign], , , [[#include <math.h>]])
+ if test "$ac_cv_have_decl_copysign" = yes; then
+ dnl Test whether copysign() can be used without libm.
+ AC_CACHE_CHECK([whether copysign can be used without linking with libm],
+ [gl_cv_func_copysign_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ double x, y;]],
+ [[return copysign (x, y) < 0;]])],
+ [gl_cv_func_copysign_no_libm=yes],
+ [gl_cv_func_copysign_no_libm=no])
+ ])
+ if test $gl_cv_func_copysign_no_libm = yes; then
+ AC_DEFINE([HAVE_COPYSIGN_IN_LIBC], [1],
+ [Define if the copysign function is declared in <math.h> and available in libc.])
+ fi
+ fi
+ fi
+ if test "$gl_cv_cc_long_double_signbit" = unknown; then
+ dnl Test whether copysignl() is declared.
+ AC_CHECK_DECLS([copysignl], , , [[#include <math.h>]])
+ if test "$ac_cv_have_decl_copysignl" = yes; then
+ dnl Test whether copysignl() can be used without libm.
+ AC_CACHE_CHECK([whether copysignl can be used without linking with libm],
+ [gl_cv_func_copysignl_no_libm],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>
+ long double x, y;]],
+ [[return copysignl (x, y) < 0;]])],
+ [gl_cv_func_copysignl_no_libm=yes],
+ [gl_cv_func_copysignl_no_libm=no])
+ ])
+ if test $gl_cv_func_copysignl_no_libm = yes; then
+ AC_DEFINE([HAVE_COPYSIGNL_IN_LIBC], [1],
+ [Define if the copysignl function is declared in <math.h> and available in libc.])
+ fi
+ fi
+ fi
+ ;;
+ esac
+ ;;
+ esac
+])
+
+AC_DEFUN([gl_SIGNBIT_TEST_PROGRAM], [[
+/* Global variables.
+ Needed because GCC 4 constant-folds __builtin_signbitl (literal)
+ but cannot constant-fold __builtin_signbitl (variable). */
+float vf;
+double vd;
+long double vl;
+int main ()
+{
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
+ So we use -p0f and -p0d instead. */
+float p0f = 0.0f;
+float m0f = -p0f;
+double p0d = 0.0;
+double m0d = -p0d;
+/* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
+ So we use another constant expression instead.
+ But that expression does not work on other platforms, such as when
+ cross-compiling to PowerPC on Mac OS X 10.5. */
+long double p0l = 0.0L;
+#if defined __hpux || defined __sgi
+long double m0l = -LDBL_MIN * LDBL_MIN;
+#else
+long double m0l = -p0l;
+#endif
+ int result = 0;
+ if (signbit (vf)) /* link check */
+ vf++;
+ {
+ float plus_inf = 1.0f / p0f;
+ float minus_inf = -1.0f / p0f;
+ if (!(!signbit (255.0f)
+ && signbit (-255.0f)
+ && !signbit (p0f)
+ && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f))
+ && !signbit (plus_inf)
+ && signbit (minus_inf)))
+ result |= 1;
+ }
+ if (signbit (vd)) /* link check */
+ vd++;
+ {
+ double plus_inf = 1.0 / p0d;
+ double minus_inf = -1.0 / p0d;
+ if (!(!signbit (255.0)
+ && signbit (-255.0)
+ && !signbit (p0d)
+ && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d))
+ && !signbit (plus_inf)
+ && signbit (minus_inf)))
+ result |= 2;
+ }
+ if (signbit (vl)) /* link check */
+ vl++;
+ {
+ long double plus_inf = 1.0L / p0l;
+ long double minus_inf = -1.0L / p0l;
+ if (signbit (255.0L))
+ result |= 4;
+ if (!signbit (-255.0L))
+ result |= 4;
+ if (signbit (p0l))
+ result |= 8;
+ if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)))
+ result |= 16;
+ if (signbit (plus_inf))
+ result |= 32;
+ if (!signbit (minus_inf))
+ result |= 64;
+ }
+ return result;
+}
+]])
+
+AC_DEFUN([gl_FLOAT_SIGN_LOCATION],
+[
+ gl_FLOATTYPE_SIGN_LOCATION([float], [gl_cv_cc_float_signbit], [f], [FLT])
+])
+
+AC_DEFUN([gl_DOUBLE_SIGN_LOCATION],
+[
+ gl_FLOATTYPE_SIGN_LOCATION([double], [gl_cv_cc_double_signbit], [], [DBL])
+])
+
+AC_DEFUN([gl_LONG_DOUBLE_SIGN_LOCATION],
+[
+ gl_FLOATTYPE_SIGN_LOCATION([long double], [gl_cv_cc_long_double_signbit], [L], [LDBL])
+])
+
+AC_DEFUN([gl_FLOATTYPE_SIGN_LOCATION],
+[
+ AC_CACHE_CHECK([where to find the sign bit in a '$1'],
+ [$2],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stddef.h>
+#include <stdio.h>
+#define NWORDS \
+ ((sizeof ($1) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { $1 value; unsigned int word[NWORDS]; }
+ memory_float;
+static memory_float plus = { 1.0$3 };
+static memory_float minus = { -1.0$3 };
+int main ()
+{
+ size_t j, k, i;
+ unsigned int m;
+ FILE *fp = fopen ("conftest.out", "w");
+ if (fp == NULL)
+ return 1;
+ /* Find the different bit. */
+ k = 0; m = 0;
+ for (j = 0; j < NWORDS; j++)
+ {
+ unsigned int x = plus.word[j] ^ minus.word[j];
+ if ((x & (x - 1)) || (x && m))
+ {
+ /* More than one bit difference. */
+ fprintf (fp, "unknown");
+ return 2;
+ }
+ if (x)
+ {
+ k = j;
+ m = x;
+ }
+ }
+ if (m == 0)
+ {
+ /* No difference. */
+ fprintf (fp, "unknown");
+ return 3;
+ }
+ /* Now m = plus.word[k] ^ ~minus.word[k]. */
+ if (plus.word[k] & ~minus.word[k])
+ {
+ /* Oh? The sign bit is set in the positive and cleared in the negative
+ numbers? */
+ fprintf (fp, "unknown");
+ return 4;
+ }
+ for (i = 0; ; i++)
+ if ((m >> i) & 1)
+ break;
+ fprintf (fp, "word %d bit %d", (int) k, (int) i);
+ if (fclose (fp) != 0)
+ return 5;
+ return 0;
+}
+ ]])],
+ [$2=`cat conftest.out`],
+ [$2="unknown"],
+ [
+ dnl When cross-compiling, we don't know. It depends on the
+ dnl ABI and compiler version. There are too many cases.
+ $2="unknown"
+ ])
+ rm -f conftest.out
+ ])
+ case "$]$2[" in
+ word*bit*)
+ word=`echo "$]$2[" | sed -e 's/word //' -e 's/ bit.*//'`
+ bit=`echo "$]$2[" | sed -e 's/word.*bit //'`
+ AC_DEFINE_UNQUOTED([$4][_SIGNBIT_WORD], [$word],
+ [Define as the word index where to find the sign of '$1'.])
+ AC_DEFINE_UNQUOTED([$4][_SIGNBIT_BIT], [$bit],
+ [Define as the bit index in the word where to find the sign of '$1'.])
+ ;;
+ esac
+])
+
+# Expands to code that defines a function signbitf(float).
+# It extracts the sign bit of a non-NaN value.
+AC_DEFUN([gl_FLOAT_SIGNBIT_CODE],
+[
+ gl_FLOATTYPE_SIGNBIT_CODE([float], [f], [f])
+])
+
+# Expands to code that defines a function signbitd(double).
+# It extracts the sign bit of a non-NaN value.
+AC_DEFUN([gl_DOUBLE_SIGNBIT_CODE],
+[
+ gl_FLOATTYPE_SIGNBIT_CODE([double], [d], [])
+])
+
+# Expands to code that defines a function signbitl(long double).
+# It extracts the sign bit of a non-NaN value.
+AC_DEFUN([gl_LONG_DOUBLE_SIGNBIT_CODE],
+[
+ gl_FLOATTYPE_SIGNBIT_CODE([long double], [l], [L])
+])
+
+AC_DEFUN([gl_FLOATTYPE_SIGNBIT_CODE],
+[[
+static int
+signbit$2 ($1 value)
+{
+ typedef union { $1 f; unsigned char b[sizeof ($1)]; } float_union;
+ static float_union plus_one = { 1.0$3 }; /* unused bits are zero here */
+ static float_union minus_one = { -1.0$3 }; /* unused bits are zero here */
+ /* Compute the sign bit mask as the XOR of plus_one and minus_one. */
+ float_union u;
+ unsigned int i;
+ u.f = value;
+ for (i = 0; i < sizeof ($1); i++)
+ if (u.b[i] & (plus_one.b[i] ^ minus_one.b[i]))
+ return 1;
+ return 0;
+}
+]])
diff --git a/gettext-tools/gnulib-m4/sigpipe.m4 b/gettext-tools/gnulib-m4/sigpipe.m4
index 9b1613b..5850090 100644
--- a/gettext-tools/gnulib-m4/sigpipe.m4
+++ b/gettext-tools/gnulib-m4/sigpipe.m4
@@ -1,5 +1,5 @@
# sigpipe.m4 serial 2
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sleep.m4 b/gettext-tools/gnulib-m4/sleep.m4
index 2f84da5..b789ac5 100644
--- a/gettext-tools/gnulib-m4/sleep.m4
+++ b/gettext-tools/gnulib-m4/sleep.m4
@@ -1,5 +1,5 @@
# sleep.m4 serial 7
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/snprintf.m4 b/gettext-tools/gnulib-m4/snprintf.m4
index 888db35..8ae7005 100644
--- a/gettext-tools/gnulib-m4/snprintf.m4
+++ b/gettext-tools/gnulib-m4/snprintf.m4
@@ -1,5 +1,5 @@
# snprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/spawn-pipe.m4 b/gettext-tools/gnulib-m4/spawn-pipe.m4
index cdc3841..f541e8e 100644
--- a/gettext-tools/gnulib-m4/spawn-pipe.m4
+++ b/gettext-tools/gnulib-m4/spawn-pipe.m4
@@ -1,5 +1,5 @@
# spawn-pipe.m4 serial 2
-dnl Copyright (C) 2004, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/spawn_h.m4 b/gettext-tools/gnulib-m4/spawn_h.m4
index 3eb835c..593b2df 100644
--- a/gettext-tools/gnulib-m4/spawn_h.m4
+++ b/gettext-tools/gnulib-m4/spawn_h.m4
@@ -1,5 +1,5 @@
# spawn_h.m4 serial 16
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/ssize_t.m4 b/gettext-tools/gnulib-m4/ssize_t.m4
index fbe1d06..25bd451 100644
--- a/gettext-tools/gnulib-m4/ssize_t.m4
+++ b/gettext-tools/gnulib-m4/ssize_t.m4
@@ -1,5 +1,5 @@
# ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/stat.m4 b/gettext-tools/gnulib-m4/stat.m4
index 1ae327b..d1b3768 100644
--- a/gettext-tools/gnulib-m4/stat.m4
+++ b/gettext-tools/gnulib-m4/stat.m4
@@ -1,6 +1,6 @@
# serial 11
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/stdalign.m4 b/gettext-tools/gnulib-m4/stdalign.m4
new file mode 100644
index 0000000..033b0d3
--- /dev/null
+++ b/gettext-tools/gnulib-m4/stdalign.m4
@@ -0,0 +1,57 @@
+# Check for stdalign.h that conforms to C11.
+
+dnl Copyright 2011-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Prepare for substituting <stdalign.h> if it is not supported.
+
+AC_DEFUN([gl_STDALIGN_H],
+[
+ AC_CACHE_CHECK([for working stdalign.h],
+ [gl_cv_header_working_stdalign_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdalign.h>
+ #include <stddef.h>
+
+ /* Test that alignof yields a result consistent with offsetof.
+ This catches GCC bug 52023
+ <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
+ #ifdef __cplusplus
+ template <class t> struct alignof_helper { char a; t b; };
+ # define ao(type) offsetof (alignof_helper<type>, b)
+ #else
+ # define ao(type) offsetof (struct { char a; type b; }, b)
+ #endif
+ char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
+ char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
+ char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
+
+ /* Test _Alignas only on platforms where gnulib can help. */
+ #if \
+ ((defined __cplusplus && 201103 <= __cplusplus) \
+ || (defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__) \
+ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+ || __ICC || 0x5110 <= __SUNPRO_C \
+ || 1300 <= _MSC_VER)
+ struct alignas_test { char c; char alignas (8) alignas_8; };
+ char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
+ ? 1 : -1];
+ #endif
+ ]])],
+ [gl_cv_header_working_stdalign_h=yes],
+ [gl_cv_header_working_stdalign_h=no])])
+
+ if test $gl_cv_header_working_stdalign_h = yes; then
+ STDALIGN_H=''
+ else
+ STDALIGN_H='stdalign.h'
+ fi
+
+ AC_SUBST([STDALIGN_H])
+ AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"])
+])
diff --git a/gettext-tools/gnulib-m4/stdarg.m4 b/gettext-tools/gnulib-m4/stdarg.m4
index 732aa31..d208eb3 100644
--- a/gettext-tools/gnulib-m4/stdarg.m4
+++ b/gettext-tools/gnulib-m4/stdarg.m4
@@ -1,5 +1,5 @@
# stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/stdbool.m4 b/gettext-tools/gnulib-m4/stdbool.m4
index 006ed52..7273b82 100644
--- a/gettext-tools/gnulib-m4/stdbool.m4
+++ b/gettext-tools/gnulib-m4/stdbool.m4
@@ -1,6 +1,6 @@
# Check for stdbool.h that conforms to C99.
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/stddef_h.m4 b/gettext-tools/gnulib-m4/stddef_h.m4
index c555e29..2310502 100644
--- a/gettext-tools/gnulib-m4/stddef_h.m4
+++ b/gettext-tools/gnulib-m4/stddef_h.m4
@@ -1,6 +1,6 @@
-dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
-# stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl A placeholder for <stddef.h>, for platforms that have issues.
+# stddef_h.m4 serial 5
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,6 +10,9 @@ AC_DEFUN([gl_STDDEF_H],
AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
AC_REQUIRE([gt_TYPE_WCHAR_T])
STDDEF_H=
+ AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h],
+ [[#include <stddef.h>
+ ]])
if test $gt_cv_c_wchar_t = no; then
HAVE_WCHAR_T=0
STDDEF_H=stddef.h
@@ -43,5 +46,6 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS],
[
dnl Assume proper GNU behavior unless another module says otherwise.
REPLACE_NULL=0; AC_SUBST([REPLACE_NULL])
+ HAVE_MAX_ALIGN_T=1; AC_SUBST([HAVE_MAX_ALIGN_T])
HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T])
])
diff --git a/gettext-tools/gnulib-m4/stdint.m4 b/gettext-tools/gnulib-m4/stdint.m4
index 1981d9d..4011a49 100644
--- a/gettext-tools/gnulib-m4/stdint.m4
+++ b/gettext-tools/gnulib-m4/stdint.m4
@@ -1,5 +1,5 @@
# stdint.m4 serial 43
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/stdio_h.m4 b/gettext-tools/gnulib-m4/stdio_h.m4
index d15913a..f60cc21 100644
--- a/gettext-tools/gnulib-m4/stdio_h.m4
+++ b/gettext-tools/gnulib-m4/stdio_h.m4
@@ -1,14 +1,41 @@
-# stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# stdio_h.m4 serial 46
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_STDIO_H],
[
+ dnl For __USE_MINGW_ANSI_STDIO
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
gl_NEXT_HEADERS([stdio.h])
+ dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
+ dnl inttypes.h behave like gnu instead of system; we must give our
+ dnl printf wrapper the right attribute to match.
+ AC_CACHE_CHECK([which flavor of printf attribute matches inttypes macros],
+ [gl_cv_func_printf_attribute_flavor],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #define __STDC_FORMAT_MACROS 1
+ #include <stdio.h>
+ #include <inttypes.h>
+ /* For non-mingw systems, compilation will trivially succeed.
+ For mingw, compilation will succeed for older mingw (system
+ printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+ #endif
+ ]])], [gl_cv_func_printf_attribute_flavor=system],
+ [gl_cv_func_printf_attribute_flavor=gnu])])
+ if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+ AC_DEFINE([GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU], [1],
+ [Define to 1 if printf and friends should be labeled with
+ attribute "__gnu_printf__" instead of "__printf__"])
+ fi
+
dnl No need to create extra modules for these functions. Everyone who uses
dnl <stdio.h> likely needs them.
GNULIB_FSCANF=1
diff --git a/gettext-tools/gnulib-m4/stdlib_h.m4 b/gettext-tools/gnulib-m4/stdlib_h.m4
index 86aff16..0b4c623 100644
--- a/gettext-tools/gnulib-m4/stdlib_h.m4
+++ b/gettext-tools/gnulib-m4/stdlib_h.m4
@@ -1,5 +1,5 @@
# stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/stpcpy.m4 b/gettext-tools/gnulib-m4/stpcpy.m4
index 966ba95..7e28bee 100644
--- a/gettext-tools/gnulib-m4/stpcpy.m4
+++ b/gettext-tools/gnulib-m4/stpcpy.m4
@@ -1,5 +1,5 @@
# stpcpy.m4 serial 8
-dnl Copyright (C) 2002, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/stpncpy.m4 b/gettext-tools/gnulib-m4/stpncpy.m4
index 7f1222c..7c4617b 100644
--- a/gettext-tools/gnulib-m4/stpncpy.m4
+++ b/gettext-tools/gnulib-m4/stpncpy.m4
@@ -1,5 +1,5 @@
# stpncpy.m4 serial 16
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/strchrnul.m4 b/gettext-tools/gnulib-m4/strchrnul.m4
index ca9c99c..8c3d4cf 100644
--- a/gettext-tools/gnulib-m4/strchrnul.m4
+++ b/gettext-tools/gnulib-m4/strchrnul.m4
@@ -1,5 +1,5 @@
# strchrnul.m4 serial 9
-dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/strcspn.m4 b/gettext-tools/gnulib-m4/strcspn.m4
index 08ffdae..912eb0f 100644
--- a/gettext-tools/gnulib-m4/strcspn.m4
+++ b/gettext-tools/gnulib-m4/strcspn.m4
@@ -1,5 +1,5 @@
# strcspn.m4 serial 4
-dnl Copyright (C) 2002-2003, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/strerror.m4 b/gettext-tools/gnulib-m4/strerror.m4
index 0763fe3..75a17f2 100644
--- a/gettext-tools/gnulib-m4/strerror.m4
+++ b/gettext-tools/gnulib-m4/strerror.m4
@@ -1,5 +1,5 @@
# strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/string_h.m4 b/gettext-tools/gnulib-m4/string_h.m4
index 64e683f..55d09ef 100644
--- a/gettext-tools/gnulib-m4/string_h.m4
+++ b/gettext-tools/gnulib-m4/string_h.m4
@@ -1,6 +1,6 @@
# Configure a GNU-like replacement for <string.h>.
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/strnlen.m4 b/gettext-tools/gnulib-m4/strnlen.m4
index 94317f8..5f85d3f 100644
--- a/gettext-tools/gnulib-m4/strnlen.m4
+++ b/gettext-tools/gnulib-m4/strnlen.m4
@@ -1,5 +1,5 @@
# strnlen.m4 serial 13
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/strpbrk.m4 b/gettext-tools/gnulib-m4/strpbrk.m4
index f2fc15e..1350a0c 100644
--- a/gettext-tools/gnulib-m4/strpbrk.m4
+++ b/gettext-tools/gnulib-m4/strpbrk.m4
@@ -1,5 +1,5 @@
# strpbrk.m4 serial 6
-dnl Copyright (C) 2002-2003, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/strstr.m4 b/gettext-tools/gnulib-m4/strstr.m4
index 33cd7a3..040c0b9 100644
--- a/gettext-tools/gnulib-m4/strstr.m4
+++ b/gettext-tools/gnulib-m4/strstr.m4
@@ -1,5 +1,5 @@
# strstr.m4 serial 16
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/strtol.m4 b/gettext-tools/gnulib-m4/strtol.m4
index 9dd4546..e100efd 100644
--- a/gettext-tools/gnulib-m4/strtol.m4
+++ b/gettext-tools/gnulib-m4/strtol.m4
@@ -1,5 +1,5 @@
# strtol.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/strtoul.m4 b/gettext-tools/gnulib-m4/strtoul.m4
index c7c0d24..5ae76dd 100644
--- a/gettext-tools/gnulib-m4/strtoul.m4
+++ b/gettext-tools/gnulib-m4/strtoul.m4
@@ -1,5 +1,5 @@
# strtoul.m4 serial 5
-dnl Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/symlink.m4 b/gettext-tools/gnulib-m4/symlink.m4
index de4924b..a59e2f0 100644
--- a/gettext-tools/gnulib-m4/symlink.m4
+++ b/gettext-tools/gnulib-m4/symlink.m4
@@ -1,7 +1,7 @@
# serial 6
# See if we need to provide symlink replacement.
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sys_select_h.m4 b/gettext-tools/gnulib-m4/sys_select_h.m4
index 1a502b4..5ec5919 100644
--- a/gettext-tools/gnulib-m4/sys_select_h.m4
+++ b/gettext-tools/gnulib-m4/sys_select_h.m4
@@ -1,5 +1,5 @@
# sys_select_h.m4 serial 20
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sys_socket_h.m4 b/gettext-tools/gnulib-m4/sys_socket_h.m4
index 114d828..eaeabe7 100644
--- a/gettext-tools/gnulib-m4/sys_socket_h.m4
+++ b/gettext-tools/gnulib-m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
# sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sys_stat_h.m4 b/gettext-tools/gnulib-m4/sys_stat_h.m4
index eaa7642..6c909e8 100644
--- a/gettext-tools/gnulib-m4/sys_stat_h.m4
+++ b/gettext-tools/gnulib-m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
# sys_stat_h.m4 serial 28 -*- Autoconf -*-
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sys_time_h.m4 b/gettext-tools/gnulib-m4/sys_time_h.m4
index 5c79300..28c8b1a 100644
--- a/gettext-tools/gnulib-m4/sys_time_h.m4
+++ b/gettext-tools/gnulib-m4/sys_time_h.m4
@@ -1,7 +1,7 @@
# Configure a replacement for <sys/time.h>.
# serial 8
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -105,6 +105,7 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS],
HAVE_GETTIMEOFDAY=1; AC_SUBST([HAVE_GETTIMEOFDAY])
HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL])
HAVE_SYS_TIME_H=1; AC_SUBST([HAVE_SYS_TIME_H])
+ HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T])
REPLACE_GETTIMEOFDAY=0; AC_SUBST([REPLACE_GETTIMEOFDAY])
REPLACE_STRUCT_TIMEVAL=0; AC_SUBST([REPLACE_STRUCT_TIMEVAL])
])
diff --git a/gettext-tools/gnulib-m4/sys_types_h.m4 b/gettext-tools/gnulib-m4/sys_types_h.m4
index 9748905..2232aec 100644
--- a/gettext-tools/gnulib-m4/sys_types_h.m4
+++ b/gettext-tools/gnulib-m4/sys_types_h.m4
@@ -1,5 +1,5 @@
# sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/sys_wait_h.m4 b/gettext-tools/gnulib-m4/sys_wait_h.m4
index a9676c2..ae0a3b3 100644
--- a/gettext-tools/gnulib-m4/sys_wait_h.m4
+++ b/gettext-tools/gnulib-m4/sys_wait_h.m4
@@ -1,5 +1,5 @@
# sys_wait_h.m4 serial 6
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/tempname.m4 b/gettext-tools/gnulib-m4/tempname.m4
index 1594e1f..b1694d6 100644
--- a/gettext-tools/gnulib-m4/tempname.m4
+++ b/gettext-tools/gnulib-m4/tempname.m4
@@ -1,6 +1,6 @@
#serial 5
-# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/term-ostream.m4 b/gettext-tools/gnulib-m4/term-ostream.m4
index 0fd8691..c227384 100644
--- a/gettext-tools/gnulib-m4/term-ostream.m4
+++ b/gettext-tools/gnulib-m4/term-ostream.m4
@@ -1,5 +1,5 @@
# term-ostream.m4 serial 1
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/terminfo.m4 b/gettext-tools/gnulib-m4/terminfo.m4
index 461137a..070e86e 100644
--- a/gettext-tools/gnulib-m4/terminfo.m4
+++ b/gettext-tools/gnulib-m4/terminfo.m4
@@ -1,5 +1,6 @@
# terminfo.m4 serial 3 (gettext-0.18)
-dnl Copyright (C) 2000-2002, 2006, 2008 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008, 2015 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/thread.m4 b/gettext-tools/gnulib-m4/thread.m4
index b6d602a..5945126 100644
--- a/gettext-tools/gnulib-m4/thread.m4
+++ b/gettext-tools/gnulib-m4/thread.m4
@@ -1,5 +1,5 @@
# thread.m4 serial 3
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/time_h.m4 b/gettext-tools/gnulib-m4/time_h.m4
index 9852778..754b469 100644
--- a/gettext-tools/gnulib-m4/time_h.m4
+++ b/gettext-tools/gnulib-m4/time_h.m4
@@ -1,8 +1,8 @@
# Configure a more-standard replacement for <time.h>.
-# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
-# serial 8
+# serial 9
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -26,7 +26,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
])
dnl Check whether 'struct timespec' is declared
-dnl in time.h, sys/time.h, or pthread.h.
+dnl in time.h, sys/time.h, pthread.h, or unistd.h.
AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
[
@@ -44,6 +44,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
TIME_H_DEFINES_STRUCT_TIMESPEC=0
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+ UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
TIME_H_DEFINES_STRUCT_TIMESPEC=1
else
@@ -70,12 +71,26 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
[gl_cv_sys_struct_timespec_in_pthread_h=no])])
if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ AC_CACHE_CHECK([for struct timespec in <unistd.h>],
+ [gl_cv_sys_struct_timespec_in_unistd_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [gl_cv_sys_struct_timespec_in_unistd_h=yes],
+ [gl_cv_sys_struct_timespec_in_unistd_h=no])])
+ if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+ UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+ fi
fi
fi
fi
AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+ AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC])
])
AC_DEFUN([gl_TIME_MODULE_INDICATOR],
@@ -94,6 +109,7 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME])
GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM])
GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R])
+ GNULIB_TIME_RZ=0; AC_SUBST([GNULIB_TIME_RZ])
dnl Assume proper GNU behavior unless another module says otherwise.
HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R])
HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP])
diff --git a/gettext-tools/gnulib-m4/tls.m4 b/gettext-tools/gnulib-m4/tls.m4
index ebd86ec..9c146bd 100644
--- a/gettext-tools/gnulib-m4/tls.m4
+++ b/gettext-tools/gnulib-m4/tls.m4
@@ -1,5 +1,5 @@
# tls.m4 serial 2 (gettext-0.18)
-dnl Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/tmpdir.m4 b/gettext-tools/gnulib-m4/tmpdir.m4
index 4cc3fe5..3f91881 100644
--- a/gettext-tools/gnulib-m4/tmpdir.m4
+++ b/gettext-tools/gnulib-m4/tmpdir.m4
@@ -1,5 +1,5 @@
# tmpdir.m4 serial 4
-dnl Copyright (C) 2001-2002, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2002, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/ungetc.m4 b/gettext-tools/gnulib-m4/ungetc.m4
index 6cdf625..2a34b30 100644
--- a/gettext-tools/gnulib-m4/ungetc.m4
+++ b/gettext-tools/gnulib-m4/ungetc.m4
@@ -1,5 +1,5 @@
# ungetc.m4 serial 3
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -29,8 +29,9 @@ AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS],
fclose (f); remove ("conftest.tmp");])],
[gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no],
[case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu*) gl_cv_func_ungetc_works="guessing yes" ;;
+ # Guess yes on glibc and bionic systems.
+ *-gnu*|*-android*)
+ gl_cv_func_ungetc_works="guessing yes" ;;
# If we don't know, assume the worst.
*) gl_cv_func_ungetc_works="guessing no" ;;
esac
diff --git a/gettext-tools/gnulib-m4/unionwait.m4 b/gettext-tools/gnulib-m4/unionwait.m4
index ea3d492..4ec7bf3 100644
--- a/gettext-tools/gnulib-m4/unionwait.m4
+++ b/gettext-tools/gnulib-m4/unionwait.m4
@@ -1,5 +1,5 @@
# unionwait.m4 serial 1 (gettext-0.11)
-dnl Copyright (C) 1993-2002 Free Software Foundation, Inc.
+dnl Copyright (C) 1993-2002, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/unistd-safer.m4 b/gettext-tools/gnulib-m4/unistd-safer.m4
index 96cb7df..006bba2 100644
--- a/gettext-tools/gnulib-m4/unistd-safer.m4
+++ b/gettext-tools/gnulib-m4/unistd-safer.m4
@@ -1,5 +1,5 @@
#serial 9
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/unistd_h.m4 b/gettext-tools/gnulib-m4/unistd_h.m4
index d7346a0..b3c581f 100644
--- a/gettext-tools/gnulib-m4/unistd_h.m4
+++ b/gettext-tools/gnulib-m4/unistd_h.m4
@@ -1,5 +1,5 @@
# unistd_h.m4 serial 68
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/unlocked-io.m4 b/gettext-tools/gnulib-m4/unlocked-io.m4
index 6a1dec2..e5a6f43 100644
--- a/gettext-tools/gnulib-m4/unlocked-io.m4
+++ b/gettext-tools/gnulib-m4/unlocked-io.m4
@@ -1,6 +1,6 @@
# unlocked-io.m4 serial 15
-# Copyright (C) 1998-2006, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2006, 2009-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/vasnprintf.m4 b/gettext-tools/gnulib-m4/vasnprintf.m4
index 106192e..4708f2b 100644
--- a/gettext-tools/gnulib-m4/vasnprintf.m4
+++ b/gettext-tools/gnulib-m4/vasnprintf.m4
@@ -1,5 +1,5 @@
# vasnprintf.m4 serial 36
-dnl Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/vasprintf.m4 b/gettext-tools/gnulib-m4/vasprintf.m4
index c76c99c..b785dc3 100644
--- a/gettext-tools/gnulib-m4/vasprintf.m4
+++ b/gettext-tools/gnulib-m4/vasprintf.m4
@@ -1,5 +1,5 @@
# vasprintf.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2006-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/gnulib-m4/vsnprintf.m4 b/gettext-tools/gnulib-m4/vsnprintf.m4
index 07f739d..28be6fd 100644
--- a/gettext-tools/gnulib-m4/vsnprintf.m4
+++ b/gettext-tools/gnulib-m4/vsnprintf.m4
@@ -1,5 +1,5 @@
# vsnprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wait-process.m4 b/gettext-tools/gnulib-m4/wait-process.m4
index 7de5967..4a8a3a1 100644
--- a/gettext-tools/gnulib-m4/wait-process.m4
+++ b/gettext-tools/gnulib-m4/wait-process.m4
@@ -1,5 +1,5 @@
# wait-process.m4 serial 6
-dnl Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/waitpid.m4 b/gettext-tools/gnulib-m4/waitpid.m4
index d5f04cb..535a708 100644
--- a/gettext-tools/gnulib-m4/waitpid.m4
+++ b/gettext-tools/gnulib-m4/waitpid.m4
@@ -1,5 +1,5 @@
# waitpid.m4 serial 2
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/warn-on-use.m4 b/gettext-tools/gnulib-m4/warn-on-use.m4
index cc690f8..1e98dc9 100644
--- a/gettext-tools/gnulib-m4/warn-on-use.m4
+++ b/gettext-tools/gnulib-m4/warn-on-use.m4
@@ -1,5 +1,5 @@
# warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wchar_h.m4 b/gettext-tools/gnulib-m4/wchar_h.m4
index 85db952..9d1b0f8 100644
--- a/gettext-tools/gnulib-m4/wchar_h.m4
+++ b/gettext-tools/gnulib-m4/wchar_h.m4
@@ -1,6 +1,6 @@
dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wcrtomb.m4 b/gettext-tools/gnulib-m4/wcrtomb.m4
index 844ef6a..7e3fe3f 100644
--- a/gettext-tools/gnulib-m4/wcrtomb.m4
+++ b/gettext-tools/gnulib-m4/wcrtomb.m4
@@ -1,5 +1,5 @@
# wcrtomb.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wctob.m4 b/gettext-tools/gnulib-m4/wctob.m4
index 41f57af..501dc4a 100644
--- a/gettext-tools/gnulib-m4/wctob.m4
+++ b/gettext-tools/gnulib-m4/wctob.m4
@@ -1,5 +1,5 @@
# wctob.m4 serial 10
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wctomb.m4 b/gettext-tools/gnulib-m4/wctomb.m4
index 3b4ff79..05c6685 100644
--- a/gettext-tools/gnulib-m4/wctomb.m4
+++ b/gettext-tools/gnulib-m4/wctomb.m4
@@ -1,5 +1,5 @@
# wctomb.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wctype_h.m4 b/gettext-tools/gnulib-m4/wctype_h.m4
index 3fac0ee..95a4705 100644
--- a/gettext-tools/gnulib-m4/wctype_h.m4
+++ b/gettext-tools/gnulib-m4/wctype_h.m4
@@ -2,7 +2,7 @@
dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/wcwidth.m4 b/gettext-tools/gnulib-m4/wcwidth.m4
index f00a6cc..b11dc8d 100644
--- a/gettext-tools/gnulib-m4/wcwidth.m4
+++ b/gettext-tools/gnulib-m4/wcwidth.m4
@@ -1,5 +1,5 @@
# wcwidth.m4 serial 23
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/write.m4 b/gettext-tools/gnulib-m4/write.m4
index 820dd4f..ce7042e 100644
--- a/gettext-tools/gnulib-m4/write.m4
+++ b/gettext-tools/gnulib-m4/write.m4
@@ -1,5 +1,5 @@
# write.m4 serial 5
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/xvasprintf.m4 b/gettext-tools/gnulib-m4/xvasprintf.m4
index c2d3ec7..715609a 100644
--- a/gettext-tools/gnulib-m4/xvasprintf.m4
+++ b/gettext-tools/gnulib-m4/xvasprintf.m4
@@ -1,5 +1,5 @@
# xvasprintf.m4 serial 2
-dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-m4/yield.m4 b/gettext-tools/gnulib-m4/yield.m4
index e9442a6..4f24582 100644
--- a/gettext-tools/gnulib-m4/yield.m4
+++ b/gettext-tools/gnulib-m4/yield.m4
@@ -1,5 +1,5 @@
# yield.m4 serial 2
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/gnulib-tests/ChangeLog b/gettext-tools/gnulib-tests/ChangeLog.0
index 74a73bc..f2e1c64 100644
--- a/gettext-tools/gnulib-tests/ChangeLog
+++ b/gettext-tools/gnulib-tests/ChangeLog.0
@@ -1,3 +1,11 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/gnulib-tests/Makefile.am b/gettext-tools/gnulib-tests/Makefile.am
index 4cd754d..c94eb22 100644
--- a/gettext-tools/gnulib-tests/Makefile.am
+++ b/gettext-tools/gnulib-tests/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-tools/gnulib-tests subdirectory of GNU gettext
-## Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
+## Copyright (C) 2007, 2009-2010, 2015 Free Software Foundation, Inc.
##
## 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
diff --git a/gettext-tools/gnulib-tests/Makefile.gnulib b/gettext-tools/gnulib-tests/Makefile.gnulib
index 4e86d1e..fe5d64b 100644
--- a/gettext-tools/gnulib-tests/Makefile.gnulib
+++ b/gettext-tools/gnulib-tests/Makefile.gnulib
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -61,16 +61,14 @@ TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
## begin gnulib module acl-tests
TESTS += \
- test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh \
test-set-mode-acl.sh test-set-mode-acl-1.sh test-set-mode-acl-2.sh \
test-copy-acl.sh test-copy-acl-1.sh test-copy-acl-2.sh
TESTS_ENVIRONMENT += USE_ACL=$(USE_ACL)
-check_PROGRAMS += test-file-has-acl test-set-mode-acl test-copy-acl test-sameacls
-test_file_has_acl_LDADD = $(LDADD) $(LIB_ACL)
+check_PROGRAMS += test-set-mode-acl test-copy-acl test-sameacls
test_set_mode_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
test_copy_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
test_sameacls_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
-EXTRA_DIST += test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh test-set-mode-acl.sh test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh test-copy-acl-2.sh test-file-has-acl.c test-set-mode-acl.c test-copy-acl.c test-sameacls.c macros.h
+EXTRA_DIST += test-set-mode-acl.sh test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh test-copy-acl-2.sh test-set-mode-acl.c test-copy-acl.c test-sameacls.c macros.h
## end gnulib module acl-tests
@@ -167,7 +165,6 @@ EXTRA_DIST += test-byteswap.c macros.h
TESTS += test-c-ctype
check_PROGRAMS += test-c-ctype
-
EXTRA_DIST += test-c-ctype.c macros.h
## end gnulib module c-ctype-tests
@@ -233,6 +230,41 @@ EXTRA_DIST += test-copy-file.sh test-copy-file-1.sh test-copy-file-2.sh test-cop
## end gnulib module copy-file-tests
+## begin gnulib module ctype
+
+BUILT_SOURCES += ctype.h
+
+# We need the following in order to create <ctype.h> when the system
+# doesn't have one that works with the given compiler.
+ctype.h: ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \
+ -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \
+ -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/ctype.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += ctype.h ctype.h-t
+
+EXTRA_DIST += ctype.in.h
+
+## end gnulib module ctype
+
+## begin gnulib module ctype-tests
+
+TESTS += test-ctype
+check_PROGRAMS += test-ctype
+EXTRA_DIST += test-ctype.c
+
+## end gnulib module ctype-tests
+
## begin gnulib module dirent-tests
TESTS += test-dirent
@@ -284,6 +316,16 @@ EXTRA_DIST += test-errno.c
## end gnulib module errno-tests
+## begin gnulib module fabs-tests
+
+TESTS += test-fabs
+check_PROGRAMS += test-fabs
+test_fabs_SOURCES = test-fabs.c randomd.c
+test_fabs_LDADD = $(LDADD) @FABS_LIBM@
+EXTRA_DIST += test-fabs.c test-fabs.h signature.h minus-zero.h macros.h randomd.c
+
+## end gnulib module fabs-tests
+
## begin gnulib module fcntl-h-tests
TESTS += test-fcntl-h
@@ -325,6 +367,23 @@ EXTRA_DIST += test-fgetc.c signature.h macros.h
## end gnulib module fgetc-tests
+## begin gnulib module file-has-acl
+
+libtests_a_SOURCES += file-has-acl.c
+
+## end gnulib module file-has-acl
+
+## begin gnulib module file-has-acl-tests
+
+TESTS += \
+ test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh
+TESTS_ENVIRONMENT += USE_ACL=$(USE_ACL)
+check_PROGRAMS += test-file-has-acl
+test_file_has_acl_LDADD = $(LDADD) $(LIB_HAS_ACL)
+EXTRA_DIST += test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh test-file-has-acl.c macros.h
+
+## end gnulib module file-has-acl-tests
+
## begin gnulib module float-tests
TESTS += test-float
@@ -592,6 +651,82 @@ EXTRA_DIST += test-inttypes.c
## end gnulib module inttypes-tests
+## begin gnulib module isinf-tests
+
+TESTS += test-isinf
+check_PROGRAMS += test-isinf
+test_isinf_LDADD = $(LDADD) @ISINF_LIBM@
+EXTRA_DIST += test-isinf.c infinity.h macros.h
+
+## end gnulib module isinf-tests
+
+## begin gnulib module isnan-tests
+
+TESTS += test-isnan
+check_PROGRAMS += test-isnan
+test_isnan_LDADD = $(LDADD) @ISNAN_LIBM@
+
+EXTRA_DIST += test-isnan.c minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnan-tests
+
+## begin gnulib module isnand-nolibm-tests
+
+TESTS += test-isnand-nolibm
+check_PROGRAMS += test-isnand-nolibm
+
+EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnand-nolibm-tests
+
+## begin gnulib module isnand-tests
+
+TESTS += test-isnand
+check_PROGRAMS += test-isnand
+test_isnand_LDADD = $(LDADD) @ISNAND_LIBM@
+
+EXTRA_DIST += test-isnand.c test-isnand.h minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnand-tests
+
+## begin gnulib module isnanf-nolibm-tests
+
+TESTS += test-isnanf-nolibm
+check_PROGRAMS += test-isnanf-nolibm
+
+EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnanf-nolibm-tests
+
+## begin gnulib module isnanf-tests
+
+TESTS += test-isnanf
+check_PROGRAMS += test-isnanf
+test_isnanf_LDADD = $(LDADD) @ISNANF_LIBM@
+
+EXTRA_DIST += test-isnanf.c test-isnanf.h minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnanf-tests
+
+## begin gnulib module isnanl-nolibm-tests
+
+TESTS += test-isnanl-nolibm
+check_PROGRAMS += test-isnanl-nolibm
+
+EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnanl-nolibm-tests
+
+## begin gnulib module isnanl-tests
+
+TESTS += test-isnanl
+check_PROGRAMS += test-isnanl
+test_isnanl_LDADD = $(LDADD) @ISNANL_LIBM@
+
+EXTRA_DIST += test-isnanl.c test-isnanl.h minus-zero.h infinity.h nan.h macros.h
+
+## end gnulib module isnanl-tests
+
## begin gnulib module iswblank-tests
TESTS += test-iswblank
@@ -600,6 +735,14 @@ EXTRA_DIST += test-iswblank.c macros.h
## end gnulib module iswblank-tests
+## begin gnulib module langinfo-tests
+
+TESTS += test-langinfo
+check_PROGRAMS += test-langinfo
+EXTRA_DIST += test-langinfo.c
+
+## end gnulib module langinfo-tests
+
## begin gnulib module linkedhash-list-tests
TESTS += test-linkedhash_list
@@ -635,6 +778,16 @@ EXTRA_DIST += test-lock.c
## end gnulib module lock-tests
+## begin gnulib module log10-tests
+
+TESTS += test-log10
+check_PROGRAMS += test-log10
+test_log10_SOURCES = test-log10.c randomd.c
+test_log10_LDADD = $(LDADD) @LOG10_LIBM@
+EXTRA_DIST += test-log10.c test-log10.h minus-zero.h signature.h macros.h randomd.c
+
+## end gnulib module log10-tests
+
## begin gnulib module lseek
@@ -669,6 +822,14 @@ EXTRA_DIST += test-malloca.c
## end gnulib module malloca-tests
+## begin gnulib module math-tests
+
+TESTS += test-math
+check_PROGRAMS += test-math
+EXTRA_DIST += test-math.c macros.h
+
+## end gnulib module math-tests
+
## begin gnulib module mbrtowc-tests
TESTS += \
@@ -841,6 +1002,15 @@ EXTRA_DIST += test-posix_spawn1.c test-posix_spawn1.in.sh test-posix_spawn2.c te
## end gnulib module posix_spawnp-tests
+## begin gnulib module pow-tests
+
+TESTS += test-pow
+check_PROGRAMS += test-pow
+test_pow_LDADD = $(LDADD) @POW_LIBM@
+EXTRA_DIST += test-pow.c signature.h macros.h
+
+## end gnulib module pow-tests
+
## begin gnulib module putenv
@@ -976,6 +1146,15 @@ EXTRA_DIST += test-signal-h.c
## end gnulib module signal-h-tests
+## begin gnulib module signbit-tests
+
+TESTS += test-signbit
+check_PROGRAMS += test-signbit
+
+EXTRA_DIST += test-signbit.c minus-zero.h infinity.h macros.h
+
+## end gnulib module signbit-tests
+
## begin gnulib module sigpipe-tests
TESTS += test-sigpipe.sh
@@ -1155,6 +1334,37 @@ EXTRA_DIST += test-stat.h test-stat.c signature.h macros.h
## end gnulib module stat-tests
+## begin gnulib module stdalign
+
+BUILT_SOURCES += $(STDALIGN_H)
+
+# We need the following in order to create <stdalign.h> when the system
+# doesn't have one that works.
+if GL_GENERATE_STDALIGN_H
+stdalign.h: stdalign.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/stdalign.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdalign.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdalign.h stdalign.h-t
+
+EXTRA_DIST += stdalign.in.h
+
+## end gnulib module stdalign
+
+## begin gnulib module stdalign-tests
+
+TESTS += test-stdalign
+check_PROGRAMS += test-stdalign
+EXTRA_DIST += test-stdalign.c macros.h
+
+## end gnulib module stdalign-tests
+
## begin gnulib module stdbool-tests
TESTS += test-stdbool
@@ -1344,7 +1554,7 @@ TESTS += test-term-ostream-xterm
TESTS_ENVIRONMENT += srcdir='$(srcdir)'
check_PROGRAMS += test-term-ostream
test_term_ostream_LDADD = $(LIBTERMCAP) $(LDADD)
-EXTRA_DIST += test-term-ostream.c test-term-ostream-xterm test-term-ostream-xterm-r6.out test-term-ostream-xterm-xf86-v32.out test-term-ostream-xterm-basic.out test-term-ostream-xterm-basic-italic.out test-term-ostream-xterm-8bit.out test-term-ostream-xterm-linux-debian.out test-term-ostream-xterm-linux-mandriva.out test-term-ostream-xterm-netbsd3.out test-term-ostream-xterm-solaris10.out test-term-ostream-xterm-aix51.out test-term-ostream-xterm-osf51.out test-term-ostream-xterm-irix65.out test-term-ostream-xterm-mingw.out test-term-ostream-xterm-16color.out test-term-ostream-xterm-88color.out test-term-ostream-xterm-256color.out
+EXTRA_DIST += test-term-ostream.c test-term-ostream-xterm test-term-ostream-xterm-r6.out test-term-ostream-xterm-xf86-v32.out test-term-ostream-xterm-basic.out test-term-ostream-xterm-basic-italic.out test-term-ostream-xterm-freebsd101.out test-term-ostream-xterm-8bit.out test-term-ostream-xterm-linux-debian.out test-term-ostream-xterm-linux-mandriva.out test-term-ostream-xterm-netbsd3.out test-term-ostream-xterm-solaris10.out test-term-ostream-xterm-aix51.out test-term-ostream-xterm-osf51.out test-term-ostream-xterm-irix65.out test-term-ostream-xterm-mingw.out test-term-ostream-xterm-16color.out test-term-ostream-xterm-88color.out test-term-ostream-xterm-256color.out
## end gnulib module term-ostream-tests
@@ -1401,6 +1611,16 @@ EXTRA_DIST += uniconv/test-u8-conv-from-enc.c macros.h
## end gnulib module uniconv/u8-conv-from-enc-tests
+## begin gnulib module unictype/ctype-space-tests
+
+TESTS += test-ctype_space
+check_PROGRAMS += test-ctype_space
+test_ctype_space_SOURCES = unictype/test-ctype_space.c
+test_ctype_space_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unictype/test-ctype_space.c unictype/test-predicate-part1.h unictype/test-predicate-part2.h macros.h
+
+## end gnulib module unictype/ctype-space-tests
+
## begin gnulib module unilbrk/u8-width-linebreaks-tests
TESTS += test-u8-width-linebreaks
@@ -1413,14 +1633,16 @@ EXTRA_DIST += unilbrk/test-u8-width-linebreaks.c macros.h
## begin gnulib module uniname/uniname-tests
+# Unlike other libunistring modules, this test passes only when the
+# same version of uniname/uniname.c is used (even if it is newer).
if LIBUNISTRING_COMPILE_UNINAME_UNINAME
TESTS += uniname/test-uninames.sh
check_PROGRAMS += test-uninames
test_uninames_SOURCES = uniname/test-uninames.c
-test_uninames_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@
+test_uninames_LDADD = $(LDADD) @LIBINTL@
endif
-EXTRA_DIST += uniname/test-uninames.sh uniname/test-uninames.c uniname/UnicodeDataNames.txt
+EXTRA_DIST += uniname/test-uninames.sh uniname/test-uninames.c uniname/UnicodeData.txt uniname/HangulSyllableNames.txt uniname/NameAliases.txt
## end gnulib module uniname/uniname-tests
diff --git a/gettext-tools/gnulib-tests/Makefile.in b/gettext-tools/gnulib-tests/Makefile.in
index 50eecda..d369eeb 100644
--- a/gettext-tools/gnulib-tests/Makefile.in
+++ b/gettext-tools/gnulib-tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -39,7 +39,17 @@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -101,14 +111,9 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/../build-aux/mkinstalldirs \
- $(top_srcdir)/../build-aux/depcomp $(noinst_HEADERS) \
- $(top_srcdir)/../build-aux/test-driver ChangeLog
-TESTS = test-file-has-acl.sh test-file-has-acl-1.sh \
- test-file-has-acl-2.sh test-set-mode-acl.sh \
- test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh \
- test-copy-acl-1.sh test-copy-acl-2.sh test-alignof$(EXEEXT) \
+TESTS = test-set-mode-acl.sh test-set-mode-acl-1.sh \
+ test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh \
+ test-copy-acl-2.sh test-alignof$(EXEEXT) \
test-alloca-opt$(EXEEXT) test-areadlink$(EXEEXT) \
test-argmatch$(EXEEXT) test-array_list$(EXEEXT) test-atexit.sh \
test-binary-io.sh test-btowc1.sh test-btowc2.sh \
@@ -116,44 +121,54 @@ TESTS = test-file-has-acl.sh test-file-has-acl-1.sh \
test-c-strcasestr$(EXEEXT) test-c-strstr$(EXEEXT) \
test-canonicalize-lgpl$(EXEEXT) test-cloexec$(EXEEXT) \
test-close$(EXEEXT) test-copy-file.sh test-copy-file-1.sh \
- test-copy-file-2.sh test-dirent$(EXEEXT) test-dup$(EXEEXT) \
- test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
- test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \
- test-fgetc$(EXEEXT) test-float$(EXEEXT) test-fnmatch$(EXEEXT) \
- test-fopen$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \
- test-fstat$(EXEEXT) test-fstrcmp$(EXEEXT) test-ftell.sh \
- test-ftell2.sh test-ftell3$(EXEEXT) test-ftello.sh \
- test-ftello2.sh test-ftello3$(EXEEXT) test-ftello4.sh \
- test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \
+ test-copy-file-2.sh test-ctype$(EXEEXT) test-dirent$(EXEEXT) \
+ test-dup$(EXEEXT) test-dup2$(EXEEXT) test-environ$(EXEEXT) \
+ test-errno$(EXEEXT) test-fabs$(EXEEXT) test-fcntl-h$(EXEEXT) \
+ test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) \
+ test-file-has-acl.sh test-file-has-acl-1.sh \
+ test-file-has-acl-2.sh test-float$(EXEEXT) \
+ test-fnmatch$(EXEEXT) test-fopen$(EXEEXT) test-fputc$(EXEEXT) \
+ test-fread$(EXEEXT) test-fstat$(EXEEXT) test-fstrcmp$(EXEEXT) \
+ test-ftell.sh test-ftell2.sh test-ftell3$(EXEEXT) \
+ test-ftello.sh test-ftello2.sh test-ftello3$(EXEEXT) \
+ test-ftello4.sh test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \
test-getdelim$(EXEEXT) test-getdtablesize$(EXEEXT) \
test-getline$(EXEEXT) test-getopt$(EXEEXT) \
test-gettimeofday$(EXEEXT) test-iconv-h$(EXEEXT) \
test-iconv$(EXEEXT) test-ignore-value$(EXEEXT) \
test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
- test-iswblank$(EXEEXT) test-linkedhash_list$(EXEEXT) \
- test-locale$(EXEEXT) test-localename$(EXEEXT) \
- test-lock$(EXEEXT) test-lseek.sh test-lstat$(EXEEXT) \
- test-malloca$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \
- test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc-w32-1.sh \
- test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
- test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbsinit.sh \
- test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh \
- test-mbsrtowcs4.sh test-mbsstr1$(EXEEXT) test-mbsstr2.sh \
- test-mbsstr3.sh test-memchr$(EXEEXT) test-open$(EXEEXT) \
- test-pathmax$(EXEEXT) test-pipe-filter-ii1.sh \
- test-pipe-filter-ii2.sh test-pipe2$(EXEEXT) \
+ test-isinf$(EXEEXT) test-isnan$(EXEEXT) \
+ test-isnand-nolibm$(EXEEXT) test-isnand$(EXEEXT) \
+ test-isnanf-nolibm$(EXEEXT) test-isnanf$(EXEEXT) \
+ test-isnanl-nolibm$(EXEEXT) test-isnanl$(EXEEXT) \
+ test-iswblank$(EXEEXT) test-langinfo$(EXEEXT) \
+ test-linkedhash_list$(EXEEXT) test-locale$(EXEEXT) \
+ test-localename$(EXEEXT) test-lock$(EXEEXT) \
+ test-log10$(EXEEXT) test-lseek.sh test-lstat$(EXEEXT) \
+ test-malloca$(EXEEXT) test-math$(EXEEXT) test-mbrtowc1.sh \
+ test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \
+ test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
+ test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
+ test-mbrtowc-w32-5.sh test-mbsinit.sh test-mbsrtowcs1.sh \
+ test-mbsrtowcs2.sh test-mbsrtowcs3.sh test-mbsrtowcs4.sh \
+ test-mbsstr1$(EXEEXT) test-mbsstr2.sh test-mbsstr3.sh \
+ test-memchr$(EXEEXT) test-open$(EXEEXT) test-pathmax$(EXEEXT) \
+ test-pipe-filter-ii1.sh test-pipe-filter-ii2.sh \
+ test-pipe2$(EXEEXT) \
test-posix_spawn_file_actions_addclose$(EXEEXT) \
test-posix_spawn_file_actions_adddup2$(EXEEXT) \
test-posix_spawn_file_actions_addopen$(EXEEXT) $(am__EXEEXT_1) \
- test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \
- test-rawmemchr$(EXEEXT) test-read-file$(EXEEXT) \
- test-read$(EXEEXT) test-readlink$(EXEEXT) test-rmdir$(EXEEXT) \
- test-sched$(EXEEXT) test-setenv$(EXEEXT) test-setlocale1.sh \
- test-setlocale2.sh test-sh-quote$(EXEEXT) \
- test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) test-sigpipe.sh \
+ test-pow$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+ test-raise$(EXEEXT) test-rawmemchr$(EXEEXT) \
+ test-read-file$(EXEEXT) test-read$(EXEEXT) \
+ test-readlink$(EXEEXT) test-rmdir$(EXEEXT) test-sched$(EXEEXT) \
+ test-setenv$(EXEEXT) test-setlocale1.sh test-setlocale2.sh \
+ test-sh-quote$(EXEEXT) test-sigaction$(EXEEXT) \
+ test-signal-h$(EXEEXT) test-signbit$(EXEEXT) test-sigpipe.sh \
test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
test-snprintf$(EXEEXT) test-spawn-pipe.sh test-spawn$(EXEEXT) \
- test-stat$(EXEEXT) test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
+ test-stat$(EXEEXT) test-stdalign$(EXEEXT) \
+ test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \
test-strchrnul$(EXEEXT) test-strerror$(EXEEXT) \
test-striconv$(EXEEXT) test-striconveh$(EXEEXT) \
@@ -166,8 +181,8 @@ TESTS = test-file-has-acl.sh test-file-has-acl-1.sh \
test-term-ostream-xterm test-init.sh test-thread_self$(EXEEXT) \
test-thread_create$(EXEEXT) test-time$(EXEEXT) \
test-tls$(EXEEXT) test-u8-conv-from-enc$(EXEEXT) \
- test-u8-width-linebreaks$(EXEEXT) $(am__append_5) \
- test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
+ test-ctype_space$(EXEEXT) test-u8-width-linebreaks$(EXEEXT) \
+ $(am__append_5) test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
test-u16-mbtouc$(EXEEXT) test-u8-check$(EXEEXT) \
test-u8-cmp$(EXEEXT) test-u8-mblen$(EXEEXT) \
test-u8-mbtoucr$(EXEEXT) test-u8-prev$(EXEEXT) \
@@ -182,35 +197,40 @@ TESTS = test-file-has-acl.sh test-file-has-acl-1.sh \
test-xvasprintf$(EXEEXT)
XFAIL_TESTS =
noinst_PROGRAMS =
-check_PROGRAMS = test-file-has-acl$(EXEEXT) test-set-mode-acl$(EXEEXT) \
- test-copy-acl$(EXEEXT) test-sameacls$(EXEEXT) \
- test-alignof$(EXEEXT) test-alloca-opt$(EXEEXT) \
- test-areadlink$(EXEEXT) test-argmatch$(EXEEXT) \
- test-array_list$(EXEEXT) test-atexit$(EXEEXT) \
- test-binary-io$(EXEEXT) test-btowc$(EXEEXT) \
- test-byteswap$(EXEEXT) test-c-ctype$(EXEEXT) \
- test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \
- test-c-strcasestr$(EXEEXT) test-c-strstr$(EXEEXT) \
- test-canonicalize-lgpl$(EXEEXT) test-cloexec$(EXEEXT) \
- test-close$(EXEEXT) test-copy-file$(EXEEXT) \
+check_PROGRAMS = test-set-mode-acl$(EXEEXT) test-copy-acl$(EXEEXT) \
+ test-sameacls$(EXEEXT) test-alignof$(EXEEXT) \
+ test-alloca-opt$(EXEEXT) test-areadlink$(EXEEXT) \
+ test-argmatch$(EXEEXT) test-array_list$(EXEEXT) \
+ test-atexit$(EXEEXT) test-binary-io$(EXEEXT) \
+ test-btowc$(EXEEXT) test-byteswap$(EXEEXT) \
+ test-c-ctype$(EXEEXT) test-c-strcasecmp$(EXEEXT) \
+ test-c-strncasecmp$(EXEEXT) test-c-strcasestr$(EXEEXT) \
+ test-c-strstr$(EXEEXT) test-canonicalize-lgpl$(EXEEXT) \
+ test-cloexec$(EXEEXT) test-close$(EXEEXT) \
+ test-copy-file$(EXEEXT) test-ctype$(EXEEXT) \
test-dirent$(EXEEXT) test-dup$(EXEEXT) test-dup2$(EXEEXT) \
- test-environ$(EXEEXT) test-errno$(EXEEXT) \
+ test-environ$(EXEEXT) test-errno$(EXEEXT) test-fabs$(EXEEXT) \
test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) \
- test-fgetc$(EXEEXT) test-float$(EXEEXT) test-fnmatch$(EXEEXT) \
- test-fopen$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \
- test-fstat$(EXEEXT) test-fstrcmp$(EXEEXT) test-ftell$(EXEEXT) \
- test-ftell3$(EXEEXT) test-ftello$(EXEEXT) \
- test-ftello3$(EXEEXT) test-ftello4$(EXEEXT) \
- test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \
- test-getdelim$(EXEEXT) test-getdtablesize$(EXEEXT) \
- test-getline$(EXEEXT) test-getopt$(EXEEXT) \
- test-gettimeofday$(EXEEXT) test-iconv-h$(EXEEXT) \
- test-iconv$(EXEEXT) test-ignore-value$(EXEEXT) \
- test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
- test-iswblank$(EXEEXT) test-linkedhash_list$(EXEEXT) \
- test-locale$(EXEEXT) test-localename$(EXEEXT) \
- test-lock$(EXEEXT) test-lseek$(EXEEXT) test-lstat$(EXEEXT) \
- test-malloca$(EXEEXT) test-mbrtowc$(EXEEXT) \
+ test-fgetc$(EXEEXT) test-file-has-acl$(EXEEXT) \
+ test-float$(EXEEXT) test-fnmatch$(EXEEXT) test-fopen$(EXEEXT) \
+ test-fputc$(EXEEXT) test-fread$(EXEEXT) test-fstat$(EXEEXT) \
+ test-fstrcmp$(EXEEXT) test-ftell$(EXEEXT) test-ftell3$(EXEEXT) \
+ test-ftello$(EXEEXT) test-ftello3$(EXEEXT) \
+ test-ftello4$(EXEEXT) test-fwrite$(EXEEXT) \
+ test-getcwd-lgpl$(EXEEXT) test-getdelim$(EXEEXT) \
+ test-getdtablesize$(EXEEXT) test-getline$(EXEEXT) \
+ test-getopt$(EXEEXT) test-gettimeofday$(EXEEXT) \
+ test-iconv-h$(EXEEXT) test-iconv$(EXEEXT) \
+ test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
+ test-inttypes$(EXEEXT) test-isinf$(EXEEXT) test-isnan$(EXEEXT) \
+ test-isnand-nolibm$(EXEEXT) test-isnand$(EXEEXT) \
+ test-isnanf-nolibm$(EXEEXT) test-isnanf$(EXEEXT) \
+ test-isnanl-nolibm$(EXEEXT) test-isnanl$(EXEEXT) \
+ test-iswblank$(EXEEXT) test-langinfo$(EXEEXT) \
+ test-linkedhash_list$(EXEEXT) test-locale$(EXEEXT) \
+ test-localename$(EXEEXT) test-lock$(EXEEXT) \
+ test-log10$(EXEEXT) test-lseek$(EXEEXT) test-lstat$(EXEEXT) \
+ test-malloca$(EXEEXT) test-math$(EXEEXT) test-mbrtowc$(EXEEXT) \
test-mbrtowc-w32$(EXEEXT) test-mbsinit$(EXEEXT) \
test-mbsrtowcs$(EXEEXT) test-mbsstr1$(EXEEXT) \
test-mbsstr2$(EXEEXT) test-mbsstr3$(EXEEXT) \
@@ -221,17 +241,19 @@ check_PROGRAMS = test-file-has-acl$(EXEEXT) test-set-mode-acl$(EXEEXT) \
test-posix_spawn_file_actions_addclose$(EXEEXT) \
test-posix_spawn_file_actions_adddup2$(EXEEXT) \
test-posix_spawn_file_actions_addopen$(EXEEXT) $(am__EXEEXT_1) \
- test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \
- test-rawmemchr$(EXEEXT) test-read-file$(EXEEXT) \
- test-read$(EXEEXT) test-readlink$(EXEEXT) test-rmdir$(EXEEXT) \
- test-sched$(EXEEXT) test-setenv$(EXEEXT) \
- test-setlocale1$(EXEEXT) test-setlocale2$(EXEEXT) \
- test-sh-quote$(EXEEXT) test-sigaction$(EXEEXT) \
- test-signal-h$(EXEEXT) test-sigpipe$(EXEEXT) \
+ test-pow$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+ test-raise$(EXEEXT) test-rawmemchr$(EXEEXT) \
+ test-read-file$(EXEEXT) test-read$(EXEEXT) \
+ test-readlink$(EXEEXT) test-rmdir$(EXEEXT) test-sched$(EXEEXT) \
+ test-setenv$(EXEEXT) test-setlocale1$(EXEEXT) \
+ test-setlocale2$(EXEEXT) test-sh-quote$(EXEEXT) \
+ test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \
+ test-signbit$(EXEEXT) test-sigpipe$(EXEEXT) \
test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
test-snprintf$(EXEEXT) test-spawn-pipe-main$(EXEEXT) \
test-spawn-pipe-child$(EXEEXT) test-spawn$(EXEEXT) \
- test-stat$(EXEEXT) test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
+ test-stat$(EXEEXT) test-stdalign$(EXEEXT) \
+ test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \
test-strchrnul$(EXEEXT) test-strerror$(EXEEXT) \
test-striconv$(EXEEXT) test-striconveh$(EXEEXT) \
@@ -244,8 +266,8 @@ check_PROGRAMS = test-file-has-acl$(EXEEXT) test-set-mode-acl$(EXEEXT) \
test-term-ostream$(EXEEXT) test-thread_self$(EXEEXT) \
test-thread_create$(EXEEXT) test-time$(EXEEXT) \
test-tls$(EXEEXT) test-u8-conv-from-enc$(EXEEXT) \
- test-u8-width-linebreaks$(EXEEXT) $(am__EXEEXT_2) \
- test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
+ test-ctype_space$(EXEEXT) test-u8-width-linebreaks$(EXEEXT) \
+ $(am__EXEEXT_2) test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
test-u16-mbtouc$(EXEEXT) test-u8-check$(EXEEXT) \
test-u8-cmp$(EXEEXT) test-u8-mblen$(EXEEXT) \
test-u8-mbtoucr$(EXEEXT) test-u8-prev$(EXEEXT) \
@@ -265,6 +287,9 @@ check_PROGRAMS = test-file-has-acl$(EXEEXT) test-set-mode-acl$(EXEEXT) \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn1.sh-t \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh-t
+
+# Unlike other libunistring modules, this test passes only when the
+# same version of uniname/uniname.c is used (even if it is newer).
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_5 = uniname/test-uninames.sh
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_6 = test-uninames
@LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE@am__append_7 = unistr/u8-cmp.c
@@ -274,7 +299,6 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -291,6 +315,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -298,6 +323,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -309,7 +335,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -339,10 +368,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -360,10 +395,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -393,6 +431,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -417,6 +456,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -424,6 +464,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -515,6 +556,8 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -526,14 +569,14 @@ am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
libtests_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 =
-am__libtests_a_SOURCES_DIST = read-file.c glthread/thread.h \
- glthread/thread.c unistr/u8-cmp.c unistr/u8-strlen.c \
- glthread/yield.h
+am__libtests_a_SOURCES_DIST = file-has-acl.c read-file.c \
+ glthread/thread.h glthread/thread.c unistr/u8-cmp.c \
+ unistr/u8-strlen.c glthread/yield.h
am__dirstamp = $(am__leading_dot)dirstamp
@LIBUNISTRING_COMPILE_UNISTR_U8_CMP_TRUE@am__objects_1 = unistr/u8-cmp.$(OBJEXT)
@LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN_TRUE@am__objects_2 = unistr/u8-strlen.$(OBJEXT)
-am_libtests_a_OBJECTS = read-file.$(OBJEXT) glthread/thread.$(OBJEXT) \
- $(am__objects_1) $(am__objects_2)
+am_libtests_a_OBJECTS = file-has-acl.$(OBJEXT) read-file.$(OBJEXT) \
+ glthread/thread.$(OBJEXT) $(am__objects_1) $(am__objects_2)
libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
@POSIX_SPAWN_PORTED_TRUE@am__EXEEXT_1 = test-posix_spawn1$(EXEEXT) \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2$(EXEEXT)
@@ -644,6 +687,15 @@ test_copy_file_SOURCES = test-copy-file.c
test_copy_file_OBJECTS = test-copy-file.$(OBJEXT)
test_copy_file_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1)
+test_ctype_SOURCES = test-ctype.c
+test_ctype_OBJECTS = test-ctype.$(OBJEXT)
+test_ctype_LDADD = $(LDADD)
+test_ctype_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
+ libtests.a $(am__DEPENDENCIES_1)
+am_test_ctype_space_OBJECTS = unictype/test-ctype_space.$(OBJEXT)
+test_ctype_space_OBJECTS = $(am_test_ctype_space_OBJECTS)
+test_ctype_space_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
test_dirent_SOURCES = test-dirent.c
test_dirent_OBJECTS = test-dirent.$(OBJEXT)
test_dirent_LDADD = $(LDADD)
@@ -675,6 +727,9 @@ test_errno_OBJECTS = test-errno.$(OBJEXT)
test_errno_LDADD = $(LDADD)
test_errno_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
libtests.a $(am__DEPENDENCIES_1)
+am_test_fabs_OBJECTS = test-fabs.$(OBJEXT) randomd.$(OBJEXT)
+test_fabs_OBJECTS = $(am_test_fabs_OBJECTS)
+test_fabs_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_fcntl_SOURCES = test-fcntl.c
test_fcntl_OBJECTS = test-fcntl.$(OBJEXT)
test_fcntl_LDADD = $(LDADD)
@@ -816,11 +871,49 @@ test_inttypes_OBJECTS = test-inttypes.$(OBJEXT)
test_inttypes_LDADD = $(LDADD)
test_inttypes_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
libtests.a $(am__DEPENDENCIES_1)
+test_isinf_SOURCES = test-isinf.c
+test_isinf_OBJECTS = test-isinf.$(OBJEXT)
+test_isinf_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_isnan_SOURCES = test-isnan.c
+test_isnan_OBJECTS = test-isnan.$(OBJEXT)
+test_isnan_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_isnand_SOURCES = test-isnand.c
+test_isnand_OBJECTS = test-isnand.$(OBJEXT)
+test_isnand_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_isnand_nolibm_SOURCES = test-isnand-nolibm.c
+test_isnand_nolibm_OBJECTS = test-isnand-nolibm.$(OBJEXT)
+test_isnand_nolibm_LDADD = $(LDADD)
+test_isnand_nolibm_DEPENDENCIES = libtests.a \
+ ../gnulib-lib/libgettextlib.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_isnanf_SOURCES = test-isnanf.c
+test_isnanf_OBJECTS = test-isnanf.$(OBJEXT)
+test_isnanf_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_isnanf_nolibm_SOURCES = test-isnanf-nolibm.c
+test_isnanf_nolibm_OBJECTS = test-isnanf-nolibm.$(OBJEXT)
+test_isnanf_nolibm_LDADD = $(LDADD)
+test_isnanf_nolibm_DEPENDENCIES = libtests.a \
+ ../gnulib-lib/libgettextlib.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_isnanl_SOURCES = test-isnanl.c
+test_isnanl_OBJECTS = test-isnanl.$(OBJEXT)
+test_isnanl_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_isnanl_nolibm_SOURCES = test-isnanl-nolibm.c
+test_isnanl_nolibm_OBJECTS = test-isnanl-nolibm.$(OBJEXT)
+test_isnanl_nolibm_LDADD = $(LDADD)
+test_isnanl_nolibm_DEPENDENCIES = libtests.a \
+ ../gnulib-lib/libgettextlib.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_iswblank_SOURCES = test-iswblank.c
test_iswblank_OBJECTS = test-iswblank.$(OBJEXT)
test_iswblank_LDADD = $(LDADD)
test_iswblank_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
libtests.a $(am__DEPENDENCIES_1)
+test_langinfo_SOURCES = test-langinfo.c
+test_langinfo_OBJECTS = test-langinfo.$(OBJEXT)
+test_langinfo_LDADD = $(LDADD)
+test_langinfo_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_linkedhash_list_SOURCES = test-linkedhash_list.c
test_linkedhash_list_OBJECTS = test-linkedhash_list.$(OBJEXT)
test_linkedhash_list_LDADD = $(LDADD)
@@ -839,6 +932,9 @@ test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) \
test_lock_SOURCES = test-lock.c
test_lock_OBJECTS = test-lock.$(OBJEXT)
test_lock_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_log10_OBJECTS = test-log10.$(OBJEXT) randomd.$(OBJEXT)
+test_log10_OBJECTS = $(am_test_log10_OBJECTS)
+test_log10_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_lseek_SOURCES = test-lseek.c
test_lseek_OBJECTS = test-lseek.$(OBJEXT)
test_lseek_LDADD = $(LDADD)
@@ -854,6 +950,11 @@ test_malloca_OBJECTS = test-malloca.$(OBJEXT)
test_malloca_LDADD = $(LDADD)
test_malloca_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
libtests.a $(am__DEPENDENCIES_1)
+test_math_SOURCES = test-math.c
+test_math_OBJECTS = test-math.$(OBJEXT)
+test_math_LDADD = $(LDADD)
+test_math_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_mbrtowc_SOURCES = test-mbrtowc.c
test_mbrtowc_OBJECTS = test-mbrtowc.$(OBJEXT)
test_mbrtowc_LDADD = $(LDADD)
@@ -959,6 +1060,9 @@ test_posix_spawn_file_actions_addopen_LDADD = $(LDADD)
test_posix_spawn_file_actions_addopen_DEPENDENCIES = libtests.a \
../gnulib-lib/libgettextlib.la libtests.a \
$(am__DEPENDENCIES_1)
+test_pow_SOURCES = test-pow.c
+test_pow_OBJECTS = test-pow.$(OBJEXT)
+test_pow_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_quotearg_simple_SOURCES = test-quotearg-simple.c
test_quotearg_simple_OBJECTS = test-quotearg-simple.$(OBJEXT)
test_quotearg_simple_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -1038,6 +1142,11 @@ test_signal_h_OBJECTS = test-signal-h.$(OBJEXT)
test_signal_h_LDADD = $(LDADD)
test_signal_h_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
libtests.a $(am__DEPENDENCIES_1)
+test_signbit_SOURCES = test-signbit.c
+test_signbit_OBJECTS = test-signbit.$(OBJEXT)
+test_signbit_LDADD = $(LDADD)
+test_signbit_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_sigpipe_SOURCES = test-sigpipe.c
test_sigpipe_OBJECTS = test-sigpipe.$(OBJEXT)
test_sigpipe_LDADD = $(LDADD)
@@ -1073,6 +1182,11 @@ test_spawn_pipe_main_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_stat_SOURCES = test-stat.c
test_stat_OBJECTS = test-stat.$(OBJEXT)
test_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
+test_stdalign_SOURCES = test-stdalign.c
+test_stdalign_OBJECTS = test-stdalign.$(OBJEXT)
+test_stdalign_LDADD = $(LDADD)
+test_stdalign_DEPENDENCIES = libtests.a ../gnulib-lib/libgettextlib.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_stdbool_SOURCES = test-stdbool.c
test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
test_stdbool_LDADD = $(LDADD)
@@ -1239,8 +1353,7 @@ test_u8_width_linebreaks_DEPENDENCIES = $(am__DEPENDENCIES_2) \
am__test_uninames_SOURCES_DIST = uniname/test-uninames.c
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am_test_uninames_OBJECTS = uniname/test-uninames.$(OBJEXT)
test_uninames_OBJECTS = $(am_test_uninames_OBJECTS)
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_DEPENDENCIES = $(am__DEPENDENCIES_2) \
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@ $(am__DEPENDENCIES_1)
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_unistd_SOURCES = test-unistd.c
test_unistd_OBJECTS = test-unistd.$(OBJEXT)
test_unistd_LDADD = $(LDADD)
@@ -1351,9 +1464,10 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-binary-io.c test-btowc.c test-byteswap.c test-c-ctype.c \
test-c-strcasecmp.c test-c-strcasestr.c test-c-strncasecmp.c \
test-c-strstr.c test-canonicalize-lgpl.c test-cloexec.c \
- test-close.c test-copy-acl.c test-copy-file.c test-dirent.c \
- test-dup.c test-dup-safer.c test-dup2.c test-environ.c \
- test-errno.c test-fcntl.c test-fcntl-h.c test-fdopen.c \
+ test-close.c test-copy-acl.c test-copy-file.c test-ctype.c \
+ $(test_ctype_space_SOURCES) test-dirent.c test-dup.c \
+ test-dup-safer.c test-dup2.c test-environ.c test-errno.c \
+ $(test_fabs_SOURCES) test-fcntl.c test-fcntl-h.c test-fdopen.c \
test-fgetc.c test-file-has-acl.c test-float.c test-fnmatch.c \
test-fopen.c test-fputc.c test-fread.c test-fstat.c \
test-fstrcmp.c test-ftell.c test-ftell3.c test-ftello.c \
@@ -1361,41 +1475,44 @@ SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-getdelim.c test-getdtablesize.c test-getline.c \
test-getopt.c test-gettimeofday.c test-iconv.c test-iconv-h.c \
test-ignore-value.c test-intprops.c test-inttypes.c \
- test-iswblank.c test-linkedhash_list.c test-locale.c \
- test-localename.c test-lock.c test-lseek.c test-lstat.c \
- test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \
+ test-isinf.c test-isnan.c test-isnand.c test-isnand-nolibm.c \
+ test-isnanf.c test-isnanf-nolibm.c test-isnanl.c \
+ test-isnanl-nolibm.c test-iswblank.c test-langinfo.c \
+ test-linkedhash_list.c test-locale.c test-localename.c \
+ test-lock.c $(test_log10_SOURCES) test-lseek.c test-lstat.c \
+ test-malloca.c test-math.c test-mbrtowc.c test-mbrtowc-w32.c \
test-mbsinit.c test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c \
test-mbsstr3.c test-memchr.c test-open.c test-pathmax.c \
test-pipe-filter-ii1.c test-pipe-filter-ii2-child.c \
test-pipe-filter-ii2-main.c test-pipe2.c test-posix_spawn1.c \
test-posix_spawn2.c test-posix_spawn_file_actions_addclose.c \
test-posix_spawn_file_actions_adddup2.c \
- test-posix_spawn_file_actions_addopen.c test-quotearg-simple.c \
- test-raise.c test-rawmemchr.c test-read.c test-read-file.c \
- test-readlink.c test-rmdir.c test-sameacls.c test-sched.c \
- test-set-mode-acl.c test-setenv.c test-setlocale1.c \
- test-setlocale2.c test-sh-quote.c test-sigaction.c \
- test-signal-h.c test-sigpipe.c test-sigprocmask.c test-sleep.c \
- test-snprintf.c test-spawn.c test-spawn-pipe-child.c \
- test-spawn-pipe-main.c test-stat.c test-stdbool.c \
- test-stddef.c test-stdint.c test-stdio.c test-stdlib.c \
- test-strchrnul.c test-strerror.c test-striconv.c \
- test-striconveh.c test-striconveha.c test-string.c \
- test-strnlen.c test-strstr.c test-strtol.c test-strtoul.c \
- test-symlink.c test-sys_select.c test-sys_stat.c \
- test-sys_time.c test-sys_types.c test-sys_wait.c \
- test-term-ostream.c test-thread_create.c test-thread_self.c \
- test-time.c test-tls.c $(test_u16_mbtouc_SOURCES) \
- $(test_u8_check_SOURCES) $(test_u8_cmp_SOURCES) \
- $(test_u8_conv_from_enc_SOURCES) $(test_u8_mblen_SOURCES) \
- $(test_u8_mbtoucr_SOURCES) $(test_u8_prev_SOURCES) \
- $(test_u8_strlen_SOURCES) $(test_u8_uctomb_SOURCES) \
- $(test_u8_width_linebreaks_SOURCES) $(test_uninames_SOURCES) \
- test-unistd.c test-unsetenv.c test-vasnprintf.c \
- test-vasprintf.c test-verify.c test-vsnprintf.c test-wchar.c \
- test-wcrtomb.c test-wcrtomb-w32.c test-wctype-h.c \
- test-wcwidth.c test-write.c test-xalloc-die.c \
- test-xvasprintf.c
+ test-posix_spawn_file_actions_addopen.c test-pow.c \
+ test-quotearg-simple.c test-raise.c test-rawmemchr.c \
+ test-read.c test-read-file.c test-readlink.c test-rmdir.c \
+ test-sameacls.c test-sched.c test-set-mode-acl.c test-setenv.c \
+ test-setlocale1.c test-setlocale2.c test-sh-quote.c \
+ test-sigaction.c test-signal-h.c test-signbit.c test-sigpipe.c \
+ test-sigprocmask.c test-sleep.c test-snprintf.c test-spawn.c \
+ test-spawn-pipe-child.c test-spawn-pipe-main.c test-stat.c \
+ test-stdalign.c test-stdbool.c test-stddef.c test-stdint.c \
+ test-stdio.c test-stdlib.c test-strchrnul.c test-strerror.c \
+ test-striconv.c test-striconveh.c test-striconveha.c \
+ test-string.c test-strnlen.c test-strstr.c test-strtol.c \
+ test-strtoul.c test-symlink.c test-sys_select.c \
+ test-sys_stat.c test-sys_time.c test-sys_types.c \
+ test-sys_wait.c test-term-ostream.c test-thread_create.c \
+ test-thread_self.c test-time.c test-tls.c \
+ $(test_u16_mbtouc_SOURCES) $(test_u8_check_SOURCES) \
+ $(test_u8_cmp_SOURCES) $(test_u8_conv_from_enc_SOURCES) \
+ $(test_u8_mblen_SOURCES) $(test_u8_mbtoucr_SOURCES) \
+ $(test_u8_prev_SOURCES) $(test_u8_strlen_SOURCES) \
+ $(test_u8_uctomb_SOURCES) $(test_u8_width_linebreaks_SOURCES) \
+ $(test_uninames_SOURCES) test-unistd.c test-unsetenv.c \
+ test-vasnprintf.c test-vasprintf.c test-verify.c \
+ test-vsnprintf.c test-wchar.c test-wcrtomb.c \
+ test-wcrtomb-w32.c test-wctype-h.c test-wcwidth.c test-write.c \
+ test-xalloc-die.c test-xvasprintf.c
DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
$(EXTRA_libtests_a_SOURCES) test-alignof.c test-alloca-opt.c \
test-areadlink.c test-argmatch.c test-array_list.c \
@@ -1403,8 +1520,9 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
test-c-ctype.c test-c-strcasecmp.c test-c-strcasestr.c \
test-c-strncasecmp.c test-c-strstr.c test-canonicalize-lgpl.c \
test-cloexec.c test-close.c test-copy-acl.c test-copy-file.c \
- test-dirent.c test-dup.c test-dup-safer.c test-dup2.c \
- test-environ.c test-errno.c test-fcntl.c test-fcntl-h.c \
+ test-ctype.c $(test_ctype_space_SOURCES) test-dirent.c \
+ test-dup.c test-dup-safer.c test-dup2.c test-environ.c \
+ test-errno.c $(test_fabs_SOURCES) test-fcntl.c test-fcntl-h.c \
test-fdopen.c test-fgetc.c test-file-has-acl.c test-float.c \
test-fnmatch.c test-fopen.c test-fputc.c test-fread.c \
test-fstat.c test-fstrcmp.c test-ftell.c test-ftell3.c \
@@ -1412,36 +1530,40 @@ DIST_SOURCES = $(am__libtests_a_SOURCES_DIST) \
test-getcwd-lgpl.c test-getdelim.c test-getdtablesize.c \
test-getline.c test-getopt.c test-gettimeofday.c test-iconv.c \
test-iconv-h.c test-ignore-value.c test-intprops.c \
- test-inttypes.c test-iswblank.c test-linkedhash_list.c \
- test-locale.c test-localename.c test-lock.c test-lseek.c \
- test-lstat.c test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \
- test-mbsinit.c test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c \
- test-mbsstr3.c test-memchr.c test-open.c test-pathmax.c \
+ test-inttypes.c test-isinf.c test-isnan.c test-isnand.c \
+ test-isnand-nolibm.c test-isnanf.c test-isnanf-nolibm.c \
+ test-isnanl.c test-isnanl-nolibm.c test-iswblank.c \
+ test-langinfo.c test-linkedhash_list.c test-locale.c \
+ test-localename.c test-lock.c $(test_log10_SOURCES) \
+ test-lseek.c test-lstat.c test-malloca.c test-math.c \
+ test-mbrtowc.c test-mbrtowc-w32.c test-mbsinit.c \
+ test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c \
+ test-memchr.c test-open.c test-pathmax.c \
test-pipe-filter-ii1.c test-pipe-filter-ii2-child.c \
test-pipe-filter-ii2-main.c test-pipe2.c test-posix_spawn1.c \
test-posix_spawn2.c test-posix_spawn_file_actions_addclose.c \
test-posix_spawn_file_actions_adddup2.c \
- test-posix_spawn_file_actions_addopen.c test-quotearg-simple.c \
- test-raise.c test-rawmemchr.c test-read.c test-read-file.c \
- test-readlink.c test-rmdir.c test-sameacls.c test-sched.c \
- test-set-mode-acl.c test-setenv.c test-setlocale1.c \
- test-setlocale2.c test-sh-quote.c test-sigaction.c \
- test-signal-h.c test-sigpipe.c test-sigprocmask.c test-sleep.c \
- test-snprintf.c test-spawn.c test-spawn-pipe-child.c \
- test-spawn-pipe-main.c test-stat.c test-stdbool.c \
- test-stddef.c test-stdint.c test-stdio.c test-stdlib.c \
- test-strchrnul.c test-strerror.c test-striconv.c \
- test-striconveh.c test-striconveha.c test-string.c \
- test-strnlen.c test-strstr.c test-strtol.c test-strtoul.c \
- test-symlink.c test-sys_select.c test-sys_stat.c \
- test-sys_time.c test-sys_types.c test-sys_wait.c \
- test-term-ostream.c test-thread_create.c test-thread_self.c \
- test-time.c test-tls.c $(test_u16_mbtouc_SOURCES) \
- $(test_u8_check_SOURCES) $(test_u8_cmp_SOURCES) \
- $(test_u8_conv_from_enc_SOURCES) $(test_u8_mblen_SOURCES) \
- $(test_u8_mbtoucr_SOURCES) $(test_u8_prev_SOURCES) \
- $(test_u8_strlen_SOURCES) $(test_u8_uctomb_SOURCES) \
- $(test_u8_width_linebreaks_SOURCES) \
+ test-posix_spawn_file_actions_addopen.c test-pow.c \
+ test-quotearg-simple.c test-raise.c test-rawmemchr.c \
+ test-read.c test-read-file.c test-readlink.c test-rmdir.c \
+ test-sameacls.c test-sched.c test-set-mode-acl.c test-setenv.c \
+ test-setlocale1.c test-setlocale2.c test-sh-quote.c \
+ test-sigaction.c test-signal-h.c test-signbit.c test-sigpipe.c \
+ test-sigprocmask.c test-sleep.c test-snprintf.c test-spawn.c \
+ test-spawn-pipe-child.c test-spawn-pipe-main.c test-stat.c \
+ test-stdalign.c test-stdbool.c test-stddef.c test-stdint.c \
+ test-stdio.c test-stdlib.c test-strchrnul.c test-strerror.c \
+ test-striconv.c test-striconveh.c test-striconveha.c \
+ test-string.c test-strnlen.c test-strstr.c test-strtol.c \
+ test-strtoul.c test-symlink.c test-sys_select.c \
+ test-sys_stat.c test-sys_time.c test-sys_types.c \
+ test-sys_wait.c test-term-ostream.c test-thread_create.c \
+ test-thread_self.c test-time.c test-tls.c \
+ $(test_u16_mbtouc_SOURCES) $(test_u8_check_SOURCES) \
+ $(test_u8_cmp_SOURCES) $(test_u8_conv_from_enc_SOURCES) \
+ $(test_u8_mblen_SOURCES) $(test_u8_mbtoucr_SOURCES) \
+ $(test_u8_prev_SOURCES) $(test_u8_strlen_SOURCES) \
+ $(test_u8_uctomb_SOURCES) $(test_u8_width_linebreaks_SOURCES) \
$(am__test_uninames_SOURCES_DIST) test-unistd.c \
test-unsetenv.c test-vasnprintf.c test-vasprintf.c \
test-verify.c test-vsnprintf.c test-wchar.c test-wcrtomb.c \
@@ -1692,6 +1814,10 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/../build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/depcomp \
+ $(top_srcdir)/../build-aux/mkinstalldirs \
+ $(top_srcdir)/../build-aux/test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -1727,6 +1853,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -1788,6 +1915,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -1802,15 +1930,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -1819,6 +1966,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -1833,6 +1990,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -1841,6 +2007,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -1871,17 +2040,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -1920,6 +2119,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -1955,6 +2157,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -1978,11 +2181,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -1993,10 +2205,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -2025,10 +2243,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -2088,25 +2313,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -2118,13 +2375,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -2133,6 +2405,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -2144,6 +2420,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -2154,6 +2436,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -2176,9 +2464,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -2200,12 +2497,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -2226,6 +2533,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -2245,6 +2554,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -2260,9 +2570,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -2275,9 +2590,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -2303,7 +2623,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -2379,13 +2703,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -2404,6 +2731,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -2412,6 +2740,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -2421,9 +2750,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -2434,6 +2763,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -2443,6 +2773,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -2452,6 +2783,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -2470,6 +2802,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -2479,6 +2812,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -2509,12 +2843,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -2533,6 +2869,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -2541,16 +2882,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -2569,19 +2927,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -2599,6 +2982,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -2628,16 +3015,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -2663,6 +3059,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -2689,6 +3088,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -2703,6 +3103,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -2802,8 +3203,9 @@ TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
USE_ACL=$(USE_ACL) LOCALE_FR='@LOCALE_FR@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_FR='@LOCALE_FR@' \
LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' USE_ACL=$(USE_ACL) \
- LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
- LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ USE_ACL=$(USE_ACL) LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_FR='@LOCALE_FR@' \
LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \
LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
@@ -2817,14 +3219,12 @@ TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
noinst_HEADERS =
noinst_LIBRARIES =
check_LIBRARIES = libtests.a
-EXTRA_DIST = test-file-has-acl.sh test-file-has-acl-1.sh \
- test-file-has-acl-2.sh test-set-mode-acl.sh \
- test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh \
- test-copy-acl-1.sh test-copy-acl-2.sh test-file-has-acl.c \
- test-set-mode-acl.c test-copy-acl.c test-sameacls.c macros.h \
- test-alignof.c test-alloca-opt.c test-areadlink.h \
- test-areadlink.c macros.h test-argmatch.c macros.h \
- test-array_list.c macros.h signature.h test-atexit.sh \
+EXTRA_DIST = test-set-mode-acl.sh test-set-mode-acl-1.sh \
+ test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh \
+ test-copy-acl-2.sh test-set-mode-acl.c test-copy-acl.c \
+ test-sameacls.c macros.h test-alignof.c test-alloca-opt.c \
+ test-areadlink.h test-areadlink.c macros.h test-argmatch.c \
+ macros.h test-array_list.c macros.h signature.h test-atexit.sh \
test-atexit.c test-binary-io.sh test-binary-io.c macros.h \
btowc.c test-btowc1.sh test-btowc2.sh test-btowc.c signature.h \
macros.h test-byteswap.c macros.h test-c-ctype.c macros.h \
@@ -2833,32 +3233,47 @@ EXTRA_DIST = test-file-has-acl.sh test-file-has-acl-1.sh \
test-canonicalize-lgpl.c signature.h macros.h test-cloexec.c \
macros.h test-close.c signature.h macros.h test-copy-file.sh \
test-copy-file-1.sh test-copy-file-2.sh test-copy-file.c \
- macros.h test-dirent.c dup.c test-dup.c signature.h macros.h \
- test-dup2.c signature.h macros.h test-environ.c test-errno.c \
- test-fcntl-h.c test-fcntl.c signature.h macros.h fdopen.c \
- test-fdopen.c signature.h macros.h test-fgetc.c signature.h \
- macros.h test-float.c macros.h test-fnmatch.c signature.h \
- macros.h test-fopen.h test-fopen.c signature.h macros.h \
- fpucw.h test-fputc.c signature.h macros.h test-fread.c \
- signature.h macros.h test-fstat.c signature.h macros.h \
- test-fstrcmp.c macros.h ftell.c test-ftell.c test-ftell.sh \
- test-ftell2.sh test-ftell3.c signature.h macros.h ftello.c \
- stdio-impl.h test-ftello.c test-ftello.sh test-ftello2.sh \
- test-ftello3.c test-ftello4.c test-ftello4.sh signature.h \
- macros.h test-fwrite.c signature.h macros.h getcwd-lgpl.c \
+ macros.h ctype.in.h test-ctype.c test-dirent.c dup.c \
+ test-dup.c signature.h macros.h test-dup2.c signature.h \
+ macros.h test-environ.c test-errno.c test-fabs.c test-fabs.h \
+ signature.h minus-zero.h macros.h randomd.c test-fcntl-h.c \
+ test-fcntl.c signature.h macros.h fdopen.c test-fdopen.c \
+ signature.h macros.h test-fgetc.c signature.h macros.h \
+ test-file-has-acl.sh test-file-has-acl-1.sh \
+ test-file-has-acl-2.sh test-file-has-acl.c macros.h \
+ test-float.c macros.h test-fnmatch.c signature.h macros.h \
+ test-fopen.h test-fopen.c signature.h macros.h fpucw.h \
+ test-fputc.c signature.h macros.h test-fread.c signature.h \
+ macros.h test-fstat.c signature.h macros.h test-fstrcmp.c \
+ macros.h ftell.c test-ftell.c test-ftell.sh test-ftell2.sh \
+ test-ftell3.c signature.h macros.h ftello.c stdio-impl.h \
+ test-ftello.c test-ftello.sh test-ftello2.sh test-ftello3.c \
+ test-ftello4.c test-ftello4.sh signature.h macros.h \
+ test-fwrite.c signature.h macros.h getcwd-lgpl.c \
test-getcwd-lgpl.c signature.h macros.h test-getdelim.c \
signature.h macros.h test-getdtablesize.c signature.h macros.h \
test-getline.c signature.h macros.h macros.h signature.h \
test-getopt.c test-getopt.h test-getopt_long.h getpagesize.c \
signature.h test-gettimeofday.c test-iconv-h.c test-iconv.c \
signature.h macros.h test-ignore-value.c test-intprops.c \
- macros.h inttypes.in.h test-inttypes.c test-iswblank.c \
- macros.h test-linkedhash_list.c macros.h test-locale.c \
- test-localename.c macros.h test-lock.c lseek.c test-lseek.c \
- test-lseek.sh signature.h macros.h test-lstat.h test-lstat.c \
- signature.h macros.h test-malloca.c test-mbrtowc1.sh \
- test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \
- test-mbrtowc.c test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
+ macros.h inttypes.in.h test-inttypes.c test-isinf.c infinity.h \
+ macros.h test-isnan.c minus-zero.h infinity.h nan.h macros.h \
+ test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h \
+ nan.h macros.h test-isnand.c test-isnand.h minus-zero.h \
+ infinity.h nan.h macros.h test-isnanf-nolibm.c test-isnanf.h \
+ minus-zero.h infinity.h nan.h macros.h test-isnanf.c \
+ test-isnanf.h minus-zero.h infinity.h nan.h macros.h \
+ test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h \
+ nan.h macros.h test-isnanl.c test-isnanl.h minus-zero.h \
+ infinity.h nan.h macros.h test-iswblank.c macros.h \
+ test-langinfo.c test-linkedhash_list.c macros.h test-locale.c \
+ test-localename.c macros.h test-lock.c test-log10.c \
+ test-log10.h minus-zero.h signature.h macros.h randomd.c \
+ lseek.c test-lseek.c test-lseek.sh signature.h macros.h \
+ test-lstat.h test-lstat.c signature.h macros.h test-malloca.c \
+ test-math.c macros.h test-mbrtowc1.sh test-mbrtowc2.sh \
+ test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc.c \
+ test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
test-mbrtowc-w32-5.sh test-mbrtowc-w32.c signature.h macros.h \
test-mbsinit.sh test-mbsinit.c signature.h macros.h \
@@ -2880,18 +3295,20 @@ EXTRA_DIST = test-file-has-acl.sh test-file-has-acl-1.sh \
test-posix_spawn_file_actions_addopen.c signature.h macros.h \
test-posix_spawn1.c test-posix_spawn1.in.sh \
test-posix_spawn2.c test-posix_spawn2.in.sh signature.h \
- putenv.c test-quotearg-simple.c test-quotearg.h macros.h \
- zerosize-ptr.h test-raise.c signature.h macros.h \
- test-rawmemchr.c zerosize-ptr.h signature.h macros.h \
- read-file.h test-read-file.c test-read.c signature.h macros.h \
+ test-pow.c signature.h macros.h putenv.c \
+ test-quotearg-simple.c test-quotearg.h macros.h zerosize-ptr.h \
+ test-raise.c signature.h macros.h test-rawmemchr.c \
+ zerosize-ptr.h signature.h macros.h read-file.h \
+ test-read-file.c test-read.c signature.h macros.h \
test-readlink.h test-readlink.c signature.h macros.h \
test-rmdir.h test-rmdir.c signature.h macros.h same-inode.h \
test-sched.c test-setenv.c signature.h macros.h \
test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \
test-setlocale2.c signature.h macros.h test-sh-quote.c \
test-sigaction.c signature.h macros.h test-signal-h.c \
- test-sigpipe.c test-sigpipe.sh test-sigprocmask.c signature.h \
- macros.h sleep.c test-sleep.c signature.h macros.h \
+ test-signbit.c minus-zero.h infinity.h macros.h test-sigpipe.c \
+ test-sigpipe.sh test-sigprocmask.c signature.h macros.h \
+ sleep.c test-sleep.c signature.h macros.h \
$(top_srcdir)/../build-aux/snippet/_Noreturn.h \
$(top_srcdir)/../build-aux/snippet/arg-nonnull.h \
$(top_srcdir)/../build-aux/snippet/c++defs.h \
@@ -2900,21 +3317,23 @@ EXTRA_DIST = test-file-has-acl.sh test-file-has-acl-1.sh \
test-snprintf.c signature.h macros.h test-spawn-pipe.sh \
test-spawn-pipe-main.c test-spawn-pipe-child.c macros.h \
test-spawn.c test-stat.h test-stat.c signature.h macros.h \
- test-stdbool.c test-stddef.c test-stdint.c test-stdio.c \
- test-stdlib.c test-sys_wait.h test-strchrnul.c signature.h \
- macros.h test-strerror.c signature.h macros.h test-striconv.c \
- macros.h test-striconveh.c macros.h test-striconveha.c \
- macros.h test-string.c test-strnlen.c zerosize-ptr.h \
- signature.h macros.h test-strstr.c zerosize-ptr.h signature.h \
- macros.h test-strtol.c signature.h macros.h test-strtoul.c \
- signature.h macros.h symlink.c test-symlink.h test-symlink.c \
- signature.h macros.h test-sys_select.c signature.h \
- test-sys_stat.c test-sys_time.c test-sys_types.c \
- test-sys_wait.c test-sys_wait.h test-term-ostream.c \
- test-term-ostream-xterm test-term-ostream-xterm-r6.out \
+ stdalign.in.h test-stdalign.c macros.h test-stdbool.c \
+ test-stddef.c test-stdint.c test-stdio.c test-stdlib.c \
+ test-sys_wait.h test-strchrnul.c signature.h macros.h \
+ test-strerror.c signature.h macros.h test-striconv.c macros.h \
+ test-striconveh.c macros.h test-striconveha.c macros.h \
+ test-string.c test-strnlen.c zerosize-ptr.h signature.h \
+ macros.h test-strstr.c zerosize-ptr.h signature.h macros.h \
+ test-strtol.c signature.h macros.h test-strtoul.c signature.h \
+ macros.h symlink.c test-symlink.h test-symlink.c signature.h \
+ macros.h test-sys_select.c signature.h test-sys_stat.c \
+ test-sys_time.c test-sys_types.c test-sys_wait.c \
+ test-sys_wait.h test-term-ostream.c test-term-ostream-xterm \
+ test-term-ostream-xterm-r6.out \
test-term-ostream-xterm-xf86-v32.out \
test-term-ostream-xterm-basic.out \
test-term-ostream-xterm-basic-italic.out \
+ test-term-ostream-xterm-freebsd101.out \
test-term-ostream-xterm-8bit.out \
test-term-ostream-xterm-linux-debian.out \
test-term-ostream-xterm-linux-mandriva.out \
@@ -2929,9 +3348,12 @@ EXTRA_DIST = test-file-has-acl.sh test-file-has-acl-1.sh \
test-term-ostream-xterm-256color.out init.sh test-init.sh \
test-thread_self.c test-thread_create.c macros.h test-time.c \
test-tls.c uniconv/test-u8-conv-from-enc.c macros.h \
+ unictype/test-ctype_space.c unictype/test-predicate-part1.h \
+ unictype/test-predicate-part2.h macros.h \
unilbrk/test-u8-width-linebreaks.c macros.h \
uniname/test-uninames.sh uniname/test-uninames.c \
- uniname/UnicodeDataNames.txt test-dup-safer.c macros.h \
+ uniname/UnicodeData.txt uniname/HangulSyllableNames.txt \
+ uniname/NameAliases.txt test-dup-safer.c macros.h \
test-unistd.c unistr/test-u16-mbtouc.c \
unistr/test-u16-mbtouc.h macros.h unistr/test-u8-check.c \
macros.h unistr/test-u8-cmp.c unistr/test-cmp.h zerosize-ptr.h \
@@ -2964,14 +3386,14 @@ EXTRA_DIST = test-file-has-acl.sh test-file-has-acl-1.sh \
# statements but through direct file reference. Therefore this snippet must be
# present in all Makefile.am that need it. This is ensured by the applicability
# 'all' defined above.
-BUILT_SOURCES = inttypes.h $(am__append_3) arg-nonnull.h c++defs.h \
- unused-parameter.h warn-on-use.h
+BUILT_SOURCES = ctype.h inttypes.h $(am__append_3) arg-nonnull.h \
+ c++defs.h unused-parameter.h warn-on-use.h $(STDALIGN_H)
SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump t-ftell3.tmp t-ftello3.tmp \
- test-getdelim.txt test-getline.txt inttypes.h inttypes.h-t \
- $(am__append_4) arg-nonnull.h arg-nonnull.h-t c++defs.h \
- c++defs.h-t unused-parameter.h unused-parameter.h-t \
- warn-on-use.h warn-on-use.h-t
+MOSTLYCLEANFILES = core *.stackdump ctype.h ctype.h-t t-ftell3.tmp \
+ t-ftello3.tmp test-getdelim.txt test-getline.txt inttypes.h \
+ inttypes.h-t $(am__append_4) arg-nonnull.h arg-nonnull.h-t \
+ c++defs.h c++defs.h-t unused-parameter.h unused-parameter.h-t \
+ warn-on-use.h warn-on-use.h-t stdalign.h stdalign.h-t
MOSTLYCLEANDIRS =
CLEANFILES =
DISTCLEANFILES =
@@ -2982,29 +3404,40 @@ AM_CPPFLAGS = -D@gltests_WITNESS@=1 -I. -I$(srcdir) -I.. \
-I$(srcdir)/.. -I../gnulib-lib -I$(srcdir)/../gnulib-lib \
-I../intl
LDADD = libtests.a ../gnulib-lib/libgettextlib.la libtests.a $(LIBTESTS_LIBDEPS)
-libtests_a_SOURCES = read-file.c glthread/thread.h glthread/thread.c \
- $(am__append_7) $(am__append_8) glthread/yield.h
+libtests_a_SOURCES = file-has-acl.c read-file.c glthread/thread.h \
+ glthread/thread.c $(am__append_7) $(am__append_8) \
+ glthread/yield.h
libtests_a_LIBADD = $(gltests_LIBOBJS)
libtests_a_DEPENDENCIES = $(gltests_LIBOBJS)
EXTRA_libtests_a_SOURCES = btowc.c dup.c fdopen.c ftell.c ftello.c \
getcwd-lgpl.c getpagesize.c lseek.c mbtowc.c putenv.c sleep.c \
symlink.c wcrtomb.c wctob.c wctomb.c
AM_LIBTOOLFLAGS = --preserve-dup-deps
-test_file_has_acl_LDADD = $(LDADD) $(LIB_ACL)
test_set_mode_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
test_copy_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
test_sameacls_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
test_argmatch_LDADD = $(LDADD) @LIBINTL@
test_copy_file_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
+test_fabs_SOURCES = test-fabs.c randomd.c
+test_fabs_LDADD = $(LDADD) @FABS_LIBM@
+test_file_has_acl_LDADD = $(LDADD) $(LIB_HAS_ACL)
test_fstrcmp_LDADD = $(LDADD) @LIBINTL@ $(LIBTHREAD)
test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
test_getopt_LDADD = $(LDADD) $(LIBINTL)
test_iconv_LDADD = $(LDADD) @LIBICONV@
+test_isinf_LDADD = $(LDADD) @ISINF_LIBM@
+test_isnan_LDADD = $(LDADD) @ISNAN_LIBM@
+test_isnand_LDADD = $(LDADD) @ISNAND_LIBM@
+test_isnanf_LDADD = $(LDADD) @ISNANF_LIBM@
+test_isnanl_LDADD = $(LDADD) @ISNANL_LIBM@
test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
+test_log10_SOURCES = test-log10.c randomd.c
+test_log10_LDADD = $(LDADD) @LOG10_LIBM@
test_pipe_filter_ii1_LDADD = $(LDADD) @LIBINTL@
test_pipe_filter_ii2_main_LDADD = $(LDADD) @LIBINTL@
test_pipe2_LDADD = $(LDADD) $(LIBSOCKET)
+test_pow_LDADD = $(LDADD) @POW_LIBM@
test_quotearg_simple_LDADD = $(LDADD) @LIBINTL@
test_sh_quote_LDADD = $(LDADD) @LIBINTL@
@@ -3031,10 +3464,12 @@ test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@
test_tls_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
test_u8_conv_from_enc_SOURCES = uniconv/test-u8-conv-from-enc.c
test_u8_conv_from_enc_LDADD = $(LDADD) $(LIBUNISTRING) @LIBICONV@
+test_ctype_space_SOURCES = unictype/test-ctype_space.c
+test_ctype_space_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_width_linebreaks_SOURCES = unilbrk/test-u8-width-linebreaks.c
test_u8_width_linebreaks_LDADD = $(LDADD) $(LIBUNISTRING)
@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_SOURCES = uniname/test-uninames.c
-@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_LDADD = $(LDADD) $(LIBUNISTRING) @LIBINTL@
+@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@test_uninames_LDADD = $(LDADD) @LIBINTL@
test_u16_mbtouc_SOURCES = unistr/test-u16-mbtouc.c
test_u16_mbtouc_LDADD = $(LDADD) $(LIBUNISTRING)
test_u8_check_SOURCES = unistr/test-u8-check.c
@@ -3070,7 +3505,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.gnulib $(am__co
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gnulib-tests/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign gnulib-tests/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -3079,7 +3513,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/Makefile.gnulib:
+$(srcdir)/Makefile.gnulib $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3213,6 +3647,22 @@ test-copy-file$(EXEEXT): $(test_copy_file_OBJECTS) $(test_copy_file_DEPENDENCIES
@rm -f test-copy-file$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_copy_file_OBJECTS) $(test_copy_file_LDADD) $(LIBS)
+test-ctype$(EXEEXT): $(test_ctype_OBJECTS) $(test_ctype_DEPENDENCIES) $(EXTRA_test_ctype_DEPENDENCIES)
+ @rm -f test-ctype$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_ctype_OBJECTS) $(test_ctype_LDADD) $(LIBS)
+unictype/$(am__dirstamp):
+ @$(MKDIR_P) unictype
+ @: > unictype/$(am__dirstamp)
+unictype/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) unictype/$(DEPDIR)
+ @: > unictype/$(DEPDIR)/$(am__dirstamp)
+unictype/test-ctype_space.$(OBJEXT): unictype/$(am__dirstamp) \
+ unictype/$(DEPDIR)/$(am__dirstamp)
+
+test-ctype_space$(EXEEXT): $(test_ctype_space_OBJECTS) $(test_ctype_space_DEPENDENCIES) $(EXTRA_test_ctype_space_DEPENDENCIES)
+ @rm -f test-ctype_space$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_ctype_space_OBJECTS) $(test_ctype_space_LDADD) $(LIBS)
+
test-dirent$(EXEEXT): $(test_dirent_OBJECTS) $(test_dirent_DEPENDENCIES) $(EXTRA_test_dirent_DEPENDENCIES)
@rm -f test-dirent$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_dirent_OBJECTS) $(test_dirent_LDADD) $(LIBS)
@@ -3237,6 +3687,10 @@ test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) $(EXTRA_te
@rm -f test-errno$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS)
+test-fabs$(EXEEXT): $(test_fabs_OBJECTS) $(test_fabs_DEPENDENCIES) $(EXTRA_test_fabs_DEPENDENCIES)
+ @rm -f test-fabs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fabs_OBJECTS) $(test_fabs_LDADD) $(LIBS)
+
test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES) $(EXTRA_test_fcntl_DEPENDENCIES)
@rm -f test-fcntl$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fcntl_OBJECTS) $(test_fcntl_LDADD) $(LIBS)
@@ -3353,10 +3807,46 @@ test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES) $
@rm -f test-inttypes$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS)
+test-isinf$(EXEEXT): $(test_isinf_OBJECTS) $(test_isinf_DEPENDENCIES) $(EXTRA_test_isinf_DEPENDENCIES)
+ @rm -f test-isinf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isinf_OBJECTS) $(test_isinf_LDADD) $(LIBS)
+
+test-isnan$(EXEEXT): $(test_isnan_OBJECTS) $(test_isnan_DEPENDENCIES) $(EXTRA_test_isnan_DEPENDENCIES)
+ @rm -f test-isnan$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnan_OBJECTS) $(test_isnan_LDADD) $(LIBS)
+
+test-isnand$(EXEEXT): $(test_isnand_OBJECTS) $(test_isnand_DEPENDENCIES) $(EXTRA_test_isnand_DEPENDENCIES)
+ @rm -f test-isnand$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnand_OBJECTS) $(test_isnand_LDADD) $(LIBS)
+
+test-isnand-nolibm$(EXEEXT): $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_DEPENDENCIES) $(EXTRA_test_isnand_nolibm_DEPENDENCIES)
+ @rm -f test-isnand-nolibm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_LDADD) $(LIBS)
+
+test-isnanf$(EXEEXT): $(test_isnanf_OBJECTS) $(test_isnanf_DEPENDENCIES) $(EXTRA_test_isnanf_DEPENDENCIES)
+ @rm -f test-isnanf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnanf_OBJECTS) $(test_isnanf_LDADD) $(LIBS)
+
+test-isnanf-nolibm$(EXEEXT): $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_DEPENDENCIES) $(EXTRA_test_isnanf_nolibm_DEPENDENCIES)
+ @rm -f test-isnanf-nolibm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_LDADD) $(LIBS)
+
+test-isnanl$(EXEEXT): $(test_isnanl_OBJECTS) $(test_isnanl_DEPENDENCIES) $(EXTRA_test_isnanl_DEPENDENCIES)
+ @rm -f test-isnanl$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnanl_OBJECTS) $(test_isnanl_LDADD) $(LIBS)
+
+test-isnanl-nolibm$(EXEEXT): $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_DEPENDENCIES) $(EXTRA_test_isnanl_nolibm_DEPENDENCIES)
+ @rm -f test-isnanl-nolibm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_LDADD) $(LIBS)
+
test-iswblank$(EXEEXT): $(test_iswblank_OBJECTS) $(test_iswblank_DEPENDENCIES) $(EXTRA_test_iswblank_DEPENDENCIES)
@rm -f test-iswblank$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_iswblank_OBJECTS) $(test_iswblank_LDADD) $(LIBS)
+test-langinfo$(EXEEXT): $(test_langinfo_OBJECTS) $(test_langinfo_DEPENDENCIES) $(EXTRA_test_langinfo_DEPENDENCIES)
+ @rm -f test-langinfo$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_langinfo_OBJECTS) $(test_langinfo_LDADD) $(LIBS)
+
test-linkedhash_list$(EXEEXT): $(test_linkedhash_list_OBJECTS) $(test_linkedhash_list_DEPENDENCIES) $(EXTRA_test_linkedhash_list_DEPENDENCIES)
@rm -f test-linkedhash_list$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_linkedhash_list_OBJECTS) $(test_linkedhash_list_LDADD) $(LIBS)
@@ -3373,6 +3863,10 @@ test-lock$(EXEEXT): $(test_lock_OBJECTS) $(test_lock_DEPENDENCIES) $(EXTRA_test_
@rm -f test-lock$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_lock_OBJECTS) $(test_lock_LDADD) $(LIBS)
+test-log10$(EXEEXT): $(test_log10_OBJECTS) $(test_log10_DEPENDENCIES) $(EXTRA_test_log10_DEPENDENCIES)
+ @rm -f test-log10$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_log10_OBJECTS) $(test_log10_LDADD) $(LIBS)
+
test-lseek$(EXEEXT): $(test_lseek_OBJECTS) $(test_lseek_DEPENDENCIES) $(EXTRA_test_lseek_DEPENDENCIES)
@rm -f test-lseek$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_lseek_OBJECTS) $(test_lseek_LDADD) $(LIBS)
@@ -3385,6 +3879,10 @@ test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) $(EX
@rm -f test-malloca$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS)
+test-math$(EXEEXT): $(test_math_OBJECTS) $(test_math_DEPENDENCIES) $(EXTRA_test_math_DEPENDENCIES)
+ @rm -f test-math$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_math_OBJECTS) $(test_math_LDADD) $(LIBS)
+
test-mbrtowc$(EXEEXT): $(test_mbrtowc_OBJECTS) $(test_mbrtowc_DEPENDENCIES) $(EXTRA_test_mbrtowc_DEPENDENCIES)
@rm -f test-mbrtowc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_mbrtowc_OBJECTS) $(test_mbrtowc_LDADD) $(LIBS)
@@ -3461,6 +3959,10 @@ test-posix_spawn_file_actions_addopen$(EXEEXT): $(test_posix_spawn_file_actions_
@rm -f test-posix_spawn_file_actions_addopen$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_addopen_OBJECTS) $(test_posix_spawn_file_actions_addopen_LDADD) $(LIBS)
+test-pow$(EXEEXT): $(test_pow_OBJECTS) $(test_pow_DEPENDENCIES) $(EXTRA_test_pow_DEPENDENCIES)
+ @rm -f test-pow$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pow_OBJECTS) $(test_pow_LDADD) $(LIBS)
+
test-quotearg-simple$(EXEEXT): $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_DEPENDENCIES) $(EXTRA_test_quotearg_simple_DEPENDENCIES)
@rm -f test-quotearg-simple$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_LDADD) $(LIBS)
@@ -3525,6 +4027,10 @@ test-signal-h$(EXEEXT): $(test_signal_h_OBJECTS) $(test_signal_h_DEPENDENCIES) $
@rm -f test-signal-h$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_signal_h_OBJECTS) $(test_signal_h_LDADD) $(LIBS)
+test-signbit$(EXEEXT): $(test_signbit_OBJECTS) $(test_signbit_DEPENDENCIES) $(EXTRA_test_signbit_DEPENDENCIES)
+ @rm -f test-signbit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_signbit_OBJECTS) $(test_signbit_LDADD) $(LIBS)
+
test-sigpipe$(EXEEXT): $(test_sigpipe_OBJECTS) $(test_sigpipe_DEPENDENCIES) $(EXTRA_test_sigpipe_DEPENDENCIES)
@rm -f test-sigpipe$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_sigpipe_OBJECTS) $(test_sigpipe_LDADD) $(LIBS)
@@ -3557,6 +4063,10 @@ test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES) $(EXTRA_test_
@rm -f test-stat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stat_OBJECTS) $(test_stat_LDADD) $(LIBS)
+test-stdalign$(EXEEXT): $(test_stdalign_OBJECTS) $(test_stdalign_DEPENDENCIES) $(EXTRA_test_stdalign_DEPENDENCIES)
+ @rm -f test-stdalign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stdalign_OBJECTS) $(test_stdalign_LDADD) $(LIBS)
+
test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) $(EXTRA_test_stdbool_DEPENDENCIES)
@rm -f test-stdbool$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
@@ -3805,6 +4315,7 @@ mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f glthread/*.$(OBJEXT)
-rm -f uniconv/*.$(OBJEXT)
+ -rm -f unictype/*.$(OBJEXT)
-rm -f unilbrk/*.$(OBJEXT)
-rm -f uniname/*.$(OBJEXT)
-rm -f unistr/*.$(OBJEXT)
@@ -3815,6 +4326,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftell.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftello.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@
@@ -3822,6 +4334,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randomd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read-file.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
@@ -3844,12 +4357,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-copy-acl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-copy-file.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ctype.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup-safer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fabs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@
@@ -3879,14 +4394,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ignore-value.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isinf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnan.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnand-nolibm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnand.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanf-nolibm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanl-nolibm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswblank.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-langinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-linkedhash_list.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-log10.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-math.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc-w32.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsinit.Po@am__quote@
@@ -3906,6 +4432,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_addclose.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_adddup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_addopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pow.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-quotearg-simple.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-raise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rawmemchr.Po@am__quote@
@@ -3922,6 +4449,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sh-quote.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signbit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigpipe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sleep.Po@am__quote@
@@ -3930,6 +4458,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-pipe-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdalign.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@
@@ -3975,6 +4504,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctomb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/thread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@uniconv/$(DEPDIR)/test-u8-conv-from-enc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/test-ctype_space.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@unilbrk/$(DEPDIR)/test-u8-width-linebreaks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@uniname/$(DEPDIR)/test-uninames.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u16-mbtouc.Po@am__quote@
@@ -4147,7 +4677,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -4258,27 +4788,6 @@ recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
am__force_recheck=am--force-recheck \
TEST_LOGS="$$log_list"; \
exit $$?
-test-file-has-acl.sh.log: test-file-has-acl.sh
- @p='test-file-has-acl.sh'; \
- b='test-file-has-acl.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-file-has-acl-1.sh.log: test-file-has-acl-1.sh
- @p='test-file-has-acl-1.sh'; \
- b='test-file-has-acl-1.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-file-has-acl-2.sh.log: test-file-has-acl-2.sh
- @p='test-file-has-acl-2.sh'; \
- b='test-file-has-acl-2.sh'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
test-set-mode-acl.sh.log: test-set-mode-acl.sh
@p='test-set-mode-acl.sh'; \
b='test-set-mode-acl.sh'; \
@@ -4461,6 +4970,13 @@ test-copy-file-2.sh.log: test-copy-file-2.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-ctype.log: test-ctype$(EXEEXT)
+ @p='test-ctype$(EXEEXT)'; \
+ b='test-ctype'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-dirent.log: test-dirent$(EXEEXT)
@p='test-dirent$(EXEEXT)'; \
b='test-dirent'; \
@@ -4496,6 +5012,13 @@ test-errno.log: test-errno$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fabs.log: test-fabs$(EXEEXT)
+ @p='test-fabs$(EXEEXT)'; \
+ b='test-fabs'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fcntl-h.log: test-fcntl-h$(EXEEXT)
@p='test-fcntl-h$(EXEEXT)'; \
b='test-fcntl-h'; \
@@ -4524,6 +5047,27 @@ test-fgetc.log: test-fgetc$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-file-has-acl.sh.log: test-file-has-acl.sh
+ @p='test-file-has-acl.sh'; \
+ b='test-file-has-acl.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-file-has-acl-1.sh.log: test-file-has-acl-1.sh
+ @p='test-file-has-acl-1.sh'; \
+ b='test-file-has-acl-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-file-has-acl-2.sh.log: test-file-has-acl-2.sh
+ @p='test-file-has-acl-2.sh'; \
+ b='test-file-has-acl-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-float.log: test-float$(EXEEXT)
@p='test-float$(EXEEXT)'; \
b='test-float'; \
@@ -4706,6 +5250,62 @@ test-inttypes.log: test-inttypes$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isinf.log: test-isinf$(EXEEXT)
+ @p='test-isinf$(EXEEXT)'; \
+ b='test-isinf'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnan.log: test-isnan$(EXEEXT)
+ @p='test-isnan$(EXEEXT)'; \
+ b='test-isnan'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnand-nolibm.log: test-isnand-nolibm$(EXEEXT)
+ @p='test-isnand-nolibm$(EXEEXT)'; \
+ b='test-isnand-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnand.log: test-isnand$(EXEEXT)
+ @p='test-isnand$(EXEEXT)'; \
+ b='test-isnand'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnanf-nolibm.log: test-isnanf-nolibm$(EXEEXT)
+ @p='test-isnanf-nolibm$(EXEEXT)'; \
+ b='test-isnanf-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnanf.log: test-isnanf$(EXEEXT)
+ @p='test-isnanf$(EXEEXT)'; \
+ b='test-isnanf'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnanl-nolibm.log: test-isnanl-nolibm$(EXEEXT)
+ @p='test-isnanl-nolibm$(EXEEXT)'; \
+ b='test-isnanl-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-isnanl.log: test-isnanl$(EXEEXT)
+ @p='test-isnanl$(EXEEXT)'; \
+ b='test-isnanl'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-iswblank.log: test-iswblank$(EXEEXT)
@p='test-iswblank$(EXEEXT)'; \
b='test-iswblank'; \
@@ -4713,6 +5313,13 @@ test-iswblank.log: test-iswblank$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-langinfo.log: test-langinfo$(EXEEXT)
+ @p='test-langinfo$(EXEEXT)'; \
+ b='test-langinfo'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-linkedhash_list.log: test-linkedhash_list$(EXEEXT)
@p='test-linkedhash_list$(EXEEXT)'; \
b='test-linkedhash_list'; \
@@ -4741,6 +5348,13 @@ test-lock.log: test-lock$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-log10.log: test-log10$(EXEEXT)
+ @p='test-log10$(EXEEXT)'; \
+ b='test-log10'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-lseek.sh.log: test-lseek.sh
@p='test-lseek.sh'; \
b='test-lseek.sh'; \
@@ -4762,6 +5376,13 @@ test-malloca.log: test-malloca$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-math.log: test-math$(EXEEXT)
+ @p='test-math$(EXEEXT)'; \
+ b='test-math'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc1.sh.log: test-mbrtowc1.sh
@p='test-mbrtowc1.sh'; \
b='test-mbrtowc1.sh'; \
@@ -4958,6 +5579,13 @@ test-posix_spawn2.log: test-posix_spawn2$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pow.log: test-pow$(EXEEXT)
+ @p='test-pow$(EXEEXT)'; \
+ b='test-pow'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-quotearg-simple.log: test-quotearg-simple$(EXEEXT)
@p='test-quotearg-simple$(EXEEXT)'; \
b='test-quotearg-simple'; \
@@ -5056,6 +5684,13 @@ test-signal-h.log: test-signal-h$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-signbit.log: test-signbit$(EXEEXT)
+ @p='test-signbit$(EXEEXT)'; \
+ b='test-signbit'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sigpipe.sh.log: test-sigpipe.sh
@p='test-sigpipe.sh'; \
b='test-sigpipe.sh'; \
@@ -5105,6 +5740,13 @@ test-stat.log: test-stat$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-stdalign.log: test-stdalign$(EXEEXT)
+ @p='test-stdalign$(EXEEXT)'; \
+ b='test-stdalign'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdbool.log: test-stdbool$(EXEEXT)
@p='test-stdbool$(EXEEXT)'; \
b='test-stdbool'; \
@@ -5301,6 +5943,13 @@ test-u8-conv-from-enc.log: test-u8-conv-from-enc$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-ctype_space.log: test-ctype_space$(EXEEXT)
+ @p='test-ctype_space$(EXEEXT)'; \
+ b='test-ctype_space'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-u8-width-linebreaks.log: test-u8-width-linebreaks$(EXEEXT)
@p='test-u8-width-linebreaks$(EXEEXT)'; \
b='test-u8-width-linebreaks'; \
@@ -5625,6 +6274,8 @@ distclean-generic:
-rm -f glthread/$(am__dirstamp)
-rm -f uniconv/$(DEPDIR)/$(am__dirstamp)
-rm -f uniconv/$(am__dirstamp)
+ -rm -f unictype/$(DEPDIR)/$(am__dirstamp)
+ -rm -f unictype/$(am__dirstamp)
-rm -f unilbrk/$(DEPDIR)/$(am__dirstamp)
-rm -f unilbrk/$(am__dirstamp)
-rm -f uniname/$(DEPDIR)/$(am__dirstamp)
@@ -5645,7 +6296,7 @@ clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-recursive
- -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) uniconv/$(DEPDIR) unilbrk/$(DEPDIR) uniname/$(DEPDIR) unistr/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) uniconv/$(DEPDIR) unictype/$(DEPDIR) unilbrk/$(DEPDIR) uniname/$(DEPDIR) unistr/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -5691,7 +6342,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) uniconv/$(DEPDIR) unilbrk/$(DEPDIR) uniname/$(DEPDIR) unistr/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) uniconv/$(DEPDIR) unictype/$(DEPDIR) unilbrk/$(DEPDIR) uniname/$(DEPDIR) unistr/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -5729,6 +6380,26 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
+
+# We need the following in order to create <ctype.h> when the system
+# doesn't have one that works with the given compiler.
+ctype.h: ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \
+ -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \
+ -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/ctype.in.h; \
+ } > $@-t && \
+ mv $@-t $@
# We need the following in order to create <inttypes.h> when the system
# doesn't have one that works with the given compiler.
@@ -5824,6 +6495,17 @@ warn-on-use.h: $(top_srcdir)/../build-aux/snippet/warn-on-use.h
> $@-t && \
mv $@-t $@
+# We need the following in order to create <stdalign.h> when the system
+# doesn't have one that works.
+@GL_GENERATE_STDALIGN_H_TRUE@stdalign.h: stdalign.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDALIGN_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_STDALIGN_H_TRUE@ cat $(srcdir)/stdalign.in.h; \
+@GL_GENERATE_STDALIGN_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDALIGN_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDALIGN_H_FALSE@stdalign.h: $(top_builddir)/config.status
+@GL_GENERATE_STDALIGN_H_FALSE@ rm -f $@
+
# Clean up after Solaris cc.
clean-local:
rm -rf SunWS_cache
diff --git a/gettext-tools/gnulib-tests/btowc.c b/gettext-tools/gnulib-tests/btowc.c
index b06ca2e..2e32dee 100644
--- a/gettext-tools/gnulib-tests/btowc.c
+++ b/gettext-tools/gnulib-tests/btowc.c
@@ -1,5 +1,5 @@
/* Convert unibyte character to wide character.
- Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/ctype.in.h b/gettext-tools/gnulib-tests/ctype.in.h
new file mode 100644
index 0000000..def19e9
--- /dev/null
+++ b/gettext-tools/gnulib-tests/ctype.in.h
@@ -0,0 +1,57 @@
+/* A substitute for ISO C99 <ctype.h>, for platforms on which it is incomplete.
+
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+ 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 3, 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible. */
+
+/*
+ * ISO C 99 <ctype.h> for platforms on which it is incomplete.
+ * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html>
+ */
+
+#ifndef _@GUARD_PREFIX@_CTYPE_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* Include the original <ctype.h>. */
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_CTYPE_H@
+
+#ifndef _@GUARD_PREFIX@_CTYPE_H
+#define _@GUARD_PREFIX@_CTYPE_H
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* Return non-zero if c is a blank, i.e. a space or tab character. */
+#if @GNULIB_ISBLANK@
+# if !@HAVE_ISBLANK@
+_GL_EXTERN_C int isblank (int c);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef isblank
+# if HAVE_RAW_DECL_ISBLANK
+_GL_WARN_ON_USE (isblank, "isblank is unportable - "
+ "use gnulib module isblank for portability");
+# endif
+#endif
+
+#endif /* _@GUARD_PREFIX@_CTYPE_H */
+#endif /* _@GUARD_PREFIX@_CTYPE_H */
diff --git a/gettext-tools/gnulib-tests/dup.c b/gettext-tools/gnulib-tests/dup.c
index c813df6..20f0453 100644
--- a/gettext-tools/gnulib-tests/dup.c
+++ b/gettext-tools/gnulib-tests/dup.c
@@ -1,6 +1,6 @@
/* Duplicate an open file descriptor.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/fdopen.c b/gettext-tools/gnulib-tests/fdopen.c
index eded1a6..b72c0e8 100644
--- a/gettext-tools/gnulib-tests/fdopen.c
+++ b/gettext-tools/gnulib-tests/fdopen.c
@@ -1,5 +1,5 @@
/* Open a stream with a given file descriptor.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/file-has-acl.c b/gettext-tools/gnulib-tests/file-has-acl.c
new file mode 100644
index 0000000..6027c2e
--- /dev/null
+++ b/gettext-tools/gnulib-tests/file-has-acl.c
@@ -0,0 +1,503 @@
+/* Test whether a file has a nontrivial ACL. -*- coding: utf-8 -*-
+
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+
+ Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
+
+/* Without this pragma, gcc 4.7.0 20120126 may suggest that the
+ file_has_acl function might be candidate for attribute 'const' */
+#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+# pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
+#endif
+
+#include <config.h>
+
+#include "acl.h"
+
+#include "acl-internal.h"
+
+#if GETXATTR_WITH_POSIX_ACLS
+# include <sys/xattr.h>
+# include <linux/xattr.h>
+#endif
+
+/* Return 1 if NAME has a nontrivial access control list,
+ 0 if ACLs are not supported, or if NAME has no or only a base ACL,
+ and -1 (setting errno) on error. Note callers can determine
+ if ACLs are not supported as errno is set in that case also.
+ SB must be set to the stat buffer of NAME,
+ obtained through stat() or lstat(). */
+
+int
+file_has_acl (char const *name, struct stat const *sb)
+{
+#if USE_ACL
+ if (! S_ISLNK (sb->st_mode))
+ {
+
+# if GETXATTR_WITH_POSIX_ACLS
+
+ ssize_t ret;
+
+ ret = getxattr (name, XATTR_NAME_POSIX_ACL_ACCESS, NULL, 0);
+ if (ret < 0 && errno == ENODATA)
+ ret = 0;
+ else if (ret > 0)
+ return 1;
+
+ if (ret == 0 && S_ISDIR (sb->st_mode))
+ {
+ ret = getxattr (name, XATTR_NAME_POSIX_ACL_DEFAULT, NULL, 0);
+ if (ret < 0 && errno == ENODATA)
+ ret = 0;
+ else if (ret > 0)
+ return 1;
+ }
+
+ if (ret < 0)
+ return - acl_errno_valid (errno);
+ return ret;
+
+# elif HAVE_ACL_GET_FILE
+
+ /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
+ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+ int ret;
+
+ if (HAVE_ACL_EXTENDED_FILE) /* Linux */
+ {
+ /* On Linux, acl_extended_file is an optimized function: It only
+ makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for
+ ACL_TYPE_DEFAULT. */
+ ret = acl_extended_file (name);
+ }
+ else /* FreeBSD, Mac OS X, IRIX, Tru64 */
+ {
+# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
+ /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
+ and acl_get_file (name, ACL_TYPE_DEFAULT)
+ always return NULL / EINVAL. There is no point in making
+ these two useless calls. The real ACL is retrieved through
+ acl_get_file (name, ACL_TYPE_EXTENDED). */
+ acl_t acl = acl_get_file (name, ACL_TYPE_EXTENDED);
+ if (acl)
+ {
+ ret = acl_extended_nontrivial (acl);
+ acl_free (acl);
+ }
+ else
+ ret = -1;
+# else /* FreeBSD, IRIX, Tru64 */
+ acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS);
+ if (acl)
+ {
+ int saved_errno;
+
+ ret = acl_access_nontrivial (acl);
+ saved_errno = errno;
+ acl_free (acl);
+ errno = saved_errno;
+# if HAVE_ACL_FREE_TEXT /* Tru64 */
+ /* On OSF/1, acl_get_file (name, ACL_TYPE_DEFAULT) always
+ returns NULL with errno not set. There is no point in
+ making this call. */
+# else /* FreeBSD, IRIX */
+ /* On Linux, FreeBSD, IRIX, acl_get_file (name, ACL_TYPE_ACCESS)
+ and acl_get_file (name, ACL_TYPE_DEFAULT) on a directory
+ either both succeed or both fail; it depends on the
+ file system. Therefore there is no point in making the second
+ call if the first one already failed. */
+ if (ret == 0 && S_ISDIR (sb->st_mode))
+ {
+ acl = acl_get_file (name, ACL_TYPE_DEFAULT);
+ if (acl)
+ {
+ ret = (0 < acl_entries (acl));
+ acl_free (acl);
+ }
+ else
+ ret = -1;
+ }
+# endif
+ }
+ else
+ ret = -1;
+# endif
+ }
+ if (ret < 0)
+ return - acl_errno_valid (errno);
+ return ret;
+
+# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+
+# if defined ACL_NO_TRIVIAL
+
+ /* Solaris 10 (newer version), which has additional API declared in
+ <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial,
+ acl_fromtext, ...). */
+ return acl_trivial (name);
+
+# else /* Solaris, Cygwin, general case */
+
+ /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
+ of Unixware. The acl() call returns the access and default ACL both
+ at once. */
+ {
+ /* Initially, try to read the entries into a stack-allocated buffer.
+ Use malloc if it does not fit. */
+ enum
+ {
+ alloc_init = 4000 / sizeof (aclent_t), /* >= 3 */
+ alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (aclent_t))
+ };
+ aclent_t buf[alloc_init];
+ size_t alloc = alloc_init;
+ aclent_t *entries = buf;
+ aclent_t *malloced = NULL;
+ int count;
+
+ for (;;)
+ {
+ count = acl (name, GETACL, alloc, entries);
+ if (count < 0 && errno == ENOSPC)
+ {
+ /* Increase the size of the buffer. */
+ free (malloced);
+ if (alloc > alloc_max / 2)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ alloc = 2 * alloc; /* <= alloc_max */
+ entries = malloced =
+ (aclent_t *) malloc (alloc * sizeof (aclent_t));
+ if (entries == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ continue;
+ }
+ break;
+ }
+ if (count < 0)
+ {
+ if (errno == ENOSYS || errno == ENOTSUP)
+ ;
+ else
+ {
+ int saved_errno = errno;
+ free (malloced);
+ errno = saved_errno;
+ return -1;
+ }
+ }
+ else if (count == 0)
+ ;
+ else
+ {
+ /* Don't use MIN_ACL_ENTRIES: It's set to 4 on Cygwin, but Cygwin
+ returns only 3 entries for files with no ACL. But this is safe:
+ If there are more than 4 entries, there cannot be only the
+ "user::", "group::", "other:", and "mask:" entries. */
+ if (count > 4)
+ {
+ free (malloced);
+ return 1;
+ }
+
+ if (acl_nontrivial (count, entries))
+ {
+ free (malloced);
+ return 1;
+ }
+ }
+ free (malloced);
+ }
+
+# ifdef ACE_GETACL
+ /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
+ file systems (whereas the other ones are used in UFS file systems). */
+ {
+ /* Initially, try to read the entries into a stack-allocated buffer.
+ Use malloc if it does not fit. */
+ enum
+ {
+ alloc_init = 4000 / sizeof (ace_t), /* >= 3 */
+ alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t))
+ };
+ ace_t buf[alloc_init];
+ size_t alloc = alloc_init;
+ ace_t *entries = buf;
+ ace_t *malloced = NULL;
+ int count;
+
+ for (;;)
+ {
+ count = acl (name, ACE_GETACL, alloc, entries);
+ if (count < 0 && errno == ENOSPC)
+ {
+ /* Increase the size of the buffer. */
+ free (malloced);
+ if (alloc > alloc_max / 2)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ alloc = 2 * alloc; /* <= alloc_max */
+ entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t));
+ if (entries == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ continue;
+ }
+ break;
+ }
+ if (count < 0)
+ {
+ if (errno == ENOSYS || errno == EINVAL)
+ ;
+ else
+ {
+ int saved_errno = errno;
+ free (malloced);
+ errno = saved_errno;
+ return -1;
+ }
+ }
+ else if (count == 0)
+ ;
+ else
+ {
+ /* In the old (original Solaris 10) convention:
+ If there are more than 3 entries, there cannot be only the
+ ACE_OWNER, ACE_GROUP, ACE_OTHER entries.
+ In the newer Solaris 10 and Solaris 11 convention:
+ If there are more than 6 entries, there cannot be only the
+ ACE_OWNER, ACE_GROUP, ACE_EVERYONE entries, each once with
+ NEW_ACE_ACCESS_ALLOWED_ACE_TYPE and once with
+ NEW_ACE_ACCESS_DENIED_ACE_TYPE. */
+ if (count > 6)
+ {
+ free (malloced);
+ return 1;
+ }
+
+ if (acl_ace_nontrivial (count, entries))
+ {
+ free (malloced);
+ return 1;
+ }
+ }
+ free (malloced);
+ }
+# endif
+
+ return 0;
+# endif
+
+# elif HAVE_GETACL /* HP-UX */
+
+ {
+ struct acl_entry entries[NACLENTRIES];
+ int count;
+
+ count = getacl (name, NACLENTRIES, entries);
+
+ if (count < 0)
+ {
+ /* ENOSYS is seen on newer HP-UX versions.
+ EOPNOTSUPP is typically seen on NFS mounts.
+ ENOTSUP was seen on Quantum StorNext file systems (cvfs). */
+ if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
+ ;
+ else
+ return -1;
+ }
+ else if (count == 0)
+ return 0;
+ else /* count > 0 */
+ {
+ if (count > NACLENTRIES)
+ /* If NACLENTRIES cannot be trusted, use dynamic memory
+ allocation. */
+ abort ();
+
+ /* If there are more than 3 entries, there cannot be only the
+ (uid,%), (%,gid), (%,%) entries. */
+ if (count > 3)
+ return 1;
+
+ {
+ struct stat statbuf;
+
+ if (stat (name, &statbuf) < 0)
+ return -1;
+
+ return acl_nontrivial (count, entries);
+ }
+ }
+ }
+
+# if HAVE_ACLV_H /* HP-UX >= 11.11 */
+
+ {
+ struct acl entries[NACLVENTRIES];
+ int count;
+
+ count = acl ((char *) name, ACL_GET, NACLVENTRIES, entries);
+
+ if (count < 0)
+ {
+ /* EOPNOTSUPP is seen on NFS in HP-UX 11.11, 11.23.
+ EINVAL is seen on NFS in HP-UX 11.31. */
+ if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+ ;
+ else
+ return -1;
+ }
+ else if (count == 0)
+ return 0;
+ else /* count > 0 */
+ {
+ if (count > NACLVENTRIES)
+ /* If NACLVENTRIES cannot be trusted, use dynamic memory
+ allocation. */
+ abort ();
+
+ /* If there are more than 4 entries, there cannot be only the
+ four base ACL entries. */
+ if (count > 4)
+ return 1;
+
+ return aclv_nontrivial (count, entries);
+ }
+ }
+
+# endif
+
+# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */
+
+ acl_type_t type;
+ char aclbuf[1024];
+ void *acl = aclbuf;
+ size_t aclsize = sizeof (aclbuf);
+ mode_t mode;
+
+ for (;;)
+ {
+ /* The docs say that type being 0 is equivalent to ACL_ANY, but it
+ is not true, in AIX 5.3. */
+ type.u64 = ACL_ANY;
+ if (aclx_get (name, 0, &type, aclbuf, &aclsize, &mode) >= 0)
+ break;
+ if (errno == ENOSYS)
+ return 0;
+ if (errno != ENOSPC)
+ {
+ if (acl != aclbuf)
+ {
+ int saved_errno = errno;
+ free (acl);
+ errno = saved_errno;
+ }
+ return -1;
+ }
+ aclsize = 2 * aclsize;
+ if (acl != aclbuf)
+ free (acl);
+ acl = malloc (aclsize);
+ if (acl == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ }
+
+ if (type.u64 == ACL_AIXC)
+ {
+ int result = acl_nontrivial ((struct acl *) acl);
+ if (acl != aclbuf)
+ free (acl);
+ return result;
+ }
+ else if (type.u64 == ACL_NFS4)
+ {
+ int result = acl_nfs4_nontrivial ((nfs4_acl_int_t *) acl);
+ if (acl != aclbuf)
+ free (acl);
+ return result;
+ }
+ else
+ {
+ /* A newer type of ACL has been introduced in the system.
+ We should better support it. */
+ if (acl != aclbuf)
+ free (acl);
+ errno = EINVAL;
+ return -1;
+ }
+
+# elif HAVE_STATACL /* older AIX */
+
+ union { struct acl a; char room[4096]; } u;
+
+ if (statacl ((char *) name, STX_NORMAL, &u.a, sizeof (u)) < 0)
+ return -1;
+
+ return acl_nontrivial (&u.a);
+
+# elif HAVE_ACLSORT /* NonStop Kernel */
+
+ {
+ struct acl entries[NACLENTRIES];
+ int count;
+
+ count = acl ((char *) name, ACL_GET, NACLENTRIES, entries);
+
+ if (count < 0)
+ {
+ if (errno == ENOSYS || errno == ENOTSUP)
+ ;
+ else
+ return -1;
+ }
+ else if (count == 0)
+ return 0;
+ else /* count > 0 */
+ {
+ if (count > NACLENTRIES)
+ /* If NACLENTRIES cannot be trusted, use dynamic memory
+ allocation. */
+ abort ();
+
+ /* If there are more than 4 entries, there cannot be only the
+ four base ACL entries. */
+ if (count > 4)
+ return 1;
+
+ return acl_nontrivial (count, entries);
+ }
+ }
+
+# endif
+ }
+#endif
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/fpucw.h b/gettext-tools/gnulib-tests/fpucw.h
index 9170c27..b8cdf7e 100644
--- a/gettext-tools/gnulib-tests/fpucw.h
+++ b/gettext-tools/gnulib-tests/fpucw.h
@@ -1,5 +1,5 @@
-/* Manipulating the FPU control word.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Manipulating the FPU control word. -*- coding: utf-8 -*-
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/ftell.c b/gettext-tools/gnulib-tests/ftell.c
index d5cbccd..7f11eb3 100644
--- a/gettext-tools/gnulib-tests/ftell.c
+++ b/gettext-tools/gnulib-tests/ftell.c
@@ -1,5 +1,5 @@
/* An ftell() function that works around platform bugs.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/ftello.c b/gettext-tools/gnulib-tests/ftello.c
index ee4f7dc..d6f221a 100644
--- a/gettext-tools/gnulib-tests/ftello.c
+++ b/gettext-tools/gnulib-tests/ftello.c
@@ -1,5 +1,5 @@
/* An ftello() function that works around platform bugs.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/getcwd-lgpl.c b/gettext-tools/gnulib-tests/getcwd-lgpl.c
index 044c000..1e17e19 100644
--- a/gettext-tools/gnulib-tests/getcwd-lgpl.c
+++ b/gettext-tools/gnulib-tests/getcwd-lgpl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of gnulib.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/getpagesize.c b/gettext-tools/gnulib-tests/getpagesize.c
index 86e1271..10e9c18 100644
--- a/gettext-tools/gnulib-tests/getpagesize.c
+++ b/gettext-tools/gnulib-tests/getpagesize.c
@@ -1,6 +1,6 @@
/* getpagesize emulation for systems where it cannot be done in a C macro.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/glthread/thread.c b/gettext-tools/gnulib-tests/glthread/thread.c
index cec0b7c..d3829ce 100644
--- a/gettext-tools/gnulib-tests/glthread/thread.c
+++ b/gettext-tools/gnulib-tests/glthread/thread.c
@@ -1,5 +1,5 @@
/* Creating and controlling threads.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/glthread/thread.h b/gettext-tools/gnulib-tests/glthread/thread.h
index 509db6b..2817437 100644
--- a/gettext-tools/gnulib-tests/glthread/thread.h
+++ b/gettext-tools/gnulib-tests/glthread/thread.h
@@ -1,5 +1,5 @@
/* Creating and controlling threads.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/glthread/yield.h b/gettext-tools/gnulib-tests/glthread/yield.h
index b929224..b18db5b 100644
--- a/gettext-tools/gnulib-tests/glthread/yield.h
+++ b/gettext-tools/gnulib-tests/glthread/yield.h
@@ -1,5 +1,5 @@
/* Yielding the processor to other threads and processes.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/infinity.h b/gettext-tools/gnulib-tests/infinity.h
new file mode 100644
index 0000000..45c30bd
--- /dev/null
+++ b/gettext-tools/gnulib-tests/infinity.h
@@ -0,0 +1,60 @@
+/* Macros for infinity.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+
+/* Infinityf () returns a 'float' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */
+#if defined _MSC_VER
+static float
+Infinityf ()
+{
+ static float zero = 0.0f;
+ return 1.0f / zero;
+}
+#else
+# define Infinityf() (1.0f / 0.0f)
+#endif
+
+
+/* Infinityd () returns a 'double' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */
+#if defined _MSC_VER
+static double
+Infinityd ()
+{
+ static double zero = 0.0;
+ return 1.0 / zero;
+}
+#else
+# define Infinityd() (1.0 / 0.0)
+#endif
+
+
+/* Infinityl () returns a 'long double' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */
+#if defined _MSC_VER
+static double
+Infinityl ()
+{
+ static long double zero = 0.0L;
+ return 1.0L / zero;
+}
+#else
+# define Infinityl() (1.0L / 0.0L)
+#endif
diff --git a/gettext-tools/gnulib-tests/init.sh b/gettext-tools/gnulib-tests/init.sh
index fbd293d..d366206 100644
--- a/gettext-tools/gnulib-tests/init.sh
+++ b/gettext-tools/gnulib-tests/init.sh
@@ -1,6 +1,6 @@
# source this file; set up for tests
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
# 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
@@ -93,6 +93,27 @@ skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+# This is used to simplify checking of the return value
+# which is useful when ensuring a command fails as desired.
+# I.e., just doing `command ... &&fail=1` will not catch
+# a segfault in command for example. With this helper you
+# instead check an explicit exit code like
+# returns_ 1 command ... || fail
+returns_ () {
+ # Disable tracing so it doesn't interfere with stderr of the wrapped command
+ { set +x; } 2>/dev/null
+
+ local exp_exit="$1"
+ shift
+ "$@"
+ test $? -eq $exp_exit && ret_=0 || ret_=1
+
+ if test "$VERBOSE" = yes && test "$gl_set_x_corrupts_stderr_" = false; then
+ set -x
+ fi
+ { return $ret_; } 2>/dev/null
+}
+
# Sanitize this shell to POSIX mode, if possible.
DUALCASE=1; export DUALCASE
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -129,6 +150,7 @@ fi
# ? - not ok
gl_shell_test_script_='
test $(echo y) = y || exit 1
+f_local_() { local v=1; }; f_local_ || exit 1
score_=10
if test "$VERBOSE" = yes; then
test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9
diff --git a/gettext-tools/gnulib-tests/inttypes.in.h b/gettext-tools/gnulib-tests/inttypes.in.h
index 4b2a13b..78846f6 100644
--- a/gettext-tools/gnulib-tests/inttypes.in.h
+++ b/gettext-tools/gnulib-tests/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Derek Price.
This file is part of gnulib.
@@ -51,6 +51,10 @@
#endif
/* Get CHAR_BIT. */
#include <limits.h>
+/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <stdio.h>
+#endif
#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
diff --git a/gettext-tools/gnulib-tests/lseek.c b/gettext-tools/gnulib-tests/lseek.c
index f19b41b..fdec6cd 100644
--- a/gettext-tools/gnulib-tests/lseek.c
+++ b/gettext-tools/gnulib-tests/lseek.c
@@ -1,5 +1,5 @@
/* An lseek() function that detects pipes.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/macros.h b/gettext-tools/gnulib-tests/macros.h
index 0d7e378..b6fdd1c 100644
--- a/gettext-tools/gnulib-tests/macros.h
+++ b/gettext-tools/gnulib-tests/macros.h
@@ -1,5 +1,5 @@
/* Common macros used by gnulib tests.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/mbtowc-impl.h b/gettext-tools/gnulib-tests/mbtowc-impl.h
index 3cc70b0..5c60478 100644
--- a/gettext-tools/gnulib-tests/mbtowc-impl.h
+++ b/gettext-tools/gnulib-tests/mbtowc-impl.h
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/mbtowc.c b/gettext-tools/gnulib-tests/mbtowc.c
index 93a7445..e58053d 100644
--- a/gettext-tools/gnulib-tests/mbtowc.c
+++ b/gettext-tools/gnulib-tests/mbtowc.c
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/minus-zero.h b/gettext-tools/gnulib-tests/minus-zero.h
new file mode 100644
index 0000000..79291ee
--- /dev/null
+++ b/gettext-tools/gnulib-tests/minus-zero.h
@@ -0,0 +1,74 @@
+/* Macros for floating-point negative zero.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Keep in sync with m4/minus-zero.m4! */
+
+#include <float.h>
+
+
+/* minus_zerof represents the value -0.0f. */
+
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0f.
+ ICC 10.0 has a bug when optimizing the expression -zero.
+ The expression -FLT_MIN * FLT_MIN does not work when cross-compiling
+ to PowerPC on Mac OS X 10.5. */
+#if defined __hpux || defined __sgi || defined __ICC
+static float
+compute_minus_zerof (void)
+{
+ return -FLT_MIN * FLT_MIN;
+}
+# define minus_zerof compute_minus_zerof ()
+#else
+float minus_zerof = -0.0f;
+#endif
+
+
+/* minus_zerod represents the value -0.0. */
+
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
+ ICC 10.0 has a bug when optimizing the expression -zero.
+ The expression -DBL_MIN * DBL_MIN does not work when cross-compiling
+ to PowerPC on Mac OS X 10.5. */
+#if defined __hpux || defined __sgi || defined __ICC
+static double
+compute_minus_zerod (void)
+{
+ return -DBL_MIN * DBL_MIN;
+}
+# define minus_zerod compute_minus_zerod ()
+#else
+double minus_zerod = -0.0;
+#endif
+
+
+/* minus_zerol represents the value -0.0L. */
+
+/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0L.
+ IRIX cc can't put -0.0L into .data, but can compute at runtime.
+ ICC 10.0 has a bug when optimizing the expression -zero.
+ The expression -LDBL_MIN * LDBL_MIN does not work when cross-compiling
+ to PowerPC on Mac OS X 10.5. */
+#if defined __hpux || defined __sgi || defined __ICC
+static long double
+compute_minus_zerol (void)
+{
+ return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
+#else
+long double minus_zerol = -0.0L;
+#endif
diff --git a/gettext-tools/gnulib-tests/nan.h b/gettext-tools/gnulib-tests/nan.h
new file mode 100644
index 0000000..9f6819c
--- /dev/null
+++ b/gettext-tools/gnulib-tests/nan.h
@@ -0,0 +1,70 @@
+/* Macros for not-a-number.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+
+/* NaNf () returns a 'float' not-a-number. */
+
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. */
+#if defined __DECC || defined _MSC_VER
+static float
+NaNf ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+#else
+# define NaNf() (0.0f / 0.0f)
+#endif
+
+
+/* NaNd () returns a 'double' not-a-number. */
+
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. */
+#if defined __DECC || defined _MSC_VER
+static double
+NaNd ()
+{
+ static double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNd() (0.0 / 0.0)
+#endif
+
+
+/* NaNl () returns a 'long double' not-a-number. */
+
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion.
+ The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#elif defined _MSC_VER
+static long double
+NaNl ()
+{
+ static long double zero = 0.0L;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
diff --git a/gettext-tools/gnulib-tests/putenv.c b/gettext-tools/gnulib-tests/putenv.c
index b9f5079..925bb2f 100644
--- a/gettext-tools/gnulib-tests/putenv.c
+++ b/gettext-tools/gnulib-tests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2014 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/gettext-tools/gnulib-tests/randomd.c b/gettext-tools/gnulib-tests/randomd.c
new file mode 100644
index 0000000..9642428
--- /dev/null
+++ b/gettext-tools/gnulib-tests/randomd.c
@@ -0,0 +1,1028 @@
+/* Some random 'double' numbers used by gnulib tests.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "macros.h"
+
+/* Some numbers in the interval [0,1). */
+
+const double randomd[1000] =
+{
+ /* Some not so random numbers at the beginning. */
+ 0.0,
+ /* Then some numbers generated by GNU clisp. */
+ 0.89255299921822260894833866359,
+ 0.56160033401164667976788987953,
+ 0.51743003502243816003616725706,
+ 0.78419011286685927826225711525,
+ 0.64400370685467819470063888148,
+ 0.38151255107934048933308886009,
+ 0.279822118770531878839000163945,
+ 0.51983544681375980919751125922,
+ 0.314601557551148376372971500376,
+ 0.44551938964685651088492647794,
+ 0.44235192503793823441729544512,
+ 0.0040120762636767874958681841509,
+ 0.57608572759464216512285032474,
+ 0.69151953350396585566714564265,
+ 0.65634190642598148152780718322,
+ 0.68520459394253807590733184567,
+ 0.60728078832107635628786818115,
+ 0.376679934380311318950949959986,
+ 0.48893422455419005003224231708,
+ 0.59664228319132670346209747371,
+ 0.70162191594290728927555900075,
+ 0.70981089000005327192380201706,
+ 0.480574069305863387682360414433,
+ 0.369264627455974856929910550376,
+ 0.42224495444170593700839286742,
+ 0.96974027194201320964041066537,
+ 0.69950081092902694549973698004,
+ 0.366921803754944985368022837045,
+ 0.19460757354611588216534077527,
+ 0.046437559879825520495822908204,
+ 0.57694149138457596563075731094,
+ 0.49632733844850578203860859535,
+ 0.80735347459453553970910033766,
+ 0.210271595033975357161360058967,
+ 0.176539870249396534142059724214,
+ 0.75320267419158828905982021879,
+ 0.09535042912249636739069790414,
+ 0.41433965906065337672703334968,
+ 0.62189345390648146852641556292,
+ 0.322595610794052908153116342595,
+ 0.173860860827838938281708881865,
+ 0.55258425878412963601205794028,
+ 0.066559056629606284504735241978,
+ 0.0193835990781649263368095562556,
+ 0.127101629778251450428653553143,
+ 0.9603475517586241593077319367,
+ 0.68429794014738591042302507235,
+ 0.0139808909843634026741151214975,
+ 0.0036035679428138856395527711611,
+ 0.072656401341518399752950821809,
+ 0.229562863635014486626281702425,
+ 0.88337277579960676546469424767,
+ 0.88850212167800818244030104263,
+ 0.208063225990716089095767541316,
+ 0.268304917462565269805874454916,
+ 0.3195427196271617997151392088,
+ 0.59101407246003811289573881403,
+ 0.972093867752368095080492689,
+ 0.409246208960242309650511849637,
+ 0.84250639316418167849010246997,
+ 0.063842712141624332977179722113,
+ 0.96470327141354888687046060373,
+ 0.43109879978424216966175314888,
+ 0.14551248610248934836482236208,
+ 0.84819094513299136408788493212,
+ 0.41166757935215520377191731704,
+ 0.96020915727830366672170130175,
+ 0.55313106883839046701902022583,
+ 0.9796595451013758579218900134,
+ 0.74222694300533435700276764516,
+ 0.117294243075539310976051880564,
+ 0.32216824750097146958151447387,
+ 0.59090211400137031908131441,
+ 0.116841680533127258304897076543,
+ 0.83595865401141052310417569507,
+ 0.249488155772987988074361149176,
+ 0.67896015287499211280971531326,
+ 0.72256498621401843299673078876,
+ 0.327315362968271601258667297595,
+ 0.37438214921868498405279953481,
+ 0.76929694812658272272027330778,
+ 0.44282297788821568912463681727,
+ 0.59517407740270913902014268964,
+ 0.346217547960702024419571713567,
+ 0.68339868731911838904373225224,
+ 0.057507087039986776837238366719,
+ 0.1189343986186977384509521024,
+ 0.65646666532916174831489781194,
+ 0.80925124288745606089697795707,
+ 0.61302937875769552609444313984,
+ 0.64367434863387777107222872563,
+ 0.059228300879437554416166010005,
+ 0.76899237494115809397158171526,
+ 0.335797991302131791511629123206,
+ 0.72923178692628392090326699514,
+ 0.79300056654108221012876564405,
+ 0.58866760551158502690719665335,
+ 0.65249222174748700395779659047,
+ 0.79573528799715877963614353006,
+ 0.101363067664632247385474166088,
+ 0.392494669960902131436398643207,
+ 0.37323453200630776302168616197,
+ 0.29857554596542776498065634631,
+ 0.9796202149626312305197715787,
+ 0.58770219934833805722677794788,
+ 0.126574575737099431915356308504,
+ 0.51086682994362911961448609847,
+ 0.26221303911946316754295166201,
+ 0.87331402410090670707406246035,
+ 0.08604799064198292716037672196,
+ 0.77880380648915901962140523059,
+ 0.34131646312914811415381942246,
+ 0.422787222735822749759714960156,
+ 0.16550478231620269333824890372,
+ 0.84087065799129220871741135711,
+ 0.96561976597443996963329538915,
+ 0.059890627133354026356081805998,
+ 0.09359839900604706997291172522,
+ 0.61463026659668017286248279853,
+ 0.220582135665522265733252389516,
+ 0.30146695094150797543070759948,
+ 0.406591688270652513808216198946,
+ 0.206959751707199812083987569348,
+ 0.71382992952779021033600406503,
+ 0.98971690700151825984363090029,
+ 0.86339958328134745391858859595,
+ 0.70037828363249257457230217791,
+ 0.97380974339470107231135690474,
+ 0.9184635965630883290893011311,
+ 0.418605216026507942885819265225,
+ 0.61793227858714759711625818653,
+ 0.67394880797682685081908511723,
+ 0.98871101941805039780826467279,
+ 0.65973593853137069988371349845,
+ 0.93348525072186907424189028727,
+ 0.59164378220465485142298641014,
+ 0.95303768733773138214124075961,
+ 0.88667310242538944858141870801,
+ 0.83785319781204861623008709825,
+ 0.54026788227426708201242457367,
+ 0.74842599257855801522259951132,
+ 0.286624102305531463268442510375,
+ 0.41180484980938874161376712508,
+ 0.22754664620316922947541651384,
+ 0.62360609793949755240041318939,
+ 0.3311618194042077047850111557,
+ 0.315407885695867020730009836503,
+ 0.215221706711430951961780213436,
+ 0.168600630933631406101821024413,
+ 0.62661489373200405241464923618,
+ 0.95357070304277219756741072036,
+ 0.5186418766697788447635039428,
+ 0.70772930521061953327927296944,
+ 0.410376884797056150221504703145,
+ 0.39705302343406249619577860633,
+ 0.79215885822696034431481699125,
+ 0.157831717946112504384603002152,
+ 0.26892306298536012837855426922,
+ 0.15697088614321016223211167568,
+ 0.41395315712905823355235182393,
+ 0.043977876945327860015049914653,
+ 0.91453495544799358550673657283,
+ 0.46230093259088633973148827911,
+ 0.79479146768024434444120965094,
+ 0.1466704986407674407377422815,
+ 0.093614591443204076599999803382,
+ 0.66061870961706149406527099303,
+ 0.087462146328394574476138187113,
+ 0.79683664444310818297700615557,
+ 0.39732728185755441060070738751,
+ 0.141934473990413594291362391075,
+ 0.63111751995951919258061547632,
+ 0.78521985432793823024330967029,
+ 0.53307346282606806792796696141,
+ 0.61679109370763781010143645189,
+ 0.40696293619387120891515025426,
+ 0.68670343879278712242412028794,
+ 0.0115112936831136012901340526452,
+ 0.70866056737692430987650236649,
+ 0.75378980574358943122474800795,
+ 0.17133202766710894969283150847,
+ 0.36771201738922655520549864974,
+ 0.64614182581953931840374311331,
+ 0.354495602088990708111406368474,
+ 0.96418771817934443444348833491,
+ 0.51633426669933834634574104246,
+ 0.064671329812306055349433587193,
+ 0.084335079914541732137341401384,
+ 0.98578018340150609333535890283,
+ 0.32988119060114570391488875477,
+ 0.70568290443337103364762141207,
+ 0.7501960060851696034137148851,
+ 0.141312840936106004164373056114,
+ 0.60721022154106372815080238296,
+ 0.49179275887283771965744826261,
+ 0.85530668893284708999269819019,
+ 0.09730053915339358769067661488,
+ 0.48817911888023094845428570434,
+ 0.37116312252354470380676793579,
+ 0.61870369881699387959990992873,
+ 0.381874188039839457469043174076,
+ 0.68193837613090719561872304949,
+ 0.4773618313988618747215621251,
+ 0.152383599292709764750406667286,
+ 0.54317522808228983459963725598,
+ 0.363848788591302782268887022354,
+ 0.0105589810271147011378412305973,
+ 0.55582445068669939957392951111,
+ 0.99910376130213936748996659383,
+ 0.90286867348280161480903197439,
+ 0.48268382934936288156485037692,
+ 0.0976084557356802030533675394,
+ 0.29004949962481398455881920169,
+ 0.99169758897256717005011514856,
+ 0.20722895154834288274430061308,
+ 0.50294863638464584121275744208,
+ 0.71094033855350495714847377558,
+ 0.94078709219520224551350834268,
+ 0.48088262771516317628650315489,
+ 0.80538698628980761175811796611,
+ 0.83495029615293903361580945571,
+ 0.67996381940825251937974905761,
+ 0.57936805772275234468590364926,
+ 0.41778137764942046281708286844,
+ 0.161602687591454506771276482303,
+ 0.093910625156097743113739432334,
+ 0.45716763620641108625606409874,
+ 0.96455075374827233820027584808,
+ 0.5179966880512917274934448216,
+ 0.046797382046060065926143985952,
+ 0.83673567319931334127111064225,
+ 0.44224504444533247245974476514,
+ 0.73281179385894336737033582786,
+ 0.5642490153724193432309549673,
+ 0.83700200507325250303481208805,
+ 0.152714941779871552944298597052,
+ 0.38606607994977770238226473985,
+ 0.0155140917516105439042442246577,
+ 0.51621537013393688713546096688,
+ 0.311969390991657895966526156064,
+ 0.83890647777450698803932943984,
+ 0.54370750820133482930695388638,
+ 0.98636765788772465929756760473,
+ 0.77334255661128878905675504339,
+ 0.57070354296508751519811368688,
+ 0.8365252076669013372866223481,
+ 0.344601601940890721182485798794,
+ 0.92658930620470543221158939208,
+ 0.72724523363899270076210273102,
+ 0.413672082025645586061788451734,
+ 0.5132836422023222169840403333,
+ 0.82135610583961360173883281975,
+ 0.423835065039748889417547786563,
+ 0.87083598844595488941471761572,
+ 0.59009392451459866513886634656,
+ 0.206124826643305920436961792363,
+ 0.288685540685143988030522421633,
+ 0.7944357933456167153993184889,
+ 0.090945230657758780394996530608,
+ 0.52981750421369669363095418817,
+ 0.091368944984485824360107751981,
+ 0.81824925769562351657564377069,
+ 0.083315412912658535228751011063,
+ 0.59602276778799576464600065047,
+ 0.52258035262146456789454411102,
+ 0.394692074165738897132014378974,
+ 0.92031214264405188928824363967,
+ 0.32812665356161216265971156268,
+ 0.79754299890007289545033977389,
+ 0.3029021512227565310021437326,
+ 0.81425785760698537744367921928,
+ 0.85199399843570233736733560413,
+ 0.096629890212080240754541391968,
+ 0.60643798959967098211181910285,
+ 0.75368518979236587723780129098,
+ 0.451368813651510369666120626045,
+ 0.86189868235067352904955566961,
+ 0.239506411296874624231401913963,
+ 0.143392266376287906568670938457,
+ 0.035585084401323981008798496622,
+ 0.89407531932950775763701297226,
+ 0.56699767164913732414312190205,
+ 0.6107715946195223295493238966,
+ 0.980870588312723808697191463,
+ 0.37603666613089681502774907483,
+ 0.19565477083291620146833762404,
+ 0.70326913680165706368122461762,
+ 0.98247770640436619202690080984,
+ 0.54911931698472764719220618506,
+ 0.96749331150477343995263612791,
+ 0.9349501605275792139661332597,
+ 0.067704019779021886031495084945,
+ 0.52883185005352261786874768842,
+ 0.03879817199556086106868125058,
+ 0.011268895714104342862021635882,
+ 0.86781395233112768504418642287,
+ 0.73610697666830606371057497872,
+ 0.22595829849389174304359852447,
+ 0.95990840938724981323147621815,
+ 0.5938079875208820675776232526,
+ 0.78655922365792476391655372464,
+ 0.51099073264725007373467108776,
+ 0.66474884887866769539664215292,
+ 0.88640025828226102852258218854,
+ 0.39889893489572927635368967129,
+ 0.76340426725003756852384366924,
+ 0.485534753598641026618647825146,
+ 0.55957578573824837450384728978,
+ 0.50840543283094885180866842941,
+ 0.0102415845792896532313226969615,
+ 0.74666891036262398733922051708,
+ 0.49044748088989431070743849791,
+ 0.184017043174756439606592004597,
+ 0.0225210121470402648790231578307,
+ 0.096909683465740960387467976065,
+ 0.0521874432095560437920256545446,
+ 0.108114343037383115951564617563,
+ 0.77430486784405922952977031491,
+ 0.73286432949907824441702845144,
+ 0.083559249182272369453587951223,
+ 0.074541345541671560054508020717,
+ 0.55130541064331728019681677403,
+ 0.101450912226971008587146654246,
+ 0.74564503962660370005995595861,
+ 0.55903832180264925580029280922,
+ 0.86098138284846671753408133719,
+ 0.76146956314354797691373262733,
+ 0.5569854467166466965564479865,
+ 0.61138555623626762560168304163,
+ 0.93778268377974305185411499629,
+ 0.106728342608615813606903105742,
+ 0.51139895550624845300079248199,
+ 0.8826404150665399364200384063,
+ 0.79849755952621824621632991954,
+ 0.60058338183244813128378689372,
+ 0.57271235605091257806409062354,
+ 0.134476676178095582804914204515,
+ 0.62710051406343298533266304307,
+ 0.21517566131268423511744492316,
+ 0.87763268502269127056352092234,
+ 0.259516013975152388767641295316,
+ 0.54026961752737864438921779715,
+ 0.0321012344232942464157113655476,
+ 0.047765687217921465801489989111,
+ 0.17851281529041807770891682623,
+ 0.67864372391481596436180177405,
+ 0.27188630999531652193578141334,
+ 0.76570352378902765382129471855,
+ 0.55727605717645959087760838806,
+ 0.40035295538031700787360193533,
+ 0.65772683660586524086245866733,
+ 0.87515739410383285146563935658,
+ 0.51637173718066431535845791928,
+ 0.32843440805452173782945632394,
+ 0.46789250836790673252530282969,
+ 0.153916136058705475580104911632,
+ 0.38115724589238346986896925035,
+ 0.96911901452270741576104655076,
+ 0.327510878721849788805057952285,
+ 0.52921188196053063832762822112,
+ 0.357891066893689952162669812174,
+ 0.8109495999496825638917226258,
+ 0.87378695338223548954000159812,
+ 0.071735687760291841872657613394,
+ 0.22099818521305441851106524174,
+ 0.61319403424123059973018445501,
+ 0.49185069904977836269777464774,
+ 0.8465618819298531473261910176,
+ 0.88263955123256235889766657732,
+ 0.264605739218701311737446373095,
+ 0.157257748694727606809000832224,
+ 0.61172692557424578980817509135,
+ 0.89224381101792427145783648267,
+ 0.049436313890546252030141534714,
+ 0.78472068655126867546237630366,
+ 0.94890896727672958163705440614,
+ 0.61244719025309458330037069759,
+ 0.69652639673616920270100103049,
+ 0.82306805868313923466426022855,
+ 0.4619352653236511042512479492,
+ 0.248913888569715263431474781448,
+ 0.64972077945521993267494748532,
+ 0.058989138867897862567374093665,
+ 0.97969837050674699927934092348,
+ 0.112860503606029382332397067852,
+ 0.9148268966080465389473749031,
+ 0.80522292073416096202056634334,
+ 0.80810563925192214527344776336,
+ 0.082994810842601316055993203972,
+ 0.58154183958194788097113770541,
+ 0.91401321304178026032151961143,
+ 0.064162440925738934087179609749,
+ 0.15233762499249088696399602351,
+ 0.05051666992337641462246832006,
+ 0.138526581114846840617440323377,
+ 0.3330645447918149831766264793,
+ 0.217487368997014213919568641696,
+ 0.61893770768550649722673903221,
+ 0.48128956859001312165262121487,
+ 0.67074178502738313699688470847,
+ 0.74389636308055141796746779725,
+ 0.78623735396470085242463142878,
+ 0.74044466560335570728816983391,
+ 0.44977042205766449238521848558,
+ 0.04936658918716696558210777333,
+ 0.46898154881467544198433735515,
+ 0.86577421926732888331279455256,
+ 0.351697801257336354285066689416,
+ 0.44607679846684358775746123434,
+ 0.68542184287580537292736482205,
+ 0.044146424753083577398366558491,
+ 0.84496717026871403905274974765,
+ 0.20398318496314438897842101827,
+ 0.75107700174605698650069666924,
+ 0.178571061661964354577482608798,
+ 0.67178502534981979941629966218,
+ 0.90847842600882488644789391115,
+ 0.073076683947302775918335357377,
+ 0.33981323802799502107773228774,
+ 0.88205531070102240708858032672,
+ 0.52395959911163033140017417074,
+ 0.339537812421755656306362620887,
+ 0.54102447887624739438002987695,
+ 0.99615637434542139613844677579,
+ 0.91178029521112995461052949527,
+ 0.75825739605806537625994927603,
+ 0.20376049709427102495755901889,
+ 0.414724980644126108685694310425,
+ 0.33340705339227162790042902392,
+ 0.63442350111338002489027718102,
+ 0.79083735924049231993808201264,
+ 0.7022290803727963570326957922,
+ 0.073051026670174816217706335151,
+ 0.50842348505687696224462184336,
+ 0.32363091931107924009593033016,
+ 0.097074638787613630803324174721,
+ 0.79231345620836950165162896374,
+ 0.46134517653790366185204412042,
+ 0.87767180094474465071641454817,
+ 0.30504377737897498569142680272,
+ 0.96430402804903305707372788262,
+ 0.58722709934909516402891605024,
+ 0.36287829330987989626587492725,
+ 0.341369045118572012709880807167,
+ 0.18622546427505557603629823709,
+ 0.71794779555885705340742601105,
+ 0.098775720656078510422828040021,
+ 0.94170390436210924588938028149,
+ 0.6256516749208606216856038288,
+ 0.84990648194056707180867958453,
+ 0.24897158268824763099382644974,
+ 0.67126976686560821454618204853,
+ 0.18287142221906188751198231263,
+ 0.58301735289988287890086250316,
+ 0.39451451502323596545833498888,
+ 0.64778726863510310777659172018,
+ 0.344060647976610102257104623935,
+ 0.8543225374577925606075052273,
+ 0.41721025737118350088955048104,
+ 0.346301150923723212219486824146,
+ 0.430145349151890094004681136873,
+ 0.083653676599147505357408467754,
+ 0.89927285917733406113015320169,
+ 0.87717630249665962395834008139,
+ 0.114609060439245285884826496387,
+ 0.19079403943711412757743782207,
+ 0.095752662525740063245815699042,
+ 0.79249438764728213221559489213,
+ 0.36889557473162465630046043798,
+ 0.076691690566591062968137595944,
+ 0.82502767429905549906741868154,
+ 0.7665582347663079379259164121,
+ 0.40329445688627141530172819257,
+ 0.76025417855373928649612014969,
+ 0.67742016809536470259225177395,
+ 0.56458198627250149175789836481,
+ 0.78923506303765674533158921804,
+ 0.242546191857944356752822856477,
+ 0.5429792204847717222270173404,
+ 0.7269010821579782458839227112,
+ 0.68884017933657182784660476876,
+ 0.037868346502260087811459749823,
+ 0.5900507745679403546108564628,
+ 0.2867946536016681954708929644,
+ 0.47061390957475445523849010039,
+ 0.51289737877965767076806069599,
+ 0.422963220866519099525024712084,
+ 0.056516063514784913538055836342,
+ 0.77559606292381102490968685122,
+ 0.44812023547000818124896526252,
+ 0.8496368064876247362896528731,
+ 0.272242276648834925536741986616,
+ 0.21366791927514210787832263868,
+ 0.458126557153035507756298880855,
+ 0.59095285049337797286946531198,
+ 0.41387171106200290943847880691,
+ 0.040527832792286543640976926214,
+ 0.84749051864346812142321430329,
+ 0.6591922374100337646083630177,
+ 0.30504037894556796180304594549,
+ 0.69588062596190762407598122745,
+ 0.54615362946297678668402889519,
+ 0.27179536774730804380125320985,
+ 0.16312965572910266758089041195,
+ 0.60443803311418335000528681396,
+ 0.76221957063947757300487766314,
+ 0.0012561481228798307955579245318,
+ 0.38477311712200424042679172286,
+ 0.86336953839931184684851388121,
+ 0.85132017314817690655384788334,
+ 0.79741410166633177181313320738,
+ 0.81142674213295830272567127246,
+ 0.90095974521916505411272740187,
+ 0.461262866736651478343958282766,
+ 0.163149749038393754125992055513,
+ 0.079563568933303239293664877234,
+ 0.0076308467066608702534098522771,
+ 0.74020408989686798939059759005,
+ 0.68004244363120265645245845544,
+ 0.99423282025586676895879517721,
+ 0.256512790150101579655974619204,
+ 0.15841489307390214447222985222,
+ 0.53156533193583516285295078457,
+ 0.51195175518666885397864463638,
+ 0.2688502522458221215136352473,
+ 0.290743998007688539265414246556,
+ 0.375642431327791011131765421904,
+ 0.73366824563603699669790620984,
+ 0.89031055476039433366324605036,
+ 0.63269458446317741594059410575,
+ 0.79677646360837164675956632,
+ 0.91096051787867659208019728176,
+ 0.056411022047894420770349313174,
+ 0.7117937367428418076554349793,
+ 0.494496454398059649677550547185,
+ 0.9944698091905991687808626336,
+ 0.195654008095567563746040882677,
+ 0.33245249703376584453346565181,
+ 0.91671965905832444523554539619,
+ 0.104159073216349402499760928077,
+ 0.78250381705179599027513221262,
+ 0.82221952254403323129879405024,
+ 0.25404653774104883427079980313,
+ 0.89334850648967094099280368977,
+ 0.2721479244387740074938025269,
+ 0.58627710421889854554604323774,
+ 0.80740872172002770008164688167,
+ 0.295213737773499230779293451686,
+ 0.366266263469556210902410635735,
+ 0.72189449997560167388059780325,
+ 0.91339160960295327548014703572,
+ 0.27978723834100283634925494393,
+ 0.44312275285067091147157546317,
+ 0.88264479919648468925459438057,
+ 0.74860386620420068665117140949,
+ 0.97534502025842784289380076051,
+ 0.183653687608870314454061893335,
+ 0.14143760686328530307343938507,
+ 0.7794390875763962068165432699,
+ 0.79988123088296718350409621263,
+ 0.91344402454829897860268279997,
+ 0.3003753710559256572305330721,
+ 0.92236868180619898327118824659,
+ 0.85128995509445007265453349716,
+ 0.51226586850988855988005111668,
+ 0.59328586801467434659081264762,
+ 0.131543061349700789237108200816,
+ 0.97962864281984756641024957818,
+ 0.80003961712390827564285728721,
+ 0.07332191035039234849987853587,
+ 0.33710892945255754021249327366,
+ 0.237798240512212115424045579506,
+ 0.050628096786899757905464602857,
+ 0.36368141580193860149061967396,
+ 0.074547282281222729072803274018,
+ 0.32013351651022219595136046535,
+ 0.50087363542319392259892635316,
+ 0.95534128322832584718763016378,
+ 0.63089810554419660091974256912,
+ 0.45937043591639452731937380837,
+ 0.77794827072126710252068287081,
+ 0.5833967217973934570703322242,
+ 0.89948711130168823436943591707,
+ 0.88448792344727137087709578749,
+ 0.75774410588649351850782212564,
+ 0.51545850808454807305763364038,
+ 0.89535564141616759448334976604,
+ 0.433876155086630438489414332084,
+ 0.263145194001722566517185175524,
+ 0.094513715303174637696079970882,
+ 0.0067905149976316075236601623182,
+ 0.3746548325271489972742277758,
+ 0.81418012245523025207375976459,
+ 0.7382555515800124086679648947,
+ 0.71505454385778976492869269043,
+ 0.7698698840252614242858413632,
+ 0.53096667868591647121855295207,
+ 0.5913146508318579789498085478,
+ 0.82865413011200335887487636747,
+ 0.246477924915753655378269255135,
+ 0.7718625116939460952174295485,
+ 0.33088224685104582360581424038,
+ 0.077396220323469426942810035952,
+ 0.399851739373243384531661374094,
+ 0.74828949567652386217126904324,
+ 0.55533476993642340021791702209,
+ 0.475356366587838670689554086714,
+ 0.99199926249299355831492581518,
+ 0.60739053074816626181185925167,
+ 0.94570422855790142383862352906,
+ 0.67410117583869264525962136333,
+ 0.99340016295179621471645098914,
+ 0.30521664837678549625426072163,
+ 0.82786899862234431119578444516,
+ 0.0246054418785779831964997687095,
+ 0.33057040500642957115284791089,
+ 0.325865542252271051046671982904,
+ 0.116469964535698881624567000313,
+ 0.38792519202192930208550481713,
+ 0.147033252049062199325747990948,
+ 0.333360890210745561370686771174,
+ 0.267717098935309378552279527125,
+ 0.473606191830554736751491306975,
+ 0.69379726024488030302072707274,
+ 0.39866105325920152799379542147,
+ 0.075996151521605600512218326895,
+ 0.43692155239290098173990417979,
+ 0.63183509185797834489905365016,
+ 0.327726835190132824885685947736,
+ 0.82769389015654780671213364517,
+ 0.38036542617183448008870457384,
+ 0.06416363778906221378580326597,
+ 0.95989693996326393340364540321,
+ 0.77473792948077472252492320019,
+ 0.73353080354752465520384745159,
+ 0.79531316211939777703706647305,
+ 0.31887745411495362933791547194,
+ 0.5504233366621661345254817397,
+ 0.133841546560512334978343647306,
+ 0.93323316393590598213508657757,
+ 0.219534116905903225236593922786,
+ 0.352227557302752346568799070044,
+ 0.50699048681296139093781410327,
+ 0.56063256677949754339755086295,
+ 0.97859418495668224120337606178,
+ 0.43217748779939454097021337034,
+ 0.6118800794139137562939270606,
+ 0.8826339041571606455078384688,
+ 0.190654349423411314990846249777,
+ 0.0272323818569649486990095499454,
+ 0.13501820915175992368033644254,
+ 0.34430252524220055863712676536,
+ 0.135013324503164182485257894453,
+ 0.83301344777287732687815180326,
+ 0.71146270180847724757833953093,
+ 0.059584725284656364940760846576,
+ 0.124388342467555907606115942139,
+ 0.86760011350010388002288781466,
+ 0.43443235444248399222879725088,
+ 0.62257025564267773540408523682,
+ 0.42224480338939459869117553607,
+ 0.122203729563367693705179104655,
+ 0.86763329805228175173701751082,
+ 0.61852711996472568821866689006,
+ 0.9981036801779161471700405786,
+ 0.177126618334123901292041594724,
+ 0.37033568941002233661950847289,
+ 0.81720705981865203019383851894,
+ 0.194752883553301253160228353622,
+ 0.5399475493930702257701115294,
+ 0.21555050095259535717046390477,
+ 0.031480898918419061738395489394,
+ 0.0108626235742996694506893658131,
+ 0.29439861659506237876675916168,
+ 0.25969803792963051605662393213,
+ 0.64305111681301349941082616522,
+ 0.398301763391130971280749586885,
+ 0.82959279528518208376169366062,
+ 0.494452121232255582677051524076,
+ 0.032046850110252624668328949032,
+ 0.304808216164121089322038632124,
+ 0.43743086801077933536332835933,
+ 0.067635143022119684849606244687,
+ 0.062601171413915686472972559687,
+ 0.80704249768256597155262089974,
+ 0.049090587901867220876053770281,
+ 0.14290280489067737067786839775,
+ 0.85153414385190808252068833198,
+ 0.052035578866778404379096518691,
+ 0.84803461110488710482683367176,
+ 0.323391780352303842858779454674,
+ 0.52713499343541339922976296515,
+ 0.91034109375479019837692785976,
+ 0.106146556890642346491650008212,
+ 0.291532189474064930184344798145,
+ 0.330494959183718721493342551525,
+ 0.6236537208920888603043773443,
+ 0.89122121355780761549659392994,
+ 0.51799810738861013193016943087,
+ 0.249256177739037963581221438965,
+ 0.76322106809612787470242640888,
+ 0.97852511972383831461233976406,
+ 0.52255677693690499607690355455,
+ 0.4450034860583097087122794844,
+ 0.79114162250324775713725095404,
+ 0.94756217345536380876998110362,
+ 0.58677918818329126036021764787,
+ 0.84845252924877884299669190981,
+ 0.30081720041370757827674016113,
+ 0.27920525653128846538023076229,
+ 0.33471466998109052439193176801,
+ 0.77432114969973711331784009482,
+ 0.79975078898170550460312445454,
+ 0.90029380309155505829673878957,
+ 0.22735855793472972935624370264,
+ 0.83917898101167717908999667914,
+ 0.96001063929762371813642857618,
+ 0.80557845129235602137075744771,
+ 0.227828260252387705994553631692,
+ 0.45514459312672738783331856798,
+ 0.6996049090759249573037751274,
+ 0.76407211467383802388153449844,
+ 0.35750763601712374361686514082,
+ 0.090157662209549066428683554241,
+ 0.95043897530001474792481472865,
+ 0.97262166470012788338731033975,
+ 0.203045895422423613196589718133,
+ 0.217437635156560627036179586425,
+ 0.5222956932204809424910993278,
+ 0.52865060708104384493756729767,
+ 0.97715373213739469800445297208,
+ 0.5740174414400501666597490431,
+ 0.172348314420047937640907870932,
+ 0.57197038071649167881433868039,
+ 0.26289948915209002196358225729,
+ 0.177903112174726341611524884074,
+ 0.74917239660013094610681443816,
+ 0.59837085384984040836442442706,
+ 0.065070324689375259831989322427,
+ 0.44807493892928848916566949155,
+ 0.59027783360778386064107723777,
+ 0.122058971772529617939528531479,
+ 0.18965096763129552013799044806,
+ 0.179455202785822708296801760066,
+ 0.032170979041981235014758366854,
+ 0.297222966386620738492021519056,
+ 0.91323423393143490893801153646,
+ 0.75998869946268189685327906564,
+ 0.83934073246383862944110864099,
+ 0.17898779712956184324621175982,
+ 0.480986398855505957279379560397,
+ 0.60860751560721289727164165043,
+ 0.298927282590269088379100218673,
+ 0.77935020447343759584143119835,
+ 0.480545242963934573648858250607,
+ 0.85619790637736236353631524289,
+ 0.96488893882602300700764346564,
+ 0.36351865634843046736230405883,
+ 0.82895257550724293657223335349,
+ 0.79749691055514662573933190753,
+ 0.20106705267868388883102752272,
+ 0.33623918491977977623116871123,
+ 0.93256466340279772952587363977,
+ 0.88648669501682764515636262464,
+ 0.47662235152771500250187825963,
+ 0.52659238455883068245922982067,
+ 0.94111676559395948458425469814,
+ 0.323317713690175795284098362026,
+ 0.34796405933091263994264450729,
+ 0.52445433363119391822452105405,
+ 0.525140277317638922334264421,
+ 0.64469482443585357444532895759,
+ 0.33472685924872903603447879104,
+ 0.42400458791646499703641118014,
+ 0.8222662798441265944554029489,
+ 0.75524567154228028735673060411,
+ 0.90790601849806560799894333131,
+ 0.75164241313793249434488428193,
+ 0.38724602290468111557712203885,
+ 0.36352513950081020449187506395,
+ 0.078398790907179055722325452963,
+ 0.5003676822199407758422514133,
+ 0.86055044548361328714384972985,
+ 0.66748567445598821900669819042,
+ 0.95450644393912187127659765969,
+ 0.9536501355878008523425355652,
+ 0.56207573012593503802043957099,
+ 0.99057795680550440527031916411,
+ 0.056136908924222021770088579728,
+ 0.89322960593560085272815946927,
+ 0.19380351076299398770342941398,
+ 0.036881975481577328074706357897,
+ 0.38834900979665334617449710449,
+ 0.77196507761008668275581490587,
+ 0.87539115393397618421355963533,
+ 0.9131721846286054396553858461,
+ 0.62245648254908013430163665866,
+ 0.56021174819199355559539089633,
+ 0.86987294559046384230921358438,
+ 0.474584307464076041054198211805,
+ 0.37224942408757353492416873571,
+ 0.198307276357215222087716993615,
+ 0.81633548414328354008913860616,
+ 0.071192681637945014051745371309,
+ 0.227203421058334439883665388655,
+ 0.50527083273847576806586104904,
+ 0.25911353175247232791676189983,
+ 0.103567996992606824957067451526,
+ 0.98316826751311017109085781757,
+ 0.99206610065531611133123425907,
+ 0.63838444880264351660305680771,
+ 0.90013304139719692321619239255,
+ 0.541419881593941428911392944,
+ 0.434681681520065487913409442927,
+ 0.0277935905905462584654818408167,
+ 0.28736085880215502013374946299,
+ 0.204706679291990486471085620508,
+ 0.29639415300325412139805373353,
+ 0.316818074164048785111401123944,
+ 0.58068268044073033182148412246,
+ 0.137736206950094621238996907006,
+ 0.80907996549523150166492783923,
+ 0.73799561611209772635015717353,
+ 0.84013433924397440368969968592,
+ 0.46126521311414726401422152854,
+ 0.78013716447507497359555980298,
+ 0.83405708922951231042933175851,
+ 0.6366367969739079258896472192,
+ 0.77353748358406402598000037557,
+ 0.17489624725635947111471117775,
+ 0.80267952648428412026314875447,
+ 0.80437106861315296029137160672,
+ 0.62834462177566783487584779777,
+ 0.31539602345858033626133832055,
+ 0.50541890853061839219557074283,
+ 0.0195874476781850222509795360627,
+ 0.011676447193909007242643314705,
+ 0.85675479754070644130150816794,
+ 0.09391269154749661204040398199,
+ 0.369625667102334643216258483376,
+ 0.84311577046357953313746551837,
+ 0.66438426715728382263582851036,
+ 0.70530906415261448155650458603,
+ 0.446783684004800041373395690117,
+ 0.75627790284213576819810990131,
+ 0.57190285913753158265774292274,
+ 0.97785681370875218892539297465,
+ 0.0244503386494348881614690746194,
+ 0.48528430854909558202793141933,
+ 0.89436155397807056672243211894,
+ 0.40757489194485346255194449191,
+ 0.91772837786834838909335779229,
+ 0.28020326531649972709359017096,
+ 0.28847822326776188982020803144,
+ 0.93193769743225684077624356649,
+ 0.58336147304815741644785105161,
+ 0.4004241800179331174134885947,
+ 0.265790823692672203607418801725,
+ 0.4137092141145146388568879939,
+ 0.0255090449126572366852573357318,
+ 0.47601725598948555645487446626,
+ 0.69141516452580797436419291497,
+ 0.187709862166242786826507443003,
+ 0.31177816288567708916778389045,
+ 0.79635247302484103596788484137,
+ 0.14648403361265752358955335086,
+ 0.0088027047060531475573345163528,
+ 0.90053967411241805345616039474,
+ 0.373822238382428585287035417224,
+ 0.94303097002109978273901800507,
+ 0.037263906643698883423150604649,
+ 0.98416823398276433881119247311,
+ 0.257766562836474661728601317803,
+ 0.09336855716941364387765222813,
+ 0.057604551843195630210060755775,
+ 0.37732024813036636644231432449,
+ 0.437099108019093398068604946814,
+ 0.0298274889889844501626534131975,
+ 0.54161045457572229928359302347,
+ 0.354192069739745951755754451894,
+ 0.9952629304832433588789284291,
+ 0.61362350596285189174752077338,
+ 0.23176197923774029736185020682,
+ 0.259000332877923815426717028414,
+ 0.77171708810079063604185854121,
+ 0.87278431247491539306511051532,
+ 0.386310463821549823085972724515,
+ 0.19043920209178263945663905422,
+ 0.77200547833114724875436606573,
+ 0.2683024354984293205497398925,
+ 0.144270112550972640008446091075,
+ 0.36996280314557984925474224612,
+ 0.163548224543250866742712583905,
+ 0.54541238293503241055380526708,
+ 0.54270760938500008382580072956,
+ 0.7374073253240524865446763851,
+ 0.93470960326436177572863031654,
+ 0.71417607213823278615975270201,
+ 0.65837463356664939532769528292,
+ 0.433323451649582925271830911365,
+ 0.79664580661766246494864588315,
+ 0.392079017934601610514677836005,
+ 0.212454387416532999103471570235,
+ 0.198678082418012501322802116335,
+ 0.61525672800559338657275986197,
+ 0.99339589895181138684928419014,
+ 0.53563057949945927383392076793,
+ 0.68817192513245948798192690082,
+ 0.59671938169380086666866042956,
+ 0.5686075254645125832635026196,
+ 0.25860953535454698758704936914,
+ 0.60779864941995215785819783969,
+ 0.46515241662568547274625942204,
+ 0.8756966078479474164213834749,
+ 0.89153160343113076353740745469,
+ 0.57055911159151577684982200009,
+ 0.39366246576557783924065683256,
+ 0.53789676931469921495851209609,
+ 0.95842028586447684249630374944,
+ 0.25218284880717367924827402845,
+ 0.23718965807272971860203662735,
+ 0.334222632819004380754702693406,
+ 0.6370849366068287810411454729,
+ 0.722665796162802454203702773,
+ 0.50216248905279887048328225791,
+ 0.34529823309520970630714708672,
+ 0.45098892404492692601908443802,
+ 0.64640019115293913591196874603,
+ 0.137077316379736192931987264458,
+ 0.29368115076039970149731521521,
+ 0.20091822953913855557804069085,
+ 0.066267083813833718511605782276,
+ 0.88094596104423280074202839474,
+ 0.071730322265966936504743175424,
+ 0.69735904142296779896396736035,
+ 0.91352594564083795862432502567,
+ 0.13244220377041278512040316988,
+ 0.6283911312781029516331064494,
+ 0.34896540167805105781090114462,
+ 0.6795367801751911186206756471,
+ 0.74898526486791573083377925403,
+ 0.71700182398199203349731046015,
+ 0.121142833366516620257163901501,
+ 0.32678002036857151533698078636,
+ 0.327511655875027224450064555456,
+ 0.0079152053645354575349489795814,
+ 0.84748954479623021059675156738,
+ 0.75041561033954009809301550159,
+ 0.41101693712463238996746228193,
+ 0.90155864029338267639417046915,
+ 0.35464670537047753945618208157,
+ 0.68848712573944472430623590326,
+ 0.08893193373618063124738179594,
+ 0.58932830480784385636485098641,
+ 0.0501618828375381577588978271165,
+ 0.9451968329901169788400753848,
+ 0.074994725566097580721185016702,
+ 0.191860088196691871607965261685,
+ 0.67853841063536805868885844477,
+ 0.179445375284033906887325905976,
+ 0.84157620913886056000430779083,
+ 0.7377942162322144186341324232,
+ 0.231126715579023126062082806996,
+ 0.127662509645324778320005407937,
+ 0.63062414859560283674777403205,
+ 0.55283326072907470543330204975,
+ 0.81243486031688046850257374808,
+ 0.299095175225750536694802628506,
+ 0.34284433830834748530634854762,
+ 0.92098838107935607957057329632,
+ 0.6334432153537539286206936299,
+ 0.49203336326915182548719200464,
+ 0.70089872986754081776092540042,
+ 0.410346112246289262244008861334,
+ 0.689375704219352519232614571,
+ 0.53543492718830214408075484368,
+ 0.78985504761729292283075540625,
+ 0.66802245726332267870092702429,
+ 0.75600588548341120124374250114,
+ 0.83217485519464083512235296359,
+ 0.77758150309412736979136465746,
+ 0.067382141804836913185384124002,
+ 0.7289836962356747770023887674,
+ 0.453434776313686590560640460504,
+ 0.3160796148757468204057886796,
+ 0.0098933475787107681104048511314,
+ 0.3620064234142809735084479026,
+ 0.85993179373877360456391909506,
+ 0.90684883450763884954227285187,
+ 0.75959171037325548903969803948,
+ 0.91219881792279148536349496306,
+ 0.97175430264940118917041244436,
+ 0.292364544897748356834218017667,
+ 0.126096590956329503351026499397,
+ 0.058210669685805595156500555938,
+ 0.207143479048534791976348255132,
+ 0.202837039257860939456824357966,
+ 0.459137240079351948795601640776,
+ 0.65480905235794807223708347609
+};
diff --git a/gettext-tools/gnulib-tests/read-file.c b/gettext-tools/gnulib-tests/read-file.c
index 45f6690..f17c599 100644
--- a/gettext-tools/gnulib-tests/read-file.c
+++ b/gettext-tools/gnulib-tests/read-file.c
@@ -1,5 +1,5 @@
/* read-file.c -- read file contents into a string
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Simon Josefsson and Bruno Haible.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/read-file.h b/gettext-tools/gnulib-tests/read-file.h
index f458b48..b869c5c 100644
--- a/gettext-tools/gnulib-tests/read-file.h
+++ b/gettext-tools/gnulib-tests/read-file.h
@@ -1,5 +1,5 @@
/* read-file.h -- read file contents into a string
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/same-inode.h b/gettext-tools/gnulib-tests/same-inode.h
index 584f606..ecc3049 100644
--- a/gettext-tools/gnulib-tests/same-inode.h
+++ b/gettext-tools/gnulib-tests/same-inode.h
@@ -1,6 +1,6 @@
/* Determine whether two stat buffers refer to the same file.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/signature.h b/gettext-tools/gnulib-tests/signature.h
index 0ae64e7..0a6cf91 100644
--- a/gettext-tools/gnulib-tests/signature.h
+++ b/gettext-tools/gnulib-tests/signature.h
@@ -1,5 +1,5 @@
/* Macro for checking that a function declaration is compliant.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/sleep.c b/gettext-tools/gnulib-tests/sleep.c
index 2d86b7e..b86ec6f 100644
--- a/gettext-tools/gnulib-tests/sleep.c
+++ b/gettext-tools/gnulib-tests/sleep.c
@@ -1,5 +1,5 @@
/* Pausing execution of the current thread.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/stdalign.in.h b/gettext-tools/gnulib-tests/stdalign.in.h
new file mode 100644
index 0000000..b16ccc8
--- /dev/null
+++ b/gettext-tools/gnulib-tests/stdalign.in.h
@@ -0,0 +1,121 @@
+/* A substitute for ISO C11 <stdalign.h>.
+
+ Copyright 2011-2015 Free Software Foundation, Inc.
+
+ 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 3, 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert and Bruno Haible. */
+
+#ifndef _GL_STDALIGN_H
+#define _GL_STDALIGN_H
+
+/* ISO C11 <stdalign.h> for platforms that lack it.
+
+ References:
+ ISO C11 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>)
+ sections 6.5.3.4, 6.7.5, 7.15.
+ C++11 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
+ section 18.10. */
+
+/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
+ requirement of a structure member (i.e., slot or field) that is of
+ type TYPE, as an integer constant expression.
+
+ This differs from GCC's __alignof__ operator, which can yield a
+ better-performing alignment for an object of that type. For
+ example, on x86 with GCC, __alignof__ (double) and __alignof__
+ (long long) are 8, whereas alignof (double) and alignof (long long)
+ are 4 unless the option '-malign-double' is used.
+
+ The result cannot be used as a value for an 'enum' constant, if you
+ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc.
+
+ Include <stddef.h> for offsetof. */
+#include <stddef.h>
+
+/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
+ standard headers, defines conflicting implementations of _Alignas
+ and _Alignof that are no better than ours; override them. */
+#undef _Alignas
+#undef _Alignof
+
+/* GCC releases before GCC 4.9 had a bug in _Alignof. See GCC bug 52023
+ <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
+#if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+ || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9)))
+# ifdef __cplusplus
+# if 201103 <= __cplusplus
+# define _Alignof(type) alignof (type)
+# else
+ template <class __t> struct __alignof_helper { char __a; __t __b; };
+# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
+# endif
+# else
+# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+# endif
+#endif
+#if ! (defined __cplusplus && 201103 <= __cplusplus)
+# define alignof _Alignof
+#endif
+#define __alignof_is_defined 1
+
+/* alignas (A), also known as _Alignas (A), aligns a variable or type
+ to the alignment A, where A is an integer constant expression. For
+ example:
+
+ int alignas (8) foo;
+ struct s { int a; int alignas (8) bar; };
+
+ aligns the address of FOO and the offset of BAR to be multiples of 8.
+
+ A should be a power of two that is at least the type's alignment
+ and at most the implementation's alignment limit. This limit is
+ 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
+ to MSVC through at least version 10.0, A should be an integer
+ constant, as MSVC does not support expressions such as 1 << 3.
+ To be portable to Sun C 5.11, do not align auto variables to
+ anything stricter than their default alignment.
+
+ The following C11 requirements are not supported here:
+
+ - If A is zero, alignas has no effect.
+ - alignas can be used multiple times; the strictest one wins.
+ - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
+
+ */
+
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# if defined __cplusplus && 201103 <= __cplusplus
+# define _Alignas(a) alignas (a)
+# elif ((defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__) \
+ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+ || __ICC || 0x590 <= __SUNPRO_C)
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+# elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
+# endif
+#endif
+#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \
+ || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__))
+# define alignas _Alignas
+#endif
+#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus)
+# define __alignas_is_defined 1
+#endif
+
+#endif /* _GL_STDALIGN_H */
diff --git a/gettext-tools/gnulib-tests/stdio-impl.h b/gettext-tools/gnulib-tests/stdio-impl.h
index 299fe47..502d891 100644
--- a/gettext-tools/gnulib-tests/stdio-impl.h
+++ b/gettext-tools/gnulib-tests/stdio-impl.h
@@ -1,5 +1,5 @@
/* Implementation details of FILE streams.
- Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
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
@@ -28,7 +28,8 @@
#include <errno.h> /* For detecting Plan9. */
-#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
+#if defined __sferror || defined __DragonFly__ || defined __ANDROID__
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
# if defined __DragonFly__ /* DragonFly */
/* See <http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/priv_stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>. */
@@ -66,7 +67,7 @@
/* More fields, not relevant here. */
};
# define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
-# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */
+# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin, Android */
# define fp_ub fp_->_ub
# endif
diff --git a/gettext-tools/gnulib-tests/symlink.c b/gettext-tools/gnulib-tests/symlink.c
index 0e3fae2..14356c3 100644
--- a/gettext-tools/gnulib-tests/symlink.c
+++ b/gettext-tools/gnulib-tests/symlink.c
@@ -1,5 +1,5 @@
/* Stub for symlink().
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-alignof.c b/gettext-tools/gnulib-tests/test-alignof.c
index c2d2a8d..a04d69b 100644
--- a/gettext-tools/gnulib-tests/test-alignof.c
+++ b/gettext-tools/gnulib-tests/test-alignof.c
@@ -1,5 +1,5 @@
/* Test of <alignof.h>.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-alloca-opt.c b/gettext-tools/gnulib-tests/test-alloca-opt.c
index 3d8acc4..c189cc6 100644
--- a/gettext-tools/gnulib-tests/test-alloca-opt.c
+++ b/gettext-tools/gnulib-tests/test-alloca-opt.c
@@ -1,5 +1,5 @@
/* Test of optional automatic memory allocation.
- Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-areadlink.c b/gettext-tools/gnulib-tests/test-areadlink.c
index b487d44..682c03b 100644
--- a/gettext-tools/gnulib-tests/test-areadlink.c
+++ b/gettext-tools/gnulib-tests/test-areadlink.c
@@ -1,5 +1,5 @@
/* Tests of areadlink.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-areadlink.h b/gettext-tools/gnulib-tests/test-areadlink.h
index 61bce29..a93c9eb 100644
--- a/gettext-tools/gnulib-tests/test-areadlink.h
+++ b/gettext-tools/gnulib-tests/test-areadlink.h
@@ -1,5 +1,5 @@
/* Tests of areadlink and friends.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-argmatch.c b/gettext-tools/gnulib-tests/test-argmatch.c
index 735cb76..e6802b7 100644
--- a/gettext-tools/gnulib-tests/test-argmatch.c
+++ b/gettext-tools/gnulib-tests/test-argmatch.c
@@ -1,5 +1,5 @@
/* Test of exact or abbreviated match search.
- Copyright (C) 1990, 1998-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1998-1999, 2001-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-array_list.c b/gettext-tools/gnulib-tests/test-array_list.c
index 5a9dbbd..a2aca72 100644
--- a/gettext-tools/gnulib-tests/test-array_list.c
+++ b/gettext-tools/gnulib-tests/test-array_list.c
@@ -1,5 +1,5 @@
/* Test of sequential list data type implementation.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-atexit.c b/gettext-tools/gnulib-tests/test-atexit.c
index abfcc93..aec7cd5 100644
--- a/gettext-tools/gnulib-tests/test-atexit.c
+++ b/gettext-tools/gnulib-tests/test-atexit.c
@@ -1,5 +1,5 @@
/* Test of execution of program termination handlers.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-binary-io.c b/gettext-tools/gnulib-tests/test-binary-io.c
index 1b29fbd..9c3f8f2 100644
--- a/gettext-tools/gnulib-tests/test-binary-io.c
+++ b/gettext-tools/gnulib-tests/test-binary-io.c
@@ -1,5 +1,5 @@
/* Test of binary mode I/O.
- Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-btowc.c b/gettext-tools/gnulib-tests/test-btowc.c
index b9df2f0..be34739 100644
--- a/gettext-tools/gnulib-tests/test-btowc.c
+++ b/gettext-tools/gnulib-tests/test-btowc.c
@@ -1,5 +1,5 @@
/* Test of conversion of unibyte character to wide character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-byteswap.c b/gettext-tools/gnulib-tests/test-byteswap.c
index 5f832b8..66ef8d8 100644
--- a/gettext-tools/gnulib-tests/test-byteswap.c
+++ b/gettext-tools/gnulib-tests/test-byteswap.c
@@ -1,5 +1,5 @@
/* Test of <byteswap.h> substitute.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-c-ctype.c b/gettext-tools/gnulib-tests/test-c-ctype.c
index 80bf703..9780554 100644
--- a/gettext-tools/gnulib-tests/test-c-ctype.c
+++ b/gettext-tools/gnulib-tests/test-c-ctype.c
@@ -1,5 +1,5 @@
/* Test of character handling in C locale.
- Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
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
@@ -20,59 +20,79 @@
#include "c-ctype.h"
+#include <ctype.h>
+#include <limits.h>
#include <locale.h>
#include "macros.h"
static void
-test_all (void)
+test_agree_with_C_locale (void)
{
int c;
- for (c = -0x80; c < 0x100; c++)
+ for (c = 0; c <= UCHAR_MAX; c++)
{
- ASSERT (c_isascii (c) == (c >= 0 && c < 0x80));
-
- switch (c)
+ ASSERT (c_isascii (c) == (isascii (c) != 0));
+ if (c_isascii (c))
{
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- ASSERT (c_isalnum (c) == 1);
- break;
- default:
- ASSERT (c_isalnum (c) == 0);
- break;
+ ASSERT (c_isalnum (c) == (isalnum (c) != 0));
+ ASSERT (c_isalpha (c) == (isalpha (c) != 0));
+ ASSERT (c_isblank (c) == (isblank (c) != 0));
+ ASSERT (c_iscntrl (c) == (iscntrl (c) != 0));
+ ASSERT (c_isdigit (c) == (isdigit (c) != 0));
+ ASSERT (c_islower (c) == (islower (c) != 0));
+ ASSERT (c_isgraph (c) == (isgraph (c) != 0));
+ ASSERT (c_isprint (c) == (isprint (c) != 0));
+ ASSERT (c_ispunct (c) == (ispunct (c) != 0));
+ ASSERT (c_isspace (c) == (isspace (c) != 0));
+ ASSERT (c_isupper (c) == (isupper (c) != 0));
+ ASSERT (c_isxdigit (c) == (isxdigit (c) != 0));
+ ASSERT (c_tolower (c) == tolower (c));
+ ASSERT (c_toupper (c) == toupper (c));
}
+ }
+}
- switch (c)
+static void
+test_all (void)
+{
+ int c;
+ int n_isascii = 0;
+
+ for (c = CHAR_MIN; c <= UCHAR_MAX; c++)
+ {
+ if (! (0 <= c && c <= CHAR_MAX))
{
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- ASSERT (c_isalpha (c) == 1);
- break;
- default:
- ASSERT (c_isalpha (c) == 0);
- break;
+ ASSERT (! c_isascii (c));
+ ASSERT (! c_isalnum (c));
+ ASSERT (! c_isalpha (c));
+ ASSERT (! c_isblank (c));
+ ASSERT (! c_iscntrl (c));
+ ASSERT (! c_isdigit (c));
+ ASSERT (! c_islower (c));
+ ASSERT (! c_isgraph (c));
+ ASSERT (! c_isprint (c));
+ ASSERT (! c_ispunct (c));
+ ASSERT (! c_isspace (c));
+ ASSERT (! c_isupper (c));
+ ASSERT (! c_isxdigit (c));
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == c);
}
+ n_isascii += c_isascii (c);
+
+#ifdef C_CTYPE_ASCII
+ ASSERT (c_isascii (c) == (0 <= c && c <= 0x7f));
+#endif
+
+ ASSERT (c_isascii (c) == (c_isprint (c) || c_iscntrl (c)));
+
+ ASSERT (c_isalnum (c) == (c_isalpha (c) || c_isdigit (c)));
+
+ ASSERT (c_isalpha (c) == (c_islower (c) || c_isupper (c)));
+
switch (c)
{
case '\t': case ' ':
@@ -83,7 +103,19 @@ test_all (void)
break;
}
+#ifdef C_CTYPE_ASCII
ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f));
+#endif
+
+ switch (c)
+ {
+ case '\a': case '\b': case '\f': case '\n':
+ case '\r': case '\t': case '\v':
+ ASSERT (c_iscntrl (c));
+ break;
+ }
+
+ ASSERT (! (c_iscntrl (c) && c_isprint (c)));
switch (c)
{
@@ -104,17 +136,37 @@ test_all (void)
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
ASSERT (c_islower (c) == 1);
+ ASSERT (c_toupper (c) == c - 'a' + 'A');
break;
default:
ASSERT (c_islower (c) == 0);
+ ASSERT (c_toupper (c) == c);
break;
}
+#ifdef C_CTYPE_ASCII
ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' '));
ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f));
+#endif
+
+ ASSERT (c_isgraph (c) == (c_isalnum (c) || c_ispunct (c)));
+
+ ASSERT (c_isprint (c) == (c_isgraph (c) || c == ' '));
- ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c)));
+ switch (c)
+ {
+ case '!': case '"': case '#': case '$': case '%': case '&': case '\'':
+ case '(': case ')': case '*': case '+': case ',': case '-': case '.':
+ case '/': case ':': case ';': case '<': case '=': case '>': case '?':
+ case '@': case '[': case'\\': case ']': case '^': case '_': case '`':
+ case '{': case '|': case '}': case '~':
+ ASSERT (c_ispunct (c) == 1);
+ break;
+ default:
+ ASSERT (c_ispunct (c) == 0);
+ break;
+ }
switch (c)
{
@@ -134,9 +186,11 @@ test_all (void)
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
ASSERT (c_isupper (c) == 1);
+ ASSERT (c_tolower (c) == c - 'A' + 'a');
break;
default:
ASSERT (c_isupper (c) == 0);
+ ASSERT (c_tolower (c) == c);
break;
}
@@ -152,228 +206,16 @@ test_all (void)
ASSERT (c_isxdigit (c) == 0);
break;
}
-
- switch (c)
- {
- case 'A':
- ASSERT (c_tolower (c) == 'a');
- ASSERT (c_toupper (c) == c);
- break;
- case 'B':
- ASSERT (c_tolower (c) == 'b');
- ASSERT (c_toupper (c) == c);
- break;
- case 'C':
- ASSERT (c_tolower (c) == 'c');
- ASSERT (c_toupper (c) == c);
- break;
- case 'D':
- ASSERT (c_tolower (c) == 'd');
- ASSERT (c_toupper (c) == c);
- break;
- case 'E':
- ASSERT (c_tolower (c) == 'e');
- ASSERT (c_toupper (c) == c);
- break;
- case 'F':
- ASSERT (c_tolower (c) == 'f');
- ASSERT (c_toupper (c) == c);
- break;
- case 'G':
- ASSERT (c_tolower (c) == 'g');
- ASSERT (c_toupper (c) == c);
- break;
- case 'H':
- ASSERT (c_tolower (c) == 'h');
- ASSERT (c_toupper (c) == c);
- break;
- case 'I':
- ASSERT (c_tolower (c) == 'i');
- ASSERT (c_toupper (c) == c);
- break;
- case 'J':
- ASSERT (c_tolower (c) == 'j');
- ASSERT (c_toupper (c) == c);
- break;
- case 'K':
- ASSERT (c_tolower (c) == 'k');
- ASSERT (c_toupper (c) == c);
- break;
- case 'L':
- ASSERT (c_tolower (c) == 'l');
- ASSERT (c_toupper (c) == c);
- break;
- case 'M':
- ASSERT (c_tolower (c) == 'm');
- ASSERT (c_toupper (c) == c);
- break;
- case 'N':
- ASSERT (c_tolower (c) == 'n');
- ASSERT (c_toupper (c) == c);
- break;
- case 'O':
- ASSERT (c_tolower (c) == 'o');
- ASSERT (c_toupper (c) == c);
- break;
- case 'P':
- ASSERT (c_tolower (c) == 'p');
- ASSERT (c_toupper (c) == c);
- break;
- case 'Q':
- ASSERT (c_tolower (c) == 'q');
- ASSERT (c_toupper (c) == c);
- break;
- case 'R':
- ASSERT (c_tolower (c) == 'r');
- ASSERT (c_toupper (c) == c);
- break;
- case 'S':
- ASSERT (c_tolower (c) == 's');
- ASSERT (c_toupper (c) == c);
- break;
- case 'T':
- ASSERT (c_tolower (c) == 't');
- ASSERT (c_toupper (c) == c);
- break;
- case 'U':
- ASSERT (c_tolower (c) == 'u');
- ASSERT (c_toupper (c) == c);
- break;
- case 'V':
- ASSERT (c_tolower (c) == 'v');
- ASSERT (c_toupper (c) == c);
- break;
- case 'W':
- ASSERT (c_tolower (c) == 'w');
- ASSERT (c_toupper (c) == c);
- break;
- case 'X':
- ASSERT (c_tolower (c) == 'x');
- ASSERT (c_toupper (c) == c);
- break;
- case 'Y':
- ASSERT (c_tolower (c) == 'y');
- ASSERT (c_toupper (c) == c);
- break;
- case 'Z':
- ASSERT (c_tolower (c) == 'z');
- ASSERT (c_toupper (c) == c);
- break;
- case 'a':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'A');
- break;
- case 'b':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'B');
- break;
- case 'c':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'C');
- break;
- case 'd':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'D');
- break;
- case 'e':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'E');
- break;
- case 'f':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'F');
- break;
- case 'g':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'G');
- break;
- case 'h':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'H');
- break;
- case 'i':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'I');
- break;
- case 'j':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'J');
- break;
- case 'k':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'K');
- break;
- case 'l':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'L');
- break;
- case 'm':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'M');
- break;
- case 'n':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'N');
- break;
- case 'o':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'O');
- break;
- case 'p':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'P');
- break;
- case 'q':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'Q');
- break;
- case 'r':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'R');
- break;
- case 's':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'S');
- break;
- case 't':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'T');
- break;
- case 'u':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'U');
- break;
- case 'v':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'V');
- break;
- case 'w':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'W');
- break;
- case 'x':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'X');
- break;
- case 'y':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'Y');
- break;
- case 'z':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'Z');
- break;
- default:
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == c);
- break;
- }
}
+
+ ASSERT (n_isascii == 128);
}
int
main ()
{
+ test_agree_with_C_locale ();
+
test_all ();
setlocale (LC_ALL, "de_DE");
diff --git a/gettext-tools/gnulib-tests/test-c-strcasecmp.c b/gettext-tools/gnulib-tests/test-c-strcasecmp.c
index 03088ff..f7f6b43 100644
--- a/gettext-tools/gnulib-tests/test-c-strcasecmp.c
+++ b/gettext-tools/gnulib-tests/test-c-strcasecmp.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-c-strcasestr.c b/gettext-tools/gnulib-tests/test-c-strcasestr.c
index 88c905b..84d6107 100644
--- a/gettext-tools/gnulib-tests/test-c-strcasestr.c
+++ b/gettext-tools/gnulib-tests/test-c-strcasestr.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive searching in a string.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-c-strncasecmp.c b/gettext-tools/gnulib-tests/test-c-strncasecmp.c
index 0fba0e5..4027b5b 100644
--- a/gettext-tools/gnulib-tests/test-c-strncasecmp.c
+++ b/gettext-tools/gnulib-tests/test-c-strncasecmp.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-c-strstr.c b/gettext-tools/gnulib-tests/test-c-strstr.c
index c27e0ef..2bc2d9e 100644
--- a/gettext-tools/gnulib-tests/test-c-strstr.c
+++ b/gettext-tools/gnulib-tests/test-c-strstr.c
@@ -1,5 +1,5 @@
/* Test of searching in a string.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-canonicalize-lgpl.c b/gettext-tools/gnulib-tests/test-canonicalize-lgpl.c
index 0570053..12d2bb0 100644
--- a/gettext-tools/gnulib-tests/test-canonicalize-lgpl.c
+++ b/gettext-tools/gnulib-tests/test-canonicalize-lgpl.c
@@ -1,5 +1,5 @@
/* Test of execution of program termination handlers.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-cloexec.c b/gettext-tools/gnulib-tests/test-cloexec.c
index 116953d..c4feeba 100644
--- a/gettext-tools/gnulib-tests/test-cloexec.c
+++ b/gettext-tools/gnulib-tests/test-cloexec.c
@@ -1,5 +1,5 @@
/* Test duplicating non-inheritable file descriptors.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-close.c b/gettext-tools/gnulib-tests/test-close.c
index 44bce54..457a7bc 100644
--- a/gettext-tools/gnulib-tests/test-close.c
+++ b/gettext-tools/gnulib-tests/test-close.c
@@ -1,5 +1,5 @@
/* Test closing a file or socket.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-copy-acl.c b/gettext-tools/gnulib-tests/test-copy-acl.c
index 82b5abf..1c5227f 100644
--- a/gettext-tools/gnulib-tests/test-copy-acl.c
+++ b/gettext-tools/gnulib-tests/test-copy-acl.c
@@ -1,5 +1,5 @@
/* Test of copying of files.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-copy-file.c b/gettext-tools/gnulib-tests/test-copy-file.c
index a494745..a99e463 100644
--- a/gettext-tools/gnulib-tests/test-copy-file.c
+++ b/gettext-tools/gnulib-tests/test-copy-file.c
@@ -1,5 +1,5 @@
/* Test of copying of files.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ctype.c b/gettext-tools/gnulib-tests/test-ctype.c
new file mode 100644
index 0000000..58750e1
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-ctype.c
@@ -0,0 +1,27 @@
+/* Test of <ctype.h> substitute.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <ctype.h>
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-dirent.c b/gettext-tools/gnulib-tests/test-dirent.c
index 7905a2a..243b92b 100644
--- a/gettext-tools/gnulib-tests/test-dirent.c
+++ b/gettext-tools/gnulib-tests/test-dirent.c
@@ -1,5 +1,5 @@
/* Test of <dirent.h> substitute.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-dup-safer.c b/gettext-tools/gnulib-tests/test-dup-safer.c
index d11891e..7f6427c 100644
--- a/gettext-tools/gnulib-tests/test-dup-safer.c
+++ b/gettext-tools/gnulib-tests/test-dup-safer.c
@@ -1,5 +1,5 @@
/* Test that dup_safer leaves standard fds alone.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-dup.c b/gettext-tools/gnulib-tests/test-dup.c
index 905275c..b7b768e 100644
--- a/gettext-tools/gnulib-tests/test-dup.c
+++ b/gettext-tools/gnulib-tests/test-dup.c
@@ -1,5 +1,5 @@
/* Test duplicating a file descriptor.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-dup2.c b/gettext-tools/gnulib-tests/test-dup2.c
index c7cb965..be475ea 100644
--- a/gettext-tools/gnulib-tests/test-dup2.c
+++ b/gettext-tools/gnulib-tests/test-dup2.c
@@ -1,5 +1,5 @@
/* Test duplicating file descriptors.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-environ.c b/gettext-tools/gnulib-tests/test-environ.c
index 8afecb7..8395e9d 100644
--- a/gettext-tools/gnulib-tests/test-environ.c
+++ b/gettext-tools/gnulib-tests/test-environ.c
@@ -1,5 +1,5 @@
/* Test of environ variable.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-errno.c b/gettext-tools/gnulib-tests/test-errno.c
index 495242b..fab35d0 100644
--- a/gettext-tools/gnulib-tests/test-errno.c
+++ b/gettext-tools/gnulib-tests/test-errno.c
@@ -1,5 +1,5 @@
/* Test of <errno.h> substitute.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fabs.c b/gettext-tools/gnulib-tests/test-fabs.c
new file mode 100644
index 0000000..0e90681
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-fabs.c
@@ -0,0 +1,54 @@
+/* Test of fabs() function.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fabs, double, (double));
+
+#include <string.h>
+
+#include "macros.h"
+#include "minus-zero.h"
+
+#define DOUBLE double
+#define L_(literal) literal
+#define MINUS_ZERO minus_zerod
+#define FABS fabs
+#define RANDOM randomd
+#include "test-fabs.h"
+
+int
+main ()
+{
+ /* A particular positive value. */
+ x = 0.6;
+ y = fabs (x);
+ ASSERT (y == 0.6);
+
+ /* A particular negative value. */
+ x = -0.6;
+ y = fabs (x);
+ ASSERT (y == 0.6);
+
+ test_function ();
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-fabs.h b/gettext-tools/gnulib-tests/test-fabs.h
new file mode 100644
index 0000000..1edf8ef
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-fabs.h
@@ -0,0 +1,48 @@
+/* Test of fabs*() function family.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+static void
+test_function (void)
+{
+ volatile DOUBLE x;
+ DOUBLE y;
+
+ /* Signed zero. */
+ x = L_(0.0);
+ y = FABS (x);
+ ASSERT (y == L_(0.0));
+ ASSERT (!signbit (y));
+
+ x = MINUS_ZERO;
+ y = FABS (x);
+ ASSERT (y == L_(0.0));
+ ASSERT (!signbit (y));
+
+ /* Randomized tests. */
+ {
+ int i;
+
+ for (i = 0; i < SIZEOF (RANDOM); i++)
+ {
+ x = L_(10.0) * RANDOM[i]; /* 0.0 <= x <= 10.0 */
+ ASSERT (FABS (x) == x);
+ ASSERT (FABS (- x) == x);
+ }
+ }
+}
+
+volatile DOUBLE x;
+DOUBLE y;
diff --git a/gettext-tools/gnulib-tests/test-fcntl-h.c b/gettext-tools/gnulib-tests/test-fcntl-h.c
index 19e4fc5..e177b3e 100644
--- a/gettext-tools/gnulib-tests/test-fcntl-h.c
+++ b/gettext-tools/gnulib-tests/test-fcntl-h.c
@@ -1,5 +1,5 @@
/* Test of <fcntl.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fcntl.c b/gettext-tools/gnulib-tests/test-fcntl.c
index 23d74d8..fed914b 100644
--- a/gettext-tools/gnulib-tests/test-fcntl.c
+++ b/gettext-tools/gnulib-tests/test-fcntl.c
@@ -1,5 +1,5 @@
/* Test of fcntl(2).
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fdopen.c b/gettext-tools/gnulib-tests/test-fdopen.c
index 743511e..c4e0355 100644
--- a/gettext-tools/gnulib-tests/test-fdopen.c
+++ b/gettext-tools/gnulib-tests/test-fdopen.c
@@ -1,5 +1,5 @@
/* Test opening a stream with a file descriptor.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fgetc.c b/gettext-tools/gnulib-tests/test-fgetc.c
index 2534d4b..63e1e4a 100644
--- a/gettext-tools/gnulib-tests/test-fgetc.c
+++ b/gettext-tools/gnulib-tests/test-fgetc.c
@@ -1,5 +1,5 @@
/* Test of fgetc() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-file-has-acl.c b/gettext-tools/gnulib-tests/test-file-has-acl.c
index f0de2ce..0f33e0c 100644
--- a/gettext-tools/gnulib-tests/test-file-has-acl.c
+++ b/gettext-tools/gnulib-tests/test-file-has-acl.c
@@ -1,5 +1,5 @@
/* Test for presence of ACL.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-float.c b/gettext-tools/gnulib-tests/test-float.c
index 28a67bb..8b62133 100644
--- a/gettext-tools/gnulib-tests/test-float.c
+++ b/gettext-tools/gnulib-tests/test-float.c
@@ -1,5 +1,5 @@
/* Test of <float.h> substitute.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fnmatch.c b/gettext-tools/gnulib-tests/test-fnmatch.c
index de94559..970b284 100644
--- a/gettext-tools/gnulib-tests/test-fnmatch.c
+++ b/gettext-tools/gnulib-tests/test-fnmatch.c
@@ -1,5 +1,5 @@
/* Test of fnmatch string matching function.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fopen.c b/gettext-tools/gnulib-tests/test-fopen.c
index e1cb123..7b5d70c 100644
--- a/gettext-tools/gnulib-tests/test-fopen.c
+++ b/gettext-tools/gnulib-tests/test-fopen.c
@@ -1,5 +1,5 @@
/* Test of opening a file stream.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fopen.h b/gettext-tools/gnulib-tests/test-fopen.h
index f87bb2e..4747dc6 100644
--- a/gettext-tools/gnulib-tests/test-fopen.h
+++ b/gettext-tools/gnulib-tests/test-fopen.h
@@ -1,5 +1,5 @@
/* Test of opening a file stream.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fputc.c b/gettext-tools/gnulib-tests/test-fputc.c
index befb582..41ae096 100644
--- a/gettext-tools/gnulib-tests/test-fputc.c
+++ b/gettext-tools/gnulib-tests/test-fputc.c
@@ -1,5 +1,5 @@
/* Test of fputc() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fread.c b/gettext-tools/gnulib-tests/test-fread.c
index 72b93a9..41cea56 100644
--- a/gettext-tools/gnulib-tests/test-fread.c
+++ b/gettext-tools/gnulib-tests/test-fread.c
@@ -1,5 +1,5 @@
/* Test of fread() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fstat.c b/gettext-tools/gnulib-tests/test-fstat.c
index 9b793c9..7f39363 100644
--- a/gettext-tools/gnulib-tests/test-fstat.c
+++ b/gettext-tools/gnulib-tests/test-fstat.c
@@ -1,5 +1,5 @@
/* Tests of fstat() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fstrcmp.c b/gettext-tools/gnulib-tests/test-fstrcmp.c
index 7188b02..7e00535 100644
--- a/gettext-tools/gnulib-tests/test-fstrcmp.c
+++ b/gettext-tools/gnulib-tests/test-fstrcmp.c
@@ -1,5 +1,5 @@
/* Test of fuzzy string comparison.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ftell.c b/gettext-tools/gnulib-tests/test-ftell.c
index 2b7120d..2853226 100644
--- a/gettext-tools/gnulib-tests/test-ftell.c
+++ b/gettext-tools/gnulib-tests/test-ftell.c
@@ -1,5 +1,5 @@
/* Test of ftell() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ftell3.c b/gettext-tools/gnulib-tests/test-ftell3.c
index 918c9e4..8a95e1c 100644
--- a/gettext-tools/gnulib-tests/test-ftell3.c
+++ b/gettext-tools/gnulib-tests/test-ftell3.c
@@ -1,5 +1,5 @@
/* Test of ftell() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ftello.c b/gettext-tools/gnulib-tests/test-ftello.c
index 6f3597b..b9b5c96 100644
--- a/gettext-tools/gnulib-tests/test-ftello.c
+++ b/gettext-tools/gnulib-tests/test-ftello.c
@@ -1,5 +1,5 @@
/* Test of ftello() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ftello3.c b/gettext-tools/gnulib-tests/test-ftello3.c
index 6918432..67b4671 100644
--- a/gettext-tools/gnulib-tests/test-ftello3.c
+++ b/gettext-tools/gnulib-tests/test-ftello3.c
@@ -1,5 +1,5 @@
/* Test of ftello() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ftello4.c b/gettext-tools/gnulib-tests/test-ftello4.c
index ef9e74b..68e6459 100644
--- a/gettext-tools/gnulib-tests/test-ftello4.c
+++ b/gettext-tools/gnulib-tests/test-ftello4.c
@@ -1,5 +1,5 @@
/* Test of ftello() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-fwrite.c b/gettext-tools/gnulib-tests/test-fwrite.c
index e51b2ab..df4114c 100644
--- a/gettext-tools/gnulib-tests/test-fwrite.c
+++ b/gettext-tools/gnulib-tests/test-fwrite.c
@@ -1,5 +1,5 @@
/* Test of fwrite() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getcwd-lgpl.c b/gettext-tools/gnulib-tests/test-getcwd-lgpl.c
index 371c8df..de1728b 100644
--- a/gettext-tools/gnulib-tests/test-getcwd-lgpl.c
+++ b/gettext-tools/gnulib-tests/test-getcwd-lgpl.c
@@ -1,5 +1,5 @@
/* Test of getcwd() function.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getdelim.c b/gettext-tools/gnulib-tests/test-getdelim.c
index 76aba82..bbcc3cd 100644
--- a/gettext-tools/gnulib-tests/test-getdelim.c
+++ b/gettext-tools/gnulib-tests/test-getdelim.c
@@ -1,5 +1,5 @@
/* Test of getdelim() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getdtablesize.c b/gettext-tools/gnulib-tests/test-getdtablesize.c
index 86a0b4f..a0325af 100644
--- a/gettext-tools/gnulib-tests/test-getdtablesize.c
+++ b/gettext-tools/gnulib-tests/test-getdtablesize.c
@@ -1,5 +1,5 @@
/* Test of getdtablesize() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getline.c b/gettext-tools/gnulib-tests/test-getline.c
index 4dbc485..238742c 100644
--- a/gettext-tools/gnulib-tests/test-getline.c
+++ b/gettext-tools/gnulib-tests/test-getline.c
@@ -1,5 +1,5 @@
/* Test of getline() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getopt.c b/gettext-tools/gnulib-tests/test-getopt.c
index 152efea..a0ae340 100644
--- a/gettext-tools/gnulib-tests/test-getopt.c
+++ b/gettext-tools/gnulib-tests/test-getopt.c
@@ -1,5 +1,5 @@
/* Test of command line argument processing.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getopt.h b/gettext-tools/gnulib-tests/test-getopt.h
index c982d57..caaaa31 100644
--- a/gettext-tools/gnulib-tests/test-getopt.h
+++ b/gettext-tools/gnulib-tests/test-getopt.h
@@ -1,5 +1,5 @@
/* Test of command line argument processing.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-getopt_long.h b/gettext-tools/gnulib-tests/test-getopt_long.h
index 07ea4a2..1094f3c 100644
--- a/gettext-tools/gnulib-tests/test-getopt_long.h
+++ b/gettext-tools/gnulib-tests/test-getopt_long.h
@@ -1,5 +1,5 @@
/* Test of command line argument processing.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-gettimeofday.c b/gettext-tools/gnulib-tests/test-gettimeofday.c
index 5abb872..3b15f12 100644
--- a/gettext-tools/gnulib-tests/test-gettimeofday.c
+++ b/gettext-tools/gnulib-tests/test-gettimeofday.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
* Written by Jim Meyering.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-iconv-h.c b/gettext-tools/gnulib-tests/test-iconv-h.c
index e72e373..5b688d9 100644
--- a/gettext-tools/gnulib-tests/test-iconv-h.c
+++ b/gettext-tools/gnulib-tests/test-iconv-h.c
@@ -1,5 +1,5 @@
/* Test of <iconv.h> substitute.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-iconv.c b/gettext-tools/gnulib-tests/test-iconv.c
index 3c1b193..ed715bd 100644
--- a/gettext-tools/gnulib-tests/test-iconv.c
+++ b/gettext-tools/gnulib-tests/test-iconv.c
@@ -1,5 +1,5 @@
/* Test of character set conversion.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-ignore-value.c b/gettext-tools/gnulib-tests/test-ignore-value.c
index 3533d7c..fc98860 100644
--- a/gettext-tools/gnulib-tests/test-ignore-value.c
+++ b/gettext-tools/gnulib-tests/test-ignore-value.c
@@ -1,6 +1,6 @@
/* Test the "ignore-value" module.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-init.sh b/gettext-tools/gnulib-tests/test-init.sh
index be447b3..0875a75 100755
--- a/gettext-tools/gnulib-tests/test-init.sh
+++ b/gettext-tools/gnulib-tests/test-init.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Unit tests for init.sh
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-intprops.c b/gettext-tools/gnulib-tests/test-intprops.c
index 97553e7..82dc9bf 100644
--- a/gettext-tools/gnulib-tests/test-intprops.c
+++ b/gettext-tools/gnulib-tests/test-intprops.c
@@ -1,5 +1,5 @@
/* Test intprops.h.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
@@ -16,10 +16,19 @@
/* Written by Paul Eggert. */
-/* Tell gcc not to warn about the many (X < 0) expressions that
- the overflow macros expand to. */
-#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+/* Tell gcc not to warn about the long expressions that the overflow
+ macros expand to, or about the (X < 0) expressions. */
+#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Woverlength-strings"
# pragma GCC diagnostic ignored "-Wtype-limits"
+
+/* Work around a bug in GCC 5.3.1 and earlier; see:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68971
+ Hope it will be fixed by the time GCC 6 comes out. */
+# if __GNUC__ < 6
+# pragma GCC diagnostic ignored "-Woverflow"
+# endif
+
#endif
#include <config.h>
@@ -29,6 +38,7 @@
#include <stdbool.h>
#include <inttypes.h>
+#include <limits.h>
#include "macros.h"
@@ -43,6 +53,8 @@
# define VERIFY(x) ASSERT (x)
#endif
+#define DONTCARE __LINE__
+
int
main (void)
{
@@ -128,148 +140,244 @@ main (void)
#endif
/* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
- INT_<op>_OVERFLOW tests, so define a single macro to do both. */
- #define CHECK_BINOP(op, a, b, min, max, overflow) \
- (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow) \
- && INT_##op##_OVERFLOW (a, b) == (overflow))
- #define CHECK_UNOP(op, a, min, max, overflow) \
- (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow) \
- && INT_##op##_OVERFLOW (a) == (overflow))
+ INT_<op>_OVERFLOW tests, so define macros to do both. OP is the
+ operation, OPNAME its symbolic name, A and B its operands, T the
+ result type, V the overflow flag, and VRES the result if V and if
+ two's complement. CHECK_BINOP is for most binary operatinos,
+ CHECK_SBINOP for binary +, -, * when the result type is signed,
+ and CHECK_UNOP for unary operations. */
+ #define CHECK_BINOP(op, opname, a, b, t, v, vres) \
+ VERIFY (INT_##opname##_RANGE_OVERFLOW (a, b, TYPE_MINIMUM (t), \
+ TYPE_MAXIMUM (t)) \
+ == (v)); \
+ VERIFY (INT_##opname##_OVERFLOW (a, b) == (v))
+ #define CHECK_SBINOP(op, opname, a, b, t, v, vres) \
+ CHECK_BINOP(op, opname, a, b, t, v, vres); \
+ { \
+ t result; \
+ ASSERT (INT_##opname##_WRAPV (a, b, &result) == (v)); \
+ ASSERT (result == ((v) ? (vres) : ((a) op (b))) \
+ || ((v) && !TYPE_TWOS_COMPLEMENT (t))); \
+ }
+ #define CHECK_UNOP(op, opname, a, t, v) \
+ VERIFY (INT_##opname##_RANGE_OVERFLOW (a, TYPE_MINIMUM (t), \
+ TYPE_MAXIMUM (t)) \
+ == (v)); \
+ VERIFY (INT_##opname##_OVERFLOW (a) == (v))
/* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW. */
VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
- VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
- VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
-
- VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
- VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
-
- VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
- TYPE_TWOS_COMPLEMENT (int)));
- VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
- VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
- VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
-
- VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
- VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
- INT_NEGATE_OVERFLOW (INT_MIN)));
- VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
- LONG_MIN, LONG_MIN, false));
-
- VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
- INT_NEGATE_OVERFLOW (INT_MIN)));
- VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
- -1u, 0u, UINT_MAX, false));
-
- VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
- INT_NEGATE_OVERFLOW (INT_MIN)));
- VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
- VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
- -1u, 0u, UINT_MAX, false));
-
- VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
- VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
- VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
-
- /* INT_<op>_OVERFLOW with mixed types. */
- #define CHECK_SUM(a, b, overflow) \
- VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow)); \
- VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
- CHECK_SUM (-1, LONG_MIN, true);
- CHECK_SUM (-1, UINT_MAX, false);
- CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
- CHECK_SUM (0u, -1, true);
- CHECK_SUM (0u, 0, false);
- CHECK_SUM (0u, 1, false);
- CHECK_SUM (1, LONG_MAX, true);
- CHECK_SUM (1, UINT_MAX, true);
- CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
- CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
- CHECK_SUM (1u, INT_MIN, true);
-
- VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
- VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
- VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
- VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
- VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
- VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
-
- #define CHECK_PRODUCT(a, b, overflow) \
- VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow)); \
- VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
-
- CHECK_PRODUCT (-1, 1u, true);
- CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
- CHECK_PRODUCT (-1, UINT_MAX, true);
- CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
- CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
- CHECK_PRODUCT (0, -1, false);
- CHECK_PRODUCT (0, 0, false);
- CHECK_PRODUCT (0, 0u, false);
- CHECK_PRODUCT (0, 1, false);
- CHECK_PRODUCT (0, INT_MAX, false);
- CHECK_PRODUCT (0, INT_MIN, false);
- CHECK_PRODUCT (0, UINT_MAX, false);
- CHECK_PRODUCT (0u, -1, false);
- CHECK_PRODUCT (0u, 0, false);
- CHECK_PRODUCT (0u, 0u, false);
- CHECK_PRODUCT (0u, 1, false);
- CHECK_PRODUCT (0u, INT_MAX, false);
- CHECK_PRODUCT (0u, INT_MIN, false);
- CHECK_PRODUCT (0u, UINT_MAX, false);
- CHECK_PRODUCT (1, INT_MAX, false);
- CHECK_PRODUCT (1, INT_MIN, false);
- CHECK_PRODUCT (1, UINT_MAX, false);
- CHECK_PRODUCT (1u, INT_MIN, true);
- CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
- CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
- CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
- CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
- CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
- CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
- CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
-
- VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
- == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
- VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
- VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
- VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
- VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
- VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
- VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
- VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
- VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
- VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
-
- VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
- == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
- VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
- VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
- VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
- == (INTMAX_MAX < UINT_MAX
- && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
- VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
- == (INT_MIN % ULONG_MAX != 1));
- VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
- VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
- VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
- VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
- VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
+
+ CHECK_SBINOP (+, ADD, INT_MAX, 1, int, true, INT_MIN);
+ CHECK_SBINOP (+, ADD, INT_MAX, -1, int, false, INT_MAX - 1);
+ CHECK_SBINOP (+, ADD, INT_MIN, 1, int, false, INT_MIN + 1);
+ CHECK_SBINOP (+, ADD, INT_MIN, -1, int, true, INT_MAX);
+ CHECK_BINOP (+, ADD, UINT_MAX, 1u, unsigned int, true, 0u);
+ CHECK_BINOP (+, ADD, 0u, 1u, unsigned int, false, 1u);
+
+ CHECK_SBINOP (-, SUBTRACT, INT_MAX, 1, int, false, INT_MAX - 1);
+ CHECK_SBINOP (-, SUBTRACT, INT_MAX, -1, int, true, INT_MIN);
+ CHECK_SBINOP (-, SUBTRACT, INT_MIN, 1, int, true, INT_MAX);
+ CHECK_SBINOP (-, SUBTRACT, INT_MIN, -1, int, false, INT_MIN - -1);
+ CHECK_BINOP (-, SUBTRACT, UINT_MAX, 1u, unsigned int, false, UINT_MAX - 1u);
+ CHECK_BINOP (-, SUBTRACT, 0u, 1u, unsigned int, true, 0u - 1u);
+
+ CHECK_UNOP (-, NEGATE, INT_MIN, int, TYPE_TWOS_COMPLEMENT (int));
+ CHECK_UNOP (-, NEGATE, 0, int, false);
+ CHECK_UNOP (-, NEGATE, INT_MAX, int, false);
+ CHECK_UNOP (-, NEGATE, 0u, unsigned int, false);
+ CHECK_UNOP (-, NEGATE, 1u, unsigned int, true);
+ CHECK_UNOP (-, NEGATE, UINT_MAX, unsigned int, true);
+
+ CHECK_SBINOP (*, MULTIPLY, INT_MAX, INT_MAX, int, true, 1);
+ CHECK_SBINOP (*, MULTIPLY, INT_MAX, INT_MIN, int, true, INT_MIN);
+ CHECK_SBINOP (*, MULTIPLY, INT_MIN, INT_MAX, int, true, INT_MIN);
+ CHECK_SBINOP (*, MULTIPLY, INT_MIN, INT_MIN, int, true, 0);
+ CHECK_SBINOP (*, MULTIPLY, -1, INT_MIN, int,
+ INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+ CHECK_SBINOP (*, MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
+ long int, false, LONG_MIN - LONG_MIN % INT_MAX);
+
+ CHECK_BINOP (/, DIVIDE, INT_MIN, -1, int,
+ INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+ CHECK_BINOP (/, DIVIDE, INT_MAX, 1, int, false, INT_MAX);
+ CHECK_BINOP (/, DIVIDE, (unsigned int) INT_MIN, -1u, unsigned int,
+ false, INT_MIN / -1u);
+
+ CHECK_BINOP (%, REMAINDER, INT_MIN, -1, int, INT_NEGATE_OVERFLOW (INT_MIN), 0);
+ CHECK_BINOP (%, REMAINDER, INT_MAX, 1, int, false, 0);
+ CHECK_BINOP (%, REMAINDER, (unsigned int) INT_MIN, -1u, unsigned int,
+ false, INT_MIN % -1u);
+
+ CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX, 1, unsigned int, true, UINT_MAX << 1);
+ CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX / 2 + 1, 1, unsigned int, true,
+ (UINT_MAX / 2 + 1) << 1);
+ CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX / 2, 1, unsigned int, false,
+ (UINT_MAX / 2) << 1);
+
+ /* INT_<op>_OVERFLOW and INT_<op>_WRAPV with mixed types. */
+ #define CHECK_SUM(a, b, t, v, vres) \
+ CHECK_SUM1(a, b, t, v, vres); \
+ CHECK_SUM1(b, a, t, v, vres)
+ #define CHECK_SSUM(a, b, t, v, vres) \
+ CHECK_SSUM1(a, b, t, v, vres); \
+ CHECK_SSUM1(b, a, t, v, vres)
+ #define CHECK_SUM1(a, b, t, v, vres) \
+ VERIFY (INT_ADD_OVERFLOW (a, b) == (v))
+ #define CHECK_SSUM1(a, b, t, v, vres) \
+ CHECK_SUM1(a, b, t, v, vres); \
+ { \
+ t result; \
+ ASSERT (INT_ADD_WRAPV (a, b, &result) == (v)); \
+ ASSERT (result == ((v) ? (vres) : ((a) + (b))) \
+ || ((v) && !TYPE_TWOS_COMPLEMENT (t))); \
+ }
+ CHECK_SSUM (-1, LONG_MIN, long int, true, LONG_MAX);
+ CHECK_SUM (-1, UINT_MAX, unsigned int, false, DONTCARE);
+ CHECK_SSUM (-1L, INT_MIN, long int, INT_MIN == LONG_MIN,
+ INT_MIN == LONG_MIN ? INT_MAX : DONTCARE);
+ CHECK_SUM (0u, -1, unsigned int, true, 0u + -1);
+ CHECK_SUM (0u, 0, unsigned int, false, DONTCARE);
+ CHECK_SUM (0u, 1, unsigned int, false, DONTCARE);
+ CHECK_SSUM (1, LONG_MAX, long int, true, LONG_MIN);
+ CHECK_SUM (1, UINT_MAX, unsigned int, true, 0u);
+ CHECK_SSUM (1L, INT_MAX, long int, INT_MAX == LONG_MAX,
+ INT_MAX == LONG_MAX ? INT_MIN : DONTCARE);
+ CHECK_SUM (1u, INT_MAX, unsigned int, INT_MAX == UINT_MAX, 1u + INT_MAX);
+ CHECK_SUM (1u, INT_MIN, unsigned int, true, 1u + INT_MIN);
+ {
+ long int result;
+ ASSERT (INT_ADD_WRAPV (1, INT_MAX, &result) == (INT_MAX == LONG_MAX));
+ ASSERT (INT_ADD_WRAPV (-1, INT_MIN, &result) == (INT_MIN == LONG_MIN));
+ }
+
+ #define CHECK_DIFFERENCE(a, b, t, v, vres) \
+ VERIFY (INT_SUBTRACT_OVERFLOW (a, b) == (v))
+ #define CHECK_SDIFFERENCE(a, b, t, v, vres) \
+ CHECK_DIFFERENCE(a, b, t, v, vres); \
+ { \
+ t result; \
+ ASSERT (INT_SUBTRACT_WRAPV (a, b, &result) == (v)); \
+ ASSERT (result == ((v) ? (vres) : ((a) - (b))) \
+ || ((v) && !TYPE_TWOS_COMPLEMENT (t))); \
+ }
+ CHECK_DIFFERENCE (INT_MAX, 1u, unsigned int, UINT_MAX < INT_MAX - 1,
+ INT_MAX - 1u);
+ CHECK_DIFFERENCE (UINT_MAX, 1, unsigned int, false, UINT_MAX - 1);
+ CHECK_DIFFERENCE (0u, -1, unsigned int, false, 0u - -1);
+ CHECK_DIFFERENCE (UINT_MAX, -1, unsigned int, true, UINT_MAX - -1);
+ CHECK_DIFFERENCE (INT_MIN, 1u, unsigned int, true, INT_MIN - 1u);
+ CHECK_DIFFERENCE (-1, 0u, unsigned int, true, -1 - 0u);
+ CHECK_SDIFFERENCE (-1, INT_MIN, int, false, -1 - INT_MIN);
+ CHECK_SDIFFERENCE (-1, INT_MAX, int, false, -1 - INT_MAX);
+ CHECK_SDIFFERENCE (0, INT_MIN, int, INT_MIN < -INT_MAX, INT_MIN);
+ CHECK_SDIFFERENCE (0, INT_MAX, int, false, 0 - INT_MAX);
+ {
+ long int result;
+ ASSERT (INT_SUBTRACT_WRAPV (INT_MAX, -1, &result) == (INT_MAX == LONG_MAX));
+ ASSERT (INT_SUBTRACT_WRAPV (INT_MIN, 1, &result) == (INT_MAX == LONG_MAX));
+ }
+
+ #define CHECK_PRODUCT(a, b, t, v, vres) \
+ CHECK_PRODUCT1(a, b, t, v, vres); \
+ CHECK_PRODUCT1(b, a, t, v, vres)
+ #define CHECK_SPRODUCT(a, b, t, v, vres) \
+ CHECK_SPRODUCT1(a, b, t, v, vres); \
+ CHECK_SPRODUCT1(b, a, t, v, vres)
+ #define CHECK_PRODUCT1(a, b, t, v, vres) \
+ VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (v))
+ #define CHECK_SPRODUCT1(a, b, t, v, vres) \
+ CHECK_PRODUCT1(a, b, t, v, vres); \
+ { \
+ t result; \
+ ASSERT (INT_MULTIPLY_WRAPV (a, b, &result) == (v)); \
+ ASSERT (result == ((v) ? (vres) : ((a) * (b))) \
+ || ((v) && !TYPE_TWOS_COMPLEMENT (t))); \
+ }
+ CHECK_PRODUCT (-1, 1u, unsigned int, true, -1 * 1u);
+ CHECK_SPRODUCT (-1, INT_MIN, int, INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+ CHECK_PRODUCT (-1, UINT_MAX, unsigned int, true, -1 * UINT_MAX);
+ CHECK_SPRODUCT (-32768, LONG_MAX / -32768 - 1, long int, true, LONG_MIN);
+ CHECK_SPRODUCT (-12345, LONG_MAX / -12345, long int, false, DONTCARE);
+ CHECK_SPRODUCT (0, -1, int, false, DONTCARE);
+ CHECK_SPRODUCT (0, 0, int, false, DONTCARE);
+ CHECK_PRODUCT (0, 0u, unsigned int, false, DONTCARE);
+ CHECK_SPRODUCT (0, 1, int, false, DONTCARE);
+ CHECK_SPRODUCT (0, INT_MAX, int, false, DONTCARE);
+ CHECK_SPRODUCT (0, INT_MIN, int, false, DONTCARE);
+ CHECK_PRODUCT (0, UINT_MAX, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, -1, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, 0, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, 0u, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, 1, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, INT_MAX, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, INT_MIN, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (0u, UINT_MAX, unsigned int, false, DONTCARE);
+ CHECK_SPRODUCT (1, INT_MAX, int, false, DONTCARE);
+ CHECK_SPRODUCT (1, INT_MIN, int, false, DONTCARE);
+ CHECK_PRODUCT (1, UINT_MAX, unsigned int, false, DONTCARE);
+ CHECK_PRODUCT (1u, INT_MIN, unsigned int, true, 1u * INT_MIN);
+ CHECK_PRODUCT (1u, INT_MAX, unsigned int, UINT_MAX < INT_MAX, 1u * INT_MAX);
+ CHECK_PRODUCT (INT_MAX, UINT_MAX, unsigned int, true, INT_MAX * UINT_MAX);
+ CHECK_PRODUCT (INT_MAX, ULONG_MAX, unsigned long int, true,
+ INT_MAX * ULONG_MAX);
+ CHECK_SPRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, long int, true, LONG_MIN);
+ CHECK_SPRODUCT (INT_MIN, LONG_MAX / INT_MIN, long int, false, DONTCARE);
+ CHECK_PRODUCT (INT_MIN, UINT_MAX, unsigned int, true, INT_MIN * UINT_MAX);
+ CHECK_PRODUCT (INT_MIN, ULONG_MAX, unsigned long int, true,
+ INT_MIN * ULONG_MAX);
+ {
+ long int result;
+ ASSERT (INT_MULTIPLY_WRAPV (INT_MAX, INT_MAX, &result)
+ == (LONG_MAX / INT_MAX < INT_MAX));
+ ASSERT (INT_MULTIPLY_WRAPV (INT_MAX, INT_MAX, &result)
+ || result == INT_MAX * (long int) INT_MAX);
+ ASSERT (INT_MULTIPLY_WRAPV (INT_MIN, INT_MIN, &result)
+ || result == INT_MIN * (long int) INT_MIN);
+ }
+
+# ifdef LLONG_MAX
+ {
+ long long int result;
+ ASSERT (INT_MULTIPLY_WRAPV (LONG_MAX, LONG_MAX, &result)
+ == (LLONG_MAX / LONG_MAX < LONG_MAX));
+ ASSERT (INT_MULTIPLY_WRAPV (LONG_MAX, LONG_MAX, &result)
+ || result == LONG_MAX * (long long int) LONG_MAX);
+ ASSERT (INT_MULTIPLY_WRAPV (LONG_MIN, LONG_MIN, &result)
+ || result == LONG_MIN * (long long int) LONG_MIN);
+ }
+# endif
+
+ #define CHECK_QUOTIENT(a, b, v) VERIFY (INT_DIVIDE_OVERFLOW (a, b) == (v))
+
+ CHECK_QUOTIENT (INT_MIN, -1L,
+ TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN);
+ CHECK_QUOTIENT (INT_MIN, UINT_MAX, false);
+ CHECK_QUOTIENT (INTMAX_MIN, UINTMAX_MAX, false);
+ CHECK_QUOTIENT (INTMAX_MIN, UINT_MAX, false);
+ CHECK_QUOTIENT (-11, 10u, true);
+ CHECK_QUOTIENT (-10, 10u, true);
+ CHECK_QUOTIENT (-9, 10u, false);
+ CHECK_QUOTIENT (11u, -10, true);
+ CHECK_QUOTIENT (10u, -10, true);
+ CHECK_QUOTIENT (9u, -10, false);
+
+ #define CHECK_REMAINDER(a, b, v) VERIFY (INT_REMAINDER_OVERFLOW (a, b) == (v))
+
+ CHECK_REMAINDER (INT_MIN, -1L,
+ TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN);
+ CHECK_REMAINDER (-1, UINT_MAX, true);
+ CHECK_REMAINDER ((intmax_t) -1, UINTMAX_MAX, true);
+ CHECK_REMAINDER (INTMAX_MIN, UINT_MAX,
+ (INTMAX_MAX < UINT_MAX
+ && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
+ CHECK_REMAINDER (INT_MIN, ULONG_MAX, INT_MIN % ULONG_MAX != 1);
+ CHECK_REMAINDER (1u, -1, false);
+ CHECK_REMAINDER (37*39u, -39, false);
+ CHECK_REMAINDER (37*39u + 1, -39, true);
+ CHECK_REMAINDER (37*39u - 1, -39, true);
+ CHECK_REMAINDER (LONG_MAX, -INT_MAX, false);
return 0;
}
diff --git a/gettext-tools/gnulib-tests/test-inttypes.c b/gettext-tools/gnulib-tests/test-inttypes.c
index 35deeab..7fa18b2 100644
--- a/gettext-tools/gnulib-tests/test-inttypes.c
+++ b/gettext-tools/gnulib-tests/test-inttypes.c
@@ -1,5 +1,5 @@
/* Test of <inttypes.h> substitute.
- Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-isinf.c b/gettext-tools/gnulib-tests/test-isinf.c
new file mode 100644
index 0000000..d56feb4
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isinf.c
@@ -0,0 +1,246 @@
+/* Test of isinf() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Ben Pfaff, 2008, using Bruno Haible's code as a
+ template. */
+
+#include <config.h>
+
+#include <math.h>
+
+/* isinf must be a macro. */
+#ifndef isinf
+# error missing declaration
+#endif
+
+#include <float.h>
+#include <limits.h>
+
+#include "infinity.h"
+#include "macros.h"
+
+float zerof = 0.0f;
+double zerod = 0.0;
+long double zerol = 0.0L;
+
+static void
+test_isinff ()
+{
+ /* Zero. */
+ ASSERT (!isinf (0.0f));
+ /* Subnormal values. */
+ ASSERT (!isinf (FLT_MIN / 2));
+ ASSERT (!isinf (-FLT_MIN / 2));
+ /* Finite values. */
+ ASSERT (!isinf (3.141f));
+ ASSERT (!isinf (3.141e30f));
+ ASSERT (!isinf (3.141e-30f));
+ ASSERT (!isinf (-2.718f));
+ ASSERT (!isinf (-2.718e30f));
+ ASSERT (!isinf (-2.718e-30f));
+ ASSERT (!isinf (FLT_MAX));
+ ASSERT (!isinf (-FLT_MAX));
+ /* Infinite values. */
+ ASSERT (isinf (Infinityf ()));
+ ASSERT (isinf (- Infinityf ()));
+ /* Quiet NaN. */
+ ASSERT (!isinf (zerof / zerof));
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+ memory_float m;
+ m.value = zerof / zerof;
+# if FLT_EXPBIT0_BIT > 0
+ m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
+# else
+ m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ if (FLT_EXPBIT0_WORD < NWORDS / 2)
+ m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
+ else
+ m.word[0] |= (unsigned int) 1;
+ ASSERT (!isinf (m.value));
+ #undef NWORDS
+ }
+#endif
+}
+
+static void
+test_isinfd ()
+{
+ /* Zero. */
+ ASSERT (!isinf (0.0));
+ /* Subnormal values. */
+ ASSERT (!isinf (DBL_MIN / 2));
+ ASSERT (!isinf (-DBL_MIN / 2));
+ /* Finite values. */
+ ASSERT (!isinf (3.141));
+ ASSERT (!isinf (3.141e30));
+ ASSERT (!isinf (3.141e-30));
+ ASSERT (!isinf (-2.718));
+ ASSERT (!isinf (-2.718e30));
+ ASSERT (!isinf (-2.718e-30));
+ ASSERT (!isinf (DBL_MAX));
+ ASSERT (!isinf (-DBL_MAX));
+ /* Infinite values. */
+ ASSERT (isinf (Infinityd ()));
+ ASSERT (isinf (- Infinityd ()));
+ /* Quiet NaN. */
+ ASSERT (!isinf (zerod / zerod));
+#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+ memory_double m;
+ m.value = zerod / zerod;
+# if DBL_EXPBIT0_BIT > 0
+ m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
+# else
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
+ ASSERT (!isinf (m.value));
+ #undef NWORDS
+ }
+#endif
+}
+
+static void
+test_isinfl ()
+{
+ #define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+
+ /* Zero. */
+ ASSERT (!isinf (0.0L));
+ /* Subnormal values. */
+ ASSERT (!isinf (LDBL_MIN / 2));
+ ASSERT (!isinf (-LDBL_MIN / 2));
+ /* Finite values. */
+ ASSERT (!isinf (3.141L));
+ ASSERT (!isinf (3.141e30L));
+ ASSERT (!isinf (3.141e-30L));
+ ASSERT (!isinf (-2.718L));
+ ASSERT (!isinf (-2.718e30L));
+ ASSERT (!isinf (-2.718e-30L));
+ ASSERT (!isinf (LDBL_MAX));
+ ASSERT (!isinf (-LDBL_MAX));
+ /* Infinite values. */
+ ASSERT (isinf (Infinityl ()));
+ ASSERT (isinf (- Infinityl ()));
+ /* Quiet NaN. */
+ ASSERT (!isinf (zerol / zerol));
+
+#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+ /* A bit pattern that is different from a Quiet NaN. With a bit of luck,
+ it's a Signalling NaN. */
+ {
+#if defined __powerpc__ && LDBL_MANT_DIG == 106
+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are
+ represented as the corresponding 64-bit IEEE values in the first double;
+ the second is ignored. Manipulate only the first double. */
+ #undef NWORDS
+ #define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+#endif
+
+ memory_long_double m;
+ m.value = zerol / zerol;
+# if LDBL_EXPBIT0_BIT > 0
+ m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
+# else
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
+ ASSERT (!isinf (m.value));
+ }
+#endif
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ ASSERT (!isinf (x.value));
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ ASSERT (!isinf (x.value));
+ }
+ /* isinf should return something for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ ASSERT (isinf (x.value) || !isinf (x.value));
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ ASSERT (isinf (x.value) || !isinf (x.value));
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ ASSERT (isinf (x.value) || !isinf (x.value));
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ ASSERT (isinf (x.value) || !isinf (x.value));
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ ASSERT (isinf (x.value) || !isinf (x.value));
+ }
+#endif
+
+ #undef NWORDS
+}
+
+int
+main ()
+{
+ test_isinff ();
+ test_isinfd ();
+ test_isinfl ();
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-isnan.c b/gettext-tools/gnulib-tests/test-isnan.c
new file mode 100644
index 0000000..bb4c940
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnan.c
@@ -0,0 +1,225 @@
+/* Test of isnand() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Ben Pfaff <blp@cs.stanford.edu>, from code by Bruno
+ Haible <bruno@clisp.org>. */
+
+#include <config.h>
+
+#include <math.h>
+
+/* isnan must be a macro. */
+#ifndef isnan
+# error missing declaration
+#endif
+
+#include <float.h>
+#include <limits.h>
+
+#include "minus-zero.h"
+#include "infinity.h"
+#include "nan.h"
+#include "macros.h"
+
+static void
+test_float (void)
+{
+ /* Finite values. */
+ ASSERT (!isnan (3.141f));
+ ASSERT (!isnan (3.141e30f));
+ ASSERT (!isnan (3.141e-30f));
+ ASSERT (!isnan (-2.718f));
+ ASSERT (!isnan (-2.718e30f));
+ ASSERT (!isnan (-2.718e-30f));
+ ASSERT (!isnan (0.0f));
+ ASSERT (!isnan (minus_zerof));
+ /* Infinite values. */
+ ASSERT (!isnan (Infinityf ()));
+ ASSERT (!isnan (- Infinityf ()));
+ /* Quiet NaN. */
+ ASSERT (isnan (NaNf ()));
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDSF \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { float value; unsigned int word[NWORDSF]; } memory_float;
+ memory_float m;
+ m.value = NaNf ();
+# if FLT_EXPBIT0_BIT > 0
+ m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
+# else
+ m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDSF / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ if (FLT_EXPBIT0_WORD < NWORDSF / 2)
+ m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
+ else
+ m.word[0] |= (unsigned int) 1;
+ ASSERT (isnan (m.value));
+ }
+#endif
+}
+
+static void
+test_double (void)
+{
+ /* Finite values. */
+ ASSERT (!isnan (3.141));
+ ASSERT (!isnan (3.141e30));
+ ASSERT (!isnan (3.141e-30));
+ ASSERT (!isnan (-2.718));
+ ASSERT (!isnan (-2.718e30));
+ ASSERT (!isnan (-2.718e-30));
+ ASSERT (!isnan (0.0));
+ ASSERT (!isnan (minus_zerod));
+ /* Infinite values. */
+ ASSERT (!isnan (Infinityd ()));
+ ASSERT (!isnan (- Infinityd ()));
+ /* Quiet NaN. */
+ ASSERT (isnan (NaNd ()));
+#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDSD \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { double value; unsigned int word[NWORDSD]; } memory_double;
+ memory_double m;
+ m.value = NaNd ();
+# if DBL_EXPBIT0_BIT > 0
+ m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
+# else
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDSD / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDSD / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
+ ASSERT (isnan (m.value));
+ }
+#endif
+}
+
+static void
+test_long_double (void)
+{
+ #define NWORDSL \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { unsigned int word[NWORDSL]; long double value; }
+ memory_long_double;
+
+ /* Finite values. */
+ ASSERT (!isnan (3.141L));
+ ASSERT (!isnan (3.141e30L));
+ ASSERT (!isnan (3.141e-30L));
+ ASSERT (!isnan (-2.718L));
+ ASSERT (!isnan (-2.718e30L));
+ ASSERT (!isnan (-2.718e-30L));
+ ASSERT (!isnan (0.0L));
+ ASSERT (!isnan (minus_zerol));
+ /* Infinite values. */
+ ASSERT (!isnan (Infinityl ()));
+ ASSERT (!isnan (- Infinityl ()));
+ /* Quiet NaN. */
+ ASSERT (isnan (NaNl ()));
+
+#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+ /* A bit pattern that is different from a Quiet NaN. With a bit of luck,
+ it's a Signalling NaN. */
+ {
+#if defined __powerpc__ && LDBL_MANT_DIG == 106
+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are
+ represented as the corresponding 64-bit IEEE values in the first double;
+ the second is ignored. Manipulate only the first double. */
+ #undef NWORDSL
+ #define NWORDSL \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+#endif
+
+ memory_long_double m;
+ m.value = NaNl ();
+# if LDBL_EXPBIT0_BIT > 0
+ m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
+# else
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDSL / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDSL / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
+ ASSERT (isnan (m.value));
+ }
+#endif
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ ASSERT (isnan (x.value));
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ ASSERT (isnan (x.value));
+ }
+ /* isnan should return something for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ ASSERT (isnan (x.value) || !isnan (x.value));
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ ASSERT (isnan (x.value) || !isnan (x.value));
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ ASSERT (isnan (x.value) || !isnan (x.value));
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ ASSERT (isnan (x.value) || !isnan (x.value));
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ ASSERT (isnan (x.value) || !isnan (x.value));
+ }
+#endif
+}
+
+int
+main ()
+{
+ test_float ();
+ test_double ();
+ test_long_double ();
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-isnand-nolibm.c b/gettext-tools/gnulib-tests/test-isnand-nolibm.c
new file mode 100644
index 0000000..984d184
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnand-nolibm.c
@@ -0,0 +1,21 @@
+/* Test of isnand() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "isnand-nolibm.h"
+
+#include "test-isnand.h"
diff --git a/gettext-tools/gnulib-tests/test-isnand.c b/gettext-tools/gnulib-tests/test-isnand.c
new file mode 100644
index 0000000..175bdbe
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnand.c
@@ -0,0 +1,21 @@
+/* Test of isnand() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "test-isnand.h"
diff --git a/gettext-tools/gnulib-tests/test-isnand.h b/gettext-tools/gnulib-tests/test-isnand.h
new file mode 100644
index 0000000..06fc183
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnand.h
@@ -0,0 +1,63 @@
+/* Test of isnand() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <limits.h>
+
+#include "minus-zero.h"
+#include "infinity.h"
+#include "nan.h"
+#include "macros.h"
+
+int
+main ()
+{
+ /* Finite values. */
+ ASSERT (!isnand (3.141));
+ ASSERT (!isnand (3.141e30));
+ ASSERT (!isnand (3.141e-30));
+ ASSERT (!isnand (-2.718));
+ ASSERT (!isnand (-2.718e30));
+ ASSERT (!isnand (-2.718e-30));
+ ASSERT (!isnand (0.0));
+ ASSERT (!isnand (minus_zerod));
+ /* Infinite values. */
+ ASSERT (!isnand (Infinityd ()));
+ ASSERT (!isnand (- Infinityd ()));
+ /* Quiet NaN. */
+ ASSERT (isnand (NaNd ()));
+#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+ memory_double m;
+ m.value = NaNd ();
+# if DBL_EXPBIT0_BIT > 0
+ m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
+# else
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
+ ASSERT (isnand (m.value));
+ }
+#endif
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-isnanf-nolibm.c b/gettext-tools/gnulib-tests/test-isnanf-nolibm.c
new file mode 100644
index 0000000..7f70eb5
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnanf-nolibm.c
@@ -0,0 +1,21 @@
+/* Test of isnanf() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "isnanf-nolibm.h"
+
+#include "test-isnanf.h"
diff --git a/gettext-tools/gnulib-tests/test-isnanf.c b/gettext-tools/gnulib-tests/test-isnanf.c
new file mode 100644
index 0000000..9d67270
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnanf.c
@@ -0,0 +1,21 @@
+/* Test of isnanf() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "test-isnanf.h"
diff --git a/gettext-tools/gnulib-tests/test-isnanf.h b/gettext-tools/gnulib-tests/test-isnanf.h
new file mode 100644
index 0000000..cf51f12
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnanf.h
@@ -0,0 +1,65 @@
+/* Test of isnanf() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <limits.h>
+
+#include "minus-zero.h"
+#include "infinity.h"
+#include "nan.h"
+#include "macros.h"
+
+int
+main ()
+{
+ /* Finite values. */
+ ASSERT (!isnanf (3.141f));
+ ASSERT (!isnanf (3.141e30f));
+ ASSERT (!isnanf (3.141e-30f));
+ ASSERT (!isnanf (-2.718f));
+ ASSERT (!isnanf (-2.718e30f));
+ ASSERT (!isnanf (-2.718e-30f));
+ ASSERT (!isnanf (0.0f));
+ ASSERT (!isnanf (minus_zerof));
+ /* Infinite values. */
+ ASSERT (!isnanf (Infinityf ()));
+ ASSERT (!isnanf (- Infinityf ()));
+ /* Quiet NaN. */
+ ASSERT (isnanf (NaNf ()));
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+ memory_float m;
+ m.value = NaNf ();
+# if FLT_EXPBIT0_BIT > 0
+ m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
+# else
+ m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ if (FLT_EXPBIT0_WORD < NWORDS / 2)
+ m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
+ else
+ m.word[0] |= (unsigned int) 1;
+ ASSERT (isnanf (m.value));
+ }
+#endif
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-isnanl-nolibm.c b/gettext-tools/gnulib-tests/test-isnanl-nolibm.c
new file mode 100644
index 0000000..63ea5a9
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnanl-nolibm.c
@@ -0,0 +1,23 @@
+/* Test of isnanl() substitute.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include "isnanl-nolibm.h"
+
+#include "test-isnanl.h"
diff --git a/gettext-tools/gnulib-tests/test-isnanl.c b/gettext-tools/gnulib-tests/test-isnanl.c
new file mode 100644
index 0000000..f3fcbd3
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnanl.c
@@ -0,0 +1,23 @@
+/* Test of isnanl() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "test-isnanl.h"
diff --git a/gettext-tools/gnulib-tests/test-isnanl.h b/gettext-tools/gnulib-tests/test-isnanl.h
new file mode 100644
index 0000000..2e65afa
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-isnanl.h
@@ -0,0 +1,130 @@
+/* Test of isnanl() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <float.h>
+#include <limits.h>
+
+#include "minus-zero.h"
+#include "infinity.h"
+#include "nan.h"
+#include "macros.h"
+
+int
+main ()
+{
+ #define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { unsigned int word[NWORDS]; long double value; }
+ memory_long_double;
+
+ /* Finite values. */
+ ASSERT (!isnanl (3.141L));
+ ASSERT (!isnanl (3.141e30L));
+ ASSERT (!isnanl (3.141e-30L));
+ ASSERT (!isnanl (-2.718L));
+ ASSERT (!isnanl (-2.718e30L));
+ ASSERT (!isnanl (-2.718e-30L));
+ ASSERT (!isnanl (0.0L));
+ ASSERT (!isnanl (minus_zerol));
+ /* Infinite values. */
+ ASSERT (!isnanl (Infinityl ()));
+ ASSERT (!isnanl (- Infinityl ()));
+ /* Quiet NaN. */
+ ASSERT (isnanl (NaNl ()));
+
+#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+ /* A bit pattern that is different from a Quiet NaN. With a bit of luck,
+ it's a Signalling NaN. */
+ {
+#if defined __powerpc__ && LDBL_MANT_DIG == 106
+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are
+ represented as the corresponding 64-bit IEEE values in the first double;
+ the second is ignored. Manipulate only the first double. */
+ #undef NWORDS
+ #define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+#endif
+
+ memory_long_double m;
+ m.value = NaNl ();
+# if LDBL_EXPBIT0_BIT > 0
+ m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
+# else
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
+ ASSERT (isnanl (m.value));
+ }
+#endif
+
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+ of 'unsigned int' words. */
+# ifdef WORDS_BIGENDIAN
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
+ (unsigned int) (mantlo) << 16 \
+ }
+# else
+# define LDBL80_WORDS(exponent,manthi,mantlo) \
+ { mantlo, manthi, exponent }
+# endif
+ { /* Quiet NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+ ASSERT (isnanl (x.value));
+ }
+ {
+ /* Signalling NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+ ASSERT (isnanl (x.value));
+ }
+ /* isnanl should return something for noncanonical values. */
+ { /* Pseudo-NaN. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
+ ASSERT (isnanl (x.value) || !isnanl (x.value));
+ }
+ { /* Pseudo-Infinity. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
+ ASSERT (isnanl (x.value) || !isnanl (x.value));
+ }
+ { /* Pseudo-Zero. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
+ ASSERT (isnanl (x.value) || !isnanl (x.value));
+ }
+ { /* Unnormalized number. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
+ ASSERT (isnanl (x.value) || !isnanl (x.value));
+ }
+ { /* Pseudo-Denormal. */
+ static memory_long_double x =
+ { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
+ ASSERT (isnanl (x.value) || !isnanl (x.value));
+ }
+#endif
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-iswblank.c b/gettext-tools/gnulib-tests/test-iswblank.c
index 68ede5c..f1fbe41 100644
--- a/gettext-tools/gnulib-tests/test-iswblank.c
+++ b/gettext-tools/gnulib-tests/test-iswblank.c
@@ -1,5 +1,5 @@
/* Test of iswblank() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-langinfo.c b/gettext-tools/gnulib-tests/test-langinfo.c
new file mode 100644
index 0000000..b038ca3
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-langinfo.c
@@ -0,0 +1,92 @@
+/* Test of <langinfo.h> substitute.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
+
+#include <config.h>
+
+#include <langinfo.h>
+
+/* Check that all the nl_item values are defined. */
+int items[] =
+ {
+ /* nl_langinfo items of the LC_CTYPE category */
+ CODESET,
+ /* nl_langinfo items of the LC_NUMERIC category */
+ RADIXCHAR,
+ THOUSEP,
+ /* nl_langinfo items of the LC_TIME category */
+ D_T_FMT,
+ D_FMT,
+ T_FMT,
+ T_FMT_AMPM,
+ AM_STR,
+ PM_STR,
+ DAY_1,
+ DAY_2,
+ DAY_3,
+ DAY_4,
+ DAY_5,
+ DAY_6,
+ DAY_7,
+ ABDAY_1,
+ ABDAY_2,
+ ABDAY_3,
+ ABDAY_4,
+ ABDAY_5,
+ ABDAY_6,
+ ABDAY_7,
+ MON_1,
+ MON_2,
+ MON_3,
+ MON_4,
+ MON_5,
+ MON_6,
+ MON_7,
+ MON_8,
+ MON_9,
+ MON_10,
+ MON_11,
+ MON_12,
+ ABMON_1,
+ ABMON_2,
+ ABMON_3,
+ ABMON_4,
+ ABMON_5,
+ ABMON_6,
+ ABMON_7,
+ ABMON_8,
+ ABMON_9,
+ ABMON_10,
+ ABMON_11,
+ ABMON_12,
+ ERA,
+ ERA_D_FMT,
+ ERA_D_T_FMT,
+ ERA_T_FMT,
+ ALT_DIGITS,
+ /* nl_langinfo items of the LC_MONETARY category */
+ CRNCYSTR,
+ /* nl_langinfo items of the LC_MESSAGES category */
+ YESEXPR,
+ NOEXPR
+ };
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-linkedhash_list.c b/gettext-tools/gnulib-tests/test-linkedhash_list.c
index 39f8f10..be5b166 100644
--- a/gettext-tools/gnulib-tests/test-linkedhash_list.c
+++ b/gettext-tools/gnulib-tests/test-linkedhash_list.c
@@ -1,5 +1,5 @@
/* Test of sequential list data type implementation.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-locale.c b/gettext-tools/gnulib-tests/test-locale.c
index cf4e6e8..5383cff 100644
--- a/gettext-tools/gnulib-tests/test-locale.c
+++ b/gettext-tools/gnulib-tests/test-locale.c
@@ -1,5 +1,5 @@
/* Test of <locale.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
@@ -33,11 +33,6 @@ int a[] =
LC_TIME
};
-#if HAVE_NEWLOCALE
-/* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined. */
-locale_t b = LC_GLOBAL_LOCALE;
-#endif
-
/* Check that the 'struct lconv' type is defined. */
struct lconv l;
int ls;
@@ -49,6 +44,12 @@ verify (sizeof NULL == sizeof (void *));
int
main ()
{
+#if HAVE_NEWLOCALE
+ /* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined. */
+ locale_t b = LC_GLOBAL_LOCALE;
+ (void) b;
+#endif
+
/* Check that 'struct lconv' has the ISO C and POSIX specified members. */
ls += sizeof (*l.decimal_point);
ls += sizeof (*l.thousands_sep);
diff --git a/gettext-tools/gnulib-tests/test-localename.c b/gettext-tools/gnulib-tests/test-localename.c
index df6c1d6..b5dd742 100644
--- a/gettext-tools/gnulib-tests/test-localename.c
+++ b/gettext-tools/gnulib-tests/test-localename.c
@@ -1,5 +1,5 @@
/* Test of gl_locale_name function and its variants.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-lock.c b/gettext-tools/gnulib-tests/test-lock.c
index fd2ed26..a992f64 100644
--- a/gettext-tools/gnulib-tests/test-lock.c
+++ b/gettext-tools/gnulib-tests/test-lock.c
@@ -1,5 +1,5 @@
/* Test of locking in multithreaded situations.
- Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-log10.c b/gettext-tools/gnulib-tests/test-log10.c
new file mode 100644
index 0000000..d939151
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-log10.c
@@ -0,0 +1,51 @@
+/* Test of log10() function.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (log10, double, (double));
+
+#include <float.h>
+
+#include "minus-zero.h"
+#include "macros.h"
+
+#define DOUBLE double
+#define HUGEVAL HUGE_VAL
+#define L_(literal) literal
+#define MANT_DIG DBL_MANT_DIG
+#define MINUS_ZERO minus_zerod
+#define LOG10 log10
+#define RANDOM randomd
+#include "test-log10.h"
+
+int
+main ()
+{
+ /* A particular value. */
+ x = 0.6;
+ y = log10 (x);
+ ASSERT (y >= -0.2218487497 && y <= -0.2218487496);
+
+ test_function ();
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-log10.h b/gettext-tools/gnulib-tests/test-log10.h
new file mode 100644
index 0000000..cd51640
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-log10.h
@@ -0,0 +1,104 @@
+/* Test of log10*() function family.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+static void
+test_function (void)
+{
+ int i;
+ int j;
+ const DOUBLE TWO_MANT_DIG =
+ /* Assume MANT_DIG <= 5 * 31.
+ Use the identity
+ n = floor(n/5) + floor((n+1)/5) + ... + floor((n+4)/5). */
+ (DOUBLE) (1U << ((MANT_DIG - 1) / 5))
+ * (DOUBLE) (1U << ((MANT_DIG - 1 + 1) / 5))
+ * (DOUBLE) (1U << ((MANT_DIG - 1 + 2) / 5))
+ * (DOUBLE) (1U << ((MANT_DIG - 1 + 3) / 5))
+ * (DOUBLE) (1U << ((MANT_DIG - 1 + 4) / 5));
+
+ /* Pole. */
+ {
+ DOUBLE z = LOG10 (L_(0.0));
+ ASSERT (z == - HUGEVAL);
+ }
+ {
+ DOUBLE z = LOG10 (MINUS_ZERO);
+ ASSERT (z == - HUGEVAL);
+ }
+
+ /* Randomized tests. */
+ {
+ /* Error bound, in ulps. */
+ const DOUBLE err_bound =
+ (sizeof (DOUBLE) > sizeof (double) ?
+#if defined __i386__ && defined __FreeBSD__
+ /* On FreeBSD/x86 6.4, the 'long double' type really has only 53 bits of
+ precision in the compiler but 64 bits of precision at runtime. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00063.html>.
+ The compiler has truncated all 'long double' literals in log10l.c to
+ 53 bits of precision. */
+ L_(18.0)
+#else
+ L_(3.0)
+#endif
+ : L_(3.0));
+
+ for (i = 0; i < SIZEOF (RANDOM); i++)
+ {
+ DOUBLE x = L_(16.0) * RANDOM[i] + L_(1.0); /* 1.0 <= x <= 17.0 */
+ DOUBLE y = LOG10 (x);
+ DOUBLE z = LOG10 (L_(1.0) / x);
+ DOUBLE err = y + z;
+ ASSERT (y >= L_(0.0));
+ ASSERT (z <= L_(0.0));
+ ASSERT (err > - err_bound / TWO_MANT_DIG
+ && err < err_bound / TWO_MANT_DIG);
+ }
+ }
+
+ {
+ /* Error bound, in ulps. */
+ const DOUBLE err_bound =
+ (sizeof (DOUBLE) > sizeof (double) ?
+#if defined __i386__ && defined __FreeBSD__
+ /* On FreeBSD/x86 6.4, the 'long double' type really has only 53 bits of
+ precision in the compiler but 64 bits of precision at runtime. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00063.html>.
+ The compiler has truncated all 'long double' literals in log10l.c to
+ 53 bits of precision. */
+ L_(38.0)
+#else
+ L_(5.0)
+#endif
+ : L_(5.0));
+
+ for (i = 0; i < SIZEOF (RANDOM) / 5; i++)
+ for (j = 0; j < SIZEOF (RANDOM) / 5; j++)
+ {
+ DOUBLE x = L_(17.0) / (L_(16.0) - L_(15.0) * RANDOM[i]) - L_(1.0);
+ DOUBLE y = L_(17.0) / (L_(16.0) - L_(15.0) * RANDOM[j]) - L_(1.0);
+ /* 1/16 <= x,y <= 16 */
+ DOUBLE z = L_(1.0) / (x * y);
+ /* Approximately x * y * z = 1. */
+ DOUBLE err = LOG10 (x) + LOG10 (y) + LOG10 (z);
+ ASSERT (err > - err_bound / TWO_MANT_DIG
+ && err < err_bound / TWO_MANT_DIG);
+ }
+ }
+}
+
+volatile DOUBLE x;
+DOUBLE y;
diff --git a/gettext-tools/gnulib-tests/test-lseek.c b/gettext-tools/gnulib-tests/test-lseek.c
index fc37ec2..c5e9188 100644
--- a/gettext-tools/gnulib-tests/test-lseek.c
+++ b/gettext-tools/gnulib-tests/test-lseek.c
@@ -1,5 +1,5 @@
/* Test of lseek() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-lstat.c b/gettext-tools/gnulib-tests/test-lstat.c
index eab2ad4..0e7597e 100644
--- a/gettext-tools/gnulib-tests/test-lstat.c
+++ b/gettext-tools/gnulib-tests/test-lstat.c
@@ -1,5 +1,5 @@
/* Test of lstat() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-lstat.h b/gettext-tools/gnulib-tests/test-lstat.h
index 45ca3bf..d5ba7a8 100644
--- a/gettext-tools/gnulib-tests/test-lstat.h
+++ b/gettext-tools/gnulib-tests/test-lstat.h
@@ -1,5 +1,5 @@
/* Test of lstat() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-malloca.c b/gettext-tools/gnulib-tests/test-malloca.c
index 6f94d0d..717ede0 100644
--- a/gettext-tools/gnulib-tests/test-malloca.c
+++ b/gettext-tools/gnulib-tests/test-malloca.c
@@ -1,5 +1,5 @@
/* Test of safe automatic memory allocation.
- Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-math.c b/gettext-tools/gnulib-tests/test-math.c
new file mode 100644
index 0000000..7ac8b9a
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-math.c
@@ -0,0 +1,104 @@
+/* Test of <math.h> substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <math.h>
+
+#ifndef NAN
+# error NAN should be defined
+choke me
+#endif
+
+#ifndef HUGE_VALF
+# error HUGE_VALF should be defined
+choke me
+#endif
+
+#ifndef HUGE_VAL
+# error HUGE_VAL should be defined
+choke me
+#endif
+
+#ifndef HUGE_VALL
+# error HUGE_VALL should be defined
+choke me
+#endif
+
+#ifndef FP_ILOGB0
+# error FP_ILOGB0 should be defined
+choke me
+#endif
+
+#ifndef FP_ILOGBNAN
+# error FP_ILOGBNAN should be defined
+choke me
+#endif
+
+#include <limits.h>
+
+#include "macros.h"
+
+#if 0
+/* Check that NAN expands into a constant expression. */
+static float n = NAN;
+#endif
+
+/* Compare two numbers with ==.
+ This is a separate function because IRIX 6.5 "cc -O" miscompiles an
+ 'x == x' test. */
+static int
+numeric_equalf (float x, float y)
+{
+ return x == y;
+}
+static int
+numeric_equald (double x, double y)
+{
+ return x == y;
+}
+static int
+numeric_equall (long double x, long double y)
+{
+ return x == y;
+}
+
+int
+main (void)
+{
+ double d = NAN;
+ double zero = 0.0;
+ ASSERT (!numeric_equald (d, d));
+
+ d = HUGE_VAL;
+ ASSERT (numeric_equald (d, 1.0 / zero));
+
+ ASSERT (numeric_equalf (HUGE_VALF, HUGE_VALF + HUGE_VALF));
+
+ ASSERT (numeric_equald (HUGE_VAL, HUGE_VAL + HUGE_VAL));
+
+ ASSERT (numeric_equall (HUGE_VALL, HUGE_VALL + HUGE_VALL));
+
+ /* Check the value of FP_ILOGB0. */
+ ASSERT (FP_ILOGB0 == INT_MIN || FP_ILOGB0 == - INT_MAX);
+
+ /* Check the value of FP_ILOGBNAN. */
+ ASSERT (FP_ILOGBNAN == INT_MIN || FP_ILOGBNAN == INT_MAX);
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-mbrtowc-w32.c b/gettext-tools/gnulib-tests/test-mbrtowc-w32.c
index 06f07aa..efb1ddd 100644
--- a/gettext-tools/gnulib-tests/test-mbrtowc-w32.c
+++ b/gettext-tools/gnulib-tests/test-mbrtowc-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-mbrtowc.c b/gettext-tools/gnulib-tests/test-mbrtowc.c
index e8cdea0..d24b93e 100644
--- a/gettext-tools/gnulib-tests/test-mbrtowc.c
+++ b/gettext-tools/gnulib-tests/test-mbrtowc.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-mbsinit.c b/gettext-tools/gnulib-tests/test-mbsinit.c
index 56548db..98db1f1 100644
--- a/gettext-tools/gnulib-tests/test-mbsinit.c
+++ b/gettext-tools/gnulib-tests/test-mbsinit.c
@@ -1,5 +1,5 @@
/* Test of test for initial conversion state.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-mbsrtowcs.c b/gettext-tools/gnulib-tests/test-mbsrtowcs.c
index 079fa4c..cb394f5 100644
--- a/gettext-tools/gnulib-tests/test-mbsrtowcs.c
+++ b/gettext-tools/gnulib-tests/test-mbsrtowcs.c
@@ -1,5 +1,5 @@
/* Test of conversion of string to wide string.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-mbsstr1.c b/gettext-tools/gnulib-tests/test-mbsstr1.c
index 1e6f7e0..b00d533 100644
--- a/gettext-tools/gnulib-tests/test-mbsstr1.c
+++ b/gettext-tools/gnulib-tests/test-mbsstr1.c
@@ -1,5 +1,5 @@
/* Test of searching in a string.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-mbsstr2.c b/gettext-tools/gnulib-tests/test-mbsstr2.c
index 2565128..6a80ebb 100644
--- a/gettext-tools/gnulib-tests/test-mbsstr2.c
+++ b/gettext-tools/gnulib-tests/test-mbsstr2.c
@@ -1,5 +1,5 @@
/* Test of searching in a string.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-mbsstr3.c b/gettext-tools/gnulib-tests/test-mbsstr3.c
index e4d9a6d..4f56bf3 100644
--- a/gettext-tools/gnulib-tests/test-mbsstr3.c
+++ b/gettext-tools/gnulib-tests/test-mbsstr3.c
@@ -1,5 +1,5 @@
/* Test of searching in a string.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-memchr.c b/gettext-tools/gnulib-tests/test-memchr.c
index 223c8e7..bc1acf9 100644
--- a/gettext-tools/gnulib-tests/test-memchr.c
+++ b/gettext-tools/gnulib-tests/test-memchr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2015 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-open.c b/gettext-tools/gnulib-tests/test-open.c
index 985d901..d169e22 100644
--- a/gettext-tools/gnulib-tests/test-open.c
+++ b/gettext-tools/gnulib-tests/test-open.c
@@ -1,5 +1,5 @@
/* Test of opening a file descriptor.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-open.h b/gettext-tools/gnulib-tests/test-open.h
index 1807c90..2fbcd17 100644
--- a/gettext-tools/gnulib-tests/test-open.h
+++ b/gettext-tools/gnulib-tests/test-open.h
@@ -1,5 +1,5 @@
/* Test of opening a file descriptor.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-pathmax.c b/gettext-tools/gnulib-tests/test-pathmax.c
index 8bc7dbc..14eb1ee 100644
--- a/gettext-tools/gnulib-tests/test-pathmax.c
+++ b/gettext-tools/gnulib-tests/test-pathmax.c
@@ -1,5 +1,5 @@
/* Test of "pathmax.h".
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-pipe-filter-ii1.c b/gettext-tools/gnulib-tests/test-pipe-filter-ii1.c
index 10efcbe..f7ddfc3 100644
--- a/gettext-tools/gnulib-tests/test-pipe-filter-ii1.c
+++ b/gettext-tools/gnulib-tests/test-pipe-filter-ii1.c
@@ -1,5 +1,5 @@
/* Test of filtering of data through a subprocess.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-pipe-filter-ii2-child.c b/gettext-tools/gnulib-tests/test-pipe-filter-ii2-child.c
index 4e89d5f..89e1011 100644
--- a/gettext-tools/gnulib-tests/test-pipe-filter-ii2-child.c
+++ b/gettext-tools/gnulib-tests/test-pipe-filter-ii2-child.c
@@ -1,6 +1,6 @@
/* Child program invoked by test-pipe-filter-ii2-main.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Paolo Bonzini <bonzini@gnu.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-pipe-filter-ii2-main.c b/gettext-tools/gnulib-tests/test-pipe-filter-ii2-main.c
index a6d5a1b..e23b13f 100644
--- a/gettext-tools/gnulib-tests/test-pipe-filter-ii2-main.c
+++ b/gettext-tools/gnulib-tests/test-pipe-filter-ii2-main.c
@@ -1,6 +1,6 @@
/* Test harness for pipe-filter-ii.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Paolo Bonzini <bonzini@gnu.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-pipe-filter-ii2.sh b/gettext-tools/gnulib-tests/test-pipe-filter-ii2.sh
index 827b324..81b2188 100755
--- a/gettext-tools/gnulib-tests/test-pipe-filter-ii2.sh
+++ b/gettext-tools/gnulib-tests/test-pipe-filter-ii2.sh
@@ -2,7 +2,7 @@
# pipe-filter test driver.
#
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
# Written by Paolo Bonzini <bonzini@gnu.org>, 2009.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-pipe2.c b/gettext-tools/gnulib-tests/test-pipe2.c
index 0e56dc5..88b9bf1 100644
--- a/gettext-tools/gnulib-tests/test-pipe2.c
+++ b/gettext-tools/gnulib-tests/test-pipe2.c
@@ -1,5 +1,5 @@
/* Test of pipe2.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-posix_spawn1.c b/gettext-tools/gnulib-tests/test-posix_spawn1.c
index 86b8d94..c72ae44 100644
--- a/gettext-tools/gnulib-tests/test-posix_spawn1.c
+++ b/gettext-tools/gnulib-tests/test-posix_spawn1.c
@@ -1,5 +1,5 @@
/* Test of posix_spawn() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-posix_spawn2.c b/gettext-tools/gnulib-tests/test-posix_spawn2.c
index 8e7a501..1d76014 100644
--- a/gettext-tools/gnulib-tests/test-posix_spawn2.c
+++ b/gettext-tools/gnulib-tests/test-posix_spawn2.c
@@ -1,5 +1,5 @@
/* Test of posix_spawn() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addclose.c b/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addclose.c
index c6790dd..1e4c986 100644
--- a/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addclose.c
+++ b/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addclose.c
@@ -1,5 +1,5 @@
/* Test posix_spawn_file_actions_addclose() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_adddup2.c b/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_adddup2.c
index 347e783..9526e2d 100644
--- a/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_adddup2.c
+++ b/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_adddup2.c
@@ -1,5 +1,5 @@
/* Test posix_spawn_file_actions_adddup2() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addopen.c b/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addopen.c
index ac07c33..cb5c8c4 100644
--- a/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addopen.c
+++ b/gettext-tools/gnulib-tests/test-posix_spawn_file_actions_addopen.c
@@ -1,5 +1,5 @@
/* Test posix_spawn_file_actions_addopen() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-pow.c b/gettext-tools/gnulib-tests/test-pow.c
new file mode 100644
index 0000000..ed51502
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-pow.c
@@ -0,0 +1,42 @@
+/* Test of pow() function.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#include <config.h>
+
+#include <math.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (pow, double, (double, double));
+
+#include "macros.h"
+
+volatile double x;
+volatile double y;
+double z;
+
+int
+main ()
+{
+ /* A particular value. */
+ x = 243.0;
+ y = 1.2;
+ z = pow (x, y);
+ ASSERT (z >= 728.9999999 && z <= 729.0000001);
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-quotearg-simple.c b/gettext-tools/gnulib-tests/test-quotearg-simple.c
index 08aadc1..516e890 100644
--- a/gettext-tools/gnulib-tests/test-quotearg-simple.c
+++ b/gettext-tools/gnulib-tests/test-quotearg-simple.c
@@ -1,5 +1,5 @@
/* Test of quotearg family of functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
@@ -58,6 +58,28 @@ static struct result_groups results_g[] = {
{ "''", "'1'", 3, "'simple'", "' \t\n'\\''\"\033?""?/\\'", "'a:b'",
"'a\\b'", "'" LQ RQ "'", "'" LQ RQ "'" } },
+ /* shell_escape_quoting_style */
+ { { "''", "''$'\\0''1'$'\\0'", 15, "simple",
+ "' '$'\\t\\n'\\''\"'$'\\033''?""?/\\'", "a:b",
+ "'a\\b'", "''$'" LQ_ENC RQ_ENC "'", LQ RQ },
+ { "''", "''$'\\0''1'$'\\0'", 15, "simple",
+ "' '$'\\t\\n'\\''\"'$'\\033''?""?/\\'", "a:b",
+ "'a\\b'", "''$'" LQ_ENC RQ_ENC "'", LQ RQ },
+ { "''", "''$'\\0''1'$'\\0'", 15, "simple",
+ "' '$'\\t\\n'\\''\"'$'\\033''?""?/\\'", "'a:b'",
+ "'a\\b'", "''$'" LQ_ENC RQ_ENC "'", LQ RQ } },
+
+ /* shell_escape_always_quoting_style */
+ { { "''", "''$'\\0''1'$'\\0'", 15, "'simple'",
+ "' '$'\\t\\n'\\''\"'$'\\033''?""?/\\'", "'a:b'",
+ "'a\\b'", "''$'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" },
+ { "''", "''$'\\0''1'$'\\0'", 15, "'simple'",
+ "' '$'\\t\\n'\\''\"'$'\\033''?""?/\\'", "'a:b'",
+ "'a\\b'", "''$'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" },
+ { "''", "''$'\\0''1'$'\\0'", 15, "'simple'",
+ "' '$'\\t\\n'\\''\"'$'\\033''?""?/\\'", "'a:b'",
+ "'a\\b'", "''$'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" } },
+
/* c_quoting_style */
{ { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"",
"\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "\"a\\\\b\"",
diff --git a/gettext-tools/gnulib-tests/test-quotearg.h b/gettext-tools/gnulib-tests/test-quotearg.h
index 5fa7233..e1bb659 100644
--- a/gettext-tools/gnulib-tests/test-quotearg.h
+++ b/gettext-tools/gnulib-tests/test-quotearg.h
@@ -1,5 +1,5 @@
/* Test of quotearg family of functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-raise.c b/gettext-tools/gnulib-tests/test-raise.c
index bfe4352..7456a90 100644
--- a/gettext-tools/gnulib-tests/test-raise.c
+++ b/gettext-tools/gnulib-tests/test-raise.c
@@ -1,5 +1,5 @@
/* Test raising a signal.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-rawmemchr.c b/gettext-tools/gnulib-tests/test-rawmemchr.c
index c8a26bb..c9022d3 100644
--- a/gettext-tools/gnulib-tests/test-rawmemchr.c
+++ b/gettext-tools/gnulib-tests/test-rawmemchr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2015 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-read-file.c b/gettext-tools/gnulib-tests/test-read-file.c
index fff96ec..f8b160f 100644
--- a/gettext-tools/gnulib-tests/test-read-file.c
+++ b/gettext-tools/gnulib-tests/test-read-file.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006-2007, 2010-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2006-2007, 2010-2015 Free Software Foundation, Inc.
* Written by Simon Josefsson
*
* This program is free software: you can redistribute it and/or modify
@@ -57,7 +57,8 @@ main (void)
/* FILE1 is a regular file or a symlink to a regular file. */
if (len != statbuf.st_size)
{
- fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE1);
+ fprintf (stderr, "Read %lu from %s...\n",
+ (unsigned long) len, FILE1);
err = 1;
}
}
@@ -98,7 +99,8 @@ main (void)
is not a regular file. */
if (len != 0)
{
- fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE2);
+ fprintf (stderr, "Read %lu from %s...\n",
+ (unsigned long) len, FILE2);
err = 1;
}
free (out);
diff --git a/gettext-tools/gnulib-tests/test-read.c b/gettext-tools/gnulib-tests/test-read.c
index 541e4b9..892a617 100644
--- a/gettext-tools/gnulib-tests/test-read.c
+++ b/gettext-tools/gnulib-tests/test-read.c
@@ -1,5 +1,5 @@
/* Test the read() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-readlink.c b/gettext-tools/gnulib-tests/test-readlink.c
index e6adbe5..4240108 100644
--- a/gettext-tools/gnulib-tests/test-readlink.c
+++ b/gettext-tools/gnulib-tests/test-readlink.c
@@ -1,5 +1,5 @@
/* Tests of readlink.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-readlink.h b/gettext-tools/gnulib-tests/test-readlink.h
index 33039de..ad34c55 100644
--- a/gettext-tools/gnulib-tests/test-readlink.h
+++ b/gettext-tools/gnulib-tests/test-readlink.h
@@ -1,5 +1,5 @@
/* Tests of readlink.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-rmdir.c b/gettext-tools/gnulib-tests/test-rmdir.c
index 4903a57..52cfa42 100644
--- a/gettext-tools/gnulib-tests/test-rmdir.c
+++ b/gettext-tools/gnulib-tests/test-rmdir.c
@@ -1,5 +1,5 @@
/* Tests of rmdir.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-rmdir.h b/gettext-tools/gnulib-tests/test-rmdir.h
index daaa415..9c83a10 100644
--- a/gettext-tools/gnulib-tests/test-rmdir.h
+++ b/gettext-tools/gnulib-tests/test-rmdir.h
@@ -1,5 +1,5 @@
/* Tests of rmdir.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sameacls.c b/gettext-tools/gnulib-tests/test-sameacls.c
index 70e15c2..bea6d3e 100644
--- a/gettext-tools/gnulib-tests/test-sameacls.c
+++ b/gettext-tools/gnulib-tests/test-sameacls.c
@@ -1,5 +1,5 @@
/* Test whether two files have the same ACLs.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sched.c b/gettext-tools/gnulib-tests/test-sched.c
index f442909..d6f5752 100644
--- a/gettext-tools/gnulib-tests/test-sched.c
+++ b/gettext-tools/gnulib-tests/test-sched.c
@@ -1,5 +1,5 @@
/* Test of <sched.h> substitute.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-set-mode-acl.c b/gettext-tools/gnulib-tests/test-set-mode-acl.c
index 61f1975..a282e25 100644
--- a/gettext-tools/gnulib-tests/test-set-mode-acl.c
+++ b/gettext-tools/gnulib-tests/test-set-mode-acl.c
@@ -1,5 +1,5 @@
/* Test of setting an ACL equivalent to a mode.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-setenv.c b/gettext-tools/gnulib-tests/test-setenv.c
index 548e4fb..a7ef488 100644
--- a/gettext-tools/gnulib-tests/test-setenv.c
+++ b/gettext-tools/gnulib-tests/test-setenv.c
@@ -1,5 +1,5 @@
/* Tests of setenv.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-setlocale1.c b/gettext-tools/gnulib-tests/test-setlocale1.c
index 0434d7b..6e0ef9d 100644
--- a/gettext-tools/gnulib-tests/test-setlocale1.c
+++ b/gettext-tools/gnulib-tests/test-setlocale1.c
@@ -1,5 +1,5 @@
/* Test of setting the current locale.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-setlocale2.c b/gettext-tools/gnulib-tests/test-setlocale2.c
index 2f52fe0..1bd8a5c 100644
--- a/gettext-tools/gnulib-tests/test-setlocale2.c
+++ b/gettext-tools/gnulib-tests/test-setlocale2.c
@@ -1,5 +1,5 @@
/* Test of setting the current locale.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sh-quote.c b/gettext-tools/gnulib-tests/test-sh-quote.c
index 8bfe301..1b36a84 100644
--- a/gettext-tools/gnulib-tests/test-sh-quote.c
+++ b/gettext-tools/gnulib-tests/test-sh-quote.c
@@ -1,5 +1,5 @@
/* Test of sh-quote module.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sigaction.c b/gettext-tools/gnulib-tests/test-sigaction.c
index 0fa1c26..ec0f051 100644
--- a/gettext-tools/gnulib-tests/test-sigaction.c
+++ b/gettext-tools/gnulib-tests/test-sigaction.c
@@ -1,5 +1,5 @@
/* Test of sigaction() function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-signal-h.c b/gettext-tools/gnulib-tests/test-signal-h.c
index 3bc9482..836e1c8 100644
--- a/gettext-tools/gnulib-tests/test-signal-h.c
+++ b/gettext-tools/gnulib-tests/test-signal-h.c
@@ -1,5 +1,5 @@
/* Test of <signal.h> substitute.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-signbit.c b/gettext-tools/gnulib-tests/test-signbit.c
new file mode 100644
index 0000000..80e9a08
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-signbit.c
@@ -0,0 +1,187 @@
+/* Test of signbit() substitute.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <math.h>
+
+/* signbit must be a macro. */
+#ifndef signbit
+# error missing declaration
+#endif
+
+#include <float.h>
+#include <limits.h>
+
+#include "minus-zero.h"
+#include "infinity.h"
+#include "macros.h"
+
+float zerof = 0.0f;
+double zerod = 0.0;
+long double zerol = 0.0L;
+
+static void
+test_signbitf ()
+{
+ /* Finite values. */
+ ASSERT (!signbit (3.141f));
+ ASSERT (!signbit (3.141e30f));
+ ASSERT (!signbit (3.141e-30f));
+ ASSERT (signbit (-2.718f));
+ ASSERT (signbit (-2.718e30f));
+ ASSERT (signbit (-2.718e-30f));
+ /* Zeros. */
+ ASSERT (!signbit (0.0f));
+ if (1.0f / minus_zerof < 0)
+ ASSERT (signbit (minus_zerof));
+ else
+ ASSERT (!signbit (minus_zerof));
+ /* Infinite values. */
+ ASSERT (!signbit (Infinityf ()));
+ ASSERT (signbit (- Infinityf ()));
+ /* Quiet NaN. */
+ (void) signbit (zerof / zerof);
+#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { float value; unsigned int word[NWORDS]; } memory_float;
+ memory_float m;
+ m.value = zerof / zerof;
+# if FLT_EXPBIT0_BIT > 0
+ m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
+# else
+ m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ if (FLT_EXPBIT0_WORD < NWORDS / 2)
+ m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
+ else
+ m.word[0] |= (unsigned int) 1;
+ (void) signbit (m.value);
+ #undef NWORDS
+ }
+#endif
+}
+
+static void
+test_signbitd ()
+{
+ /* Finite values. */
+ ASSERT (!signbit (3.141));
+ ASSERT (!signbit (3.141e30));
+ ASSERT (!signbit (3.141e-30));
+ ASSERT (signbit (-2.718));
+ ASSERT (signbit (-2.718e30));
+ ASSERT (signbit (-2.718e-30));
+ /* Zeros. */
+ ASSERT (!signbit (0.0));
+ if (1.0 / minus_zerod < 0)
+ ASSERT (signbit (minus_zerod));
+ else
+ ASSERT (!signbit (minus_zerod));
+ /* Infinite values. */
+ ASSERT (!signbit (Infinityd ()));
+ ASSERT (signbit (- Infinityd ()));
+ /* Quiet NaN. */
+ (void) signbit (zerod / zerod);
+#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+ memory_double m;
+ m.value = zerod / zerod;
+# if DBL_EXPBIT0_BIT > 0
+ m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
+# else
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
+ (void) signbit (m.value);
+ #undef NWORDS
+ }
+#endif
+}
+
+static void
+test_signbitl ()
+{
+ /* Finite values. */
+ ASSERT (!signbit (3.141L));
+ ASSERT (!signbit (3.141e30L));
+ ASSERT (!signbit (3.141e-30L));
+ ASSERT (signbit (-2.718L));
+ ASSERT (signbit (-2.718e30L));
+ ASSERT (signbit (-2.718e-30L));
+ /* Zeros. */
+ ASSERT (!signbit (0.0L));
+ if (1.0L / minus_zerol < 0)
+ ASSERT (signbit (minus_zerol));
+ else
+ ASSERT (!signbit (minus_zerol));
+ /* Infinite values. */
+ ASSERT (!signbit (Infinityl ()));
+ ASSERT (signbit (- Infinityl ()));
+ /* Quiet NaN. */
+ (void) signbit (zerol / zerol);
+#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+ /* Signalling NaN. */
+ {
+ #define NWORDS \
+ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+ typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double;
+
+#if defined __powerpc__ && LDBL_MANT_DIG == 106
+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are
+ represented as the corresponding 64-bit IEEE values in the first double;
+ the second is ignored. Manipulate only the first double. */
+ #undef NWORDS
+ #define NWORDS \
+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+#endif
+
+ memory_long_double m;
+ m.value = zerol / zerol;
+# if LDBL_EXPBIT0_BIT > 0
+ m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
+# else
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
+# endif
+ m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
+ |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
+ (void) signbit (m.value);
+ #undef NWORDS
+ }
+#endif
+}
+
+int
+main ()
+{
+ test_signbitf ();
+ test_signbitd ();
+ test_signbitl ();
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/test-sigpipe.c b/gettext-tools/gnulib-tests/test-sigpipe.c
index c46af63..d5e7e9c 100644
--- a/gettext-tools/gnulib-tests/test-sigpipe.c
+++ b/gettext-tools/gnulib-tests/test-sigpipe.c
@@ -1,5 +1,5 @@
/* Test of SIGPIPE handling.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sigprocmask.c b/gettext-tools/gnulib-tests/test-sigprocmask.c
index c6c771e..c88e180 100644
--- a/gettext-tools/gnulib-tests/test-sigprocmask.c
+++ b/gettext-tools/gnulib-tests/test-sigprocmask.c
@@ -1,5 +1,5 @@
/* Test of sigprocmask.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sleep.c b/gettext-tools/gnulib-tests/test-sleep.c
index 9b93fef..fba2f46 100644
--- a/gettext-tools/gnulib-tests/test-sleep.c
+++ b/gettext-tools/gnulib-tests/test-sleep.c
@@ -1,5 +1,5 @@
/* Test of sleep() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-snprintf.c b/gettext-tools/gnulib-tests/test-snprintf.c
index 38d9935..c14a2c1 100644
--- a/gettext-tools/gnulib-tests/test-snprintf.c
+++ b/gettext-tools/gnulib-tests/test-snprintf.c
@@ -1,5 +1,5 @@
/* Test of snprintf() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-spawn-pipe-child.c b/gettext-tools/gnulib-tests/test-spawn-pipe-child.c
index b8f810f..2d354c2 100644
--- a/gettext-tools/gnulib-tests/test-spawn-pipe-child.c
+++ b/gettext-tools/gnulib-tests/test-spawn-pipe-child.c
@@ -1,5 +1,5 @@
/* Child program invoked by test-spawn-pipe-main.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-spawn-pipe-main.c b/gettext-tools/gnulib-tests/test-spawn-pipe-main.c
index 33553b9..f0d94d7 100644
--- a/gettext-tools/gnulib-tests/test-spawn-pipe-main.c
+++ b/gettext-tools/gnulib-tests/test-spawn-pipe-main.c
@@ -1,5 +1,5 @@
/* Test of create_pipe_bidi/wait_subprocess.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-spawn.c b/gettext-tools/gnulib-tests/test-spawn.c
index 8155bc8..080ad2f 100644
--- a/gettext-tools/gnulib-tests/test-spawn.c
+++ b/gettext-tools/gnulib-tests/test-spawn.c
@@ -1,5 +1,5 @@
/* Test of <spawn.h> substitute.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-stat.c b/gettext-tools/gnulib-tests/test-stat.c
index 9ed462a..c6af376 100644
--- a/gettext-tools/gnulib-tests/test-stat.c
+++ b/gettext-tools/gnulib-tests/test-stat.c
@@ -1,5 +1,5 @@
/* Tests of stat.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-stat.h b/gettext-tools/gnulib-tests/test-stat.h
index 6cfc958..c37fe6d 100644
--- a/gettext-tools/gnulib-tests/test-stat.h
+++ b/gettext-tools/gnulib-tests/test-stat.h
@@ -1,5 +1,5 @@
/* Tests of stat.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-stdalign.c b/gettext-tools/gnulib-tests/test-stdalign.c
new file mode 100644
index 0000000..68b9ef1
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-stdalign.c
@@ -0,0 +1,116 @@
+/* Test of <stdalign.h>.
+ Copyright 2009-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert, inspired by Bruno Haible's test-alignof.c. */
+
+#include <config.h>
+
+#include <stdalign.h>
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "verify.h"
+
+#include "macros.h"
+
+typedef long double longdouble;
+typedef struct { char a[1]; } struct1;
+typedef struct { char a[2]; } struct2;
+typedef struct { char a[3]; } struct3;
+typedef struct { char a[4]; } struct4;
+
+verify (__alignof_is_defined == 1);
+#ifndef alignof
+# error "alignof is not a macro"
+#endif
+
+#if __alignas_is_defined
+verify (__alignas_is_defined == 1);
+# ifndef alignas
+# error "alignas is not a macro"
+# endif
+/* mingw can go up only to 8. 8 is all that GNU Emacs needs, so let's
+ limit the test to 8 for now. */
+# define TEST_ALIGNMENT 8
+#else
+# define _Alignas(alignment)
+# define alignas(alignment)
+# define TEST_ALIGNMENT 1
+#endif
+
+#define CHECK_STATIC(type) \
+ typedef struct { char slot1; type slot2; } type##_helper; \
+ verify (alignof (type) == offsetof (type##_helper, slot2)); \
+ verify (_Alignof (type) == alignof (type)); \
+ const int type##_alignment = alignof (type); \
+ type alignas (TEST_ALIGNMENT) static_##type##_alignas; \
+ type _Alignas (TEST_ALIGNMENT) static_##type##_Alignas
+
+#define CHECK_ALIGNED(var) ASSERT ((uintptr_t) &(var) % TEST_ALIGNMENT == 0)
+
+CHECK_STATIC (char);
+CHECK_STATIC (short);
+CHECK_STATIC (int);
+CHECK_STATIC (long);
+#ifdef INT64_MAX
+CHECK_STATIC (int64_t);
+#endif
+CHECK_STATIC (float);
+CHECK_STATIC (double);
+/* CHECK_STATIC (longdouble); */
+CHECK_STATIC (struct1);
+CHECK_STATIC (struct2);
+CHECK_STATIC (struct3);
+CHECK_STATIC (struct4);
+
+int
+main ()
+{
+#if defined __SUNPRO_C
+ /* Avoid a test failure due to Sun Studio Developer Bug Report #2125432. */
+ fputs ("Skipping test: known Sun C compiler bug\n", stderr);
+ return 77;
+#else
+ CHECK_ALIGNED (static_char_alignas);
+ CHECK_ALIGNED (static_char_Alignas);
+ CHECK_ALIGNED (static_short_alignas);
+ CHECK_ALIGNED (static_short_Alignas);
+ CHECK_ALIGNED (static_int_alignas);
+ CHECK_ALIGNED (static_int_Alignas);
+ CHECK_ALIGNED (static_long_alignas);
+ CHECK_ALIGNED (static_long_Alignas);
+# ifdef INT64_MAX
+ CHECK_ALIGNED (static_int64_t_alignas);
+ CHECK_ALIGNED (static_int64_t_Alignas);
+# endif
+ CHECK_ALIGNED (static_float_alignas);
+ CHECK_ALIGNED (static_float_Alignas);
+ CHECK_ALIGNED (static_double_alignas);
+ CHECK_ALIGNED (static_double_Alignas);
+ /* CHECK_ALIGNED (static_longdouble_alignas); */
+ /* CHECK_ALIGNED (static_longdouble_Alignas); */
+ CHECK_ALIGNED (static_struct1_alignas);
+ CHECK_ALIGNED (static_struct1_Alignas);
+ CHECK_ALIGNED (static_struct2_alignas);
+ CHECK_ALIGNED (static_struct2_Alignas);
+ CHECK_ALIGNED (static_struct3_alignas);
+ CHECK_ALIGNED (static_struct3_Alignas);
+ CHECK_ALIGNED (static_struct4_alignas);
+ CHECK_ALIGNED (static_struct4_Alignas);
+ return 0;
+#endif
+}
diff --git a/gettext-tools/gnulib-tests/test-stdbool.c b/gettext-tools/gnulib-tests/test-stdbool.c
index efa8324..1da25d0 100644
--- a/gettext-tools/gnulib-tests/test-stdbool.c
+++ b/gettext-tools/gnulib-tests/test-stdbool.c
@@ -1,5 +1,5 @@
/* Test of <stdbool.h> substitute.
- Copyright (C) 2002-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-stddef.c b/gettext-tools/gnulib-tests/test-stddef.c
index d5d887e..aa6ae54 100644
--- a/gettext-tools/gnulib-tests/test-stddef.c
+++ b/gettext-tools/gnulib-tests/test-stddef.c
@@ -1,5 +1,5 @@
/* Test of <stddef.h> substitute.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
@@ -19,13 +19,14 @@
#include <config.h>
#include <stddef.h>
-
+#include <stdalign.h>
#include "verify.h"
/* Check that appropriate types are defined. */
wchar_t a = 'c';
ptrdiff_t b = 1;
size_t c = 2;
+max_align_t x;
/* Check that NULL can be passed through varargs as a pointer type,
per POSIX 2008. */
@@ -45,6 +46,26 @@ verify (sizeof (offsetof (struct d, e)) == sizeof (size_t));
verify (offsetof (struct d, e) < -1); /* Must be unsigned. */
verify (offsetof (struct d, f) == 1);
+/* Check max_align_t's alignment. */
+verify (alignof (double) <= alignof (max_align_t));
+verify (alignof (int) <= alignof (max_align_t));
+verify (alignof (long double) <= alignof (max_align_t));
+verify (alignof (long int) <= alignof (max_align_t));
+verify (alignof (ptrdiff_t) <= alignof (max_align_t));
+verify (alignof (size_t) <= alignof (max_align_t));
+verify (alignof (wchar_t) <= alignof (max_align_t));
+verify (alignof (struct d) <= alignof (max_align_t));
+#if defined __GNUC__ || defined __IBM__ALIGNOF__
+verify (__alignof__ (double) <= __alignof__ (max_align_t));
+verify (__alignof__ (int) <= __alignof__ (max_align_t));
+verify (__alignof__ (long double) <= __alignof__ (max_align_t));
+verify (__alignof__ (long int) <= __alignof__ (max_align_t));
+verify (__alignof__ (ptrdiff_t) <= __alignof__ (max_align_t));
+verify (__alignof__ (size_t) <= __alignof__ (max_align_t));
+verify (__alignof__ (wchar_t) <= __alignof__ (max_align_t));
+verify (__alignof__ (struct d) <= __alignof__ (max_align_t));
+#endif
+
int
main (void)
{
diff --git a/gettext-tools/gnulib-tests/test-stdint.c b/gettext-tools/gnulib-tests/test-stdint.c
index 008b517..8d54db2 100644
--- a/gettext-tools/gnulib-tests/test-stdint.c
+++ b/gettext-tools/gnulib-tests/test-stdint.c
@@ -1,5 +1,5 @@
/* Test of <stdint.h> substitute.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-stdio.c b/gettext-tools/gnulib-tests/test-stdio.c
index d3f0e6b..cbec2a6 100644
--- a/gettext-tools/gnulib-tests/test-stdio.c
+++ b/gettext-tools/gnulib-tests/test-stdio.c
@@ -1,5 +1,5 @@
/* Test of <stdio.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-stdlib.c b/gettext-tools/gnulib-tests/test-stdlib.c
index a2743e4..b2da7ec 100644
--- a/gettext-tools/gnulib-tests/test-stdlib.c
+++ b/gettext-tools/gnulib-tests/test-stdlib.c
@@ -1,5 +1,5 @@
/* Test of <stdlib.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-strchrnul.c b/gettext-tools/gnulib-tests/test-strchrnul.c
index c8ee66f..8d7dcda 100644
--- a/gettext-tools/gnulib-tests/test-strchrnul.c
+++ b/gettext-tools/gnulib-tests/test-strchrnul.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2015 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-strerror.c b/gettext-tools/gnulib-tests/test-strerror.c
index 8e2ed7c..755ffba 100644
--- a/gettext-tools/gnulib-tests/test-strerror.c
+++ b/gettext-tools/gnulib-tests/test-strerror.c
@@ -1,5 +1,5 @@
/* Test of strerror() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-striconv.c b/gettext-tools/gnulib-tests/test-striconv.c
index fd29a09..fc9b200 100644
--- a/gettext-tools/gnulib-tests/test-striconv.c
+++ b/gettext-tools/gnulib-tests/test-striconv.c
@@ -1,5 +1,5 @@
/* Test of character set conversion.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-striconveh.c b/gettext-tools/gnulib-tests/test-striconveh.c
index 4c6b1e1..a4b48fb 100644
--- a/gettext-tools/gnulib-tests/test-striconveh.c
+++ b/gettext-tools/gnulib-tests/test-striconveh.c
@@ -1,5 +1,5 @@
/* Test of character set conversion with error handling.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-striconveha.c b/gettext-tools/gnulib-tests/test-striconveha.c
index ecfa79e..19e4318 100644
--- a/gettext-tools/gnulib-tests/test-striconveha.c
+++ b/gettext-tools/gnulib-tests/test-striconveha.c
@@ -1,5 +1,5 @@
/* Test of character set conversion with error handling and autodetection.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-string.c b/gettext-tools/gnulib-tests/test-string.c
index d890c8b..647d3b9 100644
--- a/gettext-tools/gnulib-tests/test-string.c
+++ b/gettext-tools/gnulib-tests/test-string.c
@@ -1,5 +1,5 @@
/* Test of <string.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-strnlen.c b/gettext-tools/gnulib-tests/test-strnlen.c
index 8a2089e..19e41cf 100644
--- a/gettext-tools/gnulib-tests/test-strnlen.c
+++ b/gettext-tools/gnulib-tests/test-strnlen.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2010-2015 Free Software Foundation, Inc.
* Written by Eric Blake
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-strstr.c b/gettext-tools/gnulib-tests/test-strstr.c
index d580cad..70ebf50 100644
--- a/gettext-tools/gnulib-tests/test-strstr.c
+++ b/gettext-tools/gnulib-tests/test-strstr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
* Written by Bruno Haible and Eric Blake
*
* This program is free software: you can redistribute it and/or modify
@@ -272,6 +272,7 @@ main (int argc, char *argv[])
ASSERT (p);
ASSERT (p - haystack == i);
}
+ free (haystack);
}
return 0;
diff --git a/gettext-tools/gnulib-tests/test-strtol.c b/gettext-tools/gnulib-tests/test-strtol.c
index 49b7007..1820dd9 100644
--- a/gettext-tools/gnulib-tests/test-strtol.c
+++ b/gettext-tools/gnulib-tests/test-strtol.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2011-2015 Free Software Foundation, Inc.
*
* 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
diff --git a/gettext-tools/gnulib-tests/test-strtoul.c b/gettext-tools/gnulib-tests/test-strtoul.c
index 80a7343..3bb1cbf 100644
--- a/gettext-tools/gnulib-tests/test-strtoul.c
+++ b/gettext-tools/gnulib-tests/test-strtoul.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2011-2015 Free Software Foundation, Inc.
*
* 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
diff --git a/gettext-tools/gnulib-tests/test-symlink.c b/gettext-tools/gnulib-tests/test-symlink.c
index 78d46c2..7a63391 100644
--- a/gettext-tools/gnulib-tests/test-symlink.c
+++ b/gettext-tools/gnulib-tests/test-symlink.c
@@ -1,5 +1,5 @@
/* Tests of symlink.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-symlink.h b/gettext-tools/gnulib-tests/test-symlink.h
index eb11cf6..4dc741a 100644
--- a/gettext-tools/gnulib-tests/test-symlink.h
+++ b/gettext-tools/gnulib-tests/test-symlink.h
@@ -1,5 +1,5 @@
/* Tests of symlink.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sys_select.c b/gettext-tools/gnulib-tests/test-sys_select.c
index 2e4f7c1..e9b4b7c 100644
--- a/gettext-tools/gnulib-tests/test-sys_select.c
+++ b/gettext-tools/gnulib-tests/test-sys_select.c
@@ -1,5 +1,5 @@
/* Test of <sys/select.h> substitute.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sys_stat.c b/gettext-tools/gnulib-tests/test-sys_stat.c
index c6a67f7..e4194a1 100644
--- a/gettext-tools/gnulib-tests/test-sys_stat.c
+++ b/gettext-tools/gnulib-tests/test-sys_stat.c
@@ -1,5 +1,5 @@
/* Test of <sys/stat.h> substitute.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sys_time.c b/gettext-tools/gnulib-tests/test-sys_time.c
index ea12c63..653ff46 100644
--- a/gettext-tools/gnulib-tests/test-sys_time.c
+++ b/gettext-tools/gnulib-tests/test-sys_time.c
@@ -1,5 +1,5 @@
/* Test of <sys/time.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sys_types.c b/gettext-tools/gnulib-tests/test-sys_types.c
index ddcb6d2..1ef3b90 100644
--- a/gettext-tools/gnulib-tests/test-sys_types.c
+++ b/gettext-tools/gnulib-tests/test-sys_types.c
@@ -1,5 +1,5 @@
/* Test of <sys/types.h> substitute.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sys_wait.c b/gettext-tools/gnulib-tests/test-sys_wait.c
index daf6f28..3382fdf 100644
--- a/gettext-tools/gnulib-tests/test-sys_wait.c
+++ b/gettext-tools/gnulib-tests/test-sys_wait.c
@@ -1,5 +1,5 @@
/* Test of <sys/wait.h> substitute.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-sys_wait.h b/gettext-tools/gnulib-tests/test-sys_wait.h
index ed20219..e4a79b5 100644
--- a/gettext-tools/gnulib-tests/test-sys_wait.h
+++ b/gettext-tools/gnulib-tests/test-sys_wait.h
@@ -1,5 +1,5 @@
/* Test of macros shared between <sys/wait.h> and <stdlib.h>.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-term-ostream-xterm b/gettext-tools/gnulib-tests/test-term-ostream-xterm
index 71dc6eb..05a0c84 100755
--- a/gettext-tools/gnulib-tests/test-term-ostream-xterm
+++ b/gettext-tools/gnulib-tests/test-term-ostream-xterm
@@ -23,6 +23,7 @@ LC_ALL=C tr -d '\r' < out1 > out
|| ${DIFF} ${srcdir}/test-term-ostream-xterm-xf86-v32.out out > /dev/null \
|| ${DIFF} ${srcdir}/test-term-ostream-xterm-basic.out out > /dev/null \
|| ${DIFF} ${srcdir}/test-term-ostream-xterm-basic-italic.out out > /dev/null \
+|| ${DIFF} ${srcdir}/test-term-ostream-xterm-freebsd101.out out > /dev/null \
|| ${DIFF} ${srcdir}/test-term-ostream-xterm-8bit.out out > /dev/null \
|| ${DIFF} ${srcdir}/test-term-ostream-xterm-linux-debian.out out > /dev/null \
|| ${DIFF} ${srcdir}/test-term-ostream-xterm-linux-mandriva.out out > /dev/null \
diff --git a/gettext-tools/gnulib-tests/test-term-ostream-xterm-freebsd101.out b/gettext-tools/gnulib-tests/test-term-ostream-xterm-freebsd101.out
new file mode 100644
index 0000000..620f349
--- /dev/null
+++ b/gettext-tools/gnulib-tests/test-term-ostream-xterm-freebsd101.out
@@ -0,0 +1,131 @@
+Colors (foreground/background):
+ |black |blue |green |cyan |red |magenta|yellow |white |default
+black | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+blue | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+green | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+cyan | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+red | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+magenta| Words | Words | Words | Words | Words | Words | Words | Words | Words 
+yellow | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+white | Words | Words | Words | Words | Words | Words | Words | Words | Words 
+default| Words | Words | Words | Words | Words | Words | Words | Words | Words
+
+Colors (hue/saturation):
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+Weights:
+normal, bold, default
+
+Postures:
+normal, italic, default
+
+Text decorations:
+normal, underlined, default
+
diff --git a/gettext-tools/gnulib-tests/test-thread_create.c b/gettext-tools/gnulib-tests/test-thread_create.c
index 12ba79d..c6dbc7b 100644
--- a/gettext-tools/gnulib-tests/test-thread_create.c
+++ b/gettext-tools/gnulib-tests/test-thread_create.c
@@ -1,5 +1,5 @@
/* Test of gl_thread_create () macro.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-thread_self.c b/gettext-tools/gnulib-tests/test-thread_self.c
index 3629a82..1d2d05e 100644
--- a/gettext-tools/gnulib-tests/test-thread_self.c
+++ b/gettext-tools/gnulib-tests/test-thread_self.c
@@ -1,5 +1,5 @@
/* Test of gl_thread_self () macro.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-time.c b/gettext-tools/gnulib-tests/test-time.c
index cb39c3b..25bdcf0 100644
--- a/gettext-tools/gnulib-tests/test-time.c
+++ b/gettext-tools/gnulib-tests/test-time.c
@@ -1,5 +1,5 @@
/* Test of <time.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-tls.c b/gettext-tools/gnulib-tests/test-tls.c
index 9eb0b13..bee567e 100644
--- a/gettext-tools/gnulib-tests/test-tls.c
+++ b/gettext-tools/gnulib-tests/test-tls.c
@@ -1,5 +1,5 @@
/* Test of thread-local storage in multithreaded situations.
- Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-unistd.c b/gettext-tools/gnulib-tests/test-unistd.c
index 6d3fa00..930b5e2 100644
--- a/gettext-tools/gnulib-tests/test-unistd.c
+++ b/gettext-tools/gnulib-tests/test-unistd.c
@@ -1,5 +1,5 @@
/* Test of <unistd.h> substitute.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-unsetenv.c b/gettext-tools/gnulib-tests/test-unsetenv.c
index 50600a9..235e185 100644
--- a/gettext-tools/gnulib-tests/test-unsetenv.c
+++ b/gettext-tools/gnulib-tests/test-unsetenv.c
@@ -1,5 +1,5 @@
/* Tests of unsetenv.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-vasnprintf-posix.c b/gettext-tools/gnulib-tests/test-vasnprintf-posix.c
index 4fd21c8..bf36f1f 100644
--- a/gettext-tools/gnulib-tests/test-vasnprintf-posix.c
+++ b/gettext-tools/gnulib-tests/test-vasnprintf-posix.c
@@ -1,5 +1,5 @@
/* Test of POSIX compatible vasnprintf() and asnprintf() functions.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
@@ -47,7 +47,7 @@ have_minus_zero ()
#ifdef WORDS_BIGENDIAN
# define LDBL80_WORDS(exponent,manthi,mantlo) \
{ ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
- ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \
+ ((unsigned int) (manthi) << 16) | ((unsigned int) (mantlo) >> 16), \
(unsigned int) (mantlo) << 16 \
}
#else
@@ -589,13 +589,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
ASSERT (length == strlen (result));
free (result);
}
- /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
- Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
- Intel IA-64 Architecture Software Developer's Manual, Volume 1:
- Application Architecture.
- Table 5-2 "Floating-Point Register Encodings"
- Figure 5-6 "Memory to Floating-Point Register Data Translation"
- */
+ /* asnprintf should print something for noncanonical values. */
{ /* Pseudo-NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
@@ -603,10 +597,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%La %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Infinity. */
@@ -616,10 +608,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%La %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Zero. */
@@ -629,10 +619,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%La %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Unnormalized number. */
@@ -642,10 +630,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%La %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Denormal. */
@@ -655,10 +641,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%La %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
#endif
@@ -1403,13 +1387,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
ASSERT (length == strlen (result));
free (result);
}
- /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
- Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
- Intel IA-64 Architecture Software Developer's Manual, Volume 1:
- Application Architecture.
- Table 5-2 "Floating-Point Register Encodings"
- Figure 5-6 "Memory to Floating-Point Register Data Translation"
- */
+ /* asnprintf should print something for noncanonical values. */
{ /* Pseudo-NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
@@ -1417,10 +1395,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lf %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Infinity. */
@@ -1430,10 +1406,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lf %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Zero. */
@@ -1443,10 +1417,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lf %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Unnormalized number. */
@@ -1456,10 +1428,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lf %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Denormal. */
@@ -1469,10 +1439,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lf %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
#endif
@@ -2405,10 +2373,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{
@@ -2419,19 +2385,11 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
- /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
- Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
- Intel IA-64 Architecture Software Developer's Manual, Volume 1:
- Application Architecture.
- Table 5-2 "Floating-Point Register Encodings"
- Figure 5-6 "Memory to Floating-Point Register Data Translation"
- */
+ /* asnprintf should print something even for noncanonical values. */
{ /* Pseudo-NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
@@ -2439,10 +2397,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Infinity. */
@@ -2452,10 +2408,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Zero. */
@@ -2465,10 +2419,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Unnormalized number. */
@@ -2478,10 +2430,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Denormal. */
@@ -2491,10 +2441,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Le %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
#endif
@@ -3179,13 +3127,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
ASSERT (length == strlen (result));
free (result);
}
- /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
- Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
- Intel IA-64 Architecture Software Developer's Manual, Volume 1:
- Application Architecture.
- Table 5-2 "Floating-Point Register Encodings"
- Figure 5-6 "Memory to Floating-Point Register Data Translation"
- */
+ /* asnprintf should print something for noncanonical values. */
{ /* Pseudo-NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
@@ -3193,10 +3135,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lg %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Infinity. */
@@ -3206,10 +3146,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lg %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Zero. */
@@ -3219,10 +3157,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lg %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Unnormalized number. */
@@ -3232,10 +3168,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lg %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
{ /* Pseudo-Denormal. */
@@ -3245,10 +3179,8 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
char *result =
my_asnprintf (NULL, &length, "%Lg %d", x.value, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strlen (result) >= 3 + 3
- && strisnan (result, 0, strlen (result) - 3, 0)
- && strcmp (result + strlen (result) - 3, " 33") == 0);
ASSERT (length == strlen (result));
+ ASSERT (3 < length && strcmp (result + length - 3, " 33") == 0);
free (result);
}
#endif
diff --git a/gettext-tools/gnulib-tests/test-vasnprintf.c b/gettext-tools/gnulib-tests/test-vasnprintf.c
index 2cbad5d..8ff5900 100644
--- a/gettext-tools/gnulib-tests/test-vasnprintf.c
+++ b/gettext-tools/gnulib-tests/test-vasnprintf.c
@@ -1,5 +1,5 @@
/* Test of vasnprintf() and asnprintf() functions.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-vasprintf.c b/gettext-tools/gnulib-tests/test-vasprintf.c
index 9bfffbd..b304275 100644
--- a/gettext-tools/gnulib-tests/test-vasprintf.c
+++ b/gettext-tools/gnulib-tests/test-vasprintf.c
@@ -1,5 +1,5 @@
/* Test of vasprintf() and asprintf() functions.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-verify.c b/gettext-tools/gnulib-tests/test-verify.c
index 2a41eb1..640dc42 100644
--- a/gettext-tools/gnulib-tests/test-verify.c
+++ b/gettext-tools/gnulib-tests/test-verify.c
@@ -1,6 +1,6 @@
/* Test the "verify" module.
- Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-vsnprintf.c b/gettext-tools/gnulib-tests/test-vsnprintf.c
index 2714a27..a37ace5 100644
--- a/gettext-tools/gnulib-tests/test-vsnprintf.c
+++ b/gettext-tools/gnulib-tests/test-vsnprintf.c
@@ -1,5 +1,5 @@
/* Test of vsnprintf() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-wchar.c b/gettext-tools/gnulib-tests/test-wchar.c
index d9807ec..e857ab5 100644
--- a/gettext-tools/gnulib-tests/test-wchar.c
+++ b/gettext-tools/gnulib-tests/test-wchar.c
@@ -1,5 +1,5 @@
/* Test of <wchar.h> substitute.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-wcrtomb-w32.c b/gettext-tools/gnulib-tests/test-wcrtomb-w32.c
index 793bbce..d8bcf75 100644
--- a/gettext-tools/gnulib-tests/test-wcrtomb-w32.c
+++ b/gettext-tools/gnulib-tests/test-wcrtomb-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of wide character to multibyte character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-wcrtomb.c b/gettext-tools/gnulib-tests/test-wcrtomb.c
index 5b14050..902a4e1 100644
--- a/gettext-tools/gnulib-tests/test-wcrtomb.c
+++ b/gettext-tools/gnulib-tests/test-wcrtomb.c
@@ -1,5 +1,5 @@
/* Test of conversion of wide character to multibyte character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-wctype-h.c b/gettext-tools/gnulib-tests/test-wctype-h.c
index 904a185..7466e59 100644
--- a/gettext-tools/gnulib-tests/test-wctype-h.c
+++ b/gettext-tools/gnulib-tests/test-wctype-h.c
@@ -1,5 +1,5 @@
/* Test of <wctype.h> substitute.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-wcwidth.c b/gettext-tools/gnulib-tests/test-wcwidth.c
index d571a79..9fad785 100644
--- a/gettext-tools/gnulib-tests/test-wcwidth.c
+++ b/gettext-tools/gnulib-tests/test-wcwidth.c
@@ -1,5 +1,5 @@
/* Test of wcwidth() function.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-write.c b/gettext-tools/gnulib-tests/test-write.c
index a722429..6c1ea0c 100644
--- a/gettext-tools/gnulib-tests/test-write.c
+++ b/gettext-tools/gnulib-tests/test-write.c
@@ -1,5 +1,5 @@
/* Test the write() function.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-xalloc-die.c b/gettext-tools/gnulib-tests/test-xalloc-die.c
index baf7924..16d8636 100644
--- a/gettext-tools/gnulib-tests/test-xalloc-die.c
+++ b/gettext-tools/gnulib-tests/test-xalloc-die.c
@@ -1,5 +1,5 @@
/* Test of xalloc_die() function.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/test-xalloc-die.sh b/gettext-tools/gnulib-tests/test-xalloc-die.sh
index cf2ad40..76cdecd 100755
--- a/gettext-tools/gnulib-tests/test-xalloc-die.sh
+++ b/gettext-tools/gnulib-tests/test-xalloc-die.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Test suite for xalloc_die.
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/test-xvasprintf.c b/gettext-tools/gnulib-tests/test-xvasprintf.c
index 45da3e4..9e33844 100644
--- a/gettext-tools/gnulib-tests/test-xvasprintf.c
+++ b/gettext-tools/gnulib-tests/test-xvasprintf.c
@@ -1,5 +1,5 @@
/* Test of xvasprintf() and xasprintf() functions.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/uniconv/test-u8-conv-from-enc.c b/gettext-tools/gnulib-tests/uniconv/test-u8-conv-from-enc.c
index 968bc83..f37be0d 100644
--- a/gettext-tools/gnulib-tests/uniconv/test-u8-conv-from-enc.c
+++ b/gettext-tools/gnulib-tests/uniconv/test-u8-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Test of conversion to UTF-8 from legacy encodings.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unictype/test-ctype_space.c b/gettext-tools/gnulib-tests/unictype/test-ctype_space.c
new file mode 100644
index 0000000..7f9bd32
--- /dev/null
+++ b/gettext-tools/gnulib-tests/unictype/test-ctype_space.c
@@ -0,0 +1,30 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Test the Unicode character type functions.
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include "test-predicate-part1.h"
+
+ { 0x0009, 0x000D },
+ { 0x0020, 0x0020 },
+ { 0x1680, 0x1680 },
+ { 0x2000, 0x2006 },
+ { 0x2008, 0x200A },
+ { 0x2028, 0x2029 },
+ { 0x205F, 0x205F },
+ { 0x3000, 0x3000 }
+
+#define PREDICATE(c) uc_is_space (c)
+#include "test-predicate-part2.h"
diff --git a/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h b/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h
new file mode 100644
index 0000000..1031856
--- /dev/null
+++ b/gettext-tools/gnulib-tests/unictype/test-predicate-part1.h
@@ -0,0 +1,31 @@
+/* Test the Unicode character type functions.
+ Copyright (C) 2007-2009 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "unictype.h"
+
+#include <string.h>
+
+#include "macros.h"
+
+/* Interval of Unicode characters. */
+typedef struct { ucs4_t start; ucs4_t end; } interval_t;
+
+/* Set of Unicode characters, described as list of intervals, in increasing
+ order. */
+static const interval_t set[] =
+ {
diff --git a/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h b/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h
new file mode 100644
index 0000000..eeeb934
--- /dev/null
+++ b/gettext-tools/gnulib-tests/unictype/test-predicate-part2.h
@@ -0,0 +1,37 @@
+/* Test the Unicode character type functions.
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+ };
+
+int
+main ()
+{
+ unsigned int c;
+ size_t i;
+
+ c = 0;
+ for (i = 0; i < SIZEOF (set); i++)
+ {
+ for (; c < set[i].start; c++)
+ ASSERT (!PREDICATE (c));
+ for (; c <= set[i].end; c++)
+ ASSERT (PREDICATE (c));
+ }
+ for (; c < 0x110000; c++)
+ ASSERT (!PREDICATE (c));
+
+ return 0;
+}
diff --git a/gettext-tools/gnulib-tests/unilbrk/test-u8-width-linebreaks.c b/gettext-tools/gnulib-tests/unilbrk/test-u8-width-linebreaks.c
index e8c1c85..157860a 100644
--- a/gettext-tools/gnulib-tests/unilbrk/test-u8-width-linebreaks.c
+++ b/gettext-tools/gnulib-tests/unilbrk/test-u8-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Test of line breaking of UTF-8 strings.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/uniname/HangulSyllableNames.txt b/gettext-tools/gnulib-tests/uniname/HangulSyllableNames.txt
new file mode 100644
index 0000000..341c178
--- /dev/null
+++ b/gettext-tools/gnulib-tests/uniname/HangulSyllableNames.txt
@@ -0,0 +1,11175 @@
+# Auxiliary tables for Hangul syllable names, see the Unicode 3.0 book,
+# sections 3.11 and 4.4.
+
+AC00;HANGUL SYLLABLE GA;Lo;0;L;;;;;N;;;;;
+AC01;HANGUL SYLLABLE GAG;Lo;0;L;;;;;N;;;;;
+AC02;HANGUL SYLLABLE GAGG;Lo;0;L;;;;;N;;;;;
+AC03;HANGUL SYLLABLE GAGS;Lo;0;L;;;;;N;;;;;
+AC04;HANGUL SYLLABLE GAN;Lo;0;L;;;;;N;;;;;
+AC05;HANGUL SYLLABLE GANI;Lo;0;L;;;;;N;;;;;
+AC06;HANGUL SYLLABLE GANH;Lo;0;L;;;;;N;;;;;
+AC07;HANGUL SYLLABLE GAD;Lo;0;L;;;;;N;;;;;
+AC08;HANGUL SYLLABLE GAL;Lo;0;L;;;;;N;;;;;
+AC09;HANGUL SYLLABLE GALG;Lo;0;L;;;;;N;;;;;
+AC0A;HANGUL SYLLABLE GALM;Lo;0;L;;;;;N;;;;;
+AC0B;HANGUL SYLLABLE GALB;Lo;0;L;;;;;N;;;;;
+AC0C;HANGUL SYLLABLE GALS;Lo;0;L;;;;;N;;;;;
+AC0D;HANGUL SYLLABLE GALT;Lo;0;L;;;;;N;;;;;
+AC0E;HANGUL SYLLABLE GALP;Lo;0;L;;;;;N;;;;;
+AC0F;HANGUL SYLLABLE GALH;Lo;0;L;;;;;N;;;;;
+AC10;HANGUL SYLLABLE GAM;Lo;0;L;;;;;N;;;;;
+AC11;HANGUL SYLLABLE GAB;Lo;0;L;;;;;N;;;;;
+AC12;HANGUL SYLLABLE GABS;Lo;0;L;;;;;N;;;;;
+AC13;HANGUL SYLLABLE GAS;Lo;0;L;;;;;N;;;;;
+AC14;HANGUL SYLLABLE GASS;Lo;0;L;;;;;N;;;;;
+AC15;HANGUL SYLLABLE GANG;Lo;0;L;;;;;N;;;;;
+AC16;HANGUL SYLLABLE GAJ;Lo;0;L;;;;;N;;;;;
+AC17;HANGUL SYLLABLE GAC;Lo;0;L;;;;;N;;;;;
+AC18;HANGUL SYLLABLE GAK;Lo;0;L;;;;;N;;;;;
+AC19;HANGUL SYLLABLE GAT;Lo;0;L;;;;;N;;;;;
+AC1A;HANGUL SYLLABLE GAP;Lo;0;L;;;;;N;;;;;
+AC1B;HANGUL SYLLABLE GAH;Lo;0;L;;;;;N;;;;;
+AC1C;HANGUL SYLLABLE GAE;Lo;0;L;;;;;N;;;;;
+AC1D;HANGUL SYLLABLE GAEG;Lo;0;L;;;;;N;;;;;
+AC1E;HANGUL SYLLABLE GAEGG;Lo;0;L;;;;;N;;;;;
+AC1F;HANGUL SYLLABLE GAEGS;Lo;0;L;;;;;N;;;;;
+AC20;HANGUL SYLLABLE GAEN;Lo;0;L;;;;;N;;;;;
+AC21;HANGUL SYLLABLE GAENI;Lo;0;L;;;;;N;;;;;
+AC22;HANGUL SYLLABLE GAENH;Lo;0;L;;;;;N;;;;;
+AC23;HANGUL SYLLABLE GAED;Lo;0;L;;;;;N;;;;;
+AC24;HANGUL SYLLABLE GAEL;Lo;0;L;;;;;N;;;;;
+AC25;HANGUL SYLLABLE GAELG;Lo;0;L;;;;;N;;;;;
+AC26;HANGUL SYLLABLE GAELM;Lo;0;L;;;;;N;;;;;
+AC27;HANGUL SYLLABLE GAELB;Lo;0;L;;;;;N;;;;;
+AC28;HANGUL SYLLABLE GAELS;Lo;0;L;;;;;N;;;;;
+AC29;HANGUL SYLLABLE GAELT;Lo;0;L;;;;;N;;;;;
+AC2A;HANGUL SYLLABLE GAELP;Lo;0;L;;;;;N;;;;;
+AC2B;HANGUL SYLLABLE GAELH;Lo;0;L;;;;;N;;;;;
+AC2C;HANGUL SYLLABLE GAEM;Lo;0;L;;;;;N;;;;;
+AC2D;HANGUL SYLLABLE GAEB;Lo;0;L;;;;;N;;;;;
+AC2E;HANGUL SYLLABLE GAEBS;Lo;0;L;;;;;N;;;;;
+AC2F;HANGUL SYLLABLE GAES;Lo;0;L;;;;;N;;;;;
+AC30;HANGUL SYLLABLE GAESS;Lo;0;L;;;;;N;;;;;
+AC31;HANGUL SYLLABLE GAENG;Lo;0;L;;;;;N;;;;;
+AC32;HANGUL SYLLABLE GAEJ;Lo;0;L;;;;;N;;;;;
+AC33;HANGUL SYLLABLE GAEC;Lo;0;L;;;;;N;;;;;
+AC34;HANGUL SYLLABLE GAEK;Lo;0;L;;;;;N;;;;;
+AC35;HANGUL SYLLABLE GAET;Lo;0;L;;;;;N;;;;;
+AC36;HANGUL SYLLABLE GAEP;Lo;0;L;;;;;N;;;;;
+AC37;HANGUL SYLLABLE GAEH;Lo;0;L;;;;;N;;;;;
+AC38;HANGUL SYLLABLE GYA;Lo;0;L;;;;;N;;;;;
+AC39;HANGUL SYLLABLE GYAG;Lo;0;L;;;;;N;;;;;
+AC3A;HANGUL SYLLABLE GYAGG;Lo;0;L;;;;;N;;;;;
+AC3B;HANGUL SYLLABLE GYAGS;Lo;0;L;;;;;N;;;;;
+AC3C;HANGUL SYLLABLE GYAN;Lo;0;L;;;;;N;;;;;
+AC3D;HANGUL SYLLABLE GYANI;Lo;0;L;;;;;N;;;;;
+AC3E;HANGUL SYLLABLE GYANH;Lo;0;L;;;;;N;;;;;
+AC3F;HANGUL SYLLABLE GYAD;Lo;0;L;;;;;N;;;;;
+AC40;HANGUL SYLLABLE GYAL;Lo;0;L;;;;;N;;;;;
+AC41;HANGUL SYLLABLE GYALG;Lo;0;L;;;;;N;;;;;
+AC42;HANGUL SYLLABLE GYALM;Lo;0;L;;;;;N;;;;;
+AC43;HANGUL SYLLABLE GYALB;Lo;0;L;;;;;N;;;;;
+AC44;HANGUL SYLLABLE GYALS;Lo;0;L;;;;;N;;;;;
+AC45;HANGUL SYLLABLE GYALT;Lo;0;L;;;;;N;;;;;
+AC46;HANGUL SYLLABLE GYALP;Lo;0;L;;;;;N;;;;;
+AC47;HANGUL SYLLABLE GYALH;Lo;0;L;;;;;N;;;;;
+AC48;HANGUL SYLLABLE GYAM;Lo;0;L;;;;;N;;;;;
+AC49;HANGUL SYLLABLE GYAB;Lo;0;L;;;;;N;;;;;
+AC4A;HANGUL SYLLABLE GYABS;Lo;0;L;;;;;N;;;;;
+AC4B;HANGUL SYLLABLE GYAS;Lo;0;L;;;;;N;;;;;
+AC4C;HANGUL SYLLABLE GYASS;Lo;0;L;;;;;N;;;;;
+AC4D;HANGUL SYLLABLE GYANG;Lo;0;L;;;;;N;;;;;
+AC4E;HANGUL SYLLABLE GYAJ;Lo;0;L;;;;;N;;;;;
+AC4F;HANGUL SYLLABLE GYAC;Lo;0;L;;;;;N;;;;;
+AC50;HANGUL SYLLABLE GYAK;Lo;0;L;;;;;N;;;;;
+AC51;HANGUL SYLLABLE GYAT;Lo;0;L;;;;;N;;;;;
+AC52;HANGUL SYLLABLE GYAP;Lo;0;L;;;;;N;;;;;
+AC53;HANGUL SYLLABLE GYAH;Lo;0;L;;;;;N;;;;;
+AC54;HANGUL SYLLABLE GYAE;Lo;0;L;;;;;N;;;;;
+AC55;HANGUL SYLLABLE GYAEG;Lo;0;L;;;;;N;;;;;
+AC56;HANGUL SYLLABLE GYAEGG;Lo;0;L;;;;;N;;;;;
+AC57;HANGUL SYLLABLE GYAEGS;Lo;0;L;;;;;N;;;;;
+AC58;HANGUL SYLLABLE GYAEN;Lo;0;L;;;;;N;;;;;
+AC59;HANGUL SYLLABLE GYAENI;Lo;0;L;;;;;N;;;;;
+AC5A;HANGUL SYLLABLE GYAENH;Lo;0;L;;;;;N;;;;;
+AC5B;HANGUL SYLLABLE GYAED;Lo;0;L;;;;;N;;;;;
+AC5C;HANGUL SYLLABLE GYAEL;Lo;0;L;;;;;N;;;;;
+AC5D;HANGUL SYLLABLE GYAELG;Lo;0;L;;;;;N;;;;;
+AC5E;HANGUL SYLLABLE GYAELM;Lo;0;L;;;;;N;;;;;
+AC5F;HANGUL SYLLABLE GYAELB;Lo;0;L;;;;;N;;;;;
+AC60;HANGUL SYLLABLE GYAELS;Lo;0;L;;;;;N;;;;;
+AC61;HANGUL SYLLABLE GYAELT;Lo;0;L;;;;;N;;;;;
+AC62;HANGUL SYLLABLE GYAELP;Lo;0;L;;;;;N;;;;;
+AC63;HANGUL SYLLABLE GYAELH;Lo;0;L;;;;;N;;;;;
+AC64;HANGUL SYLLABLE GYAEM;Lo;0;L;;;;;N;;;;;
+AC65;HANGUL SYLLABLE GYAEB;Lo;0;L;;;;;N;;;;;
+AC66;HANGUL SYLLABLE GYAEBS;Lo;0;L;;;;;N;;;;;
+AC67;HANGUL SYLLABLE GYAES;Lo;0;L;;;;;N;;;;;
+AC68;HANGUL SYLLABLE GYAESS;Lo;0;L;;;;;N;;;;;
+AC69;HANGUL SYLLABLE GYAENG;Lo;0;L;;;;;N;;;;;
+AC6A;HANGUL SYLLABLE GYAEJ;Lo;0;L;;;;;N;;;;;
+AC6B;HANGUL SYLLABLE GYAEC;Lo;0;L;;;;;N;;;;;
+AC6C;HANGUL SYLLABLE GYAEK;Lo;0;L;;;;;N;;;;;
+AC6D;HANGUL SYLLABLE GYAET;Lo;0;L;;;;;N;;;;;
+AC6E;HANGUL SYLLABLE GYAEP;Lo;0;L;;;;;N;;;;;
+AC6F;HANGUL SYLLABLE GYAEH;Lo;0;L;;;;;N;;;;;
+AC70;HANGUL SYLLABLE GEO;Lo;0;L;;;;;N;;;;;
+AC71;HANGUL SYLLABLE GEOG;Lo;0;L;;;;;N;;;;;
+AC72;HANGUL SYLLABLE GEOGG;Lo;0;L;;;;;N;;;;;
+AC73;HANGUL SYLLABLE GEOGS;Lo;0;L;;;;;N;;;;;
+AC74;HANGUL SYLLABLE GEON;Lo;0;L;;;;;N;;;;;
+AC75;HANGUL SYLLABLE GEONI;Lo;0;L;;;;;N;;;;;
+AC76;HANGUL SYLLABLE GEONH;Lo;0;L;;;;;N;;;;;
+AC77;HANGUL SYLLABLE GEOD;Lo;0;L;;;;;N;;;;;
+AC78;HANGUL SYLLABLE GEOL;Lo;0;L;;;;;N;;;;;
+AC79;HANGUL SYLLABLE GEOLG;Lo;0;L;;;;;N;;;;;
+AC7A;HANGUL SYLLABLE GEOLM;Lo;0;L;;;;;N;;;;;
+AC7B;HANGUL SYLLABLE GEOLB;Lo;0;L;;;;;N;;;;;
+AC7C;HANGUL SYLLABLE GEOLS;Lo;0;L;;;;;N;;;;;
+AC7D;HANGUL SYLLABLE GEOLT;Lo;0;L;;;;;N;;;;;
+AC7E;HANGUL SYLLABLE GEOLP;Lo;0;L;;;;;N;;;;;
+AC7F;HANGUL SYLLABLE GEOLH;Lo;0;L;;;;;N;;;;;
+AC80;HANGUL SYLLABLE GEOM;Lo;0;L;;;;;N;;;;;
+AC81;HANGUL SYLLABLE GEOB;Lo;0;L;;;;;N;;;;;
+AC82;HANGUL SYLLABLE GEOBS;Lo;0;L;;;;;N;;;;;
+AC83;HANGUL SYLLABLE GEOS;Lo;0;L;;;;;N;;;;;
+AC84;HANGUL SYLLABLE GEOSS;Lo;0;L;;;;;N;;;;;
+AC85;HANGUL SYLLABLE GEONG;Lo;0;L;;;;;N;;;;;
+AC86;HANGUL SYLLABLE GEOJ;Lo;0;L;;;;;N;;;;;
+AC87;HANGUL SYLLABLE GEOC;Lo;0;L;;;;;N;;;;;
+AC88;HANGUL SYLLABLE GEOK;Lo;0;L;;;;;N;;;;;
+AC89;HANGUL SYLLABLE GEOT;Lo;0;L;;;;;N;;;;;
+AC8A;HANGUL SYLLABLE GEOP;Lo;0;L;;;;;N;;;;;
+AC8B;HANGUL SYLLABLE GEOH;Lo;0;L;;;;;N;;;;;
+AC8C;HANGUL SYLLABLE GE;Lo;0;L;;;;;N;;;;;
+AC8D;HANGUL SYLLABLE GEG;Lo;0;L;;;;;N;;;;;
+AC8E;HANGUL SYLLABLE GEGG;Lo;0;L;;;;;N;;;;;
+AC8F;HANGUL SYLLABLE GEGS;Lo;0;L;;;;;N;;;;;
+AC90;HANGUL SYLLABLE GEN;Lo;0;L;;;;;N;;;;;
+AC91;HANGUL SYLLABLE GENI;Lo;0;L;;;;;N;;;;;
+AC92;HANGUL SYLLABLE GENH;Lo;0;L;;;;;N;;;;;
+AC93;HANGUL SYLLABLE GED;Lo;0;L;;;;;N;;;;;
+AC94;HANGUL SYLLABLE GEL;Lo;0;L;;;;;N;;;;;
+AC95;HANGUL SYLLABLE GELG;Lo;0;L;;;;;N;;;;;
+AC96;HANGUL SYLLABLE GELM;Lo;0;L;;;;;N;;;;;
+AC97;HANGUL SYLLABLE GELB;Lo;0;L;;;;;N;;;;;
+AC98;HANGUL SYLLABLE GELS;Lo;0;L;;;;;N;;;;;
+AC99;HANGUL SYLLABLE GELT;Lo;0;L;;;;;N;;;;;
+AC9A;HANGUL SYLLABLE GELP;Lo;0;L;;;;;N;;;;;
+AC9B;HANGUL SYLLABLE GELH;Lo;0;L;;;;;N;;;;;
+AC9C;HANGUL SYLLABLE GEM;Lo;0;L;;;;;N;;;;;
+AC9D;HANGUL SYLLABLE GEB;Lo;0;L;;;;;N;;;;;
+AC9E;HANGUL SYLLABLE GEBS;Lo;0;L;;;;;N;;;;;
+AC9F;HANGUL SYLLABLE GES;Lo;0;L;;;;;N;;;;;
+ACA0;HANGUL SYLLABLE GESS;Lo;0;L;;;;;N;;;;;
+ACA1;HANGUL SYLLABLE GENG;Lo;0;L;;;;;N;;;;;
+ACA2;HANGUL SYLLABLE GEJ;Lo;0;L;;;;;N;;;;;
+ACA3;HANGUL SYLLABLE GEC;Lo;0;L;;;;;N;;;;;
+ACA4;HANGUL SYLLABLE GEK;Lo;0;L;;;;;N;;;;;
+ACA5;HANGUL SYLLABLE GET;Lo;0;L;;;;;N;;;;;
+ACA6;HANGUL SYLLABLE GEP;Lo;0;L;;;;;N;;;;;
+ACA7;HANGUL SYLLABLE GEH;Lo;0;L;;;;;N;;;;;
+ACA8;HANGUL SYLLABLE GYEO;Lo;0;L;;;;;N;;;;;
+ACA9;HANGUL SYLLABLE GYEOG;Lo;0;L;;;;;N;;;;;
+ACAA;HANGUL SYLLABLE GYEOGG;Lo;0;L;;;;;N;;;;;
+ACAB;HANGUL SYLLABLE GYEOGS;Lo;0;L;;;;;N;;;;;
+ACAC;HANGUL SYLLABLE GYEON;Lo;0;L;;;;;N;;;;;
+ACAD;HANGUL SYLLABLE GYEONI;Lo;0;L;;;;;N;;;;;
+ACAE;HANGUL SYLLABLE GYEONH;Lo;0;L;;;;;N;;;;;
+ACAF;HANGUL SYLLABLE GYEOD;Lo;0;L;;;;;N;;;;;
+ACB0;HANGUL SYLLABLE GYEOL;Lo;0;L;;;;;N;;;;;
+ACB1;HANGUL SYLLABLE GYEOLG;Lo;0;L;;;;;N;;;;;
+ACB2;HANGUL SYLLABLE GYEOLM;Lo;0;L;;;;;N;;;;;
+ACB3;HANGUL SYLLABLE GYEOLB;Lo;0;L;;;;;N;;;;;
+ACB4;HANGUL SYLLABLE GYEOLS;Lo;0;L;;;;;N;;;;;
+ACB5;HANGUL SYLLABLE GYEOLT;Lo;0;L;;;;;N;;;;;
+ACB6;HANGUL SYLLABLE GYEOLP;Lo;0;L;;;;;N;;;;;
+ACB7;HANGUL SYLLABLE GYEOLH;Lo;0;L;;;;;N;;;;;
+ACB8;HANGUL SYLLABLE GYEOM;Lo;0;L;;;;;N;;;;;
+ACB9;HANGUL SYLLABLE GYEOB;Lo;0;L;;;;;N;;;;;
+ACBA;HANGUL SYLLABLE GYEOBS;Lo;0;L;;;;;N;;;;;
+ACBB;HANGUL SYLLABLE GYEOS;Lo;0;L;;;;;N;;;;;
+ACBC;HANGUL SYLLABLE GYEOSS;Lo;0;L;;;;;N;;;;;
+ACBD;HANGUL SYLLABLE GYEONG;Lo;0;L;;;;;N;;;;;
+ACBE;HANGUL SYLLABLE GYEOJ;Lo;0;L;;;;;N;;;;;
+ACBF;HANGUL SYLLABLE GYEOC;Lo;0;L;;;;;N;;;;;
+ACC0;HANGUL SYLLABLE GYEOK;Lo;0;L;;;;;N;;;;;
+ACC1;HANGUL SYLLABLE GYEOT;Lo;0;L;;;;;N;;;;;
+ACC2;HANGUL SYLLABLE GYEOP;Lo;0;L;;;;;N;;;;;
+ACC3;HANGUL SYLLABLE GYEOH;Lo;0;L;;;;;N;;;;;
+ACC4;HANGUL SYLLABLE GYE;Lo;0;L;;;;;N;;;;;
+ACC5;HANGUL SYLLABLE GYEG;Lo;0;L;;;;;N;;;;;
+ACC6;HANGUL SYLLABLE GYEGG;Lo;0;L;;;;;N;;;;;
+ACC7;HANGUL SYLLABLE GYEGS;Lo;0;L;;;;;N;;;;;
+ACC8;HANGUL SYLLABLE GYEN;Lo;0;L;;;;;N;;;;;
+ACC9;HANGUL SYLLABLE GYENI;Lo;0;L;;;;;N;;;;;
+ACCA;HANGUL SYLLABLE GYENH;Lo;0;L;;;;;N;;;;;
+ACCB;HANGUL SYLLABLE GYED;Lo;0;L;;;;;N;;;;;
+ACCC;HANGUL SYLLABLE GYEL;Lo;0;L;;;;;N;;;;;
+ACCD;HANGUL SYLLABLE GYELG;Lo;0;L;;;;;N;;;;;
+ACCE;HANGUL SYLLABLE GYELM;Lo;0;L;;;;;N;;;;;
+ACCF;HANGUL SYLLABLE GYELB;Lo;0;L;;;;;N;;;;;
+ACD0;HANGUL SYLLABLE GYELS;Lo;0;L;;;;;N;;;;;
+ACD1;HANGUL SYLLABLE GYELT;Lo;0;L;;;;;N;;;;;
+ACD2;HANGUL SYLLABLE GYELP;Lo;0;L;;;;;N;;;;;
+ACD3;HANGUL SYLLABLE GYELH;Lo;0;L;;;;;N;;;;;
+ACD4;HANGUL SYLLABLE GYEM;Lo;0;L;;;;;N;;;;;
+ACD5;HANGUL SYLLABLE GYEB;Lo;0;L;;;;;N;;;;;
+ACD6;HANGUL SYLLABLE GYEBS;Lo;0;L;;;;;N;;;;;
+ACD7;HANGUL SYLLABLE GYES;Lo;0;L;;;;;N;;;;;
+ACD8;HANGUL SYLLABLE GYESS;Lo;0;L;;;;;N;;;;;
+ACD9;HANGUL SYLLABLE GYENG;Lo;0;L;;;;;N;;;;;
+ACDA;HANGUL SYLLABLE GYEJ;Lo;0;L;;;;;N;;;;;
+ACDB;HANGUL SYLLABLE GYEC;Lo;0;L;;;;;N;;;;;
+ACDC;HANGUL SYLLABLE GYEK;Lo;0;L;;;;;N;;;;;
+ACDD;HANGUL SYLLABLE GYET;Lo;0;L;;;;;N;;;;;
+ACDE;HANGUL SYLLABLE GYEP;Lo;0;L;;;;;N;;;;;
+ACDF;HANGUL SYLLABLE GYEH;Lo;0;L;;;;;N;;;;;
+ACE0;HANGUL SYLLABLE GO;Lo;0;L;;;;;N;;;;;
+ACE1;HANGUL SYLLABLE GOG;Lo;0;L;;;;;N;;;;;
+ACE2;HANGUL SYLLABLE GOGG;Lo;0;L;;;;;N;;;;;
+ACE3;HANGUL SYLLABLE GOGS;Lo;0;L;;;;;N;;;;;
+ACE4;HANGUL SYLLABLE GON;Lo;0;L;;;;;N;;;;;
+ACE5;HANGUL SYLLABLE GONI;Lo;0;L;;;;;N;;;;;
+ACE6;HANGUL SYLLABLE GONH;Lo;0;L;;;;;N;;;;;
+ACE7;HANGUL SYLLABLE GOD;Lo;0;L;;;;;N;;;;;
+ACE8;HANGUL SYLLABLE GOL;Lo;0;L;;;;;N;;;;;
+ACE9;HANGUL SYLLABLE GOLG;Lo;0;L;;;;;N;;;;;
+ACEA;HANGUL SYLLABLE GOLM;Lo;0;L;;;;;N;;;;;
+ACEB;HANGUL SYLLABLE GOLB;Lo;0;L;;;;;N;;;;;
+ACEC;HANGUL SYLLABLE GOLS;Lo;0;L;;;;;N;;;;;
+ACED;HANGUL SYLLABLE GOLT;Lo;0;L;;;;;N;;;;;
+ACEE;HANGUL SYLLABLE GOLP;Lo;0;L;;;;;N;;;;;
+ACEF;HANGUL SYLLABLE GOLH;Lo;0;L;;;;;N;;;;;
+ACF0;HANGUL SYLLABLE GOM;Lo;0;L;;;;;N;;;;;
+ACF1;HANGUL SYLLABLE GOB;Lo;0;L;;;;;N;;;;;
+ACF2;HANGUL SYLLABLE GOBS;Lo;0;L;;;;;N;;;;;
+ACF3;HANGUL SYLLABLE GOS;Lo;0;L;;;;;N;;;;;
+ACF4;HANGUL SYLLABLE GOSS;Lo;0;L;;;;;N;;;;;
+ACF5;HANGUL SYLLABLE GONG;Lo;0;L;;;;;N;;;;;
+ACF6;HANGUL SYLLABLE GOJ;Lo;0;L;;;;;N;;;;;
+ACF7;HANGUL SYLLABLE GOC;Lo;0;L;;;;;N;;;;;
+ACF8;HANGUL SYLLABLE GOK;Lo;0;L;;;;;N;;;;;
+ACF9;HANGUL SYLLABLE GOT;Lo;0;L;;;;;N;;;;;
+ACFA;HANGUL SYLLABLE GOP;Lo;0;L;;;;;N;;;;;
+ACFB;HANGUL SYLLABLE GOH;Lo;0;L;;;;;N;;;;;
+ACFC;HANGUL SYLLABLE GWA;Lo;0;L;;;;;N;;;;;
+ACFD;HANGUL SYLLABLE GWAG;Lo;0;L;;;;;N;;;;;
+ACFE;HANGUL SYLLABLE GWAGG;Lo;0;L;;;;;N;;;;;
+ACFF;HANGUL SYLLABLE GWAGS;Lo;0;L;;;;;N;;;;;
+AD00;HANGUL SYLLABLE GWAN;Lo;0;L;;;;;N;;;;;
+AD01;HANGUL SYLLABLE GWANI;Lo;0;L;;;;;N;;;;;
+AD02;HANGUL SYLLABLE GWANH;Lo;0;L;;;;;N;;;;;
+AD03;HANGUL SYLLABLE GWAD;Lo;0;L;;;;;N;;;;;
+AD04;HANGUL SYLLABLE GWAL;Lo;0;L;;;;;N;;;;;
+AD05;HANGUL SYLLABLE GWALG;Lo;0;L;;;;;N;;;;;
+AD06;HANGUL SYLLABLE GWALM;Lo;0;L;;;;;N;;;;;
+AD07;HANGUL SYLLABLE GWALB;Lo;0;L;;;;;N;;;;;
+AD08;HANGUL SYLLABLE GWALS;Lo;0;L;;;;;N;;;;;
+AD09;HANGUL SYLLABLE GWALT;Lo;0;L;;;;;N;;;;;
+AD0A;HANGUL SYLLABLE GWALP;Lo;0;L;;;;;N;;;;;
+AD0B;HANGUL SYLLABLE GWALH;Lo;0;L;;;;;N;;;;;
+AD0C;HANGUL SYLLABLE GWAM;Lo;0;L;;;;;N;;;;;
+AD0D;HANGUL SYLLABLE GWAB;Lo;0;L;;;;;N;;;;;
+AD0E;HANGUL SYLLABLE GWABS;Lo;0;L;;;;;N;;;;;
+AD0F;HANGUL SYLLABLE GWAS;Lo;0;L;;;;;N;;;;;
+AD10;HANGUL SYLLABLE GWASS;Lo;0;L;;;;;N;;;;;
+AD11;HANGUL SYLLABLE GWANG;Lo;0;L;;;;;N;;;;;
+AD12;HANGUL SYLLABLE GWAJ;Lo;0;L;;;;;N;;;;;
+AD13;HANGUL SYLLABLE GWAC;Lo;0;L;;;;;N;;;;;
+AD14;HANGUL SYLLABLE GWAK;Lo;0;L;;;;;N;;;;;
+AD15;HANGUL SYLLABLE GWAT;Lo;0;L;;;;;N;;;;;
+AD16;HANGUL SYLLABLE GWAP;Lo;0;L;;;;;N;;;;;
+AD17;HANGUL SYLLABLE GWAH;Lo;0;L;;;;;N;;;;;
+AD18;HANGUL SYLLABLE GWAE;Lo;0;L;;;;;N;;;;;
+AD19;HANGUL SYLLABLE GWAEG;Lo;0;L;;;;;N;;;;;
+AD1A;HANGUL SYLLABLE GWAEGG;Lo;0;L;;;;;N;;;;;
+AD1B;HANGUL SYLLABLE GWAEGS;Lo;0;L;;;;;N;;;;;
+AD1C;HANGUL SYLLABLE GWAEN;Lo;0;L;;;;;N;;;;;
+AD1D;HANGUL SYLLABLE GWAENI;Lo;0;L;;;;;N;;;;;
+AD1E;HANGUL SYLLABLE GWAENH;Lo;0;L;;;;;N;;;;;
+AD1F;HANGUL SYLLABLE GWAED;Lo;0;L;;;;;N;;;;;
+AD20;HANGUL SYLLABLE GWAEL;Lo;0;L;;;;;N;;;;;
+AD21;HANGUL SYLLABLE GWAELG;Lo;0;L;;;;;N;;;;;
+AD22;HANGUL SYLLABLE GWAELM;Lo;0;L;;;;;N;;;;;
+AD23;HANGUL SYLLABLE GWAELB;Lo;0;L;;;;;N;;;;;
+AD24;HANGUL SYLLABLE GWAELS;Lo;0;L;;;;;N;;;;;
+AD25;HANGUL SYLLABLE GWAELT;Lo;0;L;;;;;N;;;;;
+AD26;HANGUL SYLLABLE GWAELP;Lo;0;L;;;;;N;;;;;
+AD27;HANGUL SYLLABLE GWAELH;Lo;0;L;;;;;N;;;;;
+AD28;HANGUL SYLLABLE GWAEM;Lo;0;L;;;;;N;;;;;
+AD29;HANGUL SYLLABLE GWAEB;Lo;0;L;;;;;N;;;;;
+AD2A;HANGUL SYLLABLE GWAEBS;Lo;0;L;;;;;N;;;;;
+AD2B;HANGUL SYLLABLE GWAES;Lo;0;L;;;;;N;;;;;
+AD2C;HANGUL SYLLABLE GWAESS;Lo;0;L;;;;;N;;;;;
+AD2D;HANGUL SYLLABLE GWAENG;Lo;0;L;;;;;N;;;;;
+AD2E;HANGUL SYLLABLE GWAEJ;Lo;0;L;;;;;N;;;;;
+AD2F;HANGUL SYLLABLE GWAEC;Lo;0;L;;;;;N;;;;;
+AD30;HANGUL SYLLABLE GWAEK;Lo;0;L;;;;;N;;;;;
+AD31;HANGUL SYLLABLE GWAET;Lo;0;L;;;;;N;;;;;
+AD32;HANGUL SYLLABLE GWAEP;Lo;0;L;;;;;N;;;;;
+AD33;HANGUL SYLLABLE GWAEH;Lo;0;L;;;;;N;;;;;
+AD34;HANGUL SYLLABLE GOE;Lo;0;L;;;;;N;;;;;
+AD35;HANGUL SYLLABLE GOEG;Lo;0;L;;;;;N;;;;;
+AD36;HANGUL SYLLABLE GOEGG;Lo;0;L;;;;;N;;;;;
+AD37;HANGUL SYLLABLE GOEGS;Lo;0;L;;;;;N;;;;;
+AD38;HANGUL SYLLABLE GOEN;Lo;0;L;;;;;N;;;;;
+AD39;HANGUL SYLLABLE GOENI;Lo;0;L;;;;;N;;;;;
+AD3A;HANGUL SYLLABLE GOENH;Lo;0;L;;;;;N;;;;;
+AD3B;HANGUL SYLLABLE GOED;Lo;0;L;;;;;N;;;;;
+AD3C;HANGUL SYLLABLE GOEL;Lo;0;L;;;;;N;;;;;
+AD3D;HANGUL SYLLABLE GOELG;Lo;0;L;;;;;N;;;;;
+AD3E;HANGUL SYLLABLE GOELM;Lo;0;L;;;;;N;;;;;
+AD3F;HANGUL SYLLABLE GOELB;Lo;0;L;;;;;N;;;;;
+AD40;HANGUL SYLLABLE GOELS;Lo;0;L;;;;;N;;;;;
+AD41;HANGUL SYLLABLE GOELT;Lo;0;L;;;;;N;;;;;
+AD42;HANGUL SYLLABLE GOELP;Lo;0;L;;;;;N;;;;;
+AD43;HANGUL SYLLABLE GOELH;Lo;0;L;;;;;N;;;;;
+AD44;HANGUL SYLLABLE GOEM;Lo;0;L;;;;;N;;;;;
+AD45;HANGUL SYLLABLE GOEB;Lo;0;L;;;;;N;;;;;
+AD46;HANGUL SYLLABLE GOEBS;Lo;0;L;;;;;N;;;;;
+AD47;HANGUL SYLLABLE GOES;Lo;0;L;;;;;N;;;;;
+AD48;HANGUL SYLLABLE GOESS;Lo;0;L;;;;;N;;;;;
+AD49;HANGUL SYLLABLE GOENG;Lo;0;L;;;;;N;;;;;
+AD4A;HANGUL SYLLABLE GOEJ;Lo;0;L;;;;;N;;;;;
+AD4B;HANGUL SYLLABLE GOEC;Lo;0;L;;;;;N;;;;;
+AD4C;HANGUL SYLLABLE GOEK;Lo;0;L;;;;;N;;;;;
+AD4D;HANGUL SYLLABLE GOET;Lo;0;L;;;;;N;;;;;
+AD4E;HANGUL SYLLABLE GOEP;Lo;0;L;;;;;N;;;;;
+AD4F;HANGUL SYLLABLE GOEH;Lo;0;L;;;;;N;;;;;
+AD50;HANGUL SYLLABLE GYO;Lo;0;L;;;;;N;;;;;
+AD51;HANGUL SYLLABLE GYOG;Lo;0;L;;;;;N;;;;;
+AD52;HANGUL SYLLABLE GYOGG;Lo;0;L;;;;;N;;;;;
+AD53;HANGUL SYLLABLE GYOGS;Lo;0;L;;;;;N;;;;;
+AD54;HANGUL SYLLABLE GYON;Lo;0;L;;;;;N;;;;;
+AD55;HANGUL SYLLABLE GYONI;Lo;0;L;;;;;N;;;;;
+AD56;HANGUL SYLLABLE GYONH;Lo;0;L;;;;;N;;;;;
+AD57;HANGUL SYLLABLE GYOD;Lo;0;L;;;;;N;;;;;
+AD58;HANGUL SYLLABLE GYOL;Lo;0;L;;;;;N;;;;;
+AD59;HANGUL SYLLABLE GYOLG;Lo;0;L;;;;;N;;;;;
+AD5A;HANGUL SYLLABLE GYOLM;Lo;0;L;;;;;N;;;;;
+AD5B;HANGUL SYLLABLE GYOLB;Lo;0;L;;;;;N;;;;;
+AD5C;HANGUL SYLLABLE GYOLS;Lo;0;L;;;;;N;;;;;
+AD5D;HANGUL SYLLABLE GYOLT;Lo;0;L;;;;;N;;;;;
+AD5E;HANGUL SYLLABLE GYOLP;Lo;0;L;;;;;N;;;;;
+AD5F;HANGUL SYLLABLE GYOLH;Lo;0;L;;;;;N;;;;;
+AD60;HANGUL SYLLABLE GYOM;Lo;0;L;;;;;N;;;;;
+AD61;HANGUL SYLLABLE GYOB;Lo;0;L;;;;;N;;;;;
+AD62;HANGUL SYLLABLE GYOBS;Lo;0;L;;;;;N;;;;;
+AD63;HANGUL SYLLABLE GYOS;Lo;0;L;;;;;N;;;;;
+AD64;HANGUL SYLLABLE GYOSS;Lo;0;L;;;;;N;;;;;
+AD65;HANGUL SYLLABLE GYONG;Lo;0;L;;;;;N;;;;;
+AD66;HANGUL SYLLABLE GYOJ;Lo;0;L;;;;;N;;;;;
+AD67;HANGUL SYLLABLE GYOC;Lo;0;L;;;;;N;;;;;
+AD68;HANGUL SYLLABLE GYOK;Lo;0;L;;;;;N;;;;;
+AD69;HANGUL SYLLABLE GYOT;Lo;0;L;;;;;N;;;;;
+AD6A;HANGUL SYLLABLE GYOP;Lo;0;L;;;;;N;;;;;
+AD6B;HANGUL SYLLABLE GYOH;Lo;0;L;;;;;N;;;;;
+AD6C;HANGUL SYLLABLE GU;Lo;0;L;;;;;N;;;;;
+AD6D;HANGUL SYLLABLE GUG;Lo;0;L;;;;;N;;;;;
+AD6E;HANGUL SYLLABLE GUGG;Lo;0;L;;;;;N;;;;;
+AD6F;HANGUL SYLLABLE GUGS;Lo;0;L;;;;;N;;;;;
+AD70;HANGUL SYLLABLE GUN;Lo;0;L;;;;;N;;;;;
+AD71;HANGUL SYLLABLE GUNI;Lo;0;L;;;;;N;;;;;
+AD72;HANGUL SYLLABLE GUNH;Lo;0;L;;;;;N;;;;;
+AD73;HANGUL SYLLABLE GUD;Lo;0;L;;;;;N;;;;;
+AD74;HANGUL SYLLABLE GUL;Lo;0;L;;;;;N;;;;;
+AD75;HANGUL SYLLABLE GULG;Lo;0;L;;;;;N;;;;;
+AD76;HANGUL SYLLABLE GULM;Lo;0;L;;;;;N;;;;;
+AD77;HANGUL SYLLABLE GULB;Lo;0;L;;;;;N;;;;;
+AD78;HANGUL SYLLABLE GULS;Lo;0;L;;;;;N;;;;;
+AD79;HANGUL SYLLABLE GULT;Lo;0;L;;;;;N;;;;;
+AD7A;HANGUL SYLLABLE GULP;Lo;0;L;;;;;N;;;;;
+AD7B;HANGUL SYLLABLE GULH;Lo;0;L;;;;;N;;;;;
+AD7C;HANGUL SYLLABLE GUM;Lo;0;L;;;;;N;;;;;
+AD7D;HANGUL SYLLABLE GUB;Lo;0;L;;;;;N;;;;;
+AD7E;HANGUL SYLLABLE GUBS;Lo;0;L;;;;;N;;;;;
+AD7F;HANGUL SYLLABLE GUS;Lo;0;L;;;;;N;;;;;
+AD80;HANGUL SYLLABLE GUSS;Lo;0;L;;;;;N;;;;;
+AD81;HANGUL SYLLABLE GUNG;Lo;0;L;;;;;N;;;;;
+AD82;HANGUL SYLLABLE GUJ;Lo;0;L;;;;;N;;;;;
+AD83;HANGUL SYLLABLE GUC;Lo;0;L;;;;;N;;;;;
+AD84;HANGUL SYLLABLE GUK;Lo;0;L;;;;;N;;;;;
+AD85;HANGUL SYLLABLE GUT;Lo;0;L;;;;;N;;;;;
+AD86;HANGUL SYLLABLE GUP;Lo;0;L;;;;;N;;;;;
+AD87;HANGUL SYLLABLE GUH;Lo;0;L;;;;;N;;;;;
+AD88;HANGUL SYLLABLE GWEO;Lo;0;L;;;;;N;;;;;
+AD89;HANGUL SYLLABLE GWEOG;Lo;0;L;;;;;N;;;;;
+AD8A;HANGUL SYLLABLE GWEOGG;Lo;0;L;;;;;N;;;;;
+AD8B;HANGUL SYLLABLE GWEOGS;Lo;0;L;;;;;N;;;;;
+AD8C;HANGUL SYLLABLE GWEON;Lo;0;L;;;;;N;;;;;
+AD8D;HANGUL SYLLABLE GWEONI;Lo;0;L;;;;;N;;;;;
+AD8E;HANGUL SYLLABLE GWEONH;Lo;0;L;;;;;N;;;;;
+AD8F;HANGUL SYLLABLE GWEOD;Lo;0;L;;;;;N;;;;;
+AD90;HANGUL SYLLABLE GWEOL;Lo;0;L;;;;;N;;;;;
+AD91;HANGUL SYLLABLE GWEOLG;Lo;0;L;;;;;N;;;;;
+AD92;HANGUL SYLLABLE GWEOLM;Lo;0;L;;;;;N;;;;;
+AD93;HANGUL SYLLABLE GWEOLB;Lo;0;L;;;;;N;;;;;
+AD94;HANGUL SYLLABLE GWEOLS;Lo;0;L;;;;;N;;;;;
+AD95;HANGUL SYLLABLE GWEOLT;Lo;0;L;;;;;N;;;;;
+AD96;HANGUL SYLLABLE GWEOLP;Lo;0;L;;;;;N;;;;;
+AD97;HANGUL SYLLABLE GWEOLH;Lo;0;L;;;;;N;;;;;
+AD98;HANGUL SYLLABLE GWEOM;Lo;0;L;;;;;N;;;;;
+AD99;HANGUL SYLLABLE GWEOB;Lo;0;L;;;;;N;;;;;
+AD9A;HANGUL SYLLABLE GWEOBS;Lo;0;L;;;;;N;;;;;
+AD9B;HANGUL SYLLABLE GWEOS;Lo;0;L;;;;;N;;;;;
+AD9C;HANGUL SYLLABLE GWEOSS;Lo;0;L;;;;;N;;;;;
+AD9D;HANGUL SYLLABLE GWEONG;Lo;0;L;;;;;N;;;;;
+AD9E;HANGUL SYLLABLE GWEOJ;Lo;0;L;;;;;N;;;;;
+AD9F;HANGUL SYLLABLE GWEOC;Lo;0;L;;;;;N;;;;;
+ADA0;HANGUL SYLLABLE GWEOK;Lo;0;L;;;;;N;;;;;
+ADA1;HANGUL SYLLABLE GWEOT;Lo;0;L;;;;;N;;;;;
+ADA2;HANGUL SYLLABLE GWEOP;Lo;0;L;;;;;N;;;;;
+ADA3;HANGUL SYLLABLE GWEOH;Lo;0;L;;;;;N;;;;;
+ADA4;HANGUL SYLLABLE GWE;Lo;0;L;;;;;N;;;;;
+ADA5;HANGUL SYLLABLE GWEG;Lo;0;L;;;;;N;;;;;
+ADA6;HANGUL SYLLABLE GWEGG;Lo;0;L;;;;;N;;;;;
+ADA7;HANGUL SYLLABLE GWEGS;Lo;0;L;;;;;N;;;;;
+ADA8;HANGUL SYLLABLE GWEN;Lo;0;L;;;;;N;;;;;
+ADA9;HANGUL SYLLABLE GWENI;Lo;0;L;;;;;N;;;;;
+ADAA;HANGUL SYLLABLE GWENH;Lo;0;L;;;;;N;;;;;
+ADAB;HANGUL SYLLABLE GWED;Lo;0;L;;;;;N;;;;;
+ADAC;HANGUL SYLLABLE GWEL;Lo;0;L;;;;;N;;;;;
+ADAD;HANGUL SYLLABLE GWELG;Lo;0;L;;;;;N;;;;;
+ADAE;HANGUL SYLLABLE GWELM;Lo;0;L;;;;;N;;;;;
+ADAF;HANGUL SYLLABLE GWELB;Lo;0;L;;;;;N;;;;;
+ADB0;HANGUL SYLLABLE GWELS;Lo;0;L;;;;;N;;;;;
+ADB1;HANGUL SYLLABLE GWELT;Lo;0;L;;;;;N;;;;;
+ADB2;HANGUL SYLLABLE GWELP;Lo;0;L;;;;;N;;;;;
+ADB3;HANGUL SYLLABLE GWELH;Lo;0;L;;;;;N;;;;;
+ADB4;HANGUL SYLLABLE GWEM;Lo;0;L;;;;;N;;;;;
+ADB5;HANGUL SYLLABLE GWEB;Lo;0;L;;;;;N;;;;;
+ADB6;HANGUL SYLLABLE GWEBS;Lo;0;L;;;;;N;;;;;
+ADB7;HANGUL SYLLABLE GWES;Lo;0;L;;;;;N;;;;;
+ADB8;HANGUL SYLLABLE GWESS;Lo;0;L;;;;;N;;;;;
+ADB9;HANGUL SYLLABLE GWENG;Lo;0;L;;;;;N;;;;;
+ADBA;HANGUL SYLLABLE GWEJ;Lo;0;L;;;;;N;;;;;
+ADBB;HANGUL SYLLABLE GWEC;Lo;0;L;;;;;N;;;;;
+ADBC;HANGUL SYLLABLE GWEK;Lo;0;L;;;;;N;;;;;
+ADBD;HANGUL SYLLABLE GWET;Lo;0;L;;;;;N;;;;;
+ADBE;HANGUL SYLLABLE GWEP;Lo;0;L;;;;;N;;;;;
+ADBF;HANGUL SYLLABLE GWEH;Lo;0;L;;;;;N;;;;;
+ADC0;HANGUL SYLLABLE GWI;Lo;0;L;;;;;N;;;;;
+ADC1;HANGUL SYLLABLE GWIG;Lo;0;L;;;;;N;;;;;
+ADC2;HANGUL SYLLABLE GWIGG;Lo;0;L;;;;;N;;;;;
+ADC3;HANGUL SYLLABLE GWIGS;Lo;0;L;;;;;N;;;;;
+ADC4;HANGUL SYLLABLE GWIN;Lo;0;L;;;;;N;;;;;
+ADC5;HANGUL SYLLABLE GWINI;Lo;0;L;;;;;N;;;;;
+ADC6;HANGUL SYLLABLE GWINH;Lo;0;L;;;;;N;;;;;
+ADC7;HANGUL SYLLABLE GWID;Lo;0;L;;;;;N;;;;;
+ADC8;HANGUL SYLLABLE GWIL;Lo;0;L;;;;;N;;;;;
+ADC9;HANGUL SYLLABLE GWILG;Lo;0;L;;;;;N;;;;;
+ADCA;HANGUL SYLLABLE GWILM;Lo;0;L;;;;;N;;;;;
+ADCB;HANGUL SYLLABLE GWILB;Lo;0;L;;;;;N;;;;;
+ADCC;HANGUL SYLLABLE GWILS;Lo;0;L;;;;;N;;;;;
+ADCD;HANGUL SYLLABLE GWILT;Lo;0;L;;;;;N;;;;;
+ADCE;HANGUL SYLLABLE GWILP;Lo;0;L;;;;;N;;;;;
+ADCF;HANGUL SYLLABLE GWILH;Lo;0;L;;;;;N;;;;;
+ADD0;HANGUL SYLLABLE GWIM;Lo;0;L;;;;;N;;;;;
+ADD1;HANGUL SYLLABLE GWIB;Lo;0;L;;;;;N;;;;;
+ADD2;HANGUL SYLLABLE GWIBS;Lo;0;L;;;;;N;;;;;
+ADD3;HANGUL SYLLABLE GWIS;Lo;0;L;;;;;N;;;;;
+ADD4;HANGUL SYLLABLE GWISS;Lo;0;L;;;;;N;;;;;
+ADD5;HANGUL SYLLABLE GWING;Lo;0;L;;;;;N;;;;;
+ADD6;HANGUL SYLLABLE GWIJ;Lo;0;L;;;;;N;;;;;
+ADD7;HANGUL SYLLABLE GWIC;Lo;0;L;;;;;N;;;;;
+ADD8;HANGUL SYLLABLE GWIK;Lo;0;L;;;;;N;;;;;
+ADD9;HANGUL SYLLABLE GWIT;Lo;0;L;;;;;N;;;;;
+ADDA;HANGUL SYLLABLE GWIP;Lo;0;L;;;;;N;;;;;
+ADDB;HANGUL SYLLABLE GWIH;Lo;0;L;;;;;N;;;;;
+ADDC;HANGUL SYLLABLE GYU;Lo;0;L;;;;;N;;;;;
+ADDD;HANGUL SYLLABLE GYUG;Lo;0;L;;;;;N;;;;;
+ADDE;HANGUL SYLLABLE GYUGG;Lo;0;L;;;;;N;;;;;
+ADDF;HANGUL SYLLABLE GYUGS;Lo;0;L;;;;;N;;;;;
+ADE0;HANGUL SYLLABLE GYUN;Lo;0;L;;;;;N;;;;;
+ADE1;HANGUL SYLLABLE GYUNI;Lo;0;L;;;;;N;;;;;
+ADE2;HANGUL SYLLABLE GYUNH;Lo;0;L;;;;;N;;;;;
+ADE3;HANGUL SYLLABLE GYUD;Lo;0;L;;;;;N;;;;;
+ADE4;HANGUL SYLLABLE GYUL;Lo;0;L;;;;;N;;;;;
+ADE5;HANGUL SYLLABLE GYULG;Lo;0;L;;;;;N;;;;;
+ADE6;HANGUL SYLLABLE GYULM;Lo;0;L;;;;;N;;;;;
+ADE7;HANGUL SYLLABLE GYULB;Lo;0;L;;;;;N;;;;;
+ADE8;HANGUL SYLLABLE GYULS;Lo;0;L;;;;;N;;;;;
+ADE9;HANGUL SYLLABLE GYULT;Lo;0;L;;;;;N;;;;;
+ADEA;HANGUL SYLLABLE GYULP;Lo;0;L;;;;;N;;;;;
+ADEB;HANGUL SYLLABLE GYULH;Lo;0;L;;;;;N;;;;;
+ADEC;HANGUL SYLLABLE GYUM;Lo;0;L;;;;;N;;;;;
+ADED;HANGUL SYLLABLE GYUB;Lo;0;L;;;;;N;;;;;
+ADEE;HANGUL SYLLABLE GYUBS;Lo;0;L;;;;;N;;;;;
+ADEF;HANGUL SYLLABLE GYUS;Lo;0;L;;;;;N;;;;;
+ADF0;HANGUL SYLLABLE GYUSS;Lo;0;L;;;;;N;;;;;
+ADF1;HANGUL SYLLABLE GYUNG;Lo;0;L;;;;;N;;;;;
+ADF2;HANGUL SYLLABLE GYUJ;Lo;0;L;;;;;N;;;;;
+ADF3;HANGUL SYLLABLE GYUC;Lo;0;L;;;;;N;;;;;
+ADF4;HANGUL SYLLABLE GYUK;Lo;0;L;;;;;N;;;;;
+ADF5;HANGUL SYLLABLE GYUT;Lo;0;L;;;;;N;;;;;
+ADF6;HANGUL SYLLABLE GYUP;Lo;0;L;;;;;N;;;;;
+ADF7;HANGUL SYLLABLE GYUH;Lo;0;L;;;;;N;;;;;
+ADF8;HANGUL SYLLABLE GEU;Lo;0;L;;;;;N;;;;;
+ADF9;HANGUL SYLLABLE GEUG;Lo;0;L;;;;;N;;;;;
+ADFA;HANGUL SYLLABLE GEUGG;Lo;0;L;;;;;N;;;;;
+ADFB;HANGUL SYLLABLE GEUGS;Lo;0;L;;;;;N;;;;;
+ADFC;HANGUL SYLLABLE GEUN;Lo;0;L;;;;;N;;;;;
+ADFD;HANGUL SYLLABLE GEUNI;Lo;0;L;;;;;N;;;;;
+ADFE;HANGUL SYLLABLE GEUNH;Lo;0;L;;;;;N;;;;;
+ADFF;HANGUL SYLLABLE GEUD;Lo;0;L;;;;;N;;;;;
+AE00;HANGUL SYLLABLE GEUL;Lo;0;L;;;;;N;;;;;
+AE01;HANGUL SYLLABLE GEULG;Lo;0;L;;;;;N;;;;;
+AE02;HANGUL SYLLABLE GEULM;Lo;0;L;;;;;N;;;;;
+AE03;HANGUL SYLLABLE GEULB;Lo;0;L;;;;;N;;;;;
+AE04;HANGUL SYLLABLE GEULS;Lo;0;L;;;;;N;;;;;
+AE05;HANGUL SYLLABLE GEULT;Lo;0;L;;;;;N;;;;;
+AE06;HANGUL SYLLABLE GEULP;Lo;0;L;;;;;N;;;;;
+AE07;HANGUL SYLLABLE GEULH;Lo;0;L;;;;;N;;;;;
+AE08;HANGUL SYLLABLE GEUM;Lo;0;L;;;;;N;;;;;
+AE09;HANGUL SYLLABLE GEUB;Lo;0;L;;;;;N;;;;;
+AE0A;HANGUL SYLLABLE GEUBS;Lo;0;L;;;;;N;;;;;
+AE0B;HANGUL SYLLABLE GEUS;Lo;0;L;;;;;N;;;;;
+AE0C;HANGUL SYLLABLE GEUSS;Lo;0;L;;;;;N;;;;;
+AE0D;HANGUL SYLLABLE GEUNG;Lo;0;L;;;;;N;;;;;
+AE0E;HANGUL SYLLABLE GEUJ;Lo;0;L;;;;;N;;;;;
+AE0F;HANGUL SYLLABLE GEUC;Lo;0;L;;;;;N;;;;;
+AE10;HANGUL SYLLABLE GEUK;Lo;0;L;;;;;N;;;;;
+AE11;HANGUL SYLLABLE GEUT;Lo;0;L;;;;;N;;;;;
+AE12;HANGUL SYLLABLE GEUP;Lo;0;L;;;;;N;;;;;
+AE13;HANGUL SYLLABLE GEUH;Lo;0;L;;;;;N;;;;;
+AE14;HANGUL SYLLABLE GYI;Lo;0;L;;;;;N;;;;;
+AE15;HANGUL SYLLABLE GYIG;Lo;0;L;;;;;N;;;;;
+AE16;HANGUL SYLLABLE GYIGG;Lo;0;L;;;;;N;;;;;
+AE17;HANGUL SYLLABLE GYIGS;Lo;0;L;;;;;N;;;;;
+AE18;HANGUL SYLLABLE GYIN;Lo;0;L;;;;;N;;;;;
+AE19;HANGUL SYLLABLE GYINI;Lo;0;L;;;;;N;;;;;
+AE1A;HANGUL SYLLABLE GYINH;Lo;0;L;;;;;N;;;;;
+AE1B;HANGUL SYLLABLE GYID;Lo;0;L;;;;;N;;;;;
+AE1C;HANGUL SYLLABLE GYIL;Lo;0;L;;;;;N;;;;;
+AE1D;HANGUL SYLLABLE GYILG;Lo;0;L;;;;;N;;;;;
+AE1E;HANGUL SYLLABLE GYILM;Lo;0;L;;;;;N;;;;;
+AE1F;HANGUL SYLLABLE GYILB;Lo;0;L;;;;;N;;;;;
+AE20;HANGUL SYLLABLE GYILS;Lo;0;L;;;;;N;;;;;
+AE21;HANGUL SYLLABLE GYILT;Lo;0;L;;;;;N;;;;;
+AE22;HANGUL SYLLABLE GYILP;Lo;0;L;;;;;N;;;;;
+AE23;HANGUL SYLLABLE GYILH;Lo;0;L;;;;;N;;;;;
+AE24;HANGUL SYLLABLE GYIM;Lo;0;L;;;;;N;;;;;
+AE25;HANGUL SYLLABLE GYIB;Lo;0;L;;;;;N;;;;;
+AE26;HANGUL SYLLABLE GYIBS;Lo;0;L;;;;;N;;;;;
+AE27;HANGUL SYLLABLE GYIS;Lo;0;L;;;;;N;;;;;
+AE28;HANGUL SYLLABLE GYISS;Lo;0;L;;;;;N;;;;;
+AE29;HANGUL SYLLABLE GYING;Lo;0;L;;;;;N;;;;;
+AE2A;HANGUL SYLLABLE GYIJ;Lo;0;L;;;;;N;;;;;
+AE2B;HANGUL SYLLABLE GYIC;Lo;0;L;;;;;N;;;;;
+AE2C;HANGUL SYLLABLE GYIK;Lo;0;L;;;;;N;;;;;
+AE2D;HANGUL SYLLABLE GYIT;Lo;0;L;;;;;N;;;;;
+AE2E;HANGUL SYLLABLE GYIP;Lo;0;L;;;;;N;;;;;
+AE2F;HANGUL SYLLABLE GYIH;Lo;0;L;;;;;N;;;;;
+AE30;HANGUL SYLLABLE GI;Lo;0;L;;;;;N;;;;;
+AE31;HANGUL SYLLABLE GIG;Lo;0;L;;;;;N;;;;;
+AE32;HANGUL SYLLABLE GIGG;Lo;0;L;;;;;N;;;;;
+AE33;HANGUL SYLLABLE GIGS;Lo;0;L;;;;;N;;;;;
+AE34;HANGUL SYLLABLE GIN;Lo;0;L;;;;;N;;;;;
+AE35;HANGUL SYLLABLE GINI;Lo;0;L;;;;;N;;;;;
+AE36;HANGUL SYLLABLE GINH;Lo;0;L;;;;;N;;;;;
+AE37;HANGUL SYLLABLE GID;Lo;0;L;;;;;N;;;;;
+AE38;HANGUL SYLLABLE GIL;Lo;0;L;;;;;N;;;;;
+AE39;HANGUL SYLLABLE GILG;Lo;0;L;;;;;N;;;;;
+AE3A;HANGUL SYLLABLE GILM;Lo;0;L;;;;;N;;;;;
+AE3B;HANGUL SYLLABLE GILB;Lo;0;L;;;;;N;;;;;
+AE3C;HANGUL SYLLABLE GILS;Lo;0;L;;;;;N;;;;;
+AE3D;HANGUL SYLLABLE GILT;Lo;0;L;;;;;N;;;;;
+AE3E;HANGUL SYLLABLE GILP;Lo;0;L;;;;;N;;;;;
+AE3F;HANGUL SYLLABLE GILH;Lo;0;L;;;;;N;;;;;
+AE40;HANGUL SYLLABLE GIM;Lo;0;L;;;;;N;;;;;
+AE41;HANGUL SYLLABLE GIB;Lo;0;L;;;;;N;;;;;
+AE42;HANGUL SYLLABLE GIBS;Lo;0;L;;;;;N;;;;;
+AE43;HANGUL SYLLABLE GIS;Lo;0;L;;;;;N;;;;;
+AE44;HANGUL SYLLABLE GISS;Lo;0;L;;;;;N;;;;;
+AE45;HANGUL SYLLABLE GING;Lo;0;L;;;;;N;;;;;
+AE46;HANGUL SYLLABLE GIJ;Lo;0;L;;;;;N;;;;;
+AE47;HANGUL SYLLABLE GIC;Lo;0;L;;;;;N;;;;;
+AE48;HANGUL SYLLABLE GIK;Lo;0;L;;;;;N;;;;;
+AE49;HANGUL SYLLABLE GIT;Lo;0;L;;;;;N;;;;;
+AE4A;HANGUL SYLLABLE GIP;Lo;0;L;;;;;N;;;;;
+AE4B;HANGUL SYLLABLE GIH;Lo;0;L;;;;;N;;;;;
+AE4C;HANGUL SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
+AE4D;HANGUL SYLLABLE GGAG;Lo;0;L;;;;;N;;;;;
+AE4E;HANGUL SYLLABLE GGAGG;Lo;0;L;;;;;N;;;;;
+AE4F;HANGUL SYLLABLE GGAGS;Lo;0;L;;;;;N;;;;;
+AE50;HANGUL SYLLABLE GGAN;Lo;0;L;;;;;N;;;;;
+AE51;HANGUL SYLLABLE GGANI;Lo;0;L;;;;;N;;;;;
+AE52;HANGUL SYLLABLE GGANH;Lo;0;L;;;;;N;;;;;
+AE53;HANGUL SYLLABLE GGAD;Lo;0;L;;;;;N;;;;;
+AE54;HANGUL SYLLABLE GGAL;Lo;0;L;;;;;N;;;;;
+AE55;HANGUL SYLLABLE GGALG;Lo;0;L;;;;;N;;;;;
+AE56;HANGUL SYLLABLE GGALM;Lo;0;L;;;;;N;;;;;
+AE57;HANGUL SYLLABLE GGALB;Lo;0;L;;;;;N;;;;;
+AE58;HANGUL SYLLABLE GGALS;Lo;0;L;;;;;N;;;;;
+AE59;HANGUL SYLLABLE GGALT;Lo;0;L;;;;;N;;;;;
+AE5A;HANGUL SYLLABLE GGALP;Lo;0;L;;;;;N;;;;;
+AE5B;HANGUL SYLLABLE GGALH;Lo;0;L;;;;;N;;;;;
+AE5C;HANGUL SYLLABLE GGAM;Lo;0;L;;;;;N;;;;;
+AE5D;HANGUL SYLLABLE GGAB;Lo;0;L;;;;;N;;;;;
+AE5E;HANGUL SYLLABLE GGABS;Lo;0;L;;;;;N;;;;;
+AE5F;HANGUL SYLLABLE GGAS;Lo;0;L;;;;;N;;;;;
+AE60;HANGUL SYLLABLE GGASS;Lo;0;L;;;;;N;;;;;
+AE61;HANGUL SYLLABLE GGANG;Lo;0;L;;;;;N;;;;;
+AE62;HANGUL SYLLABLE GGAJ;Lo;0;L;;;;;N;;;;;
+AE63;HANGUL SYLLABLE GGAC;Lo;0;L;;;;;N;;;;;
+AE64;HANGUL SYLLABLE GGAK;Lo;0;L;;;;;N;;;;;
+AE65;HANGUL SYLLABLE GGAT;Lo;0;L;;;;;N;;;;;
+AE66;HANGUL SYLLABLE GGAP;Lo;0;L;;;;;N;;;;;
+AE67;HANGUL SYLLABLE GGAH;Lo;0;L;;;;;N;;;;;
+AE68;HANGUL SYLLABLE GGAE;Lo;0;L;;;;;N;;;;;
+AE69;HANGUL SYLLABLE GGAEG;Lo;0;L;;;;;N;;;;;
+AE6A;HANGUL SYLLABLE GGAEGG;Lo;0;L;;;;;N;;;;;
+AE6B;HANGUL SYLLABLE GGAEGS;Lo;0;L;;;;;N;;;;;
+AE6C;HANGUL SYLLABLE GGAEN;Lo;0;L;;;;;N;;;;;
+AE6D;HANGUL SYLLABLE GGAENI;Lo;0;L;;;;;N;;;;;
+AE6E;HANGUL SYLLABLE GGAENH;Lo;0;L;;;;;N;;;;;
+AE6F;HANGUL SYLLABLE GGAED;Lo;0;L;;;;;N;;;;;
+AE70;HANGUL SYLLABLE GGAEL;Lo;0;L;;;;;N;;;;;
+AE71;HANGUL SYLLABLE GGAELG;Lo;0;L;;;;;N;;;;;
+AE72;HANGUL SYLLABLE GGAELM;Lo;0;L;;;;;N;;;;;
+AE73;HANGUL SYLLABLE GGAELB;Lo;0;L;;;;;N;;;;;
+AE74;HANGUL SYLLABLE GGAELS;Lo;0;L;;;;;N;;;;;
+AE75;HANGUL SYLLABLE GGAELT;Lo;0;L;;;;;N;;;;;
+AE76;HANGUL SYLLABLE GGAELP;Lo;0;L;;;;;N;;;;;
+AE77;HANGUL SYLLABLE GGAELH;Lo;0;L;;;;;N;;;;;
+AE78;HANGUL SYLLABLE GGAEM;Lo;0;L;;;;;N;;;;;
+AE79;HANGUL SYLLABLE GGAEB;Lo;0;L;;;;;N;;;;;
+AE7A;HANGUL SYLLABLE GGAEBS;Lo;0;L;;;;;N;;;;;
+AE7B;HANGUL SYLLABLE GGAES;Lo;0;L;;;;;N;;;;;
+AE7C;HANGUL SYLLABLE GGAESS;Lo;0;L;;;;;N;;;;;
+AE7D;HANGUL SYLLABLE GGAENG;Lo;0;L;;;;;N;;;;;
+AE7E;HANGUL SYLLABLE GGAEJ;Lo;0;L;;;;;N;;;;;
+AE7F;HANGUL SYLLABLE GGAEC;Lo;0;L;;;;;N;;;;;
+AE80;HANGUL SYLLABLE GGAEK;Lo;0;L;;;;;N;;;;;
+AE81;HANGUL SYLLABLE GGAET;Lo;0;L;;;;;N;;;;;
+AE82;HANGUL SYLLABLE GGAEP;Lo;0;L;;;;;N;;;;;
+AE83;HANGUL SYLLABLE GGAEH;Lo;0;L;;;;;N;;;;;
+AE84;HANGUL SYLLABLE GGYA;Lo;0;L;;;;;N;;;;;
+AE85;HANGUL SYLLABLE GGYAG;Lo;0;L;;;;;N;;;;;
+AE86;HANGUL SYLLABLE GGYAGG;Lo;0;L;;;;;N;;;;;
+AE87;HANGUL SYLLABLE GGYAGS;Lo;0;L;;;;;N;;;;;
+AE88;HANGUL SYLLABLE GGYAN;Lo;0;L;;;;;N;;;;;
+AE89;HANGUL SYLLABLE GGYANI;Lo;0;L;;;;;N;;;;;
+AE8A;HANGUL SYLLABLE GGYANH;Lo;0;L;;;;;N;;;;;
+AE8B;HANGUL SYLLABLE GGYAD;Lo;0;L;;;;;N;;;;;
+AE8C;HANGUL SYLLABLE GGYAL;Lo;0;L;;;;;N;;;;;
+AE8D;HANGUL SYLLABLE GGYALG;Lo;0;L;;;;;N;;;;;
+AE8E;HANGUL SYLLABLE GGYALM;Lo;0;L;;;;;N;;;;;
+AE8F;HANGUL SYLLABLE GGYALB;Lo;0;L;;;;;N;;;;;
+AE90;HANGUL SYLLABLE GGYALS;Lo;0;L;;;;;N;;;;;
+AE91;HANGUL SYLLABLE GGYALT;Lo;0;L;;;;;N;;;;;
+AE92;HANGUL SYLLABLE GGYALP;Lo;0;L;;;;;N;;;;;
+AE93;HANGUL SYLLABLE GGYALH;Lo;0;L;;;;;N;;;;;
+AE94;HANGUL SYLLABLE GGYAM;Lo;0;L;;;;;N;;;;;
+AE95;HANGUL SYLLABLE GGYAB;Lo;0;L;;;;;N;;;;;
+AE96;HANGUL SYLLABLE GGYABS;Lo;0;L;;;;;N;;;;;
+AE97;HANGUL SYLLABLE GGYAS;Lo;0;L;;;;;N;;;;;
+AE98;HANGUL SYLLABLE GGYASS;Lo;0;L;;;;;N;;;;;
+AE99;HANGUL SYLLABLE GGYANG;Lo;0;L;;;;;N;;;;;
+AE9A;HANGUL SYLLABLE GGYAJ;Lo;0;L;;;;;N;;;;;
+AE9B;HANGUL SYLLABLE GGYAC;Lo;0;L;;;;;N;;;;;
+AE9C;HANGUL SYLLABLE GGYAK;Lo;0;L;;;;;N;;;;;
+AE9D;HANGUL SYLLABLE GGYAT;Lo;0;L;;;;;N;;;;;
+AE9E;HANGUL SYLLABLE GGYAP;Lo;0;L;;;;;N;;;;;
+AE9F;HANGUL SYLLABLE GGYAH;Lo;0;L;;;;;N;;;;;
+AEA0;HANGUL SYLLABLE GGYAE;Lo;0;L;;;;;N;;;;;
+AEA1;HANGUL SYLLABLE GGYAEG;Lo;0;L;;;;;N;;;;;
+AEA2;HANGUL SYLLABLE GGYAEGG;Lo;0;L;;;;;N;;;;;
+AEA3;HANGUL SYLLABLE GGYAEGS;Lo;0;L;;;;;N;;;;;
+AEA4;HANGUL SYLLABLE GGYAEN;Lo;0;L;;;;;N;;;;;
+AEA5;HANGUL SYLLABLE GGYAENI;Lo;0;L;;;;;N;;;;;
+AEA6;HANGUL SYLLABLE GGYAENH;Lo;0;L;;;;;N;;;;;
+AEA7;HANGUL SYLLABLE GGYAED;Lo;0;L;;;;;N;;;;;
+AEA8;HANGUL SYLLABLE GGYAEL;Lo;0;L;;;;;N;;;;;
+AEA9;HANGUL SYLLABLE GGYAELG;Lo;0;L;;;;;N;;;;;
+AEAA;HANGUL SYLLABLE GGYAELM;Lo;0;L;;;;;N;;;;;
+AEAB;HANGUL SYLLABLE GGYAELB;Lo;0;L;;;;;N;;;;;
+AEAC;HANGUL SYLLABLE GGYAELS;Lo;0;L;;;;;N;;;;;
+AEAD;HANGUL SYLLABLE GGYAELT;Lo;0;L;;;;;N;;;;;
+AEAE;HANGUL SYLLABLE GGYAELP;Lo;0;L;;;;;N;;;;;
+AEAF;HANGUL SYLLABLE GGYAELH;Lo;0;L;;;;;N;;;;;
+AEB0;HANGUL SYLLABLE GGYAEM;Lo;0;L;;;;;N;;;;;
+AEB1;HANGUL SYLLABLE GGYAEB;Lo;0;L;;;;;N;;;;;
+AEB2;HANGUL SYLLABLE GGYAEBS;Lo;0;L;;;;;N;;;;;
+AEB3;HANGUL SYLLABLE GGYAES;Lo;0;L;;;;;N;;;;;
+AEB4;HANGUL SYLLABLE GGYAESS;Lo;0;L;;;;;N;;;;;
+AEB5;HANGUL SYLLABLE GGYAENG;Lo;0;L;;;;;N;;;;;
+AEB6;HANGUL SYLLABLE GGYAEJ;Lo;0;L;;;;;N;;;;;
+AEB7;HANGUL SYLLABLE GGYAEC;Lo;0;L;;;;;N;;;;;
+AEB8;HANGUL SYLLABLE GGYAEK;Lo;0;L;;;;;N;;;;;
+AEB9;HANGUL SYLLABLE GGYAET;Lo;0;L;;;;;N;;;;;
+AEBA;HANGUL SYLLABLE GGYAEP;Lo;0;L;;;;;N;;;;;
+AEBB;HANGUL SYLLABLE GGYAEH;Lo;0;L;;;;;N;;;;;
+AEBC;HANGUL SYLLABLE GGEO;Lo;0;L;;;;;N;;;;;
+AEBD;HANGUL SYLLABLE GGEOG;Lo;0;L;;;;;N;;;;;
+AEBE;HANGUL SYLLABLE GGEOGG;Lo;0;L;;;;;N;;;;;
+AEBF;HANGUL SYLLABLE GGEOGS;Lo;0;L;;;;;N;;;;;
+AEC0;HANGUL SYLLABLE GGEON;Lo;0;L;;;;;N;;;;;
+AEC1;HANGUL SYLLABLE GGEONI;Lo;0;L;;;;;N;;;;;
+AEC2;HANGUL SYLLABLE GGEONH;Lo;0;L;;;;;N;;;;;
+AEC3;HANGUL SYLLABLE GGEOD;Lo;0;L;;;;;N;;;;;
+AEC4;HANGUL SYLLABLE GGEOL;Lo;0;L;;;;;N;;;;;
+AEC5;HANGUL SYLLABLE GGEOLG;Lo;0;L;;;;;N;;;;;
+AEC6;HANGUL SYLLABLE GGEOLM;Lo;0;L;;;;;N;;;;;
+AEC7;HANGUL SYLLABLE GGEOLB;Lo;0;L;;;;;N;;;;;
+AEC8;HANGUL SYLLABLE GGEOLS;Lo;0;L;;;;;N;;;;;
+AEC9;HANGUL SYLLABLE GGEOLT;Lo;0;L;;;;;N;;;;;
+AECA;HANGUL SYLLABLE GGEOLP;Lo;0;L;;;;;N;;;;;
+AECB;HANGUL SYLLABLE GGEOLH;Lo;0;L;;;;;N;;;;;
+AECC;HANGUL SYLLABLE GGEOM;Lo;0;L;;;;;N;;;;;
+AECD;HANGUL SYLLABLE GGEOB;Lo;0;L;;;;;N;;;;;
+AECE;HANGUL SYLLABLE GGEOBS;Lo;0;L;;;;;N;;;;;
+AECF;HANGUL SYLLABLE GGEOS;Lo;0;L;;;;;N;;;;;
+AED0;HANGUL SYLLABLE GGEOSS;Lo;0;L;;;;;N;;;;;
+AED1;HANGUL SYLLABLE GGEONG;Lo;0;L;;;;;N;;;;;
+AED2;HANGUL SYLLABLE GGEOJ;Lo;0;L;;;;;N;;;;;
+AED3;HANGUL SYLLABLE GGEOC;Lo;0;L;;;;;N;;;;;
+AED4;HANGUL SYLLABLE GGEOK;Lo;0;L;;;;;N;;;;;
+AED5;HANGUL SYLLABLE GGEOT;Lo;0;L;;;;;N;;;;;
+AED6;HANGUL SYLLABLE GGEOP;Lo;0;L;;;;;N;;;;;
+AED7;HANGUL SYLLABLE GGEOH;Lo;0;L;;;;;N;;;;;
+AED8;HANGUL SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
+AED9;HANGUL SYLLABLE GGEG;Lo;0;L;;;;;N;;;;;
+AEDA;HANGUL SYLLABLE GGEGG;Lo;0;L;;;;;N;;;;;
+AEDB;HANGUL SYLLABLE GGEGS;Lo;0;L;;;;;N;;;;;
+AEDC;HANGUL SYLLABLE GGEN;Lo;0;L;;;;;N;;;;;
+AEDD;HANGUL SYLLABLE GGENI;Lo;0;L;;;;;N;;;;;
+AEDE;HANGUL SYLLABLE GGENH;Lo;0;L;;;;;N;;;;;
+AEDF;HANGUL SYLLABLE GGED;Lo;0;L;;;;;N;;;;;
+AEE0;HANGUL SYLLABLE GGEL;Lo;0;L;;;;;N;;;;;
+AEE1;HANGUL SYLLABLE GGELG;Lo;0;L;;;;;N;;;;;
+AEE2;HANGUL SYLLABLE GGELM;Lo;0;L;;;;;N;;;;;
+AEE3;HANGUL SYLLABLE GGELB;Lo;0;L;;;;;N;;;;;
+AEE4;HANGUL SYLLABLE GGELS;Lo;0;L;;;;;N;;;;;
+AEE5;HANGUL SYLLABLE GGELT;Lo;0;L;;;;;N;;;;;
+AEE6;HANGUL SYLLABLE GGELP;Lo;0;L;;;;;N;;;;;
+AEE7;HANGUL SYLLABLE GGELH;Lo;0;L;;;;;N;;;;;
+AEE8;HANGUL SYLLABLE GGEM;Lo;0;L;;;;;N;;;;;
+AEE9;HANGUL SYLLABLE GGEB;Lo;0;L;;;;;N;;;;;
+AEEA;HANGUL SYLLABLE GGEBS;Lo;0;L;;;;;N;;;;;
+AEEB;HANGUL SYLLABLE GGES;Lo;0;L;;;;;N;;;;;
+AEEC;HANGUL SYLLABLE GGESS;Lo;0;L;;;;;N;;;;;
+AEED;HANGUL SYLLABLE GGENG;Lo;0;L;;;;;N;;;;;
+AEEE;HANGUL SYLLABLE GGEJ;Lo;0;L;;;;;N;;;;;
+AEEF;HANGUL SYLLABLE GGEC;Lo;0;L;;;;;N;;;;;
+AEF0;HANGUL SYLLABLE GGEK;Lo;0;L;;;;;N;;;;;
+AEF1;HANGUL SYLLABLE GGET;Lo;0;L;;;;;N;;;;;
+AEF2;HANGUL SYLLABLE GGEP;Lo;0;L;;;;;N;;;;;
+AEF3;HANGUL SYLLABLE GGEH;Lo;0;L;;;;;N;;;;;
+AEF4;HANGUL SYLLABLE GGYEO;Lo;0;L;;;;;N;;;;;
+AEF5;HANGUL SYLLABLE GGYEOG;Lo;0;L;;;;;N;;;;;
+AEF6;HANGUL SYLLABLE GGYEOGG;Lo;0;L;;;;;N;;;;;
+AEF7;HANGUL SYLLABLE GGYEOGS;Lo;0;L;;;;;N;;;;;
+AEF8;HANGUL SYLLABLE GGYEON;Lo;0;L;;;;;N;;;;;
+AEF9;HANGUL SYLLABLE GGYEONI;Lo;0;L;;;;;N;;;;;
+AEFA;HANGUL SYLLABLE GGYEONH;Lo;0;L;;;;;N;;;;;
+AEFB;HANGUL SYLLABLE GGYEOD;Lo;0;L;;;;;N;;;;;
+AEFC;HANGUL SYLLABLE GGYEOL;Lo;0;L;;;;;N;;;;;
+AEFD;HANGUL SYLLABLE GGYEOLG;Lo;0;L;;;;;N;;;;;
+AEFE;HANGUL SYLLABLE GGYEOLM;Lo;0;L;;;;;N;;;;;
+AEFF;HANGUL SYLLABLE GGYEOLB;Lo;0;L;;;;;N;;;;;
+AF00;HANGUL SYLLABLE GGYEOLS;Lo;0;L;;;;;N;;;;;
+AF01;HANGUL SYLLABLE GGYEOLT;Lo;0;L;;;;;N;;;;;
+AF02;HANGUL SYLLABLE GGYEOLP;Lo;0;L;;;;;N;;;;;
+AF03;HANGUL SYLLABLE GGYEOLH;Lo;0;L;;;;;N;;;;;
+AF04;HANGUL SYLLABLE GGYEOM;Lo;0;L;;;;;N;;;;;
+AF05;HANGUL SYLLABLE GGYEOB;Lo;0;L;;;;;N;;;;;
+AF06;HANGUL SYLLABLE GGYEOBS;Lo;0;L;;;;;N;;;;;
+AF07;HANGUL SYLLABLE GGYEOS;Lo;0;L;;;;;N;;;;;
+AF08;HANGUL SYLLABLE GGYEOSS;Lo;0;L;;;;;N;;;;;
+AF09;HANGUL SYLLABLE GGYEONG;Lo;0;L;;;;;N;;;;;
+AF0A;HANGUL SYLLABLE GGYEOJ;Lo;0;L;;;;;N;;;;;
+AF0B;HANGUL SYLLABLE GGYEOC;Lo;0;L;;;;;N;;;;;
+AF0C;HANGUL SYLLABLE GGYEOK;Lo;0;L;;;;;N;;;;;
+AF0D;HANGUL SYLLABLE GGYEOT;Lo;0;L;;;;;N;;;;;
+AF0E;HANGUL SYLLABLE GGYEOP;Lo;0;L;;;;;N;;;;;
+AF0F;HANGUL SYLLABLE GGYEOH;Lo;0;L;;;;;N;;;;;
+AF10;HANGUL SYLLABLE GGYE;Lo;0;L;;;;;N;;;;;
+AF11;HANGUL SYLLABLE GGYEG;Lo;0;L;;;;;N;;;;;
+AF12;HANGUL SYLLABLE GGYEGG;Lo;0;L;;;;;N;;;;;
+AF13;HANGUL SYLLABLE GGYEGS;Lo;0;L;;;;;N;;;;;
+AF14;HANGUL SYLLABLE GGYEN;Lo;0;L;;;;;N;;;;;
+AF15;HANGUL SYLLABLE GGYENI;Lo;0;L;;;;;N;;;;;
+AF16;HANGUL SYLLABLE GGYENH;Lo;0;L;;;;;N;;;;;
+AF17;HANGUL SYLLABLE GGYED;Lo;0;L;;;;;N;;;;;
+AF18;HANGUL SYLLABLE GGYEL;Lo;0;L;;;;;N;;;;;
+AF19;HANGUL SYLLABLE GGYELG;Lo;0;L;;;;;N;;;;;
+AF1A;HANGUL SYLLABLE GGYELM;Lo;0;L;;;;;N;;;;;
+AF1B;HANGUL SYLLABLE GGYELB;Lo;0;L;;;;;N;;;;;
+AF1C;HANGUL SYLLABLE GGYELS;Lo;0;L;;;;;N;;;;;
+AF1D;HANGUL SYLLABLE GGYELT;Lo;0;L;;;;;N;;;;;
+AF1E;HANGUL SYLLABLE GGYELP;Lo;0;L;;;;;N;;;;;
+AF1F;HANGUL SYLLABLE GGYELH;Lo;0;L;;;;;N;;;;;
+AF20;HANGUL SYLLABLE GGYEM;Lo;0;L;;;;;N;;;;;
+AF21;HANGUL SYLLABLE GGYEB;Lo;0;L;;;;;N;;;;;
+AF22;HANGUL SYLLABLE GGYEBS;Lo;0;L;;;;;N;;;;;
+AF23;HANGUL SYLLABLE GGYES;Lo;0;L;;;;;N;;;;;
+AF24;HANGUL SYLLABLE GGYESS;Lo;0;L;;;;;N;;;;;
+AF25;HANGUL SYLLABLE GGYENG;Lo;0;L;;;;;N;;;;;
+AF26;HANGUL SYLLABLE GGYEJ;Lo;0;L;;;;;N;;;;;
+AF27;HANGUL SYLLABLE GGYEC;Lo;0;L;;;;;N;;;;;
+AF28;HANGUL SYLLABLE GGYEK;Lo;0;L;;;;;N;;;;;
+AF29;HANGUL SYLLABLE GGYET;Lo;0;L;;;;;N;;;;;
+AF2A;HANGUL SYLLABLE GGYEP;Lo;0;L;;;;;N;;;;;
+AF2B;HANGUL SYLLABLE GGYEH;Lo;0;L;;;;;N;;;;;
+AF2C;HANGUL SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
+AF2D;HANGUL SYLLABLE GGOG;Lo;0;L;;;;;N;;;;;
+AF2E;HANGUL SYLLABLE GGOGG;Lo;0;L;;;;;N;;;;;
+AF2F;HANGUL SYLLABLE GGOGS;Lo;0;L;;;;;N;;;;;
+AF30;HANGUL SYLLABLE GGON;Lo;0;L;;;;;N;;;;;
+AF31;HANGUL SYLLABLE GGONI;Lo;0;L;;;;;N;;;;;
+AF32;HANGUL SYLLABLE GGONH;Lo;0;L;;;;;N;;;;;
+AF33;HANGUL SYLLABLE GGOD;Lo;0;L;;;;;N;;;;;
+AF34;HANGUL SYLLABLE GGOL;Lo;0;L;;;;;N;;;;;
+AF35;HANGUL SYLLABLE GGOLG;Lo;0;L;;;;;N;;;;;
+AF36;HANGUL SYLLABLE GGOLM;Lo;0;L;;;;;N;;;;;
+AF37;HANGUL SYLLABLE GGOLB;Lo;0;L;;;;;N;;;;;
+AF38;HANGUL SYLLABLE GGOLS;Lo;0;L;;;;;N;;;;;
+AF39;HANGUL SYLLABLE GGOLT;Lo;0;L;;;;;N;;;;;
+AF3A;HANGUL SYLLABLE GGOLP;Lo;0;L;;;;;N;;;;;
+AF3B;HANGUL SYLLABLE GGOLH;Lo;0;L;;;;;N;;;;;
+AF3C;HANGUL SYLLABLE GGOM;Lo;0;L;;;;;N;;;;;
+AF3D;HANGUL SYLLABLE GGOB;Lo;0;L;;;;;N;;;;;
+AF3E;HANGUL SYLLABLE GGOBS;Lo;0;L;;;;;N;;;;;
+AF3F;HANGUL SYLLABLE GGOS;Lo;0;L;;;;;N;;;;;
+AF40;HANGUL SYLLABLE GGOSS;Lo;0;L;;;;;N;;;;;
+AF41;HANGUL SYLLABLE GGONG;Lo;0;L;;;;;N;;;;;
+AF42;HANGUL SYLLABLE GGOJ;Lo;0;L;;;;;N;;;;;
+AF43;HANGUL SYLLABLE GGOC;Lo;0;L;;;;;N;;;;;
+AF44;HANGUL SYLLABLE GGOK;Lo;0;L;;;;;N;;;;;
+AF45;HANGUL SYLLABLE GGOT;Lo;0;L;;;;;N;;;;;
+AF46;HANGUL SYLLABLE GGOP;Lo;0;L;;;;;N;;;;;
+AF47;HANGUL SYLLABLE GGOH;Lo;0;L;;;;;N;;;;;
+AF48;HANGUL SYLLABLE GGWA;Lo;0;L;;;;;N;;;;;
+AF49;HANGUL SYLLABLE GGWAG;Lo;0;L;;;;;N;;;;;
+AF4A;HANGUL SYLLABLE GGWAGG;Lo;0;L;;;;;N;;;;;
+AF4B;HANGUL SYLLABLE GGWAGS;Lo;0;L;;;;;N;;;;;
+AF4C;HANGUL SYLLABLE GGWAN;Lo;0;L;;;;;N;;;;;
+AF4D;HANGUL SYLLABLE GGWANI;Lo;0;L;;;;;N;;;;;
+AF4E;HANGUL SYLLABLE GGWANH;Lo;0;L;;;;;N;;;;;
+AF4F;HANGUL SYLLABLE GGWAD;Lo;0;L;;;;;N;;;;;
+AF50;HANGUL SYLLABLE GGWAL;Lo;0;L;;;;;N;;;;;
+AF51;HANGUL SYLLABLE GGWALG;Lo;0;L;;;;;N;;;;;
+AF52;HANGUL SYLLABLE GGWALM;Lo;0;L;;;;;N;;;;;
+AF53;HANGUL SYLLABLE GGWALB;Lo;0;L;;;;;N;;;;;
+AF54;HANGUL SYLLABLE GGWALS;Lo;0;L;;;;;N;;;;;
+AF55;HANGUL SYLLABLE GGWALT;Lo;0;L;;;;;N;;;;;
+AF56;HANGUL SYLLABLE GGWALP;Lo;0;L;;;;;N;;;;;
+AF57;HANGUL SYLLABLE GGWALH;Lo;0;L;;;;;N;;;;;
+AF58;HANGUL SYLLABLE GGWAM;Lo;0;L;;;;;N;;;;;
+AF59;HANGUL SYLLABLE GGWAB;Lo;0;L;;;;;N;;;;;
+AF5A;HANGUL SYLLABLE GGWABS;Lo;0;L;;;;;N;;;;;
+AF5B;HANGUL SYLLABLE GGWAS;Lo;0;L;;;;;N;;;;;
+AF5C;HANGUL SYLLABLE GGWASS;Lo;0;L;;;;;N;;;;;
+AF5D;HANGUL SYLLABLE GGWANG;Lo;0;L;;;;;N;;;;;
+AF5E;HANGUL SYLLABLE GGWAJ;Lo;0;L;;;;;N;;;;;
+AF5F;HANGUL SYLLABLE GGWAC;Lo;0;L;;;;;N;;;;;
+AF60;HANGUL SYLLABLE GGWAK;Lo;0;L;;;;;N;;;;;
+AF61;HANGUL SYLLABLE GGWAT;Lo;0;L;;;;;N;;;;;
+AF62;HANGUL SYLLABLE GGWAP;Lo;0;L;;;;;N;;;;;
+AF63;HANGUL SYLLABLE GGWAH;Lo;0;L;;;;;N;;;;;
+AF64;HANGUL SYLLABLE GGWAE;Lo;0;L;;;;;N;;;;;
+AF65;HANGUL SYLLABLE GGWAEG;Lo;0;L;;;;;N;;;;;
+AF66;HANGUL SYLLABLE GGWAEGG;Lo;0;L;;;;;N;;;;;
+AF67;HANGUL SYLLABLE GGWAEGS;Lo;0;L;;;;;N;;;;;
+AF68;HANGUL SYLLABLE GGWAEN;Lo;0;L;;;;;N;;;;;
+AF69;HANGUL SYLLABLE GGWAENI;Lo;0;L;;;;;N;;;;;
+AF6A;HANGUL SYLLABLE GGWAENH;Lo;0;L;;;;;N;;;;;
+AF6B;HANGUL SYLLABLE GGWAED;Lo;0;L;;;;;N;;;;;
+AF6C;HANGUL SYLLABLE GGWAEL;Lo;0;L;;;;;N;;;;;
+AF6D;HANGUL SYLLABLE GGWAELG;Lo;0;L;;;;;N;;;;;
+AF6E;HANGUL SYLLABLE GGWAELM;Lo;0;L;;;;;N;;;;;
+AF6F;HANGUL SYLLABLE GGWAELB;Lo;0;L;;;;;N;;;;;
+AF70;HANGUL SYLLABLE GGWAELS;Lo;0;L;;;;;N;;;;;
+AF71;HANGUL SYLLABLE GGWAELT;Lo;0;L;;;;;N;;;;;
+AF72;HANGUL SYLLABLE GGWAELP;Lo;0;L;;;;;N;;;;;
+AF73;HANGUL SYLLABLE GGWAELH;Lo;0;L;;;;;N;;;;;
+AF74;HANGUL SYLLABLE GGWAEM;Lo;0;L;;;;;N;;;;;
+AF75;HANGUL SYLLABLE GGWAEB;Lo;0;L;;;;;N;;;;;
+AF76;HANGUL SYLLABLE GGWAEBS;Lo;0;L;;;;;N;;;;;
+AF77;HANGUL SYLLABLE GGWAES;Lo;0;L;;;;;N;;;;;
+AF78;HANGUL SYLLABLE GGWAESS;Lo;0;L;;;;;N;;;;;
+AF79;HANGUL SYLLABLE GGWAENG;Lo;0;L;;;;;N;;;;;
+AF7A;HANGUL SYLLABLE GGWAEJ;Lo;0;L;;;;;N;;;;;
+AF7B;HANGUL SYLLABLE GGWAEC;Lo;0;L;;;;;N;;;;;
+AF7C;HANGUL SYLLABLE GGWAEK;Lo;0;L;;;;;N;;;;;
+AF7D;HANGUL SYLLABLE GGWAET;Lo;0;L;;;;;N;;;;;
+AF7E;HANGUL SYLLABLE GGWAEP;Lo;0;L;;;;;N;;;;;
+AF7F;HANGUL SYLLABLE GGWAEH;Lo;0;L;;;;;N;;;;;
+AF80;HANGUL SYLLABLE GGOE;Lo;0;L;;;;;N;;;;;
+AF81;HANGUL SYLLABLE GGOEG;Lo;0;L;;;;;N;;;;;
+AF82;HANGUL SYLLABLE GGOEGG;Lo;0;L;;;;;N;;;;;
+AF83;HANGUL SYLLABLE GGOEGS;Lo;0;L;;;;;N;;;;;
+AF84;HANGUL SYLLABLE GGOEN;Lo;0;L;;;;;N;;;;;
+AF85;HANGUL SYLLABLE GGOENI;Lo;0;L;;;;;N;;;;;
+AF86;HANGUL SYLLABLE GGOENH;Lo;0;L;;;;;N;;;;;
+AF87;HANGUL SYLLABLE GGOED;Lo;0;L;;;;;N;;;;;
+AF88;HANGUL SYLLABLE GGOEL;Lo;0;L;;;;;N;;;;;
+AF89;HANGUL SYLLABLE GGOELG;Lo;0;L;;;;;N;;;;;
+AF8A;HANGUL SYLLABLE GGOELM;Lo;0;L;;;;;N;;;;;
+AF8B;HANGUL SYLLABLE GGOELB;Lo;0;L;;;;;N;;;;;
+AF8C;HANGUL SYLLABLE GGOELS;Lo;0;L;;;;;N;;;;;
+AF8D;HANGUL SYLLABLE GGOELT;Lo;0;L;;;;;N;;;;;
+AF8E;HANGUL SYLLABLE GGOELP;Lo;0;L;;;;;N;;;;;
+AF8F;HANGUL SYLLABLE GGOELH;Lo;0;L;;;;;N;;;;;
+AF90;HANGUL SYLLABLE GGOEM;Lo;0;L;;;;;N;;;;;
+AF91;HANGUL SYLLABLE GGOEB;Lo;0;L;;;;;N;;;;;
+AF92;HANGUL SYLLABLE GGOEBS;Lo;0;L;;;;;N;;;;;
+AF93;HANGUL SYLLABLE GGOES;Lo;0;L;;;;;N;;;;;
+AF94;HANGUL SYLLABLE GGOESS;Lo;0;L;;;;;N;;;;;
+AF95;HANGUL SYLLABLE GGOENG;Lo;0;L;;;;;N;;;;;
+AF96;HANGUL SYLLABLE GGOEJ;Lo;0;L;;;;;N;;;;;
+AF97;HANGUL SYLLABLE GGOEC;Lo;0;L;;;;;N;;;;;
+AF98;HANGUL SYLLABLE GGOEK;Lo;0;L;;;;;N;;;;;
+AF99;HANGUL SYLLABLE GGOET;Lo;0;L;;;;;N;;;;;
+AF9A;HANGUL SYLLABLE GGOEP;Lo;0;L;;;;;N;;;;;
+AF9B;HANGUL SYLLABLE GGOEH;Lo;0;L;;;;;N;;;;;
+AF9C;HANGUL SYLLABLE GGYO;Lo;0;L;;;;;N;;;;;
+AF9D;HANGUL SYLLABLE GGYOG;Lo;0;L;;;;;N;;;;;
+AF9E;HANGUL SYLLABLE GGYOGG;Lo;0;L;;;;;N;;;;;
+AF9F;HANGUL SYLLABLE GGYOGS;Lo;0;L;;;;;N;;;;;
+AFA0;HANGUL SYLLABLE GGYON;Lo;0;L;;;;;N;;;;;
+AFA1;HANGUL SYLLABLE GGYONI;Lo;0;L;;;;;N;;;;;
+AFA2;HANGUL SYLLABLE GGYONH;Lo;0;L;;;;;N;;;;;
+AFA3;HANGUL SYLLABLE GGYOD;Lo;0;L;;;;;N;;;;;
+AFA4;HANGUL SYLLABLE GGYOL;Lo;0;L;;;;;N;;;;;
+AFA5;HANGUL SYLLABLE GGYOLG;Lo;0;L;;;;;N;;;;;
+AFA6;HANGUL SYLLABLE GGYOLM;Lo;0;L;;;;;N;;;;;
+AFA7;HANGUL SYLLABLE GGYOLB;Lo;0;L;;;;;N;;;;;
+AFA8;HANGUL SYLLABLE GGYOLS;Lo;0;L;;;;;N;;;;;
+AFA9;HANGUL SYLLABLE GGYOLT;Lo;0;L;;;;;N;;;;;
+AFAA;HANGUL SYLLABLE GGYOLP;Lo;0;L;;;;;N;;;;;
+AFAB;HANGUL SYLLABLE GGYOLH;Lo;0;L;;;;;N;;;;;
+AFAC;HANGUL SYLLABLE GGYOM;Lo;0;L;;;;;N;;;;;
+AFAD;HANGUL SYLLABLE GGYOB;Lo;0;L;;;;;N;;;;;
+AFAE;HANGUL SYLLABLE GGYOBS;Lo;0;L;;;;;N;;;;;
+AFAF;HANGUL SYLLABLE GGYOS;Lo;0;L;;;;;N;;;;;
+AFB0;HANGUL SYLLABLE GGYOSS;Lo;0;L;;;;;N;;;;;
+AFB1;HANGUL SYLLABLE GGYONG;Lo;0;L;;;;;N;;;;;
+AFB2;HANGUL SYLLABLE GGYOJ;Lo;0;L;;;;;N;;;;;
+AFB3;HANGUL SYLLABLE GGYOC;Lo;0;L;;;;;N;;;;;
+AFB4;HANGUL SYLLABLE GGYOK;Lo;0;L;;;;;N;;;;;
+AFB5;HANGUL SYLLABLE GGYOT;Lo;0;L;;;;;N;;;;;
+AFB6;HANGUL SYLLABLE GGYOP;Lo;0;L;;;;;N;;;;;
+AFB7;HANGUL SYLLABLE GGYOH;Lo;0;L;;;;;N;;;;;
+AFB8;HANGUL SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
+AFB9;HANGUL SYLLABLE GGUG;Lo;0;L;;;;;N;;;;;
+AFBA;HANGUL SYLLABLE GGUGG;Lo;0;L;;;;;N;;;;;
+AFBB;HANGUL SYLLABLE GGUGS;Lo;0;L;;;;;N;;;;;
+AFBC;HANGUL SYLLABLE GGUN;Lo;0;L;;;;;N;;;;;
+AFBD;HANGUL SYLLABLE GGUNI;Lo;0;L;;;;;N;;;;;
+AFBE;HANGUL SYLLABLE GGUNH;Lo;0;L;;;;;N;;;;;
+AFBF;HANGUL SYLLABLE GGUD;Lo;0;L;;;;;N;;;;;
+AFC0;HANGUL SYLLABLE GGUL;Lo;0;L;;;;;N;;;;;
+AFC1;HANGUL SYLLABLE GGULG;Lo;0;L;;;;;N;;;;;
+AFC2;HANGUL SYLLABLE GGULM;Lo;0;L;;;;;N;;;;;
+AFC3;HANGUL SYLLABLE GGULB;Lo;0;L;;;;;N;;;;;
+AFC4;HANGUL SYLLABLE GGULS;Lo;0;L;;;;;N;;;;;
+AFC5;HANGUL SYLLABLE GGULT;Lo;0;L;;;;;N;;;;;
+AFC6;HANGUL SYLLABLE GGULP;Lo;0;L;;;;;N;;;;;
+AFC7;HANGUL SYLLABLE GGULH;Lo;0;L;;;;;N;;;;;
+AFC8;HANGUL SYLLABLE GGUM;Lo;0;L;;;;;N;;;;;
+AFC9;HANGUL SYLLABLE GGUB;Lo;0;L;;;;;N;;;;;
+AFCA;HANGUL SYLLABLE GGUBS;Lo;0;L;;;;;N;;;;;
+AFCB;HANGUL SYLLABLE GGUS;Lo;0;L;;;;;N;;;;;
+AFCC;HANGUL SYLLABLE GGUSS;Lo;0;L;;;;;N;;;;;
+AFCD;HANGUL SYLLABLE GGUNG;Lo;0;L;;;;;N;;;;;
+AFCE;HANGUL SYLLABLE GGUJ;Lo;0;L;;;;;N;;;;;
+AFCF;HANGUL SYLLABLE GGUC;Lo;0;L;;;;;N;;;;;
+AFD0;HANGUL SYLLABLE GGUK;Lo;0;L;;;;;N;;;;;
+AFD1;HANGUL SYLLABLE GGUT;Lo;0;L;;;;;N;;;;;
+AFD2;HANGUL SYLLABLE GGUP;Lo;0;L;;;;;N;;;;;
+AFD3;HANGUL SYLLABLE GGUH;Lo;0;L;;;;;N;;;;;
+AFD4;HANGUL SYLLABLE GGWEO;Lo;0;L;;;;;N;;;;;
+AFD5;HANGUL SYLLABLE GGWEOG;Lo;0;L;;;;;N;;;;;
+AFD6;HANGUL SYLLABLE GGWEOGG;Lo;0;L;;;;;N;;;;;
+AFD7;HANGUL SYLLABLE GGWEOGS;Lo;0;L;;;;;N;;;;;
+AFD8;HANGUL SYLLABLE GGWEON;Lo;0;L;;;;;N;;;;;
+AFD9;HANGUL SYLLABLE GGWEONI;Lo;0;L;;;;;N;;;;;
+AFDA;HANGUL SYLLABLE GGWEONH;Lo;0;L;;;;;N;;;;;
+AFDB;HANGUL SYLLABLE GGWEOD;Lo;0;L;;;;;N;;;;;
+AFDC;HANGUL SYLLABLE GGWEOL;Lo;0;L;;;;;N;;;;;
+AFDD;HANGUL SYLLABLE GGWEOLG;Lo;0;L;;;;;N;;;;;
+AFDE;HANGUL SYLLABLE GGWEOLM;Lo;0;L;;;;;N;;;;;
+AFDF;HANGUL SYLLABLE GGWEOLB;Lo;0;L;;;;;N;;;;;
+AFE0;HANGUL SYLLABLE GGWEOLS;Lo;0;L;;;;;N;;;;;
+AFE1;HANGUL SYLLABLE GGWEOLT;Lo;0;L;;;;;N;;;;;
+AFE2;HANGUL SYLLABLE GGWEOLP;Lo;0;L;;;;;N;;;;;
+AFE3;HANGUL SYLLABLE GGWEOLH;Lo;0;L;;;;;N;;;;;
+AFE4;HANGUL SYLLABLE GGWEOM;Lo;0;L;;;;;N;;;;;
+AFE5;HANGUL SYLLABLE GGWEOB;Lo;0;L;;;;;N;;;;;
+AFE6;HANGUL SYLLABLE GGWEOBS;Lo;0;L;;;;;N;;;;;
+AFE7;HANGUL SYLLABLE GGWEOS;Lo;0;L;;;;;N;;;;;
+AFE8;HANGUL SYLLABLE GGWEOSS;Lo;0;L;;;;;N;;;;;
+AFE9;HANGUL SYLLABLE GGWEONG;Lo;0;L;;;;;N;;;;;
+AFEA;HANGUL SYLLABLE GGWEOJ;Lo;0;L;;;;;N;;;;;
+AFEB;HANGUL SYLLABLE GGWEOC;Lo;0;L;;;;;N;;;;;
+AFEC;HANGUL SYLLABLE GGWEOK;Lo;0;L;;;;;N;;;;;
+AFED;HANGUL SYLLABLE GGWEOT;Lo;0;L;;;;;N;;;;;
+AFEE;HANGUL SYLLABLE GGWEOP;Lo;0;L;;;;;N;;;;;
+AFEF;HANGUL SYLLABLE GGWEOH;Lo;0;L;;;;;N;;;;;
+AFF0;HANGUL SYLLABLE GGWE;Lo;0;L;;;;;N;;;;;
+AFF1;HANGUL SYLLABLE GGWEG;Lo;0;L;;;;;N;;;;;
+AFF2;HANGUL SYLLABLE GGWEGG;Lo;0;L;;;;;N;;;;;
+AFF3;HANGUL SYLLABLE GGWEGS;Lo;0;L;;;;;N;;;;;
+AFF4;HANGUL SYLLABLE GGWEN;Lo;0;L;;;;;N;;;;;
+AFF5;HANGUL SYLLABLE GGWENI;Lo;0;L;;;;;N;;;;;
+AFF6;HANGUL SYLLABLE GGWENH;Lo;0;L;;;;;N;;;;;
+AFF7;HANGUL SYLLABLE GGWED;Lo;0;L;;;;;N;;;;;
+AFF8;HANGUL SYLLABLE GGWEL;Lo;0;L;;;;;N;;;;;
+AFF9;HANGUL SYLLABLE GGWELG;Lo;0;L;;;;;N;;;;;
+AFFA;HANGUL SYLLABLE GGWELM;Lo;0;L;;;;;N;;;;;
+AFFB;HANGUL SYLLABLE GGWELB;Lo;0;L;;;;;N;;;;;
+AFFC;HANGUL SYLLABLE GGWELS;Lo;0;L;;;;;N;;;;;
+AFFD;HANGUL SYLLABLE GGWELT;Lo;0;L;;;;;N;;;;;
+AFFE;HANGUL SYLLABLE GGWELP;Lo;0;L;;;;;N;;;;;
+AFFF;HANGUL SYLLABLE GGWELH;Lo;0;L;;;;;N;;;;;
+B000;HANGUL SYLLABLE GGWEM;Lo;0;L;;;;;N;;;;;
+B001;HANGUL SYLLABLE GGWEB;Lo;0;L;;;;;N;;;;;
+B002;HANGUL SYLLABLE GGWEBS;Lo;0;L;;;;;N;;;;;
+B003;HANGUL SYLLABLE GGWES;Lo;0;L;;;;;N;;;;;
+B004;HANGUL SYLLABLE GGWESS;Lo;0;L;;;;;N;;;;;
+B005;HANGUL SYLLABLE GGWENG;Lo;0;L;;;;;N;;;;;
+B006;HANGUL SYLLABLE GGWEJ;Lo;0;L;;;;;N;;;;;
+B007;HANGUL SYLLABLE GGWEC;Lo;0;L;;;;;N;;;;;
+B008;HANGUL SYLLABLE GGWEK;Lo;0;L;;;;;N;;;;;
+B009;HANGUL SYLLABLE GGWET;Lo;0;L;;;;;N;;;;;
+B00A;HANGUL SYLLABLE GGWEP;Lo;0;L;;;;;N;;;;;
+B00B;HANGUL SYLLABLE GGWEH;Lo;0;L;;;;;N;;;;;
+B00C;HANGUL SYLLABLE GGWI;Lo;0;L;;;;;N;;;;;
+B00D;HANGUL SYLLABLE GGWIG;Lo;0;L;;;;;N;;;;;
+B00E;HANGUL SYLLABLE GGWIGG;Lo;0;L;;;;;N;;;;;
+B00F;HANGUL SYLLABLE GGWIGS;Lo;0;L;;;;;N;;;;;
+B010;HANGUL SYLLABLE GGWIN;Lo;0;L;;;;;N;;;;;
+B011;HANGUL SYLLABLE GGWINI;Lo;0;L;;;;;N;;;;;
+B012;HANGUL SYLLABLE GGWINH;Lo;0;L;;;;;N;;;;;
+B013;HANGUL SYLLABLE GGWID;Lo;0;L;;;;;N;;;;;
+B014;HANGUL SYLLABLE GGWIL;Lo;0;L;;;;;N;;;;;
+B015;HANGUL SYLLABLE GGWILG;Lo;0;L;;;;;N;;;;;
+B016;HANGUL SYLLABLE GGWILM;Lo;0;L;;;;;N;;;;;
+B017;HANGUL SYLLABLE GGWILB;Lo;0;L;;;;;N;;;;;
+B018;HANGUL SYLLABLE GGWILS;Lo;0;L;;;;;N;;;;;
+B019;HANGUL SYLLABLE GGWILT;Lo;0;L;;;;;N;;;;;
+B01A;HANGUL SYLLABLE GGWILP;Lo;0;L;;;;;N;;;;;
+B01B;HANGUL SYLLABLE GGWILH;Lo;0;L;;;;;N;;;;;
+B01C;HANGUL SYLLABLE GGWIM;Lo;0;L;;;;;N;;;;;
+B01D;HANGUL SYLLABLE GGWIB;Lo;0;L;;;;;N;;;;;
+B01E;HANGUL SYLLABLE GGWIBS;Lo;0;L;;;;;N;;;;;
+B01F;HANGUL SYLLABLE GGWIS;Lo;0;L;;;;;N;;;;;
+B020;HANGUL SYLLABLE GGWISS;Lo;0;L;;;;;N;;;;;
+B021;HANGUL SYLLABLE GGWING;Lo;0;L;;;;;N;;;;;
+B022;HANGUL SYLLABLE GGWIJ;Lo;0;L;;;;;N;;;;;
+B023;HANGUL SYLLABLE GGWIC;Lo;0;L;;;;;N;;;;;
+B024;HANGUL SYLLABLE GGWIK;Lo;0;L;;;;;N;;;;;
+B025;HANGUL SYLLABLE GGWIT;Lo;0;L;;;;;N;;;;;
+B026;HANGUL SYLLABLE GGWIP;Lo;0;L;;;;;N;;;;;
+B027;HANGUL SYLLABLE GGWIH;Lo;0;L;;;;;N;;;;;
+B028;HANGUL SYLLABLE GGYU;Lo;0;L;;;;;N;;;;;
+B029;HANGUL SYLLABLE GGYUG;Lo;0;L;;;;;N;;;;;
+B02A;HANGUL SYLLABLE GGYUGG;Lo;0;L;;;;;N;;;;;
+B02B;HANGUL SYLLABLE GGYUGS;Lo;0;L;;;;;N;;;;;
+B02C;HANGUL SYLLABLE GGYUN;Lo;0;L;;;;;N;;;;;
+B02D;HANGUL SYLLABLE GGYUNI;Lo;0;L;;;;;N;;;;;
+B02E;HANGUL SYLLABLE GGYUNH;Lo;0;L;;;;;N;;;;;
+B02F;HANGUL SYLLABLE GGYUD;Lo;0;L;;;;;N;;;;;
+B030;HANGUL SYLLABLE GGYUL;Lo;0;L;;;;;N;;;;;
+B031;HANGUL SYLLABLE GGYULG;Lo;0;L;;;;;N;;;;;
+B032;HANGUL SYLLABLE GGYULM;Lo;0;L;;;;;N;;;;;
+B033;HANGUL SYLLABLE GGYULB;Lo;0;L;;;;;N;;;;;
+B034;HANGUL SYLLABLE GGYULS;Lo;0;L;;;;;N;;;;;
+B035;HANGUL SYLLABLE GGYULT;Lo;0;L;;;;;N;;;;;
+B036;HANGUL SYLLABLE GGYULP;Lo;0;L;;;;;N;;;;;
+B037;HANGUL SYLLABLE GGYULH;Lo;0;L;;;;;N;;;;;
+B038;HANGUL SYLLABLE GGYUM;Lo;0;L;;;;;N;;;;;
+B039;HANGUL SYLLABLE GGYUB;Lo;0;L;;;;;N;;;;;
+B03A;HANGUL SYLLABLE GGYUBS;Lo;0;L;;;;;N;;;;;
+B03B;HANGUL SYLLABLE GGYUS;Lo;0;L;;;;;N;;;;;
+B03C;HANGUL SYLLABLE GGYUSS;Lo;0;L;;;;;N;;;;;
+B03D;HANGUL SYLLABLE GGYUNG;Lo;0;L;;;;;N;;;;;
+B03E;HANGUL SYLLABLE GGYUJ;Lo;0;L;;;;;N;;;;;
+B03F;HANGUL SYLLABLE GGYUC;Lo;0;L;;;;;N;;;;;
+B040;HANGUL SYLLABLE GGYUK;Lo;0;L;;;;;N;;;;;
+B041;HANGUL SYLLABLE GGYUT;Lo;0;L;;;;;N;;;;;
+B042;HANGUL SYLLABLE GGYUP;Lo;0;L;;;;;N;;;;;
+B043;HANGUL SYLLABLE GGYUH;Lo;0;L;;;;;N;;;;;
+B044;HANGUL SYLLABLE GGEU;Lo;0;L;;;;;N;;;;;
+B045;HANGUL SYLLABLE GGEUG;Lo;0;L;;;;;N;;;;;
+B046;HANGUL SYLLABLE GGEUGG;Lo;0;L;;;;;N;;;;;
+B047;HANGUL SYLLABLE GGEUGS;Lo;0;L;;;;;N;;;;;
+B048;HANGUL SYLLABLE GGEUN;Lo;0;L;;;;;N;;;;;
+B049;HANGUL SYLLABLE GGEUNI;Lo;0;L;;;;;N;;;;;
+B04A;HANGUL SYLLABLE GGEUNH;Lo;0;L;;;;;N;;;;;
+B04B;HANGUL SYLLABLE GGEUD;Lo;0;L;;;;;N;;;;;
+B04C;HANGUL SYLLABLE GGEUL;Lo;0;L;;;;;N;;;;;
+B04D;HANGUL SYLLABLE GGEULG;Lo;0;L;;;;;N;;;;;
+B04E;HANGUL SYLLABLE GGEULM;Lo;0;L;;;;;N;;;;;
+B04F;HANGUL SYLLABLE GGEULB;Lo;0;L;;;;;N;;;;;
+B050;HANGUL SYLLABLE GGEULS;Lo;0;L;;;;;N;;;;;
+B051;HANGUL SYLLABLE GGEULT;Lo;0;L;;;;;N;;;;;
+B052;HANGUL SYLLABLE GGEULP;Lo;0;L;;;;;N;;;;;
+B053;HANGUL SYLLABLE GGEULH;Lo;0;L;;;;;N;;;;;
+B054;HANGUL SYLLABLE GGEUM;Lo;0;L;;;;;N;;;;;
+B055;HANGUL SYLLABLE GGEUB;Lo;0;L;;;;;N;;;;;
+B056;HANGUL SYLLABLE GGEUBS;Lo;0;L;;;;;N;;;;;
+B057;HANGUL SYLLABLE GGEUS;Lo;0;L;;;;;N;;;;;
+B058;HANGUL SYLLABLE GGEUSS;Lo;0;L;;;;;N;;;;;
+B059;HANGUL SYLLABLE GGEUNG;Lo;0;L;;;;;N;;;;;
+B05A;HANGUL SYLLABLE GGEUJ;Lo;0;L;;;;;N;;;;;
+B05B;HANGUL SYLLABLE GGEUC;Lo;0;L;;;;;N;;;;;
+B05C;HANGUL SYLLABLE GGEUK;Lo;0;L;;;;;N;;;;;
+B05D;HANGUL SYLLABLE GGEUT;Lo;0;L;;;;;N;;;;;
+B05E;HANGUL SYLLABLE GGEUP;Lo;0;L;;;;;N;;;;;
+B05F;HANGUL SYLLABLE GGEUH;Lo;0;L;;;;;N;;;;;
+B060;HANGUL SYLLABLE GGYI;Lo;0;L;;;;;N;;;;;
+B061;HANGUL SYLLABLE GGYIG;Lo;0;L;;;;;N;;;;;
+B062;HANGUL SYLLABLE GGYIGG;Lo;0;L;;;;;N;;;;;
+B063;HANGUL SYLLABLE GGYIGS;Lo;0;L;;;;;N;;;;;
+B064;HANGUL SYLLABLE GGYIN;Lo;0;L;;;;;N;;;;;
+B065;HANGUL SYLLABLE GGYINI;Lo;0;L;;;;;N;;;;;
+B066;HANGUL SYLLABLE GGYINH;Lo;0;L;;;;;N;;;;;
+B067;HANGUL SYLLABLE GGYID;Lo;0;L;;;;;N;;;;;
+B068;HANGUL SYLLABLE GGYIL;Lo;0;L;;;;;N;;;;;
+B069;HANGUL SYLLABLE GGYILG;Lo;0;L;;;;;N;;;;;
+B06A;HANGUL SYLLABLE GGYILM;Lo;0;L;;;;;N;;;;;
+B06B;HANGUL SYLLABLE GGYILB;Lo;0;L;;;;;N;;;;;
+B06C;HANGUL SYLLABLE GGYILS;Lo;0;L;;;;;N;;;;;
+B06D;HANGUL SYLLABLE GGYILT;Lo;0;L;;;;;N;;;;;
+B06E;HANGUL SYLLABLE GGYILP;Lo;0;L;;;;;N;;;;;
+B06F;HANGUL SYLLABLE GGYILH;Lo;0;L;;;;;N;;;;;
+B070;HANGUL SYLLABLE GGYIM;Lo;0;L;;;;;N;;;;;
+B071;HANGUL SYLLABLE GGYIB;Lo;0;L;;;;;N;;;;;
+B072;HANGUL SYLLABLE GGYIBS;Lo;0;L;;;;;N;;;;;
+B073;HANGUL SYLLABLE GGYIS;Lo;0;L;;;;;N;;;;;
+B074;HANGUL SYLLABLE GGYISS;Lo;0;L;;;;;N;;;;;
+B075;HANGUL SYLLABLE GGYING;Lo;0;L;;;;;N;;;;;
+B076;HANGUL SYLLABLE GGYIJ;Lo;0;L;;;;;N;;;;;
+B077;HANGUL SYLLABLE GGYIC;Lo;0;L;;;;;N;;;;;
+B078;HANGUL SYLLABLE GGYIK;Lo;0;L;;;;;N;;;;;
+B079;HANGUL SYLLABLE GGYIT;Lo;0;L;;;;;N;;;;;
+B07A;HANGUL SYLLABLE GGYIP;Lo;0;L;;;;;N;;;;;
+B07B;HANGUL SYLLABLE GGYIH;Lo;0;L;;;;;N;;;;;
+B07C;HANGUL SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
+B07D;HANGUL SYLLABLE GGIG;Lo;0;L;;;;;N;;;;;
+B07E;HANGUL SYLLABLE GGIGG;Lo;0;L;;;;;N;;;;;
+B07F;HANGUL SYLLABLE GGIGS;Lo;0;L;;;;;N;;;;;
+B080;HANGUL SYLLABLE GGIN;Lo;0;L;;;;;N;;;;;
+B081;HANGUL SYLLABLE GGINI;Lo;0;L;;;;;N;;;;;
+B082;HANGUL SYLLABLE GGINH;Lo;0;L;;;;;N;;;;;
+B083;HANGUL SYLLABLE GGID;Lo;0;L;;;;;N;;;;;
+B084;HANGUL SYLLABLE GGIL;Lo;0;L;;;;;N;;;;;
+B085;HANGUL SYLLABLE GGILG;Lo;0;L;;;;;N;;;;;
+B086;HANGUL SYLLABLE GGILM;Lo;0;L;;;;;N;;;;;
+B087;HANGUL SYLLABLE GGILB;Lo;0;L;;;;;N;;;;;
+B088;HANGUL SYLLABLE GGILS;Lo;0;L;;;;;N;;;;;
+B089;HANGUL SYLLABLE GGILT;Lo;0;L;;;;;N;;;;;
+B08A;HANGUL SYLLABLE GGILP;Lo;0;L;;;;;N;;;;;
+B08B;HANGUL SYLLABLE GGILH;Lo;0;L;;;;;N;;;;;
+B08C;HANGUL SYLLABLE GGIM;Lo;0;L;;;;;N;;;;;
+B08D;HANGUL SYLLABLE GGIB;Lo;0;L;;;;;N;;;;;
+B08E;HANGUL SYLLABLE GGIBS;Lo;0;L;;;;;N;;;;;
+B08F;HANGUL SYLLABLE GGIS;Lo;0;L;;;;;N;;;;;
+B090;HANGUL SYLLABLE GGISS;Lo;0;L;;;;;N;;;;;
+B091;HANGUL SYLLABLE GGING;Lo;0;L;;;;;N;;;;;
+B092;HANGUL SYLLABLE GGIJ;Lo;0;L;;;;;N;;;;;
+B093;HANGUL SYLLABLE GGIC;Lo;0;L;;;;;N;;;;;
+B094;HANGUL SYLLABLE GGIK;Lo;0;L;;;;;N;;;;;
+B095;HANGUL SYLLABLE GGIT;Lo;0;L;;;;;N;;;;;
+B096;HANGUL SYLLABLE GGIP;Lo;0;L;;;;;N;;;;;
+B097;HANGUL SYLLABLE GGIH;Lo;0;L;;;;;N;;;;;
+B098;HANGUL SYLLABLE NA;Lo;0;L;;;;;N;;;;;
+B099;HANGUL SYLLABLE NAG;Lo;0;L;;;;;N;;;;;
+B09A;HANGUL SYLLABLE NAGG;Lo;0;L;;;;;N;;;;;
+B09B;HANGUL SYLLABLE NAGS;Lo;0;L;;;;;N;;;;;
+B09C;HANGUL SYLLABLE NAN;Lo;0;L;;;;;N;;;;;
+B09D;HANGUL SYLLABLE NANI;Lo;0;L;;;;;N;;;;;
+B09E;HANGUL SYLLABLE NANH;Lo;0;L;;;;;N;;;;;
+B09F;HANGUL SYLLABLE NAD;Lo;0;L;;;;;N;;;;;
+B0A0;HANGUL SYLLABLE NAL;Lo;0;L;;;;;N;;;;;
+B0A1;HANGUL SYLLABLE NALG;Lo;0;L;;;;;N;;;;;
+B0A2;HANGUL SYLLABLE NALM;Lo;0;L;;;;;N;;;;;
+B0A3;HANGUL SYLLABLE NALB;Lo;0;L;;;;;N;;;;;
+B0A4;HANGUL SYLLABLE NALS;Lo;0;L;;;;;N;;;;;
+B0A5;HANGUL SYLLABLE NALT;Lo;0;L;;;;;N;;;;;
+B0A6;HANGUL SYLLABLE NALP;Lo;0;L;;;;;N;;;;;
+B0A7;HANGUL SYLLABLE NALH;Lo;0;L;;;;;N;;;;;
+B0A8;HANGUL SYLLABLE NAM;Lo;0;L;;;;;N;;;;;
+B0A9;HANGUL SYLLABLE NAB;Lo;0;L;;;;;N;;;;;
+B0AA;HANGUL SYLLABLE NABS;Lo;0;L;;;;;N;;;;;
+B0AB;HANGUL SYLLABLE NAS;Lo;0;L;;;;;N;;;;;
+B0AC;HANGUL SYLLABLE NASS;Lo;0;L;;;;;N;;;;;
+B0AD;HANGUL SYLLABLE NANG;Lo;0;L;;;;;N;;;;;
+B0AE;HANGUL SYLLABLE NAJ;Lo;0;L;;;;;N;;;;;
+B0AF;HANGUL SYLLABLE NAC;Lo;0;L;;;;;N;;;;;
+B0B0;HANGUL SYLLABLE NAK;Lo;0;L;;;;;N;;;;;
+B0B1;HANGUL SYLLABLE NAT;Lo;0;L;;;;;N;;;;;
+B0B2;HANGUL SYLLABLE NAP;Lo;0;L;;;;;N;;;;;
+B0B3;HANGUL SYLLABLE NAH;Lo;0;L;;;;;N;;;;;
+B0B4;HANGUL SYLLABLE NAE;Lo;0;L;;;;;N;;;;;
+B0B5;HANGUL SYLLABLE NAEG;Lo;0;L;;;;;N;;;;;
+B0B6;HANGUL SYLLABLE NAEGG;Lo;0;L;;;;;N;;;;;
+B0B7;HANGUL SYLLABLE NAEGS;Lo;0;L;;;;;N;;;;;
+B0B8;HANGUL SYLLABLE NAEN;Lo;0;L;;;;;N;;;;;
+B0B9;HANGUL SYLLABLE NAENI;Lo;0;L;;;;;N;;;;;
+B0BA;HANGUL SYLLABLE NAENH;Lo;0;L;;;;;N;;;;;
+B0BB;HANGUL SYLLABLE NAED;Lo;0;L;;;;;N;;;;;
+B0BC;HANGUL SYLLABLE NAEL;Lo;0;L;;;;;N;;;;;
+B0BD;HANGUL SYLLABLE NAELG;Lo;0;L;;;;;N;;;;;
+B0BE;HANGUL SYLLABLE NAELM;Lo;0;L;;;;;N;;;;;
+B0BF;HANGUL SYLLABLE NAELB;Lo;0;L;;;;;N;;;;;
+B0C0;HANGUL SYLLABLE NAELS;Lo;0;L;;;;;N;;;;;
+B0C1;HANGUL SYLLABLE NAELT;Lo;0;L;;;;;N;;;;;
+B0C2;HANGUL SYLLABLE NAELP;Lo;0;L;;;;;N;;;;;
+B0C3;HANGUL SYLLABLE NAELH;Lo;0;L;;;;;N;;;;;
+B0C4;HANGUL SYLLABLE NAEM;Lo;0;L;;;;;N;;;;;
+B0C5;HANGUL SYLLABLE NAEB;Lo;0;L;;;;;N;;;;;
+B0C6;HANGUL SYLLABLE NAEBS;Lo;0;L;;;;;N;;;;;
+B0C7;HANGUL SYLLABLE NAES;Lo;0;L;;;;;N;;;;;
+B0C8;HANGUL SYLLABLE NAESS;Lo;0;L;;;;;N;;;;;
+B0C9;HANGUL SYLLABLE NAENG;Lo;0;L;;;;;N;;;;;
+B0CA;HANGUL SYLLABLE NAEJ;Lo;0;L;;;;;N;;;;;
+B0CB;HANGUL SYLLABLE NAEC;Lo;0;L;;;;;N;;;;;
+B0CC;HANGUL SYLLABLE NAEK;Lo;0;L;;;;;N;;;;;
+B0CD;HANGUL SYLLABLE NAET;Lo;0;L;;;;;N;;;;;
+B0CE;HANGUL SYLLABLE NAEP;Lo;0;L;;;;;N;;;;;
+B0CF;HANGUL SYLLABLE NAEH;Lo;0;L;;;;;N;;;;;
+B0D0;HANGUL SYLLABLE NYA;Lo;0;L;;;;;N;;;;;
+B0D1;HANGUL SYLLABLE NYAG;Lo;0;L;;;;;N;;;;;
+B0D2;HANGUL SYLLABLE NYAGG;Lo;0;L;;;;;N;;;;;
+B0D3;HANGUL SYLLABLE NYAGS;Lo;0;L;;;;;N;;;;;
+B0D4;HANGUL SYLLABLE NYAN;Lo;0;L;;;;;N;;;;;
+B0D5;HANGUL SYLLABLE NYANI;Lo;0;L;;;;;N;;;;;
+B0D6;HANGUL SYLLABLE NYANH;Lo;0;L;;;;;N;;;;;
+B0D7;HANGUL SYLLABLE NYAD;Lo;0;L;;;;;N;;;;;
+B0D8;HANGUL SYLLABLE NYAL;Lo;0;L;;;;;N;;;;;
+B0D9;HANGUL SYLLABLE NYALG;Lo;0;L;;;;;N;;;;;
+B0DA;HANGUL SYLLABLE NYALM;Lo;0;L;;;;;N;;;;;
+B0DB;HANGUL SYLLABLE NYALB;Lo;0;L;;;;;N;;;;;
+B0DC;HANGUL SYLLABLE NYALS;Lo;0;L;;;;;N;;;;;
+B0DD;HANGUL SYLLABLE NYALT;Lo;0;L;;;;;N;;;;;
+B0DE;HANGUL SYLLABLE NYALP;Lo;0;L;;;;;N;;;;;
+B0DF;HANGUL SYLLABLE NYALH;Lo;0;L;;;;;N;;;;;
+B0E0;HANGUL SYLLABLE NYAM;Lo;0;L;;;;;N;;;;;
+B0E1;HANGUL SYLLABLE NYAB;Lo;0;L;;;;;N;;;;;
+B0E2;HANGUL SYLLABLE NYABS;Lo;0;L;;;;;N;;;;;
+B0E3;HANGUL SYLLABLE NYAS;Lo;0;L;;;;;N;;;;;
+B0E4;HANGUL SYLLABLE NYASS;Lo;0;L;;;;;N;;;;;
+B0E5;HANGUL SYLLABLE NYANG;Lo;0;L;;;;;N;;;;;
+B0E6;HANGUL SYLLABLE NYAJ;Lo;0;L;;;;;N;;;;;
+B0E7;HANGUL SYLLABLE NYAC;Lo;0;L;;;;;N;;;;;
+B0E8;HANGUL SYLLABLE NYAK;Lo;0;L;;;;;N;;;;;
+B0E9;HANGUL SYLLABLE NYAT;Lo;0;L;;;;;N;;;;;
+B0EA;HANGUL SYLLABLE NYAP;Lo;0;L;;;;;N;;;;;
+B0EB;HANGUL SYLLABLE NYAH;Lo;0;L;;;;;N;;;;;
+B0EC;HANGUL SYLLABLE NYAE;Lo;0;L;;;;;N;;;;;
+B0ED;HANGUL SYLLABLE NYAEG;Lo;0;L;;;;;N;;;;;
+B0EE;HANGUL SYLLABLE NYAEGG;Lo;0;L;;;;;N;;;;;
+B0EF;HANGUL SYLLABLE NYAEGS;Lo;0;L;;;;;N;;;;;
+B0F0;HANGUL SYLLABLE NYAEN;Lo;0;L;;;;;N;;;;;
+B0F1;HANGUL SYLLABLE NYAENI;Lo;0;L;;;;;N;;;;;
+B0F2;HANGUL SYLLABLE NYAENH;Lo;0;L;;;;;N;;;;;
+B0F3;HANGUL SYLLABLE NYAED;Lo;0;L;;;;;N;;;;;
+B0F4;HANGUL SYLLABLE NYAEL;Lo;0;L;;;;;N;;;;;
+B0F5;HANGUL SYLLABLE NYAELG;Lo;0;L;;;;;N;;;;;
+B0F6;HANGUL SYLLABLE NYAELM;Lo;0;L;;;;;N;;;;;
+B0F7;HANGUL SYLLABLE NYAELB;Lo;0;L;;;;;N;;;;;
+B0F8;HANGUL SYLLABLE NYAELS;Lo;0;L;;;;;N;;;;;
+B0F9;HANGUL SYLLABLE NYAELT;Lo;0;L;;;;;N;;;;;
+B0FA;HANGUL SYLLABLE NYAELP;Lo;0;L;;;;;N;;;;;
+B0FB;HANGUL SYLLABLE NYAELH;Lo;0;L;;;;;N;;;;;
+B0FC;HANGUL SYLLABLE NYAEM;Lo;0;L;;;;;N;;;;;
+B0FD;HANGUL SYLLABLE NYAEB;Lo;0;L;;;;;N;;;;;
+B0FE;HANGUL SYLLABLE NYAEBS;Lo;0;L;;;;;N;;;;;
+B0FF;HANGUL SYLLABLE NYAES;Lo;0;L;;;;;N;;;;;
+B100;HANGUL SYLLABLE NYAESS;Lo;0;L;;;;;N;;;;;
+B101;HANGUL SYLLABLE NYAENG;Lo;0;L;;;;;N;;;;;
+B102;HANGUL SYLLABLE NYAEJ;Lo;0;L;;;;;N;;;;;
+B103;HANGUL SYLLABLE NYAEC;Lo;0;L;;;;;N;;;;;
+B104;HANGUL SYLLABLE NYAEK;Lo;0;L;;;;;N;;;;;
+B105;HANGUL SYLLABLE NYAET;Lo;0;L;;;;;N;;;;;
+B106;HANGUL SYLLABLE NYAEP;Lo;0;L;;;;;N;;;;;
+B107;HANGUL SYLLABLE NYAEH;Lo;0;L;;;;;N;;;;;
+B108;HANGUL SYLLABLE NEO;Lo;0;L;;;;;N;;;;;
+B109;HANGUL SYLLABLE NEOG;Lo;0;L;;;;;N;;;;;
+B10A;HANGUL SYLLABLE NEOGG;Lo;0;L;;;;;N;;;;;
+B10B;HANGUL SYLLABLE NEOGS;Lo;0;L;;;;;N;;;;;
+B10C;HANGUL SYLLABLE NEON;Lo;0;L;;;;;N;;;;;
+B10D;HANGUL SYLLABLE NEONI;Lo;0;L;;;;;N;;;;;
+B10E;HANGUL SYLLABLE NEONH;Lo;0;L;;;;;N;;;;;
+B10F;HANGUL SYLLABLE NEOD;Lo;0;L;;;;;N;;;;;
+B110;HANGUL SYLLABLE NEOL;Lo;0;L;;;;;N;;;;;
+B111;HANGUL SYLLABLE NEOLG;Lo;0;L;;;;;N;;;;;
+B112;HANGUL SYLLABLE NEOLM;Lo;0;L;;;;;N;;;;;
+B113;HANGUL SYLLABLE NEOLB;Lo;0;L;;;;;N;;;;;
+B114;HANGUL SYLLABLE NEOLS;Lo;0;L;;;;;N;;;;;
+B115;HANGUL SYLLABLE NEOLT;Lo;0;L;;;;;N;;;;;
+B116;HANGUL SYLLABLE NEOLP;Lo;0;L;;;;;N;;;;;
+B117;HANGUL SYLLABLE NEOLH;Lo;0;L;;;;;N;;;;;
+B118;HANGUL SYLLABLE NEOM;Lo;0;L;;;;;N;;;;;
+B119;HANGUL SYLLABLE NEOB;Lo;0;L;;;;;N;;;;;
+B11A;HANGUL SYLLABLE NEOBS;Lo;0;L;;;;;N;;;;;
+B11B;HANGUL SYLLABLE NEOS;Lo;0;L;;;;;N;;;;;
+B11C;HANGUL SYLLABLE NEOSS;Lo;0;L;;;;;N;;;;;
+B11D;HANGUL SYLLABLE NEONG;Lo;0;L;;;;;N;;;;;
+B11E;HANGUL SYLLABLE NEOJ;Lo;0;L;;;;;N;;;;;
+B11F;HANGUL SYLLABLE NEOC;Lo;0;L;;;;;N;;;;;
+B120;HANGUL SYLLABLE NEOK;Lo;0;L;;;;;N;;;;;
+B121;HANGUL SYLLABLE NEOT;Lo;0;L;;;;;N;;;;;
+B122;HANGUL SYLLABLE NEOP;Lo;0;L;;;;;N;;;;;
+B123;HANGUL SYLLABLE NEOH;Lo;0;L;;;;;N;;;;;
+B124;HANGUL SYLLABLE NE;Lo;0;L;;;;;N;;;;;
+B125;HANGUL SYLLABLE NEG;Lo;0;L;;;;;N;;;;;
+B126;HANGUL SYLLABLE NEGG;Lo;0;L;;;;;N;;;;;
+B127;HANGUL SYLLABLE NEGS;Lo;0;L;;;;;N;;;;;
+B128;HANGUL SYLLABLE NEN;Lo;0;L;;;;;N;;;;;
+B129;HANGUL SYLLABLE NENI;Lo;0;L;;;;;N;;;;;
+B12A;HANGUL SYLLABLE NENH;Lo;0;L;;;;;N;;;;;
+B12B;HANGUL SYLLABLE NED;Lo;0;L;;;;;N;;;;;
+B12C;HANGUL SYLLABLE NEL;Lo;0;L;;;;;N;;;;;
+B12D;HANGUL SYLLABLE NELG;Lo;0;L;;;;;N;;;;;
+B12E;HANGUL SYLLABLE NELM;Lo;0;L;;;;;N;;;;;
+B12F;HANGUL SYLLABLE NELB;Lo;0;L;;;;;N;;;;;
+B130;HANGUL SYLLABLE NELS;Lo;0;L;;;;;N;;;;;
+B131;HANGUL SYLLABLE NELT;Lo;0;L;;;;;N;;;;;
+B132;HANGUL SYLLABLE NELP;Lo;0;L;;;;;N;;;;;
+B133;HANGUL SYLLABLE NELH;Lo;0;L;;;;;N;;;;;
+B134;HANGUL SYLLABLE NEM;Lo;0;L;;;;;N;;;;;
+B135;HANGUL SYLLABLE NEB;Lo;0;L;;;;;N;;;;;
+B136;HANGUL SYLLABLE NEBS;Lo;0;L;;;;;N;;;;;
+B137;HANGUL SYLLABLE NES;Lo;0;L;;;;;N;;;;;
+B138;HANGUL SYLLABLE NESS;Lo;0;L;;;;;N;;;;;
+B139;HANGUL SYLLABLE NENG;Lo;0;L;;;;;N;;;;;
+B13A;HANGUL SYLLABLE NEJ;Lo;0;L;;;;;N;;;;;
+B13B;HANGUL SYLLABLE NEC;Lo;0;L;;;;;N;;;;;
+B13C;HANGUL SYLLABLE NEK;Lo;0;L;;;;;N;;;;;
+B13D;HANGUL SYLLABLE NET;Lo;0;L;;;;;N;;;;;
+B13E;HANGUL SYLLABLE NEP;Lo;0;L;;;;;N;;;;;
+B13F;HANGUL SYLLABLE NEH;Lo;0;L;;;;;N;;;;;
+B140;HANGUL SYLLABLE NYEO;Lo;0;L;;;;;N;;;;;
+B141;HANGUL SYLLABLE NYEOG;Lo;0;L;;;;;N;;;;;
+B142;HANGUL SYLLABLE NYEOGG;Lo;0;L;;;;;N;;;;;
+B143;HANGUL SYLLABLE NYEOGS;Lo;0;L;;;;;N;;;;;
+B144;HANGUL SYLLABLE NYEON;Lo;0;L;;;;;N;;;;;
+B145;HANGUL SYLLABLE NYEONI;Lo;0;L;;;;;N;;;;;
+B146;HANGUL SYLLABLE NYEONH;Lo;0;L;;;;;N;;;;;
+B147;HANGUL SYLLABLE NYEOD;Lo;0;L;;;;;N;;;;;
+B148;HANGUL SYLLABLE NYEOL;Lo;0;L;;;;;N;;;;;
+B149;HANGUL SYLLABLE NYEOLG;Lo;0;L;;;;;N;;;;;
+B14A;HANGUL SYLLABLE NYEOLM;Lo;0;L;;;;;N;;;;;
+B14B;HANGUL SYLLABLE NYEOLB;Lo;0;L;;;;;N;;;;;
+B14C;HANGUL SYLLABLE NYEOLS;Lo;0;L;;;;;N;;;;;
+B14D;HANGUL SYLLABLE NYEOLT;Lo;0;L;;;;;N;;;;;
+B14E;HANGUL SYLLABLE NYEOLP;Lo;0;L;;;;;N;;;;;
+B14F;HANGUL SYLLABLE NYEOLH;Lo;0;L;;;;;N;;;;;
+B150;HANGUL SYLLABLE NYEOM;Lo;0;L;;;;;N;;;;;
+B151;HANGUL SYLLABLE NYEOB;Lo;0;L;;;;;N;;;;;
+B152;HANGUL SYLLABLE NYEOBS;Lo;0;L;;;;;N;;;;;
+B153;HANGUL SYLLABLE NYEOS;Lo;0;L;;;;;N;;;;;
+B154;HANGUL SYLLABLE NYEOSS;Lo;0;L;;;;;N;;;;;
+B155;HANGUL SYLLABLE NYEONG;Lo;0;L;;;;;N;;;;;
+B156;HANGUL SYLLABLE NYEOJ;Lo;0;L;;;;;N;;;;;
+B157;HANGUL SYLLABLE NYEOC;Lo;0;L;;;;;N;;;;;
+B158;HANGUL SYLLABLE NYEOK;Lo;0;L;;;;;N;;;;;
+B159;HANGUL SYLLABLE NYEOT;Lo;0;L;;;;;N;;;;;
+B15A;HANGUL SYLLABLE NYEOP;Lo;0;L;;;;;N;;;;;
+B15B;HANGUL SYLLABLE NYEOH;Lo;0;L;;;;;N;;;;;
+B15C;HANGUL SYLLABLE NYE;Lo;0;L;;;;;N;;;;;
+B15D;HANGUL SYLLABLE NYEG;Lo;0;L;;;;;N;;;;;
+B15E;HANGUL SYLLABLE NYEGG;Lo;0;L;;;;;N;;;;;
+B15F;HANGUL SYLLABLE NYEGS;Lo;0;L;;;;;N;;;;;
+B160;HANGUL SYLLABLE NYEN;Lo;0;L;;;;;N;;;;;
+B161;HANGUL SYLLABLE NYENI;Lo;0;L;;;;;N;;;;;
+B162;HANGUL SYLLABLE NYENH;Lo;0;L;;;;;N;;;;;
+B163;HANGUL SYLLABLE NYED;Lo;0;L;;;;;N;;;;;
+B164;HANGUL SYLLABLE NYEL;Lo;0;L;;;;;N;;;;;
+B165;HANGUL SYLLABLE NYELG;Lo;0;L;;;;;N;;;;;
+B166;HANGUL SYLLABLE NYELM;Lo;0;L;;;;;N;;;;;
+B167;HANGUL SYLLABLE NYELB;Lo;0;L;;;;;N;;;;;
+B168;HANGUL SYLLABLE NYELS;Lo;0;L;;;;;N;;;;;
+B169;HANGUL SYLLABLE NYELT;Lo;0;L;;;;;N;;;;;
+B16A;HANGUL SYLLABLE NYELP;Lo;0;L;;;;;N;;;;;
+B16B;HANGUL SYLLABLE NYELH;Lo;0;L;;;;;N;;;;;
+B16C;HANGUL SYLLABLE NYEM;Lo;0;L;;;;;N;;;;;
+B16D;HANGUL SYLLABLE NYEB;Lo;0;L;;;;;N;;;;;
+B16E;HANGUL SYLLABLE NYEBS;Lo;0;L;;;;;N;;;;;
+B16F;HANGUL SYLLABLE NYES;Lo;0;L;;;;;N;;;;;
+B170;HANGUL SYLLABLE NYESS;Lo;0;L;;;;;N;;;;;
+B171;HANGUL SYLLABLE NYENG;Lo;0;L;;;;;N;;;;;
+B172;HANGUL SYLLABLE NYEJ;Lo;0;L;;;;;N;;;;;
+B173;HANGUL SYLLABLE NYEC;Lo;0;L;;;;;N;;;;;
+B174;HANGUL SYLLABLE NYEK;Lo;0;L;;;;;N;;;;;
+B175;HANGUL SYLLABLE NYET;Lo;0;L;;;;;N;;;;;
+B176;HANGUL SYLLABLE NYEP;Lo;0;L;;;;;N;;;;;
+B177;HANGUL SYLLABLE NYEH;Lo;0;L;;;;;N;;;;;
+B178;HANGUL SYLLABLE NO;Lo;0;L;;;;;N;;;;;
+B179;HANGUL SYLLABLE NOG;Lo;0;L;;;;;N;;;;;
+B17A;HANGUL SYLLABLE NOGG;Lo;0;L;;;;;N;;;;;
+B17B;HANGUL SYLLABLE NOGS;Lo;0;L;;;;;N;;;;;
+B17C;HANGUL SYLLABLE NON;Lo;0;L;;;;;N;;;;;
+B17D;HANGUL SYLLABLE NONI;Lo;0;L;;;;;N;;;;;
+B17E;HANGUL SYLLABLE NONH;Lo;0;L;;;;;N;;;;;
+B17F;HANGUL SYLLABLE NOD;Lo;0;L;;;;;N;;;;;
+B180;HANGUL SYLLABLE NOL;Lo;0;L;;;;;N;;;;;
+B181;HANGUL SYLLABLE NOLG;Lo;0;L;;;;;N;;;;;
+B182;HANGUL SYLLABLE NOLM;Lo;0;L;;;;;N;;;;;
+B183;HANGUL SYLLABLE NOLB;Lo;0;L;;;;;N;;;;;
+B184;HANGUL SYLLABLE NOLS;Lo;0;L;;;;;N;;;;;
+B185;HANGUL SYLLABLE NOLT;Lo;0;L;;;;;N;;;;;
+B186;HANGUL SYLLABLE NOLP;Lo;0;L;;;;;N;;;;;
+B187;HANGUL SYLLABLE NOLH;Lo;0;L;;;;;N;;;;;
+B188;HANGUL SYLLABLE NOM;Lo;0;L;;;;;N;;;;;
+B189;HANGUL SYLLABLE NOB;Lo;0;L;;;;;N;;;;;
+B18A;HANGUL SYLLABLE NOBS;Lo;0;L;;;;;N;;;;;
+B18B;HANGUL SYLLABLE NOS;Lo;0;L;;;;;N;;;;;
+B18C;HANGUL SYLLABLE NOSS;Lo;0;L;;;;;N;;;;;
+B18D;HANGUL SYLLABLE NONG;Lo;0;L;;;;;N;;;;;
+B18E;HANGUL SYLLABLE NOJ;Lo;0;L;;;;;N;;;;;
+B18F;HANGUL SYLLABLE NOC;Lo;0;L;;;;;N;;;;;
+B190;HANGUL SYLLABLE NOK;Lo;0;L;;;;;N;;;;;
+B191;HANGUL SYLLABLE NOT;Lo;0;L;;;;;N;;;;;
+B192;HANGUL SYLLABLE NOP;Lo;0;L;;;;;N;;;;;
+B193;HANGUL SYLLABLE NOH;Lo;0;L;;;;;N;;;;;
+B194;HANGUL SYLLABLE NWA;Lo;0;L;;;;;N;;;;;
+B195;HANGUL SYLLABLE NWAG;Lo;0;L;;;;;N;;;;;
+B196;HANGUL SYLLABLE NWAGG;Lo;0;L;;;;;N;;;;;
+B197;HANGUL SYLLABLE NWAGS;Lo;0;L;;;;;N;;;;;
+B198;HANGUL SYLLABLE NWAN;Lo;0;L;;;;;N;;;;;
+B199;HANGUL SYLLABLE NWANI;Lo;0;L;;;;;N;;;;;
+B19A;HANGUL SYLLABLE NWANH;Lo;0;L;;;;;N;;;;;
+B19B;HANGUL SYLLABLE NWAD;Lo;0;L;;;;;N;;;;;
+B19C;HANGUL SYLLABLE NWAL;Lo;0;L;;;;;N;;;;;
+B19D;HANGUL SYLLABLE NWALG;Lo;0;L;;;;;N;;;;;
+B19E;HANGUL SYLLABLE NWALM;Lo;0;L;;;;;N;;;;;
+B19F;HANGUL SYLLABLE NWALB;Lo;0;L;;;;;N;;;;;
+B1A0;HANGUL SYLLABLE NWALS;Lo;0;L;;;;;N;;;;;
+B1A1;HANGUL SYLLABLE NWALT;Lo;0;L;;;;;N;;;;;
+B1A2;HANGUL SYLLABLE NWALP;Lo;0;L;;;;;N;;;;;
+B1A3;HANGUL SYLLABLE NWALH;Lo;0;L;;;;;N;;;;;
+B1A4;HANGUL SYLLABLE NWAM;Lo;0;L;;;;;N;;;;;
+B1A5;HANGUL SYLLABLE NWAB;Lo;0;L;;;;;N;;;;;
+B1A6;HANGUL SYLLABLE NWABS;Lo;0;L;;;;;N;;;;;
+B1A7;HANGUL SYLLABLE NWAS;Lo;0;L;;;;;N;;;;;
+B1A8;HANGUL SYLLABLE NWASS;Lo;0;L;;;;;N;;;;;
+B1A9;HANGUL SYLLABLE NWANG;Lo;0;L;;;;;N;;;;;
+B1AA;HANGUL SYLLABLE NWAJ;Lo;0;L;;;;;N;;;;;
+B1AB;HANGUL SYLLABLE NWAC;Lo;0;L;;;;;N;;;;;
+B1AC;HANGUL SYLLABLE NWAK;Lo;0;L;;;;;N;;;;;
+B1AD;HANGUL SYLLABLE NWAT;Lo;0;L;;;;;N;;;;;
+B1AE;HANGUL SYLLABLE NWAP;Lo;0;L;;;;;N;;;;;
+B1AF;HANGUL SYLLABLE NWAH;Lo;0;L;;;;;N;;;;;
+B1B0;HANGUL SYLLABLE NWAE;Lo;0;L;;;;;N;;;;;
+B1B1;HANGUL SYLLABLE NWAEG;Lo;0;L;;;;;N;;;;;
+B1B2;HANGUL SYLLABLE NWAEGG;Lo;0;L;;;;;N;;;;;
+B1B3;HANGUL SYLLABLE NWAEGS;Lo;0;L;;;;;N;;;;;
+B1B4;HANGUL SYLLABLE NWAEN;Lo;0;L;;;;;N;;;;;
+B1B5;HANGUL SYLLABLE NWAENI;Lo;0;L;;;;;N;;;;;
+B1B6;HANGUL SYLLABLE NWAENH;Lo;0;L;;;;;N;;;;;
+B1B7;HANGUL SYLLABLE NWAED;Lo;0;L;;;;;N;;;;;
+B1B8;HANGUL SYLLABLE NWAEL;Lo;0;L;;;;;N;;;;;
+B1B9;HANGUL SYLLABLE NWAELG;Lo;0;L;;;;;N;;;;;
+B1BA;HANGUL SYLLABLE NWAELM;Lo;0;L;;;;;N;;;;;
+B1BB;HANGUL SYLLABLE NWAELB;Lo;0;L;;;;;N;;;;;
+B1BC;HANGUL SYLLABLE NWAELS;Lo;0;L;;;;;N;;;;;
+B1BD;HANGUL SYLLABLE NWAELT;Lo;0;L;;;;;N;;;;;
+B1BE;HANGUL SYLLABLE NWAELP;Lo;0;L;;;;;N;;;;;
+B1BF;HANGUL SYLLABLE NWAELH;Lo;0;L;;;;;N;;;;;
+B1C0;HANGUL SYLLABLE NWAEM;Lo;0;L;;;;;N;;;;;
+B1C1;HANGUL SYLLABLE NWAEB;Lo;0;L;;;;;N;;;;;
+B1C2;HANGUL SYLLABLE NWAEBS;Lo;0;L;;;;;N;;;;;
+B1C3;HANGUL SYLLABLE NWAES;Lo;0;L;;;;;N;;;;;
+B1C4;HANGUL SYLLABLE NWAESS;Lo;0;L;;;;;N;;;;;
+B1C5;HANGUL SYLLABLE NWAENG;Lo;0;L;;;;;N;;;;;
+B1C6;HANGUL SYLLABLE NWAEJ;Lo;0;L;;;;;N;;;;;
+B1C7;HANGUL SYLLABLE NWAEC;Lo;0;L;;;;;N;;;;;
+B1C8;HANGUL SYLLABLE NWAEK;Lo;0;L;;;;;N;;;;;
+B1C9;HANGUL SYLLABLE NWAET;Lo;0;L;;;;;N;;;;;
+B1CA;HANGUL SYLLABLE NWAEP;Lo;0;L;;;;;N;;;;;
+B1CB;HANGUL SYLLABLE NWAEH;Lo;0;L;;;;;N;;;;;
+B1CC;HANGUL SYLLABLE NOE;Lo;0;L;;;;;N;;;;;
+B1CD;HANGUL SYLLABLE NOEG;Lo;0;L;;;;;N;;;;;
+B1CE;HANGUL SYLLABLE NOEGG;Lo;0;L;;;;;N;;;;;
+B1CF;HANGUL SYLLABLE NOEGS;Lo;0;L;;;;;N;;;;;
+B1D0;HANGUL SYLLABLE NOEN;Lo;0;L;;;;;N;;;;;
+B1D1;HANGUL SYLLABLE NOENI;Lo;0;L;;;;;N;;;;;
+B1D2;HANGUL SYLLABLE NOENH;Lo;0;L;;;;;N;;;;;
+B1D3;HANGUL SYLLABLE NOED;Lo;0;L;;;;;N;;;;;
+B1D4;HANGUL SYLLABLE NOEL;Lo;0;L;;;;;N;;;;;
+B1D5;HANGUL SYLLABLE NOELG;Lo;0;L;;;;;N;;;;;
+B1D6;HANGUL SYLLABLE NOELM;Lo;0;L;;;;;N;;;;;
+B1D7;HANGUL SYLLABLE NOELB;Lo;0;L;;;;;N;;;;;
+B1D8;HANGUL SYLLABLE NOELS;Lo;0;L;;;;;N;;;;;
+B1D9;HANGUL SYLLABLE NOELT;Lo;0;L;;;;;N;;;;;
+B1DA;HANGUL SYLLABLE NOELP;Lo;0;L;;;;;N;;;;;
+B1DB;HANGUL SYLLABLE NOELH;Lo;0;L;;;;;N;;;;;
+B1DC;HANGUL SYLLABLE NOEM;Lo;0;L;;;;;N;;;;;
+B1DD;HANGUL SYLLABLE NOEB;Lo;0;L;;;;;N;;;;;
+B1DE;HANGUL SYLLABLE NOEBS;Lo;0;L;;;;;N;;;;;
+B1DF;HANGUL SYLLABLE NOES;Lo;0;L;;;;;N;;;;;
+B1E0;HANGUL SYLLABLE NOESS;Lo;0;L;;;;;N;;;;;
+B1E1;HANGUL SYLLABLE NOENG;Lo;0;L;;;;;N;;;;;
+B1E2;HANGUL SYLLABLE NOEJ;Lo;0;L;;;;;N;;;;;
+B1E3;HANGUL SYLLABLE NOEC;Lo;0;L;;;;;N;;;;;
+B1E4;HANGUL SYLLABLE NOEK;Lo;0;L;;;;;N;;;;;
+B1E5;HANGUL SYLLABLE NOET;Lo;0;L;;;;;N;;;;;
+B1E6;HANGUL SYLLABLE NOEP;Lo;0;L;;;;;N;;;;;
+B1E7;HANGUL SYLLABLE NOEH;Lo;0;L;;;;;N;;;;;
+B1E8;HANGUL SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
+B1E9;HANGUL SYLLABLE NYOG;Lo;0;L;;;;;N;;;;;
+B1EA;HANGUL SYLLABLE NYOGG;Lo;0;L;;;;;N;;;;;
+B1EB;HANGUL SYLLABLE NYOGS;Lo;0;L;;;;;N;;;;;
+B1EC;HANGUL SYLLABLE NYON;Lo;0;L;;;;;N;;;;;
+B1ED;HANGUL SYLLABLE NYONI;Lo;0;L;;;;;N;;;;;
+B1EE;HANGUL SYLLABLE NYONH;Lo;0;L;;;;;N;;;;;
+B1EF;HANGUL SYLLABLE NYOD;Lo;0;L;;;;;N;;;;;
+B1F0;HANGUL SYLLABLE NYOL;Lo;0;L;;;;;N;;;;;
+B1F1;HANGUL SYLLABLE NYOLG;Lo;0;L;;;;;N;;;;;
+B1F2;HANGUL SYLLABLE NYOLM;Lo;0;L;;;;;N;;;;;
+B1F3;HANGUL SYLLABLE NYOLB;Lo;0;L;;;;;N;;;;;
+B1F4;HANGUL SYLLABLE NYOLS;Lo;0;L;;;;;N;;;;;
+B1F5;HANGUL SYLLABLE NYOLT;Lo;0;L;;;;;N;;;;;
+B1F6;HANGUL SYLLABLE NYOLP;Lo;0;L;;;;;N;;;;;
+B1F7;HANGUL SYLLABLE NYOLH;Lo;0;L;;;;;N;;;;;
+B1F8;HANGUL SYLLABLE NYOM;Lo;0;L;;;;;N;;;;;
+B1F9;HANGUL SYLLABLE NYOB;Lo;0;L;;;;;N;;;;;
+B1FA;HANGUL SYLLABLE NYOBS;Lo;0;L;;;;;N;;;;;
+B1FB;HANGUL SYLLABLE NYOS;Lo;0;L;;;;;N;;;;;
+B1FC;HANGUL SYLLABLE NYOSS;Lo;0;L;;;;;N;;;;;
+B1FD;HANGUL SYLLABLE NYONG;Lo;0;L;;;;;N;;;;;
+B1FE;HANGUL SYLLABLE NYOJ;Lo;0;L;;;;;N;;;;;
+B1FF;HANGUL SYLLABLE NYOC;Lo;0;L;;;;;N;;;;;
+B200;HANGUL SYLLABLE NYOK;Lo;0;L;;;;;N;;;;;
+B201;HANGUL SYLLABLE NYOT;Lo;0;L;;;;;N;;;;;
+B202;HANGUL SYLLABLE NYOP;Lo;0;L;;;;;N;;;;;
+B203;HANGUL SYLLABLE NYOH;Lo;0;L;;;;;N;;;;;
+B204;HANGUL SYLLABLE NU;Lo;0;L;;;;;N;;;;;
+B205;HANGUL SYLLABLE NUG;Lo;0;L;;;;;N;;;;;
+B206;HANGUL SYLLABLE NUGG;Lo;0;L;;;;;N;;;;;
+B207;HANGUL SYLLABLE NUGS;Lo;0;L;;;;;N;;;;;
+B208;HANGUL SYLLABLE NUN;Lo;0;L;;;;;N;;;;;
+B209;HANGUL SYLLABLE NUNI;Lo;0;L;;;;;N;;;;;
+B20A;HANGUL SYLLABLE NUNH;Lo;0;L;;;;;N;;;;;
+B20B;HANGUL SYLLABLE NUD;Lo;0;L;;;;;N;;;;;
+B20C;HANGUL SYLLABLE NUL;Lo;0;L;;;;;N;;;;;
+B20D;HANGUL SYLLABLE NULG;Lo;0;L;;;;;N;;;;;
+B20E;HANGUL SYLLABLE NULM;Lo;0;L;;;;;N;;;;;
+B20F;HANGUL SYLLABLE NULB;Lo;0;L;;;;;N;;;;;
+B210;HANGUL SYLLABLE NULS;Lo;0;L;;;;;N;;;;;
+B211;HANGUL SYLLABLE NULT;Lo;0;L;;;;;N;;;;;
+B212;HANGUL SYLLABLE NULP;Lo;0;L;;;;;N;;;;;
+B213;HANGUL SYLLABLE NULH;Lo;0;L;;;;;N;;;;;
+B214;HANGUL SYLLABLE NUM;Lo;0;L;;;;;N;;;;;
+B215;HANGUL SYLLABLE NUB;Lo;0;L;;;;;N;;;;;
+B216;HANGUL SYLLABLE NUBS;Lo;0;L;;;;;N;;;;;
+B217;HANGUL SYLLABLE NUS;Lo;0;L;;;;;N;;;;;
+B218;HANGUL SYLLABLE NUSS;Lo;0;L;;;;;N;;;;;
+B219;HANGUL SYLLABLE NUNG;Lo;0;L;;;;;N;;;;;
+B21A;HANGUL SYLLABLE NUJ;Lo;0;L;;;;;N;;;;;
+B21B;HANGUL SYLLABLE NUC;Lo;0;L;;;;;N;;;;;
+B21C;HANGUL SYLLABLE NUK;Lo;0;L;;;;;N;;;;;
+B21D;HANGUL SYLLABLE NUT;Lo;0;L;;;;;N;;;;;
+B21E;HANGUL SYLLABLE NUP;Lo;0;L;;;;;N;;;;;
+B21F;HANGUL SYLLABLE NUH;Lo;0;L;;;;;N;;;;;
+B220;HANGUL SYLLABLE NWEO;Lo;0;L;;;;;N;;;;;
+B221;HANGUL SYLLABLE NWEOG;Lo;0;L;;;;;N;;;;;
+B222;HANGUL SYLLABLE NWEOGG;Lo;0;L;;;;;N;;;;;
+B223;HANGUL SYLLABLE NWEOGS;Lo;0;L;;;;;N;;;;;
+B224;HANGUL SYLLABLE NWEON;Lo;0;L;;;;;N;;;;;
+B225;HANGUL SYLLABLE NWEONI;Lo;0;L;;;;;N;;;;;
+B226;HANGUL SYLLABLE NWEONH;Lo;0;L;;;;;N;;;;;
+B227;HANGUL SYLLABLE NWEOD;Lo;0;L;;;;;N;;;;;
+B228;HANGUL SYLLABLE NWEOL;Lo;0;L;;;;;N;;;;;
+B229;HANGUL SYLLABLE NWEOLG;Lo;0;L;;;;;N;;;;;
+B22A;HANGUL SYLLABLE NWEOLM;Lo;0;L;;;;;N;;;;;
+B22B;HANGUL SYLLABLE NWEOLB;Lo;0;L;;;;;N;;;;;
+B22C;HANGUL SYLLABLE NWEOLS;Lo;0;L;;;;;N;;;;;
+B22D;HANGUL SYLLABLE NWEOLT;Lo;0;L;;;;;N;;;;;
+B22E;HANGUL SYLLABLE NWEOLP;Lo;0;L;;;;;N;;;;;
+B22F;HANGUL SYLLABLE NWEOLH;Lo;0;L;;;;;N;;;;;
+B230;HANGUL SYLLABLE NWEOM;Lo;0;L;;;;;N;;;;;
+B231;HANGUL SYLLABLE NWEOB;Lo;0;L;;;;;N;;;;;
+B232;HANGUL SYLLABLE NWEOBS;Lo;0;L;;;;;N;;;;;
+B233;HANGUL SYLLABLE NWEOS;Lo;0;L;;;;;N;;;;;
+B234;HANGUL SYLLABLE NWEOSS;Lo;0;L;;;;;N;;;;;
+B235;HANGUL SYLLABLE NWEONG;Lo;0;L;;;;;N;;;;;
+B236;HANGUL SYLLABLE NWEOJ;Lo;0;L;;;;;N;;;;;
+B237;HANGUL SYLLABLE NWEOC;Lo;0;L;;;;;N;;;;;
+B238;HANGUL SYLLABLE NWEOK;Lo;0;L;;;;;N;;;;;
+B239;HANGUL SYLLABLE NWEOT;Lo;0;L;;;;;N;;;;;
+B23A;HANGUL SYLLABLE NWEOP;Lo;0;L;;;;;N;;;;;
+B23B;HANGUL SYLLABLE NWEOH;Lo;0;L;;;;;N;;;;;
+B23C;HANGUL SYLLABLE NWE;Lo;0;L;;;;;N;;;;;
+B23D;HANGUL SYLLABLE NWEG;Lo;0;L;;;;;N;;;;;
+B23E;HANGUL SYLLABLE NWEGG;Lo;0;L;;;;;N;;;;;
+B23F;HANGUL SYLLABLE NWEGS;Lo;0;L;;;;;N;;;;;
+B240;HANGUL SYLLABLE NWEN;Lo;0;L;;;;;N;;;;;
+B241;HANGUL SYLLABLE NWENI;Lo;0;L;;;;;N;;;;;
+B242;HANGUL SYLLABLE NWENH;Lo;0;L;;;;;N;;;;;
+B243;HANGUL SYLLABLE NWED;Lo;0;L;;;;;N;;;;;
+B244;HANGUL SYLLABLE NWEL;Lo;0;L;;;;;N;;;;;
+B245;HANGUL SYLLABLE NWELG;Lo;0;L;;;;;N;;;;;
+B246;HANGUL SYLLABLE NWELM;Lo;0;L;;;;;N;;;;;
+B247;HANGUL SYLLABLE NWELB;Lo;0;L;;;;;N;;;;;
+B248;HANGUL SYLLABLE NWELS;Lo;0;L;;;;;N;;;;;
+B249;HANGUL SYLLABLE NWELT;Lo;0;L;;;;;N;;;;;
+B24A;HANGUL SYLLABLE NWELP;Lo;0;L;;;;;N;;;;;
+B24B;HANGUL SYLLABLE NWELH;Lo;0;L;;;;;N;;;;;
+B24C;HANGUL SYLLABLE NWEM;Lo;0;L;;;;;N;;;;;
+B24D;HANGUL SYLLABLE NWEB;Lo;0;L;;;;;N;;;;;
+B24E;HANGUL SYLLABLE NWEBS;Lo;0;L;;;;;N;;;;;
+B24F;HANGUL SYLLABLE NWES;Lo;0;L;;;;;N;;;;;
+B250;HANGUL SYLLABLE NWESS;Lo;0;L;;;;;N;;;;;
+B251;HANGUL SYLLABLE NWENG;Lo;0;L;;;;;N;;;;;
+B252;HANGUL SYLLABLE NWEJ;Lo;0;L;;;;;N;;;;;
+B253;HANGUL SYLLABLE NWEC;Lo;0;L;;;;;N;;;;;
+B254;HANGUL SYLLABLE NWEK;Lo;0;L;;;;;N;;;;;
+B255;HANGUL SYLLABLE NWET;Lo;0;L;;;;;N;;;;;
+B256;HANGUL SYLLABLE NWEP;Lo;0;L;;;;;N;;;;;
+B257;HANGUL SYLLABLE NWEH;Lo;0;L;;;;;N;;;;;
+B258;HANGUL SYLLABLE NWI;Lo;0;L;;;;;N;;;;;
+B259;HANGUL SYLLABLE NWIG;Lo;0;L;;;;;N;;;;;
+B25A;HANGUL SYLLABLE NWIGG;Lo;0;L;;;;;N;;;;;
+B25B;HANGUL SYLLABLE NWIGS;Lo;0;L;;;;;N;;;;;
+B25C;HANGUL SYLLABLE NWIN;Lo;0;L;;;;;N;;;;;
+B25D;HANGUL SYLLABLE NWINI;Lo;0;L;;;;;N;;;;;
+B25E;HANGUL SYLLABLE NWINH;Lo;0;L;;;;;N;;;;;
+B25F;HANGUL SYLLABLE NWID;Lo;0;L;;;;;N;;;;;
+B260;HANGUL SYLLABLE NWIL;Lo;0;L;;;;;N;;;;;
+B261;HANGUL SYLLABLE NWILG;Lo;0;L;;;;;N;;;;;
+B262;HANGUL SYLLABLE NWILM;Lo;0;L;;;;;N;;;;;
+B263;HANGUL SYLLABLE NWILB;Lo;0;L;;;;;N;;;;;
+B264;HANGUL SYLLABLE NWILS;Lo;0;L;;;;;N;;;;;
+B265;HANGUL SYLLABLE NWILT;Lo;0;L;;;;;N;;;;;
+B266;HANGUL SYLLABLE NWILP;Lo;0;L;;;;;N;;;;;
+B267;HANGUL SYLLABLE NWILH;Lo;0;L;;;;;N;;;;;
+B268;HANGUL SYLLABLE NWIM;Lo;0;L;;;;;N;;;;;
+B269;HANGUL SYLLABLE NWIB;Lo;0;L;;;;;N;;;;;
+B26A;HANGUL SYLLABLE NWIBS;Lo;0;L;;;;;N;;;;;
+B26B;HANGUL SYLLABLE NWIS;Lo;0;L;;;;;N;;;;;
+B26C;HANGUL SYLLABLE NWISS;Lo;0;L;;;;;N;;;;;
+B26D;HANGUL SYLLABLE NWING;Lo;0;L;;;;;N;;;;;
+B26E;HANGUL SYLLABLE NWIJ;Lo;0;L;;;;;N;;;;;
+B26F;HANGUL SYLLABLE NWIC;Lo;0;L;;;;;N;;;;;
+B270;HANGUL SYLLABLE NWIK;Lo;0;L;;;;;N;;;;;
+B271;HANGUL SYLLABLE NWIT;Lo;0;L;;;;;N;;;;;
+B272;HANGUL SYLLABLE NWIP;Lo;0;L;;;;;N;;;;;
+B273;HANGUL SYLLABLE NWIH;Lo;0;L;;;;;N;;;;;
+B274;HANGUL SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
+B275;HANGUL SYLLABLE NYUG;Lo;0;L;;;;;N;;;;;
+B276;HANGUL SYLLABLE NYUGG;Lo;0;L;;;;;N;;;;;
+B277;HANGUL SYLLABLE NYUGS;Lo;0;L;;;;;N;;;;;
+B278;HANGUL SYLLABLE NYUN;Lo;0;L;;;;;N;;;;;
+B279;HANGUL SYLLABLE NYUNI;Lo;0;L;;;;;N;;;;;
+B27A;HANGUL SYLLABLE NYUNH;Lo;0;L;;;;;N;;;;;
+B27B;HANGUL SYLLABLE NYUD;Lo;0;L;;;;;N;;;;;
+B27C;HANGUL SYLLABLE NYUL;Lo;0;L;;;;;N;;;;;
+B27D;HANGUL SYLLABLE NYULG;Lo;0;L;;;;;N;;;;;
+B27E;HANGUL SYLLABLE NYULM;Lo;0;L;;;;;N;;;;;
+B27F;HANGUL SYLLABLE NYULB;Lo;0;L;;;;;N;;;;;
+B280;HANGUL SYLLABLE NYULS;Lo;0;L;;;;;N;;;;;
+B281;HANGUL SYLLABLE NYULT;Lo;0;L;;;;;N;;;;;
+B282;HANGUL SYLLABLE NYULP;Lo;0;L;;;;;N;;;;;
+B283;HANGUL SYLLABLE NYULH;Lo;0;L;;;;;N;;;;;
+B284;HANGUL SYLLABLE NYUM;Lo;0;L;;;;;N;;;;;
+B285;HANGUL SYLLABLE NYUB;Lo;0;L;;;;;N;;;;;
+B286;HANGUL SYLLABLE NYUBS;Lo;0;L;;;;;N;;;;;
+B287;HANGUL SYLLABLE NYUS;Lo;0;L;;;;;N;;;;;
+B288;HANGUL SYLLABLE NYUSS;Lo;0;L;;;;;N;;;;;
+B289;HANGUL SYLLABLE NYUNG;Lo;0;L;;;;;N;;;;;
+B28A;HANGUL SYLLABLE NYUJ;Lo;0;L;;;;;N;;;;;
+B28B;HANGUL SYLLABLE NYUC;Lo;0;L;;;;;N;;;;;
+B28C;HANGUL SYLLABLE NYUK;Lo;0;L;;;;;N;;;;;
+B28D;HANGUL SYLLABLE NYUT;Lo;0;L;;;;;N;;;;;
+B28E;HANGUL SYLLABLE NYUP;Lo;0;L;;;;;N;;;;;
+B28F;HANGUL SYLLABLE NYUH;Lo;0;L;;;;;N;;;;;
+B290;HANGUL SYLLABLE NEU;Lo;0;L;;;;;N;;;;;
+B291;HANGUL SYLLABLE NEUG;Lo;0;L;;;;;N;;;;;
+B292;HANGUL SYLLABLE NEUGG;Lo;0;L;;;;;N;;;;;
+B293;HANGUL SYLLABLE NEUGS;Lo;0;L;;;;;N;;;;;
+B294;HANGUL SYLLABLE NEUN;Lo;0;L;;;;;N;;;;;
+B295;HANGUL SYLLABLE NEUNI;Lo;0;L;;;;;N;;;;;
+B296;HANGUL SYLLABLE NEUNH;Lo;0;L;;;;;N;;;;;
+B297;HANGUL SYLLABLE NEUD;Lo;0;L;;;;;N;;;;;
+B298;HANGUL SYLLABLE NEUL;Lo;0;L;;;;;N;;;;;
+B299;HANGUL SYLLABLE NEULG;Lo;0;L;;;;;N;;;;;
+B29A;HANGUL SYLLABLE NEULM;Lo;0;L;;;;;N;;;;;
+B29B;HANGUL SYLLABLE NEULB;Lo;0;L;;;;;N;;;;;
+B29C;HANGUL SYLLABLE NEULS;Lo;0;L;;;;;N;;;;;
+B29D;HANGUL SYLLABLE NEULT;Lo;0;L;;;;;N;;;;;
+B29E;HANGUL SYLLABLE NEULP;Lo;0;L;;;;;N;;;;;
+B29F;HANGUL SYLLABLE NEULH;Lo;0;L;;;;;N;;;;;
+B2A0;HANGUL SYLLABLE NEUM;Lo;0;L;;;;;N;;;;;
+B2A1;HANGUL SYLLABLE NEUB;Lo;0;L;;;;;N;;;;;
+B2A2;HANGUL SYLLABLE NEUBS;Lo;0;L;;;;;N;;;;;
+B2A3;HANGUL SYLLABLE NEUS;Lo;0;L;;;;;N;;;;;
+B2A4;HANGUL SYLLABLE NEUSS;Lo;0;L;;;;;N;;;;;
+B2A5;HANGUL SYLLABLE NEUNG;Lo;0;L;;;;;N;;;;;
+B2A6;HANGUL SYLLABLE NEUJ;Lo;0;L;;;;;N;;;;;
+B2A7;HANGUL SYLLABLE NEUC;Lo;0;L;;;;;N;;;;;
+B2A8;HANGUL SYLLABLE NEUK;Lo;0;L;;;;;N;;;;;
+B2A9;HANGUL SYLLABLE NEUT;Lo;0;L;;;;;N;;;;;
+B2AA;HANGUL SYLLABLE NEUP;Lo;0;L;;;;;N;;;;;
+B2AB;HANGUL SYLLABLE NEUH;Lo;0;L;;;;;N;;;;;
+B2AC;HANGUL SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
+B2AD;HANGUL SYLLABLE NYIG;Lo;0;L;;;;;N;;;;;
+B2AE;HANGUL SYLLABLE NYIGG;Lo;0;L;;;;;N;;;;;
+B2AF;HANGUL SYLLABLE NYIGS;Lo;0;L;;;;;N;;;;;
+B2B0;HANGUL SYLLABLE NYIN;Lo;0;L;;;;;N;;;;;
+B2B1;HANGUL SYLLABLE NYINI;Lo;0;L;;;;;N;;;;;
+B2B2;HANGUL SYLLABLE NYINH;Lo;0;L;;;;;N;;;;;
+B2B3;HANGUL SYLLABLE NYID;Lo;0;L;;;;;N;;;;;
+B2B4;HANGUL SYLLABLE NYIL;Lo;0;L;;;;;N;;;;;
+B2B5;HANGUL SYLLABLE NYILG;Lo;0;L;;;;;N;;;;;
+B2B6;HANGUL SYLLABLE NYILM;Lo;0;L;;;;;N;;;;;
+B2B7;HANGUL SYLLABLE NYILB;Lo;0;L;;;;;N;;;;;
+B2B8;HANGUL SYLLABLE NYILS;Lo;0;L;;;;;N;;;;;
+B2B9;HANGUL SYLLABLE NYILT;Lo;0;L;;;;;N;;;;;
+B2BA;HANGUL SYLLABLE NYILP;Lo;0;L;;;;;N;;;;;
+B2BB;HANGUL SYLLABLE NYILH;Lo;0;L;;;;;N;;;;;
+B2BC;HANGUL SYLLABLE NYIM;Lo;0;L;;;;;N;;;;;
+B2BD;HANGUL SYLLABLE NYIB;Lo;0;L;;;;;N;;;;;
+B2BE;HANGUL SYLLABLE NYIBS;Lo;0;L;;;;;N;;;;;
+B2BF;HANGUL SYLLABLE NYIS;Lo;0;L;;;;;N;;;;;
+B2C0;HANGUL SYLLABLE NYISS;Lo;0;L;;;;;N;;;;;
+B2C1;HANGUL SYLLABLE NYING;Lo;0;L;;;;;N;;;;;
+B2C2;HANGUL SYLLABLE NYIJ;Lo;0;L;;;;;N;;;;;
+B2C3;HANGUL SYLLABLE NYIC;Lo;0;L;;;;;N;;;;;
+B2C4;HANGUL SYLLABLE NYIK;Lo;0;L;;;;;N;;;;;
+B2C5;HANGUL SYLLABLE NYIT;Lo;0;L;;;;;N;;;;;
+B2C6;HANGUL SYLLABLE NYIP;Lo;0;L;;;;;N;;;;;
+B2C7;HANGUL SYLLABLE NYIH;Lo;0;L;;;;;N;;;;;
+B2C8;HANGUL SYLLABLE NI;Lo;0;L;;;;;N;;;;;
+B2C9;HANGUL SYLLABLE NIG;Lo;0;L;;;;;N;;;;;
+B2CA;HANGUL SYLLABLE NIGG;Lo;0;L;;;;;N;;;;;
+B2CB;HANGUL SYLLABLE NIGS;Lo;0;L;;;;;N;;;;;
+B2CC;HANGUL SYLLABLE NIN;Lo;0;L;;;;;N;;;;;
+B2CD;HANGUL SYLLABLE NINI;Lo;0;L;;;;;N;;;;;
+B2CE;HANGUL SYLLABLE NINH;Lo;0;L;;;;;N;;;;;
+B2CF;HANGUL SYLLABLE NID;Lo;0;L;;;;;N;;;;;
+B2D0;HANGUL SYLLABLE NIL;Lo;0;L;;;;;N;;;;;
+B2D1;HANGUL SYLLABLE NILG;Lo;0;L;;;;;N;;;;;
+B2D2;HANGUL SYLLABLE NILM;Lo;0;L;;;;;N;;;;;
+B2D3;HANGUL SYLLABLE NILB;Lo;0;L;;;;;N;;;;;
+B2D4;HANGUL SYLLABLE NILS;Lo;0;L;;;;;N;;;;;
+B2D5;HANGUL SYLLABLE NILT;Lo;0;L;;;;;N;;;;;
+B2D6;HANGUL SYLLABLE NILP;Lo;0;L;;;;;N;;;;;
+B2D7;HANGUL SYLLABLE NILH;Lo;0;L;;;;;N;;;;;
+B2D8;HANGUL SYLLABLE NIM;Lo;0;L;;;;;N;;;;;
+B2D9;HANGUL SYLLABLE NIB;Lo;0;L;;;;;N;;;;;
+B2DA;HANGUL SYLLABLE NIBS;Lo;0;L;;;;;N;;;;;
+B2DB;HANGUL SYLLABLE NIS;Lo;0;L;;;;;N;;;;;
+B2DC;HANGUL SYLLABLE NISS;Lo;0;L;;;;;N;;;;;
+B2DD;HANGUL SYLLABLE NING;Lo;0;L;;;;;N;;;;;
+B2DE;HANGUL SYLLABLE NIJ;Lo;0;L;;;;;N;;;;;
+B2DF;HANGUL SYLLABLE NIC;Lo;0;L;;;;;N;;;;;
+B2E0;HANGUL SYLLABLE NIK;Lo;0;L;;;;;N;;;;;
+B2E1;HANGUL SYLLABLE NIT;Lo;0;L;;;;;N;;;;;
+B2E2;HANGUL SYLLABLE NIP;Lo;0;L;;;;;N;;;;;
+B2E3;HANGUL SYLLABLE NIH;Lo;0;L;;;;;N;;;;;
+B2E4;HANGUL SYLLABLE DA;Lo;0;L;;;;;N;;;;;
+B2E5;HANGUL SYLLABLE DAG;Lo;0;L;;;;;N;;;;;
+B2E6;HANGUL SYLLABLE DAGG;Lo;0;L;;;;;N;;;;;
+B2E7;HANGUL SYLLABLE DAGS;Lo;0;L;;;;;N;;;;;
+B2E8;HANGUL SYLLABLE DAN;Lo;0;L;;;;;N;;;;;
+B2E9;HANGUL SYLLABLE DANI;Lo;0;L;;;;;N;;;;;
+B2EA;HANGUL SYLLABLE DANH;Lo;0;L;;;;;N;;;;;
+B2EB;HANGUL SYLLABLE DAD;Lo;0;L;;;;;N;;;;;
+B2EC;HANGUL SYLLABLE DAL;Lo;0;L;;;;;N;;;;;
+B2ED;HANGUL SYLLABLE DALG;Lo;0;L;;;;;N;;;;;
+B2EE;HANGUL SYLLABLE DALM;Lo;0;L;;;;;N;;;;;
+B2EF;HANGUL SYLLABLE DALB;Lo;0;L;;;;;N;;;;;
+B2F0;HANGUL SYLLABLE DALS;Lo;0;L;;;;;N;;;;;
+B2F1;HANGUL SYLLABLE DALT;Lo;0;L;;;;;N;;;;;
+B2F2;HANGUL SYLLABLE DALP;Lo;0;L;;;;;N;;;;;
+B2F3;HANGUL SYLLABLE DALH;Lo;0;L;;;;;N;;;;;
+B2F4;HANGUL SYLLABLE DAM;Lo;0;L;;;;;N;;;;;
+B2F5;HANGUL SYLLABLE DAB;Lo;0;L;;;;;N;;;;;
+B2F6;HANGUL SYLLABLE DABS;Lo;0;L;;;;;N;;;;;
+B2F7;HANGUL SYLLABLE DAS;Lo;0;L;;;;;N;;;;;
+B2F8;HANGUL SYLLABLE DASS;Lo;0;L;;;;;N;;;;;
+B2F9;HANGUL SYLLABLE DANG;Lo;0;L;;;;;N;;;;;
+B2FA;HANGUL SYLLABLE DAJ;Lo;0;L;;;;;N;;;;;
+B2FB;HANGUL SYLLABLE DAC;Lo;0;L;;;;;N;;;;;
+B2FC;HANGUL SYLLABLE DAK;Lo;0;L;;;;;N;;;;;
+B2FD;HANGUL SYLLABLE DAT;Lo;0;L;;;;;N;;;;;
+B2FE;HANGUL SYLLABLE DAP;Lo;0;L;;;;;N;;;;;
+B2FF;HANGUL SYLLABLE DAH;Lo;0;L;;;;;N;;;;;
+B300;HANGUL SYLLABLE DAE;Lo;0;L;;;;;N;;;;;
+B301;HANGUL SYLLABLE DAEG;Lo;0;L;;;;;N;;;;;
+B302;HANGUL SYLLABLE DAEGG;Lo;0;L;;;;;N;;;;;
+B303;HANGUL SYLLABLE DAEGS;Lo;0;L;;;;;N;;;;;
+B304;HANGUL SYLLABLE DAEN;Lo;0;L;;;;;N;;;;;
+B305;HANGUL SYLLABLE DAENI;Lo;0;L;;;;;N;;;;;
+B306;HANGUL SYLLABLE DAENH;Lo;0;L;;;;;N;;;;;
+B307;HANGUL SYLLABLE DAED;Lo;0;L;;;;;N;;;;;
+B308;HANGUL SYLLABLE DAEL;Lo;0;L;;;;;N;;;;;
+B309;HANGUL SYLLABLE DAELG;Lo;0;L;;;;;N;;;;;
+B30A;HANGUL SYLLABLE DAELM;Lo;0;L;;;;;N;;;;;
+B30B;HANGUL SYLLABLE DAELB;Lo;0;L;;;;;N;;;;;
+B30C;HANGUL SYLLABLE DAELS;Lo;0;L;;;;;N;;;;;
+B30D;HANGUL SYLLABLE DAELT;Lo;0;L;;;;;N;;;;;
+B30E;HANGUL SYLLABLE DAELP;Lo;0;L;;;;;N;;;;;
+B30F;HANGUL SYLLABLE DAELH;Lo;0;L;;;;;N;;;;;
+B310;HANGUL SYLLABLE DAEM;Lo;0;L;;;;;N;;;;;
+B311;HANGUL SYLLABLE DAEB;Lo;0;L;;;;;N;;;;;
+B312;HANGUL SYLLABLE DAEBS;Lo;0;L;;;;;N;;;;;
+B313;HANGUL SYLLABLE DAES;Lo;0;L;;;;;N;;;;;
+B314;HANGUL SYLLABLE DAESS;Lo;0;L;;;;;N;;;;;
+B315;HANGUL SYLLABLE DAENG;Lo;0;L;;;;;N;;;;;
+B316;HANGUL SYLLABLE DAEJ;Lo;0;L;;;;;N;;;;;
+B317;HANGUL SYLLABLE DAEC;Lo;0;L;;;;;N;;;;;
+B318;HANGUL SYLLABLE DAEK;Lo;0;L;;;;;N;;;;;
+B319;HANGUL SYLLABLE DAET;Lo;0;L;;;;;N;;;;;
+B31A;HANGUL SYLLABLE DAEP;Lo;0;L;;;;;N;;;;;
+B31B;HANGUL SYLLABLE DAEH;Lo;0;L;;;;;N;;;;;
+B31C;HANGUL SYLLABLE DYA;Lo;0;L;;;;;N;;;;;
+B31D;HANGUL SYLLABLE DYAG;Lo;0;L;;;;;N;;;;;
+B31E;HANGUL SYLLABLE DYAGG;Lo;0;L;;;;;N;;;;;
+B31F;HANGUL SYLLABLE DYAGS;Lo;0;L;;;;;N;;;;;
+B320;HANGUL SYLLABLE DYAN;Lo;0;L;;;;;N;;;;;
+B321;HANGUL SYLLABLE DYANI;Lo;0;L;;;;;N;;;;;
+B322;HANGUL SYLLABLE DYANH;Lo;0;L;;;;;N;;;;;
+B323;HANGUL SYLLABLE DYAD;Lo;0;L;;;;;N;;;;;
+B324;HANGUL SYLLABLE DYAL;Lo;0;L;;;;;N;;;;;
+B325;HANGUL SYLLABLE DYALG;Lo;0;L;;;;;N;;;;;
+B326;HANGUL SYLLABLE DYALM;Lo;0;L;;;;;N;;;;;
+B327;HANGUL SYLLABLE DYALB;Lo;0;L;;;;;N;;;;;
+B328;HANGUL SYLLABLE DYALS;Lo;0;L;;;;;N;;;;;
+B329;HANGUL SYLLABLE DYALT;Lo;0;L;;;;;N;;;;;
+B32A;HANGUL SYLLABLE DYALP;Lo;0;L;;;;;N;;;;;
+B32B;HANGUL SYLLABLE DYALH;Lo;0;L;;;;;N;;;;;
+B32C;HANGUL SYLLABLE DYAM;Lo;0;L;;;;;N;;;;;
+B32D;HANGUL SYLLABLE DYAB;Lo;0;L;;;;;N;;;;;
+B32E;HANGUL SYLLABLE DYABS;Lo;0;L;;;;;N;;;;;
+B32F;HANGUL SYLLABLE DYAS;Lo;0;L;;;;;N;;;;;
+B330;HANGUL SYLLABLE DYASS;Lo;0;L;;;;;N;;;;;
+B331;HANGUL SYLLABLE DYANG;Lo;0;L;;;;;N;;;;;
+B332;HANGUL SYLLABLE DYAJ;Lo;0;L;;;;;N;;;;;
+B333;HANGUL SYLLABLE DYAC;Lo;0;L;;;;;N;;;;;
+B334;HANGUL SYLLABLE DYAK;Lo;0;L;;;;;N;;;;;
+B335;HANGUL SYLLABLE DYAT;Lo;0;L;;;;;N;;;;;
+B336;HANGUL SYLLABLE DYAP;Lo;0;L;;;;;N;;;;;
+B337;HANGUL SYLLABLE DYAH;Lo;0;L;;;;;N;;;;;
+B338;HANGUL SYLLABLE DYAE;Lo;0;L;;;;;N;;;;;
+B339;HANGUL SYLLABLE DYAEG;Lo;0;L;;;;;N;;;;;
+B33A;HANGUL SYLLABLE DYAEGG;Lo;0;L;;;;;N;;;;;
+B33B;HANGUL SYLLABLE DYAEGS;Lo;0;L;;;;;N;;;;;
+B33C;HANGUL SYLLABLE DYAEN;Lo;0;L;;;;;N;;;;;
+B33D;HANGUL SYLLABLE DYAENI;Lo;0;L;;;;;N;;;;;
+B33E;HANGUL SYLLABLE DYAENH;Lo;0;L;;;;;N;;;;;
+B33F;HANGUL SYLLABLE DYAED;Lo;0;L;;;;;N;;;;;
+B340;HANGUL SYLLABLE DYAEL;Lo;0;L;;;;;N;;;;;
+B341;HANGUL SYLLABLE DYAELG;Lo;0;L;;;;;N;;;;;
+B342;HANGUL SYLLABLE DYAELM;Lo;0;L;;;;;N;;;;;
+B343;HANGUL SYLLABLE DYAELB;Lo;0;L;;;;;N;;;;;
+B344;HANGUL SYLLABLE DYAELS;Lo;0;L;;;;;N;;;;;
+B345;HANGUL SYLLABLE DYAELT;Lo;0;L;;;;;N;;;;;
+B346;HANGUL SYLLABLE DYAELP;Lo;0;L;;;;;N;;;;;
+B347;HANGUL SYLLABLE DYAELH;Lo;0;L;;;;;N;;;;;
+B348;HANGUL SYLLABLE DYAEM;Lo;0;L;;;;;N;;;;;
+B349;HANGUL SYLLABLE DYAEB;Lo;0;L;;;;;N;;;;;
+B34A;HANGUL SYLLABLE DYAEBS;Lo;0;L;;;;;N;;;;;
+B34B;HANGUL SYLLABLE DYAES;Lo;0;L;;;;;N;;;;;
+B34C;HANGUL SYLLABLE DYAESS;Lo;0;L;;;;;N;;;;;
+B34D;HANGUL SYLLABLE DYAENG;Lo;0;L;;;;;N;;;;;
+B34E;HANGUL SYLLABLE DYAEJ;Lo;0;L;;;;;N;;;;;
+B34F;HANGUL SYLLABLE DYAEC;Lo;0;L;;;;;N;;;;;
+B350;HANGUL SYLLABLE DYAEK;Lo;0;L;;;;;N;;;;;
+B351;HANGUL SYLLABLE DYAET;Lo;0;L;;;;;N;;;;;
+B352;HANGUL SYLLABLE DYAEP;Lo;0;L;;;;;N;;;;;
+B353;HANGUL SYLLABLE DYAEH;Lo;0;L;;;;;N;;;;;
+B354;HANGUL SYLLABLE DEO;Lo;0;L;;;;;N;;;;;
+B355;HANGUL SYLLABLE DEOG;Lo;0;L;;;;;N;;;;;
+B356;HANGUL SYLLABLE DEOGG;Lo;0;L;;;;;N;;;;;
+B357;HANGUL SYLLABLE DEOGS;Lo;0;L;;;;;N;;;;;
+B358;HANGUL SYLLABLE DEON;Lo;0;L;;;;;N;;;;;
+B359;HANGUL SYLLABLE DEONI;Lo;0;L;;;;;N;;;;;
+B35A;HANGUL SYLLABLE DEONH;Lo;0;L;;;;;N;;;;;
+B35B;HANGUL SYLLABLE DEOD;Lo;0;L;;;;;N;;;;;
+B35C;HANGUL SYLLABLE DEOL;Lo;0;L;;;;;N;;;;;
+B35D;HANGUL SYLLABLE DEOLG;Lo;0;L;;;;;N;;;;;
+B35E;HANGUL SYLLABLE DEOLM;Lo;0;L;;;;;N;;;;;
+B35F;HANGUL SYLLABLE DEOLB;Lo;0;L;;;;;N;;;;;
+B360;HANGUL SYLLABLE DEOLS;Lo;0;L;;;;;N;;;;;
+B361;HANGUL SYLLABLE DEOLT;Lo;0;L;;;;;N;;;;;
+B362;HANGUL SYLLABLE DEOLP;Lo;0;L;;;;;N;;;;;
+B363;HANGUL SYLLABLE DEOLH;Lo;0;L;;;;;N;;;;;
+B364;HANGUL SYLLABLE DEOM;Lo;0;L;;;;;N;;;;;
+B365;HANGUL SYLLABLE DEOB;Lo;0;L;;;;;N;;;;;
+B366;HANGUL SYLLABLE DEOBS;Lo;0;L;;;;;N;;;;;
+B367;HANGUL SYLLABLE DEOS;Lo;0;L;;;;;N;;;;;
+B368;HANGUL SYLLABLE DEOSS;Lo;0;L;;;;;N;;;;;
+B369;HANGUL SYLLABLE DEONG;Lo;0;L;;;;;N;;;;;
+B36A;HANGUL SYLLABLE DEOJ;Lo;0;L;;;;;N;;;;;
+B36B;HANGUL SYLLABLE DEOC;Lo;0;L;;;;;N;;;;;
+B36C;HANGUL SYLLABLE DEOK;Lo;0;L;;;;;N;;;;;
+B36D;HANGUL SYLLABLE DEOT;Lo;0;L;;;;;N;;;;;
+B36E;HANGUL SYLLABLE DEOP;Lo;0;L;;;;;N;;;;;
+B36F;HANGUL SYLLABLE DEOH;Lo;0;L;;;;;N;;;;;
+B370;HANGUL SYLLABLE DE;Lo;0;L;;;;;N;;;;;
+B371;HANGUL SYLLABLE DEG;Lo;0;L;;;;;N;;;;;
+B372;HANGUL SYLLABLE DEGG;Lo;0;L;;;;;N;;;;;
+B373;HANGUL SYLLABLE DEGS;Lo;0;L;;;;;N;;;;;
+B374;HANGUL SYLLABLE DEN;Lo;0;L;;;;;N;;;;;
+B375;HANGUL SYLLABLE DENI;Lo;0;L;;;;;N;;;;;
+B376;HANGUL SYLLABLE DENH;Lo;0;L;;;;;N;;;;;
+B377;HANGUL SYLLABLE DED;Lo;0;L;;;;;N;;;;;
+B378;HANGUL SYLLABLE DEL;Lo;0;L;;;;;N;;;;;
+B379;HANGUL SYLLABLE DELG;Lo;0;L;;;;;N;;;;;
+B37A;HANGUL SYLLABLE DELM;Lo;0;L;;;;;N;;;;;
+B37B;HANGUL SYLLABLE DELB;Lo;0;L;;;;;N;;;;;
+B37C;HANGUL SYLLABLE DELS;Lo;0;L;;;;;N;;;;;
+B37D;HANGUL SYLLABLE DELT;Lo;0;L;;;;;N;;;;;
+B37E;HANGUL SYLLABLE DELP;Lo;0;L;;;;;N;;;;;
+B37F;HANGUL SYLLABLE DELH;Lo;0;L;;;;;N;;;;;
+B380;HANGUL SYLLABLE DEM;Lo;0;L;;;;;N;;;;;
+B381;HANGUL SYLLABLE DEB;Lo;0;L;;;;;N;;;;;
+B382;HANGUL SYLLABLE DEBS;Lo;0;L;;;;;N;;;;;
+B383;HANGUL SYLLABLE DES;Lo;0;L;;;;;N;;;;;
+B384;HANGUL SYLLABLE DESS;Lo;0;L;;;;;N;;;;;
+B385;HANGUL SYLLABLE DENG;Lo;0;L;;;;;N;;;;;
+B386;HANGUL SYLLABLE DEJ;Lo;0;L;;;;;N;;;;;
+B387;HANGUL SYLLABLE DEC;Lo;0;L;;;;;N;;;;;
+B388;HANGUL SYLLABLE DEK;Lo;0;L;;;;;N;;;;;
+B389;HANGUL SYLLABLE DET;Lo;0;L;;;;;N;;;;;
+B38A;HANGUL SYLLABLE DEP;Lo;0;L;;;;;N;;;;;
+B38B;HANGUL SYLLABLE DEH;Lo;0;L;;;;;N;;;;;
+B38C;HANGUL SYLLABLE DYEO;Lo;0;L;;;;;N;;;;;
+B38D;HANGUL SYLLABLE DYEOG;Lo;0;L;;;;;N;;;;;
+B38E;HANGUL SYLLABLE DYEOGG;Lo;0;L;;;;;N;;;;;
+B38F;HANGUL SYLLABLE DYEOGS;Lo;0;L;;;;;N;;;;;
+B390;HANGUL SYLLABLE DYEON;Lo;0;L;;;;;N;;;;;
+B391;HANGUL SYLLABLE DYEONI;Lo;0;L;;;;;N;;;;;
+B392;HANGUL SYLLABLE DYEONH;Lo;0;L;;;;;N;;;;;
+B393;HANGUL SYLLABLE DYEOD;Lo;0;L;;;;;N;;;;;
+B394;HANGUL SYLLABLE DYEOL;Lo;0;L;;;;;N;;;;;
+B395;HANGUL SYLLABLE DYEOLG;Lo;0;L;;;;;N;;;;;
+B396;HANGUL SYLLABLE DYEOLM;Lo;0;L;;;;;N;;;;;
+B397;HANGUL SYLLABLE DYEOLB;Lo;0;L;;;;;N;;;;;
+B398;HANGUL SYLLABLE DYEOLS;Lo;0;L;;;;;N;;;;;
+B399;HANGUL SYLLABLE DYEOLT;Lo;0;L;;;;;N;;;;;
+B39A;HANGUL SYLLABLE DYEOLP;Lo;0;L;;;;;N;;;;;
+B39B;HANGUL SYLLABLE DYEOLH;Lo;0;L;;;;;N;;;;;
+B39C;HANGUL SYLLABLE DYEOM;Lo;0;L;;;;;N;;;;;
+B39D;HANGUL SYLLABLE DYEOB;Lo;0;L;;;;;N;;;;;
+B39E;HANGUL SYLLABLE DYEOBS;Lo;0;L;;;;;N;;;;;
+B39F;HANGUL SYLLABLE DYEOS;Lo;0;L;;;;;N;;;;;
+B3A0;HANGUL SYLLABLE DYEOSS;Lo;0;L;;;;;N;;;;;
+B3A1;HANGUL SYLLABLE DYEONG;Lo;0;L;;;;;N;;;;;
+B3A2;HANGUL SYLLABLE DYEOJ;Lo;0;L;;;;;N;;;;;
+B3A3;HANGUL SYLLABLE DYEOC;Lo;0;L;;;;;N;;;;;
+B3A4;HANGUL SYLLABLE DYEOK;Lo;0;L;;;;;N;;;;;
+B3A5;HANGUL SYLLABLE DYEOT;Lo;0;L;;;;;N;;;;;
+B3A6;HANGUL SYLLABLE DYEOP;Lo;0;L;;;;;N;;;;;
+B3A7;HANGUL SYLLABLE DYEOH;Lo;0;L;;;;;N;;;;;
+B3A8;HANGUL SYLLABLE DYE;Lo;0;L;;;;;N;;;;;
+B3A9;HANGUL SYLLABLE DYEG;Lo;0;L;;;;;N;;;;;
+B3AA;HANGUL SYLLABLE DYEGG;Lo;0;L;;;;;N;;;;;
+B3AB;HANGUL SYLLABLE DYEGS;Lo;0;L;;;;;N;;;;;
+B3AC;HANGUL SYLLABLE DYEN;Lo;0;L;;;;;N;;;;;
+B3AD;HANGUL SYLLABLE DYENI;Lo;0;L;;;;;N;;;;;
+B3AE;HANGUL SYLLABLE DYENH;Lo;0;L;;;;;N;;;;;
+B3AF;HANGUL SYLLABLE DYED;Lo;0;L;;;;;N;;;;;
+B3B0;HANGUL SYLLABLE DYEL;Lo;0;L;;;;;N;;;;;
+B3B1;HANGUL SYLLABLE DYELG;Lo;0;L;;;;;N;;;;;
+B3B2;HANGUL SYLLABLE DYELM;Lo;0;L;;;;;N;;;;;
+B3B3;HANGUL SYLLABLE DYELB;Lo;0;L;;;;;N;;;;;
+B3B4;HANGUL SYLLABLE DYELS;Lo;0;L;;;;;N;;;;;
+B3B5;HANGUL SYLLABLE DYELT;Lo;0;L;;;;;N;;;;;
+B3B6;HANGUL SYLLABLE DYELP;Lo;0;L;;;;;N;;;;;
+B3B7;HANGUL SYLLABLE DYELH;Lo;0;L;;;;;N;;;;;
+B3B8;HANGUL SYLLABLE DYEM;Lo;0;L;;;;;N;;;;;
+B3B9;HANGUL SYLLABLE DYEB;Lo;0;L;;;;;N;;;;;
+B3BA;HANGUL SYLLABLE DYEBS;Lo;0;L;;;;;N;;;;;
+B3BB;HANGUL SYLLABLE DYES;Lo;0;L;;;;;N;;;;;
+B3BC;HANGUL SYLLABLE DYESS;Lo;0;L;;;;;N;;;;;
+B3BD;HANGUL SYLLABLE DYENG;Lo;0;L;;;;;N;;;;;
+B3BE;HANGUL SYLLABLE DYEJ;Lo;0;L;;;;;N;;;;;
+B3BF;HANGUL SYLLABLE DYEC;Lo;0;L;;;;;N;;;;;
+B3C0;HANGUL SYLLABLE DYEK;Lo;0;L;;;;;N;;;;;
+B3C1;HANGUL SYLLABLE DYET;Lo;0;L;;;;;N;;;;;
+B3C2;HANGUL SYLLABLE DYEP;Lo;0;L;;;;;N;;;;;
+B3C3;HANGUL SYLLABLE DYEH;Lo;0;L;;;;;N;;;;;
+B3C4;HANGUL SYLLABLE DO;Lo;0;L;;;;;N;;;;;
+B3C5;HANGUL SYLLABLE DOG;Lo;0;L;;;;;N;;;;;
+B3C6;HANGUL SYLLABLE DOGG;Lo;0;L;;;;;N;;;;;
+B3C7;HANGUL SYLLABLE DOGS;Lo;0;L;;;;;N;;;;;
+B3C8;HANGUL SYLLABLE DON;Lo;0;L;;;;;N;;;;;
+B3C9;HANGUL SYLLABLE DONI;Lo;0;L;;;;;N;;;;;
+B3CA;HANGUL SYLLABLE DONH;Lo;0;L;;;;;N;;;;;
+B3CB;HANGUL SYLLABLE DOD;Lo;0;L;;;;;N;;;;;
+B3CC;HANGUL SYLLABLE DOL;Lo;0;L;;;;;N;;;;;
+B3CD;HANGUL SYLLABLE DOLG;Lo;0;L;;;;;N;;;;;
+B3CE;HANGUL SYLLABLE DOLM;Lo;0;L;;;;;N;;;;;
+B3CF;HANGUL SYLLABLE DOLB;Lo;0;L;;;;;N;;;;;
+B3D0;HANGUL SYLLABLE DOLS;Lo;0;L;;;;;N;;;;;
+B3D1;HANGUL SYLLABLE DOLT;Lo;0;L;;;;;N;;;;;
+B3D2;HANGUL SYLLABLE DOLP;Lo;0;L;;;;;N;;;;;
+B3D3;HANGUL SYLLABLE DOLH;Lo;0;L;;;;;N;;;;;
+B3D4;HANGUL SYLLABLE DOM;Lo;0;L;;;;;N;;;;;
+B3D5;HANGUL SYLLABLE DOB;Lo;0;L;;;;;N;;;;;
+B3D6;HANGUL SYLLABLE DOBS;Lo;0;L;;;;;N;;;;;
+B3D7;HANGUL SYLLABLE DOS;Lo;0;L;;;;;N;;;;;
+B3D8;HANGUL SYLLABLE DOSS;Lo;0;L;;;;;N;;;;;
+B3D9;HANGUL SYLLABLE DONG;Lo;0;L;;;;;N;;;;;
+B3DA;HANGUL SYLLABLE DOJ;Lo;0;L;;;;;N;;;;;
+B3DB;HANGUL SYLLABLE DOC;Lo;0;L;;;;;N;;;;;
+B3DC;HANGUL SYLLABLE DOK;Lo;0;L;;;;;N;;;;;
+B3DD;HANGUL SYLLABLE DOT;Lo;0;L;;;;;N;;;;;
+B3DE;HANGUL SYLLABLE DOP;Lo;0;L;;;;;N;;;;;
+B3DF;HANGUL SYLLABLE DOH;Lo;0;L;;;;;N;;;;;
+B3E0;HANGUL SYLLABLE DWA;Lo;0;L;;;;;N;;;;;
+B3E1;HANGUL SYLLABLE DWAG;Lo;0;L;;;;;N;;;;;
+B3E2;HANGUL SYLLABLE DWAGG;Lo;0;L;;;;;N;;;;;
+B3E3;HANGUL SYLLABLE DWAGS;Lo;0;L;;;;;N;;;;;
+B3E4;HANGUL SYLLABLE DWAN;Lo;0;L;;;;;N;;;;;
+B3E5;HANGUL SYLLABLE DWANI;Lo;0;L;;;;;N;;;;;
+B3E6;HANGUL SYLLABLE DWANH;Lo;0;L;;;;;N;;;;;
+B3E7;HANGUL SYLLABLE DWAD;Lo;0;L;;;;;N;;;;;
+B3E8;HANGUL SYLLABLE DWAL;Lo;0;L;;;;;N;;;;;
+B3E9;HANGUL SYLLABLE DWALG;Lo;0;L;;;;;N;;;;;
+B3EA;HANGUL SYLLABLE DWALM;Lo;0;L;;;;;N;;;;;
+B3EB;HANGUL SYLLABLE DWALB;Lo;0;L;;;;;N;;;;;
+B3EC;HANGUL SYLLABLE DWALS;Lo;0;L;;;;;N;;;;;
+B3ED;HANGUL SYLLABLE DWALT;Lo;0;L;;;;;N;;;;;
+B3EE;HANGUL SYLLABLE DWALP;Lo;0;L;;;;;N;;;;;
+B3EF;HANGUL SYLLABLE DWALH;Lo;0;L;;;;;N;;;;;
+B3F0;HANGUL SYLLABLE DWAM;Lo;0;L;;;;;N;;;;;
+B3F1;HANGUL SYLLABLE DWAB;Lo;0;L;;;;;N;;;;;
+B3F2;HANGUL SYLLABLE DWABS;Lo;0;L;;;;;N;;;;;
+B3F3;HANGUL SYLLABLE DWAS;Lo;0;L;;;;;N;;;;;
+B3F4;HANGUL SYLLABLE DWASS;Lo;0;L;;;;;N;;;;;
+B3F5;HANGUL SYLLABLE DWANG;Lo;0;L;;;;;N;;;;;
+B3F6;HANGUL SYLLABLE DWAJ;Lo;0;L;;;;;N;;;;;
+B3F7;HANGUL SYLLABLE DWAC;Lo;0;L;;;;;N;;;;;
+B3F8;HANGUL SYLLABLE DWAK;Lo;0;L;;;;;N;;;;;
+B3F9;HANGUL SYLLABLE DWAT;Lo;0;L;;;;;N;;;;;
+B3FA;HANGUL SYLLABLE DWAP;Lo;0;L;;;;;N;;;;;
+B3FB;HANGUL SYLLABLE DWAH;Lo;0;L;;;;;N;;;;;
+B3FC;HANGUL SYLLABLE DWAE;Lo;0;L;;;;;N;;;;;
+B3FD;HANGUL SYLLABLE DWAEG;Lo;0;L;;;;;N;;;;;
+B3FE;HANGUL SYLLABLE DWAEGG;Lo;0;L;;;;;N;;;;;
+B3FF;HANGUL SYLLABLE DWAEGS;Lo;0;L;;;;;N;;;;;
+B400;HANGUL SYLLABLE DWAEN;Lo;0;L;;;;;N;;;;;
+B401;HANGUL SYLLABLE DWAENI;Lo;0;L;;;;;N;;;;;
+B402;HANGUL SYLLABLE DWAENH;Lo;0;L;;;;;N;;;;;
+B403;HANGUL SYLLABLE DWAED;Lo;0;L;;;;;N;;;;;
+B404;HANGUL SYLLABLE DWAEL;Lo;0;L;;;;;N;;;;;
+B405;HANGUL SYLLABLE DWAELG;Lo;0;L;;;;;N;;;;;
+B406;HANGUL SYLLABLE DWAELM;Lo;0;L;;;;;N;;;;;
+B407;HANGUL SYLLABLE DWAELB;Lo;0;L;;;;;N;;;;;
+B408;HANGUL SYLLABLE DWAELS;Lo;0;L;;;;;N;;;;;
+B409;HANGUL SYLLABLE DWAELT;Lo;0;L;;;;;N;;;;;
+B40A;HANGUL SYLLABLE DWAELP;Lo;0;L;;;;;N;;;;;
+B40B;HANGUL SYLLABLE DWAELH;Lo;0;L;;;;;N;;;;;
+B40C;HANGUL SYLLABLE DWAEM;Lo;0;L;;;;;N;;;;;
+B40D;HANGUL SYLLABLE DWAEB;Lo;0;L;;;;;N;;;;;
+B40E;HANGUL SYLLABLE DWAEBS;Lo;0;L;;;;;N;;;;;
+B40F;HANGUL SYLLABLE DWAES;Lo;0;L;;;;;N;;;;;
+B410;HANGUL SYLLABLE DWAESS;Lo;0;L;;;;;N;;;;;
+B411;HANGUL SYLLABLE DWAENG;Lo;0;L;;;;;N;;;;;
+B412;HANGUL SYLLABLE DWAEJ;Lo;0;L;;;;;N;;;;;
+B413;HANGUL SYLLABLE DWAEC;Lo;0;L;;;;;N;;;;;
+B414;HANGUL SYLLABLE DWAEK;Lo;0;L;;;;;N;;;;;
+B415;HANGUL SYLLABLE DWAET;Lo;0;L;;;;;N;;;;;
+B416;HANGUL SYLLABLE DWAEP;Lo;0;L;;;;;N;;;;;
+B417;HANGUL SYLLABLE DWAEH;Lo;0;L;;;;;N;;;;;
+B418;HANGUL SYLLABLE DOE;Lo;0;L;;;;;N;;;;;
+B419;HANGUL SYLLABLE DOEG;Lo;0;L;;;;;N;;;;;
+B41A;HANGUL SYLLABLE DOEGG;Lo;0;L;;;;;N;;;;;
+B41B;HANGUL SYLLABLE DOEGS;Lo;0;L;;;;;N;;;;;
+B41C;HANGUL SYLLABLE DOEN;Lo;0;L;;;;;N;;;;;
+B41D;HANGUL SYLLABLE DOENI;Lo;0;L;;;;;N;;;;;
+B41E;HANGUL SYLLABLE DOENH;Lo;0;L;;;;;N;;;;;
+B41F;HANGUL SYLLABLE DOED;Lo;0;L;;;;;N;;;;;
+B420;HANGUL SYLLABLE DOEL;Lo;0;L;;;;;N;;;;;
+B421;HANGUL SYLLABLE DOELG;Lo;0;L;;;;;N;;;;;
+B422;HANGUL SYLLABLE DOELM;Lo;0;L;;;;;N;;;;;
+B423;HANGUL SYLLABLE DOELB;Lo;0;L;;;;;N;;;;;
+B424;HANGUL SYLLABLE DOELS;Lo;0;L;;;;;N;;;;;
+B425;HANGUL SYLLABLE DOELT;Lo;0;L;;;;;N;;;;;
+B426;HANGUL SYLLABLE DOELP;Lo;0;L;;;;;N;;;;;
+B427;HANGUL SYLLABLE DOELH;Lo;0;L;;;;;N;;;;;
+B428;HANGUL SYLLABLE DOEM;Lo;0;L;;;;;N;;;;;
+B429;HANGUL SYLLABLE DOEB;Lo;0;L;;;;;N;;;;;
+B42A;HANGUL SYLLABLE DOEBS;Lo;0;L;;;;;N;;;;;
+B42B;HANGUL SYLLABLE DOES;Lo;0;L;;;;;N;;;;;
+B42C;HANGUL SYLLABLE DOESS;Lo;0;L;;;;;N;;;;;
+B42D;HANGUL SYLLABLE DOENG;Lo;0;L;;;;;N;;;;;
+B42E;HANGUL SYLLABLE DOEJ;Lo;0;L;;;;;N;;;;;
+B42F;HANGUL SYLLABLE DOEC;Lo;0;L;;;;;N;;;;;
+B430;HANGUL SYLLABLE DOEK;Lo;0;L;;;;;N;;;;;
+B431;HANGUL SYLLABLE DOET;Lo;0;L;;;;;N;;;;;
+B432;HANGUL SYLLABLE DOEP;Lo;0;L;;;;;N;;;;;
+B433;HANGUL SYLLABLE DOEH;Lo;0;L;;;;;N;;;;;
+B434;HANGUL SYLLABLE DYO;Lo;0;L;;;;;N;;;;;
+B435;HANGUL SYLLABLE DYOG;Lo;0;L;;;;;N;;;;;
+B436;HANGUL SYLLABLE DYOGG;Lo;0;L;;;;;N;;;;;
+B437;HANGUL SYLLABLE DYOGS;Lo;0;L;;;;;N;;;;;
+B438;HANGUL SYLLABLE DYON;Lo;0;L;;;;;N;;;;;
+B439;HANGUL SYLLABLE DYONI;Lo;0;L;;;;;N;;;;;
+B43A;HANGUL SYLLABLE DYONH;Lo;0;L;;;;;N;;;;;
+B43B;HANGUL SYLLABLE DYOD;Lo;0;L;;;;;N;;;;;
+B43C;HANGUL SYLLABLE DYOL;Lo;0;L;;;;;N;;;;;
+B43D;HANGUL SYLLABLE DYOLG;Lo;0;L;;;;;N;;;;;
+B43E;HANGUL SYLLABLE DYOLM;Lo;0;L;;;;;N;;;;;
+B43F;HANGUL SYLLABLE DYOLB;Lo;0;L;;;;;N;;;;;
+B440;HANGUL SYLLABLE DYOLS;Lo;0;L;;;;;N;;;;;
+B441;HANGUL SYLLABLE DYOLT;Lo;0;L;;;;;N;;;;;
+B442;HANGUL SYLLABLE DYOLP;Lo;0;L;;;;;N;;;;;
+B443;HANGUL SYLLABLE DYOLH;Lo;0;L;;;;;N;;;;;
+B444;HANGUL SYLLABLE DYOM;Lo;0;L;;;;;N;;;;;
+B445;HANGUL SYLLABLE DYOB;Lo;0;L;;;;;N;;;;;
+B446;HANGUL SYLLABLE DYOBS;Lo;0;L;;;;;N;;;;;
+B447;HANGUL SYLLABLE DYOS;Lo;0;L;;;;;N;;;;;
+B448;HANGUL SYLLABLE DYOSS;Lo;0;L;;;;;N;;;;;
+B449;HANGUL SYLLABLE DYONG;Lo;0;L;;;;;N;;;;;
+B44A;HANGUL SYLLABLE DYOJ;Lo;0;L;;;;;N;;;;;
+B44B;HANGUL SYLLABLE DYOC;Lo;0;L;;;;;N;;;;;
+B44C;HANGUL SYLLABLE DYOK;Lo;0;L;;;;;N;;;;;
+B44D;HANGUL SYLLABLE DYOT;Lo;0;L;;;;;N;;;;;
+B44E;HANGUL SYLLABLE DYOP;Lo;0;L;;;;;N;;;;;
+B44F;HANGUL SYLLABLE DYOH;Lo;0;L;;;;;N;;;;;
+B450;HANGUL SYLLABLE DU;Lo;0;L;;;;;N;;;;;
+B451;HANGUL SYLLABLE DUG;Lo;0;L;;;;;N;;;;;
+B452;HANGUL SYLLABLE DUGG;Lo;0;L;;;;;N;;;;;
+B453;HANGUL SYLLABLE DUGS;Lo;0;L;;;;;N;;;;;
+B454;HANGUL SYLLABLE DUN;Lo;0;L;;;;;N;;;;;
+B455;HANGUL SYLLABLE DUNI;Lo;0;L;;;;;N;;;;;
+B456;HANGUL SYLLABLE DUNH;Lo;0;L;;;;;N;;;;;
+B457;HANGUL SYLLABLE DUD;Lo;0;L;;;;;N;;;;;
+B458;HANGUL SYLLABLE DUL;Lo;0;L;;;;;N;;;;;
+B459;HANGUL SYLLABLE DULG;Lo;0;L;;;;;N;;;;;
+B45A;HANGUL SYLLABLE DULM;Lo;0;L;;;;;N;;;;;
+B45B;HANGUL SYLLABLE DULB;Lo;0;L;;;;;N;;;;;
+B45C;HANGUL SYLLABLE DULS;Lo;0;L;;;;;N;;;;;
+B45D;HANGUL SYLLABLE DULT;Lo;0;L;;;;;N;;;;;
+B45E;HANGUL SYLLABLE DULP;Lo;0;L;;;;;N;;;;;
+B45F;HANGUL SYLLABLE DULH;Lo;0;L;;;;;N;;;;;
+B460;HANGUL SYLLABLE DUM;Lo;0;L;;;;;N;;;;;
+B461;HANGUL SYLLABLE DUB;Lo;0;L;;;;;N;;;;;
+B462;HANGUL SYLLABLE DUBS;Lo;0;L;;;;;N;;;;;
+B463;HANGUL SYLLABLE DUS;Lo;0;L;;;;;N;;;;;
+B464;HANGUL SYLLABLE DUSS;Lo;0;L;;;;;N;;;;;
+B465;HANGUL SYLLABLE DUNG;Lo;0;L;;;;;N;;;;;
+B466;HANGUL SYLLABLE DUJ;Lo;0;L;;;;;N;;;;;
+B467;HANGUL SYLLABLE DUC;Lo;0;L;;;;;N;;;;;
+B468;HANGUL SYLLABLE DUK;Lo;0;L;;;;;N;;;;;
+B469;HANGUL SYLLABLE DUT;Lo;0;L;;;;;N;;;;;
+B46A;HANGUL SYLLABLE DUP;Lo;0;L;;;;;N;;;;;
+B46B;HANGUL SYLLABLE DUH;Lo;0;L;;;;;N;;;;;
+B46C;HANGUL SYLLABLE DWEO;Lo;0;L;;;;;N;;;;;
+B46D;HANGUL SYLLABLE DWEOG;Lo;0;L;;;;;N;;;;;
+B46E;HANGUL SYLLABLE DWEOGG;Lo;0;L;;;;;N;;;;;
+B46F;HANGUL SYLLABLE DWEOGS;Lo;0;L;;;;;N;;;;;
+B470;HANGUL SYLLABLE DWEON;Lo;0;L;;;;;N;;;;;
+B471;HANGUL SYLLABLE DWEONI;Lo;0;L;;;;;N;;;;;
+B472;HANGUL SYLLABLE DWEONH;Lo;0;L;;;;;N;;;;;
+B473;HANGUL SYLLABLE DWEOD;Lo;0;L;;;;;N;;;;;
+B474;HANGUL SYLLABLE DWEOL;Lo;0;L;;;;;N;;;;;
+B475;HANGUL SYLLABLE DWEOLG;Lo;0;L;;;;;N;;;;;
+B476;HANGUL SYLLABLE DWEOLM;Lo;0;L;;;;;N;;;;;
+B477;HANGUL SYLLABLE DWEOLB;Lo;0;L;;;;;N;;;;;
+B478;HANGUL SYLLABLE DWEOLS;Lo;0;L;;;;;N;;;;;
+B479;HANGUL SYLLABLE DWEOLT;Lo;0;L;;;;;N;;;;;
+B47A;HANGUL SYLLABLE DWEOLP;Lo;0;L;;;;;N;;;;;
+B47B;HANGUL SYLLABLE DWEOLH;Lo;0;L;;;;;N;;;;;
+B47C;HANGUL SYLLABLE DWEOM;Lo;0;L;;;;;N;;;;;
+B47D;HANGUL SYLLABLE DWEOB;Lo;0;L;;;;;N;;;;;
+B47E;HANGUL SYLLABLE DWEOBS;Lo;0;L;;;;;N;;;;;
+B47F;HANGUL SYLLABLE DWEOS;Lo;0;L;;;;;N;;;;;
+B480;HANGUL SYLLABLE DWEOSS;Lo;0;L;;;;;N;;;;;
+B481;HANGUL SYLLABLE DWEONG;Lo;0;L;;;;;N;;;;;
+B482;HANGUL SYLLABLE DWEOJ;Lo;0;L;;;;;N;;;;;
+B483;HANGUL SYLLABLE DWEOC;Lo;0;L;;;;;N;;;;;
+B484;HANGUL SYLLABLE DWEOK;Lo;0;L;;;;;N;;;;;
+B485;HANGUL SYLLABLE DWEOT;Lo;0;L;;;;;N;;;;;
+B486;HANGUL SYLLABLE DWEOP;Lo;0;L;;;;;N;;;;;
+B487;HANGUL SYLLABLE DWEOH;Lo;0;L;;;;;N;;;;;
+B488;HANGUL SYLLABLE DWE;Lo;0;L;;;;;N;;;;;
+B489;HANGUL SYLLABLE DWEG;Lo;0;L;;;;;N;;;;;
+B48A;HANGUL SYLLABLE DWEGG;Lo;0;L;;;;;N;;;;;
+B48B;HANGUL SYLLABLE DWEGS;Lo;0;L;;;;;N;;;;;
+B48C;HANGUL SYLLABLE DWEN;Lo;0;L;;;;;N;;;;;
+B48D;HANGUL SYLLABLE DWENI;Lo;0;L;;;;;N;;;;;
+B48E;HANGUL SYLLABLE DWENH;Lo;0;L;;;;;N;;;;;
+B48F;HANGUL SYLLABLE DWED;Lo;0;L;;;;;N;;;;;
+B490;HANGUL SYLLABLE DWEL;Lo;0;L;;;;;N;;;;;
+B491;HANGUL SYLLABLE DWELG;Lo;0;L;;;;;N;;;;;
+B492;HANGUL SYLLABLE DWELM;Lo;0;L;;;;;N;;;;;
+B493;HANGUL SYLLABLE DWELB;Lo;0;L;;;;;N;;;;;
+B494;HANGUL SYLLABLE DWELS;Lo;0;L;;;;;N;;;;;
+B495;HANGUL SYLLABLE DWELT;Lo;0;L;;;;;N;;;;;
+B496;HANGUL SYLLABLE DWELP;Lo;0;L;;;;;N;;;;;
+B497;HANGUL SYLLABLE DWELH;Lo;0;L;;;;;N;;;;;
+B498;HANGUL SYLLABLE DWEM;Lo;0;L;;;;;N;;;;;
+B499;HANGUL SYLLABLE DWEB;Lo;0;L;;;;;N;;;;;
+B49A;HANGUL SYLLABLE DWEBS;Lo;0;L;;;;;N;;;;;
+B49B;HANGUL SYLLABLE DWES;Lo;0;L;;;;;N;;;;;
+B49C;HANGUL SYLLABLE DWESS;Lo;0;L;;;;;N;;;;;
+B49D;HANGUL SYLLABLE DWENG;Lo;0;L;;;;;N;;;;;
+B49E;HANGUL SYLLABLE DWEJ;Lo;0;L;;;;;N;;;;;
+B49F;HANGUL SYLLABLE DWEC;Lo;0;L;;;;;N;;;;;
+B4A0;HANGUL SYLLABLE DWEK;Lo;0;L;;;;;N;;;;;
+B4A1;HANGUL SYLLABLE DWET;Lo;0;L;;;;;N;;;;;
+B4A2;HANGUL SYLLABLE DWEP;Lo;0;L;;;;;N;;;;;
+B4A3;HANGUL SYLLABLE DWEH;Lo;0;L;;;;;N;;;;;
+B4A4;HANGUL SYLLABLE DWI;Lo;0;L;;;;;N;;;;;
+B4A5;HANGUL SYLLABLE DWIG;Lo;0;L;;;;;N;;;;;
+B4A6;HANGUL SYLLABLE DWIGG;Lo;0;L;;;;;N;;;;;
+B4A7;HANGUL SYLLABLE DWIGS;Lo;0;L;;;;;N;;;;;
+B4A8;HANGUL SYLLABLE DWIN;Lo;0;L;;;;;N;;;;;
+B4A9;HANGUL SYLLABLE DWINI;Lo;0;L;;;;;N;;;;;
+B4AA;HANGUL SYLLABLE DWINH;Lo;0;L;;;;;N;;;;;
+B4AB;HANGUL SYLLABLE DWID;Lo;0;L;;;;;N;;;;;
+B4AC;HANGUL SYLLABLE DWIL;Lo;0;L;;;;;N;;;;;
+B4AD;HANGUL SYLLABLE DWILG;Lo;0;L;;;;;N;;;;;
+B4AE;HANGUL SYLLABLE DWILM;Lo;0;L;;;;;N;;;;;
+B4AF;HANGUL SYLLABLE DWILB;Lo;0;L;;;;;N;;;;;
+B4B0;HANGUL SYLLABLE DWILS;Lo;0;L;;;;;N;;;;;
+B4B1;HANGUL SYLLABLE DWILT;Lo;0;L;;;;;N;;;;;
+B4B2;HANGUL SYLLABLE DWILP;Lo;0;L;;;;;N;;;;;
+B4B3;HANGUL SYLLABLE DWILH;Lo;0;L;;;;;N;;;;;
+B4B4;HANGUL SYLLABLE DWIM;Lo;0;L;;;;;N;;;;;
+B4B5;HANGUL SYLLABLE DWIB;Lo;0;L;;;;;N;;;;;
+B4B6;HANGUL SYLLABLE DWIBS;Lo;0;L;;;;;N;;;;;
+B4B7;HANGUL SYLLABLE DWIS;Lo;0;L;;;;;N;;;;;
+B4B8;HANGUL SYLLABLE DWISS;Lo;0;L;;;;;N;;;;;
+B4B9;HANGUL SYLLABLE DWING;Lo;0;L;;;;;N;;;;;
+B4BA;HANGUL SYLLABLE DWIJ;Lo;0;L;;;;;N;;;;;
+B4BB;HANGUL SYLLABLE DWIC;Lo;0;L;;;;;N;;;;;
+B4BC;HANGUL SYLLABLE DWIK;Lo;0;L;;;;;N;;;;;
+B4BD;HANGUL SYLLABLE DWIT;Lo;0;L;;;;;N;;;;;
+B4BE;HANGUL SYLLABLE DWIP;Lo;0;L;;;;;N;;;;;
+B4BF;HANGUL SYLLABLE DWIH;Lo;0;L;;;;;N;;;;;
+B4C0;HANGUL SYLLABLE DYU;Lo;0;L;;;;;N;;;;;
+B4C1;HANGUL SYLLABLE DYUG;Lo;0;L;;;;;N;;;;;
+B4C2;HANGUL SYLLABLE DYUGG;Lo;0;L;;;;;N;;;;;
+B4C3;HANGUL SYLLABLE DYUGS;Lo;0;L;;;;;N;;;;;
+B4C4;HANGUL SYLLABLE DYUN;Lo;0;L;;;;;N;;;;;
+B4C5;HANGUL SYLLABLE DYUNI;Lo;0;L;;;;;N;;;;;
+B4C6;HANGUL SYLLABLE DYUNH;Lo;0;L;;;;;N;;;;;
+B4C7;HANGUL SYLLABLE DYUD;Lo;0;L;;;;;N;;;;;
+B4C8;HANGUL SYLLABLE DYUL;Lo;0;L;;;;;N;;;;;
+B4C9;HANGUL SYLLABLE DYULG;Lo;0;L;;;;;N;;;;;
+B4CA;HANGUL SYLLABLE DYULM;Lo;0;L;;;;;N;;;;;
+B4CB;HANGUL SYLLABLE DYULB;Lo;0;L;;;;;N;;;;;
+B4CC;HANGUL SYLLABLE DYULS;Lo;0;L;;;;;N;;;;;
+B4CD;HANGUL SYLLABLE DYULT;Lo;0;L;;;;;N;;;;;
+B4CE;HANGUL SYLLABLE DYULP;Lo;0;L;;;;;N;;;;;
+B4CF;HANGUL SYLLABLE DYULH;Lo;0;L;;;;;N;;;;;
+B4D0;HANGUL SYLLABLE DYUM;Lo;0;L;;;;;N;;;;;
+B4D1;HANGUL SYLLABLE DYUB;Lo;0;L;;;;;N;;;;;
+B4D2;HANGUL SYLLABLE DYUBS;Lo;0;L;;;;;N;;;;;
+B4D3;HANGUL SYLLABLE DYUS;Lo;0;L;;;;;N;;;;;
+B4D4;HANGUL SYLLABLE DYUSS;Lo;0;L;;;;;N;;;;;
+B4D5;HANGUL SYLLABLE DYUNG;Lo;0;L;;;;;N;;;;;
+B4D6;HANGUL SYLLABLE DYUJ;Lo;0;L;;;;;N;;;;;
+B4D7;HANGUL SYLLABLE DYUC;Lo;0;L;;;;;N;;;;;
+B4D8;HANGUL SYLLABLE DYUK;Lo;0;L;;;;;N;;;;;
+B4D9;HANGUL SYLLABLE DYUT;Lo;0;L;;;;;N;;;;;
+B4DA;HANGUL SYLLABLE DYUP;Lo;0;L;;;;;N;;;;;
+B4DB;HANGUL SYLLABLE DYUH;Lo;0;L;;;;;N;;;;;
+B4DC;HANGUL SYLLABLE DEU;Lo;0;L;;;;;N;;;;;
+B4DD;HANGUL SYLLABLE DEUG;Lo;0;L;;;;;N;;;;;
+B4DE;HANGUL SYLLABLE DEUGG;Lo;0;L;;;;;N;;;;;
+B4DF;HANGUL SYLLABLE DEUGS;Lo;0;L;;;;;N;;;;;
+B4E0;HANGUL SYLLABLE DEUN;Lo;0;L;;;;;N;;;;;
+B4E1;HANGUL SYLLABLE DEUNI;Lo;0;L;;;;;N;;;;;
+B4E2;HANGUL SYLLABLE DEUNH;Lo;0;L;;;;;N;;;;;
+B4E3;HANGUL SYLLABLE DEUD;Lo;0;L;;;;;N;;;;;
+B4E4;HANGUL SYLLABLE DEUL;Lo;0;L;;;;;N;;;;;
+B4E5;HANGUL SYLLABLE DEULG;Lo;0;L;;;;;N;;;;;
+B4E6;HANGUL SYLLABLE DEULM;Lo;0;L;;;;;N;;;;;
+B4E7;HANGUL SYLLABLE DEULB;Lo;0;L;;;;;N;;;;;
+B4E8;HANGUL SYLLABLE DEULS;Lo;0;L;;;;;N;;;;;
+B4E9;HANGUL SYLLABLE DEULT;Lo;0;L;;;;;N;;;;;
+B4EA;HANGUL SYLLABLE DEULP;Lo;0;L;;;;;N;;;;;
+B4EB;HANGUL SYLLABLE DEULH;Lo;0;L;;;;;N;;;;;
+B4EC;HANGUL SYLLABLE DEUM;Lo;0;L;;;;;N;;;;;
+B4ED;HANGUL SYLLABLE DEUB;Lo;0;L;;;;;N;;;;;
+B4EE;HANGUL SYLLABLE DEUBS;Lo;0;L;;;;;N;;;;;
+B4EF;HANGUL SYLLABLE DEUS;Lo;0;L;;;;;N;;;;;
+B4F0;HANGUL SYLLABLE DEUSS;Lo;0;L;;;;;N;;;;;
+B4F1;HANGUL SYLLABLE DEUNG;Lo;0;L;;;;;N;;;;;
+B4F2;HANGUL SYLLABLE DEUJ;Lo;0;L;;;;;N;;;;;
+B4F3;HANGUL SYLLABLE DEUC;Lo;0;L;;;;;N;;;;;
+B4F4;HANGUL SYLLABLE DEUK;Lo;0;L;;;;;N;;;;;
+B4F5;HANGUL SYLLABLE DEUT;Lo;0;L;;;;;N;;;;;
+B4F6;HANGUL SYLLABLE DEUP;Lo;0;L;;;;;N;;;;;
+B4F7;HANGUL SYLLABLE DEUH;Lo;0;L;;;;;N;;;;;
+B4F8;HANGUL SYLLABLE DYI;Lo;0;L;;;;;N;;;;;
+B4F9;HANGUL SYLLABLE DYIG;Lo;0;L;;;;;N;;;;;
+B4FA;HANGUL SYLLABLE DYIGG;Lo;0;L;;;;;N;;;;;
+B4FB;HANGUL SYLLABLE DYIGS;Lo;0;L;;;;;N;;;;;
+B4FC;HANGUL SYLLABLE DYIN;Lo;0;L;;;;;N;;;;;
+B4FD;HANGUL SYLLABLE DYINI;Lo;0;L;;;;;N;;;;;
+B4FE;HANGUL SYLLABLE DYINH;Lo;0;L;;;;;N;;;;;
+B4FF;HANGUL SYLLABLE DYID;Lo;0;L;;;;;N;;;;;
+B500;HANGUL SYLLABLE DYIL;Lo;0;L;;;;;N;;;;;
+B501;HANGUL SYLLABLE DYILG;Lo;0;L;;;;;N;;;;;
+B502;HANGUL SYLLABLE DYILM;Lo;0;L;;;;;N;;;;;
+B503;HANGUL SYLLABLE DYILB;Lo;0;L;;;;;N;;;;;
+B504;HANGUL SYLLABLE DYILS;Lo;0;L;;;;;N;;;;;
+B505;HANGUL SYLLABLE DYILT;Lo;0;L;;;;;N;;;;;
+B506;HANGUL SYLLABLE DYILP;Lo;0;L;;;;;N;;;;;
+B507;HANGUL SYLLABLE DYILH;Lo;0;L;;;;;N;;;;;
+B508;HANGUL SYLLABLE DYIM;Lo;0;L;;;;;N;;;;;
+B509;HANGUL SYLLABLE DYIB;Lo;0;L;;;;;N;;;;;
+B50A;HANGUL SYLLABLE DYIBS;Lo;0;L;;;;;N;;;;;
+B50B;HANGUL SYLLABLE DYIS;Lo;0;L;;;;;N;;;;;
+B50C;HANGUL SYLLABLE DYISS;Lo;0;L;;;;;N;;;;;
+B50D;HANGUL SYLLABLE DYING;Lo;0;L;;;;;N;;;;;
+B50E;HANGUL SYLLABLE DYIJ;Lo;0;L;;;;;N;;;;;
+B50F;HANGUL SYLLABLE DYIC;Lo;0;L;;;;;N;;;;;
+B510;HANGUL SYLLABLE DYIK;Lo;0;L;;;;;N;;;;;
+B511;HANGUL SYLLABLE DYIT;Lo;0;L;;;;;N;;;;;
+B512;HANGUL SYLLABLE DYIP;Lo;0;L;;;;;N;;;;;
+B513;HANGUL SYLLABLE DYIH;Lo;0;L;;;;;N;;;;;
+B514;HANGUL SYLLABLE DI;Lo;0;L;;;;;N;;;;;
+B515;HANGUL SYLLABLE DIG;Lo;0;L;;;;;N;;;;;
+B516;HANGUL SYLLABLE DIGG;Lo;0;L;;;;;N;;;;;
+B517;HANGUL SYLLABLE DIGS;Lo;0;L;;;;;N;;;;;
+B518;HANGUL SYLLABLE DIN;Lo;0;L;;;;;N;;;;;
+B519;HANGUL SYLLABLE DINI;Lo;0;L;;;;;N;;;;;
+B51A;HANGUL SYLLABLE DINH;Lo;0;L;;;;;N;;;;;
+B51B;HANGUL SYLLABLE DID;Lo;0;L;;;;;N;;;;;
+B51C;HANGUL SYLLABLE DIL;Lo;0;L;;;;;N;;;;;
+B51D;HANGUL SYLLABLE DILG;Lo;0;L;;;;;N;;;;;
+B51E;HANGUL SYLLABLE DILM;Lo;0;L;;;;;N;;;;;
+B51F;HANGUL SYLLABLE DILB;Lo;0;L;;;;;N;;;;;
+B520;HANGUL SYLLABLE DILS;Lo;0;L;;;;;N;;;;;
+B521;HANGUL SYLLABLE DILT;Lo;0;L;;;;;N;;;;;
+B522;HANGUL SYLLABLE DILP;Lo;0;L;;;;;N;;;;;
+B523;HANGUL SYLLABLE DILH;Lo;0;L;;;;;N;;;;;
+B524;HANGUL SYLLABLE DIM;Lo;0;L;;;;;N;;;;;
+B525;HANGUL SYLLABLE DIB;Lo;0;L;;;;;N;;;;;
+B526;HANGUL SYLLABLE DIBS;Lo;0;L;;;;;N;;;;;
+B527;HANGUL SYLLABLE DIS;Lo;0;L;;;;;N;;;;;
+B528;HANGUL SYLLABLE DISS;Lo;0;L;;;;;N;;;;;
+B529;HANGUL SYLLABLE DING;Lo;0;L;;;;;N;;;;;
+B52A;HANGUL SYLLABLE DIJ;Lo;0;L;;;;;N;;;;;
+B52B;HANGUL SYLLABLE DIC;Lo;0;L;;;;;N;;;;;
+B52C;HANGUL SYLLABLE DIK;Lo;0;L;;;;;N;;;;;
+B52D;HANGUL SYLLABLE DIT;Lo;0;L;;;;;N;;;;;
+B52E;HANGUL SYLLABLE DIP;Lo;0;L;;;;;N;;;;;
+B52F;HANGUL SYLLABLE DIH;Lo;0;L;;;;;N;;;;;
+B530;HANGUL SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
+B531;HANGUL SYLLABLE DDAG;Lo;0;L;;;;;N;;;;;
+B532;HANGUL SYLLABLE DDAGG;Lo;0;L;;;;;N;;;;;
+B533;HANGUL SYLLABLE DDAGS;Lo;0;L;;;;;N;;;;;
+B534;HANGUL SYLLABLE DDAN;Lo;0;L;;;;;N;;;;;
+B535;HANGUL SYLLABLE DDANI;Lo;0;L;;;;;N;;;;;
+B536;HANGUL SYLLABLE DDANH;Lo;0;L;;;;;N;;;;;
+B537;HANGUL SYLLABLE DDAD;Lo;0;L;;;;;N;;;;;
+B538;HANGUL SYLLABLE DDAL;Lo;0;L;;;;;N;;;;;
+B539;HANGUL SYLLABLE DDALG;Lo;0;L;;;;;N;;;;;
+B53A;HANGUL SYLLABLE DDALM;Lo;0;L;;;;;N;;;;;
+B53B;HANGUL SYLLABLE DDALB;Lo;0;L;;;;;N;;;;;
+B53C;HANGUL SYLLABLE DDALS;Lo;0;L;;;;;N;;;;;
+B53D;HANGUL SYLLABLE DDALT;Lo;0;L;;;;;N;;;;;
+B53E;HANGUL SYLLABLE DDALP;Lo;0;L;;;;;N;;;;;
+B53F;HANGUL SYLLABLE DDALH;Lo;0;L;;;;;N;;;;;
+B540;HANGUL SYLLABLE DDAM;Lo;0;L;;;;;N;;;;;
+B541;HANGUL SYLLABLE DDAB;Lo;0;L;;;;;N;;;;;
+B542;HANGUL SYLLABLE DDABS;Lo;0;L;;;;;N;;;;;
+B543;HANGUL SYLLABLE DDAS;Lo;0;L;;;;;N;;;;;
+B544;HANGUL SYLLABLE DDASS;Lo;0;L;;;;;N;;;;;
+B545;HANGUL SYLLABLE DDANG;Lo;0;L;;;;;N;;;;;
+B546;HANGUL SYLLABLE DDAJ;Lo;0;L;;;;;N;;;;;
+B547;HANGUL SYLLABLE DDAC;Lo;0;L;;;;;N;;;;;
+B548;HANGUL SYLLABLE DDAK;Lo;0;L;;;;;N;;;;;
+B549;HANGUL SYLLABLE DDAT;Lo;0;L;;;;;N;;;;;
+B54A;HANGUL SYLLABLE DDAP;Lo;0;L;;;;;N;;;;;
+B54B;HANGUL SYLLABLE DDAH;Lo;0;L;;;;;N;;;;;
+B54C;HANGUL SYLLABLE DDAE;Lo;0;L;;;;;N;;;;;
+B54D;HANGUL SYLLABLE DDAEG;Lo;0;L;;;;;N;;;;;
+B54E;HANGUL SYLLABLE DDAEGG;Lo;0;L;;;;;N;;;;;
+B54F;HANGUL SYLLABLE DDAEGS;Lo;0;L;;;;;N;;;;;
+B550;HANGUL SYLLABLE DDAEN;Lo;0;L;;;;;N;;;;;
+B551;HANGUL SYLLABLE DDAENI;Lo;0;L;;;;;N;;;;;
+B552;HANGUL SYLLABLE DDAENH;Lo;0;L;;;;;N;;;;;
+B553;HANGUL SYLLABLE DDAED;Lo;0;L;;;;;N;;;;;
+B554;HANGUL SYLLABLE DDAEL;Lo;0;L;;;;;N;;;;;
+B555;HANGUL SYLLABLE DDAELG;Lo;0;L;;;;;N;;;;;
+B556;HANGUL SYLLABLE DDAELM;Lo;0;L;;;;;N;;;;;
+B557;HANGUL SYLLABLE DDAELB;Lo;0;L;;;;;N;;;;;
+B558;HANGUL SYLLABLE DDAELS;Lo;0;L;;;;;N;;;;;
+B559;HANGUL SYLLABLE DDAELT;Lo;0;L;;;;;N;;;;;
+B55A;HANGUL SYLLABLE DDAELP;Lo;0;L;;;;;N;;;;;
+B55B;HANGUL SYLLABLE DDAELH;Lo;0;L;;;;;N;;;;;
+B55C;HANGUL SYLLABLE DDAEM;Lo;0;L;;;;;N;;;;;
+B55D;HANGUL SYLLABLE DDAEB;Lo;0;L;;;;;N;;;;;
+B55E;HANGUL SYLLABLE DDAEBS;Lo;0;L;;;;;N;;;;;
+B55F;HANGUL SYLLABLE DDAES;Lo;0;L;;;;;N;;;;;
+B560;HANGUL SYLLABLE DDAESS;Lo;0;L;;;;;N;;;;;
+B561;HANGUL SYLLABLE DDAENG;Lo;0;L;;;;;N;;;;;
+B562;HANGUL SYLLABLE DDAEJ;Lo;0;L;;;;;N;;;;;
+B563;HANGUL SYLLABLE DDAEC;Lo;0;L;;;;;N;;;;;
+B564;HANGUL SYLLABLE DDAEK;Lo;0;L;;;;;N;;;;;
+B565;HANGUL SYLLABLE DDAET;Lo;0;L;;;;;N;;;;;
+B566;HANGUL SYLLABLE DDAEP;Lo;0;L;;;;;N;;;;;
+B567;HANGUL SYLLABLE DDAEH;Lo;0;L;;;;;N;;;;;
+B568;HANGUL SYLLABLE DDYA;Lo;0;L;;;;;N;;;;;
+B569;HANGUL SYLLABLE DDYAG;Lo;0;L;;;;;N;;;;;
+B56A;HANGUL SYLLABLE DDYAGG;Lo;0;L;;;;;N;;;;;
+B56B;HANGUL SYLLABLE DDYAGS;Lo;0;L;;;;;N;;;;;
+B56C;HANGUL SYLLABLE DDYAN;Lo;0;L;;;;;N;;;;;
+B56D;HANGUL SYLLABLE DDYANI;Lo;0;L;;;;;N;;;;;
+B56E;HANGUL SYLLABLE DDYANH;Lo;0;L;;;;;N;;;;;
+B56F;HANGUL SYLLABLE DDYAD;Lo;0;L;;;;;N;;;;;
+B570;HANGUL SYLLABLE DDYAL;Lo;0;L;;;;;N;;;;;
+B571;HANGUL SYLLABLE DDYALG;Lo;0;L;;;;;N;;;;;
+B572;HANGUL SYLLABLE DDYALM;Lo;0;L;;;;;N;;;;;
+B573;HANGUL SYLLABLE DDYALB;Lo;0;L;;;;;N;;;;;
+B574;HANGUL SYLLABLE DDYALS;Lo;0;L;;;;;N;;;;;
+B575;HANGUL SYLLABLE DDYALT;Lo;0;L;;;;;N;;;;;
+B576;HANGUL SYLLABLE DDYALP;Lo;0;L;;;;;N;;;;;
+B577;HANGUL SYLLABLE DDYALH;Lo;0;L;;;;;N;;;;;
+B578;HANGUL SYLLABLE DDYAM;Lo;0;L;;;;;N;;;;;
+B579;HANGUL SYLLABLE DDYAB;Lo;0;L;;;;;N;;;;;
+B57A;HANGUL SYLLABLE DDYABS;Lo;0;L;;;;;N;;;;;
+B57B;HANGUL SYLLABLE DDYAS;Lo;0;L;;;;;N;;;;;
+B57C;HANGUL SYLLABLE DDYASS;Lo;0;L;;;;;N;;;;;
+B57D;HANGUL SYLLABLE DDYANG;Lo;0;L;;;;;N;;;;;
+B57E;HANGUL SYLLABLE DDYAJ;Lo;0;L;;;;;N;;;;;
+B57F;HANGUL SYLLABLE DDYAC;Lo;0;L;;;;;N;;;;;
+B580;HANGUL SYLLABLE DDYAK;Lo;0;L;;;;;N;;;;;
+B581;HANGUL SYLLABLE DDYAT;Lo;0;L;;;;;N;;;;;
+B582;HANGUL SYLLABLE DDYAP;Lo;0;L;;;;;N;;;;;
+B583;HANGUL SYLLABLE DDYAH;Lo;0;L;;;;;N;;;;;
+B584;HANGUL SYLLABLE DDYAE;Lo;0;L;;;;;N;;;;;
+B585;HANGUL SYLLABLE DDYAEG;Lo;0;L;;;;;N;;;;;
+B586;HANGUL SYLLABLE DDYAEGG;Lo;0;L;;;;;N;;;;;
+B587;HANGUL SYLLABLE DDYAEGS;Lo;0;L;;;;;N;;;;;
+B588;HANGUL SYLLABLE DDYAEN;Lo;0;L;;;;;N;;;;;
+B589;HANGUL SYLLABLE DDYAENI;Lo;0;L;;;;;N;;;;;
+B58A;HANGUL SYLLABLE DDYAENH;Lo;0;L;;;;;N;;;;;
+B58B;HANGUL SYLLABLE DDYAED;Lo;0;L;;;;;N;;;;;
+B58C;HANGUL SYLLABLE DDYAEL;Lo;0;L;;;;;N;;;;;
+B58D;HANGUL SYLLABLE DDYAELG;Lo;0;L;;;;;N;;;;;
+B58E;HANGUL SYLLABLE DDYAELM;Lo;0;L;;;;;N;;;;;
+B58F;HANGUL SYLLABLE DDYAELB;Lo;0;L;;;;;N;;;;;
+B590;HANGUL SYLLABLE DDYAELS;Lo;0;L;;;;;N;;;;;
+B591;HANGUL SYLLABLE DDYAELT;Lo;0;L;;;;;N;;;;;
+B592;HANGUL SYLLABLE DDYAELP;Lo;0;L;;;;;N;;;;;
+B593;HANGUL SYLLABLE DDYAELH;Lo;0;L;;;;;N;;;;;
+B594;HANGUL SYLLABLE DDYAEM;Lo;0;L;;;;;N;;;;;
+B595;HANGUL SYLLABLE DDYAEB;Lo;0;L;;;;;N;;;;;
+B596;HANGUL SYLLABLE DDYAEBS;Lo;0;L;;;;;N;;;;;
+B597;HANGUL SYLLABLE DDYAES;Lo;0;L;;;;;N;;;;;
+B598;HANGUL SYLLABLE DDYAESS;Lo;0;L;;;;;N;;;;;
+B599;HANGUL SYLLABLE DDYAENG;Lo;0;L;;;;;N;;;;;
+B59A;HANGUL SYLLABLE DDYAEJ;Lo;0;L;;;;;N;;;;;
+B59B;HANGUL SYLLABLE DDYAEC;Lo;0;L;;;;;N;;;;;
+B59C;HANGUL SYLLABLE DDYAEK;Lo;0;L;;;;;N;;;;;
+B59D;HANGUL SYLLABLE DDYAET;Lo;0;L;;;;;N;;;;;
+B59E;HANGUL SYLLABLE DDYAEP;Lo;0;L;;;;;N;;;;;
+B59F;HANGUL SYLLABLE DDYAEH;Lo;0;L;;;;;N;;;;;
+B5A0;HANGUL SYLLABLE DDEO;Lo;0;L;;;;;N;;;;;
+B5A1;HANGUL SYLLABLE DDEOG;Lo;0;L;;;;;N;;;;;
+B5A2;HANGUL SYLLABLE DDEOGG;Lo;0;L;;;;;N;;;;;
+B5A3;HANGUL SYLLABLE DDEOGS;Lo;0;L;;;;;N;;;;;
+B5A4;HANGUL SYLLABLE DDEON;Lo;0;L;;;;;N;;;;;
+B5A5;HANGUL SYLLABLE DDEONI;Lo;0;L;;;;;N;;;;;
+B5A6;HANGUL SYLLABLE DDEONH;Lo;0;L;;;;;N;;;;;
+B5A7;HANGUL SYLLABLE DDEOD;Lo;0;L;;;;;N;;;;;
+B5A8;HANGUL SYLLABLE DDEOL;Lo;0;L;;;;;N;;;;;
+B5A9;HANGUL SYLLABLE DDEOLG;Lo;0;L;;;;;N;;;;;
+B5AA;HANGUL SYLLABLE DDEOLM;Lo;0;L;;;;;N;;;;;
+B5AB;HANGUL SYLLABLE DDEOLB;Lo;0;L;;;;;N;;;;;
+B5AC;HANGUL SYLLABLE DDEOLS;Lo;0;L;;;;;N;;;;;
+B5AD;HANGUL SYLLABLE DDEOLT;Lo;0;L;;;;;N;;;;;
+B5AE;HANGUL SYLLABLE DDEOLP;Lo;0;L;;;;;N;;;;;
+B5AF;HANGUL SYLLABLE DDEOLH;Lo;0;L;;;;;N;;;;;
+B5B0;HANGUL SYLLABLE DDEOM;Lo;0;L;;;;;N;;;;;
+B5B1;HANGUL SYLLABLE DDEOB;Lo;0;L;;;;;N;;;;;
+B5B2;HANGUL SYLLABLE DDEOBS;Lo;0;L;;;;;N;;;;;
+B5B3;HANGUL SYLLABLE DDEOS;Lo;0;L;;;;;N;;;;;
+B5B4;HANGUL SYLLABLE DDEOSS;Lo;0;L;;;;;N;;;;;
+B5B5;HANGUL SYLLABLE DDEONG;Lo;0;L;;;;;N;;;;;
+B5B6;HANGUL SYLLABLE DDEOJ;Lo;0;L;;;;;N;;;;;
+B5B7;HANGUL SYLLABLE DDEOC;Lo;0;L;;;;;N;;;;;
+B5B8;HANGUL SYLLABLE DDEOK;Lo;0;L;;;;;N;;;;;
+B5B9;HANGUL SYLLABLE DDEOT;Lo;0;L;;;;;N;;;;;
+B5BA;HANGUL SYLLABLE DDEOP;Lo;0;L;;;;;N;;;;;
+B5BB;HANGUL SYLLABLE DDEOH;Lo;0;L;;;;;N;;;;;
+B5BC;HANGUL SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
+B5BD;HANGUL SYLLABLE DDEG;Lo;0;L;;;;;N;;;;;
+B5BE;HANGUL SYLLABLE DDEGG;Lo;0;L;;;;;N;;;;;
+B5BF;HANGUL SYLLABLE DDEGS;Lo;0;L;;;;;N;;;;;
+B5C0;HANGUL SYLLABLE DDEN;Lo;0;L;;;;;N;;;;;
+B5C1;HANGUL SYLLABLE DDENI;Lo;0;L;;;;;N;;;;;
+B5C2;HANGUL SYLLABLE DDENH;Lo;0;L;;;;;N;;;;;
+B5C3;HANGUL SYLLABLE DDED;Lo;0;L;;;;;N;;;;;
+B5C4;HANGUL SYLLABLE DDEL;Lo;0;L;;;;;N;;;;;
+B5C5;HANGUL SYLLABLE DDELG;Lo;0;L;;;;;N;;;;;
+B5C6;HANGUL SYLLABLE DDELM;Lo;0;L;;;;;N;;;;;
+B5C7;HANGUL SYLLABLE DDELB;Lo;0;L;;;;;N;;;;;
+B5C8;HANGUL SYLLABLE DDELS;Lo;0;L;;;;;N;;;;;
+B5C9;HANGUL SYLLABLE DDELT;Lo;0;L;;;;;N;;;;;
+B5CA;HANGUL SYLLABLE DDELP;Lo;0;L;;;;;N;;;;;
+B5CB;HANGUL SYLLABLE DDELH;Lo;0;L;;;;;N;;;;;
+B5CC;HANGUL SYLLABLE DDEM;Lo;0;L;;;;;N;;;;;
+B5CD;HANGUL SYLLABLE DDEB;Lo;0;L;;;;;N;;;;;
+B5CE;HANGUL SYLLABLE DDEBS;Lo;0;L;;;;;N;;;;;
+B5CF;HANGUL SYLLABLE DDES;Lo;0;L;;;;;N;;;;;
+B5D0;HANGUL SYLLABLE DDESS;Lo;0;L;;;;;N;;;;;
+B5D1;HANGUL SYLLABLE DDENG;Lo;0;L;;;;;N;;;;;
+B5D2;HANGUL SYLLABLE DDEJ;Lo;0;L;;;;;N;;;;;
+B5D3;HANGUL SYLLABLE DDEC;Lo;0;L;;;;;N;;;;;
+B5D4;HANGUL SYLLABLE DDEK;Lo;0;L;;;;;N;;;;;
+B5D5;HANGUL SYLLABLE DDET;Lo;0;L;;;;;N;;;;;
+B5D6;HANGUL SYLLABLE DDEP;Lo;0;L;;;;;N;;;;;
+B5D7;HANGUL SYLLABLE DDEH;Lo;0;L;;;;;N;;;;;
+B5D8;HANGUL SYLLABLE DDYEO;Lo;0;L;;;;;N;;;;;
+B5D9;HANGUL SYLLABLE DDYEOG;Lo;0;L;;;;;N;;;;;
+B5DA;HANGUL SYLLABLE DDYEOGG;Lo;0;L;;;;;N;;;;;
+B5DB;HANGUL SYLLABLE DDYEOGS;Lo;0;L;;;;;N;;;;;
+B5DC;HANGUL SYLLABLE DDYEON;Lo;0;L;;;;;N;;;;;
+B5DD;HANGUL SYLLABLE DDYEONI;Lo;0;L;;;;;N;;;;;
+B5DE;HANGUL SYLLABLE DDYEONH;Lo;0;L;;;;;N;;;;;
+B5DF;HANGUL SYLLABLE DDYEOD;Lo;0;L;;;;;N;;;;;
+B5E0;HANGUL SYLLABLE DDYEOL;Lo;0;L;;;;;N;;;;;
+B5E1;HANGUL SYLLABLE DDYEOLG;Lo;0;L;;;;;N;;;;;
+B5E2;HANGUL SYLLABLE DDYEOLM;Lo;0;L;;;;;N;;;;;
+B5E3;HANGUL SYLLABLE DDYEOLB;Lo;0;L;;;;;N;;;;;
+B5E4;HANGUL SYLLABLE DDYEOLS;Lo;0;L;;;;;N;;;;;
+B5E5;HANGUL SYLLABLE DDYEOLT;Lo;0;L;;;;;N;;;;;
+B5E6;HANGUL SYLLABLE DDYEOLP;Lo;0;L;;;;;N;;;;;
+B5E7;HANGUL SYLLABLE DDYEOLH;Lo;0;L;;;;;N;;;;;
+B5E8;HANGUL SYLLABLE DDYEOM;Lo;0;L;;;;;N;;;;;
+B5E9;HANGUL SYLLABLE DDYEOB;Lo;0;L;;;;;N;;;;;
+B5EA;HANGUL SYLLABLE DDYEOBS;Lo;0;L;;;;;N;;;;;
+B5EB;HANGUL SYLLABLE DDYEOS;Lo;0;L;;;;;N;;;;;
+B5EC;HANGUL SYLLABLE DDYEOSS;Lo;0;L;;;;;N;;;;;
+B5ED;HANGUL SYLLABLE DDYEONG;Lo;0;L;;;;;N;;;;;
+B5EE;HANGUL SYLLABLE DDYEOJ;Lo;0;L;;;;;N;;;;;
+B5EF;HANGUL SYLLABLE DDYEOC;Lo;0;L;;;;;N;;;;;
+B5F0;HANGUL SYLLABLE DDYEOK;Lo;0;L;;;;;N;;;;;
+B5F1;HANGUL SYLLABLE DDYEOT;Lo;0;L;;;;;N;;;;;
+B5F2;HANGUL SYLLABLE DDYEOP;Lo;0;L;;;;;N;;;;;
+B5F3;HANGUL SYLLABLE DDYEOH;Lo;0;L;;;;;N;;;;;
+B5F4;HANGUL SYLLABLE DDYE;Lo;0;L;;;;;N;;;;;
+B5F5;HANGUL SYLLABLE DDYEG;Lo;0;L;;;;;N;;;;;
+B5F6;HANGUL SYLLABLE DDYEGG;Lo;0;L;;;;;N;;;;;
+B5F7;HANGUL SYLLABLE DDYEGS;Lo;0;L;;;;;N;;;;;
+B5F8;HANGUL SYLLABLE DDYEN;Lo;0;L;;;;;N;;;;;
+B5F9;HANGUL SYLLABLE DDYENI;Lo;0;L;;;;;N;;;;;
+B5FA;HANGUL SYLLABLE DDYENH;Lo;0;L;;;;;N;;;;;
+B5FB;HANGUL SYLLABLE DDYED;Lo;0;L;;;;;N;;;;;
+B5FC;HANGUL SYLLABLE DDYEL;Lo;0;L;;;;;N;;;;;
+B5FD;HANGUL SYLLABLE DDYELG;Lo;0;L;;;;;N;;;;;
+B5FE;HANGUL SYLLABLE DDYELM;Lo;0;L;;;;;N;;;;;
+B5FF;HANGUL SYLLABLE DDYELB;Lo;0;L;;;;;N;;;;;
+B600;HANGUL SYLLABLE DDYELS;Lo;0;L;;;;;N;;;;;
+B601;HANGUL SYLLABLE DDYELT;Lo;0;L;;;;;N;;;;;
+B602;HANGUL SYLLABLE DDYELP;Lo;0;L;;;;;N;;;;;
+B603;HANGUL SYLLABLE DDYELH;Lo;0;L;;;;;N;;;;;
+B604;HANGUL SYLLABLE DDYEM;Lo;0;L;;;;;N;;;;;
+B605;HANGUL SYLLABLE DDYEB;Lo;0;L;;;;;N;;;;;
+B606;HANGUL SYLLABLE DDYEBS;Lo;0;L;;;;;N;;;;;
+B607;HANGUL SYLLABLE DDYES;Lo;0;L;;;;;N;;;;;
+B608;HANGUL SYLLABLE DDYESS;Lo;0;L;;;;;N;;;;;
+B609;HANGUL SYLLABLE DDYENG;Lo;0;L;;;;;N;;;;;
+B60A;HANGUL SYLLABLE DDYEJ;Lo;0;L;;;;;N;;;;;
+B60B;HANGUL SYLLABLE DDYEC;Lo;0;L;;;;;N;;;;;
+B60C;HANGUL SYLLABLE DDYEK;Lo;0;L;;;;;N;;;;;
+B60D;HANGUL SYLLABLE DDYET;Lo;0;L;;;;;N;;;;;
+B60E;HANGUL SYLLABLE DDYEP;Lo;0;L;;;;;N;;;;;
+B60F;HANGUL SYLLABLE DDYEH;Lo;0;L;;;;;N;;;;;
+B610;HANGUL SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
+B611;HANGUL SYLLABLE DDOG;Lo;0;L;;;;;N;;;;;
+B612;HANGUL SYLLABLE DDOGG;Lo;0;L;;;;;N;;;;;
+B613;HANGUL SYLLABLE DDOGS;Lo;0;L;;;;;N;;;;;
+B614;HANGUL SYLLABLE DDON;Lo;0;L;;;;;N;;;;;
+B615;HANGUL SYLLABLE DDONI;Lo;0;L;;;;;N;;;;;
+B616;HANGUL SYLLABLE DDONH;Lo;0;L;;;;;N;;;;;
+B617;HANGUL SYLLABLE DDOD;Lo;0;L;;;;;N;;;;;
+B618;HANGUL SYLLABLE DDOL;Lo;0;L;;;;;N;;;;;
+B619;HANGUL SYLLABLE DDOLG;Lo;0;L;;;;;N;;;;;
+B61A;HANGUL SYLLABLE DDOLM;Lo;0;L;;;;;N;;;;;
+B61B;HANGUL SYLLABLE DDOLB;Lo;0;L;;;;;N;;;;;
+B61C;HANGUL SYLLABLE DDOLS;Lo;0;L;;;;;N;;;;;
+B61D;HANGUL SYLLABLE DDOLT;Lo;0;L;;;;;N;;;;;
+B61E;HANGUL SYLLABLE DDOLP;Lo;0;L;;;;;N;;;;;
+B61F;HANGUL SYLLABLE DDOLH;Lo;0;L;;;;;N;;;;;
+B620;HANGUL SYLLABLE DDOM;Lo;0;L;;;;;N;;;;;
+B621;HANGUL SYLLABLE DDOB;Lo;0;L;;;;;N;;;;;
+B622;HANGUL SYLLABLE DDOBS;Lo;0;L;;;;;N;;;;;
+B623;HANGUL SYLLABLE DDOS;Lo;0;L;;;;;N;;;;;
+B624;HANGUL SYLLABLE DDOSS;Lo;0;L;;;;;N;;;;;
+B625;HANGUL SYLLABLE DDONG;Lo;0;L;;;;;N;;;;;
+B626;HANGUL SYLLABLE DDOJ;Lo;0;L;;;;;N;;;;;
+B627;HANGUL SYLLABLE DDOC;Lo;0;L;;;;;N;;;;;
+B628;HANGUL SYLLABLE DDOK;Lo;0;L;;;;;N;;;;;
+B629;HANGUL SYLLABLE DDOT;Lo;0;L;;;;;N;;;;;
+B62A;HANGUL SYLLABLE DDOP;Lo;0;L;;;;;N;;;;;
+B62B;HANGUL SYLLABLE DDOH;Lo;0;L;;;;;N;;;;;
+B62C;HANGUL SYLLABLE DDWA;Lo;0;L;;;;;N;;;;;
+B62D;HANGUL SYLLABLE DDWAG;Lo;0;L;;;;;N;;;;;
+B62E;HANGUL SYLLABLE DDWAGG;Lo;0;L;;;;;N;;;;;
+B62F;HANGUL SYLLABLE DDWAGS;Lo;0;L;;;;;N;;;;;
+B630;HANGUL SYLLABLE DDWAN;Lo;0;L;;;;;N;;;;;
+B631;HANGUL SYLLABLE DDWANI;Lo;0;L;;;;;N;;;;;
+B632;HANGUL SYLLABLE DDWANH;Lo;0;L;;;;;N;;;;;
+B633;HANGUL SYLLABLE DDWAD;Lo;0;L;;;;;N;;;;;
+B634;HANGUL SYLLABLE DDWAL;Lo;0;L;;;;;N;;;;;
+B635;HANGUL SYLLABLE DDWALG;Lo;0;L;;;;;N;;;;;
+B636;HANGUL SYLLABLE DDWALM;Lo;0;L;;;;;N;;;;;
+B637;HANGUL SYLLABLE DDWALB;Lo;0;L;;;;;N;;;;;
+B638;HANGUL SYLLABLE DDWALS;Lo;0;L;;;;;N;;;;;
+B639;HANGUL SYLLABLE DDWALT;Lo;0;L;;;;;N;;;;;
+B63A;HANGUL SYLLABLE DDWALP;Lo;0;L;;;;;N;;;;;
+B63B;HANGUL SYLLABLE DDWALH;Lo;0;L;;;;;N;;;;;
+B63C;HANGUL SYLLABLE DDWAM;Lo;0;L;;;;;N;;;;;
+B63D;HANGUL SYLLABLE DDWAB;Lo;0;L;;;;;N;;;;;
+B63E;HANGUL SYLLABLE DDWABS;Lo;0;L;;;;;N;;;;;
+B63F;HANGUL SYLLABLE DDWAS;Lo;0;L;;;;;N;;;;;
+B640;HANGUL SYLLABLE DDWASS;Lo;0;L;;;;;N;;;;;
+B641;HANGUL SYLLABLE DDWANG;Lo;0;L;;;;;N;;;;;
+B642;HANGUL SYLLABLE DDWAJ;Lo;0;L;;;;;N;;;;;
+B643;HANGUL SYLLABLE DDWAC;Lo;0;L;;;;;N;;;;;
+B644;HANGUL SYLLABLE DDWAK;Lo;0;L;;;;;N;;;;;
+B645;HANGUL SYLLABLE DDWAT;Lo;0;L;;;;;N;;;;;
+B646;HANGUL SYLLABLE DDWAP;Lo;0;L;;;;;N;;;;;
+B647;HANGUL SYLLABLE DDWAH;Lo;0;L;;;;;N;;;;;
+B648;HANGUL SYLLABLE DDWAE;Lo;0;L;;;;;N;;;;;
+B649;HANGUL SYLLABLE DDWAEG;Lo;0;L;;;;;N;;;;;
+B64A;HANGUL SYLLABLE DDWAEGG;Lo;0;L;;;;;N;;;;;
+B64B;HANGUL SYLLABLE DDWAEGS;Lo;0;L;;;;;N;;;;;
+B64C;HANGUL SYLLABLE DDWAEN;Lo;0;L;;;;;N;;;;;
+B64D;HANGUL SYLLABLE DDWAENI;Lo;0;L;;;;;N;;;;;
+B64E;HANGUL SYLLABLE DDWAENH;Lo;0;L;;;;;N;;;;;
+B64F;HANGUL SYLLABLE DDWAED;Lo;0;L;;;;;N;;;;;
+B650;HANGUL SYLLABLE DDWAEL;Lo;0;L;;;;;N;;;;;
+B651;HANGUL SYLLABLE DDWAELG;Lo;0;L;;;;;N;;;;;
+B652;HANGUL SYLLABLE DDWAELM;Lo;0;L;;;;;N;;;;;
+B653;HANGUL SYLLABLE DDWAELB;Lo;0;L;;;;;N;;;;;
+B654;HANGUL SYLLABLE DDWAELS;Lo;0;L;;;;;N;;;;;
+B655;HANGUL SYLLABLE DDWAELT;Lo;0;L;;;;;N;;;;;
+B656;HANGUL SYLLABLE DDWAELP;Lo;0;L;;;;;N;;;;;
+B657;HANGUL SYLLABLE DDWAELH;Lo;0;L;;;;;N;;;;;
+B658;HANGUL SYLLABLE DDWAEM;Lo;0;L;;;;;N;;;;;
+B659;HANGUL SYLLABLE DDWAEB;Lo;0;L;;;;;N;;;;;
+B65A;HANGUL SYLLABLE DDWAEBS;Lo;0;L;;;;;N;;;;;
+B65B;HANGUL SYLLABLE DDWAES;Lo;0;L;;;;;N;;;;;
+B65C;HANGUL SYLLABLE DDWAESS;Lo;0;L;;;;;N;;;;;
+B65D;HANGUL SYLLABLE DDWAENG;Lo;0;L;;;;;N;;;;;
+B65E;HANGUL SYLLABLE DDWAEJ;Lo;0;L;;;;;N;;;;;
+B65F;HANGUL SYLLABLE DDWAEC;Lo;0;L;;;;;N;;;;;
+B660;HANGUL SYLLABLE DDWAEK;Lo;0;L;;;;;N;;;;;
+B661;HANGUL SYLLABLE DDWAET;Lo;0;L;;;;;N;;;;;
+B662;HANGUL SYLLABLE DDWAEP;Lo;0;L;;;;;N;;;;;
+B663;HANGUL SYLLABLE DDWAEH;Lo;0;L;;;;;N;;;;;
+B664;HANGUL SYLLABLE DDOE;Lo;0;L;;;;;N;;;;;
+B665;HANGUL SYLLABLE DDOEG;Lo;0;L;;;;;N;;;;;
+B666;HANGUL SYLLABLE DDOEGG;Lo;0;L;;;;;N;;;;;
+B667;HANGUL SYLLABLE DDOEGS;Lo;0;L;;;;;N;;;;;
+B668;HANGUL SYLLABLE DDOEN;Lo;0;L;;;;;N;;;;;
+B669;HANGUL SYLLABLE DDOENI;Lo;0;L;;;;;N;;;;;
+B66A;HANGUL SYLLABLE DDOENH;Lo;0;L;;;;;N;;;;;
+B66B;HANGUL SYLLABLE DDOED;Lo;0;L;;;;;N;;;;;
+B66C;HANGUL SYLLABLE DDOEL;Lo;0;L;;;;;N;;;;;
+B66D;HANGUL SYLLABLE DDOELG;Lo;0;L;;;;;N;;;;;
+B66E;HANGUL SYLLABLE DDOELM;Lo;0;L;;;;;N;;;;;
+B66F;HANGUL SYLLABLE DDOELB;Lo;0;L;;;;;N;;;;;
+B670;HANGUL SYLLABLE DDOELS;Lo;0;L;;;;;N;;;;;
+B671;HANGUL SYLLABLE DDOELT;Lo;0;L;;;;;N;;;;;
+B672;HANGUL SYLLABLE DDOELP;Lo;0;L;;;;;N;;;;;
+B673;HANGUL SYLLABLE DDOELH;Lo;0;L;;;;;N;;;;;
+B674;HANGUL SYLLABLE DDOEM;Lo;0;L;;;;;N;;;;;
+B675;HANGUL SYLLABLE DDOEB;Lo;0;L;;;;;N;;;;;
+B676;HANGUL SYLLABLE DDOEBS;Lo;0;L;;;;;N;;;;;
+B677;HANGUL SYLLABLE DDOES;Lo;0;L;;;;;N;;;;;
+B678;HANGUL SYLLABLE DDOESS;Lo;0;L;;;;;N;;;;;
+B679;HANGUL SYLLABLE DDOENG;Lo;0;L;;;;;N;;;;;
+B67A;HANGUL SYLLABLE DDOEJ;Lo;0;L;;;;;N;;;;;
+B67B;HANGUL SYLLABLE DDOEC;Lo;0;L;;;;;N;;;;;
+B67C;HANGUL SYLLABLE DDOEK;Lo;0;L;;;;;N;;;;;
+B67D;HANGUL SYLLABLE DDOET;Lo;0;L;;;;;N;;;;;
+B67E;HANGUL SYLLABLE DDOEP;Lo;0;L;;;;;N;;;;;
+B67F;HANGUL SYLLABLE DDOEH;Lo;0;L;;;;;N;;;;;
+B680;HANGUL SYLLABLE DDYO;Lo;0;L;;;;;N;;;;;
+B681;HANGUL SYLLABLE DDYOG;Lo;0;L;;;;;N;;;;;
+B682;HANGUL SYLLABLE DDYOGG;Lo;0;L;;;;;N;;;;;
+B683;HANGUL SYLLABLE DDYOGS;Lo;0;L;;;;;N;;;;;
+B684;HANGUL SYLLABLE DDYON;Lo;0;L;;;;;N;;;;;
+B685;HANGUL SYLLABLE DDYONI;Lo;0;L;;;;;N;;;;;
+B686;HANGUL SYLLABLE DDYONH;Lo;0;L;;;;;N;;;;;
+B687;HANGUL SYLLABLE DDYOD;Lo;0;L;;;;;N;;;;;
+B688;HANGUL SYLLABLE DDYOL;Lo;0;L;;;;;N;;;;;
+B689;HANGUL SYLLABLE DDYOLG;Lo;0;L;;;;;N;;;;;
+B68A;HANGUL SYLLABLE DDYOLM;Lo;0;L;;;;;N;;;;;
+B68B;HANGUL SYLLABLE DDYOLB;Lo;0;L;;;;;N;;;;;
+B68C;HANGUL SYLLABLE DDYOLS;Lo;0;L;;;;;N;;;;;
+B68D;HANGUL SYLLABLE DDYOLT;Lo;0;L;;;;;N;;;;;
+B68E;HANGUL SYLLABLE DDYOLP;Lo;0;L;;;;;N;;;;;
+B68F;HANGUL SYLLABLE DDYOLH;Lo;0;L;;;;;N;;;;;
+B690;HANGUL SYLLABLE DDYOM;Lo;0;L;;;;;N;;;;;
+B691;HANGUL SYLLABLE DDYOB;Lo;0;L;;;;;N;;;;;
+B692;HANGUL SYLLABLE DDYOBS;Lo;0;L;;;;;N;;;;;
+B693;HANGUL SYLLABLE DDYOS;Lo;0;L;;;;;N;;;;;
+B694;HANGUL SYLLABLE DDYOSS;Lo;0;L;;;;;N;;;;;
+B695;HANGUL SYLLABLE DDYONG;Lo;0;L;;;;;N;;;;;
+B696;HANGUL SYLLABLE DDYOJ;Lo;0;L;;;;;N;;;;;
+B697;HANGUL SYLLABLE DDYOC;Lo;0;L;;;;;N;;;;;
+B698;HANGUL SYLLABLE DDYOK;Lo;0;L;;;;;N;;;;;
+B699;HANGUL SYLLABLE DDYOT;Lo;0;L;;;;;N;;;;;
+B69A;HANGUL SYLLABLE DDYOP;Lo;0;L;;;;;N;;;;;
+B69B;HANGUL SYLLABLE DDYOH;Lo;0;L;;;;;N;;;;;
+B69C;HANGUL SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
+B69D;HANGUL SYLLABLE DDUG;Lo;0;L;;;;;N;;;;;
+B69E;HANGUL SYLLABLE DDUGG;Lo;0;L;;;;;N;;;;;
+B69F;HANGUL SYLLABLE DDUGS;Lo;0;L;;;;;N;;;;;
+B6A0;HANGUL SYLLABLE DDUN;Lo;0;L;;;;;N;;;;;
+B6A1;HANGUL SYLLABLE DDUNI;Lo;0;L;;;;;N;;;;;
+B6A2;HANGUL SYLLABLE DDUNH;Lo;0;L;;;;;N;;;;;
+B6A3;HANGUL SYLLABLE DDUD;Lo;0;L;;;;;N;;;;;
+B6A4;HANGUL SYLLABLE DDUL;Lo;0;L;;;;;N;;;;;
+B6A5;HANGUL SYLLABLE DDULG;Lo;0;L;;;;;N;;;;;
+B6A6;HANGUL SYLLABLE DDULM;Lo;0;L;;;;;N;;;;;
+B6A7;HANGUL SYLLABLE DDULB;Lo;0;L;;;;;N;;;;;
+B6A8;HANGUL SYLLABLE DDULS;Lo;0;L;;;;;N;;;;;
+B6A9;HANGUL SYLLABLE DDULT;Lo;0;L;;;;;N;;;;;
+B6AA;HANGUL SYLLABLE DDULP;Lo;0;L;;;;;N;;;;;
+B6AB;HANGUL SYLLABLE DDULH;Lo;0;L;;;;;N;;;;;
+B6AC;HANGUL SYLLABLE DDUM;Lo;0;L;;;;;N;;;;;
+B6AD;HANGUL SYLLABLE DDUB;Lo;0;L;;;;;N;;;;;
+B6AE;HANGUL SYLLABLE DDUBS;Lo;0;L;;;;;N;;;;;
+B6AF;HANGUL SYLLABLE DDUS;Lo;0;L;;;;;N;;;;;
+B6B0;HANGUL SYLLABLE DDUSS;Lo;0;L;;;;;N;;;;;
+B6B1;HANGUL SYLLABLE DDUNG;Lo;0;L;;;;;N;;;;;
+B6B2;HANGUL SYLLABLE DDUJ;Lo;0;L;;;;;N;;;;;
+B6B3;HANGUL SYLLABLE DDUC;Lo;0;L;;;;;N;;;;;
+B6B4;HANGUL SYLLABLE DDUK;Lo;0;L;;;;;N;;;;;
+B6B5;HANGUL SYLLABLE DDUT;Lo;0;L;;;;;N;;;;;
+B6B6;HANGUL SYLLABLE DDUP;Lo;0;L;;;;;N;;;;;
+B6B7;HANGUL SYLLABLE DDUH;Lo;0;L;;;;;N;;;;;
+B6B8;HANGUL SYLLABLE DDWEO;Lo;0;L;;;;;N;;;;;
+B6B9;HANGUL SYLLABLE DDWEOG;Lo;0;L;;;;;N;;;;;
+B6BA;HANGUL SYLLABLE DDWEOGG;Lo;0;L;;;;;N;;;;;
+B6BB;HANGUL SYLLABLE DDWEOGS;Lo;0;L;;;;;N;;;;;
+B6BC;HANGUL SYLLABLE DDWEON;Lo;0;L;;;;;N;;;;;
+B6BD;HANGUL SYLLABLE DDWEONI;Lo;0;L;;;;;N;;;;;
+B6BE;HANGUL SYLLABLE DDWEONH;Lo;0;L;;;;;N;;;;;
+B6BF;HANGUL SYLLABLE DDWEOD;Lo;0;L;;;;;N;;;;;
+B6C0;HANGUL SYLLABLE DDWEOL;Lo;0;L;;;;;N;;;;;
+B6C1;HANGUL SYLLABLE DDWEOLG;Lo;0;L;;;;;N;;;;;
+B6C2;HANGUL SYLLABLE DDWEOLM;Lo;0;L;;;;;N;;;;;
+B6C3;HANGUL SYLLABLE DDWEOLB;Lo;0;L;;;;;N;;;;;
+B6C4;HANGUL SYLLABLE DDWEOLS;Lo;0;L;;;;;N;;;;;
+B6C5;HANGUL SYLLABLE DDWEOLT;Lo;0;L;;;;;N;;;;;
+B6C6;HANGUL SYLLABLE DDWEOLP;Lo;0;L;;;;;N;;;;;
+B6C7;HANGUL SYLLABLE DDWEOLH;Lo;0;L;;;;;N;;;;;
+B6C8;HANGUL SYLLABLE DDWEOM;Lo;0;L;;;;;N;;;;;
+B6C9;HANGUL SYLLABLE DDWEOB;Lo;0;L;;;;;N;;;;;
+B6CA;HANGUL SYLLABLE DDWEOBS;Lo;0;L;;;;;N;;;;;
+B6CB;HANGUL SYLLABLE DDWEOS;Lo;0;L;;;;;N;;;;;
+B6CC;HANGUL SYLLABLE DDWEOSS;Lo;0;L;;;;;N;;;;;
+B6CD;HANGUL SYLLABLE DDWEONG;Lo;0;L;;;;;N;;;;;
+B6CE;HANGUL SYLLABLE DDWEOJ;Lo;0;L;;;;;N;;;;;
+B6CF;HANGUL SYLLABLE DDWEOC;Lo;0;L;;;;;N;;;;;
+B6D0;HANGUL SYLLABLE DDWEOK;Lo;0;L;;;;;N;;;;;
+B6D1;HANGUL SYLLABLE DDWEOT;Lo;0;L;;;;;N;;;;;
+B6D2;HANGUL SYLLABLE DDWEOP;Lo;0;L;;;;;N;;;;;
+B6D3;HANGUL SYLLABLE DDWEOH;Lo;0;L;;;;;N;;;;;
+B6D4;HANGUL SYLLABLE DDWE;Lo;0;L;;;;;N;;;;;
+B6D5;HANGUL SYLLABLE DDWEG;Lo;0;L;;;;;N;;;;;
+B6D6;HANGUL SYLLABLE DDWEGG;Lo;0;L;;;;;N;;;;;
+B6D7;HANGUL SYLLABLE DDWEGS;Lo;0;L;;;;;N;;;;;
+B6D8;HANGUL SYLLABLE DDWEN;Lo;0;L;;;;;N;;;;;
+B6D9;HANGUL SYLLABLE DDWENI;Lo;0;L;;;;;N;;;;;
+B6DA;HANGUL SYLLABLE DDWENH;Lo;0;L;;;;;N;;;;;
+B6DB;HANGUL SYLLABLE DDWED;Lo;0;L;;;;;N;;;;;
+B6DC;HANGUL SYLLABLE DDWEL;Lo;0;L;;;;;N;;;;;
+B6DD;HANGUL SYLLABLE DDWELG;Lo;0;L;;;;;N;;;;;
+B6DE;HANGUL SYLLABLE DDWELM;Lo;0;L;;;;;N;;;;;
+B6DF;HANGUL SYLLABLE DDWELB;Lo;0;L;;;;;N;;;;;
+B6E0;HANGUL SYLLABLE DDWELS;Lo;0;L;;;;;N;;;;;
+B6E1;HANGUL SYLLABLE DDWELT;Lo;0;L;;;;;N;;;;;
+B6E2;HANGUL SYLLABLE DDWELP;Lo;0;L;;;;;N;;;;;
+B6E3;HANGUL SYLLABLE DDWELH;Lo;0;L;;;;;N;;;;;
+B6E4;HANGUL SYLLABLE DDWEM;Lo;0;L;;;;;N;;;;;
+B6E5;HANGUL SYLLABLE DDWEB;Lo;0;L;;;;;N;;;;;
+B6E6;HANGUL SYLLABLE DDWEBS;Lo;0;L;;;;;N;;;;;
+B6E7;HANGUL SYLLABLE DDWES;Lo;0;L;;;;;N;;;;;
+B6E8;HANGUL SYLLABLE DDWESS;Lo;0;L;;;;;N;;;;;
+B6E9;HANGUL SYLLABLE DDWENG;Lo;0;L;;;;;N;;;;;
+B6EA;HANGUL SYLLABLE DDWEJ;Lo;0;L;;;;;N;;;;;
+B6EB;HANGUL SYLLABLE DDWEC;Lo;0;L;;;;;N;;;;;
+B6EC;HANGUL SYLLABLE DDWEK;Lo;0;L;;;;;N;;;;;
+B6ED;HANGUL SYLLABLE DDWET;Lo;0;L;;;;;N;;;;;
+B6EE;HANGUL SYLLABLE DDWEP;Lo;0;L;;;;;N;;;;;
+B6EF;HANGUL SYLLABLE DDWEH;Lo;0;L;;;;;N;;;;;
+B6F0;HANGUL SYLLABLE DDWI;Lo;0;L;;;;;N;;;;;
+B6F1;HANGUL SYLLABLE DDWIG;Lo;0;L;;;;;N;;;;;
+B6F2;HANGUL SYLLABLE DDWIGG;Lo;0;L;;;;;N;;;;;
+B6F3;HANGUL SYLLABLE DDWIGS;Lo;0;L;;;;;N;;;;;
+B6F4;HANGUL SYLLABLE DDWIN;Lo;0;L;;;;;N;;;;;
+B6F5;HANGUL SYLLABLE DDWINI;Lo;0;L;;;;;N;;;;;
+B6F6;HANGUL SYLLABLE DDWINH;Lo;0;L;;;;;N;;;;;
+B6F7;HANGUL SYLLABLE DDWID;Lo;0;L;;;;;N;;;;;
+B6F8;HANGUL SYLLABLE DDWIL;Lo;0;L;;;;;N;;;;;
+B6F9;HANGUL SYLLABLE DDWILG;Lo;0;L;;;;;N;;;;;
+B6FA;HANGUL SYLLABLE DDWILM;Lo;0;L;;;;;N;;;;;
+B6FB;HANGUL SYLLABLE DDWILB;Lo;0;L;;;;;N;;;;;
+B6FC;HANGUL SYLLABLE DDWILS;Lo;0;L;;;;;N;;;;;
+B6FD;HANGUL SYLLABLE DDWILT;Lo;0;L;;;;;N;;;;;
+B6FE;HANGUL SYLLABLE DDWILP;Lo;0;L;;;;;N;;;;;
+B6FF;HANGUL SYLLABLE DDWILH;Lo;0;L;;;;;N;;;;;
+B700;HANGUL SYLLABLE DDWIM;Lo;0;L;;;;;N;;;;;
+B701;HANGUL SYLLABLE DDWIB;Lo;0;L;;;;;N;;;;;
+B702;HANGUL SYLLABLE DDWIBS;Lo;0;L;;;;;N;;;;;
+B703;HANGUL SYLLABLE DDWIS;Lo;0;L;;;;;N;;;;;
+B704;HANGUL SYLLABLE DDWISS;Lo;0;L;;;;;N;;;;;
+B705;HANGUL SYLLABLE DDWING;Lo;0;L;;;;;N;;;;;
+B706;HANGUL SYLLABLE DDWIJ;Lo;0;L;;;;;N;;;;;
+B707;HANGUL SYLLABLE DDWIC;Lo;0;L;;;;;N;;;;;
+B708;HANGUL SYLLABLE DDWIK;Lo;0;L;;;;;N;;;;;
+B709;HANGUL SYLLABLE DDWIT;Lo;0;L;;;;;N;;;;;
+B70A;HANGUL SYLLABLE DDWIP;Lo;0;L;;;;;N;;;;;
+B70B;HANGUL SYLLABLE DDWIH;Lo;0;L;;;;;N;;;;;
+B70C;HANGUL SYLLABLE DDYU;Lo;0;L;;;;;N;;;;;
+B70D;HANGUL SYLLABLE DDYUG;Lo;0;L;;;;;N;;;;;
+B70E;HANGUL SYLLABLE DDYUGG;Lo;0;L;;;;;N;;;;;
+B70F;HANGUL SYLLABLE DDYUGS;Lo;0;L;;;;;N;;;;;
+B710;HANGUL SYLLABLE DDYUN;Lo;0;L;;;;;N;;;;;
+B711;HANGUL SYLLABLE DDYUNI;Lo;0;L;;;;;N;;;;;
+B712;HANGUL SYLLABLE DDYUNH;Lo;0;L;;;;;N;;;;;
+B713;HANGUL SYLLABLE DDYUD;Lo;0;L;;;;;N;;;;;
+B714;HANGUL SYLLABLE DDYUL;Lo;0;L;;;;;N;;;;;
+B715;HANGUL SYLLABLE DDYULG;Lo;0;L;;;;;N;;;;;
+B716;HANGUL SYLLABLE DDYULM;Lo;0;L;;;;;N;;;;;
+B717;HANGUL SYLLABLE DDYULB;Lo;0;L;;;;;N;;;;;
+B718;HANGUL SYLLABLE DDYULS;Lo;0;L;;;;;N;;;;;
+B719;HANGUL SYLLABLE DDYULT;Lo;0;L;;;;;N;;;;;
+B71A;HANGUL SYLLABLE DDYULP;Lo;0;L;;;;;N;;;;;
+B71B;HANGUL SYLLABLE DDYULH;Lo;0;L;;;;;N;;;;;
+B71C;HANGUL SYLLABLE DDYUM;Lo;0;L;;;;;N;;;;;
+B71D;HANGUL SYLLABLE DDYUB;Lo;0;L;;;;;N;;;;;
+B71E;HANGUL SYLLABLE DDYUBS;Lo;0;L;;;;;N;;;;;
+B71F;HANGUL SYLLABLE DDYUS;Lo;0;L;;;;;N;;;;;
+B720;HANGUL SYLLABLE DDYUSS;Lo;0;L;;;;;N;;;;;
+B721;HANGUL SYLLABLE DDYUNG;Lo;0;L;;;;;N;;;;;
+B722;HANGUL SYLLABLE DDYUJ;Lo;0;L;;;;;N;;;;;
+B723;HANGUL SYLLABLE DDYUC;Lo;0;L;;;;;N;;;;;
+B724;HANGUL SYLLABLE DDYUK;Lo;0;L;;;;;N;;;;;
+B725;HANGUL SYLLABLE DDYUT;Lo;0;L;;;;;N;;;;;
+B726;HANGUL SYLLABLE DDYUP;Lo;0;L;;;;;N;;;;;
+B727;HANGUL SYLLABLE DDYUH;Lo;0;L;;;;;N;;;;;
+B728;HANGUL SYLLABLE DDEU;Lo;0;L;;;;;N;;;;;
+B729;HANGUL SYLLABLE DDEUG;Lo;0;L;;;;;N;;;;;
+B72A;HANGUL SYLLABLE DDEUGG;Lo;0;L;;;;;N;;;;;
+B72B;HANGUL SYLLABLE DDEUGS;Lo;0;L;;;;;N;;;;;
+B72C;HANGUL SYLLABLE DDEUN;Lo;0;L;;;;;N;;;;;
+B72D;HANGUL SYLLABLE DDEUNI;Lo;0;L;;;;;N;;;;;
+B72E;HANGUL SYLLABLE DDEUNH;Lo;0;L;;;;;N;;;;;
+B72F;HANGUL SYLLABLE DDEUD;Lo;0;L;;;;;N;;;;;
+B730;HANGUL SYLLABLE DDEUL;Lo;0;L;;;;;N;;;;;
+B731;HANGUL SYLLABLE DDEULG;Lo;0;L;;;;;N;;;;;
+B732;HANGUL SYLLABLE DDEULM;Lo;0;L;;;;;N;;;;;
+B733;HANGUL SYLLABLE DDEULB;Lo;0;L;;;;;N;;;;;
+B734;HANGUL SYLLABLE DDEULS;Lo;0;L;;;;;N;;;;;
+B735;HANGUL SYLLABLE DDEULT;Lo;0;L;;;;;N;;;;;
+B736;HANGUL SYLLABLE DDEULP;Lo;0;L;;;;;N;;;;;
+B737;HANGUL SYLLABLE DDEULH;Lo;0;L;;;;;N;;;;;
+B738;HANGUL SYLLABLE DDEUM;Lo;0;L;;;;;N;;;;;
+B739;HANGUL SYLLABLE DDEUB;Lo;0;L;;;;;N;;;;;
+B73A;HANGUL SYLLABLE DDEUBS;Lo;0;L;;;;;N;;;;;
+B73B;HANGUL SYLLABLE DDEUS;Lo;0;L;;;;;N;;;;;
+B73C;HANGUL SYLLABLE DDEUSS;Lo;0;L;;;;;N;;;;;
+B73D;HANGUL SYLLABLE DDEUNG;Lo;0;L;;;;;N;;;;;
+B73E;HANGUL SYLLABLE DDEUJ;Lo;0;L;;;;;N;;;;;
+B73F;HANGUL SYLLABLE DDEUC;Lo;0;L;;;;;N;;;;;
+B740;HANGUL SYLLABLE DDEUK;Lo;0;L;;;;;N;;;;;
+B741;HANGUL SYLLABLE DDEUT;Lo;0;L;;;;;N;;;;;
+B742;HANGUL SYLLABLE DDEUP;Lo;0;L;;;;;N;;;;;
+B743;HANGUL SYLLABLE DDEUH;Lo;0;L;;;;;N;;;;;
+B744;HANGUL SYLLABLE DDYI;Lo;0;L;;;;;N;;;;;
+B745;HANGUL SYLLABLE DDYIG;Lo;0;L;;;;;N;;;;;
+B746;HANGUL SYLLABLE DDYIGG;Lo;0;L;;;;;N;;;;;
+B747;HANGUL SYLLABLE DDYIGS;Lo;0;L;;;;;N;;;;;
+B748;HANGUL SYLLABLE DDYIN;Lo;0;L;;;;;N;;;;;
+B749;HANGUL SYLLABLE DDYINI;Lo;0;L;;;;;N;;;;;
+B74A;HANGUL SYLLABLE DDYINH;Lo;0;L;;;;;N;;;;;
+B74B;HANGUL SYLLABLE DDYID;Lo;0;L;;;;;N;;;;;
+B74C;HANGUL SYLLABLE DDYIL;Lo;0;L;;;;;N;;;;;
+B74D;HANGUL SYLLABLE DDYILG;Lo;0;L;;;;;N;;;;;
+B74E;HANGUL SYLLABLE DDYILM;Lo;0;L;;;;;N;;;;;
+B74F;HANGUL SYLLABLE DDYILB;Lo;0;L;;;;;N;;;;;
+B750;HANGUL SYLLABLE DDYILS;Lo;0;L;;;;;N;;;;;
+B751;HANGUL SYLLABLE DDYILT;Lo;0;L;;;;;N;;;;;
+B752;HANGUL SYLLABLE DDYILP;Lo;0;L;;;;;N;;;;;
+B753;HANGUL SYLLABLE DDYILH;Lo;0;L;;;;;N;;;;;
+B754;HANGUL SYLLABLE DDYIM;Lo;0;L;;;;;N;;;;;
+B755;HANGUL SYLLABLE DDYIB;Lo;0;L;;;;;N;;;;;
+B756;HANGUL SYLLABLE DDYIBS;Lo;0;L;;;;;N;;;;;
+B757;HANGUL SYLLABLE DDYIS;Lo;0;L;;;;;N;;;;;
+B758;HANGUL SYLLABLE DDYISS;Lo;0;L;;;;;N;;;;;
+B759;HANGUL SYLLABLE DDYING;Lo;0;L;;;;;N;;;;;
+B75A;HANGUL SYLLABLE DDYIJ;Lo;0;L;;;;;N;;;;;
+B75B;HANGUL SYLLABLE DDYIC;Lo;0;L;;;;;N;;;;;
+B75C;HANGUL SYLLABLE DDYIK;Lo;0;L;;;;;N;;;;;
+B75D;HANGUL SYLLABLE DDYIT;Lo;0;L;;;;;N;;;;;
+B75E;HANGUL SYLLABLE DDYIP;Lo;0;L;;;;;N;;;;;
+B75F;HANGUL SYLLABLE DDYIH;Lo;0;L;;;;;N;;;;;
+B760;HANGUL SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
+B761;HANGUL SYLLABLE DDIG;Lo;0;L;;;;;N;;;;;
+B762;HANGUL SYLLABLE DDIGG;Lo;0;L;;;;;N;;;;;
+B763;HANGUL SYLLABLE DDIGS;Lo;0;L;;;;;N;;;;;
+B764;HANGUL SYLLABLE DDIN;Lo;0;L;;;;;N;;;;;
+B765;HANGUL SYLLABLE DDINI;Lo;0;L;;;;;N;;;;;
+B766;HANGUL SYLLABLE DDINH;Lo;0;L;;;;;N;;;;;
+B767;HANGUL SYLLABLE DDID;Lo;0;L;;;;;N;;;;;
+B768;HANGUL SYLLABLE DDIL;Lo;0;L;;;;;N;;;;;
+B769;HANGUL SYLLABLE DDILG;Lo;0;L;;;;;N;;;;;
+B76A;HANGUL SYLLABLE DDILM;Lo;0;L;;;;;N;;;;;
+B76B;HANGUL SYLLABLE DDILB;Lo;0;L;;;;;N;;;;;
+B76C;HANGUL SYLLABLE DDILS;Lo;0;L;;;;;N;;;;;
+B76D;HANGUL SYLLABLE DDILT;Lo;0;L;;;;;N;;;;;
+B76E;HANGUL SYLLABLE DDILP;Lo;0;L;;;;;N;;;;;
+B76F;HANGUL SYLLABLE DDILH;Lo;0;L;;;;;N;;;;;
+B770;HANGUL SYLLABLE DDIM;Lo;0;L;;;;;N;;;;;
+B771;HANGUL SYLLABLE DDIB;Lo;0;L;;;;;N;;;;;
+B772;HANGUL SYLLABLE DDIBS;Lo;0;L;;;;;N;;;;;
+B773;HANGUL SYLLABLE DDIS;Lo;0;L;;;;;N;;;;;
+B774;HANGUL SYLLABLE DDISS;Lo;0;L;;;;;N;;;;;
+B775;HANGUL SYLLABLE DDING;Lo;0;L;;;;;N;;;;;
+B776;HANGUL SYLLABLE DDIJ;Lo;0;L;;;;;N;;;;;
+B777;HANGUL SYLLABLE DDIC;Lo;0;L;;;;;N;;;;;
+B778;HANGUL SYLLABLE DDIK;Lo;0;L;;;;;N;;;;;
+B779;HANGUL SYLLABLE DDIT;Lo;0;L;;;;;N;;;;;
+B77A;HANGUL SYLLABLE DDIP;Lo;0;L;;;;;N;;;;;
+B77B;HANGUL SYLLABLE DDIH;Lo;0;L;;;;;N;;;;;
+B77C;HANGUL SYLLABLE RA;Lo;0;L;;;;;N;;;;;
+B77D;HANGUL SYLLABLE RAG;Lo;0;L;;;;;N;;;;;
+B77E;HANGUL SYLLABLE RAGG;Lo;0;L;;;;;N;;;;;
+B77F;HANGUL SYLLABLE RAGS;Lo;0;L;;;;;N;;;;;
+B780;HANGUL SYLLABLE RAN;Lo;0;L;;;;;N;;;;;
+B781;HANGUL SYLLABLE RANI;Lo;0;L;;;;;N;;;;;
+B782;HANGUL SYLLABLE RANH;Lo;0;L;;;;;N;;;;;
+B783;HANGUL SYLLABLE RAD;Lo;0;L;;;;;N;;;;;
+B784;HANGUL SYLLABLE RAL;Lo;0;L;;;;;N;;;;;
+B785;HANGUL SYLLABLE RALG;Lo;0;L;;;;;N;;;;;
+B786;HANGUL SYLLABLE RALM;Lo;0;L;;;;;N;;;;;
+B787;HANGUL SYLLABLE RALB;Lo;0;L;;;;;N;;;;;
+B788;HANGUL SYLLABLE RALS;Lo;0;L;;;;;N;;;;;
+B789;HANGUL SYLLABLE RALT;Lo;0;L;;;;;N;;;;;
+B78A;HANGUL SYLLABLE RALP;Lo;0;L;;;;;N;;;;;
+B78B;HANGUL SYLLABLE RALH;Lo;0;L;;;;;N;;;;;
+B78C;HANGUL SYLLABLE RAM;Lo;0;L;;;;;N;;;;;
+B78D;HANGUL SYLLABLE RAB;Lo;0;L;;;;;N;;;;;
+B78E;HANGUL SYLLABLE RABS;Lo;0;L;;;;;N;;;;;
+B78F;HANGUL SYLLABLE RAS;Lo;0;L;;;;;N;;;;;
+B790;HANGUL SYLLABLE RASS;Lo;0;L;;;;;N;;;;;
+B791;HANGUL SYLLABLE RANG;Lo;0;L;;;;;N;;;;;
+B792;HANGUL SYLLABLE RAJ;Lo;0;L;;;;;N;;;;;
+B793;HANGUL SYLLABLE RAC;Lo;0;L;;;;;N;;;;;
+B794;HANGUL SYLLABLE RAK;Lo;0;L;;;;;N;;;;;
+B795;HANGUL SYLLABLE RAT;Lo;0;L;;;;;N;;;;;
+B796;HANGUL SYLLABLE RAP;Lo;0;L;;;;;N;;;;;
+B797;HANGUL SYLLABLE RAH;Lo;0;L;;;;;N;;;;;
+B798;HANGUL SYLLABLE RAE;Lo;0;L;;;;;N;;;;;
+B799;HANGUL SYLLABLE RAEG;Lo;0;L;;;;;N;;;;;
+B79A;HANGUL SYLLABLE RAEGG;Lo;0;L;;;;;N;;;;;
+B79B;HANGUL SYLLABLE RAEGS;Lo;0;L;;;;;N;;;;;
+B79C;HANGUL SYLLABLE RAEN;Lo;0;L;;;;;N;;;;;
+B79D;HANGUL SYLLABLE RAENI;Lo;0;L;;;;;N;;;;;
+B79E;HANGUL SYLLABLE RAENH;Lo;0;L;;;;;N;;;;;
+B79F;HANGUL SYLLABLE RAED;Lo;0;L;;;;;N;;;;;
+B7A0;HANGUL SYLLABLE RAEL;Lo;0;L;;;;;N;;;;;
+B7A1;HANGUL SYLLABLE RAELG;Lo;0;L;;;;;N;;;;;
+B7A2;HANGUL SYLLABLE RAELM;Lo;0;L;;;;;N;;;;;
+B7A3;HANGUL SYLLABLE RAELB;Lo;0;L;;;;;N;;;;;
+B7A4;HANGUL SYLLABLE RAELS;Lo;0;L;;;;;N;;;;;
+B7A5;HANGUL SYLLABLE RAELT;Lo;0;L;;;;;N;;;;;
+B7A6;HANGUL SYLLABLE RAELP;Lo;0;L;;;;;N;;;;;
+B7A7;HANGUL SYLLABLE RAELH;Lo;0;L;;;;;N;;;;;
+B7A8;HANGUL SYLLABLE RAEM;Lo;0;L;;;;;N;;;;;
+B7A9;HANGUL SYLLABLE RAEB;Lo;0;L;;;;;N;;;;;
+B7AA;HANGUL SYLLABLE RAEBS;Lo;0;L;;;;;N;;;;;
+B7AB;HANGUL SYLLABLE RAES;Lo;0;L;;;;;N;;;;;
+B7AC;HANGUL SYLLABLE RAESS;Lo;0;L;;;;;N;;;;;
+B7AD;HANGUL SYLLABLE RAENG;Lo;0;L;;;;;N;;;;;
+B7AE;HANGUL SYLLABLE RAEJ;Lo;0;L;;;;;N;;;;;
+B7AF;HANGUL SYLLABLE RAEC;Lo;0;L;;;;;N;;;;;
+B7B0;HANGUL SYLLABLE RAEK;Lo;0;L;;;;;N;;;;;
+B7B1;HANGUL SYLLABLE RAET;Lo;0;L;;;;;N;;;;;
+B7B2;HANGUL SYLLABLE RAEP;Lo;0;L;;;;;N;;;;;
+B7B3;HANGUL SYLLABLE RAEH;Lo;0;L;;;;;N;;;;;
+B7B4;HANGUL SYLLABLE RYA;Lo;0;L;;;;;N;;;;;
+B7B5;HANGUL SYLLABLE RYAG;Lo;0;L;;;;;N;;;;;
+B7B6;HANGUL SYLLABLE RYAGG;Lo;0;L;;;;;N;;;;;
+B7B7;HANGUL SYLLABLE RYAGS;Lo;0;L;;;;;N;;;;;
+B7B8;HANGUL SYLLABLE RYAN;Lo;0;L;;;;;N;;;;;
+B7B9;HANGUL SYLLABLE RYANI;Lo;0;L;;;;;N;;;;;
+B7BA;HANGUL SYLLABLE RYANH;Lo;0;L;;;;;N;;;;;
+B7BB;HANGUL SYLLABLE RYAD;Lo;0;L;;;;;N;;;;;
+B7BC;HANGUL SYLLABLE RYAL;Lo;0;L;;;;;N;;;;;
+B7BD;HANGUL SYLLABLE RYALG;Lo;0;L;;;;;N;;;;;
+B7BE;HANGUL SYLLABLE RYALM;Lo;0;L;;;;;N;;;;;
+B7BF;HANGUL SYLLABLE RYALB;Lo;0;L;;;;;N;;;;;
+B7C0;HANGUL SYLLABLE RYALS;Lo;0;L;;;;;N;;;;;
+B7C1;HANGUL SYLLABLE RYALT;Lo;0;L;;;;;N;;;;;
+B7C2;HANGUL SYLLABLE RYALP;Lo;0;L;;;;;N;;;;;
+B7C3;HANGUL SYLLABLE RYALH;Lo;0;L;;;;;N;;;;;
+B7C4;HANGUL SYLLABLE RYAM;Lo;0;L;;;;;N;;;;;
+B7C5;HANGUL SYLLABLE RYAB;Lo;0;L;;;;;N;;;;;
+B7C6;HANGUL SYLLABLE RYABS;Lo;0;L;;;;;N;;;;;
+B7C7;HANGUL SYLLABLE RYAS;Lo;0;L;;;;;N;;;;;
+B7C8;HANGUL SYLLABLE RYASS;Lo;0;L;;;;;N;;;;;
+B7C9;HANGUL SYLLABLE RYANG;Lo;0;L;;;;;N;;;;;
+B7CA;HANGUL SYLLABLE RYAJ;Lo;0;L;;;;;N;;;;;
+B7CB;HANGUL SYLLABLE RYAC;Lo;0;L;;;;;N;;;;;
+B7CC;HANGUL SYLLABLE RYAK;Lo;0;L;;;;;N;;;;;
+B7CD;HANGUL SYLLABLE RYAT;Lo;0;L;;;;;N;;;;;
+B7CE;HANGUL SYLLABLE RYAP;Lo;0;L;;;;;N;;;;;
+B7CF;HANGUL SYLLABLE RYAH;Lo;0;L;;;;;N;;;;;
+B7D0;HANGUL SYLLABLE RYAE;Lo;0;L;;;;;N;;;;;
+B7D1;HANGUL SYLLABLE RYAEG;Lo;0;L;;;;;N;;;;;
+B7D2;HANGUL SYLLABLE RYAEGG;Lo;0;L;;;;;N;;;;;
+B7D3;HANGUL SYLLABLE RYAEGS;Lo;0;L;;;;;N;;;;;
+B7D4;HANGUL SYLLABLE RYAEN;Lo;0;L;;;;;N;;;;;
+B7D5;HANGUL SYLLABLE RYAENI;Lo;0;L;;;;;N;;;;;
+B7D6;HANGUL SYLLABLE RYAENH;Lo;0;L;;;;;N;;;;;
+B7D7;HANGUL SYLLABLE RYAED;Lo;0;L;;;;;N;;;;;
+B7D8;HANGUL SYLLABLE RYAEL;Lo;0;L;;;;;N;;;;;
+B7D9;HANGUL SYLLABLE RYAELG;Lo;0;L;;;;;N;;;;;
+B7DA;HANGUL SYLLABLE RYAELM;Lo;0;L;;;;;N;;;;;
+B7DB;HANGUL SYLLABLE RYAELB;Lo;0;L;;;;;N;;;;;
+B7DC;HANGUL SYLLABLE RYAELS;Lo;0;L;;;;;N;;;;;
+B7DD;HANGUL SYLLABLE RYAELT;Lo;0;L;;;;;N;;;;;
+B7DE;HANGUL SYLLABLE RYAELP;Lo;0;L;;;;;N;;;;;
+B7DF;HANGUL SYLLABLE RYAELH;Lo;0;L;;;;;N;;;;;
+B7E0;HANGUL SYLLABLE RYAEM;Lo;0;L;;;;;N;;;;;
+B7E1;HANGUL SYLLABLE RYAEB;Lo;0;L;;;;;N;;;;;
+B7E2;HANGUL SYLLABLE RYAEBS;Lo;0;L;;;;;N;;;;;
+B7E3;HANGUL SYLLABLE RYAES;Lo;0;L;;;;;N;;;;;
+B7E4;HANGUL SYLLABLE RYAESS;Lo;0;L;;;;;N;;;;;
+B7E5;HANGUL SYLLABLE RYAENG;Lo;0;L;;;;;N;;;;;
+B7E6;HANGUL SYLLABLE RYAEJ;Lo;0;L;;;;;N;;;;;
+B7E7;HANGUL SYLLABLE RYAEC;Lo;0;L;;;;;N;;;;;
+B7E8;HANGUL SYLLABLE RYAEK;Lo;0;L;;;;;N;;;;;
+B7E9;HANGUL SYLLABLE RYAET;Lo;0;L;;;;;N;;;;;
+B7EA;HANGUL SYLLABLE RYAEP;Lo;0;L;;;;;N;;;;;
+B7EB;HANGUL SYLLABLE RYAEH;Lo;0;L;;;;;N;;;;;
+B7EC;HANGUL SYLLABLE REO;Lo;0;L;;;;;N;;;;;
+B7ED;HANGUL SYLLABLE REOG;Lo;0;L;;;;;N;;;;;
+B7EE;HANGUL SYLLABLE REOGG;Lo;0;L;;;;;N;;;;;
+B7EF;HANGUL SYLLABLE REOGS;Lo;0;L;;;;;N;;;;;
+B7F0;HANGUL SYLLABLE REON;Lo;0;L;;;;;N;;;;;
+B7F1;HANGUL SYLLABLE REONI;Lo;0;L;;;;;N;;;;;
+B7F2;HANGUL SYLLABLE REONH;Lo;0;L;;;;;N;;;;;
+B7F3;HANGUL SYLLABLE REOD;Lo;0;L;;;;;N;;;;;
+B7F4;HANGUL SYLLABLE REOL;Lo;0;L;;;;;N;;;;;
+B7F5;HANGUL SYLLABLE REOLG;Lo;0;L;;;;;N;;;;;
+B7F6;HANGUL SYLLABLE REOLM;Lo;0;L;;;;;N;;;;;
+B7F7;HANGUL SYLLABLE REOLB;Lo;0;L;;;;;N;;;;;
+B7F8;HANGUL SYLLABLE REOLS;Lo;0;L;;;;;N;;;;;
+B7F9;HANGUL SYLLABLE REOLT;Lo;0;L;;;;;N;;;;;
+B7FA;HANGUL SYLLABLE REOLP;Lo;0;L;;;;;N;;;;;
+B7FB;HANGUL SYLLABLE REOLH;Lo;0;L;;;;;N;;;;;
+B7FC;HANGUL SYLLABLE REOM;Lo;0;L;;;;;N;;;;;
+B7FD;HANGUL SYLLABLE REOB;Lo;0;L;;;;;N;;;;;
+B7FE;HANGUL SYLLABLE REOBS;Lo;0;L;;;;;N;;;;;
+B7FF;HANGUL SYLLABLE REOS;Lo;0;L;;;;;N;;;;;
+B800;HANGUL SYLLABLE REOSS;Lo;0;L;;;;;N;;;;;
+B801;HANGUL SYLLABLE REONG;Lo;0;L;;;;;N;;;;;
+B802;HANGUL SYLLABLE REOJ;Lo;0;L;;;;;N;;;;;
+B803;HANGUL SYLLABLE REOC;Lo;0;L;;;;;N;;;;;
+B804;HANGUL SYLLABLE REOK;Lo;0;L;;;;;N;;;;;
+B805;HANGUL SYLLABLE REOT;Lo;0;L;;;;;N;;;;;
+B806;HANGUL SYLLABLE REOP;Lo;0;L;;;;;N;;;;;
+B807;HANGUL SYLLABLE REOH;Lo;0;L;;;;;N;;;;;
+B808;HANGUL SYLLABLE RE;Lo;0;L;;;;;N;;;;;
+B809;HANGUL SYLLABLE REG;Lo;0;L;;;;;N;;;;;
+B80A;HANGUL SYLLABLE REGG;Lo;0;L;;;;;N;;;;;
+B80B;HANGUL SYLLABLE REGS;Lo;0;L;;;;;N;;;;;
+B80C;HANGUL SYLLABLE REN;Lo;0;L;;;;;N;;;;;
+B80D;HANGUL SYLLABLE RENI;Lo;0;L;;;;;N;;;;;
+B80E;HANGUL SYLLABLE RENH;Lo;0;L;;;;;N;;;;;
+B80F;HANGUL SYLLABLE RED;Lo;0;L;;;;;N;;;;;
+B810;HANGUL SYLLABLE REL;Lo;0;L;;;;;N;;;;;
+B811;HANGUL SYLLABLE RELG;Lo;0;L;;;;;N;;;;;
+B812;HANGUL SYLLABLE RELM;Lo;0;L;;;;;N;;;;;
+B813;HANGUL SYLLABLE RELB;Lo;0;L;;;;;N;;;;;
+B814;HANGUL SYLLABLE RELS;Lo;0;L;;;;;N;;;;;
+B815;HANGUL SYLLABLE RELT;Lo;0;L;;;;;N;;;;;
+B816;HANGUL SYLLABLE RELP;Lo;0;L;;;;;N;;;;;
+B817;HANGUL SYLLABLE RELH;Lo;0;L;;;;;N;;;;;
+B818;HANGUL SYLLABLE REM;Lo;0;L;;;;;N;;;;;
+B819;HANGUL SYLLABLE REB;Lo;0;L;;;;;N;;;;;
+B81A;HANGUL SYLLABLE REBS;Lo;0;L;;;;;N;;;;;
+B81B;HANGUL SYLLABLE RES;Lo;0;L;;;;;N;;;;;
+B81C;HANGUL SYLLABLE RESS;Lo;0;L;;;;;N;;;;;
+B81D;HANGUL SYLLABLE RENG;Lo;0;L;;;;;N;;;;;
+B81E;HANGUL SYLLABLE REJ;Lo;0;L;;;;;N;;;;;
+B81F;HANGUL SYLLABLE REC;Lo;0;L;;;;;N;;;;;
+B820;HANGUL SYLLABLE REK;Lo;0;L;;;;;N;;;;;
+B821;HANGUL SYLLABLE RET;Lo;0;L;;;;;N;;;;;
+B822;HANGUL SYLLABLE REP;Lo;0;L;;;;;N;;;;;
+B823;HANGUL SYLLABLE REH;Lo;0;L;;;;;N;;;;;
+B824;HANGUL SYLLABLE RYEO;Lo;0;L;;;;;N;;;;;
+B825;HANGUL SYLLABLE RYEOG;Lo;0;L;;;;;N;;;;;
+B826;HANGUL SYLLABLE RYEOGG;Lo;0;L;;;;;N;;;;;
+B827;HANGUL SYLLABLE RYEOGS;Lo;0;L;;;;;N;;;;;
+B828;HANGUL SYLLABLE RYEON;Lo;0;L;;;;;N;;;;;
+B829;HANGUL SYLLABLE RYEONI;Lo;0;L;;;;;N;;;;;
+B82A;HANGUL SYLLABLE RYEONH;Lo;0;L;;;;;N;;;;;
+B82B;HANGUL SYLLABLE RYEOD;Lo;0;L;;;;;N;;;;;
+B82C;HANGUL SYLLABLE RYEOL;Lo;0;L;;;;;N;;;;;
+B82D;HANGUL SYLLABLE RYEOLG;Lo;0;L;;;;;N;;;;;
+B82E;HANGUL SYLLABLE RYEOLM;Lo;0;L;;;;;N;;;;;
+B82F;HANGUL SYLLABLE RYEOLB;Lo;0;L;;;;;N;;;;;
+B830;HANGUL SYLLABLE RYEOLS;Lo;0;L;;;;;N;;;;;
+B831;HANGUL SYLLABLE RYEOLT;Lo;0;L;;;;;N;;;;;
+B832;HANGUL SYLLABLE RYEOLP;Lo;0;L;;;;;N;;;;;
+B833;HANGUL SYLLABLE RYEOLH;Lo;0;L;;;;;N;;;;;
+B834;HANGUL SYLLABLE RYEOM;Lo;0;L;;;;;N;;;;;
+B835;HANGUL SYLLABLE RYEOB;Lo;0;L;;;;;N;;;;;
+B836;HANGUL SYLLABLE RYEOBS;Lo;0;L;;;;;N;;;;;
+B837;HANGUL SYLLABLE RYEOS;Lo;0;L;;;;;N;;;;;
+B838;HANGUL SYLLABLE RYEOSS;Lo;0;L;;;;;N;;;;;
+B839;HANGUL SYLLABLE RYEONG;Lo;0;L;;;;;N;;;;;
+B83A;HANGUL SYLLABLE RYEOJ;Lo;0;L;;;;;N;;;;;
+B83B;HANGUL SYLLABLE RYEOC;Lo;0;L;;;;;N;;;;;
+B83C;HANGUL SYLLABLE RYEOK;Lo;0;L;;;;;N;;;;;
+B83D;HANGUL SYLLABLE RYEOT;Lo;0;L;;;;;N;;;;;
+B83E;HANGUL SYLLABLE RYEOP;Lo;0;L;;;;;N;;;;;
+B83F;HANGUL SYLLABLE RYEOH;Lo;0;L;;;;;N;;;;;
+B840;HANGUL SYLLABLE RYE;Lo;0;L;;;;;N;;;;;
+B841;HANGUL SYLLABLE RYEG;Lo;0;L;;;;;N;;;;;
+B842;HANGUL SYLLABLE RYEGG;Lo;0;L;;;;;N;;;;;
+B843;HANGUL SYLLABLE RYEGS;Lo;0;L;;;;;N;;;;;
+B844;HANGUL SYLLABLE RYEN;Lo;0;L;;;;;N;;;;;
+B845;HANGUL SYLLABLE RYENI;Lo;0;L;;;;;N;;;;;
+B846;HANGUL SYLLABLE RYENH;Lo;0;L;;;;;N;;;;;
+B847;HANGUL SYLLABLE RYED;Lo;0;L;;;;;N;;;;;
+B848;HANGUL SYLLABLE RYEL;Lo;0;L;;;;;N;;;;;
+B849;HANGUL SYLLABLE RYELG;Lo;0;L;;;;;N;;;;;
+B84A;HANGUL SYLLABLE RYELM;Lo;0;L;;;;;N;;;;;
+B84B;HANGUL SYLLABLE RYELB;Lo;0;L;;;;;N;;;;;
+B84C;HANGUL SYLLABLE RYELS;Lo;0;L;;;;;N;;;;;
+B84D;HANGUL SYLLABLE RYELT;Lo;0;L;;;;;N;;;;;
+B84E;HANGUL SYLLABLE RYELP;Lo;0;L;;;;;N;;;;;
+B84F;HANGUL SYLLABLE RYELH;Lo;0;L;;;;;N;;;;;
+B850;HANGUL SYLLABLE RYEM;Lo;0;L;;;;;N;;;;;
+B851;HANGUL SYLLABLE RYEB;Lo;0;L;;;;;N;;;;;
+B852;HANGUL SYLLABLE RYEBS;Lo;0;L;;;;;N;;;;;
+B853;HANGUL SYLLABLE RYES;Lo;0;L;;;;;N;;;;;
+B854;HANGUL SYLLABLE RYESS;Lo;0;L;;;;;N;;;;;
+B855;HANGUL SYLLABLE RYENG;Lo;0;L;;;;;N;;;;;
+B856;HANGUL SYLLABLE RYEJ;Lo;0;L;;;;;N;;;;;
+B857;HANGUL SYLLABLE RYEC;Lo;0;L;;;;;N;;;;;
+B858;HANGUL SYLLABLE RYEK;Lo;0;L;;;;;N;;;;;
+B859;HANGUL SYLLABLE RYET;Lo;0;L;;;;;N;;;;;
+B85A;HANGUL SYLLABLE RYEP;Lo;0;L;;;;;N;;;;;
+B85B;HANGUL SYLLABLE RYEH;Lo;0;L;;;;;N;;;;;
+B85C;HANGUL SYLLABLE RO;Lo;0;L;;;;;N;;;;;
+B85D;HANGUL SYLLABLE ROG;Lo;0;L;;;;;N;;;;;
+B85E;HANGUL SYLLABLE ROGG;Lo;0;L;;;;;N;;;;;
+B85F;HANGUL SYLLABLE ROGS;Lo;0;L;;;;;N;;;;;
+B860;HANGUL SYLLABLE RON;Lo;0;L;;;;;N;;;;;
+B861;HANGUL SYLLABLE RONI;Lo;0;L;;;;;N;;;;;
+B862;HANGUL SYLLABLE RONH;Lo;0;L;;;;;N;;;;;
+B863;HANGUL SYLLABLE ROD;Lo;0;L;;;;;N;;;;;
+B864;HANGUL SYLLABLE ROL;Lo;0;L;;;;;N;;;;;
+B865;HANGUL SYLLABLE ROLG;Lo;0;L;;;;;N;;;;;
+B866;HANGUL SYLLABLE ROLM;Lo;0;L;;;;;N;;;;;
+B867;HANGUL SYLLABLE ROLB;Lo;0;L;;;;;N;;;;;
+B868;HANGUL SYLLABLE ROLS;Lo;0;L;;;;;N;;;;;
+B869;HANGUL SYLLABLE ROLT;Lo;0;L;;;;;N;;;;;
+B86A;HANGUL SYLLABLE ROLP;Lo;0;L;;;;;N;;;;;
+B86B;HANGUL SYLLABLE ROLH;Lo;0;L;;;;;N;;;;;
+B86C;HANGUL SYLLABLE ROM;Lo;0;L;;;;;N;;;;;
+B86D;HANGUL SYLLABLE ROB;Lo;0;L;;;;;N;;;;;
+B86E;HANGUL SYLLABLE ROBS;Lo;0;L;;;;;N;;;;;
+B86F;HANGUL SYLLABLE ROS;Lo;0;L;;;;;N;;;;;
+B870;HANGUL SYLLABLE ROSS;Lo;0;L;;;;;N;;;;;
+B871;HANGUL SYLLABLE RONG;Lo;0;L;;;;;N;;;;;
+B872;HANGUL SYLLABLE ROJ;Lo;0;L;;;;;N;;;;;
+B873;HANGUL SYLLABLE ROC;Lo;0;L;;;;;N;;;;;
+B874;HANGUL SYLLABLE ROK;Lo;0;L;;;;;N;;;;;
+B875;HANGUL SYLLABLE ROT;Lo;0;L;;;;;N;;;;;
+B876;HANGUL SYLLABLE ROP;Lo;0;L;;;;;N;;;;;
+B877;HANGUL SYLLABLE ROH;Lo;0;L;;;;;N;;;;;
+B878;HANGUL SYLLABLE RWA;Lo;0;L;;;;;N;;;;;
+B879;HANGUL SYLLABLE RWAG;Lo;0;L;;;;;N;;;;;
+B87A;HANGUL SYLLABLE RWAGG;Lo;0;L;;;;;N;;;;;
+B87B;HANGUL SYLLABLE RWAGS;Lo;0;L;;;;;N;;;;;
+B87C;HANGUL SYLLABLE RWAN;Lo;0;L;;;;;N;;;;;
+B87D;HANGUL SYLLABLE RWANI;Lo;0;L;;;;;N;;;;;
+B87E;HANGUL SYLLABLE RWANH;Lo;0;L;;;;;N;;;;;
+B87F;HANGUL SYLLABLE RWAD;Lo;0;L;;;;;N;;;;;
+B880;HANGUL SYLLABLE RWAL;Lo;0;L;;;;;N;;;;;
+B881;HANGUL SYLLABLE RWALG;Lo;0;L;;;;;N;;;;;
+B882;HANGUL SYLLABLE RWALM;Lo;0;L;;;;;N;;;;;
+B883;HANGUL SYLLABLE RWALB;Lo;0;L;;;;;N;;;;;
+B884;HANGUL SYLLABLE RWALS;Lo;0;L;;;;;N;;;;;
+B885;HANGUL SYLLABLE RWALT;Lo;0;L;;;;;N;;;;;
+B886;HANGUL SYLLABLE RWALP;Lo;0;L;;;;;N;;;;;
+B887;HANGUL SYLLABLE RWALH;Lo;0;L;;;;;N;;;;;
+B888;HANGUL SYLLABLE RWAM;Lo;0;L;;;;;N;;;;;
+B889;HANGUL SYLLABLE RWAB;Lo;0;L;;;;;N;;;;;
+B88A;HANGUL SYLLABLE RWABS;Lo;0;L;;;;;N;;;;;
+B88B;HANGUL SYLLABLE RWAS;Lo;0;L;;;;;N;;;;;
+B88C;HANGUL SYLLABLE RWASS;Lo;0;L;;;;;N;;;;;
+B88D;HANGUL SYLLABLE RWANG;Lo;0;L;;;;;N;;;;;
+B88E;HANGUL SYLLABLE RWAJ;Lo;0;L;;;;;N;;;;;
+B88F;HANGUL SYLLABLE RWAC;Lo;0;L;;;;;N;;;;;
+B890;HANGUL SYLLABLE RWAK;Lo;0;L;;;;;N;;;;;
+B891;HANGUL SYLLABLE RWAT;Lo;0;L;;;;;N;;;;;
+B892;HANGUL SYLLABLE RWAP;Lo;0;L;;;;;N;;;;;
+B893;HANGUL SYLLABLE RWAH;Lo;0;L;;;;;N;;;;;
+B894;HANGUL SYLLABLE RWAE;Lo;0;L;;;;;N;;;;;
+B895;HANGUL SYLLABLE RWAEG;Lo;0;L;;;;;N;;;;;
+B896;HANGUL SYLLABLE RWAEGG;Lo;0;L;;;;;N;;;;;
+B897;HANGUL SYLLABLE RWAEGS;Lo;0;L;;;;;N;;;;;
+B898;HANGUL SYLLABLE RWAEN;Lo;0;L;;;;;N;;;;;
+B899;HANGUL SYLLABLE RWAENI;Lo;0;L;;;;;N;;;;;
+B89A;HANGUL SYLLABLE RWAENH;Lo;0;L;;;;;N;;;;;
+B89B;HANGUL SYLLABLE RWAED;Lo;0;L;;;;;N;;;;;
+B89C;HANGUL SYLLABLE RWAEL;Lo;0;L;;;;;N;;;;;
+B89D;HANGUL SYLLABLE RWAELG;Lo;0;L;;;;;N;;;;;
+B89E;HANGUL SYLLABLE RWAELM;Lo;0;L;;;;;N;;;;;
+B89F;HANGUL SYLLABLE RWAELB;Lo;0;L;;;;;N;;;;;
+B8A0;HANGUL SYLLABLE RWAELS;Lo;0;L;;;;;N;;;;;
+B8A1;HANGUL SYLLABLE RWAELT;Lo;0;L;;;;;N;;;;;
+B8A2;HANGUL SYLLABLE RWAELP;Lo;0;L;;;;;N;;;;;
+B8A3;HANGUL SYLLABLE RWAELH;Lo;0;L;;;;;N;;;;;
+B8A4;HANGUL SYLLABLE RWAEM;Lo;0;L;;;;;N;;;;;
+B8A5;HANGUL SYLLABLE RWAEB;Lo;0;L;;;;;N;;;;;
+B8A6;HANGUL SYLLABLE RWAEBS;Lo;0;L;;;;;N;;;;;
+B8A7;HANGUL SYLLABLE RWAES;Lo;0;L;;;;;N;;;;;
+B8A8;HANGUL SYLLABLE RWAESS;Lo;0;L;;;;;N;;;;;
+B8A9;HANGUL SYLLABLE RWAENG;Lo;0;L;;;;;N;;;;;
+B8AA;HANGUL SYLLABLE RWAEJ;Lo;0;L;;;;;N;;;;;
+B8AB;HANGUL SYLLABLE RWAEC;Lo;0;L;;;;;N;;;;;
+B8AC;HANGUL SYLLABLE RWAEK;Lo;0;L;;;;;N;;;;;
+B8AD;HANGUL SYLLABLE RWAET;Lo;0;L;;;;;N;;;;;
+B8AE;HANGUL SYLLABLE RWAEP;Lo;0;L;;;;;N;;;;;
+B8AF;HANGUL SYLLABLE RWAEH;Lo;0;L;;;;;N;;;;;
+B8B0;HANGUL SYLLABLE ROE;Lo;0;L;;;;;N;;;;;
+B8B1;HANGUL SYLLABLE ROEG;Lo;0;L;;;;;N;;;;;
+B8B2;HANGUL SYLLABLE ROEGG;Lo;0;L;;;;;N;;;;;
+B8B3;HANGUL SYLLABLE ROEGS;Lo;0;L;;;;;N;;;;;
+B8B4;HANGUL SYLLABLE ROEN;Lo;0;L;;;;;N;;;;;
+B8B5;HANGUL SYLLABLE ROENI;Lo;0;L;;;;;N;;;;;
+B8B6;HANGUL SYLLABLE ROENH;Lo;0;L;;;;;N;;;;;
+B8B7;HANGUL SYLLABLE ROED;Lo;0;L;;;;;N;;;;;
+B8B8;HANGUL SYLLABLE ROEL;Lo;0;L;;;;;N;;;;;
+B8B9;HANGUL SYLLABLE ROELG;Lo;0;L;;;;;N;;;;;
+B8BA;HANGUL SYLLABLE ROELM;Lo;0;L;;;;;N;;;;;
+B8BB;HANGUL SYLLABLE ROELB;Lo;0;L;;;;;N;;;;;
+B8BC;HANGUL SYLLABLE ROELS;Lo;0;L;;;;;N;;;;;
+B8BD;HANGUL SYLLABLE ROELT;Lo;0;L;;;;;N;;;;;
+B8BE;HANGUL SYLLABLE ROELP;Lo;0;L;;;;;N;;;;;
+B8BF;HANGUL SYLLABLE ROELH;Lo;0;L;;;;;N;;;;;
+B8C0;HANGUL SYLLABLE ROEM;Lo;0;L;;;;;N;;;;;
+B8C1;HANGUL SYLLABLE ROEB;Lo;0;L;;;;;N;;;;;
+B8C2;HANGUL SYLLABLE ROEBS;Lo;0;L;;;;;N;;;;;
+B8C3;HANGUL SYLLABLE ROES;Lo;0;L;;;;;N;;;;;
+B8C4;HANGUL SYLLABLE ROESS;Lo;0;L;;;;;N;;;;;
+B8C5;HANGUL SYLLABLE ROENG;Lo;0;L;;;;;N;;;;;
+B8C6;HANGUL SYLLABLE ROEJ;Lo;0;L;;;;;N;;;;;
+B8C7;HANGUL SYLLABLE ROEC;Lo;0;L;;;;;N;;;;;
+B8C8;HANGUL SYLLABLE ROEK;Lo;0;L;;;;;N;;;;;
+B8C9;HANGUL SYLLABLE ROET;Lo;0;L;;;;;N;;;;;
+B8CA;HANGUL SYLLABLE ROEP;Lo;0;L;;;;;N;;;;;
+B8CB;HANGUL SYLLABLE ROEH;Lo;0;L;;;;;N;;;;;
+B8CC;HANGUL SYLLABLE RYO;Lo;0;L;;;;;N;;;;;
+B8CD;HANGUL SYLLABLE RYOG;Lo;0;L;;;;;N;;;;;
+B8CE;HANGUL SYLLABLE RYOGG;Lo;0;L;;;;;N;;;;;
+B8CF;HANGUL SYLLABLE RYOGS;Lo;0;L;;;;;N;;;;;
+B8D0;HANGUL SYLLABLE RYON;Lo;0;L;;;;;N;;;;;
+B8D1;HANGUL SYLLABLE RYONI;Lo;0;L;;;;;N;;;;;
+B8D2;HANGUL SYLLABLE RYONH;Lo;0;L;;;;;N;;;;;
+B8D3;HANGUL SYLLABLE RYOD;Lo;0;L;;;;;N;;;;;
+B8D4;HANGUL SYLLABLE RYOL;Lo;0;L;;;;;N;;;;;
+B8D5;HANGUL SYLLABLE RYOLG;Lo;0;L;;;;;N;;;;;
+B8D6;HANGUL SYLLABLE RYOLM;Lo;0;L;;;;;N;;;;;
+B8D7;HANGUL SYLLABLE RYOLB;Lo;0;L;;;;;N;;;;;
+B8D8;HANGUL SYLLABLE RYOLS;Lo;0;L;;;;;N;;;;;
+B8D9;HANGUL SYLLABLE RYOLT;Lo;0;L;;;;;N;;;;;
+B8DA;HANGUL SYLLABLE RYOLP;Lo;0;L;;;;;N;;;;;
+B8DB;HANGUL SYLLABLE RYOLH;Lo;0;L;;;;;N;;;;;
+B8DC;HANGUL SYLLABLE RYOM;Lo;0;L;;;;;N;;;;;
+B8DD;HANGUL SYLLABLE RYOB;Lo;0;L;;;;;N;;;;;
+B8DE;HANGUL SYLLABLE RYOBS;Lo;0;L;;;;;N;;;;;
+B8DF;HANGUL SYLLABLE RYOS;Lo;0;L;;;;;N;;;;;
+B8E0;HANGUL SYLLABLE RYOSS;Lo;0;L;;;;;N;;;;;
+B8E1;HANGUL SYLLABLE RYONG;Lo;0;L;;;;;N;;;;;
+B8E2;HANGUL SYLLABLE RYOJ;Lo;0;L;;;;;N;;;;;
+B8E3;HANGUL SYLLABLE RYOC;Lo;0;L;;;;;N;;;;;
+B8E4;HANGUL SYLLABLE RYOK;Lo;0;L;;;;;N;;;;;
+B8E5;HANGUL SYLLABLE RYOT;Lo;0;L;;;;;N;;;;;
+B8E6;HANGUL SYLLABLE RYOP;Lo;0;L;;;;;N;;;;;
+B8E7;HANGUL SYLLABLE RYOH;Lo;0;L;;;;;N;;;;;
+B8E8;HANGUL SYLLABLE RU;Lo;0;L;;;;;N;;;;;
+B8E9;HANGUL SYLLABLE RUG;Lo;0;L;;;;;N;;;;;
+B8EA;HANGUL SYLLABLE RUGG;Lo;0;L;;;;;N;;;;;
+B8EB;HANGUL SYLLABLE RUGS;Lo;0;L;;;;;N;;;;;
+B8EC;HANGUL SYLLABLE RUN;Lo;0;L;;;;;N;;;;;
+B8ED;HANGUL SYLLABLE RUNI;Lo;0;L;;;;;N;;;;;
+B8EE;HANGUL SYLLABLE RUNH;Lo;0;L;;;;;N;;;;;
+B8EF;HANGUL SYLLABLE RUD;Lo;0;L;;;;;N;;;;;
+B8F0;HANGUL SYLLABLE RUL;Lo;0;L;;;;;N;;;;;
+B8F1;HANGUL SYLLABLE RULG;Lo;0;L;;;;;N;;;;;
+B8F2;HANGUL SYLLABLE RULM;Lo;0;L;;;;;N;;;;;
+B8F3;HANGUL SYLLABLE RULB;Lo;0;L;;;;;N;;;;;
+B8F4;HANGUL SYLLABLE RULS;Lo;0;L;;;;;N;;;;;
+B8F5;HANGUL SYLLABLE RULT;Lo;0;L;;;;;N;;;;;
+B8F6;HANGUL SYLLABLE RULP;Lo;0;L;;;;;N;;;;;
+B8F7;HANGUL SYLLABLE RULH;Lo;0;L;;;;;N;;;;;
+B8F8;HANGUL SYLLABLE RUM;Lo;0;L;;;;;N;;;;;
+B8F9;HANGUL SYLLABLE RUB;Lo;0;L;;;;;N;;;;;
+B8FA;HANGUL SYLLABLE RUBS;Lo;0;L;;;;;N;;;;;
+B8FB;HANGUL SYLLABLE RUS;Lo;0;L;;;;;N;;;;;
+B8FC;HANGUL SYLLABLE RUSS;Lo;0;L;;;;;N;;;;;
+B8FD;HANGUL SYLLABLE RUNG;Lo;0;L;;;;;N;;;;;
+B8FE;HANGUL SYLLABLE RUJ;Lo;0;L;;;;;N;;;;;
+B8FF;HANGUL SYLLABLE RUC;Lo;0;L;;;;;N;;;;;
+B900;HANGUL SYLLABLE RUK;Lo;0;L;;;;;N;;;;;
+B901;HANGUL SYLLABLE RUT;Lo;0;L;;;;;N;;;;;
+B902;HANGUL SYLLABLE RUP;Lo;0;L;;;;;N;;;;;
+B903;HANGUL SYLLABLE RUH;Lo;0;L;;;;;N;;;;;
+B904;HANGUL SYLLABLE RWEO;Lo;0;L;;;;;N;;;;;
+B905;HANGUL SYLLABLE RWEOG;Lo;0;L;;;;;N;;;;;
+B906;HANGUL SYLLABLE RWEOGG;Lo;0;L;;;;;N;;;;;
+B907;HANGUL SYLLABLE RWEOGS;Lo;0;L;;;;;N;;;;;
+B908;HANGUL SYLLABLE RWEON;Lo;0;L;;;;;N;;;;;
+B909;HANGUL SYLLABLE RWEONI;Lo;0;L;;;;;N;;;;;
+B90A;HANGUL SYLLABLE RWEONH;Lo;0;L;;;;;N;;;;;
+B90B;HANGUL SYLLABLE RWEOD;Lo;0;L;;;;;N;;;;;
+B90C;HANGUL SYLLABLE RWEOL;Lo;0;L;;;;;N;;;;;
+B90D;HANGUL SYLLABLE RWEOLG;Lo;0;L;;;;;N;;;;;
+B90E;HANGUL SYLLABLE RWEOLM;Lo;0;L;;;;;N;;;;;
+B90F;HANGUL SYLLABLE RWEOLB;Lo;0;L;;;;;N;;;;;
+B910;HANGUL SYLLABLE RWEOLS;Lo;0;L;;;;;N;;;;;
+B911;HANGUL SYLLABLE RWEOLT;Lo;0;L;;;;;N;;;;;
+B912;HANGUL SYLLABLE RWEOLP;Lo;0;L;;;;;N;;;;;
+B913;HANGUL SYLLABLE RWEOLH;Lo;0;L;;;;;N;;;;;
+B914;HANGUL SYLLABLE RWEOM;Lo;0;L;;;;;N;;;;;
+B915;HANGUL SYLLABLE RWEOB;Lo;0;L;;;;;N;;;;;
+B916;HANGUL SYLLABLE RWEOBS;Lo;0;L;;;;;N;;;;;
+B917;HANGUL SYLLABLE RWEOS;Lo;0;L;;;;;N;;;;;
+B918;HANGUL SYLLABLE RWEOSS;Lo;0;L;;;;;N;;;;;
+B919;HANGUL SYLLABLE RWEONG;Lo;0;L;;;;;N;;;;;
+B91A;HANGUL SYLLABLE RWEOJ;Lo;0;L;;;;;N;;;;;
+B91B;HANGUL SYLLABLE RWEOC;Lo;0;L;;;;;N;;;;;
+B91C;HANGUL SYLLABLE RWEOK;Lo;0;L;;;;;N;;;;;
+B91D;HANGUL SYLLABLE RWEOT;Lo;0;L;;;;;N;;;;;
+B91E;HANGUL SYLLABLE RWEOP;Lo;0;L;;;;;N;;;;;
+B91F;HANGUL SYLLABLE RWEOH;Lo;0;L;;;;;N;;;;;
+B920;HANGUL SYLLABLE RWE;Lo;0;L;;;;;N;;;;;
+B921;HANGUL SYLLABLE RWEG;Lo;0;L;;;;;N;;;;;
+B922;HANGUL SYLLABLE RWEGG;Lo;0;L;;;;;N;;;;;
+B923;HANGUL SYLLABLE RWEGS;Lo;0;L;;;;;N;;;;;
+B924;HANGUL SYLLABLE RWEN;Lo;0;L;;;;;N;;;;;
+B925;HANGUL SYLLABLE RWENI;Lo;0;L;;;;;N;;;;;
+B926;HANGUL SYLLABLE RWENH;Lo;0;L;;;;;N;;;;;
+B927;HANGUL SYLLABLE RWED;Lo;0;L;;;;;N;;;;;
+B928;HANGUL SYLLABLE RWEL;Lo;0;L;;;;;N;;;;;
+B929;HANGUL SYLLABLE RWELG;Lo;0;L;;;;;N;;;;;
+B92A;HANGUL SYLLABLE RWELM;Lo;0;L;;;;;N;;;;;
+B92B;HANGUL SYLLABLE RWELB;Lo;0;L;;;;;N;;;;;
+B92C;HANGUL SYLLABLE RWELS;Lo;0;L;;;;;N;;;;;
+B92D;HANGUL SYLLABLE RWELT;Lo;0;L;;;;;N;;;;;
+B92E;HANGUL SYLLABLE RWELP;Lo;0;L;;;;;N;;;;;
+B92F;HANGUL SYLLABLE RWELH;Lo;0;L;;;;;N;;;;;
+B930;HANGUL SYLLABLE RWEM;Lo;0;L;;;;;N;;;;;
+B931;HANGUL SYLLABLE RWEB;Lo;0;L;;;;;N;;;;;
+B932;HANGUL SYLLABLE RWEBS;Lo;0;L;;;;;N;;;;;
+B933;HANGUL SYLLABLE RWES;Lo;0;L;;;;;N;;;;;
+B934;HANGUL SYLLABLE RWESS;Lo;0;L;;;;;N;;;;;
+B935;HANGUL SYLLABLE RWENG;Lo;0;L;;;;;N;;;;;
+B936;HANGUL SYLLABLE RWEJ;Lo;0;L;;;;;N;;;;;
+B937;HANGUL SYLLABLE RWEC;Lo;0;L;;;;;N;;;;;
+B938;HANGUL SYLLABLE RWEK;Lo;0;L;;;;;N;;;;;
+B939;HANGUL SYLLABLE RWET;Lo;0;L;;;;;N;;;;;
+B93A;HANGUL SYLLABLE RWEP;Lo;0;L;;;;;N;;;;;
+B93B;HANGUL SYLLABLE RWEH;Lo;0;L;;;;;N;;;;;
+B93C;HANGUL SYLLABLE RWI;Lo;0;L;;;;;N;;;;;
+B93D;HANGUL SYLLABLE RWIG;Lo;0;L;;;;;N;;;;;
+B93E;HANGUL SYLLABLE RWIGG;Lo;0;L;;;;;N;;;;;
+B93F;HANGUL SYLLABLE RWIGS;Lo;0;L;;;;;N;;;;;
+B940;HANGUL SYLLABLE RWIN;Lo;0;L;;;;;N;;;;;
+B941;HANGUL SYLLABLE RWINI;Lo;0;L;;;;;N;;;;;
+B942;HANGUL SYLLABLE RWINH;Lo;0;L;;;;;N;;;;;
+B943;HANGUL SYLLABLE RWID;Lo;0;L;;;;;N;;;;;
+B944;HANGUL SYLLABLE RWIL;Lo;0;L;;;;;N;;;;;
+B945;HANGUL SYLLABLE RWILG;Lo;0;L;;;;;N;;;;;
+B946;HANGUL SYLLABLE RWILM;Lo;0;L;;;;;N;;;;;
+B947;HANGUL SYLLABLE RWILB;Lo;0;L;;;;;N;;;;;
+B948;HANGUL SYLLABLE RWILS;Lo;0;L;;;;;N;;;;;
+B949;HANGUL SYLLABLE RWILT;Lo;0;L;;;;;N;;;;;
+B94A;HANGUL SYLLABLE RWILP;Lo;0;L;;;;;N;;;;;
+B94B;HANGUL SYLLABLE RWILH;Lo;0;L;;;;;N;;;;;
+B94C;HANGUL SYLLABLE RWIM;Lo;0;L;;;;;N;;;;;
+B94D;HANGUL SYLLABLE RWIB;Lo;0;L;;;;;N;;;;;
+B94E;HANGUL SYLLABLE RWIBS;Lo;0;L;;;;;N;;;;;
+B94F;HANGUL SYLLABLE RWIS;Lo;0;L;;;;;N;;;;;
+B950;HANGUL SYLLABLE RWISS;Lo;0;L;;;;;N;;;;;
+B951;HANGUL SYLLABLE RWING;Lo;0;L;;;;;N;;;;;
+B952;HANGUL SYLLABLE RWIJ;Lo;0;L;;;;;N;;;;;
+B953;HANGUL SYLLABLE RWIC;Lo;0;L;;;;;N;;;;;
+B954;HANGUL SYLLABLE RWIK;Lo;0;L;;;;;N;;;;;
+B955;HANGUL SYLLABLE RWIT;Lo;0;L;;;;;N;;;;;
+B956;HANGUL SYLLABLE RWIP;Lo;0;L;;;;;N;;;;;
+B957;HANGUL SYLLABLE RWIH;Lo;0;L;;;;;N;;;;;
+B958;HANGUL SYLLABLE RYU;Lo;0;L;;;;;N;;;;;
+B959;HANGUL SYLLABLE RYUG;Lo;0;L;;;;;N;;;;;
+B95A;HANGUL SYLLABLE RYUGG;Lo;0;L;;;;;N;;;;;
+B95B;HANGUL SYLLABLE RYUGS;Lo;0;L;;;;;N;;;;;
+B95C;HANGUL SYLLABLE RYUN;Lo;0;L;;;;;N;;;;;
+B95D;HANGUL SYLLABLE RYUNI;Lo;0;L;;;;;N;;;;;
+B95E;HANGUL SYLLABLE RYUNH;Lo;0;L;;;;;N;;;;;
+B95F;HANGUL SYLLABLE RYUD;Lo;0;L;;;;;N;;;;;
+B960;HANGUL SYLLABLE RYUL;Lo;0;L;;;;;N;;;;;
+B961;HANGUL SYLLABLE RYULG;Lo;0;L;;;;;N;;;;;
+B962;HANGUL SYLLABLE RYULM;Lo;0;L;;;;;N;;;;;
+B963;HANGUL SYLLABLE RYULB;Lo;0;L;;;;;N;;;;;
+B964;HANGUL SYLLABLE RYULS;Lo;0;L;;;;;N;;;;;
+B965;HANGUL SYLLABLE RYULT;Lo;0;L;;;;;N;;;;;
+B966;HANGUL SYLLABLE RYULP;Lo;0;L;;;;;N;;;;;
+B967;HANGUL SYLLABLE RYULH;Lo;0;L;;;;;N;;;;;
+B968;HANGUL SYLLABLE RYUM;Lo;0;L;;;;;N;;;;;
+B969;HANGUL SYLLABLE RYUB;Lo;0;L;;;;;N;;;;;
+B96A;HANGUL SYLLABLE RYUBS;Lo;0;L;;;;;N;;;;;
+B96B;HANGUL SYLLABLE RYUS;Lo;0;L;;;;;N;;;;;
+B96C;HANGUL SYLLABLE RYUSS;Lo;0;L;;;;;N;;;;;
+B96D;HANGUL SYLLABLE RYUNG;Lo;0;L;;;;;N;;;;;
+B96E;HANGUL SYLLABLE RYUJ;Lo;0;L;;;;;N;;;;;
+B96F;HANGUL SYLLABLE RYUC;Lo;0;L;;;;;N;;;;;
+B970;HANGUL SYLLABLE RYUK;Lo;0;L;;;;;N;;;;;
+B971;HANGUL SYLLABLE RYUT;Lo;0;L;;;;;N;;;;;
+B972;HANGUL SYLLABLE RYUP;Lo;0;L;;;;;N;;;;;
+B973;HANGUL SYLLABLE RYUH;Lo;0;L;;;;;N;;;;;
+B974;HANGUL SYLLABLE REU;Lo;0;L;;;;;N;;;;;
+B975;HANGUL SYLLABLE REUG;Lo;0;L;;;;;N;;;;;
+B976;HANGUL SYLLABLE REUGG;Lo;0;L;;;;;N;;;;;
+B977;HANGUL SYLLABLE REUGS;Lo;0;L;;;;;N;;;;;
+B978;HANGUL SYLLABLE REUN;Lo;0;L;;;;;N;;;;;
+B979;HANGUL SYLLABLE REUNI;Lo;0;L;;;;;N;;;;;
+B97A;HANGUL SYLLABLE REUNH;Lo;0;L;;;;;N;;;;;
+B97B;HANGUL SYLLABLE REUD;Lo;0;L;;;;;N;;;;;
+B97C;HANGUL SYLLABLE REUL;Lo;0;L;;;;;N;;;;;
+B97D;HANGUL SYLLABLE REULG;Lo;0;L;;;;;N;;;;;
+B97E;HANGUL SYLLABLE REULM;Lo;0;L;;;;;N;;;;;
+B97F;HANGUL SYLLABLE REULB;Lo;0;L;;;;;N;;;;;
+B980;HANGUL SYLLABLE REULS;Lo;0;L;;;;;N;;;;;
+B981;HANGUL SYLLABLE REULT;Lo;0;L;;;;;N;;;;;
+B982;HANGUL SYLLABLE REULP;Lo;0;L;;;;;N;;;;;
+B983;HANGUL SYLLABLE REULH;Lo;0;L;;;;;N;;;;;
+B984;HANGUL SYLLABLE REUM;Lo;0;L;;;;;N;;;;;
+B985;HANGUL SYLLABLE REUB;Lo;0;L;;;;;N;;;;;
+B986;HANGUL SYLLABLE REUBS;Lo;0;L;;;;;N;;;;;
+B987;HANGUL SYLLABLE REUS;Lo;0;L;;;;;N;;;;;
+B988;HANGUL SYLLABLE REUSS;Lo;0;L;;;;;N;;;;;
+B989;HANGUL SYLLABLE REUNG;Lo;0;L;;;;;N;;;;;
+B98A;HANGUL SYLLABLE REUJ;Lo;0;L;;;;;N;;;;;
+B98B;HANGUL SYLLABLE REUC;Lo;0;L;;;;;N;;;;;
+B98C;HANGUL SYLLABLE REUK;Lo;0;L;;;;;N;;;;;
+B98D;HANGUL SYLLABLE REUT;Lo;0;L;;;;;N;;;;;
+B98E;HANGUL SYLLABLE REUP;Lo;0;L;;;;;N;;;;;
+B98F;HANGUL SYLLABLE REUH;Lo;0;L;;;;;N;;;;;
+B990;HANGUL SYLLABLE RYI;Lo;0;L;;;;;N;;;;;
+B991;HANGUL SYLLABLE RYIG;Lo;0;L;;;;;N;;;;;
+B992;HANGUL SYLLABLE RYIGG;Lo;0;L;;;;;N;;;;;
+B993;HANGUL SYLLABLE RYIGS;Lo;0;L;;;;;N;;;;;
+B994;HANGUL SYLLABLE RYIN;Lo;0;L;;;;;N;;;;;
+B995;HANGUL SYLLABLE RYINI;Lo;0;L;;;;;N;;;;;
+B996;HANGUL SYLLABLE RYINH;Lo;0;L;;;;;N;;;;;
+B997;HANGUL SYLLABLE RYID;Lo;0;L;;;;;N;;;;;
+B998;HANGUL SYLLABLE RYIL;Lo;0;L;;;;;N;;;;;
+B999;HANGUL SYLLABLE RYILG;Lo;0;L;;;;;N;;;;;
+B99A;HANGUL SYLLABLE RYILM;Lo;0;L;;;;;N;;;;;
+B99B;HANGUL SYLLABLE RYILB;Lo;0;L;;;;;N;;;;;
+B99C;HANGUL SYLLABLE RYILS;Lo;0;L;;;;;N;;;;;
+B99D;HANGUL SYLLABLE RYILT;Lo;0;L;;;;;N;;;;;
+B99E;HANGUL SYLLABLE RYILP;Lo;0;L;;;;;N;;;;;
+B99F;HANGUL SYLLABLE RYILH;Lo;0;L;;;;;N;;;;;
+B9A0;HANGUL SYLLABLE RYIM;Lo;0;L;;;;;N;;;;;
+B9A1;HANGUL SYLLABLE RYIB;Lo;0;L;;;;;N;;;;;
+B9A2;HANGUL SYLLABLE RYIBS;Lo;0;L;;;;;N;;;;;
+B9A3;HANGUL SYLLABLE RYIS;Lo;0;L;;;;;N;;;;;
+B9A4;HANGUL SYLLABLE RYISS;Lo;0;L;;;;;N;;;;;
+B9A5;HANGUL SYLLABLE RYING;Lo;0;L;;;;;N;;;;;
+B9A6;HANGUL SYLLABLE RYIJ;Lo;0;L;;;;;N;;;;;
+B9A7;HANGUL SYLLABLE RYIC;Lo;0;L;;;;;N;;;;;
+B9A8;HANGUL SYLLABLE RYIK;Lo;0;L;;;;;N;;;;;
+B9A9;HANGUL SYLLABLE RYIT;Lo;0;L;;;;;N;;;;;
+B9AA;HANGUL SYLLABLE RYIP;Lo;0;L;;;;;N;;;;;
+B9AB;HANGUL SYLLABLE RYIH;Lo;0;L;;;;;N;;;;;
+B9AC;HANGUL SYLLABLE RI;Lo;0;L;;;;;N;;;;;
+B9AD;HANGUL SYLLABLE RIG;Lo;0;L;;;;;N;;;;;
+B9AE;HANGUL SYLLABLE RIGG;Lo;0;L;;;;;N;;;;;
+B9AF;HANGUL SYLLABLE RIGS;Lo;0;L;;;;;N;;;;;
+B9B0;HANGUL SYLLABLE RIN;Lo;0;L;;;;;N;;;;;
+B9B1;HANGUL SYLLABLE RINI;Lo;0;L;;;;;N;;;;;
+B9B2;HANGUL SYLLABLE RINH;Lo;0;L;;;;;N;;;;;
+B9B3;HANGUL SYLLABLE RID;Lo;0;L;;;;;N;;;;;
+B9B4;HANGUL SYLLABLE RIL;Lo;0;L;;;;;N;;;;;
+B9B5;HANGUL SYLLABLE RILG;Lo;0;L;;;;;N;;;;;
+B9B6;HANGUL SYLLABLE RILM;Lo;0;L;;;;;N;;;;;
+B9B7;HANGUL SYLLABLE RILB;Lo;0;L;;;;;N;;;;;
+B9B8;HANGUL SYLLABLE RILS;Lo;0;L;;;;;N;;;;;
+B9B9;HANGUL SYLLABLE RILT;Lo;0;L;;;;;N;;;;;
+B9BA;HANGUL SYLLABLE RILP;Lo;0;L;;;;;N;;;;;
+B9BB;HANGUL SYLLABLE RILH;Lo;0;L;;;;;N;;;;;
+B9BC;HANGUL SYLLABLE RIM;Lo;0;L;;;;;N;;;;;
+B9BD;HANGUL SYLLABLE RIB;Lo;0;L;;;;;N;;;;;
+B9BE;HANGUL SYLLABLE RIBS;Lo;0;L;;;;;N;;;;;
+B9BF;HANGUL SYLLABLE RIS;Lo;0;L;;;;;N;;;;;
+B9C0;HANGUL SYLLABLE RISS;Lo;0;L;;;;;N;;;;;
+B9C1;HANGUL SYLLABLE RING;Lo;0;L;;;;;N;;;;;
+B9C2;HANGUL SYLLABLE RIJ;Lo;0;L;;;;;N;;;;;
+B9C3;HANGUL SYLLABLE RIC;Lo;0;L;;;;;N;;;;;
+B9C4;HANGUL SYLLABLE RIK;Lo;0;L;;;;;N;;;;;
+B9C5;HANGUL SYLLABLE RIT;Lo;0;L;;;;;N;;;;;
+B9C6;HANGUL SYLLABLE RIP;Lo;0;L;;;;;N;;;;;
+B9C7;HANGUL SYLLABLE RIH;Lo;0;L;;;;;N;;;;;
+B9C8;HANGUL SYLLABLE MA;Lo;0;L;;;;;N;;;;;
+B9C9;HANGUL SYLLABLE MAG;Lo;0;L;;;;;N;;;;;
+B9CA;HANGUL SYLLABLE MAGG;Lo;0;L;;;;;N;;;;;
+B9CB;HANGUL SYLLABLE MAGS;Lo;0;L;;;;;N;;;;;
+B9CC;HANGUL SYLLABLE MAN;Lo;0;L;;;;;N;;;;;
+B9CD;HANGUL SYLLABLE MANI;Lo;0;L;;;;;N;;;;;
+B9CE;HANGUL SYLLABLE MANH;Lo;0;L;;;;;N;;;;;
+B9CF;HANGUL SYLLABLE MAD;Lo;0;L;;;;;N;;;;;
+B9D0;HANGUL SYLLABLE MAL;Lo;0;L;;;;;N;;;;;
+B9D1;HANGUL SYLLABLE MALG;Lo;0;L;;;;;N;;;;;
+B9D2;HANGUL SYLLABLE MALM;Lo;0;L;;;;;N;;;;;
+B9D3;HANGUL SYLLABLE MALB;Lo;0;L;;;;;N;;;;;
+B9D4;HANGUL SYLLABLE MALS;Lo;0;L;;;;;N;;;;;
+B9D5;HANGUL SYLLABLE MALT;Lo;0;L;;;;;N;;;;;
+B9D6;HANGUL SYLLABLE MALP;Lo;0;L;;;;;N;;;;;
+B9D7;HANGUL SYLLABLE MALH;Lo;0;L;;;;;N;;;;;
+B9D8;HANGUL SYLLABLE MAM;Lo;0;L;;;;;N;;;;;
+B9D9;HANGUL SYLLABLE MAB;Lo;0;L;;;;;N;;;;;
+B9DA;HANGUL SYLLABLE MABS;Lo;0;L;;;;;N;;;;;
+B9DB;HANGUL SYLLABLE MAS;Lo;0;L;;;;;N;;;;;
+B9DC;HANGUL SYLLABLE MASS;Lo;0;L;;;;;N;;;;;
+B9DD;HANGUL SYLLABLE MANG;Lo;0;L;;;;;N;;;;;
+B9DE;HANGUL SYLLABLE MAJ;Lo;0;L;;;;;N;;;;;
+B9DF;HANGUL SYLLABLE MAC;Lo;0;L;;;;;N;;;;;
+B9E0;HANGUL SYLLABLE MAK;Lo;0;L;;;;;N;;;;;
+B9E1;HANGUL SYLLABLE MAT;Lo;0;L;;;;;N;;;;;
+B9E2;HANGUL SYLLABLE MAP;Lo;0;L;;;;;N;;;;;
+B9E3;HANGUL SYLLABLE MAH;Lo;0;L;;;;;N;;;;;
+B9E4;HANGUL SYLLABLE MAE;Lo;0;L;;;;;N;;;;;
+B9E5;HANGUL SYLLABLE MAEG;Lo;0;L;;;;;N;;;;;
+B9E6;HANGUL SYLLABLE MAEGG;Lo;0;L;;;;;N;;;;;
+B9E7;HANGUL SYLLABLE MAEGS;Lo;0;L;;;;;N;;;;;
+B9E8;HANGUL SYLLABLE MAEN;Lo;0;L;;;;;N;;;;;
+B9E9;HANGUL SYLLABLE MAENI;Lo;0;L;;;;;N;;;;;
+B9EA;HANGUL SYLLABLE MAENH;Lo;0;L;;;;;N;;;;;
+B9EB;HANGUL SYLLABLE MAED;Lo;0;L;;;;;N;;;;;
+B9EC;HANGUL SYLLABLE MAEL;Lo;0;L;;;;;N;;;;;
+B9ED;HANGUL SYLLABLE MAELG;Lo;0;L;;;;;N;;;;;
+B9EE;HANGUL SYLLABLE MAELM;Lo;0;L;;;;;N;;;;;
+B9EF;HANGUL SYLLABLE MAELB;Lo;0;L;;;;;N;;;;;
+B9F0;HANGUL SYLLABLE MAELS;Lo;0;L;;;;;N;;;;;
+B9F1;HANGUL SYLLABLE MAELT;Lo;0;L;;;;;N;;;;;
+B9F2;HANGUL SYLLABLE MAELP;Lo;0;L;;;;;N;;;;;
+B9F3;HANGUL SYLLABLE MAELH;Lo;0;L;;;;;N;;;;;
+B9F4;HANGUL SYLLABLE MAEM;Lo;0;L;;;;;N;;;;;
+B9F5;HANGUL SYLLABLE MAEB;Lo;0;L;;;;;N;;;;;
+B9F6;HANGUL SYLLABLE MAEBS;Lo;0;L;;;;;N;;;;;
+B9F7;HANGUL SYLLABLE MAES;Lo;0;L;;;;;N;;;;;
+B9F8;HANGUL SYLLABLE MAESS;Lo;0;L;;;;;N;;;;;
+B9F9;HANGUL SYLLABLE MAENG;Lo;0;L;;;;;N;;;;;
+B9FA;HANGUL SYLLABLE MAEJ;Lo;0;L;;;;;N;;;;;
+B9FB;HANGUL SYLLABLE MAEC;Lo;0;L;;;;;N;;;;;
+B9FC;HANGUL SYLLABLE MAEK;Lo;0;L;;;;;N;;;;;
+B9FD;HANGUL SYLLABLE MAET;Lo;0;L;;;;;N;;;;;
+B9FE;HANGUL SYLLABLE MAEP;Lo;0;L;;;;;N;;;;;
+B9FF;HANGUL SYLLABLE MAEH;Lo;0;L;;;;;N;;;;;
+BA00;HANGUL SYLLABLE MYA;Lo;0;L;;;;;N;;;;;
+BA01;HANGUL SYLLABLE MYAG;Lo;0;L;;;;;N;;;;;
+BA02;HANGUL SYLLABLE MYAGG;Lo;0;L;;;;;N;;;;;
+BA03;HANGUL SYLLABLE MYAGS;Lo;0;L;;;;;N;;;;;
+BA04;HANGUL SYLLABLE MYAN;Lo;0;L;;;;;N;;;;;
+BA05;HANGUL SYLLABLE MYANI;Lo;0;L;;;;;N;;;;;
+BA06;HANGUL SYLLABLE MYANH;Lo;0;L;;;;;N;;;;;
+BA07;HANGUL SYLLABLE MYAD;Lo;0;L;;;;;N;;;;;
+BA08;HANGUL SYLLABLE MYAL;Lo;0;L;;;;;N;;;;;
+BA09;HANGUL SYLLABLE MYALG;Lo;0;L;;;;;N;;;;;
+BA0A;HANGUL SYLLABLE MYALM;Lo;0;L;;;;;N;;;;;
+BA0B;HANGUL SYLLABLE MYALB;Lo;0;L;;;;;N;;;;;
+BA0C;HANGUL SYLLABLE MYALS;Lo;0;L;;;;;N;;;;;
+BA0D;HANGUL SYLLABLE MYALT;Lo;0;L;;;;;N;;;;;
+BA0E;HANGUL SYLLABLE MYALP;Lo;0;L;;;;;N;;;;;
+BA0F;HANGUL SYLLABLE MYALH;Lo;0;L;;;;;N;;;;;
+BA10;HANGUL SYLLABLE MYAM;Lo;0;L;;;;;N;;;;;
+BA11;HANGUL SYLLABLE MYAB;Lo;0;L;;;;;N;;;;;
+BA12;HANGUL SYLLABLE MYABS;Lo;0;L;;;;;N;;;;;
+BA13;HANGUL SYLLABLE MYAS;Lo;0;L;;;;;N;;;;;
+BA14;HANGUL SYLLABLE MYASS;Lo;0;L;;;;;N;;;;;
+BA15;HANGUL SYLLABLE MYANG;Lo;0;L;;;;;N;;;;;
+BA16;HANGUL SYLLABLE MYAJ;Lo;0;L;;;;;N;;;;;
+BA17;HANGUL SYLLABLE MYAC;Lo;0;L;;;;;N;;;;;
+BA18;HANGUL SYLLABLE MYAK;Lo;0;L;;;;;N;;;;;
+BA19;HANGUL SYLLABLE MYAT;Lo;0;L;;;;;N;;;;;
+BA1A;HANGUL SYLLABLE MYAP;Lo;0;L;;;;;N;;;;;
+BA1B;HANGUL SYLLABLE MYAH;Lo;0;L;;;;;N;;;;;
+BA1C;HANGUL SYLLABLE MYAE;Lo;0;L;;;;;N;;;;;
+BA1D;HANGUL SYLLABLE MYAEG;Lo;0;L;;;;;N;;;;;
+BA1E;HANGUL SYLLABLE MYAEGG;Lo;0;L;;;;;N;;;;;
+BA1F;HANGUL SYLLABLE MYAEGS;Lo;0;L;;;;;N;;;;;
+BA20;HANGUL SYLLABLE MYAEN;Lo;0;L;;;;;N;;;;;
+BA21;HANGUL SYLLABLE MYAENI;Lo;0;L;;;;;N;;;;;
+BA22;HANGUL SYLLABLE MYAENH;Lo;0;L;;;;;N;;;;;
+BA23;HANGUL SYLLABLE MYAED;Lo;0;L;;;;;N;;;;;
+BA24;HANGUL SYLLABLE MYAEL;Lo;0;L;;;;;N;;;;;
+BA25;HANGUL SYLLABLE MYAELG;Lo;0;L;;;;;N;;;;;
+BA26;HANGUL SYLLABLE MYAELM;Lo;0;L;;;;;N;;;;;
+BA27;HANGUL SYLLABLE MYAELB;Lo;0;L;;;;;N;;;;;
+BA28;HANGUL SYLLABLE MYAELS;Lo;0;L;;;;;N;;;;;
+BA29;HANGUL SYLLABLE MYAELT;Lo;0;L;;;;;N;;;;;
+BA2A;HANGUL SYLLABLE MYAELP;Lo;0;L;;;;;N;;;;;
+BA2B;HANGUL SYLLABLE MYAELH;Lo;0;L;;;;;N;;;;;
+BA2C;HANGUL SYLLABLE MYAEM;Lo;0;L;;;;;N;;;;;
+BA2D;HANGUL SYLLABLE MYAEB;Lo;0;L;;;;;N;;;;;
+BA2E;HANGUL SYLLABLE MYAEBS;Lo;0;L;;;;;N;;;;;
+BA2F;HANGUL SYLLABLE MYAES;Lo;0;L;;;;;N;;;;;
+BA30;HANGUL SYLLABLE MYAESS;Lo;0;L;;;;;N;;;;;
+BA31;HANGUL SYLLABLE MYAENG;Lo;0;L;;;;;N;;;;;
+BA32;HANGUL SYLLABLE MYAEJ;Lo;0;L;;;;;N;;;;;
+BA33;HANGUL SYLLABLE MYAEC;Lo;0;L;;;;;N;;;;;
+BA34;HANGUL SYLLABLE MYAEK;Lo;0;L;;;;;N;;;;;
+BA35;HANGUL SYLLABLE MYAET;Lo;0;L;;;;;N;;;;;
+BA36;HANGUL SYLLABLE MYAEP;Lo;0;L;;;;;N;;;;;
+BA37;HANGUL SYLLABLE MYAEH;Lo;0;L;;;;;N;;;;;
+BA38;HANGUL SYLLABLE MEO;Lo;0;L;;;;;N;;;;;
+BA39;HANGUL SYLLABLE MEOG;Lo;0;L;;;;;N;;;;;
+BA3A;HANGUL SYLLABLE MEOGG;Lo;0;L;;;;;N;;;;;
+BA3B;HANGUL SYLLABLE MEOGS;Lo;0;L;;;;;N;;;;;
+BA3C;HANGUL SYLLABLE MEON;Lo;0;L;;;;;N;;;;;
+BA3D;HANGUL SYLLABLE MEONI;Lo;0;L;;;;;N;;;;;
+BA3E;HANGUL SYLLABLE MEONH;Lo;0;L;;;;;N;;;;;
+BA3F;HANGUL SYLLABLE MEOD;Lo;0;L;;;;;N;;;;;
+BA40;HANGUL SYLLABLE MEOL;Lo;0;L;;;;;N;;;;;
+BA41;HANGUL SYLLABLE MEOLG;Lo;0;L;;;;;N;;;;;
+BA42;HANGUL SYLLABLE MEOLM;Lo;0;L;;;;;N;;;;;
+BA43;HANGUL SYLLABLE MEOLB;Lo;0;L;;;;;N;;;;;
+BA44;HANGUL SYLLABLE MEOLS;Lo;0;L;;;;;N;;;;;
+BA45;HANGUL SYLLABLE MEOLT;Lo;0;L;;;;;N;;;;;
+BA46;HANGUL SYLLABLE MEOLP;Lo;0;L;;;;;N;;;;;
+BA47;HANGUL SYLLABLE MEOLH;Lo;0;L;;;;;N;;;;;
+BA48;HANGUL SYLLABLE MEOM;Lo;0;L;;;;;N;;;;;
+BA49;HANGUL SYLLABLE MEOB;Lo;0;L;;;;;N;;;;;
+BA4A;HANGUL SYLLABLE MEOBS;Lo;0;L;;;;;N;;;;;
+BA4B;HANGUL SYLLABLE MEOS;Lo;0;L;;;;;N;;;;;
+BA4C;HANGUL SYLLABLE MEOSS;Lo;0;L;;;;;N;;;;;
+BA4D;HANGUL SYLLABLE MEONG;Lo;0;L;;;;;N;;;;;
+BA4E;HANGUL SYLLABLE MEOJ;Lo;0;L;;;;;N;;;;;
+BA4F;HANGUL SYLLABLE MEOC;Lo;0;L;;;;;N;;;;;
+BA50;HANGUL SYLLABLE MEOK;Lo;0;L;;;;;N;;;;;
+BA51;HANGUL SYLLABLE MEOT;Lo;0;L;;;;;N;;;;;
+BA52;HANGUL SYLLABLE MEOP;Lo;0;L;;;;;N;;;;;
+BA53;HANGUL SYLLABLE MEOH;Lo;0;L;;;;;N;;;;;
+BA54;HANGUL SYLLABLE ME;Lo;0;L;;;;;N;;;;;
+BA55;HANGUL SYLLABLE MEG;Lo;0;L;;;;;N;;;;;
+BA56;HANGUL SYLLABLE MEGG;Lo;0;L;;;;;N;;;;;
+BA57;HANGUL SYLLABLE MEGS;Lo;0;L;;;;;N;;;;;
+BA58;HANGUL SYLLABLE MEN;Lo;0;L;;;;;N;;;;;
+BA59;HANGUL SYLLABLE MENI;Lo;0;L;;;;;N;;;;;
+BA5A;HANGUL SYLLABLE MENH;Lo;0;L;;;;;N;;;;;
+BA5B;HANGUL SYLLABLE MED;Lo;0;L;;;;;N;;;;;
+BA5C;HANGUL SYLLABLE MEL;Lo;0;L;;;;;N;;;;;
+BA5D;HANGUL SYLLABLE MELG;Lo;0;L;;;;;N;;;;;
+BA5E;HANGUL SYLLABLE MELM;Lo;0;L;;;;;N;;;;;
+BA5F;HANGUL SYLLABLE MELB;Lo;0;L;;;;;N;;;;;
+BA60;HANGUL SYLLABLE MELS;Lo;0;L;;;;;N;;;;;
+BA61;HANGUL SYLLABLE MELT;Lo;0;L;;;;;N;;;;;
+BA62;HANGUL SYLLABLE MELP;Lo;0;L;;;;;N;;;;;
+BA63;HANGUL SYLLABLE MELH;Lo;0;L;;;;;N;;;;;
+BA64;HANGUL SYLLABLE MEM;Lo;0;L;;;;;N;;;;;
+BA65;HANGUL SYLLABLE MEB;Lo;0;L;;;;;N;;;;;
+BA66;HANGUL SYLLABLE MEBS;Lo;0;L;;;;;N;;;;;
+BA67;HANGUL SYLLABLE MES;Lo;0;L;;;;;N;;;;;
+BA68;HANGUL SYLLABLE MESS;Lo;0;L;;;;;N;;;;;
+BA69;HANGUL SYLLABLE MENG;Lo;0;L;;;;;N;;;;;
+BA6A;HANGUL SYLLABLE MEJ;Lo;0;L;;;;;N;;;;;
+BA6B;HANGUL SYLLABLE MEC;Lo;0;L;;;;;N;;;;;
+BA6C;HANGUL SYLLABLE MEK;Lo;0;L;;;;;N;;;;;
+BA6D;HANGUL SYLLABLE MET;Lo;0;L;;;;;N;;;;;
+BA6E;HANGUL SYLLABLE MEP;Lo;0;L;;;;;N;;;;;
+BA6F;HANGUL SYLLABLE MEH;Lo;0;L;;;;;N;;;;;
+BA70;HANGUL SYLLABLE MYEO;Lo;0;L;;;;;N;;;;;
+BA71;HANGUL SYLLABLE MYEOG;Lo;0;L;;;;;N;;;;;
+BA72;HANGUL SYLLABLE MYEOGG;Lo;0;L;;;;;N;;;;;
+BA73;HANGUL SYLLABLE MYEOGS;Lo;0;L;;;;;N;;;;;
+BA74;HANGUL SYLLABLE MYEON;Lo;0;L;;;;;N;;;;;
+BA75;HANGUL SYLLABLE MYEONI;Lo;0;L;;;;;N;;;;;
+BA76;HANGUL SYLLABLE MYEONH;Lo;0;L;;;;;N;;;;;
+BA77;HANGUL SYLLABLE MYEOD;Lo;0;L;;;;;N;;;;;
+BA78;HANGUL SYLLABLE MYEOL;Lo;0;L;;;;;N;;;;;
+BA79;HANGUL SYLLABLE MYEOLG;Lo;0;L;;;;;N;;;;;
+BA7A;HANGUL SYLLABLE MYEOLM;Lo;0;L;;;;;N;;;;;
+BA7B;HANGUL SYLLABLE MYEOLB;Lo;0;L;;;;;N;;;;;
+BA7C;HANGUL SYLLABLE MYEOLS;Lo;0;L;;;;;N;;;;;
+BA7D;HANGUL SYLLABLE MYEOLT;Lo;0;L;;;;;N;;;;;
+BA7E;HANGUL SYLLABLE MYEOLP;Lo;0;L;;;;;N;;;;;
+BA7F;HANGUL SYLLABLE MYEOLH;Lo;0;L;;;;;N;;;;;
+BA80;HANGUL SYLLABLE MYEOM;Lo;0;L;;;;;N;;;;;
+BA81;HANGUL SYLLABLE MYEOB;Lo;0;L;;;;;N;;;;;
+BA82;HANGUL SYLLABLE MYEOBS;Lo;0;L;;;;;N;;;;;
+BA83;HANGUL SYLLABLE MYEOS;Lo;0;L;;;;;N;;;;;
+BA84;HANGUL SYLLABLE MYEOSS;Lo;0;L;;;;;N;;;;;
+BA85;HANGUL SYLLABLE MYEONG;Lo;0;L;;;;;N;;;;;
+BA86;HANGUL SYLLABLE MYEOJ;Lo;0;L;;;;;N;;;;;
+BA87;HANGUL SYLLABLE MYEOC;Lo;0;L;;;;;N;;;;;
+BA88;HANGUL SYLLABLE MYEOK;Lo;0;L;;;;;N;;;;;
+BA89;HANGUL SYLLABLE MYEOT;Lo;0;L;;;;;N;;;;;
+BA8A;HANGUL SYLLABLE MYEOP;Lo;0;L;;;;;N;;;;;
+BA8B;HANGUL SYLLABLE MYEOH;Lo;0;L;;;;;N;;;;;
+BA8C;HANGUL SYLLABLE MYE;Lo;0;L;;;;;N;;;;;
+BA8D;HANGUL SYLLABLE MYEG;Lo;0;L;;;;;N;;;;;
+BA8E;HANGUL SYLLABLE MYEGG;Lo;0;L;;;;;N;;;;;
+BA8F;HANGUL SYLLABLE MYEGS;Lo;0;L;;;;;N;;;;;
+BA90;HANGUL SYLLABLE MYEN;Lo;0;L;;;;;N;;;;;
+BA91;HANGUL SYLLABLE MYENI;Lo;0;L;;;;;N;;;;;
+BA92;HANGUL SYLLABLE MYENH;Lo;0;L;;;;;N;;;;;
+BA93;HANGUL SYLLABLE MYED;Lo;0;L;;;;;N;;;;;
+BA94;HANGUL SYLLABLE MYEL;Lo;0;L;;;;;N;;;;;
+BA95;HANGUL SYLLABLE MYELG;Lo;0;L;;;;;N;;;;;
+BA96;HANGUL SYLLABLE MYELM;Lo;0;L;;;;;N;;;;;
+BA97;HANGUL SYLLABLE MYELB;Lo;0;L;;;;;N;;;;;
+BA98;HANGUL SYLLABLE MYELS;Lo;0;L;;;;;N;;;;;
+BA99;HANGUL SYLLABLE MYELT;Lo;0;L;;;;;N;;;;;
+BA9A;HANGUL SYLLABLE MYELP;Lo;0;L;;;;;N;;;;;
+BA9B;HANGUL SYLLABLE MYELH;Lo;0;L;;;;;N;;;;;
+BA9C;HANGUL SYLLABLE MYEM;Lo;0;L;;;;;N;;;;;
+BA9D;HANGUL SYLLABLE MYEB;Lo;0;L;;;;;N;;;;;
+BA9E;HANGUL SYLLABLE MYEBS;Lo;0;L;;;;;N;;;;;
+BA9F;HANGUL SYLLABLE MYES;Lo;0;L;;;;;N;;;;;
+BAA0;HANGUL SYLLABLE MYESS;Lo;0;L;;;;;N;;;;;
+BAA1;HANGUL SYLLABLE MYENG;Lo;0;L;;;;;N;;;;;
+BAA2;HANGUL SYLLABLE MYEJ;Lo;0;L;;;;;N;;;;;
+BAA3;HANGUL SYLLABLE MYEC;Lo;0;L;;;;;N;;;;;
+BAA4;HANGUL SYLLABLE MYEK;Lo;0;L;;;;;N;;;;;
+BAA5;HANGUL SYLLABLE MYET;Lo;0;L;;;;;N;;;;;
+BAA6;HANGUL SYLLABLE MYEP;Lo;0;L;;;;;N;;;;;
+BAA7;HANGUL SYLLABLE MYEH;Lo;0;L;;;;;N;;;;;
+BAA8;HANGUL SYLLABLE MO;Lo;0;L;;;;;N;;;;;
+BAA9;HANGUL SYLLABLE MOG;Lo;0;L;;;;;N;;;;;
+BAAA;HANGUL SYLLABLE MOGG;Lo;0;L;;;;;N;;;;;
+BAAB;HANGUL SYLLABLE MOGS;Lo;0;L;;;;;N;;;;;
+BAAC;HANGUL SYLLABLE MON;Lo;0;L;;;;;N;;;;;
+BAAD;HANGUL SYLLABLE MONI;Lo;0;L;;;;;N;;;;;
+BAAE;HANGUL SYLLABLE MONH;Lo;0;L;;;;;N;;;;;
+BAAF;HANGUL SYLLABLE MOD;Lo;0;L;;;;;N;;;;;
+BAB0;HANGUL SYLLABLE MOL;Lo;0;L;;;;;N;;;;;
+BAB1;HANGUL SYLLABLE MOLG;Lo;0;L;;;;;N;;;;;
+BAB2;HANGUL SYLLABLE MOLM;Lo;0;L;;;;;N;;;;;
+BAB3;HANGUL SYLLABLE MOLB;Lo;0;L;;;;;N;;;;;
+BAB4;HANGUL SYLLABLE MOLS;Lo;0;L;;;;;N;;;;;
+BAB5;HANGUL SYLLABLE MOLT;Lo;0;L;;;;;N;;;;;
+BAB6;HANGUL SYLLABLE MOLP;Lo;0;L;;;;;N;;;;;
+BAB7;HANGUL SYLLABLE MOLH;Lo;0;L;;;;;N;;;;;
+BAB8;HANGUL SYLLABLE MOM;Lo;0;L;;;;;N;;;;;
+BAB9;HANGUL SYLLABLE MOB;Lo;0;L;;;;;N;;;;;
+BABA;HANGUL SYLLABLE MOBS;Lo;0;L;;;;;N;;;;;
+BABB;HANGUL SYLLABLE MOS;Lo;0;L;;;;;N;;;;;
+BABC;HANGUL SYLLABLE MOSS;Lo;0;L;;;;;N;;;;;
+BABD;HANGUL SYLLABLE MONG;Lo;0;L;;;;;N;;;;;
+BABE;HANGUL SYLLABLE MOJ;Lo;0;L;;;;;N;;;;;
+BABF;HANGUL SYLLABLE MOC;Lo;0;L;;;;;N;;;;;
+BAC0;HANGUL SYLLABLE MOK;Lo;0;L;;;;;N;;;;;
+BAC1;HANGUL SYLLABLE MOT;Lo;0;L;;;;;N;;;;;
+BAC2;HANGUL SYLLABLE MOP;Lo;0;L;;;;;N;;;;;
+BAC3;HANGUL SYLLABLE MOH;Lo;0;L;;;;;N;;;;;
+BAC4;HANGUL SYLLABLE MWA;Lo;0;L;;;;;N;;;;;
+BAC5;HANGUL SYLLABLE MWAG;Lo;0;L;;;;;N;;;;;
+BAC6;HANGUL SYLLABLE MWAGG;Lo;0;L;;;;;N;;;;;
+BAC7;HANGUL SYLLABLE MWAGS;Lo;0;L;;;;;N;;;;;
+BAC8;HANGUL SYLLABLE MWAN;Lo;0;L;;;;;N;;;;;
+BAC9;HANGUL SYLLABLE MWANI;Lo;0;L;;;;;N;;;;;
+BACA;HANGUL SYLLABLE MWANH;Lo;0;L;;;;;N;;;;;
+BACB;HANGUL SYLLABLE MWAD;Lo;0;L;;;;;N;;;;;
+BACC;HANGUL SYLLABLE MWAL;Lo;0;L;;;;;N;;;;;
+BACD;HANGUL SYLLABLE MWALG;Lo;0;L;;;;;N;;;;;
+BACE;HANGUL SYLLABLE MWALM;Lo;0;L;;;;;N;;;;;
+BACF;HANGUL SYLLABLE MWALB;Lo;0;L;;;;;N;;;;;
+BAD0;HANGUL SYLLABLE MWALS;Lo;0;L;;;;;N;;;;;
+BAD1;HANGUL SYLLABLE MWALT;Lo;0;L;;;;;N;;;;;
+BAD2;HANGUL SYLLABLE MWALP;Lo;0;L;;;;;N;;;;;
+BAD3;HANGUL SYLLABLE MWALH;Lo;0;L;;;;;N;;;;;
+BAD4;HANGUL SYLLABLE MWAM;Lo;0;L;;;;;N;;;;;
+BAD5;HANGUL SYLLABLE MWAB;Lo;0;L;;;;;N;;;;;
+BAD6;HANGUL SYLLABLE MWABS;Lo;0;L;;;;;N;;;;;
+BAD7;HANGUL SYLLABLE MWAS;Lo;0;L;;;;;N;;;;;
+BAD8;HANGUL SYLLABLE MWASS;Lo;0;L;;;;;N;;;;;
+BAD9;HANGUL SYLLABLE MWANG;Lo;0;L;;;;;N;;;;;
+BADA;HANGUL SYLLABLE MWAJ;Lo;0;L;;;;;N;;;;;
+BADB;HANGUL SYLLABLE MWAC;Lo;0;L;;;;;N;;;;;
+BADC;HANGUL SYLLABLE MWAK;Lo;0;L;;;;;N;;;;;
+BADD;HANGUL SYLLABLE MWAT;Lo;0;L;;;;;N;;;;;
+BADE;HANGUL SYLLABLE MWAP;Lo;0;L;;;;;N;;;;;
+BADF;HANGUL SYLLABLE MWAH;Lo;0;L;;;;;N;;;;;
+BAE0;HANGUL SYLLABLE MWAE;Lo;0;L;;;;;N;;;;;
+BAE1;HANGUL SYLLABLE MWAEG;Lo;0;L;;;;;N;;;;;
+BAE2;HANGUL SYLLABLE MWAEGG;Lo;0;L;;;;;N;;;;;
+BAE3;HANGUL SYLLABLE MWAEGS;Lo;0;L;;;;;N;;;;;
+BAE4;HANGUL SYLLABLE MWAEN;Lo;0;L;;;;;N;;;;;
+BAE5;HANGUL SYLLABLE MWAENI;Lo;0;L;;;;;N;;;;;
+BAE6;HANGUL SYLLABLE MWAENH;Lo;0;L;;;;;N;;;;;
+BAE7;HANGUL SYLLABLE MWAED;Lo;0;L;;;;;N;;;;;
+BAE8;HANGUL SYLLABLE MWAEL;Lo;0;L;;;;;N;;;;;
+BAE9;HANGUL SYLLABLE MWAELG;Lo;0;L;;;;;N;;;;;
+BAEA;HANGUL SYLLABLE MWAELM;Lo;0;L;;;;;N;;;;;
+BAEB;HANGUL SYLLABLE MWAELB;Lo;0;L;;;;;N;;;;;
+BAEC;HANGUL SYLLABLE MWAELS;Lo;0;L;;;;;N;;;;;
+BAED;HANGUL SYLLABLE MWAELT;Lo;0;L;;;;;N;;;;;
+BAEE;HANGUL SYLLABLE MWAELP;Lo;0;L;;;;;N;;;;;
+BAEF;HANGUL SYLLABLE MWAELH;Lo;0;L;;;;;N;;;;;
+BAF0;HANGUL SYLLABLE MWAEM;Lo;0;L;;;;;N;;;;;
+BAF1;HANGUL SYLLABLE MWAEB;Lo;0;L;;;;;N;;;;;
+BAF2;HANGUL SYLLABLE MWAEBS;Lo;0;L;;;;;N;;;;;
+BAF3;HANGUL SYLLABLE MWAES;Lo;0;L;;;;;N;;;;;
+BAF4;HANGUL SYLLABLE MWAESS;Lo;0;L;;;;;N;;;;;
+BAF5;HANGUL SYLLABLE MWAENG;Lo;0;L;;;;;N;;;;;
+BAF6;HANGUL SYLLABLE MWAEJ;Lo;0;L;;;;;N;;;;;
+BAF7;HANGUL SYLLABLE MWAEC;Lo;0;L;;;;;N;;;;;
+BAF8;HANGUL SYLLABLE MWAEK;Lo;0;L;;;;;N;;;;;
+BAF9;HANGUL SYLLABLE MWAET;Lo;0;L;;;;;N;;;;;
+BAFA;HANGUL SYLLABLE MWAEP;Lo;0;L;;;;;N;;;;;
+BAFB;HANGUL SYLLABLE MWAEH;Lo;0;L;;;;;N;;;;;
+BAFC;HANGUL SYLLABLE MOE;Lo;0;L;;;;;N;;;;;
+BAFD;HANGUL SYLLABLE MOEG;Lo;0;L;;;;;N;;;;;
+BAFE;HANGUL SYLLABLE MOEGG;Lo;0;L;;;;;N;;;;;
+BAFF;HANGUL SYLLABLE MOEGS;Lo;0;L;;;;;N;;;;;
+BB00;HANGUL SYLLABLE MOEN;Lo;0;L;;;;;N;;;;;
+BB01;HANGUL SYLLABLE MOENI;Lo;0;L;;;;;N;;;;;
+BB02;HANGUL SYLLABLE MOENH;Lo;0;L;;;;;N;;;;;
+BB03;HANGUL SYLLABLE MOED;Lo;0;L;;;;;N;;;;;
+BB04;HANGUL SYLLABLE MOEL;Lo;0;L;;;;;N;;;;;
+BB05;HANGUL SYLLABLE MOELG;Lo;0;L;;;;;N;;;;;
+BB06;HANGUL SYLLABLE MOELM;Lo;0;L;;;;;N;;;;;
+BB07;HANGUL SYLLABLE MOELB;Lo;0;L;;;;;N;;;;;
+BB08;HANGUL SYLLABLE MOELS;Lo;0;L;;;;;N;;;;;
+BB09;HANGUL SYLLABLE MOELT;Lo;0;L;;;;;N;;;;;
+BB0A;HANGUL SYLLABLE MOELP;Lo;0;L;;;;;N;;;;;
+BB0B;HANGUL SYLLABLE MOELH;Lo;0;L;;;;;N;;;;;
+BB0C;HANGUL SYLLABLE MOEM;Lo;0;L;;;;;N;;;;;
+BB0D;HANGUL SYLLABLE MOEB;Lo;0;L;;;;;N;;;;;
+BB0E;HANGUL SYLLABLE MOEBS;Lo;0;L;;;;;N;;;;;
+BB0F;HANGUL SYLLABLE MOES;Lo;0;L;;;;;N;;;;;
+BB10;HANGUL SYLLABLE MOESS;Lo;0;L;;;;;N;;;;;
+BB11;HANGUL SYLLABLE MOENG;Lo;0;L;;;;;N;;;;;
+BB12;HANGUL SYLLABLE MOEJ;Lo;0;L;;;;;N;;;;;
+BB13;HANGUL SYLLABLE MOEC;Lo;0;L;;;;;N;;;;;
+BB14;HANGUL SYLLABLE MOEK;Lo;0;L;;;;;N;;;;;
+BB15;HANGUL SYLLABLE MOET;Lo;0;L;;;;;N;;;;;
+BB16;HANGUL SYLLABLE MOEP;Lo;0;L;;;;;N;;;;;
+BB17;HANGUL SYLLABLE MOEH;Lo;0;L;;;;;N;;;;;
+BB18;HANGUL SYLLABLE MYO;Lo;0;L;;;;;N;;;;;
+BB19;HANGUL SYLLABLE MYOG;Lo;0;L;;;;;N;;;;;
+BB1A;HANGUL SYLLABLE MYOGG;Lo;0;L;;;;;N;;;;;
+BB1B;HANGUL SYLLABLE MYOGS;Lo;0;L;;;;;N;;;;;
+BB1C;HANGUL SYLLABLE MYON;Lo;0;L;;;;;N;;;;;
+BB1D;HANGUL SYLLABLE MYONI;Lo;0;L;;;;;N;;;;;
+BB1E;HANGUL SYLLABLE MYONH;Lo;0;L;;;;;N;;;;;
+BB1F;HANGUL SYLLABLE MYOD;Lo;0;L;;;;;N;;;;;
+BB20;HANGUL SYLLABLE MYOL;Lo;0;L;;;;;N;;;;;
+BB21;HANGUL SYLLABLE MYOLG;Lo;0;L;;;;;N;;;;;
+BB22;HANGUL SYLLABLE MYOLM;Lo;0;L;;;;;N;;;;;
+BB23;HANGUL SYLLABLE MYOLB;Lo;0;L;;;;;N;;;;;
+BB24;HANGUL SYLLABLE MYOLS;Lo;0;L;;;;;N;;;;;
+BB25;HANGUL SYLLABLE MYOLT;Lo;0;L;;;;;N;;;;;
+BB26;HANGUL SYLLABLE MYOLP;Lo;0;L;;;;;N;;;;;
+BB27;HANGUL SYLLABLE MYOLH;Lo;0;L;;;;;N;;;;;
+BB28;HANGUL SYLLABLE MYOM;Lo;0;L;;;;;N;;;;;
+BB29;HANGUL SYLLABLE MYOB;Lo;0;L;;;;;N;;;;;
+BB2A;HANGUL SYLLABLE MYOBS;Lo;0;L;;;;;N;;;;;
+BB2B;HANGUL SYLLABLE MYOS;Lo;0;L;;;;;N;;;;;
+BB2C;HANGUL SYLLABLE MYOSS;Lo;0;L;;;;;N;;;;;
+BB2D;HANGUL SYLLABLE MYONG;Lo;0;L;;;;;N;;;;;
+BB2E;HANGUL SYLLABLE MYOJ;Lo;0;L;;;;;N;;;;;
+BB2F;HANGUL SYLLABLE MYOC;Lo;0;L;;;;;N;;;;;
+BB30;HANGUL SYLLABLE MYOK;Lo;0;L;;;;;N;;;;;
+BB31;HANGUL SYLLABLE MYOT;Lo;0;L;;;;;N;;;;;
+BB32;HANGUL SYLLABLE MYOP;Lo;0;L;;;;;N;;;;;
+BB33;HANGUL SYLLABLE MYOH;Lo;0;L;;;;;N;;;;;
+BB34;HANGUL SYLLABLE MU;Lo;0;L;;;;;N;;;;;
+BB35;HANGUL SYLLABLE MUG;Lo;0;L;;;;;N;;;;;
+BB36;HANGUL SYLLABLE MUGG;Lo;0;L;;;;;N;;;;;
+BB37;HANGUL SYLLABLE MUGS;Lo;0;L;;;;;N;;;;;
+BB38;HANGUL SYLLABLE MUN;Lo;0;L;;;;;N;;;;;
+BB39;HANGUL SYLLABLE MUNI;Lo;0;L;;;;;N;;;;;
+BB3A;HANGUL SYLLABLE MUNH;Lo;0;L;;;;;N;;;;;
+BB3B;HANGUL SYLLABLE MUD;Lo;0;L;;;;;N;;;;;
+BB3C;HANGUL SYLLABLE MUL;Lo;0;L;;;;;N;;;;;
+BB3D;HANGUL SYLLABLE MULG;Lo;0;L;;;;;N;;;;;
+BB3E;HANGUL SYLLABLE MULM;Lo;0;L;;;;;N;;;;;
+BB3F;HANGUL SYLLABLE MULB;Lo;0;L;;;;;N;;;;;
+BB40;HANGUL SYLLABLE MULS;Lo;0;L;;;;;N;;;;;
+BB41;HANGUL SYLLABLE MULT;Lo;0;L;;;;;N;;;;;
+BB42;HANGUL SYLLABLE MULP;Lo;0;L;;;;;N;;;;;
+BB43;HANGUL SYLLABLE MULH;Lo;0;L;;;;;N;;;;;
+BB44;HANGUL SYLLABLE MUM;Lo;0;L;;;;;N;;;;;
+BB45;HANGUL SYLLABLE MUB;Lo;0;L;;;;;N;;;;;
+BB46;HANGUL SYLLABLE MUBS;Lo;0;L;;;;;N;;;;;
+BB47;HANGUL SYLLABLE MUS;Lo;0;L;;;;;N;;;;;
+BB48;HANGUL SYLLABLE MUSS;Lo;0;L;;;;;N;;;;;
+BB49;HANGUL SYLLABLE MUNG;Lo;0;L;;;;;N;;;;;
+BB4A;HANGUL SYLLABLE MUJ;Lo;0;L;;;;;N;;;;;
+BB4B;HANGUL SYLLABLE MUC;Lo;0;L;;;;;N;;;;;
+BB4C;HANGUL SYLLABLE MUK;Lo;0;L;;;;;N;;;;;
+BB4D;HANGUL SYLLABLE MUT;Lo;0;L;;;;;N;;;;;
+BB4E;HANGUL SYLLABLE MUP;Lo;0;L;;;;;N;;;;;
+BB4F;HANGUL SYLLABLE MUH;Lo;0;L;;;;;N;;;;;
+BB50;HANGUL SYLLABLE MWEO;Lo;0;L;;;;;N;;;;;
+BB51;HANGUL SYLLABLE MWEOG;Lo;0;L;;;;;N;;;;;
+BB52;HANGUL SYLLABLE MWEOGG;Lo;0;L;;;;;N;;;;;
+BB53;HANGUL SYLLABLE MWEOGS;Lo;0;L;;;;;N;;;;;
+BB54;HANGUL SYLLABLE MWEON;Lo;0;L;;;;;N;;;;;
+BB55;HANGUL SYLLABLE MWEONI;Lo;0;L;;;;;N;;;;;
+BB56;HANGUL SYLLABLE MWEONH;Lo;0;L;;;;;N;;;;;
+BB57;HANGUL SYLLABLE MWEOD;Lo;0;L;;;;;N;;;;;
+BB58;HANGUL SYLLABLE MWEOL;Lo;0;L;;;;;N;;;;;
+BB59;HANGUL SYLLABLE MWEOLG;Lo;0;L;;;;;N;;;;;
+BB5A;HANGUL SYLLABLE MWEOLM;Lo;0;L;;;;;N;;;;;
+BB5B;HANGUL SYLLABLE MWEOLB;Lo;0;L;;;;;N;;;;;
+BB5C;HANGUL SYLLABLE MWEOLS;Lo;0;L;;;;;N;;;;;
+BB5D;HANGUL SYLLABLE MWEOLT;Lo;0;L;;;;;N;;;;;
+BB5E;HANGUL SYLLABLE MWEOLP;Lo;0;L;;;;;N;;;;;
+BB5F;HANGUL SYLLABLE MWEOLH;Lo;0;L;;;;;N;;;;;
+BB60;HANGUL SYLLABLE MWEOM;Lo;0;L;;;;;N;;;;;
+BB61;HANGUL SYLLABLE MWEOB;Lo;0;L;;;;;N;;;;;
+BB62;HANGUL SYLLABLE MWEOBS;Lo;0;L;;;;;N;;;;;
+BB63;HANGUL SYLLABLE MWEOS;Lo;0;L;;;;;N;;;;;
+BB64;HANGUL SYLLABLE MWEOSS;Lo;0;L;;;;;N;;;;;
+BB65;HANGUL SYLLABLE MWEONG;Lo;0;L;;;;;N;;;;;
+BB66;HANGUL SYLLABLE MWEOJ;Lo;0;L;;;;;N;;;;;
+BB67;HANGUL SYLLABLE MWEOC;Lo;0;L;;;;;N;;;;;
+BB68;HANGUL SYLLABLE MWEOK;Lo;0;L;;;;;N;;;;;
+BB69;HANGUL SYLLABLE MWEOT;Lo;0;L;;;;;N;;;;;
+BB6A;HANGUL SYLLABLE MWEOP;Lo;0;L;;;;;N;;;;;
+BB6B;HANGUL SYLLABLE MWEOH;Lo;0;L;;;;;N;;;;;
+BB6C;HANGUL SYLLABLE MWE;Lo;0;L;;;;;N;;;;;
+BB6D;HANGUL SYLLABLE MWEG;Lo;0;L;;;;;N;;;;;
+BB6E;HANGUL SYLLABLE MWEGG;Lo;0;L;;;;;N;;;;;
+BB6F;HANGUL SYLLABLE MWEGS;Lo;0;L;;;;;N;;;;;
+BB70;HANGUL SYLLABLE MWEN;Lo;0;L;;;;;N;;;;;
+BB71;HANGUL SYLLABLE MWENI;Lo;0;L;;;;;N;;;;;
+BB72;HANGUL SYLLABLE MWENH;Lo;0;L;;;;;N;;;;;
+BB73;HANGUL SYLLABLE MWED;Lo;0;L;;;;;N;;;;;
+BB74;HANGUL SYLLABLE MWEL;Lo;0;L;;;;;N;;;;;
+BB75;HANGUL SYLLABLE MWELG;Lo;0;L;;;;;N;;;;;
+BB76;HANGUL SYLLABLE MWELM;Lo;0;L;;;;;N;;;;;
+BB77;HANGUL SYLLABLE MWELB;Lo;0;L;;;;;N;;;;;
+BB78;HANGUL SYLLABLE MWELS;Lo;0;L;;;;;N;;;;;
+BB79;HANGUL SYLLABLE MWELT;Lo;0;L;;;;;N;;;;;
+BB7A;HANGUL SYLLABLE MWELP;Lo;0;L;;;;;N;;;;;
+BB7B;HANGUL SYLLABLE MWELH;Lo;0;L;;;;;N;;;;;
+BB7C;HANGUL SYLLABLE MWEM;Lo;0;L;;;;;N;;;;;
+BB7D;HANGUL SYLLABLE MWEB;Lo;0;L;;;;;N;;;;;
+BB7E;HANGUL SYLLABLE MWEBS;Lo;0;L;;;;;N;;;;;
+BB7F;HANGUL SYLLABLE MWES;Lo;0;L;;;;;N;;;;;
+BB80;HANGUL SYLLABLE MWESS;Lo;0;L;;;;;N;;;;;
+BB81;HANGUL SYLLABLE MWENG;Lo;0;L;;;;;N;;;;;
+BB82;HANGUL SYLLABLE MWEJ;Lo;0;L;;;;;N;;;;;
+BB83;HANGUL SYLLABLE MWEC;Lo;0;L;;;;;N;;;;;
+BB84;HANGUL SYLLABLE MWEK;Lo;0;L;;;;;N;;;;;
+BB85;HANGUL SYLLABLE MWET;Lo;0;L;;;;;N;;;;;
+BB86;HANGUL SYLLABLE MWEP;Lo;0;L;;;;;N;;;;;
+BB87;HANGUL SYLLABLE MWEH;Lo;0;L;;;;;N;;;;;
+BB88;HANGUL SYLLABLE MWI;Lo;0;L;;;;;N;;;;;
+BB89;HANGUL SYLLABLE MWIG;Lo;0;L;;;;;N;;;;;
+BB8A;HANGUL SYLLABLE MWIGG;Lo;0;L;;;;;N;;;;;
+BB8B;HANGUL SYLLABLE MWIGS;Lo;0;L;;;;;N;;;;;
+BB8C;HANGUL SYLLABLE MWIN;Lo;0;L;;;;;N;;;;;
+BB8D;HANGUL SYLLABLE MWINI;Lo;0;L;;;;;N;;;;;
+BB8E;HANGUL SYLLABLE MWINH;Lo;0;L;;;;;N;;;;;
+BB8F;HANGUL SYLLABLE MWID;Lo;0;L;;;;;N;;;;;
+BB90;HANGUL SYLLABLE MWIL;Lo;0;L;;;;;N;;;;;
+BB91;HANGUL SYLLABLE MWILG;Lo;0;L;;;;;N;;;;;
+BB92;HANGUL SYLLABLE MWILM;Lo;0;L;;;;;N;;;;;
+BB93;HANGUL SYLLABLE MWILB;Lo;0;L;;;;;N;;;;;
+BB94;HANGUL SYLLABLE MWILS;Lo;0;L;;;;;N;;;;;
+BB95;HANGUL SYLLABLE MWILT;Lo;0;L;;;;;N;;;;;
+BB96;HANGUL SYLLABLE MWILP;Lo;0;L;;;;;N;;;;;
+BB97;HANGUL SYLLABLE MWILH;Lo;0;L;;;;;N;;;;;
+BB98;HANGUL SYLLABLE MWIM;Lo;0;L;;;;;N;;;;;
+BB99;HANGUL SYLLABLE MWIB;Lo;0;L;;;;;N;;;;;
+BB9A;HANGUL SYLLABLE MWIBS;Lo;0;L;;;;;N;;;;;
+BB9B;HANGUL SYLLABLE MWIS;Lo;0;L;;;;;N;;;;;
+BB9C;HANGUL SYLLABLE MWISS;Lo;0;L;;;;;N;;;;;
+BB9D;HANGUL SYLLABLE MWING;Lo;0;L;;;;;N;;;;;
+BB9E;HANGUL SYLLABLE MWIJ;Lo;0;L;;;;;N;;;;;
+BB9F;HANGUL SYLLABLE MWIC;Lo;0;L;;;;;N;;;;;
+BBA0;HANGUL SYLLABLE MWIK;Lo;0;L;;;;;N;;;;;
+BBA1;HANGUL SYLLABLE MWIT;Lo;0;L;;;;;N;;;;;
+BBA2;HANGUL SYLLABLE MWIP;Lo;0;L;;;;;N;;;;;
+BBA3;HANGUL SYLLABLE MWIH;Lo;0;L;;;;;N;;;;;
+BBA4;HANGUL SYLLABLE MYU;Lo;0;L;;;;;N;;;;;
+BBA5;HANGUL SYLLABLE MYUG;Lo;0;L;;;;;N;;;;;
+BBA6;HANGUL SYLLABLE MYUGG;Lo;0;L;;;;;N;;;;;
+BBA7;HANGUL SYLLABLE MYUGS;Lo;0;L;;;;;N;;;;;
+BBA8;HANGUL SYLLABLE MYUN;Lo;0;L;;;;;N;;;;;
+BBA9;HANGUL SYLLABLE MYUNI;Lo;0;L;;;;;N;;;;;
+BBAA;HANGUL SYLLABLE MYUNH;Lo;0;L;;;;;N;;;;;
+BBAB;HANGUL SYLLABLE MYUD;Lo;0;L;;;;;N;;;;;
+BBAC;HANGUL SYLLABLE MYUL;Lo;0;L;;;;;N;;;;;
+BBAD;HANGUL SYLLABLE MYULG;Lo;0;L;;;;;N;;;;;
+BBAE;HANGUL SYLLABLE MYULM;Lo;0;L;;;;;N;;;;;
+BBAF;HANGUL SYLLABLE MYULB;Lo;0;L;;;;;N;;;;;
+BBB0;HANGUL SYLLABLE MYULS;Lo;0;L;;;;;N;;;;;
+BBB1;HANGUL SYLLABLE MYULT;Lo;0;L;;;;;N;;;;;
+BBB2;HANGUL SYLLABLE MYULP;Lo;0;L;;;;;N;;;;;
+BBB3;HANGUL SYLLABLE MYULH;Lo;0;L;;;;;N;;;;;
+BBB4;HANGUL SYLLABLE MYUM;Lo;0;L;;;;;N;;;;;
+BBB5;HANGUL SYLLABLE MYUB;Lo;0;L;;;;;N;;;;;
+BBB6;HANGUL SYLLABLE MYUBS;Lo;0;L;;;;;N;;;;;
+BBB7;HANGUL SYLLABLE MYUS;Lo;0;L;;;;;N;;;;;
+BBB8;HANGUL SYLLABLE MYUSS;Lo;0;L;;;;;N;;;;;
+BBB9;HANGUL SYLLABLE MYUNG;Lo;0;L;;;;;N;;;;;
+BBBA;HANGUL SYLLABLE MYUJ;Lo;0;L;;;;;N;;;;;
+BBBB;HANGUL SYLLABLE MYUC;Lo;0;L;;;;;N;;;;;
+BBBC;HANGUL SYLLABLE MYUK;Lo;0;L;;;;;N;;;;;
+BBBD;HANGUL SYLLABLE MYUT;Lo;0;L;;;;;N;;;;;
+BBBE;HANGUL SYLLABLE MYUP;Lo;0;L;;;;;N;;;;;
+BBBF;HANGUL SYLLABLE MYUH;Lo;0;L;;;;;N;;;;;
+BBC0;HANGUL SYLLABLE MEU;Lo;0;L;;;;;N;;;;;
+BBC1;HANGUL SYLLABLE MEUG;Lo;0;L;;;;;N;;;;;
+BBC2;HANGUL SYLLABLE MEUGG;Lo;0;L;;;;;N;;;;;
+BBC3;HANGUL SYLLABLE MEUGS;Lo;0;L;;;;;N;;;;;
+BBC4;HANGUL SYLLABLE MEUN;Lo;0;L;;;;;N;;;;;
+BBC5;HANGUL SYLLABLE MEUNI;Lo;0;L;;;;;N;;;;;
+BBC6;HANGUL SYLLABLE MEUNH;Lo;0;L;;;;;N;;;;;
+BBC7;HANGUL SYLLABLE MEUD;Lo;0;L;;;;;N;;;;;
+BBC8;HANGUL SYLLABLE MEUL;Lo;0;L;;;;;N;;;;;
+BBC9;HANGUL SYLLABLE MEULG;Lo;0;L;;;;;N;;;;;
+BBCA;HANGUL SYLLABLE MEULM;Lo;0;L;;;;;N;;;;;
+BBCB;HANGUL SYLLABLE MEULB;Lo;0;L;;;;;N;;;;;
+BBCC;HANGUL SYLLABLE MEULS;Lo;0;L;;;;;N;;;;;
+BBCD;HANGUL SYLLABLE MEULT;Lo;0;L;;;;;N;;;;;
+BBCE;HANGUL SYLLABLE MEULP;Lo;0;L;;;;;N;;;;;
+BBCF;HANGUL SYLLABLE MEULH;Lo;0;L;;;;;N;;;;;
+BBD0;HANGUL SYLLABLE MEUM;Lo;0;L;;;;;N;;;;;
+BBD1;HANGUL SYLLABLE MEUB;Lo;0;L;;;;;N;;;;;
+BBD2;HANGUL SYLLABLE MEUBS;Lo;0;L;;;;;N;;;;;
+BBD3;HANGUL SYLLABLE MEUS;Lo;0;L;;;;;N;;;;;
+BBD4;HANGUL SYLLABLE MEUSS;Lo;0;L;;;;;N;;;;;
+BBD5;HANGUL SYLLABLE MEUNG;Lo;0;L;;;;;N;;;;;
+BBD6;HANGUL SYLLABLE MEUJ;Lo;0;L;;;;;N;;;;;
+BBD7;HANGUL SYLLABLE MEUC;Lo;0;L;;;;;N;;;;;
+BBD8;HANGUL SYLLABLE MEUK;Lo;0;L;;;;;N;;;;;
+BBD9;HANGUL SYLLABLE MEUT;Lo;0;L;;;;;N;;;;;
+BBDA;HANGUL SYLLABLE MEUP;Lo;0;L;;;;;N;;;;;
+BBDB;HANGUL SYLLABLE MEUH;Lo;0;L;;;;;N;;;;;
+BBDC;HANGUL SYLLABLE MYI;Lo;0;L;;;;;N;;;;;
+BBDD;HANGUL SYLLABLE MYIG;Lo;0;L;;;;;N;;;;;
+BBDE;HANGUL SYLLABLE MYIGG;Lo;0;L;;;;;N;;;;;
+BBDF;HANGUL SYLLABLE MYIGS;Lo;0;L;;;;;N;;;;;
+BBE0;HANGUL SYLLABLE MYIN;Lo;0;L;;;;;N;;;;;
+BBE1;HANGUL SYLLABLE MYINI;Lo;0;L;;;;;N;;;;;
+BBE2;HANGUL SYLLABLE MYINH;Lo;0;L;;;;;N;;;;;
+BBE3;HANGUL SYLLABLE MYID;Lo;0;L;;;;;N;;;;;
+BBE4;HANGUL SYLLABLE MYIL;Lo;0;L;;;;;N;;;;;
+BBE5;HANGUL SYLLABLE MYILG;Lo;0;L;;;;;N;;;;;
+BBE6;HANGUL SYLLABLE MYILM;Lo;0;L;;;;;N;;;;;
+BBE7;HANGUL SYLLABLE MYILB;Lo;0;L;;;;;N;;;;;
+BBE8;HANGUL SYLLABLE MYILS;Lo;0;L;;;;;N;;;;;
+BBE9;HANGUL SYLLABLE MYILT;Lo;0;L;;;;;N;;;;;
+BBEA;HANGUL SYLLABLE MYILP;Lo;0;L;;;;;N;;;;;
+BBEB;HANGUL SYLLABLE MYILH;Lo;0;L;;;;;N;;;;;
+BBEC;HANGUL SYLLABLE MYIM;Lo;0;L;;;;;N;;;;;
+BBED;HANGUL SYLLABLE MYIB;Lo;0;L;;;;;N;;;;;
+BBEE;HANGUL SYLLABLE MYIBS;Lo;0;L;;;;;N;;;;;
+BBEF;HANGUL SYLLABLE MYIS;Lo;0;L;;;;;N;;;;;
+BBF0;HANGUL SYLLABLE MYISS;Lo;0;L;;;;;N;;;;;
+BBF1;HANGUL SYLLABLE MYING;Lo;0;L;;;;;N;;;;;
+BBF2;HANGUL SYLLABLE MYIJ;Lo;0;L;;;;;N;;;;;
+BBF3;HANGUL SYLLABLE MYIC;Lo;0;L;;;;;N;;;;;
+BBF4;HANGUL SYLLABLE MYIK;Lo;0;L;;;;;N;;;;;
+BBF5;HANGUL SYLLABLE MYIT;Lo;0;L;;;;;N;;;;;
+BBF6;HANGUL SYLLABLE MYIP;Lo;0;L;;;;;N;;;;;
+BBF7;HANGUL SYLLABLE MYIH;Lo;0;L;;;;;N;;;;;
+BBF8;HANGUL SYLLABLE MI;Lo;0;L;;;;;N;;;;;
+BBF9;HANGUL SYLLABLE MIG;Lo;0;L;;;;;N;;;;;
+BBFA;HANGUL SYLLABLE MIGG;Lo;0;L;;;;;N;;;;;
+BBFB;HANGUL SYLLABLE MIGS;Lo;0;L;;;;;N;;;;;
+BBFC;HANGUL SYLLABLE MIN;Lo;0;L;;;;;N;;;;;
+BBFD;HANGUL SYLLABLE MINI;Lo;0;L;;;;;N;;;;;
+BBFE;HANGUL SYLLABLE MINH;Lo;0;L;;;;;N;;;;;
+BBFF;HANGUL SYLLABLE MID;Lo;0;L;;;;;N;;;;;
+BC00;HANGUL SYLLABLE MIL;Lo;0;L;;;;;N;;;;;
+BC01;HANGUL SYLLABLE MILG;Lo;0;L;;;;;N;;;;;
+BC02;HANGUL SYLLABLE MILM;Lo;0;L;;;;;N;;;;;
+BC03;HANGUL SYLLABLE MILB;Lo;0;L;;;;;N;;;;;
+BC04;HANGUL SYLLABLE MILS;Lo;0;L;;;;;N;;;;;
+BC05;HANGUL SYLLABLE MILT;Lo;0;L;;;;;N;;;;;
+BC06;HANGUL SYLLABLE MILP;Lo;0;L;;;;;N;;;;;
+BC07;HANGUL SYLLABLE MILH;Lo;0;L;;;;;N;;;;;
+BC08;HANGUL SYLLABLE MIM;Lo;0;L;;;;;N;;;;;
+BC09;HANGUL SYLLABLE MIB;Lo;0;L;;;;;N;;;;;
+BC0A;HANGUL SYLLABLE MIBS;Lo;0;L;;;;;N;;;;;
+BC0B;HANGUL SYLLABLE MIS;Lo;0;L;;;;;N;;;;;
+BC0C;HANGUL SYLLABLE MISS;Lo;0;L;;;;;N;;;;;
+BC0D;HANGUL SYLLABLE MING;Lo;0;L;;;;;N;;;;;
+BC0E;HANGUL SYLLABLE MIJ;Lo;0;L;;;;;N;;;;;
+BC0F;HANGUL SYLLABLE MIC;Lo;0;L;;;;;N;;;;;
+BC10;HANGUL SYLLABLE MIK;Lo;0;L;;;;;N;;;;;
+BC11;HANGUL SYLLABLE MIT;Lo;0;L;;;;;N;;;;;
+BC12;HANGUL SYLLABLE MIP;Lo;0;L;;;;;N;;;;;
+BC13;HANGUL SYLLABLE MIH;Lo;0;L;;;;;N;;;;;
+BC14;HANGUL SYLLABLE BA;Lo;0;L;;;;;N;;;;;
+BC15;HANGUL SYLLABLE BAG;Lo;0;L;;;;;N;;;;;
+BC16;HANGUL SYLLABLE BAGG;Lo;0;L;;;;;N;;;;;
+BC17;HANGUL SYLLABLE BAGS;Lo;0;L;;;;;N;;;;;
+BC18;HANGUL SYLLABLE BAN;Lo;0;L;;;;;N;;;;;
+BC19;HANGUL SYLLABLE BANI;Lo;0;L;;;;;N;;;;;
+BC1A;HANGUL SYLLABLE BANH;Lo;0;L;;;;;N;;;;;
+BC1B;HANGUL SYLLABLE BAD;Lo;0;L;;;;;N;;;;;
+BC1C;HANGUL SYLLABLE BAL;Lo;0;L;;;;;N;;;;;
+BC1D;HANGUL SYLLABLE BALG;Lo;0;L;;;;;N;;;;;
+BC1E;HANGUL SYLLABLE BALM;Lo;0;L;;;;;N;;;;;
+BC1F;HANGUL SYLLABLE BALB;Lo;0;L;;;;;N;;;;;
+BC20;HANGUL SYLLABLE BALS;Lo;0;L;;;;;N;;;;;
+BC21;HANGUL SYLLABLE BALT;Lo;0;L;;;;;N;;;;;
+BC22;HANGUL SYLLABLE BALP;Lo;0;L;;;;;N;;;;;
+BC23;HANGUL SYLLABLE BALH;Lo;0;L;;;;;N;;;;;
+BC24;HANGUL SYLLABLE BAM;Lo;0;L;;;;;N;;;;;
+BC25;HANGUL SYLLABLE BAB;Lo;0;L;;;;;N;;;;;
+BC26;HANGUL SYLLABLE BABS;Lo;0;L;;;;;N;;;;;
+BC27;HANGUL SYLLABLE BAS;Lo;0;L;;;;;N;;;;;
+BC28;HANGUL SYLLABLE BASS;Lo;0;L;;;;;N;;;;;
+BC29;HANGUL SYLLABLE BANG;Lo;0;L;;;;;N;;;;;
+BC2A;HANGUL SYLLABLE BAJ;Lo;0;L;;;;;N;;;;;
+BC2B;HANGUL SYLLABLE BAC;Lo;0;L;;;;;N;;;;;
+BC2C;HANGUL SYLLABLE BAK;Lo;0;L;;;;;N;;;;;
+BC2D;HANGUL SYLLABLE BAT;Lo;0;L;;;;;N;;;;;
+BC2E;HANGUL SYLLABLE BAP;Lo;0;L;;;;;N;;;;;
+BC2F;HANGUL SYLLABLE BAH;Lo;0;L;;;;;N;;;;;
+BC30;HANGUL SYLLABLE BAE;Lo;0;L;;;;;N;;;;;
+BC31;HANGUL SYLLABLE BAEG;Lo;0;L;;;;;N;;;;;
+BC32;HANGUL SYLLABLE BAEGG;Lo;0;L;;;;;N;;;;;
+BC33;HANGUL SYLLABLE BAEGS;Lo;0;L;;;;;N;;;;;
+BC34;HANGUL SYLLABLE BAEN;Lo;0;L;;;;;N;;;;;
+BC35;HANGUL SYLLABLE BAENI;Lo;0;L;;;;;N;;;;;
+BC36;HANGUL SYLLABLE BAENH;Lo;0;L;;;;;N;;;;;
+BC37;HANGUL SYLLABLE BAED;Lo;0;L;;;;;N;;;;;
+BC38;HANGUL SYLLABLE BAEL;Lo;0;L;;;;;N;;;;;
+BC39;HANGUL SYLLABLE BAELG;Lo;0;L;;;;;N;;;;;
+BC3A;HANGUL SYLLABLE BAELM;Lo;0;L;;;;;N;;;;;
+BC3B;HANGUL SYLLABLE BAELB;Lo;0;L;;;;;N;;;;;
+BC3C;HANGUL SYLLABLE BAELS;Lo;0;L;;;;;N;;;;;
+BC3D;HANGUL SYLLABLE BAELT;Lo;0;L;;;;;N;;;;;
+BC3E;HANGUL SYLLABLE BAELP;Lo;0;L;;;;;N;;;;;
+BC3F;HANGUL SYLLABLE BAELH;Lo;0;L;;;;;N;;;;;
+BC40;HANGUL SYLLABLE BAEM;Lo;0;L;;;;;N;;;;;
+BC41;HANGUL SYLLABLE BAEB;Lo;0;L;;;;;N;;;;;
+BC42;HANGUL SYLLABLE BAEBS;Lo;0;L;;;;;N;;;;;
+BC43;HANGUL SYLLABLE BAES;Lo;0;L;;;;;N;;;;;
+BC44;HANGUL SYLLABLE BAESS;Lo;0;L;;;;;N;;;;;
+BC45;HANGUL SYLLABLE BAENG;Lo;0;L;;;;;N;;;;;
+BC46;HANGUL SYLLABLE BAEJ;Lo;0;L;;;;;N;;;;;
+BC47;HANGUL SYLLABLE BAEC;Lo;0;L;;;;;N;;;;;
+BC48;HANGUL SYLLABLE BAEK;Lo;0;L;;;;;N;;;;;
+BC49;HANGUL SYLLABLE BAET;Lo;0;L;;;;;N;;;;;
+BC4A;HANGUL SYLLABLE BAEP;Lo;0;L;;;;;N;;;;;
+BC4B;HANGUL SYLLABLE BAEH;Lo;0;L;;;;;N;;;;;
+BC4C;HANGUL SYLLABLE BYA;Lo;0;L;;;;;N;;;;;
+BC4D;HANGUL SYLLABLE BYAG;Lo;0;L;;;;;N;;;;;
+BC4E;HANGUL SYLLABLE BYAGG;Lo;0;L;;;;;N;;;;;
+BC4F;HANGUL SYLLABLE BYAGS;Lo;0;L;;;;;N;;;;;
+BC50;HANGUL SYLLABLE BYAN;Lo;0;L;;;;;N;;;;;
+BC51;HANGUL SYLLABLE BYANI;Lo;0;L;;;;;N;;;;;
+BC52;HANGUL SYLLABLE BYANH;Lo;0;L;;;;;N;;;;;
+BC53;HANGUL SYLLABLE BYAD;Lo;0;L;;;;;N;;;;;
+BC54;HANGUL SYLLABLE BYAL;Lo;0;L;;;;;N;;;;;
+BC55;HANGUL SYLLABLE BYALG;Lo;0;L;;;;;N;;;;;
+BC56;HANGUL SYLLABLE BYALM;Lo;0;L;;;;;N;;;;;
+BC57;HANGUL SYLLABLE BYALB;Lo;0;L;;;;;N;;;;;
+BC58;HANGUL SYLLABLE BYALS;Lo;0;L;;;;;N;;;;;
+BC59;HANGUL SYLLABLE BYALT;Lo;0;L;;;;;N;;;;;
+BC5A;HANGUL SYLLABLE BYALP;Lo;0;L;;;;;N;;;;;
+BC5B;HANGUL SYLLABLE BYALH;Lo;0;L;;;;;N;;;;;
+BC5C;HANGUL SYLLABLE BYAM;Lo;0;L;;;;;N;;;;;
+BC5D;HANGUL SYLLABLE BYAB;Lo;0;L;;;;;N;;;;;
+BC5E;HANGUL SYLLABLE BYABS;Lo;0;L;;;;;N;;;;;
+BC5F;HANGUL SYLLABLE BYAS;Lo;0;L;;;;;N;;;;;
+BC60;HANGUL SYLLABLE BYASS;Lo;0;L;;;;;N;;;;;
+BC61;HANGUL SYLLABLE BYANG;Lo;0;L;;;;;N;;;;;
+BC62;HANGUL SYLLABLE BYAJ;Lo;0;L;;;;;N;;;;;
+BC63;HANGUL SYLLABLE BYAC;Lo;0;L;;;;;N;;;;;
+BC64;HANGUL SYLLABLE BYAK;Lo;0;L;;;;;N;;;;;
+BC65;HANGUL SYLLABLE BYAT;Lo;0;L;;;;;N;;;;;
+BC66;HANGUL SYLLABLE BYAP;Lo;0;L;;;;;N;;;;;
+BC67;HANGUL SYLLABLE BYAH;Lo;0;L;;;;;N;;;;;
+BC68;HANGUL SYLLABLE BYAE;Lo;0;L;;;;;N;;;;;
+BC69;HANGUL SYLLABLE BYAEG;Lo;0;L;;;;;N;;;;;
+BC6A;HANGUL SYLLABLE BYAEGG;Lo;0;L;;;;;N;;;;;
+BC6B;HANGUL SYLLABLE BYAEGS;Lo;0;L;;;;;N;;;;;
+BC6C;HANGUL SYLLABLE BYAEN;Lo;0;L;;;;;N;;;;;
+BC6D;HANGUL SYLLABLE BYAENI;Lo;0;L;;;;;N;;;;;
+BC6E;HANGUL SYLLABLE BYAENH;Lo;0;L;;;;;N;;;;;
+BC6F;HANGUL SYLLABLE BYAED;Lo;0;L;;;;;N;;;;;
+BC70;HANGUL SYLLABLE BYAEL;Lo;0;L;;;;;N;;;;;
+BC71;HANGUL SYLLABLE BYAELG;Lo;0;L;;;;;N;;;;;
+BC72;HANGUL SYLLABLE BYAELM;Lo;0;L;;;;;N;;;;;
+BC73;HANGUL SYLLABLE BYAELB;Lo;0;L;;;;;N;;;;;
+BC74;HANGUL SYLLABLE BYAELS;Lo;0;L;;;;;N;;;;;
+BC75;HANGUL SYLLABLE BYAELT;Lo;0;L;;;;;N;;;;;
+BC76;HANGUL SYLLABLE BYAELP;Lo;0;L;;;;;N;;;;;
+BC77;HANGUL SYLLABLE BYAELH;Lo;0;L;;;;;N;;;;;
+BC78;HANGUL SYLLABLE BYAEM;Lo;0;L;;;;;N;;;;;
+BC79;HANGUL SYLLABLE BYAEB;Lo;0;L;;;;;N;;;;;
+BC7A;HANGUL SYLLABLE BYAEBS;Lo;0;L;;;;;N;;;;;
+BC7B;HANGUL SYLLABLE BYAES;Lo;0;L;;;;;N;;;;;
+BC7C;HANGUL SYLLABLE BYAESS;Lo;0;L;;;;;N;;;;;
+BC7D;HANGUL SYLLABLE BYAENG;Lo;0;L;;;;;N;;;;;
+BC7E;HANGUL SYLLABLE BYAEJ;Lo;0;L;;;;;N;;;;;
+BC7F;HANGUL SYLLABLE BYAEC;Lo;0;L;;;;;N;;;;;
+BC80;HANGUL SYLLABLE BYAEK;Lo;0;L;;;;;N;;;;;
+BC81;HANGUL SYLLABLE BYAET;Lo;0;L;;;;;N;;;;;
+BC82;HANGUL SYLLABLE BYAEP;Lo;0;L;;;;;N;;;;;
+BC83;HANGUL SYLLABLE BYAEH;Lo;0;L;;;;;N;;;;;
+BC84;HANGUL SYLLABLE BEO;Lo;0;L;;;;;N;;;;;
+BC85;HANGUL SYLLABLE BEOG;Lo;0;L;;;;;N;;;;;
+BC86;HANGUL SYLLABLE BEOGG;Lo;0;L;;;;;N;;;;;
+BC87;HANGUL SYLLABLE BEOGS;Lo;0;L;;;;;N;;;;;
+BC88;HANGUL SYLLABLE BEON;Lo;0;L;;;;;N;;;;;
+BC89;HANGUL SYLLABLE BEONI;Lo;0;L;;;;;N;;;;;
+BC8A;HANGUL SYLLABLE BEONH;Lo;0;L;;;;;N;;;;;
+BC8B;HANGUL SYLLABLE BEOD;Lo;0;L;;;;;N;;;;;
+BC8C;HANGUL SYLLABLE BEOL;Lo;0;L;;;;;N;;;;;
+BC8D;HANGUL SYLLABLE BEOLG;Lo;0;L;;;;;N;;;;;
+BC8E;HANGUL SYLLABLE BEOLM;Lo;0;L;;;;;N;;;;;
+BC8F;HANGUL SYLLABLE BEOLB;Lo;0;L;;;;;N;;;;;
+BC90;HANGUL SYLLABLE BEOLS;Lo;0;L;;;;;N;;;;;
+BC91;HANGUL SYLLABLE BEOLT;Lo;0;L;;;;;N;;;;;
+BC92;HANGUL SYLLABLE BEOLP;Lo;0;L;;;;;N;;;;;
+BC93;HANGUL SYLLABLE BEOLH;Lo;0;L;;;;;N;;;;;
+BC94;HANGUL SYLLABLE BEOM;Lo;0;L;;;;;N;;;;;
+BC95;HANGUL SYLLABLE BEOB;Lo;0;L;;;;;N;;;;;
+BC96;HANGUL SYLLABLE BEOBS;Lo;0;L;;;;;N;;;;;
+BC97;HANGUL SYLLABLE BEOS;Lo;0;L;;;;;N;;;;;
+BC98;HANGUL SYLLABLE BEOSS;Lo;0;L;;;;;N;;;;;
+BC99;HANGUL SYLLABLE BEONG;Lo;0;L;;;;;N;;;;;
+BC9A;HANGUL SYLLABLE BEOJ;Lo;0;L;;;;;N;;;;;
+BC9B;HANGUL SYLLABLE BEOC;Lo;0;L;;;;;N;;;;;
+BC9C;HANGUL SYLLABLE BEOK;Lo;0;L;;;;;N;;;;;
+BC9D;HANGUL SYLLABLE BEOT;Lo;0;L;;;;;N;;;;;
+BC9E;HANGUL SYLLABLE BEOP;Lo;0;L;;;;;N;;;;;
+BC9F;HANGUL SYLLABLE BEOH;Lo;0;L;;;;;N;;;;;
+BCA0;HANGUL SYLLABLE BE;Lo;0;L;;;;;N;;;;;
+BCA1;HANGUL SYLLABLE BEG;Lo;0;L;;;;;N;;;;;
+BCA2;HANGUL SYLLABLE BEGG;Lo;0;L;;;;;N;;;;;
+BCA3;HANGUL SYLLABLE BEGS;Lo;0;L;;;;;N;;;;;
+BCA4;HANGUL SYLLABLE BEN;Lo;0;L;;;;;N;;;;;
+BCA5;HANGUL SYLLABLE BENI;Lo;0;L;;;;;N;;;;;
+BCA6;HANGUL SYLLABLE BENH;Lo;0;L;;;;;N;;;;;
+BCA7;HANGUL SYLLABLE BED;Lo;0;L;;;;;N;;;;;
+BCA8;HANGUL SYLLABLE BEL;Lo;0;L;;;;;N;;;;;
+BCA9;HANGUL SYLLABLE BELG;Lo;0;L;;;;;N;;;;;
+BCAA;HANGUL SYLLABLE BELM;Lo;0;L;;;;;N;;;;;
+BCAB;HANGUL SYLLABLE BELB;Lo;0;L;;;;;N;;;;;
+BCAC;HANGUL SYLLABLE BELS;Lo;0;L;;;;;N;;;;;
+BCAD;HANGUL SYLLABLE BELT;Lo;0;L;;;;;N;;;;;
+BCAE;HANGUL SYLLABLE BELP;Lo;0;L;;;;;N;;;;;
+BCAF;HANGUL SYLLABLE BELH;Lo;0;L;;;;;N;;;;;
+BCB0;HANGUL SYLLABLE BEM;Lo;0;L;;;;;N;;;;;
+BCB1;HANGUL SYLLABLE BEB;Lo;0;L;;;;;N;;;;;
+BCB2;HANGUL SYLLABLE BEBS;Lo;0;L;;;;;N;;;;;
+BCB3;HANGUL SYLLABLE BES;Lo;0;L;;;;;N;;;;;
+BCB4;HANGUL SYLLABLE BESS;Lo;0;L;;;;;N;;;;;
+BCB5;HANGUL SYLLABLE BENG;Lo;0;L;;;;;N;;;;;
+BCB6;HANGUL SYLLABLE BEJ;Lo;0;L;;;;;N;;;;;
+BCB7;HANGUL SYLLABLE BEC;Lo;0;L;;;;;N;;;;;
+BCB8;HANGUL SYLLABLE BEK;Lo;0;L;;;;;N;;;;;
+BCB9;HANGUL SYLLABLE BET;Lo;0;L;;;;;N;;;;;
+BCBA;HANGUL SYLLABLE BEP;Lo;0;L;;;;;N;;;;;
+BCBB;HANGUL SYLLABLE BEH;Lo;0;L;;;;;N;;;;;
+BCBC;HANGUL SYLLABLE BYEO;Lo;0;L;;;;;N;;;;;
+BCBD;HANGUL SYLLABLE BYEOG;Lo;0;L;;;;;N;;;;;
+BCBE;HANGUL SYLLABLE BYEOGG;Lo;0;L;;;;;N;;;;;
+BCBF;HANGUL SYLLABLE BYEOGS;Lo;0;L;;;;;N;;;;;
+BCC0;HANGUL SYLLABLE BYEON;Lo;0;L;;;;;N;;;;;
+BCC1;HANGUL SYLLABLE BYEONI;Lo;0;L;;;;;N;;;;;
+BCC2;HANGUL SYLLABLE BYEONH;Lo;0;L;;;;;N;;;;;
+BCC3;HANGUL SYLLABLE BYEOD;Lo;0;L;;;;;N;;;;;
+BCC4;HANGUL SYLLABLE BYEOL;Lo;0;L;;;;;N;;;;;
+BCC5;HANGUL SYLLABLE BYEOLG;Lo;0;L;;;;;N;;;;;
+BCC6;HANGUL SYLLABLE BYEOLM;Lo;0;L;;;;;N;;;;;
+BCC7;HANGUL SYLLABLE BYEOLB;Lo;0;L;;;;;N;;;;;
+BCC8;HANGUL SYLLABLE BYEOLS;Lo;0;L;;;;;N;;;;;
+BCC9;HANGUL SYLLABLE BYEOLT;Lo;0;L;;;;;N;;;;;
+BCCA;HANGUL SYLLABLE BYEOLP;Lo;0;L;;;;;N;;;;;
+BCCB;HANGUL SYLLABLE BYEOLH;Lo;0;L;;;;;N;;;;;
+BCCC;HANGUL SYLLABLE BYEOM;Lo;0;L;;;;;N;;;;;
+BCCD;HANGUL SYLLABLE BYEOB;Lo;0;L;;;;;N;;;;;
+BCCE;HANGUL SYLLABLE BYEOBS;Lo;0;L;;;;;N;;;;;
+BCCF;HANGUL SYLLABLE BYEOS;Lo;0;L;;;;;N;;;;;
+BCD0;HANGUL SYLLABLE BYEOSS;Lo;0;L;;;;;N;;;;;
+BCD1;HANGUL SYLLABLE BYEONG;Lo;0;L;;;;;N;;;;;
+BCD2;HANGUL SYLLABLE BYEOJ;Lo;0;L;;;;;N;;;;;
+BCD3;HANGUL SYLLABLE BYEOC;Lo;0;L;;;;;N;;;;;
+BCD4;HANGUL SYLLABLE BYEOK;Lo;0;L;;;;;N;;;;;
+BCD5;HANGUL SYLLABLE BYEOT;Lo;0;L;;;;;N;;;;;
+BCD6;HANGUL SYLLABLE BYEOP;Lo;0;L;;;;;N;;;;;
+BCD7;HANGUL SYLLABLE BYEOH;Lo;0;L;;;;;N;;;;;
+BCD8;HANGUL SYLLABLE BYE;Lo;0;L;;;;;N;;;;;
+BCD9;HANGUL SYLLABLE BYEG;Lo;0;L;;;;;N;;;;;
+BCDA;HANGUL SYLLABLE BYEGG;Lo;0;L;;;;;N;;;;;
+BCDB;HANGUL SYLLABLE BYEGS;Lo;0;L;;;;;N;;;;;
+BCDC;HANGUL SYLLABLE BYEN;Lo;0;L;;;;;N;;;;;
+BCDD;HANGUL SYLLABLE BYENI;Lo;0;L;;;;;N;;;;;
+BCDE;HANGUL SYLLABLE BYENH;Lo;0;L;;;;;N;;;;;
+BCDF;HANGUL SYLLABLE BYED;Lo;0;L;;;;;N;;;;;
+BCE0;HANGUL SYLLABLE BYEL;Lo;0;L;;;;;N;;;;;
+BCE1;HANGUL SYLLABLE BYELG;Lo;0;L;;;;;N;;;;;
+BCE2;HANGUL SYLLABLE BYELM;Lo;0;L;;;;;N;;;;;
+BCE3;HANGUL SYLLABLE BYELB;Lo;0;L;;;;;N;;;;;
+BCE4;HANGUL SYLLABLE BYELS;Lo;0;L;;;;;N;;;;;
+BCE5;HANGUL SYLLABLE BYELT;Lo;0;L;;;;;N;;;;;
+BCE6;HANGUL SYLLABLE BYELP;Lo;0;L;;;;;N;;;;;
+BCE7;HANGUL SYLLABLE BYELH;Lo;0;L;;;;;N;;;;;
+BCE8;HANGUL SYLLABLE BYEM;Lo;0;L;;;;;N;;;;;
+BCE9;HANGUL SYLLABLE BYEB;Lo;0;L;;;;;N;;;;;
+BCEA;HANGUL SYLLABLE BYEBS;Lo;0;L;;;;;N;;;;;
+BCEB;HANGUL SYLLABLE BYES;Lo;0;L;;;;;N;;;;;
+BCEC;HANGUL SYLLABLE BYESS;Lo;0;L;;;;;N;;;;;
+BCED;HANGUL SYLLABLE BYENG;Lo;0;L;;;;;N;;;;;
+BCEE;HANGUL SYLLABLE BYEJ;Lo;0;L;;;;;N;;;;;
+BCEF;HANGUL SYLLABLE BYEC;Lo;0;L;;;;;N;;;;;
+BCF0;HANGUL SYLLABLE BYEK;Lo;0;L;;;;;N;;;;;
+BCF1;HANGUL SYLLABLE BYET;Lo;0;L;;;;;N;;;;;
+BCF2;HANGUL SYLLABLE BYEP;Lo;0;L;;;;;N;;;;;
+BCF3;HANGUL SYLLABLE BYEH;Lo;0;L;;;;;N;;;;;
+BCF4;HANGUL SYLLABLE BO;Lo;0;L;;;;;N;;;;;
+BCF5;HANGUL SYLLABLE BOG;Lo;0;L;;;;;N;;;;;
+BCF6;HANGUL SYLLABLE BOGG;Lo;0;L;;;;;N;;;;;
+BCF7;HANGUL SYLLABLE BOGS;Lo;0;L;;;;;N;;;;;
+BCF8;HANGUL SYLLABLE BON;Lo;0;L;;;;;N;;;;;
+BCF9;HANGUL SYLLABLE BONI;Lo;0;L;;;;;N;;;;;
+BCFA;HANGUL SYLLABLE BONH;Lo;0;L;;;;;N;;;;;
+BCFB;HANGUL SYLLABLE BOD;Lo;0;L;;;;;N;;;;;
+BCFC;HANGUL SYLLABLE BOL;Lo;0;L;;;;;N;;;;;
+BCFD;HANGUL SYLLABLE BOLG;Lo;0;L;;;;;N;;;;;
+BCFE;HANGUL SYLLABLE BOLM;Lo;0;L;;;;;N;;;;;
+BCFF;HANGUL SYLLABLE BOLB;Lo;0;L;;;;;N;;;;;
+BD00;HANGUL SYLLABLE BOLS;Lo;0;L;;;;;N;;;;;
+BD01;HANGUL SYLLABLE BOLT;Lo;0;L;;;;;N;;;;;
+BD02;HANGUL SYLLABLE BOLP;Lo;0;L;;;;;N;;;;;
+BD03;HANGUL SYLLABLE BOLH;Lo;0;L;;;;;N;;;;;
+BD04;HANGUL SYLLABLE BOM;Lo;0;L;;;;;N;;;;;
+BD05;HANGUL SYLLABLE BOB;Lo;0;L;;;;;N;;;;;
+BD06;HANGUL SYLLABLE BOBS;Lo;0;L;;;;;N;;;;;
+BD07;HANGUL SYLLABLE BOS;Lo;0;L;;;;;N;;;;;
+BD08;HANGUL SYLLABLE BOSS;Lo;0;L;;;;;N;;;;;
+BD09;HANGUL SYLLABLE BONG;Lo;0;L;;;;;N;;;;;
+BD0A;HANGUL SYLLABLE BOJ;Lo;0;L;;;;;N;;;;;
+BD0B;HANGUL SYLLABLE BOC;Lo;0;L;;;;;N;;;;;
+BD0C;HANGUL SYLLABLE BOK;Lo;0;L;;;;;N;;;;;
+BD0D;HANGUL SYLLABLE BOT;Lo;0;L;;;;;N;;;;;
+BD0E;HANGUL SYLLABLE BOP;Lo;0;L;;;;;N;;;;;
+BD0F;HANGUL SYLLABLE BOH;Lo;0;L;;;;;N;;;;;
+BD10;HANGUL SYLLABLE BWA;Lo;0;L;;;;;N;;;;;
+BD11;HANGUL SYLLABLE BWAG;Lo;0;L;;;;;N;;;;;
+BD12;HANGUL SYLLABLE BWAGG;Lo;0;L;;;;;N;;;;;
+BD13;HANGUL SYLLABLE BWAGS;Lo;0;L;;;;;N;;;;;
+BD14;HANGUL SYLLABLE BWAN;Lo;0;L;;;;;N;;;;;
+BD15;HANGUL SYLLABLE BWANI;Lo;0;L;;;;;N;;;;;
+BD16;HANGUL SYLLABLE BWANH;Lo;0;L;;;;;N;;;;;
+BD17;HANGUL SYLLABLE BWAD;Lo;0;L;;;;;N;;;;;
+BD18;HANGUL SYLLABLE BWAL;Lo;0;L;;;;;N;;;;;
+BD19;HANGUL SYLLABLE BWALG;Lo;0;L;;;;;N;;;;;
+BD1A;HANGUL SYLLABLE BWALM;Lo;0;L;;;;;N;;;;;
+BD1B;HANGUL SYLLABLE BWALB;Lo;0;L;;;;;N;;;;;
+BD1C;HANGUL SYLLABLE BWALS;Lo;0;L;;;;;N;;;;;
+BD1D;HANGUL SYLLABLE BWALT;Lo;0;L;;;;;N;;;;;
+BD1E;HANGUL SYLLABLE BWALP;Lo;0;L;;;;;N;;;;;
+BD1F;HANGUL SYLLABLE BWALH;Lo;0;L;;;;;N;;;;;
+BD20;HANGUL SYLLABLE BWAM;Lo;0;L;;;;;N;;;;;
+BD21;HANGUL SYLLABLE BWAB;Lo;0;L;;;;;N;;;;;
+BD22;HANGUL SYLLABLE BWABS;Lo;0;L;;;;;N;;;;;
+BD23;HANGUL SYLLABLE BWAS;Lo;0;L;;;;;N;;;;;
+BD24;HANGUL SYLLABLE BWASS;Lo;0;L;;;;;N;;;;;
+BD25;HANGUL SYLLABLE BWANG;Lo;0;L;;;;;N;;;;;
+BD26;HANGUL SYLLABLE BWAJ;Lo;0;L;;;;;N;;;;;
+BD27;HANGUL SYLLABLE BWAC;Lo;0;L;;;;;N;;;;;
+BD28;HANGUL SYLLABLE BWAK;Lo;0;L;;;;;N;;;;;
+BD29;HANGUL SYLLABLE BWAT;Lo;0;L;;;;;N;;;;;
+BD2A;HANGUL SYLLABLE BWAP;Lo;0;L;;;;;N;;;;;
+BD2B;HANGUL SYLLABLE BWAH;Lo;0;L;;;;;N;;;;;
+BD2C;HANGUL SYLLABLE BWAE;Lo;0;L;;;;;N;;;;;
+BD2D;HANGUL SYLLABLE BWAEG;Lo;0;L;;;;;N;;;;;
+BD2E;HANGUL SYLLABLE BWAEGG;Lo;0;L;;;;;N;;;;;
+BD2F;HANGUL SYLLABLE BWAEGS;Lo;0;L;;;;;N;;;;;
+BD30;HANGUL SYLLABLE BWAEN;Lo;0;L;;;;;N;;;;;
+BD31;HANGUL SYLLABLE BWAENI;Lo;0;L;;;;;N;;;;;
+BD32;HANGUL SYLLABLE BWAENH;Lo;0;L;;;;;N;;;;;
+BD33;HANGUL SYLLABLE BWAED;Lo;0;L;;;;;N;;;;;
+BD34;HANGUL SYLLABLE BWAEL;Lo;0;L;;;;;N;;;;;
+BD35;HANGUL SYLLABLE BWAELG;Lo;0;L;;;;;N;;;;;
+BD36;HANGUL SYLLABLE BWAELM;Lo;0;L;;;;;N;;;;;
+BD37;HANGUL SYLLABLE BWAELB;Lo;0;L;;;;;N;;;;;
+BD38;HANGUL SYLLABLE BWAELS;Lo;0;L;;;;;N;;;;;
+BD39;HANGUL SYLLABLE BWAELT;Lo;0;L;;;;;N;;;;;
+BD3A;HANGUL SYLLABLE BWAELP;Lo;0;L;;;;;N;;;;;
+BD3B;HANGUL SYLLABLE BWAELH;Lo;0;L;;;;;N;;;;;
+BD3C;HANGUL SYLLABLE BWAEM;Lo;0;L;;;;;N;;;;;
+BD3D;HANGUL SYLLABLE BWAEB;Lo;0;L;;;;;N;;;;;
+BD3E;HANGUL SYLLABLE BWAEBS;Lo;0;L;;;;;N;;;;;
+BD3F;HANGUL SYLLABLE BWAES;Lo;0;L;;;;;N;;;;;
+BD40;HANGUL SYLLABLE BWAESS;Lo;0;L;;;;;N;;;;;
+BD41;HANGUL SYLLABLE BWAENG;Lo;0;L;;;;;N;;;;;
+BD42;HANGUL SYLLABLE BWAEJ;Lo;0;L;;;;;N;;;;;
+BD43;HANGUL SYLLABLE BWAEC;Lo;0;L;;;;;N;;;;;
+BD44;HANGUL SYLLABLE BWAEK;Lo;0;L;;;;;N;;;;;
+BD45;HANGUL SYLLABLE BWAET;Lo;0;L;;;;;N;;;;;
+BD46;HANGUL SYLLABLE BWAEP;Lo;0;L;;;;;N;;;;;
+BD47;HANGUL SYLLABLE BWAEH;Lo;0;L;;;;;N;;;;;
+BD48;HANGUL SYLLABLE BOE;Lo;0;L;;;;;N;;;;;
+BD49;HANGUL SYLLABLE BOEG;Lo;0;L;;;;;N;;;;;
+BD4A;HANGUL SYLLABLE BOEGG;Lo;0;L;;;;;N;;;;;
+BD4B;HANGUL SYLLABLE BOEGS;Lo;0;L;;;;;N;;;;;
+BD4C;HANGUL SYLLABLE BOEN;Lo;0;L;;;;;N;;;;;
+BD4D;HANGUL SYLLABLE BOENI;Lo;0;L;;;;;N;;;;;
+BD4E;HANGUL SYLLABLE BOENH;Lo;0;L;;;;;N;;;;;
+BD4F;HANGUL SYLLABLE BOED;Lo;0;L;;;;;N;;;;;
+BD50;HANGUL SYLLABLE BOEL;Lo;0;L;;;;;N;;;;;
+BD51;HANGUL SYLLABLE BOELG;Lo;0;L;;;;;N;;;;;
+BD52;HANGUL SYLLABLE BOELM;Lo;0;L;;;;;N;;;;;
+BD53;HANGUL SYLLABLE BOELB;Lo;0;L;;;;;N;;;;;
+BD54;HANGUL SYLLABLE BOELS;Lo;0;L;;;;;N;;;;;
+BD55;HANGUL SYLLABLE BOELT;Lo;0;L;;;;;N;;;;;
+BD56;HANGUL SYLLABLE BOELP;Lo;0;L;;;;;N;;;;;
+BD57;HANGUL SYLLABLE BOELH;Lo;0;L;;;;;N;;;;;
+BD58;HANGUL SYLLABLE BOEM;Lo;0;L;;;;;N;;;;;
+BD59;HANGUL SYLLABLE BOEB;Lo;0;L;;;;;N;;;;;
+BD5A;HANGUL SYLLABLE BOEBS;Lo;0;L;;;;;N;;;;;
+BD5B;HANGUL SYLLABLE BOES;Lo;0;L;;;;;N;;;;;
+BD5C;HANGUL SYLLABLE BOESS;Lo;0;L;;;;;N;;;;;
+BD5D;HANGUL SYLLABLE BOENG;Lo;0;L;;;;;N;;;;;
+BD5E;HANGUL SYLLABLE BOEJ;Lo;0;L;;;;;N;;;;;
+BD5F;HANGUL SYLLABLE BOEC;Lo;0;L;;;;;N;;;;;
+BD60;HANGUL SYLLABLE BOEK;Lo;0;L;;;;;N;;;;;
+BD61;HANGUL SYLLABLE BOET;Lo;0;L;;;;;N;;;;;
+BD62;HANGUL SYLLABLE BOEP;Lo;0;L;;;;;N;;;;;
+BD63;HANGUL SYLLABLE BOEH;Lo;0;L;;;;;N;;;;;
+BD64;HANGUL SYLLABLE BYO;Lo;0;L;;;;;N;;;;;
+BD65;HANGUL SYLLABLE BYOG;Lo;0;L;;;;;N;;;;;
+BD66;HANGUL SYLLABLE BYOGG;Lo;0;L;;;;;N;;;;;
+BD67;HANGUL SYLLABLE BYOGS;Lo;0;L;;;;;N;;;;;
+BD68;HANGUL SYLLABLE BYON;Lo;0;L;;;;;N;;;;;
+BD69;HANGUL SYLLABLE BYONI;Lo;0;L;;;;;N;;;;;
+BD6A;HANGUL SYLLABLE BYONH;Lo;0;L;;;;;N;;;;;
+BD6B;HANGUL SYLLABLE BYOD;Lo;0;L;;;;;N;;;;;
+BD6C;HANGUL SYLLABLE BYOL;Lo;0;L;;;;;N;;;;;
+BD6D;HANGUL SYLLABLE BYOLG;Lo;0;L;;;;;N;;;;;
+BD6E;HANGUL SYLLABLE BYOLM;Lo;0;L;;;;;N;;;;;
+BD6F;HANGUL SYLLABLE BYOLB;Lo;0;L;;;;;N;;;;;
+BD70;HANGUL SYLLABLE BYOLS;Lo;0;L;;;;;N;;;;;
+BD71;HANGUL SYLLABLE BYOLT;Lo;0;L;;;;;N;;;;;
+BD72;HANGUL SYLLABLE BYOLP;Lo;0;L;;;;;N;;;;;
+BD73;HANGUL SYLLABLE BYOLH;Lo;0;L;;;;;N;;;;;
+BD74;HANGUL SYLLABLE BYOM;Lo;0;L;;;;;N;;;;;
+BD75;HANGUL SYLLABLE BYOB;Lo;0;L;;;;;N;;;;;
+BD76;HANGUL SYLLABLE BYOBS;Lo;0;L;;;;;N;;;;;
+BD77;HANGUL SYLLABLE BYOS;Lo;0;L;;;;;N;;;;;
+BD78;HANGUL SYLLABLE BYOSS;Lo;0;L;;;;;N;;;;;
+BD79;HANGUL SYLLABLE BYONG;Lo;0;L;;;;;N;;;;;
+BD7A;HANGUL SYLLABLE BYOJ;Lo;0;L;;;;;N;;;;;
+BD7B;HANGUL SYLLABLE BYOC;Lo;0;L;;;;;N;;;;;
+BD7C;HANGUL SYLLABLE BYOK;Lo;0;L;;;;;N;;;;;
+BD7D;HANGUL SYLLABLE BYOT;Lo;0;L;;;;;N;;;;;
+BD7E;HANGUL SYLLABLE BYOP;Lo;0;L;;;;;N;;;;;
+BD7F;HANGUL SYLLABLE BYOH;Lo;0;L;;;;;N;;;;;
+BD80;HANGUL SYLLABLE BU;Lo;0;L;;;;;N;;;;;
+BD81;HANGUL SYLLABLE BUG;Lo;0;L;;;;;N;;;;;
+BD82;HANGUL SYLLABLE BUGG;Lo;0;L;;;;;N;;;;;
+BD83;HANGUL SYLLABLE BUGS;Lo;0;L;;;;;N;;;;;
+BD84;HANGUL SYLLABLE BUN;Lo;0;L;;;;;N;;;;;
+BD85;HANGUL SYLLABLE BUNI;Lo;0;L;;;;;N;;;;;
+BD86;HANGUL SYLLABLE BUNH;Lo;0;L;;;;;N;;;;;
+BD87;HANGUL SYLLABLE BUD;Lo;0;L;;;;;N;;;;;
+BD88;HANGUL SYLLABLE BUL;Lo;0;L;;;;;N;;;;;
+BD89;HANGUL SYLLABLE BULG;Lo;0;L;;;;;N;;;;;
+BD8A;HANGUL SYLLABLE BULM;Lo;0;L;;;;;N;;;;;
+BD8B;HANGUL SYLLABLE BULB;Lo;0;L;;;;;N;;;;;
+BD8C;HANGUL SYLLABLE BULS;Lo;0;L;;;;;N;;;;;
+BD8D;HANGUL SYLLABLE BULT;Lo;0;L;;;;;N;;;;;
+BD8E;HANGUL SYLLABLE BULP;Lo;0;L;;;;;N;;;;;
+BD8F;HANGUL SYLLABLE BULH;Lo;0;L;;;;;N;;;;;
+BD90;HANGUL SYLLABLE BUM;Lo;0;L;;;;;N;;;;;
+BD91;HANGUL SYLLABLE BUB;Lo;0;L;;;;;N;;;;;
+BD92;HANGUL SYLLABLE BUBS;Lo;0;L;;;;;N;;;;;
+BD93;HANGUL SYLLABLE BUS;Lo;0;L;;;;;N;;;;;
+BD94;HANGUL SYLLABLE BUSS;Lo;0;L;;;;;N;;;;;
+BD95;HANGUL SYLLABLE BUNG;Lo;0;L;;;;;N;;;;;
+BD96;HANGUL SYLLABLE BUJ;Lo;0;L;;;;;N;;;;;
+BD97;HANGUL SYLLABLE BUC;Lo;0;L;;;;;N;;;;;
+BD98;HANGUL SYLLABLE BUK;Lo;0;L;;;;;N;;;;;
+BD99;HANGUL SYLLABLE BUT;Lo;0;L;;;;;N;;;;;
+BD9A;HANGUL SYLLABLE BUP;Lo;0;L;;;;;N;;;;;
+BD9B;HANGUL SYLLABLE BUH;Lo;0;L;;;;;N;;;;;
+BD9C;HANGUL SYLLABLE BWEO;Lo;0;L;;;;;N;;;;;
+BD9D;HANGUL SYLLABLE BWEOG;Lo;0;L;;;;;N;;;;;
+BD9E;HANGUL SYLLABLE BWEOGG;Lo;0;L;;;;;N;;;;;
+BD9F;HANGUL SYLLABLE BWEOGS;Lo;0;L;;;;;N;;;;;
+BDA0;HANGUL SYLLABLE BWEON;Lo;0;L;;;;;N;;;;;
+BDA1;HANGUL SYLLABLE BWEONI;Lo;0;L;;;;;N;;;;;
+BDA2;HANGUL SYLLABLE BWEONH;Lo;0;L;;;;;N;;;;;
+BDA3;HANGUL SYLLABLE BWEOD;Lo;0;L;;;;;N;;;;;
+BDA4;HANGUL SYLLABLE BWEOL;Lo;0;L;;;;;N;;;;;
+BDA5;HANGUL SYLLABLE BWEOLG;Lo;0;L;;;;;N;;;;;
+BDA6;HANGUL SYLLABLE BWEOLM;Lo;0;L;;;;;N;;;;;
+BDA7;HANGUL SYLLABLE BWEOLB;Lo;0;L;;;;;N;;;;;
+BDA8;HANGUL SYLLABLE BWEOLS;Lo;0;L;;;;;N;;;;;
+BDA9;HANGUL SYLLABLE BWEOLT;Lo;0;L;;;;;N;;;;;
+BDAA;HANGUL SYLLABLE BWEOLP;Lo;0;L;;;;;N;;;;;
+BDAB;HANGUL SYLLABLE BWEOLH;Lo;0;L;;;;;N;;;;;
+BDAC;HANGUL SYLLABLE BWEOM;Lo;0;L;;;;;N;;;;;
+BDAD;HANGUL SYLLABLE BWEOB;Lo;0;L;;;;;N;;;;;
+BDAE;HANGUL SYLLABLE BWEOBS;Lo;0;L;;;;;N;;;;;
+BDAF;HANGUL SYLLABLE BWEOS;Lo;0;L;;;;;N;;;;;
+BDB0;HANGUL SYLLABLE BWEOSS;Lo;0;L;;;;;N;;;;;
+BDB1;HANGUL SYLLABLE BWEONG;Lo;0;L;;;;;N;;;;;
+BDB2;HANGUL SYLLABLE BWEOJ;Lo;0;L;;;;;N;;;;;
+BDB3;HANGUL SYLLABLE BWEOC;Lo;0;L;;;;;N;;;;;
+BDB4;HANGUL SYLLABLE BWEOK;Lo;0;L;;;;;N;;;;;
+BDB5;HANGUL SYLLABLE BWEOT;Lo;0;L;;;;;N;;;;;
+BDB6;HANGUL SYLLABLE BWEOP;Lo;0;L;;;;;N;;;;;
+BDB7;HANGUL SYLLABLE BWEOH;Lo;0;L;;;;;N;;;;;
+BDB8;HANGUL SYLLABLE BWE;Lo;0;L;;;;;N;;;;;
+BDB9;HANGUL SYLLABLE BWEG;Lo;0;L;;;;;N;;;;;
+BDBA;HANGUL SYLLABLE BWEGG;Lo;0;L;;;;;N;;;;;
+BDBB;HANGUL SYLLABLE BWEGS;Lo;0;L;;;;;N;;;;;
+BDBC;HANGUL SYLLABLE BWEN;Lo;0;L;;;;;N;;;;;
+BDBD;HANGUL SYLLABLE BWENI;Lo;0;L;;;;;N;;;;;
+BDBE;HANGUL SYLLABLE BWENH;Lo;0;L;;;;;N;;;;;
+BDBF;HANGUL SYLLABLE BWED;Lo;0;L;;;;;N;;;;;
+BDC0;HANGUL SYLLABLE BWEL;Lo;0;L;;;;;N;;;;;
+BDC1;HANGUL SYLLABLE BWELG;Lo;0;L;;;;;N;;;;;
+BDC2;HANGUL SYLLABLE BWELM;Lo;0;L;;;;;N;;;;;
+BDC3;HANGUL SYLLABLE BWELB;Lo;0;L;;;;;N;;;;;
+BDC4;HANGUL SYLLABLE BWELS;Lo;0;L;;;;;N;;;;;
+BDC5;HANGUL SYLLABLE BWELT;Lo;0;L;;;;;N;;;;;
+BDC6;HANGUL SYLLABLE BWELP;Lo;0;L;;;;;N;;;;;
+BDC7;HANGUL SYLLABLE BWELH;Lo;0;L;;;;;N;;;;;
+BDC8;HANGUL SYLLABLE BWEM;Lo;0;L;;;;;N;;;;;
+BDC9;HANGUL SYLLABLE BWEB;Lo;0;L;;;;;N;;;;;
+BDCA;HANGUL SYLLABLE BWEBS;Lo;0;L;;;;;N;;;;;
+BDCB;HANGUL SYLLABLE BWES;Lo;0;L;;;;;N;;;;;
+BDCC;HANGUL SYLLABLE BWESS;Lo;0;L;;;;;N;;;;;
+BDCD;HANGUL SYLLABLE BWENG;Lo;0;L;;;;;N;;;;;
+BDCE;HANGUL SYLLABLE BWEJ;Lo;0;L;;;;;N;;;;;
+BDCF;HANGUL SYLLABLE BWEC;Lo;0;L;;;;;N;;;;;
+BDD0;HANGUL SYLLABLE BWEK;Lo;0;L;;;;;N;;;;;
+BDD1;HANGUL SYLLABLE BWET;Lo;0;L;;;;;N;;;;;
+BDD2;HANGUL SYLLABLE BWEP;Lo;0;L;;;;;N;;;;;
+BDD3;HANGUL SYLLABLE BWEH;Lo;0;L;;;;;N;;;;;
+BDD4;HANGUL SYLLABLE BWI;Lo;0;L;;;;;N;;;;;
+BDD5;HANGUL SYLLABLE BWIG;Lo;0;L;;;;;N;;;;;
+BDD6;HANGUL SYLLABLE BWIGG;Lo;0;L;;;;;N;;;;;
+BDD7;HANGUL SYLLABLE BWIGS;Lo;0;L;;;;;N;;;;;
+BDD8;HANGUL SYLLABLE BWIN;Lo;0;L;;;;;N;;;;;
+BDD9;HANGUL SYLLABLE BWINI;Lo;0;L;;;;;N;;;;;
+BDDA;HANGUL SYLLABLE BWINH;Lo;0;L;;;;;N;;;;;
+BDDB;HANGUL SYLLABLE BWID;Lo;0;L;;;;;N;;;;;
+BDDC;HANGUL SYLLABLE BWIL;Lo;0;L;;;;;N;;;;;
+BDDD;HANGUL SYLLABLE BWILG;Lo;0;L;;;;;N;;;;;
+BDDE;HANGUL SYLLABLE BWILM;Lo;0;L;;;;;N;;;;;
+BDDF;HANGUL SYLLABLE BWILB;Lo;0;L;;;;;N;;;;;
+BDE0;HANGUL SYLLABLE BWILS;Lo;0;L;;;;;N;;;;;
+BDE1;HANGUL SYLLABLE BWILT;Lo;0;L;;;;;N;;;;;
+BDE2;HANGUL SYLLABLE BWILP;Lo;0;L;;;;;N;;;;;
+BDE3;HANGUL SYLLABLE BWILH;Lo;0;L;;;;;N;;;;;
+BDE4;HANGUL SYLLABLE BWIM;Lo;0;L;;;;;N;;;;;
+BDE5;HANGUL SYLLABLE BWIB;Lo;0;L;;;;;N;;;;;
+BDE6;HANGUL SYLLABLE BWIBS;Lo;0;L;;;;;N;;;;;
+BDE7;HANGUL SYLLABLE BWIS;Lo;0;L;;;;;N;;;;;
+BDE8;HANGUL SYLLABLE BWISS;Lo;0;L;;;;;N;;;;;
+BDE9;HANGUL SYLLABLE BWING;Lo;0;L;;;;;N;;;;;
+BDEA;HANGUL SYLLABLE BWIJ;Lo;0;L;;;;;N;;;;;
+BDEB;HANGUL SYLLABLE BWIC;Lo;0;L;;;;;N;;;;;
+BDEC;HANGUL SYLLABLE BWIK;Lo;0;L;;;;;N;;;;;
+BDED;HANGUL SYLLABLE BWIT;Lo;0;L;;;;;N;;;;;
+BDEE;HANGUL SYLLABLE BWIP;Lo;0;L;;;;;N;;;;;
+BDEF;HANGUL SYLLABLE BWIH;Lo;0;L;;;;;N;;;;;
+BDF0;HANGUL SYLLABLE BYU;Lo;0;L;;;;;N;;;;;
+BDF1;HANGUL SYLLABLE BYUG;Lo;0;L;;;;;N;;;;;
+BDF2;HANGUL SYLLABLE BYUGG;Lo;0;L;;;;;N;;;;;
+BDF3;HANGUL SYLLABLE BYUGS;Lo;0;L;;;;;N;;;;;
+BDF4;HANGUL SYLLABLE BYUN;Lo;0;L;;;;;N;;;;;
+BDF5;HANGUL SYLLABLE BYUNI;Lo;0;L;;;;;N;;;;;
+BDF6;HANGUL SYLLABLE BYUNH;Lo;0;L;;;;;N;;;;;
+BDF7;HANGUL SYLLABLE BYUD;Lo;0;L;;;;;N;;;;;
+BDF8;HANGUL SYLLABLE BYUL;Lo;0;L;;;;;N;;;;;
+BDF9;HANGUL SYLLABLE BYULG;Lo;0;L;;;;;N;;;;;
+BDFA;HANGUL SYLLABLE BYULM;Lo;0;L;;;;;N;;;;;
+BDFB;HANGUL SYLLABLE BYULB;Lo;0;L;;;;;N;;;;;
+BDFC;HANGUL SYLLABLE BYULS;Lo;0;L;;;;;N;;;;;
+BDFD;HANGUL SYLLABLE BYULT;Lo;0;L;;;;;N;;;;;
+BDFE;HANGUL SYLLABLE BYULP;Lo;0;L;;;;;N;;;;;
+BDFF;HANGUL SYLLABLE BYULH;Lo;0;L;;;;;N;;;;;
+BE00;HANGUL SYLLABLE BYUM;Lo;0;L;;;;;N;;;;;
+BE01;HANGUL SYLLABLE BYUB;Lo;0;L;;;;;N;;;;;
+BE02;HANGUL SYLLABLE BYUBS;Lo;0;L;;;;;N;;;;;
+BE03;HANGUL SYLLABLE BYUS;Lo;0;L;;;;;N;;;;;
+BE04;HANGUL SYLLABLE BYUSS;Lo;0;L;;;;;N;;;;;
+BE05;HANGUL SYLLABLE BYUNG;Lo;0;L;;;;;N;;;;;
+BE06;HANGUL SYLLABLE BYUJ;Lo;0;L;;;;;N;;;;;
+BE07;HANGUL SYLLABLE BYUC;Lo;0;L;;;;;N;;;;;
+BE08;HANGUL SYLLABLE BYUK;Lo;0;L;;;;;N;;;;;
+BE09;HANGUL SYLLABLE BYUT;Lo;0;L;;;;;N;;;;;
+BE0A;HANGUL SYLLABLE BYUP;Lo;0;L;;;;;N;;;;;
+BE0B;HANGUL SYLLABLE BYUH;Lo;0;L;;;;;N;;;;;
+BE0C;HANGUL SYLLABLE BEU;Lo;0;L;;;;;N;;;;;
+BE0D;HANGUL SYLLABLE BEUG;Lo;0;L;;;;;N;;;;;
+BE0E;HANGUL SYLLABLE BEUGG;Lo;0;L;;;;;N;;;;;
+BE0F;HANGUL SYLLABLE BEUGS;Lo;0;L;;;;;N;;;;;
+BE10;HANGUL SYLLABLE BEUN;Lo;0;L;;;;;N;;;;;
+BE11;HANGUL SYLLABLE BEUNI;Lo;0;L;;;;;N;;;;;
+BE12;HANGUL SYLLABLE BEUNH;Lo;0;L;;;;;N;;;;;
+BE13;HANGUL SYLLABLE BEUD;Lo;0;L;;;;;N;;;;;
+BE14;HANGUL SYLLABLE BEUL;Lo;0;L;;;;;N;;;;;
+BE15;HANGUL SYLLABLE BEULG;Lo;0;L;;;;;N;;;;;
+BE16;HANGUL SYLLABLE BEULM;Lo;0;L;;;;;N;;;;;
+BE17;HANGUL SYLLABLE BEULB;Lo;0;L;;;;;N;;;;;
+BE18;HANGUL SYLLABLE BEULS;Lo;0;L;;;;;N;;;;;
+BE19;HANGUL SYLLABLE BEULT;Lo;0;L;;;;;N;;;;;
+BE1A;HANGUL SYLLABLE BEULP;Lo;0;L;;;;;N;;;;;
+BE1B;HANGUL SYLLABLE BEULH;Lo;0;L;;;;;N;;;;;
+BE1C;HANGUL SYLLABLE BEUM;Lo;0;L;;;;;N;;;;;
+BE1D;HANGUL SYLLABLE BEUB;Lo;0;L;;;;;N;;;;;
+BE1E;HANGUL SYLLABLE BEUBS;Lo;0;L;;;;;N;;;;;
+BE1F;HANGUL SYLLABLE BEUS;Lo;0;L;;;;;N;;;;;
+BE20;HANGUL SYLLABLE BEUSS;Lo;0;L;;;;;N;;;;;
+BE21;HANGUL SYLLABLE BEUNG;Lo;0;L;;;;;N;;;;;
+BE22;HANGUL SYLLABLE BEUJ;Lo;0;L;;;;;N;;;;;
+BE23;HANGUL SYLLABLE BEUC;Lo;0;L;;;;;N;;;;;
+BE24;HANGUL SYLLABLE BEUK;Lo;0;L;;;;;N;;;;;
+BE25;HANGUL SYLLABLE BEUT;Lo;0;L;;;;;N;;;;;
+BE26;HANGUL SYLLABLE BEUP;Lo;0;L;;;;;N;;;;;
+BE27;HANGUL SYLLABLE BEUH;Lo;0;L;;;;;N;;;;;
+BE28;HANGUL SYLLABLE BYI;Lo;0;L;;;;;N;;;;;
+BE29;HANGUL SYLLABLE BYIG;Lo;0;L;;;;;N;;;;;
+BE2A;HANGUL SYLLABLE BYIGG;Lo;0;L;;;;;N;;;;;
+BE2B;HANGUL SYLLABLE BYIGS;Lo;0;L;;;;;N;;;;;
+BE2C;HANGUL SYLLABLE BYIN;Lo;0;L;;;;;N;;;;;
+BE2D;HANGUL SYLLABLE BYINI;Lo;0;L;;;;;N;;;;;
+BE2E;HANGUL SYLLABLE BYINH;Lo;0;L;;;;;N;;;;;
+BE2F;HANGUL SYLLABLE BYID;Lo;0;L;;;;;N;;;;;
+BE30;HANGUL SYLLABLE BYIL;Lo;0;L;;;;;N;;;;;
+BE31;HANGUL SYLLABLE BYILG;Lo;0;L;;;;;N;;;;;
+BE32;HANGUL SYLLABLE BYILM;Lo;0;L;;;;;N;;;;;
+BE33;HANGUL SYLLABLE BYILB;Lo;0;L;;;;;N;;;;;
+BE34;HANGUL SYLLABLE BYILS;Lo;0;L;;;;;N;;;;;
+BE35;HANGUL SYLLABLE BYILT;Lo;0;L;;;;;N;;;;;
+BE36;HANGUL SYLLABLE BYILP;Lo;0;L;;;;;N;;;;;
+BE37;HANGUL SYLLABLE BYILH;Lo;0;L;;;;;N;;;;;
+BE38;HANGUL SYLLABLE BYIM;Lo;0;L;;;;;N;;;;;
+BE39;HANGUL SYLLABLE BYIB;Lo;0;L;;;;;N;;;;;
+BE3A;HANGUL SYLLABLE BYIBS;Lo;0;L;;;;;N;;;;;
+BE3B;HANGUL SYLLABLE BYIS;Lo;0;L;;;;;N;;;;;
+BE3C;HANGUL SYLLABLE BYISS;Lo;0;L;;;;;N;;;;;
+BE3D;HANGUL SYLLABLE BYING;Lo;0;L;;;;;N;;;;;
+BE3E;HANGUL SYLLABLE BYIJ;Lo;0;L;;;;;N;;;;;
+BE3F;HANGUL SYLLABLE BYIC;Lo;0;L;;;;;N;;;;;
+BE40;HANGUL SYLLABLE BYIK;Lo;0;L;;;;;N;;;;;
+BE41;HANGUL SYLLABLE BYIT;Lo;0;L;;;;;N;;;;;
+BE42;HANGUL SYLLABLE BYIP;Lo;0;L;;;;;N;;;;;
+BE43;HANGUL SYLLABLE BYIH;Lo;0;L;;;;;N;;;;;
+BE44;HANGUL SYLLABLE BI;Lo;0;L;;;;;N;;;;;
+BE45;HANGUL SYLLABLE BIG;Lo;0;L;;;;;N;;;;;
+BE46;HANGUL SYLLABLE BIGG;Lo;0;L;;;;;N;;;;;
+BE47;HANGUL SYLLABLE BIGS;Lo;0;L;;;;;N;;;;;
+BE48;HANGUL SYLLABLE BIN;Lo;0;L;;;;;N;;;;;
+BE49;HANGUL SYLLABLE BINI;Lo;0;L;;;;;N;;;;;
+BE4A;HANGUL SYLLABLE BINH;Lo;0;L;;;;;N;;;;;
+BE4B;HANGUL SYLLABLE BID;Lo;0;L;;;;;N;;;;;
+BE4C;HANGUL SYLLABLE BIL;Lo;0;L;;;;;N;;;;;
+BE4D;HANGUL SYLLABLE BILG;Lo;0;L;;;;;N;;;;;
+BE4E;HANGUL SYLLABLE BILM;Lo;0;L;;;;;N;;;;;
+BE4F;HANGUL SYLLABLE BILB;Lo;0;L;;;;;N;;;;;
+BE50;HANGUL SYLLABLE BILS;Lo;0;L;;;;;N;;;;;
+BE51;HANGUL SYLLABLE BILT;Lo;0;L;;;;;N;;;;;
+BE52;HANGUL SYLLABLE BILP;Lo;0;L;;;;;N;;;;;
+BE53;HANGUL SYLLABLE BILH;Lo;0;L;;;;;N;;;;;
+BE54;HANGUL SYLLABLE BIM;Lo;0;L;;;;;N;;;;;
+BE55;HANGUL SYLLABLE BIB;Lo;0;L;;;;;N;;;;;
+BE56;HANGUL SYLLABLE BIBS;Lo;0;L;;;;;N;;;;;
+BE57;HANGUL SYLLABLE BIS;Lo;0;L;;;;;N;;;;;
+BE58;HANGUL SYLLABLE BISS;Lo;0;L;;;;;N;;;;;
+BE59;HANGUL SYLLABLE BING;Lo;0;L;;;;;N;;;;;
+BE5A;HANGUL SYLLABLE BIJ;Lo;0;L;;;;;N;;;;;
+BE5B;HANGUL SYLLABLE BIC;Lo;0;L;;;;;N;;;;;
+BE5C;HANGUL SYLLABLE BIK;Lo;0;L;;;;;N;;;;;
+BE5D;HANGUL SYLLABLE BIT;Lo;0;L;;;;;N;;;;;
+BE5E;HANGUL SYLLABLE BIP;Lo;0;L;;;;;N;;;;;
+BE5F;HANGUL SYLLABLE BIH;Lo;0;L;;;;;N;;;;;
+BE60;HANGUL SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
+BE61;HANGUL SYLLABLE BBAG;Lo;0;L;;;;;N;;;;;
+BE62;HANGUL SYLLABLE BBAGG;Lo;0;L;;;;;N;;;;;
+BE63;HANGUL SYLLABLE BBAGS;Lo;0;L;;;;;N;;;;;
+BE64;HANGUL SYLLABLE BBAN;Lo;0;L;;;;;N;;;;;
+BE65;HANGUL SYLLABLE BBANI;Lo;0;L;;;;;N;;;;;
+BE66;HANGUL SYLLABLE BBANH;Lo;0;L;;;;;N;;;;;
+BE67;HANGUL SYLLABLE BBAD;Lo;0;L;;;;;N;;;;;
+BE68;HANGUL SYLLABLE BBAL;Lo;0;L;;;;;N;;;;;
+BE69;HANGUL SYLLABLE BBALG;Lo;0;L;;;;;N;;;;;
+BE6A;HANGUL SYLLABLE BBALM;Lo;0;L;;;;;N;;;;;
+BE6B;HANGUL SYLLABLE BBALB;Lo;0;L;;;;;N;;;;;
+BE6C;HANGUL SYLLABLE BBALS;Lo;0;L;;;;;N;;;;;
+BE6D;HANGUL SYLLABLE BBALT;Lo;0;L;;;;;N;;;;;
+BE6E;HANGUL SYLLABLE BBALP;Lo;0;L;;;;;N;;;;;
+BE6F;HANGUL SYLLABLE BBALH;Lo;0;L;;;;;N;;;;;
+BE70;HANGUL SYLLABLE BBAM;Lo;0;L;;;;;N;;;;;
+BE71;HANGUL SYLLABLE BBAB;Lo;0;L;;;;;N;;;;;
+BE72;HANGUL SYLLABLE BBABS;Lo;0;L;;;;;N;;;;;
+BE73;HANGUL SYLLABLE BBAS;Lo;0;L;;;;;N;;;;;
+BE74;HANGUL SYLLABLE BBASS;Lo;0;L;;;;;N;;;;;
+BE75;HANGUL SYLLABLE BBANG;Lo;0;L;;;;;N;;;;;
+BE76;HANGUL SYLLABLE BBAJ;Lo;0;L;;;;;N;;;;;
+BE77;HANGUL SYLLABLE BBAC;Lo;0;L;;;;;N;;;;;
+BE78;HANGUL SYLLABLE BBAK;Lo;0;L;;;;;N;;;;;
+BE79;HANGUL SYLLABLE BBAT;Lo;0;L;;;;;N;;;;;
+BE7A;HANGUL SYLLABLE BBAP;Lo;0;L;;;;;N;;;;;
+BE7B;HANGUL SYLLABLE BBAH;Lo;0;L;;;;;N;;;;;
+BE7C;HANGUL SYLLABLE BBAE;Lo;0;L;;;;;N;;;;;
+BE7D;HANGUL SYLLABLE BBAEG;Lo;0;L;;;;;N;;;;;
+BE7E;HANGUL SYLLABLE BBAEGG;Lo;0;L;;;;;N;;;;;
+BE7F;HANGUL SYLLABLE BBAEGS;Lo;0;L;;;;;N;;;;;
+BE80;HANGUL SYLLABLE BBAEN;Lo;0;L;;;;;N;;;;;
+BE81;HANGUL SYLLABLE BBAENI;Lo;0;L;;;;;N;;;;;
+BE82;HANGUL SYLLABLE BBAENH;Lo;0;L;;;;;N;;;;;
+BE83;HANGUL SYLLABLE BBAED;Lo;0;L;;;;;N;;;;;
+BE84;HANGUL SYLLABLE BBAEL;Lo;0;L;;;;;N;;;;;
+BE85;HANGUL SYLLABLE BBAELG;Lo;0;L;;;;;N;;;;;
+BE86;HANGUL SYLLABLE BBAELM;Lo;0;L;;;;;N;;;;;
+BE87;HANGUL SYLLABLE BBAELB;Lo;0;L;;;;;N;;;;;
+BE88;HANGUL SYLLABLE BBAELS;Lo;0;L;;;;;N;;;;;
+BE89;HANGUL SYLLABLE BBAELT;Lo;0;L;;;;;N;;;;;
+BE8A;HANGUL SYLLABLE BBAELP;Lo;0;L;;;;;N;;;;;
+BE8B;HANGUL SYLLABLE BBAELH;Lo;0;L;;;;;N;;;;;
+BE8C;HANGUL SYLLABLE BBAEM;Lo;0;L;;;;;N;;;;;
+BE8D;HANGUL SYLLABLE BBAEB;Lo;0;L;;;;;N;;;;;
+BE8E;HANGUL SYLLABLE BBAEBS;Lo;0;L;;;;;N;;;;;
+BE8F;HANGUL SYLLABLE BBAES;Lo;0;L;;;;;N;;;;;
+BE90;HANGUL SYLLABLE BBAESS;Lo;0;L;;;;;N;;;;;
+BE91;HANGUL SYLLABLE BBAENG;Lo;0;L;;;;;N;;;;;
+BE92;HANGUL SYLLABLE BBAEJ;Lo;0;L;;;;;N;;;;;
+BE93;HANGUL SYLLABLE BBAEC;Lo;0;L;;;;;N;;;;;
+BE94;HANGUL SYLLABLE BBAEK;Lo;0;L;;;;;N;;;;;
+BE95;HANGUL SYLLABLE BBAET;Lo;0;L;;;;;N;;;;;
+BE96;HANGUL SYLLABLE BBAEP;Lo;0;L;;;;;N;;;;;
+BE97;HANGUL SYLLABLE BBAEH;Lo;0;L;;;;;N;;;;;
+BE98;HANGUL SYLLABLE BBYA;Lo;0;L;;;;;N;;;;;
+BE99;HANGUL SYLLABLE BBYAG;Lo;0;L;;;;;N;;;;;
+BE9A;HANGUL SYLLABLE BBYAGG;Lo;0;L;;;;;N;;;;;
+BE9B;HANGUL SYLLABLE BBYAGS;Lo;0;L;;;;;N;;;;;
+BE9C;HANGUL SYLLABLE BBYAN;Lo;0;L;;;;;N;;;;;
+BE9D;HANGUL SYLLABLE BBYANI;Lo;0;L;;;;;N;;;;;
+BE9E;HANGUL SYLLABLE BBYANH;Lo;0;L;;;;;N;;;;;
+BE9F;HANGUL SYLLABLE BBYAD;Lo;0;L;;;;;N;;;;;
+BEA0;HANGUL SYLLABLE BBYAL;Lo;0;L;;;;;N;;;;;
+BEA1;HANGUL SYLLABLE BBYALG;Lo;0;L;;;;;N;;;;;
+BEA2;HANGUL SYLLABLE BBYALM;Lo;0;L;;;;;N;;;;;
+BEA3;HANGUL SYLLABLE BBYALB;Lo;0;L;;;;;N;;;;;
+BEA4;HANGUL SYLLABLE BBYALS;Lo;0;L;;;;;N;;;;;
+BEA5;HANGUL SYLLABLE BBYALT;Lo;0;L;;;;;N;;;;;
+BEA6;HANGUL SYLLABLE BBYALP;Lo;0;L;;;;;N;;;;;
+BEA7;HANGUL SYLLABLE BBYALH;Lo;0;L;;;;;N;;;;;
+BEA8;HANGUL SYLLABLE BBYAM;Lo;0;L;;;;;N;;;;;
+BEA9;HANGUL SYLLABLE BBYAB;Lo;0;L;;;;;N;;;;;
+BEAA;HANGUL SYLLABLE BBYABS;Lo;0;L;;;;;N;;;;;
+BEAB;HANGUL SYLLABLE BBYAS;Lo;0;L;;;;;N;;;;;
+BEAC;HANGUL SYLLABLE BBYASS;Lo;0;L;;;;;N;;;;;
+BEAD;HANGUL SYLLABLE BBYANG;Lo;0;L;;;;;N;;;;;
+BEAE;HANGUL SYLLABLE BBYAJ;Lo;0;L;;;;;N;;;;;
+BEAF;HANGUL SYLLABLE BBYAC;Lo;0;L;;;;;N;;;;;
+BEB0;HANGUL SYLLABLE BBYAK;Lo;0;L;;;;;N;;;;;
+BEB1;HANGUL SYLLABLE BBYAT;Lo;0;L;;;;;N;;;;;
+BEB2;HANGUL SYLLABLE BBYAP;Lo;0;L;;;;;N;;;;;
+BEB3;HANGUL SYLLABLE BBYAH;Lo;0;L;;;;;N;;;;;
+BEB4;HANGUL SYLLABLE BBYAE;Lo;0;L;;;;;N;;;;;
+BEB5;HANGUL SYLLABLE BBYAEG;Lo;0;L;;;;;N;;;;;
+BEB6;HANGUL SYLLABLE BBYAEGG;Lo;0;L;;;;;N;;;;;
+BEB7;HANGUL SYLLABLE BBYAEGS;Lo;0;L;;;;;N;;;;;
+BEB8;HANGUL SYLLABLE BBYAEN;Lo;0;L;;;;;N;;;;;
+BEB9;HANGUL SYLLABLE BBYAENI;Lo;0;L;;;;;N;;;;;
+BEBA;HANGUL SYLLABLE BBYAENH;Lo;0;L;;;;;N;;;;;
+BEBB;HANGUL SYLLABLE BBYAED;Lo;0;L;;;;;N;;;;;
+BEBC;HANGUL SYLLABLE BBYAEL;Lo;0;L;;;;;N;;;;;
+BEBD;HANGUL SYLLABLE BBYAELG;Lo;0;L;;;;;N;;;;;
+BEBE;HANGUL SYLLABLE BBYAELM;Lo;0;L;;;;;N;;;;;
+BEBF;HANGUL SYLLABLE BBYAELB;Lo;0;L;;;;;N;;;;;
+BEC0;HANGUL SYLLABLE BBYAELS;Lo;0;L;;;;;N;;;;;
+BEC1;HANGUL SYLLABLE BBYAELT;Lo;0;L;;;;;N;;;;;
+BEC2;HANGUL SYLLABLE BBYAELP;Lo;0;L;;;;;N;;;;;
+BEC3;HANGUL SYLLABLE BBYAELH;Lo;0;L;;;;;N;;;;;
+BEC4;HANGUL SYLLABLE BBYAEM;Lo;0;L;;;;;N;;;;;
+BEC5;HANGUL SYLLABLE BBYAEB;Lo;0;L;;;;;N;;;;;
+BEC6;HANGUL SYLLABLE BBYAEBS;Lo;0;L;;;;;N;;;;;
+BEC7;HANGUL SYLLABLE BBYAES;Lo;0;L;;;;;N;;;;;
+BEC8;HANGUL SYLLABLE BBYAESS;Lo;0;L;;;;;N;;;;;
+BEC9;HANGUL SYLLABLE BBYAENG;Lo;0;L;;;;;N;;;;;
+BECA;HANGUL SYLLABLE BBYAEJ;Lo;0;L;;;;;N;;;;;
+BECB;HANGUL SYLLABLE BBYAEC;Lo;0;L;;;;;N;;;;;
+BECC;HANGUL SYLLABLE BBYAEK;Lo;0;L;;;;;N;;;;;
+BECD;HANGUL SYLLABLE BBYAET;Lo;0;L;;;;;N;;;;;
+BECE;HANGUL SYLLABLE BBYAEP;Lo;0;L;;;;;N;;;;;
+BECF;HANGUL SYLLABLE BBYAEH;Lo;0;L;;;;;N;;;;;
+BED0;HANGUL SYLLABLE BBEO;Lo;0;L;;;;;N;;;;;
+BED1;HANGUL SYLLABLE BBEOG;Lo;0;L;;;;;N;;;;;
+BED2;HANGUL SYLLABLE BBEOGG;Lo;0;L;;;;;N;;;;;
+BED3;HANGUL SYLLABLE BBEOGS;Lo;0;L;;;;;N;;;;;
+BED4;HANGUL SYLLABLE BBEON;Lo;0;L;;;;;N;;;;;
+BED5;HANGUL SYLLABLE BBEONI;Lo;0;L;;;;;N;;;;;
+BED6;HANGUL SYLLABLE BBEONH;Lo;0;L;;;;;N;;;;;
+BED7;HANGUL SYLLABLE BBEOD;Lo;0;L;;;;;N;;;;;
+BED8;HANGUL SYLLABLE BBEOL;Lo;0;L;;;;;N;;;;;
+BED9;HANGUL SYLLABLE BBEOLG;Lo;0;L;;;;;N;;;;;
+BEDA;HANGUL SYLLABLE BBEOLM;Lo;0;L;;;;;N;;;;;
+BEDB;HANGUL SYLLABLE BBEOLB;Lo;0;L;;;;;N;;;;;
+BEDC;HANGUL SYLLABLE BBEOLS;Lo;0;L;;;;;N;;;;;
+BEDD;HANGUL SYLLABLE BBEOLT;Lo;0;L;;;;;N;;;;;
+BEDE;HANGUL SYLLABLE BBEOLP;Lo;0;L;;;;;N;;;;;
+BEDF;HANGUL SYLLABLE BBEOLH;Lo;0;L;;;;;N;;;;;
+BEE0;HANGUL SYLLABLE BBEOM;Lo;0;L;;;;;N;;;;;
+BEE1;HANGUL SYLLABLE BBEOB;Lo;0;L;;;;;N;;;;;
+BEE2;HANGUL SYLLABLE BBEOBS;Lo;0;L;;;;;N;;;;;
+BEE3;HANGUL SYLLABLE BBEOS;Lo;0;L;;;;;N;;;;;
+BEE4;HANGUL SYLLABLE BBEOSS;Lo;0;L;;;;;N;;;;;
+BEE5;HANGUL SYLLABLE BBEONG;Lo;0;L;;;;;N;;;;;
+BEE6;HANGUL SYLLABLE BBEOJ;Lo;0;L;;;;;N;;;;;
+BEE7;HANGUL SYLLABLE BBEOC;Lo;0;L;;;;;N;;;;;
+BEE8;HANGUL SYLLABLE BBEOK;Lo;0;L;;;;;N;;;;;
+BEE9;HANGUL SYLLABLE BBEOT;Lo;0;L;;;;;N;;;;;
+BEEA;HANGUL SYLLABLE BBEOP;Lo;0;L;;;;;N;;;;;
+BEEB;HANGUL SYLLABLE BBEOH;Lo;0;L;;;;;N;;;;;
+BEEC;HANGUL SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
+BEED;HANGUL SYLLABLE BBEG;Lo;0;L;;;;;N;;;;;
+BEEE;HANGUL SYLLABLE BBEGG;Lo;0;L;;;;;N;;;;;
+BEEF;HANGUL SYLLABLE BBEGS;Lo;0;L;;;;;N;;;;;
+BEF0;HANGUL SYLLABLE BBEN;Lo;0;L;;;;;N;;;;;
+BEF1;HANGUL SYLLABLE BBENI;Lo;0;L;;;;;N;;;;;
+BEF2;HANGUL SYLLABLE BBENH;Lo;0;L;;;;;N;;;;;
+BEF3;HANGUL SYLLABLE BBED;Lo;0;L;;;;;N;;;;;
+BEF4;HANGUL SYLLABLE BBEL;Lo;0;L;;;;;N;;;;;
+BEF5;HANGUL SYLLABLE BBELG;Lo;0;L;;;;;N;;;;;
+BEF6;HANGUL SYLLABLE BBELM;Lo;0;L;;;;;N;;;;;
+BEF7;HANGUL SYLLABLE BBELB;Lo;0;L;;;;;N;;;;;
+BEF8;HANGUL SYLLABLE BBELS;Lo;0;L;;;;;N;;;;;
+BEF9;HANGUL SYLLABLE BBELT;Lo;0;L;;;;;N;;;;;
+BEFA;HANGUL SYLLABLE BBELP;Lo;0;L;;;;;N;;;;;
+BEFB;HANGUL SYLLABLE BBELH;Lo;0;L;;;;;N;;;;;
+BEFC;HANGUL SYLLABLE BBEM;Lo;0;L;;;;;N;;;;;
+BEFD;HANGUL SYLLABLE BBEB;Lo;0;L;;;;;N;;;;;
+BEFE;HANGUL SYLLABLE BBEBS;Lo;0;L;;;;;N;;;;;
+BEFF;HANGUL SYLLABLE BBES;Lo;0;L;;;;;N;;;;;
+BF00;HANGUL SYLLABLE BBESS;Lo;0;L;;;;;N;;;;;
+BF01;HANGUL SYLLABLE BBENG;Lo;0;L;;;;;N;;;;;
+BF02;HANGUL SYLLABLE BBEJ;Lo;0;L;;;;;N;;;;;
+BF03;HANGUL SYLLABLE BBEC;Lo;0;L;;;;;N;;;;;
+BF04;HANGUL SYLLABLE BBEK;Lo;0;L;;;;;N;;;;;
+BF05;HANGUL SYLLABLE BBET;Lo;0;L;;;;;N;;;;;
+BF06;HANGUL SYLLABLE BBEP;Lo;0;L;;;;;N;;;;;
+BF07;HANGUL SYLLABLE BBEH;Lo;0;L;;;;;N;;;;;
+BF08;HANGUL SYLLABLE BBYEO;Lo;0;L;;;;;N;;;;;
+BF09;HANGUL SYLLABLE BBYEOG;Lo;0;L;;;;;N;;;;;
+BF0A;HANGUL SYLLABLE BBYEOGG;Lo;0;L;;;;;N;;;;;
+BF0B;HANGUL SYLLABLE BBYEOGS;Lo;0;L;;;;;N;;;;;
+BF0C;HANGUL SYLLABLE BBYEON;Lo;0;L;;;;;N;;;;;
+BF0D;HANGUL SYLLABLE BBYEONI;Lo;0;L;;;;;N;;;;;
+BF0E;HANGUL SYLLABLE BBYEONH;Lo;0;L;;;;;N;;;;;
+BF0F;HANGUL SYLLABLE BBYEOD;Lo;0;L;;;;;N;;;;;
+BF10;HANGUL SYLLABLE BBYEOL;Lo;0;L;;;;;N;;;;;
+BF11;HANGUL SYLLABLE BBYEOLG;Lo;0;L;;;;;N;;;;;
+BF12;HANGUL SYLLABLE BBYEOLM;Lo;0;L;;;;;N;;;;;
+BF13;HANGUL SYLLABLE BBYEOLB;Lo;0;L;;;;;N;;;;;
+BF14;HANGUL SYLLABLE BBYEOLS;Lo;0;L;;;;;N;;;;;
+BF15;HANGUL SYLLABLE BBYEOLT;Lo;0;L;;;;;N;;;;;
+BF16;HANGUL SYLLABLE BBYEOLP;Lo;0;L;;;;;N;;;;;
+BF17;HANGUL SYLLABLE BBYEOLH;Lo;0;L;;;;;N;;;;;
+BF18;HANGUL SYLLABLE BBYEOM;Lo;0;L;;;;;N;;;;;
+BF19;HANGUL SYLLABLE BBYEOB;Lo;0;L;;;;;N;;;;;
+BF1A;HANGUL SYLLABLE BBYEOBS;Lo;0;L;;;;;N;;;;;
+BF1B;HANGUL SYLLABLE BBYEOS;Lo;0;L;;;;;N;;;;;
+BF1C;HANGUL SYLLABLE BBYEOSS;Lo;0;L;;;;;N;;;;;
+BF1D;HANGUL SYLLABLE BBYEONG;Lo;0;L;;;;;N;;;;;
+BF1E;HANGUL SYLLABLE BBYEOJ;Lo;0;L;;;;;N;;;;;
+BF1F;HANGUL SYLLABLE BBYEOC;Lo;0;L;;;;;N;;;;;
+BF20;HANGUL SYLLABLE BBYEOK;Lo;0;L;;;;;N;;;;;
+BF21;HANGUL SYLLABLE BBYEOT;Lo;0;L;;;;;N;;;;;
+BF22;HANGUL SYLLABLE BBYEOP;Lo;0;L;;;;;N;;;;;
+BF23;HANGUL SYLLABLE BBYEOH;Lo;0;L;;;;;N;;;;;
+BF24;HANGUL SYLLABLE BBYE;Lo;0;L;;;;;N;;;;;
+BF25;HANGUL SYLLABLE BBYEG;Lo;0;L;;;;;N;;;;;
+BF26;HANGUL SYLLABLE BBYEGG;Lo;0;L;;;;;N;;;;;
+BF27;HANGUL SYLLABLE BBYEGS;Lo;0;L;;;;;N;;;;;
+BF28;HANGUL SYLLABLE BBYEN;Lo;0;L;;;;;N;;;;;
+BF29;HANGUL SYLLABLE BBYENI;Lo;0;L;;;;;N;;;;;
+BF2A;HANGUL SYLLABLE BBYENH;Lo;0;L;;;;;N;;;;;
+BF2B;HANGUL SYLLABLE BBYED;Lo;0;L;;;;;N;;;;;
+BF2C;HANGUL SYLLABLE BBYEL;Lo;0;L;;;;;N;;;;;
+BF2D;HANGUL SYLLABLE BBYELG;Lo;0;L;;;;;N;;;;;
+BF2E;HANGUL SYLLABLE BBYELM;Lo;0;L;;;;;N;;;;;
+BF2F;HANGUL SYLLABLE BBYELB;Lo;0;L;;;;;N;;;;;
+BF30;HANGUL SYLLABLE BBYELS;Lo;0;L;;;;;N;;;;;
+BF31;HANGUL SYLLABLE BBYELT;Lo;0;L;;;;;N;;;;;
+BF32;HANGUL SYLLABLE BBYELP;Lo;0;L;;;;;N;;;;;
+BF33;HANGUL SYLLABLE BBYELH;Lo;0;L;;;;;N;;;;;
+BF34;HANGUL SYLLABLE BBYEM;Lo;0;L;;;;;N;;;;;
+BF35;HANGUL SYLLABLE BBYEB;Lo;0;L;;;;;N;;;;;
+BF36;HANGUL SYLLABLE BBYEBS;Lo;0;L;;;;;N;;;;;
+BF37;HANGUL SYLLABLE BBYES;Lo;0;L;;;;;N;;;;;
+BF38;HANGUL SYLLABLE BBYESS;Lo;0;L;;;;;N;;;;;
+BF39;HANGUL SYLLABLE BBYENG;Lo;0;L;;;;;N;;;;;
+BF3A;HANGUL SYLLABLE BBYEJ;Lo;0;L;;;;;N;;;;;
+BF3B;HANGUL SYLLABLE BBYEC;Lo;0;L;;;;;N;;;;;
+BF3C;HANGUL SYLLABLE BBYEK;Lo;0;L;;;;;N;;;;;
+BF3D;HANGUL SYLLABLE BBYET;Lo;0;L;;;;;N;;;;;
+BF3E;HANGUL SYLLABLE BBYEP;Lo;0;L;;;;;N;;;;;
+BF3F;HANGUL SYLLABLE BBYEH;Lo;0;L;;;;;N;;;;;
+BF40;HANGUL SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
+BF41;HANGUL SYLLABLE BBOG;Lo;0;L;;;;;N;;;;;
+BF42;HANGUL SYLLABLE BBOGG;Lo;0;L;;;;;N;;;;;
+BF43;HANGUL SYLLABLE BBOGS;Lo;0;L;;;;;N;;;;;
+BF44;HANGUL SYLLABLE BBON;Lo;0;L;;;;;N;;;;;
+BF45;HANGUL SYLLABLE BBONI;Lo;0;L;;;;;N;;;;;
+BF46;HANGUL SYLLABLE BBONH;Lo;0;L;;;;;N;;;;;
+BF47;HANGUL SYLLABLE BBOD;Lo;0;L;;;;;N;;;;;
+BF48;HANGUL SYLLABLE BBOL;Lo;0;L;;;;;N;;;;;
+BF49;HANGUL SYLLABLE BBOLG;Lo;0;L;;;;;N;;;;;
+BF4A;HANGUL SYLLABLE BBOLM;Lo;0;L;;;;;N;;;;;
+BF4B;HANGUL SYLLABLE BBOLB;Lo;0;L;;;;;N;;;;;
+BF4C;HANGUL SYLLABLE BBOLS;Lo;0;L;;;;;N;;;;;
+BF4D;HANGUL SYLLABLE BBOLT;Lo;0;L;;;;;N;;;;;
+BF4E;HANGUL SYLLABLE BBOLP;Lo;0;L;;;;;N;;;;;
+BF4F;HANGUL SYLLABLE BBOLH;Lo;0;L;;;;;N;;;;;
+BF50;HANGUL SYLLABLE BBOM;Lo;0;L;;;;;N;;;;;
+BF51;HANGUL SYLLABLE BBOB;Lo;0;L;;;;;N;;;;;
+BF52;HANGUL SYLLABLE BBOBS;Lo;0;L;;;;;N;;;;;
+BF53;HANGUL SYLLABLE BBOS;Lo;0;L;;;;;N;;;;;
+BF54;HANGUL SYLLABLE BBOSS;Lo;0;L;;;;;N;;;;;
+BF55;HANGUL SYLLABLE BBONG;Lo;0;L;;;;;N;;;;;
+BF56;HANGUL SYLLABLE BBOJ;Lo;0;L;;;;;N;;;;;
+BF57;HANGUL SYLLABLE BBOC;Lo;0;L;;;;;N;;;;;
+BF58;HANGUL SYLLABLE BBOK;Lo;0;L;;;;;N;;;;;
+BF59;HANGUL SYLLABLE BBOT;Lo;0;L;;;;;N;;;;;
+BF5A;HANGUL SYLLABLE BBOP;Lo;0;L;;;;;N;;;;;
+BF5B;HANGUL SYLLABLE BBOH;Lo;0;L;;;;;N;;;;;
+BF5C;HANGUL SYLLABLE BBWA;Lo;0;L;;;;;N;;;;;
+BF5D;HANGUL SYLLABLE BBWAG;Lo;0;L;;;;;N;;;;;
+BF5E;HANGUL SYLLABLE BBWAGG;Lo;0;L;;;;;N;;;;;
+BF5F;HANGUL SYLLABLE BBWAGS;Lo;0;L;;;;;N;;;;;
+BF60;HANGUL SYLLABLE BBWAN;Lo;0;L;;;;;N;;;;;
+BF61;HANGUL SYLLABLE BBWANI;Lo;0;L;;;;;N;;;;;
+BF62;HANGUL SYLLABLE BBWANH;Lo;0;L;;;;;N;;;;;
+BF63;HANGUL SYLLABLE BBWAD;Lo;0;L;;;;;N;;;;;
+BF64;HANGUL SYLLABLE BBWAL;Lo;0;L;;;;;N;;;;;
+BF65;HANGUL SYLLABLE BBWALG;Lo;0;L;;;;;N;;;;;
+BF66;HANGUL SYLLABLE BBWALM;Lo;0;L;;;;;N;;;;;
+BF67;HANGUL SYLLABLE BBWALB;Lo;0;L;;;;;N;;;;;
+BF68;HANGUL SYLLABLE BBWALS;Lo;0;L;;;;;N;;;;;
+BF69;HANGUL SYLLABLE BBWALT;Lo;0;L;;;;;N;;;;;
+BF6A;HANGUL SYLLABLE BBWALP;Lo;0;L;;;;;N;;;;;
+BF6B;HANGUL SYLLABLE BBWALH;Lo;0;L;;;;;N;;;;;
+BF6C;HANGUL SYLLABLE BBWAM;Lo;0;L;;;;;N;;;;;
+BF6D;HANGUL SYLLABLE BBWAB;Lo;0;L;;;;;N;;;;;
+BF6E;HANGUL SYLLABLE BBWABS;Lo;0;L;;;;;N;;;;;
+BF6F;HANGUL SYLLABLE BBWAS;Lo;0;L;;;;;N;;;;;
+BF70;HANGUL SYLLABLE BBWASS;Lo;0;L;;;;;N;;;;;
+BF71;HANGUL SYLLABLE BBWANG;Lo;0;L;;;;;N;;;;;
+BF72;HANGUL SYLLABLE BBWAJ;Lo;0;L;;;;;N;;;;;
+BF73;HANGUL SYLLABLE BBWAC;Lo;0;L;;;;;N;;;;;
+BF74;HANGUL SYLLABLE BBWAK;Lo;0;L;;;;;N;;;;;
+BF75;HANGUL SYLLABLE BBWAT;Lo;0;L;;;;;N;;;;;
+BF76;HANGUL SYLLABLE BBWAP;Lo;0;L;;;;;N;;;;;
+BF77;HANGUL SYLLABLE BBWAH;Lo;0;L;;;;;N;;;;;
+BF78;HANGUL SYLLABLE BBWAE;Lo;0;L;;;;;N;;;;;
+BF79;HANGUL SYLLABLE BBWAEG;Lo;0;L;;;;;N;;;;;
+BF7A;HANGUL SYLLABLE BBWAEGG;Lo;0;L;;;;;N;;;;;
+BF7B;HANGUL SYLLABLE BBWAEGS;Lo;0;L;;;;;N;;;;;
+BF7C;HANGUL SYLLABLE BBWAEN;Lo;0;L;;;;;N;;;;;
+BF7D;HANGUL SYLLABLE BBWAENI;Lo;0;L;;;;;N;;;;;
+BF7E;HANGUL SYLLABLE BBWAENH;Lo;0;L;;;;;N;;;;;
+BF7F;HANGUL SYLLABLE BBWAED;Lo;0;L;;;;;N;;;;;
+BF80;HANGUL SYLLABLE BBWAEL;Lo;0;L;;;;;N;;;;;
+BF81;HANGUL SYLLABLE BBWAELG;Lo;0;L;;;;;N;;;;;
+BF82;HANGUL SYLLABLE BBWAELM;Lo;0;L;;;;;N;;;;;
+BF83;HANGUL SYLLABLE BBWAELB;Lo;0;L;;;;;N;;;;;
+BF84;HANGUL SYLLABLE BBWAELS;Lo;0;L;;;;;N;;;;;
+BF85;HANGUL SYLLABLE BBWAELT;Lo;0;L;;;;;N;;;;;
+BF86;HANGUL SYLLABLE BBWAELP;Lo;0;L;;;;;N;;;;;
+BF87;HANGUL SYLLABLE BBWAELH;Lo;0;L;;;;;N;;;;;
+BF88;HANGUL SYLLABLE BBWAEM;Lo;0;L;;;;;N;;;;;
+BF89;HANGUL SYLLABLE BBWAEB;Lo;0;L;;;;;N;;;;;
+BF8A;HANGUL SYLLABLE BBWAEBS;Lo;0;L;;;;;N;;;;;
+BF8B;HANGUL SYLLABLE BBWAES;Lo;0;L;;;;;N;;;;;
+BF8C;HANGUL SYLLABLE BBWAESS;Lo;0;L;;;;;N;;;;;
+BF8D;HANGUL SYLLABLE BBWAENG;Lo;0;L;;;;;N;;;;;
+BF8E;HANGUL SYLLABLE BBWAEJ;Lo;0;L;;;;;N;;;;;
+BF8F;HANGUL SYLLABLE BBWAEC;Lo;0;L;;;;;N;;;;;
+BF90;HANGUL SYLLABLE BBWAEK;Lo;0;L;;;;;N;;;;;
+BF91;HANGUL SYLLABLE BBWAET;Lo;0;L;;;;;N;;;;;
+BF92;HANGUL SYLLABLE BBWAEP;Lo;0;L;;;;;N;;;;;
+BF93;HANGUL SYLLABLE BBWAEH;Lo;0;L;;;;;N;;;;;
+BF94;HANGUL SYLLABLE BBOE;Lo;0;L;;;;;N;;;;;
+BF95;HANGUL SYLLABLE BBOEG;Lo;0;L;;;;;N;;;;;
+BF96;HANGUL SYLLABLE BBOEGG;Lo;0;L;;;;;N;;;;;
+BF97;HANGUL SYLLABLE BBOEGS;Lo;0;L;;;;;N;;;;;
+BF98;HANGUL SYLLABLE BBOEN;Lo;0;L;;;;;N;;;;;
+BF99;HANGUL SYLLABLE BBOENI;Lo;0;L;;;;;N;;;;;
+BF9A;HANGUL SYLLABLE BBOENH;Lo;0;L;;;;;N;;;;;
+BF9B;HANGUL SYLLABLE BBOED;Lo;0;L;;;;;N;;;;;
+BF9C;HANGUL SYLLABLE BBOEL;Lo;0;L;;;;;N;;;;;
+BF9D;HANGUL SYLLABLE BBOELG;Lo;0;L;;;;;N;;;;;
+BF9E;HANGUL SYLLABLE BBOELM;Lo;0;L;;;;;N;;;;;
+BF9F;HANGUL SYLLABLE BBOELB;Lo;0;L;;;;;N;;;;;
+BFA0;HANGUL SYLLABLE BBOELS;Lo;0;L;;;;;N;;;;;
+BFA1;HANGUL SYLLABLE BBOELT;Lo;0;L;;;;;N;;;;;
+BFA2;HANGUL SYLLABLE BBOELP;Lo;0;L;;;;;N;;;;;
+BFA3;HANGUL SYLLABLE BBOELH;Lo;0;L;;;;;N;;;;;
+BFA4;HANGUL SYLLABLE BBOEM;Lo;0;L;;;;;N;;;;;
+BFA5;HANGUL SYLLABLE BBOEB;Lo;0;L;;;;;N;;;;;
+BFA6;HANGUL SYLLABLE BBOEBS;Lo;0;L;;;;;N;;;;;
+BFA7;HANGUL SYLLABLE BBOES;Lo;0;L;;;;;N;;;;;
+BFA8;HANGUL SYLLABLE BBOESS;Lo;0;L;;;;;N;;;;;
+BFA9;HANGUL SYLLABLE BBOENG;Lo;0;L;;;;;N;;;;;
+BFAA;HANGUL SYLLABLE BBOEJ;Lo;0;L;;;;;N;;;;;
+BFAB;HANGUL SYLLABLE BBOEC;Lo;0;L;;;;;N;;;;;
+BFAC;HANGUL SYLLABLE BBOEK;Lo;0;L;;;;;N;;;;;
+BFAD;HANGUL SYLLABLE BBOET;Lo;0;L;;;;;N;;;;;
+BFAE;HANGUL SYLLABLE BBOEP;Lo;0;L;;;;;N;;;;;
+BFAF;HANGUL SYLLABLE BBOEH;Lo;0;L;;;;;N;;;;;
+BFB0;HANGUL SYLLABLE BBYO;Lo;0;L;;;;;N;;;;;
+BFB1;HANGUL SYLLABLE BBYOG;Lo;0;L;;;;;N;;;;;
+BFB2;HANGUL SYLLABLE BBYOGG;Lo;0;L;;;;;N;;;;;
+BFB3;HANGUL SYLLABLE BBYOGS;Lo;0;L;;;;;N;;;;;
+BFB4;HANGUL SYLLABLE BBYON;Lo;0;L;;;;;N;;;;;
+BFB5;HANGUL SYLLABLE BBYONI;Lo;0;L;;;;;N;;;;;
+BFB6;HANGUL SYLLABLE BBYONH;Lo;0;L;;;;;N;;;;;
+BFB7;HANGUL SYLLABLE BBYOD;Lo;0;L;;;;;N;;;;;
+BFB8;HANGUL SYLLABLE BBYOL;Lo;0;L;;;;;N;;;;;
+BFB9;HANGUL SYLLABLE BBYOLG;Lo;0;L;;;;;N;;;;;
+BFBA;HANGUL SYLLABLE BBYOLM;Lo;0;L;;;;;N;;;;;
+BFBB;HANGUL SYLLABLE BBYOLB;Lo;0;L;;;;;N;;;;;
+BFBC;HANGUL SYLLABLE BBYOLS;Lo;0;L;;;;;N;;;;;
+BFBD;HANGUL SYLLABLE BBYOLT;Lo;0;L;;;;;N;;;;;
+BFBE;HANGUL SYLLABLE BBYOLP;Lo;0;L;;;;;N;;;;;
+BFBF;HANGUL SYLLABLE BBYOLH;Lo;0;L;;;;;N;;;;;
+BFC0;HANGUL SYLLABLE BBYOM;Lo;0;L;;;;;N;;;;;
+BFC1;HANGUL SYLLABLE BBYOB;Lo;0;L;;;;;N;;;;;
+BFC2;HANGUL SYLLABLE BBYOBS;Lo;0;L;;;;;N;;;;;
+BFC3;HANGUL SYLLABLE BBYOS;Lo;0;L;;;;;N;;;;;
+BFC4;HANGUL SYLLABLE BBYOSS;Lo;0;L;;;;;N;;;;;
+BFC5;HANGUL SYLLABLE BBYONG;Lo;0;L;;;;;N;;;;;
+BFC6;HANGUL SYLLABLE BBYOJ;Lo;0;L;;;;;N;;;;;
+BFC7;HANGUL SYLLABLE BBYOC;Lo;0;L;;;;;N;;;;;
+BFC8;HANGUL SYLLABLE BBYOK;Lo;0;L;;;;;N;;;;;
+BFC9;HANGUL SYLLABLE BBYOT;Lo;0;L;;;;;N;;;;;
+BFCA;HANGUL SYLLABLE BBYOP;Lo;0;L;;;;;N;;;;;
+BFCB;HANGUL SYLLABLE BBYOH;Lo;0;L;;;;;N;;;;;
+BFCC;HANGUL SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
+BFCD;HANGUL SYLLABLE BBUG;Lo;0;L;;;;;N;;;;;
+BFCE;HANGUL SYLLABLE BBUGG;Lo;0;L;;;;;N;;;;;
+BFCF;HANGUL SYLLABLE BBUGS;Lo;0;L;;;;;N;;;;;
+BFD0;HANGUL SYLLABLE BBUN;Lo;0;L;;;;;N;;;;;
+BFD1;HANGUL SYLLABLE BBUNI;Lo;0;L;;;;;N;;;;;
+BFD2;HANGUL SYLLABLE BBUNH;Lo;0;L;;;;;N;;;;;
+BFD3;HANGUL SYLLABLE BBUD;Lo;0;L;;;;;N;;;;;
+BFD4;HANGUL SYLLABLE BBUL;Lo;0;L;;;;;N;;;;;
+BFD5;HANGUL SYLLABLE BBULG;Lo;0;L;;;;;N;;;;;
+BFD6;HANGUL SYLLABLE BBULM;Lo;0;L;;;;;N;;;;;
+BFD7;HANGUL SYLLABLE BBULB;Lo;0;L;;;;;N;;;;;
+BFD8;HANGUL SYLLABLE BBULS;Lo;0;L;;;;;N;;;;;
+BFD9;HANGUL SYLLABLE BBULT;Lo;0;L;;;;;N;;;;;
+BFDA;HANGUL SYLLABLE BBULP;Lo;0;L;;;;;N;;;;;
+BFDB;HANGUL SYLLABLE BBULH;Lo;0;L;;;;;N;;;;;
+BFDC;HANGUL SYLLABLE BBUM;Lo;0;L;;;;;N;;;;;
+BFDD;HANGUL SYLLABLE BBUB;Lo;0;L;;;;;N;;;;;
+BFDE;HANGUL SYLLABLE BBUBS;Lo;0;L;;;;;N;;;;;
+BFDF;HANGUL SYLLABLE BBUS;Lo;0;L;;;;;N;;;;;
+BFE0;HANGUL SYLLABLE BBUSS;Lo;0;L;;;;;N;;;;;
+BFE1;HANGUL SYLLABLE BBUNG;Lo;0;L;;;;;N;;;;;
+BFE2;HANGUL SYLLABLE BBUJ;Lo;0;L;;;;;N;;;;;
+BFE3;HANGUL SYLLABLE BBUC;Lo;0;L;;;;;N;;;;;
+BFE4;HANGUL SYLLABLE BBUK;Lo;0;L;;;;;N;;;;;
+BFE5;HANGUL SYLLABLE BBUT;Lo;0;L;;;;;N;;;;;
+BFE6;HANGUL SYLLABLE BBUP;Lo;0;L;;;;;N;;;;;
+BFE7;HANGUL SYLLABLE BBUH;Lo;0;L;;;;;N;;;;;
+BFE8;HANGUL SYLLABLE BBWEO;Lo;0;L;;;;;N;;;;;
+BFE9;HANGUL SYLLABLE BBWEOG;Lo;0;L;;;;;N;;;;;
+BFEA;HANGUL SYLLABLE BBWEOGG;Lo;0;L;;;;;N;;;;;
+BFEB;HANGUL SYLLABLE BBWEOGS;Lo;0;L;;;;;N;;;;;
+BFEC;HANGUL SYLLABLE BBWEON;Lo;0;L;;;;;N;;;;;
+BFED;HANGUL SYLLABLE BBWEONI;Lo;0;L;;;;;N;;;;;
+BFEE;HANGUL SYLLABLE BBWEONH;Lo;0;L;;;;;N;;;;;
+BFEF;HANGUL SYLLABLE BBWEOD;Lo;0;L;;;;;N;;;;;
+BFF0;HANGUL SYLLABLE BBWEOL;Lo;0;L;;;;;N;;;;;
+BFF1;HANGUL SYLLABLE BBWEOLG;Lo;0;L;;;;;N;;;;;
+BFF2;HANGUL SYLLABLE BBWEOLM;Lo;0;L;;;;;N;;;;;
+BFF3;HANGUL SYLLABLE BBWEOLB;Lo;0;L;;;;;N;;;;;
+BFF4;HANGUL SYLLABLE BBWEOLS;Lo;0;L;;;;;N;;;;;
+BFF5;HANGUL SYLLABLE BBWEOLT;Lo;0;L;;;;;N;;;;;
+BFF6;HANGUL SYLLABLE BBWEOLP;Lo;0;L;;;;;N;;;;;
+BFF7;HANGUL SYLLABLE BBWEOLH;Lo;0;L;;;;;N;;;;;
+BFF8;HANGUL SYLLABLE BBWEOM;Lo;0;L;;;;;N;;;;;
+BFF9;HANGUL SYLLABLE BBWEOB;Lo;0;L;;;;;N;;;;;
+BFFA;HANGUL SYLLABLE BBWEOBS;Lo;0;L;;;;;N;;;;;
+BFFB;HANGUL SYLLABLE BBWEOS;Lo;0;L;;;;;N;;;;;
+BFFC;HANGUL SYLLABLE BBWEOSS;Lo;0;L;;;;;N;;;;;
+BFFD;HANGUL SYLLABLE BBWEONG;Lo;0;L;;;;;N;;;;;
+BFFE;HANGUL SYLLABLE BBWEOJ;Lo;0;L;;;;;N;;;;;
+BFFF;HANGUL SYLLABLE BBWEOC;Lo;0;L;;;;;N;;;;;
+C000;HANGUL SYLLABLE BBWEOK;Lo;0;L;;;;;N;;;;;
+C001;HANGUL SYLLABLE BBWEOT;Lo;0;L;;;;;N;;;;;
+C002;HANGUL SYLLABLE BBWEOP;Lo;0;L;;;;;N;;;;;
+C003;HANGUL SYLLABLE BBWEOH;Lo;0;L;;;;;N;;;;;
+C004;HANGUL SYLLABLE BBWE;Lo;0;L;;;;;N;;;;;
+C005;HANGUL SYLLABLE BBWEG;Lo;0;L;;;;;N;;;;;
+C006;HANGUL SYLLABLE BBWEGG;Lo;0;L;;;;;N;;;;;
+C007;HANGUL SYLLABLE BBWEGS;Lo;0;L;;;;;N;;;;;
+C008;HANGUL SYLLABLE BBWEN;Lo;0;L;;;;;N;;;;;
+C009;HANGUL SYLLABLE BBWENI;Lo;0;L;;;;;N;;;;;
+C00A;HANGUL SYLLABLE BBWENH;Lo;0;L;;;;;N;;;;;
+C00B;HANGUL SYLLABLE BBWED;Lo;0;L;;;;;N;;;;;
+C00C;HANGUL SYLLABLE BBWEL;Lo;0;L;;;;;N;;;;;
+C00D;HANGUL SYLLABLE BBWELG;Lo;0;L;;;;;N;;;;;
+C00E;HANGUL SYLLABLE BBWELM;Lo;0;L;;;;;N;;;;;
+C00F;HANGUL SYLLABLE BBWELB;Lo;0;L;;;;;N;;;;;
+C010;HANGUL SYLLABLE BBWELS;Lo;0;L;;;;;N;;;;;
+C011;HANGUL SYLLABLE BBWELT;Lo;0;L;;;;;N;;;;;
+C012;HANGUL SYLLABLE BBWELP;Lo;0;L;;;;;N;;;;;
+C013;HANGUL SYLLABLE BBWELH;Lo;0;L;;;;;N;;;;;
+C014;HANGUL SYLLABLE BBWEM;Lo;0;L;;;;;N;;;;;
+C015;HANGUL SYLLABLE BBWEB;Lo;0;L;;;;;N;;;;;
+C016;HANGUL SYLLABLE BBWEBS;Lo;0;L;;;;;N;;;;;
+C017;HANGUL SYLLABLE BBWES;Lo;0;L;;;;;N;;;;;
+C018;HANGUL SYLLABLE BBWESS;Lo;0;L;;;;;N;;;;;
+C019;HANGUL SYLLABLE BBWENG;Lo;0;L;;;;;N;;;;;
+C01A;HANGUL SYLLABLE BBWEJ;Lo;0;L;;;;;N;;;;;
+C01B;HANGUL SYLLABLE BBWEC;Lo;0;L;;;;;N;;;;;
+C01C;HANGUL SYLLABLE BBWEK;Lo;0;L;;;;;N;;;;;
+C01D;HANGUL SYLLABLE BBWET;Lo;0;L;;;;;N;;;;;
+C01E;HANGUL SYLLABLE BBWEP;Lo;0;L;;;;;N;;;;;
+C01F;HANGUL SYLLABLE BBWEH;Lo;0;L;;;;;N;;;;;
+C020;HANGUL SYLLABLE BBWI;Lo;0;L;;;;;N;;;;;
+C021;HANGUL SYLLABLE BBWIG;Lo;0;L;;;;;N;;;;;
+C022;HANGUL SYLLABLE BBWIGG;Lo;0;L;;;;;N;;;;;
+C023;HANGUL SYLLABLE BBWIGS;Lo;0;L;;;;;N;;;;;
+C024;HANGUL SYLLABLE BBWIN;Lo;0;L;;;;;N;;;;;
+C025;HANGUL SYLLABLE BBWINI;Lo;0;L;;;;;N;;;;;
+C026;HANGUL SYLLABLE BBWINH;Lo;0;L;;;;;N;;;;;
+C027;HANGUL SYLLABLE BBWID;Lo;0;L;;;;;N;;;;;
+C028;HANGUL SYLLABLE BBWIL;Lo;0;L;;;;;N;;;;;
+C029;HANGUL SYLLABLE BBWILG;Lo;0;L;;;;;N;;;;;
+C02A;HANGUL SYLLABLE BBWILM;Lo;0;L;;;;;N;;;;;
+C02B;HANGUL SYLLABLE BBWILB;Lo;0;L;;;;;N;;;;;
+C02C;HANGUL SYLLABLE BBWILS;Lo;0;L;;;;;N;;;;;
+C02D;HANGUL SYLLABLE BBWILT;Lo;0;L;;;;;N;;;;;
+C02E;HANGUL SYLLABLE BBWILP;Lo;0;L;;;;;N;;;;;
+C02F;HANGUL SYLLABLE BBWILH;Lo;0;L;;;;;N;;;;;
+C030;HANGUL SYLLABLE BBWIM;Lo;0;L;;;;;N;;;;;
+C031;HANGUL SYLLABLE BBWIB;Lo;0;L;;;;;N;;;;;
+C032;HANGUL SYLLABLE BBWIBS;Lo;0;L;;;;;N;;;;;
+C033;HANGUL SYLLABLE BBWIS;Lo;0;L;;;;;N;;;;;
+C034;HANGUL SYLLABLE BBWISS;Lo;0;L;;;;;N;;;;;
+C035;HANGUL SYLLABLE BBWING;Lo;0;L;;;;;N;;;;;
+C036;HANGUL SYLLABLE BBWIJ;Lo;0;L;;;;;N;;;;;
+C037;HANGUL SYLLABLE BBWIC;Lo;0;L;;;;;N;;;;;
+C038;HANGUL SYLLABLE BBWIK;Lo;0;L;;;;;N;;;;;
+C039;HANGUL SYLLABLE BBWIT;Lo;0;L;;;;;N;;;;;
+C03A;HANGUL SYLLABLE BBWIP;Lo;0;L;;;;;N;;;;;
+C03B;HANGUL SYLLABLE BBWIH;Lo;0;L;;;;;N;;;;;
+C03C;HANGUL SYLLABLE BBYU;Lo;0;L;;;;;N;;;;;
+C03D;HANGUL SYLLABLE BBYUG;Lo;0;L;;;;;N;;;;;
+C03E;HANGUL SYLLABLE BBYUGG;Lo;0;L;;;;;N;;;;;
+C03F;HANGUL SYLLABLE BBYUGS;Lo;0;L;;;;;N;;;;;
+C040;HANGUL SYLLABLE BBYUN;Lo;0;L;;;;;N;;;;;
+C041;HANGUL SYLLABLE BBYUNI;Lo;0;L;;;;;N;;;;;
+C042;HANGUL SYLLABLE BBYUNH;Lo;0;L;;;;;N;;;;;
+C043;HANGUL SYLLABLE BBYUD;Lo;0;L;;;;;N;;;;;
+C044;HANGUL SYLLABLE BBYUL;Lo;0;L;;;;;N;;;;;
+C045;HANGUL SYLLABLE BBYULG;Lo;0;L;;;;;N;;;;;
+C046;HANGUL SYLLABLE BBYULM;Lo;0;L;;;;;N;;;;;
+C047;HANGUL SYLLABLE BBYULB;Lo;0;L;;;;;N;;;;;
+C048;HANGUL SYLLABLE BBYULS;Lo;0;L;;;;;N;;;;;
+C049;HANGUL SYLLABLE BBYULT;Lo;0;L;;;;;N;;;;;
+C04A;HANGUL SYLLABLE BBYULP;Lo;0;L;;;;;N;;;;;
+C04B;HANGUL SYLLABLE BBYULH;Lo;0;L;;;;;N;;;;;
+C04C;HANGUL SYLLABLE BBYUM;Lo;0;L;;;;;N;;;;;
+C04D;HANGUL SYLLABLE BBYUB;Lo;0;L;;;;;N;;;;;
+C04E;HANGUL SYLLABLE BBYUBS;Lo;0;L;;;;;N;;;;;
+C04F;HANGUL SYLLABLE BBYUS;Lo;0;L;;;;;N;;;;;
+C050;HANGUL SYLLABLE BBYUSS;Lo;0;L;;;;;N;;;;;
+C051;HANGUL SYLLABLE BBYUNG;Lo;0;L;;;;;N;;;;;
+C052;HANGUL SYLLABLE BBYUJ;Lo;0;L;;;;;N;;;;;
+C053;HANGUL SYLLABLE BBYUC;Lo;0;L;;;;;N;;;;;
+C054;HANGUL SYLLABLE BBYUK;Lo;0;L;;;;;N;;;;;
+C055;HANGUL SYLLABLE BBYUT;Lo;0;L;;;;;N;;;;;
+C056;HANGUL SYLLABLE BBYUP;Lo;0;L;;;;;N;;;;;
+C057;HANGUL SYLLABLE BBYUH;Lo;0;L;;;;;N;;;;;
+C058;HANGUL SYLLABLE BBEU;Lo;0;L;;;;;N;;;;;
+C059;HANGUL SYLLABLE BBEUG;Lo;0;L;;;;;N;;;;;
+C05A;HANGUL SYLLABLE BBEUGG;Lo;0;L;;;;;N;;;;;
+C05B;HANGUL SYLLABLE BBEUGS;Lo;0;L;;;;;N;;;;;
+C05C;HANGUL SYLLABLE BBEUN;Lo;0;L;;;;;N;;;;;
+C05D;HANGUL SYLLABLE BBEUNI;Lo;0;L;;;;;N;;;;;
+C05E;HANGUL SYLLABLE BBEUNH;Lo;0;L;;;;;N;;;;;
+C05F;HANGUL SYLLABLE BBEUD;Lo;0;L;;;;;N;;;;;
+C060;HANGUL SYLLABLE BBEUL;Lo;0;L;;;;;N;;;;;
+C061;HANGUL SYLLABLE BBEULG;Lo;0;L;;;;;N;;;;;
+C062;HANGUL SYLLABLE BBEULM;Lo;0;L;;;;;N;;;;;
+C063;HANGUL SYLLABLE BBEULB;Lo;0;L;;;;;N;;;;;
+C064;HANGUL SYLLABLE BBEULS;Lo;0;L;;;;;N;;;;;
+C065;HANGUL SYLLABLE BBEULT;Lo;0;L;;;;;N;;;;;
+C066;HANGUL SYLLABLE BBEULP;Lo;0;L;;;;;N;;;;;
+C067;HANGUL SYLLABLE BBEULH;Lo;0;L;;;;;N;;;;;
+C068;HANGUL SYLLABLE BBEUM;Lo;0;L;;;;;N;;;;;
+C069;HANGUL SYLLABLE BBEUB;Lo;0;L;;;;;N;;;;;
+C06A;HANGUL SYLLABLE BBEUBS;Lo;0;L;;;;;N;;;;;
+C06B;HANGUL SYLLABLE BBEUS;Lo;0;L;;;;;N;;;;;
+C06C;HANGUL SYLLABLE BBEUSS;Lo;0;L;;;;;N;;;;;
+C06D;HANGUL SYLLABLE BBEUNG;Lo;0;L;;;;;N;;;;;
+C06E;HANGUL SYLLABLE BBEUJ;Lo;0;L;;;;;N;;;;;
+C06F;HANGUL SYLLABLE BBEUC;Lo;0;L;;;;;N;;;;;
+C070;HANGUL SYLLABLE BBEUK;Lo;0;L;;;;;N;;;;;
+C071;HANGUL SYLLABLE BBEUT;Lo;0;L;;;;;N;;;;;
+C072;HANGUL SYLLABLE BBEUP;Lo;0;L;;;;;N;;;;;
+C073;HANGUL SYLLABLE BBEUH;Lo;0;L;;;;;N;;;;;
+C074;HANGUL SYLLABLE BBYI;Lo;0;L;;;;;N;;;;;
+C075;HANGUL SYLLABLE BBYIG;Lo;0;L;;;;;N;;;;;
+C076;HANGUL SYLLABLE BBYIGG;Lo;0;L;;;;;N;;;;;
+C077;HANGUL SYLLABLE BBYIGS;Lo;0;L;;;;;N;;;;;
+C078;HANGUL SYLLABLE BBYIN;Lo;0;L;;;;;N;;;;;
+C079;HANGUL SYLLABLE BBYINI;Lo;0;L;;;;;N;;;;;
+C07A;HANGUL SYLLABLE BBYINH;Lo;0;L;;;;;N;;;;;
+C07B;HANGUL SYLLABLE BBYID;Lo;0;L;;;;;N;;;;;
+C07C;HANGUL SYLLABLE BBYIL;Lo;0;L;;;;;N;;;;;
+C07D;HANGUL SYLLABLE BBYILG;Lo;0;L;;;;;N;;;;;
+C07E;HANGUL SYLLABLE BBYILM;Lo;0;L;;;;;N;;;;;
+C07F;HANGUL SYLLABLE BBYILB;Lo;0;L;;;;;N;;;;;
+C080;HANGUL SYLLABLE BBYILS;Lo;0;L;;;;;N;;;;;
+C081;HANGUL SYLLABLE BBYILT;Lo;0;L;;;;;N;;;;;
+C082;HANGUL SYLLABLE BBYILP;Lo;0;L;;;;;N;;;;;
+C083;HANGUL SYLLABLE BBYILH;Lo;0;L;;;;;N;;;;;
+C084;HANGUL SYLLABLE BBYIM;Lo;0;L;;;;;N;;;;;
+C085;HANGUL SYLLABLE BBYIB;Lo;0;L;;;;;N;;;;;
+C086;HANGUL SYLLABLE BBYIBS;Lo;0;L;;;;;N;;;;;
+C087;HANGUL SYLLABLE BBYIS;Lo;0;L;;;;;N;;;;;
+C088;HANGUL SYLLABLE BBYISS;Lo;0;L;;;;;N;;;;;
+C089;HANGUL SYLLABLE BBYING;Lo;0;L;;;;;N;;;;;
+C08A;HANGUL SYLLABLE BBYIJ;Lo;0;L;;;;;N;;;;;
+C08B;HANGUL SYLLABLE BBYIC;Lo;0;L;;;;;N;;;;;
+C08C;HANGUL SYLLABLE BBYIK;Lo;0;L;;;;;N;;;;;
+C08D;HANGUL SYLLABLE BBYIT;Lo;0;L;;;;;N;;;;;
+C08E;HANGUL SYLLABLE BBYIP;Lo;0;L;;;;;N;;;;;
+C08F;HANGUL SYLLABLE BBYIH;Lo;0;L;;;;;N;;;;;
+C090;HANGUL SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
+C091;HANGUL SYLLABLE BBIG;Lo;0;L;;;;;N;;;;;
+C092;HANGUL SYLLABLE BBIGG;Lo;0;L;;;;;N;;;;;
+C093;HANGUL SYLLABLE BBIGS;Lo;0;L;;;;;N;;;;;
+C094;HANGUL SYLLABLE BBIN;Lo;0;L;;;;;N;;;;;
+C095;HANGUL SYLLABLE BBINI;Lo;0;L;;;;;N;;;;;
+C096;HANGUL SYLLABLE BBINH;Lo;0;L;;;;;N;;;;;
+C097;HANGUL SYLLABLE BBID;Lo;0;L;;;;;N;;;;;
+C098;HANGUL SYLLABLE BBIL;Lo;0;L;;;;;N;;;;;
+C099;HANGUL SYLLABLE BBILG;Lo;0;L;;;;;N;;;;;
+C09A;HANGUL SYLLABLE BBILM;Lo;0;L;;;;;N;;;;;
+C09B;HANGUL SYLLABLE BBILB;Lo;0;L;;;;;N;;;;;
+C09C;HANGUL SYLLABLE BBILS;Lo;0;L;;;;;N;;;;;
+C09D;HANGUL SYLLABLE BBILT;Lo;0;L;;;;;N;;;;;
+C09E;HANGUL SYLLABLE BBILP;Lo;0;L;;;;;N;;;;;
+C09F;HANGUL SYLLABLE BBILH;Lo;0;L;;;;;N;;;;;
+C0A0;HANGUL SYLLABLE BBIM;Lo;0;L;;;;;N;;;;;
+C0A1;HANGUL SYLLABLE BBIB;Lo;0;L;;;;;N;;;;;
+C0A2;HANGUL SYLLABLE BBIBS;Lo;0;L;;;;;N;;;;;
+C0A3;HANGUL SYLLABLE BBIS;Lo;0;L;;;;;N;;;;;
+C0A4;HANGUL SYLLABLE BBISS;Lo;0;L;;;;;N;;;;;
+C0A5;HANGUL SYLLABLE BBING;Lo;0;L;;;;;N;;;;;
+C0A6;HANGUL SYLLABLE BBIJ;Lo;0;L;;;;;N;;;;;
+C0A7;HANGUL SYLLABLE BBIC;Lo;0;L;;;;;N;;;;;
+C0A8;HANGUL SYLLABLE BBIK;Lo;0;L;;;;;N;;;;;
+C0A9;HANGUL SYLLABLE BBIT;Lo;0;L;;;;;N;;;;;
+C0AA;HANGUL SYLLABLE BBIP;Lo;0;L;;;;;N;;;;;
+C0AB;HANGUL SYLLABLE BBIH;Lo;0;L;;;;;N;;;;;
+C0AC;HANGUL SYLLABLE SA;Lo;0;L;;;;;N;;;;;
+C0AD;HANGUL SYLLABLE SAG;Lo;0;L;;;;;N;;;;;
+C0AE;HANGUL SYLLABLE SAGG;Lo;0;L;;;;;N;;;;;
+C0AF;HANGUL SYLLABLE SAGS;Lo;0;L;;;;;N;;;;;
+C0B0;HANGUL SYLLABLE SAN;Lo;0;L;;;;;N;;;;;
+C0B1;HANGUL SYLLABLE SANI;Lo;0;L;;;;;N;;;;;
+C0B2;HANGUL SYLLABLE SANH;Lo;0;L;;;;;N;;;;;
+C0B3;HANGUL SYLLABLE SAD;Lo;0;L;;;;;N;;;;;
+C0B4;HANGUL SYLLABLE SAL;Lo;0;L;;;;;N;;;;;
+C0B5;HANGUL SYLLABLE SALG;Lo;0;L;;;;;N;;;;;
+C0B6;HANGUL SYLLABLE SALM;Lo;0;L;;;;;N;;;;;
+C0B7;HANGUL SYLLABLE SALB;Lo;0;L;;;;;N;;;;;
+C0B8;HANGUL SYLLABLE SALS;Lo;0;L;;;;;N;;;;;
+C0B9;HANGUL SYLLABLE SALT;Lo;0;L;;;;;N;;;;;
+C0BA;HANGUL SYLLABLE SALP;Lo;0;L;;;;;N;;;;;
+C0BB;HANGUL SYLLABLE SALH;Lo;0;L;;;;;N;;;;;
+C0BC;HANGUL SYLLABLE SAM;Lo;0;L;;;;;N;;;;;
+C0BD;HANGUL SYLLABLE SAB;Lo;0;L;;;;;N;;;;;
+C0BE;HANGUL SYLLABLE SABS;Lo;0;L;;;;;N;;;;;
+C0BF;HANGUL SYLLABLE SAS;Lo;0;L;;;;;N;;;;;
+C0C0;HANGUL SYLLABLE SASS;Lo;0;L;;;;;N;;;;;
+C0C1;HANGUL SYLLABLE SANG;Lo;0;L;;;;;N;;;;;
+C0C2;HANGUL SYLLABLE SAJ;Lo;0;L;;;;;N;;;;;
+C0C3;HANGUL SYLLABLE SAC;Lo;0;L;;;;;N;;;;;
+C0C4;HANGUL SYLLABLE SAK;Lo;0;L;;;;;N;;;;;
+C0C5;HANGUL SYLLABLE SAT;Lo;0;L;;;;;N;;;;;
+C0C6;HANGUL SYLLABLE SAP;Lo;0;L;;;;;N;;;;;
+C0C7;HANGUL SYLLABLE SAH;Lo;0;L;;;;;N;;;;;
+C0C8;HANGUL SYLLABLE SAE;Lo;0;L;;;;;N;;;;;
+C0C9;HANGUL SYLLABLE SAEG;Lo;0;L;;;;;N;;;;;
+C0CA;HANGUL SYLLABLE SAEGG;Lo;0;L;;;;;N;;;;;
+C0CB;HANGUL SYLLABLE SAEGS;Lo;0;L;;;;;N;;;;;
+C0CC;HANGUL SYLLABLE SAEN;Lo;0;L;;;;;N;;;;;
+C0CD;HANGUL SYLLABLE SAENI;Lo;0;L;;;;;N;;;;;
+C0CE;HANGUL SYLLABLE SAENH;Lo;0;L;;;;;N;;;;;
+C0CF;HANGUL SYLLABLE SAED;Lo;0;L;;;;;N;;;;;
+C0D0;HANGUL SYLLABLE SAEL;Lo;0;L;;;;;N;;;;;
+C0D1;HANGUL SYLLABLE SAELG;Lo;0;L;;;;;N;;;;;
+C0D2;HANGUL SYLLABLE SAELM;Lo;0;L;;;;;N;;;;;
+C0D3;HANGUL SYLLABLE SAELB;Lo;0;L;;;;;N;;;;;
+C0D4;HANGUL SYLLABLE SAELS;Lo;0;L;;;;;N;;;;;
+C0D5;HANGUL SYLLABLE SAELT;Lo;0;L;;;;;N;;;;;
+C0D6;HANGUL SYLLABLE SAELP;Lo;0;L;;;;;N;;;;;
+C0D7;HANGUL SYLLABLE SAELH;Lo;0;L;;;;;N;;;;;
+C0D8;HANGUL SYLLABLE SAEM;Lo;0;L;;;;;N;;;;;
+C0D9;HANGUL SYLLABLE SAEB;Lo;0;L;;;;;N;;;;;
+C0DA;HANGUL SYLLABLE SAEBS;Lo;0;L;;;;;N;;;;;
+C0DB;HANGUL SYLLABLE SAES;Lo;0;L;;;;;N;;;;;
+C0DC;HANGUL SYLLABLE SAESS;Lo;0;L;;;;;N;;;;;
+C0DD;HANGUL SYLLABLE SAENG;Lo;0;L;;;;;N;;;;;
+C0DE;HANGUL SYLLABLE SAEJ;Lo;0;L;;;;;N;;;;;
+C0DF;HANGUL SYLLABLE SAEC;Lo;0;L;;;;;N;;;;;
+C0E0;HANGUL SYLLABLE SAEK;Lo;0;L;;;;;N;;;;;
+C0E1;HANGUL SYLLABLE SAET;Lo;0;L;;;;;N;;;;;
+C0E2;HANGUL SYLLABLE SAEP;Lo;0;L;;;;;N;;;;;
+C0E3;HANGUL SYLLABLE SAEH;Lo;0;L;;;;;N;;;;;
+C0E4;HANGUL SYLLABLE SYA;Lo;0;L;;;;;N;;;;;
+C0E5;HANGUL SYLLABLE SYAG;Lo;0;L;;;;;N;;;;;
+C0E6;HANGUL SYLLABLE SYAGG;Lo;0;L;;;;;N;;;;;
+C0E7;HANGUL SYLLABLE SYAGS;Lo;0;L;;;;;N;;;;;
+C0E8;HANGUL SYLLABLE SYAN;Lo;0;L;;;;;N;;;;;
+C0E9;HANGUL SYLLABLE SYANI;Lo;0;L;;;;;N;;;;;
+C0EA;HANGUL SYLLABLE SYANH;Lo;0;L;;;;;N;;;;;
+C0EB;HANGUL SYLLABLE SYAD;Lo;0;L;;;;;N;;;;;
+C0EC;HANGUL SYLLABLE SYAL;Lo;0;L;;;;;N;;;;;
+C0ED;HANGUL SYLLABLE SYALG;Lo;0;L;;;;;N;;;;;
+C0EE;HANGUL SYLLABLE SYALM;Lo;0;L;;;;;N;;;;;
+C0EF;HANGUL SYLLABLE SYALB;Lo;0;L;;;;;N;;;;;
+C0F0;HANGUL SYLLABLE SYALS;Lo;0;L;;;;;N;;;;;
+C0F1;HANGUL SYLLABLE SYALT;Lo;0;L;;;;;N;;;;;
+C0F2;HANGUL SYLLABLE SYALP;Lo;0;L;;;;;N;;;;;
+C0F3;HANGUL SYLLABLE SYALH;Lo;0;L;;;;;N;;;;;
+C0F4;HANGUL SYLLABLE SYAM;Lo;0;L;;;;;N;;;;;
+C0F5;HANGUL SYLLABLE SYAB;Lo;0;L;;;;;N;;;;;
+C0F6;HANGUL SYLLABLE SYABS;Lo;0;L;;;;;N;;;;;
+C0F7;HANGUL SYLLABLE SYAS;Lo;0;L;;;;;N;;;;;
+C0F8;HANGUL SYLLABLE SYASS;Lo;0;L;;;;;N;;;;;
+C0F9;HANGUL SYLLABLE SYANG;Lo;0;L;;;;;N;;;;;
+C0FA;HANGUL SYLLABLE SYAJ;Lo;0;L;;;;;N;;;;;
+C0FB;HANGUL SYLLABLE SYAC;Lo;0;L;;;;;N;;;;;
+C0FC;HANGUL SYLLABLE SYAK;Lo;0;L;;;;;N;;;;;
+C0FD;HANGUL SYLLABLE SYAT;Lo;0;L;;;;;N;;;;;
+C0FE;HANGUL SYLLABLE SYAP;Lo;0;L;;;;;N;;;;;
+C0FF;HANGUL SYLLABLE SYAH;Lo;0;L;;;;;N;;;;;
+C100;HANGUL SYLLABLE SYAE;Lo;0;L;;;;;N;;;;;
+C101;HANGUL SYLLABLE SYAEG;Lo;0;L;;;;;N;;;;;
+C102;HANGUL SYLLABLE SYAEGG;Lo;0;L;;;;;N;;;;;
+C103;HANGUL SYLLABLE SYAEGS;Lo;0;L;;;;;N;;;;;
+C104;HANGUL SYLLABLE SYAEN;Lo;0;L;;;;;N;;;;;
+C105;HANGUL SYLLABLE SYAENI;Lo;0;L;;;;;N;;;;;
+C106;HANGUL SYLLABLE SYAENH;Lo;0;L;;;;;N;;;;;
+C107;HANGUL SYLLABLE SYAED;Lo;0;L;;;;;N;;;;;
+C108;HANGUL SYLLABLE SYAEL;Lo;0;L;;;;;N;;;;;
+C109;HANGUL SYLLABLE SYAELG;Lo;0;L;;;;;N;;;;;
+C10A;HANGUL SYLLABLE SYAELM;Lo;0;L;;;;;N;;;;;
+C10B;HANGUL SYLLABLE SYAELB;Lo;0;L;;;;;N;;;;;
+C10C;HANGUL SYLLABLE SYAELS;Lo;0;L;;;;;N;;;;;
+C10D;HANGUL SYLLABLE SYAELT;Lo;0;L;;;;;N;;;;;
+C10E;HANGUL SYLLABLE SYAELP;Lo;0;L;;;;;N;;;;;
+C10F;HANGUL SYLLABLE SYAELH;Lo;0;L;;;;;N;;;;;
+C110;HANGUL SYLLABLE SYAEM;Lo;0;L;;;;;N;;;;;
+C111;HANGUL SYLLABLE SYAEB;Lo;0;L;;;;;N;;;;;
+C112;HANGUL SYLLABLE SYAEBS;Lo;0;L;;;;;N;;;;;
+C113;HANGUL SYLLABLE SYAES;Lo;0;L;;;;;N;;;;;
+C114;HANGUL SYLLABLE SYAESS;Lo;0;L;;;;;N;;;;;
+C115;HANGUL SYLLABLE SYAENG;Lo;0;L;;;;;N;;;;;
+C116;HANGUL SYLLABLE SYAEJ;Lo;0;L;;;;;N;;;;;
+C117;HANGUL SYLLABLE SYAEC;Lo;0;L;;;;;N;;;;;
+C118;HANGUL SYLLABLE SYAEK;Lo;0;L;;;;;N;;;;;
+C119;HANGUL SYLLABLE SYAET;Lo;0;L;;;;;N;;;;;
+C11A;HANGUL SYLLABLE SYAEP;Lo;0;L;;;;;N;;;;;
+C11B;HANGUL SYLLABLE SYAEH;Lo;0;L;;;;;N;;;;;
+C11C;HANGUL SYLLABLE SEO;Lo;0;L;;;;;N;;;;;
+C11D;HANGUL SYLLABLE SEOG;Lo;0;L;;;;;N;;;;;
+C11E;HANGUL SYLLABLE SEOGG;Lo;0;L;;;;;N;;;;;
+C11F;HANGUL SYLLABLE SEOGS;Lo;0;L;;;;;N;;;;;
+C120;HANGUL SYLLABLE SEON;Lo;0;L;;;;;N;;;;;
+C121;HANGUL SYLLABLE SEONI;Lo;0;L;;;;;N;;;;;
+C122;HANGUL SYLLABLE SEONH;Lo;0;L;;;;;N;;;;;
+C123;HANGUL SYLLABLE SEOD;Lo;0;L;;;;;N;;;;;
+C124;HANGUL SYLLABLE SEOL;Lo;0;L;;;;;N;;;;;
+C125;HANGUL SYLLABLE SEOLG;Lo;0;L;;;;;N;;;;;
+C126;HANGUL SYLLABLE SEOLM;Lo;0;L;;;;;N;;;;;
+C127;HANGUL SYLLABLE SEOLB;Lo;0;L;;;;;N;;;;;
+C128;HANGUL SYLLABLE SEOLS;Lo;0;L;;;;;N;;;;;
+C129;HANGUL SYLLABLE SEOLT;Lo;0;L;;;;;N;;;;;
+C12A;HANGUL SYLLABLE SEOLP;Lo;0;L;;;;;N;;;;;
+C12B;HANGUL SYLLABLE SEOLH;Lo;0;L;;;;;N;;;;;
+C12C;HANGUL SYLLABLE SEOM;Lo;0;L;;;;;N;;;;;
+C12D;HANGUL SYLLABLE SEOB;Lo;0;L;;;;;N;;;;;
+C12E;HANGUL SYLLABLE SEOBS;Lo;0;L;;;;;N;;;;;
+C12F;HANGUL SYLLABLE SEOS;Lo;0;L;;;;;N;;;;;
+C130;HANGUL SYLLABLE SEOSS;Lo;0;L;;;;;N;;;;;
+C131;HANGUL SYLLABLE SEONG;Lo;0;L;;;;;N;;;;;
+C132;HANGUL SYLLABLE SEOJ;Lo;0;L;;;;;N;;;;;
+C133;HANGUL SYLLABLE SEOC;Lo;0;L;;;;;N;;;;;
+C134;HANGUL SYLLABLE SEOK;Lo;0;L;;;;;N;;;;;
+C135;HANGUL SYLLABLE SEOT;Lo;0;L;;;;;N;;;;;
+C136;HANGUL SYLLABLE SEOP;Lo;0;L;;;;;N;;;;;
+C137;HANGUL SYLLABLE SEOH;Lo;0;L;;;;;N;;;;;
+C138;HANGUL SYLLABLE SE;Lo;0;L;;;;;N;;;;;
+C139;HANGUL SYLLABLE SEG;Lo;0;L;;;;;N;;;;;
+C13A;HANGUL SYLLABLE SEGG;Lo;0;L;;;;;N;;;;;
+C13B;HANGUL SYLLABLE SEGS;Lo;0;L;;;;;N;;;;;
+C13C;HANGUL SYLLABLE SEN;Lo;0;L;;;;;N;;;;;
+C13D;HANGUL SYLLABLE SENI;Lo;0;L;;;;;N;;;;;
+C13E;HANGUL SYLLABLE SENH;Lo;0;L;;;;;N;;;;;
+C13F;HANGUL SYLLABLE SED;Lo;0;L;;;;;N;;;;;
+C140;HANGUL SYLLABLE SEL;Lo;0;L;;;;;N;;;;;
+C141;HANGUL SYLLABLE SELG;Lo;0;L;;;;;N;;;;;
+C142;HANGUL SYLLABLE SELM;Lo;0;L;;;;;N;;;;;
+C143;HANGUL SYLLABLE SELB;Lo;0;L;;;;;N;;;;;
+C144;HANGUL SYLLABLE SELS;Lo;0;L;;;;;N;;;;;
+C145;HANGUL SYLLABLE SELT;Lo;0;L;;;;;N;;;;;
+C146;HANGUL SYLLABLE SELP;Lo;0;L;;;;;N;;;;;
+C147;HANGUL SYLLABLE SELH;Lo;0;L;;;;;N;;;;;
+C148;HANGUL SYLLABLE SEM;Lo;0;L;;;;;N;;;;;
+C149;HANGUL SYLLABLE SEB;Lo;0;L;;;;;N;;;;;
+C14A;HANGUL SYLLABLE SEBS;Lo;0;L;;;;;N;;;;;
+C14B;HANGUL SYLLABLE SES;Lo;0;L;;;;;N;;;;;
+C14C;HANGUL SYLLABLE SESS;Lo;0;L;;;;;N;;;;;
+C14D;HANGUL SYLLABLE SENG;Lo;0;L;;;;;N;;;;;
+C14E;HANGUL SYLLABLE SEJ;Lo;0;L;;;;;N;;;;;
+C14F;HANGUL SYLLABLE SEC;Lo;0;L;;;;;N;;;;;
+C150;HANGUL SYLLABLE SEK;Lo;0;L;;;;;N;;;;;
+C151;HANGUL SYLLABLE SET;Lo;0;L;;;;;N;;;;;
+C152;HANGUL SYLLABLE SEP;Lo;0;L;;;;;N;;;;;
+C153;HANGUL SYLLABLE SEH;Lo;0;L;;;;;N;;;;;
+C154;HANGUL SYLLABLE SYEO;Lo;0;L;;;;;N;;;;;
+C155;HANGUL SYLLABLE SYEOG;Lo;0;L;;;;;N;;;;;
+C156;HANGUL SYLLABLE SYEOGG;Lo;0;L;;;;;N;;;;;
+C157;HANGUL SYLLABLE SYEOGS;Lo;0;L;;;;;N;;;;;
+C158;HANGUL SYLLABLE SYEON;Lo;0;L;;;;;N;;;;;
+C159;HANGUL SYLLABLE SYEONI;Lo;0;L;;;;;N;;;;;
+C15A;HANGUL SYLLABLE SYEONH;Lo;0;L;;;;;N;;;;;
+C15B;HANGUL SYLLABLE SYEOD;Lo;0;L;;;;;N;;;;;
+C15C;HANGUL SYLLABLE SYEOL;Lo;0;L;;;;;N;;;;;
+C15D;HANGUL SYLLABLE SYEOLG;Lo;0;L;;;;;N;;;;;
+C15E;HANGUL SYLLABLE SYEOLM;Lo;0;L;;;;;N;;;;;
+C15F;HANGUL SYLLABLE SYEOLB;Lo;0;L;;;;;N;;;;;
+C160;HANGUL SYLLABLE SYEOLS;Lo;0;L;;;;;N;;;;;
+C161;HANGUL SYLLABLE SYEOLT;Lo;0;L;;;;;N;;;;;
+C162;HANGUL SYLLABLE SYEOLP;Lo;0;L;;;;;N;;;;;
+C163;HANGUL SYLLABLE SYEOLH;Lo;0;L;;;;;N;;;;;
+C164;HANGUL SYLLABLE SYEOM;Lo;0;L;;;;;N;;;;;
+C165;HANGUL SYLLABLE SYEOB;Lo;0;L;;;;;N;;;;;
+C166;HANGUL SYLLABLE SYEOBS;Lo;0;L;;;;;N;;;;;
+C167;HANGUL SYLLABLE SYEOS;Lo;0;L;;;;;N;;;;;
+C168;HANGUL SYLLABLE SYEOSS;Lo;0;L;;;;;N;;;;;
+C169;HANGUL SYLLABLE SYEONG;Lo;0;L;;;;;N;;;;;
+C16A;HANGUL SYLLABLE SYEOJ;Lo;0;L;;;;;N;;;;;
+C16B;HANGUL SYLLABLE SYEOC;Lo;0;L;;;;;N;;;;;
+C16C;HANGUL SYLLABLE SYEOK;Lo;0;L;;;;;N;;;;;
+C16D;HANGUL SYLLABLE SYEOT;Lo;0;L;;;;;N;;;;;
+C16E;HANGUL SYLLABLE SYEOP;Lo;0;L;;;;;N;;;;;
+C16F;HANGUL SYLLABLE SYEOH;Lo;0;L;;;;;N;;;;;
+C170;HANGUL SYLLABLE SYE;Lo;0;L;;;;;N;;;;;
+C171;HANGUL SYLLABLE SYEG;Lo;0;L;;;;;N;;;;;
+C172;HANGUL SYLLABLE SYEGG;Lo;0;L;;;;;N;;;;;
+C173;HANGUL SYLLABLE SYEGS;Lo;0;L;;;;;N;;;;;
+C174;HANGUL SYLLABLE SYEN;Lo;0;L;;;;;N;;;;;
+C175;HANGUL SYLLABLE SYENI;Lo;0;L;;;;;N;;;;;
+C176;HANGUL SYLLABLE SYENH;Lo;0;L;;;;;N;;;;;
+C177;HANGUL SYLLABLE SYED;Lo;0;L;;;;;N;;;;;
+C178;HANGUL SYLLABLE SYEL;Lo;0;L;;;;;N;;;;;
+C179;HANGUL SYLLABLE SYELG;Lo;0;L;;;;;N;;;;;
+C17A;HANGUL SYLLABLE SYELM;Lo;0;L;;;;;N;;;;;
+C17B;HANGUL SYLLABLE SYELB;Lo;0;L;;;;;N;;;;;
+C17C;HANGUL SYLLABLE SYELS;Lo;0;L;;;;;N;;;;;
+C17D;HANGUL SYLLABLE SYELT;Lo;0;L;;;;;N;;;;;
+C17E;HANGUL SYLLABLE SYELP;Lo;0;L;;;;;N;;;;;
+C17F;HANGUL SYLLABLE SYELH;Lo;0;L;;;;;N;;;;;
+C180;HANGUL SYLLABLE SYEM;Lo;0;L;;;;;N;;;;;
+C181;HANGUL SYLLABLE SYEB;Lo;0;L;;;;;N;;;;;
+C182;HANGUL SYLLABLE SYEBS;Lo;0;L;;;;;N;;;;;
+C183;HANGUL SYLLABLE SYES;Lo;0;L;;;;;N;;;;;
+C184;HANGUL SYLLABLE SYESS;Lo;0;L;;;;;N;;;;;
+C185;HANGUL SYLLABLE SYENG;Lo;0;L;;;;;N;;;;;
+C186;HANGUL SYLLABLE SYEJ;Lo;0;L;;;;;N;;;;;
+C187;HANGUL SYLLABLE SYEC;Lo;0;L;;;;;N;;;;;
+C188;HANGUL SYLLABLE SYEK;Lo;0;L;;;;;N;;;;;
+C189;HANGUL SYLLABLE SYET;Lo;0;L;;;;;N;;;;;
+C18A;HANGUL SYLLABLE SYEP;Lo;0;L;;;;;N;;;;;
+C18B;HANGUL SYLLABLE SYEH;Lo;0;L;;;;;N;;;;;
+C18C;HANGUL SYLLABLE SO;Lo;0;L;;;;;N;;;;;
+C18D;HANGUL SYLLABLE SOG;Lo;0;L;;;;;N;;;;;
+C18E;HANGUL SYLLABLE SOGG;Lo;0;L;;;;;N;;;;;
+C18F;HANGUL SYLLABLE SOGS;Lo;0;L;;;;;N;;;;;
+C190;HANGUL SYLLABLE SON;Lo;0;L;;;;;N;;;;;
+C191;HANGUL SYLLABLE SONI;Lo;0;L;;;;;N;;;;;
+C192;HANGUL SYLLABLE SONH;Lo;0;L;;;;;N;;;;;
+C193;HANGUL SYLLABLE SOD;Lo;0;L;;;;;N;;;;;
+C194;HANGUL SYLLABLE SOL;Lo;0;L;;;;;N;;;;;
+C195;HANGUL SYLLABLE SOLG;Lo;0;L;;;;;N;;;;;
+C196;HANGUL SYLLABLE SOLM;Lo;0;L;;;;;N;;;;;
+C197;HANGUL SYLLABLE SOLB;Lo;0;L;;;;;N;;;;;
+C198;HANGUL SYLLABLE SOLS;Lo;0;L;;;;;N;;;;;
+C199;HANGUL SYLLABLE SOLT;Lo;0;L;;;;;N;;;;;
+C19A;HANGUL SYLLABLE SOLP;Lo;0;L;;;;;N;;;;;
+C19B;HANGUL SYLLABLE SOLH;Lo;0;L;;;;;N;;;;;
+C19C;HANGUL SYLLABLE SOM;Lo;0;L;;;;;N;;;;;
+C19D;HANGUL SYLLABLE SOB;Lo;0;L;;;;;N;;;;;
+C19E;HANGUL SYLLABLE SOBS;Lo;0;L;;;;;N;;;;;
+C19F;HANGUL SYLLABLE SOS;Lo;0;L;;;;;N;;;;;
+C1A0;HANGUL SYLLABLE SOSS;Lo;0;L;;;;;N;;;;;
+C1A1;HANGUL SYLLABLE SONG;Lo;0;L;;;;;N;;;;;
+C1A2;HANGUL SYLLABLE SOJ;Lo;0;L;;;;;N;;;;;
+C1A3;HANGUL SYLLABLE SOC;Lo;0;L;;;;;N;;;;;
+C1A4;HANGUL SYLLABLE SOK;Lo;0;L;;;;;N;;;;;
+C1A5;HANGUL SYLLABLE SOT;Lo;0;L;;;;;N;;;;;
+C1A6;HANGUL SYLLABLE SOP;Lo;0;L;;;;;N;;;;;
+C1A7;HANGUL SYLLABLE SOH;Lo;0;L;;;;;N;;;;;
+C1A8;HANGUL SYLLABLE SWA;Lo;0;L;;;;;N;;;;;
+C1A9;HANGUL SYLLABLE SWAG;Lo;0;L;;;;;N;;;;;
+C1AA;HANGUL SYLLABLE SWAGG;Lo;0;L;;;;;N;;;;;
+C1AB;HANGUL SYLLABLE SWAGS;Lo;0;L;;;;;N;;;;;
+C1AC;HANGUL SYLLABLE SWAN;Lo;0;L;;;;;N;;;;;
+C1AD;HANGUL SYLLABLE SWANI;Lo;0;L;;;;;N;;;;;
+C1AE;HANGUL SYLLABLE SWANH;Lo;0;L;;;;;N;;;;;
+C1AF;HANGUL SYLLABLE SWAD;Lo;0;L;;;;;N;;;;;
+C1B0;HANGUL SYLLABLE SWAL;Lo;0;L;;;;;N;;;;;
+C1B1;HANGUL SYLLABLE SWALG;Lo;0;L;;;;;N;;;;;
+C1B2;HANGUL SYLLABLE SWALM;Lo;0;L;;;;;N;;;;;
+C1B3;HANGUL SYLLABLE SWALB;Lo;0;L;;;;;N;;;;;
+C1B4;HANGUL SYLLABLE SWALS;Lo;0;L;;;;;N;;;;;
+C1B5;HANGUL SYLLABLE SWALT;Lo;0;L;;;;;N;;;;;
+C1B6;HANGUL SYLLABLE SWALP;Lo;0;L;;;;;N;;;;;
+C1B7;HANGUL SYLLABLE SWALH;Lo;0;L;;;;;N;;;;;
+C1B8;HANGUL SYLLABLE SWAM;Lo;0;L;;;;;N;;;;;
+C1B9;HANGUL SYLLABLE SWAB;Lo;0;L;;;;;N;;;;;
+C1BA;HANGUL SYLLABLE SWABS;Lo;0;L;;;;;N;;;;;
+C1BB;HANGUL SYLLABLE SWAS;Lo;0;L;;;;;N;;;;;
+C1BC;HANGUL SYLLABLE SWASS;Lo;0;L;;;;;N;;;;;
+C1BD;HANGUL SYLLABLE SWANG;Lo;0;L;;;;;N;;;;;
+C1BE;HANGUL SYLLABLE SWAJ;Lo;0;L;;;;;N;;;;;
+C1BF;HANGUL SYLLABLE SWAC;Lo;0;L;;;;;N;;;;;
+C1C0;HANGUL SYLLABLE SWAK;Lo;0;L;;;;;N;;;;;
+C1C1;HANGUL SYLLABLE SWAT;Lo;0;L;;;;;N;;;;;
+C1C2;HANGUL SYLLABLE SWAP;Lo;0;L;;;;;N;;;;;
+C1C3;HANGUL SYLLABLE SWAH;Lo;0;L;;;;;N;;;;;
+C1C4;HANGUL SYLLABLE SWAE;Lo;0;L;;;;;N;;;;;
+C1C5;HANGUL SYLLABLE SWAEG;Lo;0;L;;;;;N;;;;;
+C1C6;HANGUL SYLLABLE SWAEGG;Lo;0;L;;;;;N;;;;;
+C1C7;HANGUL SYLLABLE SWAEGS;Lo;0;L;;;;;N;;;;;
+C1C8;HANGUL SYLLABLE SWAEN;Lo;0;L;;;;;N;;;;;
+C1C9;HANGUL SYLLABLE SWAENI;Lo;0;L;;;;;N;;;;;
+C1CA;HANGUL SYLLABLE SWAENH;Lo;0;L;;;;;N;;;;;
+C1CB;HANGUL SYLLABLE SWAED;Lo;0;L;;;;;N;;;;;
+C1CC;HANGUL SYLLABLE SWAEL;Lo;0;L;;;;;N;;;;;
+C1CD;HANGUL SYLLABLE SWAELG;Lo;0;L;;;;;N;;;;;
+C1CE;HANGUL SYLLABLE SWAELM;Lo;0;L;;;;;N;;;;;
+C1CF;HANGUL SYLLABLE SWAELB;Lo;0;L;;;;;N;;;;;
+C1D0;HANGUL SYLLABLE SWAELS;Lo;0;L;;;;;N;;;;;
+C1D1;HANGUL SYLLABLE SWAELT;Lo;0;L;;;;;N;;;;;
+C1D2;HANGUL SYLLABLE SWAELP;Lo;0;L;;;;;N;;;;;
+C1D3;HANGUL SYLLABLE SWAELH;Lo;0;L;;;;;N;;;;;
+C1D4;HANGUL SYLLABLE SWAEM;Lo;0;L;;;;;N;;;;;
+C1D5;HANGUL SYLLABLE SWAEB;Lo;0;L;;;;;N;;;;;
+C1D6;HANGUL SYLLABLE SWAEBS;Lo;0;L;;;;;N;;;;;
+C1D7;HANGUL SYLLABLE SWAES;Lo;0;L;;;;;N;;;;;
+C1D8;HANGUL SYLLABLE SWAESS;Lo;0;L;;;;;N;;;;;
+C1D9;HANGUL SYLLABLE SWAENG;Lo;0;L;;;;;N;;;;;
+C1DA;HANGUL SYLLABLE SWAEJ;Lo;0;L;;;;;N;;;;;
+C1DB;HANGUL SYLLABLE SWAEC;Lo;0;L;;;;;N;;;;;
+C1DC;HANGUL SYLLABLE SWAEK;Lo;0;L;;;;;N;;;;;
+C1DD;HANGUL SYLLABLE SWAET;Lo;0;L;;;;;N;;;;;
+C1DE;HANGUL SYLLABLE SWAEP;Lo;0;L;;;;;N;;;;;
+C1DF;HANGUL SYLLABLE SWAEH;Lo;0;L;;;;;N;;;;;
+C1E0;HANGUL SYLLABLE SOE;Lo;0;L;;;;;N;;;;;
+C1E1;HANGUL SYLLABLE SOEG;Lo;0;L;;;;;N;;;;;
+C1E2;HANGUL SYLLABLE SOEGG;Lo;0;L;;;;;N;;;;;
+C1E3;HANGUL SYLLABLE SOEGS;Lo;0;L;;;;;N;;;;;
+C1E4;HANGUL SYLLABLE SOEN;Lo;0;L;;;;;N;;;;;
+C1E5;HANGUL SYLLABLE SOENI;Lo;0;L;;;;;N;;;;;
+C1E6;HANGUL SYLLABLE SOENH;Lo;0;L;;;;;N;;;;;
+C1E7;HANGUL SYLLABLE SOED;Lo;0;L;;;;;N;;;;;
+C1E8;HANGUL SYLLABLE SOEL;Lo;0;L;;;;;N;;;;;
+C1E9;HANGUL SYLLABLE SOELG;Lo;0;L;;;;;N;;;;;
+C1EA;HANGUL SYLLABLE SOELM;Lo;0;L;;;;;N;;;;;
+C1EB;HANGUL SYLLABLE SOELB;Lo;0;L;;;;;N;;;;;
+C1EC;HANGUL SYLLABLE SOELS;Lo;0;L;;;;;N;;;;;
+C1ED;HANGUL SYLLABLE SOELT;Lo;0;L;;;;;N;;;;;
+C1EE;HANGUL SYLLABLE SOELP;Lo;0;L;;;;;N;;;;;
+C1EF;HANGUL SYLLABLE SOELH;Lo;0;L;;;;;N;;;;;
+C1F0;HANGUL SYLLABLE SOEM;Lo;0;L;;;;;N;;;;;
+C1F1;HANGUL SYLLABLE SOEB;Lo;0;L;;;;;N;;;;;
+C1F2;HANGUL SYLLABLE SOEBS;Lo;0;L;;;;;N;;;;;
+C1F3;HANGUL SYLLABLE SOES;Lo;0;L;;;;;N;;;;;
+C1F4;HANGUL SYLLABLE SOESS;Lo;0;L;;;;;N;;;;;
+C1F5;HANGUL SYLLABLE SOENG;Lo;0;L;;;;;N;;;;;
+C1F6;HANGUL SYLLABLE SOEJ;Lo;0;L;;;;;N;;;;;
+C1F7;HANGUL SYLLABLE SOEC;Lo;0;L;;;;;N;;;;;
+C1F8;HANGUL SYLLABLE SOEK;Lo;0;L;;;;;N;;;;;
+C1F9;HANGUL SYLLABLE SOET;Lo;0;L;;;;;N;;;;;
+C1FA;HANGUL SYLLABLE SOEP;Lo;0;L;;;;;N;;;;;
+C1FB;HANGUL SYLLABLE SOEH;Lo;0;L;;;;;N;;;;;
+C1FC;HANGUL SYLLABLE SYO;Lo;0;L;;;;;N;;;;;
+C1FD;HANGUL SYLLABLE SYOG;Lo;0;L;;;;;N;;;;;
+C1FE;HANGUL SYLLABLE SYOGG;Lo;0;L;;;;;N;;;;;
+C1FF;HANGUL SYLLABLE SYOGS;Lo;0;L;;;;;N;;;;;
+C200;HANGUL SYLLABLE SYON;Lo;0;L;;;;;N;;;;;
+C201;HANGUL SYLLABLE SYONI;Lo;0;L;;;;;N;;;;;
+C202;HANGUL SYLLABLE SYONH;Lo;0;L;;;;;N;;;;;
+C203;HANGUL SYLLABLE SYOD;Lo;0;L;;;;;N;;;;;
+C204;HANGUL SYLLABLE SYOL;Lo;0;L;;;;;N;;;;;
+C205;HANGUL SYLLABLE SYOLG;Lo;0;L;;;;;N;;;;;
+C206;HANGUL SYLLABLE SYOLM;Lo;0;L;;;;;N;;;;;
+C207;HANGUL SYLLABLE SYOLB;Lo;0;L;;;;;N;;;;;
+C208;HANGUL SYLLABLE SYOLS;Lo;0;L;;;;;N;;;;;
+C209;HANGUL SYLLABLE SYOLT;Lo;0;L;;;;;N;;;;;
+C20A;HANGUL SYLLABLE SYOLP;Lo;0;L;;;;;N;;;;;
+C20B;HANGUL SYLLABLE SYOLH;Lo;0;L;;;;;N;;;;;
+C20C;HANGUL SYLLABLE SYOM;Lo;0;L;;;;;N;;;;;
+C20D;HANGUL SYLLABLE SYOB;Lo;0;L;;;;;N;;;;;
+C20E;HANGUL SYLLABLE SYOBS;Lo;0;L;;;;;N;;;;;
+C20F;HANGUL SYLLABLE SYOS;Lo;0;L;;;;;N;;;;;
+C210;HANGUL SYLLABLE SYOSS;Lo;0;L;;;;;N;;;;;
+C211;HANGUL SYLLABLE SYONG;Lo;0;L;;;;;N;;;;;
+C212;HANGUL SYLLABLE SYOJ;Lo;0;L;;;;;N;;;;;
+C213;HANGUL SYLLABLE SYOC;Lo;0;L;;;;;N;;;;;
+C214;HANGUL SYLLABLE SYOK;Lo;0;L;;;;;N;;;;;
+C215;HANGUL SYLLABLE SYOT;Lo;0;L;;;;;N;;;;;
+C216;HANGUL SYLLABLE SYOP;Lo;0;L;;;;;N;;;;;
+C217;HANGUL SYLLABLE SYOH;Lo;0;L;;;;;N;;;;;
+C218;HANGUL SYLLABLE SU;Lo;0;L;;;;;N;;;;;
+C219;HANGUL SYLLABLE SUG;Lo;0;L;;;;;N;;;;;
+C21A;HANGUL SYLLABLE SUGG;Lo;0;L;;;;;N;;;;;
+C21B;HANGUL SYLLABLE SUGS;Lo;0;L;;;;;N;;;;;
+C21C;HANGUL SYLLABLE SUN;Lo;0;L;;;;;N;;;;;
+C21D;HANGUL SYLLABLE SUNI;Lo;0;L;;;;;N;;;;;
+C21E;HANGUL SYLLABLE SUNH;Lo;0;L;;;;;N;;;;;
+C21F;HANGUL SYLLABLE SUD;Lo;0;L;;;;;N;;;;;
+C220;HANGUL SYLLABLE SUL;Lo;0;L;;;;;N;;;;;
+C221;HANGUL SYLLABLE SULG;Lo;0;L;;;;;N;;;;;
+C222;HANGUL SYLLABLE SULM;Lo;0;L;;;;;N;;;;;
+C223;HANGUL SYLLABLE SULB;Lo;0;L;;;;;N;;;;;
+C224;HANGUL SYLLABLE SULS;Lo;0;L;;;;;N;;;;;
+C225;HANGUL SYLLABLE SULT;Lo;0;L;;;;;N;;;;;
+C226;HANGUL SYLLABLE SULP;Lo;0;L;;;;;N;;;;;
+C227;HANGUL SYLLABLE SULH;Lo;0;L;;;;;N;;;;;
+C228;HANGUL SYLLABLE SUM;Lo;0;L;;;;;N;;;;;
+C229;HANGUL SYLLABLE SUB;Lo;0;L;;;;;N;;;;;
+C22A;HANGUL SYLLABLE SUBS;Lo;0;L;;;;;N;;;;;
+C22B;HANGUL SYLLABLE SUS;Lo;0;L;;;;;N;;;;;
+C22C;HANGUL SYLLABLE SUSS;Lo;0;L;;;;;N;;;;;
+C22D;HANGUL SYLLABLE SUNG;Lo;0;L;;;;;N;;;;;
+C22E;HANGUL SYLLABLE SUJ;Lo;0;L;;;;;N;;;;;
+C22F;HANGUL SYLLABLE SUC;Lo;0;L;;;;;N;;;;;
+C230;HANGUL SYLLABLE SUK;Lo;0;L;;;;;N;;;;;
+C231;HANGUL SYLLABLE SUT;Lo;0;L;;;;;N;;;;;
+C232;HANGUL SYLLABLE SUP;Lo;0;L;;;;;N;;;;;
+C233;HANGUL SYLLABLE SUH;Lo;0;L;;;;;N;;;;;
+C234;HANGUL SYLLABLE SWEO;Lo;0;L;;;;;N;;;;;
+C235;HANGUL SYLLABLE SWEOG;Lo;0;L;;;;;N;;;;;
+C236;HANGUL SYLLABLE SWEOGG;Lo;0;L;;;;;N;;;;;
+C237;HANGUL SYLLABLE SWEOGS;Lo;0;L;;;;;N;;;;;
+C238;HANGUL SYLLABLE SWEON;Lo;0;L;;;;;N;;;;;
+C239;HANGUL SYLLABLE SWEONI;Lo;0;L;;;;;N;;;;;
+C23A;HANGUL SYLLABLE SWEONH;Lo;0;L;;;;;N;;;;;
+C23B;HANGUL SYLLABLE SWEOD;Lo;0;L;;;;;N;;;;;
+C23C;HANGUL SYLLABLE SWEOL;Lo;0;L;;;;;N;;;;;
+C23D;HANGUL SYLLABLE SWEOLG;Lo;0;L;;;;;N;;;;;
+C23E;HANGUL SYLLABLE SWEOLM;Lo;0;L;;;;;N;;;;;
+C23F;HANGUL SYLLABLE SWEOLB;Lo;0;L;;;;;N;;;;;
+C240;HANGUL SYLLABLE SWEOLS;Lo;0;L;;;;;N;;;;;
+C241;HANGUL SYLLABLE SWEOLT;Lo;0;L;;;;;N;;;;;
+C242;HANGUL SYLLABLE SWEOLP;Lo;0;L;;;;;N;;;;;
+C243;HANGUL SYLLABLE SWEOLH;Lo;0;L;;;;;N;;;;;
+C244;HANGUL SYLLABLE SWEOM;Lo;0;L;;;;;N;;;;;
+C245;HANGUL SYLLABLE SWEOB;Lo;0;L;;;;;N;;;;;
+C246;HANGUL SYLLABLE SWEOBS;Lo;0;L;;;;;N;;;;;
+C247;HANGUL SYLLABLE SWEOS;Lo;0;L;;;;;N;;;;;
+C248;HANGUL SYLLABLE SWEOSS;Lo;0;L;;;;;N;;;;;
+C249;HANGUL SYLLABLE SWEONG;Lo;0;L;;;;;N;;;;;
+C24A;HANGUL SYLLABLE SWEOJ;Lo;0;L;;;;;N;;;;;
+C24B;HANGUL SYLLABLE SWEOC;Lo;0;L;;;;;N;;;;;
+C24C;HANGUL SYLLABLE SWEOK;Lo;0;L;;;;;N;;;;;
+C24D;HANGUL SYLLABLE SWEOT;Lo;0;L;;;;;N;;;;;
+C24E;HANGUL SYLLABLE SWEOP;Lo;0;L;;;;;N;;;;;
+C24F;HANGUL SYLLABLE SWEOH;Lo;0;L;;;;;N;;;;;
+C250;HANGUL SYLLABLE SWE;Lo;0;L;;;;;N;;;;;
+C251;HANGUL SYLLABLE SWEG;Lo;0;L;;;;;N;;;;;
+C252;HANGUL SYLLABLE SWEGG;Lo;0;L;;;;;N;;;;;
+C253;HANGUL SYLLABLE SWEGS;Lo;0;L;;;;;N;;;;;
+C254;HANGUL SYLLABLE SWEN;Lo;0;L;;;;;N;;;;;
+C255;HANGUL SYLLABLE SWENI;Lo;0;L;;;;;N;;;;;
+C256;HANGUL SYLLABLE SWENH;Lo;0;L;;;;;N;;;;;
+C257;HANGUL SYLLABLE SWED;Lo;0;L;;;;;N;;;;;
+C258;HANGUL SYLLABLE SWEL;Lo;0;L;;;;;N;;;;;
+C259;HANGUL SYLLABLE SWELG;Lo;0;L;;;;;N;;;;;
+C25A;HANGUL SYLLABLE SWELM;Lo;0;L;;;;;N;;;;;
+C25B;HANGUL SYLLABLE SWELB;Lo;0;L;;;;;N;;;;;
+C25C;HANGUL SYLLABLE SWELS;Lo;0;L;;;;;N;;;;;
+C25D;HANGUL SYLLABLE SWELT;Lo;0;L;;;;;N;;;;;
+C25E;HANGUL SYLLABLE SWELP;Lo;0;L;;;;;N;;;;;
+C25F;HANGUL SYLLABLE SWELH;Lo;0;L;;;;;N;;;;;
+C260;HANGUL SYLLABLE SWEM;Lo;0;L;;;;;N;;;;;
+C261;HANGUL SYLLABLE SWEB;Lo;0;L;;;;;N;;;;;
+C262;HANGUL SYLLABLE SWEBS;Lo;0;L;;;;;N;;;;;
+C263;HANGUL SYLLABLE SWES;Lo;0;L;;;;;N;;;;;
+C264;HANGUL SYLLABLE SWESS;Lo;0;L;;;;;N;;;;;
+C265;HANGUL SYLLABLE SWENG;Lo;0;L;;;;;N;;;;;
+C266;HANGUL SYLLABLE SWEJ;Lo;0;L;;;;;N;;;;;
+C267;HANGUL SYLLABLE SWEC;Lo;0;L;;;;;N;;;;;
+C268;HANGUL SYLLABLE SWEK;Lo;0;L;;;;;N;;;;;
+C269;HANGUL SYLLABLE SWET;Lo;0;L;;;;;N;;;;;
+C26A;HANGUL SYLLABLE SWEP;Lo;0;L;;;;;N;;;;;
+C26B;HANGUL SYLLABLE SWEH;Lo;0;L;;;;;N;;;;;
+C26C;HANGUL SYLLABLE SWI;Lo;0;L;;;;;N;;;;;
+C26D;HANGUL SYLLABLE SWIG;Lo;0;L;;;;;N;;;;;
+C26E;HANGUL SYLLABLE SWIGG;Lo;0;L;;;;;N;;;;;
+C26F;HANGUL SYLLABLE SWIGS;Lo;0;L;;;;;N;;;;;
+C270;HANGUL SYLLABLE SWIN;Lo;0;L;;;;;N;;;;;
+C271;HANGUL SYLLABLE SWINI;Lo;0;L;;;;;N;;;;;
+C272;HANGUL SYLLABLE SWINH;Lo;0;L;;;;;N;;;;;
+C273;HANGUL SYLLABLE SWID;Lo;0;L;;;;;N;;;;;
+C274;HANGUL SYLLABLE SWIL;Lo;0;L;;;;;N;;;;;
+C275;HANGUL SYLLABLE SWILG;Lo;0;L;;;;;N;;;;;
+C276;HANGUL SYLLABLE SWILM;Lo;0;L;;;;;N;;;;;
+C277;HANGUL SYLLABLE SWILB;Lo;0;L;;;;;N;;;;;
+C278;HANGUL SYLLABLE SWILS;Lo;0;L;;;;;N;;;;;
+C279;HANGUL SYLLABLE SWILT;Lo;0;L;;;;;N;;;;;
+C27A;HANGUL SYLLABLE SWILP;Lo;0;L;;;;;N;;;;;
+C27B;HANGUL SYLLABLE SWILH;Lo;0;L;;;;;N;;;;;
+C27C;HANGUL SYLLABLE SWIM;Lo;0;L;;;;;N;;;;;
+C27D;HANGUL SYLLABLE SWIB;Lo;0;L;;;;;N;;;;;
+C27E;HANGUL SYLLABLE SWIBS;Lo;0;L;;;;;N;;;;;
+C27F;HANGUL SYLLABLE SWIS;Lo;0;L;;;;;N;;;;;
+C280;HANGUL SYLLABLE SWISS;Lo;0;L;;;;;N;;;;;
+C281;HANGUL SYLLABLE SWING;Lo;0;L;;;;;N;;;;;
+C282;HANGUL SYLLABLE SWIJ;Lo;0;L;;;;;N;;;;;
+C283;HANGUL SYLLABLE SWIC;Lo;0;L;;;;;N;;;;;
+C284;HANGUL SYLLABLE SWIK;Lo;0;L;;;;;N;;;;;
+C285;HANGUL SYLLABLE SWIT;Lo;0;L;;;;;N;;;;;
+C286;HANGUL SYLLABLE SWIP;Lo;0;L;;;;;N;;;;;
+C287;HANGUL SYLLABLE SWIH;Lo;0;L;;;;;N;;;;;
+C288;HANGUL SYLLABLE SYU;Lo;0;L;;;;;N;;;;;
+C289;HANGUL SYLLABLE SYUG;Lo;0;L;;;;;N;;;;;
+C28A;HANGUL SYLLABLE SYUGG;Lo;0;L;;;;;N;;;;;
+C28B;HANGUL SYLLABLE SYUGS;Lo;0;L;;;;;N;;;;;
+C28C;HANGUL SYLLABLE SYUN;Lo;0;L;;;;;N;;;;;
+C28D;HANGUL SYLLABLE SYUNI;Lo;0;L;;;;;N;;;;;
+C28E;HANGUL SYLLABLE SYUNH;Lo;0;L;;;;;N;;;;;
+C28F;HANGUL SYLLABLE SYUD;Lo;0;L;;;;;N;;;;;
+C290;HANGUL SYLLABLE SYUL;Lo;0;L;;;;;N;;;;;
+C291;HANGUL SYLLABLE SYULG;Lo;0;L;;;;;N;;;;;
+C292;HANGUL SYLLABLE SYULM;Lo;0;L;;;;;N;;;;;
+C293;HANGUL SYLLABLE SYULB;Lo;0;L;;;;;N;;;;;
+C294;HANGUL SYLLABLE SYULS;Lo;0;L;;;;;N;;;;;
+C295;HANGUL SYLLABLE SYULT;Lo;0;L;;;;;N;;;;;
+C296;HANGUL SYLLABLE SYULP;Lo;0;L;;;;;N;;;;;
+C297;HANGUL SYLLABLE SYULH;Lo;0;L;;;;;N;;;;;
+C298;HANGUL SYLLABLE SYUM;Lo;0;L;;;;;N;;;;;
+C299;HANGUL SYLLABLE SYUB;Lo;0;L;;;;;N;;;;;
+C29A;HANGUL SYLLABLE SYUBS;Lo;0;L;;;;;N;;;;;
+C29B;HANGUL SYLLABLE SYUS;Lo;0;L;;;;;N;;;;;
+C29C;HANGUL SYLLABLE SYUSS;Lo;0;L;;;;;N;;;;;
+C29D;HANGUL SYLLABLE SYUNG;Lo;0;L;;;;;N;;;;;
+C29E;HANGUL SYLLABLE SYUJ;Lo;0;L;;;;;N;;;;;
+C29F;HANGUL SYLLABLE SYUC;Lo;0;L;;;;;N;;;;;
+C2A0;HANGUL SYLLABLE SYUK;Lo;0;L;;;;;N;;;;;
+C2A1;HANGUL SYLLABLE SYUT;Lo;0;L;;;;;N;;;;;
+C2A2;HANGUL SYLLABLE SYUP;Lo;0;L;;;;;N;;;;;
+C2A3;HANGUL SYLLABLE SYUH;Lo;0;L;;;;;N;;;;;
+C2A4;HANGUL SYLLABLE SEU;Lo;0;L;;;;;N;;;;;
+C2A5;HANGUL SYLLABLE SEUG;Lo;0;L;;;;;N;;;;;
+C2A6;HANGUL SYLLABLE SEUGG;Lo;0;L;;;;;N;;;;;
+C2A7;HANGUL SYLLABLE SEUGS;Lo;0;L;;;;;N;;;;;
+C2A8;HANGUL SYLLABLE SEUN;Lo;0;L;;;;;N;;;;;
+C2A9;HANGUL SYLLABLE SEUNI;Lo;0;L;;;;;N;;;;;
+C2AA;HANGUL SYLLABLE SEUNH;Lo;0;L;;;;;N;;;;;
+C2AB;HANGUL SYLLABLE SEUD;Lo;0;L;;;;;N;;;;;
+C2AC;HANGUL SYLLABLE SEUL;Lo;0;L;;;;;N;;;;;
+C2AD;HANGUL SYLLABLE SEULG;Lo;0;L;;;;;N;;;;;
+C2AE;HANGUL SYLLABLE SEULM;Lo;0;L;;;;;N;;;;;
+C2AF;HANGUL SYLLABLE SEULB;Lo;0;L;;;;;N;;;;;
+C2B0;HANGUL SYLLABLE SEULS;Lo;0;L;;;;;N;;;;;
+C2B1;HANGUL SYLLABLE SEULT;Lo;0;L;;;;;N;;;;;
+C2B2;HANGUL SYLLABLE SEULP;Lo;0;L;;;;;N;;;;;
+C2B3;HANGUL SYLLABLE SEULH;Lo;0;L;;;;;N;;;;;
+C2B4;HANGUL SYLLABLE SEUM;Lo;0;L;;;;;N;;;;;
+C2B5;HANGUL SYLLABLE SEUB;Lo;0;L;;;;;N;;;;;
+C2B6;HANGUL SYLLABLE SEUBS;Lo;0;L;;;;;N;;;;;
+C2B7;HANGUL SYLLABLE SEUS;Lo;0;L;;;;;N;;;;;
+C2B8;HANGUL SYLLABLE SEUSS;Lo;0;L;;;;;N;;;;;
+C2B9;HANGUL SYLLABLE SEUNG;Lo;0;L;;;;;N;;;;;
+C2BA;HANGUL SYLLABLE SEUJ;Lo;0;L;;;;;N;;;;;
+C2BB;HANGUL SYLLABLE SEUC;Lo;0;L;;;;;N;;;;;
+C2BC;HANGUL SYLLABLE SEUK;Lo;0;L;;;;;N;;;;;
+C2BD;HANGUL SYLLABLE SEUT;Lo;0;L;;;;;N;;;;;
+C2BE;HANGUL SYLLABLE SEUP;Lo;0;L;;;;;N;;;;;
+C2BF;HANGUL SYLLABLE SEUH;Lo;0;L;;;;;N;;;;;
+C2C0;HANGUL SYLLABLE SYI;Lo;0;L;;;;;N;;;;;
+C2C1;HANGUL SYLLABLE SYIG;Lo;0;L;;;;;N;;;;;
+C2C2;HANGUL SYLLABLE SYIGG;Lo;0;L;;;;;N;;;;;
+C2C3;HANGUL SYLLABLE SYIGS;Lo;0;L;;;;;N;;;;;
+C2C4;HANGUL SYLLABLE SYIN;Lo;0;L;;;;;N;;;;;
+C2C5;HANGUL SYLLABLE SYINI;Lo;0;L;;;;;N;;;;;
+C2C6;HANGUL SYLLABLE SYINH;Lo;0;L;;;;;N;;;;;
+C2C7;HANGUL SYLLABLE SYID;Lo;0;L;;;;;N;;;;;
+C2C8;HANGUL SYLLABLE SYIL;Lo;0;L;;;;;N;;;;;
+C2C9;HANGUL SYLLABLE SYILG;Lo;0;L;;;;;N;;;;;
+C2CA;HANGUL SYLLABLE SYILM;Lo;0;L;;;;;N;;;;;
+C2CB;HANGUL SYLLABLE SYILB;Lo;0;L;;;;;N;;;;;
+C2CC;HANGUL SYLLABLE SYILS;Lo;0;L;;;;;N;;;;;
+C2CD;HANGUL SYLLABLE SYILT;Lo;0;L;;;;;N;;;;;
+C2CE;HANGUL SYLLABLE SYILP;Lo;0;L;;;;;N;;;;;
+C2CF;HANGUL SYLLABLE SYILH;Lo;0;L;;;;;N;;;;;
+C2D0;HANGUL SYLLABLE SYIM;Lo;0;L;;;;;N;;;;;
+C2D1;HANGUL SYLLABLE SYIB;Lo;0;L;;;;;N;;;;;
+C2D2;HANGUL SYLLABLE SYIBS;Lo;0;L;;;;;N;;;;;
+C2D3;HANGUL SYLLABLE SYIS;Lo;0;L;;;;;N;;;;;
+C2D4;HANGUL SYLLABLE SYISS;Lo;0;L;;;;;N;;;;;
+C2D5;HANGUL SYLLABLE SYING;Lo;0;L;;;;;N;;;;;
+C2D6;HANGUL SYLLABLE SYIJ;Lo;0;L;;;;;N;;;;;
+C2D7;HANGUL SYLLABLE SYIC;Lo;0;L;;;;;N;;;;;
+C2D8;HANGUL SYLLABLE SYIK;Lo;0;L;;;;;N;;;;;
+C2D9;HANGUL SYLLABLE SYIT;Lo;0;L;;;;;N;;;;;
+C2DA;HANGUL SYLLABLE SYIP;Lo;0;L;;;;;N;;;;;
+C2DB;HANGUL SYLLABLE SYIH;Lo;0;L;;;;;N;;;;;
+C2DC;HANGUL SYLLABLE SI;Lo;0;L;;;;;N;;;;;
+C2DD;HANGUL SYLLABLE SIG;Lo;0;L;;;;;N;;;;;
+C2DE;HANGUL SYLLABLE SIGG;Lo;0;L;;;;;N;;;;;
+C2DF;HANGUL SYLLABLE SIGS;Lo;0;L;;;;;N;;;;;
+C2E0;HANGUL SYLLABLE SIN;Lo;0;L;;;;;N;;;;;
+C2E1;HANGUL SYLLABLE SINI;Lo;0;L;;;;;N;;;;;
+C2E2;HANGUL SYLLABLE SINH;Lo;0;L;;;;;N;;;;;
+C2E3;HANGUL SYLLABLE SID;Lo;0;L;;;;;N;;;;;
+C2E4;HANGUL SYLLABLE SIL;Lo;0;L;;;;;N;;;;;
+C2E5;HANGUL SYLLABLE SILG;Lo;0;L;;;;;N;;;;;
+C2E6;HANGUL SYLLABLE SILM;Lo;0;L;;;;;N;;;;;
+C2E7;HANGUL SYLLABLE SILB;Lo;0;L;;;;;N;;;;;
+C2E8;HANGUL SYLLABLE SILS;Lo;0;L;;;;;N;;;;;
+C2E9;HANGUL SYLLABLE SILT;Lo;0;L;;;;;N;;;;;
+C2EA;HANGUL SYLLABLE SILP;Lo;0;L;;;;;N;;;;;
+C2EB;HANGUL SYLLABLE SILH;Lo;0;L;;;;;N;;;;;
+C2EC;HANGUL SYLLABLE SIM;Lo;0;L;;;;;N;;;;;
+C2ED;HANGUL SYLLABLE SIB;Lo;0;L;;;;;N;;;;;
+C2EE;HANGUL SYLLABLE SIBS;Lo;0;L;;;;;N;;;;;
+C2EF;HANGUL SYLLABLE SIS;Lo;0;L;;;;;N;;;;;
+C2F0;HANGUL SYLLABLE SISS;Lo;0;L;;;;;N;;;;;
+C2F1;HANGUL SYLLABLE SING;Lo;0;L;;;;;N;;;;;
+C2F2;HANGUL SYLLABLE SIJ;Lo;0;L;;;;;N;;;;;
+C2F3;HANGUL SYLLABLE SIC;Lo;0;L;;;;;N;;;;;
+C2F4;HANGUL SYLLABLE SIK;Lo;0;L;;;;;N;;;;;
+C2F5;HANGUL SYLLABLE SIT;Lo;0;L;;;;;N;;;;;
+C2F6;HANGUL SYLLABLE SIP;Lo;0;L;;;;;N;;;;;
+C2F7;HANGUL SYLLABLE SIH;Lo;0;L;;;;;N;;;;;
+C2F8;HANGUL SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
+C2F9;HANGUL SYLLABLE SSAG;Lo;0;L;;;;;N;;;;;
+C2FA;HANGUL SYLLABLE SSAGG;Lo;0;L;;;;;N;;;;;
+C2FB;HANGUL SYLLABLE SSAGS;Lo;0;L;;;;;N;;;;;
+C2FC;HANGUL SYLLABLE SSAN;Lo;0;L;;;;;N;;;;;
+C2FD;HANGUL SYLLABLE SSANI;Lo;0;L;;;;;N;;;;;
+C2FE;HANGUL SYLLABLE SSANH;Lo;0;L;;;;;N;;;;;
+C2FF;HANGUL SYLLABLE SSAD;Lo;0;L;;;;;N;;;;;
+C300;HANGUL SYLLABLE SSAL;Lo;0;L;;;;;N;;;;;
+C301;HANGUL SYLLABLE SSALG;Lo;0;L;;;;;N;;;;;
+C302;HANGUL SYLLABLE SSALM;Lo;0;L;;;;;N;;;;;
+C303;HANGUL SYLLABLE SSALB;Lo;0;L;;;;;N;;;;;
+C304;HANGUL SYLLABLE SSALS;Lo;0;L;;;;;N;;;;;
+C305;HANGUL SYLLABLE SSALT;Lo;0;L;;;;;N;;;;;
+C306;HANGUL SYLLABLE SSALP;Lo;0;L;;;;;N;;;;;
+C307;HANGUL SYLLABLE SSALH;Lo;0;L;;;;;N;;;;;
+C308;HANGUL SYLLABLE SSAM;Lo;0;L;;;;;N;;;;;
+C309;HANGUL SYLLABLE SSAB;Lo;0;L;;;;;N;;;;;
+C30A;HANGUL SYLLABLE SSABS;Lo;0;L;;;;;N;;;;;
+C30B;HANGUL SYLLABLE SSAS;Lo;0;L;;;;;N;;;;;
+C30C;HANGUL SYLLABLE SSASS;Lo;0;L;;;;;N;;;;;
+C30D;HANGUL SYLLABLE SSANG;Lo;0;L;;;;;N;;;;;
+C30E;HANGUL SYLLABLE SSAJ;Lo;0;L;;;;;N;;;;;
+C30F;HANGUL SYLLABLE SSAC;Lo;0;L;;;;;N;;;;;
+C310;HANGUL SYLLABLE SSAK;Lo;0;L;;;;;N;;;;;
+C311;HANGUL SYLLABLE SSAT;Lo;0;L;;;;;N;;;;;
+C312;HANGUL SYLLABLE SSAP;Lo;0;L;;;;;N;;;;;
+C313;HANGUL SYLLABLE SSAH;Lo;0;L;;;;;N;;;;;
+C314;HANGUL SYLLABLE SSAE;Lo;0;L;;;;;N;;;;;
+C315;HANGUL SYLLABLE SSAEG;Lo;0;L;;;;;N;;;;;
+C316;HANGUL SYLLABLE SSAEGG;Lo;0;L;;;;;N;;;;;
+C317;HANGUL SYLLABLE SSAEGS;Lo;0;L;;;;;N;;;;;
+C318;HANGUL SYLLABLE SSAEN;Lo;0;L;;;;;N;;;;;
+C319;HANGUL SYLLABLE SSAENI;Lo;0;L;;;;;N;;;;;
+C31A;HANGUL SYLLABLE SSAENH;Lo;0;L;;;;;N;;;;;
+C31B;HANGUL SYLLABLE SSAED;Lo;0;L;;;;;N;;;;;
+C31C;HANGUL SYLLABLE SSAEL;Lo;0;L;;;;;N;;;;;
+C31D;HANGUL SYLLABLE SSAELG;Lo;0;L;;;;;N;;;;;
+C31E;HANGUL SYLLABLE SSAELM;Lo;0;L;;;;;N;;;;;
+C31F;HANGUL SYLLABLE SSAELB;Lo;0;L;;;;;N;;;;;
+C320;HANGUL SYLLABLE SSAELS;Lo;0;L;;;;;N;;;;;
+C321;HANGUL SYLLABLE SSAELT;Lo;0;L;;;;;N;;;;;
+C322;HANGUL SYLLABLE SSAELP;Lo;0;L;;;;;N;;;;;
+C323;HANGUL SYLLABLE SSAELH;Lo;0;L;;;;;N;;;;;
+C324;HANGUL SYLLABLE SSAEM;Lo;0;L;;;;;N;;;;;
+C325;HANGUL SYLLABLE SSAEB;Lo;0;L;;;;;N;;;;;
+C326;HANGUL SYLLABLE SSAEBS;Lo;0;L;;;;;N;;;;;
+C327;HANGUL SYLLABLE SSAES;Lo;0;L;;;;;N;;;;;
+C328;HANGUL SYLLABLE SSAESS;Lo;0;L;;;;;N;;;;;
+C329;HANGUL SYLLABLE SSAENG;Lo;0;L;;;;;N;;;;;
+C32A;HANGUL SYLLABLE SSAEJ;Lo;0;L;;;;;N;;;;;
+C32B;HANGUL SYLLABLE SSAEC;Lo;0;L;;;;;N;;;;;
+C32C;HANGUL SYLLABLE SSAEK;Lo;0;L;;;;;N;;;;;
+C32D;HANGUL SYLLABLE SSAET;Lo;0;L;;;;;N;;;;;
+C32E;HANGUL SYLLABLE SSAEP;Lo;0;L;;;;;N;;;;;
+C32F;HANGUL SYLLABLE SSAEH;Lo;0;L;;;;;N;;;;;
+C330;HANGUL SYLLABLE SSYA;Lo;0;L;;;;;N;;;;;
+C331;HANGUL SYLLABLE SSYAG;Lo;0;L;;;;;N;;;;;
+C332;HANGUL SYLLABLE SSYAGG;Lo;0;L;;;;;N;;;;;
+C333;HANGUL SYLLABLE SSYAGS;Lo;0;L;;;;;N;;;;;
+C334;HANGUL SYLLABLE SSYAN;Lo;0;L;;;;;N;;;;;
+C335;HANGUL SYLLABLE SSYANI;Lo;0;L;;;;;N;;;;;
+C336;HANGUL SYLLABLE SSYANH;Lo;0;L;;;;;N;;;;;
+C337;HANGUL SYLLABLE SSYAD;Lo;0;L;;;;;N;;;;;
+C338;HANGUL SYLLABLE SSYAL;Lo;0;L;;;;;N;;;;;
+C339;HANGUL SYLLABLE SSYALG;Lo;0;L;;;;;N;;;;;
+C33A;HANGUL SYLLABLE SSYALM;Lo;0;L;;;;;N;;;;;
+C33B;HANGUL SYLLABLE SSYALB;Lo;0;L;;;;;N;;;;;
+C33C;HANGUL SYLLABLE SSYALS;Lo;0;L;;;;;N;;;;;
+C33D;HANGUL SYLLABLE SSYALT;Lo;0;L;;;;;N;;;;;
+C33E;HANGUL SYLLABLE SSYALP;Lo;0;L;;;;;N;;;;;
+C33F;HANGUL SYLLABLE SSYALH;Lo;0;L;;;;;N;;;;;
+C340;HANGUL SYLLABLE SSYAM;Lo;0;L;;;;;N;;;;;
+C341;HANGUL SYLLABLE SSYAB;Lo;0;L;;;;;N;;;;;
+C342;HANGUL SYLLABLE SSYABS;Lo;0;L;;;;;N;;;;;
+C343;HANGUL SYLLABLE SSYAS;Lo;0;L;;;;;N;;;;;
+C344;HANGUL SYLLABLE SSYASS;Lo;0;L;;;;;N;;;;;
+C345;HANGUL SYLLABLE SSYANG;Lo;0;L;;;;;N;;;;;
+C346;HANGUL SYLLABLE SSYAJ;Lo;0;L;;;;;N;;;;;
+C347;HANGUL SYLLABLE SSYAC;Lo;0;L;;;;;N;;;;;
+C348;HANGUL SYLLABLE SSYAK;Lo;0;L;;;;;N;;;;;
+C349;HANGUL SYLLABLE SSYAT;Lo;0;L;;;;;N;;;;;
+C34A;HANGUL SYLLABLE SSYAP;Lo;0;L;;;;;N;;;;;
+C34B;HANGUL SYLLABLE SSYAH;Lo;0;L;;;;;N;;;;;
+C34C;HANGUL SYLLABLE SSYAE;Lo;0;L;;;;;N;;;;;
+C34D;HANGUL SYLLABLE SSYAEG;Lo;0;L;;;;;N;;;;;
+C34E;HANGUL SYLLABLE SSYAEGG;Lo;0;L;;;;;N;;;;;
+C34F;HANGUL SYLLABLE SSYAEGS;Lo;0;L;;;;;N;;;;;
+C350;HANGUL SYLLABLE SSYAEN;Lo;0;L;;;;;N;;;;;
+C351;HANGUL SYLLABLE SSYAENI;Lo;0;L;;;;;N;;;;;
+C352;HANGUL SYLLABLE SSYAENH;Lo;0;L;;;;;N;;;;;
+C353;HANGUL SYLLABLE SSYAED;Lo;0;L;;;;;N;;;;;
+C354;HANGUL SYLLABLE SSYAEL;Lo;0;L;;;;;N;;;;;
+C355;HANGUL SYLLABLE SSYAELG;Lo;0;L;;;;;N;;;;;
+C356;HANGUL SYLLABLE SSYAELM;Lo;0;L;;;;;N;;;;;
+C357;HANGUL SYLLABLE SSYAELB;Lo;0;L;;;;;N;;;;;
+C358;HANGUL SYLLABLE SSYAELS;Lo;0;L;;;;;N;;;;;
+C359;HANGUL SYLLABLE SSYAELT;Lo;0;L;;;;;N;;;;;
+C35A;HANGUL SYLLABLE SSYAELP;Lo;0;L;;;;;N;;;;;
+C35B;HANGUL SYLLABLE SSYAELH;Lo;0;L;;;;;N;;;;;
+C35C;HANGUL SYLLABLE SSYAEM;Lo;0;L;;;;;N;;;;;
+C35D;HANGUL SYLLABLE SSYAEB;Lo;0;L;;;;;N;;;;;
+C35E;HANGUL SYLLABLE SSYAEBS;Lo;0;L;;;;;N;;;;;
+C35F;HANGUL SYLLABLE SSYAES;Lo;0;L;;;;;N;;;;;
+C360;HANGUL SYLLABLE SSYAESS;Lo;0;L;;;;;N;;;;;
+C361;HANGUL SYLLABLE SSYAENG;Lo;0;L;;;;;N;;;;;
+C362;HANGUL SYLLABLE SSYAEJ;Lo;0;L;;;;;N;;;;;
+C363;HANGUL SYLLABLE SSYAEC;Lo;0;L;;;;;N;;;;;
+C364;HANGUL SYLLABLE SSYAEK;Lo;0;L;;;;;N;;;;;
+C365;HANGUL SYLLABLE SSYAET;Lo;0;L;;;;;N;;;;;
+C366;HANGUL SYLLABLE SSYAEP;Lo;0;L;;;;;N;;;;;
+C367;HANGUL SYLLABLE SSYAEH;Lo;0;L;;;;;N;;;;;
+C368;HANGUL SYLLABLE SSEO;Lo;0;L;;;;;N;;;;;
+C369;HANGUL SYLLABLE SSEOG;Lo;0;L;;;;;N;;;;;
+C36A;HANGUL SYLLABLE SSEOGG;Lo;0;L;;;;;N;;;;;
+C36B;HANGUL SYLLABLE SSEOGS;Lo;0;L;;;;;N;;;;;
+C36C;HANGUL SYLLABLE SSEON;Lo;0;L;;;;;N;;;;;
+C36D;HANGUL SYLLABLE SSEONI;Lo;0;L;;;;;N;;;;;
+C36E;HANGUL SYLLABLE SSEONH;Lo;0;L;;;;;N;;;;;
+C36F;HANGUL SYLLABLE SSEOD;Lo;0;L;;;;;N;;;;;
+C370;HANGUL SYLLABLE SSEOL;Lo;0;L;;;;;N;;;;;
+C371;HANGUL SYLLABLE SSEOLG;Lo;0;L;;;;;N;;;;;
+C372;HANGUL SYLLABLE SSEOLM;Lo;0;L;;;;;N;;;;;
+C373;HANGUL SYLLABLE SSEOLB;Lo;0;L;;;;;N;;;;;
+C374;HANGUL SYLLABLE SSEOLS;Lo;0;L;;;;;N;;;;;
+C375;HANGUL SYLLABLE SSEOLT;Lo;0;L;;;;;N;;;;;
+C376;HANGUL SYLLABLE SSEOLP;Lo;0;L;;;;;N;;;;;
+C377;HANGUL SYLLABLE SSEOLH;Lo;0;L;;;;;N;;;;;
+C378;HANGUL SYLLABLE SSEOM;Lo;0;L;;;;;N;;;;;
+C379;HANGUL SYLLABLE SSEOB;Lo;0;L;;;;;N;;;;;
+C37A;HANGUL SYLLABLE SSEOBS;Lo;0;L;;;;;N;;;;;
+C37B;HANGUL SYLLABLE SSEOS;Lo;0;L;;;;;N;;;;;
+C37C;HANGUL SYLLABLE SSEOSS;Lo;0;L;;;;;N;;;;;
+C37D;HANGUL SYLLABLE SSEONG;Lo;0;L;;;;;N;;;;;
+C37E;HANGUL SYLLABLE SSEOJ;Lo;0;L;;;;;N;;;;;
+C37F;HANGUL SYLLABLE SSEOC;Lo;0;L;;;;;N;;;;;
+C380;HANGUL SYLLABLE SSEOK;Lo;0;L;;;;;N;;;;;
+C381;HANGUL SYLLABLE SSEOT;Lo;0;L;;;;;N;;;;;
+C382;HANGUL SYLLABLE SSEOP;Lo;0;L;;;;;N;;;;;
+C383;HANGUL SYLLABLE SSEOH;Lo;0;L;;;;;N;;;;;
+C384;HANGUL SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
+C385;HANGUL SYLLABLE SSEG;Lo;0;L;;;;;N;;;;;
+C386;HANGUL SYLLABLE SSEGG;Lo;0;L;;;;;N;;;;;
+C387;HANGUL SYLLABLE SSEGS;Lo;0;L;;;;;N;;;;;
+C388;HANGUL SYLLABLE SSEN;Lo;0;L;;;;;N;;;;;
+C389;HANGUL SYLLABLE SSENI;Lo;0;L;;;;;N;;;;;
+C38A;HANGUL SYLLABLE SSENH;Lo;0;L;;;;;N;;;;;
+C38B;HANGUL SYLLABLE SSED;Lo;0;L;;;;;N;;;;;
+C38C;HANGUL SYLLABLE SSEL;Lo;0;L;;;;;N;;;;;
+C38D;HANGUL SYLLABLE SSELG;Lo;0;L;;;;;N;;;;;
+C38E;HANGUL SYLLABLE SSELM;Lo;0;L;;;;;N;;;;;
+C38F;HANGUL SYLLABLE SSELB;Lo;0;L;;;;;N;;;;;
+C390;HANGUL SYLLABLE SSELS;Lo;0;L;;;;;N;;;;;
+C391;HANGUL SYLLABLE SSELT;Lo;0;L;;;;;N;;;;;
+C392;HANGUL SYLLABLE SSELP;Lo;0;L;;;;;N;;;;;
+C393;HANGUL SYLLABLE SSELH;Lo;0;L;;;;;N;;;;;
+C394;HANGUL SYLLABLE SSEM;Lo;0;L;;;;;N;;;;;
+C395;HANGUL SYLLABLE SSEB;Lo;0;L;;;;;N;;;;;
+C396;HANGUL SYLLABLE SSEBS;Lo;0;L;;;;;N;;;;;
+C397;HANGUL SYLLABLE SSES;Lo;0;L;;;;;N;;;;;
+C398;HANGUL SYLLABLE SSESS;Lo;0;L;;;;;N;;;;;
+C399;HANGUL SYLLABLE SSENG;Lo;0;L;;;;;N;;;;;
+C39A;HANGUL SYLLABLE SSEJ;Lo;0;L;;;;;N;;;;;
+C39B;HANGUL SYLLABLE SSEC;Lo;0;L;;;;;N;;;;;
+C39C;HANGUL SYLLABLE SSEK;Lo;0;L;;;;;N;;;;;
+C39D;HANGUL SYLLABLE SSET;Lo;0;L;;;;;N;;;;;
+C39E;HANGUL SYLLABLE SSEP;Lo;0;L;;;;;N;;;;;
+C39F;HANGUL SYLLABLE SSEH;Lo;0;L;;;;;N;;;;;
+C3A0;HANGUL SYLLABLE SSYEO;Lo;0;L;;;;;N;;;;;
+C3A1;HANGUL SYLLABLE SSYEOG;Lo;0;L;;;;;N;;;;;
+C3A2;HANGUL SYLLABLE SSYEOGG;Lo;0;L;;;;;N;;;;;
+C3A3;HANGUL SYLLABLE SSYEOGS;Lo;0;L;;;;;N;;;;;
+C3A4;HANGUL SYLLABLE SSYEON;Lo;0;L;;;;;N;;;;;
+C3A5;HANGUL SYLLABLE SSYEONI;Lo;0;L;;;;;N;;;;;
+C3A6;HANGUL SYLLABLE SSYEONH;Lo;0;L;;;;;N;;;;;
+C3A7;HANGUL SYLLABLE SSYEOD;Lo;0;L;;;;;N;;;;;
+C3A8;HANGUL SYLLABLE SSYEOL;Lo;0;L;;;;;N;;;;;
+C3A9;HANGUL SYLLABLE SSYEOLG;Lo;0;L;;;;;N;;;;;
+C3AA;HANGUL SYLLABLE SSYEOLM;Lo;0;L;;;;;N;;;;;
+C3AB;HANGUL SYLLABLE SSYEOLB;Lo;0;L;;;;;N;;;;;
+C3AC;HANGUL SYLLABLE SSYEOLS;Lo;0;L;;;;;N;;;;;
+C3AD;HANGUL SYLLABLE SSYEOLT;Lo;0;L;;;;;N;;;;;
+C3AE;HANGUL SYLLABLE SSYEOLP;Lo;0;L;;;;;N;;;;;
+C3AF;HANGUL SYLLABLE SSYEOLH;Lo;0;L;;;;;N;;;;;
+C3B0;HANGUL SYLLABLE SSYEOM;Lo;0;L;;;;;N;;;;;
+C3B1;HANGUL SYLLABLE SSYEOB;Lo;0;L;;;;;N;;;;;
+C3B2;HANGUL SYLLABLE SSYEOBS;Lo;0;L;;;;;N;;;;;
+C3B3;HANGUL SYLLABLE SSYEOS;Lo;0;L;;;;;N;;;;;
+C3B4;HANGUL SYLLABLE SSYEOSS;Lo;0;L;;;;;N;;;;;
+C3B5;HANGUL SYLLABLE SSYEONG;Lo;0;L;;;;;N;;;;;
+C3B6;HANGUL SYLLABLE SSYEOJ;Lo;0;L;;;;;N;;;;;
+C3B7;HANGUL SYLLABLE SSYEOC;Lo;0;L;;;;;N;;;;;
+C3B8;HANGUL SYLLABLE SSYEOK;Lo;0;L;;;;;N;;;;;
+C3B9;HANGUL SYLLABLE SSYEOT;Lo;0;L;;;;;N;;;;;
+C3BA;HANGUL SYLLABLE SSYEOP;Lo;0;L;;;;;N;;;;;
+C3BB;HANGUL SYLLABLE SSYEOH;Lo;0;L;;;;;N;;;;;
+C3BC;HANGUL SYLLABLE SSYE;Lo;0;L;;;;;N;;;;;
+C3BD;HANGUL SYLLABLE SSYEG;Lo;0;L;;;;;N;;;;;
+C3BE;HANGUL SYLLABLE SSYEGG;Lo;0;L;;;;;N;;;;;
+C3BF;HANGUL SYLLABLE SSYEGS;Lo;0;L;;;;;N;;;;;
+C3C0;HANGUL SYLLABLE SSYEN;Lo;0;L;;;;;N;;;;;
+C3C1;HANGUL SYLLABLE SSYENI;Lo;0;L;;;;;N;;;;;
+C3C2;HANGUL SYLLABLE SSYENH;Lo;0;L;;;;;N;;;;;
+C3C3;HANGUL SYLLABLE SSYED;Lo;0;L;;;;;N;;;;;
+C3C4;HANGUL SYLLABLE SSYEL;Lo;0;L;;;;;N;;;;;
+C3C5;HANGUL SYLLABLE SSYELG;Lo;0;L;;;;;N;;;;;
+C3C6;HANGUL SYLLABLE SSYELM;Lo;0;L;;;;;N;;;;;
+C3C7;HANGUL SYLLABLE SSYELB;Lo;0;L;;;;;N;;;;;
+C3C8;HANGUL SYLLABLE SSYELS;Lo;0;L;;;;;N;;;;;
+C3C9;HANGUL SYLLABLE SSYELT;Lo;0;L;;;;;N;;;;;
+C3CA;HANGUL SYLLABLE SSYELP;Lo;0;L;;;;;N;;;;;
+C3CB;HANGUL SYLLABLE SSYELH;Lo;0;L;;;;;N;;;;;
+C3CC;HANGUL SYLLABLE SSYEM;Lo;0;L;;;;;N;;;;;
+C3CD;HANGUL SYLLABLE SSYEB;Lo;0;L;;;;;N;;;;;
+C3CE;HANGUL SYLLABLE SSYEBS;Lo;0;L;;;;;N;;;;;
+C3CF;HANGUL SYLLABLE SSYES;Lo;0;L;;;;;N;;;;;
+C3D0;HANGUL SYLLABLE SSYESS;Lo;0;L;;;;;N;;;;;
+C3D1;HANGUL SYLLABLE SSYENG;Lo;0;L;;;;;N;;;;;
+C3D2;HANGUL SYLLABLE SSYEJ;Lo;0;L;;;;;N;;;;;
+C3D3;HANGUL SYLLABLE SSYEC;Lo;0;L;;;;;N;;;;;
+C3D4;HANGUL SYLLABLE SSYEK;Lo;0;L;;;;;N;;;;;
+C3D5;HANGUL SYLLABLE SSYET;Lo;0;L;;;;;N;;;;;
+C3D6;HANGUL SYLLABLE SSYEP;Lo;0;L;;;;;N;;;;;
+C3D7;HANGUL SYLLABLE SSYEH;Lo;0;L;;;;;N;;;;;
+C3D8;HANGUL SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
+C3D9;HANGUL SYLLABLE SSOG;Lo;0;L;;;;;N;;;;;
+C3DA;HANGUL SYLLABLE SSOGG;Lo;0;L;;;;;N;;;;;
+C3DB;HANGUL SYLLABLE SSOGS;Lo;0;L;;;;;N;;;;;
+C3DC;HANGUL SYLLABLE SSON;Lo;0;L;;;;;N;;;;;
+C3DD;HANGUL SYLLABLE SSONI;Lo;0;L;;;;;N;;;;;
+C3DE;HANGUL SYLLABLE SSONH;Lo;0;L;;;;;N;;;;;
+C3DF;HANGUL SYLLABLE SSOD;Lo;0;L;;;;;N;;;;;
+C3E0;HANGUL SYLLABLE SSOL;Lo;0;L;;;;;N;;;;;
+C3E1;HANGUL SYLLABLE SSOLG;Lo;0;L;;;;;N;;;;;
+C3E2;HANGUL SYLLABLE SSOLM;Lo;0;L;;;;;N;;;;;
+C3E3;HANGUL SYLLABLE SSOLB;Lo;0;L;;;;;N;;;;;
+C3E4;HANGUL SYLLABLE SSOLS;Lo;0;L;;;;;N;;;;;
+C3E5;HANGUL SYLLABLE SSOLT;Lo;0;L;;;;;N;;;;;
+C3E6;HANGUL SYLLABLE SSOLP;Lo;0;L;;;;;N;;;;;
+C3E7;HANGUL SYLLABLE SSOLH;Lo;0;L;;;;;N;;;;;
+C3E8;HANGUL SYLLABLE SSOM;Lo;0;L;;;;;N;;;;;
+C3E9;HANGUL SYLLABLE SSOB;Lo;0;L;;;;;N;;;;;
+C3EA;HANGUL SYLLABLE SSOBS;Lo;0;L;;;;;N;;;;;
+C3EB;HANGUL SYLLABLE SSOS;Lo;0;L;;;;;N;;;;;
+C3EC;HANGUL SYLLABLE SSOSS;Lo;0;L;;;;;N;;;;;
+C3ED;HANGUL SYLLABLE SSONG;Lo;0;L;;;;;N;;;;;
+C3EE;HANGUL SYLLABLE SSOJ;Lo;0;L;;;;;N;;;;;
+C3EF;HANGUL SYLLABLE SSOC;Lo;0;L;;;;;N;;;;;
+C3F0;HANGUL SYLLABLE SSOK;Lo;0;L;;;;;N;;;;;
+C3F1;HANGUL SYLLABLE SSOT;Lo;0;L;;;;;N;;;;;
+C3F2;HANGUL SYLLABLE SSOP;Lo;0;L;;;;;N;;;;;
+C3F3;HANGUL SYLLABLE SSOH;Lo;0;L;;;;;N;;;;;
+C3F4;HANGUL SYLLABLE SSWA;Lo;0;L;;;;;N;;;;;
+C3F5;HANGUL SYLLABLE SSWAG;Lo;0;L;;;;;N;;;;;
+C3F6;HANGUL SYLLABLE SSWAGG;Lo;0;L;;;;;N;;;;;
+C3F7;HANGUL SYLLABLE SSWAGS;Lo;0;L;;;;;N;;;;;
+C3F8;HANGUL SYLLABLE SSWAN;Lo;0;L;;;;;N;;;;;
+C3F9;HANGUL SYLLABLE SSWANI;Lo;0;L;;;;;N;;;;;
+C3FA;HANGUL SYLLABLE SSWANH;Lo;0;L;;;;;N;;;;;
+C3FB;HANGUL SYLLABLE SSWAD;Lo;0;L;;;;;N;;;;;
+C3FC;HANGUL SYLLABLE SSWAL;Lo;0;L;;;;;N;;;;;
+C3FD;HANGUL SYLLABLE SSWALG;Lo;0;L;;;;;N;;;;;
+C3FE;HANGUL SYLLABLE SSWALM;Lo;0;L;;;;;N;;;;;
+C3FF;HANGUL SYLLABLE SSWALB;Lo;0;L;;;;;N;;;;;
+C400;HANGUL SYLLABLE SSWALS;Lo;0;L;;;;;N;;;;;
+C401;HANGUL SYLLABLE SSWALT;Lo;0;L;;;;;N;;;;;
+C402;HANGUL SYLLABLE SSWALP;Lo;0;L;;;;;N;;;;;
+C403;HANGUL SYLLABLE SSWALH;Lo;0;L;;;;;N;;;;;
+C404;HANGUL SYLLABLE SSWAM;Lo;0;L;;;;;N;;;;;
+C405;HANGUL SYLLABLE SSWAB;Lo;0;L;;;;;N;;;;;
+C406;HANGUL SYLLABLE SSWABS;Lo;0;L;;;;;N;;;;;
+C407;HANGUL SYLLABLE SSWAS;Lo;0;L;;;;;N;;;;;
+C408;HANGUL SYLLABLE SSWASS;Lo;0;L;;;;;N;;;;;
+C409;HANGUL SYLLABLE SSWANG;Lo;0;L;;;;;N;;;;;
+C40A;HANGUL SYLLABLE SSWAJ;Lo;0;L;;;;;N;;;;;
+C40B;HANGUL SYLLABLE SSWAC;Lo;0;L;;;;;N;;;;;
+C40C;HANGUL SYLLABLE SSWAK;Lo;0;L;;;;;N;;;;;
+C40D;HANGUL SYLLABLE SSWAT;Lo;0;L;;;;;N;;;;;
+C40E;HANGUL SYLLABLE SSWAP;Lo;0;L;;;;;N;;;;;
+C40F;HANGUL SYLLABLE SSWAH;Lo;0;L;;;;;N;;;;;
+C410;HANGUL SYLLABLE SSWAE;Lo;0;L;;;;;N;;;;;
+C411;HANGUL SYLLABLE SSWAEG;Lo;0;L;;;;;N;;;;;
+C412;HANGUL SYLLABLE SSWAEGG;Lo;0;L;;;;;N;;;;;
+C413;HANGUL SYLLABLE SSWAEGS;Lo;0;L;;;;;N;;;;;
+C414;HANGUL SYLLABLE SSWAEN;Lo;0;L;;;;;N;;;;;
+C415;HANGUL SYLLABLE SSWAENI;Lo;0;L;;;;;N;;;;;
+C416;HANGUL SYLLABLE SSWAENH;Lo;0;L;;;;;N;;;;;
+C417;HANGUL SYLLABLE SSWAED;Lo;0;L;;;;;N;;;;;
+C418;HANGUL SYLLABLE SSWAEL;Lo;0;L;;;;;N;;;;;
+C419;HANGUL SYLLABLE SSWAELG;Lo;0;L;;;;;N;;;;;
+C41A;HANGUL SYLLABLE SSWAELM;Lo;0;L;;;;;N;;;;;
+C41B;HANGUL SYLLABLE SSWAELB;Lo;0;L;;;;;N;;;;;
+C41C;HANGUL SYLLABLE SSWAELS;Lo;0;L;;;;;N;;;;;
+C41D;HANGUL SYLLABLE SSWAELT;Lo;0;L;;;;;N;;;;;
+C41E;HANGUL SYLLABLE SSWAELP;Lo;0;L;;;;;N;;;;;
+C41F;HANGUL SYLLABLE SSWAELH;Lo;0;L;;;;;N;;;;;
+C420;HANGUL SYLLABLE SSWAEM;Lo;0;L;;;;;N;;;;;
+C421;HANGUL SYLLABLE SSWAEB;Lo;0;L;;;;;N;;;;;
+C422;HANGUL SYLLABLE SSWAEBS;Lo;0;L;;;;;N;;;;;
+C423;HANGUL SYLLABLE SSWAES;Lo;0;L;;;;;N;;;;;
+C424;HANGUL SYLLABLE SSWAESS;Lo;0;L;;;;;N;;;;;
+C425;HANGUL SYLLABLE SSWAENG;Lo;0;L;;;;;N;;;;;
+C426;HANGUL SYLLABLE SSWAEJ;Lo;0;L;;;;;N;;;;;
+C427;HANGUL SYLLABLE SSWAEC;Lo;0;L;;;;;N;;;;;
+C428;HANGUL SYLLABLE SSWAEK;Lo;0;L;;;;;N;;;;;
+C429;HANGUL SYLLABLE SSWAET;Lo;0;L;;;;;N;;;;;
+C42A;HANGUL SYLLABLE SSWAEP;Lo;0;L;;;;;N;;;;;
+C42B;HANGUL SYLLABLE SSWAEH;Lo;0;L;;;;;N;;;;;
+C42C;HANGUL SYLLABLE SSOE;Lo;0;L;;;;;N;;;;;
+C42D;HANGUL SYLLABLE SSOEG;Lo;0;L;;;;;N;;;;;
+C42E;HANGUL SYLLABLE SSOEGG;Lo;0;L;;;;;N;;;;;
+C42F;HANGUL SYLLABLE SSOEGS;Lo;0;L;;;;;N;;;;;
+C430;HANGUL SYLLABLE SSOEN;Lo;0;L;;;;;N;;;;;
+C431;HANGUL SYLLABLE SSOENI;Lo;0;L;;;;;N;;;;;
+C432;HANGUL SYLLABLE SSOENH;Lo;0;L;;;;;N;;;;;
+C433;HANGUL SYLLABLE SSOED;Lo;0;L;;;;;N;;;;;
+C434;HANGUL SYLLABLE SSOEL;Lo;0;L;;;;;N;;;;;
+C435;HANGUL SYLLABLE SSOELG;Lo;0;L;;;;;N;;;;;
+C436;HANGUL SYLLABLE SSOELM;Lo;0;L;;;;;N;;;;;
+C437;HANGUL SYLLABLE SSOELB;Lo;0;L;;;;;N;;;;;
+C438;HANGUL SYLLABLE SSOELS;Lo;0;L;;;;;N;;;;;
+C439;HANGUL SYLLABLE SSOELT;Lo;0;L;;;;;N;;;;;
+C43A;HANGUL SYLLABLE SSOELP;Lo;0;L;;;;;N;;;;;
+C43B;HANGUL SYLLABLE SSOELH;Lo;0;L;;;;;N;;;;;
+C43C;HANGUL SYLLABLE SSOEM;Lo;0;L;;;;;N;;;;;
+C43D;HANGUL SYLLABLE SSOEB;Lo;0;L;;;;;N;;;;;
+C43E;HANGUL SYLLABLE SSOEBS;Lo;0;L;;;;;N;;;;;
+C43F;HANGUL SYLLABLE SSOES;Lo;0;L;;;;;N;;;;;
+C440;HANGUL SYLLABLE SSOESS;Lo;0;L;;;;;N;;;;;
+C441;HANGUL SYLLABLE SSOENG;Lo;0;L;;;;;N;;;;;
+C442;HANGUL SYLLABLE SSOEJ;Lo;0;L;;;;;N;;;;;
+C443;HANGUL SYLLABLE SSOEC;Lo;0;L;;;;;N;;;;;
+C444;HANGUL SYLLABLE SSOEK;Lo;0;L;;;;;N;;;;;
+C445;HANGUL SYLLABLE SSOET;Lo;0;L;;;;;N;;;;;
+C446;HANGUL SYLLABLE SSOEP;Lo;0;L;;;;;N;;;;;
+C447;HANGUL SYLLABLE SSOEH;Lo;0;L;;;;;N;;;;;
+C448;HANGUL SYLLABLE SSYO;Lo;0;L;;;;;N;;;;;
+C449;HANGUL SYLLABLE SSYOG;Lo;0;L;;;;;N;;;;;
+C44A;HANGUL SYLLABLE SSYOGG;Lo;0;L;;;;;N;;;;;
+C44B;HANGUL SYLLABLE SSYOGS;Lo;0;L;;;;;N;;;;;
+C44C;HANGUL SYLLABLE SSYON;Lo;0;L;;;;;N;;;;;
+C44D;HANGUL SYLLABLE SSYONI;Lo;0;L;;;;;N;;;;;
+C44E;HANGUL SYLLABLE SSYONH;Lo;0;L;;;;;N;;;;;
+C44F;HANGUL SYLLABLE SSYOD;Lo;0;L;;;;;N;;;;;
+C450;HANGUL SYLLABLE SSYOL;Lo;0;L;;;;;N;;;;;
+C451;HANGUL SYLLABLE SSYOLG;Lo;0;L;;;;;N;;;;;
+C452;HANGUL SYLLABLE SSYOLM;Lo;0;L;;;;;N;;;;;
+C453;HANGUL SYLLABLE SSYOLB;Lo;0;L;;;;;N;;;;;
+C454;HANGUL SYLLABLE SSYOLS;Lo;0;L;;;;;N;;;;;
+C455;HANGUL SYLLABLE SSYOLT;Lo;0;L;;;;;N;;;;;
+C456;HANGUL SYLLABLE SSYOLP;Lo;0;L;;;;;N;;;;;
+C457;HANGUL SYLLABLE SSYOLH;Lo;0;L;;;;;N;;;;;
+C458;HANGUL SYLLABLE SSYOM;Lo;0;L;;;;;N;;;;;
+C459;HANGUL SYLLABLE SSYOB;Lo;0;L;;;;;N;;;;;
+C45A;HANGUL SYLLABLE SSYOBS;Lo;0;L;;;;;N;;;;;
+C45B;HANGUL SYLLABLE SSYOS;Lo;0;L;;;;;N;;;;;
+C45C;HANGUL SYLLABLE SSYOSS;Lo;0;L;;;;;N;;;;;
+C45D;HANGUL SYLLABLE SSYONG;Lo;0;L;;;;;N;;;;;
+C45E;HANGUL SYLLABLE SSYOJ;Lo;0;L;;;;;N;;;;;
+C45F;HANGUL SYLLABLE SSYOC;Lo;0;L;;;;;N;;;;;
+C460;HANGUL SYLLABLE SSYOK;Lo;0;L;;;;;N;;;;;
+C461;HANGUL SYLLABLE SSYOT;Lo;0;L;;;;;N;;;;;
+C462;HANGUL SYLLABLE SSYOP;Lo;0;L;;;;;N;;;;;
+C463;HANGUL SYLLABLE SSYOH;Lo;0;L;;;;;N;;;;;
+C464;HANGUL SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
+C465;HANGUL SYLLABLE SSUG;Lo;0;L;;;;;N;;;;;
+C466;HANGUL SYLLABLE SSUGG;Lo;0;L;;;;;N;;;;;
+C467;HANGUL SYLLABLE SSUGS;Lo;0;L;;;;;N;;;;;
+C468;HANGUL SYLLABLE SSUN;Lo;0;L;;;;;N;;;;;
+C469;HANGUL SYLLABLE SSUNI;Lo;0;L;;;;;N;;;;;
+C46A;HANGUL SYLLABLE SSUNH;Lo;0;L;;;;;N;;;;;
+C46B;HANGUL SYLLABLE SSUD;Lo;0;L;;;;;N;;;;;
+C46C;HANGUL SYLLABLE SSUL;Lo;0;L;;;;;N;;;;;
+C46D;HANGUL SYLLABLE SSULG;Lo;0;L;;;;;N;;;;;
+C46E;HANGUL SYLLABLE SSULM;Lo;0;L;;;;;N;;;;;
+C46F;HANGUL SYLLABLE SSULB;Lo;0;L;;;;;N;;;;;
+C470;HANGUL SYLLABLE SSULS;Lo;0;L;;;;;N;;;;;
+C471;HANGUL SYLLABLE SSULT;Lo;0;L;;;;;N;;;;;
+C472;HANGUL SYLLABLE SSULP;Lo;0;L;;;;;N;;;;;
+C473;HANGUL SYLLABLE SSULH;Lo;0;L;;;;;N;;;;;
+C474;HANGUL SYLLABLE SSUM;Lo;0;L;;;;;N;;;;;
+C475;HANGUL SYLLABLE SSUB;Lo;0;L;;;;;N;;;;;
+C476;HANGUL SYLLABLE SSUBS;Lo;0;L;;;;;N;;;;;
+C477;HANGUL SYLLABLE SSUS;Lo;0;L;;;;;N;;;;;
+C478;HANGUL SYLLABLE SSUSS;Lo;0;L;;;;;N;;;;;
+C479;HANGUL SYLLABLE SSUNG;Lo;0;L;;;;;N;;;;;
+C47A;HANGUL SYLLABLE SSUJ;Lo;0;L;;;;;N;;;;;
+C47B;HANGUL SYLLABLE SSUC;Lo;0;L;;;;;N;;;;;
+C47C;HANGUL SYLLABLE SSUK;Lo;0;L;;;;;N;;;;;
+C47D;HANGUL SYLLABLE SSUT;Lo;0;L;;;;;N;;;;;
+C47E;HANGUL SYLLABLE SSUP;Lo;0;L;;;;;N;;;;;
+C47F;HANGUL SYLLABLE SSUH;Lo;0;L;;;;;N;;;;;
+C480;HANGUL SYLLABLE SSWEO;Lo;0;L;;;;;N;;;;;
+C481;HANGUL SYLLABLE SSWEOG;Lo;0;L;;;;;N;;;;;
+C482;HANGUL SYLLABLE SSWEOGG;Lo;0;L;;;;;N;;;;;
+C483;HANGUL SYLLABLE SSWEOGS;Lo;0;L;;;;;N;;;;;
+C484;HANGUL SYLLABLE SSWEON;Lo;0;L;;;;;N;;;;;
+C485;HANGUL SYLLABLE SSWEONI;Lo;0;L;;;;;N;;;;;
+C486;HANGUL SYLLABLE SSWEONH;Lo;0;L;;;;;N;;;;;
+C487;HANGUL SYLLABLE SSWEOD;Lo;0;L;;;;;N;;;;;
+C488;HANGUL SYLLABLE SSWEOL;Lo;0;L;;;;;N;;;;;
+C489;HANGUL SYLLABLE SSWEOLG;Lo;0;L;;;;;N;;;;;
+C48A;HANGUL SYLLABLE SSWEOLM;Lo;0;L;;;;;N;;;;;
+C48B;HANGUL SYLLABLE SSWEOLB;Lo;0;L;;;;;N;;;;;
+C48C;HANGUL SYLLABLE SSWEOLS;Lo;0;L;;;;;N;;;;;
+C48D;HANGUL SYLLABLE SSWEOLT;Lo;0;L;;;;;N;;;;;
+C48E;HANGUL SYLLABLE SSWEOLP;Lo;0;L;;;;;N;;;;;
+C48F;HANGUL SYLLABLE SSWEOLH;Lo;0;L;;;;;N;;;;;
+C490;HANGUL SYLLABLE SSWEOM;Lo;0;L;;;;;N;;;;;
+C491;HANGUL SYLLABLE SSWEOB;Lo;0;L;;;;;N;;;;;
+C492;HANGUL SYLLABLE SSWEOBS;Lo;0;L;;;;;N;;;;;
+C493;HANGUL SYLLABLE SSWEOS;Lo;0;L;;;;;N;;;;;
+C494;HANGUL SYLLABLE SSWEOSS;Lo;0;L;;;;;N;;;;;
+C495;HANGUL SYLLABLE SSWEONG;Lo;0;L;;;;;N;;;;;
+C496;HANGUL SYLLABLE SSWEOJ;Lo;0;L;;;;;N;;;;;
+C497;HANGUL SYLLABLE SSWEOC;Lo;0;L;;;;;N;;;;;
+C498;HANGUL SYLLABLE SSWEOK;Lo;0;L;;;;;N;;;;;
+C499;HANGUL SYLLABLE SSWEOT;Lo;0;L;;;;;N;;;;;
+C49A;HANGUL SYLLABLE SSWEOP;Lo;0;L;;;;;N;;;;;
+C49B;HANGUL SYLLABLE SSWEOH;Lo;0;L;;;;;N;;;;;
+C49C;HANGUL SYLLABLE SSWE;Lo;0;L;;;;;N;;;;;
+C49D;HANGUL SYLLABLE SSWEG;Lo;0;L;;;;;N;;;;;
+C49E;HANGUL SYLLABLE SSWEGG;Lo;0;L;;;;;N;;;;;
+C49F;HANGUL SYLLABLE SSWEGS;Lo;0;L;;;;;N;;;;;
+C4A0;HANGUL SYLLABLE SSWEN;Lo;0;L;;;;;N;;;;;
+C4A1;HANGUL SYLLABLE SSWENI;Lo;0;L;;;;;N;;;;;
+C4A2;HANGUL SYLLABLE SSWENH;Lo;0;L;;;;;N;;;;;
+C4A3;HANGUL SYLLABLE SSWED;Lo;0;L;;;;;N;;;;;
+C4A4;HANGUL SYLLABLE SSWEL;Lo;0;L;;;;;N;;;;;
+C4A5;HANGUL SYLLABLE SSWELG;Lo;0;L;;;;;N;;;;;
+C4A6;HANGUL SYLLABLE SSWELM;Lo;0;L;;;;;N;;;;;
+C4A7;HANGUL SYLLABLE SSWELB;Lo;0;L;;;;;N;;;;;
+C4A8;HANGUL SYLLABLE SSWELS;Lo;0;L;;;;;N;;;;;
+C4A9;HANGUL SYLLABLE SSWELT;Lo;0;L;;;;;N;;;;;
+C4AA;HANGUL SYLLABLE SSWELP;Lo;0;L;;;;;N;;;;;
+C4AB;HANGUL SYLLABLE SSWELH;Lo;0;L;;;;;N;;;;;
+C4AC;HANGUL SYLLABLE SSWEM;Lo;0;L;;;;;N;;;;;
+C4AD;HANGUL SYLLABLE SSWEB;Lo;0;L;;;;;N;;;;;
+C4AE;HANGUL SYLLABLE SSWEBS;Lo;0;L;;;;;N;;;;;
+C4AF;HANGUL SYLLABLE SSWES;Lo;0;L;;;;;N;;;;;
+C4B0;HANGUL SYLLABLE SSWESS;Lo;0;L;;;;;N;;;;;
+C4B1;HANGUL SYLLABLE SSWENG;Lo;0;L;;;;;N;;;;;
+C4B2;HANGUL SYLLABLE SSWEJ;Lo;0;L;;;;;N;;;;;
+C4B3;HANGUL SYLLABLE SSWEC;Lo;0;L;;;;;N;;;;;
+C4B4;HANGUL SYLLABLE SSWEK;Lo;0;L;;;;;N;;;;;
+C4B5;HANGUL SYLLABLE SSWET;Lo;0;L;;;;;N;;;;;
+C4B6;HANGUL SYLLABLE SSWEP;Lo;0;L;;;;;N;;;;;
+C4B7;HANGUL SYLLABLE SSWEH;Lo;0;L;;;;;N;;;;;
+C4B8;HANGUL SYLLABLE SSWI;Lo;0;L;;;;;N;;;;;
+C4B9;HANGUL SYLLABLE SSWIG;Lo;0;L;;;;;N;;;;;
+C4BA;HANGUL SYLLABLE SSWIGG;Lo;0;L;;;;;N;;;;;
+C4BB;HANGUL SYLLABLE SSWIGS;Lo;0;L;;;;;N;;;;;
+C4BC;HANGUL SYLLABLE SSWIN;Lo;0;L;;;;;N;;;;;
+C4BD;HANGUL SYLLABLE SSWINI;Lo;0;L;;;;;N;;;;;
+C4BE;HANGUL SYLLABLE SSWINH;Lo;0;L;;;;;N;;;;;
+C4BF;HANGUL SYLLABLE SSWID;Lo;0;L;;;;;N;;;;;
+C4C0;HANGUL SYLLABLE SSWIL;Lo;0;L;;;;;N;;;;;
+C4C1;HANGUL SYLLABLE SSWILG;Lo;0;L;;;;;N;;;;;
+C4C2;HANGUL SYLLABLE SSWILM;Lo;0;L;;;;;N;;;;;
+C4C3;HANGUL SYLLABLE SSWILB;Lo;0;L;;;;;N;;;;;
+C4C4;HANGUL SYLLABLE SSWILS;Lo;0;L;;;;;N;;;;;
+C4C5;HANGUL SYLLABLE SSWILT;Lo;0;L;;;;;N;;;;;
+C4C6;HANGUL SYLLABLE SSWILP;Lo;0;L;;;;;N;;;;;
+C4C7;HANGUL SYLLABLE SSWILH;Lo;0;L;;;;;N;;;;;
+C4C8;HANGUL SYLLABLE SSWIM;Lo;0;L;;;;;N;;;;;
+C4C9;HANGUL SYLLABLE SSWIB;Lo;0;L;;;;;N;;;;;
+C4CA;HANGUL SYLLABLE SSWIBS;Lo;0;L;;;;;N;;;;;
+C4CB;HANGUL SYLLABLE SSWIS;Lo;0;L;;;;;N;;;;;
+C4CC;HANGUL SYLLABLE SSWISS;Lo;0;L;;;;;N;;;;;
+C4CD;HANGUL SYLLABLE SSWING;Lo;0;L;;;;;N;;;;;
+C4CE;HANGUL SYLLABLE SSWIJ;Lo;0;L;;;;;N;;;;;
+C4CF;HANGUL SYLLABLE SSWIC;Lo;0;L;;;;;N;;;;;
+C4D0;HANGUL SYLLABLE SSWIK;Lo;0;L;;;;;N;;;;;
+C4D1;HANGUL SYLLABLE SSWIT;Lo;0;L;;;;;N;;;;;
+C4D2;HANGUL SYLLABLE SSWIP;Lo;0;L;;;;;N;;;;;
+C4D3;HANGUL SYLLABLE SSWIH;Lo;0;L;;;;;N;;;;;
+C4D4;HANGUL SYLLABLE SSYU;Lo;0;L;;;;;N;;;;;
+C4D5;HANGUL SYLLABLE SSYUG;Lo;0;L;;;;;N;;;;;
+C4D6;HANGUL SYLLABLE SSYUGG;Lo;0;L;;;;;N;;;;;
+C4D7;HANGUL SYLLABLE SSYUGS;Lo;0;L;;;;;N;;;;;
+C4D8;HANGUL SYLLABLE SSYUN;Lo;0;L;;;;;N;;;;;
+C4D9;HANGUL SYLLABLE SSYUNI;Lo;0;L;;;;;N;;;;;
+C4DA;HANGUL SYLLABLE SSYUNH;Lo;0;L;;;;;N;;;;;
+C4DB;HANGUL SYLLABLE SSYUD;Lo;0;L;;;;;N;;;;;
+C4DC;HANGUL SYLLABLE SSYUL;Lo;0;L;;;;;N;;;;;
+C4DD;HANGUL SYLLABLE SSYULG;Lo;0;L;;;;;N;;;;;
+C4DE;HANGUL SYLLABLE SSYULM;Lo;0;L;;;;;N;;;;;
+C4DF;HANGUL SYLLABLE SSYULB;Lo;0;L;;;;;N;;;;;
+C4E0;HANGUL SYLLABLE SSYULS;Lo;0;L;;;;;N;;;;;
+C4E1;HANGUL SYLLABLE SSYULT;Lo;0;L;;;;;N;;;;;
+C4E2;HANGUL SYLLABLE SSYULP;Lo;0;L;;;;;N;;;;;
+C4E3;HANGUL SYLLABLE SSYULH;Lo;0;L;;;;;N;;;;;
+C4E4;HANGUL SYLLABLE SSYUM;Lo;0;L;;;;;N;;;;;
+C4E5;HANGUL SYLLABLE SSYUB;Lo;0;L;;;;;N;;;;;
+C4E6;HANGUL SYLLABLE SSYUBS;Lo;0;L;;;;;N;;;;;
+C4E7;HANGUL SYLLABLE SSYUS;Lo;0;L;;;;;N;;;;;
+C4E8;HANGUL SYLLABLE SSYUSS;Lo;0;L;;;;;N;;;;;
+C4E9;HANGUL SYLLABLE SSYUNG;Lo;0;L;;;;;N;;;;;
+C4EA;HANGUL SYLLABLE SSYUJ;Lo;0;L;;;;;N;;;;;
+C4EB;HANGUL SYLLABLE SSYUC;Lo;0;L;;;;;N;;;;;
+C4EC;HANGUL SYLLABLE SSYUK;Lo;0;L;;;;;N;;;;;
+C4ED;HANGUL SYLLABLE SSYUT;Lo;0;L;;;;;N;;;;;
+C4EE;HANGUL SYLLABLE SSYUP;Lo;0;L;;;;;N;;;;;
+C4EF;HANGUL SYLLABLE SSYUH;Lo;0;L;;;;;N;;;;;
+C4F0;HANGUL SYLLABLE SSEU;Lo;0;L;;;;;N;;;;;
+C4F1;HANGUL SYLLABLE SSEUG;Lo;0;L;;;;;N;;;;;
+C4F2;HANGUL SYLLABLE SSEUGG;Lo;0;L;;;;;N;;;;;
+C4F3;HANGUL SYLLABLE SSEUGS;Lo;0;L;;;;;N;;;;;
+C4F4;HANGUL SYLLABLE SSEUN;Lo;0;L;;;;;N;;;;;
+C4F5;HANGUL SYLLABLE SSEUNI;Lo;0;L;;;;;N;;;;;
+C4F6;HANGUL SYLLABLE SSEUNH;Lo;0;L;;;;;N;;;;;
+C4F7;HANGUL SYLLABLE SSEUD;Lo;0;L;;;;;N;;;;;
+C4F8;HANGUL SYLLABLE SSEUL;Lo;0;L;;;;;N;;;;;
+C4F9;HANGUL SYLLABLE SSEULG;Lo;0;L;;;;;N;;;;;
+C4FA;HANGUL SYLLABLE SSEULM;Lo;0;L;;;;;N;;;;;
+C4FB;HANGUL SYLLABLE SSEULB;Lo;0;L;;;;;N;;;;;
+C4FC;HANGUL SYLLABLE SSEULS;Lo;0;L;;;;;N;;;;;
+C4FD;HANGUL SYLLABLE SSEULT;Lo;0;L;;;;;N;;;;;
+C4FE;HANGUL SYLLABLE SSEULP;Lo;0;L;;;;;N;;;;;
+C4FF;HANGUL SYLLABLE SSEULH;Lo;0;L;;;;;N;;;;;
+C500;HANGUL SYLLABLE SSEUM;Lo;0;L;;;;;N;;;;;
+C501;HANGUL SYLLABLE SSEUB;Lo;0;L;;;;;N;;;;;
+C502;HANGUL SYLLABLE SSEUBS;Lo;0;L;;;;;N;;;;;
+C503;HANGUL SYLLABLE SSEUS;Lo;0;L;;;;;N;;;;;
+C504;HANGUL SYLLABLE SSEUSS;Lo;0;L;;;;;N;;;;;
+C505;HANGUL SYLLABLE SSEUNG;Lo;0;L;;;;;N;;;;;
+C506;HANGUL SYLLABLE SSEUJ;Lo;0;L;;;;;N;;;;;
+C507;HANGUL SYLLABLE SSEUC;Lo;0;L;;;;;N;;;;;
+C508;HANGUL SYLLABLE SSEUK;Lo;0;L;;;;;N;;;;;
+C509;HANGUL SYLLABLE SSEUT;Lo;0;L;;;;;N;;;;;
+C50A;HANGUL SYLLABLE SSEUP;Lo;0;L;;;;;N;;;;;
+C50B;HANGUL SYLLABLE SSEUH;Lo;0;L;;;;;N;;;;;
+C50C;HANGUL SYLLABLE SSYI;Lo;0;L;;;;;N;;;;;
+C50D;HANGUL SYLLABLE SSYIG;Lo;0;L;;;;;N;;;;;
+C50E;HANGUL SYLLABLE SSYIGG;Lo;0;L;;;;;N;;;;;
+C50F;HANGUL SYLLABLE SSYIGS;Lo;0;L;;;;;N;;;;;
+C510;HANGUL SYLLABLE SSYIN;Lo;0;L;;;;;N;;;;;
+C511;HANGUL SYLLABLE SSYINI;Lo;0;L;;;;;N;;;;;
+C512;HANGUL SYLLABLE SSYINH;Lo;0;L;;;;;N;;;;;
+C513;HANGUL SYLLABLE SSYID;Lo;0;L;;;;;N;;;;;
+C514;HANGUL SYLLABLE SSYIL;Lo;0;L;;;;;N;;;;;
+C515;HANGUL SYLLABLE SSYILG;Lo;0;L;;;;;N;;;;;
+C516;HANGUL SYLLABLE SSYILM;Lo;0;L;;;;;N;;;;;
+C517;HANGUL SYLLABLE SSYILB;Lo;0;L;;;;;N;;;;;
+C518;HANGUL SYLLABLE SSYILS;Lo;0;L;;;;;N;;;;;
+C519;HANGUL SYLLABLE SSYILT;Lo;0;L;;;;;N;;;;;
+C51A;HANGUL SYLLABLE SSYILP;Lo;0;L;;;;;N;;;;;
+C51B;HANGUL SYLLABLE SSYILH;Lo;0;L;;;;;N;;;;;
+C51C;HANGUL SYLLABLE SSYIM;Lo;0;L;;;;;N;;;;;
+C51D;HANGUL SYLLABLE SSYIB;Lo;0;L;;;;;N;;;;;
+C51E;HANGUL SYLLABLE SSYIBS;Lo;0;L;;;;;N;;;;;
+C51F;HANGUL SYLLABLE SSYIS;Lo;0;L;;;;;N;;;;;
+C520;HANGUL SYLLABLE SSYISS;Lo;0;L;;;;;N;;;;;
+C521;HANGUL SYLLABLE SSYING;Lo;0;L;;;;;N;;;;;
+C522;HANGUL SYLLABLE SSYIJ;Lo;0;L;;;;;N;;;;;
+C523;HANGUL SYLLABLE SSYIC;Lo;0;L;;;;;N;;;;;
+C524;HANGUL SYLLABLE SSYIK;Lo;0;L;;;;;N;;;;;
+C525;HANGUL SYLLABLE SSYIT;Lo;0;L;;;;;N;;;;;
+C526;HANGUL SYLLABLE SSYIP;Lo;0;L;;;;;N;;;;;
+C527;HANGUL SYLLABLE SSYIH;Lo;0;L;;;;;N;;;;;
+C528;HANGUL SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
+C529;HANGUL SYLLABLE SSIG;Lo;0;L;;;;;N;;;;;
+C52A;HANGUL SYLLABLE SSIGG;Lo;0;L;;;;;N;;;;;
+C52B;HANGUL SYLLABLE SSIGS;Lo;0;L;;;;;N;;;;;
+C52C;HANGUL SYLLABLE SSIN;Lo;0;L;;;;;N;;;;;
+C52D;HANGUL SYLLABLE SSINI;Lo;0;L;;;;;N;;;;;
+C52E;HANGUL SYLLABLE SSINH;Lo;0;L;;;;;N;;;;;
+C52F;HANGUL SYLLABLE SSID;Lo;0;L;;;;;N;;;;;
+C530;HANGUL SYLLABLE SSIL;Lo;0;L;;;;;N;;;;;
+C531;HANGUL SYLLABLE SSILG;Lo;0;L;;;;;N;;;;;
+C532;HANGUL SYLLABLE SSILM;Lo;0;L;;;;;N;;;;;
+C533;HANGUL SYLLABLE SSILB;Lo;0;L;;;;;N;;;;;
+C534;HANGUL SYLLABLE SSILS;Lo;0;L;;;;;N;;;;;
+C535;HANGUL SYLLABLE SSILT;Lo;0;L;;;;;N;;;;;
+C536;HANGUL SYLLABLE SSILP;Lo;0;L;;;;;N;;;;;
+C537;HANGUL SYLLABLE SSILH;Lo;0;L;;;;;N;;;;;
+C538;HANGUL SYLLABLE SSIM;Lo;0;L;;;;;N;;;;;
+C539;HANGUL SYLLABLE SSIB;Lo;0;L;;;;;N;;;;;
+C53A;HANGUL SYLLABLE SSIBS;Lo;0;L;;;;;N;;;;;
+C53B;HANGUL SYLLABLE SSIS;Lo;0;L;;;;;N;;;;;
+C53C;HANGUL SYLLABLE SSISS;Lo;0;L;;;;;N;;;;;
+C53D;HANGUL SYLLABLE SSING;Lo;0;L;;;;;N;;;;;
+C53E;HANGUL SYLLABLE SSIJ;Lo;0;L;;;;;N;;;;;
+C53F;HANGUL SYLLABLE SSIC;Lo;0;L;;;;;N;;;;;
+C540;HANGUL SYLLABLE SSIK;Lo;0;L;;;;;N;;;;;
+C541;HANGUL SYLLABLE SSIT;Lo;0;L;;;;;N;;;;;
+C542;HANGUL SYLLABLE SSIP;Lo;0;L;;;;;N;;;;;
+C543;HANGUL SYLLABLE SSIH;Lo;0;L;;;;;N;;;;;
+C544;HANGUL SYLLABLE A;Lo;0;L;;;;;N;;;;;
+C545;HANGUL SYLLABLE AG;Lo;0;L;;;;;N;;;;;
+C546;HANGUL SYLLABLE AGG;Lo;0;L;;;;;N;;;;;
+C547;HANGUL SYLLABLE AGS;Lo;0;L;;;;;N;;;;;
+C548;HANGUL SYLLABLE AN;Lo;0;L;;;;;N;;;;;
+C549;HANGUL SYLLABLE ANI;Lo;0;L;;;;;N;;;;;
+C54A;HANGUL SYLLABLE ANH;Lo;0;L;;;;;N;;;;;
+C54B;HANGUL SYLLABLE AD;Lo;0;L;;;;;N;;;;;
+C54C;HANGUL SYLLABLE AL;Lo;0;L;;;;;N;;;;;
+C54D;HANGUL SYLLABLE ALG;Lo;0;L;;;;;N;;;;;
+C54E;HANGUL SYLLABLE ALM;Lo;0;L;;;;;N;;;;;
+C54F;HANGUL SYLLABLE ALB;Lo;0;L;;;;;N;;;;;
+C550;HANGUL SYLLABLE ALS;Lo;0;L;;;;;N;;;;;
+C551;HANGUL SYLLABLE ALT;Lo;0;L;;;;;N;;;;;
+C552;HANGUL SYLLABLE ALP;Lo;0;L;;;;;N;;;;;
+C553;HANGUL SYLLABLE ALH;Lo;0;L;;;;;N;;;;;
+C554;HANGUL SYLLABLE AM;Lo;0;L;;;;;N;;;;;
+C555;HANGUL SYLLABLE AB;Lo;0;L;;;;;N;;;;;
+C556;HANGUL SYLLABLE ABS;Lo;0;L;;;;;N;;;;;
+C557;HANGUL SYLLABLE AS;Lo;0;L;;;;;N;;;;;
+C558;HANGUL SYLLABLE ASS;Lo;0;L;;;;;N;;;;;
+C559;HANGUL SYLLABLE ANG;Lo;0;L;;;;;N;;;;;
+C55A;HANGUL SYLLABLE AJ;Lo;0;L;;;;;N;;;;;
+C55B;HANGUL SYLLABLE AC;Lo;0;L;;;;;N;;;;;
+C55C;HANGUL SYLLABLE AK;Lo;0;L;;;;;N;;;;;
+C55D;HANGUL SYLLABLE AT;Lo;0;L;;;;;N;;;;;
+C55E;HANGUL SYLLABLE AP;Lo;0;L;;;;;N;;;;;
+C55F;HANGUL SYLLABLE AH;Lo;0;L;;;;;N;;;;;
+C560;HANGUL SYLLABLE AE;Lo;0;L;;;;;N;;;;;
+C561;HANGUL SYLLABLE AEG;Lo;0;L;;;;;N;;;;;
+C562;HANGUL SYLLABLE AEGG;Lo;0;L;;;;;N;;;;;
+C563;HANGUL SYLLABLE AEGS;Lo;0;L;;;;;N;;;;;
+C564;HANGUL SYLLABLE AEN;Lo;0;L;;;;;N;;;;;
+C565;HANGUL SYLLABLE AENI;Lo;0;L;;;;;N;;;;;
+C566;HANGUL SYLLABLE AENH;Lo;0;L;;;;;N;;;;;
+C567;HANGUL SYLLABLE AED;Lo;0;L;;;;;N;;;;;
+C568;HANGUL SYLLABLE AEL;Lo;0;L;;;;;N;;;;;
+C569;HANGUL SYLLABLE AELG;Lo;0;L;;;;;N;;;;;
+C56A;HANGUL SYLLABLE AELM;Lo;0;L;;;;;N;;;;;
+C56B;HANGUL SYLLABLE AELB;Lo;0;L;;;;;N;;;;;
+C56C;HANGUL SYLLABLE AELS;Lo;0;L;;;;;N;;;;;
+C56D;HANGUL SYLLABLE AELT;Lo;0;L;;;;;N;;;;;
+C56E;HANGUL SYLLABLE AELP;Lo;0;L;;;;;N;;;;;
+C56F;HANGUL SYLLABLE AELH;Lo;0;L;;;;;N;;;;;
+C570;HANGUL SYLLABLE AEM;Lo;0;L;;;;;N;;;;;
+C571;HANGUL SYLLABLE AEB;Lo;0;L;;;;;N;;;;;
+C572;HANGUL SYLLABLE AEBS;Lo;0;L;;;;;N;;;;;
+C573;HANGUL SYLLABLE AES;Lo;0;L;;;;;N;;;;;
+C574;HANGUL SYLLABLE AESS;Lo;0;L;;;;;N;;;;;
+C575;HANGUL SYLLABLE AENG;Lo;0;L;;;;;N;;;;;
+C576;HANGUL SYLLABLE AEJ;Lo;0;L;;;;;N;;;;;
+C577;HANGUL SYLLABLE AEC;Lo;0;L;;;;;N;;;;;
+C578;HANGUL SYLLABLE AEK;Lo;0;L;;;;;N;;;;;
+C579;HANGUL SYLLABLE AET;Lo;0;L;;;;;N;;;;;
+C57A;HANGUL SYLLABLE AEP;Lo;0;L;;;;;N;;;;;
+C57B;HANGUL SYLLABLE AEH;Lo;0;L;;;;;N;;;;;
+C57C;HANGUL SYLLABLE YA;Lo;0;L;;;;;N;;;;;
+C57D;HANGUL SYLLABLE YAG;Lo;0;L;;;;;N;;;;;
+C57E;HANGUL SYLLABLE YAGG;Lo;0;L;;;;;N;;;;;
+C57F;HANGUL SYLLABLE YAGS;Lo;0;L;;;;;N;;;;;
+C580;HANGUL SYLLABLE YAN;Lo;0;L;;;;;N;;;;;
+C581;HANGUL SYLLABLE YANI;Lo;0;L;;;;;N;;;;;
+C582;HANGUL SYLLABLE YANH;Lo;0;L;;;;;N;;;;;
+C583;HANGUL SYLLABLE YAD;Lo;0;L;;;;;N;;;;;
+C584;HANGUL SYLLABLE YAL;Lo;0;L;;;;;N;;;;;
+C585;HANGUL SYLLABLE YALG;Lo;0;L;;;;;N;;;;;
+C586;HANGUL SYLLABLE YALM;Lo;0;L;;;;;N;;;;;
+C587;HANGUL SYLLABLE YALB;Lo;0;L;;;;;N;;;;;
+C588;HANGUL SYLLABLE YALS;Lo;0;L;;;;;N;;;;;
+C589;HANGUL SYLLABLE YALT;Lo;0;L;;;;;N;;;;;
+C58A;HANGUL SYLLABLE YALP;Lo;0;L;;;;;N;;;;;
+C58B;HANGUL SYLLABLE YALH;Lo;0;L;;;;;N;;;;;
+C58C;HANGUL SYLLABLE YAM;Lo;0;L;;;;;N;;;;;
+C58D;HANGUL SYLLABLE YAB;Lo;0;L;;;;;N;;;;;
+C58E;HANGUL SYLLABLE YABS;Lo;0;L;;;;;N;;;;;
+C58F;HANGUL SYLLABLE YAS;Lo;0;L;;;;;N;;;;;
+C590;HANGUL SYLLABLE YASS;Lo;0;L;;;;;N;;;;;
+C591;HANGUL SYLLABLE YANG;Lo;0;L;;;;;N;;;;;
+C592;HANGUL SYLLABLE YAJ;Lo;0;L;;;;;N;;;;;
+C593;HANGUL SYLLABLE YAC;Lo;0;L;;;;;N;;;;;
+C594;HANGUL SYLLABLE YAK;Lo;0;L;;;;;N;;;;;
+C595;HANGUL SYLLABLE YAT;Lo;0;L;;;;;N;;;;;
+C596;HANGUL SYLLABLE YAP;Lo;0;L;;;;;N;;;;;
+C597;HANGUL SYLLABLE YAH;Lo;0;L;;;;;N;;;;;
+C598;HANGUL SYLLABLE YAE;Lo;0;L;;;;;N;;;;;
+C599;HANGUL SYLLABLE YAEG;Lo;0;L;;;;;N;;;;;
+C59A;HANGUL SYLLABLE YAEGG;Lo;0;L;;;;;N;;;;;
+C59B;HANGUL SYLLABLE YAEGS;Lo;0;L;;;;;N;;;;;
+C59C;HANGUL SYLLABLE YAEN;Lo;0;L;;;;;N;;;;;
+C59D;HANGUL SYLLABLE YAENI;Lo;0;L;;;;;N;;;;;
+C59E;HANGUL SYLLABLE YAENH;Lo;0;L;;;;;N;;;;;
+C59F;HANGUL SYLLABLE YAED;Lo;0;L;;;;;N;;;;;
+C5A0;HANGUL SYLLABLE YAEL;Lo;0;L;;;;;N;;;;;
+C5A1;HANGUL SYLLABLE YAELG;Lo;0;L;;;;;N;;;;;
+C5A2;HANGUL SYLLABLE YAELM;Lo;0;L;;;;;N;;;;;
+C5A3;HANGUL SYLLABLE YAELB;Lo;0;L;;;;;N;;;;;
+C5A4;HANGUL SYLLABLE YAELS;Lo;0;L;;;;;N;;;;;
+C5A5;HANGUL SYLLABLE YAELT;Lo;0;L;;;;;N;;;;;
+C5A6;HANGUL SYLLABLE YAELP;Lo;0;L;;;;;N;;;;;
+C5A7;HANGUL SYLLABLE YAELH;Lo;0;L;;;;;N;;;;;
+C5A8;HANGUL SYLLABLE YAEM;Lo;0;L;;;;;N;;;;;
+C5A9;HANGUL SYLLABLE YAEB;Lo;0;L;;;;;N;;;;;
+C5AA;HANGUL SYLLABLE YAEBS;Lo;0;L;;;;;N;;;;;
+C5AB;HANGUL SYLLABLE YAES;Lo;0;L;;;;;N;;;;;
+C5AC;HANGUL SYLLABLE YAESS;Lo;0;L;;;;;N;;;;;
+C5AD;HANGUL SYLLABLE YAENG;Lo;0;L;;;;;N;;;;;
+C5AE;HANGUL SYLLABLE YAEJ;Lo;0;L;;;;;N;;;;;
+C5AF;HANGUL SYLLABLE YAEC;Lo;0;L;;;;;N;;;;;
+C5B0;HANGUL SYLLABLE YAEK;Lo;0;L;;;;;N;;;;;
+C5B1;HANGUL SYLLABLE YAET;Lo;0;L;;;;;N;;;;;
+C5B2;HANGUL SYLLABLE YAEP;Lo;0;L;;;;;N;;;;;
+C5B3;HANGUL SYLLABLE YAEH;Lo;0;L;;;;;N;;;;;
+C5B4;HANGUL SYLLABLE EO;Lo;0;L;;;;;N;;;;;
+C5B5;HANGUL SYLLABLE EOG;Lo;0;L;;;;;N;;;;;
+C5B6;HANGUL SYLLABLE EOGG;Lo;0;L;;;;;N;;;;;
+C5B7;HANGUL SYLLABLE EOGS;Lo;0;L;;;;;N;;;;;
+C5B8;HANGUL SYLLABLE EON;Lo;0;L;;;;;N;;;;;
+C5B9;HANGUL SYLLABLE EONI;Lo;0;L;;;;;N;;;;;
+C5BA;HANGUL SYLLABLE EONH;Lo;0;L;;;;;N;;;;;
+C5BB;HANGUL SYLLABLE EOD;Lo;0;L;;;;;N;;;;;
+C5BC;HANGUL SYLLABLE EOL;Lo;0;L;;;;;N;;;;;
+C5BD;HANGUL SYLLABLE EOLG;Lo;0;L;;;;;N;;;;;
+C5BE;HANGUL SYLLABLE EOLM;Lo;0;L;;;;;N;;;;;
+C5BF;HANGUL SYLLABLE EOLB;Lo;0;L;;;;;N;;;;;
+C5C0;HANGUL SYLLABLE EOLS;Lo;0;L;;;;;N;;;;;
+C5C1;HANGUL SYLLABLE EOLT;Lo;0;L;;;;;N;;;;;
+C5C2;HANGUL SYLLABLE EOLP;Lo;0;L;;;;;N;;;;;
+C5C3;HANGUL SYLLABLE EOLH;Lo;0;L;;;;;N;;;;;
+C5C4;HANGUL SYLLABLE EOM;Lo;0;L;;;;;N;;;;;
+C5C5;HANGUL SYLLABLE EOB;Lo;0;L;;;;;N;;;;;
+C5C6;HANGUL SYLLABLE EOBS;Lo;0;L;;;;;N;;;;;
+C5C7;HANGUL SYLLABLE EOS;Lo;0;L;;;;;N;;;;;
+C5C8;HANGUL SYLLABLE EOSS;Lo;0;L;;;;;N;;;;;
+C5C9;HANGUL SYLLABLE EONG;Lo;0;L;;;;;N;;;;;
+C5CA;HANGUL SYLLABLE EOJ;Lo;0;L;;;;;N;;;;;
+C5CB;HANGUL SYLLABLE EOC;Lo;0;L;;;;;N;;;;;
+C5CC;HANGUL SYLLABLE EOK;Lo;0;L;;;;;N;;;;;
+C5CD;HANGUL SYLLABLE EOT;Lo;0;L;;;;;N;;;;;
+C5CE;HANGUL SYLLABLE EOP;Lo;0;L;;;;;N;;;;;
+C5CF;HANGUL SYLLABLE EOH;Lo;0;L;;;;;N;;;;;
+C5D0;HANGUL SYLLABLE E;Lo;0;L;;;;;N;;;;;
+C5D1;HANGUL SYLLABLE EG;Lo;0;L;;;;;N;;;;;
+C5D2;HANGUL SYLLABLE EGG;Lo;0;L;;;;;N;;;;;
+C5D3;HANGUL SYLLABLE EGS;Lo;0;L;;;;;N;;;;;
+C5D4;HANGUL SYLLABLE EN;Lo;0;L;;;;;N;;;;;
+C5D5;HANGUL SYLLABLE ENI;Lo;0;L;;;;;N;;;;;
+C5D6;HANGUL SYLLABLE ENH;Lo;0;L;;;;;N;;;;;
+C5D7;HANGUL SYLLABLE ED;Lo;0;L;;;;;N;;;;;
+C5D8;HANGUL SYLLABLE EL;Lo;0;L;;;;;N;;;;;
+C5D9;HANGUL SYLLABLE ELG;Lo;0;L;;;;;N;;;;;
+C5DA;HANGUL SYLLABLE ELM;Lo;0;L;;;;;N;;;;;
+C5DB;HANGUL SYLLABLE ELB;Lo;0;L;;;;;N;;;;;
+C5DC;HANGUL SYLLABLE ELS;Lo;0;L;;;;;N;;;;;
+C5DD;HANGUL SYLLABLE ELT;Lo;0;L;;;;;N;;;;;
+C5DE;HANGUL SYLLABLE ELP;Lo;0;L;;;;;N;;;;;
+C5DF;HANGUL SYLLABLE ELH;Lo;0;L;;;;;N;;;;;
+C5E0;HANGUL SYLLABLE EM;Lo;0;L;;;;;N;;;;;
+C5E1;HANGUL SYLLABLE EB;Lo;0;L;;;;;N;;;;;
+C5E2;HANGUL SYLLABLE EBS;Lo;0;L;;;;;N;;;;;
+C5E3;HANGUL SYLLABLE ES;Lo;0;L;;;;;N;;;;;
+C5E4;HANGUL SYLLABLE ESS;Lo;0;L;;;;;N;;;;;
+C5E5;HANGUL SYLLABLE ENG;Lo;0;L;;;;;N;;;;;
+C5E6;HANGUL SYLLABLE EJ;Lo;0;L;;;;;N;;;;;
+C5E7;HANGUL SYLLABLE EC;Lo;0;L;;;;;N;;;;;
+C5E8;HANGUL SYLLABLE EK;Lo;0;L;;;;;N;;;;;
+C5E9;HANGUL SYLLABLE ET;Lo;0;L;;;;;N;;;;;
+C5EA;HANGUL SYLLABLE EP;Lo;0;L;;;;;N;;;;;
+C5EB;HANGUL SYLLABLE EH;Lo;0;L;;;;;N;;;;;
+C5EC;HANGUL SYLLABLE YEO;Lo;0;L;;;;;N;;;;;
+C5ED;HANGUL SYLLABLE YEOG;Lo;0;L;;;;;N;;;;;
+C5EE;HANGUL SYLLABLE YEOGG;Lo;0;L;;;;;N;;;;;
+C5EF;HANGUL SYLLABLE YEOGS;Lo;0;L;;;;;N;;;;;
+C5F0;HANGUL SYLLABLE YEON;Lo;0;L;;;;;N;;;;;
+C5F1;HANGUL SYLLABLE YEONI;Lo;0;L;;;;;N;;;;;
+C5F2;HANGUL SYLLABLE YEONH;Lo;0;L;;;;;N;;;;;
+C5F3;HANGUL SYLLABLE YEOD;Lo;0;L;;;;;N;;;;;
+C5F4;HANGUL SYLLABLE YEOL;Lo;0;L;;;;;N;;;;;
+C5F5;HANGUL SYLLABLE YEOLG;Lo;0;L;;;;;N;;;;;
+C5F6;HANGUL SYLLABLE YEOLM;Lo;0;L;;;;;N;;;;;
+C5F7;HANGUL SYLLABLE YEOLB;Lo;0;L;;;;;N;;;;;
+C5F8;HANGUL SYLLABLE YEOLS;Lo;0;L;;;;;N;;;;;
+C5F9;HANGUL SYLLABLE YEOLT;Lo;0;L;;;;;N;;;;;
+C5FA;HANGUL SYLLABLE YEOLP;Lo;0;L;;;;;N;;;;;
+C5FB;HANGUL SYLLABLE YEOLH;Lo;0;L;;;;;N;;;;;
+C5FC;HANGUL SYLLABLE YEOM;Lo;0;L;;;;;N;;;;;
+C5FD;HANGUL SYLLABLE YEOB;Lo;0;L;;;;;N;;;;;
+C5FE;HANGUL SYLLABLE YEOBS;Lo;0;L;;;;;N;;;;;
+C5FF;HANGUL SYLLABLE YEOS;Lo;0;L;;;;;N;;;;;
+C600;HANGUL SYLLABLE YEOSS;Lo;0;L;;;;;N;;;;;
+C601;HANGUL SYLLABLE YEONG;Lo;0;L;;;;;N;;;;;
+C602;HANGUL SYLLABLE YEOJ;Lo;0;L;;;;;N;;;;;
+C603;HANGUL SYLLABLE YEOC;Lo;0;L;;;;;N;;;;;
+C604;HANGUL SYLLABLE YEOK;Lo;0;L;;;;;N;;;;;
+C605;HANGUL SYLLABLE YEOT;Lo;0;L;;;;;N;;;;;
+C606;HANGUL SYLLABLE YEOP;Lo;0;L;;;;;N;;;;;
+C607;HANGUL SYLLABLE YEOH;Lo;0;L;;;;;N;;;;;
+C608;HANGUL SYLLABLE YE;Lo;0;L;;;;;N;;;;;
+C609;HANGUL SYLLABLE YEG;Lo;0;L;;;;;N;;;;;
+C60A;HANGUL SYLLABLE YEGG;Lo;0;L;;;;;N;;;;;
+C60B;HANGUL SYLLABLE YEGS;Lo;0;L;;;;;N;;;;;
+C60C;HANGUL SYLLABLE YEN;Lo;0;L;;;;;N;;;;;
+C60D;HANGUL SYLLABLE YENI;Lo;0;L;;;;;N;;;;;
+C60E;HANGUL SYLLABLE YENH;Lo;0;L;;;;;N;;;;;
+C60F;HANGUL SYLLABLE YED;Lo;0;L;;;;;N;;;;;
+C610;HANGUL SYLLABLE YEL;Lo;0;L;;;;;N;;;;;
+C611;HANGUL SYLLABLE YELG;Lo;0;L;;;;;N;;;;;
+C612;HANGUL SYLLABLE YELM;Lo;0;L;;;;;N;;;;;
+C613;HANGUL SYLLABLE YELB;Lo;0;L;;;;;N;;;;;
+C614;HANGUL SYLLABLE YELS;Lo;0;L;;;;;N;;;;;
+C615;HANGUL SYLLABLE YELT;Lo;0;L;;;;;N;;;;;
+C616;HANGUL SYLLABLE YELP;Lo;0;L;;;;;N;;;;;
+C617;HANGUL SYLLABLE YELH;Lo;0;L;;;;;N;;;;;
+C618;HANGUL SYLLABLE YEM;Lo;0;L;;;;;N;;;;;
+C619;HANGUL SYLLABLE YEB;Lo;0;L;;;;;N;;;;;
+C61A;HANGUL SYLLABLE YEBS;Lo;0;L;;;;;N;;;;;
+C61B;HANGUL SYLLABLE YES;Lo;0;L;;;;;N;;;;;
+C61C;HANGUL SYLLABLE YESS;Lo;0;L;;;;;N;;;;;
+C61D;HANGUL SYLLABLE YENG;Lo;0;L;;;;;N;;;;;
+C61E;HANGUL SYLLABLE YEJ;Lo;0;L;;;;;N;;;;;
+C61F;HANGUL SYLLABLE YEC;Lo;0;L;;;;;N;;;;;
+C620;HANGUL SYLLABLE YEK;Lo;0;L;;;;;N;;;;;
+C621;HANGUL SYLLABLE YET;Lo;0;L;;;;;N;;;;;
+C622;HANGUL SYLLABLE YEP;Lo;0;L;;;;;N;;;;;
+C623;HANGUL SYLLABLE YEH;Lo;0;L;;;;;N;;;;;
+C624;HANGUL SYLLABLE O;Lo;0;L;;;;;N;;;;;
+C625;HANGUL SYLLABLE OG;Lo;0;L;;;;;N;;;;;
+C626;HANGUL SYLLABLE OGG;Lo;0;L;;;;;N;;;;;
+C627;HANGUL SYLLABLE OGS;Lo;0;L;;;;;N;;;;;
+C628;HANGUL SYLLABLE ON;Lo;0;L;;;;;N;;;;;
+C629;HANGUL SYLLABLE ONI;Lo;0;L;;;;;N;;;;;
+C62A;HANGUL SYLLABLE ONH;Lo;0;L;;;;;N;;;;;
+C62B;HANGUL SYLLABLE OD;Lo;0;L;;;;;N;;;;;
+C62C;HANGUL SYLLABLE OL;Lo;0;L;;;;;N;;;;;
+C62D;HANGUL SYLLABLE OLG;Lo;0;L;;;;;N;;;;;
+C62E;HANGUL SYLLABLE OLM;Lo;0;L;;;;;N;;;;;
+C62F;HANGUL SYLLABLE OLB;Lo;0;L;;;;;N;;;;;
+C630;HANGUL SYLLABLE OLS;Lo;0;L;;;;;N;;;;;
+C631;HANGUL SYLLABLE OLT;Lo;0;L;;;;;N;;;;;
+C632;HANGUL SYLLABLE OLP;Lo;0;L;;;;;N;;;;;
+C633;HANGUL SYLLABLE OLH;Lo;0;L;;;;;N;;;;;
+C634;HANGUL SYLLABLE OM;Lo;0;L;;;;;N;;;;;
+C635;HANGUL SYLLABLE OB;Lo;0;L;;;;;N;;;;;
+C636;HANGUL SYLLABLE OBS;Lo;0;L;;;;;N;;;;;
+C637;HANGUL SYLLABLE OS;Lo;0;L;;;;;N;;;;;
+C638;HANGUL SYLLABLE OSS;Lo;0;L;;;;;N;;;;;
+C639;HANGUL SYLLABLE ONG;Lo;0;L;;;;;N;;;;;
+C63A;HANGUL SYLLABLE OJ;Lo;0;L;;;;;N;;;;;
+C63B;HANGUL SYLLABLE OC;Lo;0;L;;;;;N;;;;;
+C63C;HANGUL SYLLABLE OK;Lo;0;L;;;;;N;;;;;
+C63D;HANGUL SYLLABLE OT;Lo;0;L;;;;;N;;;;;
+C63E;HANGUL SYLLABLE OP;Lo;0;L;;;;;N;;;;;
+C63F;HANGUL SYLLABLE OH;Lo;0;L;;;;;N;;;;;
+C640;HANGUL SYLLABLE WA;Lo;0;L;;;;;N;;;;;
+C641;HANGUL SYLLABLE WAG;Lo;0;L;;;;;N;;;;;
+C642;HANGUL SYLLABLE WAGG;Lo;0;L;;;;;N;;;;;
+C643;HANGUL SYLLABLE WAGS;Lo;0;L;;;;;N;;;;;
+C644;HANGUL SYLLABLE WAN;Lo;0;L;;;;;N;;;;;
+C645;HANGUL SYLLABLE WANI;Lo;0;L;;;;;N;;;;;
+C646;HANGUL SYLLABLE WANH;Lo;0;L;;;;;N;;;;;
+C647;HANGUL SYLLABLE WAD;Lo;0;L;;;;;N;;;;;
+C648;HANGUL SYLLABLE WAL;Lo;0;L;;;;;N;;;;;
+C649;HANGUL SYLLABLE WALG;Lo;0;L;;;;;N;;;;;
+C64A;HANGUL SYLLABLE WALM;Lo;0;L;;;;;N;;;;;
+C64B;HANGUL SYLLABLE WALB;Lo;0;L;;;;;N;;;;;
+C64C;HANGUL SYLLABLE WALS;Lo;0;L;;;;;N;;;;;
+C64D;HANGUL SYLLABLE WALT;Lo;0;L;;;;;N;;;;;
+C64E;HANGUL SYLLABLE WALP;Lo;0;L;;;;;N;;;;;
+C64F;HANGUL SYLLABLE WALH;Lo;0;L;;;;;N;;;;;
+C650;HANGUL SYLLABLE WAM;Lo;0;L;;;;;N;;;;;
+C651;HANGUL SYLLABLE WAB;Lo;0;L;;;;;N;;;;;
+C652;HANGUL SYLLABLE WABS;Lo;0;L;;;;;N;;;;;
+C653;HANGUL SYLLABLE WAS;Lo;0;L;;;;;N;;;;;
+C654;HANGUL SYLLABLE WASS;Lo;0;L;;;;;N;;;;;
+C655;HANGUL SYLLABLE WANG;Lo;0;L;;;;;N;;;;;
+C656;HANGUL SYLLABLE WAJ;Lo;0;L;;;;;N;;;;;
+C657;HANGUL SYLLABLE WAC;Lo;0;L;;;;;N;;;;;
+C658;HANGUL SYLLABLE WAK;Lo;0;L;;;;;N;;;;;
+C659;HANGUL SYLLABLE WAT;Lo;0;L;;;;;N;;;;;
+C65A;HANGUL SYLLABLE WAP;Lo;0;L;;;;;N;;;;;
+C65B;HANGUL SYLLABLE WAH;Lo;0;L;;;;;N;;;;;
+C65C;HANGUL SYLLABLE WAE;Lo;0;L;;;;;N;;;;;
+C65D;HANGUL SYLLABLE WAEG;Lo;0;L;;;;;N;;;;;
+C65E;HANGUL SYLLABLE WAEGG;Lo;0;L;;;;;N;;;;;
+C65F;HANGUL SYLLABLE WAEGS;Lo;0;L;;;;;N;;;;;
+C660;HANGUL SYLLABLE WAEN;Lo;0;L;;;;;N;;;;;
+C661;HANGUL SYLLABLE WAENI;Lo;0;L;;;;;N;;;;;
+C662;HANGUL SYLLABLE WAENH;Lo;0;L;;;;;N;;;;;
+C663;HANGUL SYLLABLE WAED;Lo;0;L;;;;;N;;;;;
+C664;HANGUL SYLLABLE WAEL;Lo;0;L;;;;;N;;;;;
+C665;HANGUL SYLLABLE WAELG;Lo;0;L;;;;;N;;;;;
+C666;HANGUL SYLLABLE WAELM;Lo;0;L;;;;;N;;;;;
+C667;HANGUL SYLLABLE WAELB;Lo;0;L;;;;;N;;;;;
+C668;HANGUL SYLLABLE WAELS;Lo;0;L;;;;;N;;;;;
+C669;HANGUL SYLLABLE WAELT;Lo;0;L;;;;;N;;;;;
+C66A;HANGUL SYLLABLE WAELP;Lo;0;L;;;;;N;;;;;
+C66B;HANGUL SYLLABLE WAELH;Lo;0;L;;;;;N;;;;;
+C66C;HANGUL SYLLABLE WAEM;Lo;0;L;;;;;N;;;;;
+C66D;HANGUL SYLLABLE WAEB;Lo;0;L;;;;;N;;;;;
+C66E;HANGUL SYLLABLE WAEBS;Lo;0;L;;;;;N;;;;;
+C66F;HANGUL SYLLABLE WAES;Lo;0;L;;;;;N;;;;;
+C670;HANGUL SYLLABLE WAESS;Lo;0;L;;;;;N;;;;;
+C671;HANGUL SYLLABLE WAENG;Lo;0;L;;;;;N;;;;;
+C672;HANGUL SYLLABLE WAEJ;Lo;0;L;;;;;N;;;;;
+C673;HANGUL SYLLABLE WAEC;Lo;0;L;;;;;N;;;;;
+C674;HANGUL SYLLABLE WAEK;Lo;0;L;;;;;N;;;;;
+C675;HANGUL SYLLABLE WAET;Lo;0;L;;;;;N;;;;;
+C676;HANGUL SYLLABLE WAEP;Lo;0;L;;;;;N;;;;;
+C677;HANGUL SYLLABLE WAEH;Lo;0;L;;;;;N;;;;;
+C678;HANGUL SYLLABLE OE;Lo;0;L;;;;;N;;;;;
+C679;HANGUL SYLLABLE OEG;Lo;0;L;;;;;N;;;;;
+C67A;HANGUL SYLLABLE OEGG;Lo;0;L;;;;;N;;;;;
+C67B;HANGUL SYLLABLE OEGS;Lo;0;L;;;;;N;;;;;
+C67C;HANGUL SYLLABLE OEN;Lo;0;L;;;;;N;;;;;
+C67D;HANGUL SYLLABLE OENI;Lo;0;L;;;;;N;;;;;
+C67E;HANGUL SYLLABLE OENH;Lo;0;L;;;;;N;;;;;
+C67F;HANGUL SYLLABLE OED;Lo;0;L;;;;;N;;;;;
+C680;HANGUL SYLLABLE OEL;Lo;0;L;;;;;N;;;;;
+C681;HANGUL SYLLABLE OELG;Lo;0;L;;;;;N;;;;;
+C682;HANGUL SYLLABLE OELM;Lo;0;L;;;;;N;;;;;
+C683;HANGUL SYLLABLE OELB;Lo;0;L;;;;;N;;;;;
+C684;HANGUL SYLLABLE OELS;Lo;0;L;;;;;N;;;;;
+C685;HANGUL SYLLABLE OELT;Lo;0;L;;;;;N;;;;;
+C686;HANGUL SYLLABLE OELP;Lo;0;L;;;;;N;;;;;
+C687;HANGUL SYLLABLE OELH;Lo;0;L;;;;;N;;;;;
+C688;HANGUL SYLLABLE OEM;Lo;0;L;;;;;N;;;;;
+C689;HANGUL SYLLABLE OEB;Lo;0;L;;;;;N;;;;;
+C68A;HANGUL SYLLABLE OEBS;Lo;0;L;;;;;N;;;;;
+C68B;HANGUL SYLLABLE OES;Lo;0;L;;;;;N;;;;;
+C68C;HANGUL SYLLABLE OESS;Lo;0;L;;;;;N;;;;;
+C68D;HANGUL SYLLABLE OENG;Lo;0;L;;;;;N;;;;;
+C68E;HANGUL SYLLABLE OEJ;Lo;0;L;;;;;N;;;;;
+C68F;HANGUL SYLLABLE OEC;Lo;0;L;;;;;N;;;;;
+C690;HANGUL SYLLABLE OEK;Lo;0;L;;;;;N;;;;;
+C691;HANGUL SYLLABLE OET;Lo;0;L;;;;;N;;;;;
+C692;HANGUL SYLLABLE OEP;Lo;0;L;;;;;N;;;;;
+C693;HANGUL SYLLABLE OEH;Lo;0;L;;;;;N;;;;;
+C694;HANGUL SYLLABLE YO;Lo;0;L;;;;;N;;;;;
+C695;HANGUL SYLLABLE YOG;Lo;0;L;;;;;N;;;;;
+C696;HANGUL SYLLABLE YOGG;Lo;0;L;;;;;N;;;;;
+C697;HANGUL SYLLABLE YOGS;Lo;0;L;;;;;N;;;;;
+C698;HANGUL SYLLABLE YON;Lo;0;L;;;;;N;;;;;
+C699;HANGUL SYLLABLE YONI;Lo;0;L;;;;;N;;;;;
+C69A;HANGUL SYLLABLE YONH;Lo;0;L;;;;;N;;;;;
+C69B;HANGUL SYLLABLE YOD;Lo;0;L;;;;;N;;;;;
+C69C;HANGUL SYLLABLE YOL;Lo;0;L;;;;;N;;;;;
+C69D;HANGUL SYLLABLE YOLG;Lo;0;L;;;;;N;;;;;
+C69E;HANGUL SYLLABLE YOLM;Lo;0;L;;;;;N;;;;;
+C69F;HANGUL SYLLABLE YOLB;Lo;0;L;;;;;N;;;;;
+C6A0;HANGUL SYLLABLE YOLS;Lo;0;L;;;;;N;;;;;
+C6A1;HANGUL SYLLABLE YOLT;Lo;0;L;;;;;N;;;;;
+C6A2;HANGUL SYLLABLE YOLP;Lo;0;L;;;;;N;;;;;
+C6A3;HANGUL SYLLABLE YOLH;Lo;0;L;;;;;N;;;;;
+C6A4;HANGUL SYLLABLE YOM;Lo;0;L;;;;;N;;;;;
+C6A5;HANGUL SYLLABLE YOB;Lo;0;L;;;;;N;;;;;
+C6A6;HANGUL SYLLABLE YOBS;Lo;0;L;;;;;N;;;;;
+C6A7;HANGUL SYLLABLE YOS;Lo;0;L;;;;;N;;;;;
+C6A8;HANGUL SYLLABLE YOSS;Lo;0;L;;;;;N;;;;;
+C6A9;HANGUL SYLLABLE YONG;Lo;0;L;;;;;N;;;;;
+C6AA;HANGUL SYLLABLE YOJ;Lo;0;L;;;;;N;;;;;
+C6AB;HANGUL SYLLABLE YOC;Lo;0;L;;;;;N;;;;;
+C6AC;HANGUL SYLLABLE YOK;Lo;0;L;;;;;N;;;;;
+C6AD;HANGUL SYLLABLE YOT;Lo;0;L;;;;;N;;;;;
+C6AE;HANGUL SYLLABLE YOP;Lo;0;L;;;;;N;;;;;
+C6AF;HANGUL SYLLABLE YOH;Lo;0;L;;;;;N;;;;;
+C6B0;HANGUL SYLLABLE U;Lo;0;L;;;;;N;;;;;
+C6B1;HANGUL SYLLABLE UG;Lo;0;L;;;;;N;;;;;
+C6B2;HANGUL SYLLABLE UGG;Lo;0;L;;;;;N;;;;;
+C6B3;HANGUL SYLLABLE UGS;Lo;0;L;;;;;N;;;;;
+C6B4;HANGUL SYLLABLE UN;Lo;0;L;;;;;N;;;;;
+C6B5;HANGUL SYLLABLE UNI;Lo;0;L;;;;;N;;;;;
+C6B6;HANGUL SYLLABLE UNH;Lo;0;L;;;;;N;;;;;
+C6B7;HANGUL SYLLABLE UD;Lo;0;L;;;;;N;;;;;
+C6B8;HANGUL SYLLABLE UL;Lo;0;L;;;;;N;;;;;
+C6B9;HANGUL SYLLABLE ULG;Lo;0;L;;;;;N;;;;;
+C6BA;HANGUL SYLLABLE ULM;Lo;0;L;;;;;N;;;;;
+C6BB;HANGUL SYLLABLE ULB;Lo;0;L;;;;;N;;;;;
+C6BC;HANGUL SYLLABLE ULS;Lo;0;L;;;;;N;;;;;
+C6BD;HANGUL SYLLABLE ULT;Lo;0;L;;;;;N;;;;;
+C6BE;HANGUL SYLLABLE ULP;Lo;0;L;;;;;N;;;;;
+C6BF;HANGUL SYLLABLE ULH;Lo;0;L;;;;;N;;;;;
+C6C0;HANGUL SYLLABLE UM;Lo;0;L;;;;;N;;;;;
+C6C1;HANGUL SYLLABLE UB;Lo;0;L;;;;;N;;;;;
+C6C2;HANGUL SYLLABLE UBS;Lo;0;L;;;;;N;;;;;
+C6C3;HANGUL SYLLABLE US;Lo;0;L;;;;;N;;;;;
+C6C4;HANGUL SYLLABLE USS;Lo;0;L;;;;;N;;;;;
+C6C5;HANGUL SYLLABLE UNG;Lo;0;L;;;;;N;;;;;
+C6C6;HANGUL SYLLABLE UJ;Lo;0;L;;;;;N;;;;;
+C6C7;HANGUL SYLLABLE UC;Lo;0;L;;;;;N;;;;;
+C6C8;HANGUL SYLLABLE UK;Lo;0;L;;;;;N;;;;;
+C6C9;HANGUL SYLLABLE UT;Lo;0;L;;;;;N;;;;;
+C6CA;HANGUL SYLLABLE UP;Lo;0;L;;;;;N;;;;;
+C6CB;HANGUL SYLLABLE UH;Lo;0;L;;;;;N;;;;;
+C6CC;HANGUL SYLLABLE WEO;Lo;0;L;;;;;N;;;;;
+C6CD;HANGUL SYLLABLE WEOG;Lo;0;L;;;;;N;;;;;
+C6CE;HANGUL SYLLABLE WEOGG;Lo;0;L;;;;;N;;;;;
+C6CF;HANGUL SYLLABLE WEOGS;Lo;0;L;;;;;N;;;;;
+C6D0;HANGUL SYLLABLE WEON;Lo;0;L;;;;;N;;;;;
+C6D1;HANGUL SYLLABLE WEONI;Lo;0;L;;;;;N;;;;;
+C6D2;HANGUL SYLLABLE WEONH;Lo;0;L;;;;;N;;;;;
+C6D3;HANGUL SYLLABLE WEOD;Lo;0;L;;;;;N;;;;;
+C6D4;HANGUL SYLLABLE WEOL;Lo;0;L;;;;;N;;;;;
+C6D5;HANGUL SYLLABLE WEOLG;Lo;0;L;;;;;N;;;;;
+C6D6;HANGUL SYLLABLE WEOLM;Lo;0;L;;;;;N;;;;;
+C6D7;HANGUL SYLLABLE WEOLB;Lo;0;L;;;;;N;;;;;
+C6D8;HANGUL SYLLABLE WEOLS;Lo;0;L;;;;;N;;;;;
+C6D9;HANGUL SYLLABLE WEOLT;Lo;0;L;;;;;N;;;;;
+C6DA;HANGUL SYLLABLE WEOLP;Lo;0;L;;;;;N;;;;;
+C6DB;HANGUL SYLLABLE WEOLH;Lo;0;L;;;;;N;;;;;
+C6DC;HANGUL SYLLABLE WEOM;Lo;0;L;;;;;N;;;;;
+C6DD;HANGUL SYLLABLE WEOB;Lo;0;L;;;;;N;;;;;
+C6DE;HANGUL SYLLABLE WEOBS;Lo;0;L;;;;;N;;;;;
+C6DF;HANGUL SYLLABLE WEOS;Lo;0;L;;;;;N;;;;;
+C6E0;HANGUL SYLLABLE WEOSS;Lo;0;L;;;;;N;;;;;
+C6E1;HANGUL SYLLABLE WEONG;Lo;0;L;;;;;N;;;;;
+C6E2;HANGUL SYLLABLE WEOJ;Lo;0;L;;;;;N;;;;;
+C6E3;HANGUL SYLLABLE WEOC;Lo;0;L;;;;;N;;;;;
+C6E4;HANGUL SYLLABLE WEOK;Lo;0;L;;;;;N;;;;;
+C6E5;HANGUL SYLLABLE WEOT;Lo;0;L;;;;;N;;;;;
+C6E6;HANGUL SYLLABLE WEOP;Lo;0;L;;;;;N;;;;;
+C6E7;HANGUL SYLLABLE WEOH;Lo;0;L;;;;;N;;;;;
+C6E8;HANGUL SYLLABLE WE;Lo;0;L;;;;;N;;;;;
+C6E9;HANGUL SYLLABLE WEG;Lo;0;L;;;;;N;;;;;
+C6EA;HANGUL SYLLABLE WEGG;Lo;0;L;;;;;N;;;;;
+C6EB;HANGUL SYLLABLE WEGS;Lo;0;L;;;;;N;;;;;
+C6EC;HANGUL SYLLABLE WEN;Lo;0;L;;;;;N;;;;;
+C6ED;HANGUL SYLLABLE WENI;Lo;0;L;;;;;N;;;;;
+C6EE;HANGUL SYLLABLE WENH;Lo;0;L;;;;;N;;;;;
+C6EF;HANGUL SYLLABLE WED;Lo;0;L;;;;;N;;;;;
+C6F0;HANGUL SYLLABLE WEL;Lo;0;L;;;;;N;;;;;
+C6F1;HANGUL SYLLABLE WELG;Lo;0;L;;;;;N;;;;;
+C6F2;HANGUL SYLLABLE WELM;Lo;0;L;;;;;N;;;;;
+C6F3;HANGUL SYLLABLE WELB;Lo;0;L;;;;;N;;;;;
+C6F4;HANGUL SYLLABLE WELS;Lo;0;L;;;;;N;;;;;
+C6F5;HANGUL SYLLABLE WELT;Lo;0;L;;;;;N;;;;;
+C6F6;HANGUL SYLLABLE WELP;Lo;0;L;;;;;N;;;;;
+C6F7;HANGUL SYLLABLE WELH;Lo;0;L;;;;;N;;;;;
+C6F8;HANGUL SYLLABLE WEM;Lo;0;L;;;;;N;;;;;
+C6F9;HANGUL SYLLABLE WEB;Lo;0;L;;;;;N;;;;;
+C6FA;HANGUL SYLLABLE WEBS;Lo;0;L;;;;;N;;;;;
+C6FB;HANGUL SYLLABLE WES;Lo;0;L;;;;;N;;;;;
+C6FC;HANGUL SYLLABLE WESS;Lo;0;L;;;;;N;;;;;
+C6FD;HANGUL SYLLABLE WENG;Lo;0;L;;;;;N;;;;;
+C6FE;HANGUL SYLLABLE WEJ;Lo;0;L;;;;;N;;;;;
+C6FF;HANGUL SYLLABLE WEC;Lo;0;L;;;;;N;;;;;
+C700;HANGUL SYLLABLE WEK;Lo;0;L;;;;;N;;;;;
+C701;HANGUL SYLLABLE WET;Lo;0;L;;;;;N;;;;;
+C702;HANGUL SYLLABLE WEP;Lo;0;L;;;;;N;;;;;
+C703;HANGUL SYLLABLE WEH;Lo;0;L;;;;;N;;;;;
+C704;HANGUL SYLLABLE WI;Lo;0;L;;;;;N;;;;;
+C705;HANGUL SYLLABLE WIG;Lo;0;L;;;;;N;;;;;
+C706;HANGUL SYLLABLE WIGG;Lo;0;L;;;;;N;;;;;
+C707;HANGUL SYLLABLE WIGS;Lo;0;L;;;;;N;;;;;
+C708;HANGUL SYLLABLE WIN;Lo;0;L;;;;;N;;;;;
+C709;HANGUL SYLLABLE WINI;Lo;0;L;;;;;N;;;;;
+C70A;HANGUL SYLLABLE WINH;Lo;0;L;;;;;N;;;;;
+C70B;HANGUL SYLLABLE WID;Lo;0;L;;;;;N;;;;;
+C70C;HANGUL SYLLABLE WIL;Lo;0;L;;;;;N;;;;;
+C70D;HANGUL SYLLABLE WILG;Lo;0;L;;;;;N;;;;;
+C70E;HANGUL SYLLABLE WILM;Lo;0;L;;;;;N;;;;;
+C70F;HANGUL SYLLABLE WILB;Lo;0;L;;;;;N;;;;;
+C710;HANGUL SYLLABLE WILS;Lo;0;L;;;;;N;;;;;
+C711;HANGUL SYLLABLE WILT;Lo;0;L;;;;;N;;;;;
+C712;HANGUL SYLLABLE WILP;Lo;0;L;;;;;N;;;;;
+C713;HANGUL SYLLABLE WILH;Lo;0;L;;;;;N;;;;;
+C714;HANGUL SYLLABLE WIM;Lo;0;L;;;;;N;;;;;
+C715;HANGUL SYLLABLE WIB;Lo;0;L;;;;;N;;;;;
+C716;HANGUL SYLLABLE WIBS;Lo;0;L;;;;;N;;;;;
+C717;HANGUL SYLLABLE WIS;Lo;0;L;;;;;N;;;;;
+C718;HANGUL SYLLABLE WISS;Lo;0;L;;;;;N;;;;;
+C719;HANGUL SYLLABLE WING;Lo;0;L;;;;;N;;;;;
+C71A;HANGUL SYLLABLE WIJ;Lo;0;L;;;;;N;;;;;
+C71B;HANGUL SYLLABLE WIC;Lo;0;L;;;;;N;;;;;
+C71C;HANGUL SYLLABLE WIK;Lo;0;L;;;;;N;;;;;
+C71D;HANGUL SYLLABLE WIT;Lo;0;L;;;;;N;;;;;
+C71E;HANGUL SYLLABLE WIP;Lo;0;L;;;;;N;;;;;
+C71F;HANGUL SYLLABLE WIH;Lo;0;L;;;;;N;;;;;
+C720;HANGUL SYLLABLE YU;Lo;0;L;;;;;N;;;;;
+C721;HANGUL SYLLABLE YUG;Lo;0;L;;;;;N;;;;;
+C722;HANGUL SYLLABLE YUGG;Lo;0;L;;;;;N;;;;;
+C723;HANGUL SYLLABLE YUGS;Lo;0;L;;;;;N;;;;;
+C724;HANGUL SYLLABLE YUN;Lo;0;L;;;;;N;;;;;
+C725;HANGUL SYLLABLE YUNI;Lo;0;L;;;;;N;;;;;
+C726;HANGUL SYLLABLE YUNH;Lo;0;L;;;;;N;;;;;
+C727;HANGUL SYLLABLE YUD;Lo;0;L;;;;;N;;;;;
+C728;HANGUL SYLLABLE YUL;Lo;0;L;;;;;N;;;;;
+C729;HANGUL SYLLABLE YULG;Lo;0;L;;;;;N;;;;;
+C72A;HANGUL SYLLABLE YULM;Lo;0;L;;;;;N;;;;;
+C72B;HANGUL SYLLABLE YULB;Lo;0;L;;;;;N;;;;;
+C72C;HANGUL SYLLABLE YULS;Lo;0;L;;;;;N;;;;;
+C72D;HANGUL SYLLABLE YULT;Lo;0;L;;;;;N;;;;;
+C72E;HANGUL SYLLABLE YULP;Lo;0;L;;;;;N;;;;;
+C72F;HANGUL SYLLABLE YULH;Lo;0;L;;;;;N;;;;;
+C730;HANGUL SYLLABLE YUM;Lo;0;L;;;;;N;;;;;
+C731;HANGUL SYLLABLE YUB;Lo;0;L;;;;;N;;;;;
+C732;HANGUL SYLLABLE YUBS;Lo;0;L;;;;;N;;;;;
+C733;HANGUL SYLLABLE YUS;Lo;0;L;;;;;N;;;;;
+C734;HANGUL SYLLABLE YUSS;Lo;0;L;;;;;N;;;;;
+C735;HANGUL SYLLABLE YUNG;Lo;0;L;;;;;N;;;;;
+C736;HANGUL SYLLABLE YUJ;Lo;0;L;;;;;N;;;;;
+C737;HANGUL SYLLABLE YUC;Lo;0;L;;;;;N;;;;;
+C738;HANGUL SYLLABLE YUK;Lo;0;L;;;;;N;;;;;
+C739;HANGUL SYLLABLE YUT;Lo;0;L;;;;;N;;;;;
+C73A;HANGUL SYLLABLE YUP;Lo;0;L;;;;;N;;;;;
+C73B;HANGUL SYLLABLE YUH;Lo;0;L;;;;;N;;;;;
+C73C;HANGUL SYLLABLE EU;Lo;0;L;;;;;N;;;;;
+C73D;HANGUL SYLLABLE EUG;Lo;0;L;;;;;N;;;;;
+C73E;HANGUL SYLLABLE EUGG;Lo;0;L;;;;;N;;;;;
+C73F;HANGUL SYLLABLE EUGS;Lo;0;L;;;;;N;;;;;
+C740;HANGUL SYLLABLE EUN;Lo;0;L;;;;;N;;;;;
+C741;HANGUL SYLLABLE EUNI;Lo;0;L;;;;;N;;;;;
+C742;HANGUL SYLLABLE EUNH;Lo;0;L;;;;;N;;;;;
+C743;HANGUL SYLLABLE EUD;Lo;0;L;;;;;N;;;;;
+C744;HANGUL SYLLABLE EUL;Lo;0;L;;;;;N;;;;;
+C745;HANGUL SYLLABLE EULG;Lo;0;L;;;;;N;;;;;
+C746;HANGUL SYLLABLE EULM;Lo;0;L;;;;;N;;;;;
+C747;HANGUL SYLLABLE EULB;Lo;0;L;;;;;N;;;;;
+C748;HANGUL SYLLABLE EULS;Lo;0;L;;;;;N;;;;;
+C749;HANGUL SYLLABLE EULT;Lo;0;L;;;;;N;;;;;
+C74A;HANGUL SYLLABLE EULP;Lo;0;L;;;;;N;;;;;
+C74B;HANGUL SYLLABLE EULH;Lo;0;L;;;;;N;;;;;
+C74C;HANGUL SYLLABLE EUM;Lo;0;L;;;;;N;;;;;
+C74D;HANGUL SYLLABLE EUB;Lo;0;L;;;;;N;;;;;
+C74E;HANGUL SYLLABLE EUBS;Lo;0;L;;;;;N;;;;;
+C74F;HANGUL SYLLABLE EUS;Lo;0;L;;;;;N;;;;;
+C750;HANGUL SYLLABLE EUSS;Lo;0;L;;;;;N;;;;;
+C751;HANGUL SYLLABLE EUNG;Lo;0;L;;;;;N;;;;;
+C752;HANGUL SYLLABLE EUJ;Lo;0;L;;;;;N;;;;;
+C753;HANGUL SYLLABLE EUC;Lo;0;L;;;;;N;;;;;
+C754;HANGUL SYLLABLE EUK;Lo;0;L;;;;;N;;;;;
+C755;HANGUL SYLLABLE EUT;Lo;0;L;;;;;N;;;;;
+C756;HANGUL SYLLABLE EUP;Lo;0;L;;;;;N;;;;;
+C757;HANGUL SYLLABLE EUH;Lo;0;L;;;;;N;;;;;
+C758;HANGUL SYLLABLE YI;Lo;0;L;;;;;N;;;;;
+C759;HANGUL SYLLABLE YIG;Lo;0;L;;;;;N;;;;;
+C75A;HANGUL SYLLABLE YIGG;Lo;0;L;;;;;N;;;;;
+C75B;HANGUL SYLLABLE YIGS;Lo;0;L;;;;;N;;;;;
+C75C;HANGUL SYLLABLE YIN;Lo;0;L;;;;;N;;;;;
+C75D;HANGUL SYLLABLE YINI;Lo;0;L;;;;;N;;;;;
+C75E;HANGUL SYLLABLE YINH;Lo;0;L;;;;;N;;;;;
+C75F;HANGUL SYLLABLE YID;Lo;0;L;;;;;N;;;;;
+C760;HANGUL SYLLABLE YIL;Lo;0;L;;;;;N;;;;;
+C761;HANGUL SYLLABLE YILG;Lo;0;L;;;;;N;;;;;
+C762;HANGUL SYLLABLE YILM;Lo;0;L;;;;;N;;;;;
+C763;HANGUL SYLLABLE YILB;Lo;0;L;;;;;N;;;;;
+C764;HANGUL SYLLABLE YILS;Lo;0;L;;;;;N;;;;;
+C765;HANGUL SYLLABLE YILT;Lo;0;L;;;;;N;;;;;
+C766;HANGUL SYLLABLE YILP;Lo;0;L;;;;;N;;;;;
+C767;HANGUL SYLLABLE YILH;Lo;0;L;;;;;N;;;;;
+C768;HANGUL SYLLABLE YIM;Lo;0;L;;;;;N;;;;;
+C769;HANGUL SYLLABLE YIB;Lo;0;L;;;;;N;;;;;
+C76A;HANGUL SYLLABLE YIBS;Lo;0;L;;;;;N;;;;;
+C76B;HANGUL SYLLABLE YIS;Lo;0;L;;;;;N;;;;;
+C76C;HANGUL SYLLABLE YISS;Lo;0;L;;;;;N;;;;;
+C76D;HANGUL SYLLABLE YING;Lo;0;L;;;;;N;;;;;
+C76E;HANGUL SYLLABLE YIJ;Lo;0;L;;;;;N;;;;;
+C76F;HANGUL SYLLABLE YIC;Lo;0;L;;;;;N;;;;;
+C770;HANGUL SYLLABLE YIK;Lo;0;L;;;;;N;;;;;
+C771;HANGUL SYLLABLE YIT;Lo;0;L;;;;;N;;;;;
+C772;HANGUL SYLLABLE YIP;Lo;0;L;;;;;N;;;;;
+C773;HANGUL SYLLABLE YIH;Lo;0;L;;;;;N;;;;;
+C774;HANGUL SYLLABLE I;Lo;0;L;;;;;N;;;;;
+C775;HANGUL SYLLABLE IG;Lo;0;L;;;;;N;;;;;
+C776;HANGUL SYLLABLE IGG;Lo;0;L;;;;;N;;;;;
+C777;HANGUL SYLLABLE IGS;Lo;0;L;;;;;N;;;;;
+C778;HANGUL SYLLABLE IN;Lo;0;L;;;;;N;;;;;
+C779;HANGUL SYLLABLE INI;Lo;0;L;;;;;N;;;;;
+C77A;HANGUL SYLLABLE INH;Lo;0;L;;;;;N;;;;;
+C77B;HANGUL SYLLABLE ID;Lo;0;L;;;;;N;;;;;
+C77C;HANGUL SYLLABLE IL;Lo;0;L;;;;;N;;;;;
+C77D;HANGUL SYLLABLE ILG;Lo;0;L;;;;;N;;;;;
+C77E;HANGUL SYLLABLE ILM;Lo;0;L;;;;;N;;;;;
+C77F;HANGUL SYLLABLE ILB;Lo;0;L;;;;;N;;;;;
+C780;HANGUL SYLLABLE ILS;Lo;0;L;;;;;N;;;;;
+C781;HANGUL SYLLABLE ILT;Lo;0;L;;;;;N;;;;;
+C782;HANGUL SYLLABLE ILP;Lo;0;L;;;;;N;;;;;
+C783;HANGUL SYLLABLE ILH;Lo;0;L;;;;;N;;;;;
+C784;HANGUL SYLLABLE IM;Lo;0;L;;;;;N;;;;;
+C785;HANGUL SYLLABLE IB;Lo;0;L;;;;;N;;;;;
+C786;HANGUL SYLLABLE IBS;Lo;0;L;;;;;N;;;;;
+C787;HANGUL SYLLABLE IS;Lo;0;L;;;;;N;;;;;
+C788;HANGUL SYLLABLE ISS;Lo;0;L;;;;;N;;;;;
+C789;HANGUL SYLLABLE ING;Lo;0;L;;;;;N;;;;;
+C78A;HANGUL SYLLABLE IJ;Lo;0;L;;;;;N;;;;;
+C78B;HANGUL SYLLABLE IC;Lo;0;L;;;;;N;;;;;
+C78C;HANGUL SYLLABLE IK;Lo;0;L;;;;;N;;;;;
+C78D;HANGUL SYLLABLE IT;Lo;0;L;;;;;N;;;;;
+C78E;HANGUL SYLLABLE IP;Lo;0;L;;;;;N;;;;;
+C78F;HANGUL SYLLABLE IH;Lo;0;L;;;;;N;;;;;
+C790;HANGUL SYLLABLE JA;Lo;0;L;;;;;N;;;;;
+C791;HANGUL SYLLABLE JAG;Lo;0;L;;;;;N;;;;;
+C792;HANGUL SYLLABLE JAGG;Lo;0;L;;;;;N;;;;;
+C793;HANGUL SYLLABLE JAGS;Lo;0;L;;;;;N;;;;;
+C794;HANGUL SYLLABLE JAN;Lo;0;L;;;;;N;;;;;
+C795;HANGUL SYLLABLE JANI;Lo;0;L;;;;;N;;;;;
+C796;HANGUL SYLLABLE JANH;Lo;0;L;;;;;N;;;;;
+C797;HANGUL SYLLABLE JAD;Lo;0;L;;;;;N;;;;;
+C798;HANGUL SYLLABLE JAL;Lo;0;L;;;;;N;;;;;
+C799;HANGUL SYLLABLE JALG;Lo;0;L;;;;;N;;;;;
+C79A;HANGUL SYLLABLE JALM;Lo;0;L;;;;;N;;;;;
+C79B;HANGUL SYLLABLE JALB;Lo;0;L;;;;;N;;;;;
+C79C;HANGUL SYLLABLE JALS;Lo;0;L;;;;;N;;;;;
+C79D;HANGUL SYLLABLE JALT;Lo;0;L;;;;;N;;;;;
+C79E;HANGUL SYLLABLE JALP;Lo;0;L;;;;;N;;;;;
+C79F;HANGUL SYLLABLE JALH;Lo;0;L;;;;;N;;;;;
+C7A0;HANGUL SYLLABLE JAM;Lo;0;L;;;;;N;;;;;
+C7A1;HANGUL SYLLABLE JAB;Lo;0;L;;;;;N;;;;;
+C7A2;HANGUL SYLLABLE JABS;Lo;0;L;;;;;N;;;;;
+C7A3;HANGUL SYLLABLE JAS;Lo;0;L;;;;;N;;;;;
+C7A4;HANGUL SYLLABLE JASS;Lo;0;L;;;;;N;;;;;
+C7A5;HANGUL SYLLABLE JANG;Lo;0;L;;;;;N;;;;;
+C7A6;HANGUL SYLLABLE JAJ;Lo;0;L;;;;;N;;;;;
+C7A7;HANGUL SYLLABLE JAC;Lo;0;L;;;;;N;;;;;
+C7A8;HANGUL SYLLABLE JAK;Lo;0;L;;;;;N;;;;;
+C7A9;HANGUL SYLLABLE JAT;Lo;0;L;;;;;N;;;;;
+C7AA;HANGUL SYLLABLE JAP;Lo;0;L;;;;;N;;;;;
+C7AB;HANGUL SYLLABLE JAH;Lo;0;L;;;;;N;;;;;
+C7AC;HANGUL SYLLABLE JAE;Lo;0;L;;;;;N;;;;;
+C7AD;HANGUL SYLLABLE JAEG;Lo;0;L;;;;;N;;;;;
+C7AE;HANGUL SYLLABLE JAEGG;Lo;0;L;;;;;N;;;;;
+C7AF;HANGUL SYLLABLE JAEGS;Lo;0;L;;;;;N;;;;;
+C7B0;HANGUL SYLLABLE JAEN;Lo;0;L;;;;;N;;;;;
+C7B1;HANGUL SYLLABLE JAENI;Lo;0;L;;;;;N;;;;;
+C7B2;HANGUL SYLLABLE JAENH;Lo;0;L;;;;;N;;;;;
+C7B3;HANGUL SYLLABLE JAED;Lo;0;L;;;;;N;;;;;
+C7B4;HANGUL SYLLABLE JAEL;Lo;0;L;;;;;N;;;;;
+C7B5;HANGUL SYLLABLE JAELG;Lo;0;L;;;;;N;;;;;
+C7B6;HANGUL SYLLABLE JAELM;Lo;0;L;;;;;N;;;;;
+C7B7;HANGUL SYLLABLE JAELB;Lo;0;L;;;;;N;;;;;
+C7B8;HANGUL SYLLABLE JAELS;Lo;0;L;;;;;N;;;;;
+C7B9;HANGUL SYLLABLE JAELT;Lo;0;L;;;;;N;;;;;
+C7BA;HANGUL SYLLABLE JAELP;Lo;0;L;;;;;N;;;;;
+C7BB;HANGUL SYLLABLE JAELH;Lo;0;L;;;;;N;;;;;
+C7BC;HANGUL SYLLABLE JAEM;Lo;0;L;;;;;N;;;;;
+C7BD;HANGUL SYLLABLE JAEB;Lo;0;L;;;;;N;;;;;
+C7BE;HANGUL SYLLABLE JAEBS;Lo;0;L;;;;;N;;;;;
+C7BF;HANGUL SYLLABLE JAES;Lo;0;L;;;;;N;;;;;
+C7C0;HANGUL SYLLABLE JAESS;Lo;0;L;;;;;N;;;;;
+C7C1;HANGUL SYLLABLE JAENG;Lo;0;L;;;;;N;;;;;
+C7C2;HANGUL SYLLABLE JAEJ;Lo;0;L;;;;;N;;;;;
+C7C3;HANGUL SYLLABLE JAEC;Lo;0;L;;;;;N;;;;;
+C7C4;HANGUL SYLLABLE JAEK;Lo;0;L;;;;;N;;;;;
+C7C5;HANGUL SYLLABLE JAET;Lo;0;L;;;;;N;;;;;
+C7C6;HANGUL SYLLABLE JAEP;Lo;0;L;;;;;N;;;;;
+C7C7;HANGUL SYLLABLE JAEH;Lo;0;L;;;;;N;;;;;
+C7C8;HANGUL SYLLABLE JYA;Lo;0;L;;;;;N;;;;;
+C7C9;HANGUL SYLLABLE JYAG;Lo;0;L;;;;;N;;;;;
+C7CA;HANGUL SYLLABLE JYAGG;Lo;0;L;;;;;N;;;;;
+C7CB;HANGUL SYLLABLE JYAGS;Lo;0;L;;;;;N;;;;;
+C7CC;HANGUL SYLLABLE JYAN;Lo;0;L;;;;;N;;;;;
+C7CD;HANGUL SYLLABLE JYANI;Lo;0;L;;;;;N;;;;;
+C7CE;HANGUL SYLLABLE JYANH;Lo;0;L;;;;;N;;;;;
+C7CF;HANGUL SYLLABLE JYAD;Lo;0;L;;;;;N;;;;;
+C7D0;HANGUL SYLLABLE JYAL;Lo;0;L;;;;;N;;;;;
+C7D1;HANGUL SYLLABLE JYALG;Lo;0;L;;;;;N;;;;;
+C7D2;HANGUL SYLLABLE JYALM;Lo;0;L;;;;;N;;;;;
+C7D3;HANGUL SYLLABLE JYALB;Lo;0;L;;;;;N;;;;;
+C7D4;HANGUL SYLLABLE JYALS;Lo;0;L;;;;;N;;;;;
+C7D5;HANGUL SYLLABLE JYALT;Lo;0;L;;;;;N;;;;;
+C7D6;HANGUL SYLLABLE JYALP;Lo;0;L;;;;;N;;;;;
+C7D7;HANGUL SYLLABLE JYALH;Lo;0;L;;;;;N;;;;;
+C7D8;HANGUL SYLLABLE JYAM;Lo;0;L;;;;;N;;;;;
+C7D9;HANGUL SYLLABLE JYAB;Lo;0;L;;;;;N;;;;;
+C7DA;HANGUL SYLLABLE JYABS;Lo;0;L;;;;;N;;;;;
+C7DB;HANGUL SYLLABLE JYAS;Lo;0;L;;;;;N;;;;;
+C7DC;HANGUL SYLLABLE JYASS;Lo;0;L;;;;;N;;;;;
+C7DD;HANGUL SYLLABLE JYANG;Lo;0;L;;;;;N;;;;;
+C7DE;HANGUL SYLLABLE JYAJ;Lo;0;L;;;;;N;;;;;
+C7DF;HANGUL SYLLABLE JYAC;Lo;0;L;;;;;N;;;;;
+C7E0;HANGUL SYLLABLE JYAK;Lo;0;L;;;;;N;;;;;
+C7E1;HANGUL SYLLABLE JYAT;Lo;0;L;;;;;N;;;;;
+C7E2;HANGUL SYLLABLE JYAP;Lo;0;L;;;;;N;;;;;
+C7E3;HANGUL SYLLABLE JYAH;Lo;0;L;;;;;N;;;;;
+C7E4;HANGUL SYLLABLE JYAE;Lo;0;L;;;;;N;;;;;
+C7E5;HANGUL SYLLABLE JYAEG;Lo;0;L;;;;;N;;;;;
+C7E6;HANGUL SYLLABLE JYAEGG;Lo;0;L;;;;;N;;;;;
+C7E7;HANGUL SYLLABLE JYAEGS;Lo;0;L;;;;;N;;;;;
+C7E8;HANGUL SYLLABLE JYAEN;Lo;0;L;;;;;N;;;;;
+C7E9;HANGUL SYLLABLE JYAENI;Lo;0;L;;;;;N;;;;;
+C7EA;HANGUL SYLLABLE JYAENH;Lo;0;L;;;;;N;;;;;
+C7EB;HANGUL SYLLABLE JYAED;Lo;0;L;;;;;N;;;;;
+C7EC;HANGUL SYLLABLE JYAEL;Lo;0;L;;;;;N;;;;;
+C7ED;HANGUL SYLLABLE JYAELG;Lo;0;L;;;;;N;;;;;
+C7EE;HANGUL SYLLABLE JYAELM;Lo;0;L;;;;;N;;;;;
+C7EF;HANGUL SYLLABLE JYAELB;Lo;0;L;;;;;N;;;;;
+C7F0;HANGUL SYLLABLE JYAELS;Lo;0;L;;;;;N;;;;;
+C7F1;HANGUL SYLLABLE JYAELT;Lo;0;L;;;;;N;;;;;
+C7F2;HANGUL SYLLABLE JYAELP;Lo;0;L;;;;;N;;;;;
+C7F3;HANGUL SYLLABLE JYAELH;Lo;0;L;;;;;N;;;;;
+C7F4;HANGUL SYLLABLE JYAEM;Lo;0;L;;;;;N;;;;;
+C7F5;HANGUL SYLLABLE JYAEB;Lo;0;L;;;;;N;;;;;
+C7F6;HANGUL SYLLABLE JYAEBS;Lo;0;L;;;;;N;;;;;
+C7F7;HANGUL SYLLABLE JYAES;Lo;0;L;;;;;N;;;;;
+C7F8;HANGUL SYLLABLE JYAESS;Lo;0;L;;;;;N;;;;;
+C7F9;HANGUL SYLLABLE JYAENG;Lo;0;L;;;;;N;;;;;
+C7FA;HANGUL SYLLABLE JYAEJ;Lo;0;L;;;;;N;;;;;
+C7FB;HANGUL SYLLABLE JYAEC;Lo;0;L;;;;;N;;;;;
+C7FC;HANGUL SYLLABLE JYAEK;Lo;0;L;;;;;N;;;;;
+C7FD;HANGUL SYLLABLE JYAET;Lo;0;L;;;;;N;;;;;
+C7FE;HANGUL SYLLABLE JYAEP;Lo;0;L;;;;;N;;;;;
+C7FF;HANGUL SYLLABLE JYAEH;Lo;0;L;;;;;N;;;;;
+C800;HANGUL SYLLABLE JEO;Lo;0;L;;;;;N;;;;;
+C801;HANGUL SYLLABLE JEOG;Lo;0;L;;;;;N;;;;;
+C802;HANGUL SYLLABLE JEOGG;Lo;0;L;;;;;N;;;;;
+C803;HANGUL SYLLABLE JEOGS;Lo;0;L;;;;;N;;;;;
+C804;HANGUL SYLLABLE JEON;Lo;0;L;;;;;N;;;;;
+C805;HANGUL SYLLABLE JEONI;Lo;0;L;;;;;N;;;;;
+C806;HANGUL SYLLABLE JEONH;Lo;0;L;;;;;N;;;;;
+C807;HANGUL SYLLABLE JEOD;Lo;0;L;;;;;N;;;;;
+C808;HANGUL SYLLABLE JEOL;Lo;0;L;;;;;N;;;;;
+C809;HANGUL SYLLABLE JEOLG;Lo;0;L;;;;;N;;;;;
+C80A;HANGUL SYLLABLE JEOLM;Lo;0;L;;;;;N;;;;;
+C80B;HANGUL SYLLABLE JEOLB;Lo;0;L;;;;;N;;;;;
+C80C;HANGUL SYLLABLE JEOLS;Lo;0;L;;;;;N;;;;;
+C80D;HANGUL SYLLABLE JEOLT;Lo;0;L;;;;;N;;;;;
+C80E;HANGUL SYLLABLE JEOLP;Lo;0;L;;;;;N;;;;;
+C80F;HANGUL SYLLABLE JEOLH;Lo;0;L;;;;;N;;;;;
+C810;HANGUL SYLLABLE JEOM;Lo;0;L;;;;;N;;;;;
+C811;HANGUL SYLLABLE JEOB;Lo;0;L;;;;;N;;;;;
+C812;HANGUL SYLLABLE JEOBS;Lo;0;L;;;;;N;;;;;
+C813;HANGUL SYLLABLE JEOS;Lo;0;L;;;;;N;;;;;
+C814;HANGUL SYLLABLE JEOSS;Lo;0;L;;;;;N;;;;;
+C815;HANGUL SYLLABLE JEONG;Lo;0;L;;;;;N;;;;;
+C816;HANGUL SYLLABLE JEOJ;Lo;0;L;;;;;N;;;;;
+C817;HANGUL SYLLABLE JEOC;Lo;0;L;;;;;N;;;;;
+C818;HANGUL SYLLABLE JEOK;Lo;0;L;;;;;N;;;;;
+C819;HANGUL SYLLABLE JEOT;Lo;0;L;;;;;N;;;;;
+C81A;HANGUL SYLLABLE JEOP;Lo;0;L;;;;;N;;;;;
+C81B;HANGUL SYLLABLE JEOH;Lo;0;L;;;;;N;;;;;
+C81C;HANGUL SYLLABLE JE;Lo;0;L;;;;;N;;;;;
+C81D;HANGUL SYLLABLE JEG;Lo;0;L;;;;;N;;;;;
+C81E;HANGUL SYLLABLE JEGG;Lo;0;L;;;;;N;;;;;
+C81F;HANGUL SYLLABLE JEGS;Lo;0;L;;;;;N;;;;;
+C820;HANGUL SYLLABLE JEN;Lo;0;L;;;;;N;;;;;
+C821;HANGUL SYLLABLE JENI;Lo;0;L;;;;;N;;;;;
+C822;HANGUL SYLLABLE JENH;Lo;0;L;;;;;N;;;;;
+C823;HANGUL SYLLABLE JED;Lo;0;L;;;;;N;;;;;
+C824;HANGUL SYLLABLE JEL;Lo;0;L;;;;;N;;;;;
+C825;HANGUL SYLLABLE JELG;Lo;0;L;;;;;N;;;;;
+C826;HANGUL SYLLABLE JELM;Lo;0;L;;;;;N;;;;;
+C827;HANGUL SYLLABLE JELB;Lo;0;L;;;;;N;;;;;
+C828;HANGUL SYLLABLE JELS;Lo;0;L;;;;;N;;;;;
+C829;HANGUL SYLLABLE JELT;Lo;0;L;;;;;N;;;;;
+C82A;HANGUL SYLLABLE JELP;Lo;0;L;;;;;N;;;;;
+C82B;HANGUL SYLLABLE JELH;Lo;0;L;;;;;N;;;;;
+C82C;HANGUL SYLLABLE JEM;Lo;0;L;;;;;N;;;;;
+C82D;HANGUL SYLLABLE JEB;Lo;0;L;;;;;N;;;;;
+C82E;HANGUL SYLLABLE JEBS;Lo;0;L;;;;;N;;;;;
+C82F;HANGUL SYLLABLE JES;Lo;0;L;;;;;N;;;;;
+C830;HANGUL SYLLABLE JESS;Lo;0;L;;;;;N;;;;;
+C831;HANGUL SYLLABLE JENG;Lo;0;L;;;;;N;;;;;
+C832;HANGUL SYLLABLE JEJ;Lo;0;L;;;;;N;;;;;
+C833;HANGUL SYLLABLE JEC;Lo;0;L;;;;;N;;;;;
+C834;HANGUL SYLLABLE JEK;Lo;0;L;;;;;N;;;;;
+C835;HANGUL SYLLABLE JET;Lo;0;L;;;;;N;;;;;
+C836;HANGUL SYLLABLE JEP;Lo;0;L;;;;;N;;;;;
+C837;HANGUL SYLLABLE JEH;Lo;0;L;;;;;N;;;;;
+C838;HANGUL SYLLABLE JYEO;Lo;0;L;;;;;N;;;;;
+C839;HANGUL SYLLABLE JYEOG;Lo;0;L;;;;;N;;;;;
+C83A;HANGUL SYLLABLE JYEOGG;Lo;0;L;;;;;N;;;;;
+C83B;HANGUL SYLLABLE JYEOGS;Lo;0;L;;;;;N;;;;;
+C83C;HANGUL SYLLABLE JYEON;Lo;0;L;;;;;N;;;;;
+C83D;HANGUL SYLLABLE JYEONI;Lo;0;L;;;;;N;;;;;
+C83E;HANGUL SYLLABLE JYEONH;Lo;0;L;;;;;N;;;;;
+C83F;HANGUL SYLLABLE JYEOD;Lo;0;L;;;;;N;;;;;
+C840;HANGUL SYLLABLE JYEOL;Lo;0;L;;;;;N;;;;;
+C841;HANGUL SYLLABLE JYEOLG;Lo;0;L;;;;;N;;;;;
+C842;HANGUL SYLLABLE JYEOLM;Lo;0;L;;;;;N;;;;;
+C843;HANGUL SYLLABLE JYEOLB;Lo;0;L;;;;;N;;;;;
+C844;HANGUL SYLLABLE JYEOLS;Lo;0;L;;;;;N;;;;;
+C845;HANGUL SYLLABLE JYEOLT;Lo;0;L;;;;;N;;;;;
+C846;HANGUL SYLLABLE JYEOLP;Lo;0;L;;;;;N;;;;;
+C847;HANGUL SYLLABLE JYEOLH;Lo;0;L;;;;;N;;;;;
+C848;HANGUL SYLLABLE JYEOM;Lo;0;L;;;;;N;;;;;
+C849;HANGUL SYLLABLE JYEOB;Lo;0;L;;;;;N;;;;;
+C84A;HANGUL SYLLABLE JYEOBS;Lo;0;L;;;;;N;;;;;
+C84B;HANGUL SYLLABLE JYEOS;Lo;0;L;;;;;N;;;;;
+C84C;HANGUL SYLLABLE JYEOSS;Lo;0;L;;;;;N;;;;;
+C84D;HANGUL SYLLABLE JYEONG;Lo;0;L;;;;;N;;;;;
+C84E;HANGUL SYLLABLE JYEOJ;Lo;0;L;;;;;N;;;;;
+C84F;HANGUL SYLLABLE JYEOC;Lo;0;L;;;;;N;;;;;
+C850;HANGUL SYLLABLE JYEOK;Lo;0;L;;;;;N;;;;;
+C851;HANGUL SYLLABLE JYEOT;Lo;0;L;;;;;N;;;;;
+C852;HANGUL SYLLABLE JYEOP;Lo;0;L;;;;;N;;;;;
+C853;HANGUL SYLLABLE JYEOH;Lo;0;L;;;;;N;;;;;
+C854;HANGUL SYLLABLE JYE;Lo;0;L;;;;;N;;;;;
+C855;HANGUL SYLLABLE JYEG;Lo;0;L;;;;;N;;;;;
+C856;HANGUL SYLLABLE JYEGG;Lo;0;L;;;;;N;;;;;
+C857;HANGUL SYLLABLE JYEGS;Lo;0;L;;;;;N;;;;;
+C858;HANGUL SYLLABLE JYEN;Lo;0;L;;;;;N;;;;;
+C859;HANGUL SYLLABLE JYENI;Lo;0;L;;;;;N;;;;;
+C85A;HANGUL SYLLABLE JYENH;Lo;0;L;;;;;N;;;;;
+C85B;HANGUL SYLLABLE JYED;Lo;0;L;;;;;N;;;;;
+C85C;HANGUL SYLLABLE JYEL;Lo;0;L;;;;;N;;;;;
+C85D;HANGUL SYLLABLE JYELG;Lo;0;L;;;;;N;;;;;
+C85E;HANGUL SYLLABLE JYELM;Lo;0;L;;;;;N;;;;;
+C85F;HANGUL SYLLABLE JYELB;Lo;0;L;;;;;N;;;;;
+C860;HANGUL SYLLABLE JYELS;Lo;0;L;;;;;N;;;;;
+C861;HANGUL SYLLABLE JYELT;Lo;0;L;;;;;N;;;;;
+C862;HANGUL SYLLABLE JYELP;Lo;0;L;;;;;N;;;;;
+C863;HANGUL SYLLABLE JYELH;Lo;0;L;;;;;N;;;;;
+C864;HANGUL SYLLABLE JYEM;Lo;0;L;;;;;N;;;;;
+C865;HANGUL SYLLABLE JYEB;Lo;0;L;;;;;N;;;;;
+C866;HANGUL SYLLABLE JYEBS;Lo;0;L;;;;;N;;;;;
+C867;HANGUL SYLLABLE JYES;Lo;0;L;;;;;N;;;;;
+C868;HANGUL SYLLABLE JYESS;Lo;0;L;;;;;N;;;;;
+C869;HANGUL SYLLABLE JYENG;Lo;0;L;;;;;N;;;;;
+C86A;HANGUL SYLLABLE JYEJ;Lo;0;L;;;;;N;;;;;
+C86B;HANGUL SYLLABLE JYEC;Lo;0;L;;;;;N;;;;;
+C86C;HANGUL SYLLABLE JYEK;Lo;0;L;;;;;N;;;;;
+C86D;HANGUL SYLLABLE JYET;Lo;0;L;;;;;N;;;;;
+C86E;HANGUL SYLLABLE JYEP;Lo;0;L;;;;;N;;;;;
+C86F;HANGUL SYLLABLE JYEH;Lo;0;L;;;;;N;;;;;
+C870;HANGUL SYLLABLE JO;Lo;0;L;;;;;N;;;;;
+C871;HANGUL SYLLABLE JOG;Lo;0;L;;;;;N;;;;;
+C872;HANGUL SYLLABLE JOGG;Lo;0;L;;;;;N;;;;;
+C873;HANGUL SYLLABLE JOGS;Lo;0;L;;;;;N;;;;;
+C874;HANGUL SYLLABLE JON;Lo;0;L;;;;;N;;;;;
+C875;HANGUL SYLLABLE JONI;Lo;0;L;;;;;N;;;;;
+C876;HANGUL SYLLABLE JONH;Lo;0;L;;;;;N;;;;;
+C877;HANGUL SYLLABLE JOD;Lo;0;L;;;;;N;;;;;
+C878;HANGUL SYLLABLE JOL;Lo;0;L;;;;;N;;;;;
+C879;HANGUL SYLLABLE JOLG;Lo;0;L;;;;;N;;;;;
+C87A;HANGUL SYLLABLE JOLM;Lo;0;L;;;;;N;;;;;
+C87B;HANGUL SYLLABLE JOLB;Lo;0;L;;;;;N;;;;;
+C87C;HANGUL SYLLABLE JOLS;Lo;0;L;;;;;N;;;;;
+C87D;HANGUL SYLLABLE JOLT;Lo;0;L;;;;;N;;;;;
+C87E;HANGUL SYLLABLE JOLP;Lo;0;L;;;;;N;;;;;
+C87F;HANGUL SYLLABLE JOLH;Lo;0;L;;;;;N;;;;;
+C880;HANGUL SYLLABLE JOM;Lo;0;L;;;;;N;;;;;
+C881;HANGUL SYLLABLE JOB;Lo;0;L;;;;;N;;;;;
+C882;HANGUL SYLLABLE JOBS;Lo;0;L;;;;;N;;;;;
+C883;HANGUL SYLLABLE JOS;Lo;0;L;;;;;N;;;;;
+C884;HANGUL SYLLABLE JOSS;Lo;0;L;;;;;N;;;;;
+C885;HANGUL SYLLABLE JONG;Lo;0;L;;;;;N;;;;;
+C886;HANGUL SYLLABLE JOJ;Lo;0;L;;;;;N;;;;;
+C887;HANGUL SYLLABLE JOC;Lo;0;L;;;;;N;;;;;
+C888;HANGUL SYLLABLE JOK;Lo;0;L;;;;;N;;;;;
+C889;HANGUL SYLLABLE JOT;Lo;0;L;;;;;N;;;;;
+C88A;HANGUL SYLLABLE JOP;Lo;0;L;;;;;N;;;;;
+C88B;HANGUL SYLLABLE JOH;Lo;0;L;;;;;N;;;;;
+C88C;HANGUL SYLLABLE JWA;Lo;0;L;;;;;N;;;;;
+C88D;HANGUL SYLLABLE JWAG;Lo;0;L;;;;;N;;;;;
+C88E;HANGUL SYLLABLE JWAGG;Lo;0;L;;;;;N;;;;;
+C88F;HANGUL SYLLABLE JWAGS;Lo;0;L;;;;;N;;;;;
+C890;HANGUL SYLLABLE JWAN;Lo;0;L;;;;;N;;;;;
+C891;HANGUL SYLLABLE JWANI;Lo;0;L;;;;;N;;;;;
+C892;HANGUL SYLLABLE JWANH;Lo;0;L;;;;;N;;;;;
+C893;HANGUL SYLLABLE JWAD;Lo;0;L;;;;;N;;;;;
+C894;HANGUL SYLLABLE JWAL;Lo;0;L;;;;;N;;;;;
+C895;HANGUL SYLLABLE JWALG;Lo;0;L;;;;;N;;;;;
+C896;HANGUL SYLLABLE JWALM;Lo;0;L;;;;;N;;;;;
+C897;HANGUL SYLLABLE JWALB;Lo;0;L;;;;;N;;;;;
+C898;HANGUL SYLLABLE JWALS;Lo;0;L;;;;;N;;;;;
+C899;HANGUL SYLLABLE JWALT;Lo;0;L;;;;;N;;;;;
+C89A;HANGUL SYLLABLE JWALP;Lo;0;L;;;;;N;;;;;
+C89B;HANGUL SYLLABLE JWALH;Lo;0;L;;;;;N;;;;;
+C89C;HANGUL SYLLABLE JWAM;Lo;0;L;;;;;N;;;;;
+C89D;HANGUL SYLLABLE JWAB;Lo;0;L;;;;;N;;;;;
+C89E;HANGUL SYLLABLE JWABS;Lo;0;L;;;;;N;;;;;
+C89F;HANGUL SYLLABLE JWAS;Lo;0;L;;;;;N;;;;;
+C8A0;HANGUL SYLLABLE JWASS;Lo;0;L;;;;;N;;;;;
+C8A1;HANGUL SYLLABLE JWANG;Lo;0;L;;;;;N;;;;;
+C8A2;HANGUL SYLLABLE JWAJ;Lo;0;L;;;;;N;;;;;
+C8A3;HANGUL SYLLABLE JWAC;Lo;0;L;;;;;N;;;;;
+C8A4;HANGUL SYLLABLE JWAK;Lo;0;L;;;;;N;;;;;
+C8A5;HANGUL SYLLABLE JWAT;Lo;0;L;;;;;N;;;;;
+C8A6;HANGUL SYLLABLE JWAP;Lo;0;L;;;;;N;;;;;
+C8A7;HANGUL SYLLABLE JWAH;Lo;0;L;;;;;N;;;;;
+C8A8;HANGUL SYLLABLE JWAE;Lo;0;L;;;;;N;;;;;
+C8A9;HANGUL SYLLABLE JWAEG;Lo;0;L;;;;;N;;;;;
+C8AA;HANGUL SYLLABLE JWAEGG;Lo;0;L;;;;;N;;;;;
+C8AB;HANGUL SYLLABLE JWAEGS;Lo;0;L;;;;;N;;;;;
+C8AC;HANGUL SYLLABLE JWAEN;Lo;0;L;;;;;N;;;;;
+C8AD;HANGUL SYLLABLE JWAENI;Lo;0;L;;;;;N;;;;;
+C8AE;HANGUL SYLLABLE JWAENH;Lo;0;L;;;;;N;;;;;
+C8AF;HANGUL SYLLABLE JWAED;Lo;0;L;;;;;N;;;;;
+C8B0;HANGUL SYLLABLE JWAEL;Lo;0;L;;;;;N;;;;;
+C8B1;HANGUL SYLLABLE JWAELG;Lo;0;L;;;;;N;;;;;
+C8B2;HANGUL SYLLABLE JWAELM;Lo;0;L;;;;;N;;;;;
+C8B3;HANGUL SYLLABLE JWAELB;Lo;0;L;;;;;N;;;;;
+C8B4;HANGUL SYLLABLE JWAELS;Lo;0;L;;;;;N;;;;;
+C8B5;HANGUL SYLLABLE JWAELT;Lo;0;L;;;;;N;;;;;
+C8B6;HANGUL SYLLABLE JWAELP;Lo;0;L;;;;;N;;;;;
+C8B7;HANGUL SYLLABLE JWAELH;Lo;0;L;;;;;N;;;;;
+C8B8;HANGUL SYLLABLE JWAEM;Lo;0;L;;;;;N;;;;;
+C8B9;HANGUL SYLLABLE JWAEB;Lo;0;L;;;;;N;;;;;
+C8BA;HANGUL SYLLABLE JWAEBS;Lo;0;L;;;;;N;;;;;
+C8BB;HANGUL SYLLABLE JWAES;Lo;0;L;;;;;N;;;;;
+C8BC;HANGUL SYLLABLE JWAESS;Lo;0;L;;;;;N;;;;;
+C8BD;HANGUL SYLLABLE JWAENG;Lo;0;L;;;;;N;;;;;
+C8BE;HANGUL SYLLABLE JWAEJ;Lo;0;L;;;;;N;;;;;
+C8BF;HANGUL SYLLABLE JWAEC;Lo;0;L;;;;;N;;;;;
+C8C0;HANGUL SYLLABLE JWAEK;Lo;0;L;;;;;N;;;;;
+C8C1;HANGUL SYLLABLE JWAET;Lo;0;L;;;;;N;;;;;
+C8C2;HANGUL SYLLABLE JWAEP;Lo;0;L;;;;;N;;;;;
+C8C3;HANGUL SYLLABLE JWAEH;Lo;0;L;;;;;N;;;;;
+C8C4;HANGUL SYLLABLE JOE;Lo;0;L;;;;;N;;;;;
+C8C5;HANGUL SYLLABLE JOEG;Lo;0;L;;;;;N;;;;;
+C8C6;HANGUL SYLLABLE JOEGG;Lo;0;L;;;;;N;;;;;
+C8C7;HANGUL SYLLABLE JOEGS;Lo;0;L;;;;;N;;;;;
+C8C8;HANGUL SYLLABLE JOEN;Lo;0;L;;;;;N;;;;;
+C8C9;HANGUL SYLLABLE JOENI;Lo;0;L;;;;;N;;;;;
+C8CA;HANGUL SYLLABLE JOENH;Lo;0;L;;;;;N;;;;;
+C8CB;HANGUL SYLLABLE JOED;Lo;0;L;;;;;N;;;;;
+C8CC;HANGUL SYLLABLE JOEL;Lo;0;L;;;;;N;;;;;
+C8CD;HANGUL SYLLABLE JOELG;Lo;0;L;;;;;N;;;;;
+C8CE;HANGUL SYLLABLE JOELM;Lo;0;L;;;;;N;;;;;
+C8CF;HANGUL SYLLABLE JOELB;Lo;0;L;;;;;N;;;;;
+C8D0;HANGUL SYLLABLE JOELS;Lo;0;L;;;;;N;;;;;
+C8D1;HANGUL SYLLABLE JOELT;Lo;0;L;;;;;N;;;;;
+C8D2;HANGUL SYLLABLE JOELP;Lo;0;L;;;;;N;;;;;
+C8D3;HANGUL SYLLABLE JOELH;Lo;0;L;;;;;N;;;;;
+C8D4;HANGUL SYLLABLE JOEM;Lo;0;L;;;;;N;;;;;
+C8D5;HANGUL SYLLABLE JOEB;Lo;0;L;;;;;N;;;;;
+C8D6;HANGUL SYLLABLE JOEBS;Lo;0;L;;;;;N;;;;;
+C8D7;HANGUL SYLLABLE JOES;Lo;0;L;;;;;N;;;;;
+C8D8;HANGUL SYLLABLE JOESS;Lo;0;L;;;;;N;;;;;
+C8D9;HANGUL SYLLABLE JOENG;Lo;0;L;;;;;N;;;;;
+C8DA;HANGUL SYLLABLE JOEJ;Lo;0;L;;;;;N;;;;;
+C8DB;HANGUL SYLLABLE JOEC;Lo;0;L;;;;;N;;;;;
+C8DC;HANGUL SYLLABLE JOEK;Lo;0;L;;;;;N;;;;;
+C8DD;HANGUL SYLLABLE JOET;Lo;0;L;;;;;N;;;;;
+C8DE;HANGUL SYLLABLE JOEP;Lo;0;L;;;;;N;;;;;
+C8DF;HANGUL SYLLABLE JOEH;Lo;0;L;;;;;N;;;;;
+C8E0;HANGUL SYLLABLE JYO;Lo;0;L;;;;;N;;;;;
+C8E1;HANGUL SYLLABLE JYOG;Lo;0;L;;;;;N;;;;;
+C8E2;HANGUL SYLLABLE JYOGG;Lo;0;L;;;;;N;;;;;
+C8E3;HANGUL SYLLABLE JYOGS;Lo;0;L;;;;;N;;;;;
+C8E4;HANGUL SYLLABLE JYON;Lo;0;L;;;;;N;;;;;
+C8E5;HANGUL SYLLABLE JYONI;Lo;0;L;;;;;N;;;;;
+C8E6;HANGUL SYLLABLE JYONH;Lo;0;L;;;;;N;;;;;
+C8E7;HANGUL SYLLABLE JYOD;Lo;0;L;;;;;N;;;;;
+C8E8;HANGUL SYLLABLE JYOL;Lo;0;L;;;;;N;;;;;
+C8E9;HANGUL SYLLABLE JYOLG;Lo;0;L;;;;;N;;;;;
+C8EA;HANGUL SYLLABLE JYOLM;Lo;0;L;;;;;N;;;;;
+C8EB;HANGUL SYLLABLE JYOLB;Lo;0;L;;;;;N;;;;;
+C8EC;HANGUL SYLLABLE JYOLS;Lo;0;L;;;;;N;;;;;
+C8ED;HANGUL SYLLABLE JYOLT;Lo;0;L;;;;;N;;;;;
+C8EE;HANGUL SYLLABLE JYOLP;Lo;0;L;;;;;N;;;;;
+C8EF;HANGUL SYLLABLE JYOLH;Lo;0;L;;;;;N;;;;;
+C8F0;HANGUL SYLLABLE JYOM;Lo;0;L;;;;;N;;;;;
+C8F1;HANGUL SYLLABLE JYOB;Lo;0;L;;;;;N;;;;;
+C8F2;HANGUL SYLLABLE JYOBS;Lo;0;L;;;;;N;;;;;
+C8F3;HANGUL SYLLABLE JYOS;Lo;0;L;;;;;N;;;;;
+C8F4;HANGUL SYLLABLE JYOSS;Lo;0;L;;;;;N;;;;;
+C8F5;HANGUL SYLLABLE JYONG;Lo;0;L;;;;;N;;;;;
+C8F6;HANGUL SYLLABLE JYOJ;Lo;0;L;;;;;N;;;;;
+C8F7;HANGUL SYLLABLE JYOC;Lo;0;L;;;;;N;;;;;
+C8F8;HANGUL SYLLABLE JYOK;Lo;0;L;;;;;N;;;;;
+C8F9;HANGUL SYLLABLE JYOT;Lo;0;L;;;;;N;;;;;
+C8FA;HANGUL SYLLABLE JYOP;Lo;0;L;;;;;N;;;;;
+C8FB;HANGUL SYLLABLE JYOH;Lo;0;L;;;;;N;;;;;
+C8FC;HANGUL SYLLABLE JU;Lo;0;L;;;;;N;;;;;
+C8FD;HANGUL SYLLABLE JUG;Lo;0;L;;;;;N;;;;;
+C8FE;HANGUL SYLLABLE JUGG;Lo;0;L;;;;;N;;;;;
+C8FF;HANGUL SYLLABLE JUGS;Lo;0;L;;;;;N;;;;;
+C900;HANGUL SYLLABLE JUN;Lo;0;L;;;;;N;;;;;
+C901;HANGUL SYLLABLE JUNI;Lo;0;L;;;;;N;;;;;
+C902;HANGUL SYLLABLE JUNH;Lo;0;L;;;;;N;;;;;
+C903;HANGUL SYLLABLE JUD;Lo;0;L;;;;;N;;;;;
+C904;HANGUL SYLLABLE JUL;Lo;0;L;;;;;N;;;;;
+C905;HANGUL SYLLABLE JULG;Lo;0;L;;;;;N;;;;;
+C906;HANGUL SYLLABLE JULM;Lo;0;L;;;;;N;;;;;
+C907;HANGUL SYLLABLE JULB;Lo;0;L;;;;;N;;;;;
+C908;HANGUL SYLLABLE JULS;Lo;0;L;;;;;N;;;;;
+C909;HANGUL SYLLABLE JULT;Lo;0;L;;;;;N;;;;;
+C90A;HANGUL SYLLABLE JULP;Lo;0;L;;;;;N;;;;;
+C90B;HANGUL SYLLABLE JULH;Lo;0;L;;;;;N;;;;;
+C90C;HANGUL SYLLABLE JUM;Lo;0;L;;;;;N;;;;;
+C90D;HANGUL SYLLABLE JUB;Lo;0;L;;;;;N;;;;;
+C90E;HANGUL SYLLABLE JUBS;Lo;0;L;;;;;N;;;;;
+C90F;HANGUL SYLLABLE JUS;Lo;0;L;;;;;N;;;;;
+C910;HANGUL SYLLABLE JUSS;Lo;0;L;;;;;N;;;;;
+C911;HANGUL SYLLABLE JUNG;Lo;0;L;;;;;N;;;;;
+C912;HANGUL SYLLABLE JUJ;Lo;0;L;;;;;N;;;;;
+C913;HANGUL SYLLABLE JUC;Lo;0;L;;;;;N;;;;;
+C914;HANGUL SYLLABLE JUK;Lo;0;L;;;;;N;;;;;
+C915;HANGUL SYLLABLE JUT;Lo;0;L;;;;;N;;;;;
+C916;HANGUL SYLLABLE JUP;Lo;0;L;;;;;N;;;;;
+C917;HANGUL SYLLABLE JUH;Lo;0;L;;;;;N;;;;;
+C918;HANGUL SYLLABLE JWEO;Lo;0;L;;;;;N;;;;;
+C919;HANGUL SYLLABLE JWEOG;Lo;0;L;;;;;N;;;;;
+C91A;HANGUL SYLLABLE JWEOGG;Lo;0;L;;;;;N;;;;;
+C91B;HANGUL SYLLABLE JWEOGS;Lo;0;L;;;;;N;;;;;
+C91C;HANGUL SYLLABLE JWEON;Lo;0;L;;;;;N;;;;;
+C91D;HANGUL SYLLABLE JWEONI;Lo;0;L;;;;;N;;;;;
+C91E;HANGUL SYLLABLE JWEONH;Lo;0;L;;;;;N;;;;;
+C91F;HANGUL SYLLABLE JWEOD;Lo;0;L;;;;;N;;;;;
+C920;HANGUL SYLLABLE JWEOL;Lo;0;L;;;;;N;;;;;
+C921;HANGUL SYLLABLE JWEOLG;Lo;0;L;;;;;N;;;;;
+C922;HANGUL SYLLABLE JWEOLM;Lo;0;L;;;;;N;;;;;
+C923;HANGUL SYLLABLE JWEOLB;Lo;0;L;;;;;N;;;;;
+C924;HANGUL SYLLABLE JWEOLS;Lo;0;L;;;;;N;;;;;
+C925;HANGUL SYLLABLE JWEOLT;Lo;0;L;;;;;N;;;;;
+C926;HANGUL SYLLABLE JWEOLP;Lo;0;L;;;;;N;;;;;
+C927;HANGUL SYLLABLE JWEOLH;Lo;0;L;;;;;N;;;;;
+C928;HANGUL SYLLABLE JWEOM;Lo;0;L;;;;;N;;;;;
+C929;HANGUL SYLLABLE JWEOB;Lo;0;L;;;;;N;;;;;
+C92A;HANGUL SYLLABLE JWEOBS;Lo;0;L;;;;;N;;;;;
+C92B;HANGUL SYLLABLE JWEOS;Lo;0;L;;;;;N;;;;;
+C92C;HANGUL SYLLABLE JWEOSS;Lo;0;L;;;;;N;;;;;
+C92D;HANGUL SYLLABLE JWEONG;Lo;0;L;;;;;N;;;;;
+C92E;HANGUL SYLLABLE JWEOJ;Lo;0;L;;;;;N;;;;;
+C92F;HANGUL SYLLABLE JWEOC;Lo;0;L;;;;;N;;;;;
+C930;HANGUL SYLLABLE JWEOK;Lo;0;L;;;;;N;;;;;
+C931;HANGUL SYLLABLE JWEOT;Lo;0;L;;;;;N;;;;;
+C932;HANGUL SYLLABLE JWEOP;Lo;0;L;;;;;N;;;;;
+C933;HANGUL SYLLABLE JWEOH;Lo;0;L;;;;;N;;;;;
+C934;HANGUL SYLLABLE JWE;Lo;0;L;;;;;N;;;;;
+C935;HANGUL SYLLABLE JWEG;Lo;0;L;;;;;N;;;;;
+C936;HANGUL SYLLABLE JWEGG;Lo;0;L;;;;;N;;;;;
+C937;HANGUL SYLLABLE JWEGS;Lo;0;L;;;;;N;;;;;
+C938;HANGUL SYLLABLE JWEN;Lo;0;L;;;;;N;;;;;
+C939;HANGUL SYLLABLE JWENI;Lo;0;L;;;;;N;;;;;
+C93A;HANGUL SYLLABLE JWENH;Lo;0;L;;;;;N;;;;;
+C93B;HANGUL SYLLABLE JWED;Lo;0;L;;;;;N;;;;;
+C93C;HANGUL SYLLABLE JWEL;Lo;0;L;;;;;N;;;;;
+C93D;HANGUL SYLLABLE JWELG;Lo;0;L;;;;;N;;;;;
+C93E;HANGUL SYLLABLE JWELM;Lo;0;L;;;;;N;;;;;
+C93F;HANGUL SYLLABLE JWELB;Lo;0;L;;;;;N;;;;;
+C940;HANGUL SYLLABLE JWELS;Lo;0;L;;;;;N;;;;;
+C941;HANGUL SYLLABLE JWELT;Lo;0;L;;;;;N;;;;;
+C942;HANGUL SYLLABLE JWELP;Lo;0;L;;;;;N;;;;;
+C943;HANGUL SYLLABLE JWELH;Lo;0;L;;;;;N;;;;;
+C944;HANGUL SYLLABLE JWEM;Lo;0;L;;;;;N;;;;;
+C945;HANGUL SYLLABLE JWEB;Lo;0;L;;;;;N;;;;;
+C946;HANGUL SYLLABLE JWEBS;Lo;0;L;;;;;N;;;;;
+C947;HANGUL SYLLABLE JWES;Lo;0;L;;;;;N;;;;;
+C948;HANGUL SYLLABLE JWESS;Lo;0;L;;;;;N;;;;;
+C949;HANGUL SYLLABLE JWENG;Lo;0;L;;;;;N;;;;;
+C94A;HANGUL SYLLABLE JWEJ;Lo;0;L;;;;;N;;;;;
+C94B;HANGUL SYLLABLE JWEC;Lo;0;L;;;;;N;;;;;
+C94C;HANGUL SYLLABLE JWEK;Lo;0;L;;;;;N;;;;;
+C94D;HANGUL SYLLABLE JWET;Lo;0;L;;;;;N;;;;;
+C94E;HANGUL SYLLABLE JWEP;Lo;0;L;;;;;N;;;;;
+C94F;HANGUL SYLLABLE JWEH;Lo;0;L;;;;;N;;;;;
+C950;HANGUL SYLLABLE JWI;Lo;0;L;;;;;N;;;;;
+C951;HANGUL SYLLABLE JWIG;Lo;0;L;;;;;N;;;;;
+C952;HANGUL SYLLABLE JWIGG;Lo;0;L;;;;;N;;;;;
+C953;HANGUL SYLLABLE JWIGS;Lo;0;L;;;;;N;;;;;
+C954;HANGUL SYLLABLE JWIN;Lo;0;L;;;;;N;;;;;
+C955;HANGUL SYLLABLE JWINI;Lo;0;L;;;;;N;;;;;
+C956;HANGUL SYLLABLE JWINH;Lo;0;L;;;;;N;;;;;
+C957;HANGUL SYLLABLE JWID;Lo;0;L;;;;;N;;;;;
+C958;HANGUL SYLLABLE JWIL;Lo;0;L;;;;;N;;;;;
+C959;HANGUL SYLLABLE JWILG;Lo;0;L;;;;;N;;;;;
+C95A;HANGUL SYLLABLE JWILM;Lo;0;L;;;;;N;;;;;
+C95B;HANGUL SYLLABLE JWILB;Lo;0;L;;;;;N;;;;;
+C95C;HANGUL SYLLABLE JWILS;Lo;0;L;;;;;N;;;;;
+C95D;HANGUL SYLLABLE JWILT;Lo;0;L;;;;;N;;;;;
+C95E;HANGUL SYLLABLE JWILP;Lo;0;L;;;;;N;;;;;
+C95F;HANGUL SYLLABLE JWILH;Lo;0;L;;;;;N;;;;;
+C960;HANGUL SYLLABLE JWIM;Lo;0;L;;;;;N;;;;;
+C961;HANGUL SYLLABLE JWIB;Lo;0;L;;;;;N;;;;;
+C962;HANGUL SYLLABLE JWIBS;Lo;0;L;;;;;N;;;;;
+C963;HANGUL SYLLABLE JWIS;Lo;0;L;;;;;N;;;;;
+C964;HANGUL SYLLABLE JWISS;Lo;0;L;;;;;N;;;;;
+C965;HANGUL SYLLABLE JWING;Lo;0;L;;;;;N;;;;;
+C966;HANGUL SYLLABLE JWIJ;Lo;0;L;;;;;N;;;;;
+C967;HANGUL SYLLABLE JWIC;Lo;0;L;;;;;N;;;;;
+C968;HANGUL SYLLABLE JWIK;Lo;0;L;;;;;N;;;;;
+C969;HANGUL SYLLABLE JWIT;Lo;0;L;;;;;N;;;;;
+C96A;HANGUL SYLLABLE JWIP;Lo;0;L;;;;;N;;;;;
+C96B;HANGUL SYLLABLE JWIH;Lo;0;L;;;;;N;;;;;
+C96C;HANGUL SYLLABLE JYU;Lo;0;L;;;;;N;;;;;
+C96D;HANGUL SYLLABLE JYUG;Lo;0;L;;;;;N;;;;;
+C96E;HANGUL SYLLABLE JYUGG;Lo;0;L;;;;;N;;;;;
+C96F;HANGUL SYLLABLE JYUGS;Lo;0;L;;;;;N;;;;;
+C970;HANGUL SYLLABLE JYUN;Lo;0;L;;;;;N;;;;;
+C971;HANGUL SYLLABLE JYUNI;Lo;0;L;;;;;N;;;;;
+C972;HANGUL SYLLABLE JYUNH;Lo;0;L;;;;;N;;;;;
+C973;HANGUL SYLLABLE JYUD;Lo;0;L;;;;;N;;;;;
+C974;HANGUL SYLLABLE JYUL;Lo;0;L;;;;;N;;;;;
+C975;HANGUL SYLLABLE JYULG;Lo;0;L;;;;;N;;;;;
+C976;HANGUL SYLLABLE JYULM;Lo;0;L;;;;;N;;;;;
+C977;HANGUL SYLLABLE JYULB;Lo;0;L;;;;;N;;;;;
+C978;HANGUL SYLLABLE JYULS;Lo;0;L;;;;;N;;;;;
+C979;HANGUL SYLLABLE JYULT;Lo;0;L;;;;;N;;;;;
+C97A;HANGUL SYLLABLE JYULP;Lo;0;L;;;;;N;;;;;
+C97B;HANGUL SYLLABLE JYULH;Lo;0;L;;;;;N;;;;;
+C97C;HANGUL SYLLABLE JYUM;Lo;0;L;;;;;N;;;;;
+C97D;HANGUL SYLLABLE JYUB;Lo;0;L;;;;;N;;;;;
+C97E;HANGUL SYLLABLE JYUBS;Lo;0;L;;;;;N;;;;;
+C97F;HANGUL SYLLABLE JYUS;Lo;0;L;;;;;N;;;;;
+C980;HANGUL SYLLABLE JYUSS;Lo;0;L;;;;;N;;;;;
+C981;HANGUL SYLLABLE JYUNG;Lo;0;L;;;;;N;;;;;
+C982;HANGUL SYLLABLE JYUJ;Lo;0;L;;;;;N;;;;;
+C983;HANGUL SYLLABLE JYUC;Lo;0;L;;;;;N;;;;;
+C984;HANGUL SYLLABLE JYUK;Lo;0;L;;;;;N;;;;;
+C985;HANGUL SYLLABLE JYUT;Lo;0;L;;;;;N;;;;;
+C986;HANGUL SYLLABLE JYUP;Lo;0;L;;;;;N;;;;;
+C987;HANGUL SYLLABLE JYUH;Lo;0;L;;;;;N;;;;;
+C988;HANGUL SYLLABLE JEU;Lo;0;L;;;;;N;;;;;
+C989;HANGUL SYLLABLE JEUG;Lo;0;L;;;;;N;;;;;
+C98A;HANGUL SYLLABLE JEUGG;Lo;0;L;;;;;N;;;;;
+C98B;HANGUL SYLLABLE JEUGS;Lo;0;L;;;;;N;;;;;
+C98C;HANGUL SYLLABLE JEUN;Lo;0;L;;;;;N;;;;;
+C98D;HANGUL SYLLABLE JEUNI;Lo;0;L;;;;;N;;;;;
+C98E;HANGUL SYLLABLE JEUNH;Lo;0;L;;;;;N;;;;;
+C98F;HANGUL SYLLABLE JEUD;Lo;0;L;;;;;N;;;;;
+C990;HANGUL SYLLABLE JEUL;Lo;0;L;;;;;N;;;;;
+C991;HANGUL SYLLABLE JEULG;Lo;0;L;;;;;N;;;;;
+C992;HANGUL SYLLABLE JEULM;Lo;0;L;;;;;N;;;;;
+C993;HANGUL SYLLABLE JEULB;Lo;0;L;;;;;N;;;;;
+C994;HANGUL SYLLABLE JEULS;Lo;0;L;;;;;N;;;;;
+C995;HANGUL SYLLABLE JEULT;Lo;0;L;;;;;N;;;;;
+C996;HANGUL SYLLABLE JEULP;Lo;0;L;;;;;N;;;;;
+C997;HANGUL SYLLABLE JEULH;Lo;0;L;;;;;N;;;;;
+C998;HANGUL SYLLABLE JEUM;Lo;0;L;;;;;N;;;;;
+C999;HANGUL SYLLABLE JEUB;Lo;0;L;;;;;N;;;;;
+C99A;HANGUL SYLLABLE JEUBS;Lo;0;L;;;;;N;;;;;
+C99B;HANGUL SYLLABLE JEUS;Lo;0;L;;;;;N;;;;;
+C99C;HANGUL SYLLABLE JEUSS;Lo;0;L;;;;;N;;;;;
+C99D;HANGUL SYLLABLE JEUNG;Lo;0;L;;;;;N;;;;;
+C99E;HANGUL SYLLABLE JEUJ;Lo;0;L;;;;;N;;;;;
+C99F;HANGUL SYLLABLE JEUC;Lo;0;L;;;;;N;;;;;
+C9A0;HANGUL SYLLABLE JEUK;Lo;0;L;;;;;N;;;;;
+C9A1;HANGUL SYLLABLE JEUT;Lo;0;L;;;;;N;;;;;
+C9A2;HANGUL SYLLABLE JEUP;Lo;0;L;;;;;N;;;;;
+C9A3;HANGUL SYLLABLE JEUH;Lo;0;L;;;;;N;;;;;
+C9A4;HANGUL SYLLABLE JYI;Lo;0;L;;;;;N;;;;;
+C9A5;HANGUL SYLLABLE JYIG;Lo;0;L;;;;;N;;;;;
+C9A6;HANGUL SYLLABLE JYIGG;Lo;0;L;;;;;N;;;;;
+C9A7;HANGUL SYLLABLE JYIGS;Lo;0;L;;;;;N;;;;;
+C9A8;HANGUL SYLLABLE JYIN;Lo;0;L;;;;;N;;;;;
+C9A9;HANGUL SYLLABLE JYINI;Lo;0;L;;;;;N;;;;;
+C9AA;HANGUL SYLLABLE JYINH;Lo;0;L;;;;;N;;;;;
+C9AB;HANGUL SYLLABLE JYID;Lo;0;L;;;;;N;;;;;
+C9AC;HANGUL SYLLABLE JYIL;Lo;0;L;;;;;N;;;;;
+C9AD;HANGUL SYLLABLE JYILG;Lo;0;L;;;;;N;;;;;
+C9AE;HANGUL SYLLABLE JYILM;Lo;0;L;;;;;N;;;;;
+C9AF;HANGUL SYLLABLE JYILB;Lo;0;L;;;;;N;;;;;
+C9B0;HANGUL SYLLABLE JYILS;Lo;0;L;;;;;N;;;;;
+C9B1;HANGUL SYLLABLE JYILT;Lo;0;L;;;;;N;;;;;
+C9B2;HANGUL SYLLABLE JYILP;Lo;0;L;;;;;N;;;;;
+C9B3;HANGUL SYLLABLE JYILH;Lo;0;L;;;;;N;;;;;
+C9B4;HANGUL SYLLABLE JYIM;Lo;0;L;;;;;N;;;;;
+C9B5;HANGUL SYLLABLE JYIB;Lo;0;L;;;;;N;;;;;
+C9B6;HANGUL SYLLABLE JYIBS;Lo;0;L;;;;;N;;;;;
+C9B7;HANGUL SYLLABLE JYIS;Lo;0;L;;;;;N;;;;;
+C9B8;HANGUL SYLLABLE JYISS;Lo;0;L;;;;;N;;;;;
+C9B9;HANGUL SYLLABLE JYING;Lo;0;L;;;;;N;;;;;
+C9BA;HANGUL SYLLABLE JYIJ;Lo;0;L;;;;;N;;;;;
+C9BB;HANGUL SYLLABLE JYIC;Lo;0;L;;;;;N;;;;;
+C9BC;HANGUL SYLLABLE JYIK;Lo;0;L;;;;;N;;;;;
+C9BD;HANGUL SYLLABLE JYIT;Lo;0;L;;;;;N;;;;;
+C9BE;HANGUL SYLLABLE JYIP;Lo;0;L;;;;;N;;;;;
+C9BF;HANGUL SYLLABLE JYIH;Lo;0;L;;;;;N;;;;;
+C9C0;HANGUL SYLLABLE JI;Lo;0;L;;;;;N;;;;;
+C9C1;HANGUL SYLLABLE JIG;Lo;0;L;;;;;N;;;;;
+C9C2;HANGUL SYLLABLE JIGG;Lo;0;L;;;;;N;;;;;
+C9C3;HANGUL SYLLABLE JIGS;Lo;0;L;;;;;N;;;;;
+C9C4;HANGUL SYLLABLE JIN;Lo;0;L;;;;;N;;;;;
+C9C5;HANGUL SYLLABLE JINI;Lo;0;L;;;;;N;;;;;
+C9C6;HANGUL SYLLABLE JINH;Lo;0;L;;;;;N;;;;;
+C9C7;HANGUL SYLLABLE JID;Lo;0;L;;;;;N;;;;;
+C9C8;HANGUL SYLLABLE JIL;Lo;0;L;;;;;N;;;;;
+C9C9;HANGUL SYLLABLE JILG;Lo;0;L;;;;;N;;;;;
+C9CA;HANGUL SYLLABLE JILM;Lo;0;L;;;;;N;;;;;
+C9CB;HANGUL SYLLABLE JILB;Lo;0;L;;;;;N;;;;;
+C9CC;HANGUL SYLLABLE JILS;Lo;0;L;;;;;N;;;;;
+C9CD;HANGUL SYLLABLE JILT;Lo;0;L;;;;;N;;;;;
+C9CE;HANGUL SYLLABLE JILP;Lo;0;L;;;;;N;;;;;
+C9CF;HANGUL SYLLABLE JILH;Lo;0;L;;;;;N;;;;;
+C9D0;HANGUL SYLLABLE JIM;Lo;0;L;;;;;N;;;;;
+C9D1;HANGUL SYLLABLE JIB;Lo;0;L;;;;;N;;;;;
+C9D2;HANGUL SYLLABLE JIBS;Lo;0;L;;;;;N;;;;;
+C9D3;HANGUL SYLLABLE JIS;Lo;0;L;;;;;N;;;;;
+C9D4;HANGUL SYLLABLE JISS;Lo;0;L;;;;;N;;;;;
+C9D5;HANGUL SYLLABLE JING;Lo;0;L;;;;;N;;;;;
+C9D6;HANGUL SYLLABLE JIJ;Lo;0;L;;;;;N;;;;;
+C9D7;HANGUL SYLLABLE JIC;Lo;0;L;;;;;N;;;;;
+C9D8;HANGUL SYLLABLE JIK;Lo;0;L;;;;;N;;;;;
+C9D9;HANGUL SYLLABLE JIT;Lo;0;L;;;;;N;;;;;
+C9DA;HANGUL SYLLABLE JIP;Lo;0;L;;;;;N;;;;;
+C9DB;HANGUL SYLLABLE JIH;Lo;0;L;;;;;N;;;;;
+C9DC;HANGUL SYLLABLE JJA;Lo;0;L;;;;;N;;;;;
+C9DD;HANGUL SYLLABLE JJAG;Lo;0;L;;;;;N;;;;;
+C9DE;HANGUL SYLLABLE JJAGG;Lo;0;L;;;;;N;;;;;
+C9DF;HANGUL SYLLABLE JJAGS;Lo;0;L;;;;;N;;;;;
+C9E0;HANGUL SYLLABLE JJAN;Lo;0;L;;;;;N;;;;;
+C9E1;HANGUL SYLLABLE JJANI;Lo;0;L;;;;;N;;;;;
+C9E2;HANGUL SYLLABLE JJANH;Lo;0;L;;;;;N;;;;;
+C9E3;HANGUL SYLLABLE JJAD;Lo;0;L;;;;;N;;;;;
+C9E4;HANGUL SYLLABLE JJAL;Lo;0;L;;;;;N;;;;;
+C9E5;HANGUL SYLLABLE JJALG;Lo;0;L;;;;;N;;;;;
+C9E6;HANGUL SYLLABLE JJALM;Lo;0;L;;;;;N;;;;;
+C9E7;HANGUL SYLLABLE JJALB;Lo;0;L;;;;;N;;;;;
+C9E8;HANGUL SYLLABLE JJALS;Lo;0;L;;;;;N;;;;;
+C9E9;HANGUL SYLLABLE JJALT;Lo;0;L;;;;;N;;;;;
+C9EA;HANGUL SYLLABLE JJALP;Lo;0;L;;;;;N;;;;;
+C9EB;HANGUL SYLLABLE JJALH;Lo;0;L;;;;;N;;;;;
+C9EC;HANGUL SYLLABLE JJAM;Lo;0;L;;;;;N;;;;;
+C9ED;HANGUL SYLLABLE JJAB;Lo;0;L;;;;;N;;;;;
+C9EE;HANGUL SYLLABLE JJABS;Lo;0;L;;;;;N;;;;;
+C9EF;HANGUL SYLLABLE JJAS;Lo;0;L;;;;;N;;;;;
+C9F0;HANGUL SYLLABLE JJASS;Lo;0;L;;;;;N;;;;;
+C9F1;HANGUL SYLLABLE JJANG;Lo;0;L;;;;;N;;;;;
+C9F2;HANGUL SYLLABLE JJAJ;Lo;0;L;;;;;N;;;;;
+C9F3;HANGUL SYLLABLE JJAC;Lo;0;L;;;;;N;;;;;
+C9F4;HANGUL SYLLABLE JJAK;Lo;0;L;;;;;N;;;;;
+C9F5;HANGUL SYLLABLE JJAT;Lo;0;L;;;;;N;;;;;
+C9F6;HANGUL SYLLABLE JJAP;Lo;0;L;;;;;N;;;;;
+C9F7;HANGUL SYLLABLE JJAH;Lo;0;L;;;;;N;;;;;
+C9F8;HANGUL SYLLABLE JJAE;Lo;0;L;;;;;N;;;;;
+C9F9;HANGUL SYLLABLE JJAEG;Lo;0;L;;;;;N;;;;;
+C9FA;HANGUL SYLLABLE JJAEGG;Lo;0;L;;;;;N;;;;;
+C9FB;HANGUL SYLLABLE JJAEGS;Lo;0;L;;;;;N;;;;;
+C9FC;HANGUL SYLLABLE JJAEN;Lo;0;L;;;;;N;;;;;
+C9FD;HANGUL SYLLABLE JJAENI;Lo;0;L;;;;;N;;;;;
+C9FE;HANGUL SYLLABLE JJAENH;Lo;0;L;;;;;N;;;;;
+C9FF;HANGUL SYLLABLE JJAED;Lo;0;L;;;;;N;;;;;
+CA00;HANGUL SYLLABLE JJAEL;Lo;0;L;;;;;N;;;;;
+CA01;HANGUL SYLLABLE JJAELG;Lo;0;L;;;;;N;;;;;
+CA02;HANGUL SYLLABLE JJAELM;Lo;0;L;;;;;N;;;;;
+CA03;HANGUL SYLLABLE JJAELB;Lo;0;L;;;;;N;;;;;
+CA04;HANGUL SYLLABLE JJAELS;Lo;0;L;;;;;N;;;;;
+CA05;HANGUL SYLLABLE JJAELT;Lo;0;L;;;;;N;;;;;
+CA06;HANGUL SYLLABLE JJAELP;Lo;0;L;;;;;N;;;;;
+CA07;HANGUL SYLLABLE JJAELH;Lo;0;L;;;;;N;;;;;
+CA08;HANGUL SYLLABLE JJAEM;Lo;0;L;;;;;N;;;;;
+CA09;HANGUL SYLLABLE JJAEB;Lo;0;L;;;;;N;;;;;
+CA0A;HANGUL SYLLABLE JJAEBS;Lo;0;L;;;;;N;;;;;
+CA0B;HANGUL SYLLABLE JJAES;Lo;0;L;;;;;N;;;;;
+CA0C;HANGUL SYLLABLE JJAESS;Lo;0;L;;;;;N;;;;;
+CA0D;HANGUL SYLLABLE JJAENG;Lo;0;L;;;;;N;;;;;
+CA0E;HANGUL SYLLABLE JJAEJ;Lo;0;L;;;;;N;;;;;
+CA0F;HANGUL SYLLABLE JJAEC;Lo;0;L;;;;;N;;;;;
+CA10;HANGUL SYLLABLE JJAEK;Lo;0;L;;;;;N;;;;;
+CA11;HANGUL SYLLABLE JJAET;Lo;0;L;;;;;N;;;;;
+CA12;HANGUL SYLLABLE JJAEP;Lo;0;L;;;;;N;;;;;
+CA13;HANGUL SYLLABLE JJAEH;Lo;0;L;;;;;N;;;;;
+CA14;HANGUL SYLLABLE JJYA;Lo;0;L;;;;;N;;;;;
+CA15;HANGUL SYLLABLE JJYAG;Lo;0;L;;;;;N;;;;;
+CA16;HANGUL SYLLABLE JJYAGG;Lo;0;L;;;;;N;;;;;
+CA17;HANGUL SYLLABLE JJYAGS;Lo;0;L;;;;;N;;;;;
+CA18;HANGUL SYLLABLE JJYAN;Lo;0;L;;;;;N;;;;;
+CA19;HANGUL SYLLABLE JJYANI;Lo;0;L;;;;;N;;;;;
+CA1A;HANGUL SYLLABLE JJYANH;Lo;0;L;;;;;N;;;;;
+CA1B;HANGUL SYLLABLE JJYAD;Lo;0;L;;;;;N;;;;;
+CA1C;HANGUL SYLLABLE JJYAL;Lo;0;L;;;;;N;;;;;
+CA1D;HANGUL SYLLABLE JJYALG;Lo;0;L;;;;;N;;;;;
+CA1E;HANGUL SYLLABLE JJYALM;Lo;0;L;;;;;N;;;;;
+CA1F;HANGUL SYLLABLE JJYALB;Lo;0;L;;;;;N;;;;;
+CA20;HANGUL SYLLABLE JJYALS;Lo;0;L;;;;;N;;;;;
+CA21;HANGUL SYLLABLE JJYALT;Lo;0;L;;;;;N;;;;;
+CA22;HANGUL SYLLABLE JJYALP;Lo;0;L;;;;;N;;;;;
+CA23;HANGUL SYLLABLE JJYALH;Lo;0;L;;;;;N;;;;;
+CA24;HANGUL SYLLABLE JJYAM;Lo;0;L;;;;;N;;;;;
+CA25;HANGUL SYLLABLE JJYAB;Lo;0;L;;;;;N;;;;;
+CA26;HANGUL SYLLABLE JJYABS;Lo;0;L;;;;;N;;;;;
+CA27;HANGUL SYLLABLE JJYAS;Lo;0;L;;;;;N;;;;;
+CA28;HANGUL SYLLABLE JJYASS;Lo;0;L;;;;;N;;;;;
+CA29;HANGUL SYLLABLE JJYANG;Lo;0;L;;;;;N;;;;;
+CA2A;HANGUL SYLLABLE JJYAJ;Lo;0;L;;;;;N;;;;;
+CA2B;HANGUL SYLLABLE JJYAC;Lo;0;L;;;;;N;;;;;
+CA2C;HANGUL SYLLABLE JJYAK;Lo;0;L;;;;;N;;;;;
+CA2D;HANGUL SYLLABLE JJYAT;Lo;0;L;;;;;N;;;;;
+CA2E;HANGUL SYLLABLE JJYAP;Lo;0;L;;;;;N;;;;;
+CA2F;HANGUL SYLLABLE JJYAH;Lo;0;L;;;;;N;;;;;
+CA30;HANGUL SYLLABLE JJYAE;Lo;0;L;;;;;N;;;;;
+CA31;HANGUL SYLLABLE JJYAEG;Lo;0;L;;;;;N;;;;;
+CA32;HANGUL SYLLABLE JJYAEGG;Lo;0;L;;;;;N;;;;;
+CA33;HANGUL SYLLABLE JJYAEGS;Lo;0;L;;;;;N;;;;;
+CA34;HANGUL SYLLABLE JJYAEN;Lo;0;L;;;;;N;;;;;
+CA35;HANGUL SYLLABLE JJYAENI;Lo;0;L;;;;;N;;;;;
+CA36;HANGUL SYLLABLE JJYAENH;Lo;0;L;;;;;N;;;;;
+CA37;HANGUL SYLLABLE JJYAED;Lo;0;L;;;;;N;;;;;
+CA38;HANGUL SYLLABLE JJYAEL;Lo;0;L;;;;;N;;;;;
+CA39;HANGUL SYLLABLE JJYAELG;Lo;0;L;;;;;N;;;;;
+CA3A;HANGUL SYLLABLE JJYAELM;Lo;0;L;;;;;N;;;;;
+CA3B;HANGUL SYLLABLE JJYAELB;Lo;0;L;;;;;N;;;;;
+CA3C;HANGUL SYLLABLE JJYAELS;Lo;0;L;;;;;N;;;;;
+CA3D;HANGUL SYLLABLE JJYAELT;Lo;0;L;;;;;N;;;;;
+CA3E;HANGUL SYLLABLE JJYAELP;Lo;0;L;;;;;N;;;;;
+CA3F;HANGUL SYLLABLE JJYAELH;Lo;0;L;;;;;N;;;;;
+CA40;HANGUL SYLLABLE JJYAEM;Lo;0;L;;;;;N;;;;;
+CA41;HANGUL SYLLABLE JJYAEB;Lo;0;L;;;;;N;;;;;
+CA42;HANGUL SYLLABLE JJYAEBS;Lo;0;L;;;;;N;;;;;
+CA43;HANGUL SYLLABLE JJYAES;Lo;0;L;;;;;N;;;;;
+CA44;HANGUL SYLLABLE JJYAESS;Lo;0;L;;;;;N;;;;;
+CA45;HANGUL SYLLABLE JJYAENG;Lo;0;L;;;;;N;;;;;
+CA46;HANGUL SYLLABLE JJYAEJ;Lo;0;L;;;;;N;;;;;
+CA47;HANGUL SYLLABLE JJYAEC;Lo;0;L;;;;;N;;;;;
+CA48;HANGUL SYLLABLE JJYAEK;Lo;0;L;;;;;N;;;;;
+CA49;HANGUL SYLLABLE JJYAET;Lo;0;L;;;;;N;;;;;
+CA4A;HANGUL SYLLABLE JJYAEP;Lo;0;L;;;;;N;;;;;
+CA4B;HANGUL SYLLABLE JJYAEH;Lo;0;L;;;;;N;;;;;
+CA4C;HANGUL SYLLABLE JJEO;Lo;0;L;;;;;N;;;;;
+CA4D;HANGUL SYLLABLE JJEOG;Lo;0;L;;;;;N;;;;;
+CA4E;HANGUL SYLLABLE JJEOGG;Lo;0;L;;;;;N;;;;;
+CA4F;HANGUL SYLLABLE JJEOGS;Lo;0;L;;;;;N;;;;;
+CA50;HANGUL SYLLABLE JJEON;Lo;0;L;;;;;N;;;;;
+CA51;HANGUL SYLLABLE JJEONI;Lo;0;L;;;;;N;;;;;
+CA52;HANGUL SYLLABLE JJEONH;Lo;0;L;;;;;N;;;;;
+CA53;HANGUL SYLLABLE JJEOD;Lo;0;L;;;;;N;;;;;
+CA54;HANGUL SYLLABLE JJEOL;Lo;0;L;;;;;N;;;;;
+CA55;HANGUL SYLLABLE JJEOLG;Lo;0;L;;;;;N;;;;;
+CA56;HANGUL SYLLABLE JJEOLM;Lo;0;L;;;;;N;;;;;
+CA57;HANGUL SYLLABLE JJEOLB;Lo;0;L;;;;;N;;;;;
+CA58;HANGUL SYLLABLE JJEOLS;Lo;0;L;;;;;N;;;;;
+CA59;HANGUL SYLLABLE JJEOLT;Lo;0;L;;;;;N;;;;;
+CA5A;HANGUL SYLLABLE JJEOLP;Lo;0;L;;;;;N;;;;;
+CA5B;HANGUL SYLLABLE JJEOLH;Lo;0;L;;;;;N;;;;;
+CA5C;HANGUL SYLLABLE JJEOM;Lo;0;L;;;;;N;;;;;
+CA5D;HANGUL SYLLABLE JJEOB;Lo;0;L;;;;;N;;;;;
+CA5E;HANGUL SYLLABLE JJEOBS;Lo;0;L;;;;;N;;;;;
+CA5F;HANGUL SYLLABLE JJEOS;Lo;0;L;;;;;N;;;;;
+CA60;HANGUL SYLLABLE JJEOSS;Lo;0;L;;;;;N;;;;;
+CA61;HANGUL SYLLABLE JJEONG;Lo;0;L;;;;;N;;;;;
+CA62;HANGUL SYLLABLE JJEOJ;Lo;0;L;;;;;N;;;;;
+CA63;HANGUL SYLLABLE JJEOC;Lo;0;L;;;;;N;;;;;
+CA64;HANGUL SYLLABLE JJEOK;Lo;0;L;;;;;N;;;;;
+CA65;HANGUL SYLLABLE JJEOT;Lo;0;L;;;;;N;;;;;
+CA66;HANGUL SYLLABLE JJEOP;Lo;0;L;;;;;N;;;;;
+CA67;HANGUL SYLLABLE JJEOH;Lo;0;L;;;;;N;;;;;
+CA68;HANGUL SYLLABLE JJE;Lo;0;L;;;;;N;;;;;
+CA69;HANGUL SYLLABLE JJEG;Lo;0;L;;;;;N;;;;;
+CA6A;HANGUL SYLLABLE JJEGG;Lo;0;L;;;;;N;;;;;
+CA6B;HANGUL SYLLABLE JJEGS;Lo;0;L;;;;;N;;;;;
+CA6C;HANGUL SYLLABLE JJEN;Lo;0;L;;;;;N;;;;;
+CA6D;HANGUL SYLLABLE JJENI;Lo;0;L;;;;;N;;;;;
+CA6E;HANGUL SYLLABLE JJENH;Lo;0;L;;;;;N;;;;;
+CA6F;HANGUL SYLLABLE JJED;Lo;0;L;;;;;N;;;;;
+CA70;HANGUL SYLLABLE JJEL;Lo;0;L;;;;;N;;;;;
+CA71;HANGUL SYLLABLE JJELG;Lo;0;L;;;;;N;;;;;
+CA72;HANGUL SYLLABLE JJELM;Lo;0;L;;;;;N;;;;;
+CA73;HANGUL SYLLABLE JJELB;Lo;0;L;;;;;N;;;;;
+CA74;HANGUL SYLLABLE JJELS;Lo;0;L;;;;;N;;;;;
+CA75;HANGUL SYLLABLE JJELT;Lo;0;L;;;;;N;;;;;
+CA76;HANGUL SYLLABLE JJELP;Lo;0;L;;;;;N;;;;;
+CA77;HANGUL SYLLABLE JJELH;Lo;0;L;;;;;N;;;;;
+CA78;HANGUL SYLLABLE JJEM;Lo;0;L;;;;;N;;;;;
+CA79;HANGUL SYLLABLE JJEB;Lo;0;L;;;;;N;;;;;
+CA7A;HANGUL SYLLABLE JJEBS;Lo;0;L;;;;;N;;;;;
+CA7B;HANGUL SYLLABLE JJES;Lo;0;L;;;;;N;;;;;
+CA7C;HANGUL SYLLABLE JJESS;Lo;0;L;;;;;N;;;;;
+CA7D;HANGUL SYLLABLE JJENG;Lo;0;L;;;;;N;;;;;
+CA7E;HANGUL SYLLABLE JJEJ;Lo;0;L;;;;;N;;;;;
+CA7F;HANGUL SYLLABLE JJEC;Lo;0;L;;;;;N;;;;;
+CA80;HANGUL SYLLABLE JJEK;Lo;0;L;;;;;N;;;;;
+CA81;HANGUL SYLLABLE JJET;Lo;0;L;;;;;N;;;;;
+CA82;HANGUL SYLLABLE JJEP;Lo;0;L;;;;;N;;;;;
+CA83;HANGUL SYLLABLE JJEH;Lo;0;L;;;;;N;;;;;
+CA84;HANGUL SYLLABLE JJYEO;Lo;0;L;;;;;N;;;;;
+CA85;HANGUL SYLLABLE JJYEOG;Lo;0;L;;;;;N;;;;;
+CA86;HANGUL SYLLABLE JJYEOGG;Lo;0;L;;;;;N;;;;;
+CA87;HANGUL SYLLABLE JJYEOGS;Lo;0;L;;;;;N;;;;;
+CA88;HANGUL SYLLABLE JJYEON;Lo;0;L;;;;;N;;;;;
+CA89;HANGUL SYLLABLE JJYEONI;Lo;0;L;;;;;N;;;;;
+CA8A;HANGUL SYLLABLE JJYEONH;Lo;0;L;;;;;N;;;;;
+CA8B;HANGUL SYLLABLE JJYEOD;Lo;0;L;;;;;N;;;;;
+CA8C;HANGUL SYLLABLE JJYEOL;Lo;0;L;;;;;N;;;;;
+CA8D;HANGUL SYLLABLE JJYEOLG;Lo;0;L;;;;;N;;;;;
+CA8E;HANGUL SYLLABLE JJYEOLM;Lo;0;L;;;;;N;;;;;
+CA8F;HANGUL SYLLABLE JJYEOLB;Lo;0;L;;;;;N;;;;;
+CA90;HANGUL SYLLABLE JJYEOLS;Lo;0;L;;;;;N;;;;;
+CA91;HANGUL SYLLABLE JJYEOLT;Lo;0;L;;;;;N;;;;;
+CA92;HANGUL SYLLABLE JJYEOLP;Lo;0;L;;;;;N;;;;;
+CA93;HANGUL SYLLABLE JJYEOLH;Lo;0;L;;;;;N;;;;;
+CA94;HANGUL SYLLABLE JJYEOM;Lo;0;L;;;;;N;;;;;
+CA95;HANGUL SYLLABLE JJYEOB;Lo;0;L;;;;;N;;;;;
+CA96;HANGUL SYLLABLE JJYEOBS;Lo;0;L;;;;;N;;;;;
+CA97;HANGUL SYLLABLE JJYEOS;Lo;0;L;;;;;N;;;;;
+CA98;HANGUL SYLLABLE JJYEOSS;Lo;0;L;;;;;N;;;;;
+CA99;HANGUL SYLLABLE JJYEONG;Lo;0;L;;;;;N;;;;;
+CA9A;HANGUL SYLLABLE JJYEOJ;Lo;0;L;;;;;N;;;;;
+CA9B;HANGUL SYLLABLE JJYEOC;Lo;0;L;;;;;N;;;;;
+CA9C;HANGUL SYLLABLE JJYEOK;Lo;0;L;;;;;N;;;;;
+CA9D;HANGUL SYLLABLE JJYEOT;Lo;0;L;;;;;N;;;;;
+CA9E;HANGUL SYLLABLE JJYEOP;Lo;0;L;;;;;N;;;;;
+CA9F;HANGUL SYLLABLE JJYEOH;Lo;0;L;;;;;N;;;;;
+CAA0;HANGUL SYLLABLE JJYE;Lo;0;L;;;;;N;;;;;
+CAA1;HANGUL SYLLABLE JJYEG;Lo;0;L;;;;;N;;;;;
+CAA2;HANGUL SYLLABLE JJYEGG;Lo;0;L;;;;;N;;;;;
+CAA3;HANGUL SYLLABLE JJYEGS;Lo;0;L;;;;;N;;;;;
+CAA4;HANGUL SYLLABLE JJYEN;Lo;0;L;;;;;N;;;;;
+CAA5;HANGUL SYLLABLE JJYENI;Lo;0;L;;;;;N;;;;;
+CAA6;HANGUL SYLLABLE JJYENH;Lo;0;L;;;;;N;;;;;
+CAA7;HANGUL SYLLABLE JJYED;Lo;0;L;;;;;N;;;;;
+CAA8;HANGUL SYLLABLE JJYEL;Lo;0;L;;;;;N;;;;;
+CAA9;HANGUL SYLLABLE JJYELG;Lo;0;L;;;;;N;;;;;
+CAAA;HANGUL SYLLABLE JJYELM;Lo;0;L;;;;;N;;;;;
+CAAB;HANGUL SYLLABLE JJYELB;Lo;0;L;;;;;N;;;;;
+CAAC;HANGUL SYLLABLE JJYELS;Lo;0;L;;;;;N;;;;;
+CAAD;HANGUL SYLLABLE JJYELT;Lo;0;L;;;;;N;;;;;
+CAAE;HANGUL SYLLABLE JJYELP;Lo;0;L;;;;;N;;;;;
+CAAF;HANGUL SYLLABLE JJYELH;Lo;0;L;;;;;N;;;;;
+CAB0;HANGUL SYLLABLE JJYEM;Lo;0;L;;;;;N;;;;;
+CAB1;HANGUL SYLLABLE JJYEB;Lo;0;L;;;;;N;;;;;
+CAB2;HANGUL SYLLABLE JJYEBS;Lo;0;L;;;;;N;;;;;
+CAB3;HANGUL SYLLABLE JJYES;Lo;0;L;;;;;N;;;;;
+CAB4;HANGUL SYLLABLE JJYESS;Lo;0;L;;;;;N;;;;;
+CAB5;HANGUL SYLLABLE JJYENG;Lo;0;L;;;;;N;;;;;
+CAB6;HANGUL SYLLABLE JJYEJ;Lo;0;L;;;;;N;;;;;
+CAB7;HANGUL SYLLABLE JJYEC;Lo;0;L;;;;;N;;;;;
+CAB8;HANGUL SYLLABLE JJYEK;Lo;0;L;;;;;N;;;;;
+CAB9;HANGUL SYLLABLE JJYET;Lo;0;L;;;;;N;;;;;
+CABA;HANGUL SYLLABLE JJYEP;Lo;0;L;;;;;N;;;;;
+CABB;HANGUL SYLLABLE JJYEH;Lo;0;L;;;;;N;;;;;
+CABC;HANGUL SYLLABLE JJO;Lo;0;L;;;;;N;;;;;
+CABD;HANGUL SYLLABLE JJOG;Lo;0;L;;;;;N;;;;;
+CABE;HANGUL SYLLABLE JJOGG;Lo;0;L;;;;;N;;;;;
+CABF;HANGUL SYLLABLE JJOGS;Lo;0;L;;;;;N;;;;;
+CAC0;HANGUL SYLLABLE JJON;Lo;0;L;;;;;N;;;;;
+CAC1;HANGUL SYLLABLE JJONI;Lo;0;L;;;;;N;;;;;
+CAC2;HANGUL SYLLABLE JJONH;Lo;0;L;;;;;N;;;;;
+CAC3;HANGUL SYLLABLE JJOD;Lo;0;L;;;;;N;;;;;
+CAC4;HANGUL SYLLABLE JJOL;Lo;0;L;;;;;N;;;;;
+CAC5;HANGUL SYLLABLE JJOLG;Lo;0;L;;;;;N;;;;;
+CAC6;HANGUL SYLLABLE JJOLM;Lo;0;L;;;;;N;;;;;
+CAC7;HANGUL SYLLABLE JJOLB;Lo;0;L;;;;;N;;;;;
+CAC8;HANGUL SYLLABLE JJOLS;Lo;0;L;;;;;N;;;;;
+CAC9;HANGUL SYLLABLE JJOLT;Lo;0;L;;;;;N;;;;;
+CACA;HANGUL SYLLABLE JJOLP;Lo;0;L;;;;;N;;;;;
+CACB;HANGUL SYLLABLE JJOLH;Lo;0;L;;;;;N;;;;;
+CACC;HANGUL SYLLABLE JJOM;Lo;0;L;;;;;N;;;;;
+CACD;HANGUL SYLLABLE JJOB;Lo;0;L;;;;;N;;;;;
+CACE;HANGUL SYLLABLE JJOBS;Lo;0;L;;;;;N;;;;;
+CACF;HANGUL SYLLABLE JJOS;Lo;0;L;;;;;N;;;;;
+CAD0;HANGUL SYLLABLE JJOSS;Lo;0;L;;;;;N;;;;;
+CAD1;HANGUL SYLLABLE JJONG;Lo;0;L;;;;;N;;;;;
+CAD2;HANGUL SYLLABLE JJOJ;Lo;0;L;;;;;N;;;;;
+CAD3;HANGUL SYLLABLE JJOC;Lo;0;L;;;;;N;;;;;
+CAD4;HANGUL SYLLABLE JJOK;Lo;0;L;;;;;N;;;;;
+CAD5;HANGUL SYLLABLE JJOT;Lo;0;L;;;;;N;;;;;
+CAD6;HANGUL SYLLABLE JJOP;Lo;0;L;;;;;N;;;;;
+CAD7;HANGUL SYLLABLE JJOH;Lo;0;L;;;;;N;;;;;
+CAD8;HANGUL SYLLABLE JJWA;Lo;0;L;;;;;N;;;;;
+CAD9;HANGUL SYLLABLE JJWAG;Lo;0;L;;;;;N;;;;;
+CADA;HANGUL SYLLABLE JJWAGG;Lo;0;L;;;;;N;;;;;
+CADB;HANGUL SYLLABLE JJWAGS;Lo;0;L;;;;;N;;;;;
+CADC;HANGUL SYLLABLE JJWAN;Lo;0;L;;;;;N;;;;;
+CADD;HANGUL SYLLABLE JJWANI;Lo;0;L;;;;;N;;;;;
+CADE;HANGUL SYLLABLE JJWANH;Lo;0;L;;;;;N;;;;;
+CADF;HANGUL SYLLABLE JJWAD;Lo;0;L;;;;;N;;;;;
+CAE0;HANGUL SYLLABLE JJWAL;Lo;0;L;;;;;N;;;;;
+CAE1;HANGUL SYLLABLE JJWALG;Lo;0;L;;;;;N;;;;;
+CAE2;HANGUL SYLLABLE JJWALM;Lo;0;L;;;;;N;;;;;
+CAE3;HANGUL SYLLABLE JJWALB;Lo;0;L;;;;;N;;;;;
+CAE4;HANGUL SYLLABLE JJWALS;Lo;0;L;;;;;N;;;;;
+CAE5;HANGUL SYLLABLE JJWALT;Lo;0;L;;;;;N;;;;;
+CAE6;HANGUL SYLLABLE JJWALP;Lo;0;L;;;;;N;;;;;
+CAE7;HANGUL SYLLABLE JJWALH;Lo;0;L;;;;;N;;;;;
+CAE8;HANGUL SYLLABLE JJWAM;Lo;0;L;;;;;N;;;;;
+CAE9;HANGUL SYLLABLE JJWAB;Lo;0;L;;;;;N;;;;;
+CAEA;HANGUL SYLLABLE JJWABS;Lo;0;L;;;;;N;;;;;
+CAEB;HANGUL SYLLABLE JJWAS;Lo;0;L;;;;;N;;;;;
+CAEC;HANGUL SYLLABLE JJWASS;Lo;0;L;;;;;N;;;;;
+CAED;HANGUL SYLLABLE JJWANG;Lo;0;L;;;;;N;;;;;
+CAEE;HANGUL SYLLABLE JJWAJ;Lo;0;L;;;;;N;;;;;
+CAEF;HANGUL SYLLABLE JJWAC;Lo;0;L;;;;;N;;;;;
+CAF0;HANGUL SYLLABLE JJWAK;Lo;0;L;;;;;N;;;;;
+CAF1;HANGUL SYLLABLE JJWAT;Lo;0;L;;;;;N;;;;;
+CAF2;HANGUL SYLLABLE JJWAP;Lo;0;L;;;;;N;;;;;
+CAF3;HANGUL SYLLABLE JJWAH;Lo;0;L;;;;;N;;;;;
+CAF4;HANGUL SYLLABLE JJWAE;Lo;0;L;;;;;N;;;;;
+CAF5;HANGUL SYLLABLE JJWAEG;Lo;0;L;;;;;N;;;;;
+CAF6;HANGUL SYLLABLE JJWAEGG;Lo;0;L;;;;;N;;;;;
+CAF7;HANGUL SYLLABLE JJWAEGS;Lo;0;L;;;;;N;;;;;
+CAF8;HANGUL SYLLABLE JJWAEN;Lo;0;L;;;;;N;;;;;
+CAF9;HANGUL SYLLABLE JJWAENI;Lo;0;L;;;;;N;;;;;
+CAFA;HANGUL SYLLABLE JJWAENH;Lo;0;L;;;;;N;;;;;
+CAFB;HANGUL SYLLABLE JJWAED;Lo;0;L;;;;;N;;;;;
+CAFC;HANGUL SYLLABLE JJWAEL;Lo;0;L;;;;;N;;;;;
+CAFD;HANGUL SYLLABLE JJWAELG;Lo;0;L;;;;;N;;;;;
+CAFE;HANGUL SYLLABLE JJWAELM;Lo;0;L;;;;;N;;;;;
+CAFF;HANGUL SYLLABLE JJWAELB;Lo;0;L;;;;;N;;;;;
+CB00;HANGUL SYLLABLE JJWAELS;Lo;0;L;;;;;N;;;;;
+CB01;HANGUL SYLLABLE JJWAELT;Lo;0;L;;;;;N;;;;;
+CB02;HANGUL SYLLABLE JJWAELP;Lo;0;L;;;;;N;;;;;
+CB03;HANGUL SYLLABLE JJWAELH;Lo;0;L;;;;;N;;;;;
+CB04;HANGUL SYLLABLE JJWAEM;Lo;0;L;;;;;N;;;;;
+CB05;HANGUL SYLLABLE JJWAEB;Lo;0;L;;;;;N;;;;;
+CB06;HANGUL SYLLABLE JJWAEBS;Lo;0;L;;;;;N;;;;;
+CB07;HANGUL SYLLABLE JJWAES;Lo;0;L;;;;;N;;;;;
+CB08;HANGUL SYLLABLE JJWAESS;Lo;0;L;;;;;N;;;;;
+CB09;HANGUL SYLLABLE JJWAENG;Lo;0;L;;;;;N;;;;;
+CB0A;HANGUL SYLLABLE JJWAEJ;Lo;0;L;;;;;N;;;;;
+CB0B;HANGUL SYLLABLE JJWAEC;Lo;0;L;;;;;N;;;;;
+CB0C;HANGUL SYLLABLE JJWAEK;Lo;0;L;;;;;N;;;;;
+CB0D;HANGUL SYLLABLE JJWAET;Lo;0;L;;;;;N;;;;;
+CB0E;HANGUL SYLLABLE JJWAEP;Lo;0;L;;;;;N;;;;;
+CB0F;HANGUL SYLLABLE JJWAEH;Lo;0;L;;;;;N;;;;;
+CB10;HANGUL SYLLABLE JJOE;Lo;0;L;;;;;N;;;;;
+CB11;HANGUL SYLLABLE JJOEG;Lo;0;L;;;;;N;;;;;
+CB12;HANGUL SYLLABLE JJOEGG;Lo;0;L;;;;;N;;;;;
+CB13;HANGUL SYLLABLE JJOEGS;Lo;0;L;;;;;N;;;;;
+CB14;HANGUL SYLLABLE JJOEN;Lo;0;L;;;;;N;;;;;
+CB15;HANGUL SYLLABLE JJOENI;Lo;0;L;;;;;N;;;;;
+CB16;HANGUL SYLLABLE JJOENH;Lo;0;L;;;;;N;;;;;
+CB17;HANGUL SYLLABLE JJOED;Lo;0;L;;;;;N;;;;;
+CB18;HANGUL SYLLABLE JJOEL;Lo;0;L;;;;;N;;;;;
+CB19;HANGUL SYLLABLE JJOELG;Lo;0;L;;;;;N;;;;;
+CB1A;HANGUL SYLLABLE JJOELM;Lo;0;L;;;;;N;;;;;
+CB1B;HANGUL SYLLABLE JJOELB;Lo;0;L;;;;;N;;;;;
+CB1C;HANGUL SYLLABLE JJOELS;Lo;0;L;;;;;N;;;;;
+CB1D;HANGUL SYLLABLE JJOELT;Lo;0;L;;;;;N;;;;;
+CB1E;HANGUL SYLLABLE JJOELP;Lo;0;L;;;;;N;;;;;
+CB1F;HANGUL SYLLABLE JJOELH;Lo;0;L;;;;;N;;;;;
+CB20;HANGUL SYLLABLE JJOEM;Lo;0;L;;;;;N;;;;;
+CB21;HANGUL SYLLABLE JJOEB;Lo;0;L;;;;;N;;;;;
+CB22;HANGUL SYLLABLE JJOEBS;Lo;0;L;;;;;N;;;;;
+CB23;HANGUL SYLLABLE JJOES;Lo;0;L;;;;;N;;;;;
+CB24;HANGUL SYLLABLE JJOESS;Lo;0;L;;;;;N;;;;;
+CB25;HANGUL SYLLABLE JJOENG;Lo;0;L;;;;;N;;;;;
+CB26;HANGUL SYLLABLE JJOEJ;Lo;0;L;;;;;N;;;;;
+CB27;HANGUL SYLLABLE JJOEC;Lo;0;L;;;;;N;;;;;
+CB28;HANGUL SYLLABLE JJOEK;Lo;0;L;;;;;N;;;;;
+CB29;HANGUL SYLLABLE JJOET;Lo;0;L;;;;;N;;;;;
+CB2A;HANGUL SYLLABLE JJOEP;Lo;0;L;;;;;N;;;;;
+CB2B;HANGUL SYLLABLE JJOEH;Lo;0;L;;;;;N;;;;;
+CB2C;HANGUL SYLLABLE JJYO;Lo;0;L;;;;;N;;;;;
+CB2D;HANGUL SYLLABLE JJYOG;Lo;0;L;;;;;N;;;;;
+CB2E;HANGUL SYLLABLE JJYOGG;Lo;0;L;;;;;N;;;;;
+CB2F;HANGUL SYLLABLE JJYOGS;Lo;0;L;;;;;N;;;;;
+CB30;HANGUL SYLLABLE JJYON;Lo;0;L;;;;;N;;;;;
+CB31;HANGUL SYLLABLE JJYONI;Lo;0;L;;;;;N;;;;;
+CB32;HANGUL SYLLABLE JJYONH;Lo;0;L;;;;;N;;;;;
+CB33;HANGUL SYLLABLE JJYOD;Lo;0;L;;;;;N;;;;;
+CB34;HANGUL SYLLABLE JJYOL;Lo;0;L;;;;;N;;;;;
+CB35;HANGUL SYLLABLE JJYOLG;Lo;0;L;;;;;N;;;;;
+CB36;HANGUL SYLLABLE JJYOLM;Lo;0;L;;;;;N;;;;;
+CB37;HANGUL SYLLABLE JJYOLB;Lo;0;L;;;;;N;;;;;
+CB38;HANGUL SYLLABLE JJYOLS;Lo;0;L;;;;;N;;;;;
+CB39;HANGUL SYLLABLE JJYOLT;Lo;0;L;;;;;N;;;;;
+CB3A;HANGUL SYLLABLE JJYOLP;Lo;0;L;;;;;N;;;;;
+CB3B;HANGUL SYLLABLE JJYOLH;Lo;0;L;;;;;N;;;;;
+CB3C;HANGUL SYLLABLE JJYOM;Lo;0;L;;;;;N;;;;;
+CB3D;HANGUL SYLLABLE JJYOB;Lo;0;L;;;;;N;;;;;
+CB3E;HANGUL SYLLABLE JJYOBS;Lo;0;L;;;;;N;;;;;
+CB3F;HANGUL SYLLABLE JJYOS;Lo;0;L;;;;;N;;;;;
+CB40;HANGUL SYLLABLE JJYOSS;Lo;0;L;;;;;N;;;;;
+CB41;HANGUL SYLLABLE JJYONG;Lo;0;L;;;;;N;;;;;
+CB42;HANGUL SYLLABLE JJYOJ;Lo;0;L;;;;;N;;;;;
+CB43;HANGUL SYLLABLE JJYOC;Lo;0;L;;;;;N;;;;;
+CB44;HANGUL SYLLABLE JJYOK;Lo;0;L;;;;;N;;;;;
+CB45;HANGUL SYLLABLE JJYOT;Lo;0;L;;;;;N;;;;;
+CB46;HANGUL SYLLABLE JJYOP;Lo;0;L;;;;;N;;;;;
+CB47;HANGUL SYLLABLE JJYOH;Lo;0;L;;;;;N;;;;;
+CB48;HANGUL SYLLABLE JJU;Lo;0;L;;;;;N;;;;;
+CB49;HANGUL SYLLABLE JJUG;Lo;0;L;;;;;N;;;;;
+CB4A;HANGUL SYLLABLE JJUGG;Lo;0;L;;;;;N;;;;;
+CB4B;HANGUL SYLLABLE JJUGS;Lo;0;L;;;;;N;;;;;
+CB4C;HANGUL SYLLABLE JJUN;Lo;0;L;;;;;N;;;;;
+CB4D;HANGUL SYLLABLE JJUNI;Lo;0;L;;;;;N;;;;;
+CB4E;HANGUL SYLLABLE JJUNH;Lo;0;L;;;;;N;;;;;
+CB4F;HANGUL SYLLABLE JJUD;Lo;0;L;;;;;N;;;;;
+CB50;HANGUL SYLLABLE JJUL;Lo;0;L;;;;;N;;;;;
+CB51;HANGUL SYLLABLE JJULG;Lo;0;L;;;;;N;;;;;
+CB52;HANGUL SYLLABLE JJULM;Lo;0;L;;;;;N;;;;;
+CB53;HANGUL SYLLABLE JJULB;Lo;0;L;;;;;N;;;;;
+CB54;HANGUL SYLLABLE JJULS;Lo;0;L;;;;;N;;;;;
+CB55;HANGUL SYLLABLE JJULT;Lo;0;L;;;;;N;;;;;
+CB56;HANGUL SYLLABLE JJULP;Lo;0;L;;;;;N;;;;;
+CB57;HANGUL SYLLABLE JJULH;Lo;0;L;;;;;N;;;;;
+CB58;HANGUL SYLLABLE JJUM;Lo;0;L;;;;;N;;;;;
+CB59;HANGUL SYLLABLE JJUB;Lo;0;L;;;;;N;;;;;
+CB5A;HANGUL SYLLABLE JJUBS;Lo;0;L;;;;;N;;;;;
+CB5B;HANGUL SYLLABLE JJUS;Lo;0;L;;;;;N;;;;;
+CB5C;HANGUL SYLLABLE JJUSS;Lo;0;L;;;;;N;;;;;
+CB5D;HANGUL SYLLABLE JJUNG;Lo;0;L;;;;;N;;;;;
+CB5E;HANGUL SYLLABLE JJUJ;Lo;0;L;;;;;N;;;;;
+CB5F;HANGUL SYLLABLE JJUC;Lo;0;L;;;;;N;;;;;
+CB60;HANGUL SYLLABLE JJUK;Lo;0;L;;;;;N;;;;;
+CB61;HANGUL SYLLABLE JJUT;Lo;0;L;;;;;N;;;;;
+CB62;HANGUL SYLLABLE JJUP;Lo;0;L;;;;;N;;;;;
+CB63;HANGUL SYLLABLE JJUH;Lo;0;L;;;;;N;;;;;
+CB64;HANGUL SYLLABLE JJWEO;Lo;0;L;;;;;N;;;;;
+CB65;HANGUL SYLLABLE JJWEOG;Lo;0;L;;;;;N;;;;;
+CB66;HANGUL SYLLABLE JJWEOGG;Lo;0;L;;;;;N;;;;;
+CB67;HANGUL SYLLABLE JJWEOGS;Lo;0;L;;;;;N;;;;;
+CB68;HANGUL SYLLABLE JJWEON;Lo;0;L;;;;;N;;;;;
+CB69;HANGUL SYLLABLE JJWEONI;Lo;0;L;;;;;N;;;;;
+CB6A;HANGUL SYLLABLE JJWEONH;Lo;0;L;;;;;N;;;;;
+CB6B;HANGUL SYLLABLE JJWEOD;Lo;0;L;;;;;N;;;;;
+CB6C;HANGUL SYLLABLE JJWEOL;Lo;0;L;;;;;N;;;;;
+CB6D;HANGUL SYLLABLE JJWEOLG;Lo;0;L;;;;;N;;;;;
+CB6E;HANGUL SYLLABLE JJWEOLM;Lo;0;L;;;;;N;;;;;
+CB6F;HANGUL SYLLABLE JJWEOLB;Lo;0;L;;;;;N;;;;;
+CB70;HANGUL SYLLABLE JJWEOLS;Lo;0;L;;;;;N;;;;;
+CB71;HANGUL SYLLABLE JJWEOLT;Lo;0;L;;;;;N;;;;;
+CB72;HANGUL SYLLABLE JJWEOLP;Lo;0;L;;;;;N;;;;;
+CB73;HANGUL SYLLABLE JJWEOLH;Lo;0;L;;;;;N;;;;;
+CB74;HANGUL SYLLABLE JJWEOM;Lo;0;L;;;;;N;;;;;
+CB75;HANGUL SYLLABLE JJWEOB;Lo;0;L;;;;;N;;;;;
+CB76;HANGUL SYLLABLE JJWEOBS;Lo;0;L;;;;;N;;;;;
+CB77;HANGUL SYLLABLE JJWEOS;Lo;0;L;;;;;N;;;;;
+CB78;HANGUL SYLLABLE JJWEOSS;Lo;0;L;;;;;N;;;;;
+CB79;HANGUL SYLLABLE JJWEONG;Lo;0;L;;;;;N;;;;;
+CB7A;HANGUL SYLLABLE JJWEOJ;Lo;0;L;;;;;N;;;;;
+CB7B;HANGUL SYLLABLE JJWEOC;Lo;0;L;;;;;N;;;;;
+CB7C;HANGUL SYLLABLE JJWEOK;Lo;0;L;;;;;N;;;;;
+CB7D;HANGUL SYLLABLE JJWEOT;Lo;0;L;;;;;N;;;;;
+CB7E;HANGUL SYLLABLE JJWEOP;Lo;0;L;;;;;N;;;;;
+CB7F;HANGUL SYLLABLE JJWEOH;Lo;0;L;;;;;N;;;;;
+CB80;HANGUL SYLLABLE JJWE;Lo;0;L;;;;;N;;;;;
+CB81;HANGUL SYLLABLE JJWEG;Lo;0;L;;;;;N;;;;;
+CB82;HANGUL SYLLABLE JJWEGG;Lo;0;L;;;;;N;;;;;
+CB83;HANGUL SYLLABLE JJWEGS;Lo;0;L;;;;;N;;;;;
+CB84;HANGUL SYLLABLE JJWEN;Lo;0;L;;;;;N;;;;;
+CB85;HANGUL SYLLABLE JJWENI;Lo;0;L;;;;;N;;;;;
+CB86;HANGUL SYLLABLE JJWENH;Lo;0;L;;;;;N;;;;;
+CB87;HANGUL SYLLABLE JJWED;Lo;0;L;;;;;N;;;;;
+CB88;HANGUL SYLLABLE JJWEL;Lo;0;L;;;;;N;;;;;
+CB89;HANGUL SYLLABLE JJWELG;Lo;0;L;;;;;N;;;;;
+CB8A;HANGUL SYLLABLE JJWELM;Lo;0;L;;;;;N;;;;;
+CB8B;HANGUL SYLLABLE JJWELB;Lo;0;L;;;;;N;;;;;
+CB8C;HANGUL SYLLABLE JJWELS;Lo;0;L;;;;;N;;;;;
+CB8D;HANGUL SYLLABLE JJWELT;Lo;0;L;;;;;N;;;;;
+CB8E;HANGUL SYLLABLE JJWELP;Lo;0;L;;;;;N;;;;;
+CB8F;HANGUL SYLLABLE JJWELH;Lo;0;L;;;;;N;;;;;
+CB90;HANGUL SYLLABLE JJWEM;Lo;0;L;;;;;N;;;;;
+CB91;HANGUL SYLLABLE JJWEB;Lo;0;L;;;;;N;;;;;
+CB92;HANGUL SYLLABLE JJWEBS;Lo;0;L;;;;;N;;;;;
+CB93;HANGUL SYLLABLE JJWES;Lo;0;L;;;;;N;;;;;
+CB94;HANGUL SYLLABLE JJWESS;Lo;0;L;;;;;N;;;;;
+CB95;HANGUL SYLLABLE JJWENG;Lo;0;L;;;;;N;;;;;
+CB96;HANGUL SYLLABLE JJWEJ;Lo;0;L;;;;;N;;;;;
+CB97;HANGUL SYLLABLE JJWEC;Lo;0;L;;;;;N;;;;;
+CB98;HANGUL SYLLABLE JJWEK;Lo;0;L;;;;;N;;;;;
+CB99;HANGUL SYLLABLE JJWET;Lo;0;L;;;;;N;;;;;
+CB9A;HANGUL SYLLABLE JJWEP;Lo;0;L;;;;;N;;;;;
+CB9B;HANGUL SYLLABLE JJWEH;Lo;0;L;;;;;N;;;;;
+CB9C;HANGUL SYLLABLE JJWI;Lo;0;L;;;;;N;;;;;
+CB9D;HANGUL SYLLABLE JJWIG;Lo;0;L;;;;;N;;;;;
+CB9E;HANGUL SYLLABLE JJWIGG;Lo;0;L;;;;;N;;;;;
+CB9F;HANGUL SYLLABLE JJWIGS;Lo;0;L;;;;;N;;;;;
+CBA0;HANGUL SYLLABLE JJWIN;Lo;0;L;;;;;N;;;;;
+CBA1;HANGUL SYLLABLE JJWINI;Lo;0;L;;;;;N;;;;;
+CBA2;HANGUL SYLLABLE JJWINH;Lo;0;L;;;;;N;;;;;
+CBA3;HANGUL SYLLABLE JJWID;Lo;0;L;;;;;N;;;;;
+CBA4;HANGUL SYLLABLE JJWIL;Lo;0;L;;;;;N;;;;;
+CBA5;HANGUL SYLLABLE JJWILG;Lo;0;L;;;;;N;;;;;
+CBA6;HANGUL SYLLABLE JJWILM;Lo;0;L;;;;;N;;;;;
+CBA7;HANGUL SYLLABLE JJWILB;Lo;0;L;;;;;N;;;;;
+CBA8;HANGUL SYLLABLE JJWILS;Lo;0;L;;;;;N;;;;;
+CBA9;HANGUL SYLLABLE JJWILT;Lo;0;L;;;;;N;;;;;
+CBAA;HANGUL SYLLABLE JJWILP;Lo;0;L;;;;;N;;;;;
+CBAB;HANGUL SYLLABLE JJWILH;Lo;0;L;;;;;N;;;;;
+CBAC;HANGUL SYLLABLE JJWIM;Lo;0;L;;;;;N;;;;;
+CBAD;HANGUL SYLLABLE JJWIB;Lo;0;L;;;;;N;;;;;
+CBAE;HANGUL SYLLABLE JJWIBS;Lo;0;L;;;;;N;;;;;
+CBAF;HANGUL SYLLABLE JJWIS;Lo;0;L;;;;;N;;;;;
+CBB0;HANGUL SYLLABLE JJWISS;Lo;0;L;;;;;N;;;;;
+CBB1;HANGUL SYLLABLE JJWING;Lo;0;L;;;;;N;;;;;
+CBB2;HANGUL SYLLABLE JJWIJ;Lo;0;L;;;;;N;;;;;
+CBB3;HANGUL SYLLABLE JJWIC;Lo;0;L;;;;;N;;;;;
+CBB4;HANGUL SYLLABLE JJWIK;Lo;0;L;;;;;N;;;;;
+CBB5;HANGUL SYLLABLE JJWIT;Lo;0;L;;;;;N;;;;;
+CBB6;HANGUL SYLLABLE JJWIP;Lo;0;L;;;;;N;;;;;
+CBB7;HANGUL SYLLABLE JJWIH;Lo;0;L;;;;;N;;;;;
+CBB8;HANGUL SYLLABLE JJYU;Lo;0;L;;;;;N;;;;;
+CBB9;HANGUL SYLLABLE JJYUG;Lo;0;L;;;;;N;;;;;
+CBBA;HANGUL SYLLABLE JJYUGG;Lo;0;L;;;;;N;;;;;
+CBBB;HANGUL SYLLABLE JJYUGS;Lo;0;L;;;;;N;;;;;
+CBBC;HANGUL SYLLABLE JJYUN;Lo;0;L;;;;;N;;;;;
+CBBD;HANGUL SYLLABLE JJYUNI;Lo;0;L;;;;;N;;;;;
+CBBE;HANGUL SYLLABLE JJYUNH;Lo;0;L;;;;;N;;;;;
+CBBF;HANGUL SYLLABLE JJYUD;Lo;0;L;;;;;N;;;;;
+CBC0;HANGUL SYLLABLE JJYUL;Lo;0;L;;;;;N;;;;;
+CBC1;HANGUL SYLLABLE JJYULG;Lo;0;L;;;;;N;;;;;
+CBC2;HANGUL SYLLABLE JJYULM;Lo;0;L;;;;;N;;;;;
+CBC3;HANGUL SYLLABLE JJYULB;Lo;0;L;;;;;N;;;;;
+CBC4;HANGUL SYLLABLE JJYULS;Lo;0;L;;;;;N;;;;;
+CBC5;HANGUL SYLLABLE JJYULT;Lo;0;L;;;;;N;;;;;
+CBC6;HANGUL SYLLABLE JJYULP;Lo;0;L;;;;;N;;;;;
+CBC7;HANGUL SYLLABLE JJYULH;Lo;0;L;;;;;N;;;;;
+CBC8;HANGUL SYLLABLE JJYUM;Lo;0;L;;;;;N;;;;;
+CBC9;HANGUL SYLLABLE JJYUB;Lo;0;L;;;;;N;;;;;
+CBCA;HANGUL SYLLABLE JJYUBS;Lo;0;L;;;;;N;;;;;
+CBCB;HANGUL SYLLABLE JJYUS;Lo;0;L;;;;;N;;;;;
+CBCC;HANGUL SYLLABLE JJYUSS;Lo;0;L;;;;;N;;;;;
+CBCD;HANGUL SYLLABLE JJYUNG;Lo;0;L;;;;;N;;;;;
+CBCE;HANGUL SYLLABLE JJYUJ;Lo;0;L;;;;;N;;;;;
+CBCF;HANGUL SYLLABLE JJYUC;Lo;0;L;;;;;N;;;;;
+CBD0;HANGUL SYLLABLE JJYUK;Lo;0;L;;;;;N;;;;;
+CBD1;HANGUL SYLLABLE JJYUT;Lo;0;L;;;;;N;;;;;
+CBD2;HANGUL SYLLABLE JJYUP;Lo;0;L;;;;;N;;;;;
+CBD3;HANGUL SYLLABLE JJYUH;Lo;0;L;;;;;N;;;;;
+CBD4;HANGUL SYLLABLE JJEU;Lo;0;L;;;;;N;;;;;
+CBD5;HANGUL SYLLABLE JJEUG;Lo;0;L;;;;;N;;;;;
+CBD6;HANGUL SYLLABLE JJEUGG;Lo;0;L;;;;;N;;;;;
+CBD7;HANGUL SYLLABLE JJEUGS;Lo;0;L;;;;;N;;;;;
+CBD8;HANGUL SYLLABLE JJEUN;Lo;0;L;;;;;N;;;;;
+CBD9;HANGUL SYLLABLE JJEUNI;Lo;0;L;;;;;N;;;;;
+CBDA;HANGUL SYLLABLE JJEUNH;Lo;0;L;;;;;N;;;;;
+CBDB;HANGUL SYLLABLE JJEUD;Lo;0;L;;;;;N;;;;;
+CBDC;HANGUL SYLLABLE JJEUL;Lo;0;L;;;;;N;;;;;
+CBDD;HANGUL SYLLABLE JJEULG;Lo;0;L;;;;;N;;;;;
+CBDE;HANGUL SYLLABLE JJEULM;Lo;0;L;;;;;N;;;;;
+CBDF;HANGUL SYLLABLE JJEULB;Lo;0;L;;;;;N;;;;;
+CBE0;HANGUL SYLLABLE JJEULS;Lo;0;L;;;;;N;;;;;
+CBE1;HANGUL SYLLABLE JJEULT;Lo;0;L;;;;;N;;;;;
+CBE2;HANGUL SYLLABLE JJEULP;Lo;0;L;;;;;N;;;;;
+CBE3;HANGUL SYLLABLE JJEULH;Lo;0;L;;;;;N;;;;;
+CBE4;HANGUL SYLLABLE JJEUM;Lo;0;L;;;;;N;;;;;
+CBE5;HANGUL SYLLABLE JJEUB;Lo;0;L;;;;;N;;;;;
+CBE6;HANGUL SYLLABLE JJEUBS;Lo;0;L;;;;;N;;;;;
+CBE7;HANGUL SYLLABLE JJEUS;Lo;0;L;;;;;N;;;;;
+CBE8;HANGUL SYLLABLE JJEUSS;Lo;0;L;;;;;N;;;;;
+CBE9;HANGUL SYLLABLE JJEUNG;Lo;0;L;;;;;N;;;;;
+CBEA;HANGUL SYLLABLE JJEUJ;Lo;0;L;;;;;N;;;;;
+CBEB;HANGUL SYLLABLE JJEUC;Lo;0;L;;;;;N;;;;;
+CBEC;HANGUL SYLLABLE JJEUK;Lo;0;L;;;;;N;;;;;
+CBED;HANGUL SYLLABLE JJEUT;Lo;0;L;;;;;N;;;;;
+CBEE;HANGUL SYLLABLE JJEUP;Lo;0;L;;;;;N;;;;;
+CBEF;HANGUL SYLLABLE JJEUH;Lo;0;L;;;;;N;;;;;
+CBF0;HANGUL SYLLABLE JJYI;Lo;0;L;;;;;N;;;;;
+CBF1;HANGUL SYLLABLE JJYIG;Lo;0;L;;;;;N;;;;;
+CBF2;HANGUL SYLLABLE JJYIGG;Lo;0;L;;;;;N;;;;;
+CBF3;HANGUL SYLLABLE JJYIGS;Lo;0;L;;;;;N;;;;;
+CBF4;HANGUL SYLLABLE JJYIN;Lo;0;L;;;;;N;;;;;
+CBF5;HANGUL SYLLABLE JJYINI;Lo;0;L;;;;;N;;;;;
+CBF6;HANGUL SYLLABLE JJYINH;Lo;0;L;;;;;N;;;;;
+CBF7;HANGUL SYLLABLE JJYID;Lo;0;L;;;;;N;;;;;
+CBF8;HANGUL SYLLABLE JJYIL;Lo;0;L;;;;;N;;;;;
+CBF9;HANGUL SYLLABLE JJYILG;Lo;0;L;;;;;N;;;;;
+CBFA;HANGUL SYLLABLE JJYILM;Lo;0;L;;;;;N;;;;;
+CBFB;HANGUL SYLLABLE JJYILB;Lo;0;L;;;;;N;;;;;
+CBFC;HANGUL SYLLABLE JJYILS;Lo;0;L;;;;;N;;;;;
+CBFD;HANGUL SYLLABLE JJYILT;Lo;0;L;;;;;N;;;;;
+CBFE;HANGUL SYLLABLE JJYILP;Lo;0;L;;;;;N;;;;;
+CBFF;HANGUL SYLLABLE JJYILH;Lo;0;L;;;;;N;;;;;
+CC00;HANGUL SYLLABLE JJYIM;Lo;0;L;;;;;N;;;;;
+CC01;HANGUL SYLLABLE JJYIB;Lo;0;L;;;;;N;;;;;
+CC02;HANGUL SYLLABLE JJYIBS;Lo;0;L;;;;;N;;;;;
+CC03;HANGUL SYLLABLE JJYIS;Lo;0;L;;;;;N;;;;;
+CC04;HANGUL SYLLABLE JJYISS;Lo;0;L;;;;;N;;;;;
+CC05;HANGUL SYLLABLE JJYING;Lo;0;L;;;;;N;;;;;
+CC06;HANGUL SYLLABLE JJYIJ;Lo;0;L;;;;;N;;;;;
+CC07;HANGUL SYLLABLE JJYIC;Lo;0;L;;;;;N;;;;;
+CC08;HANGUL SYLLABLE JJYIK;Lo;0;L;;;;;N;;;;;
+CC09;HANGUL SYLLABLE JJYIT;Lo;0;L;;;;;N;;;;;
+CC0A;HANGUL SYLLABLE JJYIP;Lo;0;L;;;;;N;;;;;
+CC0B;HANGUL SYLLABLE JJYIH;Lo;0;L;;;;;N;;;;;
+CC0C;HANGUL SYLLABLE JJI;Lo;0;L;;;;;N;;;;;
+CC0D;HANGUL SYLLABLE JJIG;Lo;0;L;;;;;N;;;;;
+CC0E;HANGUL SYLLABLE JJIGG;Lo;0;L;;;;;N;;;;;
+CC0F;HANGUL SYLLABLE JJIGS;Lo;0;L;;;;;N;;;;;
+CC10;HANGUL SYLLABLE JJIN;Lo;0;L;;;;;N;;;;;
+CC11;HANGUL SYLLABLE JJINI;Lo;0;L;;;;;N;;;;;
+CC12;HANGUL SYLLABLE JJINH;Lo;0;L;;;;;N;;;;;
+CC13;HANGUL SYLLABLE JJID;Lo;0;L;;;;;N;;;;;
+CC14;HANGUL SYLLABLE JJIL;Lo;0;L;;;;;N;;;;;
+CC15;HANGUL SYLLABLE JJILG;Lo;0;L;;;;;N;;;;;
+CC16;HANGUL SYLLABLE JJILM;Lo;0;L;;;;;N;;;;;
+CC17;HANGUL SYLLABLE JJILB;Lo;0;L;;;;;N;;;;;
+CC18;HANGUL SYLLABLE JJILS;Lo;0;L;;;;;N;;;;;
+CC19;HANGUL SYLLABLE JJILT;Lo;0;L;;;;;N;;;;;
+CC1A;HANGUL SYLLABLE JJILP;Lo;0;L;;;;;N;;;;;
+CC1B;HANGUL SYLLABLE JJILH;Lo;0;L;;;;;N;;;;;
+CC1C;HANGUL SYLLABLE JJIM;Lo;0;L;;;;;N;;;;;
+CC1D;HANGUL SYLLABLE JJIB;Lo;0;L;;;;;N;;;;;
+CC1E;HANGUL SYLLABLE JJIBS;Lo;0;L;;;;;N;;;;;
+CC1F;HANGUL SYLLABLE JJIS;Lo;0;L;;;;;N;;;;;
+CC20;HANGUL SYLLABLE JJISS;Lo;0;L;;;;;N;;;;;
+CC21;HANGUL SYLLABLE JJING;Lo;0;L;;;;;N;;;;;
+CC22;HANGUL SYLLABLE JJIJ;Lo;0;L;;;;;N;;;;;
+CC23;HANGUL SYLLABLE JJIC;Lo;0;L;;;;;N;;;;;
+CC24;HANGUL SYLLABLE JJIK;Lo;0;L;;;;;N;;;;;
+CC25;HANGUL SYLLABLE JJIT;Lo;0;L;;;;;N;;;;;
+CC26;HANGUL SYLLABLE JJIP;Lo;0;L;;;;;N;;;;;
+CC27;HANGUL SYLLABLE JJIH;Lo;0;L;;;;;N;;;;;
+CC28;HANGUL SYLLABLE CA;Lo;0;L;;;;;N;;;;;
+CC29;HANGUL SYLLABLE CAG;Lo;0;L;;;;;N;;;;;
+CC2A;HANGUL SYLLABLE CAGG;Lo;0;L;;;;;N;;;;;
+CC2B;HANGUL SYLLABLE CAGS;Lo;0;L;;;;;N;;;;;
+CC2C;HANGUL SYLLABLE CAN;Lo;0;L;;;;;N;;;;;
+CC2D;HANGUL SYLLABLE CANI;Lo;0;L;;;;;N;;;;;
+CC2E;HANGUL SYLLABLE CANH;Lo;0;L;;;;;N;;;;;
+CC2F;HANGUL SYLLABLE CAD;Lo;0;L;;;;;N;;;;;
+CC30;HANGUL SYLLABLE CAL;Lo;0;L;;;;;N;;;;;
+CC31;HANGUL SYLLABLE CALG;Lo;0;L;;;;;N;;;;;
+CC32;HANGUL SYLLABLE CALM;Lo;0;L;;;;;N;;;;;
+CC33;HANGUL SYLLABLE CALB;Lo;0;L;;;;;N;;;;;
+CC34;HANGUL SYLLABLE CALS;Lo;0;L;;;;;N;;;;;
+CC35;HANGUL SYLLABLE CALT;Lo;0;L;;;;;N;;;;;
+CC36;HANGUL SYLLABLE CALP;Lo;0;L;;;;;N;;;;;
+CC37;HANGUL SYLLABLE CALH;Lo;0;L;;;;;N;;;;;
+CC38;HANGUL SYLLABLE CAM;Lo;0;L;;;;;N;;;;;
+CC39;HANGUL SYLLABLE CAB;Lo;0;L;;;;;N;;;;;
+CC3A;HANGUL SYLLABLE CABS;Lo;0;L;;;;;N;;;;;
+CC3B;HANGUL SYLLABLE CAS;Lo;0;L;;;;;N;;;;;
+CC3C;HANGUL SYLLABLE CASS;Lo;0;L;;;;;N;;;;;
+CC3D;HANGUL SYLLABLE CANG;Lo;0;L;;;;;N;;;;;
+CC3E;HANGUL SYLLABLE CAJ;Lo;0;L;;;;;N;;;;;
+CC3F;HANGUL SYLLABLE CAC;Lo;0;L;;;;;N;;;;;
+CC40;HANGUL SYLLABLE CAK;Lo;0;L;;;;;N;;;;;
+CC41;HANGUL SYLLABLE CAT;Lo;0;L;;;;;N;;;;;
+CC42;HANGUL SYLLABLE CAP;Lo;0;L;;;;;N;;;;;
+CC43;HANGUL SYLLABLE CAH;Lo;0;L;;;;;N;;;;;
+CC44;HANGUL SYLLABLE CAE;Lo;0;L;;;;;N;;;;;
+CC45;HANGUL SYLLABLE CAEG;Lo;0;L;;;;;N;;;;;
+CC46;HANGUL SYLLABLE CAEGG;Lo;0;L;;;;;N;;;;;
+CC47;HANGUL SYLLABLE CAEGS;Lo;0;L;;;;;N;;;;;
+CC48;HANGUL SYLLABLE CAEN;Lo;0;L;;;;;N;;;;;
+CC49;HANGUL SYLLABLE CAENI;Lo;0;L;;;;;N;;;;;
+CC4A;HANGUL SYLLABLE CAENH;Lo;0;L;;;;;N;;;;;
+CC4B;HANGUL SYLLABLE CAED;Lo;0;L;;;;;N;;;;;
+CC4C;HANGUL SYLLABLE CAEL;Lo;0;L;;;;;N;;;;;
+CC4D;HANGUL SYLLABLE CAELG;Lo;0;L;;;;;N;;;;;
+CC4E;HANGUL SYLLABLE CAELM;Lo;0;L;;;;;N;;;;;
+CC4F;HANGUL SYLLABLE CAELB;Lo;0;L;;;;;N;;;;;
+CC50;HANGUL SYLLABLE CAELS;Lo;0;L;;;;;N;;;;;
+CC51;HANGUL SYLLABLE CAELT;Lo;0;L;;;;;N;;;;;
+CC52;HANGUL SYLLABLE CAELP;Lo;0;L;;;;;N;;;;;
+CC53;HANGUL SYLLABLE CAELH;Lo;0;L;;;;;N;;;;;
+CC54;HANGUL SYLLABLE CAEM;Lo;0;L;;;;;N;;;;;
+CC55;HANGUL SYLLABLE CAEB;Lo;0;L;;;;;N;;;;;
+CC56;HANGUL SYLLABLE CAEBS;Lo;0;L;;;;;N;;;;;
+CC57;HANGUL SYLLABLE CAES;Lo;0;L;;;;;N;;;;;
+CC58;HANGUL SYLLABLE CAESS;Lo;0;L;;;;;N;;;;;
+CC59;HANGUL SYLLABLE CAENG;Lo;0;L;;;;;N;;;;;
+CC5A;HANGUL SYLLABLE CAEJ;Lo;0;L;;;;;N;;;;;
+CC5B;HANGUL SYLLABLE CAEC;Lo;0;L;;;;;N;;;;;
+CC5C;HANGUL SYLLABLE CAEK;Lo;0;L;;;;;N;;;;;
+CC5D;HANGUL SYLLABLE CAET;Lo;0;L;;;;;N;;;;;
+CC5E;HANGUL SYLLABLE CAEP;Lo;0;L;;;;;N;;;;;
+CC5F;HANGUL SYLLABLE CAEH;Lo;0;L;;;;;N;;;;;
+CC60;HANGUL SYLLABLE CYA;Lo;0;L;;;;;N;;;;;
+CC61;HANGUL SYLLABLE CYAG;Lo;0;L;;;;;N;;;;;
+CC62;HANGUL SYLLABLE CYAGG;Lo;0;L;;;;;N;;;;;
+CC63;HANGUL SYLLABLE CYAGS;Lo;0;L;;;;;N;;;;;
+CC64;HANGUL SYLLABLE CYAN;Lo;0;L;;;;;N;;;;;
+CC65;HANGUL SYLLABLE CYANI;Lo;0;L;;;;;N;;;;;
+CC66;HANGUL SYLLABLE CYANH;Lo;0;L;;;;;N;;;;;
+CC67;HANGUL SYLLABLE CYAD;Lo;0;L;;;;;N;;;;;
+CC68;HANGUL SYLLABLE CYAL;Lo;0;L;;;;;N;;;;;
+CC69;HANGUL SYLLABLE CYALG;Lo;0;L;;;;;N;;;;;
+CC6A;HANGUL SYLLABLE CYALM;Lo;0;L;;;;;N;;;;;
+CC6B;HANGUL SYLLABLE CYALB;Lo;0;L;;;;;N;;;;;
+CC6C;HANGUL SYLLABLE CYALS;Lo;0;L;;;;;N;;;;;
+CC6D;HANGUL SYLLABLE CYALT;Lo;0;L;;;;;N;;;;;
+CC6E;HANGUL SYLLABLE CYALP;Lo;0;L;;;;;N;;;;;
+CC6F;HANGUL SYLLABLE CYALH;Lo;0;L;;;;;N;;;;;
+CC70;HANGUL SYLLABLE CYAM;Lo;0;L;;;;;N;;;;;
+CC71;HANGUL SYLLABLE CYAB;Lo;0;L;;;;;N;;;;;
+CC72;HANGUL SYLLABLE CYABS;Lo;0;L;;;;;N;;;;;
+CC73;HANGUL SYLLABLE CYAS;Lo;0;L;;;;;N;;;;;
+CC74;HANGUL SYLLABLE CYASS;Lo;0;L;;;;;N;;;;;
+CC75;HANGUL SYLLABLE CYANG;Lo;0;L;;;;;N;;;;;
+CC76;HANGUL SYLLABLE CYAJ;Lo;0;L;;;;;N;;;;;
+CC77;HANGUL SYLLABLE CYAC;Lo;0;L;;;;;N;;;;;
+CC78;HANGUL SYLLABLE CYAK;Lo;0;L;;;;;N;;;;;
+CC79;HANGUL SYLLABLE CYAT;Lo;0;L;;;;;N;;;;;
+CC7A;HANGUL SYLLABLE CYAP;Lo;0;L;;;;;N;;;;;
+CC7B;HANGUL SYLLABLE CYAH;Lo;0;L;;;;;N;;;;;
+CC7C;HANGUL SYLLABLE CYAE;Lo;0;L;;;;;N;;;;;
+CC7D;HANGUL SYLLABLE CYAEG;Lo;0;L;;;;;N;;;;;
+CC7E;HANGUL SYLLABLE CYAEGG;Lo;0;L;;;;;N;;;;;
+CC7F;HANGUL SYLLABLE CYAEGS;Lo;0;L;;;;;N;;;;;
+CC80;HANGUL SYLLABLE CYAEN;Lo;0;L;;;;;N;;;;;
+CC81;HANGUL SYLLABLE CYAENI;Lo;0;L;;;;;N;;;;;
+CC82;HANGUL SYLLABLE CYAENH;Lo;0;L;;;;;N;;;;;
+CC83;HANGUL SYLLABLE CYAED;Lo;0;L;;;;;N;;;;;
+CC84;HANGUL SYLLABLE CYAEL;Lo;0;L;;;;;N;;;;;
+CC85;HANGUL SYLLABLE CYAELG;Lo;0;L;;;;;N;;;;;
+CC86;HANGUL SYLLABLE CYAELM;Lo;0;L;;;;;N;;;;;
+CC87;HANGUL SYLLABLE CYAELB;Lo;0;L;;;;;N;;;;;
+CC88;HANGUL SYLLABLE CYAELS;Lo;0;L;;;;;N;;;;;
+CC89;HANGUL SYLLABLE CYAELT;Lo;0;L;;;;;N;;;;;
+CC8A;HANGUL SYLLABLE CYAELP;Lo;0;L;;;;;N;;;;;
+CC8B;HANGUL SYLLABLE CYAELH;Lo;0;L;;;;;N;;;;;
+CC8C;HANGUL SYLLABLE CYAEM;Lo;0;L;;;;;N;;;;;
+CC8D;HANGUL SYLLABLE CYAEB;Lo;0;L;;;;;N;;;;;
+CC8E;HANGUL SYLLABLE CYAEBS;Lo;0;L;;;;;N;;;;;
+CC8F;HANGUL SYLLABLE CYAES;Lo;0;L;;;;;N;;;;;
+CC90;HANGUL SYLLABLE CYAESS;Lo;0;L;;;;;N;;;;;
+CC91;HANGUL SYLLABLE CYAENG;Lo;0;L;;;;;N;;;;;
+CC92;HANGUL SYLLABLE CYAEJ;Lo;0;L;;;;;N;;;;;
+CC93;HANGUL SYLLABLE CYAEC;Lo;0;L;;;;;N;;;;;
+CC94;HANGUL SYLLABLE CYAEK;Lo;0;L;;;;;N;;;;;
+CC95;HANGUL SYLLABLE CYAET;Lo;0;L;;;;;N;;;;;
+CC96;HANGUL SYLLABLE CYAEP;Lo;0;L;;;;;N;;;;;
+CC97;HANGUL SYLLABLE CYAEH;Lo;0;L;;;;;N;;;;;
+CC98;HANGUL SYLLABLE CEO;Lo;0;L;;;;;N;;;;;
+CC99;HANGUL SYLLABLE CEOG;Lo;0;L;;;;;N;;;;;
+CC9A;HANGUL SYLLABLE CEOGG;Lo;0;L;;;;;N;;;;;
+CC9B;HANGUL SYLLABLE CEOGS;Lo;0;L;;;;;N;;;;;
+CC9C;HANGUL SYLLABLE CEON;Lo;0;L;;;;;N;;;;;
+CC9D;HANGUL SYLLABLE CEONI;Lo;0;L;;;;;N;;;;;
+CC9E;HANGUL SYLLABLE CEONH;Lo;0;L;;;;;N;;;;;
+CC9F;HANGUL SYLLABLE CEOD;Lo;0;L;;;;;N;;;;;
+CCA0;HANGUL SYLLABLE CEOL;Lo;0;L;;;;;N;;;;;
+CCA1;HANGUL SYLLABLE CEOLG;Lo;0;L;;;;;N;;;;;
+CCA2;HANGUL SYLLABLE CEOLM;Lo;0;L;;;;;N;;;;;
+CCA3;HANGUL SYLLABLE CEOLB;Lo;0;L;;;;;N;;;;;
+CCA4;HANGUL SYLLABLE CEOLS;Lo;0;L;;;;;N;;;;;
+CCA5;HANGUL SYLLABLE CEOLT;Lo;0;L;;;;;N;;;;;
+CCA6;HANGUL SYLLABLE CEOLP;Lo;0;L;;;;;N;;;;;
+CCA7;HANGUL SYLLABLE CEOLH;Lo;0;L;;;;;N;;;;;
+CCA8;HANGUL SYLLABLE CEOM;Lo;0;L;;;;;N;;;;;
+CCA9;HANGUL SYLLABLE CEOB;Lo;0;L;;;;;N;;;;;
+CCAA;HANGUL SYLLABLE CEOBS;Lo;0;L;;;;;N;;;;;
+CCAB;HANGUL SYLLABLE CEOS;Lo;0;L;;;;;N;;;;;
+CCAC;HANGUL SYLLABLE CEOSS;Lo;0;L;;;;;N;;;;;
+CCAD;HANGUL SYLLABLE CEONG;Lo;0;L;;;;;N;;;;;
+CCAE;HANGUL SYLLABLE CEOJ;Lo;0;L;;;;;N;;;;;
+CCAF;HANGUL SYLLABLE CEOC;Lo;0;L;;;;;N;;;;;
+CCB0;HANGUL SYLLABLE CEOK;Lo;0;L;;;;;N;;;;;
+CCB1;HANGUL SYLLABLE CEOT;Lo;0;L;;;;;N;;;;;
+CCB2;HANGUL SYLLABLE CEOP;Lo;0;L;;;;;N;;;;;
+CCB3;HANGUL SYLLABLE CEOH;Lo;0;L;;;;;N;;;;;
+CCB4;HANGUL SYLLABLE CE;Lo;0;L;;;;;N;;;;;
+CCB5;HANGUL SYLLABLE CEG;Lo;0;L;;;;;N;;;;;
+CCB6;HANGUL SYLLABLE CEGG;Lo;0;L;;;;;N;;;;;
+CCB7;HANGUL SYLLABLE CEGS;Lo;0;L;;;;;N;;;;;
+CCB8;HANGUL SYLLABLE CEN;Lo;0;L;;;;;N;;;;;
+CCB9;HANGUL SYLLABLE CENI;Lo;0;L;;;;;N;;;;;
+CCBA;HANGUL SYLLABLE CENH;Lo;0;L;;;;;N;;;;;
+CCBB;HANGUL SYLLABLE CED;Lo;0;L;;;;;N;;;;;
+CCBC;HANGUL SYLLABLE CEL;Lo;0;L;;;;;N;;;;;
+CCBD;HANGUL SYLLABLE CELG;Lo;0;L;;;;;N;;;;;
+CCBE;HANGUL SYLLABLE CELM;Lo;0;L;;;;;N;;;;;
+CCBF;HANGUL SYLLABLE CELB;Lo;0;L;;;;;N;;;;;
+CCC0;HANGUL SYLLABLE CELS;Lo;0;L;;;;;N;;;;;
+CCC1;HANGUL SYLLABLE CELT;Lo;0;L;;;;;N;;;;;
+CCC2;HANGUL SYLLABLE CELP;Lo;0;L;;;;;N;;;;;
+CCC3;HANGUL SYLLABLE CELH;Lo;0;L;;;;;N;;;;;
+CCC4;HANGUL SYLLABLE CEM;Lo;0;L;;;;;N;;;;;
+CCC5;HANGUL SYLLABLE CEB;Lo;0;L;;;;;N;;;;;
+CCC6;HANGUL SYLLABLE CEBS;Lo;0;L;;;;;N;;;;;
+CCC7;HANGUL SYLLABLE CES;Lo;0;L;;;;;N;;;;;
+CCC8;HANGUL SYLLABLE CESS;Lo;0;L;;;;;N;;;;;
+CCC9;HANGUL SYLLABLE CENG;Lo;0;L;;;;;N;;;;;
+CCCA;HANGUL SYLLABLE CEJ;Lo;0;L;;;;;N;;;;;
+CCCB;HANGUL SYLLABLE CEC;Lo;0;L;;;;;N;;;;;
+CCCC;HANGUL SYLLABLE CEK;Lo;0;L;;;;;N;;;;;
+CCCD;HANGUL SYLLABLE CET;Lo;0;L;;;;;N;;;;;
+CCCE;HANGUL SYLLABLE CEP;Lo;0;L;;;;;N;;;;;
+CCCF;HANGUL SYLLABLE CEH;Lo;0;L;;;;;N;;;;;
+CCD0;HANGUL SYLLABLE CYEO;Lo;0;L;;;;;N;;;;;
+CCD1;HANGUL SYLLABLE CYEOG;Lo;0;L;;;;;N;;;;;
+CCD2;HANGUL SYLLABLE CYEOGG;Lo;0;L;;;;;N;;;;;
+CCD3;HANGUL SYLLABLE CYEOGS;Lo;0;L;;;;;N;;;;;
+CCD4;HANGUL SYLLABLE CYEON;Lo;0;L;;;;;N;;;;;
+CCD5;HANGUL SYLLABLE CYEONI;Lo;0;L;;;;;N;;;;;
+CCD6;HANGUL SYLLABLE CYEONH;Lo;0;L;;;;;N;;;;;
+CCD7;HANGUL SYLLABLE CYEOD;Lo;0;L;;;;;N;;;;;
+CCD8;HANGUL SYLLABLE CYEOL;Lo;0;L;;;;;N;;;;;
+CCD9;HANGUL SYLLABLE CYEOLG;Lo;0;L;;;;;N;;;;;
+CCDA;HANGUL SYLLABLE CYEOLM;Lo;0;L;;;;;N;;;;;
+CCDB;HANGUL SYLLABLE CYEOLB;Lo;0;L;;;;;N;;;;;
+CCDC;HANGUL SYLLABLE CYEOLS;Lo;0;L;;;;;N;;;;;
+CCDD;HANGUL SYLLABLE CYEOLT;Lo;0;L;;;;;N;;;;;
+CCDE;HANGUL SYLLABLE CYEOLP;Lo;0;L;;;;;N;;;;;
+CCDF;HANGUL SYLLABLE CYEOLH;Lo;0;L;;;;;N;;;;;
+CCE0;HANGUL SYLLABLE CYEOM;Lo;0;L;;;;;N;;;;;
+CCE1;HANGUL SYLLABLE CYEOB;Lo;0;L;;;;;N;;;;;
+CCE2;HANGUL SYLLABLE CYEOBS;Lo;0;L;;;;;N;;;;;
+CCE3;HANGUL SYLLABLE CYEOS;Lo;0;L;;;;;N;;;;;
+CCE4;HANGUL SYLLABLE CYEOSS;Lo;0;L;;;;;N;;;;;
+CCE5;HANGUL SYLLABLE CYEONG;Lo;0;L;;;;;N;;;;;
+CCE6;HANGUL SYLLABLE CYEOJ;Lo;0;L;;;;;N;;;;;
+CCE7;HANGUL SYLLABLE CYEOC;Lo;0;L;;;;;N;;;;;
+CCE8;HANGUL SYLLABLE CYEOK;Lo;0;L;;;;;N;;;;;
+CCE9;HANGUL SYLLABLE CYEOT;Lo;0;L;;;;;N;;;;;
+CCEA;HANGUL SYLLABLE CYEOP;Lo;0;L;;;;;N;;;;;
+CCEB;HANGUL SYLLABLE CYEOH;Lo;0;L;;;;;N;;;;;
+CCEC;HANGUL SYLLABLE CYE;Lo;0;L;;;;;N;;;;;
+CCED;HANGUL SYLLABLE CYEG;Lo;0;L;;;;;N;;;;;
+CCEE;HANGUL SYLLABLE CYEGG;Lo;0;L;;;;;N;;;;;
+CCEF;HANGUL SYLLABLE CYEGS;Lo;0;L;;;;;N;;;;;
+CCF0;HANGUL SYLLABLE CYEN;Lo;0;L;;;;;N;;;;;
+CCF1;HANGUL SYLLABLE CYENI;Lo;0;L;;;;;N;;;;;
+CCF2;HANGUL SYLLABLE CYENH;Lo;0;L;;;;;N;;;;;
+CCF3;HANGUL SYLLABLE CYED;Lo;0;L;;;;;N;;;;;
+CCF4;HANGUL SYLLABLE CYEL;Lo;0;L;;;;;N;;;;;
+CCF5;HANGUL SYLLABLE CYELG;Lo;0;L;;;;;N;;;;;
+CCF6;HANGUL SYLLABLE CYELM;Lo;0;L;;;;;N;;;;;
+CCF7;HANGUL SYLLABLE CYELB;Lo;0;L;;;;;N;;;;;
+CCF8;HANGUL SYLLABLE CYELS;Lo;0;L;;;;;N;;;;;
+CCF9;HANGUL SYLLABLE CYELT;Lo;0;L;;;;;N;;;;;
+CCFA;HANGUL SYLLABLE CYELP;Lo;0;L;;;;;N;;;;;
+CCFB;HANGUL SYLLABLE CYELH;Lo;0;L;;;;;N;;;;;
+CCFC;HANGUL SYLLABLE CYEM;Lo;0;L;;;;;N;;;;;
+CCFD;HANGUL SYLLABLE CYEB;Lo;0;L;;;;;N;;;;;
+CCFE;HANGUL SYLLABLE CYEBS;Lo;0;L;;;;;N;;;;;
+CCFF;HANGUL SYLLABLE CYES;Lo;0;L;;;;;N;;;;;
+CD00;HANGUL SYLLABLE CYESS;Lo;0;L;;;;;N;;;;;
+CD01;HANGUL SYLLABLE CYENG;Lo;0;L;;;;;N;;;;;
+CD02;HANGUL SYLLABLE CYEJ;Lo;0;L;;;;;N;;;;;
+CD03;HANGUL SYLLABLE CYEC;Lo;0;L;;;;;N;;;;;
+CD04;HANGUL SYLLABLE CYEK;Lo;0;L;;;;;N;;;;;
+CD05;HANGUL SYLLABLE CYET;Lo;0;L;;;;;N;;;;;
+CD06;HANGUL SYLLABLE CYEP;Lo;0;L;;;;;N;;;;;
+CD07;HANGUL SYLLABLE CYEH;Lo;0;L;;;;;N;;;;;
+CD08;HANGUL SYLLABLE CO;Lo;0;L;;;;;N;;;;;
+CD09;HANGUL SYLLABLE COG;Lo;0;L;;;;;N;;;;;
+CD0A;HANGUL SYLLABLE COGG;Lo;0;L;;;;;N;;;;;
+CD0B;HANGUL SYLLABLE COGS;Lo;0;L;;;;;N;;;;;
+CD0C;HANGUL SYLLABLE CON;Lo;0;L;;;;;N;;;;;
+CD0D;HANGUL SYLLABLE CONI;Lo;0;L;;;;;N;;;;;
+CD0E;HANGUL SYLLABLE CONH;Lo;0;L;;;;;N;;;;;
+CD0F;HANGUL SYLLABLE COD;Lo;0;L;;;;;N;;;;;
+CD10;HANGUL SYLLABLE COL;Lo;0;L;;;;;N;;;;;
+CD11;HANGUL SYLLABLE COLG;Lo;0;L;;;;;N;;;;;
+CD12;HANGUL SYLLABLE COLM;Lo;0;L;;;;;N;;;;;
+CD13;HANGUL SYLLABLE COLB;Lo;0;L;;;;;N;;;;;
+CD14;HANGUL SYLLABLE COLS;Lo;0;L;;;;;N;;;;;
+CD15;HANGUL SYLLABLE COLT;Lo;0;L;;;;;N;;;;;
+CD16;HANGUL SYLLABLE COLP;Lo;0;L;;;;;N;;;;;
+CD17;HANGUL SYLLABLE COLH;Lo;0;L;;;;;N;;;;;
+CD18;HANGUL SYLLABLE COM;Lo;0;L;;;;;N;;;;;
+CD19;HANGUL SYLLABLE COB;Lo;0;L;;;;;N;;;;;
+CD1A;HANGUL SYLLABLE COBS;Lo;0;L;;;;;N;;;;;
+CD1B;HANGUL SYLLABLE COS;Lo;0;L;;;;;N;;;;;
+CD1C;HANGUL SYLLABLE COSS;Lo;0;L;;;;;N;;;;;
+CD1D;HANGUL SYLLABLE CONG;Lo;0;L;;;;;N;;;;;
+CD1E;HANGUL SYLLABLE COJ;Lo;0;L;;;;;N;;;;;
+CD1F;HANGUL SYLLABLE COC;Lo;0;L;;;;;N;;;;;
+CD20;HANGUL SYLLABLE COK;Lo;0;L;;;;;N;;;;;
+CD21;HANGUL SYLLABLE COT;Lo;0;L;;;;;N;;;;;
+CD22;HANGUL SYLLABLE COP;Lo;0;L;;;;;N;;;;;
+CD23;HANGUL SYLLABLE COH;Lo;0;L;;;;;N;;;;;
+CD24;HANGUL SYLLABLE CWA;Lo;0;L;;;;;N;;;;;
+CD25;HANGUL SYLLABLE CWAG;Lo;0;L;;;;;N;;;;;
+CD26;HANGUL SYLLABLE CWAGG;Lo;0;L;;;;;N;;;;;
+CD27;HANGUL SYLLABLE CWAGS;Lo;0;L;;;;;N;;;;;
+CD28;HANGUL SYLLABLE CWAN;Lo;0;L;;;;;N;;;;;
+CD29;HANGUL SYLLABLE CWANI;Lo;0;L;;;;;N;;;;;
+CD2A;HANGUL SYLLABLE CWANH;Lo;0;L;;;;;N;;;;;
+CD2B;HANGUL SYLLABLE CWAD;Lo;0;L;;;;;N;;;;;
+CD2C;HANGUL SYLLABLE CWAL;Lo;0;L;;;;;N;;;;;
+CD2D;HANGUL SYLLABLE CWALG;Lo;0;L;;;;;N;;;;;
+CD2E;HANGUL SYLLABLE CWALM;Lo;0;L;;;;;N;;;;;
+CD2F;HANGUL SYLLABLE CWALB;Lo;0;L;;;;;N;;;;;
+CD30;HANGUL SYLLABLE CWALS;Lo;0;L;;;;;N;;;;;
+CD31;HANGUL SYLLABLE CWALT;Lo;0;L;;;;;N;;;;;
+CD32;HANGUL SYLLABLE CWALP;Lo;0;L;;;;;N;;;;;
+CD33;HANGUL SYLLABLE CWALH;Lo;0;L;;;;;N;;;;;
+CD34;HANGUL SYLLABLE CWAM;Lo;0;L;;;;;N;;;;;
+CD35;HANGUL SYLLABLE CWAB;Lo;0;L;;;;;N;;;;;
+CD36;HANGUL SYLLABLE CWABS;Lo;0;L;;;;;N;;;;;
+CD37;HANGUL SYLLABLE CWAS;Lo;0;L;;;;;N;;;;;
+CD38;HANGUL SYLLABLE CWASS;Lo;0;L;;;;;N;;;;;
+CD39;HANGUL SYLLABLE CWANG;Lo;0;L;;;;;N;;;;;
+CD3A;HANGUL SYLLABLE CWAJ;Lo;0;L;;;;;N;;;;;
+CD3B;HANGUL SYLLABLE CWAC;Lo;0;L;;;;;N;;;;;
+CD3C;HANGUL SYLLABLE CWAK;Lo;0;L;;;;;N;;;;;
+CD3D;HANGUL SYLLABLE CWAT;Lo;0;L;;;;;N;;;;;
+CD3E;HANGUL SYLLABLE CWAP;Lo;0;L;;;;;N;;;;;
+CD3F;HANGUL SYLLABLE CWAH;Lo;0;L;;;;;N;;;;;
+CD40;HANGUL SYLLABLE CWAE;Lo;0;L;;;;;N;;;;;
+CD41;HANGUL SYLLABLE CWAEG;Lo;0;L;;;;;N;;;;;
+CD42;HANGUL SYLLABLE CWAEGG;Lo;0;L;;;;;N;;;;;
+CD43;HANGUL SYLLABLE CWAEGS;Lo;0;L;;;;;N;;;;;
+CD44;HANGUL SYLLABLE CWAEN;Lo;0;L;;;;;N;;;;;
+CD45;HANGUL SYLLABLE CWAENI;Lo;0;L;;;;;N;;;;;
+CD46;HANGUL SYLLABLE CWAENH;Lo;0;L;;;;;N;;;;;
+CD47;HANGUL SYLLABLE CWAED;Lo;0;L;;;;;N;;;;;
+CD48;HANGUL SYLLABLE CWAEL;Lo;0;L;;;;;N;;;;;
+CD49;HANGUL SYLLABLE CWAELG;Lo;0;L;;;;;N;;;;;
+CD4A;HANGUL SYLLABLE CWAELM;Lo;0;L;;;;;N;;;;;
+CD4B;HANGUL SYLLABLE CWAELB;Lo;0;L;;;;;N;;;;;
+CD4C;HANGUL SYLLABLE CWAELS;Lo;0;L;;;;;N;;;;;
+CD4D;HANGUL SYLLABLE CWAELT;Lo;0;L;;;;;N;;;;;
+CD4E;HANGUL SYLLABLE CWAELP;Lo;0;L;;;;;N;;;;;
+CD4F;HANGUL SYLLABLE CWAELH;Lo;0;L;;;;;N;;;;;
+CD50;HANGUL SYLLABLE CWAEM;Lo;0;L;;;;;N;;;;;
+CD51;HANGUL SYLLABLE CWAEB;Lo;0;L;;;;;N;;;;;
+CD52;HANGUL SYLLABLE CWAEBS;Lo;0;L;;;;;N;;;;;
+CD53;HANGUL SYLLABLE CWAES;Lo;0;L;;;;;N;;;;;
+CD54;HANGUL SYLLABLE CWAESS;Lo;0;L;;;;;N;;;;;
+CD55;HANGUL SYLLABLE CWAENG;Lo;0;L;;;;;N;;;;;
+CD56;HANGUL SYLLABLE CWAEJ;Lo;0;L;;;;;N;;;;;
+CD57;HANGUL SYLLABLE CWAEC;Lo;0;L;;;;;N;;;;;
+CD58;HANGUL SYLLABLE CWAEK;Lo;0;L;;;;;N;;;;;
+CD59;HANGUL SYLLABLE CWAET;Lo;0;L;;;;;N;;;;;
+CD5A;HANGUL SYLLABLE CWAEP;Lo;0;L;;;;;N;;;;;
+CD5B;HANGUL SYLLABLE CWAEH;Lo;0;L;;;;;N;;;;;
+CD5C;HANGUL SYLLABLE COE;Lo;0;L;;;;;N;;;;;
+CD5D;HANGUL SYLLABLE COEG;Lo;0;L;;;;;N;;;;;
+CD5E;HANGUL SYLLABLE COEGG;Lo;0;L;;;;;N;;;;;
+CD5F;HANGUL SYLLABLE COEGS;Lo;0;L;;;;;N;;;;;
+CD60;HANGUL SYLLABLE COEN;Lo;0;L;;;;;N;;;;;
+CD61;HANGUL SYLLABLE COENI;Lo;0;L;;;;;N;;;;;
+CD62;HANGUL SYLLABLE COENH;Lo;0;L;;;;;N;;;;;
+CD63;HANGUL SYLLABLE COED;Lo;0;L;;;;;N;;;;;
+CD64;HANGUL SYLLABLE COEL;Lo;0;L;;;;;N;;;;;
+CD65;HANGUL SYLLABLE COELG;Lo;0;L;;;;;N;;;;;
+CD66;HANGUL SYLLABLE COELM;Lo;0;L;;;;;N;;;;;
+CD67;HANGUL SYLLABLE COELB;Lo;0;L;;;;;N;;;;;
+CD68;HANGUL SYLLABLE COELS;Lo;0;L;;;;;N;;;;;
+CD69;HANGUL SYLLABLE COELT;Lo;0;L;;;;;N;;;;;
+CD6A;HANGUL SYLLABLE COELP;Lo;0;L;;;;;N;;;;;
+CD6B;HANGUL SYLLABLE COELH;Lo;0;L;;;;;N;;;;;
+CD6C;HANGUL SYLLABLE COEM;Lo;0;L;;;;;N;;;;;
+CD6D;HANGUL SYLLABLE COEB;Lo;0;L;;;;;N;;;;;
+CD6E;HANGUL SYLLABLE COEBS;Lo;0;L;;;;;N;;;;;
+CD6F;HANGUL SYLLABLE COES;Lo;0;L;;;;;N;;;;;
+CD70;HANGUL SYLLABLE COESS;Lo;0;L;;;;;N;;;;;
+CD71;HANGUL SYLLABLE COENG;Lo;0;L;;;;;N;;;;;
+CD72;HANGUL SYLLABLE COEJ;Lo;0;L;;;;;N;;;;;
+CD73;HANGUL SYLLABLE COEC;Lo;0;L;;;;;N;;;;;
+CD74;HANGUL SYLLABLE COEK;Lo;0;L;;;;;N;;;;;
+CD75;HANGUL SYLLABLE COET;Lo;0;L;;;;;N;;;;;
+CD76;HANGUL SYLLABLE COEP;Lo;0;L;;;;;N;;;;;
+CD77;HANGUL SYLLABLE COEH;Lo;0;L;;;;;N;;;;;
+CD78;HANGUL SYLLABLE CYO;Lo;0;L;;;;;N;;;;;
+CD79;HANGUL SYLLABLE CYOG;Lo;0;L;;;;;N;;;;;
+CD7A;HANGUL SYLLABLE CYOGG;Lo;0;L;;;;;N;;;;;
+CD7B;HANGUL SYLLABLE CYOGS;Lo;0;L;;;;;N;;;;;
+CD7C;HANGUL SYLLABLE CYON;Lo;0;L;;;;;N;;;;;
+CD7D;HANGUL SYLLABLE CYONI;Lo;0;L;;;;;N;;;;;
+CD7E;HANGUL SYLLABLE CYONH;Lo;0;L;;;;;N;;;;;
+CD7F;HANGUL SYLLABLE CYOD;Lo;0;L;;;;;N;;;;;
+CD80;HANGUL SYLLABLE CYOL;Lo;0;L;;;;;N;;;;;
+CD81;HANGUL SYLLABLE CYOLG;Lo;0;L;;;;;N;;;;;
+CD82;HANGUL SYLLABLE CYOLM;Lo;0;L;;;;;N;;;;;
+CD83;HANGUL SYLLABLE CYOLB;Lo;0;L;;;;;N;;;;;
+CD84;HANGUL SYLLABLE CYOLS;Lo;0;L;;;;;N;;;;;
+CD85;HANGUL SYLLABLE CYOLT;Lo;0;L;;;;;N;;;;;
+CD86;HANGUL SYLLABLE CYOLP;Lo;0;L;;;;;N;;;;;
+CD87;HANGUL SYLLABLE CYOLH;Lo;0;L;;;;;N;;;;;
+CD88;HANGUL SYLLABLE CYOM;Lo;0;L;;;;;N;;;;;
+CD89;HANGUL SYLLABLE CYOB;Lo;0;L;;;;;N;;;;;
+CD8A;HANGUL SYLLABLE CYOBS;Lo;0;L;;;;;N;;;;;
+CD8B;HANGUL SYLLABLE CYOS;Lo;0;L;;;;;N;;;;;
+CD8C;HANGUL SYLLABLE CYOSS;Lo;0;L;;;;;N;;;;;
+CD8D;HANGUL SYLLABLE CYONG;Lo;0;L;;;;;N;;;;;
+CD8E;HANGUL SYLLABLE CYOJ;Lo;0;L;;;;;N;;;;;
+CD8F;HANGUL SYLLABLE CYOC;Lo;0;L;;;;;N;;;;;
+CD90;HANGUL SYLLABLE CYOK;Lo;0;L;;;;;N;;;;;
+CD91;HANGUL SYLLABLE CYOT;Lo;0;L;;;;;N;;;;;
+CD92;HANGUL SYLLABLE CYOP;Lo;0;L;;;;;N;;;;;
+CD93;HANGUL SYLLABLE CYOH;Lo;0;L;;;;;N;;;;;
+CD94;HANGUL SYLLABLE CU;Lo;0;L;;;;;N;;;;;
+CD95;HANGUL SYLLABLE CUG;Lo;0;L;;;;;N;;;;;
+CD96;HANGUL SYLLABLE CUGG;Lo;0;L;;;;;N;;;;;
+CD97;HANGUL SYLLABLE CUGS;Lo;0;L;;;;;N;;;;;
+CD98;HANGUL SYLLABLE CUN;Lo;0;L;;;;;N;;;;;
+CD99;HANGUL SYLLABLE CUNI;Lo;0;L;;;;;N;;;;;
+CD9A;HANGUL SYLLABLE CUNH;Lo;0;L;;;;;N;;;;;
+CD9B;HANGUL SYLLABLE CUD;Lo;0;L;;;;;N;;;;;
+CD9C;HANGUL SYLLABLE CUL;Lo;0;L;;;;;N;;;;;
+CD9D;HANGUL SYLLABLE CULG;Lo;0;L;;;;;N;;;;;
+CD9E;HANGUL SYLLABLE CULM;Lo;0;L;;;;;N;;;;;
+CD9F;HANGUL SYLLABLE CULB;Lo;0;L;;;;;N;;;;;
+CDA0;HANGUL SYLLABLE CULS;Lo;0;L;;;;;N;;;;;
+CDA1;HANGUL SYLLABLE CULT;Lo;0;L;;;;;N;;;;;
+CDA2;HANGUL SYLLABLE CULP;Lo;0;L;;;;;N;;;;;
+CDA3;HANGUL SYLLABLE CULH;Lo;0;L;;;;;N;;;;;
+CDA4;HANGUL SYLLABLE CUM;Lo;0;L;;;;;N;;;;;
+CDA5;HANGUL SYLLABLE CUB;Lo;0;L;;;;;N;;;;;
+CDA6;HANGUL SYLLABLE CUBS;Lo;0;L;;;;;N;;;;;
+CDA7;HANGUL SYLLABLE CUS;Lo;0;L;;;;;N;;;;;
+CDA8;HANGUL SYLLABLE CUSS;Lo;0;L;;;;;N;;;;;
+CDA9;HANGUL SYLLABLE CUNG;Lo;0;L;;;;;N;;;;;
+CDAA;HANGUL SYLLABLE CUJ;Lo;0;L;;;;;N;;;;;
+CDAB;HANGUL SYLLABLE CUC;Lo;0;L;;;;;N;;;;;
+CDAC;HANGUL SYLLABLE CUK;Lo;0;L;;;;;N;;;;;
+CDAD;HANGUL SYLLABLE CUT;Lo;0;L;;;;;N;;;;;
+CDAE;HANGUL SYLLABLE CUP;Lo;0;L;;;;;N;;;;;
+CDAF;HANGUL SYLLABLE CUH;Lo;0;L;;;;;N;;;;;
+CDB0;HANGUL SYLLABLE CWEO;Lo;0;L;;;;;N;;;;;
+CDB1;HANGUL SYLLABLE CWEOG;Lo;0;L;;;;;N;;;;;
+CDB2;HANGUL SYLLABLE CWEOGG;Lo;0;L;;;;;N;;;;;
+CDB3;HANGUL SYLLABLE CWEOGS;Lo;0;L;;;;;N;;;;;
+CDB4;HANGUL SYLLABLE CWEON;Lo;0;L;;;;;N;;;;;
+CDB5;HANGUL SYLLABLE CWEONI;Lo;0;L;;;;;N;;;;;
+CDB6;HANGUL SYLLABLE CWEONH;Lo;0;L;;;;;N;;;;;
+CDB7;HANGUL SYLLABLE CWEOD;Lo;0;L;;;;;N;;;;;
+CDB8;HANGUL SYLLABLE CWEOL;Lo;0;L;;;;;N;;;;;
+CDB9;HANGUL SYLLABLE CWEOLG;Lo;0;L;;;;;N;;;;;
+CDBA;HANGUL SYLLABLE CWEOLM;Lo;0;L;;;;;N;;;;;
+CDBB;HANGUL SYLLABLE CWEOLB;Lo;0;L;;;;;N;;;;;
+CDBC;HANGUL SYLLABLE CWEOLS;Lo;0;L;;;;;N;;;;;
+CDBD;HANGUL SYLLABLE CWEOLT;Lo;0;L;;;;;N;;;;;
+CDBE;HANGUL SYLLABLE CWEOLP;Lo;0;L;;;;;N;;;;;
+CDBF;HANGUL SYLLABLE CWEOLH;Lo;0;L;;;;;N;;;;;
+CDC0;HANGUL SYLLABLE CWEOM;Lo;0;L;;;;;N;;;;;
+CDC1;HANGUL SYLLABLE CWEOB;Lo;0;L;;;;;N;;;;;
+CDC2;HANGUL SYLLABLE CWEOBS;Lo;0;L;;;;;N;;;;;
+CDC3;HANGUL SYLLABLE CWEOS;Lo;0;L;;;;;N;;;;;
+CDC4;HANGUL SYLLABLE CWEOSS;Lo;0;L;;;;;N;;;;;
+CDC5;HANGUL SYLLABLE CWEONG;Lo;0;L;;;;;N;;;;;
+CDC6;HANGUL SYLLABLE CWEOJ;Lo;0;L;;;;;N;;;;;
+CDC7;HANGUL SYLLABLE CWEOC;Lo;0;L;;;;;N;;;;;
+CDC8;HANGUL SYLLABLE CWEOK;Lo;0;L;;;;;N;;;;;
+CDC9;HANGUL SYLLABLE CWEOT;Lo;0;L;;;;;N;;;;;
+CDCA;HANGUL SYLLABLE CWEOP;Lo;0;L;;;;;N;;;;;
+CDCB;HANGUL SYLLABLE CWEOH;Lo;0;L;;;;;N;;;;;
+CDCC;HANGUL SYLLABLE CWE;Lo;0;L;;;;;N;;;;;
+CDCD;HANGUL SYLLABLE CWEG;Lo;0;L;;;;;N;;;;;
+CDCE;HANGUL SYLLABLE CWEGG;Lo;0;L;;;;;N;;;;;
+CDCF;HANGUL SYLLABLE CWEGS;Lo;0;L;;;;;N;;;;;
+CDD0;HANGUL SYLLABLE CWEN;Lo;0;L;;;;;N;;;;;
+CDD1;HANGUL SYLLABLE CWENI;Lo;0;L;;;;;N;;;;;
+CDD2;HANGUL SYLLABLE CWENH;Lo;0;L;;;;;N;;;;;
+CDD3;HANGUL SYLLABLE CWED;Lo;0;L;;;;;N;;;;;
+CDD4;HANGUL SYLLABLE CWEL;Lo;0;L;;;;;N;;;;;
+CDD5;HANGUL SYLLABLE CWELG;Lo;0;L;;;;;N;;;;;
+CDD6;HANGUL SYLLABLE CWELM;Lo;0;L;;;;;N;;;;;
+CDD7;HANGUL SYLLABLE CWELB;Lo;0;L;;;;;N;;;;;
+CDD8;HANGUL SYLLABLE CWELS;Lo;0;L;;;;;N;;;;;
+CDD9;HANGUL SYLLABLE CWELT;Lo;0;L;;;;;N;;;;;
+CDDA;HANGUL SYLLABLE CWELP;Lo;0;L;;;;;N;;;;;
+CDDB;HANGUL SYLLABLE CWELH;Lo;0;L;;;;;N;;;;;
+CDDC;HANGUL SYLLABLE CWEM;Lo;0;L;;;;;N;;;;;
+CDDD;HANGUL SYLLABLE CWEB;Lo;0;L;;;;;N;;;;;
+CDDE;HANGUL SYLLABLE CWEBS;Lo;0;L;;;;;N;;;;;
+CDDF;HANGUL SYLLABLE CWES;Lo;0;L;;;;;N;;;;;
+CDE0;HANGUL SYLLABLE CWESS;Lo;0;L;;;;;N;;;;;
+CDE1;HANGUL SYLLABLE CWENG;Lo;0;L;;;;;N;;;;;
+CDE2;HANGUL SYLLABLE CWEJ;Lo;0;L;;;;;N;;;;;
+CDE3;HANGUL SYLLABLE CWEC;Lo;0;L;;;;;N;;;;;
+CDE4;HANGUL SYLLABLE CWEK;Lo;0;L;;;;;N;;;;;
+CDE5;HANGUL SYLLABLE CWET;Lo;0;L;;;;;N;;;;;
+CDE6;HANGUL SYLLABLE CWEP;Lo;0;L;;;;;N;;;;;
+CDE7;HANGUL SYLLABLE CWEH;Lo;0;L;;;;;N;;;;;
+CDE8;HANGUL SYLLABLE CWI;Lo;0;L;;;;;N;;;;;
+CDE9;HANGUL SYLLABLE CWIG;Lo;0;L;;;;;N;;;;;
+CDEA;HANGUL SYLLABLE CWIGG;Lo;0;L;;;;;N;;;;;
+CDEB;HANGUL SYLLABLE CWIGS;Lo;0;L;;;;;N;;;;;
+CDEC;HANGUL SYLLABLE CWIN;Lo;0;L;;;;;N;;;;;
+CDED;HANGUL SYLLABLE CWINI;Lo;0;L;;;;;N;;;;;
+CDEE;HANGUL SYLLABLE CWINH;Lo;0;L;;;;;N;;;;;
+CDEF;HANGUL SYLLABLE CWID;Lo;0;L;;;;;N;;;;;
+CDF0;HANGUL SYLLABLE CWIL;Lo;0;L;;;;;N;;;;;
+CDF1;HANGUL SYLLABLE CWILG;Lo;0;L;;;;;N;;;;;
+CDF2;HANGUL SYLLABLE CWILM;Lo;0;L;;;;;N;;;;;
+CDF3;HANGUL SYLLABLE CWILB;Lo;0;L;;;;;N;;;;;
+CDF4;HANGUL SYLLABLE CWILS;Lo;0;L;;;;;N;;;;;
+CDF5;HANGUL SYLLABLE CWILT;Lo;0;L;;;;;N;;;;;
+CDF6;HANGUL SYLLABLE CWILP;Lo;0;L;;;;;N;;;;;
+CDF7;HANGUL SYLLABLE CWILH;Lo;0;L;;;;;N;;;;;
+CDF8;HANGUL SYLLABLE CWIM;Lo;0;L;;;;;N;;;;;
+CDF9;HANGUL SYLLABLE CWIB;Lo;0;L;;;;;N;;;;;
+CDFA;HANGUL SYLLABLE CWIBS;Lo;0;L;;;;;N;;;;;
+CDFB;HANGUL SYLLABLE CWIS;Lo;0;L;;;;;N;;;;;
+CDFC;HANGUL SYLLABLE CWISS;Lo;0;L;;;;;N;;;;;
+CDFD;HANGUL SYLLABLE CWING;Lo;0;L;;;;;N;;;;;
+CDFE;HANGUL SYLLABLE CWIJ;Lo;0;L;;;;;N;;;;;
+CDFF;HANGUL SYLLABLE CWIC;Lo;0;L;;;;;N;;;;;
+CE00;HANGUL SYLLABLE CWIK;Lo;0;L;;;;;N;;;;;
+CE01;HANGUL SYLLABLE CWIT;Lo;0;L;;;;;N;;;;;
+CE02;HANGUL SYLLABLE CWIP;Lo;0;L;;;;;N;;;;;
+CE03;HANGUL SYLLABLE CWIH;Lo;0;L;;;;;N;;;;;
+CE04;HANGUL SYLLABLE CYU;Lo;0;L;;;;;N;;;;;
+CE05;HANGUL SYLLABLE CYUG;Lo;0;L;;;;;N;;;;;
+CE06;HANGUL SYLLABLE CYUGG;Lo;0;L;;;;;N;;;;;
+CE07;HANGUL SYLLABLE CYUGS;Lo;0;L;;;;;N;;;;;
+CE08;HANGUL SYLLABLE CYUN;Lo;0;L;;;;;N;;;;;
+CE09;HANGUL SYLLABLE CYUNI;Lo;0;L;;;;;N;;;;;
+CE0A;HANGUL SYLLABLE CYUNH;Lo;0;L;;;;;N;;;;;
+CE0B;HANGUL SYLLABLE CYUD;Lo;0;L;;;;;N;;;;;
+CE0C;HANGUL SYLLABLE CYUL;Lo;0;L;;;;;N;;;;;
+CE0D;HANGUL SYLLABLE CYULG;Lo;0;L;;;;;N;;;;;
+CE0E;HANGUL SYLLABLE CYULM;Lo;0;L;;;;;N;;;;;
+CE0F;HANGUL SYLLABLE CYULB;Lo;0;L;;;;;N;;;;;
+CE10;HANGUL SYLLABLE CYULS;Lo;0;L;;;;;N;;;;;
+CE11;HANGUL SYLLABLE CYULT;Lo;0;L;;;;;N;;;;;
+CE12;HANGUL SYLLABLE CYULP;Lo;0;L;;;;;N;;;;;
+CE13;HANGUL SYLLABLE CYULH;Lo;0;L;;;;;N;;;;;
+CE14;HANGUL SYLLABLE CYUM;Lo;0;L;;;;;N;;;;;
+CE15;HANGUL SYLLABLE CYUB;Lo;0;L;;;;;N;;;;;
+CE16;HANGUL SYLLABLE CYUBS;Lo;0;L;;;;;N;;;;;
+CE17;HANGUL SYLLABLE CYUS;Lo;0;L;;;;;N;;;;;
+CE18;HANGUL SYLLABLE CYUSS;Lo;0;L;;;;;N;;;;;
+CE19;HANGUL SYLLABLE CYUNG;Lo;0;L;;;;;N;;;;;
+CE1A;HANGUL SYLLABLE CYUJ;Lo;0;L;;;;;N;;;;;
+CE1B;HANGUL SYLLABLE CYUC;Lo;0;L;;;;;N;;;;;
+CE1C;HANGUL SYLLABLE CYUK;Lo;0;L;;;;;N;;;;;
+CE1D;HANGUL SYLLABLE CYUT;Lo;0;L;;;;;N;;;;;
+CE1E;HANGUL SYLLABLE CYUP;Lo;0;L;;;;;N;;;;;
+CE1F;HANGUL SYLLABLE CYUH;Lo;0;L;;;;;N;;;;;
+CE20;HANGUL SYLLABLE CEU;Lo;0;L;;;;;N;;;;;
+CE21;HANGUL SYLLABLE CEUG;Lo;0;L;;;;;N;;;;;
+CE22;HANGUL SYLLABLE CEUGG;Lo;0;L;;;;;N;;;;;
+CE23;HANGUL SYLLABLE CEUGS;Lo;0;L;;;;;N;;;;;
+CE24;HANGUL SYLLABLE CEUN;Lo;0;L;;;;;N;;;;;
+CE25;HANGUL SYLLABLE CEUNI;Lo;0;L;;;;;N;;;;;
+CE26;HANGUL SYLLABLE CEUNH;Lo;0;L;;;;;N;;;;;
+CE27;HANGUL SYLLABLE CEUD;Lo;0;L;;;;;N;;;;;
+CE28;HANGUL SYLLABLE CEUL;Lo;0;L;;;;;N;;;;;
+CE29;HANGUL SYLLABLE CEULG;Lo;0;L;;;;;N;;;;;
+CE2A;HANGUL SYLLABLE CEULM;Lo;0;L;;;;;N;;;;;
+CE2B;HANGUL SYLLABLE CEULB;Lo;0;L;;;;;N;;;;;
+CE2C;HANGUL SYLLABLE CEULS;Lo;0;L;;;;;N;;;;;
+CE2D;HANGUL SYLLABLE CEULT;Lo;0;L;;;;;N;;;;;
+CE2E;HANGUL SYLLABLE CEULP;Lo;0;L;;;;;N;;;;;
+CE2F;HANGUL SYLLABLE CEULH;Lo;0;L;;;;;N;;;;;
+CE30;HANGUL SYLLABLE CEUM;Lo;0;L;;;;;N;;;;;
+CE31;HANGUL SYLLABLE CEUB;Lo;0;L;;;;;N;;;;;
+CE32;HANGUL SYLLABLE CEUBS;Lo;0;L;;;;;N;;;;;
+CE33;HANGUL SYLLABLE CEUS;Lo;0;L;;;;;N;;;;;
+CE34;HANGUL SYLLABLE CEUSS;Lo;0;L;;;;;N;;;;;
+CE35;HANGUL SYLLABLE CEUNG;Lo;0;L;;;;;N;;;;;
+CE36;HANGUL SYLLABLE CEUJ;Lo;0;L;;;;;N;;;;;
+CE37;HANGUL SYLLABLE CEUC;Lo;0;L;;;;;N;;;;;
+CE38;HANGUL SYLLABLE CEUK;Lo;0;L;;;;;N;;;;;
+CE39;HANGUL SYLLABLE CEUT;Lo;0;L;;;;;N;;;;;
+CE3A;HANGUL SYLLABLE CEUP;Lo;0;L;;;;;N;;;;;
+CE3B;HANGUL SYLLABLE CEUH;Lo;0;L;;;;;N;;;;;
+CE3C;HANGUL SYLLABLE CYI;Lo;0;L;;;;;N;;;;;
+CE3D;HANGUL SYLLABLE CYIG;Lo;0;L;;;;;N;;;;;
+CE3E;HANGUL SYLLABLE CYIGG;Lo;0;L;;;;;N;;;;;
+CE3F;HANGUL SYLLABLE CYIGS;Lo;0;L;;;;;N;;;;;
+CE40;HANGUL SYLLABLE CYIN;Lo;0;L;;;;;N;;;;;
+CE41;HANGUL SYLLABLE CYINI;Lo;0;L;;;;;N;;;;;
+CE42;HANGUL SYLLABLE CYINH;Lo;0;L;;;;;N;;;;;
+CE43;HANGUL SYLLABLE CYID;Lo;0;L;;;;;N;;;;;
+CE44;HANGUL SYLLABLE CYIL;Lo;0;L;;;;;N;;;;;
+CE45;HANGUL SYLLABLE CYILG;Lo;0;L;;;;;N;;;;;
+CE46;HANGUL SYLLABLE CYILM;Lo;0;L;;;;;N;;;;;
+CE47;HANGUL SYLLABLE CYILB;Lo;0;L;;;;;N;;;;;
+CE48;HANGUL SYLLABLE CYILS;Lo;0;L;;;;;N;;;;;
+CE49;HANGUL SYLLABLE CYILT;Lo;0;L;;;;;N;;;;;
+CE4A;HANGUL SYLLABLE CYILP;Lo;0;L;;;;;N;;;;;
+CE4B;HANGUL SYLLABLE CYILH;Lo;0;L;;;;;N;;;;;
+CE4C;HANGUL SYLLABLE CYIM;Lo;0;L;;;;;N;;;;;
+CE4D;HANGUL SYLLABLE CYIB;Lo;0;L;;;;;N;;;;;
+CE4E;HANGUL SYLLABLE CYIBS;Lo;0;L;;;;;N;;;;;
+CE4F;HANGUL SYLLABLE CYIS;Lo;0;L;;;;;N;;;;;
+CE50;HANGUL SYLLABLE CYISS;Lo;0;L;;;;;N;;;;;
+CE51;HANGUL SYLLABLE CYING;Lo;0;L;;;;;N;;;;;
+CE52;HANGUL SYLLABLE CYIJ;Lo;0;L;;;;;N;;;;;
+CE53;HANGUL SYLLABLE CYIC;Lo;0;L;;;;;N;;;;;
+CE54;HANGUL SYLLABLE CYIK;Lo;0;L;;;;;N;;;;;
+CE55;HANGUL SYLLABLE CYIT;Lo;0;L;;;;;N;;;;;
+CE56;HANGUL SYLLABLE CYIP;Lo;0;L;;;;;N;;;;;
+CE57;HANGUL SYLLABLE CYIH;Lo;0;L;;;;;N;;;;;
+CE58;HANGUL SYLLABLE CI;Lo;0;L;;;;;N;;;;;
+CE59;HANGUL SYLLABLE CIG;Lo;0;L;;;;;N;;;;;
+CE5A;HANGUL SYLLABLE CIGG;Lo;0;L;;;;;N;;;;;
+CE5B;HANGUL SYLLABLE CIGS;Lo;0;L;;;;;N;;;;;
+CE5C;HANGUL SYLLABLE CIN;Lo;0;L;;;;;N;;;;;
+CE5D;HANGUL SYLLABLE CINI;Lo;0;L;;;;;N;;;;;
+CE5E;HANGUL SYLLABLE CINH;Lo;0;L;;;;;N;;;;;
+CE5F;HANGUL SYLLABLE CID;Lo;0;L;;;;;N;;;;;
+CE60;HANGUL SYLLABLE CIL;Lo;0;L;;;;;N;;;;;
+CE61;HANGUL SYLLABLE CILG;Lo;0;L;;;;;N;;;;;
+CE62;HANGUL SYLLABLE CILM;Lo;0;L;;;;;N;;;;;
+CE63;HANGUL SYLLABLE CILB;Lo;0;L;;;;;N;;;;;
+CE64;HANGUL SYLLABLE CILS;Lo;0;L;;;;;N;;;;;
+CE65;HANGUL SYLLABLE CILT;Lo;0;L;;;;;N;;;;;
+CE66;HANGUL SYLLABLE CILP;Lo;0;L;;;;;N;;;;;
+CE67;HANGUL SYLLABLE CILH;Lo;0;L;;;;;N;;;;;
+CE68;HANGUL SYLLABLE CIM;Lo;0;L;;;;;N;;;;;
+CE69;HANGUL SYLLABLE CIB;Lo;0;L;;;;;N;;;;;
+CE6A;HANGUL SYLLABLE CIBS;Lo;0;L;;;;;N;;;;;
+CE6B;HANGUL SYLLABLE CIS;Lo;0;L;;;;;N;;;;;
+CE6C;HANGUL SYLLABLE CISS;Lo;0;L;;;;;N;;;;;
+CE6D;HANGUL SYLLABLE CING;Lo;0;L;;;;;N;;;;;
+CE6E;HANGUL SYLLABLE CIJ;Lo;0;L;;;;;N;;;;;
+CE6F;HANGUL SYLLABLE CIC;Lo;0;L;;;;;N;;;;;
+CE70;HANGUL SYLLABLE CIK;Lo;0;L;;;;;N;;;;;
+CE71;HANGUL SYLLABLE CIT;Lo;0;L;;;;;N;;;;;
+CE72;HANGUL SYLLABLE CIP;Lo;0;L;;;;;N;;;;;
+CE73;HANGUL SYLLABLE CIH;Lo;0;L;;;;;N;;;;;
+CE74;HANGUL SYLLABLE KA;Lo;0;L;;;;;N;;;;;
+CE75;HANGUL SYLLABLE KAG;Lo;0;L;;;;;N;;;;;
+CE76;HANGUL SYLLABLE KAGG;Lo;0;L;;;;;N;;;;;
+CE77;HANGUL SYLLABLE KAGS;Lo;0;L;;;;;N;;;;;
+CE78;HANGUL SYLLABLE KAN;Lo;0;L;;;;;N;;;;;
+CE79;HANGUL SYLLABLE KANI;Lo;0;L;;;;;N;;;;;
+CE7A;HANGUL SYLLABLE KANH;Lo;0;L;;;;;N;;;;;
+CE7B;HANGUL SYLLABLE KAD;Lo;0;L;;;;;N;;;;;
+CE7C;HANGUL SYLLABLE KAL;Lo;0;L;;;;;N;;;;;
+CE7D;HANGUL SYLLABLE KALG;Lo;0;L;;;;;N;;;;;
+CE7E;HANGUL SYLLABLE KALM;Lo;0;L;;;;;N;;;;;
+CE7F;HANGUL SYLLABLE KALB;Lo;0;L;;;;;N;;;;;
+CE80;HANGUL SYLLABLE KALS;Lo;0;L;;;;;N;;;;;
+CE81;HANGUL SYLLABLE KALT;Lo;0;L;;;;;N;;;;;
+CE82;HANGUL SYLLABLE KALP;Lo;0;L;;;;;N;;;;;
+CE83;HANGUL SYLLABLE KALH;Lo;0;L;;;;;N;;;;;
+CE84;HANGUL SYLLABLE KAM;Lo;0;L;;;;;N;;;;;
+CE85;HANGUL SYLLABLE KAB;Lo;0;L;;;;;N;;;;;
+CE86;HANGUL SYLLABLE KABS;Lo;0;L;;;;;N;;;;;
+CE87;HANGUL SYLLABLE KAS;Lo;0;L;;;;;N;;;;;
+CE88;HANGUL SYLLABLE KASS;Lo;0;L;;;;;N;;;;;
+CE89;HANGUL SYLLABLE KANG;Lo;0;L;;;;;N;;;;;
+CE8A;HANGUL SYLLABLE KAJ;Lo;0;L;;;;;N;;;;;
+CE8B;HANGUL SYLLABLE KAC;Lo;0;L;;;;;N;;;;;
+CE8C;HANGUL SYLLABLE KAK;Lo;0;L;;;;;N;;;;;
+CE8D;HANGUL SYLLABLE KAT;Lo;0;L;;;;;N;;;;;
+CE8E;HANGUL SYLLABLE KAP;Lo;0;L;;;;;N;;;;;
+CE8F;HANGUL SYLLABLE KAH;Lo;0;L;;;;;N;;;;;
+CE90;HANGUL SYLLABLE KAE;Lo;0;L;;;;;N;;;;;
+CE91;HANGUL SYLLABLE KAEG;Lo;0;L;;;;;N;;;;;
+CE92;HANGUL SYLLABLE KAEGG;Lo;0;L;;;;;N;;;;;
+CE93;HANGUL SYLLABLE KAEGS;Lo;0;L;;;;;N;;;;;
+CE94;HANGUL SYLLABLE KAEN;Lo;0;L;;;;;N;;;;;
+CE95;HANGUL SYLLABLE KAENI;Lo;0;L;;;;;N;;;;;
+CE96;HANGUL SYLLABLE KAENH;Lo;0;L;;;;;N;;;;;
+CE97;HANGUL SYLLABLE KAED;Lo;0;L;;;;;N;;;;;
+CE98;HANGUL SYLLABLE KAEL;Lo;0;L;;;;;N;;;;;
+CE99;HANGUL SYLLABLE KAELG;Lo;0;L;;;;;N;;;;;
+CE9A;HANGUL SYLLABLE KAELM;Lo;0;L;;;;;N;;;;;
+CE9B;HANGUL SYLLABLE KAELB;Lo;0;L;;;;;N;;;;;
+CE9C;HANGUL SYLLABLE KAELS;Lo;0;L;;;;;N;;;;;
+CE9D;HANGUL SYLLABLE KAELT;Lo;0;L;;;;;N;;;;;
+CE9E;HANGUL SYLLABLE KAELP;Lo;0;L;;;;;N;;;;;
+CE9F;HANGUL SYLLABLE KAELH;Lo;0;L;;;;;N;;;;;
+CEA0;HANGUL SYLLABLE KAEM;Lo;0;L;;;;;N;;;;;
+CEA1;HANGUL SYLLABLE KAEB;Lo;0;L;;;;;N;;;;;
+CEA2;HANGUL SYLLABLE KAEBS;Lo;0;L;;;;;N;;;;;
+CEA3;HANGUL SYLLABLE KAES;Lo;0;L;;;;;N;;;;;
+CEA4;HANGUL SYLLABLE KAESS;Lo;0;L;;;;;N;;;;;
+CEA5;HANGUL SYLLABLE KAENG;Lo;0;L;;;;;N;;;;;
+CEA6;HANGUL SYLLABLE KAEJ;Lo;0;L;;;;;N;;;;;
+CEA7;HANGUL SYLLABLE KAEC;Lo;0;L;;;;;N;;;;;
+CEA8;HANGUL SYLLABLE KAEK;Lo;0;L;;;;;N;;;;;
+CEA9;HANGUL SYLLABLE KAET;Lo;0;L;;;;;N;;;;;
+CEAA;HANGUL SYLLABLE KAEP;Lo;0;L;;;;;N;;;;;
+CEAB;HANGUL SYLLABLE KAEH;Lo;0;L;;;;;N;;;;;
+CEAC;HANGUL SYLLABLE KYA;Lo;0;L;;;;;N;;;;;
+CEAD;HANGUL SYLLABLE KYAG;Lo;0;L;;;;;N;;;;;
+CEAE;HANGUL SYLLABLE KYAGG;Lo;0;L;;;;;N;;;;;
+CEAF;HANGUL SYLLABLE KYAGS;Lo;0;L;;;;;N;;;;;
+CEB0;HANGUL SYLLABLE KYAN;Lo;0;L;;;;;N;;;;;
+CEB1;HANGUL SYLLABLE KYANI;Lo;0;L;;;;;N;;;;;
+CEB2;HANGUL SYLLABLE KYANH;Lo;0;L;;;;;N;;;;;
+CEB3;HANGUL SYLLABLE KYAD;Lo;0;L;;;;;N;;;;;
+CEB4;HANGUL SYLLABLE KYAL;Lo;0;L;;;;;N;;;;;
+CEB5;HANGUL SYLLABLE KYALG;Lo;0;L;;;;;N;;;;;
+CEB6;HANGUL SYLLABLE KYALM;Lo;0;L;;;;;N;;;;;
+CEB7;HANGUL SYLLABLE KYALB;Lo;0;L;;;;;N;;;;;
+CEB8;HANGUL SYLLABLE KYALS;Lo;0;L;;;;;N;;;;;
+CEB9;HANGUL SYLLABLE KYALT;Lo;0;L;;;;;N;;;;;
+CEBA;HANGUL SYLLABLE KYALP;Lo;0;L;;;;;N;;;;;
+CEBB;HANGUL SYLLABLE KYALH;Lo;0;L;;;;;N;;;;;
+CEBC;HANGUL SYLLABLE KYAM;Lo;0;L;;;;;N;;;;;
+CEBD;HANGUL SYLLABLE KYAB;Lo;0;L;;;;;N;;;;;
+CEBE;HANGUL SYLLABLE KYABS;Lo;0;L;;;;;N;;;;;
+CEBF;HANGUL SYLLABLE KYAS;Lo;0;L;;;;;N;;;;;
+CEC0;HANGUL SYLLABLE KYASS;Lo;0;L;;;;;N;;;;;
+CEC1;HANGUL SYLLABLE KYANG;Lo;0;L;;;;;N;;;;;
+CEC2;HANGUL SYLLABLE KYAJ;Lo;0;L;;;;;N;;;;;
+CEC3;HANGUL SYLLABLE KYAC;Lo;0;L;;;;;N;;;;;
+CEC4;HANGUL SYLLABLE KYAK;Lo;0;L;;;;;N;;;;;
+CEC5;HANGUL SYLLABLE KYAT;Lo;0;L;;;;;N;;;;;
+CEC6;HANGUL SYLLABLE KYAP;Lo;0;L;;;;;N;;;;;
+CEC7;HANGUL SYLLABLE KYAH;Lo;0;L;;;;;N;;;;;
+CEC8;HANGUL SYLLABLE KYAE;Lo;0;L;;;;;N;;;;;
+CEC9;HANGUL SYLLABLE KYAEG;Lo;0;L;;;;;N;;;;;
+CECA;HANGUL SYLLABLE KYAEGG;Lo;0;L;;;;;N;;;;;
+CECB;HANGUL SYLLABLE KYAEGS;Lo;0;L;;;;;N;;;;;
+CECC;HANGUL SYLLABLE KYAEN;Lo;0;L;;;;;N;;;;;
+CECD;HANGUL SYLLABLE KYAENI;Lo;0;L;;;;;N;;;;;
+CECE;HANGUL SYLLABLE KYAENH;Lo;0;L;;;;;N;;;;;
+CECF;HANGUL SYLLABLE KYAED;Lo;0;L;;;;;N;;;;;
+CED0;HANGUL SYLLABLE KYAEL;Lo;0;L;;;;;N;;;;;
+CED1;HANGUL SYLLABLE KYAELG;Lo;0;L;;;;;N;;;;;
+CED2;HANGUL SYLLABLE KYAELM;Lo;0;L;;;;;N;;;;;
+CED3;HANGUL SYLLABLE KYAELB;Lo;0;L;;;;;N;;;;;
+CED4;HANGUL SYLLABLE KYAELS;Lo;0;L;;;;;N;;;;;
+CED5;HANGUL SYLLABLE KYAELT;Lo;0;L;;;;;N;;;;;
+CED6;HANGUL SYLLABLE KYAELP;Lo;0;L;;;;;N;;;;;
+CED7;HANGUL SYLLABLE KYAELH;Lo;0;L;;;;;N;;;;;
+CED8;HANGUL SYLLABLE KYAEM;Lo;0;L;;;;;N;;;;;
+CED9;HANGUL SYLLABLE KYAEB;Lo;0;L;;;;;N;;;;;
+CEDA;HANGUL SYLLABLE KYAEBS;Lo;0;L;;;;;N;;;;;
+CEDB;HANGUL SYLLABLE KYAES;Lo;0;L;;;;;N;;;;;
+CEDC;HANGUL SYLLABLE KYAESS;Lo;0;L;;;;;N;;;;;
+CEDD;HANGUL SYLLABLE KYAENG;Lo;0;L;;;;;N;;;;;
+CEDE;HANGUL SYLLABLE KYAEJ;Lo;0;L;;;;;N;;;;;
+CEDF;HANGUL SYLLABLE KYAEC;Lo;0;L;;;;;N;;;;;
+CEE0;HANGUL SYLLABLE KYAEK;Lo;0;L;;;;;N;;;;;
+CEE1;HANGUL SYLLABLE KYAET;Lo;0;L;;;;;N;;;;;
+CEE2;HANGUL SYLLABLE KYAEP;Lo;0;L;;;;;N;;;;;
+CEE3;HANGUL SYLLABLE KYAEH;Lo;0;L;;;;;N;;;;;
+CEE4;HANGUL SYLLABLE KEO;Lo;0;L;;;;;N;;;;;
+CEE5;HANGUL SYLLABLE KEOG;Lo;0;L;;;;;N;;;;;
+CEE6;HANGUL SYLLABLE KEOGG;Lo;0;L;;;;;N;;;;;
+CEE7;HANGUL SYLLABLE KEOGS;Lo;0;L;;;;;N;;;;;
+CEE8;HANGUL SYLLABLE KEON;Lo;0;L;;;;;N;;;;;
+CEE9;HANGUL SYLLABLE KEONI;Lo;0;L;;;;;N;;;;;
+CEEA;HANGUL SYLLABLE KEONH;Lo;0;L;;;;;N;;;;;
+CEEB;HANGUL SYLLABLE KEOD;Lo;0;L;;;;;N;;;;;
+CEEC;HANGUL SYLLABLE KEOL;Lo;0;L;;;;;N;;;;;
+CEED;HANGUL SYLLABLE KEOLG;Lo;0;L;;;;;N;;;;;
+CEEE;HANGUL SYLLABLE KEOLM;Lo;0;L;;;;;N;;;;;
+CEEF;HANGUL SYLLABLE KEOLB;Lo;0;L;;;;;N;;;;;
+CEF0;HANGUL SYLLABLE KEOLS;Lo;0;L;;;;;N;;;;;
+CEF1;HANGUL SYLLABLE KEOLT;Lo;0;L;;;;;N;;;;;
+CEF2;HANGUL SYLLABLE KEOLP;Lo;0;L;;;;;N;;;;;
+CEF3;HANGUL SYLLABLE KEOLH;Lo;0;L;;;;;N;;;;;
+CEF4;HANGUL SYLLABLE KEOM;Lo;0;L;;;;;N;;;;;
+CEF5;HANGUL SYLLABLE KEOB;Lo;0;L;;;;;N;;;;;
+CEF6;HANGUL SYLLABLE KEOBS;Lo;0;L;;;;;N;;;;;
+CEF7;HANGUL SYLLABLE KEOS;Lo;0;L;;;;;N;;;;;
+CEF8;HANGUL SYLLABLE KEOSS;Lo;0;L;;;;;N;;;;;
+CEF9;HANGUL SYLLABLE KEONG;Lo;0;L;;;;;N;;;;;
+CEFA;HANGUL SYLLABLE KEOJ;Lo;0;L;;;;;N;;;;;
+CEFB;HANGUL SYLLABLE KEOC;Lo;0;L;;;;;N;;;;;
+CEFC;HANGUL SYLLABLE KEOK;Lo;0;L;;;;;N;;;;;
+CEFD;HANGUL SYLLABLE KEOT;Lo;0;L;;;;;N;;;;;
+CEFE;HANGUL SYLLABLE KEOP;Lo;0;L;;;;;N;;;;;
+CEFF;HANGUL SYLLABLE KEOH;Lo;0;L;;;;;N;;;;;
+CF00;HANGUL SYLLABLE KE;Lo;0;L;;;;;N;;;;;
+CF01;HANGUL SYLLABLE KEG;Lo;0;L;;;;;N;;;;;
+CF02;HANGUL SYLLABLE KEGG;Lo;0;L;;;;;N;;;;;
+CF03;HANGUL SYLLABLE KEGS;Lo;0;L;;;;;N;;;;;
+CF04;HANGUL SYLLABLE KEN;Lo;0;L;;;;;N;;;;;
+CF05;HANGUL SYLLABLE KENI;Lo;0;L;;;;;N;;;;;
+CF06;HANGUL SYLLABLE KENH;Lo;0;L;;;;;N;;;;;
+CF07;HANGUL SYLLABLE KED;Lo;0;L;;;;;N;;;;;
+CF08;HANGUL SYLLABLE KEL;Lo;0;L;;;;;N;;;;;
+CF09;HANGUL SYLLABLE KELG;Lo;0;L;;;;;N;;;;;
+CF0A;HANGUL SYLLABLE KELM;Lo;0;L;;;;;N;;;;;
+CF0B;HANGUL SYLLABLE KELB;Lo;0;L;;;;;N;;;;;
+CF0C;HANGUL SYLLABLE KELS;Lo;0;L;;;;;N;;;;;
+CF0D;HANGUL SYLLABLE KELT;Lo;0;L;;;;;N;;;;;
+CF0E;HANGUL SYLLABLE KELP;Lo;0;L;;;;;N;;;;;
+CF0F;HANGUL SYLLABLE KELH;Lo;0;L;;;;;N;;;;;
+CF10;HANGUL SYLLABLE KEM;Lo;0;L;;;;;N;;;;;
+CF11;HANGUL SYLLABLE KEB;Lo;0;L;;;;;N;;;;;
+CF12;HANGUL SYLLABLE KEBS;Lo;0;L;;;;;N;;;;;
+CF13;HANGUL SYLLABLE KES;Lo;0;L;;;;;N;;;;;
+CF14;HANGUL SYLLABLE KESS;Lo;0;L;;;;;N;;;;;
+CF15;HANGUL SYLLABLE KENG;Lo;0;L;;;;;N;;;;;
+CF16;HANGUL SYLLABLE KEJ;Lo;0;L;;;;;N;;;;;
+CF17;HANGUL SYLLABLE KEC;Lo;0;L;;;;;N;;;;;
+CF18;HANGUL SYLLABLE KEK;Lo;0;L;;;;;N;;;;;
+CF19;HANGUL SYLLABLE KET;Lo;0;L;;;;;N;;;;;
+CF1A;HANGUL SYLLABLE KEP;Lo;0;L;;;;;N;;;;;
+CF1B;HANGUL SYLLABLE KEH;Lo;0;L;;;;;N;;;;;
+CF1C;HANGUL SYLLABLE KYEO;Lo;0;L;;;;;N;;;;;
+CF1D;HANGUL SYLLABLE KYEOG;Lo;0;L;;;;;N;;;;;
+CF1E;HANGUL SYLLABLE KYEOGG;Lo;0;L;;;;;N;;;;;
+CF1F;HANGUL SYLLABLE KYEOGS;Lo;0;L;;;;;N;;;;;
+CF20;HANGUL SYLLABLE KYEON;Lo;0;L;;;;;N;;;;;
+CF21;HANGUL SYLLABLE KYEONI;Lo;0;L;;;;;N;;;;;
+CF22;HANGUL SYLLABLE KYEONH;Lo;0;L;;;;;N;;;;;
+CF23;HANGUL SYLLABLE KYEOD;Lo;0;L;;;;;N;;;;;
+CF24;HANGUL SYLLABLE KYEOL;Lo;0;L;;;;;N;;;;;
+CF25;HANGUL SYLLABLE KYEOLG;Lo;0;L;;;;;N;;;;;
+CF26;HANGUL SYLLABLE KYEOLM;Lo;0;L;;;;;N;;;;;
+CF27;HANGUL SYLLABLE KYEOLB;Lo;0;L;;;;;N;;;;;
+CF28;HANGUL SYLLABLE KYEOLS;Lo;0;L;;;;;N;;;;;
+CF29;HANGUL SYLLABLE KYEOLT;Lo;0;L;;;;;N;;;;;
+CF2A;HANGUL SYLLABLE KYEOLP;Lo;0;L;;;;;N;;;;;
+CF2B;HANGUL SYLLABLE KYEOLH;Lo;0;L;;;;;N;;;;;
+CF2C;HANGUL SYLLABLE KYEOM;Lo;0;L;;;;;N;;;;;
+CF2D;HANGUL SYLLABLE KYEOB;Lo;0;L;;;;;N;;;;;
+CF2E;HANGUL SYLLABLE KYEOBS;Lo;0;L;;;;;N;;;;;
+CF2F;HANGUL SYLLABLE KYEOS;Lo;0;L;;;;;N;;;;;
+CF30;HANGUL SYLLABLE KYEOSS;Lo;0;L;;;;;N;;;;;
+CF31;HANGUL SYLLABLE KYEONG;Lo;0;L;;;;;N;;;;;
+CF32;HANGUL SYLLABLE KYEOJ;Lo;0;L;;;;;N;;;;;
+CF33;HANGUL SYLLABLE KYEOC;Lo;0;L;;;;;N;;;;;
+CF34;HANGUL SYLLABLE KYEOK;Lo;0;L;;;;;N;;;;;
+CF35;HANGUL SYLLABLE KYEOT;Lo;0;L;;;;;N;;;;;
+CF36;HANGUL SYLLABLE KYEOP;Lo;0;L;;;;;N;;;;;
+CF37;HANGUL SYLLABLE KYEOH;Lo;0;L;;;;;N;;;;;
+CF38;HANGUL SYLLABLE KYE;Lo;0;L;;;;;N;;;;;
+CF39;HANGUL SYLLABLE KYEG;Lo;0;L;;;;;N;;;;;
+CF3A;HANGUL SYLLABLE KYEGG;Lo;0;L;;;;;N;;;;;
+CF3B;HANGUL SYLLABLE KYEGS;Lo;0;L;;;;;N;;;;;
+CF3C;HANGUL SYLLABLE KYEN;Lo;0;L;;;;;N;;;;;
+CF3D;HANGUL SYLLABLE KYENI;Lo;0;L;;;;;N;;;;;
+CF3E;HANGUL SYLLABLE KYENH;Lo;0;L;;;;;N;;;;;
+CF3F;HANGUL SYLLABLE KYED;Lo;0;L;;;;;N;;;;;
+CF40;HANGUL SYLLABLE KYEL;Lo;0;L;;;;;N;;;;;
+CF41;HANGUL SYLLABLE KYELG;Lo;0;L;;;;;N;;;;;
+CF42;HANGUL SYLLABLE KYELM;Lo;0;L;;;;;N;;;;;
+CF43;HANGUL SYLLABLE KYELB;Lo;0;L;;;;;N;;;;;
+CF44;HANGUL SYLLABLE KYELS;Lo;0;L;;;;;N;;;;;
+CF45;HANGUL SYLLABLE KYELT;Lo;0;L;;;;;N;;;;;
+CF46;HANGUL SYLLABLE KYELP;Lo;0;L;;;;;N;;;;;
+CF47;HANGUL SYLLABLE KYELH;Lo;0;L;;;;;N;;;;;
+CF48;HANGUL SYLLABLE KYEM;Lo;0;L;;;;;N;;;;;
+CF49;HANGUL SYLLABLE KYEB;Lo;0;L;;;;;N;;;;;
+CF4A;HANGUL SYLLABLE KYEBS;Lo;0;L;;;;;N;;;;;
+CF4B;HANGUL SYLLABLE KYES;Lo;0;L;;;;;N;;;;;
+CF4C;HANGUL SYLLABLE KYESS;Lo;0;L;;;;;N;;;;;
+CF4D;HANGUL SYLLABLE KYENG;Lo;0;L;;;;;N;;;;;
+CF4E;HANGUL SYLLABLE KYEJ;Lo;0;L;;;;;N;;;;;
+CF4F;HANGUL SYLLABLE KYEC;Lo;0;L;;;;;N;;;;;
+CF50;HANGUL SYLLABLE KYEK;Lo;0;L;;;;;N;;;;;
+CF51;HANGUL SYLLABLE KYET;Lo;0;L;;;;;N;;;;;
+CF52;HANGUL SYLLABLE KYEP;Lo;0;L;;;;;N;;;;;
+CF53;HANGUL SYLLABLE KYEH;Lo;0;L;;;;;N;;;;;
+CF54;HANGUL SYLLABLE KO;Lo;0;L;;;;;N;;;;;
+CF55;HANGUL SYLLABLE KOG;Lo;0;L;;;;;N;;;;;
+CF56;HANGUL SYLLABLE KOGG;Lo;0;L;;;;;N;;;;;
+CF57;HANGUL SYLLABLE KOGS;Lo;0;L;;;;;N;;;;;
+CF58;HANGUL SYLLABLE KON;Lo;0;L;;;;;N;;;;;
+CF59;HANGUL SYLLABLE KONI;Lo;0;L;;;;;N;;;;;
+CF5A;HANGUL SYLLABLE KONH;Lo;0;L;;;;;N;;;;;
+CF5B;HANGUL SYLLABLE KOD;Lo;0;L;;;;;N;;;;;
+CF5C;HANGUL SYLLABLE KOL;Lo;0;L;;;;;N;;;;;
+CF5D;HANGUL SYLLABLE KOLG;Lo;0;L;;;;;N;;;;;
+CF5E;HANGUL SYLLABLE KOLM;Lo;0;L;;;;;N;;;;;
+CF5F;HANGUL SYLLABLE KOLB;Lo;0;L;;;;;N;;;;;
+CF60;HANGUL SYLLABLE KOLS;Lo;0;L;;;;;N;;;;;
+CF61;HANGUL SYLLABLE KOLT;Lo;0;L;;;;;N;;;;;
+CF62;HANGUL SYLLABLE KOLP;Lo;0;L;;;;;N;;;;;
+CF63;HANGUL SYLLABLE KOLH;Lo;0;L;;;;;N;;;;;
+CF64;HANGUL SYLLABLE KOM;Lo;0;L;;;;;N;;;;;
+CF65;HANGUL SYLLABLE KOB;Lo;0;L;;;;;N;;;;;
+CF66;HANGUL SYLLABLE KOBS;Lo;0;L;;;;;N;;;;;
+CF67;HANGUL SYLLABLE KOS;Lo;0;L;;;;;N;;;;;
+CF68;HANGUL SYLLABLE KOSS;Lo;0;L;;;;;N;;;;;
+CF69;HANGUL SYLLABLE KONG;Lo;0;L;;;;;N;;;;;
+CF6A;HANGUL SYLLABLE KOJ;Lo;0;L;;;;;N;;;;;
+CF6B;HANGUL SYLLABLE KOC;Lo;0;L;;;;;N;;;;;
+CF6C;HANGUL SYLLABLE KOK;Lo;0;L;;;;;N;;;;;
+CF6D;HANGUL SYLLABLE KOT;Lo;0;L;;;;;N;;;;;
+CF6E;HANGUL SYLLABLE KOP;Lo;0;L;;;;;N;;;;;
+CF6F;HANGUL SYLLABLE KOH;Lo;0;L;;;;;N;;;;;
+CF70;HANGUL SYLLABLE KWA;Lo;0;L;;;;;N;;;;;
+CF71;HANGUL SYLLABLE KWAG;Lo;0;L;;;;;N;;;;;
+CF72;HANGUL SYLLABLE KWAGG;Lo;0;L;;;;;N;;;;;
+CF73;HANGUL SYLLABLE KWAGS;Lo;0;L;;;;;N;;;;;
+CF74;HANGUL SYLLABLE KWAN;Lo;0;L;;;;;N;;;;;
+CF75;HANGUL SYLLABLE KWANI;Lo;0;L;;;;;N;;;;;
+CF76;HANGUL SYLLABLE KWANH;Lo;0;L;;;;;N;;;;;
+CF77;HANGUL SYLLABLE KWAD;Lo;0;L;;;;;N;;;;;
+CF78;HANGUL SYLLABLE KWAL;Lo;0;L;;;;;N;;;;;
+CF79;HANGUL SYLLABLE KWALG;Lo;0;L;;;;;N;;;;;
+CF7A;HANGUL SYLLABLE KWALM;Lo;0;L;;;;;N;;;;;
+CF7B;HANGUL SYLLABLE KWALB;Lo;0;L;;;;;N;;;;;
+CF7C;HANGUL SYLLABLE KWALS;Lo;0;L;;;;;N;;;;;
+CF7D;HANGUL SYLLABLE KWALT;Lo;0;L;;;;;N;;;;;
+CF7E;HANGUL SYLLABLE KWALP;Lo;0;L;;;;;N;;;;;
+CF7F;HANGUL SYLLABLE KWALH;Lo;0;L;;;;;N;;;;;
+CF80;HANGUL SYLLABLE KWAM;Lo;0;L;;;;;N;;;;;
+CF81;HANGUL SYLLABLE KWAB;Lo;0;L;;;;;N;;;;;
+CF82;HANGUL SYLLABLE KWABS;Lo;0;L;;;;;N;;;;;
+CF83;HANGUL SYLLABLE KWAS;Lo;0;L;;;;;N;;;;;
+CF84;HANGUL SYLLABLE KWASS;Lo;0;L;;;;;N;;;;;
+CF85;HANGUL SYLLABLE KWANG;Lo;0;L;;;;;N;;;;;
+CF86;HANGUL SYLLABLE KWAJ;Lo;0;L;;;;;N;;;;;
+CF87;HANGUL SYLLABLE KWAC;Lo;0;L;;;;;N;;;;;
+CF88;HANGUL SYLLABLE KWAK;Lo;0;L;;;;;N;;;;;
+CF89;HANGUL SYLLABLE KWAT;Lo;0;L;;;;;N;;;;;
+CF8A;HANGUL SYLLABLE KWAP;Lo;0;L;;;;;N;;;;;
+CF8B;HANGUL SYLLABLE KWAH;Lo;0;L;;;;;N;;;;;
+CF8C;HANGUL SYLLABLE KWAE;Lo;0;L;;;;;N;;;;;
+CF8D;HANGUL SYLLABLE KWAEG;Lo;0;L;;;;;N;;;;;
+CF8E;HANGUL SYLLABLE KWAEGG;Lo;0;L;;;;;N;;;;;
+CF8F;HANGUL SYLLABLE KWAEGS;Lo;0;L;;;;;N;;;;;
+CF90;HANGUL SYLLABLE KWAEN;Lo;0;L;;;;;N;;;;;
+CF91;HANGUL SYLLABLE KWAENI;Lo;0;L;;;;;N;;;;;
+CF92;HANGUL SYLLABLE KWAENH;Lo;0;L;;;;;N;;;;;
+CF93;HANGUL SYLLABLE KWAED;Lo;0;L;;;;;N;;;;;
+CF94;HANGUL SYLLABLE KWAEL;Lo;0;L;;;;;N;;;;;
+CF95;HANGUL SYLLABLE KWAELG;Lo;0;L;;;;;N;;;;;
+CF96;HANGUL SYLLABLE KWAELM;Lo;0;L;;;;;N;;;;;
+CF97;HANGUL SYLLABLE KWAELB;Lo;0;L;;;;;N;;;;;
+CF98;HANGUL SYLLABLE KWAELS;Lo;0;L;;;;;N;;;;;
+CF99;HANGUL SYLLABLE KWAELT;Lo;0;L;;;;;N;;;;;
+CF9A;HANGUL SYLLABLE KWAELP;Lo;0;L;;;;;N;;;;;
+CF9B;HANGUL SYLLABLE KWAELH;Lo;0;L;;;;;N;;;;;
+CF9C;HANGUL SYLLABLE KWAEM;Lo;0;L;;;;;N;;;;;
+CF9D;HANGUL SYLLABLE KWAEB;Lo;0;L;;;;;N;;;;;
+CF9E;HANGUL SYLLABLE KWAEBS;Lo;0;L;;;;;N;;;;;
+CF9F;HANGUL SYLLABLE KWAES;Lo;0;L;;;;;N;;;;;
+CFA0;HANGUL SYLLABLE KWAESS;Lo;0;L;;;;;N;;;;;
+CFA1;HANGUL SYLLABLE KWAENG;Lo;0;L;;;;;N;;;;;
+CFA2;HANGUL SYLLABLE KWAEJ;Lo;0;L;;;;;N;;;;;
+CFA3;HANGUL SYLLABLE KWAEC;Lo;0;L;;;;;N;;;;;
+CFA4;HANGUL SYLLABLE KWAEK;Lo;0;L;;;;;N;;;;;
+CFA5;HANGUL SYLLABLE KWAET;Lo;0;L;;;;;N;;;;;
+CFA6;HANGUL SYLLABLE KWAEP;Lo;0;L;;;;;N;;;;;
+CFA7;HANGUL SYLLABLE KWAEH;Lo;0;L;;;;;N;;;;;
+CFA8;HANGUL SYLLABLE KOE;Lo;0;L;;;;;N;;;;;
+CFA9;HANGUL SYLLABLE KOEG;Lo;0;L;;;;;N;;;;;
+CFAA;HANGUL SYLLABLE KOEGG;Lo;0;L;;;;;N;;;;;
+CFAB;HANGUL SYLLABLE KOEGS;Lo;0;L;;;;;N;;;;;
+CFAC;HANGUL SYLLABLE KOEN;Lo;0;L;;;;;N;;;;;
+CFAD;HANGUL SYLLABLE KOENI;Lo;0;L;;;;;N;;;;;
+CFAE;HANGUL SYLLABLE KOENH;Lo;0;L;;;;;N;;;;;
+CFAF;HANGUL SYLLABLE KOED;Lo;0;L;;;;;N;;;;;
+CFB0;HANGUL SYLLABLE KOEL;Lo;0;L;;;;;N;;;;;
+CFB1;HANGUL SYLLABLE KOELG;Lo;0;L;;;;;N;;;;;
+CFB2;HANGUL SYLLABLE KOELM;Lo;0;L;;;;;N;;;;;
+CFB3;HANGUL SYLLABLE KOELB;Lo;0;L;;;;;N;;;;;
+CFB4;HANGUL SYLLABLE KOELS;Lo;0;L;;;;;N;;;;;
+CFB5;HANGUL SYLLABLE KOELT;Lo;0;L;;;;;N;;;;;
+CFB6;HANGUL SYLLABLE KOELP;Lo;0;L;;;;;N;;;;;
+CFB7;HANGUL SYLLABLE KOELH;Lo;0;L;;;;;N;;;;;
+CFB8;HANGUL SYLLABLE KOEM;Lo;0;L;;;;;N;;;;;
+CFB9;HANGUL SYLLABLE KOEB;Lo;0;L;;;;;N;;;;;
+CFBA;HANGUL SYLLABLE KOEBS;Lo;0;L;;;;;N;;;;;
+CFBB;HANGUL SYLLABLE KOES;Lo;0;L;;;;;N;;;;;
+CFBC;HANGUL SYLLABLE KOESS;Lo;0;L;;;;;N;;;;;
+CFBD;HANGUL SYLLABLE KOENG;Lo;0;L;;;;;N;;;;;
+CFBE;HANGUL SYLLABLE KOEJ;Lo;0;L;;;;;N;;;;;
+CFBF;HANGUL SYLLABLE KOEC;Lo;0;L;;;;;N;;;;;
+CFC0;HANGUL SYLLABLE KOEK;Lo;0;L;;;;;N;;;;;
+CFC1;HANGUL SYLLABLE KOET;Lo;0;L;;;;;N;;;;;
+CFC2;HANGUL SYLLABLE KOEP;Lo;0;L;;;;;N;;;;;
+CFC3;HANGUL SYLLABLE KOEH;Lo;0;L;;;;;N;;;;;
+CFC4;HANGUL SYLLABLE KYO;Lo;0;L;;;;;N;;;;;
+CFC5;HANGUL SYLLABLE KYOG;Lo;0;L;;;;;N;;;;;
+CFC6;HANGUL SYLLABLE KYOGG;Lo;0;L;;;;;N;;;;;
+CFC7;HANGUL SYLLABLE KYOGS;Lo;0;L;;;;;N;;;;;
+CFC8;HANGUL SYLLABLE KYON;Lo;0;L;;;;;N;;;;;
+CFC9;HANGUL SYLLABLE KYONI;Lo;0;L;;;;;N;;;;;
+CFCA;HANGUL SYLLABLE KYONH;Lo;0;L;;;;;N;;;;;
+CFCB;HANGUL SYLLABLE KYOD;Lo;0;L;;;;;N;;;;;
+CFCC;HANGUL SYLLABLE KYOL;Lo;0;L;;;;;N;;;;;
+CFCD;HANGUL SYLLABLE KYOLG;Lo;0;L;;;;;N;;;;;
+CFCE;HANGUL SYLLABLE KYOLM;Lo;0;L;;;;;N;;;;;
+CFCF;HANGUL SYLLABLE KYOLB;Lo;0;L;;;;;N;;;;;
+CFD0;HANGUL SYLLABLE KYOLS;Lo;0;L;;;;;N;;;;;
+CFD1;HANGUL SYLLABLE KYOLT;Lo;0;L;;;;;N;;;;;
+CFD2;HANGUL SYLLABLE KYOLP;Lo;0;L;;;;;N;;;;;
+CFD3;HANGUL SYLLABLE KYOLH;Lo;0;L;;;;;N;;;;;
+CFD4;HANGUL SYLLABLE KYOM;Lo;0;L;;;;;N;;;;;
+CFD5;HANGUL SYLLABLE KYOB;Lo;0;L;;;;;N;;;;;
+CFD6;HANGUL SYLLABLE KYOBS;Lo;0;L;;;;;N;;;;;
+CFD7;HANGUL SYLLABLE KYOS;Lo;0;L;;;;;N;;;;;
+CFD8;HANGUL SYLLABLE KYOSS;Lo;0;L;;;;;N;;;;;
+CFD9;HANGUL SYLLABLE KYONG;Lo;0;L;;;;;N;;;;;
+CFDA;HANGUL SYLLABLE KYOJ;Lo;0;L;;;;;N;;;;;
+CFDB;HANGUL SYLLABLE KYOC;Lo;0;L;;;;;N;;;;;
+CFDC;HANGUL SYLLABLE KYOK;Lo;0;L;;;;;N;;;;;
+CFDD;HANGUL SYLLABLE KYOT;Lo;0;L;;;;;N;;;;;
+CFDE;HANGUL SYLLABLE KYOP;Lo;0;L;;;;;N;;;;;
+CFDF;HANGUL SYLLABLE KYOH;Lo;0;L;;;;;N;;;;;
+CFE0;HANGUL SYLLABLE KU;Lo;0;L;;;;;N;;;;;
+CFE1;HANGUL SYLLABLE KUG;Lo;0;L;;;;;N;;;;;
+CFE2;HANGUL SYLLABLE KUGG;Lo;0;L;;;;;N;;;;;
+CFE3;HANGUL SYLLABLE KUGS;Lo;0;L;;;;;N;;;;;
+CFE4;HANGUL SYLLABLE KUN;Lo;0;L;;;;;N;;;;;
+CFE5;HANGUL SYLLABLE KUNI;Lo;0;L;;;;;N;;;;;
+CFE6;HANGUL SYLLABLE KUNH;Lo;0;L;;;;;N;;;;;
+CFE7;HANGUL SYLLABLE KUD;Lo;0;L;;;;;N;;;;;
+CFE8;HANGUL SYLLABLE KUL;Lo;0;L;;;;;N;;;;;
+CFE9;HANGUL SYLLABLE KULG;Lo;0;L;;;;;N;;;;;
+CFEA;HANGUL SYLLABLE KULM;Lo;0;L;;;;;N;;;;;
+CFEB;HANGUL SYLLABLE KULB;Lo;0;L;;;;;N;;;;;
+CFEC;HANGUL SYLLABLE KULS;Lo;0;L;;;;;N;;;;;
+CFED;HANGUL SYLLABLE KULT;Lo;0;L;;;;;N;;;;;
+CFEE;HANGUL SYLLABLE KULP;Lo;0;L;;;;;N;;;;;
+CFEF;HANGUL SYLLABLE KULH;Lo;0;L;;;;;N;;;;;
+CFF0;HANGUL SYLLABLE KUM;Lo;0;L;;;;;N;;;;;
+CFF1;HANGUL SYLLABLE KUB;Lo;0;L;;;;;N;;;;;
+CFF2;HANGUL SYLLABLE KUBS;Lo;0;L;;;;;N;;;;;
+CFF3;HANGUL SYLLABLE KUS;Lo;0;L;;;;;N;;;;;
+CFF4;HANGUL SYLLABLE KUSS;Lo;0;L;;;;;N;;;;;
+CFF5;HANGUL SYLLABLE KUNG;Lo;0;L;;;;;N;;;;;
+CFF6;HANGUL SYLLABLE KUJ;Lo;0;L;;;;;N;;;;;
+CFF7;HANGUL SYLLABLE KUC;Lo;0;L;;;;;N;;;;;
+CFF8;HANGUL SYLLABLE KUK;Lo;0;L;;;;;N;;;;;
+CFF9;HANGUL SYLLABLE KUT;Lo;0;L;;;;;N;;;;;
+CFFA;HANGUL SYLLABLE KUP;Lo;0;L;;;;;N;;;;;
+CFFB;HANGUL SYLLABLE KUH;Lo;0;L;;;;;N;;;;;
+CFFC;HANGUL SYLLABLE KWEO;Lo;0;L;;;;;N;;;;;
+CFFD;HANGUL SYLLABLE KWEOG;Lo;0;L;;;;;N;;;;;
+CFFE;HANGUL SYLLABLE KWEOGG;Lo;0;L;;;;;N;;;;;
+CFFF;HANGUL SYLLABLE KWEOGS;Lo;0;L;;;;;N;;;;;
+D000;HANGUL SYLLABLE KWEON;Lo;0;L;;;;;N;;;;;
+D001;HANGUL SYLLABLE KWEONI;Lo;0;L;;;;;N;;;;;
+D002;HANGUL SYLLABLE KWEONH;Lo;0;L;;;;;N;;;;;
+D003;HANGUL SYLLABLE KWEOD;Lo;0;L;;;;;N;;;;;
+D004;HANGUL SYLLABLE KWEOL;Lo;0;L;;;;;N;;;;;
+D005;HANGUL SYLLABLE KWEOLG;Lo;0;L;;;;;N;;;;;
+D006;HANGUL SYLLABLE KWEOLM;Lo;0;L;;;;;N;;;;;
+D007;HANGUL SYLLABLE KWEOLB;Lo;0;L;;;;;N;;;;;
+D008;HANGUL SYLLABLE KWEOLS;Lo;0;L;;;;;N;;;;;
+D009;HANGUL SYLLABLE KWEOLT;Lo;0;L;;;;;N;;;;;
+D00A;HANGUL SYLLABLE KWEOLP;Lo;0;L;;;;;N;;;;;
+D00B;HANGUL SYLLABLE KWEOLH;Lo;0;L;;;;;N;;;;;
+D00C;HANGUL SYLLABLE KWEOM;Lo;0;L;;;;;N;;;;;
+D00D;HANGUL SYLLABLE KWEOB;Lo;0;L;;;;;N;;;;;
+D00E;HANGUL SYLLABLE KWEOBS;Lo;0;L;;;;;N;;;;;
+D00F;HANGUL SYLLABLE KWEOS;Lo;0;L;;;;;N;;;;;
+D010;HANGUL SYLLABLE KWEOSS;Lo;0;L;;;;;N;;;;;
+D011;HANGUL SYLLABLE KWEONG;Lo;0;L;;;;;N;;;;;
+D012;HANGUL SYLLABLE KWEOJ;Lo;0;L;;;;;N;;;;;
+D013;HANGUL SYLLABLE KWEOC;Lo;0;L;;;;;N;;;;;
+D014;HANGUL SYLLABLE KWEOK;Lo;0;L;;;;;N;;;;;
+D015;HANGUL SYLLABLE KWEOT;Lo;0;L;;;;;N;;;;;
+D016;HANGUL SYLLABLE KWEOP;Lo;0;L;;;;;N;;;;;
+D017;HANGUL SYLLABLE KWEOH;Lo;0;L;;;;;N;;;;;
+D018;HANGUL SYLLABLE KWE;Lo;0;L;;;;;N;;;;;
+D019;HANGUL SYLLABLE KWEG;Lo;0;L;;;;;N;;;;;
+D01A;HANGUL SYLLABLE KWEGG;Lo;0;L;;;;;N;;;;;
+D01B;HANGUL SYLLABLE KWEGS;Lo;0;L;;;;;N;;;;;
+D01C;HANGUL SYLLABLE KWEN;Lo;0;L;;;;;N;;;;;
+D01D;HANGUL SYLLABLE KWENI;Lo;0;L;;;;;N;;;;;
+D01E;HANGUL SYLLABLE KWENH;Lo;0;L;;;;;N;;;;;
+D01F;HANGUL SYLLABLE KWED;Lo;0;L;;;;;N;;;;;
+D020;HANGUL SYLLABLE KWEL;Lo;0;L;;;;;N;;;;;
+D021;HANGUL SYLLABLE KWELG;Lo;0;L;;;;;N;;;;;
+D022;HANGUL SYLLABLE KWELM;Lo;0;L;;;;;N;;;;;
+D023;HANGUL SYLLABLE KWELB;Lo;0;L;;;;;N;;;;;
+D024;HANGUL SYLLABLE KWELS;Lo;0;L;;;;;N;;;;;
+D025;HANGUL SYLLABLE KWELT;Lo;0;L;;;;;N;;;;;
+D026;HANGUL SYLLABLE KWELP;Lo;0;L;;;;;N;;;;;
+D027;HANGUL SYLLABLE KWELH;Lo;0;L;;;;;N;;;;;
+D028;HANGUL SYLLABLE KWEM;Lo;0;L;;;;;N;;;;;
+D029;HANGUL SYLLABLE KWEB;Lo;0;L;;;;;N;;;;;
+D02A;HANGUL SYLLABLE KWEBS;Lo;0;L;;;;;N;;;;;
+D02B;HANGUL SYLLABLE KWES;Lo;0;L;;;;;N;;;;;
+D02C;HANGUL SYLLABLE KWESS;Lo;0;L;;;;;N;;;;;
+D02D;HANGUL SYLLABLE KWENG;Lo;0;L;;;;;N;;;;;
+D02E;HANGUL SYLLABLE KWEJ;Lo;0;L;;;;;N;;;;;
+D02F;HANGUL SYLLABLE KWEC;Lo;0;L;;;;;N;;;;;
+D030;HANGUL SYLLABLE KWEK;Lo;0;L;;;;;N;;;;;
+D031;HANGUL SYLLABLE KWET;Lo;0;L;;;;;N;;;;;
+D032;HANGUL SYLLABLE KWEP;Lo;0;L;;;;;N;;;;;
+D033;HANGUL SYLLABLE KWEH;Lo;0;L;;;;;N;;;;;
+D034;HANGUL SYLLABLE KWI;Lo;0;L;;;;;N;;;;;
+D035;HANGUL SYLLABLE KWIG;Lo;0;L;;;;;N;;;;;
+D036;HANGUL SYLLABLE KWIGG;Lo;0;L;;;;;N;;;;;
+D037;HANGUL SYLLABLE KWIGS;Lo;0;L;;;;;N;;;;;
+D038;HANGUL SYLLABLE KWIN;Lo;0;L;;;;;N;;;;;
+D039;HANGUL SYLLABLE KWINI;Lo;0;L;;;;;N;;;;;
+D03A;HANGUL SYLLABLE KWINH;Lo;0;L;;;;;N;;;;;
+D03B;HANGUL SYLLABLE KWID;Lo;0;L;;;;;N;;;;;
+D03C;HANGUL SYLLABLE KWIL;Lo;0;L;;;;;N;;;;;
+D03D;HANGUL SYLLABLE KWILG;Lo;0;L;;;;;N;;;;;
+D03E;HANGUL SYLLABLE KWILM;Lo;0;L;;;;;N;;;;;
+D03F;HANGUL SYLLABLE KWILB;Lo;0;L;;;;;N;;;;;
+D040;HANGUL SYLLABLE KWILS;Lo;0;L;;;;;N;;;;;
+D041;HANGUL SYLLABLE KWILT;Lo;0;L;;;;;N;;;;;
+D042;HANGUL SYLLABLE KWILP;Lo;0;L;;;;;N;;;;;
+D043;HANGUL SYLLABLE KWILH;Lo;0;L;;;;;N;;;;;
+D044;HANGUL SYLLABLE KWIM;Lo;0;L;;;;;N;;;;;
+D045;HANGUL SYLLABLE KWIB;Lo;0;L;;;;;N;;;;;
+D046;HANGUL SYLLABLE KWIBS;Lo;0;L;;;;;N;;;;;
+D047;HANGUL SYLLABLE KWIS;Lo;0;L;;;;;N;;;;;
+D048;HANGUL SYLLABLE KWISS;Lo;0;L;;;;;N;;;;;
+D049;HANGUL SYLLABLE KWING;Lo;0;L;;;;;N;;;;;
+D04A;HANGUL SYLLABLE KWIJ;Lo;0;L;;;;;N;;;;;
+D04B;HANGUL SYLLABLE KWIC;Lo;0;L;;;;;N;;;;;
+D04C;HANGUL SYLLABLE KWIK;Lo;0;L;;;;;N;;;;;
+D04D;HANGUL SYLLABLE KWIT;Lo;0;L;;;;;N;;;;;
+D04E;HANGUL SYLLABLE KWIP;Lo;0;L;;;;;N;;;;;
+D04F;HANGUL SYLLABLE KWIH;Lo;0;L;;;;;N;;;;;
+D050;HANGUL SYLLABLE KYU;Lo;0;L;;;;;N;;;;;
+D051;HANGUL SYLLABLE KYUG;Lo;0;L;;;;;N;;;;;
+D052;HANGUL SYLLABLE KYUGG;Lo;0;L;;;;;N;;;;;
+D053;HANGUL SYLLABLE KYUGS;Lo;0;L;;;;;N;;;;;
+D054;HANGUL SYLLABLE KYUN;Lo;0;L;;;;;N;;;;;
+D055;HANGUL SYLLABLE KYUNI;Lo;0;L;;;;;N;;;;;
+D056;HANGUL SYLLABLE KYUNH;Lo;0;L;;;;;N;;;;;
+D057;HANGUL SYLLABLE KYUD;Lo;0;L;;;;;N;;;;;
+D058;HANGUL SYLLABLE KYUL;Lo;0;L;;;;;N;;;;;
+D059;HANGUL SYLLABLE KYULG;Lo;0;L;;;;;N;;;;;
+D05A;HANGUL SYLLABLE KYULM;Lo;0;L;;;;;N;;;;;
+D05B;HANGUL SYLLABLE KYULB;Lo;0;L;;;;;N;;;;;
+D05C;HANGUL SYLLABLE KYULS;Lo;0;L;;;;;N;;;;;
+D05D;HANGUL SYLLABLE KYULT;Lo;0;L;;;;;N;;;;;
+D05E;HANGUL SYLLABLE KYULP;Lo;0;L;;;;;N;;;;;
+D05F;HANGUL SYLLABLE KYULH;Lo;0;L;;;;;N;;;;;
+D060;HANGUL SYLLABLE KYUM;Lo;0;L;;;;;N;;;;;
+D061;HANGUL SYLLABLE KYUB;Lo;0;L;;;;;N;;;;;
+D062;HANGUL SYLLABLE KYUBS;Lo;0;L;;;;;N;;;;;
+D063;HANGUL SYLLABLE KYUS;Lo;0;L;;;;;N;;;;;
+D064;HANGUL SYLLABLE KYUSS;Lo;0;L;;;;;N;;;;;
+D065;HANGUL SYLLABLE KYUNG;Lo;0;L;;;;;N;;;;;
+D066;HANGUL SYLLABLE KYUJ;Lo;0;L;;;;;N;;;;;
+D067;HANGUL SYLLABLE KYUC;Lo;0;L;;;;;N;;;;;
+D068;HANGUL SYLLABLE KYUK;Lo;0;L;;;;;N;;;;;
+D069;HANGUL SYLLABLE KYUT;Lo;0;L;;;;;N;;;;;
+D06A;HANGUL SYLLABLE KYUP;Lo;0;L;;;;;N;;;;;
+D06B;HANGUL SYLLABLE KYUH;Lo;0;L;;;;;N;;;;;
+D06C;HANGUL SYLLABLE KEU;Lo;0;L;;;;;N;;;;;
+D06D;HANGUL SYLLABLE KEUG;Lo;0;L;;;;;N;;;;;
+D06E;HANGUL SYLLABLE KEUGG;Lo;0;L;;;;;N;;;;;
+D06F;HANGUL SYLLABLE KEUGS;Lo;0;L;;;;;N;;;;;
+D070;HANGUL SYLLABLE KEUN;Lo;0;L;;;;;N;;;;;
+D071;HANGUL SYLLABLE KEUNI;Lo;0;L;;;;;N;;;;;
+D072;HANGUL SYLLABLE KEUNH;Lo;0;L;;;;;N;;;;;
+D073;HANGUL SYLLABLE KEUD;Lo;0;L;;;;;N;;;;;
+D074;HANGUL SYLLABLE KEUL;Lo;0;L;;;;;N;;;;;
+D075;HANGUL SYLLABLE KEULG;Lo;0;L;;;;;N;;;;;
+D076;HANGUL SYLLABLE KEULM;Lo;0;L;;;;;N;;;;;
+D077;HANGUL SYLLABLE KEULB;Lo;0;L;;;;;N;;;;;
+D078;HANGUL SYLLABLE KEULS;Lo;0;L;;;;;N;;;;;
+D079;HANGUL SYLLABLE KEULT;Lo;0;L;;;;;N;;;;;
+D07A;HANGUL SYLLABLE KEULP;Lo;0;L;;;;;N;;;;;
+D07B;HANGUL SYLLABLE KEULH;Lo;0;L;;;;;N;;;;;
+D07C;HANGUL SYLLABLE KEUM;Lo;0;L;;;;;N;;;;;
+D07D;HANGUL SYLLABLE KEUB;Lo;0;L;;;;;N;;;;;
+D07E;HANGUL SYLLABLE KEUBS;Lo;0;L;;;;;N;;;;;
+D07F;HANGUL SYLLABLE KEUS;Lo;0;L;;;;;N;;;;;
+D080;HANGUL SYLLABLE KEUSS;Lo;0;L;;;;;N;;;;;
+D081;HANGUL SYLLABLE KEUNG;Lo;0;L;;;;;N;;;;;
+D082;HANGUL SYLLABLE KEUJ;Lo;0;L;;;;;N;;;;;
+D083;HANGUL SYLLABLE KEUC;Lo;0;L;;;;;N;;;;;
+D084;HANGUL SYLLABLE KEUK;Lo;0;L;;;;;N;;;;;
+D085;HANGUL SYLLABLE KEUT;Lo;0;L;;;;;N;;;;;
+D086;HANGUL SYLLABLE KEUP;Lo;0;L;;;;;N;;;;;
+D087;HANGUL SYLLABLE KEUH;Lo;0;L;;;;;N;;;;;
+D088;HANGUL SYLLABLE KYI;Lo;0;L;;;;;N;;;;;
+D089;HANGUL SYLLABLE KYIG;Lo;0;L;;;;;N;;;;;
+D08A;HANGUL SYLLABLE KYIGG;Lo;0;L;;;;;N;;;;;
+D08B;HANGUL SYLLABLE KYIGS;Lo;0;L;;;;;N;;;;;
+D08C;HANGUL SYLLABLE KYIN;Lo;0;L;;;;;N;;;;;
+D08D;HANGUL SYLLABLE KYINI;Lo;0;L;;;;;N;;;;;
+D08E;HANGUL SYLLABLE KYINH;Lo;0;L;;;;;N;;;;;
+D08F;HANGUL SYLLABLE KYID;Lo;0;L;;;;;N;;;;;
+D090;HANGUL SYLLABLE KYIL;Lo;0;L;;;;;N;;;;;
+D091;HANGUL SYLLABLE KYILG;Lo;0;L;;;;;N;;;;;
+D092;HANGUL SYLLABLE KYILM;Lo;0;L;;;;;N;;;;;
+D093;HANGUL SYLLABLE KYILB;Lo;0;L;;;;;N;;;;;
+D094;HANGUL SYLLABLE KYILS;Lo;0;L;;;;;N;;;;;
+D095;HANGUL SYLLABLE KYILT;Lo;0;L;;;;;N;;;;;
+D096;HANGUL SYLLABLE KYILP;Lo;0;L;;;;;N;;;;;
+D097;HANGUL SYLLABLE KYILH;Lo;0;L;;;;;N;;;;;
+D098;HANGUL SYLLABLE KYIM;Lo;0;L;;;;;N;;;;;
+D099;HANGUL SYLLABLE KYIB;Lo;0;L;;;;;N;;;;;
+D09A;HANGUL SYLLABLE KYIBS;Lo;0;L;;;;;N;;;;;
+D09B;HANGUL SYLLABLE KYIS;Lo;0;L;;;;;N;;;;;
+D09C;HANGUL SYLLABLE KYISS;Lo;0;L;;;;;N;;;;;
+D09D;HANGUL SYLLABLE KYING;Lo;0;L;;;;;N;;;;;
+D09E;HANGUL SYLLABLE KYIJ;Lo;0;L;;;;;N;;;;;
+D09F;HANGUL SYLLABLE KYIC;Lo;0;L;;;;;N;;;;;
+D0A0;HANGUL SYLLABLE KYIK;Lo;0;L;;;;;N;;;;;
+D0A1;HANGUL SYLLABLE KYIT;Lo;0;L;;;;;N;;;;;
+D0A2;HANGUL SYLLABLE KYIP;Lo;0;L;;;;;N;;;;;
+D0A3;HANGUL SYLLABLE KYIH;Lo;0;L;;;;;N;;;;;
+D0A4;HANGUL SYLLABLE KI;Lo;0;L;;;;;N;;;;;
+D0A5;HANGUL SYLLABLE KIG;Lo;0;L;;;;;N;;;;;
+D0A6;HANGUL SYLLABLE KIGG;Lo;0;L;;;;;N;;;;;
+D0A7;HANGUL SYLLABLE KIGS;Lo;0;L;;;;;N;;;;;
+D0A8;HANGUL SYLLABLE KIN;Lo;0;L;;;;;N;;;;;
+D0A9;HANGUL SYLLABLE KINI;Lo;0;L;;;;;N;;;;;
+D0AA;HANGUL SYLLABLE KINH;Lo;0;L;;;;;N;;;;;
+D0AB;HANGUL SYLLABLE KID;Lo;0;L;;;;;N;;;;;
+D0AC;HANGUL SYLLABLE KIL;Lo;0;L;;;;;N;;;;;
+D0AD;HANGUL SYLLABLE KILG;Lo;0;L;;;;;N;;;;;
+D0AE;HANGUL SYLLABLE KILM;Lo;0;L;;;;;N;;;;;
+D0AF;HANGUL SYLLABLE KILB;Lo;0;L;;;;;N;;;;;
+D0B0;HANGUL SYLLABLE KILS;Lo;0;L;;;;;N;;;;;
+D0B1;HANGUL SYLLABLE KILT;Lo;0;L;;;;;N;;;;;
+D0B2;HANGUL SYLLABLE KILP;Lo;0;L;;;;;N;;;;;
+D0B3;HANGUL SYLLABLE KILH;Lo;0;L;;;;;N;;;;;
+D0B4;HANGUL SYLLABLE KIM;Lo;0;L;;;;;N;;;;;
+D0B5;HANGUL SYLLABLE KIB;Lo;0;L;;;;;N;;;;;
+D0B6;HANGUL SYLLABLE KIBS;Lo;0;L;;;;;N;;;;;
+D0B7;HANGUL SYLLABLE KIS;Lo;0;L;;;;;N;;;;;
+D0B8;HANGUL SYLLABLE KISS;Lo;0;L;;;;;N;;;;;
+D0B9;HANGUL SYLLABLE KING;Lo;0;L;;;;;N;;;;;
+D0BA;HANGUL SYLLABLE KIJ;Lo;0;L;;;;;N;;;;;
+D0BB;HANGUL SYLLABLE KIC;Lo;0;L;;;;;N;;;;;
+D0BC;HANGUL SYLLABLE KIK;Lo;0;L;;;;;N;;;;;
+D0BD;HANGUL SYLLABLE KIT;Lo;0;L;;;;;N;;;;;
+D0BE;HANGUL SYLLABLE KIP;Lo;0;L;;;;;N;;;;;
+D0BF;HANGUL SYLLABLE KIH;Lo;0;L;;;;;N;;;;;
+D0C0;HANGUL SYLLABLE TA;Lo;0;L;;;;;N;;;;;
+D0C1;HANGUL SYLLABLE TAG;Lo;0;L;;;;;N;;;;;
+D0C2;HANGUL SYLLABLE TAGG;Lo;0;L;;;;;N;;;;;
+D0C3;HANGUL SYLLABLE TAGS;Lo;0;L;;;;;N;;;;;
+D0C4;HANGUL SYLLABLE TAN;Lo;0;L;;;;;N;;;;;
+D0C5;HANGUL SYLLABLE TANI;Lo;0;L;;;;;N;;;;;
+D0C6;HANGUL SYLLABLE TANH;Lo;0;L;;;;;N;;;;;
+D0C7;HANGUL SYLLABLE TAD;Lo;0;L;;;;;N;;;;;
+D0C8;HANGUL SYLLABLE TAL;Lo;0;L;;;;;N;;;;;
+D0C9;HANGUL SYLLABLE TALG;Lo;0;L;;;;;N;;;;;
+D0CA;HANGUL SYLLABLE TALM;Lo;0;L;;;;;N;;;;;
+D0CB;HANGUL SYLLABLE TALB;Lo;0;L;;;;;N;;;;;
+D0CC;HANGUL SYLLABLE TALS;Lo;0;L;;;;;N;;;;;
+D0CD;HANGUL SYLLABLE TALT;Lo;0;L;;;;;N;;;;;
+D0CE;HANGUL SYLLABLE TALP;Lo;0;L;;;;;N;;;;;
+D0CF;HANGUL SYLLABLE TALH;Lo;0;L;;;;;N;;;;;
+D0D0;HANGUL SYLLABLE TAM;Lo;0;L;;;;;N;;;;;
+D0D1;HANGUL SYLLABLE TAB;Lo;0;L;;;;;N;;;;;
+D0D2;HANGUL SYLLABLE TABS;Lo;0;L;;;;;N;;;;;
+D0D3;HANGUL SYLLABLE TAS;Lo;0;L;;;;;N;;;;;
+D0D4;HANGUL SYLLABLE TASS;Lo;0;L;;;;;N;;;;;
+D0D5;HANGUL SYLLABLE TANG;Lo;0;L;;;;;N;;;;;
+D0D6;HANGUL SYLLABLE TAJ;Lo;0;L;;;;;N;;;;;
+D0D7;HANGUL SYLLABLE TAC;Lo;0;L;;;;;N;;;;;
+D0D8;HANGUL SYLLABLE TAK;Lo;0;L;;;;;N;;;;;
+D0D9;HANGUL SYLLABLE TAT;Lo;0;L;;;;;N;;;;;
+D0DA;HANGUL SYLLABLE TAP;Lo;0;L;;;;;N;;;;;
+D0DB;HANGUL SYLLABLE TAH;Lo;0;L;;;;;N;;;;;
+D0DC;HANGUL SYLLABLE TAE;Lo;0;L;;;;;N;;;;;
+D0DD;HANGUL SYLLABLE TAEG;Lo;0;L;;;;;N;;;;;
+D0DE;HANGUL SYLLABLE TAEGG;Lo;0;L;;;;;N;;;;;
+D0DF;HANGUL SYLLABLE TAEGS;Lo;0;L;;;;;N;;;;;
+D0E0;HANGUL SYLLABLE TAEN;Lo;0;L;;;;;N;;;;;
+D0E1;HANGUL SYLLABLE TAENI;Lo;0;L;;;;;N;;;;;
+D0E2;HANGUL SYLLABLE TAENH;Lo;0;L;;;;;N;;;;;
+D0E3;HANGUL SYLLABLE TAED;Lo;0;L;;;;;N;;;;;
+D0E4;HANGUL SYLLABLE TAEL;Lo;0;L;;;;;N;;;;;
+D0E5;HANGUL SYLLABLE TAELG;Lo;0;L;;;;;N;;;;;
+D0E6;HANGUL SYLLABLE TAELM;Lo;0;L;;;;;N;;;;;
+D0E7;HANGUL SYLLABLE TAELB;Lo;0;L;;;;;N;;;;;
+D0E8;HANGUL SYLLABLE TAELS;Lo;0;L;;;;;N;;;;;
+D0E9;HANGUL SYLLABLE TAELT;Lo;0;L;;;;;N;;;;;
+D0EA;HANGUL SYLLABLE TAELP;Lo;0;L;;;;;N;;;;;
+D0EB;HANGUL SYLLABLE TAELH;Lo;0;L;;;;;N;;;;;
+D0EC;HANGUL SYLLABLE TAEM;Lo;0;L;;;;;N;;;;;
+D0ED;HANGUL SYLLABLE TAEB;Lo;0;L;;;;;N;;;;;
+D0EE;HANGUL SYLLABLE TAEBS;Lo;0;L;;;;;N;;;;;
+D0EF;HANGUL SYLLABLE TAES;Lo;0;L;;;;;N;;;;;
+D0F0;HANGUL SYLLABLE TAESS;Lo;0;L;;;;;N;;;;;
+D0F1;HANGUL SYLLABLE TAENG;Lo;0;L;;;;;N;;;;;
+D0F2;HANGUL SYLLABLE TAEJ;Lo;0;L;;;;;N;;;;;
+D0F3;HANGUL SYLLABLE TAEC;Lo;0;L;;;;;N;;;;;
+D0F4;HANGUL SYLLABLE TAEK;Lo;0;L;;;;;N;;;;;
+D0F5;HANGUL SYLLABLE TAET;Lo;0;L;;;;;N;;;;;
+D0F6;HANGUL SYLLABLE TAEP;Lo;0;L;;;;;N;;;;;
+D0F7;HANGUL SYLLABLE TAEH;Lo;0;L;;;;;N;;;;;
+D0F8;HANGUL SYLLABLE TYA;Lo;0;L;;;;;N;;;;;
+D0F9;HANGUL SYLLABLE TYAG;Lo;0;L;;;;;N;;;;;
+D0FA;HANGUL SYLLABLE TYAGG;Lo;0;L;;;;;N;;;;;
+D0FB;HANGUL SYLLABLE TYAGS;Lo;0;L;;;;;N;;;;;
+D0FC;HANGUL SYLLABLE TYAN;Lo;0;L;;;;;N;;;;;
+D0FD;HANGUL SYLLABLE TYANI;Lo;0;L;;;;;N;;;;;
+D0FE;HANGUL SYLLABLE TYANH;Lo;0;L;;;;;N;;;;;
+D0FF;HANGUL SYLLABLE TYAD;Lo;0;L;;;;;N;;;;;
+D100;HANGUL SYLLABLE TYAL;Lo;0;L;;;;;N;;;;;
+D101;HANGUL SYLLABLE TYALG;Lo;0;L;;;;;N;;;;;
+D102;HANGUL SYLLABLE TYALM;Lo;0;L;;;;;N;;;;;
+D103;HANGUL SYLLABLE TYALB;Lo;0;L;;;;;N;;;;;
+D104;HANGUL SYLLABLE TYALS;Lo;0;L;;;;;N;;;;;
+D105;HANGUL SYLLABLE TYALT;Lo;0;L;;;;;N;;;;;
+D106;HANGUL SYLLABLE TYALP;Lo;0;L;;;;;N;;;;;
+D107;HANGUL SYLLABLE TYALH;Lo;0;L;;;;;N;;;;;
+D108;HANGUL SYLLABLE TYAM;Lo;0;L;;;;;N;;;;;
+D109;HANGUL SYLLABLE TYAB;Lo;0;L;;;;;N;;;;;
+D10A;HANGUL SYLLABLE TYABS;Lo;0;L;;;;;N;;;;;
+D10B;HANGUL SYLLABLE TYAS;Lo;0;L;;;;;N;;;;;
+D10C;HANGUL SYLLABLE TYASS;Lo;0;L;;;;;N;;;;;
+D10D;HANGUL SYLLABLE TYANG;Lo;0;L;;;;;N;;;;;
+D10E;HANGUL SYLLABLE TYAJ;Lo;0;L;;;;;N;;;;;
+D10F;HANGUL SYLLABLE TYAC;Lo;0;L;;;;;N;;;;;
+D110;HANGUL SYLLABLE TYAK;Lo;0;L;;;;;N;;;;;
+D111;HANGUL SYLLABLE TYAT;Lo;0;L;;;;;N;;;;;
+D112;HANGUL SYLLABLE TYAP;Lo;0;L;;;;;N;;;;;
+D113;HANGUL SYLLABLE TYAH;Lo;0;L;;;;;N;;;;;
+D114;HANGUL SYLLABLE TYAE;Lo;0;L;;;;;N;;;;;
+D115;HANGUL SYLLABLE TYAEG;Lo;0;L;;;;;N;;;;;
+D116;HANGUL SYLLABLE TYAEGG;Lo;0;L;;;;;N;;;;;
+D117;HANGUL SYLLABLE TYAEGS;Lo;0;L;;;;;N;;;;;
+D118;HANGUL SYLLABLE TYAEN;Lo;0;L;;;;;N;;;;;
+D119;HANGUL SYLLABLE TYAENI;Lo;0;L;;;;;N;;;;;
+D11A;HANGUL SYLLABLE TYAENH;Lo;0;L;;;;;N;;;;;
+D11B;HANGUL SYLLABLE TYAED;Lo;0;L;;;;;N;;;;;
+D11C;HANGUL SYLLABLE TYAEL;Lo;0;L;;;;;N;;;;;
+D11D;HANGUL SYLLABLE TYAELG;Lo;0;L;;;;;N;;;;;
+D11E;HANGUL SYLLABLE TYAELM;Lo;0;L;;;;;N;;;;;
+D11F;HANGUL SYLLABLE TYAELB;Lo;0;L;;;;;N;;;;;
+D120;HANGUL SYLLABLE TYAELS;Lo;0;L;;;;;N;;;;;
+D121;HANGUL SYLLABLE TYAELT;Lo;0;L;;;;;N;;;;;
+D122;HANGUL SYLLABLE TYAELP;Lo;0;L;;;;;N;;;;;
+D123;HANGUL SYLLABLE TYAELH;Lo;0;L;;;;;N;;;;;
+D124;HANGUL SYLLABLE TYAEM;Lo;0;L;;;;;N;;;;;
+D125;HANGUL SYLLABLE TYAEB;Lo;0;L;;;;;N;;;;;
+D126;HANGUL SYLLABLE TYAEBS;Lo;0;L;;;;;N;;;;;
+D127;HANGUL SYLLABLE TYAES;Lo;0;L;;;;;N;;;;;
+D128;HANGUL SYLLABLE TYAESS;Lo;0;L;;;;;N;;;;;
+D129;HANGUL SYLLABLE TYAENG;Lo;0;L;;;;;N;;;;;
+D12A;HANGUL SYLLABLE TYAEJ;Lo;0;L;;;;;N;;;;;
+D12B;HANGUL SYLLABLE TYAEC;Lo;0;L;;;;;N;;;;;
+D12C;HANGUL SYLLABLE TYAEK;Lo;0;L;;;;;N;;;;;
+D12D;HANGUL SYLLABLE TYAET;Lo;0;L;;;;;N;;;;;
+D12E;HANGUL SYLLABLE TYAEP;Lo;0;L;;;;;N;;;;;
+D12F;HANGUL SYLLABLE TYAEH;Lo;0;L;;;;;N;;;;;
+D130;HANGUL SYLLABLE TEO;Lo;0;L;;;;;N;;;;;
+D131;HANGUL SYLLABLE TEOG;Lo;0;L;;;;;N;;;;;
+D132;HANGUL SYLLABLE TEOGG;Lo;0;L;;;;;N;;;;;
+D133;HANGUL SYLLABLE TEOGS;Lo;0;L;;;;;N;;;;;
+D134;HANGUL SYLLABLE TEON;Lo;0;L;;;;;N;;;;;
+D135;HANGUL SYLLABLE TEONI;Lo;0;L;;;;;N;;;;;
+D136;HANGUL SYLLABLE TEONH;Lo;0;L;;;;;N;;;;;
+D137;HANGUL SYLLABLE TEOD;Lo;0;L;;;;;N;;;;;
+D138;HANGUL SYLLABLE TEOL;Lo;0;L;;;;;N;;;;;
+D139;HANGUL SYLLABLE TEOLG;Lo;0;L;;;;;N;;;;;
+D13A;HANGUL SYLLABLE TEOLM;Lo;0;L;;;;;N;;;;;
+D13B;HANGUL SYLLABLE TEOLB;Lo;0;L;;;;;N;;;;;
+D13C;HANGUL SYLLABLE TEOLS;Lo;0;L;;;;;N;;;;;
+D13D;HANGUL SYLLABLE TEOLT;Lo;0;L;;;;;N;;;;;
+D13E;HANGUL SYLLABLE TEOLP;Lo;0;L;;;;;N;;;;;
+D13F;HANGUL SYLLABLE TEOLH;Lo;0;L;;;;;N;;;;;
+D140;HANGUL SYLLABLE TEOM;Lo;0;L;;;;;N;;;;;
+D141;HANGUL SYLLABLE TEOB;Lo;0;L;;;;;N;;;;;
+D142;HANGUL SYLLABLE TEOBS;Lo;0;L;;;;;N;;;;;
+D143;HANGUL SYLLABLE TEOS;Lo;0;L;;;;;N;;;;;
+D144;HANGUL SYLLABLE TEOSS;Lo;0;L;;;;;N;;;;;
+D145;HANGUL SYLLABLE TEONG;Lo;0;L;;;;;N;;;;;
+D146;HANGUL SYLLABLE TEOJ;Lo;0;L;;;;;N;;;;;
+D147;HANGUL SYLLABLE TEOC;Lo;0;L;;;;;N;;;;;
+D148;HANGUL SYLLABLE TEOK;Lo;0;L;;;;;N;;;;;
+D149;HANGUL SYLLABLE TEOT;Lo;0;L;;;;;N;;;;;
+D14A;HANGUL SYLLABLE TEOP;Lo;0;L;;;;;N;;;;;
+D14B;HANGUL SYLLABLE TEOH;Lo;0;L;;;;;N;;;;;
+D14C;HANGUL SYLLABLE TE;Lo;0;L;;;;;N;;;;;
+D14D;HANGUL SYLLABLE TEG;Lo;0;L;;;;;N;;;;;
+D14E;HANGUL SYLLABLE TEGG;Lo;0;L;;;;;N;;;;;
+D14F;HANGUL SYLLABLE TEGS;Lo;0;L;;;;;N;;;;;
+D150;HANGUL SYLLABLE TEN;Lo;0;L;;;;;N;;;;;
+D151;HANGUL SYLLABLE TENI;Lo;0;L;;;;;N;;;;;
+D152;HANGUL SYLLABLE TENH;Lo;0;L;;;;;N;;;;;
+D153;HANGUL SYLLABLE TED;Lo;0;L;;;;;N;;;;;
+D154;HANGUL SYLLABLE TEL;Lo;0;L;;;;;N;;;;;
+D155;HANGUL SYLLABLE TELG;Lo;0;L;;;;;N;;;;;
+D156;HANGUL SYLLABLE TELM;Lo;0;L;;;;;N;;;;;
+D157;HANGUL SYLLABLE TELB;Lo;0;L;;;;;N;;;;;
+D158;HANGUL SYLLABLE TELS;Lo;0;L;;;;;N;;;;;
+D159;HANGUL SYLLABLE TELT;Lo;0;L;;;;;N;;;;;
+D15A;HANGUL SYLLABLE TELP;Lo;0;L;;;;;N;;;;;
+D15B;HANGUL SYLLABLE TELH;Lo;0;L;;;;;N;;;;;
+D15C;HANGUL SYLLABLE TEM;Lo;0;L;;;;;N;;;;;
+D15D;HANGUL SYLLABLE TEB;Lo;0;L;;;;;N;;;;;
+D15E;HANGUL SYLLABLE TEBS;Lo;0;L;;;;;N;;;;;
+D15F;HANGUL SYLLABLE TES;Lo;0;L;;;;;N;;;;;
+D160;HANGUL SYLLABLE TESS;Lo;0;L;;;;;N;;;;;
+D161;HANGUL SYLLABLE TENG;Lo;0;L;;;;;N;;;;;
+D162;HANGUL SYLLABLE TEJ;Lo;0;L;;;;;N;;;;;
+D163;HANGUL SYLLABLE TEC;Lo;0;L;;;;;N;;;;;
+D164;HANGUL SYLLABLE TEK;Lo;0;L;;;;;N;;;;;
+D165;HANGUL SYLLABLE TET;Lo;0;L;;;;;N;;;;;
+D166;HANGUL SYLLABLE TEP;Lo;0;L;;;;;N;;;;;
+D167;HANGUL SYLLABLE TEH;Lo;0;L;;;;;N;;;;;
+D168;HANGUL SYLLABLE TYEO;Lo;0;L;;;;;N;;;;;
+D169;HANGUL SYLLABLE TYEOG;Lo;0;L;;;;;N;;;;;
+D16A;HANGUL SYLLABLE TYEOGG;Lo;0;L;;;;;N;;;;;
+D16B;HANGUL SYLLABLE TYEOGS;Lo;0;L;;;;;N;;;;;
+D16C;HANGUL SYLLABLE TYEON;Lo;0;L;;;;;N;;;;;
+D16D;HANGUL SYLLABLE TYEONI;Lo;0;L;;;;;N;;;;;
+D16E;HANGUL SYLLABLE TYEONH;Lo;0;L;;;;;N;;;;;
+D16F;HANGUL SYLLABLE TYEOD;Lo;0;L;;;;;N;;;;;
+D170;HANGUL SYLLABLE TYEOL;Lo;0;L;;;;;N;;;;;
+D171;HANGUL SYLLABLE TYEOLG;Lo;0;L;;;;;N;;;;;
+D172;HANGUL SYLLABLE TYEOLM;Lo;0;L;;;;;N;;;;;
+D173;HANGUL SYLLABLE TYEOLB;Lo;0;L;;;;;N;;;;;
+D174;HANGUL SYLLABLE TYEOLS;Lo;0;L;;;;;N;;;;;
+D175;HANGUL SYLLABLE TYEOLT;Lo;0;L;;;;;N;;;;;
+D176;HANGUL SYLLABLE TYEOLP;Lo;0;L;;;;;N;;;;;
+D177;HANGUL SYLLABLE TYEOLH;Lo;0;L;;;;;N;;;;;
+D178;HANGUL SYLLABLE TYEOM;Lo;0;L;;;;;N;;;;;
+D179;HANGUL SYLLABLE TYEOB;Lo;0;L;;;;;N;;;;;
+D17A;HANGUL SYLLABLE TYEOBS;Lo;0;L;;;;;N;;;;;
+D17B;HANGUL SYLLABLE TYEOS;Lo;0;L;;;;;N;;;;;
+D17C;HANGUL SYLLABLE TYEOSS;Lo;0;L;;;;;N;;;;;
+D17D;HANGUL SYLLABLE TYEONG;Lo;0;L;;;;;N;;;;;
+D17E;HANGUL SYLLABLE TYEOJ;Lo;0;L;;;;;N;;;;;
+D17F;HANGUL SYLLABLE TYEOC;Lo;0;L;;;;;N;;;;;
+D180;HANGUL SYLLABLE TYEOK;Lo;0;L;;;;;N;;;;;
+D181;HANGUL SYLLABLE TYEOT;Lo;0;L;;;;;N;;;;;
+D182;HANGUL SYLLABLE TYEOP;Lo;0;L;;;;;N;;;;;
+D183;HANGUL SYLLABLE TYEOH;Lo;0;L;;;;;N;;;;;
+D184;HANGUL SYLLABLE TYE;Lo;0;L;;;;;N;;;;;
+D185;HANGUL SYLLABLE TYEG;Lo;0;L;;;;;N;;;;;
+D186;HANGUL SYLLABLE TYEGG;Lo;0;L;;;;;N;;;;;
+D187;HANGUL SYLLABLE TYEGS;Lo;0;L;;;;;N;;;;;
+D188;HANGUL SYLLABLE TYEN;Lo;0;L;;;;;N;;;;;
+D189;HANGUL SYLLABLE TYENI;Lo;0;L;;;;;N;;;;;
+D18A;HANGUL SYLLABLE TYENH;Lo;0;L;;;;;N;;;;;
+D18B;HANGUL SYLLABLE TYED;Lo;0;L;;;;;N;;;;;
+D18C;HANGUL SYLLABLE TYEL;Lo;0;L;;;;;N;;;;;
+D18D;HANGUL SYLLABLE TYELG;Lo;0;L;;;;;N;;;;;
+D18E;HANGUL SYLLABLE TYELM;Lo;0;L;;;;;N;;;;;
+D18F;HANGUL SYLLABLE TYELB;Lo;0;L;;;;;N;;;;;
+D190;HANGUL SYLLABLE TYELS;Lo;0;L;;;;;N;;;;;
+D191;HANGUL SYLLABLE TYELT;Lo;0;L;;;;;N;;;;;
+D192;HANGUL SYLLABLE TYELP;Lo;0;L;;;;;N;;;;;
+D193;HANGUL SYLLABLE TYELH;Lo;0;L;;;;;N;;;;;
+D194;HANGUL SYLLABLE TYEM;Lo;0;L;;;;;N;;;;;
+D195;HANGUL SYLLABLE TYEB;Lo;0;L;;;;;N;;;;;
+D196;HANGUL SYLLABLE TYEBS;Lo;0;L;;;;;N;;;;;
+D197;HANGUL SYLLABLE TYES;Lo;0;L;;;;;N;;;;;
+D198;HANGUL SYLLABLE TYESS;Lo;0;L;;;;;N;;;;;
+D199;HANGUL SYLLABLE TYENG;Lo;0;L;;;;;N;;;;;
+D19A;HANGUL SYLLABLE TYEJ;Lo;0;L;;;;;N;;;;;
+D19B;HANGUL SYLLABLE TYEC;Lo;0;L;;;;;N;;;;;
+D19C;HANGUL SYLLABLE TYEK;Lo;0;L;;;;;N;;;;;
+D19D;HANGUL SYLLABLE TYET;Lo;0;L;;;;;N;;;;;
+D19E;HANGUL SYLLABLE TYEP;Lo;0;L;;;;;N;;;;;
+D19F;HANGUL SYLLABLE TYEH;Lo;0;L;;;;;N;;;;;
+D1A0;HANGUL SYLLABLE TO;Lo;0;L;;;;;N;;;;;
+D1A1;HANGUL SYLLABLE TOG;Lo;0;L;;;;;N;;;;;
+D1A2;HANGUL SYLLABLE TOGG;Lo;0;L;;;;;N;;;;;
+D1A3;HANGUL SYLLABLE TOGS;Lo;0;L;;;;;N;;;;;
+D1A4;HANGUL SYLLABLE TON;Lo;0;L;;;;;N;;;;;
+D1A5;HANGUL SYLLABLE TONI;Lo;0;L;;;;;N;;;;;
+D1A6;HANGUL SYLLABLE TONH;Lo;0;L;;;;;N;;;;;
+D1A7;HANGUL SYLLABLE TOD;Lo;0;L;;;;;N;;;;;
+D1A8;HANGUL SYLLABLE TOL;Lo;0;L;;;;;N;;;;;
+D1A9;HANGUL SYLLABLE TOLG;Lo;0;L;;;;;N;;;;;
+D1AA;HANGUL SYLLABLE TOLM;Lo;0;L;;;;;N;;;;;
+D1AB;HANGUL SYLLABLE TOLB;Lo;0;L;;;;;N;;;;;
+D1AC;HANGUL SYLLABLE TOLS;Lo;0;L;;;;;N;;;;;
+D1AD;HANGUL SYLLABLE TOLT;Lo;0;L;;;;;N;;;;;
+D1AE;HANGUL SYLLABLE TOLP;Lo;0;L;;;;;N;;;;;
+D1AF;HANGUL SYLLABLE TOLH;Lo;0;L;;;;;N;;;;;
+D1B0;HANGUL SYLLABLE TOM;Lo;0;L;;;;;N;;;;;
+D1B1;HANGUL SYLLABLE TOB;Lo;0;L;;;;;N;;;;;
+D1B2;HANGUL SYLLABLE TOBS;Lo;0;L;;;;;N;;;;;
+D1B3;HANGUL SYLLABLE TOS;Lo;0;L;;;;;N;;;;;
+D1B4;HANGUL SYLLABLE TOSS;Lo;0;L;;;;;N;;;;;
+D1B5;HANGUL SYLLABLE TONG;Lo;0;L;;;;;N;;;;;
+D1B6;HANGUL SYLLABLE TOJ;Lo;0;L;;;;;N;;;;;
+D1B7;HANGUL SYLLABLE TOC;Lo;0;L;;;;;N;;;;;
+D1B8;HANGUL SYLLABLE TOK;Lo;0;L;;;;;N;;;;;
+D1B9;HANGUL SYLLABLE TOT;Lo;0;L;;;;;N;;;;;
+D1BA;HANGUL SYLLABLE TOP;Lo;0;L;;;;;N;;;;;
+D1BB;HANGUL SYLLABLE TOH;Lo;0;L;;;;;N;;;;;
+D1BC;HANGUL SYLLABLE TWA;Lo;0;L;;;;;N;;;;;
+D1BD;HANGUL SYLLABLE TWAG;Lo;0;L;;;;;N;;;;;
+D1BE;HANGUL SYLLABLE TWAGG;Lo;0;L;;;;;N;;;;;
+D1BF;HANGUL SYLLABLE TWAGS;Lo;0;L;;;;;N;;;;;
+D1C0;HANGUL SYLLABLE TWAN;Lo;0;L;;;;;N;;;;;
+D1C1;HANGUL SYLLABLE TWANI;Lo;0;L;;;;;N;;;;;
+D1C2;HANGUL SYLLABLE TWANH;Lo;0;L;;;;;N;;;;;
+D1C3;HANGUL SYLLABLE TWAD;Lo;0;L;;;;;N;;;;;
+D1C4;HANGUL SYLLABLE TWAL;Lo;0;L;;;;;N;;;;;
+D1C5;HANGUL SYLLABLE TWALG;Lo;0;L;;;;;N;;;;;
+D1C6;HANGUL SYLLABLE TWALM;Lo;0;L;;;;;N;;;;;
+D1C7;HANGUL SYLLABLE TWALB;Lo;0;L;;;;;N;;;;;
+D1C8;HANGUL SYLLABLE TWALS;Lo;0;L;;;;;N;;;;;
+D1C9;HANGUL SYLLABLE TWALT;Lo;0;L;;;;;N;;;;;
+D1CA;HANGUL SYLLABLE TWALP;Lo;0;L;;;;;N;;;;;
+D1CB;HANGUL SYLLABLE TWALH;Lo;0;L;;;;;N;;;;;
+D1CC;HANGUL SYLLABLE TWAM;Lo;0;L;;;;;N;;;;;
+D1CD;HANGUL SYLLABLE TWAB;Lo;0;L;;;;;N;;;;;
+D1CE;HANGUL SYLLABLE TWABS;Lo;0;L;;;;;N;;;;;
+D1CF;HANGUL SYLLABLE TWAS;Lo;0;L;;;;;N;;;;;
+D1D0;HANGUL SYLLABLE TWASS;Lo;0;L;;;;;N;;;;;
+D1D1;HANGUL SYLLABLE TWANG;Lo;0;L;;;;;N;;;;;
+D1D2;HANGUL SYLLABLE TWAJ;Lo;0;L;;;;;N;;;;;
+D1D3;HANGUL SYLLABLE TWAC;Lo;0;L;;;;;N;;;;;
+D1D4;HANGUL SYLLABLE TWAK;Lo;0;L;;;;;N;;;;;
+D1D5;HANGUL SYLLABLE TWAT;Lo;0;L;;;;;N;;;;;
+D1D6;HANGUL SYLLABLE TWAP;Lo;0;L;;;;;N;;;;;
+D1D7;HANGUL SYLLABLE TWAH;Lo;0;L;;;;;N;;;;;
+D1D8;HANGUL SYLLABLE TWAE;Lo;0;L;;;;;N;;;;;
+D1D9;HANGUL SYLLABLE TWAEG;Lo;0;L;;;;;N;;;;;
+D1DA;HANGUL SYLLABLE TWAEGG;Lo;0;L;;;;;N;;;;;
+D1DB;HANGUL SYLLABLE TWAEGS;Lo;0;L;;;;;N;;;;;
+D1DC;HANGUL SYLLABLE TWAEN;Lo;0;L;;;;;N;;;;;
+D1DD;HANGUL SYLLABLE TWAENI;Lo;0;L;;;;;N;;;;;
+D1DE;HANGUL SYLLABLE TWAENH;Lo;0;L;;;;;N;;;;;
+D1DF;HANGUL SYLLABLE TWAED;Lo;0;L;;;;;N;;;;;
+D1E0;HANGUL SYLLABLE TWAEL;Lo;0;L;;;;;N;;;;;
+D1E1;HANGUL SYLLABLE TWAELG;Lo;0;L;;;;;N;;;;;
+D1E2;HANGUL SYLLABLE TWAELM;Lo;0;L;;;;;N;;;;;
+D1E3;HANGUL SYLLABLE TWAELB;Lo;0;L;;;;;N;;;;;
+D1E4;HANGUL SYLLABLE TWAELS;Lo;0;L;;;;;N;;;;;
+D1E5;HANGUL SYLLABLE TWAELT;Lo;0;L;;;;;N;;;;;
+D1E6;HANGUL SYLLABLE TWAELP;Lo;0;L;;;;;N;;;;;
+D1E7;HANGUL SYLLABLE TWAELH;Lo;0;L;;;;;N;;;;;
+D1E8;HANGUL SYLLABLE TWAEM;Lo;0;L;;;;;N;;;;;
+D1E9;HANGUL SYLLABLE TWAEB;Lo;0;L;;;;;N;;;;;
+D1EA;HANGUL SYLLABLE TWAEBS;Lo;0;L;;;;;N;;;;;
+D1EB;HANGUL SYLLABLE TWAES;Lo;0;L;;;;;N;;;;;
+D1EC;HANGUL SYLLABLE TWAESS;Lo;0;L;;;;;N;;;;;
+D1ED;HANGUL SYLLABLE TWAENG;Lo;0;L;;;;;N;;;;;
+D1EE;HANGUL SYLLABLE TWAEJ;Lo;0;L;;;;;N;;;;;
+D1EF;HANGUL SYLLABLE TWAEC;Lo;0;L;;;;;N;;;;;
+D1F0;HANGUL SYLLABLE TWAEK;Lo;0;L;;;;;N;;;;;
+D1F1;HANGUL SYLLABLE TWAET;Lo;0;L;;;;;N;;;;;
+D1F2;HANGUL SYLLABLE TWAEP;Lo;0;L;;;;;N;;;;;
+D1F3;HANGUL SYLLABLE TWAEH;Lo;0;L;;;;;N;;;;;
+D1F4;HANGUL SYLLABLE TOE;Lo;0;L;;;;;N;;;;;
+D1F5;HANGUL SYLLABLE TOEG;Lo;0;L;;;;;N;;;;;
+D1F6;HANGUL SYLLABLE TOEGG;Lo;0;L;;;;;N;;;;;
+D1F7;HANGUL SYLLABLE TOEGS;Lo;0;L;;;;;N;;;;;
+D1F8;HANGUL SYLLABLE TOEN;Lo;0;L;;;;;N;;;;;
+D1F9;HANGUL SYLLABLE TOENI;Lo;0;L;;;;;N;;;;;
+D1FA;HANGUL SYLLABLE TOENH;Lo;0;L;;;;;N;;;;;
+D1FB;HANGUL SYLLABLE TOED;Lo;0;L;;;;;N;;;;;
+D1FC;HANGUL SYLLABLE TOEL;Lo;0;L;;;;;N;;;;;
+D1FD;HANGUL SYLLABLE TOELG;Lo;0;L;;;;;N;;;;;
+D1FE;HANGUL SYLLABLE TOELM;Lo;0;L;;;;;N;;;;;
+D1FF;HANGUL SYLLABLE TOELB;Lo;0;L;;;;;N;;;;;
+D200;HANGUL SYLLABLE TOELS;Lo;0;L;;;;;N;;;;;
+D201;HANGUL SYLLABLE TOELT;Lo;0;L;;;;;N;;;;;
+D202;HANGUL SYLLABLE TOELP;Lo;0;L;;;;;N;;;;;
+D203;HANGUL SYLLABLE TOELH;Lo;0;L;;;;;N;;;;;
+D204;HANGUL SYLLABLE TOEM;Lo;0;L;;;;;N;;;;;
+D205;HANGUL SYLLABLE TOEB;Lo;0;L;;;;;N;;;;;
+D206;HANGUL SYLLABLE TOEBS;Lo;0;L;;;;;N;;;;;
+D207;HANGUL SYLLABLE TOES;Lo;0;L;;;;;N;;;;;
+D208;HANGUL SYLLABLE TOESS;Lo;0;L;;;;;N;;;;;
+D209;HANGUL SYLLABLE TOENG;Lo;0;L;;;;;N;;;;;
+D20A;HANGUL SYLLABLE TOEJ;Lo;0;L;;;;;N;;;;;
+D20B;HANGUL SYLLABLE TOEC;Lo;0;L;;;;;N;;;;;
+D20C;HANGUL SYLLABLE TOEK;Lo;0;L;;;;;N;;;;;
+D20D;HANGUL SYLLABLE TOET;Lo;0;L;;;;;N;;;;;
+D20E;HANGUL SYLLABLE TOEP;Lo;0;L;;;;;N;;;;;
+D20F;HANGUL SYLLABLE TOEH;Lo;0;L;;;;;N;;;;;
+D210;HANGUL SYLLABLE TYO;Lo;0;L;;;;;N;;;;;
+D211;HANGUL SYLLABLE TYOG;Lo;0;L;;;;;N;;;;;
+D212;HANGUL SYLLABLE TYOGG;Lo;0;L;;;;;N;;;;;
+D213;HANGUL SYLLABLE TYOGS;Lo;0;L;;;;;N;;;;;
+D214;HANGUL SYLLABLE TYON;Lo;0;L;;;;;N;;;;;
+D215;HANGUL SYLLABLE TYONI;Lo;0;L;;;;;N;;;;;
+D216;HANGUL SYLLABLE TYONH;Lo;0;L;;;;;N;;;;;
+D217;HANGUL SYLLABLE TYOD;Lo;0;L;;;;;N;;;;;
+D218;HANGUL SYLLABLE TYOL;Lo;0;L;;;;;N;;;;;
+D219;HANGUL SYLLABLE TYOLG;Lo;0;L;;;;;N;;;;;
+D21A;HANGUL SYLLABLE TYOLM;Lo;0;L;;;;;N;;;;;
+D21B;HANGUL SYLLABLE TYOLB;Lo;0;L;;;;;N;;;;;
+D21C;HANGUL SYLLABLE TYOLS;Lo;0;L;;;;;N;;;;;
+D21D;HANGUL SYLLABLE TYOLT;Lo;0;L;;;;;N;;;;;
+D21E;HANGUL SYLLABLE TYOLP;Lo;0;L;;;;;N;;;;;
+D21F;HANGUL SYLLABLE TYOLH;Lo;0;L;;;;;N;;;;;
+D220;HANGUL SYLLABLE TYOM;Lo;0;L;;;;;N;;;;;
+D221;HANGUL SYLLABLE TYOB;Lo;0;L;;;;;N;;;;;
+D222;HANGUL SYLLABLE TYOBS;Lo;0;L;;;;;N;;;;;
+D223;HANGUL SYLLABLE TYOS;Lo;0;L;;;;;N;;;;;
+D224;HANGUL SYLLABLE TYOSS;Lo;0;L;;;;;N;;;;;
+D225;HANGUL SYLLABLE TYONG;Lo;0;L;;;;;N;;;;;
+D226;HANGUL SYLLABLE TYOJ;Lo;0;L;;;;;N;;;;;
+D227;HANGUL SYLLABLE TYOC;Lo;0;L;;;;;N;;;;;
+D228;HANGUL SYLLABLE TYOK;Lo;0;L;;;;;N;;;;;
+D229;HANGUL SYLLABLE TYOT;Lo;0;L;;;;;N;;;;;
+D22A;HANGUL SYLLABLE TYOP;Lo;0;L;;;;;N;;;;;
+D22B;HANGUL SYLLABLE TYOH;Lo;0;L;;;;;N;;;;;
+D22C;HANGUL SYLLABLE TU;Lo;0;L;;;;;N;;;;;
+D22D;HANGUL SYLLABLE TUG;Lo;0;L;;;;;N;;;;;
+D22E;HANGUL SYLLABLE TUGG;Lo;0;L;;;;;N;;;;;
+D22F;HANGUL SYLLABLE TUGS;Lo;0;L;;;;;N;;;;;
+D230;HANGUL SYLLABLE TUN;Lo;0;L;;;;;N;;;;;
+D231;HANGUL SYLLABLE TUNI;Lo;0;L;;;;;N;;;;;
+D232;HANGUL SYLLABLE TUNH;Lo;0;L;;;;;N;;;;;
+D233;HANGUL SYLLABLE TUD;Lo;0;L;;;;;N;;;;;
+D234;HANGUL SYLLABLE TUL;Lo;0;L;;;;;N;;;;;
+D235;HANGUL SYLLABLE TULG;Lo;0;L;;;;;N;;;;;
+D236;HANGUL SYLLABLE TULM;Lo;0;L;;;;;N;;;;;
+D237;HANGUL SYLLABLE TULB;Lo;0;L;;;;;N;;;;;
+D238;HANGUL SYLLABLE TULS;Lo;0;L;;;;;N;;;;;
+D239;HANGUL SYLLABLE TULT;Lo;0;L;;;;;N;;;;;
+D23A;HANGUL SYLLABLE TULP;Lo;0;L;;;;;N;;;;;
+D23B;HANGUL SYLLABLE TULH;Lo;0;L;;;;;N;;;;;
+D23C;HANGUL SYLLABLE TUM;Lo;0;L;;;;;N;;;;;
+D23D;HANGUL SYLLABLE TUB;Lo;0;L;;;;;N;;;;;
+D23E;HANGUL SYLLABLE TUBS;Lo;0;L;;;;;N;;;;;
+D23F;HANGUL SYLLABLE TUS;Lo;0;L;;;;;N;;;;;
+D240;HANGUL SYLLABLE TUSS;Lo;0;L;;;;;N;;;;;
+D241;HANGUL SYLLABLE TUNG;Lo;0;L;;;;;N;;;;;
+D242;HANGUL SYLLABLE TUJ;Lo;0;L;;;;;N;;;;;
+D243;HANGUL SYLLABLE TUC;Lo;0;L;;;;;N;;;;;
+D244;HANGUL SYLLABLE TUK;Lo;0;L;;;;;N;;;;;
+D245;HANGUL SYLLABLE TUT;Lo;0;L;;;;;N;;;;;
+D246;HANGUL SYLLABLE TUP;Lo;0;L;;;;;N;;;;;
+D247;HANGUL SYLLABLE TUH;Lo;0;L;;;;;N;;;;;
+D248;HANGUL SYLLABLE TWEO;Lo;0;L;;;;;N;;;;;
+D249;HANGUL SYLLABLE TWEOG;Lo;0;L;;;;;N;;;;;
+D24A;HANGUL SYLLABLE TWEOGG;Lo;0;L;;;;;N;;;;;
+D24B;HANGUL SYLLABLE TWEOGS;Lo;0;L;;;;;N;;;;;
+D24C;HANGUL SYLLABLE TWEON;Lo;0;L;;;;;N;;;;;
+D24D;HANGUL SYLLABLE TWEONI;Lo;0;L;;;;;N;;;;;
+D24E;HANGUL SYLLABLE TWEONH;Lo;0;L;;;;;N;;;;;
+D24F;HANGUL SYLLABLE TWEOD;Lo;0;L;;;;;N;;;;;
+D250;HANGUL SYLLABLE TWEOL;Lo;0;L;;;;;N;;;;;
+D251;HANGUL SYLLABLE TWEOLG;Lo;0;L;;;;;N;;;;;
+D252;HANGUL SYLLABLE TWEOLM;Lo;0;L;;;;;N;;;;;
+D253;HANGUL SYLLABLE TWEOLB;Lo;0;L;;;;;N;;;;;
+D254;HANGUL SYLLABLE TWEOLS;Lo;0;L;;;;;N;;;;;
+D255;HANGUL SYLLABLE TWEOLT;Lo;0;L;;;;;N;;;;;
+D256;HANGUL SYLLABLE TWEOLP;Lo;0;L;;;;;N;;;;;
+D257;HANGUL SYLLABLE TWEOLH;Lo;0;L;;;;;N;;;;;
+D258;HANGUL SYLLABLE TWEOM;Lo;0;L;;;;;N;;;;;
+D259;HANGUL SYLLABLE TWEOB;Lo;0;L;;;;;N;;;;;
+D25A;HANGUL SYLLABLE TWEOBS;Lo;0;L;;;;;N;;;;;
+D25B;HANGUL SYLLABLE TWEOS;Lo;0;L;;;;;N;;;;;
+D25C;HANGUL SYLLABLE TWEOSS;Lo;0;L;;;;;N;;;;;
+D25D;HANGUL SYLLABLE TWEONG;Lo;0;L;;;;;N;;;;;
+D25E;HANGUL SYLLABLE TWEOJ;Lo;0;L;;;;;N;;;;;
+D25F;HANGUL SYLLABLE TWEOC;Lo;0;L;;;;;N;;;;;
+D260;HANGUL SYLLABLE TWEOK;Lo;0;L;;;;;N;;;;;
+D261;HANGUL SYLLABLE TWEOT;Lo;0;L;;;;;N;;;;;
+D262;HANGUL SYLLABLE TWEOP;Lo;0;L;;;;;N;;;;;
+D263;HANGUL SYLLABLE TWEOH;Lo;0;L;;;;;N;;;;;
+D264;HANGUL SYLLABLE TWE;Lo;0;L;;;;;N;;;;;
+D265;HANGUL SYLLABLE TWEG;Lo;0;L;;;;;N;;;;;
+D266;HANGUL SYLLABLE TWEGG;Lo;0;L;;;;;N;;;;;
+D267;HANGUL SYLLABLE TWEGS;Lo;0;L;;;;;N;;;;;
+D268;HANGUL SYLLABLE TWEN;Lo;0;L;;;;;N;;;;;
+D269;HANGUL SYLLABLE TWENI;Lo;0;L;;;;;N;;;;;
+D26A;HANGUL SYLLABLE TWENH;Lo;0;L;;;;;N;;;;;
+D26B;HANGUL SYLLABLE TWED;Lo;0;L;;;;;N;;;;;
+D26C;HANGUL SYLLABLE TWEL;Lo;0;L;;;;;N;;;;;
+D26D;HANGUL SYLLABLE TWELG;Lo;0;L;;;;;N;;;;;
+D26E;HANGUL SYLLABLE TWELM;Lo;0;L;;;;;N;;;;;
+D26F;HANGUL SYLLABLE TWELB;Lo;0;L;;;;;N;;;;;
+D270;HANGUL SYLLABLE TWELS;Lo;0;L;;;;;N;;;;;
+D271;HANGUL SYLLABLE TWELT;Lo;0;L;;;;;N;;;;;
+D272;HANGUL SYLLABLE TWELP;Lo;0;L;;;;;N;;;;;
+D273;HANGUL SYLLABLE TWELH;Lo;0;L;;;;;N;;;;;
+D274;HANGUL SYLLABLE TWEM;Lo;0;L;;;;;N;;;;;
+D275;HANGUL SYLLABLE TWEB;Lo;0;L;;;;;N;;;;;
+D276;HANGUL SYLLABLE TWEBS;Lo;0;L;;;;;N;;;;;
+D277;HANGUL SYLLABLE TWES;Lo;0;L;;;;;N;;;;;
+D278;HANGUL SYLLABLE TWESS;Lo;0;L;;;;;N;;;;;
+D279;HANGUL SYLLABLE TWENG;Lo;0;L;;;;;N;;;;;
+D27A;HANGUL SYLLABLE TWEJ;Lo;0;L;;;;;N;;;;;
+D27B;HANGUL SYLLABLE TWEC;Lo;0;L;;;;;N;;;;;
+D27C;HANGUL SYLLABLE TWEK;Lo;0;L;;;;;N;;;;;
+D27D;HANGUL SYLLABLE TWET;Lo;0;L;;;;;N;;;;;
+D27E;HANGUL SYLLABLE TWEP;Lo;0;L;;;;;N;;;;;
+D27F;HANGUL SYLLABLE TWEH;Lo;0;L;;;;;N;;;;;
+D280;HANGUL SYLLABLE TWI;Lo;0;L;;;;;N;;;;;
+D281;HANGUL SYLLABLE TWIG;Lo;0;L;;;;;N;;;;;
+D282;HANGUL SYLLABLE TWIGG;Lo;0;L;;;;;N;;;;;
+D283;HANGUL SYLLABLE TWIGS;Lo;0;L;;;;;N;;;;;
+D284;HANGUL SYLLABLE TWIN;Lo;0;L;;;;;N;;;;;
+D285;HANGUL SYLLABLE TWINI;Lo;0;L;;;;;N;;;;;
+D286;HANGUL SYLLABLE TWINH;Lo;0;L;;;;;N;;;;;
+D287;HANGUL SYLLABLE TWID;Lo;0;L;;;;;N;;;;;
+D288;HANGUL SYLLABLE TWIL;Lo;0;L;;;;;N;;;;;
+D289;HANGUL SYLLABLE TWILG;Lo;0;L;;;;;N;;;;;
+D28A;HANGUL SYLLABLE TWILM;Lo;0;L;;;;;N;;;;;
+D28B;HANGUL SYLLABLE TWILB;Lo;0;L;;;;;N;;;;;
+D28C;HANGUL SYLLABLE TWILS;Lo;0;L;;;;;N;;;;;
+D28D;HANGUL SYLLABLE TWILT;Lo;0;L;;;;;N;;;;;
+D28E;HANGUL SYLLABLE TWILP;Lo;0;L;;;;;N;;;;;
+D28F;HANGUL SYLLABLE TWILH;Lo;0;L;;;;;N;;;;;
+D290;HANGUL SYLLABLE TWIM;Lo;0;L;;;;;N;;;;;
+D291;HANGUL SYLLABLE TWIB;Lo;0;L;;;;;N;;;;;
+D292;HANGUL SYLLABLE TWIBS;Lo;0;L;;;;;N;;;;;
+D293;HANGUL SYLLABLE TWIS;Lo;0;L;;;;;N;;;;;
+D294;HANGUL SYLLABLE TWISS;Lo;0;L;;;;;N;;;;;
+D295;HANGUL SYLLABLE TWING;Lo;0;L;;;;;N;;;;;
+D296;HANGUL SYLLABLE TWIJ;Lo;0;L;;;;;N;;;;;
+D297;HANGUL SYLLABLE TWIC;Lo;0;L;;;;;N;;;;;
+D298;HANGUL SYLLABLE TWIK;Lo;0;L;;;;;N;;;;;
+D299;HANGUL SYLLABLE TWIT;Lo;0;L;;;;;N;;;;;
+D29A;HANGUL SYLLABLE TWIP;Lo;0;L;;;;;N;;;;;
+D29B;HANGUL SYLLABLE TWIH;Lo;0;L;;;;;N;;;;;
+D29C;HANGUL SYLLABLE TYU;Lo;0;L;;;;;N;;;;;
+D29D;HANGUL SYLLABLE TYUG;Lo;0;L;;;;;N;;;;;
+D29E;HANGUL SYLLABLE TYUGG;Lo;0;L;;;;;N;;;;;
+D29F;HANGUL SYLLABLE TYUGS;Lo;0;L;;;;;N;;;;;
+D2A0;HANGUL SYLLABLE TYUN;Lo;0;L;;;;;N;;;;;
+D2A1;HANGUL SYLLABLE TYUNI;Lo;0;L;;;;;N;;;;;
+D2A2;HANGUL SYLLABLE TYUNH;Lo;0;L;;;;;N;;;;;
+D2A3;HANGUL SYLLABLE TYUD;Lo;0;L;;;;;N;;;;;
+D2A4;HANGUL SYLLABLE TYUL;Lo;0;L;;;;;N;;;;;
+D2A5;HANGUL SYLLABLE TYULG;Lo;0;L;;;;;N;;;;;
+D2A6;HANGUL SYLLABLE TYULM;Lo;0;L;;;;;N;;;;;
+D2A7;HANGUL SYLLABLE TYULB;Lo;0;L;;;;;N;;;;;
+D2A8;HANGUL SYLLABLE TYULS;Lo;0;L;;;;;N;;;;;
+D2A9;HANGUL SYLLABLE TYULT;Lo;0;L;;;;;N;;;;;
+D2AA;HANGUL SYLLABLE TYULP;Lo;0;L;;;;;N;;;;;
+D2AB;HANGUL SYLLABLE TYULH;Lo;0;L;;;;;N;;;;;
+D2AC;HANGUL SYLLABLE TYUM;Lo;0;L;;;;;N;;;;;
+D2AD;HANGUL SYLLABLE TYUB;Lo;0;L;;;;;N;;;;;
+D2AE;HANGUL SYLLABLE TYUBS;Lo;0;L;;;;;N;;;;;
+D2AF;HANGUL SYLLABLE TYUS;Lo;0;L;;;;;N;;;;;
+D2B0;HANGUL SYLLABLE TYUSS;Lo;0;L;;;;;N;;;;;
+D2B1;HANGUL SYLLABLE TYUNG;Lo;0;L;;;;;N;;;;;
+D2B2;HANGUL SYLLABLE TYUJ;Lo;0;L;;;;;N;;;;;
+D2B3;HANGUL SYLLABLE TYUC;Lo;0;L;;;;;N;;;;;
+D2B4;HANGUL SYLLABLE TYUK;Lo;0;L;;;;;N;;;;;
+D2B5;HANGUL SYLLABLE TYUT;Lo;0;L;;;;;N;;;;;
+D2B6;HANGUL SYLLABLE TYUP;Lo;0;L;;;;;N;;;;;
+D2B7;HANGUL SYLLABLE TYUH;Lo;0;L;;;;;N;;;;;
+D2B8;HANGUL SYLLABLE TEU;Lo;0;L;;;;;N;;;;;
+D2B9;HANGUL SYLLABLE TEUG;Lo;0;L;;;;;N;;;;;
+D2BA;HANGUL SYLLABLE TEUGG;Lo;0;L;;;;;N;;;;;
+D2BB;HANGUL SYLLABLE TEUGS;Lo;0;L;;;;;N;;;;;
+D2BC;HANGUL SYLLABLE TEUN;Lo;0;L;;;;;N;;;;;
+D2BD;HANGUL SYLLABLE TEUNI;Lo;0;L;;;;;N;;;;;
+D2BE;HANGUL SYLLABLE TEUNH;Lo;0;L;;;;;N;;;;;
+D2BF;HANGUL SYLLABLE TEUD;Lo;0;L;;;;;N;;;;;
+D2C0;HANGUL SYLLABLE TEUL;Lo;0;L;;;;;N;;;;;
+D2C1;HANGUL SYLLABLE TEULG;Lo;0;L;;;;;N;;;;;
+D2C2;HANGUL SYLLABLE TEULM;Lo;0;L;;;;;N;;;;;
+D2C3;HANGUL SYLLABLE TEULB;Lo;0;L;;;;;N;;;;;
+D2C4;HANGUL SYLLABLE TEULS;Lo;0;L;;;;;N;;;;;
+D2C5;HANGUL SYLLABLE TEULT;Lo;0;L;;;;;N;;;;;
+D2C6;HANGUL SYLLABLE TEULP;Lo;0;L;;;;;N;;;;;
+D2C7;HANGUL SYLLABLE TEULH;Lo;0;L;;;;;N;;;;;
+D2C8;HANGUL SYLLABLE TEUM;Lo;0;L;;;;;N;;;;;
+D2C9;HANGUL SYLLABLE TEUB;Lo;0;L;;;;;N;;;;;
+D2CA;HANGUL SYLLABLE TEUBS;Lo;0;L;;;;;N;;;;;
+D2CB;HANGUL SYLLABLE TEUS;Lo;0;L;;;;;N;;;;;
+D2CC;HANGUL SYLLABLE TEUSS;Lo;0;L;;;;;N;;;;;
+D2CD;HANGUL SYLLABLE TEUNG;Lo;0;L;;;;;N;;;;;
+D2CE;HANGUL SYLLABLE TEUJ;Lo;0;L;;;;;N;;;;;
+D2CF;HANGUL SYLLABLE TEUC;Lo;0;L;;;;;N;;;;;
+D2D0;HANGUL SYLLABLE TEUK;Lo;0;L;;;;;N;;;;;
+D2D1;HANGUL SYLLABLE TEUT;Lo;0;L;;;;;N;;;;;
+D2D2;HANGUL SYLLABLE TEUP;Lo;0;L;;;;;N;;;;;
+D2D3;HANGUL SYLLABLE TEUH;Lo;0;L;;;;;N;;;;;
+D2D4;HANGUL SYLLABLE TYI;Lo;0;L;;;;;N;;;;;
+D2D5;HANGUL SYLLABLE TYIG;Lo;0;L;;;;;N;;;;;
+D2D6;HANGUL SYLLABLE TYIGG;Lo;0;L;;;;;N;;;;;
+D2D7;HANGUL SYLLABLE TYIGS;Lo;0;L;;;;;N;;;;;
+D2D8;HANGUL SYLLABLE TYIN;Lo;0;L;;;;;N;;;;;
+D2D9;HANGUL SYLLABLE TYINI;Lo;0;L;;;;;N;;;;;
+D2DA;HANGUL SYLLABLE TYINH;Lo;0;L;;;;;N;;;;;
+D2DB;HANGUL SYLLABLE TYID;Lo;0;L;;;;;N;;;;;
+D2DC;HANGUL SYLLABLE TYIL;Lo;0;L;;;;;N;;;;;
+D2DD;HANGUL SYLLABLE TYILG;Lo;0;L;;;;;N;;;;;
+D2DE;HANGUL SYLLABLE TYILM;Lo;0;L;;;;;N;;;;;
+D2DF;HANGUL SYLLABLE TYILB;Lo;0;L;;;;;N;;;;;
+D2E0;HANGUL SYLLABLE TYILS;Lo;0;L;;;;;N;;;;;
+D2E1;HANGUL SYLLABLE TYILT;Lo;0;L;;;;;N;;;;;
+D2E2;HANGUL SYLLABLE TYILP;Lo;0;L;;;;;N;;;;;
+D2E3;HANGUL SYLLABLE TYILH;Lo;0;L;;;;;N;;;;;
+D2E4;HANGUL SYLLABLE TYIM;Lo;0;L;;;;;N;;;;;
+D2E5;HANGUL SYLLABLE TYIB;Lo;0;L;;;;;N;;;;;
+D2E6;HANGUL SYLLABLE TYIBS;Lo;0;L;;;;;N;;;;;
+D2E7;HANGUL SYLLABLE TYIS;Lo;0;L;;;;;N;;;;;
+D2E8;HANGUL SYLLABLE TYISS;Lo;0;L;;;;;N;;;;;
+D2E9;HANGUL SYLLABLE TYING;Lo;0;L;;;;;N;;;;;
+D2EA;HANGUL SYLLABLE TYIJ;Lo;0;L;;;;;N;;;;;
+D2EB;HANGUL SYLLABLE TYIC;Lo;0;L;;;;;N;;;;;
+D2EC;HANGUL SYLLABLE TYIK;Lo;0;L;;;;;N;;;;;
+D2ED;HANGUL SYLLABLE TYIT;Lo;0;L;;;;;N;;;;;
+D2EE;HANGUL SYLLABLE TYIP;Lo;0;L;;;;;N;;;;;
+D2EF;HANGUL SYLLABLE TYIH;Lo;0;L;;;;;N;;;;;
+D2F0;HANGUL SYLLABLE TI;Lo;0;L;;;;;N;;;;;
+D2F1;HANGUL SYLLABLE TIG;Lo;0;L;;;;;N;;;;;
+D2F2;HANGUL SYLLABLE TIGG;Lo;0;L;;;;;N;;;;;
+D2F3;HANGUL SYLLABLE TIGS;Lo;0;L;;;;;N;;;;;
+D2F4;HANGUL SYLLABLE TIN;Lo;0;L;;;;;N;;;;;
+D2F5;HANGUL SYLLABLE TINI;Lo;0;L;;;;;N;;;;;
+D2F6;HANGUL SYLLABLE TINH;Lo;0;L;;;;;N;;;;;
+D2F7;HANGUL SYLLABLE TID;Lo;0;L;;;;;N;;;;;
+D2F8;HANGUL SYLLABLE TIL;Lo;0;L;;;;;N;;;;;
+D2F9;HANGUL SYLLABLE TILG;Lo;0;L;;;;;N;;;;;
+D2FA;HANGUL SYLLABLE TILM;Lo;0;L;;;;;N;;;;;
+D2FB;HANGUL SYLLABLE TILB;Lo;0;L;;;;;N;;;;;
+D2FC;HANGUL SYLLABLE TILS;Lo;0;L;;;;;N;;;;;
+D2FD;HANGUL SYLLABLE TILT;Lo;0;L;;;;;N;;;;;
+D2FE;HANGUL SYLLABLE TILP;Lo;0;L;;;;;N;;;;;
+D2FF;HANGUL SYLLABLE TILH;Lo;0;L;;;;;N;;;;;
+D300;HANGUL SYLLABLE TIM;Lo;0;L;;;;;N;;;;;
+D301;HANGUL SYLLABLE TIB;Lo;0;L;;;;;N;;;;;
+D302;HANGUL SYLLABLE TIBS;Lo;0;L;;;;;N;;;;;
+D303;HANGUL SYLLABLE TIS;Lo;0;L;;;;;N;;;;;
+D304;HANGUL SYLLABLE TISS;Lo;0;L;;;;;N;;;;;
+D305;HANGUL SYLLABLE TING;Lo;0;L;;;;;N;;;;;
+D306;HANGUL SYLLABLE TIJ;Lo;0;L;;;;;N;;;;;
+D307;HANGUL SYLLABLE TIC;Lo;0;L;;;;;N;;;;;
+D308;HANGUL SYLLABLE TIK;Lo;0;L;;;;;N;;;;;
+D309;HANGUL SYLLABLE TIT;Lo;0;L;;;;;N;;;;;
+D30A;HANGUL SYLLABLE TIP;Lo;0;L;;;;;N;;;;;
+D30B;HANGUL SYLLABLE TIH;Lo;0;L;;;;;N;;;;;
+D30C;HANGUL SYLLABLE PA;Lo;0;L;;;;;N;;;;;
+D30D;HANGUL SYLLABLE PAG;Lo;0;L;;;;;N;;;;;
+D30E;HANGUL SYLLABLE PAGG;Lo;0;L;;;;;N;;;;;
+D30F;HANGUL SYLLABLE PAGS;Lo;0;L;;;;;N;;;;;
+D310;HANGUL SYLLABLE PAN;Lo;0;L;;;;;N;;;;;
+D311;HANGUL SYLLABLE PANI;Lo;0;L;;;;;N;;;;;
+D312;HANGUL SYLLABLE PANH;Lo;0;L;;;;;N;;;;;
+D313;HANGUL SYLLABLE PAD;Lo;0;L;;;;;N;;;;;
+D314;HANGUL SYLLABLE PAL;Lo;0;L;;;;;N;;;;;
+D315;HANGUL SYLLABLE PALG;Lo;0;L;;;;;N;;;;;
+D316;HANGUL SYLLABLE PALM;Lo;0;L;;;;;N;;;;;
+D317;HANGUL SYLLABLE PALB;Lo;0;L;;;;;N;;;;;
+D318;HANGUL SYLLABLE PALS;Lo;0;L;;;;;N;;;;;
+D319;HANGUL SYLLABLE PALT;Lo;0;L;;;;;N;;;;;
+D31A;HANGUL SYLLABLE PALP;Lo;0;L;;;;;N;;;;;
+D31B;HANGUL SYLLABLE PALH;Lo;0;L;;;;;N;;;;;
+D31C;HANGUL SYLLABLE PAM;Lo;0;L;;;;;N;;;;;
+D31D;HANGUL SYLLABLE PAB;Lo;0;L;;;;;N;;;;;
+D31E;HANGUL SYLLABLE PABS;Lo;0;L;;;;;N;;;;;
+D31F;HANGUL SYLLABLE PAS;Lo;0;L;;;;;N;;;;;
+D320;HANGUL SYLLABLE PASS;Lo;0;L;;;;;N;;;;;
+D321;HANGUL SYLLABLE PANG;Lo;0;L;;;;;N;;;;;
+D322;HANGUL SYLLABLE PAJ;Lo;0;L;;;;;N;;;;;
+D323;HANGUL SYLLABLE PAC;Lo;0;L;;;;;N;;;;;
+D324;HANGUL SYLLABLE PAK;Lo;0;L;;;;;N;;;;;
+D325;HANGUL SYLLABLE PAT;Lo;0;L;;;;;N;;;;;
+D326;HANGUL SYLLABLE PAP;Lo;0;L;;;;;N;;;;;
+D327;HANGUL SYLLABLE PAH;Lo;0;L;;;;;N;;;;;
+D328;HANGUL SYLLABLE PAE;Lo;0;L;;;;;N;;;;;
+D329;HANGUL SYLLABLE PAEG;Lo;0;L;;;;;N;;;;;
+D32A;HANGUL SYLLABLE PAEGG;Lo;0;L;;;;;N;;;;;
+D32B;HANGUL SYLLABLE PAEGS;Lo;0;L;;;;;N;;;;;
+D32C;HANGUL SYLLABLE PAEN;Lo;0;L;;;;;N;;;;;
+D32D;HANGUL SYLLABLE PAENI;Lo;0;L;;;;;N;;;;;
+D32E;HANGUL SYLLABLE PAENH;Lo;0;L;;;;;N;;;;;
+D32F;HANGUL SYLLABLE PAED;Lo;0;L;;;;;N;;;;;
+D330;HANGUL SYLLABLE PAEL;Lo;0;L;;;;;N;;;;;
+D331;HANGUL SYLLABLE PAELG;Lo;0;L;;;;;N;;;;;
+D332;HANGUL SYLLABLE PAELM;Lo;0;L;;;;;N;;;;;
+D333;HANGUL SYLLABLE PAELB;Lo;0;L;;;;;N;;;;;
+D334;HANGUL SYLLABLE PAELS;Lo;0;L;;;;;N;;;;;
+D335;HANGUL SYLLABLE PAELT;Lo;0;L;;;;;N;;;;;
+D336;HANGUL SYLLABLE PAELP;Lo;0;L;;;;;N;;;;;
+D337;HANGUL SYLLABLE PAELH;Lo;0;L;;;;;N;;;;;
+D338;HANGUL SYLLABLE PAEM;Lo;0;L;;;;;N;;;;;
+D339;HANGUL SYLLABLE PAEB;Lo;0;L;;;;;N;;;;;
+D33A;HANGUL SYLLABLE PAEBS;Lo;0;L;;;;;N;;;;;
+D33B;HANGUL SYLLABLE PAES;Lo;0;L;;;;;N;;;;;
+D33C;HANGUL SYLLABLE PAESS;Lo;0;L;;;;;N;;;;;
+D33D;HANGUL SYLLABLE PAENG;Lo;0;L;;;;;N;;;;;
+D33E;HANGUL SYLLABLE PAEJ;Lo;0;L;;;;;N;;;;;
+D33F;HANGUL SYLLABLE PAEC;Lo;0;L;;;;;N;;;;;
+D340;HANGUL SYLLABLE PAEK;Lo;0;L;;;;;N;;;;;
+D341;HANGUL SYLLABLE PAET;Lo;0;L;;;;;N;;;;;
+D342;HANGUL SYLLABLE PAEP;Lo;0;L;;;;;N;;;;;
+D343;HANGUL SYLLABLE PAEH;Lo;0;L;;;;;N;;;;;
+D344;HANGUL SYLLABLE PYA;Lo;0;L;;;;;N;;;;;
+D345;HANGUL SYLLABLE PYAG;Lo;0;L;;;;;N;;;;;
+D346;HANGUL SYLLABLE PYAGG;Lo;0;L;;;;;N;;;;;
+D347;HANGUL SYLLABLE PYAGS;Lo;0;L;;;;;N;;;;;
+D348;HANGUL SYLLABLE PYAN;Lo;0;L;;;;;N;;;;;
+D349;HANGUL SYLLABLE PYANI;Lo;0;L;;;;;N;;;;;
+D34A;HANGUL SYLLABLE PYANH;Lo;0;L;;;;;N;;;;;
+D34B;HANGUL SYLLABLE PYAD;Lo;0;L;;;;;N;;;;;
+D34C;HANGUL SYLLABLE PYAL;Lo;0;L;;;;;N;;;;;
+D34D;HANGUL SYLLABLE PYALG;Lo;0;L;;;;;N;;;;;
+D34E;HANGUL SYLLABLE PYALM;Lo;0;L;;;;;N;;;;;
+D34F;HANGUL SYLLABLE PYALB;Lo;0;L;;;;;N;;;;;
+D350;HANGUL SYLLABLE PYALS;Lo;0;L;;;;;N;;;;;
+D351;HANGUL SYLLABLE PYALT;Lo;0;L;;;;;N;;;;;
+D352;HANGUL SYLLABLE PYALP;Lo;0;L;;;;;N;;;;;
+D353;HANGUL SYLLABLE PYALH;Lo;0;L;;;;;N;;;;;
+D354;HANGUL SYLLABLE PYAM;Lo;0;L;;;;;N;;;;;
+D355;HANGUL SYLLABLE PYAB;Lo;0;L;;;;;N;;;;;
+D356;HANGUL SYLLABLE PYABS;Lo;0;L;;;;;N;;;;;
+D357;HANGUL SYLLABLE PYAS;Lo;0;L;;;;;N;;;;;
+D358;HANGUL SYLLABLE PYASS;Lo;0;L;;;;;N;;;;;
+D359;HANGUL SYLLABLE PYANG;Lo;0;L;;;;;N;;;;;
+D35A;HANGUL SYLLABLE PYAJ;Lo;0;L;;;;;N;;;;;
+D35B;HANGUL SYLLABLE PYAC;Lo;0;L;;;;;N;;;;;
+D35C;HANGUL SYLLABLE PYAK;Lo;0;L;;;;;N;;;;;
+D35D;HANGUL SYLLABLE PYAT;Lo;0;L;;;;;N;;;;;
+D35E;HANGUL SYLLABLE PYAP;Lo;0;L;;;;;N;;;;;
+D35F;HANGUL SYLLABLE PYAH;Lo;0;L;;;;;N;;;;;
+D360;HANGUL SYLLABLE PYAE;Lo;0;L;;;;;N;;;;;
+D361;HANGUL SYLLABLE PYAEG;Lo;0;L;;;;;N;;;;;
+D362;HANGUL SYLLABLE PYAEGG;Lo;0;L;;;;;N;;;;;
+D363;HANGUL SYLLABLE PYAEGS;Lo;0;L;;;;;N;;;;;
+D364;HANGUL SYLLABLE PYAEN;Lo;0;L;;;;;N;;;;;
+D365;HANGUL SYLLABLE PYAENI;Lo;0;L;;;;;N;;;;;
+D366;HANGUL SYLLABLE PYAENH;Lo;0;L;;;;;N;;;;;
+D367;HANGUL SYLLABLE PYAED;Lo;0;L;;;;;N;;;;;
+D368;HANGUL SYLLABLE PYAEL;Lo;0;L;;;;;N;;;;;
+D369;HANGUL SYLLABLE PYAELG;Lo;0;L;;;;;N;;;;;
+D36A;HANGUL SYLLABLE PYAELM;Lo;0;L;;;;;N;;;;;
+D36B;HANGUL SYLLABLE PYAELB;Lo;0;L;;;;;N;;;;;
+D36C;HANGUL SYLLABLE PYAELS;Lo;0;L;;;;;N;;;;;
+D36D;HANGUL SYLLABLE PYAELT;Lo;0;L;;;;;N;;;;;
+D36E;HANGUL SYLLABLE PYAELP;Lo;0;L;;;;;N;;;;;
+D36F;HANGUL SYLLABLE PYAELH;Lo;0;L;;;;;N;;;;;
+D370;HANGUL SYLLABLE PYAEM;Lo;0;L;;;;;N;;;;;
+D371;HANGUL SYLLABLE PYAEB;Lo;0;L;;;;;N;;;;;
+D372;HANGUL SYLLABLE PYAEBS;Lo;0;L;;;;;N;;;;;
+D373;HANGUL SYLLABLE PYAES;Lo;0;L;;;;;N;;;;;
+D374;HANGUL SYLLABLE PYAESS;Lo;0;L;;;;;N;;;;;
+D375;HANGUL SYLLABLE PYAENG;Lo;0;L;;;;;N;;;;;
+D376;HANGUL SYLLABLE PYAEJ;Lo;0;L;;;;;N;;;;;
+D377;HANGUL SYLLABLE PYAEC;Lo;0;L;;;;;N;;;;;
+D378;HANGUL SYLLABLE PYAEK;Lo;0;L;;;;;N;;;;;
+D379;HANGUL SYLLABLE PYAET;Lo;0;L;;;;;N;;;;;
+D37A;HANGUL SYLLABLE PYAEP;Lo;0;L;;;;;N;;;;;
+D37B;HANGUL SYLLABLE PYAEH;Lo;0;L;;;;;N;;;;;
+D37C;HANGUL SYLLABLE PEO;Lo;0;L;;;;;N;;;;;
+D37D;HANGUL SYLLABLE PEOG;Lo;0;L;;;;;N;;;;;
+D37E;HANGUL SYLLABLE PEOGG;Lo;0;L;;;;;N;;;;;
+D37F;HANGUL SYLLABLE PEOGS;Lo;0;L;;;;;N;;;;;
+D380;HANGUL SYLLABLE PEON;Lo;0;L;;;;;N;;;;;
+D381;HANGUL SYLLABLE PEONI;Lo;0;L;;;;;N;;;;;
+D382;HANGUL SYLLABLE PEONH;Lo;0;L;;;;;N;;;;;
+D383;HANGUL SYLLABLE PEOD;Lo;0;L;;;;;N;;;;;
+D384;HANGUL SYLLABLE PEOL;Lo;0;L;;;;;N;;;;;
+D385;HANGUL SYLLABLE PEOLG;Lo;0;L;;;;;N;;;;;
+D386;HANGUL SYLLABLE PEOLM;Lo;0;L;;;;;N;;;;;
+D387;HANGUL SYLLABLE PEOLB;Lo;0;L;;;;;N;;;;;
+D388;HANGUL SYLLABLE PEOLS;Lo;0;L;;;;;N;;;;;
+D389;HANGUL SYLLABLE PEOLT;Lo;0;L;;;;;N;;;;;
+D38A;HANGUL SYLLABLE PEOLP;Lo;0;L;;;;;N;;;;;
+D38B;HANGUL SYLLABLE PEOLH;Lo;0;L;;;;;N;;;;;
+D38C;HANGUL SYLLABLE PEOM;Lo;0;L;;;;;N;;;;;
+D38D;HANGUL SYLLABLE PEOB;Lo;0;L;;;;;N;;;;;
+D38E;HANGUL SYLLABLE PEOBS;Lo;0;L;;;;;N;;;;;
+D38F;HANGUL SYLLABLE PEOS;Lo;0;L;;;;;N;;;;;
+D390;HANGUL SYLLABLE PEOSS;Lo;0;L;;;;;N;;;;;
+D391;HANGUL SYLLABLE PEONG;Lo;0;L;;;;;N;;;;;
+D392;HANGUL SYLLABLE PEOJ;Lo;0;L;;;;;N;;;;;
+D393;HANGUL SYLLABLE PEOC;Lo;0;L;;;;;N;;;;;
+D394;HANGUL SYLLABLE PEOK;Lo;0;L;;;;;N;;;;;
+D395;HANGUL SYLLABLE PEOT;Lo;0;L;;;;;N;;;;;
+D396;HANGUL SYLLABLE PEOP;Lo;0;L;;;;;N;;;;;
+D397;HANGUL SYLLABLE PEOH;Lo;0;L;;;;;N;;;;;
+D398;HANGUL SYLLABLE PE;Lo;0;L;;;;;N;;;;;
+D399;HANGUL SYLLABLE PEG;Lo;0;L;;;;;N;;;;;
+D39A;HANGUL SYLLABLE PEGG;Lo;0;L;;;;;N;;;;;
+D39B;HANGUL SYLLABLE PEGS;Lo;0;L;;;;;N;;;;;
+D39C;HANGUL SYLLABLE PEN;Lo;0;L;;;;;N;;;;;
+D39D;HANGUL SYLLABLE PENI;Lo;0;L;;;;;N;;;;;
+D39E;HANGUL SYLLABLE PENH;Lo;0;L;;;;;N;;;;;
+D39F;HANGUL SYLLABLE PED;Lo;0;L;;;;;N;;;;;
+D3A0;HANGUL SYLLABLE PEL;Lo;0;L;;;;;N;;;;;
+D3A1;HANGUL SYLLABLE PELG;Lo;0;L;;;;;N;;;;;
+D3A2;HANGUL SYLLABLE PELM;Lo;0;L;;;;;N;;;;;
+D3A3;HANGUL SYLLABLE PELB;Lo;0;L;;;;;N;;;;;
+D3A4;HANGUL SYLLABLE PELS;Lo;0;L;;;;;N;;;;;
+D3A5;HANGUL SYLLABLE PELT;Lo;0;L;;;;;N;;;;;
+D3A6;HANGUL SYLLABLE PELP;Lo;0;L;;;;;N;;;;;
+D3A7;HANGUL SYLLABLE PELH;Lo;0;L;;;;;N;;;;;
+D3A8;HANGUL SYLLABLE PEM;Lo;0;L;;;;;N;;;;;
+D3A9;HANGUL SYLLABLE PEB;Lo;0;L;;;;;N;;;;;
+D3AA;HANGUL SYLLABLE PEBS;Lo;0;L;;;;;N;;;;;
+D3AB;HANGUL SYLLABLE PES;Lo;0;L;;;;;N;;;;;
+D3AC;HANGUL SYLLABLE PESS;Lo;0;L;;;;;N;;;;;
+D3AD;HANGUL SYLLABLE PENG;Lo;0;L;;;;;N;;;;;
+D3AE;HANGUL SYLLABLE PEJ;Lo;0;L;;;;;N;;;;;
+D3AF;HANGUL SYLLABLE PEC;Lo;0;L;;;;;N;;;;;
+D3B0;HANGUL SYLLABLE PEK;Lo;0;L;;;;;N;;;;;
+D3B1;HANGUL SYLLABLE PET;Lo;0;L;;;;;N;;;;;
+D3B2;HANGUL SYLLABLE PEP;Lo;0;L;;;;;N;;;;;
+D3B3;HANGUL SYLLABLE PEH;Lo;0;L;;;;;N;;;;;
+D3B4;HANGUL SYLLABLE PYEO;Lo;0;L;;;;;N;;;;;
+D3B5;HANGUL SYLLABLE PYEOG;Lo;0;L;;;;;N;;;;;
+D3B6;HANGUL SYLLABLE PYEOGG;Lo;0;L;;;;;N;;;;;
+D3B7;HANGUL SYLLABLE PYEOGS;Lo;0;L;;;;;N;;;;;
+D3B8;HANGUL SYLLABLE PYEON;Lo;0;L;;;;;N;;;;;
+D3B9;HANGUL SYLLABLE PYEONI;Lo;0;L;;;;;N;;;;;
+D3BA;HANGUL SYLLABLE PYEONH;Lo;0;L;;;;;N;;;;;
+D3BB;HANGUL SYLLABLE PYEOD;Lo;0;L;;;;;N;;;;;
+D3BC;HANGUL SYLLABLE PYEOL;Lo;0;L;;;;;N;;;;;
+D3BD;HANGUL SYLLABLE PYEOLG;Lo;0;L;;;;;N;;;;;
+D3BE;HANGUL SYLLABLE PYEOLM;Lo;0;L;;;;;N;;;;;
+D3BF;HANGUL SYLLABLE PYEOLB;Lo;0;L;;;;;N;;;;;
+D3C0;HANGUL SYLLABLE PYEOLS;Lo;0;L;;;;;N;;;;;
+D3C1;HANGUL SYLLABLE PYEOLT;Lo;0;L;;;;;N;;;;;
+D3C2;HANGUL SYLLABLE PYEOLP;Lo;0;L;;;;;N;;;;;
+D3C3;HANGUL SYLLABLE PYEOLH;Lo;0;L;;;;;N;;;;;
+D3C4;HANGUL SYLLABLE PYEOM;Lo;0;L;;;;;N;;;;;
+D3C5;HANGUL SYLLABLE PYEOB;Lo;0;L;;;;;N;;;;;
+D3C6;HANGUL SYLLABLE PYEOBS;Lo;0;L;;;;;N;;;;;
+D3C7;HANGUL SYLLABLE PYEOS;Lo;0;L;;;;;N;;;;;
+D3C8;HANGUL SYLLABLE PYEOSS;Lo;0;L;;;;;N;;;;;
+D3C9;HANGUL SYLLABLE PYEONG;Lo;0;L;;;;;N;;;;;
+D3CA;HANGUL SYLLABLE PYEOJ;Lo;0;L;;;;;N;;;;;
+D3CB;HANGUL SYLLABLE PYEOC;Lo;0;L;;;;;N;;;;;
+D3CC;HANGUL SYLLABLE PYEOK;Lo;0;L;;;;;N;;;;;
+D3CD;HANGUL SYLLABLE PYEOT;Lo;0;L;;;;;N;;;;;
+D3CE;HANGUL SYLLABLE PYEOP;Lo;0;L;;;;;N;;;;;
+D3CF;HANGUL SYLLABLE PYEOH;Lo;0;L;;;;;N;;;;;
+D3D0;HANGUL SYLLABLE PYE;Lo;0;L;;;;;N;;;;;
+D3D1;HANGUL SYLLABLE PYEG;Lo;0;L;;;;;N;;;;;
+D3D2;HANGUL SYLLABLE PYEGG;Lo;0;L;;;;;N;;;;;
+D3D3;HANGUL SYLLABLE PYEGS;Lo;0;L;;;;;N;;;;;
+D3D4;HANGUL SYLLABLE PYEN;Lo;0;L;;;;;N;;;;;
+D3D5;HANGUL SYLLABLE PYENI;Lo;0;L;;;;;N;;;;;
+D3D6;HANGUL SYLLABLE PYENH;Lo;0;L;;;;;N;;;;;
+D3D7;HANGUL SYLLABLE PYED;Lo;0;L;;;;;N;;;;;
+D3D8;HANGUL SYLLABLE PYEL;Lo;0;L;;;;;N;;;;;
+D3D9;HANGUL SYLLABLE PYELG;Lo;0;L;;;;;N;;;;;
+D3DA;HANGUL SYLLABLE PYELM;Lo;0;L;;;;;N;;;;;
+D3DB;HANGUL SYLLABLE PYELB;Lo;0;L;;;;;N;;;;;
+D3DC;HANGUL SYLLABLE PYELS;Lo;0;L;;;;;N;;;;;
+D3DD;HANGUL SYLLABLE PYELT;Lo;0;L;;;;;N;;;;;
+D3DE;HANGUL SYLLABLE PYELP;Lo;0;L;;;;;N;;;;;
+D3DF;HANGUL SYLLABLE PYELH;Lo;0;L;;;;;N;;;;;
+D3E0;HANGUL SYLLABLE PYEM;Lo;0;L;;;;;N;;;;;
+D3E1;HANGUL SYLLABLE PYEB;Lo;0;L;;;;;N;;;;;
+D3E2;HANGUL SYLLABLE PYEBS;Lo;0;L;;;;;N;;;;;
+D3E3;HANGUL SYLLABLE PYES;Lo;0;L;;;;;N;;;;;
+D3E4;HANGUL SYLLABLE PYESS;Lo;0;L;;;;;N;;;;;
+D3E5;HANGUL SYLLABLE PYENG;Lo;0;L;;;;;N;;;;;
+D3E6;HANGUL SYLLABLE PYEJ;Lo;0;L;;;;;N;;;;;
+D3E7;HANGUL SYLLABLE PYEC;Lo;0;L;;;;;N;;;;;
+D3E8;HANGUL SYLLABLE PYEK;Lo;0;L;;;;;N;;;;;
+D3E9;HANGUL SYLLABLE PYET;Lo;0;L;;;;;N;;;;;
+D3EA;HANGUL SYLLABLE PYEP;Lo;0;L;;;;;N;;;;;
+D3EB;HANGUL SYLLABLE PYEH;Lo;0;L;;;;;N;;;;;
+D3EC;HANGUL SYLLABLE PO;Lo;0;L;;;;;N;;;;;
+D3ED;HANGUL SYLLABLE POG;Lo;0;L;;;;;N;;;;;
+D3EE;HANGUL SYLLABLE POGG;Lo;0;L;;;;;N;;;;;
+D3EF;HANGUL SYLLABLE POGS;Lo;0;L;;;;;N;;;;;
+D3F0;HANGUL SYLLABLE PON;Lo;0;L;;;;;N;;;;;
+D3F1;HANGUL SYLLABLE PONI;Lo;0;L;;;;;N;;;;;
+D3F2;HANGUL SYLLABLE PONH;Lo;0;L;;;;;N;;;;;
+D3F3;HANGUL SYLLABLE POD;Lo;0;L;;;;;N;;;;;
+D3F4;HANGUL SYLLABLE POL;Lo;0;L;;;;;N;;;;;
+D3F5;HANGUL SYLLABLE POLG;Lo;0;L;;;;;N;;;;;
+D3F6;HANGUL SYLLABLE POLM;Lo;0;L;;;;;N;;;;;
+D3F7;HANGUL SYLLABLE POLB;Lo;0;L;;;;;N;;;;;
+D3F8;HANGUL SYLLABLE POLS;Lo;0;L;;;;;N;;;;;
+D3F9;HANGUL SYLLABLE POLT;Lo;0;L;;;;;N;;;;;
+D3FA;HANGUL SYLLABLE POLP;Lo;0;L;;;;;N;;;;;
+D3FB;HANGUL SYLLABLE POLH;Lo;0;L;;;;;N;;;;;
+D3FC;HANGUL SYLLABLE POM;Lo;0;L;;;;;N;;;;;
+D3FD;HANGUL SYLLABLE POB;Lo;0;L;;;;;N;;;;;
+D3FE;HANGUL SYLLABLE POBS;Lo;0;L;;;;;N;;;;;
+D3FF;HANGUL SYLLABLE POS;Lo;0;L;;;;;N;;;;;
+D400;HANGUL SYLLABLE POSS;Lo;0;L;;;;;N;;;;;
+D401;HANGUL SYLLABLE PONG;Lo;0;L;;;;;N;;;;;
+D402;HANGUL SYLLABLE POJ;Lo;0;L;;;;;N;;;;;
+D403;HANGUL SYLLABLE POC;Lo;0;L;;;;;N;;;;;
+D404;HANGUL SYLLABLE POK;Lo;0;L;;;;;N;;;;;
+D405;HANGUL SYLLABLE POT;Lo;0;L;;;;;N;;;;;
+D406;HANGUL SYLLABLE POP;Lo;0;L;;;;;N;;;;;
+D407;HANGUL SYLLABLE POH;Lo;0;L;;;;;N;;;;;
+D408;HANGUL SYLLABLE PWA;Lo;0;L;;;;;N;;;;;
+D409;HANGUL SYLLABLE PWAG;Lo;0;L;;;;;N;;;;;
+D40A;HANGUL SYLLABLE PWAGG;Lo;0;L;;;;;N;;;;;
+D40B;HANGUL SYLLABLE PWAGS;Lo;0;L;;;;;N;;;;;
+D40C;HANGUL SYLLABLE PWAN;Lo;0;L;;;;;N;;;;;
+D40D;HANGUL SYLLABLE PWANI;Lo;0;L;;;;;N;;;;;
+D40E;HANGUL SYLLABLE PWANH;Lo;0;L;;;;;N;;;;;
+D40F;HANGUL SYLLABLE PWAD;Lo;0;L;;;;;N;;;;;
+D410;HANGUL SYLLABLE PWAL;Lo;0;L;;;;;N;;;;;
+D411;HANGUL SYLLABLE PWALG;Lo;0;L;;;;;N;;;;;
+D412;HANGUL SYLLABLE PWALM;Lo;0;L;;;;;N;;;;;
+D413;HANGUL SYLLABLE PWALB;Lo;0;L;;;;;N;;;;;
+D414;HANGUL SYLLABLE PWALS;Lo;0;L;;;;;N;;;;;
+D415;HANGUL SYLLABLE PWALT;Lo;0;L;;;;;N;;;;;
+D416;HANGUL SYLLABLE PWALP;Lo;0;L;;;;;N;;;;;
+D417;HANGUL SYLLABLE PWALH;Lo;0;L;;;;;N;;;;;
+D418;HANGUL SYLLABLE PWAM;Lo;0;L;;;;;N;;;;;
+D419;HANGUL SYLLABLE PWAB;Lo;0;L;;;;;N;;;;;
+D41A;HANGUL SYLLABLE PWABS;Lo;0;L;;;;;N;;;;;
+D41B;HANGUL SYLLABLE PWAS;Lo;0;L;;;;;N;;;;;
+D41C;HANGUL SYLLABLE PWASS;Lo;0;L;;;;;N;;;;;
+D41D;HANGUL SYLLABLE PWANG;Lo;0;L;;;;;N;;;;;
+D41E;HANGUL SYLLABLE PWAJ;Lo;0;L;;;;;N;;;;;
+D41F;HANGUL SYLLABLE PWAC;Lo;0;L;;;;;N;;;;;
+D420;HANGUL SYLLABLE PWAK;Lo;0;L;;;;;N;;;;;
+D421;HANGUL SYLLABLE PWAT;Lo;0;L;;;;;N;;;;;
+D422;HANGUL SYLLABLE PWAP;Lo;0;L;;;;;N;;;;;
+D423;HANGUL SYLLABLE PWAH;Lo;0;L;;;;;N;;;;;
+D424;HANGUL SYLLABLE PWAE;Lo;0;L;;;;;N;;;;;
+D425;HANGUL SYLLABLE PWAEG;Lo;0;L;;;;;N;;;;;
+D426;HANGUL SYLLABLE PWAEGG;Lo;0;L;;;;;N;;;;;
+D427;HANGUL SYLLABLE PWAEGS;Lo;0;L;;;;;N;;;;;
+D428;HANGUL SYLLABLE PWAEN;Lo;0;L;;;;;N;;;;;
+D429;HANGUL SYLLABLE PWAENI;Lo;0;L;;;;;N;;;;;
+D42A;HANGUL SYLLABLE PWAENH;Lo;0;L;;;;;N;;;;;
+D42B;HANGUL SYLLABLE PWAED;Lo;0;L;;;;;N;;;;;
+D42C;HANGUL SYLLABLE PWAEL;Lo;0;L;;;;;N;;;;;
+D42D;HANGUL SYLLABLE PWAELG;Lo;0;L;;;;;N;;;;;
+D42E;HANGUL SYLLABLE PWAELM;Lo;0;L;;;;;N;;;;;
+D42F;HANGUL SYLLABLE PWAELB;Lo;0;L;;;;;N;;;;;
+D430;HANGUL SYLLABLE PWAELS;Lo;0;L;;;;;N;;;;;
+D431;HANGUL SYLLABLE PWAELT;Lo;0;L;;;;;N;;;;;
+D432;HANGUL SYLLABLE PWAELP;Lo;0;L;;;;;N;;;;;
+D433;HANGUL SYLLABLE PWAELH;Lo;0;L;;;;;N;;;;;
+D434;HANGUL SYLLABLE PWAEM;Lo;0;L;;;;;N;;;;;
+D435;HANGUL SYLLABLE PWAEB;Lo;0;L;;;;;N;;;;;
+D436;HANGUL SYLLABLE PWAEBS;Lo;0;L;;;;;N;;;;;
+D437;HANGUL SYLLABLE PWAES;Lo;0;L;;;;;N;;;;;
+D438;HANGUL SYLLABLE PWAESS;Lo;0;L;;;;;N;;;;;
+D439;HANGUL SYLLABLE PWAENG;Lo;0;L;;;;;N;;;;;
+D43A;HANGUL SYLLABLE PWAEJ;Lo;0;L;;;;;N;;;;;
+D43B;HANGUL SYLLABLE PWAEC;Lo;0;L;;;;;N;;;;;
+D43C;HANGUL SYLLABLE PWAEK;Lo;0;L;;;;;N;;;;;
+D43D;HANGUL SYLLABLE PWAET;Lo;0;L;;;;;N;;;;;
+D43E;HANGUL SYLLABLE PWAEP;Lo;0;L;;;;;N;;;;;
+D43F;HANGUL SYLLABLE PWAEH;Lo;0;L;;;;;N;;;;;
+D440;HANGUL SYLLABLE POE;Lo;0;L;;;;;N;;;;;
+D441;HANGUL SYLLABLE POEG;Lo;0;L;;;;;N;;;;;
+D442;HANGUL SYLLABLE POEGG;Lo;0;L;;;;;N;;;;;
+D443;HANGUL SYLLABLE POEGS;Lo;0;L;;;;;N;;;;;
+D444;HANGUL SYLLABLE POEN;Lo;0;L;;;;;N;;;;;
+D445;HANGUL SYLLABLE POENI;Lo;0;L;;;;;N;;;;;
+D446;HANGUL SYLLABLE POENH;Lo;0;L;;;;;N;;;;;
+D447;HANGUL SYLLABLE POED;Lo;0;L;;;;;N;;;;;
+D448;HANGUL SYLLABLE POEL;Lo;0;L;;;;;N;;;;;
+D449;HANGUL SYLLABLE POELG;Lo;0;L;;;;;N;;;;;
+D44A;HANGUL SYLLABLE POELM;Lo;0;L;;;;;N;;;;;
+D44B;HANGUL SYLLABLE POELB;Lo;0;L;;;;;N;;;;;
+D44C;HANGUL SYLLABLE POELS;Lo;0;L;;;;;N;;;;;
+D44D;HANGUL SYLLABLE POELT;Lo;0;L;;;;;N;;;;;
+D44E;HANGUL SYLLABLE POELP;Lo;0;L;;;;;N;;;;;
+D44F;HANGUL SYLLABLE POELH;Lo;0;L;;;;;N;;;;;
+D450;HANGUL SYLLABLE POEM;Lo;0;L;;;;;N;;;;;
+D451;HANGUL SYLLABLE POEB;Lo;0;L;;;;;N;;;;;
+D452;HANGUL SYLLABLE POEBS;Lo;0;L;;;;;N;;;;;
+D453;HANGUL SYLLABLE POES;Lo;0;L;;;;;N;;;;;
+D454;HANGUL SYLLABLE POESS;Lo;0;L;;;;;N;;;;;
+D455;HANGUL SYLLABLE POENG;Lo;0;L;;;;;N;;;;;
+D456;HANGUL SYLLABLE POEJ;Lo;0;L;;;;;N;;;;;
+D457;HANGUL SYLLABLE POEC;Lo;0;L;;;;;N;;;;;
+D458;HANGUL SYLLABLE POEK;Lo;0;L;;;;;N;;;;;
+D459;HANGUL SYLLABLE POET;Lo;0;L;;;;;N;;;;;
+D45A;HANGUL SYLLABLE POEP;Lo;0;L;;;;;N;;;;;
+D45B;HANGUL SYLLABLE POEH;Lo;0;L;;;;;N;;;;;
+D45C;HANGUL SYLLABLE PYO;Lo;0;L;;;;;N;;;;;
+D45D;HANGUL SYLLABLE PYOG;Lo;0;L;;;;;N;;;;;
+D45E;HANGUL SYLLABLE PYOGG;Lo;0;L;;;;;N;;;;;
+D45F;HANGUL SYLLABLE PYOGS;Lo;0;L;;;;;N;;;;;
+D460;HANGUL SYLLABLE PYON;Lo;0;L;;;;;N;;;;;
+D461;HANGUL SYLLABLE PYONI;Lo;0;L;;;;;N;;;;;
+D462;HANGUL SYLLABLE PYONH;Lo;0;L;;;;;N;;;;;
+D463;HANGUL SYLLABLE PYOD;Lo;0;L;;;;;N;;;;;
+D464;HANGUL SYLLABLE PYOL;Lo;0;L;;;;;N;;;;;
+D465;HANGUL SYLLABLE PYOLG;Lo;0;L;;;;;N;;;;;
+D466;HANGUL SYLLABLE PYOLM;Lo;0;L;;;;;N;;;;;
+D467;HANGUL SYLLABLE PYOLB;Lo;0;L;;;;;N;;;;;
+D468;HANGUL SYLLABLE PYOLS;Lo;0;L;;;;;N;;;;;
+D469;HANGUL SYLLABLE PYOLT;Lo;0;L;;;;;N;;;;;
+D46A;HANGUL SYLLABLE PYOLP;Lo;0;L;;;;;N;;;;;
+D46B;HANGUL SYLLABLE PYOLH;Lo;0;L;;;;;N;;;;;
+D46C;HANGUL SYLLABLE PYOM;Lo;0;L;;;;;N;;;;;
+D46D;HANGUL SYLLABLE PYOB;Lo;0;L;;;;;N;;;;;
+D46E;HANGUL SYLLABLE PYOBS;Lo;0;L;;;;;N;;;;;
+D46F;HANGUL SYLLABLE PYOS;Lo;0;L;;;;;N;;;;;
+D470;HANGUL SYLLABLE PYOSS;Lo;0;L;;;;;N;;;;;
+D471;HANGUL SYLLABLE PYONG;Lo;0;L;;;;;N;;;;;
+D472;HANGUL SYLLABLE PYOJ;Lo;0;L;;;;;N;;;;;
+D473;HANGUL SYLLABLE PYOC;Lo;0;L;;;;;N;;;;;
+D474;HANGUL SYLLABLE PYOK;Lo;0;L;;;;;N;;;;;
+D475;HANGUL SYLLABLE PYOT;Lo;0;L;;;;;N;;;;;
+D476;HANGUL SYLLABLE PYOP;Lo;0;L;;;;;N;;;;;
+D477;HANGUL SYLLABLE PYOH;Lo;0;L;;;;;N;;;;;
+D478;HANGUL SYLLABLE PU;Lo;0;L;;;;;N;;;;;
+D479;HANGUL SYLLABLE PUG;Lo;0;L;;;;;N;;;;;
+D47A;HANGUL SYLLABLE PUGG;Lo;0;L;;;;;N;;;;;
+D47B;HANGUL SYLLABLE PUGS;Lo;0;L;;;;;N;;;;;
+D47C;HANGUL SYLLABLE PUN;Lo;0;L;;;;;N;;;;;
+D47D;HANGUL SYLLABLE PUNI;Lo;0;L;;;;;N;;;;;
+D47E;HANGUL SYLLABLE PUNH;Lo;0;L;;;;;N;;;;;
+D47F;HANGUL SYLLABLE PUD;Lo;0;L;;;;;N;;;;;
+D480;HANGUL SYLLABLE PUL;Lo;0;L;;;;;N;;;;;
+D481;HANGUL SYLLABLE PULG;Lo;0;L;;;;;N;;;;;
+D482;HANGUL SYLLABLE PULM;Lo;0;L;;;;;N;;;;;
+D483;HANGUL SYLLABLE PULB;Lo;0;L;;;;;N;;;;;
+D484;HANGUL SYLLABLE PULS;Lo;0;L;;;;;N;;;;;
+D485;HANGUL SYLLABLE PULT;Lo;0;L;;;;;N;;;;;
+D486;HANGUL SYLLABLE PULP;Lo;0;L;;;;;N;;;;;
+D487;HANGUL SYLLABLE PULH;Lo;0;L;;;;;N;;;;;
+D488;HANGUL SYLLABLE PUM;Lo;0;L;;;;;N;;;;;
+D489;HANGUL SYLLABLE PUB;Lo;0;L;;;;;N;;;;;
+D48A;HANGUL SYLLABLE PUBS;Lo;0;L;;;;;N;;;;;
+D48B;HANGUL SYLLABLE PUS;Lo;0;L;;;;;N;;;;;
+D48C;HANGUL SYLLABLE PUSS;Lo;0;L;;;;;N;;;;;
+D48D;HANGUL SYLLABLE PUNG;Lo;0;L;;;;;N;;;;;
+D48E;HANGUL SYLLABLE PUJ;Lo;0;L;;;;;N;;;;;
+D48F;HANGUL SYLLABLE PUC;Lo;0;L;;;;;N;;;;;
+D490;HANGUL SYLLABLE PUK;Lo;0;L;;;;;N;;;;;
+D491;HANGUL SYLLABLE PUT;Lo;0;L;;;;;N;;;;;
+D492;HANGUL SYLLABLE PUP;Lo;0;L;;;;;N;;;;;
+D493;HANGUL SYLLABLE PUH;Lo;0;L;;;;;N;;;;;
+D494;HANGUL SYLLABLE PWEO;Lo;0;L;;;;;N;;;;;
+D495;HANGUL SYLLABLE PWEOG;Lo;0;L;;;;;N;;;;;
+D496;HANGUL SYLLABLE PWEOGG;Lo;0;L;;;;;N;;;;;
+D497;HANGUL SYLLABLE PWEOGS;Lo;0;L;;;;;N;;;;;
+D498;HANGUL SYLLABLE PWEON;Lo;0;L;;;;;N;;;;;
+D499;HANGUL SYLLABLE PWEONI;Lo;0;L;;;;;N;;;;;
+D49A;HANGUL SYLLABLE PWEONH;Lo;0;L;;;;;N;;;;;
+D49B;HANGUL SYLLABLE PWEOD;Lo;0;L;;;;;N;;;;;
+D49C;HANGUL SYLLABLE PWEOL;Lo;0;L;;;;;N;;;;;
+D49D;HANGUL SYLLABLE PWEOLG;Lo;0;L;;;;;N;;;;;
+D49E;HANGUL SYLLABLE PWEOLM;Lo;0;L;;;;;N;;;;;
+D49F;HANGUL SYLLABLE PWEOLB;Lo;0;L;;;;;N;;;;;
+D4A0;HANGUL SYLLABLE PWEOLS;Lo;0;L;;;;;N;;;;;
+D4A1;HANGUL SYLLABLE PWEOLT;Lo;0;L;;;;;N;;;;;
+D4A2;HANGUL SYLLABLE PWEOLP;Lo;0;L;;;;;N;;;;;
+D4A3;HANGUL SYLLABLE PWEOLH;Lo;0;L;;;;;N;;;;;
+D4A4;HANGUL SYLLABLE PWEOM;Lo;0;L;;;;;N;;;;;
+D4A5;HANGUL SYLLABLE PWEOB;Lo;0;L;;;;;N;;;;;
+D4A6;HANGUL SYLLABLE PWEOBS;Lo;0;L;;;;;N;;;;;
+D4A7;HANGUL SYLLABLE PWEOS;Lo;0;L;;;;;N;;;;;
+D4A8;HANGUL SYLLABLE PWEOSS;Lo;0;L;;;;;N;;;;;
+D4A9;HANGUL SYLLABLE PWEONG;Lo;0;L;;;;;N;;;;;
+D4AA;HANGUL SYLLABLE PWEOJ;Lo;0;L;;;;;N;;;;;
+D4AB;HANGUL SYLLABLE PWEOC;Lo;0;L;;;;;N;;;;;
+D4AC;HANGUL SYLLABLE PWEOK;Lo;0;L;;;;;N;;;;;
+D4AD;HANGUL SYLLABLE PWEOT;Lo;0;L;;;;;N;;;;;
+D4AE;HANGUL SYLLABLE PWEOP;Lo;0;L;;;;;N;;;;;
+D4AF;HANGUL SYLLABLE PWEOH;Lo;0;L;;;;;N;;;;;
+D4B0;HANGUL SYLLABLE PWE;Lo;0;L;;;;;N;;;;;
+D4B1;HANGUL SYLLABLE PWEG;Lo;0;L;;;;;N;;;;;
+D4B2;HANGUL SYLLABLE PWEGG;Lo;0;L;;;;;N;;;;;
+D4B3;HANGUL SYLLABLE PWEGS;Lo;0;L;;;;;N;;;;;
+D4B4;HANGUL SYLLABLE PWEN;Lo;0;L;;;;;N;;;;;
+D4B5;HANGUL SYLLABLE PWENI;Lo;0;L;;;;;N;;;;;
+D4B6;HANGUL SYLLABLE PWENH;Lo;0;L;;;;;N;;;;;
+D4B7;HANGUL SYLLABLE PWED;Lo;0;L;;;;;N;;;;;
+D4B8;HANGUL SYLLABLE PWEL;Lo;0;L;;;;;N;;;;;
+D4B9;HANGUL SYLLABLE PWELG;Lo;0;L;;;;;N;;;;;
+D4BA;HANGUL SYLLABLE PWELM;Lo;0;L;;;;;N;;;;;
+D4BB;HANGUL SYLLABLE PWELB;Lo;0;L;;;;;N;;;;;
+D4BC;HANGUL SYLLABLE PWELS;Lo;0;L;;;;;N;;;;;
+D4BD;HANGUL SYLLABLE PWELT;Lo;0;L;;;;;N;;;;;
+D4BE;HANGUL SYLLABLE PWELP;Lo;0;L;;;;;N;;;;;
+D4BF;HANGUL SYLLABLE PWELH;Lo;0;L;;;;;N;;;;;
+D4C0;HANGUL SYLLABLE PWEM;Lo;0;L;;;;;N;;;;;
+D4C1;HANGUL SYLLABLE PWEB;Lo;0;L;;;;;N;;;;;
+D4C2;HANGUL SYLLABLE PWEBS;Lo;0;L;;;;;N;;;;;
+D4C3;HANGUL SYLLABLE PWES;Lo;0;L;;;;;N;;;;;
+D4C4;HANGUL SYLLABLE PWESS;Lo;0;L;;;;;N;;;;;
+D4C5;HANGUL SYLLABLE PWENG;Lo;0;L;;;;;N;;;;;
+D4C6;HANGUL SYLLABLE PWEJ;Lo;0;L;;;;;N;;;;;
+D4C7;HANGUL SYLLABLE PWEC;Lo;0;L;;;;;N;;;;;
+D4C8;HANGUL SYLLABLE PWEK;Lo;0;L;;;;;N;;;;;
+D4C9;HANGUL SYLLABLE PWET;Lo;0;L;;;;;N;;;;;
+D4CA;HANGUL SYLLABLE PWEP;Lo;0;L;;;;;N;;;;;
+D4CB;HANGUL SYLLABLE PWEH;Lo;0;L;;;;;N;;;;;
+D4CC;HANGUL SYLLABLE PWI;Lo;0;L;;;;;N;;;;;
+D4CD;HANGUL SYLLABLE PWIG;Lo;0;L;;;;;N;;;;;
+D4CE;HANGUL SYLLABLE PWIGG;Lo;0;L;;;;;N;;;;;
+D4CF;HANGUL SYLLABLE PWIGS;Lo;0;L;;;;;N;;;;;
+D4D0;HANGUL SYLLABLE PWIN;Lo;0;L;;;;;N;;;;;
+D4D1;HANGUL SYLLABLE PWINI;Lo;0;L;;;;;N;;;;;
+D4D2;HANGUL SYLLABLE PWINH;Lo;0;L;;;;;N;;;;;
+D4D3;HANGUL SYLLABLE PWID;Lo;0;L;;;;;N;;;;;
+D4D4;HANGUL SYLLABLE PWIL;Lo;0;L;;;;;N;;;;;
+D4D5;HANGUL SYLLABLE PWILG;Lo;0;L;;;;;N;;;;;
+D4D6;HANGUL SYLLABLE PWILM;Lo;0;L;;;;;N;;;;;
+D4D7;HANGUL SYLLABLE PWILB;Lo;0;L;;;;;N;;;;;
+D4D8;HANGUL SYLLABLE PWILS;Lo;0;L;;;;;N;;;;;
+D4D9;HANGUL SYLLABLE PWILT;Lo;0;L;;;;;N;;;;;
+D4DA;HANGUL SYLLABLE PWILP;Lo;0;L;;;;;N;;;;;
+D4DB;HANGUL SYLLABLE PWILH;Lo;0;L;;;;;N;;;;;
+D4DC;HANGUL SYLLABLE PWIM;Lo;0;L;;;;;N;;;;;
+D4DD;HANGUL SYLLABLE PWIB;Lo;0;L;;;;;N;;;;;
+D4DE;HANGUL SYLLABLE PWIBS;Lo;0;L;;;;;N;;;;;
+D4DF;HANGUL SYLLABLE PWIS;Lo;0;L;;;;;N;;;;;
+D4E0;HANGUL SYLLABLE PWISS;Lo;0;L;;;;;N;;;;;
+D4E1;HANGUL SYLLABLE PWING;Lo;0;L;;;;;N;;;;;
+D4E2;HANGUL SYLLABLE PWIJ;Lo;0;L;;;;;N;;;;;
+D4E3;HANGUL SYLLABLE PWIC;Lo;0;L;;;;;N;;;;;
+D4E4;HANGUL SYLLABLE PWIK;Lo;0;L;;;;;N;;;;;
+D4E5;HANGUL SYLLABLE PWIT;Lo;0;L;;;;;N;;;;;
+D4E6;HANGUL SYLLABLE PWIP;Lo;0;L;;;;;N;;;;;
+D4E7;HANGUL SYLLABLE PWIH;Lo;0;L;;;;;N;;;;;
+D4E8;HANGUL SYLLABLE PYU;Lo;0;L;;;;;N;;;;;
+D4E9;HANGUL SYLLABLE PYUG;Lo;0;L;;;;;N;;;;;
+D4EA;HANGUL SYLLABLE PYUGG;Lo;0;L;;;;;N;;;;;
+D4EB;HANGUL SYLLABLE PYUGS;Lo;0;L;;;;;N;;;;;
+D4EC;HANGUL SYLLABLE PYUN;Lo;0;L;;;;;N;;;;;
+D4ED;HANGUL SYLLABLE PYUNI;Lo;0;L;;;;;N;;;;;
+D4EE;HANGUL SYLLABLE PYUNH;Lo;0;L;;;;;N;;;;;
+D4EF;HANGUL SYLLABLE PYUD;Lo;0;L;;;;;N;;;;;
+D4F0;HANGUL SYLLABLE PYUL;Lo;0;L;;;;;N;;;;;
+D4F1;HANGUL SYLLABLE PYULG;Lo;0;L;;;;;N;;;;;
+D4F2;HANGUL SYLLABLE PYULM;Lo;0;L;;;;;N;;;;;
+D4F3;HANGUL SYLLABLE PYULB;Lo;0;L;;;;;N;;;;;
+D4F4;HANGUL SYLLABLE PYULS;Lo;0;L;;;;;N;;;;;
+D4F5;HANGUL SYLLABLE PYULT;Lo;0;L;;;;;N;;;;;
+D4F6;HANGUL SYLLABLE PYULP;Lo;0;L;;;;;N;;;;;
+D4F7;HANGUL SYLLABLE PYULH;Lo;0;L;;;;;N;;;;;
+D4F8;HANGUL SYLLABLE PYUM;Lo;0;L;;;;;N;;;;;
+D4F9;HANGUL SYLLABLE PYUB;Lo;0;L;;;;;N;;;;;
+D4FA;HANGUL SYLLABLE PYUBS;Lo;0;L;;;;;N;;;;;
+D4FB;HANGUL SYLLABLE PYUS;Lo;0;L;;;;;N;;;;;
+D4FC;HANGUL SYLLABLE PYUSS;Lo;0;L;;;;;N;;;;;
+D4FD;HANGUL SYLLABLE PYUNG;Lo;0;L;;;;;N;;;;;
+D4FE;HANGUL SYLLABLE PYUJ;Lo;0;L;;;;;N;;;;;
+D4FF;HANGUL SYLLABLE PYUC;Lo;0;L;;;;;N;;;;;
+D500;HANGUL SYLLABLE PYUK;Lo;0;L;;;;;N;;;;;
+D501;HANGUL SYLLABLE PYUT;Lo;0;L;;;;;N;;;;;
+D502;HANGUL SYLLABLE PYUP;Lo;0;L;;;;;N;;;;;
+D503;HANGUL SYLLABLE PYUH;Lo;0;L;;;;;N;;;;;
+D504;HANGUL SYLLABLE PEU;Lo;0;L;;;;;N;;;;;
+D505;HANGUL SYLLABLE PEUG;Lo;0;L;;;;;N;;;;;
+D506;HANGUL SYLLABLE PEUGG;Lo;0;L;;;;;N;;;;;
+D507;HANGUL SYLLABLE PEUGS;Lo;0;L;;;;;N;;;;;
+D508;HANGUL SYLLABLE PEUN;Lo;0;L;;;;;N;;;;;
+D509;HANGUL SYLLABLE PEUNI;Lo;0;L;;;;;N;;;;;
+D50A;HANGUL SYLLABLE PEUNH;Lo;0;L;;;;;N;;;;;
+D50B;HANGUL SYLLABLE PEUD;Lo;0;L;;;;;N;;;;;
+D50C;HANGUL SYLLABLE PEUL;Lo;0;L;;;;;N;;;;;
+D50D;HANGUL SYLLABLE PEULG;Lo;0;L;;;;;N;;;;;
+D50E;HANGUL SYLLABLE PEULM;Lo;0;L;;;;;N;;;;;
+D50F;HANGUL SYLLABLE PEULB;Lo;0;L;;;;;N;;;;;
+D510;HANGUL SYLLABLE PEULS;Lo;0;L;;;;;N;;;;;
+D511;HANGUL SYLLABLE PEULT;Lo;0;L;;;;;N;;;;;
+D512;HANGUL SYLLABLE PEULP;Lo;0;L;;;;;N;;;;;
+D513;HANGUL SYLLABLE PEULH;Lo;0;L;;;;;N;;;;;
+D514;HANGUL SYLLABLE PEUM;Lo;0;L;;;;;N;;;;;
+D515;HANGUL SYLLABLE PEUB;Lo;0;L;;;;;N;;;;;
+D516;HANGUL SYLLABLE PEUBS;Lo;0;L;;;;;N;;;;;
+D517;HANGUL SYLLABLE PEUS;Lo;0;L;;;;;N;;;;;
+D518;HANGUL SYLLABLE PEUSS;Lo;0;L;;;;;N;;;;;
+D519;HANGUL SYLLABLE PEUNG;Lo;0;L;;;;;N;;;;;
+D51A;HANGUL SYLLABLE PEUJ;Lo;0;L;;;;;N;;;;;
+D51B;HANGUL SYLLABLE PEUC;Lo;0;L;;;;;N;;;;;
+D51C;HANGUL SYLLABLE PEUK;Lo;0;L;;;;;N;;;;;
+D51D;HANGUL SYLLABLE PEUT;Lo;0;L;;;;;N;;;;;
+D51E;HANGUL SYLLABLE PEUP;Lo;0;L;;;;;N;;;;;
+D51F;HANGUL SYLLABLE PEUH;Lo;0;L;;;;;N;;;;;
+D520;HANGUL SYLLABLE PYI;Lo;0;L;;;;;N;;;;;
+D521;HANGUL SYLLABLE PYIG;Lo;0;L;;;;;N;;;;;
+D522;HANGUL SYLLABLE PYIGG;Lo;0;L;;;;;N;;;;;
+D523;HANGUL SYLLABLE PYIGS;Lo;0;L;;;;;N;;;;;
+D524;HANGUL SYLLABLE PYIN;Lo;0;L;;;;;N;;;;;
+D525;HANGUL SYLLABLE PYINI;Lo;0;L;;;;;N;;;;;
+D526;HANGUL SYLLABLE PYINH;Lo;0;L;;;;;N;;;;;
+D527;HANGUL SYLLABLE PYID;Lo;0;L;;;;;N;;;;;
+D528;HANGUL SYLLABLE PYIL;Lo;0;L;;;;;N;;;;;
+D529;HANGUL SYLLABLE PYILG;Lo;0;L;;;;;N;;;;;
+D52A;HANGUL SYLLABLE PYILM;Lo;0;L;;;;;N;;;;;
+D52B;HANGUL SYLLABLE PYILB;Lo;0;L;;;;;N;;;;;
+D52C;HANGUL SYLLABLE PYILS;Lo;0;L;;;;;N;;;;;
+D52D;HANGUL SYLLABLE PYILT;Lo;0;L;;;;;N;;;;;
+D52E;HANGUL SYLLABLE PYILP;Lo;0;L;;;;;N;;;;;
+D52F;HANGUL SYLLABLE PYILH;Lo;0;L;;;;;N;;;;;
+D530;HANGUL SYLLABLE PYIM;Lo;0;L;;;;;N;;;;;
+D531;HANGUL SYLLABLE PYIB;Lo;0;L;;;;;N;;;;;
+D532;HANGUL SYLLABLE PYIBS;Lo;0;L;;;;;N;;;;;
+D533;HANGUL SYLLABLE PYIS;Lo;0;L;;;;;N;;;;;
+D534;HANGUL SYLLABLE PYISS;Lo;0;L;;;;;N;;;;;
+D535;HANGUL SYLLABLE PYING;Lo;0;L;;;;;N;;;;;
+D536;HANGUL SYLLABLE PYIJ;Lo;0;L;;;;;N;;;;;
+D537;HANGUL SYLLABLE PYIC;Lo;0;L;;;;;N;;;;;
+D538;HANGUL SYLLABLE PYIK;Lo;0;L;;;;;N;;;;;
+D539;HANGUL SYLLABLE PYIT;Lo;0;L;;;;;N;;;;;
+D53A;HANGUL SYLLABLE PYIP;Lo;0;L;;;;;N;;;;;
+D53B;HANGUL SYLLABLE PYIH;Lo;0;L;;;;;N;;;;;
+D53C;HANGUL SYLLABLE PI;Lo;0;L;;;;;N;;;;;
+D53D;HANGUL SYLLABLE PIG;Lo;0;L;;;;;N;;;;;
+D53E;HANGUL SYLLABLE PIGG;Lo;0;L;;;;;N;;;;;
+D53F;HANGUL SYLLABLE PIGS;Lo;0;L;;;;;N;;;;;
+D540;HANGUL SYLLABLE PIN;Lo;0;L;;;;;N;;;;;
+D541;HANGUL SYLLABLE PINI;Lo;0;L;;;;;N;;;;;
+D542;HANGUL SYLLABLE PINH;Lo;0;L;;;;;N;;;;;
+D543;HANGUL SYLLABLE PID;Lo;0;L;;;;;N;;;;;
+D544;HANGUL SYLLABLE PIL;Lo;0;L;;;;;N;;;;;
+D545;HANGUL SYLLABLE PILG;Lo;0;L;;;;;N;;;;;
+D546;HANGUL SYLLABLE PILM;Lo;0;L;;;;;N;;;;;
+D547;HANGUL SYLLABLE PILB;Lo;0;L;;;;;N;;;;;
+D548;HANGUL SYLLABLE PILS;Lo;0;L;;;;;N;;;;;
+D549;HANGUL SYLLABLE PILT;Lo;0;L;;;;;N;;;;;
+D54A;HANGUL SYLLABLE PILP;Lo;0;L;;;;;N;;;;;
+D54B;HANGUL SYLLABLE PILH;Lo;0;L;;;;;N;;;;;
+D54C;HANGUL SYLLABLE PIM;Lo;0;L;;;;;N;;;;;
+D54D;HANGUL SYLLABLE PIB;Lo;0;L;;;;;N;;;;;
+D54E;HANGUL SYLLABLE PIBS;Lo;0;L;;;;;N;;;;;
+D54F;HANGUL SYLLABLE PIS;Lo;0;L;;;;;N;;;;;
+D550;HANGUL SYLLABLE PISS;Lo;0;L;;;;;N;;;;;
+D551;HANGUL SYLLABLE PING;Lo;0;L;;;;;N;;;;;
+D552;HANGUL SYLLABLE PIJ;Lo;0;L;;;;;N;;;;;
+D553;HANGUL SYLLABLE PIC;Lo;0;L;;;;;N;;;;;
+D554;HANGUL SYLLABLE PIK;Lo;0;L;;;;;N;;;;;
+D555;HANGUL SYLLABLE PIT;Lo;0;L;;;;;N;;;;;
+D556;HANGUL SYLLABLE PIP;Lo;0;L;;;;;N;;;;;
+D557;HANGUL SYLLABLE PIH;Lo;0;L;;;;;N;;;;;
+D558;HANGUL SYLLABLE HA;Lo;0;L;;;;;N;;;;;
+D559;HANGUL SYLLABLE HAG;Lo;0;L;;;;;N;;;;;
+D55A;HANGUL SYLLABLE HAGG;Lo;0;L;;;;;N;;;;;
+D55B;HANGUL SYLLABLE HAGS;Lo;0;L;;;;;N;;;;;
+D55C;HANGUL SYLLABLE HAN;Lo;0;L;;;;;N;;;;;
+D55D;HANGUL SYLLABLE HANI;Lo;0;L;;;;;N;;;;;
+D55E;HANGUL SYLLABLE HANH;Lo;0;L;;;;;N;;;;;
+D55F;HANGUL SYLLABLE HAD;Lo;0;L;;;;;N;;;;;
+D560;HANGUL SYLLABLE HAL;Lo;0;L;;;;;N;;;;;
+D561;HANGUL SYLLABLE HALG;Lo;0;L;;;;;N;;;;;
+D562;HANGUL SYLLABLE HALM;Lo;0;L;;;;;N;;;;;
+D563;HANGUL SYLLABLE HALB;Lo;0;L;;;;;N;;;;;
+D564;HANGUL SYLLABLE HALS;Lo;0;L;;;;;N;;;;;
+D565;HANGUL SYLLABLE HALT;Lo;0;L;;;;;N;;;;;
+D566;HANGUL SYLLABLE HALP;Lo;0;L;;;;;N;;;;;
+D567;HANGUL SYLLABLE HALH;Lo;0;L;;;;;N;;;;;
+D568;HANGUL SYLLABLE HAM;Lo;0;L;;;;;N;;;;;
+D569;HANGUL SYLLABLE HAB;Lo;0;L;;;;;N;;;;;
+D56A;HANGUL SYLLABLE HABS;Lo;0;L;;;;;N;;;;;
+D56B;HANGUL SYLLABLE HAS;Lo;0;L;;;;;N;;;;;
+D56C;HANGUL SYLLABLE HASS;Lo;0;L;;;;;N;;;;;
+D56D;HANGUL SYLLABLE HANG;Lo;0;L;;;;;N;;;;;
+D56E;HANGUL SYLLABLE HAJ;Lo;0;L;;;;;N;;;;;
+D56F;HANGUL SYLLABLE HAC;Lo;0;L;;;;;N;;;;;
+D570;HANGUL SYLLABLE HAK;Lo;0;L;;;;;N;;;;;
+D571;HANGUL SYLLABLE HAT;Lo;0;L;;;;;N;;;;;
+D572;HANGUL SYLLABLE HAP;Lo;0;L;;;;;N;;;;;
+D573;HANGUL SYLLABLE HAH;Lo;0;L;;;;;N;;;;;
+D574;HANGUL SYLLABLE HAE;Lo;0;L;;;;;N;;;;;
+D575;HANGUL SYLLABLE HAEG;Lo;0;L;;;;;N;;;;;
+D576;HANGUL SYLLABLE HAEGG;Lo;0;L;;;;;N;;;;;
+D577;HANGUL SYLLABLE HAEGS;Lo;0;L;;;;;N;;;;;
+D578;HANGUL SYLLABLE HAEN;Lo;0;L;;;;;N;;;;;
+D579;HANGUL SYLLABLE HAENI;Lo;0;L;;;;;N;;;;;
+D57A;HANGUL SYLLABLE HAENH;Lo;0;L;;;;;N;;;;;
+D57B;HANGUL SYLLABLE HAED;Lo;0;L;;;;;N;;;;;
+D57C;HANGUL SYLLABLE HAEL;Lo;0;L;;;;;N;;;;;
+D57D;HANGUL SYLLABLE HAELG;Lo;0;L;;;;;N;;;;;
+D57E;HANGUL SYLLABLE HAELM;Lo;0;L;;;;;N;;;;;
+D57F;HANGUL SYLLABLE HAELB;Lo;0;L;;;;;N;;;;;
+D580;HANGUL SYLLABLE HAELS;Lo;0;L;;;;;N;;;;;
+D581;HANGUL SYLLABLE HAELT;Lo;0;L;;;;;N;;;;;
+D582;HANGUL SYLLABLE HAELP;Lo;0;L;;;;;N;;;;;
+D583;HANGUL SYLLABLE HAELH;Lo;0;L;;;;;N;;;;;
+D584;HANGUL SYLLABLE HAEM;Lo;0;L;;;;;N;;;;;
+D585;HANGUL SYLLABLE HAEB;Lo;0;L;;;;;N;;;;;
+D586;HANGUL SYLLABLE HAEBS;Lo;0;L;;;;;N;;;;;
+D587;HANGUL SYLLABLE HAES;Lo;0;L;;;;;N;;;;;
+D588;HANGUL SYLLABLE HAESS;Lo;0;L;;;;;N;;;;;
+D589;HANGUL SYLLABLE HAENG;Lo;0;L;;;;;N;;;;;
+D58A;HANGUL SYLLABLE HAEJ;Lo;0;L;;;;;N;;;;;
+D58B;HANGUL SYLLABLE HAEC;Lo;0;L;;;;;N;;;;;
+D58C;HANGUL SYLLABLE HAEK;Lo;0;L;;;;;N;;;;;
+D58D;HANGUL SYLLABLE HAET;Lo;0;L;;;;;N;;;;;
+D58E;HANGUL SYLLABLE HAEP;Lo;0;L;;;;;N;;;;;
+D58F;HANGUL SYLLABLE HAEH;Lo;0;L;;;;;N;;;;;
+D590;HANGUL SYLLABLE HYA;Lo;0;L;;;;;N;;;;;
+D591;HANGUL SYLLABLE HYAG;Lo;0;L;;;;;N;;;;;
+D592;HANGUL SYLLABLE HYAGG;Lo;0;L;;;;;N;;;;;
+D593;HANGUL SYLLABLE HYAGS;Lo;0;L;;;;;N;;;;;
+D594;HANGUL SYLLABLE HYAN;Lo;0;L;;;;;N;;;;;
+D595;HANGUL SYLLABLE HYANI;Lo;0;L;;;;;N;;;;;
+D596;HANGUL SYLLABLE HYANH;Lo;0;L;;;;;N;;;;;
+D597;HANGUL SYLLABLE HYAD;Lo;0;L;;;;;N;;;;;
+D598;HANGUL SYLLABLE HYAL;Lo;0;L;;;;;N;;;;;
+D599;HANGUL SYLLABLE HYALG;Lo;0;L;;;;;N;;;;;
+D59A;HANGUL SYLLABLE HYALM;Lo;0;L;;;;;N;;;;;
+D59B;HANGUL SYLLABLE HYALB;Lo;0;L;;;;;N;;;;;
+D59C;HANGUL SYLLABLE HYALS;Lo;0;L;;;;;N;;;;;
+D59D;HANGUL SYLLABLE HYALT;Lo;0;L;;;;;N;;;;;
+D59E;HANGUL SYLLABLE HYALP;Lo;0;L;;;;;N;;;;;
+D59F;HANGUL SYLLABLE HYALH;Lo;0;L;;;;;N;;;;;
+D5A0;HANGUL SYLLABLE HYAM;Lo;0;L;;;;;N;;;;;
+D5A1;HANGUL SYLLABLE HYAB;Lo;0;L;;;;;N;;;;;
+D5A2;HANGUL SYLLABLE HYABS;Lo;0;L;;;;;N;;;;;
+D5A3;HANGUL SYLLABLE HYAS;Lo;0;L;;;;;N;;;;;
+D5A4;HANGUL SYLLABLE HYASS;Lo;0;L;;;;;N;;;;;
+D5A5;HANGUL SYLLABLE HYANG;Lo;0;L;;;;;N;;;;;
+D5A6;HANGUL SYLLABLE HYAJ;Lo;0;L;;;;;N;;;;;
+D5A7;HANGUL SYLLABLE HYAC;Lo;0;L;;;;;N;;;;;
+D5A8;HANGUL SYLLABLE HYAK;Lo;0;L;;;;;N;;;;;
+D5A9;HANGUL SYLLABLE HYAT;Lo;0;L;;;;;N;;;;;
+D5AA;HANGUL SYLLABLE HYAP;Lo;0;L;;;;;N;;;;;
+D5AB;HANGUL SYLLABLE HYAH;Lo;0;L;;;;;N;;;;;
+D5AC;HANGUL SYLLABLE HYAE;Lo;0;L;;;;;N;;;;;
+D5AD;HANGUL SYLLABLE HYAEG;Lo;0;L;;;;;N;;;;;
+D5AE;HANGUL SYLLABLE HYAEGG;Lo;0;L;;;;;N;;;;;
+D5AF;HANGUL SYLLABLE HYAEGS;Lo;0;L;;;;;N;;;;;
+D5B0;HANGUL SYLLABLE HYAEN;Lo;0;L;;;;;N;;;;;
+D5B1;HANGUL SYLLABLE HYAENI;Lo;0;L;;;;;N;;;;;
+D5B2;HANGUL SYLLABLE HYAENH;Lo;0;L;;;;;N;;;;;
+D5B3;HANGUL SYLLABLE HYAED;Lo;0;L;;;;;N;;;;;
+D5B4;HANGUL SYLLABLE HYAEL;Lo;0;L;;;;;N;;;;;
+D5B5;HANGUL SYLLABLE HYAELG;Lo;0;L;;;;;N;;;;;
+D5B6;HANGUL SYLLABLE HYAELM;Lo;0;L;;;;;N;;;;;
+D5B7;HANGUL SYLLABLE HYAELB;Lo;0;L;;;;;N;;;;;
+D5B8;HANGUL SYLLABLE HYAELS;Lo;0;L;;;;;N;;;;;
+D5B9;HANGUL SYLLABLE HYAELT;Lo;0;L;;;;;N;;;;;
+D5BA;HANGUL SYLLABLE HYAELP;Lo;0;L;;;;;N;;;;;
+D5BB;HANGUL SYLLABLE HYAELH;Lo;0;L;;;;;N;;;;;
+D5BC;HANGUL SYLLABLE HYAEM;Lo;0;L;;;;;N;;;;;
+D5BD;HANGUL SYLLABLE HYAEB;Lo;0;L;;;;;N;;;;;
+D5BE;HANGUL SYLLABLE HYAEBS;Lo;0;L;;;;;N;;;;;
+D5BF;HANGUL SYLLABLE HYAES;Lo;0;L;;;;;N;;;;;
+D5C0;HANGUL SYLLABLE HYAESS;Lo;0;L;;;;;N;;;;;
+D5C1;HANGUL SYLLABLE HYAENG;Lo;0;L;;;;;N;;;;;
+D5C2;HANGUL SYLLABLE HYAEJ;Lo;0;L;;;;;N;;;;;
+D5C3;HANGUL SYLLABLE HYAEC;Lo;0;L;;;;;N;;;;;
+D5C4;HANGUL SYLLABLE HYAEK;Lo;0;L;;;;;N;;;;;
+D5C5;HANGUL SYLLABLE HYAET;Lo;0;L;;;;;N;;;;;
+D5C6;HANGUL SYLLABLE HYAEP;Lo;0;L;;;;;N;;;;;
+D5C7;HANGUL SYLLABLE HYAEH;Lo;0;L;;;;;N;;;;;
+D5C8;HANGUL SYLLABLE HEO;Lo;0;L;;;;;N;;;;;
+D5C9;HANGUL SYLLABLE HEOG;Lo;0;L;;;;;N;;;;;
+D5CA;HANGUL SYLLABLE HEOGG;Lo;0;L;;;;;N;;;;;
+D5CB;HANGUL SYLLABLE HEOGS;Lo;0;L;;;;;N;;;;;
+D5CC;HANGUL SYLLABLE HEON;Lo;0;L;;;;;N;;;;;
+D5CD;HANGUL SYLLABLE HEONI;Lo;0;L;;;;;N;;;;;
+D5CE;HANGUL SYLLABLE HEONH;Lo;0;L;;;;;N;;;;;
+D5CF;HANGUL SYLLABLE HEOD;Lo;0;L;;;;;N;;;;;
+D5D0;HANGUL SYLLABLE HEOL;Lo;0;L;;;;;N;;;;;
+D5D1;HANGUL SYLLABLE HEOLG;Lo;0;L;;;;;N;;;;;
+D5D2;HANGUL SYLLABLE HEOLM;Lo;0;L;;;;;N;;;;;
+D5D3;HANGUL SYLLABLE HEOLB;Lo;0;L;;;;;N;;;;;
+D5D4;HANGUL SYLLABLE HEOLS;Lo;0;L;;;;;N;;;;;
+D5D5;HANGUL SYLLABLE HEOLT;Lo;0;L;;;;;N;;;;;
+D5D6;HANGUL SYLLABLE HEOLP;Lo;0;L;;;;;N;;;;;
+D5D7;HANGUL SYLLABLE HEOLH;Lo;0;L;;;;;N;;;;;
+D5D8;HANGUL SYLLABLE HEOM;Lo;0;L;;;;;N;;;;;
+D5D9;HANGUL SYLLABLE HEOB;Lo;0;L;;;;;N;;;;;
+D5DA;HANGUL SYLLABLE HEOBS;Lo;0;L;;;;;N;;;;;
+D5DB;HANGUL SYLLABLE HEOS;Lo;0;L;;;;;N;;;;;
+D5DC;HANGUL SYLLABLE HEOSS;Lo;0;L;;;;;N;;;;;
+D5DD;HANGUL SYLLABLE HEONG;Lo;0;L;;;;;N;;;;;
+D5DE;HANGUL SYLLABLE HEOJ;Lo;0;L;;;;;N;;;;;
+D5DF;HANGUL SYLLABLE HEOC;Lo;0;L;;;;;N;;;;;
+D5E0;HANGUL SYLLABLE HEOK;Lo;0;L;;;;;N;;;;;
+D5E1;HANGUL SYLLABLE HEOT;Lo;0;L;;;;;N;;;;;
+D5E2;HANGUL SYLLABLE HEOP;Lo;0;L;;;;;N;;;;;
+D5E3;HANGUL SYLLABLE HEOH;Lo;0;L;;;;;N;;;;;
+D5E4;HANGUL SYLLABLE HE;Lo;0;L;;;;;N;;;;;
+D5E5;HANGUL SYLLABLE HEG;Lo;0;L;;;;;N;;;;;
+D5E6;HANGUL SYLLABLE HEGG;Lo;0;L;;;;;N;;;;;
+D5E7;HANGUL SYLLABLE HEGS;Lo;0;L;;;;;N;;;;;
+D5E8;HANGUL SYLLABLE HEN;Lo;0;L;;;;;N;;;;;
+D5E9;HANGUL SYLLABLE HENI;Lo;0;L;;;;;N;;;;;
+D5EA;HANGUL SYLLABLE HENH;Lo;0;L;;;;;N;;;;;
+D5EB;HANGUL SYLLABLE HED;Lo;0;L;;;;;N;;;;;
+D5EC;HANGUL SYLLABLE HEL;Lo;0;L;;;;;N;;;;;
+D5ED;HANGUL SYLLABLE HELG;Lo;0;L;;;;;N;;;;;
+D5EE;HANGUL SYLLABLE HELM;Lo;0;L;;;;;N;;;;;
+D5EF;HANGUL SYLLABLE HELB;Lo;0;L;;;;;N;;;;;
+D5F0;HANGUL SYLLABLE HELS;Lo;0;L;;;;;N;;;;;
+D5F1;HANGUL SYLLABLE HELT;Lo;0;L;;;;;N;;;;;
+D5F2;HANGUL SYLLABLE HELP;Lo;0;L;;;;;N;;;;;
+D5F3;HANGUL SYLLABLE HELH;Lo;0;L;;;;;N;;;;;
+D5F4;HANGUL SYLLABLE HEM;Lo;0;L;;;;;N;;;;;
+D5F5;HANGUL SYLLABLE HEB;Lo;0;L;;;;;N;;;;;
+D5F6;HANGUL SYLLABLE HEBS;Lo;0;L;;;;;N;;;;;
+D5F7;HANGUL SYLLABLE HES;Lo;0;L;;;;;N;;;;;
+D5F8;HANGUL SYLLABLE HESS;Lo;0;L;;;;;N;;;;;
+D5F9;HANGUL SYLLABLE HENG;Lo;0;L;;;;;N;;;;;
+D5FA;HANGUL SYLLABLE HEJ;Lo;0;L;;;;;N;;;;;
+D5FB;HANGUL SYLLABLE HEC;Lo;0;L;;;;;N;;;;;
+D5FC;HANGUL SYLLABLE HEK;Lo;0;L;;;;;N;;;;;
+D5FD;HANGUL SYLLABLE HET;Lo;0;L;;;;;N;;;;;
+D5FE;HANGUL SYLLABLE HEP;Lo;0;L;;;;;N;;;;;
+D5FF;HANGUL SYLLABLE HEH;Lo;0;L;;;;;N;;;;;
+D600;HANGUL SYLLABLE HYEO;Lo;0;L;;;;;N;;;;;
+D601;HANGUL SYLLABLE HYEOG;Lo;0;L;;;;;N;;;;;
+D602;HANGUL SYLLABLE HYEOGG;Lo;0;L;;;;;N;;;;;
+D603;HANGUL SYLLABLE HYEOGS;Lo;0;L;;;;;N;;;;;
+D604;HANGUL SYLLABLE HYEON;Lo;0;L;;;;;N;;;;;
+D605;HANGUL SYLLABLE HYEONI;Lo;0;L;;;;;N;;;;;
+D606;HANGUL SYLLABLE HYEONH;Lo;0;L;;;;;N;;;;;
+D607;HANGUL SYLLABLE HYEOD;Lo;0;L;;;;;N;;;;;
+D608;HANGUL SYLLABLE HYEOL;Lo;0;L;;;;;N;;;;;
+D609;HANGUL SYLLABLE HYEOLG;Lo;0;L;;;;;N;;;;;
+D60A;HANGUL SYLLABLE HYEOLM;Lo;0;L;;;;;N;;;;;
+D60B;HANGUL SYLLABLE HYEOLB;Lo;0;L;;;;;N;;;;;
+D60C;HANGUL SYLLABLE HYEOLS;Lo;0;L;;;;;N;;;;;
+D60D;HANGUL SYLLABLE HYEOLT;Lo;0;L;;;;;N;;;;;
+D60E;HANGUL SYLLABLE HYEOLP;Lo;0;L;;;;;N;;;;;
+D60F;HANGUL SYLLABLE HYEOLH;Lo;0;L;;;;;N;;;;;
+D610;HANGUL SYLLABLE HYEOM;Lo;0;L;;;;;N;;;;;
+D611;HANGUL SYLLABLE HYEOB;Lo;0;L;;;;;N;;;;;
+D612;HANGUL SYLLABLE HYEOBS;Lo;0;L;;;;;N;;;;;
+D613;HANGUL SYLLABLE HYEOS;Lo;0;L;;;;;N;;;;;
+D614;HANGUL SYLLABLE HYEOSS;Lo;0;L;;;;;N;;;;;
+D615;HANGUL SYLLABLE HYEONG;Lo;0;L;;;;;N;;;;;
+D616;HANGUL SYLLABLE HYEOJ;Lo;0;L;;;;;N;;;;;
+D617;HANGUL SYLLABLE HYEOC;Lo;0;L;;;;;N;;;;;
+D618;HANGUL SYLLABLE HYEOK;Lo;0;L;;;;;N;;;;;
+D619;HANGUL SYLLABLE HYEOT;Lo;0;L;;;;;N;;;;;
+D61A;HANGUL SYLLABLE HYEOP;Lo;0;L;;;;;N;;;;;
+D61B;HANGUL SYLLABLE HYEOH;Lo;0;L;;;;;N;;;;;
+D61C;HANGUL SYLLABLE HYE;Lo;0;L;;;;;N;;;;;
+D61D;HANGUL SYLLABLE HYEG;Lo;0;L;;;;;N;;;;;
+D61E;HANGUL SYLLABLE HYEGG;Lo;0;L;;;;;N;;;;;
+D61F;HANGUL SYLLABLE HYEGS;Lo;0;L;;;;;N;;;;;
+D620;HANGUL SYLLABLE HYEN;Lo;0;L;;;;;N;;;;;
+D621;HANGUL SYLLABLE HYENI;Lo;0;L;;;;;N;;;;;
+D622;HANGUL SYLLABLE HYENH;Lo;0;L;;;;;N;;;;;
+D623;HANGUL SYLLABLE HYED;Lo;0;L;;;;;N;;;;;
+D624;HANGUL SYLLABLE HYEL;Lo;0;L;;;;;N;;;;;
+D625;HANGUL SYLLABLE HYELG;Lo;0;L;;;;;N;;;;;
+D626;HANGUL SYLLABLE HYELM;Lo;0;L;;;;;N;;;;;
+D627;HANGUL SYLLABLE HYELB;Lo;0;L;;;;;N;;;;;
+D628;HANGUL SYLLABLE HYELS;Lo;0;L;;;;;N;;;;;
+D629;HANGUL SYLLABLE HYELT;Lo;0;L;;;;;N;;;;;
+D62A;HANGUL SYLLABLE HYELP;Lo;0;L;;;;;N;;;;;
+D62B;HANGUL SYLLABLE HYELH;Lo;0;L;;;;;N;;;;;
+D62C;HANGUL SYLLABLE HYEM;Lo;0;L;;;;;N;;;;;
+D62D;HANGUL SYLLABLE HYEB;Lo;0;L;;;;;N;;;;;
+D62E;HANGUL SYLLABLE HYEBS;Lo;0;L;;;;;N;;;;;
+D62F;HANGUL SYLLABLE HYES;Lo;0;L;;;;;N;;;;;
+D630;HANGUL SYLLABLE HYESS;Lo;0;L;;;;;N;;;;;
+D631;HANGUL SYLLABLE HYENG;Lo;0;L;;;;;N;;;;;
+D632;HANGUL SYLLABLE HYEJ;Lo;0;L;;;;;N;;;;;
+D633;HANGUL SYLLABLE HYEC;Lo;0;L;;;;;N;;;;;
+D634;HANGUL SYLLABLE HYEK;Lo;0;L;;;;;N;;;;;
+D635;HANGUL SYLLABLE HYET;Lo;0;L;;;;;N;;;;;
+D636;HANGUL SYLLABLE HYEP;Lo;0;L;;;;;N;;;;;
+D637;HANGUL SYLLABLE HYEH;Lo;0;L;;;;;N;;;;;
+D638;HANGUL SYLLABLE HO;Lo;0;L;;;;;N;;;;;
+D639;HANGUL SYLLABLE HOG;Lo;0;L;;;;;N;;;;;
+D63A;HANGUL SYLLABLE HOGG;Lo;0;L;;;;;N;;;;;
+D63B;HANGUL SYLLABLE HOGS;Lo;0;L;;;;;N;;;;;
+D63C;HANGUL SYLLABLE HON;Lo;0;L;;;;;N;;;;;
+D63D;HANGUL SYLLABLE HONI;Lo;0;L;;;;;N;;;;;
+D63E;HANGUL SYLLABLE HONH;Lo;0;L;;;;;N;;;;;
+D63F;HANGUL SYLLABLE HOD;Lo;0;L;;;;;N;;;;;
+D640;HANGUL SYLLABLE HOL;Lo;0;L;;;;;N;;;;;
+D641;HANGUL SYLLABLE HOLG;Lo;0;L;;;;;N;;;;;
+D642;HANGUL SYLLABLE HOLM;Lo;0;L;;;;;N;;;;;
+D643;HANGUL SYLLABLE HOLB;Lo;0;L;;;;;N;;;;;
+D644;HANGUL SYLLABLE HOLS;Lo;0;L;;;;;N;;;;;
+D645;HANGUL SYLLABLE HOLT;Lo;0;L;;;;;N;;;;;
+D646;HANGUL SYLLABLE HOLP;Lo;0;L;;;;;N;;;;;
+D647;HANGUL SYLLABLE HOLH;Lo;0;L;;;;;N;;;;;
+D648;HANGUL SYLLABLE HOM;Lo;0;L;;;;;N;;;;;
+D649;HANGUL SYLLABLE HOB;Lo;0;L;;;;;N;;;;;
+D64A;HANGUL SYLLABLE HOBS;Lo;0;L;;;;;N;;;;;
+D64B;HANGUL SYLLABLE HOS;Lo;0;L;;;;;N;;;;;
+D64C;HANGUL SYLLABLE HOSS;Lo;0;L;;;;;N;;;;;
+D64D;HANGUL SYLLABLE HONG;Lo;0;L;;;;;N;;;;;
+D64E;HANGUL SYLLABLE HOJ;Lo;0;L;;;;;N;;;;;
+D64F;HANGUL SYLLABLE HOC;Lo;0;L;;;;;N;;;;;
+D650;HANGUL SYLLABLE HOK;Lo;0;L;;;;;N;;;;;
+D651;HANGUL SYLLABLE HOT;Lo;0;L;;;;;N;;;;;
+D652;HANGUL SYLLABLE HOP;Lo;0;L;;;;;N;;;;;
+D653;HANGUL SYLLABLE HOH;Lo;0;L;;;;;N;;;;;
+D654;HANGUL SYLLABLE HWA;Lo;0;L;;;;;N;;;;;
+D655;HANGUL SYLLABLE HWAG;Lo;0;L;;;;;N;;;;;
+D656;HANGUL SYLLABLE HWAGG;Lo;0;L;;;;;N;;;;;
+D657;HANGUL SYLLABLE HWAGS;Lo;0;L;;;;;N;;;;;
+D658;HANGUL SYLLABLE HWAN;Lo;0;L;;;;;N;;;;;
+D659;HANGUL SYLLABLE HWANI;Lo;0;L;;;;;N;;;;;
+D65A;HANGUL SYLLABLE HWANH;Lo;0;L;;;;;N;;;;;
+D65B;HANGUL SYLLABLE HWAD;Lo;0;L;;;;;N;;;;;
+D65C;HANGUL SYLLABLE HWAL;Lo;0;L;;;;;N;;;;;
+D65D;HANGUL SYLLABLE HWALG;Lo;0;L;;;;;N;;;;;
+D65E;HANGUL SYLLABLE HWALM;Lo;0;L;;;;;N;;;;;
+D65F;HANGUL SYLLABLE HWALB;Lo;0;L;;;;;N;;;;;
+D660;HANGUL SYLLABLE HWALS;Lo;0;L;;;;;N;;;;;
+D661;HANGUL SYLLABLE HWALT;Lo;0;L;;;;;N;;;;;
+D662;HANGUL SYLLABLE HWALP;Lo;0;L;;;;;N;;;;;
+D663;HANGUL SYLLABLE HWALH;Lo;0;L;;;;;N;;;;;
+D664;HANGUL SYLLABLE HWAM;Lo;0;L;;;;;N;;;;;
+D665;HANGUL SYLLABLE HWAB;Lo;0;L;;;;;N;;;;;
+D666;HANGUL SYLLABLE HWABS;Lo;0;L;;;;;N;;;;;
+D667;HANGUL SYLLABLE HWAS;Lo;0;L;;;;;N;;;;;
+D668;HANGUL SYLLABLE HWASS;Lo;0;L;;;;;N;;;;;
+D669;HANGUL SYLLABLE HWANG;Lo;0;L;;;;;N;;;;;
+D66A;HANGUL SYLLABLE HWAJ;Lo;0;L;;;;;N;;;;;
+D66B;HANGUL SYLLABLE HWAC;Lo;0;L;;;;;N;;;;;
+D66C;HANGUL SYLLABLE HWAK;Lo;0;L;;;;;N;;;;;
+D66D;HANGUL SYLLABLE HWAT;Lo;0;L;;;;;N;;;;;
+D66E;HANGUL SYLLABLE HWAP;Lo;0;L;;;;;N;;;;;
+D66F;HANGUL SYLLABLE HWAH;Lo;0;L;;;;;N;;;;;
+D670;HANGUL SYLLABLE HWAE;Lo;0;L;;;;;N;;;;;
+D671;HANGUL SYLLABLE HWAEG;Lo;0;L;;;;;N;;;;;
+D672;HANGUL SYLLABLE HWAEGG;Lo;0;L;;;;;N;;;;;
+D673;HANGUL SYLLABLE HWAEGS;Lo;0;L;;;;;N;;;;;
+D674;HANGUL SYLLABLE HWAEN;Lo;0;L;;;;;N;;;;;
+D675;HANGUL SYLLABLE HWAENI;Lo;0;L;;;;;N;;;;;
+D676;HANGUL SYLLABLE HWAENH;Lo;0;L;;;;;N;;;;;
+D677;HANGUL SYLLABLE HWAED;Lo;0;L;;;;;N;;;;;
+D678;HANGUL SYLLABLE HWAEL;Lo;0;L;;;;;N;;;;;
+D679;HANGUL SYLLABLE HWAELG;Lo;0;L;;;;;N;;;;;
+D67A;HANGUL SYLLABLE HWAELM;Lo;0;L;;;;;N;;;;;
+D67B;HANGUL SYLLABLE HWAELB;Lo;0;L;;;;;N;;;;;
+D67C;HANGUL SYLLABLE HWAELS;Lo;0;L;;;;;N;;;;;
+D67D;HANGUL SYLLABLE HWAELT;Lo;0;L;;;;;N;;;;;
+D67E;HANGUL SYLLABLE HWAELP;Lo;0;L;;;;;N;;;;;
+D67F;HANGUL SYLLABLE HWAELH;Lo;0;L;;;;;N;;;;;
+D680;HANGUL SYLLABLE HWAEM;Lo;0;L;;;;;N;;;;;
+D681;HANGUL SYLLABLE HWAEB;Lo;0;L;;;;;N;;;;;
+D682;HANGUL SYLLABLE HWAEBS;Lo;0;L;;;;;N;;;;;
+D683;HANGUL SYLLABLE HWAES;Lo;0;L;;;;;N;;;;;
+D684;HANGUL SYLLABLE HWAESS;Lo;0;L;;;;;N;;;;;
+D685;HANGUL SYLLABLE HWAENG;Lo;0;L;;;;;N;;;;;
+D686;HANGUL SYLLABLE HWAEJ;Lo;0;L;;;;;N;;;;;
+D687;HANGUL SYLLABLE HWAEC;Lo;0;L;;;;;N;;;;;
+D688;HANGUL SYLLABLE HWAEK;Lo;0;L;;;;;N;;;;;
+D689;HANGUL SYLLABLE HWAET;Lo;0;L;;;;;N;;;;;
+D68A;HANGUL SYLLABLE HWAEP;Lo;0;L;;;;;N;;;;;
+D68B;HANGUL SYLLABLE HWAEH;Lo;0;L;;;;;N;;;;;
+D68C;HANGUL SYLLABLE HOE;Lo;0;L;;;;;N;;;;;
+D68D;HANGUL SYLLABLE HOEG;Lo;0;L;;;;;N;;;;;
+D68E;HANGUL SYLLABLE HOEGG;Lo;0;L;;;;;N;;;;;
+D68F;HANGUL SYLLABLE HOEGS;Lo;0;L;;;;;N;;;;;
+D690;HANGUL SYLLABLE HOEN;Lo;0;L;;;;;N;;;;;
+D691;HANGUL SYLLABLE HOENI;Lo;0;L;;;;;N;;;;;
+D692;HANGUL SYLLABLE HOENH;Lo;0;L;;;;;N;;;;;
+D693;HANGUL SYLLABLE HOED;Lo;0;L;;;;;N;;;;;
+D694;HANGUL SYLLABLE HOEL;Lo;0;L;;;;;N;;;;;
+D695;HANGUL SYLLABLE HOELG;Lo;0;L;;;;;N;;;;;
+D696;HANGUL SYLLABLE HOELM;Lo;0;L;;;;;N;;;;;
+D697;HANGUL SYLLABLE HOELB;Lo;0;L;;;;;N;;;;;
+D698;HANGUL SYLLABLE HOELS;Lo;0;L;;;;;N;;;;;
+D699;HANGUL SYLLABLE HOELT;Lo;0;L;;;;;N;;;;;
+D69A;HANGUL SYLLABLE HOELP;Lo;0;L;;;;;N;;;;;
+D69B;HANGUL SYLLABLE HOELH;Lo;0;L;;;;;N;;;;;
+D69C;HANGUL SYLLABLE HOEM;Lo;0;L;;;;;N;;;;;
+D69D;HANGUL SYLLABLE HOEB;Lo;0;L;;;;;N;;;;;
+D69E;HANGUL SYLLABLE HOEBS;Lo;0;L;;;;;N;;;;;
+D69F;HANGUL SYLLABLE HOES;Lo;0;L;;;;;N;;;;;
+D6A0;HANGUL SYLLABLE HOESS;Lo;0;L;;;;;N;;;;;
+D6A1;HANGUL SYLLABLE HOENG;Lo;0;L;;;;;N;;;;;
+D6A2;HANGUL SYLLABLE HOEJ;Lo;0;L;;;;;N;;;;;
+D6A3;HANGUL SYLLABLE HOEC;Lo;0;L;;;;;N;;;;;
+D6A4;HANGUL SYLLABLE HOEK;Lo;0;L;;;;;N;;;;;
+D6A5;HANGUL SYLLABLE HOET;Lo;0;L;;;;;N;;;;;
+D6A6;HANGUL SYLLABLE HOEP;Lo;0;L;;;;;N;;;;;
+D6A7;HANGUL SYLLABLE HOEH;Lo;0;L;;;;;N;;;;;
+D6A8;HANGUL SYLLABLE HYO;Lo;0;L;;;;;N;;;;;
+D6A9;HANGUL SYLLABLE HYOG;Lo;0;L;;;;;N;;;;;
+D6AA;HANGUL SYLLABLE HYOGG;Lo;0;L;;;;;N;;;;;
+D6AB;HANGUL SYLLABLE HYOGS;Lo;0;L;;;;;N;;;;;
+D6AC;HANGUL SYLLABLE HYON;Lo;0;L;;;;;N;;;;;
+D6AD;HANGUL SYLLABLE HYONI;Lo;0;L;;;;;N;;;;;
+D6AE;HANGUL SYLLABLE HYONH;Lo;0;L;;;;;N;;;;;
+D6AF;HANGUL SYLLABLE HYOD;Lo;0;L;;;;;N;;;;;
+D6B0;HANGUL SYLLABLE HYOL;Lo;0;L;;;;;N;;;;;
+D6B1;HANGUL SYLLABLE HYOLG;Lo;0;L;;;;;N;;;;;
+D6B2;HANGUL SYLLABLE HYOLM;Lo;0;L;;;;;N;;;;;
+D6B3;HANGUL SYLLABLE HYOLB;Lo;0;L;;;;;N;;;;;
+D6B4;HANGUL SYLLABLE HYOLS;Lo;0;L;;;;;N;;;;;
+D6B5;HANGUL SYLLABLE HYOLT;Lo;0;L;;;;;N;;;;;
+D6B6;HANGUL SYLLABLE HYOLP;Lo;0;L;;;;;N;;;;;
+D6B7;HANGUL SYLLABLE HYOLH;Lo;0;L;;;;;N;;;;;
+D6B8;HANGUL SYLLABLE HYOM;Lo;0;L;;;;;N;;;;;
+D6B9;HANGUL SYLLABLE HYOB;Lo;0;L;;;;;N;;;;;
+D6BA;HANGUL SYLLABLE HYOBS;Lo;0;L;;;;;N;;;;;
+D6BB;HANGUL SYLLABLE HYOS;Lo;0;L;;;;;N;;;;;
+D6BC;HANGUL SYLLABLE HYOSS;Lo;0;L;;;;;N;;;;;
+D6BD;HANGUL SYLLABLE HYONG;Lo;0;L;;;;;N;;;;;
+D6BE;HANGUL SYLLABLE HYOJ;Lo;0;L;;;;;N;;;;;
+D6BF;HANGUL SYLLABLE HYOC;Lo;0;L;;;;;N;;;;;
+D6C0;HANGUL SYLLABLE HYOK;Lo;0;L;;;;;N;;;;;
+D6C1;HANGUL SYLLABLE HYOT;Lo;0;L;;;;;N;;;;;
+D6C2;HANGUL SYLLABLE HYOP;Lo;0;L;;;;;N;;;;;
+D6C3;HANGUL SYLLABLE HYOH;Lo;0;L;;;;;N;;;;;
+D6C4;HANGUL SYLLABLE HU;Lo;0;L;;;;;N;;;;;
+D6C5;HANGUL SYLLABLE HUG;Lo;0;L;;;;;N;;;;;
+D6C6;HANGUL SYLLABLE HUGG;Lo;0;L;;;;;N;;;;;
+D6C7;HANGUL SYLLABLE HUGS;Lo;0;L;;;;;N;;;;;
+D6C8;HANGUL SYLLABLE HUN;Lo;0;L;;;;;N;;;;;
+D6C9;HANGUL SYLLABLE HUNI;Lo;0;L;;;;;N;;;;;
+D6CA;HANGUL SYLLABLE HUNH;Lo;0;L;;;;;N;;;;;
+D6CB;HANGUL SYLLABLE HUD;Lo;0;L;;;;;N;;;;;
+D6CC;HANGUL SYLLABLE HUL;Lo;0;L;;;;;N;;;;;
+D6CD;HANGUL SYLLABLE HULG;Lo;0;L;;;;;N;;;;;
+D6CE;HANGUL SYLLABLE HULM;Lo;0;L;;;;;N;;;;;
+D6CF;HANGUL SYLLABLE HULB;Lo;0;L;;;;;N;;;;;
+D6D0;HANGUL SYLLABLE HULS;Lo;0;L;;;;;N;;;;;
+D6D1;HANGUL SYLLABLE HULT;Lo;0;L;;;;;N;;;;;
+D6D2;HANGUL SYLLABLE HULP;Lo;0;L;;;;;N;;;;;
+D6D3;HANGUL SYLLABLE HULH;Lo;0;L;;;;;N;;;;;
+D6D4;HANGUL SYLLABLE HUM;Lo;0;L;;;;;N;;;;;
+D6D5;HANGUL SYLLABLE HUB;Lo;0;L;;;;;N;;;;;
+D6D6;HANGUL SYLLABLE HUBS;Lo;0;L;;;;;N;;;;;
+D6D7;HANGUL SYLLABLE HUS;Lo;0;L;;;;;N;;;;;
+D6D8;HANGUL SYLLABLE HUSS;Lo;0;L;;;;;N;;;;;
+D6D9;HANGUL SYLLABLE HUNG;Lo;0;L;;;;;N;;;;;
+D6DA;HANGUL SYLLABLE HUJ;Lo;0;L;;;;;N;;;;;
+D6DB;HANGUL SYLLABLE HUC;Lo;0;L;;;;;N;;;;;
+D6DC;HANGUL SYLLABLE HUK;Lo;0;L;;;;;N;;;;;
+D6DD;HANGUL SYLLABLE HUT;Lo;0;L;;;;;N;;;;;
+D6DE;HANGUL SYLLABLE HUP;Lo;0;L;;;;;N;;;;;
+D6DF;HANGUL SYLLABLE HUH;Lo;0;L;;;;;N;;;;;
+D6E0;HANGUL SYLLABLE HWEO;Lo;0;L;;;;;N;;;;;
+D6E1;HANGUL SYLLABLE HWEOG;Lo;0;L;;;;;N;;;;;
+D6E2;HANGUL SYLLABLE HWEOGG;Lo;0;L;;;;;N;;;;;
+D6E3;HANGUL SYLLABLE HWEOGS;Lo;0;L;;;;;N;;;;;
+D6E4;HANGUL SYLLABLE HWEON;Lo;0;L;;;;;N;;;;;
+D6E5;HANGUL SYLLABLE HWEONI;Lo;0;L;;;;;N;;;;;
+D6E6;HANGUL SYLLABLE HWEONH;Lo;0;L;;;;;N;;;;;
+D6E7;HANGUL SYLLABLE HWEOD;Lo;0;L;;;;;N;;;;;
+D6E8;HANGUL SYLLABLE HWEOL;Lo;0;L;;;;;N;;;;;
+D6E9;HANGUL SYLLABLE HWEOLG;Lo;0;L;;;;;N;;;;;
+D6EA;HANGUL SYLLABLE HWEOLM;Lo;0;L;;;;;N;;;;;
+D6EB;HANGUL SYLLABLE HWEOLB;Lo;0;L;;;;;N;;;;;
+D6EC;HANGUL SYLLABLE HWEOLS;Lo;0;L;;;;;N;;;;;
+D6ED;HANGUL SYLLABLE HWEOLT;Lo;0;L;;;;;N;;;;;
+D6EE;HANGUL SYLLABLE HWEOLP;Lo;0;L;;;;;N;;;;;
+D6EF;HANGUL SYLLABLE HWEOLH;Lo;0;L;;;;;N;;;;;
+D6F0;HANGUL SYLLABLE HWEOM;Lo;0;L;;;;;N;;;;;
+D6F1;HANGUL SYLLABLE HWEOB;Lo;0;L;;;;;N;;;;;
+D6F2;HANGUL SYLLABLE HWEOBS;Lo;0;L;;;;;N;;;;;
+D6F3;HANGUL SYLLABLE HWEOS;Lo;0;L;;;;;N;;;;;
+D6F4;HANGUL SYLLABLE HWEOSS;Lo;0;L;;;;;N;;;;;
+D6F5;HANGUL SYLLABLE HWEONG;Lo;0;L;;;;;N;;;;;
+D6F6;HANGUL SYLLABLE HWEOJ;Lo;0;L;;;;;N;;;;;
+D6F7;HANGUL SYLLABLE HWEOC;Lo;0;L;;;;;N;;;;;
+D6F8;HANGUL SYLLABLE HWEOK;Lo;0;L;;;;;N;;;;;
+D6F9;HANGUL SYLLABLE HWEOT;Lo;0;L;;;;;N;;;;;
+D6FA;HANGUL SYLLABLE HWEOP;Lo;0;L;;;;;N;;;;;
+D6FB;HANGUL SYLLABLE HWEOH;Lo;0;L;;;;;N;;;;;
+D6FC;HANGUL SYLLABLE HWE;Lo;0;L;;;;;N;;;;;
+D6FD;HANGUL SYLLABLE HWEG;Lo;0;L;;;;;N;;;;;
+D6FE;HANGUL SYLLABLE HWEGG;Lo;0;L;;;;;N;;;;;
+D6FF;HANGUL SYLLABLE HWEGS;Lo;0;L;;;;;N;;;;;
+D700;HANGUL SYLLABLE HWEN;Lo;0;L;;;;;N;;;;;
+D701;HANGUL SYLLABLE HWENI;Lo;0;L;;;;;N;;;;;
+D702;HANGUL SYLLABLE HWENH;Lo;0;L;;;;;N;;;;;
+D703;HANGUL SYLLABLE HWED;Lo;0;L;;;;;N;;;;;
+D704;HANGUL SYLLABLE HWEL;Lo;0;L;;;;;N;;;;;
+D705;HANGUL SYLLABLE HWELG;Lo;0;L;;;;;N;;;;;
+D706;HANGUL SYLLABLE HWELM;Lo;0;L;;;;;N;;;;;
+D707;HANGUL SYLLABLE HWELB;Lo;0;L;;;;;N;;;;;
+D708;HANGUL SYLLABLE HWELS;Lo;0;L;;;;;N;;;;;
+D709;HANGUL SYLLABLE HWELT;Lo;0;L;;;;;N;;;;;
+D70A;HANGUL SYLLABLE HWELP;Lo;0;L;;;;;N;;;;;
+D70B;HANGUL SYLLABLE HWELH;Lo;0;L;;;;;N;;;;;
+D70C;HANGUL SYLLABLE HWEM;Lo;0;L;;;;;N;;;;;
+D70D;HANGUL SYLLABLE HWEB;Lo;0;L;;;;;N;;;;;
+D70E;HANGUL SYLLABLE HWEBS;Lo;0;L;;;;;N;;;;;
+D70F;HANGUL SYLLABLE HWES;Lo;0;L;;;;;N;;;;;
+D710;HANGUL SYLLABLE HWESS;Lo;0;L;;;;;N;;;;;
+D711;HANGUL SYLLABLE HWENG;Lo;0;L;;;;;N;;;;;
+D712;HANGUL SYLLABLE HWEJ;Lo;0;L;;;;;N;;;;;
+D713;HANGUL SYLLABLE HWEC;Lo;0;L;;;;;N;;;;;
+D714;HANGUL SYLLABLE HWEK;Lo;0;L;;;;;N;;;;;
+D715;HANGUL SYLLABLE HWET;Lo;0;L;;;;;N;;;;;
+D716;HANGUL SYLLABLE HWEP;Lo;0;L;;;;;N;;;;;
+D717;HANGUL SYLLABLE HWEH;Lo;0;L;;;;;N;;;;;
+D718;HANGUL SYLLABLE HWI;Lo;0;L;;;;;N;;;;;
+D719;HANGUL SYLLABLE HWIG;Lo;0;L;;;;;N;;;;;
+D71A;HANGUL SYLLABLE HWIGG;Lo;0;L;;;;;N;;;;;
+D71B;HANGUL SYLLABLE HWIGS;Lo;0;L;;;;;N;;;;;
+D71C;HANGUL SYLLABLE HWIN;Lo;0;L;;;;;N;;;;;
+D71D;HANGUL SYLLABLE HWINI;Lo;0;L;;;;;N;;;;;
+D71E;HANGUL SYLLABLE HWINH;Lo;0;L;;;;;N;;;;;
+D71F;HANGUL SYLLABLE HWID;Lo;0;L;;;;;N;;;;;
+D720;HANGUL SYLLABLE HWIL;Lo;0;L;;;;;N;;;;;
+D721;HANGUL SYLLABLE HWILG;Lo;0;L;;;;;N;;;;;
+D722;HANGUL SYLLABLE HWILM;Lo;0;L;;;;;N;;;;;
+D723;HANGUL SYLLABLE HWILB;Lo;0;L;;;;;N;;;;;
+D724;HANGUL SYLLABLE HWILS;Lo;0;L;;;;;N;;;;;
+D725;HANGUL SYLLABLE HWILT;Lo;0;L;;;;;N;;;;;
+D726;HANGUL SYLLABLE HWILP;Lo;0;L;;;;;N;;;;;
+D727;HANGUL SYLLABLE HWILH;Lo;0;L;;;;;N;;;;;
+D728;HANGUL SYLLABLE HWIM;Lo;0;L;;;;;N;;;;;
+D729;HANGUL SYLLABLE HWIB;Lo;0;L;;;;;N;;;;;
+D72A;HANGUL SYLLABLE HWIBS;Lo;0;L;;;;;N;;;;;
+D72B;HANGUL SYLLABLE HWIS;Lo;0;L;;;;;N;;;;;
+D72C;HANGUL SYLLABLE HWISS;Lo;0;L;;;;;N;;;;;
+D72D;HANGUL SYLLABLE HWING;Lo;0;L;;;;;N;;;;;
+D72E;HANGUL SYLLABLE HWIJ;Lo;0;L;;;;;N;;;;;
+D72F;HANGUL SYLLABLE HWIC;Lo;0;L;;;;;N;;;;;
+D730;HANGUL SYLLABLE HWIK;Lo;0;L;;;;;N;;;;;
+D731;HANGUL SYLLABLE HWIT;Lo;0;L;;;;;N;;;;;
+D732;HANGUL SYLLABLE HWIP;Lo;0;L;;;;;N;;;;;
+D733;HANGUL SYLLABLE HWIH;Lo;0;L;;;;;N;;;;;
+D734;HANGUL SYLLABLE HYU;Lo;0;L;;;;;N;;;;;
+D735;HANGUL SYLLABLE HYUG;Lo;0;L;;;;;N;;;;;
+D736;HANGUL SYLLABLE HYUGG;Lo;0;L;;;;;N;;;;;
+D737;HANGUL SYLLABLE HYUGS;Lo;0;L;;;;;N;;;;;
+D738;HANGUL SYLLABLE HYUN;Lo;0;L;;;;;N;;;;;
+D739;HANGUL SYLLABLE HYUNI;Lo;0;L;;;;;N;;;;;
+D73A;HANGUL SYLLABLE HYUNH;Lo;0;L;;;;;N;;;;;
+D73B;HANGUL SYLLABLE HYUD;Lo;0;L;;;;;N;;;;;
+D73C;HANGUL SYLLABLE HYUL;Lo;0;L;;;;;N;;;;;
+D73D;HANGUL SYLLABLE HYULG;Lo;0;L;;;;;N;;;;;
+D73E;HANGUL SYLLABLE HYULM;Lo;0;L;;;;;N;;;;;
+D73F;HANGUL SYLLABLE HYULB;Lo;0;L;;;;;N;;;;;
+D740;HANGUL SYLLABLE HYULS;Lo;0;L;;;;;N;;;;;
+D741;HANGUL SYLLABLE HYULT;Lo;0;L;;;;;N;;;;;
+D742;HANGUL SYLLABLE HYULP;Lo;0;L;;;;;N;;;;;
+D743;HANGUL SYLLABLE HYULH;Lo;0;L;;;;;N;;;;;
+D744;HANGUL SYLLABLE HYUM;Lo;0;L;;;;;N;;;;;
+D745;HANGUL SYLLABLE HYUB;Lo;0;L;;;;;N;;;;;
+D746;HANGUL SYLLABLE HYUBS;Lo;0;L;;;;;N;;;;;
+D747;HANGUL SYLLABLE HYUS;Lo;0;L;;;;;N;;;;;
+D748;HANGUL SYLLABLE HYUSS;Lo;0;L;;;;;N;;;;;
+D749;HANGUL SYLLABLE HYUNG;Lo;0;L;;;;;N;;;;;
+D74A;HANGUL SYLLABLE HYUJ;Lo;0;L;;;;;N;;;;;
+D74B;HANGUL SYLLABLE HYUC;Lo;0;L;;;;;N;;;;;
+D74C;HANGUL SYLLABLE HYUK;Lo;0;L;;;;;N;;;;;
+D74D;HANGUL SYLLABLE HYUT;Lo;0;L;;;;;N;;;;;
+D74E;HANGUL SYLLABLE HYUP;Lo;0;L;;;;;N;;;;;
+D74F;HANGUL SYLLABLE HYUH;Lo;0;L;;;;;N;;;;;
+D750;HANGUL SYLLABLE HEU;Lo;0;L;;;;;N;;;;;
+D751;HANGUL SYLLABLE HEUG;Lo;0;L;;;;;N;;;;;
+D752;HANGUL SYLLABLE HEUGG;Lo;0;L;;;;;N;;;;;
+D753;HANGUL SYLLABLE HEUGS;Lo;0;L;;;;;N;;;;;
+D754;HANGUL SYLLABLE HEUN;Lo;0;L;;;;;N;;;;;
+D755;HANGUL SYLLABLE HEUNI;Lo;0;L;;;;;N;;;;;
+D756;HANGUL SYLLABLE HEUNH;Lo;0;L;;;;;N;;;;;
+D757;HANGUL SYLLABLE HEUD;Lo;0;L;;;;;N;;;;;
+D758;HANGUL SYLLABLE HEUL;Lo;0;L;;;;;N;;;;;
+D759;HANGUL SYLLABLE HEULG;Lo;0;L;;;;;N;;;;;
+D75A;HANGUL SYLLABLE HEULM;Lo;0;L;;;;;N;;;;;
+D75B;HANGUL SYLLABLE HEULB;Lo;0;L;;;;;N;;;;;
+D75C;HANGUL SYLLABLE HEULS;Lo;0;L;;;;;N;;;;;
+D75D;HANGUL SYLLABLE HEULT;Lo;0;L;;;;;N;;;;;
+D75E;HANGUL SYLLABLE HEULP;Lo;0;L;;;;;N;;;;;
+D75F;HANGUL SYLLABLE HEULH;Lo;0;L;;;;;N;;;;;
+D760;HANGUL SYLLABLE HEUM;Lo;0;L;;;;;N;;;;;
+D761;HANGUL SYLLABLE HEUB;Lo;0;L;;;;;N;;;;;
+D762;HANGUL SYLLABLE HEUBS;Lo;0;L;;;;;N;;;;;
+D763;HANGUL SYLLABLE HEUS;Lo;0;L;;;;;N;;;;;
+D764;HANGUL SYLLABLE HEUSS;Lo;0;L;;;;;N;;;;;
+D765;HANGUL SYLLABLE HEUNG;Lo;0;L;;;;;N;;;;;
+D766;HANGUL SYLLABLE HEUJ;Lo;0;L;;;;;N;;;;;
+D767;HANGUL SYLLABLE HEUC;Lo;0;L;;;;;N;;;;;
+D768;HANGUL SYLLABLE HEUK;Lo;0;L;;;;;N;;;;;
+D769;HANGUL SYLLABLE HEUT;Lo;0;L;;;;;N;;;;;
+D76A;HANGUL SYLLABLE HEUP;Lo;0;L;;;;;N;;;;;
+D76B;HANGUL SYLLABLE HEUH;Lo;0;L;;;;;N;;;;;
+D76C;HANGUL SYLLABLE HYI;Lo;0;L;;;;;N;;;;;
+D76D;HANGUL SYLLABLE HYIG;Lo;0;L;;;;;N;;;;;
+D76E;HANGUL SYLLABLE HYIGG;Lo;0;L;;;;;N;;;;;
+D76F;HANGUL SYLLABLE HYIGS;Lo;0;L;;;;;N;;;;;
+D770;HANGUL SYLLABLE HYIN;Lo;0;L;;;;;N;;;;;
+D771;HANGUL SYLLABLE HYINI;Lo;0;L;;;;;N;;;;;
+D772;HANGUL SYLLABLE HYINH;Lo;0;L;;;;;N;;;;;
+D773;HANGUL SYLLABLE HYID;Lo;0;L;;;;;N;;;;;
+D774;HANGUL SYLLABLE HYIL;Lo;0;L;;;;;N;;;;;
+D775;HANGUL SYLLABLE HYILG;Lo;0;L;;;;;N;;;;;
+D776;HANGUL SYLLABLE HYILM;Lo;0;L;;;;;N;;;;;
+D777;HANGUL SYLLABLE HYILB;Lo;0;L;;;;;N;;;;;
+D778;HANGUL SYLLABLE HYILS;Lo;0;L;;;;;N;;;;;
+D779;HANGUL SYLLABLE HYILT;Lo;0;L;;;;;N;;;;;
+D77A;HANGUL SYLLABLE HYILP;Lo;0;L;;;;;N;;;;;
+D77B;HANGUL SYLLABLE HYILH;Lo;0;L;;;;;N;;;;;
+D77C;HANGUL SYLLABLE HYIM;Lo;0;L;;;;;N;;;;;
+D77D;HANGUL SYLLABLE HYIB;Lo;0;L;;;;;N;;;;;
+D77E;HANGUL SYLLABLE HYIBS;Lo;0;L;;;;;N;;;;;
+D77F;HANGUL SYLLABLE HYIS;Lo;0;L;;;;;N;;;;;
+D780;HANGUL SYLLABLE HYISS;Lo;0;L;;;;;N;;;;;
+D781;HANGUL SYLLABLE HYING;Lo;0;L;;;;;N;;;;;
+D782;HANGUL SYLLABLE HYIJ;Lo;0;L;;;;;N;;;;;
+D783;HANGUL SYLLABLE HYIC;Lo;0;L;;;;;N;;;;;
+D784;HANGUL SYLLABLE HYIK;Lo;0;L;;;;;N;;;;;
+D785;HANGUL SYLLABLE HYIT;Lo;0;L;;;;;N;;;;;
+D786;HANGUL SYLLABLE HYIP;Lo;0;L;;;;;N;;;;;
+D787;HANGUL SYLLABLE HYIH;Lo;0;L;;;;;N;;;;;
+D788;HANGUL SYLLABLE HI;Lo;0;L;;;;;N;;;;;
+D789;HANGUL SYLLABLE HIG;Lo;0;L;;;;;N;;;;;
+D78A;HANGUL SYLLABLE HIGG;Lo;0;L;;;;;N;;;;;
+D78B;HANGUL SYLLABLE HIGS;Lo;0;L;;;;;N;;;;;
+D78C;HANGUL SYLLABLE HIN;Lo;0;L;;;;;N;;;;;
+D78D;HANGUL SYLLABLE HINI;Lo;0;L;;;;;N;;;;;
+D78E;HANGUL SYLLABLE HINH;Lo;0;L;;;;;N;;;;;
+D78F;HANGUL SYLLABLE HID;Lo;0;L;;;;;N;;;;;
+D790;HANGUL SYLLABLE HIL;Lo;0;L;;;;;N;;;;;
+D791;HANGUL SYLLABLE HILG;Lo;0;L;;;;;N;;;;;
+D792;HANGUL SYLLABLE HILM;Lo;0;L;;;;;N;;;;;
+D793;HANGUL SYLLABLE HILB;Lo;0;L;;;;;N;;;;;
+D794;HANGUL SYLLABLE HILS;Lo;0;L;;;;;N;;;;;
+D795;HANGUL SYLLABLE HILT;Lo;0;L;;;;;N;;;;;
+D796;HANGUL SYLLABLE HILP;Lo;0;L;;;;;N;;;;;
+D797;HANGUL SYLLABLE HILH;Lo;0;L;;;;;N;;;;;
+D798;HANGUL SYLLABLE HIM;Lo;0;L;;;;;N;;;;;
+D799;HANGUL SYLLABLE HIB;Lo;0;L;;;;;N;;;;;
+D79A;HANGUL SYLLABLE HIBS;Lo;0;L;;;;;N;;;;;
+D79B;HANGUL SYLLABLE HIS;Lo;0;L;;;;;N;;;;;
+D79C;HANGUL SYLLABLE HISS;Lo;0;L;;;;;N;;;;;
+D79D;HANGUL SYLLABLE HING;Lo;0;L;;;;;N;;;;;
+D79E;HANGUL SYLLABLE HIJ;Lo;0;L;;;;;N;;;;;
+D79F;HANGUL SYLLABLE HIC;Lo;0;L;;;;;N;;;;;
+D7A0;HANGUL SYLLABLE HIK;Lo;0;L;;;;;N;;;;;
+D7A1;HANGUL SYLLABLE HIT;Lo;0;L;;;;;N;;;;;
+D7A2;HANGUL SYLLABLE HIP;Lo;0;L;;;;;N;;;;;
+D7A3;HANGUL SYLLABLE HIH;Lo;0;L;;;;;N;;;;;
diff --git a/gettext-tools/gnulib-tests/uniname/NameAliases.txt b/gettext-tools/gnulib-tests/uniname/NameAliases.txt
new file mode 100644
index 0000000..a59698a
--- /dev/null
+++ b/gettext-tools/gnulib-tests/uniname/NameAliases.txt
@@ -0,0 +1,554 @@
+# NameAliases-8.0.0.txt
+# Date: 2014-11-19, 01:30:00 GMT [KW, LI]
+#
+# This file is a normative contributory data file in the
+# Unicode Character Database.
+#
+# Copyright (c) 2005-2014 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# This file defines the formal name aliases for Unicode characters.
+#
+# For informative aliases, see NamesList.txt
+#
+# The formal name aliases are divided into five types, each with a distinct label.
+#
+# Type Labels:
+#
+# 1. correction
+# Corrections for serious problems in the character names
+# 2. control
+# ISO 6429 names for C0 and C1 control functions, and other
+# commonly occurring names for control codes
+# 3. alternate
+# A few widely used alternate names for format characters
+# 4. figment
+# Several documented labels for C1 control code points which
+# were never actually approved in any standard
+# 5. abbreviation
+# Commonly occurring abbreviations (or acronyms) for control codes,
+# format characters, spaces, and variation selectors
+#
+# The formal name aliases are part of the Unicode character namespace, which
+# includes the character names and the names of named character sequences.
+# The inclusion of ISO 6429 names and other commonly occurring names and
+# abbreviations for control codes and format characters as formal name aliases
+# is to help avoid name collisions between Unicode character names and the
+# labels which commonly appear in text and/or in implementations such as regex, for
+# control codes (which for historical reasons have no Unicode character name)
+# or for format characters.
+#
+# For documentation, see NamesList.html and http://www.unicode.org/reports/tr44/
+#
+# FORMAT
+#
+# Each line has three fields, as described here:
+#
+# First field: Code point
+# Second field: Alias
+# Third field: Type
+#
+# The type labels used are defined above. As for property values, comparisons
+# of type labels should ignore case.
+#
+# The type labels can be mapped to other strings for display, if desired.
+#
+# In case multiple aliases are assigned, additional aliases
+# are provided on separate lines. Parsers of this data file should
+# take note that the same code point can (and does) occur more than once.
+#
+# Note that currently the only instances of multiple aliases of the same
+# type for a single code point are either of type "control" or "abbreviation".
+# An alias of type "abbreviation" can, in principle, be added for any code
+# point, although currently aliases of type "correction" do not have
+# any additional aliases of type "abbreviation". Such relationships
+# are not enforced by stability policies.
+#
+#-----------------------------------------------------------------
+
+0000;NULL;control
+0000;NUL;abbreviation
+0001;START OF HEADING;control
+0001;SOH;abbreviation
+0002;START OF TEXT;control
+0002;STX;abbreviation
+0003;END OF TEXT;control
+0003;ETX;abbreviation
+0004;END OF TRANSMISSION;control
+0004;EOT;abbreviation
+0005;ENQUIRY;control
+0005;ENQ;abbreviation
+0006;ACKNOWLEDGE;control
+0006;ACK;abbreviation
+
+# Note that no formal name alias for the ISO 6429 "BELL" is
+# provided for U+0007, because of the existing name collision
+# with U+1F514 BELL.
+
+0007;ALERT;control
+0007;BEL;abbreviation
+
+0008;BACKSPACE;control
+0008;BS;abbreviation
+0009;CHARACTER TABULATION;control
+0009;HORIZONTAL TABULATION;control
+0009;HT;abbreviation
+0009;TAB;abbreviation
+000A;LINE FEED;control
+000A;NEW LINE;control
+000A;END OF LINE;control
+000A;LF;abbreviation
+000A;NL;abbreviation
+000A;EOL;abbreviation
+000B;LINE TABULATION;control
+000B;VERTICAL TABULATION;control
+000B;VT;abbreviation
+000C;FORM FEED;control
+000C;FF;abbreviation
+000D;CARRIAGE RETURN;control
+000D;CR;abbreviation
+000E;SHIFT OUT;control
+000E;LOCKING-SHIFT ONE;control
+000E;SO;abbreviation
+000F;SHIFT IN;control
+000F;LOCKING-SHIFT ZERO;control
+000F;SI;abbreviation
+0010;DATA LINK ESCAPE;control
+0010;DLE;abbreviation
+0011;DEVICE CONTROL ONE;control
+0011;DC1;abbreviation
+0012;DEVICE CONTROL TWO;control
+0012;DC2;abbreviation
+0013;DEVICE CONTROL THREE;control
+0013;DC3;abbreviation
+0014;DEVICE CONTROL FOUR;control
+0014;DC4;abbreviation
+0015;NEGATIVE ACKNOWLEDGE;control
+0015;NAK;abbreviation
+0016;SYNCHRONOUS IDLE;control
+0016;SYN;abbreviation
+0017;END OF TRANSMISSION BLOCK;control
+0017;ETB;abbreviation
+0018;CANCEL;control
+0018;CAN;abbreviation
+0019;END OF MEDIUM;control
+0019;EOM;abbreviation
+001A;SUBSTITUTE;control
+001A;SUB;abbreviation
+001B;ESCAPE;control
+001B;ESC;abbreviation
+001C;INFORMATION SEPARATOR FOUR;control
+001C;FILE SEPARATOR;control
+001C;FS;abbreviation
+001D;INFORMATION SEPARATOR THREE;control
+001D;GROUP SEPARATOR;control
+001D;GS;abbreviation
+001E;INFORMATION SEPARATOR TWO;control
+001E;RECORD SEPARATOR;control
+001E;RS;abbreviation
+001F;INFORMATION SEPARATOR ONE;control
+001F;UNIT SEPARATOR;control
+001F;US;abbreviation
+0020;SP;abbreviation
+007F;DELETE;control
+007F;DEL;abbreviation
+
+# PADDING CHARACTER and HIGH OCTET PRESET represent
+# architectural concepts initially proposed for early
+# drafts of ISO/IEC 10646-1. They were never actually
+# approved or standardized: hence their designation
+# here as the "figment" type. Formal name aliases
+# (and corresponding abbreviations) for these code
+# points are included here because these names leaked
+# out from the draft documents and were published in
+# at least one RFC whose names for code points was
+# implemented in Perl regex expressions.
+
+0080;PADDING CHARACTER;figment
+0080;PAD;abbreviation
+0081;HIGH OCTET PRESET;figment
+0081;HOP;abbreviation
+
+0082;BREAK PERMITTED HERE;control
+0082;BPH;abbreviation
+0083;NO BREAK HERE;control
+0083;NBH;abbreviation
+0084;INDEX;control
+0084;IND;abbreviation
+0085;NEXT LINE;control
+0085;NEL;abbreviation
+0086;START OF SELECTED AREA;control
+0086;SSA;abbreviation
+0087;END OF SELECTED AREA;control
+0087;ESA;abbreviation
+0088;CHARACTER TABULATION SET;control
+0088;HORIZONTAL TABULATION SET;control
+0088;HTS;abbreviation
+0089;CHARACTER TABULATION WITH JUSTIFICATION;control
+0089;HORIZONTAL TABULATION WITH JUSTIFICATION;control
+0089;HTJ;abbreviation
+008A;LINE TABULATION SET;control
+008A;VERTICAL TABULATION SET;control
+008A;VTS;abbreviation
+008B;PARTIAL LINE FORWARD;control
+008B;PARTIAL LINE DOWN;control
+008B;PLD;abbreviation
+008C;PARTIAL LINE BACKWARD;control
+008C;PARTIAL LINE UP;control
+008C;PLU;abbreviation
+008D;REVERSE LINE FEED;control
+008D;REVERSE INDEX;control
+008D;RI;abbreviation
+008E;SINGLE SHIFT TWO;control
+008E;SINGLE-SHIFT-2;control
+008E;SS2;abbreviation
+008F;SINGLE SHIFT THREE;control
+008F;SINGLE-SHIFT-3;control
+008F;SS3;abbreviation
+0090;DEVICE CONTROL STRING;control
+0090;DCS;abbreviation
+0091;PRIVATE USE ONE;control
+0091;PRIVATE USE-1;control
+0091;PU1;abbreviation
+0092;PRIVATE USE TWO;control
+0092;PRIVATE USE-2;control
+0092;PU2;abbreviation
+0093;SET TRANSMIT STATE;control
+0093;STS;abbreviation
+0094;CANCEL CHARACTER;control
+0094;CCH;abbreviation
+0095;MESSAGE WAITING;control
+0095;MW;abbreviation
+0096;START OF GUARDED AREA;control
+0096;START OF PROTECTED AREA;control
+0096;SPA;abbreviation
+0097;END OF GUARDED AREA;control
+0097;END OF PROTECTED AREA;control
+0097;EPA;abbreviation
+0098;START OF STRING;control
+0098;SOS;abbreviation
+
+# SINGLE GRAPHIC CHARACTER INTRODUCER is another
+# architectural concept from early drafts of ISO/IEC 10646-1
+# which was never approved and standardized.
+
+0099;SINGLE GRAPHIC CHARACTER INTRODUCER;figment
+0099;SGC;abbreviation
+
+009A;SINGLE CHARACTER INTRODUCER;control
+009A;SCI;abbreviation
+009B;CONTROL SEQUENCE INTRODUCER;control
+009B;CSI;abbreviation
+009C;STRING TERMINATOR;control
+009C;ST;abbreviation
+009D;OPERATING SYSTEM COMMAND;control
+009D;OSC;abbreviation
+009E;PRIVACY MESSAGE;control
+009E;PM;abbreviation
+009F;APPLICATION PROGRAM COMMAND;control
+009F;APC;abbreviation
+00A0;NBSP;abbreviation
+00AD;SHY;abbreviation
+01A2;LATIN CAPITAL LETTER GHA;correction
+01A3;LATIN SMALL LETTER GHA;correction
+034F;CGJ;abbreviation
+061C;ALM;abbreviation
+0709;SYRIAC SUBLINEAR COLON SKEWED LEFT;correction
+0CDE;KANNADA LETTER LLLA;correction
+0E9D;LAO LETTER FO FON;correction
+0E9F;LAO LETTER FO FAY;correction
+0EA3;LAO LETTER RO;correction
+0EA5;LAO LETTER LO;correction
+0FD0;TIBETAN MARK BKA- SHOG GI MGO RGYAN;correction
+180B;FVS1;abbreviation
+180C;FVS2;abbreviation
+180D;FVS3;abbreviation
+180E;MVS;abbreviation
+200B;ZWSP;abbreviation
+200C;ZWNJ;abbreviation
+200D;ZWJ;abbreviation
+200E;LRM;abbreviation
+200F;RLM;abbreviation
+202A;LRE;abbreviation
+202B;RLE;abbreviation
+202C;PDF;abbreviation
+202D;LRO;abbreviation
+202E;RLO;abbreviation
+202F;NNBSP;abbreviation
+205F;MMSP;abbreviation
+2060;WJ;abbreviation
+2066;LRI;abbreviation
+2067;RLI;abbreviation
+2068;FSI;abbreviation
+2069;PDI;abbreviation
+2118;WEIERSTRASS ELLIPTIC FUNCTION;correction
+2448;MICR ON US SYMBOL;correction
+2449;MICR DASH SYMBOL;correction
+2B7A;LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE;correction
+2B7C;RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE;correction
+A015;YI SYLLABLE ITERATION MARK;correction
+FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET;correction
+FE00;VS1;abbreviation
+FE01;VS2;abbreviation
+FE02;VS3;abbreviation
+FE03;VS4;abbreviation
+FE04;VS5;abbreviation
+FE05;VS6;abbreviation
+FE06;VS7;abbreviation
+FE07;VS8;abbreviation
+FE08;VS9;abbreviation
+FE09;VS10;abbreviation
+FE0A;VS11;abbreviation
+FE0B;VS12;abbreviation
+FE0C;VS13;abbreviation
+FE0D;VS14;abbreviation
+FE0E;VS15;abbreviation
+FE0F;VS16;abbreviation
+FEFF;BYTE ORDER MARK;alternate
+FEFF;BOM;abbreviation
+FEFF;ZWNBSP;abbreviation
+122D4;CUNEIFORM SIGN NU11 TENU;correction
+122D5;CUNEIFORM SIGN NU11 OVER NU11 BUR OVER BUR;correction
+1D0C5;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS;correction
+E0100;VS17;abbreviation
+E0101;VS18;abbreviation
+E0102;VS19;abbreviation
+E0103;VS20;abbreviation
+E0104;VS21;abbreviation
+E0105;VS22;abbreviation
+E0106;VS23;abbreviation
+E0107;VS24;abbreviation
+E0108;VS25;abbreviation
+E0109;VS26;abbreviation
+E010A;VS27;abbreviation
+E010B;VS28;abbreviation
+E010C;VS29;abbreviation
+E010D;VS30;abbreviation
+E010E;VS31;abbreviation
+E010F;VS32;abbreviation
+E0110;VS33;abbreviation
+E0111;VS34;abbreviation
+E0112;VS35;abbreviation
+E0113;VS36;abbreviation
+E0114;VS37;abbreviation
+E0115;VS38;abbreviation
+E0116;VS39;abbreviation
+E0117;VS40;abbreviation
+E0118;VS41;abbreviation
+E0119;VS42;abbreviation
+E011A;VS43;abbreviation
+E011B;VS44;abbreviation
+E011C;VS45;abbreviation
+E011D;VS46;abbreviation
+E011E;VS47;abbreviation
+E011F;VS48;abbreviation
+E0120;VS49;abbreviation
+E0121;VS50;abbreviation
+E0122;VS51;abbreviation
+E0123;VS52;abbreviation
+E0124;VS53;abbreviation
+E0125;VS54;abbreviation
+E0126;VS55;abbreviation
+E0127;VS56;abbreviation
+E0128;VS57;abbreviation
+E0129;VS58;abbreviation
+E012A;VS59;abbreviation
+E012B;VS60;abbreviation
+E012C;VS61;abbreviation
+E012D;VS62;abbreviation
+E012E;VS63;abbreviation
+E012F;VS64;abbreviation
+E0130;VS65;abbreviation
+E0131;VS66;abbreviation
+E0132;VS67;abbreviation
+E0133;VS68;abbreviation
+E0134;VS69;abbreviation
+E0135;VS70;abbreviation
+E0136;VS71;abbreviation
+E0137;VS72;abbreviation
+E0138;VS73;abbreviation
+E0139;VS74;abbreviation
+E013A;VS75;abbreviation
+E013B;VS76;abbreviation
+E013C;VS77;abbreviation
+E013D;VS78;abbreviation
+E013E;VS79;abbreviation
+E013F;VS80;abbreviation
+E0140;VS81;abbreviation
+E0141;VS82;abbreviation
+E0142;VS83;abbreviation
+E0143;VS84;abbreviation
+E0144;VS85;abbreviation
+E0145;VS86;abbreviation
+E0146;VS87;abbreviation
+E0147;VS88;abbreviation
+E0148;VS89;abbreviation
+E0149;VS90;abbreviation
+E014A;VS91;abbreviation
+E014B;VS92;abbreviation
+E014C;VS93;abbreviation
+E014D;VS94;abbreviation
+E014E;VS95;abbreviation
+E014F;VS96;abbreviation
+E0150;VS97;abbreviation
+E0151;VS98;abbreviation
+E0152;VS99;abbreviation
+E0153;VS100;abbreviation
+E0154;VS101;abbreviation
+E0155;VS102;abbreviation
+E0156;VS103;abbreviation
+E0157;VS104;abbreviation
+E0158;VS105;abbreviation
+E0159;VS106;abbreviation
+E015A;VS107;abbreviation
+E015B;VS108;abbreviation
+E015C;VS109;abbreviation
+E015D;VS110;abbreviation
+E015E;VS111;abbreviation
+E015F;VS112;abbreviation
+E0160;VS113;abbreviation
+E0161;VS114;abbreviation
+E0162;VS115;abbreviation
+E0163;VS116;abbreviation
+E0164;VS117;abbreviation
+E0165;VS118;abbreviation
+E0166;VS119;abbreviation
+E0167;VS120;abbreviation
+E0168;VS121;abbreviation
+E0169;VS122;abbreviation
+E016A;VS123;abbreviation
+E016B;VS124;abbreviation
+E016C;VS125;abbreviation
+E016D;VS126;abbreviation
+E016E;VS127;abbreviation
+E016F;VS128;abbreviation
+E0170;VS129;abbreviation
+E0171;VS130;abbreviation
+E0172;VS131;abbreviation
+E0173;VS132;abbreviation
+E0174;VS133;abbreviation
+E0175;VS134;abbreviation
+E0176;VS135;abbreviation
+E0177;VS136;abbreviation
+E0178;VS137;abbreviation
+E0179;VS138;abbreviation
+E017A;VS139;abbreviation
+E017B;VS140;abbreviation
+E017C;VS141;abbreviation
+E017D;VS142;abbreviation
+E017E;VS143;abbreviation
+E017F;VS144;abbreviation
+E0180;VS145;abbreviation
+E0181;VS146;abbreviation
+E0182;VS147;abbreviation
+E0183;VS148;abbreviation
+E0184;VS149;abbreviation
+E0185;VS150;abbreviation
+E0186;VS151;abbreviation
+E0187;VS152;abbreviation
+E0188;VS153;abbreviation
+E0189;VS154;abbreviation
+E018A;VS155;abbreviation
+E018B;VS156;abbreviation
+E018C;VS157;abbreviation
+E018D;VS158;abbreviation
+E018E;VS159;abbreviation
+E018F;VS160;abbreviation
+E0190;VS161;abbreviation
+E0191;VS162;abbreviation
+E0192;VS163;abbreviation
+E0193;VS164;abbreviation
+E0194;VS165;abbreviation
+E0195;VS166;abbreviation
+E0196;VS167;abbreviation
+E0197;VS168;abbreviation
+E0198;VS169;abbreviation
+E0199;VS170;abbreviation
+E019A;VS171;abbreviation
+E019B;VS172;abbreviation
+E019C;VS173;abbreviation
+E019D;VS174;abbreviation
+E019E;VS175;abbreviation
+E019F;VS176;abbreviation
+E01A0;VS177;abbreviation
+E01A1;VS178;abbreviation
+E01A2;VS179;abbreviation
+E01A3;VS180;abbreviation
+E01A4;VS181;abbreviation
+E01A5;VS182;abbreviation
+E01A6;VS183;abbreviation
+E01A7;VS184;abbreviation
+E01A8;VS185;abbreviation
+E01A9;VS186;abbreviation
+E01AA;VS187;abbreviation
+E01AB;VS188;abbreviation
+E01AC;VS189;abbreviation
+E01AD;VS190;abbreviation
+E01AE;VS191;abbreviation
+E01AF;VS192;abbreviation
+E01B0;VS193;abbreviation
+E01B1;VS194;abbreviation
+E01B2;VS195;abbreviation
+E01B3;VS196;abbreviation
+E01B4;VS197;abbreviation
+E01B5;VS198;abbreviation
+E01B6;VS199;abbreviation
+E01B7;VS200;abbreviation
+E01B8;VS201;abbreviation
+E01B9;VS202;abbreviation
+E01BA;VS203;abbreviation
+E01BB;VS204;abbreviation
+E01BC;VS205;abbreviation
+E01BD;VS206;abbreviation
+E01BE;VS207;abbreviation
+E01BF;VS208;abbreviation
+E01C0;VS209;abbreviation
+E01C1;VS210;abbreviation
+E01C2;VS211;abbreviation
+E01C3;VS212;abbreviation
+E01C4;VS213;abbreviation
+E01C5;VS214;abbreviation
+E01C6;VS215;abbreviation
+E01C7;VS216;abbreviation
+E01C8;VS217;abbreviation
+E01C9;VS218;abbreviation
+E01CA;VS219;abbreviation
+E01CB;VS220;abbreviation
+E01CC;VS221;abbreviation
+E01CD;VS222;abbreviation
+E01CE;VS223;abbreviation
+E01CF;VS224;abbreviation
+E01D0;VS225;abbreviation
+E01D1;VS226;abbreviation
+E01D2;VS227;abbreviation
+E01D3;VS228;abbreviation
+E01D4;VS229;abbreviation
+E01D5;VS230;abbreviation
+E01D6;VS231;abbreviation
+E01D7;VS232;abbreviation
+E01D8;VS233;abbreviation
+E01D9;VS234;abbreviation
+E01DA;VS235;abbreviation
+E01DB;VS236;abbreviation
+E01DC;VS237;abbreviation
+E01DD;VS238;abbreviation
+E01DE;VS239;abbreviation
+E01DF;VS240;abbreviation
+E01E0;VS241;abbreviation
+E01E1;VS242;abbreviation
+E01E2;VS243;abbreviation
+E01E3;VS244;abbreviation
+E01E4;VS245;abbreviation
+E01E5;VS246;abbreviation
+E01E6;VS247;abbreviation
+E01E7;VS248;abbreviation
+E01E8;VS249;abbreviation
+E01E9;VS250;abbreviation
+E01EA;VS251;abbreviation
+E01EB;VS252;abbreviation
+E01EC;VS253;abbreviation
+E01ED;VS254;abbreviation
+E01EE;VS255;abbreviation
+E01EF;VS256;abbreviation
+
+# EOF
diff --git a/gettext-tools/gnulib-tests/uniname/UnicodeDataNames.txt b/gettext-tools/gnulib-tests/uniname/UnicodeData.txt
index 5a4cf1a..aa0e914 100644
--- a/gettext-tools/gnulib-tests/uniname/UnicodeDataNames.txt
+++ b/gettext-tools/gnulib-tests/uniname/UnicodeData.txt
@@ -1,3 +1,35 @@
+0000;<control>;Cc;0;BN;;;;;N;NULL;;;;
+0001;<control>;Cc;0;BN;;;;;N;START OF HEADING;;;;
+0002;<control>;Cc;0;BN;;;;;N;START OF TEXT;;;;
+0003;<control>;Cc;0;BN;;;;;N;END OF TEXT;;;;
+0004;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;;
+0005;<control>;Cc;0;BN;;;;;N;ENQUIRY;;;;
+0006;<control>;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;;
+0007;<control>;Cc;0;BN;;;;;N;BELL;;;;
+0008;<control>;Cc;0;BN;;;;;N;BACKSPACE;;;;
+0009;<control>;Cc;0;S;;;;;N;CHARACTER TABULATION;;;;
+000A;<control>;Cc;0;B;;;;;N;LINE FEED (LF);;;;
+000B;<control>;Cc;0;S;;;;;N;LINE TABULATION;;;;
+000C;<control>;Cc;0;WS;;;;;N;FORM FEED (FF);;;;
+000D;<control>;Cc;0;B;;;;;N;CARRIAGE RETURN (CR);;;;
+000E;<control>;Cc;0;BN;;;;;N;SHIFT OUT;;;;
+000F;<control>;Cc;0;BN;;;;;N;SHIFT IN;;;;
+0010;<control>;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;;
+0011;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;;
+0012;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;;
+0013;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;;
+0014;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;;
+0015;<control>;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;;
+0016;<control>;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;;
+0017;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;;
+0018;<control>;Cc;0;BN;;;;;N;CANCEL;;;;
+0019;<control>;Cc;0;BN;;;;;N;END OF MEDIUM;;;;
+001A;<control>;Cc;0;BN;;;;;N;SUBSTITUTE;;;;
+001B;<control>;Cc;0;BN;;;;;N;ESCAPE;;;;
+001C;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR FOUR;;;;
+001D;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR THREE;;;;
+001E;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR TWO;;;;
+001F;<control>;Cc;0;S;;;;;N;INFORMATION SEPARATOR ONE;;;;
0020;SPACE;Zs;0;WS;;;;;N;;;;;
0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;;
@@ -93,6 +125,39 @@
007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;;
007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;;
007E;TILDE;Sm;0;ON;;;;;N;;;;;
+007F;<control>;Cc;0;BN;;;;;N;DELETE;;;;
+0080;<control>;Cc;0;BN;;;;;N;;;;;
+0081;<control>;Cc;0;BN;;;;;N;;;;;
+0082;<control>;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;;
+0083;<control>;Cc;0;BN;;;;;N;NO BREAK HERE;;;;
+0084;<control>;Cc;0;BN;;;;;N;;;;;
+0085;<control>;Cc;0;B;;;;;N;NEXT LINE (NEL);;;;
+0086;<control>;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;;
+0087;<control>;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;;
+0088;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;;
+0089;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;;
+008A;<control>;Cc;0;BN;;;;;N;LINE TABULATION SET;;;;
+008B;<control>;Cc;0;BN;;;;;N;PARTIAL LINE FORWARD;;;;
+008C;<control>;Cc;0;BN;;;;;N;PARTIAL LINE BACKWARD;;;;
+008D;<control>;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;;
+008E;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;;
+008F;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;;
+0090;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;;
+0091;<control>;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;;
+0092;<control>;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;;
+0093;<control>;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;;
+0094;<control>;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;;
+0095;<control>;Cc;0;BN;;;;;N;MESSAGE WAITING;;;;
+0096;<control>;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;;
+0097;<control>;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;;
+0098;<control>;Cc;0;BN;;;;;N;START OF STRING;;;;
+0099;<control>;Cc;0;BN;;;;;N;;;;;
+009A;<control>;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;;
+009B;<control>;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;;
+009C;<control>;Cc;0;BN;;;;;N;STRING TERMINATOR;;;;
+009D;<control>;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;;
+009E;<control>;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;;
+009F;<control>;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;;
00A0;NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;;
00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;;
@@ -100,11 +165,11 @@
00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;;
00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;;
-00A7;SECTION SIGN;So;0;ON;;;;;N;;;;;
+00A7;SECTION SIGN;Po;0;ON;;;;;N;;;;;
00A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;;
00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;;
-00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;;
-00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;*;;;
+00AA;FEMININE ORDINAL INDICATOR;Lo;0;L;<super> 0061;;;;N;;;;;
+00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;;
00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;;
00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;;
@@ -115,12 +180,12 @@
00B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
00B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;;
00B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C
-00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;;
+00B6;PILCROW SIGN;Po;0;ON;;;;;N;PARAGRAPH SIGN;;;;
00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;;
00B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;;
00B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
-00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L;<super> 006F;;;;N;;;;;
-00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;*;;;
+00BA;MASCULINE ORDINAL INDICATOR;Lo;0;L;<super> 006F;;;;N;;;;;
+00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;;
00BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;;
00BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;;
00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON;<fraction> 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;;
@@ -131,7 +196,7 @@
00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3;
00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4;
00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5;
-00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;ash *;;00E6;
+00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;;;00E6;
00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7;
00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8;
00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9;
@@ -141,7 +206,7 @@
00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED;
00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE;
00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF;
-00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0;
+00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;00F0;
00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1;
00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2;
00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3;
@@ -155,15 +220,15 @@
00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB;
00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC;
00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD;
-00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE;
-00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;;
+00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;;;00FE;
+00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;;;;
00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0
00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1
00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2
00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3
00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4
00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5
-00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;ash *;00C6;;00C6
+00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;;00C6;;00C6
00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7
00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8
00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9
@@ -173,7 +238,7 @@
00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD
00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE
00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF
-00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0
+00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;;00D0;;00D0
00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1
00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2
00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3
@@ -187,7 +252,7 @@
00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB
00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC
00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD
-00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE
+00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;;00DE;;00DE
00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178
0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101;
0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100
@@ -245,7 +310,7 @@
0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134
0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137;
0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136
-0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;;
+0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;;;;
0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A;
013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139
013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C;
@@ -263,8 +328,8 @@
0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148;
0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147
0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L;<compat> 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;;
-014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B;
-014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A
+014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;014B;
+014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;;014A;;014A
014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D;
014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C
014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F;
@@ -283,12 +348,12 @@
015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A
015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D;
015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C
-015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;*;;015F;
-015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;*;015E;;015E
+015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;;;015F;
+015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;;015E;;015E
0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161;
0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160
-0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;*;;0163;
-0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;*;0162;;0162
+0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;;;0163;
+0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;;0162;;0162
0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165;
0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164
0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167;
@@ -326,7 +391,7 @@
0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254;
0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188;
0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187
-0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;*;;0256;
+0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;;;0256;
018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257;
018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C;
018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B
@@ -338,7 +403,7 @@
0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191
0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260;
0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263;
-0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;hwair;01F6;;01F6
+0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;;01F6;;01F6
0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269;
0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268;
0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199;
@@ -348,14 +413,14 @@
019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F;
019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272;
019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;0220;;0220
-019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;*;;0275;
+019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;;;0275;
01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1;
01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0
-01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;gha;;01A3;
-01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;gha;01A2;;01A2
+01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;;;01A3;
+01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;;01A2;;01A2
01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5;
01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4
-01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;*;;0280;
+01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;0280;
01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8;
01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7
01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283;
@@ -415,8 +480,8 @@
01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE
01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1;
01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0
-01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;ash *;;01E3;
-01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;ash *;01E2;;01E2
+01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;;;01E3;
+01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;;01E2;;01E2
01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5;
01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4
01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7;
@@ -441,8 +506,8 @@
01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8
01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB;
01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA
-01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;ash *;;01FD;
-01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;ash *;01FC;;01FC
+01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;;;01FD;
+01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;;01FC;;01FC
01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF;
01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE
0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201;
@@ -469,10 +534,10 @@
0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214
0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217;
0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216
-0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219;
-0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218
-021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B;
-021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A
+0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;;;0219;
+0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;;0218;;0218
+021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;;;021B;
+021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;;021A;;021A
021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D;
021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C
021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F;
@@ -508,8 +573,8 @@
023C;LATIN SMALL LETTER C WITH STROKE;Ll;0;L;;;;;N;;;023B;;023B
023D;LATIN CAPITAL LETTER L WITH BAR;Lu;0;L;;;;;N;;;;019A;
023E;LATIN CAPITAL LETTER T WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;2C66;
-023F;LATIN SMALL LETTER S WITH SWASH TAIL;Ll;0;L;;;;;N;;;;;
-0240;LATIN SMALL LETTER Z WITH SWASH TAIL;Ll;0;L;;;;;N;;;;;
+023F;LATIN SMALL LETTER S WITH SWASH TAIL;Ll;0;L;;;;;N;;;2C7E;;2C7E
+0240;LATIN SMALL LETTER Z WITH SWASH TAIL;Ll;0;L;;;;;N;;;2C7F;;2C7F
0241;LATIN CAPITAL LETTER GLOTTAL STOP;Lu;0;L;;;;;N;;;;0242;
0242;LATIN SMALL LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;0241;;0241
0243;LATIN CAPITAL LETTER B WITH STROKE;Lu;0;L;;;;;N;;;;0180;
@@ -527,7 +592,7 @@
024F;LATIN SMALL LETTER Y WITH STROKE;Ll;0;L;;;;;N;;;024E;;024E
0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;2C6F;;2C6F
0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;2C6D;;2C6D
-0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;;
+0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;2C70;;2C70
0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181
0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186
0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;;
@@ -537,23 +602,23 @@
0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F
025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;;
025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190
-025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;;
+025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;A7AB;;A7AB
025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;;
025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;;
025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;;
0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193
-0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;;
+0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;A7AC;;A7AC
0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;;
0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
-0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;;
-0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;;
+0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;A78D;;A78D
+0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;A7AA;;A7AA
0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;;
026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;2C62;;2C62
-026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;;
+026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;A7AD;;A7AD
026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;;
026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;;
026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C
@@ -573,14 +638,14 @@
027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;2C64;;2C64
027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;;
027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;;
-0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;*;01A6;;01A6
+0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6
0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;;
0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;;
0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9
0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;;
0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;;
0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;;
-0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;;
+0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;A7B1;;A7B1
0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE
0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;0244;;0244
028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1
@@ -602,8 +667,8 @@
029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;;
029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;;
029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;;
-029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;;
-029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;;
+029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;A7B2;;A7B2
+029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;A7B0;;A7B0
029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;;
02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;;
02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;;
@@ -644,11 +709,11 @@
02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;;
02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;;
02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;;
-02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;;
+02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;;;;
02C8;MODIFIER LETTER VERTICAL LINE;Lm;0;ON;;;;;N;;;;;
-02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;Mandarin Chinese first tone;;;
-02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;;
-02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;;
+02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;;;;
+02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;;;;
+02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;;;;
02CC;MODIFIER LETTER LOW VERTICAL LINE;Lm;0;ON;;;;;N;;;;;
02CD;MODIFIER LETTER LOW MACRON;Lm;0;ON;;;;;N;;;;;
02CE;MODIFIER LETTER LOW GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;;
@@ -662,7 +727,7 @@
02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;;
02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;;
02D8;BREVE;Sk;0;ON;<compat> 0020 0306;;;;N;SPACING BREVE;;;;
-02D9;DOT ABOVE;Sk;0;ON;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;;
+02D9;DOT ABOVE;Sk;0;ON;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;;;;
02DA;RING ABOVE;Sk;0;ON;<compat> 0020 030A;;;;N;SPACING RING ABOVE;;;;
02DB;OGONEK;Sk;0;ON;<compat> 0020 0328;;;;N;SPACING OGONEK;;;;
02DC;SMALL TILDE;Sk;0;ON;<compat> 0020 0303;;;;N;SPACING TILDE;;;;
@@ -701,15 +766,15 @@
02FD;MODIFIER LETTER SHELF;Sk;0;ON;;;;;N;;;;;
02FE;MODIFIER LETTER OPEN SHELF;Sk;0;ON;;;;;N;;;;;
02FF;MODIFIER LETTER LOW LEFT ARROW;Sk;0;ON;;;;;N;;;;;
-0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;;
-0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia, Tonos;;;
+0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;;;;
+0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;;;;
0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;;
0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;;
0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;;
0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;;
-0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;Vrachy;;;
+0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;;;;
0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;;
-0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;Dialytika;;;
+0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;;;;
0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;;
030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;;
030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;;
@@ -720,8 +785,8 @@
0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;;
0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;;
0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;;
-0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;Psili;;;
-0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;;
+0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;;;;
+0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;;;;
0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;;
0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;;
0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;;
@@ -765,8 +830,8 @@
033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;;
033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;;
033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;;
-0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;;
-0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;;
+0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;;;;
+0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;;;;
0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;;
0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;;
0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;;
@@ -817,15 +882,16 @@
0371;GREEK SMALL LETTER HETA;Ll;0;L;;;;;N;;;0370;;0370
0372;GREEK CAPITAL LETTER ARCHAIC SAMPI;Lu;0;L;;;;;N;;;;0373;
0373;GREEK SMALL LETTER ARCHAIC SAMPI;Ll;0;L;;;;;N;;;0372;;0372
-0374;GREEK NUMERAL SIGN;Lm;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;;
-0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;Aristeri keraia;;;
+0374;GREEK NUMERAL SIGN;Lm;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;;;;
+0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;;;;
0376;GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA;Lu;0;L;;;;;N;;;;0377;
0377;GREEK SMALL LETTER PAMPHYLIAN DIGAMMA;Ll;0;L;;;;;N;;;0376;;0376
037A;GREEK YPOGEGRAMMENI;Lm;0;L;<compat> 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;;
037B;GREEK SMALL REVERSED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FD;;03FD
037C;GREEK SMALL DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FE;;03FE
037D;GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FF;;03FF
-037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;;
+037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;;;;
+037F;GREEK CAPITAL LETTER YOT;Lu;0;L;;;;;N;;;;03F3;
0384;GREEK TONOS;Sk;0;ON;<compat> 0020 0301;;;;N;GREEK SPACING TONOS;;;;
0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
@@ -907,8 +973,8 @@
03D5;GREEK PHI SYMBOL;Ll;0;L;<compat> 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6
03D6;GREEK PI SYMBOL;Ll;0;L;<compat> 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0
03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;03CF;;03CF
-03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;*;;03D9;
-03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;*;03D8;;03D8
+03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;;;03D9;
+03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;;03D8;;03D8
03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB;
03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA
03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD;
@@ -934,7 +1000,7 @@
03F0;GREEK KAPPA SYMBOL;Ll;0;L;<compat> 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A
03F1;GREEK RHO SYMBOL;Ll;0;L;<compat> 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1
03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;<compat> 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9
-03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;;
+03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;037F;;037F
03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;
03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L;<compat> 03B5;;;;N;;;0395;;0395
03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;;
@@ -949,19 +1015,19 @@
03FF;GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037D;
0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450;
0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451;
-0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452;
+0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;;;0452;
0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453;
0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454;
0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455;
0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456;
-0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457;
+0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;;;0457;
0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458;
0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459;
040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A;
-040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B;
+040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;;;045B;
040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C;
040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D;
-040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E;
+040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;;;045E;
040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F;
0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430;
0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431;
@@ -1029,19 +1095,19 @@
044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F
0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400
0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401
-0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402
+0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;;0402;;0402
0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403
0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404
0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405
0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406
-0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407
+0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;;0407;;0407
0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408
0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409
045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A
-045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B
+045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;;040B;;040B
045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C
045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D
-045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E
+045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;;040E;;040E
045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F
0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461;
0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460
@@ -1113,8 +1179,8 @@
04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2
04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5;
04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4
-04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7;
-04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6
+04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;;;04A7;
+04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;;04A6;;04A6
04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9;
04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8
04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB;
@@ -1127,8 +1193,8 @@
04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0
04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3;
04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2
-04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5;
-04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4
+04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;;;04B5;
+04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;;04B4;;04B4
04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7;
04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6
04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9;
@@ -1239,6 +1305,18 @@
0521;CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0520;;0520
0522;CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0523;
0523;CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0522;;0522
+0524;CYRILLIC CAPITAL LETTER PE WITH DESCENDER;Lu;0;L;;;;;N;;;;0525;
+0525;CYRILLIC SMALL LETTER PE WITH DESCENDER;Ll;0;L;;;;;N;;;0524;;0524
+0526;CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER;Lu;0;L;;;;;N;;;;0527;
+0527;CYRILLIC SMALL LETTER SHHA WITH DESCENDER;Ll;0;L;;;;;N;;;0526;;0526
+0528;CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK;Lu;0;L;;;;;N;;;;0529;
+0529;CYRILLIC SMALL LETTER EN WITH LEFT HOOK;Ll;0;L;;;;;N;;;0528;;0528
+052A;CYRILLIC CAPITAL LETTER DZZHE;Lu;0;L;;;;;N;;;;052B;
+052B;CYRILLIC SMALL LETTER DZZHE;Ll;0;L;;;;;N;;;052A;;052A
+052C;CYRILLIC CAPITAL LETTER DCHE;Lu;0;L;;;;;N;;;;052D;
+052D;CYRILLIC SMALL LETTER DCHE;Ll;0;L;;;;;N;;;052C;;052C
+052E;CYRILLIC CAPITAL LETTER EL WITH DESCENDER;Lu;0;L;;;;;N;;;;052F;
+052F;CYRILLIC SMALL LETTER EL WITH DESCENDER;Ll;0;L;;;;;N;;;052E;;052E
0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561;
0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562;
0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563;
@@ -1325,14 +1403,17 @@
0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
+058D;RIGHT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;;
+058E;LEFT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;;
+058F;ARMENIAN DRAM SIGN;Sc;0;ET;;;;;N;;;;;
0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;;
0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;;
-0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;*;;;
+0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;;;;
0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;;
-0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;*;;;
+0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;;;;
0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;;
059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;;
059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;;
@@ -1345,12 +1426,12 @@
05A2;HEBREW ACCENT ATNAH HAFUKH;Mn;220;NSM;;;;;N;;;;;
05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;;
05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;;
-05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;*;;;
+05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;;;;
05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;;
05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;;
-05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;*;;;
+05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;;;;
05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;;
-05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;*;;;
+05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;;;;
05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;;
05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;;
05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;;
@@ -1368,14 +1449,14 @@
05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;;
05BA;HEBREW POINT HOLAM HASER FOR VAV;Mn;19;NSM;;;;;N;;;;;
05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;;
-05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;;
-05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;*;;;
+05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;;;;
+05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;;;;
05BE;HEBREW PUNCTUATION MAQAF;Pd;0;R;;;;;N;;;;;
05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;;
-05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;;
+05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;;
05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;;
05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;;
-05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;;
+05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;;
05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;;
05C5;HEBREW MARK LOWER DOT;Mn;220;NSM;;;;;N;;;;;
05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;;
@@ -1416,6 +1497,8 @@
0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;;
0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;;
0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;;
+0604;ARABIC SIGN SAMVAT;Cf;0;AN;;;;;N;;;;;
+0605;ARABIC NUMBER MARK ABOVE;Cf;0;AN;;;;;N;;;;;
0606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;;
0607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;;
0608;ARABIC RAY;Sm;0;AL;;;;;N;;;;;
@@ -1438,8 +1521,10 @@
0619;ARABIC SMALL DAMMA;Mn;31;NSM;;;;;N;;;;;
061A;ARABIC SMALL KASRA;Mn;32;NSM;;;;;N;;;;;
061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;;
+061C;ARABIC LETTER MARK;Cf;0;AL;;;;;N;;;;;
061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;;
061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;;
+0620;ARABIC LETTER KASHMIRI YEH;Lo;0;AL;;;;;N;;;;;
0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;;
0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
@@ -1502,6 +1587,7 @@
065C;ARABIC VOWEL SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;;
065D;ARABIC REVERSED DAMMA;Mn;230;NSM;;;;;N;;;;;
065E;ARABIC FATHA WITH TWO DOTS;Mn;230;NSM;;;;;N;;;;;
+065F;ARABIC WAVY HAMZA BELOW;Mn;220;NSM;;;;;N;;;;;
0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
@@ -1581,7 +1667,7 @@
06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;;
06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;;
06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;;
-06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;;
+06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;;;;
06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;;
06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;;
06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
@@ -1614,7 +1700,7 @@
06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;;
06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;;
06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;*;;;
+06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;;;;
06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;;
06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;;
06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;;
@@ -1628,7 +1714,7 @@
06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;;
06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;;
06DD;ARABIC END OF AYAH;Cf;0;AN;;;;;N;;;;;
-06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;;
+06DE;ARABIC START OF RUB EL HIZB;So;0;ON;;;;;N;;;;;
06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;;
06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;;
06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;;
@@ -1676,7 +1762,7 @@
070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;;
070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;;
070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;;
-070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;;
+070F;SYRIAC ABBREVIATION MARK;Cf;0;AL;;;;;N;;;;;
0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;;
0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;;
@@ -1896,6 +1982,147 @@
07F8;NKO COMMA;Po;0;ON;;;;;N;;;;;
07F9;NKO EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
07FA;NKO LAJANYALAN;Lm;0;R;;;;;N;;;;;
+0800;SAMARITAN LETTER ALAF;Lo;0;R;;;;;N;;;;;
+0801;SAMARITAN LETTER BIT;Lo;0;R;;;;;N;;;;;
+0802;SAMARITAN LETTER GAMAN;Lo;0;R;;;;;N;;;;;
+0803;SAMARITAN LETTER DALAT;Lo;0;R;;;;;N;;;;;
+0804;SAMARITAN LETTER IY;Lo;0;R;;;;;N;;;;;
+0805;SAMARITAN LETTER BAA;Lo;0;R;;;;;N;;;;;
+0806;SAMARITAN LETTER ZEN;Lo;0;R;;;;;N;;;;;
+0807;SAMARITAN LETTER IT;Lo;0;R;;;;;N;;;;;
+0808;SAMARITAN LETTER TIT;Lo;0;R;;;;;N;;;;;
+0809;SAMARITAN LETTER YUT;Lo;0;R;;;;;N;;;;;
+080A;SAMARITAN LETTER KAAF;Lo;0;R;;;;;N;;;;;
+080B;SAMARITAN LETTER LABAT;Lo;0;R;;;;;N;;;;;
+080C;SAMARITAN LETTER MIM;Lo;0;R;;;;;N;;;;;
+080D;SAMARITAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+080E;SAMARITAN LETTER SINGAAT;Lo;0;R;;;;;N;;;;;
+080F;SAMARITAN LETTER IN;Lo;0;R;;;;;N;;;;;
+0810;SAMARITAN LETTER FI;Lo;0;R;;;;;N;;;;;
+0811;SAMARITAN LETTER TSAADIY;Lo;0;R;;;;;N;;;;;
+0812;SAMARITAN LETTER QUF;Lo;0;R;;;;;N;;;;;
+0813;SAMARITAN LETTER RISH;Lo;0;R;;;;;N;;;;;
+0814;SAMARITAN LETTER SHAN;Lo;0;R;;;;;N;;;;;
+0815;SAMARITAN LETTER TAAF;Lo;0;R;;;;;N;;;;;
+0816;SAMARITAN MARK IN;Mn;230;NSM;;;;;N;;;;;
+0817;SAMARITAN MARK IN-ALAF;Mn;230;NSM;;;;;N;;;;;
+0818;SAMARITAN MARK OCCLUSION;Mn;230;NSM;;;;;N;;;;;
+0819;SAMARITAN MARK DAGESH;Mn;230;NSM;;;;;N;;;;;
+081A;SAMARITAN MODIFIER LETTER EPENTHETIC YUT;Lm;0;R;;;;;N;;;;;
+081B;SAMARITAN MARK EPENTHETIC YUT;Mn;230;NSM;;;;;N;;;;;
+081C;SAMARITAN VOWEL SIGN LONG E;Mn;230;NSM;;;;;N;;;;;
+081D;SAMARITAN VOWEL SIGN E;Mn;230;NSM;;;;;N;;;;;
+081E;SAMARITAN VOWEL SIGN OVERLONG AA;Mn;230;NSM;;;;;N;;;;;
+081F;SAMARITAN VOWEL SIGN LONG AA;Mn;230;NSM;;;;;N;;;;;
+0820;SAMARITAN VOWEL SIGN AA;Mn;230;NSM;;;;;N;;;;;
+0821;SAMARITAN VOWEL SIGN OVERLONG A;Mn;230;NSM;;;;;N;;;;;
+0822;SAMARITAN VOWEL SIGN LONG A;Mn;230;NSM;;;;;N;;;;;
+0823;SAMARITAN VOWEL SIGN A;Mn;230;NSM;;;;;N;;;;;
+0824;SAMARITAN MODIFIER LETTER SHORT A;Lm;0;R;;;;;N;;;;;
+0825;SAMARITAN VOWEL SIGN SHORT A;Mn;230;NSM;;;;;N;;;;;
+0826;SAMARITAN VOWEL SIGN LONG U;Mn;230;NSM;;;;;N;;;;;
+0827;SAMARITAN VOWEL SIGN U;Mn;230;NSM;;;;;N;;;;;
+0828;SAMARITAN MODIFIER LETTER I;Lm;0;R;;;;;N;;;;;
+0829;SAMARITAN VOWEL SIGN LONG I;Mn;230;NSM;;;;;N;;;;;
+082A;SAMARITAN VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;;
+082B;SAMARITAN VOWEL SIGN O;Mn;230;NSM;;;;;N;;;;;
+082C;SAMARITAN VOWEL SIGN SUKUN;Mn;230;NSM;;;;;N;;;;;
+082D;SAMARITAN MARK NEQUDAA;Mn;230;NSM;;;;;N;;;;;
+0830;SAMARITAN PUNCTUATION NEQUDAA;Po;0;R;;;;;N;;;;;
+0831;SAMARITAN PUNCTUATION AFSAAQ;Po;0;R;;;;;N;;;;;
+0832;SAMARITAN PUNCTUATION ANGED;Po;0;R;;;;;N;;;;;
+0833;SAMARITAN PUNCTUATION BAU;Po;0;R;;;;;N;;;;;
+0834;SAMARITAN PUNCTUATION ATMAAU;Po;0;R;;;;;N;;;;;
+0835;SAMARITAN PUNCTUATION SHIYYAALAA;Po;0;R;;;;;N;;;;;
+0836;SAMARITAN ABBREVIATION MARK;Po;0;R;;;;;N;;;;;
+0837;SAMARITAN PUNCTUATION MELODIC QITSA;Po;0;R;;;;;N;;;;;
+0838;SAMARITAN PUNCTUATION ZIQAA;Po;0;R;;;;;N;;;;;
+0839;SAMARITAN PUNCTUATION QITSA;Po;0;R;;;;;N;;;;;
+083A;SAMARITAN PUNCTUATION ZAEF;Po;0;R;;;;;N;;;;;
+083B;SAMARITAN PUNCTUATION TURU;Po;0;R;;;;;N;;;;;
+083C;SAMARITAN PUNCTUATION ARKAANU;Po;0;R;;;;;N;;;;;
+083D;SAMARITAN PUNCTUATION SOF MASHFAAT;Po;0;R;;;;;N;;;;;
+083E;SAMARITAN PUNCTUATION ANNAAU;Po;0;R;;;;;N;;;;;
+0840;MANDAIC LETTER HALQA;Lo;0;R;;;;;N;;;;;
+0841;MANDAIC LETTER AB;Lo;0;R;;;;;N;;;;;
+0842;MANDAIC LETTER AG;Lo;0;R;;;;;N;;;;;
+0843;MANDAIC LETTER AD;Lo;0;R;;;;;N;;;;;
+0844;MANDAIC LETTER AH;Lo;0;R;;;;;N;;;;;
+0845;MANDAIC LETTER USHENNA;Lo;0;R;;;;;N;;;;;
+0846;MANDAIC LETTER AZ;Lo;0;R;;;;;N;;;;;
+0847;MANDAIC LETTER IT;Lo;0;R;;;;;N;;;;;
+0848;MANDAIC LETTER ATT;Lo;0;R;;;;;N;;;;;
+0849;MANDAIC LETTER AKSA;Lo;0;R;;;;;N;;;;;
+084A;MANDAIC LETTER AK;Lo;0;R;;;;;N;;;;;
+084B;MANDAIC LETTER AL;Lo;0;R;;;;;N;;;;;
+084C;MANDAIC LETTER AM;Lo;0;R;;;;;N;;;;;
+084D;MANDAIC LETTER AN;Lo;0;R;;;;;N;;;;;
+084E;MANDAIC LETTER AS;Lo;0;R;;;;;N;;;;;
+084F;MANDAIC LETTER IN;Lo;0;R;;;;;N;;;;;
+0850;MANDAIC LETTER AP;Lo;0;R;;;;;N;;;;;
+0851;MANDAIC LETTER ASZ;Lo;0;R;;;;;N;;;;;
+0852;MANDAIC LETTER AQ;Lo;0;R;;;;;N;;;;;
+0853;MANDAIC LETTER AR;Lo;0;R;;;;;N;;;;;
+0854;MANDAIC LETTER ASH;Lo;0;R;;;;;N;;;;;
+0855;MANDAIC LETTER AT;Lo;0;R;;;;;N;;;;;
+0856;MANDAIC LETTER DUSHENNA;Lo;0;R;;;;;N;;;;;
+0857;MANDAIC LETTER KAD;Lo;0;R;;;;;N;;;;;
+0858;MANDAIC LETTER AIN;Lo;0;R;;;;;N;;;;;
+0859;MANDAIC AFFRICATION MARK;Mn;220;NSM;;;;;N;;;;;
+085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;;
+085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;;
+085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;;
+08A0;ARABIC LETTER BEH WITH SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
+08A1;ARABIC LETTER BEH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
+08A2;ARABIC LETTER JEEM WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A3;ARABIC LETTER TAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A4;ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A5;ARABIC LETTER QAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+08A6;ARABIC LETTER LAM WITH DOUBLE BAR;Lo;0;AL;;;;;N;;;;;
+08A7;ARABIC LETTER MEEM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A8;ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
+08A9;ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+08AA;ARABIC LETTER REH WITH LOOP;Lo;0;AL;;;;;N;;;;;
+08AB;ARABIC LETTER WAW WITH DOT WITHIN;Lo;0;AL;;;;;N;;;;;
+08AC;ARABIC LETTER ROHINGYA YEH;Lo;0;AL;;;;;N;;;;;
+08AD;ARABIC LETTER LOW ALEF;Lo;0;AL;;;;;N;;;;;
+08AE;ARABIC LETTER DAL WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08AF;ARABIC LETTER SAD WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08B0;ARABIC LETTER GAF WITH INVERTED STROKE;Lo;0;AL;;;;;N;;;;;
+08B1;ARABIC LETTER STRAIGHT WAW;Lo;0;AL;;;;;N;;;;;
+08B2;ARABIC LETTER ZAIN WITH INVERTED V ABOVE;Lo;0;AL;;;;;N;;;;;
+08B3;ARABIC LETTER AIN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08B4;ARABIC LETTER KAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+08E3;ARABIC TURNED DAMMA BELOW;Mn;220;NSM;;;;;N;;;;;
+08E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;;
+08E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;;
+08E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;;
+08E7;ARABIC CURLY FATHATAN;Mn;230;NSM;;;;;N;;;;;
+08E8;ARABIC CURLY DAMMATAN;Mn;230;NSM;;;;;N;;;;;
+08E9;ARABIC CURLY KASRATAN;Mn;220;NSM;;;;;N;;;;;
+08EA;ARABIC TONE ONE DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
+08EB;ARABIC TONE TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+08EC;ARABIC TONE LOOP ABOVE;Mn;230;NSM;;;;;N;;;;;
+08ED;ARABIC TONE ONE DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+08EE;ARABIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+08EF;ARABIC TONE LOOP BELOW;Mn;220;NSM;;;;;N;;;;;
+08F0;ARABIC OPEN FATHATAN;Mn;27;NSM;;;;;N;;;;;
+08F1;ARABIC OPEN DAMMATAN;Mn;28;NSM;;;;;N;;;;;
+08F2;ARABIC OPEN KASRATAN;Mn;29;NSM;;;;;N;;;;;
+08F3;ARABIC SMALL HIGH WAW;Mn;230;NSM;;;;;N;;;;;
+08F4;ARABIC FATHA WITH RING;Mn;230;NSM;;;;;N;;;;;
+08F5;ARABIC FATHA WITH DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
+08F6;ARABIC KASRA WITH DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+08F7;ARABIC LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+08F8;ARABIC RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+08F9;ARABIC LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+08FA;ARABIC RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+08FB;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+08FC;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
+08FD;ARABIC RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
+08FE;ARABIC DAMMA WITH DOT;Mn;230;NSM;;;;;N;;;;;
+08FF;ARABIC MARK SIDEWAYS NOON GHUNNA;Mn;230;NSM;;;;;N;;;;;
+0900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -1953,6 +2180,8 @@
0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;;
0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;;
0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;;
+093A;DEVANAGARI VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;;
+093B;DEVANAGARI VOWEL SIGN OOE;Mc;0;L;;;;;N;;;;;
093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
@@ -1971,11 +2200,16 @@
094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+094E;DEVANAGARI VOWEL SIGN PRISHTHAMATRA E;Mc;0;L;;;;;N;;;;;
+094F;DEVANAGARI VOWEL SIGN AW;Mc;0;L;;;;;N;;;;;
0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;;
0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;;
0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;;
0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;;
0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;;
+0955;DEVANAGARI VOWEL SIGN CANDRA LONG E;Mn;0;NSM;;;;;N;;;;;
+0956;DEVANAGARI VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
+0957;DEVANAGARI VOWEL SIGN UUE;Mn;0;NSM;;;;;N;;;;;
0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;;
0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;;
095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;;
@@ -2003,11 +2237,20 @@
0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
0971;DEVANAGARI SIGN HIGH SPACING DOT;Lm;0;L;;;;;N;;;;;
0972;DEVANAGARI LETTER CANDRA A;Lo;0;L;;;;;N;;;;;
+0973;DEVANAGARI LETTER OE;Lo;0;L;;;;;N;;;;;
+0974;DEVANAGARI LETTER OOE;Lo;0;L;;;;;N;;;;;
+0975;DEVANAGARI LETTER AW;Lo;0;L;;;;;N;;;;;
+0976;DEVANAGARI LETTER UE;Lo;0;L;;;;;N;;;;;
+0977;DEVANAGARI LETTER UUE;Lo;0;L;;;;;N;;;;;
+0978;DEVANAGARI LETTER MARWARI DDA;Lo;0;L;;;;;N;;;;;
+0979;DEVANAGARI LETTER ZHA;Lo;0;L;;;;;N;;;;;
+097A;DEVANAGARI LETTER HEAVY YA;Lo;0;L;;;;;N;;;;;
097B;DEVANAGARI LETTER GGA;Lo;0;L;;;;;N;;;;;
097C;DEVANAGARI LETTER JJA;Lo;0;L;;;;;N;;;;;
097D;DEVANAGARI LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
097E;DEVANAGARI LETTER DDDA;Lo;0;L;;;;;N;;;;;
097F;DEVANAGARI LETTER BBA;Lo;0;L;;;;;N;;;;;
+0980;BENGALI ANJI;Lo;0;L;;;;;N;;;;;
0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2088,17 +2331,18 @@
09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;;
-09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;;
+09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;;;;
+09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;;;;
09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;;
09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
-09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;;
-09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;;
-09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;;
-09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;;
-09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;;N;;;;;
+09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1/16;N;;;;;
+09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;1/8;N;;;;;
+09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3/16;N;;;;;
+09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;1/4;N;;;;;
+09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;3/4;N;;;;;
09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;;
09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;;
+09FB;BENGALI GANDA MARK;Sc;0;ET;;;;;N;;;;;
0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;;
0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;;
0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2260,7 +2504,9 @@
0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;N;;;;;
0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2345,6 +2591,12 @@
0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;;
0B71;ORIYA LETTER WA;Lo;0;L;;;;;N;;;;;
+0B72;ORIYA FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;;
+0B73;ORIYA FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;;
+0B74;ORIYA FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;;
+0B75;ORIYA FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;;
+0B76;ORIYA FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;;
+0B77;ORIYA FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;;
0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
0B83;TAMIL SIGN VISARGA;Lo;0;L;;;;;N;;;;;
0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;;
@@ -2409,14 +2661,15 @@
0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;;
0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
-0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;Naal;;;
-0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;Maatham;;;
-0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;Varudam;;;
-0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;Patru;;;
-0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;Varavu;;;
-0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;Merpadi;;;
-0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;Rupai;;;
-0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;Enn;;;
+0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;;;;
+0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;;;;
+0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;;;;
+0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;;;;
+0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;;;;
+0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;;;;
+0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;;;;
+0C00;TELUGU SIGN COMBINING CANDRABINDU ABOVE;Mn;0;NSM;;;;;N;;;;;
0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2464,6 +2717,7 @@
0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;;
0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;;
0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;;
+0C34;TELUGU LETTER LLLA;Lo;0;L;;;;;N;;;;;
0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;;
0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;;
0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;;
@@ -2488,6 +2742,7 @@
0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;;
0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;;
0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;;
+0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;;
0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
@@ -2510,6 +2765,7 @@
0C7D;TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR;No;0;ON;;;;2;N;;;;;
0C7E;TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR;No;0;ON;;;;3;N;;;;;
0C7F;TELUGU SIGN TUUMU;So;0;L;;;;;N;;;;;
+0C81;KANNADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;;
@@ -2594,8 +2850,9 @@
0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0CF1;KANNADA SIGN JIHVAMULIYA;So;0;ON;;;;;N;;;;;
-0CF2;KANNADA SIGN UPADHMANIYA;So;0;ON;;;;;N;;;;;
+0CF1;KANNADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+0CF2;KANNADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+0D01;MALAYALAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;;
@@ -2632,6 +2889,7 @@
0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;;
0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;;
0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;;
+0D29;MALAYALAM LETTER NNNA;Lo;0;L;;;;;N;;;;;
0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;;
0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;;
0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;;
@@ -2648,6 +2906,7 @@
0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;;
0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;;
0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;;
+0D3A;MALAYALAM LETTER TTTA;Lo;0;L;;;;;N;;;;;
0D3D;MALAYALAM SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
@@ -2663,7 +2922,9 @@
0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;;
0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;;
0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0D4E;MALAYALAM LETTER DOT REPH;Lo;0;L;;;;;N;;;;;
0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0D5F;MALAYALAM LETTER ARCHAIC II;Lo;0;L;;;;;N;;;;;
0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
@@ -2768,6 +3029,16 @@
0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;;
0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;;
0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;;
+0DE6;SINHALA LITH DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0DE7;SINHALA LITH DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0DE8;SINHALA LITH DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0DE9;SINHALA LITH DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0DEA;SINHALA LITH DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0DEB;SINHALA LITH DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0DEC;SINHALA LITH DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0DED;SINHALA LITH DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0DEE;SINHALA LITH DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0DEF;SINHALA LITH DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;;
0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;;
@@ -2817,7 +3088,7 @@
0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;;
0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;;
0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;;
-0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan noi;;;
+0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;;;;
0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;;
0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;;
0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;;
@@ -2825,7 +3096,7 @@
0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;;
0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;;
0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;;
-0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;;
+0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;;;;
0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;;
0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;;
0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
@@ -2833,17 +3104,17 @@
0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;;
0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;;
0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;;
-0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;;
-0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;;
-0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;;
-0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;;
-0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;;
+0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;;;;
+0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;;;;
+0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;;;;
+0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;;;;
+0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;;;;
0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;;
0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;;
0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;;
0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;;
0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;;
-0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;;
+0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;;;;
0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;;
0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;;
0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
@@ -2923,38 +3194,40 @@
0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
0EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;;
0EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;;
+0EDE;LAO LETTER KHMU GO;Lo;0;L;;;;;N;;;;;
+0EDF;LAO LETTER KHMU NYO;Lo;0;L;;;;;N;;;;;
0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;;
-0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;;
-0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;;
-0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;;
-0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;yik go dun ma;;;
-0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;;
-0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;;
-0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;;
-0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;drul shey;;;
-0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;;
-0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;;
-0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;tsek;;;
-0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;<noBreak> 0F0B;;;;N;;tsek tar;;;
-0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;shey;;;
-0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;nyi shey;;;
-0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;;
-0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;;
-0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;rinchen pung shey;;;
-0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;;
-0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;;
-0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;ter tsek;;;
-0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;;
-0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;;
-0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;;
-0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;kyu pa;;;
-0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;dong tsu;;;
-0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;;
-0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;;
-0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;;
-0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;;
-0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;;
-0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;;
+0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;;;;
+0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;;;;
+0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;;;;
+0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;;;;
+0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;;;;
+0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;;;;
+0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;;;;
+0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;;;;
+0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;;;;
+0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;;;;
+0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;;;;
+0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;<noBreak> 0F0B;;;;N;;;;;
+0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;;;;
+0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;;;;
+0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;;;;
+0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;;;;
+0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;;;;
+0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;;;;
+0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;;;;
+0F14;TIBETAN MARK GTER TSHEG;Po;0;L;;;;;N;TIBETAN COMMA;;;;
+0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;;;;
+0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;;;;
+0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;;;;
+0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;;;;
+0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;;;;
+0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;;;;
+0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;;;;
+0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;;;;
+0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;;;;
+0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;;;;
+0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;;;;
0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -2975,18 +3248,18 @@
0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;15/2;N;;;;;
0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;17/2;N;;;;;
0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;-1/2;N;;;;;
-0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;;
-0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;nge zung nyi da;;;
-0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;;
-0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;nge zung gor ta;;;
-0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;;
-0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;tsa tru;;;
-0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;Y;;gug ta yun;;;
-0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;Y;;gug ta ye;;;
-0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;Y;TIBETAN LEFT BRACE;ang kang yun;;;
-0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;Y;TIBETAN RIGHT BRACE;ang kang ye;;;
-0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;yar tse;;;
-0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;mar tse;;;
+0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;;;;
+0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;;;;
+0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;;;;
+0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;;;;
+0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;;;;
+0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;;;;
+0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;Y;;;;;
+0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;Y;;;;;
+0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;Y;TIBETAN LEFT BRACE;;;;
+0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;Y;TIBETAN RIGHT BRACE;;;;
+0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;;;;
+0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;;;;
0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;;
0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;;
0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;;
@@ -3020,7 +3293,7 @@
0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;;
0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;;
0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;;
-0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;*;;;
+0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;;;;
0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;;
0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;;
0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;;
@@ -3028,7 +3301,7 @@
0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;;
0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;;
0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;;
-0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;*;;;
+0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;;;;
0F6B;TIBETAN LETTER KKA;Lo;0;L;;;;;N;;;;;
0F6C;TIBETAN LETTER RRA;Lo;0;L;;;;;N;;;;;
0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;;
@@ -3044,20 +3317,24 @@
0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;;
0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;;
0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;;
-0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;je su nga ro;;;
-0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;nam chey;;;
+0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;;;;
+0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;;;;
0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;;
0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;;
-0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;nyi da na da;;;
-0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;nan de;;;
+0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;;;;
+0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;;;;
0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;;
0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;;
-0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;ji ta;;;
-0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;yang ta;;;
-0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;;
-0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;;
-0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;;
-0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;;
+0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;;;;
+0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;;;;
+0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;;;;
+0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;;;;
+0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;;;;
+0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;;;;
+0F8C;TIBETAN SIGN INVERTED MCHU CAN;Lo;0;L;;;;;N;;;;;
+0F8D;TIBETAN SUBJOINED SIGN LCE TSA CAN;Mn;0;NSM;;;;;N;;;;;
+0F8E;TIBETAN SUBJOINED SIGN MCHU CAN;Mn;0;NSM;;;;;N;;;;;
+0F8F;TIBETAN SUBJOINED SIGN INVERTED MCHU CAN;Mn;0;NSM;;;;;N;;;;;
0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;;
0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;;
0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;;
@@ -3086,12 +3363,12 @@
0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;;
0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;;
0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;;
-0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;*;;;
+0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;;;;
0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;;
0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;;
0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;;
-0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;*;;;
-0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;*;;;
+0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;;;;
+0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;;;;
0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;;
0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;;
0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;;
@@ -3099,31 +3376,37 @@
0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;;
0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;;
0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;;
-0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;*;;;
-0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;*;;;
-0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;*;;;
-0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;kuruka;;;
-0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;kuruka shi mik chen;;;
+0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;;;;
+0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;;;;
+0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;;;;
+0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;;;;
+0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;;;;
0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;;
0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;;
-0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;chang tyu;;;
-0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;bub chey;;;
-0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;drilbu;;;
-0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;dorje;;;
-0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;pema den;;;
-0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;dorje gya dram;;;
-0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;phurba;;;
-0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;norbu;;;
-0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;norbu nyi khyi;;;
-0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;norbu sum khyi;;;
-0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;norbu shi khyi;;;
-0FCE;TIBETAN SIGN RDEL NAG RDEL DKAR;So;0;L;;;;;N;;dena deka;;;
-0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;dena sum;;;
-0FD0;TIBETAN MARK BSKA- SHOG GI MGO RGYAN;Po;0;L;;;;;N;;ka shog gi go gyen;;;
-0FD1;TIBETAN MARK MNYAM YIG GI MGO RGYAN;Po;0;L;;;;;N;;nyam yig gi go gyen;;;
-0FD2;TIBETAN MARK NYIS TSHEG;Po;0;L;;;;;N;;nyi tsek;;;
-0FD3;TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA;Po;0;L;;;;;N;;da nying yik go dun ma;;;
-0FD4;TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA;Po;0;L;;;;;N;;da nying yik go kab ma;;;
+0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;;;;
+0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;;;;
+0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;;;;
+0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;;;;
+0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;;;;
+0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;;;;
+0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;;;;
+0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;;;;
+0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;;;;
+0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;;;;
+0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;;;;
+0FCE;TIBETAN SIGN RDEL NAG RDEL DKAR;So;0;L;;;;;N;;;;;
+0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;;;;
+0FD0;TIBETAN MARK BSKA- SHOG GI MGO RGYAN;Po;0;L;;;;;N;;;;;
+0FD1;TIBETAN MARK MNYAM YIG GI MGO RGYAN;Po;0;L;;;;;N;;;;;
+0FD2;TIBETAN MARK NYIS TSHEG;Po;0;L;;;;;N;;;;;
+0FD3;TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA;Po;0;L;;;;;N;;;;;
+0FD4;TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA;Po;0;L;;;;;N;;;;;
+0FD5;RIGHT-FACING SVASTI SIGN;So;0;L;;;;;N;;;;;
+0FD6;LEFT-FACING SVASTI SIGN;So;0;L;;;;;N;;;;;
+0FD7;RIGHT-FACING SVASTI SIGN WITH DOTS;So;0;L;;;;;N;;;;;
+0FD8;LEFT-FACING SVASTI SIGN WITH DOTS;So;0;L;;;;;N;;;;;
+0FD9;TIBETAN MARK LEADING MCHAN RTAGS;Po;0;L;;;;;N;;;;;
+0FDA;TIBETAN MARK TRAILING MCHAN RTAGS;Po;0;L;;;;;N;;;;;
1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;;
1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;;
1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;;
@@ -3278,46 +3561,52 @@
1097;MYANMAR SHAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
1098;MYANMAR SHAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
1099;MYANMAR SHAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+109A;MYANMAR SIGN KHAMTI TONE-1;Mc;0;L;;;;;N;;;;;
+109B;MYANMAR SIGN KHAMTI TONE-3;Mc;0;L;;;;;N;;;;;
+109C;MYANMAR VOWEL SIGN AITON A;Mc;0;L;;;;;N;;;;;
+109D;MYANMAR VOWEL SIGN AITON AI;Mn;0;NSM;;;;;N;;;;;
109E;MYANMAR SYMBOL SHAN ONE;So;0;L;;;;;N;;;;;
109F;MYANMAR SYMBOL SHAN EXCLAMATION;So;0;L;;;;;N;;;;;
-10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;2D00;
-10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;2D01;
-10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;2D02;
-10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;2D03;
-10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;2D04;
-10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;2D05;
-10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;2D06;
-10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;2D07;
-10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;2D08;
-10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;2D09;
-10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;2D0A;
-10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;2D0B;
-10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;2D0C;
-10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;2D0D;
-10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;2D0E;
-10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;2D0F;
-10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;2D10;
-10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;2D11;
-10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;2D12;
-10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;2D13;
-10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;2D14;
-10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;2D15;
-10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;2D16;
-10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;2D17;
-10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;2D18;
-10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;2D19;
-10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;2D1A;
-10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;2D1B;
-10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;2D1C;
-10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;2D1D;
-10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;2D1E;
-10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;2D1F;
-10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;2D20;
-10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;2D21;
-10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;2D22;
-10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;2D23;
-10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;2D24;
-10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;2D25;
+10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;;;2D00;
+10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;;;2D01;
+10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;;;2D02;
+10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;;;2D03;
+10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;2D04;
+10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;;;2D05;
+10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;;;2D06;
+10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;;;2D07;
+10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;;;2D08;
+10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;;;2D09;
+10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;;;2D0A;
+10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;;;2D0B;
+10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;;;2D0C;
+10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;;;2D0D;
+10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;;;2D0E;
+10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;;;2D0F;
+10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;;;2D10;
+10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;2D11;
+10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;;;2D12;
+10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;;;2D13;
+10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;;;2D14;
+10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;;;2D15;
+10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;;;2D16;
+10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;;;2D17;
+10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;;;2D18;
+10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;;;2D19;
+10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;;;2D1A;
+10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;;;2D1B;
+10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;;;2D1C;
+10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;;;2D1D;
+10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;;;2D1E;
+10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;;;2D1F;
+10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;;;2D20;
+10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;;;2D21;
+10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;;;2D22;
+10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;2D23;
+10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;2D24;
+10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25;
+10C7;GEORGIAN CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;2D27;
+10CD;GEORGIAN CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;2D2D;
10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
@@ -3363,25 +3652,28 @@
10FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;;
10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;;
-1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;;
-1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;;
-1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;n *;;;
-1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;;
-1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;dd *;;;
-1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;r *;;;
-1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;m *;;;
-1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;b *;;;
-1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;bb *;;;
-1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;s *;;;
-110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;;
+10FD;GEORGIAN LETTER AEN;Lo;0;L;;;;;N;;;;;
+10FE;GEORGIAN LETTER HARD SIGN;Lo;0;L;;;;;N;;;;;
+10FF;GEORGIAN LETTER LABIAL SIGN;Lo;0;L;;;;;N;;;;;
+1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
+1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
+1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;;
+1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;;;;
+1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;;;;
+1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;;;;
+1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;;;;
+1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;;;;
+1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;;;;
+1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;;;;
+110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;;;;
110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;;
-110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;j *;;;
-110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;jj *;;;
-110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;;
-110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;;
-1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;;
-1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;;
-1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;h *;;;
+110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;;;;
+110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;;;;
+110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;;;;
+110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;;;;
+1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;;;;
+1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;;;;
+1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;;;;
1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;;
1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
@@ -3453,6 +3745,11 @@
1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;;
1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+115A;HANGUL CHOSEONG KIYEOK-TIKEUT;Lo;0;L;;;;;N;;;;;
+115B;HANGUL CHOSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;;
+115C;HANGUL CHOSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;;;;
+115D;HANGUL CHOSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;;;;
+115E;HANGUL CHOSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;;
115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;;
1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;;
1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;;
@@ -3521,33 +3818,38 @@
11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;;
11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;;
11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;;
-11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;;
-11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;;
-11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;gs *;;;
-11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;n *;;;
-11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;nj *;;;
-11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;nh *;;;
-11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;;
-11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;l *;;;
-11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;lg *;;;
-11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;lm *;;;
-11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;lb *;;;
-11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;ls *;;;
-11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;lt *;;;
-11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;lp *;;;
-11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;lh *;;;
-11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;m *;;;
-11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;b *;;;
-11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;bs *;;;
-11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;s *;;;
-11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;;
-11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;ng *;;;
-11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;j *;;;
-11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;;
-11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;;
-11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;;
-11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;;
-11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;h *;;;
+11A3;HANGUL JUNGSEONG A-EU;Lo;0;L;;;;;N;;;;;
+11A4;HANGUL JUNGSEONG YA-U;Lo;0;L;;;;;N;;;;;
+11A5;HANGUL JUNGSEONG YEO-YA;Lo;0;L;;;;;N;;;;;
+11A6;HANGUL JUNGSEONG O-YA;Lo;0;L;;;;;N;;;;;
+11A7;HANGUL JUNGSEONG O-YAE;Lo;0;L;;;;;N;;;;;
+11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
+11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
+11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;;;;
+11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;;;;
+11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;;;;
+11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;;;;
+11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;;;;
+11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;;;;
+11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;;;;
+11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;;;;
+11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;;;;
+11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;;;;
+11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;;;;
+11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;;;;
+11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;;
+11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;;;;
+11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;;;;
+11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
+11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;;;;
+11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;;;;
+11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;;;;
+11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;;;;
+11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;;;;
+11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;;;;
+11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;;;;
+11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;;;;
+11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;;;;
11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;;
11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
@@ -3603,6 +3905,12 @@
11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;;
11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;;
11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+11FA;HANGUL JONGSEONG KIYEOK-NIEUN;Lo;0;L;;;;;N;;;;;
+11FB;HANGUL JONGSEONG KIYEOK-PIEUP;Lo;0;L;;;;;N;;;;;
+11FC;HANGUL JONGSEONG KIYEOK-CHIEUCH;Lo;0;L;;;;;N;;;;;
+11FD;HANGUL JONGSEONG KIYEOK-KHIEUKH;Lo;0;L;;;;;N;;;;;
+11FE;HANGUL JONGSEONG KIYEOK-HIEUH;Lo;0;L;;;;;N;;;;;
+11FF;HANGUL JONGSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;;
1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;;
1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;;
1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;;
@@ -3929,8 +4237,10 @@
1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;;
1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;;
135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;;
+135D;ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;;
+135E;ETHIOPIC COMBINING VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;;
135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;;
-1360;ETHIOPIC SECTION MARK;So;0;L;;;;;N;;;;;
+1360;ETHIOPIC SECTION MARK;Po;0;L;;;;;N;;;;;
1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;;
1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;;
1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;;
@@ -3985,91 +4295,99 @@
1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;;
1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;;
1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;;
-13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;;
-13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;;
-13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;;
-13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;;
-13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;;
-13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;;
-13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;;
-13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;;
-13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;;
-13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;;
-13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;;
-13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;;
-13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;;
-13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;;
-13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;;
-13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;;
-13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;;
-13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;;
-13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;;
-13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;;
-13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;;
-13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;;
-13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;;
-13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;;
-13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;;
-13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;;
-13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;;
-13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;;
-13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;;
-13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;;
-13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;;
-13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;;
-13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;;
-13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;;
-13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;;
-13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;;
-13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;;
-13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;;
-13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;;
-13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;;
-13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;;
-13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;;
-13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;;
-13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;;
-13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;;
-13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;;
-13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;;
-13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;;
-13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;;
-13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;;
-13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;;
-13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;;
-13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;;
-13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;;
-13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;;
-13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;;
-13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;;
-13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;;
-13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;;
-13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;;
-13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;;
-13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;;
-13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;;
-13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;;
-13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;;
-13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;;
-13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;;
-13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;;
-13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;;
-13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;;
-13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;;
-13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;;
-13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;;
-13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;;
-13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;;
-13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;;
-13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;;
-13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;;
-13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;;
-13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;;
-13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;;
-13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;;
-13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;;
-13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;;
-13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;;
+13A0;CHEROKEE LETTER A;Lu;0;L;;;;;N;;;;AB70;
+13A1;CHEROKEE LETTER E;Lu;0;L;;;;;N;;;;AB71;
+13A2;CHEROKEE LETTER I;Lu;0;L;;;;;N;;;;AB72;
+13A3;CHEROKEE LETTER O;Lu;0;L;;;;;N;;;;AB73;
+13A4;CHEROKEE LETTER U;Lu;0;L;;;;;N;;;;AB74;
+13A5;CHEROKEE LETTER V;Lu;0;L;;;;;N;;;;AB75;
+13A6;CHEROKEE LETTER GA;Lu;0;L;;;;;N;;;;AB76;
+13A7;CHEROKEE LETTER KA;Lu;0;L;;;;;N;;;;AB77;
+13A8;CHEROKEE LETTER GE;Lu;0;L;;;;;N;;;;AB78;
+13A9;CHEROKEE LETTER GI;Lu;0;L;;;;;N;;;;AB79;
+13AA;CHEROKEE LETTER GO;Lu;0;L;;;;;N;;;;AB7A;
+13AB;CHEROKEE LETTER GU;Lu;0;L;;;;;N;;;;AB7B;
+13AC;CHEROKEE LETTER GV;Lu;0;L;;;;;N;;;;AB7C;
+13AD;CHEROKEE LETTER HA;Lu;0;L;;;;;N;;;;AB7D;
+13AE;CHEROKEE LETTER HE;Lu;0;L;;;;;N;;;;AB7E;
+13AF;CHEROKEE LETTER HI;Lu;0;L;;;;;N;;;;AB7F;
+13B0;CHEROKEE LETTER HO;Lu;0;L;;;;;N;;;;AB80;
+13B1;CHEROKEE LETTER HU;Lu;0;L;;;;;N;;;;AB81;
+13B2;CHEROKEE LETTER HV;Lu;0;L;;;;;N;;;;AB82;
+13B3;CHEROKEE LETTER LA;Lu;0;L;;;;;N;;;;AB83;
+13B4;CHEROKEE LETTER LE;Lu;0;L;;;;;N;;;;AB84;
+13B5;CHEROKEE LETTER LI;Lu;0;L;;;;;N;;;;AB85;
+13B6;CHEROKEE LETTER LO;Lu;0;L;;;;;N;;;;AB86;
+13B7;CHEROKEE LETTER LU;Lu;0;L;;;;;N;;;;AB87;
+13B8;CHEROKEE LETTER LV;Lu;0;L;;;;;N;;;;AB88;
+13B9;CHEROKEE LETTER MA;Lu;0;L;;;;;N;;;;AB89;
+13BA;CHEROKEE LETTER ME;Lu;0;L;;;;;N;;;;AB8A;
+13BB;CHEROKEE LETTER MI;Lu;0;L;;;;;N;;;;AB8B;
+13BC;CHEROKEE LETTER MO;Lu;0;L;;;;;N;;;;AB8C;
+13BD;CHEROKEE LETTER MU;Lu;0;L;;;;;N;;;;AB8D;
+13BE;CHEROKEE LETTER NA;Lu;0;L;;;;;N;;;;AB8E;
+13BF;CHEROKEE LETTER HNA;Lu;0;L;;;;;N;;;;AB8F;
+13C0;CHEROKEE LETTER NAH;Lu;0;L;;;;;N;;;;AB90;
+13C1;CHEROKEE LETTER NE;Lu;0;L;;;;;N;;;;AB91;
+13C2;CHEROKEE LETTER NI;Lu;0;L;;;;;N;;;;AB92;
+13C3;CHEROKEE LETTER NO;Lu;0;L;;;;;N;;;;AB93;
+13C4;CHEROKEE LETTER NU;Lu;0;L;;;;;N;;;;AB94;
+13C5;CHEROKEE LETTER NV;Lu;0;L;;;;;N;;;;AB95;
+13C6;CHEROKEE LETTER QUA;Lu;0;L;;;;;N;;;;AB96;
+13C7;CHEROKEE LETTER QUE;Lu;0;L;;;;;N;;;;AB97;
+13C8;CHEROKEE LETTER QUI;Lu;0;L;;;;;N;;;;AB98;
+13C9;CHEROKEE LETTER QUO;Lu;0;L;;;;;N;;;;AB99;
+13CA;CHEROKEE LETTER QUU;Lu;0;L;;;;;N;;;;AB9A;
+13CB;CHEROKEE LETTER QUV;Lu;0;L;;;;;N;;;;AB9B;
+13CC;CHEROKEE LETTER SA;Lu;0;L;;;;;N;;;;AB9C;
+13CD;CHEROKEE LETTER S;Lu;0;L;;;;;N;;;;AB9D;
+13CE;CHEROKEE LETTER SE;Lu;0;L;;;;;N;;;;AB9E;
+13CF;CHEROKEE LETTER SI;Lu;0;L;;;;;N;;;;AB9F;
+13D0;CHEROKEE LETTER SO;Lu;0;L;;;;;N;;;;ABA0;
+13D1;CHEROKEE LETTER SU;Lu;0;L;;;;;N;;;;ABA1;
+13D2;CHEROKEE LETTER SV;Lu;0;L;;;;;N;;;;ABA2;
+13D3;CHEROKEE LETTER DA;Lu;0;L;;;;;N;;;;ABA3;
+13D4;CHEROKEE LETTER TA;Lu;0;L;;;;;N;;;;ABA4;
+13D5;CHEROKEE LETTER DE;Lu;0;L;;;;;N;;;;ABA5;
+13D6;CHEROKEE LETTER TE;Lu;0;L;;;;;N;;;;ABA6;
+13D7;CHEROKEE LETTER DI;Lu;0;L;;;;;N;;;;ABA7;
+13D8;CHEROKEE LETTER TI;Lu;0;L;;;;;N;;;;ABA8;
+13D9;CHEROKEE LETTER DO;Lu;0;L;;;;;N;;;;ABA9;
+13DA;CHEROKEE LETTER DU;Lu;0;L;;;;;N;;;;ABAA;
+13DB;CHEROKEE LETTER DV;Lu;0;L;;;;;N;;;;ABAB;
+13DC;CHEROKEE LETTER DLA;Lu;0;L;;;;;N;;;;ABAC;
+13DD;CHEROKEE LETTER TLA;Lu;0;L;;;;;N;;;;ABAD;
+13DE;CHEROKEE LETTER TLE;Lu;0;L;;;;;N;;;;ABAE;
+13DF;CHEROKEE LETTER TLI;Lu;0;L;;;;;N;;;;ABAF;
+13E0;CHEROKEE LETTER TLO;Lu;0;L;;;;;N;;;;ABB0;
+13E1;CHEROKEE LETTER TLU;Lu;0;L;;;;;N;;;;ABB1;
+13E2;CHEROKEE LETTER TLV;Lu;0;L;;;;;N;;;;ABB2;
+13E3;CHEROKEE LETTER TSA;Lu;0;L;;;;;N;;;;ABB3;
+13E4;CHEROKEE LETTER TSE;Lu;0;L;;;;;N;;;;ABB4;
+13E5;CHEROKEE LETTER TSI;Lu;0;L;;;;;N;;;;ABB5;
+13E6;CHEROKEE LETTER TSO;Lu;0;L;;;;;N;;;;ABB6;
+13E7;CHEROKEE LETTER TSU;Lu;0;L;;;;;N;;;;ABB7;
+13E8;CHEROKEE LETTER TSV;Lu;0;L;;;;;N;;;;ABB8;
+13E9;CHEROKEE LETTER WA;Lu;0;L;;;;;N;;;;ABB9;
+13EA;CHEROKEE LETTER WE;Lu;0;L;;;;;N;;;;ABBA;
+13EB;CHEROKEE LETTER WI;Lu;0;L;;;;;N;;;;ABBB;
+13EC;CHEROKEE LETTER WO;Lu;0;L;;;;;N;;;;ABBC;
+13ED;CHEROKEE LETTER WU;Lu;0;L;;;;;N;;;;ABBD;
+13EE;CHEROKEE LETTER WV;Lu;0;L;;;;;N;;;;ABBE;
+13EF;CHEROKEE LETTER YA;Lu;0;L;;;;;N;;;;ABBF;
+13F0;CHEROKEE LETTER YE;Lu;0;L;;;;;N;;;;13F8;
+13F1;CHEROKEE LETTER YI;Lu;0;L;;;;;N;;;;13F9;
+13F2;CHEROKEE LETTER YO;Lu;0;L;;;;;N;;;;13FA;
+13F3;CHEROKEE LETTER YU;Lu;0;L;;;;;N;;;;13FB;
+13F4;CHEROKEE LETTER YV;Lu;0;L;;;;;N;;;;13FC;
+13F5;CHEROKEE LETTER MV;Lu;0;L;;;;;N;;;;13FD;
+13F8;CHEROKEE SMALL LETTER YE;Ll;0;L;;;;;N;;;13F0;;13F0
+13F9;CHEROKEE SMALL LETTER YI;Ll;0;L;;;;;N;;;13F1;;13F1
+13FA;CHEROKEE SMALL LETTER YO;Ll;0;L;;;;;N;;;13F2;;13F2
+13FB;CHEROKEE SMALL LETTER YU;Ll;0;L;;;;;N;;;13F3;;13F3
+13FC;CHEROKEE SMALL LETTER YV;Ll;0;L;;;;;N;;;13F4;;13F4
+13FD;CHEROKEE SMALL LETTER MV;Ll;0;L;;;;;N;;;13F5;;13F5
+1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;;
1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;;
1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;;
1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;;
@@ -4700,6 +5018,15 @@
1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;;
1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;;
1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;;
+1677;CANADIAN SYLLABICS WOODS-CREE THWEE;Lo;0;L;;;;;N;;;;;
+1678;CANADIAN SYLLABICS WOODS-CREE THWI;Lo;0;L;;;;;N;;;;;
+1679;CANADIAN SYLLABICS WOODS-CREE THWII;Lo;0;L;;;;;N;;;;;
+167A;CANADIAN SYLLABICS WOODS-CREE THWO;Lo;0;L;;;;;N;;;;;
+167B;CANADIAN SYLLABICS WOODS-CREE THWOO;Lo;0;L;;;;;N;;;;;
+167C;CANADIAN SYLLABICS WOODS-CREE THWA;Lo;0;L;;;;;N;;;;;
+167D;CANADIAN SYLLABICS WOODS-CREE THWAA;Lo;0;L;;;;;N;;;;;
+167E;CANADIAN SYLLABICS WOODS-CREE FINAL TH;Lo;0;L;;;;;N;;;;;
+167F;CANADIAN SYLLABICS BLACKFOOT W;Lo;0;L;;;;;N;;;;;
1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;;
1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;;
1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;;
@@ -4807,9 +5134,17 @@
16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;;
16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;;
-16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;golden number 17;;;
-16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;golden number 18;;;
-16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;golden number 19;;;
+16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;;;;
+16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;;;;
+16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;;;;
+16F1;RUNIC LETTER K;Lo;0;L;;;;;N;;;;;
+16F2;RUNIC LETTER SH;Lo;0;L;;;;;N;;;;;
+16F3;RUNIC LETTER OO;Lo;0;L;;;;;N;;;;;
+16F4;RUNIC LETTER FRANKS CASKET OS;Lo;0;L;;;;;N;;;;;
+16F5;RUNIC LETTER FRANKS CASKET IS;Lo;0;L;;;;;N;;;;;
+16F6;RUNIC LETTER FRANKS CASKET EH;Lo;0;L;;;;;N;;;;;
+16F7;RUNIC LETTER FRANKS CASKET AC;Lo;0;L;;;;;N;;;;;
+16F8;RUNIC LETTER FRANKS CASKET AESC;Lo;0;L;;;;;N;;;;;
1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;;
1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;;
1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;;
@@ -4926,8 +5261,8 @@
17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;;
17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;;
17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;;
-17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;*;;;
-17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;*;;;
+17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;;;;
+17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;;;;
17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;;
17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;;
17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;;
@@ -4943,8 +5278,8 @@
17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;;
17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;;
17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;;
-17B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;*;;;
-17B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;*;;;
+17B4;KHMER VOWEL INHERENT AQ;Mn;0;NSM;;;;;N;;;;;
+17B5;KHMER VOWEL INHERENT AA;Mn;0;NSM;;;;;N;;;;;
17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
@@ -4974,12 +5309,12 @@
17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;;
17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;;
17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;;
-17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;*;;;
+17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;;;;
17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;;
17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;;
17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;;
17D7;KHMER SIGN LEK TOO;Lm;0;L;;;;;N;;;;;
-17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;*;;;
+17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;;;;
17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;;
17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;;
17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;;
@@ -5019,7 +5354,7 @@
180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;;
180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;;
180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;;
-180E;MONGOLIAN VOWEL SEPARATOR;Zs;0;WS;;;;;N;;;;;
+180E;MONGOLIAN VOWEL SEPARATOR;Cf;0;BN;;;;;N;;;;;
1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -5161,6 +5496,76 @@
18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;;
18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;;
18AA;MONGOLIAN LETTER MANCHU ALI GALI LHA;Lo;0;L;;;;;N;;;;;
+18B0;CANADIAN SYLLABICS OY;Lo;0;L;;;;;N;;;;;
+18B1;CANADIAN SYLLABICS AY;Lo;0;L;;;;;N;;;;;
+18B2;CANADIAN SYLLABICS AAY;Lo;0;L;;;;;N;;;;;
+18B3;CANADIAN SYLLABICS WAY;Lo;0;L;;;;;N;;;;;
+18B4;CANADIAN SYLLABICS POY;Lo;0;L;;;;;N;;;;;
+18B5;CANADIAN SYLLABICS PAY;Lo;0;L;;;;;N;;;;;
+18B6;CANADIAN SYLLABICS PWOY;Lo;0;L;;;;;N;;;;;
+18B7;CANADIAN SYLLABICS TAY;Lo;0;L;;;;;N;;;;;
+18B8;CANADIAN SYLLABICS KAY;Lo;0;L;;;;;N;;;;;
+18B9;CANADIAN SYLLABICS KWAY;Lo;0;L;;;;;N;;;;;
+18BA;CANADIAN SYLLABICS MAY;Lo;0;L;;;;;N;;;;;
+18BB;CANADIAN SYLLABICS NOY;Lo;0;L;;;;;N;;;;;
+18BC;CANADIAN SYLLABICS NAY;Lo;0;L;;;;;N;;;;;
+18BD;CANADIAN SYLLABICS LAY;Lo;0;L;;;;;N;;;;;
+18BE;CANADIAN SYLLABICS SOY;Lo;0;L;;;;;N;;;;;
+18BF;CANADIAN SYLLABICS SAY;Lo;0;L;;;;;N;;;;;
+18C0;CANADIAN SYLLABICS SHOY;Lo;0;L;;;;;N;;;;;
+18C1;CANADIAN SYLLABICS SHAY;Lo;0;L;;;;;N;;;;;
+18C2;CANADIAN SYLLABICS SHWOY;Lo;0;L;;;;;N;;;;;
+18C3;CANADIAN SYLLABICS YOY;Lo;0;L;;;;;N;;;;;
+18C4;CANADIAN SYLLABICS YAY;Lo;0;L;;;;;N;;;;;
+18C5;CANADIAN SYLLABICS RAY;Lo;0;L;;;;;N;;;;;
+18C6;CANADIAN SYLLABICS NWI;Lo;0;L;;;;;N;;;;;
+18C7;CANADIAN SYLLABICS OJIBWAY NWI;Lo;0;L;;;;;N;;;;;
+18C8;CANADIAN SYLLABICS NWII;Lo;0;L;;;;;N;;;;;
+18C9;CANADIAN SYLLABICS OJIBWAY NWII;Lo;0;L;;;;;N;;;;;
+18CA;CANADIAN SYLLABICS NWO;Lo;0;L;;;;;N;;;;;
+18CB;CANADIAN SYLLABICS OJIBWAY NWO;Lo;0;L;;;;;N;;;;;
+18CC;CANADIAN SYLLABICS NWOO;Lo;0;L;;;;;N;;;;;
+18CD;CANADIAN SYLLABICS OJIBWAY NWOO;Lo;0;L;;;;;N;;;;;
+18CE;CANADIAN SYLLABICS RWEE;Lo;0;L;;;;;N;;;;;
+18CF;CANADIAN SYLLABICS RWI;Lo;0;L;;;;;N;;;;;
+18D0;CANADIAN SYLLABICS RWII;Lo;0;L;;;;;N;;;;;
+18D1;CANADIAN SYLLABICS RWO;Lo;0;L;;;;;N;;;;;
+18D2;CANADIAN SYLLABICS RWOO;Lo;0;L;;;;;N;;;;;
+18D3;CANADIAN SYLLABICS RWA;Lo;0;L;;;;;N;;;;;
+18D4;CANADIAN SYLLABICS OJIBWAY P;Lo;0;L;;;;;N;;;;;
+18D5;CANADIAN SYLLABICS OJIBWAY T;Lo;0;L;;;;;N;;;;;
+18D6;CANADIAN SYLLABICS OJIBWAY K;Lo;0;L;;;;;N;;;;;
+18D7;CANADIAN SYLLABICS OJIBWAY C;Lo;0;L;;;;;N;;;;;
+18D8;CANADIAN SYLLABICS OJIBWAY M;Lo;0;L;;;;;N;;;;;
+18D9;CANADIAN SYLLABICS OJIBWAY N;Lo;0;L;;;;;N;;;;;
+18DA;CANADIAN SYLLABICS OJIBWAY S;Lo;0;L;;;;;N;;;;;
+18DB;CANADIAN SYLLABICS OJIBWAY SH;Lo;0;L;;;;;N;;;;;
+18DC;CANADIAN SYLLABICS EASTERN W;Lo;0;L;;;;;N;;;;;
+18DD;CANADIAN SYLLABICS WESTERN W;Lo;0;L;;;;;N;;;;;
+18DE;CANADIAN SYLLABICS FINAL SMALL RING;Lo;0;L;;;;;N;;;;;
+18DF;CANADIAN SYLLABICS FINAL RAISED DOT;Lo;0;L;;;;;N;;;;;
+18E0;CANADIAN SYLLABICS R-CREE RWE;Lo;0;L;;;;;N;;;;;
+18E1;CANADIAN SYLLABICS WEST-CREE LOO;Lo;0;L;;;;;N;;;;;
+18E2;CANADIAN SYLLABICS WEST-CREE LAA;Lo;0;L;;;;;N;;;;;
+18E3;CANADIAN SYLLABICS THWE;Lo;0;L;;;;;N;;;;;
+18E4;CANADIAN SYLLABICS THWA;Lo;0;L;;;;;N;;;;;
+18E5;CANADIAN SYLLABICS TTHWE;Lo;0;L;;;;;N;;;;;
+18E6;CANADIAN SYLLABICS TTHOO;Lo;0;L;;;;;N;;;;;
+18E7;CANADIAN SYLLABICS TTHAA;Lo;0;L;;;;;N;;;;;
+18E8;CANADIAN SYLLABICS TLHWE;Lo;0;L;;;;;N;;;;;
+18E9;CANADIAN SYLLABICS TLHOO;Lo;0;L;;;;;N;;;;;
+18EA;CANADIAN SYLLABICS SAYISI SHWE;Lo;0;L;;;;;N;;;;;
+18EB;CANADIAN SYLLABICS SAYISI SHOO;Lo;0;L;;;;;N;;;;;
+18EC;CANADIAN SYLLABICS SAYISI HOO;Lo;0;L;;;;;N;;;;;
+18ED;CANADIAN SYLLABICS CARRIER GWU;Lo;0;L;;;;;N;;;;;
+18EE;CANADIAN SYLLABICS CARRIER DENE GEE;Lo;0;L;;;;;N;;;;;
+18EF;CANADIAN SYLLABICS CARRIER GAA;Lo;0;L;;;;;N;;;;;
+18F0;CANADIAN SYLLABICS CARRIER GWA;Lo;0;L;;;;;N;;;;;
+18F1;CANADIAN SYLLABICS SAYISI JUU;Lo;0;L;;;;;N;;;;;
+18F2;CANADIAN SYLLABICS CARRIER JWA;Lo;0;L;;;;;N;;;;;
+18F3;CANADIAN SYLLABICS BEAVER DENE L;Lo;0;L;;;;;N;;;;;
+18F4;CANADIAN SYLLABICS BEAVER DENE R;Lo;0;L;;;;;N;;;;;
+18F5;CANADIAN SYLLABICS CARRIER DENTAL S;Lo;0;L;;;;;N;;;;;
1900;LIMBU VOWEL-CARRIER LETTER;Lo;0;L;;;;;N;;;;;
1901;LIMBU LETTER KA;Lo;0;L;;;;;N;;;;;
1902;LIMBU LETTER KHA;Lo;0;L;;;;;N;;;;;
@@ -5190,6 +5595,8 @@
191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;;
191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;;
191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;;
+191D;LIMBU LETTER GYAN;Lo;0;L;;;;;N;;;;;
+191E;LIMBU LETTER TRA;Lo;0;L;;;;;N;;;;;
1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
@@ -5304,23 +5711,25 @@
19A7;NEW TAI LUE LETTER HIGH XVA;Lo;0;L;;;;;N;;;;;
19A8;NEW TAI LUE LETTER LOW KVA;Lo;0;L;;;;;N;;;;;
19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;;
-19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;;
-19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;;
-19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;;
-19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;;
-19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;;
-19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;;
-19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
-19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;;
-19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;;
-19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;;
+19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;;
+19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;;
+19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Lo;0;L;;;;;N;;;;;
+19B1;NEW TAI LUE VOWEL SIGN AA;Lo;0;L;;;;;N;;;;;
+19B2;NEW TAI LUE VOWEL SIGN II;Lo;0;L;;;;;N;;;;;
+19B3;NEW TAI LUE VOWEL SIGN U;Lo;0;L;;;;;N;;;;;
+19B4;NEW TAI LUE VOWEL SIGN UU;Lo;0;L;;;;;N;;;;;
+19B5;NEW TAI LUE VOWEL SIGN E;Lo;0;L;;;;;N;;;;;
+19B6;NEW TAI LUE VOWEL SIGN AE;Lo;0;L;;;;;N;;;;;
+19B7;NEW TAI LUE VOWEL SIGN O;Lo;0;L;;;;;N;;;;;
+19B8;NEW TAI LUE VOWEL SIGN OA;Lo;0;L;;;;;N;;;;;
+19B9;NEW TAI LUE VOWEL SIGN UE;Lo;0;L;;;;;N;;;;;
+19BA;NEW TAI LUE VOWEL SIGN AY;Lo;0;L;;;;;N;;;;;
+19BB;NEW TAI LUE VOWEL SIGN AAY;Lo;0;L;;;;;N;;;;;
+19BC;NEW TAI LUE VOWEL SIGN UY;Lo;0;L;;;;;N;;;;;
+19BD;NEW TAI LUE VOWEL SIGN OY;Lo;0;L;;;;;N;;;;;
+19BE;NEW TAI LUE VOWEL SIGN OAY;Lo;0;L;;;;;N;;;;;
+19BF;NEW TAI LUE VOWEL SIGN UEY;Lo;0;L;;;;;N;;;;;
+19C0;NEW TAI LUE VOWEL SIGN IY;Lo;0;L;;;;;N;;;;;
19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;;
19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;;
@@ -5328,8 +5737,8 @@
19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;;
19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;;
-19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;;
-19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;;
+19C8;NEW TAI LUE TONE MARK-1;Lo;0;L;;;;;N;;;;;
+19C9;NEW TAI LUE TONE MARK-2;Lo;0;L;;;;;N;;;;;
19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -5340,8 +5749,9 @@
19D7;NEW TAI LUE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
19D8;NEW TAI LUE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
19D9;NEW TAI LUE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-19DE;NEW TAI LUE SIGN LAE;Po;0;ON;;;;;N;;;;;
-19DF;NEW TAI LUE SIGN LAEV;Po;0;ON;;;;;N;;;;;
+19DA;NEW TAI LUE THAM DIGIT ONE;No;0;L;;;1;1;N;;;;;
+19DE;NEW TAI LUE SIGN LAE;So;0;ON;;;;;N;;;;;
+19DF;NEW TAI LUE SIGN LAEV;So;0;ON;;;;;N;;;;;
19E0;KHMER SYMBOL PATHAMASAT;So;0;ON;;;;;N;;;;;
19E1;KHMER SYMBOL MUOY KOET;So;0;ON;;;;;N;;;;;
19E2;KHMER SYMBOL PII KOET;So;0;ON;;;;;N;;;;;
@@ -5401,78 +5811,220 @@
1A18;BUGINESE VOWEL SIGN U;Mn;220;NSM;;;;;N;;;;;
1A19;BUGINESE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
1A1A;BUGINESE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-1A1B;BUGINESE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+1A1B;BUGINESE VOWEL SIGN AE;Mn;0;NSM;;;;;N;;;;;
1A1E;BUGINESE PALLAWA;Po;0;L;;;;;N;;;;;
1A1F;BUGINESE END OF SECTION;Po;0;L;;;;;N;;;;;
-1B00;BALINESE SIGN ULU RICEM;Mn;0;NSM;;;;;N;;ardhacandra;;;
-1B01;BALINESE SIGN ULU CANDRA;Mn;0;NSM;;;;;N;;candrabindu;;;
-1B02;BALINESE SIGN CECEK;Mn;0;NSM;;;;;N;;anusvara;;;
-1B03;BALINESE SIGN SURANG;Mn;0;NSM;;;;;N;;repha;;;
-1B04;BALINESE SIGN BISAH;Mc;0;L;;;;;N;;visarga;;;
-1B05;BALINESE LETTER AKARA;Lo;0;L;;;;;N;;a;;;
-1B06;BALINESE LETTER AKARA TEDUNG;Lo;0;L;1B05 1B35;;;;N;;aa;;;
-1B07;BALINESE LETTER IKARA;Lo;0;L;;;;;N;;i;;;
-1B08;BALINESE LETTER IKARA TEDUNG;Lo;0;L;1B07 1B35;;;;N;;ii;;;
-1B09;BALINESE LETTER UKARA;Lo;0;L;;;;;N;;u;;;
-1B0A;BALINESE LETTER UKARA TEDUNG;Lo;0;L;1B09 1B35;;;;N;;uu;;;
-1B0B;BALINESE LETTER RA REPA;Lo;0;L;;;;;N;;vocalic r;;;
-1B0C;BALINESE LETTER RA REPA TEDUNG;Lo;0;L;1B0B 1B35;;;;N;;vocalic rr;;;
-1B0D;BALINESE LETTER LA LENGA;Lo;0;L;;;;;N;;vocalic l;;;
-1B0E;BALINESE LETTER LA LENGA TEDUNG;Lo;0;L;1B0D 1B35;;;;N;;vocalic ll;;;
-1B0F;BALINESE LETTER EKARA;Lo;0;L;;;;;N;;e;;;
-1B10;BALINESE LETTER AIKARA;Lo;0;L;;;;;N;;ai;;;
-1B11;BALINESE LETTER OKARA;Lo;0;L;;;;;N;;o;;;
-1B12;BALINESE LETTER OKARA TEDUNG;Lo;0;L;1B11 1B35;;;;N;;au;;;
+1A20;TAI THAM LETTER HIGH KA;Lo;0;L;;;;;N;;;;;
+1A21;TAI THAM LETTER HIGH KHA;Lo;0;L;;;;;N;;;;;
+1A22;TAI THAM LETTER HIGH KXA;Lo;0;L;;;;;N;;;;;
+1A23;TAI THAM LETTER LOW KA;Lo;0;L;;;;;N;;;;;
+1A24;TAI THAM LETTER LOW KXA;Lo;0;L;;;;;N;;;;;
+1A25;TAI THAM LETTER LOW KHA;Lo;0;L;;;;;N;;;;;
+1A26;TAI THAM LETTER NGA;Lo;0;L;;;;;N;;;;;
+1A27;TAI THAM LETTER HIGH CA;Lo;0;L;;;;;N;;;;;
+1A28;TAI THAM LETTER HIGH CHA;Lo;0;L;;;;;N;;;;;
+1A29;TAI THAM LETTER LOW CA;Lo;0;L;;;;;N;;;;;
+1A2A;TAI THAM LETTER LOW SA;Lo;0;L;;;;;N;;;;;
+1A2B;TAI THAM LETTER LOW CHA;Lo;0;L;;;;;N;;;;;
+1A2C;TAI THAM LETTER NYA;Lo;0;L;;;;;N;;;;;
+1A2D;TAI THAM LETTER RATA;Lo;0;L;;;;;N;;;;;
+1A2E;TAI THAM LETTER HIGH RATHA;Lo;0;L;;;;;N;;;;;
+1A2F;TAI THAM LETTER DA;Lo;0;L;;;;;N;;;;;
+1A30;TAI THAM LETTER LOW RATHA;Lo;0;L;;;;;N;;;;;
+1A31;TAI THAM LETTER RANA;Lo;0;L;;;;;N;;;;;
+1A32;TAI THAM LETTER HIGH TA;Lo;0;L;;;;;N;;;;;
+1A33;TAI THAM LETTER HIGH THA;Lo;0;L;;;;;N;;;;;
+1A34;TAI THAM LETTER LOW TA;Lo;0;L;;;;;N;;;;;
+1A35;TAI THAM LETTER LOW THA;Lo;0;L;;;;;N;;;;;
+1A36;TAI THAM LETTER NA;Lo;0;L;;;;;N;;;;;
+1A37;TAI THAM LETTER BA;Lo;0;L;;;;;N;;;;;
+1A38;TAI THAM LETTER HIGH PA;Lo;0;L;;;;;N;;;;;
+1A39;TAI THAM LETTER HIGH PHA;Lo;0;L;;;;;N;;;;;
+1A3A;TAI THAM LETTER HIGH FA;Lo;0;L;;;;;N;;;;;
+1A3B;TAI THAM LETTER LOW PA;Lo;0;L;;;;;N;;;;;
+1A3C;TAI THAM LETTER LOW FA;Lo;0;L;;;;;N;;;;;
+1A3D;TAI THAM LETTER LOW PHA;Lo;0;L;;;;;N;;;;;
+1A3E;TAI THAM LETTER MA;Lo;0;L;;;;;N;;;;;
+1A3F;TAI THAM LETTER LOW YA;Lo;0;L;;;;;N;;;;;
+1A40;TAI THAM LETTER HIGH YA;Lo;0;L;;;;;N;;;;;
+1A41;TAI THAM LETTER RA;Lo;0;L;;;;;N;;;;;
+1A42;TAI THAM LETTER RUE;Lo;0;L;;;;;N;;;;;
+1A43;TAI THAM LETTER LA;Lo;0;L;;;;;N;;;;;
+1A44;TAI THAM LETTER LUE;Lo;0;L;;;;;N;;;;;
+1A45;TAI THAM LETTER WA;Lo;0;L;;;;;N;;;;;
+1A46;TAI THAM LETTER HIGH SHA;Lo;0;L;;;;;N;;;;;
+1A47;TAI THAM LETTER HIGH SSA;Lo;0;L;;;;;N;;;;;
+1A48;TAI THAM LETTER HIGH SA;Lo;0;L;;;;;N;;;;;
+1A49;TAI THAM LETTER HIGH HA;Lo;0;L;;;;;N;;;;;
+1A4A;TAI THAM LETTER LLA;Lo;0;L;;;;;N;;;;;
+1A4B;TAI THAM LETTER A;Lo;0;L;;;;;N;;;;;
+1A4C;TAI THAM LETTER LOW HA;Lo;0;L;;;;;N;;;;;
+1A4D;TAI THAM LETTER I;Lo;0;L;;;;;N;;;;;
+1A4E;TAI THAM LETTER II;Lo;0;L;;;;;N;;;;;
+1A4F;TAI THAM LETTER U;Lo;0;L;;;;;N;;;;;
+1A50;TAI THAM LETTER UU;Lo;0;L;;;;;N;;;;;
+1A51;TAI THAM LETTER EE;Lo;0;L;;;;;N;;;;;
+1A52;TAI THAM LETTER OO;Lo;0;L;;;;;N;;;;;
+1A53;TAI THAM LETTER LAE;Lo;0;L;;;;;N;;;;;
+1A54;TAI THAM LETTER GREAT SA;Lo;0;L;;;;;N;;;;;
+1A55;TAI THAM CONSONANT SIGN MEDIAL RA;Mc;0;L;;;;;N;;;;;
+1A56;TAI THAM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
+1A57;TAI THAM CONSONANT SIGN LA TANG LAI;Mc;0;L;;;;;N;;;;;
+1A58;TAI THAM SIGN MAI KANG LAI;Mn;0;NSM;;;;;N;;;;;
+1A59;TAI THAM CONSONANT SIGN FINAL NGA;Mn;0;NSM;;;;;N;;;;;
+1A5A;TAI THAM CONSONANT SIGN LOW PA;Mn;0;NSM;;;;;N;;;;;
+1A5B;TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA;Mn;0;NSM;;;;;N;;;;;
+1A5C;TAI THAM CONSONANT SIGN MA;Mn;0;NSM;;;;;N;;;;;
+1A5D;TAI THAM CONSONANT SIGN BA;Mn;0;NSM;;;;;N;;;;;
+1A5E;TAI THAM CONSONANT SIGN SA;Mn;0;NSM;;;;;N;;;;;
+1A60;TAI THAM SIGN SAKOT;Mn;9;NSM;;;;;N;;;;;
+1A61;TAI THAM VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+1A62;TAI THAM VOWEL SIGN MAI SAT;Mn;0;NSM;;;;;N;;;;;
+1A63;TAI THAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+1A64;TAI THAM VOWEL SIGN TALL AA;Mc;0;L;;;;;N;;;;;
+1A65;TAI THAM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1A66;TAI THAM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+1A67;TAI THAM VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
+1A68;TAI THAM VOWEL SIGN UUE;Mn;0;NSM;;;;;N;;;;;
+1A69;TAI THAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1A6A;TAI THAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1A6B;TAI THAM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+1A6C;TAI THAM VOWEL SIGN OA BELOW;Mn;0;NSM;;;;;N;;;;;
+1A6D;TAI THAM VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
+1A6E;TAI THAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1A6F;TAI THAM VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+1A70;TAI THAM VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+1A71;TAI THAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+1A72;TAI THAM VOWEL SIGN THAM AI;Mc;0;L;;;;;N;;;;;
+1A73;TAI THAM VOWEL SIGN OA ABOVE;Mn;0;NSM;;;;;N;;;;;
+1A74;TAI THAM SIGN MAI KANG;Mn;0;NSM;;;;;N;;;;;
+1A75;TAI THAM SIGN TONE-1;Mn;230;NSM;;;;;N;;;;;
+1A76;TAI THAM SIGN TONE-2;Mn;230;NSM;;;;;N;;;;;
+1A77;TAI THAM SIGN KHUEN TONE-3;Mn;230;NSM;;;;;N;;;;;
+1A78;TAI THAM SIGN KHUEN TONE-4;Mn;230;NSM;;;;;N;;;;;
+1A79;TAI THAM SIGN KHUEN TONE-5;Mn;230;NSM;;;;;N;;;;;
+1A7A;TAI THAM SIGN RA HAAM;Mn;230;NSM;;;;;N;;;;;
+1A7B;TAI THAM SIGN MAI SAM;Mn;230;NSM;;;;;N;;;;;
+1A7C;TAI THAM SIGN KHUEN-LUE KARAN;Mn;230;NSM;;;;;N;;;;;
+1A7F;TAI THAM COMBINING CRYPTOGRAMMIC DOT;Mn;220;NSM;;;;;N;;;;;
+1A80;TAI THAM HORA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1A81;TAI THAM HORA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1A82;TAI THAM HORA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1A83;TAI THAM HORA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1A84;TAI THAM HORA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1A85;TAI THAM HORA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1A86;TAI THAM HORA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1A87;TAI THAM HORA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1A88;TAI THAM HORA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1A89;TAI THAM HORA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1A90;TAI THAM THAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1A91;TAI THAM THAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1A92;TAI THAM THAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1A93;TAI THAM THAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1A94;TAI THAM THAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1A95;TAI THAM THAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1A96;TAI THAM THAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1A97;TAI THAM THAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1A98;TAI THAM THAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1A99;TAI THAM THAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1AA0;TAI THAM SIGN WIANG;Po;0;L;;;;;N;;;;;
+1AA1;TAI THAM SIGN WIANGWAAK;Po;0;L;;;;;N;;;;;
+1AA2;TAI THAM SIGN SAWAN;Po;0;L;;;;;N;;;;;
+1AA3;TAI THAM SIGN KEOW;Po;0;L;;;;;N;;;;;
+1AA4;TAI THAM SIGN HOY;Po;0;L;;;;;N;;;;;
+1AA5;TAI THAM SIGN DOKMAI;Po;0;L;;;;;N;;;;;
+1AA6;TAI THAM SIGN REVERSED ROTATED RANA;Po;0;L;;;;;N;;;;;
+1AA7;TAI THAM SIGN MAI YAMOK;Lm;0;L;;;;;N;;;;;
+1AA8;TAI THAM SIGN KAAN;Po;0;L;;;;;N;;;;;
+1AA9;TAI THAM SIGN KAANKUU;Po;0;L;;;;;N;;;;;
+1AAA;TAI THAM SIGN SATKAAN;Po;0;L;;;;;N;;;;;
+1AAB;TAI THAM SIGN SATKAANKUU;Po;0;L;;;;;N;;;;;
+1AAC;TAI THAM SIGN HANG;Po;0;L;;;;;N;;;;;
+1AAD;TAI THAM SIGN CAANG;Po;0;L;;;;;N;;;;;
+1AB0;COMBINING DOUBLED CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;;;;;
+1AB1;COMBINING DIAERESIS-RING;Mn;230;NSM;;;;;N;;;;;
+1AB2;COMBINING INFINITY;Mn;230;NSM;;;;;N;;;;;
+1AB3;COMBINING DOWNWARDS ARROW;Mn;230;NSM;;;;;N;;;;;
+1AB4;COMBINING TRIPLE DOT;Mn;230;NSM;;;;;N;;;;;
+1AB5;COMBINING X-X BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB6;COMBINING WIGGLY LINE BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB7;COMBINING OPEN MARK BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB8;COMBINING DOUBLE OPEN MARK BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB9;COMBINING LIGHT CENTRALIZATION STROKE BELOW;Mn;220;NSM;;;;;N;;;;;
+1ABA;COMBINING STRONG CENTRALIZATION STROKE BELOW;Mn;220;NSM;;;;;N;;;;;
+1ABB;COMBINING PARENTHESES ABOVE;Mn;230;NSM;;;;;N;;;;;
+1ABC;COMBINING DOUBLE PARENTHESES ABOVE;Mn;230;NSM;;;;;N;;;;;
+1ABD;COMBINING PARENTHESES BELOW;Mn;220;NSM;;;;;N;;;;;
+1ABE;COMBINING PARENTHESES OVERLAY;Me;0;NSM;;;;;N;;;;;
+1B00;BALINESE SIGN ULU RICEM;Mn;0;NSM;;;;;N;;;;;
+1B01;BALINESE SIGN ULU CANDRA;Mn;0;NSM;;;;;N;;;;;
+1B02;BALINESE SIGN CECEK;Mn;0;NSM;;;;;N;;;;;
+1B03;BALINESE SIGN SURANG;Mn;0;NSM;;;;;N;;;;;
+1B04;BALINESE SIGN BISAH;Mc;0;L;;;;;N;;;;;
+1B05;BALINESE LETTER AKARA;Lo;0;L;;;;;N;;;;;
+1B06;BALINESE LETTER AKARA TEDUNG;Lo;0;L;1B05 1B35;;;;N;;;;;
+1B07;BALINESE LETTER IKARA;Lo;0;L;;;;;N;;;;;
+1B08;BALINESE LETTER IKARA TEDUNG;Lo;0;L;1B07 1B35;;;;N;;;;;
+1B09;BALINESE LETTER UKARA;Lo;0;L;;;;;N;;;;;
+1B0A;BALINESE LETTER UKARA TEDUNG;Lo;0;L;1B09 1B35;;;;N;;;;;
+1B0B;BALINESE LETTER RA REPA;Lo;0;L;;;;;N;;;;;
+1B0C;BALINESE LETTER RA REPA TEDUNG;Lo;0;L;1B0B 1B35;;;;N;;;;;
+1B0D;BALINESE LETTER LA LENGA;Lo;0;L;;;;;N;;;;;
+1B0E;BALINESE LETTER LA LENGA TEDUNG;Lo;0;L;1B0D 1B35;;;;N;;;;;
+1B0F;BALINESE LETTER EKARA;Lo;0;L;;;;;N;;;;;
+1B10;BALINESE LETTER AIKARA;Lo;0;L;;;;;N;;;;;
+1B11;BALINESE LETTER OKARA;Lo;0;L;;;;;N;;;;;
+1B12;BALINESE LETTER OKARA TEDUNG;Lo;0;L;1B11 1B35;;;;N;;;;;
1B13;BALINESE LETTER KA;Lo;0;L;;;;;N;;;;;
-1B14;BALINESE LETTER KA MAHAPRANA;Lo;0;L;;;;;N;;kha;;;
+1B14;BALINESE LETTER KA MAHAPRANA;Lo;0;L;;;;;N;;;;;
1B15;BALINESE LETTER GA;Lo;0;L;;;;;N;;;;;
-1B16;BALINESE LETTER GA GORA;Lo;0;L;;;;;N;;gha;;;
+1B16;BALINESE LETTER GA GORA;Lo;0;L;;;;;N;;;;;
1B17;BALINESE LETTER NGA;Lo;0;L;;;;;N;;;;;
1B18;BALINESE LETTER CA;Lo;0;L;;;;;N;;;;;
-1B19;BALINESE LETTER CA LACA;Lo;0;L;;;;;N;;cha;;;
+1B19;BALINESE LETTER CA LACA;Lo;0;L;;;;;N;;;;;
1B1A;BALINESE LETTER JA;Lo;0;L;;;;;N;;;;;
-1B1B;BALINESE LETTER JA JERA;Lo;0;L;;;;;N;;jha;;;
+1B1B;BALINESE LETTER JA JERA;Lo;0;L;;;;;N;;;;;
1B1C;BALINESE LETTER NYA;Lo;0;L;;;;;N;;;;;
-1B1D;BALINESE LETTER TA LATIK;Lo;0;L;;;;;N;;tta;;;
-1B1E;BALINESE LETTER TA MURDA MAHAPRANA;Lo;0;L;;;;;N;;ttha;;;
-1B1F;BALINESE LETTER DA MURDA ALPAPRANA;Lo;0;L;;;;;N;;dda;;;
-1B20;BALINESE LETTER DA MURDA MAHAPRANA;Lo;0;L;;;;;N;;ddha;;;
-1B21;BALINESE LETTER NA RAMBAT;Lo;0;L;;;;;N;;nna;;;
+1B1D;BALINESE LETTER TA LATIK;Lo;0;L;;;;;N;;;;;
+1B1E;BALINESE LETTER TA MURDA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+1B1F;BALINESE LETTER DA MURDA ALPAPRANA;Lo;0;L;;;;;N;;;;;
+1B20;BALINESE LETTER DA MURDA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+1B21;BALINESE LETTER NA RAMBAT;Lo;0;L;;;;;N;;;;;
1B22;BALINESE LETTER TA;Lo;0;L;;;;;N;;;;;
-1B23;BALINESE LETTER TA TAWA;Lo;0;L;;;;;N;;tha;;;
+1B23;BALINESE LETTER TA TAWA;Lo;0;L;;;;;N;;;;;
1B24;BALINESE LETTER DA;Lo;0;L;;;;;N;;;;;
-1B25;BALINESE LETTER DA MADU;Lo;0;L;;;;;N;;dha;;;
+1B25;BALINESE LETTER DA MADU;Lo;0;L;;;;;N;;;;;
1B26;BALINESE LETTER NA;Lo;0;L;;;;;N;;;;;
1B27;BALINESE LETTER PA;Lo;0;L;;;;;N;;;;;
-1B28;BALINESE LETTER PA KAPAL;Lo;0;L;;;;;N;;pha;;;
+1B28;BALINESE LETTER PA KAPAL;Lo;0;L;;;;;N;;;;;
1B29;BALINESE LETTER BA;Lo;0;L;;;;;N;;;;;
-1B2A;BALINESE LETTER BA KEMBANG;Lo;0;L;;;;;N;;bha;;;
+1B2A;BALINESE LETTER BA KEMBANG;Lo;0;L;;;;;N;;;;;
1B2B;BALINESE LETTER MA;Lo;0;L;;;;;N;;;;;
1B2C;BALINESE LETTER YA;Lo;0;L;;;;;N;;;;;
1B2D;BALINESE LETTER RA;Lo;0;L;;;;;N;;;;;
1B2E;BALINESE LETTER LA;Lo;0;L;;;;;N;;;;;
1B2F;BALINESE LETTER WA;Lo;0;L;;;;;N;;;;;
-1B30;BALINESE LETTER SA SAGA;Lo;0;L;;;;;N;;sha;;;
-1B31;BALINESE LETTER SA SAPA;Lo;0;L;;;;;N;;ssa;;;
+1B30;BALINESE LETTER SA SAGA;Lo;0;L;;;;;N;;;;;
+1B31;BALINESE LETTER SA SAPA;Lo;0;L;;;;;N;;;;;
1B32;BALINESE LETTER SA;Lo;0;L;;;;;N;;;;;
1B33;BALINESE LETTER HA;Lo;0;L;;;;;N;;;;;
-1B34;BALINESE SIGN REREKAN;Mn;7;NSM;;;;;N;;nukta;;;
-1B35;BALINESE VOWEL SIGN TEDUNG;Mc;0;L;;;;;N;;aa;;;
-1B36;BALINESE VOWEL SIGN ULU;Mn;0;NSM;;;;;N;;i;;;
-1B37;BALINESE VOWEL SIGN ULU SARI;Mn;0;NSM;;;;;N;;ii;;;
-1B38;BALINESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;u;;;
-1B39;BALINESE VOWEL SIGN SUKU ILUT;Mn;0;NSM;;;;;N;;uu;;;
-1B3A;BALINESE VOWEL SIGN RA REPA;Mn;0;NSM;;;;;N;;vocalic r;;;
-1B3B;BALINESE VOWEL SIGN RA REPA TEDUNG;Mc;0;L;1B3A 1B35;;;;N;;vocalic rr;;;
-1B3C;BALINESE VOWEL SIGN LA LENGA;Mn;0;NSM;;;;;N;;vocalic l;;;
-1B3D;BALINESE VOWEL SIGN LA LENGA TEDUNG;Mc;0;L;1B3C 1B35;;;;N;;vocalic ll;;;
-1B3E;BALINESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;e;;;
-1B3F;BALINESE VOWEL SIGN TALING REPA;Mc;0;L;;;;;N;;ai;;;
-1B40;BALINESE VOWEL SIGN TALING TEDUNG;Mc;0;L;1B3E 1B35;;;;N;;o;;;
-1B41;BALINESE VOWEL SIGN TALING REPA TEDUNG;Mc;0;L;1B3F 1B35;;;;N;;au;;;
-1B42;BALINESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;ae;;;
-1B43;BALINESE VOWEL SIGN PEPET TEDUNG;Mc;0;L;1B42 1B35;;;;N;;oe;;;
-1B44;BALINESE ADEG ADEG;Mc;9;L;;;;;N;;virama;;;
+1B34;BALINESE SIGN REREKAN;Mn;7;NSM;;;;;N;;;;;
+1B35;BALINESE VOWEL SIGN TEDUNG;Mc;0;L;;;;;N;;;;;
+1B36;BALINESE VOWEL SIGN ULU;Mn;0;NSM;;;;;N;;;;;
+1B37;BALINESE VOWEL SIGN ULU SARI;Mn;0;NSM;;;;;N;;;;;
+1B38;BALINESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;;;;
+1B39;BALINESE VOWEL SIGN SUKU ILUT;Mn;0;NSM;;;;;N;;;;;
+1B3A;BALINESE VOWEL SIGN RA REPA;Mn;0;NSM;;;;;N;;;;;
+1B3B;BALINESE VOWEL SIGN RA REPA TEDUNG;Mc;0;L;1B3A 1B35;;;;N;;;;;
+1B3C;BALINESE VOWEL SIGN LA LENGA;Mn;0;NSM;;;;;N;;;;;
+1B3D;BALINESE VOWEL SIGN LA LENGA TEDUNG;Mc;0;L;1B3C 1B35;;;;N;;;;;
+1B3E;BALINESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;;
+1B3F;BALINESE VOWEL SIGN TALING REPA;Mc;0;L;;;;;N;;;;;
+1B40;BALINESE VOWEL SIGN TALING TEDUNG;Mc;0;L;1B3E 1B35;;;;N;;;;;
+1B41;BALINESE VOWEL SIGN TALING REPA TEDUNG;Mc;0;L;1B3F 1B35;;;;N;;;;;
+1B42;BALINESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;;
+1B43;BALINESE VOWEL SIGN PEPET TEDUNG;Mc;0;L;1B42 1B35;;;;N;;;;;
+1B44;BALINESE ADEG ADEG;Mc;9;L;;;;;N;;;;;
1B45;BALINESE LETTER KAF SASAK;Lo;0;L;;;;;N;;;;;
1B46;BALINESE LETTER KHOT SASAK;Lo;0;L;;;;;N;;;;;
1B47;BALINESE LETTER TZIR SASAK;Lo;0;L;;;;;N;;;;;
@@ -5490,13 +6042,13 @@
1B57;BALINESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
1B58;BALINESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
1B59;BALINESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1B5A;BALINESE PANTI;Po;0;L;;;;;N;;section;;;
-1B5B;BALINESE PAMADA;Po;0;L;;;;;N;;honorific section;;;
-1B5C;BALINESE WINDU;Po;0;L;;;;;N;;punctuation ring;;;
-1B5D;BALINESE CARIK PAMUNGKAH;Po;0;L;;;;;N;;colon;;;
-1B5E;BALINESE CARIK SIKI;Po;0;L;;;;;N;;danda;;;
-1B5F;BALINESE CARIK PAREREN;Po;0;L;;;;;N;;double danda;;;
-1B60;BALINESE PAMENENG;Po;0;L;;;;;N;;line-breaking hyphen;;;
+1B5A;BALINESE PANTI;Po;0;L;;;;;N;;;;;
+1B5B;BALINESE PAMADA;Po;0;L;;;;;N;;;;;
+1B5C;BALINESE WINDU;Po;0;L;;;;;N;;;;;
+1B5D;BALINESE CARIK PAMUNGKAH;Po;0;L;;;;;N;;;;;
+1B5E;BALINESE CARIK SIKI;Po;0;L;;;;;N;;;;;
+1B5F;BALINESE CARIK PAREREN;Po;0;L;;;;;N;;;;;
+1B60;BALINESE PAMENENG;Po;0;L;;;;;N;;;;;
1B61;BALINESE MUSICAL SYMBOL DONG;So;0;L;;;;;N;;;;;
1B62;BALINESE MUSICAL SYMBOL DENG;So;0;L;;;;;N;;;;;
1B63;BALINESE MUSICAL SYMBOL DUNG;So;0;L;;;;;N;;;;;
@@ -5568,6 +6120,9 @@
1BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;;
1BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;;
1BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;;
+1BAB;SUNDANESE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+1BAC;SUNDANESE CONSONANT SIGN PASANGAN MA;Mn;0;NSM;;;;;N;;;;;
+1BAD;SUNDANESE CONSONANT SIGN PASANGAN WA;Mn;0;NSM;;;;;N;;;;;
1BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;;
1BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;;
1BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
@@ -5580,6 +6135,68 @@
1BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
1BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
1BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1BBA;SUNDANESE AVAGRAHA;Lo;0;L;;;;;N;;;;;
+1BBB;SUNDANESE LETTER REU;Lo;0;L;;;;;N;;;;;
+1BBC;SUNDANESE LETTER LEU;Lo;0;L;;;;;N;;;;;
+1BBD;SUNDANESE LETTER BHA;Lo;0;L;;;;;N;;;;;
+1BBE;SUNDANESE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
+1BBF;SUNDANESE LETTER FINAL M;Lo;0;L;;;;;N;;;;;
+1BC0;BATAK LETTER A;Lo;0;L;;;;;N;;;;;
+1BC1;BATAK LETTER SIMALUNGUN A;Lo;0;L;;;;;N;;;;;
+1BC2;BATAK LETTER HA;Lo;0;L;;;;;N;;;;;
+1BC3;BATAK LETTER SIMALUNGUN HA;Lo;0;L;;;;;N;;;;;
+1BC4;BATAK LETTER MANDAILING HA;Lo;0;L;;;;;N;;;;;
+1BC5;BATAK LETTER BA;Lo;0;L;;;;;N;;;;;
+1BC6;BATAK LETTER KARO BA;Lo;0;L;;;;;N;;;;;
+1BC7;BATAK LETTER PA;Lo;0;L;;;;;N;;;;;
+1BC8;BATAK LETTER SIMALUNGUN PA;Lo;0;L;;;;;N;;;;;
+1BC9;BATAK LETTER NA;Lo;0;L;;;;;N;;;;;
+1BCA;BATAK LETTER MANDAILING NA;Lo;0;L;;;;;N;;;;;
+1BCB;BATAK LETTER WA;Lo;0;L;;;;;N;;;;;
+1BCC;BATAK LETTER SIMALUNGUN WA;Lo;0;L;;;;;N;;;;;
+1BCD;BATAK LETTER PAKPAK WA;Lo;0;L;;;;;N;;;;;
+1BCE;BATAK LETTER GA;Lo;0;L;;;;;N;;;;;
+1BCF;BATAK LETTER SIMALUNGUN GA;Lo;0;L;;;;;N;;;;;
+1BD0;BATAK LETTER JA;Lo;0;L;;;;;N;;;;;
+1BD1;BATAK LETTER DA;Lo;0;L;;;;;N;;;;;
+1BD2;BATAK LETTER RA;Lo;0;L;;;;;N;;;;;
+1BD3;BATAK LETTER SIMALUNGUN RA;Lo;0;L;;;;;N;;;;;
+1BD4;BATAK LETTER MA;Lo;0;L;;;;;N;;;;;
+1BD5;BATAK LETTER SIMALUNGUN MA;Lo;0;L;;;;;N;;;;;
+1BD6;BATAK LETTER SOUTHERN TA;Lo;0;L;;;;;N;;;;;
+1BD7;BATAK LETTER NORTHERN TA;Lo;0;L;;;;;N;;;;;
+1BD8;BATAK LETTER SA;Lo;0;L;;;;;N;;;;;
+1BD9;BATAK LETTER SIMALUNGUN SA;Lo;0;L;;;;;N;;;;;
+1BDA;BATAK LETTER MANDAILING SA;Lo;0;L;;;;;N;;;;;
+1BDB;BATAK LETTER YA;Lo;0;L;;;;;N;;;;;
+1BDC;BATAK LETTER SIMALUNGUN YA;Lo;0;L;;;;;N;;;;;
+1BDD;BATAK LETTER NGA;Lo;0;L;;;;;N;;;;;
+1BDE;BATAK LETTER LA;Lo;0;L;;;;;N;;;;;
+1BDF;BATAK LETTER SIMALUNGUN LA;Lo;0;L;;;;;N;;;;;
+1BE0;BATAK LETTER NYA;Lo;0;L;;;;;N;;;;;
+1BE1;BATAK LETTER CA;Lo;0;L;;;;;N;;;;;
+1BE2;BATAK LETTER NDA;Lo;0;L;;;;;N;;;;;
+1BE3;BATAK LETTER MBA;Lo;0;L;;;;;N;;;;;
+1BE4;BATAK LETTER I;Lo;0;L;;;;;N;;;;;
+1BE5;BATAK LETTER U;Lo;0;L;;;;;N;;;;;
+1BE6;BATAK SIGN TOMPI;Mn;7;NSM;;;;;N;;;;;
+1BE7;BATAK VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1BE8;BATAK VOWEL SIGN PAKPAK E;Mn;0;NSM;;;;;N;;;;;
+1BE9;BATAK VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
+1BEA;BATAK VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+1BEB;BATAK VOWEL SIGN KARO I;Mc;0;L;;;;;N;;;;;
+1BEC;BATAK VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+1BED;BATAK VOWEL SIGN KARO O;Mn;0;NSM;;;;;N;;;;;
+1BEE;BATAK VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+1BEF;BATAK VOWEL SIGN U FOR SIMALUNGUN SA;Mn;0;NSM;;;;;N;;;;;
+1BF0;BATAK CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;;
+1BF1;BATAK CONSONANT SIGN H;Mn;0;NSM;;;;;N;;;;;
+1BF2;BATAK PANGOLAT;Mc;9;L;;;;;N;;;;;
+1BF3;BATAK PANONGONAN;Mc;9;L;;;;;N;;;;;
+1BFC;BATAK SYMBOL BINDU NA METEK;Po;0;L;;;;;N;;;;;
+1BFD;BATAK SYMBOL BINDU PINARBORAS;Po;0;L;;;;;N;;;;;
+1BFE;BATAK SYMBOL BINDU JUDUL;Po;0;L;;;;;N;;;;;
+1BFF;BATAK SYMBOL BINDU PANGOLAT;Po;0;L;;;;;N;;;;;
1C00;LEPCHA LETTER KA;Lo;0;L;;;;;N;;;;;
1C01;LEPCHA LETTER KLA;Lo;0;L;;;;;N;;;;;
1C02;LEPCHA LETTER KHA;Lo;0;L;;;;;N;;;;;
@@ -5702,6 +6319,55 @@
1C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;;
1C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;;
1C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;;
+1CC0;SUNDANESE PUNCTUATION BINDU SURYA;Po;0;L;;;;;N;;;;;
+1CC1;SUNDANESE PUNCTUATION BINDU PANGLONG;Po;0;L;;;;;N;;;;;
+1CC2;SUNDANESE PUNCTUATION BINDU PURNAMA;Po;0;L;;;;;N;;;;;
+1CC3;SUNDANESE PUNCTUATION BINDU CAKRA;Po;0;L;;;;;N;;;;;
+1CC4;SUNDANESE PUNCTUATION BINDU LEU SATANGA;Po;0;L;;;;;N;;;;;
+1CC5;SUNDANESE PUNCTUATION BINDU KA SATANGA;Po;0;L;;;;;N;;;;;
+1CC6;SUNDANESE PUNCTUATION BINDU DA SATANGA;Po;0;L;;;;;N;;;;;
+1CC7;SUNDANESE PUNCTUATION BINDU BA SATANGA;Po;0;L;;;;;N;;;;;
+1CD0;VEDIC TONE KARSHANA;Mn;230;NSM;;;;;N;;;;;
+1CD1;VEDIC TONE SHARA;Mn;230;NSM;;;;;N;;;;;
+1CD2;VEDIC TONE PRENKHA;Mn;230;NSM;;;;;N;;;;;
+1CD3;VEDIC SIGN NIHSHVASA;Po;0;L;;;;;N;;;;;
+1CD4;VEDIC SIGN YAJURVEDIC MIDLINE SVARITA;Mn;1;NSM;;;;;N;;;;;
+1CD5;VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;;
+1CD6;VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;;
+1CD7;VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;;
+1CD8;VEDIC TONE CANDRA BELOW;Mn;220;NSM;;;;;N;;;;;
+1CD9;VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER;Mn;220;NSM;;;;;N;;;;;
+1CDA;VEDIC TONE DOUBLE SVARITA;Mn;230;NSM;;;;;N;;;;;
+1CDB;VEDIC TONE TRIPLE SVARITA;Mn;230;NSM;;;;;N;;;;;
+1CDC;VEDIC TONE KATHAKA ANUDATTA;Mn;220;NSM;;;;;N;;;;;
+1CDD;VEDIC TONE DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+1CDE;VEDIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+1CDF;VEDIC TONE THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+1CE0;VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA;Mn;230;NSM;;;;;N;;;;;
+1CE1;VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA;Mc;0;L;;;;;N;;;;;
+1CE2;VEDIC SIGN VISARGA SVARITA;Mn;1;NSM;;;;;N;;;;;
+1CE3;VEDIC SIGN VISARGA UDATTA;Mn;1;NSM;;;;;N;;;;;
+1CE4;VEDIC SIGN REVERSED VISARGA UDATTA;Mn;1;NSM;;;;;N;;;;;
+1CE5;VEDIC SIGN VISARGA ANUDATTA;Mn;1;NSM;;;;;N;;;;;
+1CE6;VEDIC SIGN REVERSED VISARGA ANUDATTA;Mn;1;NSM;;;;;N;;;;;
+1CE7;VEDIC SIGN VISARGA UDATTA WITH TAIL;Mn;1;NSM;;;;;N;;;;;
+1CE8;VEDIC SIGN VISARGA ANUDATTA WITH TAIL;Mn;1;NSM;;;;;N;;;;;
+1CE9;VEDIC SIGN ANUSVARA ANTARGOMUKHA;Lo;0;L;;;;;N;;;;;
+1CEA;VEDIC SIGN ANUSVARA BAHIRGOMUKHA;Lo;0;L;;;;;N;;;;;
+1CEB;VEDIC SIGN ANUSVARA VAMAGOMUKHA;Lo;0;L;;;;;N;;;;;
+1CEC;VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL;Lo;0;L;;;;;N;;;;;
+1CED;VEDIC SIGN TIRYAK;Mn;220;NSM;;;;;N;;;;;
+1CEE;VEDIC SIGN HEXIFORM LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
+1CEF;VEDIC SIGN LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
+1CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
+1CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;;
+1CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
+1CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
+1CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;;
+1CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+1CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+1CF8;VEDIC TONE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
+1CF9;VEDIC TONE DOUBLE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
@@ -5800,15 +6466,15 @@
1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L;<super> 03B4;;;;N;;;;;
1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L;<super> 03C6;;;;N;;;;;
1D61;MODIFIER LETTER SMALL CHI;Lm;0;L;<super> 03C7;;;;N;;;;;
-1D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L;<sub> 0069;;;;N;;;;;
-1D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L;<sub> 0072;;;;N;;;;;
-1D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L;<sub> 0075;;;;N;;;;;
-1D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L;<sub> 0076;;;;N;;;;;
-1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L;<sub> 03B2;;;;N;;;;;
-1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L;<sub> 03B3;;;;N;;;;;
-1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L;<sub> 03C1;;;;N;;;;;
-1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L;<sub> 03C6;;;;N;;;;;
-1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L;<sub> 03C7;;;;N;;;;;
+1D62;LATIN SUBSCRIPT SMALL LETTER I;Lm;0;L;<sub> 0069;;;;N;;;;;
+1D63;LATIN SUBSCRIPT SMALL LETTER R;Lm;0;L;<sub> 0072;;;;N;;;;;
+1D64;LATIN SUBSCRIPT SMALL LETTER U;Lm;0;L;<sub> 0075;;;;N;;;;;
+1D65;LATIN SUBSCRIPT SMALL LETTER V;Lm;0;L;<sub> 0076;;;;N;;;;;
+1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Lm;0;L;<sub> 03B2;;;;N;;;;;
+1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Lm;0;L;<sub> 03B3;;;;N;;;;;
+1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Lm;0;L;<sub> 03C1;;;;N;;;;;
+1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Lm;0;L;<sub> 03C6;;;;N;;;;;
+1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Lm;0;L;<sub> 03C7;;;;N;;;;;
1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;;
1D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
1D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
@@ -5933,6 +6599,23 @@
1DE4;COMBINING LATIN SMALL LETTER S;Mn;230;NSM;;;;;N;;;;;
1DE5;COMBINING LATIN SMALL LETTER LONG S;Mn;230;NSM;;;;;N;;;;;
1DE6;COMBINING LATIN SMALL LETTER Z;Mn;230;NSM;;;;;N;;;;;
+1DE7;COMBINING LATIN SMALL LETTER ALPHA;Mn;230;NSM;;;;;N;;;;;
+1DE8;COMBINING LATIN SMALL LETTER B;Mn;230;NSM;;;;;N;;;;;
+1DE9;COMBINING LATIN SMALL LETTER BETA;Mn;230;NSM;;;;;N;;;;;
+1DEA;COMBINING LATIN SMALL LETTER SCHWA;Mn;230;NSM;;;;;N;;;;;
+1DEB;COMBINING LATIN SMALL LETTER F;Mn;230;NSM;;;;;N;;;;;
+1DEC;COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE;Mn;230;NSM;;;;;N;;;;;
+1DED;COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE;Mn;230;NSM;;;;;N;;;;;
+1DEE;COMBINING LATIN SMALL LETTER P;Mn;230;NSM;;;;;N;;;;;
+1DEF;COMBINING LATIN SMALL LETTER ESH;Mn;230;NSM;;;;;N;;;;;
+1DF0;COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE;Mn;230;NSM;;;;;N;;;;;
+1DF1;COMBINING LATIN SMALL LETTER W;Mn;230;NSM;;;;;N;;;;;
+1DF2;COMBINING LATIN SMALL LETTER A WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
+1DF3;COMBINING LATIN SMALL LETTER O WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
+1DF4;COMBINING LATIN SMALL LETTER U WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
+1DF5;COMBINING UP TACK ABOVE;Mn;230;NSM;;;;;N;;;;;
+1DFC;COMBINING DOUBLE INVERTED BREVE BELOW;Mn;233;NSM;;;;;N;;;;;
+1DFD;COMBINING ALMOST EQUAL TO BELOW;Mn;220;NSM;;;;;N;;;;;
1DFE;COMBINING LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
1DFF;COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01;
@@ -6487,7 +7170,7 @@
203C;DOUBLE EXCLAMATION MARK;Po;0;ON;<compat> 0021 0021;;;;N;;;;;
203D;INTERROBANG;Po;0;ON;;;;;N;;;;;
203E;OVERLINE;Po;0;ON;<compat> 0020 0305;;;;N;SPACING OVERSCORE;;;;
-203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;;
+203F;UNDERTIE;Pc;0;ON;;;;;N;;;;;
2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;;
2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;;
2042;ASTERISM;Po;0;ON;;;;;N;;;;;
@@ -6525,6 +7208,10 @@
2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;;
2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;;
2064;INVISIBLE PLUS;Cf;0;BN;;;;;N;;;;;
+2066;LEFT-TO-RIGHT ISOLATE;Cf;0;LRI;;;;;N;;;;;
+2067;RIGHT-TO-LEFT ISOLATE;Cf;0;RLI;;;;;N;;;;;
+2068;FIRST STRONG ISOLATE;Cf;0;FSI;;;;;N;;;;;
+2069;POP DIRECTIONAL ISOLATE;Cf;0;PDI;;;;;N;;;;;
206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
@@ -6532,7 +7219,7 @@
206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
2070;SUPERSCRIPT ZERO;No;0;EN;<super> 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;;
-2071;SUPERSCRIPT LATIN SMALL LETTER I;Ll;0;L;<super> 0069;;;;N;;;;;
+2071;SUPERSCRIPT LATIN SMALL LETTER I;Lm;0;L;<super> 0069;;;;N;;;;;
2074;SUPERSCRIPT FOUR;No;0;EN;<super> 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;;
2075;SUPERSCRIPT FIVE;No;0;EN;<super> 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;;
2076;SUPERSCRIPT SIX;No;0;EN;<super> 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;;
@@ -6544,7 +7231,7 @@
207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON;<super> 003D;;;;N;;;;;
207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON;<super> 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;;
207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<super> 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;;
-207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L;<super> 006E;;;;N;;;;;
+207F;SUPERSCRIPT LATIN SMALL LETTER N;Lm;0;L;<super> 006E;;;;N;;;;;
2080;SUBSCRIPT ZERO;No;0;EN;<sub> 0030;;0;0;N;SUBSCRIPT DIGIT ZERO;;;;
2081;SUBSCRIPT ONE;No;0;EN;<sub> 0031;;1;1;N;SUBSCRIPT DIGIT ONE;;;;
2082;SUBSCRIPT TWO;No;0;EN;<sub> 0032;;2;2;N;SUBSCRIPT DIGIT TWO;;;;
@@ -6565,6 +7252,14 @@
2092;LATIN SUBSCRIPT SMALL LETTER O;Lm;0;L;<sub> 006F;;;;N;;;;;
2093;LATIN SUBSCRIPT SMALL LETTER X;Lm;0;L;<sub> 0078;;;;N;;;;;
2094;LATIN SUBSCRIPT SMALL LETTER SCHWA;Lm;0;L;<sub> 0259;;;;N;;;;;
+2095;LATIN SUBSCRIPT SMALL LETTER H;Lm;0;L;<sub> 0068;;;;N;;;;;
+2096;LATIN SUBSCRIPT SMALL LETTER K;Lm;0;L;<sub> 006B;;;;N;;;;;
+2097;LATIN SUBSCRIPT SMALL LETTER L;Lm;0;L;<sub> 006C;;;;N;;;;;
+2098;LATIN SUBSCRIPT SMALL LETTER M;Lm;0;L;<sub> 006D;;;;N;;;;;
+2099;LATIN SUBSCRIPT SMALL LETTER N;Lm;0;L;<sub> 006E;;;;N;;;;;
+209A;LATIN SUBSCRIPT SMALL LETTER P;Lm;0;L;<sub> 0070;;;;N;;;;;
+209B;LATIN SUBSCRIPT SMALL LETTER S;Lm;0;L;<sub> 0073;;;;N;;;;;
+209C;LATIN SUBSCRIPT SMALL LETTER T;Lm;0;L;<sub> 0074;;;;N;;;;;
20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;;
20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;;
@@ -6587,6 +7282,15 @@
20B3;AUSTRAL SIGN;Sc;0;ET;;;;;N;;;;;
20B4;HRYVNIA SIGN;Sc;0;ET;;;;;N;;;;;
20B5;CEDI SIGN;Sc;0;ET;;;;;N;;;;;
+20B6;LIVRE TOURNOIS SIGN;Sc;0;ET;;;;;N;;;;;
+20B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;;
+20B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;;
+20B9;INDIAN RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+20BA;TURKISH LIRA SIGN;Sc;0;ET;;;;;N;;;;;
+20BB;NORDIC MARK SIGN;Sc;0;ET;;;;;N;;;;;
+20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;;
+20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;;
+20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;;
20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
@@ -6644,7 +7348,7 @@
2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L;<font> 004E;;;;N;DOUBLE-STRUCK N;;;;
2116;NUMERO SIGN;So;0;ON;<compat> 004E 006F;;;;N;NUMERO;;;;
2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;;
-2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;;
+2118;SCRIPT CAPITAL P;Sm;0;ON;;;;;N;SCRIPT P;;;;
2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L;<font> 0050;;;;N;DOUBLE-STRUCK P;;;;
211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L;<font> 0051;;;;N;DOUBLE-STRUCK Q;;;;
211B;SCRIPT CAPITAL R;Lu;0;L;<font> 0052;;;;N;SCRIPT R;;;;
@@ -6700,6 +7404,9 @@
214D;AKTIESELSKAB;So;0;ON;;;;;N;;;;;
214E;TURNED SMALL F;Ll;0;L;;;;;N;;;2132;;2132
214F;SYMBOL FOR SAMARITAN SOURCE;So;0;L;;;;;N;;;;;
+2150;VULGAR FRACTION ONE SEVENTH;No;0;ON;<fraction> 0031 2044 0037;;;1/7;N;;;;;
+2151;VULGAR FRACTION ONE NINTH;No;0;ON;<fraction> 0031 2044 0039;;;1/9;N;;;;;
+2152;VULGAR FRACTION ONE TENTH;No;0;ON;<fraction> 0031 2044 0031 0030;;;1/10;N;;;;;
2153;VULGAR FRACTION ONE THIRD;No;0;ON;<fraction> 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;;
2154;VULGAR FRACTION TWO THIRDS;No;0;ON;<fraction> 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;;
2155;VULGAR FRACTION ONE FIFTH;No;0;ON;<fraction> 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;;
@@ -6754,6 +7461,9 @@
2186;ROMAN NUMERAL FIFTY EARLY FORM;Nl;0;L;;;;50;N;;;;;
2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;;
2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;;
+2189;VULGAR FRACTION ZERO THIRDS;No;0;ON;<fraction> 0030 2044 0033;;;0;N;;;;;
+218A;TURNED DIGIT TWO;So;0;ON;;;;;N;;;;;
+218B;TURNED DIGIT THREE;So;0;ON;;;;;N;;;;;
2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;;
2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;;
2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;;
@@ -6927,7 +7637,7 @@
223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;;
223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;;
223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;lazy S;;;
+223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;;;;
223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;;
223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;;
2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;;
@@ -7130,10 +7840,10 @@
2305;PROJECTIVE;So;0;ON;;;;;N;;;;;
2306;PERSPECTIVE;So;0;ON;;;;;N;;;;;
2307;WAVY LINE;So;0;ON;;;;;N;;;;;
-2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;;
-2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;;
-230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;;
-230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;;
+2308;LEFT CEILING;Ps;0;ON;;;;;Y;;;;;
+2309;RIGHT CEILING;Pe;0;ON;;;;;Y;;;;;
+230A;LEFT FLOOR;Ps;0;ON;;;;;Y;;;;;
+230B;RIGHT FLOOR;Pe;0;ON;;;;;Y;;;;;
230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;;
230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;;
230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;;
@@ -7196,18 +7906,18 @@
2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;;
2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;;
2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;;
-234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;*;;;
+234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;;;;
234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;;
234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;;
234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;;
-234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;*;;;
+234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;;;;
234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;;
2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;;
-2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;*;;;
+2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;;;;
2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;;
2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;;
2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;;
-2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;*;;;
+2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;;;;
2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;;
2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;;
2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;;
@@ -7219,7 +7929,7 @@
235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;;
235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;;
2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;;
-2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;*;;;
+2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;;;;
2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;;
2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;;
2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;;
@@ -7259,9 +7969,9 @@
2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;;
2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;;
2388;HELM SYMBOL;So;0;ON;;;;;N;;;;;
-2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;pause;;;
-238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;break;;;
-238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;escape;;;
+2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;;;;
+238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;;;;
+238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;;;;
238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;;
238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;;
238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;;
@@ -7342,18 +8052,37 @@
23D9;METRICAL PENTASEME;So;0;ON;;;;;N;;;;;
23DA;EARTH GROUND;So;0;ON;;;;;N;;;;;
23DB;FUSE;So;0;ON;;;;;N;;;;;
-23DC;TOP PARENTHESIS;Sm;0;ON;;;;;N;;mathematical use;;;
-23DD;BOTTOM PARENTHESIS;Sm;0;ON;;;;;N;;mathematical use;;;
-23DE;TOP CURLY BRACKET;Sm;0;ON;;;;;N;;mathematical use;;;
-23DF;BOTTOM CURLY BRACKET;Sm;0;ON;;;;;N;;mathematical use;;;
-23E0;TOP TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;mathematical use;;;
-23E1;BOTTOM TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;mathematical use;;;
+23DC;TOP PARENTHESIS;Sm;0;ON;;;;;N;;;;;
+23DD;BOTTOM PARENTHESIS;Sm;0;ON;;;;;N;;;;;
+23DE;TOP CURLY BRACKET;Sm;0;ON;;;;;N;;;;;
+23DF;BOTTOM CURLY BRACKET;Sm;0;ON;;;;;N;;;;;
+23E0;TOP TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;;;;
+23E1;BOTTOM TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;;;;
23E2;WHITE TRAPEZIUM;So;0;ON;;;;;N;;;;;
23E3;BENZENE RING WITH CIRCLE;So;0;ON;;;;;N;;;;;
23E4;STRAIGHTNESS;So;0;ON;;;;;N;;;;;
23E5;FLATNESS;So;0;ON;;;;;N;;;;;
23E6;AC CURRENT;So;0;ON;;;;;N;;;;;
23E7;ELECTRICAL INTERSECTION;So;0;ON;;;;;N;;;;;
+23E8;DECIMAL EXPONENT SYMBOL;So;0;ON;;;;;N;;;;;
+23E9;BLACK RIGHT-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;;
+23EA;BLACK LEFT-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;;
+23EB;BLACK UP-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;;
+23EC;BLACK DOWN-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;;
+23ED;BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
+23EE;BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
+23EF;BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR;So;0;ON;;;;;N;;;;;
+23F0;ALARM CLOCK;So;0;ON;;;;;N;;;;;
+23F1;STOPWATCH;So;0;ON;;;;;N;;;;;
+23F2;TIMER CLOCK;So;0;ON;;;;;N;;;;;
+23F3;HOURGLASS WITH FLOWING SAND;So;0;ON;;;;;N;;;;;
+23F4;BLACK MEDIUM LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F5;BLACK MEDIUM RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F6;BLACK MEDIUM UP-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F7;BLACK MEDIUM DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F8;DOUBLE VERTICAL BAR;So;0;ON;;;;;N;;;;;
+23F9;BLACK SQUARE FOR STOP;So;0;ON;;;;;N;;;;;
+23FA;BLACK CIRCLE FOR RECORD;So;0;ON;;;;;N;;;;;
2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;;
2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;;
2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;;
@@ -7935,13 +8664,13 @@
2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
2672;UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;;
-2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;pete;;;
-2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;hdpe;;;
-2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;pvc;;;
-2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;ldpe;;;
-2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;pp;;;
-2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;ps;;;
-2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;other;;;
+2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;;;;
+2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;;;;
+2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;;;;
+2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;;;;
+2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;;;;
+2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;;;;
+2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;;;;
267A;RECYCLING SYMBOL FOR GENERIC MATERIALS;So;0;ON;;;;;N;;;;;
267B;BLACK UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;;
267C;RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;;
@@ -7978,6 +8707,8 @@
269B;ATOM SYMBOL;So;0;ON;;;;;N;;;;;
269C;FLEUR-DE-LIS;So;0;ON;;;;;N;;;;;
269D;OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;;
+269E;THREE LINES CONVERGING RIGHT;So;0;ON;;;;;N;;;;;
+269F;THREE LINES CONVERGING LEFT;So;0;ON;;;;;N;;;;;
26A0;WARNING SIGN;So;0;ON;;;;;N;;;;;
26A1;HIGH VOLTAGE SIGN;So;0;ON;;;;;N;;;;;
26A2;DOUBLED FEMALE SIGN;So;0;ON;;;;;N;;;;;
@@ -8007,18 +8738,85 @@
26BA;SEMISEXTILE;So;0;ON;;;;;N;;;;;
26BB;QUINCUNX;So;0;ON;;;;;N;;;;;
26BC;SESQUIQUADRATE;So;0;ON;;;;;N;;;;;
+26BD;SOCCER BALL;So;0;ON;;;;;N;;;;;
+26BE;BASEBALL;So;0;ON;;;;;N;;;;;
+26BF;SQUARED KEY;So;0;ON;;;;;N;;;;;
26C0;WHITE DRAUGHTS MAN;So;0;ON;;;;;N;;;;;
26C1;WHITE DRAUGHTS KING;So;0;ON;;;;;N;;;;;
26C2;BLACK DRAUGHTS MAN;So;0;ON;;;;;N;;;;;
26C3;BLACK DRAUGHTS KING;So;0;ON;;;;;N;;;;;
+26C4;SNOWMAN WITHOUT SNOW;So;0;ON;;;;;N;;;;;
+26C5;SUN BEHIND CLOUD;So;0;ON;;;;;N;;;;;
+26C6;RAIN;So;0;ON;;;;;N;;;;;
+26C7;BLACK SNOWMAN;So;0;ON;;;;;N;;;;;
+26C8;THUNDER CLOUD AND RAIN;So;0;ON;;;;;N;;;;;
+26C9;TURNED WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;;
+26CA;TURNED BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;;
+26CB;WHITE DIAMOND IN SQUARE;So;0;ON;;;;;N;;;;;
+26CC;CROSSING LANES;So;0;ON;;;;;N;;;;;
+26CD;DISABLED CAR;So;0;ON;;;;;N;;;;;
+26CE;OPHIUCHUS;So;0;ON;;;;;N;;;;;
+26CF;PICK;So;0;ON;;;;;N;;;;;
+26D0;CAR SLIDING;So;0;ON;;;;;N;;;;;
+26D1;HELMET WITH WHITE CROSS;So;0;ON;;;;;N;;;;;
+26D2;CIRCLED CROSSING LANES;So;0;ON;;;;;N;;;;;
+26D3;CHAINS;So;0;ON;;;;;N;;;;;
+26D4;NO ENTRY;So;0;ON;;;;;N;;;;;
+26D5;ALTERNATE ONE-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;;
+26D6;BLACK TWO-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;;
+26D7;WHITE TWO-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;;
+26D8;BLACK LEFT LANE MERGE;So;0;ON;;;;;N;;;;;
+26D9;WHITE LEFT LANE MERGE;So;0;ON;;;;;N;;;;;
+26DA;DRIVE SLOW SIGN;So;0;ON;;;;;N;;;;;
+26DB;HEAVY WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+26DC;LEFT CLOSED ENTRY;So;0;ON;;;;;N;;;;;
+26DD;SQUARED SALTIRE;So;0;ON;;;;;N;;;;;
+26DE;FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE;So;0;ON;;;;;N;;;;;
+26DF;BLACK TRUCK;So;0;ON;;;;;N;;;;;
+26E0;RESTRICTED LEFT ENTRY-1;So;0;ON;;;;;N;;;;;
+26E1;RESTRICTED LEFT ENTRY-2;So;0;ON;;;;;N;;;;;
+26E2;ASTRONOMICAL SYMBOL FOR URANUS;So;0;ON;;;;;N;;;;;
+26E3;HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE;So;0;ON;;;;;N;;;;;
+26E4;PENTAGRAM;So;0;ON;;;;;N;;;;;
+26E5;RIGHT-HANDED INTERLACED PENTAGRAM;So;0;ON;;;;;N;;;;;
+26E6;LEFT-HANDED INTERLACED PENTAGRAM;So;0;ON;;;;;N;;;;;
+26E7;INVERTED PENTAGRAM;So;0;ON;;;;;N;;;;;
+26E8;BLACK CROSS ON SHIELD;So;0;ON;;;;;N;;;;;
+26E9;SHINTO SHRINE;So;0;ON;;;;;N;;;;;
+26EA;CHURCH;So;0;ON;;;;;N;;;;;
+26EB;CASTLE;So;0;ON;;;;;N;;;;;
+26EC;HISTORIC SITE;So;0;ON;;;;;N;;;;;
+26ED;GEAR WITHOUT HUB;So;0;ON;;;;;N;;;;;
+26EE;GEAR WITH HANDLES;So;0;ON;;;;;N;;;;;
+26EF;MAP SYMBOL FOR LIGHTHOUSE;So;0;ON;;;;;N;;;;;
+26F0;MOUNTAIN;So;0;ON;;;;;N;;;;;
+26F1;UMBRELLA ON GROUND;So;0;ON;;;;;N;;;;;
+26F2;FOUNTAIN;So;0;ON;;;;;N;;;;;
+26F3;FLAG IN HOLE;So;0;ON;;;;;N;;;;;
+26F4;FERRY;So;0;ON;;;;;N;;;;;
+26F5;SAILBOAT;So;0;ON;;;;;N;;;;;
+26F6;SQUARE FOUR CORNERS;So;0;ON;;;;;N;;;;;
+26F7;SKIER;So;0;ON;;;;;N;;;;;
+26F8;ICE SKATE;So;0;ON;;;;;N;;;;;
+26F9;PERSON WITH BALL;So;0;ON;;;;;N;;;;;
+26FA;TENT;So;0;ON;;;;;N;;;;;
+26FB;JAPANESE BANK SYMBOL;So;0;ON;;;;;N;;;;;
+26FC;HEADSTONE GRAVEYARD SYMBOL;So;0;ON;;;;;N;;;;;
+26FD;FUEL PUMP;So;0;ON;;;;;N;;;;;
+26FE;CUP ON BLACK SQUARE;So;0;ON;;;;;N;;;;;
+26FF;WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE;So;0;ON;;;;;N;;;;;
+2700;BLACK SAFETY SCISSORS;So;0;ON;;;;;N;;;;;
2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;;
+2705;WHITE HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;;
2707;TAPE DRIVE;So;0;ON;;;;;N;;;;;
2708;AIRPLANE;So;0;ON;;;;;N;;;;;
2709;ENVELOPE;So;0;ON;;;;;N;;;;;
+270A;RAISED FIST;So;0;ON;;;;;N;;;;;
+270B;RAISED HAND;So;0;ON;;;;;N;;;;;
270C;VICTORY HAND;So;0;ON;;;;;N;;;;;
270D;WRITING HAND;So;0;ON;;;;;N;;;;;
270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
@@ -8047,6 +8845,7 @@
2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
+2728;SPARKLES;So;0;ON;;;;;N;;;;;
2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;;
272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;;
272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;;
@@ -8082,12 +8881,18 @@
2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
+274C;CROSS MARK;So;0;ON;;;;;N;;;;;
274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+274E;NEGATIVE SQUARED CROSS MARK;So;0;ON;;;;;N;;;;;
274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2753;BLACK QUESTION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2754;WHITE QUESTION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2755;WHITE EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;;
+2757;HEAVY EXCLAMATION MARK SYMBOL;So;0;ON;;;;;N;;;;;
2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;;
2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;;
275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;;
@@ -8095,6 +8900,8 @@
275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275F;HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2760;HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;;
2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
@@ -8147,6 +8954,9 @@
2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;;
2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;;
2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;;
+2795;HEAVY PLUS SIGN;So;0;ON;;;;;N;;;;;
+2796;HEAVY MINUS SIGN;So;0;ON;;;;;N;;;;;
+2797;HEAVY DIVISION SIGN;So;0;ON;;;;;N;;;;;
2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;;
2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;;
279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;;
@@ -8171,6 +8981,7 @@
27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27B0;CURLY LOOP;So;0;ON;;;;;N;;;;;
27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;;
27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;;
@@ -8185,6 +8996,7 @@
27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;;
27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;;
27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;;
+27BF;DOUBLE CURLY LOOP;So;0;ON;;;;;N;;;;;
27C0;THREE DIMENSIONAL ANGLE;Sm;0;ON;;;;;Y;;;;;
27C1;WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE;Sm;0;ON;;;;;N;;;;;
27C2;PERPENDICULAR;Sm;0;ON;;;;;N;;;;;
@@ -8196,7 +9008,11 @@
27C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;;
27C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;;
27CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
+27CB;MATHEMATICAL RISING DIAGONAL;Sm;0;ON;;;;;Y;;;;;
27CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;;
+27CD;MATHEMATICAL FALLING DIAGONAL;Sm;0;ON;;;;;Y;;;;;
+27CE;SQUARED LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+27CF;SQUARED LOGICAL OR;Sm;0;ON;;;;;N;;;;;
27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;;
27D1;AND WITH DOT;Sm;0;ON;;;;;N;;;;;
27D2;ELEMENT OF OPENING UPWARDS;Sm;0;ON;;;;;N;;;;;
@@ -8977,8 +9793,8 @@
2AD9;ELEMENT OF OPENING DOWNWARDS;Sm;0;ON;;;;;N;;;;;
2ADA;PITCHFORK WITH TEE TOP;Sm;0;ON;;;;;N;;;;;
2ADB;TRANSVERSAL INTERSECTION;Sm;0;ON;;;;;N;;;;;
-2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;not independent;;;
-2ADD;NONFORKING;Sm;0;ON;;;;;N;;independent;;;
+2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;;;;
+2ADD;NONFORKING;Sm;0;ON;;;;;N;;;;;
2ADE;SHORT LEFT TACK;Sm;0;ON;;;;;Y;;;;;
2ADF;SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;;
2AE0;SHORT UP TACK;Sm;0;ON;;;;;N;;;;;
@@ -9090,11 +9906,135 @@
2B4A;LEFTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
2B4B;LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
2B4C;RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
+2B4D;DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW;So;0;ON;;;;;N;;;;;
+2B4E;SHORT SLANTED NORTH ARROW;So;0;ON;;;;;N;;;;;
+2B4F;SHORT BACKSLANTED SOUTH ARROW;So;0;ON;;;;;N;;;;;
2B50;WHITE MEDIUM STAR;So;0;ON;;;;;N;;;;;
2B51;BLACK SMALL STAR;So;0;ON;;;;;N;;;;;
2B52;WHITE SMALL STAR;So;0;ON;;;;;N;;;;;
2B53;BLACK RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;;
2B54;WHITE RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;;
+2B55;HEAVY LARGE CIRCLE;So;0;ON;;;;;N;;;;;
+2B56;HEAVY OVAL WITH OVAL INSIDE;So;0;ON;;;;;N;;;;;
+2B57;HEAVY CIRCLE WITH CIRCLE INSIDE;So;0;ON;;;;;N;;;;;
+2B58;HEAVY CIRCLE;So;0;ON;;;;;N;;;;;
+2B59;HEAVY CIRCLED SALTIRE;So;0;ON;;;;;N;;;;;
+2B5A;SLANTED NORTH ARROW WITH HOOKED HEAD;So;0;ON;;;;;N;;;;;
+2B5B;BACKSLANTED SOUTH ARROW WITH HOOKED TAIL;So;0;ON;;;;;N;;;;;
+2B5C;SLANTED NORTH ARROW WITH HORIZONTAL TAIL;So;0;ON;;;;;N;;;;;
+2B5D;BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL;So;0;ON;;;;;N;;;;;
+2B5E;BENT ARROW POINTING DOWNWARDS THEN NORTH EAST;So;0;ON;;;;;N;;;;;
+2B5F;SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST;So;0;ON;;;;;N;;;;;
+2B60;LEFTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B61;UPWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B62;RIGHTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B63;DOWNWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B64;LEFT RIGHT TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B65;UP DOWN TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B66;NORTH WEST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B67;NORTH EAST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B68;SOUTH EAST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B69;SOUTH WEST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B6A;LEFTWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6B;UPWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6C;RIGHTWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6D;DOWNWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6E;CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+2B6F;ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+2B70;LEFTWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B71;UPWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B72;RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B73;DOWNWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B76;NORTH WEST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B77;NORTH EAST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B78;SOUTH EAST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B79;SOUTH WEST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B7A;LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7B;UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7C;RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7D;DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7E;HORIZONTAL TAB KEY;So;0;ON;;;;;N;;;;;
+2B7F;VERTICAL TAB KEY;So;0;ON;;;;;N;;;;;
+2B80;LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B81;UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B82;RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B83;DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B84;LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B85;UPWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B86;RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B87;DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B88;LEFTWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B89;UPWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B8A;RIGHTWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B8B;DOWNWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B8C;ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B8D;ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B8E;ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B8F;ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B90;RETURN LEFT;So;0;ON;;;;;N;;;;;
+2B91;RETURN RIGHT;So;0;ON;;;;;N;;;;;
+2B92;NEWLINE LEFT;So;0;ON;;;;;N;;;;;
+2B93;NEWLINE RIGHT;So;0;ON;;;;;N;;;;;
+2B94;FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE;So;0;ON;;;;;N;;;;;
+2B95;RIGHTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B98;THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B99;THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9A;THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9B;THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9C;BLACK LEFTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9D;BLACK UPWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9E;BLACK RIGHTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9F;BLACK DOWNWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2BA0;DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS;So;0;ON;;;;;N;;;;;
+2BA1;DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS;So;0;ON;;;;;N;;;;;
+2BA2;UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS;So;0;ON;;;;;N;;;;;
+2BA3;UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS;So;0;ON;;;;;N;;;;;
+2BA4;LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS;So;0;ON;;;;;N;;;;;
+2BA5;RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS;So;0;ON;;;;;N;;;;;
+2BA6;LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
+2BA7;RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
+2BA8;BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BA9;BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAA;BLACK CURVED UPWARDS AND LEFTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAB;BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAC;BLACK CURVED LEFTWARDS AND UPWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAD;BLACK CURVED RIGHTWARDS AND UPWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAE;BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAF;BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BB0;RIBBON ARROW DOWN LEFT;So;0;ON;;;;;N;;;;;
+2BB1;RIBBON ARROW DOWN RIGHT;So;0;ON;;;;;N;;;;;
+2BB2;RIBBON ARROW UP LEFT;So;0;ON;;;;;N;;;;;
+2BB3;RIBBON ARROW UP RIGHT;So;0;ON;;;;;N;;;;;
+2BB4;RIBBON ARROW LEFT UP;So;0;ON;;;;;N;;;;;
+2BB5;RIBBON ARROW RIGHT UP;So;0;ON;;;;;N;;;;;
+2BB6;RIBBON ARROW LEFT DOWN;So;0;ON;;;;;N;;;;;
+2BB7;RIBBON ARROW RIGHT DOWN;So;0;ON;;;;;N;;;;;
+2BB8;UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
+2BB9;UP ARROWHEAD IN A RECTANGLE BOX;So;0;ON;;;;;N;;;;;
+2BBD;BALLOT BOX WITH LIGHT X;So;0;ON;;;;;N;;;;;
+2BBE;CIRCLED X;So;0;ON;;;;;N;;;;;
+2BBF;CIRCLED BOLD X;So;0;ON;;;;;N;;;;;
+2BC0;BLACK SQUARE CENTRED;So;0;ON;;;;;N;;;;;
+2BC1;BLACK DIAMOND CENTRED;So;0;ON;;;;;N;;;;;
+2BC2;TURNED BLACK PENTAGON;So;0;ON;;;;;N;;;;;
+2BC3;HORIZONTAL BLACK OCTAGON;So;0;ON;;;;;N;;;;;
+2BC4;BLACK OCTAGON;So;0;ON;;;;;N;;;;;
+2BC5;BLACK MEDIUM UP-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC6;BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC7;BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC8;BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BCA;TOP HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+2BCB;BOTTOM HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+2BCC;LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;;
+2BCD;ROTATED LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;;
+2BCE;WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;;
+2BCF;ROTATED WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;;
+2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;;
+2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;;
+2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
@@ -9205,6 +10145,7 @@
2C6D;LATIN CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;0251;
2C6E;LATIN CAPITAL LETTER M WITH HOOK;Lu;0;L;;;;;N;;;;0271;
2C6F;LATIN CAPITAL LETTER TURNED A;Lu;0;L;;;;;N;;;;0250;
+2C70;LATIN CAPITAL LETTER TURNED ALPHA;Lu;0;L;;;;;N;;;;0252;
2C71;LATIN SMALL LETTER V WITH RIGHT HOOK;Ll;0;L;;;;;N;;;;;
2C72;LATIN CAPITAL LETTER W WITH HOOK;Lu;0;L;;;;;N;;;;2C73;
2C73;LATIN SMALL LETTER W WITH HOOK;Ll;0;L;;;;;N;;;2C72;;2C72
@@ -9216,8 +10157,10 @@
2C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;;
2C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;;
2C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;;
-2C7C;LATIN SUBSCRIPT SMALL LETTER J;Ll;0;L;<sub> 006A;;;;N;;;;;
+2C7C;LATIN SUBSCRIPT SMALL LETTER J;Lm;0;L;<sub> 006A;;;;N;;;;;
2C7D;MODIFIER LETTER CAPITAL V;Lm;0;L;<super> 0056;;;;N;;;;;
+2C7E;LATIN CAPITAL LETTER S WITH SWASH TAIL;Lu;0;L;;;;;N;;;;023F;
+2C7F;LATIN CAPITAL LETTER Z WITH SWASH TAIL;Lu;0;L;;;;;N;;;;0240;
2C80;COPTIC CAPITAL LETTER ALFA;Lu;0;L;;;;;N;;;;2C81;
2C81;COPTIC SMALL LETTER ALFA;Ll;0;L;;;;;N;;;2C80;;2C80
2C82;COPTIC CAPITAL LETTER VIDA;Lu;0;L;;;;;N;;;;2C83;
@@ -9325,6 +10268,15 @@
2CE8;COPTIC SYMBOL TAU RO;So;0;ON;;;;;N;;;;;
2CE9;COPTIC SYMBOL KHI RO;So;0;ON;;;;;N;;;;;
2CEA;COPTIC SYMBOL SHIMA SIMA;So;0;ON;;;;;N;;;;;
+2CEB;COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI;Lu;0;L;;;;;N;;;;2CEC;
+2CEC;COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI;Ll;0;L;;;;;N;;;2CEB;;2CEB
+2CED;COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA;Lu;0;L;;;;;N;;;;2CEE;
+2CEE;COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA;Ll;0;L;;;;;N;;;2CED;;2CED
+2CEF;COPTIC COMBINING NI ABOVE;Mn;230;NSM;;;;;N;;;;;
+2CF0;COPTIC COMBINING SPIRITUS ASPER;Mn;230;NSM;;;;;N;;;;;
+2CF1;COPTIC COMBINING SPIRITUS LENIS;Mn;230;NSM;;;;;N;;;;;
+2CF2;COPTIC CAPITAL LETTER BOHAIRIC KHEI;Lu;0;L;;;;;N;;;;2CF3;
+2CF3;COPTIC SMALL LETTER BOHAIRIC KHEI;Ll;0;L;;;;;N;;;2CF2;;2CF2
2CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;;
2CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
2CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
@@ -9332,44 +10284,46 @@
2CFD;COPTIC FRACTION ONE HALF;No;0;ON;;;;1/2;N;;;;;
2CFE;COPTIC FULL STOP;Po;0;ON;;;;;N;;;;;
2CFF;COPTIC MORPHOLOGICAL DIVIDER;Po;0;ON;;;;;N;;;;;
-2D00;GEORGIAN SMALL LETTER AN;Ll;0;L;;;;;N;;Khutsuri;10A0;;10A0
-2D01;GEORGIAN SMALL LETTER BAN;Ll;0;L;;;;;N;;Khutsuri;10A1;;10A1
-2D02;GEORGIAN SMALL LETTER GAN;Ll;0;L;;;;;N;;Khutsuri;10A2;;10A2
-2D03;GEORGIAN SMALL LETTER DON;Ll;0;L;;;;;N;;Khutsuri;10A3;;10A3
-2D04;GEORGIAN SMALL LETTER EN;Ll;0;L;;;;;N;;Khutsuri;10A4;;10A4
-2D05;GEORGIAN SMALL LETTER VIN;Ll;0;L;;;;;N;;Khutsuri;10A5;;10A5
-2D06;GEORGIAN SMALL LETTER ZEN;Ll;0;L;;;;;N;;Khutsuri;10A6;;10A6
-2D07;GEORGIAN SMALL LETTER TAN;Ll;0;L;;;;;N;;Khutsuri;10A7;;10A7
-2D08;GEORGIAN SMALL LETTER IN;Ll;0;L;;;;;N;;Khutsuri;10A8;;10A8
-2D09;GEORGIAN SMALL LETTER KAN;Ll;0;L;;;;;N;;Khutsuri;10A9;;10A9
-2D0A;GEORGIAN SMALL LETTER LAS;Ll;0;L;;;;;N;;Khutsuri;10AA;;10AA
-2D0B;GEORGIAN SMALL LETTER MAN;Ll;0;L;;;;;N;;Khutsuri;10AB;;10AB
-2D0C;GEORGIAN SMALL LETTER NAR;Ll;0;L;;;;;N;;Khutsuri;10AC;;10AC
-2D0D;GEORGIAN SMALL LETTER ON;Ll;0;L;;;;;N;;Khutsuri;10AD;;10AD
-2D0E;GEORGIAN SMALL LETTER PAR;Ll;0;L;;;;;N;;Khutsuri;10AE;;10AE
-2D0F;GEORGIAN SMALL LETTER ZHAR;Ll;0;L;;;;;N;;Khutsuri;10AF;;10AF
-2D10;GEORGIAN SMALL LETTER RAE;Ll;0;L;;;;;N;;Khutsuri;10B0;;10B0
-2D11;GEORGIAN SMALL LETTER SAN;Ll;0;L;;;;;N;;Khutsuri;10B1;;10B1
-2D12;GEORGIAN SMALL LETTER TAR;Ll;0;L;;;;;N;;Khutsuri;10B2;;10B2
-2D13;GEORGIAN SMALL LETTER UN;Ll;0;L;;;;;N;;Khutsuri;10B3;;10B3
-2D14;GEORGIAN SMALL LETTER PHAR;Ll;0;L;;;;;N;;Khutsuri;10B4;;10B4
-2D15;GEORGIAN SMALL LETTER KHAR;Ll;0;L;;;;;N;;Khutsuri;10B5;;10B5
-2D16;GEORGIAN SMALL LETTER GHAN;Ll;0;L;;;;;N;;Khutsuri;10B6;;10B6
-2D17;GEORGIAN SMALL LETTER QAR;Ll;0;L;;;;;N;;Khutsuri;10B7;;10B7
-2D18;GEORGIAN SMALL LETTER SHIN;Ll;0;L;;;;;N;;Khutsuri;10B8;;10B8
-2D19;GEORGIAN SMALL LETTER CHIN;Ll;0;L;;;;;N;;Khutsuri;10B9;;10B9
-2D1A;GEORGIAN SMALL LETTER CAN;Ll;0;L;;;;;N;;Khutsuri;10BA;;10BA
-2D1B;GEORGIAN SMALL LETTER JIL;Ll;0;L;;;;;N;;Khutsuri;10BB;;10BB
-2D1C;GEORGIAN SMALL LETTER CIL;Ll;0;L;;;;;N;;Khutsuri;10BC;;10BC
-2D1D;GEORGIAN SMALL LETTER CHAR;Ll;0;L;;;;;N;;Khutsuri;10BD;;10BD
-2D1E;GEORGIAN SMALL LETTER XAN;Ll;0;L;;;;;N;;Khutsuri;10BE;;10BE
-2D1F;GEORGIAN SMALL LETTER JHAN;Ll;0;L;;;;;N;;Khutsuri;10BF;;10BF
-2D20;GEORGIAN SMALL LETTER HAE;Ll;0;L;;;;;N;;Khutsuri;10C0;;10C0
-2D21;GEORGIAN SMALL LETTER HE;Ll;0;L;;;;;N;;Khutsuri;10C1;;10C1
-2D22;GEORGIAN SMALL LETTER HIE;Ll;0;L;;;;;N;;Khutsuri;10C2;;10C2
-2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;Khutsuri;10C3;;10C3
-2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;Khutsuri;10C4;;10C4
-2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;Khutsuri;10C5;;10C5
+2D00;GEORGIAN SMALL LETTER AN;Ll;0;L;;;;;N;;;10A0;;10A0
+2D01;GEORGIAN SMALL LETTER BAN;Ll;0;L;;;;;N;;;10A1;;10A1
+2D02;GEORGIAN SMALL LETTER GAN;Ll;0;L;;;;;N;;;10A2;;10A2
+2D03;GEORGIAN SMALL LETTER DON;Ll;0;L;;;;;N;;;10A3;;10A3
+2D04;GEORGIAN SMALL LETTER EN;Ll;0;L;;;;;N;;;10A4;;10A4
+2D05;GEORGIAN SMALL LETTER VIN;Ll;0;L;;;;;N;;;10A5;;10A5
+2D06;GEORGIAN SMALL LETTER ZEN;Ll;0;L;;;;;N;;;10A6;;10A6
+2D07;GEORGIAN SMALL LETTER TAN;Ll;0;L;;;;;N;;;10A7;;10A7
+2D08;GEORGIAN SMALL LETTER IN;Ll;0;L;;;;;N;;;10A8;;10A8
+2D09;GEORGIAN SMALL LETTER KAN;Ll;0;L;;;;;N;;;10A9;;10A9
+2D0A;GEORGIAN SMALL LETTER LAS;Ll;0;L;;;;;N;;;10AA;;10AA
+2D0B;GEORGIAN SMALL LETTER MAN;Ll;0;L;;;;;N;;;10AB;;10AB
+2D0C;GEORGIAN SMALL LETTER NAR;Ll;0;L;;;;;N;;;10AC;;10AC
+2D0D;GEORGIAN SMALL LETTER ON;Ll;0;L;;;;;N;;;10AD;;10AD
+2D0E;GEORGIAN SMALL LETTER PAR;Ll;0;L;;;;;N;;;10AE;;10AE
+2D0F;GEORGIAN SMALL LETTER ZHAR;Ll;0;L;;;;;N;;;10AF;;10AF
+2D10;GEORGIAN SMALL LETTER RAE;Ll;0;L;;;;;N;;;10B0;;10B0
+2D11;GEORGIAN SMALL LETTER SAN;Ll;0;L;;;;;N;;;10B1;;10B1
+2D12;GEORGIAN SMALL LETTER TAR;Ll;0;L;;;;;N;;;10B2;;10B2
+2D13;GEORGIAN SMALL LETTER UN;Ll;0;L;;;;;N;;;10B3;;10B3
+2D14;GEORGIAN SMALL LETTER PHAR;Ll;0;L;;;;;N;;;10B4;;10B4
+2D15;GEORGIAN SMALL LETTER KHAR;Ll;0;L;;;;;N;;;10B5;;10B5
+2D16;GEORGIAN SMALL LETTER GHAN;Ll;0;L;;;;;N;;;10B6;;10B6
+2D17;GEORGIAN SMALL LETTER QAR;Ll;0;L;;;;;N;;;10B7;;10B7
+2D18;GEORGIAN SMALL LETTER SHIN;Ll;0;L;;;;;N;;;10B8;;10B8
+2D19;GEORGIAN SMALL LETTER CHIN;Ll;0;L;;;;;N;;;10B9;;10B9
+2D1A;GEORGIAN SMALL LETTER CAN;Ll;0;L;;;;;N;;;10BA;;10BA
+2D1B;GEORGIAN SMALL LETTER JIL;Ll;0;L;;;;;N;;;10BB;;10BB
+2D1C;GEORGIAN SMALL LETTER CIL;Ll;0;L;;;;;N;;;10BC;;10BC
+2D1D;GEORGIAN SMALL LETTER CHAR;Ll;0;L;;;;;N;;;10BD;;10BD
+2D1E;GEORGIAN SMALL LETTER XAN;Ll;0;L;;;;;N;;;10BE;;10BE
+2D1F;GEORGIAN SMALL LETTER JHAN;Ll;0;L;;;;;N;;;10BF;;10BF
+2D20;GEORGIAN SMALL LETTER HAE;Ll;0;L;;;;;N;;;10C0;;10C0
+2D21;GEORGIAN SMALL LETTER HE;Ll;0;L;;;;;N;;;10C1;;10C1
+2D22;GEORGIAN SMALL LETTER HIE;Ll;0;L;;;;;N;;;10C2;;10C2
+2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;;10C3;;10C3
+2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;;10C4;;10C4
+2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;;10C5;;10C5
+2D27;GEORGIAN SMALL LETTER YN;Ll;0;L;;;;;N;;;10C7;;10C7
+2D2D;GEORGIAN SMALL LETTER AEN;Ll;0;L;;;;;N;;;10CD;;10CD
2D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;;
2D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;;
2D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;;
@@ -9386,7 +10340,7 @@
2D3D;TIFINAGH LETTER YAK;Lo;0;L;;;;;N;;;;;
2D3E;TIFINAGH LETTER TUAREG YAK;Lo;0;L;;;;;N;;;;;
2D3F;TIFINAGH LETTER YAKHH;Lo;0;L;;;;;N;;;;;
-2D40;TIFINAGH LETTER YAH;Lo;0;L;;;;;N;;Tuareg yab;;;
+2D40;TIFINAGH LETTER YAH;Lo;0;L;;;;;N;;;;;
2D41;TIFINAGH LETTER BERBER ACADEMY YAH;Lo;0;L;;;;;N;;;;;
2D42;TIFINAGH LETTER TUAREG YAH;Lo;0;L;;;;;N;;;;;
2D43;TIFINAGH LETTER YAHH;Lo;0;L;;;;;N;;;;;
@@ -9405,12 +10359,12 @@
2D50;TIFINAGH LETTER TUAREG YAGN;Lo;0;L;;;;;N;;;;;
2D51;TIFINAGH LETTER TUAREG YANG;Lo;0;L;;;;;N;;;;;
2D52;TIFINAGH LETTER YAP;Lo;0;L;;;;;N;;;;;
-2D53;TIFINAGH LETTER YU;Lo;0;L;;;;;N;;Tuareg yaw;;;
+2D53;TIFINAGH LETTER YU;Lo;0;L;;;;;N;;;;;
2D54;TIFINAGH LETTER YAR;Lo;0;L;;;;;N;;;;;
2D55;TIFINAGH LETTER YARR;Lo;0;L;;;;;N;;;;;
2D56;TIFINAGH LETTER YAGH;Lo;0;L;;;;;N;;;;;
2D57;TIFINAGH LETTER TUAREG YAGH;Lo;0;L;;;;;N;;;;;
-2D58;TIFINAGH LETTER AYER YAGH;Lo;0;L;;;;;N;;Adrar yaj;;;
+2D58;TIFINAGH LETTER AYER YAGH;Lo;0;L;;;;;N;;;;;
2D59;TIFINAGH LETTER YAS;Lo;0;L;;;;;N;;;;;
2D5A;TIFINAGH LETTER YASS;Lo;0;L;;;;;N;;;;;
2D5B;TIFINAGH LETTER YASH;Lo;0;L;;;;;N;;;;;
@@ -9422,9 +10376,13 @@
2D61;TIFINAGH LETTER YAW;Lo;0;L;;;;;N;;;;;
2D62;TIFINAGH LETTER YAY;Lo;0;L;;;;;N;;;;;
2D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;;
-2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;harpoon yaz;;;
+2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;;;;
2D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;;
-2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;tamatart;;;
+2D66;TIFINAGH LETTER YE;Lo;0;L;;;;;N;;;;;
+2D67;TIFINAGH LETTER YO;Lo;0;L;;;;;N;;;;;
+2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;;;;
+2D70;TIFINAGH SEPARATOR MARK;Po;0;L;;;;;N;;;;;
+2D7F;TIFINAGH CONSONANT JOINER;Mn;9;NSM;;;;;N;;;;;
2D80;ETHIOPIC SYLLABLE LOA;Lo;0;L;;;;;N;;;;;
2D81;ETHIOPIC SYLLABLE MOA;Lo;0;L;;;;;N;;;;;
2D82;ETHIOPIC SYLLABLE ROA;Lo;0;L;;;;;N;;;;;
@@ -9585,6 +10543,24 @@
2E2E;REVERSED QUESTION MARK;Po;0;ON;;;;;N;;;;;
2E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;;
2E30;RING POINT;Po;0;ON;;;;;N;;;;;
+2E31;WORD SEPARATOR MIDDLE DOT;Po;0;ON;;;;;N;;;;;
+2E32;TURNED COMMA;Po;0;ON;;;;;N;;;;;
+2E33;RAISED DOT;Po;0;ON;;;;;N;;;;;
+2E34;RAISED COMMA;Po;0;ON;;;;;N;;;;;
+2E35;TURNED SEMICOLON;Po;0;ON;;;;;N;;;;;
+2E36;DAGGER WITH LEFT GUARD;Po;0;ON;;;;;N;;;;;
+2E37;DAGGER WITH RIGHT GUARD;Po;0;ON;;;;;N;;;;;
+2E38;TURNED DAGGER;Po;0;ON;;;;;N;;;;;
+2E39;TOP HALF SECTION SIGN;Po;0;ON;;;;;N;;;;;
+2E3A;TWO-EM DASH;Pd;0;ON;;;;;N;;;;;
+2E3B;THREE-EM DASH;Pd;0;ON;;;;;N;;;;;
+2E3C;STENOGRAPHIC FULL STOP;Po;0;ON;;;;;N;;;;;
+2E3D;VERTICAL SIX DOTS;Po;0;ON;;;;;N;;;;;
+2E3E;WIGGLY VERTICAL LINE;Po;0;ON;;;;;N;;;;;
+2E3F;CAPITULUM;Po;0;ON;;;;;N;;;;;
+2E40;DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;;
+2E41;REVERSED COMMA;Po;0;ON;;;;;N;;;;;
+2E42;DOUBLE LOW-REVERSED-9 QUOTATION MARK;Ps;0;ON;;;;;N;;;;;
2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
@@ -9972,8 +10948,8 @@
302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;;
302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;;
302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;;
-302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
-302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
+302E;HANGUL SINGLE DOT TONE MARK;Mc;224;L;;;;;N;;;;;
+302F;HANGUL DOUBLE DOT TONE MARK;Mc;224;L;;;;;N;;;;;
3030;WAVY DASH;Pd;0;ON;;;;;N;;;;;
3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;;
3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;;
@@ -10314,22 +11290,22 @@
318C;HANGUL LETTER YU-I;Lo;0;L;<compat> 1194;;;;N;HANGUL LETTER YUI;;;;
318D;HANGUL LETTER ARAEA;Lo;0;L;<compat> 119E;;;;N;HANGUL LETTER ALAE A;;;;
318E;HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;
-3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;;
-3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;;
-3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L;<super> 4E00;;;1;N;KAERITEN ITI;Kaeriten;;;
-3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L;<super> 4E8C;;;2;N;KAERITEN NI;Kaeriten;;;
-3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L;<super> 4E09;;;3;N;KAERITEN SAN;Kaeriten;;;
-3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L;<super> 56DB;;;4;N;KAERITEN SI;Kaeriten;;;
-3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L;<super> 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;;
-3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L;<super> 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;;
-3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L;<super> 4E0B;;;;N;KAERITEN GE;Kaeriten;;;
-3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L;<super> 7532;;;;N;KAERITEN KOU;Kaeriten;;;
-319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L;<super> 4E59;;;;N;KAERITEN OTU;Kaeriten;;;
-319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L;<super> 4E19;;;;N;KAERITEN HEI;Kaeriten;;;
-319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L;<super> 4E01;;;;N;KAERITEN TEI;Kaeriten;;;
-319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L;<super> 5929;;;;N;KAERITEN TEN;Kaeriten;;;
-319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L;<super> 5730;;;;N;KAERITEN TI;Kaeriten;;;
-319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L;<super> 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;;
+3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;;;;
+3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;;;;
+3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L;<super> 4E00;;;1;N;KAERITEN ITI;;;;
+3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L;<super> 4E8C;;;2;N;KAERITEN NI;;;;
+3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L;<super> 4E09;;;3;N;KAERITEN SAN;;;;
+3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L;<super> 56DB;;;4;N;KAERITEN SI;;;;
+3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L;<super> 4E0A;;;;N;KAERITEN ZYOU;;;;
+3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L;<super> 4E2D;;;;N;KAERITEN TYUU;;;;
+3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L;<super> 4E0B;;;;N;KAERITEN GE;;;;
+3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L;<super> 7532;;;;N;KAERITEN KOU;;;;
+319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L;<super> 4E59;;;;N;KAERITEN OTU;;;;
+319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L;<super> 4E19;;;;N;KAERITEN HEI;;;;
+319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L;<super> 4E01;;;;N;KAERITEN TEI;;;;
+319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L;<super> 5929;;;;N;KAERITEN TEN;;;;
+319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L;<super> 5730;;;;N;KAERITEN TI;;;;
+319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L;<super> 4EBA;;;;N;KAERITEN ZIN;;;;
31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;;
31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;;
31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;;
@@ -10354,6 +11330,9 @@
31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;;
31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;;
31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;;
+31B8;BOPOMOFO LETTER GH;Lo;0;L;;;;;N;;;;;
+31B9;BOPOMOFO LETTER LH;Lo;0;L;;;;;N;;;;;
+31BA;BOPOMOFO LETTER ZY;Lo;0;L;;;;;N;;;;;
31C0;CJK STROKE T;So;0;ON;;;;;N;;;;;
31C1;CJK STROKE WG;So;0;ON;;;;;N;;;;;
31C2;CJK STROKE XG;So;0;ON;;;;;N;;;;;
@@ -10473,6 +11452,18 @@
3241;PARENTHESIZED IDEOGRAPH REST;So;0;L;<compat> 0028 4F11 0029;;;;N;;;;;
3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L;<compat> 0028 81EA 0029;;;;N;;;;;
3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L;<compat> 0028 81F3 0029;;;;N;;;;;
+3244;CIRCLED IDEOGRAPH QUESTION;So;0;L;<circle> 554F;;;;N;;;;;
+3245;CIRCLED IDEOGRAPH KINDERGARTEN;So;0;L;<circle> 5E7C;;;;N;;;;;
+3246;CIRCLED IDEOGRAPH SCHOOL;So;0;L;<circle> 6587;;;;N;;;;;
+3247;CIRCLED IDEOGRAPH KOTO;So;0;L;<circle> 7B8F;;;;N;;;;;
+3248;CIRCLED NUMBER TEN ON BLACK SQUARE;No;0;L;;;;10;N;;;;;
+3249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;No;0;L;;;;20;N;;;;;
+324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;No;0;L;;;;30;N;;;;;
+324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;No;0;L;;;;40;N;;;;;
+324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;No;0;L;;;;50;N;;;;;
+324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;No;0;L;;;;60;N;;;;;
+324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;No;0;L;;;;70;N;;;;;
+324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;No;0;L;;;;80;N;;;;;
3250;PARTNERSHIP SIGN;So;0;ON;<square> 0050 0054 0045;;;;N;;;;;
3251;CIRCLED NUMBER TWENTY ONE;No;0;ON;<circle> 0032 0031;;;21;N;;;;;
3252;CIRCLED NUMBER TWENTY TWO;No;0;ON;<circle> 0032 0032;;;22;N;;;;;
@@ -10904,6 +11895,8 @@
33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L;<compat> 0033 0030 65E5;;;;N;;;;;
33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L;<compat> 0033 0031 65E5;;;;N;;;;;
33FF;SQUARE GAL;So;0;ON;<square> 0067 0061 006C;;;;N;;;;;
+3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
+4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
4DC0;HEXAGRAM FOR THE CREATIVE HEAVEN;So;0;ON;;;;;N;;;;;
4DC1;HEXAGRAM FOR THE RECEPTIVE EARTH;So;0;ON;;;;;N;;;;;
4DC2;HEXAGRAM FOR DIFFICULTY AT THE BEGINNING;So;0;ON;;;;;N;;;;;
@@ -10968,6 +11961,8 @@
4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;;
4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
+4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
+9FD5;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
@@ -12188,6 +13183,54 @@ A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;;
A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;;
A4C5;YI RADICAL NBIE;So;0;ON;;;;;N;;;;;
A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;;
+A4D0;LISU LETTER BA;Lo;0;L;;;;;N;;;;;
+A4D1;LISU LETTER PA;Lo;0;L;;;;;N;;;;;
+A4D2;LISU LETTER PHA;Lo;0;L;;;;;N;;;;;
+A4D3;LISU LETTER DA;Lo;0;L;;;;;N;;;;;
+A4D4;LISU LETTER TA;Lo;0;L;;;;;N;;;;;
+A4D5;LISU LETTER THA;Lo;0;L;;;;;N;;;;;
+A4D6;LISU LETTER GA;Lo;0;L;;;;;N;;;;;
+A4D7;LISU LETTER KA;Lo;0;L;;;;;N;;;;;
+A4D8;LISU LETTER KHA;Lo;0;L;;;;;N;;;;;
+A4D9;LISU LETTER JA;Lo;0;L;;;;;N;;;;;
+A4DA;LISU LETTER CA;Lo;0;L;;;;;N;;;;;
+A4DB;LISU LETTER CHA;Lo;0;L;;;;;N;;;;;
+A4DC;LISU LETTER DZA;Lo;0;L;;;;;N;;;;;
+A4DD;LISU LETTER TSA;Lo;0;L;;;;;N;;;;;
+A4DE;LISU LETTER TSHA;Lo;0;L;;;;;N;;;;;
+A4DF;LISU LETTER MA;Lo;0;L;;;;;N;;;;;
+A4E0;LISU LETTER NA;Lo;0;L;;;;;N;;;;;
+A4E1;LISU LETTER LA;Lo;0;L;;;;;N;;;;;
+A4E2;LISU LETTER SA;Lo;0;L;;;;;N;;;;;
+A4E3;LISU LETTER ZHA;Lo;0;L;;;;;N;;;;;
+A4E4;LISU LETTER ZA;Lo;0;L;;;;;N;;;;;
+A4E5;LISU LETTER NGA;Lo;0;L;;;;;N;;;;;
+A4E6;LISU LETTER HA;Lo;0;L;;;;;N;;;;;
+A4E7;LISU LETTER XA;Lo;0;L;;;;;N;;;;;
+A4E8;LISU LETTER HHA;Lo;0;L;;;;;N;;;;;
+A4E9;LISU LETTER FA;Lo;0;L;;;;;N;;;;;
+A4EA;LISU LETTER WA;Lo;0;L;;;;;N;;;;;
+A4EB;LISU LETTER SHA;Lo;0;L;;;;;N;;;;;
+A4EC;LISU LETTER YA;Lo;0;L;;;;;N;;;;;
+A4ED;LISU LETTER GHA;Lo;0;L;;;;;N;;;;;
+A4EE;LISU LETTER A;Lo;0;L;;;;;N;;;;;
+A4EF;LISU LETTER AE;Lo;0;L;;;;;N;;;;;
+A4F0;LISU LETTER E;Lo;0;L;;;;;N;;;;;
+A4F1;LISU LETTER EU;Lo;0;L;;;;;N;;;;;
+A4F2;LISU LETTER I;Lo;0;L;;;;;N;;;;;
+A4F3;LISU LETTER O;Lo;0;L;;;;;N;;;;;
+A4F4;LISU LETTER U;Lo;0;L;;;;;N;;;;;
+A4F5;LISU LETTER UE;Lo;0;L;;;;;N;;;;;
+A4F6;LISU LETTER UH;Lo;0;L;;;;;N;;;;;
+A4F7;LISU LETTER OE;Lo;0;L;;;;;N;;;;;
+A4F8;LISU LETTER TONE MYA TI;Lm;0;L;;;;;N;;;;;
+A4F9;LISU LETTER TONE NA PO;Lm;0;L;;;;;N;;;;;
+A4FA;LISU LETTER TONE MYA CYA;Lm;0;L;;;;;N;;;;;
+A4FB;LISU LETTER TONE MYA BO;Lm;0;L;;;;;N;;;;;
+A4FC;LISU LETTER TONE MYA NA;Lm;0;L;;;;;N;;;;;
+A4FD;LISU LETTER TONE MYA JEU;Lm;0;L;;;;;N;;;;;
+A4FE;LISU PUNCTUATION COMMA;Po;0;L;;;;;N;;;;;
+A4FF;LISU PUNCTUATION FULL STOP;Po;0;L;;;;;N;;;;;
A500;VAI SYLLABLE EE;Lo;0;L;;;;;N;;;;;
A501;VAI SYLLABLE EEN;Lo;0;L;;;;;N;;;;;
A502;VAI SYLLABLE HEE;Lo;0;L;;;;;N;;;;;
@@ -12520,6 +13563,8 @@ A65C;CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A65D;
A65D;CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A65C;;A65C
A65E;CYRILLIC CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;A65F;
A65F;CYRILLIC SMALL LETTER YN;Ll;0;L;;;;;N;;;A65E;;A65E
+A660;CYRILLIC CAPITAL LETTER REVERSED TSE;Lu;0;L;;;;;N;;;;A661;
+A661;CYRILLIC SMALL LETTER REVERSED TSE;Ll;0;L;;;;;N;;;A660;;A660
A662;CYRILLIC CAPITAL LETTER SOFT DE;Lu;0;L;;;;;N;;;;A663;
A663;CYRILLIC SMALL LETTER SOFT DE;Ll;0;L;;;;;N;;;A662;;A662
A664;CYRILLIC CAPITAL LETTER SOFT EL;Lu;0;L;;;;;N;;;;A665;
@@ -12538,6 +13583,14 @@ A670;COMBINING CYRILLIC TEN MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;;
+A674;COMBINING CYRILLIC LETTER UKRAINIAN IE;Mn;230;NSM;;;;;N;;;;;
+A675;COMBINING CYRILLIC LETTER I;Mn;230;NSM;;;;;N;;;;;
+A676;COMBINING CYRILLIC LETTER YI;Mn;230;NSM;;;;;N;;;;;
+A677;COMBINING CYRILLIC LETTER U;Mn;230;NSM;;;;;N;;;;;
+A678;COMBINING CYRILLIC LETTER HARD SIGN;Mn;230;NSM;;;;;N;;;;;
+A679;COMBINING CYRILLIC LETTER YERU;Mn;230;NSM;;;;;N;;;;;
+A67A;COMBINING CYRILLIC LETTER SOFT SIGN;Mn;230;NSM;;;;;N;;;;;
+A67B;COMBINING CYRILLIC LETTER OMEGA;Mn;230;NSM;;;;;N;;;;;
A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;;
A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;;
A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;;
@@ -12566,6 +13619,102 @@ A694;CYRILLIC CAPITAL LETTER HWE;Lu;0;L;;;;;N;;;;A695;
A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694
A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697;
A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696
+A698;CYRILLIC CAPITAL LETTER DOUBLE O;Lu;0;L;;;;;N;;;;A699;
+A699;CYRILLIC SMALL LETTER DOUBLE O;Ll;0;L;;;;;N;;;A698;;A698
+A69A;CYRILLIC CAPITAL LETTER CROSSED O;Lu;0;L;;;;;N;;;;A69B;
+A69B;CYRILLIC SMALL LETTER CROSSED O;Ll;0;L;;;;;N;;;A69A;;A69A
+A69C;MODIFIER LETTER CYRILLIC HARD SIGN;Lm;0;L;<super> 044A;;;;N;;;;;
+A69D;MODIFIER LETTER CYRILLIC SOFT SIGN;Lm;0;L;<super> 044C;;;;N;;;;;
+A69E;COMBINING CYRILLIC LETTER EF;Mn;230;NSM;;;;;N;;;;;
+A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;;
+A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;;
+A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;;
+A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;;
+A6A3;BAMUM LETTER KU;Lo;0;L;;;;;N;;;;;
+A6A4;BAMUM LETTER EE;Lo;0;L;;;;;N;;;;;
+A6A5;BAMUM LETTER REE;Lo;0;L;;;;;N;;;;;
+A6A6;BAMUM LETTER TAE;Lo;0;L;;;;;N;;;;;
+A6A7;BAMUM LETTER O;Lo;0;L;;;;;N;;;;;
+A6A8;BAMUM LETTER NYI;Lo;0;L;;;;;N;;;;;
+A6A9;BAMUM LETTER I;Lo;0;L;;;;;N;;;;;
+A6AA;BAMUM LETTER LA;Lo;0;L;;;;;N;;;;;
+A6AB;BAMUM LETTER PA;Lo;0;L;;;;;N;;;;;
+A6AC;BAMUM LETTER RII;Lo;0;L;;;;;N;;;;;
+A6AD;BAMUM LETTER RIEE;Lo;0;L;;;;;N;;;;;
+A6AE;BAMUM LETTER LEEEE;Lo;0;L;;;;;N;;;;;
+A6AF;BAMUM LETTER MEEEE;Lo;0;L;;;;;N;;;;;
+A6B0;BAMUM LETTER TAA;Lo;0;L;;;;;N;;;;;
+A6B1;BAMUM LETTER NDAA;Lo;0;L;;;;;N;;;;;
+A6B2;BAMUM LETTER NJAEM;Lo;0;L;;;;;N;;;;;
+A6B3;BAMUM LETTER M;Lo;0;L;;;;;N;;;;;
+A6B4;BAMUM LETTER SUU;Lo;0;L;;;;;N;;;;;
+A6B5;BAMUM LETTER MU;Lo;0;L;;;;;N;;;;;
+A6B6;BAMUM LETTER SHII;Lo;0;L;;;;;N;;;;;
+A6B7;BAMUM LETTER SI;Lo;0;L;;;;;N;;;;;
+A6B8;BAMUM LETTER SHEUX;Lo;0;L;;;;;N;;;;;
+A6B9;BAMUM LETTER SEUX;Lo;0;L;;;;;N;;;;;
+A6BA;BAMUM LETTER KYEE;Lo;0;L;;;;;N;;;;;
+A6BB;BAMUM LETTER KET;Lo;0;L;;;;;N;;;;;
+A6BC;BAMUM LETTER NUAE;Lo;0;L;;;;;N;;;;;
+A6BD;BAMUM LETTER NU;Lo;0;L;;;;;N;;;;;
+A6BE;BAMUM LETTER NJUAE;Lo;0;L;;;;;N;;;;;
+A6BF;BAMUM LETTER YOQ;Lo;0;L;;;;;N;;;;;
+A6C0;BAMUM LETTER SHU;Lo;0;L;;;;;N;;;;;
+A6C1;BAMUM LETTER YUQ;Lo;0;L;;;;;N;;;;;
+A6C2;BAMUM LETTER YA;Lo;0;L;;;;;N;;;;;
+A6C3;BAMUM LETTER NSHA;Lo;0;L;;;;;N;;;;;
+A6C4;BAMUM LETTER KEUX;Lo;0;L;;;;;N;;;;;
+A6C5;BAMUM LETTER PEUX;Lo;0;L;;;;;N;;;;;
+A6C6;BAMUM LETTER NJEE;Lo;0;L;;;;;N;;;;;
+A6C7;BAMUM LETTER NTEE;Lo;0;L;;;;;N;;;;;
+A6C8;BAMUM LETTER PUE;Lo;0;L;;;;;N;;;;;
+A6C9;BAMUM LETTER WUE;Lo;0;L;;;;;N;;;;;
+A6CA;BAMUM LETTER PEE;Lo;0;L;;;;;N;;;;;
+A6CB;BAMUM LETTER FEE;Lo;0;L;;;;;N;;;;;
+A6CC;BAMUM LETTER RU;Lo;0;L;;;;;N;;;;;
+A6CD;BAMUM LETTER LU;Lo;0;L;;;;;N;;;;;
+A6CE;BAMUM LETTER MI;Lo;0;L;;;;;N;;;;;
+A6CF;BAMUM LETTER NI;Lo;0;L;;;;;N;;;;;
+A6D0;BAMUM LETTER REUX;Lo;0;L;;;;;N;;;;;
+A6D1;BAMUM LETTER RAE;Lo;0;L;;;;;N;;;;;
+A6D2;BAMUM LETTER KEN;Lo;0;L;;;;;N;;;;;
+A6D3;BAMUM LETTER NGKWAEN;Lo;0;L;;;;;N;;;;;
+A6D4;BAMUM LETTER NGGA;Lo;0;L;;;;;N;;;;;
+A6D5;BAMUM LETTER NGA;Lo;0;L;;;;;N;;;;;
+A6D6;BAMUM LETTER SHO;Lo;0;L;;;;;N;;;;;
+A6D7;BAMUM LETTER PUAE;Lo;0;L;;;;;N;;;;;
+A6D8;BAMUM LETTER FU;Lo;0;L;;;;;N;;;;;
+A6D9;BAMUM LETTER FOM;Lo;0;L;;;;;N;;;;;
+A6DA;BAMUM LETTER WA;Lo;0;L;;;;;N;;;;;
+A6DB;BAMUM LETTER NA;Lo;0;L;;;;;N;;;;;
+A6DC;BAMUM LETTER LI;Lo;0;L;;;;;N;;;;;
+A6DD;BAMUM LETTER PI;Lo;0;L;;;;;N;;;;;
+A6DE;BAMUM LETTER LOQ;Lo;0;L;;;;;N;;;;;
+A6DF;BAMUM LETTER KO;Lo;0;L;;;;;N;;;;;
+A6E0;BAMUM LETTER MBEN;Lo;0;L;;;;;N;;;;;
+A6E1;BAMUM LETTER REN;Lo;0;L;;;;;N;;;;;
+A6E2;BAMUM LETTER MEN;Lo;0;L;;;;;N;;;;;
+A6E3;BAMUM LETTER MA;Lo;0;L;;;;;N;;;;;
+A6E4;BAMUM LETTER TI;Lo;0;L;;;;;N;;;;;
+A6E5;BAMUM LETTER KI;Lo;0;L;;;;;N;;;;;
+A6E6;BAMUM LETTER MO;Nl;0;L;;;;1;N;;;;;
+A6E7;BAMUM LETTER MBAA;Nl;0;L;;;;2;N;;;;;
+A6E8;BAMUM LETTER TET;Nl;0;L;;;;3;N;;;;;
+A6E9;BAMUM LETTER KPA;Nl;0;L;;;;4;N;;;;;
+A6EA;BAMUM LETTER TEN;Nl;0;L;;;;5;N;;;;;
+A6EB;BAMUM LETTER NTUU;Nl;0;L;;;;6;N;;;;;
+A6EC;BAMUM LETTER SAMBA;Nl;0;L;;;;7;N;;;;;
+A6ED;BAMUM LETTER FAAMAE;Nl;0;L;;;;8;N;;;;;
+A6EE;BAMUM LETTER KOVUU;Nl;0;L;;;;9;N;;;;;
+A6EF;BAMUM LETTER KOGHOM;Nl;0;L;;;;0;N;;;;;
+A6F0;BAMUM COMBINING MARK KOQNDON;Mn;230;NSM;;;;;N;;;;;
+A6F1;BAMUM COMBINING MARK TUKWENTIS;Mn;230;NSM;;;;;N;;;;;
+A6F2;BAMUM NJAEMLI;Po;0;L;;;;;N;;;;;
+A6F3;BAMUM FULL STOP;Po;0;L;;;;;N;;;;;
+A6F4;BAMUM COLON;Po;0;L;;;;;N;;;;;
+A6F5;BAMUM COMMA;Po;0;L;;;;;N;;;;;
+A6F6;BAMUM SEMICOLON;Po;0;L;;;;;N;;;;;
+A6F7;BAMUM QUESTION MARK;Po;0;L;;;;;N;;;;;
A700;MODIFIER LETTER CHINESE TONE YIN PING;Sk;0;ON;;;;;N;;;;;
A701;MODIFIER LETTER CHINESE TONE YANG PING;Sk;0;ON;;;;;N;;;;;
A702;MODIFIER LETTER CHINESE TONE YIN SHANG;Sk;0;ON;;;;;N;;;;;
@@ -12707,6 +13856,51 @@ A789;MODIFIER LETTER COLON;Sk;0;L;;;;;N;;;;;
A78A;MODIFIER LETTER SHORT EQUALS SIGN;Sk;0;L;;;;;N;;;;;
A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C;
A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B
+A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265;
+A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;;
+A78F;LATIN LETTER SINOLOGICAL DOT;Lo;0;L;;;;;N;;;;;
+A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791;
+A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790
+A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793;
+A793;LATIN SMALL LETTER C WITH BAR;Ll;0;L;;;;;N;;;A792;;A792
+A794;LATIN SMALL LETTER C WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+A795;LATIN SMALL LETTER H WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+A796;LATIN CAPITAL LETTER B WITH FLOURISH;Lu;0;L;;;;;N;;;;A797;
+A797;LATIN SMALL LETTER B WITH FLOURISH;Ll;0;L;;;;;N;;;A796;;A796
+A798;LATIN CAPITAL LETTER F WITH STROKE;Lu;0;L;;;;;N;;;;A799;
+A799;LATIN SMALL LETTER F WITH STROKE;Ll;0;L;;;;;N;;;A798;;A798
+A79A;LATIN CAPITAL LETTER VOLAPUK AE;Lu;0;L;;;;;N;;;;A79B;
+A79B;LATIN SMALL LETTER VOLAPUK AE;Ll;0;L;;;;;N;;;A79A;;A79A
+A79C;LATIN CAPITAL LETTER VOLAPUK OE;Lu;0;L;;;;;N;;;;A79D;
+A79D;LATIN SMALL LETTER VOLAPUK OE;Ll;0;L;;;;;N;;;A79C;;A79C
+A79E;LATIN CAPITAL LETTER VOLAPUK UE;Lu;0;L;;;;;N;;;;A79F;
+A79F;LATIN SMALL LETTER VOLAPUK UE;Ll;0;L;;;;;N;;;A79E;;A79E
+A7A0;LATIN CAPITAL LETTER G WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A1;
+A7A1;LATIN SMALL LETTER G WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A0;;A7A0
+A7A2;LATIN CAPITAL LETTER K WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A3;
+A7A3;LATIN SMALL LETTER K WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A2;;A7A2
+A7A4;LATIN CAPITAL LETTER N WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A5;
+A7A5;LATIN SMALL LETTER N WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A4;;A7A4
+A7A6;LATIN CAPITAL LETTER R WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A7;
+A7A7;LATIN SMALL LETTER R WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A6;;A7A6
+A7A8;LATIN CAPITAL LETTER S WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A9;
+A7A9;LATIN SMALL LETTER S WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A8;;A7A8
+A7AA;LATIN CAPITAL LETTER H WITH HOOK;Lu;0;L;;;;;N;;;;0266;
+A7AB;LATIN CAPITAL LETTER REVERSED OPEN E;Lu;0;L;;;;;N;;;;025C;
+A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261;
+A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C;
+A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E;
+A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287;
+A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D;
+A7B3;LATIN CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;AB53;
+A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5;
+A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4
+A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7;
+A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6
+A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;;
+A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L;<super> 0126;;;;N;;;;;
+A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L;<super> 0153;;;;N;;;;;
+A7FA;LATIN LETTER SMALL CAPITAL TURNED M;Ll;0;L;;;;;N;;;;;
A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;;
A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;;
A7FD;LATIN EPIGRAPHIC LETTER INVERTED M;Lo;0;L;;;;;N;;;;;
@@ -12756,6 +13950,16 @@ A828;SYLOTI NAGRI POETRY MARK-1;So;0;ON;;;;;N;;;;;
A829;SYLOTI NAGRI POETRY MARK-2;So;0;ON;;;;;N;;;;;
A82A;SYLOTI NAGRI POETRY MARK-3;So;0;ON;;;;;N;;;;;
A82B;SYLOTI NAGRI POETRY MARK-4;So;0;ON;;;;;N;;;;;
+A830;NORTH INDIC FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;;
+A831;NORTH INDIC FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;;
+A832;NORTH INDIC FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;;
+A833;NORTH INDIC FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;;
+A834;NORTH INDIC FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;;
+A835;NORTH INDIC FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;;
+A836;NORTH INDIC QUARTER MARK;So;0;L;;;;;N;;;;;
+A837;NORTH INDIC PLACEHOLDER MARK;So;0;L;;;;;N;;;;;
+A838;NORTH INDIC RUPEE MARK;Sc;0;ET;;;;;N;;;;;
+A839;NORTH INDIC QUANTITY MARK;So;0;ET;;;;;N;;;;;
A840;PHAGS-PA LETTER KA;Lo;0;L;;;;;N;;;;;
A841;PHAGS-PA LETTER KHA;Lo;0;L;;;;;N;;;;;
A842;PHAGS-PA LETTER GA;Lo;0;L;;;;;N;;;;;
@@ -12893,6 +14097,36 @@ A8D6;SAURASHTRA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
A8D7;SAURASHTRA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
A8D8;SAURASHTRA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
A8D9;SAURASHTRA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+A8E0;COMBINING DEVANAGARI DIGIT ZERO;Mn;230;NSM;;;;;N;;;;;
+A8E1;COMBINING DEVANAGARI DIGIT ONE;Mn;230;NSM;;;;;N;;;;;
+A8E2;COMBINING DEVANAGARI DIGIT TWO;Mn;230;NSM;;;;;N;;;;;
+A8E3;COMBINING DEVANAGARI DIGIT THREE;Mn;230;NSM;;;;;N;;;;;
+A8E4;COMBINING DEVANAGARI DIGIT FOUR;Mn;230;NSM;;;;;N;;;;;
+A8E5;COMBINING DEVANAGARI DIGIT FIVE;Mn;230;NSM;;;;;N;;;;;
+A8E6;COMBINING DEVANAGARI DIGIT SIX;Mn;230;NSM;;;;;N;;;;;
+A8E7;COMBINING DEVANAGARI DIGIT SEVEN;Mn;230;NSM;;;;;N;;;;;
+A8E8;COMBINING DEVANAGARI DIGIT EIGHT;Mn;230;NSM;;;;;N;;;;;
+A8E9;COMBINING DEVANAGARI DIGIT NINE;Mn;230;NSM;;;;;N;;;;;
+A8EA;COMBINING DEVANAGARI LETTER A;Mn;230;NSM;;;;;N;;;;;
+A8EB;COMBINING DEVANAGARI LETTER U;Mn;230;NSM;;;;;N;;;;;
+A8EC;COMBINING DEVANAGARI LETTER KA;Mn;230;NSM;;;;;N;;;;;
+A8ED;COMBINING DEVANAGARI LETTER NA;Mn;230;NSM;;;;;N;;;;;
+A8EE;COMBINING DEVANAGARI LETTER PA;Mn;230;NSM;;;;;N;;;;;
+A8EF;COMBINING DEVANAGARI LETTER RA;Mn;230;NSM;;;;;N;;;;;
+A8F0;COMBINING DEVANAGARI LETTER VI;Mn;230;NSM;;;;;N;;;;;
+A8F1;COMBINING DEVANAGARI SIGN AVAGRAHA;Mn;230;NSM;;;;;N;;;;;
+A8F2;DEVANAGARI SIGN SPACING CANDRABINDU;Lo;0;L;;;;;N;;;;;
+A8F3;DEVANAGARI SIGN CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;;
+A8F4;DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;;
+A8F5;DEVANAGARI SIGN CANDRABINDU TWO;Lo;0;L;;;;;N;;;;;
+A8F6;DEVANAGARI SIGN CANDRABINDU THREE;Lo;0;L;;;;;N;;;;;
+A8F7;DEVANAGARI SIGN CANDRABINDU AVAGRAHA;Lo;0;L;;;;;N;;;;;
+A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;;
+A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;;
+A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;;
+A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;;
+A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;;
A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -12978,6 +14212,157 @@ A951;REJANG CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;;
A952;REJANG CONSONANT SIGN H;Mc;0;L;;;;;N;;;;;
A953;REJANG VIRAMA;Mc;9;L;;;;;N;;;;;
A95F;REJANG SECTION MARK;Po;0;L;;;;;N;;;;;
+A960;HANGUL CHOSEONG TIKEUT-MIEUM;Lo;0;L;;;;;N;;;;;
+A961;HANGUL CHOSEONG TIKEUT-PIEUP;Lo;0;L;;;;;N;;;;;
+A962;HANGUL CHOSEONG TIKEUT-SIOS;Lo;0;L;;;;;N;;;;;
+A963;HANGUL CHOSEONG TIKEUT-CIEUC;Lo;0;L;;;;;N;;;;;
+A964;HANGUL CHOSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;;;;
+A965;HANGUL CHOSEONG RIEUL-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
+A966;HANGUL CHOSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;;
+A967;HANGUL CHOSEONG RIEUL-SSANGTIKEUT;Lo;0;L;;;;;N;;;;;
+A968;HANGUL CHOSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;;;;
+A969;HANGUL CHOSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;;;;
+A96A;HANGUL CHOSEONG RIEUL-SSANGPIEUP;Lo;0;L;;;;;N;;;;;
+A96B;HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+A96C;HANGUL CHOSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;;;;
+A96D;HANGUL CHOSEONG RIEUL-CIEUC;Lo;0;L;;;;;N;;;;;
+A96E;HANGUL CHOSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
+A96F;HANGUL CHOSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
+A970;HANGUL CHOSEONG MIEUM-TIKEUT;Lo;0;L;;;;;N;;;;;
+A971;HANGUL CHOSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
+A972;HANGUL CHOSEONG PIEUP-SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
+A973;HANGUL CHOSEONG PIEUP-KHIEUKH;Lo;0;L;;;;;N;;;;;
+A974;HANGUL CHOSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
+A975;HANGUL CHOSEONG SSANGSIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+A976;HANGUL CHOSEONG IEUNG-RIEUL;Lo;0;L;;;;;N;;;;;
+A977;HANGUL CHOSEONG IEUNG-HIEUH;Lo;0;L;;;;;N;;;;;
+A978;HANGUL CHOSEONG SSANGCIEUC-HIEUH;Lo;0;L;;;;;N;;;;;
+A979;HANGUL CHOSEONG SSANGTHIEUTH;Lo;0;L;;;;;N;;;;;
+A97A;HANGUL CHOSEONG PHIEUPH-HIEUH;Lo;0;L;;;;;N;;;;;
+A97B;HANGUL CHOSEONG HIEUH-SIOS;Lo;0;L;;;;;N;;;;;
+A97C;HANGUL CHOSEONG SSANGYEORINHIEUH;Lo;0;L;;;;;N;;;;;
+A980;JAVANESE SIGN PANYANGGA;Mn;0;NSM;;;;;N;;;;;
+A981;JAVANESE SIGN CECAK;Mn;0;NSM;;;;;N;;;;;
+A982;JAVANESE SIGN LAYAR;Mn;0;NSM;;;;;N;;;;;
+A983;JAVANESE SIGN WIGNYAN;Mc;0;L;;;;;N;;;;;
+A984;JAVANESE LETTER A;Lo;0;L;;;;;N;;;;;
+A985;JAVANESE LETTER I KAWI;Lo;0;L;;;;;N;;;;;
+A986;JAVANESE LETTER I;Lo;0;L;;;;;N;;;;;
+A987;JAVANESE LETTER II;Lo;0;L;;;;;N;;;;;
+A988;JAVANESE LETTER U;Lo;0;L;;;;;N;;;;;
+A989;JAVANESE LETTER PA CEREK;Lo;0;L;;;;;N;;;;;
+A98A;JAVANESE LETTER NGA LELET;Lo;0;L;;;;;N;;;;;
+A98B;JAVANESE LETTER NGA LELET RASWADI;Lo;0;L;;;;;N;;;;;
+A98C;JAVANESE LETTER E;Lo;0;L;;;;;N;;;;;
+A98D;JAVANESE LETTER AI;Lo;0;L;;;;;N;;;;;
+A98E;JAVANESE LETTER O;Lo;0;L;;;;;N;;;;;
+A98F;JAVANESE LETTER KA;Lo;0;L;;;;;N;;;;;
+A990;JAVANESE LETTER KA SASAK;Lo;0;L;;;;;N;;;;;
+A991;JAVANESE LETTER KA MURDA;Lo;0;L;;;;;N;;;;;
+A992;JAVANESE LETTER GA;Lo;0;L;;;;;N;;;;;
+A993;JAVANESE LETTER GA MURDA;Lo;0;L;;;;;N;;;;;
+A994;JAVANESE LETTER NGA;Lo;0;L;;;;;N;;;;;
+A995;JAVANESE LETTER CA;Lo;0;L;;;;;N;;;;;
+A996;JAVANESE LETTER CA MURDA;Lo;0;L;;;;;N;;;;;
+A997;JAVANESE LETTER JA;Lo;0;L;;;;;N;;;;;
+A998;JAVANESE LETTER NYA MURDA;Lo;0;L;;;;;N;;;;;
+A999;JAVANESE LETTER JA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+A99A;JAVANESE LETTER NYA;Lo;0;L;;;;;N;;;;;
+A99B;JAVANESE LETTER TTA;Lo;0;L;;;;;N;;;;;
+A99C;JAVANESE LETTER TTA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+A99D;JAVANESE LETTER DDA;Lo;0;L;;;;;N;;;;;
+A99E;JAVANESE LETTER DDA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+A99F;JAVANESE LETTER NA MURDA;Lo;0;L;;;;;N;;;;;
+A9A0;JAVANESE LETTER TA;Lo;0;L;;;;;N;;;;;
+A9A1;JAVANESE LETTER TA MURDA;Lo;0;L;;;;;N;;;;;
+A9A2;JAVANESE LETTER DA;Lo;0;L;;;;;N;;;;;
+A9A3;JAVANESE LETTER DA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+A9A4;JAVANESE LETTER NA;Lo;0;L;;;;;N;;;;;
+A9A5;JAVANESE LETTER PA;Lo;0;L;;;;;N;;;;;
+A9A6;JAVANESE LETTER PA MURDA;Lo;0;L;;;;;N;;;;;
+A9A7;JAVANESE LETTER BA;Lo;0;L;;;;;N;;;;;
+A9A8;JAVANESE LETTER BA MURDA;Lo;0;L;;;;;N;;;;;
+A9A9;JAVANESE LETTER MA;Lo;0;L;;;;;N;;;;;
+A9AA;JAVANESE LETTER YA;Lo;0;L;;;;;N;;;;;
+A9AB;JAVANESE LETTER RA;Lo;0;L;;;;;N;;;;;
+A9AC;JAVANESE LETTER RA AGUNG;Lo;0;L;;;;;N;;;;;
+A9AD;JAVANESE LETTER LA;Lo;0;L;;;;;N;;;;;
+A9AE;JAVANESE LETTER WA;Lo;0;L;;;;;N;;;;;
+A9AF;JAVANESE LETTER SA MURDA;Lo;0;L;;;;;N;;;;;
+A9B0;JAVANESE LETTER SA MAHAPRANA;Lo;0;L;;;;;N;;;;;
+A9B1;JAVANESE LETTER SA;Lo;0;L;;;;;N;;;;;
+A9B2;JAVANESE LETTER HA;Lo;0;L;;;;;N;;;;;
+A9B3;JAVANESE SIGN CECAK TELU;Mn;7;NSM;;;;;N;;;;;
+A9B4;JAVANESE VOWEL SIGN TARUNG;Mc;0;L;;;;;N;;;;;
+A9B5;JAVANESE VOWEL SIGN TOLONG;Mc;0;L;;;;;N;;;;;
+A9B6;JAVANESE VOWEL SIGN WULU;Mn;0;NSM;;;;;N;;;;;
+A9B7;JAVANESE VOWEL SIGN WULU MELIK;Mn;0;NSM;;;;;N;;;;;
+A9B8;JAVANESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;;;;
+A9B9;JAVANESE VOWEL SIGN SUKU MENDUT;Mn;0;NSM;;;;;N;;;;;
+A9BA;JAVANESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;;
+A9BB;JAVANESE VOWEL SIGN DIRGA MURE;Mc;0;L;;;;;N;;;;;
+A9BC;JAVANESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;;
+A9BD;JAVANESE CONSONANT SIGN KERET;Mc;0;L;;;;;N;;;;;
+A9BE;JAVANESE CONSONANT SIGN PENGKAL;Mc;0;L;;;;;N;;;;;
+A9BF;JAVANESE CONSONANT SIGN CAKRA;Mc;0;L;;;;;N;;;;;
+A9C0;JAVANESE PANGKON;Mc;9;L;;;;;N;;;;;
+A9C1;JAVANESE LEFT RERENGGAN;Po;0;L;;;;;N;;;;;
+A9C2;JAVANESE RIGHT RERENGGAN;Po;0;L;;;;;N;;;;;
+A9C3;JAVANESE PADA ANDAP;Po;0;L;;;;;N;;;;;
+A9C4;JAVANESE PADA MADYA;Po;0;L;;;;;N;;;;;
+A9C5;JAVANESE PADA LUHUR;Po;0;L;;;;;N;;;;;
+A9C6;JAVANESE PADA WINDU;Po;0;L;;;;;N;;;;;
+A9C7;JAVANESE PADA PANGKAT;Po;0;L;;;;;N;;;;;
+A9C8;JAVANESE PADA LINGSA;Po;0;L;;;;;N;;;;;
+A9C9;JAVANESE PADA LUNGSI;Po;0;L;;;;;N;;;;;
+A9CA;JAVANESE PADA ADEG;Po;0;L;;;;;N;;;;;
+A9CB;JAVANESE PADA ADEG ADEG;Po;0;L;;;;;N;;;;;
+A9CC;JAVANESE PADA PISELEH;Po;0;L;;;;;N;;;;;
+A9CD;JAVANESE TURNED PADA PISELEH;Po;0;L;;;;;N;;;;;
+A9CF;JAVANESE PANGRANGKEP;Lm;0;L;;;;;N;;;;;
+A9D0;JAVANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+A9D1;JAVANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+A9D2;JAVANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+A9D3;JAVANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+A9D4;JAVANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+A9D5;JAVANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+A9D6;JAVANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+A9D7;JAVANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+A9D8;JAVANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+A9D9;JAVANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+A9DE;JAVANESE PADA TIRTA TUMETES;Po;0;L;;;;;N;;;;;
+A9DF;JAVANESE PADA ISEN-ISEN;Po;0;L;;;;;N;;;;;
+A9E0;MYANMAR LETTER SHAN GHA;Lo;0;L;;;;;N;;;;;
+A9E1;MYANMAR LETTER SHAN CHA;Lo;0;L;;;;;N;;;;;
+A9E2;MYANMAR LETTER SHAN JHA;Lo;0;L;;;;;N;;;;;
+A9E3;MYANMAR LETTER SHAN NNA;Lo;0;L;;;;;N;;;;;
+A9E4;MYANMAR LETTER SHAN BHA;Lo;0;L;;;;;N;;;;;
+A9E5;MYANMAR SIGN SHAN SAW;Mn;0;NSM;;;;;N;;;;;
+A9E6;MYANMAR MODIFIER LETTER SHAN REDUPLICATION;Lm;0;L;;;;;N;;;;;
+A9E7;MYANMAR LETTER TAI LAING NYA;Lo;0;L;;;;;N;;;;;
+A9E8;MYANMAR LETTER TAI LAING FA;Lo;0;L;;;;;N;;;;;
+A9E9;MYANMAR LETTER TAI LAING GA;Lo;0;L;;;;;N;;;;;
+A9EA;MYANMAR LETTER TAI LAING GHA;Lo;0;L;;;;;N;;;;;
+A9EB;MYANMAR LETTER TAI LAING JA;Lo;0;L;;;;;N;;;;;
+A9EC;MYANMAR LETTER TAI LAING JHA;Lo;0;L;;;;;N;;;;;
+A9ED;MYANMAR LETTER TAI LAING DDA;Lo;0;L;;;;;N;;;;;
+A9EE;MYANMAR LETTER TAI LAING DDHA;Lo;0;L;;;;;N;;;;;
+A9EF;MYANMAR LETTER TAI LAING NNA;Lo;0;L;;;;;N;;;;;
+A9F0;MYANMAR TAI LAING DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+A9F1;MYANMAR TAI LAING DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+A9F2;MYANMAR TAI LAING DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+A9F3;MYANMAR TAI LAING DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+A9F4;MYANMAR TAI LAING DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+A9F5;MYANMAR TAI LAING DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+A9F6;MYANMAR TAI LAING DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+A9F7;MYANMAR TAI LAING DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+A9F8;MYANMAR TAI LAING DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+A9F9;MYANMAR TAI LAING DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+A9FA;MYANMAR LETTER TAI LAING LLA;Lo;0;L;;;;;N;;;;;
+A9FB;MYANMAR LETTER TAI LAING DA;Lo;0;L;;;;;N;;;;;
+A9FC;MYANMAR LETTER TAI LAING DHA;Lo;0;L;;;;;N;;;;;
+A9FD;MYANMAR LETTER TAI LAING BA;Lo;0;L;;;;;N;;;;;
+A9FE;MYANMAR LETTER TAI LAING BHA;Lo;0;L;;;;;N;;;;;
AA00;CHAM LETTER A;Lo;0;L;;;;;N;;;;;
AA01;CHAM LETTER I;Lo;0;L;;;;;N;;;;;
AA02;CHAM LETTER U;Lo;0;L;;;;;N;;;;;
@@ -13061,11178 +14446,437 @@ AA5C;CHAM PUNCTUATION SPIRAL;Po;0;L;;;;;N;;;;;
AA5D;CHAM PUNCTUATION DANDA;Po;0;L;;;;;N;;;;;
AA5E;CHAM PUNCTUATION DOUBLE DANDA;Po;0;L;;;;;N;;;;;
AA5F;CHAM PUNCTUATION TRIPLE DANDA;Po;0;L;;;;;N;;;;;
-AC00;HANGUL SYLLABLE GA;Lo;0;L;;;;;N;;;;;
-AC01;HANGUL SYLLABLE GAG;Lo;0;L;;;;;N;;;;;
-AC02;HANGUL SYLLABLE GAGG;Lo;0;L;;;;;N;;;;;
-AC03;HANGUL SYLLABLE GAGS;Lo;0;L;;;;;N;;;;;
-AC04;HANGUL SYLLABLE GAN;Lo;0;L;;;;;N;;;;;
-AC05;HANGUL SYLLABLE GANI;Lo;0;L;;;;;N;;;;;
-AC06;HANGUL SYLLABLE GANH;Lo;0;L;;;;;N;;;;;
-AC07;HANGUL SYLLABLE GAD;Lo;0;L;;;;;N;;;;;
-AC08;HANGUL SYLLABLE GAL;Lo;0;L;;;;;N;;;;;
-AC09;HANGUL SYLLABLE GALG;Lo;0;L;;;;;N;;;;;
-AC0A;HANGUL SYLLABLE GALM;Lo;0;L;;;;;N;;;;;
-AC0B;HANGUL SYLLABLE GALB;Lo;0;L;;;;;N;;;;;
-AC0C;HANGUL SYLLABLE GALS;Lo;0;L;;;;;N;;;;;
-AC0D;HANGUL SYLLABLE GALT;Lo;0;L;;;;;N;;;;;
-AC0E;HANGUL SYLLABLE GALP;Lo;0;L;;;;;N;;;;;
-AC0F;HANGUL SYLLABLE GALH;Lo;0;L;;;;;N;;;;;
-AC10;HANGUL SYLLABLE GAM;Lo;0;L;;;;;N;;;;;
-AC11;HANGUL SYLLABLE GAB;Lo;0;L;;;;;N;;;;;
-AC12;HANGUL SYLLABLE GABS;Lo;0;L;;;;;N;;;;;
-AC13;HANGUL SYLLABLE GAS;Lo;0;L;;;;;N;;;;;
-AC14;HANGUL SYLLABLE GASS;Lo;0;L;;;;;N;;;;;
-AC15;HANGUL SYLLABLE GANG;Lo;0;L;;;;;N;;;;;
-AC16;HANGUL SYLLABLE GAJ;Lo;0;L;;;;;N;;;;;
-AC17;HANGUL SYLLABLE GAC;Lo;0;L;;;;;N;;;;;
-AC18;HANGUL SYLLABLE GAK;Lo;0;L;;;;;N;;;;;
-AC19;HANGUL SYLLABLE GAT;Lo;0;L;;;;;N;;;;;
-AC1A;HANGUL SYLLABLE GAP;Lo;0;L;;;;;N;;;;;
-AC1B;HANGUL SYLLABLE GAH;Lo;0;L;;;;;N;;;;;
-AC1C;HANGUL SYLLABLE GAE;Lo;0;L;;;;;N;;;;;
-AC1D;HANGUL SYLLABLE GAEG;Lo;0;L;;;;;N;;;;;
-AC1E;HANGUL SYLLABLE GAEGG;Lo;0;L;;;;;N;;;;;
-AC1F;HANGUL SYLLABLE GAEGS;Lo;0;L;;;;;N;;;;;
-AC20;HANGUL SYLLABLE GAEN;Lo;0;L;;;;;N;;;;;
-AC21;HANGUL SYLLABLE GAENI;Lo;0;L;;;;;N;;;;;
-AC22;HANGUL SYLLABLE GAENH;Lo;0;L;;;;;N;;;;;
-AC23;HANGUL SYLLABLE GAED;Lo;0;L;;;;;N;;;;;
-AC24;HANGUL SYLLABLE GAEL;Lo;0;L;;;;;N;;;;;
-AC25;HANGUL SYLLABLE GAELG;Lo;0;L;;;;;N;;;;;
-AC26;HANGUL SYLLABLE GAELM;Lo;0;L;;;;;N;;;;;
-AC27;HANGUL SYLLABLE GAELB;Lo;0;L;;;;;N;;;;;
-AC28;HANGUL SYLLABLE GAELS;Lo;0;L;;;;;N;;;;;
-AC29;HANGUL SYLLABLE GAELT;Lo;0;L;;;;;N;;;;;
-AC2A;HANGUL SYLLABLE GAELP;Lo;0;L;;;;;N;;;;;
-AC2B;HANGUL SYLLABLE GAELH;Lo;0;L;;;;;N;;;;;
-AC2C;HANGUL SYLLABLE GAEM;Lo;0;L;;;;;N;;;;;
-AC2D;HANGUL SYLLABLE GAEB;Lo;0;L;;;;;N;;;;;
-AC2E;HANGUL SYLLABLE GAEBS;Lo;0;L;;;;;N;;;;;
-AC2F;HANGUL SYLLABLE GAES;Lo;0;L;;;;;N;;;;;
-AC30;HANGUL SYLLABLE GAESS;Lo;0;L;;;;;N;;;;;
-AC31;HANGUL SYLLABLE GAENG;Lo;0;L;;;;;N;;;;;
-AC32;HANGUL SYLLABLE GAEJ;Lo;0;L;;;;;N;;;;;
-AC33;HANGUL SYLLABLE GAEC;Lo;0;L;;;;;N;;;;;
-AC34;HANGUL SYLLABLE GAEK;Lo;0;L;;;;;N;;;;;
-AC35;HANGUL SYLLABLE GAET;Lo;0;L;;;;;N;;;;;
-AC36;HANGUL SYLLABLE GAEP;Lo;0;L;;;;;N;;;;;
-AC37;HANGUL SYLLABLE GAEH;Lo;0;L;;;;;N;;;;;
-AC38;HANGUL SYLLABLE GYA;Lo;0;L;;;;;N;;;;;
-AC39;HANGUL SYLLABLE GYAG;Lo;0;L;;;;;N;;;;;
-AC3A;HANGUL SYLLABLE GYAGG;Lo;0;L;;;;;N;;;;;
-AC3B;HANGUL SYLLABLE GYAGS;Lo;0;L;;;;;N;;;;;
-AC3C;HANGUL SYLLABLE GYAN;Lo;0;L;;;;;N;;;;;
-AC3D;HANGUL SYLLABLE GYANI;Lo;0;L;;;;;N;;;;;
-AC3E;HANGUL SYLLABLE GYANH;Lo;0;L;;;;;N;;;;;
-AC3F;HANGUL SYLLABLE GYAD;Lo;0;L;;;;;N;;;;;
-AC40;HANGUL SYLLABLE GYAL;Lo;0;L;;;;;N;;;;;
-AC41;HANGUL SYLLABLE GYALG;Lo;0;L;;;;;N;;;;;
-AC42;HANGUL SYLLABLE GYALM;Lo;0;L;;;;;N;;;;;
-AC43;HANGUL SYLLABLE GYALB;Lo;0;L;;;;;N;;;;;
-AC44;HANGUL SYLLABLE GYALS;Lo;0;L;;;;;N;;;;;
-AC45;HANGUL SYLLABLE GYALT;Lo;0;L;;;;;N;;;;;
-AC46;HANGUL SYLLABLE GYALP;Lo;0;L;;;;;N;;;;;
-AC47;HANGUL SYLLABLE GYALH;Lo;0;L;;;;;N;;;;;
-AC48;HANGUL SYLLABLE GYAM;Lo;0;L;;;;;N;;;;;
-AC49;HANGUL SYLLABLE GYAB;Lo;0;L;;;;;N;;;;;
-AC4A;HANGUL SYLLABLE GYABS;Lo;0;L;;;;;N;;;;;
-AC4B;HANGUL SYLLABLE GYAS;Lo;0;L;;;;;N;;;;;
-AC4C;HANGUL SYLLABLE GYASS;Lo;0;L;;;;;N;;;;;
-AC4D;HANGUL SYLLABLE GYANG;Lo;0;L;;;;;N;;;;;
-AC4E;HANGUL SYLLABLE GYAJ;Lo;0;L;;;;;N;;;;;
-AC4F;HANGUL SYLLABLE GYAC;Lo;0;L;;;;;N;;;;;
-AC50;HANGUL SYLLABLE GYAK;Lo;0;L;;;;;N;;;;;
-AC51;HANGUL SYLLABLE GYAT;Lo;0;L;;;;;N;;;;;
-AC52;HANGUL SYLLABLE GYAP;Lo;0;L;;;;;N;;;;;
-AC53;HANGUL SYLLABLE GYAH;Lo;0;L;;;;;N;;;;;
-AC54;HANGUL SYLLABLE GYAE;Lo;0;L;;;;;N;;;;;
-AC55;HANGUL SYLLABLE GYAEG;Lo;0;L;;;;;N;;;;;
-AC56;HANGUL SYLLABLE GYAEGG;Lo;0;L;;;;;N;;;;;
-AC57;HANGUL SYLLABLE GYAEGS;Lo;0;L;;;;;N;;;;;
-AC58;HANGUL SYLLABLE GYAEN;Lo;0;L;;;;;N;;;;;
-AC59;HANGUL SYLLABLE GYAENI;Lo;0;L;;;;;N;;;;;
-AC5A;HANGUL SYLLABLE GYAENH;Lo;0;L;;;;;N;;;;;
-AC5B;HANGUL SYLLABLE GYAED;Lo;0;L;;;;;N;;;;;
-AC5C;HANGUL SYLLABLE GYAEL;Lo;0;L;;;;;N;;;;;
-AC5D;HANGUL SYLLABLE GYAELG;Lo;0;L;;;;;N;;;;;
-AC5E;HANGUL SYLLABLE GYAELM;Lo;0;L;;;;;N;;;;;
-AC5F;HANGUL SYLLABLE GYAELB;Lo;0;L;;;;;N;;;;;
-AC60;HANGUL SYLLABLE GYAELS;Lo;0;L;;;;;N;;;;;
-AC61;HANGUL SYLLABLE GYAELT;Lo;0;L;;;;;N;;;;;
-AC62;HANGUL SYLLABLE GYAELP;Lo;0;L;;;;;N;;;;;
-AC63;HANGUL SYLLABLE GYAELH;Lo;0;L;;;;;N;;;;;
-AC64;HANGUL SYLLABLE GYAEM;Lo;0;L;;;;;N;;;;;
-AC65;HANGUL SYLLABLE GYAEB;Lo;0;L;;;;;N;;;;;
-AC66;HANGUL SYLLABLE GYAEBS;Lo;0;L;;;;;N;;;;;
-AC67;HANGUL SYLLABLE GYAES;Lo;0;L;;;;;N;;;;;
-AC68;HANGUL SYLLABLE GYAESS;Lo;0;L;;;;;N;;;;;
-AC69;HANGUL SYLLABLE GYAENG;Lo;0;L;;;;;N;;;;;
-AC6A;HANGUL SYLLABLE GYAEJ;Lo;0;L;;;;;N;;;;;
-AC6B;HANGUL SYLLABLE GYAEC;Lo;0;L;;;;;N;;;;;
-AC6C;HANGUL SYLLABLE GYAEK;Lo;0;L;;;;;N;;;;;
-AC6D;HANGUL SYLLABLE GYAET;Lo;0;L;;;;;N;;;;;
-AC6E;HANGUL SYLLABLE GYAEP;Lo;0;L;;;;;N;;;;;
-AC6F;HANGUL SYLLABLE GYAEH;Lo;0;L;;;;;N;;;;;
-AC70;HANGUL SYLLABLE GEO;Lo;0;L;;;;;N;;;;;
-AC71;HANGUL SYLLABLE GEOG;Lo;0;L;;;;;N;;;;;
-AC72;HANGUL SYLLABLE GEOGG;Lo;0;L;;;;;N;;;;;
-AC73;HANGUL SYLLABLE GEOGS;Lo;0;L;;;;;N;;;;;
-AC74;HANGUL SYLLABLE GEON;Lo;0;L;;;;;N;;;;;
-AC75;HANGUL SYLLABLE GEONI;Lo;0;L;;;;;N;;;;;
-AC76;HANGUL SYLLABLE GEONH;Lo;0;L;;;;;N;;;;;
-AC77;HANGUL SYLLABLE GEOD;Lo;0;L;;;;;N;;;;;
-AC78;HANGUL SYLLABLE GEOL;Lo;0;L;;;;;N;;;;;
-AC79;HANGUL SYLLABLE GEOLG;Lo;0;L;;;;;N;;;;;
-AC7A;HANGUL SYLLABLE GEOLM;Lo;0;L;;;;;N;;;;;
-AC7B;HANGUL SYLLABLE GEOLB;Lo;0;L;;;;;N;;;;;
-AC7C;HANGUL SYLLABLE GEOLS;Lo;0;L;;;;;N;;;;;
-AC7D;HANGUL SYLLABLE GEOLT;Lo;0;L;;;;;N;;;;;
-AC7E;HANGUL SYLLABLE GEOLP;Lo;0;L;;;;;N;;;;;
-AC7F;HANGUL SYLLABLE GEOLH;Lo;0;L;;;;;N;;;;;
-AC80;HANGUL SYLLABLE GEOM;Lo;0;L;;;;;N;;;;;
-AC81;HANGUL SYLLABLE GEOB;Lo;0;L;;;;;N;;;;;
-AC82;HANGUL SYLLABLE GEOBS;Lo;0;L;;;;;N;;;;;
-AC83;HANGUL SYLLABLE GEOS;Lo;0;L;;;;;N;;;;;
-AC84;HANGUL SYLLABLE GEOSS;Lo;0;L;;;;;N;;;;;
-AC85;HANGUL SYLLABLE GEONG;Lo;0;L;;;;;N;;;;;
-AC86;HANGUL SYLLABLE GEOJ;Lo;0;L;;;;;N;;;;;
-AC87;HANGUL SYLLABLE GEOC;Lo;0;L;;;;;N;;;;;
-AC88;HANGUL SYLLABLE GEOK;Lo;0;L;;;;;N;;;;;
-AC89;HANGUL SYLLABLE GEOT;Lo;0;L;;;;;N;;;;;
-AC8A;HANGUL SYLLABLE GEOP;Lo;0;L;;;;;N;;;;;
-AC8B;HANGUL SYLLABLE GEOH;Lo;0;L;;;;;N;;;;;
-AC8C;HANGUL SYLLABLE GE;Lo;0;L;;;;;N;;;;;
-AC8D;HANGUL SYLLABLE GEG;Lo;0;L;;;;;N;;;;;
-AC8E;HANGUL SYLLABLE GEGG;Lo;0;L;;;;;N;;;;;
-AC8F;HANGUL SYLLABLE GEGS;Lo;0;L;;;;;N;;;;;
-AC90;HANGUL SYLLABLE GEN;Lo;0;L;;;;;N;;;;;
-AC91;HANGUL SYLLABLE GENI;Lo;0;L;;;;;N;;;;;
-AC92;HANGUL SYLLABLE GENH;Lo;0;L;;;;;N;;;;;
-AC93;HANGUL SYLLABLE GED;Lo;0;L;;;;;N;;;;;
-AC94;HANGUL SYLLABLE GEL;Lo;0;L;;;;;N;;;;;
-AC95;HANGUL SYLLABLE GELG;Lo;0;L;;;;;N;;;;;
-AC96;HANGUL SYLLABLE GELM;Lo;0;L;;;;;N;;;;;
-AC97;HANGUL SYLLABLE GELB;Lo;0;L;;;;;N;;;;;
-AC98;HANGUL SYLLABLE GELS;Lo;0;L;;;;;N;;;;;
-AC99;HANGUL SYLLABLE GELT;Lo;0;L;;;;;N;;;;;
-AC9A;HANGUL SYLLABLE GELP;Lo;0;L;;;;;N;;;;;
-AC9B;HANGUL SYLLABLE GELH;Lo;0;L;;;;;N;;;;;
-AC9C;HANGUL SYLLABLE GEM;Lo;0;L;;;;;N;;;;;
-AC9D;HANGUL SYLLABLE GEB;Lo;0;L;;;;;N;;;;;
-AC9E;HANGUL SYLLABLE GEBS;Lo;0;L;;;;;N;;;;;
-AC9F;HANGUL SYLLABLE GES;Lo;0;L;;;;;N;;;;;
-ACA0;HANGUL SYLLABLE GESS;Lo;0;L;;;;;N;;;;;
-ACA1;HANGUL SYLLABLE GENG;Lo;0;L;;;;;N;;;;;
-ACA2;HANGUL SYLLABLE GEJ;Lo;0;L;;;;;N;;;;;
-ACA3;HANGUL SYLLABLE GEC;Lo;0;L;;;;;N;;;;;
-ACA4;HANGUL SYLLABLE GEK;Lo;0;L;;;;;N;;;;;
-ACA5;HANGUL SYLLABLE GET;Lo;0;L;;;;;N;;;;;
-ACA6;HANGUL SYLLABLE GEP;Lo;0;L;;;;;N;;;;;
-ACA7;HANGUL SYLLABLE GEH;Lo;0;L;;;;;N;;;;;
-ACA8;HANGUL SYLLABLE GYEO;Lo;0;L;;;;;N;;;;;
-ACA9;HANGUL SYLLABLE GYEOG;Lo;0;L;;;;;N;;;;;
-ACAA;HANGUL SYLLABLE GYEOGG;Lo;0;L;;;;;N;;;;;
-ACAB;HANGUL SYLLABLE GYEOGS;Lo;0;L;;;;;N;;;;;
-ACAC;HANGUL SYLLABLE GYEON;Lo;0;L;;;;;N;;;;;
-ACAD;HANGUL SYLLABLE GYEONI;Lo;0;L;;;;;N;;;;;
-ACAE;HANGUL SYLLABLE GYEONH;Lo;0;L;;;;;N;;;;;
-ACAF;HANGUL SYLLABLE GYEOD;Lo;0;L;;;;;N;;;;;
-ACB0;HANGUL SYLLABLE GYEOL;Lo;0;L;;;;;N;;;;;
-ACB1;HANGUL SYLLABLE GYEOLG;Lo;0;L;;;;;N;;;;;
-ACB2;HANGUL SYLLABLE GYEOLM;Lo;0;L;;;;;N;;;;;
-ACB3;HANGUL SYLLABLE GYEOLB;Lo;0;L;;;;;N;;;;;
-ACB4;HANGUL SYLLABLE GYEOLS;Lo;0;L;;;;;N;;;;;
-ACB5;HANGUL SYLLABLE GYEOLT;Lo;0;L;;;;;N;;;;;
-ACB6;HANGUL SYLLABLE GYEOLP;Lo;0;L;;;;;N;;;;;
-ACB7;HANGUL SYLLABLE GYEOLH;Lo;0;L;;;;;N;;;;;
-ACB8;HANGUL SYLLABLE GYEOM;Lo;0;L;;;;;N;;;;;
-ACB9;HANGUL SYLLABLE GYEOB;Lo;0;L;;;;;N;;;;;
-ACBA;HANGUL SYLLABLE GYEOBS;Lo;0;L;;;;;N;;;;;
-ACBB;HANGUL SYLLABLE GYEOS;Lo;0;L;;;;;N;;;;;
-ACBC;HANGUL SYLLABLE GYEOSS;Lo;0;L;;;;;N;;;;;
-ACBD;HANGUL SYLLABLE GYEONG;Lo;0;L;;;;;N;;;;;
-ACBE;HANGUL SYLLABLE GYEOJ;Lo;0;L;;;;;N;;;;;
-ACBF;HANGUL SYLLABLE GYEOC;Lo;0;L;;;;;N;;;;;
-ACC0;HANGUL SYLLABLE GYEOK;Lo;0;L;;;;;N;;;;;
-ACC1;HANGUL SYLLABLE GYEOT;Lo;0;L;;;;;N;;;;;
-ACC2;HANGUL SYLLABLE GYEOP;Lo;0;L;;;;;N;;;;;
-ACC3;HANGUL SYLLABLE GYEOH;Lo;0;L;;;;;N;;;;;
-ACC4;HANGUL SYLLABLE GYE;Lo;0;L;;;;;N;;;;;
-ACC5;HANGUL SYLLABLE GYEG;Lo;0;L;;;;;N;;;;;
-ACC6;HANGUL SYLLABLE GYEGG;Lo;0;L;;;;;N;;;;;
-ACC7;HANGUL SYLLABLE GYEGS;Lo;0;L;;;;;N;;;;;
-ACC8;HANGUL SYLLABLE GYEN;Lo;0;L;;;;;N;;;;;
-ACC9;HANGUL SYLLABLE GYENI;Lo;0;L;;;;;N;;;;;
-ACCA;HANGUL SYLLABLE GYENH;Lo;0;L;;;;;N;;;;;
-ACCB;HANGUL SYLLABLE GYED;Lo;0;L;;;;;N;;;;;
-ACCC;HANGUL SYLLABLE GYEL;Lo;0;L;;;;;N;;;;;
-ACCD;HANGUL SYLLABLE GYELG;Lo;0;L;;;;;N;;;;;
-ACCE;HANGUL SYLLABLE GYELM;Lo;0;L;;;;;N;;;;;
-ACCF;HANGUL SYLLABLE GYELB;Lo;0;L;;;;;N;;;;;
-ACD0;HANGUL SYLLABLE GYELS;Lo;0;L;;;;;N;;;;;
-ACD1;HANGUL SYLLABLE GYELT;Lo;0;L;;;;;N;;;;;
-ACD2;HANGUL SYLLABLE GYELP;Lo;0;L;;;;;N;;;;;
-ACD3;HANGUL SYLLABLE GYELH;Lo;0;L;;;;;N;;;;;
-ACD4;HANGUL SYLLABLE GYEM;Lo;0;L;;;;;N;;;;;
-ACD5;HANGUL SYLLABLE GYEB;Lo;0;L;;;;;N;;;;;
-ACD6;HANGUL SYLLABLE GYEBS;Lo;0;L;;;;;N;;;;;
-ACD7;HANGUL SYLLABLE GYES;Lo;0;L;;;;;N;;;;;
-ACD8;HANGUL SYLLABLE GYESS;Lo;0;L;;;;;N;;;;;
-ACD9;HANGUL SYLLABLE GYENG;Lo;0;L;;;;;N;;;;;
-ACDA;HANGUL SYLLABLE GYEJ;Lo;0;L;;;;;N;;;;;
-ACDB;HANGUL SYLLABLE GYEC;Lo;0;L;;;;;N;;;;;
-ACDC;HANGUL SYLLABLE GYEK;Lo;0;L;;;;;N;;;;;
-ACDD;HANGUL SYLLABLE GYET;Lo;0;L;;;;;N;;;;;
-ACDE;HANGUL SYLLABLE GYEP;Lo;0;L;;;;;N;;;;;
-ACDF;HANGUL SYLLABLE GYEH;Lo;0;L;;;;;N;;;;;
-ACE0;HANGUL SYLLABLE GO;Lo;0;L;;;;;N;;;;;
-ACE1;HANGUL SYLLABLE GOG;Lo;0;L;;;;;N;;;;;
-ACE2;HANGUL SYLLABLE GOGG;Lo;0;L;;;;;N;;;;;
-ACE3;HANGUL SYLLABLE GOGS;Lo;0;L;;;;;N;;;;;
-ACE4;HANGUL SYLLABLE GON;Lo;0;L;;;;;N;;;;;
-ACE5;HANGUL SYLLABLE GONI;Lo;0;L;;;;;N;;;;;
-ACE6;HANGUL SYLLABLE GONH;Lo;0;L;;;;;N;;;;;
-ACE7;HANGUL SYLLABLE GOD;Lo;0;L;;;;;N;;;;;
-ACE8;HANGUL SYLLABLE GOL;Lo;0;L;;;;;N;;;;;
-ACE9;HANGUL SYLLABLE GOLG;Lo;0;L;;;;;N;;;;;
-ACEA;HANGUL SYLLABLE GOLM;Lo;0;L;;;;;N;;;;;
-ACEB;HANGUL SYLLABLE GOLB;Lo;0;L;;;;;N;;;;;
-ACEC;HANGUL SYLLABLE GOLS;Lo;0;L;;;;;N;;;;;
-ACED;HANGUL SYLLABLE GOLT;Lo;0;L;;;;;N;;;;;
-ACEE;HANGUL SYLLABLE GOLP;Lo;0;L;;;;;N;;;;;
-ACEF;HANGUL SYLLABLE GOLH;Lo;0;L;;;;;N;;;;;
-ACF0;HANGUL SYLLABLE GOM;Lo;0;L;;;;;N;;;;;
-ACF1;HANGUL SYLLABLE GOB;Lo;0;L;;;;;N;;;;;
-ACF2;HANGUL SYLLABLE GOBS;Lo;0;L;;;;;N;;;;;
-ACF3;HANGUL SYLLABLE GOS;Lo;0;L;;;;;N;;;;;
-ACF4;HANGUL SYLLABLE GOSS;Lo;0;L;;;;;N;;;;;
-ACF5;HANGUL SYLLABLE GONG;Lo;0;L;;;;;N;;;;;
-ACF6;HANGUL SYLLABLE GOJ;Lo;0;L;;;;;N;;;;;
-ACF7;HANGUL SYLLABLE GOC;Lo;0;L;;;;;N;;;;;
-ACF8;HANGUL SYLLABLE GOK;Lo;0;L;;;;;N;;;;;
-ACF9;HANGUL SYLLABLE GOT;Lo;0;L;;;;;N;;;;;
-ACFA;HANGUL SYLLABLE GOP;Lo;0;L;;;;;N;;;;;
-ACFB;HANGUL SYLLABLE GOH;Lo;0;L;;;;;N;;;;;
-ACFC;HANGUL SYLLABLE GWA;Lo;0;L;;;;;N;;;;;
-ACFD;HANGUL SYLLABLE GWAG;Lo;0;L;;;;;N;;;;;
-ACFE;HANGUL SYLLABLE GWAGG;Lo;0;L;;;;;N;;;;;
-ACFF;HANGUL SYLLABLE GWAGS;Lo;0;L;;;;;N;;;;;
-AD00;HANGUL SYLLABLE GWAN;Lo;0;L;;;;;N;;;;;
-AD01;HANGUL SYLLABLE GWANI;Lo;0;L;;;;;N;;;;;
-AD02;HANGUL SYLLABLE GWANH;Lo;0;L;;;;;N;;;;;
-AD03;HANGUL SYLLABLE GWAD;Lo;0;L;;;;;N;;;;;
-AD04;HANGUL SYLLABLE GWAL;Lo;0;L;;;;;N;;;;;
-AD05;HANGUL SYLLABLE GWALG;Lo;0;L;;;;;N;;;;;
-AD06;HANGUL SYLLABLE GWALM;Lo;0;L;;;;;N;;;;;
-AD07;HANGUL SYLLABLE GWALB;Lo;0;L;;;;;N;;;;;
-AD08;HANGUL SYLLABLE GWALS;Lo;0;L;;;;;N;;;;;
-AD09;HANGUL SYLLABLE GWALT;Lo;0;L;;;;;N;;;;;
-AD0A;HANGUL SYLLABLE GWALP;Lo;0;L;;;;;N;;;;;
-AD0B;HANGUL SYLLABLE GWALH;Lo;0;L;;;;;N;;;;;
-AD0C;HANGUL SYLLABLE GWAM;Lo;0;L;;;;;N;;;;;
-AD0D;HANGUL SYLLABLE GWAB;Lo;0;L;;;;;N;;;;;
-AD0E;HANGUL SYLLABLE GWABS;Lo;0;L;;;;;N;;;;;
-AD0F;HANGUL SYLLABLE GWAS;Lo;0;L;;;;;N;;;;;
-AD10;HANGUL SYLLABLE GWASS;Lo;0;L;;;;;N;;;;;
-AD11;HANGUL SYLLABLE GWANG;Lo;0;L;;;;;N;;;;;
-AD12;HANGUL SYLLABLE GWAJ;Lo;0;L;;;;;N;;;;;
-AD13;HANGUL SYLLABLE GWAC;Lo;0;L;;;;;N;;;;;
-AD14;HANGUL SYLLABLE GWAK;Lo;0;L;;;;;N;;;;;
-AD15;HANGUL SYLLABLE GWAT;Lo;0;L;;;;;N;;;;;
-AD16;HANGUL SYLLABLE GWAP;Lo;0;L;;;;;N;;;;;
-AD17;HANGUL SYLLABLE GWAH;Lo;0;L;;;;;N;;;;;
-AD18;HANGUL SYLLABLE GWAE;Lo;0;L;;;;;N;;;;;
-AD19;HANGUL SYLLABLE GWAEG;Lo;0;L;;;;;N;;;;;
-AD1A;HANGUL SYLLABLE GWAEGG;Lo;0;L;;;;;N;;;;;
-AD1B;HANGUL SYLLABLE GWAEGS;Lo;0;L;;;;;N;;;;;
-AD1C;HANGUL SYLLABLE GWAEN;Lo;0;L;;;;;N;;;;;
-AD1D;HANGUL SYLLABLE GWAENI;Lo;0;L;;;;;N;;;;;
-AD1E;HANGUL SYLLABLE GWAENH;Lo;0;L;;;;;N;;;;;
-AD1F;HANGUL SYLLABLE GWAED;Lo;0;L;;;;;N;;;;;
-AD20;HANGUL SYLLABLE GWAEL;Lo;0;L;;;;;N;;;;;
-AD21;HANGUL SYLLABLE GWAELG;Lo;0;L;;;;;N;;;;;
-AD22;HANGUL SYLLABLE GWAELM;Lo;0;L;;;;;N;;;;;
-AD23;HANGUL SYLLABLE GWAELB;Lo;0;L;;;;;N;;;;;
-AD24;HANGUL SYLLABLE GWAELS;Lo;0;L;;;;;N;;;;;
-AD25;HANGUL SYLLABLE GWAELT;Lo;0;L;;;;;N;;;;;
-AD26;HANGUL SYLLABLE GWAELP;Lo;0;L;;;;;N;;;;;
-AD27;HANGUL SYLLABLE GWAELH;Lo;0;L;;;;;N;;;;;
-AD28;HANGUL SYLLABLE GWAEM;Lo;0;L;;;;;N;;;;;
-AD29;HANGUL SYLLABLE GWAEB;Lo;0;L;;;;;N;;;;;
-AD2A;HANGUL SYLLABLE GWAEBS;Lo;0;L;;;;;N;;;;;
-AD2B;HANGUL SYLLABLE GWAES;Lo;0;L;;;;;N;;;;;
-AD2C;HANGUL SYLLABLE GWAESS;Lo;0;L;;;;;N;;;;;
-AD2D;HANGUL SYLLABLE GWAENG;Lo;0;L;;;;;N;;;;;
-AD2E;HANGUL SYLLABLE GWAEJ;Lo;0;L;;;;;N;;;;;
-AD2F;HANGUL SYLLABLE GWAEC;Lo;0;L;;;;;N;;;;;
-AD30;HANGUL SYLLABLE GWAEK;Lo;0;L;;;;;N;;;;;
-AD31;HANGUL SYLLABLE GWAET;Lo;0;L;;;;;N;;;;;
-AD32;HANGUL SYLLABLE GWAEP;Lo;0;L;;;;;N;;;;;
-AD33;HANGUL SYLLABLE GWAEH;Lo;0;L;;;;;N;;;;;
-AD34;HANGUL SYLLABLE GOE;Lo;0;L;;;;;N;;;;;
-AD35;HANGUL SYLLABLE GOEG;Lo;0;L;;;;;N;;;;;
-AD36;HANGUL SYLLABLE GOEGG;Lo;0;L;;;;;N;;;;;
-AD37;HANGUL SYLLABLE GOEGS;Lo;0;L;;;;;N;;;;;
-AD38;HANGUL SYLLABLE GOEN;Lo;0;L;;;;;N;;;;;
-AD39;HANGUL SYLLABLE GOENI;Lo;0;L;;;;;N;;;;;
-AD3A;HANGUL SYLLABLE GOENH;Lo;0;L;;;;;N;;;;;
-AD3B;HANGUL SYLLABLE GOED;Lo;0;L;;;;;N;;;;;
-AD3C;HANGUL SYLLABLE GOEL;Lo;0;L;;;;;N;;;;;
-AD3D;HANGUL SYLLABLE GOELG;Lo;0;L;;;;;N;;;;;
-AD3E;HANGUL SYLLABLE GOELM;Lo;0;L;;;;;N;;;;;
-AD3F;HANGUL SYLLABLE GOELB;Lo;0;L;;;;;N;;;;;
-AD40;HANGUL SYLLABLE GOELS;Lo;0;L;;;;;N;;;;;
-AD41;HANGUL SYLLABLE GOELT;Lo;0;L;;;;;N;;;;;
-AD42;HANGUL SYLLABLE GOELP;Lo;0;L;;;;;N;;;;;
-AD43;HANGUL SYLLABLE GOELH;Lo;0;L;;;;;N;;;;;
-AD44;HANGUL SYLLABLE GOEM;Lo;0;L;;;;;N;;;;;
-AD45;HANGUL SYLLABLE GOEB;Lo;0;L;;;;;N;;;;;
-AD46;HANGUL SYLLABLE GOEBS;Lo;0;L;;;;;N;;;;;
-AD47;HANGUL SYLLABLE GOES;Lo;0;L;;;;;N;;;;;
-AD48;HANGUL SYLLABLE GOESS;Lo;0;L;;;;;N;;;;;
-AD49;HANGUL SYLLABLE GOENG;Lo;0;L;;;;;N;;;;;
-AD4A;HANGUL SYLLABLE GOEJ;Lo;0;L;;;;;N;;;;;
-AD4B;HANGUL SYLLABLE GOEC;Lo;0;L;;;;;N;;;;;
-AD4C;HANGUL SYLLABLE GOEK;Lo;0;L;;;;;N;;;;;
-AD4D;HANGUL SYLLABLE GOET;Lo;0;L;;;;;N;;;;;
-AD4E;HANGUL SYLLABLE GOEP;Lo;0;L;;;;;N;;;;;
-AD4F;HANGUL SYLLABLE GOEH;Lo;0;L;;;;;N;;;;;
-AD50;HANGUL SYLLABLE GYO;Lo;0;L;;;;;N;;;;;
-AD51;HANGUL SYLLABLE GYOG;Lo;0;L;;;;;N;;;;;
-AD52;HANGUL SYLLABLE GYOGG;Lo;0;L;;;;;N;;;;;
-AD53;HANGUL SYLLABLE GYOGS;Lo;0;L;;;;;N;;;;;
-AD54;HANGUL SYLLABLE GYON;Lo;0;L;;;;;N;;;;;
-AD55;HANGUL SYLLABLE GYONI;Lo;0;L;;;;;N;;;;;
-AD56;HANGUL SYLLABLE GYONH;Lo;0;L;;;;;N;;;;;
-AD57;HANGUL SYLLABLE GYOD;Lo;0;L;;;;;N;;;;;
-AD58;HANGUL SYLLABLE GYOL;Lo;0;L;;;;;N;;;;;
-AD59;HANGUL SYLLABLE GYOLG;Lo;0;L;;;;;N;;;;;
-AD5A;HANGUL SYLLABLE GYOLM;Lo;0;L;;;;;N;;;;;
-AD5B;HANGUL SYLLABLE GYOLB;Lo;0;L;;;;;N;;;;;
-AD5C;HANGUL SYLLABLE GYOLS;Lo;0;L;;;;;N;;;;;
-AD5D;HANGUL SYLLABLE GYOLT;Lo;0;L;;;;;N;;;;;
-AD5E;HANGUL SYLLABLE GYOLP;Lo;0;L;;;;;N;;;;;
-AD5F;HANGUL SYLLABLE GYOLH;Lo;0;L;;;;;N;;;;;
-AD60;HANGUL SYLLABLE GYOM;Lo;0;L;;;;;N;;;;;
-AD61;HANGUL SYLLABLE GYOB;Lo;0;L;;;;;N;;;;;
-AD62;HANGUL SYLLABLE GYOBS;Lo;0;L;;;;;N;;;;;
-AD63;HANGUL SYLLABLE GYOS;Lo;0;L;;;;;N;;;;;
-AD64;HANGUL SYLLABLE GYOSS;Lo;0;L;;;;;N;;;;;
-AD65;HANGUL SYLLABLE GYONG;Lo;0;L;;;;;N;;;;;
-AD66;HANGUL SYLLABLE GYOJ;Lo;0;L;;;;;N;;;;;
-AD67;HANGUL SYLLABLE GYOC;Lo;0;L;;;;;N;;;;;
-AD68;HANGUL SYLLABLE GYOK;Lo;0;L;;;;;N;;;;;
-AD69;HANGUL SYLLABLE GYOT;Lo;0;L;;;;;N;;;;;
-AD6A;HANGUL SYLLABLE GYOP;Lo;0;L;;;;;N;;;;;
-AD6B;HANGUL SYLLABLE GYOH;Lo;0;L;;;;;N;;;;;
-AD6C;HANGUL SYLLABLE GU;Lo;0;L;;;;;N;;;;;
-AD6D;HANGUL SYLLABLE GUG;Lo;0;L;;;;;N;;;;;
-AD6E;HANGUL SYLLABLE GUGG;Lo;0;L;;;;;N;;;;;
-AD6F;HANGUL SYLLABLE GUGS;Lo;0;L;;;;;N;;;;;
-AD70;HANGUL SYLLABLE GUN;Lo;0;L;;;;;N;;;;;
-AD71;HANGUL SYLLABLE GUNI;Lo;0;L;;;;;N;;;;;
-AD72;HANGUL SYLLABLE GUNH;Lo;0;L;;;;;N;;;;;
-AD73;HANGUL SYLLABLE GUD;Lo;0;L;;;;;N;;;;;
-AD74;HANGUL SYLLABLE GUL;Lo;0;L;;;;;N;;;;;
-AD75;HANGUL SYLLABLE GULG;Lo;0;L;;;;;N;;;;;
-AD76;HANGUL SYLLABLE GULM;Lo;0;L;;;;;N;;;;;
-AD77;HANGUL SYLLABLE GULB;Lo;0;L;;;;;N;;;;;
-AD78;HANGUL SYLLABLE GULS;Lo;0;L;;;;;N;;;;;
-AD79;HANGUL SYLLABLE GULT;Lo;0;L;;;;;N;;;;;
-AD7A;HANGUL SYLLABLE GULP;Lo;0;L;;;;;N;;;;;
-AD7B;HANGUL SYLLABLE GULH;Lo;0;L;;;;;N;;;;;
-AD7C;HANGUL SYLLABLE GUM;Lo;0;L;;;;;N;;;;;
-AD7D;HANGUL SYLLABLE GUB;Lo;0;L;;;;;N;;;;;
-AD7E;HANGUL SYLLABLE GUBS;Lo;0;L;;;;;N;;;;;
-AD7F;HANGUL SYLLABLE GUS;Lo;0;L;;;;;N;;;;;
-AD80;HANGUL SYLLABLE GUSS;Lo;0;L;;;;;N;;;;;
-AD81;HANGUL SYLLABLE GUNG;Lo;0;L;;;;;N;;;;;
-AD82;HANGUL SYLLABLE GUJ;Lo;0;L;;;;;N;;;;;
-AD83;HANGUL SYLLABLE GUC;Lo;0;L;;;;;N;;;;;
-AD84;HANGUL SYLLABLE GUK;Lo;0;L;;;;;N;;;;;
-AD85;HANGUL SYLLABLE GUT;Lo;0;L;;;;;N;;;;;
-AD86;HANGUL SYLLABLE GUP;Lo;0;L;;;;;N;;;;;
-AD87;HANGUL SYLLABLE GUH;Lo;0;L;;;;;N;;;;;
-AD88;HANGUL SYLLABLE GWEO;Lo;0;L;;;;;N;;;;;
-AD89;HANGUL SYLLABLE GWEOG;Lo;0;L;;;;;N;;;;;
-AD8A;HANGUL SYLLABLE GWEOGG;Lo;0;L;;;;;N;;;;;
-AD8B;HANGUL SYLLABLE GWEOGS;Lo;0;L;;;;;N;;;;;
-AD8C;HANGUL SYLLABLE GWEON;Lo;0;L;;;;;N;;;;;
-AD8D;HANGUL SYLLABLE GWEONI;Lo;0;L;;;;;N;;;;;
-AD8E;HANGUL SYLLABLE GWEONH;Lo;0;L;;;;;N;;;;;
-AD8F;HANGUL SYLLABLE GWEOD;Lo;0;L;;;;;N;;;;;
-AD90;HANGUL SYLLABLE GWEOL;Lo;0;L;;;;;N;;;;;
-AD91;HANGUL SYLLABLE GWEOLG;Lo;0;L;;;;;N;;;;;
-AD92;HANGUL SYLLABLE GWEOLM;Lo;0;L;;;;;N;;;;;
-AD93;HANGUL SYLLABLE GWEOLB;Lo;0;L;;;;;N;;;;;
-AD94;HANGUL SYLLABLE GWEOLS;Lo;0;L;;;;;N;;;;;
-AD95;HANGUL SYLLABLE GWEOLT;Lo;0;L;;;;;N;;;;;
-AD96;HANGUL SYLLABLE GWEOLP;Lo;0;L;;;;;N;;;;;
-AD97;HANGUL SYLLABLE GWEOLH;Lo;0;L;;;;;N;;;;;
-AD98;HANGUL SYLLABLE GWEOM;Lo;0;L;;;;;N;;;;;
-AD99;HANGUL SYLLABLE GWEOB;Lo;0;L;;;;;N;;;;;
-AD9A;HANGUL SYLLABLE GWEOBS;Lo;0;L;;;;;N;;;;;
-AD9B;HANGUL SYLLABLE GWEOS;Lo;0;L;;;;;N;;;;;
-AD9C;HANGUL SYLLABLE GWEOSS;Lo;0;L;;;;;N;;;;;
-AD9D;HANGUL SYLLABLE GWEONG;Lo;0;L;;;;;N;;;;;
-AD9E;HANGUL SYLLABLE GWEOJ;Lo;0;L;;;;;N;;;;;
-AD9F;HANGUL SYLLABLE GWEOC;Lo;0;L;;;;;N;;;;;
-ADA0;HANGUL SYLLABLE GWEOK;Lo;0;L;;;;;N;;;;;
-ADA1;HANGUL SYLLABLE GWEOT;Lo;0;L;;;;;N;;;;;
-ADA2;HANGUL SYLLABLE GWEOP;Lo;0;L;;;;;N;;;;;
-ADA3;HANGUL SYLLABLE GWEOH;Lo;0;L;;;;;N;;;;;
-ADA4;HANGUL SYLLABLE GWE;Lo;0;L;;;;;N;;;;;
-ADA5;HANGUL SYLLABLE GWEG;Lo;0;L;;;;;N;;;;;
-ADA6;HANGUL SYLLABLE GWEGG;Lo;0;L;;;;;N;;;;;
-ADA7;HANGUL SYLLABLE GWEGS;Lo;0;L;;;;;N;;;;;
-ADA8;HANGUL SYLLABLE GWEN;Lo;0;L;;;;;N;;;;;
-ADA9;HANGUL SYLLABLE GWENI;Lo;0;L;;;;;N;;;;;
-ADAA;HANGUL SYLLABLE GWENH;Lo;0;L;;;;;N;;;;;
-ADAB;HANGUL SYLLABLE GWED;Lo;0;L;;;;;N;;;;;
-ADAC;HANGUL SYLLABLE GWEL;Lo;0;L;;;;;N;;;;;
-ADAD;HANGUL SYLLABLE GWELG;Lo;0;L;;;;;N;;;;;
-ADAE;HANGUL SYLLABLE GWELM;Lo;0;L;;;;;N;;;;;
-ADAF;HANGUL SYLLABLE GWELB;Lo;0;L;;;;;N;;;;;
-ADB0;HANGUL SYLLABLE GWELS;Lo;0;L;;;;;N;;;;;
-ADB1;HANGUL SYLLABLE GWELT;Lo;0;L;;;;;N;;;;;
-ADB2;HANGUL SYLLABLE GWELP;Lo;0;L;;;;;N;;;;;
-ADB3;HANGUL SYLLABLE GWELH;Lo;0;L;;;;;N;;;;;
-ADB4;HANGUL SYLLABLE GWEM;Lo;0;L;;;;;N;;;;;
-ADB5;HANGUL SYLLABLE GWEB;Lo;0;L;;;;;N;;;;;
-ADB6;HANGUL SYLLABLE GWEBS;Lo;0;L;;;;;N;;;;;
-ADB7;HANGUL SYLLABLE GWES;Lo;0;L;;;;;N;;;;;
-ADB8;HANGUL SYLLABLE GWESS;Lo;0;L;;;;;N;;;;;
-ADB9;HANGUL SYLLABLE GWENG;Lo;0;L;;;;;N;;;;;
-ADBA;HANGUL SYLLABLE GWEJ;Lo;0;L;;;;;N;;;;;
-ADBB;HANGUL SYLLABLE GWEC;Lo;0;L;;;;;N;;;;;
-ADBC;HANGUL SYLLABLE GWEK;Lo;0;L;;;;;N;;;;;
-ADBD;HANGUL SYLLABLE GWET;Lo;0;L;;;;;N;;;;;
-ADBE;HANGUL SYLLABLE GWEP;Lo;0;L;;;;;N;;;;;
-ADBF;HANGUL SYLLABLE GWEH;Lo;0;L;;;;;N;;;;;
-ADC0;HANGUL SYLLABLE GWI;Lo;0;L;;;;;N;;;;;
-ADC1;HANGUL SYLLABLE GWIG;Lo;0;L;;;;;N;;;;;
-ADC2;HANGUL SYLLABLE GWIGG;Lo;0;L;;;;;N;;;;;
-ADC3;HANGUL SYLLABLE GWIGS;Lo;0;L;;;;;N;;;;;
-ADC4;HANGUL SYLLABLE GWIN;Lo;0;L;;;;;N;;;;;
-ADC5;HANGUL SYLLABLE GWINI;Lo;0;L;;;;;N;;;;;
-ADC6;HANGUL SYLLABLE GWINH;Lo;0;L;;;;;N;;;;;
-ADC7;HANGUL SYLLABLE GWID;Lo;0;L;;;;;N;;;;;
-ADC8;HANGUL SYLLABLE GWIL;Lo;0;L;;;;;N;;;;;
-ADC9;HANGUL SYLLABLE GWILG;Lo;0;L;;;;;N;;;;;
-ADCA;HANGUL SYLLABLE GWILM;Lo;0;L;;;;;N;;;;;
-ADCB;HANGUL SYLLABLE GWILB;Lo;0;L;;;;;N;;;;;
-ADCC;HANGUL SYLLABLE GWILS;Lo;0;L;;;;;N;;;;;
-ADCD;HANGUL SYLLABLE GWILT;Lo;0;L;;;;;N;;;;;
-ADCE;HANGUL SYLLABLE GWILP;Lo;0;L;;;;;N;;;;;
-ADCF;HANGUL SYLLABLE GWILH;Lo;0;L;;;;;N;;;;;
-ADD0;HANGUL SYLLABLE GWIM;Lo;0;L;;;;;N;;;;;
-ADD1;HANGUL SYLLABLE GWIB;Lo;0;L;;;;;N;;;;;
-ADD2;HANGUL SYLLABLE GWIBS;Lo;0;L;;;;;N;;;;;
-ADD3;HANGUL SYLLABLE GWIS;Lo;0;L;;;;;N;;;;;
-ADD4;HANGUL SYLLABLE GWISS;Lo;0;L;;;;;N;;;;;
-ADD5;HANGUL SYLLABLE GWING;Lo;0;L;;;;;N;;;;;
-ADD6;HANGUL SYLLABLE GWIJ;Lo;0;L;;;;;N;;;;;
-ADD7;HANGUL SYLLABLE GWIC;Lo;0;L;;;;;N;;;;;
-ADD8;HANGUL SYLLABLE GWIK;Lo;0;L;;;;;N;;;;;
-ADD9;HANGUL SYLLABLE GWIT;Lo;0;L;;;;;N;;;;;
-ADDA;HANGUL SYLLABLE GWIP;Lo;0;L;;;;;N;;;;;
-ADDB;HANGUL SYLLABLE GWIH;Lo;0;L;;;;;N;;;;;
-ADDC;HANGUL SYLLABLE GYU;Lo;0;L;;;;;N;;;;;
-ADDD;HANGUL SYLLABLE GYUG;Lo;0;L;;;;;N;;;;;
-ADDE;HANGUL SYLLABLE GYUGG;Lo;0;L;;;;;N;;;;;
-ADDF;HANGUL SYLLABLE GYUGS;Lo;0;L;;;;;N;;;;;
-ADE0;HANGUL SYLLABLE GYUN;Lo;0;L;;;;;N;;;;;
-ADE1;HANGUL SYLLABLE GYUNI;Lo;0;L;;;;;N;;;;;
-ADE2;HANGUL SYLLABLE GYUNH;Lo;0;L;;;;;N;;;;;
-ADE3;HANGUL SYLLABLE GYUD;Lo;0;L;;;;;N;;;;;
-ADE4;HANGUL SYLLABLE GYUL;Lo;0;L;;;;;N;;;;;
-ADE5;HANGUL SYLLABLE GYULG;Lo;0;L;;;;;N;;;;;
-ADE6;HANGUL SYLLABLE GYULM;Lo;0;L;;;;;N;;;;;
-ADE7;HANGUL SYLLABLE GYULB;Lo;0;L;;;;;N;;;;;
-ADE8;HANGUL SYLLABLE GYULS;Lo;0;L;;;;;N;;;;;
-ADE9;HANGUL SYLLABLE GYULT;Lo;0;L;;;;;N;;;;;
-ADEA;HANGUL SYLLABLE GYULP;Lo;0;L;;;;;N;;;;;
-ADEB;HANGUL SYLLABLE GYULH;Lo;0;L;;;;;N;;;;;
-ADEC;HANGUL SYLLABLE GYUM;Lo;0;L;;;;;N;;;;;
-ADED;HANGUL SYLLABLE GYUB;Lo;0;L;;;;;N;;;;;
-ADEE;HANGUL SYLLABLE GYUBS;Lo;0;L;;;;;N;;;;;
-ADEF;HANGUL SYLLABLE GYUS;Lo;0;L;;;;;N;;;;;
-ADF0;HANGUL SYLLABLE GYUSS;Lo;0;L;;;;;N;;;;;
-ADF1;HANGUL SYLLABLE GYUNG;Lo;0;L;;;;;N;;;;;
-ADF2;HANGUL SYLLABLE GYUJ;Lo;0;L;;;;;N;;;;;
-ADF3;HANGUL SYLLABLE GYUC;Lo;0;L;;;;;N;;;;;
-ADF4;HANGUL SYLLABLE GYUK;Lo;0;L;;;;;N;;;;;
-ADF5;HANGUL SYLLABLE GYUT;Lo;0;L;;;;;N;;;;;
-ADF6;HANGUL SYLLABLE GYUP;Lo;0;L;;;;;N;;;;;
-ADF7;HANGUL SYLLABLE GYUH;Lo;0;L;;;;;N;;;;;
-ADF8;HANGUL SYLLABLE GEU;Lo;0;L;;;;;N;;;;;
-ADF9;HANGUL SYLLABLE GEUG;Lo;0;L;;;;;N;;;;;
-ADFA;HANGUL SYLLABLE GEUGG;Lo;0;L;;;;;N;;;;;
-ADFB;HANGUL SYLLABLE GEUGS;Lo;0;L;;;;;N;;;;;
-ADFC;HANGUL SYLLABLE GEUN;Lo;0;L;;;;;N;;;;;
-ADFD;HANGUL SYLLABLE GEUNI;Lo;0;L;;;;;N;;;;;
-ADFE;HANGUL SYLLABLE GEUNH;Lo;0;L;;;;;N;;;;;
-ADFF;HANGUL SYLLABLE GEUD;Lo;0;L;;;;;N;;;;;
-AE00;HANGUL SYLLABLE GEUL;Lo;0;L;;;;;N;;;;;
-AE01;HANGUL SYLLABLE GEULG;Lo;0;L;;;;;N;;;;;
-AE02;HANGUL SYLLABLE GEULM;Lo;0;L;;;;;N;;;;;
-AE03;HANGUL SYLLABLE GEULB;Lo;0;L;;;;;N;;;;;
-AE04;HANGUL SYLLABLE GEULS;Lo;0;L;;;;;N;;;;;
-AE05;HANGUL SYLLABLE GEULT;Lo;0;L;;;;;N;;;;;
-AE06;HANGUL SYLLABLE GEULP;Lo;0;L;;;;;N;;;;;
-AE07;HANGUL SYLLABLE GEULH;Lo;0;L;;;;;N;;;;;
-AE08;HANGUL SYLLABLE GEUM;Lo;0;L;;;;;N;;;;;
-AE09;HANGUL SYLLABLE GEUB;Lo;0;L;;;;;N;;;;;
-AE0A;HANGUL SYLLABLE GEUBS;Lo;0;L;;;;;N;;;;;
-AE0B;HANGUL SYLLABLE GEUS;Lo;0;L;;;;;N;;;;;
-AE0C;HANGUL SYLLABLE GEUSS;Lo;0;L;;;;;N;;;;;
-AE0D;HANGUL SYLLABLE GEUNG;Lo;0;L;;;;;N;;;;;
-AE0E;HANGUL SYLLABLE GEUJ;Lo;0;L;;;;;N;;;;;
-AE0F;HANGUL SYLLABLE GEUC;Lo;0;L;;;;;N;;;;;
-AE10;HANGUL SYLLABLE GEUK;Lo;0;L;;;;;N;;;;;
-AE11;HANGUL SYLLABLE GEUT;Lo;0;L;;;;;N;;;;;
-AE12;HANGUL SYLLABLE GEUP;Lo;0;L;;;;;N;;;;;
-AE13;HANGUL SYLLABLE GEUH;Lo;0;L;;;;;N;;;;;
-AE14;HANGUL SYLLABLE GYI;Lo;0;L;;;;;N;;;;;
-AE15;HANGUL SYLLABLE GYIG;Lo;0;L;;;;;N;;;;;
-AE16;HANGUL SYLLABLE GYIGG;Lo;0;L;;;;;N;;;;;
-AE17;HANGUL SYLLABLE GYIGS;Lo;0;L;;;;;N;;;;;
-AE18;HANGUL SYLLABLE GYIN;Lo;0;L;;;;;N;;;;;
-AE19;HANGUL SYLLABLE GYINI;Lo;0;L;;;;;N;;;;;
-AE1A;HANGUL SYLLABLE GYINH;Lo;0;L;;;;;N;;;;;
-AE1B;HANGUL SYLLABLE GYID;Lo;0;L;;;;;N;;;;;
-AE1C;HANGUL SYLLABLE GYIL;Lo;0;L;;;;;N;;;;;
-AE1D;HANGUL SYLLABLE GYILG;Lo;0;L;;;;;N;;;;;
-AE1E;HANGUL SYLLABLE GYILM;Lo;0;L;;;;;N;;;;;
-AE1F;HANGUL SYLLABLE GYILB;Lo;0;L;;;;;N;;;;;
-AE20;HANGUL SYLLABLE GYILS;Lo;0;L;;;;;N;;;;;
-AE21;HANGUL SYLLABLE GYILT;Lo;0;L;;;;;N;;;;;
-AE22;HANGUL SYLLABLE GYILP;Lo;0;L;;;;;N;;;;;
-AE23;HANGUL SYLLABLE GYILH;Lo;0;L;;;;;N;;;;;
-AE24;HANGUL SYLLABLE GYIM;Lo;0;L;;;;;N;;;;;
-AE25;HANGUL SYLLABLE GYIB;Lo;0;L;;;;;N;;;;;
-AE26;HANGUL SYLLABLE GYIBS;Lo;0;L;;;;;N;;;;;
-AE27;HANGUL SYLLABLE GYIS;Lo;0;L;;;;;N;;;;;
-AE28;HANGUL SYLLABLE GYISS;Lo;0;L;;;;;N;;;;;
-AE29;HANGUL SYLLABLE GYING;Lo;0;L;;;;;N;;;;;
-AE2A;HANGUL SYLLABLE GYIJ;Lo;0;L;;;;;N;;;;;
-AE2B;HANGUL SYLLABLE GYIC;Lo;0;L;;;;;N;;;;;
-AE2C;HANGUL SYLLABLE GYIK;Lo;0;L;;;;;N;;;;;
-AE2D;HANGUL SYLLABLE GYIT;Lo;0;L;;;;;N;;;;;
-AE2E;HANGUL SYLLABLE GYIP;Lo;0;L;;;;;N;;;;;
-AE2F;HANGUL SYLLABLE GYIH;Lo;0;L;;;;;N;;;;;
-AE30;HANGUL SYLLABLE GI;Lo;0;L;;;;;N;;;;;
-AE31;HANGUL SYLLABLE GIG;Lo;0;L;;;;;N;;;;;
-AE32;HANGUL SYLLABLE GIGG;Lo;0;L;;;;;N;;;;;
-AE33;HANGUL SYLLABLE GIGS;Lo;0;L;;;;;N;;;;;
-AE34;HANGUL SYLLABLE GIN;Lo;0;L;;;;;N;;;;;
-AE35;HANGUL SYLLABLE GINI;Lo;0;L;;;;;N;;;;;
-AE36;HANGUL SYLLABLE GINH;Lo;0;L;;;;;N;;;;;
-AE37;HANGUL SYLLABLE GID;Lo;0;L;;;;;N;;;;;
-AE38;HANGUL SYLLABLE GIL;Lo;0;L;;;;;N;;;;;
-AE39;HANGUL SYLLABLE GILG;Lo;0;L;;;;;N;;;;;
-AE3A;HANGUL SYLLABLE GILM;Lo;0;L;;;;;N;;;;;
-AE3B;HANGUL SYLLABLE GILB;Lo;0;L;;;;;N;;;;;
-AE3C;HANGUL SYLLABLE GILS;Lo;0;L;;;;;N;;;;;
-AE3D;HANGUL SYLLABLE GILT;Lo;0;L;;;;;N;;;;;
-AE3E;HANGUL SYLLABLE GILP;Lo;0;L;;;;;N;;;;;
-AE3F;HANGUL SYLLABLE GILH;Lo;0;L;;;;;N;;;;;
-AE40;HANGUL SYLLABLE GIM;Lo;0;L;;;;;N;;;;;
-AE41;HANGUL SYLLABLE GIB;Lo;0;L;;;;;N;;;;;
-AE42;HANGUL SYLLABLE GIBS;Lo;0;L;;;;;N;;;;;
-AE43;HANGUL SYLLABLE GIS;Lo;0;L;;;;;N;;;;;
-AE44;HANGUL SYLLABLE GISS;Lo;0;L;;;;;N;;;;;
-AE45;HANGUL SYLLABLE GING;Lo;0;L;;;;;N;;;;;
-AE46;HANGUL SYLLABLE GIJ;Lo;0;L;;;;;N;;;;;
-AE47;HANGUL SYLLABLE GIC;Lo;0;L;;;;;N;;;;;
-AE48;HANGUL SYLLABLE GIK;Lo;0;L;;;;;N;;;;;
-AE49;HANGUL SYLLABLE GIT;Lo;0;L;;;;;N;;;;;
-AE4A;HANGUL SYLLABLE GIP;Lo;0;L;;;;;N;;;;;
-AE4B;HANGUL SYLLABLE GIH;Lo;0;L;;;;;N;;;;;
-AE4C;HANGUL SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
-AE4D;HANGUL SYLLABLE GGAG;Lo;0;L;;;;;N;;;;;
-AE4E;HANGUL SYLLABLE GGAGG;Lo;0;L;;;;;N;;;;;
-AE4F;HANGUL SYLLABLE GGAGS;Lo;0;L;;;;;N;;;;;
-AE50;HANGUL SYLLABLE GGAN;Lo;0;L;;;;;N;;;;;
-AE51;HANGUL SYLLABLE GGANI;Lo;0;L;;;;;N;;;;;
-AE52;HANGUL SYLLABLE GGANH;Lo;0;L;;;;;N;;;;;
-AE53;HANGUL SYLLABLE GGAD;Lo;0;L;;;;;N;;;;;
-AE54;HANGUL SYLLABLE GGAL;Lo;0;L;;;;;N;;;;;
-AE55;HANGUL SYLLABLE GGALG;Lo;0;L;;;;;N;;;;;
-AE56;HANGUL SYLLABLE GGALM;Lo;0;L;;;;;N;;;;;
-AE57;HANGUL SYLLABLE GGALB;Lo;0;L;;;;;N;;;;;
-AE58;HANGUL SYLLABLE GGALS;Lo;0;L;;;;;N;;;;;
-AE59;HANGUL SYLLABLE GGALT;Lo;0;L;;;;;N;;;;;
-AE5A;HANGUL SYLLABLE GGALP;Lo;0;L;;;;;N;;;;;
-AE5B;HANGUL SYLLABLE GGALH;Lo;0;L;;;;;N;;;;;
-AE5C;HANGUL SYLLABLE GGAM;Lo;0;L;;;;;N;;;;;
-AE5D;HANGUL SYLLABLE GGAB;Lo;0;L;;;;;N;;;;;
-AE5E;HANGUL SYLLABLE GGABS;Lo;0;L;;;;;N;;;;;
-AE5F;HANGUL SYLLABLE GGAS;Lo;0;L;;;;;N;;;;;
-AE60;HANGUL SYLLABLE GGASS;Lo;0;L;;;;;N;;;;;
-AE61;HANGUL SYLLABLE GGANG;Lo;0;L;;;;;N;;;;;
-AE62;HANGUL SYLLABLE GGAJ;Lo;0;L;;;;;N;;;;;
-AE63;HANGUL SYLLABLE GGAC;Lo;0;L;;;;;N;;;;;
-AE64;HANGUL SYLLABLE GGAK;Lo;0;L;;;;;N;;;;;
-AE65;HANGUL SYLLABLE GGAT;Lo;0;L;;;;;N;;;;;
-AE66;HANGUL SYLLABLE GGAP;Lo;0;L;;;;;N;;;;;
-AE67;HANGUL SYLLABLE GGAH;Lo;0;L;;;;;N;;;;;
-AE68;HANGUL SYLLABLE GGAE;Lo;0;L;;;;;N;;;;;
-AE69;HANGUL SYLLABLE GGAEG;Lo;0;L;;;;;N;;;;;
-AE6A;HANGUL SYLLABLE GGAEGG;Lo;0;L;;;;;N;;;;;
-AE6B;HANGUL SYLLABLE GGAEGS;Lo;0;L;;;;;N;;;;;
-AE6C;HANGUL SYLLABLE GGAEN;Lo;0;L;;;;;N;;;;;
-AE6D;HANGUL SYLLABLE GGAENI;Lo;0;L;;;;;N;;;;;
-AE6E;HANGUL SYLLABLE GGAENH;Lo;0;L;;;;;N;;;;;
-AE6F;HANGUL SYLLABLE GGAED;Lo;0;L;;;;;N;;;;;
-AE70;HANGUL SYLLABLE GGAEL;Lo;0;L;;;;;N;;;;;
-AE71;HANGUL SYLLABLE GGAELG;Lo;0;L;;;;;N;;;;;
-AE72;HANGUL SYLLABLE GGAELM;Lo;0;L;;;;;N;;;;;
-AE73;HANGUL SYLLABLE GGAELB;Lo;0;L;;;;;N;;;;;
-AE74;HANGUL SYLLABLE GGAELS;Lo;0;L;;;;;N;;;;;
-AE75;HANGUL SYLLABLE GGAELT;Lo;0;L;;;;;N;;;;;
-AE76;HANGUL SYLLABLE GGAELP;Lo;0;L;;;;;N;;;;;
-AE77;HANGUL SYLLABLE GGAELH;Lo;0;L;;;;;N;;;;;
-AE78;HANGUL SYLLABLE GGAEM;Lo;0;L;;;;;N;;;;;
-AE79;HANGUL SYLLABLE GGAEB;Lo;0;L;;;;;N;;;;;
-AE7A;HANGUL SYLLABLE GGAEBS;Lo;0;L;;;;;N;;;;;
-AE7B;HANGUL SYLLABLE GGAES;Lo;0;L;;;;;N;;;;;
-AE7C;HANGUL SYLLABLE GGAESS;Lo;0;L;;;;;N;;;;;
-AE7D;HANGUL SYLLABLE GGAENG;Lo;0;L;;;;;N;;;;;
-AE7E;HANGUL SYLLABLE GGAEJ;Lo;0;L;;;;;N;;;;;
-AE7F;HANGUL SYLLABLE GGAEC;Lo;0;L;;;;;N;;;;;
-AE80;HANGUL SYLLABLE GGAEK;Lo;0;L;;;;;N;;;;;
-AE81;HANGUL SYLLABLE GGAET;Lo;0;L;;;;;N;;;;;
-AE82;HANGUL SYLLABLE GGAEP;Lo;0;L;;;;;N;;;;;
-AE83;HANGUL SYLLABLE GGAEH;Lo;0;L;;;;;N;;;;;
-AE84;HANGUL SYLLABLE GGYA;Lo;0;L;;;;;N;;;;;
-AE85;HANGUL SYLLABLE GGYAG;Lo;0;L;;;;;N;;;;;
-AE86;HANGUL SYLLABLE GGYAGG;Lo;0;L;;;;;N;;;;;
-AE87;HANGUL SYLLABLE GGYAGS;Lo;0;L;;;;;N;;;;;
-AE88;HANGUL SYLLABLE GGYAN;Lo;0;L;;;;;N;;;;;
-AE89;HANGUL SYLLABLE GGYANI;Lo;0;L;;;;;N;;;;;
-AE8A;HANGUL SYLLABLE GGYANH;Lo;0;L;;;;;N;;;;;
-AE8B;HANGUL SYLLABLE GGYAD;Lo;0;L;;;;;N;;;;;
-AE8C;HANGUL SYLLABLE GGYAL;Lo;0;L;;;;;N;;;;;
-AE8D;HANGUL SYLLABLE GGYALG;Lo;0;L;;;;;N;;;;;
-AE8E;HANGUL SYLLABLE GGYALM;Lo;0;L;;;;;N;;;;;
-AE8F;HANGUL SYLLABLE GGYALB;Lo;0;L;;;;;N;;;;;
-AE90;HANGUL SYLLABLE GGYALS;Lo;0;L;;;;;N;;;;;
-AE91;HANGUL SYLLABLE GGYALT;Lo;0;L;;;;;N;;;;;
-AE92;HANGUL SYLLABLE GGYALP;Lo;0;L;;;;;N;;;;;
-AE93;HANGUL SYLLABLE GGYALH;Lo;0;L;;;;;N;;;;;
-AE94;HANGUL SYLLABLE GGYAM;Lo;0;L;;;;;N;;;;;
-AE95;HANGUL SYLLABLE GGYAB;Lo;0;L;;;;;N;;;;;
-AE96;HANGUL SYLLABLE GGYABS;Lo;0;L;;;;;N;;;;;
-AE97;HANGUL SYLLABLE GGYAS;Lo;0;L;;;;;N;;;;;
-AE98;HANGUL SYLLABLE GGYASS;Lo;0;L;;;;;N;;;;;
-AE99;HANGUL SYLLABLE GGYANG;Lo;0;L;;;;;N;;;;;
-AE9A;HANGUL SYLLABLE GGYAJ;Lo;0;L;;;;;N;;;;;
-AE9B;HANGUL SYLLABLE GGYAC;Lo;0;L;;;;;N;;;;;
-AE9C;HANGUL SYLLABLE GGYAK;Lo;0;L;;;;;N;;;;;
-AE9D;HANGUL SYLLABLE GGYAT;Lo;0;L;;;;;N;;;;;
-AE9E;HANGUL SYLLABLE GGYAP;Lo;0;L;;;;;N;;;;;
-AE9F;HANGUL SYLLABLE GGYAH;Lo;0;L;;;;;N;;;;;
-AEA0;HANGUL SYLLABLE GGYAE;Lo;0;L;;;;;N;;;;;
-AEA1;HANGUL SYLLABLE GGYAEG;Lo;0;L;;;;;N;;;;;
-AEA2;HANGUL SYLLABLE GGYAEGG;Lo;0;L;;;;;N;;;;;
-AEA3;HANGUL SYLLABLE GGYAEGS;Lo;0;L;;;;;N;;;;;
-AEA4;HANGUL SYLLABLE GGYAEN;Lo;0;L;;;;;N;;;;;
-AEA5;HANGUL SYLLABLE GGYAENI;Lo;0;L;;;;;N;;;;;
-AEA6;HANGUL SYLLABLE GGYAENH;Lo;0;L;;;;;N;;;;;
-AEA7;HANGUL SYLLABLE GGYAED;Lo;0;L;;;;;N;;;;;
-AEA8;HANGUL SYLLABLE GGYAEL;Lo;0;L;;;;;N;;;;;
-AEA9;HANGUL SYLLABLE GGYAELG;Lo;0;L;;;;;N;;;;;
-AEAA;HANGUL SYLLABLE GGYAELM;Lo;0;L;;;;;N;;;;;
-AEAB;HANGUL SYLLABLE GGYAELB;Lo;0;L;;;;;N;;;;;
-AEAC;HANGUL SYLLABLE GGYAELS;Lo;0;L;;;;;N;;;;;
-AEAD;HANGUL SYLLABLE GGYAELT;Lo;0;L;;;;;N;;;;;
-AEAE;HANGUL SYLLABLE GGYAELP;Lo;0;L;;;;;N;;;;;
-AEAF;HANGUL SYLLABLE GGYAELH;Lo;0;L;;;;;N;;;;;
-AEB0;HANGUL SYLLABLE GGYAEM;Lo;0;L;;;;;N;;;;;
-AEB1;HANGUL SYLLABLE GGYAEB;Lo;0;L;;;;;N;;;;;
-AEB2;HANGUL SYLLABLE GGYAEBS;Lo;0;L;;;;;N;;;;;
-AEB3;HANGUL SYLLABLE GGYAES;Lo;0;L;;;;;N;;;;;
-AEB4;HANGUL SYLLABLE GGYAESS;Lo;0;L;;;;;N;;;;;
-AEB5;HANGUL SYLLABLE GGYAENG;Lo;0;L;;;;;N;;;;;
-AEB6;HANGUL SYLLABLE GGYAEJ;Lo;0;L;;;;;N;;;;;
-AEB7;HANGUL SYLLABLE GGYAEC;Lo;0;L;;;;;N;;;;;
-AEB8;HANGUL SYLLABLE GGYAEK;Lo;0;L;;;;;N;;;;;
-AEB9;HANGUL SYLLABLE GGYAET;Lo;0;L;;;;;N;;;;;
-AEBA;HANGUL SYLLABLE GGYAEP;Lo;0;L;;;;;N;;;;;
-AEBB;HANGUL SYLLABLE GGYAEH;Lo;0;L;;;;;N;;;;;
-AEBC;HANGUL SYLLABLE GGEO;Lo;0;L;;;;;N;;;;;
-AEBD;HANGUL SYLLABLE GGEOG;Lo;0;L;;;;;N;;;;;
-AEBE;HANGUL SYLLABLE GGEOGG;Lo;0;L;;;;;N;;;;;
-AEBF;HANGUL SYLLABLE GGEOGS;Lo;0;L;;;;;N;;;;;
-AEC0;HANGUL SYLLABLE GGEON;Lo;0;L;;;;;N;;;;;
-AEC1;HANGUL SYLLABLE GGEONI;Lo;0;L;;;;;N;;;;;
-AEC2;HANGUL SYLLABLE GGEONH;Lo;0;L;;;;;N;;;;;
-AEC3;HANGUL SYLLABLE GGEOD;Lo;0;L;;;;;N;;;;;
-AEC4;HANGUL SYLLABLE GGEOL;Lo;0;L;;;;;N;;;;;
-AEC5;HANGUL SYLLABLE GGEOLG;Lo;0;L;;;;;N;;;;;
-AEC6;HANGUL SYLLABLE GGEOLM;Lo;0;L;;;;;N;;;;;
-AEC7;HANGUL SYLLABLE GGEOLB;Lo;0;L;;;;;N;;;;;
-AEC8;HANGUL SYLLABLE GGEOLS;Lo;0;L;;;;;N;;;;;
-AEC9;HANGUL SYLLABLE GGEOLT;Lo;0;L;;;;;N;;;;;
-AECA;HANGUL SYLLABLE GGEOLP;Lo;0;L;;;;;N;;;;;
-AECB;HANGUL SYLLABLE GGEOLH;Lo;0;L;;;;;N;;;;;
-AECC;HANGUL SYLLABLE GGEOM;Lo;0;L;;;;;N;;;;;
-AECD;HANGUL SYLLABLE GGEOB;Lo;0;L;;;;;N;;;;;
-AECE;HANGUL SYLLABLE GGEOBS;Lo;0;L;;;;;N;;;;;
-AECF;HANGUL SYLLABLE GGEOS;Lo;0;L;;;;;N;;;;;
-AED0;HANGUL SYLLABLE GGEOSS;Lo;0;L;;;;;N;;;;;
-AED1;HANGUL SYLLABLE GGEONG;Lo;0;L;;;;;N;;;;;
-AED2;HANGUL SYLLABLE GGEOJ;Lo;0;L;;;;;N;;;;;
-AED3;HANGUL SYLLABLE GGEOC;Lo;0;L;;;;;N;;;;;
-AED4;HANGUL SYLLABLE GGEOK;Lo;0;L;;;;;N;;;;;
-AED5;HANGUL SYLLABLE GGEOT;Lo;0;L;;;;;N;;;;;
-AED6;HANGUL SYLLABLE GGEOP;Lo;0;L;;;;;N;;;;;
-AED7;HANGUL SYLLABLE GGEOH;Lo;0;L;;;;;N;;;;;
-AED8;HANGUL SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
-AED9;HANGUL SYLLABLE GGEG;Lo;0;L;;;;;N;;;;;
-AEDA;HANGUL SYLLABLE GGEGG;Lo;0;L;;;;;N;;;;;
-AEDB;HANGUL SYLLABLE GGEGS;Lo;0;L;;;;;N;;;;;
-AEDC;HANGUL SYLLABLE GGEN;Lo;0;L;;;;;N;;;;;
-AEDD;HANGUL SYLLABLE GGENI;Lo;0;L;;;;;N;;;;;
-AEDE;HANGUL SYLLABLE GGENH;Lo;0;L;;;;;N;;;;;
-AEDF;HANGUL SYLLABLE GGED;Lo;0;L;;;;;N;;;;;
-AEE0;HANGUL SYLLABLE GGEL;Lo;0;L;;;;;N;;;;;
-AEE1;HANGUL SYLLABLE GGELG;Lo;0;L;;;;;N;;;;;
-AEE2;HANGUL SYLLABLE GGELM;Lo;0;L;;;;;N;;;;;
-AEE3;HANGUL SYLLABLE GGELB;Lo;0;L;;;;;N;;;;;
-AEE4;HANGUL SYLLABLE GGELS;Lo;0;L;;;;;N;;;;;
-AEE5;HANGUL SYLLABLE GGELT;Lo;0;L;;;;;N;;;;;
-AEE6;HANGUL SYLLABLE GGELP;Lo;0;L;;;;;N;;;;;
-AEE7;HANGUL SYLLABLE GGELH;Lo;0;L;;;;;N;;;;;
-AEE8;HANGUL SYLLABLE GGEM;Lo;0;L;;;;;N;;;;;
-AEE9;HANGUL SYLLABLE GGEB;Lo;0;L;;;;;N;;;;;
-AEEA;HANGUL SYLLABLE GGEBS;Lo;0;L;;;;;N;;;;;
-AEEB;HANGUL SYLLABLE GGES;Lo;0;L;;;;;N;;;;;
-AEEC;HANGUL SYLLABLE GGESS;Lo;0;L;;;;;N;;;;;
-AEED;HANGUL SYLLABLE GGENG;Lo;0;L;;;;;N;;;;;
-AEEE;HANGUL SYLLABLE GGEJ;Lo;0;L;;;;;N;;;;;
-AEEF;HANGUL SYLLABLE GGEC;Lo;0;L;;;;;N;;;;;
-AEF0;HANGUL SYLLABLE GGEK;Lo;0;L;;;;;N;;;;;
-AEF1;HANGUL SYLLABLE GGET;Lo;0;L;;;;;N;;;;;
-AEF2;HANGUL SYLLABLE GGEP;Lo;0;L;;;;;N;;;;;
-AEF3;HANGUL SYLLABLE GGEH;Lo;0;L;;;;;N;;;;;
-AEF4;HANGUL SYLLABLE GGYEO;Lo;0;L;;;;;N;;;;;
-AEF5;HANGUL SYLLABLE GGYEOG;Lo;0;L;;;;;N;;;;;
-AEF6;HANGUL SYLLABLE GGYEOGG;Lo;0;L;;;;;N;;;;;
-AEF7;HANGUL SYLLABLE GGYEOGS;Lo;0;L;;;;;N;;;;;
-AEF8;HANGUL SYLLABLE GGYEON;Lo;0;L;;;;;N;;;;;
-AEF9;HANGUL SYLLABLE GGYEONI;Lo;0;L;;;;;N;;;;;
-AEFA;HANGUL SYLLABLE GGYEONH;Lo;0;L;;;;;N;;;;;
-AEFB;HANGUL SYLLABLE GGYEOD;Lo;0;L;;;;;N;;;;;
-AEFC;HANGUL SYLLABLE GGYEOL;Lo;0;L;;;;;N;;;;;
-AEFD;HANGUL SYLLABLE GGYEOLG;Lo;0;L;;;;;N;;;;;
-AEFE;HANGUL SYLLABLE GGYEOLM;Lo;0;L;;;;;N;;;;;
-AEFF;HANGUL SYLLABLE GGYEOLB;Lo;0;L;;;;;N;;;;;
-AF00;HANGUL SYLLABLE GGYEOLS;Lo;0;L;;;;;N;;;;;
-AF01;HANGUL SYLLABLE GGYEOLT;Lo;0;L;;;;;N;;;;;
-AF02;HANGUL SYLLABLE GGYEOLP;Lo;0;L;;;;;N;;;;;
-AF03;HANGUL SYLLABLE GGYEOLH;Lo;0;L;;;;;N;;;;;
-AF04;HANGUL SYLLABLE GGYEOM;Lo;0;L;;;;;N;;;;;
-AF05;HANGUL SYLLABLE GGYEOB;Lo;0;L;;;;;N;;;;;
-AF06;HANGUL SYLLABLE GGYEOBS;Lo;0;L;;;;;N;;;;;
-AF07;HANGUL SYLLABLE GGYEOS;Lo;0;L;;;;;N;;;;;
-AF08;HANGUL SYLLABLE GGYEOSS;Lo;0;L;;;;;N;;;;;
-AF09;HANGUL SYLLABLE GGYEONG;Lo;0;L;;;;;N;;;;;
-AF0A;HANGUL SYLLABLE GGYEOJ;Lo;0;L;;;;;N;;;;;
-AF0B;HANGUL SYLLABLE GGYEOC;Lo;0;L;;;;;N;;;;;
-AF0C;HANGUL SYLLABLE GGYEOK;Lo;0;L;;;;;N;;;;;
-AF0D;HANGUL SYLLABLE GGYEOT;Lo;0;L;;;;;N;;;;;
-AF0E;HANGUL SYLLABLE GGYEOP;Lo;0;L;;;;;N;;;;;
-AF0F;HANGUL SYLLABLE GGYEOH;Lo;0;L;;;;;N;;;;;
-AF10;HANGUL SYLLABLE GGYE;Lo;0;L;;;;;N;;;;;
-AF11;HANGUL SYLLABLE GGYEG;Lo;0;L;;;;;N;;;;;
-AF12;HANGUL SYLLABLE GGYEGG;Lo;0;L;;;;;N;;;;;
-AF13;HANGUL SYLLABLE GGYEGS;Lo;0;L;;;;;N;;;;;
-AF14;HANGUL SYLLABLE GGYEN;Lo;0;L;;;;;N;;;;;
-AF15;HANGUL SYLLABLE GGYENI;Lo;0;L;;;;;N;;;;;
-AF16;HANGUL SYLLABLE GGYENH;Lo;0;L;;;;;N;;;;;
-AF17;HANGUL SYLLABLE GGYED;Lo;0;L;;;;;N;;;;;
-AF18;HANGUL SYLLABLE GGYEL;Lo;0;L;;;;;N;;;;;
-AF19;HANGUL SYLLABLE GGYELG;Lo;0;L;;;;;N;;;;;
-AF1A;HANGUL SYLLABLE GGYELM;Lo;0;L;;;;;N;;;;;
-AF1B;HANGUL SYLLABLE GGYELB;Lo;0;L;;;;;N;;;;;
-AF1C;HANGUL SYLLABLE GGYELS;Lo;0;L;;;;;N;;;;;
-AF1D;HANGUL SYLLABLE GGYELT;Lo;0;L;;;;;N;;;;;
-AF1E;HANGUL SYLLABLE GGYELP;Lo;0;L;;;;;N;;;;;
-AF1F;HANGUL SYLLABLE GGYELH;Lo;0;L;;;;;N;;;;;
-AF20;HANGUL SYLLABLE GGYEM;Lo;0;L;;;;;N;;;;;
-AF21;HANGUL SYLLABLE GGYEB;Lo;0;L;;;;;N;;;;;
-AF22;HANGUL SYLLABLE GGYEBS;Lo;0;L;;;;;N;;;;;
-AF23;HANGUL SYLLABLE GGYES;Lo;0;L;;;;;N;;;;;
-AF24;HANGUL SYLLABLE GGYESS;Lo;0;L;;;;;N;;;;;
-AF25;HANGUL SYLLABLE GGYENG;Lo;0;L;;;;;N;;;;;
-AF26;HANGUL SYLLABLE GGYEJ;Lo;0;L;;;;;N;;;;;
-AF27;HANGUL SYLLABLE GGYEC;Lo;0;L;;;;;N;;;;;
-AF28;HANGUL SYLLABLE GGYEK;Lo;0;L;;;;;N;;;;;
-AF29;HANGUL SYLLABLE GGYET;Lo;0;L;;;;;N;;;;;
-AF2A;HANGUL SYLLABLE GGYEP;Lo;0;L;;;;;N;;;;;
-AF2B;HANGUL SYLLABLE GGYEH;Lo;0;L;;;;;N;;;;;
-AF2C;HANGUL SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
-AF2D;HANGUL SYLLABLE GGOG;Lo;0;L;;;;;N;;;;;
-AF2E;HANGUL SYLLABLE GGOGG;Lo;0;L;;;;;N;;;;;
-AF2F;HANGUL SYLLABLE GGOGS;Lo;0;L;;;;;N;;;;;
-AF30;HANGUL SYLLABLE GGON;Lo;0;L;;;;;N;;;;;
-AF31;HANGUL SYLLABLE GGONI;Lo;0;L;;;;;N;;;;;
-AF32;HANGUL SYLLABLE GGONH;Lo;0;L;;;;;N;;;;;
-AF33;HANGUL SYLLABLE GGOD;Lo;0;L;;;;;N;;;;;
-AF34;HANGUL SYLLABLE GGOL;Lo;0;L;;;;;N;;;;;
-AF35;HANGUL SYLLABLE GGOLG;Lo;0;L;;;;;N;;;;;
-AF36;HANGUL SYLLABLE GGOLM;Lo;0;L;;;;;N;;;;;
-AF37;HANGUL SYLLABLE GGOLB;Lo;0;L;;;;;N;;;;;
-AF38;HANGUL SYLLABLE GGOLS;Lo;0;L;;;;;N;;;;;
-AF39;HANGUL SYLLABLE GGOLT;Lo;0;L;;;;;N;;;;;
-AF3A;HANGUL SYLLABLE GGOLP;Lo;0;L;;;;;N;;;;;
-AF3B;HANGUL SYLLABLE GGOLH;Lo;0;L;;;;;N;;;;;
-AF3C;HANGUL SYLLABLE GGOM;Lo;0;L;;;;;N;;;;;
-AF3D;HANGUL SYLLABLE GGOB;Lo;0;L;;;;;N;;;;;
-AF3E;HANGUL SYLLABLE GGOBS;Lo;0;L;;;;;N;;;;;
-AF3F;HANGUL SYLLABLE GGOS;Lo;0;L;;;;;N;;;;;
-AF40;HANGUL SYLLABLE GGOSS;Lo;0;L;;;;;N;;;;;
-AF41;HANGUL SYLLABLE GGONG;Lo;0;L;;;;;N;;;;;
-AF42;HANGUL SYLLABLE GGOJ;Lo;0;L;;;;;N;;;;;
-AF43;HANGUL SYLLABLE GGOC;Lo;0;L;;;;;N;;;;;
-AF44;HANGUL SYLLABLE GGOK;Lo;0;L;;;;;N;;;;;
-AF45;HANGUL SYLLABLE GGOT;Lo;0;L;;;;;N;;;;;
-AF46;HANGUL SYLLABLE GGOP;Lo;0;L;;;;;N;;;;;
-AF47;HANGUL SYLLABLE GGOH;Lo;0;L;;;;;N;;;;;
-AF48;HANGUL SYLLABLE GGWA;Lo;0;L;;;;;N;;;;;
-AF49;HANGUL SYLLABLE GGWAG;Lo;0;L;;;;;N;;;;;
-AF4A;HANGUL SYLLABLE GGWAGG;Lo;0;L;;;;;N;;;;;
-AF4B;HANGUL SYLLABLE GGWAGS;Lo;0;L;;;;;N;;;;;
-AF4C;HANGUL SYLLABLE GGWAN;Lo;0;L;;;;;N;;;;;
-AF4D;HANGUL SYLLABLE GGWANI;Lo;0;L;;;;;N;;;;;
-AF4E;HANGUL SYLLABLE GGWANH;Lo;0;L;;;;;N;;;;;
-AF4F;HANGUL SYLLABLE GGWAD;Lo;0;L;;;;;N;;;;;
-AF50;HANGUL SYLLABLE GGWAL;Lo;0;L;;;;;N;;;;;
-AF51;HANGUL SYLLABLE GGWALG;Lo;0;L;;;;;N;;;;;
-AF52;HANGUL SYLLABLE GGWALM;Lo;0;L;;;;;N;;;;;
-AF53;HANGUL SYLLABLE GGWALB;Lo;0;L;;;;;N;;;;;
-AF54;HANGUL SYLLABLE GGWALS;Lo;0;L;;;;;N;;;;;
-AF55;HANGUL SYLLABLE GGWALT;Lo;0;L;;;;;N;;;;;
-AF56;HANGUL SYLLABLE GGWALP;Lo;0;L;;;;;N;;;;;
-AF57;HANGUL SYLLABLE GGWALH;Lo;0;L;;;;;N;;;;;
-AF58;HANGUL SYLLABLE GGWAM;Lo;0;L;;;;;N;;;;;
-AF59;HANGUL SYLLABLE GGWAB;Lo;0;L;;;;;N;;;;;
-AF5A;HANGUL SYLLABLE GGWABS;Lo;0;L;;;;;N;;;;;
-AF5B;HANGUL SYLLABLE GGWAS;Lo;0;L;;;;;N;;;;;
-AF5C;HANGUL SYLLABLE GGWASS;Lo;0;L;;;;;N;;;;;
-AF5D;HANGUL SYLLABLE GGWANG;Lo;0;L;;;;;N;;;;;
-AF5E;HANGUL SYLLABLE GGWAJ;Lo;0;L;;;;;N;;;;;
-AF5F;HANGUL SYLLABLE GGWAC;Lo;0;L;;;;;N;;;;;
-AF60;HANGUL SYLLABLE GGWAK;Lo;0;L;;;;;N;;;;;
-AF61;HANGUL SYLLABLE GGWAT;Lo;0;L;;;;;N;;;;;
-AF62;HANGUL SYLLABLE GGWAP;Lo;0;L;;;;;N;;;;;
-AF63;HANGUL SYLLABLE GGWAH;Lo;0;L;;;;;N;;;;;
-AF64;HANGUL SYLLABLE GGWAE;Lo;0;L;;;;;N;;;;;
-AF65;HANGUL SYLLABLE GGWAEG;Lo;0;L;;;;;N;;;;;
-AF66;HANGUL SYLLABLE GGWAEGG;Lo;0;L;;;;;N;;;;;
-AF67;HANGUL SYLLABLE GGWAEGS;Lo;0;L;;;;;N;;;;;
-AF68;HANGUL SYLLABLE GGWAEN;Lo;0;L;;;;;N;;;;;
-AF69;HANGUL SYLLABLE GGWAENI;Lo;0;L;;;;;N;;;;;
-AF6A;HANGUL SYLLABLE GGWAENH;Lo;0;L;;;;;N;;;;;
-AF6B;HANGUL SYLLABLE GGWAED;Lo;0;L;;;;;N;;;;;
-AF6C;HANGUL SYLLABLE GGWAEL;Lo;0;L;;;;;N;;;;;
-AF6D;HANGUL SYLLABLE GGWAELG;Lo;0;L;;;;;N;;;;;
-AF6E;HANGUL SYLLABLE GGWAELM;Lo;0;L;;;;;N;;;;;
-AF6F;HANGUL SYLLABLE GGWAELB;Lo;0;L;;;;;N;;;;;
-AF70;HANGUL SYLLABLE GGWAELS;Lo;0;L;;;;;N;;;;;
-AF71;HANGUL SYLLABLE GGWAELT;Lo;0;L;;;;;N;;;;;
-AF72;HANGUL SYLLABLE GGWAELP;Lo;0;L;;;;;N;;;;;
-AF73;HANGUL SYLLABLE GGWAELH;Lo;0;L;;;;;N;;;;;
-AF74;HANGUL SYLLABLE GGWAEM;Lo;0;L;;;;;N;;;;;
-AF75;HANGUL SYLLABLE GGWAEB;Lo;0;L;;;;;N;;;;;
-AF76;HANGUL SYLLABLE GGWAEBS;Lo;0;L;;;;;N;;;;;
-AF77;HANGUL SYLLABLE GGWAES;Lo;0;L;;;;;N;;;;;
-AF78;HANGUL SYLLABLE GGWAESS;Lo;0;L;;;;;N;;;;;
-AF79;HANGUL SYLLABLE GGWAENG;Lo;0;L;;;;;N;;;;;
-AF7A;HANGUL SYLLABLE GGWAEJ;Lo;0;L;;;;;N;;;;;
-AF7B;HANGUL SYLLABLE GGWAEC;Lo;0;L;;;;;N;;;;;
-AF7C;HANGUL SYLLABLE GGWAEK;Lo;0;L;;;;;N;;;;;
-AF7D;HANGUL SYLLABLE GGWAET;Lo;0;L;;;;;N;;;;;
-AF7E;HANGUL SYLLABLE GGWAEP;Lo;0;L;;;;;N;;;;;
-AF7F;HANGUL SYLLABLE GGWAEH;Lo;0;L;;;;;N;;;;;
-AF80;HANGUL SYLLABLE GGOE;Lo;0;L;;;;;N;;;;;
-AF81;HANGUL SYLLABLE GGOEG;Lo;0;L;;;;;N;;;;;
-AF82;HANGUL SYLLABLE GGOEGG;Lo;0;L;;;;;N;;;;;
-AF83;HANGUL SYLLABLE GGOEGS;Lo;0;L;;;;;N;;;;;
-AF84;HANGUL SYLLABLE GGOEN;Lo;0;L;;;;;N;;;;;
-AF85;HANGUL SYLLABLE GGOENI;Lo;0;L;;;;;N;;;;;
-AF86;HANGUL SYLLABLE GGOENH;Lo;0;L;;;;;N;;;;;
-AF87;HANGUL SYLLABLE GGOED;Lo;0;L;;;;;N;;;;;
-AF88;HANGUL SYLLABLE GGOEL;Lo;0;L;;;;;N;;;;;
-AF89;HANGUL SYLLABLE GGOELG;Lo;0;L;;;;;N;;;;;
-AF8A;HANGUL SYLLABLE GGOELM;Lo;0;L;;;;;N;;;;;
-AF8B;HANGUL SYLLABLE GGOELB;Lo;0;L;;;;;N;;;;;
-AF8C;HANGUL SYLLABLE GGOELS;Lo;0;L;;;;;N;;;;;
-AF8D;HANGUL SYLLABLE GGOELT;Lo;0;L;;;;;N;;;;;
-AF8E;HANGUL SYLLABLE GGOELP;Lo;0;L;;;;;N;;;;;
-AF8F;HANGUL SYLLABLE GGOELH;Lo;0;L;;;;;N;;;;;
-AF90;HANGUL SYLLABLE GGOEM;Lo;0;L;;;;;N;;;;;
-AF91;HANGUL SYLLABLE GGOEB;Lo;0;L;;;;;N;;;;;
-AF92;HANGUL SYLLABLE GGOEBS;Lo;0;L;;;;;N;;;;;
-AF93;HANGUL SYLLABLE GGOES;Lo;0;L;;;;;N;;;;;
-AF94;HANGUL SYLLABLE GGOESS;Lo;0;L;;;;;N;;;;;
-AF95;HANGUL SYLLABLE GGOENG;Lo;0;L;;;;;N;;;;;
-AF96;HANGUL SYLLABLE GGOEJ;Lo;0;L;;;;;N;;;;;
-AF97;HANGUL SYLLABLE GGOEC;Lo;0;L;;;;;N;;;;;
-AF98;HANGUL SYLLABLE GGOEK;Lo;0;L;;;;;N;;;;;
-AF99;HANGUL SYLLABLE GGOET;Lo;0;L;;;;;N;;;;;
-AF9A;HANGUL SYLLABLE GGOEP;Lo;0;L;;;;;N;;;;;
-AF9B;HANGUL SYLLABLE GGOEH;Lo;0;L;;;;;N;;;;;
-AF9C;HANGUL SYLLABLE GGYO;Lo;0;L;;;;;N;;;;;
-AF9D;HANGUL SYLLABLE GGYOG;Lo;0;L;;;;;N;;;;;
-AF9E;HANGUL SYLLABLE GGYOGG;Lo;0;L;;;;;N;;;;;
-AF9F;HANGUL SYLLABLE GGYOGS;Lo;0;L;;;;;N;;;;;
-AFA0;HANGUL SYLLABLE GGYON;Lo;0;L;;;;;N;;;;;
-AFA1;HANGUL SYLLABLE GGYONI;Lo;0;L;;;;;N;;;;;
-AFA2;HANGUL SYLLABLE GGYONH;Lo;0;L;;;;;N;;;;;
-AFA3;HANGUL SYLLABLE GGYOD;Lo;0;L;;;;;N;;;;;
-AFA4;HANGUL SYLLABLE GGYOL;Lo;0;L;;;;;N;;;;;
-AFA5;HANGUL SYLLABLE GGYOLG;Lo;0;L;;;;;N;;;;;
-AFA6;HANGUL SYLLABLE GGYOLM;Lo;0;L;;;;;N;;;;;
-AFA7;HANGUL SYLLABLE GGYOLB;Lo;0;L;;;;;N;;;;;
-AFA8;HANGUL SYLLABLE GGYOLS;Lo;0;L;;;;;N;;;;;
-AFA9;HANGUL SYLLABLE GGYOLT;Lo;0;L;;;;;N;;;;;
-AFAA;HANGUL SYLLABLE GGYOLP;Lo;0;L;;;;;N;;;;;
-AFAB;HANGUL SYLLABLE GGYOLH;Lo;0;L;;;;;N;;;;;
-AFAC;HANGUL SYLLABLE GGYOM;Lo;0;L;;;;;N;;;;;
-AFAD;HANGUL SYLLABLE GGYOB;Lo;0;L;;;;;N;;;;;
-AFAE;HANGUL SYLLABLE GGYOBS;Lo;0;L;;;;;N;;;;;
-AFAF;HANGUL SYLLABLE GGYOS;Lo;0;L;;;;;N;;;;;
-AFB0;HANGUL SYLLABLE GGYOSS;Lo;0;L;;;;;N;;;;;
-AFB1;HANGUL SYLLABLE GGYONG;Lo;0;L;;;;;N;;;;;
-AFB2;HANGUL SYLLABLE GGYOJ;Lo;0;L;;;;;N;;;;;
-AFB3;HANGUL SYLLABLE GGYOC;Lo;0;L;;;;;N;;;;;
-AFB4;HANGUL SYLLABLE GGYOK;Lo;0;L;;;;;N;;;;;
-AFB5;HANGUL SYLLABLE GGYOT;Lo;0;L;;;;;N;;;;;
-AFB6;HANGUL SYLLABLE GGYOP;Lo;0;L;;;;;N;;;;;
-AFB7;HANGUL SYLLABLE GGYOH;Lo;0;L;;;;;N;;;;;
-AFB8;HANGUL SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
-AFB9;HANGUL SYLLABLE GGUG;Lo;0;L;;;;;N;;;;;
-AFBA;HANGUL SYLLABLE GGUGG;Lo;0;L;;;;;N;;;;;
-AFBB;HANGUL SYLLABLE GGUGS;Lo;0;L;;;;;N;;;;;
-AFBC;HANGUL SYLLABLE GGUN;Lo;0;L;;;;;N;;;;;
-AFBD;HANGUL SYLLABLE GGUNI;Lo;0;L;;;;;N;;;;;
-AFBE;HANGUL SYLLABLE GGUNH;Lo;0;L;;;;;N;;;;;
-AFBF;HANGUL SYLLABLE GGUD;Lo;0;L;;;;;N;;;;;
-AFC0;HANGUL SYLLABLE GGUL;Lo;0;L;;;;;N;;;;;
-AFC1;HANGUL SYLLABLE GGULG;Lo;0;L;;;;;N;;;;;
-AFC2;HANGUL SYLLABLE GGULM;Lo;0;L;;;;;N;;;;;
-AFC3;HANGUL SYLLABLE GGULB;Lo;0;L;;;;;N;;;;;
-AFC4;HANGUL SYLLABLE GGULS;Lo;0;L;;;;;N;;;;;
-AFC5;HANGUL SYLLABLE GGULT;Lo;0;L;;;;;N;;;;;
-AFC6;HANGUL SYLLABLE GGULP;Lo;0;L;;;;;N;;;;;
-AFC7;HANGUL SYLLABLE GGULH;Lo;0;L;;;;;N;;;;;
-AFC8;HANGUL SYLLABLE GGUM;Lo;0;L;;;;;N;;;;;
-AFC9;HANGUL SYLLABLE GGUB;Lo;0;L;;;;;N;;;;;
-AFCA;HANGUL SYLLABLE GGUBS;Lo;0;L;;;;;N;;;;;
-AFCB;HANGUL SYLLABLE GGUS;Lo;0;L;;;;;N;;;;;
-AFCC;HANGUL SYLLABLE GGUSS;Lo;0;L;;;;;N;;;;;
-AFCD;HANGUL SYLLABLE GGUNG;Lo;0;L;;;;;N;;;;;
-AFCE;HANGUL SYLLABLE GGUJ;Lo;0;L;;;;;N;;;;;
-AFCF;HANGUL SYLLABLE GGUC;Lo;0;L;;;;;N;;;;;
-AFD0;HANGUL SYLLABLE GGUK;Lo;0;L;;;;;N;;;;;
-AFD1;HANGUL SYLLABLE GGUT;Lo;0;L;;;;;N;;;;;
-AFD2;HANGUL SYLLABLE GGUP;Lo;0;L;;;;;N;;;;;
-AFD3;HANGUL SYLLABLE GGUH;Lo;0;L;;;;;N;;;;;
-AFD4;HANGUL SYLLABLE GGWEO;Lo;0;L;;;;;N;;;;;
-AFD5;HANGUL SYLLABLE GGWEOG;Lo;0;L;;;;;N;;;;;
-AFD6;HANGUL SYLLABLE GGWEOGG;Lo;0;L;;;;;N;;;;;
-AFD7;HANGUL SYLLABLE GGWEOGS;Lo;0;L;;;;;N;;;;;
-AFD8;HANGUL SYLLABLE GGWEON;Lo;0;L;;;;;N;;;;;
-AFD9;HANGUL SYLLABLE GGWEONI;Lo;0;L;;;;;N;;;;;
-AFDA;HANGUL SYLLABLE GGWEONH;Lo;0;L;;;;;N;;;;;
-AFDB;HANGUL SYLLABLE GGWEOD;Lo;0;L;;;;;N;;;;;
-AFDC;HANGUL SYLLABLE GGWEOL;Lo;0;L;;;;;N;;;;;
-AFDD;HANGUL SYLLABLE GGWEOLG;Lo;0;L;;;;;N;;;;;
-AFDE;HANGUL SYLLABLE GGWEOLM;Lo;0;L;;;;;N;;;;;
-AFDF;HANGUL SYLLABLE GGWEOLB;Lo;0;L;;;;;N;;;;;
-AFE0;HANGUL SYLLABLE GGWEOLS;Lo;0;L;;;;;N;;;;;
-AFE1;HANGUL SYLLABLE GGWEOLT;Lo;0;L;;;;;N;;;;;
-AFE2;HANGUL SYLLABLE GGWEOLP;Lo;0;L;;;;;N;;;;;
-AFE3;HANGUL SYLLABLE GGWEOLH;Lo;0;L;;;;;N;;;;;
-AFE4;HANGUL SYLLABLE GGWEOM;Lo;0;L;;;;;N;;;;;
-AFE5;HANGUL SYLLABLE GGWEOB;Lo;0;L;;;;;N;;;;;
-AFE6;HANGUL SYLLABLE GGWEOBS;Lo;0;L;;;;;N;;;;;
-AFE7;HANGUL SYLLABLE GGWEOS;Lo;0;L;;;;;N;;;;;
-AFE8;HANGUL SYLLABLE GGWEOSS;Lo;0;L;;;;;N;;;;;
-AFE9;HANGUL SYLLABLE GGWEONG;Lo;0;L;;;;;N;;;;;
-AFEA;HANGUL SYLLABLE GGWEOJ;Lo;0;L;;;;;N;;;;;
-AFEB;HANGUL SYLLABLE GGWEOC;Lo;0;L;;;;;N;;;;;
-AFEC;HANGUL SYLLABLE GGWEOK;Lo;0;L;;;;;N;;;;;
-AFED;HANGUL SYLLABLE GGWEOT;Lo;0;L;;;;;N;;;;;
-AFEE;HANGUL SYLLABLE GGWEOP;Lo;0;L;;;;;N;;;;;
-AFEF;HANGUL SYLLABLE GGWEOH;Lo;0;L;;;;;N;;;;;
-AFF0;HANGUL SYLLABLE GGWE;Lo;0;L;;;;;N;;;;;
-AFF1;HANGUL SYLLABLE GGWEG;Lo;0;L;;;;;N;;;;;
-AFF2;HANGUL SYLLABLE GGWEGG;Lo;0;L;;;;;N;;;;;
-AFF3;HANGUL SYLLABLE GGWEGS;Lo;0;L;;;;;N;;;;;
-AFF4;HANGUL SYLLABLE GGWEN;Lo;0;L;;;;;N;;;;;
-AFF5;HANGUL SYLLABLE GGWENI;Lo;0;L;;;;;N;;;;;
-AFF6;HANGUL SYLLABLE GGWENH;Lo;0;L;;;;;N;;;;;
-AFF7;HANGUL SYLLABLE GGWED;Lo;0;L;;;;;N;;;;;
-AFF8;HANGUL SYLLABLE GGWEL;Lo;0;L;;;;;N;;;;;
-AFF9;HANGUL SYLLABLE GGWELG;Lo;0;L;;;;;N;;;;;
-AFFA;HANGUL SYLLABLE GGWELM;Lo;0;L;;;;;N;;;;;
-AFFB;HANGUL SYLLABLE GGWELB;Lo;0;L;;;;;N;;;;;
-AFFC;HANGUL SYLLABLE GGWELS;Lo;0;L;;;;;N;;;;;
-AFFD;HANGUL SYLLABLE GGWELT;Lo;0;L;;;;;N;;;;;
-AFFE;HANGUL SYLLABLE GGWELP;Lo;0;L;;;;;N;;;;;
-AFFF;HANGUL SYLLABLE GGWELH;Lo;0;L;;;;;N;;;;;
-B000;HANGUL SYLLABLE GGWEM;Lo;0;L;;;;;N;;;;;
-B001;HANGUL SYLLABLE GGWEB;Lo;0;L;;;;;N;;;;;
-B002;HANGUL SYLLABLE GGWEBS;Lo;0;L;;;;;N;;;;;
-B003;HANGUL SYLLABLE GGWES;Lo;0;L;;;;;N;;;;;
-B004;HANGUL SYLLABLE GGWESS;Lo;0;L;;;;;N;;;;;
-B005;HANGUL SYLLABLE GGWENG;Lo;0;L;;;;;N;;;;;
-B006;HANGUL SYLLABLE GGWEJ;Lo;0;L;;;;;N;;;;;
-B007;HANGUL SYLLABLE GGWEC;Lo;0;L;;;;;N;;;;;
-B008;HANGUL SYLLABLE GGWEK;Lo;0;L;;;;;N;;;;;
-B009;HANGUL SYLLABLE GGWET;Lo;0;L;;;;;N;;;;;
-B00A;HANGUL SYLLABLE GGWEP;Lo;0;L;;;;;N;;;;;
-B00B;HANGUL SYLLABLE GGWEH;Lo;0;L;;;;;N;;;;;
-B00C;HANGUL SYLLABLE GGWI;Lo;0;L;;;;;N;;;;;
-B00D;HANGUL SYLLABLE GGWIG;Lo;0;L;;;;;N;;;;;
-B00E;HANGUL SYLLABLE GGWIGG;Lo;0;L;;;;;N;;;;;
-B00F;HANGUL SYLLABLE GGWIGS;Lo;0;L;;;;;N;;;;;
-B010;HANGUL SYLLABLE GGWIN;Lo;0;L;;;;;N;;;;;
-B011;HANGUL SYLLABLE GGWINI;Lo;0;L;;;;;N;;;;;
-B012;HANGUL SYLLABLE GGWINH;Lo;0;L;;;;;N;;;;;
-B013;HANGUL SYLLABLE GGWID;Lo;0;L;;;;;N;;;;;
-B014;HANGUL SYLLABLE GGWIL;Lo;0;L;;;;;N;;;;;
-B015;HANGUL SYLLABLE GGWILG;Lo;0;L;;;;;N;;;;;
-B016;HANGUL SYLLABLE GGWILM;Lo;0;L;;;;;N;;;;;
-B017;HANGUL SYLLABLE GGWILB;Lo;0;L;;;;;N;;;;;
-B018;HANGUL SYLLABLE GGWILS;Lo;0;L;;;;;N;;;;;
-B019;HANGUL SYLLABLE GGWILT;Lo;0;L;;;;;N;;;;;
-B01A;HANGUL SYLLABLE GGWILP;Lo;0;L;;;;;N;;;;;
-B01B;HANGUL SYLLABLE GGWILH;Lo;0;L;;;;;N;;;;;
-B01C;HANGUL SYLLABLE GGWIM;Lo;0;L;;;;;N;;;;;
-B01D;HANGUL SYLLABLE GGWIB;Lo;0;L;;;;;N;;;;;
-B01E;HANGUL SYLLABLE GGWIBS;Lo;0;L;;;;;N;;;;;
-B01F;HANGUL SYLLABLE GGWIS;Lo;0;L;;;;;N;;;;;
-B020;HANGUL SYLLABLE GGWISS;Lo;0;L;;;;;N;;;;;
-B021;HANGUL SYLLABLE GGWING;Lo;0;L;;;;;N;;;;;
-B022;HANGUL SYLLABLE GGWIJ;Lo;0;L;;;;;N;;;;;
-B023;HANGUL SYLLABLE GGWIC;Lo;0;L;;;;;N;;;;;
-B024;HANGUL SYLLABLE GGWIK;Lo;0;L;;;;;N;;;;;
-B025;HANGUL SYLLABLE GGWIT;Lo;0;L;;;;;N;;;;;
-B026;HANGUL SYLLABLE GGWIP;Lo;0;L;;;;;N;;;;;
-B027;HANGUL SYLLABLE GGWIH;Lo;0;L;;;;;N;;;;;
-B028;HANGUL SYLLABLE GGYU;Lo;0;L;;;;;N;;;;;
-B029;HANGUL SYLLABLE GGYUG;Lo;0;L;;;;;N;;;;;
-B02A;HANGUL SYLLABLE GGYUGG;Lo;0;L;;;;;N;;;;;
-B02B;HANGUL SYLLABLE GGYUGS;Lo;0;L;;;;;N;;;;;
-B02C;HANGUL SYLLABLE GGYUN;Lo;0;L;;;;;N;;;;;
-B02D;HANGUL SYLLABLE GGYUNI;Lo;0;L;;;;;N;;;;;
-B02E;HANGUL SYLLABLE GGYUNH;Lo;0;L;;;;;N;;;;;
-B02F;HANGUL SYLLABLE GGYUD;Lo;0;L;;;;;N;;;;;
-B030;HANGUL SYLLABLE GGYUL;Lo;0;L;;;;;N;;;;;
-B031;HANGUL SYLLABLE GGYULG;Lo;0;L;;;;;N;;;;;
-B032;HANGUL SYLLABLE GGYULM;Lo;0;L;;;;;N;;;;;
-B033;HANGUL SYLLABLE GGYULB;Lo;0;L;;;;;N;;;;;
-B034;HANGUL SYLLABLE GGYULS;Lo;0;L;;;;;N;;;;;
-B035;HANGUL SYLLABLE GGYULT;Lo;0;L;;;;;N;;;;;
-B036;HANGUL SYLLABLE GGYULP;Lo;0;L;;;;;N;;;;;
-B037;HANGUL SYLLABLE GGYULH;Lo;0;L;;;;;N;;;;;
-B038;HANGUL SYLLABLE GGYUM;Lo;0;L;;;;;N;;;;;
-B039;HANGUL SYLLABLE GGYUB;Lo;0;L;;;;;N;;;;;
-B03A;HANGUL SYLLABLE GGYUBS;Lo;0;L;;;;;N;;;;;
-B03B;HANGUL SYLLABLE GGYUS;Lo;0;L;;;;;N;;;;;
-B03C;HANGUL SYLLABLE GGYUSS;Lo;0;L;;;;;N;;;;;
-B03D;HANGUL SYLLABLE GGYUNG;Lo;0;L;;;;;N;;;;;
-B03E;HANGUL SYLLABLE GGYUJ;Lo;0;L;;;;;N;;;;;
-B03F;HANGUL SYLLABLE GGYUC;Lo;0;L;;;;;N;;;;;
-B040;HANGUL SYLLABLE GGYUK;Lo;0;L;;;;;N;;;;;
-B041;HANGUL SYLLABLE GGYUT;Lo;0;L;;;;;N;;;;;
-B042;HANGUL SYLLABLE GGYUP;Lo;0;L;;;;;N;;;;;
-B043;HANGUL SYLLABLE GGYUH;Lo;0;L;;;;;N;;;;;
-B044;HANGUL SYLLABLE GGEU;Lo;0;L;;;;;N;;;;;
-B045;HANGUL SYLLABLE GGEUG;Lo;0;L;;;;;N;;;;;
-B046;HANGUL SYLLABLE GGEUGG;Lo;0;L;;;;;N;;;;;
-B047;HANGUL SYLLABLE GGEUGS;Lo;0;L;;;;;N;;;;;
-B048;HANGUL SYLLABLE GGEUN;Lo;0;L;;;;;N;;;;;
-B049;HANGUL SYLLABLE GGEUNI;Lo;0;L;;;;;N;;;;;
-B04A;HANGUL SYLLABLE GGEUNH;Lo;0;L;;;;;N;;;;;
-B04B;HANGUL SYLLABLE GGEUD;Lo;0;L;;;;;N;;;;;
-B04C;HANGUL SYLLABLE GGEUL;Lo;0;L;;;;;N;;;;;
-B04D;HANGUL SYLLABLE GGEULG;Lo;0;L;;;;;N;;;;;
-B04E;HANGUL SYLLABLE GGEULM;Lo;0;L;;;;;N;;;;;
-B04F;HANGUL SYLLABLE GGEULB;Lo;0;L;;;;;N;;;;;
-B050;HANGUL SYLLABLE GGEULS;Lo;0;L;;;;;N;;;;;
-B051;HANGUL SYLLABLE GGEULT;Lo;0;L;;;;;N;;;;;
-B052;HANGUL SYLLABLE GGEULP;Lo;0;L;;;;;N;;;;;
-B053;HANGUL SYLLABLE GGEULH;Lo;0;L;;;;;N;;;;;
-B054;HANGUL SYLLABLE GGEUM;Lo;0;L;;;;;N;;;;;
-B055;HANGUL SYLLABLE GGEUB;Lo;0;L;;;;;N;;;;;
-B056;HANGUL SYLLABLE GGEUBS;Lo;0;L;;;;;N;;;;;
-B057;HANGUL SYLLABLE GGEUS;Lo;0;L;;;;;N;;;;;
-B058;HANGUL SYLLABLE GGEUSS;Lo;0;L;;;;;N;;;;;
-B059;HANGUL SYLLABLE GGEUNG;Lo;0;L;;;;;N;;;;;
-B05A;HANGUL SYLLABLE GGEUJ;Lo;0;L;;;;;N;;;;;
-B05B;HANGUL SYLLABLE GGEUC;Lo;0;L;;;;;N;;;;;
-B05C;HANGUL SYLLABLE GGEUK;Lo;0;L;;;;;N;;;;;
-B05D;HANGUL SYLLABLE GGEUT;Lo;0;L;;;;;N;;;;;
-B05E;HANGUL SYLLABLE GGEUP;Lo;0;L;;;;;N;;;;;
-B05F;HANGUL SYLLABLE GGEUH;Lo;0;L;;;;;N;;;;;
-B060;HANGUL SYLLABLE GGYI;Lo;0;L;;;;;N;;;;;
-B061;HANGUL SYLLABLE GGYIG;Lo;0;L;;;;;N;;;;;
-B062;HANGUL SYLLABLE GGYIGG;Lo;0;L;;;;;N;;;;;
-B063;HANGUL SYLLABLE GGYIGS;Lo;0;L;;;;;N;;;;;
-B064;HANGUL SYLLABLE GGYIN;Lo;0;L;;;;;N;;;;;
-B065;HANGUL SYLLABLE GGYINI;Lo;0;L;;;;;N;;;;;
-B066;HANGUL SYLLABLE GGYINH;Lo;0;L;;;;;N;;;;;
-B067;HANGUL SYLLABLE GGYID;Lo;0;L;;;;;N;;;;;
-B068;HANGUL SYLLABLE GGYIL;Lo;0;L;;;;;N;;;;;
-B069;HANGUL SYLLABLE GGYILG;Lo;0;L;;;;;N;;;;;
-B06A;HANGUL SYLLABLE GGYILM;Lo;0;L;;;;;N;;;;;
-B06B;HANGUL SYLLABLE GGYILB;Lo;0;L;;;;;N;;;;;
-B06C;HANGUL SYLLABLE GGYILS;Lo;0;L;;;;;N;;;;;
-B06D;HANGUL SYLLABLE GGYILT;Lo;0;L;;;;;N;;;;;
-B06E;HANGUL SYLLABLE GGYILP;Lo;0;L;;;;;N;;;;;
-B06F;HANGUL SYLLABLE GGYILH;Lo;0;L;;;;;N;;;;;
-B070;HANGUL SYLLABLE GGYIM;Lo;0;L;;;;;N;;;;;
-B071;HANGUL SYLLABLE GGYIB;Lo;0;L;;;;;N;;;;;
-B072;HANGUL SYLLABLE GGYIBS;Lo;0;L;;;;;N;;;;;
-B073;HANGUL SYLLABLE GGYIS;Lo;0;L;;;;;N;;;;;
-B074;HANGUL SYLLABLE GGYISS;Lo;0;L;;;;;N;;;;;
-B075;HANGUL SYLLABLE GGYING;Lo;0;L;;;;;N;;;;;
-B076;HANGUL SYLLABLE GGYIJ;Lo;0;L;;;;;N;;;;;
-B077;HANGUL SYLLABLE GGYIC;Lo;0;L;;;;;N;;;;;
-B078;HANGUL SYLLABLE GGYIK;Lo;0;L;;;;;N;;;;;
-B079;HANGUL SYLLABLE GGYIT;Lo;0;L;;;;;N;;;;;
-B07A;HANGUL SYLLABLE GGYIP;Lo;0;L;;;;;N;;;;;
-B07B;HANGUL SYLLABLE GGYIH;Lo;0;L;;;;;N;;;;;
-B07C;HANGUL SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
-B07D;HANGUL SYLLABLE GGIG;Lo;0;L;;;;;N;;;;;
-B07E;HANGUL SYLLABLE GGIGG;Lo;0;L;;;;;N;;;;;
-B07F;HANGUL SYLLABLE GGIGS;Lo;0;L;;;;;N;;;;;
-B080;HANGUL SYLLABLE GGIN;Lo;0;L;;;;;N;;;;;
-B081;HANGUL SYLLABLE GGINI;Lo;0;L;;;;;N;;;;;
-B082;HANGUL SYLLABLE GGINH;Lo;0;L;;;;;N;;;;;
-B083;HANGUL SYLLABLE GGID;Lo;0;L;;;;;N;;;;;
-B084;HANGUL SYLLABLE GGIL;Lo;0;L;;;;;N;;;;;
-B085;HANGUL SYLLABLE GGILG;Lo;0;L;;;;;N;;;;;
-B086;HANGUL SYLLABLE GGILM;Lo;0;L;;;;;N;;;;;
-B087;HANGUL SYLLABLE GGILB;Lo;0;L;;;;;N;;;;;
-B088;HANGUL SYLLABLE GGILS;Lo;0;L;;;;;N;;;;;
-B089;HANGUL SYLLABLE GGILT;Lo;0;L;;;;;N;;;;;
-B08A;HANGUL SYLLABLE GGILP;Lo;0;L;;;;;N;;;;;
-B08B;HANGUL SYLLABLE GGILH;Lo;0;L;;;;;N;;;;;
-B08C;HANGUL SYLLABLE GGIM;Lo;0;L;;;;;N;;;;;
-B08D;HANGUL SYLLABLE GGIB;Lo;0;L;;;;;N;;;;;
-B08E;HANGUL SYLLABLE GGIBS;Lo;0;L;;;;;N;;;;;
-B08F;HANGUL SYLLABLE GGIS;Lo;0;L;;;;;N;;;;;
-B090;HANGUL SYLLABLE GGISS;Lo;0;L;;;;;N;;;;;
-B091;HANGUL SYLLABLE GGING;Lo;0;L;;;;;N;;;;;
-B092;HANGUL SYLLABLE GGIJ;Lo;0;L;;;;;N;;;;;
-B093;HANGUL SYLLABLE GGIC;Lo;0;L;;;;;N;;;;;
-B094;HANGUL SYLLABLE GGIK;Lo;0;L;;;;;N;;;;;
-B095;HANGUL SYLLABLE GGIT;Lo;0;L;;;;;N;;;;;
-B096;HANGUL SYLLABLE GGIP;Lo;0;L;;;;;N;;;;;
-B097;HANGUL SYLLABLE GGIH;Lo;0;L;;;;;N;;;;;
-B098;HANGUL SYLLABLE NA;Lo;0;L;;;;;N;;;;;
-B099;HANGUL SYLLABLE NAG;Lo;0;L;;;;;N;;;;;
-B09A;HANGUL SYLLABLE NAGG;Lo;0;L;;;;;N;;;;;
-B09B;HANGUL SYLLABLE NAGS;Lo;0;L;;;;;N;;;;;
-B09C;HANGUL SYLLABLE NAN;Lo;0;L;;;;;N;;;;;
-B09D;HANGUL SYLLABLE NANI;Lo;0;L;;;;;N;;;;;
-B09E;HANGUL SYLLABLE NANH;Lo;0;L;;;;;N;;;;;
-B09F;HANGUL SYLLABLE NAD;Lo;0;L;;;;;N;;;;;
-B0A0;HANGUL SYLLABLE NAL;Lo;0;L;;;;;N;;;;;
-B0A1;HANGUL SYLLABLE NALG;Lo;0;L;;;;;N;;;;;
-B0A2;HANGUL SYLLABLE NALM;Lo;0;L;;;;;N;;;;;
-B0A3;HANGUL SYLLABLE NALB;Lo;0;L;;;;;N;;;;;
-B0A4;HANGUL SYLLABLE NALS;Lo;0;L;;;;;N;;;;;
-B0A5;HANGUL SYLLABLE NALT;Lo;0;L;;;;;N;;;;;
-B0A6;HANGUL SYLLABLE NALP;Lo;0;L;;;;;N;;;;;
-B0A7;HANGUL SYLLABLE NALH;Lo;0;L;;;;;N;;;;;
-B0A8;HANGUL SYLLABLE NAM;Lo;0;L;;;;;N;;;;;
-B0A9;HANGUL SYLLABLE NAB;Lo;0;L;;;;;N;;;;;
-B0AA;HANGUL SYLLABLE NABS;Lo;0;L;;;;;N;;;;;
-B0AB;HANGUL SYLLABLE NAS;Lo;0;L;;;;;N;;;;;
-B0AC;HANGUL SYLLABLE NASS;Lo;0;L;;;;;N;;;;;
-B0AD;HANGUL SYLLABLE NANG;Lo;0;L;;;;;N;;;;;
-B0AE;HANGUL SYLLABLE NAJ;Lo;0;L;;;;;N;;;;;
-B0AF;HANGUL SYLLABLE NAC;Lo;0;L;;;;;N;;;;;
-B0B0;HANGUL SYLLABLE NAK;Lo;0;L;;;;;N;;;;;
-B0B1;HANGUL SYLLABLE NAT;Lo;0;L;;;;;N;;;;;
-B0B2;HANGUL SYLLABLE NAP;Lo;0;L;;;;;N;;;;;
-B0B3;HANGUL SYLLABLE NAH;Lo;0;L;;;;;N;;;;;
-B0B4;HANGUL SYLLABLE NAE;Lo;0;L;;;;;N;;;;;
-B0B5;HANGUL SYLLABLE NAEG;Lo;0;L;;;;;N;;;;;
-B0B6;HANGUL SYLLABLE NAEGG;Lo;0;L;;;;;N;;;;;
-B0B7;HANGUL SYLLABLE NAEGS;Lo;0;L;;;;;N;;;;;
-B0B8;HANGUL SYLLABLE NAEN;Lo;0;L;;;;;N;;;;;
-B0B9;HANGUL SYLLABLE NAENI;Lo;0;L;;;;;N;;;;;
-B0BA;HANGUL SYLLABLE NAENH;Lo;0;L;;;;;N;;;;;
-B0BB;HANGUL SYLLABLE NAED;Lo;0;L;;;;;N;;;;;
-B0BC;HANGUL SYLLABLE NAEL;Lo;0;L;;;;;N;;;;;
-B0BD;HANGUL SYLLABLE NAELG;Lo;0;L;;;;;N;;;;;
-B0BE;HANGUL SYLLABLE NAELM;Lo;0;L;;;;;N;;;;;
-B0BF;HANGUL SYLLABLE NAELB;Lo;0;L;;;;;N;;;;;
-B0C0;HANGUL SYLLABLE NAELS;Lo;0;L;;;;;N;;;;;
-B0C1;HANGUL SYLLABLE NAELT;Lo;0;L;;;;;N;;;;;
-B0C2;HANGUL SYLLABLE NAELP;Lo;0;L;;;;;N;;;;;
-B0C3;HANGUL SYLLABLE NAELH;Lo;0;L;;;;;N;;;;;
-B0C4;HANGUL SYLLABLE NAEM;Lo;0;L;;;;;N;;;;;
-B0C5;HANGUL SYLLABLE NAEB;Lo;0;L;;;;;N;;;;;
-B0C6;HANGUL SYLLABLE NAEBS;Lo;0;L;;;;;N;;;;;
-B0C7;HANGUL SYLLABLE NAES;Lo;0;L;;;;;N;;;;;
-B0C8;HANGUL SYLLABLE NAESS;Lo;0;L;;;;;N;;;;;
-B0C9;HANGUL SYLLABLE NAENG;Lo;0;L;;;;;N;;;;;
-B0CA;HANGUL SYLLABLE NAEJ;Lo;0;L;;;;;N;;;;;
-B0CB;HANGUL SYLLABLE NAEC;Lo;0;L;;;;;N;;;;;
-B0CC;HANGUL SYLLABLE NAEK;Lo;0;L;;;;;N;;;;;
-B0CD;HANGUL SYLLABLE NAET;Lo;0;L;;;;;N;;;;;
-B0CE;HANGUL SYLLABLE NAEP;Lo;0;L;;;;;N;;;;;
-B0CF;HANGUL SYLLABLE NAEH;Lo;0;L;;;;;N;;;;;
-B0D0;HANGUL SYLLABLE NYA;Lo;0;L;;;;;N;;;;;
-B0D1;HANGUL SYLLABLE NYAG;Lo;0;L;;;;;N;;;;;
-B0D2;HANGUL SYLLABLE NYAGG;Lo;0;L;;;;;N;;;;;
-B0D3;HANGUL SYLLABLE NYAGS;Lo;0;L;;;;;N;;;;;
-B0D4;HANGUL SYLLABLE NYAN;Lo;0;L;;;;;N;;;;;
-B0D5;HANGUL SYLLABLE NYANI;Lo;0;L;;;;;N;;;;;
-B0D6;HANGUL SYLLABLE NYANH;Lo;0;L;;;;;N;;;;;
-B0D7;HANGUL SYLLABLE NYAD;Lo;0;L;;;;;N;;;;;
-B0D8;HANGUL SYLLABLE NYAL;Lo;0;L;;;;;N;;;;;
-B0D9;HANGUL SYLLABLE NYALG;Lo;0;L;;;;;N;;;;;
-B0DA;HANGUL SYLLABLE NYALM;Lo;0;L;;;;;N;;;;;
-B0DB;HANGUL SYLLABLE NYALB;Lo;0;L;;;;;N;;;;;
-B0DC;HANGUL SYLLABLE NYALS;Lo;0;L;;;;;N;;;;;
-B0DD;HANGUL SYLLABLE NYALT;Lo;0;L;;;;;N;;;;;
-B0DE;HANGUL SYLLABLE NYALP;Lo;0;L;;;;;N;;;;;
-B0DF;HANGUL SYLLABLE NYALH;Lo;0;L;;;;;N;;;;;
-B0E0;HANGUL SYLLABLE NYAM;Lo;0;L;;;;;N;;;;;
-B0E1;HANGUL SYLLABLE NYAB;Lo;0;L;;;;;N;;;;;
-B0E2;HANGUL SYLLABLE NYABS;Lo;0;L;;;;;N;;;;;
-B0E3;HANGUL SYLLABLE NYAS;Lo;0;L;;;;;N;;;;;
-B0E4;HANGUL SYLLABLE NYASS;Lo;0;L;;;;;N;;;;;
-B0E5;HANGUL SYLLABLE NYANG;Lo;0;L;;;;;N;;;;;
-B0E6;HANGUL SYLLABLE NYAJ;Lo;0;L;;;;;N;;;;;
-B0E7;HANGUL SYLLABLE NYAC;Lo;0;L;;;;;N;;;;;
-B0E8;HANGUL SYLLABLE NYAK;Lo;0;L;;;;;N;;;;;
-B0E9;HANGUL SYLLABLE NYAT;Lo;0;L;;;;;N;;;;;
-B0EA;HANGUL SYLLABLE NYAP;Lo;0;L;;;;;N;;;;;
-B0EB;HANGUL SYLLABLE NYAH;Lo;0;L;;;;;N;;;;;
-B0EC;HANGUL SYLLABLE NYAE;Lo;0;L;;;;;N;;;;;
-B0ED;HANGUL SYLLABLE NYAEG;Lo;0;L;;;;;N;;;;;
-B0EE;HANGUL SYLLABLE NYAEGG;Lo;0;L;;;;;N;;;;;
-B0EF;HANGUL SYLLABLE NYAEGS;Lo;0;L;;;;;N;;;;;
-B0F0;HANGUL SYLLABLE NYAEN;Lo;0;L;;;;;N;;;;;
-B0F1;HANGUL SYLLABLE NYAENI;Lo;0;L;;;;;N;;;;;
-B0F2;HANGUL SYLLABLE NYAENH;Lo;0;L;;;;;N;;;;;
-B0F3;HANGUL SYLLABLE NYAED;Lo;0;L;;;;;N;;;;;
-B0F4;HANGUL SYLLABLE NYAEL;Lo;0;L;;;;;N;;;;;
-B0F5;HANGUL SYLLABLE NYAELG;Lo;0;L;;;;;N;;;;;
-B0F6;HANGUL SYLLABLE NYAELM;Lo;0;L;;;;;N;;;;;
-B0F7;HANGUL SYLLABLE NYAELB;Lo;0;L;;;;;N;;;;;
-B0F8;HANGUL SYLLABLE NYAELS;Lo;0;L;;;;;N;;;;;
-B0F9;HANGUL SYLLABLE NYAELT;Lo;0;L;;;;;N;;;;;
-B0FA;HANGUL SYLLABLE NYAELP;Lo;0;L;;;;;N;;;;;
-B0FB;HANGUL SYLLABLE NYAELH;Lo;0;L;;;;;N;;;;;
-B0FC;HANGUL SYLLABLE NYAEM;Lo;0;L;;;;;N;;;;;
-B0FD;HANGUL SYLLABLE NYAEB;Lo;0;L;;;;;N;;;;;
-B0FE;HANGUL SYLLABLE NYAEBS;Lo;0;L;;;;;N;;;;;
-B0FF;HANGUL SYLLABLE NYAES;Lo;0;L;;;;;N;;;;;
-B100;HANGUL SYLLABLE NYAESS;Lo;0;L;;;;;N;;;;;
-B101;HANGUL SYLLABLE NYAENG;Lo;0;L;;;;;N;;;;;
-B102;HANGUL SYLLABLE NYAEJ;Lo;0;L;;;;;N;;;;;
-B103;HANGUL SYLLABLE NYAEC;Lo;0;L;;;;;N;;;;;
-B104;HANGUL SYLLABLE NYAEK;Lo;0;L;;;;;N;;;;;
-B105;HANGUL SYLLABLE NYAET;Lo;0;L;;;;;N;;;;;
-B106;HANGUL SYLLABLE NYAEP;Lo;0;L;;;;;N;;;;;
-B107;HANGUL SYLLABLE NYAEH;Lo;0;L;;;;;N;;;;;
-B108;HANGUL SYLLABLE NEO;Lo;0;L;;;;;N;;;;;
-B109;HANGUL SYLLABLE NEOG;Lo;0;L;;;;;N;;;;;
-B10A;HANGUL SYLLABLE NEOGG;Lo;0;L;;;;;N;;;;;
-B10B;HANGUL SYLLABLE NEOGS;Lo;0;L;;;;;N;;;;;
-B10C;HANGUL SYLLABLE NEON;Lo;0;L;;;;;N;;;;;
-B10D;HANGUL SYLLABLE NEONI;Lo;0;L;;;;;N;;;;;
-B10E;HANGUL SYLLABLE NEONH;Lo;0;L;;;;;N;;;;;
-B10F;HANGUL SYLLABLE NEOD;Lo;0;L;;;;;N;;;;;
-B110;HANGUL SYLLABLE NEOL;Lo;0;L;;;;;N;;;;;
-B111;HANGUL SYLLABLE NEOLG;Lo;0;L;;;;;N;;;;;
-B112;HANGUL SYLLABLE NEOLM;Lo;0;L;;;;;N;;;;;
-B113;HANGUL SYLLABLE NEOLB;Lo;0;L;;;;;N;;;;;
-B114;HANGUL SYLLABLE NEOLS;Lo;0;L;;;;;N;;;;;
-B115;HANGUL SYLLABLE NEOLT;Lo;0;L;;;;;N;;;;;
-B116;HANGUL SYLLABLE NEOLP;Lo;0;L;;;;;N;;;;;
-B117;HANGUL SYLLABLE NEOLH;Lo;0;L;;;;;N;;;;;
-B118;HANGUL SYLLABLE NEOM;Lo;0;L;;;;;N;;;;;
-B119;HANGUL SYLLABLE NEOB;Lo;0;L;;;;;N;;;;;
-B11A;HANGUL SYLLABLE NEOBS;Lo;0;L;;;;;N;;;;;
-B11B;HANGUL SYLLABLE NEOS;Lo;0;L;;;;;N;;;;;
-B11C;HANGUL SYLLABLE NEOSS;Lo;0;L;;;;;N;;;;;
-B11D;HANGUL SYLLABLE NEONG;Lo;0;L;;;;;N;;;;;
-B11E;HANGUL SYLLABLE NEOJ;Lo;0;L;;;;;N;;;;;
-B11F;HANGUL SYLLABLE NEOC;Lo;0;L;;;;;N;;;;;
-B120;HANGUL SYLLABLE NEOK;Lo;0;L;;;;;N;;;;;
-B121;HANGUL SYLLABLE NEOT;Lo;0;L;;;;;N;;;;;
-B122;HANGUL SYLLABLE NEOP;Lo;0;L;;;;;N;;;;;
-B123;HANGUL SYLLABLE NEOH;Lo;0;L;;;;;N;;;;;
-B124;HANGUL SYLLABLE NE;Lo;0;L;;;;;N;;;;;
-B125;HANGUL SYLLABLE NEG;Lo;0;L;;;;;N;;;;;
-B126;HANGUL SYLLABLE NEGG;Lo;0;L;;;;;N;;;;;
-B127;HANGUL SYLLABLE NEGS;Lo;0;L;;;;;N;;;;;
-B128;HANGUL SYLLABLE NEN;Lo;0;L;;;;;N;;;;;
-B129;HANGUL SYLLABLE NENI;Lo;0;L;;;;;N;;;;;
-B12A;HANGUL SYLLABLE NENH;Lo;0;L;;;;;N;;;;;
-B12B;HANGUL SYLLABLE NED;Lo;0;L;;;;;N;;;;;
-B12C;HANGUL SYLLABLE NEL;Lo;0;L;;;;;N;;;;;
-B12D;HANGUL SYLLABLE NELG;Lo;0;L;;;;;N;;;;;
-B12E;HANGUL SYLLABLE NELM;Lo;0;L;;;;;N;;;;;
-B12F;HANGUL SYLLABLE NELB;Lo;0;L;;;;;N;;;;;
-B130;HANGUL SYLLABLE NELS;Lo;0;L;;;;;N;;;;;
-B131;HANGUL SYLLABLE NELT;Lo;0;L;;;;;N;;;;;
-B132;HANGUL SYLLABLE NELP;Lo;0;L;;;;;N;;;;;
-B133;HANGUL SYLLABLE NELH;Lo;0;L;;;;;N;;;;;
-B134;HANGUL SYLLABLE NEM;Lo;0;L;;;;;N;;;;;
-B135;HANGUL SYLLABLE NEB;Lo;0;L;;;;;N;;;;;
-B136;HANGUL SYLLABLE NEBS;Lo;0;L;;;;;N;;;;;
-B137;HANGUL SYLLABLE NES;Lo;0;L;;;;;N;;;;;
-B138;HANGUL SYLLABLE NESS;Lo;0;L;;;;;N;;;;;
-B139;HANGUL SYLLABLE NENG;Lo;0;L;;;;;N;;;;;
-B13A;HANGUL SYLLABLE NEJ;Lo;0;L;;;;;N;;;;;
-B13B;HANGUL SYLLABLE NEC;Lo;0;L;;;;;N;;;;;
-B13C;HANGUL SYLLABLE NEK;Lo;0;L;;;;;N;;;;;
-B13D;HANGUL SYLLABLE NET;Lo;0;L;;;;;N;;;;;
-B13E;HANGUL SYLLABLE NEP;Lo;0;L;;;;;N;;;;;
-B13F;HANGUL SYLLABLE NEH;Lo;0;L;;;;;N;;;;;
-B140;HANGUL SYLLABLE NYEO;Lo;0;L;;;;;N;;;;;
-B141;HANGUL SYLLABLE NYEOG;Lo;0;L;;;;;N;;;;;
-B142;HANGUL SYLLABLE NYEOGG;Lo;0;L;;;;;N;;;;;
-B143;HANGUL SYLLABLE NYEOGS;Lo;0;L;;;;;N;;;;;
-B144;HANGUL SYLLABLE NYEON;Lo;0;L;;;;;N;;;;;
-B145;HANGUL SYLLABLE NYEONI;Lo;0;L;;;;;N;;;;;
-B146;HANGUL SYLLABLE NYEONH;Lo;0;L;;;;;N;;;;;
-B147;HANGUL SYLLABLE NYEOD;Lo;0;L;;;;;N;;;;;
-B148;HANGUL SYLLABLE NYEOL;Lo;0;L;;;;;N;;;;;
-B149;HANGUL SYLLABLE NYEOLG;Lo;0;L;;;;;N;;;;;
-B14A;HANGUL SYLLABLE NYEOLM;Lo;0;L;;;;;N;;;;;
-B14B;HANGUL SYLLABLE NYEOLB;Lo;0;L;;;;;N;;;;;
-B14C;HANGUL SYLLABLE NYEOLS;Lo;0;L;;;;;N;;;;;
-B14D;HANGUL SYLLABLE NYEOLT;Lo;0;L;;;;;N;;;;;
-B14E;HANGUL SYLLABLE NYEOLP;Lo;0;L;;;;;N;;;;;
-B14F;HANGUL SYLLABLE NYEOLH;Lo;0;L;;;;;N;;;;;
-B150;HANGUL SYLLABLE NYEOM;Lo;0;L;;;;;N;;;;;
-B151;HANGUL SYLLABLE NYEOB;Lo;0;L;;;;;N;;;;;
-B152;HANGUL SYLLABLE NYEOBS;Lo;0;L;;;;;N;;;;;
-B153;HANGUL SYLLABLE NYEOS;Lo;0;L;;;;;N;;;;;
-B154;HANGUL SYLLABLE NYEOSS;Lo;0;L;;;;;N;;;;;
-B155;HANGUL SYLLABLE NYEONG;Lo;0;L;;;;;N;;;;;
-B156;HANGUL SYLLABLE NYEOJ;Lo;0;L;;;;;N;;;;;
-B157;HANGUL SYLLABLE NYEOC;Lo;0;L;;;;;N;;;;;
-B158;HANGUL SYLLABLE NYEOK;Lo;0;L;;;;;N;;;;;
-B159;HANGUL SYLLABLE NYEOT;Lo;0;L;;;;;N;;;;;
-B15A;HANGUL SYLLABLE NYEOP;Lo;0;L;;;;;N;;;;;
-B15B;HANGUL SYLLABLE NYEOH;Lo;0;L;;;;;N;;;;;
-B15C;HANGUL SYLLABLE NYE;Lo;0;L;;;;;N;;;;;
-B15D;HANGUL SYLLABLE NYEG;Lo;0;L;;;;;N;;;;;
-B15E;HANGUL SYLLABLE NYEGG;Lo;0;L;;;;;N;;;;;
-B15F;HANGUL SYLLABLE NYEGS;Lo;0;L;;;;;N;;;;;
-B160;HANGUL SYLLABLE NYEN;Lo;0;L;;;;;N;;;;;
-B161;HANGUL SYLLABLE NYENI;Lo;0;L;;;;;N;;;;;
-B162;HANGUL SYLLABLE NYENH;Lo;0;L;;;;;N;;;;;
-B163;HANGUL SYLLABLE NYED;Lo;0;L;;;;;N;;;;;
-B164;HANGUL SYLLABLE NYEL;Lo;0;L;;;;;N;;;;;
-B165;HANGUL SYLLABLE NYELG;Lo;0;L;;;;;N;;;;;
-B166;HANGUL SYLLABLE NYELM;Lo;0;L;;;;;N;;;;;
-B167;HANGUL SYLLABLE NYELB;Lo;0;L;;;;;N;;;;;
-B168;HANGUL SYLLABLE NYELS;Lo;0;L;;;;;N;;;;;
-B169;HANGUL SYLLABLE NYELT;Lo;0;L;;;;;N;;;;;
-B16A;HANGUL SYLLABLE NYELP;Lo;0;L;;;;;N;;;;;
-B16B;HANGUL SYLLABLE NYELH;Lo;0;L;;;;;N;;;;;
-B16C;HANGUL SYLLABLE NYEM;Lo;0;L;;;;;N;;;;;
-B16D;HANGUL SYLLABLE NYEB;Lo;0;L;;;;;N;;;;;
-B16E;HANGUL SYLLABLE NYEBS;Lo;0;L;;;;;N;;;;;
-B16F;HANGUL SYLLABLE NYES;Lo;0;L;;;;;N;;;;;
-B170;HANGUL SYLLABLE NYESS;Lo;0;L;;;;;N;;;;;
-B171;HANGUL SYLLABLE NYENG;Lo;0;L;;;;;N;;;;;
-B172;HANGUL SYLLABLE NYEJ;Lo;0;L;;;;;N;;;;;
-B173;HANGUL SYLLABLE NYEC;Lo;0;L;;;;;N;;;;;
-B174;HANGUL SYLLABLE NYEK;Lo;0;L;;;;;N;;;;;
-B175;HANGUL SYLLABLE NYET;Lo;0;L;;;;;N;;;;;
-B176;HANGUL SYLLABLE NYEP;Lo;0;L;;;;;N;;;;;
-B177;HANGUL SYLLABLE NYEH;Lo;0;L;;;;;N;;;;;
-B178;HANGUL SYLLABLE NO;Lo;0;L;;;;;N;;;;;
-B179;HANGUL SYLLABLE NOG;Lo;0;L;;;;;N;;;;;
-B17A;HANGUL SYLLABLE NOGG;Lo;0;L;;;;;N;;;;;
-B17B;HANGUL SYLLABLE NOGS;Lo;0;L;;;;;N;;;;;
-B17C;HANGUL SYLLABLE NON;Lo;0;L;;;;;N;;;;;
-B17D;HANGUL SYLLABLE NONI;Lo;0;L;;;;;N;;;;;
-B17E;HANGUL SYLLABLE NONH;Lo;0;L;;;;;N;;;;;
-B17F;HANGUL SYLLABLE NOD;Lo;0;L;;;;;N;;;;;
-B180;HANGUL SYLLABLE NOL;Lo;0;L;;;;;N;;;;;
-B181;HANGUL SYLLABLE NOLG;Lo;0;L;;;;;N;;;;;
-B182;HANGUL SYLLABLE NOLM;Lo;0;L;;;;;N;;;;;
-B183;HANGUL SYLLABLE NOLB;Lo;0;L;;;;;N;;;;;
-B184;HANGUL SYLLABLE NOLS;Lo;0;L;;;;;N;;;;;
-B185;HANGUL SYLLABLE NOLT;Lo;0;L;;;;;N;;;;;
-B186;HANGUL SYLLABLE NOLP;Lo;0;L;;;;;N;;;;;
-B187;HANGUL SYLLABLE NOLH;Lo;0;L;;;;;N;;;;;
-B188;HANGUL SYLLABLE NOM;Lo;0;L;;;;;N;;;;;
-B189;HANGUL SYLLABLE NOB;Lo;0;L;;;;;N;;;;;
-B18A;HANGUL SYLLABLE NOBS;Lo;0;L;;;;;N;;;;;
-B18B;HANGUL SYLLABLE NOS;Lo;0;L;;;;;N;;;;;
-B18C;HANGUL SYLLABLE NOSS;Lo;0;L;;;;;N;;;;;
-B18D;HANGUL SYLLABLE NONG;Lo;0;L;;;;;N;;;;;
-B18E;HANGUL SYLLABLE NOJ;Lo;0;L;;;;;N;;;;;
-B18F;HANGUL SYLLABLE NOC;Lo;0;L;;;;;N;;;;;
-B190;HANGUL SYLLABLE NOK;Lo;0;L;;;;;N;;;;;
-B191;HANGUL SYLLABLE NOT;Lo;0;L;;;;;N;;;;;
-B192;HANGUL SYLLABLE NOP;Lo;0;L;;;;;N;;;;;
-B193;HANGUL SYLLABLE NOH;Lo;0;L;;;;;N;;;;;
-B194;HANGUL SYLLABLE NWA;Lo;0;L;;;;;N;;;;;
-B195;HANGUL SYLLABLE NWAG;Lo;0;L;;;;;N;;;;;
-B196;HANGUL SYLLABLE NWAGG;Lo;0;L;;;;;N;;;;;
-B197;HANGUL SYLLABLE NWAGS;Lo;0;L;;;;;N;;;;;
-B198;HANGUL SYLLABLE NWAN;Lo;0;L;;;;;N;;;;;
-B199;HANGUL SYLLABLE NWANI;Lo;0;L;;;;;N;;;;;
-B19A;HANGUL SYLLABLE NWANH;Lo;0;L;;;;;N;;;;;
-B19B;HANGUL SYLLABLE NWAD;Lo;0;L;;;;;N;;;;;
-B19C;HANGUL SYLLABLE NWAL;Lo;0;L;;;;;N;;;;;
-B19D;HANGUL SYLLABLE NWALG;Lo;0;L;;;;;N;;;;;
-B19E;HANGUL SYLLABLE NWALM;Lo;0;L;;;;;N;;;;;
-B19F;HANGUL SYLLABLE NWALB;Lo;0;L;;;;;N;;;;;
-B1A0;HANGUL SYLLABLE NWALS;Lo;0;L;;;;;N;;;;;
-B1A1;HANGUL SYLLABLE NWALT;Lo;0;L;;;;;N;;;;;
-B1A2;HANGUL SYLLABLE NWALP;Lo;0;L;;;;;N;;;;;
-B1A3;HANGUL SYLLABLE NWALH;Lo;0;L;;;;;N;;;;;
-B1A4;HANGUL SYLLABLE NWAM;Lo;0;L;;;;;N;;;;;
-B1A5;HANGUL SYLLABLE NWAB;Lo;0;L;;;;;N;;;;;
-B1A6;HANGUL SYLLABLE NWABS;Lo;0;L;;;;;N;;;;;
-B1A7;HANGUL SYLLABLE NWAS;Lo;0;L;;;;;N;;;;;
-B1A8;HANGUL SYLLABLE NWASS;Lo;0;L;;;;;N;;;;;
-B1A9;HANGUL SYLLABLE NWANG;Lo;0;L;;;;;N;;;;;
-B1AA;HANGUL SYLLABLE NWAJ;Lo;0;L;;;;;N;;;;;
-B1AB;HANGUL SYLLABLE NWAC;Lo;0;L;;;;;N;;;;;
-B1AC;HANGUL SYLLABLE NWAK;Lo;0;L;;;;;N;;;;;
-B1AD;HANGUL SYLLABLE NWAT;Lo;0;L;;;;;N;;;;;
-B1AE;HANGUL SYLLABLE NWAP;Lo;0;L;;;;;N;;;;;
-B1AF;HANGUL SYLLABLE NWAH;Lo;0;L;;;;;N;;;;;
-B1B0;HANGUL SYLLABLE NWAE;Lo;0;L;;;;;N;;;;;
-B1B1;HANGUL SYLLABLE NWAEG;Lo;0;L;;;;;N;;;;;
-B1B2;HANGUL SYLLABLE NWAEGG;Lo;0;L;;;;;N;;;;;
-B1B3;HANGUL SYLLABLE NWAEGS;Lo;0;L;;;;;N;;;;;
-B1B4;HANGUL SYLLABLE NWAEN;Lo;0;L;;;;;N;;;;;
-B1B5;HANGUL SYLLABLE NWAENI;Lo;0;L;;;;;N;;;;;
-B1B6;HANGUL SYLLABLE NWAENH;Lo;0;L;;;;;N;;;;;
-B1B7;HANGUL SYLLABLE NWAED;Lo;0;L;;;;;N;;;;;
-B1B8;HANGUL SYLLABLE NWAEL;Lo;0;L;;;;;N;;;;;
-B1B9;HANGUL SYLLABLE NWAELG;Lo;0;L;;;;;N;;;;;
-B1BA;HANGUL SYLLABLE NWAELM;Lo;0;L;;;;;N;;;;;
-B1BB;HANGUL SYLLABLE NWAELB;Lo;0;L;;;;;N;;;;;
-B1BC;HANGUL SYLLABLE NWAELS;Lo;0;L;;;;;N;;;;;
-B1BD;HANGUL SYLLABLE NWAELT;Lo;0;L;;;;;N;;;;;
-B1BE;HANGUL SYLLABLE NWAELP;Lo;0;L;;;;;N;;;;;
-B1BF;HANGUL SYLLABLE NWAELH;Lo;0;L;;;;;N;;;;;
-B1C0;HANGUL SYLLABLE NWAEM;Lo;0;L;;;;;N;;;;;
-B1C1;HANGUL SYLLABLE NWAEB;Lo;0;L;;;;;N;;;;;
-B1C2;HANGUL SYLLABLE NWAEBS;Lo;0;L;;;;;N;;;;;
-B1C3;HANGUL SYLLABLE NWAES;Lo;0;L;;;;;N;;;;;
-B1C4;HANGUL SYLLABLE NWAESS;Lo;0;L;;;;;N;;;;;
-B1C5;HANGUL SYLLABLE NWAENG;Lo;0;L;;;;;N;;;;;
-B1C6;HANGUL SYLLABLE NWAEJ;Lo;0;L;;;;;N;;;;;
-B1C7;HANGUL SYLLABLE NWAEC;Lo;0;L;;;;;N;;;;;
-B1C8;HANGUL SYLLABLE NWAEK;Lo;0;L;;;;;N;;;;;
-B1C9;HANGUL SYLLABLE NWAET;Lo;0;L;;;;;N;;;;;
-B1CA;HANGUL SYLLABLE NWAEP;Lo;0;L;;;;;N;;;;;
-B1CB;HANGUL SYLLABLE NWAEH;Lo;0;L;;;;;N;;;;;
-B1CC;HANGUL SYLLABLE NOE;Lo;0;L;;;;;N;;;;;
-B1CD;HANGUL SYLLABLE NOEG;Lo;0;L;;;;;N;;;;;
-B1CE;HANGUL SYLLABLE NOEGG;Lo;0;L;;;;;N;;;;;
-B1CF;HANGUL SYLLABLE NOEGS;Lo;0;L;;;;;N;;;;;
-B1D0;HANGUL SYLLABLE NOEN;Lo;0;L;;;;;N;;;;;
-B1D1;HANGUL SYLLABLE NOENI;Lo;0;L;;;;;N;;;;;
-B1D2;HANGUL SYLLABLE NOENH;Lo;0;L;;;;;N;;;;;
-B1D3;HANGUL SYLLABLE NOED;Lo;0;L;;;;;N;;;;;
-B1D4;HANGUL SYLLABLE NOEL;Lo;0;L;;;;;N;;;;;
-B1D5;HANGUL SYLLABLE NOELG;Lo;0;L;;;;;N;;;;;
-B1D6;HANGUL SYLLABLE NOELM;Lo;0;L;;;;;N;;;;;
-B1D7;HANGUL SYLLABLE NOELB;Lo;0;L;;;;;N;;;;;
-B1D8;HANGUL SYLLABLE NOELS;Lo;0;L;;;;;N;;;;;
-B1D9;HANGUL SYLLABLE NOELT;Lo;0;L;;;;;N;;;;;
-B1DA;HANGUL SYLLABLE NOELP;Lo;0;L;;;;;N;;;;;
-B1DB;HANGUL SYLLABLE NOELH;Lo;0;L;;;;;N;;;;;
-B1DC;HANGUL SYLLABLE NOEM;Lo;0;L;;;;;N;;;;;
-B1DD;HANGUL SYLLABLE NOEB;Lo;0;L;;;;;N;;;;;
-B1DE;HANGUL SYLLABLE NOEBS;Lo;0;L;;;;;N;;;;;
-B1DF;HANGUL SYLLABLE NOES;Lo;0;L;;;;;N;;;;;
-B1E0;HANGUL SYLLABLE NOESS;Lo;0;L;;;;;N;;;;;
-B1E1;HANGUL SYLLABLE NOENG;Lo;0;L;;;;;N;;;;;
-B1E2;HANGUL SYLLABLE NOEJ;Lo;0;L;;;;;N;;;;;
-B1E3;HANGUL SYLLABLE NOEC;Lo;0;L;;;;;N;;;;;
-B1E4;HANGUL SYLLABLE NOEK;Lo;0;L;;;;;N;;;;;
-B1E5;HANGUL SYLLABLE NOET;Lo;0;L;;;;;N;;;;;
-B1E6;HANGUL SYLLABLE NOEP;Lo;0;L;;;;;N;;;;;
-B1E7;HANGUL SYLLABLE NOEH;Lo;0;L;;;;;N;;;;;
-B1E8;HANGUL SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
-B1E9;HANGUL SYLLABLE NYOG;Lo;0;L;;;;;N;;;;;
-B1EA;HANGUL SYLLABLE NYOGG;Lo;0;L;;;;;N;;;;;
-B1EB;HANGUL SYLLABLE NYOGS;Lo;0;L;;;;;N;;;;;
-B1EC;HANGUL SYLLABLE NYON;Lo;0;L;;;;;N;;;;;
-B1ED;HANGUL SYLLABLE NYONI;Lo;0;L;;;;;N;;;;;
-B1EE;HANGUL SYLLABLE NYONH;Lo;0;L;;;;;N;;;;;
-B1EF;HANGUL SYLLABLE NYOD;Lo;0;L;;;;;N;;;;;
-B1F0;HANGUL SYLLABLE NYOL;Lo;0;L;;;;;N;;;;;
-B1F1;HANGUL SYLLABLE NYOLG;Lo;0;L;;;;;N;;;;;
-B1F2;HANGUL SYLLABLE NYOLM;Lo;0;L;;;;;N;;;;;
-B1F3;HANGUL SYLLABLE NYOLB;Lo;0;L;;;;;N;;;;;
-B1F4;HANGUL SYLLABLE NYOLS;Lo;0;L;;;;;N;;;;;
-B1F5;HANGUL SYLLABLE NYOLT;Lo;0;L;;;;;N;;;;;
-B1F6;HANGUL SYLLABLE NYOLP;Lo;0;L;;;;;N;;;;;
-B1F7;HANGUL SYLLABLE NYOLH;Lo;0;L;;;;;N;;;;;
-B1F8;HANGUL SYLLABLE NYOM;Lo;0;L;;;;;N;;;;;
-B1F9;HANGUL SYLLABLE NYOB;Lo;0;L;;;;;N;;;;;
-B1FA;HANGUL SYLLABLE NYOBS;Lo;0;L;;;;;N;;;;;
-B1FB;HANGUL SYLLABLE NYOS;Lo;0;L;;;;;N;;;;;
-B1FC;HANGUL SYLLABLE NYOSS;Lo;0;L;;;;;N;;;;;
-B1FD;HANGUL SYLLABLE NYONG;Lo;0;L;;;;;N;;;;;
-B1FE;HANGUL SYLLABLE NYOJ;Lo;0;L;;;;;N;;;;;
-B1FF;HANGUL SYLLABLE NYOC;Lo;0;L;;;;;N;;;;;
-B200;HANGUL SYLLABLE NYOK;Lo;0;L;;;;;N;;;;;
-B201;HANGUL SYLLABLE NYOT;Lo;0;L;;;;;N;;;;;
-B202;HANGUL SYLLABLE NYOP;Lo;0;L;;;;;N;;;;;
-B203;HANGUL SYLLABLE NYOH;Lo;0;L;;;;;N;;;;;
-B204;HANGUL SYLLABLE NU;Lo;0;L;;;;;N;;;;;
-B205;HANGUL SYLLABLE NUG;Lo;0;L;;;;;N;;;;;
-B206;HANGUL SYLLABLE NUGG;Lo;0;L;;;;;N;;;;;
-B207;HANGUL SYLLABLE NUGS;Lo;0;L;;;;;N;;;;;
-B208;HANGUL SYLLABLE NUN;Lo;0;L;;;;;N;;;;;
-B209;HANGUL SYLLABLE NUNI;Lo;0;L;;;;;N;;;;;
-B20A;HANGUL SYLLABLE NUNH;Lo;0;L;;;;;N;;;;;
-B20B;HANGUL SYLLABLE NUD;Lo;0;L;;;;;N;;;;;
-B20C;HANGUL SYLLABLE NUL;Lo;0;L;;;;;N;;;;;
-B20D;HANGUL SYLLABLE NULG;Lo;0;L;;;;;N;;;;;
-B20E;HANGUL SYLLABLE NULM;Lo;0;L;;;;;N;;;;;
-B20F;HANGUL SYLLABLE NULB;Lo;0;L;;;;;N;;;;;
-B210;HANGUL SYLLABLE NULS;Lo;0;L;;;;;N;;;;;
-B211;HANGUL SYLLABLE NULT;Lo;0;L;;;;;N;;;;;
-B212;HANGUL SYLLABLE NULP;Lo;0;L;;;;;N;;;;;
-B213;HANGUL SYLLABLE NULH;Lo;0;L;;;;;N;;;;;
-B214;HANGUL SYLLABLE NUM;Lo;0;L;;;;;N;;;;;
-B215;HANGUL SYLLABLE NUB;Lo;0;L;;;;;N;;;;;
-B216;HANGUL SYLLABLE NUBS;Lo;0;L;;;;;N;;;;;
-B217;HANGUL SYLLABLE NUS;Lo;0;L;;;;;N;;;;;
-B218;HANGUL SYLLABLE NUSS;Lo;0;L;;;;;N;;;;;
-B219;HANGUL SYLLABLE NUNG;Lo;0;L;;;;;N;;;;;
-B21A;HANGUL SYLLABLE NUJ;Lo;0;L;;;;;N;;;;;
-B21B;HANGUL SYLLABLE NUC;Lo;0;L;;;;;N;;;;;
-B21C;HANGUL SYLLABLE NUK;Lo;0;L;;;;;N;;;;;
-B21D;HANGUL SYLLABLE NUT;Lo;0;L;;;;;N;;;;;
-B21E;HANGUL SYLLABLE NUP;Lo;0;L;;;;;N;;;;;
-B21F;HANGUL SYLLABLE NUH;Lo;0;L;;;;;N;;;;;
-B220;HANGUL SYLLABLE NWEO;Lo;0;L;;;;;N;;;;;
-B221;HANGUL SYLLABLE NWEOG;Lo;0;L;;;;;N;;;;;
-B222;HANGUL SYLLABLE NWEOGG;Lo;0;L;;;;;N;;;;;
-B223;HANGUL SYLLABLE NWEOGS;Lo;0;L;;;;;N;;;;;
-B224;HANGUL SYLLABLE NWEON;Lo;0;L;;;;;N;;;;;
-B225;HANGUL SYLLABLE NWEONI;Lo;0;L;;;;;N;;;;;
-B226;HANGUL SYLLABLE NWEONH;Lo;0;L;;;;;N;;;;;
-B227;HANGUL SYLLABLE NWEOD;Lo;0;L;;;;;N;;;;;
-B228;HANGUL SYLLABLE NWEOL;Lo;0;L;;;;;N;;;;;
-B229;HANGUL SYLLABLE NWEOLG;Lo;0;L;;;;;N;;;;;
-B22A;HANGUL SYLLABLE NWEOLM;Lo;0;L;;;;;N;;;;;
-B22B;HANGUL SYLLABLE NWEOLB;Lo;0;L;;;;;N;;;;;
-B22C;HANGUL SYLLABLE NWEOLS;Lo;0;L;;;;;N;;;;;
-B22D;HANGUL SYLLABLE NWEOLT;Lo;0;L;;;;;N;;;;;
-B22E;HANGUL SYLLABLE NWEOLP;Lo;0;L;;;;;N;;;;;
-B22F;HANGUL SYLLABLE NWEOLH;Lo;0;L;;;;;N;;;;;
-B230;HANGUL SYLLABLE NWEOM;Lo;0;L;;;;;N;;;;;
-B231;HANGUL SYLLABLE NWEOB;Lo;0;L;;;;;N;;;;;
-B232;HANGUL SYLLABLE NWEOBS;Lo;0;L;;;;;N;;;;;
-B233;HANGUL SYLLABLE NWEOS;Lo;0;L;;;;;N;;;;;
-B234;HANGUL SYLLABLE NWEOSS;Lo;0;L;;;;;N;;;;;
-B235;HANGUL SYLLABLE NWEONG;Lo;0;L;;;;;N;;;;;
-B236;HANGUL SYLLABLE NWEOJ;Lo;0;L;;;;;N;;;;;
-B237;HANGUL SYLLABLE NWEOC;Lo;0;L;;;;;N;;;;;
-B238;HANGUL SYLLABLE NWEOK;Lo;0;L;;;;;N;;;;;
-B239;HANGUL SYLLABLE NWEOT;Lo;0;L;;;;;N;;;;;
-B23A;HANGUL SYLLABLE NWEOP;Lo;0;L;;;;;N;;;;;
-B23B;HANGUL SYLLABLE NWEOH;Lo;0;L;;;;;N;;;;;
-B23C;HANGUL SYLLABLE NWE;Lo;0;L;;;;;N;;;;;
-B23D;HANGUL SYLLABLE NWEG;Lo;0;L;;;;;N;;;;;
-B23E;HANGUL SYLLABLE NWEGG;Lo;0;L;;;;;N;;;;;
-B23F;HANGUL SYLLABLE NWEGS;Lo;0;L;;;;;N;;;;;
-B240;HANGUL SYLLABLE NWEN;Lo;0;L;;;;;N;;;;;
-B241;HANGUL SYLLABLE NWENI;Lo;0;L;;;;;N;;;;;
-B242;HANGUL SYLLABLE NWENH;Lo;0;L;;;;;N;;;;;
-B243;HANGUL SYLLABLE NWED;Lo;0;L;;;;;N;;;;;
-B244;HANGUL SYLLABLE NWEL;Lo;0;L;;;;;N;;;;;
-B245;HANGUL SYLLABLE NWELG;Lo;0;L;;;;;N;;;;;
-B246;HANGUL SYLLABLE NWELM;Lo;0;L;;;;;N;;;;;
-B247;HANGUL SYLLABLE NWELB;Lo;0;L;;;;;N;;;;;
-B248;HANGUL SYLLABLE NWELS;Lo;0;L;;;;;N;;;;;
-B249;HANGUL SYLLABLE NWELT;Lo;0;L;;;;;N;;;;;
-B24A;HANGUL SYLLABLE NWELP;Lo;0;L;;;;;N;;;;;
-B24B;HANGUL SYLLABLE NWELH;Lo;0;L;;;;;N;;;;;
-B24C;HANGUL SYLLABLE NWEM;Lo;0;L;;;;;N;;;;;
-B24D;HANGUL SYLLABLE NWEB;Lo;0;L;;;;;N;;;;;
-B24E;HANGUL SYLLABLE NWEBS;Lo;0;L;;;;;N;;;;;
-B24F;HANGUL SYLLABLE NWES;Lo;0;L;;;;;N;;;;;
-B250;HANGUL SYLLABLE NWESS;Lo;0;L;;;;;N;;;;;
-B251;HANGUL SYLLABLE NWENG;Lo;0;L;;;;;N;;;;;
-B252;HANGUL SYLLABLE NWEJ;Lo;0;L;;;;;N;;;;;
-B253;HANGUL SYLLABLE NWEC;Lo;0;L;;;;;N;;;;;
-B254;HANGUL SYLLABLE NWEK;Lo;0;L;;;;;N;;;;;
-B255;HANGUL SYLLABLE NWET;Lo;0;L;;;;;N;;;;;
-B256;HANGUL SYLLABLE NWEP;Lo;0;L;;;;;N;;;;;
-B257;HANGUL SYLLABLE NWEH;Lo;0;L;;;;;N;;;;;
-B258;HANGUL SYLLABLE NWI;Lo;0;L;;;;;N;;;;;
-B259;HANGUL SYLLABLE NWIG;Lo;0;L;;;;;N;;;;;
-B25A;HANGUL SYLLABLE NWIGG;Lo;0;L;;;;;N;;;;;
-B25B;HANGUL SYLLABLE NWIGS;Lo;0;L;;;;;N;;;;;
-B25C;HANGUL SYLLABLE NWIN;Lo;0;L;;;;;N;;;;;
-B25D;HANGUL SYLLABLE NWINI;Lo;0;L;;;;;N;;;;;
-B25E;HANGUL SYLLABLE NWINH;Lo;0;L;;;;;N;;;;;
-B25F;HANGUL SYLLABLE NWID;Lo;0;L;;;;;N;;;;;
-B260;HANGUL SYLLABLE NWIL;Lo;0;L;;;;;N;;;;;
-B261;HANGUL SYLLABLE NWILG;Lo;0;L;;;;;N;;;;;
-B262;HANGUL SYLLABLE NWILM;Lo;0;L;;;;;N;;;;;
-B263;HANGUL SYLLABLE NWILB;Lo;0;L;;;;;N;;;;;
-B264;HANGUL SYLLABLE NWILS;Lo;0;L;;;;;N;;;;;
-B265;HANGUL SYLLABLE NWILT;Lo;0;L;;;;;N;;;;;
-B266;HANGUL SYLLABLE NWILP;Lo;0;L;;;;;N;;;;;
-B267;HANGUL SYLLABLE NWILH;Lo;0;L;;;;;N;;;;;
-B268;HANGUL SYLLABLE NWIM;Lo;0;L;;;;;N;;;;;
-B269;HANGUL SYLLABLE NWIB;Lo;0;L;;;;;N;;;;;
-B26A;HANGUL SYLLABLE NWIBS;Lo;0;L;;;;;N;;;;;
-B26B;HANGUL SYLLABLE NWIS;Lo;0;L;;;;;N;;;;;
-B26C;HANGUL SYLLABLE NWISS;Lo;0;L;;;;;N;;;;;
-B26D;HANGUL SYLLABLE NWING;Lo;0;L;;;;;N;;;;;
-B26E;HANGUL SYLLABLE NWIJ;Lo;0;L;;;;;N;;;;;
-B26F;HANGUL SYLLABLE NWIC;Lo;0;L;;;;;N;;;;;
-B270;HANGUL SYLLABLE NWIK;Lo;0;L;;;;;N;;;;;
-B271;HANGUL SYLLABLE NWIT;Lo;0;L;;;;;N;;;;;
-B272;HANGUL SYLLABLE NWIP;Lo;0;L;;;;;N;;;;;
-B273;HANGUL SYLLABLE NWIH;Lo;0;L;;;;;N;;;;;
-B274;HANGUL SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
-B275;HANGUL SYLLABLE NYUG;Lo;0;L;;;;;N;;;;;
-B276;HANGUL SYLLABLE NYUGG;Lo;0;L;;;;;N;;;;;
-B277;HANGUL SYLLABLE NYUGS;Lo;0;L;;;;;N;;;;;
-B278;HANGUL SYLLABLE NYUN;Lo;0;L;;;;;N;;;;;
-B279;HANGUL SYLLABLE NYUNI;Lo;0;L;;;;;N;;;;;
-B27A;HANGUL SYLLABLE NYUNH;Lo;0;L;;;;;N;;;;;
-B27B;HANGUL SYLLABLE NYUD;Lo;0;L;;;;;N;;;;;
-B27C;HANGUL SYLLABLE NYUL;Lo;0;L;;;;;N;;;;;
-B27D;HANGUL SYLLABLE NYULG;Lo;0;L;;;;;N;;;;;
-B27E;HANGUL SYLLABLE NYULM;Lo;0;L;;;;;N;;;;;
-B27F;HANGUL SYLLABLE NYULB;Lo;0;L;;;;;N;;;;;
-B280;HANGUL SYLLABLE NYULS;Lo;0;L;;;;;N;;;;;
-B281;HANGUL SYLLABLE NYULT;Lo;0;L;;;;;N;;;;;
-B282;HANGUL SYLLABLE NYULP;Lo;0;L;;;;;N;;;;;
-B283;HANGUL SYLLABLE NYULH;Lo;0;L;;;;;N;;;;;
-B284;HANGUL SYLLABLE NYUM;Lo;0;L;;;;;N;;;;;
-B285;HANGUL SYLLABLE NYUB;Lo;0;L;;;;;N;;;;;
-B286;HANGUL SYLLABLE NYUBS;Lo;0;L;;;;;N;;;;;
-B287;HANGUL SYLLABLE NYUS;Lo;0;L;;;;;N;;;;;
-B288;HANGUL SYLLABLE NYUSS;Lo;0;L;;;;;N;;;;;
-B289;HANGUL SYLLABLE NYUNG;Lo;0;L;;;;;N;;;;;
-B28A;HANGUL SYLLABLE NYUJ;Lo;0;L;;;;;N;;;;;
-B28B;HANGUL SYLLABLE NYUC;Lo;0;L;;;;;N;;;;;
-B28C;HANGUL SYLLABLE NYUK;Lo;0;L;;;;;N;;;;;
-B28D;HANGUL SYLLABLE NYUT;Lo;0;L;;;;;N;;;;;
-B28E;HANGUL SYLLABLE NYUP;Lo;0;L;;;;;N;;;;;
-B28F;HANGUL SYLLABLE NYUH;Lo;0;L;;;;;N;;;;;
-B290;HANGUL SYLLABLE NEU;Lo;0;L;;;;;N;;;;;
-B291;HANGUL SYLLABLE NEUG;Lo;0;L;;;;;N;;;;;
-B292;HANGUL SYLLABLE NEUGG;Lo;0;L;;;;;N;;;;;
-B293;HANGUL SYLLABLE NEUGS;Lo;0;L;;;;;N;;;;;
-B294;HANGUL SYLLABLE NEUN;Lo;0;L;;;;;N;;;;;
-B295;HANGUL SYLLABLE NEUNI;Lo;0;L;;;;;N;;;;;
-B296;HANGUL SYLLABLE NEUNH;Lo;0;L;;;;;N;;;;;
-B297;HANGUL SYLLABLE NEUD;Lo;0;L;;;;;N;;;;;
-B298;HANGUL SYLLABLE NEUL;Lo;0;L;;;;;N;;;;;
-B299;HANGUL SYLLABLE NEULG;Lo;0;L;;;;;N;;;;;
-B29A;HANGUL SYLLABLE NEULM;Lo;0;L;;;;;N;;;;;
-B29B;HANGUL SYLLABLE NEULB;Lo;0;L;;;;;N;;;;;
-B29C;HANGUL SYLLABLE NEULS;Lo;0;L;;;;;N;;;;;
-B29D;HANGUL SYLLABLE NEULT;Lo;0;L;;;;;N;;;;;
-B29E;HANGUL SYLLABLE NEULP;Lo;0;L;;;;;N;;;;;
-B29F;HANGUL SYLLABLE NEULH;Lo;0;L;;;;;N;;;;;
-B2A0;HANGUL SYLLABLE NEUM;Lo;0;L;;;;;N;;;;;
-B2A1;HANGUL SYLLABLE NEUB;Lo;0;L;;;;;N;;;;;
-B2A2;HANGUL SYLLABLE NEUBS;Lo;0;L;;;;;N;;;;;
-B2A3;HANGUL SYLLABLE NEUS;Lo;0;L;;;;;N;;;;;
-B2A4;HANGUL SYLLABLE NEUSS;Lo;0;L;;;;;N;;;;;
-B2A5;HANGUL SYLLABLE NEUNG;Lo;0;L;;;;;N;;;;;
-B2A6;HANGUL SYLLABLE NEUJ;Lo;0;L;;;;;N;;;;;
-B2A7;HANGUL SYLLABLE NEUC;Lo;0;L;;;;;N;;;;;
-B2A8;HANGUL SYLLABLE NEUK;Lo;0;L;;;;;N;;;;;
-B2A9;HANGUL SYLLABLE NEUT;Lo;0;L;;;;;N;;;;;
-B2AA;HANGUL SYLLABLE NEUP;Lo;0;L;;;;;N;;;;;
-B2AB;HANGUL SYLLABLE NEUH;Lo;0;L;;;;;N;;;;;
-B2AC;HANGUL SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
-B2AD;HANGUL SYLLABLE NYIG;Lo;0;L;;;;;N;;;;;
-B2AE;HANGUL SYLLABLE NYIGG;Lo;0;L;;;;;N;;;;;
-B2AF;HANGUL SYLLABLE NYIGS;Lo;0;L;;;;;N;;;;;
-B2B0;HANGUL SYLLABLE NYIN;Lo;0;L;;;;;N;;;;;
-B2B1;HANGUL SYLLABLE NYINI;Lo;0;L;;;;;N;;;;;
-B2B2;HANGUL SYLLABLE NYINH;Lo;0;L;;;;;N;;;;;
-B2B3;HANGUL SYLLABLE NYID;Lo;0;L;;;;;N;;;;;
-B2B4;HANGUL SYLLABLE NYIL;Lo;0;L;;;;;N;;;;;
-B2B5;HANGUL SYLLABLE NYILG;Lo;0;L;;;;;N;;;;;
-B2B6;HANGUL SYLLABLE NYILM;Lo;0;L;;;;;N;;;;;
-B2B7;HANGUL SYLLABLE NYILB;Lo;0;L;;;;;N;;;;;
-B2B8;HANGUL SYLLABLE NYILS;Lo;0;L;;;;;N;;;;;
-B2B9;HANGUL SYLLABLE NYILT;Lo;0;L;;;;;N;;;;;
-B2BA;HANGUL SYLLABLE NYILP;Lo;0;L;;;;;N;;;;;
-B2BB;HANGUL SYLLABLE NYILH;Lo;0;L;;;;;N;;;;;
-B2BC;HANGUL SYLLABLE NYIM;Lo;0;L;;;;;N;;;;;
-B2BD;HANGUL SYLLABLE NYIB;Lo;0;L;;;;;N;;;;;
-B2BE;HANGUL SYLLABLE NYIBS;Lo;0;L;;;;;N;;;;;
-B2BF;HANGUL SYLLABLE NYIS;Lo;0;L;;;;;N;;;;;
-B2C0;HANGUL SYLLABLE NYISS;Lo;0;L;;;;;N;;;;;
-B2C1;HANGUL SYLLABLE NYING;Lo;0;L;;;;;N;;;;;
-B2C2;HANGUL SYLLABLE NYIJ;Lo;0;L;;;;;N;;;;;
-B2C3;HANGUL SYLLABLE NYIC;Lo;0;L;;;;;N;;;;;
-B2C4;HANGUL SYLLABLE NYIK;Lo;0;L;;;;;N;;;;;
-B2C5;HANGUL SYLLABLE NYIT;Lo;0;L;;;;;N;;;;;
-B2C6;HANGUL SYLLABLE NYIP;Lo;0;L;;;;;N;;;;;
-B2C7;HANGUL SYLLABLE NYIH;Lo;0;L;;;;;N;;;;;
-B2C8;HANGUL SYLLABLE NI;Lo;0;L;;;;;N;;;;;
-B2C9;HANGUL SYLLABLE NIG;Lo;0;L;;;;;N;;;;;
-B2CA;HANGUL SYLLABLE NIGG;Lo;0;L;;;;;N;;;;;
-B2CB;HANGUL SYLLABLE NIGS;Lo;0;L;;;;;N;;;;;
-B2CC;HANGUL SYLLABLE NIN;Lo;0;L;;;;;N;;;;;
-B2CD;HANGUL SYLLABLE NINI;Lo;0;L;;;;;N;;;;;
-B2CE;HANGUL SYLLABLE NINH;Lo;0;L;;;;;N;;;;;
-B2CF;HANGUL SYLLABLE NID;Lo;0;L;;;;;N;;;;;
-B2D0;HANGUL SYLLABLE NIL;Lo;0;L;;;;;N;;;;;
-B2D1;HANGUL SYLLABLE NILG;Lo;0;L;;;;;N;;;;;
-B2D2;HANGUL SYLLABLE NILM;Lo;0;L;;;;;N;;;;;
-B2D3;HANGUL SYLLABLE NILB;Lo;0;L;;;;;N;;;;;
-B2D4;HANGUL SYLLABLE NILS;Lo;0;L;;;;;N;;;;;
-B2D5;HANGUL SYLLABLE NILT;Lo;0;L;;;;;N;;;;;
-B2D6;HANGUL SYLLABLE NILP;Lo;0;L;;;;;N;;;;;
-B2D7;HANGUL SYLLABLE NILH;Lo;0;L;;;;;N;;;;;
-B2D8;HANGUL SYLLABLE NIM;Lo;0;L;;;;;N;;;;;
-B2D9;HANGUL SYLLABLE NIB;Lo;0;L;;;;;N;;;;;
-B2DA;HANGUL SYLLABLE NIBS;Lo;0;L;;;;;N;;;;;
-B2DB;HANGUL SYLLABLE NIS;Lo;0;L;;;;;N;;;;;
-B2DC;HANGUL SYLLABLE NISS;Lo;0;L;;;;;N;;;;;
-B2DD;HANGUL SYLLABLE NING;Lo;0;L;;;;;N;;;;;
-B2DE;HANGUL SYLLABLE NIJ;Lo;0;L;;;;;N;;;;;
-B2DF;HANGUL SYLLABLE NIC;Lo;0;L;;;;;N;;;;;
-B2E0;HANGUL SYLLABLE NIK;Lo;0;L;;;;;N;;;;;
-B2E1;HANGUL SYLLABLE NIT;Lo;0;L;;;;;N;;;;;
-B2E2;HANGUL SYLLABLE NIP;Lo;0;L;;;;;N;;;;;
-B2E3;HANGUL SYLLABLE NIH;Lo;0;L;;;;;N;;;;;
-B2E4;HANGUL SYLLABLE DA;Lo;0;L;;;;;N;;;;;
-B2E5;HANGUL SYLLABLE DAG;Lo;0;L;;;;;N;;;;;
-B2E6;HANGUL SYLLABLE DAGG;Lo;0;L;;;;;N;;;;;
-B2E7;HANGUL SYLLABLE DAGS;Lo;0;L;;;;;N;;;;;
-B2E8;HANGUL SYLLABLE DAN;Lo;0;L;;;;;N;;;;;
-B2E9;HANGUL SYLLABLE DANI;Lo;0;L;;;;;N;;;;;
-B2EA;HANGUL SYLLABLE DANH;Lo;0;L;;;;;N;;;;;
-B2EB;HANGUL SYLLABLE DAD;Lo;0;L;;;;;N;;;;;
-B2EC;HANGUL SYLLABLE DAL;Lo;0;L;;;;;N;;;;;
-B2ED;HANGUL SYLLABLE DALG;Lo;0;L;;;;;N;;;;;
-B2EE;HANGUL SYLLABLE DALM;Lo;0;L;;;;;N;;;;;
-B2EF;HANGUL SYLLABLE DALB;Lo;0;L;;;;;N;;;;;
-B2F0;HANGUL SYLLABLE DALS;Lo;0;L;;;;;N;;;;;
-B2F1;HANGUL SYLLABLE DALT;Lo;0;L;;;;;N;;;;;
-B2F2;HANGUL SYLLABLE DALP;Lo;0;L;;;;;N;;;;;
-B2F3;HANGUL SYLLABLE DALH;Lo;0;L;;;;;N;;;;;
-B2F4;HANGUL SYLLABLE DAM;Lo;0;L;;;;;N;;;;;
-B2F5;HANGUL SYLLABLE DAB;Lo;0;L;;;;;N;;;;;
-B2F6;HANGUL SYLLABLE DABS;Lo;0;L;;;;;N;;;;;
-B2F7;HANGUL SYLLABLE DAS;Lo;0;L;;;;;N;;;;;
-B2F8;HANGUL SYLLABLE DASS;Lo;0;L;;;;;N;;;;;
-B2F9;HANGUL SYLLABLE DANG;Lo;0;L;;;;;N;;;;;
-B2FA;HANGUL SYLLABLE DAJ;Lo;0;L;;;;;N;;;;;
-B2FB;HANGUL SYLLABLE DAC;Lo;0;L;;;;;N;;;;;
-B2FC;HANGUL SYLLABLE DAK;Lo;0;L;;;;;N;;;;;
-B2FD;HANGUL SYLLABLE DAT;Lo;0;L;;;;;N;;;;;
-B2FE;HANGUL SYLLABLE DAP;Lo;0;L;;;;;N;;;;;
-B2FF;HANGUL SYLLABLE DAH;Lo;0;L;;;;;N;;;;;
-B300;HANGUL SYLLABLE DAE;Lo;0;L;;;;;N;;;;;
-B301;HANGUL SYLLABLE DAEG;Lo;0;L;;;;;N;;;;;
-B302;HANGUL SYLLABLE DAEGG;Lo;0;L;;;;;N;;;;;
-B303;HANGUL SYLLABLE DAEGS;Lo;0;L;;;;;N;;;;;
-B304;HANGUL SYLLABLE DAEN;Lo;0;L;;;;;N;;;;;
-B305;HANGUL SYLLABLE DAENI;Lo;0;L;;;;;N;;;;;
-B306;HANGUL SYLLABLE DAENH;Lo;0;L;;;;;N;;;;;
-B307;HANGUL SYLLABLE DAED;Lo;0;L;;;;;N;;;;;
-B308;HANGUL SYLLABLE DAEL;Lo;0;L;;;;;N;;;;;
-B309;HANGUL SYLLABLE DAELG;Lo;0;L;;;;;N;;;;;
-B30A;HANGUL SYLLABLE DAELM;Lo;0;L;;;;;N;;;;;
-B30B;HANGUL SYLLABLE DAELB;Lo;0;L;;;;;N;;;;;
-B30C;HANGUL SYLLABLE DAELS;Lo;0;L;;;;;N;;;;;
-B30D;HANGUL SYLLABLE DAELT;Lo;0;L;;;;;N;;;;;
-B30E;HANGUL SYLLABLE DAELP;Lo;0;L;;;;;N;;;;;
-B30F;HANGUL SYLLABLE DAELH;Lo;0;L;;;;;N;;;;;
-B310;HANGUL SYLLABLE DAEM;Lo;0;L;;;;;N;;;;;
-B311;HANGUL SYLLABLE DAEB;Lo;0;L;;;;;N;;;;;
-B312;HANGUL SYLLABLE DAEBS;Lo;0;L;;;;;N;;;;;
-B313;HANGUL SYLLABLE DAES;Lo;0;L;;;;;N;;;;;
-B314;HANGUL SYLLABLE DAESS;Lo;0;L;;;;;N;;;;;
-B315;HANGUL SYLLABLE DAENG;Lo;0;L;;;;;N;;;;;
-B316;HANGUL SYLLABLE DAEJ;Lo;0;L;;;;;N;;;;;
-B317;HANGUL SYLLABLE DAEC;Lo;0;L;;;;;N;;;;;
-B318;HANGUL SYLLABLE DAEK;Lo;0;L;;;;;N;;;;;
-B319;HANGUL SYLLABLE DAET;Lo;0;L;;;;;N;;;;;
-B31A;HANGUL SYLLABLE DAEP;Lo;0;L;;;;;N;;;;;
-B31B;HANGUL SYLLABLE DAEH;Lo;0;L;;;;;N;;;;;
-B31C;HANGUL SYLLABLE DYA;Lo;0;L;;;;;N;;;;;
-B31D;HANGUL SYLLABLE DYAG;Lo;0;L;;;;;N;;;;;
-B31E;HANGUL SYLLABLE DYAGG;Lo;0;L;;;;;N;;;;;
-B31F;HANGUL SYLLABLE DYAGS;Lo;0;L;;;;;N;;;;;
-B320;HANGUL SYLLABLE DYAN;Lo;0;L;;;;;N;;;;;
-B321;HANGUL SYLLABLE DYANI;Lo;0;L;;;;;N;;;;;
-B322;HANGUL SYLLABLE DYANH;Lo;0;L;;;;;N;;;;;
-B323;HANGUL SYLLABLE DYAD;Lo;0;L;;;;;N;;;;;
-B324;HANGUL SYLLABLE DYAL;Lo;0;L;;;;;N;;;;;
-B325;HANGUL SYLLABLE DYALG;Lo;0;L;;;;;N;;;;;
-B326;HANGUL SYLLABLE DYALM;Lo;0;L;;;;;N;;;;;
-B327;HANGUL SYLLABLE DYALB;Lo;0;L;;;;;N;;;;;
-B328;HANGUL SYLLABLE DYALS;Lo;0;L;;;;;N;;;;;
-B329;HANGUL SYLLABLE DYALT;Lo;0;L;;;;;N;;;;;
-B32A;HANGUL SYLLABLE DYALP;Lo;0;L;;;;;N;;;;;
-B32B;HANGUL SYLLABLE DYALH;Lo;0;L;;;;;N;;;;;
-B32C;HANGUL SYLLABLE DYAM;Lo;0;L;;;;;N;;;;;
-B32D;HANGUL SYLLABLE DYAB;Lo;0;L;;;;;N;;;;;
-B32E;HANGUL SYLLABLE DYABS;Lo;0;L;;;;;N;;;;;
-B32F;HANGUL SYLLABLE DYAS;Lo;0;L;;;;;N;;;;;
-B330;HANGUL SYLLABLE DYASS;Lo;0;L;;;;;N;;;;;
-B331;HANGUL SYLLABLE DYANG;Lo;0;L;;;;;N;;;;;
-B332;HANGUL SYLLABLE DYAJ;Lo;0;L;;;;;N;;;;;
-B333;HANGUL SYLLABLE DYAC;Lo;0;L;;;;;N;;;;;
-B334;HANGUL SYLLABLE DYAK;Lo;0;L;;;;;N;;;;;
-B335;HANGUL SYLLABLE DYAT;Lo;0;L;;;;;N;;;;;
-B336;HANGUL SYLLABLE DYAP;Lo;0;L;;;;;N;;;;;
-B337;HANGUL SYLLABLE DYAH;Lo;0;L;;;;;N;;;;;
-B338;HANGUL SYLLABLE DYAE;Lo;0;L;;;;;N;;;;;
-B339;HANGUL SYLLABLE DYAEG;Lo;0;L;;;;;N;;;;;
-B33A;HANGUL SYLLABLE DYAEGG;Lo;0;L;;;;;N;;;;;
-B33B;HANGUL SYLLABLE DYAEGS;Lo;0;L;;;;;N;;;;;
-B33C;HANGUL SYLLABLE DYAEN;Lo;0;L;;;;;N;;;;;
-B33D;HANGUL SYLLABLE DYAENI;Lo;0;L;;;;;N;;;;;
-B33E;HANGUL SYLLABLE DYAENH;Lo;0;L;;;;;N;;;;;
-B33F;HANGUL SYLLABLE DYAED;Lo;0;L;;;;;N;;;;;
-B340;HANGUL SYLLABLE DYAEL;Lo;0;L;;;;;N;;;;;
-B341;HANGUL SYLLABLE DYAELG;Lo;0;L;;;;;N;;;;;
-B342;HANGUL SYLLABLE DYAELM;Lo;0;L;;;;;N;;;;;
-B343;HANGUL SYLLABLE DYAELB;Lo;0;L;;;;;N;;;;;
-B344;HANGUL SYLLABLE DYAELS;Lo;0;L;;;;;N;;;;;
-B345;HANGUL SYLLABLE DYAELT;Lo;0;L;;;;;N;;;;;
-B346;HANGUL SYLLABLE DYAELP;Lo;0;L;;;;;N;;;;;
-B347;HANGUL SYLLABLE DYAELH;Lo;0;L;;;;;N;;;;;
-B348;HANGUL SYLLABLE DYAEM;Lo;0;L;;;;;N;;;;;
-B349;HANGUL SYLLABLE DYAEB;Lo;0;L;;;;;N;;;;;
-B34A;HANGUL SYLLABLE DYAEBS;Lo;0;L;;;;;N;;;;;
-B34B;HANGUL SYLLABLE DYAES;Lo;0;L;;;;;N;;;;;
-B34C;HANGUL SYLLABLE DYAESS;Lo;0;L;;;;;N;;;;;
-B34D;HANGUL SYLLABLE DYAENG;Lo;0;L;;;;;N;;;;;
-B34E;HANGUL SYLLABLE DYAEJ;Lo;0;L;;;;;N;;;;;
-B34F;HANGUL SYLLABLE DYAEC;Lo;0;L;;;;;N;;;;;
-B350;HANGUL SYLLABLE DYAEK;Lo;0;L;;;;;N;;;;;
-B351;HANGUL SYLLABLE DYAET;Lo;0;L;;;;;N;;;;;
-B352;HANGUL SYLLABLE DYAEP;Lo;0;L;;;;;N;;;;;
-B353;HANGUL SYLLABLE DYAEH;Lo;0;L;;;;;N;;;;;
-B354;HANGUL SYLLABLE DEO;Lo;0;L;;;;;N;;;;;
-B355;HANGUL SYLLABLE DEOG;Lo;0;L;;;;;N;;;;;
-B356;HANGUL SYLLABLE DEOGG;Lo;0;L;;;;;N;;;;;
-B357;HANGUL SYLLABLE DEOGS;Lo;0;L;;;;;N;;;;;
-B358;HANGUL SYLLABLE DEON;Lo;0;L;;;;;N;;;;;
-B359;HANGUL SYLLABLE DEONI;Lo;0;L;;;;;N;;;;;
-B35A;HANGUL SYLLABLE DEONH;Lo;0;L;;;;;N;;;;;
-B35B;HANGUL SYLLABLE DEOD;Lo;0;L;;;;;N;;;;;
-B35C;HANGUL SYLLABLE DEOL;Lo;0;L;;;;;N;;;;;
-B35D;HANGUL SYLLABLE DEOLG;Lo;0;L;;;;;N;;;;;
-B35E;HANGUL SYLLABLE DEOLM;Lo;0;L;;;;;N;;;;;
-B35F;HANGUL SYLLABLE DEOLB;Lo;0;L;;;;;N;;;;;
-B360;HANGUL SYLLABLE DEOLS;Lo;0;L;;;;;N;;;;;
-B361;HANGUL SYLLABLE DEOLT;Lo;0;L;;;;;N;;;;;
-B362;HANGUL SYLLABLE DEOLP;Lo;0;L;;;;;N;;;;;
-B363;HANGUL SYLLABLE DEOLH;Lo;0;L;;;;;N;;;;;
-B364;HANGUL SYLLABLE DEOM;Lo;0;L;;;;;N;;;;;
-B365;HANGUL SYLLABLE DEOB;Lo;0;L;;;;;N;;;;;
-B366;HANGUL SYLLABLE DEOBS;Lo;0;L;;;;;N;;;;;
-B367;HANGUL SYLLABLE DEOS;Lo;0;L;;;;;N;;;;;
-B368;HANGUL SYLLABLE DEOSS;Lo;0;L;;;;;N;;;;;
-B369;HANGUL SYLLABLE DEONG;Lo;0;L;;;;;N;;;;;
-B36A;HANGUL SYLLABLE DEOJ;Lo;0;L;;;;;N;;;;;
-B36B;HANGUL SYLLABLE DEOC;Lo;0;L;;;;;N;;;;;
-B36C;HANGUL SYLLABLE DEOK;Lo;0;L;;;;;N;;;;;
-B36D;HANGUL SYLLABLE DEOT;Lo;0;L;;;;;N;;;;;
-B36E;HANGUL SYLLABLE DEOP;Lo;0;L;;;;;N;;;;;
-B36F;HANGUL SYLLABLE DEOH;Lo;0;L;;;;;N;;;;;
-B370;HANGUL SYLLABLE DE;Lo;0;L;;;;;N;;;;;
-B371;HANGUL SYLLABLE DEG;Lo;0;L;;;;;N;;;;;
-B372;HANGUL SYLLABLE DEGG;Lo;0;L;;;;;N;;;;;
-B373;HANGUL SYLLABLE DEGS;Lo;0;L;;;;;N;;;;;
-B374;HANGUL SYLLABLE DEN;Lo;0;L;;;;;N;;;;;
-B375;HANGUL SYLLABLE DENI;Lo;0;L;;;;;N;;;;;
-B376;HANGUL SYLLABLE DENH;Lo;0;L;;;;;N;;;;;
-B377;HANGUL SYLLABLE DED;Lo;0;L;;;;;N;;;;;
-B378;HANGUL SYLLABLE DEL;Lo;0;L;;;;;N;;;;;
-B379;HANGUL SYLLABLE DELG;Lo;0;L;;;;;N;;;;;
-B37A;HANGUL SYLLABLE DELM;Lo;0;L;;;;;N;;;;;
-B37B;HANGUL SYLLABLE DELB;Lo;0;L;;;;;N;;;;;
-B37C;HANGUL SYLLABLE DELS;Lo;0;L;;;;;N;;;;;
-B37D;HANGUL SYLLABLE DELT;Lo;0;L;;;;;N;;;;;
-B37E;HANGUL SYLLABLE DELP;Lo;0;L;;;;;N;;;;;
-B37F;HANGUL SYLLABLE DELH;Lo;0;L;;;;;N;;;;;
-B380;HANGUL SYLLABLE DEM;Lo;0;L;;;;;N;;;;;
-B381;HANGUL SYLLABLE DEB;Lo;0;L;;;;;N;;;;;
-B382;HANGUL SYLLABLE DEBS;Lo;0;L;;;;;N;;;;;
-B383;HANGUL SYLLABLE DES;Lo;0;L;;;;;N;;;;;
-B384;HANGUL SYLLABLE DESS;Lo;0;L;;;;;N;;;;;
-B385;HANGUL SYLLABLE DENG;Lo;0;L;;;;;N;;;;;
-B386;HANGUL SYLLABLE DEJ;Lo;0;L;;;;;N;;;;;
-B387;HANGUL SYLLABLE DEC;Lo;0;L;;;;;N;;;;;
-B388;HANGUL SYLLABLE DEK;Lo;0;L;;;;;N;;;;;
-B389;HANGUL SYLLABLE DET;Lo;0;L;;;;;N;;;;;
-B38A;HANGUL SYLLABLE DEP;Lo;0;L;;;;;N;;;;;
-B38B;HANGUL SYLLABLE DEH;Lo;0;L;;;;;N;;;;;
-B38C;HANGUL SYLLABLE DYEO;Lo;0;L;;;;;N;;;;;
-B38D;HANGUL SYLLABLE DYEOG;Lo;0;L;;;;;N;;;;;
-B38E;HANGUL SYLLABLE DYEOGG;Lo;0;L;;;;;N;;;;;
-B38F;HANGUL SYLLABLE DYEOGS;Lo;0;L;;;;;N;;;;;
-B390;HANGUL SYLLABLE DYEON;Lo;0;L;;;;;N;;;;;
-B391;HANGUL SYLLABLE DYEONI;Lo;0;L;;;;;N;;;;;
-B392;HANGUL SYLLABLE DYEONH;Lo;0;L;;;;;N;;;;;
-B393;HANGUL SYLLABLE DYEOD;Lo;0;L;;;;;N;;;;;
-B394;HANGUL SYLLABLE DYEOL;Lo;0;L;;;;;N;;;;;
-B395;HANGUL SYLLABLE DYEOLG;Lo;0;L;;;;;N;;;;;
-B396;HANGUL SYLLABLE DYEOLM;Lo;0;L;;;;;N;;;;;
-B397;HANGUL SYLLABLE DYEOLB;Lo;0;L;;;;;N;;;;;
-B398;HANGUL SYLLABLE DYEOLS;Lo;0;L;;;;;N;;;;;
-B399;HANGUL SYLLABLE DYEOLT;Lo;0;L;;;;;N;;;;;
-B39A;HANGUL SYLLABLE DYEOLP;Lo;0;L;;;;;N;;;;;
-B39B;HANGUL SYLLABLE DYEOLH;Lo;0;L;;;;;N;;;;;
-B39C;HANGUL SYLLABLE DYEOM;Lo;0;L;;;;;N;;;;;
-B39D;HANGUL SYLLABLE DYEOB;Lo;0;L;;;;;N;;;;;
-B39E;HANGUL SYLLABLE DYEOBS;Lo;0;L;;;;;N;;;;;
-B39F;HANGUL SYLLABLE DYEOS;Lo;0;L;;;;;N;;;;;
-B3A0;HANGUL SYLLABLE DYEOSS;Lo;0;L;;;;;N;;;;;
-B3A1;HANGUL SYLLABLE DYEONG;Lo;0;L;;;;;N;;;;;
-B3A2;HANGUL SYLLABLE DYEOJ;Lo;0;L;;;;;N;;;;;
-B3A3;HANGUL SYLLABLE DYEOC;Lo;0;L;;;;;N;;;;;
-B3A4;HANGUL SYLLABLE DYEOK;Lo;0;L;;;;;N;;;;;
-B3A5;HANGUL SYLLABLE DYEOT;Lo;0;L;;;;;N;;;;;
-B3A6;HANGUL SYLLABLE DYEOP;Lo;0;L;;;;;N;;;;;
-B3A7;HANGUL SYLLABLE DYEOH;Lo;0;L;;;;;N;;;;;
-B3A8;HANGUL SYLLABLE DYE;Lo;0;L;;;;;N;;;;;
-B3A9;HANGUL SYLLABLE DYEG;Lo;0;L;;;;;N;;;;;
-B3AA;HANGUL SYLLABLE DYEGG;Lo;0;L;;;;;N;;;;;
-B3AB;HANGUL SYLLABLE DYEGS;Lo;0;L;;;;;N;;;;;
-B3AC;HANGUL SYLLABLE DYEN;Lo;0;L;;;;;N;;;;;
-B3AD;HANGUL SYLLABLE DYENI;Lo;0;L;;;;;N;;;;;
-B3AE;HANGUL SYLLABLE DYENH;Lo;0;L;;;;;N;;;;;
-B3AF;HANGUL SYLLABLE DYED;Lo;0;L;;;;;N;;;;;
-B3B0;HANGUL SYLLABLE DYEL;Lo;0;L;;;;;N;;;;;
-B3B1;HANGUL SYLLABLE DYELG;Lo;0;L;;;;;N;;;;;
-B3B2;HANGUL SYLLABLE DYELM;Lo;0;L;;;;;N;;;;;
-B3B3;HANGUL SYLLABLE DYELB;Lo;0;L;;;;;N;;;;;
-B3B4;HANGUL SYLLABLE DYELS;Lo;0;L;;;;;N;;;;;
-B3B5;HANGUL SYLLABLE DYELT;Lo;0;L;;;;;N;;;;;
-B3B6;HANGUL SYLLABLE DYELP;Lo;0;L;;;;;N;;;;;
-B3B7;HANGUL SYLLABLE DYELH;Lo;0;L;;;;;N;;;;;
-B3B8;HANGUL SYLLABLE DYEM;Lo;0;L;;;;;N;;;;;
-B3B9;HANGUL SYLLABLE DYEB;Lo;0;L;;;;;N;;;;;
-B3BA;HANGUL SYLLABLE DYEBS;Lo;0;L;;;;;N;;;;;
-B3BB;HANGUL SYLLABLE DYES;Lo;0;L;;;;;N;;;;;
-B3BC;HANGUL SYLLABLE DYESS;Lo;0;L;;;;;N;;;;;
-B3BD;HANGUL SYLLABLE DYENG;Lo;0;L;;;;;N;;;;;
-B3BE;HANGUL SYLLABLE DYEJ;Lo;0;L;;;;;N;;;;;
-B3BF;HANGUL SYLLABLE DYEC;Lo;0;L;;;;;N;;;;;
-B3C0;HANGUL SYLLABLE DYEK;Lo;0;L;;;;;N;;;;;
-B3C1;HANGUL SYLLABLE DYET;Lo;0;L;;;;;N;;;;;
-B3C2;HANGUL SYLLABLE DYEP;Lo;0;L;;;;;N;;;;;
-B3C3;HANGUL SYLLABLE DYEH;Lo;0;L;;;;;N;;;;;
-B3C4;HANGUL SYLLABLE DO;Lo;0;L;;;;;N;;;;;
-B3C5;HANGUL SYLLABLE DOG;Lo;0;L;;;;;N;;;;;
-B3C6;HANGUL SYLLABLE DOGG;Lo;0;L;;;;;N;;;;;
-B3C7;HANGUL SYLLABLE DOGS;Lo;0;L;;;;;N;;;;;
-B3C8;HANGUL SYLLABLE DON;Lo;0;L;;;;;N;;;;;
-B3C9;HANGUL SYLLABLE DONI;Lo;0;L;;;;;N;;;;;
-B3CA;HANGUL SYLLABLE DONH;Lo;0;L;;;;;N;;;;;
-B3CB;HANGUL SYLLABLE DOD;Lo;0;L;;;;;N;;;;;
-B3CC;HANGUL SYLLABLE DOL;Lo;0;L;;;;;N;;;;;
-B3CD;HANGUL SYLLABLE DOLG;Lo;0;L;;;;;N;;;;;
-B3CE;HANGUL SYLLABLE DOLM;Lo;0;L;;;;;N;;;;;
-B3CF;HANGUL SYLLABLE DOLB;Lo;0;L;;;;;N;;;;;
-B3D0;HANGUL SYLLABLE DOLS;Lo;0;L;;;;;N;;;;;
-B3D1;HANGUL SYLLABLE DOLT;Lo;0;L;;;;;N;;;;;
-B3D2;HANGUL SYLLABLE DOLP;Lo;0;L;;;;;N;;;;;
-B3D3;HANGUL SYLLABLE DOLH;Lo;0;L;;;;;N;;;;;
-B3D4;HANGUL SYLLABLE DOM;Lo;0;L;;;;;N;;;;;
-B3D5;HANGUL SYLLABLE DOB;Lo;0;L;;;;;N;;;;;
-B3D6;HANGUL SYLLABLE DOBS;Lo;0;L;;;;;N;;;;;
-B3D7;HANGUL SYLLABLE DOS;Lo;0;L;;;;;N;;;;;
-B3D8;HANGUL SYLLABLE DOSS;Lo;0;L;;;;;N;;;;;
-B3D9;HANGUL SYLLABLE DONG;Lo;0;L;;;;;N;;;;;
-B3DA;HANGUL SYLLABLE DOJ;Lo;0;L;;;;;N;;;;;
-B3DB;HANGUL SYLLABLE DOC;Lo;0;L;;;;;N;;;;;
-B3DC;HANGUL SYLLABLE DOK;Lo;0;L;;;;;N;;;;;
-B3DD;HANGUL SYLLABLE DOT;Lo;0;L;;;;;N;;;;;
-B3DE;HANGUL SYLLABLE DOP;Lo;0;L;;;;;N;;;;;
-B3DF;HANGUL SYLLABLE DOH;Lo;0;L;;;;;N;;;;;
-B3E0;HANGUL SYLLABLE DWA;Lo;0;L;;;;;N;;;;;
-B3E1;HANGUL SYLLABLE DWAG;Lo;0;L;;;;;N;;;;;
-B3E2;HANGUL SYLLABLE DWAGG;Lo;0;L;;;;;N;;;;;
-B3E3;HANGUL SYLLABLE DWAGS;Lo;0;L;;;;;N;;;;;
-B3E4;HANGUL SYLLABLE DWAN;Lo;0;L;;;;;N;;;;;
-B3E5;HANGUL SYLLABLE DWANI;Lo;0;L;;;;;N;;;;;
-B3E6;HANGUL SYLLABLE DWANH;Lo;0;L;;;;;N;;;;;
-B3E7;HANGUL SYLLABLE DWAD;Lo;0;L;;;;;N;;;;;
-B3E8;HANGUL SYLLABLE DWAL;Lo;0;L;;;;;N;;;;;
-B3E9;HANGUL SYLLABLE DWALG;Lo;0;L;;;;;N;;;;;
-B3EA;HANGUL SYLLABLE DWALM;Lo;0;L;;;;;N;;;;;
-B3EB;HANGUL SYLLABLE DWALB;Lo;0;L;;;;;N;;;;;
-B3EC;HANGUL SYLLABLE DWALS;Lo;0;L;;;;;N;;;;;
-B3ED;HANGUL SYLLABLE DWALT;Lo;0;L;;;;;N;;;;;
-B3EE;HANGUL SYLLABLE DWALP;Lo;0;L;;;;;N;;;;;
-B3EF;HANGUL SYLLABLE DWALH;Lo;0;L;;;;;N;;;;;
-B3F0;HANGUL SYLLABLE DWAM;Lo;0;L;;;;;N;;;;;
-B3F1;HANGUL SYLLABLE DWAB;Lo;0;L;;;;;N;;;;;
-B3F2;HANGUL SYLLABLE DWABS;Lo;0;L;;;;;N;;;;;
-B3F3;HANGUL SYLLABLE DWAS;Lo;0;L;;;;;N;;;;;
-B3F4;HANGUL SYLLABLE DWASS;Lo;0;L;;;;;N;;;;;
-B3F5;HANGUL SYLLABLE DWANG;Lo;0;L;;;;;N;;;;;
-B3F6;HANGUL SYLLABLE DWAJ;Lo;0;L;;;;;N;;;;;
-B3F7;HANGUL SYLLABLE DWAC;Lo;0;L;;;;;N;;;;;
-B3F8;HANGUL SYLLABLE DWAK;Lo;0;L;;;;;N;;;;;
-B3F9;HANGUL SYLLABLE DWAT;Lo;0;L;;;;;N;;;;;
-B3FA;HANGUL SYLLABLE DWAP;Lo;0;L;;;;;N;;;;;
-B3FB;HANGUL SYLLABLE DWAH;Lo;0;L;;;;;N;;;;;
-B3FC;HANGUL SYLLABLE DWAE;Lo;0;L;;;;;N;;;;;
-B3FD;HANGUL SYLLABLE DWAEG;Lo;0;L;;;;;N;;;;;
-B3FE;HANGUL SYLLABLE DWAEGG;Lo;0;L;;;;;N;;;;;
-B3FF;HANGUL SYLLABLE DWAEGS;Lo;0;L;;;;;N;;;;;
-B400;HANGUL SYLLABLE DWAEN;Lo;0;L;;;;;N;;;;;
-B401;HANGUL SYLLABLE DWAENI;Lo;0;L;;;;;N;;;;;
-B402;HANGUL SYLLABLE DWAENH;Lo;0;L;;;;;N;;;;;
-B403;HANGUL SYLLABLE DWAED;Lo;0;L;;;;;N;;;;;
-B404;HANGUL SYLLABLE DWAEL;Lo;0;L;;;;;N;;;;;
-B405;HANGUL SYLLABLE DWAELG;Lo;0;L;;;;;N;;;;;
-B406;HANGUL SYLLABLE DWAELM;Lo;0;L;;;;;N;;;;;
-B407;HANGUL SYLLABLE DWAELB;Lo;0;L;;;;;N;;;;;
-B408;HANGUL SYLLABLE DWAELS;Lo;0;L;;;;;N;;;;;
-B409;HANGUL SYLLABLE DWAELT;Lo;0;L;;;;;N;;;;;
-B40A;HANGUL SYLLABLE DWAELP;Lo;0;L;;;;;N;;;;;
-B40B;HANGUL SYLLABLE DWAELH;Lo;0;L;;;;;N;;;;;
-B40C;HANGUL SYLLABLE DWAEM;Lo;0;L;;;;;N;;;;;
-B40D;HANGUL SYLLABLE DWAEB;Lo;0;L;;;;;N;;;;;
-B40E;HANGUL SYLLABLE DWAEBS;Lo;0;L;;;;;N;;;;;
-B40F;HANGUL SYLLABLE DWAES;Lo;0;L;;;;;N;;;;;
-B410;HANGUL SYLLABLE DWAESS;Lo;0;L;;;;;N;;;;;
-B411;HANGUL SYLLABLE DWAENG;Lo;0;L;;;;;N;;;;;
-B412;HANGUL SYLLABLE DWAEJ;Lo;0;L;;;;;N;;;;;
-B413;HANGUL SYLLABLE DWAEC;Lo;0;L;;;;;N;;;;;
-B414;HANGUL SYLLABLE DWAEK;Lo;0;L;;;;;N;;;;;
-B415;HANGUL SYLLABLE DWAET;Lo;0;L;;;;;N;;;;;
-B416;HANGUL SYLLABLE DWAEP;Lo;0;L;;;;;N;;;;;
-B417;HANGUL SYLLABLE DWAEH;Lo;0;L;;;;;N;;;;;
-B418;HANGUL SYLLABLE DOE;Lo;0;L;;;;;N;;;;;
-B419;HANGUL SYLLABLE DOEG;Lo;0;L;;;;;N;;;;;
-B41A;HANGUL SYLLABLE DOEGG;Lo;0;L;;;;;N;;;;;
-B41B;HANGUL SYLLABLE DOEGS;Lo;0;L;;;;;N;;;;;
-B41C;HANGUL SYLLABLE DOEN;Lo;0;L;;;;;N;;;;;
-B41D;HANGUL SYLLABLE DOENI;Lo;0;L;;;;;N;;;;;
-B41E;HANGUL SYLLABLE DOENH;Lo;0;L;;;;;N;;;;;
-B41F;HANGUL SYLLABLE DOED;Lo;0;L;;;;;N;;;;;
-B420;HANGUL SYLLABLE DOEL;Lo;0;L;;;;;N;;;;;
-B421;HANGUL SYLLABLE DOELG;Lo;0;L;;;;;N;;;;;
-B422;HANGUL SYLLABLE DOELM;Lo;0;L;;;;;N;;;;;
-B423;HANGUL SYLLABLE DOELB;Lo;0;L;;;;;N;;;;;
-B424;HANGUL SYLLABLE DOELS;Lo;0;L;;;;;N;;;;;
-B425;HANGUL SYLLABLE DOELT;Lo;0;L;;;;;N;;;;;
-B426;HANGUL SYLLABLE DOELP;Lo;0;L;;;;;N;;;;;
-B427;HANGUL SYLLABLE DOELH;Lo;0;L;;;;;N;;;;;
-B428;HANGUL SYLLABLE DOEM;Lo;0;L;;;;;N;;;;;
-B429;HANGUL SYLLABLE DOEB;Lo;0;L;;;;;N;;;;;
-B42A;HANGUL SYLLABLE DOEBS;Lo;0;L;;;;;N;;;;;
-B42B;HANGUL SYLLABLE DOES;Lo;0;L;;;;;N;;;;;
-B42C;HANGUL SYLLABLE DOESS;Lo;0;L;;;;;N;;;;;
-B42D;HANGUL SYLLABLE DOENG;Lo;0;L;;;;;N;;;;;
-B42E;HANGUL SYLLABLE DOEJ;Lo;0;L;;;;;N;;;;;
-B42F;HANGUL SYLLABLE DOEC;Lo;0;L;;;;;N;;;;;
-B430;HANGUL SYLLABLE DOEK;Lo;0;L;;;;;N;;;;;
-B431;HANGUL SYLLABLE DOET;Lo;0;L;;;;;N;;;;;
-B432;HANGUL SYLLABLE DOEP;Lo;0;L;;;;;N;;;;;
-B433;HANGUL SYLLABLE DOEH;Lo;0;L;;;;;N;;;;;
-B434;HANGUL SYLLABLE DYO;Lo;0;L;;;;;N;;;;;
-B435;HANGUL SYLLABLE DYOG;Lo;0;L;;;;;N;;;;;
-B436;HANGUL SYLLABLE DYOGG;Lo;0;L;;;;;N;;;;;
-B437;HANGUL SYLLABLE DYOGS;Lo;0;L;;;;;N;;;;;
-B438;HANGUL SYLLABLE DYON;Lo;0;L;;;;;N;;;;;
-B439;HANGUL SYLLABLE DYONI;Lo;0;L;;;;;N;;;;;
-B43A;HANGUL SYLLABLE DYONH;Lo;0;L;;;;;N;;;;;
-B43B;HANGUL SYLLABLE DYOD;Lo;0;L;;;;;N;;;;;
-B43C;HANGUL SYLLABLE DYOL;Lo;0;L;;;;;N;;;;;
-B43D;HANGUL SYLLABLE DYOLG;Lo;0;L;;;;;N;;;;;
-B43E;HANGUL SYLLABLE DYOLM;Lo;0;L;;;;;N;;;;;
-B43F;HANGUL SYLLABLE DYOLB;Lo;0;L;;;;;N;;;;;
-B440;HANGUL SYLLABLE DYOLS;Lo;0;L;;;;;N;;;;;
-B441;HANGUL SYLLABLE DYOLT;Lo;0;L;;;;;N;;;;;
-B442;HANGUL SYLLABLE DYOLP;Lo;0;L;;;;;N;;;;;
-B443;HANGUL SYLLABLE DYOLH;Lo;0;L;;;;;N;;;;;
-B444;HANGUL SYLLABLE DYOM;Lo;0;L;;;;;N;;;;;
-B445;HANGUL SYLLABLE DYOB;Lo;0;L;;;;;N;;;;;
-B446;HANGUL SYLLABLE DYOBS;Lo;0;L;;;;;N;;;;;
-B447;HANGUL SYLLABLE DYOS;Lo;0;L;;;;;N;;;;;
-B448;HANGUL SYLLABLE DYOSS;Lo;0;L;;;;;N;;;;;
-B449;HANGUL SYLLABLE DYONG;Lo;0;L;;;;;N;;;;;
-B44A;HANGUL SYLLABLE DYOJ;Lo;0;L;;;;;N;;;;;
-B44B;HANGUL SYLLABLE DYOC;Lo;0;L;;;;;N;;;;;
-B44C;HANGUL SYLLABLE DYOK;Lo;0;L;;;;;N;;;;;
-B44D;HANGUL SYLLABLE DYOT;Lo;0;L;;;;;N;;;;;
-B44E;HANGUL SYLLABLE DYOP;Lo;0;L;;;;;N;;;;;
-B44F;HANGUL SYLLABLE DYOH;Lo;0;L;;;;;N;;;;;
-B450;HANGUL SYLLABLE DU;Lo;0;L;;;;;N;;;;;
-B451;HANGUL SYLLABLE DUG;Lo;0;L;;;;;N;;;;;
-B452;HANGUL SYLLABLE DUGG;Lo;0;L;;;;;N;;;;;
-B453;HANGUL SYLLABLE DUGS;Lo;0;L;;;;;N;;;;;
-B454;HANGUL SYLLABLE DUN;Lo;0;L;;;;;N;;;;;
-B455;HANGUL SYLLABLE DUNI;Lo;0;L;;;;;N;;;;;
-B456;HANGUL SYLLABLE DUNH;Lo;0;L;;;;;N;;;;;
-B457;HANGUL SYLLABLE DUD;Lo;0;L;;;;;N;;;;;
-B458;HANGUL SYLLABLE DUL;Lo;0;L;;;;;N;;;;;
-B459;HANGUL SYLLABLE DULG;Lo;0;L;;;;;N;;;;;
-B45A;HANGUL SYLLABLE DULM;Lo;0;L;;;;;N;;;;;
-B45B;HANGUL SYLLABLE DULB;Lo;0;L;;;;;N;;;;;
-B45C;HANGUL SYLLABLE DULS;Lo;0;L;;;;;N;;;;;
-B45D;HANGUL SYLLABLE DULT;Lo;0;L;;;;;N;;;;;
-B45E;HANGUL SYLLABLE DULP;Lo;0;L;;;;;N;;;;;
-B45F;HANGUL SYLLABLE DULH;Lo;0;L;;;;;N;;;;;
-B460;HANGUL SYLLABLE DUM;Lo;0;L;;;;;N;;;;;
-B461;HANGUL SYLLABLE DUB;Lo;0;L;;;;;N;;;;;
-B462;HANGUL SYLLABLE DUBS;Lo;0;L;;;;;N;;;;;
-B463;HANGUL SYLLABLE DUS;Lo;0;L;;;;;N;;;;;
-B464;HANGUL SYLLABLE DUSS;Lo;0;L;;;;;N;;;;;
-B465;HANGUL SYLLABLE DUNG;Lo;0;L;;;;;N;;;;;
-B466;HANGUL SYLLABLE DUJ;Lo;0;L;;;;;N;;;;;
-B467;HANGUL SYLLABLE DUC;Lo;0;L;;;;;N;;;;;
-B468;HANGUL SYLLABLE DUK;Lo;0;L;;;;;N;;;;;
-B469;HANGUL SYLLABLE DUT;Lo;0;L;;;;;N;;;;;
-B46A;HANGUL SYLLABLE DUP;Lo;0;L;;;;;N;;;;;
-B46B;HANGUL SYLLABLE DUH;Lo;0;L;;;;;N;;;;;
-B46C;HANGUL SYLLABLE DWEO;Lo;0;L;;;;;N;;;;;
-B46D;HANGUL SYLLABLE DWEOG;Lo;0;L;;;;;N;;;;;
-B46E;HANGUL SYLLABLE DWEOGG;Lo;0;L;;;;;N;;;;;
-B46F;HANGUL SYLLABLE DWEOGS;Lo;0;L;;;;;N;;;;;
-B470;HANGUL SYLLABLE DWEON;Lo;0;L;;;;;N;;;;;
-B471;HANGUL SYLLABLE DWEONI;Lo;0;L;;;;;N;;;;;
-B472;HANGUL SYLLABLE DWEONH;Lo;0;L;;;;;N;;;;;
-B473;HANGUL SYLLABLE DWEOD;Lo;0;L;;;;;N;;;;;
-B474;HANGUL SYLLABLE DWEOL;Lo;0;L;;;;;N;;;;;
-B475;HANGUL SYLLABLE DWEOLG;Lo;0;L;;;;;N;;;;;
-B476;HANGUL SYLLABLE DWEOLM;Lo;0;L;;;;;N;;;;;
-B477;HANGUL SYLLABLE DWEOLB;Lo;0;L;;;;;N;;;;;
-B478;HANGUL SYLLABLE DWEOLS;Lo;0;L;;;;;N;;;;;
-B479;HANGUL SYLLABLE DWEOLT;Lo;0;L;;;;;N;;;;;
-B47A;HANGUL SYLLABLE DWEOLP;Lo;0;L;;;;;N;;;;;
-B47B;HANGUL SYLLABLE DWEOLH;Lo;0;L;;;;;N;;;;;
-B47C;HANGUL SYLLABLE DWEOM;Lo;0;L;;;;;N;;;;;
-B47D;HANGUL SYLLABLE DWEOB;Lo;0;L;;;;;N;;;;;
-B47E;HANGUL SYLLABLE DWEOBS;Lo;0;L;;;;;N;;;;;
-B47F;HANGUL SYLLABLE DWEOS;Lo;0;L;;;;;N;;;;;
-B480;HANGUL SYLLABLE DWEOSS;Lo;0;L;;;;;N;;;;;
-B481;HANGUL SYLLABLE DWEONG;Lo;0;L;;;;;N;;;;;
-B482;HANGUL SYLLABLE DWEOJ;Lo;0;L;;;;;N;;;;;
-B483;HANGUL SYLLABLE DWEOC;Lo;0;L;;;;;N;;;;;
-B484;HANGUL SYLLABLE DWEOK;Lo;0;L;;;;;N;;;;;
-B485;HANGUL SYLLABLE DWEOT;Lo;0;L;;;;;N;;;;;
-B486;HANGUL SYLLABLE DWEOP;Lo;0;L;;;;;N;;;;;
-B487;HANGUL SYLLABLE DWEOH;Lo;0;L;;;;;N;;;;;
-B488;HANGUL SYLLABLE DWE;Lo;0;L;;;;;N;;;;;
-B489;HANGUL SYLLABLE DWEG;Lo;0;L;;;;;N;;;;;
-B48A;HANGUL SYLLABLE DWEGG;Lo;0;L;;;;;N;;;;;
-B48B;HANGUL SYLLABLE DWEGS;Lo;0;L;;;;;N;;;;;
-B48C;HANGUL SYLLABLE DWEN;Lo;0;L;;;;;N;;;;;
-B48D;HANGUL SYLLABLE DWENI;Lo;0;L;;;;;N;;;;;
-B48E;HANGUL SYLLABLE DWENH;Lo;0;L;;;;;N;;;;;
-B48F;HANGUL SYLLABLE DWED;Lo;0;L;;;;;N;;;;;
-B490;HANGUL SYLLABLE DWEL;Lo;0;L;;;;;N;;;;;
-B491;HANGUL SYLLABLE DWELG;Lo;0;L;;;;;N;;;;;
-B492;HANGUL SYLLABLE DWELM;Lo;0;L;;;;;N;;;;;
-B493;HANGUL SYLLABLE DWELB;Lo;0;L;;;;;N;;;;;
-B494;HANGUL SYLLABLE DWELS;Lo;0;L;;;;;N;;;;;
-B495;HANGUL SYLLABLE DWELT;Lo;0;L;;;;;N;;;;;
-B496;HANGUL SYLLABLE DWELP;Lo;0;L;;;;;N;;;;;
-B497;HANGUL SYLLABLE DWELH;Lo;0;L;;;;;N;;;;;
-B498;HANGUL SYLLABLE DWEM;Lo;0;L;;;;;N;;;;;
-B499;HANGUL SYLLABLE DWEB;Lo;0;L;;;;;N;;;;;
-B49A;HANGUL SYLLABLE DWEBS;Lo;0;L;;;;;N;;;;;
-B49B;HANGUL SYLLABLE DWES;Lo;0;L;;;;;N;;;;;
-B49C;HANGUL SYLLABLE DWESS;Lo;0;L;;;;;N;;;;;
-B49D;HANGUL SYLLABLE DWENG;Lo;0;L;;;;;N;;;;;
-B49E;HANGUL SYLLABLE DWEJ;Lo;0;L;;;;;N;;;;;
-B49F;HANGUL SYLLABLE DWEC;Lo;0;L;;;;;N;;;;;
-B4A0;HANGUL SYLLABLE DWEK;Lo;0;L;;;;;N;;;;;
-B4A1;HANGUL SYLLABLE DWET;Lo;0;L;;;;;N;;;;;
-B4A2;HANGUL SYLLABLE DWEP;Lo;0;L;;;;;N;;;;;
-B4A3;HANGUL SYLLABLE DWEH;Lo;0;L;;;;;N;;;;;
-B4A4;HANGUL SYLLABLE DWI;Lo;0;L;;;;;N;;;;;
-B4A5;HANGUL SYLLABLE DWIG;Lo;0;L;;;;;N;;;;;
-B4A6;HANGUL SYLLABLE DWIGG;Lo;0;L;;;;;N;;;;;
-B4A7;HANGUL SYLLABLE DWIGS;Lo;0;L;;;;;N;;;;;
-B4A8;HANGUL SYLLABLE DWIN;Lo;0;L;;;;;N;;;;;
-B4A9;HANGUL SYLLABLE DWINI;Lo;0;L;;;;;N;;;;;
-B4AA;HANGUL SYLLABLE DWINH;Lo;0;L;;;;;N;;;;;
-B4AB;HANGUL SYLLABLE DWID;Lo;0;L;;;;;N;;;;;
-B4AC;HANGUL SYLLABLE DWIL;Lo;0;L;;;;;N;;;;;
-B4AD;HANGUL SYLLABLE DWILG;Lo;0;L;;;;;N;;;;;
-B4AE;HANGUL SYLLABLE DWILM;Lo;0;L;;;;;N;;;;;
-B4AF;HANGUL SYLLABLE DWILB;Lo;0;L;;;;;N;;;;;
-B4B0;HANGUL SYLLABLE DWILS;Lo;0;L;;;;;N;;;;;
-B4B1;HANGUL SYLLABLE DWILT;Lo;0;L;;;;;N;;;;;
-B4B2;HANGUL SYLLABLE DWILP;Lo;0;L;;;;;N;;;;;
-B4B3;HANGUL SYLLABLE DWILH;Lo;0;L;;;;;N;;;;;
-B4B4;HANGUL SYLLABLE DWIM;Lo;0;L;;;;;N;;;;;
-B4B5;HANGUL SYLLABLE DWIB;Lo;0;L;;;;;N;;;;;
-B4B6;HANGUL SYLLABLE DWIBS;Lo;0;L;;;;;N;;;;;
-B4B7;HANGUL SYLLABLE DWIS;Lo;0;L;;;;;N;;;;;
-B4B8;HANGUL SYLLABLE DWISS;Lo;0;L;;;;;N;;;;;
-B4B9;HANGUL SYLLABLE DWING;Lo;0;L;;;;;N;;;;;
-B4BA;HANGUL SYLLABLE DWIJ;Lo;0;L;;;;;N;;;;;
-B4BB;HANGUL SYLLABLE DWIC;Lo;0;L;;;;;N;;;;;
-B4BC;HANGUL SYLLABLE DWIK;Lo;0;L;;;;;N;;;;;
-B4BD;HANGUL SYLLABLE DWIT;Lo;0;L;;;;;N;;;;;
-B4BE;HANGUL SYLLABLE DWIP;Lo;0;L;;;;;N;;;;;
-B4BF;HANGUL SYLLABLE DWIH;Lo;0;L;;;;;N;;;;;
-B4C0;HANGUL SYLLABLE DYU;Lo;0;L;;;;;N;;;;;
-B4C1;HANGUL SYLLABLE DYUG;Lo;0;L;;;;;N;;;;;
-B4C2;HANGUL SYLLABLE DYUGG;Lo;0;L;;;;;N;;;;;
-B4C3;HANGUL SYLLABLE DYUGS;Lo;0;L;;;;;N;;;;;
-B4C4;HANGUL SYLLABLE DYUN;Lo;0;L;;;;;N;;;;;
-B4C5;HANGUL SYLLABLE DYUNI;Lo;0;L;;;;;N;;;;;
-B4C6;HANGUL SYLLABLE DYUNH;Lo;0;L;;;;;N;;;;;
-B4C7;HANGUL SYLLABLE DYUD;Lo;0;L;;;;;N;;;;;
-B4C8;HANGUL SYLLABLE DYUL;Lo;0;L;;;;;N;;;;;
-B4C9;HANGUL SYLLABLE DYULG;Lo;0;L;;;;;N;;;;;
-B4CA;HANGUL SYLLABLE DYULM;Lo;0;L;;;;;N;;;;;
-B4CB;HANGUL SYLLABLE DYULB;Lo;0;L;;;;;N;;;;;
-B4CC;HANGUL SYLLABLE DYULS;Lo;0;L;;;;;N;;;;;
-B4CD;HANGUL SYLLABLE DYULT;Lo;0;L;;;;;N;;;;;
-B4CE;HANGUL SYLLABLE DYULP;Lo;0;L;;;;;N;;;;;
-B4CF;HANGUL SYLLABLE DYULH;Lo;0;L;;;;;N;;;;;
-B4D0;HANGUL SYLLABLE DYUM;Lo;0;L;;;;;N;;;;;
-B4D1;HANGUL SYLLABLE DYUB;Lo;0;L;;;;;N;;;;;
-B4D2;HANGUL SYLLABLE DYUBS;Lo;0;L;;;;;N;;;;;
-B4D3;HANGUL SYLLABLE DYUS;Lo;0;L;;;;;N;;;;;
-B4D4;HANGUL SYLLABLE DYUSS;Lo;0;L;;;;;N;;;;;
-B4D5;HANGUL SYLLABLE DYUNG;Lo;0;L;;;;;N;;;;;
-B4D6;HANGUL SYLLABLE DYUJ;Lo;0;L;;;;;N;;;;;
-B4D7;HANGUL SYLLABLE DYUC;Lo;0;L;;;;;N;;;;;
-B4D8;HANGUL SYLLABLE DYUK;Lo;0;L;;;;;N;;;;;
-B4D9;HANGUL SYLLABLE DYUT;Lo;0;L;;;;;N;;;;;
-B4DA;HANGUL SYLLABLE DYUP;Lo;0;L;;;;;N;;;;;
-B4DB;HANGUL SYLLABLE DYUH;Lo;0;L;;;;;N;;;;;
-B4DC;HANGUL SYLLABLE DEU;Lo;0;L;;;;;N;;;;;
-B4DD;HANGUL SYLLABLE DEUG;Lo;0;L;;;;;N;;;;;
-B4DE;HANGUL SYLLABLE DEUGG;Lo;0;L;;;;;N;;;;;
-B4DF;HANGUL SYLLABLE DEUGS;Lo;0;L;;;;;N;;;;;
-B4E0;HANGUL SYLLABLE DEUN;Lo;0;L;;;;;N;;;;;
-B4E1;HANGUL SYLLABLE DEUNI;Lo;0;L;;;;;N;;;;;
-B4E2;HANGUL SYLLABLE DEUNH;Lo;0;L;;;;;N;;;;;
-B4E3;HANGUL SYLLABLE DEUD;Lo;0;L;;;;;N;;;;;
-B4E4;HANGUL SYLLABLE DEUL;Lo;0;L;;;;;N;;;;;
-B4E5;HANGUL SYLLABLE DEULG;Lo;0;L;;;;;N;;;;;
-B4E6;HANGUL SYLLABLE DEULM;Lo;0;L;;;;;N;;;;;
-B4E7;HANGUL SYLLABLE DEULB;Lo;0;L;;;;;N;;;;;
-B4E8;HANGUL SYLLABLE DEULS;Lo;0;L;;;;;N;;;;;
-B4E9;HANGUL SYLLABLE DEULT;Lo;0;L;;;;;N;;;;;
-B4EA;HANGUL SYLLABLE DEULP;Lo;0;L;;;;;N;;;;;
-B4EB;HANGUL SYLLABLE DEULH;Lo;0;L;;;;;N;;;;;
-B4EC;HANGUL SYLLABLE DEUM;Lo;0;L;;;;;N;;;;;
-B4ED;HANGUL SYLLABLE DEUB;Lo;0;L;;;;;N;;;;;
-B4EE;HANGUL SYLLABLE DEUBS;Lo;0;L;;;;;N;;;;;
-B4EF;HANGUL SYLLABLE DEUS;Lo;0;L;;;;;N;;;;;
-B4F0;HANGUL SYLLABLE DEUSS;Lo;0;L;;;;;N;;;;;
-B4F1;HANGUL SYLLABLE DEUNG;Lo;0;L;;;;;N;;;;;
-B4F2;HANGUL SYLLABLE DEUJ;Lo;0;L;;;;;N;;;;;
-B4F3;HANGUL SYLLABLE DEUC;Lo;0;L;;;;;N;;;;;
-B4F4;HANGUL SYLLABLE DEUK;Lo;0;L;;;;;N;;;;;
-B4F5;HANGUL SYLLABLE DEUT;Lo;0;L;;;;;N;;;;;
-B4F6;HANGUL SYLLABLE DEUP;Lo;0;L;;;;;N;;;;;
-B4F7;HANGUL SYLLABLE DEUH;Lo;0;L;;;;;N;;;;;
-B4F8;HANGUL SYLLABLE DYI;Lo;0;L;;;;;N;;;;;
-B4F9;HANGUL SYLLABLE DYIG;Lo;0;L;;;;;N;;;;;
-B4FA;HANGUL SYLLABLE DYIGG;Lo;0;L;;;;;N;;;;;
-B4FB;HANGUL SYLLABLE DYIGS;Lo;0;L;;;;;N;;;;;
-B4FC;HANGUL SYLLABLE DYIN;Lo;0;L;;;;;N;;;;;
-B4FD;HANGUL SYLLABLE DYINI;Lo;0;L;;;;;N;;;;;
-B4FE;HANGUL SYLLABLE DYINH;Lo;0;L;;;;;N;;;;;
-B4FF;HANGUL SYLLABLE DYID;Lo;0;L;;;;;N;;;;;
-B500;HANGUL SYLLABLE DYIL;Lo;0;L;;;;;N;;;;;
-B501;HANGUL SYLLABLE DYILG;Lo;0;L;;;;;N;;;;;
-B502;HANGUL SYLLABLE DYILM;Lo;0;L;;;;;N;;;;;
-B503;HANGUL SYLLABLE DYILB;Lo;0;L;;;;;N;;;;;
-B504;HANGUL SYLLABLE DYILS;Lo;0;L;;;;;N;;;;;
-B505;HANGUL SYLLABLE DYILT;Lo;0;L;;;;;N;;;;;
-B506;HANGUL SYLLABLE DYILP;Lo;0;L;;;;;N;;;;;
-B507;HANGUL SYLLABLE DYILH;Lo;0;L;;;;;N;;;;;
-B508;HANGUL SYLLABLE DYIM;Lo;0;L;;;;;N;;;;;
-B509;HANGUL SYLLABLE DYIB;Lo;0;L;;;;;N;;;;;
-B50A;HANGUL SYLLABLE DYIBS;Lo;0;L;;;;;N;;;;;
-B50B;HANGUL SYLLABLE DYIS;Lo;0;L;;;;;N;;;;;
-B50C;HANGUL SYLLABLE DYISS;Lo;0;L;;;;;N;;;;;
-B50D;HANGUL SYLLABLE DYING;Lo;0;L;;;;;N;;;;;
-B50E;HANGUL SYLLABLE DYIJ;Lo;0;L;;;;;N;;;;;
-B50F;HANGUL SYLLABLE DYIC;Lo;0;L;;;;;N;;;;;
-B510;HANGUL SYLLABLE DYIK;Lo;0;L;;;;;N;;;;;
-B511;HANGUL SYLLABLE DYIT;Lo;0;L;;;;;N;;;;;
-B512;HANGUL SYLLABLE DYIP;Lo;0;L;;;;;N;;;;;
-B513;HANGUL SYLLABLE DYIH;Lo;0;L;;;;;N;;;;;
-B514;HANGUL SYLLABLE DI;Lo;0;L;;;;;N;;;;;
-B515;HANGUL SYLLABLE DIG;Lo;0;L;;;;;N;;;;;
-B516;HANGUL SYLLABLE DIGG;Lo;0;L;;;;;N;;;;;
-B517;HANGUL SYLLABLE DIGS;Lo;0;L;;;;;N;;;;;
-B518;HANGUL SYLLABLE DIN;Lo;0;L;;;;;N;;;;;
-B519;HANGUL SYLLABLE DINI;Lo;0;L;;;;;N;;;;;
-B51A;HANGUL SYLLABLE DINH;Lo;0;L;;;;;N;;;;;
-B51B;HANGUL SYLLABLE DID;Lo;0;L;;;;;N;;;;;
-B51C;HANGUL SYLLABLE DIL;Lo;0;L;;;;;N;;;;;
-B51D;HANGUL SYLLABLE DILG;Lo;0;L;;;;;N;;;;;
-B51E;HANGUL SYLLABLE DILM;Lo;0;L;;;;;N;;;;;
-B51F;HANGUL SYLLABLE DILB;Lo;0;L;;;;;N;;;;;
-B520;HANGUL SYLLABLE DILS;Lo;0;L;;;;;N;;;;;
-B521;HANGUL SYLLABLE DILT;Lo;0;L;;;;;N;;;;;
-B522;HANGUL SYLLABLE DILP;Lo;0;L;;;;;N;;;;;
-B523;HANGUL SYLLABLE DILH;Lo;0;L;;;;;N;;;;;
-B524;HANGUL SYLLABLE DIM;Lo;0;L;;;;;N;;;;;
-B525;HANGUL SYLLABLE DIB;Lo;0;L;;;;;N;;;;;
-B526;HANGUL SYLLABLE DIBS;Lo;0;L;;;;;N;;;;;
-B527;HANGUL SYLLABLE DIS;Lo;0;L;;;;;N;;;;;
-B528;HANGUL SYLLABLE DISS;Lo;0;L;;;;;N;;;;;
-B529;HANGUL SYLLABLE DING;Lo;0;L;;;;;N;;;;;
-B52A;HANGUL SYLLABLE DIJ;Lo;0;L;;;;;N;;;;;
-B52B;HANGUL SYLLABLE DIC;Lo;0;L;;;;;N;;;;;
-B52C;HANGUL SYLLABLE DIK;Lo;0;L;;;;;N;;;;;
-B52D;HANGUL SYLLABLE DIT;Lo;0;L;;;;;N;;;;;
-B52E;HANGUL SYLLABLE DIP;Lo;0;L;;;;;N;;;;;
-B52F;HANGUL SYLLABLE DIH;Lo;0;L;;;;;N;;;;;
-B530;HANGUL SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
-B531;HANGUL SYLLABLE DDAG;Lo;0;L;;;;;N;;;;;
-B532;HANGUL SYLLABLE DDAGG;Lo;0;L;;;;;N;;;;;
-B533;HANGUL SYLLABLE DDAGS;Lo;0;L;;;;;N;;;;;
-B534;HANGUL SYLLABLE DDAN;Lo;0;L;;;;;N;;;;;
-B535;HANGUL SYLLABLE DDANI;Lo;0;L;;;;;N;;;;;
-B536;HANGUL SYLLABLE DDANH;Lo;0;L;;;;;N;;;;;
-B537;HANGUL SYLLABLE DDAD;Lo;0;L;;;;;N;;;;;
-B538;HANGUL SYLLABLE DDAL;Lo;0;L;;;;;N;;;;;
-B539;HANGUL SYLLABLE DDALG;Lo;0;L;;;;;N;;;;;
-B53A;HANGUL SYLLABLE DDALM;Lo;0;L;;;;;N;;;;;
-B53B;HANGUL SYLLABLE DDALB;Lo;0;L;;;;;N;;;;;
-B53C;HANGUL SYLLABLE DDALS;Lo;0;L;;;;;N;;;;;
-B53D;HANGUL SYLLABLE DDALT;Lo;0;L;;;;;N;;;;;
-B53E;HANGUL SYLLABLE DDALP;Lo;0;L;;;;;N;;;;;
-B53F;HANGUL SYLLABLE DDALH;Lo;0;L;;;;;N;;;;;
-B540;HANGUL SYLLABLE DDAM;Lo;0;L;;;;;N;;;;;
-B541;HANGUL SYLLABLE DDAB;Lo;0;L;;;;;N;;;;;
-B542;HANGUL SYLLABLE DDABS;Lo;0;L;;;;;N;;;;;
-B543;HANGUL SYLLABLE DDAS;Lo;0;L;;;;;N;;;;;
-B544;HANGUL SYLLABLE DDASS;Lo;0;L;;;;;N;;;;;
-B545;HANGUL SYLLABLE DDANG;Lo;0;L;;;;;N;;;;;
-B546;HANGUL SYLLABLE DDAJ;Lo;0;L;;;;;N;;;;;
-B547;HANGUL SYLLABLE DDAC;Lo;0;L;;;;;N;;;;;
-B548;HANGUL SYLLABLE DDAK;Lo;0;L;;;;;N;;;;;
-B549;HANGUL SYLLABLE DDAT;Lo;0;L;;;;;N;;;;;
-B54A;HANGUL SYLLABLE DDAP;Lo;0;L;;;;;N;;;;;
-B54B;HANGUL SYLLABLE DDAH;Lo;0;L;;;;;N;;;;;
-B54C;HANGUL SYLLABLE DDAE;Lo;0;L;;;;;N;;;;;
-B54D;HANGUL SYLLABLE DDAEG;Lo;0;L;;;;;N;;;;;
-B54E;HANGUL SYLLABLE DDAEGG;Lo;0;L;;;;;N;;;;;
-B54F;HANGUL SYLLABLE DDAEGS;Lo;0;L;;;;;N;;;;;
-B550;HANGUL SYLLABLE DDAEN;Lo;0;L;;;;;N;;;;;
-B551;HANGUL SYLLABLE DDAENI;Lo;0;L;;;;;N;;;;;
-B552;HANGUL SYLLABLE DDAENH;Lo;0;L;;;;;N;;;;;
-B553;HANGUL SYLLABLE DDAED;Lo;0;L;;;;;N;;;;;
-B554;HANGUL SYLLABLE DDAEL;Lo;0;L;;;;;N;;;;;
-B555;HANGUL SYLLABLE DDAELG;Lo;0;L;;;;;N;;;;;
-B556;HANGUL SYLLABLE DDAELM;Lo;0;L;;;;;N;;;;;
-B557;HANGUL SYLLABLE DDAELB;Lo;0;L;;;;;N;;;;;
-B558;HANGUL SYLLABLE DDAELS;Lo;0;L;;;;;N;;;;;
-B559;HANGUL SYLLABLE DDAELT;Lo;0;L;;;;;N;;;;;
-B55A;HANGUL SYLLABLE DDAELP;Lo;0;L;;;;;N;;;;;
-B55B;HANGUL SYLLABLE DDAELH;Lo;0;L;;;;;N;;;;;
-B55C;HANGUL SYLLABLE DDAEM;Lo;0;L;;;;;N;;;;;
-B55D;HANGUL SYLLABLE DDAEB;Lo;0;L;;;;;N;;;;;
-B55E;HANGUL SYLLABLE DDAEBS;Lo;0;L;;;;;N;;;;;
-B55F;HANGUL SYLLABLE DDAES;Lo;0;L;;;;;N;;;;;
-B560;HANGUL SYLLABLE DDAESS;Lo;0;L;;;;;N;;;;;
-B561;HANGUL SYLLABLE DDAENG;Lo;0;L;;;;;N;;;;;
-B562;HANGUL SYLLABLE DDAEJ;Lo;0;L;;;;;N;;;;;
-B563;HANGUL SYLLABLE DDAEC;Lo;0;L;;;;;N;;;;;
-B564;HANGUL SYLLABLE DDAEK;Lo;0;L;;;;;N;;;;;
-B565;HANGUL SYLLABLE DDAET;Lo;0;L;;;;;N;;;;;
-B566;HANGUL SYLLABLE DDAEP;Lo;0;L;;;;;N;;;;;
-B567;HANGUL SYLLABLE DDAEH;Lo;0;L;;;;;N;;;;;
-B568;HANGUL SYLLABLE DDYA;Lo;0;L;;;;;N;;;;;
-B569;HANGUL SYLLABLE DDYAG;Lo;0;L;;;;;N;;;;;
-B56A;HANGUL SYLLABLE DDYAGG;Lo;0;L;;;;;N;;;;;
-B56B;HANGUL SYLLABLE DDYAGS;Lo;0;L;;;;;N;;;;;
-B56C;HANGUL SYLLABLE DDYAN;Lo;0;L;;;;;N;;;;;
-B56D;HANGUL SYLLABLE DDYANI;Lo;0;L;;;;;N;;;;;
-B56E;HANGUL SYLLABLE DDYANH;Lo;0;L;;;;;N;;;;;
-B56F;HANGUL SYLLABLE DDYAD;Lo;0;L;;;;;N;;;;;
-B570;HANGUL SYLLABLE DDYAL;Lo;0;L;;;;;N;;;;;
-B571;HANGUL SYLLABLE DDYALG;Lo;0;L;;;;;N;;;;;
-B572;HANGUL SYLLABLE DDYALM;Lo;0;L;;;;;N;;;;;
-B573;HANGUL SYLLABLE DDYALB;Lo;0;L;;;;;N;;;;;
-B574;HANGUL SYLLABLE DDYALS;Lo;0;L;;;;;N;;;;;
-B575;HANGUL SYLLABLE DDYALT;Lo;0;L;;;;;N;;;;;
-B576;HANGUL SYLLABLE DDYALP;Lo;0;L;;;;;N;;;;;
-B577;HANGUL SYLLABLE DDYALH;Lo;0;L;;;;;N;;;;;
-B578;HANGUL SYLLABLE DDYAM;Lo;0;L;;;;;N;;;;;
-B579;HANGUL SYLLABLE DDYAB;Lo;0;L;;;;;N;;;;;
-B57A;HANGUL SYLLABLE DDYABS;Lo;0;L;;;;;N;;;;;
-B57B;HANGUL SYLLABLE DDYAS;Lo;0;L;;;;;N;;;;;
-B57C;HANGUL SYLLABLE DDYASS;Lo;0;L;;;;;N;;;;;
-B57D;HANGUL SYLLABLE DDYANG;Lo;0;L;;;;;N;;;;;
-B57E;HANGUL SYLLABLE DDYAJ;Lo;0;L;;;;;N;;;;;
-B57F;HANGUL SYLLABLE DDYAC;Lo;0;L;;;;;N;;;;;
-B580;HANGUL SYLLABLE DDYAK;Lo;0;L;;;;;N;;;;;
-B581;HANGUL SYLLABLE DDYAT;Lo;0;L;;;;;N;;;;;
-B582;HANGUL SYLLABLE DDYAP;Lo;0;L;;;;;N;;;;;
-B583;HANGUL SYLLABLE DDYAH;Lo;0;L;;;;;N;;;;;
-B584;HANGUL SYLLABLE DDYAE;Lo;0;L;;;;;N;;;;;
-B585;HANGUL SYLLABLE DDYAEG;Lo;0;L;;;;;N;;;;;
-B586;HANGUL SYLLABLE DDYAEGG;Lo;0;L;;;;;N;;;;;
-B587;HANGUL SYLLABLE DDYAEGS;Lo;0;L;;;;;N;;;;;
-B588;HANGUL SYLLABLE DDYAEN;Lo;0;L;;;;;N;;;;;
-B589;HANGUL SYLLABLE DDYAENI;Lo;0;L;;;;;N;;;;;
-B58A;HANGUL SYLLABLE DDYAENH;Lo;0;L;;;;;N;;;;;
-B58B;HANGUL SYLLABLE DDYAED;Lo;0;L;;;;;N;;;;;
-B58C;HANGUL SYLLABLE DDYAEL;Lo;0;L;;;;;N;;;;;
-B58D;HANGUL SYLLABLE DDYAELG;Lo;0;L;;;;;N;;;;;
-B58E;HANGUL SYLLABLE DDYAELM;Lo;0;L;;;;;N;;;;;
-B58F;HANGUL SYLLABLE DDYAELB;Lo;0;L;;;;;N;;;;;
-B590;HANGUL SYLLABLE DDYAELS;Lo;0;L;;;;;N;;;;;
-B591;HANGUL SYLLABLE DDYAELT;Lo;0;L;;;;;N;;;;;
-B592;HANGUL SYLLABLE DDYAELP;Lo;0;L;;;;;N;;;;;
-B593;HANGUL SYLLABLE DDYAELH;Lo;0;L;;;;;N;;;;;
-B594;HANGUL SYLLABLE DDYAEM;Lo;0;L;;;;;N;;;;;
-B595;HANGUL SYLLABLE DDYAEB;Lo;0;L;;;;;N;;;;;
-B596;HANGUL SYLLABLE DDYAEBS;Lo;0;L;;;;;N;;;;;
-B597;HANGUL SYLLABLE DDYAES;Lo;0;L;;;;;N;;;;;
-B598;HANGUL SYLLABLE DDYAESS;Lo;0;L;;;;;N;;;;;
-B599;HANGUL SYLLABLE DDYAENG;Lo;0;L;;;;;N;;;;;
-B59A;HANGUL SYLLABLE DDYAEJ;Lo;0;L;;;;;N;;;;;
-B59B;HANGUL SYLLABLE DDYAEC;Lo;0;L;;;;;N;;;;;
-B59C;HANGUL SYLLABLE DDYAEK;Lo;0;L;;;;;N;;;;;
-B59D;HANGUL SYLLABLE DDYAET;Lo;0;L;;;;;N;;;;;
-B59E;HANGUL SYLLABLE DDYAEP;Lo;0;L;;;;;N;;;;;
-B59F;HANGUL SYLLABLE DDYAEH;Lo;0;L;;;;;N;;;;;
-B5A0;HANGUL SYLLABLE DDEO;Lo;0;L;;;;;N;;;;;
-B5A1;HANGUL SYLLABLE DDEOG;Lo;0;L;;;;;N;;;;;
-B5A2;HANGUL SYLLABLE DDEOGG;Lo;0;L;;;;;N;;;;;
-B5A3;HANGUL SYLLABLE DDEOGS;Lo;0;L;;;;;N;;;;;
-B5A4;HANGUL SYLLABLE DDEON;Lo;0;L;;;;;N;;;;;
-B5A5;HANGUL SYLLABLE DDEONI;Lo;0;L;;;;;N;;;;;
-B5A6;HANGUL SYLLABLE DDEONH;Lo;0;L;;;;;N;;;;;
-B5A7;HANGUL SYLLABLE DDEOD;Lo;0;L;;;;;N;;;;;
-B5A8;HANGUL SYLLABLE DDEOL;Lo;0;L;;;;;N;;;;;
-B5A9;HANGUL SYLLABLE DDEOLG;Lo;0;L;;;;;N;;;;;
-B5AA;HANGUL SYLLABLE DDEOLM;Lo;0;L;;;;;N;;;;;
-B5AB;HANGUL SYLLABLE DDEOLB;Lo;0;L;;;;;N;;;;;
-B5AC;HANGUL SYLLABLE DDEOLS;Lo;0;L;;;;;N;;;;;
-B5AD;HANGUL SYLLABLE DDEOLT;Lo;0;L;;;;;N;;;;;
-B5AE;HANGUL SYLLABLE DDEOLP;Lo;0;L;;;;;N;;;;;
-B5AF;HANGUL SYLLABLE DDEOLH;Lo;0;L;;;;;N;;;;;
-B5B0;HANGUL SYLLABLE DDEOM;Lo;0;L;;;;;N;;;;;
-B5B1;HANGUL SYLLABLE DDEOB;Lo;0;L;;;;;N;;;;;
-B5B2;HANGUL SYLLABLE DDEOBS;Lo;0;L;;;;;N;;;;;
-B5B3;HANGUL SYLLABLE DDEOS;Lo;0;L;;;;;N;;;;;
-B5B4;HANGUL SYLLABLE DDEOSS;Lo;0;L;;;;;N;;;;;
-B5B5;HANGUL SYLLABLE DDEONG;Lo;0;L;;;;;N;;;;;
-B5B6;HANGUL SYLLABLE DDEOJ;Lo;0;L;;;;;N;;;;;
-B5B7;HANGUL SYLLABLE DDEOC;Lo;0;L;;;;;N;;;;;
-B5B8;HANGUL SYLLABLE DDEOK;Lo;0;L;;;;;N;;;;;
-B5B9;HANGUL SYLLABLE DDEOT;Lo;0;L;;;;;N;;;;;
-B5BA;HANGUL SYLLABLE DDEOP;Lo;0;L;;;;;N;;;;;
-B5BB;HANGUL SYLLABLE DDEOH;Lo;0;L;;;;;N;;;;;
-B5BC;HANGUL SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
-B5BD;HANGUL SYLLABLE DDEG;Lo;0;L;;;;;N;;;;;
-B5BE;HANGUL SYLLABLE DDEGG;Lo;0;L;;;;;N;;;;;
-B5BF;HANGUL SYLLABLE DDEGS;Lo;0;L;;;;;N;;;;;
-B5C0;HANGUL SYLLABLE DDEN;Lo;0;L;;;;;N;;;;;
-B5C1;HANGUL SYLLABLE DDENI;Lo;0;L;;;;;N;;;;;
-B5C2;HANGUL SYLLABLE DDENH;Lo;0;L;;;;;N;;;;;
-B5C3;HANGUL SYLLABLE DDED;Lo;0;L;;;;;N;;;;;
-B5C4;HANGUL SYLLABLE DDEL;Lo;0;L;;;;;N;;;;;
-B5C5;HANGUL SYLLABLE DDELG;Lo;0;L;;;;;N;;;;;
-B5C6;HANGUL SYLLABLE DDELM;Lo;0;L;;;;;N;;;;;
-B5C7;HANGUL SYLLABLE DDELB;Lo;0;L;;;;;N;;;;;
-B5C8;HANGUL SYLLABLE DDELS;Lo;0;L;;;;;N;;;;;
-B5C9;HANGUL SYLLABLE DDELT;Lo;0;L;;;;;N;;;;;
-B5CA;HANGUL SYLLABLE DDELP;Lo;0;L;;;;;N;;;;;
-B5CB;HANGUL SYLLABLE DDELH;Lo;0;L;;;;;N;;;;;
-B5CC;HANGUL SYLLABLE DDEM;Lo;0;L;;;;;N;;;;;
-B5CD;HANGUL SYLLABLE DDEB;Lo;0;L;;;;;N;;;;;
-B5CE;HANGUL SYLLABLE DDEBS;Lo;0;L;;;;;N;;;;;
-B5CF;HANGUL SYLLABLE DDES;Lo;0;L;;;;;N;;;;;
-B5D0;HANGUL SYLLABLE DDESS;Lo;0;L;;;;;N;;;;;
-B5D1;HANGUL SYLLABLE DDENG;Lo;0;L;;;;;N;;;;;
-B5D2;HANGUL SYLLABLE DDEJ;Lo;0;L;;;;;N;;;;;
-B5D3;HANGUL SYLLABLE DDEC;Lo;0;L;;;;;N;;;;;
-B5D4;HANGUL SYLLABLE DDEK;Lo;0;L;;;;;N;;;;;
-B5D5;HANGUL SYLLABLE DDET;Lo;0;L;;;;;N;;;;;
-B5D6;HANGUL SYLLABLE DDEP;Lo;0;L;;;;;N;;;;;
-B5D7;HANGUL SYLLABLE DDEH;Lo;0;L;;;;;N;;;;;
-B5D8;HANGUL SYLLABLE DDYEO;Lo;0;L;;;;;N;;;;;
-B5D9;HANGUL SYLLABLE DDYEOG;Lo;0;L;;;;;N;;;;;
-B5DA;HANGUL SYLLABLE DDYEOGG;Lo;0;L;;;;;N;;;;;
-B5DB;HANGUL SYLLABLE DDYEOGS;Lo;0;L;;;;;N;;;;;
-B5DC;HANGUL SYLLABLE DDYEON;Lo;0;L;;;;;N;;;;;
-B5DD;HANGUL SYLLABLE DDYEONI;Lo;0;L;;;;;N;;;;;
-B5DE;HANGUL SYLLABLE DDYEONH;Lo;0;L;;;;;N;;;;;
-B5DF;HANGUL SYLLABLE DDYEOD;Lo;0;L;;;;;N;;;;;
-B5E0;HANGUL SYLLABLE DDYEOL;Lo;0;L;;;;;N;;;;;
-B5E1;HANGUL SYLLABLE DDYEOLG;Lo;0;L;;;;;N;;;;;
-B5E2;HANGUL SYLLABLE DDYEOLM;Lo;0;L;;;;;N;;;;;
-B5E3;HANGUL SYLLABLE DDYEOLB;Lo;0;L;;;;;N;;;;;
-B5E4;HANGUL SYLLABLE DDYEOLS;Lo;0;L;;;;;N;;;;;
-B5E5;HANGUL SYLLABLE DDYEOLT;Lo;0;L;;;;;N;;;;;
-B5E6;HANGUL SYLLABLE DDYEOLP;Lo;0;L;;;;;N;;;;;
-B5E7;HANGUL SYLLABLE DDYEOLH;Lo;0;L;;;;;N;;;;;
-B5E8;HANGUL SYLLABLE DDYEOM;Lo;0;L;;;;;N;;;;;
-B5E9;HANGUL SYLLABLE DDYEOB;Lo;0;L;;;;;N;;;;;
-B5EA;HANGUL SYLLABLE DDYEOBS;Lo;0;L;;;;;N;;;;;
-B5EB;HANGUL SYLLABLE DDYEOS;Lo;0;L;;;;;N;;;;;
-B5EC;HANGUL SYLLABLE DDYEOSS;Lo;0;L;;;;;N;;;;;
-B5ED;HANGUL SYLLABLE DDYEONG;Lo;0;L;;;;;N;;;;;
-B5EE;HANGUL SYLLABLE DDYEOJ;Lo;0;L;;;;;N;;;;;
-B5EF;HANGUL SYLLABLE DDYEOC;Lo;0;L;;;;;N;;;;;
-B5F0;HANGUL SYLLABLE DDYEOK;Lo;0;L;;;;;N;;;;;
-B5F1;HANGUL SYLLABLE DDYEOT;Lo;0;L;;;;;N;;;;;
-B5F2;HANGUL SYLLABLE DDYEOP;Lo;0;L;;;;;N;;;;;
-B5F3;HANGUL SYLLABLE DDYEOH;Lo;0;L;;;;;N;;;;;
-B5F4;HANGUL SYLLABLE DDYE;Lo;0;L;;;;;N;;;;;
-B5F5;HANGUL SYLLABLE DDYEG;Lo;0;L;;;;;N;;;;;
-B5F6;HANGUL SYLLABLE DDYEGG;Lo;0;L;;;;;N;;;;;
-B5F7;HANGUL SYLLABLE DDYEGS;Lo;0;L;;;;;N;;;;;
-B5F8;HANGUL SYLLABLE DDYEN;Lo;0;L;;;;;N;;;;;
-B5F9;HANGUL SYLLABLE DDYENI;Lo;0;L;;;;;N;;;;;
-B5FA;HANGUL SYLLABLE DDYENH;Lo;0;L;;;;;N;;;;;
-B5FB;HANGUL SYLLABLE DDYED;Lo;0;L;;;;;N;;;;;
-B5FC;HANGUL SYLLABLE DDYEL;Lo;0;L;;;;;N;;;;;
-B5FD;HANGUL SYLLABLE DDYELG;Lo;0;L;;;;;N;;;;;
-B5FE;HANGUL SYLLABLE DDYELM;Lo;0;L;;;;;N;;;;;
-B5FF;HANGUL SYLLABLE DDYELB;Lo;0;L;;;;;N;;;;;
-B600;HANGUL SYLLABLE DDYELS;Lo;0;L;;;;;N;;;;;
-B601;HANGUL SYLLABLE DDYELT;Lo;0;L;;;;;N;;;;;
-B602;HANGUL SYLLABLE DDYELP;Lo;0;L;;;;;N;;;;;
-B603;HANGUL SYLLABLE DDYELH;Lo;0;L;;;;;N;;;;;
-B604;HANGUL SYLLABLE DDYEM;Lo;0;L;;;;;N;;;;;
-B605;HANGUL SYLLABLE DDYEB;Lo;0;L;;;;;N;;;;;
-B606;HANGUL SYLLABLE DDYEBS;Lo;0;L;;;;;N;;;;;
-B607;HANGUL SYLLABLE DDYES;Lo;0;L;;;;;N;;;;;
-B608;HANGUL SYLLABLE DDYESS;Lo;0;L;;;;;N;;;;;
-B609;HANGUL SYLLABLE DDYENG;Lo;0;L;;;;;N;;;;;
-B60A;HANGUL SYLLABLE DDYEJ;Lo;0;L;;;;;N;;;;;
-B60B;HANGUL SYLLABLE DDYEC;Lo;0;L;;;;;N;;;;;
-B60C;HANGUL SYLLABLE DDYEK;Lo;0;L;;;;;N;;;;;
-B60D;HANGUL SYLLABLE DDYET;Lo;0;L;;;;;N;;;;;
-B60E;HANGUL SYLLABLE DDYEP;Lo;0;L;;;;;N;;;;;
-B60F;HANGUL SYLLABLE DDYEH;Lo;0;L;;;;;N;;;;;
-B610;HANGUL SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
-B611;HANGUL SYLLABLE DDOG;Lo;0;L;;;;;N;;;;;
-B612;HANGUL SYLLABLE DDOGG;Lo;0;L;;;;;N;;;;;
-B613;HANGUL SYLLABLE DDOGS;Lo;0;L;;;;;N;;;;;
-B614;HANGUL SYLLABLE DDON;Lo;0;L;;;;;N;;;;;
-B615;HANGUL SYLLABLE DDONI;Lo;0;L;;;;;N;;;;;
-B616;HANGUL SYLLABLE DDONH;Lo;0;L;;;;;N;;;;;
-B617;HANGUL SYLLABLE DDOD;Lo;0;L;;;;;N;;;;;
-B618;HANGUL SYLLABLE DDOL;Lo;0;L;;;;;N;;;;;
-B619;HANGUL SYLLABLE DDOLG;Lo;0;L;;;;;N;;;;;
-B61A;HANGUL SYLLABLE DDOLM;Lo;0;L;;;;;N;;;;;
-B61B;HANGUL SYLLABLE DDOLB;Lo;0;L;;;;;N;;;;;
-B61C;HANGUL SYLLABLE DDOLS;Lo;0;L;;;;;N;;;;;
-B61D;HANGUL SYLLABLE DDOLT;Lo;0;L;;;;;N;;;;;
-B61E;HANGUL SYLLABLE DDOLP;Lo;0;L;;;;;N;;;;;
-B61F;HANGUL SYLLABLE DDOLH;Lo;0;L;;;;;N;;;;;
-B620;HANGUL SYLLABLE DDOM;Lo;0;L;;;;;N;;;;;
-B621;HANGUL SYLLABLE DDOB;Lo;0;L;;;;;N;;;;;
-B622;HANGUL SYLLABLE DDOBS;Lo;0;L;;;;;N;;;;;
-B623;HANGUL SYLLABLE DDOS;Lo;0;L;;;;;N;;;;;
-B624;HANGUL SYLLABLE DDOSS;Lo;0;L;;;;;N;;;;;
-B625;HANGUL SYLLABLE DDONG;Lo;0;L;;;;;N;;;;;
-B626;HANGUL SYLLABLE DDOJ;Lo;0;L;;;;;N;;;;;
-B627;HANGUL SYLLABLE DDOC;Lo;0;L;;;;;N;;;;;
-B628;HANGUL SYLLABLE DDOK;Lo;0;L;;;;;N;;;;;
-B629;HANGUL SYLLABLE DDOT;Lo;0;L;;;;;N;;;;;
-B62A;HANGUL SYLLABLE DDOP;Lo;0;L;;;;;N;;;;;
-B62B;HANGUL SYLLABLE DDOH;Lo;0;L;;;;;N;;;;;
-B62C;HANGUL SYLLABLE DDWA;Lo;0;L;;;;;N;;;;;
-B62D;HANGUL SYLLABLE DDWAG;Lo;0;L;;;;;N;;;;;
-B62E;HANGUL SYLLABLE DDWAGG;Lo;0;L;;;;;N;;;;;
-B62F;HANGUL SYLLABLE DDWAGS;Lo;0;L;;;;;N;;;;;
-B630;HANGUL SYLLABLE DDWAN;Lo;0;L;;;;;N;;;;;
-B631;HANGUL SYLLABLE DDWANI;Lo;0;L;;;;;N;;;;;
-B632;HANGUL SYLLABLE DDWANH;Lo;0;L;;;;;N;;;;;
-B633;HANGUL SYLLABLE DDWAD;Lo;0;L;;;;;N;;;;;
-B634;HANGUL SYLLABLE DDWAL;Lo;0;L;;;;;N;;;;;
-B635;HANGUL SYLLABLE DDWALG;Lo;0;L;;;;;N;;;;;
-B636;HANGUL SYLLABLE DDWALM;Lo;0;L;;;;;N;;;;;
-B637;HANGUL SYLLABLE DDWALB;Lo;0;L;;;;;N;;;;;
-B638;HANGUL SYLLABLE DDWALS;Lo;0;L;;;;;N;;;;;
-B639;HANGUL SYLLABLE DDWALT;Lo;0;L;;;;;N;;;;;
-B63A;HANGUL SYLLABLE DDWALP;Lo;0;L;;;;;N;;;;;
-B63B;HANGUL SYLLABLE DDWALH;Lo;0;L;;;;;N;;;;;
-B63C;HANGUL SYLLABLE DDWAM;Lo;0;L;;;;;N;;;;;
-B63D;HANGUL SYLLABLE DDWAB;Lo;0;L;;;;;N;;;;;
-B63E;HANGUL SYLLABLE DDWABS;Lo;0;L;;;;;N;;;;;
-B63F;HANGUL SYLLABLE DDWAS;Lo;0;L;;;;;N;;;;;
-B640;HANGUL SYLLABLE DDWASS;Lo;0;L;;;;;N;;;;;
-B641;HANGUL SYLLABLE DDWANG;Lo;0;L;;;;;N;;;;;
-B642;HANGUL SYLLABLE DDWAJ;Lo;0;L;;;;;N;;;;;
-B643;HANGUL SYLLABLE DDWAC;Lo;0;L;;;;;N;;;;;
-B644;HANGUL SYLLABLE DDWAK;Lo;0;L;;;;;N;;;;;
-B645;HANGUL SYLLABLE DDWAT;Lo;0;L;;;;;N;;;;;
-B646;HANGUL SYLLABLE DDWAP;Lo;0;L;;;;;N;;;;;
-B647;HANGUL SYLLABLE DDWAH;Lo;0;L;;;;;N;;;;;
-B648;HANGUL SYLLABLE DDWAE;Lo;0;L;;;;;N;;;;;
-B649;HANGUL SYLLABLE DDWAEG;Lo;0;L;;;;;N;;;;;
-B64A;HANGUL SYLLABLE DDWAEGG;Lo;0;L;;;;;N;;;;;
-B64B;HANGUL SYLLABLE DDWAEGS;Lo;0;L;;;;;N;;;;;
-B64C;HANGUL SYLLABLE DDWAEN;Lo;0;L;;;;;N;;;;;
-B64D;HANGUL SYLLABLE DDWAENI;Lo;0;L;;;;;N;;;;;
-B64E;HANGUL SYLLABLE DDWAENH;Lo;0;L;;;;;N;;;;;
-B64F;HANGUL SYLLABLE DDWAED;Lo;0;L;;;;;N;;;;;
-B650;HANGUL SYLLABLE DDWAEL;Lo;0;L;;;;;N;;;;;
-B651;HANGUL SYLLABLE DDWAELG;Lo;0;L;;;;;N;;;;;
-B652;HANGUL SYLLABLE DDWAELM;Lo;0;L;;;;;N;;;;;
-B653;HANGUL SYLLABLE DDWAELB;Lo;0;L;;;;;N;;;;;
-B654;HANGUL SYLLABLE DDWAELS;Lo;0;L;;;;;N;;;;;
-B655;HANGUL SYLLABLE DDWAELT;Lo;0;L;;;;;N;;;;;
-B656;HANGUL SYLLABLE DDWAELP;Lo;0;L;;;;;N;;;;;
-B657;HANGUL SYLLABLE DDWAELH;Lo;0;L;;;;;N;;;;;
-B658;HANGUL SYLLABLE DDWAEM;Lo;0;L;;;;;N;;;;;
-B659;HANGUL SYLLABLE DDWAEB;Lo;0;L;;;;;N;;;;;
-B65A;HANGUL SYLLABLE DDWAEBS;Lo;0;L;;;;;N;;;;;
-B65B;HANGUL SYLLABLE DDWAES;Lo;0;L;;;;;N;;;;;
-B65C;HANGUL SYLLABLE DDWAESS;Lo;0;L;;;;;N;;;;;
-B65D;HANGUL SYLLABLE DDWAENG;Lo;0;L;;;;;N;;;;;
-B65E;HANGUL SYLLABLE DDWAEJ;Lo;0;L;;;;;N;;;;;
-B65F;HANGUL SYLLABLE DDWAEC;Lo;0;L;;;;;N;;;;;
-B660;HANGUL SYLLABLE DDWAEK;Lo;0;L;;;;;N;;;;;
-B661;HANGUL SYLLABLE DDWAET;Lo;0;L;;;;;N;;;;;
-B662;HANGUL SYLLABLE DDWAEP;Lo;0;L;;;;;N;;;;;
-B663;HANGUL SYLLABLE DDWAEH;Lo;0;L;;;;;N;;;;;
-B664;HANGUL SYLLABLE DDOE;Lo;0;L;;;;;N;;;;;
-B665;HANGUL SYLLABLE DDOEG;Lo;0;L;;;;;N;;;;;
-B666;HANGUL SYLLABLE DDOEGG;Lo;0;L;;;;;N;;;;;
-B667;HANGUL SYLLABLE DDOEGS;Lo;0;L;;;;;N;;;;;
-B668;HANGUL SYLLABLE DDOEN;Lo;0;L;;;;;N;;;;;
-B669;HANGUL SYLLABLE DDOENI;Lo;0;L;;;;;N;;;;;
-B66A;HANGUL SYLLABLE DDOENH;Lo;0;L;;;;;N;;;;;
-B66B;HANGUL SYLLABLE DDOED;Lo;0;L;;;;;N;;;;;
-B66C;HANGUL SYLLABLE DDOEL;Lo;0;L;;;;;N;;;;;
-B66D;HANGUL SYLLABLE DDOELG;Lo;0;L;;;;;N;;;;;
-B66E;HANGUL SYLLABLE DDOELM;Lo;0;L;;;;;N;;;;;
-B66F;HANGUL SYLLABLE DDOELB;Lo;0;L;;;;;N;;;;;
-B670;HANGUL SYLLABLE DDOELS;Lo;0;L;;;;;N;;;;;
-B671;HANGUL SYLLABLE DDOELT;Lo;0;L;;;;;N;;;;;
-B672;HANGUL SYLLABLE DDOELP;Lo;0;L;;;;;N;;;;;
-B673;HANGUL SYLLABLE DDOELH;Lo;0;L;;;;;N;;;;;
-B674;HANGUL SYLLABLE DDOEM;Lo;0;L;;;;;N;;;;;
-B675;HANGUL SYLLABLE DDOEB;Lo;0;L;;;;;N;;;;;
-B676;HANGUL SYLLABLE DDOEBS;Lo;0;L;;;;;N;;;;;
-B677;HANGUL SYLLABLE DDOES;Lo;0;L;;;;;N;;;;;
-B678;HANGUL SYLLABLE DDOESS;Lo;0;L;;;;;N;;;;;
-B679;HANGUL SYLLABLE DDOENG;Lo;0;L;;;;;N;;;;;
-B67A;HANGUL SYLLABLE DDOEJ;Lo;0;L;;;;;N;;;;;
-B67B;HANGUL SYLLABLE DDOEC;Lo;0;L;;;;;N;;;;;
-B67C;HANGUL SYLLABLE DDOEK;Lo;0;L;;;;;N;;;;;
-B67D;HANGUL SYLLABLE DDOET;Lo;0;L;;;;;N;;;;;
-B67E;HANGUL SYLLABLE DDOEP;Lo;0;L;;;;;N;;;;;
-B67F;HANGUL SYLLABLE DDOEH;Lo;0;L;;;;;N;;;;;
-B680;HANGUL SYLLABLE DDYO;Lo;0;L;;;;;N;;;;;
-B681;HANGUL SYLLABLE DDYOG;Lo;0;L;;;;;N;;;;;
-B682;HANGUL SYLLABLE DDYOGG;Lo;0;L;;;;;N;;;;;
-B683;HANGUL SYLLABLE DDYOGS;Lo;0;L;;;;;N;;;;;
-B684;HANGUL SYLLABLE DDYON;Lo;0;L;;;;;N;;;;;
-B685;HANGUL SYLLABLE DDYONI;Lo;0;L;;;;;N;;;;;
-B686;HANGUL SYLLABLE DDYONH;Lo;0;L;;;;;N;;;;;
-B687;HANGUL SYLLABLE DDYOD;Lo;0;L;;;;;N;;;;;
-B688;HANGUL SYLLABLE DDYOL;Lo;0;L;;;;;N;;;;;
-B689;HANGUL SYLLABLE DDYOLG;Lo;0;L;;;;;N;;;;;
-B68A;HANGUL SYLLABLE DDYOLM;Lo;0;L;;;;;N;;;;;
-B68B;HANGUL SYLLABLE DDYOLB;Lo;0;L;;;;;N;;;;;
-B68C;HANGUL SYLLABLE DDYOLS;Lo;0;L;;;;;N;;;;;
-B68D;HANGUL SYLLABLE DDYOLT;Lo;0;L;;;;;N;;;;;
-B68E;HANGUL SYLLABLE DDYOLP;Lo;0;L;;;;;N;;;;;
-B68F;HANGUL SYLLABLE DDYOLH;Lo;0;L;;;;;N;;;;;
-B690;HANGUL SYLLABLE DDYOM;Lo;0;L;;;;;N;;;;;
-B691;HANGUL SYLLABLE DDYOB;Lo;0;L;;;;;N;;;;;
-B692;HANGUL SYLLABLE DDYOBS;Lo;0;L;;;;;N;;;;;
-B693;HANGUL SYLLABLE DDYOS;Lo;0;L;;;;;N;;;;;
-B694;HANGUL SYLLABLE DDYOSS;Lo;0;L;;;;;N;;;;;
-B695;HANGUL SYLLABLE DDYONG;Lo;0;L;;;;;N;;;;;
-B696;HANGUL SYLLABLE DDYOJ;Lo;0;L;;;;;N;;;;;
-B697;HANGUL SYLLABLE DDYOC;Lo;0;L;;;;;N;;;;;
-B698;HANGUL SYLLABLE DDYOK;Lo;0;L;;;;;N;;;;;
-B699;HANGUL SYLLABLE DDYOT;Lo;0;L;;;;;N;;;;;
-B69A;HANGUL SYLLABLE DDYOP;Lo;0;L;;;;;N;;;;;
-B69B;HANGUL SYLLABLE DDYOH;Lo;0;L;;;;;N;;;;;
-B69C;HANGUL SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
-B69D;HANGUL SYLLABLE DDUG;Lo;0;L;;;;;N;;;;;
-B69E;HANGUL SYLLABLE DDUGG;Lo;0;L;;;;;N;;;;;
-B69F;HANGUL SYLLABLE DDUGS;Lo;0;L;;;;;N;;;;;
-B6A0;HANGUL SYLLABLE DDUN;Lo;0;L;;;;;N;;;;;
-B6A1;HANGUL SYLLABLE DDUNI;Lo;0;L;;;;;N;;;;;
-B6A2;HANGUL SYLLABLE DDUNH;Lo;0;L;;;;;N;;;;;
-B6A3;HANGUL SYLLABLE DDUD;Lo;0;L;;;;;N;;;;;
-B6A4;HANGUL SYLLABLE DDUL;Lo;0;L;;;;;N;;;;;
-B6A5;HANGUL SYLLABLE DDULG;Lo;0;L;;;;;N;;;;;
-B6A6;HANGUL SYLLABLE DDULM;Lo;0;L;;;;;N;;;;;
-B6A7;HANGUL SYLLABLE DDULB;Lo;0;L;;;;;N;;;;;
-B6A8;HANGUL SYLLABLE DDULS;Lo;0;L;;;;;N;;;;;
-B6A9;HANGUL SYLLABLE DDULT;Lo;0;L;;;;;N;;;;;
-B6AA;HANGUL SYLLABLE DDULP;Lo;0;L;;;;;N;;;;;
-B6AB;HANGUL SYLLABLE DDULH;Lo;0;L;;;;;N;;;;;
-B6AC;HANGUL SYLLABLE DDUM;Lo;0;L;;;;;N;;;;;
-B6AD;HANGUL SYLLABLE DDUB;Lo;0;L;;;;;N;;;;;
-B6AE;HANGUL SYLLABLE DDUBS;Lo;0;L;;;;;N;;;;;
-B6AF;HANGUL SYLLABLE DDUS;Lo;0;L;;;;;N;;;;;
-B6B0;HANGUL SYLLABLE DDUSS;Lo;0;L;;;;;N;;;;;
-B6B1;HANGUL SYLLABLE DDUNG;Lo;0;L;;;;;N;;;;;
-B6B2;HANGUL SYLLABLE DDUJ;Lo;0;L;;;;;N;;;;;
-B6B3;HANGUL SYLLABLE DDUC;Lo;0;L;;;;;N;;;;;
-B6B4;HANGUL SYLLABLE DDUK;Lo;0;L;;;;;N;;;;;
-B6B5;HANGUL SYLLABLE DDUT;Lo;0;L;;;;;N;;;;;
-B6B6;HANGUL SYLLABLE DDUP;Lo;0;L;;;;;N;;;;;
-B6B7;HANGUL SYLLABLE DDUH;Lo;0;L;;;;;N;;;;;
-B6B8;HANGUL SYLLABLE DDWEO;Lo;0;L;;;;;N;;;;;
-B6B9;HANGUL SYLLABLE DDWEOG;Lo;0;L;;;;;N;;;;;
-B6BA;HANGUL SYLLABLE DDWEOGG;Lo;0;L;;;;;N;;;;;
-B6BB;HANGUL SYLLABLE DDWEOGS;Lo;0;L;;;;;N;;;;;
-B6BC;HANGUL SYLLABLE DDWEON;Lo;0;L;;;;;N;;;;;
-B6BD;HANGUL SYLLABLE DDWEONI;Lo;0;L;;;;;N;;;;;
-B6BE;HANGUL SYLLABLE DDWEONH;Lo;0;L;;;;;N;;;;;
-B6BF;HANGUL SYLLABLE DDWEOD;Lo;0;L;;;;;N;;;;;
-B6C0;HANGUL SYLLABLE DDWEOL;Lo;0;L;;;;;N;;;;;
-B6C1;HANGUL SYLLABLE DDWEOLG;Lo;0;L;;;;;N;;;;;
-B6C2;HANGUL SYLLABLE DDWEOLM;Lo;0;L;;;;;N;;;;;
-B6C3;HANGUL SYLLABLE DDWEOLB;Lo;0;L;;;;;N;;;;;
-B6C4;HANGUL SYLLABLE DDWEOLS;Lo;0;L;;;;;N;;;;;
-B6C5;HANGUL SYLLABLE DDWEOLT;Lo;0;L;;;;;N;;;;;
-B6C6;HANGUL SYLLABLE DDWEOLP;Lo;0;L;;;;;N;;;;;
-B6C7;HANGUL SYLLABLE DDWEOLH;Lo;0;L;;;;;N;;;;;
-B6C8;HANGUL SYLLABLE DDWEOM;Lo;0;L;;;;;N;;;;;
-B6C9;HANGUL SYLLABLE DDWEOB;Lo;0;L;;;;;N;;;;;
-B6CA;HANGUL SYLLABLE DDWEOBS;Lo;0;L;;;;;N;;;;;
-B6CB;HANGUL SYLLABLE DDWEOS;Lo;0;L;;;;;N;;;;;
-B6CC;HANGUL SYLLABLE DDWEOSS;Lo;0;L;;;;;N;;;;;
-B6CD;HANGUL SYLLABLE DDWEONG;Lo;0;L;;;;;N;;;;;
-B6CE;HANGUL SYLLABLE DDWEOJ;Lo;0;L;;;;;N;;;;;
-B6CF;HANGUL SYLLABLE DDWEOC;Lo;0;L;;;;;N;;;;;
-B6D0;HANGUL SYLLABLE DDWEOK;Lo;0;L;;;;;N;;;;;
-B6D1;HANGUL SYLLABLE DDWEOT;Lo;0;L;;;;;N;;;;;
-B6D2;HANGUL SYLLABLE DDWEOP;Lo;0;L;;;;;N;;;;;
-B6D3;HANGUL SYLLABLE DDWEOH;Lo;0;L;;;;;N;;;;;
-B6D4;HANGUL SYLLABLE DDWE;Lo;0;L;;;;;N;;;;;
-B6D5;HANGUL SYLLABLE DDWEG;Lo;0;L;;;;;N;;;;;
-B6D6;HANGUL SYLLABLE DDWEGG;Lo;0;L;;;;;N;;;;;
-B6D7;HANGUL SYLLABLE DDWEGS;Lo;0;L;;;;;N;;;;;
-B6D8;HANGUL SYLLABLE DDWEN;Lo;0;L;;;;;N;;;;;
-B6D9;HANGUL SYLLABLE DDWENI;Lo;0;L;;;;;N;;;;;
-B6DA;HANGUL SYLLABLE DDWENH;Lo;0;L;;;;;N;;;;;
-B6DB;HANGUL SYLLABLE DDWED;Lo;0;L;;;;;N;;;;;
-B6DC;HANGUL SYLLABLE DDWEL;Lo;0;L;;;;;N;;;;;
-B6DD;HANGUL SYLLABLE DDWELG;Lo;0;L;;;;;N;;;;;
-B6DE;HANGUL SYLLABLE DDWELM;Lo;0;L;;;;;N;;;;;
-B6DF;HANGUL SYLLABLE DDWELB;Lo;0;L;;;;;N;;;;;
-B6E0;HANGUL SYLLABLE DDWELS;Lo;0;L;;;;;N;;;;;
-B6E1;HANGUL SYLLABLE DDWELT;Lo;0;L;;;;;N;;;;;
-B6E2;HANGUL SYLLABLE DDWELP;Lo;0;L;;;;;N;;;;;
-B6E3;HANGUL SYLLABLE DDWELH;Lo;0;L;;;;;N;;;;;
-B6E4;HANGUL SYLLABLE DDWEM;Lo;0;L;;;;;N;;;;;
-B6E5;HANGUL SYLLABLE DDWEB;Lo;0;L;;;;;N;;;;;
-B6E6;HANGUL SYLLABLE DDWEBS;Lo;0;L;;;;;N;;;;;
-B6E7;HANGUL SYLLABLE DDWES;Lo;0;L;;;;;N;;;;;
-B6E8;HANGUL SYLLABLE DDWESS;Lo;0;L;;;;;N;;;;;
-B6E9;HANGUL SYLLABLE DDWENG;Lo;0;L;;;;;N;;;;;
-B6EA;HANGUL SYLLABLE DDWEJ;Lo;0;L;;;;;N;;;;;
-B6EB;HANGUL SYLLABLE DDWEC;Lo;0;L;;;;;N;;;;;
-B6EC;HANGUL SYLLABLE DDWEK;Lo;0;L;;;;;N;;;;;
-B6ED;HANGUL SYLLABLE DDWET;Lo;0;L;;;;;N;;;;;
-B6EE;HANGUL SYLLABLE DDWEP;Lo;0;L;;;;;N;;;;;
-B6EF;HANGUL SYLLABLE DDWEH;Lo;0;L;;;;;N;;;;;
-B6F0;HANGUL SYLLABLE DDWI;Lo;0;L;;;;;N;;;;;
-B6F1;HANGUL SYLLABLE DDWIG;Lo;0;L;;;;;N;;;;;
-B6F2;HANGUL SYLLABLE DDWIGG;Lo;0;L;;;;;N;;;;;
-B6F3;HANGUL SYLLABLE DDWIGS;Lo;0;L;;;;;N;;;;;
-B6F4;HANGUL SYLLABLE DDWIN;Lo;0;L;;;;;N;;;;;
-B6F5;HANGUL SYLLABLE DDWINI;Lo;0;L;;;;;N;;;;;
-B6F6;HANGUL SYLLABLE DDWINH;Lo;0;L;;;;;N;;;;;
-B6F7;HANGUL SYLLABLE DDWID;Lo;0;L;;;;;N;;;;;
-B6F8;HANGUL SYLLABLE DDWIL;Lo;0;L;;;;;N;;;;;
-B6F9;HANGUL SYLLABLE DDWILG;Lo;0;L;;;;;N;;;;;
-B6FA;HANGUL SYLLABLE DDWILM;Lo;0;L;;;;;N;;;;;
-B6FB;HANGUL SYLLABLE DDWILB;Lo;0;L;;;;;N;;;;;
-B6FC;HANGUL SYLLABLE DDWILS;Lo;0;L;;;;;N;;;;;
-B6FD;HANGUL SYLLABLE DDWILT;Lo;0;L;;;;;N;;;;;
-B6FE;HANGUL SYLLABLE DDWILP;Lo;0;L;;;;;N;;;;;
-B6FF;HANGUL SYLLABLE DDWILH;Lo;0;L;;;;;N;;;;;
-B700;HANGUL SYLLABLE DDWIM;Lo;0;L;;;;;N;;;;;
-B701;HANGUL SYLLABLE DDWIB;Lo;0;L;;;;;N;;;;;
-B702;HANGUL SYLLABLE DDWIBS;Lo;0;L;;;;;N;;;;;
-B703;HANGUL SYLLABLE DDWIS;Lo;0;L;;;;;N;;;;;
-B704;HANGUL SYLLABLE DDWISS;Lo;0;L;;;;;N;;;;;
-B705;HANGUL SYLLABLE DDWING;Lo;0;L;;;;;N;;;;;
-B706;HANGUL SYLLABLE DDWIJ;Lo;0;L;;;;;N;;;;;
-B707;HANGUL SYLLABLE DDWIC;Lo;0;L;;;;;N;;;;;
-B708;HANGUL SYLLABLE DDWIK;Lo;0;L;;;;;N;;;;;
-B709;HANGUL SYLLABLE DDWIT;Lo;0;L;;;;;N;;;;;
-B70A;HANGUL SYLLABLE DDWIP;Lo;0;L;;;;;N;;;;;
-B70B;HANGUL SYLLABLE DDWIH;Lo;0;L;;;;;N;;;;;
-B70C;HANGUL SYLLABLE DDYU;Lo;0;L;;;;;N;;;;;
-B70D;HANGUL SYLLABLE DDYUG;Lo;0;L;;;;;N;;;;;
-B70E;HANGUL SYLLABLE DDYUGG;Lo;0;L;;;;;N;;;;;
-B70F;HANGUL SYLLABLE DDYUGS;Lo;0;L;;;;;N;;;;;
-B710;HANGUL SYLLABLE DDYUN;Lo;0;L;;;;;N;;;;;
-B711;HANGUL SYLLABLE DDYUNI;Lo;0;L;;;;;N;;;;;
-B712;HANGUL SYLLABLE DDYUNH;Lo;0;L;;;;;N;;;;;
-B713;HANGUL SYLLABLE DDYUD;Lo;0;L;;;;;N;;;;;
-B714;HANGUL SYLLABLE DDYUL;Lo;0;L;;;;;N;;;;;
-B715;HANGUL SYLLABLE DDYULG;Lo;0;L;;;;;N;;;;;
-B716;HANGUL SYLLABLE DDYULM;Lo;0;L;;;;;N;;;;;
-B717;HANGUL SYLLABLE DDYULB;Lo;0;L;;;;;N;;;;;
-B718;HANGUL SYLLABLE DDYULS;Lo;0;L;;;;;N;;;;;
-B719;HANGUL SYLLABLE DDYULT;Lo;0;L;;;;;N;;;;;
-B71A;HANGUL SYLLABLE DDYULP;Lo;0;L;;;;;N;;;;;
-B71B;HANGUL SYLLABLE DDYULH;Lo;0;L;;;;;N;;;;;
-B71C;HANGUL SYLLABLE DDYUM;Lo;0;L;;;;;N;;;;;
-B71D;HANGUL SYLLABLE DDYUB;Lo;0;L;;;;;N;;;;;
-B71E;HANGUL SYLLABLE DDYUBS;Lo;0;L;;;;;N;;;;;
-B71F;HANGUL SYLLABLE DDYUS;Lo;0;L;;;;;N;;;;;
-B720;HANGUL SYLLABLE DDYUSS;Lo;0;L;;;;;N;;;;;
-B721;HANGUL SYLLABLE DDYUNG;Lo;0;L;;;;;N;;;;;
-B722;HANGUL SYLLABLE DDYUJ;Lo;0;L;;;;;N;;;;;
-B723;HANGUL SYLLABLE DDYUC;Lo;0;L;;;;;N;;;;;
-B724;HANGUL SYLLABLE DDYUK;Lo;0;L;;;;;N;;;;;
-B725;HANGUL SYLLABLE DDYUT;Lo;0;L;;;;;N;;;;;
-B726;HANGUL SYLLABLE DDYUP;Lo;0;L;;;;;N;;;;;
-B727;HANGUL SYLLABLE DDYUH;Lo;0;L;;;;;N;;;;;
-B728;HANGUL SYLLABLE DDEU;Lo;0;L;;;;;N;;;;;
-B729;HANGUL SYLLABLE DDEUG;Lo;0;L;;;;;N;;;;;
-B72A;HANGUL SYLLABLE DDEUGG;Lo;0;L;;;;;N;;;;;
-B72B;HANGUL SYLLABLE DDEUGS;Lo;0;L;;;;;N;;;;;
-B72C;HANGUL SYLLABLE DDEUN;Lo;0;L;;;;;N;;;;;
-B72D;HANGUL SYLLABLE DDEUNI;Lo;0;L;;;;;N;;;;;
-B72E;HANGUL SYLLABLE DDEUNH;Lo;0;L;;;;;N;;;;;
-B72F;HANGUL SYLLABLE DDEUD;Lo;0;L;;;;;N;;;;;
-B730;HANGUL SYLLABLE DDEUL;Lo;0;L;;;;;N;;;;;
-B731;HANGUL SYLLABLE DDEULG;Lo;0;L;;;;;N;;;;;
-B732;HANGUL SYLLABLE DDEULM;Lo;0;L;;;;;N;;;;;
-B733;HANGUL SYLLABLE DDEULB;Lo;0;L;;;;;N;;;;;
-B734;HANGUL SYLLABLE DDEULS;Lo;0;L;;;;;N;;;;;
-B735;HANGUL SYLLABLE DDEULT;Lo;0;L;;;;;N;;;;;
-B736;HANGUL SYLLABLE DDEULP;Lo;0;L;;;;;N;;;;;
-B737;HANGUL SYLLABLE DDEULH;Lo;0;L;;;;;N;;;;;
-B738;HANGUL SYLLABLE DDEUM;Lo;0;L;;;;;N;;;;;
-B739;HANGUL SYLLABLE DDEUB;Lo;0;L;;;;;N;;;;;
-B73A;HANGUL SYLLABLE DDEUBS;Lo;0;L;;;;;N;;;;;
-B73B;HANGUL SYLLABLE DDEUS;Lo;0;L;;;;;N;;;;;
-B73C;HANGUL SYLLABLE DDEUSS;Lo;0;L;;;;;N;;;;;
-B73D;HANGUL SYLLABLE DDEUNG;Lo;0;L;;;;;N;;;;;
-B73E;HANGUL SYLLABLE DDEUJ;Lo;0;L;;;;;N;;;;;
-B73F;HANGUL SYLLABLE DDEUC;Lo;0;L;;;;;N;;;;;
-B740;HANGUL SYLLABLE DDEUK;Lo;0;L;;;;;N;;;;;
-B741;HANGUL SYLLABLE DDEUT;Lo;0;L;;;;;N;;;;;
-B742;HANGUL SYLLABLE DDEUP;Lo;0;L;;;;;N;;;;;
-B743;HANGUL SYLLABLE DDEUH;Lo;0;L;;;;;N;;;;;
-B744;HANGUL SYLLABLE DDYI;Lo;0;L;;;;;N;;;;;
-B745;HANGUL SYLLABLE DDYIG;Lo;0;L;;;;;N;;;;;
-B746;HANGUL SYLLABLE DDYIGG;Lo;0;L;;;;;N;;;;;
-B747;HANGUL SYLLABLE DDYIGS;Lo;0;L;;;;;N;;;;;
-B748;HANGUL SYLLABLE DDYIN;Lo;0;L;;;;;N;;;;;
-B749;HANGUL SYLLABLE DDYINI;Lo;0;L;;;;;N;;;;;
-B74A;HANGUL SYLLABLE DDYINH;Lo;0;L;;;;;N;;;;;
-B74B;HANGUL SYLLABLE DDYID;Lo;0;L;;;;;N;;;;;
-B74C;HANGUL SYLLABLE DDYIL;Lo;0;L;;;;;N;;;;;
-B74D;HANGUL SYLLABLE DDYILG;Lo;0;L;;;;;N;;;;;
-B74E;HANGUL SYLLABLE DDYILM;Lo;0;L;;;;;N;;;;;
-B74F;HANGUL SYLLABLE DDYILB;Lo;0;L;;;;;N;;;;;
-B750;HANGUL SYLLABLE DDYILS;Lo;0;L;;;;;N;;;;;
-B751;HANGUL SYLLABLE DDYILT;Lo;0;L;;;;;N;;;;;
-B752;HANGUL SYLLABLE DDYILP;Lo;0;L;;;;;N;;;;;
-B753;HANGUL SYLLABLE DDYILH;Lo;0;L;;;;;N;;;;;
-B754;HANGUL SYLLABLE DDYIM;Lo;0;L;;;;;N;;;;;
-B755;HANGUL SYLLABLE DDYIB;Lo;0;L;;;;;N;;;;;
-B756;HANGUL SYLLABLE DDYIBS;Lo;0;L;;;;;N;;;;;
-B757;HANGUL SYLLABLE DDYIS;Lo;0;L;;;;;N;;;;;
-B758;HANGUL SYLLABLE DDYISS;Lo;0;L;;;;;N;;;;;
-B759;HANGUL SYLLABLE DDYING;Lo;0;L;;;;;N;;;;;
-B75A;HANGUL SYLLABLE DDYIJ;Lo;0;L;;;;;N;;;;;
-B75B;HANGUL SYLLABLE DDYIC;Lo;0;L;;;;;N;;;;;
-B75C;HANGUL SYLLABLE DDYIK;Lo;0;L;;;;;N;;;;;
-B75D;HANGUL SYLLABLE DDYIT;Lo;0;L;;;;;N;;;;;
-B75E;HANGUL SYLLABLE DDYIP;Lo;0;L;;;;;N;;;;;
-B75F;HANGUL SYLLABLE DDYIH;Lo;0;L;;;;;N;;;;;
-B760;HANGUL SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
-B761;HANGUL SYLLABLE DDIG;Lo;0;L;;;;;N;;;;;
-B762;HANGUL SYLLABLE DDIGG;Lo;0;L;;;;;N;;;;;
-B763;HANGUL SYLLABLE DDIGS;Lo;0;L;;;;;N;;;;;
-B764;HANGUL SYLLABLE DDIN;Lo;0;L;;;;;N;;;;;
-B765;HANGUL SYLLABLE DDINI;Lo;0;L;;;;;N;;;;;
-B766;HANGUL SYLLABLE DDINH;Lo;0;L;;;;;N;;;;;
-B767;HANGUL SYLLABLE DDID;Lo;0;L;;;;;N;;;;;
-B768;HANGUL SYLLABLE DDIL;Lo;0;L;;;;;N;;;;;
-B769;HANGUL SYLLABLE DDILG;Lo;0;L;;;;;N;;;;;
-B76A;HANGUL SYLLABLE DDILM;Lo;0;L;;;;;N;;;;;
-B76B;HANGUL SYLLABLE DDILB;Lo;0;L;;;;;N;;;;;
-B76C;HANGUL SYLLABLE DDILS;Lo;0;L;;;;;N;;;;;
-B76D;HANGUL SYLLABLE DDILT;Lo;0;L;;;;;N;;;;;
-B76E;HANGUL SYLLABLE DDILP;Lo;0;L;;;;;N;;;;;
-B76F;HANGUL SYLLABLE DDILH;Lo;0;L;;;;;N;;;;;
-B770;HANGUL SYLLABLE DDIM;Lo;0;L;;;;;N;;;;;
-B771;HANGUL SYLLABLE DDIB;Lo;0;L;;;;;N;;;;;
-B772;HANGUL SYLLABLE DDIBS;Lo;0;L;;;;;N;;;;;
-B773;HANGUL SYLLABLE DDIS;Lo;0;L;;;;;N;;;;;
-B774;HANGUL SYLLABLE DDISS;Lo;0;L;;;;;N;;;;;
-B775;HANGUL SYLLABLE DDING;Lo;0;L;;;;;N;;;;;
-B776;HANGUL SYLLABLE DDIJ;Lo;0;L;;;;;N;;;;;
-B777;HANGUL SYLLABLE DDIC;Lo;0;L;;;;;N;;;;;
-B778;HANGUL SYLLABLE DDIK;Lo;0;L;;;;;N;;;;;
-B779;HANGUL SYLLABLE DDIT;Lo;0;L;;;;;N;;;;;
-B77A;HANGUL SYLLABLE DDIP;Lo;0;L;;;;;N;;;;;
-B77B;HANGUL SYLLABLE DDIH;Lo;0;L;;;;;N;;;;;
-B77C;HANGUL SYLLABLE RA;Lo;0;L;;;;;N;;;;;
-B77D;HANGUL SYLLABLE RAG;Lo;0;L;;;;;N;;;;;
-B77E;HANGUL SYLLABLE RAGG;Lo;0;L;;;;;N;;;;;
-B77F;HANGUL SYLLABLE RAGS;Lo;0;L;;;;;N;;;;;
-B780;HANGUL SYLLABLE RAN;Lo;0;L;;;;;N;;;;;
-B781;HANGUL SYLLABLE RANI;Lo;0;L;;;;;N;;;;;
-B782;HANGUL SYLLABLE RANH;Lo;0;L;;;;;N;;;;;
-B783;HANGUL SYLLABLE RAD;Lo;0;L;;;;;N;;;;;
-B784;HANGUL SYLLABLE RAL;Lo;0;L;;;;;N;;;;;
-B785;HANGUL SYLLABLE RALG;Lo;0;L;;;;;N;;;;;
-B786;HANGUL SYLLABLE RALM;Lo;0;L;;;;;N;;;;;
-B787;HANGUL SYLLABLE RALB;Lo;0;L;;;;;N;;;;;
-B788;HANGUL SYLLABLE RALS;Lo;0;L;;;;;N;;;;;
-B789;HANGUL SYLLABLE RALT;Lo;0;L;;;;;N;;;;;
-B78A;HANGUL SYLLABLE RALP;Lo;0;L;;;;;N;;;;;
-B78B;HANGUL SYLLABLE RALH;Lo;0;L;;;;;N;;;;;
-B78C;HANGUL SYLLABLE RAM;Lo;0;L;;;;;N;;;;;
-B78D;HANGUL SYLLABLE RAB;Lo;0;L;;;;;N;;;;;
-B78E;HANGUL SYLLABLE RABS;Lo;0;L;;;;;N;;;;;
-B78F;HANGUL SYLLABLE RAS;Lo;0;L;;;;;N;;;;;
-B790;HANGUL SYLLABLE RASS;Lo;0;L;;;;;N;;;;;
-B791;HANGUL SYLLABLE RANG;Lo;0;L;;;;;N;;;;;
-B792;HANGUL SYLLABLE RAJ;Lo;0;L;;;;;N;;;;;
-B793;HANGUL SYLLABLE RAC;Lo;0;L;;;;;N;;;;;
-B794;HANGUL SYLLABLE RAK;Lo;0;L;;;;;N;;;;;
-B795;HANGUL SYLLABLE RAT;Lo;0;L;;;;;N;;;;;
-B796;HANGUL SYLLABLE RAP;Lo;0;L;;;;;N;;;;;
-B797;HANGUL SYLLABLE RAH;Lo;0;L;;;;;N;;;;;
-B798;HANGUL SYLLABLE RAE;Lo;0;L;;;;;N;;;;;
-B799;HANGUL SYLLABLE RAEG;Lo;0;L;;;;;N;;;;;
-B79A;HANGUL SYLLABLE RAEGG;Lo;0;L;;;;;N;;;;;
-B79B;HANGUL SYLLABLE RAEGS;Lo;0;L;;;;;N;;;;;
-B79C;HANGUL SYLLABLE RAEN;Lo;0;L;;;;;N;;;;;
-B79D;HANGUL SYLLABLE RAENI;Lo;0;L;;;;;N;;;;;
-B79E;HANGUL SYLLABLE RAENH;Lo;0;L;;;;;N;;;;;
-B79F;HANGUL SYLLABLE RAED;Lo;0;L;;;;;N;;;;;
-B7A0;HANGUL SYLLABLE RAEL;Lo;0;L;;;;;N;;;;;
-B7A1;HANGUL SYLLABLE RAELG;Lo;0;L;;;;;N;;;;;
-B7A2;HANGUL SYLLABLE RAELM;Lo;0;L;;;;;N;;;;;
-B7A3;HANGUL SYLLABLE RAELB;Lo;0;L;;;;;N;;;;;
-B7A4;HANGUL SYLLABLE RAELS;Lo;0;L;;;;;N;;;;;
-B7A5;HANGUL SYLLABLE RAELT;Lo;0;L;;;;;N;;;;;
-B7A6;HANGUL SYLLABLE RAELP;Lo;0;L;;;;;N;;;;;
-B7A7;HANGUL SYLLABLE RAELH;Lo;0;L;;;;;N;;;;;
-B7A8;HANGUL SYLLABLE RAEM;Lo;0;L;;;;;N;;;;;
-B7A9;HANGUL SYLLABLE RAEB;Lo;0;L;;;;;N;;;;;
-B7AA;HANGUL SYLLABLE RAEBS;Lo;0;L;;;;;N;;;;;
-B7AB;HANGUL SYLLABLE RAES;Lo;0;L;;;;;N;;;;;
-B7AC;HANGUL SYLLABLE RAESS;Lo;0;L;;;;;N;;;;;
-B7AD;HANGUL SYLLABLE RAENG;Lo;0;L;;;;;N;;;;;
-B7AE;HANGUL SYLLABLE RAEJ;Lo;0;L;;;;;N;;;;;
-B7AF;HANGUL SYLLABLE RAEC;Lo;0;L;;;;;N;;;;;
-B7B0;HANGUL SYLLABLE RAEK;Lo;0;L;;;;;N;;;;;
-B7B1;HANGUL SYLLABLE RAET;Lo;0;L;;;;;N;;;;;
-B7B2;HANGUL SYLLABLE RAEP;Lo;0;L;;;;;N;;;;;
-B7B3;HANGUL SYLLABLE RAEH;Lo;0;L;;;;;N;;;;;
-B7B4;HANGUL SYLLABLE RYA;Lo;0;L;;;;;N;;;;;
-B7B5;HANGUL SYLLABLE RYAG;Lo;0;L;;;;;N;;;;;
-B7B6;HANGUL SYLLABLE RYAGG;Lo;0;L;;;;;N;;;;;
-B7B7;HANGUL SYLLABLE RYAGS;Lo;0;L;;;;;N;;;;;
-B7B8;HANGUL SYLLABLE RYAN;Lo;0;L;;;;;N;;;;;
-B7B9;HANGUL SYLLABLE RYANI;Lo;0;L;;;;;N;;;;;
-B7BA;HANGUL SYLLABLE RYANH;Lo;0;L;;;;;N;;;;;
-B7BB;HANGUL SYLLABLE RYAD;Lo;0;L;;;;;N;;;;;
-B7BC;HANGUL SYLLABLE RYAL;Lo;0;L;;;;;N;;;;;
-B7BD;HANGUL SYLLABLE RYALG;Lo;0;L;;;;;N;;;;;
-B7BE;HANGUL SYLLABLE RYALM;Lo;0;L;;;;;N;;;;;
-B7BF;HANGUL SYLLABLE RYALB;Lo;0;L;;;;;N;;;;;
-B7C0;HANGUL SYLLABLE RYALS;Lo;0;L;;;;;N;;;;;
-B7C1;HANGUL SYLLABLE RYALT;Lo;0;L;;;;;N;;;;;
-B7C2;HANGUL SYLLABLE RYALP;Lo;0;L;;;;;N;;;;;
-B7C3;HANGUL SYLLABLE RYALH;Lo;0;L;;;;;N;;;;;
-B7C4;HANGUL SYLLABLE RYAM;Lo;0;L;;;;;N;;;;;
-B7C5;HANGUL SYLLABLE RYAB;Lo;0;L;;;;;N;;;;;
-B7C6;HANGUL SYLLABLE RYABS;Lo;0;L;;;;;N;;;;;
-B7C7;HANGUL SYLLABLE RYAS;Lo;0;L;;;;;N;;;;;
-B7C8;HANGUL SYLLABLE RYASS;Lo;0;L;;;;;N;;;;;
-B7C9;HANGUL SYLLABLE RYANG;Lo;0;L;;;;;N;;;;;
-B7CA;HANGUL SYLLABLE RYAJ;Lo;0;L;;;;;N;;;;;
-B7CB;HANGUL SYLLABLE RYAC;Lo;0;L;;;;;N;;;;;
-B7CC;HANGUL SYLLABLE RYAK;Lo;0;L;;;;;N;;;;;
-B7CD;HANGUL SYLLABLE RYAT;Lo;0;L;;;;;N;;;;;
-B7CE;HANGUL SYLLABLE RYAP;Lo;0;L;;;;;N;;;;;
-B7CF;HANGUL SYLLABLE RYAH;Lo;0;L;;;;;N;;;;;
-B7D0;HANGUL SYLLABLE RYAE;Lo;0;L;;;;;N;;;;;
-B7D1;HANGUL SYLLABLE RYAEG;Lo;0;L;;;;;N;;;;;
-B7D2;HANGUL SYLLABLE RYAEGG;Lo;0;L;;;;;N;;;;;
-B7D3;HANGUL SYLLABLE RYAEGS;Lo;0;L;;;;;N;;;;;
-B7D4;HANGUL SYLLABLE RYAEN;Lo;0;L;;;;;N;;;;;
-B7D5;HANGUL SYLLABLE RYAENI;Lo;0;L;;;;;N;;;;;
-B7D6;HANGUL SYLLABLE RYAENH;Lo;0;L;;;;;N;;;;;
-B7D7;HANGUL SYLLABLE RYAED;Lo;0;L;;;;;N;;;;;
-B7D8;HANGUL SYLLABLE RYAEL;Lo;0;L;;;;;N;;;;;
-B7D9;HANGUL SYLLABLE RYAELG;Lo;0;L;;;;;N;;;;;
-B7DA;HANGUL SYLLABLE RYAELM;Lo;0;L;;;;;N;;;;;
-B7DB;HANGUL SYLLABLE RYAELB;Lo;0;L;;;;;N;;;;;
-B7DC;HANGUL SYLLABLE RYAELS;Lo;0;L;;;;;N;;;;;
-B7DD;HANGUL SYLLABLE RYAELT;Lo;0;L;;;;;N;;;;;
-B7DE;HANGUL SYLLABLE RYAELP;Lo;0;L;;;;;N;;;;;
-B7DF;HANGUL SYLLABLE RYAELH;Lo;0;L;;;;;N;;;;;
-B7E0;HANGUL SYLLABLE RYAEM;Lo;0;L;;;;;N;;;;;
-B7E1;HANGUL SYLLABLE RYAEB;Lo;0;L;;;;;N;;;;;
-B7E2;HANGUL SYLLABLE RYAEBS;Lo;0;L;;;;;N;;;;;
-B7E3;HANGUL SYLLABLE RYAES;Lo;0;L;;;;;N;;;;;
-B7E4;HANGUL SYLLABLE RYAESS;Lo;0;L;;;;;N;;;;;
-B7E5;HANGUL SYLLABLE RYAENG;Lo;0;L;;;;;N;;;;;
-B7E6;HANGUL SYLLABLE RYAEJ;Lo;0;L;;;;;N;;;;;
-B7E7;HANGUL SYLLABLE RYAEC;Lo;0;L;;;;;N;;;;;
-B7E8;HANGUL SYLLABLE RYAEK;Lo;0;L;;;;;N;;;;;
-B7E9;HANGUL SYLLABLE RYAET;Lo;0;L;;;;;N;;;;;
-B7EA;HANGUL SYLLABLE RYAEP;Lo;0;L;;;;;N;;;;;
-B7EB;HANGUL SYLLABLE RYAEH;Lo;0;L;;;;;N;;;;;
-B7EC;HANGUL SYLLABLE REO;Lo;0;L;;;;;N;;;;;
-B7ED;HANGUL SYLLABLE REOG;Lo;0;L;;;;;N;;;;;
-B7EE;HANGUL SYLLABLE REOGG;Lo;0;L;;;;;N;;;;;
-B7EF;HANGUL SYLLABLE REOGS;Lo;0;L;;;;;N;;;;;
-B7F0;HANGUL SYLLABLE REON;Lo;0;L;;;;;N;;;;;
-B7F1;HANGUL SYLLABLE REONI;Lo;0;L;;;;;N;;;;;
-B7F2;HANGUL SYLLABLE REONH;Lo;0;L;;;;;N;;;;;
-B7F3;HANGUL SYLLABLE REOD;Lo;0;L;;;;;N;;;;;
-B7F4;HANGUL SYLLABLE REOL;Lo;0;L;;;;;N;;;;;
-B7F5;HANGUL SYLLABLE REOLG;Lo;0;L;;;;;N;;;;;
-B7F6;HANGUL SYLLABLE REOLM;Lo;0;L;;;;;N;;;;;
-B7F7;HANGUL SYLLABLE REOLB;Lo;0;L;;;;;N;;;;;
-B7F8;HANGUL SYLLABLE REOLS;Lo;0;L;;;;;N;;;;;
-B7F9;HANGUL SYLLABLE REOLT;Lo;0;L;;;;;N;;;;;
-B7FA;HANGUL SYLLABLE REOLP;Lo;0;L;;;;;N;;;;;
-B7FB;HANGUL SYLLABLE REOLH;Lo;0;L;;;;;N;;;;;
-B7FC;HANGUL SYLLABLE REOM;Lo;0;L;;;;;N;;;;;
-B7FD;HANGUL SYLLABLE REOB;Lo;0;L;;;;;N;;;;;
-B7FE;HANGUL SYLLABLE REOBS;Lo;0;L;;;;;N;;;;;
-B7FF;HANGUL SYLLABLE REOS;Lo;0;L;;;;;N;;;;;
-B800;HANGUL SYLLABLE REOSS;Lo;0;L;;;;;N;;;;;
-B801;HANGUL SYLLABLE REONG;Lo;0;L;;;;;N;;;;;
-B802;HANGUL SYLLABLE REOJ;Lo;0;L;;;;;N;;;;;
-B803;HANGUL SYLLABLE REOC;Lo;0;L;;;;;N;;;;;
-B804;HANGUL SYLLABLE REOK;Lo;0;L;;;;;N;;;;;
-B805;HANGUL SYLLABLE REOT;Lo;0;L;;;;;N;;;;;
-B806;HANGUL SYLLABLE REOP;Lo;0;L;;;;;N;;;;;
-B807;HANGUL SYLLABLE REOH;Lo;0;L;;;;;N;;;;;
-B808;HANGUL SYLLABLE RE;Lo;0;L;;;;;N;;;;;
-B809;HANGUL SYLLABLE REG;Lo;0;L;;;;;N;;;;;
-B80A;HANGUL SYLLABLE REGG;Lo;0;L;;;;;N;;;;;
-B80B;HANGUL SYLLABLE REGS;Lo;0;L;;;;;N;;;;;
-B80C;HANGUL SYLLABLE REN;Lo;0;L;;;;;N;;;;;
-B80D;HANGUL SYLLABLE RENI;Lo;0;L;;;;;N;;;;;
-B80E;HANGUL SYLLABLE RENH;Lo;0;L;;;;;N;;;;;
-B80F;HANGUL SYLLABLE RED;Lo;0;L;;;;;N;;;;;
-B810;HANGUL SYLLABLE REL;Lo;0;L;;;;;N;;;;;
-B811;HANGUL SYLLABLE RELG;Lo;0;L;;;;;N;;;;;
-B812;HANGUL SYLLABLE RELM;Lo;0;L;;;;;N;;;;;
-B813;HANGUL SYLLABLE RELB;Lo;0;L;;;;;N;;;;;
-B814;HANGUL SYLLABLE RELS;Lo;0;L;;;;;N;;;;;
-B815;HANGUL SYLLABLE RELT;Lo;0;L;;;;;N;;;;;
-B816;HANGUL SYLLABLE RELP;Lo;0;L;;;;;N;;;;;
-B817;HANGUL SYLLABLE RELH;Lo;0;L;;;;;N;;;;;
-B818;HANGUL SYLLABLE REM;Lo;0;L;;;;;N;;;;;
-B819;HANGUL SYLLABLE REB;Lo;0;L;;;;;N;;;;;
-B81A;HANGUL SYLLABLE REBS;Lo;0;L;;;;;N;;;;;
-B81B;HANGUL SYLLABLE RES;Lo;0;L;;;;;N;;;;;
-B81C;HANGUL SYLLABLE RESS;Lo;0;L;;;;;N;;;;;
-B81D;HANGUL SYLLABLE RENG;Lo;0;L;;;;;N;;;;;
-B81E;HANGUL SYLLABLE REJ;Lo;0;L;;;;;N;;;;;
-B81F;HANGUL SYLLABLE REC;Lo;0;L;;;;;N;;;;;
-B820;HANGUL SYLLABLE REK;Lo;0;L;;;;;N;;;;;
-B821;HANGUL SYLLABLE RET;Lo;0;L;;;;;N;;;;;
-B822;HANGUL SYLLABLE REP;Lo;0;L;;;;;N;;;;;
-B823;HANGUL SYLLABLE REH;Lo;0;L;;;;;N;;;;;
-B824;HANGUL SYLLABLE RYEO;Lo;0;L;;;;;N;;;;;
-B825;HANGUL SYLLABLE RYEOG;Lo;0;L;;;;;N;;;;;
-B826;HANGUL SYLLABLE RYEOGG;Lo;0;L;;;;;N;;;;;
-B827;HANGUL SYLLABLE RYEOGS;Lo;0;L;;;;;N;;;;;
-B828;HANGUL SYLLABLE RYEON;Lo;0;L;;;;;N;;;;;
-B829;HANGUL SYLLABLE RYEONI;Lo;0;L;;;;;N;;;;;
-B82A;HANGUL SYLLABLE RYEONH;Lo;0;L;;;;;N;;;;;
-B82B;HANGUL SYLLABLE RYEOD;Lo;0;L;;;;;N;;;;;
-B82C;HANGUL SYLLABLE RYEOL;Lo;0;L;;;;;N;;;;;
-B82D;HANGUL SYLLABLE RYEOLG;Lo;0;L;;;;;N;;;;;
-B82E;HANGUL SYLLABLE RYEOLM;Lo;0;L;;;;;N;;;;;
-B82F;HANGUL SYLLABLE RYEOLB;Lo;0;L;;;;;N;;;;;
-B830;HANGUL SYLLABLE RYEOLS;Lo;0;L;;;;;N;;;;;
-B831;HANGUL SYLLABLE RYEOLT;Lo;0;L;;;;;N;;;;;
-B832;HANGUL SYLLABLE RYEOLP;Lo;0;L;;;;;N;;;;;
-B833;HANGUL SYLLABLE RYEOLH;Lo;0;L;;;;;N;;;;;
-B834;HANGUL SYLLABLE RYEOM;Lo;0;L;;;;;N;;;;;
-B835;HANGUL SYLLABLE RYEOB;Lo;0;L;;;;;N;;;;;
-B836;HANGUL SYLLABLE RYEOBS;Lo;0;L;;;;;N;;;;;
-B837;HANGUL SYLLABLE RYEOS;Lo;0;L;;;;;N;;;;;
-B838;HANGUL SYLLABLE RYEOSS;Lo;0;L;;;;;N;;;;;
-B839;HANGUL SYLLABLE RYEONG;Lo;0;L;;;;;N;;;;;
-B83A;HANGUL SYLLABLE RYEOJ;Lo;0;L;;;;;N;;;;;
-B83B;HANGUL SYLLABLE RYEOC;Lo;0;L;;;;;N;;;;;
-B83C;HANGUL SYLLABLE RYEOK;Lo;0;L;;;;;N;;;;;
-B83D;HANGUL SYLLABLE RYEOT;Lo;0;L;;;;;N;;;;;
-B83E;HANGUL SYLLABLE RYEOP;Lo;0;L;;;;;N;;;;;
-B83F;HANGUL SYLLABLE RYEOH;Lo;0;L;;;;;N;;;;;
-B840;HANGUL SYLLABLE RYE;Lo;0;L;;;;;N;;;;;
-B841;HANGUL SYLLABLE RYEG;Lo;0;L;;;;;N;;;;;
-B842;HANGUL SYLLABLE RYEGG;Lo;0;L;;;;;N;;;;;
-B843;HANGUL SYLLABLE RYEGS;Lo;0;L;;;;;N;;;;;
-B844;HANGUL SYLLABLE RYEN;Lo;0;L;;;;;N;;;;;
-B845;HANGUL SYLLABLE RYENI;Lo;0;L;;;;;N;;;;;
-B846;HANGUL SYLLABLE RYENH;Lo;0;L;;;;;N;;;;;
-B847;HANGUL SYLLABLE RYED;Lo;0;L;;;;;N;;;;;
-B848;HANGUL SYLLABLE RYEL;Lo;0;L;;;;;N;;;;;
-B849;HANGUL SYLLABLE RYELG;Lo;0;L;;;;;N;;;;;
-B84A;HANGUL SYLLABLE RYELM;Lo;0;L;;;;;N;;;;;
-B84B;HANGUL SYLLABLE RYELB;Lo;0;L;;;;;N;;;;;
-B84C;HANGUL SYLLABLE RYELS;Lo;0;L;;;;;N;;;;;
-B84D;HANGUL SYLLABLE RYELT;Lo;0;L;;;;;N;;;;;
-B84E;HANGUL SYLLABLE RYELP;Lo;0;L;;;;;N;;;;;
-B84F;HANGUL SYLLABLE RYELH;Lo;0;L;;;;;N;;;;;
-B850;HANGUL SYLLABLE RYEM;Lo;0;L;;;;;N;;;;;
-B851;HANGUL SYLLABLE RYEB;Lo;0;L;;;;;N;;;;;
-B852;HANGUL SYLLABLE RYEBS;Lo;0;L;;;;;N;;;;;
-B853;HANGUL SYLLABLE RYES;Lo;0;L;;;;;N;;;;;
-B854;HANGUL SYLLABLE RYESS;Lo;0;L;;;;;N;;;;;
-B855;HANGUL SYLLABLE RYENG;Lo;0;L;;;;;N;;;;;
-B856;HANGUL SYLLABLE RYEJ;Lo;0;L;;;;;N;;;;;
-B857;HANGUL SYLLABLE RYEC;Lo;0;L;;;;;N;;;;;
-B858;HANGUL SYLLABLE RYEK;Lo;0;L;;;;;N;;;;;
-B859;HANGUL SYLLABLE RYET;Lo;0;L;;;;;N;;;;;
-B85A;HANGUL SYLLABLE RYEP;Lo;0;L;;;;;N;;;;;
-B85B;HANGUL SYLLABLE RYEH;Lo;0;L;;;;;N;;;;;
-B85C;HANGUL SYLLABLE RO;Lo;0;L;;;;;N;;;;;
-B85D;HANGUL SYLLABLE ROG;Lo;0;L;;;;;N;;;;;
-B85E;HANGUL SYLLABLE ROGG;Lo;0;L;;;;;N;;;;;
-B85F;HANGUL SYLLABLE ROGS;Lo;0;L;;;;;N;;;;;
-B860;HANGUL SYLLABLE RON;Lo;0;L;;;;;N;;;;;
-B861;HANGUL SYLLABLE RONI;Lo;0;L;;;;;N;;;;;
-B862;HANGUL SYLLABLE RONH;Lo;0;L;;;;;N;;;;;
-B863;HANGUL SYLLABLE ROD;Lo;0;L;;;;;N;;;;;
-B864;HANGUL SYLLABLE ROL;Lo;0;L;;;;;N;;;;;
-B865;HANGUL SYLLABLE ROLG;Lo;0;L;;;;;N;;;;;
-B866;HANGUL SYLLABLE ROLM;Lo;0;L;;;;;N;;;;;
-B867;HANGUL SYLLABLE ROLB;Lo;0;L;;;;;N;;;;;
-B868;HANGUL SYLLABLE ROLS;Lo;0;L;;;;;N;;;;;
-B869;HANGUL SYLLABLE ROLT;Lo;0;L;;;;;N;;;;;
-B86A;HANGUL SYLLABLE ROLP;Lo;0;L;;;;;N;;;;;
-B86B;HANGUL SYLLABLE ROLH;Lo;0;L;;;;;N;;;;;
-B86C;HANGUL SYLLABLE ROM;Lo;0;L;;;;;N;;;;;
-B86D;HANGUL SYLLABLE ROB;Lo;0;L;;;;;N;;;;;
-B86E;HANGUL SYLLABLE ROBS;Lo;0;L;;;;;N;;;;;
-B86F;HANGUL SYLLABLE ROS;Lo;0;L;;;;;N;;;;;
-B870;HANGUL SYLLABLE ROSS;Lo;0;L;;;;;N;;;;;
-B871;HANGUL SYLLABLE RONG;Lo;0;L;;;;;N;;;;;
-B872;HANGUL SYLLABLE ROJ;Lo;0;L;;;;;N;;;;;
-B873;HANGUL SYLLABLE ROC;Lo;0;L;;;;;N;;;;;
-B874;HANGUL SYLLABLE ROK;Lo;0;L;;;;;N;;;;;
-B875;HANGUL SYLLABLE ROT;Lo;0;L;;;;;N;;;;;
-B876;HANGUL SYLLABLE ROP;Lo;0;L;;;;;N;;;;;
-B877;HANGUL SYLLABLE ROH;Lo;0;L;;;;;N;;;;;
-B878;HANGUL SYLLABLE RWA;Lo;0;L;;;;;N;;;;;
-B879;HANGUL SYLLABLE RWAG;Lo;0;L;;;;;N;;;;;
-B87A;HANGUL SYLLABLE RWAGG;Lo;0;L;;;;;N;;;;;
-B87B;HANGUL SYLLABLE RWAGS;Lo;0;L;;;;;N;;;;;
-B87C;HANGUL SYLLABLE RWAN;Lo;0;L;;;;;N;;;;;
-B87D;HANGUL SYLLABLE RWANI;Lo;0;L;;;;;N;;;;;
-B87E;HANGUL SYLLABLE RWANH;Lo;0;L;;;;;N;;;;;
-B87F;HANGUL SYLLABLE RWAD;Lo;0;L;;;;;N;;;;;
-B880;HANGUL SYLLABLE RWAL;Lo;0;L;;;;;N;;;;;
-B881;HANGUL SYLLABLE RWALG;Lo;0;L;;;;;N;;;;;
-B882;HANGUL SYLLABLE RWALM;Lo;0;L;;;;;N;;;;;
-B883;HANGUL SYLLABLE RWALB;Lo;0;L;;;;;N;;;;;
-B884;HANGUL SYLLABLE RWALS;Lo;0;L;;;;;N;;;;;
-B885;HANGUL SYLLABLE RWALT;Lo;0;L;;;;;N;;;;;
-B886;HANGUL SYLLABLE RWALP;Lo;0;L;;;;;N;;;;;
-B887;HANGUL SYLLABLE RWALH;Lo;0;L;;;;;N;;;;;
-B888;HANGUL SYLLABLE RWAM;Lo;0;L;;;;;N;;;;;
-B889;HANGUL SYLLABLE RWAB;Lo;0;L;;;;;N;;;;;
-B88A;HANGUL SYLLABLE RWABS;Lo;0;L;;;;;N;;;;;
-B88B;HANGUL SYLLABLE RWAS;Lo;0;L;;;;;N;;;;;
-B88C;HANGUL SYLLABLE RWASS;Lo;0;L;;;;;N;;;;;
-B88D;HANGUL SYLLABLE RWANG;Lo;0;L;;;;;N;;;;;
-B88E;HANGUL SYLLABLE RWAJ;Lo;0;L;;;;;N;;;;;
-B88F;HANGUL SYLLABLE RWAC;Lo;0;L;;;;;N;;;;;
-B890;HANGUL SYLLABLE RWAK;Lo;0;L;;;;;N;;;;;
-B891;HANGUL SYLLABLE RWAT;Lo;0;L;;;;;N;;;;;
-B892;HANGUL SYLLABLE RWAP;Lo;0;L;;;;;N;;;;;
-B893;HANGUL SYLLABLE RWAH;Lo;0;L;;;;;N;;;;;
-B894;HANGUL SYLLABLE RWAE;Lo;0;L;;;;;N;;;;;
-B895;HANGUL SYLLABLE RWAEG;Lo;0;L;;;;;N;;;;;
-B896;HANGUL SYLLABLE RWAEGG;Lo;0;L;;;;;N;;;;;
-B897;HANGUL SYLLABLE RWAEGS;Lo;0;L;;;;;N;;;;;
-B898;HANGUL SYLLABLE RWAEN;Lo;0;L;;;;;N;;;;;
-B899;HANGUL SYLLABLE RWAENI;Lo;0;L;;;;;N;;;;;
-B89A;HANGUL SYLLABLE RWAENH;Lo;0;L;;;;;N;;;;;
-B89B;HANGUL SYLLABLE RWAED;Lo;0;L;;;;;N;;;;;
-B89C;HANGUL SYLLABLE RWAEL;Lo;0;L;;;;;N;;;;;
-B89D;HANGUL SYLLABLE RWAELG;Lo;0;L;;;;;N;;;;;
-B89E;HANGUL SYLLABLE RWAELM;Lo;0;L;;;;;N;;;;;
-B89F;HANGUL SYLLABLE RWAELB;Lo;0;L;;;;;N;;;;;
-B8A0;HANGUL SYLLABLE RWAELS;Lo;0;L;;;;;N;;;;;
-B8A1;HANGUL SYLLABLE RWAELT;Lo;0;L;;;;;N;;;;;
-B8A2;HANGUL SYLLABLE RWAELP;Lo;0;L;;;;;N;;;;;
-B8A3;HANGUL SYLLABLE RWAELH;Lo;0;L;;;;;N;;;;;
-B8A4;HANGUL SYLLABLE RWAEM;Lo;0;L;;;;;N;;;;;
-B8A5;HANGUL SYLLABLE RWAEB;Lo;0;L;;;;;N;;;;;
-B8A6;HANGUL SYLLABLE RWAEBS;Lo;0;L;;;;;N;;;;;
-B8A7;HANGUL SYLLABLE RWAES;Lo;0;L;;;;;N;;;;;
-B8A8;HANGUL SYLLABLE RWAESS;Lo;0;L;;;;;N;;;;;
-B8A9;HANGUL SYLLABLE RWAENG;Lo;0;L;;;;;N;;;;;
-B8AA;HANGUL SYLLABLE RWAEJ;Lo;0;L;;;;;N;;;;;
-B8AB;HANGUL SYLLABLE RWAEC;Lo;0;L;;;;;N;;;;;
-B8AC;HANGUL SYLLABLE RWAEK;Lo;0;L;;;;;N;;;;;
-B8AD;HANGUL SYLLABLE RWAET;Lo;0;L;;;;;N;;;;;
-B8AE;HANGUL SYLLABLE RWAEP;Lo;0;L;;;;;N;;;;;
-B8AF;HANGUL SYLLABLE RWAEH;Lo;0;L;;;;;N;;;;;
-B8B0;HANGUL SYLLABLE ROE;Lo;0;L;;;;;N;;;;;
-B8B1;HANGUL SYLLABLE ROEG;Lo;0;L;;;;;N;;;;;
-B8B2;HANGUL SYLLABLE ROEGG;Lo;0;L;;;;;N;;;;;
-B8B3;HANGUL SYLLABLE ROEGS;Lo;0;L;;;;;N;;;;;
-B8B4;HANGUL SYLLABLE ROEN;Lo;0;L;;;;;N;;;;;
-B8B5;HANGUL SYLLABLE ROENI;Lo;0;L;;;;;N;;;;;
-B8B6;HANGUL SYLLABLE ROENH;Lo;0;L;;;;;N;;;;;
-B8B7;HANGUL SYLLABLE ROED;Lo;0;L;;;;;N;;;;;
-B8B8;HANGUL SYLLABLE ROEL;Lo;0;L;;;;;N;;;;;
-B8B9;HANGUL SYLLABLE ROELG;Lo;0;L;;;;;N;;;;;
-B8BA;HANGUL SYLLABLE ROELM;Lo;0;L;;;;;N;;;;;
-B8BB;HANGUL SYLLABLE ROELB;Lo;0;L;;;;;N;;;;;
-B8BC;HANGUL SYLLABLE ROELS;Lo;0;L;;;;;N;;;;;
-B8BD;HANGUL SYLLABLE ROELT;Lo;0;L;;;;;N;;;;;
-B8BE;HANGUL SYLLABLE ROELP;Lo;0;L;;;;;N;;;;;
-B8BF;HANGUL SYLLABLE ROELH;Lo;0;L;;;;;N;;;;;
-B8C0;HANGUL SYLLABLE ROEM;Lo;0;L;;;;;N;;;;;
-B8C1;HANGUL SYLLABLE ROEB;Lo;0;L;;;;;N;;;;;
-B8C2;HANGUL SYLLABLE ROEBS;Lo;0;L;;;;;N;;;;;
-B8C3;HANGUL SYLLABLE ROES;Lo;0;L;;;;;N;;;;;
-B8C4;HANGUL SYLLABLE ROESS;Lo;0;L;;;;;N;;;;;
-B8C5;HANGUL SYLLABLE ROENG;Lo;0;L;;;;;N;;;;;
-B8C6;HANGUL SYLLABLE ROEJ;Lo;0;L;;;;;N;;;;;
-B8C7;HANGUL SYLLABLE ROEC;Lo;0;L;;;;;N;;;;;
-B8C8;HANGUL SYLLABLE ROEK;Lo;0;L;;;;;N;;;;;
-B8C9;HANGUL SYLLABLE ROET;Lo;0;L;;;;;N;;;;;
-B8CA;HANGUL SYLLABLE ROEP;Lo;0;L;;;;;N;;;;;
-B8CB;HANGUL SYLLABLE ROEH;Lo;0;L;;;;;N;;;;;
-B8CC;HANGUL SYLLABLE RYO;Lo;0;L;;;;;N;;;;;
-B8CD;HANGUL SYLLABLE RYOG;Lo;0;L;;;;;N;;;;;
-B8CE;HANGUL SYLLABLE RYOGG;Lo;0;L;;;;;N;;;;;
-B8CF;HANGUL SYLLABLE RYOGS;Lo;0;L;;;;;N;;;;;
-B8D0;HANGUL SYLLABLE RYON;Lo;0;L;;;;;N;;;;;
-B8D1;HANGUL SYLLABLE RYONI;Lo;0;L;;;;;N;;;;;
-B8D2;HANGUL SYLLABLE RYONH;Lo;0;L;;;;;N;;;;;
-B8D3;HANGUL SYLLABLE RYOD;Lo;0;L;;;;;N;;;;;
-B8D4;HANGUL SYLLABLE RYOL;Lo;0;L;;;;;N;;;;;
-B8D5;HANGUL SYLLABLE RYOLG;Lo;0;L;;;;;N;;;;;
-B8D6;HANGUL SYLLABLE RYOLM;Lo;0;L;;;;;N;;;;;
-B8D7;HANGUL SYLLABLE RYOLB;Lo;0;L;;;;;N;;;;;
-B8D8;HANGUL SYLLABLE RYOLS;Lo;0;L;;;;;N;;;;;
-B8D9;HANGUL SYLLABLE RYOLT;Lo;0;L;;;;;N;;;;;
-B8DA;HANGUL SYLLABLE RYOLP;Lo;0;L;;;;;N;;;;;
-B8DB;HANGUL SYLLABLE RYOLH;Lo;0;L;;;;;N;;;;;
-B8DC;HANGUL SYLLABLE RYOM;Lo;0;L;;;;;N;;;;;
-B8DD;HANGUL SYLLABLE RYOB;Lo;0;L;;;;;N;;;;;
-B8DE;HANGUL SYLLABLE RYOBS;Lo;0;L;;;;;N;;;;;
-B8DF;HANGUL SYLLABLE RYOS;Lo;0;L;;;;;N;;;;;
-B8E0;HANGUL SYLLABLE RYOSS;Lo;0;L;;;;;N;;;;;
-B8E1;HANGUL SYLLABLE RYONG;Lo;0;L;;;;;N;;;;;
-B8E2;HANGUL SYLLABLE RYOJ;Lo;0;L;;;;;N;;;;;
-B8E3;HANGUL SYLLABLE RYOC;Lo;0;L;;;;;N;;;;;
-B8E4;HANGUL SYLLABLE RYOK;Lo;0;L;;;;;N;;;;;
-B8E5;HANGUL SYLLABLE RYOT;Lo;0;L;;;;;N;;;;;
-B8E6;HANGUL SYLLABLE RYOP;Lo;0;L;;;;;N;;;;;
-B8E7;HANGUL SYLLABLE RYOH;Lo;0;L;;;;;N;;;;;
-B8E8;HANGUL SYLLABLE RU;Lo;0;L;;;;;N;;;;;
-B8E9;HANGUL SYLLABLE RUG;Lo;0;L;;;;;N;;;;;
-B8EA;HANGUL SYLLABLE RUGG;Lo;0;L;;;;;N;;;;;
-B8EB;HANGUL SYLLABLE RUGS;Lo;0;L;;;;;N;;;;;
-B8EC;HANGUL SYLLABLE RUN;Lo;0;L;;;;;N;;;;;
-B8ED;HANGUL SYLLABLE RUNI;Lo;0;L;;;;;N;;;;;
-B8EE;HANGUL SYLLABLE RUNH;Lo;0;L;;;;;N;;;;;
-B8EF;HANGUL SYLLABLE RUD;Lo;0;L;;;;;N;;;;;
-B8F0;HANGUL SYLLABLE RUL;Lo;0;L;;;;;N;;;;;
-B8F1;HANGUL SYLLABLE RULG;Lo;0;L;;;;;N;;;;;
-B8F2;HANGUL SYLLABLE RULM;Lo;0;L;;;;;N;;;;;
-B8F3;HANGUL SYLLABLE RULB;Lo;0;L;;;;;N;;;;;
-B8F4;HANGUL SYLLABLE RULS;Lo;0;L;;;;;N;;;;;
-B8F5;HANGUL SYLLABLE RULT;Lo;0;L;;;;;N;;;;;
-B8F6;HANGUL SYLLABLE RULP;Lo;0;L;;;;;N;;;;;
-B8F7;HANGUL SYLLABLE RULH;Lo;0;L;;;;;N;;;;;
-B8F8;HANGUL SYLLABLE RUM;Lo;0;L;;;;;N;;;;;
-B8F9;HANGUL SYLLABLE RUB;Lo;0;L;;;;;N;;;;;
-B8FA;HANGUL SYLLABLE RUBS;Lo;0;L;;;;;N;;;;;
-B8FB;HANGUL SYLLABLE RUS;Lo;0;L;;;;;N;;;;;
-B8FC;HANGUL SYLLABLE RUSS;Lo;0;L;;;;;N;;;;;
-B8FD;HANGUL SYLLABLE RUNG;Lo;0;L;;;;;N;;;;;
-B8FE;HANGUL SYLLABLE RUJ;Lo;0;L;;;;;N;;;;;
-B8FF;HANGUL SYLLABLE RUC;Lo;0;L;;;;;N;;;;;
-B900;HANGUL SYLLABLE RUK;Lo;0;L;;;;;N;;;;;
-B901;HANGUL SYLLABLE RUT;Lo;0;L;;;;;N;;;;;
-B902;HANGUL SYLLABLE RUP;Lo;0;L;;;;;N;;;;;
-B903;HANGUL SYLLABLE RUH;Lo;0;L;;;;;N;;;;;
-B904;HANGUL SYLLABLE RWEO;Lo;0;L;;;;;N;;;;;
-B905;HANGUL SYLLABLE RWEOG;Lo;0;L;;;;;N;;;;;
-B906;HANGUL SYLLABLE RWEOGG;Lo;0;L;;;;;N;;;;;
-B907;HANGUL SYLLABLE RWEOGS;Lo;0;L;;;;;N;;;;;
-B908;HANGUL SYLLABLE RWEON;Lo;0;L;;;;;N;;;;;
-B909;HANGUL SYLLABLE RWEONI;Lo;0;L;;;;;N;;;;;
-B90A;HANGUL SYLLABLE RWEONH;Lo;0;L;;;;;N;;;;;
-B90B;HANGUL SYLLABLE RWEOD;Lo;0;L;;;;;N;;;;;
-B90C;HANGUL SYLLABLE RWEOL;Lo;0;L;;;;;N;;;;;
-B90D;HANGUL SYLLABLE RWEOLG;Lo;0;L;;;;;N;;;;;
-B90E;HANGUL SYLLABLE RWEOLM;Lo;0;L;;;;;N;;;;;
-B90F;HANGUL SYLLABLE RWEOLB;Lo;0;L;;;;;N;;;;;
-B910;HANGUL SYLLABLE RWEOLS;Lo;0;L;;;;;N;;;;;
-B911;HANGUL SYLLABLE RWEOLT;Lo;0;L;;;;;N;;;;;
-B912;HANGUL SYLLABLE RWEOLP;Lo;0;L;;;;;N;;;;;
-B913;HANGUL SYLLABLE RWEOLH;Lo;0;L;;;;;N;;;;;
-B914;HANGUL SYLLABLE RWEOM;Lo;0;L;;;;;N;;;;;
-B915;HANGUL SYLLABLE RWEOB;Lo;0;L;;;;;N;;;;;
-B916;HANGUL SYLLABLE RWEOBS;Lo;0;L;;;;;N;;;;;
-B917;HANGUL SYLLABLE RWEOS;Lo;0;L;;;;;N;;;;;
-B918;HANGUL SYLLABLE RWEOSS;Lo;0;L;;;;;N;;;;;
-B919;HANGUL SYLLABLE RWEONG;Lo;0;L;;;;;N;;;;;
-B91A;HANGUL SYLLABLE RWEOJ;Lo;0;L;;;;;N;;;;;
-B91B;HANGUL SYLLABLE RWEOC;Lo;0;L;;;;;N;;;;;
-B91C;HANGUL SYLLABLE RWEOK;Lo;0;L;;;;;N;;;;;
-B91D;HANGUL SYLLABLE RWEOT;Lo;0;L;;;;;N;;;;;
-B91E;HANGUL SYLLABLE RWEOP;Lo;0;L;;;;;N;;;;;
-B91F;HANGUL SYLLABLE RWEOH;Lo;0;L;;;;;N;;;;;
-B920;HANGUL SYLLABLE RWE;Lo;0;L;;;;;N;;;;;
-B921;HANGUL SYLLABLE RWEG;Lo;0;L;;;;;N;;;;;
-B922;HANGUL SYLLABLE RWEGG;Lo;0;L;;;;;N;;;;;
-B923;HANGUL SYLLABLE RWEGS;Lo;0;L;;;;;N;;;;;
-B924;HANGUL SYLLABLE RWEN;Lo;0;L;;;;;N;;;;;
-B925;HANGUL SYLLABLE RWENI;Lo;0;L;;;;;N;;;;;
-B926;HANGUL SYLLABLE RWENH;Lo;0;L;;;;;N;;;;;
-B927;HANGUL SYLLABLE RWED;Lo;0;L;;;;;N;;;;;
-B928;HANGUL SYLLABLE RWEL;Lo;0;L;;;;;N;;;;;
-B929;HANGUL SYLLABLE RWELG;Lo;0;L;;;;;N;;;;;
-B92A;HANGUL SYLLABLE RWELM;Lo;0;L;;;;;N;;;;;
-B92B;HANGUL SYLLABLE RWELB;Lo;0;L;;;;;N;;;;;
-B92C;HANGUL SYLLABLE RWELS;Lo;0;L;;;;;N;;;;;
-B92D;HANGUL SYLLABLE RWELT;Lo;0;L;;;;;N;;;;;
-B92E;HANGUL SYLLABLE RWELP;Lo;0;L;;;;;N;;;;;
-B92F;HANGUL SYLLABLE RWELH;Lo;0;L;;;;;N;;;;;
-B930;HANGUL SYLLABLE RWEM;Lo;0;L;;;;;N;;;;;
-B931;HANGUL SYLLABLE RWEB;Lo;0;L;;;;;N;;;;;
-B932;HANGUL SYLLABLE RWEBS;Lo;0;L;;;;;N;;;;;
-B933;HANGUL SYLLABLE RWES;Lo;0;L;;;;;N;;;;;
-B934;HANGUL SYLLABLE RWESS;Lo;0;L;;;;;N;;;;;
-B935;HANGUL SYLLABLE RWENG;Lo;0;L;;;;;N;;;;;
-B936;HANGUL SYLLABLE RWEJ;Lo;0;L;;;;;N;;;;;
-B937;HANGUL SYLLABLE RWEC;Lo;0;L;;;;;N;;;;;
-B938;HANGUL SYLLABLE RWEK;Lo;0;L;;;;;N;;;;;
-B939;HANGUL SYLLABLE RWET;Lo;0;L;;;;;N;;;;;
-B93A;HANGUL SYLLABLE RWEP;Lo;0;L;;;;;N;;;;;
-B93B;HANGUL SYLLABLE RWEH;Lo;0;L;;;;;N;;;;;
-B93C;HANGUL SYLLABLE RWI;Lo;0;L;;;;;N;;;;;
-B93D;HANGUL SYLLABLE RWIG;Lo;0;L;;;;;N;;;;;
-B93E;HANGUL SYLLABLE RWIGG;Lo;0;L;;;;;N;;;;;
-B93F;HANGUL SYLLABLE RWIGS;Lo;0;L;;;;;N;;;;;
-B940;HANGUL SYLLABLE RWIN;Lo;0;L;;;;;N;;;;;
-B941;HANGUL SYLLABLE RWINI;Lo;0;L;;;;;N;;;;;
-B942;HANGUL SYLLABLE RWINH;Lo;0;L;;;;;N;;;;;
-B943;HANGUL SYLLABLE RWID;Lo;0;L;;;;;N;;;;;
-B944;HANGUL SYLLABLE RWIL;Lo;0;L;;;;;N;;;;;
-B945;HANGUL SYLLABLE RWILG;Lo;0;L;;;;;N;;;;;
-B946;HANGUL SYLLABLE RWILM;Lo;0;L;;;;;N;;;;;
-B947;HANGUL SYLLABLE RWILB;Lo;0;L;;;;;N;;;;;
-B948;HANGUL SYLLABLE RWILS;Lo;0;L;;;;;N;;;;;
-B949;HANGUL SYLLABLE RWILT;Lo;0;L;;;;;N;;;;;
-B94A;HANGUL SYLLABLE RWILP;Lo;0;L;;;;;N;;;;;
-B94B;HANGUL SYLLABLE RWILH;Lo;0;L;;;;;N;;;;;
-B94C;HANGUL SYLLABLE RWIM;Lo;0;L;;;;;N;;;;;
-B94D;HANGUL SYLLABLE RWIB;Lo;0;L;;;;;N;;;;;
-B94E;HANGUL SYLLABLE RWIBS;Lo;0;L;;;;;N;;;;;
-B94F;HANGUL SYLLABLE RWIS;Lo;0;L;;;;;N;;;;;
-B950;HANGUL SYLLABLE RWISS;Lo;0;L;;;;;N;;;;;
-B951;HANGUL SYLLABLE RWING;Lo;0;L;;;;;N;;;;;
-B952;HANGUL SYLLABLE RWIJ;Lo;0;L;;;;;N;;;;;
-B953;HANGUL SYLLABLE RWIC;Lo;0;L;;;;;N;;;;;
-B954;HANGUL SYLLABLE RWIK;Lo;0;L;;;;;N;;;;;
-B955;HANGUL SYLLABLE RWIT;Lo;0;L;;;;;N;;;;;
-B956;HANGUL SYLLABLE RWIP;Lo;0;L;;;;;N;;;;;
-B957;HANGUL SYLLABLE RWIH;Lo;0;L;;;;;N;;;;;
-B958;HANGUL SYLLABLE RYU;Lo;0;L;;;;;N;;;;;
-B959;HANGUL SYLLABLE RYUG;Lo;0;L;;;;;N;;;;;
-B95A;HANGUL SYLLABLE RYUGG;Lo;0;L;;;;;N;;;;;
-B95B;HANGUL SYLLABLE RYUGS;Lo;0;L;;;;;N;;;;;
-B95C;HANGUL SYLLABLE RYUN;Lo;0;L;;;;;N;;;;;
-B95D;HANGUL SYLLABLE RYUNI;Lo;0;L;;;;;N;;;;;
-B95E;HANGUL SYLLABLE RYUNH;Lo;0;L;;;;;N;;;;;
-B95F;HANGUL SYLLABLE RYUD;Lo;0;L;;;;;N;;;;;
-B960;HANGUL SYLLABLE RYUL;Lo;0;L;;;;;N;;;;;
-B961;HANGUL SYLLABLE RYULG;Lo;0;L;;;;;N;;;;;
-B962;HANGUL SYLLABLE RYULM;Lo;0;L;;;;;N;;;;;
-B963;HANGUL SYLLABLE RYULB;Lo;0;L;;;;;N;;;;;
-B964;HANGUL SYLLABLE RYULS;Lo;0;L;;;;;N;;;;;
-B965;HANGUL SYLLABLE RYULT;Lo;0;L;;;;;N;;;;;
-B966;HANGUL SYLLABLE RYULP;Lo;0;L;;;;;N;;;;;
-B967;HANGUL SYLLABLE RYULH;Lo;0;L;;;;;N;;;;;
-B968;HANGUL SYLLABLE RYUM;Lo;0;L;;;;;N;;;;;
-B969;HANGUL SYLLABLE RYUB;Lo;0;L;;;;;N;;;;;
-B96A;HANGUL SYLLABLE RYUBS;Lo;0;L;;;;;N;;;;;
-B96B;HANGUL SYLLABLE RYUS;Lo;0;L;;;;;N;;;;;
-B96C;HANGUL SYLLABLE RYUSS;Lo;0;L;;;;;N;;;;;
-B96D;HANGUL SYLLABLE RYUNG;Lo;0;L;;;;;N;;;;;
-B96E;HANGUL SYLLABLE RYUJ;Lo;0;L;;;;;N;;;;;
-B96F;HANGUL SYLLABLE RYUC;Lo;0;L;;;;;N;;;;;
-B970;HANGUL SYLLABLE RYUK;Lo;0;L;;;;;N;;;;;
-B971;HANGUL SYLLABLE RYUT;Lo;0;L;;;;;N;;;;;
-B972;HANGUL SYLLABLE RYUP;Lo;0;L;;;;;N;;;;;
-B973;HANGUL SYLLABLE RYUH;Lo;0;L;;;;;N;;;;;
-B974;HANGUL SYLLABLE REU;Lo;0;L;;;;;N;;;;;
-B975;HANGUL SYLLABLE REUG;Lo;0;L;;;;;N;;;;;
-B976;HANGUL SYLLABLE REUGG;Lo;0;L;;;;;N;;;;;
-B977;HANGUL SYLLABLE REUGS;Lo;0;L;;;;;N;;;;;
-B978;HANGUL SYLLABLE REUN;Lo;0;L;;;;;N;;;;;
-B979;HANGUL SYLLABLE REUNI;Lo;0;L;;;;;N;;;;;
-B97A;HANGUL SYLLABLE REUNH;Lo;0;L;;;;;N;;;;;
-B97B;HANGUL SYLLABLE REUD;Lo;0;L;;;;;N;;;;;
-B97C;HANGUL SYLLABLE REUL;Lo;0;L;;;;;N;;;;;
-B97D;HANGUL SYLLABLE REULG;Lo;0;L;;;;;N;;;;;
-B97E;HANGUL SYLLABLE REULM;Lo;0;L;;;;;N;;;;;
-B97F;HANGUL SYLLABLE REULB;Lo;0;L;;;;;N;;;;;
-B980;HANGUL SYLLABLE REULS;Lo;0;L;;;;;N;;;;;
-B981;HANGUL SYLLABLE REULT;Lo;0;L;;;;;N;;;;;
-B982;HANGUL SYLLABLE REULP;Lo;0;L;;;;;N;;;;;
-B983;HANGUL SYLLABLE REULH;Lo;0;L;;;;;N;;;;;
-B984;HANGUL SYLLABLE REUM;Lo;0;L;;;;;N;;;;;
-B985;HANGUL SYLLABLE REUB;Lo;0;L;;;;;N;;;;;
-B986;HANGUL SYLLABLE REUBS;Lo;0;L;;;;;N;;;;;
-B987;HANGUL SYLLABLE REUS;Lo;0;L;;;;;N;;;;;
-B988;HANGUL SYLLABLE REUSS;Lo;0;L;;;;;N;;;;;
-B989;HANGUL SYLLABLE REUNG;Lo;0;L;;;;;N;;;;;
-B98A;HANGUL SYLLABLE REUJ;Lo;0;L;;;;;N;;;;;
-B98B;HANGUL SYLLABLE REUC;Lo;0;L;;;;;N;;;;;
-B98C;HANGUL SYLLABLE REUK;Lo;0;L;;;;;N;;;;;
-B98D;HANGUL SYLLABLE REUT;Lo;0;L;;;;;N;;;;;
-B98E;HANGUL SYLLABLE REUP;Lo;0;L;;;;;N;;;;;
-B98F;HANGUL SYLLABLE REUH;Lo;0;L;;;;;N;;;;;
-B990;HANGUL SYLLABLE RYI;Lo;0;L;;;;;N;;;;;
-B991;HANGUL SYLLABLE RYIG;Lo;0;L;;;;;N;;;;;
-B992;HANGUL SYLLABLE RYIGG;Lo;0;L;;;;;N;;;;;
-B993;HANGUL SYLLABLE RYIGS;Lo;0;L;;;;;N;;;;;
-B994;HANGUL SYLLABLE RYIN;Lo;0;L;;;;;N;;;;;
-B995;HANGUL SYLLABLE RYINI;Lo;0;L;;;;;N;;;;;
-B996;HANGUL SYLLABLE RYINH;Lo;0;L;;;;;N;;;;;
-B997;HANGUL SYLLABLE RYID;Lo;0;L;;;;;N;;;;;
-B998;HANGUL SYLLABLE RYIL;Lo;0;L;;;;;N;;;;;
-B999;HANGUL SYLLABLE RYILG;Lo;0;L;;;;;N;;;;;
-B99A;HANGUL SYLLABLE RYILM;Lo;0;L;;;;;N;;;;;
-B99B;HANGUL SYLLABLE RYILB;Lo;0;L;;;;;N;;;;;
-B99C;HANGUL SYLLABLE RYILS;Lo;0;L;;;;;N;;;;;
-B99D;HANGUL SYLLABLE RYILT;Lo;0;L;;;;;N;;;;;
-B99E;HANGUL SYLLABLE RYILP;Lo;0;L;;;;;N;;;;;
-B99F;HANGUL SYLLABLE RYILH;Lo;0;L;;;;;N;;;;;
-B9A0;HANGUL SYLLABLE RYIM;Lo;0;L;;;;;N;;;;;
-B9A1;HANGUL SYLLABLE RYIB;Lo;0;L;;;;;N;;;;;
-B9A2;HANGUL SYLLABLE RYIBS;Lo;0;L;;;;;N;;;;;
-B9A3;HANGUL SYLLABLE RYIS;Lo;0;L;;;;;N;;;;;
-B9A4;HANGUL SYLLABLE RYISS;Lo;0;L;;;;;N;;;;;
-B9A5;HANGUL SYLLABLE RYING;Lo;0;L;;;;;N;;;;;
-B9A6;HANGUL SYLLABLE RYIJ;Lo;0;L;;;;;N;;;;;
-B9A7;HANGUL SYLLABLE RYIC;Lo;0;L;;;;;N;;;;;
-B9A8;HANGUL SYLLABLE RYIK;Lo;0;L;;;;;N;;;;;
-B9A9;HANGUL SYLLABLE RYIT;Lo;0;L;;;;;N;;;;;
-B9AA;HANGUL SYLLABLE RYIP;Lo;0;L;;;;;N;;;;;
-B9AB;HANGUL SYLLABLE RYIH;Lo;0;L;;;;;N;;;;;
-B9AC;HANGUL SYLLABLE RI;Lo;0;L;;;;;N;;;;;
-B9AD;HANGUL SYLLABLE RIG;Lo;0;L;;;;;N;;;;;
-B9AE;HANGUL SYLLABLE RIGG;Lo;0;L;;;;;N;;;;;
-B9AF;HANGUL SYLLABLE RIGS;Lo;0;L;;;;;N;;;;;
-B9B0;HANGUL SYLLABLE RIN;Lo;0;L;;;;;N;;;;;
-B9B1;HANGUL SYLLABLE RINI;Lo;0;L;;;;;N;;;;;
-B9B2;HANGUL SYLLABLE RINH;Lo;0;L;;;;;N;;;;;
-B9B3;HANGUL SYLLABLE RID;Lo;0;L;;;;;N;;;;;
-B9B4;HANGUL SYLLABLE RIL;Lo;0;L;;;;;N;;;;;
-B9B5;HANGUL SYLLABLE RILG;Lo;0;L;;;;;N;;;;;
-B9B6;HANGUL SYLLABLE RILM;Lo;0;L;;;;;N;;;;;
-B9B7;HANGUL SYLLABLE RILB;Lo;0;L;;;;;N;;;;;
-B9B8;HANGUL SYLLABLE RILS;Lo;0;L;;;;;N;;;;;
-B9B9;HANGUL SYLLABLE RILT;Lo;0;L;;;;;N;;;;;
-B9BA;HANGUL SYLLABLE RILP;Lo;0;L;;;;;N;;;;;
-B9BB;HANGUL SYLLABLE RILH;Lo;0;L;;;;;N;;;;;
-B9BC;HANGUL SYLLABLE RIM;Lo;0;L;;;;;N;;;;;
-B9BD;HANGUL SYLLABLE RIB;Lo;0;L;;;;;N;;;;;
-B9BE;HANGUL SYLLABLE RIBS;Lo;0;L;;;;;N;;;;;
-B9BF;HANGUL SYLLABLE RIS;Lo;0;L;;;;;N;;;;;
-B9C0;HANGUL SYLLABLE RISS;Lo;0;L;;;;;N;;;;;
-B9C1;HANGUL SYLLABLE RING;Lo;0;L;;;;;N;;;;;
-B9C2;HANGUL SYLLABLE RIJ;Lo;0;L;;;;;N;;;;;
-B9C3;HANGUL SYLLABLE RIC;Lo;0;L;;;;;N;;;;;
-B9C4;HANGUL SYLLABLE RIK;Lo;0;L;;;;;N;;;;;
-B9C5;HANGUL SYLLABLE RIT;Lo;0;L;;;;;N;;;;;
-B9C6;HANGUL SYLLABLE RIP;Lo;0;L;;;;;N;;;;;
-B9C7;HANGUL SYLLABLE RIH;Lo;0;L;;;;;N;;;;;
-B9C8;HANGUL SYLLABLE MA;Lo;0;L;;;;;N;;;;;
-B9C9;HANGUL SYLLABLE MAG;Lo;0;L;;;;;N;;;;;
-B9CA;HANGUL SYLLABLE MAGG;Lo;0;L;;;;;N;;;;;
-B9CB;HANGUL SYLLABLE MAGS;Lo;0;L;;;;;N;;;;;
-B9CC;HANGUL SYLLABLE MAN;Lo;0;L;;;;;N;;;;;
-B9CD;HANGUL SYLLABLE MANI;Lo;0;L;;;;;N;;;;;
-B9CE;HANGUL SYLLABLE MANH;Lo;0;L;;;;;N;;;;;
-B9CF;HANGUL SYLLABLE MAD;Lo;0;L;;;;;N;;;;;
-B9D0;HANGUL SYLLABLE MAL;Lo;0;L;;;;;N;;;;;
-B9D1;HANGUL SYLLABLE MALG;Lo;0;L;;;;;N;;;;;
-B9D2;HANGUL SYLLABLE MALM;Lo;0;L;;;;;N;;;;;
-B9D3;HANGUL SYLLABLE MALB;Lo;0;L;;;;;N;;;;;
-B9D4;HANGUL SYLLABLE MALS;Lo;0;L;;;;;N;;;;;
-B9D5;HANGUL SYLLABLE MALT;Lo;0;L;;;;;N;;;;;
-B9D6;HANGUL SYLLABLE MALP;Lo;0;L;;;;;N;;;;;
-B9D7;HANGUL SYLLABLE MALH;Lo;0;L;;;;;N;;;;;
-B9D8;HANGUL SYLLABLE MAM;Lo;0;L;;;;;N;;;;;
-B9D9;HANGUL SYLLABLE MAB;Lo;0;L;;;;;N;;;;;
-B9DA;HANGUL SYLLABLE MABS;Lo;0;L;;;;;N;;;;;
-B9DB;HANGUL SYLLABLE MAS;Lo;0;L;;;;;N;;;;;
-B9DC;HANGUL SYLLABLE MASS;Lo;0;L;;;;;N;;;;;
-B9DD;HANGUL SYLLABLE MANG;Lo;0;L;;;;;N;;;;;
-B9DE;HANGUL SYLLABLE MAJ;Lo;0;L;;;;;N;;;;;
-B9DF;HANGUL SYLLABLE MAC;Lo;0;L;;;;;N;;;;;
-B9E0;HANGUL SYLLABLE MAK;Lo;0;L;;;;;N;;;;;
-B9E1;HANGUL SYLLABLE MAT;Lo;0;L;;;;;N;;;;;
-B9E2;HANGUL SYLLABLE MAP;Lo;0;L;;;;;N;;;;;
-B9E3;HANGUL SYLLABLE MAH;Lo;0;L;;;;;N;;;;;
-B9E4;HANGUL SYLLABLE MAE;Lo;0;L;;;;;N;;;;;
-B9E5;HANGUL SYLLABLE MAEG;Lo;0;L;;;;;N;;;;;
-B9E6;HANGUL SYLLABLE MAEGG;Lo;0;L;;;;;N;;;;;
-B9E7;HANGUL SYLLABLE MAEGS;Lo;0;L;;;;;N;;;;;
-B9E8;HANGUL SYLLABLE MAEN;Lo;0;L;;;;;N;;;;;
-B9E9;HANGUL SYLLABLE MAENI;Lo;0;L;;;;;N;;;;;
-B9EA;HANGUL SYLLABLE MAENH;Lo;0;L;;;;;N;;;;;
-B9EB;HANGUL SYLLABLE MAED;Lo;0;L;;;;;N;;;;;
-B9EC;HANGUL SYLLABLE MAEL;Lo;0;L;;;;;N;;;;;
-B9ED;HANGUL SYLLABLE MAELG;Lo;0;L;;;;;N;;;;;
-B9EE;HANGUL SYLLABLE MAELM;Lo;0;L;;;;;N;;;;;
-B9EF;HANGUL SYLLABLE MAELB;Lo;0;L;;;;;N;;;;;
-B9F0;HANGUL SYLLABLE MAELS;Lo;0;L;;;;;N;;;;;
-B9F1;HANGUL SYLLABLE MAELT;Lo;0;L;;;;;N;;;;;
-B9F2;HANGUL SYLLABLE MAELP;Lo;0;L;;;;;N;;;;;
-B9F3;HANGUL SYLLABLE MAELH;Lo;0;L;;;;;N;;;;;
-B9F4;HANGUL SYLLABLE MAEM;Lo;0;L;;;;;N;;;;;
-B9F5;HANGUL SYLLABLE MAEB;Lo;0;L;;;;;N;;;;;
-B9F6;HANGUL SYLLABLE MAEBS;Lo;0;L;;;;;N;;;;;
-B9F7;HANGUL SYLLABLE MAES;Lo;0;L;;;;;N;;;;;
-B9F8;HANGUL SYLLABLE MAESS;Lo;0;L;;;;;N;;;;;
-B9F9;HANGUL SYLLABLE MAENG;Lo;0;L;;;;;N;;;;;
-B9FA;HANGUL SYLLABLE MAEJ;Lo;0;L;;;;;N;;;;;
-B9FB;HANGUL SYLLABLE MAEC;Lo;0;L;;;;;N;;;;;
-B9FC;HANGUL SYLLABLE MAEK;Lo;0;L;;;;;N;;;;;
-B9FD;HANGUL SYLLABLE MAET;Lo;0;L;;;;;N;;;;;
-B9FE;HANGUL SYLLABLE MAEP;Lo;0;L;;;;;N;;;;;
-B9FF;HANGUL SYLLABLE MAEH;Lo;0;L;;;;;N;;;;;
-BA00;HANGUL SYLLABLE MYA;Lo;0;L;;;;;N;;;;;
-BA01;HANGUL SYLLABLE MYAG;Lo;0;L;;;;;N;;;;;
-BA02;HANGUL SYLLABLE MYAGG;Lo;0;L;;;;;N;;;;;
-BA03;HANGUL SYLLABLE MYAGS;Lo;0;L;;;;;N;;;;;
-BA04;HANGUL SYLLABLE MYAN;Lo;0;L;;;;;N;;;;;
-BA05;HANGUL SYLLABLE MYANI;Lo;0;L;;;;;N;;;;;
-BA06;HANGUL SYLLABLE MYANH;Lo;0;L;;;;;N;;;;;
-BA07;HANGUL SYLLABLE MYAD;Lo;0;L;;;;;N;;;;;
-BA08;HANGUL SYLLABLE MYAL;Lo;0;L;;;;;N;;;;;
-BA09;HANGUL SYLLABLE MYALG;Lo;0;L;;;;;N;;;;;
-BA0A;HANGUL SYLLABLE MYALM;Lo;0;L;;;;;N;;;;;
-BA0B;HANGUL SYLLABLE MYALB;Lo;0;L;;;;;N;;;;;
-BA0C;HANGUL SYLLABLE MYALS;Lo;0;L;;;;;N;;;;;
-BA0D;HANGUL SYLLABLE MYALT;Lo;0;L;;;;;N;;;;;
-BA0E;HANGUL SYLLABLE MYALP;Lo;0;L;;;;;N;;;;;
-BA0F;HANGUL SYLLABLE MYALH;Lo;0;L;;;;;N;;;;;
-BA10;HANGUL SYLLABLE MYAM;Lo;0;L;;;;;N;;;;;
-BA11;HANGUL SYLLABLE MYAB;Lo;0;L;;;;;N;;;;;
-BA12;HANGUL SYLLABLE MYABS;Lo;0;L;;;;;N;;;;;
-BA13;HANGUL SYLLABLE MYAS;Lo;0;L;;;;;N;;;;;
-BA14;HANGUL SYLLABLE MYASS;Lo;0;L;;;;;N;;;;;
-BA15;HANGUL SYLLABLE MYANG;Lo;0;L;;;;;N;;;;;
-BA16;HANGUL SYLLABLE MYAJ;Lo;0;L;;;;;N;;;;;
-BA17;HANGUL SYLLABLE MYAC;Lo;0;L;;;;;N;;;;;
-BA18;HANGUL SYLLABLE MYAK;Lo;0;L;;;;;N;;;;;
-BA19;HANGUL SYLLABLE MYAT;Lo;0;L;;;;;N;;;;;
-BA1A;HANGUL SYLLABLE MYAP;Lo;0;L;;;;;N;;;;;
-BA1B;HANGUL SYLLABLE MYAH;Lo;0;L;;;;;N;;;;;
-BA1C;HANGUL SYLLABLE MYAE;Lo;0;L;;;;;N;;;;;
-BA1D;HANGUL SYLLABLE MYAEG;Lo;0;L;;;;;N;;;;;
-BA1E;HANGUL SYLLABLE MYAEGG;Lo;0;L;;;;;N;;;;;
-BA1F;HANGUL SYLLABLE MYAEGS;Lo;0;L;;;;;N;;;;;
-BA20;HANGUL SYLLABLE MYAEN;Lo;0;L;;;;;N;;;;;
-BA21;HANGUL SYLLABLE MYAENI;Lo;0;L;;;;;N;;;;;
-BA22;HANGUL SYLLABLE MYAENH;Lo;0;L;;;;;N;;;;;
-BA23;HANGUL SYLLABLE MYAED;Lo;0;L;;;;;N;;;;;
-BA24;HANGUL SYLLABLE MYAEL;Lo;0;L;;;;;N;;;;;
-BA25;HANGUL SYLLABLE MYAELG;Lo;0;L;;;;;N;;;;;
-BA26;HANGUL SYLLABLE MYAELM;Lo;0;L;;;;;N;;;;;
-BA27;HANGUL SYLLABLE MYAELB;Lo;0;L;;;;;N;;;;;
-BA28;HANGUL SYLLABLE MYAELS;Lo;0;L;;;;;N;;;;;
-BA29;HANGUL SYLLABLE MYAELT;Lo;0;L;;;;;N;;;;;
-BA2A;HANGUL SYLLABLE MYAELP;Lo;0;L;;;;;N;;;;;
-BA2B;HANGUL SYLLABLE MYAELH;Lo;0;L;;;;;N;;;;;
-BA2C;HANGUL SYLLABLE MYAEM;Lo;0;L;;;;;N;;;;;
-BA2D;HANGUL SYLLABLE MYAEB;Lo;0;L;;;;;N;;;;;
-BA2E;HANGUL SYLLABLE MYAEBS;Lo;0;L;;;;;N;;;;;
-BA2F;HANGUL SYLLABLE MYAES;Lo;0;L;;;;;N;;;;;
-BA30;HANGUL SYLLABLE MYAESS;Lo;0;L;;;;;N;;;;;
-BA31;HANGUL SYLLABLE MYAENG;Lo;0;L;;;;;N;;;;;
-BA32;HANGUL SYLLABLE MYAEJ;Lo;0;L;;;;;N;;;;;
-BA33;HANGUL SYLLABLE MYAEC;Lo;0;L;;;;;N;;;;;
-BA34;HANGUL SYLLABLE MYAEK;Lo;0;L;;;;;N;;;;;
-BA35;HANGUL SYLLABLE MYAET;Lo;0;L;;;;;N;;;;;
-BA36;HANGUL SYLLABLE MYAEP;Lo;0;L;;;;;N;;;;;
-BA37;HANGUL SYLLABLE MYAEH;Lo;0;L;;;;;N;;;;;
-BA38;HANGUL SYLLABLE MEO;Lo;0;L;;;;;N;;;;;
-BA39;HANGUL SYLLABLE MEOG;Lo;0;L;;;;;N;;;;;
-BA3A;HANGUL SYLLABLE MEOGG;Lo;0;L;;;;;N;;;;;
-BA3B;HANGUL SYLLABLE MEOGS;Lo;0;L;;;;;N;;;;;
-BA3C;HANGUL SYLLABLE MEON;Lo;0;L;;;;;N;;;;;
-BA3D;HANGUL SYLLABLE MEONI;Lo;0;L;;;;;N;;;;;
-BA3E;HANGUL SYLLABLE MEONH;Lo;0;L;;;;;N;;;;;
-BA3F;HANGUL SYLLABLE MEOD;Lo;0;L;;;;;N;;;;;
-BA40;HANGUL SYLLABLE MEOL;Lo;0;L;;;;;N;;;;;
-BA41;HANGUL SYLLABLE MEOLG;Lo;0;L;;;;;N;;;;;
-BA42;HANGUL SYLLABLE MEOLM;Lo;0;L;;;;;N;;;;;
-BA43;HANGUL SYLLABLE MEOLB;Lo;0;L;;;;;N;;;;;
-BA44;HANGUL SYLLABLE MEOLS;Lo;0;L;;;;;N;;;;;
-BA45;HANGUL SYLLABLE MEOLT;Lo;0;L;;;;;N;;;;;
-BA46;HANGUL SYLLABLE MEOLP;Lo;0;L;;;;;N;;;;;
-BA47;HANGUL SYLLABLE MEOLH;Lo;0;L;;;;;N;;;;;
-BA48;HANGUL SYLLABLE MEOM;Lo;0;L;;;;;N;;;;;
-BA49;HANGUL SYLLABLE MEOB;Lo;0;L;;;;;N;;;;;
-BA4A;HANGUL SYLLABLE MEOBS;Lo;0;L;;;;;N;;;;;
-BA4B;HANGUL SYLLABLE MEOS;Lo;0;L;;;;;N;;;;;
-BA4C;HANGUL SYLLABLE MEOSS;Lo;0;L;;;;;N;;;;;
-BA4D;HANGUL SYLLABLE MEONG;Lo;0;L;;;;;N;;;;;
-BA4E;HANGUL SYLLABLE MEOJ;Lo;0;L;;;;;N;;;;;
-BA4F;HANGUL SYLLABLE MEOC;Lo;0;L;;;;;N;;;;;
-BA50;HANGUL SYLLABLE MEOK;Lo;0;L;;;;;N;;;;;
-BA51;HANGUL SYLLABLE MEOT;Lo;0;L;;;;;N;;;;;
-BA52;HANGUL SYLLABLE MEOP;Lo;0;L;;;;;N;;;;;
-BA53;HANGUL SYLLABLE MEOH;Lo;0;L;;;;;N;;;;;
-BA54;HANGUL SYLLABLE ME;Lo;0;L;;;;;N;;;;;
-BA55;HANGUL SYLLABLE MEG;Lo;0;L;;;;;N;;;;;
-BA56;HANGUL SYLLABLE MEGG;Lo;0;L;;;;;N;;;;;
-BA57;HANGUL SYLLABLE MEGS;Lo;0;L;;;;;N;;;;;
-BA58;HANGUL SYLLABLE MEN;Lo;0;L;;;;;N;;;;;
-BA59;HANGUL SYLLABLE MENI;Lo;0;L;;;;;N;;;;;
-BA5A;HANGUL SYLLABLE MENH;Lo;0;L;;;;;N;;;;;
-BA5B;HANGUL SYLLABLE MED;Lo;0;L;;;;;N;;;;;
-BA5C;HANGUL SYLLABLE MEL;Lo;0;L;;;;;N;;;;;
-BA5D;HANGUL SYLLABLE MELG;Lo;0;L;;;;;N;;;;;
-BA5E;HANGUL SYLLABLE MELM;Lo;0;L;;;;;N;;;;;
-BA5F;HANGUL SYLLABLE MELB;Lo;0;L;;;;;N;;;;;
-BA60;HANGUL SYLLABLE MELS;Lo;0;L;;;;;N;;;;;
-BA61;HANGUL SYLLABLE MELT;Lo;0;L;;;;;N;;;;;
-BA62;HANGUL SYLLABLE MELP;Lo;0;L;;;;;N;;;;;
-BA63;HANGUL SYLLABLE MELH;Lo;0;L;;;;;N;;;;;
-BA64;HANGUL SYLLABLE MEM;Lo;0;L;;;;;N;;;;;
-BA65;HANGUL SYLLABLE MEB;Lo;0;L;;;;;N;;;;;
-BA66;HANGUL SYLLABLE MEBS;Lo;0;L;;;;;N;;;;;
-BA67;HANGUL SYLLABLE MES;Lo;0;L;;;;;N;;;;;
-BA68;HANGUL SYLLABLE MESS;Lo;0;L;;;;;N;;;;;
-BA69;HANGUL SYLLABLE MENG;Lo;0;L;;;;;N;;;;;
-BA6A;HANGUL SYLLABLE MEJ;Lo;0;L;;;;;N;;;;;
-BA6B;HANGUL SYLLABLE MEC;Lo;0;L;;;;;N;;;;;
-BA6C;HANGUL SYLLABLE MEK;Lo;0;L;;;;;N;;;;;
-BA6D;HANGUL SYLLABLE MET;Lo;0;L;;;;;N;;;;;
-BA6E;HANGUL SYLLABLE MEP;Lo;0;L;;;;;N;;;;;
-BA6F;HANGUL SYLLABLE MEH;Lo;0;L;;;;;N;;;;;
-BA70;HANGUL SYLLABLE MYEO;Lo;0;L;;;;;N;;;;;
-BA71;HANGUL SYLLABLE MYEOG;Lo;0;L;;;;;N;;;;;
-BA72;HANGUL SYLLABLE MYEOGG;Lo;0;L;;;;;N;;;;;
-BA73;HANGUL SYLLABLE MYEOGS;Lo;0;L;;;;;N;;;;;
-BA74;HANGUL SYLLABLE MYEON;Lo;0;L;;;;;N;;;;;
-BA75;HANGUL SYLLABLE MYEONI;Lo;0;L;;;;;N;;;;;
-BA76;HANGUL SYLLABLE MYEONH;Lo;0;L;;;;;N;;;;;
-BA77;HANGUL SYLLABLE MYEOD;Lo;0;L;;;;;N;;;;;
-BA78;HANGUL SYLLABLE MYEOL;Lo;0;L;;;;;N;;;;;
-BA79;HANGUL SYLLABLE MYEOLG;Lo;0;L;;;;;N;;;;;
-BA7A;HANGUL SYLLABLE MYEOLM;Lo;0;L;;;;;N;;;;;
-BA7B;HANGUL SYLLABLE MYEOLB;Lo;0;L;;;;;N;;;;;
-BA7C;HANGUL SYLLABLE MYEOLS;Lo;0;L;;;;;N;;;;;
-BA7D;HANGUL SYLLABLE MYEOLT;Lo;0;L;;;;;N;;;;;
-BA7E;HANGUL SYLLABLE MYEOLP;Lo;0;L;;;;;N;;;;;
-BA7F;HANGUL SYLLABLE MYEOLH;Lo;0;L;;;;;N;;;;;
-BA80;HANGUL SYLLABLE MYEOM;Lo;0;L;;;;;N;;;;;
-BA81;HANGUL SYLLABLE MYEOB;Lo;0;L;;;;;N;;;;;
-BA82;HANGUL SYLLABLE MYEOBS;Lo;0;L;;;;;N;;;;;
-BA83;HANGUL SYLLABLE MYEOS;Lo;0;L;;;;;N;;;;;
-BA84;HANGUL SYLLABLE MYEOSS;Lo;0;L;;;;;N;;;;;
-BA85;HANGUL SYLLABLE MYEONG;Lo;0;L;;;;;N;;;;;
-BA86;HANGUL SYLLABLE MYEOJ;Lo;0;L;;;;;N;;;;;
-BA87;HANGUL SYLLABLE MYEOC;Lo;0;L;;;;;N;;;;;
-BA88;HANGUL SYLLABLE MYEOK;Lo;0;L;;;;;N;;;;;
-BA89;HANGUL SYLLABLE MYEOT;Lo;0;L;;;;;N;;;;;
-BA8A;HANGUL SYLLABLE MYEOP;Lo;0;L;;;;;N;;;;;
-BA8B;HANGUL SYLLABLE MYEOH;Lo;0;L;;;;;N;;;;;
-BA8C;HANGUL SYLLABLE MYE;Lo;0;L;;;;;N;;;;;
-BA8D;HANGUL SYLLABLE MYEG;Lo;0;L;;;;;N;;;;;
-BA8E;HANGUL SYLLABLE MYEGG;Lo;0;L;;;;;N;;;;;
-BA8F;HANGUL SYLLABLE MYEGS;Lo;0;L;;;;;N;;;;;
-BA90;HANGUL SYLLABLE MYEN;Lo;0;L;;;;;N;;;;;
-BA91;HANGUL SYLLABLE MYENI;Lo;0;L;;;;;N;;;;;
-BA92;HANGUL SYLLABLE MYENH;Lo;0;L;;;;;N;;;;;
-BA93;HANGUL SYLLABLE MYED;Lo;0;L;;;;;N;;;;;
-BA94;HANGUL SYLLABLE MYEL;Lo;0;L;;;;;N;;;;;
-BA95;HANGUL SYLLABLE MYELG;Lo;0;L;;;;;N;;;;;
-BA96;HANGUL SYLLABLE MYELM;Lo;0;L;;;;;N;;;;;
-BA97;HANGUL SYLLABLE MYELB;Lo;0;L;;;;;N;;;;;
-BA98;HANGUL SYLLABLE MYELS;Lo;0;L;;;;;N;;;;;
-BA99;HANGUL SYLLABLE MYELT;Lo;0;L;;;;;N;;;;;
-BA9A;HANGUL SYLLABLE MYELP;Lo;0;L;;;;;N;;;;;
-BA9B;HANGUL SYLLABLE MYELH;Lo;0;L;;;;;N;;;;;
-BA9C;HANGUL SYLLABLE MYEM;Lo;0;L;;;;;N;;;;;
-BA9D;HANGUL SYLLABLE MYEB;Lo;0;L;;;;;N;;;;;
-BA9E;HANGUL SYLLABLE MYEBS;Lo;0;L;;;;;N;;;;;
-BA9F;HANGUL SYLLABLE MYES;Lo;0;L;;;;;N;;;;;
-BAA0;HANGUL SYLLABLE MYESS;Lo;0;L;;;;;N;;;;;
-BAA1;HANGUL SYLLABLE MYENG;Lo;0;L;;;;;N;;;;;
-BAA2;HANGUL SYLLABLE MYEJ;Lo;0;L;;;;;N;;;;;
-BAA3;HANGUL SYLLABLE MYEC;Lo;0;L;;;;;N;;;;;
-BAA4;HANGUL SYLLABLE MYEK;Lo;0;L;;;;;N;;;;;
-BAA5;HANGUL SYLLABLE MYET;Lo;0;L;;;;;N;;;;;
-BAA6;HANGUL SYLLABLE MYEP;Lo;0;L;;;;;N;;;;;
-BAA7;HANGUL SYLLABLE MYEH;Lo;0;L;;;;;N;;;;;
-BAA8;HANGUL SYLLABLE MO;Lo;0;L;;;;;N;;;;;
-BAA9;HANGUL SYLLABLE MOG;Lo;0;L;;;;;N;;;;;
-BAAA;HANGUL SYLLABLE MOGG;Lo;0;L;;;;;N;;;;;
-BAAB;HANGUL SYLLABLE MOGS;Lo;0;L;;;;;N;;;;;
-BAAC;HANGUL SYLLABLE MON;Lo;0;L;;;;;N;;;;;
-BAAD;HANGUL SYLLABLE MONI;Lo;0;L;;;;;N;;;;;
-BAAE;HANGUL SYLLABLE MONH;Lo;0;L;;;;;N;;;;;
-BAAF;HANGUL SYLLABLE MOD;Lo;0;L;;;;;N;;;;;
-BAB0;HANGUL SYLLABLE MOL;Lo;0;L;;;;;N;;;;;
-BAB1;HANGUL SYLLABLE MOLG;Lo;0;L;;;;;N;;;;;
-BAB2;HANGUL SYLLABLE MOLM;Lo;0;L;;;;;N;;;;;
-BAB3;HANGUL SYLLABLE MOLB;Lo;0;L;;;;;N;;;;;
-BAB4;HANGUL SYLLABLE MOLS;Lo;0;L;;;;;N;;;;;
-BAB5;HANGUL SYLLABLE MOLT;Lo;0;L;;;;;N;;;;;
-BAB6;HANGUL SYLLABLE MOLP;Lo;0;L;;;;;N;;;;;
-BAB7;HANGUL SYLLABLE MOLH;Lo;0;L;;;;;N;;;;;
-BAB8;HANGUL SYLLABLE MOM;Lo;0;L;;;;;N;;;;;
-BAB9;HANGUL SYLLABLE MOB;Lo;0;L;;;;;N;;;;;
-BABA;HANGUL SYLLABLE MOBS;Lo;0;L;;;;;N;;;;;
-BABB;HANGUL SYLLABLE MOS;Lo;0;L;;;;;N;;;;;
-BABC;HANGUL SYLLABLE MOSS;Lo;0;L;;;;;N;;;;;
-BABD;HANGUL SYLLABLE MONG;Lo;0;L;;;;;N;;;;;
-BABE;HANGUL SYLLABLE MOJ;Lo;0;L;;;;;N;;;;;
-BABF;HANGUL SYLLABLE MOC;Lo;0;L;;;;;N;;;;;
-BAC0;HANGUL SYLLABLE MOK;Lo;0;L;;;;;N;;;;;
-BAC1;HANGUL SYLLABLE MOT;Lo;0;L;;;;;N;;;;;
-BAC2;HANGUL SYLLABLE MOP;Lo;0;L;;;;;N;;;;;
-BAC3;HANGUL SYLLABLE MOH;Lo;0;L;;;;;N;;;;;
-BAC4;HANGUL SYLLABLE MWA;Lo;0;L;;;;;N;;;;;
-BAC5;HANGUL SYLLABLE MWAG;Lo;0;L;;;;;N;;;;;
-BAC6;HANGUL SYLLABLE MWAGG;Lo;0;L;;;;;N;;;;;
-BAC7;HANGUL SYLLABLE MWAGS;Lo;0;L;;;;;N;;;;;
-BAC8;HANGUL SYLLABLE MWAN;Lo;0;L;;;;;N;;;;;
-BAC9;HANGUL SYLLABLE MWANI;Lo;0;L;;;;;N;;;;;
-BACA;HANGUL SYLLABLE MWANH;Lo;0;L;;;;;N;;;;;
-BACB;HANGUL SYLLABLE MWAD;Lo;0;L;;;;;N;;;;;
-BACC;HANGUL SYLLABLE MWAL;Lo;0;L;;;;;N;;;;;
-BACD;HANGUL SYLLABLE MWALG;Lo;0;L;;;;;N;;;;;
-BACE;HANGUL SYLLABLE MWALM;Lo;0;L;;;;;N;;;;;
-BACF;HANGUL SYLLABLE MWALB;Lo;0;L;;;;;N;;;;;
-BAD0;HANGUL SYLLABLE MWALS;Lo;0;L;;;;;N;;;;;
-BAD1;HANGUL SYLLABLE MWALT;Lo;0;L;;;;;N;;;;;
-BAD2;HANGUL SYLLABLE MWALP;Lo;0;L;;;;;N;;;;;
-BAD3;HANGUL SYLLABLE MWALH;Lo;0;L;;;;;N;;;;;
-BAD4;HANGUL SYLLABLE MWAM;Lo;0;L;;;;;N;;;;;
-BAD5;HANGUL SYLLABLE MWAB;Lo;0;L;;;;;N;;;;;
-BAD6;HANGUL SYLLABLE MWABS;Lo;0;L;;;;;N;;;;;
-BAD7;HANGUL SYLLABLE MWAS;Lo;0;L;;;;;N;;;;;
-BAD8;HANGUL SYLLABLE MWASS;Lo;0;L;;;;;N;;;;;
-BAD9;HANGUL SYLLABLE MWANG;Lo;0;L;;;;;N;;;;;
-BADA;HANGUL SYLLABLE MWAJ;Lo;0;L;;;;;N;;;;;
-BADB;HANGUL SYLLABLE MWAC;Lo;0;L;;;;;N;;;;;
-BADC;HANGUL SYLLABLE MWAK;Lo;0;L;;;;;N;;;;;
-BADD;HANGUL SYLLABLE MWAT;Lo;0;L;;;;;N;;;;;
-BADE;HANGUL SYLLABLE MWAP;Lo;0;L;;;;;N;;;;;
-BADF;HANGUL SYLLABLE MWAH;Lo;0;L;;;;;N;;;;;
-BAE0;HANGUL SYLLABLE MWAE;Lo;0;L;;;;;N;;;;;
-BAE1;HANGUL SYLLABLE MWAEG;Lo;0;L;;;;;N;;;;;
-BAE2;HANGUL SYLLABLE MWAEGG;Lo;0;L;;;;;N;;;;;
-BAE3;HANGUL SYLLABLE MWAEGS;Lo;0;L;;;;;N;;;;;
-BAE4;HANGUL SYLLABLE MWAEN;Lo;0;L;;;;;N;;;;;
-BAE5;HANGUL SYLLABLE MWAENI;Lo;0;L;;;;;N;;;;;
-BAE6;HANGUL SYLLABLE MWAENH;Lo;0;L;;;;;N;;;;;
-BAE7;HANGUL SYLLABLE MWAED;Lo;0;L;;;;;N;;;;;
-BAE8;HANGUL SYLLABLE MWAEL;Lo;0;L;;;;;N;;;;;
-BAE9;HANGUL SYLLABLE MWAELG;Lo;0;L;;;;;N;;;;;
-BAEA;HANGUL SYLLABLE MWAELM;Lo;0;L;;;;;N;;;;;
-BAEB;HANGUL SYLLABLE MWAELB;Lo;0;L;;;;;N;;;;;
-BAEC;HANGUL SYLLABLE MWAELS;Lo;0;L;;;;;N;;;;;
-BAED;HANGUL SYLLABLE MWAELT;Lo;0;L;;;;;N;;;;;
-BAEE;HANGUL SYLLABLE MWAELP;Lo;0;L;;;;;N;;;;;
-BAEF;HANGUL SYLLABLE MWAELH;Lo;0;L;;;;;N;;;;;
-BAF0;HANGUL SYLLABLE MWAEM;Lo;0;L;;;;;N;;;;;
-BAF1;HANGUL SYLLABLE MWAEB;Lo;0;L;;;;;N;;;;;
-BAF2;HANGUL SYLLABLE MWAEBS;Lo;0;L;;;;;N;;;;;
-BAF3;HANGUL SYLLABLE MWAES;Lo;0;L;;;;;N;;;;;
-BAF4;HANGUL SYLLABLE MWAESS;Lo;0;L;;;;;N;;;;;
-BAF5;HANGUL SYLLABLE MWAENG;Lo;0;L;;;;;N;;;;;
-BAF6;HANGUL SYLLABLE MWAEJ;Lo;0;L;;;;;N;;;;;
-BAF7;HANGUL SYLLABLE MWAEC;Lo;0;L;;;;;N;;;;;
-BAF8;HANGUL SYLLABLE MWAEK;Lo;0;L;;;;;N;;;;;
-BAF9;HANGUL SYLLABLE MWAET;Lo;0;L;;;;;N;;;;;
-BAFA;HANGUL SYLLABLE MWAEP;Lo;0;L;;;;;N;;;;;
-BAFB;HANGUL SYLLABLE MWAEH;Lo;0;L;;;;;N;;;;;
-BAFC;HANGUL SYLLABLE MOE;Lo;0;L;;;;;N;;;;;
-BAFD;HANGUL SYLLABLE MOEG;Lo;0;L;;;;;N;;;;;
-BAFE;HANGUL SYLLABLE MOEGG;Lo;0;L;;;;;N;;;;;
-BAFF;HANGUL SYLLABLE MOEGS;Lo;0;L;;;;;N;;;;;
-BB00;HANGUL SYLLABLE MOEN;Lo;0;L;;;;;N;;;;;
-BB01;HANGUL SYLLABLE MOENI;Lo;0;L;;;;;N;;;;;
-BB02;HANGUL SYLLABLE MOENH;Lo;0;L;;;;;N;;;;;
-BB03;HANGUL SYLLABLE MOED;Lo;0;L;;;;;N;;;;;
-BB04;HANGUL SYLLABLE MOEL;Lo;0;L;;;;;N;;;;;
-BB05;HANGUL SYLLABLE MOELG;Lo;0;L;;;;;N;;;;;
-BB06;HANGUL SYLLABLE MOELM;Lo;0;L;;;;;N;;;;;
-BB07;HANGUL SYLLABLE MOELB;Lo;0;L;;;;;N;;;;;
-BB08;HANGUL SYLLABLE MOELS;Lo;0;L;;;;;N;;;;;
-BB09;HANGUL SYLLABLE MOELT;Lo;0;L;;;;;N;;;;;
-BB0A;HANGUL SYLLABLE MOELP;Lo;0;L;;;;;N;;;;;
-BB0B;HANGUL SYLLABLE MOELH;Lo;0;L;;;;;N;;;;;
-BB0C;HANGUL SYLLABLE MOEM;Lo;0;L;;;;;N;;;;;
-BB0D;HANGUL SYLLABLE MOEB;Lo;0;L;;;;;N;;;;;
-BB0E;HANGUL SYLLABLE MOEBS;Lo;0;L;;;;;N;;;;;
-BB0F;HANGUL SYLLABLE MOES;Lo;0;L;;;;;N;;;;;
-BB10;HANGUL SYLLABLE MOESS;Lo;0;L;;;;;N;;;;;
-BB11;HANGUL SYLLABLE MOENG;Lo;0;L;;;;;N;;;;;
-BB12;HANGUL SYLLABLE MOEJ;Lo;0;L;;;;;N;;;;;
-BB13;HANGUL SYLLABLE MOEC;Lo;0;L;;;;;N;;;;;
-BB14;HANGUL SYLLABLE MOEK;Lo;0;L;;;;;N;;;;;
-BB15;HANGUL SYLLABLE MOET;Lo;0;L;;;;;N;;;;;
-BB16;HANGUL SYLLABLE MOEP;Lo;0;L;;;;;N;;;;;
-BB17;HANGUL SYLLABLE MOEH;Lo;0;L;;;;;N;;;;;
-BB18;HANGUL SYLLABLE MYO;Lo;0;L;;;;;N;;;;;
-BB19;HANGUL SYLLABLE MYOG;Lo;0;L;;;;;N;;;;;
-BB1A;HANGUL SYLLABLE MYOGG;Lo;0;L;;;;;N;;;;;
-BB1B;HANGUL SYLLABLE MYOGS;Lo;0;L;;;;;N;;;;;
-BB1C;HANGUL SYLLABLE MYON;Lo;0;L;;;;;N;;;;;
-BB1D;HANGUL SYLLABLE MYONI;Lo;0;L;;;;;N;;;;;
-BB1E;HANGUL SYLLABLE MYONH;Lo;0;L;;;;;N;;;;;
-BB1F;HANGUL SYLLABLE MYOD;Lo;0;L;;;;;N;;;;;
-BB20;HANGUL SYLLABLE MYOL;Lo;0;L;;;;;N;;;;;
-BB21;HANGUL SYLLABLE MYOLG;Lo;0;L;;;;;N;;;;;
-BB22;HANGUL SYLLABLE MYOLM;Lo;0;L;;;;;N;;;;;
-BB23;HANGUL SYLLABLE MYOLB;Lo;0;L;;;;;N;;;;;
-BB24;HANGUL SYLLABLE MYOLS;Lo;0;L;;;;;N;;;;;
-BB25;HANGUL SYLLABLE MYOLT;Lo;0;L;;;;;N;;;;;
-BB26;HANGUL SYLLABLE MYOLP;Lo;0;L;;;;;N;;;;;
-BB27;HANGUL SYLLABLE MYOLH;Lo;0;L;;;;;N;;;;;
-BB28;HANGUL SYLLABLE MYOM;Lo;0;L;;;;;N;;;;;
-BB29;HANGUL SYLLABLE MYOB;Lo;0;L;;;;;N;;;;;
-BB2A;HANGUL SYLLABLE MYOBS;Lo;0;L;;;;;N;;;;;
-BB2B;HANGUL SYLLABLE MYOS;Lo;0;L;;;;;N;;;;;
-BB2C;HANGUL SYLLABLE MYOSS;Lo;0;L;;;;;N;;;;;
-BB2D;HANGUL SYLLABLE MYONG;Lo;0;L;;;;;N;;;;;
-BB2E;HANGUL SYLLABLE MYOJ;Lo;0;L;;;;;N;;;;;
-BB2F;HANGUL SYLLABLE MYOC;Lo;0;L;;;;;N;;;;;
-BB30;HANGUL SYLLABLE MYOK;Lo;0;L;;;;;N;;;;;
-BB31;HANGUL SYLLABLE MYOT;Lo;0;L;;;;;N;;;;;
-BB32;HANGUL SYLLABLE MYOP;Lo;0;L;;;;;N;;;;;
-BB33;HANGUL SYLLABLE MYOH;Lo;0;L;;;;;N;;;;;
-BB34;HANGUL SYLLABLE MU;Lo;0;L;;;;;N;;;;;
-BB35;HANGUL SYLLABLE MUG;Lo;0;L;;;;;N;;;;;
-BB36;HANGUL SYLLABLE MUGG;Lo;0;L;;;;;N;;;;;
-BB37;HANGUL SYLLABLE MUGS;Lo;0;L;;;;;N;;;;;
-BB38;HANGUL SYLLABLE MUN;Lo;0;L;;;;;N;;;;;
-BB39;HANGUL SYLLABLE MUNI;Lo;0;L;;;;;N;;;;;
-BB3A;HANGUL SYLLABLE MUNH;Lo;0;L;;;;;N;;;;;
-BB3B;HANGUL SYLLABLE MUD;Lo;0;L;;;;;N;;;;;
-BB3C;HANGUL SYLLABLE MUL;Lo;0;L;;;;;N;;;;;
-BB3D;HANGUL SYLLABLE MULG;Lo;0;L;;;;;N;;;;;
-BB3E;HANGUL SYLLABLE MULM;Lo;0;L;;;;;N;;;;;
-BB3F;HANGUL SYLLABLE MULB;Lo;0;L;;;;;N;;;;;
-BB40;HANGUL SYLLABLE MULS;Lo;0;L;;;;;N;;;;;
-BB41;HANGUL SYLLABLE MULT;Lo;0;L;;;;;N;;;;;
-BB42;HANGUL SYLLABLE MULP;Lo;0;L;;;;;N;;;;;
-BB43;HANGUL SYLLABLE MULH;Lo;0;L;;;;;N;;;;;
-BB44;HANGUL SYLLABLE MUM;Lo;0;L;;;;;N;;;;;
-BB45;HANGUL SYLLABLE MUB;Lo;0;L;;;;;N;;;;;
-BB46;HANGUL SYLLABLE MUBS;Lo;0;L;;;;;N;;;;;
-BB47;HANGUL SYLLABLE MUS;Lo;0;L;;;;;N;;;;;
-BB48;HANGUL SYLLABLE MUSS;Lo;0;L;;;;;N;;;;;
-BB49;HANGUL SYLLABLE MUNG;Lo;0;L;;;;;N;;;;;
-BB4A;HANGUL SYLLABLE MUJ;Lo;0;L;;;;;N;;;;;
-BB4B;HANGUL SYLLABLE MUC;Lo;0;L;;;;;N;;;;;
-BB4C;HANGUL SYLLABLE MUK;Lo;0;L;;;;;N;;;;;
-BB4D;HANGUL SYLLABLE MUT;Lo;0;L;;;;;N;;;;;
-BB4E;HANGUL SYLLABLE MUP;Lo;0;L;;;;;N;;;;;
-BB4F;HANGUL SYLLABLE MUH;Lo;0;L;;;;;N;;;;;
-BB50;HANGUL SYLLABLE MWEO;Lo;0;L;;;;;N;;;;;
-BB51;HANGUL SYLLABLE MWEOG;Lo;0;L;;;;;N;;;;;
-BB52;HANGUL SYLLABLE MWEOGG;Lo;0;L;;;;;N;;;;;
-BB53;HANGUL SYLLABLE MWEOGS;Lo;0;L;;;;;N;;;;;
-BB54;HANGUL SYLLABLE MWEON;Lo;0;L;;;;;N;;;;;
-BB55;HANGUL SYLLABLE MWEONI;Lo;0;L;;;;;N;;;;;
-BB56;HANGUL SYLLABLE MWEONH;Lo;0;L;;;;;N;;;;;
-BB57;HANGUL SYLLABLE MWEOD;Lo;0;L;;;;;N;;;;;
-BB58;HANGUL SYLLABLE MWEOL;Lo;0;L;;;;;N;;;;;
-BB59;HANGUL SYLLABLE MWEOLG;Lo;0;L;;;;;N;;;;;
-BB5A;HANGUL SYLLABLE MWEOLM;Lo;0;L;;;;;N;;;;;
-BB5B;HANGUL SYLLABLE MWEOLB;Lo;0;L;;;;;N;;;;;
-BB5C;HANGUL SYLLABLE MWEOLS;Lo;0;L;;;;;N;;;;;
-BB5D;HANGUL SYLLABLE MWEOLT;Lo;0;L;;;;;N;;;;;
-BB5E;HANGUL SYLLABLE MWEOLP;Lo;0;L;;;;;N;;;;;
-BB5F;HANGUL SYLLABLE MWEOLH;Lo;0;L;;;;;N;;;;;
-BB60;HANGUL SYLLABLE MWEOM;Lo;0;L;;;;;N;;;;;
-BB61;HANGUL SYLLABLE MWEOB;Lo;0;L;;;;;N;;;;;
-BB62;HANGUL SYLLABLE MWEOBS;Lo;0;L;;;;;N;;;;;
-BB63;HANGUL SYLLABLE MWEOS;Lo;0;L;;;;;N;;;;;
-BB64;HANGUL SYLLABLE MWEOSS;Lo;0;L;;;;;N;;;;;
-BB65;HANGUL SYLLABLE MWEONG;Lo;0;L;;;;;N;;;;;
-BB66;HANGUL SYLLABLE MWEOJ;Lo;0;L;;;;;N;;;;;
-BB67;HANGUL SYLLABLE MWEOC;Lo;0;L;;;;;N;;;;;
-BB68;HANGUL SYLLABLE MWEOK;Lo;0;L;;;;;N;;;;;
-BB69;HANGUL SYLLABLE MWEOT;Lo;0;L;;;;;N;;;;;
-BB6A;HANGUL SYLLABLE MWEOP;Lo;0;L;;;;;N;;;;;
-BB6B;HANGUL SYLLABLE MWEOH;Lo;0;L;;;;;N;;;;;
-BB6C;HANGUL SYLLABLE MWE;Lo;0;L;;;;;N;;;;;
-BB6D;HANGUL SYLLABLE MWEG;Lo;0;L;;;;;N;;;;;
-BB6E;HANGUL SYLLABLE MWEGG;Lo;0;L;;;;;N;;;;;
-BB6F;HANGUL SYLLABLE MWEGS;Lo;0;L;;;;;N;;;;;
-BB70;HANGUL SYLLABLE MWEN;Lo;0;L;;;;;N;;;;;
-BB71;HANGUL SYLLABLE MWENI;Lo;0;L;;;;;N;;;;;
-BB72;HANGUL SYLLABLE MWENH;Lo;0;L;;;;;N;;;;;
-BB73;HANGUL SYLLABLE MWED;Lo;0;L;;;;;N;;;;;
-BB74;HANGUL SYLLABLE MWEL;Lo;0;L;;;;;N;;;;;
-BB75;HANGUL SYLLABLE MWELG;Lo;0;L;;;;;N;;;;;
-BB76;HANGUL SYLLABLE MWELM;Lo;0;L;;;;;N;;;;;
-BB77;HANGUL SYLLABLE MWELB;Lo;0;L;;;;;N;;;;;
-BB78;HANGUL SYLLABLE MWELS;Lo;0;L;;;;;N;;;;;
-BB79;HANGUL SYLLABLE MWELT;Lo;0;L;;;;;N;;;;;
-BB7A;HANGUL SYLLABLE MWELP;Lo;0;L;;;;;N;;;;;
-BB7B;HANGUL SYLLABLE MWELH;Lo;0;L;;;;;N;;;;;
-BB7C;HANGUL SYLLABLE MWEM;Lo;0;L;;;;;N;;;;;
-BB7D;HANGUL SYLLABLE MWEB;Lo;0;L;;;;;N;;;;;
-BB7E;HANGUL SYLLABLE MWEBS;Lo;0;L;;;;;N;;;;;
-BB7F;HANGUL SYLLABLE MWES;Lo;0;L;;;;;N;;;;;
-BB80;HANGUL SYLLABLE MWESS;Lo;0;L;;;;;N;;;;;
-BB81;HANGUL SYLLABLE MWENG;Lo;0;L;;;;;N;;;;;
-BB82;HANGUL SYLLABLE MWEJ;Lo;0;L;;;;;N;;;;;
-BB83;HANGUL SYLLABLE MWEC;Lo;0;L;;;;;N;;;;;
-BB84;HANGUL SYLLABLE MWEK;Lo;0;L;;;;;N;;;;;
-BB85;HANGUL SYLLABLE MWET;Lo;0;L;;;;;N;;;;;
-BB86;HANGUL SYLLABLE MWEP;Lo;0;L;;;;;N;;;;;
-BB87;HANGUL SYLLABLE MWEH;Lo;0;L;;;;;N;;;;;
-BB88;HANGUL SYLLABLE MWI;Lo;0;L;;;;;N;;;;;
-BB89;HANGUL SYLLABLE MWIG;Lo;0;L;;;;;N;;;;;
-BB8A;HANGUL SYLLABLE MWIGG;Lo;0;L;;;;;N;;;;;
-BB8B;HANGUL SYLLABLE MWIGS;Lo;0;L;;;;;N;;;;;
-BB8C;HANGUL SYLLABLE MWIN;Lo;0;L;;;;;N;;;;;
-BB8D;HANGUL SYLLABLE MWINI;Lo;0;L;;;;;N;;;;;
-BB8E;HANGUL SYLLABLE MWINH;Lo;0;L;;;;;N;;;;;
-BB8F;HANGUL SYLLABLE MWID;Lo;0;L;;;;;N;;;;;
-BB90;HANGUL SYLLABLE MWIL;Lo;0;L;;;;;N;;;;;
-BB91;HANGUL SYLLABLE MWILG;Lo;0;L;;;;;N;;;;;
-BB92;HANGUL SYLLABLE MWILM;Lo;0;L;;;;;N;;;;;
-BB93;HANGUL SYLLABLE MWILB;Lo;0;L;;;;;N;;;;;
-BB94;HANGUL SYLLABLE MWILS;Lo;0;L;;;;;N;;;;;
-BB95;HANGUL SYLLABLE MWILT;Lo;0;L;;;;;N;;;;;
-BB96;HANGUL SYLLABLE MWILP;Lo;0;L;;;;;N;;;;;
-BB97;HANGUL SYLLABLE MWILH;Lo;0;L;;;;;N;;;;;
-BB98;HANGUL SYLLABLE MWIM;Lo;0;L;;;;;N;;;;;
-BB99;HANGUL SYLLABLE MWIB;Lo;0;L;;;;;N;;;;;
-BB9A;HANGUL SYLLABLE MWIBS;Lo;0;L;;;;;N;;;;;
-BB9B;HANGUL SYLLABLE MWIS;Lo;0;L;;;;;N;;;;;
-BB9C;HANGUL SYLLABLE MWISS;Lo;0;L;;;;;N;;;;;
-BB9D;HANGUL SYLLABLE MWING;Lo;0;L;;;;;N;;;;;
-BB9E;HANGUL SYLLABLE MWIJ;Lo;0;L;;;;;N;;;;;
-BB9F;HANGUL SYLLABLE MWIC;Lo;0;L;;;;;N;;;;;
-BBA0;HANGUL SYLLABLE MWIK;Lo;0;L;;;;;N;;;;;
-BBA1;HANGUL SYLLABLE MWIT;Lo;0;L;;;;;N;;;;;
-BBA2;HANGUL SYLLABLE MWIP;Lo;0;L;;;;;N;;;;;
-BBA3;HANGUL SYLLABLE MWIH;Lo;0;L;;;;;N;;;;;
-BBA4;HANGUL SYLLABLE MYU;Lo;0;L;;;;;N;;;;;
-BBA5;HANGUL SYLLABLE MYUG;Lo;0;L;;;;;N;;;;;
-BBA6;HANGUL SYLLABLE MYUGG;Lo;0;L;;;;;N;;;;;
-BBA7;HANGUL SYLLABLE MYUGS;Lo;0;L;;;;;N;;;;;
-BBA8;HANGUL SYLLABLE MYUN;Lo;0;L;;;;;N;;;;;
-BBA9;HANGUL SYLLABLE MYUNI;Lo;0;L;;;;;N;;;;;
-BBAA;HANGUL SYLLABLE MYUNH;Lo;0;L;;;;;N;;;;;
-BBAB;HANGUL SYLLABLE MYUD;Lo;0;L;;;;;N;;;;;
-BBAC;HANGUL SYLLABLE MYUL;Lo;0;L;;;;;N;;;;;
-BBAD;HANGUL SYLLABLE MYULG;Lo;0;L;;;;;N;;;;;
-BBAE;HANGUL SYLLABLE MYULM;Lo;0;L;;;;;N;;;;;
-BBAF;HANGUL SYLLABLE MYULB;Lo;0;L;;;;;N;;;;;
-BBB0;HANGUL SYLLABLE MYULS;Lo;0;L;;;;;N;;;;;
-BBB1;HANGUL SYLLABLE MYULT;Lo;0;L;;;;;N;;;;;
-BBB2;HANGUL SYLLABLE MYULP;Lo;0;L;;;;;N;;;;;
-BBB3;HANGUL SYLLABLE MYULH;Lo;0;L;;;;;N;;;;;
-BBB4;HANGUL SYLLABLE MYUM;Lo;0;L;;;;;N;;;;;
-BBB5;HANGUL SYLLABLE MYUB;Lo;0;L;;;;;N;;;;;
-BBB6;HANGUL SYLLABLE MYUBS;Lo;0;L;;;;;N;;;;;
-BBB7;HANGUL SYLLABLE MYUS;Lo;0;L;;;;;N;;;;;
-BBB8;HANGUL SYLLABLE MYUSS;Lo;0;L;;;;;N;;;;;
-BBB9;HANGUL SYLLABLE MYUNG;Lo;0;L;;;;;N;;;;;
-BBBA;HANGUL SYLLABLE MYUJ;Lo;0;L;;;;;N;;;;;
-BBBB;HANGUL SYLLABLE MYUC;Lo;0;L;;;;;N;;;;;
-BBBC;HANGUL SYLLABLE MYUK;Lo;0;L;;;;;N;;;;;
-BBBD;HANGUL SYLLABLE MYUT;Lo;0;L;;;;;N;;;;;
-BBBE;HANGUL SYLLABLE MYUP;Lo;0;L;;;;;N;;;;;
-BBBF;HANGUL SYLLABLE MYUH;Lo;0;L;;;;;N;;;;;
-BBC0;HANGUL SYLLABLE MEU;Lo;0;L;;;;;N;;;;;
-BBC1;HANGUL SYLLABLE MEUG;Lo;0;L;;;;;N;;;;;
-BBC2;HANGUL SYLLABLE MEUGG;Lo;0;L;;;;;N;;;;;
-BBC3;HANGUL SYLLABLE MEUGS;Lo;0;L;;;;;N;;;;;
-BBC4;HANGUL SYLLABLE MEUN;Lo;0;L;;;;;N;;;;;
-BBC5;HANGUL SYLLABLE MEUNI;Lo;0;L;;;;;N;;;;;
-BBC6;HANGUL SYLLABLE MEUNH;Lo;0;L;;;;;N;;;;;
-BBC7;HANGUL SYLLABLE MEUD;Lo;0;L;;;;;N;;;;;
-BBC8;HANGUL SYLLABLE MEUL;Lo;0;L;;;;;N;;;;;
-BBC9;HANGUL SYLLABLE MEULG;Lo;0;L;;;;;N;;;;;
-BBCA;HANGUL SYLLABLE MEULM;Lo;0;L;;;;;N;;;;;
-BBCB;HANGUL SYLLABLE MEULB;Lo;0;L;;;;;N;;;;;
-BBCC;HANGUL SYLLABLE MEULS;Lo;0;L;;;;;N;;;;;
-BBCD;HANGUL SYLLABLE MEULT;Lo;0;L;;;;;N;;;;;
-BBCE;HANGUL SYLLABLE MEULP;Lo;0;L;;;;;N;;;;;
-BBCF;HANGUL SYLLABLE MEULH;Lo;0;L;;;;;N;;;;;
-BBD0;HANGUL SYLLABLE MEUM;Lo;0;L;;;;;N;;;;;
-BBD1;HANGUL SYLLABLE MEUB;Lo;0;L;;;;;N;;;;;
-BBD2;HANGUL SYLLABLE MEUBS;Lo;0;L;;;;;N;;;;;
-BBD3;HANGUL SYLLABLE MEUS;Lo;0;L;;;;;N;;;;;
-BBD4;HANGUL SYLLABLE MEUSS;Lo;0;L;;;;;N;;;;;
-BBD5;HANGUL SYLLABLE MEUNG;Lo;0;L;;;;;N;;;;;
-BBD6;HANGUL SYLLABLE MEUJ;Lo;0;L;;;;;N;;;;;
-BBD7;HANGUL SYLLABLE MEUC;Lo;0;L;;;;;N;;;;;
-BBD8;HANGUL SYLLABLE MEUK;Lo;0;L;;;;;N;;;;;
-BBD9;HANGUL SYLLABLE MEUT;Lo;0;L;;;;;N;;;;;
-BBDA;HANGUL SYLLABLE MEUP;Lo;0;L;;;;;N;;;;;
-BBDB;HANGUL SYLLABLE MEUH;Lo;0;L;;;;;N;;;;;
-BBDC;HANGUL SYLLABLE MYI;Lo;0;L;;;;;N;;;;;
-BBDD;HANGUL SYLLABLE MYIG;Lo;0;L;;;;;N;;;;;
-BBDE;HANGUL SYLLABLE MYIGG;Lo;0;L;;;;;N;;;;;
-BBDF;HANGUL SYLLABLE MYIGS;Lo;0;L;;;;;N;;;;;
-BBE0;HANGUL SYLLABLE MYIN;Lo;0;L;;;;;N;;;;;
-BBE1;HANGUL SYLLABLE MYINI;Lo;0;L;;;;;N;;;;;
-BBE2;HANGUL SYLLABLE MYINH;Lo;0;L;;;;;N;;;;;
-BBE3;HANGUL SYLLABLE MYID;Lo;0;L;;;;;N;;;;;
-BBE4;HANGUL SYLLABLE MYIL;Lo;0;L;;;;;N;;;;;
-BBE5;HANGUL SYLLABLE MYILG;Lo;0;L;;;;;N;;;;;
-BBE6;HANGUL SYLLABLE MYILM;Lo;0;L;;;;;N;;;;;
-BBE7;HANGUL SYLLABLE MYILB;Lo;0;L;;;;;N;;;;;
-BBE8;HANGUL SYLLABLE MYILS;Lo;0;L;;;;;N;;;;;
-BBE9;HANGUL SYLLABLE MYILT;Lo;0;L;;;;;N;;;;;
-BBEA;HANGUL SYLLABLE MYILP;Lo;0;L;;;;;N;;;;;
-BBEB;HANGUL SYLLABLE MYILH;Lo;0;L;;;;;N;;;;;
-BBEC;HANGUL SYLLABLE MYIM;Lo;0;L;;;;;N;;;;;
-BBED;HANGUL SYLLABLE MYIB;Lo;0;L;;;;;N;;;;;
-BBEE;HANGUL SYLLABLE MYIBS;Lo;0;L;;;;;N;;;;;
-BBEF;HANGUL SYLLABLE MYIS;Lo;0;L;;;;;N;;;;;
-BBF0;HANGUL SYLLABLE MYISS;Lo;0;L;;;;;N;;;;;
-BBF1;HANGUL SYLLABLE MYING;Lo;0;L;;;;;N;;;;;
-BBF2;HANGUL SYLLABLE MYIJ;Lo;0;L;;;;;N;;;;;
-BBF3;HANGUL SYLLABLE MYIC;Lo;0;L;;;;;N;;;;;
-BBF4;HANGUL SYLLABLE MYIK;Lo;0;L;;;;;N;;;;;
-BBF5;HANGUL SYLLABLE MYIT;Lo;0;L;;;;;N;;;;;
-BBF6;HANGUL SYLLABLE MYIP;Lo;0;L;;;;;N;;;;;
-BBF7;HANGUL SYLLABLE MYIH;Lo;0;L;;;;;N;;;;;
-BBF8;HANGUL SYLLABLE MI;Lo;0;L;;;;;N;;;;;
-BBF9;HANGUL SYLLABLE MIG;Lo;0;L;;;;;N;;;;;
-BBFA;HANGUL SYLLABLE MIGG;Lo;0;L;;;;;N;;;;;
-BBFB;HANGUL SYLLABLE MIGS;Lo;0;L;;;;;N;;;;;
-BBFC;HANGUL SYLLABLE MIN;Lo;0;L;;;;;N;;;;;
-BBFD;HANGUL SYLLABLE MINI;Lo;0;L;;;;;N;;;;;
-BBFE;HANGUL SYLLABLE MINH;Lo;0;L;;;;;N;;;;;
-BBFF;HANGUL SYLLABLE MID;Lo;0;L;;;;;N;;;;;
-BC00;HANGUL SYLLABLE MIL;Lo;0;L;;;;;N;;;;;
-BC01;HANGUL SYLLABLE MILG;Lo;0;L;;;;;N;;;;;
-BC02;HANGUL SYLLABLE MILM;Lo;0;L;;;;;N;;;;;
-BC03;HANGUL SYLLABLE MILB;Lo;0;L;;;;;N;;;;;
-BC04;HANGUL SYLLABLE MILS;Lo;0;L;;;;;N;;;;;
-BC05;HANGUL SYLLABLE MILT;Lo;0;L;;;;;N;;;;;
-BC06;HANGUL SYLLABLE MILP;Lo;0;L;;;;;N;;;;;
-BC07;HANGUL SYLLABLE MILH;Lo;0;L;;;;;N;;;;;
-BC08;HANGUL SYLLABLE MIM;Lo;0;L;;;;;N;;;;;
-BC09;HANGUL SYLLABLE MIB;Lo;0;L;;;;;N;;;;;
-BC0A;HANGUL SYLLABLE MIBS;Lo;0;L;;;;;N;;;;;
-BC0B;HANGUL SYLLABLE MIS;Lo;0;L;;;;;N;;;;;
-BC0C;HANGUL SYLLABLE MISS;Lo;0;L;;;;;N;;;;;
-BC0D;HANGUL SYLLABLE MING;Lo;0;L;;;;;N;;;;;
-BC0E;HANGUL SYLLABLE MIJ;Lo;0;L;;;;;N;;;;;
-BC0F;HANGUL SYLLABLE MIC;Lo;0;L;;;;;N;;;;;
-BC10;HANGUL SYLLABLE MIK;Lo;0;L;;;;;N;;;;;
-BC11;HANGUL SYLLABLE MIT;Lo;0;L;;;;;N;;;;;
-BC12;HANGUL SYLLABLE MIP;Lo;0;L;;;;;N;;;;;
-BC13;HANGUL SYLLABLE MIH;Lo;0;L;;;;;N;;;;;
-BC14;HANGUL SYLLABLE BA;Lo;0;L;;;;;N;;;;;
-BC15;HANGUL SYLLABLE BAG;Lo;0;L;;;;;N;;;;;
-BC16;HANGUL SYLLABLE BAGG;Lo;0;L;;;;;N;;;;;
-BC17;HANGUL SYLLABLE BAGS;Lo;0;L;;;;;N;;;;;
-BC18;HANGUL SYLLABLE BAN;Lo;0;L;;;;;N;;;;;
-BC19;HANGUL SYLLABLE BANI;Lo;0;L;;;;;N;;;;;
-BC1A;HANGUL SYLLABLE BANH;Lo;0;L;;;;;N;;;;;
-BC1B;HANGUL SYLLABLE BAD;Lo;0;L;;;;;N;;;;;
-BC1C;HANGUL SYLLABLE BAL;Lo;0;L;;;;;N;;;;;
-BC1D;HANGUL SYLLABLE BALG;Lo;0;L;;;;;N;;;;;
-BC1E;HANGUL SYLLABLE BALM;Lo;0;L;;;;;N;;;;;
-BC1F;HANGUL SYLLABLE BALB;Lo;0;L;;;;;N;;;;;
-BC20;HANGUL SYLLABLE BALS;Lo;0;L;;;;;N;;;;;
-BC21;HANGUL SYLLABLE BALT;Lo;0;L;;;;;N;;;;;
-BC22;HANGUL SYLLABLE BALP;Lo;0;L;;;;;N;;;;;
-BC23;HANGUL SYLLABLE BALH;Lo;0;L;;;;;N;;;;;
-BC24;HANGUL SYLLABLE BAM;Lo;0;L;;;;;N;;;;;
-BC25;HANGUL SYLLABLE BAB;Lo;0;L;;;;;N;;;;;
-BC26;HANGUL SYLLABLE BABS;Lo;0;L;;;;;N;;;;;
-BC27;HANGUL SYLLABLE BAS;Lo;0;L;;;;;N;;;;;
-BC28;HANGUL SYLLABLE BASS;Lo;0;L;;;;;N;;;;;
-BC29;HANGUL SYLLABLE BANG;Lo;0;L;;;;;N;;;;;
-BC2A;HANGUL SYLLABLE BAJ;Lo;0;L;;;;;N;;;;;
-BC2B;HANGUL SYLLABLE BAC;Lo;0;L;;;;;N;;;;;
-BC2C;HANGUL SYLLABLE BAK;Lo;0;L;;;;;N;;;;;
-BC2D;HANGUL SYLLABLE BAT;Lo;0;L;;;;;N;;;;;
-BC2E;HANGUL SYLLABLE BAP;Lo;0;L;;;;;N;;;;;
-BC2F;HANGUL SYLLABLE BAH;Lo;0;L;;;;;N;;;;;
-BC30;HANGUL SYLLABLE BAE;Lo;0;L;;;;;N;;;;;
-BC31;HANGUL SYLLABLE BAEG;Lo;0;L;;;;;N;;;;;
-BC32;HANGUL SYLLABLE BAEGG;Lo;0;L;;;;;N;;;;;
-BC33;HANGUL SYLLABLE BAEGS;Lo;0;L;;;;;N;;;;;
-BC34;HANGUL SYLLABLE BAEN;Lo;0;L;;;;;N;;;;;
-BC35;HANGUL SYLLABLE BAENI;Lo;0;L;;;;;N;;;;;
-BC36;HANGUL SYLLABLE BAENH;Lo;0;L;;;;;N;;;;;
-BC37;HANGUL SYLLABLE BAED;Lo;0;L;;;;;N;;;;;
-BC38;HANGUL SYLLABLE BAEL;Lo;0;L;;;;;N;;;;;
-BC39;HANGUL SYLLABLE BAELG;Lo;0;L;;;;;N;;;;;
-BC3A;HANGUL SYLLABLE BAELM;Lo;0;L;;;;;N;;;;;
-BC3B;HANGUL SYLLABLE BAELB;Lo;0;L;;;;;N;;;;;
-BC3C;HANGUL SYLLABLE BAELS;Lo;0;L;;;;;N;;;;;
-BC3D;HANGUL SYLLABLE BAELT;Lo;0;L;;;;;N;;;;;
-BC3E;HANGUL SYLLABLE BAELP;Lo;0;L;;;;;N;;;;;
-BC3F;HANGUL SYLLABLE BAELH;Lo;0;L;;;;;N;;;;;
-BC40;HANGUL SYLLABLE BAEM;Lo;0;L;;;;;N;;;;;
-BC41;HANGUL SYLLABLE BAEB;Lo;0;L;;;;;N;;;;;
-BC42;HANGUL SYLLABLE BAEBS;Lo;0;L;;;;;N;;;;;
-BC43;HANGUL SYLLABLE BAES;Lo;0;L;;;;;N;;;;;
-BC44;HANGUL SYLLABLE BAESS;Lo;0;L;;;;;N;;;;;
-BC45;HANGUL SYLLABLE BAENG;Lo;0;L;;;;;N;;;;;
-BC46;HANGUL SYLLABLE BAEJ;Lo;0;L;;;;;N;;;;;
-BC47;HANGUL SYLLABLE BAEC;Lo;0;L;;;;;N;;;;;
-BC48;HANGUL SYLLABLE BAEK;Lo;0;L;;;;;N;;;;;
-BC49;HANGUL SYLLABLE BAET;Lo;0;L;;;;;N;;;;;
-BC4A;HANGUL SYLLABLE BAEP;Lo;0;L;;;;;N;;;;;
-BC4B;HANGUL SYLLABLE BAEH;Lo;0;L;;;;;N;;;;;
-BC4C;HANGUL SYLLABLE BYA;Lo;0;L;;;;;N;;;;;
-BC4D;HANGUL SYLLABLE BYAG;Lo;0;L;;;;;N;;;;;
-BC4E;HANGUL SYLLABLE BYAGG;Lo;0;L;;;;;N;;;;;
-BC4F;HANGUL SYLLABLE BYAGS;Lo;0;L;;;;;N;;;;;
-BC50;HANGUL SYLLABLE BYAN;Lo;0;L;;;;;N;;;;;
-BC51;HANGUL SYLLABLE BYANI;Lo;0;L;;;;;N;;;;;
-BC52;HANGUL SYLLABLE BYANH;Lo;0;L;;;;;N;;;;;
-BC53;HANGUL SYLLABLE BYAD;Lo;0;L;;;;;N;;;;;
-BC54;HANGUL SYLLABLE BYAL;Lo;0;L;;;;;N;;;;;
-BC55;HANGUL SYLLABLE BYALG;Lo;0;L;;;;;N;;;;;
-BC56;HANGUL SYLLABLE BYALM;Lo;0;L;;;;;N;;;;;
-BC57;HANGUL SYLLABLE BYALB;Lo;0;L;;;;;N;;;;;
-BC58;HANGUL SYLLABLE BYALS;Lo;0;L;;;;;N;;;;;
-BC59;HANGUL SYLLABLE BYALT;Lo;0;L;;;;;N;;;;;
-BC5A;HANGUL SYLLABLE BYALP;Lo;0;L;;;;;N;;;;;
-BC5B;HANGUL SYLLABLE BYALH;Lo;0;L;;;;;N;;;;;
-BC5C;HANGUL SYLLABLE BYAM;Lo;0;L;;;;;N;;;;;
-BC5D;HANGUL SYLLABLE BYAB;Lo;0;L;;;;;N;;;;;
-BC5E;HANGUL SYLLABLE BYABS;Lo;0;L;;;;;N;;;;;
-BC5F;HANGUL SYLLABLE BYAS;Lo;0;L;;;;;N;;;;;
-BC60;HANGUL SYLLABLE BYASS;Lo;0;L;;;;;N;;;;;
-BC61;HANGUL SYLLABLE BYANG;Lo;0;L;;;;;N;;;;;
-BC62;HANGUL SYLLABLE BYAJ;Lo;0;L;;;;;N;;;;;
-BC63;HANGUL SYLLABLE BYAC;Lo;0;L;;;;;N;;;;;
-BC64;HANGUL SYLLABLE BYAK;Lo;0;L;;;;;N;;;;;
-BC65;HANGUL SYLLABLE BYAT;Lo;0;L;;;;;N;;;;;
-BC66;HANGUL SYLLABLE BYAP;Lo;0;L;;;;;N;;;;;
-BC67;HANGUL SYLLABLE BYAH;Lo;0;L;;;;;N;;;;;
-BC68;HANGUL SYLLABLE BYAE;Lo;0;L;;;;;N;;;;;
-BC69;HANGUL SYLLABLE BYAEG;Lo;0;L;;;;;N;;;;;
-BC6A;HANGUL SYLLABLE BYAEGG;Lo;0;L;;;;;N;;;;;
-BC6B;HANGUL SYLLABLE BYAEGS;Lo;0;L;;;;;N;;;;;
-BC6C;HANGUL SYLLABLE BYAEN;Lo;0;L;;;;;N;;;;;
-BC6D;HANGUL SYLLABLE BYAENI;Lo;0;L;;;;;N;;;;;
-BC6E;HANGUL SYLLABLE BYAENH;Lo;0;L;;;;;N;;;;;
-BC6F;HANGUL SYLLABLE BYAED;Lo;0;L;;;;;N;;;;;
-BC70;HANGUL SYLLABLE BYAEL;Lo;0;L;;;;;N;;;;;
-BC71;HANGUL SYLLABLE BYAELG;Lo;0;L;;;;;N;;;;;
-BC72;HANGUL SYLLABLE BYAELM;Lo;0;L;;;;;N;;;;;
-BC73;HANGUL SYLLABLE BYAELB;Lo;0;L;;;;;N;;;;;
-BC74;HANGUL SYLLABLE BYAELS;Lo;0;L;;;;;N;;;;;
-BC75;HANGUL SYLLABLE BYAELT;Lo;0;L;;;;;N;;;;;
-BC76;HANGUL SYLLABLE BYAELP;Lo;0;L;;;;;N;;;;;
-BC77;HANGUL SYLLABLE BYAELH;Lo;0;L;;;;;N;;;;;
-BC78;HANGUL SYLLABLE BYAEM;Lo;0;L;;;;;N;;;;;
-BC79;HANGUL SYLLABLE BYAEB;Lo;0;L;;;;;N;;;;;
-BC7A;HANGUL SYLLABLE BYAEBS;Lo;0;L;;;;;N;;;;;
-BC7B;HANGUL SYLLABLE BYAES;Lo;0;L;;;;;N;;;;;
-BC7C;HANGUL SYLLABLE BYAESS;Lo;0;L;;;;;N;;;;;
-BC7D;HANGUL SYLLABLE BYAENG;Lo;0;L;;;;;N;;;;;
-BC7E;HANGUL SYLLABLE BYAEJ;Lo;0;L;;;;;N;;;;;
-BC7F;HANGUL SYLLABLE BYAEC;Lo;0;L;;;;;N;;;;;
-BC80;HANGUL SYLLABLE BYAEK;Lo;0;L;;;;;N;;;;;
-BC81;HANGUL SYLLABLE BYAET;Lo;0;L;;;;;N;;;;;
-BC82;HANGUL SYLLABLE BYAEP;Lo;0;L;;;;;N;;;;;
-BC83;HANGUL SYLLABLE BYAEH;Lo;0;L;;;;;N;;;;;
-BC84;HANGUL SYLLABLE BEO;Lo;0;L;;;;;N;;;;;
-BC85;HANGUL SYLLABLE BEOG;Lo;0;L;;;;;N;;;;;
-BC86;HANGUL SYLLABLE BEOGG;Lo;0;L;;;;;N;;;;;
-BC87;HANGUL SYLLABLE BEOGS;Lo;0;L;;;;;N;;;;;
-BC88;HANGUL SYLLABLE BEON;Lo;0;L;;;;;N;;;;;
-BC89;HANGUL SYLLABLE BEONI;Lo;0;L;;;;;N;;;;;
-BC8A;HANGUL SYLLABLE BEONH;Lo;0;L;;;;;N;;;;;
-BC8B;HANGUL SYLLABLE BEOD;Lo;0;L;;;;;N;;;;;
-BC8C;HANGUL SYLLABLE BEOL;Lo;0;L;;;;;N;;;;;
-BC8D;HANGUL SYLLABLE BEOLG;Lo;0;L;;;;;N;;;;;
-BC8E;HANGUL SYLLABLE BEOLM;Lo;0;L;;;;;N;;;;;
-BC8F;HANGUL SYLLABLE BEOLB;Lo;0;L;;;;;N;;;;;
-BC90;HANGUL SYLLABLE BEOLS;Lo;0;L;;;;;N;;;;;
-BC91;HANGUL SYLLABLE BEOLT;Lo;0;L;;;;;N;;;;;
-BC92;HANGUL SYLLABLE BEOLP;Lo;0;L;;;;;N;;;;;
-BC93;HANGUL SYLLABLE BEOLH;Lo;0;L;;;;;N;;;;;
-BC94;HANGUL SYLLABLE BEOM;Lo;0;L;;;;;N;;;;;
-BC95;HANGUL SYLLABLE BEOB;Lo;0;L;;;;;N;;;;;
-BC96;HANGUL SYLLABLE BEOBS;Lo;0;L;;;;;N;;;;;
-BC97;HANGUL SYLLABLE BEOS;Lo;0;L;;;;;N;;;;;
-BC98;HANGUL SYLLABLE BEOSS;Lo;0;L;;;;;N;;;;;
-BC99;HANGUL SYLLABLE BEONG;Lo;0;L;;;;;N;;;;;
-BC9A;HANGUL SYLLABLE BEOJ;Lo;0;L;;;;;N;;;;;
-BC9B;HANGUL SYLLABLE BEOC;Lo;0;L;;;;;N;;;;;
-BC9C;HANGUL SYLLABLE BEOK;Lo;0;L;;;;;N;;;;;
-BC9D;HANGUL SYLLABLE BEOT;Lo;0;L;;;;;N;;;;;
-BC9E;HANGUL SYLLABLE BEOP;Lo;0;L;;;;;N;;;;;
-BC9F;HANGUL SYLLABLE BEOH;Lo;0;L;;;;;N;;;;;
-BCA0;HANGUL SYLLABLE BE;Lo;0;L;;;;;N;;;;;
-BCA1;HANGUL SYLLABLE BEG;Lo;0;L;;;;;N;;;;;
-BCA2;HANGUL SYLLABLE BEGG;Lo;0;L;;;;;N;;;;;
-BCA3;HANGUL SYLLABLE BEGS;Lo;0;L;;;;;N;;;;;
-BCA4;HANGUL SYLLABLE BEN;Lo;0;L;;;;;N;;;;;
-BCA5;HANGUL SYLLABLE BENI;Lo;0;L;;;;;N;;;;;
-BCA6;HANGUL SYLLABLE BENH;Lo;0;L;;;;;N;;;;;
-BCA7;HANGUL SYLLABLE BED;Lo;0;L;;;;;N;;;;;
-BCA8;HANGUL SYLLABLE BEL;Lo;0;L;;;;;N;;;;;
-BCA9;HANGUL SYLLABLE BELG;Lo;0;L;;;;;N;;;;;
-BCAA;HANGUL SYLLABLE BELM;Lo;0;L;;;;;N;;;;;
-BCAB;HANGUL SYLLABLE BELB;Lo;0;L;;;;;N;;;;;
-BCAC;HANGUL SYLLABLE BELS;Lo;0;L;;;;;N;;;;;
-BCAD;HANGUL SYLLABLE BELT;Lo;0;L;;;;;N;;;;;
-BCAE;HANGUL SYLLABLE BELP;Lo;0;L;;;;;N;;;;;
-BCAF;HANGUL SYLLABLE BELH;Lo;0;L;;;;;N;;;;;
-BCB0;HANGUL SYLLABLE BEM;Lo;0;L;;;;;N;;;;;
-BCB1;HANGUL SYLLABLE BEB;Lo;0;L;;;;;N;;;;;
-BCB2;HANGUL SYLLABLE BEBS;Lo;0;L;;;;;N;;;;;
-BCB3;HANGUL SYLLABLE BES;Lo;0;L;;;;;N;;;;;
-BCB4;HANGUL SYLLABLE BESS;Lo;0;L;;;;;N;;;;;
-BCB5;HANGUL SYLLABLE BENG;Lo;0;L;;;;;N;;;;;
-BCB6;HANGUL SYLLABLE BEJ;Lo;0;L;;;;;N;;;;;
-BCB7;HANGUL SYLLABLE BEC;Lo;0;L;;;;;N;;;;;
-BCB8;HANGUL SYLLABLE BEK;Lo;0;L;;;;;N;;;;;
-BCB9;HANGUL SYLLABLE BET;Lo;0;L;;;;;N;;;;;
-BCBA;HANGUL SYLLABLE BEP;Lo;0;L;;;;;N;;;;;
-BCBB;HANGUL SYLLABLE BEH;Lo;0;L;;;;;N;;;;;
-BCBC;HANGUL SYLLABLE BYEO;Lo;0;L;;;;;N;;;;;
-BCBD;HANGUL SYLLABLE BYEOG;Lo;0;L;;;;;N;;;;;
-BCBE;HANGUL SYLLABLE BYEOGG;Lo;0;L;;;;;N;;;;;
-BCBF;HANGUL SYLLABLE BYEOGS;Lo;0;L;;;;;N;;;;;
-BCC0;HANGUL SYLLABLE BYEON;Lo;0;L;;;;;N;;;;;
-BCC1;HANGUL SYLLABLE BYEONI;Lo;0;L;;;;;N;;;;;
-BCC2;HANGUL SYLLABLE BYEONH;Lo;0;L;;;;;N;;;;;
-BCC3;HANGUL SYLLABLE BYEOD;Lo;0;L;;;;;N;;;;;
-BCC4;HANGUL SYLLABLE BYEOL;Lo;0;L;;;;;N;;;;;
-BCC5;HANGUL SYLLABLE BYEOLG;Lo;0;L;;;;;N;;;;;
-BCC6;HANGUL SYLLABLE BYEOLM;Lo;0;L;;;;;N;;;;;
-BCC7;HANGUL SYLLABLE BYEOLB;Lo;0;L;;;;;N;;;;;
-BCC8;HANGUL SYLLABLE BYEOLS;Lo;0;L;;;;;N;;;;;
-BCC9;HANGUL SYLLABLE BYEOLT;Lo;0;L;;;;;N;;;;;
-BCCA;HANGUL SYLLABLE BYEOLP;Lo;0;L;;;;;N;;;;;
-BCCB;HANGUL SYLLABLE BYEOLH;Lo;0;L;;;;;N;;;;;
-BCCC;HANGUL SYLLABLE BYEOM;Lo;0;L;;;;;N;;;;;
-BCCD;HANGUL SYLLABLE BYEOB;Lo;0;L;;;;;N;;;;;
-BCCE;HANGUL SYLLABLE BYEOBS;Lo;0;L;;;;;N;;;;;
-BCCF;HANGUL SYLLABLE BYEOS;Lo;0;L;;;;;N;;;;;
-BCD0;HANGUL SYLLABLE BYEOSS;Lo;0;L;;;;;N;;;;;
-BCD1;HANGUL SYLLABLE BYEONG;Lo;0;L;;;;;N;;;;;
-BCD2;HANGUL SYLLABLE BYEOJ;Lo;0;L;;;;;N;;;;;
-BCD3;HANGUL SYLLABLE BYEOC;Lo;0;L;;;;;N;;;;;
-BCD4;HANGUL SYLLABLE BYEOK;Lo;0;L;;;;;N;;;;;
-BCD5;HANGUL SYLLABLE BYEOT;Lo;0;L;;;;;N;;;;;
-BCD6;HANGUL SYLLABLE BYEOP;Lo;0;L;;;;;N;;;;;
-BCD7;HANGUL SYLLABLE BYEOH;Lo;0;L;;;;;N;;;;;
-BCD8;HANGUL SYLLABLE BYE;Lo;0;L;;;;;N;;;;;
-BCD9;HANGUL SYLLABLE BYEG;Lo;0;L;;;;;N;;;;;
-BCDA;HANGUL SYLLABLE BYEGG;Lo;0;L;;;;;N;;;;;
-BCDB;HANGUL SYLLABLE BYEGS;Lo;0;L;;;;;N;;;;;
-BCDC;HANGUL SYLLABLE BYEN;Lo;0;L;;;;;N;;;;;
-BCDD;HANGUL SYLLABLE BYENI;Lo;0;L;;;;;N;;;;;
-BCDE;HANGUL SYLLABLE BYENH;Lo;0;L;;;;;N;;;;;
-BCDF;HANGUL SYLLABLE BYED;Lo;0;L;;;;;N;;;;;
-BCE0;HANGUL SYLLABLE BYEL;Lo;0;L;;;;;N;;;;;
-BCE1;HANGUL SYLLABLE BYELG;Lo;0;L;;;;;N;;;;;
-BCE2;HANGUL SYLLABLE BYELM;Lo;0;L;;;;;N;;;;;
-BCE3;HANGUL SYLLABLE BYELB;Lo;0;L;;;;;N;;;;;
-BCE4;HANGUL SYLLABLE BYELS;Lo;0;L;;;;;N;;;;;
-BCE5;HANGUL SYLLABLE BYELT;Lo;0;L;;;;;N;;;;;
-BCE6;HANGUL SYLLABLE BYELP;Lo;0;L;;;;;N;;;;;
-BCE7;HANGUL SYLLABLE BYELH;Lo;0;L;;;;;N;;;;;
-BCE8;HANGUL SYLLABLE BYEM;Lo;0;L;;;;;N;;;;;
-BCE9;HANGUL SYLLABLE BYEB;Lo;0;L;;;;;N;;;;;
-BCEA;HANGUL SYLLABLE BYEBS;Lo;0;L;;;;;N;;;;;
-BCEB;HANGUL SYLLABLE BYES;Lo;0;L;;;;;N;;;;;
-BCEC;HANGUL SYLLABLE BYESS;Lo;0;L;;;;;N;;;;;
-BCED;HANGUL SYLLABLE BYENG;Lo;0;L;;;;;N;;;;;
-BCEE;HANGUL SYLLABLE BYEJ;Lo;0;L;;;;;N;;;;;
-BCEF;HANGUL SYLLABLE BYEC;Lo;0;L;;;;;N;;;;;
-BCF0;HANGUL SYLLABLE BYEK;Lo;0;L;;;;;N;;;;;
-BCF1;HANGUL SYLLABLE BYET;Lo;0;L;;;;;N;;;;;
-BCF2;HANGUL SYLLABLE BYEP;Lo;0;L;;;;;N;;;;;
-BCF3;HANGUL SYLLABLE BYEH;Lo;0;L;;;;;N;;;;;
-BCF4;HANGUL SYLLABLE BO;Lo;0;L;;;;;N;;;;;
-BCF5;HANGUL SYLLABLE BOG;Lo;0;L;;;;;N;;;;;
-BCF6;HANGUL SYLLABLE BOGG;Lo;0;L;;;;;N;;;;;
-BCF7;HANGUL SYLLABLE BOGS;Lo;0;L;;;;;N;;;;;
-BCF8;HANGUL SYLLABLE BON;Lo;0;L;;;;;N;;;;;
-BCF9;HANGUL SYLLABLE BONI;Lo;0;L;;;;;N;;;;;
-BCFA;HANGUL SYLLABLE BONH;Lo;0;L;;;;;N;;;;;
-BCFB;HANGUL SYLLABLE BOD;Lo;0;L;;;;;N;;;;;
-BCFC;HANGUL SYLLABLE BOL;Lo;0;L;;;;;N;;;;;
-BCFD;HANGUL SYLLABLE BOLG;Lo;0;L;;;;;N;;;;;
-BCFE;HANGUL SYLLABLE BOLM;Lo;0;L;;;;;N;;;;;
-BCFF;HANGUL SYLLABLE BOLB;Lo;0;L;;;;;N;;;;;
-BD00;HANGUL SYLLABLE BOLS;Lo;0;L;;;;;N;;;;;
-BD01;HANGUL SYLLABLE BOLT;Lo;0;L;;;;;N;;;;;
-BD02;HANGUL SYLLABLE BOLP;Lo;0;L;;;;;N;;;;;
-BD03;HANGUL SYLLABLE BOLH;Lo;0;L;;;;;N;;;;;
-BD04;HANGUL SYLLABLE BOM;Lo;0;L;;;;;N;;;;;
-BD05;HANGUL SYLLABLE BOB;Lo;0;L;;;;;N;;;;;
-BD06;HANGUL SYLLABLE BOBS;Lo;0;L;;;;;N;;;;;
-BD07;HANGUL SYLLABLE BOS;Lo;0;L;;;;;N;;;;;
-BD08;HANGUL SYLLABLE BOSS;Lo;0;L;;;;;N;;;;;
-BD09;HANGUL SYLLABLE BONG;Lo;0;L;;;;;N;;;;;
-BD0A;HANGUL SYLLABLE BOJ;Lo;0;L;;;;;N;;;;;
-BD0B;HANGUL SYLLABLE BOC;Lo;0;L;;;;;N;;;;;
-BD0C;HANGUL SYLLABLE BOK;Lo;0;L;;;;;N;;;;;
-BD0D;HANGUL SYLLABLE BOT;Lo;0;L;;;;;N;;;;;
-BD0E;HANGUL SYLLABLE BOP;Lo;0;L;;;;;N;;;;;
-BD0F;HANGUL SYLLABLE BOH;Lo;0;L;;;;;N;;;;;
-BD10;HANGUL SYLLABLE BWA;Lo;0;L;;;;;N;;;;;
-BD11;HANGUL SYLLABLE BWAG;Lo;0;L;;;;;N;;;;;
-BD12;HANGUL SYLLABLE BWAGG;Lo;0;L;;;;;N;;;;;
-BD13;HANGUL SYLLABLE BWAGS;Lo;0;L;;;;;N;;;;;
-BD14;HANGUL SYLLABLE BWAN;Lo;0;L;;;;;N;;;;;
-BD15;HANGUL SYLLABLE BWANI;Lo;0;L;;;;;N;;;;;
-BD16;HANGUL SYLLABLE BWANH;Lo;0;L;;;;;N;;;;;
-BD17;HANGUL SYLLABLE BWAD;Lo;0;L;;;;;N;;;;;
-BD18;HANGUL SYLLABLE BWAL;Lo;0;L;;;;;N;;;;;
-BD19;HANGUL SYLLABLE BWALG;Lo;0;L;;;;;N;;;;;
-BD1A;HANGUL SYLLABLE BWALM;Lo;0;L;;;;;N;;;;;
-BD1B;HANGUL SYLLABLE BWALB;Lo;0;L;;;;;N;;;;;
-BD1C;HANGUL SYLLABLE BWALS;Lo;0;L;;;;;N;;;;;
-BD1D;HANGUL SYLLABLE BWALT;Lo;0;L;;;;;N;;;;;
-BD1E;HANGUL SYLLABLE BWALP;Lo;0;L;;;;;N;;;;;
-BD1F;HANGUL SYLLABLE BWALH;Lo;0;L;;;;;N;;;;;
-BD20;HANGUL SYLLABLE BWAM;Lo;0;L;;;;;N;;;;;
-BD21;HANGUL SYLLABLE BWAB;Lo;0;L;;;;;N;;;;;
-BD22;HANGUL SYLLABLE BWABS;Lo;0;L;;;;;N;;;;;
-BD23;HANGUL SYLLABLE BWAS;Lo;0;L;;;;;N;;;;;
-BD24;HANGUL SYLLABLE BWASS;Lo;0;L;;;;;N;;;;;
-BD25;HANGUL SYLLABLE BWANG;Lo;0;L;;;;;N;;;;;
-BD26;HANGUL SYLLABLE BWAJ;Lo;0;L;;;;;N;;;;;
-BD27;HANGUL SYLLABLE BWAC;Lo;0;L;;;;;N;;;;;
-BD28;HANGUL SYLLABLE BWAK;Lo;0;L;;;;;N;;;;;
-BD29;HANGUL SYLLABLE BWAT;Lo;0;L;;;;;N;;;;;
-BD2A;HANGUL SYLLABLE BWAP;Lo;0;L;;;;;N;;;;;
-BD2B;HANGUL SYLLABLE BWAH;Lo;0;L;;;;;N;;;;;
-BD2C;HANGUL SYLLABLE BWAE;Lo;0;L;;;;;N;;;;;
-BD2D;HANGUL SYLLABLE BWAEG;Lo;0;L;;;;;N;;;;;
-BD2E;HANGUL SYLLABLE BWAEGG;Lo;0;L;;;;;N;;;;;
-BD2F;HANGUL SYLLABLE BWAEGS;Lo;0;L;;;;;N;;;;;
-BD30;HANGUL SYLLABLE BWAEN;Lo;0;L;;;;;N;;;;;
-BD31;HANGUL SYLLABLE BWAENI;Lo;0;L;;;;;N;;;;;
-BD32;HANGUL SYLLABLE BWAENH;Lo;0;L;;;;;N;;;;;
-BD33;HANGUL SYLLABLE BWAED;Lo;0;L;;;;;N;;;;;
-BD34;HANGUL SYLLABLE BWAEL;Lo;0;L;;;;;N;;;;;
-BD35;HANGUL SYLLABLE BWAELG;Lo;0;L;;;;;N;;;;;
-BD36;HANGUL SYLLABLE BWAELM;Lo;0;L;;;;;N;;;;;
-BD37;HANGUL SYLLABLE BWAELB;Lo;0;L;;;;;N;;;;;
-BD38;HANGUL SYLLABLE BWAELS;Lo;0;L;;;;;N;;;;;
-BD39;HANGUL SYLLABLE BWAELT;Lo;0;L;;;;;N;;;;;
-BD3A;HANGUL SYLLABLE BWAELP;Lo;0;L;;;;;N;;;;;
-BD3B;HANGUL SYLLABLE BWAELH;Lo;0;L;;;;;N;;;;;
-BD3C;HANGUL SYLLABLE BWAEM;Lo;0;L;;;;;N;;;;;
-BD3D;HANGUL SYLLABLE BWAEB;Lo;0;L;;;;;N;;;;;
-BD3E;HANGUL SYLLABLE BWAEBS;Lo;0;L;;;;;N;;;;;
-BD3F;HANGUL SYLLABLE BWAES;Lo;0;L;;;;;N;;;;;
-BD40;HANGUL SYLLABLE BWAESS;Lo;0;L;;;;;N;;;;;
-BD41;HANGUL SYLLABLE BWAENG;Lo;0;L;;;;;N;;;;;
-BD42;HANGUL SYLLABLE BWAEJ;Lo;0;L;;;;;N;;;;;
-BD43;HANGUL SYLLABLE BWAEC;Lo;0;L;;;;;N;;;;;
-BD44;HANGUL SYLLABLE BWAEK;Lo;0;L;;;;;N;;;;;
-BD45;HANGUL SYLLABLE BWAET;Lo;0;L;;;;;N;;;;;
-BD46;HANGUL SYLLABLE BWAEP;Lo;0;L;;;;;N;;;;;
-BD47;HANGUL SYLLABLE BWAEH;Lo;0;L;;;;;N;;;;;
-BD48;HANGUL SYLLABLE BOE;Lo;0;L;;;;;N;;;;;
-BD49;HANGUL SYLLABLE BOEG;Lo;0;L;;;;;N;;;;;
-BD4A;HANGUL SYLLABLE BOEGG;Lo;0;L;;;;;N;;;;;
-BD4B;HANGUL SYLLABLE BOEGS;Lo;0;L;;;;;N;;;;;
-BD4C;HANGUL SYLLABLE BOEN;Lo;0;L;;;;;N;;;;;
-BD4D;HANGUL SYLLABLE BOENI;Lo;0;L;;;;;N;;;;;
-BD4E;HANGUL SYLLABLE BOENH;Lo;0;L;;;;;N;;;;;
-BD4F;HANGUL SYLLABLE BOED;Lo;0;L;;;;;N;;;;;
-BD50;HANGUL SYLLABLE BOEL;Lo;0;L;;;;;N;;;;;
-BD51;HANGUL SYLLABLE BOELG;Lo;0;L;;;;;N;;;;;
-BD52;HANGUL SYLLABLE BOELM;Lo;0;L;;;;;N;;;;;
-BD53;HANGUL SYLLABLE BOELB;Lo;0;L;;;;;N;;;;;
-BD54;HANGUL SYLLABLE BOELS;Lo;0;L;;;;;N;;;;;
-BD55;HANGUL SYLLABLE BOELT;Lo;0;L;;;;;N;;;;;
-BD56;HANGUL SYLLABLE BOELP;Lo;0;L;;;;;N;;;;;
-BD57;HANGUL SYLLABLE BOELH;Lo;0;L;;;;;N;;;;;
-BD58;HANGUL SYLLABLE BOEM;Lo;0;L;;;;;N;;;;;
-BD59;HANGUL SYLLABLE BOEB;Lo;0;L;;;;;N;;;;;
-BD5A;HANGUL SYLLABLE BOEBS;Lo;0;L;;;;;N;;;;;
-BD5B;HANGUL SYLLABLE BOES;Lo;0;L;;;;;N;;;;;
-BD5C;HANGUL SYLLABLE BOESS;Lo;0;L;;;;;N;;;;;
-BD5D;HANGUL SYLLABLE BOENG;Lo;0;L;;;;;N;;;;;
-BD5E;HANGUL SYLLABLE BOEJ;Lo;0;L;;;;;N;;;;;
-BD5F;HANGUL SYLLABLE BOEC;Lo;0;L;;;;;N;;;;;
-BD60;HANGUL SYLLABLE BOEK;Lo;0;L;;;;;N;;;;;
-BD61;HANGUL SYLLABLE BOET;Lo;0;L;;;;;N;;;;;
-BD62;HANGUL SYLLABLE BOEP;Lo;0;L;;;;;N;;;;;
-BD63;HANGUL SYLLABLE BOEH;Lo;0;L;;;;;N;;;;;
-BD64;HANGUL SYLLABLE BYO;Lo;0;L;;;;;N;;;;;
-BD65;HANGUL SYLLABLE BYOG;Lo;0;L;;;;;N;;;;;
-BD66;HANGUL SYLLABLE BYOGG;Lo;0;L;;;;;N;;;;;
-BD67;HANGUL SYLLABLE BYOGS;Lo;0;L;;;;;N;;;;;
-BD68;HANGUL SYLLABLE BYON;Lo;0;L;;;;;N;;;;;
-BD69;HANGUL SYLLABLE BYONI;Lo;0;L;;;;;N;;;;;
-BD6A;HANGUL SYLLABLE BYONH;Lo;0;L;;;;;N;;;;;
-BD6B;HANGUL SYLLABLE BYOD;Lo;0;L;;;;;N;;;;;
-BD6C;HANGUL SYLLABLE BYOL;Lo;0;L;;;;;N;;;;;
-BD6D;HANGUL SYLLABLE BYOLG;Lo;0;L;;;;;N;;;;;
-BD6E;HANGUL SYLLABLE BYOLM;Lo;0;L;;;;;N;;;;;
-BD6F;HANGUL SYLLABLE BYOLB;Lo;0;L;;;;;N;;;;;
-BD70;HANGUL SYLLABLE BYOLS;Lo;0;L;;;;;N;;;;;
-BD71;HANGUL SYLLABLE BYOLT;Lo;0;L;;;;;N;;;;;
-BD72;HANGUL SYLLABLE BYOLP;Lo;0;L;;;;;N;;;;;
-BD73;HANGUL SYLLABLE BYOLH;Lo;0;L;;;;;N;;;;;
-BD74;HANGUL SYLLABLE BYOM;Lo;0;L;;;;;N;;;;;
-BD75;HANGUL SYLLABLE BYOB;Lo;0;L;;;;;N;;;;;
-BD76;HANGUL SYLLABLE BYOBS;Lo;0;L;;;;;N;;;;;
-BD77;HANGUL SYLLABLE BYOS;Lo;0;L;;;;;N;;;;;
-BD78;HANGUL SYLLABLE BYOSS;Lo;0;L;;;;;N;;;;;
-BD79;HANGUL SYLLABLE BYONG;Lo;0;L;;;;;N;;;;;
-BD7A;HANGUL SYLLABLE BYOJ;Lo;0;L;;;;;N;;;;;
-BD7B;HANGUL SYLLABLE BYOC;Lo;0;L;;;;;N;;;;;
-BD7C;HANGUL SYLLABLE BYOK;Lo;0;L;;;;;N;;;;;
-BD7D;HANGUL SYLLABLE BYOT;Lo;0;L;;;;;N;;;;;
-BD7E;HANGUL SYLLABLE BYOP;Lo;0;L;;;;;N;;;;;
-BD7F;HANGUL SYLLABLE BYOH;Lo;0;L;;;;;N;;;;;
-BD80;HANGUL SYLLABLE BU;Lo;0;L;;;;;N;;;;;
-BD81;HANGUL SYLLABLE BUG;Lo;0;L;;;;;N;;;;;
-BD82;HANGUL SYLLABLE BUGG;Lo;0;L;;;;;N;;;;;
-BD83;HANGUL SYLLABLE BUGS;Lo;0;L;;;;;N;;;;;
-BD84;HANGUL SYLLABLE BUN;Lo;0;L;;;;;N;;;;;
-BD85;HANGUL SYLLABLE BUNI;Lo;0;L;;;;;N;;;;;
-BD86;HANGUL SYLLABLE BUNH;Lo;0;L;;;;;N;;;;;
-BD87;HANGUL SYLLABLE BUD;Lo;0;L;;;;;N;;;;;
-BD88;HANGUL SYLLABLE BUL;Lo;0;L;;;;;N;;;;;
-BD89;HANGUL SYLLABLE BULG;Lo;0;L;;;;;N;;;;;
-BD8A;HANGUL SYLLABLE BULM;Lo;0;L;;;;;N;;;;;
-BD8B;HANGUL SYLLABLE BULB;Lo;0;L;;;;;N;;;;;
-BD8C;HANGUL SYLLABLE BULS;Lo;0;L;;;;;N;;;;;
-BD8D;HANGUL SYLLABLE BULT;Lo;0;L;;;;;N;;;;;
-BD8E;HANGUL SYLLABLE BULP;Lo;0;L;;;;;N;;;;;
-BD8F;HANGUL SYLLABLE BULH;Lo;0;L;;;;;N;;;;;
-BD90;HANGUL SYLLABLE BUM;Lo;0;L;;;;;N;;;;;
-BD91;HANGUL SYLLABLE BUB;Lo;0;L;;;;;N;;;;;
-BD92;HANGUL SYLLABLE BUBS;Lo;0;L;;;;;N;;;;;
-BD93;HANGUL SYLLABLE BUS;Lo;0;L;;;;;N;;;;;
-BD94;HANGUL SYLLABLE BUSS;Lo;0;L;;;;;N;;;;;
-BD95;HANGUL SYLLABLE BUNG;Lo;0;L;;;;;N;;;;;
-BD96;HANGUL SYLLABLE BUJ;Lo;0;L;;;;;N;;;;;
-BD97;HANGUL SYLLABLE BUC;Lo;0;L;;;;;N;;;;;
-BD98;HANGUL SYLLABLE BUK;Lo;0;L;;;;;N;;;;;
-BD99;HANGUL SYLLABLE BUT;Lo;0;L;;;;;N;;;;;
-BD9A;HANGUL SYLLABLE BUP;Lo;0;L;;;;;N;;;;;
-BD9B;HANGUL SYLLABLE BUH;Lo;0;L;;;;;N;;;;;
-BD9C;HANGUL SYLLABLE BWEO;Lo;0;L;;;;;N;;;;;
-BD9D;HANGUL SYLLABLE BWEOG;Lo;0;L;;;;;N;;;;;
-BD9E;HANGUL SYLLABLE BWEOGG;Lo;0;L;;;;;N;;;;;
-BD9F;HANGUL SYLLABLE BWEOGS;Lo;0;L;;;;;N;;;;;
-BDA0;HANGUL SYLLABLE BWEON;Lo;0;L;;;;;N;;;;;
-BDA1;HANGUL SYLLABLE BWEONI;Lo;0;L;;;;;N;;;;;
-BDA2;HANGUL SYLLABLE BWEONH;Lo;0;L;;;;;N;;;;;
-BDA3;HANGUL SYLLABLE BWEOD;Lo;0;L;;;;;N;;;;;
-BDA4;HANGUL SYLLABLE BWEOL;Lo;0;L;;;;;N;;;;;
-BDA5;HANGUL SYLLABLE BWEOLG;Lo;0;L;;;;;N;;;;;
-BDA6;HANGUL SYLLABLE BWEOLM;Lo;0;L;;;;;N;;;;;
-BDA7;HANGUL SYLLABLE BWEOLB;Lo;0;L;;;;;N;;;;;
-BDA8;HANGUL SYLLABLE BWEOLS;Lo;0;L;;;;;N;;;;;
-BDA9;HANGUL SYLLABLE BWEOLT;Lo;0;L;;;;;N;;;;;
-BDAA;HANGUL SYLLABLE BWEOLP;Lo;0;L;;;;;N;;;;;
-BDAB;HANGUL SYLLABLE BWEOLH;Lo;0;L;;;;;N;;;;;
-BDAC;HANGUL SYLLABLE BWEOM;Lo;0;L;;;;;N;;;;;
-BDAD;HANGUL SYLLABLE BWEOB;Lo;0;L;;;;;N;;;;;
-BDAE;HANGUL SYLLABLE BWEOBS;Lo;0;L;;;;;N;;;;;
-BDAF;HANGUL SYLLABLE BWEOS;Lo;0;L;;;;;N;;;;;
-BDB0;HANGUL SYLLABLE BWEOSS;Lo;0;L;;;;;N;;;;;
-BDB1;HANGUL SYLLABLE BWEONG;Lo;0;L;;;;;N;;;;;
-BDB2;HANGUL SYLLABLE BWEOJ;Lo;0;L;;;;;N;;;;;
-BDB3;HANGUL SYLLABLE BWEOC;Lo;0;L;;;;;N;;;;;
-BDB4;HANGUL SYLLABLE BWEOK;Lo;0;L;;;;;N;;;;;
-BDB5;HANGUL SYLLABLE BWEOT;Lo;0;L;;;;;N;;;;;
-BDB6;HANGUL SYLLABLE BWEOP;Lo;0;L;;;;;N;;;;;
-BDB7;HANGUL SYLLABLE BWEOH;Lo;0;L;;;;;N;;;;;
-BDB8;HANGUL SYLLABLE BWE;Lo;0;L;;;;;N;;;;;
-BDB9;HANGUL SYLLABLE BWEG;Lo;0;L;;;;;N;;;;;
-BDBA;HANGUL SYLLABLE BWEGG;Lo;0;L;;;;;N;;;;;
-BDBB;HANGUL SYLLABLE BWEGS;Lo;0;L;;;;;N;;;;;
-BDBC;HANGUL SYLLABLE BWEN;Lo;0;L;;;;;N;;;;;
-BDBD;HANGUL SYLLABLE BWENI;Lo;0;L;;;;;N;;;;;
-BDBE;HANGUL SYLLABLE BWENH;Lo;0;L;;;;;N;;;;;
-BDBF;HANGUL SYLLABLE BWED;Lo;0;L;;;;;N;;;;;
-BDC0;HANGUL SYLLABLE BWEL;Lo;0;L;;;;;N;;;;;
-BDC1;HANGUL SYLLABLE BWELG;Lo;0;L;;;;;N;;;;;
-BDC2;HANGUL SYLLABLE BWELM;Lo;0;L;;;;;N;;;;;
-BDC3;HANGUL SYLLABLE BWELB;Lo;0;L;;;;;N;;;;;
-BDC4;HANGUL SYLLABLE BWELS;Lo;0;L;;;;;N;;;;;
-BDC5;HANGUL SYLLABLE BWELT;Lo;0;L;;;;;N;;;;;
-BDC6;HANGUL SYLLABLE BWELP;Lo;0;L;;;;;N;;;;;
-BDC7;HANGUL SYLLABLE BWELH;Lo;0;L;;;;;N;;;;;
-BDC8;HANGUL SYLLABLE BWEM;Lo;0;L;;;;;N;;;;;
-BDC9;HANGUL SYLLABLE BWEB;Lo;0;L;;;;;N;;;;;
-BDCA;HANGUL SYLLABLE BWEBS;Lo;0;L;;;;;N;;;;;
-BDCB;HANGUL SYLLABLE BWES;Lo;0;L;;;;;N;;;;;
-BDCC;HANGUL SYLLABLE BWESS;Lo;0;L;;;;;N;;;;;
-BDCD;HANGUL SYLLABLE BWENG;Lo;0;L;;;;;N;;;;;
-BDCE;HANGUL SYLLABLE BWEJ;Lo;0;L;;;;;N;;;;;
-BDCF;HANGUL SYLLABLE BWEC;Lo;0;L;;;;;N;;;;;
-BDD0;HANGUL SYLLABLE BWEK;Lo;0;L;;;;;N;;;;;
-BDD1;HANGUL SYLLABLE BWET;Lo;0;L;;;;;N;;;;;
-BDD2;HANGUL SYLLABLE BWEP;Lo;0;L;;;;;N;;;;;
-BDD3;HANGUL SYLLABLE BWEH;Lo;0;L;;;;;N;;;;;
-BDD4;HANGUL SYLLABLE BWI;Lo;0;L;;;;;N;;;;;
-BDD5;HANGUL SYLLABLE BWIG;Lo;0;L;;;;;N;;;;;
-BDD6;HANGUL SYLLABLE BWIGG;Lo;0;L;;;;;N;;;;;
-BDD7;HANGUL SYLLABLE BWIGS;Lo;0;L;;;;;N;;;;;
-BDD8;HANGUL SYLLABLE BWIN;Lo;0;L;;;;;N;;;;;
-BDD9;HANGUL SYLLABLE BWINI;Lo;0;L;;;;;N;;;;;
-BDDA;HANGUL SYLLABLE BWINH;Lo;0;L;;;;;N;;;;;
-BDDB;HANGUL SYLLABLE BWID;Lo;0;L;;;;;N;;;;;
-BDDC;HANGUL SYLLABLE BWIL;Lo;0;L;;;;;N;;;;;
-BDDD;HANGUL SYLLABLE BWILG;Lo;0;L;;;;;N;;;;;
-BDDE;HANGUL SYLLABLE BWILM;Lo;0;L;;;;;N;;;;;
-BDDF;HANGUL SYLLABLE BWILB;Lo;0;L;;;;;N;;;;;
-BDE0;HANGUL SYLLABLE BWILS;Lo;0;L;;;;;N;;;;;
-BDE1;HANGUL SYLLABLE BWILT;Lo;0;L;;;;;N;;;;;
-BDE2;HANGUL SYLLABLE BWILP;Lo;0;L;;;;;N;;;;;
-BDE3;HANGUL SYLLABLE BWILH;Lo;0;L;;;;;N;;;;;
-BDE4;HANGUL SYLLABLE BWIM;Lo;0;L;;;;;N;;;;;
-BDE5;HANGUL SYLLABLE BWIB;Lo;0;L;;;;;N;;;;;
-BDE6;HANGUL SYLLABLE BWIBS;Lo;0;L;;;;;N;;;;;
-BDE7;HANGUL SYLLABLE BWIS;Lo;0;L;;;;;N;;;;;
-BDE8;HANGUL SYLLABLE BWISS;Lo;0;L;;;;;N;;;;;
-BDE9;HANGUL SYLLABLE BWING;Lo;0;L;;;;;N;;;;;
-BDEA;HANGUL SYLLABLE BWIJ;Lo;0;L;;;;;N;;;;;
-BDEB;HANGUL SYLLABLE BWIC;Lo;0;L;;;;;N;;;;;
-BDEC;HANGUL SYLLABLE BWIK;Lo;0;L;;;;;N;;;;;
-BDED;HANGUL SYLLABLE BWIT;Lo;0;L;;;;;N;;;;;
-BDEE;HANGUL SYLLABLE BWIP;Lo;0;L;;;;;N;;;;;
-BDEF;HANGUL SYLLABLE BWIH;Lo;0;L;;;;;N;;;;;
-BDF0;HANGUL SYLLABLE BYU;Lo;0;L;;;;;N;;;;;
-BDF1;HANGUL SYLLABLE BYUG;Lo;0;L;;;;;N;;;;;
-BDF2;HANGUL SYLLABLE BYUGG;Lo;0;L;;;;;N;;;;;
-BDF3;HANGUL SYLLABLE BYUGS;Lo;0;L;;;;;N;;;;;
-BDF4;HANGUL SYLLABLE BYUN;Lo;0;L;;;;;N;;;;;
-BDF5;HANGUL SYLLABLE BYUNI;Lo;0;L;;;;;N;;;;;
-BDF6;HANGUL SYLLABLE BYUNH;Lo;0;L;;;;;N;;;;;
-BDF7;HANGUL SYLLABLE BYUD;Lo;0;L;;;;;N;;;;;
-BDF8;HANGUL SYLLABLE BYUL;Lo;0;L;;;;;N;;;;;
-BDF9;HANGUL SYLLABLE BYULG;Lo;0;L;;;;;N;;;;;
-BDFA;HANGUL SYLLABLE BYULM;Lo;0;L;;;;;N;;;;;
-BDFB;HANGUL SYLLABLE BYULB;Lo;0;L;;;;;N;;;;;
-BDFC;HANGUL SYLLABLE BYULS;Lo;0;L;;;;;N;;;;;
-BDFD;HANGUL SYLLABLE BYULT;Lo;0;L;;;;;N;;;;;
-BDFE;HANGUL SYLLABLE BYULP;Lo;0;L;;;;;N;;;;;
-BDFF;HANGUL SYLLABLE BYULH;Lo;0;L;;;;;N;;;;;
-BE00;HANGUL SYLLABLE BYUM;Lo;0;L;;;;;N;;;;;
-BE01;HANGUL SYLLABLE BYUB;Lo;0;L;;;;;N;;;;;
-BE02;HANGUL SYLLABLE BYUBS;Lo;0;L;;;;;N;;;;;
-BE03;HANGUL SYLLABLE BYUS;Lo;0;L;;;;;N;;;;;
-BE04;HANGUL SYLLABLE BYUSS;Lo;0;L;;;;;N;;;;;
-BE05;HANGUL SYLLABLE BYUNG;Lo;0;L;;;;;N;;;;;
-BE06;HANGUL SYLLABLE BYUJ;Lo;0;L;;;;;N;;;;;
-BE07;HANGUL SYLLABLE BYUC;Lo;0;L;;;;;N;;;;;
-BE08;HANGUL SYLLABLE BYUK;Lo;0;L;;;;;N;;;;;
-BE09;HANGUL SYLLABLE BYUT;Lo;0;L;;;;;N;;;;;
-BE0A;HANGUL SYLLABLE BYUP;Lo;0;L;;;;;N;;;;;
-BE0B;HANGUL SYLLABLE BYUH;Lo;0;L;;;;;N;;;;;
-BE0C;HANGUL SYLLABLE BEU;Lo;0;L;;;;;N;;;;;
-BE0D;HANGUL SYLLABLE BEUG;Lo;0;L;;;;;N;;;;;
-BE0E;HANGUL SYLLABLE BEUGG;Lo;0;L;;;;;N;;;;;
-BE0F;HANGUL SYLLABLE BEUGS;Lo;0;L;;;;;N;;;;;
-BE10;HANGUL SYLLABLE BEUN;Lo;0;L;;;;;N;;;;;
-BE11;HANGUL SYLLABLE BEUNI;Lo;0;L;;;;;N;;;;;
-BE12;HANGUL SYLLABLE BEUNH;Lo;0;L;;;;;N;;;;;
-BE13;HANGUL SYLLABLE BEUD;Lo;0;L;;;;;N;;;;;
-BE14;HANGUL SYLLABLE BEUL;Lo;0;L;;;;;N;;;;;
-BE15;HANGUL SYLLABLE BEULG;Lo;0;L;;;;;N;;;;;
-BE16;HANGUL SYLLABLE BEULM;Lo;0;L;;;;;N;;;;;
-BE17;HANGUL SYLLABLE BEULB;Lo;0;L;;;;;N;;;;;
-BE18;HANGUL SYLLABLE BEULS;Lo;0;L;;;;;N;;;;;
-BE19;HANGUL SYLLABLE BEULT;Lo;0;L;;;;;N;;;;;
-BE1A;HANGUL SYLLABLE BEULP;Lo;0;L;;;;;N;;;;;
-BE1B;HANGUL SYLLABLE BEULH;Lo;0;L;;;;;N;;;;;
-BE1C;HANGUL SYLLABLE BEUM;Lo;0;L;;;;;N;;;;;
-BE1D;HANGUL SYLLABLE BEUB;Lo;0;L;;;;;N;;;;;
-BE1E;HANGUL SYLLABLE BEUBS;Lo;0;L;;;;;N;;;;;
-BE1F;HANGUL SYLLABLE BEUS;Lo;0;L;;;;;N;;;;;
-BE20;HANGUL SYLLABLE BEUSS;Lo;0;L;;;;;N;;;;;
-BE21;HANGUL SYLLABLE BEUNG;Lo;0;L;;;;;N;;;;;
-BE22;HANGUL SYLLABLE BEUJ;Lo;0;L;;;;;N;;;;;
-BE23;HANGUL SYLLABLE BEUC;Lo;0;L;;;;;N;;;;;
-BE24;HANGUL SYLLABLE BEUK;Lo;0;L;;;;;N;;;;;
-BE25;HANGUL SYLLABLE BEUT;Lo;0;L;;;;;N;;;;;
-BE26;HANGUL SYLLABLE BEUP;Lo;0;L;;;;;N;;;;;
-BE27;HANGUL SYLLABLE BEUH;Lo;0;L;;;;;N;;;;;
-BE28;HANGUL SYLLABLE BYI;Lo;0;L;;;;;N;;;;;
-BE29;HANGUL SYLLABLE BYIG;Lo;0;L;;;;;N;;;;;
-BE2A;HANGUL SYLLABLE BYIGG;Lo;0;L;;;;;N;;;;;
-BE2B;HANGUL SYLLABLE BYIGS;Lo;0;L;;;;;N;;;;;
-BE2C;HANGUL SYLLABLE BYIN;Lo;0;L;;;;;N;;;;;
-BE2D;HANGUL SYLLABLE BYINI;Lo;0;L;;;;;N;;;;;
-BE2E;HANGUL SYLLABLE BYINH;Lo;0;L;;;;;N;;;;;
-BE2F;HANGUL SYLLABLE BYID;Lo;0;L;;;;;N;;;;;
-BE30;HANGUL SYLLABLE BYIL;Lo;0;L;;;;;N;;;;;
-BE31;HANGUL SYLLABLE BYILG;Lo;0;L;;;;;N;;;;;
-BE32;HANGUL SYLLABLE BYILM;Lo;0;L;;;;;N;;;;;
-BE33;HANGUL SYLLABLE BYILB;Lo;0;L;;;;;N;;;;;
-BE34;HANGUL SYLLABLE BYILS;Lo;0;L;;;;;N;;;;;
-BE35;HANGUL SYLLABLE BYILT;Lo;0;L;;;;;N;;;;;
-BE36;HANGUL SYLLABLE BYILP;Lo;0;L;;;;;N;;;;;
-BE37;HANGUL SYLLABLE BYILH;Lo;0;L;;;;;N;;;;;
-BE38;HANGUL SYLLABLE BYIM;Lo;0;L;;;;;N;;;;;
-BE39;HANGUL SYLLABLE BYIB;Lo;0;L;;;;;N;;;;;
-BE3A;HANGUL SYLLABLE BYIBS;Lo;0;L;;;;;N;;;;;
-BE3B;HANGUL SYLLABLE BYIS;Lo;0;L;;;;;N;;;;;
-BE3C;HANGUL SYLLABLE BYISS;Lo;0;L;;;;;N;;;;;
-BE3D;HANGUL SYLLABLE BYING;Lo;0;L;;;;;N;;;;;
-BE3E;HANGUL SYLLABLE BYIJ;Lo;0;L;;;;;N;;;;;
-BE3F;HANGUL SYLLABLE BYIC;Lo;0;L;;;;;N;;;;;
-BE40;HANGUL SYLLABLE BYIK;Lo;0;L;;;;;N;;;;;
-BE41;HANGUL SYLLABLE BYIT;Lo;0;L;;;;;N;;;;;
-BE42;HANGUL SYLLABLE BYIP;Lo;0;L;;;;;N;;;;;
-BE43;HANGUL SYLLABLE BYIH;Lo;0;L;;;;;N;;;;;
-BE44;HANGUL SYLLABLE BI;Lo;0;L;;;;;N;;;;;
-BE45;HANGUL SYLLABLE BIG;Lo;0;L;;;;;N;;;;;
-BE46;HANGUL SYLLABLE BIGG;Lo;0;L;;;;;N;;;;;
-BE47;HANGUL SYLLABLE BIGS;Lo;0;L;;;;;N;;;;;
-BE48;HANGUL SYLLABLE BIN;Lo;0;L;;;;;N;;;;;
-BE49;HANGUL SYLLABLE BINI;Lo;0;L;;;;;N;;;;;
-BE4A;HANGUL SYLLABLE BINH;Lo;0;L;;;;;N;;;;;
-BE4B;HANGUL SYLLABLE BID;Lo;0;L;;;;;N;;;;;
-BE4C;HANGUL SYLLABLE BIL;Lo;0;L;;;;;N;;;;;
-BE4D;HANGUL SYLLABLE BILG;Lo;0;L;;;;;N;;;;;
-BE4E;HANGUL SYLLABLE BILM;Lo;0;L;;;;;N;;;;;
-BE4F;HANGUL SYLLABLE BILB;Lo;0;L;;;;;N;;;;;
-BE50;HANGUL SYLLABLE BILS;Lo;0;L;;;;;N;;;;;
-BE51;HANGUL SYLLABLE BILT;Lo;0;L;;;;;N;;;;;
-BE52;HANGUL SYLLABLE BILP;Lo;0;L;;;;;N;;;;;
-BE53;HANGUL SYLLABLE BILH;Lo;0;L;;;;;N;;;;;
-BE54;HANGUL SYLLABLE BIM;Lo;0;L;;;;;N;;;;;
-BE55;HANGUL SYLLABLE BIB;Lo;0;L;;;;;N;;;;;
-BE56;HANGUL SYLLABLE BIBS;Lo;0;L;;;;;N;;;;;
-BE57;HANGUL SYLLABLE BIS;Lo;0;L;;;;;N;;;;;
-BE58;HANGUL SYLLABLE BISS;Lo;0;L;;;;;N;;;;;
-BE59;HANGUL SYLLABLE BING;Lo;0;L;;;;;N;;;;;
-BE5A;HANGUL SYLLABLE BIJ;Lo;0;L;;;;;N;;;;;
-BE5B;HANGUL SYLLABLE BIC;Lo;0;L;;;;;N;;;;;
-BE5C;HANGUL SYLLABLE BIK;Lo;0;L;;;;;N;;;;;
-BE5D;HANGUL SYLLABLE BIT;Lo;0;L;;;;;N;;;;;
-BE5E;HANGUL SYLLABLE BIP;Lo;0;L;;;;;N;;;;;
-BE5F;HANGUL SYLLABLE BIH;Lo;0;L;;;;;N;;;;;
-BE60;HANGUL SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
-BE61;HANGUL SYLLABLE BBAG;Lo;0;L;;;;;N;;;;;
-BE62;HANGUL SYLLABLE BBAGG;Lo;0;L;;;;;N;;;;;
-BE63;HANGUL SYLLABLE BBAGS;Lo;0;L;;;;;N;;;;;
-BE64;HANGUL SYLLABLE BBAN;Lo;0;L;;;;;N;;;;;
-BE65;HANGUL SYLLABLE BBANI;Lo;0;L;;;;;N;;;;;
-BE66;HANGUL SYLLABLE BBANH;Lo;0;L;;;;;N;;;;;
-BE67;HANGUL SYLLABLE BBAD;Lo;0;L;;;;;N;;;;;
-BE68;HANGUL SYLLABLE BBAL;Lo;0;L;;;;;N;;;;;
-BE69;HANGUL SYLLABLE BBALG;Lo;0;L;;;;;N;;;;;
-BE6A;HANGUL SYLLABLE BBALM;Lo;0;L;;;;;N;;;;;
-BE6B;HANGUL SYLLABLE BBALB;Lo;0;L;;;;;N;;;;;
-BE6C;HANGUL SYLLABLE BBALS;Lo;0;L;;;;;N;;;;;
-BE6D;HANGUL SYLLABLE BBALT;Lo;0;L;;;;;N;;;;;
-BE6E;HANGUL SYLLABLE BBALP;Lo;0;L;;;;;N;;;;;
-BE6F;HANGUL SYLLABLE BBALH;Lo;0;L;;;;;N;;;;;
-BE70;HANGUL SYLLABLE BBAM;Lo;0;L;;;;;N;;;;;
-BE71;HANGUL SYLLABLE BBAB;Lo;0;L;;;;;N;;;;;
-BE72;HANGUL SYLLABLE BBABS;Lo;0;L;;;;;N;;;;;
-BE73;HANGUL SYLLABLE BBAS;Lo;0;L;;;;;N;;;;;
-BE74;HANGUL SYLLABLE BBASS;Lo;0;L;;;;;N;;;;;
-BE75;HANGUL SYLLABLE BBANG;Lo;0;L;;;;;N;;;;;
-BE76;HANGUL SYLLABLE BBAJ;Lo;0;L;;;;;N;;;;;
-BE77;HANGUL SYLLABLE BBAC;Lo;0;L;;;;;N;;;;;
-BE78;HANGUL SYLLABLE BBAK;Lo;0;L;;;;;N;;;;;
-BE79;HANGUL SYLLABLE BBAT;Lo;0;L;;;;;N;;;;;
-BE7A;HANGUL SYLLABLE BBAP;Lo;0;L;;;;;N;;;;;
-BE7B;HANGUL SYLLABLE BBAH;Lo;0;L;;;;;N;;;;;
-BE7C;HANGUL SYLLABLE BBAE;Lo;0;L;;;;;N;;;;;
-BE7D;HANGUL SYLLABLE BBAEG;Lo;0;L;;;;;N;;;;;
-BE7E;HANGUL SYLLABLE BBAEGG;Lo;0;L;;;;;N;;;;;
-BE7F;HANGUL SYLLABLE BBAEGS;Lo;0;L;;;;;N;;;;;
-BE80;HANGUL SYLLABLE BBAEN;Lo;0;L;;;;;N;;;;;
-BE81;HANGUL SYLLABLE BBAENI;Lo;0;L;;;;;N;;;;;
-BE82;HANGUL SYLLABLE BBAENH;Lo;0;L;;;;;N;;;;;
-BE83;HANGUL SYLLABLE BBAED;Lo;0;L;;;;;N;;;;;
-BE84;HANGUL SYLLABLE BBAEL;Lo;0;L;;;;;N;;;;;
-BE85;HANGUL SYLLABLE BBAELG;Lo;0;L;;;;;N;;;;;
-BE86;HANGUL SYLLABLE BBAELM;Lo;0;L;;;;;N;;;;;
-BE87;HANGUL SYLLABLE BBAELB;Lo;0;L;;;;;N;;;;;
-BE88;HANGUL SYLLABLE BBAELS;Lo;0;L;;;;;N;;;;;
-BE89;HANGUL SYLLABLE BBAELT;Lo;0;L;;;;;N;;;;;
-BE8A;HANGUL SYLLABLE BBAELP;Lo;0;L;;;;;N;;;;;
-BE8B;HANGUL SYLLABLE BBAELH;Lo;0;L;;;;;N;;;;;
-BE8C;HANGUL SYLLABLE BBAEM;Lo;0;L;;;;;N;;;;;
-BE8D;HANGUL SYLLABLE BBAEB;Lo;0;L;;;;;N;;;;;
-BE8E;HANGUL SYLLABLE BBAEBS;Lo;0;L;;;;;N;;;;;
-BE8F;HANGUL SYLLABLE BBAES;Lo;0;L;;;;;N;;;;;
-BE90;HANGUL SYLLABLE BBAESS;Lo;0;L;;;;;N;;;;;
-BE91;HANGUL SYLLABLE BBAENG;Lo;0;L;;;;;N;;;;;
-BE92;HANGUL SYLLABLE BBAEJ;Lo;0;L;;;;;N;;;;;
-BE93;HANGUL SYLLABLE BBAEC;Lo;0;L;;;;;N;;;;;
-BE94;HANGUL SYLLABLE BBAEK;Lo;0;L;;;;;N;;;;;
-BE95;HANGUL SYLLABLE BBAET;Lo;0;L;;;;;N;;;;;
-BE96;HANGUL SYLLABLE BBAEP;Lo;0;L;;;;;N;;;;;
-BE97;HANGUL SYLLABLE BBAEH;Lo;0;L;;;;;N;;;;;
-BE98;HANGUL SYLLABLE BBYA;Lo;0;L;;;;;N;;;;;
-BE99;HANGUL SYLLABLE BBYAG;Lo;0;L;;;;;N;;;;;
-BE9A;HANGUL SYLLABLE BBYAGG;Lo;0;L;;;;;N;;;;;
-BE9B;HANGUL SYLLABLE BBYAGS;Lo;0;L;;;;;N;;;;;
-BE9C;HANGUL SYLLABLE BBYAN;Lo;0;L;;;;;N;;;;;
-BE9D;HANGUL SYLLABLE BBYANI;Lo;0;L;;;;;N;;;;;
-BE9E;HANGUL SYLLABLE BBYANH;Lo;0;L;;;;;N;;;;;
-BE9F;HANGUL SYLLABLE BBYAD;Lo;0;L;;;;;N;;;;;
-BEA0;HANGUL SYLLABLE BBYAL;Lo;0;L;;;;;N;;;;;
-BEA1;HANGUL SYLLABLE BBYALG;Lo;0;L;;;;;N;;;;;
-BEA2;HANGUL SYLLABLE BBYALM;Lo;0;L;;;;;N;;;;;
-BEA3;HANGUL SYLLABLE BBYALB;Lo;0;L;;;;;N;;;;;
-BEA4;HANGUL SYLLABLE BBYALS;Lo;0;L;;;;;N;;;;;
-BEA5;HANGUL SYLLABLE BBYALT;Lo;0;L;;;;;N;;;;;
-BEA6;HANGUL SYLLABLE BBYALP;Lo;0;L;;;;;N;;;;;
-BEA7;HANGUL SYLLABLE BBYALH;Lo;0;L;;;;;N;;;;;
-BEA8;HANGUL SYLLABLE BBYAM;Lo;0;L;;;;;N;;;;;
-BEA9;HANGUL SYLLABLE BBYAB;Lo;0;L;;;;;N;;;;;
-BEAA;HANGUL SYLLABLE BBYABS;Lo;0;L;;;;;N;;;;;
-BEAB;HANGUL SYLLABLE BBYAS;Lo;0;L;;;;;N;;;;;
-BEAC;HANGUL SYLLABLE BBYASS;Lo;0;L;;;;;N;;;;;
-BEAD;HANGUL SYLLABLE BBYANG;Lo;0;L;;;;;N;;;;;
-BEAE;HANGUL SYLLABLE BBYAJ;Lo;0;L;;;;;N;;;;;
-BEAF;HANGUL SYLLABLE BBYAC;Lo;0;L;;;;;N;;;;;
-BEB0;HANGUL SYLLABLE BBYAK;Lo;0;L;;;;;N;;;;;
-BEB1;HANGUL SYLLABLE BBYAT;Lo;0;L;;;;;N;;;;;
-BEB2;HANGUL SYLLABLE BBYAP;Lo;0;L;;;;;N;;;;;
-BEB3;HANGUL SYLLABLE BBYAH;Lo;0;L;;;;;N;;;;;
-BEB4;HANGUL SYLLABLE BBYAE;Lo;0;L;;;;;N;;;;;
-BEB5;HANGUL SYLLABLE BBYAEG;Lo;0;L;;;;;N;;;;;
-BEB6;HANGUL SYLLABLE BBYAEGG;Lo;0;L;;;;;N;;;;;
-BEB7;HANGUL SYLLABLE BBYAEGS;Lo;0;L;;;;;N;;;;;
-BEB8;HANGUL SYLLABLE BBYAEN;Lo;0;L;;;;;N;;;;;
-BEB9;HANGUL SYLLABLE BBYAENI;Lo;0;L;;;;;N;;;;;
-BEBA;HANGUL SYLLABLE BBYAENH;Lo;0;L;;;;;N;;;;;
-BEBB;HANGUL SYLLABLE BBYAED;Lo;0;L;;;;;N;;;;;
-BEBC;HANGUL SYLLABLE BBYAEL;Lo;0;L;;;;;N;;;;;
-BEBD;HANGUL SYLLABLE BBYAELG;Lo;0;L;;;;;N;;;;;
-BEBE;HANGUL SYLLABLE BBYAELM;Lo;0;L;;;;;N;;;;;
-BEBF;HANGUL SYLLABLE BBYAELB;Lo;0;L;;;;;N;;;;;
-BEC0;HANGUL SYLLABLE BBYAELS;Lo;0;L;;;;;N;;;;;
-BEC1;HANGUL SYLLABLE BBYAELT;Lo;0;L;;;;;N;;;;;
-BEC2;HANGUL SYLLABLE BBYAELP;Lo;0;L;;;;;N;;;;;
-BEC3;HANGUL SYLLABLE BBYAELH;Lo;0;L;;;;;N;;;;;
-BEC4;HANGUL SYLLABLE BBYAEM;Lo;0;L;;;;;N;;;;;
-BEC5;HANGUL SYLLABLE BBYAEB;Lo;0;L;;;;;N;;;;;
-BEC6;HANGUL SYLLABLE BBYAEBS;Lo;0;L;;;;;N;;;;;
-BEC7;HANGUL SYLLABLE BBYAES;Lo;0;L;;;;;N;;;;;
-BEC8;HANGUL SYLLABLE BBYAESS;Lo;0;L;;;;;N;;;;;
-BEC9;HANGUL SYLLABLE BBYAENG;Lo;0;L;;;;;N;;;;;
-BECA;HANGUL SYLLABLE BBYAEJ;Lo;0;L;;;;;N;;;;;
-BECB;HANGUL SYLLABLE BBYAEC;Lo;0;L;;;;;N;;;;;
-BECC;HANGUL SYLLABLE BBYAEK;Lo;0;L;;;;;N;;;;;
-BECD;HANGUL SYLLABLE BBYAET;Lo;0;L;;;;;N;;;;;
-BECE;HANGUL SYLLABLE BBYAEP;Lo;0;L;;;;;N;;;;;
-BECF;HANGUL SYLLABLE BBYAEH;Lo;0;L;;;;;N;;;;;
-BED0;HANGUL SYLLABLE BBEO;Lo;0;L;;;;;N;;;;;
-BED1;HANGUL SYLLABLE BBEOG;Lo;0;L;;;;;N;;;;;
-BED2;HANGUL SYLLABLE BBEOGG;Lo;0;L;;;;;N;;;;;
-BED3;HANGUL SYLLABLE BBEOGS;Lo;0;L;;;;;N;;;;;
-BED4;HANGUL SYLLABLE BBEON;Lo;0;L;;;;;N;;;;;
-BED5;HANGUL SYLLABLE BBEONI;Lo;0;L;;;;;N;;;;;
-BED6;HANGUL SYLLABLE BBEONH;Lo;0;L;;;;;N;;;;;
-BED7;HANGUL SYLLABLE BBEOD;Lo;0;L;;;;;N;;;;;
-BED8;HANGUL SYLLABLE BBEOL;Lo;0;L;;;;;N;;;;;
-BED9;HANGUL SYLLABLE BBEOLG;Lo;0;L;;;;;N;;;;;
-BEDA;HANGUL SYLLABLE BBEOLM;Lo;0;L;;;;;N;;;;;
-BEDB;HANGUL SYLLABLE BBEOLB;Lo;0;L;;;;;N;;;;;
-BEDC;HANGUL SYLLABLE BBEOLS;Lo;0;L;;;;;N;;;;;
-BEDD;HANGUL SYLLABLE BBEOLT;Lo;0;L;;;;;N;;;;;
-BEDE;HANGUL SYLLABLE BBEOLP;Lo;0;L;;;;;N;;;;;
-BEDF;HANGUL SYLLABLE BBEOLH;Lo;0;L;;;;;N;;;;;
-BEE0;HANGUL SYLLABLE BBEOM;Lo;0;L;;;;;N;;;;;
-BEE1;HANGUL SYLLABLE BBEOB;Lo;0;L;;;;;N;;;;;
-BEE2;HANGUL SYLLABLE BBEOBS;Lo;0;L;;;;;N;;;;;
-BEE3;HANGUL SYLLABLE BBEOS;Lo;0;L;;;;;N;;;;;
-BEE4;HANGUL SYLLABLE BBEOSS;Lo;0;L;;;;;N;;;;;
-BEE5;HANGUL SYLLABLE BBEONG;Lo;0;L;;;;;N;;;;;
-BEE6;HANGUL SYLLABLE BBEOJ;Lo;0;L;;;;;N;;;;;
-BEE7;HANGUL SYLLABLE BBEOC;Lo;0;L;;;;;N;;;;;
-BEE8;HANGUL SYLLABLE BBEOK;Lo;0;L;;;;;N;;;;;
-BEE9;HANGUL SYLLABLE BBEOT;Lo;0;L;;;;;N;;;;;
-BEEA;HANGUL SYLLABLE BBEOP;Lo;0;L;;;;;N;;;;;
-BEEB;HANGUL SYLLABLE BBEOH;Lo;0;L;;;;;N;;;;;
-BEEC;HANGUL SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
-BEED;HANGUL SYLLABLE BBEG;Lo;0;L;;;;;N;;;;;
-BEEE;HANGUL SYLLABLE BBEGG;Lo;0;L;;;;;N;;;;;
-BEEF;HANGUL SYLLABLE BBEGS;Lo;0;L;;;;;N;;;;;
-BEF0;HANGUL SYLLABLE BBEN;Lo;0;L;;;;;N;;;;;
-BEF1;HANGUL SYLLABLE BBENI;Lo;0;L;;;;;N;;;;;
-BEF2;HANGUL SYLLABLE BBENH;Lo;0;L;;;;;N;;;;;
-BEF3;HANGUL SYLLABLE BBED;Lo;0;L;;;;;N;;;;;
-BEF4;HANGUL SYLLABLE BBEL;Lo;0;L;;;;;N;;;;;
-BEF5;HANGUL SYLLABLE BBELG;Lo;0;L;;;;;N;;;;;
-BEF6;HANGUL SYLLABLE BBELM;Lo;0;L;;;;;N;;;;;
-BEF7;HANGUL SYLLABLE BBELB;Lo;0;L;;;;;N;;;;;
-BEF8;HANGUL SYLLABLE BBELS;Lo;0;L;;;;;N;;;;;
-BEF9;HANGUL SYLLABLE BBELT;Lo;0;L;;;;;N;;;;;
-BEFA;HANGUL SYLLABLE BBELP;Lo;0;L;;;;;N;;;;;
-BEFB;HANGUL SYLLABLE BBELH;Lo;0;L;;;;;N;;;;;
-BEFC;HANGUL SYLLABLE BBEM;Lo;0;L;;;;;N;;;;;
-BEFD;HANGUL SYLLABLE BBEB;Lo;0;L;;;;;N;;;;;
-BEFE;HANGUL SYLLABLE BBEBS;Lo;0;L;;;;;N;;;;;
-BEFF;HANGUL SYLLABLE BBES;Lo;0;L;;;;;N;;;;;
-BF00;HANGUL SYLLABLE BBESS;Lo;0;L;;;;;N;;;;;
-BF01;HANGUL SYLLABLE BBENG;Lo;0;L;;;;;N;;;;;
-BF02;HANGUL SYLLABLE BBEJ;Lo;0;L;;;;;N;;;;;
-BF03;HANGUL SYLLABLE BBEC;Lo;0;L;;;;;N;;;;;
-BF04;HANGUL SYLLABLE BBEK;Lo;0;L;;;;;N;;;;;
-BF05;HANGUL SYLLABLE BBET;Lo;0;L;;;;;N;;;;;
-BF06;HANGUL SYLLABLE BBEP;Lo;0;L;;;;;N;;;;;
-BF07;HANGUL SYLLABLE BBEH;Lo;0;L;;;;;N;;;;;
-BF08;HANGUL SYLLABLE BBYEO;Lo;0;L;;;;;N;;;;;
-BF09;HANGUL SYLLABLE BBYEOG;Lo;0;L;;;;;N;;;;;
-BF0A;HANGUL SYLLABLE BBYEOGG;Lo;0;L;;;;;N;;;;;
-BF0B;HANGUL SYLLABLE BBYEOGS;Lo;0;L;;;;;N;;;;;
-BF0C;HANGUL SYLLABLE BBYEON;Lo;0;L;;;;;N;;;;;
-BF0D;HANGUL SYLLABLE BBYEONI;Lo;0;L;;;;;N;;;;;
-BF0E;HANGUL SYLLABLE BBYEONH;Lo;0;L;;;;;N;;;;;
-BF0F;HANGUL SYLLABLE BBYEOD;Lo;0;L;;;;;N;;;;;
-BF10;HANGUL SYLLABLE BBYEOL;Lo;0;L;;;;;N;;;;;
-BF11;HANGUL SYLLABLE BBYEOLG;Lo;0;L;;;;;N;;;;;
-BF12;HANGUL SYLLABLE BBYEOLM;Lo;0;L;;;;;N;;;;;
-BF13;HANGUL SYLLABLE BBYEOLB;Lo;0;L;;;;;N;;;;;
-BF14;HANGUL SYLLABLE BBYEOLS;Lo;0;L;;;;;N;;;;;
-BF15;HANGUL SYLLABLE BBYEOLT;Lo;0;L;;;;;N;;;;;
-BF16;HANGUL SYLLABLE BBYEOLP;Lo;0;L;;;;;N;;;;;
-BF17;HANGUL SYLLABLE BBYEOLH;Lo;0;L;;;;;N;;;;;
-BF18;HANGUL SYLLABLE BBYEOM;Lo;0;L;;;;;N;;;;;
-BF19;HANGUL SYLLABLE BBYEOB;Lo;0;L;;;;;N;;;;;
-BF1A;HANGUL SYLLABLE BBYEOBS;Lo;0;L;;;;;N;;;;;
-BF1B;HANGUL SYLLABLE BBYEOS;Lo;0;L;;;;;N;;;;;
-BF1C;HANGUL SYLLABLE BBYEOSS;Lo;0;L;;;;;N;;;;;
-BF1D;HANGUL SYLLABLE BBYEONG;Lo;0;L;;;;;N;;;;;
-BF1E;HANGUL SYLLABLE BBYEOJ;Lo;0;L;;;;;N;;;;;
-BF1F;HANGUL SYLLABLE BBYEOC;Lo;0;L;;;;;N;;;;;
-BF20;HANGUL SYLLABLE BBYEOK;Lo;0;L;;;;;N;;;;;
-BF21;HANGUL SYLLABLE BBYEOT;Lo;0;L;;;;;N;;;;;
-BF22;HANGUL SYLLABLE BBYEOP;Lo;0;L;;;;;N;;;;;
-BF23;HANGUL SYLLABLE BBYEOH;Lo;0;L;;;;;N;;;;;
-BF24;HANGUL SYLLABLE BBYE;Lo;0;L;;;;;N;;;;;
-BF25;HANGUL SYLLABLE BBYEG;Lo;0;L;;;;;N;;;;;
-BF26;HANGUL SYLLABLE BBYEGG;Lo;0;L;;;;;N;;;;;
-BF27;HANGUL SYLLABLE BBYEGS;Lo;0;L;;;;;N;;;;;
-BF28;HANGUL SYLLABLE BBYEN;Lo;0;L;;;;;N;;;;;
-BF29;HANGUL SYLLABLE BBYENI;Lo;0;L;;;;;N;;;;;
-BF2A;HANGUL SYLLABLE BBYENH;Lo;0;L;;;;;N;;;;;
-BF2B;HANGUL SYLLABLE BBYED;Lo;0;L;;;;;N;;;;;
-BF2C;HANGUL SYLLABLE BBYEL;Lo;0;L;;;;;N;;;;;
-BF2D;HANGUL SYLLABLE BBYELG;Lo;0;L;;;;;N;;;;;
-BF2E;HANGUL SYLLABLE BBYELM;Lo;0;L;;;;;N;;;;;
-BF2F;HANGUL SYLLABLE BBYELB;Lo;0;L;;;;;N;;;;;
-BF30;HANGUL SYLLABLE BBYELS;Lo;0;L;;;;;N;;;;;
-BF31;HANGUL SYLLABLE BBYELT;Lo;0;L;;;;;N;;;;;
-BF32;HANGUL SYLLABLE BBYELP;Lo;0;L;;;;;N;;;;;
-BF33;HANGUL SYLLABLE BBYELH;Lo;0;L;;;;;N;;;;;
-BF34;HANGUL SYLLABLE BBYEM;Lo;0;L;;;;;N;;;;;
-BF35;HANGUL SYLLABLE BBYEB;Lo;0;L;;;;;N;;;;;
-BF36;HANGUL SYLLABLE BBYEBS;Lo;0;L;;;;;N;;;;;
-BF37;HANGUL SYLLABLE BBYES;Lo;0;L;;;;;N;;;;;
-BF38;HANGUL SYLLABLE BBYESS;Lo;0;L;;;;;N;;;;;
-BF39;HANGUL SYLLABLE BBYENG;Lo;0;L;;;;;N;;;;;
-BF3A;HANGUL SYLLABLE BBYEJ;Lo;0;L;;;;;N;;;;;
-BF3B;HANGUL SYLLABLE BBYEC;Lo;0;L;;;;;N;;;;;
-BF3C;HANGUL SYLLABLE BBYEK;Lo;0;L;;;;;N;;;;;
-BF3D;HANGUL SYLLABLE BBYET;Lo;0;L;;;;;N;;;;;
-BF3E;HANGUL SYLLABLE BBYEP;Lo;0;L;;;;;N;;;;;
-BF3F;HANGUL SYLLABLE BBYEH;Lo;0;L;;;;;N;;;;;
-BF40;HANGUL SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
-BF41;HANGUL SYLLABLE BBOG;Lo;0;L;;;;;N;;;;;
-BF42;HANGUL SYLLABLE BBOGG;Lo;0;L;;;;;N;;;;;
-BF43;HANGUL SYLLABLE BBOGS;Lo;0;L;;;;;N;;;;;
-BF44;HANGUL SYLLABLE BBON;Lo;0;L;;;;;N;;;;;
-BF45;HANGUL SYLLABLE BBONI;Lo;0;L;;;;;N;;;;;
-BF46;HANGUL SYLLABLE BBONH;Lo;0;L;;;;;N;;;;;
-BF47;HANGUL SYLLABLE BBOD;Lo;0;L;;;;;N;;;;;
-BF48;HANGUL SYLLABLE BBOL;Lo;0;L;;;;;N;;;;;
-BF49;HANGUL SYLLABLE BBOLG;Lo;0;L;;;;;N;;;;;
-BF4A;HANGUL SYLLABLE BBOLM;Lo;0;L;;;;;N;;;;;
-BF4B;HANGUL SYLLABLE BBOLB;Lo;0;L;;;;;N;;;;;
-BF4C;HANGUL SYLLABLE BBOLS;Lo;0;L;;;;;N;;;;;
-BF4D;HANGUL SYLLABLE BBOLT;Lo;0;L;;;;;N;;;;;
-BF4E;HANGUL SYLLABLE BBOLP;Lo;0;L;;;;;N;;;;;
-BF4F;HANGUL SYLLABLE BBOLH;Lo;0;L;;;;;N;;;;;
-BF50;HANGUL SYLLABLE BBOM;Lo;0;L;;;;;N;;;;;
-BF51;HANGUL SYLLABLE BBOB;Lo;0;L;;;;;N;;;;;
-BF52;HANGUL SYLLABLE BBOBS;Lo;0;L;;;;;N;;;;;
-BF53;HANGUL SYLLABLE BBOS;Lo;0;L;;;;;N;;;;;
-BF54;HANGUL SYLLABLE BBOSS;Lo;0;L;;;;;N;;;;;
-BF55;HANGUL SYLLABLE BBONG;Lo;0;L;;;;;N;;;;;
-BF56;HANGUL SYLLABLE BBOJ;Lo;0;L;;;;;N;;;;;
-BF57;HANGUL SYLLABLE BBOC;Lo;0;L;;;;;N;;;;;
-BF58;HANGUL SYLLABLE BBOK;Lo;0;L;;;;;N;;;;;
-BF59;HANGUL SYLLABLE BBOT;Lo;0;L;;;;;N;;;;;
-BF5A;HANGUL SYLLABLE BBOP;Lo;0;L;;;;;N;;;;;
-BF5B;HANGUL SYLLABLE BBOH;Lo;0;L;;;;;N;;;;;
-BF5C;HANGUL SYLLABLE BBWA;Lo;0;L;;;;;N;;;;;
-BF5D;HANGUL SYLLABLE BBWAG;Lo;0;L;;;;;N;;;;;
-BF5E;HANGUL SYLLABLE BBWAGG;Lo;0;L;;;;;N;;;;;
-BF5F;HANGUL SYLLABLE BBWAGS;Lo;0;L;;;;;N;;;;;
-BF60;HANGUL SYLLABLE BBWAN;Lo;0;L;;;;;N;;;;;
-BF61;HANGUL SYLLABLE BBWANI;Lo;0;L;;;;;N;;;;;
-BF62;HANGUL SYLLABLE BBWANH;Lo;0;L;;;;;N;;;;;
-BF63;HANGUL SYLLABLE BBWAD;Lo;0;L;;;;;N;;;;;
-BF64;HANGUL SYLLABLE BBWAL;Lo;0;L;;;;;N;;;;;
-BF65;HANGUL SYLLABLE BBWALG;Lo;0;L;;;;;N;;;;;
-BF66;HANGUL SYLLABLE BBWALM;Lo;0;L;;;;;N;;;;;
-BF67;HANGUL SYLLABLE BBWALB;Lo;0;L;;;;;N;;;;;
-BF68;HANGUL SYLLABLE BBWALS;Lo;0;L;;;;;N;;;;;
-BF69;HANGUL SYLLABLE BBWALT;Lo;0;L;;;;;N;;;;;
-BF6A;HANGUL SYLLABLE BBWALP;Lo;0;L;;;;;N;;;;;
-BF6B;HANGUL SYLLABLE BBWALH;Lo;0;L;;;;;N;;;;;
-BF6C;HANGUL SYLLABLE BBWAM;Lo;0;L;;;;;N;;;;;
-BF6D;HANGUL SYLLABLE BBWAB;Lo;0;L;;;;;N;;;;;
-BF6E;HANGUL SYLLABLE BBWABS;Lo;0;L;;;;;N;;;;;
-BF6F;HANGUL SYLLABLE BBWAS;Lo;0;L;;;;;N;;;;;
-BF70;HANGUL SYLLABLE BBWASS;Lo;0;L;;;;;N;;;;;
-BF71;HANGUL SYLLABLE BBWANG;Lo;0;L;;;;;N;;;;;
-BF72;HANGUL SYLLABLE BBWAJ;Lo;0;L;;;;;N;;;;;
-BF73;HANGUL SYLLABLE BBWAC;Lo;0;L;;;;;N;;;;;
-BF74;HANGUL SYLLABLE BBWAK;Lo;0;L;;;;;N;;;;;
-BF75;HANGUL SYLLABLE BBWAT;Lo;0;L;;;;;N;;;;;
-BF76;HANGUL SYLLABLE BBWAP;Lo;0;L;;;;;N;;;;;
-BF77;HANGUL SYLLABLE BBWAH;Lo;0;L;;;;;N;;;;;
-BF78;HANGUL SYLLABLE BBWAE;Lo;0;L;;;;;N;;;;;
-BF79;HANGUL SYLLABLE BBWAEG;Lo;0;L;;;;;N;;;;;
-BF7A;HANGUL SYLLABLE BBWAEGG;Lo;0;L;;;;;N;;;;;
-BF7B;HANGUL SYLLABLE BBWAEGS;Lo;0;L;;;;;N;;;;;
-BF7C;HANGUL SYLLABLE BBWAEN;Lo;0;L;;;;;N;;;;;
-BF7D;HANGUL SYLLABLE BBWAENI;Lo;0;L;;;;;N;;;;;
-BF7E;HANGUL SYLLABLE BBWAENH;Lo;0;L;;;;;N;;;;;
-BF7F;HANGUL SYLLABLE BBWAED;Lo;0;L;;;;;N;;;;;
-BF80;HANGUL SYLLABLE BBWAEL;Lo;0;L;;;;;N;;;;;
-BF81;HANGUL SYLLABLE BBWAELG;Lo;0;L;;;;;N;;;;;
-BF82;HANGUL SYLLABLE BBWAELM;Lo;0;L;;;;;N;;;;;
-BF83;HANGUL SYLLABLE BBWAELB;Lo;0;L;;;;;N;;;;;
-BF84;HANGUL SYLLABLE BBWAELS;Lo;0;L;;;;;N;;;;;
-BF85;HANGUL SYLLABLE BBWAELT;Lo;0;L;;;;;N;;;;;
-BF86;HANGUL SYLLABLE BBWAELP;Lo;0;L;;;;;N;;;;;
-BF87;HANGUL SYLLABLE BBWAELH;Lo;0;L;;;;;N;;;;;
-BF88;HANGUL SYLLABLE BBWAEM;Lo;0;L;;;;;N;;;;;
-BF89;HANGUL SYLLABLE BBWAEB;Lo;0;L;;;;;N;;;;;
-BF8A;HANGUL SYLLABLE BBWAEBS;Lo;0;L;;;;;N;;;;;
-BF8B;HANGUL SYLLABLE BBWAES;Lo;0;L;;;;;N;;;;;
-BF8C;HANGUL SYLLABLE BBWAESS;Lo;0;L;;;;;N;;;;;
-BF8D;HANGUL SYLLABLE BBWAENG;Lo;0;L;;;;;N;;;;;
-BF8E;HANGUL SYLLABLE BBWAEJ;Lo;0;L;;;;;N;;;;;
-BF8F;HANGUL SYLLABLE BBWAEC;Lo;0;L;;;;;N;;;;;
-BF90;HANGUL SYLLABLE BBWAEK;Lo;0;L;;;;;N;;;;;
-BF91;HANGUL SYLLABLE BBWAET;Lo;0;L;;;;;N;;;;;
-BF92;HANGUL SYLLABLE BBWAEP;Lo;0;L;;;;;N;;;;;
-BF93;HANGUL SYLLABLE BBWAEH;Lo;0;L;;;;;N;;;;;
-BF94;HANGUL SYLLABLE BBOE;Lo;0;L;;;;;N;;;;;
-BF95;HANGUL SYLLABLE BBOEG;Lo;0;L;;;;;N;;;;;
-BF96;HANGUL SYLLABLE BBOEGG;Lo;0;L;;;;;N;;;;;
-BF97;HANGUL SYLLABLE BBOEGS;Lo;0;L;;;;;N;;;;;
-BF98;HANGUL SYLLABLE BBOEN;Lo;0;L;;;;;N;;;;;
-BF99;HANGUL SYLLABLE BBOENI;Lo;0;L;;;;;N;;;;;
-BF9A;HANGUL SYLLABLE BBOENH;Lo;0;L;;;;;N;;;;;
-BF9B;HANGUL SYLLABLE BBOED;Lo;0;L;;;;;N;;;;;
-BF9C;HANGUL SYLLABLE BBOEL;Lo;0;L;;;;;N;;;;;
-BF9D;HANGUL SYLLABLE BBOELG;Lo;0;L;;;;;N;;;;;
-BF9E;HANGUL SYLLABLE BBOELM;Lo;0;L;;;;;N;;;;;
-BF9F;HANGUL SYLLABLE BBOELB;Lo;0;L;;;;;N;;;;;
-BFA0;HANGUL SYLLABLE BBOELS;Lo;0;L;;;;;N;;;;;
-BFA1;HANGUL SYLLABLE BBOELT;Lo;0;L;;;;;N;;;;;
-BFA2;HANGUL SYLLABLE BBOELP;Lo;0;L;;;;;N;;;;;
-BFA3;HANGUL SYLLABLE BBOELH;Lo;0;L;;;;;N;;;;;
-BFA4;HANGUL SYLLABLE BBOEM;Lo;0;L;;;;;N;;;;;
-BFA5;HANGUL SYLLABLE BBOEB;Lo;0;L;;;;;N;;;;;
-BFA6;HANGUL SYLLABLE BBOEBS;Lo;0;L;;;;;N;;;;;
-BFA7;HANGUL SYLLABLE BBOES;Lo;0;L;;;;;N;;;;;
-BFA8;HANGUL SYLLABLE BBOESS;Lo;0;L;;;;;N;;;;;
-BFA9;HANGUL SYLLABLE BBOENG;Lo;0;L;;;;;N;;;;;
-BFAA;HANGUL SYLLABLE BBOEJ;Lo;0;L;;;;;N;;;;;
-BFAB;HANGUL SYLLABLE BBOEC;Lo;0;L;;;;;N;;;;;
-BFAC;HANGUL SYLLABLE BBOEK;Lo;0;L;;;;;N;;;;;
-BFAD;HANGUL SYLLABLE BBOET;Lo;0;L;;;;;N;;;;;
-BFAE;HANGUL SYLLABLE BBOEP;Lo;0;L;;;;;N;;;;;
-BFAF;HANGUL SYLLABLE BBOEH;Lo;0;L;;;;;N;;;;;
-BFB0;HANGUL SYLLABLE BBYO;Lo;0;L;;;;;N;;;;;
-BFB1;HANGUL SYLLABLE BBYOG;Lo;0;L;;;;;N;;;;;
-BFB2;HANGUL SYLLABLE BBYOGG;Lo;0;L;;;;;N;;;;;
-BFB3;HANGUL SYLLABLE BBYOGS;Lo;0;L;;;;;N;;;;;
-BFB4;HANGUL SYLLABLE BBYON;Lo;0;L;;;;;N;;;;;
-BFB5;HANGUL SYLLABLE BBYONI;Lo;0;L;;;;;N;;;;;
-BFB6;HANGUL SYLLABLE BBYONH;Lo;0;L;;;;;N;;;;;
-BFB7;HANGUL SYLLABLE BBYOD;Lo;0;L;;;;;N;;;;;
-BFB8;HANGUL SYLLABLE BBYOL;Lo;0;L;;;;;N;;;;;
-BFB9;HANGUL SYLLABLE BBYOLG;Lo;0;L;;;;;N;;;;;
-BFBA;HANGUL SYLLABLE BBYOLM;Lo;0;L;;;;;N;;;;;
-BFBB;HANGUL SYLLABLE BBYOLB;Lo;0;L;;;;;N;;;;;
-BFBC;HANGUL SYLLABLE BBYOLS;Lo;0;L;;;;;N;;;;;
-BFBD;HANGUL SYLLABLE BBYOLT;Lo;0;L;;;;;N;;;;;
-BFBE;HANGUL SYLLABLE BBYOLP;Lo;0;L;;;;;N;;;;;
-BFBF;HANGUL SYLLABLE BBYOLH;Lo;0;L;;;;;N;;;;;
-BFC0;HANGUL SYLLABLE BBYOM;Lo;0;L;;;;;N;;;;;
-BFC1;HANGUL SYLLABLE BBYOB;Lo;0;L;;;;;N;;;;;
-BFC2;HANGUL SYLLABLE BBYOBS;Lo;0;L;;;;;N;;;;;
-BFC3;HANGUL SYLLABLE BBYOS;Lo;0;L;;;;;N;;;;;
-BFC4;HANGUL SYLLABLE BBYOSS;Lo;0;L;;;;;N;;;;;
-BFC5;HANGUL SYLLABLE BBYONG;Lo;0;L;;;;;N;;;;;
-BFC6;HANGUL SYLLABLE BBYOJ;Lo;0;L;;;;;N;;;;;
-BFC7;HANGUL SYLLABLE BBYOC;Lo;0;L;;;;;N;;;;;
-BFC8;HANGUL SYLLABLE BBYOK;Lo;0;L;;;;;N;;;;;
-BFC9;HANGUL SYLLABLE BBYOT;Lo;0;L;;;;;N;;;;;
-BFCA;HANGUL SYLLABLE BBYOP;Lo;0;L;;;;;N;;;;;
-BFCB;HANGUL SYLLABLE BBYOH;Lo;0;L;;;;;N;;;;;
-BFCC;HANGUL SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
-BFCD;HANGUL SYLLABLE BBUG;Lo;0;L;;;;;N;;;;;
-BFCE;HANGUL SYLLABLE BBUGG;Lo;0;L;;;;;N;;;;;
-BFCF;HANGUL SYLLABLE BBUGS;Lo;0;L;;;;;N;;;;;
-BFD0;HANGUL SYLLABLE BBUN;Lo;0;L;;;;;N;;;;;
-BFD1;HANGUL SYLLABLE BBUNI;Lo;0;L;;;;;N;;;;;
-BFD2;HANGUL SYLLABLE BBUNH;Lo;0;L;;;;;N;;;;;
-BFD3;HANGUL SYLLABLE BBUD;Lo;0;L;;;;;N;;;;;
-BFD4;HANGUL SYLLABLE BBUL;Lo;0;L;;;;;N;;;;;
-BFD5;HANGUL SYLLABLE BBULG;Lo;0;L;;;;;N;;;;;
-BFD6;HANGUL SYLLABLE BBULM;Lo;0;L;;;;;N;;;;;
-BFD7;HANGUL SYLLABLE BBULB;Lo;0;L;;;;;N;;;;;
-BFD8;HANGUL SYLLABLE BBULS;Lo;0;L;;;;;N;;;;;
-BFD9;HANGUL SYLLABLE BBULT;Lo;0;L;;;;;N;;;;;
-BFDA;HANGUL SYLLABLE BBULP;Lo;0;L;;;;;N;;;;;
-BFDB;HANGUL SYLLABLE BBULH;Lo;0;L;;;;;N;;;;;
-BFDC;HANGUL SYLLABLE BBUM;Lo;0;L;;;;;N;;;;;
-BFDD;HANGUL SYLLABLE BBUB;Lo;0;L;;;;;N;;;;;
-BFDE;HANGUL SYLLABLE BBUBS;Lo;0;L;;;;;N;;;;;
-BFDF;HANGUL SYLLABLE BBUS;Lo;0;L;;;;;N;;;;;
-BFE0;HANGUL SYLLABLE BBUSS;Lo;0;L;;;;;N;;;;;
-BFE1;HANGUL SYLLABLE BBUNG;Lo;0;L;;;;;N;;;;;
-BFE2;HANGUL SYLLABLE BBUJ;Lo;0;L;;;;;N;;;;;
-BFE3;HANGUL SYLLABLE BBUC;Lo;0;L;;;;;N;;;;;
-BFE4;HANGUL SYLLABLE BBUK;Lo;0;L;;;;;N;;;;;
-BFE5;HANGUL SYLLABLE BBUT;Lo;0;L;;;;;N;;;;;
-BFE6;HANGUL SYLLABLE BBUP;Lo;0;L;;;;;N;;;;;
-BFE7;HANGUL SYLLABLE BBUH;Lo;0;L;;;;;N;;;;;
-BFE8;HANGUL SYLLABLE BBWEO;Lo;0;L;;;;;N;;;;;
-BFE9;HANGUL SYLLABLE BBWEOG;Lo;0;L;;;;;N;;;;;
-BFEA;HANGUL SYLLABLE BBWEOGG;Lo;0;L;;;;;N;;;;;
-BFEB;HANGUL SYLLABLE BBWEOGS;Lo;0;L;;;;;N;;;;;
-BFEC;HANGUL SYLLABLE BBWEON;Lo;0;L;;;;;N;;;;;
-BFED;HANGUL SYLLABLE BBWEONI;Lo;0;L;;;;;N;;;;;
-BFEE;HANGUL SYLLABLE BBWEONH;Lo;0;L;;;;;N;;;;;
-BFEF;HANGUL SYLLABLE BBWEOD;Lo;0;L;;;;;N;;;;;
-BFF0;HANGUL SYLLABLE BBWEOL;Lo;0;L;;;;;N;;;;;
-BFF1;HANGUL SYLLABLE BBWEOLG;Lo;0;L;;;;;N;;;;;
-BFF2;HANGUL SYLLABLE BBWEOLM;Lo;0;L;;;;;N;;;;;
-BFF3;HANGUL SYLLABLE BBWEOLB;Lo;0;L;;;;;N;;;;;
-BFF4;HANGUL SYLLABLE BBWEOLS;Lo;0;L;;;;;N;;;;;
-BFF5;HANGUL SYLLABLE BBWEOLT;Lo;0;L;;;;;N;;;;;
-BFF6;HANGUL SYLLABLE BBWEOLP;Lo;0;L;;;;;N;;;;;
-BFF7;HANGUL SYLLABLE BBWEOLH;Lo;0;L;;;;;N;;;;;
-BFF8;HANGUL SYLLABLE BBWEOM;Lo;0;L;;;;;N;;;;;
-BFF9;HANGUL SYLLABLE BBWEOB;Lo;0;L;;;;;N;;;;;
-BFFA;HANGUL SYLLABLE BBWEOBS;Lo;0;L;;;;;N;;;;;
-BFFB;HANGUL SYLLABLE BBWEOS;Lo;0;L;;;;;N;;;;;
-BFFC;HANGUL SYLLABLE BBWEOSS;Lo;0;L;;;;;N;;;;;
-BFFD;HANGUL SYLLABLE BBWEONG;Lo;0;L;;;;;N;;;;;
-BFFE;HANGUL SYLLABLE BBWEOJ;Lo;0;L;;;;;N;;;;;
-BFFF;HANGUL SYLLABLE BBWEOC;Lo;0;L;;;;;N;;;;;
-C000;HANGUL SYLLABLE BBWEOK;Lo;0;L;;;;;N;;;;;
-C001;HANGUL SYLLABLE BBWEOT;Lo;0;L;;;;;N;;;;;
-C002;HANGUL SYLLABLE BBWEOP;Lo;0;L;;;;;N;;;;;
-C003;HANGUL SYLLABLE BBWEOH;Lo;0;L;;;;;N;;;;;
-C004;HANGUL SYLLABLE BBWE;Lo;0;L;;;;;N;;;;;
-C005;HANGUL SYLLABLE BBWEG;Lo;0;L;;;;;N;;;;;
-C006;HANGUL SYLLABLE BBWEGG;Lo;0;L;;;;;N;;;;;
-C007;HANGUL SYLLABLE BBWEGS;Lo;0;L;;;;;N;;;;;
-C008;HANGUL SYLLABLE BBWEN;Lo;0;L;;;;;N;;;;;
-C009;HANGUL SYLLABLE BBWENI;Lo;0;L;;;;;N;;;;;
-C00A;HANGUL SYLLABLE BBWENH;Lo;0;L;;;;;N;;;;;
-C00B;HANGUL SYLLABLE BBWED;Lo;0;L;;;;;N;;;;;
-C00C;HANGUL SYLLABLE BBWEL;Lo;0;L;;;;;N;;;;;
-C00D;HANGUL SYLLABLE BBWELG;Lo;0;L;;;;;N;;;;;
-C00E;HANGUL SYLLABLE BBWELM;Lo;0;L;;;;;N;;;;;
-C00F;HANGUL SYLLABLE BBWELB;Lo;0;L;;;;;N;;;;;
-C010;HANGUL SYLLABLE BBWELS;Lo;0;L;;;;;N;;;;;
-C011;HANGUL SYLLABLE BBWELT;Lo;0;L;;;;;N;;;;;
-C012;HANGUL SYLLABLE BBWELP;Lo;0;L;;;;;N;;;;;
-C013;HANGUL SYLLABLE BBWELH;Lo;0;L;;;;;N;;;;;
-C014;HANGUL SYLLABLE BBWEM;Lo;0;L;;;;;N;;;;;
-C015;HANGUL SYLLABLE BBWEB;Lo;0;L;;;;;N;;;;;
-C016;HANGUL SYLLABLE BBWEBS;Lo;0;L;;;;;N;;;;;
-C017;HANGUL SYLLABLE BBWES;Lo;0;L;;;;;N;;;;;
-C018;HANGUL SYLLABLE BBWESS;Lo;0;L;;;;;N;;;;;
-C019;HANGUL SYLLABLE BBWENG;Lo;0;L;;;;;N;;;;;
-C01A;HANGUL SYLLABLE BBWEJ;Lo;0;L;;;;;N;;;;;
-C01B;HANGUL SYLLABLE BBWEC;Lo;0;L;;;;;N;;;;;
-C01C;HANGUL SYLLABLE BBWEK;Lo;0;L;;;;;N;;;;;
-C01D;HANGUL SYLLABLE BBWET;Lo;0;L;;;;;N;;;;;
-C01E;HANGUL SYLLABLE BBWEP;Lo;0;L;;;;;N;;;;;
-C01F;HANGUL SYLLABLE BBWEH;Lo;0;L;;;;;N;;;;;
-C020;HANGUL SYLLABLE BBWI;Lo;0;L;;;;;N;;;;;
-C021;HANGUL SYLLABLE BBWIG;Lo;0;L;;;;;N;;;;;
-C022;HANGUL SYLLABLE BBWIGG;Lo;0;L;;;;;N;;;;;
-C023;HANGUL SYLLABLE BBWIGS;Lo;0;L;;;;;N;;;;;
-C024;HANGUL SYLLABLE BBWIN;Lo;0;L;;;;;N;;;;;
-C025;HANGUL SYLLABLE BBWINI;Lo;0;L;;;;;N;;;;;
-C026;HANGUL SYLLABLE BBWINH;Lo;0;L;;;;;N;;;;;
-C027;HANGUL SYLLABLE BBWID;Lo;0;L;;;;;N;;;;;
-C028;HANGUL SYLLABLE BBWIL;Lo;0;L;;;;;N;;;;;
-C029;HANGUL SYLLABLE BBWILG;Lo;0;L;;;;;N;;;;;
-C02A;HANGUL SYLLABLE BBWILM;Lo;0;L;;;;;N;;;;;
-C02B;HANGUL SYLLABLE BBWILB;Lo;0;L;;;;;N;;;;;
-C02C;HANGUL SYLLABLE BBWILS;Lo;0;L;;;;;N;;;;;
-C02D;HANGUL SYLLABLE BBWILT;Lo;0;L;;;;;N;;;;;
-C02E;HANGUL SYLLABLE BBWILP;Lo;0;L;;;;;N;;;;;
-C02F;HANGUL SYLLABLE BBWILH;Lo;0;L;;;;;N;;;;;
-C030;HANGUL SYLLABLE BBWIM;Lo;0;L;;;;;N;;;;;
-C031;HANGUL SYLLABLE BBWIB;Lo;0;L;;;;;N;;;;;
-C032;HANGUL SYLLABLE BBWIBS;Lo;0;L;;;;;N;;;;;
-C033;HANGUL SYLLABLE BBWIS;Lo;0;L;;;;;N;;;;;
-C034;HANGUL SYLLABLE BBWISS;Lo;0;L;;;;;N;;;;;
-C035;HANGUL SYLLABLE BBWING;Lo;0;L;;;;;N;;;;;
-C036;HANGUL SYLLABLE BBWIJ;Lo;0;L;;;;;N;;;;;
-C037;HANGUL SYLLABLE BBWIC;Lo;0;L;;;;;N;;;;;
-C038;HANGUL SYLLABLE BBWIK;Lo;0;L;;;;;N;;;;;
-C039;HANGUL SYLLABLE BBWIT;Lo;0;L;;;;;N;;;;;
-C03A;HANGUL SYLLABLE BBWIP;Lo;0;L;;;;;N;;;;;
-C03B;HANGUL SYLLABLE BBWIH;Lo;0;L;;;;;N;;;;;
-C03C;HANGUL SYLLABLE BBYU;Lo;0;L;;;;;N;;;;;
-C03D;HANGUL SYLLABLE BBYUG;Lo;0;L;;;;;N;;;;;
-C03E;HANGUL SYLLABLE BBYUGG;Lo;0;L;;;;;N;;;;;
-C03F;HANGUL SYLLABLE BBYUGS;Lo;0;L;;;;;N;;;;;
-C040;HANGUL SYLLABLE BBYUN;Lo;0;L;;;;;N;;;;;
-C041;HANGUL SYLLABLE BBYUNI;Lo;0;L;;;;;N;;;;;
-C042;HANGUL SYLLABLE BBYUNH;Lo;0;L;;;;;N;;;;;
-C043;HANGUL SYLLABLE BBYUD;Lo;0;L;;;;;N;;;;;
-C044;HANGUL SYLLABLE BBYUL;Lo;0;L;;;;;N;;;;;
-C045;HANGUL SYLLABLE BBYULG;Lo;0;L;;;;;N;;;;;
-C046;HANGUL SYLLABLE BBYULM;Lo;0;L;;;;;N;;;;;
-C047;HANGUL SYLLABLE BBYULB;Lo;0;L;;;;;N;;;;;
-C048;HANGUL SYLLABLE BBYULS;Lo;0;L;;;;;N;;;;;
-C049;HANGUL SYLLABLE BBYULT;Lo;0;L;;;;;N;;;;;
-C04A;HANGUL SYLLABLE BBYULP;Lo;0;L;;;;;N;;;;;
-C04B;HANGUL SYLLABLE BBYULH;Lo;0;L;;;;;N;;;;;
-C04C;HANGUL SYLLABLE BBYUM;Lo;0;L;;;;;N;;;;;
-C04D;HANGUL SYLLABLE BBYUB;Lo;0;L;;;;;N;;;;;
-C04E;HANGUL SYLLABLE BBYUBS;Lo;0;L;;;;;N;;;;;
-C04F;HANGUL SYLLABLE BBYUS;Lo;0;L;;;;;N;;;;;
-C050;HANGUL SYLLABLE BBYUSS;Lo;0;L;;;;;N;;;;;
-C051;HANGUL SYLLABLE BBYUNG;Lo;0;L;;;;;N;;;;;
-C052;HANGUL SYLLABLE BBYUJ;Lo;0;L;;;;;N;;;;;
-C053;HANGUL SYLLABLE BBYUC;Lo;0;L;;;;;N;;;;;
-C054;HANGUL SYLLABLE BBYUK;Lo;0;L;;;;;N;;;;;
-C055;HANGUL SYLLABLE BBYUT;Lo;0;L;;;;;N;;;;;
-C056;HANGUL SYLLABLE BBYUP;Lo;0;L;;;;;N;;;;;
-C057;HANGUL SYLLABLE BBYUH;Lo;0;L;;;;;N;;;;;
-C058;HANGUL SYLLABLE BBEU;Lo;0;L;;;;;N;;;;;
-C059;HANGUL SYLLABLE BBEUG;Lo;0;L;;;;;N;;;;;
-C05A;HANGUL SYLLABLE BBEUGG;Lo;0;L;;;;;N;;;;;
-C05B;HANGUL SYLLABLE BBEUGS;Lo;0;L;;;;;N;;;;;
-C05C;HANGUL SYLLABLE BBEUN;Lo;0;L;;;;;N;;;;;
-C05D;HANGUL SYLLABLE BBEUNI;Lo;0;L;;;;;N;;;;;
-C05E;HANGUL SYLLABLE BBEUNH;Lo;0;L;;;;;N;;;;;
-C05F;HANGUL SYLLABLE BBEUD;Lo;0;L;;;;;N;;;;;
-C060;HANGUL SYLLABLE BBEUL;Lo;0;L;;;;;N;;;;;
-C061;HANGUL SYLLABLE BBEULG;Lo;0;L;;;;;N;;;;;
-C062;HANGUL SYLLABLE BBEULM;Lo;0;L;;;;;N;;;;;
-C063;HANGUL SYLLABLE BBEULB;Lo;0;L;;;;;N;;;;;
-C064;HANGUL SYLLABLE BBEULS;Lo;0;L;;;;;N;;;;;
-C065;HANGUL SYLLABLE BBEULT;Lo;0;L;;;;;N;;;;;
-C066;HANGUL SYLLABLE BBEULP;Lo;0;L;;;;;N;;;;;
-C067;HANGUL SYLLABLE BBEULH;Lo;0;L;;;;;N;;;;;
-C068;HANGUL SYLLABLE BBEUM;Lo;0;L;;;;;N;;;;;
-C069;HANGUL SYLLABLE BBEUB;Lo;0;L;;;;;N;;;;;
-C06A;HANGUL SYLLABLE BBEUBS;Lo;0;L;;;;;N;;;;;
-C06B;HANGUL SYLLABLE BBEUS;Lo;0;L;;;;;N;;;;;
-C06C;HANGUL SYLLABLE BBEUSS;Lo;0;L;;;;;N;;;;;
-C06D;HANGUL SYLLABLE BBEUNG;Lo;0;L;;;;;N;;;;;
-C06E;HANGUL SYLLABLE BBEUJ;Lo;0;L;;;;;N;;;;;
-C06F;HANGUL SYLLABLE BBEUC;Lo;0;L;;;;;N;;;;;
-C070;HANGUL SYLLABLE BBEUK;Lo;0;L;;;;;N;;;;;
-C071;HANGUL SYLLABLE BBEUT;Lo;0;L;;;;;N;;;;;
-C072;HANGUL SYLLABLE BBEUP;Lo;0;L;;;;;N;;;;;
-C073;HANGUL SYLLABLE BBEUH;Lo;0;L;;;;;N;;;;;
-C074;HANGUL SYLLABLE BBYI;Lo;0;L;;;;;N;;;;;
-C075;HANGUL SYLLABLE BBYIG;Lo;0;L;;;;;N;;;;;
-C076;HANGUL SYLLABLE BBYIGG;Lo;0;L;;;;;N;;;;;
-C077;HANGUL SYLLABLE BBYIGS;Lo;0;L;;;;;N;;;;;
-C078;HANGUL SYLLABLE BBYIN;Lo;0;L;;;;;N;;;;;
-C079;HANGUL SYLLABLE BBYINI;Lo;0;L;;;;;N;;;;;
-C07A;HANGUL SYLLABLE BBYINH;Lo;0;L;;;;;N;;;;;
-C07B;HANGUL SYLLABLE BBYID;Lo;0;L;;;;;N;;;;;
-C07C;HANGUL SYLLABLE BBYIL;Lo;0;L;;;;;N;;;;;
-C07D;HANGUL SYLLABLE BBYILG;Lo;0;L;;;;;N;;;;;
-C07E;HANGUL SYLLABLE BBYILM;Lo;0;L;;;;;N;;;;;
-C07F;HANGUL SYLLABLE BBYILB;Lo;0;L;;;;;N;;;;;
-C080;HANGUL SYLLABLE BBYILS;Lo;0;L;;;;;N;;;;;
-C081;HANGUL SYLLABLE BBYILT;Lo;0;L;;;;;N;;;;;
-C082;HANGUL SYLLABLE BBYILP;Lo;0;L;;;;;N;;;;;
-C083;HANGUL SYLLABLE BBYILH;Lo;0;L;;;;;N;;;;;
-C084;HANGUL SYLLABLE BBYIM;Lo;0;L;;;;;N;;;;;
-C085;HANGUL SYLLABLE BBYIB;Lo;0;L;;;;;N;;;;;
-C086;HANGUL SYLLABLE BBYIBS;Lo;0;L;;;;;N;;;;;
-C087;HANGUL SYLLABLE BBYIS;Lo;0;L;;;;;N;;;;;
-C088;HANGUL SYLLABLE BBYISS;Lo;0;L;;;;;N;;;;;
-C089;HANGUL SYLLABLE BBYING;Lo;0;L;;;;;N;;;;;
-C08A;HANGUL SYLLABLE BBYIJ;Lo;0;L;;;;;N;;;;;
-C08B;HANGUL SYLLABLE BBYIC;Lo;0;L;;;;;N;;;;;
-C08C;HANGUL SYLLABLE BBYIK;Lo;0;L;;;;;N;;;;;
-C08D;HANGUL SYLLABLE BBYIT;Lo;0;L;;;;;N;;;;;
-C08E;HANGUL SYLLABLE BBYIP;Lo;0;L;;;;;N;;;;;
-C08F;HANGUL SYLLABLE BBYIH;Lo;0;L;;;;;N;;;;;
-C090;HANGUL SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
-C091;HANGUL SYLLABLE BBIG;Lo;0;L;;;;;N;;;;;
-C092;HANGUL SYLLABLE BBIGG;Lo;0;L;;;;;N;;;;;
-C093;HANGUL SYLLABLE BBIGS;Lo;0;L;;;;;N;;;;;
-C094;HANGUL SYLLABLE BBIN;Lo;0;L;;;;;N;;;;;
-C095;HANGUL SYLLABLE BBINI;Lo;0;L;;;;;N;;;;;
-C096;HANGUL SYLLABLE BBINH;Lo;0;L;;;;;N;;;;;
-C097;HANGUL SYLLABLE BBID;Lo;0;L;;;;;N;;;;;
-C098;HANGUL SYLLABLE BBIL;Lo;0;L;;;;;N;;;;;
-C099;HANGUL SYLLABLE BBILG;Lo;0;L;;;;;N;;;;;
-C09A;HANGUL SYLLABLE BBILM;Lo;0;L;;;;;N;;;;;
-C09B;HANGUL SYLLABLE BBILB;Lo;0;L;;;;;N;;;;;
-C09C;HANGUL SYLLABLE BBILS;Lo;0;L;;;;;N;;;;;
-C09D;HANGUL SYLLABLE BBILT;Lo;0;L;;;;;N;;;;;
-C09E;HANGUL SYLLABLE BBILP;Lo;0;L;;;;;N;;;;;
-C09F;HANGUL SYLLABLE BBILH;Lo;0;L;;;;;N;;;;;
-C0A0;HANGUL SYLLABLE BBIM;Lo;0;L;;;;;N;;;;;
-C0A1;HANGUL SYLLABLE BBIB;Lo;0;L;;;;;N;;;;;
-C0A2;HANGUL SYLLABLE BBIBS;Lo;0;L;;;;;N;;;;;
-C0A3;HANGUL SYLLABLE BBIS;Lo;0;L;;;;;N;;;;;
-C0A4;HANGUL SYLLABLE BBISS;Lo;0;L;;;;;N;;;;;
-C0A5;HANGUL SYLLABLE BBING;Lo;0;L;;;;;N;;;;;
-C0A6;HANGUL SYLLABLE BBIJ;Lo;0;L;;;;;N;;;;;
-C0A7;HANGUL SYLLABLE BBIC;Lo;0;L;;;;;N;;;;;
-C0A8;HANGUL SYLLABLE BBIK;Lo;0;L;;;;;N;;;;;
-C0A9;HANGUL SYLLABLE BBIT;Lo;0;L;;;;;N;;;;;
-C0AA;HANGUL SYLLABLE BBIP;Lo;0;L;;;;;N;;;;;
-C0AB;HANGUL SYLLABLE BBIH;Lo;0;L;;;;;N;;;;;
-C0AC;HANGUL SYLLABLE SA;Lo;0;L;;;;;N;;;;;
-C0AD;HANGUL SYLLABLE SAG;Lo;0;L;;;;;N;;;;;
-C0AE;HANGUL SYLLABLE SAGG;Lo;0;L;;;;;N;;;;;
-C0AF;HANGUL SYLLABLE SAGS;Lo;0;L;;;;;N;;;;;
-C0B0;HANGUL SYLLABLE SAN;Lo;0;L;;;;;N;;;;;
-C0B1;HANGUL SYLLABLE SANI;Lo;0;L;;;;;N;;;;;
-C0B2;HANGUL SYLLABLE SANH;Lo;0;L;;;;;N;;;;;
-C0B3;HANGUL SYLLABLE SAD;Lo;0;L;;;;;N;;;;;
-C0B4;HANGUL SYLLABLE SAL;Lo;0;L;;;;;N;;;;;
-C0B5;HANGUL SYLLABLE SALG;Lo;0;L;;;;;N;;;;;
-C0B6;HANGUL SYLLABLE SALM;Lo;0;L;;;;;N;;;;;
-C0B7;HANGUL SYLLABLE SALB;Lo;0;L;;;;;N;;;;;
-C0B8;HANGUL SYLLABLE SALS;Lo;0;L;;;;;N;;;;;
-C0B9;HANGUL SYLLABLE SALT;Lo;0;L;;;;;N;;;;;
-C0BA;HANGUL SYLLABLE SALP;Lo;0;L;;;;;N;;;;;
-C0BB;HANGUL SYLLABLE SALH;Lo;0;L;;;;;N;;;;;
-C0BC;HANGUL SYLLABLE SAM;Lo;0;L;;;;;N;;;;;
-C0BD;HANGUL SYLLABLE SAB;Lo;0;L;;;;;N;;;;;
-C0BE;HANGUL SYLLABLE SABS;Lo;0;L;;;;;N;;;;;
-C0BF;HANGUL SYLLABLE SAS;Lo;0;L;;;;;N;;;;;
-C0C0;HANGUL SYLLABLE SASS;Lo;0;L;;;;;N;;;;;
-C0C1;HANGUL SYLLABLE SANG;Lo;0;L;;;;;N;;;;;
-C0C2;HANGUL SYLLABLE SAJ;Lo;0;L;;;;;N;;;;;
-C0C3;HANGUL SYLLABLE SAC;Lo;0;L;;;;;N;;;;;
-C0C4;HANGUL SYLLABLE SAK;Lo;0;L;;;;;N;;;;;
-C0C5;HANGUL SYLLABLE SAT;Lo;0;L;;;;;N;;;;;
-C0C6;HANGUL SYLLABLE SAP;Lo;0;L;;;;;N;;;;;
-C0C7;HANGUL SYLLABLE SAH;Lo;0;L;;;;;N;;;;;
-C0C8;HANGUL SYLLABLE SAE;Lo;0;L;;;;;N;;;;;
-C0C9;HANGUL SYLLABLE SAEG;Lo;0;L;;;;;N;;;;;
-C0CA;HANGUL SYLLABLE SAEGG;Lo;0;L;;;;;N;;;;;
-C0CB;HANGUL SYLLABLE SAEGS;Lo;0;L;;;;;N;;;;;
-C0CC;HANGUL SYLLABLE SAEN;Lo;0;L;;;;;N;;;;;
-C0CD;HANGUL SYLLABLE SAENI;Lo;0;L;;;;;N;;;;;
-C0CE;HANGUL SYLLABLE SAENH;Lo;0;L;;;;;N;;;;;
-C0CF;HANGUL SYLLABLE SAED;Lo;0;L;;;;;N;;;;;
-C0D0;HANGUL SYLLABLE SAEL;Lo;0;L;;;;;N;;;;;
-C0D1;HANGUL SYLLABLE SAELG;Lo;0;L;;;;;N;;;;;
-C0D2;HANGUL SYLLABLE SAELM;Lo;0;L;;;;;N;;;;;
-C0D3;HANGUL SYLLABLE SAELB;Lo;0;L;;;;;N;;;;;
-C0D4;HANGUL SYLLABLE SAELS;Lo;0;L;;;;;N;;;;;
-C0D5;HANGUL SYLLABLE SAELT;Lo;0;L;;;;;N;;;;;
-C0D6;HANGUL SYLLABLE SAELP;Lo;0;L;;;;;N;;;;;
-C0D7;HANGUL SYLLABLE SAELH;Lo;0;L;;;;;N;;;;;
-C0D8;HANGUL SYLLABLE SAEM;Lo;0;L;;;;;N;;;;;
-C0D9;HANGUL SYLLABLE SAEB;Lo;0;L;;;;;N;;;;;
-C0DA;HANGUL SYLLABLE SAEBS;Lo;0;L;;;;;N;;;;;
-C0DB;HANGUL SYLLABLE SAES;Lo;0;L;;;;;N;;;;;
-C0DC;HANGUL SYLLABLE SAESS;Lo;0;L;;;;;N;;;;;
-C0DD;HANGUL SYLLABLE SAENG;Lo;0;L;;;;;N;;;;;
-C0DE;HANGUL SYLLABLE SAEJ;Lo;0;L;;;;;N;;;;;
-C0DF;HANGUL SYLLABLE SAEC;Lo;0;L;;;;;N;;;;;
-C0E0;HANGUL SYLLABLE SAEK;Lo;0;L;;;;;N;;;;;
-C0E1;HANGUL SYLLABLE SAET;Lo;0;L;;;;;N;;;;;
-C0E2;HANGUL SYLLABLE SAEP;Lo;0;L;;;;;N;;;;;
-C0E3;HANGUL SYLLABLE SAEH;Lo;0;L;;;;;N;;;;;
-C0E4;HANGUL SYLLABLE SYA;Lo;0;L;;;;;N;;;;;
-C0E5;HANGUL SYLLABLE SYAG;Lo;0;L;;;;;N;;;;;
-C0E6;HANGUL SYLLABLE SYAGG;Lo;0;L;;;;;N;;;;;
-C0E7;HANGUL SYLLABLE SYAGS;Lo;0;L;;;;;N;;;;;
-C0E8;HANGUL SYLLABLE SYAN;Lo;0;L;;;;;N;;;;;
-C0E9;HANGUL SYLLABLE SYANI;Lo;0;L;;;;;N;;;;;
-C0EA;HANGUL SYLLABLE SYANH;Lo;0;L;;;;;N;;;;;
-C0EB;HANGUL SYLLABLE SYAD;Lo;0;L;;;;;N;;;;;
-C0EC;HANGUL SYLLABLE SYAL;Lo;0;L;;;;;N;;;;;
-C0ED;HANGUL SYLLABLE SYALG;Lo;0;L;;;;;N;;;;;
-C0EE;HANGUL SYLLABLE SYALM;Lo;0;L;;;;;N;;;;;
-C0EF;HANGUL SYLLABLE SYALB;Lo;0;L;;;;;N;;;;;
-C0F0;HANGUL SYLLABLE SYALS;Lo;0;L;;;;;N;;;;;
-C0F1;HANGUL SYLLABLE SYALT;Lo;0;L;;;;;N;;;;;
-C0F2;HANGUL SYLLABLE SYALP;Lo;0;L;;;;;N;;;;;
-C0F3;HANGUL SYLLABLE SYALH;Lo;0;L;;;;;N;;;;;
-C0F4;HANGUL SYLLABLE SYAM;Lo;0;L;;;;;N;;;;;
-C0F5;HANGUL SYLLABLE SYAB;Lo;0;L;;;;;N;;;;;
-C0F6;HANGUL SYLLABLE SYABS;Lo;0;L;;;;;N;;;;;
-C0F7;HANGUL SYLLABLE SYAS;Lo;0;L;;;;;N;;;;;
-C0F8;HANGUL SYLLABLE SYASS;Lo;0;L;;;;;N;;;;;
-C0F9;HANGUL SYLLABLE SYANG;Lo;0;L;;;;;N;;;;;
-C0FA;HANGUL SYLLABLE SYAJ;Lo;0;L;;;;;N;;;;;
-C0FB;HANGUL SYLLABLE SYAC;Lo;0;L;;;;;N;;;;;
-C0FC;HANGUL SYLLABLE SYAK;Lo;0;L;;;;;N;;;;;
-C0FD;HANGUL SYLLABLE SYAT;Lo;0;L;;;;;N;;;;;
-C0FE;HANGUL SYLLABLE SYAP;Lo;0;L;;;;;N;;;;;
-C0FF;HANGUL SYLLABLE SYAH;Lo;0;L;;;;;N;;;;;
-C100;HANGUL SYLLABLE SYAE;Lo;0;L;;;;;N;;;;;
-C101;HANGUL SYLLABLE SYAEG;Lo;0;L;;;;;N;;;;;
-C102;HANGUL SYLLABLE SYAEGG;Lo;0;L;;;;;N;;;;;
-C103;HANGUL SYLLABLE SYAEGS;Lo;0;L;;;;;N;;;;;
-C104;HANGUL SYLLABLE SYAEN;Lo;0;L;;;;;N;;;;;
-C105;HANGUL SYLLABLE SYAENI;Lo;0;L;;;;;N;;;;;
-C106;HANGUL SYLLABLE SYAENH;Lo;0;L;;;;;N;;;;;
-C107;HANGUL SYLLABLE SYAED;Lo;0;L;;;;;N;;;;;
-C108;HANGUL SYLLABLE SYAEL;Lo;0;L;;;;;N;;;;;
-C109;HANGUL SYLLABLE SYAELG;Lo;0;L;;;;;N;;;;;
-C10A;HANGUL SYLLABLE SYAELM;Lo;0;L;;;;;N;;;;;
-C10B;HANGUL SYLLABLE SYAELB;Lo;0;L;;;;;N;;;;;
-C10C;HANGUL SYLLABLE SYAELS;Lo;0;L;;;;;N;;;;;
-C10D;HANGUL SYLLABLE SYAELT;Lo;0;L;;;;;N;;;;;
-C10E;HANGUL SYLLABLE SYAELP;Lo;0;L;;;;;N;;;;;
-C10F;HANGUL SYLLABLE SYAELH;Lo;0;L;;;;;N;;;;;
-C110;HANGUL SYLLABLE SYAEM;Lo;0;L;;;;;N;;;;;
-C111;HANGUL SYLLABLE SYAEB;Lo;0;L;;;;;N;;;;;
-C112;HANGUL SYLLABLE SYAEBS;Lo;0;L;;;;;N;;;;;
-C113;HANGUL SYLLABLE SYAES;Lo;0;L;;;;;N;;;;;
-C114;HANGUL SYLLABLE SYAESS;Lo;0;L;;;;;N;;;;;
-C115;HANGUL SYLLABLE SYAENG;Lo;0;L;;;;;N;;;;;
-C116;HANGUL SYLLABLE SYAEJ;Lo;0;L;;;;;N;;;;;
-C117;HANGUL SYLLABLE SYAEC;Lo;0;L;;;;;N;;;;;
-C118;HANGUL SYLLABLE SYAEK;Lo;0;L;;;;;N;;;;;
-C119;HANGUL SYLLABLE SYAET;Lo;0;L;;;;;N;;;;;
-C11A;HANGUL SYLLABLE SYAEP;Lo;0;L;;;;;N;;;;;
-C11B;HANGUL SYLLABLE SYAEH;Lo;0;L;;;;;N;;;;;
-C11C;HANGUL SYLLABLE SEO;Lo;0;L;;;;;N;;;;;
-C11D;HANGUL SYLLABLE SEOG;Lo;0;L;;;;;N;;;;;
-C11E;HANGUL SYLLABLE SEOGG;Lo;0;L;;;;;N;;;;;
-C11F;HANGUL SYLLABLE SEOGS;Lo;0;L;;;;;N;;;;;
-C120;HANGUL SYLLABLE SEON;Lo;0;L;;;;;N;;;;;
-C121;HANGUL SYLLABLE SEONI;Lo;0;L;;;;;N;;;;;
-C122;HANGUL SYLLABLE SEONH;Lo;0;L;;;;;N;;;;;
-C123;HANGUL SYLLABLE SEOD;Lo;0;L;;;;;N;;;;;
-C124;HANGUL SYLLABLE SEOL;Lo;0;L;;;;;N;;;;;
-C125;HANGUL SYLLABLE SEOLG;Lo;0;L;;;;;N;;;;;
-C126;HANGUL SYLLABLE SEOLM;Lo;0;L;;;;;N;;;;;
-C127;HANGUL SYLLABLE SEOLB;Lo;0;L;;;;;N;;;;;
-C128;HANGUL SYLLABLE SEOLS;Lo;0;L;;;;;N;;;;;
-C129;HANGUL SYLLABLE SEOLT;Lo;0;L;;;;;N;;;;;
-C12A;HANGUL SYLLABLE SEOLP;Lo;0;L;;;;;N;;;;;
-C12B;HANGUL SYLLABLE SEOLH;Lo;0;L;;;;;N;;;;;
-C12C;HANGUL SYLLABLE SEOM;Lo;0;L;;;;;N;;;;;
-C12D;HANGUL SYLLABLE SEOB;Lo;0;L;;;;;N;;;;;
-C12E;HANGUL SYLLABLE SEOBS;Lo;0;L;;;;;N;;;;;
-C12F;HANGUL SYLLABLE SEOS;Lo;0;L;;;;;N;;;;;
-C130;HANGUL SYLLABLE SEOSS;Lo;0;L;;;;;N;;;;;
-C131;HANGUL SYLLABLE SEONG;Lo;0;L;;;;;N;;;;;
-C132;HANGUL SYLLABLE SEOJ;Lo;0;L;;;;;N;;;;;
-C133;HANGUL SYLLABLE SEOC;Lo;0;L;;;;;N;;;;;
-C134;HANGUL SYLLABLE SEOK;Lo;0;L;;;;;N;;;;;
-C135;HANGUL SYLLABLE SEOT;Lo;0;L;;;;;N;;;;;
-C136;HANGUL SYLLABLE SEOP;Lo;0;L;;;;;N;;;;;
-C137;HANGUL SYLLABLE SEOH;Lo;0;L;;;;;N;;;;;
-C138;HANGUL SYLLABLE SE;Lo;0;L;;;;;N;;;;;
-C139;HANGUL SYLLABLE SEG;Lo;0;L;;;;;N;;;;;
-C13A;HANGUL SYLLABLE SEGG;Lo;0;L;;;;;N;;;;;
-C13B;HANGUL SYLLABLE SEGS;Lo;0;L;;;;;N;;;;;
-C13C;HANGUL SYLLABLE SEN;Lo;0;L;;;;;N;;;;;
-C13D;HANGUL SYLLABLE SENI;Lo;0;L;;;;;N;;;;;
-C13E;HANGUL SYLLABLE SENH;Lo;0;L;;;;;N;;;;;
-C13F;HANGUL SYLLABLE SED;Lo;0;L;;;;;N;;;;;
-C140;HANGUL SYLLABLE SEL;Lo;0;L;;;;;N;;;;;
-C141;HANGUL SYLLABLE SELG;Lo;0;L;;;;;N;;;;;
-C142;HANGUL SYLLABLE SELM;Lo;0;L;;;;;N;;;;;
-C143;HANGUL SYLLABLE SELB;Lo;0;L;;;;;N;;;;;
-C144;HANGUL SYLLABLE SELS;Lo;0;L;;;;;N;;;;;
-C145;HANGUL SYLLABLE SELT;Lo;0;L;;;;;N;;;;;
-C146;HANGUL SYLLABLE SELP;Lo;0;L;;;;;N;;;;;
-C147;HANGUL SYLLABLE SELH;Lo;0;L;;;;;N;;;;;
-C148;HANGUL SYLLABLE SEM;Lo;0;L;;;;;N;;;;;
-C149;HANGUL SYLLABLE SEB;Lo;0;L;;;;;N;;;;;
-C14A;HANGUL SYLLABLE SEBS;Lo;0;L;;;;;N;;;;;
-C14B;HANGUL SYLLABLE SES;Lo;0;L;;;;;N;;;;;
-C14C;HANGUL SYLLABLE SESS;Lo;0;L;;;;;N;;;;;
-C14D;HANGUL SYLLABLE SENG;Lo;0;L;;;;;N;;;;;
-C14E;HANGUL SYLLABLE SEJ;Lo;0;L;;;;;N;;;;;
-C14F;HANGUL SYLLABLE SEC;Lo;0;L;;;;;N;;;;;
-C150;HANGUL SYLLABLE SEK;Lo;0;L;;;;;N;;;;;
-C151;HANGUL SYLLABLE SET;Lo;0;L;;;;;N;;;;;
-C152;HANGUL SYLLABLE SEP;Lo;0;L;;;;;N;;;;;
-C153;HANGUL SYLLABLE SEH;Lo;0;L;;;;;N;;;;;
-C154;HANGUL SYLLABLE SYEO;Lo;0;L;;;;;N;;;;;
-C155;HANGUL SYLLABLE SYEOG;Lo;0;L;;;;;N;;;;;
-C156;HANGUL SYLLABLE SYEOGG;Lo;0;L;;;;;N;;;;;
-C157;HANGUL SYLLABLE SYEOGS;Lo;0;L;;;;;N;;;;;
-C158;HANGUL SYLLABLE SYEON;Lo;0;L;;;;;N;;;;;
-C159;HANGUL SYLLABLE SYEONI;Lo;0;L;;;;;N;;;;;
-C15A;HANGUL SYLLABLE SYEONH;Lo;0;L;;;;;N;;;;;
-C15B;HANGUL SYLLABLE SYEOD;Lo;0;L;;;;;N;;;;;
-C15C;HANGUL SYLLABLE SYEOL;Lo;0;L;;;;;N;;;;;
-C15D;HANGUL SYLLABLE SYEOLG;Lo;0;L;;;;;N;;;;;
-C15E;HANGUL SYLLABLE SYEOLM;Lo;0;L;;;;;N;;;;;
-C15F;HANGUL SYLLABLE SYEOLB;Lo;0;L;;;;;N;;;;;
-C160;HANGUL SYLLABLE SYEOLS;Lo;0;L;;;;;N;;;;;
-C161;HANGUL SYLLABLE SYEOLT;Lo;0;L;;;;;N;;;;;
-C162;HANGUL SYLLABLE SYEOLP;Lo;0;L;;;;;N;;;;;
-C163;HANGUL SYLLABLE SYEOLH;Lo;0;L;;;;;N;;;;;
-C164;HANGUL SYLLABLE SYEOM;Lo;0;L;;;;;N;;;;;
-C165;HANGUL SYLLABLE SYEOB;Lo;0;L;;;;;N;;;;;
-C166;HANGUL SYLLABLE SYEOBS;Lo;0;L;;;;;N;;;;;
-C167;HANGUL SYLLABLE SYEOS;Lo;0;L;;;;;N;;;;;
-C168;HANGUL SYLLABLE SYEOSS;Lo;0;L;;;;;N;;;;;
-C169;HANGUL SYLLABLE SYEONG;Lo;0;L;;;;;N;;;;;
-C16A;HANGUL SYLLABLE SYEOJ;Lo;0;L;;;;;N;;;;;
-C16B;HANGUL SYLLABLE SYEOC;Lo;0;L;;;;;N;;;;;
-C16C;HANGUL SYLLABLE SYEOK;Lo;0;L;;;;;N;;;;;
-C16D;HANGUL SYLLABLE SYEOT;Lo;0;L;;;;;N;;;;;
-C16E;HANGUL SYLLABLE SYEOP;Lo;0;L;;;;;N;;;;;
-C16F;HANGUL SYLLABLE SYEOH;Lo;0;L;;;;;N;;;;;
-C170;HANGUL SYLLABLE SYE;Lo;0;L;;;;;N;;;;;
-C171;HANGUL SYLLABLE SYEG;Lo;0;L;;;;;N;;;;;
-C172;HANGUL SYLLABLE SYEGG;Lo;0;L;;;;;N;;;;;
-C173;HANGUL SYLLABLE SYEGS;Lo;0;L;;;;;N;;;;;
-C174;HANGUL SYLLABLE SYEN;Lo;0;L;;;;;N;;;;;
-C175;HANGUL SYLLABLE SYENI;Lo;0;L;;;;;N;;;;;
-C176;HANGUL SYLLABLE SYENH;Lo;0;L;;;;;N;;;;;
-C177;HANGUL SYLLABLE SYED;Lo;0;L;;;;;N;;;;;
-C178;HANGUL SYLLABLE SYEL;Lo;0;L;;;;;N;;;;;
-C179;HANGUL SYLLABLE SYELG;Lo;0;L;;;;;N;;;;;
-C17A;HANGUL SYLLABLE SYELM;Lo;0;L;;;;;N;;;;;
-C17B;HANGUL SYLLABLE SYELB;Lo;0;L;;;;;N;;;;;
-C17C;HANGUL SYLLABLE SYELS;Lo;0;L;;;;;N;;;;;
-C17D;HANGUL SYLLABLE SYELT;Lo;0;L;;;;;N;;;;;
-C17E;HANGUL SYLLABLE SYELP;Lo;0;L;;;;;N;;;;;
-C17F;HANGUL SYLLABLE SYELH;Lo;0;L;;;;;N;;;;;
-C180;HANGUL SYLLABLE SYEM;Lo;0;L;;;;;N;;;;;
-C181;HANGUL SYLLABLE SYEB;Lo;0;L;;;;;N;;;;;
-C182;HANGUL SYLLABLE SYEBS;Lo;0;L;;;;;N;;;;;
-C183;HANGUL SYLLABLE SYES;Lo;0;L;;;;;N;;;;;
-C184;HANGUL SYLLABLE SYESS;Lo;0;L;;;;;N;;;;;
-C185;HANGUL SYLLABLE SYENG;Lo;0;L;;;;;N;;;;;
-C186;HANGUL SYLLABLE SYEJ;Lo;0;L;;;;;N;;;;;
-C187;HANGUL SYLLABLE SYEC;Lo;0;L;;;;;N;;;;;
-C188;HANGUL SYLLABLE SYEK;Lo;0;L;;;;;N;;;;;
-C189;HANGUL SYLLABLE SYET;Lo;0;L;;;;;N;;;;;
-C18A;HANGUL SYLLABLE SYEP;Lo;0;L;;;;;N;;;;;
-C18B;HANGUL SYLLABLE SYEH;Lo;0;L;;;;;N;;;;;
-C18C;HANGUL SYLLABLE SO;Lo;0;L;;;;;N;;;;;
-C18D;HANGUL SYLLABLE SOG;Lo;0;L;;;;;N;;;;;
-C18E;HANGUL SYLLABLE SOGG;Lo;0;L;;;;;N;;;;;
-C18F;HANGUL SYLLABLE SOGS;Lo;0;L;;;;;N;;;;;
-C190;HANGUL SYLLABLE SON;Lo;0;L;;;;;N;;;;;
-C191;HANGUL SYLLABLE SONI;Lo;0;L;;;;;N;;;;;
-C192;HANGUL SYLLABLE SONH;Lo;0;L;;;;;N;;;;;
-C193;HANGUL SYLLABLE SOD;Lo;0;L;;;;;N;;;;;
-C194;HANGUL SYLLABLE SOL;Lo;0;L;;;;;N;;;;;
-C195;HANGUL SYLLABLE SOLG;Lo;0;L;;;;;N;;;;;
-C196;HANGUL SYLLABLE SOLM;Lo;0;L;;;;;N;;;;;
-C197;HANGUL SYLLABLE SOLB;Lo;0;L;;;;;N;;;;;
-C198;HANGUL SYLLABLE SOLS;Lo;0;L;;;;;N;;;;;
-C199;HANGUL SYLLABLE SOLT;Lo;0;L;;;;;N;;;;;
-C19A;HANGUL SYLLABLE SOLP;Lo;0;L;;;;;N;;;;;
-C19B;HANGUL SYLLABLE SOLH;Lo;0;L;;;;;N;;;;;
-C19C;HANGUL SYLLABLE SOM;Lo;0;L;;;;;N;;;;;
-C19D;HANGUL SYLLABLE SOB;Lo;0;L;;;;;N;;;;;
-C19E;HANGUL SYLLABLE SOBS;Lo;0;L;;;;;N;;;;;
-C19F;HANGUL SYLLABLE SOS;Lo;0;L;;;;;N;;;;;
-C1A0;HANGUL SYLLABLE SOSS;Lo;0;L;;;;;N;;;;;
-C1A1;HANGUL SYLLABLE SONG;Lo;0;L;;;;;N;;;;;
-C1A2;HANGUL SYLLABLE SOJ;Lo;0;L;;;;;N;;;;;
-C1A3;HANGUL SYLLABLE SOC;Lo;0;L;;;;;N;;;;;
-C1A4;HANGUL SYLLABLE SOK;Lo;0;L;;;;;N;;;;;
-C1A5;HANGUL SYLLABLE SOT;Lo;0;L;;;;;N;;;;;
-C1A6;HANGUL SYLLABLE SOP;Lo;0;L;;;;;N;;;;;
-C1A7;HANGUL SYLLABLE SOH;Lo;0;L;;;;;N;;;;;
-C1A8;HANGUL SYLLABLE SWA;Lo;0;L;;;;;N;;;;;
-C1A9;HANGUL SYLLABLE SWAG;Lo;0;L;;;;;N;;;;;
-C1AA;HANGUL SYLLABLE SWAGG;Lo;0;L;;;;;N;;;;;
-C1AB;HANGUL SYLLABLE SWAGS;Lo;0;L;;;;;N;;;;;
-C1AC;HANGUL SYLLABLE SWAN;Lo;0;L;;;;;N;;;;;
-C1AD;HANGUL SYLLABLE SWANI;Lo;0;L;;;;;N;;;;;
-C1AE;HANGUL SYLLABLE SWANH;Lo;0;L;;;;;N;;;;;
-C1AF;HANGUL SYLLABLE SWAD;Lo;0;L;;;;;N;;;;;
-C1B0;HANGUL SYLLABLE SWAL;Lo;0;L;;;;;N;;;;;
-C1B1;HANGUL SYLLABLE SWALG;Lo;0;L;;;;;N;;;;;
-C1B2;HANGUL SYLLABLE SWALM;Lo;0;L;;;;;N;;;;;
-C1B3;HANGUL SYLLABLE SWALB;Lo;0;L;;;;;N;;;;;
-C1B4;HANGUL SYLLABLE SWALS;Lo;0;L;;;;;N;;;;;
-C1B5;HANGUL SYLLABLE SWALT;Lo;0;L;;;;;N;;;;;
-C1B6;HANGUL SYLLABLE SWALP;Lo;0;L;;;;;N;;;;;
-C1B7;HANGUL SYLLABLE SWALH;Lo;0;L;;;;;N;;;;;
-C1B8;HANGUL SYLLABLE SWAM;Lo;0;L;;;;;N;;;;;
-C1B9;HANGUL SYLLABLE SWAB;Lo;0;L;;;;;N;;;;;
-C1BA;HANGUL SYLLABLE SWABS;Lo;0;L;;;;;N;;;;;
-C1BB;HANGUL SYLLABLE SWAS;Lo;0;L;;;;;N;;;;;
-C1BC;HANGUL SYLLABLE SWASS;Lo;0;L;;;;;N;;;;;
-C1BD;HANGUL SYLLABLE SWANG;Lo;0;L;;;;;N;;;;;
-C1BE;HANGUL SYLLABLE SWAJ;Lo;0;L;;;;;N;;;;;
-C1BF;HANGUL SYLLABLE SWAC;Lo;0;L;;;;;N;;;;;
-C1C0;HANGUL SYLLABLE SWAK;Lo;0;L;;;;;N;;;;;
-C1C1;HANGUL SYLLABLE SWAT;Lo;0;L;;;;;N;;;;;
-C1C2;HANGUL SYLLABLE SWAP;Lo;0;L;;;;;N;;;;;
-C1C3;HANGUL SYLLABLE SWAH;Lo;0;L;;;;;N;;;;;
-C1C4;HANGUL SYLLABLE SWAE;Lo;0;L;;;;;N;;;;;
-C1C5;HANGUL SYLLABLE SWAEG;Lo;0;L;;;;;N;;;;;
-C1C6;HANGUL SYLLABLE SWAEGG;Lo;0;L;;;;;N;;;;;
-C1C7;HANGUL SYLLABLE SWAEGS;Lo;0;L;;;;;N;;;;;
-C1C8;HANGUL SYLLABLE SWAEN;Lo;0;L;;;;;N;;;;;
-C1C9;HANGUL SYLLABLE SWAENI;Lo;0;L;;;;;N;;;;;
-C1CA;HANGUL SYLLABLE SWAENH;Lo;0;L;;;;;N;;;;;
-C1CB;HANGUL SYLLABLE SWAED;Lo;0;L;;;;;N;;;;;
-C1CC;HANGUL SYLLABLE SWAEL;Lo;0;L;;;;;N;;;;;
-C1CD;HANGUL SYLLABLE SWAELG;Lo;0;L;;;;;N;;;;;
-C1CE;HANGUL SYLLABLE SWAELM;Lo;0;L;;;;;N;;;;;
-C1CF;HANGUL SYLLABLE SWAELB;Lo;0;L;;;;;N;;;;;
-C1D0;HANGUL SYLLABLE SWAELS;Lo;0;L;;;;;N;;;;;
-C1D1;HANGUL SYLLABLE SWAELT;Lo;0;L;;;;;N;;;;;
-C1D2;HANGUL SYLLABLE SWAELP;Lo;0;L;;;;;N;;;;;
-C1D3;HANGUL SYLLABLE SWAELH;Lo;0;L;;;;;N;;;;;
-C1D4;HANGUL SYLLABLE SWAEM;Lo;0;L;;;;;N;;;;;
-C1D5;HANGUL SYLLABLE SWAEB;Lo;0;L;;;;;N;;;;;
-C1D6;HANGUL SYLLABLE SWAEBS;Lo;0;L;;;;;N;;;;;
-C1D7;HANGUL SYLLABLE SWAES;Lo;0;L;;;;;N;;;;;
-C1D8;HANGUL SYLLABLE SWAESS;Lo;0;L;;;;;N;;;;;
-C1D9;HANGUL SYLLABLE SWAENG;Lo;0;L;;;;;N;;;;;
-C1DA;HANGUL SYLLABLE SWAEJ;Lo;0;L;;;;;N;;;;;
-C1DB;HANGUL SYLLABLE SWAEC;Lo;0;L;;;;;N;;;;;
-C1DC;HANGUL SYLLABLE SWAEK;Lo;0;L;;;;;N;;;;;
-C1DD;HANGUL SYLLABLE SWAET;Lo;0;L;;;;;N;;;;;
-C1DE;HANGUL SYLLABLE SWAEP;Lo;0;L;;;;;N;;;;;
-C1DF;HANGUL SYLLABLE SWAEH;Lo;0;L;;;;;N;;;;;
-C1E0;HANGUL SYLLABLE SOE;Lo;0;L;;;;;N;;;;;
-C1E1;HANGUL SYLLABLE SOEG;Lo;0;L;;;;;N;;;;;
-C1E2;HANGUL SYLLABLE SOEGG;Lo;0;L;;;;;N;;;;;
-C1E3;HANGUL SYLLABLE SOEGS;Lo;0;L;;;;;N;;;;;
-C1E4;HANGUL SYLLABLE SOEN;Lo;0;L;;;;;N;;;;;
-C1E5;HANGUL SYLLABLE SOENI;Lo;0;L;;;;;N;;;;;
-C1E6;HANGUL SYLLABLE SOENH;Lo;0;L;;;;;N;;;;;
-C1E7;HANGUL SYLLABLE SOED;Lo;0;L;;;;;N;;;;;
-C1E8;HANGUL SYLLABLE SOEL;Lo;0;L;;;;;N;;;;;
-C1E9;HANGUL SYLLABLE SOELG;Lo;0;L;;;;;N;;;;;
-C1EA;HANGUL SYLLABLE SOELM;Lo;0;L;;;;;N;;;;;
-C1EB;HANGUL SYLLABLE SOELB;Lo;0;L;;;;;N;;;;;
-C1EC;HANGUL SYLLABLE SOELS;Lo;0;L;;;;;N;;;;;
-C1ED;HANGUL SYLLABLE SOELT;Lo;0;L;;;;;N;;;;;
-C1EE;HANGUL SYLLABLE SOELP;Lo;0;L;;;;;N;;;;;
-C1EF;HANGUL SYLLABLE SOELH;Lo;0;L;;;;;N;;;;;
-C1F0;HANGUL SYLLABLE SOEM;Lo;0;L;;;;;N;;;;;
-C1F1;HANGUL SYLLABLE SOEB;Lo;0;L;;;;;N;;;;;
-C1F2;HANGUL SYLLABLE SOEBS;Lo;0;L;;;;;N;;;;;
-C1F3;HANGUL SYLLABLE SOES;Lo;0;L;;;;;N;;;;;
-C1F4;HANGUL SYLLABLE SOESS;Lo;0;L;;;;;N;;;;;
-C1F5;HANGUL SYLLABLE SOENG;Lo;0;L;;;;;N;;;;;
-C1F6;HANGUL SYLLABLE SOEJ;Lo;0;L;;;;;N;;;;;
-C1F7;HANGUL SYLLABLE SOEC;Lo;0;L;;;;;N;;;;;
-C1F8;HANGUL SYLLABLE SOEK;Lo;0;L;;;;;N;;;;;
-C1F9;HANGUL SYLLABLE SOET;Lo;0;L;;;;;N;;;;;
-C1FA;HANGUL SYLLABLE SOEP;Lo;0;L;;;;;N;;;;;
-C1FB;HANGUL SYLLABLE SOEH;Lo;0;L;;;;;N;;;;;
-C1FC;HANGUL SYLLABLE SYO;Lo;0;L;;;;;N;;;;;
-C1FD;HANGUL SYLLABLE SYOG;Lo;0;L;;;;;N;;;;;
-C1FE;HANGUL SYLLABLE SYOGG;Lo;0;L;;;;;N;;;;;
-C1FF;HANGUL SYLLABLE SYOGS;Lo;0;L;;;;;N;;;;;
-C200;HANGUL SYLLABLE SYON;Lo;0;L;;;;;N;;;;;
-C201;HANGUL SYLLABLE SYONI;Lo;0;L;;;;;N;;;;;
-C202;HANGUL SYLLABLE SYONH;Lo;0;L;;;;;N;;;;;
-C203;HANGUL SYLLABLE SYOD;Lo;0;L;;;;;N;;;;;
-C204;HANGUL SYLLABLE SYOL;Lo;0;L;;;;;N;;;;;
-C205;HANGUL SYLLABLE SYOLG;Lo;0;L;;;;;N;;;;;
-C206;HANGUL SYLLABLE SYOLM;Lo;0;L;;;;;N;;;;;
-C207;HANGUL SYLLABLE SYOLB;Lo;0;L;;;;;N;;;;;
-C208;HANGUL SYLLABLE SYOLS;Lo;0;L;;;;;N;;;;;
-C209;HANGUL SYLLABLE SYOLT;Lo;0;L;;;;;N;;;;;
-C20A;HANGUL SYLLABLE SYOLP;Lo;0;L;;;;;N;;;;;
-C20B;HANGUL SYLLABLE SYOLH;Lo;0;L;;;;;N;;;;;
-C20C;HANGUL SYLLABLE SYOM;Lo;0;L;;;;;N;;;;;
-C20D;HANGUL SYLLABLE SYOB;Lo;0;L;;;;;N;;;;;
-C20E;HANGUL SYLLABLE SYOBS;Lo;0;L;;;;;N;;;;;
-C20F;HANGUL SYLLABLE SYOS;Lo;0;L;;;;;N;;;;;
-C210;HANGUL SYLLABLE SYOSS;Lo;0;L;;;;;N;;;;;
-C211;HANGUL SYLLABLE SYONG;Lo;0;L;;;;;N;;;;;
-C212;HANGUL SYLLABLE SYOJ;Lo;0;L;;;;;N;;;;;
-C213;HANGUL SYLLABLE SYOC;Lo;0;L;;;;;N;;;;;
-C214;HANGUL SYLLABLE SYOK;Lo;0;L;;;;;N;;;;;
-C215;HANGUL SYLLABLE SYOT;Lo;0;L;;;;;N;;;;;
-C216;HANGUL SYLLABLE SYOP;Lo;0;L;;;;;N;;;;;
-C217;HANGUL SYLLABLE SYOH;Lo;0;L;;;;;N;;;;;
-C218;HANGUL SYLLABLE SU;Lo;0;L;;;;;N;;;;;
-C219;HANGUL SYLLABLE SUG;Lo;0;L;;;;;N;;;;;
-C21A;HANGUL SYLLABLE SUGG;Lo;0;L;;;;;N;;;;;
-C21B;HANGUL SYLLABLE SUGS;Lo;0;L;;;;;N;;;;;
-C21C;HANGUL SYLLABLE SUN;Lo;0;L;;;;;N;;;;;
-C21D;HANGUL SYLLABLE SUNI;Lo;0;L;;;;;N;;;;;
-C21E;HANGUL SYLLABLE SUNH;Lo;0;L;;;;;N;;;;;
-C21F;HANGUL SYLLABLE SUD;Lo;0;L;;;;;N;;;;;
-C220;HANGUL SYLLABLE SUL;Lo;0;L;;;;;N;;;;;
-C221;HANGUL SYLLABLE SULG;Lo;0;L;;;;;N;;;;;
-C222;HANGUL SYLLABLE SULM;Lo;0;L;;;;;N;;;;;
-C223;HANGUL SYLLABLE SULB;Lo;0;L;;;;;N;;;;;
-C224;HANGUL SYLLABLE SULS;Lo;0;L;;;;;N;;;;;
-C225;HANGUL SYLLABLE SULT;Lo;0;L;;;;;N;;;;;
-C226;HANGUL SYLLABLE SULP;Lo;0;L;;;;;N;;;;;
-C227;HANGUL SYLLABLE SULH;Lo;0;L;;;;;N;;;;;
-C228;HANGUL SYLLABLE SUM;Lo;0;L;;;;;N;;;;;
-C229;HANGUL SYLLABLE SUB;Lo;0;L;;;;;N;;;;;
-C22A;HANGUL SYLLABLE SUBS;Lo;0;L;;;;;N;;;;;
-C22B;HANGUL SYLLABLE SUS;Lo;0;L;;;;;N;;;;;
-C22C;HANGUL SYLLABLE SUSS;Lo;0;L;;;;;N;;;;;
-C22D;HANGUL SYLLABLE SUNG;Lo;0;L;;;;;N;;;;;
-C22E;HANGUL SYLLABLE SUJ;Lo;0;L;;;;;N;;;;;
-C22F;HANGUL SYLLABLE SUC;Lo;0;L;;;;;N;;;;;
-C230;HANGUL SYLLABLE SUK;Lo;0;L;;;;;N;;;;;
-C231;HANGUL SYLLABLE SUT;Lo;0;L;;;;;N;;;;;
-C232;HANGUL SYLLABLE SUP;Lo;0;L;;;;;N;;;;;
-C233;HANGUL SYLLABLE SUH;Lo;0;L;;;;;N;;;;;
-C234;HANGUL SYLLABLE SWEO;Lo;0;L;;;;;N;;;;;
-C235;HANGUL SYLLABLE SWEOG;Lo;0;L;;;;;N;;;;;
-C236;HANGUL SYLLABLE SWEOGG;Lo;0;L;;;;;N;;;;;
-C237;HANGUL SYLLABLE SWEOGS;Lo;0;L;;;;;N;;;;;
-C238;HANGUL SYLLABLE SWEON;Lo;0;L;;;;;N;;;;;
-C239;HANGUL SYLLABLE SWEONI;Lo;0;L;;;;;N;;;;;
-C23A;HANGUL SYLLABLE SWEONH;Lo;0;L;;;;;N;;;;;
-C23B;HANGUL SYLLABLE SWEOD;Lo;0;L;;;;;N;;;;;
-C23C;HANGUL SYLLABLE SWEOL;Lo;0;L;;;;;N;;;;;
-C23D;HANGUL SYLLABLE SWEOLG;Lo;0;L;;;;;N;;;;;
-C23E;HANGUL SYLLABLE SWEOLM;Lo;0;L;;;;;N;;;;;
-C23F;HANGUL SYLLABLE SWEOLB;Lo;0;L;;;;;N;;;;;
-C240;HANGUL SYLLABLE SWEOLS;Lo;0;L;;;;;N;;;;;
-C241;HANGUL SYLLABLE SWEOLT;Lo;0;L;;;;;N;;;;;
-C242;HANGUL SYLLABLE SWEOLP;Lo;0;L;;;;;N;;;;;
-C243;HANGUL SYLLABLE SWEOLH;Lo;0;L;;;;;N;;;;;
-C244;HANGUL SYLLABLE SWEOM;Lo;0;L;;;;;N;;;;;
-C245;HANGUL SYLLABLE SWEOB;Lo;0;L;;;;;N;;;;;
-C246;HANGUL SYLLABLE SWEOBS;Lo;0;L;;;;;N;;;;;
-C247;HANGUL SYLLABLE SWEOS;Lo;0;L;;;;;N;;;;;
-C248;HANGUL SYLLABLE SWEOSS;Lo;0;L;;;;;N;;;;;
-C249;HANGUL SYLLABLE SWEONG;Lo;0;L;;;;;N;;;;;
-C24A;HANGUL SYLLABLE SWEOJ;Lo;0;L;;;;;N;;;;;
-C24B;HANGUL SYLLABLE SWEOC;Lo;0;L;;;;;N;;;;;
-C24C;HANGUL SYLLABLE SWEOK;Lo;0;L;;;;;N;;;;;
-C24D;HANGUL SYLLABLE SWEOT;Lo;0;L;;;;;N;;;;;
-C24E;HANGUL SYLLABLE SWEOP;Lo;0;L;;;;;N;;;;;
-C24F;HANGUL SYLLABLE SWEOH;Lo;0;L;;;;;N;;;;;
-C250;HANGUL SYLLABLE SWE;Lo;0;L;;;;;N;;;;;
-C251;HANGUL SYLLABLE SWEG;Lo;0;L;;;;;N;;;;;
-C252;HANGUL SYLLABLE SWEGG;Lo;0;L;;;;;N;;;;;
-C253;HANGUL SYLLABLE SWEGS;Lo;0;L;;;;;N;;;;;
-C254;HANGUL SYLLABLE SWEN;Lo;0;L;;;;;N;;;;;
-C255;HANGUL SYLLABLE SWENI;Lo;0;L;;;;;N;;;;;
-C256;HANGUL SYLLABLE SWENH;Lo;0;L;;;;;N;;;;;
-C257;HANGUL SYLLABLE SWED;Lo;0;L;;;;;N;;;;;
-C258;HANGUL SYLLABLE SWEL;Lo;0;L;;;;;N;;;;;
-C259;HANGUL SYLLABLE SWELG;Lo;0;L;;;;;N;;;;;
-C25A;HANGUL SYLLABLE SWELM;Lo;0;L;;;;;N;;;;;
-C25B;HANGUL SYLLABLE SWELB;Lo;0;L;;;;;N;;;;;
-C25C;HANGUL SYLLABLE SWELS;Lo;0;L;;;;;N;;;;;
-C25D;HANGUL SYLLABLE SWELT;Lo;0;L;;;;;N;;;;;
-C25E;HANGUL SYLLABLE SWELP;Lo;0;L;;;;;N;;;;;
-C25F;HANGUL SYLLABLE SWELH;Lo;0;L;;;;;N;;;;;
-C260;HANGUL SYLLABLE SWEM;Lo;0;L;;;;;N;;;;;
-C261;HANGUL SYLLABLE SWEB;Lo;0;L;;;;;N;;;;;
-C262;HANGUL SYLLABLE SWEBS;Lo;0;L;;;;;N;;;;;
-C263;HANGUL SYLLABLE SWES;Lo;0;L;;;;;N;;;;;
-C264;HANGUL SYLLABLE SWESS;Lo;0;L;;;;;N;;;;;
-C265;HANGUL SYLLABLE SWENG;Lo;0;L;;;;;N;;;;;
-C266;HANGUL SYLLABLE SWEJ;Lo;0;L;;;;;N;;;;;
-C267;HANGUL SYLLABLE SWEC;Lo;0;L;;;;;N;;;;;
-C268;HANGUL SYLLABLE SWEK;Lo;0;L;;;;;N;;;;;
-C269;HANGUL SYLLABLE SWET;Lo;0;L;;;;;N;;;;;
-C26A;HANGUL SYLLABLE SWEP;Lo;0;L;;;;;N;;;;;
-C26B;HANGUL SYLLABLE SWEH;Lo;0;L;;;;;N;;;;;
-C26C;HANGUL SYLLABLE SWI;Lo;0;L;;;;;N;;;;;
-C26D;HANGUL SYLLABLE SWIG;Lo;0;L;;;;;N;;;;;
-C26E;HANGUL SYLLABLE SWIGG;Lo;0;L;;;;;N;;;;;
-C26F;HANGUL SYLLABLE SWIGS;Lo;0;L;;;;;N;;;;;
-C270;HANGUL SYLLABLE SWIN;Lo;0;L;;;;;N;;;;;
-C271;HANGUL SYLLABLE SWINI;Lo;0;L;;;;;N;;;;;
-C272;HANGUL SYLLABLE SWINH;Lo;0;L;;;;;N;;;;;
-C273;HANGUL SYLLABLE SWID;Lo;0;L;;;;;N;;;;;
-C274;HANGUL SYLLABLE SWIL;Lo;0;L;;;;;N;;;;;
-C275;HANGUL SYLLABLE SWILG;Lo;0;L;;;;;N;;;;;
-C276;HANGUL SYLLABLE SWILM;Lo;0;L;;;;;N;;;;;
-C277;HANGUL SYLLABLE SWILB;Lo;0;L;;;;;N;;;;;
-C278;HANGUL SYLLABLE SWILS;Lo;0;L;;;;;N;;;;;
-C279;HANGUL SYLLABLE SWILT;Lo;0;L;;;;;N;;;;;
-C27A;HANGUL SYLLABLE SWILP;Lo;0;L;;;;;N;;;;;
-C27B;HANGUL SYLLABLE SWILH;Lo;0;L;;;;;N;;;;;
-C27C;HANGUL SYLLABLE SWIM;Lo;0;L;;;;;N;;;;;
-C27D;HANGUL SYLLABLE SWIB;Lo;0;L;;;;;N;;;;;
-C27E;HANGUL SYLLABLE SWIBS;Lo;0;L;;;;;N;;;;;
-C27F;HANGUL SYLLABLE SWIS;Lo;0;L;;;;;N;;;;;
-C280;HANGUL SYLLABLE SWISS;Lo;0;L;;;;;N;;;;;
-C281;HANGUL SYLLABLE SWING;Lo;0;L;;;;;N;;;;;
-C282;HANGUL SYLLABLE SWIJ;Lo;0;L;;;;;N;;;;;
-C283;HANGUL SYLLABLE SWIC;Lo;0;L;;;;;N;;;;;
-C284;HANGUL SYLLABLE SWIK;Lo;0;L;;;;;N;;;;;
-C285;HANGUL SYLLABLE SWIT;Lo;0;L;;;;;N;;;;;
-C286;HANGUL SYLLABLE SWIP;Lo;0;L;;;;;N;;;;;
-C287;HANGUL SYLLABLE SWIH;Lo;0;L;;;;;N;;;;;
-C288;HANGUL SYLLABLE SYU;Lo;0;L;;;;;N;;;;;
-C289;HANGUL SYLLABLE SYUG;Lo;0;L;;;;;N;;;;;
-C28A;HANGUL SYLLABLE SYUGG;Lo;0;L;;;;;N;;;;;
-C28B;HANGUL SYLLABLE SYUGS;Lo;0;L;;;;;N;;;;;
-C28C;HANGUL SYLLABLE SYUN;Lo;0;L;;;;;N;;;;;
-C28D;HANGUL SYLLABLE SYUNI;Lo;0;L;;;;;N;;;;;
-C28E;HANGUL SYLLABLE SYUNH;Lo;0;L;;;;;N;;;;;
-C28F;HANGUL SYLLABLE SYUD;Lo;0;L;;;;;N;;;;;
-C290;HANGUL SYLLABLE SYUL;Lo;0;L;;;;;N;;;;;
-C291;HANGUL SYLLABLE SYULG;Lo;0;L;;;;;N;;;;;
-C292;HANGUL SYLLABLE SYULM;Lo;0;L;;;;;N;;;;;
-C293;HANGUL SYLLABLE SYULB;Lo;0;L;;;;;N;;;;;
-C294;HANGUL SYLLABLE SYULS;Lo;0;L;;;;;N;;;;;
-C295;HANGUL SYLLABLE SYULT;Lo;0;L;;;;;N;;;;;
-C296;HANGUL SYLLABLE SYULP;Lo;0;L;;;;;N;;;;;
-C297;HANGUL SYLLABLE SYULH;Lo;0;L;;;;;N;;;;;
-C298;HANGUL SYLLABLE SYUM;Lo;0;L;;;;;N;;;;;
-C299;HANGUL SYLLABLE SYUB;Lo;0;L;;;;;N;;;;;
-C29A;HANGUL SYLLABLE SYUBS;Lo;0;L;;;;;N;;;;;
-C29B;HANGUL SYLLABLE SYUS;Lo;0;L;;;;;N;;;;;
-C29C;HANGUL SYLLABLE SYUSS;Lo;0;L;;;;;N;;;;;
-C29D;HANGUL SYLLABLE SYUNG;Lo;0;L;;;;;N;;;;;
-C29E;HANGUL SYLLABLE SYUJ;Lo;0;L;;;;;N;;;;;
-C29F;HANGUL SYLLABLE SYUC;Lo;0;L;;;;;N;;;;;
-C2A0;HANGUL SYLLABLE SYUK;Lo;0;L;;;;;N;;;;;
-C2A1;HANGUL SYLLABLE SYUT;Lo;0;L;;;;;N;;;;;
-C2A2;HANGUL SYLLABLE SYUP;Lo;0;L;;;;;N;;;;;
-C2A3;HANGUL SYLLABLE SYUH;Lo;0;L;;;;;N;;;;;
-C2A4;HANGUL SYLLABLE SEU;Lo;0;L;;;;;N;;;;;
-C2A5;HANGUL SYLLABLE SEUG;Lo;0;L;;;;;N;;;;;
-C2A6;HANGUL SYLLABLE SEUGG;Lo;0;L;;;;;N;;;;;
-C2A7;HANGUL SYLLABLE SEUGS;Lo;0;L;;;;;N;;;;;
-C2A8;HANGUL SYLLABLE SEUN;Lo;0;L;;;;;N;;;;;
-C2A9;HANGUL SYLLABLE SEUNI;Lo;0;L;;;;;N;;;;;
-C2AA;HANGUL SYLLABLE SEUNH;Lo;0;L;;;;;N;;;;;
-C2AB;HANGUL SYLLABLE SEUD;Lo;0;L;;;;;N;;;;;
-C2AC;HANGUL SYLLABLE SEUL;Lo;0;L;;;;;N;;;;;
-C2AD;HANGUL SYLLABLE SEULG;Lo;0;L;;;;;N;;;;;
-C2AE;HANGUL SYLLABLE SEULM;Lo;0;L;;;;;N;;;;;
-C2AF;HANGUL SYLLABLE SEULB;Lo;0;L;;;;;N;;;;;
-C2B0;HANGUL SYLLABLE SEULS;Lo;0;L;;;;;N;;;;;
-C2B1;HANGUL SYLLABLE SEULT;Lo;0;L;;;;;N;;;;;
-C2B2;HANGUL SYLLABLE SEULP;Lo;0;L;;;;;N;;;;;
-C2B3;HANGUL SYLLABLE SEULH;Lo;0;L;;;;;N;;;;;
-C2B4;HANGUL SYLLABLE SEUM;Lo;0;L;;;;;N;;;;;
-C2B5;HANGUL SYLLABLE SEUB;Lo;0;L;;;;;N;;;;;
-C2B6;HANGUL SYLLABLE SEUBS;Lo;0;L;;;;;N;;;;;
-C2B7;HANGUL SYLLABLE SEUS;Lo;0;L;;;;;N;;;;;
-C2B8;HANGUL SYLLABLE SEUSS;Lo;0;L;;;;;N;;;;;
-C2B9;HANGUL SYLLABLE SEUNG;Lo;0;L;;;;;N;;;;;
-C2BA;HANGUL SYLLABLE SEUJ;Lo;0;L;;;;;N;;;;;
-C2BB;HANGUL SYLLABLE SEUC;Lo;0;L;;;;;N;;;;;
-C2BC;HANGUL SYLLABLE SEUK;Lo;0;L;;;;;N;;;;;
-C2BD;HANGUL SYLLABLE SEUT;Lo;0;L;;;;;N;;;;;
-C2BE;HANGUL SYLLABLE SEUP;Lo;0;L;;;;;N;;;;;
-C2BF;HANGUL SYLLABLE SEUH;Lo;0;L;;;;;N;;;;;
-C2C0;HANGUL SYLLABLE SYI;Lo;0;L;;;;;N;;;;;
-C2C1;HANGUL SYLLABLE SYIG;Lo;0;L;;;;;N;;;;;
-C2C2;HANGUL SYLLABLE SYIGG;Lo;0;L;;;;;N;;;;;
-C2C3;HANGUL SYLLABLE SYIGS;Lo;0;L;;;;;N;;;;;
-C2C4;HANGUL SYLLABLE SYIN;Lo;0;L;;;;;N;;;;;
-C2C5;HANGUL SYLLABLE SYINI;Lo;0;L;;;;;N;;;;;
-C2C6;HANGUL SYLLABLE SYINH;Lo;0;L;;;;;N;;;;;
-C2C7;HANGUL SYLLABLE SYID;Lo;0;L;;;;;N;;;;;
-C2C8;HANGUL SYLLABLE SYIL;Lo;0;L;;;;;N;;;;;
-C2C9;HANGUL SYLLABLE SYILG;Lo;0;L;;;;;N;;;;;
-C2CA;HANGUL SYLLABLE SYILM;Lo;0;L;;;;;N;;;;;
-C2CB;HANGUL SYLLABLE SYILB;Lo;0;L;;;;;N;;;;;
-C2CC;HANGUL SYLLABLE SYILS;Lo;0;L;;;;;N;;;;;
-C2CD;HANGUL SYLLABLE SYILT;Lo;0;L;;;;;N;;;;;
-C2CE;HANGUL SYLLABLE SYILP;Lo;0;L;;;;;N;;;;;
-C2CF;HANGUL SYLLABLE SYILH;Lo;0;L;;;;;N;;;;;
-C2D0;HANGUL SYLLABLE SYIM;Lo;0;L;;;;;N;;;;;
-C2D1;HANGUL SYLLABLE SYIB;Lo;0;L;;;;;N;;;;;
-C2D2;HANGUL SYLLABLE SYIBS;Lo;0;L;;;;;N;;;;;
-C2D3;HANGUL SYLLABLE SYIS;Lo;0;L;;;;;N;;;;;
-C2D4;HANGUL SYLLABLE SYISS;Lo;0;L;;;;;N;;;;;
-C2D5;HANGUL SYLLABLE SYING;Lo;0;L;;;;;N;;;;;
-C2D6;HANGUL SYLLABLE SYIJ;Lo;0;L;;;;;N;;;;;
-C2D7;HANGUL SYLLABLE SYIC;Lo;0;L;;;;;N;;;;;
-C2D8;HANGUL SYLLABLE SYIK;Lo;0;L;;;;;N;;;;;
-C2D9;HANGUL SYLLABLE SYIT;Lo;0;L;;;;;N;;;;;
-C2DA;HANGUL SYLLABLE SYIP;Lo;0;L;;;;;N;;;;;
-C2DB;HANGUL SYLLABLE SYIH;Lo;0;L;;;;;N;;;;;
-C2DC;HANGUL SYLLABLE SI;Lo;0;L;;;;;N;;;;;
-C2DD;HANGUL SYLLABLE SIG;Lo;0;L;;;;;N;;;;;
-C2DE;HANGUL SYLLABLE SIGG;Lo;0;L;;;;;N;;;;;
-C2DF;HANGUL SYLLABLE SIGS;Lo;0;L;;;;;N;;;;;
-C2E0;HANGUL SYLLABLE SIN;Lo;0;L;;;;;N;;;;;
-C2E1;HANGUL SYLLABLE SINI;Lo;0;L;;;;;N;;;;;
-C2E2;HANGUL SYLLABLE SINH;Lo;0;L;;;;;N;;;;;
-C2E3;HANGUL SYLLABLE SID;Lo;0;L;;;;;N;;;;;
-C2E4;HANGUL SYLLABLE SIL;Lo;0;L;;;;;N;;;;;
-C2E5;HANGUL SYLLABLE SILG;Lo;0;L;;;;;N;;;;;
-C2E6;HANGUL SYLLABLE SILM;Lo;0;L;;;;;N;;;;;
-C2E7;HANGUL SYLLABLE SILB;Lo;0;L;;;;;N;;;;;
-C2E8;HANGUL SYLLABLE SILS;Lo;0;L;;;;;N;;;;;
-C2E9;HANGUL SYLLABLE SILT;Lo;0;L;;;;;N;;;;;
-C2EA;HANGUL SYLLABLE SILP;Lo;0;L;;;;;N;;;;;
-C2EB;HANGUL SYLLABLE SILH;Lo;0;L;;;;;N;;;;;
-C2EC;HANGUL SYLLABLE SIM;Lo;0;L;;;;;N;;;;;
-C2ED;HANGUL SYLLABLE SIB;Lo;0;L;;;;;N;;;;;
-C2EE;HANGUL SYLLABLE SIBS;Lo;0;L;;;;;N;;;;;
-C2EF;HANGUL SYLLABLE SIS;Lo;0;L;;;;;N;;;;;
-C2F0;HANGUL SYLLABLE SISS;Lo;0;L;;;;;N;;;;;
-C2F1;HANGUL SYLLABLE SING;Lo;0;L;;;;;N;;;;;
-C2F2;HANGUL SYLLABLE SIJ;Lo;0;L;;;;;N;;;;;
-C2F3;HANGUL SYLLABLE SIC;Lo;0;L;;;;;N;;;;;
-C2F4;HANGUL SYLLABLE SIK;Lo;0;L;;;;;N;;;;;
-C2F5;HANGUL SYLLABLE SIT;Lo;0;L;;;;;N;;;;;
-C2F6;HANGUL SYLLABLE SIP;Lo;0;L;;;;;N;;;;;
-C2F7;HANGUL SYLLABLE SIH;Lo;0;L;;;;;N;;;;;
-C2F8;HANGUL SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
-C2F9;HANGUL SYLLABLE SSAG;Lo;0;L;;;;;N;;;;;
-C2FA;HANGUL SYLLABLE SSAGG;Lo;0;L;;;;;N;;;;;
-C2FB;HANGUL SYLLABLE SSAGS;Lo;0;L;;;;;N;;;;;
-C2FC;HANGUL SYLLABLE SSAN;Lo;0;L;;;;;N;;;;;
-C2FD;HANGUL SYLLABLE SSANI;Lo;0;L;;;;;N;;;;;
-C2FE;HANGUL SYLLABLE SSANH;Lo;0;L;;;;;N;;;;;
-C2FF;HANGUL SYLLABLE SSAD;Lo;0;L;;;;;N;;;;;
-C300;HANGUL SYLLABLE SSAL;Lo;0;L;;;;;N;;;;;
-C301;HANGUL SYLLABLE SSALG;Lo;0;L;;;;;N;;;;;
-C302;HANGUL SYLLABLE SSALM;Lo;0;L;;;;;N;;;;;
-C303;HANGUL SYLLABLE SSALB;Lo;0;L;;;;;N;;;;;
-C304;HANGUL SYLLABLE SSALS;Lo;0;L;;;;;N;;;;;
-C305;HANGUL SYLLABLE SSALT;Lo;0;L;;;;;N;;;;;
-C306;HANGUL SYLLABLE SSALP;Lo;0;L;;;;;N;;;;;
-C307;HANGUL SYLLABLE SSALH;Lo;0;L;;;;;N;;;;;
-C308;HANGUL SYLLABLE SSAM;Lo;0;L;;;;;N;;;;;
-C309;HANGUL SYLLABLE SSAB;Lo;0;L;;;;;N;;;;;
-C30A;HANGUL SYLLABLE SSABS;Lo;0;L;;;;;N;;;;;
-C30B;HANGUL SYLLABLE SSAS;Lo;0;L;;;;;N;;;;;
-C30C;HANGUL SYLLABLE SSASS;Lo;0;L;;;;;N;;;;;
-C30D;HANGUL SYLLABLE SSANG;Lo;0;L;;;;;N;;;;;
-C30E;HANGUL SYLLABLE SSAJ;Lo;0;L;;;;;N;;;;;
-C30F;HANGUL SYLLABLE SSAC;Lo;0;L;;;;;N;;;;;
-C310;HANGUL SYLLABLE SSAK;Lo;0;L;;;;;N;;;;;
-C311;HANGUL SYLLABLE SSAT;Lo;0;L;;;;;N;;;;;
-C312;HANGUL SYLLABLE SSAP;Lo;0;L;;;;;N;;;;;
-C313;HANGUL SYLLABLE SSAH;Lo;0;L;;;;;N;;;;;
-C314;HANGUL SYLLABLE SSAE;Lo;0;L;;;;;N;;;;;
-C315;HANGUL SYLLABLE SSAEG;Lo;0;L;;;;;N;;;;;
-C316;HANGUL SYLLABLE SSAEGG;Lo;0;L;;;;;N;;;;;
-C317;HANGUL SYLLABLE SSAEGS;Lo;0;L;;;;;N;;;;;
-C318;HANGUL SYLLABLE SSAEN;Lo;0;L;;;;;N;;;;;
-C319;HANGUL SYLLABLE SSAENI;Lo;0;L;;;;;N;;;;;
-C31A;HANGUL SYLLABLE SSAENH;Lo;0;L;;;;;N;;;;;
-C31B;HANGUL SYLLABLE SSAED;Lo;0;L;;;;;N;;;;;
-C31C;HANGUL SYLLABLE SSAEL;Lo;0;L;;;;;N;;;;;
-C31D;HANGUL SYLLABLE SSAELG;Lo;0;L;;;;;N;;;;;
-C31E;HANGUL SYLLABLE SSAELM;Lo;0;L;;;;;N;;;;;
-C31F;HANGUL SYLLABLE SSAELB;Lo;0;L;;;;;N;;;;;
-C320;HANGUL SYLLABLE SSAELS;Lo;0;L;;;;;N;;;;;
-C321;HANGUL SYLLABLE SSAELT;Lo;0;L;;;;;N;;;;;
-C322;HANGUL SYLLABLE SSAELP;Lo;0;L;;;;;N;;;;;
-C323;HANGUL SYLLABLE SSAELH;Lo;0;L;;;;;N;;;;;
-C324;HANGUL SYLLABLE SSAEM;Lo;0;L;;;;;N;;;;;
-C325;HANGUL SYLLABLE SSAEB;Lo;0;L;;;;;N;;;;;
-C326;HANGUL SYLLABLE SSAEBS;Lo;0;L;;;;;N;;;;;
-C327;HANGUL SYLLABLE SSAES;Lo;0;L;;;;;N;;;;;
-C328;HANGUL SYLLABLE SSAESS;Lo;0;L;;;;;N;;;;;
-C329;HANGUL SYLLABLE SSAENG;Lo;0;L;;;;;N;;;;;
-C32A;HANGUL SYLLABLE SSAEJ;Lo;0;L;;;;;N;;;;;
-C32B;HANGUL SYLLABLE SSAEC;Lo;0;L;;;;;N;;;;;
-C32C;HANGUL SYLLABLE SSAEK;Lo;0;L;;;;;N;;;;;
-C32D;HANGUL SYLLABLE SSAET;Lo;0;L;;;;;N;;;;;
-C32E;HANGUL SYLLABLE SSAEP;Lo;0;L;;;;;N;;;;;
-C32F;HANGUL SYLLABLE SSAEH;Lo;0;L;;;;;N;;;;;
-C330;HANGUL SYLLABLE SSYA;Lo;0;L;;;;;N;;;;;
-C331;HANGUL SYLLABLE SSYAG;Lo;0;L;;;;;N;;;;;
-C332;HANGUL SYLLABLE SSYAGG;Lo;0;L;;;;;N;;;;;
-C333;HANGUL SYLLABLE SSYAGS;Lo;0;L;;;;;N;;;;;
-C334;HANGUL SYLLABLE SSYAN;Lo;0;L;;;;;N;;;;;
-C335;HANGUL SYLLABLE SSYANI;Lo;0;L;;;;;N;;;;;
-C336;HANGUL SYLLABLE SSYANH;Lo;0;L;;;;;N;;;;;
-C337;HANGUL SYLLABLE SSYAD;Lo;0;L;;;;;N;;;;;
-C338;HANGUL SYLLABLE SSYAL;Lo;0;L;;;;;N;;;;;
-C339;HANGUL SYLLABLE SSYALG;Lo;0;L;;;;;N;;;;;
-C33A;HANGUL SYLLABLE SSYALM;Lo;0;L;;;;;N;;;;;
-C33B;HANGUL SYLLABLE SSYALB;Lo;0;L;;;;;N;;;;;
-C33C;HANGUL SYLLABLE SSYALS;Lo;0;L;;;;;N;;;;;
-C33D;HANGUL SYLLABLE SSYALT;Lo;0;L;;;;;N;;;;;
-C33E;HANGUL SYLLABLE SSYALP;Lo;0;L;;;;;N;;;;;
-C33F;HANGUL SYLLABLE SSYALH;Lo;0;L;;;;;N;;;;;
-C340;HANGUL SYLLABLE SSYAM;Lo;0;L;;;;;N;;;;;
-C341;HANGUL SYLLABLE SSYAB;Lo;0;L;;;;;N;;;;;
-C342;HANGUL SYLLABLE SSYABS;Lo;0;L;;;;;N;;;;;
-C343;HANGUL SYLLABLE SSYAS;Lo;0;L;;;;;N;;;;;
-C344;HANGUL SYLLABLE SSYASS;Lo;0;L;;;;;N;;;;;
-C345;HANGUL SYLLABLE SSYANG;Lo;0;L;;;;;N;;;;;
-C346;HANGUL SYLLABLE SSYAJ;Lo;0;L;;;;;N;;;;;
-C347;HANGUL SYLLABLE SSYAC;Lo;0;L;;;;;N;;;;;
-C348;HANGUL SYLLABLE SSYAK;Lo;0;L;;;;;N;;;;;
-C349;HANGUL SYLLABLE SSYAT;Lo;0;L;;;;;N;;;;;
-C34A;HANGUL SYLLABLE SSYAP;Lo;0;L;;;;;N;;;;;
-C34B;HANGUL SYLLABLE SSYAH;Lo;0;L;;;;;N;;;;;
-C34C;HANGUL SYLLABLE SSYAE;Lo;0;L;;;;;N;;;;;
-C34D;HANGUL SYLLABLE SSYAEG;Lo;0;L;;;;;N;;;;;
-C34E;HANGUL SYLLABLE SSYAEGG;Lo;0;L;;;;;N;;;;;
-C34F;HANGUL SYLLABLE SSYAEGS;Lo;0;L;;;;;N;;;;;
-C350;HANGUL SYLLABLE SSYAEN;Lo;0;L;;;;;N;;;;;
-C351;HANGUL SYLLABLE SSYAENI;Lo;0;L;;;;;N;;;;;
-C352;HANGUL SYLLABLE SSYAENH;Lo;0;L;;;;;N;;;;;
-C353;HANGUL SYLLABLE SSYAED;Lo;0;L;;;;;N;;;;;
-C354;HANGUL SYLLABLE SSYAEL;Lo;0;L;;;;;N;;;;;
-C355;HANGUL SYLLABLE SSYAELG;Lo;0;L;;;;;N;;;;;
-C356;HANGUL SYLLABLE SSYAELM;Lo;0;L;;;;;N;;;;;
-C357;HANGUL SYLLABLE SSYAELB;Lo;0;L;;;;;N;;;;;
-C358;HANGUL SYLLABLE SSYAELS;Lo;0;L;;;;;N;;;;;
-C359;HANGUL SYLLABLE SSYAELT;Lo;0;L;;;;;N;;;;;
-C35A;HANGUL SYLLABLE SSYAELP;Lo;0;L;;;;;N;;;;;
-C35B;HANGUL SYLLABLE SSYAELH;Lo;0;L;;;;;N;;;;;
-C35C;HANGUL SYLLABLE SSYAEM;Lo;0;L;;;;;N;;;;;
-C35D;HANGUL SYLLABLE SSYAEB;Lo;0;L;;;;;N;;;;;
-C35E;HANGUL SYLLABLE SSYAEBS;Lo;0;L;;;;;N;;;;;
-C35F;HANGUL SYLLABLE SSYAES;Lo;0;L;;;;;N;;;;;
-C360;HANGUL SYLLABLE SSYAESS;Lo;0;L;;;;;N;;;;;
-C361;HANGUL SYLLABLE SSYAENG;Lo;0;L;;;;;N;;;;;
-C362;HANGUL SYLLABLE SSYAEJ;Lo;0;L;;;;;N;;;;;
-C363;HANGUL SYLLABLE SSYAEC;Lo;0;L;;;;;N;;;;;
-C364;HANGUL SYLLABLE SSYAEK;Lo;0;L;;;;;N;;;;;
-C365;HANGUL SYLLABLE SSYAET;Lo;0;L;;;;;N;;;;;
-C366;HANGUL SYLLABLE SSYAEP;Lo;0;L;;;;;N;;;;;
-C367;HANGUL SYLLABLE SSYAEH;Lo;0;L;;;;;N;;;;;
-C368;HANGUL SYLLABLE SSEO;Lo;0;L;;;;;N;;;;;
-C369;HANGUL SYLLABLE SSEOG;Lo;0;L;;;;;N;;;;;
-C36A;HANGUL SYLLABLE SSEOGG;Lo;0;L;;;;;N;;;;;
-C36B;HANGUL SYLLABLE SSEOGS;Lo;0;L;;;;;N;;;;;
-C36C;HANGUL SYLLABLE SSEON;Lo;0;L;;;;;N;;;;;
-C36D;HANGUL SYLLABLE SSEONI;Lo;0;L;;;;;N;;;;;
-C36E;HANGUL SYLLABLE SSEONH;Lo;0;L;;;;;N;;;;;
-C36F;HANGUL SYLLABLE SSEOD;Lo;0;L;;;;;N;;;;;
-C370;HANGUL SYLLABLE SSEOL;Lo;0;L;;;;;N;;;;;
-C371;HANGUL SYLLABLE SSEOLG;Lo;0;L;;;;;N;;;;;
-C372;HANGUL SYLLABLE SSEOLM;Lo;0;L;;;;;N;;;;;
-C373;HANGUL SYLLABLE SSEOLB;Lo;0;L;;;;;N;;;;;
-C374;HANGUL SYLLABLE SSEOLS;Lo;0;L;;;;;N;;;;;
-C375;HANGUL SYLLABLE SSEOLT;Lo;0;L;;;;;N;;;;;
-C376;HANGUL SYLLABLE SSEOLP;Lo;0;L;;;;;N;;;;;
-C377;HANGUL SYLLABLE SSEOLH;Lo;0;L;;;;;N;;;;;
-C378;HANGUL SYLLABLE SSEOM;Lo;0;L;;;;;N;;;;;
-C379;HANGUL SYLLABLE SSEOB;Lo;0;L;;;;;N;;;;;
-C37A;HANGUL SYLLABLE SSEOBS;Lo;0;L;;;;;N;;;;;
-C37B;HANGUL SYLLABLE SSEOS;Lo;0;L;;;;;N;;;;;
-C37C;HANGUL SYLLABLE SSEOSS;Lo;0;L;;;;;N;;;;;
-C37D;HANGUL SYLLABLE SSEONG;Lo;0;L;;;;;N;;;;;
-C37E;HANGUL SYLLABLE SSEOJ;Lo;0;L;;;;;N;;;;;
-C37F;HANGUL SYLLABLE SSEOC;Lo;0;L;;;;;N;;;;;
-C380;HANGUL SYLLABLE SSEOK;Lo;0;L;;;;;N;;;;;
-C381;HANGUL SYLLABLE SSEOT;Lo;0;L;;;;;N;;;;;
-C382;HANGUL SYLLABLE SSEOP;Lo;0;L;;;;;N;;;;;
-C383;HANGUL SYLLABLE SSEOH;Lo;0;L;;;;;N;;;;;
-C384;HANGUL SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
-C385;HANGUL SYLLABLE SSEG;Lo;0;L;;;;;N;;;;;
-C386;HANGUL SYLLABLE SSEGG;Lo;0;L;;;;;N;;;;;
-C387;HANGUL SYLLABLE SSEGS;Lo;0;L;;;;;N;;;;;
-C388;HANGUL SYLLABLE SSEN;Lo;0;L;;;;;N;;;;;
-C389;HANGUL SYLLABLE SSENI;Lo;0;L;;;;;N;;;;;
-C38A;HANGUL SYLLABLE SSENH;Lo;0;L;;;;;N;;;;;
-C38B;HANGUL SYLLABLE SSED;Lo;0;L;;;;;N;;;;;
-C38C;HANGUL SYLLABLE SSEL;Lo;0;L;;;;;N;;;;;
-C38D;HANGUL SYLLABLE SSELG;Lo;0;L;;;;;N;;;;;
-C38E;HANGUL SYLLABLE SSELM;Lo;0;L;;;;;N;;;;;
-C38F;HANGUL SYLLABLE SSELB;Lo;0;L;;;;;N;;;;;
-C390;HANGUL SYLLABLE SSELS;Lo;0;L;;;;;N;;;;;
-C391;HANGUL SYLLABLE SSELT;Lo;0;L;;;;;N;;;;;
-C392;HANGUL SYLLABLE SSELP;Lo;0;L;;;;;N;;;;;
-C393;HANGUL SYLLABLE SSELH;Lo;0;L;;;;;N;;;;;
-C394;HANGUL SYLLABLE SSEM;Lo;0;L;;;;;N;;;;;
-C395;HANGUL SYLLABLE SSEB;Lo;0;L;;;;;N;;;;;
-C396;HANGUL SYLLABLE SSEBS;Lo;0;L;;;;;N;;;;;
-C397;HANGUL SYLLABLE SSES;Lo;0;L;;;;;N;;;;;
-C398;HANGUL SYLLABLE SSESS;Lo;0;L;;;;;N;;;;;
-C399;HANGUL SYLLABLE SSENG;Lo;0;L;;;;;N;;;;;
-C39A;HANGUL SYLLABLE SSEJ;Lo;0;L;;;;;N;;;;;
-C39B;HANGUL SYLLABLE SSEC;Lo;0;L;;;;;N;;;;;
-C39C;HANGUL SYLLABLE SSEK;Lo;0;L;;;;;N;;;;;
-C39D;HANGUL SYLLABLE SSET;Lo;0;L;;;;;N;;;;;
-C39E;HANGUL SYLLABLE SSEP;Lo;0;L;;;;;N;;;;;
-C39F;HANGUL SYLLABLE SSEH;Lo;0;L;;;;;N;;;;;
-C3A0;HANGUL SYLLABLE SSYEO;Lo;0;L;;;;;N;;;;;
-C3A1;HANGUL SYLLABLE SSYEOG;Lo;0;L;;;;;N;;;;;
-C3A2;HANGUL SYLLABLE SSYEOGG;Lo;0;L;;;;;N;;;;;
-C3A3;HANGUL SYLLABLE SSYEOGS;Lo;0;L;;;;;N;;;;;
-C3A4;HANGUL SYLLABLE SSYEON;Lo;0;L;;;;;N;;;;;
-C3A5;HANGUL SYLLABLE SSYEONI;Lo;0;L;;;;;N;;;;;
-C3A6;HANGUL SYLLABLE SSYEONH;Lo;0;L;;;;;N;;;;;
-C3A7;HANGUL SYLLABLE SSYEOD;Lo;0;L;;;;;N;;;;;
-C3A8;HANGUL SYLLABLE SSYEOL;Lo;0;L;;;;;N;;;;;
-C3A9;HANGUL SYLLABLE SSYEOLG;Lo;0;L;;;;;N;;;;;
-C3AA;HANGUL SYLLABLE SSYEOLM;Lo;0;L;;;;;N;;;;;
-C3AB;HANGUL SYLLABLE SSYEOLB;Lo;0;L;;;;;N;;;;;
-C3AC;HANGUL SYLLABLE SSYEOLS;Lo;0;L;;;;;N;;;;;
-C3AD;HANGUL SYLLABLE SSYEOLT;Lo;0;L;;;;;N;;;;;
-C3AE;HANGUL SYLLABLE SSYEOLP;Lo;0;L;;;;;N;;;;;
-C3AF;HANGUL SYLLABLE SSYEOLH;Lo;0;L;;;;;N;;;;;
-C3B0;HANGUL SYLLABLE SSYEOM;Lo;0;L;;;;;N;;;;;
-C3B1;HANGUL SYLLABLE SSYEOB;Lo;0;L;;;;;N;;;;;
-C3B2;HANGUL SYLLABLE SSYEOBS;Lo;0;L;;;;;N;;;;;
-C3B3;HANGUL SYLLABLE SSYEOS;Lo;0;L;;;;;N;;;;;
-C3B4;HANGUL SYLLABLE SSYEOSS;Lo;0;L;;;;;N;;;;;
-C3B5;HANGUL SYLLABLE SSYEONG;Lo;0;L;;;;;N;;;;;
-C3B6;HANGUL SYLLABLE SSYEOJ;Lo;0;L;;;;;N;;;;;
-C3B7;HANGUL SYLLABLE SSYEOC;Lo;0;L;;;;;N;;;;;
-C3B8;HANGUL SYLLABLE SSYEOK;Lo;0;L;;;;;N;;;;;
-C3B9;HANGUL SYLLABLE SSYEOT;Lo;0;L;;;;;N;;;;;
-C3BA;HANGUL SYLLABLE SSYEOP;Lo;0;L;;;;;N;;;;;
-C3BB;HANGUL SYLLABLE SSYEOH;Lo;0;L;;;;;N;;;;;
-C3BC;HANGUL SYLLABLE SSYE;Lo;0;L;;;;;N;;;;;
-C3BD;HANGUL SYLLABLE SSYEG;Lo;0;L;;;;;N;;;;;
-C3BE;HANGUL SYLLABLE SSYEGG;Lo;0;L;;;;;N;;;;;
-C3BF;HANGUL SYLLABLE SSYEGS;Lo;0;L;;;;;N;;;;;
-C3C0;HANGUL SYLLABLE SSYEN;Lo;0;L;;;;;N;;;;;
-C3C1;HANGUL SYLLABLE SSYENI;Lo;0;L;;;;;N;;;;;
-C3C2;HANGUL SYLLABLE SSYENH;Lo;0;L;;;;;N;;;;;
-C3C3;HANGUL SYLLABLE SSYED;Lo;0;L;;;;;N;;;;;
-C3C4;HANGUL SYLLABLE SSYEL;Lo;0;L;;;;;N;;;;;
-C3C5;HANGUL SYLLABLE SSYELG;Lo;0;L;;;;;N;;;;;
-C3C6;HANGUL SYLLABLE SSYELM;Lo;0;L;;;;;N;;;;;
-C3C7;HANGUL SYLLABLE SSYELB;Lo;0;L;;;;;N;;;;;
-C3C8;HANGUL SYLLABLE SSYELS;Lo;0;L;;;;;N;;;;;
-C3C9;HANGUL SYLLABLE SSYELT;Lo;0;L;;;;;N;;;;;
-C3CA;HANGUL SYLLABLE SSYELP;Lo;0;L;;;;;N;;;;;
-C3CB;HANGUL SYLLABLE SSYELH;Lo;0;L;;;;;N;;;;;
-C3CC;HANGUL SYLLABLE SSYEM;Lo;0;L;;;;;N;;;;;
-C3CD;HANGUL SYLLABLE SSYEB;Lo;0;L;;;;;N;;;;;
-C3CE;HANGUL SYLLABLE SSYEBS;Lo;0;L;;;;;N;;;;;
-C3CF;HANGUL SYLLABLE SSYES;Lo;0;L;;;;;N;;;;;
-C3D0;HANGUL SYLLABLE SSYESS;Lo;0;L;;;;;N;;;;;
-C3D1;HANGUL SYLLABLE SSYENG;Lo;0;L;;;;;N;;;;;
-C3D2;HANGUL SYLLABLE SSYEJ;Lo;0;L;;;;;N;;;;;
-C3D3;HANGUL SYLLABLE SSYEC;Lo;0;L;;;;;N;;;;;
-C3D4;HANGUL SYLLABLE SSYEK;Lo;0;L;;;;;N;;;;;
-C3D5;HANGUL SYLLABLE SSYET;Lo;0;L;;;;;N;;;;;
-C3D6;HANGUL SYLLABLE SSYEP;Lo;0;L;;;;;N;;;;;
-C3D7;HANGUL SYLLABLE SSYEH;Lo;0;L;;;;;N;;;;;
-C3D8;HANGUL SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
-C3D9;HANGUL SYLLABLE SSOG;Lo;0;L;;;;;N;;;;;
-C3DA;HANGUL SYLLABLE SSOGG;Lo;0;L;;;;;N;;;;;
-C3DB;HANGUL SYLLABLE SSOGS;Lo;0;L;;;;;N;;;;;
-C3DC;HANGUL SYLLABLE SSON;Lo;0;L;;;;;N;;;;;
-C3DD;HANGUL SYLLABLE SSONI;Lo;0;L;;;;;N;;;;;
-C3DE;HANGUL SYLLABLE SSONH;Lo;0;L;;;;;N;;;;;
-C3DF;HANGUL SYLLABLE SSOD;Lo;0;L;;;;;N;;;;;
-C3E0;HANGUL SYLLABLE SSOL;Lo;0;L;;;;;N;;;;;
-C3E1;HANGUL SYLLABLE SSOLG;Lo;0;L;;;;;N;;;;;
-C3E2;HANGUL SYLLABLE SSOLM;Lo;0;L;;;;;N;;;;;
-C3E3;HANGUL SYLLABLE SSOLB;Lo;0;L;;;;;N;;;;;
-C3E4;HANGUL SYLLABLE SSOLS;Lo;0;L;;;;;N;;;;;
-C3E5;HANGUL SYLLABLE SSOLT;Lo;0;L;;;;;N;;;;;
-C3E6;HANGUL SYLLABLE SSOLP;Lo;0;L;;;;;N;;;;;
-C3E7;HANGUL SYLLABLE SSOLH;Lo;0;L;;;;;N;;;;;
-C3E8;HANGUL SYLLABLE SSOM;Lo;0;L;;;;;N;;;;;
-C3E9;HANGUL SYLLABLE SSOB;Lo;0;L;;;;;N;;;;;
-C3EA;HANGUL SYLLABLE SSOBS;Lo;0;L;;;;;N;;;;;
-C3EB;HANGUL SYLLABLE SSOS;Lo;0;L;;;;;N;;;;;
-C3EC;HANGUL SYLLABLE SSOSS;Lo;0;L;;;;;N;;;;;
-C3ED;HANGUL SYLLABLE SSONG;Lo;0;L;;;;;N;;;;;
-C3EE;HANGUL SYLLABLE SSOJ;Lo;0;L;;;;;N;;;;;
-C3EF;HANGUL SYLLABLE SSOC;Lo;0;L;;;;;N;;;;;
-C3F0;HANGUL SYLLABLE SSOK;Lo;0;L;;;;;N;;;;;
-C3F1;HANGUL SYLLABLE SSOT;Lo;0;L;;;;;N;;;;;
-C3F2;HANGUL SYLLABLE SSOP;Lo;0;L;;;;;N;;;;;
-C3F3;HANGUL SYLLABLE SSOH;Lo;0;L;;;;;N;;;;;
-C3F4;HANGUL SYLLABLE SSWA;Lo;0;L;;;;;N;;;;;
-C3F5;HANGUL SYLLABLE SSWAG;Lo;0;L;;;;;N;;;;;
-C3F6;HANGUL SYLLABLE SSWAGG;Lo;0;L;;;;;N;;;;;
-C3F7;HANGUL SYLLABLE SSWAGS;Lo;0;L;;;;;N;;;;;
-C3F8;HANGUL SYLLABLE SSWAN;Lo;0;L;;;;;N;;;;;
-C3F9;HANGUL SYLLABLE SSWANI;Lo;0;L;;;;;N;;;;;
-C3FA;HANGUL SYLLABLE SSWANH;Lo;0;L;;;;;N;;;;;
-C3FB;HANGUL SYLLABLE SSWAD;Lo;0;L;;;;;N;;;;;
-C3FC;HANGUL SYLLABLE SSWAL;Lo;0;L;;;;;N;;;;;
-C3FD;HANGUL SYLLABLE SSWALG;Lo;0;L;;;;;N;;;;;
-C3FE;HANGUL SYLLABLE SSWALM;Lo;0;L;;;;;N;;;;;
-C3FF;HANGUL SYLLABLE SSWALB;Lo;0;L;;;;;N;;;;;
-C400;HANGUL SYLLABLE SSWALS;Lo;0;L;;;;;N;;;;;
-C401;HANGUL SYLLABLE SSWALT;Lo;0;L;;;;;N;;;;;
-C402;HANGUL SYLLABLE SSWALP;Lo;0;L;;;;;N;;;;;
-C403;HANGUL SYLLABLE SSWALH;Lo;0;L;;;;;N;;;;;
-C404;HANGUL SYLLABLE SSWAM;Lo;0;L;;;;;N;;;;;
-C405;HANGUL SYLLABLE SSWAB;Lo;0;L;;;;;N;;;;;
-C406;HANGUL SYLLABLE SSWABS;Lo;0;L;;;;;N;;;;;
-C407;HANGUL SYLLABLE SSWAS;Lo;0;L;;;;;N;;;;;
-C408;HANGUL SYLLABLE SSWASS;Lo;0;L;;;;;N;;;;;
-C409;HANGUL SYLLABLE SSWANG;Lo;0;L;;;;;N;;;;;
-C40A;HANGUL SYLLABLE SSWAJ;Lo;0;L;;;;;N;;;;;
-C40B;HANGUL SYLLABLE SSWAC;Lo;0;L;;;;;N;;;;;
-C40C;HANGUL SYLLABLE SSWAK;Lo;0;L;;;;;N;;;;;
-C40D;HANGUL SYLLABLE SSWAT;Lo;0;L;;;;;N;;;;;
-C40E;HANGUL SYLLABLE SSWAP;Lo;0;L;;;;;N;;;;;
-C40F;HANGUL SYLLABLE SSWAH;Lo;0;L;;;;;N;;;;;
-C410;HANGUL SYLLABLE SSWAE;Lo;0;L;;;;;N;;;;;
-C411;HANGUL SYLLABLE SSWAEG;Lo;0;L;;;;;N;;;;;
-C412;HANGUL SYLLABLE SSWAEGG;Lo;0;L;;;;;N;;;;;
-C413;HANGUL SYLLABLE SSWAEGS;Lo;0;L;;;;;N;;;;;
-C414;HANGUL SYLLABLE SSWAEN;Lo;0;L;;;;;N;;;;;
-C415;HANGUL SYLLABLE SSWAENI;Lo;0;L;;;;;N;;;;;
-C416;HANGUL SYLLABLE SSWAENH;Lo;0;L;;;;;N;;;;;
-C417;HANGUL SYLLABLE SSWAED;Lo;0;L;;;;;N;;;;;
-C418;HANGUL SYLLABLE SSWAEL;Lo;0;L;;;;;N;;;;;
-C419;HANGUL SYLLABLE SSWAELG;Lo;0;L;;;;;N;;;;;
-C41A;HANGUL SYLLABLE SSWAELM;Lo;0;L;;;;;N;;;;;
-C41B;HANGUL SYLLABLE SSWAELB;Lo;0;L;;;;;N;;;;;
-C41C;HANGUL SYLLABLE SSWAELS;Lo;0;L;;;;;N;;;;;
-C41D;HANGUL SYLLABLE SSWAELT;Lo;0;L;;;;;N;;;;;
-C41E;HANGUL SYLLABLE SSWAELP;Lo;0;L;;;;;N;;;;;
-C41F;HANGUL SYLLABLE SSWAELH;Lo;0;L;;;;;N;;;;;
-C420;HANGUL SYLLABLE SSWAEM;Lo;0;L;;;;;N;;;;;
-C421;HANGUL SYLLABLE SSWAEB;Lo;0;L;;;;;N;;;;;
-C422;HANGUL SYLLABLE SSWAEBS;Lo;0;L;;;;;N;;;;;
-C423;HANGUL SYLLABLE SSWAES;Lo;0;L;;;;;N;;;;;
-C424;HANGUL SYLLABLE SSWAESS;Lo;0;L;;;;;N;;;;;
-C425;HANGUL SYLLABLE SSWAENG;Lo;0;L;;;;;N;;;;;
-C426;HANGUL SYLLABLE SSWAEJ;Lo;0;L;;;;;N;;;;;
-C427;HANGUL SYLLABLE SSWAEC;Lo;0;L;;;;;N;;;;;
-C428;HANGUL SYLLABLE SSWAEK;Lo;0;L;;;;;N;;;;;
-C429;HANGUL SYLLABLE SSWAET;Lo;0;L;;;;;N;;;;;
-C42A;HANGUL SYLLABLE SSWAEP;Lo;0;L;;;;;N;;;;;
-C42B;HANGUL SYLLABLE SSWAEH;Lo;0;L;;;;;N;;;;;
-C42C;HANGUL SYLLABLE SSOE;Lo;0;L;;;;;N;;;;;
-C42D;HANGUL SYLLABLE SSOEG;Lo;0;L;;;;;N;;;;;
-C42E;HANGUL SYLLABLE SSOEGG;Lo;0;L;;;;;N;;;;;
-C42F;HANGUL SYLLABLE SSOEGS;Lo;0;L;;;;;N;;;;;
-C430;HANGUL SYLLABLE SSOEN;Lo;0;L;;;;;N;;;;;
-C431;HANGUL SYLLABLE SSOENI;Lo;0;L;;;;;N;;;;;
-C432;HANGUL SYLLABLE SSOENH;Lo;0;L;;;;;N;;;;;
-C433;HANGUL SYLLABLE SSOED;Lo;0;L;;;;;N;;;;;
-C434;HANGUL SYLLABLE SSOEL;Lo;0;L;;;;;N;;;;;
-C435;HANGUL SYLLABLE SSOELG;Lo;0;L;;;;;N;;;;;
-C436;HANGUL SYLLABLE SSOELM;Lo;0;L;;;;;N;;;;;
-C437;HANGUL SYLLABLE SSOELB;Lo;0;L;;;;;N;;;;;
-C438;HANGUL SYLLABLE SSOELS;Lo;0;L;;;;;N;;;;;
-C439;HANGUL SYLLABLE SSOELT;Lo;0;L;;;;;N;;;;;
-C43A;HANGUL SYLLABLE SSOELP;Lo;0;L;;;;;N;;;;;
-C43B;HANGUL SYLLABLE SSOELH;Lo;0;L;;;;;N;;;;;
-C43C;HANGUL SYLLABLE SSOEM;Lo;0;L;;;;;N;;;;;
-C43D;HANGUL SYLLABLE SSOEB;Lo;0;L;;;;;N;;;;;
-C43E;HANGUL SYLLABLE SSOEBS;Lo;0;L;;;;;N;;;;;
-C43F;HANGUL SYLLABLE SSOES;Lo;0;L;;;;;N;;;;;
-C440;HANGUL SYLLABLE SSOESS;Lo;0;L;;;;;N;;;;;
-C441;HANGUL SYLLABLE SSOENG;Lo;0;L;;;;;N;;;;;
-C442;HANGUL SYLLABLE SSOEJ;Lo;0;L;;;;;N;;;;;
-C443;HANGUL SYLLABLE SSOEC;Lo;0;L;;;;;N;;;;;
-C444;HANGUL SYLLABLE SSOEK;Lo;0;L;;;;;N;;;;;
-C445;HANGUL SYLLABLE SSOET;Lo;0;L;;;;;N;;;;;
-C446;HANGUL SYLLABLE SSOEP;Lo;0;L;;;;;N;;;;;
-C447;HANGUL SYLLABLE SSOEH;Lo;0;L;;;;;N;;;;;
-C448;HANGUL SYLLABLE SSYO;Lo;0;L;;;;;N;;;;;
-C449;HANGUL SYLLABLE SSYOG;Lo;0;L;;;;;N;;;;;
-C44A;HANGUL SYLLABLE SSYOGG;Lo;0;L;;;;;N;;;;;
-C44B;HANGUL SYLLABLE SSYOGS;Lo;0;L;;;;;N;;;;;
-C44C;HANGUL SYLLABLE SSYON;Lo;0;L;;;;;N;;;;;
-C44D;HANGUL SYLLABLE SSYONI;Lo;0;L;;;;;N;;;;;
-C44E;HANGUL SYLLABLE SSYONH;Lo;0;L;;;;;N;;;;;
-C44F;HANGUL SYLLABLE SSYOD;Lo;0;L;;;;;N;;;;;
-C450;HANGUL SYLLABLE SSYOL;Lo;0;L;;;;;N;;;;;
-C451;HANGUL SYLLABLE SSYOLG;Lo;0;L;;;;;N;;;;;
-C452;HANGUL SYLLABLE SSYOLM;Lo;0;L;;;;;N;;;;;
-C453;HANGUL SYLLABLE SSYOLB;Lo;0;L;;;;;N;;;;;
-C454;HANGUL SYLLABLE SSYOLS;Lo;0;L;;;;;N;;;;;
-C455;HANGUL SYLLABLE SSYOLT;Lo;0;L;;;;;N;;;;;
-C456;HANGUL SYLLABLE SSYOLP;Lo;0;L;;;;;N;;;;;
-C457;HANGUL SYLLABLE SSYOLH;Lo;0;L;;;;;N;;;;;
-C458;HANGUL SYLLABLE SSYOM;Lo;0;L;;;;;N;;;;;
-C459;HANGUL SYLLABLE SSYOB;Lo;0;L;;;;;N;;;;;
-C45A;HANGUL SYLLABLE SSYOBS;Lo;0;L;;;;;N;;;;;
-C45B;HANGUL SYLLABLE SSYOS;Lo;0;L;;;;;N;;;;;
-C45C;HANGUL SYLLABLE SSYOSS;Lo;0;L;;;;;N;;;;;
-C45D;HANGUL SYLLABLE SSYONG;Lo;0;L;;;;;N;;;;;
-C45E;HANGUL SYLLABLE SSYOJ;Lo;0;L;;;;;N;;;;;
-C45F;HANGUL SYLLABLE SSYOC;Lo;0;L;;;;;N;;;;;
-C460;HANGUL SYLLABLE SSYOK;Lo;0;L;;;;;N;;;;;
-C461;HANGUL SYLLABLE SSYOT;Lo;0;L;;;;;N;;;;;
-C462;HANGUL SYLLABLE SSYOP;Lo;0;L;;;;;N;;;;;
-C463;HANGUL SYLLABLE SSYOH;Lo;0;L;;;;;N;;;;;
-C464;HANGUL SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
-C465;HANGUL SYLLABLE SSUG;Lo;0;L;;;;;N;;;;;
-C466;HANGUL SYLLABLE SSUGG;Lo;0;L;;;;;N;;;;;
-C467;HANGUL SYLLABLE SSUGS;Lo;0;L;;;;;N;;;;;
-C468;HANGUL SYLLABLE SSUN;Lo;0;L;;;;;N;;;;;
-C469;HANGUL SYLLABLE SSUNI;Lo;0;L;;;;;N;;;;;
-C46A;HANGUL SYLLABLE SSUNH;Lo;0;L;;;;;N;;;;;
-C46B;HANGUL SYLLABLE SSUD;Lo;0;L;;;;;N;;;;;
-C46C;HANGUL SYLLABLE SSUL;Lo;0;L;;;;;N;;;;;
-C46D;HANGUL SYLLABLE SSULG;Lo;0;L;;;;;N;;;;;
-C46E;HANGUL SYLLABLE SSULM;Lo;0;L;;;;;N;;;;;
-C46F;HANGUL SYLLABLE SSULB;Lo;0;L;;;;;N;;;;;
-C470;HANGUL SYLLABLE SSULS;Lo;0;L;;;;;N;;;;;
-C471;HANGUL SYLLABLE SSULT;Lo;0;L;;;;;N;;;;;
-C472;HANGUL SYLLABLE SSULP;Lo;0;L;;;;;N;;;;;
-C473;HANGUL SYLLABLE SSULH;Lo;0;L;;;;;N;;;;;
-C474;HANGUL SYLLABLE SSUM;Lo;0;L;;;;;N;;;;;
-C475;HANGUL SYLLABLE SSUB;Lo;0;L;;;;;N;;;;;
-C476;HANGUL SYLLABLE SSUBS;Lo;0;L;;;;;N;;;;;
-C477;HANGUL SYLLABLE SSUS;Lo;0;L;;;;;N;;;;;
-C478;HANGUL SYLLABLE SSUSS;Lo;0;L;;;;;N;;;;;
-C479;HANGUL SYLLABLE SSUNG;Lo;0;L;;;;;N;;;;;
-C47A;HANGUL SYLLABLE SSUJ;Lo;0;L;;;;;N;;;;;
-C47B;HANGUL SYLLABLE SSUC;Lo;0;L;;;;;N;;;;;
-C47C;HANGUL SYLLABLE SSUK;Lo;0;L;;;;;N;;;;;
-C47D;HANGUL SYLLABLE SSUT;Lo;0;L;;;;;N;;;;;
-C47E;HANGUL SYLLABLE SSUP;Lo;0;L;;;;;N;;;;;
-C47F;HANGUL SYLLABLE SSUH;Lo;0;L;;;;;N;;;;;
-C480;HANGUL SYLLABLE SSWEO;Lo;0;L;;;;;N;;;;;
-C481;HANGUL SYLLABLE SSWEOG;Lo;0;L;;;;;N;;;;;
-C482;HANGUL SYLLABLE SSWEOGG;Lo;0;L;;;;;N;;;;;
-C483;HANGUL SYLLABLE SSWEOGS;Lo;0;L;;;;;N;;;;;
-C484;HANGUL SYLLABLE SSWEON;Lo;0;L;;;;;N;;;;;
-C485;HANGUL SYLLABLE SSWEONI;Lo;0;L;;;;;N;;;;;
-C486;HANGUL SYLLABLE SSWEONH;Lo;0;L;;;;;N;;;;;
-C487;HANGUL SYLLABLE SSWEOD;Lo;0;L;;;;;N;;;;;
-C488;HANGUL SYLLABLE SSWEOL;Lo;0;L;;;;;N;;;;;
-C489;HANGUL SYLLABLE SSWEOLG;Lo;0;L;;;;;N;;;;;
-C48A;HANGUL SYLLABLE SSWEOLM;Lo;0;L;;;;;N;;;;;
-C48B;HANGUL SYLLABLE SSWEOLB;Lo;0;L;;;;;N;;;;;
-C48C;HANGUL SYLLABLE SSWEOLS;Lo;0;L;;;;;N;;;;;
-C48D;HANGUL SYLLABLE SSWEOLT;Lo;0;L;;;;;N;;;;;
-C48E;HANGUL SYLLABLE SSWEOLP;Lo;0;L;;;;;N;;;;;
-C48F;HANGUL SYLLABLE SSWEOLH;Lo;0;L;;;;;N;;;;;
-C490;HANGUL SYLLABLE SSWEOM;Lo;0;L;;;;;N;;;;;
-C491;HANGUL SYLLABLE SSWEOB;Lo;0;L;;;;;N;;;;;
-C492;HANGUL SYLLABLE SSWEOBS;Lo;0;L;;;;;N;;;;;
-C493;HANGUL SYLLABLE SSWEOS;Lo;0;L;;;;;N;;;;;
-C494;HANGUL SYLLABLE SSWEOSS;Lo;0;L;;;;;N;;;;;
-C495;HANGUL SYLLABLE SSWEONG;Lo;0;L;;;;;N;;;;;
-C496;HANGUL SYLLABLE SSWEOJ;Lo;0;L;;;;;N;;;;;
-C497;HANGUL SYLLABLE SSWEOC;Lo;0;L;;;;;N;;;;;
-C498;HANGUL SYLLABLE SSWEOK;Lo;0;L;;;;;N;;;;;
-C499;HANGUL SYLLABLE SSWEOT;Lo;0;L;;;;;N;;;;;
-C49A;HANGUL SYLLABLE SSWEOP;Lo;0;L;;;;;N;;;;;
-C49B;HANGUL SYLLABLE SSWEOH;Lo;0;L;;;;;N;;;;;
-C49C;HANGUL SYLLABLE SSWE;Lo;0;L;;;;;N;;;;;
-C49D;HANGUL SYLLABLE SSWEG;Lo;0;L;;;;;N;;;;;
-C49E;HANGUL SYLLABLE SSWEGG;Lo;0;L;;;;;N;;;;;
-C49F;HANGUL SYLLABLE SSWEGS;Lo;0;L;;;;;N;;;;;
-C4A0;HANGUL SYLLABLE SSWEN;Lo;0;L;;;;;N;;;;;
-C4A1;HANGUL SYLLABLE SSWENI;Lo;0;L;;;;;N;;;;;
-C4A2;HANGUL SYLLABLE SSWENH;Lo;0;L;;;;;N;;;;;
-C4A3;HANGUL SYLLABLE SSWED;Lo;0;L;;;;;N;;;;;
-C4A4;HANGUL SYLLABLE SSWEL;Lo;0;L;;;;;N;;;;;
-C4A5;HANGUL SYLLABLE SSWELG;Lo;0;L;;;;;N;;;;;
-C4A6;HANGUL SYLLABLE SSWELM;Lo;0;L;;;;;N;;;;;
-C4A7;HANGUL SYLLABLE SSWELB;Lo;0;L;;;;;N;;;;;
-C4A8;HANGUL SYLLABLE SSWELS;Lo;0;L;;;;;N;;;;;
-C4A9;HANGUL SYLLABLE SSWELT;Lo;0;L;;;;;N;;;;;
-C4AA;HANGUL SYLLABLE SSWELP;Lo;0;L;;;;;N;;;;;
-C4AB;HANGUL SYLLABLE SSWELH;Lo;0;L;;;;;N;;;;;
-C4AC;HANGUL SYLLABLE SSWEM;Lo;0;L;;;;;N;;;;;
-C4AD;HANGUL SYLLABLE SSWEB;Lo;0;L;;;;;N;;;;;
-C4AE;HANGUL SYLLABLE SSWEBS;Lo;0;L;;;;;N;;;;;
-C4AF;HANGUL SYLLABLE SSWES;Lo;0;L;;;;;N;;;;;
-C4B0;HANGUL SYLLABLE SSWESS;Lo;0;L;;;;;N;;;;;
-C4B1;HANGUL SYLLABLE SSWENG;Lo;0;L;;;;;N;;;;;
-C4B2;HANGUL SYLLABLE SSWEJ;Lo;0;L;;;;;N;;;;;
-C4B3;HANGUL SYLLABLE SSWEC;Lo;0;L;;;;;N;;;;;
-C4B4;HANGUL SYLLABLE SSWEK;Lo;0;L;;;;;N;;;;;
-C4B5;HANGUL SYLLABLE SSWET;Lo;0;L;;;;;N;;;;;
-C4B6;HANGUL SYLLABLE SSWEP;Lo;0;L;;;;;N;;;;;
-C4B7;HANGUL SYLLABLE SSWEH;Lo;0;L;;;;;N;;;;;
-C4B8;HANGUL SYLLABLE SSWI;Lo;0;L;;;;;N;;;;;
-C4B9;HANGUL SYLLABLE SSWIG;Lo;0;L;;;;;N;;;;;
-C4BA;HANGUL SYLLABLE SSWIGG;Lo;0;L;;;;;N;;;;;
-C4BB;HANGUL SYLLABLE SSWIGS;Lo;0;L;;;;;N;;;;;
-C4BC;HANGUL SYLLABLE SSWIN;Lo;0;L;;;;;N;;;;;
-C4BD;HANGUL SYLLABLE SSWINI;Lo;0;L;;;;;N;;;;;
-C4BE;HANGUL SYLLABLE SSWINH;Lo;0;L;;;;;N;;;;;
-C4BF;HANGUL SYLLABLE SSWID;Lo;0;L;;;;;N;;;;;
-C4C0;HANGUL SYLLABLE SSWIL;Lo;0;L;;;;;N;;;;;
-C4C1;HANGUL SYLLABLE SSWILG;Lo;0;L;;;;;N;;;;;
-C4C2;HANGUL SYLLABLE SSWILM;Lo;0;L;;;;;N;;;;;
-C4C3;HANGUL SYLLABLE SSWILB;Lo;0;L;;;;;N;;;;;
-C4C4;HANGUL SYLLABLE SSWILS;Lo;0;L;;;;;N;;;;;
-C4C5;HANGUL SYLLABLE SSWILT;Lo;0;L;;;;;N;;;;;
-C4C6;HANGUL SYLLABLE SSWILP;Lo;0;L;;;;;N;;;;;
-C4C7;HANGUL SYLLABLE SSWILH;Lo;0;L;;;;;N;;;;;
-C4C8;HANGUL SYLLABLE SSWIM;Lo;0;L;;;;;N;;;;;
-C4C9;HANGUL SYLLABLE SSWIB;Lo;0;L;;;;;N;;;;;
-C4CA;HANGUL SYLLABLE SSWIBS;Lo;0;L;;;;;N;;;;;
-C4CB;HANGUL SYLLABLE SSWIS;Lo;0;L;;;;;N;;;;;
-C4CC;HANGUL SYLLABLE SSWISS;Lo;0;L;;;;;N;;;;;
-C4CD;HANGUL SYLLABLE SSWING;Lo;0;L;;;;;N;;;;;
-C4CE;HANGUL SYLLABLE SSWIJ;Lo;0;L;;;;;N;;;;;
-C4CF;HANGUL SYLLABLE SSWIC;Lo;0;L;;;;;N;;;;;
-C4D0;HANGUL SYLLABLE SSWIK;Lo;0;L;;;;;N;;;;;
-C4D1;HANGUL SYLLABLE SSWIT;Lo;0;L;;;;;N;;;;;
-C4D2;HANGUL SYLLABLE SSWIP;Lo;0;L;;;;;N;;;;;
-C4D3;HANGUL SYLLABLE SSWIH;Lo;0;L;;;;;N;;;;;
-C4D4;HANGUL SYLLABLE SSYU;Lo;0;L;;;;;N;;;;;
-C4D5;HANGUL SYLLABLE SSYUG;Lo;0;L;;;;;N;;;;;
-C4D6;HANGUL SYLLABLE SSYUGG;Lo;0;L;;;;;N;;;;;
-C4D7;HANGUL SYLLABLE SSYUGS;Lo;0;L;;;;;N;;;;;
-C4D8;HANGUL SYLLABLE SSYUN;Lo;0;L;;;;;N;;;;;
-C4D9;HANGUL SYLLABLE SSYUNI;Lo;0;L;;;;;N;;;;;
-C4DA;HANGUL SYLLABLE SSYUNH;Lo;0;L;;;;;N;;;;;
-C4DB;HANGUL SYLLABLE SSYUD;Lo;0;L;;;;;N;;;;;
-C4DC;HANGUL SYLLABLE SSYUL;Lo;0;L;;;;;N;;;;;
-C4DD;HANGUL SYLLABLE SSYULG;Lo;0;L;;;;;N;;;;;
-C4DE;HANGUL SYLLABLE SSYULM;Lo;0;L;;;;;N;;;;;
-C4DF;HANGUL SYLLABLE SSYULB;Lo;0;L;;;;;N;;;;;
-C4E0;HANGUL SYLLABLE SSYULS;Lo;0;L;;;;;N;;;;;
-C4E1;HANGUL SYLLABLE SSYULT;Lo;0;L;;;;;N;;;;;
-C4E2;HANGUL SYLLABLE SSYULP;Lo;0;L;;;;;N;;;;;
-C4E3;HANGUL SYLLABLE SSYULH;Lo;0;L;;;;;N;;;;;
-C4E4;HANGUL SYLLABLE SSYUM;Lo;0;L;;;;;N;;;;;
-C4E5;HANGUL SYLLABLE SSYUB;Lo;0;L;;;;;N;;;;;
-C4E6;HANGUL SYLLABLE SSYUBS;Lo;0;L;;;;;N;;;;;
-C4E7;HANGUL SYLLABLE SSYUS;Lo;0;L;;;;;N;;;;;
-C4E8;HANGUL SYLLABLE SSYUSS;Lo;0;L;;;;;N;;;;;
-C4E9;HANGUL SYLLABLE SSYUNG;Lo;0;L;;;;;N;;;;;
-C4EA;HANGUL SYLLABLE SSYUJ;Lo;0;L;;;;;N;;;;;
-C4EB;HANGUL SYLLABLE SSYUC;Lo;0;L;;;;;N;;;;;
-C4EC;HANGUL SYLLABLE SSYUK;Lo;0;L;;;;;N;;;;;
-C4ED;HANGUL SYLLABLE SSYUT;Lo;0;L;;;;;N;;;;;
-C4EE;HANGUL SYLLABLE SSYUP;Lo;0;L;;;;;N;;;;;
-C4EF;HANGUL SYLLABLE SSYUH;Lo;0;L;;;;;N;;;;;
-C4F0;HANGUL SYLLABLE SSEU;Lo;0;L;;;;;N;;;;;
-C4F1;HANGUL SYLLABLE SSEUG;Lo;0;L;;;;;N;;;;;
-C4F2;HANGUL SYLLABLE SSEUGG;Lo;0;L;;;;;N;;;;;
-C4F3;HANGUL SYLLABLE SSEUGS;Lo;0;L;;;;;N;;;;;
-C4F4;HANGUL SYLLABLE SSEUN;Lo;0;L;;;;;N;;;;;
-C4F5;HANGUL SYLLABLE SSEUNI;Lo;0;L;;;;;N;;;;;
-C4F6;HANGUL SYLLABLE SSEUNH;Lo;0;L;;;;;N;;;;;
-C4F7;HANGUL SYLLABLE SSEUD;Lo;0;L;;;;;N;;;;;
-C4F8;HANGUL SYLLABLE SSEUL;Lo;0;L;;;;;N;;;;;
-C4F9;HANGUL SYLLABLE SSEULG;Lo;0;L;;;;;N;;;;;
-C4FA;HANGUL SYLLABLE SSEULM;Lo;0;L;;;;;N;;;;;
-C4FB;HANGUL SYLLABLE SSEULB;Lo;0;L;;;;;N;;;;;
-C4FC;HANGUL SYLLABLE SSEULS;Lo;0;L;;;;;N;;;;;
-C4FD;HANGUL SYLLABLE SSEULT;Lo;0;L;;;;;N;;;;;
-C4FE;HANGUL SYLLABLE SSEULP;Lo;0;L;;;;;N;;;;;
-C4FF;HANGUL SYLLABLE SSEULH;Lo;0;L;;;;;N;;;;;
-C500;HANGUL SYLLABLE SSEUM;Lo;0;L;;;;;N;;;;;
-C501;HANGUL SYLLABLE SSEUB;Lo;0;L;;;;;N;;;;;
-C502;HANGUL SYLLABLE SSEUBS;Lo;0;L;;;;;N;;;;;
-C503;HANGUL SYLLABLE SSEUS;Lo;0;L;;;;;N;;;;;
-C504;HANGUL SYLLABLE SSEUSS;Lo;0;L;;;;;N;;;;;
-C505;HANGUL SYLLABLE SSEUNG;Lo;0;L;;;;;N;;;;;
-C506;HANGUL SYLLABLE SSEUJ;Lo;0;L;;;;;N;;;;;
-C507;HANGUL SYLLABLE SSEUC;Lo;0;L;;;;;N;;;;;
-C508;HANGUL SYLLABLE SSEUK;Lo;0;L;;;;;N;;;;;
-C509;HANGUL SYLLABLE SSEUT;Lo;0;L;;;;;N;;;;;
-C50A;HANGUL SYLLABLE SSEUP;Lo;0;L;;;;;N;;;;;
-C50B;HANGUL SYLLABLE SSEUH;Lo;0;L;;;;;N;;;;;
-C50C;HANGUL SYLLABLE SSYI;Lo;0;L;;;;;N;;;;;
-C50D;HANGUL SYLLABLE SSYIG;Lo;0;L;;;;;N;;;;;
-C50E;HANGUL SYLLABLE SSYIGG;Lo;0;L;;;;;N;;;;;
-C50F;HANGUL SYLLABLE SSYIGS;Lo;0;L;;;;;N;;;;;
-C510;HANGUL SYLLABLE SSYIN;Lo;0;L;;;;;N;;;;;
-C511;HANGUL SYLLABLE SSYINI;Lo;0;L;;;;;N;;;;;
-C512;HANGUL SYLLABLE SSYINH;Lo;0;L;;;;;N;;;;;
-C513;HANGUL SYLLABLE SSYID;Lo;0;L;;;;;N;;;;;
-C514;HANGUL SYLLABLE SSYIL;Lo;0;L;;;;;N;;;;;
-C515;HANGUL SYLLABLE SSYILG;Lo;0;L;;;;;N;;;;;
-C516;HANGUL SYLLABLE SSYILM;Lo;0;L;;;;;N;;;;;
-C517;HANGUL SYLLABLE SSYILB;Lo;0;L;;;;;N;;;;;
-C518;HANGUL SYLLABLE SSYILS;Lo;0;L;;;;;N;;;;;
-C519;HANGUL SYLLABLE SSYILT;Lo;0;L;;;;;N;;;;;
-C51A;HANGUL SYLLABLE SSYILP;Lo;0;L;;;;;N;;;;;
-C51B;HANGUL SYLLABLE SSYILH;Lo;0;L;;;;;N;;;;;
-C51C;HANGUL SYLLABLE SSYIM;Lo;0;L;;;;;N;;;;;
-C51D;HANGUL SYLLABLE SSYIB;Lo;0;L;;;;;N;;;;;
-C51E;HANGUL SYLLABLE SSYIBS;Lo;0;L;;;;;N;;;;;
-C51F;HANGUL SYLLABLE SSYIS;Lo;0;L;;;;;N;;;;;
-C520;HANGUL SYLLABLE SSYISS;Lo;0;L;;;;;N;;;;;
-C521;HANGUL SYLLABLE SSYING;Lo;0;L;;;;;N;;;;;
-C522;HANGUL SYLLABLE SSYIJ;Lo;0;L;;;;;N;;;;;
-C523;HANGUL SYLLABLE SSYIC;Lo;0;L;;;;;N;;;;;
-C524;HANGUL SYLLABLE SSYIK;Lo;0;L;;;;;N;;;;;
-C525;HANGUL SYLLABLE SSYIT;Lo;0;L;;;;;N;;;;;
-C526;HANGUL SYLLABLE SSYIP;Lo;0;L;;;;;N;;;;;
-C527;HANGUL SYLLABLE SSYIH;Lo;0;L;;;;;N;;;;;
-C528;HANGUL SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
-C529;HANGUL SYLLABLE SSIG;Lo;0;L;;;;;N;;;;;
-C52A;HANGUL SYLLABLE SSIGG;Lo;0;L;;;;;N;;;;;
-C52B;HANGUL SYLLABLE SSIGS;Lo;0;L;;;;;N;;;;;
-C52C;HANGUL SYLLABLE SSIN;Lo;0;L;;;;;N;;;;;
-C52D;HANGUL SYLLABLE SSINI;Lo;0;L;;;;;N;;;;;
-C52E;HANGUL SYLLABLE SSINH;Lo;0;L;;;;;N;;;;;
-C52F;HANGUL SYLLABLE SSID;Lo;0;L;;;;;N;;;;;
-C530;HANGUL SYLLABLE SSIL;Lo;0;L;;;;;N;;;;;
-C531;HANGUL SYLLABLE SSILG;Lo;0;L;;;;;N;;;;;
-C532;HANGUL SYLLABLE SSILM;Lo;0;L;;;;;N;;;;;
-C533;HANGUL SYLLABLE SSILB;Lo;0;L;;;;;N;;;;;
-C534;HANGUL SYLLABLE SSILS;Lo;0;L;;;;;N;;;;;
-C535;HANGUL SYLLABLE SSILT;Lo;0;L;;;;;N;;;;;
-C536;HANGUL SYLLABLE SSILP;Lo;0;L;;;;;N;;;;;
-C537;HANGUL SYLLABLE SSILH;Lo;0;L;;;;;N;;;;;
-C538;HANGUL SYLLABLE SSIM;Lo;0;L;;;;;N;;;;;
-C539;HANGUL SYLLABLE SSIB;Lo;0;L;;;;;N;;;;;
-C53A;HANGUL SYLLABLE SSIBS;Lo;0;L;;;;;N;;;;;
-C53B;HANGUL SYLLABLE SSIS;Lo;0;L;;;;;N;;;;;
-C53C;HANGUL SYLLABLE SSISS;Lo;0;L;;;;;N;;;;;
-C53D;HANGUL SYLLABLE SSING;Lo;0;L;;;;;N;;;;;
-C53E;HANGUL SYLLABLE SSIJ;Lo;0;L;;;;;N;;;;;
-C53F;HANGUL SYLLABLE SSIC;Lo;0;L;;;;;N;;;;;
-C540;HANGUL SYLLABLE SSIK;Lo;0;L;;;;;N;;;;;
-C541;HANGUL SYLLABLE SSIT;Lo;0;L;;;;;N;;;;;
-C542;HANGUL SYLLABLE SSIP;Lo;0;L;;;;;N;;;;;
-C543;HANGUL SYLLABLE SSIH;Lo;0;L;;;;;N;;;;;
-C544;HANGUL SYLLABLE A;Lo;0;L;;;;;N;;;;;
-C545;HANGUL SYLLABLE AG;Lo;0;L;;;;;N;;;;;
-C546;HANGUL SYLLABLE AGG;Lo;0;L;;;;;N;;;;;
-C547;HANGUL SYLLABLE AGS;Lo;0;L;;;;;N;;;;;
-C548;HANGUL SYLLABLE AN;Lo;0;L;;;;;N;;;;;
-C549;HANGUL SYLLABLE ANI;Lo;0;L;;;;;N;;;;;
-C54A;HANGUL SYLLABLE ANH;Lo;0;L;;;;;N;;;;;
-C54B;HANGUL SYLLABLE AD;Lo;0;L;;;;;N;;;;;
-C54C;HANGUL SYLLABLE AL;Lo;0;L;;;;;N;;;;;
-C54D;HANGUL SYLLABLE ALG;Lo;0;L;;;;;N;;;;;
-C54E;HANGUL SYLLABLE ALM;Lo;0;L;;;;;N;;;;;
-C54F;HANGUL SYLLABLE ALB;Lo;0;L;;;;;N;;;;;
-C550;HANGUL SYLLABLE ALS;Lo;0;L;;;;;N;;;;;
-C551;HANGUL SYLLABLE ALT;Lo;0;L;;;;;N;;;;;
-C552;HANGUL SYLLABLE ALP;Lo;0;L;;;;;N;;;;;
-C553;HANGUL SYLLABLE ALH;Lo;0;L;;;;;N;;;;;
-C554;HANGUL SYLLABLE AM;Lo;0;L;;;;;N;;;;;
-C555;HANGUL SYLLABLE AB;Lo;0;L;;;;;N;;;;;
-C556;HANGUL SYLLABLE ABS;Lo;0;L;;;;;N;;;;;
-C557;HANGUL SYLLABLE AS;Lo;0;L;;;;;N;;;;;
-C558;HANGUL SYLLABLE ASS;Lo;0;L;;;;;N;;;;;
-C559;HANGUL SYLLABLE ANG;Lo;0;L;;;;;N;;;;;
-C55A;HANGUL SYLLABLE AJ;Lo;0;L;;;;;N;;;;;
-C55B;HANGUL SYLLABLE AC;Lo;0;L;;;;;N;;;;;
-C55C;HANGUL SYLLABLE AK;Lo;0;L;;;;;N;;;;;
-C55D;HANGUL SYLLABLE AT;Lo;0;L;;;;;N;;;;;
-C55E;HANGUL SYLLABLE AP;Lo;0;L;;;;;N;;;;;
-C55F;HANGUL SYLLABLE AH;Lo;0;L;;;;;N;;;;;
-C560;HANGUL SYLLABLE AE;Lo;0;L;;;;;N;;;;;
-C561;HANGUL SYLLABLE AEG;Lo;0;L;;;;;N;;;;;
-C562;HANGUL SYLLABLE AEGG;Lo;0;L;;;;;N;;;;;
-C563;HANGUL SYLLABLE AEGS;Lo;0;L;;;;;N;;;;;
-C564;HANGUL SYLLABLE AEN;Lo;0;L;;;;;N;;;;;
-C565;HANGUL SYLLABLE AENI;Lo;0;L;;;;;N;;;;;
-C566;HANGUL SYLLABLE AENH;Lo;0;L;;;;;N;;;;;
-C567;HANGUL SYLLABLE AED;Lo;0;L;;;;;N;;;;;
-C568;HANGUL SYLLABLE AEL;Lo;0;L;;;;;N;;;;;
-C569;HANGUL SYLLABLE AELG;Lo;0;L;;;;;N;;;;;
-C56A;HANGUL SYLLABLE AELM;Lo;0;L;;;;;N;;;;;
-C56B;HANGUL SYLLABLE AELB;Lo;0;L;;;;;N;;;;;
-C56C;HANGUL SYLLABLE AELS;Lo;0;L;;;;;N;;;;;
-C56D;HANGUL SYLLABLE AELT;Lo;0;L;;;;;N;;;;;
-C56E;HANGUL SYLLABLE AELP;Lo;0;L;;;;;N;;;;;
-C56F;HANGUL SYLLABLE AELH;Lo;0;L;;;;;N;;;;;
-C570;HANGUL SYLLABLE AEM;Lo;0;L;;;;;N;;;;;
-C571;HANGUL SYLLABLE AEB;Lo;0;L;;;;;N;;;;;
-C572;HANGUL SYLLABLE AEBS;Lo;0;L;;;;;N;;;;;
-C573;HANGUL SYLLABLE AES;Lo;0;L;;;;;N;;;;;
-C574;HANGUL SYLLABLE AESS;Lo;0;L;;;;;N;;;;;
-C575;HANGUL SYLLABLE AENG;Lo;0;L;;;;;N;;;;;
-C576;HANGUL SYLLABLE AEJ;Lo;0;L;;;;;N;;;;;
-C577;HANGUL SYLLABLE AEC;Lo;0;L;;;;;N;;;;;
-C578;HANGUL SYLLABLE AEK;Lo;0;L;;;;;N;;;;;
-C579;HANGUL SYLLABLE AET;Lo;0;L;;;;;N;;;;;
-C57A;HANGUL SYLLABLE AEP;Lo;0;L;;;;;N;;;;;
-C57B;HANGUL SYLLABLE AEH;Lo;0;L;;;;;N;;;;;
-C57C;HANGUL SYLLABLE YA;Lo;0;L;;;;;N;;;;;
-C57D;HANGUL SYLLABLE YAG;Lo;0;L;;;;;N;;;;;
-C57E;HANGUL SYLLABLE YAGG;Lo;0;L;;;;;N;;;;;
-C57F;HANGUL SYLLABLE YAGS;Lo;0;L;;;;;N;;;;;
-C580;HANGUL SYLLABLE YAN;Lo;0;L;;;;;N;;;;;
-C581;HANGUL SYLLABLE YANI;Lo;0;L;;;;;N;;;;;
-C582;HANGUL SYLLABLE YANH;Lo;0;L;;;;;N;;;;;
-C583;HANGUL SYLLABLE YAD;Lo;0;L;;;;;N;;;;;
-C584;HANGUL SYLLABLE YAL;Lo;0;L;;;;;N;;;;;
-C585;HANGUL SYLLABLE YALG;Lo;0;L;;;;;N;;;;;
-C586;HANGUL SYLLABLE YALM;Lo;0;L;;;;;N;;;;;
-C587;HANGUL SYLLABLE YALB;Lo;0;L;;;;;N;;;;;
-C588;HANGUL SYLLABLE YALS;Lo;0;L;;;;;N;;;;;
-C589;HANGUL SYLLABLE YALT;Lo;0;L;;;;;N;;;;;
-C58A;HANGUL SYLLABLE YALP;Lo;0;L;;;;;N;;;;;
-C58B;HANGUL SYLLABLE YALH;Lo;0;L;;;;;N;;;;;
-C58C;HANGUL SYLLABLE YAM;Lo;0;L;;;;;N;;;;;
-C58D;HANGUL SYLLABLE YAB;Lo;0;L;;;;;N;;;;;
-C58E;HANGUL SYLLABLE YABS;Lo;0;L;;;;;N;;;;;
-C58F;HANGUL SYLLABLE YAS;Lo;0;L;;;;;N;;;;;
-C590;HANGUL SYLLABLE YASS;Lo;0;L;;;;;N;;;;;
-C591;HANGUL SYLLABLE YANG;Lo;0;L;;;;;N;;;;;
-C592;HANGUL SYLLABLE YAJ;Lo;0;L;;;;;N;;;;;
-C593;HANGUL SYLLABLE YAC;Lo;0;L;;;;;N;;;;;
-C594;HANGUL SYLLABLE YAK;Lo;0;L;;;;;N;;;;;
-C595;HANGUL SYLLABLE YAT;Lo;0;L;;;;;N;;;;;
-C596;HANGUL SYLLABLE YAP;Lo;0;L;;;;;N;;;;;
-C597;HANGUL SYLLABLE YAH;Lo;0;L;;;;;N;;;;;
-C598;HANGUL SYLLABLE YAE;Lo;0;L;;;;;N;;;;;
-C599;HANGUL SYLLABLE YAEG;Lo;0;L;;;;;N;;;;;
-C59A;HANGUL SYLLABLE YAEGG;Lo;0;L;;;;;N;;;;;
-C59B;HANGUL SYLLABLE YAEGS;Lo;0;L;;;;;N;;;;;
-C59C;HANGUL SYLLABLE YAEN;Lo;0;L;;;;;N;;;;;
-C59D;HANGUL SYLLABLE YAENI;Lo;0;L;;;;;N;;;;;
-C59E;HANGUL SYLLABLE YAENH;Lo;0;L;;;;;N;;;;;
-C59F;HANGUL SYLLABLE YAED;Lo;0;L;;;;;N;;;;;
-C5A0;HANGUL SYLLABLE YAEL;Lo;0;L;;;;;N;;;;;
-C5A1;HANGUL SYLLABLE YAELG;Lo;0;L;;;;;N;;;;;
-C5A2;HANGUL SYLLABLE YAELM;Lo;0;L;;;;;N;;;;;
-C5A3;HANGUL SYLLABLE YAELB;Lo;0;L;;;;;N;;;;;
-C5A4;HANGUL SYLLABLE YAELS;Lo;0;L;;;;;N;;;;;
-C5A5;HANGUL SYLLABLE YAELT;Lo;0;L;;;;;N;;;;;
-C5A6;HANGUL SYLLABLE YAELP;Lo;0;L;;;;;N;;;;;
-C5A7;HANGUL SYLLABLE YAELH;Lo;0;L;;;;;N;;;;;
-C5A8;HANGUL SYLLABLE YAEM;Lo;0;L;;;;;N;;;;;
-C5A9;HANGUL SYLLABLE YAEB;Lo;0;L;;;;;N;;;;;
-C5AA;HANGUL SYLLABLE YAEBS;Lo;0;L;;;;;N;;;;;
-C5AB;HANGUL SYLLABLE YAES;Lo;0;L;;;;;N;;;;;
-C5AC;HANGUL SYLLABLE YAESS;Lo;0;L;;;;;N;;;;;
-C5AD;HANGUL SYLLABLE YAENG;Lo;0;L;;;;;N;;;;;
-C5AE;HANGUL SYLLABLE YAEJ;Lo;0;L;;;;;N;;;;;
-C5AF;HANGUL SYLLABLE YAEC;Lo;0;L;;;;;N;;;;;
-C5B0;HANGUL SYLLABLE YAEK;Lo;0;L;;;;;N;;;;;
-C5B1;HANGUL SYLLABLE YAET;Lo;0;L;;;;;N;;;;;
-C5B2;HANGUL SYLLABLE YAEP;Lo;0;L;;;;;N;;;;;
-C5B3;HANGUL SYLLABLE YAEH;Lo;0;L;;;;;N;;;;;
-C5B4;HANGUL SYLLABLE EO;Lo;0;L;;;;;N;;;;;
-C5B5;HANGUL SYLLABLE EOG;Lo;0;L;;;;;N;;;;;
-C5B6;HANGUL SYLLABLE EOGG;Lo;0;L;;;;;N;;;;;
-C5B7;HANGUL SYLLABLE EOGS;Lo;0;L;;;;;N;;;;;
-C5B8;HANGUL SYLLABLE EON;Lo;0;L;;;;;N;;;;;
-C5B9;HANGUL SYLLABLE EONI;Lo;0;L;;;;;N;;;;;
-C5BA;HANGUL SYLLABLE EONH;Lo;0;L;;;;;N;;;;;
-C5BB;HANGUL SYLLABLE EOD;Lo;0;L;;;;;N;;;;;
-C5BC;HANGUL SYLLABLE EOL;Lo;0;L;;;;;N;;;;;
-C5BD;HANGUL SYLLABLE EOLG;Lo;0;L;;;;;N;;;;;
-C5BE;HANGUL SYLLABLE EOLM;Lo;0;L;;;;;N;;;;;
-C5BF;HANGUL SYLLABLE EOLB;Lo;0;L;;;;;N;;;;;
-C5C0;HANGUL SYLLABLE EOLS;Lo;0;L;;;;;N;;;;;
-C5C1;HANGUL SYLLABLE EOLT;Lo;0;L;;;;;N;;;;;
-C5C2;HANGUL SYLLABLE EOLP;Lo;0;L;;;;;N;;;;;
-C5C3;HANGUL SYLLABLE EOLH;Lo;0;L;;;;;N;;;;;
-C5C4;HANGUL SYLLABLE EOM;Lo;0;L;;;;;N;;;;;
-C5C5;HANGUL SYLLABLE EOB;Lo;0;L;;;;;N;;;;;
-C5C6;HANGUL SYLLABLE EOBS;Lo;0;L;;;;;N;;;;;
-C5C7;HANGUL SYLLABLE EOS;Lo;0;L;;;;;N;;;;;
-C5C8;HANGUL SYLLABLE EOSS;Lo;0;L;;;;;N;;;;;
-C5C9;HANGUL SYLLABLE EONG;Lo;0;L;;;;;N;;;;;
-C5CA;HANGUL SYLLABLE EOJ;Lo;0;L;;;;;N;;;;;
-C5CB;HANGUL SYLLABLE EOC;Lo;0;L;;;;;N;;;;;
-C5CC;HANGUL SYLLABLE EOK;Lo;0;L;;;;;N;;;;;
-C5CD;HANGUL SYLLABLE EOT;Lo;0;L;;;;;N;;;;;
-C5CE;HANGUL SYLLABLE EOP;Lo;0;L;;;;;N;;;;;
-C5CF;HANGUL SYLLABLE EOH;Lo;0;L;;;;;N;;;;;
-C5D0;HANGUL SYLLABLE E;Lo;0;L;;;;;N;;;;;
-C5D1;HANGUL SYLLABLE EG;Lo;0;L;;;;;N;;;;;
-C5D2;HANGUL SYLLABLE EGG;Lo;0;L;;;;;N;;;;;
-C5D3;HANGUL SYLLABLE EGS;Lo;0;L;;;;;N;;;;;
-C5D4;HANGUL SYLLABLE EN;Lo;0;L;;;;;N;;;;;
-C5D5;HANGUL SYLLABLE ENI;Lo;0;L;;;;;N;;;;;
-C5D6;HANGUL SYLLABLE ENH;Lo;0;L;;;;;N;;;;;
-C5D7;HANGUL SYLLABLE ED;Lo;0;L;;;;;N;;;;;
-C5D8;HANGUL SYLLABLE EL;Lo;0;L;;;;;N;;;;;
-C5D9;HANGUL SYLLABLE ELG;Lo;0;L;;;;;N;;;;;
-C5DA;HANGUL SYLLABLE ELM;Lo;0;L;;;;;N;;;;;
-C5DB;HANGUL SYLLABLE ELB;Lo;0;L;;;;;N;;;;;
-C5DC;HANGUL SYLLABLE ELS;Lo;0;L;;;;;N;;;;;
-C5DD;HANGUL SYLLABLE ELT;Lo;0;L;;;;;N;;;;;
-C5DE;HANGUL SYLLABLE ELP;Lo;0;L;;;;;N;;;;;
-C5DF;HANGUL SYLLABLE ELH;Lo;0;L;;;;;N;;;;;
-C5E0;HANGUL SYLLABLE EM;Lo;0;L;;;;;N;;;;;
-C5E1;HANGUL SYLLABLE EB;Lo;0;L;;;;;N;;;;;
-C5E2;HANGUL SYLLABLE EBS;Lo;0;L;;;;;N;;;;;
-C5E3;HANGUL SYLLABLE ES;Lo;0;L;;;;;N;;;;;
-C5E4;HANGUL SYLLABLE ESS;Lo;0;L;;;;;N;;;;;
-C5E5;HANGUL SYLLABLE ENG;Lo;0;L;;;;;N;;;;;
-C5E6;HANGUL SYLLABLE EJ;Lo;0;L;;;;;N;;;;;
-C5E7;HANGUL SYLLABLE EC;Lo;0;L;;;;;N;;;;;
-C5E8;HANGUL SYLLABLE EK;Lo;0;L;;;;;N;;;;;
-C5E9;HANGUL SYLLABLE ET;Lo;0;L;;;;;N;;;;;
-C5EA;HANGUL SYLLABLE EP;Lo;0;L;;;;;N;;;;;
-C5EB;HANGUL SYLLABLE EH;Lo;0;L;;;;;N;;;;;
-C5EC;HANGUL SYLLABLE YEO;Lo;0;L;;;;;N;;;;;
-C5ED;HANGUL SYLLABLE YEOG;Lo;0;L;;;;;N;;;;;
-C5EE;HANGUL SYLLABLE YEOGG;Lo;0;L;;;;;N;;;;;
-C5EF;HANGUL SYLLABLE YEOGS;Lo;0;L;;;;;N;;;;;
-C5F0;HANGUL SYLLABLE YEON;Lo;0;L;;;;;N;;;;;
-C5F1;HANGUL SYLLABLE YEONI;Lo;0;L;;;;;N;;;;;
-C5F2;HANGUL SYLLABLE YEONH;Lo;0;L;;;;;N;;;;;
-C5F3;HANGUL SYLLABLE YEOD;Lo;0;L;;;;;N;;;;;
-C5F4;HANGUL SYLLABLE YEOL;Lo;0;L;;;;;N;;;;;
-C5F5;HANGUL SYLLABLE YEOLG;Lo;0;L;;;;;N;;;;;
-C5F6;HANGUL SYLLABLE YEOLM;Lo;0;L;;;;;N;;;;;
-C5F7;HANGUL SYLLABLE YEOLB;Lo;0;L;;;;;N;;;;;
-C5F8;HANGUL SYLLABLE YEOLS;Lo;0;L;;;;;N;;;;;
-C5F9;HANGUL SYLLABLE YEOLT;Lo;0;L;;;;;N;;;;;
-C5FA;HANGUL SYLLABLE YEOLP;Lo;0;L;;;;;N;;;;;
-C5FB;HANGUL SYLLABLE YEOLH;Lo;0;L;;;;;N;;;;;
-C5FC;HANGUL SYLLABLE YEOM;Lo;0;L;;;;;N;;;;;
-C5FD;HANGUL SYLLABLE YEOB;Lo;0;L;;;;;N;;;;;
-C5FE;HANGUL SYLLABLE YEOBS;Lo;0;L;;;;;N;;;;;
-C5FF;HANGUL SYLLABLE YEOS;Lo;0;L;;;;;N;;;;;
-C600;HANGUL SYLLABLE YEOSS;Lo;0;L;;;;;N;;;;;
-C601;HANGUL SYLLABLE YEONG;Lo;0;L;;;;;N;;;;;
-C602;HANGUL SYLLABLE YEOJ;Lo;0;L;;;;;N;;;;;
-C603;HANGUL SYLLABLE YEOC;Lo;0;L;;;;;N;;;;;
-C604;HANGUL SYLLABLE YEOK;Lo;0;L;;;;;N;;;;;
-C605;HANGUL SYLLABLE YEOT;Lo;0;L;;;;;N;;;;;
-C606;HANGUL SYLLABLE YEOP;Lo;0;L;;;;;N;;;;;
-C607;HANGUL SYLLABLE YEOH;Lo;0;L;;;;;N;;;;;
-C608;HANGUL SYLLABLE YE;Lo;0;L;;;;;N;;;;;
-C609;HANGUL SYLLABLE YEG;Lo;0;L;;;;;N;;;;;
-C60A;HANGUL SYLLABLE YEGG;Lo;0;L;;;;;N;;;;;
-C60B;HANGUL SYLLABLE YEGS;Lo;0;L;;;;;N;;;;;
-C60C;HANGUL SYLLABLE YEN;Lo;0;L;;;;;N;;;;;
-C60D;HANGUL SYLLABLE YENI;Lo;0;L;;;;;N;;;;;
-C60E;HANGUL SYLLABLE YENH;Lo;0;L;;;;;N;;;;;
-C60F;HANGUL SYLLABLE YED;Lo;0;L;;;;;N;;;;;
-C610;HANGUL SYLLABLE YEL;Lo;0;L;;;;;N;;;;;
-C611;HANGUL SYLLABLE YELG;Lo;0;L;;;;;N;;;;;
-C612;HANGUL SYLLABLE YELM;Lo;0;L;;;;;N;;;;;
-C613;HANGUL SYLLABLE YELB;Lo;0;L;;;;;N;;;;;
-C614;HANGUL SYLLABLE YELS;Lo;0;L;;;;;N;;;;;
-C615;HANGUL SYLLABLE YELT;Lo;0;L;;;;;N;;;;;
-C616;HANGUL SYLLABLE YELP;Lo;0;L;;;;;N;;;;;
-C617;HANGUL SYLLABLE YELH;Lo;0;L;;;;;N;;;;;
-C618;HANGUL SYLLABLE YEM;Lo;0;L;;;;;N;;;;;
-C619;HANGUL SYLLABLE YEB;Lo;0;L;;;;;N;;;;;
-C61A;HANGUL SYLLABLE YEBS;Lo;0;L;;;;;N;;;;;
-C61B;HANGUL SYLLABLE YES;Lo;0;L;;;;;N;;;;;
-C61C;HANGUL SYLLABLE YESS;Lo;0;L;;;;;N;;;;;
-C61D;HANGUL SYLLABLE YENG;Lo;0;L;;;;;N;;;;;
-C61E;HANGUL SYLLABLE YEJ;Lo;0;L;;;;;N;;;;;
-C61F;HANGUL SYLLABLE YEC;Lo;0;L;;;;;N;;;;;
-C620;HANGUL SYLLABLE YEK;Lo;0;L;;;;;N;;;;;
-C621;HANGUL SYLLABLE YET;Lo;0;L;;;;;N;;;;;
-C622;HANGUL SYLLABLE YEP;Lo;0;L;;;;;N;;;;;
-C623;HANGUL SYLLABLE YEH;Lo;0;L;;;;;N;;;;;
-C624;HANGUL SYLLABLE O;Lo;0;L;;;;;N;;;;;
-C625;HANGUL SYLLABLE OG;Lo;0;L;;;;;N;;;;;
-C626;HANGUL SYLLABLE OGG;Lo;0;L;;;;;N;;;;;
-C627;HANGUL SYLLABLE OGS;Lo;0;L;;;;;N;;;;;
-C628;HANGUL SYLLABLE ON;Lo;0;L;;;;;N;;;;;
-C629;HANGUL SYLLABLE ONI;Lo;0;L;;;;;N;;;;;
-C62A;HANGUL SYLLABLE ONH;Lo;0;L;;;;;N;;;;;
-C62B;HANGUL SYLLABLE OD;Lo;0;L;;;;;N;;;;;
-C62C;HANGUL SYLLABLE OL;Lo;0;L;;;;;N;;;;;
-C62D;HANGUL SYLLABLE OLG;Lo;0;L;;;;;N;;;;;
-C62E;HANGUL SYLLABLE OLM;Lo;0;L;;;;;N;;;;;
-C62F;HANGUL SYLLABLE OLB;Lo;0;L;;;;;N;;;;;
-C630;HANGUL SYLLABLE OLS;Lo;0;L;;;;;N;;;;;
-C631;HANGUL SYLLABLE OLT;Lo;0;L;;;;;N;;;;;
-C632;HANGUL SYLLABLE OLP;Lo;0;L;;;;;N;;;;;
-C633;HANGUL SYLLABLE OLH;Lo;0;L;;;;;N;;;;;
-C634;HANGUL SYLLABLE OM;Lo;0;L;;;;;N;;;;;
-C635;HANGUL SYLLABLE OB;Lo;0;L;;;;;N;;;;;
-C636;HANGUL SYLLABLE OBS;Lo;0;L;;;;;N;;;;;
-C637;HANGUL SYLLABLE OS;Lo;0;L;;;;;N;;;;;
-C638;HANGUL SYLLABLE OSS;Lo;0;L;;;;;N;;;;;
-C639;HANGUL SYLLABLE ONG;Lo;0;L;;;;;N;;;;;
-C63A;HANGUL SYLLABLE OJ;Lo;0;L;;;;;N;;;;;
-C63B;HANGUL SYLLABLE OC;Lo;0;L;;;;;N;;;;;
-C63C;HANGUL SYLLABLE OK;Lo;0;L;;;;;N;;;;;
-C63D;HANGUL SYLLABLE OT;Lo;0;L;;;;;N;;;;;
-C63E;HANGUL SYLLABLE OP;Lo;0;L;;;;;N;;;;;
-C63F;HANGUL SYLLABLE OH;Lo;0;L;;;;;N;;;;;
-C640;HANGUL SYLLABLE WA;Lo;0;L;;;;;N;;;;;
-C641;HANGUL SYLLABLE WAG;Lo;0;L;;;;;N;;;;;
-C642;HANGUL SYLLABLE WAGG;Lo;0;L;;;;;N;;;;;
-C643;HANGUL SYLLABLE WAGS;Lo;0;L;;;;;N;;;;;
-C644;HANGUL SYLLABLE WAN;Lo;0;L;;;;;N;;;;;
-C645;HANGUL SYLLABLE WANI;Lo;0;L;;;;;N;;;;;
-C646;HANGUL SYLLABLE WANH;Lo;0;L;;;;;N;;;;;
-C647;HANGUL SYLLABLE WAD;Lo;0;L;;;;;N;;;;;
-C648;HANGUL SYLLABLE WAL;Lo;0;L;;;;;N;;;;;
-C649;HANGUL SYLLABLE WALG;Lo;0;L;;;;;N;;;;;
-C64A;HANGUL SYLLABLE WALM;Lo;0;L;;;;;N;;;;;
-C64B;HANGUL SYLLABLE WALB;Lo;0;L;;;;;N;;;;;
-C64C;HANGUL SYLLABLE WALS;Lo;0;L;;;;;N;;;;;
-C64D;HANGUL SYLLABLE WALT;Lo;0;L;;;;;N;;;;;
-C64E;HANGUL SYLLABLE WALP;Lo;0;L;;;;;N;;;;;
-C64F;HANGUL SYLLABLE WALH;Lo;0;L;;;;;N;;;;;
-C650;HANGUL SYLLABLE WAM;Lo;0;L;;;;;N;;;;;
-C651;HANGUL SYLLABLE WAB;Lo;0;L;;;;;N;;;;;
-C652;HANGUL SYLLABLE WABS;Lo;0;L;;;;;N;;;;;
-C653;HANGUL SYLLABLE WAS;Lo;0;L;;;;;N;;;;;
-C654;HANGUL SYLLABLE WASS;Lo;0;L;;;;;N;;;;;
-C655;HANGUL SYLLABLE WANG;Lo;0;L;;;;;N;;;;;
-C656;HANGUL SYLLABLE WAJ;Lo;0;L;;;;;N;;;;;
-C657;HANGUL SYLLABLE WAC;Lo;0;L;;;;;N;;;;;
-C658;HANGUL SYLLABLE WAK;Lo;0;L;;;;;N;;;;;
-C659;HANGUL SYLLABLE WAT;Lo;0;L;;;;;N;;;;;
-C65A;HANGUL SYLLABLE WAP;Lo;0;L;;;;;N;;;;;
-C65B;HANGUL SYLLABLE WAH;Lo;0;L;;;;;N;;;;;
-C65C;HANGUL SYLLABLE WAE;Lo;0;L;;;;;N;;;;;
-C65D;HANGUL SYLLABLE WAEG;Lo;0;L;;;;;N;;;;;
-C65E;HANGUL SYLLABLE WAEGG;Lo;0;L;;;;;N;;;;;
-C65F;HANGUL SYLLABLE WAEGS;Lo;0;L;;;;;N;;;;;
-C660;HANGUL SYLLABLE WAEN;Lo;0;L;;;;;N;;;;;
-C661;HANGUL SYLLABLE WAENI;Lo;0;L;;;;;N;;;;;
-C662;HANGUL SYLLABLE WAENH;Lo;0;L;;;;;N;;;;;
-C663;HANGUL SYLLABLE WAED;Lo;0;L;;;;;N;;;;;
-C664;HANGUL SYLLABLE WAEL;Lo;0;L;;;;;N;;;;;
-C665;HANGUL SYLLABLE WAELG;Lo;0;L;;;;;N;;;;;
-C666;HANGUL SYLLABLE WAELM;Lo;0;L;;;;;N;;;;;
-C667;HANGUL SYLLABLE WAELB;Lo;0;L;;;;;N;;;;;
-C668;HANGUL SYLLABLE WAELS;Lo;0;L;;;;;N;;;;;
-C669;HANGUL SYLLABLE WAELT;Lo;0;L;;;;;N;;;;;
-C66A;HANGUL SYLLABLE WAELP;Lo;0;L;;;;;N;;;;;
-C66B;HANGUL SYLLABLE WAELH;Lo;0;L;;;;;N;;;;;
-C66C;HANGUL SYLLABLE WAEM;Lo;0;L;;;;;N;;;;;
-C66D;HANGUL SYLLABLE WAEB;Lo;0;L;;;;;N;;;;;
-C66E;HANGUL SYLLABLE WAEBS;Lo;0;L;;;;;N;;;;;
-C66F;HANGUL SYLLABLE WAES;Lo;0;L;;;;;N;;;;;
-C670;HANGUL SYLLABLE WAESS;Lo;0;L;;;;;N;;;;;
-C671;HANGUL SYLLABLE WAENG;Lo;0;L;;;;;N;;;;;
-C672;HANGUL SYLLABLE WAEJ;Lo;0;L;;;;;N;;;;;
-C673;HANGUL SYLLABLE WAEC;Lo;0;L;;;;;N;;;;;
-C674;HANGUL SYLLABLE WAEK;Lo;0;L;;;;;N;;;;;
-C675;HANGUL SYLLABLE WAET;Lo;0;L;;;;;N;;;;;
-C676;HANGUL SYLLABLE WAEP;Lo;0;L;;;;;N;;;;;
-C677;HANGUL SYLLABLE WAEH;Lo;0;L;;;;;N;;;;;
-C678;HANGUL SYLLABLE OE;Lo;0;L;;;;;N;;;;;
-C679;HANGUL SYLLABLE OEG;Lo;0;L;;;;;N;;;;;
-C67A;HANGUL SYLLABLE OEGG;Lo;0;L;;;;;N;;;;;
-C67B;HANGUL SYLLABLE OEGS;Lo;0;L;;;;;N;;;;;
-C67C;HANGUL SYLLABLE OEN;Lo;0;L;;;;;N;;;;;
-C67D;HANGUL SYLLABLE OENI;Lo;0;L;;;;;N;;;;;
-C67E;HANGUL SYLLABLE OENH;Lo;0;L;;;;;N;;;;;
-C67F;HANGUL SYLLABLE OED;Lo;0;L;;;;;N;;;;;
-C680;HANGUL SYLLABLE OEL;Lo;0;L;;;;;N;;;;;
-C681;HANGUL SYLLABLE OELG;Lo;0;L;;;;;N;;;;;
-C682;HANGUL SYLLABLE OELM;Lo;0;L;;;;;N;;;;;
-C683;HANGUL SYLLABLE OELB;Lo;0;L;;;;;N;;;;;
-C684;HANGUL SYLLABLE OELS;Lo;0;L;;;;;N;;;;;
-C685;HANGUL SYLLABLE OELT;Lo;0;L;;;;;N;;;;;
-C686;HANGUL SYLLABLE OELP;Lo;0;L;;;;;N;;;;;
-C687;HANGUL SYLLABLE OELH;Lo;0;L;;;;;N;;;;;
-C688;HANGUL SYLLABLE OEM;Lo;0;L;;;;;N;;;;;
-C689;HANGUL SYLLABLE OEB;Lo;0;L;;;;;N;;;;;
-C68A;HANGUL SYLLABLE OEBS;Lo;0;L;;;;;N;;;;;
-C68B;HANGUL SYLLABLE OES;Lo;0;L;;;;;N;;;;;
-C68C;HANGUL SYLLABLE OESS;Lo;0;L;;;;;N;;;;;
-C68D;HANGUL SYLLABLE OENG;Lo;0;L;;;;;N;;;;;
-C68E;HANGUL SYLLABLE OEJ;Lo;0;L;;;;;N;;;;;
-C68F;HANGUL SYLLABLE OEC;Lo;0;L;;;;;N;;;;;
-C690;HANGUL SYLLABLE OEK;Lo;0;L;;;;;N;;;;;
-C691;HANGUL SYLLABLE OET;Lo;0;L;;;;;N;;;;;
-C692;HANGUL SYLLABLE OEP;Lo;0;L;;;;;N;;;;;
-C693;HANGUL SYLLABLE OEH;Lo;0;L;;;;;N;;;;;
-C694;HANGUL SYLLABLE YO;Lo;0;L;;;;;N;;;;;
-C695;HANGUL SYLLABLE YOG;Lo;0;L;;;;;N;;;;;
-C696;HANGUL SYLLABLE YOGG;Lo;0;L;;;;;N;;;;;
-C697;HANGUL SYLLABLE YOGS;Lo;0;L;;;;;N;;;;;
-C698;HANGUL SYLLABLE YON;Lo;0;L;;;;;N;;;;;
-C699;HANGUL SYLLABLE YONI;Lo;0;L;;;;;N;;;;;
-C69A;HANGUL SYLLABLE YONH;Lo;0;L;;;;;N;;;;;
-C69B;HANGUL SYLLABLE YOD;Lo;0;L;;;;;N;;;;;
-C69C;HANGUL SYLLABLE YOL;Lo;0;L;;;;;N;;;;;
-C69D;HANGUL SYLLABLE YOLG;Lo;0;L;;;;;N;;;;;
-C69E;HANGUL SYLLABLE YOLM;Lo;0;L;;;;;N;;;;;
-C69F;HANGUL SYLLABLE YOLB;Lo;0;L;;;;;N;;;;;
-C6A0;HANGUL SYLLABLE YOLS;Lo;0;L;;;;;N;;;;;
-C6A1;HANGUL SYLLABLE YOLT;Lo;0;L;;;;;N;;;;;
-C6A2;HANGUL SYLLABLE YOLP;Lo;0;L;;;;;N;;;;;
-C6A3;HANGUL SYLLABLE YOLH;Lo;0;L;;;;;N;;;;;
-C6A4;HANGUL SYLLABLE YOM;Lo;0;L;;;;;N;;;;;
-C6A5;HANGUL SYLLABLE YOB;Lo;0;L;;;;;N;;;;;
-C6A6;HANGUL SYLLABLE YOBS;Lo;0;L;;;;;N;;;;;
-C6A7;HANGUL SYLLABLE YOS;Lo;0;L;;;;;N;;;;;
-C6A8;HANGUL SYLLABLE YOSS;Lo;0;L;;;;;N;;;;;
-C6A9;HANGUL SYLLABLE YONG;Lo;0;L;;;;;N;;;;;
-C6AA;HANGUL SYLLABLE YOJ;Lo;0;L;;;;;N;;;;;
-C6AB;HANGUL SYLLABLE YOC;Lo;0;L;;;;;N;;;;;
-C6AC;HANGUL SYLLABLE YOK;Lo;0;L;;;;;N;;;;;
-C6AD;HANGUL SYLLABLE YOT;Lo;0;L;;;;;N;;;;;
-C6AE;HANGUL SYLLABLE YOP;Lo;0;L;;;;;N;;;;;
-C6AF;HANGUL SYLLABLE YOH;Lo;0;L;;;;;N;;;;;
-C6B0;HANGUL SYLLABLE U;Lo;0;L;;;;;N;;;;;
-C6B1;HANGUL SYLLABLE UG;Lo;0;L;;;;;N;;;;;
-C6B2;HANGUL SYLLABLE UGG;Lo;0;L;;;;;N;;;;;
-C6B3;HANGUL SYLLABLE UGS;Lo;0;L;;;;;N;;;;;
-C6B4;HANGUL SYLLABLE UN;Lo;0;L;;;;;N;;;;;
-C6B5;HANGUL SYLLABLE UNI;Lo;0;L;;;;;N;;;;;
-C6B6;HANGUL SYLLABLE UNH;Lo;0;L;;;;;N;;;;;
-C6B7;HANGUL SYLLABLE UD;Lo;0;L;;;;;N;;;;;
-C6B8;HANGUL SYLLABLE UL;Lo;0;L;;;;;N;;;;;
-C6B9;HANGUL SYLLABLE ULG;Lo;0;L;;;;;N;;;;;
-C6BA;HANGUL SYLLABLE ULM;Lo;0;L;;;;;N;;;;;
-C6BB;HANGUL SYLLABLE ULB;Lo;0;L;;;;;N;;;;;
-C6BC;HANGUL SYLLABLE ULS;Lo;0;L;;;;;N;;;;;
-C6BD;HANGUL SYLLABLE ULT;Lo;0;L;;;;;N;;;;;
-C6BE;HANGUL SYLLABLE ULP;Lo;0;L;;;;;N;;;;;
-C6BF;HANGUL SYLLABLE ULH;Lo;0;L;;;;;N;;;;;
-C6C0;HANGUL SYLLABLE UM;Lo;0;L;;;;;N;;;;;
-C6C1;HANGUL SYLLABLE UB;Lo;0;L;;;;;N;;;;;
-C6C2;HANGUL SYLLABLE UBS;Lo;0;L;;;;;N;;;;;
-C6C3;HANGUL SYLLABLE US;Lo;0;L;;;;;N;;;;;
-C6C4;HANGUL SYLLABLE USS;Lo;0;L;;;;;N;;;;;
-C6C5;HANGUL SYLLABLE UNG;Lo;0;L;;;;;N;;;;;
-C6C6;HANGUL SYLLABLE UJ;Lo;0;L;;;;;N;;;;;
-C6C7;HANGUL SYLLABLE UC;Lo;0;L;;;;;N;;;;;
-C6C8;HANGUL SYLLABLE UK;Lo;0;L;;;;;N;;;;;
-C6C9;HANGUL SYLLABLE UT;Lo;0;L;;;;;N;;;;;
-C6CA;HANGUL SYLLABLE UP;Lo;0;L;;;;;N;;;;;
-C6CB;HANGUL SYLLABLE UH;Lo;0;L;;;;;N;;;;;
-C6CC;HANGUL SYLLABLE WEO;Lo;0;L;;;;;N;;;;;
-C6CD;HANGUL SYLLABLE WEOG;Lo;0;L;;;;;N;;;;;
-C6CE;HANGUL SYLLABLE WEOGG;Lo;0;L;;;;;N;;;;;
-C6CF;HANGUL SYLLABLE WEOGS;Lo;0;L;;;;;N;;;;;
-C6D0;HANGUL SYLLABLE WEON;Lo;0;L;;;;;N;;;;;
-C6D1;HANGUL SYLLABLE WEONI;Lo;0;L;;;;;N;;;;;
-C6D2;HANGUL SYLLABLE WEONH;Lo;0;L;;;;;N;;;;;
-C6D3;HANGUL SYLLABLE WEOD;Lo;0;L;;;;;N;;;;;
-C6D4;HANGUL SYLLABLE WEOL;Lo;0;L;;;;;N;;;;;
-C6D5;HANGUL SYLLABLE WEOLG;Lo;0;L;;;;;N;;;;;
-C6D6;HANGUL SYLLABLE WEOLM;Lo;0;L;;;;;N;;;;;
-C6D7;HANGUL SYLLABLE WEOLB;Lo;0;L;;;;;N;;;;;
-C6D8;HANGUL SYLLABLE WEOLS;Lo;0;L;;;;;N;;;;;
-C6D9;HANGUL SYLLABLE WEOLT;Lo;0;L;;;;;N;;;;;
-C6DA;HANGUL SYLLABLE WEOLP;Lo;0;L;;;;;N;;;;;
-C6DB;HANGUL SYLLABLE WEOLH;Lo;0;L;;;;;N;;;;;
-C6DC;HANGUL SYLLABLE WEOM;Lo;0;L;;;;;N;;;;;
-C6DD;HANGUL SYLLABLE WEOB;Lo;0;L;;;;;N;;;;;
-C6DE;HANGUL SYLLABLE WEOBS;Lo;0;L;;;;;N;;;;;
-C6DF;HANGUL SYLLABLE WEOS;Lo;0;L;;;;;N;;;;;
-C6E0;HANGUL SYLLABLE WEOSS;Lo;0;L;;;;;N;;;;;
-C6E1;HANGUL SYLLABLE WEONG;Lo;0;L;;;;;N;;;;;
-C6E2;HANGUL SYLLABLE WEOJ;Lo;0;L;;;;;N;;;;;
-C6E3;HANGUL SYLLABLE WEOC;Lo;0;L;;;;;N;;;;;
-C6E4;HANGUL SYLLABLE WEOK;Lo;0;L;;;;;N;;;;;
-C6E5;HANGUL SYLLABLE WEOT;Lo;0;L;;;;;N;;;;;
-C6E6;HANGUL SYLLABLE WEOP;Lo;0;L;;;;;N;;;;;
-C6E7;HANGUL SYLLABLE WEOH;Lo;0;L;;;;;N;;;;;
-C6E8;HANGUL SYLLABLE WE;Lo;0;L;;;;;N;;;;;
-C6E9;HANGUL SYLLABLE WEG;Lo;0;L;;;;;N;;;;;
-C6EA;HANGUL SYLLABLE WEGG;Lo;0;L;;;;;N;;;;;
-C6EB;HANGUL SYLLABLE WEGS;Lo;0;L;;;;;N;;;;;
-C6EC;HANGUL SYLLABLE WEN;Lo;0;L;;;;;N;;;;;
-C6ED;HANGUL SYLLABLE WENI;Lo;0;L;;;;;N;;;;;
-C6EE;HANGUL SYLLABLE WENH;Lo;0;L;;;;;N;;;;;
-C6EF;HANGUL SYLLABLE WED;Lo;0;L;;;;;N;;;;;
-C6F0;HANGUL SYLLABLE WEL;Lo;0;L;;;;;N;;;;;
-C6F1;HANGUL SYLLABLE WELG;Lo;0;L;;;;;N;;;;;
-C6F2;HANGUL SYLLABLE WELM;Lo;0;L;;;;;N;;;;;
-C6F3;HANGUL SYLLABLE WELB;Lo;0;L;;;;;N;;;;;
-C6F4;HANGUL SYLLABLE WELS;Lo;0;L;;;;;N;;;;;
-C6F5;HANGUL SYLLABLE WELT;Lo;0;L;;;;;N;;;;;
-C6F6;HANGUL SYLLABLE WELP;Lo;0;L;;;;;N;;;;;
-C6F7;HANGUL SYLLABLE WELH;Lo;0;L;;;;;N;;;;;
-C6F8;HANGUL SYLLABLE WEM;Lo;0;L;;;;;N;;;;;
-C6F9;HANGUL SYLLABLE WEB;Lo;0;L;;;;;N;;;;;
-C6FA;HANGUL SYLLABLE WEBS;Lo;0;L;;;;;N;;;;;
-C6FB;HANGUL SYLLABLE WES;Lo;0;L;;;;;N;;;;;
-C6FC;HANGUL SYLLABLE WESS;Lo;0;L;;;;;N;;;;;
-C6FD;HANGUL SYLLABLE WENG;Lo;0;L;;;;;N;;;;;
-C6FE;HANGUL SYLLABLE WEJ;Lo;0;L;;;;;N;;;;;
-C6FF;HANGUL SYLLABLE WEC;Lo;0;L;;;;;N;;;;;
-C700;HANGUL SYLLABLE WEK;Lo;0;L;;;;;N;;;;;
-C701;HANGUL SYLLABLE WET;Lo;0;L;;;;;N;;;;;
-C702;HANGUL SYLLABLE WEP;Lo;0;L;;;;;N;;;;;
-C703;HANGUL SYLLABLE WEH;Lo;0;L;;;;;N;;;;;
-C704;HANGUL SYLLABLE WI;Lo;0;L;;;;;N;;;;;
-C705;HANGUL SYLLABLE WIG;Lo;0;L;;;;;N;;;;;
-C706;HANGUL SYLLABLE WIGG;Lo;0;L;;;;;N;;;;;
-C707;HANGUL SYLLABLE WIGS;Lo;0;L;;;;;N;;;;;
-C708;HANGUL SYLLABLE WIN;Lo;0;L;;;;;N;;;;;
-C709;HANGUL SYLLABLE WINI;Lo;0;L;;;;;N;;;;;
-C70A;HANGUL SYLLABLE WINH;Lo;0;L;;;;;N;;;;;
-C70B;HANGUL SYLLABLE WID;Lo;0;L;;;;;N;;;;;
-C70C;HANGUL SYLLABLE WIL;Lo;0;L;;;;;N;;;;;
-C70D;HANGUL SYLLABLE WILG;Lo;0;L;;;;;N;;;;;
-C70E;HANGUL SYLLABLE WILM;Lo;0;L;;;;;N;;;;;
-C70F;HANGUL SYLLABLE WILB;Lo;0;L;;;;;N;;;;;
-C710;HANGUL SYLLABLE WILS;Lo;0;L;;;;;N;;;;;
-C711;HANGUL SYLLABLE WILT;Lo;0;L;;;;;N;;;;;
-C712;HANGUL SYLLABLE WILP;Lo;0;L;;;;;N;;;;;
-C713;HANGUL SYLLABLE WILH;Lo;0;L;;;;;N;;;;;
-C714;HANGUL SYLLABLE WIM;Lo;0;L;;;;;N;;;;;
-C715;HANGUL SYLLABLE WIB;Lo;0;L;;;;;N;;;;;
-C716;HANGUL SYLLABLE WIBS;Lo;0;L;;;;;N;;;;;
-C717;HANGUL SYLLABLE WIS;Lo;0;L;;;;;N;;;;;
-C718;HANGUL SYLLABLE WISS;Lo;0;L;;;;;N;;;;;
-C719;HANGUL SYLLABLE WING;Lo;0;L;;;;;N;;;;;
-C71A;HANGUL SYLLABLE WIJ;Lo;0;L;;;;;N;;;;;
-C71B;HANGUL SYLLABLE WIC;Lo;0;L;;;;;N;;;;;
-C71C;HANGUL SYLLABLE WIK;Lo;0;L;;;;;N;;;;;
-C71D;HANGUL SYLLABLE WIT;Lo;0;L;;;;;N;;;;;
-C71E;HANGUL SYLLABLE WIP;Lo;0;L;;;;;N;;;;;
-C71F;HANGUL SYLLABLE WIH;Lo;0;L;;;;;N;;;;;
-C720;HANGUL SYLLABLE YU;Lo;0;L;;;;;N;;;;;
-C721;HANGUL SYLLABLE YUG;Lo;0;L;;;;;N;;;;;
-C722;HANGUL SYLLABLE YUGG;Lo;0;L;;;;;N;;;;;
-C723;HANGUL SYLLABLE YUGS;Lo;0;L;;;;;N;;;;;
-C724;HANGUL SYLLABLE YUN;Lo;0;L;;;;;N;;;;;
-C725;HANGUL SYLLABLE YUNI;Lo;0;L;;;;;N;;;;;
-C726;HANGUL SYLLABLE YUNH;Lo;0;L;;;;;N;;;;;
-C727;HANGUL SYLLABLE YUD;Lo;0;L;;;;;N;;;;;
-C728;HANGUL SYLLABLE YUL;Lo;0;L;;;;;N;;;;;
-C729;HANGUL SYLLABLE YULG;Lo;0;L;;;;;N;;;;;
-C72A;HANGUL SYLLABLE YULM;Lo;0;L;;;;;N;;;;;
-C72B;HANGUL SYLLABLE YULB;Lo;0;L;;;;;N;;;;;
-C72C;HANGUL SYLLABLE YULS;Lo;0;L;;;;;N;;;;;
-C72D;HANGUL SYLLABLE YULT;Lo;0;L;;;;;N;;;;;
-C72E;HANGUL SYLLABLE YULP;Lo;0;L;;;;;N;;;;;
-C72F;HANGUL SYLLABLE YULH;Lo;0;L;;;;;N;;;;;
-C730;HANGUL SYLLABLE YUM;Lo;0;L;;;;;N;;;;;
-C731;HANGUL SYLLABLE YUB;Lo;0;L;;;;;N;;;;;
-C732;HANGUL SYLLABLE YUBS;Lo;0;L;;;;;N;;;;;
-C733;HANGUL SYLLABLE YUS;Lo;0;L;;;;;N;;;;;
-C734;HANGUL SYLLABLE YUSS;Lo;0;L;;;;;N;;;;;
-C735;HANGUL SYLLABLE YUNG;Lo;0;L;;;;;N;;;;;
-C736;HANGUL SYLLABLE YUJ;Lo;0;L;;;;;N;;;;;
-C737;HANGUL SYLLABLE YUC;Lo;0;L;;;;;N;;;;;
-C738;HANGUL SYLLABLE YUK;Lo;0;L;;;;;N;;;;;
-C739;HANGUL SYLLABLE YUT;Lo;0;L;;;;;N;;;;;
-C73A;HANGUL SYLLABLE YUP;Lo;0;L;;;;;N;;;;;
-C73B;HANGUL SYLLABLE YUH;Lo;0;L;;;;;N;;;;;
-C73C;HANGUL SYLLABLE EU;Lo;0;L;;;;;N;;;;;
-C73D;HANGUL SYLLABLE EUG;Lo;0;L;;;;;N;;;;;
-C73E;HANGUL SYLLABLE EUGG;Lo;0;L;;;;;N;;;;;
-C73F;HANGUL SYLLABLE EUGS;Lo;0;L;;;;;N;;;;;
-C740;HANGUL SYLLABLE EUN;Lo;0;L;;;;;N;;;;;
-C741;HANGUL SYLLABLE EUNI;Lo;0;L;;;;;N;;;;;
-C742;HANGUL SYLLABLE EUNH;Lo;0;L;;;;;N;;;;;
-C743;HANGUL SYLLABLE EUD;Lo;0;L;;;;;N;;;;;
-C744;HANGUL SYLLABLE EUL;Lo;0;L;;;;;N;;;;;
-C745;HANGUL SYLLABLE EULG;Lo;0;L;;;;;N;;;;;
-C746;HANGUL SYLLABLE EULM;Lo;0;L;;;;;N;;;;;
-C747;HANGUL SYLLABLE EULB;Lo;0;L;;;;;N;;;;;
-C748;HANGUL SYLLABLE EULS;Lo;0;L;;;;;N;;;;;
-C749;HANGUL SYLLABLE EULT;Lo;0;L;;;;;N;;;;;
-C74A;HANGUL SYLLABLE EULP;Lo;0;L;;;;;N;;;;;
-C74B;HANGUL SYLLABLE EULH;Lo;0;L;;;;;N;;;;;
-C74C;HANGUL SYLLABLE EUM;Lo;0;L;;;;;N;;;;;
-C74D;HANGUL SYLLABLE EUB;Lo;0;L;;;;;N;;;;;
-C74E;HANGUL SYLLABLE EUBS;Lo;0;L;;;;;N;;;;;
-C74F;HANGUL SYLLABLE EUS;Lo;0;L;;;;;N;;;;;
-C750;HANGUL SYLLABLE EUSS;Lo;0;L;;;;;N;;;;;
-C751;HANGUL SYLLABLE EUNG;Lo;0;L;;;;;N;;;;;
-C752;HANGUL SYLLABLE EUJ;Lo;0;L;;;;;N;;;;;
-C753;HANGUL SYLLABLE EUC;Lo;0;L;;;;;N;;;;;
-C754;HANGUL SYLLABLE EUK;Lo;0;L;;;;;N;;;;;
-C755;HANGUL SYLLABLE EUT;Lo;0;L;;;;;N;;;;;
-C756;HANGUL SYLLABLE EUP;Lo;0;L;;;;;N;;;;;
-C757;HANGUL SYLLABLE EUH;Lo;0;L;;;;;N;;;;;
-C758;HANGUL SYLLABLE YI;Lo;0;L;;;;;N;;;;;
-C759;HANGUL SYLLABLE YIG;Lo;0;L;;;;;N;;;;;
-C75A;HANGUL SYLLABLE YIGG;Lo;0;L;;;;;N;;;;;
-C75B;HANGUL SYLLABLE YIGS;Lo;0;L;;;;;N;;;;;
-C75C;HANGUL SYLLABLE YIN;Lo;0;L;;;;;N;;;;;
-C75D;HANGUL SYLLABLE YINI;Lo;0;L;;;;;N;;;;;
-C75E;HANGUL SYLLABLE YINH;Lo;0;L;;;;;N;;;;;
-C75F;HANGUL SYLLABLE YID;Lo;0;L;;;;;N;;;;;
-C760;HANGUL SYLLABLE YIL;Lo;0;L;;;;;N;;;;;
-C761;HANGUL SYLLABLE YILG;Lo;0;L;;;;;N;;;;;
-C762;HANGUL SYLLABLE YILM;Lo;0;L;;;;;N;;;;;
-C763;HANGUL SYLLABLE YILB;Lo;0;L;;;;;N;;;;;
-C764;HANGUL SYLLABLE YILS;Lo;0;L;;;;;N;;;;;
-C765;HANGUL SYLLABLE YILT;Lo;0;L;;;;;N;;;;;
-C766;HANGUL SYLLABLE YILP;Lo;0;L;;;;;N;;;;;
-C767;HANGUL SYLLABLE YILH;Lo;0;L;;;;;N;;;;;
-C768;HANGUL SYLLABLE YIM;Lo;0;L;;;;;N;;;;;
-C769;HANGUL SYLLABLE YIB;Lo;0;L;;;;;N;;;;;
-C76A;HANGUL SYLLABLE YIBS;Lo;0;L;;;;;N;;;;;
-C76B;HANGUL SYLLABLE YIS;Lo;0;L;;;;;N;;;;;
-C76C;HANGUL SYLLABLE YISS;Lo;0;L;;;;;N;;;;;
-C76D;HANGUL SYLLABLE YING;Lo;0;L;;;;;N;;;;;
-C76E;HANGUL SYLLABLE YIJ;Lo;0;L;;;;;N;;;;;
-C76F;HANGUL SYLLABLE YIC;Lo;0;L;;;;;N;;;;;
-C770;HANGUL SYLLABLE YIK;Lo;0;L;;;;;N;;;;;
-C771;HANGUL SYLLABLE YIT;Lo;0;L;;;;;N;;;;;
-C772;HANGUL SYLLABLE YIP;Lo;0;L;;;;;N;;;;;
-C773;HANGUL SYLLABLE YIH;Lo;0;L;;;;;N;;;;;
-C774;HANGUL SYLLABLE I;Lo;0;L;;;;;N;;;;;
-C775;HANGUL SYLLABLE IG;Lo;0;L;;;;;N;;;;;
-C776;HANGUL SYLLABLE IGG;Lo;0;L;;;;;N;;;;;
-C777;HANGUL SYLLABLE IGS;Lo;0;L;;;;;N;;;;;
-C778;HANGUL SYLLABLE IN;Lo;0;L;;;;;N;;;;;
-C779;HANGUL SYLLABLE INI;Lo;0;L;;;;;N;;;;;
-C77A;HANGUL SYLLABLE INH;Lo;0;L;;;;;N;;;;;
-C77B;HANGUL SYLLABLE ID;Lo;0;L;;;;;N;;;;;
-C77C;HANGUL SYLLABLE IL;Lo;0;L;;;;;N;;;;;
-C77D;HANGUL SYLLABLE ILG;Lo;0;L;;;;;N;;;;;
-C77E;HANGUL SYLLABLE ILM;Lo;0;L;;;;;N;;;;;
-C77F;HANGUL SYLLABLE ILB;Lo;0;L;;;;;N;;;;;
-C780;HANGUL SYLLABLE ILS;Lo;0;L;;;;;N;;;;;
-C781;HANGUL SYLLABLE ILT;Lo;0;L;;;;;N;;;;;
-C782;HANGUL SYLLABLE ILP;Lo;0;L;;;;;N;;;;;
-C783;HANGUL SYLLABLE ILH;Lo;0;L;;;;;N;;;;;
-C784;HANGUL SYLLABLE IM;Lo;0;L;;;;;N;;;;;
-C785;HANGUL SYLLABLE IB;Lo;0;L;;;;;N;;;;;
-C786;HANGUL SYLLABLE IBS;Lo;0;L;;;;;N;;;;;
-C787;HANGUL SYLLABLE IS;Lo;0;L;;;;;N;;;;;
-C788;HANGUL SYLLABLE ISS;Lo;0;L;;;;;N;;;;;
-C789;HANGUL SYLLABLE ING;Lo;0;L;;;;;N;;;;;
-C78A;HANGUL SYLLABLE IJ;Lo;0;L;;;;;N;;;;;
-C78B;HANGUL SYLLABLE IC;Lo;0;L;;;;;N;;;;;
-C78C;HANGUL SYLLABLE IK;Lo;0;L;;;;;N;;;;;
-C78D;HANGUL SYLLABLE IT;Lo;0;L;;;;;N;;;;;
-C78E;HANGUL SYLLABLE IP;Lo;0;L;;;;;N;;;;;
-C78F;HANGUL SYLLABLE IH;Lo;0;L;;;;;N;;;;;
-C790;HANGUL SYLLABLE JA;Lo;0;L;;;;;N;;;;;
-C791;HANGUL SYLLABLE JAG;Lo;0;L;;;;;N;;;;;
-C792;HANGUL SYLLABLE JAGG;Lo;0;L;;;;;N;;;;;
-C793;HANGUL SYLLABLE JAGS;Lo;0;L;;;;;N;;;;;
-C794;HANGUL SYLLABLE JAN;Lo;0;L;;;;;N;;;;;
-C795;HANGUL SYLLABLE JANI;Lo;0;L;;;;;N;;;;;
-C796;HANGUL SYLLABLE JANH;Lo;0;L;;;;;N;;;;;
-C797;HANGUL SYLLABLE JAD;Lo;0;L;;;;;N;;;;;
-C798;HANGUL SYLLABLE JAL;Lo;0;L;;;;;N;;;;;
-C799;HANGUL SYLLABLE JALG;Lo;0;L;;;;;N;;;;;
-C79A;HANGUL SYLLABLE JALM;Lo;0;L;;;;;N;;;;;
-C79B;HANGUL SYLLABLE JALB;Lo;0;L;;;;;N;;;;;
-C79C;HANGUL SYLLABLE JALS;Lo;0;L;;;;;N;;;;;
-C79D;HANGUL SYLLABLE JALT;Lo;0;L;;;;;N;;;;;
-C79E;HANGUL SYLLABLE JALP;Lo;0;L;;;;;N;;;;;
-C79F;HANGUL SYLLABLE JALH;Lo;0;L;;;;;N;;;;;
-C7A0;HANGUL SYLLABLE JAM;Lo;0;L;;;;;N;;;;;
-C7A1;HANGUL SYLLABLE JAB;Lo;0;L;;;;;N;;;;;
-C7A2;HANGUL SYLLABLE JABS;Lo;0;L;;;;;N;;;;;
-C7A3;HANGUL SYLLABLE JAS;Lo;0;L;;;;;N;;;;;
-C7A4;HANGUL SYLLABLE JASS;Lo;0;L;;;;;N;;;;;
-C7A5;HANGUL SYLLABLE JANG;Lo;0;L;;;;;N;;;;;
-C7A6;HANGUL SYLLABLE JAJ;Lo;0;L;;;;;N;;;;;
-C7A7;HANGUL SYLLABLE JAC;Lo;0;L;;;;;N;;;;;
-C7A8;HANGUL SYLLABLE JAK;Lo;0;L;;;;;N;;;;;
-C7A9;HANGUL SYLLABLE JAT;Lo;0;L;;;;;N;;;;;
-C7AA;HANGUL SYLLABLE JAP;Lo;0;L;;;;;N;;;;;
-C7AB;HANGUL SYLLABLE JAH;Lo;0;L;;;;;N;;;;;
-C7AC;HANGUL SYLLABLE JAE;Lo;0;L;;;;;N;;;;;
-C7AD;HANGUL SYLLABLE JAEG;Lo;0;L;;;;;N;;;;;
-C7AE;HANGUL SYLLABLE JAEGG;Lo;0;L;;;;;N;;;;;
-C7AF;HANGUL SYLLABLE JAEGS;Lo;0;L;;;;;N;;;;;
-C7B0;HANGUL SYLLABLE JAEN;Lo;0;L;;;;;N;;;;;
-C7B1;HANGUL SYLLABLE JAENI;Lo;0;L;;;;;N;;;;;
-C7B2;HANGUL SYLLABLE JAENH;Lo;0;L;;;;;N;;;;;
-C7B3;HANGUL SYLLABLE JAED;Lo;0;L;;;;;N;;;;;
-C7B4;HANGUL SYLLABLE JAEL;Lo;0;L;;;;;N;;;;;
-C7B5;HANGUL SYLLABLE JAELG;Lo;0;L;;;;;N;;;;;
-C7B6;HANGUL SYLLABLE JAELM;Lo;0;L;;;;;N;;;;;
-C7B7;HANGUL SYLLABLE JAELB;Lo;0;L;;;;;N;;;;;
-C7B8;HANGUL SYLLABLE JAELS;Lo;0;L;;;;;N;;;;;
-C7B9;HANGUL SYLLABLE JAELT;Lo;0;L;;;;;N;;;;;
-C7BA;HANGUL SYLLABLE JAELP;Lo;0;L;;;;;N;;;;;
-C7BB;HANGUL SYLLABLE JAELH;Lo;0;L;;;;;N;;;;;
-C7BC;HANGUL SYLLABLE JAEM;Lo;0;L;;;;;N;;;;;
-C7BD;HANGUL SYLLABLE JAEB;Lo;0;L;;;;;N;;;;;
-C7BE;HANGUL SYLLABLE JAEBS;Lo;0;L;;;;;N;;;;;
-C7BF;HANGUL SYLLABLE JAES;Lo;0;L;;;;;N;;;;;
-C7C0;HANGUL SYLLABLE JAESS;Lo;0;L;;;;;N;;;;;
-C7C1;HANGUL SYLLABLE JAENG;Lo;0;L;;;;;N;;;;;
-C7C2;HANGUL SYLLABLE JAEJ;Lo;0;L;;;;;N;;;;;
-C7C3;HANGUL SYLLABLE JAEC;Lo;0;L;;;;;N;;;;;
-C7C4;HANGUL SYLLABLE JAEK;Lo;0;L;;;;;N;;;;;
-C7C5;HANGUL SYLLABLE JAET;Lo;0;L;;;;;N;;;;;
-C7C6;HANGUL SYLLABLE JAEP;Lo;0;L;;;;;N;;;;;
-C7C7;HANGUL SYLLABLE JAEH;Lo;0;L;;;;;N;;;;;
-C7C8;HANGUL SYLLABLE JYA;Lo;0;L;;;;;N;;;;;
-C7C9;HANGUL SYLLABLE JYAG;Lo;0;L;;;;;N;;;;;
-C7CA;HANGUL SYLLABLE JYAGG;Lo;0;L;;;;;N;;;;;
-C7CB;HANGUL SYLLABLE JYAGS;Lo;0;L;;;;;N;;;;;
-C7CC;HANGUL SYLLABLE JYAN;Lo;0;L;;;;;N;;;;;
-C7CD;HANGUL SYLLABLE JYANI;Lo;0;L;;;;;N;;;;;
-C7CE;HANGUL SYLLABLE JYANH;Lo;0;L;;;;;N;;;;;
-C7CF;HANGUL SYLLABLE JYAD;Lo;0;L;;;;;N;;;;;
-C7D0;HANGUL SYLLABLE JYAL;Lo;0;L;;;;;N;;;;;
-C7D1;HANGUL SYLLABLE JYALG;Lo;0;L;;;;;N;;;;;
-C7D2;HANGUL SYLLABLE JYALM;Lo;0;L;;;;;N;;;;;
-C7D3;HANGUL SYLLABLE JYALB;Lo;0;L;;;;;N;;;;;
-C7D4;HANGUL SYLLABLE JYALS;Lo;0;L;;;;;N;;;;;
-C7D5;HANGUL SYLLABLE JYALT;Lo;0;L;;;;;N;;;;;
-C7D6;HANGUL SYLLABLE JYALP;Lo;0;L;;;;;N;;;;;
-C7D7;HANGUL SYLLABLE JYALH;Lo;0;L;;;;;N;;;;;
-C7D8;HANGUL SYLLABLE JYAM;Lo;0;L;;;;;N;;;;;
-C7D9;HANGUL SYLLABLE JYAB;Lo;0;L;;;;;N;;;;;
-C7DA;HANGUL SYLLABLE JYABS;Lo;0;L;;;;;N;;;;;
-C7DB;HANGUL SYLLABLE JYAS;Lo;0;L;;;;;N;;;;;
-C7DC;HANGUL SYLLABLE JYASS;Lo;0;L;;;;;N;;;;;
-C7DD;HANGUL SYLLABLE JYANG;Lo;0;L;;;;;N;;;;;
-C7DE;HANGUL SYLLABLE JYAJ;Lo;0;L;;;;;N;;;;;
-C7DF;HANGUL SYLLABLE JYAC;Lo;0;L;;;;;N;;;;;
-C7E0;HANGUL SYLLABLE JYAK;Lo;0;L;;;;;N;;;;;
-C7E1;HANGUL SYLLABLE JYAT;Lo;0;L;;;;;N;;;;;
-C7E2;HANGUL SYLLABLE JYAP;Lo;0;L;;;;;N;;;;;
-C7E3;HANGUL SYLLABLE JYAH;Lo;0;L;;;;;N;;;;;
-C7E4;HANGUL SYLLABLE JYAE;Lo;0;L;;;;;N;;;;;
-C7E5;HANGUL SYLLABLE JYAEG;Lo;0;L;;;;;N;;;;;
-C7E6;HANGUL SYLLABLE JYAEGG;Lo;0;L;;;;;N;;;;;
-C7E7;HANGUL SYLLABLE JYAEGS;Lo;0;L;;;;;N;;;;;
-C7E8;HANGUL SYLLABLE JYAEN;Lo;0;L;;;;;N;;;;;
-C7E9;HANGUL SYLLABLE JYAENI;Lo;0;L;;;;;N;;;;;
-C7EA;HANGUL SYLLABLE JYAENH;Lo;0;L;;;;;N;;;;;
-C7EB;HANGUL SYLLABLE JYAED;Lo;0;L;;;;;N;;;;;
-C7EC;HANGUL SYLLABLE JYAEL;Lo;0;L;;;;;N;;;;;
-C7ED;HANGUL SYLLABLE JYAELG;Lo;0;L;;;;;N;;;;;
-C7EE;HANGUL SYLLABLE JYAELM;Lo;0;L;;;;;N;;;;;
-C7EF;HANGUL SYLLABLE JYAELB;Lo;0;L;;;;;N;;;;;
-C7F0;HANGUL SYLLABLE JYAELS;Lo;0;L;;;;;N;;;;;
-C7F1;HANGUL SYLLABLE JYAELT;Lo;0;L;;;;;N;;;;;
-C7F2;HANGUL SYLLABLE JYAELP;Lo;0;L;;;;;N;;;;;
-C7F3;HANGUL SYLLABLE JYAELH;Lo;0;L;;;;;N;;;;;
-C7F4;HANGUL SYLLABLE JYAEM;Lo;0;L;;;;;N;;;;;
-C7F5;HANGUL SYLLABLE JYAEB;Lo;0;L;;;;;N;;;;;
-C7F6;HANGUL SYLLABLE JYAEBS;Lo;0;L;;;;;N;;;;;
-C7F7;HANGUL SYLLABLE JYAES;Lo;0;L;;;;;N;;;;;
-C7F8;HANGUL SYLLABLE JYAESS;Lo;0;L;;;;;N;;;;;
-C7F9;HANGUL SYLLABLE JYAENG;Lo;0;L;;;;;N;;;;;
-C7FA;HANGUL SYLLABLE JYAEJ;Lo;0;L;;;;;N;;;;;
-C7FB;HANGUL SYLLABLE JYAEC;Lo;0;L;;;;;N;;;;;
-C7FC;HANGUL SYLLABLE JYAEK;Lo;0;L;;;;;N;;;;;
-C7FD;HANGUL SYLLABLE JYAET;Lo;0;L;;;;;N;;;;;
-C7FE;HANGUL SYLLABLE JYAEP;Lo;0;L;;;;;N;;;;;
-C7FF;HANGUL SYLLABLE JYAEH;Lo;0;L;;;;;N;;;;;
-C800;HANGUL SYLLABLE JEO;Lo;0;L;;;;;N;;;;;
-C801;HANGUL SYLLABLE JEOG;Lo;0;L;;;;;N;;;;;
-C802;HANGUL SYLLABLE JEOGG;Lo;0;L;;;;;N;;;;;
-C803;HANGUL SYLLABLE JEOGS;Lo;0;L;;;;;N;;;;;
-C804;HANGUL SYLLABLE JEON;Lo;0;L;;;;;N;;;;;
-C805;HANGUL SYLLABLE JEONI;Lo;0;L;;;;;N;;;;;
-C806;HANGUL SYLLABLE JEONH;Lo;0;L;;;;;N;;;;;
-C807;HANGUL SYLLABLE JEOD;Lo;0;L;;;;;N;;;;;
-C808;HANGUL SYLLABLE JEOL;Lo;0;L;;;;;N;;;;;
-C809;HANGUL SYLLABLE JEOLG;Lo;0;L;;;;;N;;;;;
-C80A;HANGUL SYLLABLE JEOLM;Lo;0;L;;;;;N;;;;;
-C80B;HANGUL SYLLABLE JEOLB;Lo;0;L;;;;;N;;;;;
-C80C;HANGUL SYLLABLE JEOLS;Lo;0;L;;;;;N;;;;;
-C80D;HANGUL SYLLABLE JEOLT;Lo;0;L;;;;;N;;;;;
-C80E;HANGUL SYLLABLE JEOLP;Lo;0;L;;;;;N;;;;;
-C80F;HANGUL SYLLABLE JEOLH;Lo;0;L;;;;;N;;;;;
-C810;HANGUL SYLLABLE JEOM;Lo;0;L;;;;;N;;;;;
-C811;HANGUL SYLLABLE JEOB;Lo;0;L;;;;;N;;;;;
-C812;HANGUL SYLLABLE JEOBS;Lo;0;L;;;;;N;;;;;
-C813;HANGUL SYLLABLE JEOS;Lo;0;L;;;;;N;;;;;
-C814;HANGUL SYLLABLE JEOSS;Lo;0;L;;;;;N;;;;;
-C815;HANGUL SYLLABLE JEONG;Lo;0;L;;;;;N;;;;;
-C816;HANGUL SYLLABLE JEOJ;Lo;0;L;;;;;N;;;;;
-C817;HANGUL SYLLABLE JEOC;Lo;0;L;;;;;N;;;;;
-C818;HANGUL SYLLABLE JEOK;Lo;0;L;;;;;N;;;;;
-C819;HANGUL SYLLABLE JEOT;Lo;0;L;;;;;N;;;;;
-C81A;HANGUL SYLLABLE JEOP;Lo;0;L;;;;;N;;;;;
-C81B;HANGUL SYLLABLE JEOH;Lo;0;L;;;;;N;;;;;
-C81C;HANGUL SYLLABLE JE;Lo;0;L;;;;;N;;;;;
-C81D;HANGUL SYLLABLE JEG;Lo;0;L;;;;;N;;;;;
-C81E;HANGUL SYLLABLE JEGG;Lo;0;L;;;;;N;;;;;
-C81F;HANGUL SYLLABLE JEGS;Lo;0;L;;;;;N;;;;;
-C820;HANGUL SYLLABLE JEN;Lo;0;L;;;;;N;;;;;
-C821;HANGUL SYLLABLE JENI;Lo;0;L;;;;;N;;;;;
-C822;HANGUL SYLLABLE JENH;Lo;0;L;;;;;N;;;;;
-C823;HANGUL SYLLABLE JED;Lo;0;L;;;;;N;;;;;
-C824;HANGUL SYLLABLE JEL;Lo;0;L;;;;;N;;;;;
-C825;HANGUL SYLLABLE JELG;Lo;0;L;;;;;N;;;;;
-C826;HANGUL SYLLABLE JELM;Lo;0;L;;;;;N;;;;;
-C827;HANGUL SYLLABLE JELB;Lo;0;L;;;;;N;;;;;
-C828;HANGUL SYLLABLE JELS;Lo;0;L;;;;;N;;;;;
-C829;HANGUL SYLLABLE JELT;Lo;0;L;;;;;N;;;;;
-C82A;HANGUL SYLLABLE JELP;Lo;0;L;;;;;N;;;;;
-C82B;HANGUL SYLLABLE JELH;Lo;0;L;;;;;N;;;;;
-C82C;HANGUL SYLLABLE JEM;Lo;0;L;;;;;N;;;;;
-C82D;HANGUL SYLLABLE JEB;Lo;0;L;;;;;N;;;;;
-C82E;HANGUL SYLLABLE JEBS;Lo;0;L;;;;;N;;;;;
-C82F;HANGUL SYLLABLE JES;Lo;0;L;;;;;N;;;;;
-C830;HANGUL SYLLABLE JESS;Lo;0;L;;;;;N;;;;;
-C831;HANGUL SYLLABLE JENG;Lo;0;L;;;;;N;;;;;
-C832;HANGUL SYLLABLE JEJ;Lo;0;L;;;;;N;;;;;
-C833;HANGUL SYLLABLE JEC;Lo;0;L;;;;;N;;;;;
-C834;HANGUL SYLLABLE JEK;Lo;0;L;;;;;N;;;;;
-C835;HANGUL SYLLABLE JET;Lo;0;L;;;;;N;;;;;
-C836;HANGUL SYLLABLE JEP;Lo;0;L;;;;;N;;;;;
-C837;HANGUL SYLLABLE JEH;Lo;0;L;;;;;N;;;;;
-C838;HANGUL SYLLABLE JYEO;Lo;0;L;;;;;N;;;;;
-C839;HANGUL SYLLABLE JYEOG;Lo;0;L;;;;;N;;;;;
-C83A;HANGUL SYLLABLE JYEOGG;Lo;0;L;;;;;N;;;;;
-C83B;HANGUL SYLLABLE JYEOGS;Lo;0;L;;;;;N;;;;;
-C83C;HANGUL SYLLABLE JYEON;Lo;0;L;;;;;N;;;;;
-C83D;HANGUL SYLLABLE JYEONI;Lo;0;L;;;;;N;;;;;
-C83E;HANGUL SYLLABLE JYEONH;Lo;0;L;;;;;N;;;;;
-C83F;HANGUL SYLLABLE JYEOD;Lo;0;L;;;;;N;;;;;
-C840;HANGUL SYLLABLE JYEOL;Lo;0;L;;;;;N;;;;;
-C841;HANGUL SYLLABLE JYEOLG;Lo;0;L;;;;;N;;;;;
-C842;HANGUL SYLLABLE JYEOLM;Lo;0;L;;;;;N;;;;;
-C843;HANGUL SYLLABLE JYEOLB;Lo;0;L;;;;;N;;;;;
-C844;HANGUL SYLLABLE JYEOLS;Lo;0;L;;;;;N;;;;;
-C845;HANGUL SYLLABLE JYEOLT;Lo;0;L;;;;;N;;;;;
-C846;HANGUL SYLLABLE JYEOLP;Lo;0;L;;;;;N;;;;;
-C847;HANGUL SYLLABLE JYEOLH;Lo;0;L;;;;;N;;;;;
-C848;HANGUL SYLLABLE JYEOM;Lo;0;L;;;;;N;;;;;
-C849;HANGUL SYLLABLE JYEOB;Lo;0;L;;;;;N;;;;;
-C84A;HANGUL SYLLABLE JYEOBS;Lo;0;L;;;;;N;;;;;
-C84B;HANGUL SYLLABLE JYEOS;Lo;0;L;;;;;N;;;;;
-C84C;HANGUL SYLLABLE JYEOSS;Lo;0;L;;;;;N;;;;;
-C84D;HANGUL SYLLABLE JYEONG;Lo;0;L;;;;;N;;;;;
-C84E;HANGUL SYLLABLE JYEOJ;Lo;0;L;;;;;N;;;;;
-C84F;HANGUL SYLLABLE JYEOC;Lo;0;L;;;;;N;;;;;
-C850;HANGUL SYLLABLE JYEOK;Lo;0;L;;;;;N;;;;;
-C851;HANGUL SYLLABLE JYEOT;Lo;0;L;;;;;N;;;;;
-C852;HANGUL SYLLABLE JYEOP;Lo;0;L;;;;;N;;;;;
-C853;HANGUL SYLLABLE JYEOH;Lo;0;L;;;;;N;;;;;
-C854;HANGUL SYLLABLE JYE;Lo;0;L;;;;;N;;;;;
-C855;HANGUL SYLLABLE JYEG;Lo;0;L;;;;;N;;;;;
-C856;HANGUL SYLLABLE JYEGG;Lo;0;L;;;;;N;;;;;
-C857;HANGUL SYLLABLE JYEGS;Lo;0;L;;;;;N;;;;;
-C858;HANGUL SYLLABLE JYEN;Lo;0;L;;;;;N;;;;;
-C859;HANGUL SYLLABLE JYENI;Lo;0;L;;;;;N;;;;;
-C85A;HANGUL SYLLABLE JYENH;Lo;0;L;;;;;N;;;;;
-C85B;HANGUL SYLLABLE JYED;Lo;0;L;;;;;N;;;;;
-C85C;HANGUL SYLLABLE JYEL;Lo;0;L;;;;;N;;;;;
-C85D;HANGUL SYLLABLE JYELG;Lo;0;L;;;;;N;;;;;
-C85E;HANGUL SYLLABLE JYELM;Lo;0;L;;;;;N;;;;;
-C85F;HANGUL SYLLABLE JYELB;Lo;0;L;;;;;N;;;;;
-C860;HANGUL SYLLABLE JYELS;Lo;0;L;;;;;N;;;;;
-C861;HANGUL SYLLABLE JYELT;Lo;0;L;;;;;N;;;;;
-C862;HANGUL SYLLABLE JYELP;Lo;0;L;;;;;N;;;;;
-C863;HANGUL SYLLABLE JYELH;Lo;0;L;;;;;N;;;;;
-C864;HANGUL SYLLABLE JYEM;Lo;0;L;;;;;N;;;;;
-C865;HANGUL SYLLABLE JYEB;Lo;0;L;;;;;N;;;;;
-C866;HANGUL SYLLABLE JYEBS;Lo;0;L;;;;;N;;;;;
-C867;HANGUL SYLLABLE JYES;Lo;0;L;;;;;N;;;;;
-C868;HANGUL SYLLABLE JYESS;Lo;0;L;;;;;N;;;;;
-C869;HANGUL SYLLABLE JYENG;Lo;0;L;;;;;N;;;;;
-C86A;HANGUL SYLLABLE JYEJ;Lo;0;L;;;;;N;;;;;
-C86B;HANGUL SYLLABLE JYEC;Lo;0;L;;;;;N;;;;;
-C86C;HANGUL SYLLABLE JYEK;Lo;0;L;;;;;N;;;;;
-C86D;HANGUL SYLLABLE JYET;Lo;0;L;;;;;N;;;;;
-C86E;HANGUL SYLLABLE JYEP;Lo;0;L;;;;;N;;;;;
-C86F;HANGUL SYLLABLE JYEH;Lo;0;L;;;;;N;;;;;
-C870;HANGUL SYLLABLE JO;Lo;0;L;;;;;N;;;;;
-C871;HANGUL SYLLABLE JOG;Lo;0;L;;;;;N;;;;;
-C872;HANGUL SYLLABLE JOGG;Lo;0;L;;;;;N;;;;;
-C873;HANGUL SYLLABLE JOGS;Lo;0;L;;;;;N;;;;;
-C874;HANGUL SYLLABLE JON;Lo;0;L;;;;;N;;;;;
-C875;HANGUL SYLLABLE JONI;Lo;0;L;;;;;N;;;;;
-C876;HANGUL SYLLABLE JONH;Lo;0;L;;;;;N;;;;;
-C877;HANGUL SYLLABLE JOD;Lo;0;L;;;;;N;;;;;
-C878;HANGUL SYLLABLE JOL;Lo;0;L;;;;;N;;;;;
-C879;HANGUL SYLLABLE JOLG;Lo;0;L;;;;;N;;;;;
-C87A;HANGUL SYLLABLE JOLM;Lo;0;L;;;;;N;;;;;
-C87B;HANGUL SYLLABLE JOLB;Lo;0;L;;;;;N;;;;;
-C87C;HANGUL SYLLABLE JOLS;Lo;0;L;;;;;N;;;;;
-C87D;HANGUL SYLLABLE JOLT;Lo;0;L;;;;;N;;;;;
-C87E;HANGUL SYLLABLE JOLP;Lo;0;L;;;;;N;;;;;
-C87F;HANGUL SYLLABLE JOLH;Lo;0;L;;;;;N;;;;;
-C880;HANGUL SYLLABLE JOM;Lo;0;L;;;;;N;;;;;
-C881;HANGUL SYLLABLE JOB;Lo;0;L;;;;;N;;;;;
-C882;HANGUL SYLLABLE JOBS;Lo;0;L;;;;;N;;;;;
-C883;HANGUL SYLLABLE JOS;Lo;0;L;;;;;N;;;;;
-C884;HANGUL SYLLABLE JOSS;Lo;0;L;;;;;N;;;;;
-C885;HANGUL SYLLABLE JONG;Lo;0;L;;;;;N;;;;;
-C886;HANGUL SYLLABLE JOJ;Lo;0;L;;;;;N;;;;;
-C887;HANGUL SYLLABLE JOC;Lo;0;L;;;;;N;;;;;
-C888;HANGUL SYLLABLE JOK;Lo;0;L;;;;;N;;;;;
-C889;HANGUL SYLLABLE JOT;Lo;0;L;;;;;N;;;;;
-C88A;HANGUL SYLLABLE JOP;Lo;0;L;;;;;N;;;;;
-C88B;HANGUL SYLLABLE JOH;Lo;0;L;;;;;N;;;;;
-C88C;HANGUL SYLLABLE JWA;Lo;0;L;;;;;N;;;;;
-C88D;HANGUL SYLLABLE JWAG;Lo;0;L;;;;;N;;;;;
-C88E;HANGUL SYLLABLE JWAGG;Lo;0;L;;;;;N;;;;;
-C88F;HANGUL SYLLABLE JWAGS;Lo;0;L;;;;;N;;;;;
-C890;HANGUL SYLLABLE JWAN;Lo;0;L;;;;;N;;;;;
-C891;HANGUL SYLLABLE JWANI;Lo;0;L;;;;;N;;;;;
-C892;HANGUL SYLLABLE JWANH;Lo;0;L;;;;;N;;;;;
-C893;HANGUL SYLLABLE JWAD;Lo;0;L;;;;;N;;;;;
-C894;HANGUL SYLLABLE JWAL;Lo;0;L;;;;;N;;;;;
-C895;HANGUL SYLLABLE JWALG;Lo;0;L;;;;;N;;;;;
-C896;HANGUL SYLLABLE JWALM;Lo;0;L;;;;;N;;;;;
-C897;HANGUL SYLLABLE JWALB;Lo;0;L;;;;;N;;;;;
-C898;HANGUL SYLLABLE JWALS;Lo;0;L;;;;;N;;;;;
-C899;HANGUL SYLLABLE JWALT;Lo;0;L;;;;;N;;;;;
-C89A;HANGUL SYLLABLE JWALP;Lo;0;L;;;;;N;;;;;
-C89B;HANGUL SYLLABLE JWALH;Lo;0;L;;;;;N;;;;;
-C89C;HANGUL SYLLABLE JWAM;Lo;0;L;;;;;N;;;;;
-C89D;HANGUL SYLLABLE JWAB;Lo;0;L;;;;;N;;;;;
-C89E;HANGUL SYLLABLE JWABS;Lo;0;L;;;;;N;;;;;
-C89F;HANGUL SYLLABLE JWAS;Lo;0;L;;;;;N;;;;;
-C8A0;HANGUL SYLLABLE JWASS;Lo;0;L;;;;;N;;;;;
-C8A1;HANGUL SYLLABLE JWANG;Lo;0;L;;;;;N;;;;;
-C8A2;HANGUL SYLLABLE JWAJ;Lo;0;L;;;;;N;;;;;
-C8A3;HANGUL SYLLABLE JWAC;Lo;0;L;;;;;N;;;;;
-C8A4;HANGUL SYLLABLE JWAK;Lo;0;L;;;;;N;;;;;
-C8A5;HANGUL SYLLABLE JWAT;Lo;0;L;;;;;N;;;;;
-C8A6;HANGUL SYLLABLE JWAP;Lo;0;L;;;;;N;;;;;
-C8A7;HANGUL SYLLABLE JWAH;Lo;0;L;;;;;N;;;;;
-C8A8;HANGUL SYLLABLE JWAE;Lo;0;L;;;;;N;;;;;
-C8A9;HANGUL SYLLABLE JWAEG;Lo;0;L;;;;;N;;;;;
-C8AA;HANGUL SYLLABLE JWAEGG;Lo;0;L;;;;;N;;;;;
-C8AB;HANGUL SYLLABLE JWAEGS;Lo;0;L;;;;;N;;;;;
-C8AC;HANGUL SYLLABLE JWAEN;Lo;0;L;;;;;N;;;;;
-C8AD;HANGUL SYLLABLE JWAENI;Lo;0;L;;;;;N;;;;;
-C8AE;HANGUL SYLLABLE JWAENH;Lo;0;L;;;;;N;;;;;
-C8AF;HANGUL SYLLABLE JWAED;Lo;0;L;;;;;N;;;;;
-C8B0;HANGUL SYLLABLE JWAEL;Lo;0;L;;;;;N;;;;;
-C8B1;HANGUL SYLLABLE JWAELG;Lo;0;L;;;;;N;;;;;
-C8B2;HANGUL SYLLABLE JWAELM;Lo;0;L;;;;;N;;;;;
-C8B3;HANGUL SYLLABLE JWAELB;Lo;0;L;;;;;N;;;;;
-C8B4;HANGUL SYLLABLE JWAELS;Lo;0;L;;;;;N;;;;;
-C8B5;HANGUL SYLLABLE JWAELT;Lo;0;L;;;;;N;;;;;
-C8B6;HANGUL SYLLABLE JWAELP;Lo;0;L;;;;;N;;;;;
-C8B7;HANGUL SYLLABLE JWAELH;Lo;0;L;;;;;N;;;;;
-C8B8;HANGUL SYLLABLE JWAEM;Lo;0;L;;;;;N;;;;;
-C8B9;HANGUL SYLLABLE JWAEB;Lo;0;L;;;;;N;;;;;
-C8BA;HANGUL SYLLABLE JWAEBS;Lo;0;L;;;;;N;;;;;
-C8BB;HANGUL SYLLABLE JWAES;Lo;0;L;;;;;N;;;;;
-C8BC;HANGUL SYLLABLE JWAESS;Lo;0;L;;;;;N;;;;;
-C8BD;HANGUL SYLLABLE JWAENG;Lo;0;L;;;;;N;;;;;
-C8BE;HANGUL SYLLABLE JWAEJ;Lo;0;L;;;;;N;;;;;
-C8BF;HANGUL SYLLABLE JWAEC;Lo;0;L;;;;;N;;;;;
-C8C0;HANGUL SYLLABLE JWAEK;Lo;0;L;;;;;N;;;;;
-C8C1;HANGUL SYLLABLE JWAET;Lo;0;L;;;;;N;;;;;
-C8C2;HANGUL SYLLABLE JWAEP;Lo;0;L;;;;;N;;;;;
-C8C3;HANGUL SYLLABLE JWAEH;Lo;0;L;;;;;N;;;;;
-C8C4;HANGUL SYLLABLE JOE;Lo;0;L;;;;;N;;;;;
-C8C5;HANGUL SYLLABLE JOEG;Lo;0;L;;;;;N;;;;;
-C8C6;HANGUL SYLLABLE JOEGG;Lo;0;L;;;;;N;;;;;
-C8C7;HANGUL SYLLABLE JOEGS;Lo;0;L;;;;;N;;;;;
-C8C8;HANGUL SYLLABLE JOEN;Lo;0;L;;;;;N;;;;;
-C8C9;HANGUL SYLLABLE JOENI;Lo;0;L;;;;;N;;;;;
-C8CA;HANGUL SYLLABLE JOENH;Lo;0;L;;;;;N;;;;;
-C8CB;HANGUL SYLLABLE JOED;Lo;0;L;;;;;N;;;;;
-C8CC;HANGUL SYLLABLE JOEL;Lo;0;L;;;;;N;;;;;
-C8CD;HANGUL SYLLABLE JOELG;Lo;0;L;;;;;N;;;;;
-C8CE;HANGUL SYLLABLE JOELM;Lo;0;L;;;;;N;;;;;
-C8CF;HANGUL SYLLABLE JOELB;Lo;0;L;;;;;N;;;;;
-C8D0;HANGUL SYLLABLE JOELS;Lo;0;L;;;;;N;;;;;
-C8D1;HANGUL SYLLABLE JOELT;Lo;0;L;;;;;N;;;;;
-C8D2;HANGUL SYLLABLE JOELP;Lo;0;L;;;;;N;;;;;
-C8D3;HANGUL SYLLABLE JOELH;Lo;0;L;;;;;N;;;;;
-C8D4;HANGUL SYLLABLE JOEM;Lo;0;L;;;;;N;;;;;
-C8D5;HANGUL SYLLABLE JOEB;Lo;0;L;;;;;N;;;;;
-C8D6;HANGUL SYLLABLE JOEBS;Lo;0;L;;;;;N;;;;;
-C8D7;HANGUL SYLLABLE JOES;Lo;0;L;;;;;N;;;;;
-C8D8;HANGUL SYLLABLE JOESS;Lo;0;L;;;;;N;;;;;
-C8D9;HANGUL SYLLABLE JOENG;Lo;0;L;;;;;N;;;;;
-C8DA;HANGUL SYLLABLE JOEJ;Lo;0;L;;;;;N;;;;;
-C8DB;HANGUL SYLLABLE JOEC;Lo;0;L;;;;;N;;;;;
-C8DC;HANGUL SYLLABLE JOEK;Lo;0;L;;;;;N;;;;;
-C8DD;HANGUL SYLLABLE JOET;Lo;0;L;;;;;N;;;;;
-C8DE;HANGUL SYLLABLE JOEP;Lo;0;L;;;;;N;;;;;
-C8DF;HANGUL SYLLABLE JOEH;Lo;0;L;;;;;N;;;;;
-C8E0;HANGUL SYLLABLE JYO;Lo;0;L;;;;;N;;;;;
-C8E1;HANGUL SYLLABLE JYOG;Lo;0;L;;;;;N;;;;;
-C8E2;HANGUL SYLLABLE JYOGG;Lo;0;L;;;;;N;;;;;
-C8E3;HANGUL SYLLABLE JYOGS;Lo;0;L;;;;;N;;;;;
-C8E4;HANGUL SYLLABLE JYON;Lo;0;L;;;;;N;;;;;
-C8E5;HANGUL SYLLABLE JYONI;Lo;0;L;;;;;N;;;;;
-C8E6;HANGUL SYLLABLE JYONH;Lo;0;L;;;;;N;;;;;
-C8E7;HANGUL SYLLABLE JYOD;Lo;0;L;;;;;N;;;;;
-C8E8;HANGUL SYLLABLE JYOL;Lo;0;L;;;;;N;;;;;
-C8E9;HANGUL SYLLABLE JYOLG;Lo;0;L;;;;;N;;;;;
-C8EA;HANGUL SYLLABLE JYOLM;Lo;0;L;;;;;N;;;;;
-C8EB;HANGUL SYLLABLE JYOLB;Lo;0;L;;;;;N;;;;;
-C8EC;HANGUL SYLLABLE JYOLS;Lo;0;L;;;;;N;;;;;
-C8ED;HANGUL SYLLABLE JYOLT;Lo;0;L;;;;;N;;;;;
-C8EE;HANGUL SYLLABLE JYOLP;Lo;0;L;;;;;N;;;;;
-C8EF;HANGUL SYLLABLE JYOLH;Lo;0;L;;;;;N;;;;;
-C8F0;HANGUL SYLLABLE JYOM;Lo;0;L;;;;;N;;;;;
-C8F1;HANGUL SYLLABLE JYOB;Lo;0;L;;;;;N;;;;;
-C8F2;HANGUL SYLLABLE JYOBS;Lo;0;L;;;;;N;;;;;
-C8F3;HANGUL SYLLABLE JYOS;Lo;0;L;;;;;N;;;;;
-C8F4;HANGUL SYLLABLE JYOSS;Lo;0;L;;;;;N;;;;;
-C8F5;HANGUL SYLLABLE JYONG;Lo;0;L;;;;;N;;;;;
-C8F6;HANGUL SYLLABLE JYOJ;Lo;0;L;;;;;N;;;;;
-C8F7;HANGUL SYLLABLE JYOC;Lo;0;L;;;;;N;;;;;
-C8F8;HANGUL SYLLABLE JYOK;Lo;0;L;;;;;N;;;;;
-C8F9;HANGUL SYLLABLE JYOT;Lo;0;L;;;;;N;;;;;
-C8FA;HANGUL SYLLABLE JYOP;Lo;0;L;;;;;N;;;;;
-C8FB;HANGUL SYLLABLE JYOH;Lo;0;L;;;;;N;;;;;
-C8FC;HANGUL SYLLABLE JU;Lo;0;L;;;;;N;;;;;
-C8FD;HANGUL SYLLABLE JUG;Lo;0;L;;;;;N;;;;;
-C8FE;HANGUL SYLLABLE JUGG;Lo;0;L;;;;;N;;;;;
-C8FF;HANGUL SYLLABLE JUGS;Lo;0;L;;;;;N;;;;;
-C900;HANGUL SYLLABLE JUN;Lo;0;L;;;;;N;;;;;
-C901;HANGUL SYLLABLE JUNI;Lo;0;L;;;;;N;;;;;
-C902;HANGUL SYLLABLE JUNH;Lo;0;L;;;;;N;;;;;
-C903;HANGUL SYLLABLE JUD;Lo;0;L;;;;;N;;;;;
-C904;HANGUL SYLLABLE JUL;Lo;0;L;;;;;N;;;;;
-C905;HANGUL SYLLABLE JULG;Lo;0;L;;;;;N;;;;;
-C906;HANGUL SYLLABLE JULM;Lo;0;L;;;;;N;;;;;
-C907;HANGUL SYLLABLE JULB;Lo;0;L;;;;;N;;;;;
-C908;HANGUL SYLLABLE JULS;Lo;0;L;;;;;N;;;;;
-C909;HANGUL SYLLABLE JULT;Lo;0;L;;;;;N;;;;;
-C90A;HANGUL SYLLABLE JULP;Lo;0;L;;;;;N;;;;;
-C90B;HANGUL SYLLABLE JULH;Lo;0;L;;;;;N;;;;;
-C90C;HANGUL SYLLABLE JUM;Lo;0;L;;;;;N;;;;;
-C90D;HANGUL SYLLABLE JUB;Lo;0;L;;;;;N;;;;;
-C90E;HANGUL SYLLABLE JUBS;Lo;0;L;;;;;N;;;;;
-C90F;HANGUL SYLLABLE JUS;Lo;0;L;;;;;N;;;;;
-C910;HANGUL SYLLABLE JUSS;Lo;0;L;;;;;N;;;;;
-C911;HANGUL SYLLABLE JUNG;Lo;0;L;;;;;N;;;;;
-C912;HANGUL SYLLABLE JUJ;Lo;0;L;;;;;N;;;;;
-C913;HANGUL SYLLABLE JUC;Lo;0;L;;;;;N;;;;;
-C914;HANGUL SYLLABLE JUK;Lo;0;L;;;;;N;;;;;
-C915;HANGUL SYLLABLE JUT;Lo;0;L;;;;;N;;;;;
-C916;HANGUL SYLLABLE JUP;Lo;0;L;;;;;N;;;;;
-C917;HANGUL SYLLABLE JUH;Lo;0;L;;;;;N;;;;;
-C918;HANGUL SYLLABLE JWEO;Lo;0;L;;;;;N;;;;;
-C919;HANGUL SYLLABLE JWEOG;Lo;0;L;;;;;N;;;;;
-C91A;HANGUL SYLLABLE JWEOGG;Lo;0;L;;;;;N;;;;;
-C91B;HANGUL SYLLABLE JWEOGS;Lo;0;L;;;;;N;;;;;
-C91C;HANGUL SYLLABLE JWEON;Lo;0;L;;;;;N;;;;;
-C91D;HANGUL SYLLABLE JWEONI;Lo;0;L;;;;;N;;;;;
-C91E;HANGUL SYLLABLE JWEONH;Lo;0;L;;;;;N;;;;;
-C91F;HANGUL SYLLABLE JWEOD;Lo;0;L;;;;;N;;;;;
-C920;HANGUL SYLLABLE JWEOL;Lo;0;L;;;;;N;;;;;
-C921;HANGUL SYLLABLE JWEOLG;Lo;0;L;;;;;N;;;;;
-C922;HANGUL SYLLABLE JWEOLM;Lo;0;L;;;;;N;;;;;
-C923;HANGUL SYLLABLE JWEOLB;Lo;0;L;;;;;N;;;;;
-C924;HANGUL SYLLABLE JWEOLS;Lo;0;L;;;;;N;;;;;
-C925;HANGUL SYLLABLE JWEOLT;Lo;0;L;;;;;N;;;;;
-C926;HANGUL SYLLABLE JWEOLP;Lo;0;L;;;;;N;;;;;
-C927;HANGUL SYLLABLE JWEOLH;Lo;0;L;;;;;N;;;;;
-C928;HANGUL SYLLABLE JWEOM;Lo;0;L;;;;;N;;;;;
-C929;HANGUL SYLLABLE JWEOB;Lo;0;L;;;;;N;;;;;
-C92A;HANGUL SYLLABLE JWEOBS;Lo;0;L;;;;;N;;;;;
-C92B;HANGUL SYLLABLE JWEOS;Lo;0;L;;;;;N;;;;;
-C92C;HANGUL SYLLABLE JWEOSS;Lo;0;L;;;;;N;;;;;
-C92D;HANGUL SYLLABLE JWEONG;Lo;0;L;;;;;N;;;;;
-C92E;HANGUL SYLLABLE JWEOJ;Lo;0;L;;;;;N;;;;;
-C92F;HANGUL SYLLABLE JWEOC;Lo;0;L;;;;;N;;;;;
-C930;HANGUL SYLLABLE JWEOK;Lo;0;L;;;;;N;;;;;
-C931;HANGUL SYLLABLE JWEOT;Lo;0;L;;;;;N;;;;;
-C932;HANGUL SYLLABLE JWEOP;Lo;0;L;;;;;N;;;;;
-C933;HANGUL SYLLABLE JWEOH;Lo;0;L;;;;;N;;;;;
-C934;HANGUL SYLLABLE JWE;Lo;0;L;;;;;N;;;;;
-C935;HANGUL SYLLABLE JWEG;Lo;0;L;;;;;N;;;;;
-C936;HANGUL SYLLABLE JWEGG;Lo;0;L;;;;;N;;;;;
-C937;HANGUL SYLLABLE JWEGS;Lo;0;L;;;;;N;;;;;
-C938;HANGUL SYLLABLE JWEN;Lo;0;L;;;;;N;;;;;
-C939;HANGUL SYLLABLE JWENI;Lo;0;L;;;;;N;;;;;
-C93A;HANGUL SYLLABLE JWENH;Lo;0;L;;;;;N;;;;;
-C93B;HANGUL SYLLABLE JWED;Lo;0;L;;;;;N;;;;;
-C93C;HANGUL SYLLABLE JWEL;Lo;0;L;;;;;N;;;;;
-C93D;HANGUL SYLLABLE JWELG;Lo;0;L;;;;;N;;;;;
-C93E;HANGUL SYLLABLE JWELM;Lo;0;L;;;;;N;;;;;
-C93F;HANGUL SYLLABLE JWELB;Lo;0;L;;;;;N;;;;;
-C940;HANGUL SYLLABLE JWELS;Lo;0;L;;;;;N;;;;;
-C941;HANGUL SYLLABLE JWELT;Lo;0;L;;;;;N;;;;;
-C942;HANGUL SYLLABLE JWELP;Lo;0;L;;;;;N;;;;;
-C943;HANGUL SYLLABLE JWELH;Lo;0;L;;;;;N;;;;;
-C944;HANGUL SYLLABLE JWEM;Lo;0;L;;;;;N;;;;;
-C945;HANGUL SYLLABLE JWEB;Lo;0;L;;;;;N;;;;;
-C946;HANGUL SYLLABLE JWEBS;Lo;0;L;;;;;N;;;;;
-C947;HANGUL SYLLABLE JWES;Lo;0;L;;;;;N;;;;;
-C948;HANGUL SYLLABLE JWESS;Lo;0;L;;;;;N;;;;;
-C949;HANGUL SYLLABLE JWENG;Lo;0;L;;;;;N;;;;;
-C94A;HANGUL SYLLABLE JWEJ;Lo;0;L;;;;;N;;;;;
-C94B;HANGUL SYLLABLE JWEC;Lo;0;L;;;;;N;;;;;
-C94C;HANGUL SYLLABLE JWEK;Lo;0;L;;;;;N;;;;;
-C94D;HANGUL SYLLABLE JWET;Lo;0;L;;;;;N;;;;;
-C94E;HANGUL SYLLABLE JWEP;Lo;0;L;;;;;N;;;;;
-C94F;HANGUL SYLLABLE JWEH;Lo;0;L;;;;;N;;;;;
-C950;HANGUL SYLLABLE JWI;Lo;0;L;;;;;N;;;;;
-C951;HANGUL SYLLABLE JWIG;Lo;0;L;;;;;N;;;;;
-C952;HANGUL SYLLABLE JWIGG;Lo;0;L;;;;;N;;;;;
-C953;HANGUL SYLLABLE JWIGS;Lo;0;L;;;;;N;;;;;
-C954;HANGUL SYLLABLE JWIN;Lo;0;L;;;;;N;;;;;
-C955;HANGUL SYLLABLE JWINI;Lo;0;L;;;;;N;;;;;
-C956;HANGUL SYLLABLE JWINH;Lo;0;L;;;;;N;;;;;
-C957;HANGUL SYLLABLE JWID;Lo;0;L;;;;;N;;;;;
-C958;HANGUL SYLLABLE JWIL;Lo;0;L;;;;;N;;;;;
-C959;HANGUL SYLLABLE JWILG;Lo;0;L;;;;;N;;;;;
-C95A;HANGUL SYLLABLE JWILM;Lo;0;L;;;;;N;;;;;
-C95B;HANGUL SYLLABLE JWILB;Lo;0;L;;;;;N;;;;;
-C95C;HANGUL SYLLABLE JWILS;Lo;0;L;;;;;N;;;;;
-C95D;HANGUL SYLLABLE JWILT;Lo;0;L;;;;;N;;;;;
-C95E;HANGUL SYLLABLE JWILP;Lo;0;L;;;;;N;;;;;
-C95F;HANGUL SYLLABLE JWILH;Lo;0;L;;;;;N;;;;;
-C960;HANGUL SYLLABLE JWIM;Lo;0;L;;;;;N;;;;;
-C961;HANGUL SYLLABLE JWIB;Lo;0;L;;;;;N;;;;;
-C962;HANGUL SYLLABLE JWIBS;Lo;0;L;;;;;N;;;;;
-C963;HANGUL SYLLABLE JWIS;Lo;0;L;;;;;N;;;;;
-C964;HANGUL SYLLABLE JWISS;Lo;0;L;;;;;N;;;;;
-C965;HANGUL SYLLABLE JWING;Lo;0;L;;;;;N;;;;;
-C966;HANGUL SYLLABLE JWIJ;Lo;0;L;;;;;N;;;;;
-C967;HANGUL SYLLABLE JWIC;Lo;0;L;;;;;N;;;;;
-C968;HANGUL SYLLABLE JWIK;Lo;0;L;;;;;N;;;;;
-C969;HANGUL SYLLABLE JWIT;Lo;0;L;;;;;N;;;;;
-C96A;HANGUL SYLLABLE JWIP;Lo;0;L;;;;;N;;;;;
-C96B;HANGUL SYLLABLE JWIH;Lo;0;L;;;;;N;;;;;
-C96C;HANGUL SYLLABLE JYU;Lo;0;L;;;;;N;;;;;
-C96D;HANGUL SYLLABLE JYUG;Lo;0;L;;;;;N;;;;;
-C96E;HANGUL SYLLABLE JYUGG;Lo;0;L;;;;;N;;;;;
-C96F;HANGUL SYLLABLE JYUGS;Lo;0;L;;;;;N;;;;;
-C970;HANGUL SYLLABLE JYUN;Lo;0;L;;;;;N;;;;;
-C971;HANGUL SYLLABLE JYUNI;Lo;0;L;;;;;N;;;;;
-C972;HANGUL SYLLABLE JYUNH;Lo;0;L;;;;;N;;;;;
-C973;HANGUL SYLLABLE JYUD;Lo;0;L;;;;;N;;;;;
-C974;HANGUL SYLLABLE JYUL;Lo;0;L;;;;;N;;;;;
-C975;HANGUL SYLLABLE JYULG;Lo;0;L;;;;;N;;;;;
-C976;HANGUL SYLLABLE JYULM;Lo;0;L;;;;;N;;;;;
-C977;HANGUL SYLLABLE JYULB;Lo;0;L;;;;;N;;;;;
-C978;HANGUL SYLLABLE JYULS;Lo;0;L;;;;;N;;;;;
-C979;HANGUL SYLLABLE JYULT;Lo;0;L;;;;;N;;;;;
-C97A;HANGUL SYLLABLE JYULP;Lo;0;L;;;;;N;;;;;
-C97B;HANGUL SYLLABLE JYULH;Lo;0;L;;;;;N;;;;;
-C97C;HANGUL SYLLABLE JYUM;Lo;0;L;;;;;N;;;;;
-C97D;HANGUL SYLLABLE JYUB;Lo;0;L;;;;;N;;;;;
-C97E;HANGUL SYLLABLE JYUBS;Lo;0;L;;;;;N;;;;;
-C97F;HANGUL SYLLABLE JYUS;Lo;0;L;;;;;N;;;;;
-C980;HANGUL SYLLABLE JYUSS;Lo;0;L;;;;;N;;;;;
-C981;HANGUL SYLLABLE JYUNG;Lo;0;L;;;;;N;;;;;
-C982;HANGUL SYLLABLE JYUJ;Lo;0;L;;;;;N;;;;;
-C983;HANGUL SYLLABLE JYUC;Lo;0;L;;;;;N;;;;;
-C984;HANGUL SYLLABLE JYUK;Lo;0;L;;;;;N;;;;;
-C985;HANGUL SYLLABLE JYUT;Lo;0;L;;;;;N;;;;;
-C986;HANGUL SYLLABLE JYUP;Lo;0;L;;;;;N;;;;;
-C987;HANGUL SYLLABLE JYUH;Lo;0;L;;;;;N;;;;;
-C988;HANGUL SYLLABLE JEU;Lo;0;L;;;;;N;;;;;
-C989;HANGUL SYLLABLE JEUG;Lo;0;L;;;;;N;;;;;
-C98A;HANGUL SYLLABLE JEUGG;Lo;0;L;;;;;N;;;;;
-C98B;HANGUL SYLLABLE JEUGS;Lo;0;L;;;;;N;;;;;
-C98C;HANGUL SYLLABLE JEUN;Lo;0;L;;;;;N;;;;;
-C98D;HANGUL SYLLABLE JEUNI;Lo;0;L;;;;;N;;;;;
-C98E;HANGUL SYLLABLE JEUNH;Lo;0;L;;;;;N;;;;;
-C98F;HANGUL SYLLABLE JEUD;Lo;0;L;;;;;N;;;;;
-C990;HANGUL SYLLABLE JEUL;Lo;0;L;;;;;N;;;;;
-C991;HANGUL SYLLABLE JEULG;Lo;0;L;;;;;N;;;;;
-C992;HANGUL SYLLABLE JEULM;Lo;0;L;;;;;N;;;;;
-C993;HANGUL SYLLABLE JEULB;Lo;0;L;;;;;N;;;;;
-C994;HANGUL SYLLABLE JEULS;Lo;0;L;;;;;N;;;;;
-C995;HANGUL SYLLABLE JEULT;Lo;0;L;;;;;N;;;;;
-C996;HANGUL SYLLABLE JEULP;Lo;0;L;;;;;N;;;;;
-C997;HANGUL SYLLABLE JEULH;Lo;0;L;;;;;N;;;;;
-C998;HANGUL SYLLABLE JEUM;Lo;0;L;;;;;N;;;;;
-C999;HANGUL SYLLABLE JEUB;Lo;0;L;;;;;N;;;;;
-C99A;HANGUL SYLLABLE JEUBS;Lo;0;L;;;;;N;;;;;
-C99B;HANGUL SYLLABLE JEUS;Lo;0;L;;;;;N;;;;;
-C99C;HANGUL SYLLABLE JEUSS;Lo;0;L;;;;;N;;;;;
-C99D;HANGUL SYLLABLE JEUNG;Lo;0;L;;;;;N;;;;;
-C99E;HANGUL SYLLABLE JEUJ;Lo;0;L;;;;;N;;;;;
-C99F;HANGUL SYLLABLE JEUC;Lo;0;L;;;;;N;;;;;
-C9A0;HANGUL SYLLABLE JEUK;Lo;0;L;;;;;N;;;;;
-C9A1;HANGUL SYLLABLE JEUT;Lo;0;L;;;;;N;;;;;
-C9A2;HANGUL SYLLABLE JEUP;Lo;0;L;;;;;N;;;;;
-C9A3;HANGUL SYLLABLE JEUH;Lo;0;L;;;;;N;;;;;
-C9A4;HANGUL SYLLABLE JYI;Lo;0;L;;;;;N;;;;;
-C9A5;HANGUL SYLLABLE JYIG;Lo;0;L;;;;;N;;;;;
-C9A6;HANGUL SYLLABLE JYIGG;Lo;0;L;;;;;N;;;;;
-C9A7;HANGUL SYLLABLE JYIGS;Lo;0;L;;;;;N;;;;;
-C9A8;HANGUL SYLLABLE JYIN;Lo;0;L;;;;;N;;;;;
-C9A9;HANGUL SYLLABLE JYINI;Lo;0;L;;;;;N;;;;;
-C9AA;HANGUL SYLLABLE JYINH;Lo;0;L;;;;;N;;;;;
-C9AB;HANGUL SYLLABLE JYID;Lo;0;L;;;;;N;;;;;
-C9AC;HANGUL SYLLABLE JYIL;Lo;0;L;;;;;N;;;;;
-C9AD;HANGUL SYLLABLE JYILG;Lo;0;L;;;;;N;;;;;
-C9AE;HANGUL SYLLABLE JYILM;Lo;0;L;;;;;N;;;;;
-C9AF;HANGUL SYLLABLE JYILB;Lo;0;L;;;;;N;;;;;
-C9B0;HANGUL SYLLABLE JYILS;Lo;0;L;;;;;N;;;;;
-C9B1;HANGUL SYLLABLE JYILT;Lo;0;L;;;;;N;;;;;
-C9B2;HANGUL SYLLABLE JYILP;Lo;0;L;;;;;N;;;;;
-C9B3;HANGUL SYLLABLE JYILH;Lo;0;L;;;;;N;;;;;
-C9B4;HANGUL SYLLABLE JYIM;Lo;0;L;;;;;N;;;;;
-C9B5;HANGUL SYLLABLE JYIB;Lo;0;L;;;;;N;;;;;
-C9B6;HANGUL SYLLABLE JYIBS;Lo;0;L;;;;;N;;;;;
-C9B7;HANGUL SYLLABLE JYIS;Lo;0;L;;;;;N;;;;;
-C9B8;HANGUL SYLLABLE JYISS;Lo;0;L;;;;;N;;;;;
-C9B9;HANGUL SYLLABLE JYING;Lo;0;L;;;;;N;;;;;
-C9BA;HANGUL SYLLABLE JYIJ;Lo;0;L;;;;;N;;;;;
-C9BB;HANGUL SYLLABLE JYIC;Lo;0;L;;;;;N;;;;;
-C9BC;HANGUL SYLLABLE JYIK;Lo;0;L;;;;;N;;;;;
-C9BD;HANGUL SYLLABLE JYIT;Lo;0;L;;;;;N;;;;;
-C9BE;HANGUL SYLLABLE JYIP;Lo;0;L;;;;;N;;;;;
-C9BF;HANGUL SYLLABLE JYIH;Lo;0;L;;;;;N;;;;;
-C9C0;HANGUL SYLLABLE JI;Lo;0;L;;;;;N;;;;;
-C9C1;HANGUL SYLLABLE JIG;Lo;0;L;;;;;N;;;;;
-C9C2;HANGUL SYLLABLE JIGG;Lo;0;L;;;;;N;;;;;
-C9C3;HANGUL SYLLABLE JIGS;Lo;0;L;;;;;N;;;;;
-C9C4;HANGUL SYLLABLE JIN;Lo;0;L;;;;;N;;;;;
-C9C5;HANGUL SYLLABLE JINI;Lo;0;L;;;;;N;;;;;
-C9C6;HANGUL SYLLABLE JINH;Lo;0;L;;;;;N;;;;;
-C9C7;HANGUL SYLLABLE JID;Lo;0;L;;;;;N;;;;;
-C9C8;HANGUL SYLLABLE JIL;Lo;0;L;;;;;N;;;;;
-C9C9;HANGUL SYLLABLE JILG;Lo;0;L;;;;;N;;;;;
-C9CA;HANGUL SYLLABLE JILM;Lo;0;L;;;;;N;;;;;
-C9CB;HANGUL SYLLABLE JILB;Lo;0;L;;;;;N;;;;;
-C9CC;HANGUL SYLLABLE JILS;Lo;0;L;;;;;N;;;;;
-C9CD;HANGUL SYLLABLE JILT;Lo;0;L;;;;;N;;;;;
-C9CE;HANGUL SYLLABLE JILP;Lo;0;L;;;;;N;;;;;
-C9CF;HANGUL SYLLABLE JILH;Lo;0;L;;;;;N;;;;;
-C9D0;HANGUL SYLLABLE JIM;Lo;0;L;;;;;N;;;;;
-C9D1;HANGUL SYLLABLE JIB;Lo;0;L;;;;;N;;;;;
-C9D2;HANGUL SYLLABLE JIBS;Lo;0;L;;;;;N;;;;;
-C9D3;HANGUL SYLLABLE JIS;Lo;0;L;;;;;N;;;;;
-C9D4;HANGUL SYLLABLE JISS;Lo;0;L;;;;;N;;;;;
-C9D5;HANGUL SYLLABLE JING;Lo;0;L;;;;;N;;;;;
-C9D6;HANGUL SYLLABLE JIJ;Lo;0;L;;;;;N;;;;;
-C9D7;HANGUL SYLLABLE JIC;Lo;0;L;;;;;N;;;;;
-C9D8;HANGUL SYLLABLE JIK;Lo;0;L;;;;;N;;;;;
-C9D9;HANGUL SYLLABLE JIT;Lo;0;L;;;;;N;;;;;
-C9DA;HANGUL SYLLABLE JIP;Lo;0;L;;;;;N;;;;;
-C9DB;HANGUL SYLLABLE JIH;Lo;0;L;;;;;N;;;;;
-C9DC;HANGUL SYLLABLE JJA;Lo;0;L;;;;;N;;;;;
-C9DD;HANGUL SYLLABLE JJAG;Lo;0;L;;;;;N;;;;;
-C9DE;HANGUL SYLLABLE JJAGG;Lo;0;L;;;;;N;;;;;
-C9DF;HANGUL SYLLABLE JJAGS;Lo;0;L;;;;;N;;;;;
-C9E0;HANGUL SYLLABLE JJAN;Lo;0;L;;;;;N;;;;;
-C9E1;HANGUL SYLLABLE JJANI;Lo;0;L;;;;;N;;;;;
-C9E2;HANGUL SYLLABLE JJANH;Lo;0;L;;;;;N;;;;;
-C9E3;HANGUL SYLLABLE JJAD;Lo;0;L;;;;;N;;;;;
-C9E4;HANGUL SYLLABLE JJAL;Lo;0;L;;;;;N;;;;;
-C9E5;HANGUL SYLLABLE JJALG;Lo;0;L;;;;;N;;;;;
-C9E6;HANGUL SYLLABLE JJALM;Lo;0;L;;;;;N;;;;;
-C9E7;HANGUL SYLLABLE JJALB;Lo;0;L;;;;;N;;;;;
-C9E8;HANGUL SYLLABLE JJALS;Lo;0;L;;;;;N;;;;;
-C9E9;HANGUL SYLLABLE JJALT;Lo;0;L;;;;;N;;;;;
-C9EA;HANGUL SYLLABLE JJALP;Lo;0;L;;;;;N;;;;;
-C9EB;HANGUL SYLLABLE JJALH;Lo;0;L;;;;;N;;;;;
-C9EC;HANGUL SYLLABLE JJAM;Lo;0;L;;;;;N;;;;;
-C9ED;HANGUL SYLLABLE JJAB;Lo;0;L;;;;;N;;;;;
-C9EE;HANGUL SYLLABLE JJABS;Lo;0;L;;;;;N;;;;;
-C9EF;HANGUL SYLLABLE JJAS;Lo;0;L;;;;;N;;;;;
-C9F0;HANGUL SYLLABLE JJASS;Lo;0;L;;;;;N;;;;;
-C9F1;HANGUL SYLLABLE JJANG;Lo;0;L;;;;;N;;;;;
-C9F2;HANGUL SYLLABLE JJAJ;Lo;0;L;;;;;N;;;;;
-C9F3;HANGUL SYLLABLE JJAC;Lo;0;L;;;;;N;;;;;
-C9F4;HANGUL SYLLABLE JJAK;Lo;0;L;;;;;N;;;;;
-C9F5;HANGUL SYLLABLE JJAT;Lo;0;L;;;;;N;;;;;
-C9F6;HANGUL SYLLABLE JJAP;Lo;0;L;;;;;N;;;;;
-C9F7;HANGUL SYLLABLE JJAH;Lo;0;L;;;;;N;;;;;
-C9F8;HANGUL SYLLABLE JJAE;Lo;0;L;;;;;N;;;;;
-C9F9;HANGUL SYLLABLE JJAEG;Lo;0;L;;;;;N;;;;;
-C9FA;HANGUL SYLLABLE JJAEGG;Lo;0;L;;;;;N;;;;;
-C9FB;HANGUL SYLLABLE JJAEGS;Lo;0;L;;;;;N;;;;;
-C9FC;HANGUL SYLLABLE JJAEN;Lo;0;L;;;;;N;;;;;
-C9FD;HANGUL SYLLABLE JJAENI;Lo;0;L;;;;;N;;;;;
-C9FE;HANGUL SYLLABLE JJAENH;Lo;0;L;;;;;N;;;;;
-C9FF;HANGUL SYLLABLE JJAED;Lo;0;L;;;;;N;;;;;
-CA00;HANGUL SYLLABLE JJAEL;Lo;0;L;;;;;N;;;;;
-CA01;HANGUL SYLLABLE JJAELG;Lo;0;L;;;;;N;;;;;
-CA02;HANGUL SYLLABLE JJAELM;Lo;0;L;;;;;N;;;;;
-CA03;HANGUL SYLLABLE JJAELB;Lo;0;L;;;;;N;;;;;
-CA04;HANGUL SYLLABLE JJAELS;Lo;0;L;;;;;N;;;;;
-CA05;HANGUL SYLLABLE JJAELT;Lo;0;L;;;;;N;;;;;
-CA06;HANGUL SYLLABLE JJAELP;Lo;0;L;;;;;N;;;;;
-CA07;HANGUL SYLLABLE JJAELH;Lo;0;L;;;;;N;;;;;
-CA08;HANGUL SYLLABLE JJAEM;Lo;0;L;;;;;N;;;;;
-CA09;HANGUL SYLLABLE JJAEB;Lo;0;L;;;;;N;;;;;
-CA0A;HANGUL SYLLABLE JJAEBS;Lo;0;L;;;;;N;;;;;
-CA0B;HANGUL SYLLABLE JJAES;Lo;0;L;;;;;N;;;;;
-CA0C;HANGUL SYLLABLE JJAESS;Lo;0;L;;;;;N;;;;;
-CA0D;HANGUL SYLLABLE JJAENG;Lo;0;L;;;;;N;;;;;
-CA0E;HANGUL SYLLABLE JJAEJ;Lo;0;L;;;;;N;;;;;
-CA0F;HANGUL SYLLABLE JJAEC;Lo;0;L;;;;;N;;;;;
-CA10;HANGUL SYLLABLE JJAEK;Lo;0;L;;;;;N;;;;;
-CA11;HANGUL SYLLABLE JJAET;Lo;0;L;;;;;N;;;;;
-CA12;HANGUL SYLLABLE JJAEP;Lo;0;L;;;;;N;;;;;
-CA13;HANGUL SYLLABLE JJAEH;Lo;0;L;;;;;N;;;;;
-CA14;HANGUL SYLLABLE JJYA;Lo;0;L;;;;;N;;;;;
-CA15;HANGUL SYLLABLE JJYAG;Lo;0;L;;;;;N;;;;;
-CA16;HANGUL SYLLABLE JJYAGG;Lo;0;L;;;;;N;;;;;
-CA17;HANGUL SYLLABLE JJYAGS;Lo;0;L;;;;;N;;;;;
-CA18;HANGUL SYLLABLE JJYAN;Lo;0;L;;;;;N;;;;;
-CA19;HANGUL SYLLABLE JJYANI;Lo;0;L;;;;;N;;;;;
-CA1A;HANGUL SYLLABLE JJYANH;Lo;0;L;;;;;N;;;;;
-CA1B;HANGUL SYLLABLE JJYAD;Lo;0;L;;;;;N;;;;;
-CA1C;HANGUL SYLLABLE JJYAL;Lo;0;L;;;;;N;;;;;
-CA1D;HANGUL SYLLABLE JJYALG;Lo;0;L;;;;;N;;;;;
-CA1E;HANGUL SYLLABLE JJYALM;Lo;0;L;;;;;N;;;;;
-CA1F;HANGUL SYLLABLE JJYALB;Lo;0;L;;;;;N;;;;;
-CA20;HANGUL SYLLABLE JJYALS;Lo;0;L;;;;;N;;;;;
-CA21;HANGUL SYLLABLE JJYALT;Lo;0;L;;;;;N;;;;;
-CA22;HANGUL SYLLABLE JJYALP;Lo;0;L;;;;;N;;;;;
-CA23;HANGUL SYLLABLE JJYALH;Lo;0;L;;;;;N;;;;;
-CA24;HANGUL SYLLABLE JJYAM;Lo;0;L;;;;;N;;;;;
-CA25;HANGUL SYLLABLE JJYAB;Lo;0;L;;;;;N;;;;;
-CA26;HANGUL SYLLABLE JJYABS;Lo;0;L;;;;;N;;;;;
-CA27;HANGUL SYLLABLE JJYAS;Lo;0;L;;;;;N;;;;;
-CA28;HANGUL SYLLABLE JJYASS;Lo;0;L;;;;;N;;;;;
-CA29;HANGUL SYLLABLE JJYANG;Lo;0;L;;;;;N;;;;;
-CA2A;HANGUL SYLLABLE JJYAJ;Lo;0;L;;;;;N;;;;;
-CA2B;HANGUL SYLLABLE JJYAC;Lo;0;L;;;;;N;;;;;
-CA2C;HANGUL SYLLABLE JJYAK;Lo;0;L;;;;;N;;;;;
-CA2D;HANGUL SYLLABLE JJYAT;Lo;0;L;;;;;N;;;;;
-CA2E;HANGUL SYLLABLE JJYAP;Lo;0;L;;;;;N;;;;;
-CA2F;HANGUL SYLLABLE JJYAH;Lo;0;L;;;;;N;;;;;
-CA30;HANGUL SYLLABLE JJYAE;Lo;0;L;;;;;N;;;;;
-CA31;HANGUL SYLLABLE JJYAEG;Lo;0;L;;;;;N;;;;;
-CA32;HANGUL SYLLABLE JJYAEGG;Lo;0;L;;;;;N;;;;;
-CA33;HANGUL SYLLABLE JJYAEGS;Lo;0;L;;;;;N;;;;;
-CA34;HANGUL SYLLABLE JJYAEN;Lo;0;L;;;;;N;;;;;
-CA35;HANGUL SYLLABLE JJYAENI;Lo;0;L;;;;;N;;;;;
-CA36;HANGUL SYLLABLE JJYAENH;Lo;0;L;;;;;N;;;;;
-CA37;HANGUL SYLLABLE JJYAED;Lo;0;L;;;;;N;;;;;
-CA38;HANGUL SYLLABLE JJYAEL;Lo;0;L;;;;;N;;;;;
-CA39;HANGUL SYLLABLE JJYAELG;Lo;0;L;;;;;N;;;;;
-CA3A;HANGUL SYLLABLE JJYAELM;Lo;0;L;;;;;N;;;;;
-CA3B;HANGUL SYLLABLE JJYAELB;Lo;0;L;;;;;N;;;;;
-CA3C;HANGUL SYLLABLE JJYAELS;Lo;0;L;;;;;N;;;;;
-CA3D;HANGUL SYLLABLE JJYAELT;Lo;0;L;;;;;N;;;;;
-CA3E;HANGUL SYLLABLE JJYAELP;Lo;0;L;;;;;N;;;;;
-CA3F;HANGUL SYLLABLE JJYAELH;Lo;0;L;;;;;N;;;;;
-CA40;HANGUL SYLLABLE JJYAEM;Lo;0;L;;;;;N;;;;;
-CA41;HANGUL SYLLABLE JJYAEB;Lo;0;L;;;;;N;;;;;
-CA42;HANGUL SYLLABLE JJYAEBS;Lo;0;L;;;;;N;;;;;
-CA43;HANGUL SYLLABLE JJYAES;Lo;0;L;;;;;N;;;;;
-CA44;HANGUL SYLLABLE JJYAESS;Lo;0;L;;;;;N;;;;;
-CA45;HANGUL SYLLABLE JJYAENG;Lo;0;L;;;;;N;;;;;
-CA46;HANGUL SYLLABLE JJYAEJ;Lo;0;L;;;;;N;;;;;
-CA47;HANGUL SYLLABLE JJYAEC;Lo;0;L;;;;;N;;;;;
-CA48;HANGUL SYLLABLE JJYAEK;Lo;0;L;;;;;N;;;;;
-CA49;HANGUL SYLLABLE JJYAET;Lo;0;L;;;;;N;;;;;
-CA4A;HANGUL SYLLABLE JJYAEP;Lo;0;L;;;;;N;;;;;
-CA4B;HANGUL SYLLABLE JJYAEH;Lo;0;L;;;;;N;;;;;
-CA4C;HANGUL SYLLABLE JJEO;Lo;0;L;;;;;N;;;;;
-CA4D;HANGUL SYLLABLE JJEOG;Lo;0;L;;;;;N;;;;;
-CA4E;HANGUL SYLLABLE JJEOGG;Lo;0;L;;;;;N;;;;;
-CA4F;HANGUL SYLLABLE JJEOGS;Lo;0;L;;;;;N;;;;;
-CA50;HANGUL SYLLABLE JJEON;Lo;0;L;;;;;N;;;;;
-CA51;HANGUL SYLLABLE JJEONI;Lo;0;L;;;;;N;;;;;
-CA52;HANGUL SYLLABLE JJEONH;Lo;0;L;;;;;N;;;;;
-CA53;HANGUL SYLLABLE JJEOD;Lo;0;L;;;;;N;;;;;
-CA54;HANGUL SYLLABLE JJEOL;Lo;0;L;;;;;N;;;;;
-CA55;HANGUL SYLLABLE JJEOLG;Lo;0;L;;;;;N;;;;;
-CA56;HANGUL SYLLABLE JJEOLM;Lo;0;L;;;;;N;;;;;
-CA57;HANGUL SYLLABLE JJEOLB;Lo;0;L;;;;;N;;;;;
-CA58;HANGUL SYLLABLE JJEOLS;Lo;0;L;;;;;N;;;;;
-CA59;HANGUL SYLLABLE JJEOLT;Lo;0;L;;;;;N;;;;;
-CA5A;HANGUL SYLLABLE JJEOLP;Lo;0;L;;;;;N;;;;;
-CA5B;HANGUL SYLLABLE JJEOLH;Lo;0;L;;;;;N;;;;;
-CA5C;HANGUL SYLLABLE JJEOM;Lo;0;L;;;;;N;;;;;
-CA5D;HANGUL SYLLABLE JJEOB;Lo;0;L;;;;;N;;;;;
-CA5E;HANGUL SYLLABLE JJEOBS;Lo;0;L;;;;;N;;;;;
-CA5F;HANGUL SYLLABLE JJEOS;Lo;0;L;;;;;N;;;;;
-CA60;HANGUL SYLLABLE JJEOSS;Lo;0;L;;;;;N;;;;;
-CA61;HANGUL SYLLABLE JJEONG;Lo;0;L;;;;;N;;;;;
-CA62;HANGUL SYLLABLE JJEOJ;Lo;0;L;;;;;N;;;;;
-CA63;HANGUL SYLLABLE JJEOC;Lo;0;L;;;;;N;;;;;
-CA64;HANGUL SYLLABLE JJEOK;Lo;0;L;;;;;N;;;;;
-CA65;HANGUL SYLLABLE JJEOT;Lo;0;L;;;;;N;;;;;
-CA66;HANGUL SYLLABLE JJEOP;Lo;0;L;;;;;N;;;;;
-CA67;HANGUL SYLLABLE JJEOH;Lo;0;L;;;;;N;;;;;
-CA68;HANGUL SYLLABLE JJE;Lo;0;L;;;;;N;;;;;
-CA69;HANGUL SYLLABLE JJEG;Lo;0;L;;;;;N;;;;;
-CA6A;HANGUL SYLLABLE JJEGG;Lo;0;L;;;;;N;;;;;
-CA6B;HANGUL SYLLABLE JJEGS;Lo;0;L;;;;;N;;;;;
-CA6C;HANGUL SYLLABLE JJEN;Lo;0;L;;;;;N;;;;;
-CA6D;HANGUL SYLLABLE JJENI;Lo;0;L;;;;;N;;;;;
-CA6E;HANGUL SYLLABLE JJENH;Lo;0;L;;;;;N;;;;;
-CA6F;HANGUL SYLLABLE JJED;Lo;0;L;;;;;N;;;;;
-CA70;HANGUL SYLLABLE JJEL;Lo;0;L;;;;;N;;;;;
-CA71;HANGUL SYLLABLE JJELG;Lo;0;L;;;;;N;;;;;
-CA72;HANGUL SYLLABLE JJELM;Lo;0;L;;;;;N;;;;;
-CA73;HANGUL SYLLABLE JJELB;Lo;0;L;;;;;N;;;;;
-CA74;HANGUL SYLLABLE JJELS;Lo;0;L;;;;;N;;;;;
-CA75;HANGUL SYLLABLE JJELT;Lo;0;L;;;;;N;;;;;
-CA76;HANGUL SYLLABLE JJELP;Lo;0;L;;;;;N;;;;;
-CA77;HANGUL SYLLABLE JJELH;Lo;0;L;;;;;N;;;;;
-CA78;HANGUL SYLLABLE JJEM;Lo;0;L;;;;;N;;;;;
-CA79;HANGUL SYLLABLE JJEB;Lo;0;L;;;;;N;;;;;
-CA7A;HANGUL SYLLABLE JJEBS;Lo;0;L;;;;;N;;;;;
-CA7B;HANGUL SYLLABLE JJES;Lo;0;L;;;;;N;;;;;
-CA7C;HANGUL SYLLABLE JJESS;Lo;0;L;;;;;N;;;;;
-CA7D;HANGUL SYLLABLE JJENG;Lo;0;L;;;;;N;;;;;
-CA7E;HANGUL SYLLABLE JJEJ;Lo;0;L;;;;;N;;;;;
-CA7F;HANGUL SYLLABLE JJEC;Lo;0;L;;;;;N;;;;;
-CA80;HANGUL SYLLABLE JJEK;Lo;0;L;;;;;N;;;;;
-CA81;HANGUL SYLLABLE JJET;Lo;0;L;;;;;N;;;;;
-CA82;HANGUL SYLLABLE JJEP;Lo;0;L;;;;;N;;;;;
-CA83;HANGUL SYLLABLE JJEH;Lo;0;L;;;;;N;;;;;
-CA84;HANGUL SYLLABLE JJYEO;Lo;0;L;;;;;N;;;;;
-CA85;HANGUL SYLLABLE JJYEOG;Lo;0;L;;;;;N;;;;;
-CA86;HANGUL SYLLABLE JJYEOGG;Lo;0;L;;;;;N;;;;;
-CA87;HANGUL SYLLABLE JJYEOGS;Lo;0;L;;;;;N;;;;;
-CA88;HANGUL SYLLABLE JJYEON;Lo;0;L;;;;;N;;;;;
-CA89;HANGUL SYLLABLE JJYEONI;Lo;0;L;;;;;N;;;;;
-CA8A;HANGUL SYLLABLE JJYEONH;Lo;0;L;;;;;N;;;;;
-CA8B;HANGUL SYLLABLE JJYEOD;Lo;0;L;;;;;N;;;;;
-CA8C;HANGUL SYLLABLE JJYEOL;Lo;0;L;;;;;N;;;;;
-CA8D;HANGUL SYLLABLE JJYEOLG;Lo;0;L;;;;;N;;;;;
-CA8E;HANGUL SYLLABLE JJYEOLM;Lo;0;L;;;;;N;;;;;
-CA8F;HANGUL SYLLABLE JJYEOLB;Lo;0;L;;;;;N;;;;;
-CA90;HANGUL SYLLABLE JJYEOLS;Lo;0;L;;;;;N;;;;;
-CA91;HANGUL SYLLABLE JJYEOLT;Lo;0;L;;;;;N;;;;;
-CA92;HANGUL SYLLABLE JJYEOLP;Lo;0;L;;;;;N;;;;;
-CA93;HANGUL SYLLABLE JJYEOLH;Lo;0;L;;;;;N;;;;;
-CA94;HANGUL SYLLABLE JJYEOM;Lo;0;L;;;;;N;;;;;
-CA95;HANGUL SYLLABLE JJYEOB;Lo;0;L;;;;;N;;;;;
-CA96;HANGUL SYLLABLE JJYEOBS;Lo;0;L;;;;;N;;;;;
-CA97;HANGUL SYLLABLE JJYEOS;Lo;0;L;;;;;N;;;;;
-CA98;HANGUL SYLLABLE JJYEOSS;Lo;0;L;;;;;N;;;;;
-CA99;HANGUL SYLLABLE JJYEONG;Lo;0;L;;;;;N;;;;;
-CA9A;HANGUL SYLLABLE JJYEOJ;Lo;0;L;;;;;N;;;;;
-CA9B;HANGUL SYLLABLE JJYEOC;Lo;0;L;;;;;N;;;;;
-CA9C;HANGUL SYLLABLE JJYEOK;Lo;0;L;;;;;N;;;;;
-CA9D;HANGUL SYLLABLE JJYEOT;Lo;0;L;;;;;N;;;;;
-CA9E;HANGUL SYLLABLE JJYEOP;Lo;0;L;;;;;N;;;;;
-CA9F;HANGUL SYLLABLE JJYEOH;Lo;0;L;;;;;N;;;;;
-CAA0;HANGUL SYLLABLE JJYE;Lo;0;L;;;;;N;;;;;
-CAA1;HANGUL SYLLABLE JJYEG;Lo;0;L;;;;;N;;;;;
-CAA2;HANGUL SYLLABLE JJYEGG;Lo;0;L;;;;;N;;;;;
-CAA3;HANGUL SYLLABLE JJYEGS;Lo;0;L;;;;;N;;;;;
-CAA4;HANGUL SYLLABLE JJYEN;Lo;0;L;;;;;N;;;;;
-CAA5;HANGUL SYLLABLE JJYENI;Lo;0;L;;;;;N;;;;;
-CAA6;HANGUL SYLLABLE JJYENH;Lo;0;L;;;;;N;;;;;
-CAA7;HANGUL SYLLABLE JJYED;Lo;0;L;;;;;N;;;;;
-CAA8;HANGUL SYLLABLE JJYEL;Lo;0;L;;;;;N;;;;;
-CAA9;HANGUL SYLLABLE JJYELG;Lo;0;L;;;;;N;;;;;
-CAAA;HANGUL SYLLABLE JJYELM;Lo;0;L;;;;;N;;;;;
-CAAB;HANGUL SYLLABLE JJYELB;Lo;0;L;;;;;N;;;;;
-CAAC;HANGUL SYLLABLE JJYELS;Lo;0;L;;;;;N;;;;;
-CAAD;HANGUL SYLLABLE JJYELT;Lo;0;L;;;;;N;;;;;
-CAAE;HANGUL SYLLABLE JJYELP;Lo;0;L;;;;;N;;;;;
-CAAF;HANGUL SYLLABLE JJYELH;Lo;0;L;;;;;N;;;;;
-CAB0;HANGUL SYLLABLE JJYEM;Lo;0;L;;;;;N;;;;;
-CAB1;HANGUL SYLLABLE JJYEB;Lo;0;L;;;;;N;;;;;
-CAB2;HANGUL SYLLABLE JJYEBS;Lo;0;L;;;;;N;;;;;
-CAB3;HANGUL SYLLABLE JJYES;Lo;0;L;;;;;N;;;;;
-CAB4;HANGUL SYLLABLE JJYESS;Lo;0;L;;;;;N;;;;;
-CAB5;HANGUL SYLLABLE JJYENG;Lo;0;L;;;;;N;;;;;
-CAB6;HANGUL SYLLABLE JJYEJ;Lo;0;L;;;;;N;;;;;
-CAB7;HANGUL SYLLABLE JJYEC;Lo;0;L;;;;;N;;;;;
-CAB8;HANGUL SYLLABLE JJYEK;Lo;0;L;;;;;N;;;;;
-CAB9;HANGUL SYLLABLE JJYET;Lo;0;L;;;;;N;;;;;
-CABA;HANGUL SYLLABLE JJYEP;Lo;0;L;;;;;N;;;;;
-CABB;HANGUL SYLLABLE JJYEH;Lo;0;L;;;;;N;;;;;
-CABC;HANGUL SYLLABLE JJO;Lo;0;L;;;;;N;;;;;
-CABD;HANGUL SYLLABLE JJOG;Lo;0;L;;;;;N;;;;;
-CABE;HANGUL SYLLABLE JJOGG;Lo;0;L;;;;;N;;;;;
-CABF;HANGUL SYLLABLE JJOGS;Lo;0;L;;;;;N;;;;;
-CAC0;HANGUL SYLLABLE JJON;Lo;0;L;;;;;N;;;;;
-CAC1;HANGUL SYLLABLE JJONI;Lo;0;L;;;;;N;;;;;
-CAC2;HANGUL SYLLABLE JJONH;Lo;0;L;;;;;N;;;;;
-CAC3;HANGUL SYLLABLE JJOD;Lo;0;L;;;;;N;;;;;
-CAC4;HANGUL SYLLABLE JJOL;Lo;0;L;;;;;N;;;;;
-CAC5;HANGUL SYLLABLE JJOLG;Lo;0;L;;;;;N;;;;;
-CAC6;HANGUL SYLLABLE JJOLM;Lo;0;L;;;;;N;;;;;
-CAC7;HANGUL SYLLABLE JJOLB;Lo;0;L;;;;;N;;;;;
-CAC8;HANGUL SYLLABLE JJOLS;Lo;0;L;;;;;N;;;;;
-CAC9;HANGUL SYLLABLE JJOLT;Lo;0;L;;;;;N;;;;;
-CACA;HANGUL SYLLABLE JJOLP;Lo;0;L;;;;;N;;;;;
-CACB;HANGUL SYLLABLE JJOLH;Lo;0;L;;;;;N;;;;;
-CACC;HANGUL SYLLABLE JJOM;Lo;0;L;;;;;N;;;;;
-CACD;HANGUL SYLLABLE JJOB;Lo;0;L;;;;;N;;;;;
-CACE;HANGUL SYLLABLE JJOBS;Lo;0;L;;;;;N;;;;;
-CACF;HANGUL SYLLABLE JJOS;Lo;0;L;;;;;N;;;;;
-CAD0;HANGUL SYLLABLE JJOSS;Lo;0;L;;;;;N;;;;;
-CAD1;HANGUL SYLLABLE JJONG;Lo;0;L;;;;;N;;;;;
-CAD2;HANGUL SYLLABLE JJOJ;Lo;0;L;;;;;N;;;;;
-CAD3;HANGUL SYLLABLE JJOC;Lo;0;L;;;;;N;;;;;
-CAD4;HANGUL SYLLABLE JJOK;Lo;0;L;;;;;N;;;;;
-CAD5;HANGUL SYLLABLE JJOT;Lo;0;L;;;;;N;;;;;
-CAD6;HANGUL SYLLABLE JJOP;Lo;0;L;;;;;N;;;;;
-CAD7;HANGUL SYLLABLE JJOH;Lo;0;L;;;;;N;;;;;
-CAD8;HANGUL SYLLABLE JJWA;Lo;0;L;;;;;N;;;;;
-CAD9;HANGUL SYLLABLE JJWAG;Lo;0;L;;;;;N;;;;;
-CADA;HANGUL SYLLABLE JJWAGG;Lo;0;L;;;;;N;;;;;
-CADB;HANGUL SYLLABLE JJWAGS;Lo;0;L;;;;;N;;;;;
-CADC;HANGUL SYLLABLE JJWAN;Lo;0;L;;;;;N;;;;;
-CADD;HANGUL SYLLABLE JJWANI;Lo;0;L;;;;;N;;;;;
-CADE;HANGUL SYLLABLE JJWANH;Lo;0;L;;;;;N;;;;;
-CADF;HANGUL SYLLABLE JJWAD;Lo;0;L;;;;;N;;;;;
-CAE0;HANGUL SYLLABLE JJWAL;Lo;0;L;;;;;N;;;;;
-CAE1;HANGUL SYLLABLE JJWALG;Lo;0;L;;;;;N;;;;;
-CAE2;HANGUL SYLLABLE JJWALM;Lo;0;L;;;;;N;;;;;
-CAE3;HANGUL SYLLABLE JJWALB;Lo;0;L;;;;;N;;;;;
-CAE4;HANGUL SYLLABLE JJWALS;Lo;0;L;;;;;N;;;;;
-CAE5;HANGUL SYLLABLE JJWALT;Lo;0;L;;;;;N;;;;;
-CAE6;HANGUL SYLLABLE JJWALP;Lo;0;L;;;;;N;;;;;
-CAE7;HANGUL SYLLABLE JJWALH;Lo;0;L;;;;;N;;;;;
-CAE8;HANGUL SYLLABLE JJWAM;Lo;0;L;;;;;N;;;;;
-CAE9;HANGUL SYLLABLE JJWAB;Lo;0;L;;;;;N;;;;;
-CAEA;HANGUL SYLLABLE JJWABS;Lo;0;L;;;;;N;;;;;
-CAEB;HANGUL SYLLABLE JJWAS;Lo;0;L;;;;;N;;;;;
-CAEC;HANGUL SYLLABLE JJWASS;Lo;0;L;;;;;N;;;;;
-CAED;HANGUL SYLLABLE JJWANG;Lo;0;L;;;;;N;;;;;
-CAEE;HANGUL SYLLABLE JJWAJ;Lo;0;L;;;;;N;;;;;
-CAEF;HANGUL SYLLABLE JJWAC;Lo;0;L;;;;;N;;;;;
-CAF0;HANGUL SYLLABLE JJWAK;Lo;0;L;;;;;N;;;;;
-CAF1;HANGUL SYLLABLE JJWAT;Lo;0;L;;;;;N;;;;;
-CAF2;HANGUL SYLLABLE JJWAP;Lo;0;L;;;;;N;;;;;
-CAF3;HANGUL SYLLABLE JJWAH;Lo;0;L;;;;;N;;;;;
-CAF4;HANGUL SYLLABLE JJWAE;Lo;0;L;;;;;N;;;;;
-CAF5;HANGUL SYLLABLE JJWAEG;Lo;0;L;;;;;N;;;;;
-CAF6;HANGUL SYLLABLE JJWAEGG;Lo;0;L;;;;;N;;;;;
-CAF7;HANGUL SYLLABLE JJWAEGS;Lo;0;L;;;;;N;;;;;
-CAF8;HANGUL SYLLABLE JJWAEN;Lo;0;L;;;;;N;;;;;
-CAF9;HANGUL SYLLABLE JJWAENI;Lo;0;L;;;;;N;;;;;
-CAFA;HANGUL SYLLABLE JJWAENH;Lo;0;L;;;;;N;;;;;
-CAFB;HANGUL SYLLABLE JJWAED;Lo;0;L;;;;;N;;;;;
-CAFC;HANGUL SYLLABLE JJWAEL;Lo;0;L;;;;;N;;;;;
-CAFD;HANGUL SYLLABLE JJWAELG;Lo;0;L;;;;;N;;;;;
-CAFE;HANGUL SYLLABLE JJWAELM;Lo;0;L;;;;;N;;;;;
-CAFF;HANGUL SYLLABLE JJWAELB;Lo;0;L;;;;;N;;;;;
-CB00;HANGUL SYLLABLE JJWAELS;Lo;0;L;;;;;N;;;;;
-CB01;HANGUL SYLLABLE JJWAELT;Lo;0;L;;;;;N;;;;;
-CB02;HANGUL SYLLABLE JJWAELP;Lo;0;L;;;;;N;;;;;
-CB03;HANGUL SYLLABLE JJWAELH;Lo;0;L;;;;;N;;;;;
-CB04;HANGUL SYLLABLE JJWAEM;Lo;0;L;;;;;N;;;;;
-CB05;HANGUL SYLLABLE JJWAEB;Lo;0;L;;;;;N;;;;;
-CB06;HANGUL SYLLABLE JJWAEBS;Lo;0;L;;;;;N;;;;;
-CB07;HANGUL SYLLABLE JJWAES;Lo;0;L;;;;;N;;;;;
-CB08;HANGUL SYLLABLE JJWAESS;Lo;0;L;;;;;N;;;;;
-CB09;HANGUL SYLLABLE JJWAENG;Lo;0;L;;;;;N;;;;;
-CB0A;HANGUL SYLLABLE JJWAEJ;Lo;0;L;;;;;N;;;;;
-CB0B;HANGUL SYLLABLE JJWAEC;Lo;0;L;;;;;N;;;;;
-CB0C;HANGUL SYLLABLE JJWAEK;Lo;0;L;;;;;N;;;;;
-CB0D;HANGUL SYLLABLE JJWAET;Lo;0;L;;;;;N;;;;;
-CB0E;HANGUL SYLLABLE JJWAEP;Lo;0;L;;;;;N;;;;;
-CB0F;HANGUL SYLLABLE JJWAEH;Lo;0;L;;;;;N;;;;;
-CB10;HANGUL SYLLABLE JJOE;Lo;0;L;;;;;N;;;;;
-CB11;HANGUL SYLLABLE JJOEG;Lo;0;L;;;;;N;;;;;
-CB12;HANGUL SYLLABLE JJOEGG;Lo;0;L;;;;;N;;;;;
-CB13;HANGUL SYLLABLE JJOEGS;Lo;0;L;;;;;N;;;;;
-CB14;HANGUL SYLLABLE JJOEN;Lo;0;L;;;;;N;;;;;
-CB15;HANGUL SYLLABLE JJOENI;Lo;0;L;;;;;N;;;;;
-CB16;HANGUL SYLLABLE JJOENH;Lo;0;L;;;;;N;;;;;
-CB17;HANGUL SYLLABLE JJOED;Lo;0;L;;;;;N;;;;;
-CB18;HANGUL SYLLABLE JJOEL;Lo;0;L;;;;;N;;;;;
-CB19;HANGUL SYLLABLE JJOELG;Lo;0;L;;;;;N;;;;;
-CB1A;HANGUL SYLLABLE JJOELM;Lo;0;L;;;;;N;;;;;
-CB1B;HANGUL SYLLABLE JJOELB;Lo;0;L;;;;;N;;;;;
-CB1C;HANGUL SYLLABLE JJOELS;Lo;0;L;;;;;N;;;;;
-CB1D;HANGUL SYLLABLE JJOELT;Lo;0;L;;;;;N;;;;;
-CB1E;HANGUL SYLLABLE JJOELP;Lo;0;L;;;;;N;;;;;
-CB1F;HANGUL SYLLABLE JJOELH;Lo;0;L;;;;;N;;;;;
-CB20;HANGUL SYLLABLE JJOEM;Lo;0;L;;;;;N;;;;;
-CB21;HANGUL SYLLABLE JJOEB;Lo;0;L;;;;;N;;;;;
-CB22;HANGUL SYLLABLE JJOEBS;Lo;0;L;;;;;N;;;;;
-CB23;HANGUL SYLLABLE JJOES;Lo;0;L;;;;;N;;;;;
-CB24;HANGUL SYLLABLE JJOESS;Lo;0;L;;;;;N;;;;;
-CB25;HANGUL SYLLABLE JJOENG;Lo;0;L;;;;;N;;;;;
-CB26;HANGUL SYLLABLE JJOEJ;Lo;0;L;;;;;N;;;;;
-CB27;HANGUL SYLLABLE JJOEC;Lo;0;L;;;;;N;;;;;
-CB28;HANGUL SYLLABLE JJOEK;Lo;0;L;;;;;N;;;;;
-CB29;HANGUL SYLLABLE JJOET;Lo;0;L;;;;;N;;;;;
-CB2A;HANGUL SYLLABLE JJOEP;Lo;0;L;;;;;N;;;;;
-CB2B;HANGUL SYLLABLE JJOEH;Lo;0;L;;;;;N;;;;;
-CB2C;HANGUL SYLLABLE JJYO;Lo;0;L;;;;;N;;;;;
-CB2D;HANGUL SYLLABLE JJYOG;Lo;0;L;;;;;N;;;;;
-CB2E;HANGUL SYLLABLE JJYOGG;Lo;0;L;;;;;N;;;;;
-CB2F;HANGUL SYLLABLE JJYOGS;Lo;0;L;;;;;N;;;;;
-CB30;HANGUL SYLLABLE JJYON;Lo;0;L;;;;;N;;;;;
-CB31;HANGUL SYLLABLE JJYONI;Lo;0;L;;;;;N;;;;;
-CB32;HANGUL SYLLABLE JJYONH;Lo;0;L;;;;;N;;;;;
-CB33;HANGUL SYLLABLE JJYOD;Lo;0;L;;;;;N;;;;;
-CB34;HANGUL SYLLABLE JJYOL;Lo;0;L;;;;;N;;;;;
-CB35;HANGUL SYLLABLE JJYOLG;Lo;0;L;;;;;N;;;;;
-CB36;HANGUL SYLLABLE JJYOLM;Lo;0;L;;;;;N;;;;;
-CB37;HANGUL SYLLABLE JJYOLB;Lo;0;L;;;;;N;;;;;
-CB38;HANGUL SYLLABLE JJYOLS;Lo;0;L;;;;;N;;;;;
-CB39;HANGUL SYLLABLE JJYOLT;Lo;0;L;;;;;N;;;;;
-CB3A;HANGUL SYLLABLE JJYOLP;Lo;0;L;;;;;N;;;;;
-CB3B;HANGUL SYLLABLE JJYOLH;Lo;0;L;;;;;N;;;;;
-CB3C;HANGUL SYLLABLE JJYOM;Lo;0;L;;;;;N;;;;;
-CB3D;HANGUL SYLLABLE JJYOB;Lo;0;L;;;;;N;;;;;
-CB3E;HANGUL SYLLABLE JJYOBS;Lo;0;L;;;;;N;;;;;
-CB3F;HANGUL SYLLABLE JJYOS;Lo;0;L;;;;;N;;;;;
-CB40;HANGUL SYLLABLE JJYOSS;Lo;0;L;;;;;N;;;;;
-CB41;HANGUL SYLLABLE JJYONG;Lo;0;L;;;;;N;;;;;
-CB42;HANGUL SYLLABLE JJYOJ;Lo;0;L;;;;;N;;;;;
-CB43;HANGUL SYLLABLE JJYOC;Lo;0;L;;;;;N;;;;;
-CB44;HANGUL SYLLABLE JJYOK;Lo;0;L;;;;;N;;;;;
-CB45;HANGUL SYLLABLE JJYOT;Lo;0;L;;;;;N;;;;;
-CB46;HANGUL SYLLABLE JJYOP;Lo;0;L;;;;;N;;;;;
-CB47;HANGUL SYLLABLE JJYOH;Lo;0;L;;;;;N;;;;;
-CB48;HANGUL SYLLABLE JJU;Lo;0;L;;;;;N;;;;;
-CB49;HANGUL SYLLABLE JJUG;Lo;0;L;;;;;N;;;;;
-CB4A;HANGUL SYLLABLE JJUGG;Lo;0;L;;;;;N;;;;;
-CB4B;HANGUL SYLLABLE JJUGS;Lo;0;L;;;;;N;;;;;
-CB4C;HANGUL SYLLABLE JJUN;Lo;0;L;;;;;N;;;;;
-CB4D;HANGUL SYLLABLE JJUNI;Lo;0;L;;;;;N;;;;;
-CB4E;HANGUL SYLLABLE JJUNH;Lo;0;L;;;;;N;;;;;
-CB4F;HANGUL SYLLABLE JJUD;Lo;0;L;;;;;N;;;;;
-CB50;HANGUL SYLLABLE JJUL;Lo;0;L;;;;;N;;;;;
-CB51;HANGUL SYLLABLE JJULG;Lo;0;L;;;;;N;;;;;
-CB52;HANGUL SYLLABLE JJULM;Lo;0;L;;;;;N;;;;;
-CB53;HANGUL SYLLABLE JJULB;Lo;0;L;;;;;N;;;;;
-CB54;HANGUL SYLLABLE JJULS;Lo;0;L;;;;;N;;;;;
-CB55;HANGUL SYLLABLE JJULT;Lo;0;L;;;;;N;;;;;
-CB56;HANGUL SYLLABLE JJULP;Lo;0;L;;;;;N;;;;;
-CB57;HANGUL SYLLABLE JJULH;Lo;0;L;;;;;N;;;;;
-CB58;HANGUL SYLLABLE JJUM;Lo;0;L;;;;;N;;;;;
-CB59;HANGUL SYLLABLE JJUB;Lo;0;L;;;;;N;;;;;
-CB5A;HANGUL SYLLABLE JJUBS;Lo;0;L;;;;;N;;;;;
-CB5B;HANGUL SYLLABLE JJUS;Lo;0;L;;;;;N;;;;;
-CB5C;HANGUL SYLLABLE JJUSS;Lo;0;L;;;;;N;;;;;
-CB5D;HANGUL SYLLABLE JJUNG;Lo;0;L;;;;;N;;;;;
-CB5E;HANGUL SYLLABLE JJUJ;Lo;0;L;;;;;N;;;;;
-CB5F;HANGUL SYLLABLE JJUC;Lo;0;L;;;;;N;;;;;
-CB60;HANGUL SYLLABLE JJUK;Lo;0;L;;;;;N;;;;;
-CB61;HANGUL SYLLABLE JJUT;Lo;0;L;;;;;N;;;;;
-CB62;HANGUL SYLLABLE JJUP;Lo;0;L;;;;;N;;;;;
-CB63;HANGUL SYLLABLE JJUH;Lo;0;L;;;;;N;;;;;
-CB64;HANGUL SYLLABLE JJWEO;Lo;0;L;;;;;N;;;;;
-CB65;HANGUL SYLLABLE JJWEOG;Lo;0;L;;;;;N;;;;;
-CB66;HANGUL SYLLABLE JJWEOGG;Lo;0;L;;;;;N;;;;;
-CB67;HANGUL SYLLABLE JJWEOGS;Lo;0;L;;;;;N;;;;;
-CB68;HANGUL SYLLABLE JJWEON;Lo;0;L;;;;;N;;;;;
-CB69;HANGUL SYLLABLE JJWEONI;Lo;0;L;;;;;N;;;;;
-CB6A;HANGUL SYLLABLE JJWEONH;Lo;0;L;;;;;N;;;;;
-CB6B;HANGUL SYLLABLE JJWEOD;Lo;0;L;;;;;N;;;;;
-CB6C;HANGUL SYLLABLE JJWEOL;Lo;0;L;;;;;N;;;;;
-CB6D;HANGUL SYLLABLE JJWEOLG;Lo;0;L;;;;;N;;;;;
-CB6E;HANGUL SYLLABLE JJWEOLM;Lo;0;L;;;;;N;;;;;
-CB6F;HANGUL SYLLABLE JJWEOLB;Lo;0;L;;;;;N;;;;;
-CB70;HANGUL SYLLABLE JJWEOLS;Lo;0;L;;;;;N;;;;;
-CB71;HANGUL SYLLABLE JJWEOLT;Lo;0;L;;;;;N;;;;;
-CB72;HANGUL SYLLABLE JJWEOLP;Lo;0;L;;;;;N;;;;;
-CB73;HANGUL SYLLABLE JJWEOLH;Lo;0;L;;;;;N;;;;;
-CB74;HANGUL SYLLABLE JJWEOM;Lo;0;L;;;;;N;;;;;
-CB75;HANGUL SYLLABLE JJWEOB;Lo;0;L;;;;;N;;;;;
-CB76;HANGUL SYLLABLE JJWEOBS;Lo;0;L;;;;;N;;;;;
-CB77;HANGUL SYLLABLE JJWEOS;Lo;0;L;;;;;N;;;;;
-CB78;HANGUL SYLLABLE JJWEOSS;Lo;0;L;;;;;N;;;;;
-CB79;HANGUL SYLLABLE JJWEONG;Lo;0;L;;;;;N;;;;;
-CB7A;HANGUL SYLLABLE JJWEOJ;Lo;0;L;;;;;N;;;;;
-CB7B;HANGUL SYLLABLE JJWEOC;Lo;0;L;;;;;N;;;;;
-CB7C;HANGUL SYLLABLE JJWEOK;Lo;0;L;;;;;N;;;;;
-CB7D;HANGUL SYLLABLE JJWEOT;Lo;0;L;;;;;N;;;;;
-CB7E;HANGUL SYLLABLE JJWEOP;Lo;0;L;;;;;N;;;;;
-CB7F;HANGUL SYLLABLE JJWEOH;Lo;0;L;;;;;N;;;;;
-CB80;HANGUL SYLLABLE JJWE;Lo;0;L;;;;;N;;;;;
-CB81;HANGUL SYLLABLE JJWEG;Lo;0;L;;;;;N;;;;;
-CB82;HANGUL SYLLABLE JJWEGG;Lo;0;L;;;;;N;;;;;
-CB83;HANGUL SYLLABLE JJWEGS;Lo;0;L;;;;;N;;;;;
-CB84;HANGUL SYLLABLE JJWEN;Lo;0;L;;;;;N;;;;;
-CB85;HANGUL SYLLABLE JJWENI;Lo;0;L;;;;;N;;;;;
-CB86;HANGUL SYLLABLE JJWENH;Lo;0;L;;;;;N;;;;;
-CB87;HANGUL SYLLABLE JJWED;Lo;0;L;;;;;N;;;;;
-CB88;HANGUL SYLLABLE JJWEL;Lo;0;L;;;;;N;;;;;
-CB89;HANGUL SYLLABLE JJWELG;Lo;0;L;;;;;N;;;;;
-CB8A;HANGUL SYLLABLE JJWELM;Lo;0;L;;;;;N;;;;;
-CB8B;HANGUL SYLLABLE JJWELB;Lo;0;L;;;;;N;;;;;
-CB8C;HANGUL SYLLABLE JJWELS;Lo;0;L;;;;;N;;;;;
-CB8D;HANGUL SYLLABLE JJWELT;Lo;0;L;;;;;N;;;;;
-CB8E;HANGUL SYLLABLE JJWELP;Lo;0;L;;;;;N;;;;;
-CB8F;HANGUL SYLLABLE JJWELH;Lo;0;L;;;;;N;;;;;
-CB90;HANGUL SYLLABLE JJWEM;Lo;0;L;;;;;N;;;;;
-CB91;HANGUL SYLLABLE JJWEB;Lo;0;L;;;;;N;;;;;
-CB92;HANGUL SYLLABLE JJWEBS;Lo;0;L;;;;;N;;;;;
-CB93;HANGUL SYLLABLE JJWES;Lo;0;L;;;;;N;;;;;
-CB94;HANGUL SYLLABLE JJWESS;Lo;0;L;;;;;N;;;;;
-CB95;HANGUL SYLLABLE JJWENG;Lo;0;L;;;;;N;;;;;
-CB96;HANGUL SYLLABLE JJWEJ;Lo;0;L;;;;;N;;;;;
-CB97;HANGUL SYLLABLE JJWEC;Lo;0;L;;;;;N;;;;;
-CB98;HANGUL SYLLABLE JJWEK;Lo;0;L;;;;;N;;;;;
-CB99;HANGUL SYLLABLE JJWET;Lo;0;L;;;;;N;;;;;
-CB9A;HANGUL SYLLABLE JJWEP;Lo;0;L;;;;;N;;;;;
-CB9B;HANGUL SYLLABLE JJWEH;Lo;0;L;;;;;N;;;;;
-CB9C;HANGUL SYLLABLE JJWI;Lo;0;L;;;;;N;;;;;
-CB9D;HANGUL SYLLABLE JJWIG;Lo;0;L;;;;;N;;;;;
-CB9E;HANGUL SYLLABLE JJWIGG;Lo;0;L;;;;;N;;;;;
-CB9F;HANGUL SYLLABLE JJWIGS;Lo;0;L;;;;;N;;;;;
-CBA0;HANGUL SYLLABLE JJWIN;Lo;0;L;;;;;N;;;;;
-CBA1;HANGUL SYLLABLE JJWINI;Lo;0;L;;;;;N;;;;;
-CBA2;HANGUL SYLLABLE JJWINH;Lo;0;L;;;;;N;;;;;
-CBA3;HANGUL SYLLABLE JJWID;Lo;0;L;;;;;N;;;;;
-CBA4;HANGUL SYLLABLE JJWIL;Lo;0;L;;;;;N;;;;;
-CBA5;HANGUL SYLLABLE JJWILG;Lo;0;L;;;;;N;;;;;
-CBA6;HANGUL SYLLABLE JJWILM;Lo;0;L;;;;;N;;;;;
-CBA7;HANGUL SYLLABLE JJWILB;Lo;0;L;;;;;N;;;;;
-CBA8;HANGUL SYLLABLE JJWILS;Lo;0;L;;;;;N;;;;;
-CBA9;HANGUL SYLLABLE JJWILT;Lo;0;L;;;;;N;;;;;
-CBAA;HANGUL SYLLABLE JJWILP;Lo;0;L;;;;;N;;;;;
-CBAB;HANGUL SYLLABLE JJWILH;Lo;0;L;;;;;N;;;;;
-CBAC;HANGUL SYLLABLE JJWIM;Lo;0;L;;;;;N;;;;;
-CBAD;HANGUL SYLLABLE JJWIB;Lo;0;L;;;;;N;;;;;
-CBAE;HANGUL SYLLABLE JJWIBS;Lo;0;L;;;;;N;;;;;
-CBAF;HANGUL SYLLABLE JJWIS;Lo;0;L;;;;;N;;;;;
-CBB0;HANGUL SYLLABLE JJWISS;Lo;0;L;;;;;N;;;;;
-CBB1;HANGUL SYLLABLE JJWING;Lo;0;L;;;;;N;;;;;
-CBB2;HANGUL SYLLABLE JJWIJ;Lo;0;L;;;;;N;;;;;
-CBB3;HANGUL SYLLABLE JJWIC;Lo;0;L;;;;;N;;;;;
-CBB4;HANGUL SYLLABLE JJWIK;Lo;0;L;;;;;N;;;;;
-CBB5;HANGUL SYLLABLE JJWIT;Lo;0;L;;;;;N;;;;;
-CBB6;HANGUL SYLLABLE JJWIP;Lo;0;L;;;;;N;;;;;
-CBB7;HANGUL SYLLABLE JJWIH;Lo;0;L;;;;;N;;;;;
-CBB8;HANGUL SYLLABLE JJYU;Lo;0;L;;;;;N;;;;;
-CBB9;HANGUL SYLLABLE JJYUG;Lo;0;L;;;;;N;;;;;
-CBBA;HANGUL SYLLABLE JJYUGG;Lo;0;L;;;;;N;;;;;
-CBBB;HANGUL SYLLABLE JJYUGS;Lo;0;L;;;;;N;;;;;
-CBBC;HANGUL SYLLABLE JJYUN;Lo;0;L;;;;;N;;;;;
-CBBD;HANGUL SYLLABLE JJYUNI;Lo;0;L;;;;;N;;;;;
-CBBE;HANGUL SYLLABLE JJYUNH;Lo;0;L;;;;;N;;;;;
-CBBF;HANGUL SYLLABLE JJYUD;Lo;0;L;;;;;N;;;;;
-CBC0;HANGUL SYLLABLE JJYUL;Lo;0;L;;;;;N;;;;;
-CBC1;HANGUL SYLLABLE JJYULG;Lo;0;L;;;;;N;;;;;
-CBC2;HANGUL SYLLABLE JJYULM;Lo;0;L;;;;;N;;;;;
-CBC3;HANGUL SYLLABLE JJYULB;Lo;0;L;;;;;N;;;;;
-CBC4;HANGUL SYLLABLE JJYULS;Lo;0;L;;;;;N;;;;;
-CBC5;HANGUL SYLLABLE JJYULT;Lo;0;L;;;;;N;;;;;
-CBC6;HANGUL SYLLABLE JJYULP;Lo;0;L;;;;;N;;;;;
-CBC7;HANGUL SYLLABLE JJYULH;Lo;0;L;;;;;N;;;;;
-CBC8;HANGUL SYLLABLE JJYUM;Lo;0;L;;;;;N;;;;;
-CBC9;HANGUL SYLLABLE JJYUB;Lo;0;L;;;;;N;;;;;
-CBCA;HANGUL SYLLABLE JJYUBS;Lo;0;L;;;;;N;;;;;
-CBCB;HANGUL SYLLABLE JJYUS;Lo;0;L;;;;;N;;;;;
-CBCC;HANGUL SYLLABLE JJYUSS;Lo;0;L;;;;;N;;;;;
-CBCD;HANGUL SYLLABLE JJYUNG;Lo;0;L;;;;;N;;;;;
-CBCE;HANGUL SYLLABLE JJYUJ;Lo;0;L;;;;;N;;;;;
-CBCF;HANGUL SYLLABLE JJYUC;Lo;0;L;;;;;N;;;;;
-CBD0;HANGUL SYLLABLE JJYUK;Lo;0;L;;;;;N;;;;;
-CBD1;HANGUL SYLLABLE JJYUT;Lo;0;L;;;;;N;;;;;
-CBD2;HANGUL SYLLABLE JJYUP;Lo;0;L;;;;;N;;;;;
-CBD3;HANGUL SYLLABLE JJYUH;Lo;0;L;;;;;N;;;;;
-CBD4;HANGUL SYLLABLE JJEU;Lo;0;L;;;;;N;;;;;
-CBD5;HANGUL SYLLABLE JJEUG;Lo;0;L;;;;;N;;;;;
-CBD6;HANGUL SYLLABLE JJEUGG;Lo;0;L;;;;;N;;;;;
-CBD7;HANGUL SYLLABLE JJEUGS;Lo;0;L;;;;;N;;;;;
-CBD8;HANGUL SYLLABLE JJEUN;Lo;0;L;;;;;N;;;;;
-CBD9;HANGUL SYLLABLE JJEUNI;Lo;0;L;;;;;N;;;;;
-CBDA;HANGUL SYLLABLE JJEUNH;Lo;0;L;;;;;N;;;;;
-CBDB;HANGUL SYLLABLE JJEUD;Lo;0;L;;;;;N;;;;;
-CBDC;HANGUL SYLLABLE JJEUL;Lo;0;L;;;;;N;;;;;
-CBDD;HANGUL SYLLABLE JJEULG;Lo;0;L;;;;;N;;;;;
-CBDE;HANGUL SYLLABLE JJEULM;Lo;0;L;;;;;N;;;;;
-CBDF;HANGUL SYLLABLE JJEULB;Lo;0;L;;;;;N;;;;;
-CBE0;HANGUL SYLLABLE JJEULS;Lo;0;L;;;;;N;;;;;
-CBE1;HANGUL SYLLABLE JJEULT;Lo;0;L;;;;;N;;;;;
-CBE2;HANGUL SYLLABLE JJEULP;Lo;0;L;;;;;N;;;;;
-CBE3;HANGUL SYLLABLE JJEULH;Lo;0;L;;;;;N;;;;;
-CBE4;HANGUL SYLLABLE JJEUM;Lo;0;L;;;;;N;;;;;
-CBE5;HANGUL SYLLABLE JJEUB;Lo;0;L;;;;;N;;;;;
-CBE6;HANGUL SYLLABLE JJEUBS;Lo;0;L;;;;;N;;;;;
-CBE7;HANGUL SYLLABLE JJEUS;Lo;0;L;;;;;N;;;;;
-CBE8;HANGUL SYLLABLE JJEUSS;Lo;0;L;;;;;N;;;;;
-CBE9;HANGUL SYLLABLE JJEUNG;Lo;0;L;;;;;N;;;;;
-CBEA;HANGUL SYLLABLE JJEUJ;Lo;0;L;;;;;N;;;;;
-CBEB;HANGUL SYLLABLE JJEUC;Lo;0;L;;;;;N;;;;;
-CBEC;HANGUL SYLLABLE JJEUK;Lo;0;L;;;;;N;;;;;
-CBED;HANGUL SYLLABLE JJEUT;Lo;0;L;;;;;N;;;;;
-CBEE;HANGUL SYLLABLE JJEUP;Lo;0;L;;;;;N;;;;;
-CBEF;HANGUL SYLLABLE JJEUH;Lo;0;L;;;;;N;;;;;
-CBF0;HANGUL SYLLABLE JJYI;Lo;0;L;;;;;N;;;;;
-CBF1;HANGUL SYLLABLE JJYIG;Lo;0;L;;;;;N;;;;;
-CBF2;HANGUL SYLLABLE JJYIGG;Lo;0;L;;;;;N;;;;;
-CBF3;HANGUL SYLLABLE JJYIGS;Lo;0;L;;;;;N;;;;;
-CBF4;HANGUL SYLLABLE JJYIN;Lo;0;L;;;;;N;;;;;
-CBF5;HANGUL SYLLABLE JJYINI;Lo;0;L;;;;;N;;;;;
-CBF6;HANGUL SYLLABLE JJYINH;Lo;0;L;;;;;N;;;;;
-CBF7;HANGUL SYLLABLE JJYID;Lo;0;L;;;;;N;;;;;
-CBF8;HANGUL SYLLABLE JJYIL;Lo;0;L;;;;;N;;;;;
-CBF9;HANGUL SYLLABLE JJYILG;Lo;0;L;;;;;N;;;;;
-CBFA;HANGUL SYLLABLE JJYILM;Lo;0;L;;;;;N;;;;;
-CBFB;HANGUL SYLLABLE JJYILB;Lo;0;L;;;;;N;;;;;
-CBFC;HANGUL SYLLABLE JJYILS;Lo;0;L;;;;;N;;;;;
-CBFD;HANGUL SYLLABLE JJYILT;Lo;0;L;;;;;N;;;;;
-CBFE;HANGUL SYLLABLE JJYILP;Lo;0;L;;;;;N;;;;;
-CBFF;HANGUL SYLLABLE JJYILH;Lo;0;L;;;;;N;;;;;
-CC00;HANGUL SYLLABLE JJYIM;Lo;0;L;;;;;N;;;;;
-CC01;HANGUL SYLLABLE JJYIB;Lo;0;L;;;;;N;;;;;
-CC02;HANGUL SYLLABLE JJYIBS;Lo;0;L;;;;;N;;;;;
-CC03;HANGUL SYLLABLE JJYIS;Lo;0;L;;;;;N;;;;;
-CC04;HANGUL SYLLABLE JJYISS;Lo;0;L;;;;;N;;;;;
-CC05;HANGUL SYLLABLE JJYING;Lo;0;L;;;;;N;;;;;
-CC06;HANGUL SYLLABLE JJYIJ;Lo;0;L;;;;;N;;;;;
-CC07;HANGUL SYLLABLE JJYIC;Lo;0;L;;;;;N;;;;;
-CC08;HANGUL SYLLABLE JJYIK;Lo;0;L;;;;;N;;;;;
-CC09;HANGUL SYLLABLE JJYIT;Lo;0;L;;;;;N;;;;;
-CC0A;HANGUL SYLLABLE JJYIP;Lo;0;L;;;;;N;;;;;
-CC0B;HANGUL SYLLABLE JJYIH;Lo;0;L;;;;;N;;;;;
-CC0C;HANGUL SYLLABLE JJI;Lo;0;L;;;;;N;;;;;
-CC0D;HANGUL SYLLABLE JJIG;Lo;0;L;;;;;N;;;;;
-CC0E;HANGUL SYLLABLE JJIGG;Lo;0;L;;;;;N;;;;;
-CC0F;HANGUL SYLLABLE JJIGS;Lo;0;L;;;;;N;;;;;
-CC10;HANGUL SYLLABLE JJIN;Lo;0;L;;;;;N;;;;;
-CC11;HANGUL SYLLABLE JJINI;Lo;0;L;;;;;N;;;;;
-CC12;HANGUL SYLLABLE JJINH;Lo;0;L;;;;;N;;;;;
-CC13;HANGUL SYLLABLE JJID;Lo;0;L;;;;;N;;;;;
-CC14;HANGUL SYLLABLE JJIL;Lo;0;L;;;;;N;;;;;
-CC15;HANGUL SYLLABLE JJILG;Lo;0;L;;;;;N;;;;;
-CC16;HANGUL SYLLABLE JJILM;Lo;0;L;;;;;N;;;;;
-CC17;HANGUL SYLLABLE JJILB;Lo;0;L;;;;;N;;;;;
-CC18;HANGUL SYLLABLE JJILS;Lo;0;L;;;;;N;;;;;
-CC19;HANGUL SYLLABLE JJILT;Lo;0;L;;;;;N;;;;;
-CC1A;HANGUL SYLLABLE JJILP;Lo;0;L;;;;;N;;;;;
-CC1B;HANGUL SYLLABLE JJILH;Lo;0;L;;;;;N;;;;;
-CC1C;HANGUL SYLLABLE JJIM;Lo;0;L;;;;;N;;;;;
-CC1D;HANGUL SYLLABLE JJIB;Lo;0;L;;;;;N;;;;;
-CC1E;HANGUL SYLLABLE JJIBS;Lo;0;L;;;;;N;;;;;
-CC1F;HANGUL SYLLABLE JJIS;Lo;0;L;;;;;N;;;;;
-CC20;HANGUL SYLLABLE JJISS;Lo;0;L;;;;;N;;;;;
-CC21;HANGUL SYLLABLE JJING;Lo;0;L;;;;;N;;;;;
-CC22;HANGUL SYLLABLE JJIJ;Lo;0;L;;;;;N;;;;;
-CC23;HANGUL SYLLABLE JJIC;Lo;0;L;;;;;N;;;;;
-CC24;HANGUL SYLLABLE JJIK;Lo;0;L;;;;;N;;;;;
-CC25;HANGUL SYLLABLE JJIT;Lo;0;L;;;;;N;;;;;
-CC26;HANGUL SYLLABLE JJIP;Lo;0;L;;;;;N;;;;;
-CC27;HANGUL SYLLABLE JJIH;Lo;0;L;;;;;N;;;;;
-CC28;HANGUL SYLLABLE CA;Lo;0;L;;;;;N;;;;;
-CC29;HANGUL SYLLABLE CAG;Lo;0;L;;;;;N;;;;;
-CC2A;HANGUL SYLLABLE CAGG;Lo;0;L;;;;;N;;;;;
-CC2B;HANGUL SYLLABLE CAGS;Lo;0;L;;;;;N;;;;;
-CC2C;HANGUL SYLLABLE CAN;Lo;0;L;;;;;N;;;;;
-CC2D;HANGUL SYLLABLE CANI;Lo;0;L;;;;;N;;;;;
-CC2E;HANGUL SYLLABLE CANH;Lo;0;L;;;;;N;;;;;
-CC2F;HANGUL SYLLABLE CAD;Lo;0;L;;;;;N;;;;;
-CC30;HANGUL SYLLABLE CAL;Lo;0;L;;;;;N;;;;;
-CC31;HANGUL SYLLABLE CALG;Lo;0;L;;;;;N;;;;;
-CC32;HANGUL SYLLABLE CALM;Lo;0;L;;;;;N;;;;;
-CC33;HANGUL SYLLABLE CALB;Lo;0;L;;;;;N;;;;;
-CC34;HANGUL SYLLABLE CALS;Lo;0;L;;;;;N;;;;;
-CC35;HANGUL SYLLABLE CALT;Lo;0;L;;;;;N;;;;;
-CC36;HANGUL SYLLABLE CALP;Lo;0;L;;;;;N;;;;;
-CC37;HANGUL SYLLABLE CALH;Lo;0;L;;;;;N;;;;;
-CC38;HANGUL SYLLABLE CAM;Lo;0;L;;;;;N;;;;;
-CC39;HANGUL SYLLABLE CAB;Lo;0;L;;;;;N;;;;;
-CC3A;HANGUL SYLLABLE CABS;Lo;0;L;;;;;N;;;;;
-CC3B;HANGUL SYLLABLE CAS;Lo;0;L;;;;;N;;;;;
-CC3C;HANGUL SYLLABLE CASS;Lo;0;L;;;;;N;;;;;
-CC3D;HANGUL SYLLABLE CANG;Lo;0;L;;;;;N;;;;;
-CC3E;HANGUL SYLLABLE CAJ;Lo;0;L;;;;;N;;;;;
-CC3F;HANGUL SYLLABLE CAC;Lo;0;L;;;;;N;;;;;
-CC40;HANGUL SYLLABLE CAK;Lo;0;L;;;;;N;;;;;
-CC41;HANGUL SYLLABLE CAT;Lo;0;L;;;;;N;;;;;
-CC42;HANGUL SYLLABLE CAP;Lo;0;L;;;;;N;;;;;
-CC43;HANGUL SYLLABLE CAH;Lo;0;L;;;;;N;;;;;
-CC44;HANGUL SYLLABLE CAE;Lo;0;L;;;;;N;;;;;
-CC45;HANGUL SYLLABLE CAEG;Lo;0;L;;;;;N;;;;;
-CC46;HANGUL SYLLABLE CAEGG;Lo;0;L;;;;;N;;;;;
-CC47;HANGUL SYLLABLE CAEGS;Lo;0;L;;;;;N;;;;;
-CC48;HANGUL SYLLABLE CAEN;Lo;0;L;;;;;N;;;;;
-CC49;HANGUL SYLLABLE CAENI;Lo;0;L;;;;;N;;;;;
-CC4A;HANGUL SYLLABLE CAENH;Lo;0;L;;;;;N;;;;;
-CC4B;HANGUL SYLLABLE CAED;Lo;0;L;;;;;N;;;;;
-CC4C;HANGUL SYLLABLE CAEL;Lo;0;L;;;;;N;;;;;
-CC4D;HANGUL SYLLABLE CAELG;Lo;0;L;;;;;N;;;;;
-CC4E;HANGUL SYLLABLE CAELM;Lo;0;L;;;;;N;;;;;
-CC4F;HANGUL SYLLABLE CAELB;Lo;0;L;;;;;N;;;;;
-CC50;HANGUL SYLLABLE CAELS;Lo;0;L;;;;;N;;;;;
-CC51;HANGUL SYLLABLE CAELT;Lo;0;L;;;;;N;;;;;
-CC52;HANGUL SYLLABLE CAELP;Lo;0;L;;;;;N;;;;;
-CC53;HANGUL SYLLABLE CAELH;Lo;0;L;;;;;N;;;;;
-CC54;HANGUL SYLLABLE CAEM;Lo;0;L;;;;;N;;;;;
-CC55;HANGUL SYLLABLE CAEB;Lo;0;L;;;;;N;;;;;
-CC56;HANGUL SYLLABLE CAEBS;Lo;0;L;;;;;N;;;;;
-CC57;HANGUL SYLLABLE CAES;Lo;0;L;;;;;N;;;;;
-CC58;HANGUL SYLLABLE CAESS;Lo;0;L;;;;;N;;;;;
-CC59;HANGUL SYLLABLE CAENG;Lo;0;L;;;;;N;;;;;
-CC5A;HANGUL SYLLABLE CAEJ;Lo;0;L;;;;;N;;;;;
-CC5B;HANGUL SYLLABLE CAEC;Lo;0;L;;;;;N;;;;;
-CC5C;HANGUL SYLLABLE CAEK;Lo;0;L;;;;;N;;;;;
-CC5D;HANGUL SYLLABLE CAET;Lo;0;L;;;;;N;;;;;
-CC5E;HANGUL SYLLABLE CAEP;Lo;0;L;;;;;N;;;;;
-CC5F;HANGUL SYLLABLE CAEH;Lo;0;L;;;;;N;;;;;
-CC60;HANGUL SYLLABLE CYA;Lo;0;L;;;;;N;;;;;
-CC61;HANGUL SYLLABLE CYAG;Lo;0;L;;;;;N;;;;;
-CC62;HANGUL SYLLABLE CYAGG;Lo;0;L;;;;;N;;;;;
-CC63;HANGUL SYLLABLE CYAGS;Lo;0;L;;;;;N;;;;;
-CC64;HANGUL SYLLABLE CYAN;Lo;0;L;;;;;N;;;;;
-CC65;HANGUL SYLLABLE CYANI;Lo;0;L;;;;;N;;;;;
-CC66;HANGUL SYLLABLE CYANH;Lo;0;L;;;;;N;;;;;
-CC67;HANGUL SYLLABLE CYAD;Lo;0;L;;;;;N;;;;;
-CC68;HANGUL SYLLABLE CYAL;Lo;0;L;;;;;N;;;;;
-CC69;HANGUL SYLLABLE CYALG;Lo;0;L;;;;;N;;;;;
-CC6A;HANGUL SYLLABLE CYALM;Lo;0;L;;;;;N;;;;;
-CC6B;HANGUL SYLLABLE CYALB;Lo;0;L;;;;;N;;;;;
-CC6C;HANGUL SYLLABLE CYALS;Lo;0;L;;;;;N;;;;;
-CC6D;HANGUL SYLLABLE CYALT;Lo;0;L;;;;;N;;;;;
-CC6E;HANGUL SYLLABLE CYALP;Lo;0;L;;;;;N;;;;;
-CC6F;HANGUL SYLLABLE CYALH;Lo;0;L;;;;;N;;;;;
-CC70;HANGUL SYLLABLE CYAM;Lo;0;L;;;;;N;;;;;
-CC71;HANGUL SYLLABLE CYAB;Lo;0;L;;;;;N;;;;;
-CC72;HANGUL SYLLABLE CYABS;Lo;0;L;;;;;N;;;;;
-CC73;HANGUL SYLLABLE CYAS;Lo;0;L;;;;;N;;;;;
-CC74;HANGUL SYLLABLE CYASS;Lo;0;L;;;;;N;;;;;
-CC75;HANGUL SYLLABLE CYANG;Lo;0;L;;;;;N;;;;;
-CC76;HANGUL SYLLABLE CYAJ;Lo;0;L;;;;;N;;;;;
-CC77;HANGUL SYLLABLE CYAC;Lo;0;L;;;;;N;;;;;
-CC78;HANGUL SYLLABLE CYAK;Lo;0;L;;;;;N;;;;;
-CC79;HANGUL SYLLABLE CYAT;Lo;0;L;;;;;N;;;;;
-CC7A;HANGUL SYLLABLE CYAP;Lo;0;L;;;;;N;;;;;
-CC7B;HANGUL SYLLABLE CYAH;Lo;0;L;;;;;N;;;;;
-CC7C;HANGUL SYLLABLE CYAE;Lo;0;L;;;;;N;;;;;
-CC7D;HANGUL SYLLABLE CYAEG;Lo;0;L;;;;;N;;;;;
-CC7E;HANGUL SYLLABLE CYAEGG;Lo;0;L;;;;;N;;;;;
-CC7F;HANGUL SYLLABLE CYAEGS;Lo;0;L;;;;;N;;;;;
-CC80;HANGUL SYLLABLE CYAEN;Lo;0;L;;;;;N;;;;;
-CC81;HANGUL SYLLABLE CYAENI;Lo;0;L;;;;;N;;;;;
-CC82;HANGUL SYLLABLE CYAENH;Lo;0;L;;;;;N;;;;;
-CC83;HANGUL SYLLABLE CYAED;Lo;0;L;;;;;N;;;;;
-CC84;HANGUL SYLLABLE CYAEL;Lo;0;L;;;;;N;;;;;
-CC85;HANGUL SYLLABLE CYAELG;Lo;0;L;;;;;N;;;;;
-CC86;HANGUL SYLLABLE CYAELM;Lo;0;L;;;;;N;;;;;
-CC87;HANGUL SYLLABLE CYAELB;Lo;0;L;;;;;N;;;;;
-CC88;HANGUL SYLLABLE CYAELS;Lo;0;L;;;;;N;;;;;
-CC89;HANGUL SYLLABLE CYAELT;Lo;0;L;;;;;N;;;;;
-CC8A;HANGUL SYLLABLE CYAELP;Lo;0;L;;;;;N;;;;;
-CC8B;HANGUL SYLLABLE CYAELH;Lo;0;L;;;;;N;;;;;
-CC8C;HANGUL SYLLABLE CYAEM;Lo;0;L;;;;;N;;;;;
-CC8D;HANGUL SYLLABLE CYAEB;Lo;0;L;;;;;N;;;;;
-CC8E;HANGUL SYLLABLE CYAEBS;Lo;0;L;;;;;N;;;;;
-CC8F;HANGUL SYLLABLE CYAES;Lo;0;L;;;;;N;;;;;
-CC90;HANGUL SYLLABLE CYAESS;Lo;0;L;;;;;N;;;;;
-CC91;HANGUL SYLLABLE CYAENG;Lo;0;L;;;;;N;;;;;
-CC92;HANGUL SYLLABLE CYAEJ;Lo;0;L;;;;;N;;;;;
-CC93;HANGUL SYLLABLE CYAEC;Lo;0;L;;;;;N;;;;;
-CC94;HANGUL SYLLABLE CYAEK;Lo;0;L;;;;;N;;;;;
-CC95;HANGUL SYLLABLE CYAET;Lo;0;L;;;;;N;;;;;
-CC96;HANGUL SYLLABLE CYAEP;Lo;0;L;;;;;N;;;;;
-CC97;HANGUL SYLLABLE CYAEH;Lo;0;L;;;;;N;;;;;
-CC98;HANGUL SYLLABLE CEO;Lo;0;L;;;;;N;;;;;
-CC99;HANGUL SYLLABLE CEOG;Lo;0;L;;;;;N;;;;;
-CC9A;HANGUL SYLLABLE CEOGG;Lo;0;L;;;;;N;;;;;
-CC9B;HANGUL SYLLABLE CEOGS;Lo;0;L;;;;;N;;;;;
-CC9C;HANGUL SYLLABLE CEON;Lo;0;L;;;;;N;;;;;
-CC9D;HANGUL SYLLABLE CEONI;Lo;0;L;;;;;N;;;;;
-CC9E;HANGUL SYLLABLE CEONH;Lo;0;L;;;;;N;;;;;
-CC9F;HANGUL SYLLABLE CEOD;Lo;0;L;;;;;N;;;;;
-CCA0;HANGUL SYLLABLE CEOL;Lo;0;L;;;;;N;;;;;
-CCA1;HANGUL SYLLABLE CEOLG;Lo;0;L;;;;;N;;;;;
-CCA2;HANGUL SYLLABLE CEOLM;Lo;0;L;;;;;N;;;;;
-CCA3;HANGUL SYLLABLE CEOLB;Lo;0;L;;;;;N;;;;;
-CCA4;HANGUL SYLLABLE CEOLS;Lo;0;L;;;;;N;;;;;
-CCA5;HANGUL SYLLABLE CEOLT;Lo;0;L;;;;;N;;;;;
-CCA6;HANGUL SYLLABLE CEOLP;Lo;0;L;;;;;N;;;;;
-CCA7;HANGUL SYLLABLE CEOLH;Lo;0;L;;;;;N;;;;;
-CCA8;HANGUL SYLLABLE CEOM;Lo;0;L;;;;;N;;;;;
-CCA9;HANGUL SYLLABLE CEOB;Lo;0;L;;;;;N;;;;;
-CCAA;HANGUL SYLLABLE CEOBS;Lo;0;L;;;;;N;;;;;
-CCAB;HANGUL SYLLABLE CEOS;Lo;0;L;;;;;N;;;;;
-CCAC;HANGUL SYLLABLE CEOSS;Lo;0;L;;;;;N;;;;;
-CCAD;HANGUL SYLLABLE CEONG;Lo;0;L;;;;;N;;;;;
-CCAE;HANGUL SYLLABLE CEOJ;Lo;0;L;;;;;N;;;;;
-CCAF;HANGUL SYLLABLE CEOC;Lo;0;L;;;;;N;;;;;
-CCB0;HANGUL SYLLABLE CEOK;Lo;0;L;;;;;N;;;;;
-CCB1;HANGUL SYLLABLE CEOT;Lo;0;L;;;;;N;;;;;
-CCB2;HANGUL SYLLABLE CEOP;Lo;0;L;;;;;N;;;;;
-CCB3;HANGUL SYLLABLE CEOH;Lo;0;L;;;;;N;;;;;
-CCB4;HANGUL SYLLABLE CE;Lo;0;L;;;;;N;;;;;
-CCB5;HANGUL SYLLABLE CEG;Lo;0;L;;;;;N;;;;;
-CCB6;HANGUL SYLLABLE CEGG;Lo;0;L;;;;;N;;;;;
-CCB7;HANGUL SYLLABLE CEGS;Lo;0;L;;;;;N;;;;;
-CCB8;HANGUL SYLLABLE CEN;Lo;0;L;;;;;N;;;;;
-CCB9;HANGUL SYLLABLE CENI;Lo;0;L;;;;;N;;;;;
-CCBA;HANGUL SYLLABLE CENH;Lo;0;L;;;;;N;;;;;
-CCBB;HANGUL SYLLABLE CED;Lo;0;L;;;;;N;;;;;
-CCBC;HANGUL SYLLABLE CEL;Lo;0;L;;;;;N;;;;;
-CCBD;HANGUL SYLLABLE CELG;Lo;0;L;;;;;N;;;;;
-CCBE;HANGUL SYLLABLE CELM;Lo;0;L;;;;;N;;;;;
-CCBF;HANGUL SYLLABLE CELB;Lo;0;L;;;;;N;;;;;
-CCC0;HANGUL SYLLABLE CELS;Lo;0;L;;;;;N;;;;;
-CCC1;HANGUL SYLLABLE CELT;Lo;0;L;;;;;N;;;;;
-CCC2;HANGUL SYLLABLE CELP;Lo;0;L;;;;;N;;;;;
-CCC3;HANGUL SYLLABLE CELH;Lo;0;L;;;;;N;;;;;
-CCC4;HANGUL SYLLABLE CEM;Lo;0;L;;;;;N;;;;;
-CCC5;HANGUL SYLLABLE CEB;Lo;0;L;;;;;N;;;;;
-CCC6;HANGUL SYLLABLE CEBS;Lo;0;L;;;;;N;;;;;
-CCC7;HANGUL SYLLABLE CES;Lo;0;L;;;;;N;;;;;
-CCC8;HANGUL SYLLABLE CESS;Lo;0;L;;;;;N;;;;;
-CCC9;HANGUL SYLLABLE CENG;Lo;0;L;;;;;N;;;;;
-CCCA;HANGUL SYLLABLE CEJ;Lo;0;L;;;;;N;;;;;
-CCCB;HANGUL SYLLABLE CEC;Lo;0;L;;;;;N;;;;;
-CCCC;HANGUL SYLLABLE CEK;Lo;0;L;;;;;N;;;;;
-CCCD;HANGUL SYLLABLE CET;Lo;0;L;;;;;N;;;;;
-CCCE;HANGUL SYLLABLE CEP;Lo;0;L;;;;;N;;;;;
-CCCF;HANGUL SYLLABLE CEH;Lo;0;L;;;;;N;;;;;
-CCD0;HANGUL SYLLABLE CYEO;Lo;0;L;;;;;N;;;;;
-CCD1;HANGUL SYLLABLE CYEOG;Lo;0;L;;;;;N;;;;;
-CCD2;HANGUL SYLLABLE CYEOGG;Lo;0;L;;;;;N;;;;;
-CCD3;HANGUL SYLLABLE CYEOGS;Lo;0;L;;;;;N;;;;;
-CCD4;HANGUL SYLLABLE CYEON;Lo;0;L;;;;;N;;;;;
-CCD5;HANGUL SYLLABLE CYEONI;Lo;0;L;;;;;N;;;;;
-CCD6;HANGUL SYLLABLE CYEONH;Lo;0;L;;;;;N;;;;;
-CCD7;HANGUL SYLLABLE CYEOD;Lo;0;L;;;;;N;;;;;
-CCD8;HANGUL SYLLABLE CYEOL;Lo;0;L;;;;;N;;;;;
-CCD9;HANGUL SYLLABLE CYEOLG;Lo;0;L;;;;;N;;;;;
-CCDA;HANGUL SYLLABLE CYEOLM;Lo;0;L;;;;;N;;;;;
-CCDB;HANGUL SYLLABLE CYEOLB;Lo;0;L;;;;;N;;;;;
-CCDC;HANGUL SYLLABLE CYEOLS;Lo;0;L;;;;;N;;;;;
-CCDD;HANGUL SYLLABLE CYEOLT;Lo;0;L;;;;;N;;;;;
-CCDE;HANGUL SYLLABLE CYEOLP;Lo;0;L;;;;;N;;;;;
-CCDF;HANGUL SYLLABLE CYEOLH;Lo;0;L;;;;;N;;;;;
-CCE0;HANGUL SYLLABLE CYEOM;Lo;0;L;;;;;N;;;;;
-CCE1;HANGUL SYLLABLE CYEOB;Lo;0;L;;;;;N;;;;;
-CCE2;HANGUL SYLLABLE CYEOBS;Lo;0;L;;;;;N;;;;;
-CCE3;HANGUL SYLLABLE CYEOS;Lo;0;L;;;;;N;;;;;
-CCE4;HANGUL SYLLABLE CYEOSS;Lo;0;L;;;;;N;;;;;
-CCE5;HANGUL SYLLABLE CYEONG;Lo;0;L;;;;;N;;;;;
-CCE6;HANGUL SYLLABLE CYEOJ;Lo;0;L;;;;;N;;;;;
-CCE7;HANGUL SYLLABLE CYEOC;Lo;0;L;;;;;N;;;;;
-CCE8;HANGUL SYLLABLE CYEOK;Lo;0;L;;;;;N;;;;;
-CCE9;HANGUL SYLLABLE CYEOT;Lo;0;L;;;;;N;;;;;
-CCEA;HANGUL SYLLABLE CYEOP;Lo;0;L;;;;;N;;;;;
-CCEB;HANGUL SYLLABLE CYEOH;Lo;0;L;;;;;N;;;;;
-CCEC;HANGUL SYLLABLE CYE;Lo;0;L;;;;;N;;;;;
-CCED;HANGUL SYLLABLE CYEG;Lo;0;L;;;;;N;;;;;
-CCEE;HANGUL SYLLABLE CYEGG;Lo;0;L;;;;;N;;;;;
-CCEF;HANGUL SYLLABLE CYEGS;Lo;0;L;;;;;N;;;;;
-CCF0;HANGUL SYLLABLE CYEN;Lo;0;L;;;;;N;;;;;
-CCF1;HANGUL SYLLABLE CYENI;Lo;0;L;;;;;N;;;;;
-CCF2;HANGUL SYLLABLE CYENH;Lo;0;L;;;;;N;;;;;
-CCF3;HANGUL SYLLABLE CYED;Lo;0;L;;;;;N;;;;;
-CCF4;HANGUL SYLLABLE CYEL;Lo;0;L;;;;;N;;;;;
-CCF5;HANGUL SYLLABLE CYELG;Lo;0;L;;;;;N;;;;;
-CCF6;HANGUL SYLLABLE CYELM;Lo;0;L;;;;;N;;;;;
-CCF7;HANGUL SYLLABLE CYELB;Lo;0;L;;;;;N;;;;;
-CCF8;HANGUL SYLLABLE CYELS;Lo;0;L;;;;;N;;;;;
-CCF9;HANGUL SYLLABLE CYELT;Lo;0;L;;;;;N;;;;;
-CCFA;HANGUL SYLLABLE CYELP;Lo;0;L;;;;;N;;;;;
-CCFB;HANGUL SYLLABLE CYELH;Lo;0;L;;;;;N;;;;;
-CCFC;HANGUL SYLLABLE CYEM;Lo;0;L;;;;;N;;;;;
-CCFD;HANGUL SYLLABLE CYEB;Lo;0;L;;;;;N;;;;;
-CCFE;HANGUL SYLLABLE CYEBS;Lo;0;L;;;;;N;;;;;
-CCFF;HANGUL SYLLABLE CYES;Lo;0;L;;;;;N;;;;;
-CD00;HANGUL SYLLABLE CYESS;Lo;0;L;;;;;N;;;;;
-CD01;HANGUL SYLLABLE CYENG;Lo;0;L;;;;;N;;;;;
-CD02;HANGUL SYLLABLE CYEJ;Lo;0;L;;;;;N;;;;;
-CD03;HANGUL SYLLABLE CYEC;Lo;0;L;;;;;N;;;;;
-CD04;HANGUL SYLLABLE CYEK;Lo;0;L;;;;;N;;;;;
-CD05;HANGUL SYLLABLE CYET;Lo;0;L;;;;;N;;;;;
-CD06;HANGUL SYLLABLE CYEP;Lo;0;L;;;;;N;;;;;
-CD07;HANGUL SYLLABLE CYEH;Lo;0;L;;;;;N;;;;;
-CD08;HANGUL SYLLABLE CO;Lo;0;L;;;;;N;;;;;
-CD09;HANGUL SYLLABLE COG;Lo;0;L;;;;;N;;;;;
-CD0A;HANGUL SYLLABLE COGG;Lo;0;L;;;;;N;;;;;
-CD0B;HANGUL SYLLABLE COGS;Lo;0;L;;;;;N;;;;;
-CD0C;HANGUL SYLLABLE CON;Lo;0;L;;;;;N;;;;;
-CD0D;HANGUL SYLLABLE CONI;Lo;0;L;;;;;N;;;;;
-CD0E;HANGUL SYLLABLE CONH;Lo;0;L;;;;;N;;;;;
-CD0F;HANGUL SYLLABLE COD;Lo;0;L;;;;;N;;;;;
-CD10;HANGUL SYLLABLE COL;Lo;0;L;;;;;N;;;;;
-CD11;HANGUL SYLLABLE COLG;Lo;0;L;;;;;N;;;;;
-CD12;HANGUL SYLLABLE COLM;Lo;0;L;;;;;N;;;;;
-CD13;HANGUL SYLLABLE COLB;Lo;0;L;;;;;N;;;;;
-CD14;HANGUL SYLLABLE COLS;Lo;0;L;;;;;N;;;;;
-CD15;HANGUL SYLLABLE COLT;Lo;0;L;;;;;N;;;;;
-CD16;HANGUL SYLLABLE COLP;Lo;0;L;;;;;N;;;;;
-CD17;HANGUL SYLLABLE COLH;Lo;0;L;;;;;N;;;;;
-CD18;HANGUL SYLLABLE COM;Lo;0;L;;;;;N;;;;;
-CD19;HANGUL SYLLABLE COB;Lo;0;L;;;;;N;;;;;
-CD1A;HANGUL SYLLABLE COBS;Lo;0;L;;;;;N;;;;;
-CD1B;HANGUL SYLLABLE COS;Lo;0;L;;;;;N;;;;;
-CD1C;HANGUL SYLLABLE COSS;Lo;0;L;;;;;N;;;;;
-CD1D;HANGUL SYLLABLE CONG;Lo;0;L;;;;;N;;;;;
-CD1E;HANGUL SYLLABLE COJ;Lo;0;L;;;;;N;;;;;
-CD1F;HANGUL SYLLABLE COC;Lo;0;L;;;;;N;;;;;
-CD20;HANGUL SYLLABLE COK;Lo;0;L;;;;;N;;;;;
-CD21;HANGUL SYLLABLE COT;Lo;0;L;;;;;N;;;;;
-CD22;HANGUL SYLLABLE COP;Lo;0;L;;;;;N;;;;;
-CD23;HANGUL SYLLABLE COH;Lo;0;L;;;;;N;;;;;
-CD24;HANGUL SYLLABLE CWA;Lo;0;L;;;;;N;;;;;
-CD25;HANGUL SYLLABLE CWAG;Lo;0;L;;;;;N;;;;;
-CD26;HANGUL SYLLABLE CWAGG;Lo;0;L;;;;;N;;;;;
-CD27;HANGUL SYLLABLE CWAGS;Lo;0;L;;;;;N;;;;;
-CD28;HANGUL SYLLABLE CWAN;Lo;0;L;;;;;N;;;;;
-CD29;HANGUL SYLLABLE CWANI;Lo;0;L;;;;;N;;;;;
-CD2A;HANGUL SYLLABLE CWANH;Lo;0;L;;;;;N;;;;;
-CD2B;HANGUL SYLLABLE CWAD;Lo;0;L;;;;;N;;;;;
-CD2C;HANGUL SYLLABLE CWAL;Lo;0;L;;;;;N;;;;;
-CD2D;HANGUL SYLLABLE CWALG;Lo;0;L;;;;;N;;;;;
-CD2E;HANGUL SYLLABLE CWALM;Lo;0;L;;;;;N;;;;;
-CD2F;HANGUL SYLLABLE CWALB;Lo;0;L;;;;;N;;;;;
-CD30;HANGUL SYLLABLE CWALS;Lo;0;L;;;;;N;;;;;
-CD31;HANGUL SYLLABLE CWALT;Lo;0;L;;;;;N;;;;;
-CD32;HANGUL SYLLABLE CWALP;Lo;0;L;;;;;N;;;;;
-CD33;HANGUL SYLLABLE CWALH;Lo;0;L;;;;;N;;;;;
-CD34;HANGUL SYLLABLE CWAM;Lo;0;L;;;;;N;;;;;
-CD35;HANGUL SYLLABLE CWAB;Lo;0;L;;;;;N;;;;;
-CD36;HANGUL SYLLABLE CWABS;Lo;0;L;;;;;N;;;;;
-CD37;HANGUL SYLLABLE CWAS;Lo;0;L;;;;;N;;;;;
-CD38;HANGUL SYLLABLE CWASS;Lo;0;L;;;;;N;;;;;
-CD39;HANGUL SYLLABLE CWANG;Lo;0;L;;;;;N;;;;;
-CD3A;HANGUL SYLLABLE CWAJ;Lo;0;L;;;;;N;;;;;
-CD3B;HANGUL SYLLABLE CWAC;Lo;0;L;;;;;N;;;;;
-CD3C;HANGUL SYLLABLE CWAK;Lo;0;L;;;;;N;;;;;
-CD3D;HANGUL SYLLABLE CWAT;Lo;0;L;;;;;N;;;;;
-CD3E;HANGUL SYLLABLE CWAP;Lo;0;L;;;;;N;;;;;
-CD3F;HANGUL SYLLABLE CWAH;Lo;0;L;;;;;N;;;;;
-CD40;HANGUL SYLLABLE CWAE;Lo;0;L;;;;;N;;;;;
-CD41;HANGUL SYLLABLE CWAEG;Lo;0;L;;;;;N;;;;;
-CD42;HANGUL SYLLABLE CWAEGG;Lo;0;L;;;;;N;;;;;
-CD43;HANGUL SYLLABLE CWAEGS;Lo;0;L;;;;;N;;;;;
-CD44;HANGUL SYLLABLE CWAEN;Lo;0;L;;;;;N;;;;;
-CD45;HANGUL SYLLABLE CWAENI;Lo;0;L;;;;;N;;;;;
-CD46;HANGUL SYLLABLE CWAENH;Lo;0;L;;;;;N;;;;;
-CD47;HANGUL SYLLABLE CWAED;Lo;0;L;;;;;N;;;;;
-CD48;HANGUL SYLLABLE CWAEL;Lo;0;L;;;;;N;;;;;
-CD49;HANGUL SYLLABLE CWAELG;Lo;0;L;;;;;N;;;;;
-CD4A;HANGUL SYLLABLE CWAELM;Lo;0;L;;;;;N;;;;;
-CD4B;HANGUL SYLLABLE CWAELB;Lo;0;L;;;;;N;;;;;
-CD4C;HANGUL SYLLABLE CWAELS;Lo;0;L;;;;;N;;;;;
-CD4D;HANGUL SYLLABLE CWAELT;Lo;0;L;;;;;N;;;;;
-CD4E;HANGUL SYLLABLE CWAELP;Lo;0;L;;;;;N;;;;;
-CD4F;HANGUL SYLLABLE CWAELH;Lo;0;L;;;;;N;;;;;
-CD50;HANGUL SYLLABLE CWAEM;Lo;0;L;;;;;N;;;;;
-CD51;HANGUL SYLLABLE CWAEB;Lo;0;L;;;;;N;;;;;
-CD52;HANGUL SYLLABLE CWAEBS;Lo;0;L;;;;;N;;;;;
-CD53;HANGUL SYLLABLE CWAES;Lo;0;L;;;;;N;;;;;
-CD54;HANGUL SYLLABLE CWAESS;Lo;0;L;;;;;N;;;;;
-CD55;HANGUL SYLLABLE CWAENG;Lo;0;L;;;;;N;;;;;
-CD56;HANGUL SYLLABLE CWAEJ;Lo;0;L;;;;;N;;;;;
-CD57;HANGUL SYLLABLE CWAEC;Lo;0;L;;;;;N;;;;;
-CD58;HANGUL SYLLABLE CWAEK;Lo;0;L;;;;;N;;;;;
-CD59;HANGUL SYLLABLE CWAET;Lo;0;L;;;;;N;;;;;
-CD5A;HANGUL SYLLABLE CWAEP;Lo;0;L;;;;;N;;;;;
-CD5B;HANGUL SYLLABLE CWAEH;Lo;0;L;;;;;N;;;;;
-CD5C;HANGUL SYLLABLE COE;Lo;0;L;;;;;N;;;;;
-CD5D;HANGUL SYLLABLE COEG;Lo;0;L;;;;;N;;;;;
-CD5E;HANGUL SYLLABLE COEGG;Lo;0;L;;;;;N;;;;;
-CD5F;HANGUL SYLLABLE COEGS;Lo;0;L;;;;;N;;;;;
-CD60;HANGUL SYLLABLE COEN;Lo;0;L;;;;;N;;;;;
-CD61;HANGUL SYLLABLE COENI;Lo;0;L;;;;;N;;;;;
-CD62;HANGUL SYLLABLE COENH;Lo;0;L;;;;;N;;;;;
-CD63;HANGUL SYLLABLE COED;Lo;0;L;;;;;N;;;;;
-CD64;HANGUL SYLLABLE COEL;Lo;0;L;;;;;N;;;;;
-CD65;HANGUL SYLLABLE COELG;Lo;0;L;;;;;N;;;;;
-CD66;HANGUL SYLLABLE COELM;Lo;0;L;;;;;N;;;;;
-CD67;HANGUL SYLLABLE COELB;Lo;0;L;;;;;N;;;;;
-CD68;HANGUL SYLLABLE COELS;Lo;0;L;;;;;N;;;;;
-CD69;HANGUL SYLLABLE COELT;Lo;0;L;;;;;N;;;;;
-CD6A;HANGUL SYLLABLE COELP;Lo;0;L;;;;;N;;;;;
-CD6B;HANGUL SYLLABLE COELH;Lo;0;L;;;;;N;;;;;
-CD6C;HANGUL SYLLABLE COEM;Lo;0;L;;;;;N;;;;;
-CD6D;HANGUL SYLLABLE COEB;Lo;0;L;;;;;N;;;;;
-CD6E;HANGUL SYLLABLE COEBS;Lo;0;L;;;;;N;;;;;
-CD6F;HANGUL SYLLABLE COES;Lo;0;L;;;;;N;;;;;
-CD70;HANGUL SYLLABLE COESS;Lo;0;L;;;;;N;;;;;
-CD71;HANGUL SYLLABLE COENG;Lo;0;L;;;;;N;;;;;
-CD72;HANGUL SYLLABLE COEJ;Lo;0;L;;;;;N;;;;;
-CD73;HANGUL SYLLABLE COEC;Lo;0;L;;;;;N;;;;;
-CD74;HANGUL SYLLABLE COEK;Lo;0;L;;;;;N;;;;;
-CD75;HANGUL SYLLABLE COET;Lo;0;L;;;;;N;;;;;
-CD76;HANGUL SYLLABLE COEP;Lo;0;L;;;;;N;;;;;
-CD77;HANGUL SYLLABLE COEH;Lo;0;L;;;;;N;;;;;
-CD78;HANGUL SYLLABLE CYO;Lo;0;L;;;;;N;;;;;
-CD79;HANGUL SYLLABLE CYOG;Lo;0;L;;;;;N;;;;;
-CD7A;HANGUL SYLLABLE CYOGG;Lo;0;L;;;;;N;;;;;
-CD7B;HANGUL SYLLABLE CYOGS;Lo;0;L;;;;;N;;;;;
-CD7C;HANGUL SYLLABLE CYON;Lo;0;L;;;;;N;;;;;
-CD7D;HANGUL SYLLABLE CYONI;Lo;0;L;;;;;N;;;;;
-CD7E;HANGUL SYLLABLE CYONH;Lo;0;L;;;;;N;;;;;
-CD7F;HANGUL SYLLABLE CYOD;Lo;0;L;;;;;N;;;;;
-CD80;HANGUL SYLLABLE CYOL;Lo;0;L;;;;;N;;;;;
-CD81;HANGUL SYLLABLE CYOLG;Lo;0;L;;;;;N;;;;;
-CD82;HANGUL SYLLABLE CYOLM;Lo;0;L;;;;;N;;;;;
-CD83;HANGUL SYLLABLE CYOLB;Lo;0;L;;;;;N;;;;;
-CD84;HANGUL SYLLABLE CYOLS;Lo;0;L;;;;;N;;;;;
-CD85;HANGUL SYLLABLE CYOLT;Lo;0;L;;;;;N;;;;;
-CD86;HANGUL SYLLABLE CYOLP;Lo;0;L;;;;;N;;;;;
-CD87;HANGUL SYLLABLE CYOLH;Lo;0;L;;;;;N;;;;;
-CD88;HANGUL SYLLABLE CYOM;Lo;0;L;;;;;N;;;;;
-CD89;HANGUL SYLLABLE CYOB;Lo;0;L;;;;;N;;;;;
-CD8A;HANGUL SYLLABLE CYOBS;Lo;0;L;;;;;N;;;;;
-CD8B;HANGUL SYLLABLE CYOS;Lo;0;L;;;;;N;;;;;
-CD8C;HANGUL SYLLABLE CYOSS;Lo;0;L;;;;;N;;;;;
-CD8D;HANGUL SYLLABLE CYONG;Lo;0;L;;;;;N;;;;;
-CD8E;HANGUL SYLLABLE CYOJ;Lo;0;L;;;;;N;;;;;
-CD8F;HANGUL SYLLABLE CYOC;Lo;0;L;;;;;N;;;;;
-CD90;HANGUL SYLLABLE CYOK;Lo;0;L;;;;;N;;;;;
-CD91;HANGUL SYLLABLE CYOT;Lo;0;L;;;;;N;;;;;
-CD92;HANGUL SYLLABLE CYOP;Lo;0;L;;;;;N;;;;;
-CD93;HANGUL SYLLABLE CYOH;Lo;0;L;;;;;N;;;;;
-CD94;HANGUL SYLLABLE CU;Lo;0;L;;;;;N;;;;;
-CD95;HANGUL SYLLABLE CUG;Lo;0;L;;;;;N;;;;;
-CD96;HANGUL SYLLABLE CUGG;Lo;0;L;;;;;N;;;;;
-CD97;HANGUL SYLLABLE CUGS;Lo;0;L;;;;;N;;;;;
-CD98;HANGUL SYLLABLE CUN;Lo;0;L;;;;;N;;;;;
-CD99;HANGUL SYLLABLE CUNI;Lo;0;L;;;;;N;;;;;
-CD9A;HANGUL SYLLABLE CUNH;Lo;0;L;;;;;N;;;;;
-CD9B;HANGUL SYLLABLE CUD;Lo;0;L;;;;;N;;;;;
-CD9C;HANGUL SYLLABLE CUL;Lo;0;L;;;;;N;;;;;
-CD9D;HANGUL SYLLABLE CULG;Lo;0;L;;;;;N;;;;;
-CD9E;HANGUL SYLLABLE CULM;Lo;0;L;;;;;N;;;;;
-CD9F;HANGUL SYLLABLE CULB;Lo;0;L;;;;;N;;;;;
-CDA0;HANGUL SYLLABLE CULS;Lo;0;L;;;;;N;;;;;
-CDA1;HANGUL SYLLABLE CULT;Lo;0;L;;;;;N;;;;;
-CDA2;HANGUL SYLLABLE CULP;Lo;0;L;;;;;N;;;;;
-CDA3;HANGUL SYLLABLE CULH;Lo;0;L;;;;;N;;;;;
-CDA4;HANGUL SYLLABLE CUM;Lo;0;L;;;;;N;;;;;
-CDA5;HANGUL SYLLABLE CUB;Lo;0;L;;;;;N;;;;;
-CDA6;HANGUL SYLLABLE CUBS;Lo;0;L;;;;;N;;;;;
-CDA7;HANGUL SYLLABLE CUS;Lo;0;L;;;;;N;;;;;
-CDA8;HANGUL SYLLABLE CUSS;Lo;0;L;;;;;N;;;;;
-CDA9;HANGUL SYLLABLE CUNG;Lo;0;L;;;;;N;;;;;
-CDAA;HANGUL SYLLABLE CUJ;Lo;0;L;;;;;N;;;;;
-CDAB;HANGUL SYLLABLE CUC;Lo;0;L;;;;;N;;;;;
-CDAC;HANGUL SYLLABLE CUK;Lo;0;L;;;;;N;;;;;
-CDAD;HANGUL SYLLABLE CUT;Lo;0;L;;;;;N;;;;;
-CDAE;HANGUL SYLLABLE CUP;Lo;0;L;;;;;N;;;;;
-CDAF;HANGUL SYLLABLE CUH;Lo;0;L;;;;;N;;;;;
-CDB0;HANGUL SYLLABLE CWEO;Lo;0;L;;;;;N;;;;;
-CDB1;HANGUL SYLLABLE CWEOG;Lo;0;L;;;;;N;;;;;
-CDB2;HANGUL SYLLABLE CWEOGG;Lo;0;L;;;;;N;;;;;
-CDB3;HANGUL SYLLABLE CWEOGS;Lo;0;L;;;;;N;;;;;
-CDB4;HANGUL SYLLABLE CWEON;Lo;0;L;;;;;N;;;;;
-CDB5;HANGUL SYLLABLE CWEONI;Lo;0;L;;;;;N;;;;;
-CDB6;HANGUL SYLLABLE CWEONH;Lo;0;L;;;;;N;;;;;
-CDB7;HANGUL SYLLABLE CWEOD;Lo;0;L;;;;;N;;;;;
-CDB8;HANGUL SYLLABLE CWEOL;Lo;0;L;;;;;N;;;;;
-CDB9;HANGUL SYLLABLE CWEOLG;Lo;0;L;;;;;N;;;;;
-CDBA;HANGUL SYLLABLE CWEOLM;Lo;0;L;;;;;N;;;;;
-CDBB;HANGUL SYLLABLE CWEOLB;Lo;0;L;;;;;N;;;;;
-CDBC;HANGUL SYLLABLE CWEOLS;Lo;0;L;;;;;N;;;;;
-CDBD;HANGUL SYLLABLE CWEOLT;Lo;0;L;;;;;N;;;;;
-CDBE;HANGUL SYLLABLE CWEOLP;Lo;0;L;;;;;N;;;;;
-CDBF;HANGUL SYLLABLE CWEOLH;Lo;0;L;;;;;N;;;;;
-CDC0;HANGUL SYLLABLE CWEOM;Lo;0;L;;;;;N;;;;;
-CDC1;HANGUL SYLLABLE CWEOB;Lo;0;L;;;;;N;;;;;
-CDC2;HANGUL SYLLABLE CWEOBS;Lo;0;L;;;;;N;;;;;
-CDC3;HANGUL SYLLABLE CWEOS;Lo;0;L;;;;;N;;;;;
-CDC4;HANGUL SYLLABLE CWEOSS;Lo;0;L;;;;;N;;;;;
-CDC5;HANGUL SYLLABLE CWEONG;Lo;0;L;;;;;N;;;;;
-CDC6;HANGUL SYLLABLE CWEOJ;Lo;0;L;;;;;N;;;;;
-CDC7;HANGUL SYLLABLE CWEOC;Lo;0;L;;;;;N;;;;;
-CDC8;HANGUL SYLLABLE CWEOK;Lo;0;L;;;;;N;;;;;
-CDC9;HANGUL SYLLABLE CWEOT;Lo;0;L;;;;;N;;;;;
-CDCA;HANGUL SYLLABLE CWEOP;Lo;0;L;;;;;N;;;;;
-CDCB;HANGUL SYLLABLE CWEOH;Lo;0;L;;;;;N;;;;;
-CDCC;HANGUL SYLLABLE CWE;Lo;0;L;;;;;N;;;;;
-CDCD;HANGUL SYLLABLE CWEG;Lo;0;L;;;;;N;;;;;
-CDCE;HANGUL SYLLABLE CWEGG;Lo;0;L;;;;;N;;;;;
-CDCF;HANGUL SYLLABLE CWEGS;Lo;0;L;;;;;N;;;;;
-CDD0;HANGUL SYLLABLE CWEN;Lo;0;L;;;;;N;;;;;
-CDD1;HANGUL SYLLABLE CWENI;Lo;0;L;;;;;N;;;;;
-CDD2;HANGUL SYLLABLE CWENH;Lo;0;L;;;;;N;;;;;
-CDD3;HANGUL SYLLABLE CWED;Lo;0;L;;;;;N;;;;;
-CDD4;HANGUL SYLLABLE CWEL;Lo;0;L;;;;;N;;;;;
-CDD5;HANGUL SYLLABLE CWELG;Lo;0;L;;;;;N;;;;;
-CDD6;HANGUL SYLLABLE CWELM;Lo;0;L;;;;;N;;;;;
-CDD7;HANGUL SYLLABLE CWELB;Lo;0;L;;;;;N;;;;;
-CDD8;HANGUL SYLLABLE CWELS;Lo;0;L;;;;;N;;;;;
-CDD9;HANGUL SYLLABLE CWELT;Lo;0;L;;;;;N;;;;;
-CDDA;HANGUL SYLLABLE CWELP;Lo;0;L;;;;;N;;;;;
-CDDB;HANGUL SYLLABLE CWELH;Lo;0;L;;;;;N;;;;;
-CDDC;HANGUL SYLLABLE CWEM;Lo;0;L;;;;;N;;;;;
-CDDD;HANGUL SYLLABLE CWEB;Lo;0;L;;;;;N;;;;;
-CDDE;HANGUL SYLLABLE CWEBS;Lo;0;L;;;;;N;;;;;
-CDDF;HANGUL SYLLABLE CWES;Lo;0;L;;;;;N;;;;;
-CDE0;HANGUL SYLLABLE CWESS;Lo;0;L;;;;;N;;;;;
-CDE1;HANGUL SYLLABLE CWENG;Lo;0;L;;;;;N;;;;;
-CDE2;HANGUL SYLLABLE CWEJ;Lo;0;L;;;;;N;;;;;
-CDE3;HANGUL SYLLABLE CWEC;Lo;0;L;;;;;N;;;;;
-CDE4;HANGUL SYLLABLE CWEK;Lo;0;L;;;;;N;;;;;
-CDE5;HANGUL SYLLABLE CWET;Lo;0;L;;;;;N;;;;;
-CDE6;HANGUL SYLLABLE CWEP;Lo;0;L;;;;;N;;;;;
-CDE7;HANGUL SYLLABLE CWEH;Lo;0;L;;;;;N;;;;;
-CDE8;HANGUL SYLLABLE CWI;Lo;0;L;;;;;N;;;;;
-CDE9;HANGUL SYLLABLE CWIG;Lo;0;L;;;;;N;;;;;
-CDEA;HANGUL SYLLABLE CWIGG;Lo;0;L;;;;;N;;;;;
-CDEB;HANGUL SYLLABLE CWIGS;Lo;0;L;;;;;N;;;;;
-CDEC;HANGUL SYLLABLE CWIN;Lo;0;L;;;;;N;;;;;
-CDED;HANGUL SYLLABLE CWINI;Lo;0;L;;;;;N;;;;;
-CDEE;HANGUL SYLLABLE CWINH;Lo;0;L;;;;;N;;;;;
-CDEF;HANGUL SYLLABLE CWID;Lo;0;L;;;;;N;;;;;
-CDF0;HANGUL SYLLABLE CWIL;Lo;0;L;;;;;N;;;;;
-CDF1;HANGUL SYLLABLE CWILG;Lo;0;L;;;;;N;;;;;
-CDF2;HANGUL SYLLABLE CWILM;Lo;0;L;;;;;N;;;;;
-CDF3;HANGUL SYLLABLE CWILB;Lo;0;L;;;;;N;;;;;
-CDF4;HANGUL SYLLABLE CWILS;Lo;0;L;;;;;N;;;;;
-CDF5;HANGUL SYLLABLE CWILT;Lo;0;L;;;;;N;;;;;
-CDF6;HANGUL SYLLABLE CWILP;Lo;0;L;;;;;N;;;;;
-CDF7;HANGUL SYLLABLE CWILH;Lo;0;L;;;;;N;;;;;
-CDF8;HANGUL SYLLABLE CWIM;Lo;0;L;;;;;N;;;;;
-CDF9;HANGUL SYLLABLE CWIB;Lo;0;L;;;;;N;;;;;
-CDFA;HANGUL SYLLABLE CWIBS;Lo;0;L;;;;;N;;;;;
-CDFB;HANGUL SYLLABLE CWIS;Lo;0;L;;;;;N;;;;;
-CDFC;HANGUL SYLLABLE CWISS;Lo;0;L;;;;;N;;;;;
-CDFD;HANGUL SYLLABLE CWING;Lo;0;L;;;;;N;;;;;
-CDFE;HANGUL SYLLABLE CWIJ;Lo;0;L;;;;;N;;;;;
-CDFF;HANGUL SYLLABLE CWIC;Lo;0;L;;;;;N;;;;;
-CE00;HANGUL SYLLABLE CWIK;Lo;0;L;;;;;N;;;;;
-CE01;HANGUL SYLLABLE CWIT;Lo;0;L;;;;;N;;;;;
-CE02;HANGUL SYLLABLE CWIP;Lo;0;L;;;;;N;;;;;
-CE03;HANGUL SYLLABLE CWIH;Lo;0;L;;;;;N;;;;;
-CE04;HANGUL SYLLABLE CYU;Lo;0;L;;;;;N;;;;;
-CE05;HANGUL SYLLABLE CYUG;Lo;0;L;;;;;N;;;;;
-CE06;HANGUL SYLLABLE CYUGG;Lo;0;L;;;;;N;;;;;
-CE07;HANGUL SYLLABLE CYUGS;Lo;0;L;;;;;N;;;;;
-CE08;HANGUL SYLLABLE CYUN;Lo;0;L;;;;;N;;;;;
-CE09;HANGUL SYLLABLE CYUNI;Lo;0;L;;;;;N;;;;;
-CE0A;HANGUL SYLLABLE CYUNH;Lo;0;L;;;;;N;;;;;
-CE0B;HANGUL SYLLABLE CYUD;Lo;0;L;;;;;N;;;;;
-CE0C;HANGUL SYLLABLE CYUL;Lo;0;L;;;;;N;;;;;
-CE0D;HANGUL SYLLABLE CYULG;Lo;0;L;;;;;N;;;;;
-CE0E;HANGUL SYLLABLE CYULM;Lo;0;L;;;;;N;;;;;
-CE0F;HANGUL SYLLABLE CYULB;Lo;0;L;;;;;N;;;;;
-CE10;HANGUL SYLLABLE CYULS;Lo;0;L;;;;;N;;;;;
-CE11;HANGUL SYLLABLE CYULT;Lo;0;L;;;;;N;;;;;
-CE12;HANGUL SYLLABLE CYULP;Lo;0;L;;;;;N;;;;;
-CE13;HANGUL SYLLABLE CYULH;Lo;0;L;;;;;N;;;;;
-CE14;HANGUL SYLLABLE CYUM;Lo;0;L;;;;;N;;;;;
-CE15;HANGUL SYLLABLE CYUB;Lo;0;L;;;;;N;;;;;
-CE16;HANGUL SYLLABLE CYUBS;Lo;0;L;;;;;N;;;;;
-CE17;HANGUL SYLLABLE CYUS;Lo;0;L;;;;;N;;;;;
-CE18;HANGUL SYLLABLE CYUSS;Lo;0;L;;;;;N;;;;;
-CE19;HANGUL SYLLABLE CYUNG;Lo;0;L;;;;;N;;;;;
-CE1A;HANGUL SYLLABLE CYUJ;Lo;0;L;;;;;N;;;;;
-CE1B;HANGUL SYLLABLE CYUC;Lo;0;L;;;;;N;;;;;
-CE1C;HANGUL SYLLABLE CYUK;Lo;0;L;;;;;N;;;;;
-CE1D;HANGUL SYLLABLE CYUT;Lo;0;L;;;;;N;;;;;
-CE1E;HANGUL SYLLABLE CYUP;Lo;0;L;;;;;N;;;;;
-CE1F;HANGUL SYLLABLE CYUH;Lo;0;L;;;;;N;;;;;
-CE20;HANGUL SYLLABLE CEU;Lo;0;L;;;;;N;;;;;
-CE21;HANGUL SYLLABLE CEUG;Lo;0;L;;;;;N;;;;;
-CE22;HANGUL SYLLABLE CEUGG;Lo;0;L;;;;;N;;;;;
-CE23;HANGUL SYLLABLE CEUGS;Lo;0;L;;;;;N;;;;;
-CE24;HANGUL SYLLABLE CEUN;Lo;0;L;;;;;N;;;;;
-CE25;HANGUL SYLLABLE CEUNI;Lo;0;L;;;;;N;;;;;
-CE26;HANGUL SYLLABLE CEUNH;Lo;0;L;;;;;N;;;;;
-CE27;HANGUL SYLLABLE CEUD;Lo;0;L;;;;;N;;;;;
-CE28;HANGUL SYLLABLE CEUL;Lo;0;L;;;;;N;;;;;
-CE29;HANGUL SYLLABLE CEULG;Lo;0;L;;;;;N;;;;;
-CE2A;HANGUL SYLLABLE CEULM;Lo;0;L;;;;;N;;;;;
-CE2B;HANGUL SYLLABLE CEULB;Lo;0;L;;;;;N;;;;;
-CE2C;HANGUL SYLLABLE CEULS;Lo;0;L;;;;;N;;;;;
-CE2D;HANGUL SYLLABLE CEULT;Lo;0;L;;;;;N;;;;;
-CE2E;HANGUL SYLLABLE CEULP;Lo;0;L;;;;;N;;;;;
-CE2F;HANGUL SYLLABLE CEULH;Lo;0;L;;;;;N;;;;;
-CE30;HANGUL SYLLABLE CEUM;Lo;0;L;;;;;N;;;;;
-CE31;HANGUL SYLLABLE CEUB;Lo;0;L;;;;;N;;;;;
-CE32;HANGUL SYLLABLE CEUBS;Lo;0;L;;;;;N;;;;;
-CE33;HANGUL SYLLABLE CEUS;Lo;0;L;;;;;N;;;;;
-CE34;HANGUL SYLLABLE CEUSS;Lo;0;L;;;;;N;;;;;
-CE35;HANGUL SYLLABLE CEUNG;Lo;0;L;;;;;N;;;;;
-CE36;HANGUL SYLLABLE CEUJ;Lo;0;L;;;;;N;;;;;
-CE37;HANGUL SYLLABLE CEUC;Lo;0;L;;;;;N;;;;;
-CE38;HANGUL SYLLABLE CEUK;Lo;0;L;;;;;N;;;;;
-CE39;HANGUL SYLLABLE CEUT;Lo;0;L;;;;;N;;;;;
-CE3A;HANGUL SYLLABLE CEUP;Lo;0;L;;;;;N;;;;;
-CE3B;HANGUL SYLLABLE CEUH;Lo;0;L;;;;;N;;;;;
-CE3C;HANGUL SYLLABLE CYI;Lo;0;L;;;;;N;;;;;
-CE3D;HANGUL SYLLABLE CYIG;Lo;0;L;;;;;N;;;;;
-CE3E;HANGUL SYLLABLE CYIGG;Lo;0;L;;;;;N;;;;;
-CE3F;HANGUL SYLLABLE CYIGS;Lo;0;L;;;;;N;;;;;
-CE40;HANGUL SYLLABLE CYIN;Lo;0;L;;;;;N;;;;;
-CE41;HANGUL SYLLABLE CYINI;Lo;0;L;;;;;N;;;;;
-CE42;HANGUL SYLLABLE CYINH;Lo;0;L;;;;;N;;;;;
-CE43;HANGUL SYLLABLE CYID;Lo;0;L;;;;;N;;;;;
-CE44;HANGUL SYLLABLE CYIL;Lo;0;L;;;;;N;;;;;
-CE45;HANGUL SYLLABLE CYILG;Lo;0;L;;;;;N;;;;;
-CE46;HANGUL SYLLABLE CYILM;Lo;0;L;;;;;N;;;;;
-CE47;HANGUL SYLLABLE CYILB;Lo;0;L;;;;;N;;;;;
-CE48;HANGUL SYLLABLE CYILS;Lo;0;L;;;;;N;;;;;
-CE49;HANGUL SYLLABLE CYILT;Lo;0;L;;;;;N;;;;;
-CE4A;HANGUL SYLLABLE CYILP;Lo;0;L;;;;;N;;;;;
-CE4B;HANGUL SYLLABLE CYILH;Lo;0;L;;;;;N;;;;;
-CE4C;HANGUL SYLLABLE CYIM;Lo;0;L;;;;;N;;;;;
-CE4D;HANGUL SYLLABLE CYIB;Lo;0;L;;;;;N;;;;;
-CE4E;HANGUL SYLLABLE CYIBS;Lo;0;L;;;;;N;;;;;
-CE4F;HANGUL SYLLABLE CYIS;Lo;0;L;;;;;N;;;;;
-CE50;HANGUL SYLLABLE CYISS;Lo;0;L;;;;;N;;;;;
-CE51;HANGUL SYLLABLE CYING;Lo;0;L;;;;;N;;;;;
-CE52;HANGUL SYLLABLE CYIJ;Lo;0;L;;;;;N;;;;;
-CE53;HANGUL SYLLABLE CYIC;Lo;0;L;;;;;N;;;;;
-CE54;HANGUL SYLLABLE CYIK;Lo;0;L;;;;;N;;;;;
-CE55;HANGUL SYLLABLE CYIT;Lo;0;L;;;;;N;;;;;
-CE56;HANGUL SYLLABLE CYIP;Lo;0;L;;;;;N;;;;;
-CE57;HANGUL SYLLABLE CYIH;Lo;0;L;;;;;N;;;;;
-CE58;HANGUL SYLLABLE CI;Lo;0;L;;;;;N;;;;;
-CE59;HANGUL SYLLABLE CIG;Lo;0;L;;;;;N;;;;;
-CE5A;HANGUL SYLLABLE CIGG;Lo;0;L;;;;;N;;;;;
-CE5B;HANGUL SYLLABLE CIGS;Lo;0;L;;;;;N;;;;;
-CE5C;HANGUL SYLLABLE CIN;Lo;0;L;;;;;N;;;;;
-CE5D;HANGUL SYLLABLE CINI;Lo;0;L;;;;;N;;;;;
-CE5E;HANGUL SYLLABLE CINH;Lo;0;L;;;;;N;;;;;
-CE5F;HANGUL SYLLABLE CID;Lo;0;L;;;;;N;;;;;
-CE60;HANGUL SYLLABLE CIL;Lo;0;L;;;;;N;;;;;
-CE61;HANGUL SYLLABLE CILG;Lo;0;L;;;;;N;;;;;
-CE62;HANGUL SYLLABLE CILM;Lo;0;L;;;;;N;;;;;
-CE63;HANGUL SYLLABLE CILB;Lo;0;L;;;;;N;;;;;
-CE64;HANGUL SYLLABLE CILS;Lo;0;L;;;;;N;;;;;
-CE65;HANGUL SYLLABLE CILT;Lo;0;L;;;;;N;;;;;
-CE66;HANGUL SYLLABLE CILP;Lo;0;L;;;;;N;;;;;
-CE67;HANGUL SYLLABLE CILH;Lo;0;L;;;;;N;;;;;
-CE68;HANGUL SYLLABLE CIM;Lo;0;L;;;;;N;;;;;
-CE69;HANGUL SYLLABLE CIB;Lo;0;L;;;;;N;;;;;
-CE6A;HANGUL SYLLABLE CIBS;Lo;0;L;;;;;N;;;;;
-CE6B;HANGUL SYLLABLE CIS;Lo;0;L;;;;;N;;;;;
-CE6C;HANGUL SYLLABLE CISS;Lo;0;L;;;;;N;;;;;
-CE6D;HANGUL SYLLABLE CING;Lo;0;L;;;;;N;;;;;
-CE6E;HANGUL SYLLABLE CIJ;Lo;0;L;;;;;N;;;;;
-CE6F;HANGUL SYLLABLE CIC;Lo;0;L;;;;;N;;;;;
-CE70;HANGUL SYLLABLE CIK;Lo;0;L;;;;;N;;;;;
-CE71;HANGUL SYLLABLE CIT;Lo;0;L;;;;;N;;;;;
-CE72;HANGUL SYLLABLE CIP;Lo;0;L;;;;;N;;;;;
-CE73;HANGUL SYLLABLE CIH;Lo;0;L;;;;;N;;;;;
-CE74;HANGUL SYLLABLE KA;Lo;0;L;;;;;N;;;;;
-CE75;HANGUL SYLLABLE KAG;Lo;0;L;;;;;N;;;;;
-CE76;HANGUL SYLLABLE KAGG;Lo;0;L;;;;;N;;;;;
-CE77;HANGUL SYLLABLE KAGS;Lo;0;L;;;;;N;;;;;
-CE78;HANGUL SYLLABLE KAN;Lo;0;L;;;;;N;;;;;
-CE79;HANGUL SYLLABLE KANI;Lo;0;L;;;;;N;;;;;
-CE7A;HANGUL SYLLABLE KANH;Lo;0;L;;;;;N;;;;;
-CE7B;HANGUL SYLLABLE KAD;Lo;0;L;;;;;N;;;;;
-CE7C;HANGUL SYLLABLE KAL;Lo;0;L;;;;;N;;;;;
-CE7D;HANGUL SYLLABLE KALG;Lo;0;L;;;;;N;;;;;
-CE7E;HANGUL SYLLABLE KALM;Lo;0;L;;;;;N;;;;;
-CE7F;HANGUL SYLLABLE KALB;Lo;0;L;;;;;N;;;;;
-CE80;HANGUL SYLLABLE KALS;Lo;0;L;;;;;N;;;;;
-CE81;HANGUL SYLLABLE KALT;Lo;0;L;;;;;N;;;;;
-CE82;HANGUL SYLLABLE KALP;Lo;0;L;;;;;N;;;;;
-CE83;HANGUL SYLLABLE KALH;Lo;0;L;;;;;N;;;;;
-CE84;HANGUL SYLLABLE KAM;Lo;0;L;;;;;N;;;;;
-CE85;HANGUL SYLLABLE KAB;Lo;0;L;;;;;N;;;;;
-CE86;HANGUL SYLLABLE KABS;Lo;0;L;;;;;N;;;;;
-CE87;HANGUL SYLLABLE KAS;Lo;0;L;;;;;N;;;;;
-CE88;HANGUL SYLLABLE KASS;Lo;0;L;;;;;N;;;;;
-CE89;HANGUL SYLLABLE KANG;Lo;0;L;;;;;N;;;;;
-CE8A;HANGUL SYLLABLE KAJ;Lo;0;L;;;;;N;;;;;
-CE8B;HANGUL SYLLABLE KAC;Lo;0;L;;;;;N;;;;;
-CE8C;HANGUL SYLLABLE KAK;Lo;0;L;;;;;N;;;;;
-CE8D;HANGUL SYLLABLE KAT;Lo;0;L;;;;;N;;;;;
-CE8E;HANGUL SYLLABLE KAP;Lo;0;L;;;;;N;;;;;
-CE8F;HANGUL SYLLABLE KAH;Lo;0;L;;;;;N;;;;;
-CE90;HANGUL SYLLABLE KAE;Lo;0;L;;;;;N;;;;;
-CE91;HANGUL SYLLABLE KAEG;Lo;0;L;;;;;N;;;;;
-CE92;HANGUL SYLLABLE KAEGG;Lo;0;L;;;;;N;;;;;
-CE93;HANGUL SYLLABLE KAEGS;Lo;0;L;;;;;N;;;;;
-CE94;HANGUL SYLLABLE KAEN;Lo;0;L;;;;;N;;;;;
-CE95;HANGUL SYLLABLE KAENI;Lo;0;L;;;;;N;;;;;
-CE96;HANGUL SYLLABLE KAENH;Lo;0;L;;;;;N;;;;;
-CE97;HANGUL SYLLABLE KAED;Lo;0;L;;;;;N;;;;;
-CE98;HANGUL SYLLABLE KAEL;Lo;0;L;;;;;N;;;;;
-CE99;HANGUL SYLLABLE KAELG;Lo;0;L;;;;;N;;;;;
-CE9A;HANGUL SYLLABLE KAELM;Lo;0;L;;;;;N;;;;;
-CE9B;HANGUL SYLLABLE KAELB;Lo;0;L;;;;;N;;;;;
-CE9C;HANGUL SYLLABLE KAELS;Lo;0;L;;;;;N;;;;;
-CE9D;HANGUL SYLLABLE KAELT;Lo;0;L;;;;;N;;;;;
-CE9E;HANGUL SYLLABLE KAELP;Lo;0;L;;;;;N;;;;;
-CE9F;HANGUL SYLLABLE KAELH;Lo;0;L;;;;;N;;;;;
-CEA0;HANGUL SYLLABLE KAEM;Lo;0;L;;;;;N;;;;;
-CEA1;HANGUL SYLLABLE KAEB;Lo;0;L;;;;;N;;;;;
-CEA2;HANGUL SYLLABLE KAEBS;Lo;0;L;;;;;N;;;;;
-CEA3;HANGUL SYLLABLE KAES;Lo;0;L;;;;;N;;;;;
-CEA4;HANGUL SYLLABLE KAESS;Lo;0;L;;;;;N;;;;;
-CEA5;HANGUL SYLLABLE KAENG;Lo;0;L;;;;;N;;;;;
-CEA6;HANGUL SYLLABLE KAEJ;Lo;0;L;;;;;N;;;;;
-CEA7;HANGUL SYLLABLE KAEC;Lo;0;L;;;;;N;;;;;
-CEA8;HANGUL SYLLABLE KAEK;Lo;0;L;;;;;N;;;;;
-CEA9;HANGUL SYLLABLE KAET;Lo;0;L;;;;;N;;;;;
-CEAA;HANGUL SYLLABLE KAEP;Lo;0;L;;;;;N;;;;;
-CEAB;HANGUL SYLLABLE KAEH;Lo;0;L;;;;;N;;;;;
-CEAC;HANGUL SYLLABLE KYA;Lo;0;L;;;;;N;;;;;
-CEAD;HANGUL SYLLABLE KYAG;Lo;0;L;;;;;N;;;;;
-CEAE;HANGUL SYLLABLE KYAGG;Lo;0;L;;;;;N;;;;;
-CEAF;HANGUL SYLLABLE KYAGS;Lo;0;L;;;;;N;;;;;
-CEB0;HANGUL SYLLABLE KYAN;Lo;0;L;;;;;N;;;;;
-CEB1;HANGUL SYLLABLE KYANI;Lo;0;L;;;;;N;;;;;
-CEB2;HANGUL SYLLABLE KYANH;Lo;0;L;;;;;N;;;;;
-CEB3;HANGUL SYLLABLE KYAD;Lo;0;L;;;;;N;;;;;
-CEB4;HANGUL SYLLABLE KYAL;Lo;0;L;;;;;N;;;;;
-CEB5;HANGUL SYLLABLE KYALG;Lo;0;L;;;;;N;;;;;
-CEB6;HANGUL SYLLABLE KYALM;Lo;0;L;;;;;N;;;;;
-CEB7;HANGUL SYLLABLE KYALB;Lo;0;L;;;;;N;;;;;
-CEB8;HANGUL SYLLABLE KYALS;Lo;0;L;;;;;N;;;;;
-CEB9;HANGUL SYLLABLE KYALT;Lo;0;L;;;;;N;;;;;
-CEBA;HANGUL SYLLABLE KYALP;Lo;0;L;;;;;N;;;;;
-CEBB;HANGUL SYLLABLE KYALH;Lo;0;L;;;;;N;;;;;
-CEBC;HANGUL SYLLABLE KYAM;Lo;0;L;;;;;N;;;;;
-CEBD;HANGUL SYLLABLE KYAB;Lo;0;L;;;;;N;;;;;
-CEBE;HANGUL SYLLABLE KYABS;Lo;0;L;;;;;N;;;;;
-CEBF;HANGUL SYLLABLE KYAS;Lo;0;L;;;;;N;;;;;
-CEC0;HANGUL SYLLABLE KYASS;Lo;0;L;;;;;N;;;;;
-CEC1;HANGUL SYLLABLE KYANG;Lo;0;L;;;;;N;;;;;
-CEC2;HANGUL SYLLABLE KYAJ;Lo;0;L;;;;;N;;;;;
-CEC3;HANGUL SYLLABLE KYAC;Lo;0;L;;;;;N;;;;;
-CEC4;HANGUL SYLLABLE KYAK;Lo;0;L;;;;;N;;;;;
-CEC5;HANGUL SYLLABLE KYAT;Lo;0;L;;;;;N;;;;;
-CEC6;HANGUL SYLLABLE KYAP;Lo;0;L;;;;;N;;;;;
-CEC7;HANGUL SYLLABLE KYAH;Lo;0;L;;;;;N;;;;;
-CEC8;HANGUL SYLLABLE KYAE;Lo;0;L;;;;;N;;;;;
-CEC9;HANGUL SYLLABLE KYAEG;Lo;0;L;;;;;N;;;;;
-CECA;HANGUL SYLLABLE KYAEGG;Lo;0;L;;;;;N;;;;;
-CECB;HANGUL SYLLABLE KYAEGS;Lo;0;L;;;;;N;;;;;
-CECC;HANGUL SYLLABLE KYAEN;Lo;0;L;;;;;N;;;;;
-CECD;HANGUL SYLLABLE KYAENI;Lo;0;L;;;;;N;;;;;
-CECE;HANGUL SYLLABLE KYAENH;Lo;0;L;;;;;N;;;;;
-CECF;HANGUL SYLLABLE KYAED;Lo;0;L;;;;;N;;;;;
-CED0;HANGUL SYLLABLE KYAEL;Lo;0;L;;;;;N;;;;;
-CED1;HANGUL SYLLABLE KYAELG;Lo;0;L;;;;;N;;;;;
-CED2;HANGUL SYLLABLE KYAELM;Lo;0;L;;;;;N;;;;;
-CED3;HANGUL SYLLABLE KYAELB;Lo;0;L;;;;;N;;;;;
-CED4;HANGUL SYLLABLE KYAELS;Lo;0;L;;;;;N;;;;;
-CED5;HANGUL SYLLABLE KYAELT;Lo;0;L;;;;;N;;;;;
-CED6;HANGUL SYLLABLE KYAELP;Lo;0;L;;;;;N;;;;;
-CED7;HANGUL SYLLABLE KYAELH;Lo;0;L;;;;;N;;;;;
-CED8;HANGUL SYLLABLE KYAEM;Lo;0;L;;;;;N;;;;;
-CED9;HANGUL SYLLABLE KYAEB;Lo;0;L;;;;;N;;;;;
-CEDA;HANGUL SYLLABLE KYAEBS;Lo;0;L;;;;;N;;;;;
-CEDB;HANGUL SYLLABLE KYAES;Lo;0;L;;;;;N;;;;;
-CEDC;HANGUL SYLLABLE KYAESS;Lo;0;L;;;;;N;;;;;
-CEDD;HANGUL SYLLABLE KYAENG;Lo;0;L;;;;;N;;;;;
-CEDE;HANGUL SYLLABLE KYAEJ;Lo;0;L;;;;;N;;;;;
-CEDF;HANGUL SYLLABLE KYAEC;Lo;0;L;;;;;N;;;;;
-CEE0;HANGUL SYLLABLE KYAEK;Lo;0;L;;;;;N;;;;;
-CEE1;HANGUL SYLLABLE KYAET;Lo;0;L;;;;;N;;;;;
-CEE2;HANGUL SYLLABLE KYAEP;Lo;0;L;;;;;N;;;;;
-CEE3;HANGUL SYLLABLE KYAEH;Lo;0;L;;;;;N;;;;;
-CEE4;HANGUL SYLLABLE KEO;Lo;0;L;;;;;N;;;;;
-CEE5;HANGUL SYLLABLE KEOG;Lo;0;L;;;;;N;;;;;
-CEE6;HANGUL SYLLABLE KEOGG;Lo;0;L;;;;;N;;;;;
-CEE7;HANGUL SYLLABLE KEOGS;Lo;0;L;;;;;N;;;;;
-CEE8;HANGUL SYLLABLE KEON;Lo;0;L;;;;;N;;;;;
-CEE9;HANGUL SYLLABLE KEONI;Lo;0;L;;;;;N;;;;;
-CEEA;HANGUL SYLLABLE KEONH;Lo;0;L;;;;;N;;;;;
-CEEB;HANGUL SYLLABLE KEOD;Lo;0;L;;;;;N;;;;;
-CEEC;HANGUL SYLLABLE KEOL;Lo;0;L;;;;;N;;;;;
-CEED;HANGUL SYLLABLE KEOLG;Lo;0;L;;;;;N;;;;;
-CEEE;HANGUL SYLLABLE KEOLM;Lo;0;L;;;;;N;;;;;
-CEEF;HANGUL SYLLABLE KEOLB;Lo;0;L;;;;;N;;;;;
-CEF0;HANGUL SYLLABLE KEOLS;Lo;0;L;;;;;N;;;;;
-CEF1;HANGUL SYLLABLE KEOLT;Lo;0;L;;;;;N;;;;;
-CEF2;HANGUL SYLLABLE KEOLP;Lo;0;L;;;;;N;;;;;
-CEF3;HANGUL SYLLABLE KEOLH;Lo;0;L;;;;;N;;;;;
-CEF4;HANGUL SYLLABLE KEOM;Lo;0;L;;;;;N;;;;;
-CEF5;HANGUL SYLLABLE KEOB;Lo;0;L;;;;;N;;;;;
-CEF6;HANGUL SYLLABLE KEOBS;Lo;0;L;;;;;N;;;;;
-CEF7;HANGUL SYLLABLE KEOS;Lo;0;L;;;;;N;;;;;
-CEF8;HANGUL SYLLABLE KEOSS;Lo;0;L;;;;;N;;;;;
-CEF9;HANGUL SYLLABLE KEONG;Lo;0;L;;;;;N;;;;;
-CEFA;HANGUL SYLLABLE KEOJ;Lo;0;L;;;;;N;;;;;
-CEFB;HANGUL SYLLABLE KEOC;Lo;0;L;;;;;N;;;;;
-CEFC;HANGUL SYLLABLE KEOK;Lo;0;L;;;;;N;;;;;
-CEFD;HANGUL SYLLABLE KEOT;Lo;0;L;;;;;N;;;;;
-CEFE;HANGUL SYLLABLE KEOP;Lo;0;L;;;;;N;;;;;
-CEFF;HANGUL SYLLABLE KEOH;Lo;0;L;;;;;N;;;;;
-CF00;HANGUL SYLLABLE KE;Lo;0;L;;;;;N;;;;;
-CF01;HANGUL SYLLABLE KEG;Lo;0;L;;;;;N;;;;;
-CF02;HANGUL SYLLABLE KEGG;Lo;0;L;;;;;N;;;;;
-CF03;HANGUL SYLLABLE KEGS;Lo;0;L;;;;;N;;;;;
-CF04;HANGUL SYLLABLE KEN;Lo;0;L;;;;;N;;;;;
-CF05;HANGUL SYLLABLE KENI;Lo;0;L;;;;;N;;;;;
-CF06;HANGUL SYLLABLE KENH;Lo;0;L;;;;;N;;;;;
-CF07;HANGUL SYLLABLE KED;Lo;0;L;;;;;N;;;;;
-CF08;HANGUL SYLLABLE KEL;Lo;0;L;;;;;N;;;;;
-CF09;HANGUL SYLLABLE KELG;Lo;0;L;;;;;N;;;;;
-CF0A;HANGUL SYLLABLE KELM;Lo;0;L;;;;;N;;;;;
-CF0B;HANGUL SYLLABLE KELB;Lo;0;L;;;;;N;;;;;
-CF0C;HANGUL SYLLABLE KELS;Lo;0;L;;;;;N;;;;;
-CF0D;HANGUL SYLLABLE KELT;Lo;0;L;;;;;N;;;;;
-CF0E;HANGUL SYLLABLE KELP;Lo;0;L;;;;;N;;;;;
-CF0F;HANGUL SYLLABLE KELH;Lo;0;L;;;;;N;;;;;
-CF10;HANGUL SYLLABLE KEM;Lo;0;L;;;;;N;;;;;
-CF11;HANGUL SYLLABLE KEB;Lo;0;L;;;;;N;;;;;
-CF12;HANGUL SYLLABLE KEBS;Lo;0;L;;;;;N;;;;;
-CF13;HANGUL SYLLABLE KES;Lo;0;L;;;;;N;;;;;
-CF14;HANGUL SYLLABLE KESS;Lo;0;L;;;;;N;;;;;
-CF15;HANGUL SYLLABLE KENG;Lo;0;L;;;;;N;;;;;
-CF16;HANGUL SYLLABLE KEJ;Lo;0;L;;;;;N;;;;;
-CF17;HANGUL SYLLABLE KEC;Lo;0;L;;;;;N;;;;;
-CF18;HANGUL SYLLABLE KEK;Lo;0;L;;;;;N;;;;;
-CF19;HANGUL SYLLABLE KET;Lo;0;L;;;;;N;;;;;
-CF1A;HANGUL SYLLABLE KEP;Lo;0;L;;;;;N;;;;;
-CF1B;HANGUL SYLLABLE KEH;Lo;0;L;;;;;N;;;;;
-CF1C;HANGUL SYLLABLE KYEO;Lo;0;L;;;;;N;;;;;
-CF1D;HANGUL SYLLABLE KYEOG;Lo;0;L;;;;;N;;;;;
-CF1E;HANGUL SYLLABLE KYEOGG;Lo;0;L;;;;;N;;;;;
-CF1F;HANGUL SYLLABLE KYEOGS;Lo;0;L;;;;;N;;;;;
-CF20;HANGUL SYLLABLE KYEON;Lo;0;L;;;;;N;;;;;
-CF21;HANGUL SYLLABLE KYEONI;Lo;0;L;;;;;N;;;;;
-CF22;HANGUL SYLLABLE KYEONH;Lo;0;L;;;;;N;;;;;
-CF23;HANGUL SYLLABLE KYEOD;Lo;0;L;;;;;N;;;;;
-CF24;HANGUL SYLLABLE KYEOL;Lo;0;L;;;;;N;;;;;
-CF25;HANGUL SYLLABLE KYEOLG;Lo;0;L;;;;;N;;;;;
-CF26;HANGUL SYLLABLE KYEOLM;Lo;0;L;;;;;N;;;;;
-CF27;HANGUL SYLLABLE KYEOLB;Lo;0;L;;;;;N;;;;;
-CF28;HANGUL SYLLABLE KYEOLS;Lo;0;L;;;;;N;;;;;
-CF29;HANGUL SYLLABLE KYEOLT;Lo;0;L;;;;;N;;;;;
-CF2A;HANGUL SYLLABLE KYEOLP;Lo;0;L;;;;;N;;;;;
-CF2B;HANGUL SYLLABLE KYEOLH;Lo;0;L;;;;;N;;;;;
-CF2C;HANGUL SYLLABLE KYEOM;Lo;0;L;;;;;N;;;;;
-CF2D;HANGUL SYLLABLE KYEOB;Lo;0;L;;;;;N;;;;;
-CF2E;HANGUL SYLLABLE KYEOBS;Lo;0;L;;;;;N;;;;;
-CF2F;HANGUL SYLLABLE KYEOS;Lo;0;L;;;;;N;;;;;
-CF30;HANGUL SYLLABLE KYEOSS;Lo;0;L;;;;;N;;;;;
-CF31;HANGUL SYLLABLE KYEONG;Lo;0;L;;;;;N;;;;;
-CF32;HANGUL SYLLABLE KYEOJ;Lo;0;L;;;;;N;;;;;
-CF33;HANGUL SYLLABLE KYEOC;Lo;0;L;;;;;N;;;;;
-CF34;HANGUL SYLLABLE KYEOK;Lo;0;L;;;;;N;;;;;
-CF35;HANGUL SYLLABLE KYEOT;Lo;0;L;;;;;N;;;;;
-CF36;HANGUL SYLLABLE KYEOP;Lo;0;L;;;;;N;;;;;
-CF37;HANGUL SYLLABLE KYEOH;Lo;0;L;;;;;N;;;;;
-CF38;HANGUL SYLLABLE KYE;Lo;0;L;;;;;N;;;;;
-CF39;HANGUL SYLLABLE KYEG;Lo;0;L;;;;;N;;;;;
-CF3A;HANGUL SYLLABLE KYEGG;Lo;0;L;;;;;N;;;;;
-CF3B;HANGUL SYLLABLE KYEGS;Lo;0;L;;;;;N;;;;;
-CF3C;HANGUL SYLLABLE KYEN;Lo;0;L;;;;;N;;;;;
-CF3D;HANGUL SYLLABLE KYENI;Lo;0;L;;;;;N;;;;;
-CF3E;HANGUL SYLLABLE KYENH;Lo;0;L;;;;;N;;;;;
-CF3F;HANGUL SYLLABLE KYED;Lo;0;L;;;;;N;;;;;
-CF40;HANGUL SYLLABLE KYEL;Lo;0;L;;;;;N;;;;;
-CF41;HANGUL SYLLABLE KYELG;Lo;0;L;;;;;N;;;;;
-CF42;HANGUL SYLLABLE KYELM;Lo;0;L;;;;;N;;;;;
-CF43;HANGUL SYLLABLE KYELB;Lo;0;L;;;;;N;;;;;
-CF44;HANGUL SYLLABLE KYELS;Lo;0;L;;;;;N;;;;;
-CF45;HANGUL SYLLABLE KYELT;Lo;0;L;;;;;N;;;;;
-CF46;HANGUL SYLLABLE KYELP;Lo;0;L;;;;;N;;;;;
-CF47;HANGUL SYLLABLE KYELH;Lo;0;L;;;;;N;;;;;
-CF48;HANGUL SYLLABLE KYEM;Lo;0;L;;;;;N;;;;;
-CF49;HANGUL SYLLABLE KYEB;Lo;0;L;;;;;N;;;;;
-CF4A;HANGUL SYLLABLE KYEBS;Lo;0;L;;;;;N;;;;;
-CF4B;HANGUL SYLLABLE KYES;Lo;0;L;;;;;N;;;;;
-CF4C;HANGUL SYLLABLE KYESS;Lo;0;L;;;;;N;;;;;
-CF4D;HANGUL SYLLABLE KYENG;Lo;0;L;;;;;N;;;;;
-CF4E;HANGUL SYLLABLE KYEJ;Lo;0;L;;;;;N;;;;;
-CF4F;HANGUL SYLLABLE KYEC;Lo;0;L;;;;;N;;;;;
-CF50;HANGUL SYLLABLE KYEK;Lo;0;L;;;;;N;;;;;
-CF51;HANGUL SYLLABLE KYET;Lo;0;L;;;;;N;;;;;
-CF52;HANGUL SYLLABLE KYEP;Lo;0;L;;;;;N;;;;;
-CF53;HANGUL SYLLABLE KYEH;Lo;0;L;;;;;N;;;;;
-CF54;HANGUL SYLLABLE KO;Lo;0;L;;;;;N;;;;;
-CF55;HANGUL SYLLABLE KOG;Lo;0;L;;;;;N;;;;;
-CF56;HANGUL SYLLABLE KOGG;Lo;0;L;;;;;N;;;;;
-CF57;HANGUL SYLLABLE KOGS;Lo;0;L;;;;;N;;;;;
-CF58;HANGUL SYLLABLE KON;Lo;0;L;;;;;N;;;;;
-CF59;HANGUL SYLLABLE KONI;Lo;0;L;;;;;N;;;;;
-CF5A;HANGUL SYLLABLE KONH;Lo;0;L;;;;;N;;;;;
-CF5B;HANGUL SYLLABLE KOD;Lo;0;L;;;;;N;;;;;
-CF5C;HANGUL SYLLABLE KOL;Lo;0;L;;;;;N;;;;;
-CF5D;HANGUL SYLLABLE KOLG;Lo;0;L;;;;;N;;;;;
-CF5E;HANGUL SYLLABLE KOLM;Lo;0;L;;;;;N;;;;;
-CF5F;HANGUL SYLLABLE KOLB;Lo;0;L;;;;;N;;;;;
-CF60;HANGUL SYLLABLE KOLS;Lo;0;L;;;;;N;;;;;
-CF61;HANGUL SYLLABLE KOLT;Lo;0;L;;;;;N;;;;;
-CF62;HANGUL SYLLABLE KOLP;Lo;0;L;;;;;N;;;;;
-CF63;HANGUL SYLLABLE KOLH;Lo;0;L;;;;;N;;;;;
-CF64;HANGUL SYLLABLE KOM;Lo;0;L;;;;;N;;;;;
-CF65;HANGUL SYLLABLE KOB;Lo;0;L;;;;;N;;;;;
-CF66;HANGUL SYLLABLE KOBS;Lo;0;L;;;;;N;;;;;
-CF67;HANGUL SYLLABLE KOS;Lo;0;L;;;;;N;;;;;
-CF68;HANGUL SYLLABLE KOSS;Lo;0;L;;;;;N;;;;;
-CF69;HANGUL SYLLABLE KONG;Lo;0;L;;;;;N;;;;;
-CF6A;HANGUL SYLLABLE KOJ;Lo;0;L;;;;;N;;;;;
-CF6B;HANGUL SYLLABLE KOC;Lo;0;L;;;;;N;;;;;
-CF6C;HANGUL SYLLABLE KOK;Lo;0;L;;;;;N;;;;;
-CF6D;HANGUL SYLLABLE KOT;Lo;0;L;;;;;N;;;;;
-CF6E;HANGUL SYLLABLE KOP;Lo;0;L;;;;;N;;;;;
-CF6F;HANGUL SYLLABLE KOH;Lo;0;L;;;;;N;;;;;
-CF70;HANGUL SYLLABLE KWA;Lo;0;L;;;;;N;;;;;
-CF71;HANGUL SYLLABLE KWAG;Lo;0;L;;;;;N;;;;;
-CF72;HANGUL SYLLABLE KWAGG;Lo;0;L;;;;;N;;;;;
-CF73;HANGUL SYLLABLE KWAGS;Lo;0;L;;;;;N;;;;;
-CF74;HANGUL SYLLABLE KWAN;Lo;0;L;;;;;N;;;;;
-CF75;HANGUL SYLLABLE KWANI;Lo;0;L;;;;;N;;;;;
-CF76;HANGUL SYLLABLE KWANH;Lo;0;L;;;;;N;;;;;
-CF77;HANGUL SYLLABLE KWAD;Lo;0;L;;;;;N;;;;;
-CF78;HANGUL SYLLABLE KWAL;Lo;0;L;;;;;N;;;;;
-CF79;HANGUL SYLLABLE KWALG;Lo;0;L;;;;;N;;;;;
-CF7A;HANGUL SYLLABLE KWALM;Lo;0;L;;;;;N;;;;;
-CF7B;HANGUL SYLLABLE KWALB;Lo;0;L;;;;;N;;;;;
-CF7C;HANGUL SYLLABLE KWALS;Lo;0;L;;;;;N;;;;;
-CF7D;HANGUL SYLLABLE KWALT;Lo;0;L;;;;;N;;;;;
-CF7E;HANGUL SYLLABLE KWALP;Lo;0;L;;;;;N;;;;;
-CF7F;HANGUL SYLLABLE KWALH;Lo;0;L;;;;;N;;;;;
-CF80;HANGUL SYLLABLE KWAM;Lo;0;L;;;;;N;;;;;
-CF81;HANGUL SYLLABLE KWAB;Lo;0;L;;;;;N;;;;;
-CF82;HANGUL SYLLABLE KWABS;Lo;0;L;;;;;N;;;;;
-CF83;HANGUL SYLLABLE KWAS;Lo;0;L;;;;;N;;;;;
-CF84;HANGUL SYLLABLE KWASS;Lo;0;L;;;;;N;;;;;
-CF85;HANGUL SYLLABLE KWANG;Lo;0;L;;;;;N;;;;;
-CF86;HANGUL SYLLABLE KWAJ;Lo;0;L;;;;;N;;;;;
-CF87;HANGUL SYLLABLE KWAC;Lo;0;L;;;;;N;;;;;
-CF88;HANGUL SYLLABLE KWAK;Lo;0;L;;;;;N;;;;;
-CF89;HANGUL SYLLABLE KWAT;Lo;0;L;;;;;N;;;;;
-CF8A;HANGUL SYLLABLE KWAP;Lo;0;L;;;;;N;;;;;
-CF8B;HANGUL SYLLABLE KWAH;Lo;0;L;;;;;N;;;;;
-CF8C;HANGUL SYLLABLE KWAE;Lo;0;L;;;;;N;;;;;
-CF8D;HANGUL SYLLABLE KWAEG;Lo;0;L;;;;;N;;;;;
-CF8E;HANGUL SYLLABLE KWAEGG;Lo;0;L;;;;;N;;;;;
-CF8F;HANGUL SYLLABLE KWAEGS;Lo;0;L;;;;;N;;;;;
-CF90;HANGUL SYLLABLE KWAEN;Lo;0;L;;;;;N;;;;;
-CF91;HANGUL SYLLABLE KWAENI;Lo;0;L;;;;;N;;;;;
-CF92;HANGUL SYLLABLE KWAENH;Lo;0;L;;;;;N;;;;;
-CF93;HANGUL SYLLABLE KWAED;Lo;0;L;;;;;N;;;;;
-CF94;HANGUL SYLLABLE KWAEL;Lo;0;L;;;;;N;;;;;
-CF95;HANGUL SYLLABLE KWAELG;Lo;0;L;;;;;N;;;;;
-CF96;HANGUL SYLLABLE KWAELM;Lo;0;L;;;;;N;;;;;
-CF97;HANGUL SYLLABLE KWAELB;Lo;0;L;;;;;N;;;;;
-CF98;HANGUL SYLLABLE KWAELS;Lo;0;L;;;;;N;;;;;
-CF99;HANGUL SYLLABLE KWAELT;Lo;0;L;;;;;N;;;;;
-CF9A;HANGUL SYLLABLE KWAELP;Lo;0;L;;;;;N;;;;;
-CF9B;HANGUL SYLLABLE KWAELH;Lo;0;L;;;;;N;;;;;
-CF9C;HANGUL SYLLABLE KWAEM;Lo;0;L;;;;;N;;;;;
-CF9D;HANGUL SYLLABLE KWAEB;Lo;0;L;;;;;N;;;;;
-CF9E;HANGUL SYLLABLE KWAEBS;Lo;0;L;;;;;N;;;;;
-CF9F;HANGUL SYLLABLE KWAES;Lo;0;L;;;;;N;;;;;
-CFA0;HANGUL SYLLABLE KWAESS;Lo;0;L;;;;;N;;;;;
-CFA1;HANGUL SYLLABLE KWAENG;Lo;0;L;;;;;N;;;;;
-CFA2;HANGUL SYLLABLE KWAEJ;Lo;0;L;;;;;N;;;;;
-CFA3;HANGUL SYLLABLE KWAEC;Lo;0;L;;;;;N;;;;;
-CFA4;HANGUL SYLLABLE KWAEK;Lo;0;L;;;;;N;;;;;
-CFA5;HANGUL SYLLABLE KWAET;Lo;0;L;;;;;N;;;;;
-CFA6;HANGUL SYLLABLE KWAEP;Lo;0;L;;;;;N;;;;;
-CFA7;HANGUL SYLLABLE KWAEH;Lo;0;L;;;;;N;;;;;
-CFA8;HANGUL SYLLABLE KOE;Lo;0;L;;;;;N;;;;;
-CFA9;HANGUL SYLLABLE KOEG;Lo;0;L;;;;;N;;;;;
-CFAA;HANGUL SYLLABLE KOEGG;Lo;0;L;;;;;N;;;;;
-CFAB;HANGUL SYLLABLE KOEGS;Lo;0;L;;;;;N;;;;;
-CFAC;HANGUL SYLLABLE KOEN;Lo;0;L;;;;;N;;;;;
-CFAD;HANGUL SYLLABLE KOENI;Lo;0;L;;;;;N;;;;;
-CFAE;HANGUL SYLLABLE KOENH;Lo;0;L;;;;;N;;;;;
-CFAF;HANGUL SYLLABLE KOED;Lo;0;L;;;;;N;;;;;
-CFB0;HANGUL SYLLABLE KOEL;Lo;0;L;;;;;N;;;;;
-CFB1;HANGUL SYLLABLE KOELG;Lo;0;L;;;;;N;;;;;
-CFB2;HANGUL SYLLABLE KOELM;Lo;0;L;;;;;N;;;;;
-CFB3;HANGUL SYLLABLE KOELB;Lo;0;L;;;;;N;;;;;
-CFB4;HANGUL SYLLABLE KOELS;Lo;0;L;;;;;N;;;;;
-CFB5;HANGUL SYLLABLE KOELT;Lo;0;L;;;;;N;;;;;
-CFB6;HANGUL SYLLABLE KOELP;Lo;0;L;;;;;N;;;;;
-CFB7;HANGUL SYLLABLE KOELH;Lo;0;L;;;;;N;;;;;
-CFB8;HANGUL SYLLABLE KOEM;Lo;0;L;;;;;N;;;;;
-CFB9;HANGUL SYLLABLE KOEB;Lo;0;L;;;;;N;;;;;
-CFBA;HANGUL SYLLABLE KOEBS;Lo;0;L;;;;;N;;;;;
-CFBB;HANGUL SYLLABLE KOES;Lo;0;L;;;;;N;;;;;
-CFBC;HANGUL SYLLABLE KOESS;Lo;0;L;;;;;N;;;;;
-CFBD;HANGUL SYLLABLE KOENG;Lo;0;L;;;;;N;;;;;
-CFBE;HANGUL SYLLABLE KOEJ;Lo;0;L;;;;;N;;;;;
-CFBF;HANGUL SYLLABLE KOEC;Lo;0;L;;;;;N;;;;;
-CFC0;HANGUL SYLLABLE KOEK;Lo;0;L;;;;;N;;;;;
-CFC1;HANGUL SYLLABLE KOET;Lo;0;L;;;;;N;;;;;
-CFC2;HANGUL SYLLABLE KOEP;Lo;0;L;;;;;N;;;;;
-CFC3;HANGUL SYLLABLE KOEH;Lo;0;L;;;;;N;;;;;
-CFC4;HANGUL SYLLABLE KYO;Lo;0;L;;;;;N;;;;;
-CFC5;HANGUL SYLLABLE KYOG;Lo;0;L;;;;;N;;;;;
-CFC6;HANGUL SYLLABLE KYOGG;Lo;0;L;;;;;N;;;;;
-CFC7;HANGUL SYLLABLE KYOGS;Lo;0;L;;;;;N;;;;;
-CFC8;HANGUL SYLLABLE KYON;Lo;0;L;;;;;N;;;;;
-CFC9;HANGUL SYLLABLE KYONI;Lo;0;L;;;;;N;;;;;
-CFCA;HANGUL SYLLABLE KYONH;Lo;0;L;;;;;N;;;;;
-CFCB;HANGUL SYLLABLE KYOD;Lo;0;L;;;;;N;;;;;
-CFCC;HANGUL SYLLABLE KYOL;Lo;0;L;;;;;N;;;;;
-CFCD;HANGUL SYLLABLE KYOLG;Lo;0;L;;;;;N;;;;;
-CFCE;HANGUL SYLLABLE KYOLM;Lo;0;L;;;;;N;;;;;
-CFCF;HANGUL SYLLABLE KYOLB;Lo;0;L;;;;;N;;;;;
-CFD0;HANGUL SYLLABLE KYOLS;Lo;0;L;;;;;N;;;;;
-CFD1;HANGUL SYLLABLE KYOLT;Lo;0;L;;;;;N;;;;;
-CFD2;HANGUL SYLLABLE KYOLP;Lo;0;L;;;;;N;;;;;
-CFD3;HANGUL SYLLABLE KYOLH;Lo;0;L;;;;;N;;;;;
-CFD4;HANGUL SYLLABLE KYOM;Lo;0;L;;;;;N;;;;;
-CFD5;HANGUL SYLLABLE KYOB;Lo;0;L;;;;;N;;;;;
-CFD6;HANGUL SYLLABLE KYOBS;Lo;0;L;;;;;N;;;;;
-CFD7;HANGUL SYLLABLE KYOS;Lo;0;L;;;;;N;;;;;
-CFD8;HANGUL SYLLABLE KYOSS;Lo;0;L;;;;;N;;;;;
-CFD9;HANGUL SYLLABLE KYONG;Lo;0;L;;;;;N;;;;;
-CFDA;HANGUL SYLLABLE KYOJ;Lo;0;L;;;;;N;;;;;
-CFDB;HANGUL SYLLABLE KYOC;Lo;0;L;;;;;N;;;;;
-CFDC;HANGUL SYLLABLE KYOK;Lo;0;L;;;;;N;;;;;
-CFDD;HANGUL SYLLABLE KYOT;Lo;0;L;;;;;N;;;;;
-CFDE;HANGUL SYLLABLE KYOP;Lo;0;L;;;;;N;;;;;
-CFDF;HANGUL SYLLABLE KYOH;Lo;0;L;;;;;N;;;;;
-CFE0;HANGUL SYLLABLE KU;Lo;0;L;;;;;N;;;;;
-CFE1;HANGUL SYLLABLE KUG;Lo;0;L;;;;;N;;;;;
-CFE2;HANGUL SYLLABLE KUGG;Lo;0;L;;;;;N;;;;;
-CFE3;HANGUL SYLLABLE KUGS;Lo;0;L;;;;;N;;;;;
-CFE4;HANGUL SYLLABLE KUN;Lo;0;L;;;;;N;;;;;
-CFE5;HANGUL SYLLABLE KUNI;Lo;0;L;;;;;N;;;;;
-CFE6;HANGUL SYLLABLE KUNH;Lo;0;L;;;;;N;;;;;
-CFE7;HANGUL SYLLABLE KUD;Lo;0;L;;;;;N;;;;;
-CFE8;HANGUL SYLLABLE KUL;Lo;0;L;;;;;N;;;;;
-CFE9;HANGUL SYLLABLE KULG;Lo;0;L;;;;;N;;;;;
-CFEA;HANGUL SYLLABLE KULM;Lo;0;L;;;;;N;;;;;
-CFEB;HANGUL SYLLABLE KULB;Lo;0;L;;;;;N;;;;;
-CFEC;HANGUL SYLLABLE KULS;Lo;0;L;;;;;N;;;;;
-CFED;HANGUL SYLLABLE KULT;Lo;0;L;;;;;N;;;;;
-CFEE;HANGUL SYLLABLE KULP;Lo;0;L;;;;;N;;;;;
-CFEF;HANGUL SYLLABLE KULH;Lo;0;L;;;;;N;;;;;
-CFF0;HANGUL SYLLABLE KUM;Lo;0;L;;;;;N;;;;;
-CFF1;HANGUL SYLLABLE KUB;Lo;0;L;;;;;N;;;;;
-CFF2;HANGUL SYLLABLE KUBS;Lo;0;L;;;;;N;;;;;
-CFF3;HANGUL SYLLABLE KUS;Lo;0;L;;;;;N;;;;;
-CFF4;HANGUL SYLLABLE KUSS;Lo;0;L;;;;;N;;;;;
-CFF5;HANGUL SYLLABLE KUNG;Lo;0;L;;;;;N;;;;;
-CFF6;HANGUL SYLLABLE KUJ;Lo;0;L;;;;;N;;;;;
-CFF7;HANGUL SYLLABLE KUC;Lo;0;L;;;;;N;;;;;
-CFF8;HANGUL SYLLABLE KUK;Lo;0;L;;;;;N;;;;;
-CFF9;HANGUL SYLLABLE KUT;Lo;0;L;;;;;N;;;;;
-CFFA;HANGUL SYLLABLE KUP;Lo;0;L;;;;;N;;;;;
-CFFB;HANGUL SYLLABLE KUH;Lo;0;L;;;;;N;;;;;
-CFFC;HANGUL SYLLABLE KWEO;Lo;0;L;;;;;N;;;;;
-CFFD;HANGUL SYLLABLE KWEOG;Lo;0;L;;;;;N;;;;;
-CFFE;HANGUL SYLLABLE KWEOGG;Lo;0;L;;;;;N;;;;;
-CFFF;HANGUL SYLLABLE KWEOGS;Lo;0;L;;;;;N;;;;;
-D000;HANGUL SYLLABLE KWEON;Lo;0;L;;;;;N;;;;;
-D001;HANGUL SYLLABLE KWEONI;Lo;0;L;;;;;N;;;;;
-D002;HANGUL SYLLABLE KWEONH;Lo;0;L;;;;;N;;;;;
-D003;HANGUL SYLLABLE KWEOD;Lo;0;L;;;;;N;;;;;
-D004;HANGUL SYLLABLE KWEOL;Lo;0;L;;;;;N;;;;;
-D005;HANGUL SYLLABLE KWEOLG;Lo;0;L;;;;;N;;;;;
-D006;HANGUL SYLLABLE KWEOLM;Lo;0;L;;;;;N;;;;;
-D007;HANGUL SYLLABLE KWEOLB;Lo;0;L;;;;;N;;;;;
-D008;HANGUL SYLLABLE KWEOLS;Lo;0;L;;;;;N;;;;;
-D009;HANGUL SYLLABLE KWEOLT;Lo;0;L;;;;;N;;;;;
-D00A;HANGUL SYLLABLE KWEOLP;Lo;0;L;;;;;N;;;;;
-D00B;HANGUL SYLLABLE KWEOLH;Lo;0;L;;;;;N;;;;;
-D00C;HANGUL SYLLABLE KWEOM;Lo;0;L;;;;;N;;;;;
-D00D;HANGUL SYLLABLE KWEOB;Lo;0;L;;;;;N;;;;;
-D00E;HANGUL SYLLABLE KWEOBS;Lo;0;L;;;;;N;;;;;
-D00F;HANGUL SYLLABLE KWEOS;Lo;0;L;;;;;N;;;;;
-D010;HANGUL SYLLABLE KWEOSS;Lo;0;L;;;;;N;;;;;
-D011;HANGUL SYLLABLE KWEONG;Lo;0;L;;;;;N;;;;;
-D012;HANGUL SYLLABLE KWEOJ;Lo;0;L;;;;;N;;;;;
-D013;HANGUL SYLLABLE KWEOC;Lo;0;L;;;;;N;;;;;
-D014;HANGUL SYLLABLE KWEOK;Lo;0;L;;;;;N;;;;;
-D015;HANGUL SYLLABLE KWEOT;Lo;0;L;;;;;N;;;;;
-D016;HANGUL SYLLABLE KWEOP;Lo;0;L;;;;;N;;;;;
-D017;HANGUL SYLLABLE KWEOH;Lo;0;L;;;;;N;;;;;
-D018;HANGUL SYLLABLE KWE;Lo;0;L;;;;;N;;;;;
-D019;HANGUL SYLLABLE KWEG;Lo;0;L;;;;;N;;;;;
-D01A;HANGUL SYLLABLE KWEGG;Lo;0;L;;;;;N;;;;;
-D01B;HANGUL SYLLABLE KWEGS;Lo;0;L;;;;;N;;;;;
-D01C;HANGUL SYLLABLE KWEN;Lo;0;L;;;;;N;;;;;
-D01D;HANGUL SYLLABLE KWENI;Lo;0;L;;;;;N;;;;;
-D01E;HANGUL SYLLABLE KWENH;Lo;0;L;;;;;N;;;;;
-D01F;HANGUL SYLLABLE KWED;Lo;0;L;;;;;N;;;;;
-D020;HANGUL SYLLABLE KWEL;Lo;0;L;;;;;N;;;;;
-D021;HANGUL SYLLABLE KWELG;Lo;0;L;;;;;N;;;;;
-D022;HANGUL SYLLABLE KWELM;Lo;0;L;;;;;N;;;;;
-D023;HANGUL SYLLABLE KWELB;Lo;0;L;;;;;N;;;;;
-D024;HANGUL SYLLABLE KWELS;Lo;0;L;;;;;N;;;;;
-D025;HANGUL SYLLABLE KWELT;Lo;0;L;;;;;N;;;;;
-D026;HANGUL SYLLABLE KWELP;Lo;0;L;;;;;N;;;;;
-D027;HANGUL SYLLABLE KWELH;Lo;0;L;;;;;N;;;;;
-D028;HANGUL SYLLABLE KWEM;Lo;0;L;;;;;N;;;;;
-D029;HANGUL SYLLABLE KWEB;Lo;0;L;;;;;N;;;;;
-D02A;HANGUL SYLLABLE KWEBS;Lo;0;L;;;;;N;;;;;
-D02B;HANGUL SYLLABLE KWES;Lo;0;L;;;;;N;;;;;
-D02C;HANGUL SYLLABLE KWESS;Lo;0;L;;;;;N;;;;;
-D02D;HANGUL SYLLABLE KWENG;Lo;0;L;;;;;N;;;;;
-D02E;HANGUL SYLLABLE KWEJ;Lo;0;L;;;;;N;;;;;
-D02F;HANGUL SYLLABLE KWEC;Lo;0;L;;;;;N;;;;;
-D030;HANGUL SYLLABLE KWEK;Lo;0;L;;;;;N;;;;;
-D031;HANGUL SYLLABLE KWET;Lo;0;L;;;;;N;;;;;
-D032;HANGUL SYLLABLE KWEP;Lo;0;L;;;;;N;;;;;
-D033;HANGUL SYLLABLE KWEH;Lo;0;L;;;;;N;;;;;
-D034;HANGUL SYLLABLE KWI;Lo;0;L;;;;;N;;;;;
-D035;HANGUL SYLLABLE KWIG;Lo;0;L;;;;;N;;;;;
-D036;HANGUL SYLLABLE KWIGG;Lo;0;L;;;;;N;;;;;
-D037;HANGUL SYLLABLE KWIGS;Lo;0;L;;;;;N;;;;;
-D038;HANGUL SYLLABLE KWIN;Lo;0;L;;;;;N;;;;;
-D039;HANGUL SYLLABLE KWINI;Lo;0;L;;;;;N;;;;;
-D03A;HANGUL SYLLABLE KWINH;Lo;0;L;;;;;N;;;;;
-D03B;HANGUL SYLLABLE KWID;Lo;0;L;;;;;N;;;;;
-D03C;HANGUL SYLLABLE KWIL;Lo;0;L;;;;;N;;;;;
-D03D;HANGUL SYLLABLE KWILG;Lo;0;L;;;;;N;;;;;
-D03E;HANGUL SYLLABLE KWILM;Lo;0;L;;;;;N;;;;;
-D03F;HANGUL SYLLABLE KWILB;Lo;0;L;;;;;N;;;;;
-D040;HANGUL SYLLABLE KWILS;Lo;0;L;;;;;N;;;;;
-D041;HANGUL SYLLABLE KWILT;Lo;0;L;;;;;N;;;;;
-D042;HANGUL SYLLABLE KWILP;Lo;0;L;;;;;N;;;;;
-D043;HANGUL SYLLABLE KWILH;Lo;0;L;;;;;N;;;;;
-D044;HANGUL SYLLABLE KWIM;Lo;0;L;;;;;N;;;;;
-D045;HANGUL SYLLABLE KWIB;Lo;0;L;;;;;N;;;;;
-D046;HANGUL SYLLABLE KWIBS;Lo;0;L;;;;;N;;;;;
-D047;HANGUL SYLLABLE KWIS;Lo;0;L;;;;;N;;;;;
-D048;HANGUL SYLLABLE KWISS;Lo;0;L;;;;;N;;;;;
-D049;HANGUL SYLLABLE KWING;Lo;0;L;;;;;N;;;;;
-D04A;HANGUL SYLLABLE KWIJ;Lo;0;L;;;;;N;;;;;
-D04B;HANGUL SYLLABLE KWIC;Lo;0;L;;;;;N;;;;;
-D04C;HANGUL SYLLABLE KWIK;Lo;0;L;;;;;N;;;;;
-D04D;HANGUL SYLLABLE KWIT;Lo;0;L;;;;;N;;;;;
-D04E;HANGUL SYLLABLE KWIP;Lo;0;L;;;;;N;;;;;
-D04F;HANGUL SYLLABLE KWIH;Lo;0;L;;;;;N;;;;;
-D050;HANGUL SYLLABLE KYU;Lo;0;L;;;;;N;;;;;
-D051;HANGUL SYLLABLE KYUG;Lo;0;L;;;;;N;;;;;
-D052;HANGUL SYLLABLE KYUGG;Lo;0;L;;;;;N;;;;;
-D053;HANGUL SYLLABLE KYUGS;Lo;0;L;;;;;N;;;;;
-D054;HANGUL SYLLABLE KYUN;Lo;0;L;;;;;N;;;;;
-D055;HANGUL SYLLABLE KYUNI;Lo;0;L;;;;;N;;;;;
-D056;HANGUL SYLLABLE KYUNH;Lo;0;L;;;;;N;;;;;
-D057;HANGUL SYLLABLE KYUD;Lo;0;L;;;;;N;;;;;
-D058;HANGUL SYLLABLE KYUL;Lo;0;L;;;;;N;;;;;
-D059;HANGUL SYLLABLE KYULG;Lo;0;L;;;;;N;;;;;
-D05A;HANGUL SYLLABLE KYULM;Lo;0;L;;;;;N;;;;;
-D05B;HANGUL SYLLABLE KYULB;Lo;0;L;;;;;N;;;;;
-D05C;HANGUL SYLLABLE KYULS;Lo;0;L;;;;;N;;;;;
-D05D;HANGUL SYLLABLE KYULT;Lo;0;L;;;;;N;;;;;
-D05E;HANGUL SYLLABLE KYULP;Lo;0;L;;;;;N;;;;;
-D05F;HANGUL SYLLABLE KYULH;Lo;0;L;;;;;N;;;;;
-D060;HANGUL SYLLABLE KYUM;Lo;0;L;;;;;N;;;;;
-D061;HANGUL SYLLABLE KYUB;Lo;0;L;;;;;N;;;;;
-D062;HANGUL SYLLABLE KYUBS;Lo;0;L;;;;;N;;;;;
-D063;HANGUL SYLLABLE KYUS;Lo;0;L;;;;;N;;;;;
-D064;HANGUL SYLLABLE KYUSS;Lo;0;L;;;;;N;;;;;
-D065;HANGUL SYLLABLE KYUNG;Lo;0;L;;;;;N;;;;;
-D066;HANGUL SYLLABLE KYUJ;Lo;0;L;;;;;N;;;;;
-D067;HANGUL SYLLABLE KYUC;Lo;0;L;;;;;N;;;;;
-D068;HANGUL SYLLABLE KYUK;Lo;0;L;;;;;N;;;;;
-D069;HANGUL SYLLABLE KYUT;Lo;0;L;;;;;N;;;;;
-D06A;HANGUL SYLLABLE KYUP;Lo;0;L;;;;;N;;;;;
-D06B;HANGUL SYLLABLE KYUH;Lo;0;L;;;;;N;;;;;
-D06C;HANGUL SYLLABLE KEU;Lo;0;L;;;;;N;;;;;
-D06D;HANGUL SYLLABLE KEUG;Lo;0;L;;;;;N;;;;;
-D06E;HANGUL SYLLABLE KEUGG;Lo;0;L;;;;;N;;;;;
-D06F;HANGUL SYLLABLE KEUGS;Lo;0;L;;;;;N;;;;;
-D070;HANGUL SYLLABLE KEUN;Lo;0;L;;;;;N;;;;;
-D071;HANGUL SYLLABLE KEUNI;Lo;0;L;;;;;N;;;;;
-D072;HANGUL SYLLABLE KEUNH;Lo;0;L;;;;;N;;;;;
-D073;HANGUL SYLLABLE KEUD;Lo;0;L;;;;;N;;;;;
-D074;HANGUL SYLLABLE KEUL;Lo;0;L;;;;;N;;;;;
-D075;HANGUL SYLLABLE KEULG;Lo;0;L;;;;;N;;;;;
-D076;HANGUL SYLLABLE KEULM;Lo;0;L;;;;;N;;;;;
-D077;HANGUL SYLLABLE KEULB;Lo;0;L;;;;;N;;;;;
-D078;HANGUL SYLLABLE KEULS;Lo;0;L;;;;;N;;;;;
-D079;HANGUL SYLLABLE KEULT;Lo;0;L;;;;;N;;;;;
-D07A;HANGUL SYLLABLE KEULP;Lo;0;L;;;;;N;;;;;
-D07B;HANGUL SYLLABLE KEULH;Lo;0;L;;;;;N;;;;;
-D07C;HANGUL SYLLABLE KEUM;Lo;0;L;;;;;N;;;;;
-D07D;HANGUL SYLLABLE KEUB;Lo;0;L;;;;;N;;;;;
-D07E;HANGUL SYLLABLE KEUBS;Lo;0;L;;;;;N;;;;;
-D07F;HANGUL SYLLABLE KEUS;Lo;0;L;;;;;N;;;;;
-D080;HANGUL SYLLABLE KEUSS;Lo;0;L;;;;;N;;;;;
-D081;HANGUL SYLLABLE KEUNG;Lo;0;L;;;;;N;;;;;
-D082;HANGUL SYLLABLE KEUJ;Lo;0;L;;;;;N;;;;;
-D083;HANGUL SYLLABLE KEUC;Lo;0;L;;;;;N;;;;;
-D084;HANGUL SYLLABLE KEUK;Lo;0;L;;;;;N;;;;;
-D085;HANGUL SYLLABLE KEUT;Lo;0;L;;;;;N;;;;;
-D086;HANGUL SYLLABLE KEUP;Lo;0;L;;;;;N;;;;;
-D087;HANGUL SYLLABLE KEUH;Lo;0;L;;;;;N;;;;;
-D088;HANGUL SYLLABLE KYI;Lo;0;L;;;;;N;;;;;
-D089;HANGUL SYLLABLE KYIG;Lo;0;L;;;;;N;;;;;
-D08A;HANGUL SYLLABLE KYIGG;Lo;0;L;;;;;N;;;;;
-D08B;HANGUL SYLLABLE KYIGS;Lo;0;L;;;;;N;;;;;
-D08C;HANGUL SYLLABLE KYIN;Lo;0;L;;;;;N;;;;;
-D08D;HANGUL SYLLABLE KYINI;Lo;0;L;;;;;N;;;;;
-D08E;HANGUL SYLLABLE KYINH;Lo;0;L;;;;;N;;;;;
-D08F;HANGUL SYLLABLE KYID;Lo;0;L;;;;;N;;;;;
-D090;HANGUL SYLLABLE KYIL;Lo;0;L;;;;;N;;;;;
-D091;HANGUL SYLLABLE KYILG;Lo;0;L;;;;;N;;;;;
-D092;HANGUL SYLLABLE KYILM;Lo;0;L;;;;;N;;;;;
-D093;HANGUL SYLLABLE KYILB;Lo;0;L;;;;;N;;;;;
-D094;HANGUL SYLLABLE KYILS;Lo;0;L;;;;;N;;;;;
-D095;HANGUL SYLLABLE KYILT;Lo;0;L;;;;;N;;;;;
-D096;HANGUL SYLLABLE KYILP;Lo;0;L;;;;;N;;;;;
-D097;HANGUL SYLLABLE KYILH;Lo;0;L;;;;;N;;;;;
-D098;HANGUL SYLLABLE KYIM;Lo;0;L;;;;;N;;;;;
-D099;HANGUL SYLLABLE KYIB;Lo;0;L;;;;;N;;;;;
-D09A;HANGUL SYLLABLE KYIBS;Lo;0;L;;;;;N;;;;;
-D09B;HANGUL SYLLABLE KYIS;Lo;0;L;;;;;N;;;;;
-D09C;HANGUL SYLLABLE KYISS;Lo;0;L;;;;;N;;;;;
-D09D;HANGUL SYLLABLE KYING;Lo;0;L;;;;;N;;;;;
-D09E;HANGUL SYLLABLE KYIJ;Lo;0;L;;;;;N;;;;;
-D09F;HANGUL SYLLABLE KYIC;Lo;0;L;;;;;N;;;;;
-D0A0;HANGUL SYLLABLE KYIK;Lo;0;L;;;;;N;;;;;
-D0A1;HANGUL SYLLABLE KYIT;Lo;0;L;;;;;N;;;;;
-D0A2;HANGUL SYLLABLE KYIP;Lo;0;L;;;;;N;;;;;
-D0A3;HANGUL SYLLABLE KYIH;Lo;0;L;;;;;N;;;;;
-D0A4;HANGUL SYLLABLE KI;Lo;0;L;;;;;N;;;;;
-D0A5;HANGUL SYLLABLE KIG;Lo;0;L;;;;;N;;;;;
-D0A6;HANGUL SYLLABLE KIGG;Lo;0;L;;;;;N;;;;;
-D0A7;HANGUL SYLLABLE KIGS;Lo;0;L;;;;;N;;;;;
-D0A8;HANGUL SYLLABLE KIN;Lo;0;L;;;;;N;;;;;
-D0A9;HANGUL SYLLABLE KINI;Lo;0;L;;;;;N;;;;;
-D0AA;HANGUL SYLLABLE KINH;Lo;0;L;;;;;N;;;;;
-D0AB;HANGUL SYLLABLE KID;Lo;0;L;;;;;N;;;;;
-D0AC;HANGUL SYLLABLE KIL;Lo;0;L;;;;;N;;;;;
-D0AD;HANGUL SYLLABLE KILG;Lo;0;L;;;;;N;;;;;
-D0AE;HANGUL SYLLABLE KILM;Lo;0;L;;;;;N;;;;;
-D0AF;HANGUL SYLLABLE KILB;Lo;0;L;;;;;N;;;;;
-D0B0;HANGUL SYLLABLE KILS;Lo;0;L;;;;;N;;;;;
-D0B1;HANGUL SYLLABLE KILT;Lo;0;L;;;;;N;;;;;
-D0B2;HANGUL SYLLABLE KILP;Lo;0;L;;;;;N;;;;;
-D0B3;HANGUL SYLLABLE KILH;Lo;0;L;;;;;N;;;;;
-D0B4;HANGUL SYLLABLE KIM;Lo;0;L;;;;;N;;;;;
-D0B5;HANGUL SYLLABLE KIB;Lo;0;L;;;;;N;;;;;
-D0B6;HANGUL SYLLABLE KIBS;Lo;0;L;;;;;N;;;;;
-D0B7;HANGUL SYLLABLE KIS;Lo;0;L;;;;;N;;;;;
-D0B8;HANGUL SYLLABLE KISS;Lo;0;L;;;;;N;;;;;
-D0B9;HANGUL SYLLABLE KING;Lo;0;L;;;;;N;;;;;
-D0BA;HANGUL SYLLABLE KIJ;Lo;0;L;;;;;N;;;;;
-D0BB;HANGUL SYLLABLE KIC;Lo;0;L;;;;;N;;;;;
-D0BC;HANGUL SYLLABLE KIK;Lo;0;L;;;;;N;;;;;
-D0BD;HANGUL SYLLABLE KIT;Lo;0;L;;;;;N;;;;;
-D0BE;HANGUL SYLLABLE KIP;Lo;0;L;;;;;N;;;;;
-D0BF;HANGUL SYLLABLE KIH;Lo;0;L;;;;;N;;;;;
-D0C0;HANGUL SYLLABLE TA;Lo;0;L;;;;;N;;;;;
-D0C1;HANGUL SYLLABLE TAG;Lo;0;L;;;;;N;;;;;
-D0C2;HANGUL SYLLABLE TAGG;Lo;0;L;;;;;N;;;;;
-D0C3;HANGUL SYLLABLE TAGS;Lo;0;L;;;;;N;;;;;
-D0C4;HANGUL SYLLABLE TAN;Lo;0;L;;;;;N;;;;;
-D0C5;HANGUL SYLLABLE TANI;Lo;0;L;;;;;N;;;;;
-D0C6;HANGUL SYLLABLE TANH;Lo;0;L;;;;;N;;;;;
-D0C7;HANGUL SYLLABLE TAD;Lo;0;L;;;;;N;;;;;
-D0C8;HANGUL SYLLABLE TAL;Lo;0;L;;;;;N;;;;;
-D0C9;HANGUL SYLLABLE TALG;Lo;0;L;;;;;N;;;;;
-D0CA;HANGUL SYLLABLE TALM;Lo;0;L;;;;;N;;;;;
-D0CB;HANGUL SYLLABLE TALB;Lo;0;L;;;;;N;;;;;
-D0CC;HANGUL SYLLABLE TALS;Lo;0;L;;;;;N;;;;;
-D0CD;HANGUL SYLLABLE TALT;Lo;0;L;;;;;N;;;;;
-D0CE;HANGUL SYLLABLE TALP;Lo;0;L;;;;;N;;;;;
-D0CF;HANGUL SYLLABLE TALH;Lo;0;L;;;;;N;;;;;
-D0D0;HANGUL SYLLABLE TAM;Lo;0;L;;;;;N;;;;;
-D0D1;HANGUL SYLLABLE TAB;Lo;0;L;;;;;N;;;;;
-D0D2;HANGUL SYLLABLE TABS;Lo;0;L;;;;;N;;;;;
-D0D3;HANGUL SYLLABLE TAS;Lo;0;L;;;;;N;;;;;
-D0D4;HANGUL SYLLABLE TASS;Lo;0;L;;;;;N;;;;;
-D0D5;HANGUL SYLLABLE TANG;Lo;0;L;;;;;N;;;;;
-D0D6;HANGUL SYLLABLE TAJ;Lo;0;L;;;;;N;;;;;
-D0D7;HANGUL SYLLABLE TAC;Lo;0;L;;;;;N;;;;;
-D0D8;HANGUL SYLLABLE TAK;Lo;0;L;;;;;N;;;;;
-D0D9;HANGUL SYLLABLE TAT;Lo;0;L;;;;;N;;;;;
-D0DA;HANGUL SYLLABLE TAP;Lo;0;L;;;;;N;;;;;
-D0DB;HANGUL SYLLABLE TAH;Lo;0;L;;;;;N;;;;;
-D0DC;HANGUL SYLLABLE TAE;Lo;0;L;;;;;N;;;;;
-D0DD;HANGUL SYLLABLE TAEG;Lo;0;L;;;;;N;;;;;
-D0DE;HANGUL SYLLABLE TAEGG;Lo;0;L;;;;;N;;;;;
-D0DF;HANGUL SYLLABLE TAEGS;Lo;0;L;;;;;N;;;;;
-D0E0;HANGUL SYLLABLE TAEN;Lo;0;L;;;;;N;;;;;
-D0E1;HANGUL SYLLABLE TAENI;Lo;0;L;;;;;N;;;;;
-D0E2;HANGUL SYLLABLE TAENH;Lo;0;L;;;;;N;;;;;
-D0E3;HANGUL SYLLABLE TAED;Lo;0;L;;;;;N;;;;;
-D0E4;HANGUL SYLLABLE TAEL;Lo;0;L;;;;;N;;;;;
-D0E5;HANGUL SYLLABLE TAELG;Lo;0;L;;;;;N;;;;;
-D0E6;HANGUL SYLLABLE TAELM;Lo;0;L;;;;;N;;;;;
-D0E7;HANGUL SYLLABLE TAELB;Lo;0;L;;;;;N;;;;;
-D0E8;HANGUL SYLLABLE TAELS;Lo;0;L;;;;;N;;;;;
-D0E9;HANGUL SYLLABLE TAELT;Lo;0;L;;;;;N;;;;;
-D0EA;HANGUL SYLLABLE TAELP;Lo;0;L;;;;;N;;;;;
-D0EB;HANGUL SYLLABLE TAELH;Lo;0;L;;;;;N;;;;;
-D0EC;HANGUL SYLLABLE TAEM;Lo;0;L;;;;;N;;;;;
-D0ED;HANGUL SYLLABLE TAEB;Lo;0;L;;;;;N;;;;;
-D0EE;HANGUL SYLLABLE TAEBS;Lo;0;L;;;;;N;;;;;
-D0EF;HANGUL SYLLABLE TAES;Lo;0;L;;;;;N;;;;;
-D0F0;HANGUL SYLLABLE TAESS;Lo;0;L;;;;;N;;;;;
-D0F1;HANGUL SYLLABLE TAENG;Lo;0;L;;;;;N;;;;;
-D0F2;HANGUL SYLLABLE TAEJ;Lo;0;L;;;;;N;;;;;
-D0F3;HANGUL SYLLABLE TAEC;Lo;0;L;;;;;N;;;;;
-D0F4;HANGUL SYLLABLE TAEK;Lo;0;L;;;;;N;;;;;
-D0F5;HANGUL SYLLABLE TAET;Lo;0;L;;;;;N;;;;;
-D0F6;HANGUL SYLLABLE TAEP;Lo;0;L;;;;;N;;;;;
-D0F7;HANGUL SYLLABLE TAEH;Lo;0;L;;;;;N;;;;;
-D0F8;HANGUL SYLLABLE TYA;Lo;0;L;;;;;N;;;;;
-D0F9;HANGUL SYLLABLE TYAG;Lo;0;L;;;;;N;;;;;
-D0FA;HANGUL SYLLABLE TYAGG;Lo;0;L;;;;;N;;;;;
-D0FB;HANGUL SYLLABLE TYAGS;Lo;0;L;;;;;N;;;;;
-D0FC;HANGUL SYLLABLE TYAN;Lo;0;L;;;;;N;;;;;
-D0FD;HANGUL SYLLABLE TYANI;Lo;0;L;;;;;N;;;;;
-D0FE;HANGUL SYLLABLE TYANH;Lo;0;L;;;;;N;;;;;
-D0FF;HANGUL SYLLABLE TYAD;Lo;0;L;;;;;N;;;;;
-D100;HANGUL SYLLABLE TYAL;Lo;0;L;;;;;N;;;;;
-D101;HANGUL SYLLABLE TYALG;Lo;0;L;;;;;N;;;;;
-D102;HANGUL SYLLABLE TYALM;Lo;0;L;;;;;N;;;;;
-D103;HANGUL SYLLABLE TYALB;Lo;0;L;;;;;N;;;;;
-D104;HANGUL SYLLABLE TYALS;Lo;0;L;;;;;N;;;;;
-D105;HANGUL SYLLABLE TYALT;Lo;0;L;;;;;N;;;;;
-D106;HANGUL SYLLABLE TYALP;Lo;0;L;;;;;N;;;;;
-D107;HANGUL SYLLABLE TYALH;Lo;0;L;;;;;N;;;;;
-D108;HANGUL SYLLABLE TYAM;Lo;0;L;;;;;N;;;;;
-D109;HANGUL SYLLABLE TYAB;Lo;0;L;;;;;N;;;;;
-D10A;HANGUL SYLLABLE TYABS;Lo;0;L;;;;;N;;;;;
-D10B;HANGUL SYLLABLE TYAS;Lo;0;L;;;;;N;;;;;
-D10C;HANGUL SYLLABLE TYASS;Lo;0;L;;;;;N;;;;;
-D10D;HANGUL SYLLABLE TYANG;Lo;0;L;;;;;N;;;;;
-D10E;HANGUL SYLLABLE TYAJ;Lo;0;L;;;;;N;;;;;
-D10F;HANGUL SYLLABLE TYAC;Lo;0;L;;;;;N;;;;;
-D110;HANGUL SYLLABLE TYAK;Lo;0;L;;;;;N;;;;;
-D111;HANGUL SYLLABLE TYAT;Lo;0;L;;;;;N;;;;;
-D112;HANGUL SYLLABLE TYAP;Lo;0;L;;;;;N;;;;;
-D113;HANGUL SYLLABLE TYAH;Lo;0;L;;;;;N;;;;;
-D114;HANGUL SYLLABLE TYAE;Lo;0;L;;;;;N;;;;;
-D115;HANGUL SYLLABLE TYAEG;Lo;0;L;;;;;N;;;;;
-D116;HANGUL SYLLABLE TYAEGG;Lo;0;L;;;;;N;;;;;
-D117;HANGUL SYLLABLE TYAEGS;Lo;0;L;;;;;N;;;;;
-D118;HANGUL SYLLABLE TYAEN;Lo;0;L;;;;;N;;;;;
-D119;HANGUL SYLLABLE TYAENI;Lo;0;L;;;;;N;;;;;
-D11A;HANGUL SYLLABLE TYAENH;Lo;0;L;;;;;N;;;;;
-D11B;HANGUL SYLLABLE TYAED;Lo;0;L;;;;;N;;;;;
-D11C;HANGUL SYLLABLE TYAEL;Lo;0;L;;;;;N;;;;;
-D11D;HANGUL SYLLABLE TYAELG;Lo;0;L;;;;;N;;;;;
-D11E;HANGUL SYLLABLE TYAELM;Lo;0;L;;;;;N;;;;;
-D11F;HANGUL SYLLABLE TYAELB;Lo;0;L;;;;;N;;;;;
-D120;HANGUL SYLLABLE TYAELS;Lo;0;L;;;;;N;;;;;
-D121;HANGUL SYLLABLE TYAELT;Lo;0;L;;;;;N;;;;;
-D122;HANGUL SYLLABLE TYAELP;Lo;0;L;;;;;N;;;;;
-D123;HANGUL SYLLABLE TYAELH;Lo;0;L;;;;;N;;;;;
-D124;HANGUL SYLLABLE TYAEM;Lo;0;L;;;;;N;;;;;
-D125;HANGUL SYLLABLE TYAEB;Lo;0;L;;;;;N;;;;;
-D126;HANGUL SYLLABLE TYAEBS;Lo;0;L;;;;;N;;;;;
-D127;HANGUL SYLLABLE TYAES;Lo;0;L;;;;;N;;;;;
-D128;HANGUL SYLLABLE TYAESS;Lo;0;L;;;;;N;;;;;
-D129;HANGUL SYLLABLE TYAENG;Lo;0;L;;;;;N;;;;;
-D12A;HANGUL SYLLABLE TYAEJ;Lo;0;L;;;;;N;;;;;
-D12B;HANGUL SYLLABLE TYAEC;Lo;0;L;;;;;N;;;;;
-D12C;HANGUL SYLLABLE TYAEK;Lo;0;L;;;;;N;;;;;
-D12D;HANGUL SYLLABLE TYAET;Lo;0;L;;;;;N;;;;;
-D12E;HANGUL SYLLABLE TYAEP;Lo;0;L;;;;;N;;;;;
-D12F;HANGUL SYLLABLE TYAEH;Lo;0;L;;;;;N;;;;;
-D130;HANGUL SYLLABLE TEO;Lo;0;L;;;;;N;;;;;
-D131;HANGUL SYLLABLE TEOG;Lo;0;L;;;;;N;;;;;
-D132;HANGUL SYLLABLE TEOGG;Lo;0;L;;;;;N;;;;;
-D133;HANGUL SYLLABLE TEOGS;Lo;0;L;;;;;N;;;;;
-D134;HANGUL SYLLABLE TEON;Lo;0;L;;;;;N;;;;;
-D135;HANGUL SYLLABLE TEONI;Lo;0;L;;;;;N;;;;;
-D136;HANGUL SYLLABLE TEONH;Lo;0;L;;;;;N;;;;;
-D137;HANGUL SYLLABLE TEOD;Lo;0;L;;;;;N;;;;;
-D138;HANGUL SYLLABLE TEOL;Lo;0;L;;;;;N;;;;;
-D139;HANGUL SYLLABLE TEOLG;Lo;0;L;;;;;N;;;;;
-D13A;HANGUL SYLLABLE TEOLM;Lo;0;L;;;;;N;;;;;
-D13B;HANGUL SYLLABLE TEOLB;Lo;0;L;;;;;N;;;;;
-D13C;HANGUL SYLLABLE TEOLS;Lo;0;L;;;;;N;;;;;
-D13D;HANGUL SYLLABLE TEOLT;Lo;0;L;;;;;N;;;;;
-D13E;HANGUL SYLLABLE TEOLP;Lo;0;L;;;;;N;;;;;
-D13F;HANGUL SYLLABLE TEOLH;Lo;0;L;;;;;N;;;;;
-D140;HANGUL SYLLABLE TEOM;Lo;0;L;;;;;N;;;;;
-D141;HANGUL SYLLABLE TEOB;Lo;0;L;;;;;N;;;;;
-D142;HANGUL SYLLABLE TEOBS;Lo;0;L;;;;;N;;;;;
-D143;HANGUL SYLLABLE TEOS;Lo;0;L;;;;;N;;;;;
-D144;HANGUL SYLLABLE TEOSS;Lo;0;L;;;;;N;;;;;
-D145;HANGUL SYLLABLE TEONG;Lo;0;L;;;;;N;;;;;
-D146;HANGUL SYLLABLE TEOJ;Lo;0;L;;;;;N;;;;;
-D147;HANGUL SYLLABLE TEOC;Lo;0;L;;;;;N;;;;;
-D148;HANGUL SYLLABLE TEOK;Lo;0;L;;;;;N;;;;;
-D149;HANGUL SYLLABLE TEOT;Lo;0;L;;;;;N;;;;;
-D14A;HANGUL SYLLABLE TEOP;Lo;0;L;;;;;N;;;;;
-D14B;HANGUL SYLLABLE TEOH;Lo;0;L;;;;;N;;;;;
-D14C;HANGUL SYLLABLE TE;Lo;0;L;;;;;N;;;;;
-D14D;HANGUL SYLLABLE TEG;Lo;0;L;;;;;N;;;;;
-D14E;HANGUL SYLLABLE TEGG;Lo;0;L;;;;;N;;;;;
-D14F;HANGUL SYLLABLE TEGS;Lo;0;L;;;;;N;;;;;
-D150;HANGUL SYLLABLE TEN;Lo;0;L;;;;;N;;;;;
-D151;HANGUL SYLLABLE TENI;Lo;0;L;;;;;N;;;;;
-D152;HANGUL SYLLABLE TENH;Lo;0;L;;;;;N;;;;;
-D153;HANGUL SYLLABLE TED;Lo;0;L;;;;;N;;;;;
-D154;HANGUL SYLLABLE TEL;Lo;0;L;;;;;N;;;;;
-D155;HANGUL SYLLABLE TELG;Lo;0;L;;;;;N;;;;;
-D156;HANGUL SYLLABLE TELM;Lo;0;L;;;;;N;;;;;
-D157;HANGUL SYLLABLE TELB;Lo;0;L;;;;;N;;;;;
-D158;HANGUL SYLLABLE TELS;Lo;0;L;;;;;N;;;;;
-D159;HANGUL SYLLABLE TELT;Lo;0;L;;;;;N;;;;;
-D15A;HANGUL SYLLABLE TELP;Lo;0;L;;;;;N;;;;;
-D15B;HANGUL SYLLABLE TELH;Lo;0;L;;;;;N;;;;;
-D15C;HANGUL SYLLABLE TEM;Lo;0;L;;;;;N;;;;;
-D15D;HANGUL SYLLABLE TEB;Lo;0;L;;;;;N;;;;;
-D15E;HANGUL SYLLABLE TEBS;Lo;0;L;;;;;N;;;;;
-D15F;HANGUL SYLLABLE TES;Lo;0;L;;;;;N;;;;;
-D160;HANGUL SYLLABLE TESS;Lo;0;L;;;;;N;;;;;
-D161;HANGUL SYLLABLE TENG;Lo;0;L;;;;;N;;;;;
-D162;HANGUL SYLLABLE TEJ;Lo;0;L;;;;;N;;;;;
-D163;HANGUL SYLLABLE TEC;Lo;0;L;;;;;N;;;;;
-D164;HANGUL SYLLABLE TEK;Lo;0;L;;;;;N;;;;;
-D165;HANGUL SYLLABLE TET;Lo;0;L;;;;;N;;;;;
-D166;HANGUL SYLLABLE TEP;Lo;0;L;;;;;N;;;;;
-D167;HANGUL SYLLABLE TEH;Lo;0;L;;;;;N;;;;;
-D168;HANGUL SYLLABLE TYEO;Lo;0;L;;;;;N;;;;;
-D169;HANGUL SYLLABLE TYEOG;Lo;0;L;;;;;N;;;;;
-D16A;HANGUL SYLLABLE TYEOGG;Lo;0;L;;;;;N;;;;;
-D16B;HANGUL SYLLABLE TYEOGS;Lo;0;L;;;;;N;;;;;
-D16C;HANGUL SYLLABLE TYEON;Lo;0;L;;;;;N;;;;;
-D16D;HANGUL SYLLABLE TYEONI;Lo;0;L;;;;;N;;;;;
-D16E;HANGUL SYLLABLE TYEONH;Lo;0;L;;;;;N;;;;;
-D16F;HANGUL SYLLABLE TYEOD;Lo;0;L;;;;;N;;;;;
-D170;HANGUL SYLLABLE TYEOL;Lo;0;L;;;;;N;;;;;
-D171;HANGUL SYLLABLE TYEOLG;Lo;0;L;;;;;N;;;;;
-D172;HANGUL SYLLABLE TYEOLM;Lo;0;L;;;;;N;;;;;
-D173;HANGUL SYLLABLE TYEOLB;Lo;0;L;;;;;N;;;;;
-D174;HANGUL SYLLABLE TYEOLS;Lo;0;L;;;;;N;;;;;
-D175;HANGUL SYLLABLE TYEOLT;Lo;0;L;;;;;N;;;;;
-D176;HANGUL SYLLABLE TYEOLP;Lo;0;L;;;;;N;;;;;
-D177;HANGUL SYLLABLE TYEOLH;Lo;0;L;;;;;N;;;;;
-D178;HANGUL SYLLABLE TYEOM;Lo;0;L;;;;;N;;;;;
-D179;HANGUL SYLLABLE TYEOB;Lo;0;L;;;;;N;;;;;
-D17A;HANGUL SYLLABLE TYEOBS;Lo;0;L;;;;;N;;;;;
-D17B;HANGUL SYLLABLE TYEOS;Lo;0;L;;;;;N;;;;;
-D17C;HANGUL SYLLABLE TYEOSS;Lo;0;L;;;;;N;;;;;
-D17D;HANGUL SYLLABLE TYEONG;Lo;0;L;;;;;N;;;;;
-D17E;HANGUL SYLLABLE TYEOJ;Lo;0;L;;;;;N;;;;;
-D17F;HANGUL SYLLABLE TYEOC;Lo;0;L;;;;;N;;;;;
-D180;HANGUL SYLLABLE TYEOK;Lo;0;L;;;;;N;;;;;
-D181;HANGUL SYLLABLE TYEOT;Lo;0;L;;;;;N;;;;;
-D182;HANGUL SYLLABLE TYEOP;Lo;0;L;;;;;N;;;;;
-D183;HANGUL SYLLABLE TYEOH;Lo;0;L;;;;;N;;;;;
-D184;HANGUL SYLLABLE TYE;Lo;0;L;;;;;N;;;;;
-D185;HANGUL SYLLABLE TYEG;Lo;0;L;;;;;N;;;;;
-D186;HANGUL SYLLABLE TYEGG;Lo;0;L;;;;;N;;;;;
-D187;HANGUL SYLLABLE TYEGS;Lo;0;L;;;;;N;;;;;
-D188;HANGUL SYLLABLE TYEN;Lo;0;L;;;;;N;;;;;
-D189;HANGUL SYLLABLE TYENI;Lo;0;L;;;;;N;;;;;
-D18A;HANGUL SYLLABLE TYENH;Lo;0;L;;;;;N;;;;;
-D18B;HANGUL SYLLABLE TYED;Lo;0;L;;;;;N;;;;;
-D18C;HANGUL SYLLABLE TYEL;Lo;0;L;;;;;N;;;;;
-D18D;HANGUL SYLLABLE TYELG;Lo;0;L;;;;;N;;;;;
-D18E;HANGUL SYLLABLE TYELM;Lo;0;L;;;;;N;;;;;
-D18F;HANGUL SYLLABLE TYELB;Lo;0;L;;;;;N;;;;;
-D190;HANGUL SYLLABLE TYELS;Lo;0;L;;;;;N;;;;;
-D191;HANGUL SYLLABLE TYELT;Lo;0;L;;;;;N;;;;;
-D192;HANGUL SYLLABLE TYELP;Lo;0;L;;;;;N;;;;;
-D193;HANGUL SYLLABLE TYELH;Lo;0;L;;;;;N;;;;;
-D194;HANGUL SYLLABLE TYEM;Lo;0;L;;;;;N;;;;;
-D195;HANGUL SYLLABLE TYEB;Lo;0;L;;;;;N;;;;;
-D196;HANGUL SYLLABLE TYEBS;Lo;0;L;;;;;N;;;;;
-D197;HANGUL SYLLABLE TYES;Lo;0;L;;;;;N;;;;;
-D198;HANGUL SYLLABLE TYESS;Lo;0;L;;;;;N;;;;;
-D199;HANGUL SYLLABLE TYENG;Lo;0;L;;;;;N;;;;;
-D19A;HANGUL SYLLABLE TYEJ;Lo;0;L;;;;;N;;;;;
-D19B;HANGUL SYLLABLE TYEC;Lo;0;L;;;;;N;;;;;
-D19C;HANGUL SYLLABLE TYEK;Lo;0;L;;;;;N;;;;;
-D19D;HANGUL SYLLABLE TYET;Lo;0;L;;;;;N;;;;;
-D19E;HANGUL SYLLABLE TYEP;Lo;0;L;;;;;N;;;;;
-D19F;HANGUL SYLLABLE TYEH;Lo;0;L;;;;;N;;;;;
-D1A0;HANGUL SYLLABLE TO;Lo;0;L;;;;;N;;;;;
-D1A1;HANGUL SYLLABLE TOG;Lo;0;L;;;;;N;;;;;
-D1A2;HANGUL SYLLABLE TOGG;Lo;0;L;;;;;N;;;;;
-D1A3;HANGUL SYLLABLE TOGS;Lo;0;L;;;;;N;;;;;
-D1A4;HANGUL SYLLABLE TON;Lo;0;L;;;;;N;;;;;
-D1A5;HANGUL SYLLABLE TONI;Lo;0;L;;;;;N;;;;;
-D1A6;HANGUL SYLLABLE TONH;Lo;0;L;;;;;N;;;;;
-D1A7;HANGUL SYLLABLE TOD;Lo;0;L;;;;;N;;;;;
-D1A8;HANGUL SYLLABLE TOL;Lo;0;L;;;;;N;;;;;
-D1A9;HANGUL SYLLABLE TOLG;Lo;0;L;;;;;N;;;;;
-D1AA;HANGUL SYLLABLE TOLM;Lo;0;L;;;;;N;;;;;
-D1AB;HANGUL SYLLABLE TOLB;Lo;0;L;;;;;N;;;;;
-D1AC;HANGUL SYLLABLE TOLS;Lo;0;L;;;;;N;;;;;
-D1AD;HANGUL SYLLABLE TOLT;Lo;0;L;;;;;N;;;;;
-D1AE;HANGUL SYLLABLE TOLP;Lo;0;L;;;;;N;;;;;
-D1AF;HANGUL SYLLABLE TOLH;Lo;0;L;;;;;N;;;;;
-D1B0;HANGUL SYLLABLE TOM;Lo;0;L;;;;;N;;;;;
-D1B1;HANGUL SYLLABLE TOB;Lo;0;L;;;;;N;;;;;
-D1B2;HANGUL SYLLABLE TOBS;Lo;0;L;;;;;N;;;;;
-D1B3;HANGUL SYLLABLE TOS;Lo;0;L;;;;;N;;;;;
-D1B4;HANGUL SYLLABLE TOSS;Lo;0;L;;;;;N;;;;;
-D1B5;HANGUL SYLLABLE TONG;Lo;0;L;;;;;N;;;;;
-D1B6;HANGUL SYLLABLE TOJ;Lo;0;L;;;;;N;;;;;
-D1B7;HANGUL SYLLABLE TOC;Lo;0;L;;;;;N;;;;;
-D1B8;HANGUL SYLLABLE TOK;Lo;0;L;;;;;N;;;;;
-D1B9;HANGUL SYLLABLE TOT;Lo;0;L;;;;;N;;;;;
-D1BA;HANGUL SYLLABLE TOP;Lo;0;L;;;;;N;;;;;
-D1BB;HANGUL SYLLABLE TOH;Lo;0;L;;;;;N;;;;;
-D1BC;HANGUL SYLLABLE TWA;Lo;0;L;;;;;N;;;;;
-D1BD;HANGUL SYLLABLE TWAG;Lo;0;L;;;;;N;;;;;
-D1BE;HANGUL SYLLABLE TWAGG;Lo;0;L;;;;;N;;;;;
-D1BF;HANGUL SYLLABLE TWAGS;Lo;0;L;;;;;N;;;;;
-D1C0;HANGUL SYLLABLE TWAN;Lo;0;L;;;;;N;;;;;
-D1C1;HANGUL SYLLABLE TWANI;Lo;0;L;;;;;N;;;;;
-D1C2;HANGUL SYLLABLE TWANH;Lo;0;L;;;;;N;;;;;
-D1C3;HANGUL SYLLABLE TWAD;Lo;0;L;;;;;N;;;;;
-D1C4;HANGUL SYLLABLE TWAL;Lo;0;L;;;;;N;;;;;
-D1C5;HANGUL SYLLABLE TWALG;Lo;0;L;;;;;N;;;;;
-D1C6;HANGUL SYLLABLE TWALM;Lo;0;L;;;;;N;;;;;
-D1C7;HANGUL SYLLABLE TWALB;Lo;0;L;;;;;N;;;;;
-D1C8;HANGUL SYLLABLE TWALS;Lo;0;L;;;;;N;;;;;
-D1C9;HANGUL SYLLABLE TWALT;Lo;0;L;;;;;N;;;;;
-D1CA;HANGUL SYLLABLE TWALP;Lo;0;L;;;;;N;;;;;
-D1CB;HANGUL SYLLABLE TWALH;Lo;0;L;;;;;N;;;;;
-D1CC;HANGUL SYLLABLE TWAM;Lo;0;L;;;;;N;;;;;
-D1CD;HANGUL SYLLABLE TWAB;Lo;0;L;;;;;N;;;;;
-D1CE;HANGUL SYLLABLE TWABS;Lo;0;L;;;;;N;;;;;
-D1CF;HANGUL SYLLABLE TWAS;Lo;0;L;;;;;N;;;;;
-D1D0;HANGUL SYLLABLE TWASS;Lo;0;L;;;;;N;;;;;
-D1D1;HANGUL SYLLABLE TWANG;Lo;0;L;;;;;N;;;;;
-D1D2;HANGUL SYLLABLE TWAJ;Lo;0;L;;;;;N;;;;;
-D1D3;HANGUL SYLLABLE TWAC;Lo;0;L;;;;;N;;;;;
-D1D4;HANGUL SYLLABLE TWAK;Lo;0;L;;;;;N;;;;;
-D1D5;HANGUL SYLLABLE TWAT;Lo;0;L;;;;;N;;;;;
-D1D6;HANGUL SYLLABLE TWAP;Lo;0;L;;;;;N;;;;;
-D1D7;HANGUL SYLLABLE TWAH;Lo;0;L;;;;;N;;;;;
-D1D8;HANGUL SYLLABLE TWAE;Lo;0;L;;;;;N;;;;;
-D1D9;HANGUL SYLLABLE TWAEG;Lo;0;L;;;;;N;;;;;
-D1DA;HANGUL SYLLABLE TWAEGG;Lo;0;L;;;;;N;;;;;
-D1DB;HANGUL SYLLABLE TWAEGS;Lo;0;L;;;;;N;;;;;
-D1DC;HANGUL SYLLABLE TWAEN;Lo;0;L;;;;;N;;;;;
-D1DD;HANGUL SYLLABLE TWAENI;Lo;0;L;;;;;N;;;;;
-D1DE;HANGUL SYLLABLE TWAENH;Lo;0;L;;;;;N;;;;;
-D1DF;HANGUL SYLLABLE TWAED;Lo;0;L;;;;;N;;;;;
-D1E0;HANGUL SYLLABLE TWAEL;Lo;0;L;;;;;N;;;;;
-D1E1;HANGUL SYLLABLE TWAELG;Lo;0;L;;;;;N;;;;;
-D1E2;HANGUL SYLLABLE TWAELM;Lo;0;L;;;;;N;;;;;
-D1E3;HANGUL SYLLABLE TWAELB;Lo;0;L;;;;;N;;;;;
-D1E4;HANGUL SYLLABLE TWAELS;Lo;0;L;;;;;N;;;;;
-D1E5;HANGUL SYLLABLE TWAELT;Lo;0;L;;;;;N;;;;;
-D1E6;HANGUL SYLLABLE TWAELP;Lo;0;L;;;;;N;;;;;
-D1E7;HANGUL SYLLABLE TWAELH;Lo;0;L;;;;;N;;;;;
-D1E8;HANGUL SYLLABLE TWAEM;Lo;0;L;;;;;N;;;;;
-D1E9;HANGUL SYLLABLE TWAEB;Lo;0;L;;;;;N;;;;;
-D1EA;HANGUL SYLLABLE TWAEBS;Lo;0;L;;;;;N;;;;;
-D1EB;HANGUL SYLLABLE TWAES;Lo;0;L;;;;;N;;;;;
-D1EC;HANGUL SYLLABLE TWAESS;Lo;0;L;;;;;N;;;;;
-D1ED;HANGUL SYLLABLE TWAENG;Lo;0;L;;;;;N;;;;;
-D1EE;HANGUL SYLLABLE TWAEJ;Lo;0;L;;;;;N;;;;;
-D1EF;HANGUL SYLLABLE TWAEC;Lo;0;L;;;;;N;;;;;
-D1F0;HANGUL SYLLABLE TWAEK;Lo;0;L;;;;;N;;;;;
-D1F1;HANGUL SYLLABLE TWAET;Lo;0;L;;;;;N;;;;;
-D1F2;HANGUL SYLLABLE TWAEP;Lo;0;L;;;;;N;;;;;
-D1F3;HANGUL SYLLABLE TWAEH;Lo;0;L;;;;;N;;;;;
-D1F4;HANGUL SYLLABLE TOE;Lo;0;L;;;;;N;;;;;
-D1F5;HANGUL SYLLABLE TOEG;Lo;0;L;;;;;N;;;;;
-D1F6;HANGUL SYLLABLE TOEGG;Lo;0;L;;;;;N;;;;;
-D1F7;HANGUL SYLLABLE TOEGS;Lo;0;L;;;;;N;;;;;
-D1F8;HANGUL SYLLABLE TOEN;Lo;0;L;;;;;N;;;;;
-D1F9;HANGUL SYLLABLE TOENI;Lo;0;L;;;;;N;;;;;
-D1FA;HANGUL SYLLABLE TOENH;Lo;0;L;;;;;N;;;;;
-D1FB;HANGUL SYLLABLE TOED;Lo;0;L;;;;;N;;;;;
-D1FC;HANGUL SYLLABLE TOEL;Lo;0;L;;;;;N;;;;;
-D1FD;HANGUL SYLLABLE TOELG;Lo;0;L;;;;;N;;;;;
-D1FE;HANGUL SYLLABLE TOELM;Lo;0;L;;;;;N;;;;;
-D1FF;HANGUL SYLLABLE TOELB;Lo;0;L;;;;;N;;;;;
-D200;HANGUL SYLLABLE TOELS;Lo;0;L;;;;;N;;;;;
-D201;HANGUL SYLLABLE TOELT;Lo;0;L;;;;;N;;;;;
-D202;HANGUL SYLLABLE TOELP;Lo;0;L;;;;;N;;;;;
-D203;HANGUL SYLLABLE TOELH;Lo;0;L;;;;;N;;;;;
-D204;HANGUL SYLLABLE TOEM;Lo;0;L;;;;;N;;;;;
-D205;HANGUL SYLLABLE TOEB;Lo;0;L;;;;;N;;;;;
-D206;HANGUL SYLLABLE TOEBS;Lo;0;L;;;;;N;;;;;
-D207;HANGUL SYLLABLE TOES;Lo;0;L;;;;;N;;;;;
-D208;HANGUL SYLLABLE TOESS;Lo;0;L;;;;;N;;;;;
-D209;HANGUL SYLLABLE TOENG;Lo;0;L;;;;;N;;;;;
-D20A;HANGUL SYLLABLE TOEJ;Lo;0;L;;;;;N;;;;;
-D20B;HANGUL SYLLABLE TOEC;Lo;0;L;;;;;N;;;;;
-D20C;HANGUL SYLLABLE TOEK;Lo;0;L;;;;;N;;;;;
-D20D;HANGUL SYLLABLE TOET;Lo;0;L;;;;;N;;;;;
-D20E;HANGUL SYLLABLE TOEP;Lo;0;L;;;;;N;;;;;
-D20F;HANGUL SYLLABLE TOEH;Lo;0;L;;;;;N;;;;;
-D210;HANGUL SYLLABLE TYO;Lo;0;L;;;;;N;;;;;
-D211;HANGUL SYLLABLE TYOG;Lo;0;L;;;;;N;;;;;
-D212;HANGUL SYLLABLE TYOGG;Lo;0;L;;;;;N;;;;;
-D213;HANGUL SYLLABLE TYOGS;Lo;0;L;;;;;N;;;;;
-D214;HANGUL SYLLABLE TYON;Lo;0;L;;;;;N;;;;;
-D215;HANGUL SYLLABLE TYONI;Lo;0;L;;;;;N;;;;;
-D216;HANGUL SYLLABLE TYONH;Lo;0;L;;;;;N;;;;;
-D217;HANGUL SYLLABLE TYOD;Lo;0;L;;;;;N;;;;;
-D218;HANGUL SYLLABLE TYOL;Lo;0;L;;;;;N;;;;;
-D219;HANGUL SYLLABLE TYOLG;Lo;0;L;;;;;N;;;;;
-D21A;HANGUL SYLLABLE TYOLM;Lo;0;L;;;;;N;;;;;
-D21B;HANGUL SYLLABLE TYOLB;Lo;0;L;;;;;N;;;;;
-D21C;HANGUL SYLLABLE TYOLS;Lo;0;L;;;;;N;;;;;
-D21D;HANGUL SYLLABLE TYOLT;Lo;0;L;;;;;N;;;;;
-D21E;HANGUL SYLLABLE TYOLP;Lo;0;L;;;;;N;;;;;
-D21F;HANGUL SYLLABLE TYOLH;Lo;0;L;;;;;N;;;;;
-D220;HANGUL SYLLABLE TYOM;Lo;0;L;;;;;N;;;;;
-D221;HANGUL SYLLABLE TYOB;Lo;0;L;;;;;N;;;;;
-D222;HANGUL SYLLABLE TYOBS;Lo;0;L;;;;;N;;;;;
-D223;HANGUL SYLLABLE TYOS;Lo;0;L;;;;;N;;;;;
-D224;HANGUL SYLLABLE TYOSS;Lo;0;L;;;;;N;;;;;
-D225;HANGUL SYLLABLE TYONG;Lo;0;L;;;;;N;;;;;
-D226;HANGUL SYLLABLE TYOJ;Lo;0;L;;;;;N;;;;;
-D227;HANGUL SYLLABLE TYOC;Lo;0;L;;;;;N;;;;;
-D228;HANGUL SYLLABLE TYOK;Lo;0;L;;;;;N;;;;;
-D229;HANGUL SYLLABLE TYOT;Lo;0;L;;;;;N;;;;;
-D22A;HANGUL SYLLABLE TYOP;Lo;0;L;;;;;N;;;;;
-D22B;HANGUL SYLLABLE TYOH;Lo;0;L;;;;;N;;;;;
-D22C;HANGUL SYLLABLE TU;Lo;0;L;;;;;N;;;;;
-D22D;HANGUL SYLLABLE TUG;Lo;0;L;;;;;N;;;;;
-D22E;HANGUL SYLLABLE TUGG;Lo;0;L;;;;;N;;;;;
-D22F;HANGUL SYLLABLE TUGS;Lo;0;L;;;;;N;;;;;
-D230;HANGUL SYLLABLE TUN;Lo;0;L;;;;;N;;;;;
-D231;HANGUL SYLLABLE TUNI;Lo;0;L;;;;;N;;;;;
-D232;HANGUL SYLLABLE TUNH;Lo;0;L;;;;;N;;;;;
-D233;HANGUL SYLLABLE TUD;Lo;0;L;;;;;N;;;;;
-D234;HANGUL SYLLABLE TUL;Lo;0;L;;;;;N;;;;;
-D235;HANGUL SYLLABLE TULG;Lo;0;L;;;;;N;;;;;
-D236;HANGUL SYLLABLE TULM;Lo;0;L;;;;;N;;;;;
-D237;HANGUL SYLLABLE TULB;Lo;0;L;;;;;N;;;;;
-D238;HANGUL SYLLABLE TULS;Lo;0;L;;;;;N;;;;;
-D239;HANGUL SYLLABLE TULT;Lo;0;L;;;;;N;;;;;
-D23A;HANGUL SYLLABLE TULP;Lo;0;L;;;;;N;;;;;
-D23B;HANGUL SYLLABLE TULH;Lo;0;L;;;;;N;;;;;
-D23C;HANGUL SYLLABLE TUM;Lo;0;L;;;;;N;;;;;
-D23D;HANGUL SYLLABLE TUB;Lo;0;L;;;;;N;;;;;
-D23E;HANGUL SYLLABLE TUBS;Lo;0;L;;;;;N;;;;;
-D23F;HANGUL SYLLABLE TUS;Lo;0;L;;;;;N;;;;;
-D240;HANGUL SYLLABLE TUSS;Lo;0;L;;;;;N;;;;;
-D241;HANGUL SYLLABLE TUNG;Lo;0;L;;;;;N;;;;;
-D242;HANGUL SYLLABLE TUJ;Lo;0;L;;;;;N;;;;;
-D243;HANGUL SYLLABLE TUC;Lo;0;L;;;;;N;;;;;
-D244;HANGUL SYLLABLE TUK;Lo;0;L;;;;;N;;;;;
-D245;HANGUL SYLLABLE TUT;Lo;0;L;;;;;N;;;;;
-D246;HANGUL SYLLABLE TUP;Lo;0;L;;;;;N;;;;;
-D247;HANGUL SYLLABLE TUH;Lo;0;L;;;;;N;;;;;
-D248;HANGUL SYLLABLE TWEO;Lo;0;L;;;;;N;;;;;
-D249;HANGUL SYLLABLE TWEOG;Lo;0;L;;;;;N;;;;;
-D24A;HANGUL SYLLABLE TWEOGG;Lo;0;L;;;;;N;;;;;
-D24B;HANGUL SYLLABLE TWEOGS;Lo;0;L;;;;;N;;;;;
-D24C;HANGUL SYLLABLE TWEON;Lo;0;L;;;;;N;;;;;
-D24D;HANGUL SYLLABLE TWEONI;Lo;0;L;;;;;N;;;;;
-D24E;HANGUL SYLLABLE TWEONH;Lo;0;L;;;;;N;;;;;
-D24F;HANGUL SYLLABLE TWEOD;Lo;0;L;;;;;N;;;;;
-D250;HANGUL SYLLABLE TWEOL;Lo;0;L;;;;;N;;;;;
-D251;HANGUL SYLLABLE TWEOLG;Lo;0;L;;;;;N;;;;;
-D252;HANGUL SYLLABLE TWEOLM;Lo;0;L;;;;;N;;;;;
-D253;HANGUL SYLLABLE TWEOLB;Lo;0;L;;;;;N;;;;;
-D254;HANGUL SYLLABLE TWEOLS;Lo;0;L;;;;;N;;;;;
-D255;HANGUL SYLLABLE TWEOLT;Lo;0;L;;;;;N;;;;;
-D256;HANGUL SYLLABLE TWEOLP;Lo;0;L;;;;;N;;;;;
-D257;HANGUL SYLLABLE TWEOLH;Lo;0;L;;;;;N;;;;;
-D258;HANGUL SYLLABLE TWEOM;Lo;0;L;;;;;N;;;;;
-D259;HANGUL SYLLABLE TWEOB;Lo;0;L;;;;;N;;;;;
-D25A;HANGUL SYLLABLE TWEOBS;Lo;0;L;;;;;N;;;;;
-D25B;HANGUL SYLLABLE TWEOS;Lo;0;L;;;;;N;;;;;
-D25C;HANGUL SYLLABLE TWEOSS;Lo;0;L;;;;;N;;;;;
-D25D;HANGUL SYLLABLE TWEONG;Lo;0;L;;;;;N;;;;;
-D25E;HANGUL SYLLABLE TWEOJ;Lo;0;L;;;;;N;;;;;
-D25F;HANGUL SYLLABLE TWEOC;Lo;0;L;;;;;N;;;;;
-D260;HANGUL SYLLABLE TWEOK;Lo;0;L;;;;;N;;;;;
-D261;HANGUL SYLLABLE TWEOT;Lo;0;L;;;;;N;;;;;
-D262;HANGUL SYLLABLE TWEOP;Lo;0;L;;;;;N;;;;;
-D263;HANGUL SYLLABLE TWEOH;Lo;0;L;;;;;N;;;;;
-D264;HANGUL SYLLABLE TWE;Lo;0;L;;;;;N;;;;;
-D265;HANGUL SYLLABLE TWEG;Lo;0;L;;;;;N;;;;;
-D266;HANGUL SYLLABLE TWEGG;Lo;0;L;;;;;N;;;;;
-D267;HANGUL SYLLABLE TWEGS;Lo;0;L;;;;;N;;;;;
-D268;HANGUL SYLLABLE TWEN;Lo;0;L;;;;;N;;;;;
-D269;HANGUL SYLLABLE TWENI;Lo;0;L;;;;;N;;;;;
-D26A;HANGUL SYLLABLE TWENH;Lo;0;L;;;;;N;;;;;
-D26B;HANGUL SYLLABLE TWED;Lo;0;L;;;;;N;;;;;
-D26C;HANGUL SYLLABLE TWEL;Lo;0;L;;;;;N;;;;;
-D26D;HANGUL SYLLABLE TWELG;Lo;0;L;;;;;N;;;;;
-D26E;HANGUL SYLLABLE TWELM;Lo;0;L;;;;;N;;;;;
-D26F;HANGUL SYLLABLE TWELB;Lo;0;L;;;;;N;;;;;
-D270;HANGUL SYLLABLE TWELS;Lo;0;L;;;;;N;;;;;
-D271;HANGUL SYLLABLE TWELT;Lo;0;L;;;;;N;;;;;
-D272;HANGUL SYLLABLE TWELP;Lo;0;L;;;;;N;;;;;
-D273;HANGUL SYLLABLE TWELH;Lo;0;L;;;;;N;;;;;
-D274;HANGUL SYLLABLE TWEM;Lo;0;L;;;;;N;;;;;
-D275;HANGUL SYLLABLE TWEB;Lo;0;L;;;;;N;;;;;
-D276;HANGUL SYLLABLE TWEBS;Lo;0;L;;;;;N;;;;;
-D277;HANGUL SYLLABLE TWES;Lo;0;L;;;;;N;;;;;
-D278;HANGUL SYLLABLE TWESS;Lo;0;L;;;;;N;;;;;
-D279;HANGUL SYLLABLE TWENG;Lo;0;L;;;;;N;;;;;
-D27A;HANGUL SYLLABLE TWEJ;Lo;0;L;;;;;N;;;;;
-D27B;HANGUL SYLLABLE TWEC;Lo;0;L;;;;;N;;;;;
-D27C;HANGUL SYLLABLE TWEK;Lo;0;L;;;;;N;;;;;
-D27D;HANGUL SYLLABLE TWET;Lo;0;L;;;;;N;;;;;
-D27E;HANGUL SYLLABLE TWEP;Lo;0;L;;;;;N;;;;;
-D27F;HANGUL SYLLABLE TWEH;Lo;0;L;;;;;N;;;;;
-D280;HANGUL SYLLABLE TWI;Lo;0;L;;;;;N;;;;;
-D281;HANGUL SYLLABLE TWIG;Lo;0;L;;;;;N;;;;;
-D282;HANGUL SYLLABLE TWIGG;Lo;0;L;;;;;N;;;;;
-D283;HANGUL SYLLABLE TWIGS;Lo;0;L;;;;;N;;;;;
-D284;HANGUL SYLLABLE TWIN;Lo;0;L;;;;;N;;;;;
-D285;HANGUL SYLLABLE TWINI;Lo;0;L;;;;;N;;;;;
-D286;HANGUL SYLLABLE TWINH;Lo;0;L;;;;;N;;;;;
-D287;HANGUL SYLLABLE TWID;Lo;0;L;;;;;N;;;;;
-D288;HANGUL SYLLABLE TWIL;Lo;0;L;;;;;N;;;;;
-D289;HANGUL SYLLABLE TWILG;Lo;0;L;;;;;N;;;;;
-D28A;HANGUL SYLLABLE TWILM;Lo;0;L;;;;;N;;;;;
-D28B;HANGUL SYLLABLE TWILB;Lo;0;L;;;;;N;;;;;
-D28C;HANGUL SYLLABLE TWILS;Lo;0;L;;;;;N;;;;;
-D28D;HANGUL SYLLABLE TWILT;Lo;0;L;;;;;N;;;;;
-D28E;HANGUL SYLLABLE TWILP;Lo;0;L;;;;;N;;;;;
-D28F;HANGUL SYLLABLE TWILH;Lo;0;L;;;;;N;;;;;
-D290;HANGUL SYLLABLE TWIM;Lo;0;L;;;;;N;;;;;
-D291;HANGUL SYLLABLE TWIB;Lo;0;L;;;;;N;;;;;
-D292;HANGUL SYLLABLE TWIBS;Lo;0;L;;;;;N;;;;;
-D293;HANGUL SYLLABLE TWIS;Lo;0;L;;;;;N;;;;;
-D294;HANGUL SYLLABLE TWISS;Lo;0;L;;;;;N;;;;;
-D295;HANGUL SYLLABLE TWING;Lo;0;L;;;;;N;;;;;
-D296;HANGUL SYLLABLE TWIJ;Lo;0;L;;;;;N;;;;;
-D297;HANGUL SYLLABLE TWIC;Lo;0;L;;;;;N;;;;;
-D298;HANGUL SYLLABLE TWIK;Lo;0;L;;;;;N;;;;;
-D299;HANGUL SYLLABLE TWIT;Lo;0;L;;;;;N;;;;;
-D29A;HANGUL SYLLABLE TWIP;Lo;0;L;;;;;N;;;;;
-D29B;HANGUL SYLLABLE TWIH;Lo;0;L;;;;;N;;;;;
-D29C;HANGUL SYLLABLE TYU;Lo;0;L;;;;;N;;;;;
-D29D;HANGUL SYLLABLE TYUG;Lo;0;L;;;;;N;;;;;
-D29E;HANGUL SYLLABLE TYUGG;Lo;0;L;;;;;N;;;;;
-D29F;HANGUL SYLLABLE TYUGS;Lo;0;L;;;;;N;;;;;
-D2A0;HANGUL SYLLABLE TYUN;Lo;0;L;;;;;N;;;;;
-D2A1;HANGUL SYLLABLE TYUNI;Lo;0;L;;;;;N;;;;;
-D2A2;HANGUL SYLLABLE TYUNH;Lo;0;L;;;;;N;;;;;
-D2A3;HANGUL SYLLABLE TYUD;Lo;0;L;;;;;N;;;;;
-D2A4;HANGUL SYLLABLE TYUL;Lo;0;L;;;;;N;;;;;
-D2A5;HANGUL SYLLABLE TYULG;Lo;0;L;;;;;N;;;;;
-D2A6;HANGUL SYLLABLE TYULM;Lo;0;L;;;;;N;;;;;
-D2A7;HANGUL SYLLABLE TYULB;Lo;0;L;;;;;N;;;;;
-D2A8;HANGUL SYLLABLE TYULS;Lo;0;L;;;;;N;;;;;
-D2A9;HANGUL SYLLABLE TYULT;Lo;0;L;;;;;N;;;;;
-D2AA;HANGUL SYLLABLE TYULP;Lo;0;L;;;;;N;;;;;
-D2AB;HANGUL SYLLABLE TYULH;Lo;0;L;;;;;N;;;;;
-D2AC;HANGUL SYLLABLE TYUM;Lo;0;L;;;;;N;;;;;
-D2AD;HANGUL SYLLABLE TYUB;Lo;0;L;;;;;N;;;;;
-D2AE;HANGUL SYLLABLE TYUBS;Lo;0;L;;;;;N;;;;;
-D2AF;HANGUL SYLLABLE TYUS;Lo;0;L;;;;;N;;;;;
-D2B0;HANGUL SYLLABLE TYUSS;Lo;0;L;;;;;N;;;;;
-D2B1;HANGUL SYLLABLE TYUNG;Lo;0;L;;;;;N;;;;;
-D2B2;HANGUL SYLLABLE TYUJ;Lo;0;L;;;;;N;;;;;
-D2B3;HANGUL SYLLABLE TYUC;Lo;0;L;;;;;N;;;;;
-D2B4;HANGUL SYLLABLE TYUK;Lo;0;L;;;;;N;;;;;
-D2B5;HANGUL SYLLABLE TYUT;Lo;0;L;;;;;N;;;;;
-D2B6;HANGUL SYLLABLE TYUP;Lo;0;L;;;;;N;;;;;
-D2B7;HANGUL SYLLABLE TYUH;Lo;0;L;;;;;N;;;;;
-D2B8;HANGUL SYLLABLE TEU;Lo;0;L;;;;;N;;;;;
-D2B9;HANGUL SYLLABLE TEUG;Lo;0;L;;;;;N;;;;;
-D2BA;HANGUL SYLLABLE TEUGG;Lo;0;L;;;;;N;;;;;
-D2BB;HANGUL SYLLABLE TEUGS;Lo;0;L;;;;;N;;;;;
-D2BC;HANGUL SYLLABLE TEUN;Lo;0;L;;;;;N;;;;;
-D2BD;HANGUL SYLLABLE TEUNI;Lo;0;L;;;;;N;;;;;
-D2BE;HANGUL SYLLABLE TEUNH;Lo;0;L;;;;;N;;;;;
-D2BF;HANGUL SYLLABLE TEUD;Lo;0;L;;;;;N;;;;;
-D2C0;HANGUL SYLLABLE TEUL;Lo;0;L;;;;;N;;;;;
-D2C1;HANGUL SYLLABLE TEULG;Lo;0;L;;;;;N;;;;;
-D2C2;HANGUL SYLLABLE TEULM;Lo;0;L;;;;;N;;;;;
-D2C3;HANGUL SYLLABLE TEULB;Lo;0;L;;;;;N;;;;;
-D2C4;HANGUL SYLLABLE TEULS;Lo;0;L;;;;;N;;;;;
-D2C5;HANGUL SYLLABLE TEULT;Lo;0;L;;;;;N;;;;;
-D2C6;HANGUL SYLLABLE TEULP;Lo;0;L;;;;;N;;;;;
-D2C7;HANGUL SYLLABLE TEULH;Lo;0;L;;;;;N;;;;;
-D2C8;HANGUL SYLLABLE TEUM;Lo;0;L;;;;;N;;;;;
-D2C9;HANGUL SYLLABLE TEUB;Lo;0;L;;;;;N;;;;;
-D2CA;HANGUL SYLLABLE TEUBS;Lo;0;L;;;;;N;;;;;
-D2CB;HANGUL SYLLABLE TEUS;Lo;0;L;;;;;N;;;;;
-D2CC;HANGUL SYLLABLE TEUSS;Lo;0;L;;;;;N;;;;;
-D2CD;HANGUL SYLLABLE TEUNG;Lo;0;L;;;;;N;;;;;
-D2CE;HANGUL SYLLABLE TEUJ;Lo;0;L;;;;;N;;;;;
-D2CF;HANGUL SYLLABLE TEUC;Lo;0;L;;;;;N;;;;;
-D2D0;HANGUL SYLLABLE TEUK;Lo;0;L;;;;;N;;;;;
-D2D1;HANGUL SYLLABLE TEUT;Lo;0;L;;;;;N;;;;;
-D2D2;HANGUL SYLLABLE TEUP;Lo;0;L;;;;;N;;;;;
-D2D3;HANGUL SYLLABLE TEUH;Lo;0;L;;;;;N;;;;;
-D2D4;HANGUL SYLLABLE TYI;Lo;0;L;;;;;N;;;;;
-D2D5;HANGUL SYLLABLE TYIG;Lo;0;L;;;;;N;;;;;
-D2D6;HANGUL SYLLABLE TYIGG;Lo;0;L;;;;;N;;;;;
-D2D7;HANGUL SYLLABLE TYIGS;Lo;0;L;;;;;N;;;;;
-D2D8;HANGUL SYLLABLE TYIN;Lo;0;L;;;;;N;;;;;
-D2D9;HANGUL SYLLABLE TYINI;Lo;0;L;;;;;N;;;;;
-D2DA;HANGUL SYLLABLE TYINH;Lo;0;L;;;;;N;;;;;
-D2DB;HANGUL SYLLABLE TYID;Lo;0;L;;;;;N;;;;;
-D2DC;HANGUL SYLLABLE TYIL;Lo;0;L;;;;;N;;;;;
-D2DD;HANGUL SYLLABLE TYILG;Lo;0;L;;;;;N;;;;;
-D2DE;HANGUL SYLLABLE TYILM;Lo;0;L;;;;;N;;;;;
-D2DF;HANGUL SYLLABLE TYILB;Lo;0;L;;;;;N;;;;;
-D2E0;HANGUL SYLLABLE TYILS;Lo;0;L;;;;;N;;;;;
-D2E1;HANGUL SYLLABLE TYILT;Lo;0;L;;;;;N;;;;;
-D2E2;HANGUL SYLLABLE TYILP;Lo;0;L;;;;;N;;;;;
-D2E3;HANGUL SYLLABLE TYILH;Lo;0;L;;;;;N;;;;;
-D2E4;HANGUL SYLLABLE TYIM;Lo;0;L;;;;;N;;;;;
-D2E5;HANGUL SYLLABLE TYIB;Lo;0;L;;;;;N;;;;;
-D2E6;HANGUL SYLLABLE TYIBS;Lo;0;L;;;;;N;;;;;
-D2E7;HANGUL SYLLABLE TYIS;Lo;0;L;;;;;N;;;;;
-D2E8;HANGUL SYLLABLE TYISS;Lo;0;L;;;;;N;;;;;
-D2E9;HANGUL SYLLABLE TYING;Lo;0;L;;;;;N;;;;;
-D2EA;HANGUL SYLLABLE TYIJ;Lo;0;L;;;;;N;;;;;
-D2EB;HANGUL SYLLABLE TYIC;Lo;0;L;;;;;N;;;;;
-D2EC;HANGUL SYLLABLE TYIK;Lo;0;L;;;;;N;;;;;
-D2ED;HANGUL SYLLABLE TYIT;Lo;0;L;;;;;N;;;;;
-D2EE;HANGUL SYLLABLE TYIP;Lo;0;L;;;;;N;;;;;
-D2EF;HANGUL SYLLABLE TYIH;Lo;0;L;;;;;N;;;;;
-D2F0;HANGUL SYLLABLE TI;Lo;0;L;;;;;N;;;;;
-D2F1;HANGUL SYLLABLE TIG;Lo;0;L;;;;;N;;;;;
-D2F2;HANGUL SYLLABLE TIGG;Lo;0;L;;;;;N;;;;;
-D2F3;HANGUL SYLLABLE TIGS;Lo;0;L;;;;;N;;;;;
-D2F4;HANGUL SYLLABLE TIN;Lo;0;L;;;;;N;;;;;
-D2F5;HANGUL SYLLABLE TINI;Lo;0;L;;;;;N;;;;;
-D2F6;HANGUL SYLLABLE TINH;Lo;0;L;;;;;N;;;;;
-D2F7;HANGUL SYLLABLE TID;Lo;0;L;;;;;N;;;;;
-D2F8;HANGUL SYLLABLE TIL;Lo;0;L;;;;;N;;;;;
-D2F9;HANGUL SYLLABLE TILG;Lo;0;L;;;;;N;;;;;
-D2FA;HANGUL SYLLABLE TILM;Lo;0;L;;;;;N;;;;;
-D2FB;HANGUL SYLLABLE TILB;Lo;0;L;;;;;N;;;;;
-D2FC;HANGUL SYLLABLE TILS;Lo;0;L;;;;;N;;;;;
-D2FD;HANGUL SYLLABLE TILT;Lo;0;L;;;;;N;;;;;
-D2FE;HANGUL SYLLABLE TILP;Lo;0;L;;;;;N;;;;;
-D2FF;HANGUL SYLLABLE TILH;Lo;0;L;;;;;N;;;;;
-D300;HANGUL SYLLABLE TIM;Lo;0;L;;;;;N;;;;;
-D301;HANGUL SYLLABLE TIB;Lo;0;L;;;;;N;;;;;
-D302;HANGUL SYLLABLE TIBS;Lo;0;L;;;;;N;;;;;
-D303;HANGUL SYLLABLE TIS;Lo;0;L;;;;;N;;;;;
-D304;HANGUL SYLLABLE TISS;Lo;0;L;;;;;N;;;;;
-D305;HANGUL SYLLABLE TING;Lo;0;L;;;;;N;;;;;
-D306;HANGUL SYLLABLE TIJ;Lo;0;L;;;;;N;;;;;
-D307;HANGUL SYLLABLE TIC;Lo;0;L;;;;;N;;;;;
-D308;HANGUL SYLLABLE TIK;Lo;0;L;;;;;N;;;;;
-D309;HANGUL SYLLABLE TIT;Lo;0;L;;;;;N;;;;;
-D30A;HANGUL SYLLABLE TIP;Lo;0;L;;;;;N;;;;;
-D30B;HANGUL SYLLABLE TIH;Lo;0;L;;;;;N;;;;;
-D30C;HANGUL SYLLABLE PA;Lo;0;L;;;;;N;;;;;
-D30D;HANGUL SYLLABLE PAG;Lo;0;L;;;;;N;;;;;
-D30E;HANGUL SYLLABLE PAGG;Lo;0;L;;;;;N;;;;;
-D30F;HANGUL SYLLABLE PAGS;Lo;0;L;;;;;N;;;;;
-D310;HANGUL SYLLABLE PAN;Lo;0;L;;;;;N;;;;;
-D311;HANGUL SYLLABLE PANI;Lo;0;L;;;;;N;;;;;
-D312;HANGUL SYLLABLE PANH;Lo;0;L;;;;;N;;;;;
-D313;HANGUL SYLLABLE PAD;Lo;0;L;;;;;N;;;;;
-D314;HANGUL SYLLABLE PAL;Lo;0;L;;;;;N;;;;;
-D315;HANGUL SYLLABLE PALG;Lo;0;L;;;;;N;;;;;
-D316;HANGUL SYLLABLE PALM;Lo;0;L;;;;;N;;;;;
-D317;HANGUL SYLLABLE PALB;Lo;0;L;;;;;N;;;;;
-D318;HANGUL SYLLABLE PALS;Lo;0;L;;;;;N;;;;;
-D319;HANGUL SYLLABLE PALT;Lo;0;L;;;;;N;;;;;
-D31A;HANGUL SYLLABLE PALP;Lo;0;L;;;;;N;;;;;
-D31B;HANGUL SYLLABLE PALH;Lo;0;L;;;;;N;;;;;
-D31C;HANGUL SYLLABLE PAM;Lo;0;L;;;;;N;;;;;
-D31D;HANGUL SYLLABLE PAB;Lo;0;L;;;;;N;;;;;
-D31E;HANGUL SYLLABLE PABS;Lo;0;L;;;;;N;;;;;
-D31F;HANGUL SYLLABLE PAS;Lo;0;L;;;;;N;;;;;
-D320;HANGUL SYLLABLE PASS;Lo;0;L;;;;;N;;;;;
-D321;HANGUL SYLLABLE PANG;Lo;0;L;;;;;N;;;;;
-D322;HANGUL SYLLABLE PAJ;Lo;0;L;;;;;N;;;;;
-D323;HANGUL SYLLABLE PAC;Lo;0;L;;;;;N;;;;;
-D324;HANGUL SYLLABLE PAK;Lo;0;L;;;;;N;;;;;
-D325;HANGUL SYLLABLE PAT;Lo;0;L;;;;;N;;;;;
-D326;HANGUL SYLLABLE PAP;Lo;0;L;;;;;N;;;;;
-D327;HANGUL SYLLABLE PAH;Lo;0;L;;;;;N;;;;;
-D328;HANGUL SYLLABLE PAE;Lo;0;L;;;;;N;;;;;
-D329;HANGUL SYLLABLE PAEG;Lo;0;L;;;;;N;;;;;
-D32A;HANGUL SYLLABLE PAEGG;Lo;0;L;;;;;N;;;;;
-D32B;HANGUL SYLLABLE PAEGS;Lo;0;L;;;;;N;;;;;
-D32C;HANGUL SYLLABLE PAEN;Lo;0;L;;;;;N;;;;;
-D32D;HANGUL SYLLABLE PAENI;Lo;0;L;;;;;N;;;;;
-D32E;HANGUL SYLLABLE PAENH;Lo;0;L;;;;;N;;;;;
-D32F;HANGUL SYLLABLE PAED;Lo;0;L;;;;;N;;;;;
-D330;HANGUL SYLLABLE PAEL;Lo;0;L;;;;;N;;;;;
-D331;HANGUL SYLLABLE PAELG;Lo;0;L;;;;;N;;;;;
-D332;HANGUL SYLLABLE PAELM;Lo;0;L;;;;;N;;;;;
-D333;HANGUL SYLLABLE PAELB;Lo;0;L;;;;;N;;;;;
-D334;HANGUL SYLLABLE PAELS;Lo;0;L;;;;;N;;;;;
-D335;HANGUL SYLLABLE PAELT;Lo;0;L;;;;;N;;;;;
-D336;HANGUL SYLLABLE PAELP;Lo;0;L;;;;;N;;;;;
-D337;HANGUL SYLLABLE PAELH;Lo;0;L;;;;;N;;;;;
-D338;HANGUL SYLLABLE PAEM;Lo;0;L;;;;;N;;;;;
-D339;HANGUL SYLLABLE PAEB;Lo;0;L;;;;;N;;;;;
-D33A;HANGUL SYLLABLE PAEBS;Lo;0;L;;;;;N;;;;;
-D33B;HANGUL SYLLABLE PAES;Lo;0;L;;;;;N;;;;;
-D33C;HANGUL SYLLABLE PAESS;Lo;0;L;;;;;N;;;;;
-D33D;HANGUL SYLLABLE PAENG;Lo;0;L;;;;;N;;;;;
-D33E;HANGUL SYLLABLE PAEJ;Lo;0;L;;;;;N;;;;;
-D33F;HANGUL SYLLABLE PAEC;Lo;0;L;;;;;N;;;;;
-D340;HANGUL SYLLABLE PAEK;Lo;0;L;;;;;N;;;;;
-D341;HANGUL SYLLABLE PAET;Lo;0;L;;;;;N;;;;;
-D342;HANGUL SYLLABLE PAEP;Lo;0;L;;;;;N;;;;;
-D343;HANGUL SYLLABLE PAEH;Lo;0;L;;;;;N;;;;;
-D344;HANGUL SYLLABLE PYA;Lo;0;L;;;;;N;;;;;
-D345;HANGUL SYLLABLE PYAG;Lo;0;L;;;;;N;;;;;
-D346;HANGUL SYLLABLE PYAGG;Lo;0;L;;;;;N;;;;;
-D347;HANGUL SYLLABLE PYAGS;Lo;0;L;;;;;N;;;;;
-D348;HANGUL SYLLABLE PYAN;Lo;0;L;;;;;N;;;;;
-D349;HANGUL SYLLABLE PYANI;Lo;0;L;;;;;N;;;;;
-D34A;HANGUL SYLLABLE PYANH;Lo;0;L;;;;;N;;;;;
-D34B;HANGUL SYLLABLE PYAD;Lo;0;L;;;;;N;;;;;
-D34C;HANGUL SYLLABLE PYAL;Lo;0;L;;;;;N;;;;;
-D34D;HANGUL SYLLABLE PYALG;Lo;0;L;;;;;N;;;;;
-D34E;HANGUL SYLLABLE PYALM;Lo;0;L;;;;;N;;;;;
-D34F;HANGUL SYLLABLE PYALB;Lo;0;L;;;;;N;;;;;
-D350;HANGUL SYLLABLE PYALS;Lo;0;L;;;;;N;;;;;
-D351;HANGUL SYLLABLE PYALT;Lo;0;L;;;;;N;;;;;
-D352;HANGUL SYLLABLE PYALP;Lo;0;L;;;;;N;;;;;
-D353;HANGUL SYLLABLE PYALH;Lo;0;L;;;;;N;;;;;
-D354;HANGUL SYLLABLE PYAM;Lo;0;L;;;;;N;;;;;
-D355;HANGUL SYLLABLE PYAB;Lo;0;L;;;;;N;;;;;
-D356;HANGUL SYLLABLE PYABS;Lo;0;L;;;;;N;;;;;
-D357;HANGUL SYLLABLE PYAS;Lo;0;L;;;;;N;;;;;
-D358;HANGUL SYLLABLE PYASS;Lo;0;L;;;;;N;;;;;
-D359;HANGUL SYLLABLE PYANG;Lo;0;L;;;;;N;;;;;
-D35A;HANGUL SYLLABLE PYAJ;Lo;0;L;;;;;N;;;;;
-D35B;HANGUL SYLLABLE PYAC;Lo;0;L;;;;;N;;;;;
-D35C;HANGUL SYLLABLE PYAK;Lo;0;L;;;;;N;;;;;
-D35D;HANGUL SYLLABLE PYAT;Lo;0;L;;;;;N;;;;;
-D35E;HANGUL SYLLABLE PYAP;Lo;0;L;;;;;N;;;;;
-D35F;HANGUL SYLLABLE PYAH;Lo;0;L;;;;;N;;;;;
-D360;HANGUL SYLLABLE PYAE;Lo;0;L;;;;;N;;;;;
-D361;HANGUL SYLLABLE PYAEG;Lo;0;L;;;;;N;;;;;
-D362;HANGUL SYLLABLE PYAEGG;Lo;0;L;;;;;N;;;;;
-D363;HANGUL SYLLABLE PYAEGS;Lo;0;L;;;;;N;;;;;
-D364;HANGUL SYLLABLE PYAEN;Lo;0;L;;;;;N;;;;;
-D365;HANGUL SYLLABLE PYAENI;Lo;0;L;;;;;N;;;;;
-D366;HANGUL SYLLABLE PYAENH;Lo;0;L;;;;;N;;;;;
-D367;HANGUL SYLLABLE PYAED;Lo;0;L;;;;;N;;;;;
-D368;HANGUL SYLLABLE PYAEL;Lo;0;L;;;;;N;;;;;
-D369;HANGUL SYLLABLE PYAELG;Lo;0;L;;;;;N;;;;;
-D36A;HANGUL SYLLABLE PYAELM;Lo;0;L;;;;;N;;;;;
-D36B;HANGUL SYLLABLE PYAELB;Lo;0;L;;;;;N;;;;;
-D36C;HANGUL SYLLABLE PYAELS;Lo;0;L;;;;;N;;;;;
-D36D;HANGUL SYLLABLE PYAELT;Lo;0;L;;;;;N;;;;;
-D36E;HANGUL SYLLABLE PYAELP;Lo;0;L;;;;;N;;;;;
-D36F;HANGUL SYLLABLE PYAELH;Lo;0;L;;;;;N;;;;;
-D370;HANGUL SYLLABLE PYAEM;Lo;0;L;;;;;N;;;;;
-D371;HANGUL SYLLABLE PYAEB;Lo;0;L;;;;;N;;;;;
-D372;HANGUL SYLLABLE PYAEBS;Lo;0;L;;;;;N;;;;;
-D373;HANGUL SYLLABLE PYAES;Lo;0;L;;;;;N;;;;;
-D374;HANGUL SYLLABLE PYAESS;Lo;0;L;;;;;N;;;;;
-D375;HANGUL SYLLABLE PYAENG;Lo;0;L;;;;;N;;;;;
-D376;HANGUL SYLLABLE PYAEJ;Lo;0;L;;;;;N;;;;;
-D377;HANGUL SYLLABLE PYAEC;Lo;0;L;;;;;N;;;;;
-D378;HANGUL SYLLABLE PYAEK;Lo;0;L;;;;;N;;;;;
-D379;HANGUL SYLLABLE PYAET;Lo;0;L;;;;;N;;;;;
-D37A;HANGUL SYLLABLE PYAEP;Lo;0;L;;;;;N;;;;;
-D37B;HANGUL SYLLABLE PYAEH;Lo;0;L;;;;;N;;;;;
-D37C;HANGUL SYLLABLE PEO;Lo;0;L;;;;;N;;;;;
-D37D;HANGUL SYLLABLE PEOG;Lo;0;L;;;;;N;;;;;
-D37E;HANGUL SYLLABLE PEOGG;Lo;0;L;;;;;N;;;;;
-D37F;HANGUL SYLLABLE PEOGS;Lo;0;L;;;;;N;;;;;
-D380;HANGUL SYLLABLE PEON;Lo;0;L;;;;;N;;;;;
-D381;HANGUL SYLLABLE PEONI;Lo;0;L;;;;;N;;;;;
-D382;HANGUL SYLLABLE PEONH;Lo;0;L;;;;;N;;;;;
-D383;HANGUL SYLLABLE PEOD;Lo;0;L;;;;;N;;;;;
-D384;HANGUL SYLLABLE PEOL;Lo;0;L;;;;;N;;;;;
-D385;HANGUL SYLLABLE PEOLG;Lo;0;L;;;;;N;;;;;
-D386;HANGUL SYLLABLE PEOLM;Lo;0;L;;;;;N;;;;;
-D387;HANGUL SYLLABLE PEOLB;Lo;0;L;;;;;N;;;;;
-D388;HANGUL SYLLABLE PEOLS;Lo;0;L;;;;;N;;;;;
-D389;HANGUL SYLLABLE PEOLT;Lo;0;L;;;;;N;;;;;
-D38A;HANGUL SYLLABLE PEOLP;Lo;0;L;;;;;N;;;;;
-D38B;HANGUL SYLLABLE PEOLH;Lo;0;L;;;;;N;;;;;
-D38C;HANGUL SYLLABLE PEOM;Lo;0;L;;;;;N;;;;;
-D38D;HANGUL SYLLABLE PEOB;Lo;0;L;;;;;N;;;;;
-D38E;HANGUL SYLLABLE PEOBS;Lo;0;L;;;;;N;;;;;
-D38F;HANGUL SYLLABLE PEOS;Lo;0;L;;;;;N;;;;;
-D390;HANGUL SYLLABLE PEOSS;Lo;0;L;;;;;N;;;;;
-D391;HANGUL SYLLABLE PEONG;Lo;0;L;;;;;N;;;;;
-D392;HANGUL SYLLABLE PEOJ;Lo;0;L;;;;;N;;;;;
-D393;HANGUL SYLLABLE PEOC;Lo;0;L;;;;;N;;;;;
-D394;HANGUL SYLLABLE PEOK;Lo;0;L;;;;;N;;;;;
-D395;HANGUL SYLLABLE PEOT;Lo;0;L;;;;;N;;;;;
-D396;HANGUL SYLLABLE PEOP;Lo;0;L;;;;;N;;;;;
-D397;HANGUL SYLLABLE PEOH;Lo;0;L;;;;;N;;;;;
-D398;HANGUL SYLLABLE PE;Lo;0;L;;;;;N;;;;;
-D399;HANGUL SYLLABLE PEG;Lo;0;L;;;;;N;;;;;
-D39A;HANGUL SYLLABLE PEGG;Lo;0;L;;;;;N;;;;;
-D39B;HANGUL SYLLABLE PEGS;Lo;0;L;;;;;N;;;;;
-D39C;HANGUL SYLLABLE PEN;Lo;0;L;;;;;N;;;;;
-D39D;HANGUL SYLLABLE PENI;Lo;0;L;;;;;N;;;;;
-D39E;HANGUL SYLLABLE PENH;Lo;0;L;;;;;N;;;;;
-D39F;HANGUL SYLLABLE PED;Lo;0;L;;;;;N;;;;;
-D3A0;HANGUL SYLLABLE PEL;Lo;0;L;;;;;N;;;;;
-D3A1;HANGUL SYLLABLE PELG;Lo;0;L;;;;;N;;;;;
-D3A2;HANGUL SYLLABLE PELM;Lo;0;L;;;;;N;;;;;
-D3A3;HANGUL SYLLABLE PELB;Lo;0;L;;;;;N;;;;;
-D3A4;HANGUL SYLLABLE PELS;Lo;0;L;;;;;N;;;;;
-D3A5;HANGUL SYLLABLE PELT;Lo;0;L;;;;;N;;;;;
-D3A6;HANGUL SYLLABLE PELP;Lo;0;L;;;;;N;;;;;
-D3A7;HANGUL SYLLABLE PELH;Lo;0;L;;;;;N;;;;;
-D3A8;HANGUL SYLLABLE PEM;Lo;0;L;;;;;N;;;;;
-D3A9;HANGUL SYLLABLE PEB;Lo;0;L;;;;;N;;;;;
-D3AA;HANGUL SYLLABLE PEBS;Lo;0;L;;;;;N;;;;;
-D3AB;HANGUL SYLLABLE PES;Lo;0;L;;;;;N;;;;;
-D3AC;HANGUL SYLLABLE PESS;Lo;0;L;;;;;N;;;;;
-D3AD;HANGUL SYLLABLE PENG;Lo;0;L;;;;;N;;;;;
-D3AE;HANGUL SYLLABLE PEJ;Lo;0;L;;;;;N;;;;;
-D3AF;HANGUL SYLLABLE PEC;Lo;0;L;;;;;N;;;;;
-D3B0;HANGUL SYLLABLE PEK;Lo;0;L;;;;;N;;;;;
-D3B1;HANGUL SYLLABLE PET;Lo;0;L;;;;;N;;;;;
-D3B2;HANGUL SYLLABLE PEP;Lo;0;L;;;;;N;;;;;
-D3B3;HANGUL SYLLABLE PEH;Lo;0;L;;;;;N;;;;;
-D3B4;HANGUL SYLLABLE PYEO;Lo;0;L;;;;;N;;;;;
-D3B5;HANGUL SYLLABLE PYEOG;Lo;0;L;;;;;N;;;;;
-D3B6;HANGUL SYLLABLE PYEOGG;Lo;0;L;;;;;N;;;;;
-D3B7;HANGUL SYLLABLE PYEOGS;Lo;0;L;;;;;N;;;;;
-D3B8;HANGUL SYLLABLE PYEON;Lo;0;L;;;;;N;;;;;
-D3B9;HANGUL SYLLABLE PYEONI;Lo;0;L;;;;;N;;;;;
-D3BA;HANGUL SYLLABLE PYEONH;Lo;0;L;;;;;N;;;;;
-D3BB;HANGUL SYLLABLE PYEOD;Lo;0;L;;;;;N;;;;;
-D3BC;HANGUL SYLLABLE PYEOL;Lo;0;L;;;;;N;;;;;
-D3BD;HANGUL SYLLABLE PYEOLG;Lo;0;L;;;;;N;;;;;
-D3BE;HANGUL SYLLABLE PYEOLM;Lo;0;L;;;;;N;;;;;
-D3BF;HANGUL SYLLABLE PYEOLB;Lo;0;L;;;;;N;;;;;
-D3C0;HANGUL SYLLABLE PYEOLS;Lo;0;L;;;;;N;;;;;
-D3C1;HANGUL SYLLABLE PYEOLT;Lo;0;L;;;;;N;;;;;
-D3C2;HANGUL SYLLABLE PYEOLP;Lo;0;L;;;;;N;;;;;
-D3C3;HANGUL SYLLABLE PYEOLH;Lo;0;L;;;;;N;;;;;
-D3C4;HANGUL SYLLABLE PYEOM;Lo;0;L;;;;;N;;;;;
-D3C5;HANGUL SYLLABLE PYEOB;Lo;0;L;;;;;N;;;;;
-D3C6;HANGUL SYLLABLE PYEOBS;Lo;0;L;;;;;N;;;;;
-D3C7;HANGUL SYLLABLE PYEOS;Lo;0;L;;;;;N;;;;;
-D3C8;HANGUL SYLLABLE PYEOSS;Lo;0;L;;;;;N;;;;;
-D3C9;HANGUL SYLLABLE PYEONG;Lo;0;L;;;;;N;;;;;
-D3CA;HANGUL SYLLABLE PYEOJ;Lo;0;L;;;;;N;;;;;
-D3CB;HANGUL SYLLABLE PYEOC;Lo;0;L;;;;;N;;;;;
-D3CC;HANGUL SYLLABLE PYEOK;Lo;0;L;;;;;N;;;;;
-D3CD;HANGUL SYLLABLE PYEOT;Lo;0;L;;;;;N;;;;;
-D3CE;HANGUL SYLLABLE PYEOP;Lo;0;L;;;;;N;;;;;
-D3CF;HANGUL SYLLABLE PYEOH;Lo;0;L;;;;;N;;;;;
-D3D0;HANGUL SYLLABLE PYE;Lo;0;L;;;;;N;;;;;
-D3D1;HANGUL SYLLABLE PYEG;Lo;0;L;;;;;N;;;;;
-D3D2;HANGUL SYLLABLE PYEGG;Lo;0;L;;;;;N;;;;;
-D3D3;HANGUL SYLLABLE PYEGS;Lo;0;L;;;;;N;;;;;
-D3D4;HANGUL SYLLABLE PYEN;Lo;0;L;;;;;N;;;;;
-D3D5;HANGUL SYLLABLE PYENI;Lo;0;L;;;;;N;;;;;
-D3D6;HANGUL SYLLABLE PYENH;Lo;0;L;;;;;N;;;;;
-D3D7;HANGUL SYLLABLE PYED;Lo;0;L;;;;;N;;;;;
-D3D8;HANGUL SYLLABLE PYEL;Lo;0;L;;;;;N;;;;;
-D3D9;HANGUL SYLLABLE PYELG;Lo;0;L;;;;;N;;;;;
-D3DA;HANGUL SYLLABLE PYELM;Lo;0;L;;;;;N;;;;;
-D3DB;HANGUL SYLLABLE PYELB;Lo;0;L;;;;;N;;;;;
-D3DC;HANGUL SYLLABLE PYELS;Lo;0;L;;;;;N;;;;;
-D3DD;HANGUL SYLLABLE PYELT;Lo;0;L;;;;;N;;;;;
-D3DE;HANGUL SYLLABLE PYELP;Lo;0;L;;;;;N;;;;;
-D3DF;HANGUL SYLLABLE PYELH;Lo;0;L;;;;;N;;;;;
-D3E0;HANGUL SYLLABLE PYEM;Lo;0;L;;;;;N;;;;;
-D3E1;HANGUL SYLLABLE PYEB;Lo;0;L;;;;;N;;;;;
-D3E2;HANGUL SYLLABLE PYEBS;Lo;0;L;;;;;N;;;;;
-D3E3;HANGUL SYLLABLE PYES;Lo;0;L;;;;;N;;;;;
-D3E4;HANGUL SYLLABLE PYESS;Lo;0;L;;;;;N;;;;;
-D3E5;HANGUL SYLLABLE PYENG;Lo;0;L;;;;;N;;;;;
-D3E6;HANGUL SYLLABLE PYEJ;Lo;0;L;;;;;N;;;;;
-D3E7;HANGUL SYLLABLE PYEC;Lo;0;L;;;;;N;;;;;
-D3E8;HANGUL SYLLABLE PYEK;Lo;0;L;;;;;N;;;;;
-D3E9;HANGUL SYLLABLE PYET;Lo;0;L;;;;;N;;;;;
-D3EA;HANGUL SYLLABLE PYEP;Lo;0;L;;;;;N;;;;;
-D3EB;HANGUL SYLLABLE PYEH;Lo;0;L;;;;;N;;;;;
-D3EC;HANGUL SYLLABLE PO;Lo;0;L;;;;;N;;;;;
-D3ED;HANGUL SYLLABLE POG;Lo;0;L;;;;;N;;;;;
-D3EE;HANGUL SYLLABLE POGG;Lo;0;L;;;;;N;;;;;
-D3EF;HANGUL SYLLABLE POGS;Lo;0;L;;;;;N;;;;;
-D3F0;HANGUL SYLLABLE PON;Lo;0;L;;;;;N;;;;;
-D3F1;HANGUL SYLLABLE PONI;Lo;0;L;;;;;N;;;;;
-D3F2;HANGUL SYLLABLE PONH;Lo;0;L;;;;;N;;;;;
-D3F3;HANGUL SYLLABLE POD;Lo;0;L;;;;;N;;;;;
-D3F4;HANGUL SYLLABLE POL;Lo;0;L;;;;;N;;;;;
-D3F5;HANGUL SYLLABLE POLG;Lo;0;L;;;;;N;;;;;
-D3F6;HANGUL SYLLABLE POLM;Lo;0;L;;;;;N;;;;;
-D3F7;HANGUL SYLLABLE POLB;Lo;0;L;;;;;N;;;;;
-D3F8;HANGUL SYLLABLE POLS;Lo;0;L;;;;;N;;;;;
-D3F9;HANGUL SYLLABLE POLT;Lo;0;L;;;;;N;;;;;
-D3FA;HANGUL SYLLABLE POLP;Lo;0;L;;;;;N;;;;;
-D3FB;HANGUL SYLLABLE POLH;Lo;0;L;;;;;N;;;;;
-D3FC;HANGUL SYLLABLE POM;Lo;0;L;;;;;N;;;;;
-D3FD;HANGUL SYLLABLE POB;Lo;0;L;;;;;N;;;;;
-D3FE;HANGUL SYLLABLE POBS;Lo;0;L;;;;;N;;;;;
-D3FF;HANGUL SYLLABLE POS;Lo;0;L;;;;;N;;;;;
-D400;HANGUL SYLLABLE POSS;Lo;0;L;;;;;N;;;;;
-D401;HANGUL SYLLABLE PONG;Lo;0;L;;;;;N;;;;;
-D402;HANGUL SYLLABLE POJ;Lo;0;L;;;;;N;;;;;
-D403;HANGUL SYLLABLE POC;Lo;0;L;;;;;N;;;;;
-D404;HANGUL SYLLABLE POK;Lo;0;L;;;;;N;;;;;
-D405;HANGUL SYLLABLE POT;Lo;0;L;;;;;N;;;;;
-D406;HANGUL SYLLABLE POP;Lo;0;L;;;;;N;;;;;
-D407;HANGUL SYLLABLE POH;Lo;0;L;;;;;N;;;;;
-D408;HANGUL SYLLABLE PWA;Lo;0;L;;;;;N;;;;;
-D409;HANGUL SYLLABLE PWAG;Lo;0;L;;;;;N;;;;;
-D40A;HANGUL SYLLABLE PWAGG;Lo;0;L;;;;;N;;;;;
-D40B;HANGUL SYLLABLE PWAGS;Lo;0;L;;;;;N;;;;;
-D40C;HANGUL SYLLABLE PWAN;Lo;0;L;;;;;N;;;;;
-D40D;HANGUL SYLLABLE PWANI;Lo;0;L;;;;;N;;;;;
-D40E;HANGUL SYLLABLE PWANH;Lo;0;L;;;;;N;;;;;
-D40F;HANGUL SYLLABLE PWAD;Lo;0;L;;;;;N;;;;;
-D410;HANGUL SYLLABLE PWAL;Lo;0;L;;;;;N;;;;;
-D411;HANGUL SYLLABLE PWALG;Lo;0;L;;;;;N;;;;;
-D412;HANGUL SYLLABLE PWALM;Lo;0;L;;;;;N;;;;;
-D413;HANGUL SYLLABLE PWALB;Lo;0;L;;;;;N;;;;;
-D414;HANGUL SYLLABLE PWALS;Lo;0;L;;;;;N;;;;;
-D415;HANGUL SYLLABLE PWALT;Lo;0;L;;;;;N;;;;;
-D416;HANGUL SYLLABLE PWALP;Lo;0;L;;;;;N;;;;;
-D417;HANGUL SYLLABLE PWALH;Lo;0;L;;;;;N;;;;;
-D418;HANGUL SYLLABLE PWAM;Lo;0;L;;;;;N;;;;;
-D419;HANGUL SYLLABLE PWAB;Lo;0;L;;;;;N;;;;;
-D41A;HANGUL SYLLABLE PWABS;Lo;0;L;;;;;N;;;;;
-D41B;HANGUL SYLLABLE PWAS;Lo;0;L;;;;;N;;;;;
-D41C;HANGUL SYLLABLE PWASS;Lo;0;L;;;;;N;;;;;
-D41D;HANGUL SYLLABLE PWANG;Lo;0;L;;;;;N;;;;;
-D41E;HANGUL SYLLABLE PWAJ;Lo;0;L;;;;;N;;;;;
-D41F;HANGUL SYLLABLE PWAC;Lo;0;L;;;;;N;;;;;
-D420;HANGUL SYLLABLE PWAK;Lo;0;L;;;;;N;;;;;
-D421;HANGUL SYLLABLE PWAT;Lo;0;L;;;;;N;;;;;
-D422;HANGUL SYLLABLE PWAP;Lo;0;L;;;;;N;;;;;
-D423;HANGUL SYLLABLE PWAH;Lo;0;L;;;;;N;;;;;
-D424;HANGUL SYLLABLE PWAE;Lo;0;L;;;;;N;;;;;
-D425;HANGUL SYLLABLE PWAEG;Lo;0;L;;;;;N;;;;;
-D426;HANGUL SYLLABLE PWAEGG;Lo;0;L;;;;;N;;;;;
-D427;HANGUL SYLLABLE PWAEGS;Lo;0;L;;;;;N;;;;;
-D428;HANGUL SYLLABLE PWAEN;Lo;0;L;;;;;N;;;;;
-D429;HANGUL SYLLABLE PWAENI;Lo;0;L;;;;;N;;;;;
-D42A;HANGUL SYLLABLE PWAENH;Lo;0;L;;;;;N;;;;;
-D42B;HANGUL SYLLABLE PWAED;Lo;0;L;;;;;N;;;;;
-D42C;HANGUL SYLLABLE PWAEL;Lo;0;L;;;;;N;;;;;
-D42D;HANGUL SYLLABLE PWAELG;Lo;0;L;;;;;N;;;;;
-D42E;HANGUL SYLLABLE PWAELM;Lo;0;L;;;;;N;;;;;
-D42F;HANGUL SYLLABLE PWAELB;Lo;0;L;;;;;N;;;;;
-D430;HANGUL SYLLABLE PWAELS;Lo;0;L;;;;;N;;;;;
-D431;HANGUL SYLLABLE PWAELT;Lo;0;L;;;;;N;;;;;
-D432;HANGUL SYLLABLE PWAELP;Lo;0;L;;;;;N;;;;;
-D433;HANGUL SYLLABLE PWAELH;Lo;0;L;;;;;N;;;;;
-D434;HANGUL SYLLABLE PWAEM;Lo;0;L;;;;;N;;;;;
-D435;HANGUL SYLLABLE PWAEB;Lo;0;L;;;;;N;;;;;
-D436;HANGUL SYLLABLE PWAEBS;Lo;0;L;;;;;N;;;;;
-D437;HANGUL SYLLABLE PWAES;Lo;0;L;;;;;N;;;;;
-D438;HANGUL SYLLABLE PWAESS;Lo;0;L;;;;;N;;;;;
-D439;HANGUL SYLLABLE PWAENG;Lo;0;L;;;;;N;;;;;
-D43A;HANGUL SYLLABLE PWAEJ;Lo;0;L;;;;;N;;;;;
-D43B;HANGUL SYLLABLE PWAEC;Lo;0;L;;;;;N;;;;;
-D43C;HANGUL SYLLABLE PWAEK;Lo;0;L;;;;;N;;;;;
-D43D;HANGUL SYLLABLE PWAET;Lo;0;L;;;;;N;;;;;
-D43E;HANGUL SYLLABLE PWAEP;Lo;0;L;;;;;N;;;;;
-D43F;HANGUL SYLLABLE PWAEH;Lo;0;L;;;;;N;;;;;
-D440;HANGUL SYLLABLE POE;Lo;0;L;;;;;N;;;;;
-D441;HANGUL SYLLABLE POEG;Lo;0;L;;;;;N;;;;;
-D442;HANGUL SYLLABLE POEGG;Lo;0;L;;;;;N;;;;;
-D443;HANGUL SYLLABLE POEGS;Lo;0;L;;;;;N;;;;;
-D444;HANGUL SYLLABLE POEN;Lo;0;L;;;;;N;;;;;
-D445;HANGUL SYLLABLE POENI;Lo;0;L;;;;;N;;;;;
-D446;HANGUL SYLLABLE POENH;Lo;0;L;;;;;N;;;;;
-D447;HANGUL SYLLABLE POED;Lo;0;L;;;;;N;;;;;
-D448;HANGUL SYLLABLE POEL;Lo;0;L;;;;;N;;;;;
-D449;HANGUL SYLLABLE POELG;Lo;0;L;;;;;N;;;;;
-D44A;HANGUL SYLLABLE POELM;Lo;0;L;;;;;N;;;;;
-D44B;HANGUL SYLLABLE POELB;Lo;0;L;;;;;N;;;;;
-D44C;HANGUL SYLLABLE POELS;Lo;0;L;;;;;N;;;;;
-D44D;HANGUL SYLLABLE POELT;Lo;0;L;;;;;N;;;;;
-D44E;HANGUL SYLLABLE POELP;Lo;0;L;;;;;N;;;;;
-D44F;HANGUL SYLLABLE POELH;Lo;0;L;;;;;N;;;;;
-D450;HANGUL SYLLABLE POEM;Lo;0;L;;;;;N;;;;;
-D451;HANGUL SYLLABLE POEB;Lo;0;L;;;;;N;;;;;
-D452;HANGUL SYLLABLE POEBS;Lo;0;L;;;;;N;;;;;
-D453;HANGUL SYLLABLE POES;Lo;0;L;;;;;N;;;;;
-D454;HANGUL SYLLABLE POESS;Lo;0;L;;;;;N;;;;;
-D455;HANGUL SYLLABLE POENG;Lo;0;L;;;;;N;;;;;
-D456;HANGUL SYLLABLE POEJ;Lo;0;L;;;;;N;;;;;
-D457;HANGUL SYLLABLE POEC;Lo;0;L;;;;;N;;;;;
-D458;HANGUL SYLLABLE POEK;Lo;0;L;;;;;N;;;;;
-D459;HANGUL SYLLABLE POET;Lo;0;L;;;;;N;;;;;
-D45A;HANGUL SYLLABLE POEP;Lo;0;L;;;;;N;;;;;
-D45B;HANGUL SYLLABLE POEH;Lo;0;L;;;;;N;;;;;
-D45C;HANGUL SYLLABLE PYO;Lo;0;L;;;;;N;;;;;
-D45D;HANGUL SYLLABLE PYOG;Lo;0;L;;;;;N;;;;;
-D45E;HANGUL SYLLABLE PYOGG;Lo;0;L;;;;;N;;;;;
-D45F;HANGUL SYLLABLE PYOGS;Lo;0;L;;;;;N;;;;;
-D460;HANGUL SYLLABLE PYON;Lo;0;L;;;;;N;;;;;
-D461;HANGUL SYLLABLE PYONI;Lo;0;L;;;;;N;;;;;
-D462;HANGUL SYLLABLE PYONH;Lo;0;L;;;;;N;;;;;
-D463;HANGUL SYLLABLE PYOD;Lo;0;L;;;;;N;;;;;
-D464;HANGUL SYLLABLE PYOL;Lo;0;L;;;;;N;;;;;
-D465;HANGUL SYLLABLE PYOLG;Lo;0;L;;;;;N;;;;;
-D466;HANGUL SYLLABLE PYOLM;Lo;0;L;;;;;N;;;;;
-D467;HANGUL SYLLABLE PYOLB;Lo;0;L;;;;;N;;;;;
-D468;HANGUL SYLLABLE PYOLS;Lo;0;L;;;;;N;;;;;
-D469;HANGUL SYLLABLE PYOLT;Lo;0;L;;;;;N;;;;;
-D46A;HANGUL SYLLABLE PYOLP;Lo;0;L;;;;;N;;;;;
-D46B;HANGUL SYLLABLE PYOLH;Lo;0;L;;;;;N;;;;;
-D46C;HANGUL SYLLABLE PYOM;Lo;0;L;;;;;N;;;;;
-D46D;HANGUL SYLLABLE PYOB;Lo;0;L;;;;;N;;;;;
-D46E;HANGUL SYLLABLE PYOBS;Lo;0;L;;;;;N;;;;;
-D46F;HANGUL SYLLABLE PYOS;Lo;0;L;;;;;N;;;;;
-D470;HANGUL SYLLABLE PYOSS;Lo;0;L;;;;;N;;;;;
-D471;HANGUL SYLLABLE PYONG;Lo;0;L;;;;;N;;;;;
-D472;HANGUL SYLLABLE PYOJ;Lo;0;L;;;;;N;;;;;
-D473;HANGUL SYLLABLE PYOC;Lo;0;L;;;;;N;;;;;
-D474;HANGUL SYLLABLE PYOK;Lo;0;L;;;;;N;;;;;
-D475;HANGUL SYLLABLE PYOT;Lo;0;L;;;;;N;;;;;
-D476;HANGUL SYLLABLE PYOP;Lo;0;L;;;;;N;;;;;
-D477;HANGUL SYLLABLE PYOH;Lo;0;L;;;;;N;;;;;
-D478;HANGUL SYLLABLE PU;Lo;0;L;;;;;N;;;;;
-D479;HANGUL SYLLABLE PUG;Lo;0;L;;;;;N;;;;;
-D47A;HANGUL SYLLABLE PUGG;Lo;0;L;;;;;N;;;;;
-D47B;HANGUL SYLLABLE PUGS;Lo;0;L;;;;;N;;;;;
-D47C;HANGUL SYLLABLE PUN;Lo;0;L;;;;;N;;;;;
-D47D;HANGUL SYLLABLE PUNI;Lo;0;L;;;;;N;;;;;
-D47E;HANGUL SYLLABLE PUNH;Lo;0;L;;;;;N;;;;;
-D47F;HANGUL SYLLABLE PUD;Lo;0;L;;;;;N;;;;;
-D480;HANGUL SYLLABLE PUL;Lo;0;L;;;;;N;;;;;
-D481;HANGUL SYLLABLE PULG;Lo;0;L;;;;;N;;;;;
-D482;HANGUL SYLLABLE PULM;Lo;0;L;;;;;N;;;;;
-D483;HANGUL SYLLABLE PULB;Lo;0;L;;;;;N;;;;;
-D484;HANGUL SYLLABLE PULS;Lo;0;L;;;;;N;;;;;
-D485;HANGUL SYLLABLE PULT;Lo;0;L;;;;;N;;;;;
-D486;HANGUL SYLLABLE PULP;Lo;0;L;;;;;N;;;;;
-D487;HANGUL SYLLABLE PULH;Lo;0;L;;;;;N;;;;;
-D488;HANGUL SYLLABLE PUM;Lo;0;L;;;;;N;;;;;
-D489;HANGUL SYLLABLE PUB;Lo;0;L;;;;;N;;;;;
-D48A;HANGUL SYLLABLE PUBS;Lo;0;L;;;;;N;;;;;
-D48B;HANGUL SYLLABLE PUS;Lo;0;L;;;;;N;;;;;
-D48C;HANGUL SYLLABLE PUSS;Lo;0;L;;;;;N;;;;;
-D48D;HANGUL SYLLABLE PUNG;Lo;0;L;;;;;N;;;;;
-D48E;HANGUL SYLLABLE PUJ;Lo;0;L;;;;;N;;;;;
-D48F;HANGUL SYLLABLE PUC;Lo;0;L;;;;;N;;;;;
-D490;HANGUL SYLLABLE PUK;Lo;0;L;;;;;N;;;;;
-D491;HANGUL SYLLABLE PUT;Lo;0;L;;;;;N;;;;;
-D492;HANGUL SYLLABLE PUP;Lo;0;L;;;;;N;;;;;
-D493;HANGUL SYLLABLE PUH;Lo;0;L;;;;;N;;;;;
-D494;HANGUL SYLLABLE PWEO;Lo;0;L;;;;;N;;;;;
-D495;HANGUL SYLLABLE PWEOG;Lo;0;L;;;;;N;;;;;
-D496;HANGUL SYLLABLE PWEOGG;Lo;0;L;;;;;N;;;;;
-D497;HANGUL SYLLABLE PWEOGS;Lo;0;L;;;;;N;;;;;
-D498;HANGUL SYLLABLE PWEON;Lo;0;L;;;;;N;;;;;
-D499;HANGUL SYLLABLE PWEONI;Lo;0;L;;;;;N;;;;;
-D49A;HANGUL SYLLABLE PWEONH;Lo;0;L;;;;;N;;;;;
-D49B;HANGUL SYLLABLE PWEOD;Lo;0;L;;;;;N;;;;;
-D49C;HANGUL SYLLABLE PWEOL;Lo;0;L;;;;;N;;;;;
-D49D;HANGUL SYLLABLE PWEOLG;Lo;0;L;;;;;N;;;;;
-D49E;HANGUL SYLLABLE PWEOLM;Lo;0;L;;;;;N;;;;;
-D49F;HANGUL SYLLABLE PWEOLB;Lo;0;L;;;;;N;;;;;
-D4A0;HANGUL SYLLABLE PWEOLS;Lo;0;L;;;;;N;;;;;
-D4A1;HANGUL SYLLABLE PWEOLT;Lo;0;L;;;;;N;;;;;
-D4A2;HANGUL SYLLABLE PWEOLP;Lo;0;L;;;;;N;;;;;
-D4A3;HANGUL SYLLABLE PWEOLH;Lo;0;L;;;;;N;;;;;
-D4A4;HANGUL SYLLABLE PWEOM;Lo;0;L;;;;;N;;;;;
-D4A5;HANGUL SYLLABLE PWEOB;Lo;0;L;;;;;N;;;;;
-D4A6;HANGUL SYLLABLE PWEOBS;Lo;0;L;;;;;N;;;;;
-D4A7;HANGUL SYLLABLE PWEOS;Lo;0;L;;;;;N;;;;;
-D4A8;HANGUL SYLLABLE PWEOSS;Lo;0;L;;;;;N;;;;;
-D4A9;HANGUL SYLLABLE PWEONG;Lo;0;L;;;;;N;;;;;
-D4AA;HANGUL SYLLABLE PWEOJ;Lo;0;L;;;;;N;;;;;
-D4AB;HANGUL SYLLABLE PWEOC;Lo;0;L;;;;;N;;;;;
-D4AC;HANGUL SYLLABLE PWEOK;Lo;0;L;;;;;N;;;;;
-D4AD;HANGUL SYLLABLE PWEOT;Lo;0;L;;;;;N;;;;;
-D4AE;HANGUL SYLLABLE PWEOP;Lo;0;L;;;;;N;;;;;
-D4AF;HANGUL SYLLABLE PWEOH;Lo;0;L;;;;;N;;;;;
-D4B0;HANGUL SYLLABLE PWE;Lo;0;L;;;;;N;;;;;
-D4B1;HANGUL SYLLABLE PWEG;Lo;0;L;;;;;N;;;;;
-D4B2;HANGUL SYLLABLE PWEGG;Lo;0;L;;;;;N;;;;;
-D4B3;HANGUL SYLLABLE PWEGS;Lo;0;L;;;;;N;;;;;
-D4B4;HANGUL SYLLABLE PWEN;Lo;0;L;;;;;N;;;;;
-D4B5;HANGUL SYLLABLE PWENI;Lo;0;L;;;;;N;;;;;
-D4B6;HANGUL SYLLABLE PWENH;Lo;0;L;;;;;N;;;;;
-D4B7;HANGUL SYLLABLE PWED;Lo;0;L;;;;;N;;;;;
-D4B8;HANGUL SYLLABLE PWEL;Lo;0;L;;;;;N;;;;;
-D4B9;HANGUL SYLLABLE PWELG;Lo;0;L;;;;;N;;;;;
-D4BA;HANGUL SYLLABLE PWELM;Lo;0;L;;;;;N;;;;;
-D4BB;HANGUL SYLLABLE PWELB;Lo;0;L;;;;;N;;;;;
-D4BC;HANGUL SYLLABLE PWELS;Lo;0;L;;;;;N;;;;;
-D4BD;HANGUL SYLLABLE PWELT;Lo;0;L;;;;;N;;;;;
-D4BE;HANGUL SYLLABLE PWELP;Lo;0;L;;;;;N;;;;;
-D4BF;HANGUL SYLLABLE PWELH;Lo;0;L;;;;;N;;;;;
-D4C0;HANGUL SYLLABLE PWEM;Lo;0;L;;;;;N;;;;;
-D4C1;HANGUL SYLLABLE PWEB;Lo;0;L;;;;;N;;;;;
-D4C2;HANGUL SYLLABLE PWEBS;Lo;0;L;;;;;N;;;;;
-D4C3;HANGUL SYLLABLE PWES;Lo;0;L;;;;;N;;;;;
-D4C4;HANGUL SYLLABLE PWESS;Lo;0;L;;;;;N;;;;;
-D4C5;HANGUL SYLLABLE PWENG;Lo;0;L;;;;;N;;;;;
-D4C6;HANGUL SYLLABLE PWEJ;Lo;0;L;;;;;N;;;;;
-D4C7;HANGUL SYLLABLE PWEC;Lo;0;L;;;;;N;;;;;
-D4C8;HANGUL SYLLABLE PWEK;Lo;0;L;;;;;N;;;;;
-D4C9;HANGUL SYLLABLE PWET;Lo;0;L;;;;;N;;;;;
-D4CA;HANGUL SYLLABLE PWEP;Lo;0;L;;;;;N;;;;;
-D4CB;HANGUL SYLLABLE PWEH;Lo;0;L;;;;;N;;;;;
-D4CC;HANGUL SYLLABLE PWI;Lo;0;L;;;;;N;;;;;
-D4CD;HANGUL SYLLABLE PWIG;Lo;0;L;;;;;N;;;;;
-D4CE;HANGUL SYLLABLE PWIGG;Lo;0;L;;;;;N;;;;;
-D4CF;HANGUL SYLLABLE PWIGS;Lo;0;L;;;;;N;;;;;
-D4D0;HANGUL SYLLABLE PWIN;Lo;0;L;;;;;N;;;;;
-D4D1;HANGUL SYLLABLE PWINI;Lo;0;L;;;;;N;;;;;
-D4D2;HANGUL SYLLABLE PWINH;Lo;0;L;;;;;N;;;;;
-D4D3;HANGUL SYLLABLE PWID;Lo;0;L;;;;;N;;;;;
-D4D4;HANGUL SYLLABLE PWIL;Lo;0;L;;;;;N;;;;;
-D4D5;HANGUL SYLLABLE PWILG;Lo;0;L;;;;;N;;;;;
-D4D6;HANGUL SYLLABLE PWILM;Lo;0;L;;;;;N;;;;;
-D4D7;HANGUL SYLLABLE PWILB;Lo;0;L;;;;;N;;;;;
-D4D8;HANGUL SYLLABLE PWILS;Lo;0;L;;;;;N;;;;;
-D4D9;HANGUL SYLLABLE PWILT;Lo;0;L;;;;;N;;;;;
-D4DA;HANGUL SYLLABLE PWILP;Lo;0;L;;;;;N;;;;;
-D4DB;HANGUL SYLLABLE PWILH;Lo;0;L;;;;;N;;;;;
-D4DC;HANGUL SYLLABLE PWIM;Lo;0;L;;;;;N;;;;;
-D4DD;HANGUL SYLLABLE PWIB;Lo;0;L;;;;;N;;;;;
-D4DE;HANGUL SYLLABLE PWIBS;Lo;0;L;;;;;N;;;;;
-D4DF;HANGUL SYLLABLE PWIS;Lo;0;L;;;;;N;;;;;
-D4E0;HANGUL SYLLABLE PWISS;Lo;0;L;;;;;N;;;;;
-D4E1;HANGUL SYLLABLE PWING;Lo;0;L;;;;;N;;;;;
-D4E2;HANGUL SYLLABLE PWIJ;Lo;0;L;;;;;N;;;;;
-D4E3;HANGUL SYLLABLE PWIC;Lo;0;L;;;;;N;;;;;
-D4E4;HANGUL SYLLABLE PWIK;Lo;0;L;;;;;N;;;;;
-D4E5;HANGUL SYLLABLE PWIT;Lo;0;L;;;;;N;;;;;
-D4E6;HANGUL SYLLABLE PWIP;Lo;0;L;;;;;N;;;;;
-D4E7;HANGUL SYLLABLE PWIH;Lo;0;L;;;;;N;;;;;
-D4E8;HANGUL SYLLABLE PYU;Lo;0;L;;;;;N;;;;;
-D4E9;HANGUL SYLLABLE PYUG;Lo;0;L;;;;;N;;;;;
-D4EA;HANGUL SYLLABLE PYUGG;Lo;0;L;;;;;N;;;;;
-D4EB;HANGUL SYLLABLE PYUGS;Lo;0;L;;;;;N;;;;;
-D4EC;HANGUL SYLLABLE PYUN;Lo;0;L;;;;;N;;;;;
-D4ED;HANGUL SYLLABLE PYUNI;Lo;0;L;;;;;N;;;;;
-D4EE;HANGUL SYLLABLE PYUNH;Lo;0;L;;;;;N;;;;;
-D4EF;HANGUL SYLLABLE PYUD;Lo;0;L;;;;;N;;;;;
-D4F0;HANGUL SYLLABLE PYUL;Lo;0;L;;;;;N;;;;;
-D4F1;HANGUL SYLLABLE PYULG;Lo;0;L;;;;;N;;;;;
-D4F2;HANGUL SYLLABLE PYULM;Lo;0;L;;;;;N;;;;;
-D4F3;HANGUL SYLLABLE PYULB;Lo;0;L;;;;;N;;;;;
-D4F4;HANGUL SYLLABLE PYULS;Lo;0;L;;;;;N;;;;;
-D4F5;HANGUL SYLLABLE PYULT;Lo;0;L;;;;;N;;;;;
-D4F6;HANGUL SYLLABLE PYULP;Lo;0;L;;;;;N;;;;;
-D4F7;HANGUL SYLLABLE PYULH;Lo;0;L;;;;;N;;;;;
-D4F8;HANGUL SYLLABLE PYUM;Lo;0;L;;;;;N;;;;;
-D4F9;HANGUL SYLLABLE PYUB;Lo;0;L;;;;;N;;;;;
-D4FA;HANGUL SYLLABLE PYUBS;Lo;0;L;;;;;N;;;;;
-D4FB;HANGUL SYLLABLE PYUS;Lo;0;L;;;;;N;;;;;
-D4FC;HANGUL SYLLABLE PYUSS;Lo;0;L;;;;;N;;;;;
-D4FD;HANGUL SYLLABLE PYUNG;Lo;0;L;;;;;N;;;;;
-D4FE;HANGUL SYLLABLE PYUJ;Lo;0;L;;;;;N;;;;;
-D4FF;HANGUL SYLLABLE PYUC;Lo;0;L;;;;;N;;;;;
-D500;HANGUL SYLLABLE PYUK;Lo;0;L;;;;;N;;;;;
-D501;HANGUL SYLLABLE PYUT;Lo;0;L;;;;;N;;;;;
-D502;HANGUL SYLLABLE PYUP;Lo;0;L;;;;;N;;;;;
-D503;HANGUL SYLLABLE PYUH;Lo;0;L;;;;;N;;;;;
-D504;HANGUL SYLLABLE PEU;Lo;0;L;;;;;N;;;;;
-D505;HANGUL SYLLABLE PEUG;Lo;0;L;;;;;N;;;;;
-D506;HANGUL SYLLABLE PEUGG;Lo;0;L;;;;;N;;;;;
-D507;HANGUL SYLLABLE PEUGS;Lo;0;L;;;;;N;;;;;
-D508;HANGUL SYLLABLE PEUN;Lo;0;L;;;;;N;;;;;
-D509;HANGUL SYLLABLE PEUNI;Lo;0;L;;;;;N;;;;;
-D50A;HANGUL SYLLABLE PEUNH;Lo;0;L;;;;;N;;;;;
-D50B;HANGUL SYLLABLE PEUD;Lo;0;L;;;;;N;;;;;
-D50C;HANGUL SYLLABLE PEUL;Lo;0;L;;;;;N;;;;;
-D50D;HANGUL SYLLABLE PEULG;Lo;0;L;;;;;N;;;;;
-D50E;HANGUL SYLLABLE PEULM;Lo;0;L;;;;;N;;;;;
-D50F;HANGUL SYLLABLE PEULB;Lo;0;L;;;;;N;;;;;
-D510;HANGUL SYLLABLE PEULS;Lo;0;L;;;;;N;;;;;
-D511;HANGUL SYLLABLE PEULT;Lo;0;L;;;;;N;;;;;
-D512;HANGUL SYLLABLE PEULP;Lo;0;L;;;;;N;;;;;
-D513;HANGUL SYLLABLE PEULH;Lo;0;L;;;;;N;;;;;
-D514;HANGUL SYLLABLE PEUM;Lo;0;L;;;;;N;;;;;
-D515;HANGUL SYLLABLE PEUB;Lo;0;L;;;;;N;;;;;
-D516;HANGUL SYLLABLE PEUBS;Lo;0;L;;;;;N;;;;;
-D517;HANGUL SYLLABLE PEUS;Lo;0;L;;;;;N;;;;;
-D518;HANGUL SYLLABLE PEUSS;Lo;0;L;;;;;N;;;;;
-D519;HANGUL SYLLABLE PEUNG;Lo;0;L;;;;;N;;;;;
-D51A;HANGUL SYLLABLE PEUJ;Lo;0;L;;;;;N;;;;;
-D51B;HANGUL SYLLABLE PEUC;Lo;0;L;;;;;N;;;;;
-D51C;HANGUL SYLLABLE PEUK;Lo;0;L;;;;;N;;;;;
-D51D;HANGUL SYLLABLE PEUT;Lo;0;L;;;;;N;;;;;
-D51E;HANGUL SYLLABLE PEUP;Lo;0;L;;;;;N;;;;;
-D51F;HANGUL SYLLABLE PEUH;Lo;0;L;;;;;N;;;;;
-D520;HANGUL SYLLABLE PYI;Lo;0;L;;;;;N;;;;;
-D521;HANGUL SYLLABLE PYIG;Lo;0;L;;;;;N;;;;;
-D522;HANGUL SYLLABLE PYIGG;Lo;0;L;;;;;N;;;;;
-D523;HANGUL SYLLABLE PYIGS;Lo;0;L;;;;;N;;;;;
-D524;HANGUL SYLLABLE PYIN;Lo;0;L;;;;;N;;;;;
-D525;HANGUL SYLLABLE PYINI;Lo;0;L;;;;;N;;;;;
-D526;HANGUL SYLLABLE PYINH;Lo;0;L;;;;;N;;;;;
-D527;HANGUL SYLLABLE PYID;Lo;0;L;;;;;N;;;;;
-D528;HANGUL SYLLABLE PYIL;Lo;0;L;;;;;N;;;;;
-D529;HANGUL SYLLABLE PYILG;Lo;0;L;;;;;N;;;;;
-D52A;HANGUL SYLLABLE PYILM;Lo;0;L;;;;;N;;;;;
-D52B;HANGUL SYLLABLE PYILB;Lo;0;L;;;;;N;;;;;
-D52C;HANGUL SYLLABLE PYILS;Lo;0;L;;;;;N;;;;;
-D52D;HANGUL SYLLABLE PYILT;Lo;0;L;;;;;N;;;;;
-D52E;HANGUL SYLLABLE PYILP;Lo;0;L;;;;;N;;;;;
-D52F;HANGUL SYLLABLE PYILH;Lo;0;L;;;;;N;;;;;
-D530;HANGUL SYLLABLE PYIM;Lo;0;L;;;;;N;;;;;
-D531;HANGUL SYLLABLE PYIB;Lo;0;L;;;;;N;;;;;
-D532;HANGUL SYLLABLE PYIBS;Lo;0;L;;;;;N;;;;;
-D533;HANGUL SYLLABLE PYIS;Lo;0;L;;;;;N;;;;;
-D534;HANGUL SYLLABLE PYISS;Lo;0;L;;;;;N;;;;;
-D535;HANGUL SYLLABLE PYING;Lo;0;L;;;;;N;;;;;
-D536;HANGUL SYLLABLE PYIJ;Lo;0;L;;;;;N;;;;;
-D537;HANGUL SYLLABLE PYIC;Lo;0;L;;;;;N;;;;;
-D538;HANGUL SYLLABLE PYIK;Lo;0;L;;;;;N;;;;;
-D539;HANGUL SYLLABLE PYIT;Lo;0;L;;;;;N;;;;;
-D53A;HANGUL SYLLABLE PYIP;Lo;0;L;;;;;N;;;;;
-D53B;HANGUL SYLLABLE PYIH;Lo;0;L;;;;;N;;;;;
-D53C;HANGUL SYLLABLE PI;Lo;0;L;;;;;N;;;;;
-D53D;HANGUL SYLLABLE PIG;Lo;0;L;;;;;N;;;;;
-D53E;HANGUL SYLLABLE PIGG;Lo;0;L;;;;;N;;;;;
-D53F;HANGUL SYLLABLE PIGS;Lo;0;L;;;;;N;;;;;
-D540;HANGUL SYLLABLE PIN;Lo;0;L;;;;;N;;;;;
-D541;HANGUL SYLLABLE PINI;Lo;0;L;;;;;N;;;;;
-D542;HANGUL SYLLABLE PINH;Lo;0;L;;;;;N;;;;;
-D543;HANGUL SYLLABLE PID;Lo;0;L;;;;;N;;;;;
-D544;HANGUL SYLLABLE PIL;Lo;0;L;;;;;N;;;;;
-D545;HANGUL SYLLABLE PILG;Lo;0;L;;;;;N;;;;;
-D546;HANGUL SYLLABLE PILM;Lo;0;L;;;;;N;;;;;
-D547;HANGUL SYLLABLE PILB;Lo;0;L;;;;;N;;;;;
-D548;HANGUL SYLLABLE PILS;Lo;0;L;;;;;N;;;;;
-D549;HANGUL SYLLABLE PILT;Lo;0;L;;;;;N;;;;;
-D54A;HANGUL SYLLABLE PILP;Lo;0;L;;;;;N;;;;;
-D54B;HANGUL SYLLABLE PILH;Lo;0;L;;;;;N;;;;;
-D54C;HANGUL SYLLABLE PIM;Lo;0;L;;;;;N;;;;;
-D54D;HANGUL SYLLABLE PIB;Lo;0;L;;;;;N;;;;;
-D54E;HANGUL SYLLABLE PIBS;Lo;0;L;;;;;N;;;;;
-D54F;HANGUL SYLLABLE PIS;Lo;0;L;;;;;N;;;;;
-D550;HANGUL SYLLABLE PISS;Lo;0;L;;;;;N;;;;;
-D551;HANGUL SYLLABLE PING;Lo;0;L;;;;;N;;;;;
-D552;HANGUL SYLLABLE PIJ;Lo;0;L;;;;;N;;;;;
-D553;HANGUL SYLLABLE PIC;Lo;0;L;;;;;N;;;;;
-D554;HANGUL SYLLABLE PIK;Lo;0;L;;;;;N;;;;;
-D555;HANGUL SYLLABLE PIT;Lo;0;L;;;;;N;;;;;
-D556;HANGUL SYLLABLE PIP;Lo;0;L;;;;;N;;;;;
-D557;HANGUL SYLLABLE PIH;Lo;0;L;;;;;N;;;;;
-D558;HANGUL SYLLABLE HA;Lo;0;L;;;;;N;;;;;
-D559;HANGUL SYLLABLE HAG;Lo;0;L;;;;;N;;;;;
-D55A;HANGUL SYLLABLE HAGG;Lo;0;L;;;;;N;;;;;
-D55B;HANGUL SYLLABLE HAGS;Lo;0;L;;;;;N;;;;;
-D55C;HANGUL SYLLABLE HAN;Lo;0;L;;;;;N;;;;;
-D55D;HANGUL SYLLABLE HANI;Lo;0;L;;;;;N;;;;;
-D55E;HANGUL SYLLABLE HANH;Lo;0;L;;;;;N;;;;;
-D55F;HANGUL SYLLABLE HAD;Lo;0;L;;;;;N;;;;;
-D560;HANGUL SYLLABLE HAL;Lo;0;L;;;;;N;;;;;
-D561;HANGUL SYLLABLE HALG;Lo;0;L;;;;;N;;;;;
-D562;HANGUL SYLLABLE HALM;Lo;0;L;;;;;N;;;;;
-D563;HANGUL SYLLABLE HALB;Lo;0;L;;;;;N;;;;;
-D564;HANGUL SYLLABLE HALS;Lo;0;L;;;;;N;;;;;
-D565;HANGUL SYLLABLE HALT;Lo;0;L;;;;;N;;;;;
-D566;HANGUL SYLLABLE HALP;Lo;0;L;;;;;N;;;;;
-D567;HANGUL SYLLABLE HALH;Lo;0;L;;;;;N;;;;;
-D568;HANGUL SYLLABLE HAM;Lo;0;L;;;;;N;;;;;
-D569;HANGUL SYLLABLE HAB;Lo;0;L;;;;;N;;;;;
-D56A;HANGUL SYLLABLE HABS;Lo;0;L;;;;;N;;;;;
-D56B;HANGUL SYLLABLE HAS;Lo;0;L;;;;;N;;;;;
-D56C;HANGUL SYLLABLE HASS;Lo;0;L;;;;;N;;;;;
-D56D;HANGUL SYLLABLE HANG;Lo;0;L;;;;;N;;;;;
-D56E;HANGUL SYLLABLE HAJ;Lo;0;L;;;;;N;;;;;
-D56F;HANGUL SYLLABLE HAC;Lo;0;L;;;;;N;;;;;
-D570;HANGUL SYLLABLE HAK;Lo;0;L;;;;;N;;;;;
-D571;HANGUL SYLLABLE HAT;Lo;0;L;;;;;N;;;;;
-D572;HANGUL SYLLABLE HAP;Lo;0;L;;;;;N;;;;;
-D573;HANGUL SYLLABLE HAH;Lo;0;L;;;;;N;;;;;
-D574;HANGUL SYLLABLE HAE;Lo;0;L;;;;;N;;;;;
-D575;HANGUL SYLLABLE HAEG;Lo;0;L;;;;;N;;;;;
-D576;HANGUL SYLLABLE HAEGG;Lo;0;L;;;;;N;;;;;
-D577;HANGUL SYLLABLE HAEGS;Lo;0;L;;;;;N;;;;;
-D578;HANGUL SYLLABLE HAEN;Lo;0;L;;;;;N;;;;;
-D579;HANGUL SYLLABLE HAENI;Lo;0;L;;;;;N;;;;;
-D57A;HANGUL SYLLABLE HAENH;Lo;0;L;;;;;N;;;;;
-D57B;HANGUL SYLLABLE HAED;Lo;0;L;;;;;N;;;;;
-D57C;HANGUL SYLLABLE HAEL;Lo;0;L;;;;;N;;;;;
-D57D;HANGUL SYLLABLE HAELG;Lo;0;L;;;;;N;;;;;
-D57E;HANGUL SYLLABLE HAELM;Lo;0;L;;;;;N;;;;;
-D57F;HANGUL SYLLABLE HAELB;Lo;0;L;;;;;N;;;;;
-D580;HANGUL SYLLABLE HAELS;Lo;0;L;;;;;N;;;;;
-D581;HANGUL SYLLABLE HAELT;Lo;0;L;;;;;N;;;;;
-D582;HANGUL SYLLABLE HAELP;Lo;0;L;;;;;N;;;;;
-D583;HANGUL SYLLABLE HAELH;Lo;0;L;;;;;N;;;;;
-D584;HANGUL SYLLABLE HAEM;Lo;0;L;;;;;N;;;;;
-D585;HANGUL SYLLABLE HAEB;Lo;0;L;;;;;N;;;;;
-D586;HANGUL SYLLABLE HAEBS;Lo;0;L;;;;;N;;;;;
-D587;HANGUL SYLLABLE HAES;Lo;0;L;;;;;N;;;;;
-D588;HANGUL SYLLABLE HAESS;Lo;0;L;;;;;N;;;;;
-D589;HANGUL SYLLABLE HAENG;Lo;0;L;;;;;N;;;;;
-D58A;HANGUL SYLLABLE HAEJ;Lo;0;L;;;;;N;;;;;
-D58B;HANGUL SYLLABLE HAEC;Lo;0;L;;;;;N;;;;;
-D58C;HANGUL SYLLABLE HAEK;Lo;0;L;;;;;N;;;;;
-D58D;HANGUL SYLLABLE HAET;Lo;0;L;;;;;N;;;;;
-D58E;HANGUL SYLLABLE HAEP;Lo;0;L;;;;;N;;;;;
-D58F;HANGUL SYLLABLE HAEH;Lo;0;L;;;;;N;;;;;
-D590;HANGUL SYLLABLE HYA;Lo;0;L;;;;;N;;;;;
-D591;HANGUL SYLLABLE HYAG;Lo;0;L;;;;;N;;;;;
-D592;HANGUL SYLLABLE HYAGG;Lo;0;L;;;;;N;;;;;
-D593;HANGUL SYLLABLE HYAGS;Lo;0;L;;;;;N;;;;;
-D594;HANGUL SYLLABLE HYAN;Lo;0;L;;;;;N;;;;;
-D595;HANGUL SYLLABLE HYANI;Lo;0;L;;;;;N;;;;;
-D596;HANGUL SYLLABLE HYANH;Lo;0;L;;;;;N;;;;;
-D597;HANGUL SYLLABLE HYAD;Lo;0;L;;;;;N;;;;;
-D598;HANGUL SYLLABLE HYAL;Lo;0;L;;;;;N;;;;;
-D599;HANGUL SYLLABLE HYALG;Lo;0;L;;;;;N;;;;;
-D59A;HANGUL SYLLABLE HYALM;Lo;0;L;;;;;N;;;;;
-D59B;HANGUL SYLLABLE HYALB;Lo;0;L;;;;;N;;;;;
-D59C;HANGUL SYLLABLE HYALS;Lo;0;L;;;;;N;;;;;
-D59D;HANGUL SYLLABLE HYALT;Lo;0;L;;;;;N;;;;;
-D59E;HANGUL SYLLABLE HYALP;Lo;0;L;;;;;N;;;;;
-D59F;HANGUL SYLLABLE HYALH;Lo;0;L;;;;;N;;;;;
-D5A0;HANGUL SYLLABLE HYAM;Lo;0;L;;;;;N;;;;;
-D5A1;HANGUL SYLLABLE HYAB;Lo;0;L;;;;;N;;;;;
-D5A2;HANGUL SYLLABLE HYABS;Lo;0;L;;;;;N;;;;;
-D5A3;HANGUL SYLLABLE HYAS;Lo;0;L;;;;;N;;;;;
-D5A4;HANGUL SYLLABLE HYASS;Lo;0;L;;;;;N;;;;;
-D5A5;HANGUL SYLLABLE HYANG;Lo;0;L;;;;;N;;;;;
-D5A6;HANGUL SYLLABLE HYAJ;Lo;0;L;;;;;N;;;;;
-D5A7;HANGUL SYLLABLE HYAC;Lo;0;L;;;;;N;;;;;
-D5A8;HANGUL SYLLABLE HYAK;Lo;0;L;;;;;N;;;;;
-D5A9;HANGUL SYLLABLE HYAT;Lo;0;L;;;;;N;;;;;
-D5AA;HANGUL SYLLABLE HYAP;Lo;0;L;;;;;N;;;;;
-D5AB;HANGUL SYLLABLE HYAH;Lo;0;L;;;;;N;;;;;
-D5AC;HANGUL SYLLABLE HYAE;Lo;0;L;;;;;N;;;;;
-D5AD;HANGUL SYLLABLE HYAEG;Lo;0;L;;;;;N;;;;;
-D5AE;HANGUL SYLLABLE HYAEGG;Lo;0;L;;;;;N;;;;;
-D5AF;HANGUL SYLLABLE HYAEGS;Lo;0;L;;;;;N;;;;;
-D5B0;HANGUL SYLLABLE HYAEN;Lo;0;L;;;;;N;;;;;
-D5B1;HANGUL SYLLABLE HYAENI;Lo;0;L;;;;;N;;;;;
-D5B2;HANGUL SYLLABLE HYAENH;Lo;0;L;;;;;N;;;;;
-D5B3;HANGUL SYLLABLE HYAED;Lo;0;L;;;;;N;;;;;
-D5B4;HANGUL SYLLABLE HYAEL;Lo;0;L;;;;;N;;;;;
-D5B5;HANGUL SYLLABLE HYAELG;Lo;0;L;;;;;N;;;;;
-D5B6;HANGUL SYLLABLE HYAELM;Lo;0;L;;;;;N;;;;;
-D5B7;HANGUL SYLLABLE HYAELB;Lo;0;L;;;;;N;;;;;
-D5B8;HANGUL SYLLABLE HYAELS;Lo;0;L;;;;;N;;;;;
-D5B9;HANGUL SYLLABLE HYAELT;Lo;0;L;;;;;N;;;;;
-D5BA;HANGUL SYLLABLE HYAELP;Lo;0;L;;;;;N;;;;;
-D5BB;HANGUL SYLLABLE HYAELH;Lo;0;L;;;;;N;;;;;
-D5BC;HANGUL SYLLABLE HYAEM;Lo;0;L;;;;;N;;;;;
-D5BD;HANGUL SYLLABLE HYAEB;Lo;0;L;;;;;N;;;;;
-D5BE;HANGUL SYLLABLE HYAEBS;Lo;0;L;;;;;N;;;;;
-D5BF;HANGUL SYLLABLE HYAES;Lo;0;L;;;;;N;;;;;
-D5C0;HANGUL SYLLABLE HYAESS;Lo;0;L;;;;;N;;;;;
-D5C1;HANGUL SYLLABLE HYAENG;Lo;0;L;;;;;N;;;;;
-D5C2;HANGUL SYLLABLE HYAEJ;Lo;0;L;;;;;N;;;;;
-D5C3;HANGUL SYLLABLE HYAEC;Lo;0;L;;;;;N;;;;;
-D5C4;HANGUL SYLLABLE HYAEK;Lo;0;L;;;;;N;;;;;
-D5C5;HANGUL SYLLABLE HYAET;Lo;0;L;;;;;N;;;;;
-D5C6;HANGUL SYLLABLE HYAEP;Lo;0;L;;;;;N;;;;;
-D5C7;HANGUL SYLLABLE HYAEH;Lo;0;L;;;;;N;;;;;
-D5C8;HANGUL SYLLABLE HEO;Lo;0;L;;;;;N;;;;;
-D5C9;HANGUL SYLLABLE HEOG;Lo;0;L;;;;;N;;;;;
-D5CA;HANGUL SYLLABLE HEOGG;Lo;0;L;;;;;N;;;;;
-D5CB;HANGUL SYLLABLE HEOGS;Lo;0;L;;;;;N;;;;;
-D5CC;HANGUL SYLLABLE HEON;Lo;0;L;;;;;N;;;;;
-D5CD;HANGUL SYLLABLE HEONI;Lo;0;L;;;;;N;;;;;
-D5CE;HANGUL SYLLABLE HEONH;Lo;0;L;;;;;N;;;;;
-D5CF;HANGUL SYLLABLE HEOD;Lo;0;L;;;;;N;;;;;
-D5D0;HANGUL SYLLABLE HEOL;Lo;0;L;;;;;N;;;;;
-D5D1;HANGUL SYLLABLE HEOLG;Lo;0;L;;;;;N;;;;;
-D5D2;HANGUL SYLLABLE HEOLM;Lo;0;L;;;;;N;;;;;
-D5D3;HANGUL SYLLABLE HEOLB;Lo;0;L;;;;;N;;;;;
-D5D4;HANGUL SYLLABLE HEOLS;Lo;0;L;;;;;N;;;;;
-D5D5;HANGUL SYLLABLE HEOLT;Lo;0;L;;;;;N;;;;;
-D5D6;HANGUL SYLLABLE HEOLP;Lo;0;L;;;;;N;;;;;
-D5D7;HANGUL SYLLABLE HEOLH;Lo;0;L;;;;;N;;;;;
-D5D8;HANGUL SYLLABLE HEOM;Lo;0;L;;;;;N;;;;;
-D5D9;HANGUL SYLLABLE HEOB;Lo;0;L;;;;;N;;;;;
-D5DA;HANGUL SYLLABLE HEOBS;Lo;0;L;;;;;N;;;;;
-D5DB;HANGUL SYLLABLE HEOS;Lo;0;L;;;;;N;;;;;
-D5DC;HANGUL SYLLABLE HEOSS;Lo;0;L;;;;;N;;;;;
-D5DD;HANGUL SYLLABLE HEONG;Lo;0;L;;;;;N;;;;;
-D5DE;HANGUL SYLLABLE HEOJ;Lo;0;L;;;;;N;;;;;
-D5DF;HANGUL SYLLABLE HEOC;Lo;0;L;;;;;N;;;;;
-D5E0;HANGUL SYLLABLE HEOK;Lo;0;L;;;;;N;;;;;
-D5E1;HANGUL SYLLABLE HEOT;Lo;0;L;;;;;N;;;;;
-D5E2;HANGUL SYLLABLE HEOP;Lo;0;L;;;;;N;;;;;
-D5E3;HANGUL SYLLABLE HEOH;Lo;0;L;;;;;N;;;;;
-D5E4;HANGUL SYLLABLE HE;Lo;0;L;;;;;N;;;;;
-D5E5;HANGUL SYLLABLE HEG;Lo;0;L;;;;;N;;;;;
-D5E6;HANGUL SYLLABLE HEGG;Lo;0;L;;;;;N;;;;;
-D5E7;HANGUL SYLLABLE HEGS;Lo;0;L;;;;;N;;;;;
-D5E8;HANGUL SYLLABLE HEN;Lo;0;L;;;;;N;;;;;
-D5E9;HANGUL SYLLABLE HENI;Lo;0;L;;;;;N;;;;;
-D5EA;HANGUL SYLLABLE HENH;Lo;0;L;;;;;N;;;;;
-D5EB;HANGUL SYLLABLE HED;Lo;0;L;;;;;N;;;;;
-D5EC;HANGUL SYLLABLE HEL;Lo;0;L;;;;;N;;;;;
-D5ED;HANGUL SYLLABLE HELG;Lo;0;L;;;;;N;;;;;
-D5EE;HANGUL SYLLABLE HELM;Lo;0;L;;;;;N;;;;;
-D5EF;HANGUL SYLLABLE HELB;Lo;0;L;;;;;N;;;;;
-D5F0;HANGUL SYLLABLE HELS;Lo;0;L;;;;;N;;;;;
-D5F1;HANGUL SYLLABLE HELT;Lo;0;L;;;;;N;;;;;
-D5F2;HANGUL SYLLABLE HELP;Lo;0;L;;;;;N;;;;;
-D5F3;HANGUL SYLLABLE HELH;Lo;0;L;;;;;N;;;;;
-D5F4;HANGUL SYLLABLE HEM;Lo;0;L;;;;;N;;;;;
-D5F5;HANGUL SYLLABLE HEB;Lo;0;L;;;;;N;;;;;
-D5F6;HANGUL SYLLABLE HEBS;Lo;0;L;;;;;N;;;;;
-D5F7;HANGUL SYLLABLE HES;Lo;0;L;;;;;N;;;;;
-D5F8;HANGUL SYLLABLE HESS;Lo;0;L;;;;;N;;;;;
-D5F9;HANGUL SYLLABLE HENG;Lo;0;L;;;;;N;;;;;
-D5FA;HANGUL SYLLABLE HEJ;Lo;0;L;;;;;N;;;;;
-D5FB;HANGUL SYLLABLE HEC;Lo;0;L;;;;;N;;;;;
-D5FC;HANGUL SYLLABLE HEK;Lo;0;L;;;;;N;;;;;
-D5FD;HANGUL SYLLABLE HET;Lo;0;L;;;;;N;;;;;
-D5FE;HANGUL SYLLABLE HEP;Lo;0;L;;;;;N;;;;;
-D5FF;HANGUL SYLLABLE HEH;Lo;0;L;;;;;N;;;;;
-D600;HANGUL SYLLABLE HYEO;Lo;0;L;;;;;N;;;;;
-D601;HANGUL SYLLABLE HYEOG;Lo;0;L;;;;;N;;;;;
-D602;HANGUL SYLLABLE HYEOGG;Lo;0;L;;;;;N;;;;;
-D603;HANGUL SYLLABLE HYEOGS;Lo;0;L;;;;;N;;;;;
-D604;HANGUL SYLLABLE HYEON;Lo;0;L;;;;;N;;;;;
-D605;HANGUL SYLLABLE HYEONI;Lo;0;L;;;;;N;;;;;
-D606;HANGUL SYLLABLE HYEONH;Lo;0;L;;;;;N;;;;;
-D607;HANGUL SYLLABLE HYEOD;Lo;0;L;;;;;N;;;;;
-D608;HANGUL SYLLABLE HYEOL;Lo;0;L;;;;;N;;;;;
-D609;HANGUL SYLLABLE HYEOLG;Lo;0;L;;;;;N;;;;;
-D60A;HANGUL SYLLABLE HYEOLM;Lo;0;L;;;;;N;;;;;
-D60B;HANGUL SYLLABLE HYEOLB;Lo;0;L;;;;;N;;;;;
-D60C;HANGUL SYLLABLE HYEOLS;Lo;0;L;;;;;N;;;;;
-D60D;HANGUL SYLLABLE HYEOLT;Lo;0;L;;;;;N;;;;;
-D60E;HANGUL SYLLABLE HYEOLP;Lo;0;L;;;;;N;;;;;
-D60F;HANGUL SYLLABLE HYEOLH;Lo;0;L;;;;;N;;;;;
-D610;HANGUL SYLLABLE HYEOM;Lo;0;L;;;;;N;;;;;
-D611;HANGUL SYLLABLE HYEOB;Lo;0;L;;;;;N;;;;;
-D612;HANGUL SYLLABLE HYEOBS;Lo;0;L;;;;;N;;;;;
-D613;HANGUL SYLLABLE HYEOS;Lo;0;L;;;;;N;;;;;
-D614;HANGUL SYLLABLE HYEOSS;Lo;0;L;;;;;N;;;;;
-D615;HANGUL SYLLABLE HYEONG;Lo;0;L;;;;;N;;;;;
-D616;HANGUL SYLLABLE HYEOJ;Lo;0;L;;;;;N;;;;;
-D617;HANGUL SYLLABLE HYEOC;Lo;0;L;;;;;N;;;;;
-D618;HANGUL SYLLABLE HYEOK;Lo;0;L;;;;;N;;;;;
-D619;HANGUL SYLLABLE HYEOT;Lo;0;L;;;;;N;;;;;
-D61A;HANGUL SYLLABLE HYEOP;Lo;0;L;;;;;N;;;;;
-D61B;HANGUL SYLLABLE HYEOH;Lo;0;L;;;;;N;;;;;
-D61C;HANGUL SYLLABLE HYE;Lo;0;L;;;;;N;;;;;
-D61D;HANGUL SYLLABLE HYEG;Lo;0;L;;;;;N;;;;;
-D61E;HANGUL SYLLABLE HYEGG;Lo;0;L;;;;;N;;;;;
-D61F;HANGUL SYLLABLE HYEGS;Lo;0;L;;;;;N;;;;;
-D620;HANGUL SYLLABLE HYEN;Lo;0;L;;;;;N;;;;;
-D621;HANGUL SYLLABLE HYENI;Lo;0;L;;;;;N;;;;;
-D622;HANGUL SYLLABLE HYENH;Lo;0;L;;;;;N;;;;;
-D623;HANGUL SYLLABLE HYED;Lo;0;L;;;;;N;;;;;
-D624;HANGUL SYLLABLE HYEL;Lo;0;L;;;;;N;;;;;
-D625;HANGUL SYLLABLE HYELG;Lo;0;L;;;;;N;;;;;
-D626;HANGUL SYLLABLE HYELM;Lo;0;L;;;;;N;;;;;
-D627;HANGUL SYLLABLE HYELB;Lo;0;L;;;;;N;;;;;
-D628;HANGUL SYLLABLE HYELS;Lo;0;L;;;;;N;;;;;
-D629;HANGUL SYLLABLE HYELT;Lo;0;L;;;;;N;;;;;
-D62A;HANGUL SYLLABLE HYELP;Lo;0;L;;;;;N;;;;;
-D62B;HANGUL SYLLABLE HYELH;Lo;0;L;;;;;N;;;;;
-D62C;HANGUL SYLLABLE HYEM;Lo;0;L;;;;;N;;;;;
-D62D;HANGUL SYLLABLE HYEB;Lo;0;L;;;;;N;;;;;
-D62E;HANGUL SYLLABLE HYEBS;Lo;0;L;;;;;N;;;;;
-D62F;HANGUL SYLLABLE HYES;Lo;0;L;;;;;N;;;;;
-D630;HANGUL SYLLABLE HYESS;Lo;0;L;;;;;N;;;;;
-D631;HANGUL SYLLABLE HYENG;Lo;0;L;;;;;N;;;;;
-D632;HANGUL SYLLABLE HYEJ;Lo;0;L;;;;;N;;;;;
-D633;HANGUL SYLLABLE HYEC;Lo;0;L;;;;;N;;;;;
-D634;HANGUL SYLLABLE HYEK;Lo;0;L;;;;;N;;;;;
-D635;HANGUL SYLLABLE HYET;Lo;0;L;;;;;N;;;;;
-D636;HANGUL SYLLABLE HYEP;Lo;0;L;;;;;N;;;;;
-D637;HANGUL SYLLABLE HYEH;Lo;0;L;;;;;N;;;;;
-D638;HANGUL SYLLABLE HO;Lo;0;L;;;;;N;;;;;
-D639;HANGUL SYLLABLE HOG;Lo;0;L;;;;;N;;;;;
-D63A;HANGUL SYLLABLE HOGG;Lo;0;L;;;;;N;;;;;
-D63B;HANGUL SYLLABLE HOGS;Lo;0;L;;;;;N;;;;;
-D63C;HANGUL SYLLABLE HON;Lo;0;L;;;;;N;;;;;
-D63D;HANGUL SYLLABLE HONI;Lo;0;L;;;;;N;;;;;
-D63E;HANGUL SYLLABLE HONH;Lo;0;L;;;;;N;;;;;
-D63F;HANGUL SYLLABLE HOD;Lo;0;L;;;;;N;;;;;
-D640;HANGUL SYLLABLE HOL;Lo;0;L;;;;;N;;;;;
-D641;HANGUL SYLLABLE HOLG;Lo;0;L;;;;;N;;;;;
-D642;HANGUL SYLLABLE HOLM;Lo;0;L;;;;;N;;;;;
-D643;HANGUL SYLLABLE HOLB;Lo;0;L;;;;;N;;;;;
-D644;HANGUL SYLLABLE HOLS;Lo;0;L;;;;;N;;;;;
-D645;HANGUL SYLLABLE HOLT;Lo;0;L;;;;;N;;;;;
-D646;HANGUL SYLLABLE HOLP;Lo;0;L;;;;;N;;;;;
-D647;HANGUL SYLLABLE HOLH;Lo;0;L;;;;;N;;;;;
-D648;HANGUL SYLLABLE HOM;Lo;0;L;;;;;N;;;;;
-D649;HANGUL SYLLABLE HOB;Lo;0;L;;;;;N;;;;;
-D64A;HANGUL SYLLABLE HOBS;Lo;0;L;;;;;N;;;;;
-D64B;HANGUL SYLLABLE HOS;Lo;0;L;;;;;N;;;;;
-D64C;HANGUL SYLLABLE HOSS;Lo;0;L;;;;;N;;;;;
-D64D;HANGUL SYLLABLE HONG;Lo;0;L;;;;;N;;;;;
-D64E;HANGUL SYLLABLE HOJ;Lo;0;L;;;;;N;;;;;
-D64F;HANGUL SYLLABLE HOC;Lo;0;L;;;;;N;;;;;
-D650;HANGUL SYLLABLE HOK;Lo;0;L;;;;;N;;;;;
-D651;HANGUL SYLLABLE HOT;Lo;0;L;;;;;N;;;;;
-D652;HANGUL SYLLABLE HOP;Lo;0;L;;;;;N;;;;;
-D653;HANGUL SYLLABLE HOH;Lo;0;L;;;;;N;;;;;
-D654;HANGUL SYLLABLE HWA;Lo;0;L;;;;;N;;;;;
-D655;HANGUL SYLLABLE HWAG;Lo;0;L;;;;;N;;;;;
-D656;HANGUL SYLLABLE HWAGG;Lo;0;L;;;;;N;;;;;
-D657;HANGUL SYLLABLE HWAGS;Lo;0;L;;;;;N;;;;;
-D658;HANGUL SYLLABLE HWAN;Lo;0;L;;;;;N;;;;;
-D659;HANGUL SYLLABLE HWANI;Lo;0;L;;;;;N;;;;;
-D65A;HANGUL SYLLABLE HWANH;Lo;0;L;;;;;N;;;;;
-D65B;HANGUL SYLLABLE HWAD;Lo;0;L;;;;;N;;;;;
-D65C;HANGUL SYLLABLE HWAL;Lo;0;L;;;;;N;;;;;
-D65D;HANGUL SYLLABLE HWALG;Lo;0;L;;;;;N;;;;;
-D65E;HANGUL SYLLABLE HWALM;Lo;0;L;;;;;N;;;;;
-D65F;HANGUL SYLLABLE HWALB;Lo;0;L;;;;;N;;;;;
-D660;HANGUL SYLLABLE HWALS;Lo;0;L;;;;;N;;;;;
-D661;HANGUL SYLLABLE HWALT;Lo;0;L;;;;;N;;;;;
-D662;HANGUL SYLLABLE HWALP;Lo;0;L;;;;;N;;;;;
-D663;HANGUL SYLLABLE HWALH;Lo;0;L;;;;;N;;;;;
-D664;HANGUL SYLLABLE HWAM;Lo;0;L;;;;;N;;;;;
-D665;HANGUL SYLLABLE HWAB;Lo;0;L;;;;;N;;;;;
-D666;HANGUL SYLLABLE HWABS;Lo;0;L;;;;;N;;;;;
-D667;HANGUL SYLLABLE HWAS;Lo;0;L;;;;;N;;;;;
-D668;HANGUL SYLLABLE HWASS;Lo;0;L;;;;;N;;;;;
-D669;HANGUL SYLLABLE HWANG;Lo;0;L;;;;;N;;;;;
-D66A;HANGUL SYLLABLE HWAJ;Lo;0;L;;;;;N;;;;;
-D66B;HANGUL SYLLABLE HWAC;Lo;0;L;;;;;N;;;;;
-D66C;HANGUL SYLLABLE HWAK;Lo;0;L;;;;;N;;;;;
-D66D;HANGUL SYLLABLE HWAT;Lo;0;L;;;;;N;;;;;
-D66E;HANGUL SYLLABLE HWAP;Lo;0;L;;;;;N;;;;;
-D66F;HANGUL SYLLABLE HWAH;Lo;0;L;;;;;N;;;;;
-D670;HANGUL SYLLABLE HWAE;Lo;0;L;;;;;N;;;;;
-D671;HANGUL SYLLABLE HWAEG;Lo;0;L;;;;;N;;;;;
-D672;HANGUL SYLLABLE HWAEGG;Lo;0;L;;;;;N;;;;;
-D673;HANGUL SYLLABLE HWAEGS;Lo;0;L;;;;;N;;;;;
-D674;HANGUL SYLLABLE HWAEN;Lo;0;L;;;;;N;;;;;
-D675;HANGUL SYLLABLE HWAENI;Lo;0;L;;;;;N;;;;;
-D676;HANGUL SYLLABLE HWAENH;Lo;0;L;;;;;N;;;;;
-D677;HANGUL SYLLABLE HWAED;Lo;0;L;;;;;N;;;;;
-D678;HANGUL SYLLABLE HWAEL;Lo;0;L;;;;;N;;;;;
-D679;HANGUL SYLLABLE HWAELG;Lo;0;L;;;;;N;;;;;
-D67A;HANGUL SYLLABLE HWAELM;Lo;0;L;;;;;N;;;;;
-D67B;HANGUL SYLLABLE HWAELB;Lo;0;L;;;;;N;;;;;
-D67C;HANGUL SYLLABLE HWAELS;Lo;0;L;;;;;N;;;;;
-D67D;HANGUL SYLLABLE HWAELT;Lo;0;L;;;;;N;;;;;
-D67E;HANGUL SYLLABLE HWAELP;Lo;0;L;;;;;N;;;;;
-D67F;HANGUL SYLLABLE HWAELH;Lo;0;L;;;;;N;;;;;
-D680;HANGUL SYLLABLE HWAEM;Lo;0;L;;;;;N;;;;;
-D681;HANGUL SYLLABLE HWAEB;Lo;0;L;;;;;N;;;;;
-D682;HANGUL SYLLABLE HWAEBS;Lo;0;L;;;;;N;;;;;
-D683;HANGUL SYLLABLE HWAES;Lo;0;L;;;;;N;;;;;
-D684;HANGUL SYLLABLE HWAESS;Lo;0;L;;;;;N;;;;;
-D685;HANGUL SYLLABLE HWAENG;Lo;0;L;;;;;N;;;;;
-D686;HANGUL SYLLABLE HWAEJ;Lo;0;L;;;;;N;;;;;
-D687;HANGUL SYLLABLE HWAEC;Lo;0;L;;;;;N;;;;;
-D688;HANGUL SYLLABLE HWAEK;Lo;0;L;;;;;N;;;;;
-D689;HANGUL SYLLABLE HWAET;Lo;0;L;;;;;N;;;;;
-D68A;HANGUL SYLLABLE HWAEP;Lo;0;L;;;;;N;;;;;
-D68B;HANGUL SYLLABLE HWAEH;Lo;0;L;;;;;N;;;;;
-D68C;HANGUL SYLLABLE HOE;Lo;0;L;;;;;N;;;;;
-D68D;HANGUL SYLLABLE HOEG;Lo;0;L;;;;;N;;;;;
-D68E;HANGUL SYLLABLE HOEGG;Lo;0;L;;;;;N;;;;;
-D68F;HANGUL SYLLABLE HOEGS;Lo;0;L;;;;;N;;;;;
-D690;HANGUL SYLLABLE HOEN;Lo;0;L;;;;;N;;;;;
-D691;HANGUL SYLLABLE HOENI;Lo;0;L;;;;;N;;;;;
-D692;HANGUL SYLLABLE HOENH;Lo;0;L;;;;;N;;;;;
-D693;HANGUL SYLLABLE HOED;Lo;0;L;;;;;N;;;;;
-D694;HANGUL SYLLABLE HOEL;Lo;0;L;;;;;N;;;;;
-D695;HANGUL SYLLABLE HOELG;Lo;0;L;;;;;N;;;;;
-D696;HANGUL SYLLABLE HOELM;Lo;0;L;;;;;N;;;;;
-D697;HANGUL SYLLABLE HOELB;Lo;0;L;;;;;N;;;;;
-D698;HANGUL SYLLABLE HOELS;Lo;0;L;;;;;N;;;;;
-D699;HANGUL SYLLABLE HOELT;Lo;0;L;;;;;N;;;;;
-D69A;HANGUL SYLLABLE HOELP;Lo;0;L;;;;;N;;;;;
-D69B;HANGUL SYLLABLE HOELH;Lo;0;L;;;;;N;;;;;
-D69C;HANGUL SYLLABLE HOEM;Lo;0;L;;;;;N;;;;;
-D69D;HANGUL SYLLABLE HOEB;Lo;0;L;;;;;N;;;;;
-D69E;HANGUL SYLLABLE HOEBS;Lo;0;L;;;;;N;;;;;
-D69F;HANGUL SYLLABLE HOES;Lo;0;L;;;;;N;;;;;
-D6A0;HANGUL SYLLABLE HOESS;Lo;0;L;;;;;N;;;;;
-D6A1;HANGUL SYLLABLE HOENG;Lo;0;L;;;;;N;;;;;
-D6A2;HANGUL SYLLABLE HOEJ;Lo;0;L;;;;;N;;;;;
-D6A3;HANGUL SYLLABLE HOEC;Lo;0;L;;;;;N;;;;;
-D6A4;HANGUL SYLLABLE HOEK;Lo;0;L;;;;;N;;;;;
-D6A5;HANGUL SYLLABLE HOET;Lo;0;L;;;;;N;;;;;
-D6A6;HANGUL SYLLABLE HOEP;Lo;0;L;;;;;N;;;;;
-D6A7;HANGUL SYLLABLE HOEH;Lo;0;L;;;;;N;;;;;
-D6A8;HANGUL SYLLABLE HYO;Lo;0;L;;;;;N;;;;;
-D6A9;HANGUL SYLLABLE HYOG;Lo;0;L;;;;;N;;;;;
-D6AA;HANGUL SYLLABLE HYOGG;Lo;0;L;;;;;N;;;;;
-D6AB;HANGUL SYLLABLE HYOGS;Lo;0;L;;;;;N;;;;;
-D6AC;HANGUL SYLLABLE HYON;Lo;0;L;;;;;N;;;;;
-D6AD;HANGUL SYLLABLE HYONI;Lo;0;L;;;;;N;;;;;
-D6AE;HANGUL SYLLABLE HYONH;Lo;0;L;;;;;N;;;;;
-D6AF;HANGUL SYLLABLE HYOD;Lo;0;L;;;;;N;;;;;
-D6B0;HANGUL SYLLABLE HYOL;Lo;0;L;;;;;N;;;;;
-D6B1;HANGUL SYLLABLE HYOLG;Lo;0;L;;;;;N;;;;;
-D6B2;HANGUL SYLLABLE HYOLM;Lo;0;L;;;;;N;;;;;
-D6B3;HANGUL SYLLABLE HYOLB;Lo;0;L;;;;;N;;;;;
-D6B4;HANGUL SYLLABLE HYOLS;Lo;0;L;;;;;N;;;;;
-D6B5;HANGUL SYLLABLE HYOLT;Lo;0;L;;;;;N;;;;;
-D6B6;HANGUL SYLLABLE HYOLP;Lo;0;L;;;;;N;;;;;
-D6B7;HANGUL SYLLABLE HYOLH;Lo;0;L;;;;;N;;;;;
-D6B8;HANGUL SYLLABLE HYOM;Lo;0;L;;;;;N;;;;;
-D6B9;HANGUL SYLLABLE HYOB;Lo;0;L;;;;;N;;;;;
-D6BA;HANGUL SYLLABLE HYOBS;Lo;0;L;;;;;N;;;;;
-D6BB;HANGUL SYLLABLE HYOS;Lo;0;L;;;;;N;;;;;
-D6BC;HANGUL SYLLABLE HYOSS;Lo;0;L;;;;;N;;;;;
-D6BD;HANGUL SYLLABLE HYONG;Lo;0;L;;;;;N;;;;;
-D6BE;HANGUL SYLLABLE HYOJ;Lo;0;L;;;;;N;;;;;
-D6BF;HANGUL SYLLABLE HYOC;Lo;0;L;;;;;N;;;;;
-D6C0;HANGUL SYLLABLE HYOK;Lo;0;L;;;;;N;;;;;
-D6C1;HANGUL SYLLABLE HYOT;Lo;0;L;;;;;N;;;;;
-D6C2;HANGUL SYLLABLE HYOP;Lo;0;L;;;;;N;;;;;
-D6C3;HANGUL SYLLABLE HYOH;Lo;0;L;;;;;N;;;;;
-D6C4;HANGUL SYLLABLE HU;Lo;0;L;;;;;N;;;;;
-D6C5;HANGUL SYLLABLE HUG;Lo;0;L;;;;;N;;;;;
-D6C6;HANGUL SYLLABLE HUGG;Lo;0;L;;;;;N;;;;;
-D6C7;HANGUL SYLLABLE HUGS;Lo;0;L;;;;;N;;;;;
-D6C8;HANGUL SYLLABLE HUN;Lo;0;L;;;;;N;;;;;
-D6C9;HANGUL SYLLABLE HUNI;Lo;0;L;;;;;N;;;;;
-D6CA;HANGUL SYLLABLE HUNH;Lo;0;L;;;;;N;;;;;
-D6CB;HANGUL SYLLABLE HUD;Lo;0;L;;;;;N;;;;;
-D6CC;HANGUL SYLLABLE HUL;Lo;0;L;;;;;N;;;;;
-D6CD;HANGUL SYLLABLE HULG;Lo;0;L;;;;;N;;;;;
-D6CE;HANGUL SYLLABLE HULM;Lo;0;L;;;;;N;;;;;
-D6CF;HANGUL SYLLABLE HULB;Lo;0;L;;;;;N;;;;;
-D6D0;HANGUL SYLLABLE HULS;Lo;0;L;;;;;N;;;;;
-D6D1;HANGUL SYLLABLE HULT;Lo;0;L;;;;;N;;;;;
-D6D2;HANGUL SYLLABLE HULP;Lo;0;L;;;;;N;;;;;
-D6D3;HANGUL SYLLABLE HULH;Lo;0;L;;;;;N;;;;;
-D6D4;HANGUL SYLLABLE HUM;Lo;0;L;;;;;N;;;;;
-D6D5;HANGUL SYLLABLE HUB;Lo;0;L;;;;;N;;;;;
-D6D6;HANGUL SYLLABLE HUBS;Lo;0;L;;;;;N;;;;;
-D6D7;HANGUL SYLLABLE HUS;Lo;0;L;;;;;N;;;;;
-D6D8;HANGUL SYLLABLE HUSS;Lo;0;L;;;;;N;;;;;
-D6D9;HANGUL SYLLABLE HUNG;Lo;0;L;;;;;N;;;;;
-D6DA;HANGUL SYLLABLE HUJ;Lo;0;L;;;;;N;;;;;
-D6DB;HANGUL SYLLABLE HUC;Lo;0;L;;;;;N;;;;;
-D6DC;HANGUL SYLLABLE HUK;Lo;0;L;;;;;N;;;;;
-D6DD;HANGUL SYLLABLE HUT;Lo;0;L;;;;;N;;;;;
-D6DE;HANGUL SYLLABLE HUP;Lo;0;L;;;;;N;;;;;
-D6DF;HANGUL SYLLABLE HUH;Lo;0;L;;;;;N;;;;;
-D6E0;HANGUL SYLLABLE HWEO;Lo;0;L;;;;;N;;;;;
-D6E1;HANGUL SYLLABLE HWEOG;Lo;0;L;;;;;N;;;;;
-D6E2;HANGUL SYLLABLE HWEOGG;Lo;0;L;;;;;N;;;;;
-D6E3;HANGUL SYLLABLE HWEOGS;Lo;0;L;;;;;N;;;;;
-D6E4;HANGUL SYLLABLE HWEON;Lo;0;L;;;;;N;;;;;
-D6E5;HANGUL SYLLABLE HWEONI;Lo;0;L;;;;;N;;;;;
-D6E6;HANGUL SYLLABLE HWEONH;Lo;0;L;;;;;N;;;;;
-D6E7;HANGUL SYLLABLE HWEOD;Lo;0;L;;;;;N;;;;;
-D6E8;HANGUL SYLLABLE HWEOL;Lo;0;L;;;;;N;;;;;
-D6E9;HANGUL SYLLABLE HWEOLG;Lo;0;L;;;;;N;;;;;
-D6EA;HANGUL SYLLABLE HWEOLM;Lo;0;L;;;;;N;;;;;
-D6EB;HANGUL SYLLABLE HWEOLB;Lo;0;L;;;;;N;;;;;
-D6EC;HANGUL SYLLABLE HWEOLS;Lo;0;L;;;;;N;;;;;
-D6ED;HANGUL SYLLABLE HWEOLT;Lo;0;L;;;;;N;;;;;
-D6EE;HANGUL SYLLABLE HWEOLP;Lo;0;L;;;;;N;;;;;
-D6EF;HANGUL SYLLABLE HWEOLH;Lo;0;L;;;;;N;;;;;
-D6F0;HANGUL SYLLABLE HWEOM;Lo;0;L;;;;;N;;;;;
-D6F1;HANGUL SYLLABLE HWEOB;Lo;0;L;;;;;N;;;;;
-D6F2;HANGUL SYLLABLE HWEOBS;Lo;0;L;;;;;N;;;;;
-D6F3;HANGUL SYLLABLE HWEOS;Lo;0;L;;;;;N;;;;;
-D6F4;HANGUL SYLLABLE HWEOSS;Lo;0;L;;;;;N;;;;;
-D6F5;HANGUL SYLLABLE HWEONG;Lo;0;L;;;;;N;;;;;
-D6F6;HANGUL SYLLABLE HWEOJ;Lo;0;L;;;;;N;;;;;
-D6F7;HANGUL SYLLABLE HWEOC;Lo;0;L;;;;;N;;;;;
-D6F8;HANGUL SYLLABLE HWEOK;Lo;0;L;;;;;N;;;;;
-D6F9;HANGUL SYLLABLE HWEOT;Lo;0;L;;;;;N;;;;;
-D6FA;HANGUL SYLLABLE HWEOP;Lo;0;L;;;;;N;;;;;
-D6FB;HANGUL SYLLABLE HWEOH;Lo;0;L;;;;;N;;;;;
-D6FC;HANGUL SYLLABLE HWE;Lo;0;L;;;;;N;;;;;
-D6FD;HANGUL SYLLABLE HWEG;Lo;0;L;;;;;N;;;;;
-D6FE;HANGUL SYLLABLE HWEGG;Lo;0;L;;;;;N;;;;;
-D6FF;HANGUL SYLLABLE HWEGS;Lo;0;L;;;;;N;;;;;
-D700;HANGUL SYLLABLE HWEN;Lo;0;L;;;;;N;;;;;
-D701;HANGUL SYLLABLE HWENI;Lo;0;L;;;;;N;;;;;
-D702;HANGUL SYLLABLE HWENH;Lo;0;L;;;;;N;;;;;
-D703;HANGUL SYLLABLE HWED;Lo;0;L;;;;;N;;;;;
-D704;HANGUL SYLLABLE HWEL;Lo;0;L;;;;;N;;;;;
-D705;HANGUL SYLLABLE HWELG;Lo;0;L;;;;;N;;;;;
-D706;HANGUL SYLLABLE HWELM;Lo;0;L;;;;;N;;;;;
-D707;HANGUL SYLLABLE HWELB;Lo;0;L;;;;;N;;;;;
-D708;HANGUL SYLLABLE HWELS;Lo;0;L;;;;;N;;;;;
-D709;HANGUL SYLLABLE HWELT;Lo;0;L;;;;;N;;;;;
-D70A;HANGUL SYLLABLE HWELP;Lo;0;L;;;;;N;;;;;
-D70B;HANGUL SYLLABLE HWELH;Lo;0;L;;;;;N;;;;;
-D70C;HANGUL SYLLABLE HWEM;Lo;0;L;;;;;N;;;;;
-D70D;HANGUL SYLLABLE HWEB;Lo;0;L;;;;;N;;;;;
-D70E;HANGUL SYLLABLE HWEBS;Lo;0;L;;;;;N;;;;;
-D70F;HANGUL SYLLABLE HWES;Lo;0;L;;;;;N;;;;;
-D710;HANGUL SYLLABLE HWESS;Lo;0;L;;;;;N;;;;;
-D711;HANGUL SYLLABLE HWENG;Lo;0;L;;;;;N;;;;;
-D712;HANGUL SYLLABLE HWEJ;Lo;0;L;;;;;N;;;;;
-D713;HANGUL SYLLABLE HWEC;Lo;0;L;;;;;N;;;;;
-D714;HANGUL SYLLABLE HWEK;Lo;0;L;;;;;N;;;;;
-D715;HANGUL SYLLABLE HWET;Lo;0;L;;;;;N;;;;;
-D716;HANGUL SYLLABLE HWEP;Lo;0;L;;;;;N;;;;;
-D717;HANGUL SYLLABLE HWEH;Lo;0;L;;;;;N;;;;;
-D718;HANGUL SYLLABLE HWI;Lo;0;L;;;;;N;;;;;
-D719;HANGUL SYLLABLE HWIG;Lo;0;L;;;;;N;;;;;
-D71A;HANGUL SYLLABLE HWIGG;Lo;0;L;;;;;N;;;;;
-D71B;HANGUL SYLLABLE HWIGS;Lo;0;L;;;;;N;;;;;
-D71C;HANGUL SYLLABLE HWIN;Lo;0;L;;;;;N;;;;;
-D71D;HANGUL SYLLABLE HWINI;Lo;0;L;;;;;N;;;;;
-D71E;HANGUL SYLLABLE HWINH;Lo;0;L;;;;;N;;;;;
-D71F;HANGUL SYLLABLE HWID;Lo;0;L;;;;;N;;;;;
-D720;HANGUL SYLLABLE HWIL;Lo;0;L;;;;;N;;;;;
-D721;HANGUL SYLLABLE HWILG;Lo;0;L;;;;;N;;;;;
-D722;HANGUL SYLLABLE HWILM;Lo;0;L;;;;;N;;;;;
-D723;HANGUL SYLLABLE HWILB;Lo;0;L;;;;;N;;;;;
-D724;HANGUL SYLLABLE HWILS;Lo;0;L;;;;;N;;;;;
-D725;HANGUL SYLLABLE HWILT;Lo;0;L;;;;;N;;;;;
-D726;HANGUL SYLLABLE HWILP;Lo;0;L;;;;;N;;;;;
-D727;HANGUL SYLLABLE HWILH;Lo;0;L;;;;;N;;;;;
-D728;HANGUL SYLLABLE HWIM;Lo;0;L;;;;;N;;;;;
-D729;HANGUL SYLLABLE HWIB;Lo;0;L;;;;;N;;;;;
-D72A;HANGUL SYLLABLE HWIBS;Lo;0;L;;;;;N;;;;;
-D72B;HANGUL SYLLABLE HWIS;Lo;0;L;;;;;N;;;;;
-D72C;HANGUL SYLLABLE HWISS;Lo;0;L;;;;;N;;;;;
-D72D;HANGUL SYLLABLE HWING;Lo;0;L;;;;;N;;;;;
-D72E;HANGUL SYLLABLE HWIJ;Lo;0;L;;;;;N;;;;;
-D72F;HANGUL SYLLABLE HWIC;Lo;0;L;;;;;N;;;;;
-D730;HANGUL SYLLABLE HWIK;Lo;0;L;;;;;N;;;;;
-D731;HANGUL SYLLABLE HWIT;Lo;0;L;;;;;N;;;;;
-D732;HANGUL SYLLABLE HWIP;Lo;0;L;;;;;N;;;;;
-D733;HANGUL SYLLABLE HWIH;Lo;0;L;;;;;N;;;;;
-D734;HANGUL SYLLABLE HYU;Lo;0;L;;;;;N;;;;;
-D735;HANGUL SYLLABLE HYUG;Lo;0;L;;;;;N;;;;;
-D736;HANGUL SYLLABLE HYUGG;Lo;0;L;;;;;N;;;;;
-D737;HANGUL SYLLABLE HYUGS;Lo;0;L;;;;;N;;;;;
-D738;HANGUL SYLLABLE HYUN;Lo;0;L;;;;;N;;;;;
-D739;HANGUL SYLLABLE HYUNI;Lo;0;L;;;;;N;;;;;
-D73A;HANGUL SYLLABLE HYUNH;Lo;0;L;;;;;N;;;;;
-D73B;HANGUL SYLLABLE HYUD;Lo;0;L;;;;;N;;;;;
-D73C;HANGUL SYLLABLE HYUL;Lo;0;L;;;;;N;;;;;
-D73D;HANGUL SYLLABLE HYULG;Lo;0;L;;;;;N;;;;;
-D73E;HANGUL SYLLABLE HYULM;Lo;0;L;;;;;N;;;;;
-D73F;HANGUL SYLLABLE HYULB;Lo;0;L;;;;;N;;;;;
-D740;HANGUL SYLLABLE HYULS;Lo;0;L;;;;;N;;;;;
-D741;HANGUL SYLLABLE HYULT;Lo;0;L;;;;;N;;;;;
-D742;HANGUL SYLLABLE HYULP;Lo;0;L;;;;;N;;;;;
-D743;HANGUL SYLLABLE HYULH;Lo;0;L;;;;;N;;;;;
-D744;HANGUL SYLLABLE HYUM;Lo;0;L;;;;;N;;;;;
-D745;HANGUL SYLLABLE HYUB;Lo;0;L;;;;;N;;;;;
-D746;HANGUL SYLLABLE HYUBS;Lo;0;L;;;;;N;;;;;
-D747;HANGUL SYLLABLE HYUS;Lo;0;L;;;;;N;;;;;
-D748;HANGUL SYLLABLE HYUSS;Lo;0;L;;;;;N;;;;;
-D749;HANGUL SYLLABLE HYUNG;Lo;0;L;;;;;N;;;;;
-D74A;HANGUL SYLLABLE HYUJ;Lo;0;L;;;;;N;;;;;
-D74B;HANGUL SYLLABLE HYUC;Lo;0;L;;;;;N;;;;;
-D74C;HANGUL SYLLABLE HYUK;Lo;0;L;;;;;N;;;;;
-D74D;HANGUL SYLLABLE HYUT;Lo;0;L;;;;;N;;;;;
-D74E;HANGUL SYLLABLE HYUP;Lo;0;L;;;;;N;;;;;
-D74F;HANGUL SYLLABLE HYUH;Lo;0;L;;;;;N;;;;;
-D750;HANGUL SYLLABLE HEU;Lo;0;L;;;;;N;;;;;
-D751;HANGUL SYLLABLE HEUG;Lo;0;L;;;;;N;;;;;
-D752;HANGUL SYLLABLE HEUGG;Lo;0;L;;;;;N;;;;;
-D753;HANGUL SYLLABLE HEUGS;Lo;0;L;;;;;N;;;;;
-D754;HANGUL SYLLABLE HEUN;Lo;0;L;;;;;N;;;;;
-D755;HANGUL SYLLABLE HEUNI;Lo;0;L;;;;;N;;;;;
-D756;HANGUL SYLLABLE HEUNH;Lo;0;L;;;;;N;;;;;
-D757;HANGUL SYLLABLE HEUD;Lo;0;L;;;;;N;;;;;
-D758;HANGUL SYLLABLE HEUL;Lo;0;L;;;;;N;;;;;
-D759;HANGUL SYLLABLE HEULG;Lo;0;L;;;;;N;;;;;
-D75A;HANGUL SYLLABLE HEULM;Lo;0;L;;;;;N;;;;;
-D75B;HANGUL SYLLABLE HEULB;Lo;0;L;;;;;N;;;;;
-D75C;HANGUL SYLLABLE HEULS;Lo;0;L;;;;;N;;;;;
-D75D;HANGUL SYLLABLE HEULT;Lo;0;L;;;;;N;;;;;
-D75E;HANGUL SYLLABLE HEULP;Lo;0;L;;;;;N;;;;;
-D75F;HANGUL SYLLABLE HEULH;Lo;0;L;;;;;N;;;;;
-D760;HANGUL SYLLABLE HEUM;Lo;0;L;;;;;N;;;;;
-D761;HANGUL SYLLABLE HEUB;Lo;0;L;;;;;N;;;;;
-D762;HANGUL SYLLABLE HEUBS;Lo;0;L;;;;;N;;;;;
-D763;HANGUL SYLLABLE HEUS;Lo;0;L;;;;;N;;;;;
-D764;HANGUL SYLLABLE HEUSS;Lo;0;L;;;;;N;;;;;
-D765;HANGUL SYLLABLE HEUNG;Lo;0;L;;;;;N;;;;;
-D766;HANGUL SYLLABLE HEUJ;Lo;0;L;;;;;N;;;;;
-D767;HANGUL SYLLABLE HEUC;Lo;0;L;;;;;N;;;;;
-D768;HANGUL SYLLABLE HEUK;Lo;0;L;;;;;N;;;;;
-D769;HANGUL SYLLABLE HEUT;Lo;0;L;;;;;N;;;;;
-D76A;HANGUL SYLLABLE HEUP;Lo;0;L;;;;;N;;;;;
-D76B;HANGUL SYLLABLE HEUH;Lo;0;L;;;;;N;;;;;
-D76C;HANGUL SYLLABLE HYI;Lo;0;L;;;;;N;;;;;
-D76D;HANGUL SYLLABLE HYIG;Lo;0;L;;;;;N;;;;;
-D76E;HANGUL SYLLABLE HYIGG;Lo;0;L;;;;;N;;;;;
-D76F;HANGUL SYLLABLE HYIGS;Lo;0;L;;;;;N;;;;;
-D770;HANGUL SYLLABLE HYIN;Lo;0;L;;;;;N;;;;;
-D771;HANGUL SYLLABLE HYINI;Lo;0;L;;;;;N;;;;;
-D772;HANGUL SYLLABLE HYINH;Lo;0;L;;;;;N;;;;;
-D773;HANGUL SYLLABLE HYID;Lo;0;L;;;;;N;;;;;
-D774;HANGUL SYLLABLE HYIL;Lo;0;L;;;;;N;;;;;
-D775;HANGUL SYLLABLE HYILG;Lo;0;L;;;;;N;;;;;
-D776;HANGUL SYLLABLE HYILM;Lo;0;L;;;;;N;;;;;
-D777;HANGUL SYLLABLE HYILB;Lo;0;L;;;;;N;;;;;
-D778;HANGUL SYLLABLE HYILS;Lo;0;L;;;;;N;;;;;
-D779;HANGUL SYLLABLE HYILT;Lo;0;L;;;;;N;;;;;
-D77A;HANGUL SYLLABLE HYILP;Lo;0;L;;;;;N;;;;;
-D77B;HANGUL SYLLABLE HYILH;Lo;0;L;;;;;N;;;;;
-D77C;HANGUL SYLLABLE HYIM;Lo;0;L;;;;;N;;;;;
-D77D;HANGUL SYLLABLE HYIB;Lo;0;L;;;;;N;;;;;
-D77E;HANGUL SYLLABLE HYIBS;Lo;0;L;;;;;N;;;;;
-D77F;HANGUL SYLLABLE HYIS;Lo;0;L;;;;;N;;;;;
-D780;HANGUL SYLLABLE HYISS;Lo;0;L;;;;;N;;;;;
-D781;HANGUL SYLLABLE HYING;Lo;0;L;;;;;N;;;;;
-D782;HANGUL SYLLABLE HYIJ;Lo;0;L;;;;;N;;;;;
-D783;HANGUL SYLLABLE HYIC;Lo;0;L;;;;;N;;;;;
-D784;HANGUL SYLLABLE HYIK;Lo;0;L;;;;;N;;;;;
-D785;HANGUL SYLLABLE HYIT;Lo;0;L;;;;;N;;;;;
-D786;HANGUL SYLLABLE HYIP;Lo;0;L;;;;;N;;;;;
-D787;HANGUL SYLLABLE HYIH;Lo;0;L;;;;;N;;;;;
-D788;HANGUL SYLLABLE HI;Lo;0;L;;;;;N;;;;;
-D789;HANGUL SYLLABLE HIG;Lo;0;L;;;;;N;;;;;
-D78A;HANGUL SYLLABLE HIGG;Lo;0;L;;;;;N;;;;;
-D78B;HANGUL SYLLABLE HIGS;Lo;0;L;;;;;N;;;;;
-D78C;HANGUL SYLLABLE HIN;Lo;0;L;;;;;N;;;;;
-D78D;HANGUL SYLLABLE HINI;Lo;0;L;;;;;N;;;;;
-D78E;HANGUL SYLLABLE HINH;Lo;0;L;;;;;N;;;;;
-D78F;HANGUL SYLLABLE HID;Lo;0;L;;;;;N;;;;;
-D790;HANGUL SYLLABLE HIL;Lo;0;L;;;;;N;;;;;
-D791;HANGUL SYLLABLE HILG;Lo;0;L;;;;;N;;;;;
-D792;HANGUL SYLLABLE HILM;Lo;0;L;;;;;N;;;;;
-D793;HANGUL SYLLABLE HILB;Lo;0;L;;;;;N;;;;;
-D794;HANGUL SYLLABLE HILS;Lo;0;L;;;;;N;;;;;
-D795;HANGUL SYLLABLE HILT;Lo;0;L;;;;;N;;;;;
-D796;HANGUL SYLLABLE HILP;Lo;0;L;;;;;N;;;;;
-D797;HANGUL SYLLABLE HILH;Lo;0;L;;;;;N;;;;;
-D798;HANGUL SYLLABLE HIM;Lo;0;L;;;;;N;;;;;
-D799;HANGUL SYLLABLE HIB;Lo;0;L;;;;;N;;;;;
-D79A;HANGUL SYLLABLE HIBS;Lo;0;L;;;;;N;;;;;
-D79B;HANGUL SYLLABLE HIS;Lo;0;L;;;;;N;;;;;
-D79C;HANGUL SYLLABLE HISS;Lo;0;L;;;;;N;;;;;
-D79D;HANGUL SYLLABLE HING;Lo;0;L;;;;;N;;;;;
-D79E;HANGUL SYLLABLE HIJ;Lo;0;L;;;;;N;;;;;
-D79F;HANGUL SYLLABLE HIC;Lo;0;L;;;;;N;;;;;
-D7A0;HANGUL SYLLABLE HIK;Lo;0;L;;;;;N;;;;;
-D7A1;HANGUL SYLLABLE HIT;Lo;0;L;;;;;N;;;;;
-D7A2;HANGUL SYLLABLE HIP;Lo;0;L;;;;;N;;;;;
-D7A3;HANGUL SYLLABLE HIH;Lo;0;L;;;;;N;;;;;
+AA60;MYANMAR LETTER KHAMTI GA;Lo;0;L;;;;;N;;;;;
+AA61;MYANMAR LETTER KHAMTI CA;Lo;0;L;;;;;N;;;;;
+AA62;MYANMAR LETTER KHAMTI CHA;Lo;0;L;;;;;N;;;;;
+AA63;MYANMAR LETTER KHAMTI JA;Lo;0;L;;;;;N;;;;;
+AA64;MYANMAR LETTER KHAMTI JHA;Lo;0;L;;;;;N;;;;;
+AA65;MYANMAR LETTER KHAMTI NYA;Lo;0;L;;;;;N;;;;;
+AA66;MYANMAR LETTER KHAMTI TTA;Lo;0;L;;;;;N;;;;;
+AA67;MYANMAR LETTER KHAMTI TTHA;Lo;0;L;;;;;N;;;;;
+AA68;MYANMAR LETTER KHAMTI DDA;Lo;0;L;;;;;N;;;;;
+AA69;MYANMAR LETTER KHAMTI DDHA;Lo;0;L;;;;;N;;;;;
+AA6A;MYANMAR LETTER KHAMTI DHA;Lo;0;L;;;;;N;;;;;
+AA6B;MYANMAR LETTER KHAMTI NA;Lo;0;L;;;;;N;;;;;
+AA6C;MYANMAR LETTER KHAMTI SA;Lo;0;L;;;;;N;;;;;
+AA6D;MYANMAR LETTER KHAMTI HA;Lo;0;L;;;;;N;;;;;
+AA6E;MYANMAR LETTER KHAMTI HHA;Lo;0;L;;;;;N;;;;;
+AA6F;MYANMAR LETTER KHAMTI FA;Lo;0;L;;;;;N;;;;;
+AA70;MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION;Lm;0;L;;;;;N;;;;;
+AA71;MYANMAR LETTER KHAMTI XA;Lo;0;L;;;;;N;;;;;
+AA72;MYANMAR LETTER KHAMTI ZA;Lo;0;L;;;;;N;;;;;
+AA73;MYANMAR LETTER KHAMTI RA;Lo;0;L;;;;;N;;;;;
+AA74;MYANMAR LOGOGRAM KHAMTI OAY;Lo;0;L;;;;;N;;;;;
+AA75;MYANMAR LOGOGRAM KHAMTI QN;Lo;0;L;;;;;N;;;;;
+AA76;MYANMAR LOGOGRAM KHAMTI HM;Lo;0;L;;;;;N;;;;;
+AA77;MYANMAR SYMBOL AITON EXCLAMATION;So;0;L;;;;;N;;;;;
+AA78;MYANMAR SYMBOL AITON ONE;So;0;L;;;;;N;;;;;
+AA79;MYANMAR SYMBOL AITON TWO;So;0;L;;;;;N;;;;;
+AA7A;MYANMAR LETTER AITON RA;Lo;0;L;;;;;N;;;;;
+AA7B;MYANMAR SIGN PAO KAREN TONE;Mc;0;L;;;;;N;;;;;
+AA7C;MYANMAR SIGN TAI LAING TONE-2;Mn;0;NSM;;;;;N;;;;;
+AA7D;MYANMAR SIGN TAI LAING TONE-5;Mc;0;L;;;;;N;;;;;
+AA7E;MYANMAR LETTER SHWE PALAUNG CHA;Lo;0;L;;;;;N;;;;;
+AA7F;MYANMAR LETTER SHWE PALAUNG SHA;Lo;0;L;;;;;N;;;;;
+AA80;TAI VIET LETTER LOW KO;Lo;0;L;;;;;N;;;;;
+AA81;TAI VIET LETTER HIGH KO;Lo;0;L;;;;;N;;;;;
+AA82;TAI VIET LETTER LOW KHO;Lo;0;L;;;;;N;;;;;
+AA83;TAI VIET LETTER HIGH KHO;Lo;0;L;;;;;N;;;;;
+AA84;TAI VIET LETTER LOW KHHO;Lo;0;L;;;;;N;;;;;
+AA85;TAI VIET LETTER HIGH KHHO;Lo;0;L;;;;;N;;;;;
+AA86;TAI VIET LETTER LOW GO;Lo;0;L;;;;;N;;;;;
+AA87;TAI VIET LETTER HIGH GO;Lo;0;L;;;;;N;;;;;
+AA88;TAI VIET LETTER LOW NGO;Lo;0;L;;;;;N;;;;;
+AA89;TAI VIET LETTER HIGH NGO;Lo;0;L;;;;;N;;;;;
+AA8A;TAI VIET LETTER LOW CO;Lo;0;L;;;;;N;;;;;
+AA8B;TAI VIET LETTER HIGH CO;Lo;0;L;;;;;N;;;;;
+AA8C;TAI VIET LETTER LOW CHO;Lo;0;L;;;;;N;;;;;
+AA8D;TAI VIET LETTER HIGH CHO;Lo;0;L;;;;;N;;;;;
+AA8E;TAI VIET LETTER LOW SO;Lo;0;L;;;;;N;;;;;
+AA8F;TAI VIET LETTER HIGH SO;Lo;0;L;;;;;N;;;;;
+AA90;TAI VIET LETTER LOW NYO;Lo;0;L;;;;;N;;;;;
+AA91;TAI VIET LETTER HIGH NYO;Lo;0;L;;;;;N;;;;;
+AA92;TAI VIET LETTER LOW DO;Lo;0;L;;;;;N;;;;;
+AA93;TAI VIET LETTER HIGH DO;Lo;0;L;;;;;N;;;;;
+AA94;TAI VIET LETTER LOW TO;Lo;0;L;;;;;N;;;;;
+AA95;TAI VIET LETTER HIGH TO;Lo;0;L;;;;;N;;;;;
+AA96;TAI VIET LETTER LOW THO;Lo;0;L;;;;;N;;;;;
+AA97;TAI VIET LETTER HIGH THO;Lo;0;L;;;;;N;;;;;
+AA98;TAI VIET LETTER LOW NO;Lo;0;L;;;;;N;;;;;
+AA99;TAI VIET LETTER HIGH NO;Lo;0;L;;;;;N;;;;;
+AA9A;TAI VIET LETTER LOW BO;Lo;0;L;;;;;N;;;;;
+AA9B;TAI VIET LETTER HIGH BO;Lo;0;L;;;;;N;;;;;
+AA9C;TAI VIET LETTER LOW PO;Lo;0;L;;;;;N;;;;;
+AA9D;TAI VIET LETTER HIGH PO;Lo;0;L;;;;;N;;;;;
+AA9E;TAI VIET LETTER LOW PHO;Lo;0;L;;;;;N;;;;;
+AA9F;TAI VIET LETTER HIGH PHO;Lo;0;L;;;;;N;;;;;
+AAA0;TAI VIET LETTER LOW FO;Lo;0;L;;;;;N;;;;;
+AAA1;TAI VIET LETTER HIGH FO;Lo;0;L;;;;;N;;;;;
+AAA2;TAI VIET LETTER LOW MO;Lo;0;L;;;;;N;;;;;
+AAA3;TAI VIET LETTER HIGH MO;Lo;0;L;;;;;N;;;;;
+AAA4;TAI VIET LETTER LOW YO;Lo;0;L;;;;;N;;;;;
+AAA5;TAI VIET LETTER HIGH YO;Lo;0;L;;;;;N;;;;;
+AAA6;TAI VIET LETTER LOW RO;Lo;0;L;;;;;N;;;;;
+AAA7;TAI VIET LETTER HIGH RO;Lo;0;L;;;;;N;;;;;
+AAA8;TAI VIET LETTER LOW LO;Lo;0;L;;;;;N;;;;;
+AAA9;TAI VIET LETTER HIGH LO;Lo;0;L;;;;;N;;;;;
+AAAA;TAI VIET LETTER LOW VO;Lo;0;L;;;;;N;;;;;
+AAAB;TAI VIET LETTER HIGH VO;Lo;0;L;;;;;N;;;;;
+AAAC;TAI VIET LETTER LOW HO;Lo;0;L;;;;;N;;;;;
+AAAD;TAI VIET LETTER HIGH HO;Lo;0;L;;;;;N;;;;;
+AAAE;TAI VIET LETTER LOW O;Lo;0;L;;;;;N;;;;;
+AAAF;TAI VIET LETTER HIGH O;Lo;0;L;;;;;N;;;;;
+AAB0;TAI VIET MAI KANG;Mn;230;NSM;;;;;N;;;;;
+AAB1;TAI VIET VOWEL AA;Lo;0;L;;;;;N;;;;;
+AAB2;TAI VIET VOWEL I;Mn;230;NSM;;;;;N;;;;;
+AAB3;TAI VIET VOWEL UE;Mn;230;NSM;;;;;N;;;;;
+AAB4;TAI VIET VOWEL U;Mn;220;NSM;;;;;N;;;;;
+AAB5;TAI VIET VOWEL E;Lo;0;L;;;;;N;;;;;
+AAB6;TAI VIET VOWEL O;Lo;0;L;;;;;N;;;;;
+AAB7;TAI VIET MAI KHIT;Mn;230;NSM;;;;;N;;;;;
+AAB8;TAI VIET VOWEL IA;Mn;230;NSM;;;;;N;;;;;
+AAB9;TAI VIET VOWEL UEA;Lo;0;L;;;;;N;;;;;
+AABA;TAI VIET VOWEL UA;Lo;0;L;;;;;N;;;;;
+AABB;TAI VIET VOWEL AUE;Lo;0;L;;;;;N;;;;;
+AABC;TAI VIET VOWEL AY;Lo;0;L;;;;;N;;;;;
+AABD;TAI VIET VOWEL AN;Lo;0;L;;;;;N;;;;;
+AABE;TAI VIET VOWEL AM;Mn;230;NSM;;;;;N;;;;;
+AABF;TAI VIET TONE MAI EK;Mn;230;NSM;;;;;N;;;;;
+AAC0;TAI VIET TONE MAI NUENG;Lo;0;L;;;;;N;;;;;
+AAC1;TAI VIET TONE MAI THO;Mn;230;NSM;;;;;N;;;;;
+AAC2;TAI VIET TONE MAI SONG;Lo;0;L;;;;;N;;;;;
+AADB;TAI VIET SYMBOL KON;Lo;0;L;;;;;N;;;;;
+AADC;TAI VIET SYMBOL NUENG;Lo;0;L;;;;;N;;;;;
+AADD;TAI VIET SYMBOL SAM;Lm;0;L;;;;;N;;;;;
+AADE;TAI VIET SYMBOL HO HOI;Po;0;L;;;;;N;;;;;
+AADF;TAI VIET SYMBOL KOI KOI;Po;0;L;;;;;N;;;;;
+AAE0;MEETEI MAYEK LETTER E;Lo;0;L;;;;;N;;;;;
+AAE1;MEETEI MAYEK LETTER O;Lo;0;L;;;;;N;;;;;
+AAE2;MEETEI MAYEK LETTER CHA;Lo;0;L;;;;;N;;;;;
+AAE3;MEETEI MAYEK LETTER NYA;Lo;0;L;;;;;N;;;;;
+AAE4;MEETEI MAYEK LETTER TTA;Lo;0;L;;;;;N;;;;;
+AAE5;MEETEI MAYEK LETTER TTHA;Lo;0;L;;;;;N;;;;;
+AAE6;MEETEI MAYEK LETTER DDA;Lo;0;L;;;;;N;;;;;
+AAE7;MEETEI MAYEK LETTER DDHA;Lo;0;L;;;;;N;;;;;
+AAE8;MEETEI MAYEK LETTER NNA;Lo;0;L;;;;;N;;;;;
+AAE9;MEETEI MAYEK LETTER SHA;Lo;0;L;;;;;N;;;;;
+AAEA;MEETEI MAYEK LETTER SSA;Lo;0;L;;;;;N;;;;;
+AAEB;MEETEI MAYEK VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+AAEC;MEETEI MAYEK VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+AAED;MEETEI MAYEK VOWEL SIGN AAI;Mn;0;NSM;;;;;N;;;;;
+AAEE;MEETEI MAYEK VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+AAEF;MEETEI MAYEK VOWEL SIGN AAU;Mc;0;L;;;;;N;;;;;
+AAF0;MEETEI MAYEK CHEIKHAN;Po;0;L;;;;;N;;;;;
+AAF1;MEETEI MAYEK AHANG KHUDAM;Po;0;L;;;;;N;;;;;
+AAF2;MEETEI MAYEK ANJI;Lo;0;L;;;;;N;;;;;
+AAF3;MEETEI MAYEK SYLLABLE REPETITION MARK;Lm;0;L;;;;;N;;;;;
+AAF4;MEETEI MAYEK WORD REPETITION MARK;Lm;0;L;;;;;N;;;;;
+AAF5;MEETEI MAYEK VOWEL SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+AAF6;MEETEI MAYEK VIRAMA;Mn;9;NSM;;;;;N;;;;;
+AB01;ETHIOPIC SYLLABLE TTHU;Lo;0;L;;;;;N;;;;;
+AB02;ETHIOPIC SYLLABLE TTHI;Lo;0;L;;;;;N;;;;;
+AB03;ETHIOPIC SYLLABLE TTHAA;Lo;0;L;;;;;N;;;;;
+AB04;ETHIOPIC SYLLABLE TTHEE;Lo;0;L;;;;;N;;;;;
+AB05;ETHIOPIC SYLLABLE TTHE;Lo;0;L;;;;;N;;;;;
+AB06;ETHIOPIC SYLLABLE TTHO;Lo;0;L;;;;;N;;;;;
+AB09;ETHIOPIC SYLLABLE DDHU;Lo;0;L;;;;;N;;;;;
+AB0A;ETHIOPIC SYLLABLE DDHI;Lo;0;L;;;;;N;;;;;
+AB0B;ETHIOPIC SYLLABLE DDHAA;Lo;0;L;;;;;N;;;;;
+AB0C;ETHIOPIC SYLLABLE DDHEE;Lo;0;L;;;;;N;;;;;
+AB0D;ETHIOPIC SYLLABLE DDHE;Lo;0;L;;;;;N;;;;;
+AB0E;ETHIOPIC SYLLABLE DDHO;Lo;0;L;;;;;N;;;;;
+AB11;ETHIOPIC SYLLABLE DZU;Lo;0;L;;;;;N;;;;;
+AB12;ETHIOPIC SYLLABLE DZI;Lo;0;L;;;;;N;;;;;
+AB13;ETHIOPIC SYLLABLE DZAA;Lo;0;L;;;;;N;;;;;
+AB14;ETHIOPIC SYLLABLE DZEE;Lo;0;L;;;;;N;;;;;
+AB15;ETHIOPIC SYLLABLE DZE;Lo;0;L;;;;;N;;;;;
+AB16;ETHIOPIC SYLLABLE DZO;Lo;0;L;;;;;N;;;;;
+AB20;ETHIOPIC SYLLABLE CCHHA;Lo;0;L;;;;;N;;;;;
+AB21;ETHIOPIC SYLLABLE CCHHU;Lo;0;L;;;;;N;;;;;
+AB22;ETHIOPIC SYLLABLE CCHHI;Lo;0;L;;;;;N;;;;;
+AB23;ETHIOPIC SYLLABLE CCHHAA;Lo;0;L;;;;;N;;;;;
+AB24;ETHIOPIC SYLLABLE CCHHEE;Lo;0;L;;;;;N;;;;;
+AB25;ETHIOPIC SYLLABLE CCHHE;Lo;0;L;;;;;N;;;;;
+AB26;ETHIOPIC SYLLABLE CCHHO;Lo;0;L;;;;;N;;;;;
+AB28;ETHIOPIC SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
+AB29;ETHIOPIC SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
+AB2A;ETHIOPIC SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
+AB2B;ETHIOPIC SYLLABLE BBAA;Lo;0;L;;;;;N;;;;;
+AB2C;ETHIOPIC SYLLABLE BBEE;Lo;0;L;;;;;N;;;;;
+AB2D;ETHIOPIC SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
+AB2E;ETHIOPIC SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
+AB30;LATIN SMALL LETTER BARRED ALPHA;Ll;0;L;;;;;N;;;;;
+AB31;LATIN SMALL LETTER A REVERSED-SCHWA;Ll;0;L;;;;;N;;;;;
+AB32;LATIN SMALL LETTER BLACKLETTER E;Ll;0;L;;;;;N;;;;;
+AB33;LATIN SMALL LETTER BARRED E;Ll;0;L;;;;;N;;;;;
+AB34;LATIN SMALL LETTER E WITH FLOURISH;Ll;0;L;;;;;N;;;;;
+AB35;LATIN SMALL LETTER LENIS F;Ll;0;L;;;;;N;;;;;
+AB36;LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB37;LATIN SMALL LETTER L WITH INVERTED LAZY S;Ll;0;L;;;;;N;;;;;
+AB38;LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+AB39;LATIN SMALL LETTER L WITH MIDDLE RING;Ll;0;L;;;;;N;;;;;
+AB3A;LATIN SMALL LETTER M WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB3B;LATIN SMALL LETTER N WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB3C;LATIN SMALL LETTER ENG WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB3D;LATIN SMALL LETTER BLACKLETTER O;Ll;0;L;;;;;N;;;;;
+AB3E;LATIN SMALL LETTER BLACKLETTER O WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB3F;LATIN SMALL LETTER OPEN O WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB40;LATIN SMALL LETTER INVERTED OE;Ll;0;L;;;;;N;;;;;
+AB41;LATIN SMALL LETTER TURNED OE WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB42;LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE;Ll;0;L;;;;;N;;;;;
+AB43;LATIN SMALL LETTER TURNED O OPEN-O;Ll;0;L;;;;;N;;;;;
+AB44;LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB45;LATIN SMALL LETTER STIRRUP R;Ll;0;L;;;;;N;;;;;
+AB46;LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB47;LATIN SMALL LETTER R WITHOUT HANDLE;Ll;0;L;;;;;N;;;;;
+AB48;LATIN SMALL LETTER DOUBLE R;Ll;0;L;;;;;N;;;;;
+AB49;LATIN SMALL LETTER R WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB4A;LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB4B;LATIN SMALL LETTER SCRIPT R;Ll;0;L;;;;;N;;;;;
+AB4C;LATIN SMALL LETTER SCRIPT R WITH RING;Ll;0;L;;;;;N;;;;;
+AB4D;LATIN SMALL LETTER BASELINE ESH;Ll;0;L;;;;;N;;;;;
+AB4E;LATIN SMALL LETTER U WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB4F;LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB50;LATIN SMALL LETTER UI;Ll;0;L;;;;;N;;;;;
+AB51;LATIN SMALL LETTER TURNED UI;Ll;0;L;;;;;N;;;;;
+AB52;LATIN SMALL LETTER U WITH LEFT HOOK;Ll;0;L;;;;;N;;;;;
+AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;A7B3;;A7B3
+AB54;LATIN SMALL LETTER CHI WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
+AB55;LATIN SMALL LETTER CHI WITH LOW LEFT SERIF;Ll;0;L;;;;;N;;;;;
+AB56;LATIN SMALL LETTER X WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
+AB57;LATIN SMALL LETTER X WITH LONG LEFT LEG;Ll;0;L;;;;;N;;;;;
+AB58;LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
+AB59;LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF;Ll;0;L;;;;;N;;;;;
+AB5A;LATIN SMALL LETTER Y WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB5B;MODIFIER BREVE WITH INVERTED BREVE;Sk;0;L;;;;;N;;;;;
+AB5C;MODIFIER LETTER SMALL HENG;Lm;0;L;<super> A727;;;;N;;;;;
+AB5D;MODIFIER LETTER SMALL L WITH INVERTED LAZY S;Lm;0;L;<super> AB37;;;;N;;;;;
+AB5E;MODIFIER LETTER SMALL L WITH MIDDLE TILDE;Lm;0;L;<super> 026B;;;;N;;;;;
+AB5F;MODIFIER LETTER SMALL U WITH LEFT HOOK;Lm;0;L;<super> AB52;;;;N;;;;;
+AB60;LATIN SMALL LETTER SAKHA YAT;Ll;0;L;;;;;N;;;;;
+AB61;LATIN SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;;;
+AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;;
+AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;;
+AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;;
+AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;;
+AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0
+AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1
+AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2
+AB73;CHEROKEE SMALL LETTER O;Ll;0;L;;;;;N;;;13A3;;13A3
+AB74;CHEROKEE SMALL LETTER U;Ll;0;L;;;;;N;;;13A4;;13A4
+AB75;CHEROKEE SMALL LETTER V;Ll;0;L;;;;;N;;;13A5;;13A5
+AB76;CHEROKEE SMALL LETTER GA;Ll;0;L;;;;;N;;;13A6;;13A6
+AB77;CHEROKEE SMALL LETTER KA;Ll;0;L;;;;;N;;;13A7;;13A7
+AB78;CHEROKEE SMALL LETTER GE;Ll;0;L;;;;;N;;;13A8;;13A8
+AB79;CHEROKEE SMALL LETTER GI;Ll;0;L;;;;;N;;;13A9;;13A9
+AB7A;CHEROKEE SMALL LETTER GO;Ll;0;L;;;;;N;;;13AA;;13AA
+AB7B;CHEROKEE SMALL LETTER GU;Ll;0;L;;;;;N;;;13AB;;13AB
+AB7C;CHEROKEE SMALL LETTER GV;Ll;0;L;;;;;N;;;13AC;;13AC
+AB7D;CHEROKEE SMALL LETTER HA;Ll;0;L;;;;;N;;;13AD;;13AD
+AB7E;CHEROKEE SMALL LETTER HE;Ll;0;L;;;;;N;;;13AE;;13AE
+AB7F;CHEROKEE SMALL LETTER HI;Ll;0;L;;;;;N;;;13AF;;13AF
+AB80;CHEROKEE SMALL LETTER HO;Ll;0;L;;;;;N;;;13B0;;13B0
+AB81;CHEROKEE SMALL LETTER HU;Ll;0;L;;;;;N;;;13B1;;13B1
+AB82;CHEROKEE SMALL LETTER HV;Ll;0;L;;;;;N;;;13B2;;13B2
+AB83;CHEROKEE SMALL LETTER LA;Ll;0;L;;;;;N;;;13B3;;13B3
+AB84;CHEROKEE SMALL LETTER LE;Ll;0;L;;;;;N;;;13B4;;13B4
+AB85;CHEROKEE SMALL LETTER LI;Ll;0;L;;;;;N;;;13B5;;13B5
+AB86;CHEROKEE SMALL LETTER LO;Ll;0;L;;;;;N;;;13B6;;13B6
+AB87;CHEROKEE SMALL LETTER LU;Ll;0;L;;;;;N;;;13B7;;13B7
+AB88;CHEROKEE SMALL LETTER LV;Ll;0;L;;;;;N;;;13B8;;13B8
+AB89;CHEROKEE SMALL LETTER MA;Ll;0;L;;;;;N;;;13B9;;13B9
+AB8A;CHEROKEE SMALL LETTER ME;Ll;0;L;;;;;N;;;13BA;;13BA
+AB8B;CHEROKEE SMALL LETTER MI;Ll;0;L;;;;;N;;;13BB;;13BB
+AB8C;CHEROKEE SMALL LETTER MO;Ll;0;L;;;;;N;;;13BC;;13BC
+AB8D;CHEROKEE SMALL LETTER MU;Ll;0;L;;;;;N;;;13BD;;13BD
+AB8E;CHEROKEE SMALL LETTER NA;Ll;0;L;;;;;N;;;13BE;;13BE
+AB8F;CHEROKEE SMALL LETTER HNA;Ll;0;L;;;;;N;;;13BF;;13BF
+AB90;CHEROKEE SMALL LETTER NAH;Ll;0;L;;;;;N;;;13C0;;13C0
+AB91;CHEROKEE SMALL LETTER NE;Ll;0;L;;;;;N;;;13C1;;13C1
+AB92;CHEROKEE SMALL LETTER NI;Ll;0;L;;;;;N;;;13C2;;13C2
+AB93;CHEROKEE SMALL LETTER NO;Ll;0;L;;;;;N;;;13C3;;13C3
+AB94;CHEROKEE SMALL LETTER NU;Ll;0;L;;;;;N;;;13C4;;13C4
+AB95;CHEROKEE SMALL LETTER NV;Ll;0;L;;;;;N;;;13C5;;13C5
+AB96;CHEROKEE SMALL LETTER QUA;Ll;0;L;;;;;N;;;13C6;;13C6
+AB97;CHEROKEE SMALL LETTER QUE;Ll;0;L;;;;;N;;;13C7;;13C7
+AB98;CHEROKEE SMALL LETTER QUI;Ll;0;L;;;;;N;;;13C8;;13C8
+AB99;CHEROKEE SMALL LETTER QUO;Ll;0;L;;;;;N;;;13C9;;13C9
+AB9A;CHEROKEE SMALL LETTER QUU;Ll;0;L;;;;;N;;;13CA;;13CA
+AB9B;CHEROKEE SMALL LETTER QUV;Ll;0;L;;;;;N;;;13CB;;13CB
+AB9C;CHEROKEE SMALL LETTER SA;Ll;0;L;;;;;N;;;13CC;;13CC
+AB9D;CHEROKEE SMALL LETTER S;Ll;0;L;;;;;N;;;13CD;;13CD
+AB9E;CHEROKEE SMALL LETTER SE;Ll;0;L;;;;;N;;;13CE;;13CE
+AB9F;CHEROKEE SMALL LETTER SI;Ll;0;L;;;;;N;;;13CF;;13CF
+ABA0;CHEROKEE SMALL LETTER SO;Ll;0;L;;;;;N;;;13D0;;13D0
+ABA1;CHEROKEE SMALL LETTER SU;Ll;0;L;;;;;N;;;13D1;;13D1
+ABA2;CHEROKEE SMALL LETTER SV;Ll;0;L;;;;;N;;;13D2;;13D2
+ABA3;CHEROKEE SMALL LETTER DA;Ll;0;L;;;;;N;;;13D3;;13D3
+ABA4;CHEROKEE SMALL LETTER TA;Ll;0;L;;;;;N;;;13D4;;13D4
+ABA5;CHEROKEE SMALL LETTER DE;Ll;0;L;;;;;N;;;13D5;;13D5
+ABA6;CHEROKEE SMALL LETTER TE;Ll;0;L;;;;;N;;;13D6;;13D6
+ABA7;CHEROKEE SMALL LETTER DI;Ll;0;L;;;;;N;;;13D7;;13D7
+ABA8;CHEROKEE SMALL LETTER TI;Ll;0;L;;;;;N;;;13D8;;13D8
+ABA9;CHEROKEE SMALL LETTER DO;Ll;0;L;;;;;N;;;13D9;;13D9
+ABAA;CHEROKEE SMALL LETTER DU;Ll;0;L;;;;;N;;;13DA;;13DA
+ABAB;CHEROKEE SMALL LETTER DV;Ll;0;L;;;;;N;;;13DB;;13DB
+ABAC;CHEROKEE SMALL LETTER DLA;Ll;0;L;;;;;N;;;13DC;;13DC
+ABAD;CHEROKEE SMALL LETTER TLA;Ll;0;L;;;;;N;;;13DD;;13DD
+ABAE;CHEROKEE SMALL LETTER TLE;Ll;0;L;;;;;N;;;13DE;;13DE
+ABAF;CHEROKEE SMALL LETTER TLI;Ll;0;L;;;;;N;;;13DF;;13DF
+ABB0;CHEROKEE SMALL LETTER TLO;Ll;0;L;;;;;N;;;13E0;;13E0
+ABB1;CHEROKEE SMALL LETTER TLU;Ll;0;L;;;;;N;;;13E1;;13E1
+ABB2;CHEROKEE SMALL LETTER TLV;Ll;0;L;;;;;N;;;13E2;;13E2
+ABB3;CHEROKEE SMALL LETTER TSA;Ll;0;L;;;;;N;;;13E3;;13E3
+ABB4;CHEROKEE SMALL LETTER TSE;Ll;0;L;;;;;N;;;13E4;;13E4
+ABB5;CHEROKEE SMALL LETTER TSI;Ll;0;L;;;;;N;;;13E5;;13E5
+ABB6;CHEROKEE SMALL LETTER TSO;Ll;0;L;;;;;N;;;13E6;;13E6
+ABB7;CHEROKEE SMALL LETTER TSU;Ll;0;L;;;;;N;;;13E7;;13E7
+ABB8;CHEROKEE SMALL LETTER TSV;Ll;0;L;;;;;N;;;13E8;;13E8
+ABB9;CHEROKEE SMALL LETTER WA;Ll;0;L;;;;;N;;;13E9;;13E9
+ABBA;CHEROKEE SMALL LETTER WE;Ll;0;L;;;;;N;;;13EA;;13EA
+ABBB;CHEROKEE SMALL LETTER WI;Ll;0;L;;;;;N;;;13EB;;13EB
+ABBC;CHEROKEE SMALL LETTER WO;Ll;0;L;;;;;N;;;13EC;;13EC
+ABBD;CHEROKEE SMALL LETTER WU;Ll;0;L;;;;;N;;;13ED;;13ED
+ABBE;CHEROKEE SMALL LETTER WV;Ll;0;L;;;;;N;;;13EE;;13EE
+ABBF;CHEROKEE SMALL LETTER YA;Ll;0;L;;;;;N;;;13EF;;13EF
+ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;;
+ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;;
+ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;;
+ABC3;MEETEI MAYEK LETTER MIT;Lo;0;L;;;;;N;;;;;
+ABC4;MEETEI MAYEK LETTER PA;Lo;0;L;;;;;N;;;;;
+ABC5;MEETEI MAYEK LETTER NA;Lo;0;L;;;;;N;;;;;
+ABC6;MEETEI MAYEK LETTER CHIL;Lo;0;L;;;;;N;;;;;
+ABC7;MEETEI MAYEK LETTER TIL;Lo;0;L;;;;;N;;;;;
+ABC8;MEETEI MAYEK LETTER KHOU;Lo;0;L;;;;;N;;;;;
+ABC9;MEETEI MAYEK LETTER NGOU;Lo;0;L;;;;;N;;;;;
+ABCA;MEETEI MAYEK LETTER THOU;Lo;0;L;;;;;N;;;;;
+ABCB;MEETEI MAYEK LETTER WAI;Lo;0;L;;;;;N;;;;;
+ABCC;MEETEI MAYEK LETTER YANG;Lo;0;L;;;;;N;;;;;
+ABCD;MEETEI MAYEK LETTER HUK;Lo;0;L;;;;;N;;;;;
+ABCE;MEETEI MAYEK LETTER UN;Lo;0;L;;;;;N;;;;;
+ABCF;MEETEI MAYEK LETTER I;Lo;0;L;;;;;N;;;;;
+ABD0;MEETEI MAYEK LETTER PHAM;Lo;0;L;;;;;N;;;;;
+ABD1;MEETEI MAYEK LETTER ATIYA;Lo;0;L;;;;;N;;;;;
+ABD2;MEETEI MAYEK LETTER GOK;Lo;0;L;;;;;N;;;;;
+ABD3;MEETEI MAYEK LETTER JHAM;Lo;0;L;;;;;N;;;;;
+ABD4;MEETEI MAYEK LETTER RAI;Lo;0;L;;;;;N;;;;;
+ABD5;MEETEI MAYEK LETTER BA;Lo;0;L;;;;;N;;;;;
+ABD6;MEETEI MAYEK LETTER JIL;Lo;0;L;;;;;N;;;;;
+ABD7;MEETEI MAYEK LETTER DIL;Lo;0;L;;;;;N;;;;;
+ABD8;MEETEI MAYEK LETTER GHOU;Lo;0;L;;;;;N;;;;;
+ABD9;MEETEI MAYEK LETTER DHOU;Lo;0;L;;;;;N;;;;;
+ABDA;MEETEI MAYEK LETTER BHAM;Lo;0;L;;;;;N;;;;;
+ABDB;MEETEI MAYEK LETTER KOK LONSUM;Lo;0;L;;;;;N;;;;;
+ABDC;MEETEI MAYEK LETTER LAI LONSUM;Lo;0;L;;;;;N;;;;;
+ABDD;MEETEI MAYEK LETTER MIT LONSUM;Lo;0;L;;;;;N;;;;;
+ABDE;MEETEI MAYEK LETTER PA LONSUM;Lo;0;L;;;;;N;;;;;
+ABDF;MEETEI MAYEK LETTER NA LONSUM;Lo;0;L;;;;;N;;;;;
+ABE0;MEETEI MAYEK LETTER TIL LONSUM;Lo;0;L;;;;;N;;;;;
+ABE1;MEETEI MAYEK LETTER NGOU LONSUM;Lo;0;L;;;;;N;;;;;
+ABE2;MEETEI MAYEK LETTER I LONSUM;Lo;0;L;;;;;N;;;;;
+ABE3;MEETEI MAYEK VOWEL SIGN ONAP;Mc;0;L;;;;;N;;;;;
+ABE4;MEETEI MAYEK VOWEL SIGN INAP;Mc;0;L;;;;;N;;;;;
+ABE5;MEETEI MAYEK VOWEL SIGN ANAP;Mn;0;NSM;;;;;N;;;;;
+ABE6;MEETEI MAYEK VOWEL SIGN YENAP;Mc;0;L;;;;;N;;;;;
+ABE7;MEETEI MAYEK VOWEL SIGN SOUNAP;Mc;0;L;;;;;N;;;;;
+ABE8;MEETEI MAYEK VOWEL SIGN UNAP;Mn;0;NSM;;;;;N;;;;;
+ABE9;MEETEI MAYEK VOWEL SIGN CHEINAP;Mc;0;L;;;;;N;;;;;
+ABEA;MEETEI MAYEK VOWEL SIGN NUNG;Mc;0;L;;;;;N;;;;;
+ABEB;MEETEI MAYEK CHEIKHEI;Po;0;L;;;;;N;;;;;
+ABEC;MEETEI MAYEK LUM IYEK;Mc;0;L;;;;;N;;;;;
+ABED;MEETEI MAYEK APUN IYEK;Mn;9;NSM;;;;;N;;;;;
+ABF0;MEETEI MAYEK DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+ABF1;MEETEI MAYEK DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+ABF2;MEETEI MAYEK DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+ABF3;MEETEI MAYEK DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+ABF4;MEETEI MAYEK DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+ABF5;MEETEI MAYEK DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+ABF6;MEETEI MAYEK DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+ABF7;MEETEI MAYEK DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+ABF8;MEETEI MAYEK DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+ABF9;MEETEI MAYEK DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+AC00;<Hangul Syllable, First>;Lo;0;L;;;;;N;;;;;
+D7A3;<Hangul Syllable, Last>;Lo;0;L;;;;;N;;;;;
+D7B0;HANGUL JUNGSEONG O-YEO;Lo;0;L;;;;;N;;;;;
+D7B1;HANGUL JUNGSEONG O-O-I;Lo;0;L;;;;;N;;;;;
+D7B2;HANGUL JUNGSEONG YO-A;Lo;0;L;;;;;N;;;;;
+D7B3;HANGUL JUNGSEONG YO-AE;Lo;0;L;;;;;N;;;;;
+D7B4;HANGUL JUNGSEONG YO-EO;Lo;0;L;;;;;N;;;;;
+D7B5;HANGUL JUNGSEONG U-YEO;Lo;0;L;;;;;N;;;;;
+D7B6;HANGUL JUNGSEONG U-I-I;Lo;0;L;;;;;N;;;;;
+D7B7;HANGUL JUNGSEONG YU-AE;Lo;0;L;;;;;N;;;;;
+D7B8;HANGUL JUNGSEONG YU-O;Lo;0;L;;;;;N;;;;;
+D7B9;HANGUL JUNGSEONG EU-A;Lo;0;L;;;;;N;;;;;
+D7BA;HANGUL JUNGSEONG EU-EO;Lo;0;L;;;;;N;;;;;
+D7BB;HANGUL JUNGSEONG EU-E;Lo;0;L;;;;;N;;;;;
+D7BC;HANGUL JUNGSEONG EU-O;Lo;0;L;;;;;N;;;;;
+D7BD;HANGUL JUNGSEONG I-YA-O;Lo;0;L;;;;;N;;;;;
+D7BE;HANGUL JUNGSEONG I-YAE;Lo;0;L;;;;;N;;;;;
+D7BF;HANGUL JUNGSEONG I-YEO;Lo;0;L;;;;;N;;;;;
+D7C0;HANGUL JUNGSEONG I-YE;Lo;0;L;;;;;N;;;;;
+D7C1;HANGUL JUNGSEONG I-O-I;Lo;0;L;;;;;N;;;;;
+D7C2;HANGUL JUNGSEONG I-YO;Lo;0;L;;;;;N;;;;;
+D7C3;HANGUL JUNGSEONG I-YU;Lo;0;L;;;;;N;;;;;
+D7C4;HANGUL JUNGSEONG I-I;Lo;0;L;;;;;N;;;;;
+D7C5;HANGUL JUNGSEONG ARAEA-A;Lo;0;L;;;;;N;;;;;
+D7C6;HANGUL JUNGSEONG ARAEA-E;Lo;0;L;;;;;N;;;;;
+D7CB;HANGUL JONGSEONG NIEUN-RIEUL;Lo;0;L;;;;;N;;;;;
+D7CC;HANGUL JONGSEONG NIEUN-CHIEUCH;Lo;0;L;;;;;N;;;;;
+D7CD;HANGUL JONGSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;;;;
+D7CE;HANGUL JONGSEONG SSANGTIKEUT-PIEUP;Lo;0;L;;;;;N;;;;;
+D7CF;HANGUL JONGSEONG TIKEUT-PIEUP;Lo;0;L;;;;;N;;;;;
+D7D0;HANGUL JONGSEONG TIKEUT-SIOS;Lo;0;L;;;;;N;;;;;
+D7D1;HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+D7D2;HANGUL JONGSEONG TIKEUT-CIEUC;Lo;0;L;;;;;N;;;;;
+D7D3;HANGUL JONGSEONG TIKEUT-CHIEUCH;Lo;0;L;;;;;N;;;;;
+D7D4;HANGUL JONGSEONG TIKEUT-THIEUTH;Lo;0;L;;;;;N;;;;;
+D7D5;HANGUL JONGSEONG RIEUL-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
+D7D6;HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH;Lo;0;L;;;;;N;;;;;
+D7D7;HANGUL JONGSEONG SSANGRIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
+D7D8;HANGUL JONGSEONG RIEUL-MIEUM-HIEUH;Lo;0;L;;;;;N;;;;;
+D7D9;HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
+D7DA;HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
+D7DB;HANGUL JONGSEONG RIEUL-YESIEUNG;Lo;0;L;;;;;N;;;;;
+D7DC;HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH;Lo;0;L;;;;;N;;;;;
+D7DD;HANGUL JONGSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;;
+D7DE;HANGUL JONGSEONG MIEUM-NIEUN;Lo;0;L;;;;;N;;;;;
+D7DF;HANGUL JONGSEONG MIEUM-SSANGNIEUN;Lo;0;L;;;;;N;;;;;
+D7E0;HANGUL JONGSEONG SSANGMIEUM;Lo;0;L;;;;;N;;;;;
+D7E1;HANGUL JONGSEONG MIEUM-PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
+D7E2;HANGUL JONGSEONG MIEUM-CIEUC;Lo;0;L;;;;;N;;;;;
+D7E3;HANGUL JONGSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
+D7E4;HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH;Lo;0;L;;;;;N;;;;;
+D7E5;HANGUL JONGSEONG PIEUP-MIEUM;Lo;0;L;;;;;N;;;;;
+D7E6;HANGUL JONGSEONG SSANGPIEUP;Lo;0;L;;;;;N;;;;;
+D7E7;HANGUL JONGSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+D7E8;HANGUL JONGSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;;
+D7E9;HANGUL JONGSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;;
+D7EA;HANGUL JONGSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;;
+D7EB;HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+D7EC;HANGUL JONGSEONG SSANGSIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+D7ED;HANGUL JONGSEONG SSANGSIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+D7EE;HANGUL JONGSEONG SIOS-PANSIOS;Lo;0;L;;;;;N;;;;;
+D7EF;HANGUL JONGSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
+D7F0;HANGUL JONGSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;;
+D7F1;HANGUL JONGSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
+D7F2;HANGUL JONGSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;;
+D7F3;HANGUL JONGSEONG PANSIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+D7F4;HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+D7F5;HANGUL JONGSEONG YESIEUNG-MIEUM;Lo;0;L;;;;;N;;;;;
+D7F6;HANGUL JONGSEONG YESIEUNG-HIEUH;Lo;0;L;;;;;N;;;;;
+D7F7;HANGUL JONGSEONG CIEUC-PIEUP;Lo;0;L;;;;;N;;;;;
+D7F8;HANGUL JONGSEONG CIEUC-SSANGPIEUP;Lo;0;L;;;;;N;;;;;
+D7F9;HANGUL JONGSEONG SSANGCIEUC;Lo;0;L;;;;;N;;;;;
+D7FA;HANGUL JONGSEONG PHIEUPH-SIOS;Lo;0;L;;;;;N;;;;;
+D7FB;HANGUL JONGSEONG PHIEUPH-THIEUTH;Lo;0;L;;;;;N;;;;;
+D800;<Non Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DB7F;<Non Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+DB80;<Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DBFF;<Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+DC00;<Low Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DFFF;<Low Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+E000;<Private Use, First>;Co;0;L;;;;;N;;;;;
+F8FF;<Private Use, Last>;Co;0;L;;;;;N;;;;;
F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;;
F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;;
F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;;
@@ -24520,11 +15164,11 @@ FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;;
FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;;
FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;;
FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;;
-FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;*;;;
+FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;;;;
FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;;
FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;;
FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;;
-FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;*;;;
+FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;;;;
FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;;
FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;;
FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;;
@@ -24535,6 +15179,8 @@ FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;;
FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;;
FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;;
FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;;
+FA2E;CJK COMPATIBILITY IDEOGRAPH-FA2E;Lo;0;L;90DE;;;;N;;;;;
+FA2F;CJK COMPATIBILITY IDEOGRAPH-FA2F;Lo;0;L;96B7;;;;N;;;;;
FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;;
FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;;
FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;;
@@ -24594,6 +15240,9 @@ FA67;CJK COMPATIBILITY IDEOGRAPH-FA67;Lo;0;L;9038;;;;N;;;;;
FA68;CJK COMPATIBILITY IDEOGRAPH-FA68;Lo;0;L;96E3;;;;N;;;;;
FA69;CJK COMPATIBILITY IDEOGRAPH-FA69;Lo;0;L;97FF;;;;N;;;;;
FA6A;CJK COMPATIBILITY IDEOGRAPH-FA6A;Lo;0;L;983B;;;;N;;;;;
+FA6B;CJK COMPATIBILITY IDEOGRAPH-FA6B;Lo;0;L;6075;;;;N;;;;;
+FA6C;CJK COMPATIBILITY IDEOGRAPH-FA6C;Lo;0;L;242EE;;;;N;;;;;
+FA6D;CJK COMPATIBILITY IDEOGRAPH-FA6D;Lo;0;L;8218;;;;N;;;;;
FA70;CJK COMPATIBILITY IDEOGRAPH-FA70;Lo;0;L;4E26;;;;N;;;;;
FA71;CJK COMPATIBILITY IDEOGRAPH-FA71;Lo;0;L;51B5;;;;N;;;;;
FA72;CJK COMPATIBILITY IDEOGRAPH-FA72;Lo;0;L;5168;;;;N;;;;;
@@ -24856,6 +15505,22 @@ FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL;<isolated> 06D2;;;;N;;;;;
FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL;<final> 06D2;;;;N;;;;;
FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06D3;;;;N;;;;;
FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 06D3;;;;N;;;;;
+FBB2;ARABIC SYMBOL DOT ABOVE;Sk;0;AL;;;;;N;;;;;
+FBB3;ARABIC SYMBOL DOT BELOW;Sk;0;AL;;;;;N;;;;;
+FBB4;ARABIC SYMBOL TWO DOTS ABOVE;Sk;0;AL;;;;;N;;;;;
+FBB5;ARABIC SYMBOL TWO DOTS BELOW;Sk;0;AL;;;;;N;;;;;
+FBB6;ARABIC SYMBOL THREE DOTS ABOVE;Sk;0;AL;;;;;N;;;;;
+FBB7;ARABIC SYMBOL THREE DOTS BELOW;Sk;0;AL;;;;;N;;;;;
+FBB8;ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE;Sk;0;AL;;;;;N;;;;;
+FBB9;ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW;Sk;0;AL;;;;;N;;;;;
+FBBA;ARABIC SYMBOL FOUR DOTS ABOVE;Sk;0;AL;;;;;N;;;;;
+FBBB;ARABIC SYMBOL FOUR DOTS BELOW;Sk;0;AL;;;;;N;;;;;
+FBBC;ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW;Sk;0;AL;;;;;N;;;;;
+FBBD;ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE;Sk;0;AL;;;;;N;;;;;
+FBBE;ARABIC SYMBOL TWO DOTS VERTICALLY BELOW;Sk;0;AL;;;;;N;;;;;
+FBBF;ARABIC SYMBOL RING;Sk;0;AL;;;;;N;;;;;
+FBC0;ARABIC SYMBOL SMALL TAH ABOVE;Sk;0;AL;;;;;N;;;;;
+FBC1;ARABIC SYMBOL SMALL TAH BELOW;Sk;0;AL;;;;;N;;;;;
FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL;<isolated> 06AD;;;;N;;;;;
FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL;<final> 06AD;;;;N;;;;;
FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL;<initial> 06AD;;;;N;;;;;
@@ -25219,8 +15884,8 @@ FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0637 0645;;;;N;;
FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0638 0645;;;;N;;;;;
FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL;<final> 0627 064B;;;;N;;;;;
FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0627 064B;;;;N;;;;;
-FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
-FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
+FD3E;ORNATE LEFT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
+FD3F;ORNATE RIGHT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C 0645;;;;N;;;;;
FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL;<final> 062A 062D 062C;;;;N;;;;;
FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 062C;;;;N;;;;;
@@ -25386,6 +16051,15 @@ FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
FE24;COMBINING MACRON LEFT HALF;Mn;230;NSM;;;;;N;;;;;
FE25;COMBINING MACRON RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
FE26;COMBINING CONJOINING MACRON;Mn;230;NSM;;;;;N;;;;;
+FE27;COMBINING LIGATURE LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE28;COMBINING LIGATURE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE29;COMBINING TILDE LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2A;COMBINING TILDE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2B;COMBINING MACRON LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2C;COMBINING MACRON RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2D;COMBINING CONJOINING MACRON BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2E;COMBINING CYRILLIC TITLO LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE2F;COMBINING CYRILLIC TITLO RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON;<vertical> 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;;
FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON;<vertical> 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;;
FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON;<vertical> 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;;
@@ -25679,8 +16353,8 @@ FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON;<wide> 007B;;;;Y;FULLWIDTH OPENING CUR
FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON;<wide> 007C;;;;N;FULLWIDTH VERTICAL BAR;;;;
FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON;<wide> 007D;;;;Y;FULLWIDTH CLOSING CURLY BRACKET;;;;
FF5E;FULLWIDTH TILDE;Sm;0;ON;<wide> 007E;;;;N;FULLWIDTH SPACING TILDE;;;;
-FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON;<wide> 2985;;;;Y;;*;;;
-FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON;<wide> 2986;;;;Y;;*;;;
+FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON;<wide> 2985;;;;Y;;;;;
+FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON;<wide> 2986;;;;Y;;;;;
FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON;<narrow> 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;;
FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON;<narrow> 300C;;;;Y;HALFWIDTH OPENING CORNER BRACKET;;;;
FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON;<narrow> 300D;;;;Y;HALFWIDTH CLOSING CORNER BRACKET;;;;
@@ -25742,8 +16416,8 @@ FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L;<narrow> 30EC;;;;N;;;;;
FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L;<narrow> 30ED;;;;N;;;;;
FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L;<narrow> 30EF;;;;N;;;;;
FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L;<narrow> 30F3;;;;N;;;;;
-FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;halfwidth katakana-hiragana voiced sound mark;;;
-FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;halfwidth katakana-hiragana semi-voiced sound mark;;;
+FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;;;;
+FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;;;;
FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L;<narrow> 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;;
FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L;<narrow> 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;;
FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L;<narrow> 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;;
@@ -25799,7 +16473,7 @@ FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;
FFE0;FULLWIDTH CENT SIGN;Sc;0;ET;<wide> 00A2;;;;N;;;;;
FFE1;FULLWIDTH POUND SIGN;Sc;0;ET;<wide> 00A3;;;;N;;;;;
FFE2;FULLWIDTH NOT SIGN;Sm;0;ON;<wide> 00AC;;;;N;;;;;
-FFE3;FULLWIDTH MACRON;Sk;0;ON;<wide> 00AF;;;;N;FULLWIDTH SPACING MACRON;*;;;
+FFE3;FULLWIDTH MACRON;Sk;0;ON;<wide> 00AF;;;;N;FULLWIDTH SPACING MACRON;;;;
FFE4;FULLWIDTH BROKEN BAR;So;0;ON;<wide> 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;;
FFE5;FULLWIDTH YEN SIGN;Sc;0;ET;<wide> 00A5;;;;N;;;;;
FFE6;FULLWIDTH WON SIGN;Sc;0;ET;<wide> 20A9;;;;N;;;;;
@@ -25976,9 +16650,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
100C6;LINEAR B IDEOGRAM B230 SPEAR;Lo;0;L;;;;;N;;;;;
100C7;LINEAR B IDEOGRAM B231 ARROW;Lo;0;L;;;;;N;;;;;
100C8;LINEAR B IDEOGRAM B232;Lo;0;L;;;;;N;;;;;
-100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;pug;;;
+100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;;;;
100CA;LINEAR B IDEOGRAM B234;Lo;0;L;;;;;N;;;;;
-100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;gup;;;
+100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;;;;
100CC;LINEAR B IDEOGRAM B240 WHEELED CHARIOT;Lo;0;L;;;;;N;;;;;
100CD;LINEAR B IDEOGRAM B241 CHARIOT;Lo;0;L;;;;;N;;;;;
100CE;LINEAR B IDEOGRAM B242 CHARIOT FRAME;Lo;0;L;;;;;N;;;;;
@@ -26028,7 +16702,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;;
10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;;
10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;;
-10102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;;
+10102;AEGEAN CHECK MARK;Po;0;L;;;;;N;;;;;
10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;;
10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;;
10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;;
@@ -26158,6 +16832,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10188;GREEK GRAMMA SIGN;So;0;ON;;;;;N;;;;;
10189;GREEK TRYBLION BASE SIGN;So;0;ON;;;;;N;;;;;
1018A;GREEK ZERO SIGN;No;0;ON;;;;0;N;;;;;
+1018B;GREEK ONE QUARTER SIGN;No;0;ON;;;;1/4;N;;;;;
+1018C;GREEK SINUSOID SIGN;So;0;ON;;;;;N;;;;;
10190;ROMAN SEXTANS SIGN;So;0;ON;;;;;N;;;;;
10191;ROMAN UNCIA SIGN;So;0;ON;;;;;N;;;;;
10192;ROMAN SEMUNCIA SIGN;So;0;ON;;;;;N;;;;;
@@ -26170,6 +16846,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10199;ROMAN DUPONDIUS SIGN;So;0;ON;;;;;N;;;;;
1019A;ROMAN AS SIGN;So;0;ON;;;;;N;;;;;
1019B;ROMAN CENTURIAL SIGN;So;0;ON;;;;;N;;;;;
+101A0;GREEK SYMBOL TAU RHO;So;0;ON;;;;;N;;;;;
101D0;PHAISTOS DISC SIGN PEDESTRIAN;So;0;L;;;;;N;;;;;
101D1;PHAISTOS DISC SIGN PLUMED HEAD;So;0;L;;;;;N;;;;;
101D2;PHAISTOS DISC SIGN TATTOOED HEAD;So;0;L;;;;;N;;;;;
@@ -26294,6 +16971,34 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
102CE;CARIAN LETTER LD2;Lo;0;L;;;;;N;;;;;
102CF;CARIAN LETTER E2;Lo;0;L;;;;;N;;;;;
102D0;CARIAN LETTER UUU3;Lo;0;L;;;;;N;;;;;
+102E0;COPTIC EPACT THOUSANDS MARK;Mn;220;NSM;;;;;N;;;;;
+102E1;COPTIC EPACT DIGIT ONE;No;0;EN;;;;1;N;;;;;
+102E2;COPTIC EPACT DIGIT TWO;No;0;EN;;;;2;N;;;;;
+102E3;COPTIC EPACT DIGIT THREE;No;0;EN;;;;3;N;;;;;
+102E4;COPTIC EPACT DIGIT FOUR;No;0;EN;;;;4;N;;;;;
+102E5;COPTIC EPACT DIGIT FIVE;No;0;EN;;;;5;N;;;;;
+102E6;COPTIC EPACT DIGIT SIX;No;0;EN;;;;6;N;;;;;
+102E7;COPTIC EPACT DIGIT SEVEN;No;0;EN;;;;7;N;;;;;
+102E8;COPTIC EPACT DIGIT EIGHT;No;0;EN;;;;8;N;;;;;
+102E9;COPTIC EPACT DIGIT NINE;No;0;EN;;;;9;N;;;;;
+102EA;COPTIC EPACT NUMBER TEN;No;0;EN;;;;10;N;;;;;
+102EB;COPTIC EPACT NUMBER TWENTY;No;0;EN;;;;20;N;;;;;
+102EC;COPTIC EPACT NUMBER THIRTY;No;0;EN;;;;30;N;;;;;
+102ED;COPTIC EPACT NUMBER FORTY;No;0;EN;;;;40;N;;;;;
+102EE;COPTIC EPACT NUMBER FIFTY;No;0;EN;;;;50;N;;;;;
+102EF;COPTIC EPACT NUMBER SIXTY;No;0;EN;;;;60;N;;;;;
+102F0;COPTIC EPACT NUMBER SEVENTY;No;0;EN;;;;70;N;;;;;
+102F1;COPTIC EPACT NUMBER EIGHTY;No;0;EN;;;;80;N;;;;;
+102F2;COPTIC EPACT NUMBER NINETY;No;0;EN;;;;90;N;;;;;
+102F3;COPTIC EPACT NUMBER ONE HUNDRED;No;0;EN;;;;100;N;;;;;
+102F4;COPTIC EPACT NUMBER TWO HUNDRED;No;0;EN;;;;200;N;;;;;
+102F5;COPTIC EPACT NUMBER THREE HUNDRED;No;0;EN;;;;300;N;;;;;
+102F6;COPTIC EPACT NUMBER FOUR HUNDRED;No;0;EN;;;;400;N;;;;;
+102F7;COPTIC EPACT NUMBER FIVE HUNDRED;No;0;EN;;;;500;N;;;;;
+102F8;COPTIC EPACT NUMBER SIX HUNDRED;No;0;EN;;;;600;N;;;;;
+102F9;COPTIC EPACT NUMBER SEVEN HUNDRED;No;0;EN;;;;700;N;;;;;
+102FA;COPTIC EPACT NUMBER EIGHT HUNDRED;No;0;EN;;;;800;N;;;;;
+102FB;COPTIC EPACT NUMBER NINE HUNDRED;No;0;EN;;;;900;N;;;;;
10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;;
10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;;
10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;;
@@ -26309,7 +17014,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1030C;OLD ITALIC LETTER EM;Lo;0;L;;;;;N;;;;;
1030D;OLD ITALIC LETTER EN;Lo;0;L;;;;;N;;;;;
1030E;OLD ITALIC LETTER ESH;Lo;0;L;;;;;N;;;;;
-1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;Faliscan;;;
+1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;;;;
10310;OLD ITALIC LETTER PE;Lo;0;L;;;;;N;;;;;
10311;OLD ITALIC LETTER SHE;Lo;0;L;;;;;N;;;;;
10312;OLD ITALIC LETTER KU;Lo;0;L;;;;;N;;;;;
@@ -26317,14 +17022,15 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10314;OLD ITALIC LETTER ES;Lo;0;L;;;;;N;;;;;
10315;OLD ITALIC LETTER TE;Lo;0;L;;;;;N;;;;;
10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;;;;
-10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;Faliscan;;;
+10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;;;;
10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;;
10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;;
1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;;
-1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;Umbrian;;;
-1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;Umbrian;;;
-1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;Oscan;;;
-1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;Oscan;;;
+1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;;;;
+1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;;;;
+1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;;;;
+1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;;;;
+1031F;OLD ITALIC LETTER ESS;Lo;0;L;;;;;N;;;;;
10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;;
10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;;
10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;;
@@ -26356,6 +17062,49 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;;
10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;;
1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;900;N;;;;;
+10350;OLD PERMIC LETTER AN;Lo;0;L;;;;;N;;;;;
+10351;OLD PERMIC LETTER BUR;Lo;0;L;;;;;N;;;;;
+10352;OLD PERMIC LETTER GAI;Lo;0;L;;;;;N;;;;;
+10353;OLD PERMIC LETTER DOI;Lo;0;L;;;;;N;;;;;
+10354;OLD PERMIC LETTER E;Lo;0;L;;;;;N;;;;;
+10355;OLD PERMIC LETTER ZHOI;Lo;0;L;;;;;N;;;;;
+10356;OLD PERMIC LETTER DZHOI;Lo;0;L;;;;;N;;;;;
+10357;OLD PERMIC LETTER ZATA;Lo;0;L;;;;;N;;;;;
+10358;OLD PERMIC LETTER DZITA;Lo;0;L;;;;;N;;;;;
+10359;OLD PERMIC LETTER I;Lo;0;L;;;;;N;;;;;
+1035A;OLD PERMIC LETTER KOKE;Lo;0;L;;;;;N;;;;;
+1035B;OLD PERMIC LETTER LEI;Lo;0;L;;;;;N;;;;;
+1035C;OLD PERMIC LETTER MENOE;Lo;0;L;;;;;N;;;;;
+1035D;OLD PERMIC LETTER NENOE;Lo;0;L;;;;;N;;;;;
+1035E;OLD PERMIC LETTER VOOI;Lo;0;L;;;;;N;;;;;
+1035F;OLD PERMIC LETTER PEEI;Lo;0;L;;;;;N;;;;;
+10360;OLD PERMIC LETTER REI;Lo;0;L;;;;;N;;;;;
+10361;OLD PERMIC LETTER SII;Lo;0;L;;;;;N;;;;;
+10362;OLD PERMIC LETTER TAI;Lo;0;L;;;;;N;;;;;
+10363;OLD PERMIC LETTER U;Lo;0;L;;;;;N;;;;;
+10364;OLD PERMIC LETTER CHERY;Lo;0;L;;;;;N;;;;;
+10365;OLD PERMIC LETTER SHOOI;Lo;0;L;;;;;N;;;;;
+10366;OLD PERMIC LETTER SHCHOOI;Lo;0;L;;;;;N;;;;;
+10367;OLD PERMIC LETTER YRY;Lo;0;L;;;;;N;;;;;
+10368;OLD PERMIC LETTER YERU;Lo;0;L;;;;;N;;;;;
+10369;OLD PERMIC LETTER O;Lo;0;L;;;;;N;;;;;
+1036A;OLD PERMIC LETTER OO;Lo;0;L;;;;;N;;;;;
+1036B;OLD PERMIC LETTER EF;Lo;0;L;;;;;N;;;;;
+1036C;OLD PERMIC LETTER HA;Lo;0;L;;;;;N;;;;;
+1036D;OLD PERMIC LETTER TSIU;Lo;0;L;;;;;N;;;;;
+1036E;OLD PERMIC LETTER VER;Lo;0;L;;;;;N;;;;;
+1036F;OLD PERMIC LETTER YER;Lo;0;L;;;;;N;;;;;
+10370;OLD PERMIC LETTER YERI;Lo;0;L;;;;;N;;;;;
+10371;OLD PERMIC LETTER YAT;Lo;0;L;;;;;N;;;;;
+10372;OLD PERMIC LETTER IE;Lo;0;L;;;;;N;;;;;
+10373;OLD PERMIC LETTER YU;Lo;0;L;;;;;N;;;;;
+10374;OLD PERMIC LETTER YA;Lo;0;L;;;;;N;;;;;
+10375;OLD PERMIC LETTER IA;Lo;0;L;;;;;N;;;;;
+10376;COMBINING OLD PERMIC LETTER AN;Mn;230;NSM;;;;;N;;;;;
+10377;COMBINING OLD PERMIC LETTER DOI;Mn;230;NSM;;;;;N;;;;;
+10378;COMBINING OLD PERMIC LETTER ZATA;Mn;230;NSM;;;;;N;;;;;
+10379;COMBINING OLD PERMIC LETTER NENOE;Mn;230;NSM;;;;;N;;;;;
+1037A;COMBINING OLD PERMIC LETTER SII;Mn;230;NSM;;;;;N;;;;;
10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;;
10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;;
10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;;
@@ -26605,6 +17354,440 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+10500;ELBASAN LETTER A;Lo;0;L;;;;;N;;;;;
+10501;ELBASAN LETTER BE;Lo;0;L;;;;;N;;;;;
+10502;ELBASAN LETTER CE;Lo;0;L;;;;;N;;;;;
+10503;ELBASAN LETTER CHE;Lo;0;L;;;;;N;;;;;
+10504;ELBASAN LETTER DE;Lo;0;L;;;;;N;;;;;
+10505;ELBASAN LETTER NDE;Lo;0;L;;;;;N;;;;;
+10506;ELBASAN LETTER DHE;Lo;0;L;;;;;N;;;;;
+10507;ELBASAN LETTER EI;Lo;0;L;;;;;N;;;;;
+10508;ELBASAN LETTER E;Lo;0;L;;;;;N;;;;;
+10509;ELBASAN LETTER FE;Lo;0;L;;;;;N;;;;;
+1050A;ELBASAN LETTER GE;Lo;0;L;;;;;N;;;;;
+1050B;ELBASAN LETTER GJE;Lo;0;L;;;;;N;;;;;
+1050C;ELBASAN LETTER HE;Lo;0;L;;;;;N;;;;;
+1050D;ELBASAN LETTER I;Lo;0;L;;;;;N;;;;;
+1050E;ELBASAN LETTER JE;Lo;0;L;;;;;N;;;;;
+1050F;ELBASAN LETTER KE;Lo;0;L;;;;;N;;;;;
+10510;ELBASAN LETTER LE;Lo;0;L;;;;;N;;;;;
+10511;ELBASAN LETTER LLE;Lo;0;L;;;;;N;;;;;
+10512;ELBASAN LETTER ME;Lo;0;L;;;;;N;;;;;
+10513;ELBASAN LETTER NE;Lo;0;L;;;;;N;;;;;
+10514;ELBASAN LETTER NA;Lo;0;L;;;;;N;;;;;
+10515;ELBASAN LETTER NJE;Lo;0;L;;;;;N;;;;;
+10516;ELBASAN LETTER O;Lo;0;L;;;;;N;;;;;
+10517;ELBASAN LETTER PE;Lo;0;L;;;;;N;;;;;
+10518;ELBASAN LETTER QE;Lo;0;L;;;;;N;;;;;
+10519;ELBASAN LETTER RE;Lo;0;L;;;;;N;;;;;
+1051A;ELBASAN LETTER RRE;Lo;0;L;;;;;N;;;;;
+1051B;ELBASAN LETTER SE;Lo;0;L;;;;;N;;;;;
+1051C;ELBASAN LETTER SHE;Lo;0;L;;;;;N;;;;;
+1051D;ELBASAN LETTER TE;Lo;0;L;;;;;N;;;;;
+1051E;ELBASAN LETTER THE;Lo;0;L;;;;;N;;;;;
+1051F;ELBASAN LETTER U;Lo;0;L;;;;;N;;;;;
+10520;ELBASAN LETTER VE;Lo;0;L;;;;;N;;;;;
+10521;ELBASAN LETTER XE;Lo;0;L;;;;;N;;;;;
+10522;ELBASAN LETTER Y;Lo;0;L;;;;;N;;;;;
+10523;ELBASAN LETTER ZE;Lo;0;L;;;;;N;;;;;
+10524;ELBASAN LETTER ZHE;Lo;0;L;;;;;N;;;;;
+10525;ELBASAN LETTER GHE;Lo;0;L;;;;;N;;;;;
+10526;ELBASAN LETTER GHAMMA;Lo;0;L;;;;;N;;;;;
+10527;ELBASAN LETTER KHE;Lo;0;L;;;;;N;;;;;
+10530;CAUCASIAN ALBANIAN LETTER ALT;Lo;0;L;;;;;N;;;;;
+10531;CAUCASIAN ALBANIAN LETTER BET;Lo;0;L;;;;;N;;;;;
+10532;CAUCASIAN ALBANIAN LETTER GIM;Lo;0;L;;;;;N;;;;;
+10533;CAUCASIAN ALBANIAN LETTER DAT;Lo;0;L;;;;;N;;;;;
+10534;CAUCASIAN ALBANIAN LETTER EB;Lo;0;L;;;;;N;;;;;
+10535;CAUCASIAN ALBANIAN LETTER ZARL;Lo;0;L;;;;;N;;;;;
+10536;CAUCASIAN ALBANIAN LETTER EYN;Lo;0;L;;;;;N;;;;;
+10537;CAUCASIAN ALBANIAN LETTER ZHIL;Lo;0;L;;;;;N;;;;;
+10538;CAUCASIAN ALBANIAN LETTER TAS;Lo;0;L;;;;;N;;;;;
+10539;CAUCASIAN ALBANIAN LETTER CHA;Lo;0;L;;;;;N;;;;;
+1053A;CAUCASIAN ALBANIAN LETTER YOWD;Lo;0;L;;;;;N;;;;;
+1053B;CAUCASIAN ALBANIAN LETTER ZHA;Lo;0;L;;;;;N;;;;;
+1053C;CAUCASIAN ALBANIAN LETTER IRB;Lo;0;L;;;;;N;;;;;
+1053D;CAUCASIAN ALBANIAN LETTER SHA;Lo;0;L;;;;;N;;;;;
+1053E;CAUCASIAN ALBANIAN LETTER LAN;Lo;0;L;;;;;N;;;;;
+1053F;CAUCASIAN ALBANIAN LETTER INYA;Lo;0;L;;;;;N;;;;;
+10540;CAUCASIAN ALBANIAN LETTER XEYN;Lo;0;L;;;;;N;;;;;
+10541;CAUCASIAN ALBANIAN LETTER DYAN;Lo;0;L;;;;;N;;;;;
+10542;CAUCASIAN ALBANIAN LETTER CAR;Lo;0;L;;;;;N;;;;;
+10543;CAUCASIAN ALBANIAN LETTER JHOX;Lo;0;L;;;;;N;;;;;
+10544;CAUCASIAN ALBANIAN LETTER KAR;Lo;0;L;;;;;N;;;;;
+10545;CAUCASIAN ALBANIAN LETTER LYIT;Lo;0;L;;;;;N;;;;;
+10546;CAUCASIAN ALBANIAN LETTER HEYT;Lo;0;L;;;;;N;;;;;
+10547;CAUCASIAN ALBANIAN LETTER QAY;Lo;0;L;;;;;N;;;;;
+10548;CAUCASIAN ALBANIAN LETTER AOR;Lo;0;L;;;;;N;;;;;
+10549;CAUCASIAN ALBANIAN LETTER CHOY;Lo;0;L;;;;;N;;;;;
+1054A;CAUCASIAN ALBANIAN LETTER CHI;Lo;0;L;;;;;N;;;;;
+1054B;CAUCASIAN ALBANIAN LETTER CYAY;Lo;0;L;;;;;N;;;;;
+1054C;CAUCASIAN ALBANIAN LETTER MAQ;Lo;0;L;;;;;N;;;;;
+1054D;CAUCASIAN ALBANIAN LETTER QAR;Lo;0;L;;;;;N;;;;;
+1054E;CAUCASIAN ALBANIAN LETTER NOWC;Lo;0;L;;;;;N;;;;;
+1054F;CAUCASIAN ALBANIAN LETTER DZYAY;Lo;0;L;;;;;N;;;;;
+10550;CAUCASIAN ALBANIAN LETTER SHAK;Lo;0;L;;;;;N;;;;;
+10551;CAUCASIAN ALBANIAN LETTER JAYN;Lo;0;L;;;;;N;;;;;
+10552;CAUCASIAN ALBANIAN LETTER ON;Lo;0;L;;;;;N;;;;;
+10553;CAUCASIAN ALBANIAN LETTER TYAY;Lo;0;L;;;;;N;;;;;
+10554;CAUCASIAN ALBANIAN LETTER FAM;Lo;0;L;;;;;N;;;;;
+10555;CAUCASIAN ALBANIAN LETTER DZAY;Lo;0;L;;;;;N;;;;;
+10556;CAUCASIAN ALBANIAN LETTER CHAT;Lo;0;L;;;;;N;;;;;
+10557;CAUCASIAN ALBANIAN LETTER PEN;Lo;0;L;;;;;N;;;;;
+10558;CAUCASIAN ALBANIAN LETTER GHEYS;Lo;0;L;;;;;N;;;;;
+10559;CAUCASIAN ALBANIAN LETTER RAT;Lo;0;L;;;;;N;;;;;
+1055A;CAUCASIAN ALBANIAN LETTER SEYK;Lo;0;L;;;;;N;;;;;
+1055B;CAUCASIAN ALBANIAN LETTER VEYZ;Lo;0;L;;;;;N;;;;;
+1055C;CAUCASIAN ALBANIAN LETTER TIWR;Lo;0;L;;;;;N;;;;;
+1055D;CAUCASIAN ALBANIAN LETTER SHOY;Lo;0;L;;;;;N;;;;;
+1055E;CAUCASIAN ALBANIAN LETTER IWN;Lo;0;L;;;;;N;;;;;
+1055F;CAUCASIAN ALBANIAN LETTER CYAW;Lo;0;L;;;;;N;;;;;
+10560;CAUCASIAN ALBANIAN LETTER CAYN;Lo;0;L;;;;;N;;;;;
+10561;CAUCASIAN ALBANIAN LETTER YAYD;Lo;0;L;;;;;N;;;;;
+10562;CAUCASIAN ALBANIAN LETTER PIWR;Lo;0;L;;;;;N;;;;;
+10563;CAUCASIAN ALBANIAN LETTER KIW;Lo;0;L;;;;;N;;;;;
+1056F;CAUCASIAN ALBANIAN CITATION MARK;Po;0;L;;;;;N;;;;;
+10600;LINEAR A SIGN AB001;Lo;0;L;;;;;N;;;;;
+10601;LINEAR A SIGN AB002;Lo;0;L;;;;;N;;;;;
+10602;LINEAR A SIGN AB003;Lo;0;L;;;;;N;;;;;
+10603;LINEAR A SIGN AB004;Lo;0;L;;;;;N;;;;;
+10604;LINEAR A SIGN AB005;Lo;0;L;;;;;N;;;;;
+10605;LINEAR A SIGN AB006;Lo;0;L;;;;;N;;;;;
+10606;LINEAR A SIGN AB007;Lo;0;L;;;;;N;;;;;
+10607;LINEAR A SIGN AB008;Lo;0;L;;;;;N;;;;;
+10608;LINEAR A SIGN AB009;Lo;0;L;;;;;N;;;;;
+10609;LINEAR A SIGN AB010;Lo;0;L;;;;;N;;;;;
+1060A;LINEAR A SIGN AB011;Lo;0;L;;;;;N;;;;;
+1060B;LINEAR A SIGN AB013;Lo;0;L;;;;;N;;;;;
+1060C;LINEAR A SIGN AB016;Lo;0;L;;;;;N;;;;;
+1060D;LINEAR A SIGN AB017;Lo;0;L;;;;;N;;;;;
+1060E;LINEAR A SIGN AB020;Lo;0;L;;;;;N;;;;;
+1060F;LINEAR A SIGN AB021;Lo;0;L;;;;;N;;;;;
+10610;LINEAR A SIGN AB021F;Lo;0;L;;;;;N;;;;;
+10611;LINEAR A SIGN AB021M;Lo;0;L;;;;;N;;;;;
+10612;LINEAR A SIGN AB022;Lo;0;L;;;;;N;;;;;
+10613;LINEAR A SIGN AB022F;Lo;0;L;;;;;N;;;;;
+10614;LINEAR A SIGN AB022M;Lo;0;L;;;;;N;;;;;
+10615;LINEAR A SIGN AB023;Lo;0;L;;;;;N;;;;;
+10616;LINEAR A SIGN AB023M;Lo;0;L;;;;;N;;;;;
+10617;LINEAR A SIGN AB024;Lo;0;L;;;;;N;;;;;
+10618;LINEAR A SIGN AB026;Lo;0;L;;;;;N;;;;;
+10619;LINEAR A SIGN AB027;Lo;0;L;;;;;N;;;;;
+1061A;LINEAR A SIGN AB028;Lo;0;L;;;;;N;;;;;
+1061B;LINEAR A SIGN A028B;Lo;0;L;;;;;N;;;;;
+1061C;LINEAR A SIGN AB029;Lo;0;L;;;;;N;;;;;
+1061D;LINEAR A SIGN AB030;Lo;0;L;;;;;N;;;;;
+1061E;LINEAR A SIGN AB031;Lo;0;L;;;;;N;;;;;
+1061F;LINEAR A SIGN AB034;Lo;0;L;;;;;N;;;;;
+10620;LINEAR A SIGN AB037;Lo;0;L;;;;;N;;;;;
+10621;LINEAR A SIGN AB038;Lo;0;L;;;;;N;;;;;
+10622;LINEAR A SIGN AB039;Lo;0;L;;;;;N;;;;;
+10623;LINEAR A SIGN AB040;Lo;0;L;;;;;N;;;;;
+10624;LINEAR A SIGN AB041;Lo;0;L;;;;;N;;;;;
+10625;LINEAR A SIGN AB044;Lo;0;L;;;;;N;;;;;
+10626;LINEAR A SIGN AB045;Lo;0;L;;;;;N;;;;;
+10627;LINEAR A SIGN AB046;Lo;0;L;;;;;N;;;;;
+10628;LINEAR A SIGN AB047;Lo;0;L;;;;;N;;;;;
+10629;LINEAR A SIGN AB048;Lo;0;L;;;;;N;;;;;
+1062A;LINEAR A SIGN AB049;Lo;0;L;;;;;N;;;;;
+1062B;LINEAR A SIGN AB050;Lo;0;L;;;;;N;;;;;
+1062C;LINEAR A SIGN AB051;Lo;0;L;;;;;N;;;;;
+1062D;LINEAR A SIGN AB053;Lo;0;L;;;;;N;;;;;
+1062E;LINEAR A SIGN AB054;Lo;0;L;;;;;N;;;;;
+1062F;LINEAR A SIGN AB055;Lo;0;L;;;;;N;;;;;
+10630;LINEAR A SIGN AB056;Lo;0;L;;;;;N;;;;;
+10631;LINEAR A SIGN AB057;Lo;0;L;;;;;N;;;;;
+10632;LINEAR A SIGN AB058;Lo;0;L;;;;;N;;;;;
+10633;LINEAR A SIGN AB059;Lo;0;L;;;;;N;;;;;
+10634;LINEAR A SIGN AB060;Lo;0;L;;;;;N;;;;;
+10635;LINEAR A SIGN AB061;Lo;0;L;;;;;N;;;;;
+10636;LINEAR A SIGN AB065;Lo;0;L;;;;;N;;;;;
+10637;LINEAR A SIGN AB066;Lo;0;L;;;;;N;;;;;
+10638;LINEAR A SIGN AB067;Lo;0;L;;;;;N;;;;;
+10639;LINEAR A SIGN AB069;Lo;0;L;;;;;N;;;;;
+1063A;LINEAR A SIGN AB070;Lo;0;L;;;;;N;;;;;
+1063B;LINEAR A SIGN AB073;Lo;0;L;;;;;N;;;;;
+1063C;LINEAR A SIGN AB074;Lo;0;L;;;;;N;;;;;
+1063D;LINEAR A SIGN AB076;Lo;0;L;;;;;N;;;;;
+1063E;LINEAR A SIGN AB077;Lo;0;L;;;;;N;;;;;
+1063F;LINEAR A SIGN AB078;Lo;0;L;;;;;N;;;;;
+10640;LINEAR A SIGN AB079;Lo;0;L;;;;;N;;;;;
+10641;LINEAR A SIGN AB080;Lo;0;L;;;;;N;;;;;
+10642;LINEAR A SIGN AB081;Lo;0;L;;;;;N;;;;;
+10643;LINEAR A SIGN AB082;Lo;0;L;;;;;N;;;;;
+10644;LINEAR A SIGN AB085;Lo;0;L;;;;;N;;;;;
+10645;LINEAR A SIGN AB086;Lo;0;L;;;;;N;;;;;
+10646;LINEAR A SIGN AB087;Lo;0;L;;;;;N;;;;;
+10647;LINEAR A SIGN A100-102;Lo;0;L;;;;;N;;;;;
+10648;LINEAR A SIGN AB118;Lo;0;L;;;;;N;;;;;
+10649;LINEAR A SIGN AB120;Lo;0;L;;;;;N;;;;;
+1064A;LINEAR A SIGN A120B;Lo;0;L;;;;;N;;;;;
+1064B;LINEAR A SIGN AB122;Lo;0;L;;;;;N;;;;;
+1064C;LINEAR A SIGN AB123;Lo;0;L;;;;;N;;;;;
+1064D;LINEAR A SIGN AB131A;Lo;0;L;;;;;N;;;;;
+1064E;LINEAR A SIGN AB131B;Lo;0;L;;;;;N;;;;;
+1064F;LINEAR A SIGN A131C;Lo;0;L;;;;;N;;;;;
+10650;LINEAR A SIGN AB164;Lo;0;L;;;;;N;;;;;
+10651;LINEAR A SIGN AB171;Lo;0;L;;;;;N;;;;;
+10652;LINEAR A SIGN AB180;Lo;0;L;;;;;N;;;;;
+10653;LINEAR A SIGN AB188;Lo;0;L;;;;;N;;;;;
+10654;LINEAR A SIGN AB191;Lo;0;L;;;;;N;;;;;
+10655;LINEAR A SIGN A301;Lo;0;L;;;;;N;;;;;
+10656;LINEAR A SIGN A302;Lo;0;L;;;;;N;;;;;
+10657;LINEAR A SIGN A303;Lo;0;L;;;;;N;;;;;
+10658;LINEAR A SIGN A304;Lo;0;L;;;;;N;;;;;
+10659;LINEAR A SIGN A305;Lo;0;L;;;;;N;;;;;
+1065A;LINEAR A SIGN A306;Lo;0;L;;;;;N;;;;;
+1065B;LINEAR A SIGN A307;Lo;0;L;;;;;N;;;;;
+1065C;LINEAR A SIGN A308;Lo;0;L;;;;;N;;;;;
+1065D;LINEAR A SIGN A309A;Lo;0;L;;;;;N;;;;;
+1065E;LINEAR A SIGN A309B;Lo;0;L;;;;;N;;;;;
+1065F;LINEAR A SIGN A309C;Lo;0;L;;;;;N;;;;;
+10660;LINEAR A SIGN A310;Lo;0;L;;;;;N;;;;;
+10661;LINEAR A SIGN A311;Lo;0;L;;;;;N;;;;;
+10662;LINEAR A SIGN A312;Lo;0;L;;;;;N;;;;;
+10663;LINEAR A SIGN A313A;Lo;0;L;;;;;N;;;;;
+10664;LINEAR A SIGN A313B;Lo;0;L;;;;;N;;;;;
+10665;LINEAR A SIGN A313C;Lo;0;L;;;;;N;;;;;
+10666;LINEAR A SIGN A314;Lo;0;L;;;;;N;;;;;
+10667;LINEAR A SIGN A315;Lo;0;L;;;;;N;;;;;
+10668;LINEAR A SIGN A316;Lo;0;L;;;;;N;;;;;
+10669;LINEAR A SIGN A317;Lo;0;L;;;;;N;;;;;
+1066A;LINEAR A SIGN A318;Lo;0;L;;;;;N;;;;;
+1066B;LINEAR A SIGN A319;Lo;0;L;;;;;N;;;;;
+1066C;LINEAR A SIGN A320;Lo;0;L;;;;;N;;;;;
+1066D;LINEAR A SIGN A321;Lo;0;L;;;;;N;;;;;
+1066E;LINEAR A SIGN A322;Lo;0;L;;;;;N;;;;;
+1066F;LINEAR A SIGN A323;Lo;0;L;;;;;N;;;;;
+10670;LINEAR A SIGN A324;Lo;0;L;;;;;N;;;;;
+10671;LINEAR A SIGN A325;Lo;0;L;;;;;N;;;;;
+10672;LINEAR A SIGN A326;Lo;0;L;;;;;N;;;;;
+10673;LINEAR A SIGN A327;Lo;0;L;;;;;N;;;;;
+10674;LINEAR A SIGN A328;Lo;0;L;;;;;N;;;;;
+10675;LINEAR A SIGN A329;Lo;0;L;;;;;N;;;;;
+10676;LINEAR A SIGN A330;Lo;0;L;;;;;N;;;;;
+10677;LINEAR A SIGN A331;Lo;0;L;;;;;N;;;;;
+10678;LINEAR A SIGN A332;Lo;0;L;;;;;N;;;;;
+10679;LINEAR A SIGN A333;Lo;0;L;;;;;N;;;;;
+1067A;LINEAR A SIGN A334;Lo;0;L;;;;;N;;;;;
+1067B;LINEAR A SIGN A335;Lo;0;L;;;;;N;;;;;
+1067C;LINEAR A SIGN A336;Lo;0;L;;;;;N;;;;;
+1067D;LINEAR A SIGN A337;Lo;0;L;;;;;N;;;;;
+1067E;LINEAR A SIGN A338;Lo;0;L;;;;;N;;;;;
+1067F;LINEAR A SIGN A339;Lo;0;L;;;;;N;;;;;
+10680;LINEAR A SIGN A340;Lo;0;L;;;;;N;;;;;
+10681;LINEAR A SIGN A341;Lo;0;L;;;;;N;;;;;
+10682;LINEAR A SIGN A342;Lo;0;L;;;;;N;;;;;
+10683;LINEAR A SIGN A343;Lo;0;L;;;;;N;;;;;
+10684;LINEAR A SIGN A344;Lo;0;L;;;;;N;;;;;
+10685;LINEAR A SIGN A345;Lo;0;L;;;;;N;;;;;
+10686;LINEAR A SIGN A346;Lo;0;L;;;;;N;;;;;
+10687;LINEAR A SIGN A347;Lo;0;L;;;;;N;;;;;
+10688;LINEAR A SIGN A348;Lo;0;L;;;;;N;;;;;
+10689;LINEAR A SIGN A349;Lo;0;L;;;;;N;;;;;
+1068A;LINEAR A SIGN A350;Lo;0;L;;;;;N;;;;;
+1068B;LINEAR A SIGN A351;Lo;0;L;;;;;N;;;;;
+1068C;LINEAR A SIGN A352;Lo;0;L;;;;;N;;;;;
+1068D;LINEAR A SIGN A353;Lo;0;L;;;;;N;;;;;
+1068E;LINEAR A SIGN A354;Lo;0;L;;;;;N;;;;;
+1068F;LINEAR A SIGN A355;Lo;0;L;;;;;N;;;;;
+10690;LINEAR A SIGN A356;Lo;0;L;;;;;N;;;;;
+10691;LINEAR A SIGN A357;Lo;0;L;;;;;N;;;;;
+10692;LINEAR A SIGN A358;Lo;0;L;;;;;N;;;;;
+10693;LINEAR A SIGN A359;Lo;0;L;;;;;N;;;;;
+10694;LINEAR A SIGN A360;Lo;0;L;;;;;N;;;;;
+10695;LINEAR A SIGN A361;Lo;0;L;;;;;N;;;;;
+10696;LINEAR A SIGN A362;Lo;0;L;;;;;N;;;;;
+10697;LINEAR A SIGN A363;Lo;0;L;;;;;N;;;;;
+10698;LINEAR A SIGN A364;Lo;0;L;;;;;N;;;;;
+10699;LINEAR A SIGN A365;Lo;0;L;;;;;N;;;;;
+1069A;LINEAR A SIGN A366;Lo;0;L;;;;;N;;;;;
+1069B;LINEAR A SIGN A367;Lo;0;L;;;;;N;;;;;
+1069C;LINEAR A SIGN A368;Lo;0;L;;;;;N;;;;;
+1069D;LINEAR A SIGN A369;Lo;0;L;;;;;N;;;;;
+1069E;LINEAR A SIGN A370;Lo;0;L;;;;;N;;;;;
+1069F;LINEAR A SIGN A371;Lo;0;L;;;;;N;;;;;
+106A0;LINEAR A SIGN A400-VAS;Lo;0;L;;;;;N;;;;;
+106A1;LINEAR A SIGN A401-VAS;Lo;0;L;;;;;N;;;;;
+106A2;LINEAR A SIGN A402-VAS;Lo;0;L;;;;;N;;;;;
+106A3;LINEAR A SIGN A403-VAS;Lo;0;L;;;;;N;;;;;
+106A4;LINEAR A SIGN A404-VAS;Lo;0;L;;;;;N;;;;;
+106A5;LINEAR A SIGN A405-VAS;Lo;0;L;;;;;N;;;;;
+106A6;LINEAR A SIGN A406-VAS;Lo;0;L;;;;;N;;;;;
+106A7;LINEAR A SIGN A407-VAS;Lo;0;L;;;;;N;;;;;
+106A8;LINEAR A SIGN A408-VAS;Lo;0;L;;;;;N;;;;;
+106A9;LINEAR A SIGN A409-VAS;Lo;0;L;;;;;N;;;;;
+106AA;LINEAR A SIGN A410-VAS;Lo;0;L;;;;;N;;;;;
+106AB;LINEAR A SIGN A411-VAS;Lo;0;L;;;;;N;;;;;
+106AC;LINEAR A SIGN A412-VAS;Lo;0;L;;;;;N;;;;;
+106AD;LINEAR A SIGN A413-VAS;Lo;0;L;;;;;N;;;;;
+106AE;LINEAR A SIGN A414-VAS;Lo;0;L;;;;;N;;;;;
+106AF;LINEAR A SIGN A415-VAS;Lo;0;L;;;;;N;;;;;
+106B0;LINEAR A SIGN A416-VAS;Lo;0;L;;;;;N;;;;;
+106B1;LINEAR A SIGN A417-VAS;Lo;0;L;;;;;N;;;;;
+106B2;LINEAR A SIGN A418-VAS;Lo;0;L;;;;;N;;;;;
+106B3;LINEAR A SIGN A501;Lo;0;L;;;;;N;;;;;
+106B4;LINEAR A SIGN A502;Lo;0;L;;;;;N;;;;;
+106B5;LINEAR A SIGN A503;Lo;0;L;;;;;N;;;;;
+106B6;LINEAR A SIGN A504;Lo;0;L;;;;;N;;;;;
+106B7;LINEAR A SIGN A505;Lo;0;L;;;;;N;;;;;
+106B8;LINEAR A SIGN A506;Lo;0;L;;;;;N;;;;;
+106B9;LINEAR A SIGN A508;Lo;0;L;;;;;N;;;;;
+106BA;LINEAR A SIGN A509;Lo;0;L;;;;;N;;;;;
+106BB;LINEAR A SIGN A510;Lo;0;L;;;;;N;;;;;
+106BC;LINEAR A SIGN A511;Lo;0;L;;;;;N;;;;;
+106BD;LINEAR A SIGN A512;Lo;0;L;;;;;N;;;;;
+106BE;LINEAR A SIGN A513;Lo;0;L;;;;;N;;;;;
+106BF;LINEAR A SIGN A515;Lo;0;L;;;;;N;;;;;
+106C0;LINEAR A SIGN A516;Lo;0;L;;;;;N;;;;;
+106C1;LINEAR A SIGN A520;Lo;0;L;;;;;N;;;;;
+106C2;LINEAR A SIGN A521;Lo;0;L;;;;;N;;;;;
+106C3;LINEAR A SIGN A523;Lo;0;L;;;;;N;;;;;
+106C4;LINEAR A SIGN A524;Lo;0;L;;;;;N;;;;;
+106C5;LINEAR A SIGN A525;Lo;0;L;;;;;N;;;;;
+106C6;LINEAR A SIGN A526;Lo;0;L;;;;;N;;;;;
+106C7;LINEAR A SIGN A527;Lo;0;L;;;;;N;;;;;
+106C8;LINEAR A SIGN A528;Lo;0;L;;;;;N;;;;;
+106C9;LINEAR A SIGN A529;Lo;0;L;;;;;N;;;;;
+106CA;LINEAR A SIGN A530;Lo;0;L;;;;;N;;;;;
+106CB;LINEAR A SIGN A531;Lo;0;L;;;;;N;;;;;
+106CC;LINEAR A SIGN A532;Lo;0;L;;;;;N;;;;;
+106CD;LINEAR A SIGN A534;Lo;0;L;;;;;N;;;;;
+106CE;LINEAR A SIGN A535;Lo;0;L;;;;;N;;;;;
+106CF;LINEAR A SIGN A536;Lo;0;L;;;;;N;;;;;
+106D0;LINEAR A SIGN A537;Lo;0;L;;;;;N;;;;;
+106D1;LINEAR A SIGN A538;Lo;0;L;;;;;N;;;;;
+106D2;LINEAR A SIGN A539;Lo;0;L;;;;;N;;;;;
+106D3;LINEAR A SIGN A540;Lo;0;L;;;;;N;;;;;
+106D4;LINEAR A SIGN A541;Lo;0;L;;;;;N;;;;;
+106D5;LINEAR A SIGN A542;Lo;0;L;;;;;N;;;;;
+106D6;LINEAR A SIGN A545;Lo;0;L;;;;;N;;;;;
+106D7;LINEAR A SIGN A547;Lo;0;L;;;;;N;;;;;
+106D8;LINEAR A SIGN A548;Lo;0;L;;;;;N;;;;;
+106D9;LINEAR A SIGN A549;Lo;0;L;;;;;N;;;;;
+106DA;LINEAR A SIGN A550;Lo;0;L;;;;;N;;;;;
+106DB;LINEAR A SIGN A551;Lo;0;L;;;;;N;;;;;
+106DC;LINEAR A SIGN A552;Lo;0;L;;;;;N;;;;;
+106DD;LINEAR A SIGN A553;Lo;0;L;;;;;N;;;;;
+106DE;LINEAR A SIGN A554;Lo;0;L;;;;;N;;;;;
+106DF;LINEAR A SIGN A555;Lo;0;L;;;;;N;;;;;
+106E0;LINEAR A SIGN A556;Lo;0;L;;;;;N;;;;;
+106E1;LINEAR A SIGN A557;Lo;0;L;;;;;N;;;;;
+106E2;LINEAR A SIGN A559;Lo;0;L;;;;;N;;;;;
+106E3;LINEAR A SIGN A563;Lo;0;L;;;;;N;;;;;
+106E4;LINEAR A SIGN A564;Lo;0;L;;;;;N;;;;;
+106E5;LINEAR A SIGN A565;Lo;0;L;;;;;N;;;;;
+106E6;LINEAR A SIGN A566;Lo;0;L;;;;;N;;;;;
+106E7;LINEAR A SIGN A568;Lo;0;L;;;;;N;;;;;
+106E8;LINEAR A SIGN A569;Lo;0;L;;;;;N;;;;;
+106E9;LINEAR A SIGN A570;Lo;0;L;;;;;N;;;;;
+106EA;LINEAR A SIGN A571;Lo;0;L;;;;;N;;;;;
+106EB;LINEAR A SIGN A572;Lo;0;L;;;;;N;;;;;
+106EC;LINEAR A SIGN A573;Lo;0;L;;;;;N;;;;;
+106ED;LINEAR A SIGN A574;Lo;0;L;;;;;N;;;;;
+106EE;LINEAR A SIGN A575;Lo;0;L;;;;;N;;;;;
+106EF;LINEAR A SIGN A576;Lo;0;L;;;;;N;;;;;
+106F0;LINEAR A SIGN A577;Lo;0;L;;;;;N;;;;;
+106F1;LINEAR A SIGN A578;Lo;0;L;;;;;N;;;;;
+106F2;LINEAR A SIGN A579;Lo;0;L;;;;;N;;;;;
+106F3;LINEAR A SIGN A580;Lo;0;L;;;;;N;;;;;
+106F4;LINEAR A SIGN A581;Lo;0;L;;;;;N;;;;;
+106F5;LINEAR A SIGN A582;Lo;0;L;;;;;N;;;;;
+106F6;LINEAR A SIGN A583;Lo;0;L;;;;;N;;;;;
+106F7;LINEAR A SIGN A584;Lo;0;L;;;;;N;;;;;
+106F8;LINEAR A SIGN A585;Lo;0;L;;;;;N;;;;;
+106F9;LINEAR A SIGN A586;Lo;0;L;;;;;N;;;;;
+106FA;LINEAR A SIGN A587;Lo;0;L;;;;;N;;;;;
+106FB;LINEAR A SIGN A588;Lo;0;L;;;;;N;;;;;
+106FC;LINEAR A SIGN A589;Lo;0;L;;;;;N;;;;;
+106FD;LINEAR A SIGN A591;Lo;0;L;;;;;N;;;;;
+106FE;LINEAR A SIGN A592;Lo;0;L;;;;;N;;;;;
+106FF;LINEAR A SIGN A594;Lo;0;L;;;;;N;;;;;
+10700;LINEAR A SIGN A595;Lo;0;L;;;;;N;;;;;
+10701;LINEAR A SIGN A596;Lo;0;L;;;;;N;;;;;
+10702;LINEAR A SIGN A598;Lo;0;L;;;;;N;;;;;
+10703;LINEAR A SIGN A600;Lo;0;L;;;;;N;;;;;
+10704;LINEAR A SIGN A601;Lo;0;L;;;;;N;;;;;
+10705;LINEAR A SIGN A602;Lo;0;L;;;;;N;;;;;
+10706;LINEAR A SIGN A603;Lo;0;L;;;;;N;;;;;
+10707;LINEAR A SIGN A604;Lo;0;L;;;;;N;;;;;
+10708;LINEAR A SIGN A606;Lo;0;L;;;;;N;;;;;
+10709;LINEAR A SIGN A608;Lo;0;L;;;;;N;;;;;
+1070A;LINEAR A SIGN A609;Lo;0;L;;;;;N;;;;;
+1070B;LINEAR A SIGN A610;Lo;0;L;;;;;N;;;;;
+1070C;LINEAR A SIGN A611;Lo;0;L;;;;;N;;;;;
+1070D;LINEAR A SIGN A612;Lo;0;L;;;;;N;;;;;
+1070E;LINEAR A SIGN A613;Lo;0;L;;;;;N;;;;;
+1070F;LINEAR A SIGN A614;Lo;0;L;;;;;N;;;;;
+10710;LINEAR A SIGN A615;Lo;0;L;;;;;N;;;;;
+10711;LINEAR A SIGN A616;Lo;0;L;;;;;N;;;;;
+10712;LINEAR A SIGN A617;Lo;0;L;;;;;N;;;;;
+10713;LINEAR A SIGN A618;Lo;0;L;;;;;N;;;;;
+10714;LINEAR A SIGN A619;Lo;0;L;;;;;N;;;;;
+10715;LINEAR A SIGN A620;Lo;0;L;;;;;N;;;;;
+10716;LINEAR A SIGN A621;Lo;0;L;;;;;N;;;;;
+10717;LINEAR A SIGN A622;Lo;0;L;;;;;N;;;;;
+10718;LINEAR A SIGN A623;Lo;0;L;;;;;N;;;;;
+10719;LINEAR A SIGN A624;Lo;0;L;;;;;N;;;;;
+1071A;LINEAR A SIGN A626;Lo;0;L;;;;;N;;;;;
+1071B;LINEAR A SIGN A627;Lo;0;L;;;;;N;;;;;
+1071C;LINEAR A SIGN A628;Lo;0;L;;;;;N;;;;;
+1071D;LINEAR A SIGN A629;Lo;0;L;;;;;N;;;;;
+1071E;LINEAR A SIGN A634;Lo;0;L;;;;;N;;;;;
+1071F;LINEAR A SIGN A637;Lo;0;L;;;;;N;;;;;
+10720;LINEAR A SIGN A638;Lo;0;L;;;;;N;;;;;
+10721;LINEAR A SIGN A640;Lo;0;L;;;;;N;;;;;
+10722;LINEAR A SIGN A642;Lo;0;L;;;;;N;;;;;
+10723;LINEAR A SIGN A643;Lo;0;L;;;;;N;;;;;
+10724;LINEAR A SIGN A644;Lo;0;L;;;;;N;;;;;
+10725;LINEAR A SIGN A645;Lo;0;L;;;;;N;;;;;
+10726;LINEAR A SIGN A646;Lo;0;L;;;;;N;;;;;
+10727;LINEAR A SIGN A648;Lo;0;L;;;;;N;;;;;
+10728;LINEAR A SIGN A649;Lo;0;L;;;;;N;;;;;
+10729;LINEAR A SIGN A651;Lo;0;L;;;;;N;;;;;
+1072A;LINEAR A SIGN A652;Lo;0;L;;;;;N;;;;;
+1072B;LINEAR A SIGN A653;Lo;0;L;;;;;N;;;;;
+1072C;LINEAR A SIGN A654;Lo;0;L;;;;;N;;;;;
+1072D;LINEAR A SIGN A655;Lo;0;L;;;;;N;;;;;
+1072E;LINEAR A SIGN A656;Lo;0;L;;;;;N;;;;;
+1072F;LINEAR A SIGN A657;Lo;0;L;;;;;N;;;;;
+10730;LINEAR A SIGN A658;Lo;0;L;;;;;N;;;;;
+10731;LINEAR A SIGN A659;Lo;0;L;;;;;N;;;;;
+10732;LINEAR A SIGN A660;Lo;0;L;;;;;N;;;;;
+10733;LINEAR A SIGN A661;Lo;0;L;;;;;N;;;;;
+10734;LINEAR A SIGN A662;Lo;0;L;;;;;N;;;;;
+10735;LINEAR A SIGN A663;Lo;0;L;;;;;N;;;;;
+10736;LINEAR A SIGN A664;Lo;0;L;;;;;N;;;;;
+10740;LINEAR A SIGN A701 A;Lo;0;L;;;;;N;;;;;
+10741;LINEAR A SIGN A702 B;Lo;0;L;;;;;N;;;;;
+10742;LINEAR A SIGN A703 D;Lo;0;L;;;;;N;;;;;
+10743;LINEAR A SIGN A704 E;Lo;0;L;;;;;N;;;;;
+10744;LINEAR A SIGN A705 F;Lo;0;L;;;;;N;;;;;
+10745;LINEAR A SIGN A706 H;Lo;0;L;;;;;N;;;;;
+10746;LINEAR A SIGN A707 J;Lo;0;L;;;;;N;;;;;
+10747;LINEAR A SIGN A708 K;Lo;0;L;;;;;N;;;;;
+10748;LINEAR A SIGN A709 L;Lo;0;L;;;;;N;;;;;
+10749;LINEAR A SIGN A709-2 L2;Lo;0;L;;;;;N;;;;;
+1074A;LINEAR A SIGN A709-3 L3;Lo;0;L;;;;;N;;;;;
+1074B;LINEAR A SIGN A709-4 L4;Lo;0;L;;;;;N;;;;;
+1074C;LINEAR A SIGN A709-6 L6;Lo;0;L;;;;;N;;;;;
+1074D;LINEAR A SIGN A710 W;Lo;0;L;;;;;N;;;;;
+1074E;LINEAR A SIGN A711 X;Lo;0;L;;;;;N;;;;;
+1074F;LINEAR A SIGN A712 Y;Lo;0;L;;;;;N;;;;;
+10750;LINEAR A SIGN A713 OMEGA;Lo;0;L;;;;;N;;;;;
+10751;LINEAR A SIGN A714 ABB;Lo;0;L;;;;;N;;;;;
+10752;LINEAR A SIGN A715 BB;Lo;0;L;;;;;N;;;;;
+10753;LINEAR A SIGN A717 DD;Lo;0;L;;;;;N;;;;;
+10754;LINEAR A SIGN A726 EYYY;Lo;0;L;;;;;N;;;;;
+10755;LINEAR A SIGN A732 JE;Lo;0;L;;;;;N;;;;;
+10760;LINEAR A SIGN A800;Lo;0;L;;;;;N;;;;;
+10761;LINEAR A SIGN A801;Lo;0;L;;;;;N;;;;;
+10762;LINEAR A SIGN A802;Lo;0;L;;;;;N;;;;;
+10763;LINEAR A SIGN A803;Lo;0;L;;;;;N;;;;;
+10764;LINEAR A SIGN A804;Lo;0;L;;;;;N;;;;;
+10765;LINEAR A SIGN A805;Lo;0;L;;;;;N;;;;;
+10766;LINEAR A SIGN A806;Lo;0;L;;;;;N;;;;;
+10767;LINEAR A SIGN A807;Lo;0;L;;;;;N;;;;;
10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;;
10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;;
10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;;
@@ -26660,6 +17843,135 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10838;CYPRIOT SYLLABLE XE;Lo;0;R;;;;;N;;;;;
1083C;CYPRIOT SYLLABLE ZA;Lo;0;R;;;;;N;;;;;
1083F;CYPRIOT SYLLABLE ZO;Lo;0;R;;;;;N;;;;;
+10840;IMPERIAL ARAMAIC LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10841;IMPERIAL ARAMAIC LETTER BETH;Lo;0;R;;;;;N;;;;;
+10842;IMPERIAL ARAMAIC LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10843;IMPERIAL ARAMAIC LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10844;IMPERIAL ARAMAIC LETTER HE;Lo;0;R;;;;;N;;;;;
+10845;IMPERIAL ARAMAIC LETTER WAW;Lo;0;R;;;;;N;;;;;
+10846;IMPERIAL ARAMAIC LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10847;IMPERIAL ARAMAIC LETTER HETH;Lo;0;R;;;;;N;;;;;
+10848;IMPERIAL ARAMAIC LETTER TETH;Lo;0;R;;;;;N;;;;;
+10849;IMPERIAL ARAMAIC LETTER YODH;Lo;0;R;;;;;N;;;;;
+1084A;IMPERIAL ARAMAIC LETTER KAPH;Lo;0;R;;;;;N;;;;;
+1084B;IMPERIAL ARAMAIC LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+1084C;IMPERIAL ARAMAIC LETTER MEM;Lo;0;R;;;;;N;;;;;
+1084D;IMPERIAL ARAMAIC LETTER NUN;Lo;0;R;;;;;N;;;;;
+1084E;IMPERIAL ARAMAIC LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+1084F;IMPERIAL ARAMAIC LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10850;IMPERIAL ARAMAIC LETTER PE;Lo;0;R;;;;;N;;;;;
+10851;IMPERIAL ARAMAIC LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10852;IMPERIAL ARAMAIC LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10853;IMPERIAL ARAMAIC LETTER RESH;Lo;0;R;;;;;N;;;;;
+10854;IMPERIAL ARAMAIC LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10855;IMPERIAL ARAMAIC LETTER TAW;Lo;0;R;;;;;N;;;;;
+10857;IMPERIAL ARAMAIC SECTION SIGN;Po;0;R;;;;;N;;;;;
+10858;IMPERIAL ARAMAIC NUMBER ONE;No;0;R;;;;1;N;;;;;
+10859;IMPERIAL ARAMAIC NUMBER TWO;No;0;R;;;;2;N;;;;;
+1085A;IMPERIAL ARAMAIC NUMBER THREE;No;0;R;;;;3;N;;;;;
+1085B;IMPERIAL ARAMAIC NUMBER TEN;No;0;R;;;;10;N;;;;;
+1085C;IMPERIAL ARAMAIC NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+1085D;IMPERIAL ARAMAIC NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+1085E;IMPERIAL ARAMAIC NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+1085F;IMPERIAL ARAMAIC NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;;
+10860;PALMYRENE LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10861;PALMYRENE LETTER BETH;Lo;0;R;;;;;N;;;;;
+10862;PALMYRENE LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10863;PALMYRENE LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10864;PALMYRENE LETTER HE;Lo;0;R;;;;;N;;;;;
+10865;PALMYRENE LETTER WAW;Lo;0;R;;;;;N;;;;;
+10866;PALMYRENE LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10867;PALMYRENE LETTER HETH;Lo;0;R;;;;;N;;;;;
+10868;PALMYRENE LETTER TETH;Lo;0;R;;;;;N;;;;;
+10869;PALMYRENE LETTER YODH;Lo;0;R;;;;;N;;;;;
+1086A;PALMYRENE LETTER KAPH;Lo;0;R;;;;;N;;;;;
+1086B;PALMYRENE LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+1086C;PALMYRENE LETTER MEM;Lo;0;R;;;;;N;;;;;
+1086D;PALMYRENE LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+1086E;PALMYRENE LETTER NUN;Lo;0;R;;;;;N;;;;;
+1086F;PALMYRENE LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10870;PALMYRENE LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10871;PALMYRENE LETTER PE;Lo;0;R;;;;;N;;;;;
+10872;PALMYRENE LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10873;PALMYRENE LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10874;PALMYRENE LETTER RESH;Lo;0;R;;;;;N;;;;;
+10875;PALMYRENE LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10876;PALMYRENE LETTER TAW;Lo;0;R;;;;;N;;;;;
+10877;PALMYRENE LEFT-POINTING FLEURON;So;0;R;;;;;N;;;;;
+10878;PALMYRENE RIGHT-POINTING FLEURON;So;0;R;;;;;N;;;;;
+10879;PALMYRENE NUMBER ONE;No;0;R;;;;1;N;;;;;
+1087A;PALMYRENE NUMBER TWO;No;0;R;;;;2;N;;;;;
+1087B;PALMYRENE NUMBER THREE;No;0;R;;;;3;N;;;;;
+1087C;PALMYRENE NUMBER FOUR;No;0;R;;;;4;N;;;;;
+1087D;PALMYRENE NUMBER FIVE;No;0;R;;;;5;N;;;;;
+1087E;PALMYRENE NUMBER TEN;No;0;R;;;;10;N;;;;;
+1087F;PALMYRENE NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10880;NABATAEAN LETTER FINAL ALEPH;Lo;0;R;;;;;N;;;;;
+10881;NABATAEAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10882;NABATAEAN LETTER FINAL BETH;Lo;0;R;;;;;N;;;;;
+10883;NABATAEAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10884;NABATAEAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10885;NABATAEAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10886;NABATAEAN LETTER FINAL HE;Lo;0;R;;;;;N;;;;;
+10887;NABATAEAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10888;NABATAEAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10889;NABATAEAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+1088A;NABATAEAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+1088B;NABATAEAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+1088C;NABATAEAN LETTER FINAL YODH;Lo;0;R;;;;;N;;;;;
+1088D;NABATAEAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+1088E;NABATAEAN LETTER FINAL KAPH;Lo;0;R;;;;;N;;;;;
+1088F;NABATAEAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10890;NABATAEAN LETTER FINAL LAMEDH;Lo;0;R;;;;;N;;;;;
+10891;NABATAEAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10892;NABATAEAN LETTER FINAL MEM;Lo;0;R;;;;;N;;;;;
+10893;NABATAEAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10894;NABATAEAN LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+10895;NABATAEAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10896;NABATAEAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10897;NABATAEAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10898;NABATAEAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10899;NABATAEAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+1089A;NABATAEAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+1089B;NABATAEAN LETTER RESH;Lo;0;R;;;;;N;;;;;
+1089C;NABATAEAN LETTER FINAL SHIN;Lo;0;R;;;;;N;;;;;
+1089D;NABATAEAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+1089E;NABATAEAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+108A7;NABATAEAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+108A8;NABATAEAN NUMBER TWO;No;0;R;;;;2;N;;;;;
+108A9;NABATAEAN NUMBER THREE;No;0;R;;;;3;N;;;;;
+108AA;NABATAEAN NUMBER FOUR;No;0;R;;;;4;N;;;;;
+108AB;NABATAEAN CRUCIFORM NUMBER FOUR;No;0;R;;;;4;N;;;;;
+108AC;NABATAEAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+108AD;NABATAEAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+108AE;NABATAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+108AF;NABATAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+108E0;HATRAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+108E1;HATRAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+108E2;HATRAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+108E3;HATRAN LETTER DALETH-RESH;Lo;0;R;;;;;N;;;;;
+108E4;HATRAN LETTER HE;Lo;0;R;;;;;N;;;;;
+108E5;HATRAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+108E6;HATRAN LETTER ZAYN;Lo;0;R;;;;;N;;;;;
+108E7;HATRAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+108E8;HATRAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+108E9;HATRAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+108EA;HATRAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+108EB;HATRAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+108EC;HATRAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+108ED;HATRAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+108EE;HATRAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+108EF;HATRAN LETTER AYN;Lo;0;R;;;;;N;;;;;
+108F0;HATRAN LETTER PE;Lo;0;R;;;;;N;;;;;
+108F1;HATRAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+108F2;HATRAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+108F4;HATRAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+108F5;HATRAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+108FB;HATRAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+108FC;HATRAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+108FD;HATRAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+108FE;HATRAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+108FF;HATRAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;;
10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;;
10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;;
@@ -26686,6 +17998,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10917;PHOENICIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
10918;PHOENICIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
10919;PHOENICIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+1091A;PHOENICIAN NUMBER TWO;No;0;R;;;;2;N;;;;;
+1091B;PHOENICIAN NUMBER THREE;No;0;R;;;;3;N;;;;;
1091F;PHOENICIAN WORD SEPARATOR;Po;0;ON;;;;;N;;;;;
10920;LYDIAN LETTER A;Lo;0;R;;;;;N;;;;;
10921;LYDIAN LETTER B;Lo;0;R;;;;;N;;;;;
@@ -26714,6 +18028,128 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;;
10939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;;
1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;;
+10980;MEROITIC HIEROGLYPHIC LETTER A;Lo;0;R;;;;;N;;;;;
+10981;MEROITIC HIEROGLYPHIC LETTER E;Lo;0;R;;;;;N;;;;;
+10982;MEROITIC HIEROGLYPHIC LETTER I;Lo;0;R;;;;;N;;;;;
+10983;MEROITIC HIEROGLYPHIC LETTER O;Lo;0;R;;;;;N;;;;;
+10984;MEROITIC HIEROGLYPHIC LETTER YA;Lo;0;R;;;;;N;;;;;
+10985;MEROITIC HIEROGLYPHIC LETTER WA;Lo;0;R;;;;;N;;;;;
+10986;MEROITIC HIEROGLYPHIC LETTER BA;Lo;0;R;;;;;N;;;;;
+10987;MEROITIC HIEROGLYPHIC LETTER BA-2;Lo;0;R;;;;;N;;;;;
+10988;MEROITIC HIEROGLYPHIC LETTER PA;Lo;0;R;;;;;N;;;;;
+10989;MEROITIC HIEROGLYPHIC LETTER MA;Lo;0;R;;;;;N;;;;;
+1098A;MEROITIC HIEROGLYPHIC LETTER NA;Lo;0;R;;;;;N;;;;;
+1098B;MEROITIC HIEROGLYPHIC LETTER NA-2;Lo;0;R;;;;;N;;;;;
+1098C;MEROITIC HIEROGLYPHIC LETTER NE;Lo;0;R;;;;;N;;;;;
+1098D;MEROITIC HIEROGLYPHIC LETTER NE-2;Lo;0;R;;;;;N;;;;;
+1098E;MEROITIC HIEROGLYPHIC LETTER RA;Lo;0;R;;;;;N;;;;;
+1098F;MEROITIC HIEROGLYPHIC LETTER RA-2;Lo;0;R;;;;;N;;;;;
+10990;MEROITIC HIEROGLYPHIC LETTER LA;Lo;0;R;;;;;N;;;;;
+10991;MEROITIC HIEROGLYPHIC LETTER KHA;Lo;0;R;;;;;N;;;;;
+10992;MEROITIC HIEROGLYPHIC LETTER HHA;Lo;0;R;;;;;N;;;;;
+10993;MEROITIC HIEROGLYPHIC LETTER SA;Lo;0;R;;;;;N;;;;;
+10994;MEROITIC HIEROGLYPHIC LETTER SA-2;Lo;0;R;;;;;N;;;;;
+10995;MEROITIC HIEROGLYPHIC LETTER SE;Lo;0;R;;;;;N;;;;;
+10996;MEROITIC HIEROGLYPHIC LETTER KA;Lo;0;R;;;;;N;;;;;
+10997;MEROITIC HIEROGLYPHIC LETTER QA;Lo;0;R;;;;;N;;;;;
+10998;MEROITIC HIEROGLYPHIC LETTER TA;Lo;0;R;;;;;N;;;;;
+10999;MEROITIC HIEROGLYPHIC LETTER TA-2;Lo;0;R;;;;;N;;;;;
+1099A;MEROITIC HIEROGLYPHIC LETTER TE;Lo;0;R;;;;;N;;;;;
+1099B;MEROITIC HIEROGLYPHIC LETTER TE-2;Lo;0;R;;;;;N;;;;;
+1099C;MEROITIC HIEROGLYPHIC LETTER TO;Lo;0;R;;;;;N;;;;;
+1099D;MEROITIC HIEROGLYPHIC LETTER DA;Lo;0;R;;;;;N;;;;;
+1099E;MEROITIC HIEROGLYPHIC SYMBOL VIDJ;Lo;0;R;;;;;N;;;;;
+1099F;MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2;Lo;0;R;;;;;N;;;;;
+109A0;MEROITIC CURSIVE LETTER A;Lo;0;R;;;;;N;;;;;
+109A1;MEROITIC CURSIVE LETTER E;Lo;0;R;;;;;N;;;;;
+109A2;MEROITIC CURSIVE LETTER I;Lo;0;R;;;;;N;;;;;
+109A3;MEROITIC CURSIVE LETTER O;Lo;0;R;;;;;N;;;;;
+109A4;MEROITIC CURSIVE LETTER YA;Lo;0;R;;;;;N;;;;;
+109A5;MEROITIC CURSIVE LETTER WA;Lo;0;R;;;;;N;;;;;
+109A6;MEROITIC CURSIVE LETTER BA;Lo;0;R;;;;;N;;;;;
+109A7;MEROITIC CURSIVE LETTER PA;Lo;0;R;;;;;N;;;;;
+109A8;MEROITIC CURSIVE LETTER MA;Lo;0;R;;;;;N;;;;;
+109A9;MEROITIC CURSIVE LETTER NA;Lo;0;R;;;;;N;;;;;
+109AA;MEROITIC CURSIVE LETTER NE;Lo;0;R;;;;;N;;;;;
+109AB;MEROITIC CURSIVE LETTER RA;Lo;0;R;;;;;N;;;;;
+109AC;MEROITIC CURSIVE LETTER LA;Lo;0;R;;;;;N;;;;;
+109AD;MEROITIC CURSIVE LETTER KHA;Lo;0;R;;;;;N;;;;;
+109AE;MEROITIC CURSIVE LETTER HHA;Lo;0;R;;;;;N;;;;;
+109AF;MEROITIC CURSIVE LETTER SA;Lo;0;R;;;;;N;;;;;
+109B0;MEROITIC CURSIVE LETTER ARCHAIC SA;Lo;0;R;;;;;N;;;;;
+109B1;MEROITIC CURSIVE LETTER SE;Lo;0;R;;;;;N;;;;;
+109B2;MEROITIC CURSIVE LETTER KA;Lo;0;R;;;;;N;;;;;
+109B3;MEROITIC CURSIVE LETTER QA;Lo;0;R;;;;;N;;;;;
+109B4;MEROITIC CURSIVE LETTER TA;Lo;0;R;;;;;N;;;;;
+109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;;
+109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;;
+109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;;
+109BC;MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS;No;0;R;;;;11/12;N;;;;;
+109BD;MEROITIC CURSIVE FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;;
+109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;;
+109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;;
+109C0;MEROITIC CURSIVE NUMBER ONE;No;0;R;;;;1;N;;;;;
+109C1;MEROITIC CURSIVE NUMBER TWO;No;0;R;;;;2;N;;;;;
+109C2;MEROITIC CURSIVE NUMBER THREE;No;0;R;;;;3;N;;;;;
+109C3;MEROITIC CURSIVE NUMBER FOUR;No;0;R;;;;4;N;;;;;
+109C4;MEROITIC CURSIVE NUMBER FIVE;No;0;R;;;;5;N;;;;;
+109C5;MEROITIC CURSIVE NUMBER SIX;No;0;R;;;;6;N;;;;;
+109C6;MEROITIC CURSIVE NUMBER SEVEN;No;0;R;;;;7;N;;;;;
+109C7;MEROITIC CURSIVE NUMBER EIGHT;No;0;R;;;;8;N;;;;;
+109C8;MEROITIC CURSIVE NUMBER NINE;No;0;R;;;;9;N;;;;;
+109C9;MEROITIC CURSIVE NUMBER TEN;No;0;R;;;;10;N;;;;;
+109CA;MEROITIC CURSIVE NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+109CB;MEROITIC CURSIVE NUMBER THIRTY;No;0;R;;;;30;N;;;;;
+109CC;MEROITIC CURSIVE NUMBER FORTY;No;0;R;;;;40;N;;;;;
+109CD;MEROITIC CURSIVE NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+109CE;MEROITIC CURSIVE NUMBER SIXTY;No;0;R;;;;60;N;;;;;
+109CF;MEROITIC CURSIVE NUMBER SEVENTY;No;0;R;;;;70;N;;;;;
+109D2;MEROITIC CURSIVE NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+109D3;MEROITIC CURSIVE NUMBER TWO HUNDRED;No;0;R;;;;200;N;;;;;
+109D4;MEROITIC CURSIVE NUMBER THREE HUNDRED;No;0;R;;;;300;N;;;;;
+109D5;MEROITIC CURSIVE NUMBER FOUR HUNDRED;No;0;R;;;;400;N;;;;;
+109D6;MEROITIC CURSIVE NUMBER FIVE HUNDRED;No;0;R;;;;500;N;;;;;
+109D7;MEROITIC CURSIVE NUMBER SIX HUNDRED;No;0;R;;;;600;N;;;;;
+109D8;MEROITIC CURSIVE NUMBER SEVEN HUNDRED;No;0;R;;;;700;N;;;;;
+109D9;MEROITIC CURSIVE NUMBER EIGHT HUNDRED;No;0;R;;;;800;N;;;;;
+109DA;MEROITIC CURSIVE NUMBER NINE HUNDRED;No;0;R;;;;900;N;;;;;
+109DB;MEROITIC CURSIVE NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+109DC;MEROITIC CURSIVE NUMBER TWO THOUSAND;No;0;R;;;;2000;N;;;;;
+109DD;MEROITIC CURSIVE NUMBER THREE THOUSAND;No;0;R;;;;3000;N;;;;;
+109DE;MEROITIC CURSIVE NUMBER FOUR THOUSAND;No;0;R;;;;4000;N;;;;;
+109DF;MEROITIC CURSIVE NUMBER FIVE THOUSAND;No;0;R;;;;5000;N;;;;;
+109E0;MEROITIC CURSIVE NUMBER SIX THOUSAND;No;0;R;;;;6000;N;;;;;
+109E1;MEROITIC CURSIVE NUMBER SEVEN THOUSAND;No;0;R;;;;7000;N;;;;;
+109E2;MEROITIC CURSIVE NUMBER EIGHT THOUSAND;No;0;R;;;;8000;N;;;;;
+109E3;MEROITIC CURSIVE NUMBER NINE THOUSAND;No;0;R;;;;9000;N;;;;;
+109E4;MEROITIC CURSIVE NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;;
+109E5;MEROITIC CURSIVE NUMBER TWENTY THOUSAND;No;0;R;;;;20000;N;;;;;
+109E6;MEROITIC CURSIVE NUMBER THIRTY THOUSAND;No;0;R;;;;30000;N;;;;;
+109E7;MEROITIC CURSIVE NUMBER FORTY THOUSAND;No;0;R;;;;40000;N;;;;;
+109E8;MEROITIC CURSIVE NUMBER FIFTY THOUSAND;No;0;R;;;;50000;N;;;;;
+109E9;MEROITIC CURSIVE NUMBER SIXTY THOUSAND;No;0;R;;;;60000;N;;;;;
+109EA;MEROITIC CURSIVE NUMBER SEVENTY THOUSAND;No;0;R;;;;70000;N;;;;;
+109EB;MEROITIC CURSIVE NUMBER EIGHTY THOUSAND;No;0;R;;;;80000;N;;;;;
+109EC;MEROITIC CURSIVE NUMBER NINETY THOUSAND;No;0;R;;;;90000;N;;;;;
+109ED;MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND;No;0;R;;;;100000;N;;;;;
+109EE;MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND;No;0;R;;;;200000;N;;;;;
+109EF;MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND;No;0;R;;;;300000;N;;;;;
+109F0;MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND;No;0;R;;;;400000;N;;;;;
+109F1;MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND;No;0;R;;;;500000;N;;;;;
+109F2;MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND;No;0;R;;;;600000;N;;;;;
+109F3;MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND;No;0;R;;;;700000;N;;;;;
+109F4;MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND;No;0;R;;;;800000;N;;;;;
+109F5;MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND;No;0;R;;;;900000;N;;;;;
+109F6;MEROITIC CURSIVE FRACTION ONE TWELFTH;No;0;R;;;;1/12;N;;;;;
+109F7;MEROITIC CURSIVE FRACTION TWO TWELFTHS;No;0;R;;;;2/12;N;;;;;
+109F8;MEROITIC CURSIVE FRACTION THREE TWELFTHS;No;0;R;;;;3/12;N;;;;;
+109F9;MEROITIC CURSIVE FRACTION FOUR TWELFTHS;No;0;R;;;;4/12;N;;;;;
+109FA;MEROITIC CURSIVE FRACTION FIVE TWELFTHS;No;0;R;;;;5/12;N;;;;;
+109FB;MEROITIC CURSIVE FRACTION SIX TWELFTHS;No;0;R;;;;6/12;N;;;;;
+109FC;MEROITIC CURSIVE FRACTION SEVEN TWELFTHS;No;0;R;;;;7/12;N;;;;;
+109FD;MEROITIC CURSIVE FRACTION EIGHT TWELFTHS;No;0;R;;;;8/12;N;;;;;
+109FE;MEROITIC CURSIVE FRACTION NINE TWELFTHS;No;0;R;;;;9/12;N;;;;;
+109FF;MEROITIC CURSIVE FRACTION TEN TWELFTHS;No;0;R;;;;10/12;N;;;;;
10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
@@ -26779,6 +18215,1680 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;;
10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;;
10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;;
+10A60;OLD SOUTH ARABIAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10A61;OLD SOUTH ARABIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10A62;OLD SOUTH ARABIAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+10A63;OLD SOUTH ARABIAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10A64;OLD SOUTH ARABIAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10A65;OLD SOUTH ARABIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10A66;OLD SOUTH ARABIAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10A67;OLD SOUTH ARABIAN LETTER RESH;Lo;0;R;;;;;N;;;;;
+10A68;OLD SOUTH ARABIAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10A69;OLD SOUTH ARABIAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+10A6A;OLD SOUTH ARABIAN LETTER SAT;Lo;0;R;;;;;N;;;;;
+10A6B;OLD SOUTH ARABIAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10A6C;OLD SOUTH ARABIAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10A6D;OLD SOUTH ARABIAN LETTER KHETH;Lo;0;R;;;;;N;;;;;
+10A6E;OLD SOUTH ARABIAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10A6F;OLD SOUTH ARABIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10A70;OLD SOUTH ARABIAN LETTER FE;Lo;0;R;;;;;N;;;;;
+10A71;OLD SOUTH ARABIAN LETTER ALEF;Lo;0;R;;;;;N;;;;;
+10A72;OLD SOUTH ARABIAN LETTER AYN;Lo;0;R;;;;;N;;;;;
+10A73;OLD SOUTH ARABIAN LETTER DHADHE;Lo;0;R;;;;;N;;;;;
+10A74;OLD SOUTH ARABIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10A75;OLD SOUTH ARABIAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10A76;OLD SOUTH ARABIAN LETTER GHAYN;Lo;0;R;;;;;N;;;;;
+10A77;OLD SOUTH ARABIAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+10A78;OLD SOUTH ARABIAN LETTER ZAYN;Lo;0;R;;;;;N;;;;;
+10A79;OLD SOUTH ARABIAN LETTER DHALETH;Lo;0;R;;;;;N;;;;;
+10A7A;OLD SOUTH ARABIAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+10A7B;OLD SOUTH ARABIAN LETTER THAW;Lo;0;R;;;;;N;;;;;
+10A7C;OLD SOUTH ARABIAN LETTER THETH;Lo;0;R;;;;;N;;;;;
+10A7D;OLD SOUTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10A7E;OLD SOUTH ARABIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+10A7F;OLD SOUTH ARABIAN NUMERIC INDICATOR;Po;0;R;;;;;N;;;;;
+10A80;OLD NORTH ARABIAN LETTER HEH;Lo;0;R;;;;;N;;;;;
+10A81;OLD NORTH ARABIAN LETTER LAM;Lo;0;R;;;;;N;;;;;
+10A82;OLD NORTH ARABIAN LETTER HAH;Lo;0;R;;;;;N;;;;;
+10A83;OLD NORTH ARABIAN LETTER MEEM;Lo;0;R;;;;;N;;;;;
+10A84;OLD NORTH ARABIAN LETTER QAF;Lo;0;R;;;;;N;;;;;
+10A85;OLD NORTH ARABIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10A86;OLD NORTH ARABIAN LETTER ES-2;Lo;0;R;;;;;N;;;;;
+10A87;OLD NORTH ARABIAN LETTER REH;Lo;0;R;;;;;N;;;;;
+10A88;OLD NORTH ARABIAN LETTER BEH;Lo;0;R;;;;;N;;;;;
+10A89;OLD NORTH ARABIAN LETTER TEH;Lo;0;R;;;;;N;;;;;
+10A8A;OLD NORTH ARABIAN LETTER ES-1;Lo;0;R;;;;;N;;;;;
+10A8B;OLD NORTH ARABIAN LETTER KAF;Lo;0;R;;;;;N;;;;;
+10A8C;OLD NORTH ARABIAN LETTER NOON;Lo;0;R;;;;;N;;;;;
+10A8D;OLD NORTH ARABIAN LETTER KHAH;Lo;0;R;;;;;N;;;;;
+10A8E;OLD NORTH ARABIAN LETTER SAD;Lo;0;R;;;;;N;;;;;
+10A8F;OLD NORTH ARABIAN LETTER ES-3;Lo;0;R;;;;;N;;;;;
+10A90;OLD NORTH ARABIAN LETTER FEH;Lo;0;R;;;;;N;;;;;
+10A91;OLD NORTH ARABIAN LETTER ALEF;Lo;0;R;;;;;N;;;;;
+10A92;OLD NORTH ARABIAN LETTER AIN;Lo;0;R;;;;;N;;;;;
+10A93;OLD NORTH ARABIAN LETTER DAD;Lo;0;R;;;;;N;;;;;
+10A94;OLD NORTH ARABIAN LETTER GEEM;Lo;0;R;;;;;N;;;;;
+10A95;OLD NORTH ARABIAN LETTER DAL;Lo;0;R;;;;;N;;;;;
+10A96;OLD NORTH ARABIAN LETTER GHAIN;Lo;0;R;;;;;N;;;;;
+10A97;OLD NORTH ARABIAN LETTER TAH;Lo;0;R;;;;;N;;;;;
+10A98;OLD NORTH ARABIAN LETTER ZAIN;Lo;0;R;;;;;N;;;;;
+10A99;OLD NORTH ARABIAN LETTER THAL;Lo;0;R;;;;;N;;;;;
+10A9A;OLD NORTH ARABIAN LETTER YEH;Lo;0;R;;;;;N;;;;;
+10A9B;OLD NORTH ARABIAN LETTER THEH;Lo;0;R;;;;;N;;;;;
+10A9C;OLD NORTH ARABIAN LETTER ZAH;Lo;0;R;;;;;N;;;;;
+10A9D;OLD NORTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10A9E;OLD NORTH ARABIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10A9F;OLD NORTH ARABIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10AC0;MANICHAEAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10AC1;MANICHAEAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10AC2;MANICHAEAN LETTER BHETH;Lo;0;R;;;;;N;;;;;
+10AC3;MANICHAEAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10AC4;MANICHAEAN LETTER GHIMEL;Lo;0;R;;;;;N;;;;;
+10AC5;MANICHAEAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10AC6;MANICHAEAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10AC7;MANICHAEAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10AC8;MANICHAEAN SIGN UD;So;0;R;;;;;N;;;;;
+10AC9;MANICHAEAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10ACA;MANICHAEAN LETTER ZHAYIN;Lo;0;R;;;;;N;;;;;
+10ACB;MANICHAEAN LETTER JAYIN;Lo;0;R;;;;;N;;;;;
+10ACC;MANICHAEAN LETTER JHAYIN;Lo;0;R;;;;;N;;;;;
+10ACD;MANICHAEAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+10ACE;MANICHAEAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+10ACF;MANICHAEAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+10AD0;MANICHAEAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10AD1;MANICHAEAN LETTER XAPH;Lo;0;R;;;;;N;;;;;
+10AD2;MANICHAEAN LETTER KHAPH;Lo;0;R;;;;;N;;;;;
+10AD3;MANICHAEAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10AD4;MANICHAEAN LETTER DHAMEDH;Lo;0;R;;;;;N;;;;;
+10AD5;MANICHAEAN LETTER THAMEDH;Lo;0;R;;;;;N;;;;;
+10AD6;MANICHAEAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10AD7;MANICHAEAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10AD8;MANICHAEAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10AD9;MANICHAEAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10ADA;MANICHAEAN LETTER AAYIN;Lo;0;R;;;;;N;;;;;
+10ADB;MANICHAEAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10ADC;MANICHAEAN LETTER FE;Lo;0;R;;;;;N;;;;;
+10ADD;MANICHAEAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10ADE;MANICHAEAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10ADF;MANICHAEAN LETTER XOPH;Lo;0;R;;;;;N;;;;;
+10AE0;MANICHAEAN LETTER QHOPH;Lo;0;R;;;;;N;;;;;
+10AE1;MANICHAEAN LETTER RESH;Lo;0;R;;;;;N;;;;;
+10AE2;MANICHAEAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10AE3;MANICHAEAN LETTER SSHIN;Lo;0;R;;;;;N;;;;;
+10AE4;MANICHAEAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+10AE5;MANICHAEAN ABBREVIATION MARK ABOVE;Mn;230;NSM;;;;;N;;;;;
+10AE6;MANICHAEAN ABBREVIATION MARK BELOW;Mn;220;NSM;;;;;N;;;;;
+10AEB;MANICHAEAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10AEC;MANICHAEAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+10AED;MANICHAEAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10AEE;MANICHAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10AEF;MANICHAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10AF0;MANICHAEAN PUNCTUATION STAR;Po;0;R;;;;;N;;;;;
+10AF1;MANICHAEAN PUNCTUATION FLEURON;Po;0;R;;;;;N;;;;;
+10AF2;MANICHAEAN PUNCTUATION DOUBLE DOT WITHIN DOT;Po;0;R;;;;;N;;;;;
+10AF3;MANICHAEAN PUNCTUATION DOT WITHIN DOT;Po;0;R;;;;;N;;;;;
+10AF4;MANICHAEAN PUNCTUATION DOT;Po;0;R;;;;;N;;;;;
+10AF5;MANICHAEAN PUNCTUATION TWO DOTS;Po;0;R;;;;;N;;;;;
+10AF6;MANICHAEAN PUNCTUATION LINE FILLER;Po;0;R;;;;;N;;;;;
+10B00;AVESTAN LETTER A;Lo;0;R;;;;;N;;;;;
+10B01;AVESTAN LETTER AA;Lo;0;R;;;;;N;;;;;
+10B02;AVESTAN LETTER AO;Lo;0;R;;;;;N;;;;;
+10B03;AVESTAN LETTER AAO;Lo;0;R;;;;;N;;;;;
+10B04;AVESTAN LETTER AN;Lo;0;R;;;;;N;;;;;
+10B05;AVESTAN LETTER AAN;Lo;0;R;;;;;N;;;;;
+10B06;AVESTAN LETTER AE;Lo;0;R;;;;;N;;;;;
+10B07;AVESTAN LETTER AEE;Lo;0;R;;;;;N;;;;;
+10B08;AVESTAN LETTER E;Lo;0;R;;;;;N;;;;;
+10B09;AVESTAN LETTER EE;Lo;0;R;;;;;N;;;;;
+10B0A;AVESTAN LETTER O;Lo;0;R;;;;;N;;;;;
+10B0B;AVESTAN LETTER OO;Lo;0;R;;;;;N;;;;;
+10B0C;AVESTAN LETTER I;Lo;0;R;;;;;N;;;;;
+10B0D;AVESTAN LETTER II;Lo;0;R;;;;;N;;;;;
+10B0E;AVESTAN LETTER U;Lo;0;R;;;;;N;;;;;
+10B0F;AVESTAN LETTER UU;Lo;0;R;;;;;N;;;;;
+10B10;AVESTAN LETTER KE;Lo;0;R;;;;;N;;;;;
+10B11;AVESTAN LETTER XE;Lo;0;R;;;;;N;;;;;
+10B12;AVESTAN LETTER XYE;Lo;0;R;;;;;N;;;;;
+10B13;AVESTAN LETTER XVE;Lo;0;R;;;;;N;;;;;
+10B14;AVESTAN LETTER GE;Lo;0;R;;;;;N;;;;;
+10B15;AVESTAN LETTER GGE;Lo;0;R;;;;;N;;;;;
+10B16;AVESTAN LETTER GHE;Lo;0;R;;;;;N;;;;;
+10B17;AVESTAN LETTER CE;Lo;0;R;;;;;N;;;;;
+10B18;AVESTAN LETTER JE;Lo;0;R;;;;;N;;;;;
+10B19;AVESTAN LETTER TE;Lo;0;R;;;;;N;;;;;
+10B1A;AVESTAN LETTER THE;Lo;0;R;;;;;N;;;;;
+10B1B;AVESTAN LETTER DE;Lo;0;R;;;;;N;;;;;
+10B1C;AVESTAN LETTER DHE;Lo;0;R;;;;;N;;;;;
+10B1D;AVESTAN LETTER TTE;Lo;0;R;;;;;N;;;;;
+10B1E;AVESTAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10B1F;AVESTAN LETTER FE;Lo;0;R;;;;;N;;;;;
+10B20;AVESTAN LETTER BE;Lo;0;R;;;;;N;;;;;
+10B21;AVESTAN LETTER BHE;Lo;0;R;;;;;N;;;;;
+10B22;AVESTAN LETTER NGE;Lo;0;R;;;;;N;;;;;
+10B23;AVESTAN LETTER NGYE;Lo;0;R;;;;;N;;;;;
+10B24;AVESTAN LETTER NGVE;Lo;0;R;;;;;N;;;;;
+10B25;AVESTAN LETTER NE;Lo;0;R;;;;;N;;;;;
+10B26;AVESTAN LETTER NYE;Lo;0;R;;;;;N;;;;;
+10B27;AVESTAN LETTER NNE;Lo;0;R;;;;;N;;;;;
+10B28;AVESTAN LETTER ME;Lo;0;R;;;;;N;;;;;
+10B29;AVESTAN LETTER HME;Lo;0;R;;;;;N;;;;;
+10B2A;AVESTAN LETTER YYE;Lo;0;R;;;;;N;;;;;
+10B2B;AVESTAN LETTER YE;Lo;0;R;;;;;N;;;;;
+10B2C;AVESTAN LETTER VE;Lo;0;R;;;;;N;;;;;
+10B2D;AVESTAN LETTER RE;Lo;0;R;;;;;N;;;;;
+10B2E;AVESTAN LETTER LE;Lo;0;R;;;;;N;;;;;
+10B2F;AVESTAN LETTER SE;Lo;0;R;;;;;N;;;;;
+10B30;AVESTAN LETTER ZE;Lo;0;R;;;;;N;;;;;
+10B31;AVESTAN LETTER SHE;Lo;0;R;;;;;N;;;;;
+10B32;AVESTAN LETTER ZHE;Lo;0;R;;;;;N;;;;;
+10B33;AVESTAN LETTER SHYE;Lo;0;R;;;;;N;;;;;
+10B34;AVESTAN LETTER SSHE;Lo;0;R;;;;;N;;;;;
+10B35;AVESTAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10B39;AVESTAN ABBREVIATION MARK;Po;0;ON;;;;;N;;;;;
+10B3A;TINY TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+10B3B;SMALL TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+10B3C;LARGE TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
+10B3D;LARGE ONE DOT OVER TWO DOTS PUNCTUATION;Po;0;ON;;;;;N;;;;;
+10B3E;LARGE TWO RINGS OVER ONE RING PUNCTUATION;Po;0;ON;;;;;N;;;;;
+10B3F;LARGE ONE RING OVER TWO RINGS PUNCTUATION;Po;0;ON;;;;;N;;;;;
+10B40;INSCRIPTIONAL PARTHIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10B41;INSCRIPTIONAL PARTHIAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10B42;INSCRIPTIONAL PARTHIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10B43;INSCRIPTIONAL PARTHIAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10B44;INSCRIPTIONAL PARTHIAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10B45;INSCRIPTIONAL PARTHIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10B46;INSCRIPTIONAL PARTHIAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10B47;INSCRIPTIONAL PARTHIAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+10B48;INSCRIPTIONAL PARTHIAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+10B49;INSCRIPTIONAL PARTHIAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+10B4A;INSCRIPTIONAL PARTHIAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10B4B;INSCRIPTIONAL PARTHIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10B4C;INSCRIPTIONAL PARTHIAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10B4D;INSCRIPTIONAL PARTHIAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10B4E;INSCRIPTIONAL PARTHIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10B4F;INSCRIPTIONAL PARTHIAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10B50;INSCRIPTIONAL PARTHIAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10B51;INSCRIPTIONAL PARTHIAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10B52;INSCRIPTIONAL PARTHIAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10B53;INSCRIPTIONAL PARTHIAN LETTER RESH;Lo;0;R;;;;;N;;;;;
+10B54;INSCRIPTIONAL PARTHIAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10B55;INSCRIPTIONAL PARTHIAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+10B58;INSCRIPTIONAL PARTHIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10B59;INSCRIPTIONAL PARTHIAN NUMBER TWO;No;0;R;;;;2;N;;;;;
+10B5A;INSCRIPTIONAL PARTHIAN NUMBER THREE;No;0;R;;;;3;N;;;;;
+10B5B;INSCRIPTIONAL PARTHIAN NUMBER FOUR;No;0;R;;;;4;N;;;;;
+10B5C;INSCRIPTIONAL PARTHIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10B5D;INSCRIPTIONAL PARTHIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10B5E;INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10B5F;INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10B60;INSCRIPTIONAL PAHLAVI LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10B61;INSCRIPTIONAL PAHLAVI LETTER BETH;Lo;0;R;;;;;N;;;;;
+10B62;INSCRIPTIONAL PAHLAVI LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10B63;INSCRIPTIONAL PAHLAVI LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10B64;INSCRIPTIONAL PAHLAVI LETTER HE;Lo;0;R;;;;;N;;;;;
+10B65;INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH;Lo;0;R;;;;;N;;;;;
+10B66;INSCRIPTIONAL PAHLAVI LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10B67;INSCRIPTIONAL PAHLAVI LETTER HETH;Lo;0;R;;;;;N;;;;;
+10B68;INSCRIPTIONAL PAHLAVI LETTER TETH;Lo;0;R;;;;;N;;;;;
+10B69;INSCRIPTIONAL PAHLAVI LETTER YODH;Lo;0;R;;;;;N;;;;;
+10B6A;INSCRIPTIONAL PAHLAVI LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10B6B;INSCRIPTIONAL PAHLAVI LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10B6C;INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH;Lo;0;R;;;;;N;;;;;
+10B6D;INSCRIPTIONAL PAHLAVI LETTER NUN;Lo;0;R;;;;;N;;;;;
+10B6E;INSCRIPTIONAL PAHLAVI LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10B6F;INSCRIPTIONAL PAHLAVI LETTER PE;Lo;0;R;;;;;N;;;;;
+10B70;INSCRIPTIONAL PAHLAVI LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10B71;INSCRIPTIONAL PAHLAVI LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10B72;INSCRIPTIONAL PAHLAVI LETTER TAW;Lo;0;R;;;;;N;;;;;
+10B78;INSCRIPTIONAL PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;;
+10B79;INSCRIPTIONAL PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;;
+10B7A;INSCRIPTIONAL PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;;
+10B7B;INSCRIPTIONAL PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;;
+10B7C;INSCRIPTIONAL PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;;
+10B7D;INSCRIPTIONAL PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10B7E;INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10B7F;INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10B80;PSALTER PAHLAVI LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10B81;PSALTER PAHLAVI LETTER BETH;Lo;0;R;;;;;N;;;;;
+10B82;PSALTER PAHLAVI LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10B83;PSALTER PAHLAVI LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10B84;PSALTER PAHLAVI LETTER HE;Lo;0;R;;;;;N;;;;;
+10B85;PSALTER PAHLAVI LETTER WAW-AYIN-RESH;Lo;0;R;;;;;N;;;;;
+10B86;PSALTER PAHLAVI LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10B87;PSALTER PAHLAVI LETTER HETH;Lo;0;R;;;;;N;;;;;
+10B88;PSALTER PAHLAVI LETTER YODH;Lo;0;R;;;;;N;;;;;
+10B89;PSALTER PAHLAVI LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10B8A;PSALTER PAHLAVI LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10B8B;PSALTER PAHLAVI LETTER MEM-QOPH;Lo;0;R;;;;;N;;;;;
+10B8C;PSALTER PAHLAVI LETTER NUN;Lo;0;R;;;;;N;;;;;
+10B8D;PSALTER PAHLAVI LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10B8E;PSALTER PAHLAVI LETTER PE;Lo;0;R;;;;;N;;;;;
+10B8F;PSALTER PAHLAVI LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10B90;PSALTER PAHLAVI LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10B91;PSALTER PAHLAVI LETTER TAW;Lo;0;R;;;;;N;;;;;
+10B99;PSALTER PAHLAVI SECTION MARK;Po;0;R;;;;;N;;;;;
+10B9A;PSALTER PAHLAVI TURNED SECTION MARK;Po;0;R;;;;;N;;;;;
+10B9B;PSALTER PAHLAVI FOUR DOTS WITH CROSS;Po;0;R;;;;;N;;;;;
+10B9C;PSALTER PAHLAVI FOUR DOTS WITH DOT;Po;0;R;;;;;N;;;;;
+10BA9;PSALTER PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;;
+10BAA;PSALTER PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;;
+10BAB;PSALTER PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;;
+10BAC;PSALTER PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;;
+10BAD;PSALTER PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;;
+10BAE;PSALTER PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10BAF;PSALTER PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10C00;OLD TURKIC LETTER ORKHON A;Lo;0;R;;;;;N;;;;;
+10C01;OLD TURKIC LETTER YENISEI A;Lo;0;R;;;;;N;;;;;
+10C02;OLD TURKIC LETTER YENISEI AE;Lo;0;R;;;;;N;;;;;
+10C03;OLD TURKIC LETTER ORKHON I;Lo;0;R;;;;;N;;;;;
+10C04;OLD TURKIC LETTER YENISEI I;Lo;0;R;;;;;N;;;;;
+10C05;OLD TURKIC LETTER YENISEI E;Lo;0;R;;;;;N;;;;;
+10C06;OLD TURKIC LETTER ORKHON O;Lo;0;R;;;;;N;;;;;
+10C07;OLD TURKIC LETTER ORKHON OE;Lo;0;R;;;;;N;;;;;
+10C08;OLD TURKIC LETTER YENISEI OE;Lo;0;R;;;;;N;;;;;
+10C09;OLD TURKIC LETTER ORKHON AB;Lo;0;R;;;;;N;;;;;
+10C0A;OLD TURKIC LETTER YENISEI AB;Lo;0;R;;;;;N;;;;;
+10C0B;OLD TURKIC LETTER ORKHON AEB;Lo;0;R;;;;;N;;;;;
+10C0C;OLD TURKIC LETTER YENISEI AEB;Lo;0;R;;;;;N;;;;;
+10C0D;OLD TURKIC LETTER ORKHON AG;Lo;0;R;;;;;N;;;;;
+10C0E;OLD TURKIC LETTER YENISEI AG;Lo;0;R;;;;;N;;;;;
+10C0F;OLD TURKIC LETTER ORKHON AEG;Lo;0;R;;;;;N;;;;;
+10C10;OLD TURKIC LETTER YENISEI AEG;Lo;0;R;;;;;N;;;;;
+10C11;OLD TURKIC LETTER ORKHON AD;Lo;0;R;;;;;N;;;;;
+10C12;OLD TURKIC LETTER YENISEI AD;Lo;0;R;;;;;N;;;;;
+10C13;OLD TURKIC LETTER ORKHON AED;Lo;0;R;;;;;N;;;;;
+10C14;OLD TURKIC LETTER ORKHON EZ;Lo;0;R;;;;;N;;;;;
+10C15;OLD TURKIC LETTER YENISEI EZ;Lo;0;R;;;;;N;;;;;
+10C16;OLD TURKIC LETTER ORKHON AY;Lo;0;R;;;;;N;;;;;
+10C17;OLD TURKIC LETTER YENISEI AY;Lo;0;R;;;;;N;;;;;
+10C18;OLD TURKIC LETTER ORKHON AEY;Lo;0;R;;;;;N;;;;;
+10C19;OLD TURKIC LETTER YENISEI AEY;Lo;0;R;;;;;N;;;;;
+10C1A;OLD TURKIC LETTER ORKHON AEK;Lo;0;R;;;;;N;;;;;
+10C1B;OLD TURKIC LETTER YENISEI AEK;Lo;0;R;;;;;N;;;;;
+10C1C;OLD TURKIC LETTER ORKHON OEK;Lo;0;R;;;;;N;;;;;
+10C1D;OLD TURKIC LETTER YENISEI OEK;Lo;0;R;;;;;N;;;;;
+10C1E;OLD TURKIC LETTER ORKHON AL;Lo;0;R;;;;;N;;;;;
+10C1F;OLD TURKIC LETTER YENISEI AL;Lo;0;R;;;;;N;;;;;
+10C20;OLD TURKIC LETTER ORKHON AEL;Lo;0;R;;;;;N;;;;;
+10C21;OLD TURKIC LETTER ORKHON ELT;Lo;0;R;;;;;N;;;;;
+10C22;OLD TURKIC LETTER ORKHON EM;Lo;0;R;;;;;N;;;;;
+10C23;OLD TURKIC LETTER ORKHON AN;Lo;0;R;;;;;N;;;;;
+10C24;OLD TURKIC LETTER ORKHON AEN;Lo;0;R;;;;;N;;;;;
+10C25;OLD TURKIC LETTER YENISEI AEN;Lo;0;R;;;;;N;;;;;
+10C26;OLD TURKIC LETTER ORKHON ENT;Lo;0;R;;;;;N;;;;;
+10C27;OLD TURKIC LETTER YENISEI ENT;Lo;0;R;;;;;N;;;;;
+10C28;OLD TURKIC LETTER ORKHON ENC;Lo;0;R;;;;;N;;;;;
+10C29;OLD TURKIC LETTER YENISEI ENC;Lo;0;R;;;;;N;;;;;
+10C2A;OLD TURKIC LETTER ORKHON ENY;Lo;0;R;;;;;N;;;;;
+10C2B;OLD TURKIC LETTER YENISEI ENY;Lo;0;R;;;;;N;;;;;
+10C2C;OLD TURKIC LETTER YENISEI ANG;Lo;0;R;;;;;N;;;;;
+10C2D;OLD TURKIC LETTER ORKHON ENG;Lo;0;R;;;;;N;;;;;
+10C2E;OLD TURKIC LETTER YENISEI AENG;Lo;0;R;;;;;N;;;;;
+10C2F;OLD TURKIC LETTER ORKHON EP;Lo;0;R;;;;;N;;;;;
+10C30;OLD TURKIC LETTER ORKHON OP;Lo;0;R;;;;;N;;;;;
+10C31;OLD TURKIC LETTER ORKHON IC;Lo;0;R;;;;;N;;;;;
+10C32;OLD TURKIC LETTER ORKHON EC;Lo;0;R;;;;;N;;;;;
+10C33;OLD TURKIC LETTER YENISEI EC;Lo;0;R;;;;;N;;;;;
+10C34;OLD TURKIC LETTER ORKHON AQ;Lo;0;R;;;;;N;;;;;
+10C35;OLD TURKIC LETTER YENISEI AQ;Lo;0;R;;;;;N;;;;;
+10C36;OLD TURKIC LETTER ORKHON IQ;Lo;0;R;;;;;N;;;;;
+10C37;OLD TURKIC LETTER YENISEI IQ;Lo;0;R;;;;;N;;;;;
+10C38;OLD TURKIC LETTER ORKHON OQ;Lo;0;R;;;;;N;;;;;
+10C39;OLD TURKIC LETTER YENISEI OQ;Lo;0;R;;;;;N;;;;;
+10C3A;OLD TURKIC LETTER ORKHON AR;Lo;0;R;;;;;N;;;;;
+10C3B;OLD TURKIC LETTER YENISEI AR;Lo;0;R;;;;;N;;;;;
+10C3C;OLD TURKIC LETTER ORKHON AER;Lo;0;R;;;;;N;;;;;
+10C3D;OLD TURKIC LETTER ORKHON AS;Lo;0;R;;;;;N;;;;;
+10C3E;OLD TURKIC LETTER ORKHON AES;Lo;0;R;;;;;N;;;;;
+10C3F;OLD TURKIC LETTER ORKHON ASH;Lo;0;R;;;;;N;;;;;
+10C40;OLD TURKIC LETTER YENISEI ASH;Lo;0;R;;;;;N;;;;;
+10C41;OLD TURKIC LETTER ORKHON ESH;Lo;0;R;;;;;N;;;;;
+10C42;OLD TURKIC LETTER YENISEI ESH;Lo;0;R;;;;;N;;;;;
+10C43;OLD TURKIC LETTER ORKHON AT;Lo;0;R;;;;;N;;;;;
+10C44;OLD TURKIC LETTER YENISEI AT;Lo;0;R;;;;;N;;;;;
+10C45;OLD TURKIC LETTER ORKHON AET;Lo;0;R;;;;;N;;;;;
+10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;;
+10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;;
+10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;;
+10C80;OLD HUNGARIAN CAPITAL LETTER A;Lu;0;R;;;;;N;;;;10CC0;
+10C81;OLD HUNGARIAN CAPITAL LETTER AA;Lu;0;R;;;;;N;;;;10CC1;
+10C82;OLD HUNGARIAN CAPITAL LETTER EB;Lu;0;R;;;;;N;;;;10CC2;
+10C83;OLD HUNGARIAN CAPITAL LETTER AMB;Lu;0;R;;;;;N;;;;10CC3;
+10C84;OLD HUNGARIAN CAPITAL LETTER EC;Lu;0;R;;;;;N;;;;10CC4;
+10C85;OLD HUNGARIAN CAPITAL LETTER ENC;Lu;0;R;;;;;N;;;;10CC5;
+10C86;OLD HUNGARIAN CAPITAL LETTER ECS;Lu;0;R;;;;;N;;;;10CC6;
+10C87;OLD HUNGARIAN CAPITAL LETTER ED;Lu;0;R;;;;;N;;;;10CC7;
+10C88;OLD HUNGARIAN CAPITAL LETTER AND;Lu;0;R;;;;;N;;;;10CC8;
+10C89;OLD HUNGARIAN CAPITAL LETTER E;Lu;0;R;;;;;N;;;;10CC9;
+10C8A;OLD HUNGARIAN CAPITAL LETTER CLOSE E;Lu;0;R;;;;;N;;;;10CCA;
+10C8B;OLD HUNGARIAN CAPITAL LETTER EE;Lu;0;R;;;;;N;;;;10CCB;
+10C8C;OLD HUNGARIAN CAPITAL LETTER EF;Lu;0;R;;;;;N;;;;10CCC;
+10C8D;OLD HUNGARIAN CAPITAL LETTER EG;Lu;0;R;;;;;N;;;;10CCD;
+10C8E;OLD HUNGARIAN CAPITAL LETTER EGY;Lu;0;R;;;;;N;;;;10CCE;
+10C8F;OLD HUNGARIAN CAPITAL LETTER EH;Lu;0;R;;;;;N;;;;10CCF;
+10C90;OLD HUNGARIAN CAPITAL LETTER I;Lu;0;R;;;;;N;;;;10CD0;
+10C91;OLD HUNGARIAN CAPITAL LETTER II;Lu;0;R;;;;;N;;;;10CD1;
+10C92;OLD HUNGARIAN CAPITAL LETTER EJ;Lu;0;R;;;;;N;;;;10CD2;
+10C93;OLD HUNGARIAN CAPITAL LETTER EK;Lu;0;R;;;;;N;;;;10CD3;
+10C94;OLD HUNGARIAN CAPITAL LETTER AK;Lu;0;R;;;;;N;;;;10CD4;
+10C95;OLD HUNGARIAN CAPITAL LETTER UNK;Lu;0;R;;;;;N;;;;10CD5;
+10C96;OLD HUNGARIAN CAPITAL LETTER EL;Lu;0;R;;;;;N;;;;10CD6;
+10C97;OLD HUNGARIAN CAPITAL LETTER ELY;Lu;0;R;;;;;N;;;;10CD7;
+10C98;OLD HUNGARIAN CAPITAL LETTER EM;Lu;0;R;;;;;N;;;;10CD8;
+10C99;OLD HUNGARIAN CAPITAL LETTER EN;Lu;0;R;;;;;N;;;;10CD9;
+10C9A;OLD HUNGARIAN CAPITAL LETTER ENY;Lu;0;R;;;;;N;;;;10CDA;
+10C9B;OLD HUNGARIAN CAPITAL LETTER O;Lu;0;R;;;;;N;;;;10CDB;
+10C9C;OLD HUNGARIAN CAPITAL LETTER OO;Lu;0;R;;;;;N;;;;10CDC;
+10C9D;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE;Lu;0;R;;;;;N;;;;10CDD;
+10C9E;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE;Lu;0;R;;;;;N;;;;10CDE;
+10C9F;OLD HUNGARIAN CAPITAL LETTER OEE;Lu;0;R;;;;;N;;;;10CDF;
+10CA0;OLD HUNGARIAN CAPITAL LETTER EP;Lu;0;R;;;;;N;;;;10CE0;
+10CA1;OLD HUNGARIAN CAPITAL LETTER EMP;Lu;0;R;;;;;N;;;;10CE1;
+10CA2;OLD HUNGARIAN CAPITAL LETTER ER;Lu;0;R;;;;;N;;;;10CE2;
+10CA3;OLD HUNGARIAN CAPITAL LETTER SHORT ER;Lu;0;R;;;;;N;;;;10CE3;
+10CA4;OLD HUNGARIAN CAPITAL LETTER ES;Lu;0;R;;;;;N;;;;10CE4;
+10CA5;OLD HUNGARIAN CAPITAL LETTER ESZ;Lu;0;R;;;;;N;;;;10CE5;
+10CA6;OLD HUNGARIAN CAPITAL LETTER ET;Lu;0;R;;;;;N;;;;10CE6;
+10CA7;OLD HUNGARIAN CAPITAL LETTER ENT;Lu;0;R;;;;;N;;;;10CE7;
+10CA8;OLD HUNGARIAN CAPITAL LETTER ETY;Lu;0;R;;;;;N;;;;10CE8;
+10CA9;OLD HUNGARIAN CAPITAL LETTER ECH;Lu;0;R;;;;;N;;;;10CE9;
+10CAA;OLD HUNGARIAN CAPITAL LETTER U;Lu;0;R;;;;;N;;;;10CEA;
+10CAB;OLD HUNGARIAN CAPITAL LETTER UU;Lu;0;R;;;;;N;;;;10CEB;
+10CAC;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE;Lu;0;R;;;;;N;;;;10CEC;
+10CAD;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE;Lu;0;R;;;;;N;;;;10CED;
+10CAE;OLD HUNGARIAN CAPITAL LETTER EV;Lu;0;R;;;;;N;;;;10CEE;
+10CAF;OLD HUNGARIAN CAPITAL LETTER EZ;Lu;0;R;;;;;N;;;;10CEF;
+10CB0;OLD HUNGARIAN CAPITAL LETTER EZS;Lu;0;R;;;;;N;;;;10CF0;
+10CB1;OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN;Lu;0;R;;;;;N;;;;10CF1;
+10CB2;OLD HUNGARIAN CAPITAL LETTER US;Lu;0;R;;;;;N;;;;10CF2;
+10CC0;OLD HUNGARIAN SMALL LETTER A;Ll;0;R;;;;;N;;;10C80;;10C80
+10CC1;OLD HUNGARIAN SMALL LETTER AA;Ll;0;R;;;;;N;;;10C81;;10C81
+10CC2;OLD HUNGARIAN SMALL LETTER EB;Ll;0;R;;;;;N;;;10C82;;10C82
+10CC3;OLD HUNGARIAN SMALL LETTER AMB;Ll;0;R;;;;;N;;;10C83;;10C83
+10CC4;OLD HUNGARIAN SMALL LETTER EC;Ll;0;R;;;;;N;;;10C84;;10C84
+10CC5;OLD HUNGARIAN SMALL LETTER ENC;Ll;0;R;;;;;N;;;10C85;;10C85
+10CC6;OLD HUNGARIAN SMALL LETTER ECS;Ll;0;R;;;;;N;;;10C86;;10C86
+10CC7;OLD HUNGARIAN SMALL LETTER ED;Ll;0;R;;;;;N;;;10C87;;10C87
+10CC8;OLD HUNGARIAN SMALL LETTER AND;Ll;0;R;;;;;N;;;10C88;;10C88
+10CC9;OLD HUNGARIAN SMALL LETTER E;Ll;0;R;;;;;N;;;10C89;;10C89
+10CCA;OLD HUNGARIAN SMALL LETTER CLOSE E;Ll;0;R;;;;;N;;;10C8A;;10C8A
+10CCB;OLD HUNGARIAN SMALL LETTER EE;Ll;0;R;;;;;N;;;10C8B;;10C8B
+10CCC;OLD HUNGARIAN SMALL LETTER EF;Ll;0;R;;;;;N;;;10C8C;;10C8C
+10CCD;OLD HUNGARIAN SMALL LETTER EG;Ll;0;R;;;;;N;;;10C8D;;10C8D
+10CCE;OLD HUNGARIAN SMALL LETTER EGY;Ll;0;R;;;;;N;;;10C8E;;10C8E
+10CCF;OLD HUNGARIAN SMALL LETTER EH;Ll;0;R;;;;;N;;;10C8F;;10C8F
+10CD0;OLD HUNGARIAN SMALL LETTER I;Ll;0;R;;;;;N;;;10C90;;10C90
+10CD1;OLD HUNGARIAN SMALL LETTER II;Ll;0;R;;;;;N;;;10C91;;10C91
+10CD2;OLD HUNGARIAN SMALL LETTER EJ;Ll;0;R;;;;;N;;;10C92;;10C92
+10CD3;OLD HUNGARIAN SMALL LETTER EK;Ll;0;R;;;;;N;;;10C93;;10C93
+10CD4;OLD HUNGARIAN SMALL LETTER AK;Ll;0;R;;;;;N;;;10C94;;10C94
+10CD5;OLD HUNGARIAN SMALL LETTER UNK;Ll;0;R;;;;;N;;;10C95;;10C95
+10CD6;OLD HUNGARIAN SMALL LETTER EL;Ll;0;R;;;;;N;;;10C96;;10C96
+10CD7;OLD HUNGARIAN SMALL LETTER ELY;Ll;0;R;;;;;N;;;10C97;;10C97
+10CD8;OLD HUNGARIAN SMALL LETTER EM;Ll;0;R;;;;;N;;;10C98;;10C98
+10CD9;OLD HUNGARIAN SMALL LETTER EN;Ll;0;R;;;;;N;;;10C99;;10C99
+10CDA;OLD HUNGARIAN SMALL LETTER ENY;Ll;0;R;;;;;N;;;10C9A;;10C9A
+10CDB;OLD HUNGARIAN SMALL LETTER O;Ll;0;R;;;;;N;;;10C9B;;10C9B
+10CDC;OLD HUNGARIAN SMALL LETTER OO;Ll;0;R;;;;;N;;;10C9C;;10C9C
+10CDD;OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE;Ll;0;R;;;;;N;;;10C9D;;10C9D
+10CDE;OLD HUNGARIAN SMALL LETTER RUDIMENTA OE;Ll;0;R;;;;;N;;;10C9E;;10C9E
+10CDF;OLD HUNGARIAN SMALL LETTER OEE;Ll;0;R;;;;;N;;;10C9F;;10C9F
+10CE0;OLD HUNGARIAN SMALL LETTER EP;Ll;0;R;;;;;N;;;10CA0;;10CA0
+10CE1;OLD HUNGARIAN SMALL LETTER EMP;Ll;0;R;;;;;N;;;10CA1;;10CA1
+10CE2;OLD HUNGARIAN SMALL LETTER ER;Ll;0;R;;;;;N;;;10CA2;;10CA2
+10CE3;OLD HUNGARIAN SMALL LETTER SHORT ER;Ll;0;R;;;;;N;;;10CA3;;10CA3
+10CE4;OLD HUNGARIAN SMALL LETTER ES;Ll;0;R;;;;;N;;;10CA4;;10CA4
+10CE5;OLD HUNGARIAN SMALL LETTER ESZ;Ll;0;R;;;;;N;;;10CA5;;10CA5
+10CE6;OLD HUNGARIAN SMALL LETTER ET;Ll;0;R;;;;;N;;;10CA6;;10CA6
+10CE7;OLD HUNGARIAN SMALL LETTER ENT;Ll;0;R;;;;;N;;;10CA7;;10CA7
+10CE8;OLD HUNGARIAN SMALL LETTER ETY;Ll;0;R;;;;;N;;;10CA8;;10CA8
+10CE9;OLD HUNGARIAN SMALL LETTER ECH;Ll;0;R;;;;;N;;;10CA9;;10CA9
+10CEA;OLD HUNGARIAN SMALL LETTER U;Ll;0;R;;;;;N;;;10CAA;;10CAA
+10CEB;OLD HUNGARIAN SMALL LETTER UU;Ll;0;R;;;;;N;;;10CAB;;10CAB
+10CEC;OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE;Ll;0;R;;;;;N;;;10CAC;;10CAC
+10CED;OLD HUNGARIAN SMALL LETTER RUDIMENTA UE;Ll;0;R;;;;;N;;;10CAD;;10CAD
+10CEE;OLD HUNGARIAN SMALL LETTER EV;Ll;0;R;;;;;N;;;10CAE;;10CAE
+10CEF;OLD HUNGARIAN SMALL LETTER EZ;Ll;0;R;;;;;N;;;10CAF;;10CAF
+10CF0;OLD HUNGARIAN SMALL LETTER EZS;Ll;0;R;;;;;N;;;10CB0;;10CB0
+10CF1;OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN;Ll;0;R;;;;;N;;;10CB1;;10CB1
+10CF2;OLD HUNGARIAN SMALL LETTER US;Ll;0;R;;;;;N;;;10CB2;;10CB2
+10CFA;OLD HUNGARIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10CFB;OLD HUNGARIAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+10CFC;OLD HUNGARIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;;
+10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;;
+10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;;
+10E63;RUMI DIGIT FOUR;No;0;AN;;;4;4;N;;;;;
+10E64;RUMI DIGIT FIVE;No;0;AN;;;5;5;N;;;;;
+10E65;RUMI DIGIT SIX;No;0;AN;;;6;6;N;;;;;
+10E66;RUMI DIGIT SEVEN;No;0;AN;;;7;7;N;;;;;
+10E67;RUMI DIGIT EIGHT;No;0;AN;;;8;8;N;;;;;
+10E68;RUMI DIGIT NINE;No;0;AN;;;9;9;N;;;;;
+10E69;RUMI NUMBER TEN;No;0;AN;;;;10;N;;;;;
+10E6A;RUMI NUMBER TWENTY;No;0;AN;;;;20;N;;;;;
+10E6B;RUMI NUMBER THIRTY;No;0;AN;;;;30;N;;;;;
+10E6C;RUMI NUMBER FORTY;No;0;AN;;;;40;N;;;;;
+10E6D;RUMI NUMBER FIFTY;No;0;AN;;;;50;N;;;;;
+10E6E;RUMI NUMBER SIXTY;No;0;AN;;;;60;N;;;;;
+10E6F;RUMI NUMBER SEVENTY;No;0;AN;;;;70;N;;;;;
+10E70;RUMI NUMBER EIGHTY;No;0;AN;;;;80;N;;;;;
+10E71;RUMI NUMBER NINETY;No;0;AN;;;;90;N;;;;;
+10E72;RUMI NUMBER ONE HUNDRED;No;0;AN;;;;100;N;;;;;
+10E73;RUMI NUMBER TWO HUNDRED;No;0;AN;;;;200;N;;;;;
+10E74;RUMI NUMBER THREE HUNDRED;No;0;AN;;;;300;N;;;;;
+10E75;RUMI NUMBER FOUR HUNDRED;No;0;AN;;;;400;N;;;;;
+10E76;RUMI NUMBER FIVE HUNDRED;No;0;AN;;;;500;N;;;;;
+10E77;RUMI NUMBER SIX HUNDRED;No;0;AN;;;;600;N;;;;;
+10E78;RUMI NUMBER SEVEN HUNDRED;No;0;AN;;;;700;N;;;;;
+10E79;RUMI NUMBER EIGHT HUNDRED;No;0;AN;;;;800;N;;;;;
+10E7A;RUMI NUMBER NINE HUNDRED;No;0;AN;;;;900;N;;;;;
+10E7B;RUMI FRACTION ONE HALF;No;0;AN;;;;1/2;N;;;;;
+10E7C;RUMI FRACTION ONE QUARTER;No;0;AN;;;;1/4;N;;;;;
+10E7D;RUMI FRACTION ONE THIRD;No;0;AN;;;;1/3;N;;;;;
+10E7E;RUMI FRACTION TWO THIRDS;No;0;AN;;;;2/3;N;;;;;
+11000;BRAHMI SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
+11001;BRAHMI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11002;BRAHMI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11003;BRAHMI SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+11004;BRAHMI SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+11005;BRAHMI LETTER A;Lo;0;L;;;;;N;;;;;
+11006;BRAHMI LETTER AA;Lo;0;L;;;;;N;;;;;
+11007;BRAHMI LETTER I;Lo;0;L;;;;;N;;;;;
+11008;BRAHMI LETTER II;Lo;0;L;;;;;N;;;;;
+11009;BRAHMI LETTER U;Lo;0;L;;;;;N;;;;;
+1100A;BRAHMI LETTER UU;Lo;0;L;;;;;N;;;;;
+1100B;BRAHMI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1100C;BRAHMI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+1100D;BRAHMI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1100E;BRAHMI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1100F;BRAHMI LETTER E;Lo;0;L;;;;;N;;;;;
+11010;BRAHMI LETTER AI;Lo;0;L;;;;;N;;;;;
+11011;BRAHMI LETTER O;Lo;0;L;;;;;N;;;;;
+11012;BRAHMI LETTER AU;Lo;0;L;;;;;N;;;;;
+11013;BRAHMI LETTER KA;Lo;0;L;;;;;N;;;;;
+11014;BRAHMI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11015;BRAHMI LETTER GA;Lo;0;L;;;;;N;;;;;
+11016;BRAHMI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11017;BRAHMI LETTER NGA;Lo;0;L;;;;;N;;;;;
+11018;BRAHMI LETTER CA;Lo;0;L;;;;;N;;;;;
+11019;BRAHMI LETTER CHA;Lo;0;L;;;;;N;;;;;
+1101A;BRAHMI LETTER JA;Lo;0;L;;;;;N;;;;;
+1101B;BRAHMI LETTER JHA;Lo;0;L;;;;;N;;;;;
+1101C;BRAHMI LETTER NYA;Lo;0;L;;;;;N;;;;;
+1101D;BRAHMI LETTER TTA;Lo;0;L;;;;;N;;;;;
+1101E;BRAHMI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1101F;BRAHMI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11020;BRAHMI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11021;BRAHMI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11022;BRAHMI LETTER TA;Lo;0;L;;;;;N;;;;;
+11023;BRAHMI LETTER THA;Lo;0;L;;;;;N;;;;;
+11024;BRAHMI LETTER DA;Lo;0;L;;;;;N;;;;;
+11025;BRAHMI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11026;BRAHMI LETTER NA;Lo;0;L;;;;;N;;;;;
+11027;BRAHMI LETTER PA;Lo;0;L;;;;;N;;;;;
+11028;BRAHMI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11029;BRAHMI LETTER BA;Lo;0;L;;;;;N;;;;;
+1102A;BRAHMI LETTER BHA;Lo;0;L;;;;;N;;;;;
+1102B;BRAHMI LETTER MA;Lo;0;L;;;;;N;;;;;
+1102C;BRAHMI LETTER YA;Lo;0;L;;;;;N;;;;;
+1102D;BRAHMI LETTER RA;Lo;0;L;;;;;N;;;;;
+1102E;BRAHMI LETTER LA;Lo;0;L;;;;;N;;;;;
+1102F;BRAHMI LETTER VA;Lo;0;L;;;;;N;;;;;
+11030;BRAHMI LETTER SHA;Lo;0;L;;;;;N;;;;;
+11031;BRAHMI LETTER SSA;Lo;0;L;;;;;N;;;;;
+11032;BRAHMI LETTER SA;Lo;0;L;;;;;N;;;;;
+11033;BRAHMI LETTER HA;Lo;0;L;;;;;N;;;;;
+11034;BRAHMI LETTER LLA;Lo;0;L;;;;;N;;;;;
+11035;BRAHMI LETTER OLD TAMIL LLLA;Lo;0;L;;;;;N;;;;;
+11036;BRAHMI LETTER OLD TAMIL RRA;Lo;0;L;;;;;N;;;;;
+11037;BRAHMI LETTER OLD TAMIL NNNA;Lo;0;L;;;;;N;;;;;
+11038;BRAHMI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
+11039;BRAHMI VOWEL SIGN BHATTIPROLU AA;Mn;0;NSM;;;;;N;;;;;
+1103A;BRAHMI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+1103B;BRAHMI VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+1103C;BRAHMI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1103D;BRAHMI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1103E;BRAHMI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+1103F;BRAHMI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+11040;BRAHMI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+11041;BRAHMI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+11042;BRAHMI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11043;BRAHMI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11044;BRAHMI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11045;BRAHMI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+11046;BRAHMI VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11047;BRAHMI DANDA;Po;0;L;;;;;N;;;;;
+11048;BRAHMI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+11049;BRAHMI PUNCTUATION DOT;Po;0;L;;;;;N;;;;;
+1104A;BRAHMI PUNCTUATION DOUBLE DOT;Po;0;L;;;;;N;;;;;
+1104B;BRAHMI PUNCTUATION LINE;Po;0;L;;;;;N;;;;;
+1104C;BRAHMI PUNCTUATION CRESCENT BAR;Po;0;L;;;;;N;;;;;
+1104D;BRAHMI PUNCTUATION LOTUS;Po;0;L;;;;;N;;;;;
+11052;BRAHMI NUMBER ONE;No;0;ON;;;1;1;N;;;;;
+11053;BRAHMI NUMBER TWO;No;0;ON;;;2;2;N;;;;;
+11054;BRAHMI NUMBER THREE;No;0;ON;;;3;3;N;;;;;
+11055;BRAHMI NUMBER FOUR;No;0;ON;;;4;4;N;;;;;
+11056;BRAHMI NUMBER FIVE;No;0;ON;;;5;5;N;;;;;
+11057;BRAHMI NUMBER SIX;No;0;ON;;;6;6;N;;;;;
+11058;BRAHMI NUMBER SEVEN;No;0;ON;;;7;7;N;;;;;
+11059;BRAHMI NUMBER EIGHT;No;0;ON;;;8;8;N;;;;;
+1105A;BRAHMI NUMBER NINE;No;0;ON;;;9;9;N;;;;;
+1105B;BRAHMI NUMBER TEN;No;0;ON;;;;10;N;;;;;
+1105C;BRAHMI NUMBER TWENTY;No;0;ON;;;;20;N;;;;;
+1105D;BRAHMI NUMBER THIRTY;No;0;ON;;;;30;N;;;;;
+1105E;BRAHMI NUMBER FORTY;No;0;ON;;;;40;N;;;;;
+1105F;BRAHMI NUMBER FIFTY;No;0;ON;;;;50;N;;;;;
+11060;BRAHMI NUMBER SIXTY;No;0;ON;;;;60;N;;;;;
+11061;BRAHMI NUMBER SEVENTY;No;0;ON;;;;70;N;;;;;
+11062;BRAHMI NUMBER EIGHTY;No;0;ON;;;;80;N;;;;;
+11063;BRAHMI NUMBER NINETY;No;0;ON;;;;90;N;;;;;
+11064;BRAHMI NUMBER ONE HUNDRED;No;0;ON;;;;100;N;;;;;
+11065;BRAHMI NUMBER ONE THOUSAND;No;0;ON;;;;1000;N;;;;;
+11066;BRAHMI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11067;BRAHMI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11068;BRAHMI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11069;BRAHMI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1106A;BRAHMI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1106B;BRAHMI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1106C;BRAHMI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1106D;BRAHMI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1106E;BRAHMI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1106F;BRAHMI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1107F;BRAHMI NUMBER JOINER;Mn;9;NSM;;;;;N;;;;;
+11080;KAITHI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11081;KAITHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11082;KAITHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11083;KAITHI LETTER A;Lo;0;L;;;;;N;;;;;
+11084;KAITHI LETTER AA;Lo;0;L;;;;;N;;;;;
+11085;KAITHI LETTER I;Lo;0;L;;;;;N;;;;;
+11086;KAITHI LETTER II;Lo;0;L;;;;;N;;;;;
+11087;KAITHI LETTER U;Lo;0;L;;;;;N;;;;;
+11088;KAITHI LETTER UU;Lo;0;L;;;;;N;;;;;
+11089;KAITHI LETTER E;Lo;0;L;;;;;N;;;;;
+1108A;KAITHI LETTER AI;Lo;0;L;;;;;N;;;;;
+1108B;KAITHI LETTER O;Lo;0;L;;;;;N;;;;;
+1108C;KAITHI LETTER AU;Lo;0;L;;;;;N;;;;;
+1108D;KAITHI LETTER KA;Lo;0;L;;;;;N;;;;;
+1108E;KAITHI LETTER KHA;Lo;0;L;;;;;N;;;;;
+1108F;KAITHI LETTER GA;Lo;0;L;;;;;N;;;;;
+11090;KAITHI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11091;KAITHI LETTER NGA;Lo;0;L;;;;;N;;;;;
+11092;KAITHI LETTER CA;Lo;0;L;;;;;N;;;;;
+11093;KAITHI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11094;KAITHI LETTER JA;Lo;0;L;;;;;N;;;;;
+11095;KAITHI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11096;KAITHI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11097;KAITHI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11098;KAITHI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11099;KAITHI LETTER DDA;Lo;0;L;;;;;N;;;;;
+1109A;KAITHI LETTER DDDHA;Lo;0;L;11099 110BA;;;;N;;;;;
+1109B;KAITHI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1109C;KAITHI LETTER RHA;Lo;0;L;1109B 110BA;;;;N;;;;;
+1109D;KAITHI LETTER NNA;Lo;0;L;;;;;N;;;;;
+1109E;KAITHI LETTER TA;Lo;0;L;;;;;N;;;;;
+1109F;KAITHI LETTER THA;Lo;0;L;;;;;N;;;;;
+110A0;KAITHI LETTER DA;Lo;0;L;;;;;N;;;;;
+110A1;KAITHI LETTER DHA;Lo;0;L;;;;;N;;;;;
+110A2;KAITHI LETTER NA;Lo;0;L;;;;;N;;;;;
+110A3;KAITHI LETTER PA;Lo;0;L;;;;;N;;;;;
+110A4;KAITHI LETTER PHA;Lo;0;L;;;;;N;;;;;
+110A5;KAITHI LETTER BA;Lo;0;L;;;;;N;;;;;
+110A6;KAITHI LETTER BHA;Lo;0;L;;;;;N;;;;;
+110A7;KAITHI LETTER MA;Lo;0;L;;;;;N;;;;;
+110A8;KAITHI LETTER YA;Lo;0;L;;;;;N;;;;;
+110A9;KAITHI LETTER RA;Lo;0;L;;;;;N;;;;;
+110AA;KAITHI LETTER LA;Lo;0;L;;;;;N;;;;;
+110AB;KAITHI LETTER VA;Lo;0;L;110A5 110BA;;;;N;;;;;
+110AC;KAITHI LETTER SHA;Lo;0;L;;;;;N;;;;;
+110AD;KAITHI LETTER SSA;Lo;0;L;;;;;N;;;;;
+110AE;KAITHI LETTER SA;Lo;0;L;;;;;N;;;;;
+110AF;KAITHI LETTER HA;Lo;0;L;;;;;N;;;;;
+110B0;KAITHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+110B1;KAITHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+110B2;KAITHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+110B3;KAITHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+110B4;KAITHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+110B5;KAITHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+110B6;KAITHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+110B7;KAITHI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+110B8;KAITHI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+110B9;KAITHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+110BA;KAITHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+110BB;KAITHI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+110BC;KAITHI ENUMERATION SIGN;Po;0;L;;;;;N;;;;;
+110BD;KAITHI NUMBER SIGN;Cf;0;L;;;;;N;;;;;
+110BE;KAITHI SECTION MARK;Po;0;L;;;;;N;;;;;
+110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
+110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;;
+110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+110D0;SORA SOMPENG LETTER SAH;Lo;0;L;;;;;N;;;;;
+110D1;SORA SOMPENG LETTER TAH;Lo;0;L;;;;;N;;;;;
+110D2;SORA SOMPENG LETTER BAH;Lo;0;L;;;;;N;;;;;
+110D3;SORA SOMPENG LETTER CAH;Lo;0;L;;;;;N;;;;;
+110D4;SORA SOMPENG LETTER DAH;Lo;0;L;;;;;N;;;;;
+110D5;SORA SOMPENG LETTER GAH;Lo;0;L;;;;;N;;;;;
+110D6;SORA SOMPENG LETTER MAH;Lo;0;L;;;;;N;;;;;
+110D7;SORA SOMPENG LETTER NGAH;Lo;0;L;;;;;N;;;;;
+110D8;SORA SOMPENG LETTER LAH;Lo;0;L;;;;;N;;;;;
+110D9;SORA SOMPENG LETTER NAH;Lo;0;L;;;;;N;;;;;
+110DA;SORA SOMPENG LETTER VAH;Lo;0;L;;;;;N;;;;;
+110DB;SORA SOMPENG LETTER PAH;Lo;0;L;;;;;N;;;;;
+110DC;SORA SOMPENG LETTER YAH;Lo;0;L;;;;;N;;;;;
+110DD;SORA SOMPENG LETTER RAH;Lo;0;L;;;;;N;;;;;
+110DE;SORA SOMPENG LETTER HAH;Lo;0;L;;;;;N;;;;;
+110DF;SORA SOMPENG LETTER KAH;Lo;0;L;;;;;N;;;;;
+110E0;SORA SOMPENG LETTER JAH;Lo;0;L;;;;;N;;;;;
+110E1;SORA SOMPENG LETTER NYAH;Lo;0;L;;;;;N;;;;;
+110E2;SORA SOMPENG LETTER AH;Lo;0;L;;;;;N;;;;;
+110E3;SORA SOMPENG LETTER EEH;Lo;0;L;;;;;N;;;;;
+110E4;SORA SOMPENG LETTER IH;Lo;0;L;;;;;N;;;;;
+110E5;SORA SOMPENG LETTER UH;Lo;0;L;;;;;N;;;;;
+110E6;SORA SOMPENG LETTER OH;Lo;0;L;;;;;N;;;;;
+110E7;SORA SOMPENG LETTER EH;Lo;0;L;;;;;N;;;;;
+110E8;SORA SOMPENG LETTER MAE;Lo;0;L;;;;;N;;;;;
+110F0;SORA SOMPENG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+110F1;SORA SOMPENG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+110F2;SORA SOMPENG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+110F3;SORA SOMPENG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+110F4;SORA SOMPENG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+110F5;SORA SOMPENG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+110F6;SORA SOMPENG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+110F7;SORA SOMPENG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+110F8;SORA SOMPENG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+110F9;SORA SOMPENG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11100;CHAKMA SIGN CANDRABINDU;Mn;230;NSM;;;;;N;;;;;
+11101;CHAKMA SIGN ANUSVARA;Mn;230;NSM;;;;;N;;;;;
+11102;CHAKMA SIGN VISARGA;Mn;230;NSM;;;;;N;;;;;
+11103;CHAKMA LETTER AA;Lo;0;L;;;;;N;;;;;
+11104;CHAKMA LETTER I;Lo;0;L;;;;;N;;;;;
+11105;CHAKMA LETTER U;Lo;0;L;;;;;N;;;;;
+11106;CHAKMA LETTER E;Lo;0;L;;;;;N;;;;;
+11107;CHAKMA LETTER KAA;Lo;0;L;;;;;N;;;;;
+11108;CHAKMA LETTER KHAA;Lo;0;L;;;;;N;;;;;
+11109;CHAKMA LETTER GAA;Lo;0;L;;;;;N;;;;;
+1110A;CHAKMA LETTER GHAA;Lo;0;L;;;;;N;;;;;
+1110B;CHAKMA LETTER NGAA;Lo;0;L;;;;;N;;;;;
+1110C;CHAKMA LETTER CAA;Lo;0;L;;;;;N;;;;;
+1110D;CHAKMA LETTER CHAA;Lo;0;L;;;;;N;;;;;
+1110E;CHAKMA LETTER JAA;Lo;0;L;;;;;N;;;;;
+1110F;CHAKMA LETTER JHAA;Lo;0;L;;;;;N;;;;;
+11110;CHAKMA LETTER NYAA;Lo;0;L;;;;;N;;;;;
+11111;CHAKMA LETTER TTAA;Lo;0;L;;;;;N;;;;;
+11112;CHAKMA LETTER TTHAA;Lo;0;L;;;;;N;;;;;
+11113;CHAKMA LETTER DDAA;Lo;0;L;;;;;N;;;;;
+11114;CHAKMA LETTER DDHAA;Lo;0;L;;;;;N;;;;;
+11115;CHAKMA LETTER NNAA;Lo;0;L;;;;;N;;;;;
+11116;CHAKMA LETTER TAA;Lo;0;L;;;;;N;;;;;
+11117;CHAKMA LETTER THAA;Lo;0;L;;;;;N;;;;;
+11118;CHAKMA LETTER DAA;Lo;0;L;;;;;N;;;;;
+11119;CHAKMA LETTER DHAA;Lo;0;L;;;;;N;;;;;
+1111A;CHAKMA LETTER NAA;Lo;0;L;;;;;N;;;;;
+1111B;CHAKMA LETTER PAA;Lo;0;L;;;;;N;;;;;
+1111C;CHAKMA LETTER PHAA;Lo;0;L;;;;;N;;;;;
+1111D;CHAKMA LETTER BAA;Lo;0;L;;;;;N;;;;;
+1111E;CHAKMA LETTER BHAA;Lo;0;L;;;;;N;;;;;
+1111F;CHAKMA LETTER MAA;Lo;0;L;;;;;N;;;;;
+11120;CHAKMA LETTER YYAA;Lo;0;L;;;;;N;;;;;
+11121;CHAKMA LETTER YAA;Lo;0;L;;;;;N;;;;;
+11122;CHAKMA LETTER RAA;Lo;0;L;;;;;N;;;;;
+11123;CHAKMA LETTER LAA;Lo;0;L;;;;;N;;;;;
+11124;CHAKMA LETTER WAA;Lo;0;L;;;;;N;;;;;
+11125;CHAKMA LETTER SAA;Lo;0;L;;;;;N;;;;;
+11126;CHAKMA LETTER HAA;Lo;0;L;;;;;N;;;;;
+11127;CHAKMA VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
+11128;CHAKMA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11129;CHAKMA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+1112A;CHAKMA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1112B;CHAKMA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1112C;CHAKMA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1112D;CHAKMA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1112E;CHAKMA VOWEL SIGN O;Mn;0;NSM;11131 11127;;;;N;;;;;
+1112F;CHAKMA VOWEL SIGN AU;Mn;0;NSM;11132 11127;;;;N;;;;;
+11130;CHAKMA VOWEL SIGN OI;Mn;0;NSM;;;;;N;;;;;
+11131;CHAKMA O MARK;Mn;0;NSM;;;;;N;;;;;
+11132;CHAKMA AU MARK;Mn;0;NSM;;;;;N;;;;;
+11133;CHAKMA VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11134;CHAKMA MAAYYAA;Mn;9;NSM;;;;;N;;;;;
+11136;CHAKMA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11137;CHAKMA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11138;CHAKMA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11139;CHAKMA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1113A;CHAKMA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1113B;CHAKMA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1113C;CHAKMA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1113D;CHAKMA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1113E;CHAKMA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1113F;CHAKMA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11140;CHAKMA SECTION MARK;Po;0;L;;;;;N;;;;;
+11141;CHAKMA DANDA;Po;0;L;;;;;N;;;;;
+11142;CHAKMA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+11143;CHAKMA QUESTION MARK;Po;0;L;;;;;N;;;;;
+11150;MAHAJANI LETTER A;Lo;0;L;;;;;N;;;;;
+11151;MAHAJANI LETTER I;Lo;0;L;;;;;N;;;;;
+11152;MAHAJANI LETTER U;Lo;0;L;;;;;N;;;;;
+11153;MAHAJANI LETTER E;Lo;0;L;;;;;N;;;;;
+11154;MAHAJANI LETTER O;Lo;0;L;;;;;N;;;;;
+11155;MAHAJANI LETTER KA;Lo;0;L;;;;;N;;;;;
+11156;MAHAJANI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11157;MAHAJANI LETTER GA;Lo;0;L;;;;;N;;;;;
+11158;MAHAJANI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11159;MAHAJANI LETTER CA;Lo;0;L;;;;;N;;;;;
+1115A;MAHAJANI LETTER CHA;Lo;0;L;;;;;N;;;;;
+1115B;MAHAJANI LETTER JA;Lo;0;L;;;;;N;;;;;
+1115C;MAHAJANI LETTER JHA;Lo;0;L;;;;;N;;;;;
+1115D;MAHAJANI LETTER NYA;Lo;0;L;;;;;N;;;;;
+1115E;MAHAJANI LETTER TTA;Lo;0;L;;;;;N;;;;;
+1115F;MAHAJANI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11160;MAHAJANI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11161;MAHAJANI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11162;MAHAJANI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11163;MAHAJANI LETTER TA;Lo;0;L;;;;;N;;;;;
+11164;MAHAJANI LETTER THA;Lo;0;L;;;;;N;;;;;
+11165;MAHAJANI LETTER DA;Lo;0;L;;;;;N;;;;;
+11166;MAHAJANI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11167;MAHAJANI LETTER NA;Lo;0;L;;;;;N;;;;;
+11168;MAHAJANI LETTER PA;Lo;0;L;;;;;N;;;;;
+11169;MAHAJANI LETTER PHA;Lo;0;L;;;;;N;;;;;
+1116A;MAHAJANI LETTER BA;Lo;0;L;;;;;N;;;;;
+1116B;MAHAJANI LETTER BHA;Lo;0;L;;;;;N;;;;;
+1116C;MAHAJANI LETTER MA;Lo;0;L;;;;;N;;;;;
+1116D;MAHAJANI LETTER RA;Lo;0;L;;;;;N;;;;;
+1116E;MAHAJANI LETTER LA;Lo;0;L;;;;;N;;;;;
+1116F;MAHAJANI LETTER VA;Lo;0;L;;;;;N;;;;;
+11170;MAHAJANI LETTER SA;Lo;0;L;;;;;N;;;;;
+11171;MAHAJANI LETTER HA;Lo;0;L;;;;;N;;;;;
+11172;MAHAJANI LETTER RRA;Lo;0;L;;;;;N;;;;;
+11173;MAHAJANI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+11174;MAHAJANI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11175;MAHAJANI SECTION MARK;Po;0;L;;;;;N;;;;;
+11176;MAHAJANI LIGATURE SHRI;Lo;0;L;;;;;N;;;;;
+11180;SHARADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11181;SHARADA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11182;SHARADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11183;SHARADA LETTER A;Lo;0;L;;;;;N;;;;;
+11184;SHARADA LETTER AA;Lo;0;L;;;;;N;;;;;
+11185;SHARADA LETTER I;Lo;0;L;;;;;N;;;;;
+11186;SHARADA LETTER II;Lo;0;L;;;;;N;;;;;
+11187;SHARADA LETTER U;Lo;0;L;;;;;N;;;;;
+11188;SHARADA LETTER UU;Lo;0;L;;;;;N;;;;;
+11189;SHARADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1118A;SHARADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+1118B;SHARADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1118C;SHARADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1118D;SHARADA LETTER E;Lo;0;L;;;;;N;;;;;
+1118E;SHARADA LETTER AI;Lo;0;L;;;;;N;;;;;
+1118F;SHARADA LETTER O;Lo;0;L;;;;;N;;;;;
+11190;SHARADA LETTER AU;Lo;0;L;;;;;N;;;;;
+11191;SHARADA LETTER KA;Lo;0;L;;;;;N;;;;;
+11192;SHARADA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11193;SHARADA LETTER GA;Lo;0;L;;;;;N;;;;;
+11194;SHARADA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11195;SHARADA LETTER NGA;Lo;0;L;;;;;N;;;;;
+11196;SHARADA LETTER CA;Lo;0;L;;;;;N;;;;;
+11197;SHARADA LETTER CHA;Lo;0;L;;;;;N;;;;;
+11198;SHARADA LETTER JA;Lo;0;L;;;;;N;;;;;
+11199;SHARADA LETTER JHA;Lo;0;L;;;;;N;;;;;
+1119A;SHARADA LETTER NYA;Lo;0;L;;;;;N;;;;;
+1119B;SHARADA LETTER TTA;Lo;0;L;;;;;N;;;;;
+1119C;SHARADA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1119D;SHARADA LETTER DDA;Lo;0;L;;;;;N;;;;;
+1119E;SHARADA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1119F;SHARADA LETTER NNA;Lo;0;L;;;;;N;;;;;
+111A0;SHARADA LETTER TA;Lo;0;L;;;;;N;;;;;
+111A1;SHARADA LETTER THA;Lo;0;L;;;;;N;;;;;
+111A2;SHARADA LETTER DA;Lo;0;L;;;;;N;;;;;
+111A3;SHARADA LETTER DHA;Lo;0;L;;;;;N;;;;;
+111A4;SHARADA LETTER NA;Lo;0;L;;;;;N;;;;;
+111A5;SHARADA LETTER PA;Lo;0;L;;;;;N;;;;;
+111A6;SHARADA LETTER PHA;Lo;0;L;;;;;N;;;;;
+111A7;SHARADA LETTER BA;Lo;0;L;;;;;N;;;;;
+111A8;SHARADA LETTER BHA;Lo;0;L;;;;;N;;;;;
+111A9;SHARADA LETTER MA;Lo;0;L;;;;;N;;;;;
+111AA;SHARADA LETTER YA;Lo;0;L;;;;;N;;;;;
+111AB;SHARADA LETTER RA;Lo;0;L;;;;;N;;;;;
+111AC;SHARADA LETTER LA;Lo;0;L;;;;;N;;;;;
+111AD;SHARADA LETTER LLA;Lo;0;L;;;;;N;;;;;
+111AE;SHARADA LETTER VA;Lo;0;L;;;;;N;;;;;
+111AF;SHARADA LETTER SHA;Lo;0;L;;;;;N;;;;;
+111B0;SHARADA LETTER SSA;Lo;0;L;;;;;N;;;;;
+111B1;SHARADA LETTER SA;Lo;0;L;;;;;N;;;;;
+111B2;SHARADA LETTER HA;Lo;0;L;;;;;N;;;;;
+111B3;SHARADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+111B4;SHARADA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+111B5;SHARADA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+111B6;SHARADA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+111B7;SHARADA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+111B8;SHARADA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+111B9;SHARADA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+111BA;SHARADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+111BB;SHARADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+111BC;SHARADA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+111BD;SHARADA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+111BE;SHARADA VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+111BF;SHARADA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+111C0;SHARADA SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+111C1;SHARADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+111C2;SHARADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+111C3;SHARADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+111C4;SHARADA OM;Lo;0;L;;;;;N;;;;;
+111C5;SHARADA DANDA;Po;0;L;;;;;N;;;;;
+111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;;
+111C9;SHARADA SANDHI MARK;Po;0;L;;;;;N;;;;;
+111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;;
+111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;;
+111CD;SHARADA SUTRA MARK;Po;0;L;;;;;N;;;;;
+111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+111D2;SHARADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+111D3;SHARADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+111D4;SHARADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+111D5;SHARADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+111D6;SHARADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+111D7;SHARADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+111DA;SHARADA EKAM;Lo;0;L;;;;;N;;;;;
+111DB;SHARADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+111DC;SHARADA HEADSTROKE;Lo;0;L;;;;;N;;;;;
+111DD;SHARADA CONTINUATION SIGN;Po;0;L;;;;;N;;;;;
+111DE;SHARADA SECTION MARK-1;Po;0;L;;;;;N;;;;;
+111DF;SHARADA SECTION MARK-2;Po;0;L;;;;;N;;;;;
+111E1;SINHALA ARCHAIC DIGIT ONE;No;0;L;;;;1;N;;;;;
+111E2;SINHALA ARCHAIC DIGIT TWO;No;0;L;;;;2;N;;;;;
+111E3;SINHALA ARCHAIC DIGIT THREE;No;0;L;;;;3;N;;;;;
+111E4;SINHALA ARCHAIC DIGIT FOUR;No;0;L;;;;4;N;;;;;
+111E5;SINHALA ARCHAIC DIGIT FIVE;No;0;L;;;;5;N;;;;;
+111E6;SINHALA ARCHAIC DIGIT SIX;No;0;L;;;;6;N;;;;;
+111E7;SINHALA ARCHAIC DIGIT SEVEN;No;0;L;;;;7;N;;;;;
+111E8;SINHALA ARCHAIC DIGIT EIGHT;No;0;L;;;;8;N;;;;;
+111E9;SINHALA ARCHAIC DIGIT NINE;No;0;L;;;;9;N;;;;;
+111EA;SINHALA ARCHAIC NUMBER TEN;No;0;L;;;;10;N;;;;;
+111EB;SINHALA ARCHAIC NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+111EC;SINHALA ARCHAIC NUMBER THIRTY;No;0;L;;;;30;N;;;;;
+111ED;SINHALA ARCHAIC NUMBER FORTY;No;0;L;;;;40;N;;;;;
+111EE;SINHALA ARCHAIC NUMBER FIFTY;No;0;L;;;;50;N;;;;;
+111EF;SINHALA ARCHAIC NUMBER SIXTY;No;0;L;;;;60;N;;;;;
+111F0;SINHALA ARCHAIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
+111F1;SINHALA ARCHAIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
+111F2;SINHALA ARCHAIC NUMBER NINETY;No;0;L;;;;90;N;;;;;
+111F3;SINHALA ARCHAIC NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
+111F4;SINHALA ARCHAIC NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
+11200;KHOJKI LETTER A;Lo;0;L;;;;;N;;;;;
+11201;KHOJKI LETTER AA;Lo;0;L;;;;;N;;;;;
+11202;KHOJKI LETTER I;Lo;0;L;;;;;N;;;;;
+11203;KHOJKI LETTER U;Lo;0;L;;;;;N;;;;;
+11204;KHOJKI LETTER E;Lo;0;L;;;;;N;;;;;
+11205;KHOJKI LETTER AI;Lo;0;L;;;;;N;;;;;
+11206;KHOJKI LETTER O;Lo;0;L;;;;;N;;;;;
+11207;KHOJKI LETTER AU;Lo;0;L;;;;;N;;;;;
+11208;KHOJKI LETTER KA;Lo;0;L;;;;;N;;;;;
+11209;KHOJKI LETTER KHA;Lo;0;L;;;;;N;;;;;
+1120A;KHOJKI LETTER GA;Lo;0;L;;;;;N;;;;;
+1120B;KHOJKI LETTER GGA;Lo;0;L;;;;;N;;;;;
+1120C;KHOJKI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1120D;KHOJKI LETTER NGA;Lo;0;L;;;;;N;;;;;
+1120E;KHOJKI LETTER CA;Lo;0;L;;;;;N;;;;;
+1120F;KHOJKI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11210;KHOJKI LETTER JA;Lo;0;L;;;;;N;;;;;
+11211;KHOJKI LETTER JJA;Lo;0;L;;;;;N;;;;;
+11213;KHOJKI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11214;KHOJKI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11215;KHOJKI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11216;KHOJKI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11217;KHOJKI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11218;KHOJKI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11219;KHOJKI LETTER TA;Lo;0;L;;;;;N;;;;;
+1121A;KHOJKI LETTER THA;Lo;0;L;;;;;N;;;;;
+1121B;KHOJKI LETTER DA;Lo;0;L;;;;;N;;;;;
+1121C;KHOJKI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+1121D;KHOJKI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1121E;KHOJKI LETTER NA;Lo;0;L;;;;;N;;;;;
+1121F;KHOJKI LETTER PA;Lo;0;L;;;;;N;;;;;
+11220;KHOJKI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11221;KHOJKI LETTER BA;Lo;0;L;;;;;N;;;;;
+11222;KHOJKI LETTER BBA;Lo;0;L;;;;;N;;;;;
+11223;KHOJKI LETTER BHA;Lo;0;L;;;;;N;;;;;
+11224;KHOJKI LETTER MA;Lo;0;L;;;;;N;;;;;
+11225;KHOJKI LETTER YA;Lo;0;L;;;;;N;;;;;
+11226;KHOJKI LETTER RA;Lo;0;L;;;;;N;;;;;
+11227;KHOJKI LETTER LA;Lo;0;L;;;;;N;;;;;
+11228;KHOJKI LETTER VA;Lo;0;L;;;;;N;;;;;
+11229;KHOJKI LETTER SA;Lo;0;L;;;;;N;;;;;
+1122A;KHOJKI LETTER HA;Lo;0;L;;;;;N;;;;;
+1122B;KHOJKI LETTER LLA;Lo;0;L;;;;;N;;;;;
+1122C;KHOJKI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+1122D;KHOJKI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+1122E;KHOJKI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+1122F;KHOJKI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11230;KHOJKI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11231;KHOJKI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11232;KHOJKI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+11233;KHOJKI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11234;KHOJKI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11235;KHOJKI SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+11236;KHOJKI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+11237;KHOJKI SIGN SHADDA;Mn;0;NSM;;;;;N;;;;;
+11238;KHOJKI DANDA;Po;0;L;;;;;N;;;;;
+11239;KHOJKI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+1123A;KHOJKI WORD SEPARATOR;Po;0;L;;;;;N;;;;;
+1123B;KHOJKI SECTION MARK;Po;0;L;;;;;N;;;;;
+1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
+1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;;
+11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;;
+11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;;
+11283;MULTANI LETTER E;Lo;0;L;;;;;N;;;;;
+11284;MULTANI LETTER KA;Lo;0;L;;;;;N;;;;;
+11285;MULTANI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11286;MULTANI LETTER GA;Lo;0;L;;;;;N;;;;;
+11288;MULTANI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1128A;MULTANI LETTER CA;Lo;0;L;;;;;N;;;;;
+1128B;MULTANI LETTER CHA;Lo;0;L;;;;;N;;;;;
+1128C;MULTANI LETTER JA;Lo;0;L;;;;;N;;;;;
+1128D;MULTANI LETTER JJA;Lo;0;L;;;;;N;;;;;
+1128F;MULTANI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11290;MULTANI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11291;MULTANI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11292;MULTANI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11293;MULTANI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+11294;MULTANI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11295;MULTANI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11296;MULTANI LETTER TA;Lo;0;L;;;;;N;;;;;
+11297;MULTANI LETTER THA;Lo;0;L;;;;;N;;;;;
+11298;MULTANI LETTER DA;Lo;0;L;;;;;N;;;;;
+11299;MULTANI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1129A;MULTANI LETTER NA;Lo;0;L;;;;;N;;;;;
+1129B;MULTANI LETTER PA;Lo;0;L;;;;;N;;;;;
+1129C;MULTANI LETTER PHA;Lo;0;L;;;;;N;;;;;
+1129D;MULTANI LETTER BA;Lo;0;L;;;;;N;;;;;
+1129F;MULTANI LETTER BHA;Lo;0;L;;;;;N;;;;;
+112A0;MULTANI LETTER MA;Lo;0;L;;;;;N;;;;;
+112A1;MULTANI LETTER YA;Lo;0;L;;;;;N;;;;;
+112A2;MULTANI LETTER RA;Lo;0;L;;;;;N;;;;;
+112A3;MULTANI LETTER LA;Lo;0;L;;;;;N;;;;;
+112A4;MULTANI LETTER VA;Lo;0;L;;;;;N;;;;;
+112A5;MULTANI LETTER SA;Lo;0;L;;;;;N;;;;;
+112A6;MULTANI LETTER HA;Lo;0;L;;;;;N;;;;;
+112A7;MULTANI LETTER RRA;Lo;0;L;;;;;N;;;;;
+112A8;MULTANI LETTER RHA;Lo;0;L;;;;;N;;;;;
+112A9;MULTANI SECTION MARK;Po;0;L;;;;;N;;;;;
+112B0;KHUDAWADI LETTER A;Lo;0;L;;;;;N;;;;;
+112B1;KHUDAWADI LETTER AA;Lo;0;L;;;;;N;;;;;
+112B2;KHUDAWADI LETTER I;Lo;0;L;;;;;N;;;;;
+112B3;KHUDAWADI LETTER II;Lo;0;L;;;;;N;;;;;
+112B4;KHUDAWADI LETTER U;Lo;0;L;;;;;N;;;;;
+112B5;KHUDAWADI LETTER UU;Lo;0;L;;;;;N;;;;;
+112B6;KHUDAWADI LETTER E;Lo;0;L;;;;;N;;;;;
+112B7;KHUDAWADI LETTER AI;Lo;0;L;;;;;N;;;;;
+112B8;KHUDAWADI LETTER O;Lo;0;L;;;;;N;;;;;
+112B9;KHUDAWADI LETTER AU;Lo;0;L;;;;;N;;;;;
+112BA;KHUDAWADI LETTER KA;Lo;0;L;;;;;N;;;;;
+112BB;KHUDAWADI LETTER KHA;Lo;0;L;;;;;N;;;;;
+112BC;KHUDAWADI LETTER GA;Lo;0;L;;;;;N;;;;;
+112BD;KHUDAWADI LETTER GGA;Lo;0;L;;;;;N;;;;;
+112BE;KHUDAWADI LETTER GHA;Lo;0;L;;;;;N;;;;;
+112BF;KHUDAWADI LETTER NGA;Lo;0;L;;;;;N;;;;;
+112C0;KHUDAWADI LETTER CA;Lo;0;L;;;;;N;;;;;
+112C1;KHUDAWADI LETTER CHA;Lo;0;L;;;;;N;;;;;
+112C2;KHUDAWADI LETTER JA;Lo;0;L;;;;;N;;;;;
+112C3;KHUDAWADI LETTER JJA;Lo;0;L;;;;;N;;;;;
+112C4;KHUDAWADI LETTER JHA;Lo;0;L;;;;;N;;;;;
+112C5;KHUDAWADI LETTER NYA;Lo;0;L;;;;;N;;;;;
+112C6;KHUDAWADI LETTER TTA;Lo;0;L;;;;;N;;;;;
+112C7;KHUDAWADI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+112C8;KHUDAWADI LETTER DDA;Lo;0;L;;;;;N;;;;;
+112C9;KHUDAWADI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+112CA;KHUDAWADI LETTER RRA;Lo;0;L;;;;;N;;;;;
+112CB;KHUDAWADI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+112CC;KHUDAWADI LETTER NNA;Lo;0;L;;;;;N;;;;;
+112CD;KHUDAWADI LETTER TA;Lo;0;L;;;;;N;;;;;
+112CE;KHUDAWADI LETTER THA;Lo;0;L;;;;;N;;;;;
+112CF;KHUDAWADI LETTER DA;Lo;0;L;;;;;N;;;;;
+112D0;KHUDAWADI LETTER DHA;Lo;0;L;;;;;N;;;;;
+112D1;KHUDAWADI LETTER NA;Lo;0;L;;;;;N;;;;;
+112D2;KHUDAWADI LETTER PA;Lo;0;L;;;;;N;;;;;
+112D3;KHUDAWADI LETTER PHA;Lo;0;L;;;;;N;;;;;
+112D4;KHUDAWADI LETTER BA;Lo;0;L;;;;;N;;;;;
+112D5;KHUDAWADI LETTER BBA;Lo;0;L;;;;;N;;;;;
+112D6;KHUDAWADI LETTER BHA;Lo;0;L;;;;;N;;;;;
+112D7;KHUDAWADI LETTER MA;Lo;0;L;;;;;N;;;;;
+112D8;KHUDAWADI LETTER YA;Lo;0;L;;;;;N;;;;;
+112D9;KHUDAWADI LETTER RA;Lo;0;L;;;;;N;;;;;
+112DA;KHUDAWADI LETTER LA;Lo;0;L;;;;;N;;;;;
+112DB;KHUDAWADI LETTER VA;Lo;0;L;;;;;N;;;;;
+112DC;KHUDAWADI LETTER SHA;Lo;0;L;;;;;N;;;;;
+112DD;KHUDAWADI LETTER SA;Lo;0;L;;;;;N;;;;;
+112DE;KHUDAWADI LETTER HA;Lo;0;L;;;;;N;;;;;
+112DF;KHUDAWADI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+112E0;KHUDAWADI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+112E1;KHUDAWADI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+112E2;KHUDAWADI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+112E3;KHUDAWADI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+112E4;KHUDAWADI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+112E5;KHUDAWADI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+112E6;KHUDAWADI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+112E7;KHUDAWADI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+112E8;KHUDAWADI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+112E9;KHUDAWADI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+112EA;KHUDAWADI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+112F0;KHUDAWADI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+112F1;KHUDAWADI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+112F2;KHUDAWADI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+112F3;KHUDAWADI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+112F4;KHUDAWADI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+112F5;KHUDAWADI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+112F6;KHUDAWADI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+112F7;KHUDAWADI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+112F8;KHUDAWADI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+112F9;KHUDAWADI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11300;GRANTHA SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;;
+11301;GRANTHA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11302;GRANTHA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+11303;GRANTHA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11305;GRANTHA LETTER A;Lo;0;L;;;;;N;;;;;
+11306;GRANTHA LETTER AA;Lo;0;L;;;;;N;;;;;
+11307;GRANTHA LETTER I;Lo;0;L;;;;;N;;;;;
+11308;GRANTHA LETTER II;Lo;0;L;;;;;N;;;;;
+11309;GRANTHA LETTER U;Lo;0;L;;;;;N;;;;;
+1130A;GRANTHA LETTER UU;Lo;0;L;;;;;N;;;;;
+1130B;GRANTHA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1130C;GRANTHA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1130F;GRANTHA LETTER EE;Lo;0;L;;;;;N;;;;;
+11310;GRANTHA LETTER AI;Lo;0;L;;;;;N;;;;;
+11313;GRANTHA LETTER OO;Lo;0;L;;;;;N;;;;;
+11314;GRANTHA LETTER AU;Lo;0;L;;;;;N;;;;;
+11315;GRANTHA LETTER KA;Lo;0;L;;;;;N;;;;;
+11316;GRANTHA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11317;GRANTHA LETTER GA;Lo;0;L;;;;;N;;;;;
+11318;GRANTHA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11319;GRANTHA LETTER NGA;Lo;0;L;;;;;N;;;;;
+1131A;GRANTHA LETTER CA;Lo;0;L;;;;;N;;;;;
+1131B;GRANTHA LETTER CHA;Lo;0;L;;;;;N;;;;;
+1131C;GRANTHA LETTER JA;Lo;0;L;;;;;N;;;;;
+1131D;GRANTHA LETTER JHA;Lo;0;L;;;;;N;;;;;
+1131E;GRANTHA LETTER NYA;Lo;0;L;;;;;N;;;;;
+1131F;GRANTHA LETTER TTA;Lo;0;L;;;;;N;;;;;
+11320;GRANTHA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11321;GRANTHA LETTER DDA;Lo;0;L;;;;;N;;;;;
+11322;GRANTHA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11323;GRANTHA LETTER NNA;Lo;0;L;;;;;N;;;;;
+11324;GRANTHA LETTER TA;Lo;0;L;;;;;N;;;;;
+11325;GRANTHA LETTER THA;Lo;0;L;;;;;N;;;;;
+11326;GRANTHA LETTER DA;Lo;0;L;;;;;N;;;;;
+11327;GRANTHA LETTER DHA;Lo;0;L;;;;;N;;;;;
+11328;GRANTHA LETTER NA;Lo;0;L;;;;;N;;;;;
+1132A;GRANTHA LETTER PA;Lo;0;L;;;;;N;;;;;
+1132B;GRANTHA LETTER PHA;Lo;0;L;;;;;N;;;;;
+1132C;GRANTHA LETTER BA;Lo;0;L;;;;;N;;;;;
+1132D;GRANTHA LETTER BHA;Lo;0;L;;;;;N;;;;;
+1132E;GRANTHA LETTER MA;Lo;0;L;;;;;N;;;;;
+1132F;GRANTHA LETTER YA;Lo;0;L;;;;;N;;;;;
+11330;GRANTHA LETTER RA;Lo;0;L;;;;;N;;;;;
+11332;GRANTHA LETTER LA;Lo;0;L;;;;;N;;;;;
+11333;GRANTHA LETTER LLA;Lo;0;L;;;;;N;;;;;
+11335;GRANTHA LETTER VA;Lo;0;L;;;;;N;;;;;
+11336;GRANTHA LETTER SHA;Lo;0;L;;;;;N;;;;;
+11337;GRANTHA LETTER SSA;Lo;0;L;;;;;N;;;;;
+11338;GRANTHA LETTER SA;Lo;0;L;;;;;N;;;;;
+11339;GRANTHA LETTER HA;Lo;0;L;;;;;N;;;;;
+1133C;GRANTHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+1133D;GRANTHA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+1133E;GRANTHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+1133F;GRANTHA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+11340;GRANTHA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+11341;GRANTHA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+11342;GRANTHA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+11343;GRANTHA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+11344;GRANTHA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+11347;GRANTHA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+11348;GRANTHA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+1134B;GRANTHA VOWEL SIGN OO;Mc;0;L;11347 1133E;;;;N;;;;;
+1134C;GRANTHA VOWEL SIGN AU;Mc;0;L;11347 11357;;;;N;;;;;
+1134D;GRANTHA SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+11350;GRANTHA OM;Lo;0;L;;;;;N;;;;;
+11357;GRANTHA AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+1135D;GRANTHA SIGN PLUTA;Lo;0;L;;;;;N;;;;;
+1135E;GRANTHA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;;
+1135F;GRANTHA LETTER VEDIC DOUBLE ANUSVARA;Lo;0;L;;;;;N;;;;;
+11360;GRANTHA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11361;GRANTHA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+11362;GRANTHA VOWEL SIGN VOCALIC L;Mc;0;L;;;;;N;;;;;
+11363;GRANTHA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;;
+11366;COMBINING GRANTHA DIGIT ZERO;Mn;230;NSM;;;;;N;;;;;
+11367;COMBINING GRANTHA DIGIT ONE;Mn;230;NSM;;;;;N;;;;;
+11368;COMBINING GRANTHA DIGIT TWO;Mn;230;NSM;;;;;N;;;;;
+11369;COMBINING GRANTHA DIGIT THREE;Mn;230;NSM;;;;;N;;;;;
+1136A;COMBINING GRANTHA DIGIT FOUR;Mn;230;NSM;;;;;N;;;;;
+1136B;COMBINING GRANTHA DIGIT FIVE;Mn;230;NSM;;;;;N;;;;;
+1136C;COMBINING GRANTHA DIGIT SIX;Mn;230;NSM;;;;;N;;;;;
+11370;COMBINING GRANTHA LETTER A;Mn;230;NSM;;;;;N;;;;;
+11371;COMBINING GRANTHA LETTER KA;Mn;230;NSM;;;;;N;;;;;
+11372;COMBINING GRANTHA LETTER NA;Mn;230;NSM;;;;;N;;;;;
+11373;COMBINING GRANTHA LETTER VI;Mn;230;NSM;;;;;N;;;;;
+11374;COMBINING GRANTHA LETTER PA;Mn;230;NSM;;;;;N;;;;;
+11480;TIRHUTA ANJI;Lo;0;L;;;;;N;;;;;
+11481;TIRHUTA LETTER A;Lo;0;L;;;;;N;;;;;
+11482;TIRHUTA LETTER AA;Lo;0;L;;;;;N;;;;;
+11483;TIRHUTA LETTER I;Lo;0;L;;;;;N;;;;;
+11484;TIRHUTA LETTER II;Lo;0;L;;;;;N;;;;;
+11485;TIRHUTA LETTER U;Lo;0;L;;;;;N;;;;;
+11486;TIRHUTA LETTER UU;Lo;0;L;;;;;N;;;;;
+11487;TIRHUTA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11488;TIRHUTA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11489;TIRHUTA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1148A;TIRHUTA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1148B;TIRHUTA LETTER E;Lo;0;L;;;;;N;;;;;
+1148C;TIRHUTA LETTER AI;Lo;0;L;;;;;N;;;;;
+1148D;TIRHUTA LETTER O;Lo;0;L;;;;;N;;;;;
+1148E;TIRHUTA LETTER AU;Lo;0;L;;;;;N;;;;;
+1148F;TIRHUTA LETTER KA;Lo;0;L;;;;;N;;;;;
+11490;TIRHUTA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11491;TIRHUTA LETTER GA;Lo;0;L;;;;;N;;;;;
+11492;TIRHUTA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11493;TIRHUTA LETTER NGA;Lo;0;L;;;;;N;;;;;
+11494;TIRHUTA LETTER CA;Lo;0;L;;;;;N;;;;;
+11495;TIRHUTA LETTER CHA;Lo;0;L;;;;;N;;;;;
+11496;TIRHUTA LETTER JA;Lo;0;L;;;;;N;;;;;
+11497;TIRHUTA LETTER JHA;Lo;0;L;;;;;N;;;;;
+11498;TIRHUTA LETTER NYA;Lo;0;L;;;;;N;;;;;
+11499;TIRHUTA LETTER TTA;Lo;0;L;;;;;N;;;;;
+1149A;TIRHUTA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1149B;TIRHUTA LETTER DDA;Lo;0;L;;;;;N;;;;;
+1149C;TIRHUTA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1149D;TIRHUTA LETTER NNA;Lo;0;L;;;;;N;;;;;
+1149E;TIRHUTA LETTER TA;Lo;0;L;;;;;N;;;;;
+1149F;TIRHUTA LETTER THA;Lo;0;L;;;;;N;;;;;
+114A0;TIRHUTA LETTER DA;Lo;0;L;;;;;N;;;;;
+114A1;TIRHUTA LETTER DHA;Lo;0;L;;;;;N;;;;;
+114A2;TIRHUTA LETTER NA;Lo;0;L;;;;;N;;;;;
+114A3;TIRHUTA LETTER PA;Lo;0;L;;;;;N;;;;;
+114A4;TIRHUTA LETTER PHA;Lo;0;L;;;;;N;;;;;
+114A5;TIRHUTA LETTER BA;Lo;0;L;;;;;N;;;;;
+114A6;TIRHUTA LETTER BHA;Lo;0;L;;;;;N;;;;;
+114A7;TIRHUTA LETTER MA;Lo;0;L;;;;;N;;;;;
+114A8;TIRHUTA LETTER YA;Lo;0;L;;;;;N;;;;;
+114A9;TIRHUTA LETTER RA;Lo;0;L;;;;;N;;;;;
+114AA;TIRHUTA LETTER LA;Lo;0;L;;;;;N;;;;;
+114AB;TIRHUTA LETTER VA;Lo;0;L;;;;;N;;;;;
+114AC;TIRHUTA LETTER SHA;Lo;0;L;;;;;N;;;;;
+114AD;TIRHUTA LETTER SSA;Lo;0;L;;;;;N;;;;;
+114AE;TIRHUTA LETTER SA;Lo;0;L;;;;;N;;;;;
+114AF;TIRHUTA LETTER HA;Lo;0;L;;;;;N;;;;;
+114B0;TIRHUTA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+114B1;TIRHUTA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+114B2;TIRHUTA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+114B3;TIRHUTA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+114B4;TIRHUTA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+114B5;TIRHUTA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+114B6;TIRHUTA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+114B7;TIRHUTA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+114B8;TIRHUTA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+114B9;TIRHUTA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+114BA;TIRHUTA VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;;
+114BB;TIRHUTA VOWEL SIGN AI;Mc;0;L;114B9 114BA;;;;N;;;;;
+114BC;TIRHUTA VOWEL SIGN O;Mc;0;L;114B9 114B0;;;;N;;;;;
+114BD;TIRHUTA VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;;
+114BE;TIRHUTA VOWEL SIGN AU;Mc;0;L;114B9 114BD;;;;N;;;;;
+114BF;TIRHUTA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+114C0;TIRHUTA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+114C1;TIRHUTA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+114C2;TIRHUTA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+114C3;TIRHUTA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+114C4;TIRHUTA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+114C5;TIRHUTA GVANG;Lo;0;L;;;;;N;;;;;
+114C6;TIRHUTA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+114C7;TIRHUTA OM;Lo;0;L;;;;;N;;;;;
+114D0;TIRHUTA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+114D1;TIRHUTA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+114D2;TIRHUTA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+114D3;TIRHUTA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+114D4;TIRHUTA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+114D5;TIRHUTA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+114D6;TIRHUTA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+114D7;TIRHUTA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+114D8;TIRHUTA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+114D9;TIRHUTA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11580;SIDDHAM LETTER A;Lo;0;L;;;;;N;;;;;
+11581;SIDDHAM LETTER AA;Lo;0;L;;;;;N;;;;;
+11582;SIDDHAM LETTER I;Lo;0;L;;;;;N;;;;;
+11583;SIDDHAM LETTER II;Lo;0;L;;;;;N;;;;;
+11584;SIDDHAM LETTER U;Lo;0;L;;;;;N;;;;;
+11585;SIDDHAM LETTER UU;Lo;0;L;;;;;N;;;;;
+11586;SIDDHAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11587;SIDDHAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11588;SIDDHAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+11589;SIDDHAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1158A;SIDDHAM LETTER E;Lo;0;L;;;;;N;;;;;
+1158B;SIDDHAM LETTER AI;Lo;0;L;;;;;N;;;;;
+1158C;SIDDHAM LETTER O;Lo;0;L;;;;;N;;;;;
+1158D;SIDDHAM LETTER AU;Lo;0;L;;;;;N;;;;;
+1158E;SIDDHAM LETTER KA;Lo;0;L;;;;;N;;;;;
+1158F;SIDDHAM LETTER KHA;Lo;0;L;;;;;N;;;;;
+11590;SIDDHAM LETTER GA;Lo;0;L;;;;;N;;;;;
+11591;SIDDHAM LETTER GHA;Lo;0;L;;;;;N;;;;;
+11592;SIDDHAM LETTER NGA;Lo;0;L;;;;;N;;;;;
+11593;SIDDHAM LETTER CA;Lo;0;L;;;;;N;;;;;
+11594;SIDDHAM LETTER CHA;Lo;0;L;;;;;N;;;;;
+11595;SIDDHAM LETTER JA;Lo;0;L;;;;;N;;;;;
+11596;SIDDHAM LETTER JHA;Lo;0;L;;;;;N;;;;;
+11597;SIDDHAM LETTER NYA;Lo;0;L;;;;;N;;;;;
+11598;SIDDHAM LETTER TTA;Lo;0;L;;;;;N;;;;;
+11599;SIDDHAM LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1159A;SIDDHAM LETTER DDA;Lo;0;L;;;;;N;;;;;
+1159B;SIDDHAM LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1159C;SIDDHAM LETTER NNA;Lo;0;L;;;;;N;;;;;
+1159D;SIDDHAM LETTER TA;Lo;0;L;;;;;N;;;;;
+1159E;SIDDHAM LETTER THA;Lo;0;L;;;;;N;;;;;
+1159F;SIDDHAM LETTER DA;Lo;0;L;;;;;N;;;;;
+115A0;SIDDHAM LETTER DHA;Lo;0;L;;;;;N;;;;;
+115A1;SIDDHAM LETTER NA;Lo;0;L;;;;;N;;;;;
+115A2;SIDDHAM LETTER PA;Lo;0;L;;;;;N;;;;;
+115A3;SIDDHAM LETTER PHA;Lo;0;L;;;;;N;;;;;
+115A4;SIDDHAM LETTER BA;Lo;0;L;;;;;N;;;;;
+115A5;SIDDHAM LETTER BHA;Lo;0;L;;;;;N;;;;;
+115A6;SIDDHAM LETTER MA;Lo;0;L;;;;;N;;;;;
+115A7;SIDDHAM LETTER YA;Lo;0;L;;;;;N;;;;;
+115A8;SIDDHAM LETTER RA;Lo;0;L;;;;;N;;;;;
+115A9;SIDDHAM LETTER LA;Lo;0;L;;;;;N;;;;;
+115AA;SIDDHAM LETTER VA;Lo;0;L;;;;;N;;;;;
+115AB;SIDDHAM LETTER SHA;Lo;0;L;;;;;N;;;;;
+115AC;SIDDHAM LETTER SSA;Lo;0;L;;;;;N;;;;;
+115AD;SIDDHAM LETTER SA;Lo;0;L;;;;;N;;;;;
+115AE;SIDDHAM LETTER HA;Lo;0;L;;;;;N;;;;;
+115AF;SIDDHAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+115B0;SIDDHAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+115B1;SIDDHAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+115B2;SIDDHAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+115B3;SIDDHAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+115B4;SIDDHAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+115B5;SIDDHAM VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+115B8;SIDDHAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+115B9;SIDDHAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+115BA;SIDDHAM VOWEL SIGN O;Mc;0;L;115B8 115AF;;;;N;;;;;
+115BB;SIDDHAM VOWEL SIGN AU;Mc;0;L;115B9 115AF;;;;N;;;;;
+115BC;SIDDHAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+115BD;SIDDHAM SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+115BE;SIDDHAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+115BF;SIDDHAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+115C0;SIDDHAM SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+115C1;SIDDHAM SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+115C2;SIDDHAM DANDA;Po;0;L;;;;;N;;;;;
+115C3;SIDDHAM DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+115C4;SIDDHAM SEPARATOR DOT;Po;0;L;;;;;N;;;;;
+115C5;SIDDHAM SEPARATOR BAR;Po;0;L;;;;;N;;;;;
+115C6;SIDDHAM REPETITION MARK-1;Po;0;L;;;;;N;;;;;
+115C7;SIDDHAM REPETITION MARK-2;Po;0;L;;;;;N;;;;;
+115C8;SIDDHAM REPETITION MARK-3;Po;0;L;;;;;N;;;;;
+115C9;SIDDHAM END OF TEXT MARK;Po;0;L;;;;;N;;;;;
+115CA;SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS;Po;0;L;;;;;N;;;;;
+115CB;SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;;
+115CC;SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;;
+115CD;SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115CE;SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115CF;SIDDHAM SECTION MARK DOUBLE RING;Po;0;L;;;;;N;;;;;
+115D0;SIDDHAM SECTION MARK DOUBLE RING WITH RAYS;Po;0;L;;;;;N;;;;;
+115D1;SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D2;SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D3;SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D4;SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D5;SIDDHAM SECTION MARK WITH CIRCLES AND RAYS;Po;0;L;;;;;N;;;;;
+115D6;SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES;Po;0;L;;;;;N;;;;;
+115D7;SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES;Po;0;L;;;;;N;;;;;
+115D8;SIDDHAM LETTER THREE-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;;
+115D9;SIDDHAM LETTER TWO-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;;
+115DA;SIDDHAM LETTER TWO-CIRCLE ALTERNATE II;Lo;0;L;;;;;N;;;;;
+115DB;SIDDHAM LETTER ALTERNATE U;Lo;0;L;;;;;N;;;;;
+115DC;SIDDHAM VOWEL SIGN ALTERNATE U;Mn;0;NSM;;;;;N;;;;;
+115DD;SIDDHAM VOWEL SIGN ALTERNATE UU;Mn;0;NSM;;;;;N;;;;;
+11600;MODI LETTER A;Lo;0;L;;;;;N;;;;;
+11601;MODI LETTER AA;Lo;0;L;;;;;N;;;;;
+11602;MODI LETTER I;Lo;0;L;;;;;N;;;;;
+11603;MODI LETTER II;Lo;0;L;;;;;N;;;;;
+11604;MODI LETTER U;Lo;0;L;;;;;N;;;;;
+11605;MODI LETTER UU;Lo;0;L;;;;;N;;;;;
+11606;MODI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11607;MODI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11608;MODI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+11609;MODI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1160A;MODI LETTER E;Lo;0;L;;;;;N;;;;;
+1160B;MODI LETTER AI;Lo;0;L;;;;;N;;;;;
+1160C;MODI LETTER O;Lo;0;L;;;;;N;;;;;
+1160D;MODI LETTER AU;Lo;0;L;;;;;N;;;;;
+1160E;MODI LETTER KA;Lo;0;L;;;;;N;;;;;
+1160F;MODI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11610;MODI LETTER GA;Lo;0;L;;;;;N;;;;;
+11611;MODI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11612;MODI LETTER NGA;Lo;0;L;;;;;N;;;;;
+11613;MODI LETTER CA;Lo;0;L;;;;;N;;;;;
+11614;MODI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11615;MODI LETTER JA;Lo;0;L;;;;;N;;;;;
+11616;MODI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11617;MODI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11618;MODI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11619;MODI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1161A;MODI LETTER DDA;Lo;0;L;;;;;N;;;;;
+1161B;MODI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1161C;MODI LETTER NNA;Lo;0;L;;;;;N;;;;;
+1161D;MODI LETTER TA;Lo;0;L;;;;;N;;;;;
+1161E;MODI LETTER THA;Lo;0;L;;;;;N;;;;;
+1161F;MODI LETTER DA;Lo;0;L;;;;;N;;;;;
+11620;MODI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11621;MODI LETTER NA;Lo;0;L;;;;;N;;;;;
+11622;MODI LETTER PA;Lo;0;L;;;;;N;;;;;
+11623;MODI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11624;MODI LETTER BA;Lo;0;L;;;;;N;;;;;
+11625;MODI LETTER BHA;Lo;0;L;;;;;N;;;;;
+11626;MODI LETTER MA;Lo;0;L;;;;;N;;;;;
+11627;MODI LETTER YA;Lo;0;L;;;;;N;;;;;
+11628;MODI LETTER RA;Lo;0;L;;;;;N;;;;;
+11629;MODI LETTER LA;Lo;0;L;;;;;N;;;;;
+1162A;MODI LETTER VA;Lo;0;L;;;;;N;;;;;
+1162B;MODI LETTER SHA;Lo;0;L;;;;;N;;;;;
+1162C;MODI LETTER SSA;Lo;0;L;;;;;N;;;;;
+1162D;MODI LETTER SA;Lo;0;L;;;;;N;;;;;
+1162E;MODI LETTER HA;Lo;0;L;;;;;N;;;;;
+1162F;MODI LETTER LLA;Lo;0;L;;;;;N;;;;;
+11630;MODI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11631;MODI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+11632;MODI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+11633;MODI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11634;MODI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+11635;MODI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+11636;MODI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+11637;MODI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+11638;MODI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+11639;MODI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+1163A;MODI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1163B;MODI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+1163C;MODI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+1163D;MODI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+1163E;MODI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+1163F;MODI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11640;MODI SIGN ARDHACANDRA;Mn;0;NSM;;;;;N;;;;;
+11641;MODI DANDA;Po;0;L;;;;;N;;;;;
+11642;MODI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+11643;MODI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11644;MODI SIGN HUVA;Lo;0;L;;;;;N;;;;;
+11650;MODI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11651;MODI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11652;MODI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11653;MODI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11654;MODI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11655;MODI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11656;MODI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11657;MODI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11658;MODI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11659;MODI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11680;TAKRI LETTER A;Lo;0;L;;;;;N;;;;;
+11681;TAKRI LETTER AA;Lo;0;L;;;;;N;;;;;
+11682;TAKRI LETTER I;Lo;0;L;;;;;N;;;;;
+11683;TAKRI LETTER II;Lo;0;L;;;;;N;;;;;
+11684;TAKRI LETTER U;Lo;0;L;;;;;N;;;;;
+11685;TAKRI LETTER UU;Lo;0;L;;;;;N;;;;;
+11686;TAKRI LETTER E;Lo;0;L;;;;;N;;;;;
+11687;TAKRI LETTER AI;Lo;0;L;;;;;N;;;;;
+11688;TAKRI LETTER O;Lo;0;L;;;;;N;;;;;
+11689;TAKRI LETTER AU;Lo;0;L;;;;;N;;;;;
+1168A;TAKRI LETTER KA;Lo;0;L;;;;;N;;;;;
+1168B;TAKRI LETTER KHA;Lo;0;L;;;;;N;;;;;
+1168C;TAKRI LETTER GA;Lo;0;L;;;;;N;;;;;
+1168D;TAKRI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1168E;TAKRI LETTER NGA;Lo;0;L;;;;;N;;;;;
+1168F;TAKRI LETTER CA;Lo;0;L;;;;;N;;;;;
+11690;TAKRI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11691;TAKRI LETTER JA;Lo;0;L;;;;;N;;;;;
+11692;TAKRI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11693;TAKRI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11694;TAKRI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11695;TAKRI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11696;TAKRI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11697;TAKRI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11698;TAKRI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11699;TAKRI LETTER TA;Lo;0;L;;;;;N;;;;;
+1169A;TAKRI LETTER THA;Lo;0;L;;;;;N;;;;;
+1169B;TAKRI LETTER DA;Lo;0;L;;;;;N;;;;;
+1169C;TAKRI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1169D;TAKRI LETTER NA;Lo;0;L;;;;;N;;;;;
+1169E;TAKRI LETTER PA;Lo;0;L;;;;;N;;;;;
+1169F;TAKRI LETTER PHA;Lo;0;L;;;;;N;;;;;
+116A0;TAKRI LETTER BA;Lo;0;L;;;;;N;;;;;
+116A1;TAKRI LETTER BHA;Lo;0;L;;;;;N;;;;;
+116A2;TAKRI LETTER MA;Lo;0;L;;;;;N;;;;;
+116A3;TAKRI LETTER YA;Lo;0;L;;;;;N;;;;;
+116A4;TAKRI LETTER RA;Lo;0;L;;;;;N;;;;;
+116A5;TAKRI LETTER LA;Lo;0;L;;;;;N;;;;;
+116A6;TAKRI LETTER VA;Lo;0;L;;;;;N;;;;;
+116A7;TAKRI LETTER SHA;Lo;0;L;;;;;N;;;;;
+116A8;TAKRI LETTER SA;Lo;0;L;;;;;N;;;;;
+116A9;TAKRI LETTER HA;Lo;0;L;;;;;N;;;;;
+116AA;TAKRI LETTER RRA;Lo;0;L;;;;;N;;;;;
+116AB;TAKRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+116AC;TAKRI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+116AD;TAKRI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
+116AE;TAKRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+116AF;TAKRI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+116B0;TAKRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+116B1;TAKRI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+116B2;TAKRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+116B3;TAKRI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+116B4;TAKRI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+116B5;TAKRI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+116B6;TAKRI SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+116B7;TAKRI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+116C0;TAKRI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+116C1;TAKRI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+116C2;TAKRI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+116C3;TAKRI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+116C4;TAKRI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+116C5;TAKRI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+116C6;TAKRI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11700;AHOM LETTER KA;Lo;0;L;;;;;N;;;;;
+11701;AHOM LETTER KHA;Lo;0;L;;;;;N;;;;;
+11702;AHOM LETTER NGA;Lo;0;L;;;;;N;;;;;
+11703;AHOM LETTER NA;Lo;0;L;;;;;N;;;;;
+11704;AHOM LETTER TA;Lo;0;L;;;;;N;;;;;
+11705;AHOM LETTER ALTERNATE TA;Lo;0;L;;;;;N;;;;;
+11706;AHOM LETTER PA;Lo;0;L;;;;;N;;;;;
+11707;AHOM LETTER PHA;Lo;0;L;;;;;N;;;;;
+11708;AHOM LETTER BA;Lo;0;L;;;;;N;;;;;
+11709;AHOM LETTER MA;Lo;0;L;;;;;N;;;;;
+1170A;AHOM LETTER JA;Lo;0;L;;;;;N;;;;;
+1170B;AHOM LETTER CHA;Lo;0;L;;;;;N;;;;;
+1170C;AHOM LETTER THA;Lo;0;L;;;;;N;;;;;
+1170D;AHOM LETTER RA;Lo;0;L;;;;;N;;;;;
+1170E;AHOM LETTER LA;Lo;0;L;;;;;N;;;;;
+1170F;AHOM LETTER SA;Lo;0;L;;;;;N;;;;;
+11710;AHOM LETTER NYA;Lo;0;L;;;;;N;;;;;
+11711;AHOM LETTER HA;Lo;0;L;;;;;N;;;;;
+11712;AHOM LETTER A;Lo;0;L;;;;;N;;;;;
+11713;AHOM LETTER DA;Lo;0;L;;;;;N;;;;;
+11714;AHOM LETTER DHA;Lo;0;L;;;;;N;;;;;
+11715;AHOM LETTER GA;Lo;0;L;;;;;N;;;;;
+11716;AHOM LETTER ALTERNATE GA;Lo;0;L;;;;;N;;;;;
+11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;;
+11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;;
+11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;;
+1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
+1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;;
+1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;;
+11720;AHOM VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+11721;AHOM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11722;AHOM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11723;AHOM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+11724;AHOM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11725;AHOM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+11726;AHOM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+11727;AHOM VOWEL SIGN AW;Mn;0;NSM;;;;;N;;;;;
+11728;AHOM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11729;AHOM VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1172A;AHOM VOWEL SIGN AM;Mn;0;NSM;;;;;N;;;;;
+1172B;AHOM SIGN KILLER;Mn;9;NSM;;;;;N;;;;;
+11730;AHOM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11731;AHOM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11732;AHOM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11733;AHOM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11734;AHOM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11735;AHOM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11736;AHOM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11737;AHOM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11738;AHOM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11739;AHOM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1173A;AHOM NUMBER TEN;No;0;L;;;;10;N;;;;;
+1173B;AHOM NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+1173C;AHOM SIGN SMALL SECTION;Po;0;L;;;;;N;;;;;
+1173D;AHOM SIGN SECTION;Po;0;L;;;;;N;;;;;
+1173E;AHOM SIGN RULAI;Po;0;L;;;;;N;;;;;
+1173F;AHOM SYMBOL VI;So;0;L;;;;;N;;;;;
+118A0;WARANG CITI CAPITAL LETTER NGAA;Lu;0;L;;;;;N;;;;118C0;
+118A1;WARANG CITI CAPITAL LETTER A;Lu;0;L;;;;;N;;;;118C1;
+118A2;WARANG CITI CAPITAL LETTER WI;Lu;0;L;;;;;N;;;;118C2;
+118A3;WARANG CITI CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;118C3;
+118A4;WARANG CITI CAPITAL LETTER YA;Lu;0;L;;;;;N;;;;118C4;
+118A5;WARANG CITI CAPITAL LETTER YO;Lu;0;L;;;;;N;;;;118C5;
+118A6;WARANG CITI CAPITAL LETTER II;Lu;0;L;;;;;N;;;;118C6;
+118A7;WARANG CITI CAPITAL LETTER UU;Lu;0;L;;;;;N;;;;118C7;
+118A8;WARANG CITI CAPITAL LETTER E;Lu;0;L;;;;;N;;;;118C8;
+118A9;WARANG CITI CAPITAL LETTER O;Lu;0;L;;;;;N;;;;118C9;
+118AA;WARANG CITI CAPITAL LETTER ANG;Lu;0;L;;;;;N;;;;118CA;
+118AB;WARANG CITI CAPITAL LETTER GA;Lu;0;L;;;;;N;;;;118CB;
+118AC;WARANG CITI CAPITAL LETTER KO;Lu;0;L;;;;;N;;;;118CC;
+118AD;WARANG CITI CAPITAL LETTER ENY;Lu;0;L;;;;;N;;;;118CD;
+118AE;WARANG CITI CAPITAL LETTER YUJ;Lu;0;L;;;;;N;;;;118CE;
+118AF;WARANG CITI CAPITAL LETTER UC;Lu;0;L;;;;;N;;;;118CF;
+118B0;WARANG CITI CAPITAL LETTER ENN;Lu;0;L;;;;;N;;;;118D0;
+118B1;WARANG CITI CAPITAL LETTER ODD;Lu;0;L;;;;;N;;;;118D1;
+118B2;WARANG CITI CAPITAL LETTER TTE;Lu;0;L;;;;;N;;;;118D2;
+118B3;WARANG CITI CAPITAL LETTER NUNG;Lu;0;L;;;;;N;;;;118D3;
+118B4;WARANG CITI CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;118D4;
+118B5;WARANG CITI CAPITAL LETTER AT;Lu;0;L;;;;;N;;;;118D5;
+118B6;WARANG CITI CAPITAL LETTER AM;Lu;0;L;;;;;N;;;;118D6;
+118B7;WARANG CITI CAPITAL LETTER BU;Lu;0;L;;;;;N;;;;118D7;
+118B8;WARANG CITI CAPITAL LETTER PU;Lu;0;L;;;;;N;;;;118D8;
+118B9;WARANG CITI CAPITAL LETTER HIYO;Lu;0;L;;;;;N;;;;118D9;
+118BA;WARANG CITI CAPITAL LETTER HOLO;Lu;0;L;;;;;N;;;;118DA;
+118BB;WARANG CITI CAPITAL LETTER HORR;Lu;0;L;;;;;N;;;;118DB;
+118BC;WARANG CITI CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;118DC;
+118BD;WARANG CITI CAPITAL LETTER SSUU;Lu;0;L;;;;;N;;;;118DD;
+118BE;WARANG CITI CAPITAL LETTER SII;Lu;0;L;;;;;N;;;;118DE;
+118BF;WARANG CITI CAPITAL LETTER VIYO;Lu;0;L;;;;;N;;;;118DF;
+118C0;WARANG CITI SMALL LETTER NGAA;Ll;0;L;;;;;N;;;118A0;;118A0
+118C1;WARANG CITI SMALL LETTER A;Ll;0;L;;;;;N;;;118A1;;118A1
+118C2;WARANG CITI SMALL LETTER WI;Ll;0;L;;;;;N;;;118A2;;118A2
+118C3;WARANG CITI SMALL LETTER YU;Ll;0;L;;;;;N;;;118A3;;118A3
+118C4;WARANG CITI SMALL LETTER YA;Ll;0;L;;;;;N;;;118A4;;118A4
+118C5;WARANG CITI SMALL LETTER YO;Ll;0;L;;;;;N;;;118A5;;118A5
+118C6;WARANG CITI SMALL LETTER II;Ll;0;L;;;;;N;;;118A6;;118A6
+118C7;WARANG CITI SMALL LETTER UU;Ll;0;L;;;;;N;;;118A7;;118A7
+118C8;WARANG CITI SMALL LETTER E;Ll;0;L;;;;;N;;;118A8;;118A8
+118C9;WARANG CITI SMALL LETTER O;Ll;0;L;;;;;N;;;118A9;;118A9
+118CA;WARANG CITI SMALL LETTER ANG;Ll;0;L;;;;;N;;;118AA;;118AA
+118CB;WARANG CITI SMALL LETTER GA;Ll;0;L;;;;;N;;;118AB;;118AB
+118CC;WARANG CITI SMALL LETTER KO;Ll;0;L;;;;;N;;;118AC;;118AC
+118CD;WARANG CITI SMALL LETTER ENY;Ll;0;L;;;;;N;;;118AD;;118AD
+118CE;WARANG CITI SMALL LETTER YUJ;Ll;0;L;;;;;N;;;118AE;;118AE
+118CF;WARANG CITI SMALL LETTER UC;Ll;0;L;;;;;N;;;118AF;;118AF
+118D0;WARANG CITI SMALL LETTER ENN;Ll;0;L;;;;;N;;;118B0;;118B0
+118D1;WARANG CITI SMALL LETTER ODD;Ll;0;L;;;;;N;;;118B1;;118B1
+118D2;WARANG CITI SMALL LETTER TTE;Ll;0;L;;;;;N;;;118B2;;118B2
+118D3;WARANG CITI SMALL LETTER NUNG;Ll;0;L;;;;;N;;;118B3;;118B3
+118D4;WARANG CITI SMALL LETTER DA;Ll;0;L;;;;;N;;;118B4;;118B4
+118D5;WARANG CITI SMALL LETTER AT;Ll;0;L;;;;;N;;;118B5;;118B5
+118D6;WARANG CITI SMALL LETTER AM;Ll;0;L;;;;;N;;;118B6;;118B6
+118D7;WARANG CITI SMALL LETTER BU;Ll;0;L;;;;;N;;;118B7;;118B7
+118D8;WARANG CITI SMALL LETTER PU;Ll;0;L;;;;;N;;;118B8;;118B8
+118D9;WARANG CITI SMALL LETTER HIYO;Ll;0;L;;;;;N;;;118B9;;118B9
+118DA;WARANG CITI SMALL LETTER HOLO;Ll;0;L;;;;;N;;;118BA;;118BA
+118DB;WARANG CITI SMALL LETTER HORR;Ll;0;L;;;;;N;;;118BB;;118BB
+118DC;WARANG CITI SMALL LETTER HAR;Ll;0;L;;;;;N;;;118BC;;118BC
+118DD;WARANG CITI SMALL LETTER SSUU;Ll;0;L;;;;;N;;;118BD;;118BD
+118DE;WARANG CITI SMALL LETTER SII;Ll;0;L;;;;;N;;;118BE;;118BE
+118DF;WARANG CITI SMALL LETTER VIYO;Ll;0;L;;;;;N;;;118BF;;118BF
+118E0;WARANG CITI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+118E1;WARANG CITI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+118E2;WARANG CITI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+118E3;WARANG CITI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+118E4;WARANG CITI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+118E5;WARANG CITI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+118E6;WARANG CITI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+118E7;WARANG CITI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+118E8;WARANG CITI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+118E9;WARANG CITI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+118EA;WARANG CITI NUMBER TEN;No;0;L;;;;10;N;;;;;
+118EB;WARANG CITI NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+118EC;WARANG CITI NUMBER THIRTY;No;0;L;;;;30;N;;;;;
+118ED;WARANG CITI NUMBER FORTY;No;0;L;;;;40;N;;;;;
+118EE;WARANG CITI NUMBER FIFTY;No;0;L;;;;50;N;;;;;
+118EF;WARANG CITI NUMBER SIXTY;No;0;L;;;;60;N;;;;;
+118F0;WARANG CITI NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
+118F1;WARANG CITI NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
+118F2;WARANG CITI NUMBER NINETY;No;0;L;;;;90;N;;;;;
+118FF;WARANG CITI OM;Lo;0;L;;;;;N;;;;;
+11AC0;PAU CIN HAU LETTER PA;Lo;0;L;;;;;N;;;;;
+11AC1;PAU CIN HAU LETTER KA;Lo;0;L;;;;;N;;;;;
+11AC2;PAU CIN HAU LETTER LA;Lo;0;L;;;;;N;;;;;
+11AC3;PAU CIN HAU LETTER MA;Lo;0;L;;;;;N;;;;;
+11AC4;PAU CIN HAU LETTER DA;Lo;0;L;;;;;N;;;;;
+11AC5;PAU CIN HAU LETTER ZA;Lo;0;L;;;;;N;;;;;
+11AC6;PAU CIN HAU LETTER VA;Lo;0;L;;;;;N;;;;;
+11AC7;PAU CIN HAU LETTER NGA;Lo;0;L;;;;;N;;;;;
+11AC8;PAU CIN HAU LETTER HA;Lo;0;L;;;;;N;;;;;
+11AC9;PAU CIN HAU LETTER GA;Lo;0;L;;;;;N;;;;;
+11ACA;PAU CIN HAU LETTER KHA;Lo;0;L;;;;;N;;;;;
+11ACB;PAU CIN HAU LETTER SA;Lo;0;L;;;;;N;;;;;
+11ACC;PAU CIN HAU LETTER BA;Lo;0;L;;;;;N;;;;;
+11ACD;PAU CIN HAU LETTER CA;Lo;0;L;;;;;N;;;;;
+11ACE;PAU CIN HAU LETTER TA;Lo;0;L;;;;;N;;;;;
+11ACF;PAU CIN HAU LETTER THA;Lo;0;L;;;;;N;;;;;
+11AD0;PAU CIN HAU LETTER NA;Lo;0;L;;;;;N;;;;;
+11AD1;PAU CIN HAU LETTER PHA;Lo;0;L;;;;;N;;;;;
+11AD2;PAU CIN HAU LETTER RA;Lo;0;L;;;;;N;;;;;
+11AD3;PAU CIN HAU LETTER FA;Lo;0;L;;;;;N;;;;;
+11AD4;PAU CIN HAU LETTER CHA;Lo;0;L;;;;;N;;;;;
+11AD5;PAU CIN HAU LETTER A;Lo;0;L;;;;;N;;;;;
+11AD6;PAU CIN HAU LETTER E;Lo;0;L;;;;;N;;;;;
+11AD7;PAU CIN HAU LETTER I;Lo;0;L;;;;;N;;;;;
+11AD8;PAU CIN HAU LETTER O;Lo;0;L;;;;;N;;;;;
+11AD9;PAU CIN HAU LETTER U;Lo;0;L;;;;;N;;;;;
+11ADA;PAU CIN HAU LETTER UA;Lo;0;L;;;;;N;;;;;
+11ADB;PAU CIN HAU LETTER IA;Lo;0;L;;;;;N;;;;;
+11ADC;PAU CIN HAU LETTER FINAL P;Lo;0;L;;;;;N;;;;;
+11ADD;PAU CIN HAU LETTER FINAL K;Lo;0;L;;;;;N;;;;;
+11ADE;PAU CIN HAU LETTER FINAL T;Lo;0;L;;;;;N;;;;;
+11ADF;PAU CIN HAU LETTER FINAL M;Lo;0;L;;;;;N;;;;;
+11AE0;PAU CIN HAU LETTER FINAL N;Lo;0;L;;;;;N;;;;;
+11AE1;PAU CIN HAU LETTER FINAL L;Lo;0;L;;;;;N;;;;;
+11AE2;PAU CIN HAU LETTER FINAL W;Lo;0;L;;;;;N;;;;;
+11AE3;PAU CIN HAU LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
+11AE4;PAU CIN HAU LETTER FINAL Y;Lo;0;L;;;;;N;;;;;
+11AE5;PAU CIN HAU RISING TONE LONG;Lo;0;L;;;;;N;;;;;
+11AE6;PAU CIN HAU RISING TONE;Lo;0;L;;;;;N;;;;;
+11AE7;PAU CIN HAU SANDHI GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
+11AE8;PAU CIN HAU RISING TONE LONG FINAL;Lo;0;L;;;;;N;;;;;
+11AE9;PAU CIN HAU RISING TONE FINAL;Lo;0;L;;;;;N;;;;;
+11AEA;PAU CIN HAU SANDHI GLOTTAL STOP FINAL;Lo;0;L;;;;;N;;;;;
+11AEB;PAU CIN HAU SANDHI TONE LONG;Lo;0;L;;;;;N;;;;;
+11AEC;PAU CIN HAU SANDHI TONE;Lo;0;L;;;;;N;;;;;
+11AED;PAU CIN HAU SANDHI TONE LONG FINAL;Lo;0;L;;;;;N;;;;;
+11AEE;PAU CIN HAU SANDHI TONE FINAL;Lo;0;L;;;;;N;;;;;
+11AEF;PAU CIN HAU MID-LEVEL TONE;Lo;0;L;;;;;N;;;;;
+11AF0;PAU CIN HAU GLOTTAL STOP VARIANT;Lo;0;L;;;;;N;;;;;
+11AF1;PAU CIN HAU MID-LEVEL TONE LONG FINAL;Lo;0;L;;;;;N;;;;;
+11AF2;PAU CIN HAU MID-LEVEL TONE FINAL;Lo;0;L;;;;;N;;;;;
+11AF3;PAU CIN HAU LOW-FALLING TONE LONG;Lo;0;L;;;;;N;;;;;
+11AF4;PAU CIN HAU LOW-FALLING TONE;Lo;0;L;;;;;N;;;;;
+11AF5;PAU CIN HAU GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
+11AF6;PAU CIN HAU LOW-FALLING TONE LONG FINAL;Lo;0;L;;;;;N;;;;;
+11AF7;PAU CIN HAU LOW-FALLING TONE FINAL;Lo;0;L;;;;;N;;;;;
+11AF8;PAU CIN HAU GLOTTAL STOP FINAL;Lo;0;L;;;;;N;;;;;
12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
@@ -27658,6 +20768,49 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1236C;CUNEIFORM SIGN ZU5 TIMES A;Lo;0;L;;;;;N;;;;;
1236D;CUNEIFORM SIGN ZUBUR;Lo;0;L;;;;;N;;;;;
1236E;CUNEIFORM SIGN ZUM;Lo;0;L;;;;;N;;;;;
+1236F;CUNEIFORM SIGN KAP ELAMITE;Lo;0;L;;;;;N;;;;;
+12370;CUNEIFORM SIGN AB TIMES NUN;Lo;0;L;;;;;N;;;;;
+12371;CUNEIFORM SIGN AB2 TIMES A;Lo;0;L;;;;;N;;;;;
+12372;CUNEIFORM SIGN AMAR TIMES KUG;Lo;0;L;;;;;N;;;;;
+12373;CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS MASH;Lo;0;L;;;;;N;;;;;
+12374;CUNEIFORM SIGN DAG3;Lo;0;L;;;;;N;;;;;
+12375;CUNEIFORM SIGN DISH PLUS SHU;Lo;0;L;;;;;N;;;;;
+12376;CUNEIFORM SIGN DUB TIMES SHE;Lo;0;L;;;;;N;;;;;
+12377;CUNEIFORM SIGN EZEN TIMES GUD;Lo;0;L;;;;;N;;;;;
+12378;CUNEIFORM SIGN EZEN TIMES SHE;Lo;0;L;;;;;N;;;;;
+12379;CUNEIFORM SIGN GA2 TIMES AN PLUS KAK PLUS A;Lo;0;L;;;;;N;;;;;
+1237A;CUNEIFORM SIGN GA2 TIMES ASH2;Lo;0;L;;;;;N;;;;;
+1237B;CUNEIFORM SIGN GE22;Lo;0;L;;;;;N;;;;;
+1237C;CUNEIFORM SIGN GIG;Lo;0;L;;;;;N;;;;;
+1237D;CUNEIFORM SIGN HUSH;Lo;0;L;;;;;N;;;;;
+1237E;CUNEIFORM SIGN KA TIMES ANSHE;Lo;0;L;;;;;N;;;;;
+1237F;CUNEIFORM SIGN KA TIMES ASH3;Lo;0;L;;;;;N;;;;;
+12380;CUNEIFORM SIGN KA TIMES GISH;Lo;0;L;;;;;N;;;;;
+12381;CUNEIFORM SIGN KA TIMES GUD;Lo;0;L;;;;;N;;;;;
+12382;CUNEIFORM SIGN KA TIMES HI TIMES ASH2;Lo;0;L;;;;;N;;;;;
+12383;CUNEIFORM SIGN KA TIMES LUM;Lo;0;L;;;;;N;;;;;
+12384;CUNEIFORM SIGN KA TIMES PA;Lo;0;L;;;;;N;;;;;
+12385;CUNEIFORM SIGN KA TIMES SHUL;Lo;0;L;;;;;N;;;;;
+12386;CUNEIFORM SIGN KA TIMES TU;Lo;0;L;;;;;N;;;;;
+12387;CUNEIFORM SIGN KA TIMES UR2;Lo;0;L;;;;;N;;;;;
+12388;CUNEIFORM SIGN LAGAB TIMES GI;Lo;0;L;;;;;N;;;;;
+12389;CUNEIFORM SIGN LU2 SHESHIG TIMES BAD;Lo;0;L;;;;;N;;;;;
+1238A;CUNEIFORM SIGN LU2 TIMES ESH2 PLUS LAL;Lo;0;L;;;;;N;;;;;
+1238B;CUNEIFORM SIGN LU2 TIMES SHU;Lo;0;L;;;;;N;;;;;
+1238C;CUNEIFORM SIGN MESH;Lo;0;L;;;;;N;;;;;
+1238D;CUNEIFORM SIGN MUSH3 TIMES ZA;Lo;0;L;;;;;N;;;;;
+1238E;CUNEIFORM SIGN NA4;Lo;0;L;;;;;N;;;;;
+1238F;CUNEIFORM SIGN NIN;Lo;0;L;;;;;N;;;;;
+12390;CUNEIFORM SIGN NIN9;Lo;0;L;;;;;N;;;;;
+12391;CUNEIFORM SIGN NINDA2 TIMES BAL;Lo;0;L;;;;;N;;;;;
+12392;CUNEIFORM SIGN NINDA2 TIMES GI;Lo;0;L;;;;;N;;;;;
+12393;CUNEIFORM SIGN NU11 ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;;
+12394;CUNEIFORM SIGN PESH2 ASTERISK;Lo;0;L;;;;;N;;;;;
+12395;CUNEIFORM SIGN PIR2;Lo;0;L;;;;;N;;;;;
+12396;CUNEIFORM SIGN SAG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+12397;CUNEIFORM SIGN TI2;Lo;0;L;;;;;N;;;;;
+12398;CUNEIFORM SIGN UM TIMES ME;Lo;0;L;;;;;N;;;;;
+12399;CUNEIFORM SIGN U U;Lo;0;L;;;;;N;;;;;
12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;;
12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;;
12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;;
@@ -27708,8 +20861,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;;
12430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;;
12431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;;
-12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;;N;;;;;
-12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;;N;;;;;
+12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;216000;N;;;;;
+12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;432000;N;;;;;
12434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;;
12435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;;
12436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;;
@@ -27744,8 +20897,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
12453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;;
12454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;;
12455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;;
-12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;;N;;;;;
-12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;;N;;;;;
+12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;2;N;;;;;
+12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;3;N;;;;;
12458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;;
12459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;;
1245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;;
@@ -27757,10 +20910,2930 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
12460;CUNEIFORM NUMERIC SIGN ONE QUARTER ASH;Nl;0;L;;;;1/4;N;;;;;
12461;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH;Nl;0;L;;;;1/6;N;;;;;
12462;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER;Nl;0;L;;;;1/4;N;;;;;
+12463;CUNEIFORM NUMERIC SIGN ONE QUARTER GUR;Nl;0;L;;;;1/4;N;;;;;
+12464;CUNEIFORM NUMERIC SIGN ONE HALF GUR;Nl;0;L;;;;1/2;N;;;;;
+12465;CUNEIFORM NUMERIC SIGN ELAMITE ONE THIRD;Nl;0;L;;;;1/3;N;;;;;
+12466;CUNEIFORM NUMERIC SIGN ELAMITE TWO THIRDS;Nl;0;L;;;;2/3;N;;;;;
+12467;CUNEIFORM NUMERIC SIGN ELAMITE FORTY;Nl;0;L;;;;40;N;;;;;
+12468;CUNEIFORM NUMERIC SIGN ELAMITE FIFTY;Nl;0;L;;;;50;N;;;;;
+12469;CUNEIFORM NUMERIC SIGN FOUR U VARIANT FORM;Nl;0;L;;;;4;N;;;;;
+1246A;CUNEIFORM NUMERIC SIGN FIVE U VARIANT FORM;Nl;0;L;;;;5;N;;;;;
+1246B;CUNEIFORM NUMERIC SIGN SIX U VARIANT FORM;Nl;0;L;;;;6;N;;;;;
+1246C;CUNEIFORM NUMERIC SIGN SEVEN U VARIANT FORM;Nl;0;L;;;;7;N;;;;;
+1246D;CUNEIFORM NUMERIC SIGN EIGHT U VARIANT FORM;Nl;0;L;;;;8;N;;;;;
+1246E;CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM;Nl;0;L;;;;9;N;;;;;
12470;CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER;Po;0;L;;;;;N;;;;;
12471;CUNEIFORM PUNCTUATION SIGN VERTICAL COLON;Po;0;L;;;;;N;;;;;
12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;;
12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;;
+12474;CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON;Po;0;L;;;;;N;;;;;
+12480;CUNEIFORM SIGN AB TIMES NUN TENU;Lo;0;L;;;;;N;;;;;
+12481;CUNEIFORM SIGN AB TIMES SHU2;Lo;0;L;;;;;N;;;;;
+12482;CUNEIFORM SIGN AD TIMES ESH2;Lo;0;L;;;;;N;;;;;
+12483;CUNEIFORM SIGN BAD TIMES DISH TENU;Lo;0;L;;;;;N;;;;;
+12484;CUNEIFORM SIGN BAHAR2 TIMES AB2;Lo;0;L;;;;;N;;;;;
+12485;CUNEIFORM SIGN BAHAR2 TIMES NI;Lo;0;L;;;;;N;;;;;
+12486;CUNEIFORM SIGN BAHAR2 TIMES ZA;Lo;0;L;;;;;N;;;;;
+12487;CUNEIFORM SIGN BU OVER BU TIMES NA2;Lo;0;L;;;;;N;;;;;
+12488;CUNEIFORM SIGN DA TIMES TAK4;Lo;0;L;;;;;N;;;;;
+12489;CUNEIFORM SIGN DAG TIMES KUR;Lo;0;L;;;;;N;;;;;
+1248A;CUNEIFORM SIGN DIM TIMES IGI;Lo;0;L;;;;;N;;;;;
+1248B;CUNEIFORM SIGN DIM TIMES U U U;Lo;0;L;;;;;N;;;;;
+1248C;CUNEIFORM SIGN DIM2 TIMES UD;Lo;0;L;;;;;N;;;;;
+1248D;CUNEIFORM SIGN DUG TIMES ANSHE;Lo;0;L;;;;;N;;;;;
+1248E;CUNEIFORM SIGN DUG TIMES ASH;Lo;0;L;;;;;N;;;;;
+1248F;CUNEIFORM SIGN DUG TIMES ASH AT LEFT;Lo;0;L;;;;;N;;;;;
+12490;CUNEIFORM SIGN DUG TIMES DIN;Lo;0;L;;;;;N;;;;;
+12491;CUNEIFORM SIGN DUG TIMES DUN;Lo;0;L;;;;;N;;;;;
+12492;CUNEIFORM SIGN DUG TIMES ERIN2;Lo;0;L;;;;;N;;;;;
+12493;CUNEIFORM SIGN DUG TIMES GA;Lo;0;L;;;;;N;;;;;
+12494;CUNEIFORM SIGN DUG TIMES GI;Lo;0;L;;;;;N;;;;;
+12495;CUNEIFORM SIGN DUG TIMES GIR2 GUNU;Lo;0;L;;;;;N;;;;;
+12496;CUNEIFORM SIGN DUG TIMES GISH;Lo;0;L;;;;;N;;;;;
+12497;CUNEIFORM SIGN DUG TIMES HA;Lo;0;L;;;;;N;;;;;
+12498;CUNEIFORM SIGN DUG TIMES HI;Lo;0;L;;;;;N;;;;;
+12499;CUNEIFORM SIGN DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+1249A;CUNEIFORM SIGN DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;;
+1249B;CUNEIFORM SIGN DUG TIMES KUR;Lo;0;L;;;;;N;;;;;
+1249C;CUNEIFORM SIGN DUG TIMES KUSHU2;Lo;0;L;;;;;N;;;;;
+1249D;CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;;
+1249E;CUNEIFORM SIGN DUG TIMES LAK-020;Lo;0;L;;;;;N;;;;;
+1249F;CUNEIFORM SIGN DUG TIMES LAM;Lo;0;L;;;;;N;;;;;
+124A0;CUNEIFORM SIGN DUG TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;;
+124A1;CUNEIFORM SIGN DUG TIMES LUH PLUS GISH;Lo;0;L;;;;;N;;;;;
+124A2;CUNEIFORM SIGN DUG TIMES MASH;Lo;0;L;;;;;N;;;;;
+124A3;CUNEIFORM SIGN DUG TIMES MES;Lo;0;L;;;;;N;;;;;
+124A4;CUNEIFORM SIGN DUG TIMES MI;Lo;0;L;;;;;N;;;;;
+124A5;CUNEIFORM SIGN DUG TIMES NI;Lo;0;L;;;;;N;;;;;
+124A6;CUNEIFORM SIGN DUG TIMES PI;Lo;0;L;;;;;N;;;;;
+124A7;CUNEIFORM SIGN DUG TIMES SHE;Lo;0;L;;;;;N;;;;;
+124A8;CUNEIFORM SIGN DUG TIMES SI GUNU;Lo;0;L;;;;;N;;;;;
+124A9;CUNEIFORM SIGN E2 TIMES KUR;Lo;0;L;;;;;N;;;;;
+124AA;CUNEIFORM SIGN E2 TIMES PAP;Lo;0;L;;;;;N;;;;;
+124AB;CUNEIFORM SIGN ERIN2 X;Lo;0;L;;;;;N;;;;;
+124AC;CUNEIFORM SIGN ESH2 CROSSING ESH2;Lo;0;L;;;;;N;;;;;
+124AD;CUNEIFORM SIGN EZEN SHESHIG TIMES ASH;Lo;0;L;;;;;N;;;;;
+124AE;CUNEIFORM SIGN EZEN SHESHIG TIMES HI;Lo;0;L;;;;;N;;;;;
+124AF;CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+124B0;CUNEIFORM SIGN EZEN SHESHIG TIMES LA;Lo;0;L;;;;;N;;;;;
+124B1;CUNEIFORM SIGN EZEN SHESHIG TIMES LAL;Lo;0;L;;;;;N;;;;;
+124B2;CUNEIFORM SIGN EZEN SHESHIG TIMES ME;Lo;0;L;;;;;N;;;;;
+124B3;CUNEIFORM SIGN EZEN SHESHIG TIMES MES;Lo;0;L;;;;;N;;;;;
+124B4;CUNEIFORM SIGN EZEN SHESHIG TIMES SU;Lo;0;L;;;;;N;;;;;
+124B5;CUNEIFORM SIGN EZEN TIMES SU;Lo;0;L;;;;;N;;;;;
+124B6;CUNEIFORM SIGN GA2 TIMES BAHAR2;Lo;0;L;;;;;N;;;;;
+124B7;CUNEIFORM SIGN GA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;;
+124B8;CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+124B9;CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;;
+124BA;CUNEIFORM SIGN GA2 TIMES EREN;Lo;0;L;;;;;N;;;;;
+124BB;CUNEIFORM SIGN GA2 TIMES GA;Lo;0;L;;;;;N;;;;;
+124BC;CUNEIFORM SIGN GA2 TIMES GAR PLUS DI;Lo;0;L;;;;;N;;;;;
+124BD;CUNEIFORM SIGN GA2 TIMES GAR PLUS NE;Lo;0;L;;;;;N;;;;;
+124BE;CUNEIFORM SIGN GA2 TIMES HA PLUS A;Lo;0;L;;;;;N;;;;;
+124BF;CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;;
+124C0;CUNEIFORM SIGN GA2 TIMES LAM;Lo;0;L;;;;;N;;;;;
+124C1;CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;;
+124C2;CUNEIFORM SIGN GA2 TIMES LUH;Lo;0;L;;;;;N;;;;;
+124C3;CUNEIFORM SIGN GA2 TIMES MUSH;Lo;0;L;;;;;N;;;;;
+124C4;CUNEIFORM SIGN GA2 TIMES NE;Lo;0;L;;;;;N;;;;;
+124C5;CUNEIFORM SIGN GA2 TIMES NE PLUS E2;Lo;0;L;;;;;N;;;;;
+124C6;CUNEIFORM SIGN GA2 TIMES NE PLUS GI;Lo;0;L;;;;;N;;;;;
+124C7;CUNEIFORM SIGN GA2 TIMES SHIM;Lo;0;L;;;;;N;;;;;
+124C8;CUNEIFORM SIGN GA2 TIMES ZIZ2;Lo;0;L;;;;;N;;;;;
+124C9;CUNEIFORM SIGN GABA ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;;
+124CA;CUNEIFORM SIGN GESHTIN TIMES U;Lo;0;L;;;;;N;;;;;
+124CB;CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;;
+124CC;CUNEIFORM SIGN GU2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+124CD;CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4;Lo;0;L;;;;;N;;;;;
+124CE;CUNEIFORM SIGN HA TENU GUNU;Lo;0;L;;;;;N;;;;;
+124CF;CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH;Lo;0;L;;;;;N;;;;;
+124D0;CUNEIFORM SIGN KA TIMES BU;Lo;0;L;;;;;N;;;;;
+124D1;CUNEIFORM SIGN KA TIMES KA;Lo;0;L;;;;;N;;;;;
+124D2;CUNEIFORM SIGN KA TIMES U U U;Lo;0;L;;;;;N;;;;;
+124D3;CUNEIFORM SIGN KA TIMES UR;Lo;0;L;;;;;N;;;;;
+124D4;CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU;Lo;0;L;;;;;N;;;;;
+124D5;CUNEIFORM SIGN LAK-003;Lo;0;L;;;;;N;;;;;
+124D6;CUNEIFORM SIGN LAK-021;Lo;0;L;;;;;N;;;;;
+124D7;CUNEIFORM SIGN LAK-025;Lo;0;L;;;;;N;;;;;
+124D8;CUNEIFORM SIGN LAK-030;Lo;0;L;;;;;N;;;;;
+124D9;CUNEIFORM SIGN LAK-050;Lo;0;L;;;;;N;;;;;
+124DA;CUNEIFORM SIGN LAK-051;Lo;0;L;;;;;N;;;;;
+124DB;CUNEIFORM SIGN LAK-062;Lo;0;L;;;;;N;;;;;
+124DC;CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU;Lo;0;L;;;;;N;;;;;
+124DD;CUNEIFORM SIGN LAK-080;Lo;0;L;;;;;N;;;;;
+124DE;CUNEIFORM SIGN LAK-081 OVER LAK-081;Lo;0;L;;;;;N;;;;;
+124DF;CUNEIFORM SIGN LAK-092;Lo;0;L;;;;;N;;;;;
+124E0;CUNEIFORM SIGN LAK-130;Lo;0;L;;;;;N;;;;;
+124E1;CUNEIFORM SIGN LAK-142;Lo;0;L;;;;;N;;;;;
+124E2;CUNEIFORM SIGN LAK-210;Lo;0;L;;;;;N;;;;;
+124E3;CUNEIFORM SIGN LAK-219;Lo;0;L;;;;;N;;;;;
+124E4;CUNEIFORM SIGN LAK-220;Lo;0;L;;;;;N;;;;;
+124E5;CUNEIFORM SIGN LAK-225;Lo;0;L;;;;;N;;;;;
+124E6;CUNEIFORM SIGN LAK-228;Lo;0;L;;;;;N;;;;;
+124E7;CUNEIFORM SIGN LAK-238;Lo;0;L;;;;;N;;;;;
+124E8;CUNEIFORM SIGN LAK-265;Lo;0;L;;;;;N;;;;;
+124E9;CUNEIFORM SIGN LAK-266;Lo;0;L;;;;;N;;;;;
+124EA;CUNEIFORM SIGN LAK-343;Lo;0;L;;;;;N;;;;;
+124EB;CUNEIFORM SIGN LAK-347;Lo;0;L;;;;;N;;;;;
+124EC;CUNEIFORM SIGN LAK-348;Lo;0;L;;;;;N;;;;;
+124ED;CUNEIFORM SIGN LAK-383;Lo;0;L;;;;;N;;;;;
+124EE;CUNEIFORM SIGN LAK-384;Lo;0;L;;;;;N;;;;;
+124EF;CUNEIFORM SIGN LAK-390;Lo;0;L;;;;;N;;;;;
+124F0;CUNEIFORM SIGN LAK-441;Lo;0;L;;;;;N;;;;;
+124F1;CUNEIFORM SIGN LAK-449;Lo;0;L;;;;;N;;;;;
+124F2;CUNEIFORM SIGN LAK-449 TIMES GU;Lo;0;L;;;;;N;;;;;
+124F3;CUNEIFORM SIGN LAK-449 TIMES IGI;Lo;0;L;;;;;N;;;;;
+124F4;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+124F5;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+124F6;CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA;Lo;0;L;;;;;N;;;;;
+124F7;CUNEIFORM SIGN LAK-450;Lo;0;L;;;;;N;;;;;
+124F8;CUNEIFORM SIGN LAK-457;Lo;0;L;;;;;N;;;;;
+124F9;CUNEIFORM SIGN LAK-470;Lo;0;L;;;;;N;;;;;
+124FA;CUNEIFORM SIGN LAK-483;Lo;0;L;;;;;N;;;;;
+124FB;CUNEIFORM SIGN LAK-490;Lo;0;L;;;;;N;;;;;
+124FC;CUNEIFORM SIGN LAK-492;Lo;0;L;;;;;N;;;;;
+124FD;CUNEIFORM SIGN LAK-493;Lo;0;L;;;;;N;;;;;
+124FE;CUNEIFORM SIGN LAK-495;Lo;0;L;;;;;N;;;;;
+124FF;CUNEIFORM SIGN LAK-550;Lo;0;L;;;;;N;;;;;
+12500;CUNEIFORM SIGN LAK-608;Lo;0;L;;;;;N;;;;;
+12501;CUNEIFORM SIGN LAK-617;Lo;0;L;;;;;N;;;;;
+12502;CUNEIFORM SIGN LAK-617 TIMES ASH;Lo;0;L;;;;;N;;;;;
+12503;CUNEIFORM SIGN LAK-617 TIMES BAD;Lo;0;L;;;;;N;;;;;
+12504;CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;;
+12505;CUNEIFORM SIGN LAK-617 TIMES KU3;Lo;0;L;;;;;N;;;;;
+12506;CUNEIFORM SIGN LAK-617 TIMES LA;Lo;0;L;;;;;N;;;;;
+12507;CUNEIFORM SIGN LAK-617 TIMES TAR;Lo;0;L;;;;;N;;;;;
+12508;CUNEIFORM SIGN LAK-617 TIMES TE;Lo;0;L;;;;;N;;;;;
+12509;CUNEIFORM SIGN LAK-617 TIMES U2;Lo;0;L;;;;;N;;;;;
+1250A;CUNEIFORM SIGN LAK-617 TIMES UD;Lo;0;L;;;;;N;;;;;
+1250B;CUNEIFORM SIGN LAK-617 TIMES URUDA;Lo;0;L;;;;;N;;;;;
+1250C;CUNEIFORM SIGN LAK-636;Lo;0;L;;;;;N;;;;;
+1250D;CUNEIFORM SIGN LAK-648;Lo;0;L;;;;;N;;;;;
+1250E;CUNEIFORM SIGN LAK-648 TIMES DUB;Lo;0;L;;;;;N;;;;;
+1250F;CUNEIFORM SIGN LAK-648 TIMES GA;Lo;0;L;;;;;N;;;;;
+12510;CUNEIFORM SIGN LAK-648 TIMES IGI;Lo;0;L;;;;;N;;;;;
+12511;CUNEIFORM SIGN LAK-648 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
+12512;CUNEIFORM SIGN LAK-648 TIMES NI;Lo;0;L;;;;;N;;;;;
+12513;CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+12514;CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI;Lo;0;L;;;;;N;;;;;
+12515;CUNEIFORM SIGN LAK-648 TIMES UD;Lo;0;L;;;;;N;;;;;
+12516;CUNEIFORM SIGN LAK-648 TIMES URUDA;Lo;0;L;;;;;N;;;;;
+12517;CUNEIFORM SIGN LAK-724;Lo;0;L;;;;;N;;;;;
+12518;CUNEIFORM SIGN LAK-749;Lo;0;L;;;;;N;;;;;
+12519;CUNEIFORM SIGN LU2 GUNU TIMES ASH;Lo;0;L;;;;;N;;;;;
+1251A;CUNEIFORM SIGN LU2 TIMES DISH;Lo;0;L;;;;;N;;;;;
+1251B;CUNEIFORM SIGN LU2 TIMES HAL;Lo;0;L;;;;;N;;;;;
+1251C;CUNEIFORM SIGN LU2 TIMES PAP;Lo;0;L;;;;;N;;;;;
+1251D;CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;;
+1251E;CUNEIFORM SIGN LU2 TIMES TAK4;Lo;0;L;;;;;N;;;;;
+1251F;CUNEIFORM SIGN MI PLUS ZA7;Lo;0;L;;;;;N;;;;;
+12520;CUNEIFORM SIGN MUSH OVER MUSH TIMES GA;Lo;0;L;;;;;N;;;;;
+12521;CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK;Lo;0;L;;;;;N;;;;;
+12522;CUNEIFORM SIGN NINDA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;;
+12523;CUNEIFORM SIGN NINDA2 TIMES GISH;Lo;0;L;;;;;N;;;;;
+12524;CUNEIFORM SIGN NINDA2 TIMES GUL;Lo;0;L;;;;;N;;;;;
+12525;CUNEIFORM SIGN NINDA2 TIMES HI;Lo;0;L;;;;;N;;;;;
+12526;CUNEIFORM SIGN NINDA2 TIMES KESH2;Lo;0;L;;;;;N;;;;;
+12527;CUNEIFORM SIGN NINDA2 TIMES LAK-050;Lo;0;L;;;;;N;;;;;
+12528;CUNEIFORM SIGN NINDA2 TIMES MASH;Lo;0;L;;;;;N;;;;;
+12529;CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;;
+1252A;CUNEIFORM SIGN NINDA2 TIMES U;Lo;0;L;;;;;N;;;;;
+1252B;CUNEIFORM SIGN NINDA2 TIMES U PLUS U;Lo;0;L;;;;;N;;;;;
+1252C;CUNEIFORM SIGN NINDA2 TIMES URUDA;Lo;0;L;;;;;N;;;;;
+1252D;CUNEIFORM SIGN SAG GUNU TIMES HA;Lo;0;L;;;;;N;;;;;
+1252E;CUNEIFORM SIGN SAG TIMES EN;Lo;0;L;;;;;N;;;;;
+1252F;CUNEIFORM SIGN SAG TIMES SHE AT LEFT;Lo;0;L;;;;;N;;;;;
+12530;CUNEIFORM SIGN SAG TIMES TAK4;Lo;0;L;;;;;N;;;;;
+12531;CUNEIFORM SIGN SHA6 TENU;Lo;0;L;;;;;N;;;;;
+12532;CUNEIFORM SIGN SHE OVER SHE;Lo;0;L;;;;;N;;;;;
+12533;CUNEIFORM SIGN SHE PLUS HUB2;Lo;0;L;;;;;N;;;;;
+12534;CUNEIFORM SIGN SHE PLUS NAM2;Lo;0;L;;;;;N;;;;;
+12535;CUNEIFORM SIGN SHE PLUS SAR;Lo;0;L;;;;;N;;;;;
+12536;CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI;Lo;0;L;;;;;N;;;;;
+12537;CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN;Lo;0;L;;;;;N;;;;;
+12538;CUNEIFORM SIGN SI TIMES TAK4;Lo;0;L;;;;;N;;;;;
+12539;CUNEIFORM SIGN TAK4 PLUS SAG;Lo;0;L;;;;;N;;;;;
+1253A;CUNEIFORM SIGN TUM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
+1253B;CUNEIFORM SIGN TUM TIMES THREE DISH;Lo;0;L;;;;;N;;;;;
+1253C;CUNEIFORM SIGN UR2 INVERTED;Lo;0;L;;;;;N;;;;;
+1253D;CUNEIFORM SIGN UR2 TIMES UD;Lo;0;L;;;;;N;;;;;
+1253E;CUNEIFORM SIGN URU TIMES DARA3;Lo;0;L;;;;;N;;;;;
+1253F;CUNEIFORM SIGN URU TIMES LAK-668;Lo;0;L;;;;;N;;;;;
+12540;CUNEIFORM SIGN URU TIMES LU3;Lo;0;L;;;;;N;;;;;
+12541;CUNEIFORM SIGN ZA7;Lo;0;L;;;;;N;;;;;
+12542;CUNEIFORM SIGN ZU OVER ZU PLUS SAR;Lo;0;L;;;;;N;;;;;
+12543;CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU;Lo;0;L;;;;;N;;;;;
+13000;EGYPTIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
+13001;EGYPTIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
+13002;EGYPTIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
+13003;EGYPTIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;;
+13004;EGYPTIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;;
+13005;EGYPTIAN HIEROGLYPH A005A;Lo;0;L;;;;;N;;;;;
+13006;EGYPTIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;;
+13007;EGYPTIAN HIEROGLYPH A006A;Lo;0;L;;;;;N;;;;;
+13008;EGYPTIAN HIEROGLYPH A006B;Lo;0;L;;;;;N;;;;;
+13009;EGYPTIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;;
+1300A;EGYPTIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;;
+1300B;EGYPTIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;;
+1300C;EGYPTIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;;
+1300D;EGYPTIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;;
+1300E;EGYPTIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;;
+1300F;EGYPTIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;;
+13010;EGYPTIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;;
+13011;EGYPTIAN HIEROGLYPH A014A;Lo;0;L;;;;;N;;;;;
+13012;EGYPTIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;;
+13013;EGYPTIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;;
+13014;EGYPTIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;;
+13015;EGYPTIAN HIEROGLYPH A017A;Lo;0;L;;;;;N;;;;;
+13016;EGYPTIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;;
+13017;EGYPTIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;;
+13018;EGYPTIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;;
+13019;EGYPTIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;;
+1301A;EGYPTIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;;
+1301B;EGYPTIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;;
+1301C;EGYPTIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;;
+1301D;EGYPTIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;;
+1301E;EGYPTIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;;
+1301F;EGYPTIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;;
+13020;EGYPTIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;;
+13021;EGYPTIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;;
+13022;EGYPTIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;;
+13023;EGYPTIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;;
+13024;EGYPTIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;;
+13025;EGYPTIAN HIEROGLYPH A032A;Lo;0;L;;;;;N;;;;;
+13026;EGYPTIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;;
+13027;EGYPTIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;;
+13028;EGYPTIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;;
+13029;EGYPTIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;;
+1302A;EGYPTIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;;
+1302B;EGYPTIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;;
+1302C;EGYPTIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;;
+1302D;EGYPTIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;;
+1302E;EGYPTIAN HIEROGLYPH A040A;Lo;0;L;;;;;N;;;;;
+1302F;EGYPTIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;;
+13030;EGYPTIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;;
+13031;EGYPTIAN HIEROGLYPH A042A;Lo;0;L;;;;;N;;;;;
+13032;EGYPTIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;;
+13033;EGYPTIAN HIEROGLYPH A043A;Lo;0;L;;;;;N;;;;;
+13034;EGYPTIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;;
+13035;EGYPTIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;;
+13036;EGYPTIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;;
+13037;EGYPTIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;;
+13038;EGYPTIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;;
+13039;EGYPTIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;;
+1303A;EGYPTIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;;
+1303B;EGYPTIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;;
+1303C;EGYPTIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;;
+1303D;EGYPTIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;;
+1303E;EGYPTIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;;
+1303F;EGYPTIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;;
+13040;EGYPTIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;;
+13041;EGYPTIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;;
+13042;EGYPTIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;;
+13043;EGYPTIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;;
+13044;EGYPTIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;;
+13045;EGYPTIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;;
+13046;EGYPTIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;;
+13047;EGYPTIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;;
+13048;EGYPTIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;;
+13049;EGYPTIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;;
+1304A;EGYPTIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;;
+1304B;EGYPTIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;;
+1304C;EGYPTIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;;
+1304D;EGYPTIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;;
+1304E;EGYPTIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;;
+1304F;EGYPTIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;;
+13050;EGYPTIAN HIEROGLYPH B001;Lo;0;L;;;;;N;;;;;
+13051;EGYPTIAN HIEROGLYPH B002;Lo;0;L;;;;;N;;;;;
+13052;EGYPTIAN HIEROGLYPH B003;Lo;0;L;;;;;N;;;;;
+13053;EGYPTIAN HIEROGLYPH B004;Lo;0;L;;;;;N;;;;;
+13054;EGYPTIAN HIEROGLYPH B005;Lo;0;L;;;;;N;;;;;
+13055;EGYPTIAN HIEROGLYPH B005A;Lo;0;L;;;;;N;;;;;
+13056;EGYPTIAN HIEROGLYPH B006;Lo;0;L;;;;;N;;;;;
+13057;EGYPTIAN HIEROGLYPH B007;Lo;0;L;;;;;N;;;;;
+13058;EGYPTIAN HIEROGLYPH B008;Lo;0;L;;;;;N;;;;;
+13059;EGYPTIAN HIEROGLYPH B009;Lo;0;L;;;;;N;;;;;
+1305A;EGYPTIAN HIEROGLYPH C001;Lo;0;L;;;;;N;;;;;
+1305B;EGYPTIAN HIEROGLYPH C002;Lo;0;L;;;;;N;;;;;
+1305C;EGYPTIAN HIEROGLYPH C002A;Lo;0;L;;;;;N;;;;;
+1305D;EGYPTIAN HIEROGLYPH C002B;Lo;0;L;;;;;N;;;;;
+1305E;EGYPTIAN HIEROGLYPH C002C;Lo;0;L;;;;;N;;;;;
+1305F;EGYPTIAN HIEROGLYPH C003;Lo;0;L;;;;;N;;;;;
+13060;EGYPTIAN HIEROGLYPH C004;Lo;0;L;;;;;N;;;;;
+13061;EGYPTIAN HIEROGLYPH C005;Lo;0;L;;;;;N;;;;;
+13062;EGYPTIAN HIEROGLYPH C006;Lo;0;L;;;;;N;;;;;
+13063;EGYPTIAN HIEROGLYPH C007;Lo;0;L;;;;;N;;;;;
+13064;EGYPTIAN HIEROGLYPH C008;Lo;0;L;;;;;N;;;;;
+13065;EGYPTIAN HIEROGLYPH C009;Lo;0;L;;;;;N;;;;;
+13066;EGYPTIAN HIEROGLYPH C010;Lo;0;L;;;;;N;;;;;
+13067;EGYPTIAN HIEROGLYPH C010A;Lo;0;L;;;;;N;;;;;
+13068;EGYPTIAN HIEROGLYPH C011;Lo;0;L;;;;;N;;;;;
+13069;EGYPTIAN HIEROGLYPH C012;Lo;0;L;;;;;N;;;;;
+1306A;EGYPTIAN HIEROGLYPH C013;Lo;0;L;;;;;N;;;;;
+1306B;EGYPTIAN HIEROGLYPH C014;Lo;0;L;;;;;N;;;;;
+1306C;EGYPTIAN HIEROGLYPH C015;Lo;0;L;;;;;N;;;;;
+1306D;EGYPTIAN HIEROGLYPH C016;Lo;0;L;;;;;N;;;;;
+1306E;EGYPTIAN HIEROGLYPH C017;Lo;0;L;;;;;N;;;;;
+1306F;EGYPTIAN HIEROGLYPH C018;Lo;0;L;;;;;N;;;;;
+13070;EGYPTIAN HIEROGLYPH C019;Lo;0;L;;;;;N;;;;;
+13071;EGYPTIAN HIEROGLYPH C020;Lo;0;L;;;;;N;;;;;
+13072;EGYPTIAN HIEROGLYPH C021;Lo;0;L;;;;;N;;;;;
+13073;EGYPTIAN HIEROGLYPH C022;Lo;0;L;;;;;N;;;;;
+13074;EGYPTIAN HIEROGLYPH C023;Lo;0;L;;;;;N;;;;;
+13075;EGYPTIAN HIEROGLYPH C024;Lo;0;L;;;;;N;;;;;
+13076;EGYPTIAN HIEROGLYPH D001;Lo;0;L;;;;;N;;;;;
+13077;EGYPTIAN HIEROGLYPH D002;Lo;0;L;;;;;N;;;;;
+13078;EGYPTIAN HIEROGLYPH D003;Lo;0;L;;;;;N;;;;;
+13079;EGYPTIAN HIEROGLYPH D004;Lo;0;L;;;;;N;;;;;
+1307A;EGYPTIAN HIEROGLYPH D005;Lo;0;L;;;;;N;;;;;
+1307B;EGYPTIAN HIEROGLYPH D006;Lo;0;L;;;;;N;;;;;
+1307C;EGYPTIAN HIEROGLYPH D007;Lo;0;L;;;;;N;;;;;
+1307D;EGYPTIAN HIEROGLYPH D008;Lo;0;L;;;;;N;;;;;
+1307E;EGYPTIAN HIEROGLYPH D008A;Lo;0;L;;;;;N;;;;;
+1307F;EGYPTIAN HIEROGLYPH D009;Lo;0;L;;;;;N;;;;;
+13080;EGYPTIAN HIEROGLYPH D010;Lo;0;L;;;;;N;;;;;
+13081;EGYPTIAN HIEROGLYPH D011;Lo;0;L;;;;;N;;;;;
+13082;EGYPTIAN HIEROGLYPH D012;Lo;0;L;;;;;N;;;;;
+13083;EGYPTIAN HIEROGLYPH D013;Lo;0;L;;;;;N;;;;;
+13084;EGYPTIAN HIEROGLYPH D014;Lo;0;L;;;;;N;;;;;
+13085;EGYPTIAN HIEROGLYPH D015;Lo;0;L;;;;;N;;;;;
+13086;EGYPTIAN HIEROGLYPH D016;Lo;0;L;;;;;N;;;;;
+13087;EGYPTIAN HIEROGLYPH D017;Lo;0;L;;;;;N;;;;;
+13088;EGYPTIAN HIEROGLYPH D018;Lo;0;L;;;;;N;;;;;
+13089;EGYPTIAN HIEROGLYPH D019;Lo;0;L;;;;;N;;;;;
+1308A;EGYPTIAN HIEROGLYPH D020;Lo;0;L;;;;;N;;;;;
+1308B;EGYPTIAN HIEROGLYPH D021;Lo;0;L;;;;;N;;;;;
+1308C;EGYPTIAN HIEROGLYPH D022;Lo;0;L;;;;;N;;;;;
+1308D;EGYPTIAN HIEROGLYPH D023;Lo;0;L;;;;;N;;;;;
+1308E;EGYPTIAN HIEROGLYPH D024;Lo;0;L;;;;;N;;;;;
+1308F;EGYPTIAN HIEROGLYPH D025;Lo;0;L;;;;;N;;;;;
+13090;EGYPTIAN HIEROGLYPH D026;Lo;0;L;;;;;N;;;;;
+13091;EGYPTIAN HIEROGLYPH D027;Lo;0;L;;;;;N;;;;;
+13092;EGYPTIAN HIEROGLYPH D027A;Lo;0;L;;;;;N;;;;;
+13093;EGYPTIAN HIEROGLYPH D028;Lo;0;L;;;;;N;;;;;
+13094;EGYPTIAN HIEROGLYPH D029;Lo;0;L;;;;;N;;;;;
+13095;EGYPTIAN HIEROGLYPH D030;Lo;0;L;;;;;N;;;;;
+13096;EGYPTIAN HIEROGLYPH D031;Lo;0;L;;;;;N;;;;;
+13097;EGYPTIAN HIEROGLYPH D031A;Lo;0;L;;;;;N;;;;;
+13098;EGYPTIAN HIEROGLYPH D032;Lo;0;L;;;;;N;;;;;
+13099;EGYPTIAN HIEROGLYPH D033;Lo;0;L;;;;;N;;;;;
+1309A;EGYPTIAN HIEROGLYPH D034;Lo;0;L;;;;;N;;;;;
+1309B;EGYPTIAN HIEROGLYPH D034A;Lo;0;L;;;;;N;;;;;
+1309C;EGYPTIAN HIEROGLYPH D035;Lo;0;L;;;;;N;;;;;
+1309D;EGYPTIAN HIEROGLYPH D036;Lo;0;L;;;;;N;;;;;
+1309E;EGYPTIAN HIEROGLYPH D037;Lo;0;L;;;;;N;;;;;
+1309F;EGYPTIAN HIEROGLYPH D038;Lo;0;L;;;;;N;;;;;
+130A0;EGYPTIAN HIEROGLYPH D039;Lo;0;L;;;;;N;;;;;
+130A1;EGYPTIAN HIEROGLYPH D040;Lo;0;L;;;;;N;;;;;
+130A2;EGYPTIAN HIEROGLYPH D041;Lo;0;L;;;;;N;;;;;
+130A3;EGYPTIAN HIEROGLYPH D042;Lo;0;L;;;;;N;;;;;
+130A4;EGYPTIAN HIEROGLYPH D043;Lo;0;L;;;;;N;;;;;
+130A5;EGYPTIAN HIEROGLYPH D044;Lo;0;L;;;;;N;;;;;
+130A6;EGYPTIAN HIEROGLYPH D045;Lo;0;L;;;;;N;;;;;
+130A7;EGYPTIAN HIEROGLYPH D046;Lo;0;L;;;;;N;;;;;
+130A8;EGYPTIAN HIEROGLYPH D046A;Lo;0;L;;;;;N;;;;;
+130A9;EGYPTIAN HIEROGLYPH D047;Lo;0;L;;;;;N;;;;;
+130AA;EGYPTIAN HIEROGLYPH D048;Lo;0;L;;;;;N;;;;;
+130AB;EGYPTIAN HIEROGLYPH D048A;Lo;0;L;;;;;N;;;;;
+130AC;EGYPTIAN HIEROGLYPH D049;Lo;0;L;;;;;N;;;;;
+130AD;EGYPTIAN HIEROGLYPH D050;Lo;0;L;;;;;N;;;;;
+130AE;EGYPTIAN HIEROGLYPH D050A;Lo;0;L;;;;;N;;;;;
+130AF;EGYPTIAN HIEROGLYPH D050B;Lo;0;L;;;;;N;;;;;
+130B0;EGYPTIAN HIEROGLYPH D050C;Lo;0;L;;;;;N;;;;;
+130B1;EGYPTIAN HIEROGLYPH D050D;Lo;0;L;;;;;N;;;;;
+130B2;EGYPTIAN HIEROGLYPH D050E;Lo;0;L;;;;;N;;;;;
+130B3;EGYPTIAN HIEROGLYPH D050F;Lo;0;L;;;;;N;;;;;
+130B4;EGYPTIAN HIEROGLYPH D050G;Lo;0;L;;;;;N;;;;;
+130B5;EGYPTIAN HIEROGLYPH D050H;Lo;0;L;;;;;N;;;;;
+130B6;EGYPTIAN HIEROGLYPH D050I;Lo;0;L;;;;;N;;;;;
+130B7;EGYPTIAN HIEROGLYPH D051;Lo;0;L;;;;;N;;;;;
+130B8;EGYPTIAN HIEROGLYPH D052;Lo;0;L;;;;;N;;;;;
+130B9;EGYPTIAN HIEROGLYPH D052A;Lo;0;L;;;;;N;;;;;
+130BA;EGYPTIAN HIEROGLYPH D053;Lo;0;L;;;;;N;;;;;
+130BB;EGYPTIAN HIEROGLYPH D054;Lo;0;L;;;;;N;;;;;
+130BC;EGYPTIAN HIEROGLYPH D054A;Lo;0;L;;;;;N;;;;;
+130BD;EGYPTIAN HIEROGLYPH D055;Lo;0;L;;;;;N;;;;;
+130BE;EGYPTIAN HIEROGLYPH D056;Lo;0;L;;;;;N;;;;;
+130BF;EGYPTIAN HIEROGLYPH D057;Lo;0;L;;;;;N;;;;;
+130C0;EGYPTIAN HIEROGLYPH D058;Lo;0;L;;;;;N;;;;;
+130C1;EGYPTIAN HIEROGLYPH D059;Lo;0;L;;;;;N;;;;;
+130C2;EGYPTIAN HIEROGLYPH D060;Lo;0;L;;;;;N;;;;;
+130C3;EGYPTIAN HIEROGLYPH D061;Lo;0;L;;;;;N;;;;;
+130C4;EGYPTIAN HIEROGLYPH D062;Lo;0;L;;;;;N;;;;;
+130C5;EGYPTIAN HIEROGLYPH D063;Lo;0;L;;;;;N;;;;;
+130C6;EGYPTIAN HIEROGLYPH D064;Lo;0;L;;;;;N;;;;;
+130C7;EGYPTIAN HIEROGLYPH D065;Lo;0;L;;;;;N;;;;;
+130C8;EGYPTIAN HIEROGLYPH D066;Lo;0;L;;;;;N;;;;;
+130C9;EGYPTIAN HIEROGLYPH D067;Lo;0;L;;;;;N;;;;;
+130CA;EGYPTIAN HIEROGLYPH D067A;Lo;0;L;;;;;N;;;;;
+130CB;EGYPTIAN HIEROGLYPH D067B;Lo;0;L;;;;;N;;;;;
+130CC;EGYPTIAN HIEROGLYPH D067C;Lo;0;L;;;;;N;;;;;
+130CD;EGYPTIAN HIEROGLYPH D067D;Lo;0;L;;;;;N;;;;;
+130CE;EGYPTIAN HIEROGLYPH D067E;Lo;0;L;;;;;N;;;;;
+130CF;EGYPTIAN HIEROGLYPH D067F;Lo;0;L;;;;;N;;;;;
+130D0;EGYPTIAN HIEROGLYPH D067G;Lo;0;L;;;;;N;;;;;
+130D1;EGYPTIAN HIEROGLYPH D067H;Lo;0;L;;;;;N;;;;;
+130D2;EGYPTIAN HIEROGLYPH E001;Lo;0;L;;;;;N;;;;;
+130D3;EGYPTIAN HIEROGLYPH E002;Lo;0;L;;;;;N;;;;;
+130D4;EGYPTIAN HIEROGLYPH E003;Lo;0;L;;;;;N;;;;;
+130D5;EGYPTIAN HIEROGLYPH E004;Lo;0;L;;;;;N;;;;;
+130D6;EGYPTIAN HIEROGLYPH E005;Lo;0;L;;;;;N;;;;;
+130D7;EGYPTIAN HIEROGLYPH E006;Lo;0;L;;;;;N;;;;;
+130D8;EGYPTIAN HIEROGLYPH E007;Lo;0;L;;;;;N;;;;;
+130D9;EGYPTIAN HIEROGLYPH E008;Lo;0;L;;;;;N;;;;;
+130DA;EGYPTIAN HIEROGLYPH E008A;Lo;0;L;;;;;N;;;;;
+130DB;EGYPTIAN HIEROGLYPH E009;Lo;0;L;;;;;N;;;;;
+130DC;EGYPTIAN HIEROGLYPH E009A;Lo;0;L;;;;;N;;;;;
+130DD;EGYPTIAN HIEROGLYPH E010;Lo;0;L;;;;;N;;;;;
+130DE;EGYPTIAN HIEROGLYPH E011;Lo;0;L;;;;;N;;;;;
+130DF;EGYPTIAN HIEROGLYPH E012;Lo;0;L;;;;;N;;;;;
+130E0;EGYPTIAN HIEROGLYPH E013;Lo;0;L;;;;;N;;;;;
+130E1;EGYPTIAN HIEROGLYPH E014;Lo;0;L;;;;;N;;;;;
+130E2;EGYPTIAN HIEROGLYPH E015;Lo;0;L;;;;;N;;;;;
+130E3;EGYPTIAN HIEROGLYPH E016;Lo;0;L;;;;;N;;;;;
+130E4;EGYPTIAN HIEROGLYPH E016A;Lo;0;L;;;;;N;;;;;
+130E5;EGYPTIAN HIEROGLYPH E017;Lo;0;L;;;;;N;;;;;
+130E6;EGYPTIAN HIEROGLYPH E017A;Lo;0;L;;;;;N;;;;;
+130E7;EGYPTIAN HIEROGLYPH E018;Lo;0;L;;;;;N;;;;;
+130E8;EGYPTIAN HIEROGLYPH E019;Lo;0;L;;;;;N;;;;;
+130E9;EGYPTIAN HIEROGLYPH E020;Lo;0;L;;;;;N;;;;;
+130EA;EGYPTIAN HIEROGLYPH E020A;Lo;0;L;;;;;N;;;;;
+130EB;EGYPTIAN HIEROGLYPH E021;Lo;0;L;;;;;N;;;;;
+130EC;EGYPTIAN HIEROGLYPH E022;Lo;0;L;;;;;N;;;;;
+130ED;EGYPTIAN HIEROGLYPH E023;Lo;0;L;;;;;N;;;;;
+130EE;EGYPTIAN HIEROGLYPH E024;Lo;0;L;;;;;N;;;;;
+130EF;EGYPTIAN HIEROGLYPH E025;Lo;0;L;;;;;N;;;;;
+130F0;EGYPTIAN HIEROGLYPH E026;Lo;0;L;;;;;N;;;;;
+130F1;EGYPTIAN HIEROGLYPH E027;Lo;0;L;;;;;N;;;;;
+130F2;EGYPTIAN HIEROGLYPH E028;Lo;0;L;;;;;N;;;;;
+130F3;EGYPTIAN HIEROGLYPH E028A;Lo;0;L;;;;;N;;;;;
+130F4;EGYPTIAN HIEROGLYPH E029;Lo;0;L;;;;;N;;;;;
+130F5;EGYPTIAN HIEROGLYPH E030;Lo;0;L;;;;;N;;;;;
+130F6;EGYPTIAN HIEROGLYPH E031;Lo;0;L;;;;;N;;;;;
+130F7;EGYPTIAN HIEROGLYPH E032;Lo;0;L;;;;;N;;;;;
+130F8;EGYPTIAN HIEROGLYPH E033;Lo;0;L;;;;;N;;;;;
+130F9;EGYPTIAN HIEROGLYPH E034;Lo;0;L;;;;;N;;;;;
+130FA;EGYPTIAN HIEROGLYPH E034A;Lo;0;L;;;;;N;;;;;
+130FB;EGYPTIAN HIEROGLYPH E036;Lo;0;L;;;;;N;;;;;
+130FC;EGYPTIAN HIEROGLYPH E037;Lo;0;L;;;;;N;;;;;
+130FD;EGYPTIAN HIEROGLYPH E038;Lo;0;L;;;;;N;;;;;
+130FE;EGYPTIAN HIEROGLYPH F001;Lo;0;L;;;;;N;;;;;
+130FF;EGYPTIAN HIEROGLYPH F001A;Lo;0;L;;;;;N;;;;;
+13100;EGYPTIAN HIEROGLYPH F002;Lo;0;L;;;;;N;;;;;
+13101;EGYPTIAN HIEROGLYPH F003;Lo;0;L;;;;;N;;;;;
+13102;EGYPTIAN HIEROGLYPH F004;Lo;0;L;;;;;N;;;;;
+13103;EGYPTIAN HIEROGLYPH F005;Lo;0;L;;;;;N;;;;;
+13104;EGYPTIAN HIEROGLYPH F006;Lo;0;L;;;;;N;;;;;
+13105;EGYPTIAN HIEROGLYPH F007;Lo;0;L;;;;;N;;;;;
+13106;EGYPTIAN HIEROGLYPH F008;Lo;0;L;;;;;N;;;;;
+13107;EGYPTIAN HIEROGLYPH F009;Lo;0;L;;;;;N;;;;;
+13108;EGYPTIAN HIEROGLYPH F010;Lo;0;L;;;;;N;;;;;
+13109;EGYPTIAN HIEROGLYPH F011;Lo;0;L;;;;;N;;;;;
+1310A;EGYPTIAN HIEROGLYPH F012;Lo;0;L;;;;;N;;;;;
+1310B;EGYPTIAN HIEROGLYPH F013;Lo;0;L;;;;;N;;;;;
+1310C;EGYPTIAN HIEROGLYPH F013A;Lo;0;L;;;;;N;;;;;
+1310D;EGYPTIAN HIEROGLYPH F014;Lo;0;L;;;;;N;;;;;
+1310E;EGYPTIAN HIEROGLYPH F015;Lo;0;L;;;;;N;;;;;
+1310F;EGYPTIAN HIEROGLYPH F016;Lo;0;L;;;;;N;;;;;
+13110;EGYPTIAN HIEROGLYPH F017;Lo;0;L;;;;;N;;;;;
+13111;EGYPTIAN HIEROGLYPH F018;Lo;0;L;;;;;N;;;;;
+13112;EGYPTIAN HIEROGLYPH F019;Lo;0;L;;;;;N;;;;;
+13113;EGYPTIAN HIEROGLYPH F020;Lo;0;L;;;;;N;;;;;
+13114;EGYPTIAN HIEROGLYPH F021;Lo;0;L;;;;;N;;;;;
+13115;EGYPTIAN HIEROGLYPH F021A;Lo;0;L;;;;;N;;;;;
+13116;EGYPTIAN HIEROGLYPH F022;Lo;0;L;;;;;N;;;;;
+13117;EGYPTIAN HIEROGLYPH F023;Lo;0;L;;;;;N;;;;;
+13118;EGYPTIAN HIEROGLYPH F024;Lo;0;L;;;;;N;;;;;
+13119;EGYPTIAN HIEROGLYPH F025;Lo;0;L;;;;;N;;;;;
+1311A;EGYPTIAN HIEROGLYPH F026;Lo;0;L;;;;;N;;;;;
+1311B;EGYPTIAN HIEROGLYPH F027;Lo;0;L;;;;;N;;;;;
+1311C;EGYPTIAN HIEROGLYPH F028;Lo;0;L;;;;;N;;;;;
+1311D;EGYPTIAN HIEROGLYPH F029;Lo;0;L;;;;;N;;;;;
+1311E;EGYPTIAN HIEROGLYPH F030;Lo;0;L;;;;;N;;;;;
+1311F;EGYPTIAN HIEROGLYPH F031;Lo;0;L;;;;;N;;;;;
+13120;EGYPTIAN HIEROGLYPH F031A;Lo;0;L;;;;;N;;;;;
+13121;EGYPTIAN HIEROGLYPH F032;Lo;0;L;;;;;N;;;;;
+13122;EGYPTIAN HIEROGLYPH F033;Lo;0;L;;;;;N;;;;;
+13123;EGYPTIAN HIEROGLYPH F034;Lo;0;L;;;;;N;;;;;
+13124;EGYPTIAN HIEROGLYPH F035;Lo;0;L;;;;;N;;;;;
+13125;EGYPTIAN HIEROGLYPH F036;Lo;0;L;;;;;N;;;;;
+13126;EGYPTIAN HIEROGLYPH F037;Lo;0;L;;;;;N;;;;;
+13127;EGYPTIAN HIEROGLYPH F037A;Lo;0;L;;;;;N;;;;;
+13128;EGYPTIAN HIEROGLYPH F038;Lo;0;L;;;;;N;;;;;
+13129;EGYPTIAN HIEROGLYPH F038A;Lo;0;L;;;;;N;;;;;
+1312A;EGYPTIAN HIEROGLYPH F039;Lo;0;L;;;;;N;;;;;
+1312B;EGYPTIAN HIEROGLYPH F040;Lo;0;L;;;;;N;;;;;
+1312C;EGYPTIAN HIEROGLYPH F041;Lo;0;L;;;;;N;;;;;
+1312D;EGYPTIAN HIEROGLYPH F042;Lo;0;L;;;;;N;;;;;
+1312E;EGYPTIAN HIEROGLYPH F043;Lo;0;L;;;;;N;;;;;
+1312F;EGYPTIAN HIEROGLYPH F044;Lo;0;L;;;;;N;;;;;
+13130;EGYPTIAN HIEROGLYPH F045;Lo;0;L;;;;;N;;;;;
+13131;EGYPTIAN HIEROGLYPH F045A;Lo;0;L;;;;;N;;;;;
+13132;EGYPTIAN HIEROGLYPH F046;Lo;0;L;;;;;N;;;;;
+13133;EGYPTIAN HIEROGLYPH F046A;Lo;0;L;;;;;N;;;;;
+13134;EGYPTIAN HIEROGLYPH F047;Lo;0;L;;;;;N;;;;;
+13135;EGYPTIAN HIEROGLYPH F047A;Lo;0;L;;;;;N;;;;;
+13136;EGYPTIAN HIEROGLYPH F048;Lo;0;L;;;;;N;;;;;
+13137;EGYPTIAN HIEROGLYPH F049;Lo;0;L;;;;;N;;;;;
+13138;EGYPTIAN HIEROGLYPH F050;Lo;0;L;;;;;N;;;;;
+13139;EGYPTIAN HIEROGLYPH F051;Lo;0;L;;;;;N;;;;;
+1313A;EGYPTIAN HIEROGLYPH F051A;Lo;0;L;;;;;N;;;;;
+1313B;EGYPTIAN HIEROGLYPH F051B;Lo;0;L;;;;;N;;;;;
+1313C;EGYPTIAN HIEROGLYPH F051C;Lo;0;L;;;;;N;;;;;
+1313D;EGYPTIAN HIEROGLYPH F052;Lo;0;L;;;;;N;;;;;
+1313E;EGYPTIAN HIEROGLYPH F053;Lo;0;L;;;;;N;;;;;
+1313F;EGYPTIAN HIEROGLYPH G001;Lo;0;L;;;;;N;;;;;
+13140;EGYPTIAN HIEROGLYPH G002;Lo;0;L;;;;;N;;;;;
+13141;EGYPTIAN HIEROGLYPH G003;Lo;0;L;;;;;N;;;;;
+13142;EGYPTIAN HIEROGLYPH G004;Lo;0;L;;;;;N;;;;;
+13143;EGYPTIAN HIEROGLYPH G005;Lo;0;L;;;;;N;;;;;
+13144;EGYPTIAN HIEROGLYPH G006;Lo;0;L;;;;;N;;;;;
+13145;EGYPTIAN HIEROGLYPH G006A;Lo;0;L;;;;;N;;;;;
+13146;EGYPTIAN HIEROGLYPH G007;Lo;0;L;;;;;N;;;;;
+13147;EGYPTIAN HIEROGLYPH G007A;Lo;0;L;;;;;N;;;;;
+13148;EGYPTIAN HIEROGLYPH G007B;Lo;0;L;;;;;N;;;;;
+13149;EGYPTIAN HIEROGLYPH G008;Lo;0;L;;;;;N;;;;;
+1314A;EGYPTIAN HIEROGLYPH G009;Lo;0;L;;;;;N;;;;;
+1314B;EGYPTIAN HIEROGLYPH G010;Lo;0;L;;;;;N;;;;;
+1314C;EGYPTIAN HIEROGLYPH G011;Lo;0;L;;;;;N;;;;;
+1314D;EGYPTIAN HIEROGLYPH G011A;Lo;0;L;;;;;N;;;;;
+1314E;EGYPTIAN HIEROGLYPH G012;Lo;0;L;;;;;N;;;;;
+1314F;EGYPTIAN HIEROGLYPH G013;Lo;0;L;;;;;N;;;;;
+13150;EGYPTIAN HIEROGLYPH G014;Lo;0;L;;;;;N;;;;;
+13151;EGYPTIAN HIEROGLYPH G015;Lo;0;L;;;;;N;;;;;
+13152;EGYPTIAN HIEROGLYPH G016;Lo;0;L;;;;;N;;;;;
+13153;EGYPTIAN HIEROGLYPH G017;Lo;0;L;;;;;N;;;;;
+13154;EGYPTIAN HIEROGLYPH G018;Lo;0;L;;;;;N;;;;;
+13155;EGYPTIAN HIEROGLYPH G019;Lo;0;L;;;;;N;;;;;
+13156;EGYPTIAN HIEROGLYPH G020;Lo;0;L;;;;;N;;;;;
+13157;EGYPTIAN HIEROGLYPH G020A;Lo;0;L;;;;;N;;;;;
+13158;EGYPTIAN HIEROGLYPH G021;Lo;0;L;;;;;N;;;;;
+13159;EGYPTIAN HIEROGLYPH G022;Lo;0;L;;;;;N;;;;;
+1315A;EGYPTIAN HIEROGLYPH G023;Lo;0;L;;;;;N;;;;;
+1315B;EGYPTIAN HIEROGLYPH G024;Lo;0;L;;;;;N;;;;;
+1315C;EGYPTIAN HIEROGLYPH G025;Lo;0;L;;;;;N;;;;;
+1315D;EGYPTIAN HIEROGLYPH G026;Lo;0;L;;;;;N;;;;;
+1315E;EGYPTIAN HIEROGLYPH G026A;Lo;0;L;;;;;N;;;;;
+1315F;EGYPTIAN HIEROGLYPH G027;Lo;0;L;;;;;N;;;;;
+13160;EGYPTIAN HIEROGLYPH G028;Lo;0;L;;;;;N;;;;;
+13161;EGYPTIAN HIEROGLYPH G029;Lo;0;L;;;;;N;;;;;
+13162;EGYPTIAN HIEROGLYPH G030;Lo;0;L;;;;;N;;;;;
+13163;EGYPTIAN HIEROGLYPH G031;Lo;0;L;;;;;N;;;;;
+13164;EGYPTIAN HIEROGLYPH G032;Lo;0;L;;;;;N;;;;;
+13165;EGYPTIAN HIEROGLYPH G033;Lo;0;L;;;;;N;;;;;
+13166;EGYPTIAN HIEROGLYPH G034;Lo;0;L;;;;;N;;;;;
+13167;EGYPTIAN HIEROGLYPH G035;Lo;0;L;;;;;N;;;;;
+13168;EGYPTIAN HIEROGLYPH G036;Lo;0;L;;;;;N;;;;;
+13169;EGYPTIAN HIEROGLYPH G036A;Lo;0;L;;;;;N;;;;;
+1316A;EGYPTIAN HIEROGLYPH G037;Lo;0;L;;;;;N;;;;;
+1316B;EGYPTIAN HIEROGLYPH G037A;Lo;0;L;;;;;N;;;;;
+1316C;EGYPTIAN HIEROGLYPH G038;Lo;0;L;;;;;N;;;;;
+1316D;EGYPTIAN HIEROGLYPH G039;Lo;0;L;;;;;N;;;;;
+1316E;EGYPTIAN HIEROGLYPH G040;Lo;0;L;;;;;N;;;;;
+1316F;EGYPTIAN HIEROGLYPH G041;Lo;0;L;;;;;N;;;;;
+13170;EGYPTIAN HIEROGLYPH G042;Lo;0;L;;;;;N;;;;;
+13171;EGYPTIAN HIEROGLYPH G043;Lo;0;L;;;;;N;;;;;
+13172;EGYPTIAN HIEROGLYPH G043A;Lo;0;L;;;;;N;;;;;
+13173;EGYPTIAN HIEROGLYPH G044;Lo;0;L;;;;;N;;;;;
+13174;EGYPTIAN HIEROGLYPH G045;Lo;0;L;;;;;N;;;;;
+13175;EGYPTIAN HIEROGLYPH G045A;Lo;0;L;;;;;N;;;;;
+13176;EGYPTIAN HIEROGLYPH G046;Lo;0;L;;;;;N;;;;;
+13177;EGYPTIAN HIEROGLYPH G047;Lo;0;L;;;;;N;;;;;
+13178;EGYPTIAN HIEROGLYPH G048;Lo;0;L;;;;;N;;;;;
+13179;EGYPTIAN HIEROGLYPH G049;Lo;0;L;;;;;N;;;;;
+1317A;EGYPTIAN HIEROGLYPH G050;Lo;0;L;;;;;N;;;;;
+1317B;EGYPTIAN HIEROGLYPH G051;Lo;0;L;;;;;N;;;;;
+1317C;EGYPTIAN HIEROGLYPH G052;Lo;0;L;;;;;N;;;;;
+1317D;EGYPTIAN HIEROGLYPH G053;Lo;0;L;;;;;N;;;;;
+1317E;EGYPTIAN HIEROGLYPH G054;Lo;0;L;;;;;N;;;;;
+1317F;EGYPTIAN HIEROGLYPH H001;Lo;0;L;;;;;N;;;;;
+13180;EGYPTIAN HIEROGLYPH H002;Lo;0;L;;;;;N;;;;;
+13181;EGYPTIAN HIEROGLYPH H003;Lo;0;L;;;;;N;;;;;
+13182;EGYPTIAN HIEROGLYPH H004;Lo;0;L;;;;;N;;;;;
+13183;EGYPTIAN HIEROGLYPH H005;Lo;0;L;;;;;N;;;;;
+13184;EGYPTIAN HIEROGLYPH H006;Lo;0;L;;;;;N;;;;;
+13185;EGYPTIAN HIEROGLYPH H006A;Lo;0;L;;;;;N;;;;;
+13186;EGYPTIAN HIEROGLYPH H007;Lo;0;L;;;;;N;;;;;
+13187;EGYPTIAN HIEROGLYPH H008;Lo;0;L;;;;;N;;;;;
+13188;EGYPTIAN HIEROGLYPH I001;Lo;0;L;;;;;N;;;;;
+13189;EGYPTIAN HIEROGLYPH I002;Lo;0;L;;;;;N;;;;;
+1318A;EGYPTIAN HIEROGLYPH I003;Lo;0;L;;;;;N;;;;;
+1318B;EGYPTIAN HIEROGLYPH I004;Lo;0;L;;;;;N;;;;;
+1318C;EGYPTIAN HIEROGLYPH I005;Lo;0;L;;;;;N;;;;;
+1318D;EGYPTIAN HIEROGLYPH I005A;Lo;0;L;;;;;N;;;;;
+1318E;EGYPTIAN HIEROGLYPH I006;Lo;0;L;;;;;N;;;;;
+1318F;EGYPTIAN HIEROGLYPH I007;Lo;0;L;;;;;N;;;;;
+13190;EGYPTIAN HIEROGLYPH I008;Lo;0;L;;;;;N;;;;;
+13191;EGYPTIAN HIEROGLYPH I009;Lo;0;L;;;;;N;;;;;
+13192;EGYPTIAN HIEROGLYPH I009A;Lo;0;L;;;;;N;;;;;
+13193;EGYPTIAN HIEROGLYPH I010;Lo;0;L;;;;;N;;;;;
+13194;EGYPTIAN HIEROGLYPH I010A;Lo;0;L;;;;;N;;;;;
+13195;EGYPTIAN HIEROGLYPH I011;Lo;0;L;;;;;N;;;;;
+13196;EGYPTIAN HIEROGLYPH I011A;Lo;0;L;;;;;N;;;;;
+13197;EGYPTIAN HIEROGLYPH I012;Lo;0;L;;;;;N;;;;;
+13198;EGYPTIAN HIEROGLYPH I013;Lo;0;L;;;;;N;;;;;
+13199;EGYPTIAN HIEROGLYPH I014;Lo;0;L;;;;;N;;;;;
+1319A;EGYPTIAN HIEROGLYPH I015;Lo;0;L;;;;;N;;;;;
+1319B;EGYPTIAN HIEROGLYPH K001;Lo;0;L;;;;;N;;;;;
+1319C;EGYPTIAN HIEROGLYPH K002;Lo;0;L;;;;;N;;;;;
+1319D;EGYPTIAN HIEROGLYPH K003;Lo;0;L;;;;;N;;;;;
+1319E;EGYPTIAN HIEROGLYPH K004;Lo;0;L;;;;;N;;;;;
+1319F;EGYPTIAN HIEROGLYPH K005;Lo;0;L;;;;;N;;;;;
+131A0;EGYPTIAN HIEROGLYPH K006;Lo;0;L;;;;;N;;;;;
+131A1;EGYPTIAN HIEROGLYPH K007;Lo;0;L;;;;;N;;;;;
+131A2;EGYPTIAN HIEROGLYPH K008;Lo;0;L;;;;;N;;;;;
+131A3;EGYPTIAN HIEROGLYPH L001;Lo;0;L;;;;;N;;;;;
+131A4;EGYPTIAN HIEROGLYPH L002;Lo;0;L;;;;;N;;;;;
+131A5;EGYPTIAN HIEROGLYPH L002A;Lo;0;L;;;;;N;;;;;
+131A6;EGYPTIAN HIEROGLYPH L003;Lo;0;L;;;;;N;;;;;
+131A7;EGYPTIAN HIEROGLYPH L004;Lo;0;L;;;;;N;;;;;
+131A8;EGYPTIAN HIEROGLYPH L005;Lo;0;L;;;;;N;;;;;
+131A9;EGYPTIAN HIEROGLYPH L006;Lo;0;L;;;;;N;;;;;
+131AA;EGYPTIAN HIEROGLYPH L006A;Lo;0;L;;;;;N;;;;;
+131AB;EGYPTIAN HIEROGLYPH L007;Lo;0;L;;;;;N;;;;;
+131AC;EGYPTIAN HIEROGLYPH L008;Lo;0;L;;;;;N;;;;;
+131AD;EGYPTIAN HIEROGLYPH M001;Lo;0;L;;;;;N;;;;;
+131AE;EGYPTIAN HIEROGLYPH M001A;Lo;0;L;;;;;N;;;;;
+131AF;EGYPTIAN HIEROGLYPH M001B;Lo;0;L;;;;;N;;;;;
+131B0;EGYPTIAN HIEROGLYPH M002;Lo;0;L;;;;;N;;;;;
+131B1;EGYPTIAN HIEROGLYPH M003;Lo;0;L;;;;;N;;;;;
+131B2;EGYPTIAN HIEROGLYPH M003A;Lo;0;L;;;;;N;;;;;
+131B3;EGYPTIAN HIEROGLYPH M004;Lo;0;L;;;;;N;;;;;
+131B4;EGYPTIAN HIEROGLYPH M005;Lo;0;L;;;;;N;;;;;
+131B5;EGYPTIAN HIEROGLYPH M006;Lo;0;L;;;;;N;;;;;
+131B6;EGYPTIAN HIEROGLYPH M007;Lo;0;L;;;;;N;;;;;
+131B7;EGYPTIAN HIEROGLYPH M008;Lo;0;L;;;;;N;;;;;
+131B8;EGYPTIAN HIEROGLYPH M009;Lo;0;L;;;;;N;;;;;
+131B9;EGYPTIAN HIEROGLYPH M010;Lo;0;L;;;;;N;;;;;
+131BA;EGYPTIAN HIEROGLYPH M010A;Lo;0;L;;;;;N;;;;;
+131BB;EGYPTIAN HIEROGLYPH M011;Lo;0;L;;;;;N;;;;;
+131BC;EGYPTIAN HIEROGLYPH M012;Lo;0;L;;;;;N;;;;;
+131BD;EGYPTIAN HIEROGLYPH M012A;Lo;0;L;;;;;N;;;;;
+131BE;EGYPTIAN HIEROGLYPH M012B;Lo;0;L;;;;;N;;;;;
+131BF;EGYPTIAN HIEROGLYPH M012C;Lo;0;L;;;;;N;;;;;
+131C0;EGYPTIAN HIEROGLYPH M012D;Lo;0;L;;;;;N;;;;;
+131C1;EGYPTIAN HIEROGLYPH M012E;Lo;0;L;;;;;N;;;;;
+131C2;EGYPTIAN HIEROGLYPH M012F;Lo;0;L;;;;;N;;;;;
+131C3;EGYPTIAN HIEROGLYPH M012G;Lo;0;L;;;;;N;;;;;
+131C4;EGYPTIAN HIEROGLYPH M012H;Lo;0;L;;;;;N;;;;;
+131C5;EGYPTIAN HIEROGLYPH M013;Lo;0;L;;;;;N;;;;;
+131C6;EGYPTIAN HIEROGLYPH M014;Lo;0;L;;;;;N;;;;;
+131C7;EGYPTIAN HIEROGLYPH M015;Lo;0;L;;;;;N;;;;;
+131C8;EGYPTIAN HIEROGLYPH M015A;Lo;0;L;;;;;N;;;;;
+131C9;EGYPTIAN HIEROGLYPH M016;Lo;0;L;;;;;N;;;;;
+131CA;EGYPTIAN HIEROGLYPH M016A;Lo;0;L;;;;;N;;;;;
+131CB;EGYPTIAN HIEROGLYPH M017;Lo;0;L;;;;;N;;;;;
+131CC;EGYPTIAN HIEROGLYPH M017A;Lo;0;L;;;;;N;;;;;
+131CD;EGYPTIAN HIEROGLYPH M018;Lo;0;L;;;;;N;;;;;
+131CE;EGYPTIAN HIEROGLYPH M019;Lo;0;L;;;;;N;;;;;
+131CF;EGYPTIAN HIEROGLYPH M020;Lo;0;L;;;;;N;;;;;
+131D0;EGYPTIAN HIEROGLYPH M021;Lo;0;L;;;;;N;;;;;
+131D1;EGYPTIAN HIEROGLYPH M022;Lo;0;L;;;;;N;;;;;
+131D2;EGYPTIAN HIEROGLYPH M022A;Lo;0;L;;;;;N;;;;;
+131D3;EGYPTIAN HIEROGLYPH M023;Lo;0;L;;;;;N;;;;;
+131D4;EGYPTIAN HIEROGLYPH M024;Lo;0;L;;;;;N;;;;;
+131D5;EGYPTIAN HIEROGLYPH M024A;Lo;0;L;;;;;N;;;;;
+131D6;EGYPTIAN HIEROGLYPH M025;Lo;0;L;;;;;N;;;;;
+131D7;EGYPTIAN HIEROGLYPH M026;Lo;0;L;;;;;N;;;;;
+131D8;EGYPTIAN HIEROGLYPH M027;Lo;0;L;;;;;N;;;;;
+131D9;EGYPTIAN HIEROGLYPH M028;Lo;0;L;;;;;N;;;;;
+131DA;EGYPTIAN HIEROGLYPH M028A;Lo;0;L;;;;;N;;;;;
+131DB;EGYPTIAN HIEROGLYPH M029;Lo;0;L;;;;;N;;;;;
+131DC;EGYPTIAN HIEROGLYPH M030;Lo;0;L;;;;;N;;;;;
+131DD;EGYPTIAN HIEROGLYPH M031;Lo;0;L;;;;;N;;;;;
+131DE;EGYPTIAN HIEROGLYPH M031A;Lo;0;L;;;;;N;;;;;
+131DF;EGYPTIAN HIEROGLYPH M032;Lo;0;L;;;;;N;;;;;
+131E0;EGYPTIAN HIEROGLYPH M033;Lo;0;L;;;;;N;;;;;
+131E1;EGYPTIAN HIEROGLYPH M033A;Lo;0;L;;;;;N;;;;;
+131E2;EGYPTIAN HIEROGLYPH M033B;Lo;0;L;;;;;N;;;;;
+131E3;EGYPTIAN HIEROGLYPH M034;Lo;0;L;;;;;N;;;;;
+131E4;EGYPTIAN HIEROGLYPH M035;Lo;0;L;;;;;N;;;;;
+131E5;EGYPTIAN HIEROGLYPH M036;Lo;0;L;;;;;N;;;;;
+131E6;EGYPTIAN HIEROGLYPH M037;Lo;0;L;;;;;N;;;;;
+131E7;EGYPTIAN HIEROGLYPH M038;Lo;0;L;;;;;N;;;;;
+131E8;EGYPTIAN HIEROGLYPH M039;Lo;0;L;;;;;N;;;;;
+131E9;EGYPTIAN HIEROGLYPH M040;Lo;0;L;;;;;N;;;;;
+131EA;EGYPTIAN HIEROGLYPH M040A;Lo;0;L;;;;;N;;;;;
+131EB;EGYPTIAN HIEROGLYPH M041;Lo;0;L;;;;;N;;;;;
+131EC;EGYPTIAN HIEROGLYPH M042;Lo;0;L;;;;;N;;;;;
+131ED;EGYPTIAN HIEROGLYPH M043;Lo;0;L;;;;;N;;;;;
+131EE;EGYPTIAN HIEROGLYPH M044;Lo;0;L;;;;;N;;;;;
+131EF;EGYPTIAN HIEROGLYPH N001;Lo;0;L;;;;;N;;;;;
+131F0;EGYPTIAN HIEROGLYPH N002;Lo;0;L;;;;;N;;;;;
+131F1;EGYPTIAN HIEROGLYPH N003;Lo;0;L;;;;;N;;;;;
+131F2;EGYPTIAN HIEROGLYPH N004;Lo;0;L;;;;;N;;;;;
+131F3;EGYPTIAN HIEROGLYPH N005;Lo;0;L;;;;;N;;;;;
+131F4;EGYPTIAN HIEROGLYPH N006;Lo;0;L;;;;;N;;;;;
+131F5;EGYPTIAN HIEROGLYPH N007;Lo;0;L;;;;;N;;;;;
+131F6;EGYPTIAN HIEROGLYPH N008;Lo;0;L;;;;;N;;;;;
+131F7;EGYPTIAN HIEROGLYPH N009;Lo;0;L;;;;;N;;;;;
+131F8;EGYPTIAN HIEROGLYPH N010;Lo;0;L;;;;;N;;;;;
+131F9;EGYPTIAN HIEROGLYPH N011;Lo;0;L;;;;;N;;;;;
+131FA;EGYPTIAN HIEROGLYPH N012;Lo;0;L;;;;;N;;;;;
+131FB;EGYPTIAN HIEROGLYPH N013;Lo;0;L;;;;;N;;;;;
+131FC;EGYPTIAN HIEROGLYPH N014;Lo;0;L;;;;;N;;;;;
+131FD;EGYPTIAN HIEROGLYPH N015;Lo;0;L;;;;;N;;;;;
+131FE;EGYPTIAN HIEROGLYPH N016;Lo;0;L;;;;;N;;;;;
+131FF;EGYPTIAN HIEROGLYPH N017;Lo;0;L;;;;;N;;;;;
+13200;EGYPTIAN HIEROGLYPH N018;Lo;0;L;;;;;N;;;;;
+13201;EGYPTIAN HIEROGLYPH N018A;Lo;0;L;;;;;N;;;;;
+13202;EGYPTIAN HIEROGLYPH N018B;Lo;0;L;;;;;N;;;;;
+13203;EGYPTIAN HIEROGLYPH N019;Lo;0;L;;;;;N;;;;;
+13204;EGYPTIAN HIEROGLYPH N020;Lo;0;L;;;;;N;;;;;
+13205;EGYPTIAN HIEROGLYPH N021;Lo;0;L;;;;;N;;;;;
+13206;EGYPTIAN HIEROGLYPH N022;Lo;0;L;;;;;N;;;;;
+13207;EGYPTIAN HIEROGLYPH N023;Lo;0;L;;;;;N;;;;;
+13208;EGYPTIAN HIEROGLYPH N024;Lo;0;L;;;;;N;;;;;
+13209;EGYPTIAN HIEROGLYPH N025;Lo;0;L;;;;;N;;;;;
+1320A;EGYPTIAN HIEROGLYPH N025A;Lo;0;L;;;;;N;;;;;
+1320B;EGYPTIAN HIEROGLYPH N026;Lo;0;L;;;;;N;;;;;
+1320C;EGYPTIAN HIEROGLYPH N027;Lo;0;L;;;;;N;;;;;
+1320D;EGYPTIAN HIEROGLYPH N028;Lo;0;L;;;;;N;;;;;
+1320E;EGYPTIAN HIEROGLYPH N029;Lo;0;L;;;;;N;;;;;
+1320F;EGYPTIAN HIEROGLYPH N030;Lo;0;L;;;;;N;;;;;
+13210;EGYPTIAN HIEROGLYPH N031;Lo;0;L;;;;;N;;;;;
+13211;EGYPTIAN HIEROGLYPH N032;Lo;0;L;;;;;N;;;;;
+13212;EGYPTIAN HIEROGLYPH N033;Lo;0;L;;;;;N;;;;;
+13213;EGYPTIAN HIEROGLYPH N033A;Lo;0;L;;;;;N;;;;;
+13214;EGYPTIAN HIEROGLYPH N034;Lo;0;L;;;;;N;;;;;
+13215;EGYPTIAN HIEROGLYPH N034A;Lo;0;L;;;;;N;;;;;
+13216;EGYPTIAN HIEROGLYPH N035;Lo;0;L;;;;;N;;;;;
+13217;EGYPTIAN HIEROGLYPH N035A;Lo;0;L;;;;;N;;;;;
+13218;EGYPTIAN HIEROGLYPH N036;Lo;0;L;;;;;N;;;;;
+13219;EGYPTIAN HIEROGLYPH N037;Lo;0;L;;;;;N;;;;;
+1321A;EGYPTIAN HIEROGLYPH N037A;Lo;0;L;;;;;N;;;;;
+1321B;EGYPTIAN HIEROGLYPH N038;Lo;0;L;;;;;N;;;;;
+1321C;EGYPTIAN HIEROGLYPH N039;Lo;0;L;;;;;N;;;;;
+1321D;EGYPTIAN HIEROGLYPH N040;Lo;0;L;;;;;N;;;;;
+1321E;EGYPTIAN HIEROGLYPH N041;Lo;0;L;;;;;N;;;;;
+1321F;EGYPTIAN HIEROGLYPH N042;Lo;0;L;;;;;N;;;;;
+13220;EGYPTIAN HIEROGLYPH NL001;Lo;0;L;;;;;N;;;;;
+13221;EGYPTIAN HIEROGLYPH NL002;Lo;0;L;;;;;N;;;;;
+13222;EGYPTIAN HIEROGLYPH NL003;Lo;0;L;;;;;N;;;;;
+13223;EGYPTIAN HIEROGLYPH NL004;Lo;0;L;;;;;N;;;;;
+13224;EGYPTIAN HIEROGLYPH NL005;Lo;0;L;;;;;N;;;;;
+13225;EGYPTIAN HIEROGLYPH NL005A;Lo;0;L;;;;;N;;;;;
+13226;EGYPTIAN HIEROGLYPH NL006;Lo;0;L;;;;;N;;;;;
+13227;EGYPTIAN HIEROGLYPH NL007;Lo;0;L;;;;;N;;;;;
+13228;EGYPTIAN HIEROGLYPH NL008;Lo;0;L;;;;;N;;;;;
+13229;EGYPTIAN HIEROGLYPH NL009;Lo;0;L;;;;;N;;;;;
+1322A;EGYPTIAN HIEROGLYPH NL010;Lo;0;L;;;;;N;;;;;
+1322B;EGYPTIAN HIEROGLYPH NL011;Lo;0;L;;;;;N;;;;;
+1322C;EGYPTIAN HIEROGLYPH NL012;Lo;0;L;;;;;N;;;;;
+1322D;EGYPTIAN HIEROGLYPH NL013;Lo;0;L;;;;;N;;;;;
+1322E;EGYPTIAN HIEROGLYPH NL014;Lo;0;L;;;;;N;;;;;
+1322F;EGYPTIAN HIEROGLYPH NL015;Lo;0;L;;;;;N;;;;;
+13230;EGYPTIAN HIEROGLYPH NL016;Lo;0;L;;;;;N;;;;;
+13231;EGYPTIAN HIEROGLYPH NL017;Lo;0;L;;;;;N;;;;;
+13232;EGYPTIAN HIEROGLYPH NL017A;Lo;0;L;;;;;N;;;;;
+13233;EGYPTIAN HIEROGLYPH NL018;Lo;0;L;;;;;N;;;;;
+13234;EGYPTIAN HIEROGLYPH NL019;Lo;0;L;;;;;N;;;;;
+13235;EGYPTIAN HIEROGLYPH NL020;Lo;0;L;;;;;N;;;;;
+13236;EGYPTIAN HIEROGLYPH NU001;Lo;0;L;;;;;N;;;;;
+13237;EGYPTIAN HIEROGLYPH NU002;Lo;0;L;;;;;N;;;;;
+13238;EGYPTIAN HIEROGLYPH NU003;Lo;0;L;;;;;N;;;;;
+13239;EGYPTIAN HIEROGLYPH NU004;Lo;0;L;;;;;N;;;;;
+1323A;EGYPTIAN HIEROGLYPH NU005;Lo;0;L;;;;;N;;;;;
+1323B;EGYPTIAN HIEROGLYPH NU006;Lo;0;L;;;;;N;;;;;
+1323C;EGYPTIAN HIEROGLYPH NU007;Lo;0;L;;;;;N;;;;;
+1323D;EGYPTIAN HIEROGLYPH NU008;Lo;0;L;;;;;N;;;;;
+1323E;EGYPTIAN HIEROGLYPH NU009;Lo;0;L;;;;;N;;;;;
+1323F;EGYPTIAN HIEROGLYPH NU010;Lo;0;L;;;;;N;;;;;
+13240;EGYPTIAN HIEROGLYPH NU010A;Lo;0;L;;;;;N;;;;;
+13241;EGYPTIAN HIEROGLYPH NU011;Lo;0;L;;;;;N;;;;;
+13242;EGYPTIAN HIEROGLYPH NU011A;Lo;0;L;;;;;N;;;;;
+13243;EGYPTIAN HIEROGLYPH NU012;Lo;0;L;;;;;N;;;;;
+13244;EGYPTIAN HIEROGLYPH NU013;Lo;0;L;;;;;N;;;;;
+13245;EGYPTIAN HIEROGLYPH NU014;Lo;0;L;;;;;N;;;;;
+13246;EGYPTIAN HIEROGLYPH NU015;Lo;0;L;;;;;N;;;;;
+13247;EGYPTIAN HIEROGLYPH NU016;Lo;0;L;;;;;N;;;;;
+13248;EGYPTIAN HIEROGLYPH NU017;Lo;0;L;;;;;N;;;;;
+13249;EGYPTIAN HIEROGLYPH NU018;Lo;0;L;;;;;N;;;;;
+1324A;EGYPTIAN HIEROGLYPH NU018A;Lo;0;L;;;;;N;;;;;
+1324B;EGYPTIAN HIEROGLYPH NU019;Lo;0;L;;;;;N;;;;;
+1324C;EGYPTIAN HIEROGLYPH NU020;Lo;0;L;;;;;N;;;;;
+1324D;EGYPTIAN HIEROGLYPH NU021;Lo;0;L;;;;;N;;;;;
+1324E;EGYPTIAN HIEROGLYPH NU022;Lo;0;L;;;;;N;;;;;
+1324F;EGYPTIAN HIEROGLYPH NU022A;Lo;0;L;;;;;N;;;;;
+13250;EGYPTIAN HIEROGLYPH O001;Lo;0;L;;;;;N;;;;;
+13251;EGYPTIAN HIEROGLYPH O001A;Lo;0;L;;;;;N;;;;;
+13252;EGYPTIAN HIEROGLYPH O002;Lo;0;L;;;;;N;;;;;
+13253;EGYPTIAN HIEROGLYPH O003;Lo;0;L;;;;;N;;;;;
+13254;EGYPTIAN HIEROGLYPH O004;Lo;0;L;;;;;N;;;;;
+13255;EGYPTIAN HIEROGLYPH O005;Lo;0;L;;;;;N;;;;;
+13256;EGYPTIAN HIEROGLYPH O005A;Lo;0;L;;;;;N;;;;;
+13257;EGYPTIAN HIEROGLYPH O006;Lo;0;L;;;;;N;;;;;
+13258;EGYPTIAN HIEROGLYPH O006A;Lo;0;L;;;;;N;;;;;
+13259;EGYPTIAN HIEROGLYPH O006B;Lo;0;L;;;;;N;;;;;
+1325A;EGYPTIAN HIEROGLYPH O006C;Lo;0;L;;;;;N;;;;;
+1325B;EGYPTIAN HIEROGLYPH O006D;Lo;0;L;;;;;N;;;;;
+1325C;EGYPTIAN HIEROGLYPH O006E;Lo;0;L;;;;;N;;;;;
+1325D;EGYPTIAN HIEROGLYPH O006F;Lo;0;L;;;;;N;;;;;
+1325E;EGYPTIAN HIEROGLYPH O007;Lo;0;L;;;;;N;;;;;
+1325F;EGYPTIAN HIEROGLYPH O008;Lo;0;L;;;;;N;;;;;
+13260;EGYPTIAN HIEROGLYPH O009;Lo;0;L;;;;;N;;;;;
+13261;EGYPTIAN HIEROGLYPH O010;Lo;0;L;;;;;N;;;;;
+13262;EGYPTIAN HIEROGLYPH O010A;Lo;0;L;;;;;N;;;;;
+13263;EGYPTIAN HIEROGLYPH O010B;Lo;0;L;;;;;N;;;;;
+13264;EGYPTIAN HIEROGLYPH O010C;Lo;0;L;;;;;N;;;;;
+13265;EGYPTIAN HIEROGLYPH O011;Lo;0;L;;;;;N;;;;;
+13266;EGYPTIAN HIEROGLYPH O012;Lo;0;L;;;;;N;;;;;
+13267;EGYPTIAN HIEROGLYPH O013;Lo;0;L;;;;;N;;;;;
+13268;EGYPTIAN HIEROGLYPH O014;Lo;0;L;;;;;N;;;;;
+13269;EGYPTIAN HIEROGLYPH O015;Lo;0;L;;;;;N;;;;;
+1326A;EGYPTIAN HIEROGLYPH O016;Lo;0;L;;;;;N;;;;;
+1326B;EGYPTIAN HIEROGLYPH O017;Lo;0;L;;;;;N;;;;;
+1326C;EGYPTIAN HIEROGLYPH O018;Lo;0;L;;;;;N;;;;;
+1326D;EGYPTIAN HIEROGLYPH O019;Lo;0;L;;;;;N;;;;;
+1326E;EGYPTIAN HIEROGLYPH O019A;Lo;0;L;;;;;N;;;;;
+1326F;EGYPTIAN HIEROGLYPH O020;Lo;0;L;;;;;N;;;;;
+13270;EGYPTIAN HIEROGLYPH O020A;Lo;0;L;;;;;N;;;;;
+13271;EGYPTIAN HIEROGLYPH O021;Lo;0;L;;;;;N;;;;;
+13272;EGYPTIAN HIEROGLYPH O022;Lo;0;L;;;;;N;;;;;
+13273;EGYPTIAN HIEROGLYPH O023;Lo;0;L;;;;;N;;;;;
+13274;EGYPTIAN HIEROGLYPH O024;Lo;0;L;;;;;N;;;;;
+13275;EGYPTIAN HIEROGLYPH O024A;Lo;0;L;;;;;N;;;;;
+13276;EGYPTIAN HIEROGLYPH O025;Lo;0;L;;;;;N;;;;;
+13277;EGYPTIAN HIEROGLYPH O025A;Lo;0;L;;;;;N;;;;;
+13278;EGYPTIAN HIEROGLYPH O026;Lo;0;L;;;;;N;;;;;
+13279;EGYPTIAN HIEROGLYPH O027;Lo;0;L;;;;;N;;;;;
+1327A;EGYPTIAN HIEROGLYPH O028;Lo;0;L;;;;;N;;;;;
+1327B;EGYPTIAN HIEROGLYPH O029;Lo;0;L;;;;;N;;;;;
+1327C;EGYPTIAN HIEROGLYPH O029A;Lo;0;L;;;;;N;;;;;
+1327D;EGYPTIAN HIEROGLYPH O030;Lo;0;L;;;;;N;;;;;
+1327E;EGYPTIAN HIEROGLYPH O030A;Lo;0;L;;;;;N;;;;;
+1327F;EGYPTIAN HIEROGLYPH O031;Lo;0;L;;;;;N;;;;;
+13280;EGYPTIAN HIEROGLYPH O032;Lo;0;L;;;;;N;;;;;
+13281;EGYPTIAN HIEROGLYPH O033;Lo;0;L;;;;;N;;;;;
+13282;EGYPTIAN HIEROGLYPH O033A;Lo;0;L;;;;;N;;;;;
+13283;EGYPTIAN HIEROGLYPH O034;Lo;0;L;;;;;N;;;;;
+13284;EGYPTIAN HIEROGLYPH O035;Lo;0;L;;;;;N;;;;;
+13285;EGYPTIAN HIEROGLYPH O036;Lo;0;L;;;;;N;;;;;
+13286;EGYPTIAN HIEROGLYPH O036A;Lo;0;L;;;;;N;;;;;
+13287;EGYPTIAN HIEROGLYPH O036B;Lo;0;L;;;;;N;;;;;
+13288;EGYPTIAN HIEROGLYPH O036C;Lo;0;L;;;;;N;;;;;
+13289;EGYPTIAN HIEROGLYPH O036D;Lo;0;L;;;;;N;;;;;
+1328A;EGYPTIAN HIEROGLYPH O037;Lo;0;L;;;;;N;;;;;
+1328B;EGYPTIAN HIEROGLYPH O038;Lo;0;L;;;;;N;;;;;
+1328C;EGYPTIAN HIEROGLYPH O039;Lo;0;L;;;;;N;;;;;
+1328D;EGYPTIAN HIEROGLYPH O040;Lo;0;L;;;;;N;;;;;
+1328E;EGYPTIAN HIEROGLYPH O041;Lo;0;L;;;;;N;;;;;
+1328F;EGYPTIAN HIEROGLYPH O042;Lo;0;L;;;;;N;;;;;
+13290;EGYPTIAN HIEROGLYPH O043;Lo;0;L;;;;;N;;;;;
+13291;EGYPTIAN HIEROGLYPH O044;Lo;0;L;;;;;N;;;;;
+13292;EGYPTIAN HIEROGLYPH O045;Lo;0;L;;;;;N;;;;;
+13293;EGYPTIAN HIEROGLYPH O046;Lo;0;L;;;;;N;;;;;
+13294;EGYPTIAN HIEROGLYPH O047;Lo;0;L;;;;;N;;;;;
+13295;EGYPTIAN HIEROGLYPH O048;Lo;0;L;;;;;N;;;;;
+13296;EGYPTIAN HIEROGLYPH O049;Lo;0;L;;;;;N;;;;;
+13297;EGYPTIAN HIEROGLYPH O050;Lo;0;L;;;;;N;;;;;
+13298;EGYPTIAN HIEROGLYPH O050A;Lo;0;L;;;;;N;;;;;
+13299;EGYPTIAN HIEROGLYPH O050B;Lo;0;L;;;;;N;;;;;
+1329A;EGYPTIAN HIEROGLYPH O051;Lo;0;L;;;;;N;;;;;
+1329B;EGYPTIAN HIEROGLYPH P001;Lo;0;L;;;;;N;;;;;
+1329C;EGYPTIAN HIEROGLYPH P001A;Lo;0;L;;;;;N;;;;;
+1329D;EGYPTIAN HIEROGLYPH P002;Lo;0;L;;;;;N;;;;;
+1329E;EGYPTIAN HIEROGLYPH P003;Lo;0;L;;;;;N;;;;;
+1329F;EGYPTIAN HIEROGLYPH P003A;Lo;0;L;;;;;N;;;;;
+132A0;EGYPTIAN HIEROGLYPH P004;Lo;0;L;;;;;N;;;;;
+132A1;EGYPTIAN HIEROGLYPH P005;Lo;0;L;;;;;N;;;;;
+132A2;EGYPTIAN HIEROGLYPH P006;Lo;0;L;;;;;N;;;;;
+132A3;EGYPTIAN HIEROGLYPH P007;Lo;0;L;;;;;N;;;;;
+132A4;EGYPTIAN HIEROGLYPH P008;Lo;0;L;;;;;N;;;;;
+132A5;EGYPTIAN HIEROGLYPH P009;Lo;0;L;;;;;N;;;;;
+132A6;EGYPTIAN HIEROGLYPH P010;Lo;0;L;;;;;N;;;;;
+132A7;EGYPTIAN HIEROGLYPH P011;Lo;0;L;;;;;N;;;;;
+132A8;EGYPTIAN HIEROGLYPH Q001;Lo;0;L;;;;;N;;;;;
+132A9;EGYPTIAN HIEROGLYPH Q002;Lo;0;L;;;;;N;;;;;
+132AA;EGYPTIAN HIEROGLYPH Q003;Lo;0;L;;;;;N;;;;;
+132AB;EGYPTIAN HIEROGLYPH Q004;Lo;0;L;;;;;N;;;;;
+132AC;EGYPTIAN HIEROGLYPH Q005;Lo;0;L;;;;;N;;;;;
+132AD;EGYPTIAN HIEROGLYPH Q006;Lo;0;L;;;;;N;;;;;
+132AE;EGYPTIAN HIEROGLYPH Q007;Lo;0;L;;;;;N;;;;;
+132AF;EGYPTIAN HIEROGLYPH R001;Lo;0;L;;;;;N;;;;;
+132B0;EGYPTIAN HIEROGLYPH R002;Lo;0;L;;;;;N;;;;;
+132B1;EGYPTIAN HIEROGLYPH R002A;Lo;0;L;;;;;N;;;;;
+132B2;EGYPTIAN HIEROGLYPH R003;Lo;0;L;;;;;N;;;;;
+132B3;EGYPTIAN HIEROGLYPH R003A;Lo;0;L;;;;;N;;;;;
+132B4;EGYPTIAN HIEROGLYPH R003B;Lo;0;L;;;;;N;;;;;
+132B5;EGYPTIAN HIEROGLYPH R004;Lo;0;L;;;;;N;;;;;
+132B6;EGYPTIAN HIEROGLYPH R005;Lo;0;L;;;;;N;;;;;
+132B7;EGYPTIAN HIEROGLYPH R006;Lo;0;L;;;;;N;;;;;
+132B8;EGYPTIAN HIEROGLYPH R007;Lo;0;L;;;;;N;;;;;
+132B9;EGYPTIAN HIEROGLYPH R008;Lo;0;L;;;;;N;;;;;
+132BA;EGYPTIAN HIEROGLYPH R009;Lo;0;L;;;;;N;;;;;
+132BB;EGYPTIAN HIEROGLYPH R010;Lo;0;L;;;;;N;;;;;
+132BC;EGYPTIAN HIEROGLYPH R010A;Lo;0;L;;;;;N;;;;;
+132BD;EGYPTIAN HIEROGLYPH R011;Lo;0;L;;;;;N;;;;;
+132BE;EGYPTIAN HIEROGLYPH R012;Lo;0;L;;;;;N;;;;;
+132BF;EGYPTIAN HIEROGLYPH R013;Lo;0;L;;;;;N;;;;;
+132C0;EGYPTIAN HIEROGLYPH R014;Lo;0;L;;;;;N;;;;;
+132C1;EGYPTIAN HIEROGLYPH R015;Lo;0;L;;;;;N;;;;;
+132C2;EGYPTIAN HIEROGLYPH R016;Lo;0;L;;;;;N;;;;;
+132C3;EGYPTIAN HIEROGLYPH R016A;Lo;0;L;;;;;N;;;;;
+132C4;EGYPTIAN HIEROGLYPH R017;Lo;0;L;;;;;N;;;;;
+132C5;EGYPTIAN HIEROGLYPH R018;Lo;0;L;;;;;N;;;;;
+132C6;EGYPTIAN HIEROGLYPH R019;Lo;0;L;;;;;N;;;;;
+132C7;EGYPTIAN HIEROGLYPH R020;Lo;0;L;;;;;N;;;;;
+132C8;EGYPTIAN HIEROGLYPH R021;Lo;0;L;;;;;N;;;;;
+132C9;EGYPTIAN HIEROGLYPH R022;Lo;0;L;;;;;N;;;;;
+132CA;EGYPTIAN HIEROGLYPH R023;Lo;0;L;;;;;N;;;;;
+132CB;EGYPTIAN HIEROGLYPH R024;Lo;0;L;;;;;N;;;;;
+132CC;EGYPTIAN HIEROGLYPH R025;Lo;0;L;;;;;N;;;;;
+132CD;EGYPTIAN HIEROGLYPH R026;Lo;0;L;;;;;N;;;;;
+132CE;EGYPTIAN HIEROGLYPH R027;Lo;0;L;;;;;N;;;;;
+132CF;EGYPTIAN HIEROGLYPH R028;Lo;0;L;;;;;N;;;;;
+132D0;EGYPTIAN HIEROGLYPH R029;Lo;0;L;;;;;N;;;;;
+132D1;EGYPTIAN HIEROGLYPH S001;Lo;0;L;;;;;N;;;;;
+132D2;EGYPTIAN HIEROGLYPH S002;Lo;0;L;;;;;N;;;;;
+132D3;EGYPTIAN HIEROGLYPH S002A;Lo;0;L;;;;;N;;;;;
+132D4;EGYPTIAN HIEROGLYPH S003;Lo;0;L;;;;;N;;;;;
+132D5;EGYPTIAN HIEROGLYPH S004;Lo;0;L;;;;;N;;;;;
+132D6;EGYPTIAN HIEROGLYPH S005;Lo;0;L;;;;;N;;;;;
+132D7;EGYPTIAN HIEROGLYPH S006;Lo;0;L;;;;;N;;;;;
+132D8;EGYPTIAN HIEROGLYPH S006A;Lo;0;L;;;;;N;;;;;
+132D9;EGYPTIAN HIEROGLYPH S007;Lo;0;L;;;;;N;;;;;
+132DA;EGYPTIAN HIEROGLYPH S008;Lo;0;L;;;;;N;;;;;
+132DB;EGYPTIAN HIEROGLYPH S009;Lo;0;L;;;;;N;;;;;
+132DC;EGYPTIAN HIEROGLYPH S010;Lo;0;L;;;;;N;;;;;
+132DD;EGYPTIAN HIEROGLYPH S011;Lo;0;L;;;;;N;;;;;
+132DE;EGYPTIAN HIEROGLYPH S012;Lo;0;L;;;;;N;;;;;
+132DF;EGYPTIAN HIEROGLYPH S013;Lo;0;L;;;;;N;;;;;
+132E0;EGYPTIAN HIEROGLYPH S014;Lo;0;L;;;;;N;;;;;
+132E1;EGYPTIAN HIEROGLYPH S014A;Lo;0;L;;;;;N;;;;;
+132E2;EGYPTIAN HIEROGLYPH S014B;Lo;0;L;;;;;N;;;;;
+132E3;EGYPTIAN HIEROGLYPH S015;Lo;0;L;;;;;N;;;;;
+132E4;EGYPTIAN HIEROGLYPH S016;Lo;0;L;;;;;N;;;;;
+132E5;EGYPTIAN HIEROGLYPH S017;Lo;0;L;;;;;N;;;;;
+132E6;EGYPTIAN HIEROGLYPH S017A;Lo;0;L;;;;;N;;;;;
+132E7;EGYPTIAN HIEROGLYPH S018;Lo;0;L;;;;;N;;;;;
+132E8;EGYPTIAN HIEROGLYPH S019;Lo;0;L;;;;;N;;;;;
+132E9;EGYPTIAN HIEROGLYPH S020;Lo;0;L;;;;;N;;;;;
+132EA;EGYPTIAN HIEROGLYPH S021;Lo;0;L;;;;;N;;;;;
+132EB;EGYPTIAN HIEROGLYPH S022;Lo;0;L;;;;;N;;;;;
+132EC;EGYPTIAN HIEROGLYPH S023;Lo;0;L;;;;;N;;;;;
+132ED;EGYPTIAN HIEROGLYPH S024;Lo;0;L;;;;;N;;;;;
+132EE;EGYPTIAN HIEROGLYPH S025;Lo;0;L;;;;;N;;;;;
+132EF;EGYPTIAN HIEROGLYPH S026;Lo;0;L;;;;;N;;;;;
+132F0;EGYPTIAN HIEROGLYPH S026A;Lo;0;L;;;;;N;;;;;
+132F1;EGYPTIAN HIEROGLYPH S026B;Lo;0;L;;;;;N;;;;;
+132F2;EGYPTIAN HIEROGLYPH S027;Lo;0;L;;;;;N;;;;;
+132F3;EGYPTIAN HIEROGLYPH S028;Lo;0;L;;;;;N;;;;;
+132F4;EGYPTIAN HIEROGLYPH S029;Lo;0;L;;;;;N;;;;;
+132F5;EGYPTIAN HIEROGLYPH S030;Lo;0;L;;;;;N;;;;;
+132F6;EGYPTIAN HIEROGLYPH S031;Lo;0;L;;;;;N;;;;;
+132F7;EGYPTIAN HIEROGLYPH S032;Lo;0;L;;;;;N;;;;;
+132F8;EGYPTIAN HIEROGLYPH S033;Lo;0;L;;;;;N;;;;;
+132F9;EGYPTIAN HIEROGLYPH S034;Lo;0;L;;;;;N;;;;;
+132FA;EGYPTIAN HIEROGLYPH S035;Lo;0;L;;;;;N;;;;;
+132FB;EGYPTIAN HIEROGLYPH S035A;Lo;0;L;;;;;N;;;;;
+132FC;EGYPTIAN HIEROGLYPH S036;Lo;0;L;;;;;N;;;;;
+132FD;EGYPTIAN HIEROGLYPH S037;Lo;0;L;;;;;N;;;;;
+132FE;EGYPTIAN HIEROGLYPH S038;Lo;0;L;;;;;N;;;;;
+132FF;EGYPTIAN HIEROGLYPH S039;Lo;0;L;;;;;N;;;;;
+13300;EGYPTIAN HIEROGLYPH S040;Lo;0;L;;;;;N;;;;;
+13301;EGYPTIAN HIEROGLYPH S041;Lo;0;L;;;;;N;;;;;
+13302;EGYPTIAN HIEROGLYPH S042;Lo;0;L;;;;;N;;;;;
+13303;EGYPTIAN HIEROGLYPH S043;Lo;0;L;;;;;N;;;;;
+13304;EGYPTIAN HIEROGLYPH S044;Lo;0;L;;;;;N;;;;;
+13305;EGYPTIAN HIEROGLYPH S045;Lo;0;L;;;;;N;;;;;
+13306;EGYPTIAN HIEROGLYPH S046;Lo;0;L;;;;;N;;;;;
+13307;EGYPTIAN HIEROGLYPH T001;Lo;0;L;;;;;N;;;;;
+13308;EGYPTIAN HIEROGLYPH T002;Lo;0;L;;;;;N;;;;;
+13309;EGYPTIAN HIEROGLYPH T003;Lo;0;L;;;;;N;;;;;
+1330A;EGYPTIAN HIEROGLYPH T003A;Lo;0;L;;;;;N;;;;;
+1330B;EGYPTIAN HIEROGLYPH T004;Lo;0;L;;;;;N;;;;;
+1330C;EGYPTIAN HIEROGLYPH T005;Lo;0;L;;;;;N;;;;;
+1330D;EGYPTIAN HIEROGLYPH T006;Lo;0;L;;;;;N;;;;;
+1330E;EGYPTIAN HIEROGLYPH T007;Lo;0;L;;;;;N;;;;;
+1330F;EGYPTIAN HIEROGLYPH T007A;Lo;0;L;;;;;N;;;;;
+13310;EGYPTIAN HIEROGLYPH T008;Lo;0;L;;;;;N;;;;;
+13311;EGYPTIAN HIEROGLYPH T008A;Lo;0;L;;;;;N;;;;;
+13312;EGYPTIAN HIEROGLYPH T009;Lo;0;L;;;;;N;;;;;
+13313;EGYPTIAN HIEROGLYPH T009A;Lo;0;L;;;;;N;;;;;
+13314;EGYPTIAN HIEROGLYPH T010;Lo;0;L;;;;;N;;;;;
+13315;EGYPTIAN HIEROGLYPH T011;Lo;0;L;;;;;N;;;;;
+13316;EGYPTIAN HIEROGLYPH T011A;Lo;0;L;;;;;N;;;;;
+13317;EGYPTIAN HIEROGLYPH T012;Lo;0;L;;;;;N;;;;;
+13318;EGYPTIAN HIEROGLYPH T013;Lo;0;L;;;;;N;;;;;
+13319;EGYPTIAN HIEROGLYPH T014;Lo;0;L;;;;;N;;;;;
+1331A;EGYPTIAN HIEROGLYPH T015;Lo;0;L;;;;;N;;;;;
+1331B;EGYPTIAN HIEROGLYPH T016;Lo;0;L;;;;;N;;;;;
+1331C;EGYPTIAN HIEROGLYPH T016A;Lo;0;L;;;;;N;;;;;
+1331D;EGYPTIAN HIEROGLYPH T017;Lo;0;L;;;;;N;;;;;
+1331E;EGYPTIAN HIEROGLYPH T018;Lo;0;L;;;;;N;;;;;
+1331F;EGYPTIAN HIEROGLYPH T019;Lo;0;L;;;;;N;;;;;
+13320;EGYPTIAN HIEROGLYPH T020;Lo;0;L;;;;;N;;;;;
+13321;EGYPTIAN HIEROGLYPH T021;Lo;0;L;;;;;N;;;;;
+13322;EGYPTIAN HIEROGLYPH T022;Lo;0;L;;;;;N;;;;;
+13323;EGYPTIAN HIEROGLYPH T023;Lo;0;L;;;;;N;;;;;
+13324;EGYPTIAN HIEROGLYPH T024;Lo;0;L;;;;;N;;;;;
+13325;EGYPTIAN HIEROGLYPH T025;Lo;0;L;;;;;N;;;;;
+13326;EGYPTIAN HIEROGLYPH T026;Lo;0;L;;;;;N;;;;;
+13327;EGYPTIAN HIEROGLYPH T027;Lo;0;L;;;;;N;;;;;
+13328;EGYPTIAN HIEROGLYPH T028;Lo;0;L;;;;;N;;;;;
+13329;EGYPTIAN HIEROGLYPH T029;Lo;0;L;;;;;N;;;;;
+1332A;EGYPTIAN HIEROGLYPH T030;Lo;0;L;;;;;N;;;;;
+1332B;EGYPTIAN HIEROGLYPH T031;Lo;0;L;;;;;N;;;;;
+1332C;EGYPTIAN HIEROGLYPH T032;Lo;0;L;;;;;N;;;;;
+1332D;EGYPTIAN HIEROGLYPH T032A;Lo;0;L;;;;;N;;;;;
+1332E;EGYPTIAN HIEROGLYPH T033;Lo;0;L;;;;;N;;;;;
+1332F;EGYPTIAN HIEROGLYPH T033A;Lo;0;L;;;;;N;;;;;
+13330;EGYPTIAN HIEROGLYPH T034;Lo;0;L;;;;;N;;;;;
+13331;EGYPTIAN HIEROGLYPH T035;Lo;0;L;;;;;N;;;;;
+13332;EGYPTIAN HIEROGLYPH T036;Lo;0;L;;;;;N;;;;;
+13333;EGYPTIAN HIEROGLYPH U001;Lo;0;L;;;;;N;;;;;
+13334;EGYPTIAN HIEROGLYPH U002;Lo;0;L;;;;;N;;;;;
+13335;EGYPTIAN HIEROGLYPH U003;Lo;0;L;;;;;N;;;;;
+13336;EGYPTIAN HIEROGLYPH U004;Lo;0;L;;;;;N;;;;;
+13337;EGYPTIAN HIEROGLYPH U005;Lo;0;L;;;;;N;;;;;
+13338;EGYPTIAN HIEROGLYPH U006;Lo;0;L;;;;;N;;;;;
+13339;EGYPTIAN HIEROGLYPH U006A;Lo;0;L;;;;;N;;;;;
+1333A;EGYPTIAN HIEROGLYPH U006B;Lo;0;L;;;;;N;;;;;
+1333B;EGYPTIAN HIEROGLYPH U007;Lo;0;L;;;;;N;;;;;
+1333C;EGYPTIAN HIEROGLYPH U008;Lo;0;L;;;;;N;;;;;
+1333D;EGYPTIAN HIEROGLYPH U009;Lo;0;L;;;;;N;;;;;
+1333E;EGYPTIAN HIEROGLYPH U010;Lo;0;L;;;;;N;;;;;
+1333F;EGYPTIAN HIEROGLYPH U011;Lo;0;L;;;;;N;;;;;
+13340;EGYPTIAN HIEROGLYPH U012;Lo;0;L;;;;;N;;;;;
+13341;EGYPTIAN HIEROGLYPH U013;Lo;0;L;;;;;N;;;;;
+13342;EGYPTIAN HIEROGLYPH U014;Lo;0;L;;;;;N;;;;;
+13343;EGYPTIAN HIEROGLYPH U015;Lo;0;L;;;;;N;;;;;
+13344;EGYPTIAN HIEROGLYPH U016;Lo;0;L;;;;;N;;;;;
+13345;EGYPTIAN HIEROGLYPH U017;Lo;0;L;;;;;N;;;;;
+13346;EGYPTIAN HIEROGLYPH U018;Lo;0;L;;;;;N;;;;;
+13347;EGYPTIAN HIEROGLYPH U019;Lo;0;L;;;;;N;;;;;
+13348;EGYPTIAN HIEROGLYPH U020;Lo;0;L;;;;;N;;;;;
+13349;EGYPTIAN HIEROGLYPH U021;Lo;0;L;;;;;N;;;;;
+1334A;EGYPTIAN HIEROGLYPH U022;Lo;0;L;;;;;N;;;;;
+1334B;EGYPTIAN HIEROGLYPH U023;Lo;0;L;;;;;N;;;;;
+1334C;EGYPTIAN HIEROGLYPH U023A;Lo;0;L;;;;;N;;;;;
+1334D;EGYPTIAN HIEROGLYPH U024;Lo;0;L;;;;;N;;;;;
+1334E;EGYPTIAN HIEROGLYPH U025;Lo;0;L;;;;;N;;;;;
+1334F;EGYPTIAN HIEROGLYPH U026;Lo;0;L;;;;;N;;;;;
+13350;EGYPTIAN HIEROGLYPH U027;Lo;0;L;;;;;N;;;;;
+13351;EGYPTIAN HIEROGLYPH U028;Lo;0;L;;;;;N;;;;;
+13352;EGYPTIAN HIEROGLYPH U029;Lo;0;L;;;;;N;;;;;
+13353;EGYPTIAN HIEROGLYPH U029A;Lo;0;L;;;;;N;;;;;
+13354;EGYPTIAN HIEROGLYPH U030;Lo;0;L;;;;;N;;;;;
+13355;EGYPTIAN HIEROGLYPH U031;Lo;0;L;;;;;N;;;;;
+13356;EGYPTIAN HIEROGLYPH U032;Lo;0;L;;;;;N;;;;;
+13357;EGYPTIAN HIEROGLYPH U032A;Lo;0;L;;;;;N;;;;;
+13358;EGYPTIAN HIEROGLYPH U033;Lo;0;L;;;;;N;;;;;
+13359;EGYPTIAN HIEROGLYPH U034;Lo;0;L;;;;;N;;;;;
+1335A;EGYPTIAN HIEROGLYPH U035;Lo;0;L;;;;;N;;;;;
+1335B;EGYPTIAN HIEROGLYPH U036;Lo;0;L;;;;;N;;;;;
+1335C;EGYPTIAN HIEROGLYPH U037;Lo;0;L;;;;;N;;;;;
+1335D;EGYPTIAN HIEROGLYPH U038;Lo;0;L;;;;;N;;;;;
+1335E;EGYPTIAN HIEROGLYPH U039;Lo;0;L;;;;;N;;;;;
+1335F;EGYPTIAN HIEROGLYPH U040;Lo;0;L;;;;;N;;;;;
+13360;EGYPTIAN HIEROGLYPH U041;Lo;0;L;;;;;N;;;;;
+13361;EGYPTIAN HIEROGLYPH U042;Lo;0;L;;;;;N;;;;;
+13362;EGYPTIAN HIEROGLYPH V001;Lo;0;L;;;;;N;;;;;
+13363;EGYPTIAN HIEROGLYPH V001A;Lo;0;L;;;;;N;;;;;
+13364;EGYPTIAN HIEROGLYPH V001B;Lo;0;L;;;;;N;;;;;
+13365;EGYPTIAN HIEROGLYPH V001C;Lo;0;L;;;;;N;;;;;
+13366;EGYPTIAN HIEROGLYPH V001D;Lo;0;L;;;;;N;;;;;
+13367;EGYPTIAN HIEROGLYPH V001E;Lo;0;L;;;;;N;;;;;
+13368;EGYPTIAN HIEROGLYPH V001F;Lo;0;L;;;;;N;;;;;
+13369;EGYPTIAN HIEROGLYPH V001G;Lo;0;L;;;;;N;;;;;
+1336A;EGYPTIAN HIEROGLYPH V001H;Lo;0;L;;;;;N;;;;;
+1336B;EGYPTIAN HIEROGLYPH V001I;Lo;0;L;;;;;N;;;;;
+1336C;EGYPTIAN HIEROGLYPH V002;Lo;0;L;;;;;N;;;;;
+1336D;EGYPTIAN HIEROGLYPH V002A;Lo;0;L;;;;;N;;;;;
+1336E;EGYPTIAN HIEROGLYPH V003;Lo;0;L;;;;;N;;;;;
+1336F;EGYPTIAN HIEROGLYPH V004;Lo;0;L;;;;;N;;;;;
+13370;EGYPTIAN HIEROGLYPH V005;Lo;0;L;;;;;N;;;;;
+13371;EGYPTIAN HIEROGLYPH V006;Lo;0;L;;;;;N;;;;;
+13372;EGYPTIAN HIEROGLYPH V007;Lo;0;L;;;;;N;;;;;
+13373;EGYPTIAN HIEROGLYPH V007A;Lo;0;L;;;;;N;;;;;
+13374;EGYPTIAN HIEROGLYPH V007B;Lo;0;L;;;;;N;;;;;
+13375;EGYPTIAN HIEROGLYPH V008;Lo;0;L;;;;;N;;;;;
+13376;EGYPTIAN HIEROGLYPH V009;Lo;0;L;;;;;N;;;;;
+13377;EGYPTIAN HIEROGLYPH V010;Lo;0;L;;;;;N;;;;;
+13378;EGYPTIAN HIEROGLYPH V011;Lo;0;L;;;;;N;;;;;
+13379;EGYPTIAN HIEROGLYPH V011A;Lo;0;L;;;;;N;;;;;
+1337A;EGYPTIAN HIEROGLYPH V011B;Lo;0;L;;;;;N;;;;;
+1337B;EGYPTIAN HIEROGLYPH V011C;Lo;0;L;;;;;N;;;;;
+1337C;EGYPTIAN HIEROGLYPH V012;Lo;0;L;;;;;N;;;;;
+1337D;EGYPTIAN HIEROGLYPH V012A;Lo;0;L;;;;;N;;;;;
+1337E;EGYPTIAN HIEROGLYPH V012B;Lo;0;L;;;;;N;;;;;
+1337F;EGYPTIAN HIEROGLYPH V013;Lo;0;L;;;;;N;;;;;
+13380;EGYPTIAN HIEROGLYPH V014;Lo;0;L;;;;;N;;;;;
+13381;EGYPTIAN HIEROGLYPH V015;Lo;0;L;;;;;N;;;;;
+13382;EGYPTIAN HIEROGLYPH V016;Lo;0;L;;;;;N;;;;;
+13383;EGYPTIAN HIEROGLYPH V017;Lo;0;L;;;;;N;;;;;
+13384;EGYPTIAN HIEROGLYPH V018;Lo;0;L;;;;;N;;;;;
+13385;EGYPTIAN HIEROGLYPH V019;Lo;0;L;;;;;N;;;;;
+13386;EGYPTIAN HIEROGLYPH V020;Lo;0;L;;;;;N;;;;;
+13387;EGYPTIAN HIEROGLYPH V020A;Lo;0;L;;;;;N;;;;;
+13388;EGYPTIAN HIEROGLYPH V020B;Lo;0;L;;;;;N;;;;;
+13389;EGYPTIAN HIEROGLYPH V020C;Lo;0;L;;;;;N;;;;;
+1338A;EGYPTIAN HIEROGLYPH V020D;Lo;0;L;;;;;N;;;;;
+1338B;EGYPTIAN HIEROGLYPH V020E;Lo;0;L;;;;;N;;;;;
+1338C;EGYPTIAN HIEROGLYPH V020F;Lo;0;L;;;;;N;;;;;
+1338D;EGYPTIAN HIEROGLYPH V020G;Lo;0;L;;;;;N;;;;;
+1338E;EGYPTIAN HIEROGLYPH V020H;Lo;0;L;;;;;N;;;;;
+1338F;EGYPTIAN HIEROGLYPH V020I;Lo;0;L;;;;;N;;;;;
+13390;EGYPTIAN HIEROGLYPH V020J;Lo;0;L;;;;;N;;;;;
+13391;EGYPTIAN HIEROGLYPH V020K;Lo;0;L;;;;;N;;;;;
+13392;EGYPTIAN HIEROGLYPH V020L;Lo;0;L;;;;;N;;;;;
+13393;EGYPTIAN HIEROGLYPH V021;Lo;0;L;;;;;N;;;;;
+13394;EGYPTIAN HIEROGLYPH V022;Lo;0;L;;;;;N;;;;;
+13395;EGYPTIAN HIEROGLYPH V023;Lo;0;L;;;;;N;;;;;
+13396;EGYPTIAN HIEROGLYPH V023A;Lo;0;L;;;;;N;;;;;
+13397;EGYPTIAN HIEROGLYPH V024;Lo;0;L;;;;;N;;;;;
+13398;EGYPTIAN HIEROGLYPH V025;Lo;0;L;;;;;N;;;;;
+13399;EGYPTIAN HIEROGLYPH V026;Lo;0;L;;;;;N;;;;;
+1339A;EGYPTIAN HIEROGLYPH V027;Lo;0;L;;;;;N;;;;;
+1339B;EGYPTIAN HIEROGLYPH V028;Lo;0;L;;;;;N;;;;;
+1339C;EGYPTIAN HIEROGLYPH V028A;Lo;0;L;;;;;N;;;;;
+1339D;EGYPTIAN HIEROGLYPH V029;Lo;0;L;;;;;N;;;;;
+1339E;EGYPTIAN HIEROGLYPH V029A;Lo;0;L;;;;;N;;;;;
+1339F;EGYPTIAN HIEROGLYPH V030;Lo;0;L;;;;;N;;;;;
+133A0;EGYPTIAN HIEROGLYPH V030A;Lo;0;L;;;;;N;;;;;
+133A1;EGYPTIAN HIEROGLYPH V031;Lo;0;L;;;;;N;;;;;
+133A2;EGYPTIAN HIEROGLYPH V031A;Lo;0;L;;;;;N;;;;;
+133A3;EGYPTIAN HIEROGLYPH V032;Lo;0;L;;;;;N;;;;;
+133A4;EGYPTIAN HIEROGLYPH V033;Lo;0;L;;;;;N;;;;;
+133A5;EGYPTIAN HIEROGLYPH V033A;Lo;0;L;;;;;N;;;;;
+133A6;EGYPTIAN HIEROGLYPH V034;Lo;0;L;;;;;N;;;;;
+133A7;EGYPTIAN HIEROGLYPH V035;Lo;0;L;;;;;N;;;;;
+133A8;EGYPTIAN HIEROGLYPH V036;Lo;0;L;;;;;N;;;;;
+133A9;EGYPTIAN HIEROGLYPH V037;Lo;0;L;;;;;N;;;;;
+133AA;EGYPTIAN HIEROGLYPH V037A;Lo;0;L;;;;;N;;;;;
+133AB;EGYPTIAN HIEROGLYPH V038;Lo;0;L;;;;;N;;;;;
+133AC;EGYPTIAN HIEROGLYPH V039;Lo;0;L;;;;;N;;;;;
+133AD;EGYPTIAN HIEROGLYPH V040;Lo;0;L;;;;;N;;;;;
+133AE;EGYPTIAN HIEROGLYPH V040A;Lo;0;L;;;;;N;;;;;
+133AF;EGYPTIAN HIEROGLYPH W001;Lo;0;L;;;;;N;;;;;
+133B0;EGYPTIAN HIEROGLYPH W002;Lo;0;L;;;;;N;;;;;
+133B1;EGYPTIAN HIEROGLYPH W003;Lo;0;L;;;;;N;;;;;
+133B2;EGYPTIAN HIEROGLYPH W003A;Lo;0;L;;;;;N;;;;;
+133B3;EGYPTIAN HIEROGLYPH W004;Lo;0;L;;;;;N;;;;;
+133B4;EGYPTIAN HIEROGLYPH W005;Lo;0;L;;;;;N;;;;;
+133B5;EGYPTIAN HIEROGLYPH W006;Lo;0;L;;;;;N;;;;;
+133B6;EGYPTIAN HIEROGLYPH W007;Lo;0;L;;;;;N;;;;;
+133B7;EGYPTIAN HIEROGLYPH W008;Lo;0;L;;;;;N;;;;;
+133B8;EGYPTIAN HIEROGLYPH W009;Lo;0;L;;;;;N;;;;;
+133B9;EGYPTIAN HIEROGLYPH W009A;Lo;0;L;;;;;N;;;;;
+133BA;EGYPTIAN HIEROGLYPH W010;Lo;0;L;;;;;N;;;;;
+133BB;EGYPTIAN HIEROGLYPH W010A;Lo;0;L;;;;;N;;;;;
+133BC;EGYPTIAN HIEROGLYPH W011;Lo;0;L;;;;;N;;;;;
+133BD;EGYPTIAN HIEROGLYPH W012;Lo;0;L;;;;;N;;;;;
+133BE;EGYPTIAN HIEROGLYPH W013;Lo;0;L;;;;;N;;;;;
+133BF;EGYPTIAN HIEROGLYPH W014;Lo;0;L;;;;;N;;;;;
+133C0;EGYPTIAN HIEROGLYPH W014A;Lo;0;L;;;;;N;;;;;
+133C1;EGYPTIAN HIEROGLYPH W015;Lo;0;L;;;;;N;;;;;
+133C2;EGYPTIAN HIEROGLYPH W016;Lo;0;L;;;;;N;;;;;
+133C3;EGYPTIAN HIEROGLYPH W017;Lo;0;L;;;;;N;;;;;
+133C4;EGYPTIAN HIEROGLYPH W017A;Lo;0;L;;;;;N;;;;;
+133C5;EGYPTIAN HIEROGLYPH W018;Lo;0;L;;;;;N;;;;;
+133C6;EGYPTIAN HIEROGLYPH W018A;Lo;0;L;;;;;N;;;;;
+133C7;EGYPTIAN HIEROGLYPH W019;Lo;0;L;;;;;N;;;;;
+133C8;EGYPTIAN HIEROGLYPH W020;Lo;0;L;;;;;N;;;;;
+133C9;EGYPTIAN HIEROGLYPH W021;Lo;0;L;;;;;N;;;;;
+133CA;EGYPTIAN HIEROGLYPH W022;Lo;0;L;;;;;N;;;;;
+133CB;EGYPTIAN HIEROGLYPH W023;Lo;0;L;;;;;N;;;;;
+133CC;EGYPTIAN HIEROGLYPH W024;Lo;0;L;;;;;N;;;;;
+133CD;EGYPTIAN HIEROGLYPH W024A;Lo;0;L;;;;;N;;;;;
+133CE;EGYPTIAN HIEROGLYPH W025;Lo;0;L;;;;;N;;;;;
+133CF;EGYPTIAN HIEROGLYPH X001;Lo;0;L;;;;;N;;;;;
+133D0;EGYPTIAN HIEROGLYPH X002;Lo;0;L;;;;;N;;;;;
+133D1;EGYPTIAN HIEROGLYPH X003;Lo;0;L;;;;;N;;;;;
+133D2;EGYPTIAN HIEROGLYPH X004;Lo;0;L;;;;;N;;;;;
+133D3;EGYPTIAN HIEROGLYPH X004A;Lo;0;L;;;;;N;;;;;
+133D4;EGYPTIAN HIEROGLYPH X004B;Lo;0;L;;;;;N;;;;;
+133D5;EGYPTIAN HIEROGLYPH X005;Lo;0;L;;;;;N;;;;;
+133D6;EGYPTIAN HIEROGLYPH X006;Lo;0;L;;;;;N;;;;;
+133D7;EGYPTIAN HIEROGLYPH X006A;Lo;0;L;;;;;N;;;;;
+133D8;EGYPTIAN HIEROGLYPH X007;Lo;0;L;;;;;N;;;;;
+133D9;EGYPTIAN HIEROGLYPH X008;Lo;0;L;;;;;N;;;;;
+133DA;EGYPTIAN HIEROGLYPH X008A;Lo;0;L;;;;;N;;;;;
+133DB;EGYPTIAN HIEROGLYPH Y001;Lo;0;L;;;;;N;;;;;
+133DC;EGYPTIAN HIEROGLYPH Y001A;Lo;0;L;;;;;N;;;;;
+133DD;EGYPTIAN HIEROGLYPH Y002;Lo;0;L;;;;;N;;;;;
+133DE;EGYPTIAN HIEROGLYPH Y003;Lo;0;L;;;;;N;;;;;
+133DF;EGYPTIAN HIEROGLYPH Y004;Lo;0;L;;;;;N;;;;;
+133E0;EGYPTIAN HIEROGLYPH Y005;Lo;0;L;;;;;N;;;;;
+133E1;EGYPTIAN HIEROGLYPH Y006;Lo;0;L;;;;;N;;;;;
+133E2;EGYPTIAN HIEROGLYPH Y007;Lo;0;L;;;;;N;;;;;
+133E3;EGYPTIAN HIEROGLYPH Y008;Lo;0;L;;;;;N;;;;;
+133E4;EGYPTIAN HIEROGLYPH Z001;Lo;0;L;;;;;N;;;;;
+133E5;EGYPTIAN HIEROGLYPH Z002;Lo;0;L;;;;;N;;;;;
+133E6;EGYPTIAN HIEROGLYPH Z002A;Lo;0;L;;;;;N;;;;;
+133E7;EGYPTIAN HIEROGLYPH Z002B;Lo;0;L;;;;;N;;;;;
+133E8;EGYPTIAN HIEROGLYPH Z002C;Lo;0;L;;;;;N;;;;;
+133E9;EGYPTIAN HIEROGLYPH Z002D;Lo;0;L;;;;;N;;;;;
+133EA;EGYPTIAN HIEROGLYPH Z003;Lo;0;L;;;;;N;;;;;
+133EB;EGYPTIAN HIEROGLYPH Z003A;Lo;0;L;;;;;N;;;;;
+133EC;EGYPTIAN HIEROGLYPH Z003B;Lo;0;L;;;;;N;;;;;
+133ED;EGYPTIAN HIEROGLYPH Z004;Lo;0;L;;;;;N;;;;;
+133EE;EGYPTIAN HIEROGLYPH Z004A;Lo;0;L;;;;;N;;;;;
+133EF;EGYPTIAN HIEROGLYPH Z005;Lo;0;L;;;;;N;;;;;
+133F0;EGYPTIAN HIEROGLYPH Z005A;Lo;0;L;;;;;N;;;;;
+133F1;EGYPTIAN HIEROGLYPH Z006;Lo;0;L;;;;;N;;;;;
+133F2;EGYPTIAN HIEROGLYPH Z007;Lo;0;L;;;;;N;;;;;
+133F3;EGYPTIAN HIEROGLYPH Z008;Lo;0;L;;;;;N;;;;;
+133F4;EGYPTIAN HIEROGLYPH Z009;Lo;0;L;;;;;N;;;;;
+133F5;EGYPTIAN HIEROGLYPH Z010;Lo;0;L;;;;;N;;;;;
+133F6;EGYPTIAN HIEROGLYPH Z011;Lo;0;L;;;;;N;;;;;
+133F7;EGYPTIAN HIEROGLYPH Z012;Lo;0;L;;;;;N;;;;;
+133F8;EGYPTIAN HIEROGLYPH Z013;Lo;0;L;;;;;N;;;;;
+133F9;EGYPTIAN HIEROGLYPH Z014;Lo;0;L;;;;;N;;;;;
+133FA;EGYPTIAN HIEROGLYPH Z015;Lo;0;L;;;;;N;;;;;
+133FB;EGYPTIAN HIEROGLYPH Z015A;Lo;0;L;;;;;N;;;;;
+133FC;EGYPTIAN HIEROGLYPH Z015B;Lo;0;L;;;;;N;;;;;
+133FD;EGYPTIAN HIEROGLYPH Z015C;Lo;0;L;;;;;N;;;;;
+133FE;EGYPTIAN HIEROGLYPH Z015D;Lo;0;L;;;;;N;;;;;
+133FF;EGYPTIAN HIEROGLYPH Z015E;Lo;0;L;;;;;N;;;;;
+13400;EGYPTIAN HIEROGLYPH Z015F;Lo;0;L;;;;;N;;;;;
+13401;EGYPTIAN HIEROGLYPH Z015G;Lo;0;L;;;;;N;;;;;
+13402;EGYPTIAN HIEROGLYPH Z015H;Lo;0;L;;;;;N;;;;;
+13403;EGYPTIAN HIEROGLYPH Z015I;Lo;0;L;;;;;N;;;;;
+13404;EGYPTIAN HIEROGLYPH Z016;Lo;0;L;;;;;N;;;;;
+13405;EGYPTIAN HIEROGLYPH Z016A;Lo;0;L;;;;;N;;;;;
+13406;EGYPTIAN HIEROGLYPH Z016B;Lo;0;L;;;;;N;;;;;
+13407;EGYPTIAN HIEROGLYPH Z016C;Lo;0;L;;;;;N;;;;;
+13408;EGYPTIAN HIEROGLYPH Z016D;Lo;0;L;;;;;N;;;;;
+13409;EGYPTIAN HIEROGLYPH Z016E;Lo;0;L;;;;;N;;;;;
+1340A;EGYPTIAN HIEROGLYPH Z016F;Lo;0;L;;;;;N;;;;;
+1340B;EGYPTIAN HIEROGLYPH Z016G;Lo;0;L;;;;;N;;;;;
+1340C;EGYPTIAN HIEROGLYPH Z016H;Lo;0;L;;;;;N;;;;;
+1340D;EGYPTIAN HIEROGLYPH AA001;Lo;0;L;;;;;N;;;;;
+1340E;EGYPTIAN HIEROGLYPH AA002;Lo;0;L;;;;;N;;;;;
+1340F;EGYPTIAN HIEROGLYPH AA003;Lo;0;L;;;;;N;;;;;
+13410;EGYPTIAN HIEROGLYPH AA004;Lo;0;L;;;;;N;;;;;
+13411;EGYPTIAN HIEROGLYPH AA005;Lo;0;L;;;;;N;;;;;
+13412;EGYPTIAN HIEROGLYPH AA006;Lo;0;L;;;;;N;;;;;
+13413;EGYPTIAN HIEROGLYPH AA007;Lo;0;L;;;;;N;;;;;
+13414;EGYPTIAN HIEROGLYPH AA007A;Lo;0;L;;;;;N;;;;;
+13415;EGYPTIAN HIEROGLYPH AA007B;Lo;0;L;;;;;N;;;;;
+13416;EGYPTIAN HIEROGLYPH AA008;Lo;0;L;;;;;N;;;;;
+13417;EGYPTIAN HIEROGLYPH AA009;Lo;0;L;;;;;N;;;;;
+13418;EGYPTIAN HIEROGLYPH AA010;Lo;0;L;;;;;N;;;;;
+13419;EGYPTIAN HIEROGLYPH AA011;Lo;0;L;;;;;N;;;;;
+1341A;EGYPTIAN HIEROGLYPH AA012;Lo;0;L;;;;;N;;;;;
+1341B;EGYPTIAN HIEROGLYPH AA013;Lo;0;L;;;;;N;;;;;
+1341C;EGYPTIAN HIEROGLYPH AA014;Lo;0;L;;;;;N;;;;;
+1341D;EGYPTIAN HIEROGLYPH AA015;Lo;0;L;;;;;N;;;;;
+1341E;EGYPTIAN HIEROGLYPH AA016;Lo;0;L;;;;;N;;;;;
+1341F;EGYPTIAN HIEROGLYPH AA017;Lo;0;L;;;;;N;;;;;
+13420;EGYPTIAN HIEROGLYPH AA018;Lo;0;L;;;;;N;;;;;
+13421;EGYPTIAN HIEROGLYPH AA019;Lo;0;L;;;;;N;;;;;
+13422;EGYPTIAN HIEROGLYPH AA020;Lo;0;L;;;;;N;;;;;
+13423;EGYPTIAN HIEROGLYPH AA021;Lo;0;L;;;;;N;;;;;
+13424;EGYPTIAN HIEROGLYPH AA022;Lo;0;L;;;;;N;;;;;
+13425;EGYPTIAN HIEROGLYPH AA023;Lo;0;L;;;;;N;;;;;
+13426;EGYPTIAN HIEROGLYPH AA024;Lo;0;L;;;;;N;;;;;
+13427;EGYPTIAN HIEROGLYPH AA025;Lo;0;L;;;;;N;;;;;
+13428;EGYPTIAN HIEROGLYPH AA026;Lo;0;L;;;;;N;;;;;
+13429;EGYPTIAN HIEROGLYPH AA027;Lo;0;L;;;;;N;;;;;
+1342A;EGYPTIAN HIEROGLYPH AA028;Lo;0;L;;;;;N;;;;;
+1342B;EGYPTIAN HIEROGLYPH AA029;Lo;0;L;;;;;N;;;;;
+1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;;
+1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;;
+1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;;
+14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
+14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
+14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
+14403;ANATOLIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;;
+14404;ANATOLIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;;
+14405;ANATOLIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;;
+14406;ANATOLIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;;
+14407;ANATOLIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;;
+14408;ANATOLIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;;
+14409;ANATOLIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;;
+1440A;ANATOLIAN HIEROGLYPH A010A;Lo;0;L;;;;;N;;;;;
+1440B;ANATOLIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;;
+1440C;ANATOLIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;;
+1440D;ANATOLIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;;
+1440E;ANATOLIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;;
+1440F;ANATOLIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;;
+14410;ANATOLIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;;
+14411;ANATOLIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;;
+14412;ANATOLIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;;
+14413;ANATOLIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;;
+14414;ANATOLIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;;
+14415;ANATOLIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;;
+14416;ANATOLIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;;
+14417;ANATOLIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;;
+14418;ANATOLIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;;
+14419;ANATOLIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;;
+1441A;ANATOLIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;;
+1441B;ANATOLIAN HIEROGLYPH A026A;Lo;0;L;;;;;N;;;;;
+1441C;ANATOLIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;;
+1441D;ANATOLIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;;
+1441E;ANATOLIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;;
+1441F;ANATOLIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;;
+14420;ANATOLIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;;
+14421;ANATOLIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;;
+14422;ANATOLIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;;
+14423;ANATOLIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;;
+14424;ANATOLIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;;
+14425;ANATOLIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;;
+14426;ANATOLIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;;
+14427;ANATOLIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;;
+14428;ANATOLIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;;
+14429;ANATOLIAN HIEROGLYPH A039A;Lo;0;L;;;;;N;;;;;
+1442A;ANATOLIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;;
+1442B;ANATOLIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;;
+1442C;ANATOLIAN HIEROGLYPH A041A;Lo;0;L;;;;;N;;;;;
+1442D;ANATOLIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;;
+1442E;ANATOLIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;;
+1442F;ANATOLIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;;
+14430;ANATOLIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;;
+14431;ANATOLIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;;
+14432;ANATOLIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;;
+14433;ANATOLIAN HIEROGLYPH A046A;Lo;0;L;;;;;N;;;;;
+14434;ANATOLIAN HIEROGLYPH A046B;Lo;0;L;;;;;N;;;;;
+14435;ANATOLIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;;
+14436;ANATOLIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;;
+14437;ANATOLIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;;
+14438;ANATOLIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;;
+14439;ANATOLIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;;
+1443A;ANATOLIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;;
+1443B;ANATOLIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;;
+1443C;ANATOLIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;;
+1443D;ANATOLIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;;
+1443E;ANATOLIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;;
+1443F;ANATOLIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;;
+14440;ANATOLIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;;
+14441;ANATOLIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;;
+14442;ANATOLIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;;
+14443;ANATOLIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;;
+14444;ANATOLIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;;
+14445;ANATOLIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;;
+14446;ANATOLIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;;
+14447;ANATOLIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;;
+14448;ANATOLIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;;
+14449;ANATOLIAN HIEROGLYPH A066A;Lo;0;L;;;;;N;;;;;
+1444A;ANATOLIAN HIEROGLYPH A066B;Lo;0;L;;;;;N;;;;;
+1444B;ANATOLIAN HIEROGLYPH A066C;Lo;0;L;;;;;N;;;;;
+1444C;ANATOLIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;;
+1444D;ANATOLIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;;
+1444E;ANATOLIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;;
+1444F;ANATOLIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;;
+14450;ANATOLIAN HIEROGLYPH A071;Lo;0;L;;;;;N;;;;;
+14451;ANATOLIAN HIEROGLYPH A072;Lo;0;L;;;;;N;;;;;
+14452;ANATOLIAN HIEROGLYPH A073;Lo;0;L;;;;;N;;;;;
+14453;ANATOLIAN HIEROGLYPH A074;Lo;0;L;;;;;N;;;;;
+14454;ANATOLIAN HIEROGLYPH A075;Lo;0;L;;;;;N;;;;;
+14455;ANATOLIAN HIEROGLYPH A076;Lo;0;L;;;;;N;;;;;
+14456;ANATOLIAN HIEROGLYPH A077;Lo;0;L;;;;;N;;;;;
+14457;ANATOLIAN HIEROGLYPH A078;Lo;0;L;;;;;N;;;;;
+14458;ANATOLIAN HIEROGLYPH A079;Lo;0;L;;;;;N;;;;;
+14459;ANATOLIAN HIEROGLYPH A080;Lo;0;L;;;;;N;;;;;
+1445A;ANATOLIAN HIEROGLYPH A081;Lo;0;L;;;;;N;;;;;
+1445B;ANATOLIAN HIEROGLYPH A082;Lo;0;L;;;;;N;;;;;
+1445C;ANATOLIAN HIEROGLYPH A083;Lo;0;L;;;;;N;;;;;
+1445D;ANATOLIAN HIEROGLYPH A084;Lo;0;L;;;;;N;;;;;
+1445E;ANATOLIAN HIEROGLYPH A085;Lo;0;L;;;;;N;;;;;
+1445F;ANATOLIAN HIEROGLYPH A086;Lo;0;L;;;;;N;;;;;
+14460;ANATOLIAN HIEROGLYPH A087;Lo;0;L;;;;;N;;;;;
+14461;ANATOLIAN HIEROGLYPH A088;Lo;0;L;;;;;N;;;;;
+14462;ANATOLIAN HIEROGLYPH A089;Lo;0;L;;;;;N;;;;;
+14463;ANATOLIAN HIEROGLYPH A090;Lo;0;L;;;;;N;;;;;
+14464;ANATOLIAN HIEROGLYPH A091;Lo;0;L;;;;;N;;;;;
+14465;ANATOLIAN HIEROGLYPH A092;Lo;0;L;;;;;N;;;;;
+14466;ANATOLIAN HIEROGLYPH A093;Lo;0;L;;;;;N;;;;;
+14467;ANATOLIAN HIEROGLYPH A094;Lo;0;L;;;;;N;;;;;
+14468;ANATOLIAN HIEROGLYPH A095;Lo;0;L;;;;;N;;;;;
+14469;ANATOLIAN HIEROGLYPH A096;Lo;0;L;;;;;N;;;;;
+1446A;ANATOLIAN HIEROGLYPH A097;Lo;0;L;;;;;N;;;;;
+1446B;ANATOLIAN HIEROGLYPH A097A;Lo;0;L;;;;;N;;;;;
+1446C;ANATOLIAN HIEROGLYPH A098;Lo;0;L;;;;;N;;;;;
+1446D;ANATOLIAN HIEROGLYPH A098A;Lo;0;L;;;;;N;;;;;
+1446E;ANATOLIAN HIEROGLYPH A099;Lo;0;L;;;;;N;;;;;
+1446F;ANATOLIAN HIEROGLYPH A100;Lo;0;L;;;;;N;;;;;
+14470;ANATOLIAN HIEROGLYPH A100A;Lo;0;L;;;;;N;;;;;
+14471;ANATOLIAN HIEROGLYPH A101;Lo;0;L;;;;;N;;;;;
+14472;ANATOLIAN HIEROGLYPH A101A;Lo;0;L;;;;;N;;;;;
+14473;ANATOLIAN HIEROGLYPH A102;Lo;0;L;;;;;N;;;;;
+14474;ANATOLIAN HIEROGLYPH A102A;Lo;0;L;;;;;N;;;;;
+14475;ANATOLIAN HIEROGLYPH A103;Lo;0;L;;;;;N;;;;;
+14476;ANATOLIAN HIEROGLYPH A104;Lo;0;L;;;;;N;;;;;
+14477;ANATOLIAN HIEROGLYPH A104A;Lo;0;L;;;;;N;;;;;
+14478;ANATOLIAN HIEROGLYPH A104B;Lo;0;L;;;;;N;;;;;
+14479;ANATOLIAN HIEROGLYPH A104C;Lo;0;L;;;;;N;;;;;
+1447A;ANATOLIAN HIEROGLYPH A105;Lo;0;L;;;;;N;;;;;
+1447B;ANATOLIAN HIEROGLYPH A105A;Lo;0;L;;;;;N;;;;;
+1447C;ANATOLIAN HIEROGLYPH A105B;Lo;0;L;;;;;N;;;;;
+1447D;ANATOLIAN HIEROGLYPH A106;Lo;0;L;;;;;N;;;;;
+1447E;ANATOLIAN HIEROGLYPH A107;Lo;0;L;;;;;N;;;;;
+1447F;ANATOLIAN HIEROGLYPH A107A;Lo;0;L;;;;;N;;;;;
+14480;ANATOLIAN HIEROGLYPH A107B;Lo;0;L;;;;;N;;;;;
+14481;ANATOLIAN HIEROGLYPH A107C;Lo;0;L;;;;;N;;;;;
+14482;ANATOLIAN HIEROGLYPH A108;Lo;0;L;;;;;N;;;;;
+14483;ANATOLIAN HIEROGLYPH A109;Lo;0;L;;;;;N;;;;;
+14484;ANATOLIAN HIEROGLYPH A110;Lo;0;L;;;;;N;;;;;
+14485;ANATOLIAN HIEROGLYPH A110A;Lo;0;L;;;;;N;;;;;
+14486;ANATOLIAN HIEROGLYPH A110B;Lo;0;L;;;;;N;;;;;
+14487;ANATOLIAN HIEROGLYPH A111;Lo;0;L;;;;;N;;;;;
+14488;ANATOLIAN HIEROGLYPH A112;Lo;0;L;;;;;N;;;;;
+14489;ANATOLIAN HIEROGLYPH A113;Lo;0;L;;;;;N;;;;;
+1448A;ANATOLIAN HIEROGLYPH A114;Lo;0;L;;;;;N;;;;;
+1448B;ANATOLIAN HIEROGLYPH A115;Lo;0;L;;;;;N;;;;;
+1448C;ANATOLIAN HIEROGLYPH A115A;Lo;0;L;;;;;N;;;;;
+1448D;ANATOLIAN HIEROGLYPH A116;Lo;0;L;;;;;N;;;;;
+1448E;ANATOLIAN HIEROGLYPH A117;Lo;0;L;;;;;N;;;;;
+1448F;ANATOLIAN HIEROGLYPH A118;Lo;0;L;;;;;N;;;;;
+14490;ANATOLIAN HIEROGLYPH A119;Lo;0;L;;;;;N;;;;;
+14491;ANATOLIAN HIEROGLYPH A120;Lo;0;L;;;;;N;;;;;
+14492;ANATOLIAN HIEROGLYPH A121;Lo;0;L;;;;;N;;;;;
+14493;ANATOLIAN HIEROGLYPH A122;Lo;0;L;;;;;N;;;;;
+14494;ANATOLIAN HIEROGLYPH A123;Lo;0;L;;;;;N;;;;;
+14495;ANATOLIAN HIEROGLYPH A124;Lo;0;L;;;;;N;;;;;
+14496;ANATOLIAN HIEROGLYPH A125;Lo;0;L;;;;;N;;;;;
+14497;ANATOLIAN HIEROGLYPH A125A;Lo;0;L;;;;;N;;;;;
+14498;ANATOLIAN HIEROGLYPH A126;Lo;0;L;;;;;N;;;;;
+14499;ANATOLIAN HIEROGLYPH A127;Lo;0;L;;;;;N;;;;;
+1449A;ANATOLIAN HIEROGLYPH A128;Lo;0;L;;;;;N;;;;;
+1449B;ANATOLIAN HIEROGLYPH A129;Lo;0;L;;;;;N;;;;;
+1449C;ANATOLIAN HIEROGLYPH A130;Lo;0;L;;;;;N;;;;;
+1449D;ANATOLIAN HIEROGLYPH A131;Lo;0;L;;;;;N;;;;;
+1449E;ANATOLIAN HIEROGLYPH A132;Lo;0;L;;;;;N;;;;;
+1449F;ANATOLIAN HIEROGLYPH A133;Lo;0;L;;;;;N;;;;;
+144A0;ANATOLIAN HIEROGLYPH A134;Lo;0;L;;;;;N;;;;;
+144A1;ANATOLIAN HIEROGLYPH A135;Lo;0;L;;;;;N;;;;;
+144A2;ANATOLIAN HIEROGLYPH A135A;Lo;0;L;;;;;N;;;;;
+144A3;ANATOLIAN HIEROGLYPH A136;Lo;0;L;;;;;N;;;;;
+144A4;ANATOLIAN HIEROGLYPH A137;Lo;0;L;;;;;N;;;;;
+144A5;ANATOLIAN HIEROGLYPH A138;Lo;0;L;;;;;N;;;;;
+144A6;ANATOLIAN HIEROGLYPH A139;Lo;0;L;;;;;N;;;;;
+144A7;ANATOLIAN HIEROGLYPH A140;Lo;0;L;;;;;N;;;;;
+144A8;ANATOLIAN HIEROGLYPH A141;Lo;0;L;;;;;N;;;;;
+144A9;ANATOLIAN HIEROGLYPH A142;Lo;0;L;;;;;N;;;;;
+144AA;ANATOLIAN HIEROGLYPH A143;Lo;0;L;;;;;N;;;;;
+144AB;ANATOLIAN HIEROGLYPH A144;Lo;0;L;;;;;N;;;;;
+144AC;ANATOLIAN HIEROGLYPH A145;Lo;0;L;;;;;N;;;;;
+144AD;ANATOLIAN HIEROGLYPH A146;Lo;0;L;;;;;N;;;;;
+144AE;ANATOLIAN HIEROGLYPH A147;Lo;0;L;;;;;N;;;;;
+144AF;ANATOLIAN HIEROGLYPH A148;Lo;0;L;;;;;N;;;;;
+144B0;ANATOLIAN HIEROGLYPH A149;Lo;0;L;;;;;N;;;;;
+144B1;ANATOLIAN HIEROGLYPH A150;Lo;0;L;;;;;N;;;;;
+144B2;ANATOLIAN HIEROGLYPH A151;Lo;0;L;;;;;N;;;;;
+144B3;ANATOLIAN HIEROGLYPH A152;Lo;0;L;;;;;N;;;;;
+144B4;ANATOLIAN HIEROGLYPH A153;Lo;0;L;;;;;N;;;;;
+144B5;ANATOLIAN HIEROGLYPH A154;Lo;0;L;;;;;N;;;;;
+144B6;ANATOLIAN HIEROGLYPH A155;Lo;0;L;;;;;N;;;;;
+144B7;ANATOLIAN HIEROGLYPH A156;Lo;0;L;;;;;N;;;;;
+144B8;ANATOLIAN HIEROGLYPH A157;Lo;0;L;;;;;N;;;;;
+144B9;ANATOLIAN HIEROGLYPH A158;Lo;0;L;;;;;N;;;;;
+144BA;ANATOLIAN HIEROGLYPH A159;Lo;0;L;;;;;N;;;;;
+144BB;ANATOLIAN HIEROGLYPH A160;Lo;0;L;;;;;N;;;;;
+144BC;ANATOLIAN HIEROGLYPH A161;Lo;0;L;;;;;N;;;;;
+144BD;ANATOLIAN HIEROGLYPH A162;Lo;0;L;;;;;N;;;;;
+144BE;ANATOLIAN HIEROGLYPH A163;Lo;0;L;;;;;N;;;;;
+144BF;ANATOLIAN HIEROGLYPH A164;Lo;0;L;;;;;N;;;;;
+144C0;ANATOLIAN HIEROGLYPH A165;Lo;0;L;;;;;N;;;;;
+144C1;ANATOLIAN HIEROGLYPH A166;Lo;0;L;;;;;N;;;;;
+144C2;ANATOLIAN HIEROGLYPH A167;Lo;0;L;;;;;N;;;;;
+144C3;ANATOLIAN HIEROGLYPH A168;Lo;0;L;;;;;N;;;;;
+144C4;ANATOLIAN HIEROGLYPH A169;Lo;0;L;;;;;N;;;;;
+144C5;ANATOLIAN HIEROGLYPH A170;Lo;0;L;;;;;N;;;;;
+144C6;ANATOLIAN HIEROGLYPH A171;Lo;0;L;;;;;N;;;;;
+144C7;ANATOLIAN HIEROGLYPH A172;Lo;0;L;;;;;N;;;;;
+144C8;ANATOLIAN HIEROGLYPH A173;Lo;0;L;;;;;N;;;;;
+144C9;ANATOLIAN HIEROGLYPH A174;Lo;0;L;;;;;N;;;;;
+144CA;ANATOLIAN HIEROGLYPH A175;Lo;0;L;;;;;N;;;;;
+144CB;ANATOLIAN HIEROGLYPH A176;Lo;0;L;;;;;N;;;;;
+144CC;ANATOLIAN HIEROGLYPH A177;Lo;0;L;;;;;N;;;;;
+144CD;ANATOLIAN HIEROGLYPH A178;Lo;0;L;;;;;N;;;;;
+144CE;ANATOLIAN HIEROGLYPH A179;Lo;0;L;;;;;N;;;;;
+144CF;ANATOLIAN HIEROGLYPH A180;Lo;0;L;;;;;N;;;;;
+144D0;ANATOLIAN HIEROGLYPH A181;Lo;0;L;;;;;N;;;;;
+144D1;ANATOLIAN HIEROGLYPH A182;Lo;0;L;;;;;N;;;;;
+144D2;ANATOLIAN HIEROGLYPH A183;Lo;0;L;;;;;N;;;;;
+144D3;ANATOLIAN HIEROGLYPH A184;Lo;0;L;;;;;N;;;;;
+144D4;ANATOLIAN HIEROGLYPH A185;Lo;0;L;;;;;N;;;;;
+144D5;ANATOLIAN HIEROGLYPH A186;Lo;0;L;;;;;N;;;;;
+144D6;ANATOLIAN HIEROGLYPH A187;Lo;0;L;;;;;N;;;;;
+144D7;ANATOLIAN HIEROGLYPH A188;Lo;0;L;;;;;N;;;;;
+144D8;ANATOLIAN HIEROGLYPH A189;Lo;0;L;;;;;N;;;;;
+144D9;ANATOLIAN HIEROGLYPH A190;Lo;0;L;;;;;N;;;;;
+144DA;ANATOLIAN HIEROGLYPH A191;Lo;0;L;;;;;N;;;;;
+144DB;ANATOLIAN HIEROGLYPH A192;Lo;0;L;;;;;N;;;;;
+144DC;ANATOLIAN HIEROGLYPH A193;Lo;0;L;;;;;N;;;;;
+144DD;ANATOLIAN HIEROGLYPH A194;Lo;0;L;;;;;N;;;;;
+144DE;ANATOLIAN HIEROGLYPH A195;Lo;0;L;;;;;N;;;;;
+144DF;ANATOLIAN HIEROGLYPH A196;Lo;0;L;;;;;N;;;;;
+144E0;ANATOLIAN HIEROGLYPH A197;Lo;0;L;;;;;N;;;;;
+144E1;ANATOLIAN HIEROGLYPH A198;Lo;0;L;;;;;N;;;;;
+144E2;ANATOLIAN HIEROGLYPH A199;Lo;0;L;;;;;N;;;;;
+144E3;ANATOLIAN HIEROGLYPH A200;Lo;0;L;;;;;N;;;;;
+144E4;ANATOLIAN HIEROGLYPH A201;Lo;0;L;;;;;N;;;;;
+144E5;ANATOLIAN HIEROGLYPH A202;Lo;0;L;;;;;N;;;;;
+144E6;ANATOLIAN HIEROGLYPH A202A;Lo;0;L;;;;;N;;;;;
+144E7;ANATOLIAN HIEROGLYPH A202B;Lo;0;L;;;;;N;;;;;
+144E8;ANATOLIAN HIEROGLYPH A203;Lo;0;L;;;;;N;;;;;
+144E9;ANATOLIAN HIEROGLYPH A204;Lo;0;L;;;;;N;;;;;
+144EA;ANATOLIAN HIEROGLYPH A205;Lo;0;L;;;;;N;;;;;
+144EB;ANATOLIAN HIEROGLYPH A206;Lo;0;L;;;;;N;;;;;
+144EC;ANATOLIAN HIEROGLYPH A207;Lo;0;L;;;;;N;;;;;
+144ED;ANATOLIAN HIEROGLYPH A207A;Lo;0;L;;;;;N;;;;;
+144EE;ANATOLIAN HIEROGLYPH A208;Lo;0;L;;;;;N;;;;;
+144EF;ANATOLIAN HIEROGLYPH A209;Lo;0;L;;;;;N;;;;;
+144F0;ANATOLIAN HIEROGLYPH A209A;Lo;0;L;;;;;N;;;;;
+144F1;ANATOLIAN HIEROGLYPH A210;Lo;0;L;;;;;N;;;;;
+144F2;ANATOLIAN HIEROGLYPH A211;Lo;0;L;;;;;N;;;;;
+144F3;ANATOLIAN HIEROGLYPH A212;Lo;0;L;;;;;N;;;;;
+144F4;ANATOLIAN HIEROGLYPH A213;Lo;0;L;;;;;N;;;;;
+144F5;ANATOLIAN HIEROGLYPH A214;Lo;0;L;;;;;N;;;;;
+144F6;ANATOLIAN HIEROGLYPH A215;Lo;0;L;;;;;N;;;;;
+144F7;ANATOLIAN HIEROGLYPH A215A;Lo;0;L;;;;;N;;;;;
+144F8;ANATOLIAN HIEROGLYPH A216;Lo;0;L;;;;;N;;;;;
+144F9;ANATOLIAN HIEROGLYPH A216A;Lo;0;L;;;;;N;;;;;
+144FA;ANATOLIAN HIEROGLYPH A217;Lo;0;L;;;;;N;;;;;
+144FB;ANATOLIAN HIEROGLYPH A218;Lo;0;L;;;;;N;;;;;
+144FC;ANATOLIAN HIEROGLYPH A219;Lo;0;L;;;;;N;;;;;
+144FD;ANATOLIAN HIEROGLYPH A220;Lo;0;L;;;;;N;;;;;
+144FE;ANATOLIAN HIEROGLYPH A221;Lo;0;L;;;;;N;;;;;
+144FF;ANATOLIAN HIEROGLYPH A222;Lo;0;L;;;;;N;;;;;
+14500;ANATOLIAN HIEROGLYPH A223;Lo;0;L;;;;;N;;;;;
+14501;ANATOLIAN HIEROGLYPH A224;Lo;0;L;;;;;N;;;;;
+14502;ANATOLIAN HIEROGLYPH A225;Lo;0;L;;;;;N;;;;;
+14503;ANATOLIAN HIEROGLYPH A226;Lo;0;L;;;;;N;;;;;
+14504;ANATOLIAN HIEROGLYPH A227;Lo;0;L;;;;;N;;;;;
+14505;ANATOLIAN HIEROGLYPH A227A;Lo;0;L;;;;;N;;;;;
+14506;ANATOLIAN HIEROGLYPH A228;Lo;0;L;;;;;N;;;;;
+14507;ANATOLIAN HIEROGLYPH A229;Lo;0;L;;;;;N;;;;;
+14508;ANATOLIAN HIEROGLYPH A230;Lo;0;L;;;;;N;;;;;
+14509;ANATOLIAN HIEROGLYPH A231;Lo;0;L;;;;;N;;;;;
+1450A;ANATOLIAN HIEROGLYPH A232;Lo;0;L;;;;;N;;;;;
+1450B;ANATOLIAN HIEROGLYPH A233;Lo;0;L;;;;;N;;;;;
+1450C;ANATOLIAN HIEROGLYPH A234;Lo;0;L;;;;;N;;;;;
+1450D;ANATOLIAN HIEROGLYPH A235;Lo;0;L;;;;;N;;;;;
+1450E;ANATOLIAN HIEROGLYPH A236;Lo;0;L;;;;;N;;;;;
+1450F;ANATOLIAN HIEROGLYPH A237;Lo;0;L;;;;;N;;;;;
+14510;ANATOLIAN HIEROGLYPH A238;Lo;0;L;;;;;N;;;;;
+14511;ANATOLIAN HIEROGLYPH A239;Lo;0;L;;;;;N;;;;;
+14512;ANATOLIAN HIEROGLYPH A240;Lo;0;L;;;;;N;;;;;
+14513;ANATOLIAN HIEROGLYPH A241;Lo;0;L;;;;;N;;;;;
+14514;ANATOLIAN HIEROGLYPH A242;Lo;0;L;;;;;N;;;;;
+14515;ANATOLIAN HIEROGLYPH A243;Lo;0;L;;;;;N;;;;;
+14516;ANATOLIAN HIEROGLYPH A244;Lo;0;L;;;;;N;;;;;
+14517;ANATOLIAN HIEROGLYPH A245;Lo;0;L;;;;;N;;;;;
+14518;ANATOLIAN HIEROGLYPH A246;Lo;0;L;;;;;N;;;;;
+14519;ANATOLIAN HIEROGLYPH A247;Lo;0;L;;;;;N;;;;;
+1451A;ANATOLIAN HIEROGLYPH A248;Lo;0;L;;;;;N;;;;;
+1451B;ANATOLIAN HIEROGLYPH A249;Lo;0;L;;;;;N;;;;;
+1451C;ANATOLIAN HIEROGLYPH A250;Lo;0;L;;;;;N;;;;;
+1451D;ANATOLIAN HIEROGLYPH A251;Lo;0;L;;;;;N;;;;;
+1451E;ANATOLIAN HIEROGLYPH A252;Lo;0;L;;;;;N;;;;;
+1451F;ANATOLIAN HIEROGLYPH A253;Lo;0;L;;;;;N;;;;;
+14520;ANATOLIAN HIEROGLYPH A254;Lo;0;L;;;;;N;;;;;
+14521;ANATOLIAN HIEROGLYPH A255;Lo;0;L;;;;;N;;;;;
+14522;ANATOLIAN HIEROGLYPH A256;Lo;0;L;;;;;N;;;;;
+14523;ANATOLIAN HIEROGLYPH A257;Lo;0;L;;;;;N;;;;;
+14524;ANATOLIAN HIEROGLYPH A258;Lo;0;L;;;;;N;;;;;
+14525;ANATOLIAN HIEROGLYPH A259;Lo;0;L;;;;;N;;;;;
+14526;ANATOLIAN HIEROGLYPH A260;Lo;0;L;;;;;N;;;;;
+14527;ANATOLIAN HIEROGLYPH A261;Lo;0;L;;;;;N;;;;;
+14528;ANATOLIAN HIEROGLYPH A262;Lo;0;L;;;;;N;;;;;
+14529;ANATOLIAN HIEROGLYPH A263;Lo;0;L;;;;;N;;;;;
+1452A;ANATOLIAN HIEROGLYPH A264;Lo;0;L;;;;;N;;;;;
+1452B;ANATOLIAN HIEROGLYPH A265;Lo;0;L;;;;;N;;;;;
+1452C;ANATOLIAN HIEROGLYPH A266;Lo;0;L;;;;;N;;;;;
+1452D;ANATOLIAN HIEROGLYPH A267;Lo;0;L;;;;;N;;;;;
+1452E;ANATOLIAN HIEROGLYPH A267A;Lo;0;L;;;;;N;;;;;
+1452F;ANATOLIAN HIEROGLYPH A268;Lo;0;L;;;;;N;;;;;
+14530;ANATOLIAN HIEROGLYPH A269;Lo;0;L;;;;;N;;;;;
+14531;ANATOLIAN HIEROGLYPH A270;Lo;0;L;;;;;N;;;;;
+14532;ANATOLIAN HIEROGLYPH A271;Lo;0;L;;;;;N;;;;;
+14533;ANATOLIAN HIEROGLYPH A272;Lo;0;L;;;;;N;;;;;
+14534;ANATOLIAN HIEROGLYPH A273;Lo;0;L;;;;;N;;;;;
+14535;ANATOLIAN HIEROGLYPH A274;Lo;0;L;;;;;N;;;;;
+14536;ANATOLIAN HIEROGLYPH A275;Lo;0;L;;;;;N;;;;;
+14537;ANATOLIAN HIEROGLYPH A276;Lo;0;L;;;;;N;;;;;
+14538;ANATOLIAN HIEROGLYPH A277;Lo;0;L;;;;;N;;;;;
+14539;ANATOLIAN HIEROGLYPH A278;Lo;0;L;;;;;N;;;;;
+1453A;ANATOLIAN HIEROGLYPH A279;Lo;0;L;;;;;N;;;;;
+1453B;ANATOLIAN HIEROGLYPH A280;Lo;0;L;;;;;N;;;;;
+1453C;ANATOLIAN HIEROGLYPH A281;Lo;0;L;;;;;N;;;;;
+1453D;ANATOLIAN HIEROGLYPH A282;Lo;0;L;;;;;N;;;;;
+1453E;ANATOLIAN HIEROGLYPH A283;Lo;0;L;;;;;N;;;;;
+1453F;ANATOLIAN HIEROGLYPH A284;Lo;0;L;;;;;N;;;;;
+14540;ANATOLIAN HIEROGLYPH A285;Lo;0;L;;;;;N;;;;;
+14541;ANATOLIAN HIEROGLYPH A286;Lo;0;L;;;;;N;;;;;
+14542;ANATOLIAN HIEROGLYPH A287;Lo;0;L;;;;;N;;;;;
+14543;ANATOLIAN HIEROGLYPH A288;Lo;0;L;;;;;N;;;;;
+14544;ANATOLIAN HIEROGLYPH A289;Lo;0;L;;;;;N;;;;;
+14545;ANATOLIAN HIEROGLYPH A289A;Lo;0;L;;;;;N;;;;;
+14546;ANATOLIAN HIEROGLYPH A290;Lo;0;L;;;;;N;;;;;
+14547;ANATOLIAN HIEROGLYPH A291;Lo;0;L;;;;;N;;;;;
+14548;ANATOLIAN HIEROGLYPH A292;Lo;0;L;;;;;N;;;;;
+14549;ANATOLIAN HIEROGLYPH A293;Lo;0;L;;;;;N;;;;;
+1454A;ANATOLIAN HIEROGLYPH A294;Lo;0;L;;;;;N;;;;;
+1454B;ANATOLIAN HIEROGLYPH A294A;Lo;0;L;;;;;N;;;;;
+1454C;ANATOLIAN HIEROGLYPH A295;Lo;0;L;;;;;N;;;;;
+1454D;ANATOLIAN HIEROGLYPH A296;Lo;0;L;;;;;N;;;;;
+1454E;ANATOLIAN HIEROGLYPH A297;Lo;0;L;;;;;N;;;;;
+1454F;ANATOLIAN HIEROGLYPH A298;Lo;0;L;;;;;N;;;;;
+14550;ANATOLIAN HIEROGLYPH A299;Lo;0;L;;;;;N;;;;;
+14551;ANATOLIAN HIEROGLYPH A299A;Lo;0;L;;;;;N;;;;;
+14552;ANATOLIAN HIEROGLYPH A300;Lo;0;L;;;;;N;;;;;
+14553;ANATOLIAN HIEROGLYPH A301;Lo;0;L;;;;;N;;;;;
+14554;ANATOLIAN HIEROGLYPH A302;Lo;0;L;;;;;N;;;;;
+14555;ANATOLIAN HIEROGLYPH A303;Lo;0;L;;;;;N;;;;;
+14556;ANATOLIAN HIEROGLYPH A304;Lo;0;L;;;;;N;;;;;
+14557;ANATOLIAN HIEROGLYPH A305;Lo;0;L;;;;;N;;;;;
+14558;ANATOLIAN HIEROGLYPH A306;Lo;0;L;;;;;N;;;;;
+14559;ANATOLIAN HIEROGLYPH A307;Lo;0;L;;;;;N;;;;;
+1455A;ANATOLIAN HIEROGLYPH A308;Lo;0;L;;;;;N;;;;;
+1455B;ANATOLIAN HIEROGLYPH A309;Lo;0;L;;;;;N;;;;;
+1455C;ANATOLIAN HIEROGLYPH A309A;Lo;0;L;;;;;N;;;;;
+1455D;ANATOLIAN HIEROGLYPH A310;Lo;0;L;;;;;N;;;;;
+1455E;ANATOLIAN HIEROGLYPH A311;Lo;0;L;;;;;N;;;;;
+1455F;ANATOLIAN HIEROGLYPH A312;Lo;0;L;;;;;N;;;;;
+14560;ANATOLIAN HIEROGLYPH A313;Lo;0;L;;;;;N;;;;;
+14561;ANATOLIAN HIEROGLYPH A314;Lo;0;L;;;;;N;;;;;
+14562;ANATOLIAN HIEROGLYPH A315;Lo;0;L;;;;;N;;;;;
+14563;ANATOLIAN HIEROGLYPH A316;Lo;0;L;;;;;N;;;;;
+14564;ANATOLIAN HIEROGLYPH A317;Lo;0;L;;;;;N;;;;;
+14565;ANATOLIAN HIEROGLYPH A318;Lo;0;L;;;;;N;;;;;
+14566;ANATOLIAN HIEROGLYPH A319;Lo;0;L;;;;;N;;;;;
+14567;ANATOLIAN HIEROGLYPH A320;Lo;0;L;;;;;N;;;;;
+14568;ANATOLIAN HIEROGLYPH A321;Lo;0;L;;;;;N;;;;;
+14569;ANATOLIAN HIEROGLYPH A322;Lo;0;L;;;;;N;;;;;
+1456A;ANATOLIAN HIEROGLYPH A323;Lo;0;L;;;;;N;;;;;
+1456B;ANATOLIAN HIEROGLYPH A324;Lo;0;L;;;;;N;;;;;
+1456C;ANATOLIAN HIEROGLYPH A325;Lo;0;L;;;;;N;;;;;
+1456D;ANATOLIAN HIEROGLYPH A326;Lo;0;L;;;;;N;;;;;
+1456E;ANATOLIAN HIEROGLYPH A327;Lo;0;L;;;;;N;;;;;
+1456F;ANATOLIAN HIEROGLYPH A328;Lo;0;L;;;;;N;;;;;
+14570;ANATOLIAN HIEROGLYPH A329;Lo;0;L;;;;;N;;;;;
+14571;ANATOLIAN HIEROGLYPH A329A;Lo;0;L;;;;;N;;;;;
+14572;ANATOLIAN HIEROGLYPH A330;Lo;0;L;;;;;N;;;;;
+14573;ANATOLIAN HIEROGLYPH A331;Lo;0;L;;;;;N;;;;;
+14574;ANATOLIAN HIEROGLYPH A332A;Lo;0;L;;;;;N;;;;;
+14575;ANATOLIAN HIEROGLYPH A332B;Lo;0;L;;;;;N;;;;;
+14576;ANATOLIAN HIEROGLYPH A332C;Lo;0;L;;;;;N;;;;;
+14577;ANATOLIAN HIEROGLYPH A333;Lo;0;L;;;;;N;;;;;
+14578;ANATOLIAN HIEROGLYPH A334;Lo;0;L;;;;;N;;;;;
+14579;ANATOLIAN HIEROGLYPH A335;Lo;0;L;;;;;N;;;;;
+1457A;ANATOLIAN HIEROGLYPH A336;Lo;0;L;;;;;N;;;;;
+1457B;ANATOLIAN HIEROGLYPH A336A;Lo;0;L;;;;;N;;;;;
+1457C;ANATOLIAN HIEROGLYPH A336B;Lo;0;L;;;;;N;;;;;
+1457D;ANATOLIAN HIEROGLYPH A336C;Lo;0;L;;;;;N;;;;;
+1457E;ANATOLIAN HIEROGLYPH A337;Lo;0;L;;;;;N;;;;;
+1457F;ANATOLIAN HIEROGLYPH A338;Lo;0;L;;;;;N;;;;;
+14580;ANATOLIAN HIEROGLYPH A339;Lo;0;L;;;;;N;;;;;
+14581;ANATOLIAN HIEROGLYPH A340;Lo;0;L;;;;;N;;;;;
+14582;ANATOLIAN HIEROGLYPH A341;Lo;0;L;;;;;N;;;;;
+14583;ANATOLIAN HIEROGLYPH A342;Lo;0;L;;;;;N;;;;;
+14584;ANATOLIAN HIEROGLYPH A343;Lo;0;L;;;;;N;;;;;
+14585;ANATOLIAN HIEROGLYPH A344;Lo;0;L;;;;;N;;;;;
+14586;ANATOLIAN HIEROGLYPH A345;Lo;0;L;;;;;N;;;;;
+14587;ANATOLIAN HIEROGLYPH A346;Lo;0;L;;;;;N;;;;;
+14588;ANATOLIAN HIEROGLYPH A347;Lo;0;L;;;;;N;;;;;
+14589;ANATOLIAN HIEROGLYPH A348;Lo;0;L;;;;;N;;;;;
+1458A;ANATOLIAN HIEROGLYPH A349;Lo;0;L;;;;;N;;;;;
+1458B;ANATOLIAN HIEROGLYPH A350;Lo;0;L;;;;;N;;;;;
+1458C;ANATOLIAN HIEROGLYPH A351;Lo;0;L;;;;;N;;;;;
+1458D;ANATOLIAN HIEROGLYPH A352;Lo;0;L;;;;;N;;;;;
+1458E;ANATOLIAN HIEROGLYPH A353;Lo;0;L;;;;;N;;;;;
+1458F;ANATOLIAN HIEROGLYPH A354;Lo;0;L;;;;;N;;;;;
+14590;ANATOLIAN HIEROGLYPH A355;Lo;0;L;;;;;N;;;;;
+14591;ANATOLIAN HIEROGLYPH A356;Lo;0;L;;;;;N;;;;;
+14592;ANATOLIAN HIEROGLYPH A357;Lo;0;L;;;;;N;;;;;
+14593;ANATOLIAN HIEROGLYPH A358;Lo;0;L;;;;;N;;;;;
+14594;ANATOLIAN HIEROGLYPH A359;Lo;0;L;;;;;N;;;;;
+14595;ANATOLIAN HIEROGLYPH A359A;Lo;0;L;;;;;N;;;;;
+14596;ANATOLIAN HIEROGLYPH A360;Lo;0;L;;;;;N;;;;;
+14597;ANATOLIAN HIEROGLYPH A361;Lo;0;L;;;;;N;;;;;
+14598;ANATOLIAN HIEROGLYPH A362;Lo;0;L;;;;;N;;;;;
+14599;ANATOLIAN HIEROGLYPH A363;Lo;0;L;;;;;N;;;;;
+1459A;ANATOLIAN HIEROGLYPH A364;Lo;0;L;;;;;N;;;;;
+1459B;ANATOLIAN HIEROGLYPH A364A;Lo;0;L;;;;;N;;;;;
+1459C;ANATOLIAN HIEROGLYPH A365;Lo;0;L;;;;;N;;;;;
+1459D;ANATOLIAN HIEROGLYPH A366;Lo;0;L;;;;;N;;;;;
+1459E;ANATOLIAN HIEROGLYPH A367;Lo;0;L;;;;;N;;;;;
+1459F;ANATOLIAN HIEROGLYPH A368;Lo;0;L;;;;;N;;;;;
+145A0;ANATOLIAN HIEROGLYPH A368A;Lo;0;L;;;;;N;;;;;
+145A1;ANATOLIAN HIEROGLYPH A369;Lo;0;L;;;;;N;;;;;
+145A2;ANATOLIAN HIEROGLYPH A370;Lo;0;L;;;;;N;;;;;
+145A3;ANATOLIAN HIEROGLYPH A371;Lo;0;L;;;;;N;;;;;
+145A4;ANATOLIAN HIEROGLYPH A371A;Lo;0;L;;;;;N;;;;;
+145A5;ANATOLIAN HIEROGLYPH A372;Lo;0;L;;;;;N;;;;;
+145A6;ANATOLIAN HIEROGLYPH A373;Lo;0;L;;;;;N;;;;;
+145A7;ANATOLIAN HIEROGLYPH A374;Lo;0;L;;;;;N;;;;;
+145A8;ANATOLIAN HIEROGLYPH A375;Lo;0;L;;;;;N;;;;;
+145A9;ANATOLIAN HIEROGLYPH A376;Lo;0;L;;;;;N;;;;;
+145AA;ANATOLIAN HIEROGLYPH A377;Lo;0;L;;;;;N;;;;;
+145AB;ANATOLIAN HIEROGLYPH A378;Lo;0;L;;;;;N;;;;;
+145AC;ANATOLIAN HIEROGLYPH A379;Lo;0;L;;;;;N;;;;;
+145AD;ANATOLIAN HIEROGLYPH A380;Lo;0;L;;;;;N;;;;;
+145AE;ANATOLIAN HIEROGLYPH A381;Lo;0;L;;;;;N;;;;;
+145AF;ANATOLIAN HIEROGLYPH A381A;Lo;0;L;;;;;N;;;;;
+145B0;ANATOLIAN HIEROGLYPH A382;Lo;0;L;;;;;N;;;;;
+145B1;ANATOLIAN HIEROGLYPH A383 RA OR RI;Lo;0;L;;;;;N;;;;;
+145B2;ANATOLIAN HIEROGLYPH A383A;Lo;0;L;;;;;N;;;;;
+145B3;ANATOLIAN HIEROGLYPH A384;Lo;0;L;;;;;N;;;;;
+145B4;ANATOLIAN HIEROGLYPH A385;Lo;0;L;;;;;N;;;;;
+145B5;ANATOLIAN HIEROGLYPH A386;Lo;0;L;;;;;N;;;;;
+145B6;ANATOLIAN HIEROGLYPH A386A;Lo;0;L;;;;;N;;;;;
+145B7;ANATOLIAN HIEROGLYPH A387;Lo;0;L;;;;;N;;;;;
+145B8;ANATOLIAN HIEROGLYPH A388;Lo;0;L;;;;;N;;;;;
+145B9;ANATOLIAN HIEROGLYPH A389;Lo;0;L;;;;;N;;;;;
+145BA;ANATOLIAN HIEROGLYPH A390;Lo;0;L;;;;;N;;;;;
+145BB;ANATOLIAN HIEROGLYPH A391;Lo;0;L;;;;;N;;;;;
+145BC;ANATOLIAN HIEROGLYPH A392;Lo;0;L;;;;;N;;;;;
+145BD;ANATOLIAN HIEROGLYPH A393 EIGHT;Lo;0;L;;;;;N;;;;;
+145BE;ANATOLIAN HIEROGLYPH A394;Lo;0;L;;;;;N;;;;;
+145BF;ANATOLIAN HIEROGLYPH A395;Lo;0;L;;;;;N;;;;;
+145C0;ANATOLIAN HIEROGLYPH A396;Lo;0;L;;;;;N;;;;;
+145C1;ANATOLIAN HIEROGLYPH A397;Lo;0;L;;;;;N;;;;;
+145C2;ANATOLIAN HIEROGLYPH A398;Lo;0;L;;;;;N;;;;;
+145C3;ANATOLIAN HIEROGLYPH A399;Lo;0;L;;;;;N;;;;;
+145C4;ANATOLIAN HIEROGLYPH A400;Lo;0;L;;;;;N;;;;;
+145C5;ANATOLIAN HIEROGLYPH A401;Lo;0;L;;;;;N;;;;;
+145C6;ANATOLIAN HIEROGLYPH A402;Lo;0;L;;;;;N;;;;;
+145C7;ANATOLIAN HIEROGLYPH A403;Lo;0;L;;;;;N;;;;;
+145C8;ANATOLIAN HIEROGLYPH A404;Lo;0;L;;;;;N;;;;;
+145C9;ANATOLIAN HIEROGLYPH A405;Lo;0;L;;;;;N;;;;;
+145CA;ANATOLIAN HIEROGLYPH A406;Lo;0;L;;;;;N;;;;;
+145CB;ANATOLIAN HIEROGLYPH A407;Lo;0;L;;;;;N;;;;;
+145CC;ANATOLIAN HIEROGLYPH A408;Lo;0;L;;;;;N;;;;;
+145CD;ANATOLIAN HIEROGLYPH A409;Lo;0;L;;;;;N;;;;;
+145CE;ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK;Lo;0;L;;;;;N;;;;;
+145CF;ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK;Lo;0;L;;;;;N;;;;;
+145D0;ANATOLIAN HIEROGLYPH A411;Lo;0;L;;;;;N;;;;;
+145D1;ANATOLIAN HIEROGLYPH A412;Lo;0;L;;;;;N;;;;;
+145D2;ANATOLIAN HIEROGLYPH A413;Lo;0;L;;;;;N;;;;;
+145D3;ANATOLIAN HIEROGLYPH A414;Lo;0;L;;;;;N;;;;;
+145D4;ANATOLIAN HIEROGLYPH A415;Lo;0;L;;;;;N;;;;;
+145D5;ANATOLIAN HIEROGLYPH A416;Lo;0;L;;;;;N;;;;;
+145D6;ANATOLIAN HIEROGLYPH A417;Lo;0;L;;;;;N;;;;;
+145D7;ANATOLIAN HIEROGLYPH A418;Lo;0;L;;;;;N;;;;;
+145D8;ANATOLIAN HIEROGLYPH A419;Lo;0;L;;;;;N;;;;;
+145D9;ANATOLIAN HIEROGLYPH A420;Lo;0;L;;;;;N;;;;;
+145DA;ANATOLIAN HIEROGLYPH A421;Lo;0;L;;;;;N;;;;;
+145DB;ANATOLIAN HIEROGLYPH A422;Lo;0;L;;;;;N;;;;;
+145DC;ANATOLIAN HIEROGLYPH A423;Lo;0;L;;;;;N;;;;;
+145DD;ANATOLIAN HIEROGLYPH A424;Lo;0;L;;;;;N;;;;;
+145DE;ANATOLIAN HIEROGLYPH A425;Lo;0;L;;;;;N;;;;;
+145DF;ANATOLIAN HIEROGLYPH A426;Lo;0;L;;;;;N;;;;;
+145E0;ANATOLIAN HIEROGLYPH A427;Lo;0;L;;;;;N;;;;;
+145E1;ANATOLIAN HIEROGLYPH A428;Lo;0;L;;;;;N;;;;;
+145E2;ANATOLIAN HIEROGLYPH A429;Lo;0;L;;;;;N;;;;;
+145E3;ANATOLIAN HIEROGLYPH A430;Lo;0;L;;;;;N;;;;;
+145E4;ANATOLIAN HIEROGLYPH A431;Lo;0;L;;;;;N;;;;;
+145E5;ANATOLIAN HIEROGLYPH A432;Lo;0;L;;;;;N;;;;;
+145E6;ANATOLIAN HIEROGLYPH A433;Lo;0;L;;;;;N;;;;;
+145E7;ANATOLIAN HIEROGLYPH A434;Lo;0;L;;;;;N;;;;;
+145E8;ANATOLIAN HIEROGLYPH A435;Lo;0;L;;;;;N;;;;;
+145E9;ANATOLIAN HIEROGLYPH A436;Lo;0;L;;;;;N;;;;;
+145EA;ANATOLIAN HIEROGLYPH A437;Lo;0;L;;;;;N;;;;;
+145EB;ANATOLIAN HIEROGLYPH A438;Lo;0;L;;;;;N;;;;;
+145EC;ANATOLIAN HIEROGLYPH A439;Lo;0;L;;;;;N;;;;;
+145ED;ANATOLIAN HIEROGLYPH A440;Lo;0;L;;;;;N;;;;;
+145EE;ANATOLIAN HIEROGLYPH A441;Lo;0;L;;;;;N;;;;;
+145EF;ANATOLIAN HIEROGLYPH A442;Lo;0;L;;;;;N;;;;;
+145F0;ANATOLIAN HIEROGLYPH A443;Lo;0;L;;;;;N;;;;;
+145F1;ANATOLIAN HIEROGLYPH A444;Lo;0;L;;;;;N;;;;;
+145F2;ANATOLIAN HIEROGLYPH A445;Lo;0;L;;;;;N;;;;;
+145F3;ANATOLIAN HIEROGLYPH A446;Lo;0;L;;;;;N;;;;;
+145F4;ANATOLIAN HIEROGLYPH A447;Lo;0;L;;;;;N;;;;;
+145F5;ANATOLIAN HIEROGLYPH A448;Lo;0;L;;;;;N;;;;;
+145F6;ANATOLIAN HIEROGLYPH A449;Lo;0;L;;;;;N;;;;;
+145F7;ANATOLIAN HIEROGLYPH A450;Lo;0;L;;;;;N;;;;;
+145F8;ANATOLIAN HIEROGLYPH A450A;Lo;0;L;;;;;N;;;;;
+145F9;ANATOLIAN HIEROGLYPH A451;Lo;0;L;;;;;N;;;;;
+145FA;ANATOLIAN HIEROGLYPH A452;Lo;0;L;;;;;N;;;;;
+145FB;ANATOLIAN HIEROGLYPH A453;Lo;0;L;;;;;N;;;;;
+145FC;ANATOLIAN HIEROGLYPH A454;Lo;0;L;;;;;N;;;;;
+145FD;ANATOLIAN HIEROGLYPH A455;Lo;0;L;;;;;N;;;;;
+145FE;ANATOLIAN HIEROGLYPH A456;Lo;0;L;;;;;N;;;;;
+145FF;ANATOLIAN HIEROGLYPH A457;Lo;0;L;;;;;N;;;;;
+14600;ANATOLIAN HIEROGLYPH A457A;Lo;0;L;;;;;N;;;;;
+14601;ANATOLIAN HIEROGLYPH A458;Lo;0;L;;;;;N;;;;;
+14602;ANATOLIAN HIEROGLYPH A459;Lo;0;L;;;;;N;;;;;
+14603;ANATOLIAN HIEROGLYPH A460;Lo;0;L;;;;;N;;;;;
+14604;ANATOLIAN HIEROGLYPH A461;Lo;0;L;;;;;N;;;;;
+14605;ANATOLIAN HIEROGLYPH A462;Lo;0;L;;;;;N;;;;;
+14606;ANATOLIAN HIEROGLYPH A463;Lo;0;L;;;;;N;;;;;
+14607;ANATOLIAN HIEROGLYPH A464;Lo;0;L;;;;;N;;;;;
+14608;ANATOLIAN HIEROGLYPH A465;Lo;0;L;;;;;N;;;;;
+14609;ANATOLIAN HIEROGLYPH A466;Lo;0;L;;;;;N;;;;;
+1460A;ANATOLIAN HIEROGLYPH A467;Lo;0;L;;;;;N;;;;;
+1460B;ANATOLIAN HIEROGLYPH A468;Lo;0;L;;;;;N;;;;;
+1460C;ANATOLIAN HIEROGLYPH A469;Lo;0;L;;;;;N;;;;;
+1460D;ANATOLIAN HIEROGLYPH A470;Lo;0;L;;;;;N;;;;;
+1460E;ANATOLIAN HIEROGLYPH A471;Lo;0;L;;;;;N;;;;;
+1460F;ANATOLIAN HIEROGLYPH A472;Lo;0;L;;;;;N;;;;;
+14610;ANATOLIAN HIEROGLYPH A473;Lo;0;L;;;;;N;;;;;
+14611;ANATOLIAN HIEROGLYPH A474;Lo;0;L;;;;;N;;;;;
+14612;ANATOLIAN HIEROGLYPH A475;Lo;0;L;;;;;N;;;;;
+14613;ANATOLIAN HIEROGLYPH A476;Lo;0;L;;;;;N;;;;;
+14614;ANATOLIAN HIEROGLYPH A477;Lo;0;L;;;;;N;;;;;
+14615;ANATOLIAN HIEROGLYPH A478;Lo;0;L;;;;;N;;;;;
+14616;ANATOLIAN HIEROGLYPH A479;Lo;0;L;;;;;N;;;;;
+14617;ANATOLIAN HIEROGLYPH A480;Lo;0;L;;;;;N;;;;;
+14618;ANATOLIAN HIEROGLYPH A481;Lo;0;L;;;;;N;;;;;
+14619;ANATOLIAN HIEROGLYPH A482;Lo;0;L;;;;;N;;;;;
+1461A;ANATOLIAN HIEROGLYPH A483;Lo;0;L;;;;;N;;;;;
+1461B;ANATOLIAN HIEROGLYPH A484;Lo;0;L;;;;;N;;;;;
+1461C;ANATOLIAN HIEROGLYPH A485;Lo;0;L;;;;;N;;;;;
+1461D;ANATOLIAN HIEROGLYPH A486;Lo;0;L;;;;;N;;;;;
+1461E;ANATOLIAN HIEROGLYPH A487;Lo;0;L;;;;;N;;;;;
+1461F;ANATOLIAN HIEROGLYPH A488;Lo;0;L;;;;;N;;;;;
+14620;ANATOLIAN HIEROGLYPH A489;Lo;0;L;;;;;N;;;;;
+14621;ANATOLIAN HIEROGLYPH A490;Lo;0;L;;;;;N;;;;;
+14622;ANATOLIAN HIEROGLYPH A491;Lo;0;L;;;;;N;;;;;
+14623;ANATOLIAN HIEROGLYPH A492;Lo;0;L;;;;;N;;;;;
+14624;ANATOLIAN HIEROGLYPH A493;Lo;0;L;;;;;N;;;;;
+14625;ANATOLIAN HIEROGLYPH A494;Lo;0;L;;;;;N;;;;;
+14626;ANATOLIAN HIEROGLYPH A495;Lo;0;L;;;;;N;;;;;
+14627;ANATOLIAN HIEROGLYPH A496;Lo;0;L;;;;;N;;;;;
+14628;ANATOLIAN HIEROGLYPH A497;Lo;0;L;;;;;N;;;;;
+14629;ANATOLIAN HIEROGLYPH A501;Lo;0;L;;;;;N;;;;;
+1462A;ANATOLIAN HIEROGLYPH A502;Lo;0;L;;;;;N;;;;;
+1462B;ANATOLIAN HIEROGLYPH A503;Lo;0;L;;;;;N;;;;;
+1462C;ANATOLIAN HIEROGLYPH A504;Lo;0;L;;;;;N;;;;;
+1462D;ANATOLIAN HIEROGLYPH A505;Lo;0;L;;;;;N;;;;;
+1462E;ANATOLIAN HIEROGLYPH A506;Lo;0;L;;;;;N;;;;;
+1462F;ANATOLIAN HIEROGLYPH A507;Lo;0;L;;;;;N;;;;;
+14630;ANATOLIAN HIEROGLYPH A508;Lo;0;L;;;;;N;;;;;
+14631;ANATOLIAN HIEROGLYPH A509;Lo;0;L;;;;;N;;;;;
+14632;ANATOLIAN HIEROGLYPH A510;Lo;0;L;;;;;N;;;;;
+14633;ANATOLIAN HIEROGLYPH A511;Lo;0;L;;;;;N;;;;;
+14634;ANATOLIAN HIEROGLYPH A512;Lo;0;L;;;;;N;;;;;
+14635;ANATOLIAN HIEROGLYPH A513;Lo;0;L;;;;;N;;;;;
+14636;ANATOLIAN HIEROGLYPH A514;Lo;0;L;;;;;N;;;;;
+14637;ANATOLIAN HIEROGLYPH A515;Lo;0;L;;;;;N;;;;;
+14638;ANATOLIAN HIEROGLYPH A516;Lo;0;L;;;;;N;;;;;
+14639;ANATOLIAN HIEROGLYPH A517;Lo;0;L;;;;;N;;;;;
+1463A;ANATOLIAN HIEROGLYPH A518;Lo;0;L;;;;;N;;;;;
+1463B;ANATOLIAN HIEROGLYPH A519;Lo;0;L;;;;;N;;;;;
+1463C;ANATOLIAN HIEROGLYPH A520;Lo;0;L;;;;;N;;;;;
+1463D;ANATOLIAN HIEROGLYPH A521;Lo;0;L;;;;;N;;;;;
+1463E;ANATOLIAN HIEROGLYPH A522;Lo;0;L;;;;;N;;;;;
+1463F;ANATOLIAN HIEROGLYPH A523;Lo;0;L;;;;;N;;;;;
+14640;ANATOLIAN HIEROGLYPH A524;Lo;0;L;;;;;N;;;;;
+14641;ANATOLIAN HIEROGLYPH A525;Lo;0;L;;;;;N;;;;;
+14642;ANATOLIAN HIEROGLYPH A526;Lo;0;L;;;;;N;;;;;
+14643;ANATOLIAN HIEROGLYPH A527;Lo;0;L;;;;;N;;;;;
+14644;ANATOLIAN HIEROGLYPH A528;Lo;0;L;;;;;N;;;;;
+14645;ANATOLIAN HIEROGLYPH A529;Lo;0;L;;;;;N;;;;;
+14646;ANATOLIAN HIEROGLYPH A530;Lo;0;L;;;;;N;;;;;
+16800;BAMUM LETTER PHASE-A NGKUE MFON;Lo;0;L;;;;;N;;;;;
+16801;BAMUM LETTER PHASE-A GBIEE FON;Lo;0;L;;;;;N;;;;;
+16802;BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE;Lo;0;L;;;;;N;;;;;
+16803;BAMUM LETTER PHASE-A PON MFON PIPAEMBA;Lo;0;L;;;;;N;;;;;
+16804;BAMUM LETTER PHASE-A NAA MFON;Lo;0;L;;;;;N;;;;;
+16805;BAMUM LETTER PHASE-A SHUENSHUET;Lo;0;L;;;;;N;;;;;
+16806;BAMUM LETTER PHASE-A TITA MFON;Lo;0;L;;;;;N;;;;;
+16807;BAMUM LETTER PHASE-A NZA MFON;Lo;0;L;;;;;N;;;;;
+16808;BAMUM LETTER PHASE-A SHINDA PA NJI;Lo;0;L;;;;;N;;;;;
+16809;BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE;Lo;0;L;;;;;N;;;;;
+1680A;BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA;Lo;0;L;;;;;N;;;;;
+1680B;BAMUM LETTER PHASE-A MAEMBGBIEE;Lo;0;L;;;;;N;;;;;
+1680C;BAMUM LETTER PHASE-A TU MAEMBA;Lo;0;L;;;;;N;;;;;
+1680D;BAMUM LETTER PHASE-A NGANGU;Lo;0;L;;;;;N;;;;;
+1680E;BAMUM LETTER PHASE-A MAEMVEUX;Lo;0;L;;;;;N;;;;;
+1680F;BAMUM LETTER PHASE-A MANSUAE;Lo;0;L;;;;;N;;;;;
+16810;BAMUM LETTER PHASE-A MVEUAENGAM;Lo;0;L;;;;;N;;;;;
+16811;BAMUM LETTER PHASE-A SEUNYAM;Lo;0;L;;;;;N;;;;;
+16812;BAMUM LETTER PHASE-A NTOQPEN;Lo;0;L;;;;;N;;;;;
+16813;BAMUM LETTER PHASE-A KEUKEUTNDA;Lo;0;L;;;;;N;;;;;
+16814;BAMUM LETTER PHASE-A NKINDI;Lo;0;L;;;;;N;;;;;
+16815;BAMUM LETTER PHASE-A SUU;Lo;0;L;;;;;N;;;;;
+16816;BAMUM LETTER PHASE-A NGKUENZEUM;Lo;0;L;;;;;N;;;;;
+16817;BAMUM LETTER PHASE-A LAPAQ;Lo;0;L;;;;;N;;;;;
+16818;BAMUM LETTER PHASE-A LET KUT;Lo;0;L;;;;;N;;;;;
+16819;BAMUM LETTER PHASE-A NTAP MFAA;Lo;0;L;;;;;N;;;;;
+1681A;BAMUM LETTER PHASE-A MAEKEUP;Lo;0;L;;;;;N;;;;;
+1681B;BAMUM LETTER PHASE-A PASHAE;Lo;0;L;;;;;N;;;;;
+1681C;BAMUM LETTER PHASE-A GHEUAERAE;Lo;0;L;;;;;N;;;;;
+1681D;BAMUM LETTER PHASE-A PAMSHAE;Lo;0;L;;;;;N;;;;;
+1681E;BAMUM LETTER PHASE-A MON NGGEUAET;Lo;0;L;;;;;N;;;;;
+1681F;BAMUM LETTER PHASE-A NZUN MEUT;Lo;0;L;;;;;N;;;;;
+16820;BAMUM LETTER PHASE-A U YUQ NAE;Lo;0;L;;;;;N;;;;;
+16821;BAMUM LETTER PHASE-A GHEUAEGHEUAE;Lo;0;L;;;;;N;;;;;
+16822;BAMUM LETTER PHASE-A NTAP NTAA;Lo;0;L;;;;;N;;;;;
+16823;BAMUM LETTER PHASE-A SISA;Lo;0;L;;;;;N;;;;;
+16824;BAMUM LETTER PHASE-A MGBASA;Lo;0;L;;;;;N;;;;;
+16825;BAMUM LETTER PHASE-A MEUNJOMNDEUQ;Lo;0;L;;;;;N;;;;;
+16826;BAMUM LETTER PHASE-A MOOMPUQ;Lo;0;L;;;;;N;;;;;
+16827;BAMUM LETTER PHASE-A KAFA;Lo;0;L;;;;;N;;;;;
+16828;BAMUM LETTER PHASE-A PA LEERAEWA;Lo;0;L;;;;;N;;;;;
+16829;BAMUM LETTER PHASE-A NDA LEERAEWA;Lo;0;L;;;;;N;;;;;
+1682A;BAMUM LETTER PHASE-A PET;Lo;0;L;;;;;N;;;;;
+1682B;BAMUM LETTER PHASE-A MAEMKPEN;Lo;0;L;;;;;N;;;;;
+1682C;BAMUM LETTER PHASE-A NIKA;Lo;0;L;;;;;N;;;;;
+1682D;BAMUM LETTER PHASE-A PUP;Lo;0;L;;;;;N;;;;;
+1682E;BAMUM LETTER PHASE-A TUAEP;Lo;0;L;;;;;N;;;;;
+1682F;BAMUM LETTER PHASE-A LUAEP;Lo;0;L;;;;;N;;;;;
+16830;BAMUM LETTER PHASE-A SONJAM;Lo;0;L;;;;;N;;;;;
+16831;BAMUM LETTER PHASE-A TEUTEUWEN;Lo;0;L;;;;;N;;;;;
+16832;BAMUM LETTER PHASE-A MAENYI;Lo;0;L;;;;;N;;;;;
+16833;BAMUM LETTER PHASE-A KET;Lo;0;L;;;;;N;;;;;
+16834;BAMUM LETTER PHASE-A NDAANGGEUAET;Lo;0;L;;;;;N;;;;;
+16835;BAMUM LETTER PHASE-A KUOQ;Lo;0;L;;;;;N;;;;;
+16836;BAMUM LETTER PHASE-A MOOMEUT;Lo;0;L;;;;;N;;;;;
+16837;BAMUM LETTER PHASE-A SHUM;Lo;0;L;;;;;N;;;;;
+16838;BAMUM LETTER PHASE-A LOMMAE;Lo;0;L;;;;;N;;;;;
+16839;BAMUM LETTER PHASE-A FIRI;Lo;0;L;;;;;N;;;;;
+1683A;BAMUM LETTER PHASE-A ROM;Lo;0;L;;;;;N;;;;;
+1683B;BAMUM LETTER PHASE-A KPOQ;Lo;0;L;;;;;N;;;;;
+1683C;BAMUM LETTER PHASE-A SOQ;Lo;0;L;;;;;N;;;;;
+1683D;BAMUM LETTER PHASE-A MAP PIEET;Lo;0;L;;;;;N;;;;;
+1683E;BAMUM LETTER PHASE-A SHIRAE;Lo;0;L;;;;;N;;;;;
+1683F;BAMUM LETTER PHASE-A NTAP;Lo;0;L;;;;;N;;;;;
+16840;BAMUM LETTER PHASE-A SHOQ NSHUT YUM;Lo;0;L;;;;;N;;;;;
+16841;BAMUM LETTER PHASE-A NYIT MONGKEUAEQ;Lo;0;L;;;;;N;;;;;
+16842;BAMUM LETTER PHASE-A PAARAE;Lo;0;L;;;;;N;;;;;
+16843;BAMUM LETTER PHASE-A NKAARAE;Lo;0;L;;;;;N;;;;;
+16844;BAMUM LETTER PHASE-A UNKNOWN;Lo;0;L;;;;;N;;;;;
+16845;BAMUM LETTER PHASE-A NGGEN;Lo;0;L;;;;;N;;;;;
+16846;BAMUM LETTER PHASE-A MAESI;Lo;0;L;;;;;N;;;;;
+16847;BAMUM LETTER PHASE-A NJAM;Lo;0;L;;;;;N;;;;;
+16848;BAMUM LETTER PHASE-A MBANYI;Lo;0;L;;;;;N;;;;;
+16849;BAMUM LETTER PHASE-A NYET;Lo;0;L;;;;;N;;;;;
+1684A;BAMUM LETTER PHASE-A TEUAEN;Lo;0;L;;;;;N;;;;;
+1684B;BAMUM LETTER PHASE-A SOT;Lo;0;L;;;;;N;;;;;
+1684C;BAMUM LETTER PHASE-A PAAM;Lo;0;L;;;;;N;;;;;
+1684D;BAMUM LETTER PHASE-A NSHIEE;Lo;0;L;;;;;N;;;;;
+1684E;BAMUM LETTER PHASE-A MAEM;Lo;0;L;;;;;N;;;;;
+1684F;BAMUM LETTER PHASE-A NYI;Lo;0;L;;;;;N;;;;;
+16850;BAMUM LETTER PHASE-A KAQ;Lo;0;L;;;;;N;;;;;
+16851;BAMUM LETTER PHASE-A NSHA;Lo;0;L;;;;;N;;;;;
+16852;BAMUM LETTER PHASE-A VEE;Lo;0;L;;;;;N;;;;;
+16853;BAMUM LETTER PHASE-A LU;Lo;0;L;;;;;N;;;;;
+16854;BAMUM LETTER PHASE-A NEN;Lo;0;L;;;;;N;;;;;
+16855;BAMUM LETTER PHASE-A NAQ;Lo;0;L;;;;;N;;;;;
+16856;BAMUM LETTER PHASE-A MBAQ;Lo;0;L;;;;;N;;;;;
+16857;BAMUM LETTER PHASE-B NSHUET;Lo;0;L;;;;;N;;;;;
+16858;BAMUM LETTER PHASE-B TU MAEMGBIEE;Lo;0;L;;;;;N;;;;;
+16859;BAMUM LETTER PHASE-B SIEE;Lo;0;L;;;;;N;;;;;
+1685A;BAMUM LETTER PHASE-B SET TU;Lo;0;L;;;;;N;;;;;
+1685B;BAMUM LETTER PHASE-B LOM NTEUM;Lo;0;L;;;;;N;;;;;
+1685C;BAMUM LETTER PHASE-B MBA MAELEE;Lo;0;L;;;;;N;;;;;
+1685D;BAMUM LETTER PHASE-B KIEEM;Lo;0;L;;;;;N;;;;;
+1685E;BAMUM LETTER PHASE-B YEURAE;Lo;0;L;;;;;N;;;;;
+1685F;BAMUM LETTER PHASE-B MBAARAE;Lo;0;L;;;;;N;;;;;
+16860;BAMUM LETTER PHASE-B KAM;Lo;0;L;;;;;N;;;;;
+16861;BAMUM LETTER PHASE-B PEESHI;Lo;0;L;;;;;N;;;;;
+16862;BAMUM LETTER PHASE-B YAFU LEERAEWA;Lo;0;L;;;;;N;;;;;
+16863;BAMUM LETTER PHASE-B LAM NSHUT NYAM;Lo;0;L;;;;;N;;;;;
+16864;BAMUM LETTER PHASE-B NTIEE SHEUOQ;Lo;0;L;;;;;N;;;;;
+16865;BAMUM LETTER PHASE-B NDU NJAA;Lo;0;L;;;;;N;;;;;
+16866;BAMUM LETTER PHASE-B GHEUGHEUAEM;Lo;0;L;;;;;N;;;;;
+16867;BAMUM LETTER PHASE-B PIT;Lo;0;L;;;;;N;;;;;
+16868;BAMUM LETTER PHASE-B TU NSIEE;Lo;0;L;;;;;N;;;;;
+16869;BAMUM LETTER PHASE-B SHET NJAQ;Lo;0;L;;;;;N;;;;;
+1686A;BAMUM LETTER PHASE-B SHEUAEQTU;Lo;0;L;;;;;N;;;;;
+1686B;BAMUM LETTER PHASE-B MFON TEUAEQ;Lo;0;L;;;;;N;;;;;
+1686C;BAMUM LETTER PHASE-B MBIT MBAAKET;Lo;0;L;;;;;N;;;;;
+1686D;BAMUM LETTER PHASE-B NYI NTEUM;Lo;0;L;;;;;N;;;;;
+1686E;BAMUM LETTER PHASE-B KEUPUQ;Lo;0;L;;;;;N;;;;;
+1686F;BAMUM LETTER PHASE-B GHEUGHEN;Lo;0;L;;;;;N;;;;;
+16870;BAMUM LETTER PHASE-B KEUYEUX;Lo;0;L;;;;;N;;;;;
+16871;BAMUM LETTER PHASE-B LAANAE;Lo;0;L;;;;;N;;;;;
+16872;BAMUM LETTER PHASE-B PARUM;Lo;0;L;;;;;N;;;;;
+16873;BAMUM LETTER PHASE-B VEUM;Lo;0;L;;;;;N;;;;;
+16874;BAMUM LETTER PHASE-B NGKINDI MVOP;Lo;0;L;;;;;N;;;;;
+16875;BAMUM LETTER PHASE-B NGGEU MBU;Lo;0;L;;;;;N;;;;;
+16876;BAMUM LETTER PHASE-B WUAET;Lo;0;L;;;;;N;;;;;
+16877;BAMUM LETTER PHASE-B SAKEUAE;Lo;0;L;;;;;N;;;;;
+16878;BAMUM LETTER PHASE-B TAAM;Lo;0;L;;;;;N;;;;;
+16879;BAMUM LETTER PHASE-B MEUQ;Lo;0;L;;;;;N;;;;;
+1687A;BAMUM LETTER PHASE-B NGGUOQ;Lo;0;L;;;;;N;;;;;
+1687B;BAMUM LETTER PHASE-B NGGUOQ LARGE;Lo;0;L;;;;;N;;;;;
+1687C;BAMUM LETTER PHASE-B MFIYAQ;Lo;0;L;;;;;N;;;;;
+1687D;BAMUM LETTER PHASE-B SUE;Lo;0;L;;;;;N;;;;;
+1687E;BAMUM LETTER PHASE-B MBEURI;Lo;0;L;;;;;N;;;;;
+1687F;BAMUM LETTER PHASE-B MONTIEEN;Lo;0;L;;;;;N;;;;;
+16880;BAMUM LETTER PHASE-B NYAEMAE;Lo;0;L;;;;;N;;;;;
+16881;BAMUM LETTER PHASE-B PUNGAAM;Lo;0;L;;;;;N;;;;;
+16882;BAMUM LETTER PHASE-B MEUT NGGEET;Lo;0;L;;;;;N;;;;;
+16883;BAMUM LETTER PHASE-B FEUX;Lo;0;L;;;;;N;;;;;
+16884;BAMUM LETTER PHASE-B MBUOQ;Lo;0;L;;;;;N;;;;;
+16885;BAMUM LETTER PHASE-B FEE;Lo;0;L;;;;;N;;;;;
+16886;BAMUM LETTER PHASE-B KEUAEM;Lo;0;L;;;;;N;;;;;
+16887;BAMUM LETTER PHASE-B MA NJEUAENA;Lo;0;L;;;;;N;;;;;
+16888;BAMUM LETTER PHASE-B MA NJUQA;Lo;0;L;;;;;N;;;;;
+16889;BAMUM LETTER PHASE-B LET;Lo;0;L;;;;;N;;;;;
+1688A;BAMUM LETTER PHASE-B NGGAAM;Lo;0;L;;;;;N;;;;;
+1688B;BAMUM LETTER PHASE-B NSEN;Lo;0;L;;;;;N;;;;;
+1688C;BAMUM LETTER PHASE-B MA;Lo;0;L;;;;;N;;;;;
+1688D;BAMUM LETTER PHASE-B KIQ;Lo;0;L;;;;;N;;;;;
+1688E;BAMUM LETTER PHASE-B NGOM;Lo;0;L;;;;;N;;;;;
+1688F;BAMUM LETTER PHASE-C NGKUE MAEMBA;Lo;0;L;;;;;N;;;;;
+16890;BAMUM LETTER PHASE-C NZA;Lo;0;L;;;;;N;;;;;
+16891;BAMUM LETTER PHASE-C YUM;Lo;0;L;;;;;N;;;;;
+16892;BAMUM LETTER PHASE-C WANGKUOQ;Lo;0;L;;;;;N;;;;;
+16893;BAMUM LETTER PHASE-C NGGEN;Lo;0;L;;;;;N;;;;;
+16894;BAMUM LETTER PHASE-C NDEUAEREE;Lo;0;L;;;;;N;;;;;
+16895;BAMUM LETTER PHASE-C NGKAQ;Lo;0;L;;;;;N;;;;;
+16896;BAMUM LETTER PHASE-C GHARAE;Lo;0;L;;;;;N;;;;;
+16897;BAMUM LETTER PHASE-C MBEEKEET;Lo;0;L;;;;;N;;;;;
+16898;BAMUM LETTER PHASE-C GBAYI;Lo;0;L;;;;;N;;;;;
+16899;BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN;Lo;0;L;;;;;N;;;;;
+1689A;BAMUM LETTER PHASE-C NTU MBIT;Lo;0;L;;;;;N;;;;;
+1689B;BAMUM LETTER PHASE-C MBEUM;Lo;0;L;;;;;N;;;;;
+1689C;BAMUM LETTER PHASE-C PIRIEEN;Lo;0;L;;;;;N;;;;;
+1689D;BAMUM LETTER PHASE-C NDOMBU;Lo;0;L;;;;;N;;;;;
+1689E;BAMUM LETTER PHASE-C MBAA CABBAGE-TREE;Lo;0;L;;;;;N;;;;;
+1689F;BAMUM LETTER PHASE-C KEUSHEUAEP;Lo;0;L;;;;;N;;;;;
+168A0;BAMUM LETTER PHASE-C GHAP;Lo;0;L;;;;;N;;;;;
+168A1;BAMUM LETTER PHASE-C KEUKAQ;Lo;0;L;;;;;N;;;;;
+168A2;BAMUM LETTER PHASE-C YU MUOMAE;Lo;0;L;;;;;N;;;;;
+168A3;BAMUM LETTER PHASE-C NZEUM;Lo;0;L;;;;;N;;;;;
+168A4;BAMUM LETTER PHASE-C MBUE;Lo;0;L;;;;;N;;;;;
+168A5;BAMUM LETTER PHASE-C NSEUAEN;Lo;0;L;;;;;N;;;;;
+168A6;BAMUM LETTER PHASE-C MBIT;Lo;0;L;;;;;N;;;;;
+168A7;BAMUM LETTER PHASE-C YEUQ;Lo;0;L;;;;;N;;;;;
+168A8;BAMUM LETTER PHASE-C KPARAQ;Lo;0;L;;;;;N;;;;;
+168A9;BAMUM LETTER PHASE-C KAA;Lo;0;L;;;;;N;;;;;
+168AA;BAMUM LETTER PHASE-C SEUX;Lo;0;L;;;;;N;;;;;
+168AB;BAMUM LETTER PHASE-C NDIDA;Lo;0;L;;;;;N;;;;;
+168AC;BAMUM LETTER PHASE-C TAASHAE;Lo;0;L;;;;;N;;;;;
+168AD;BAMUM LETTER PHASE-C NJUEQ;Lo;0;L;;;;;N;;;;;
+168AE;BAMUM LETTER PHASE-C TITA YUE;Lo;0;L;;;;;N;;;;;
+168AF;BAMUM LETTER PHASE-C SUAET;Lo;0;L;;;;;N;;;;;
+168B0;BAMUM LETTER PHASE-C NGGUAEN NYAM;Lo;0;L;;;;;N;;;;;
+168B1;BAMUM LETTER PHASE-C VEUX;Lo;0;L;;;;;N;;;;;
+168B2;BAMUM LETTER PHASE-C NANSANAQ;Lo;0;L;;;;;N;;;;;
+168B3;BAMUM LETTER PHASE-C MA KEUAERI;Lo;0;L;;;;;N;;;;;
+168B4;BAMUM LETTER PHASE-C NTAA;Lo;0;L;;;;;N;;;;;
+168B5;BAMUM LETTER PHASE-C NGGUON;Lo;0;L;;;;;N;;;;;
+168B6;BAMUM LETTER PHASE-C LAP;Lo;0;L;;;;;N;;;;;
+168B7;BAMUM LETTER PHASE-C MBIRIEEN;Lo;0;L;;;;;N;;;;;
+168B8;BAMUM LETTER PHASE-C MGBASAQ;Lo;0;L;;;;;N;;;;;
+168B9;BAMUM LETTER PHASE-C NTEUNGBA;Lo;0;L;;;;;N;;;;;
+168BA;BAMUM LETTER PHASE-C TEUTEUX;Lo;0;L;;;;;N;;;;;
+168BB;BAMUM LETTER PHASE-C NGGUM;Lo;0;L;;;;;N;;;;;
+168BC;BAMUM LETTER PHASE-C FUE;Lo;0;L;;;;;N;;;;;
+168BD;BAMUM LETTER PHASE-C NDEUT;Lo;0;L;;;;;N;;;;;
+168BE;BAMUM LETTER PHASE-C NSA;Lo;0;L;;;;;N;;;;;
+168BF;BAMUM LETTER PHASE-C NSHAQ;Lo;0;L;;;;;N;;;;;
+168C0;BAMUM LETTER PHASE-C BUNG;Lo;0;L;;;;;N;;;;;
+168C1;BAMUM LETTER PHASE-C VEUAEPEN;Lo;0;L;;;;;N;;;;;
+168C2;BAMUM LETTER PHASE-C MBERAE;Lo;0;L;;;;;N;;;;;
+168C3;BAMUM LETTER PHASE-C RU;Lo;0;L;;;;;N;;;;;
+168C4;BAMUM LETTER PHASE-C NJAEM;Lo;0;L;;;;;N;;;;;
+168C5;BAMUM LETTER PHASE-C LAM;Lo;0;L;;;;;N;;;;;
+168C6;BAMUM LETTER PHASE-C TITUAEP;Lo;0;L;;;;;N;;;;;
+168C7;BAMUM LETTER PHASE-C NSUOT NGOM;Lo;0;L;;;;;N;;;;;
+168C8;BAMUM LETTER PHASE-C NJEEEE;Lo;0;L;;;;;N;;;;;
+168C9;BAMUM LETTER PHASE-C KET;Lo;0;L;;;;;N;;;;;
+168CA;BAMUM LETTER PHASE-C NGGU;Lo;0;L;;;;;N;;;;;
+168CB;BAMUM LETTER PHASE-C MAESI;Lo;0;L;;;;;N;;;;;
+168CC;BAMUM LETTER PHASE-C MBUAEM;Lo;0;L;;;;;N;;;;;
+168CD;BAMUM LETTER PHASE-C LU;Lo;0;L;;;;;N;;;;;
+168CE;BAMUM LETTER PHASE-C KUT;Lo;0;L;;;;;N;;;;;
+168CF;BAMUM LETTER PHASE-C NJAM;Lo;0;L;;;;;N;;;;;
+168D0;BAMUM LETTER PHASE-C NGOM;Lo;0;L;;;;;N;;;;;
+168D1;BAMUM LETTER PHASE-C WUP;Lo;0;L;;;;;N;;;;;
+168D2;BAMUM LETTER PHASE-C NGGUEET;Lo;0;L;;;;;N;;;;;
+168D3;BAMUM LETTER PHASE-C NSOM;Lo;0;L;;;;;N;;;;;
+168D4;BAMUM LETTER PHASE-C NTEN;Lo;0;L;;;;;N;;;;;
+168D5;BAMUM LETTER PHASE-C KUOP NKAARAE;Lo;0;L;;;;;N;;;;;
+168D6;BAMUM LETTER PHASE-C NSUN;Lo;0;L;;;;;N;;;;;
+168D7;BAMUM LETTER PHASE-C NDAM;Lo;0;L;;;;;N;;;;;
+168D8;BAMUM LETTER PHASE-C MA NSIEE;Lo;0;L;;;;;N;;;;;
+168D9;BAMUM LETTER PHASE-C YAA;Lo;0;L;;;;;N;;;;;
+168DA;BAMUM LETTER PHASE-C NDAP;Lo;0;L;;;;;N;;;;;
+168DB;BAMUM LETTER PHASE-C SHUEQ;Lo;0;L;;;;;N;;;;;
+168DC;BAMUM LETTER PHASE-C SETFON;Lo;0;L;;;;;N;;;;;
+168DD;BAMUM LETTER PHASE-C MBI;Lo;0;L;;;;;N;;;;;
+168DE;BAMUM LETTER PHASE-C MAEMBA;Lo;0;L;;;;;N;;;;;
+168DF;BAMUM LETTER PHASE-C MBANYI;Lo;0;L;;;;;N;;;;;
+168E0;BAMUM LETTER PHASE-C KEUSEUX;Lo;0;L;;;;;N;;;;;
+168E1;BAMUM LETTER PHASE-C MBEUX;Lo;0;L;;;;;N;;;;;
+168E2;BAMUM LETTER PHASE-C KEUM;Lo;0;L;;;;;N;;;;;
+168E3;BAMUM LETTER PHASE-C MBAA PICKET;Lo;0;L;;;;;N;;;;;
+168E4;BAMUM LETTER PHASE-C YUWOQ;Lo;0;L;;;;;N;;;;;
+168E5;BAMUM LETTER PHASE-C NJEUX;Lo;0;L;;;;;N;;;;;
+168E6;BAMUM LETTER PHASE-C MIEE;Lo;0;L;;;;;N;;;;;
+168E7;BAMUM LETTER PHASE-C MUAE;Lo;0;L;;;;;N;;;;;
+168E8;BAMUM LETTER PHASE-C SHIQ;Lo;0;L;;;;;N;;;;;
+168E9;BAMUM LETTER PHASE-C KEN LAW;Lo;0;L;;;;;N;;;;;
+168EA;BAMUM LETTER PHASE-C KEN FATIGUE;Lo;0;L;;;;;N;;;;;
+168EB;BAMUM LETTER PHASE-C NGAQ;Lo;0;L;;;;;N;;;;;
+168EC;BAMUM LETTER PHASE-C NAQ;Lo;0;L;;;;;N;;;;;
+168ED;BAMUM LETTER PHASE-C LIQ;Lo;0;L;;;;;N;;;;;
+168EE;BAMUM LETTER PHASE-C PIN;Lo;0;L;;;;;N;;;;;
+168EF;BAMUM LETTER PHASE-C PEN;Lo;0;L;;;;;N;;;;;
+168F0;BAMUM LETTER PHASE-C TET;Lo;0;L;;;;;N;;;;;
+168F1;BAMUM LETTER PHASE-D MBUO;Lo;0;L;;;;;N;;;;;
+168F2;BAMUM LETTER PHASE-D WAP;Lo;0;L;;;;;N;;;;;
+168F3;BAMUM LETTER PHASE-D NJI;Lo;0;L;;;;;N;;;;;
+168F4;BAMUM LETTER PHASE-D MFON;Lo;0;L;;;;;N;;;;;
+168F5;BAMUM LETTER PHASE-D NJIEE;Lo;0;L;;;;;N;;;;;
+168F6;BAMUM LETTER PHASE-D LIEE;Lo;0;L;;;;;N;;;;;
+168F7;BAMUM LETTER PHASE-D NJEUT;Lo;0;L;;;;;N;;;;;
+168F8;BAMUM LETTER PHASE-D NSHEE;Lo;0;L;;;;;N;;;;;
+168F9;BAMUM LETTER PHASE-D NGGAAMAE;Lo;0;L;;;;;N;;;;;
+168FA;BAMUM LETTER PHASE-D NYAM;Lo;0;L;;;;;N;;;;;
+168FB;BAMUM LETTER PHASE-D WUAEN;Lo;0;L;;;;;N;;;;;
+168FC;BAMUM LETTER PHASE-D NGKUN;Lo;0;L;;;;;N;;;;;
+168FD;BAMUM LETTER PHASE-D SHEE;Lo;0;L;;;;;N;;;;;
+168FE;BAMUM LETTER PHASE-D NGKAP;Lo;0;L;;;;;N;;;;;
+168FF;BAMUM LETTER PHASE-D KEUAETMEUN;Lo;0;L;;;;;N;;;;;
+16900;BAMUM LETTER PHASE-D TEUT;Lo;0;L;;;;;N;;;;;
+16901;BAMUM LETTER PHASE-D SHEUAE;Lo;0;L;;;;;N;;;;;
+16902;BAMUM LETTER PHASE-D NJAP;Lo;0;L;;;;;N;;;;;
+16903;BAMUM LETTER PHASE-D SUE;Lo;0;L;;;;;N;;;;;
+16904;BAMUM LETTER PHASE-D KET;Lo;0;L;;;;;N;;;;;
+16905;BAMUM LETTER PHASE-D YAEMMAE;Lo;0;L;;;;;N;;;;;
+16906;BAMUM LETTER PHASE-D KUOM;Lo;0;L;;;;;N;;;;;
+16907;BAMUM LETTER PHASE-D SAP;Lo;0;L;;;;;N;;;;;
+16908;BAMUM LETTER PHASE-D MFEUT;Lo;0;L;;;;;N;;;;;
+16909;BAMUM LETTER PHASE-D NDEUX;Lo;0;L;;;;;N;;;;;
+1690A;BAMUM LETTER PHASE-D MALEERI;Lo;0;L;;;;;N;;;;;
+1690B;BAMUM LETTER PHASE-D MEUT;Lo;0;L;;;;;N;;;;;
+1690C;BAMUM LETTER PHASE-D SEUAEQ;Lo;0;L;;;;;N;;;;;
+1690D;BAMUM LETTER PHASE-D YEN;Lo;0;L;;;;;N;;;;;
+1690E;BAMUM LETTER PHASE-D NJEUAEM;Lo;0;L;;;;;N;;;;;
+1690F;BAMUM LETTER PHASE-D KEUOT MBUAE;Lo;0;L;;;;;N;;;;;
+16910;BAMUM LETTER PHASE-D NGKEURI;Lo;0;L;;;;;N;;;;;
+16911;BAMUM LETTER PHASE-D TU;Lo;0;L;;;;;N;;;;;
+16912;BAMUM LETTER PHASE-D GHAA;Lo;0;L;;;;;N;;;;;
+16913;BAMUM LETTER PHASE-D NGKYEE;Lo;0;L;;;;;N;;;;;
+16914;BAMUM LETTER PHASE-D FEUFEUAET;Lo;0;L;;;;;N;;;;;
+16915;BAMUM LETTER PHASE-D NDEE;Lo;0;L;;;;;N;;;;;
+16916;BAMUM LETTER PHASE-D MGBOFUM;Lo;0;L;;;;;N;;;;;
+16917;BAMUM LETTER PHASE-D LEUAEP;Lo;0;L;;;;;N;;;;;
+16918;BAMUM LETTER PHASE-D NDON;Lo;0;L;;;;;N;;;;;
+16919;BAMUM LETTER PHASE-D MONI;Lo;0;L;;;;;N;;;;;
+1691A;BAMUM LETTER PHASE-D MGBEUN;Lo;0;L;;;;;N;;;;;
+1691B;BAMUM LETTER PHASE-D PUUT;Lo;0;L;;;;;N;;;;;
+1691C;BAMUM LETTER PHASE-D MGBIEE;Lo;0;L;;;;;N;;;;;
+1691D;BAMUM LETTER PHASE-D MFO;Lo;0;L;;;;;N;;;;;
+1691E;BAMUM LETTER PHASE-D LUM;Lo;0;L;;;;;N;;;;;
+1691F;BAMUM LETTER PHASE-D NSIEEP;Lo;0;L;;;;;N;;;;;
+16920;BAMUM LETTER PHASE-D MBAA;Lo;0;L;;;;;N;;;;;
+16921;BAMUM LETTER PHASE-D KWAET;Lo;0;L;;;;;N;;;;;
+16922;BAMUM LETTER PHASE-D NYET;Lo;0;L;;;;;N;;;;;
+16923;BAMUM LETTER PHASE-D TEUAEN;Lo;0;L;;;;;N;;;;;
+16924;BAMUM LETTER PHASE-D SOT;Lo;0;L;;;;;N;;;;;
+16925;BAMUM LETTER PHASE-D YUWOQ;Lo;0;L;;;;;N;;;;;
+16926;BAMUM LETTER PHASE-D KEUM;Lo;0;L;;;;;N;;;;;
+16927;BAMUM LETTER PHASE-D RAEM;Lo;0;L;;;;;N;;;;;
+16928;BAMUM LETTER PHASE-D TEEEE;Lo;0;L;;;;;N;;;;;
+16929;BAMUM LETTER PHASE-D NGKEUAEQ;Lo;0;L;;;;;N;;;;;
+1692A;BAMUM LETTER PHASE-D MFEUAE;Lo;0;L;;;;;N;;;;;
+1692B;BAMUM LETTER PHASE-D NSIEET;Lo;0;L;;;;;N;;;;;
+1692C;BAMUM LETTER PHASE-D KEUP;Lo;0;L;;;;;N;;;;;
+1692D;BAMUM LETTER PHASE-D PIP;Lo;0;L;;;;;N;;;;;
+1692E;BAMUM LETTER PHASE-D PEUTAE;Lo;0;L;;;;;N;;;;;
+1692F;BAMUM LETTER PHASE-D NYUE;Lo;0;L;;;;;N;;;;;
+16930;BAMUM LETTER PHASE-D LET;Lo;0;L;;;;;N;;;;;
+16931;BAMUM LETTER PHASE-D NGGAAM;Lo;0;L;;;;;N;;;;;
+16932;BAMUM LETTER PHASE-D MFIEE;Lo;0;L;;;;;N;;;;;
+16933;BAMUM LETTER PHASE-D NGGWAEN;Lo;0;L;;;;;N;;;;;
+16934;BAMUM LETTER PHASE-D YUOM;Lo;0;L;;;;;N;;;;;
+16935;BAMUM LETTER PHASE-D PAP;Lo;0;L;;;;;N;;;;;
+16936;BAMUM LETTER PHASE-D YUOP;Lo;0;L;;;;;N;;;;;
+16937;BAMUM LETTER PHASE-D NDAM;Lo;0;L;;;;;N;;;;;
+16938;BAMUM LETTER PHASE-D NTEUM;Lo;0;L;;;;;N;;;;;
+16939;BAMUM LETTER PHASE-D SUAE;Lo;0;L;;;;;N;;;;;
+1693A;BAMUM LETTER PHASE-D KUN;Lo;0;L;;;;;N;;;;;
+1693B;BAMUM LETTER PHASE-D NGGEUX;Lo;0;L;;;;;N;;;;;
+1693C;BAMUM LETTER PHASE-D NGKIEE;Lo;0;L;;;;;N;;;;;
+1693D;BAMUM LETTER PHASE-D TUOT;Lo;0;L;;;;;N;;;;;
+1693E;BAMUM LETTER PHASE-D MEUN;Lo;0;L;;;;;N;;;;;
+1693F;BAMUM LETTER PHASE-D KUQ;Lo;0;L;;;;;N;;;;;
+16940;BAMUM LETTER PHASE-D NSUM;Lo;0;L;;;;;N;;;;;
+16941;BAMUM LETTER PHASE-D TEUN;Lo;0;L;;;;;N;;;;;
+16942;BAMUM LETTER PHASE-D MAENJET;Lo;0;L;;;;;N;;;;;
+16943;BAMUM LETTER PHASE-D NGGAP;Lo;0;L;;;;;N;;;;;
+16944;BAMUM LETTER PHASE-D LEUM;Lo;0;L;;;;;N;;;;;
+16945;BAMUM LETTER PHASE-D NGGUOM;Lo;0;L;;;;;N;;;;;
+16946;BAMUM LETTER PHASE-D NSHUT;Lo;0;L;;;;;N;;;;;
+16947;BAMUM LETTER PHASE-D NJUEQ;Lo;0;L;;;;;N;;;;;
+16948;BAMUM LETTER PHASE-D GHEUAE;Lo;0;L;;;;;N;;;;;
+16949;BAMUM LETTER PHASE-D KU;Lo;0;L;;;;;N;;;;;
+1694A;BAMUM LETTER PHASE-D REN OLD;Lo;0;L;;;;;N;;;;;
+1694B;BAMUM LETTER PHASE-D TAE;Lo;0;L;;;;;N;;;;;
+1694C;BAMUM LETTER PHASE-D TOQ;Lo;0;L;;;;;N;;;;;
+1694D;BAMUM LETTER PHASE-D NYI;Lo;0;L;;;;;N;;;;;
+1694E;BAMUM LETTER PHASE-D RII;Lo;0;L;;;;;N;;;;;
+1694F;BAMUM LETTER PHASE-D LEEEE;Lo;0;L;;;;;N;;;;;
+16950;BAMUM LETTER PHASE-D MEEEE;Lo;0;L;;;;;N;;;;;
+16951;BAMUM LETTER PHASE-D M;Lo;0;L;;;;;N;;;;;
+16952;BAMUM LETTER PHASE-D SUU;Lo;0;L;;;;;N;;;;;
+16953;BAMUM LETTER PHASE-D MU;Lo;0;L;;;;;N;;;;;
+16954;BAMUM LETTER PHASE-D SHII;Lo;0;L;;;;;N;;;;;
+16955;BAMUM LETTER PHASE-D SHEUX;Lo;0;L;;;;;N;;;;;
+16956;BAMUM LETTER PHASE-D KYEE;Lo;0;L;;;;;N;;;;;
+16957;BAMUM LETTER PHASE-D NU;Lo;0;L;;;;;N;;;;;
+16958;BAMUM LETTER PHASE-D SHU;Lo;0;L;;;;;N;;;;;
+16959;BAMUM LETTER PHASE-D NTEE;Lo;0;L;;;;;N;;;;;
+1695A;BAMUM LETTER PHASE-D PEE;Lo;0;L;;;;;N;;;;;
+1695B;BAMUM LETTER PHASE-D NI;Lo;0;L;;;;;N;;;;;
+1695C;BAMUM LETTER PHASE-D SHOQ;Lo;0;L;;;;;N;;;;;
+1695D;BAMUM LETTER PHASE-D PUQ;Lo;0;L;;;;;N;;;;;
+1695E;BAMUM LETTER PHASE-D MVOP;Lo;0;L;;;;;N;;;;;
+1695F;BAMUM LETTER PHASE-D LOQ;Lo;0;L;;;;;N;;;;;
+16960;BAMUM LETTER PHASE-D REN MUCH;Lo;0;L;;;;;N;;;;;
+16961;BAMUM LETTER PHASE-D TI;Lo;0;L;;;;;N;;;;;
+16962;BAMUM LETTER PHASE-D NTUU;Lo;0;L;;;;;N;;;;;
+16963;BAMUM LETTER PHASE-D MBAA SEVEN;Lo;0;L;;;;;N;;;;;
+16964;BAMUM LETTER PHASE-D SAQ;Lo;0;L;;;;;N;;;;;
+16965;BAMUM LETTER PHASE-D FAA;Lo;0;L;;;;;N;;;;;
+16966;BAMUM LETTER PHASE-E NDAP;Lo;0;L;;;;;N;;;;;
+16967;BAMUM LETTER PHASE-E TOON;Lo;0;L;;;;;N;;;;;
+16968;BAMUM LETTER PHASE-E MBEUM;Lo;0;L;;;;;N;;;;;
+16969;BAMUM LETTER PHASE-E LAP;Lo;0;L;;;;;N;;;;;
+1696A;BAMUM LETTER PHASE-E VOM;Lo;0;L;;;;;N;;;;;
+1696B;BAMUM LETTER PHASE-E LOON;Lo;0;L;;;;;N;;;;;
+1696C;BAMUM LETTER PHASE-E PAA;Lo;0;L;;;;;N;;;;;
+1696D;BAMUM LETTER PHASE-E SOM;Lo;0;L;;;;;N;;;;;
+1696E;BAMUM LETTER PHASE-E RAQ;Lo;0;L;;;;;N;;;;;
+1696F;BAMUM LETTER PHASE-E NSHUOP;Lo;0;L;;;;;N;;;;;
+16970;BAMUM LETTER PHASE-E NDUN;Lo;0;L;;;;;N;;;;;
+16971;BAMUM LETTER PHASE-E PUAE;Lo;0;L;;;;;N;;;;;
+16972;BAMUM LETTER PHASE-E TAM;Lo;0;L;;;;;N;;;;;
+16973;BAMUM LETTER PHASE-E NGKA;Lo;0;L;;;;;N;;;;;
+16974;BAMUM LETTER PHASE-E KPEUX;Lo;0;L;;;;;N;;;;;
+16975;BAMUM LETTER PHASE-E WUO;Lo;0;L;;;;;N;;;;;
+16976;BAMUM LETTER PHASE-E SEE;Lo;0;L;;;;;N;;;;;
+16977;BAMUM LETTER PHASE-E NGGEUAET;Lo;0;L;;;;;N;;;;;
+16978;BAMUM LETTER PHASE-E PAAM;Lo;0;L;;;;;N;;;;;
+16979;BAMUM LETTER PHASE-E TOO;Lo;0;L;;;;;N;;;;;
+1697A;BAMUM LETTER PHASE-E KUOP;Lo;0;L;;;;;N;;;;;
+1697B;BAMUM LETTER PHASE-E LOM;Lo;0;L;;;;;N;;;;;
+1697C;BAMUM LETTER PHASE-E NSHIEE;Lo;0;L;;;;;N;;;;;
+1697D;BAMUM LETTER PHASE-E NGOP;Lo;0;L;;;;;N;;;;;
+1697E;BAMUM LETTER PHASE-E MAEM;Lo;0;L;;;;;N;;;;;
+1697F;BAMUM LETTER PHASE-E NGKEUX;Lo;0;L;;;;;N;;;;;
+16980;BAMUM LETTER PHASE-E NGOQ;Lo;0;L;;;;;N;;;;;
+16981;BAMUM LETTER PHASE-E NSHUE;Lo;0;L;;;;;N;;;;;
+16982;BAMUM LETTER PHASE-E RIMGBA;Lo;0;L;;;;;N;;;;;
+16983;BAMUM LETTER PHASE-E NJEUX;Lo;0;L;;;;;N;;;;;
+16984;BAMUM LETTER PHASE-E PEEM;Lo;0;L;;;;;N;;;;;
+16985;BAMUM LETTER PHASE-E SAA;Lo;0;L;;;;;N;;;;;
+16986;BAMUM LETTER PHASE-E NGGURAE;Lo;0;L;;;;;N;;;;;
+16987;BAMUM LETTER PHASE-E MGBA;Lo;0;L;;;;;N;;;;;
+16988;BAMUM LETTER PHASE-E GHEUX;Lo;0;L;;;;;N;;;;;
+16989;BAMUM LETTER PHASE-E NGKEUAEM;Lo;0;L;;;;;N;;;;;
+1698A;BAMUM LETTER PHASE-E NJAEMLI;Lo;0;L;;;;;N;;;;;
+1698B;BAMUM LETTER PHASE-E MAP;Lo;0;L;;;;;N;;;;;
+1698C;BAMUM LETTER PHASE-E LOOT;Lo;0;L;;;;;N;;;;;
+1698D;BAMUM LETTER PHASE-E NGGEEEE;Lo;0;L;;;;;N;;;;;
+1698E;BAMUM LETTER PHASE-E NDIQ;Lo;0;L;;;;;N;;;;;
+1698F;BAMUM LETTER PHASE-E TAEN NTEUM;Lo;0;L;;;;;N;;;;;
+16990;BAMUM LETTER PHASE-E SET;Lo;0;L;;;;;N;;;;;
+16991;BAMUM LETTER PHASE-E PUM;Lo;0;L;;;;;N;;;;;
+16992;BAMUM LETTER PHASE-E NDAA SOFTNESS;Lo;0;L;;;;;N;;;;;
+16993;BAMUM LETTER PHASE-E NGGUAESHAE NYAM;Lo;0;L;;;;;N;;;;;
+16994;BAMUM LETTER PHASE-E YIEE;Lo;0;L;;;;;N;;;;;
+16995;BAMUM LETTER PHASE-E GHEUN;Lo;0;L;;;;;N;;;;;
+16996;BAMUM LETTER PHASE-E TUAE;Lo;0;L;;;;;N;;;;;
+16997;BAMUM LETTER PHASE-E YEUAE;Lo;0;L;;;;;N;;;;;
+16998;BAMUM LETTER PHASE-E PO;Lo;0;L;;;;;N;;;;;
+16999;BAMUM LETTER PHASE-E TUMAE;Lo;0;L;;;;;N;;;;;
+1699A;BAMUM LETTER PHASE-E KEUAE;Lo;0;L;;;;;N;;;;;
+1699B;BAMUM LETTER PHASE-E SUAEN;Lo;0;L;;;;;N;;;;;
+1699C;BAMUM LETTER PHASE-E TEUAEQ;Lo;0;L;;;;;N;;;;;
+1699D;BAMUM LETTER PHASE-E VEUAE;Lo;0;L;;;;;N;;;;;
+1699E;BAMUM LETTER PHASE-E WEUX;Lo;0;L;;;;;N;;;;;
+1699F;BAMUM LETTER PHASE-E LAAM;Lo;0;L;;;;;N;;;;;
+169A0;BAMUM LETTER PHASE-E PU;Lo;0;L;;;;;N;;;;;
+169A1;BAMUM LETTER PHASE-E TAAQ;Lo;0;L;;;;;N;;;;;
+169A2;BAMUM LETTER PHASE-E GHAAMAE;Lo;0;L;;;;;N;;;;;
+169A3;BAMUM LETTER PHASE-E NGEUREUT;Lo;0;L;;;;;N;;;;;
+169A4;BAMUM LETTER PHASE-E SHEUAEQ;Lo;0;L;;;;;N;;;;;
+169A5;BAMUM LETTER PHASE-E MGBEN;Lo;0;L;;;;;N;;;;;
+169A6;BAMUM LETTER PHASE-E MBEE;Lo;0;L;;;;;N;;;;;
+169A7;BAMUM LETTER PHASE-E NZAQ;Lo;0;L;;;;;N;;;;;
+169A8;BAMUM LETTER PHASE-E NKOM;Lo;0;L;;;;;N;;;;;
+169A9;BAMUM LETTER PHASE-E GBET;Lo;0;L;;;;;N;;;;;
+169AA;BAMUM LETTER PHASE-E TUM;Lo;0;L;;;;;N;;;;;
+169AB;BAMUM LETTER PHASE-E KUET;Lo;0;L;;;;;N;;;;;
+169AC;BAMUM LETTER PHASE-E YAP;Lo;0;L;;;;;N;;;;;
+169AD;BAMUM LETTER PHASE-E NYI CLEAVER;Lo;0;L;;;;;N;;;;;
+169AE;BAMUM LETTER PHASE-E YIT;Lo;0;L;;;;;N;;;;;
+169AF;BAMUM LETTER PHASE-E MFEUQ;Lo;0;L;;;;;N;;;;;
+169B0;BAMUM LETTER PHASE-E NDIAQ;Lo;0;L;;;;;N;;;;;
+169B1;BAMUM LETTER PHASE-E PIEEQ;Lo;0;L;;;;;N;;;;;
+169B2;BAMUM LETTER PHASE-E YUEQ;Lo;0;L;;;;;N;;;;;
+169B3;BAMUM LETTER PHASE-E LEUAEM;Lo;0;L;;;;;N;;;;;
+169B4;BAMUM LETTER PHASE-E FUE;Lo;0;L;;;;;N;;;;;
+169B5;BAMUM LETTER PHASE-E GBEUX;Lo;0;L;;;;;N;;;;;
+169B6;BAMUM LETTER PHASE-E NGKUP;Lo;0;L;;;;;N;;;;;
+169B7;BAMUM LETTER PHASE-E KET;Lo;0;L;;;;;N;;;;;
+169B8;BAMUM LETTER PHASE-E MAE;Lo;0;L;;;;;N;;;;;
+169B9;BAMUM LETTER PHASE-E NGKAAMI;Lo;0;L;;;;;N;;;;;
+169BA;BAMUM LETTER PHASE-E GHET;Lo;0;L;;;;;N;;;;;
+169BB;BAMUM LETTER PHASE-E FA;Lo;0;L;;;;;N;;;;;
+169BC;BAMUM LETTER PHASE-E NTUM;Lo;0;L;;;;;N;;;;;
+169BD;BAMUM LETTER PHASE-E PEUT;Lo;0;L;;;;;N;;;;;
+169BE;BAMUM LETTER PHASE-E YEUM;Lo;0;L;;;;;N;;;;;
+169BF;BAMUM LETTER PHASE-E NGGEUAE;Lo;0;L;;;;;N;;;;;
+169C0;BAMUM LETTER PHASE-E NYI BETWEEN;Lo;0;L;;;;;N;;;;;
+169C1;BAMUM LETTER PHASE-E NZUQ;Lo;0;L;;;;;N;;;;;
+169C2;BAMUM LETTER PHASE-E POON;Lo;0;L;;;;;N;;;;;
+169C3;BAMUM LETTER PHASE-E MIEE;Lo;0;L;;;;;N;;;;;
+169C4;BAMUM LETTER PHASE-E FUET;Lo;0;L;;;;;N;;;;;
+169C5;BAMUM LETTER PHASE-E NAE;Lo;0;L;;;;;N;;;;;
+169C6;BAMUM LETTER PHASE-E MUAE;Lo;0;L;;;;;N;;;;;
+169C7;BAMUM LETTER PHASE-E GHEUAE;Lo;0;L;;;;;N;;;;;
+169C8;BAMUM LETTER PHASE-E FU I;Lo;0;L;;;;;N;;;;;
+169C9;BAMUM LETTER PHASE-E MVI;Lo;0;L;;;;;N;;;;;
+169CA;BAMUM LETTER PHASE-E PUAQ;Lo;0;L;;;;;N;;;;;
+169CB;BAMUM LETTER PHASE-E NGKUM;Lo;0;L;;;;;N;;;;;
+169CC;BAMUM LETTER PHASE-E KUT;Lo;0;L;;;;;N;;;;;
+169CD;BAMUM LETTER PHASE-E PIET;Lo;0;L;;;;;N;;;;;
+169CE;BAMUM LETTER PHASE-E NTAP;Lo;0;L;;;;;N;;;;;
+169CF;BAMUM LETTER PHASE-E YEUAET;Lo;0;L;;;;;N;;;;;
+169D0;BAMUM LETTER PHASE-E NGGUP;Lo;0;L;;;;;N;;;;;
+169D1;BAMUM LETTER PHASE-E PA PEOPLE;Lo;0;L;;;;;N;;;;;
+169D2;BAMUM LETTER PHASE-E FU CALL;Lo;0;L;;;;;N;;;;;
+169D3;BAMUM LETTER PHASE-E FOM;Lo;0;L;;;;;N;;;;;
+169D4;BAMUM LETTER PHASE-E NJEE;Lo;0;L;;;;;N;;;;;
+169D5;BAMUM LETTER PHASE-E A;Lo;0;L;;;;;N;;;;;
+169D6;BAMUM LETTER PHASE-E TOQ;Lo;0;L;;;;;N;;;;;
+169D7;BAMUM LETTER PHASE-E O;Lo;0;L;;;;;N;;;;;
+169D8;BAMUM LETTER PHASE-E I;Lo;0;L;;;;;N;;;;;
+169D9;BAMUM LETTER PHASE-E LAQ;Lo;0;L;;;;;N;;;;;
+169DA;BAMUM LETTER PHASE-E PA PLURAL;Lo;0;L;;;;;N;;;;;
+169DB;BAMUM LETTER PHASE-E TAA;Lo;0;L;;;;;N;;;;;
+169DC;BAMUM LETTER PHASE-E TAQ;Lo;0;L;;;;;N;;;;;
+169DD;BAMUM LETTER PHASE-E NDAA MY HOUSE;Lo;0;L;;;;;N;;;;;
+169DE;BAMUM LETTER PHASE-E SHIQ;Lo;0;L;;;;;N;;;;;
+169DF;BAMUM LETTER PHASE-E YEUX;Lo;0;L;;;;;N;;;;;
+169E0;BAMUM LETTER PHASE-E NGUAE;Lo;0;L;;;;;N;;;;;
+169E1;BAMUM LETTER PHASE-E YUAEN;Lo;0;L;;;;;N;;;;;
+169E2;BAMUM LETTER PHASE-E YOQ SWIMMING;Lo;0;L;;;;;N;;;;;
+169E3;BAMUM LETTER PHASE-E YOQ COVER;Lo;0;L;;;;;N;;;;;
+169E4;BAMUM LETTER PHASE-E YUQ;Lo;0;L;;;;;N;;;;;
+169E5;BAMUM LETTER PHASE-E YUN;Lo;0;L;;;;;N;;;;;
+169E6;BAMUM LETTER PHASE-E KEUX;Lo;0;L;;;;;N;;;;;
+169E7;BAMUM LETTER PHASE-E PEUX;Lo;0;L;;;;;N;;;;;
+169E8;BAMUM LETTER PHASE-E NJEE EPOCH;Lo;0;L;;;;;N;;;;;
+169E9;BAMUM LETTER PHASE-E PUE;Lo;0;L;;;;;N;;;;;
+169EA;BAMUM LETTER PHASE-E WUE;Lo;0;L;;;;;N;;;;;
+169EB;BAMUM LETTER PHASE-E FEE;Lo;0;L;;;;;N;;;;;
+169EC;BAMUM LETTER PHASE-E VEE;Lo;0;L;;;;;N;;;;;
+169ED;BAMUM LETTER PHASE-E LU;Lo;0;L;;;;;N;;;;;
+169EE;BAMUM LETTER PHASE-E MI;Lo;0;L;;;;;N;;;;;
+169EF;BAMUM LETTER PHASE-E REUX;Lo;0;L;;;;;N;;;;;
+169F0;BAMUM LETTER PHASE-E RAE;Lo;0;L;;;;;N;;;;;
+169F1;BAMUM LETTER PHASE-E NGUAET;Lo;0;L;;;;;N;;;;;
+169F2;BAMUM LETTER PHASE-E NGA;Lo;0;L;;;;;N;;;;;
+169F3;BAMUM LETTER PHASE-E SHO;Lo;0;L;;;;;N;;;;;
+169F4;BAMUM LETTER PHASE-E SHOQ;Lo;0;L;;;;;N;;;;;
+169F5;BAMUM LETTER PHASE-E FU REMEDY;Lo;0;L;;;;;N;;;;;
+169F6;BAMUM LETTER PHASE-E NA;Lo;0;L;;;;;N;;;;;
+169F7;BAMUM LETTER PHASE-E PI;Lo;0;L;;;;;N;;;;;
+169F8;BAMUM LETTER PHASE-E LOQ;Lo;0;L;;;;;N;;;;;
+169F9;BAMUM LETTER PHASE-E KO;Lo;0;L;;;;;N;;;;;
+169FA;BAMUM LETTER PHASE-E MEN;Lo;0;L;;;;;N;;;;;
+169FB;BAMUM LETTER PHASE-E MA;Lo;0;L;;;;;N;;;;;
+169FC;BAMUM LETTER PHASE-E MAQ;Lo;0;L;;;;;N;;;;;
+169FD;BAMUM LETTER PHASE-E TEU;Lo;0;L;;;;;N;;;;;
+169FE;BAMUM LETTER PHASE-E KI;Lo;0;L;;;;;N;;;;;
+169FF;BAMUM LETTER PHASE-E MON;Lo;0;L;;;;;N;;;;;
+16A00;BAMUM LETTER PHASE-E TEN;Lo;0;L;;;;;N;;;;;
+16A01;BAMUM LETTER PHASE-E FAQ;Lo;0;L;;;;;N;;;;;
+16A02;BAMUM LETTER PHASE-E GHOM;Lo;0;L;;;;;N;;;;;
+16A03;BAMUM LETTER PHASE-F KA;Lo;0;L;;;;;N;;;;;
+16A04;BAMUM LETTER PHASE-F U;Lo;0;L;;;;;N;;;;;
+16A05;BAMUM LETTER PHASE-F KU;Lo;0;L;;;;;N;;;;;
+16A06;BAMUM LETTER PHASE-F EE;Lo;0;L;;;;;N;;;;;
+16A07;BAMUM LETTER PHASE-F REE;Lo;0;L;;;;;N;;;;;
+16A08;BAMUM LETTER PHASE-F TAE;Lo;0;L;;;;;N;;;;;
+16A09;BAMUM LETTER PHASE-F NYI;Lo;0;L;;;;;N;;;;;
+16A0A;BAMUM LETTER PHASE-F LA;Lo;0;L;;;;;N;;;;;
+16A0B;BAMUM LETTER PHASE-F RII;Lo;0;L;;;;;N;;;;;
+16A0C;BAMUM LETTER PHASE-F RIEE;Lo;0;L;;;;;N;;;;;
+16A0D;BAMUM LETTER PHASE-F MEEEE;Lo;0;L;;;;;N;;;;;
+16A0E;BAMUM LETTER PHASE-F TAA;Lo;0;L;;;;;N;;;;;
+16A0F;BAMUM LETTER PHASE-F NDAA;Lo;0;L;;;;;N;;;;;
+16A10;BAMUM LETTER PHASE-F NJAEM;Lo;0;L;;;;;N;;;;;
+16A11;BAMUM LETTER PHASE-F M;Lo;0;L;;;;;N;;;;;
+16A12;BAMUM LETTER PHASE-F SUU;Lo;0;L;;;;;N;;;;;
+16A13;BAMUM LETTER PHASE-F SHII;Lo;0;L;;;;;N;;;;;
+16A14;BAMUM LETTER PHASE-F SI;Lo;0;L;;;;;N;;;;;
+16A15;BAMUM LETTER PHASE-F SEUX;Lo;0;L;;;;;N;;;;;
+16A16;BAMUM LETTER PHASE-F KYEE;Lo;0;L;;;;;N;;;;;
+16A17;BAMUM LETTER PHASE-F KET;Lo;0;L;;;;;N;;;;;
+16A18;BAMUM LETTER PHASE-F NUAE;Lo;0;L;;;;;N;;;;;
+16A19;BAMUM LETTER PHASE-F NU;Lo;0;L;;;;;N;;;;;
+16A1A;BAMUM LETTER PHASE-F NJUAE;Lo;0;L;;;;;N;;;;;
+16A1B;BAMUM LETTER PHASE-F YOQ;Lo;0;L;;;;;N;;;;;
+16A1C;BAMUM LETTER PHASE-F SHU;Lo;0;L;;;;;N;;;;;
+16A1D;BAMUM LETTER PHASE-F YA;Lo;0;L;;;;;N;;;;;
+16A1E;BAMUM LETTER PHASE-F NSHA;Lo;0;L;;;;;N;;;;;
+16A1F;BAMUM LETTER PHASE-F PEUX;Lo;0;L;;;;;N;;;;;
+16A20;BAMUM LETTER PHASE-F NTEE;Lo;0;L;;;;;N;;;;;
+16A21;BAMUM LETTER PHASE-F WUE;Lo;0;L;;;;;N;;;;;
+16A22;BAMUM LETTER PHASE-F PEE;Lo;0;L;;;;;N;;;;;
+16A23;BAMUM LETTER PHASE-F RU;Lo;0;L;;;;;N;;;;;
+16A24;BAMUM LETTER PHASE-F NI;Lo;0;L;;;;;N;;;;;
+16A25;BAMUM LETTER PHASE-F REUX;Lo;0;L;;;;;N;;;;;
+16A26;BAMUM LETTER PHASE-F KEN;Lo;0;L;;;;;N;;;;;
+16A27;BAMUM LETTER PHASE-F NGKWAEN;Lo;0;L;;;;;N;;;;;
+16A28;BAMUM LETTER PHASE-F NGGA;Lo;0;L;;;;;N;;;;;
+16A29;BAMUM LETTER PHASE-F SHO;Lo;0;L;;;;;N;;;;;
+16A2A;BAMUM LETTER PHASE-F PUAE;Lo;0;L;;;;;N;;;;;
+16A2B;BAMUM LETTER PHASE-F FOM;Lo;0;L;;;;;N;;;;;
+16A2C;BAMUM LETTER PHASE-F WA;Lo;0;L;;;;;N;;;;;
+16A2D;BAMUM LETTER PHASE-F LI;Lo;0;L;;;;;N;;;;;
+16A2E;BAMUM LETTER PHASE-F LOQ;Lo;0;L;;;;;N;;;;;
+16A2F;BAMUM LETTER PHASE-F KO;Lo;0;L;;;;;N;;;;;
+16A30;BAMUM LETTER PHASE-F MBEN;Lo;0;L;;;;;N;;;;;
+16A31;BAMUM LETTER PHASE-F REN;Lo;0;L;;;;;N;;;;;
+16A32;BAMUM LETTER PHASE-F MA;Lo;0;L;;;;;N;;;;;
+16A33;BAMUM LETTER PHASE-F MO;Lo;0;L;;;;;N;;;;;
+16A34;BAMUM LETTER PHASE-F MBAA;Lo;0;L;;;;;N;;;;;
+16A35;BAMUM LETTER PHASE-F TET;Lo;0;L;;;;;N;;;;;
+16A36;BAMUM LETTER PHASE-F KPA;Lo;0;L;;;;;N;;;;;
+16A37;BAMUM LETTER PHASE-F SAMBA;Lo;0;L;;;;;N;;;;;
+16A38;BAMUM LETTER PHASE-F VUEQ;Lo;0;L;;;;;N;;;;;
+16A40;MRO LETTER TA;Lo;0;L;;;;;N;;;;;
+16A41;MRO LETTER NGI;Lo;0;L;;;;;N;;;;;
+16A42;MRO LETTER YO;Lo;0;L;;;;;N;;;;;
+16A43;MRO LETTER MIM;Lo;0;L;;;;;N;;;;;
+16A44;MRO LETTER BA;Lo;0;L;;;;;N;;;;;
+16A45;MRO LETTER DA;Lo;0;L;;;;;N;;;;;
+16A46;MRO LETTER A;Lo;0;L;;;;;N;;;;;
+16A47;MRO LETTER PHI;Lo;0;L;;;;;N;;;;;
+16A48;MRO LETTER KHAI;Lo;0;L;;;;;N;;;;;
+16A49;MRO LETTER HAO;Lo;0;L;;;;;N;;;;;
+16A4A;MRO LETTER DAI;Lo;0;L;;;;;N;;;;;
+16A4B;MRO LETTER CHU;Lo;0;L;;;;;N;;;;;
+16A4C;MRO LETTER KEAAE;Lo;0;L;;;;;N;;;;;
+16A4D;MRO LETTER OL;Lo;0;L;;;;;N;;;;;
+16A4E;MRO LETTER MAEM;Lo;0;L;;;;;N;;;;;
+16A4F;MRO LETTER NIN;Lo;0;L;;;;;N;;;;;
+16A50;MRO LETTER PA;Lo;0;L;;;;;N;;;;;
+16A51;MRO LETTER OO;Lo;0;L;;;;;N;;;;;
+16A52;MRO LETTER O;Lo;0;L;;;;;N;;;;;
+16A53;MRO LETTER RO;Lo;0;L;;;;;N;;;;;
+16A54;MRO LETTER SHI;Lo;0;L;;;;;N;;;;;
+16A55;MRO LETTER THEA;Lo;0;L;;;;;N;;;;;
+16A56;MRO LETTER EA;Lo;0;L;;;;;N;;;;;
+16A57;MRO LETTER WA;Lo;0;L;;;;;N;;;;;
+16A58;MRO LETTER E;Lo;0;L;;;;;N;;;;;
+16A59;MRO LETTER KO;Lo;0;L;;;;;N;;;;;
+16A5A;MRO LETTER LAN;Lo;0;L;;;;;N;;;;;
+16A5B;MRO LETTER LA;Lo;0;L;;;;;N;;;;;
+16A5C;MRO LETTER HAI;Lo;0;L;;;;;N;;;;;
+16A5D;MRO LETTER RI;Lo;0;L;;;;;N;;;;;
+16A5E;MRO LETTER TEK;Lo;0;L;;;;;N;;;;;
+16A60;MRO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+16A61;MRO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+16A62;MRO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+16A63;MRO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+16A64;MRO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+16A65;MRO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+16A66;MRO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+16A67;MRO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+16A68;MRO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+16A69;MRO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+16A6E;MRO DANDA;Po;0;L;;;;;N;;;;;
+16A6F;MRO DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+16AD0;BASSA VAH LETTER ENNI;Lo;0;L;;;;;N;;;;;
+16AD1;BASSA VAH LETTER KA;Lo;0;L;;;;;N;;;;;
+16AD2;BASSA VAH LETTER SE;Lo;0;L;;;;;N;;;;;
+16AD3;BASSA VAH LETTER FA;Lo;0;L;;;;;N;;;;;
+16AD4;BASSA VAH LETTER MBE;Lo;0;L;;;;;N;;;;;
+16AD5;BASSA VAH LETTER YIE;Lo;0;L;;;;;N;;;;;
+16AD6;BASSA VAH LETTER GAH;Lo;0;L;;;;;N;;;;;
+16AD7;BASSA VAH LETTER DHII;Lo;0;L;;;;;N;;;;;
+16AD8;BASSA VAH LETTER KPAH;Lo;0;L;;;;;N;;;;;
+16AD9;BASSA VAH LETTER JO;Lo;0;L;;;;;N;;;;;
+16ADA;BASSA VAH LETTER HWAH;Lo;0;L;;;;;N;;;;;
+16ADB;BASSA VAH LETTER WA;Lo;0;L;;;;;N;;;;;
+16ADC;BASSA VAH LETTER ZO;Lo;0;L;;;;;N;;;;;
+16ADD;BASSA VAH LETTER GBU;Lo;0;L;;;;;N;;;;;
+16ADE;BASSA VAH LETTER DO;Lo;0;L;;;;;N;;;;;
+16ADF;BASSA VAH LETTER CE;Lo;0;L;;;;;N;;;;;
+16AE0;BASSA VAH LETTER UWU;Lo;0;L;;;;;N;;;;;
+16AE1;BASSA VAH LETTER TO;Lo;0;L;;;;;N;;;;;
+16AE2;BASSA VAH LETTER BA;Lo;0;L;;;;;N;;;;;
+16AE3;BASSA VAH LETTER VU;Lo;0;L;;;;;N;;;;;
+16AE4;BASSA VAH LETTER YEIN;Lo;0;L;;;;;N;;;;;
+16AE5;BASSA VAH LETTER PA;Lo;0;L;;;;;N;;;;;
+16AE6;BASSA VAH LETTER WADDA;Lo;0;L;;;;;N;;;;;
+16AE7;BASSA VAH LETTER A;Lo;0;L;;;;;N;;;;;
+16AE8;BASSA VAH LETTER O;Lo;0;L;;;;;N;;;;;
+16AE9;BASSA VAH LETTER OO;Lo;0;L;;;;;N;;;;;
+16AEA;BASSA VAH LETTER U;Lo;0;L;;;;;N;;;;;
+16AEB;BASSA VAH LETTER EE;Lo;0;L;;;;;N;;;;;
+16AEC;BASSA VAH LETTER E;Lo;0;L;;;;;N;;;;;
+16AED;BASSA VAH LETTER I;Lo;0;L;;;;;N;;;;;
+16AF0;BASSA VAH COMBINING HIGH TONE;Mn;1;NSM;;;;;N;;;;;
+16AF1;BASSA VAH COMBINING LOW TONE;Mn;1;NSM;;;;;N;;;;;
+16AF2;BASSA VAH COMBINING MID TONE;Mn;1;NSM;;;;;N;;;;;
+16AF3;BASSA VAH COMBINING LOW-MID TONE;Mn;1;NSM;;;;;N;;;;;
+16AF4;BASSA VAH COMBINING HIGH-LOW TONE;Mn;1;NSM;;;;;N;;;;;
+16AF5;BASSA VAH FULL STOP;Po;0;L;;;;;N;;;;;
+16B00;PAHAWH HMONG VOWEL KEEB;Lo;0;L;;;;;N;;;;;
+16B01;PAHAWH HMONG VOWEL KEEV;Lo;0;L;;;;;N;;;;;
+16B02;PAHAWH HMONG VOWEL KIB;Lo;0;L;;;;;N;;;;;
+16B03;PAHAWH HMONG VOWEL KIV;Lo;0;L;;;;;N;;;;;
+16B04;PAHAWH HMONG VOWEL KAUB;Lo;0;L;;;;;N;;;;;
+16B05;PAHAWH HMONG VOWEL KAUV;Lo;0;L;;;;;N;;;;;
+16B06;PAHAWH HMONG VOWEL KUB;Lo;0;L;;;;;N;;;;;
+16B07;PAHAWH HMONG VOWEL KUV;Lo;0;L;;;;;N;;;;;
+16B08;PAHAWH HMONG VOWEL KEB;Lo;0;L;;;;;N;;;;;
+16B09;PAHAWH HMONG VOWEL KEV;Lo;0;L;;;;;N;;;;;
+16B0A;PAHAWH HMONG VOWEL KAIB;Lo;0;L;;;;;N;;;;;
+16B0B;PAHAWH HMONG VOWEL KAIV;Lo;0;L;;;;;N;;;;;
+16B0C;PAHAWH HMONG VOWEL KOOB;Lo;0;L;;;;;N;;;;;
+16B0D;PAHAWH HMONG VOWEL KOOV;Lo;0;L;;;;;N;;;;;
+16B0E;PAHAWH HMONG VOWEL KAWB;Lo;0;L;;;;;N;;;;;
+16B0F;PAHAWH HMONG VOWEL KAWV;Lo;0;L;;;;;N;;;;;
+16B10;PAHAWH HMONG VOWEL KUAB;Lo;0;L;;;;;N;;;;;
+16B11;PAHAWH HMONG VOWEL KUAV;Lo;0;L;;;;;N;;;;;
+16B12;PAHAWH HMONG VOWEL KOB;Lo;0;L;;;;;N;;;;;
+16B13;PAHAWH HMONG VOWEL KOV;Lo;0;L;;;;;N;;;;;
+16B14;PAHAWH HMONG VOWEL KIAB;Lo;0;L;;;;;N;;;;;
+16B15;PAHAWH HMONG VOWEL KIAV;Lo;0;L;;;;;N;;;;;
+16B16;PAHAWH HMONG VOWEL KAB;Lo;0;L;;;;;N;;;;;
+16B17;PAHAWH HMONG VOWEL KAV;Lo;0;L;;;;;N;;;;;
+16B18;PAHAWH HMONG VOWEL KWB;Lo;0;L;;;;;N;;;;;
+16B19;PAHAWH HMONG VOWEL KWV;Lo;0;L;;;;;N;;;;;
+16B1A;PAHAWH HMONG VOWEL KAAB;Lo;0;L;;;;;N;;;;;
+16B1B;PAHAWH HMONG VOWEL KAAV;Lo;0;L;;;;;N;;;;;
+16B1C;PAHAWH HMONG CONSONANT VAU;Lo;0;L;;;;;N;;;;;
+16B1D;PAHAWH HMONG CONSONANT NTSAU;Lo;0;L;;;;;N;;;;;
+16B1E;PAHAWH HMONG CONSONANT LAU;Lo;0;L;;;;;N;;;;;
+16B1F;PAHAWH HMONG CONSONANT HAU;Lo;0;L;;;;;N;;;;;
+16B20;PAHAWH HMONG CONSONANT NLAU;Lo;0;L;;;;;N;;;;;
+16B21;PAHAWH HMONG CONSONANT RAU;Lo;0;L;;;;;N;;;;;
+16B22;PAHAWH HMONG CONSONANT NKAU;Lo;0;L;;;;;N;;;;;
+16B23;PAHAWH HMONG CONSONANT QHAU;Lo;0;L;;;;;N;;;;;
+16B24;PAHAWH HMONG CONSONANT YAU;Lo;0;L;;;;;N;;;;;
+16B25;PAHAWH HMONG CONSONANT HLAU;Lo;0;L;;;;;N;;;;;
+16B26;PAHAWH HMONG CONSONANT MAU;Lo;0;L;;;;;N;;;;;
+16B27;PAHAWH HMONG CONSONANT CHAU;Lo;0;L;;;;;N;;;;;
+16B28;PAHAWH HMONG CONSONANT NCHAU;Lo;0;L;;;;;N;;;;;
+16B29;PAHAWH HMONG CONSONANT HNAU;Lo;0;L;;;;;N;;;;;
+16B2A;PAHAWH HMONG CONSONANT PLHAU;Lo;0;L;;;;;N;;;;;
+16B2B;PAHAWH HMONG CONSONANT NTHAU;Lo;0;L;;;;;N;;;;;
+16B2C;PAHAWH HMONG CONSONANT NAU;Lo;0;L;;;;;N;;;;;
+16B2D;PAHAWH HMONG CONSONANT AU;Lo;0;L;;;;;N;;;;;
+16B2E;PAHAWH HMONG CONSONANT XAU;Lo;0;L;;;;;N;;;;;
+16B2F;PAHAWH HMONG CONSONANT CAU;Lo;0;L;;;;;N;;;;;
+16B30;PAHAWH HMONG MARK CIM TUB;Mn;230;NSM;;;;;N;;;;;
+16B31;PAHAWH HMONG MARK CIM SO;Mn;230;NSM;;;;;N;;;;;
+16B32;PAHAWH HMONG MARK CIM KES;Mn;230;NSM;;;;;N;;;;;
+16B33;PAHAWH HMONG MARK CIM KHAV;Mn;230;NSM;;;;;N;;;;;
+16B34;PAHAWH HMONG MARK CIM SUAM;Mn;230;NSM;;;;;N;;;;;
+16B35;PAHAWH HMONG MARK CIM HOM;Mn;230;NSM;;;;;N;;;;;
+16B36;PAHAWH HMONG MARK CIM TAUM;Mn;230;NSM;;;;;N;;;;;
+16B37;PAHAWH HMONG SIGN VOS THOM;Po;0;L;;;;;N;;;;;
+16B38;PAHAWH HMONG SIGN VOS TSHAB CEEB;Po;0;L;;;;;N;;;;;
+16B39;PAHAWH HMONG SIGN CIM CHEEM;Po;0;L;;;;;N;;;;;
+16B3A;PAHAWH HMONG SIGN VOS THIAB;Po;0;L;;;;;N;;;;;
+16B3B;PAHAWH HMONG SIGN VOS FEEM;Po;0;L;;;;;N;;;;;
+16B3C;PAHAWH HMONG SIGN XYEEM NTXIV;So;0;L;;;;;N;;;;;
+16B3D;PAHAWH HMONG SIGN XYEEM RHO;So;0;L;;;;;N;;;;;
+16B3E;PAHAWH HMONG SIGN XYEEM TOV;So;0;L;;;;;N;;;;;
+16B3F;PAHAWH HMONG SIGN XYEEM FAIB;So;0;L;;;;;N;;;;;
+16B40;PAHAWH HMONG SIGN VOS SEEV;Lm;0;L;;;;;N;;;;;
+16B41;PAHAWH HMONG SIGN MEEJ SUAB;Lm;0;L;;;;;N;;;;;
+16B42;PAHAWH HMONG SIGN VOS NRUA;Lm;0;L;;;;;N;;;;;
+16B43;PAHAWH HMONG SIGN IB YAM;Lm;0;L;;;;;N;;;;;
+16B44;PAHAWH HMONG SIGN XAUS;Po;0;L;;;;;N;;;;;
+16B45;PAHAWH HMONG SIGN CIM TSOV ROG;So;0;L;;;;;N;;;;;
+16B50;PAHAWH HMONG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+16B51;PAHAWH HMONG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+16B52;PAHAWH HMONG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+16B53;PAHAWH HMONG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+16B54;PAHAWH HMONG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+16B55;PAHAWH HMONG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+16B56;PAHAWH HMONG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+16B57;PAHAWH HMONG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+16B58;PAHAWH HMONG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+16B59;PAHAWH HMONG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+16B5B;PAHAWH HMONG NUMBER TENS;No;0;L;;;;10;N;;;;;
+16B5C;PAHAWH HMONG NUMBER HUNDREDS;No;0;L;;;;100;N;;;;;
+16B5D;PAHAWH HMONG NUMBER TEN THOUSANDS;No;0;L;;;;10000;N;;;;;
+16B5E;PAHAWH HMONG NUMBER MILLIONS;No;0;L;;;;1000000;N;;;;;
+16B5F;PAHAWH HMONG NUMBER HUNDRED MILLIONS;No;0;L;;;;100000000;N;;;;;
+16B60;PAHAWH HMONG NUMBER TEN BILLIONS;No;0;L;;;;10000000000;N;;;;;
+16B61;PAHAWH HMONG NUMBER TRILLIONS;No;0;L;;;;1000000000000;N;;;;;
+16B63;PAHAWH HMONG SIGN VOS LUB;Lo;0;L;;;;;N;;;;;
+16B64;PAHAWH HMONG SIGN XYOO;Lo;0;L;;;;;N;;;;;
+16B65;PAHAWH HMONG SIGN HLI;Lo;0;L;;;;;N;;;;;
+16B66;PAHAWH HMONG SIGN THIRD-STAGE HLI;Lo;0;L;;;;;N;;;;;
+16B67;PAHAWH HMONG SIGN ZWJ THAJ;Lo;0;L;;;;;N;;;;;
+16B68;PAHAWH HMONG SIGN HNUB;Lo;0;L;;;;;N;;;;;
+16B69;PAHAWH HMONG SIGN NQIG;Lo;0;L;;;;;N;;;;;
+16B6A;PAHAWH HMONG SIGN XIAB;Lo;0;L;;;;;N;;;;;
+16B6B;PAHAWH HMONG SIGN NTUJ;Lo;0;L;;;;;N;;;;;
+16B6C;PAHAWH HMONG SIGN AV;Lo;0;L;;;;;N;;;;;
+16B6D;PAHAWH HMONG SIGN TXHEEJ CEEV;Lo;0;L;;;;;N;;;;;
+16B6E;PAHAWH HMONG SIGN MEEJ TSEEB;Lo;0;L;;;;;N;;;;;
+16B6F;PAHAWH HMONG SIGN TAU;Lo;0;L;;;;;N;;;;;
+16B70;PAHAWH HMONG SIGN LOS;Lo;0;L;;;;;N;;;;;
+16B71;PAHAWH HMONG SIGN MUS;Lo;0;L;;;;;N;;;;;
+16B72;PAHAWH HMONG SIGN CIM HAIS LUS NTOG NTOG;Lo;0;L;;;;;N;;;;;
+16B73;PAHAWH HMONG SIGN CIM CUAM TSHOOJ;Lo;0;L;;;;;N;;;;;
+16B74;PAHAWH HMONG SIGN CIM TXWV;Lo;0;L;;;;;N;;;;;
+16B75;PAHAWH HMONG SIGN CIM TXWV CHWV;Lo;0;L;;;;;N;;;;;
+16B76;PAHAWH HMONG SIGN CIM PUB DAWB;Lo;0;L;;;;;N;;;;;
+16B77;PAHAWH HMONG SIGN CIM NRES TOS;Lo;0;L;;;;;N;;;;;
+16B7D;PAHAWH HMONG CLAN SIGN TSHEEJ;Lo;0;L;;;;;N;;;;;
+16B7E;PAHAWH HMONG CLAN SIGN YEEG;Lo;0;L;;;;;N;;;;;
+16B7F;PAHAWH HMONG CLAN SIGN LIS;Lo;0;L;;;;;N;;;;;
+16B80;PAHAWH HMONG CLAN SIGN LAUJ;Lo;0;L;;;;;N;;;;;
+16B81;PAHAWH HMONG CLAN SIGN XYOOJ;Lo;0;L;;;;;N;;;;;
+16B82;PAHAWH HMONG CLAN SIGN KOO;Lo;0;L;;;;;N;;;;;
+16B83;PAHAWH HMONG CLAN SIGN HAWJ;Lo;0;L;;;;;N;;;;;
+16B84;PAHAWH HMONG CLAN SIGN MUAS;Lo;0;L;;;;;N;;;;;
+16B85;PAHAWH HMONG CLAN SIGN THOJ;Lo;0;L;;;;;N;;;;;
+16B86;PAHAWH HMONG CLAN SIGN TSAB;Lo;0;L;;;;;N;;;;;
+16B87;PAHAWH HMONG CLAN SIGN PHAB;Lo;0;L;;;;;N;;;;;
+16B88;PAHAWH HMONG CLAN SIGN KHAB;Lo;0;L;;;;;N;;;;;
+16B89;PAHAWH HMONG CLAN SIGN HAM;Lo;0;L;;;;;N;;;;;
+16B8A;PAHAWH HMONG CLAN SIGN VAJ;Lo;0;L;;;;;N;;;;;
+16B8B;PAHAWH HMONG CLAN SIGN FAJ;Lo;0;L;;;;;N;;;;;
+16B8C;PAHAWH HMONG CLAN SIGN YAJ;Lo;0;L;;;;;N;;;;;
+16B8D;PAHAWH HMONG CLAN SIGN TSWB;Lo;0;L;;;;;N;;;;;
+16B8E;PAHAWH HMONG CLAN SIGN KWM;Lo;0;L;;;;;N;;;;;
+16B8F;PAHAWH HMONG CLAN SIGN VWJ;Lo;0;L;;;;;N;;;;;
+16F00;MIAO LETTER PA;Lo;0;L;;;;;N;;;;;
+16F01;MIAO LETTER BA;Lo;0;L;;;;;N;;;;;
+16F02;MIAO LETTER YI PA;Lo;0;L;;;;;N;;;;;
+16F03;MIAO LETTER PLA;Lo;0;L;;;;;N;;;;;
+16F04;MIAO LETTER MA;Lo;0;L;;;;;N;;;;;
+16F05;MIAO LETTER MHA;Lo;0;L;;;;;N;;;;;
+16F06;MIAO LETTER ARCHAIC MA;Lo;0;L;;;;;N;;;;;
+16F07;MIAO LETTER FA;Lo;0;L;;;;;N;;;;;
+16F08;MIAO LETTER VA;Lo;0;L;;;;;N;;;;;
+16F09;MIAO LETTER VFA;Lo;0;L;;;;;N;;;;;
+16F0A;MIAO LETTER TA;Lo;0;L;;;;;N;;;;;
+16F0B;MIAO LETTER DA;Lo;0;L;;;;;N;;;;;
+16F0C;MIAO LETTER YI TTA;Lo;0;L;;;;;N;;;;;
+16F0D;MIAO LETTER YI TA;Lo;0;L;;;;;N;;;;;
+16F0E;MIAO LETTER TTA;Lo;0;L;;;;;N;;;;;
+16F0F;MIAO LETTER DDA;Lo;0;L;;;;;N;;;;;
+16F10;MIAO LETTER NA;Lo;0;L;;;;;N;;;;;
+16F11;MIAO LETTER NHA;Lo;0;L;;;;;N;;;;;
+16F12;MIAO LETTER YI NNA;Lo;0;L;;;;;N;;;;;
+16F13;MIAO LETTER ARCHAIC NA;Lo;0;L;;;;;N;;;;;
+16F14;MIAO LETTER NNA;Lo;0;L;;;;;N;;;;;
+16F15;MIAO LETTER NNHA;Lo;0;L;;;;;N;;;;;
+16F16;MIAO LETTER LA;Lo;0;L;;;;;N;;;;;
+16F17;MIAO LETTER LYA;Lo;0;L;;;;;N;;;;;
+16F18;MIAO LETTER LHA;Lo;0;L;;;;;N;;;;;
+16F19;MIAO LETTER LHYA;Lo;0;L;;;;;N;;;;;
+16F1A;MIAO LETTER TLHA;Lo;0;L;;;;;N;;;;;
+16F1B;MIAO LETTER DLHA;Lo;0;L;;;;;N;;;;;
+16F1C;MIAO LETTER TLHYA;Lo;0;L;;;;;N;;;;;
+16F1D;MIAO LETTER DLHYA;Lo;0;L;;;;;N;;;;;
+16F1E;MIAO LETTER KA;Lo;0;L;;;;;N;;;;;
+16F1F;MIAO LETTER GA;Lo;0;L;;;;;N;;;;;
+16F20;MIAO LETTER YI KA;Lo;0;L;;;;;N;;;;;
+16F21;MIAO LETTER QA;Lo;0;L;;;;;N;;;;;
+16F22;MIAO LETTER QGA;Lo;0;L;;;;;N;;;;;
+16F23;MIAO LETTER NGA;Lo;0;L;;;;;N;;;;;
+16F24;MIAO LETTER NGHA;Lo;0;L;;;;;N;;;;;
+16F25;MIAO LETTER ARCHAIC NGA;Lo;0;L;;;;;N;;;;;
+16F26;MIAO LETTER HA;Lo;0;L;;;;;N;;;;;
+16F27;MIAO LETTER XA;Lo;0;L;;;;;N;;;;;
+16F28;MIAO LETTER GHA;Lo;0;L;;;;;N;;;;;
+16F29;MIAO LETTER GHHA;Lo;0;L;;;;;N;;;;;
+16F2A;MIAO LETTER TSSA;Lo;0;L;;;;;N;;;;;
+16F2B;MIAO LETTER DZZA;Lo;0;L;;;;;N;;;;;
+16F2C;MIAO LETTER NYA;Lo;0;L;;;;;N;;;;;
+16F2D;MIAO LETTER NYHA;Lo;0;L;;;;;N;;;;;
+16F2E;MIAO LETTER TSHA;Lo;0;L;;;;;N;;;;;
+16F2F;MIAO LETTER DZHA;Lo;0;L;;;;;N;;;;;
+16F30;MIAO LETTER YI TSHA;Lo;0;L;;;;;N;;;;;
+16F31;MIAO LETTER YI DZHA;Lo;0;L;;;;;N;;;;;
+16F32;MIAO LETTER REFORMED TSHA;Lo;0;L;;;;;N;;;;;
+16F33;MIAO LETTER SHA;Lo;0;L;;;;;N;;;;;
+16F34;MIAO LETTER SSA;Lo;0;L;;;;;N;;;;;
+16F35;MIAO LETTER ZHA;Lo;0;L;;;;;N;;;;;
+16F36;MIAO LETTER ZSHA;Lo;0;L;;;;;N;;;;;
+16F37;MIAO LETTER TSA;Lo;0;L;;;;;N;;;;;
+16F38;MIAO LETTER DZA;Lo;0;L;;;;;N;;;;;
+16F39;MIAO LETTER YI TSA;Lo;0;L;;;;;N;;;;;
+16F3A;MIAO LETTER SA;Lo;0;L;;;;;N;;;;;
+16F3B;MIAO LETTER ZA;Lo;0;L;;;;;N;;;;;
+16F3C;MIAO LETTER ZSA;Lo;0;L;;;;;N;;;;;
+16F3D;MIAO LETTER ZZA;Lo;0;L;;;;;N;;;;;
+16F3E;MIAO LETTER ZZSA;Lo;0;L;;;;;N;;;;;
+16F3F;MIAO LETTER ARCHAIC ZZA;Lo;0;L;;;;;N;;;;;
+16F40;MIAO LETTER ZZYA;Lo;0;L;;;;;N;;;;;
+16F41;MIAO LETTER ZZSYA;Lo;0;L;;;;;N;;;;;
+16F42;MIAO LETTER WA;Lo;0;L;;;;;N;;;;;
+16F43;MIAO LETTER AH;Lo;0;L;;;;;N;;;;;
+16F44;MIAO LETTER HHA;Lo;0;L;;;;;N;;;;;
+16F50;MIAO LETTER NASALIZATION;Lo;0;L;;;;;N;;;;;
+16F51;MIAO SIGN ASPIRATION;Mc;0;L;;;;;N;;;;;
+16F52;MIAO SIGN REFORMED VOICING;Mc;0;L;;;;;N;;;;;
+16F53;MIAO SIGN REFORMED ASPIRATION;Mc;0;L;;;;;N;;;;;
+16F54;MIAO VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+16F55;MIAO VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+16F56;MIAO VOWEL SIGN AHH;Mc;0;L;;;;;N;;;;;
+16F57;MIAO VOWEL SIGN AN;Mc;0;L;;;;;N;;;;;
+16F58;MIAO VOWEL SIGN ANG;Mc;0;L;;;;;N;;;;;
+16F59;MIAO VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+16F5A;MIAO VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+16F5B;MIAO VOWEL SIGN WO;Mc;0;L;;;;;N;;;;;
+16F5C;MIAO VOWEL SIGN W;Mc;0;L;;;;;N;;;;;
+16F5D;MIAO VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+16F5E;MIAO VOWEL SIGN EN;Mc;0;L;;;;;N;;;;;
+16F5F;MIAO VOWEL SIGN ENG;Mc;0;L;;;;;N;;;;;
+16F60;MIAO VOWEL SIGN OEY;Mc;0;L;;;;;N;;;;;
+16F61;MIAO VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+16F62;MIAO VOWEL SIGN IA;Mc;0;L;;;;;N;;;;;
+16F63;MIAO VOWEL SIGN IAN;Mc;0;L;;;;;N;;;;;
+16F64;MIAO VOWEL SIGN IANG;Mc;0;L;;;;;N;;;;;
+16F65;MIAO VOWEL SIGN IO;Mc;0;L;;;;;N;;;;;
+16F66;MIAO VOWEL SIGN IE;Mc;0;L;;;;;N;;;;;
+16F67;MIAO VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+16F68;MIAO VOWEL SIGN IU;Mc;0;L;;;;;N;;;;;
+16F69;MIAO VOWEL SIGN ING;Mc;0;L;;;;;N;;;;;
+16F6A;MIAO VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+16F6B;MIAO VOWEL SIGN UA;Mc;0;L;;;;;N;;;;;
+16F6C;MIAO VOWEL SIGN UAN;Mc;0;L;;;;;N;;;;;
+16F6D;MIAO VOWEL SIGN UANG;Mc;0;L;;;;;N;;;;;
+16F6E;MIAO VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+16F6F;MIAO VOWEL SIGN UEI;Mc;0;L;;;;;N;;;;;
+16F70;MIAO VOWEL SIGN UNG;Mc;0;L;;;;;N;;;;;
+16F71;MIAO VOWEL SIGN Y;Mc;0;L;;;;;N;;;;;
+16F72;MIAO VOWEL SIGN YI;Mc;0;L;;;;;N;;;;;
+16F73;MIAO VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+16F74;MIAO VOWEL SIGN AEE;Mc;0;L;;;;;N;;;;;
+16F75;MIAO VOWEL SIGN ERR;Mc;0;L;;;;;N;;;;;
+16F76;MIAO VOWEL SIGN ROUNDED ERR;Mc;0;L;;;;;N;;;;;
+16F77;MIAO VOWEL SIGN ER;Mc;0;L;;;;;N;;;;;
+16F78;MIAO VOWEL SIGN ROUNDED ER;Mc;0;L;;;;;N;;;;;
+16F79;MIAO VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+16F7A;MIAO VOWEL SIGN EI;Mc;0;L;;;;;N;;;;;
+16F7B;MIAO VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+16F7C;MIAO VOWEL SIGN OU;Mc;0;L;;;;;N;;;;;
+16F7D;MIAO VOWEL SIGN N;Mc;0;L;;;;;N;;;;;
+16F7E;MIAO VOWEL SIGN NG;Mc;0;L;;;;;N;;;;;
+16F8F;MIAO TONE RIGHT;Mn;0;NSM;;;;;N;;;;;
+16F90;MIAO TONE TOP RIGHT;Mn;0;NSM;;;;;N;;;;;
+16F91;MIAO TONE ABOVE;Mn;0;NSM;;;;;N;;;;;
+16F92;MIAO TONE BELOW;Mn;0;NSM;;;;;N;;;;;
+16F93;MIAO LETTER TONE-2;Lm;0;L;;;;;N;;;;;
+16F94;MIAO LETTER TONE-3;Lm;0;L;;;;;N;;;;;
+16F95;MIAO LETTER TONE-4;Lm;0;L;;;;;N;;;;;
+16F96;MIAO LETTER TONE-5;Lm;0;L;;;;;N;;;;;
+16F97;MIAO LETTER TONE-6;Lm;0;L;;;;;N;;;;;
+16F98;MIAO LETTER TONE-7;Lm;0;L;;;;;N;;;;;
+16F99;MIAO LETTER TONE-8;Lm;0;L;;;;;N;;;;;
+16F9A;MIAO LETTER REFORMED TONE-1;Lm;0;L;;;;;N;;;;;
+16F9B;MIAO LETTER REFORMED TONE-2;Lm;0;L;;;;;N;;;;;
+16F9C;MIAO LETTER REFORMED TONE-4;Lm;0;L;;;;;N;;;;;
+16F9D;MIAO LETTER REFORMED TONE-5;Lm;0;L;;;;;N;;;;;
+16F9E;MIAO LETTER REFORMED TONE-6;Lm;0;L;;;;;N;;;;;
+16F9F;MIAO LETTER REFORMED TONE-8;Lm;0;L;;;;;N;;;;;
+1B000;KATAKANA LETTER ARCHAIC E;Lo;0;L;;;;;N;;;;;
+1B001;HIRAGANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;;
+1BC00;DUPLOYAN LETTER H;Lo;0;L;;;;;N;;;;;
+1BC01;DUPLOYAN LETTER X;Lo;0;L;;;;;N;;;;;
+1BC02;DUPLOYAN LETTER P;Lo;0;L;;;;;N;;;;;
+1BC03;DUPLOYAN LETTER T;Lo;0;L;;;;;N;;;;;
+1BC04;DUPLOYAN LETTER F;Lo;0;L;;;;;N;;;;;
+1BC05;DUPLOYAN LETTER K;Lo;0;L;;;;;N;;;;;
+1BC06;DUPLOYAN LETTER L;Lo;0;L;;;;;N;;;;;
+1BC07;DUPLOYAN LETTER B;Lo;0;L;;;;;N;;;;;
+1BC08;DUPLOYAN LETTER D;Lo;0;L;;;;;N;;;;;
+1BC09;DUPLOYAN LETTER V;Lo;0;L;;;;;N;;;;;
+1BC0A;DUPLOYAN LETTER G;Lo;0;L;;;;;N;;;;;
+1BC0B;DUPLOYAN LETTER R;Lo;0;L;;;;;N;;;;;
+1BC0C;DUPLOYAN LETTER P N;Lo;0;L;;;;;N;;;;;
+1BC0D;DUPLOYAN LETTER D S;Lo;0;L;;;;;N;;;;;
+1BC0E;DUPLOYAN LETTER F N;Lo;0;L;;;;;N;;;;;
+1BC0F;DUPLOYAN LETTER K M;Lo;0;L;;;;;N;;;;;
+1BC10;DUPLOYAN LETTER R S;Lo;0;L;;;;;N;;;;;
+1BC11;DUPLOYAN LETTER TH;Lo;0;L;;;;;N;;;;;
+1BC12;DUPLOYAN LETTER SLOAN DH;Lo;0;L;;;;;N;;;;;
+1BC13;DUPLOYAN LETTER DH;Lo;0;L;;;;;N;;;;;
+1BC14;DUPLOYAN LETTER KK;Lo;0;L;;;;;N;;;;;
+1BC15;DUPLOYAN LETTER SLOAN J;Lo;0;L;;;;;N;;;;;
+1BC16;DUPLOYAN LETTER HL;Lo;0;L;;;;;N;;;;;
+1BC17;DUPLOYAN LETTER LH;Lo;0;L;;;;;N;;;;;
+1BC18;DUPLOYAN LETTER RH;Lo;0;L;;;;;N;;;;;
+1BC19;DUPLOYAN LETTER M;Lo;0;L;;;;;N;;;;;
+1BC1A;DUPLOYAN LETTER N;Lo;0;L;;;;;N;;;;;
+1BC1B;DUPLOYAN LETTER J;Lo;0;L;;;;;N;;;;;
+1BC1C;DUPLOYAN LETTER S;Lo;0;L;;;;;N;;;;;
+1BC1D;DUPLOYAN LETTER M N;Lo;0;L;;;;;N;;;;;
+1BC1E;DUPLOYAN LETTER N M;Lo;0;L;;;;;N;;;;;
+1BC1F;DUPLOYAN LETTER J M;Lo;0;L;;;;;N;;;;;
+1BC20;DUPLOYAN LETTER S J;Lo;0;L;;;;;N;;;;;
+1BC21;DUPLOYAN LETTER M WITH DOT;Lo;0;L;;;;;N;;;;;
+1BC22;DUPLOYAN LETTER N WITH DOT;Lo;0;L;;;;;N;;;;;
+1BC23;DUPLOYAN LETTER J WITH DOT;Lo;0;L;;;;;N;;;;;
+1BC24;DUPLOYAN LETTER J WITH DOTS INSIDE AND ABOVE;Lo;0;L;;;;;N;;;;;
+1BC25;DUPLOYAN LETTER S WITH DOT;Lo;0;L;;;;;N;;;;;
+1BC26;DUPLOYAN LETTER S WITH DOT BELOW;Lo;0;L;;;;;N;;;;;
+1BC27;DUPLOYAN LETTER M S;Lo;0;L;;;;;N;;;;;
+1BC28;DUPLOYAN LETTER N S;Lo;0;L;;;;;N;;;;;
+1BC29;DUPLOYAN LETTER J S;Lo;0;L;;;;;N;;;;;
+1BC2A;DUPLOYAN LETTER S S;Lo;0;L;;;;;N;;;;;
+1BC2B;DUPLOYAN LETTER M N S;Lo;0;L;;;;;N;;;;;
+1BC2C;DUPLOYAN LETTER N M S;Lo;0;L;;;;;N;;;;;
+1BC2D;DUPLOYAN LETTER J M S;Lo;0;L;;;;;N;;;;;
+1BC2E;DUPLOYAN LETTER S J S;Lo;0;L;;;;;N;;;;;
+1BC2F;DUPLOYAN LETTER J S WITH DOT;Lo;0;L;;;;;N;;;;;
+1BC30;DUPLOYAN LETTER J N;Lo;0;L;;;;;N;;;;;
+1BC31;DUPLOYAN LETTER J N S;Lo;0;L;;;;;N;;;;;
+1BC32;DUPLOYAN LETTER S T;Lo;0;L;;;;;N;;;;;
+1BC33;DUPLOYAN LETTER S T R;Lo;0;L;;;;;N;;;;;
+1BC34;DUPLOYAN LETTER S P;Lo;0;L;;;;;N;;;;;
+1BC35;DUPLOYAN LETTER S P R;Lo;0;L;;;;;N;;;;;
+1BC36;DUPLOYAN LETTER T S;Lo;0;L;;;;;N;;;;;
+1BC37;DUPLOYAN LETTER T R S;Lo;0;L;;;;;N;;;;;
+1BC38;DUPLOYAN LETTER W;Lo;0;L;;;;;N;;;;;
+1BC39;DUPLOYAN LETTER WH;Lo;0;L;;;;;N;;;;;
+1BC3A;DUPLOYAN LETTER W R;Lo;0;L;;;;;N;;;;;
+1BC3B;DUPLOYAN LETTER S N;Lo;0;L;;;;;N;;;;;
+1BC3C;DUPLOYAN LETTER S M;Lo;0;L;;;;;N;;;;;
+1BC3D;DUPLOYAN LETTER K R S;Lo;0;L;;;;;N;;;;;
+1BC3E;DUPLOYAN LETTER G R S;Lo;0;L;;;;;N;;;;;
+1BC3F;DUPLOYAN LETTER S K;Lo;0;L;;;;;N;;;;;
+1BC40;DUPLOYAN LETTER S K R;Lo;0;L;;;;;N;;;;;
+1BC41;DUPLOYAN LETTER A;Lo;0;L;;;;;N;;;;;
+1BC42;DUPLOYAN LETTER SLOAN OW;Lo;0;L;;;;;N;;;;;
+1BC43;DUPLOYAN LETTER OA;Lo;0;L;;;;;N;;;;;
+1BC44;DUPLOYAN LETTER O;Lo;0;L;;;;;N;;;;;
+1BC45;DUPLOYAN LETTER AOU;Lo;0;L;;;;;N;;;;;
+1BC46;DUPLOYAN LETTER I;Lo;0;L;;;;;N;;;;;
+1BC47;DUPLOYAN LETTER E;Lo;0;L;;;;;N;;;;;
+1BC48;DUPLOYAN LETTER IE;Lo;0;L;;;;;N;;;;;
+1BC49;DUPLOYAN LETTER SHORT I;Lo;0;L;;;;;N;;;;;
+1BC4A;DUPLOYAN LETTER UI;Lo;0;L;;;;;N;;;;;
+1BC4B;DUPLOYAN LETTER EE;Lo;0;L;;;;;N;;;;;
+1BC4C;DUPLOYAN LETTER SLOAN EH;Lo;0;L;;;;;N;;;;;
+1BC4D;DUPLOYAN LETTER ROMANIAN I;Lo;0;L;;;;;N;;;;;
+1BC4E;DUPLOYAN LETTER SLOAN EE;Lo;0;L;;;;;N;;;;;
+1BC4F;DUPLOYAN LETTER LONG I;Lo;0;L;;;;;N;;;;;
+1BC50;DUPLOYAN LETTER YE;Lo;0;L;;;;;N;;;;;
+1BC51;DUPLOYAN LETTER U;Lo;0;L;;;;;N;;;;;
+1BC52;DUPLOYAN LETTER EU;Lo;0;L;;;;;N;;;;;
+1BC53;DUPLOYAN LETTER XW;Lo;0;L;;;;;N;;;;;
+1BC54;DUPLOYAN LETTER U N;Lo;0;L;;;;;N;;;;;
+1BC55;DUPLOYAN LETTER LONG U;Lo;0;L;;;;;N;;;;;
+1BC56;DUPLOYAN LETTER ROMANIAN U;Lo;0;L;;;;;N;;;;;
+1BC57;DUPLOYAN LETTER UH;Lo;0;L;;;;;N;;;;;
+1BC58;DUPLOYAN LETTER SLOAN U;Lo;0;L;;;;;N;;;;;
+1BC59;DUPLOYAN LETTER OOH;Lo;0;L;;;;;N;;;;;
+1BC5A;DUPLOYAN LETTER OW;Lo;0;L;;;;;N;;;;;
+1BC5B;DUPLOYAN LETTER OU;Lo;0;L;;;;;N;;;;;
+1BC5C;DUPLOYAN LETTER WA;Lo;0;L;;;;;N;;;;;
+1BC5D;DUPLOYAN LETTER WO;Lo;0;L;;;;;N;;;;;
+1BC5E;DUPLOYAN LETTER WI;Lo;0;L;;;;;N;;;;;
+1BC5F;DUPLOYAN LETTER WEI;Lo;0;L;;;;;N;;;;;
+1BC60;DUPLOYAN LETTER WOW;Lo;0;L;;;;;N;;;;;
+1BC61;DUPLOYAN LETTER NASAL U;Lo;0;L;;;;;N;;;;;
+1BC62;DUPLOYAN LETTER NASAL O;Lo;0;L;;;;;N;;;;;
+1BC63;DUPLOYAN LETTER NASAL I;Lo;0;L;;;;;N;;;;;
+1BC64;DUPLOYAN LETTER NASAL A;Lo;0;L;;;;;N;;;;;
+1BC65;DUPLOYAN LETTER PERNIN AN;Lo;0;L;;;;;N;;;;;
+1BC66;DUPLOYAN LETTER PERNIN AM;Lo;0;L;;;;;N;;;;;
+1BC67;DUPLOYAN LETTER SLOAN EN;Lo;0;L;;;;;N;;;;;
+1BC68;DUPLOYAN LETTER SLOAN AN;Lo;0;L;;;;;N;;;;;
+1BC69;DUPLOYAN LETTER SLOAN ON;Lo;0;L;;;;;N;;;;;
+1BC6A;DUPLOYAN LETTER VOCALIC M;Lo;0;L;;;;;N;;;;;
+1BC70;DUPLOYAN AFFIX LEFT HORIZONTAL SECANT;Lo;0;L;;;;;N;;;;;
+1BC71;DUPLOYAN AFFIX MID HORIZONTAL SECANT;Lo;0;L;;;;;N;;;;;
+1BC72;DUPLOYAN AFFIX RIGHT HORIZONTAL SECANT;Lo;0;L;;;;;N;;;;;
+1BC73;DUPLOYAN AFFIX LOW VERTICAL SECANT;Lo;0;L;;;;;N;;;;;
+1BC74;DUPLOYAN AFFIX MID VERTICAL SECANT;Lo;0;L;;;;;N;;;;;
+1BC75;DUPLOYAN AFFIX HIGH VERTICAL SECANT;Lo;0;L;;;;;N;;;;;
+1BC76;DUPLOYAN AFFIX ATTACHED SECANT;Lo;0;L;;;;;N;;;;;
+1BC77;DUPLOYAN AFFIX ATTACHED LEFT-TO-RIGHT SECANT;Lo;0;L;;;;;N;;;;;
+1BC78;DUPLOYAN AFFIX ATTACHED TANGENT;Lo;0;L;;;;;N;;;;;
+1BC79;DUPLOYAN AFFIX ATTACHED TAIL;Lo;0;L;;;;;N;;;;;
+1BC7A;DUPLOYAN AFFIX ATTACHED E HOOK;Lo;0;L;;;;;N;;;;;
+1BC7B;DUPLOYAN AFFIX ATTACHED I HOOK;Lo;0;L;;;;;N;;;;;
+1BC7C;DUPLOYAN AFFIX ATTACHED TANGENT HOOK;Lo;0;L;;;;;N;;;;;
+1BC80;DUPLOYAN AFFIX HIGH ACUTE;Lo;0;L;;;;;N;;;;;
+1BC81;DUPLOYAN AFFIX HIGH TIGHT ACUTE;Lo;0;L;;;;;N;;;;;
+1BC82;DUPLOYAN AFFIX HIGH GRAVE;Lo;0;L;;;;;N;;;;;
+1BC83;DUPLOYAN AFFIX HIGH LONG GRAVE;Lo;0;L;;;;;N;;;;;
+1BC84;DUPLOYAN AFFIX HIGH DOT;Lo;0;L;;;;;N;;;;;
+1BC85;DUPLOYAN AFFIX HIGH CIRCLE;Lo;0;L;;;;;N;;;;;
+1BC86;DUPLOYAN AFFIX HIGH LINE;Lo;0;L;;;;;N;;;;;
+1BC87;DUPLOYAN AFFIX HIGH WAVE;Lo;0;L;;;;;N;;;;;
+1BC88;DUPLOYAN AFFIX HIGH VERTICAL;Lo;0;L;;;;;N;;;;;
+1BC90;DUPLOYAN AFFIX LOW ACUTE;Lo;0;L;;;;;N;;;;;
+1BC91;DUPLOYAN AFFIX LOW TIGHT ACUTE;Lo;0;L;;;;;N;;;;;
+1BC92;DUPLOYAN AFFIX LOW GRAVE;Lo;0;L;;;;;N;;;;;
+1BC93;DUPLOYAN AFFIX LOW LONG GRAVE;Lo;0;L;;;;;N;;;;;
+1BC94;DUPLOYAN AFFIX LOW DOT;Lo;0;L;;;;;N;;;;;
+1BC95;DUPLOYAN AFFIX LOW CIRCLE;Lo;0;L;;;;;N;;;;;
+1BC96;DUPLOYAN AFFIX LOW LINE;Lo;0;L;;;;;N;;;;;
+1BC97;DUPLOYAN AFFIX LOW WAVE;Lo;0;L;;;;;N;;;;;
+1BC98;DUPLOYAN AFFIX LOW VERTICAL;Lo;0;L;;;;;N;;;;;
+1BC99;DUPLOYAN AFFIX LOW ARROW;Lo;0;L;;;;;N;;;;;
+1BC9C;DUPLOYAN SIGN O WITH CROSS;So;0;L;;;;;N;;;;;
+1BC9D;DUPLOYAN THICK LETTER SELECTOR;Mn;0;NSM;;;;;N;;;;;
+1BC9E;DUPLOYAN DOUBLE MARK;Mn;1;NSM;;;;;N;;;;;
+1BC9F;DUPLOYAN PUNCTUATION CHINOOK FULL STOP;Po;0;L;;;;;N;;;;;
+1BCA0;SHORTHAND FORMAT LETTER OVERLAP;Cf;0;BN;;;;;N;;;;;
+1BCA1;SHORTHAND FORMAT CONTINUING OVERLAP;Cf;0;BN;;;;;N;;;;;
+1BCA2;SHORTHAND FORMAT DOWN STEP;Cf;0;BN;;;;;N;;;;;
+1BCA3;SHORTHAND FORMAT UP STEP;Cf;0;BN;;;;;N;;;;;
1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;;
1D001;BYZANTINE MUSICAL SYMBOL DASEIA;So;0;L;;;;;N;;;;;
1D002;BYZANTINE MUSICAL SYMBOL PERISPOMENI;So;0;L;;;;;N;;;;;
@@ -28227,6 +24300,17 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;;
1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;;
1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;;
+1D1DE;MUSICAL SYMBOL KIEVAN C CLEF;So;0;L;;;;;N;;;;;
+1D1DF;MUSICAL SYMBOL KIEVAN END OF PIECE;So;0;L;;;;;N;;;;;
+1D1E0;MUSICAL SYMBOL KIEVAN FINAL NOTE;So;0;L;;;;;N;;;;;
+1D1E1;MUSICAL SYMBOL KIEVAN RECITATIVE MARK;So;0;L;;;;;N;;;;;
+1D1E2;MUSICAL SYMBOL KIEVAN WHOLE NOTE;So;0;L;;;;;N;;;;;
+1D1E3;MUSICAL SYMBOL KIEVAN HALF NOTE;So;0;L;;;;;N;;;;;
+1D1E4;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN;So;0;L;;;;;N;;;;;
+1D1E5;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP;So;0;L;;;;;N;;;;;
+1D1E6;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN;So;0;L;;;;;N;;;;;
+1D1E7;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP;So;0;L;;;;;N;;;;;
+1D1E8;MUSICAL SYMBOL KIEVAN FLAT SIGN;So;0;L;;;;;N;;;;;
1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;;
1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;;
1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;;
@@ -28297,12 +24381,12 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;;
1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;;
1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;;
-1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;ren *;;;
-1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;tian ren *;;;
-1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;di ren *;;;
-1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;ren tian *;;;
-1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;ren di *;;;
-1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;ren ren *;;;
+1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
+1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;;;;
+1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;;;;
+1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;;;;
+1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;;;;
+1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
1D306;TETRAGRAM FOR CENTRE;So;0;ON;;;;;N;;;;;
1D307;TETRAGRAM FOR FULL CIRCLE;So;0;ON;;;;;N;;;;;
1D308;TETRAGRAM FOR MIRED;So;0;ON;;;;;N;;;;;
@@ -29107,7 +25191,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D6D8;MATHEMATICAL BOLD SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
1D6D9;MATHEMATICAL BOLD SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
1D6DA;MATHEMATICAL BOLD SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;Y;;;;;
+1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
1D6DC;MATHEMATICAL BOLD EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
1D6DD;MATHEMATICAL BOLD THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
1D6DE;MATHEMATICAL BOLD KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
@@ -29165,7 +25249,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D712;MATHEMATICAL ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
1D713;MATHEMATICAL ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
1D714;MATHEMATICAL ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;Y;;;;;
+1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
1D716;MATHEMATICAL ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
1D717;MATHEMATICAL ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
1D718;MATHEMATICAL ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
@@ -29223,7 +25307,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D74C;MATHEMATICAL BOLD ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
1D74D;MATHEMATICAL BOLD ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
1D74E;MATHEMATICAL BOLD ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;Y;;;;;
+1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
1D750;MATHEMATICAL BOLD ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
1D751;MATHEMATICAL BOLD ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
1D752;MATHEMATICAL BOLD ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
@@ -29281,7 +25365,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D786;MATHEMATICAL SANS-SERIF BOLD SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
1D787;MATHEMATICAL SANS-SERIF BOLD SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
1D788;MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;Y;;;;;
+1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
1D78A;MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
1D78B;MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
1D78C;MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
@@ -29339,7 +25423,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D7C0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
1D7C1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
1D7C2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L;<font> 2202;;;;Y;;;;;
+1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
1D7C4;MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
1D7C5;MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
1D7C6;MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
@@ -29398,6 +25482,1034 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1D800;SIGNWRITING HAND-FIST INDEX;So;0;L;;;;;N;;;;;
+1D801;SIGNWRITING HAND-CIRCLE INDEX;So;0;L;;;;;N;;;;;
+1D802;SIGNWRITING HAND-CUP INDEX;So;0;L;;;;;N;;;;;
+1D803;SIGNWRITING HAND-OVAL INDEX;So;0;L;;;;;N;;;;;
+1D804;SIGNWRITING HAND-HINGE INDEX;So;0;L;;;;;N;;;;;
+1D805;SIGNWRITING HAND-ANGLE INDEX;So;0;L;;;;;N;;;;;
+1D806;SIGNWRITING HAND-FIST INDEX BENT;So;0;L;;;;;N;;;;;
+1D807;SIGNWRITING HAND-CIRCLE INDEX BENT;So;0;L;;;;;N;;;;;
+1D808;SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT;So;0;L;;;;;N;;;;;
+1D809;SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D80A;SIGNWRITING HAND-FIST INDEX CUPPED;So;0;L;;;;;N;;;;;
+1D80B;SIGNWRITING HAND-FIST INDEX HINGED;So;0;L;;;;;N;;;;;
+1D80C;SIGNWRITING HAND-FIST INDEX HINGED LOW;So;0;L;;;;;N;;;;;
+1D80D;SIGNWRITING HAND-CIRCLE INDEX HINGE;So;0;L;;;;;N;;;;;
+1D80E;SIGNWRITING HAND-FIST INDEX MIDDLE;So;0;L;;;;;N;;;;;
+1D80F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE;So;0;L;;;;;N;;;;;
+1D810;SIGNWRITING HAND-FIST INDEX MIDDLE BENT;So;0;L;;;;;N;;;;;
+1D811;SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;;
+1D812;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED;So;0;L;;;;;N;;;;;
+1D813;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED;So;0;L;;;;;N;;;;;
+1D814;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D815;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED;So;0;L;;;;;N;;;;;
+1D816;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT;So;0;L;;;;;N;;;;;
+1D817;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT;So;0;L;;;;;N;;;;;
+1D818;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED;So;0;L;;;;;N;;;;;
+1D819;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED;So;0;L;;;;;N;;;;;
+1D81A;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;;
+1D81B;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;;
+1D81C;SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX;So;0;L;;;;;N;;;;;
+1D81D;SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE;So;0;L;;;;;N;;;;;
+1D81E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;;
+1D81F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;;
+1D820;SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT;So;0;L;;;;;N;;;;;
+1D821;SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT;So;0;L;;;;;N;;;;;
+1D822;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT;So;0;L;;;;;N;;;;;
+1D823;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE;So;0;L;;;;;N;;;;;
+1D824;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D825;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED;So;0;L;;;;;N;;;;;
+1D826;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;;
+1D827;SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D828;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED;So;0;L;;;;;N;;;;;
+1D829;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED;So;0;L;;;;;N;;;;;
+1D82A;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED;So;0;L;;;;;N;;;;;
+1D82B;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED;So;0;L;;;;;N;;;;;
+1D82C;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D82D;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D82E;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;;
+1D82F;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT;So;0;L;;;;;N;;;;;
+1D830;SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP;So;0;L;;;;;N;;;;;
+1D831;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D832;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D833;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D834;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D835;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D836;SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP;So;0;L;;;;;N;;;;;
+1D837;SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D838;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP;So;0;L;;;;;N;;;;;
+1D839;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED;So;0;L;;;;;N;;;;;
+1D83A;SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP;So;0;L;;;;;N;;;;;
+1D83B;SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP;So;0;L;;;;;N;;;;;
+1D83C;SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP;So;0;L;;;;;N;;;;;
+1D83D;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED;So;0;L;;;;;N;;;;;
+1D83E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT;So;0;L;;;;;N;;;;;
+1D83F;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED;So;0;L;;;;;N;;;;;
+1D840;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP;So;0;L;;;;;N;;;;;
+1D841;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED;So;0;L;;;;;N;;;;;
+1D842;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP;So;0;L;;;;;N;;;;;
+1D843;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED;So;0;L;;;;;N;;;;;
+1D844;SIGNWRITING HAND-FLAT FOUR FINGERS;So;0;L;;;;;N;;;;;
+1D845;SIGNWRITING HAND-FLAT FOUR FINGERS BENT;So;0;L;;;;;N;;;;;
+1D846;SIGNWRITING HAND-FLAT FOUR FINGERS HINGED;So;0;L;;;;;N;;;;;
+1D847;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;;
+1D848;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT;So;0;L;;;;;N;;;;;
+1D849;SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;;
+1D84A;SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT;So;0;L;;;;;N;;;;;
+1D84B;SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;;
+1D84C;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D84D;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D84E;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;;
+1D84F;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;;
+1D850;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;;
+1D851;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;;
+1D852;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D853;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D854;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;;
+1D855;SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;;
+1D856;SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;;
+1D857;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED;So;0;L;;;;;N;;;;;
+1D858;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE;So;0;L;;;;;N;;;;;
+1D859;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB;So;0;L;;;;;N;;;;;
+1D85A;SIGNWRITING HAND-FLAT;So;0;L;;;;;N;;;;;
+1D85B;SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS;So;0;L;;;;;N;;;;;
+1D85C;SIGNWRITING HAND-FLAT HEEL;So;0;L;;;;;N;;;;;
+1D85D;SIGNWRITING HAND-FLAT THUMB SIDE;So;0;L;;;;;N;;;;;
+1D85E;SIGNWRITING HAND-FLAT HEEL THUMB SIDE;So;0;L;;;;;N;;;;;
+1D85F;SIGNWRITING HAND-FLAT THUMB BENT;So;0;L;;;;;N;;;;;
+1D860;SIGNWRITING HAND-FLAT THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D861;SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE;So;0;L;;;;;N;;;;;
+1D862;SIGNWRITING HAND-FLAT SPLIT CENTRE;So;0;L;;;;;N;;;;;
+1D863;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE;So;0;L;;;;;N;;;;;
+1D864;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT;So;0;L;;;;;N;;;;;
+1D865;SIGNWRITING HAND-FLAT SPLIT LITTLE;So;0;L;;;;;N;;;;;
+1D866;SIGNWRITING HAND-CLAW;So;0;L;;;;;N;;;;;
+1D867;SIGNWRITING HAND-CLAW THUMB SIDE;So;0;L;;;;;N;;;;;
+1D868;SIGNWRITING HAND-CLAW NO THUMB;So;0;L;;;;;N;;;;;
+1D869;SIGNWRITING HAND-CLAW THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D86A;SIGNWRITING HAND-HOOK CURLICUE;So;0;L;;;;;N;;;;;
+1D86B;SIGNWRITING HAND-HOOK;So;0;L;;;;;N;;;;;
+1D86C;SIGNWRITING HAND-CUP OPEN;So;0;L;;;;;N;;;;;
+1D86D;SIGNWRITING HAND-CUP;So;0;L;;;;;N;;;;;
+1D86E;SIGNWRITING HAND-CUP OPEN THUMB SIDE;So;0;L;;;;;N;;;;;
+1D86F;SIGNWRITING HAND-CUP THUMB SIDE;So;0;L;;;;;N;;;;;
+1D870;SIGNWRITING HAND-CUP OPEN NO THUMB;So;0;L;;;;;N;;;;;
+1D871;SIGNWRITING HAND-CUP NO THUMB;So;0;L;;;;;N;;;;;
+1D872;SIGNWRITING HAND-CUP OPEN THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D873;SIGNWRITING HAND-CUP THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D874;SIGNWRITING HAND-CURLICUE OPEN;So;0;L;;;;;N;;;;;
+1D875;SIGNWRITING HAND-CURLICUE;So;0;L;;;;;N;;;;;
+1D876;SIGNWRITING HAND-CIRCLE;So;0;L;;;;;N;;;;;
+1D877;SIGNWRITING HAND-OVAL;So;0;L;;;;;N;;;;;
+1D878;SIGNWRITING HAND-OVAL THUMB SIDE;So;0;L;;;;;N;;;;;
+1D879;SIGNWRITING HAND-OVAL NO THUMB;So;0;L;;;;;N;;;;;
+1D87A;SIGNWRITING HAND-OVAL THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D87B;SIGNWRITING HAND-HINGE OPEN;So;0;L;;;;;N;;;;;
+1D87C;SIGNWRITING HAND-HINGE OPEN THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D87D;SIGNWRITING HAND-HINGE;So;0;L;;;;;N;;;;;
+1D87E;SIGNWRITING HAND-HINGE SMALL;So;0;L;;;;;N;;;;;
+1D87F;SIGNWRITING HAND-HINGE OPEN THUMB SIDE;So;0;L;;;;;N;;;;;
+1D880;SIGNWRITING HAND-HINGE THUMB SIDE;So;0;L;;;;;N;;;;;
+1D881;SIGNWRITING HAND-HINGE OPEN NO THUMB;So;0;L;;;;;N;;;;;
+1D882;SIGNWRITING HAND-HINGE NO THUMB;So;0;L;;;;;N;;;;;
+1D883;SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX;So;0;L;;;;;N;;;;;
+1D884;SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;;
+1D885;SIGNWRITING HAND-ANGLE;So;0;L;;;;;N;;;;;
+1D886;SIGNWRITING HAND-FIST INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D887;SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D888;SIGNWRITING HAND-HINGE INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D889;SIGNWRITING HAND-ANGLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;;
+1D88A;SIGNWRITING HAND-HINGE LITTLE;So;0;L;;;;;N;;;;;
+1D88B;SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT;So;0;L;;;;;N;;;;;
+1D88C;SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;;
+1D88D;SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;;
+1D88E;SIGNWRITING HAND-FIST LITTLE DOWN;So;0;L;;;;;N;;;;;
+1D88F;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D890;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED;So;0;L;;;;;N;;;;;
+1D891;SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED;So;0;L;;;;;N;;;;;
+1D892;SIGNWRITING HAND-FIST LITTLE UP;So;0;L;;;;;N;;;;;
+1D893;SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP;So;0;L;;;;;N;;;;;
+1D894;SIGNWRITING HAND-CIRCLE LITTLE UP;So;0;L;;;;;N;;;;;
+1D895;SIGNWRITING HAND-OVAL LITTLE UP;So;0;L;;;;;N;;;;;
+1D896;SIGNWRITING HAND-ANGLE LITTLE UP;So;0;L;;;;;N;;;;;
+1D897;SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D898;SIGNWRITING HAND-FIST LITTLE BENT;So;0;L;;;;;N;;;;;
+1D899;SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB;So;0;L;;;;;N;;;;;
+1D89A;SIGNWRITING HAND-FIST LITTLE THUMB;So;0;L;;;;;N;;;;;
+1D89B;SIGNWRITING HAND-HINGE LITTLE THUMB;So;0;L;;;;;N;;;;;
+1D89C;SIGNWRITING HAND-FIST LITTLE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D89D;SIGNWRITING HAND-HINGE LITTLE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D89E;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT;So;0;L;;;;;N;;;;;
+1D89F;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8A0;SIGNWRITING HAND-FIST LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A1;SIGNWRITING HAND-CIRCLE LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A2;SIGNWRITING HAND-HINGE LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A3;SIGNWRITING HAND-ANGLE LITTLE INDEX;So;0;L;;;;;N;;;;;
+1D8A4;SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A5;SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A6;SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A7;SIGNWRITING HAND-HINGE RING;So;0;L;;;;;N;;;;;
+1D8A8;SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8A9;SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;;
+1D8AA;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;;
+1D8AB;SIGNWRITING HAND-FIST RING DOWN;So;0;L;;;;;N;;;;;
+1D8AC;SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE;So;0;L;;;;;N;;;;;
+1D8AD;SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS;So;0;L;;;;;N;;;;;
+1D8AE;SIGNWRITING HAND-FIST RING UP;So;0;L;;;;;N;;;;;
+1D8AF;SIGNWRITING HAND-FIST RING RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D8B0;SIGNWRITING HAND-FIST RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B1;SIGNWRITING HAND-CIRCLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B2;SIGNWRITING HAND-OVAL RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B3;SIGNWRITING HAND-ANGLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8B4;SIGNWRITING HAND-FIST RING MIDDLE;So;0;L;;;;;N;;;;;
+1D8B5;SIGNWRITING HAND-FIST RING MIDDLE CONJOINED;So;0;L;;;;;N;;;;;
+1D8B6;SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;;
+1D8B7;SIGNWRITING HAND-FIST RING INDEX;So;0;L;;;;;N;;;;;
+1D8B8;SIGNWRITING HAND-FIST RING THUMB;So;0;L;;;;;N;;;;;
+1D8B9;SIGNWRITING HAND-HOOK RING THUMB;So;0;L;;;;;N;;;;;
+1D8BA;SIGNWRITING HAND-FIST INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8BB;SIGNWRITING HAND-CIRCLE INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8BC;SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON;So;0;L;;;;;N;;;;;
+1D8BD;SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;;
+1D8BE;SIGNWRITING HAND-HOOK INDEX RING LITTLE IN;So;0;L;;;;;N;;;;;
+1D8BF;SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER;So;0;L;;;;;N;;;;;
+1D8C0;SIGNWRITING HAND-CUP INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8C1;SIGNWRITING HAND-HINGE INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8C2;SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;;
+1D8C3;SIGNWRITING HAND-ANGLE INDEX RING LITTLE;So;0;L;;;;;N;;;;;
+1D8C4;SIGNWRITING HAND-FIST MIDDLE DOWN;So;0;L;;;;;N;;;;;
+1D8C5;SIGNWRITING HAND-HINGE MIDDLE;So;0;L;;;;;N;;;;;
+1D8C6;SIGNWRITING HAND-FIST MIDDLE UP;So;0;L;;;;;N;;;;;
+1D8C7;SIGNWRITING HAND-CIRCLE MIDDLE UP;So;0;L;;;;;N;;;;;
+1D8C8;SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE;So;0;L;;;;;N;;;;;
+1D8C9;SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;;
+1D8CA;SIGNWRITING HAND-HOOK MIDDLE THUMB;So;0;L;;;;;N;;;;;
+1D8CB;SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE;So;0;L;;;;;N;;;;;
+1D8CC;SIGNWRITING HAND-FIST MIDDLE LITTLE;So;0;L;;;;;N;;;;;
+1D8CD;SIGNWRITING HAND-FIST MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8CE;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8CF;SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON;So;0;L;;;;;N;;;;;
+1D8D0;SIGNWRITING HAND-CUP MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8D1;SIGNWRITING HAND-HINGE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8D2;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT;So;0;L;;;;;N;;;;;
+1D8D3;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN;So;0;L;;;;;N;;;;;
+1D8D4;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;;
+1D8D5;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT;So;0;L;;;;;N;;;;;
+1D8D6;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;;
+1D8D7;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE;So;0;L;;;;;N;;;;;
+1D8D8;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT;So;0;L;;;;;N;;;;;
+1D8D9;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN;So;0;L;;;;;N;;;;;
+1D8DA;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;;
+1D8DB;SIGNWRITING HAND-HINGE INDEX HINGED;So;0;L;;;;;N;;;;;
+1D8DC;SIGNWRITING HAND-FIST INDEX THUMB SIDE;So;0;L;;;;;N;;;;;
+1D8DD;SIGNWRITING HAND-HINGE INDEX THUMB SIDE;So;0;L;;;;;N;;;;;
+1D8DE;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL;So;0;L;;;;;N;;;;;
+1D8DF;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED;So;0;L;;;;;N;;;;;
+1D8E0;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT;So;0;L;;;;;N;;;;;
+1D8E1;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT;So;0;L;;;;;N;;;;;
+1D8E2;SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT;So;0;L;;;;;N;;;;;
+1D8E3;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE;So;0;L;;;;;N;;;;;
+1D8E4;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT;So;0;L;;;;;N;;;;;
+1D8E5;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT;So;0;L;;;;;N;;;;;
+1D8E6;SIGNWRITING HAND-FIST INDEX THUMB HOOK;So;0;L;;;;;N;;;;;
+1D8E7;SIGNWRITING HAND-FIST INDEX THUMB CURLICUE;So;0;L;;;;;N;;;;;
+1D8E8;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;;
+1D8E9;SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;;
+1D8EA;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER;So;0;L;;;;;N;;;;;
+1D8EB;SIGNWRITING HAND-FIST INDEX THUMB CIRCLE;So;0;L;;;;;N;;;;;
+1D8EC;SIGNWRITING HAND-CUP INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8ED;SIGNWRITING HAND-CUP INDEX THUMB OPEN;So;0;L;;;;;N;;;;;
+1D8EE;SIGNWRITING HAND-HINGE INDEX THUMB OPEN;So;0;L;;;;;N;;;;;
+1D8EF;SIGNWRITING HAND-HINGE INDEX THUMB LARGE;So;0;L;;;;;N;;;;;
+1D8F0;SIGNWRITING HAND-HINGE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8F1;SIGNWRITING HAND-HINGE INDEX THUMB SMALL;So;0;L;;;;;N;;;;;
+1D8F2;SIGNWRITING HAND-ANGLE INDEX THUMB OUT;So;0;L;;;;;N;;;;;
+1D8F3;SIGNWRITING HAND-ANGLE INDEX THUMB IN;So;0;L;;;;;N;;;;;
+1D8F4;SIGNWRITING HAND-ANGLE INDEX THUMB;So;0;L;;;;;N;;;;;
+1D8F5;SIGNWRITING HAND-FIST THUMB;So;0;L;;;;;N;;;;;
+1D8F6;SIGNWRITING HAND-FIST THUMB HEEL;So;0;L;;;;;N;;;;;
+1D8F7;SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL;So;0;L;;;;;N;;;;;
+1D8F8;SIGNWRITING HAND-FIST THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;;
+1D8F9;SIGNWRITING HAND-FIST THUMB SIDE BENT;So;0;L;;;;;N;;;;;
+1D8FA;SIGNWRITING HAND-FIST THUMB FORWARD;So;0;L;;;;;N;;;;;
+1D8FB;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE;So;0;L;;;;;N;;;;;
+1D8FC;SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;;
+1D8FD;SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE;So;0;L;;;;;N;;;;;
+1D8FE;SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS;So;0;L;;;;;N;;;;;
+1D8FF;SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS;So;0;L;;;;;N;;;;;
+1D900;SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS;So;0;L;;;;;N;;;;;
+1D901;SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS;So;0;L;;;;;N;;;;;
+1D902;SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES;So;0;L;;;;;N;;;;;
+1D903;SIGNWRITING HAND-FIST;So;0;L;;;;;N;;;;;
+1D904;SIGNWRITING HAND-FIST HEEL;So;0;L;;;;;N;;;;;
+1D905;SIGNWRITING TOUCH SINGLE;So;0;L;;;;;N;;;;;
+1D906;SIGNWRITING TOUCH MULTIPLE;So;0;L;;;;;N;;;;;
+1D907;SIGNWRITING TOUCH BETWEEN;So;0;L;;;;;N;;;;;
+1D908;SIGNWRITING GRASP SINGLE;So;0;L;;;;;N;;;;;
+1D909;SIGNWRITING GRASP MULTIPLE;So;0;L;;;;;N;;;;;
+1D90A;SIGNWRITING GRASP BETWEEN;So;0;L;;;;;N;;;;;
+1D90B;SIGNWRITING STRIKE SINGLE;So;0;L;;;;;N;;;;;
+1D90C;SIGNWRITING STRIKE MULTIPLE;So;0;L;;;;;N;;;;;
+1D90D;SIGNWRITING STRIKE BETWEEN;So;0;L;;;;;N;;;;;
+1D90E;SIGNWRITING BRUSH SINGLE;So;0;L;;;;;N;;;;;
+1D90F;SIGNWRITING BRUSH MULTIPLE;So;0;L;;;;;N;;;;;
+1D910;SIGNWRITING BRUSH BETWEEN;So;0;L;;;;;N;;;;;
+1D911;SIGNWRITING RUB SINGLE;So;0;L;;;;;N;;;;;
+1D912;SIGNWRITING RUB MULTIPLE;So;0;L;;;;;N;;;;;
+1D913;SIGNWRITING RUB BETWEEN;So;0;L;;;;;N;;;;;
+1D914;SIGNWRITING SURFACE SYMBOLS;So;0;L;;;;;N;;;;;
+1D915;SIGNWRITING SURFACE BETWEEN;So;0;L;;;;;N;;;;;
+1D916;SIGNWRITING SQUEEZE LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D917;SIGNWRITING SQUEEZE SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D918;SIGNWRITING SQUEEZE LARGE MULTIPLE;So;0;L;;;;;N;;;;;
+1D919;SIGNWRITING SQUEEZE SMALL MULTIPLE;So;0;L;;;;;N;;;;;
+1D91A;SIGNWRITING SQUEEZE SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D91B;SIGNWRITING FLICK LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D91C;SIGNWRITING FLICK SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D91D;SIGNWRITING FLICK LARGE MULTIPLE;So;0;L;;;;;N;;;;;
+1D91E;SIGNWRITING FLICK SMALL MULTIPLE;So;0;L;;;;;N;;;;;
+1D91F;SIGNWRITING FLICK SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D920;SIGNWRITING SQUEEZE FLICK ALTERNATING;So;0;L;;;;;N;;;;;
+1D921;SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE;So;0;L;;;;;N;;;;;
+1D922;SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL;So;0;L;;;;;N;;;;;
+1D923;SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D924;SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL;So;0;L;;;;;N;;;;;
+1D925;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE;So;0;L;;;;;N;;;;;
+1D926;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL;So;0;L;;;;;N;;;;;
+1D927;SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS;So;0;L;;;;;N;;;;;
+1D928;SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT;So;0;L;;;;;N;;;;;
+1D929;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT;So;0;L;;;;;N;;;;;
+1D92A;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;;
+1D92B;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;;
+1D92C;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;;
+1D92D;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;;
+1D92E;SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D92F;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D930;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D931;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;;
+1D932;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D933;SIGNWRITING MOVEMENT-WALLPLANE CROSS;So;0;L;;;;;N;;;;;
+1D934;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;;
+1D935;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D936;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING;So;0;L;;;;;N;;;;;
+1D937;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D938;SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL;So;0;L;;;;;N;;;;;
+1D939;SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM;So;0;L;;;;;N;;;;;
+1D93A;SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE;So;0;L;;;;;N;;;;;
+1D93B;SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL;So;0;L;;;;;N;;;;;
+1D93C;SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;;
+1D93D;SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE;So;0;L;;;;;N;;;;;
+1D93E;SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION;So;0;L;;;;;N;;;;;
+1D93F;SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL;So;0;L;;;;;N;;;;;
+1D940;SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM;So;0;L;;;;;N;;;;;
+1D941;SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE;So;0;L;;;;;N;;;;;
+1D942;SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL;So;0;L;;;;;N;;;;;
+1D943;SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM;So;0;L;;;;;N;;;;;
+1D944;SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE;So;0;L;;;;;N;;;;;
+1D945;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;;
+1D946;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;;
+1D947;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;;
+1D948;SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL;So;0;L;;;;;N;;;;;
+1D949;SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;;
+1D94A;SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE;So;0;L;;;;;N;;;;;
+1D94B;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D94C;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D94D;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D94E;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D94F;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D950;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D951;SIGNWRITING TRAVEL-WALLPLANE SHAKING;So;0;L;;;;;N;;;;;
+1D952;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE;So;0;L;;;;;N;;;;;
+1D953;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE;So;0;L;;;;;N;;;;;
+1D954;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE;So;0;L;;;;;N;;;;;
+1D955;SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL;So;0;L;;;;;N;;;;;
+1D956;SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM;So;0;L;;;;;N;;;;;
+1D957;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE;So;0;L;;;;;N;;;;;
+1D958;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST;So;0;L;;;;;N;;;;;
+1D959;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL;So;0;L;;;;;N;;;;;
+1D95A;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM;So;0;L;;;;;N;;;;;
+1D95B;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE;So;0;L;;;;;N;;;;;
+1D95C;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST;So;0;L;;;;;N;;;;;
+1D95D;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL;So;0;L;;;;;N;;;;;
+1D95E;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM;So;0;L;;;;;N;;;;;
+1D95F;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE;So;0;L;;;;;N;;;;;
+1D960;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST;So;0;L;;;;;N;;;;;
+1D961;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL;So;0;L;;;;;N;;;;;
+1D962;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM;So;0;L;;;;;N;;;;;
+1D963;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE;So;0;L;;;;;N;;;;;
+1D964;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST;So;0;L;;;;;N;;;;;
+1D965;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;;
+1D966;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;;
+1D967;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;;
+1D968;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;;
+1D969;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D96A;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;;
+1D96B;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D96C;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;;
+1D96D;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D96E;SIGNWRITING MOVEMENT-FLOORPLANE CROSS;So;0;L;;;;;N;;;;;
+1D96F;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;;
+1D970;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;;
+1D971;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT;So;0;L;;;;;N;;;;;
+1D972;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;;
+1D973;SIGNWRITING MOVEMENT-FLOORPLANE BEND;So;0;L;;;;;N;;;;;
+1D974;SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL;So;0;L;;;;;N;;;;;
+1D975;SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;;
+1D976;SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE;So;0;L;;;;;N;;;;;
+1D977;SIGNWRITING MOVEMENT-FLOORPLANE CHECK;So;0;L;;;;;N;;;;;
+1D978;SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL;So;0;L;;;;;N;;;;;
+1D979;SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM;So;0;L;;;;;N;;;;;
+1D97A;SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE;So;0;L;;;;;N;;;;;
+1D97B;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;;
+1D97C;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;;
+1D97D;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;;
+1D97E;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL;So;0;L;;;;;N;;;;;
+1D97F;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;;
+1D980;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE;So;0;L;;;;;N;;;;;
+1D981;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D982;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D983;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D984;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D985;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D986;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D987;SIGNWRITING TRAVEL-FLOORPLANE SHAKING;So;0;L;;;;;N;;;;;
+1D988;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL;So;0;L;;;;;N;;;;;
+1D989;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM;So;0;L;;;;;N;;;;;
+1D98A;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE;So;0;L;;;;;N;;;;;
+1D98B;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST;So;0;L;;;;;N;;;;;
+1D98C;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL;So;0;L;;;;;N;;;;;
+1D98D;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM;So;0;L;;;;;N;;;;;
+1D98E;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE;So;0;L;;;;;N;;;;;
+1D98F;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST;So;0;L;;;;;N;;;;;
+1D990;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL;So;0;L;;;;;N;;;;;
+1D991;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM;So;0;L;;;;;N;;;;;
+1D992;SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL;So;0;L;;;;;N;;;;;
+1D993;SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM;So;0;L;;;;;N;;;;;
+1D994;SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE;So;0;L;;;;;N;;;;;
+1D995;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL;So;0;L;;;;;N;;;;;
+1D996;SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM;So;0;L;;;;;N;;;;;
+1D997;SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE;So;0;L;;;;;N;;;;;
+1D998;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D999;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL;So;0;L;;;;;N;;;;;
+1D99A;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM;So;0;L;;;;;N;;;;;
+1D99B;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE;So;0;L;;;;;N;;;;;
+1D99C;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL;So;0;L;;;;;N;;;;;
+1D99D;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM;So;0;L;;;;;N;;;;;
+1D99E;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE;So;0;L;;;;;N;;;;;
+1D99F;SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT;So;0;L;;;;;N;;;;;
+1D9A0;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL;So;0;L;;;;;N;;;;;
+1D9A1;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM;So;0;L;;;;;N;;;;;
+1D9A2;SIGNWRITING ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D9A3;SIGNWRITING ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D9A4;SIGNWRITING ROTATION-WALLPLANE ALTERNATE;So;0;L;;;;;N;;;;;
+1D9A5;SIGNWRITING MOVEMENT-WALLPLANE SHAKING;So;0;L;;;;;N;;;;;
+1D9A6;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9A7;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9A8;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9A9;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AA;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AB;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AC;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL;So;0;L;;;;;N;;;;;
+1D9AD;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9AE;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9AF;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B0;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B1;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B2;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B3;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST;So;0;L;;;;;N;;;;;
+1D9B4;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL;So;0;L;;;;;N;;;;;
+1D9B5;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM;So;0;L;;;;;N;;;;;
+1D9B6;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE;So;0;L;;;;;N;;;;;
+1D9B7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;;
+1D9B8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;;
+1D9B9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9BA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9BB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE;So;0;L;;;;;N;;;;;
+1D9BC;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE;So;0;L;;;;;N;;;;;
+1D9BD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9BE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D9BF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9C0;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9C1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;;
+1D9C2;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;;
+1D9C3;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING;So;0;L;;;;;N;;;;;
+1D9C4;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING;So;0;L;;;;;N;;;;;
+1D9C5;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING;So;0;L;;;;;N;;;;;
+1D9C6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;;
+1D9C7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;;
+1D9C8;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9C9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9CA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE;So;0;L;;;;;N;;;;;
+1D9CB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE;So;0;L;;;;;N;;;;;
+1D9CC;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9CD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D9CE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9CF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9D0;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;;
+1D9D1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;;
+1D9D2;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR;So;0;L;;;;;N;;;;;
+1D9D3;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR;So;0;L;;;;;N;;;;;
+1D9D4;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR;So;0;L;;;;;N;;;;;
+1D9D5;SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL;So;0;L;;;;;N;;;;;
+1D9D6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM;So;0;L;;;;;N;;;;;
+1D9D7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE;So;0;L;;;;;N;;;;;
+1D9D8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST;So;0;L;;;;;N;;;;;
+1D9D9;SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED;So;0;L;;;;;N;;;;;
+1D9DA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL;So;0;L;;;;;N;;;;;
+1D9DB;SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL;So;0;L;;;;;N;;;;;
+1D9DC;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE;So;0;L;;;;;N;;;;;
+1D9DD;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL;So;0;L;;;;;N;;;;;
+1D9DE;SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE;So;0;L;;;;;N;;;;;
+1D9DF;SIGNWRITING ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;;
+1D9E0;SIGNWRITING ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;;
+1D9E1;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;;
+1D9E2;SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL;So;0;L;;;;;N;;;;;
+1D9E3;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9E4;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE;So;0;L;;;;;N;;;;;
+1D9E5;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9E6;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE;So;0;L;;;;;N;;;;;
+1D9E7;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE;So;0;L;;;;;N;;;;;
+1D9E8;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE;So;0;L;;;;;N;;;;;
+1D9E9;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE;So;0;L;;;;;N;;;;;
+1D9EA;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9EB;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE;So;0;L;;;;;N;;;;;
+1D9EC;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE;So;0;L;;;;;N;;;;;
+1D9ED;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE;So;0;L;;;;;N;;;;;
+1D9EE;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE;So;0;L;;;;;N;;;;;
+1D9EF;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE;So;0;L;;;;;N;;;;;
+1D9F0;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9F1;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE;So;0;L;;;;;N;;;;;
+1D9F2;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE;So;0;L;;;;;N;;;;;
+1D9F3;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE;So;0;L;;;;;N;;;;;
+1D9F4;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE;So;0;L;;;;;N;;;;;
+1D9F5;SIGNWRITING DYNAMIC ARROWHEAD SMALL;So;0;L;;;;;N;;;;;
+1D9F6;SIGNWRITING DYNAMIC ARROWHEAD LARGE;So;0;L;;;;;N;;;;;
+1D9F7;SIGNWRITING DYNAMIC FAST;So;0;L;;;;;N;;;;;
+1D9F8;SIGNWRITING DYNAMIC SLOW;So;0;L;;;;;N;;;;;
+1D9F9;SIGNWRITING DYNAMIC TENSE;So;0;L;;;;;N;;;;;
+1D9FA;SIGNWRITING DYNAMIC RELAXED;So;0;L;;;;;N;;;;;
+1D9FB;SIGNWRITING DYNAMIC SIMULTANEOUS;So;0;L;;;;;N;;;;;
+1D9FC;SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING;So;0;L;;;;;N;;;;;
+1D9FD;SIGNWRITING DYNAMIC EVERY OTHER TIME;So;0;L;;;;;N;;;;;
+1D9FE;SIGNWRITING DYNAMIC GRADUAL;So;0;L;;;;;N;;;;;
+1D9FF;SIGNWRITING HEAD;So;0;L;;;;;N;;;;;
+1DA00;SIGNWRITING HEAD RIM;Mn;0;NSM;;;;;N;;;;;
+1DA01;SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA02;SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT;Mn;0;NSM;;;;;N;;;;;
+1DA03;SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA04;SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE;Mn;0;NSM;;;;;N;;;;;
+1DA05;SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE;Mn;0;NSM;;;;;N;;;;;
+1DA06;SIGNWRITING HEAD MOVEMENT CIRCLE;Mn;0;NSM;;;;;N;;;;;
+1DA07;SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING;Mn;0;NSM;;;;;N;;;;;
+1DA08;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA09;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING;Mn;0;NSM;;;;;N;;;;;
+1DA0A;SIGNWRITING EYEBROWS STRAIGHT UP;Mn;0;NSM;;;;;N;;;;;
+1DA0B;SIGNWRITING EYEBROWS STRAIGHT NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA0C;SIGNWRITING EYEBROWS STRAIGHT DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA0D;SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA0E;SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA0F;SIGNWRITING DREAMY EYEBROWS UP NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA10;SIGNWRITING DREAMY EYEBROWS NEUTRAL UP;Mn;0;NSM;;;;;N;;;;;
+1DA11;SIGNWRITING FOREHEAD NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA12;SIGNWRITING FOREHEAD CONTACT;Mn;0;NSM;;;;;N;;;;;
+1DA13;SIGNWRITING FOREHEAD WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA14;SIGNWRITING EYES OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA15;SIGNWRITING EYES SQUEEZED;Mn;0;NSM;;;;;N;;;;;
+1DA16;SIGNWRITING EYES CLOSED;Mn;0;NSM;;;;;N;;;;;
+1DA17;SIGNWRITING EYE BLINK SINGLE;Mn;0;NSM;;;;;N;;;;;
+1DA18;SIGNWRITING EYE BLINK MULTIPLE;Mn;0;NSM;;;;;N;;;;;
+1DA19;SIGNWRITING EYES HALF OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA1A;SIGNWRITING EYES WIDE OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA1B;SIGNWRITING EYES HALF CLOSED;Mn;0;NSM;;;;;N;;;;;
+1DA1C;SIGNWRITING EYES WIDENING MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA1D;SIGNWRITING EYE WINK;Mn;0;NSM;;;;;N;;;;;
+1DA1E;SIGNWRITING EYELASHES UP;Mn;0;NSM;;;;;N;;;;;
+1DA1F;SIGNWRITING EYELASHES DOWN;Mn;0;NSM;;;;;N;;;;;
+1DA20;SIGNWRITING EYELASHES FLUTTERING;Mn;0;NSM;;;;;N;;;;;
+1DA21;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA22;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;;
+1DA23;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;;
+1DA24;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;;
+1DA25;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;;
+1DA26;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;;
+1DA27;SIGNWRITING EYEGAZE-WALLPLANE CURVED;Mn;0;NSM;;;;;N;;;;;
+1DA28;SIGNWRITING EYEGAZE-FLOORPLANE CURVED;Mn;0;NSM;;;;;N;;;;;
+1DA29;SIGNWRITING EYEGAZE-WALLPLANE CIRCLING;Mn;0;NSM;;;;;N;;;;;
+1DA2A;SIGNWRITING CHEEKS PUFFED;Mn;0;NSM;;;;;N;;;;;
+1DA2B;SIGNWRITING CHEEKS NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA2C;SIGNWRITING CHEEKS SUCKED;Mn;0;NSM;;;;;N;;;;;
+1DA2D;SIGNWRITING TENSE CHEEKS HIGH;Mn;0;NSM;;;;;N;;;;;
+1DA2E;SIGNWRITING TENSE CHEEKS MIDDLE;Mn;0;NSM;;;;;N;;;;;
+1DA2F;SIGNWRITING TENSE CHEEKS LOW;Mn;0;NSM;;;;;N;;;;;
+1DA30;SIGNWRITING EARS;Mn;0;NSM;;;;;N;;;;;
+1DA31;SIGNWRITING NOSE NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA32;SIGNWRITING NOSE CONTACT;Mn;0;NSM;;;;;N;;;;;
+1DA33;SIGNWRITING NOSE WRINKLES;Mn;0;NSM;;;;;N;;;;;
+1DA34;SIGNWRITING NOSE WIGGLES;Mn;0;NSM;;;;;N;;;;;
+1DA35;SIGNWRITING AIR BLOWING OUT;Mn;0;NSM;;;;;N;;;;;
+1DA36;SIGNWRITING AIR SUCKING IN;Mn;0;NSM;;;;;N;;;;;
+1DA37;SIGNWRITING AIR BLOW SMALL ROTATIONS;So;0;L;;;;;N;;;;;
+1DA38;SIGNWRITING AIR SUCK SMALL ROTATIONS;So;0;L;;;;;N;;;;;
+1DA39;SIGNWRITING BREATH INHALE;So;0;L;;;;;N;;;;;
+1DA3A;SIGNWRITING BREATH EXHALE;So;0;L;;;;;N;;;;;
+1DA3B;SIGNWRITING MOUTH CLOSED NEUTRAL;Mn;0;NSM;;;;;N;;;;;
+1DA3C;SIGNWRITING MOUTH CLOSED FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA3D;SIGNWRITING MOUTH CLOSED CONTACT;Mn;0;NSM;;;;;N;;;;;
+1DA3E;SIGNWRITING MOUTH SMILE;Mn;0;NSM;;;;;N;;;;;
+1DA3F;SIGNWRITING MOUTH SMILE WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA40;SIGNWRITING MOUTH SMILE OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA41;SIGNWRITING MOUTH FROWN;Mn;0;NSM;;;;;N;;;;;
+1DA42;SIGNWRITING MOUTH FROWN WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA43;SIGNWRITING MOUTH FROWN OPEN;Mn;0;NSM;;;;;N;;;;;
+1DA44;SIGNWRITING MOUTH OPEN CIRCLE;Mn;0;NSM;;;;;N;;;;;
+1DA45;SIGNWRITING MOUTH OPEN FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA46;SIGNWRITING MOUTH OPEN WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA47;SIGNWRITING MOUTH OPEN OVAL;Mn;0;NSM;;;;;N;;;;;
+1DA48;SIGNWRITING MOUTH OPEN OVAL WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA49;SIGNWRITING MOUTH OPEN OVAL YAWN;Mn;0;NSM;;;;;N;;;;;
+1DA4A;SIGNWRITING MOUTH OPEN RECTANGLE;Mn;0;NSM;;;;;N;;;;;
+1DA4B;SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA4C;SIGNWRITING MOUTH OPEN RECTANGLE YAWN;Mn;0;NSM;;;;;N;;;;;
+1DA4D;SIGNWRITING MOUTH KISS;Mn;0;NSM;;;;;N;;;;;
+1DA4E;SIGNWRITING MOUTH KISS FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA4F;SIGNWRITING MOUTH KISS WRINKLED;Mn;0;NSM;;;;;N;;;;;
+1DA50;SIGNWRITING MOUTH TENSE;Mn;0;NSM;;;;;N;;;;;
+1DA51;SIGNWRITING MOUTH TENSE FORWARD;Mn;0;NSM;;;;;N;;;;;
+1DA52;SIGNWRITING MOUTH TENSE SUCKED;Mn;0;NSM;;;;;N;;;;;
+1DA53;SIGNWRITING LIPS PRESSED TOGETHER;Mn;0;NSM;;;;;N;;;;;
+1DA54;SIGNWRITING LIP LOWER OVER UPPER;Mn;0;NSM;;;;;N;;;;;
+1DA55;SIGNWRITING LIP UPPER OVER LOWER;Mn;0;NSM;;;;;N;;;;;
+1DA56;SIGNWRITING MOUTH CORNERS;Mn;0;NSM;;;;;N;;;;;
+1DA57;SIGNWRITING MOUTH WRINKLES SINGLE;Mn;0;NSM;;;;;N;;;;;
+1DA58;SIGNWRITING MOUTH WRINKLES DOUBLE;Mn;0;NSM;;;;;N;;;;;
+1DA59;SIGNWRITING TONGUE STICKING OUT FAR;Mn;0;NSM;;;;;N;;;;;
+1DA5A;SIGNWRITING TONGUE LICKING LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA5B;SIGNWRITING TONGUE TIP BETWEEN LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA5C;SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;;
+1DA5D;SIGNWRITING TONGUE INSIDE MOUTH RELAXED;Mn;0;NSM;;;;;N;;;;;
+1DA5E;SIGNWRITING TONGUE MOVES AGAINST CHEEK;Mn;0;NSM;;;;;N;;;;;
+1DA5F;SIGNWRITING TONGUE CENTRE STICKING OUT;Mn;0;NSM;;;;;N;;;;;
+1DA60;SIGNWRITING TONGUE CENTRE INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;;
+1DA61;SIGNWRITING TEETH;Mn;0;NSM;;;;;N;;;;;
+1DA62;SIGNWRITING TEETH MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA63;SIGNWRITING TEETH ON TONGUE;Mn;0;NSM;;;;;N;;;;;
+1DA64;SIGNWRITING TEETH ON TONGUE MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA65;SIGNWRITING TEETH ON LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA66;SIGNWRITING TEETH ON LIPS MOVEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA67;SIGNWRITING TEETH BITE LIPS;Mn;0;NSM;;;;;N;;;;;
+1DA68;SIGNWRITING MOVEMENT-WALLPLANE JAW;Mn;0;NSM;;;;;N;;;;;
+1DA69;SIGNWRITING MOVEMENT-FLOORPLANE JAW;Mn;0;NSM;;;;;N;;;;;
+1DA6A;SIGNWRITING NECK;Mn;0;NSM;;;;;N;;;;;
+1DA6B;SIGNWRITING HAIR;Mn;0;NSM;;;;;N;;;;;
+1DA6C;SIGNWRITING EXCITEMENT;Mn;0;NSM;;;;;N;;;;;
+1DA6D;SIGNWRITING SHOULDER HIP SPINE;So;0;L;;;;;N;;;;;
+1DA6E;SIGNWRITING SHOULDER HIP POSITIONS;So;0;L;;;;;N;;;;;
+1DA6F;SIGNWRITING WALLPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;;
+1DA70;SIGNWRITING FLOORPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;;
+1DA71;SIGNWRITING SHOULDER TILTING FROM WAIST;So;0;L;;;;;N;;;;;
+1DA72;SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH;So;0;L;;;;;N;;;;;
+1DA73;SIGNWRITING TORSO-WALLPLANE CURVED BEND;So;0;L;;;;;N;;;;;
+1DA74;SIGNWRITING TORSO-FLOORPLANE TWISTING;So;0;L;;;;;N;;;;;
+1DA75;SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS;Mn;0;NSM;;;;;N;;;;;
+1DA76;SIGNWRITING LIMB COMBINATION;So;0;L;;;;;N;;;;;
+1DA77;SIGNWRITING LIMB LENGTH-1;So;0;L;;;;;N;;;;;
+1DA78;SIGNWRITING LIMB LENGTH-2;So;0;L;;;;;N;;;;;
+1DA79;SIGNWRITING LIMB LENGTH-3;So;0;L;;;;;N;;;;;
+1DA7A;SIGNWRITING LIMB LENGTH-4;So;0;L;;;;;N;;;;;
+1DA7B;SIGNWRITING LIMB LENGTH-5;So;0;L;;;;;N;;;;;
+1DA7C;SIGNWRITING LIMB LENGTH-6;So;0;L;;;;;N;;;;;
+1DA7D;SIGNWRITING LIMB LENGTH-7;So;0;L;;;;;N;;;;;
+1DA7E;SIGNWRITING FINGER;So;0;L;;;;;N;;;;;
+1DA7F;SIGNWRITING LOCATION-WALLPLANE SPACE;So;0;L;;;;;N;;;;;
+1DA80;SIGNWRITING LOCATION-FLOORPLANE SPACE;So;0;L;;;;;N;;;;;
+1DA81;SIGNWRITING LOCATION HEIGHT;So;0;L;;;;;N;;;;;
+1DA82;SIGNWRITING LOCATION WIDTH;So;0;L;;;;;N;;;;;
+1DA83;SIGNWRITING LOCATION DEPTH;So;0;L;;;;;N;;;;;
+1DA84;SIGNWRITING LOCATION HEAD NECK;Mn;0;NSM;;;;;N;;;;;
+1DA85;SIGNWRITING LOCATION TORSO;So;0;L;;;;;N;;;;;
+1DA86;SIGNWRITING LOCATION LIMBS DIGITS;So;0;L;;;;;N;;;;;
+1DA87;SIGNWRITING COMMA;Po;0;L;;;;;N;;;;;
+1DA88;SIGNWRITING FULL STOP;Po;0;L;;;;;N;;;;;
+1DA89;SIGNWRITING SEMICOLON;Po;0;L;;;;;N;;;;;
+1DA8A;SIGNWRITING COLON;Po;0;L;;;;;N;;;;;
+1DA8B;SIGNWRITING PARENTHESIS;Po;0;L;;;;;N;;;;;
+1DA9B;SIGNWRITING FILL MODIFIER-2;Mn;0;NSM;;;;;N;;;;;
+1DA9C;SIGNWRITING FILL MODIFIER-3;Mn;0;NSM;;;;;N;;;;;
+1DA9D;SIGNWRITING FILL MODIFIER-4;Mn;0;NSM;;;;;N;;;;;
+1DA9E;SIGNWRITING FILL MODIFIER-5;Mn;0;NSM;;;;;N;;;;;
+1DA9F;SIGNWRITING FILL MODIFIER-6;Mn;0;NSM;;;;;N;;;;;
+1DAA1;SIGNWRITING ROTATION MODIFIER-2;Mn;0;NSM;;;;;N;;;;;
+1DAA2;SIGNWRITING ROTATION MODIFIER-3;Mn;0;NSM;;;;;N;;;;;
+1DAA3;SIGNWRITING ROTATION MODIFIER-4;Mn;0;NSM;;;;;N;;;;;
+1DAA4;SIGNWRITING ROTATION MODIFIER-5;Mn;0;NSM;;;;;N;;;;;
+1DAA5;SIGNWRITING ROTATION MODIFIER-6;Mn;0;NSM;;;;;N;;;;;
+1DAA6;SIGNWRITING ROTATION MODIFIER-7;Mn;0;NSM;;;;;N;;;;;
+1DAA7;SIGNWRITING ROTATION MODIFIER-8;Mn;0;NSM;;;;;N;;;;;
+1DAA8;SIGNWRITING ROTATION MODIFIER-9;Mn;0;NSM;;;;;N;;;;;
+1DAA9;SIGNWRITING ROTATION MODIFIER-10;Mn;0;NSM;;;;;N;;;;;
+1DAAA;SIGNWRITING ROTATION MODIFIER-11;Mn;0;NSM;;;;;N;;;;;
+1DAAB;SIGNWRITING ROTATION MODIFIER-12;Mn;0;NSM;;;;;N;;;;;
+1DAAC;SIGNWRITING ROTATION MODIFIER-13;Mn;0;NSM;;;;;N;;;;;
+1DAAD;SIGNWRITING ROTATION MODIFIER-14;Mn;0;NSM;;;;;N;;;;;
+1DAAE;SIGNWRITING ROTATION MODIFIER-15;Mn;0;NSM;;;;;N;;;;;
+1DAAF;SIGNWRITING ROTATION MODIFIER-16;Mn;0;NSM;;;;;N;;;;;
+1E800;MENDE KIKAKUI SYLLABLE M001 KI;Lo;0;R;;;;;N;;;;;
+1E801;MENDE KIKAKUI SYLLABLE M002 KA;Lo;0;R;;;;;N;;;;;
+1E802;MENDE KIKAKUI SYLLABLE M003 KU;Lo;0;R;;;;;N;;;;;
+1E803;MENDE KIKAKUI SYLLABLE M065 KEE;Lo;0;R;;;;;N;;;;;
+1E804;MENDE KIKAKUI SYLLABLE M095 KE;Lo;0;R;;;;;N;;;;;
+1E805;MENDE KIKAKUI SYLLABLE M076 KOO;Lo;0;R;;;;;N;;;;;
+1E806;MENDE KIKAKUI SYLLABLE M048 KO;Lo;0;R;;;;;N;;;;;
+1E807;MENDE KIKAKUI SYLLABLE M179 KUA;Lo;0;R;;;;;N;;;;;
+1E808;MENDE KIKAKUI SYLLABLE M004 WI;Lo;0;R;;;;;N;;;;;
+1E809;MENDE KIKAKUI SYLLABLE M005 WA;Lo;0;R;;;;;N;;;;;
+1E80A;MENDE KIKAKUI SYLLABLE M006 WU;Lo;0;R;;;;;N;;;;;
+1E80B;MENDE KIKAKUI SYLLABLE M126 WEE;Lo;0;R;;;;;N;;;;;
+1E80C;MENDE KIKAKUI SYLLABLE M118 WE;Lo;0;R;;;;;N;;;;;
+1E80D;MENDE KIKAKUI SYLLABLE M114 WOO;Lo;0;R;;;;;N;;;;;
+1E80E;MENDE KIKAKUI SYLLABLE M045 WO;Lo;0;R;;;;;N;;;;;
+1E80F;MENDE KIKAKUI SYLLABLE M194 WUI;Lo;0;R;;;;;N;;;;;
+1E810;MENDE KIKAKUI SYLLABLE M143 WEI;Lo;0;R;;;;;N;;;;;
+1E811;MENDE KIKAKUI SYLLABLE M061 WVI;Lo;0;R;;;;;N;;;;;
+1E812;MENDE KIKAKUI SYLLABLE M049 WVA;Lo;0;R;;;;;N;;;;;
+1E813;MENDE KIKAKUI SYLLABLE M139 WVE;Lo;0;R;;;;;N;;;;;
+1E814;MENDE KIKAKUI SYLLABLE M007 MIN;Lo;0;R;;;;;N;;;;;
+1E815;MENDE KIKAKUI SYLLABLE M008 MAN;Lo;0;R;;;;;N;;;;;
+1E816;MENDE KIKAKUI SYLLABLE M009 MUN;Lo;0;R;;;;;N;;;;;
+1E817;MENDE KIKAKUI SYLLABLE M059 MEN;Lo;0;R;;;;;N;;;;;
+1E818;MENDE KIKAKUI SYLLABLE M094 MON;Lo;0;R;;;;;N;;;;;
+1E819;MENDE KIKAKUI SYLLABLE M154 MUAN;Lo;0;R;;;;;N;;;;;
+1E81A;MENDE KIKAKUI SYLLABLE M189 MUEN;Lo;0;R;;;;;N;;;;;
+1E81B;MENDE KIKAKUI SYLLABLE M010 BI;Lo;0;R;;;;;N;;;;;
+1E81C;MENDE KIKAKUI SYLLABLE M011 BA;Lo;0;R;;;;;N;;;;;
+1E81D;MENDE KIKAKUI SYLLABLE M012 BU;Lo;0;R;;;;;N;;;;;
+1E81E;MENDE KIKAKUI SYLLABLE M150 BEE;Lo;0;R;;;;;N;;;;;
+1E81F;MENDE KIKAKUI SYLLABLE M097 BE;Lo;0;R;;;;;N;;;;;
+1E820;MENDE KIKAKUI SYLLABLE M103 BOO;Lo;0;R;;;;;N;;;;;
+1E821;MENDE KIKAKUI SYLLABLE M138 BO;Lo;0;R;;;;;N;;;;;
+1E822;MENDE KIKAKUI SYLLABLE M013 I;Lo;0;R;;;;;N;;;;;
+1E823;MENDE KIKAKUI SYLLABLE M014 A;Lo;0;R;;;;;N;;;;;
+1E824;MENDE KIKAKUI SYLLABLE M015 U;Lo;0;R;;;;;N;;;;;
+1E825;MENDE KIKAKUI SYLLABLE M163 EE;Lo;0;R;;;;;N;;;;;
+1E826;MENDE KIKAKUI SYLLABLE M100 E;Lo;0;R;;;;;N;;;;;
+1E827;MENDE KIKAKUI SYLLABLE M165 OO;Lo;0;R;;;;;N;;;;;
+1E828;MENDE KIKAKUI SYLLABLE M147 O;Lo;0;R;;;;;N;;;;;
+1E829;MENDE KIKAKUI SYLLABLE M137 EI;Lo;0;R;;;;;N;;;;;
+1E82A;MENDE KIKAKUI SYLLABLE M131 IN;Lo;0;R;;;;;N;;;;;
+1E82B;MENDE KIKAKUI SYLLABLE M135 IN;Lo;0;R;;;;;N;;;;;
+1E82C;MENDE KIKAKUI SYLLABLE M195 AN;Lo;0;R;;;;;N;;;;;
+1E82D;MENDE KIKAKUI SYLLABLE M178 EN;Lo;0;R;;;;;N;;;;;
+1E82E;MENDE KIKAKUI SYLLABLE M019 SI;Lo;0;R;;;;;N;;;;;
+1E82F;MENDE KIKAKUI SYLLABLE M020 SA;Lo;0;R;;;;;N;;;;;
+1E830;MENDE KIKAKUI SYLLABLE M021 SU;Lo;0;R;;;;;N;;;;;
+1E831;MENDE KIKAKUI SYLLABLE M162 SEE;Lo;0;R;;;;;N;;;;;
+1E832;MENDE KIKAKUI SYLLABLE M116 SE;Lo;0;R;;;;;N;;;;;
+1E833;MENDE KIKAKUI SYLLABLE M136 SOO;Lo;0;R;;;;;N;;;;;
+1E834;MENDE KIKAKUI SYLLABLE M079 SO;Lo;0;R;;;;;N;;;;;
+1E835;MENDE KIKAKUI SYLLABLE M196 SIA;Lo;0;R;;;;;N;;;;;
+1E836;MENDE KIKAKUI SYLLABLE M025 LI;Lo;0;R;;;;;N;;;;;
+1E837;MENDE KIKAKUI SYLLABLE M026 LA;Lo;0;R;;;;;N;;;;;
+1E838;MENDE KIKAKUI SYLLABLE M027 LU;Lo;0;R;;;;;N;;;;;
+1E839;MENDE KIKAKUI SYLLABLE M084 LEE;Lo;0;R;;;;;N;;;;;
+1E83A;MENDE KIKAKUI SYLLABLE M073 LE;Lo;0;R;;;;;N;;;;;
+1E83B;MENDE KIKAKUI SYLLABLE M054 LOO;Lo;0;R;;;;;N;;;;;
+1E83C;MENDE KIKAKUI SYLLABLE M153 LO;Lo;0;R;;;;;N;;;;;
+1E83D;MENDE KIKAKUI SYLLABLE M110 LONG LE;Lo;0;R;;;;;N;;;;;
+1E83E;MENDE KIKAKUI SYLLABLE M016 DI;Lo;0;R;;;;;N;;;;;
+1E83F;MENDE KIKAKUI SYLLABLE M017 DA;Lo;0;R;;;;;N;;;;;
+1E840;MENDE KIKAKUI SYLLABLE M018 DU;Lo;0;R;;;;;N;;;;;
+1E841;MENDE KIKAKUI SYLLABLE M089 DEE;Lo;0;R;;;;;N;;;;;
+1E842;MENDE KIKAKUI SYLLABLE M180 DOO;Lo;0;R;;;;;N;;;;;
+1E843;MENDE KIKAKUI SYLLABLE M181 DO;Lo;0;R;;;;;N;;;;;
+1E844;MENDE KIKAKUI SYLLABLE M022 TI;Lo;0;R;;;;;N;;;;;
+1E845;MENDE KIKAKUI SYLLABLE M023 TA;Lo;0;R;;;;;N;;;;;
+1E846;MENDE KIKAKUI SYLLABLE M024 TU;Lo;0;R;;;;;N;;;;;
+1E847;MENDE KIKAKUI SYLLABLE M091 TEE;Lo;0;R;;;;;N;;;;;
+1E848;MENDE KIKAKUI SYLLABLE M055 TE;Lo;0;R;;;;;N;;;;;
+1E849;MENDE KIKAKUI SYLLABLE M104 TOO;Lo;0;R;;;;;N;;;;;
+1E84A;MENDE KIKAKUI SYLLABLE M069 TO;Lo;0;R;;;;;N;;;;;
+1E84B;MENDE KIKAKUI SYLLABLE M028 JI;Lo;0;R;;;;;N;;;;;
+1E84C;MENDE KIKAKUI SYLLABLE M029 JA;Lo;0;R;;;;;N;;;;;
+1E84D;MENDE KIKAKUI SYLLABLE M030 JU;Lo;0;R;;;;;N;;;;;
+1E84E;MENDE KIKAKUI SYLLABLE M157 JEE;Lo;0;R;;;;;N;;;;;
+1E84F;MENDE KIKAKUI SYLLABLE M113 JE;Lo;0;R;;;;;N;;;;;
+1E850;MENDE KIKAKUI SYLLABLE M160 JOO;Lo;0;R;;;;;N;;;;;
+1E851;MENDE KIKAKUI SYLLABLE M063 JO;Lo;0;R;;;;;N;;;;;
+1E852;MENDE KIKAKUI SYLLABLE M175 LONG JO;Lo;0;R;;;;;N;;;;;
+1E853;MENDE KIKAKUI SYLLABLE M031 YI;Lo;0;R;;;;;N;;;;;
+1E854;MENDE KIKAKUI SYLLABLE M032 YA;Lo;0;R;;;;;N;;;;;
+1E855;MENDE KIKAKUI SYLLABLE M033 YU;Lo;0;R;;;;;N;;;;;
+1E856;MENDE KIKAKUI SYLLABLE M109 YEE;Lo;0;R;;;;;N;;;;;
+1E857;MENDE KIKAKUI SYLLABLE M080 YE;Lo;0;R;;;;;N;;;;;
+1E858;MENDE KIKAKUI SYLLABLE M141 YOO;Lo;0;R;;;;;N;;;;;
+1E859;MENDE KIKAKUI SYLLABLE M121 YO;Lo;0;R;;;;;N;;;;;
+1E85A;MENDE KIKAKUI SYLLABLE M034 FI;Lo;0;R;;;;;N;;;;;
+1E85B;MENDE KIKAKUI SYLLABLE M035 FA;Lo;0;R;;;;;N;;;;;
+1E85C;MENDE KIKAKUI SYLLABLE M036 FU;Lo;0;R;;;;;N;;;;;
+1E85D;MENDE KIKAKUI SYLLABLE M078 FEE;Lo;0;R;;;;;N;;;;;
+1E85E;MENDE KIKAKUI SYLLABLE M075 FE;Lo;0;R;;;;;N;;;;;
+1E85F;MENDE KIKAKUI SYLLABLE M133 FOO;Lo;0;R;;;;;N;;;;;
+1E860;MENDE KIKAKUI SYLLABLE M088 FO;Lo;0;R;;;;;N;;;;;
+1E861;MENDE KIKAKUI SYLLABLE M197 FUA;Lo;0;R;;;;;N;;;;;
+1E862;MENDE KIKAKUI SYLLABLE M101 FAN;Lo;0;R;;;;;N;;;;;
+1E863;MENDE KIKAKUI SYLLABLE M037 NIN;Lo;0;R;;;;;N;;;;;
+1E864;MENDE KIKAKUI SYLLABLE M038 NAN;Lo;0;R;;;;;N;;;;;
+1E865;MENDE KIKAKUI SYLLABLE M039 NUN;Lo;0;R;;;;;N;;;;;
+1E866;MENDE KIKAKUI SYLLABLE M117 NEN;Lo;0;R;;;;;N;;;;;
+1E867;MENDE KIKAKUI SYLLABLE M169 NON;Lo;0;R;;;;;N;;;;;
+1E868;MENDE KIKAKUI SYLLABLE M176 HI;Lo;0;R;;;;;N;;;;;
+1E869;MENDE KIKAKUI SYLLABLE M041 HA;Lo;0;R;;;;;N;;;;;
+1E86A;MENDE KIKAKUI SYLLABLE M186 HU;Lo;0;R;;;;;N;;;;;
+1E86B;MENDE KIKAKUI SYLLABLE M040 HEE;Lo;0;R;;;;;N;;;;;
+1E86C;MENDE KIKAKUI SYLLABLE M096 HE;Lo;0;R;;;;;N;;;;;
+1E86D;MENDE KIKAKUI SYLLABLE M042 HOO;Lo;0;R;;;;;N;;;;;
+1E86E;MENDE KIKAKUI SYLLABLE M140 HO;Lo;0;R;;;;;N;;;;;
+1E86F;MENDE KIKAKUI SYLLABLE M083 HEEI;Lo;0;R;;;;;N;;;;;
+1E870;MENDE KIKAKUI SYLLABLE M128 HOOU;Lo;0;R;;;;;N;;;;;
+1E871;MENDE KIKAKUI SYLLABLE M053 HIN;Lo;0;R;;;;;N;;;;;
+1E872;MENDE KIKAKUI SYLLABLE M130 HAN;Lo;0;R;;;;;N;;;;;
+1E873;MENDE KIKAKUI SYLLABLE M087 HUN;Lo;0;R;;;;;N;;;;;
+1E874;MENDE KIKAKUI SYLLABLE M052 HEN;Lo;0;R;;;;;N;;;;;
+1E875;MENDE KIKAKUI SYLLABLE M193 HON;Lo;0;R;;;;;N;;;;;
+1E876;MENDE KIKAKUI SYLLABLE M046 HUAN;Lo;0;R;;;;;N;;;;;
+1E877;MENDE KIKAKUI SYLLABLE M090 NGGI;Lo;0;R;;;;;N;;;;;
+1E878;MENDE KIKAKUI SYLLABLE M043 NGGA;Lo;0;R;;;;;N;;;;;
+1E879;MENDE KIKAKUI SYLLABLE M082 NGGU;Lo;0;R;;;;;N;;;;;
+1E87A;MENDE KIKAKUI SYLLABLE M115 NGGEE;Lo;0;R;;;;;N;;;;;
+1E87B;MENDE KIKAKUI SYLLABLE M146 NGGE;Lo;0;R;;;;;N;;;;;
+1E87C;MENDE KIKAKUI SYLLABLE M156 NGGOO;Lo;0;R;;;;;N;;;;;
+1E87D;MENDE KIKAKUI SYLLABLE M120 NGGO;Lo;0;R;;;;;N;;;;;
+1E87E;MENDE KIKAKUI SYLLABLE M159 NGGAA;Lo;0;R;;;;;N;;;;;
+1E87F;MENDE KIKAKUI SYLLABLE M127 NGGUA;Lo;0;R;;;;;N;;;;;
+1E880;MENDE KIKAKUI SYLLABLE M086 LONG NGGE;Lo;0;R;;;;;N;;;;;
+1E881;MENDE KIKAKUI SYLLABLE M106 LONG NGGOO;Lo;0;R;;;;;N;;;;;
+1E882;MENDE KIKAKUI SYLLABLE M183 LONG NGGO;Lo;0;R;;;;;N;;;;;
+1E883;MENDE KIKAKUI SYLLABLE M155 GI;Lo;0;R;;;;;N;;;;;
+1E884;MENDE KIKAKUI SYLLABLE M111 GA;Lo;0;R;;;;;N;;;;;
+1E885;MENDE KIKAKUI SYLLABLE M168 GU;Lo;0;R;;;;;N;;;;;
+1E886;MENDE KIKAKUI SYLLABLE M190 GEE;Lo;0;R;;;;;N;;;;;
+1E887;MENDE KIKAKUI SYLLABLE M166 GUEI;Lo;0;R;;;;;N;;;;;
+1E888;MENDE KIKAKUI SYLLABLE M167 GUAN;Lo;0;R;;;;;N;;;;;
+1E889;MENDE KIKAKUI SYLLABLE M184 NGEN;Lo;0;R;;;;;N;;;;;
+1E88A;MENDE KIKAKUI SYLLABLE M057 NGON;Lo;0;R;;;;;N;;;;;
+1E88B;MENDE KIKAKUI SYLLABLE M177 NGUAN;Lo;0;R;;;;;N;;;;;
+1E88C;MENDE KIKAKUI SYLLABLE M068 PI;Lo;0;R;;;;;N;;;;;
+1E88D;MENDE KIKAKUI SYLLABLE M099 PA;Lo;0;R;;;;;N;;;;;
+1E88E;MENDE KIKAKUI SYLLABLE M050 PU;Lo;0;R;;;;;N;;;;;
+1E88F;MENDE KIKAKUI SYLLABLE M081 PEE;Lo;0;R;;;;;N;;;;;
+1E890;MENDE KIKAKUI SYLLABLE M051 PE;Lo;0;R;;;;;N;;;;;
+1E891;MENDE KIKAKUI SYLLABLE M102 POO;Lo;0;R;;;;;N;;;;;
+1E892;MENDE KIKAKUI SYLLABLE M066 PO;Lo;0;R;;;;;N;;;;;
+1E893;MENDE KIKAKUI SYLLABLE M145 MBI;Lo;0;R;;;;;N;;;;;
+1E894;MENDE KIKAKUI SYLLABLE M062 MBA;Lo;0;R;;;;;N;;;;;
+1E895;MENDE KIKAKUI SYLLABLE M122 MBU;Lo;0;R;;;;;N;;;;;
+1E896;MENDE KIKAKUI SYLLABLE M047 MBEE;Lo;0;R;;;;;N;;;;;
+1E897;MENDE KIKAKUI SYLLABLE M188 MBEE;Lo;0;R;;;;;N;;;;;
+1E898;MENDE KIKAKUI SYLLABLE M072 MBE;Lo;0;R;;;;;N;;;;;
+1E899;MENDE KIKAKUI SYLLABLE M172 MBOO;Lo;0;R;;;;;N;;;;;
+1E89A;MENDE KIKAKUI SYLLABLE M174 MBO;Lo;0;R;;;;;N;;;;;
+1E89B;MENDE KIKAKUI SYLLABLE M187 MBUU;Lo;0;R;;;;;N;;;;;
+1E89C;MENDE KIKAKUI SYLLABLE M161 LONG MBE;Lo;0;R;;;;;N;;;;;
+1E89D;MENDE KIKAKUI SYLLABLE M105 LONG MBOO;Lo;0;R;;;;;N;;;;;
+1E89E;MENDE KIKAKUI SYLLABLE M142 LONG MBO;Lo;0;R;;;;;N;;;;;
+1E89F;MENDE KIKAKUI SYLLABLE M132 KPI;Lo;0;R;;;;;N;;;;;
+1E8A0;MENDE KIKAKUI SYLLABLE M092 KPA;Lo;0;R;;;;;N;;;;;
+1E8A1;MENDE KIKAKUI SYLLABLE M074 KPU;Lo;0;R;;;;;N;;;;;
+1E8A2;MENDE KIKAKUI SYLLABLE M044 KPEE;Lo;0;R;;;;;N;;;;;
+1E8A3;MENDE KIKAKUI SYLLABLE M108 KPE;Lo;0;R;;;;;N;;;;;
+1E8A4;MENDE KIKAKUI SYLLABLE M112 KPOO;Lo;0;R;;;;;N;;;;;
+1E8A5;MENDE KIKAKUI SYLLABLE M158 KPO;Lo;0;R;;;;;N;;;;;
+1E8A6;MENDE KIKAKUI SYLLABLE M124 GBI;Lo;0;R;;;;;N;;;;;
+1E8A7;MENDE KIKAKUI SYLLABLE M056 GBA;Lo;0;R;;;;;N;;;;;
+1E8A8;MENDE KIKAKUI SYLLABLE M148 GBU;Lo;0;R;;;;;N;;;;;
+1E8A9;MENDE KIKAKUI SYLLABLE M093 GBEE;Lo;0;R;;;;;N;;;;;
+1E8AA;MENDE KIKAKUI SYLLABLE M107 GBE;Lo;0;R;;;;;N;;;;;
+1E8AB;MENDE KIKAKUI SYLLABLE M071 GBOO;Lo;0;R;;;;;N;;;;;
+1E8AC;MENDE KIKAKUI SYLLABLE M070 GBO;Lo;0;R;;;;;N;;;;;
+1E8AD;MENDE KIKAKUI SYLLABLE M171 RA;Lo;0;R;;;;;N;;;;;
+1E8AE;MENDE KIKAKUI SYLLABLE M123 NDI;Lo;0;R;;;;;N;;;;;
+1E8AF;MENDE KIKAKUI SYLLABLE M129 NDA;Lo;0;R;;;;;N;;;;;
+1E8B0;MENDE KIKAKUI SYLLABLE M125 NDU;Lo;0;R;;;;;N;;;;;
+1E8B1;MENDE KIKAKUI SYLLABLE M191 NDEE;Lo;0;R;;;;;N;;;;;
+1E8B2;MENDE KIKAKUI SYLLABLE M119 NDE;Lo;0;R;;;;;N;;;;;
+1E8B3;MENDE KIKAKUI SYLLABLE M067 NDOO;Lo;0;R;;;;;N;;;;;
+1E8B4;MENDE KIKAKUI SYLLABLE M064 NDO;Lo;0;R;;;;;N;;;;;
+1E8B5;MENDE KIKAKUI SYLLABLE M152 NJA;Lo;0;R;;;;;N;;;;;
+1E8B6;MENDE KIKAKUI SYLLABLE M192 NJU;Lo;0;R;;;;;N;;;;;
+1E8B7;MENDE KIKAKUI SYLLABLE M149 NJEE;Lo;0;R;;;;;N;;;;;
+1E8B8;MENDE KIKAKUI SYLLABLE M134 NJOO;Lo;0;R;;;;;N;;;;;
+1E8B9;MENDE KIKAKUI SYLLABLE M182 VI;Lo;0;R;;;;;N;;;;;
+1E8BA;MENDE KIKAKUI SYLLABLE M185 VA;Lo;0;R;;;;;N;;;;;
+1E8BB;MENDE KIKAKUI SYLLABLE M151 VU;Lo;0;R;;;;;N;;;;;
+1E8BC;MENDE KIKAKUI SYLLABLE M173 VEE;Lo;0;R;;;;;N;;;;;
+1E8BD;MENDE KIKAKUI SYLLABLE M085 VE;Lo;0;R;;;;;N;;;;;
+1E8BE;MENDE KIKAKUI SYLLABLE M144 VOO;Lo;0;R;;;;;N;;;;;
+1E8BF;MENDE KIKAKUI SYLLABLE M077 VO;Lo;0;R;;;;;N;;;;;
+1E8C0;MENDE KIKAKUI SYLLABLE M164 NYIN;Lo;0;R;;;;;N;;;;;
+1E8C1;MENDE KIKAKUI SYLLABLE M058 NYAN;Lo;0;R;;;;;N;;;;;
+1E8C2;MENDE KIKAKUI SYLLABLE M170 NYUN;Lo;0;R;;;;;N;;;;;
+1E8C3;MENDE KIKAKUI SYLLABLE M098 NYEN;Lo;0;R;;;;;N;;;;;
+1E8C4;MENDE KIKAKUI SYLLABLE M060 NYON;Lo;0;R;;;;;N;;;;;
+1E8C7;MENDE KIKAKUI DIGIT ONE;No;0;R;;;;1;N;;;;;
+1E8C8;MENDE KIKAKUI DIGIT TWO;No;0;R;;;;2;N;;;;;
+1E8C9;MENDE KIKAKUI DIGIT THREE;No;0;R;;;;3;N;;;;;
+1E8CA;MENDE KIKAKUI DIGIT FOUR;No;0;R;;;;4;N;;;;;
+1E8CB;MENDE KIKAKUI DIGIT FIVE;No;0;R;;;;5;N;;;;;
+1E8CC;MENDE KIKAKUI DIGIT SIX;No;0;R;;;;6;N;;;;;
+1E8CD;MENDE KIKAKUI DIGIT SEVEN;No;0;R;;;;7;N;;;;;
+1E8CE;MENDE KIKAKUI DIGIT EIGHT;No;0;R;;;;8;N;;;;;
+1E8CF;MENDE KIKAKUI DIGIT NINE;No;0;R;;;;9;N;;;;;
+1E8D0;MENDE KIKAKUI COMBINING NUMBER TEENS;Mn;220;NSM;;;;;N;;;;;
+1E8D1;MENDE KIKAKUI COMBINING NUMBER TENS;Mn;220;NSM;;;;;N;;;;;
+1E8D2;MENDE KIKAKUI COMBINING NUMBER HUNDREDS;Mn;220;NSM;;;;;N;;;;;
+1E8D3;MENDE KIKAKUI COMBINING NUMBER THOUSANDS;Mn;220;NSM;;;;;N;;;;;
+1E8D4;MENDE KIKAKUI COMBINING NUMBER TEN THOUSANDS;Mn;220;NSM;;;;;N;;;;;
+1E8D5;MENDE KIKAKUI COMBINING NUMBER HUNDRED THOUSANDS;Mn;220;NSM;;;;;N;;;;;
+1E8D6;MENDE KIKAKUI COMBINING NUMBER MILLIONS;Mn;220;NSM;;;;;N;;;;;
+1EE00;ARABIC MATHEMATICAL ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
+1EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE03;ARABIC MATHEMATICAL DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
+1EE05;ARABIC MATHEMATICAL WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
+1EE06;ARABIC MATHEMATICAL ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
+1EE07;ARABIC MATHEMATICAL HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE08;ARABIC MATHEMATICAL TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EE09;ARABIC MATHEMATICAL YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE0A;ARABIC MATHEMATICAL KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
+1EE0B;ARABIC MATHEMATICAL LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE0C;ARABIC MATHEMATICAL MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE0D;ARABIC MATHEMATICAL NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE0E;ARABIC MATHEMATICAL SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE0F;ARABIC MATHEMATICAL AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE10;ARABIC MATHEMATICAL FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE11;ARABIC MATHEMATICAL SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE12;ARABIC MATHEMATICAL QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE13;ARABIC MATHEMATICAL REH;Lo;0;AL;<font> 0631;;;;N;;;;;
+1EE14;ARABIC MATHEMATICAL SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE15;ARABIC MATHEMATICAL TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE16;ARABIC MATHEMATICAL THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE17;ARABIC MATHEMATICAL KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE18;ARABIC MATHEMATICAL THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
+1EE19;ARABIC MATHEMATICAL DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE1A;ARABIC MATHEMATICAL ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EE1B;ARABIC MATHEMATICAL GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE1C;ARABIC MATHEMATICAL DOTLESS BEH;Lo;0;AL;<font> 066E;;;;N;;;;;
+1EE1D;ARABIC MATHEMATICAL DOTLESS NOON;Lo;0;AL;<font> 06BA;;;;N;;;;;
+1EE1E;ARABIC MATHEMATICAL DOTLESS FEH;Lo;0;AL;<font> 06A1;;;;N;;;;;
+1EE1F;ARABIC MATHEMATICAL DOTLESS QAF;Lo;0;AL;<font> 066F;;;;N;;;;;
+1EE21;ARABIC MATHEMATICAL INITIAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE22;ARABIC MATHEMATICAL INITIAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE24;ARABIC MATHEMATICAL INITIAL HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
+1EE27;ARABIC MATHEMATICAL INITIAL HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE29;ARABIC MATHEMATICAL INITIAL YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE2A;ARABIC MATHEMATICAL INITIAL KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
+1EE2B;ARABIC MATHEMATICAL INITIAL LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE2C;ARABIC MATHEMATICAL INITIAL MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE2D;ARABIC MATHEMATICAL INITIAL NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE2E;ARABIC MATHEMATICAL INITIAL SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE2F;ARABIC MATHEMATICAL INITIAL AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE30;ARABIC MATHEMATICAL INITIAL FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE31;ARABIC MATHEMATICAL INITIAL SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE32;ARABIC MATHEMATICAL INITIAL QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE34;ARABIC MATHEMATICAL INITIAL SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE35;ARABIC MATHEMATICAL INITIAL TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE36;ARABIC MATHEMATICAL INITIAL THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE37;ARABIC MATHEMATICAL INITIAL KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE39;ARABIC MATHEMATICAL INITIAL DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE3B;ARABIC MATHEMATICAL INITIAL GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE42;ARABIC MATHEMATICAL TAILED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE47;ARABIC MATHEMATICAL TAILED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE49;ARABIC MATHEMATICAL TAILED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE4B;ARABIC MATHEMATICAL TAILED LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE4D;ARABIC MATHEMATICAL TAILED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE4E;ARABIC MATHEMATICAL TAILED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE4F;ARABIC MATHEMATICAL TAILED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE51;ARABIC MATHEMATICAL TAILED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE52;ARABIC MATHEMATICAL TAILED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE54;ARABIC MATHEMATICAL TAILED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE57;ARABIC MATHEMATICAL TAILED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE59;ARABIC MATHEMATICAL TAILED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE5B;ARABIC MATHEMATICAL TAILED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE5D;ARABIC MATHEMATICAL TAILED DOTLESS NOON;Lo;0;AL;<font> 06BA;;;;N;;;;;
+1EE5F;ARABIC MATHEMATICAL TAILED DOTLESS QAF;Lo;0;AL;<font> 066F;;;;N;;;;;
+1EE61;ARABIC MATHEMATICAL STRETCHED BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE62;ARABIC MATHEMATICAL STRETCHED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE64;ARABIC MATHEMATICAL STRETCHED HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
+1EE67;ARABIC MATHEMATICAL STRETCHED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE68;ARABIC MATHEMATICAL STRETCHED TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EE69;ARABIC MATHEMATICAL STRETCHED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE6A;ARABIC MATHEMATICAL STRETCHED KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
+1EE6C;ARABIC MATHEMATICAL STRETCHED MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE6D;ARABIC MATHEMATICAL STRETCHED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE6E;ARABIC MATHEMATICAL STRETCHED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE6F;ARABIC MATHEMATICAL STRETCHED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE70;ARABIC MATHEMATICAL STRETCHED FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE71;ARABIC MATHEMATICAL STRETCHED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE72;ARABIC MATHEMATICAL STRETCHED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE74;ARABIC MATHEMATICAL STRETCHED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE75;ARABIC MATHEMATICAL STRETCHED TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE76;ARABIC MATHEMATICAL STRETCHED THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE77;ARABIC MATHEMATICAL STRETCHED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE79;ARABIC MATHEMATICAL STRETCHED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE7A;ARABIC MATHEMATICAL STRETCHED ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EE7B;ARABIC MATHEMATICAL STRETCHED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE7C;ARABIC MATHEMATICAL STRETCHED DOTLESS BEH;Lo;0;AL;<font> 066E;;;;N;;;;;
+1EE7E;ARABIC MATHEMATICAL STRETCHED DOTLESS FEH;Lo;0;AL;<font> 06A1;;;;N;;;;;
+1EE80;ARABIC MATHEMATICAL LOOPED ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
+1EE81;ARABIC MATHEMATICAL LOOPED BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE82;ARABIC MATHEMATICAL LOOPED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE83;ARABIC MATHEMATICAL LOOPED DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
+1EE84;ARABIC MATHEMATICAL LOOPED HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
+1EE85;ARABIC MATHEMATICAL LOOPED WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
+1EE86;ARABIC MATHEMATICAL LOOPED ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
+1EE87;ARABIC MATHEMATICAL LOOPED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE88;ARABIC MATHEMATICAL LOOPED TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EE89;ARABIC MATHEMATICAL LOOPED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE8B;ARABIC MATHEMATICAL LOOPED LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE8C;ARABIC MATHEMATICAL LOOPED MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE8D;ARABIC MATHEMATICAL LOOPED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE8E;ARABIC MATHEMATICAL LOOPED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE8F;ARABIC MATHEMATICAL LOOPED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE90;ARABIC MATHEMATICAL LOOPED FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE91;ARABIC MATHEMATICAL LOOPED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE92;ARABIC MATHEMATICAL LOOPED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE93;ARABIC MATHEMATICAL LOOPED REH;Lo;0;AL;<font> 0631;;;;N;;;;;
+1EE94;ARABIC MATHEMATICAL LOOPED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE95;ARABIC MATHEMATICAL LOOPED TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE96;ARABIC MATHEMATICAL LOOPED THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE97;ARABIC MATHEMATICAL LOOPED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE98;ARABIC MATHEMATICAL LOOPED THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
+1EE99;ARABIC MATHEMATICAL LOOPED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE9A;ARABIC MATHEMATICAL LOOPED ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EE9B;ARABIC MATHEMATICAL LOOPED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EEA1;ARABIC MATHEMATICAL DOUBLE-STRUCK BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EEA2;ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EEA3;ARABIC MATHEMATICAL DOUBLE-STRUCK DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
+1EEA5;ARABIC MATHEMATICAL DOUBLE-STRUCK WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
+1EEA6;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
+1EEA7;ARABIC MATHEMATICAL DOUBLE-STRUCK HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EEA8;ARABIC MATHEMATICAL DOUBLE-STRUCK TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EEA9;ARABIC MATHEMATICAL DOUBLE-STRUCK YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EEAB;ARABIC MATHEMATICAL DOUBLE-STRUCK LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EEAC;ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EEAD;ARABIC MATHEMATICAL DOUBLE-STRUCK NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EEAE;ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EEAF;ARABIC MATHEMATICAL DOUBLE-STRUCK AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EEB0;ARABIC MATHEMATICAL DOUBLE-STRUCK FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EEB1;ARABIC MATHEMATICAL DOUBLE-STRUCK SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EEB2;ARABIC MATHEMATICAL DOUBLE-STRUCK QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EEB3;ARABIC MATHEMATICAL DOUBLE-STRUCK REH;Lo;0;AL;<font> 0631;;;;N;;;;;
+1EEB4;ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EEB5;ARABIC MATHEMATICAL DOUBLE-STRUCK TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EEB6;ARABIC MATHEMATICAL DOUBLE-STRUCK THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EEB7;ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EEB8;ARABIC MATHEMATICAL DOUBLE-STRUCK THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
+1EEB9;ARABIC MATHEMATICAL DOUBLE-STRUCK DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EEBA;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EEBB;ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EEF0;ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL;Sm;0;ON;;;;;N;;;;;
+1EEF1;ARABIC MATHEMATICAL OPERATOR HAH WITH DAL;Sm;0;ON;;;;;N;;;;;
1F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;;
1F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;;
1F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;;
@@ -29542,6 +26654,1682 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F091;DOMINO TILE VERTICAL-06-04;So;0;ON;;;;;N;;;;;
1F092;DOMINO TILE VERTICAL-06-05;So;0;ON;;;;;N;;;;;
1F093;DOMINO TILE VERTICAL-06-06;So;0;ON;;;;;N;;;;;
+1F0A0;PLAYING CARD BACK;So;0;ON;;;;;N;;;;;
+1F0A1;PLAYING CARD ACE OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A2;PLAYING CARD TWO OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A3;PLAYING CARD THREE OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A4;PLAYING CARD FOUR OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A5;PLAYING CARD FIVE OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A6;PLAYING CARD SIX OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A7;PLAYING CARD SEVEN OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A8;PLAYING CARD EIGHT OF SPADES;So;0;ON;;;;;N;;;;;
+1F0A9;PLAYING CARD NINE OF SPADES;So;0;ON;;;;;N;;;;;
+1F0AA;PLAYING CARD TEN OF SPADES;So;0;ON;;;;;N;;;;;
+1F0AB;PLAYING CARD JACK OF SPADES;So;0;ON;;;;;N;;;;;
+1F0AC;PLAYING CARD KNIGHT OF SPADES;So;0;ON;;;;;N;;;;;
+1F0AD;PLAYING CARD QUEEN OF SPADES;So;0;ON;;;;;N;;;;;
+1F0AE;PLAYING CARD KING OF SPADES;So;0;ON;;;;;N;;;;;
+1F0B1;PLAYING CARD ACE OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B2;PLAYING CARD TWO OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B3;PLAYING CARD THREE OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B4;PLAYING CARD FOUR OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B5;PLAYING CARD FIVE OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B6;PLAYING CARD SIX OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B7;PLAYING CARD SEVEN OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B8;PLAYING CARD EIGHT OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0B9;PLAYING CARD NINE OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0BA;PLAYING CARD TEN OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0BB;PLAYING CARD JACK OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0BC;PLAYING CARD KNIGHT OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0BD;PLAYING CARD QUEEN OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0BE;PLAYING CARD KING OF HEARTS;So;0;ON;;;;;N;;;;;
+1F0BF;PLAYING CARD RED JOKER;So;0;ON;;;;;N;;;;;
+1F0C1;PLAYING CARD ACE OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C2;PLAYING CARD TWO OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C3;PLAYING CARD THREE OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C4;PLAYING CARD FOUR OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C5;PLAYING CARD FIVE OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C6;PLAYING CARD SIX OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C7;PLAYING CARD SEVEN OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C8;PLAYING CARD EIGHT OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0C9;PLAYING CARD NINE OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0CA;PLAYING CARD TEN OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0CB;PLAYING CARD JACK OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0CC;PLAYING CARD KNIGHT OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0CD;PLAYING CARD QUEEN OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0CE;PLAYING CARD KING OF DIAMONDS;So;0;ON;;;;;N;;;;;
+1F0CF;PLAYING CARD BLACK JOKER;So;0;ON;;;;;N;;;;;
+1F0D1;PLAYING CARD ACE OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D2;PLAYING CARD TWO OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D3;PLAYING CARD THREE OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D4;PLAYING CARD FOUR OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D5;PLAYING CARD FIVE OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D6;PLAYING CARD SIX OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D7;PLAYING CARD SEVEN OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D8;PLAYING CARD EIGHT OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0D9;PLAYING CARD NINE OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0DA;PLAYING CARD TEN OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0DB;PLAYING CARD JACK OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0DC;PLAYING CARD KNIGHT OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0DD;PLAYING CARD QUEEN OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0DE;PLAYING CARD KING OF CLUBS;So;0;ON;;;;;N;;;;;
+1F0DF;PLAYING CARD WHITE JOKER;So;0;ON;;;;;N;;;;;
+1F0E0;PLAYING CARD FOOL;So;0;ON;;;;;N;;;;;
+1F0E1;PLAYING CARD TRUMP-1;So;0;ON;;;;;N;;;;;
+1F0E2;PLAYING CARD TRUMP-2;So;0;ON;;;;;N;;;;;
+1F0E3;PLAYING CARD TRUMP-3;So;0;ON;;;;;N;;;;;
+1F0E4;PLAYING CARD TRUMP-4;So;0;ON;;;;;N;;;;;
+1F0E5;PLAYING CARD TRUMP-5;So;0;ON;;;;;N;;;;;
+1F0E6;PLAYING CARD TRUMP-6;So;0;ON;;;;;N;;;;;
+1F0E7;PLAYING CARD TRUMP-7;So;0;ON;;;;;N;;;;;
+1F0E8;PLAYING CARD TRUMP-8;So;0;ON;;;;;N;;;;;
+1F0E9;PLAYING CARD TRUMP-9;So;0;ON;;;;;N;;;;;
+1F0EA;PLAYING CARD TRUMP-10;So;0;ON;;;;;N;;;;;
+1F0EB;PLAYING CARD TRUMP-11;So;0;ON;;;;;N;;;;;
+1F0EC;PLAYING CARD TRUMP-12;So;0;ON;;;;;N;;;;;
+1F0ED;PLAYING CARD TRUMP-13;So;0;ON;;;;;N;;;;;
+1F0EE;PLAYING CARD TRUMP-14;So;0;ON;;;;;N;;;;;
+1F0EF;PLAYING CARD TRUMP-15;So;0;ON;;;;;N;;;;;
+1F0F0;PLAYING CARD TRUMP-16;So;0;ON;;;;;N;;;;;
+1F0F1;PLAYING CARD TRUMP-17;So;0;ON;;;;;N;;;;;
+1F0F2;PLAYING CARD TRUMP-18;So;0;ON;;;;;N;;;;;
+1F0F3;PLAYING CARD TRUMP-19;So;0;ON;;;;;N;;;;;
+1F0F4;PLAYING CARD TRUMP-20;So;0;ON;;;;;N;;;;;
+1F0F5;PLAYING CARD TRUMP-21;So;0;ON;;;;;N;;;;;
+1F100;DIGIT ZERO FULL STOP;No;0;EN;<compat> 0030 002E;;0;0;N;;;;;
+1F101;DIGIT ZERO COMMA;No;0;EN;<compat> 0030 002C;;0;0;N;;;;;
+1F102;DIGIT ONE COMMA;No;0;EN;<compat> 0031 002C;;1;1;N;;;;;
+1F103;DIGIT TWO COMMA;No;0;EN;<compat> 0032 002C;;2;2;N;;;;;
+1F104;DIGIT THREE COMMA;No;0;EN;<compat> 0033 002C;;3;3;N;;;;;
+1F105;DIGIT FOUR COMMA;No;0;EN;<compat> 0034 002C;;4;4;N;;;;;
+1F106;DIGIT FIVE COMMA;No;0;EN;<compat> 0035 002C;;5;5;N;;;;;
+1F107;DIGIT SIX COMMA;No;0;EN;<compat> 0036 002C;;6;6;N;;;;;
+1F108;DIGIT SEVEN COMMA;No;0;EN;<compat> 0037 002C;;7;7;N;;;;;
+1F109;DIGIT EIGHT COMMA;No;0;EN;<compat> 0038 002C;;8;8;N;;;;;
+1F10A;DIGIT NINE COMMA;No;0;EN;<compat> 0039 002C;;9;9;N;;;;;
+1F10B;DINGBAT CIRCLED SANS-SERIF DIGIT ZERO;No;0;ON;;;;0;N;;;;;
+1F10C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO;No;0;ON;;;;0;N;;;;;
+1F110;PARENTHESIZED LATIN CAPITAL LETTER A;So;0;L;<compat> 0028 0041 0029;;;;N;;;;;
+1F111;PARENTHESIZED LATIN CAPITAL LETTER B;So;0;L;<compat> 0028 0042 0029;;;;N;;;;;
+1F112;PARENTHESIZED LATIN CAPITAL LETTER C;So;0;L;<compat> 0028 0043 0029;;;;N;;;;;
+1F113;PARENTHESIZED LATIN CAPITAL LETTER D;So;0;L;<compat> 0028 0044 0029;;;;N;;;;;
+1F114;PARENTHESIZED LATIN CAPITAL LETTER E;So;0;L;<compat> 0028 0045 0029;;;;N;;;;;
+1F115;PARENTHESIZED LATIN CAPITAL LETTER F;So;0;L;<compat> 0028 0046 0029;;;;N;;;;;
+1F116;PARENTHESIZED LATIN CAPITAL LETTER G;So;0;L;<compat> 0028 0047 0029;;;;N;;;;;
+1F117;PARENTHESIZED LATIN CAPITAL LETTER H;So;0;L;<compat> 0028 0048 0029;;;;N;;;;;
+1F118;PARENTHESIZED LATIN CAPITAL LETTER I;So;0;L;<compat> 0028 0049 0029;;;;N;;;;;
+1F119;PARENTHESIZED LATIN CAPITAL LETTER J;So;0;L;<compat> 0028 004A 0029;;;;N;;;;;
+1F11A;PARENTHESIZED LATIN CAPITAL LETTER K;So;0;L;<compat> 0028 004B 0029;;;;N;;;;;
+1F11B;PARENTHESIZED LATIN CAPITAL LETTER L;So;0;L;<compat> 0028 004C 0029;;;;N;;;;;
+1F11C;PARENTHESIZED LATIN CAPITAL LETTER M;So;0;L;<compat> 0028 004D 0029;;;;N;;;;;
+1F11D;PARENTHESIZED LATIN CAPITAL LETTER N;So;0;L;<compat> 0028 004E 0029;;;;N;;;;;
+1F11E;PARENTHESIZED LATIN CAPITAL LETTER O;So;0;L;<compat> 0028 004F 0029;;;;N;;;;;
+1F11F;PARENTHESIZED LATIN CAPITAL LETTER P;So;0;L;<compat> 0028 0050 0029;;;;N;;;;;
+1F120;PARENTHESIZED LATIN CAPITAL LETTER Q;So;0;L;<compat> 0028 0051 0029;;;;N;;;;;
+1F121;PARENTHESIZED LATIN CAPITAL LETTER R;So;0;L;<compat> 0028 0052 0029;;;;N;;;;;
+1F122;PARENTHESIZED LATIN CAPITAL LETTER S;So;0;L;<compat> 0028 0053 0029;;;;N;;;;;
+1F123;PARENTHESIZED LATIN CAPITAL LETTER T;So;0;L;<compat> 0028 0054 0029;;;;N;;;;;
+1F124;PARENTHESIZED LATIN CAPITAL LETTER U;So;0;L;<compat> 0028 0055 0029;;;;N;;;;;
+1F125;PARENTHESIZED LATIN CAPITAL LETTER V;So;0;L;<compat> 0028 0056 0029;;;;N;;;;;
+1F126;PARENTHESIZED LATIN CAPITAL LETTER W;So;0;L;<compat> 0028 0057 0029;;;;N;;;;;
+1F127;PARENTHESIZED LATIN CAPITAL LETTER X;So;0;L;<compat> 0028 0058 0029;;;;N;;;;;
+1F128;PARENTHESIZED LATIN CAPITAL LETTER Y;So;0;L;<compat> 0028 0059 0029;;;;N;;;;;
+1F129;PARENTHESIZED LATIN CAPITAL LETTER Z;So;0;L;<compat> 0028 005A 0029;;;;N;;;;;
+1F12A;TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S;So;0;L;<compat> 3014 0053 3015;;;;N;;;;;
+1F12B;CIRCLED ITALIC LATIN CAPITAL LETTER C;So;0;L;<circle> 0043;;;;N;;;;;
+1F12C;CIRCLED ITALIC LATIN CAPITAL LETTER R;So;0;L;<circle> 0052;;;;N;;;;;
+1F12D;CIRCLED CD;So;0;L;<circle> 0043 0044;;;;N;;;;;
+1F12E;CIRCLED WZ;So;0;L;<circle> 0057 005A;;;;N;;;;;
+1F130;SQUARED LATIN CAPITAL LETTER A;So;0;L;<square> 0041;;;;N;;;;;
+1F131;SQUARED LATIN CAPITAL LETTER B;So;0;L;<square> 0042;;;;N;;;;;
+1F132;SQUARED LATIN CAPITAL LETTER C;So;0;L;<square> 0043;;;;N;;;;;
+1F133;SQUARED LATIN CAPITAL LETTER D;So;0;L;<square> 0044;;;;N;;;;;
+1F134;SQUARED LATIN CAPITAL LETTER E;So;0;L;<square> 0045;;;;N;;;;;
+1F135;SQUARED LATIN CAPITAL LETTER F;So;0;L;<square> 0046;;;;N;;;;;
+1F136;SQUARED LATIN CAPITAL LETTER G;So;0;L;<square> 0047;;;;N;;;;;
+1F137;SQUARED LATIN CAPITAL LETTER H;So;0;L;<square> 0048;;;;N;;;;;
+1F138;SQUARED LATIN CAPITAL LETTER I;So;0;L;<square> 0049;;;;N;;;;;
+1F139;SQUARED LATIN CAPITAL LETTER J;So;0;L;<square> 004A;;;;N;;;;;
+1F13A;SQUARED LATIN CAPITAL LETTER K;So;0;L;<square> 004B;;;;N;;;;;
+1F13B;SQUARED LATIN CAPITAL LETTER L;So;0;L;<square> 004C;;;;N;;;;;
+1F13C;SQUARED LATIN CAPITAL LETTER M;So;0;L;<square> 004D;;;;N;;;;;
+1F13D;SQUARED LATIN CAPITAL LETTER N;So;0;L;<square> 004E;;;;N;;;;;
+1F13E;SQUARED LATIN CAPITAL LETTER O;So;0;L;<square> 004F;;;;N;;;;;
+1F13F;SQUARED LATIN CAPITAL LETTER P;So;0;L;<square> 0050;;;;N;;;;;
+1F140;SQUARED LATIN CAPITAL LETTER Q;So;0;L;<square> 0051;;;;N;;;;;
+1F141;SQUARED LATIN CAPITAL LETTER R;So;0;L;<square> 0052;;;;N;;;;;
+1F142;SQUARED LATIN CAPITAL LETTER S;So;0;L;<square> 0053;;;;N;;;;;
+1F143;SQUARED LATIN CAPITAL LETTER T;So;0;L;<square> 0054;;;;N;;;;;
+1F144;SQUARED LATIN CAPITAL LETTER U;So;0;L;<square> 0055;;;;N;;;;;
+1F145;SQUARED LATIN CAPITAL LETTER V;So;0;L;<square> 0056;;;;N;;;;;
+1F146;SQUARED LATIN CAPITAL LETTER W;So;0;L;<square> 0057;;;;N;;;;;
+1F147;SQUARED LATIN CAPITAL LETTER X;So;0;L;<square> 0058;;;;N;;;;;
+1F148;SQUARED LATIN CAPITAL LETTER Y;So;0;L;<square> 0059;;;;N;;;;;
+1F149;SQUARED LATIN CAPITAL LETTER Z;So;0;L;<square> 005A;;;;N;;;;;
+1F14A;SQUARED HV;So;0;L;<square> 0048 0056;;;;N;;;;;
+1F14B;SQUARED MV;So;0;L;<square> 004D 0056;;;;N;;;;;
+1F14C;SQUARED SD;So;0;L;<square> 0053 0044;;;;N;;;;;
+1F14D;SQUARED SS;So;0;L;<square> 0053 0053;;;;N;;;;;
+1F14E;SQUARED PPV;So;0;L;<square> 0050 0050 0056;;;;N;;;;;
+1F14F;SQUARED WC;So;0;L;<square> 0057 0043;;;;N;;;;;
+1F150;NEGATIVE CIRCLED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;;
+1F151;NEGATIVE CIRCLED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;;
+1F152;NEGATIVE CIRCLED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;;
+1F153;NEGATIVE CIRCLED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;;
+1F154;NEGATIVE CIRCLED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;;
+1F155;NEGATIVE CIRCLED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;;
+1F156;NEGATIVE CIRCLED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;;
+1F157;NEGATIVE CIRCLED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;;
+1F158;NEGATIVE CIRCLED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;;
+1F159;NEGATIVE CIRCLED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;;
+1F15A;NEGATIVE CIRCLED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;;
+1F15B;NEGATIVE CIRCLED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;;
+1F15C;NEGATIVE CIRCLED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;;
+1F15D;NEGATIVE CIRCLED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;;
+1F15E;NEGATIVE CIRCLED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;;
+1F15F;NEGATIVE CIRCLED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;;
+1F160;NEGATIVE CIRCLED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;;
+1F161;NEGATIVE CIRCLED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;;
+1F162;NEGATIVE CIRCLED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;;
+1F163;NEGATIVE CIRCLED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;;
+1F164;NEGATIVE CIRCLED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;;
+1F165;NEGATIVE CIRCLED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;;
+1F166;NEGATIVE CIRCLED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;;
+1F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;;
+1F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;;
+1F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;;
+1F16A;RAISED MC SIGN;So;0;ON;<super> 004D 0043;;;;N;;;;;
+1F16B;RAISED MD SIGN;So;0;ON;<super> 004D 0044;;;;N;;;;;
+1F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;;
+1F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;;
+1F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;;
+1F173;NEGATIVE SQUARED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;;
+1F174;NEGATIVE SQUARED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;;
+1F175;NEGATIVE SQUARED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;;
+1F176;NEGATIVE SQUARED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;;
+1F177;NEGATIVE SQUARED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;;
+1F178;NEGATIVE SQUARED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;;
+1F179;NEGATIVE SQUARED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;;
+1F17A;NEGATIVE SQUARED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;;
+1F17B;NEGATIVE SQUARED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;;
+1F17C;NEGATIVE SQUARED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;;
+1F17D;NEGATIVE SQUARED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;;
+1F17E;NEGATIVE SQUARED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;;
+1F17F;NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;;
+1F180;NEGATIVE SQUARED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;;
+1F181;NEGATIVE SQUARED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;;
+1F182;NEGATIVE SQUARED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;;
+1F183;NEGATIVE SQUARED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;;
+1F184;NEGATIVE SQUARED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;;
+1F185;NEGATIVE SQUARED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;;
+1F186;NEGATIVE SQUARED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;;
+1F187;NEGATIVE SQUARED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;;
+1F188;NEGATIVE SQUARED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;;
+1F189;NEGATIVE SQUARED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;;
+1F18A;CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;;
+1F18B;NEGATIVE SQUARED IC;So;0;L;;;;;N;;;;;
+1F18C;NEGATIVE SQUARED PA;So;0;L;;;;;N;;;;;
+1F18D;NEGATIVE SQUARED SA;So;0;L;;;;;N;;;;;
+1F18E;NEGATIVE SQUARED AB;So;0;L;;;;;N;;;;;
+1F18F;NEGATIVE SQUARED WC;So;0;L;;;;;N;;;;;
+1F190;SQUARE DJ;So;0;L;<square> 0044 004A;;;;N;;;;;
+1F191;SQUARED CL;So;0;L;;;;;N;;;;;
+1F192;SQUARED COOL;So;0;L;;;;;N;;;;;
+1F193;SQUARED FREE;So;0;L;;;;;N;;;;;
+1F194;SQUARED ID;So;0;L;;;;;N;;;;;
+1F195;SQUARED NEW;So;0;L;;;;;N;;;;;
+1F196;SQUARED NG;So;0;L;;;;;N;;;;;
+1F197;SQUARED OK;So;0;L;;;;;N;;;;;
+1F198;SQUARED SOS;So;0;L;;;;;N;;;;;
+1F199;SQUARED UP WITH EXCLAMATION MARK;So;0;L;;;;;N;;;;;
+1F19A;SQUARED VS;So;0;L;;;;;N;;;;;
+1F1E6;REGIONAL INDICATOR SYMBOL LETTER A;So;0;L;;;;;N;;;;;
+1F1E7;REGIONAL INDICATOR SYMBOL LETTER B;So;0;L;;;;;N;;;;;
+1F1E8;REGIONAL INDICATOR SYMBOL LETTER C;So;0;L;;;;;N;;;;;
+1F1E9;REGIONAL INDICATOR SYMBOL LETTER D;So;0;L;;;;;N;;;;;
+1F1EA;REGIONAL INDICATOR SYMBOL LETTER E;So;0;L;;;;;N;;;;;
+1F1EB;REGIONAL INDICATOR SYMBOL LETTER F;So;0;L;;;;;N;;;;;
+1F1EC;REGIONAL INDICATOR SYMBOL LETTER G;So;0;L;;;;;N;;;;;
+1F1ED;REGIONAL INDICATOR SYMBOL LETTER H;So;0;L;;;;;N;;;;;
+1F1EE;REGIONAL INDICATOR SYMBOL LETTER I;So;0;L;;;;;N;;;;;
+1F1EF;REGIONAL INDICATOR SYMBOL LETTER J;So;0;L;;;;;N;;;;;
+1F1F0;REGIONAL INDICATOR SYMBOL LETTER K;So;0;L;;;;;N;;;;;
+1F1F1;REGIONAL INDICATOR SYMBOL LETTER L;So;0;L;;;;;N;;;;;
+1F1F2;REGIONAL INDICATOR SYMBOL LETTER M;So;0;L;;;;;N;;;;;
+1F1F3;REGIONAL INDICATOR SYMBOL LETTER N;So;0;L;;;;;N;;;;;
+1F1F4;REGIONAL INDICATOR SYMBOL LETTER O;So;0;L;;;;;N;;;;;
+1F1F5;REGIONAL INDICATOR SYMBOL LETTER P;So;0;L;;;;;N;;;;;
+1F1F6;REGIONAL INDICATOR SYMBOL LETTER Q;So;0;L;;;;;N;;;;;
+1F1F7;REGIONAL INDICATOR SYMBOL LETTER R;So;0;L;;;;;N;;;;;
+1F1F8;REGIONAL INDICATOR SYMBOL LETTER S;So;0;L;;;;;N;;;;;
+1F1F9;REGIONAL INDICATOR SYMBOL LETTER T;So;0;L;;;;;N;;;;;
+1F1FA;REGIONAL INDICATOR SYMBOL LETTER U;So;0;L;;;;;N;;;;;
+1F1FB;REGIONAL INDICATOR SYMBOL LETTER V;So;0;L;;;;;N;;;;;
+1F1FC;REGIONAL INDICATOR SYMBOL LETTER W;So;0;L;;;;;N;;;;;
+1F1FD;REGIONAL INDICATOR SYMBOL LETTER X;So;0;L;;;;;N;;;;;
+1F1FE;REGIONAL INDICATOR SYMBOL LETTER Y;So;0;L;;;;;N;;;;;
+1F1FF;REGIONAL INDICATOR SYMBOL LETTER Z;So;0;L;;;;;N;;;;;
+1F200;SQUARE HIRAGANA HOKA;So;0;L;<square> 307B 304B;;;;N;;;;;
+1F201;SQUARED KATAKANA KOKO;So;0;L;<square> 30B3 30B3;;;;N;;;;;
+1F202;SQUARED KATAKANA SA;So;0;L;<square> 30B5;;;;N;;;;;
+1F210;SQUARED CJK UNIFIED IDEOGRAPH-624B;So;0;L;<square> 624B;;;;N;;;;;
+1F211;SQUARED CJK UNIFIED IDEOGRAPH-5B57;So;0;L;<square> 5B57;;;;N;;;;;
+1F212;SQUARED CJK UNIFIED IDEOGRAPH-53CC;So;0;L;<square> 53CC;;;;N;;;;;
+1F213;SQUARED KATAKANA DE;So;0;L;<square> 30C7;;;;N;;;;;
+1F214;SQUARED CJK UNIFIED IDEOGRAPH-4E8C;So;0;L;<square> 4E8C;;;;N;;;;;
+1F215;SQUARED CJK UNIFIED IDEOGRAPH-591A;So;0;L;<square> 591A;;;;N;;;;;
+1F216;SQUARED CJK UNIFIED IDEOGRAPH-89E3;So;0;L;<square> 89E3;;;;N;;;;;
+1F217;SQUARED CJK UNIFIED IDEOGRAPH-5929;So;0;L;<square> 5929;;;;N;;;;;
+1F218;SQUARED CJK UNIFIED IDEOGRAPH-4EA4;So;0;L;<square> 4EA4;;;;N;;;;;
+1F219;SQUARED CJK UNIFIED IDEOGRAPH-6620;So;0;L;<square> 6620;;;;N;;;;;
+1F21A;SQUARED CJK UNIFIED IDEOGRAPH-7121;So;0;L;<square> 7121;;;;N;;;;;
+1F21B;SQUARED CJK UNIFIED IDEOGRAPH-6599;So;0;L;<square> 6599;;;;N;;;;;
+1F21C;SQUARED CJK UNIFIED IDEOGRAPH-524D;So;0;L;<square> 524D;;;;N;;;;;
+1F21D;SQUARED CJK UNIFIED IDEOGRAPH-5F8C;So;0;L;<square> 5F8C;;;;N;;;;;
+1F21E;SQUARED CJK UNIFIED IDEOGRAPH-518D;So;0;L;<square> 518D;;;;N;;;;;
+1F21F;SQUARED CJK UNIFIED IDEOGRAPH-65B0;So;0;L;<square> 65B0;;;;N;;;;;
+1F220;SQUARED CJK UNIFIED IDEOGRAPH-521D;So;0;L;<square> 521D;;;;N;;;;;
+1F221;SQUARED CJK UNIFIED IDEOGRAPH-7D42;So;0;L;<square> 7D42;;;;N;;;;;
+1F222;SQUARED CJK UNIFIED IDEOGRAPH-751F;So;0;L;<square> 751F;;;;N;;;;;
+1F223;SQUARED CJK UNIFIED IDEOGRAPH-8CA9;So;0;L;<square> 8CA9;;;;N;;;;;
+1F224;SQUARED CJK UNIFIED IDEOGRAPH-58F0;So;0;L;<square> 58F0;;;;N;;;;;
+1F225;SQUARED CJK UNIFIED IDEOGRAPH-5439;So;0;L;<square> 5439;;;;N;;;;;
+1F226;SQUARED CJK UNIFIED IDEOGRAPH-6F14;So;0;L;<square> 6F14;;;;N;;;;;
+1F227;SQUARED CJK UNIFIED IDEOGRAPH-6295;So;0;L;<square> 6295;;;;N;;;;;
+1F228;SQUARED CJK UNIFIED IDEOGRAPH-6355;So;0;L;<square> 6355;;;;N;;;;;
+1F229;SQUARED CJK UNIFIED IDEOGRAPH-4E00;So;0;L;<square> 4E00;;;;N;;;;;
+1F22A;SQUARED CJK UNIFIED IDEOGRAPH-4E09;So;0;L;<square> 4E09;;;;N;;;;;
+1F22B;SQUARED CJK UNIFIED IDEOGRAPH-904A;So;0;L;<square> 904A;;;;N;;;;;
+1F22C;SQUARED CJK UNIFIED IDEOGRAPH-5DE6;So;0;L;<square> 5DE6;;;;N;;;;;
+1F22D;SQUARED CJK UNIFIED IDEOGRAPH-4E2D;So;0;L;<square> 4E2D;;;;N;;;;;
+1F22E;SQUARED CJK UNIFIED IDEOGRAPH-53F3;So;0;L;<square> 53F3;;;;N;;;;;
+1F22F;SQUARED CJK UNIFIED IDEOGRAPH-6307;So;0;L;<square> 6307;;;;N;;;;;
+1F230;SQUARED CJK UNIFIED IDEOGRAPH-8D70;So;0;L;<square> 8D70;;;;N;;;;;
+1F231;SQUARED CJK UNIFIED IDEOGRAPH-6253;So;0;L;<square> 6253;;;;N;;;;;
+1F232;SQUARED CJK UNIFIED IDEOGRAPH-7981;So;0;L;<square> 7981;;;;N;;;;;
+1F233;SQUARED CJK UNIFIED IDEOGRAPH-7A7A;So;0;L;<square> 7A7A;;;;N;;;;;
+1F234;SQUARED CJK UNIFIED IDEOGRAPH-5408;So;0;L;<square> 5408;;;;N;;;;;
+1F235;SQUARED CJK UNIFIED IDEOGRAPH-6E80;So;0;L;<square> 6E80;;;;N;;;;;
+1F236;SQUARED CJK UNIFIED IDEOGRAPH-6709;So;0;L;<square> 6709;;;;N;;;;;
+1F237;SQUARED CJK UNIFIED IDEOGRAPH-6708;So;0;L;<square> 6708;;;;N;;;;;
+1F238;SQUARED CJK UNIFIED IDEOGRAPH-7533;So;0;L;<square> 7533;;;;N;;;;;
+1F239;SQUARED CJK UNIFIED IDEOGRAPH-5272;So;0;L;<square> 5272;;;;N;;;;;
+1F23A;SQUARED CJK UNIFIED IDEOGRAPH-55B6;So;0;L;<square> 55B6;;;;N;;;;;
+1F240;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C;So;0;L;<compat> 3014 672C 3015;;;;N;;;;;
+1F241;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09;So;0;L;<compat> 3014 4E09 3015;;;;N;;;;;
+1F242;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C;So;0;L;<compat> 3014 4E8C 3015;;;;N;;;;;
+1F243;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89;So;0;L;<compat> 3014 5B89 3015;;;;N;;;;;
+1F244;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9;So;0;L;<compat> 3014 70B9 3015;;;;N;;;;;
+1F245;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253;So;0;L;<compat> 3014 6253 3015;;;;N;;;;;
+1F246;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7;So;0;L;<compat> 3014 76D7 3015;;;;N;;;;;
+1F247;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD;So;0;L;<compat> 3014 52DD 3015;;;;N;;;;;
+1F248;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557;So;0;L;<compat> 3014 6557 3015;;;;N;;;;;
+1F250;CIRCLED IDEOGRAPH ADVANTAGE;So;0;L;<circle> 5F97;;;;N;;;;;
+1F251;CIRCLED IDEOGRAPH ACCEPT;So;0;L;<circle> 53EF;;;;N;;;;;
+1F300;CYCLONE;So;0;ON;;;;;N;;;;;
+1F301;FOGGY;So;0;ON;;;;;N;;;;;
+1F302;CLOSED UMBRELLA;So;0;ON;;;;;N;;;;;
+1F303;NIGHT WITH STARS;So;0;ON;;;;;N;;;;;
+1F304;SUNRISE OVER MOUNTAINS;So;0;ON;;;;;N;;;;;
+1F305;SUNRISE;So;0;ON;;;;;N;;;;;
+1F306;CITYSCAPE AT DUSK;So;0;ON;;;;;N;;;;;
+1F307;SUNSET OVER BUILDINGS;So;0;ON;;;;;N;;;;;
+1F308;RAINBOW;So;0;ON;;;;;N;;;;;
+1F309;BRIDGE AT NIGHT;So;0;ON;;;;;N;;;;;
+1F30A;WATER WAVE;So;0;ON;;;;;N;;;;;
+1F30B;VOLCANO;So;0;ON;;;;;N;;;;;
+1F30C;MILKY WAY;So;0;ON;;;;;N;;;;;
+1F30D;EARTH GLOBE EUROPE-AFRICA;So;0;ON;;;;;N;;;;;
+1F30E;EARTH GLOBE AMERICAS;So;0;ON;;;;;N;;;;;
+1F30F;EARTH GLOBE ASIA-AUSTRALIA;So;0;ON;;;;;N;;;;;
+1F310;GLOBE WITH MERIDIANS;So;0;ON;;;;;N;;;;;
+1F311;NEW MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F312;WAXING CRESCENT MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F313;FIRST QUARTER MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F314;WAXING GIBBOUS MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F315;FULL MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F316;WANING GIBBOUS MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F317;LAST QUARTER MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F318;WANING CRESCENT MOON SYMBOL;So;0;ON;;;;;N;;;;;
+1F319;CRESCENT MOON;So;0;ON;;;;;N;;;;;
+1F31A;NEW MOON WITH FACE;So;0;ON;;;;;N;;;;;
+1F31B;FIRST QUARTER MOON WITH FACE;So;0;ON;;;;;N;;;;;
+1F31C;LAST QUARTER MOON WITH FACE;So;0;ON;;;;;N;;;;;
+1F31D;FULL MOON WITH FACE;So;0;ON;;;;;N;;;;;
+1F31E;SUN WITH FACE;So;0;ON;;;;;N;;;;;
+1F31F;GLOWING STAR;So;0;ON;;;;;N;;;;;
+1F320;SHOOTING STAR;So;0;ON;;;;;N;;;;;
+1F321;THERMOMETER;So;0;ON;;;;;N;;;;;
+1F322;BLACK DROPLET;So;0;ON;;;;;N;;;;;
+1F323;WHITE SUN;So;0;ON;;;;;N;;;;;
+1F324;WHITE SUN WITH SMALL CLOUD;So;0;ON;;;;;N;;;;;
+1F325;WHITE SUN BEHIND CLOUD;So;0;ON;;;;;N;;;;;
+1F326;WHITE SUN BEHIND CLOUD WITH RAIN;So;0;ON;;;;;N;;;;;
+1F327;CLOUD WITH RAIN;So;0;ON;;;;;N;;;;;
+1F328;CLOUD WITH SNOW;So;0;ON;;;;;N;;;;;
+1F329;CLOUD WITH LIGHTNING;So;0;ON;;;;;N;;;;;
+1F32A;CLOUD WITH TORNADO;So;0;ON;;;;;N;;;;;
+1F32B;FOG;So;0;ON;;;;;N;;;;;
+1F32C;WIND BLOWING FACE;So;0;ON;;;;;N;;;;;
+1F32D;HOT DOG;So;0;ON;;;;;N;;;;;
+1F32E;TACO;So;0;ON;;;;;N;;;;;
+1F32F;BURRITO;So;0;ON;;;;;N;;;;;
+1F330;CHESTNUT;So;0;ON;;;;;N;;;;;
+1F331;SEEDLING;So;0;ON;;;;;N;;;;;
+1F332;EVERGREEN TREE;So;0;ON;;;;;N;;;;;
+1F333;DECIDUOUS TREE;So;0;ON;;;;;N;;;;;
+1F334;PALM TREE;So;0;ON;;;;;N;;;;;
+1F335;CACTUS;So;0;ON;;;;;N;;;;;
+1F336;HOT PEPPER;So;0;ON;;;;;N;;;;;
+1F337;TULIP;So;0;ON;;;;;N;;;;;
+1F338;CHERRY BLOSSOM;So;0;ON;;;;;N;;;;;
+1F339;ROSE;So;0;ON;;;;;N;;;;;
+1F33A;HIBISCUS;So;0;ON;;;;;N;;;;;
+1F33B;SUNFLOWER;So;0;ON;;;;;N;;;;;
+1F33C;BLOSSOM;So;0;ON;;;;;N;;;;;
+1F33D;EAR OF MAIZE;So;0;ON;;;;;N;;;;;
+1F33E;EAR OF RICE;So;0;ON;;;;;N;;;;;
+1F33F;HERB;So;0;ON;;;;;N;;;;;
+1F340;FOUR LEAF CLOVER;So;0;ON;;;;;N;;;;;
+1F341;MAPLE LEAF;So;0;ON;;;;;N;;;;;
+1F342;FALLEN LEAF;So;0;ON;;;;;N;;;;;
+1F343;LEAF FLUTTERING IN WIND;So;0;ON;;;;;N;;;;;
+1F344;MUSHROOM;So;0;ON;;;;;N;;;;;
+1F345;TOMATO;So;0;ON;;;;;N;;;;;
+1F346;AUBERGINE;So;0;ON;;;;;N;;;;;
+1F347;GRAPES;So;0;ON;;;;;N;;;;;
+1F348;MELON;So;0;ON;;;;;N;;;;;
+1F349;WATERMELON;So;0;ON;;;;;N;;;;;
+1F34A;TANGERINE;So;0;ON;;;;;N;;;;;
+1F34B;LEMON;So;0;ON;;;;;N;;;;;
+1F34C;BANANA;So;0;ON;;;;;N;;;;;
+1F34D;PINEAPPLE;So;0;ON;;;;;N;;;;;
+1F34E;RED APPLE;So;0;ON;;;;;N;;;;;
+1F34F;GREEN APPLE;So;0;ON;;;;;N;;;;;
+1F350;PEAR;So;0;ON;;;;;N;;;;;
+1F351;PEACH;So;0;ON;;;;;N;;;;;
+1F352;CHERRIES;So;0;ON;;;;;N;;;;;
+1F353;STRAWBERRY;So;0;ON;;;;;N;;;;;
+1F354;HAMBURGER;So;0;ON;;;;;N;;;;;
+1F355;SLICE OF PIZZA;So;0;ON;;;;;N;;;;;
+1F356;MEAT ON BONE;So;0;ON;;;;;N;;;;;
+1F357;POULTRY LEG;So;0;ON;;;;;N;;;;;
+1F358;RICE CRACKER;So;0;ON;;;;;N;;;;;
+1F359;RICE BALL;So;0;ON;;;;;N;;;;;
+1F35A;COOKED RICE;So;0;ON;;;;;N;;;;;
+1F35B;CURRY AND RICE;So;0;ON;;;;;N;;;;;
+1F35C;STEAMING BOWL;So;0;ON;;;;;N;;;;;
+1F35D;SPAGHETTI;So;0;ON;;;;;N;;;;;
+1F35E;BREAD;So;0;ON;;;;;N;;;;;
+1F35F;FRENCH FRIES;So;0;ON;;;;;N;;;;;
+1F360;ROASTED SWEET POTATO;So;0;ON;;;;;N;;;;;
+1F361;DANGO;So;0;ON;;;;;N;;;;;
+1F362;ODEN;So;0;ON;;;;;N;;;;;
+1F363;SUSHI;So;0;ON;;;;;N;;;;;
+1F364;FRIED SHRIMP;So;0;ON;;;;;N;;;;;
+1F365;FISH CAKE WITH SWIRL DESIGN;So;0;ON;;;;;N;;;;;
+1F366;SOFT ICE CREAM;So;0;ON;;;;;N;;;;;
+1F367;SHAVED ICE;So;0;ON;;;;;N;;;;;
+1F368;ICE CREAM;So;0;ON;;;;;N;;;;;
+1F369;DOUGHNUT;So;0;ON;;;;;N;;;;;
+1F36A;COOKIE;So;0;ON;;;;;N;;;;;
+1F36B;CHOCOLATE BAR;So;0;ON;;;;;N;;;;;
+1F36C;CANDY;So;0;ON;;;;;N;;;;;
+1F36D;LOLLIPOP;So;0;ON;;;;;N;;;;;
+1F36E;CUSTARD;So;0;ON;;;;;N;;;;;
+1F36F;HONEY POT;So;0;ON;;;;;N;;;;;
+1F370;SHORTCAKE;So;0;ON;;;;;N;;;;;
+1F371;BENTO BOX;So;0;ON;;;;;N;;;;;
+1F372;POT OF FOOD;So;0;ON;;;;;N;;;;;
+1F373;COOKING;So;0;ON;;;;;N;;;;;
+1F374;FORK AND KNIFE;So;0;ON;;;;;N;;;;;
+1F375;TEACUP WITHOUT HANDLE;So;0;ON;;;;;N;;;;;
+1F376;SAKE BOTTLE AND CUP;So;0;ON;;;;;N;;;;;
+1F377;WINE GLASS;So;0;ON;;;;;N;;;;;
+1F378;COCKTAIL GLASS;So;0;ON;;;;;N;;;;;
+1F379;TROPICAL DRINK;So;0;ON;;;;;N;;;;;
+1F37A;BEER MUG;So;0;ON;;;;;N;;;;;
+1F37B;CLINKING BEER MUGS;So;0;ON;;;;;N;;;;;
+1F37C;BABY BOTTLE;So;0;ON;;;;;N;;;;;
+1F37D;FORK AND KNIFE WITH PLATE;So;0;ON;;;;;N;;;;;
+1F37E;BOTTLE WITH POPPING CORK;So;0;ON;;;;;N;;;;;
+1F37F;POPCORN;So;0;ON;;;;;N;;;;;
+1F380;RIBBON;So;0;ON;;;;;N;;;;;
+1F381;WRAPPED PRESENT;So;0;ON;;;;;N;;;;;
+1F382;BIRTHDAY CAKE;So;0;ON;;;;;N;;;;;
+1F383;JACK-O-LANTERN;So;0;ON;;;;;N;;;;;
+1F384;CHRISTMAS TREE;So;0;ON;;;;;N;;;;;
+1F385;FATHER CHRISTMAS;So;0;ON;;;;;N;;;;;
+1F386;FIREWORKS;So;0;ON;;;;;N;;;;;
+1F387;FIREWORK SPARKLER;So;0;ON;;;;;N;;;;;
+1F388;BALLOON;So;0;ON;;;;;N;;;;;
+1F389;PARTY POPPER;So;0;ON;;;;;N;;;;;
+1F38A;CONFETTI BALL;So;0;ON;;;;;N;;;;;
+1F38B;TANABATA TREE;So;0;ON;;;;;N;;;;;
+1F38C;CROSSED FLAGS;So;0;ON;;;;;N;;;;;
+1F38D;PINE DECORATION;So;0;ON;;;;;N;;;;;
+1F38E;JAPANESE DOLLS;So;0;ON;;;;;N;;;;;
+1F38F;CARP STREAMER;So;0;ON;;;;;N;;;;;
+1F390;WIND CHIME;So;0;ON;;;;;N;;;;;
+1F391;MOON VIEWING CEREMONY;So;0;ON;;;;;N;;;;;
+1F392;SCHOOL SATCHEL;So;0;ON;;;;;N;;;;;
+1F393;GRADUATION CAP;So;0;ON;;;;;N;;;;;
+1F394;HEART WITH TIP ON THE LEFT;So;0;ON;;;;;N;;;;;
+1F395;BOUQUET OF FLOWERS;So;0;ON;;;;;N;;;;;
+1F396;MILITARY MEDAL;So;0;ON;;;;;N;;;;;
+1F397;REMINDER RIBBON;So;0;ON;;;;;N;;;;;
+1F398;MUSICAL KEYBOARD WITH JACKS;So;0;ON;;;;;N;;;;;
+1F399;STUDIO MICROPHONE;So;0;ON;;;;;N;;;;;
+1F39A;LEVEL SLIDER;So;0;ON;;;;;N;;;;;
+1F39B;CONTROL KNOBS;So;0;ON;;;;;N;;;;;
+1F39C;BEAMED ASCENDING MUSICAL NOTES;So;0;ON;;;;;N;;;;;
+1F39D;BEAMED DESCENDING MUSICAL NOTES;So;0;ON;;;;;N;;;;;
+1F39E;FILM FRAMES;So;0;ON;;;;;N;;;;;
+1F39F;ADMISSION TICKETS;So;0;ON;;;;;N;;;;;
+1F3A0;CAROUSEL HORSE;So;0;ON;;;;;N;;;;;
+1F3A1;FERRIS WHEEL;So;0;ON;;;;;N;;;;;
+1F3A2;ROLLER COASTER;So;0;ON;;;;;N;;;;;
+1F3A3;FISHING POLE AND FISH;So;0;ON;;;;;N;;;;;
+1F3A4;MICROPHONE;So;0;ON;;;;;N;;;;;
+1F3A5;MOVIE CAMERA;So;0;ON;;;;;N;;;;;
+1F3A6;CINEMA;So;0;ON;;;;;N;;;;;
+1F3A7;HEADPHONE;So;0;ON;;;;;N;;;;;
+1F3A8;ARTIST PALETTE;So;0;ON;;;;;N;;;;;
+1F3A9;TOP HAT;So;0;ON;;;;;N;;;;;
+1F3AA;CIRCUS TENT;So;0;ON;;;;;N;;;;;
+1F3AB;TICKET;So;0;ON;;;;;N;;;;;
+1F3AC;CLAPPER BOARD;So;0;ON;;;;;N;;;;;
+1F3AD;PERFORMING ARTS;So;0;ON;;;;;N;;;;;
+1F3AE;VIDEO GAME;So;0;ON;;;;;N;;;;;
+1F3AF;DIRECT HIT;So;0;ON;;;;;N;;;;;
+1F3B0;SLOT MACHINE;So;0;ON;;;;;N;;;;;
+1F3B1;BILLIARDS;So;0;ON;;;;;N;;;;;
+1F3B2;GAME DIE;So;0;ON;;;;;N;;;;;
+1F3B3;BOWLING;So;0;ON;;;;;N;;;;;
+1F3B4;FLOWER PLAYING CARDS;So;0;ON;;;;;N;;;;;
+1F3B5;MUSICAL NOTE;So;0;ON;;;;;N;;;;;
+1F3B6;MULTIPLE MUSICAL NOTES;So;0;ON;;;;;N;;;;;
+1F3B7;SAXOPHONE;So;0;ON;;;;;N;;;;;
+1F3B8;GUITAR;So;0;ON;;;;;N;;;;;
+1F3B9;MUSICAL KEYBOARD;So;0;ON;;;;;N;;;;;
+1F3BA;TRUMPET;So;0;ON;;;;;N;;;;;
+1F3BB;VIOLIN;So;0;ON;;;;;N;;;;;
+1F3BC;MUSICAL SCORE;So;0;ON;;;;;N;;;;;
+1F3BD;RUNNING SHIRT WITH SASH;So;0;ON;;;;;N;;;;;
+1F3BE;TENNIS RACQUET AND BALL;So;0;ON;;;;;N;;;;;
+1F3BF;SKI AND SKI BOOT;So;0;ON;;;;;N;;;;;
+1F3C0;BASKETBALL AND HOOP;So;0;ON;;;;;N;;;;;
+1F3C1;CHEQUERED FLAG;So;0;ON;;;;;N;;;;;
+1F3C2;SNOWBOARDER;So;0;ON;;;;;N;;;;;
+1F3C3;RUNNER;So;0;ON;;;;;N;;;;;
+1F3C4;SURFER;So;0;ON;;;;;N;;;;;
+1F3C5;SPORTS MEDAL;So;0;ON;;;;;N;;;;;
+1F3C6;TROPHY;So;0;ON;;;;;N;;;;;
+1F3C7;HORSE RACING;So;0;ON;;;;;N;;;;;
+1F3C8;AMERICAN FOOTBALL;So;0;ON;;;;;N;;;;;
+1F3C9;RUGBY FOOTBALL;So;0;ON;;;;;N;;;;;
+1F3CA;SWIMMER;So;0;ON;;;;;N;;;;;
+1F3CB;WEIGHT LIFTER;So;0;ON;;;;;N;;;;;
+1F3CC;GOLFER;So;0;ON;;;;;N;;;;;
+1F3CD;RACING MOTORCYCLE;So;0;ON;;;;;N;;;;;
+1F3CE;RACING CAR;So;0;ON;;;;;N;;;;;
+1F3CF;CRICKET BAT AND BALL;So;0;ON;;;;;N;;;;;
+1F3D0;VOLLEYBALL;So;0;ON;;;;;N;;;;;
+1F3D1;FIELD HOCKEY STICK AND BALL;So;0;ON;;;;;N;;;;;
+1F3D2;ICE HOCKEY STICK AND PUCK;So;0;ON;;;;;N;;;;;
+1F3D3;TABLE TENNIS PADDLE AND BALL;So;0;ON;;;;;N;;;;;
+1F3D4;SNOW CAPPED MOUNTAIN;So;0;ON;;;;;N;;;;;
+1F3D5;CAMPING;So;0;ON;;;;;N;;;;;
+1F3D6;BEACH WITH UMBRELLA;So;0;ON;;;;;N;;;;;
+1F3D7;BUILDING CONSTRUCTION;So;0;ON;;;;;N;;;;;
+1F3D8;HOUSE BUILDINGS;So;0;ON;;;;;N;;;;;
+1F3D9;CITYSCAPE;So;0;ON;;;;;N;;;;;
+1F3DA;DERELICT HOUSE BUILDING;So;0;ON;;;;;N;;;;;
+1F3DB;CLASSICAL BUILDING;So;0;ON;;;;;N;;;;;
+1F3DC;DESERT;So;0;ON;;;;;N;;;;;
+1F3DD;DESERT ISLAND;So;0;ON;;;;;N;;;;;
+1F3DE;NATIONAL PARK;So;0;ON;;;;;N;;;;;
+1F3DF;STADIUM;So;0;ON;;;;;N;;;;;
+1F3E0;HOUSE BUILDING;So;0;ON;;;;;N;;;;;
+1F3E1;HOUSE WITH GARDEN;So;0;ON;;;;;N;;;;;
+1F3E2;OFFICE BUILDING;So;0;ON;;;;;N;;;;;
+1F3E3;JAPANESE POST OFFICE;So;0;ON;;;;;N;;;;;
+1F3E4;EUROPEAN POST OFFICE;So;0;ON;;;;;N;;;;;
+1F3E5;HOSPITAL;So;0;ON;;;;;N;;;;;
+1F3E6;BANK;So;0;ON;;;;;N;;;;;
+1F3E7;AUTOMATED TELLER MACHINE;So;0;ON;;;;;N;;;;;
+1F3E8;HOTEL;So;0;ON;;;;;N;;;;;
+1F3E9;LOVE HOTEL;So;0;ON;;;;;N;;;;;
+1F3EA;CONVENIENCE STORE;So;0;ON;;;;;N;;;;;
+1F3EB;SCHOOL;So;0;ON;;;;;N;;;;;
+1F3EC;DEPARTMENT STORE;So;0;ON;;;;;N;;;;;
+1F3ED;FACTORY;So;0;ON;;;;;N;;;;;
+1F3EE;IZAKAYA LANTERN;So;0;ON;;;;;N;;;;;
+1F3EF;JAPANESE CASTLE;So;0;ON;;;;;N;;;;;
+1F3F0;EUROPEAN CASTLE;So;0;ON;;;;;N;;;;;
+1F3F1;WHITE PENNANT;So;0;ON;;;;;N;;;;;
+1F3F2;BLACK PENNANT;So;0;ON;;;;;N;;;;;
+1F3F3;WAVING WHITE FLAG;So;0;ON;;;;;N;;;;;
+1F3F4;WAVING BLACK FLAG;So;0;ON;;;;;N;;;;;
+1F3F5;ROSETTE;So;0;ON;;;;;N;;;;;
+1F3F6;BLACK ROSETTE;So;0;ON;;;;;N;;;;;
+1F3F7;LABEL;So;0;ON;;;;;N;;;;;
+1F3F8;BADMINTON RACQUET AND SHUTTLECOCK;So;0;ON;;;;;N;;;;;
+1F3F9;BOW AND ARROW;So;0;ON;;;;;N;;;;;
+1F3FA;AMPHORA;So;0;ON;;;;;N;;;;;
+1F3FB;EMOJI MODIFIER FITZPATRICK TYPE-1-2;Sk;0;ON;;;;;N;;;;;
+1F3FC;EMOJI MODIFIER FITZPATRICK TYPE-3;Sk;0;ON;;;;;N;;;;;
+1F3FD;EMOJI MODIFIER FITZPATRICK TYPE-4;Sk;0;ON;;;;;N;;;;;
+1F3FE;EMOJI MODIFIER FITZPATRICK TYPE-5;Sk;0;ON;;;;;N;;;;;
+1F3FF;EMOJI MODIFIER FITZPATRICK TYPE-6;Sk;0;ON;;;;;N;;;;;
+1F400;RAT;So;0;ON;;;;;N;;;;;
+1F401;MOUSE;So;0;ON;;;;;N;;;;;
+1F402;OX;So;0;ON;;;;;N;;;;;
+1F403;WATER BUFFALO;So;0;ON;;;;;N;;;;;
+1F404;COW;So;0;ON;;;;;N;;;;;
+1F405;TIGER;So;0;ON;;;;;N;;;;;
+1F406;LEOPARD;So;0;ON;;;;;N;;;;;
+1F407;RABBIT;So;0;ON;;;;;N;;;;;
+1F408;CAT;So;0;ON;;;;;N;;;;;
+1F409;DRAGON;So;0;ON;;;;;N;;;;;
+1F40A;CROCODILE;So;0;ON;;;;;N;;;;;
+1F40B;WHALE;So;0;ON;;;;;N;;;;;
+1F40C;SNAIL;So;0;ON;;;;;N;;;;;
+1F40D;SNAKE;So;0;ON;;;;;N;;;;;
+1F40E;HORSE;So;0;ON;;;;;N;;;;;
+1F40F;RAM;So;0;ON;;;;;N;;;;;
+1F410;GOAT;So;0;ON;;;;;N;;;;;
+1F411;SHEEP;So;0;ON;;;;;N;;;;;
+1F412;MONKEY;So;0;ON;;;;;N;;;;;
+1F413;ROOSTER;So;0;ON;;;;;N;;;;;
+1F414;CHICKEN;So;0;ON;;;;;N;;;;;
+1F415;DOG;So;0;ON;;;;;N;;;;;
+1F416;PIG;So;0;ON;;;;;N;;;;;
+1F417;BOAR;So;0;ON;;;;;N;;;;;
+1F418;ELEPHANT;So;0;ON;;;;;N;;;;;
+1F419;OCTOPUS;So;0;ON;;;;;N;;;;;
+1F41A;SPIRAL SHELL;So;0;ON;;;;;N;;;;;
+1F41B;BUG;So;0;ON;;;;;N;;;;;
+1F41C;ANT;So;0;ON;;;;;N;;;;;
+1F41D;HONEYBEE;So;0;ON;;;;;N;;;;;
+1F41E;LADY BEETLE;So;0;ON;;;;;N;;;;;
+1F41F;FISH;So;0;ON;;;;;N;;;;;
+1F420;TROPICAL FISH;So;0;ON;;;;;N;;;;;
+1F421;BLOWFISH;So;0;ON;;;;;N;;;;;
+1F422;TURTLE;So;0;ON;;;;;N;;;;;
+1F423;HATCHING CHICK;So;0;ON;;;;;N;;;;;
+1F424;BABY CHICK;So;0;ON;;;;;N;;;;;
+1F425;FRONT-FACING BABY CHICK;So;0;ON;;;;;N;;;;;
+1F426;BIRD;So;0;ON;;;;;N;;;;;
+1F427;PENGUIN;So;0;ON;;;;;N;;;;;
+1F428;KOALA;So;0;ON;;;;;N;;;;;
+1F429;POODLE;So;0;ON;;;;;N;;;;;
+1F42A;DROMEDARY CAMEL;So;0;ON;;;;;N;;;;;
+1F42B;BACTRIAN CAMEL;So;0;ON;;;;;N;;;;;
+1F42C;DOLPHIN;So;0;ON;;;;;N;;;;;
+1F42D;MOUSE FACE;So;0;ON;;;;;N;;;;;
+1F42E;COW FACE;So;0;ON;;;;;N;;;;;
+1F42F;TIGER FACE;So;0;ON;;;;;N;;;;;
+1F430;RABBIT FACE;So;0;ON;;;;;N;;;;;
+1F431;CAT FACE;So;0;ON;;;;;N;;;;;
+1F432;DRAGON FACE;So;0;ON;;;;;N;;;;;
+1F433;SPOUTING WHALE;So;0;ON;;;;;N;;;;;
+1F434;HORSE FACE;So;0;ON;;;;;N;;;;;
+1F435;MONKEY FACE;So;0;ON;;;;;N;;;;;
+1F436;DOG FACE;So;0;ON;;;;;N;;;;;
+1F437;PIG FACE;So;0;ON;;;;;N;;;;;
+1F438;FROG FACE;So;0;ON;;;;;N;;;;;
+1F439;HAMSTER FACE;So;0;ON;;;;;N;;;;;
+1F43A;WOLF FACE;So;0;ON;;;;;N;;;;;
+1F43B;BEAR FACE;So;0;ON;;;;;N;;;;;
+1F43C;PANDA FACE;So;0;ON;;;;;N;;;;;
+1F43D;PIG NOSE;So;0;ON;;;;;N;;;;;
+1F43E;PAW PRINTS;So;0;ON;;;;;N;;;;;
+1F43F;CHIPMUNK;So;0;ON;;;;;N;;;;;
+1F440;EYES;So;0;ON;;;;;N;;;;;
+1F441;EYE;So;0;ON;;;;;N;;;;;
+1F442;EAR;So;0;ON;;;;;N;;;;;
+1F443;NOSE;So;0;ON;;;;;N;;;;;
+1F444;MOUTH;So;0;ON;;;;;N;;;;;
+1F445;TONGUE;So;0;ON;;;;;N;;;;;
+1F446;WHITE UP POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F447;WHITE DOWN POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F448;WHITE LEFT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F449;WHITE RIGHT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F44A;FISTED HAND SIGN;So;0;ON;;;;;N;;;;;
+1F44B;WAVING HAND SIGN;So;0;ON;;;;;N;;;;;
+1F44C;OK HAND SIGN;So;0;ON;;;;;N;;;;;
+1F44D;THUMBS UP SIGN;So;0;ON;;;;;N;;;;;
+1F44E;THUMBS DOWN SIGN;So;0;ON;;;;;N;;;;;
+1F44F;CLAPPING HANDS SIGN;So;0;ON;;;;;N;;;;;
+1F450;OPEN HANDS SIGN;So;0;ON;;;;;N;;;;;
+1F451;CROWN;So;0;ON;;;;;N;;;;;
+1F452;WOMANS HAT;So;0;ON;;;;;N;;;;;
+1F453;EYEGLASSES;So;0;ON;;;;;N;;;;;
+1F454;NECKTIE;So;0;ON;;;;;N;;;;;
+1F455;T-SHIRT;So;0;ON;;;;;N;;;;;
+1F456;JEANS;So;0;ON;;;;;N;;;;;
+1F457;DRESS;So;0;ON;;;;;N;;;;;
+1F458;KIMONO;So;0;ON;;;;;N;;;;;
+1F459;BIKINI;So;0;ON;;;;;N;;;;;
+1F45A;WOMANS CLOTHES;So;0;ON;;;;;N;;;;;
+1F45B;PURSE;So;0;ON;;;;;N;;;;;
+1F45C;HANDBAG;So;0;ON;;;;;N;;;;;
+1F45D;POUCH;So;0;ON;;;;;N;;;;;
+1F45E;MANS SHOE;So;0;ON;;;;;N;;;;;
+1F45F;ATHLETIC SHOE;So;0;ON;;;;;N;;;;;
+1F460;HIGH-HEELED SHOE;So;0;ON;;;;;N;;;;;
+1F461;WOMANS SANDAL;So;0;ON;;;;;N;;;;;
+1F462;WOMANS BOOTS;So;0;ON;;;;;N;;;;;
+1F463;FOOTPRINTS;So;0;ON;;;;;N;;;;;
+1F464;BUST IN SILHOUETTE;So;0;ON;;;;;N;;;;;
+1F465;BUSTS IN SILHOUETTE;So;0;ON;;;;;N;;;;;
+1F466;BOY;So;0;ON;;;;;N;;;;;
+1F467;GIRL;So;0;ON;;;;;N;;;;;
+1F468;MAN;So;0;ON;;;;;N;;;;;
+1F469;WOMAN;So;0;ON;;;;;N;;;;;
+1F46A;FAMILY;So;0;ON;;;;;N;;;;;
+1F46B;MAN AND WOMAN HOLDING HANDS;So;0;ON;;;;;N;;;;;
+1F46C;TWO MEN HOLDING HANDS;So;0;ON;;;;;N;;;;;
+1F46D;TWO WOMEN HOLDING HANDS;So;0;ON;;;;;N;;;;;
+1F46E;POLICE OFFICER;So;0;ON;;;;;N;;;;;
+1F46F;WOMAN WITH BUNNY EARS;So;0;ON;;;;;N;;;;;
+1F470;BRIDE WITH VEIL;So;0;ON;;;;;N;;;;;
+1F471;PERSON WITH BLOND HAIR;So;0;ON;;;;;N;;;;;
+1F472;MAN WITH GUA PI MAO;So;0;ON;;;;;N;;;;;
+1F473;MAN WITH TURBAN;So;0;ON;;;;;N;;;;;
+1F474;OLDER MAN;So;0;ON;;;;;N;;;;;
+1F475;OLDER WOMAN;So;0;ON;;;;;N;;;;;
+1F476;BABY;So;0;ON;;;;;N;;;;;
+1F477;CONSTRUCTION WORKER;So;0;ON;;;;;N;;;;;
+1F478;PRINCESS;So;0;ON;;;;;N;;;;;
+1F479;JAPANESE OGRE;So;0;ON;;;;;N;;;;;
+1F47A;JAPANESE GOBLIN;So;0;ON;;;;;N;;;;;
+1F47B;GHOST;So;0;ON;;;;;N;;;;;
+1F47C;BABY ANGEL;So;0;ON;;;;;N;;;;;
+1F47D;EXTRATERRESTRIAL ALIEN;So;0;ON;;;;;N;;;;;
+1F47E;ALIEN MONSTER;So;0;ON;;;;;N;;;;;
+1F47F;IMP;So;0;ON;;;;;N;;;;;
+1F480;SKULL;So;0;ON;;;;;N;;;;;
+1F481;INFORMATION DESK PERSON;So;0;ON;;;;;N;;;;;
+1F482;GUARDSMAN;So;0;ON;;;;;N;;;;;
+1F483;DANCER;So;0;ON;;;;;N;;;;;
+1F484;LIPSTICK;So;0;ON;;;;;N;;;;;
+1F485;NAIL POLISH;So;0;ON;;;;;N;;;;;
+1F486;FACE MASSAGE;So;0;ON;;;;;N;;;;;
+1F487;HAIRCUT;So;0;ON;;;;;N;;;;;
+1F488;BARBER POLE;So;0;ON;;;;;N;;;;;
+1F489;SYRINGE;So;0;ON;;;;;N;;;;;
+1F48A;PILL;So;0;ON;;;;;N;;;;;
+1F48B;KISS MARK;So;0;ON;;;;;N;;;;;
+1F48C;LOVE LETTER;So;0;ON;;;;;N;;;;;
+1F48D;RING;So;0;ON;;;;;N;;;;;
+1F48E;GEM STONE;So;0;ON;;;;;N;;;;;
+1F48F;KISS;So;0;ON;;;;;N;;;;;
+1F490;BOUQUET;So;0;ON;;;;;N;;;;;
+1F491;COUPLE WITH HEART;So;0;ON;;;;;N;;;;;
+1F492;WEDDING;So;0;ON;;;;;N;;;;;
+1F493;BEATING HEART;So;0;ON;;;;;N;;;;;
+1F494;BROKEN HEART;So;0;ON;;;;;N;;;;;
+1F495;TWO HEARTS;So;0;ON;;;;;N;;;;;
+1F496;SPARKLING HEART;So;0;ON;;;;;N;;;;;
+1F497;GROWING HEART;So;0;ON;;;;;N;;;;;
+1F498;HEART WITH ARROW;So;0;ON;;;;;N;;;;;
+1F499;BLUE HEART;So;0;ON;;;;;N;;;;;
+1F49A;GREEN HEART;So;0;ON;;;;;N;;;;;
+1F49B;YELLOW HEART;So;0;ON;;;;;N;;;;;
+1F49C;PURPLE HEART;So;0;ON;;;;;N;;;;;
+1F49D;HEART WITH RIBBON;So;0;ON;;;;;N;;;;;
+1F49E;REVOLVING HEARTS;So;0;ON;;;;;N;;;;;
+1F49F;HEART DECORATION;So;0;ON;;;;;N;;;;;
+1F4A0;DIAMOND SHAPE WITH A DOT INSIDE;So;0;ON;;;;;N;;;;;
+1F4A1;ELECTRIC LIGHT BULB;So;0;ON;;;;;N;;;;;
+1F4A2;ANGER SYMBOL;So;0;ON;;;;;N;;;;;
+1F4A3;BOMB;So;0;ON;;;;;N;;;;;
+1F4A4;SLEEPING SYMBOL;So;0;ON;;;;;N;;;;;
+1F4A5;COLLISION SYMBOL;So;0;ON;;;;;N;;;;;
+1F4A6;SPLASHING SWEAT SYMBOL;So;0;ON;;;;;N;;;;;
+1F4A7;DROPLET;So;0;ON;;;;;N;;;;;
+1F4A8;DASH SYMBOL;So;0;ON;;;;;N;;;;;
+1F4A9;PILE OF POO;So;0;ON;;;;;N;;;;;
+1F4AA;FLEXED BICEPS;So;0;ON;;;;;N;;;;;
+1F4AB;DIZZY SYMBOL;So;0;ON;;;;;N;;;;;
+1F4AC;SPEECH BALLOON;So;0;ON;;;;;N;;;;;
+1F4AD;THOUGHT BALLOON;So;0;ON;;;;;N;;;;;
+1F4AE;WHITE FLOWER;So;0;ON;;;;;N;;;;;
+1F4AF;HUNDRED POINTS SYMBOL;So;0;ON;;;;;N;;;;;
+1F4B0;MONEY BAG;So;0;ON;;;;;N;;;;;
+1F4B1;CURRENCY EXCHANGE;So;0;ON;;;;;N;;;;;
+1F4B2;HEAVY DOLLAR SIGN;So;0;ON;;;;;N;;;;;
+1F4B3;CREDIT CARD;So;0;ON;;;;;N;;;;;
+1F4B4;BANKNOTE WITH YEN SIGN;So;0;ON;;;;;N;;;;;
+1F4B5;BANKNOTE WITH DOLLAR SIGN;So;0;ON;;;;;N;;;;;
+1F4B6;BANKNOTE WITH EURO SIGN;So;0;ON;;;;;N;;;;;
+1F4B7;BANKNOTE WITH POUND SIGN;So;0;ON;;;;;N;;;;;
+1F4B8;MONEY WITH WINGS;So;0;ON;;;;;N;;;;;
+1F4B9;CHART WITH UPWARDS TREND AND YEN SIGN;So;0;ON;;;;;N;;;;;
+1F4BA;SEAT;So;0;ON;;;;;N;;;;;
+1F4BB;PERSONAL COMPUTER;So;0;ON;;;;;N;;;;;
+1F4BC;BRIEFCASE;So;0;ON;;;;;N;;;;;
+1F4BD;MINIDISC;So;0;ON;;;;;N;;;;;
+1F4BE;FLOPPY DISK;So;0;ON;;;;;N;;;;;
+1F4BF;OPTICAL DISC;So;0;ON;;;;;N;;;;;
+1F4C0;DVD;So;0;ON;;;;;N;;;;;
+1F4C1;FILE FOLDER;So;0;ON;;;;;N;;;;;
+1F4C2;OPEN FILE FOLDER;So;0;ON;;;;;N;;;;;
+1F4C3;PAGE WITH CURL;So;0;ON;;;;;N;;;;;
+1F4C4;PAGE FACING UP;So;0;ON;;;;;N;;;;;
+1F4C5;CALENDAR;So;0;ON;;;;;N;;;;;
+1F4C6;TEAR-OFF CALENDAR;So;0;ON;;;;;N;;;;;
+1F4C7;CARD INDEX;So;0;ON;;;;;N;;;;;
+1F4C8;CHART WITH UPWARDS TREND;So;0;ON;;;;;N;;;;;
+1F4C9;CHART WITH DOWNWARDS TREND;So;0;ON;;;;;N;;;;;
+1F4CA;BAR CHART;So;0;ON;;;;;N;;;;;
+1F4CB;CLIPBOARD;So;0;ON;;;;;N;;;;;
+1F4CC;PUSHPIN;So;0;ON;;;;;N;;;;;
+1F4CD;ROUND PUSHPIN;So;0;ON;;;;;N;;;;;
+1F4CE;PAPERCLIP;So;0;ON;;;;;N;;;;;
+1F4CF;STRAIGHT RULER;So;0;ON;;;;;N;;;;;
+1F4D0;TRIANGULAR RULER;So;0;ON;;;;;N;;;;;
+1F4D1;BOOKMARK TABS;So;0;ON;;;;;N;;;;;
+1F4D2;LEDGER;So;0;ON;;;;;N;;;;;
+1F4D3;NOTEBOOK;So;0;ON;;;;;N;;;;;
+1F4D4;NOTEBOOK WITH DECORATIVE COVER;So;0;ON;;;;;N;;;;;
+1F4D5;CLOSED BOOK;So;0;ON;;;;;N;;;;;
+1F4D6;OPEN BOOK;So;0;ON;;;;;N;;;;;
+1F4D7;GREEN BOOK;So;0;ON;;;;;N;;;;;
+1F4D8;BLUE BOOK;So;0;ON;;;;;N;;;;;
+1F4D9;ORANGE BOOK;So;0;ON;;;;;N;;;;;
+1F4DA;BOOKS;So;0;ON;;;;;N;;;;;
+1F4DB;NAME BADGE;So;0;ON;;;;;N;;;;;
+1F4DC;SCROLL;So;0;ON;;;;;N;;;;;
+1F4DD;MEMO;So;0;ON;;;;;N;;;;;
+1F4DE;TELEPHONE RECEIVER;So;0;ON;;;;;N;;;;;
+1F4DF;PAGER;So;0;ON;;;;;N;;;;;
+1F4E0;FAX MACHINE;So;0;ON;;;;;N;;;;;
+1F4E1;SATELLITE ANTENNA;So;0;ON;;;;;N;;;;;
+1F4E2;PUBLIC ADDRESS LOUDSPEAKER;So;0;ON;;;;;N;;;;;
+1F4E3;CHEERING MEGAPHONE;So;0;ON;;;;;N;;;;;
+1F4E4;OUTBOX TRAY;So;0;ON;;;;;N;;;;;
+1F4E5;INBOX TRAY;So;0;ON;;;;;N;;;;;
+1F4E6;PACKAGE;So;0;ON;;;;;N;;;;;
+1F4E7;E-MAIL SYMBOL;So;0;ON;;;;;N;;;;;
+1F4E8;INCOMING ENVELOPE;So;0;ON;;;;;N;;;;;
+1F4E9;ENVELOPE WITH DOWNWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;;
+1F4EA;CLOSED MAILBOX WITH LOWERED FLAG;So;0;ON;;;;;N;;;;;
+1F4EB;CLOSED MAILBOX WITH RAISED FLAG;So;0;ON;;;;;N;;;;;
+1F4EC;OPEN MAILBOX WITH RAISED FLAG;So;0;ON;;;;;N;;;;;
+1F4ED;OPEN MAILBOX WITH LOWERED FLAG;So;0;ON;;;;;N;;;;;
+1F4EE;POSTBOX;So;0;ON;;;;;N;;;;;
+1F4EF;POSTAL HORN;So;0;ON;;;;;N;;;;;
+1F4F0;NEWSPAPER;So;0;ON;;;;;N;;;;;
+1F4F1;MOBILE PHONE;So;0;ON;;;;;N;;;;;
+1F4F2;MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT;So;0;ON;;;;;N;;;;;
+1F4F3;VIBRATION MODE;So;0;ON;;;;;N;;;;;
+1F4F4;MOBILE PHONE OFF;So;0;ON;;;;;N;;;;;
+1F4F5;NO MOBILE PHONES;So;0;ON;;;;;N;;;;;
+1F4F6;ANTENNA WITH BARS;So;0;ON;;;;;N;;;;;
+1F4F7;CAMERA;So;0;ON;;;;;N;;;;;
+1F4F8;CAMERA WITH FLASH;So;0;ON;;;;;N;;;;;
+1F4F9;VIDEO CAMERA;So;0;ON;;;;;N;;;;;
+1F4FA;TELEVISION;So;0;ON;;;;;N;;;;;
+1F4FB;RADIO;So;0;ON;;;;;N;;;;;
+1F4FC;VIDEOCASSETTE;So;0;ON;;;;;N;;;;;
+1F4FD;FILM PROJECTOR;So;0;ON;;;;;N;;;;;
+1F4FE;PORTABLE STEREO;So;0;ON;;;;;N;;;;;
+1F4FF;PRAYER BEADS;So;0;ON;;;;;N;;;;;
+1F500;TWISTED RIGHTWARDS ARROWS;So;0;ON;;;;;N;;;;;
+1F501;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;;
+1F502;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY;So;0;ON;;;;;N;;;;;
+1F503;CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;;
+1F504;ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;;
+1F505;LOW BRIGHTNESS SYMBOL;So;0;ON;;;;;N;;;;;
+1F506;HIGH BRIGHTNESS SYMBOL;So;0;ON;;;;;N;;;;;
+1F507;SPEAKER WITH CANCELLATION STROKE;So;0;ON;;;;;N;;;;;
+1F508;SPEAKER;So;0;ON;;;;;N;;;;;
+1F509;SPEAKER WITH ONE SOUND WAVE;So;0;ON;;;;;N;;;;;
+1F50A;SPEAKER WITH THREE SOUND WAVES;So;0;ON;;;;;N;;;;;
+1F50B;BATTERY;So;0;ON;;;;;N;;;;;
+1F50C;ELECTRIC PLUG;So;0;ON;;;;;N;;;;;
+1F50D;LEFT-POINTING MAGNIFYING GLASS;So;0;ON;;;;;N;;;;;
+1F50E;RIGHT-POINTING MAGNIFYING GLASS;So;0;ON;;;;;N;;;;;
+1F50F;LOCK WITH INK PEN;So;0;ON;;;;;N;;;;;
+1F510;CLOSED LOCK WITH KEY;So;0;ON;;;;;N;;;;;
+1F511;KEY;So;0;ON;;;;;N;;;;;
+1F512;LOCK;So;0;ON;;;;;N;;;;;
+1F513;OPEN LOCK;So;0;ON;;;;;N;;;;;
+1F514;BELL;So;0;ON;;;;;N;;;;;
+1F515;BELL WITH CANCELLATION STROKE;So;0;ON;;;;;N;;;;;
+1F516;BOOKMARK;So;0;ON;;;;;N;;;;;
+1F517;LINK SYMBOL;So;0;ON;;;;;N;;;;;
+1F518;RADIO BUTTON;So;0;ON;;;;;N;;;;;
+1F519;BACK WITH LEFTWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;;
+1F51A;END WITH LEFTWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;;
+1F51B;ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE;So;0;ON;;;;;N;;;;;
+1F51C;SOON WITH RIGHTWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;;
+1F51D;TOP WITH UPWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;;
+1F51E;NO ONE UNDER EIGHTEEN SYMBOL;So;0;ON;;;;;N;;;;;
+1F51F;KEYCAP TEN;So;0;ON;;;;;N;;;;;
+1F520;INPUT SYMBOL FOR LATIN CAPITAL LETTERS;So;0;ON;;;;;N;;;;;
+1F521;INPUT SYMBOL FOR LATIN SMALL LETTERS;So;0;ON;;;;;N;;;;;
+1F522;INPUT SYMBOL FOR NUMBERS;So;0;ON;;;;;N;;;;;
+1F523;INPUT SYMBOL FOR SYMBOLS;So;0;ON;;;;;N;;;;;
+1F524;INPUT SYMBOL FOR LATIN LETTERS;So;0;ON;;;;;N;;;;;
+1F525;FIRE;So;0;ON;;;;;N;;;;;
+1F526;ELECTRIC TORCH;So;0;ON;;;;;N;;;;;
+1F527;WRENCH;So;0;ON;;;;;N;;;;;
+1F528;HAMMER;So;0;ON;;;;;N;;;;;
+1F529;NUT AND BOLT;So;0;ON;;;;;N;;;;;
+1F52A;HOCHO;So;0;ON;;;;;N;;;;;
+1F52B;PISTOL;So;0;ON;;;;;N;;;;;
+1F52C;MICROSCOPE;So;0;ON;;;;;N;;;;;
+1F52D;TELESCOPE;So;0;ON;;;;;N;;;;;
+1F52E;CRYSTAL BALL;So;0;ON;;;;;N;;;;;
+1F52F;SIX POINTED STAR WITH MIDDLE DOT;So;0;ON;;;;;N;;;;;
+1F530;JAPANESE SYMBOL FOR BEGINNER;So;0;ON;;;;;N;;;;;
+1F531;TRIDENT EMBLEM;So;0;ON;;;;;N;;;;;
+1F532;BLACK SQUARE BUTTON;So;0;ON;;;;;N;;;;;
+1F533;WHITE SQUARE BUTTON;So;0;ON;;;;;N;;;;;
+1F534;LARGE RED CIRCLE;So;0;ON;;;;;N;;;;;
+1F535;LARGE BLUE CIRCLE;So;0;ON;;;;;N;;;;;
+1F536;LARGE ORANGE DIAMOND;So;0;ON;;;;;N;;;;;
+1F537;LARGE BLUE DIAMOND;So;0;ON;;;;;N;;;;;
+1F538;SMALL ORANGE DIAMOND;So;0;ON;;;;;N;;;;;
+1F539;SMALL BLUE DIAMOND;So;0;ON;;;;;N;;;;;
+1F53A;UP-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F53B;DOWN-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F53C;UP-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F53D;DOWN-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F53E;LOWER RIGHT SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F53F;UPPER RIGHT SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F540;CIRCLED CROSS POMMEE;So;0;ON;;;;;N;;;;;
+1F541;CROSS POMMEE WITH HALF-CIRCLE BELOW;So;0;ON;;;;;N;;;;;
+1F542;CROSS POMMEE;So;0;ON;;;;;N;;;;;
+1F543;NOTCHED LEFT SEMICIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;;
+1F544;NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;;
+1F545;SYMBOL FOR MARKS CHAPTER;So;0;ON;;;;;N;;;;;
+1F546;WHITE LATIN CROSS;So;0;ON;;;;;N;;;;;
+1F547;HEAVY LATIN CROSS;So;0;ON;;;;;N;;;;;
+1F548;CELTIC CROSS;So;0;ON;;;;;N;;;;;
+1F549;OM SYMBOL;So;0;ON;;;;;N;;;;;
+1F54A;DOVE OF PEACE;So;0;ON;;;;;N;;;;;
+1F54B;KAABA;So;0;ON;;;;;N;;;;;
+1F54C;MOSQUE;So;0;ON;;;;;N;;;;;
+1F54D;SYNAGOGUE;So;0;ON;;;;;N;;;;;
+1F54E;MENORAH WITH NINE BRANCHES;So;0;ON;;;;;N;;;;;
+1F54F;BOWL OF HYGIEIA;So;0;ON;;;;;N;;;;;
+1F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;;
+1F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;;
+1F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;;
+1F553;CLOCK FACE FOUR OCLOCK;So;0;ON;;;;;N;;;;;
+1F554;CLOCK FACE FIVE OCLOCK;So;0;ON;;;;;N;;;;;
+1F555;CLOCK FACE SIX OCLOCK;So;0;ON;;;;;N;;;;;
+1F556;CLOCK FACE SEVEN OCLOCK;So;0;ON;;;;;N;;;;;
+1F557;CLOCK FACE EIGHT OCLOCK;So;0;ON;;;;;N;;;;;
+1F558;CLOCK FACE NINE OCLOCK;So;0;ON;;;;;N;;;;;
+1F559;CLOCK FACE TEN OCLOCK;So;0;ON;;;;;N;;;;;
+1F55A;CLOCK FACE ELEVEN OCLOCK;So;0;ON;;;;;N;;;;;
+1F55B;CLOCK FACE TWELVE OCLOCK;So;0;ON;;;;;N;;;;;
+1F55C;CLOCK FACE ONE-THIRTY;So;0;ON;;;;;N;;;;;
+1F55D;CLOCK FACE TWO-THIRTY;So;0;ON;;;;;N;;;;;
+1F55E;CLOCK FACE THREE-THIRTY;So;0;ON;;;;;N;;;;;
+1F55F;CLOCK FACE FOUR-THIRTY;So;0;ON;;;;;N;;;;;
+1F560;CLOCK FACE FIVE-THIRTY;So;0;ON;;;;;N;;;;;
+1F561;CLOCK FACE SIX-THIRTY;So;0;ON;;;;;N;;;;;
+1F562;CLOCK FACE SEVEN-THIRTY;So;0;ON;;;;;N;;;;;
+1F563;CLOCK FACE EIGHT-THIRTY;So;0;ON;;;;;N;;;;;
+1F564;CLOCK FACE NINE-THIRTY;So;0;ON;;;;;N;;;;;
+1F565;CLOCK FACE TEN-THIRTY;So;0;ON;;;;;N;;;;;
+1F566;CLOCK FACE ELEVEN-THIRTY;So;0;ON;;;;;N;;;;;
+1F567;CLOCK FACE TWELVE-THIRTY;So;0;ON;;;;;N;;;;;
+1F568;RIGHT SPEAKER;So;0;ON;;;;;N;;;;;
+1F569;RIGHT SPEAKER WITH ONE SOUND WAVE;So;0;ON;;;;;N;;;;;
+1F56A;RIGHT SPEAKER WITH THREE SOUND WAVES;So;0;ON;;;;;N;;;;;
+1F56B;BULLHORN;So;0;ON;;;;;N;;;;;
+1F56C;BULLHORN WITH SOUND WAVES;So;0;ON;;;;;N;;;;;
+1F56D;RINGING BELL;So;0;ON;;;;;N;;;;;
+1F56E;BOOK;So;0;ON;;;;;N;;;;;
+1F56F;CANDLE;So;0;ON;;;;;N;;;;;
+1F570;MANTELPIECE CLOCK;So;0;ON;;;;;N;;;;;
+1F571;BLACK SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;;
+1F572;NO PIRACY;So;0;ON;;;;;N;;;;;
+1F573;HOLE;So;0;ON;;;;;N;;;;;
+1F574;MAN IN BUSINESS SUIT LEVITATING;So;0;ON;;;;;N;;;;;
+1F575;SLEUTH OR SPY;So;0;ON;;;;;N;;;;;
+1F576;DARK SUNGLASSES;So;0;ON;;;;;N;;;;;
+1F577;SPIDER;So;0;ON;;;;;N;;;;;
+1F578;SPIDER WEB;So;0;ON;;;;;N;;;;;
+1F579;JOYSTICK;So;0;ON;;;;;N;;;;;
+1F57B;LEFT HAND TELEPHONE RECEIVER;So;0;ON;;;;;N;;;;;
+1F57C;TELEPHONE RECEIVER WITH PAGE;So;0;ON;;;;;N;;;;;
+1F57D;RIGHT HAND TELEPHONE RECEIVER;So;0;ON;;;;;N;;;;;
+1F57E;WHITE TOUCHTONE TELEPHONE;So;0;ON;;;;;N;;;;;
+1F57F;BLACK TOUCHTONE TELEPHONE;So;0;ON;;;;;N;;;;;
+1F580;TELEPHONE ON TOP OF MODEM;So;0;ON;;;;;N;;;;;
+1F581;CLAMSHELL MOBILE PHONE;So;0;ON;;;;;N;;;;;
+1F582;BACK OF ENVELOPE;So;0;ON;;;;;N;;;;;
+1F583;STAMPED ENVELOPE;So;0;ON;;;;;N;;;;;
+1F584;ENVELOPE WITH LIGHTNING;So;0;ON;;;;;N;;;;;
+1F585;FLYING ENVELOPE;So;0;ON;;;;;N;;;;;
+1F586;PEN OVER STAMPED ENVELOPE;So;0;ON;;;;;N;;;;;
+1F587;LINKED PAPERCLIPS;So;0;ON;;;;;N;;;;;
+1F588;BLACK PUSHPIN;So;0;ON;;;;;N;;;;;
+1F589;LOWER LEFT PENCIL;So;0;ON;;;;;N;;;;;
+1F58A;LOWER LEFT BALLPOINT PEN;So;0;ON;;;;;N;;;;;
+1F58B;LOWER LEFT FOUNTAIN PEN;So;0;ON;;;;;N;;;;;
+1F58C;LOWER LEFT PAINTBRUSH;So;0;ON;;;;;N;;;;;
+1F58D;LOWER LEFT CRAYON;So;0;ON;;;;;N;;;;;
+1F58E;LEFT WRITING HAND;So;0;ON;;;;;N;;;;;
+1F58F;TURNED OK HAND SIGN;So;0;ON;;;;;N;;;;;
+1F590;RAISED HAND WITH FINGERS SPLAYED;So;0;ON;;;;;N;;;;;
+1F591;REVERSED RAISED HAND WITH FINGERS SPLAYED;So;0;ON;;;;;N;;;;;
+1F592;REVERSED THUMBS UP SIGN;So;0;ON;;;;;N;;;;;
+1F593;REVERSED THUMBS DOWN SIGN;So;0;ON;;;;;N;;;;;
+1F594;REVERSED VICTORY HAND;So;0;ON;;;;;N;;;;;
+1F595;REVERSED HAND WITH MIDDLE FINGER EXTENDED;So;0;ON;;;;;N;;;;;
+1F596;RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS;So;0;ON;;;;;N;;;;;
+1F597;WHITE DOWN POINTING LEFT HAND INDEX;So;0;ON;;;;;N;;;;;
+1F598;SIDEWAYS WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F599;SIDEWAYS WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F59A;SIDEWAYS BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F59B;SIDEWAYS BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F59C;BLACK LEFT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F59D;BLACK RIGHT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F59E;SIDEWAYS WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F59F;SIDEWAYS WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F5A0;SIDEWAYS BLACK UP POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F5A1;SIDEWAYS BLACK DOWN POINTING INDEX;So;0;ON;;;;;N;;;;;
+1F5A2;BLACK UP POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F5A3;BLACK DOWN POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;;
+1F5A5;DESKTOP COMPUTER;So;0;ON;;;;;N;;;;;
+1F5A6;KEYBOARD AND MOUSE;So;0;ON;;;;;N;;;;;
+1F5A7;THREE NETWORKED COMPUTERS;So;0;ON;;;;;N;;;;;
+1F5A8;PRINTER;So;0;ON;;;;;N;;;;;
+1F5A9;POCKET CALCULATOR;So;0;ON;;;;;N;;;;;
+1F5AA;BLACK HARD SHELL FLOPPY DISK;So;0;ON;;;;;N;;;;;
+1F5AB;WHITE HARD SHELL FLOPPY DISK;So;0;ON;;;;;N;;;;;
+1F5AC;SOFT SHELL FLOPPY DISK;So;0;ON;;;;;N;;;;;
+1F5AD;TAPE CARTRIDGE;So;0;ON;;;;;N;;;;;
+1F5AE;WIRED KEYBOARD;So;0;ON;;;;;N;;;;;
+1F5AF;ONE BUTTON MOUSE;So;0;ON;;;;;N;;;;;
+1F5B0;TWO BUTTON MOUSE;So;0;ON;;;;;N;;;;;
+1F5B1;THREE BUTTON MOUSE;So;0;ON;;;;;N;;;;;
+1F5B2;TRACKBALL;So;0;ON;;;;;N;;;;;
+1F5B3;OLD PERSONAL COMPUTER;So;0;ON;;;;;N;;;;;
+1F5B4;HARD DISK;So;0;ON;;;;;N;;;;;
+1F5B5;SCREEN;So;0;ON;;;;;N;;;;;
+1F5B6;PRINTER ICON;So;0;ON;;;;;N;;;;;
+1F5B7;FAX ICON;So;0;ON;;;;;N;;;;;
+1F5B8;OPTICAL DISC ICON;So;0;ON;;;;;N;;;;;
+1F5B9;DOCUMENT WITH TEXT;So;0;ON;;;;;N;;;;;
+1F5BA;DOCUMENT WITH TEXT AND PICTURE;So;0;ON;;;;;N;;;;;
+1F5BB;DOCUMENT WITH PICTURE;So;0;ON;;;;;N;;;;;
+1F5BC;FRAME WITH PICTURE;So;0;ON;;;;;N;;;;;
+1F5BD;FRAME WITH TILES;So;0;ON;;;;;N;;;;;
+1F5BE;FRAME WITH AN X;So;0;ON;;;;;N;;;;;
+1F5BF;BLACK FOLDER;So;0;ON;;;;;N;;;;;
+1F5C0;FOLDER;So;0;ON;;;;;N;;;;;
+1F5C1;OPEN FOLDER;So;0;ON;;;;;N;;;;;
+1F5C2;CARD INDEX DIVIDERS;So;0;ON;;;;;N;;;;;
+1F5C3;CARD FILE BOX;So;0;ON;;;;;N;;;;;
+1F5C4;FILE CABINET;So;0;ON;;;;;N;;;;;
+1F5C5;EMPTY NOTE;So;0;ON;;;;;N;;;;;
+1F5C6;EMPTY NOTE PAGE;So;0;ON;;;;;N;;;;;
+1F5C7;EMPTY NOTE PAD;So;0;ON;;;;;N;;;;;
+1F5C8;NOTE;So;0;ON;;;;;N;;;;;
+1F5C9;NOTE PAGE;So;0;ON;;;;;N;;;;;
+1F5CA;NOTE PAD;So;0;ON;;;;;N;;;;;
+1F5CB;EMPTY DOCUMENT;So;0;ON;;;;;N;;;;;
+1F5CC;EMPTY PAGE;So;0;ON;;;;;N;;;;;
+1F5CD;EMPTY PAGES;So;0;ON;;;;;N;;;;;
+1F5CE;DOCUMENT;So;0;ON;;;;;N;;;;;
+1F5CF;PAGE;So;0;ON;;;;;N;;;;;
+1F5D0;PAGES;So;0;ON;;;;;N;;;;;
+1F5D1;WASTEBASKET;So;0;ON;;;;;N;;;;;
+1F5D2;SPIRAL NOTE PAD;So;0;ON;;;;;N;;;;;
+1F5D3;SPIRAL CALENDAR PAD;So;0;ON;;;;;N;;;;;
+1F5D4;DESKTOP WINDOW;So;0;ON;;;;;N;;;;;
+1F5D5;MINIMIZE;So;0;ON;;;;;N;;;;;
+1F5D6;MAXIMIZE;So;0;ON;;;;;N;;;;;
+1F5D7;OVERLAP;So;0;ON;;;;;N;;;;;
+1F5D8;CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS;So;0;ON;;;;;N;;;;;
+1F5D9;CANCELLATION X;So;0;ON;;;;;N;;;;;
+1F5DA;INCREASE FONT SIZE SYMBOL;So;0;ON;;;;;N;;;;;
+1F5DB;DECREASE FONT SIZE SYMBOL;So;0;ON;;;;;N;;;;;
+1F5DC;COMPRESSION;So;0;ON;;;;;N;;;;;
+1F5DD;OLD KEY;So;0;ON;;;;;N;;;;;
+1F5DE;ROLLED-UP NEWSPAPER;So;0;ON;;;;;N;;;;;
+1F5DF;PAGE WITH CIRCLED TEXT;So;0;ON;;;;;N;;;;;
+1F5E0;STOCK CHART;So;0;ON;;;;;N;;;;;
+1F5E1;DAGGER KNIFE;So;0;ON;;;;;N;;;;;
+1F5E2;LIPS;So;0;ON;;;;;N;;;;;
+1F5E3;SPEAKING HEAD IN SILHOUETTE;So;0;ON;;;;;N;;;;;
+1F5E4;THREE RAYS ABOVE;So;0;ON;;;;;N;;;;;
+1F5E5;THREE RAYS BELOW;So;0;ON;;;;;N;;;;;
+1F5E6;THREE RAYS LEFT;So;0;ON;;;;;N;;;;;
+1F5E7;THREE RAYS RIGHT;So;0;ON;;;;;N;;;;;
+1F5E8;LEFT SPEECH BUBBLE;So;0;ON;;;;;N;;;;;
+1F5E9;RIGHT SPEECH BUBBLE;So;0;ON;;;;;N;;;;;
+1F5EA;TWO SPEECH BUBBLES;So;0;ON;;;;;N;;;;;
+1F5EB;THREE SPEECH BUBBLES;So;0;ON;;;;;N;;;;;
+1F5EC;LEFT THOUGHT BUBBLE;So;0;ON;;;;;N;;;;;
+1F5ED;RIGHT THOUGHT BUBBLE;So;0;ON;;;;;N;;;;;
+1F5EE;LEFT ANGER BUBBLE;So;0;ON;;;;;N;;;;;
+1F5EF;RIGHT ANGER BUBBLE;So;0;ON;;;;;N;;;;;
+1F5F0;MOOD BUBBLE;So;0;ON;;;;;N;;;;;
+1F5F1;LIGHTNING MOOD BUBBLE;So;0;ON;;;;;N;;;;;
+1F5F2;LIGHTNING MOOD;So;0;ON;;;;;N;;;;;
+1F5F3;BALLOT BOX WITH BALLOT;So;0;ON;;;;;N;;;;;
+1F5F4;BALLOT SCRIPT X;So;0;ON;;;;;N;;;;;
+1F5F5;BALLOT BOX WITH SCRIPT X;So;0;ON;;;;;N;;;;;
+1F5F6;BALLOT BOLD SCRIPT X;So;0;ON;;;;;N;;;;;
+1F5F7;BALLOT BOX WITH BOLD SCRIPT X;So;0;ON;;;;;N;;;;;
+1F5F8;LIGHT CHECK MARK;So;0;ON;;;;;N;;;;;
+1F5F9;BALLOT BOX WITH BOLD CHECK;So;0;ON;;;;;N;;;;;
+1F5FA;WORLD MAP;So;0;ON;;;;;N;;;;;
+1F5FB;MOUNT FUJI;So;0;ON;;;;;N;;;;;
+1F5FC;TOKYO TOWER;So;0;ON;;;;;N;;;;;
+1F5FD;STATUE OF LIBERTY;So;0;ON;;;;;N;;;;;
+1F5FE;SILHOUETTE OF JAPAN;So;0;ON;;;;;N;;;;;
+1F5FF;MOYAI;So;0;ON;;;;;N;;;;;
+1F600;GRINNING FACE;So;0;ON;;;;;N;;;;;
+1F601;GRINNING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
+1F602;FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;;
+1F603;SMILING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1F604;SMILING FACE WITH OPEN MOUTH AND SMILING EYES;So;0;ON;;;;;N;;;;;
+1F605;SMILING FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;;
+1F606;SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;;
+1F607;SMILING FACE WITH HALO;So;0;ON;;;;;N;;;;;
+1F608;SMILING FACE WITH HORNS;So;0;ON;;;;;N;;;;;
+1F609;WINKING FACE;So;0;ON;;;;;N;;;;;
+1F60A;SMILING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
+1F60B;FACE SAVOURING DELICIOUS FOOD;So;0;ON;;;;;N;;;;;
+1F60C;RELIEVED FACE;So;0;ON;;;;;N;;;;;
+1F60D;SMILING FACE WITH HEART-SHAPED EYES;So;0;ON;;;;;N;;;;;
+1F60E;SMILING FACE WITH SUNGLASSES;So;0;ON;;;;;N;;;;;
+1F60F;SMIRKING FACE;So;0;ON;;;;;N;;;;;
+1F610;NEUTRAL FACE;So;0;ON;;;;;N;;;;;
+1F611;EXPRESSIONLESS FACE;So;0;ON;;;;;N;;;;;
+1F612;UNAMUSED FACE;So;0;ON;;;;;N;;;;;
+1F613;FACE WITH COLD SWEAT;So;0;ON;;;;;N;;;;;
+1F614;PENSIVE FACE;So;0;ON;;;;;N;;;;;
+1F615;CONFUSED FACE;So;0;ON;;;;;N;;;;;
+1F616;CONFOUNDED FACE;So;0;ON;;;;;N;;;;;
+1F617;KISSING FACE;So;0;ON;;;;;N;;;;;
+1F618;FACE THROWING A KISS;So;0;ON;;;;;N;;;;;
+1F619;KISSING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
+1F61A;KISSING FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;;
+1F61B;FACE WITH STUCK-OUT TONGUE;So;0;ON;;;;;N;;;;;
+1F61C;FACE WITH STUCK-OUT TONGUE AND WINKING EYE;So;0;ON;;;;;N;;;;;
+1F61D;FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;;
+1F61E;DISAPPOINTED FACE;So;0;ON;;;;;N;;;;;
+1F61F;WORRIED FACE;So;0;ON;;;;;N;;;;;
+1F620;ANGRY FACE;So;0;ON;;;;;N;;;;;
+1F621;POUTING FACE;So;0;ON;;;;;N;;;;;
+1F622;CRYING FACE;So;0;ON;;;;;N;;;;;
+1F623;PERSEVERING FACE;So;0;ON;;;;;N;;;;;
+1F624;FACE WITH LOOK OF TRIUMPH;So;0;ON;;;;;N;;;;;
+1F625;DISAPPOINTED BUT RELIEVED FACE;So;0;ON;;;;;N;;;;;
+1F626;FROWNING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1F627;ANGUISHED FACE;So;0;ON;;;;;N;;;;;
+1F628;FEARFUL FACE;So;0;ON;;;;;N;;;;;
+1F629;WEARY FACE;So;0;ON;;;;;N;;;;;
+1F62A;SLEEPY FACE;So;0;ON;;;;;N;;;;;
+1F62B;TIRED FACE;So;0;ON;;;;;N;;;;;
+1F62C;GRIMACING FACE;So;0;ON;;;;;N;;;;;
+1F62D;LOUDLY CRYING FACE;So;0;ON;;;;;N;;;;;
+1F62E;FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1F62F;HUSHED FACE;So;0;ON;;;;;N;;;;;
+1F630;FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;;
+1F631;FACE SCREAMING IN FEAR;So;0;ON;;;;;N;;;;;
+1F632;ASTONISHED FACE;So;0;ON;;;;;N;;;;;
+1F633;FLUSHED FACE;So;0;ON;;;;;N;;;;;
+1F634;SLEEPING FACE;So;0;ON;;;;;N;;;;;
+1F635;DIZZY FACE;So;0;ON;;;;;N;;;;;
+1F636;FACE WITHOUT MOUTH;So;0;ON;;;;;N;;;;;
+1F637;FACE WITH MEDICAL MASK;So;0;ON;;;;;N;;;;;
+1F638;GRINNING CAT FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
+1F639;CAT FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;;
+1F63A;SMILING CAT FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1F63B;SMILING CAT FACE WITH HEART-SHAPED EYES;So;0;ON;;;;;N;;;;;
+1F63C;CAT FACE WITH WRY SMILE;So;0;ON;;;;;N;;;;;
+1F63D;KISSING CAT FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;;
+1F63E;POUTING CAT FACE;So;0;ON;;;;;N;;;;;
+1F63F;CRYING CAT FACE;So;0;ON;;;;;N;;;;;
+1F640;WEARY CAT FACE;So;0;ON;;;;;N;;;;;
+1F641;SLIGHTLY FROWNING FACE;So;0;ON;;;;;N;;;;;
+1F642;SLIGHTLY SMILING FACE;So;0;ON;;;;;N;;;;;
+1F643;UPSIDE-DOWN FACE;So;0;ON;;;;;N;;;;;
+1F644;FACE WITH ROLLING EYES;So;0;ON;;;;;N;;;;;
+1F645;FACE WITH NO GOOD GESTURE;So;0;ON;;;;;N;;;;;
+1F646;FACE WITH OK GESTURE;So;0;ON;;;;;N;;;;;
+1F647;PERSON BOWING DEEPLY;So;0;ON;;;;;N;;;;;
+1F648;SEE-NO-EVIL MONKEY;So;0;ON;;;;;N;;;;;
+1F649;HEAR-NO-EVIL MONKEY;So;0;ON;;;;;N;;;;;
+1F64A;SPEAK-NO-EVIL MONKEY;So;0;ON;;;;;N;;;;;
+1F64B;HAPPY PERSON RAISING ONE HAND;So;0;ON;;;;;N;;;;;
+1F64C;PERSON RAISING BOTH HANDS IN CELEBRATION;So;0;ON;;;;;N;;;;;
+1F64D;PERSON FROWNING;So;0;ON;;;;;N;;;;;
+1F64E;PERSON WITH POUTING FACE;So;0;ON;;;;;N;;;;;
+1F64F;PERSON WITH FOLDED HANDS;So;0;ON;;;;;N;;;;;
+1F650;NORTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F651;SOUTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F652;NORTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F653;SOUTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F654;TURNED NORTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F655;TURNED SOUTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F656;TURNED NORTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F657;TURNED SOUTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;;
+1F658;NORTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F659;SOUTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F65A;NORTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F65B;SOUTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F65C;HEAVY NORTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F65D;HEAVY SOUTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F65E;HEAVY NORTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F65F;HEAVY SOUTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;;
+1F660;NORTH WEST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F661;SOUTH WEST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F662;NORTH EAST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F663;SOUTH EAST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F664;HEAVY NORTH WEST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F665;HEAVY SOUTH WEST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F666;HEAVY NORTH EAST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F667;HEAVY SOUTH EAST POINTING BUD;So;0;ON;;;;;N;;;;;
+1F668;HOLLOW QUILT SQUARE ORNAMENT;So;0;ON;;;;;N;;;;;
+1F669;HOLLOW QUILT SQUARE ORNAMENT IN BLACK SQUARE;So;0;ON;;;;;N;;;;;
+1F66A;SOLID QUILT SQUARE ORNAMENT;So;0;ON;;;;;N;;;;;
+1F66B;SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE;So;0;ON;;;;;N;;;;;
+1F66C;LEFTWARDS ROCKET;So;0;ON;;;;;N;;;;;
+1F66D;UPWARDS ROCKET;So;0;ON;;;;;N;;;;;
+1F66E;RIGHTWARDS ROCKET;So;0;ON;;;;;N;;;;;
+1F66F;DOWNWARDS ROCKET;So;0;ON;;;;;N;;;;;
+1F670;SCRIPT LIGATURE ET ORNAMENT;So;0;ON;;;;;N;;;;;
+1F671;HEAVY SCRIPT LIGATURE ET ORNAMENT;So;0;ON;;;;;N;;;;;
+1F672;LIGATURE OPEN ET ORNAMENT;So;0;ON;;;;;N;;;;;
+1F673;HEAVY LIGATURE OPEN ET ORNAMENT;So;0;ON;;;;;N;;;;;
+1F674;HEAVY AMPERSAND ORNAMENT;So;0;ON;;;;;N;;;;;
+1F675;SWASH AMPERSAND ORNAMENT;So;0;ON;;;;;N;;;;;
+1F676;SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+1F677;SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+1F678;SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+1F679;HEAVY INTERROBANG ORNAMENT;So;0;ON;;;;;N;;;;;
+1F67A;SANS-SERIF INTERROBANG ORNAMENT;So;0;ON;;;;;N;;;;;
+1F67B;HEAVY SANS-SERIF INTERROBANG ORNAMENT;So;0;ON;;;;;N;;;;;
+1F67C;VERY HEAVY SOLIDUS;So;0;ON;;;;;N;;;;;
+1F67D;VERY HEAVY REVERSE SOLIDUS;So;0;ON;;;;;N;;;;;
+1F67E;CHECKER BOARD;So;0;ON;;;;;N;;;;;
+1F67F;REVERSE CHECKER BOARD;So;0;ON;;;;;N;;;;;
+1F680;ROCKET;So;0;ON;;;;;N;;;;;
+1F681;HELICOPTER;So;0;ON;;;;;N;;;;;
+1F682;STEAM LOCOMOTIVE;So;0;ON;;;;;N;;;;;
+1F683;RAILWAY CAR;So;0;ON;;;;;N;;;;;
+1F684;HIGH-SPEED TRAIN;So;0;ON;;;;;N;;;;;
+1F685;HIGH-SPEED TRAIN WITH BULLET NOSE;So;0;ON;;;;;N;;;;;
+1F686;TRAIN;So;0;ON;;;;;N;;;;;
+1F687;METRO;So;0;ON;;;;;N;;;;;
+1F688;LIGHT RAIL;So;0;ON;;;;;N;;;;;
+1F689;STATION;So;0;ON;;;;;N;;;;;
+1F68A;TRAM;So;0;ON;;;;;N;;;;;
+1F68B;TRAM CAR;So;0;ON;;;;;N;;;;;
+1F68C;BUS;So;0;ON;;;;;N;;;;;
+1F68D;ONCOMING BUS;So;0;ON;;;;;N;;;;;
+1F68E;TROLLEYBUS;So;0;ON;;;;;N;;;;;
+1F68F;BUS STOP;So;0;ON;;;;;N;;;;;
+1F690;MINIBUS;So;0;ON;;;;;N;;;;;
+1F691;AMBULANCE;So;0;ON;;;;;N;;;;;
+1F692;FIRE ENGINE;So;0;ON;;;;;N;;;;;
+1F693;POLICE CAR;So;0;ON;;;;;N;;;;;
+1F694;ONCOMING POLICE CAR;So;0;ON;;;;;N;;;;;
+1F695;TAXI;So;0;ON;;;;;N;;;;;
+1F696;ONCOMING TAXI;So;0;ON;;;;;N;;;;;
+1F697;AUTOMOBILE;So;0;ON;;;;;N;;;;;
+1F698;ONCOMING AUTOMOBILE;So;0;ON;;;;;N;;;;;
+1F699;RECREATIONAL VEHICLE;So;0;ON;;;;;N;;;;;
+1F69A;DELIVERY TRUCK;So;0;ON;;;;;N;;;;;
+1F69B;ARTICULATED LORRY;So;0;ON;;;;;N;;;;;
+1F69C;TRACTOR;So;0;ON;;;;;N;;;;;
+1F69D;MONORAIL;So;0;ON;;;;;N;;;;;
+1F69E;MOUNTAIN RAILWAY;So;0;ON;;;;;N;;;;;
+1F69F;SUSPENSION RAILWAY;So;0;ON;;;;;N;;;;;
+1F6A0;MOUNTAIN CABLEWAY;So;0;ON;;;;;N;;;;;
+1F6A1;AERIAL TRAMWAY;So;0;ON;;;;;N;;;;;
+1F6A2;SHIP;So;0;ON;;;;;N;;;;;
+1F6A3;ROWBOAT;So;0;ON;;;;;N;;;;;
+1F6A4;SPEEDBOAT;So;0;ON;;;;;N;;;;;
+1F6A5;HORIZONTAL TRAFFIC LIGHT;So;0;ON;;;;;N;;;;;
+1F6A6;VERTICAL TRAFFIC LIGHT;So;0;ON;;;;;N;;;;;
+1F6A7;CONSTRUCTION SIGN;So;0;ON;;;;;N;;;;;
+1F6A8;POLICE CARS REVOLVING LIGHT;So;0;ON;;;;;N;;;;;
+1F6A9;TRIANGULAR FLAG ON POST;So;0;ON;;;;;N;;;;;
+1F6AA;DOOR;So;0;ON;;;;;N;;;;;
+1F6AB;NO ENTRY SIGN;So;0;ON;;;;;N;;;;;
+1F6AC;SMOKING SYMBOL;So;0;ON;;;;;N;;;;;
+1F6AD;NO SMOKING SYMBOL;So;0;ON;;;;;N;;;;;
+1F6AE;PUT LITTER IN ITS PLACE SYMBOL;So;0;ON;;;;;N;;;;;
+1F6AF;DO NOT LITTER SYMBOL;So;0;ON;;;;;N;;;;;
+1F6B0;POTABLE WATER SYMBOL;So;0;ON;;;;;N;;;;;
+1F6B1;NON-POTABLE WATER SYMBOL;So;0;ON;;;;;N;;;;;
+1F6B2;BICYCLE;So;0;ON;;;;;N;;;;;
+1F6B3;NO BICYCLES;So;0;ON;;;;;N;;;;;
+1F6B4;BICYCLIST;So;0;ON;;;;;N;;;;;
+1F6B5;MOUNTAIN BICYCLIST;So;0;ON;;;;;N;;;;;
+1F6B6;PEDESTRIAN;So;0;ON;;;;;N;;;;;
+1F6B7;NO PEDESTRIANS;So;0;ON;;;;;N;;;;;
+1F6B8;CHILDREN CROSSING;So;0;ON;;;;;N;;;;;
+1F6B9;MENS SYMBOL;So;0;ON;;;;;N;;;;;
+1F6BA;WOMENS SYMBOL;So;0;ON;;;;;N;;;;;
+1F6BB;RESTROOM;So;0;ON;;;;;N;;;;;
+1F6BC;BABY SYMBOL;So;0;ON;;;;;N;;;;;
+1F6BD;TOILET;So;0;ON;;;;;N;;;;;
+1F6BE;WATER CLOSET;So;0;ON;;;;;N;;;;;
+1F6BF;SHOWER;So;0;ON;;;;;N;;;;;
+1F6C0;BATH;So;0;ON;;;;;N;;;;;
+1F6C1;BATHTUB;So;0;ON;;;;;N;;;;;
+1F6C2;PASSPORT CONTROL;So;0;ON;;;;;N;;;;;
+1F6C3;CUSTOMS;So;0;ON;;;;;N;;;;;
+1F6C4;BAGGAGE CLAIM;So;0;ON;;;;;N;;;;;
+1F6C5;LEFT LUGGAGE;So;0;ON;;;;;N;;;;;
+1F6C6;TRIANGLE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;;
+1F6C7;PROHIBITED SIGN;So;0;ON;;;;;N;;;;;
+1F6C8;CIRCLED INFORMATION SOURCE;So;0;ON;;;;;N;;;;;
+1F6C9;BOYS SYMBOL;So;0;ON;;;;;N;;;;;
+1F6CA;GIRLS SYMBOL;So;0;ON;;;;;N;;;;;
+1F6CB;COUCH AND LAMP;So;0;ON;;;;;N;;;;;
+1F6CC;SLEEPING ACCOMMODATION;So;0;ON;;;;;N;;;;;
+1F6CD;SHOPPING BAGS;So;0;ON;;;;;N;;;;;
+1F6CE;BELLHOP BELL;So;0;ON;;;;;N;;;;;
+1F6CF;BED;So;0;ON;;;;;N;;;;;
+1F6D0;PLACE OF WORSHIP;So;0;ON;;;;;N;;;;;
+1F6E0;HAMMER AND WRENCH;So;0;ON;;;;;N;;;;;
+1F6E1;SHIELD;So;0;ON;;;;;N;;;;;
+1F6E2;OIL DRUM;So;0;ON;;;;;N;;;;;
+1F6E3;MOTORWAY;So;0;ON;;;;;N;;;;;
+1F6E4;RAILWAY TRACK;So;0;ON;;;;;N;;;;;
+1F6E5;MOTOR BOAT;So;0;ON;;;;;N;;;;;
+1F6E6;UP-POINTING MILITARY AIRPLANE;So;0;ON;;;;;N;;;;;
+1F6E7;UP-POINTING AIRPLANE;So;0;ON;;;;;N;;;;;
+1F6E8;UP-POINTING SMALL AIRPLANE;So;0;ON;;;;;N;;;;;
+1F6E9;SMALL AIRPLANE;So;0;ON;;;;;N;;;;;
+1F6EA;NORTHEAST-POINTING AIRPLANE;So;0;ON;;;;;N;;;;;
+1F6EB;AIRPLANE DEPARTURE;So;0;ON;;;;;N;;;;;
+1F6EC;AIRPLANE ARRIVING;So;0;ON;;;;;N;;;;;
+1F6F0;SATELLITE;So;0;ON;;;;;N;;;;;
+1F6F1;ONCOMING FIRE ENGINE;So;0;ON;;;;;N;;;;;
+1F6F2;DIESEL LOCOMOTIVE;So;0;ON;;;;;N;;;;;
+1F6F3;PASSENGER SHIP;So;0;ON;;;;;N;;;;;
+1F700;ALCHEMICAL SYMBOL FOR QUINTESSENCE;So;0;ON;;;;;N;;;;;
+1F701;ALCHEMICAL SYMBOL FOR AIR;So;0;ON;;;;;N;;;;;
+1F702;ALCHEMICAL SYMBOL FOR FIRE;So;0;ON;;;;;N;;;;;
+1F703;ALCHEMICAL SYMBOL FOR EARTH;So;0;ON;;;;;N;;;;;
+1F704;ALCHEMICAL SYMBOL FOR WATER;So;0;ON;;;;;N;;;;;
+1F705;ALCHEMICAL SYMBOL FOR AQUAFORTIS;So;0;ON;;;;;N;;;;;
+1F706;ALCHEMICAL SYMBOL FOR AQUA REGIA;So;0;ON;;;;;N;;;;;
+1F707;ALCHEMICAL SYMBOL FOR AQUA REGIA-2;So;0;ON;;;;;N;;;;;
+1F708;ALCHEMICAL SYMBOL FOR AQUA VITAE;So;0;ON;;;;;N;;;;;
+1F709;ALCHEMICAL SYMBOL FOR AQUA VITAE-2;So;0;ON;;;;;N;;;;;
+1F70A;ALCHEMICAL SYMBOL FOR VINEGAR;So;0;ON;;;;;N;;;;;
+1F70B;ALCHEMICAL SYMBOL FOR VINEGAR-2;So;0;ON;;;;;N;;;;;
+1F70C;ALCHEMICAL SYMBOL FOR VINEGAR-3;So;0;ON;;;;;N;;;;;
+1F70D;ALCHEMICAL SYMBOL FOR SULFUR;So;0;ON;;;;;N;;;;;
+1F70E;ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR;So;0;ON;;;;;N;;;;;
+1F70F;ALCHEMICAL SYMBOL FOR BLACK SULFUR;So;0;ON;;;;;N;;;;;
+1F710;ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE;So;0;ON;;;;;N;;;;;
+1F711;ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2;So;0;ON;;;;;N;;;;;
+1F712;ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3;So;0;ON;;;;;N;;;;;
+1F713;ALCHEMICAL SYMBOL FOR CINNABAR;So;0;ON;;;;;N;;;;;
+1F714;ALCHEMICAL SYMBOL FOR SALT;So;0;ON;;;;;N;;;;;
+1F715;ALCHEMICAL SYMBOL FOR NITRE;So;0;ON;;;;;N;;;;;
+1F716;ALCHEMICAL SYMBOL FOR VITRIOL;So;0;ON;;;;;N;;;;;
+1F717;ALCHEMICAL SYMBOL FOR VITRIOL-2;So;0;ON;;;;;N;;;;;
+1F718;ALCHEMICAL SYMBOL FOR ROCK SALT;So;0;ON;;;;;N;;;;;
+1F719;ALCHEMICAL SYMBOL FOR ROCK SALT-2;So;0;ON;;;;;N;;;;;
+1F71A;ALCHEMICAL SYMBOL FOR GOLD;So;0;ON;;;;;N;;;;;
+1F71B;ALCHEMICAL SYMBOL FOR SILVER;So;0;ON;;;;;N;;;;;
+1F71C;ALCHEMICAL SYMBOL FOR IRON ORE;So;0;ON;;;;;N;;;;;
+1F71D;ALCHEMICAL SYMBOL FOR IRON ORE-2;So;0;ON;;;;;N;;;;;
+1F71E;ALCHEMICAL SYMBOL FOR CROCUS OF IRON;So;0;ON;;;;;N;;;;;
+1F71F;ALCHEMICAL SYMBOL FOR REGULUS OF IRON;So;0;ON;;;;;N;;;;;
+1F720;ALCHEMICAL SYMBOL FOR COPPER ORE;So;0;ON;;;;;N;;;;;
+1F721;ALCHEMICAL SYMBOL FOR IRON-COPPER ORE;So;0;ON;;;;;N;;;;;
+1F722;ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER;So;0;ON;;;;;N;;;;;
+1F723;ALCHEMICAL SYMBOL FOR CROCUS OF COPPER;So;0;ON;;;;;N;;;;;
+1F724;ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2;So;0;ON;;;;;N;;;;;
+1F725;ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE;So;0;ON;;;;;N;;;;;
+1F726;ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE;So;0;ON;;;;;N;;;;;
+1F727;ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER;So;0;ON;;;;;N;;;;;
+1F728;ALCHEMICAL SYMBOL FOR VERDIGRIS;So;0;ON;;;;;N;;;;;
+1F729;ALCHEMICAL SYMBOL FOR TIN ORE;So;0;ON;;;;;N;;;;;
+1F72A;ALCHEMICAL SYMBOL FOR LEAD ORE;So;0;ON;;;;;N;;;;;
+1F72B;ALCHEMICAL SYMBOL FOR ANTIMONY ORE;So;0;ON;;;;;N;;;;;
+1F72C;ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY;So;0;ON;;;;;N;;;;;
+1F72D;ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY;So;0;ON;;;;;N;;;;;
+1F72E;ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY;So;0;ON;;;;;N;;;;;
+1F72F;ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY;So;0;ON;;;;;N;;;;;
+1F730;ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY;So;0;ON;;;;;N;;;;;
+1F731;ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2;So;0;ON;;;;;N;;;;;
+1F732;ALCHEMICAL SYMBOL FOR REGULUS;So;0;ON;;;;;N;;;;;
+1F733;ALCHEMICAL SYMBOL FOR REGULUS-2;So;0;ON;;;;;N;;;;;
+1F734;ALCHEMICAL SYMBOL FOR REGULUS-3;So;0;ON;;;;;N;;;;;
+1F735;ALCHEMICAL SYMBOL FOR REGULUS-4;So;0;ON;;;;;N;;;;;
+1F736;ALCHEMICAL SYMBOL FOR ALKALI;So;0;ON;;;;;N;;;;;
+1F737;ALCHEMICAL SYMBOL FOR ALKALI-2;So;0;ON;;;;;N;;;;;
+1F738;ALCHEMICAL SYMBOL FOR MARCASITE;So;0;ON;;;;;N;;;;;
+1F739;ALCHEMICAL SYMBOL FOR SAL-AMMONIAC;So;0;ON;;;;;N;;;;;
+1F73A;ALCHEMICAL SYMBOL FOR ARSENIC;So;0;ON;;;;;N;;;;;
+1F73B;ALCHEMICAL SYMBOL FOR REALGAR;So;0;ON;;;;;N;;;;;
+1F73C;ALCHEMICAL SYMBOL FOR REALGAR-2;So;0;ON;;;;;N;;;;;
+1F73D;ALCHEMICAL SYMBOL FOR AURIPIGMENT;So;0;ON;;;;;N;;;;;
+1F73E;ALCHEMICAL SYMBOL FOR BISMUTH ORE;So;0;ON;;;;;N;;;;;
+1F73F;ALCHEMICAL SYMBOL FOR TARTAR;So;0;ON;;;;;N;;;;;
+1F740;ALCHEMICAL SYMBOL FOR TARTAR-2;So;0;ON;;;;;N;;;;;
+1F741;ALCHEMICAL SYMBOL FOR QUICK LIME;So;0;ON;;;;;N;;;;;
+1F742;ALCHEMICAL SYMBOL FOR BORAX;So;0;ON;;;;;N;;;;;
+1F743;ALCHEMICAL SYMBOL FOR BORAX-2;So;0;ON;;;;;N;;;;;
+1F744;ALCHEMICAL SYMBOL FOR BORAX-3;So;0;ON;;;;;N;;;;;
+1F745;ALCHEMICAL SYMBOL FOR ALUM;So;0;ON;;;;;N;;;;;
+1F746;ALCHEMICAL SYMBOL FOR OIL;So;0;ON;;;;;N;;;;;
+1F747;ALCHEMICAL SYMBOL FOR SPIRIT;So;0;ON;;;;;N;;;;;
+1F748;ALCHEMICAL SYMBOL FOR TINCTURE;So;0;ON;;;;;N;;;;;
+1F749;ALCHEMICAL SYMBOL FOR GUM;So;0;ON;;;;;N;;;;;
+1F74A;ALCHEMICAL SYMBOL FOR WAX;So;0;ON;;;;;N;;;;;
+1F74B;ALCHEMICAL SYMBOL FOR POWDER;So;0;ON;;;;;N;;;;;
+1F74C;ALCHEMICAL SYMBOL FOR CALX;So;0;ON;;;;;N;;;;;
+1F74D;ALCHEMICAL SYMBOL FOR TUTTY;So;0;ON;;;;;N;;;;;
+1F74E;ALCHEMICAL SYMBOL FOR CAPUT MORTUUM;So;0;ON;;;;;N;;;;;
+1F74F;ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE;So;0;ON;;;;;N;;;;;
+1F750;ALCHEMICAL SYMBOL FOR CADUCEUS;So;0;ON;;;;;N;;;;;
+1F751;ALCHEMICAL SYMBOL FOR TRIDENT;So;0;ON;;;;;N;;;;;
+1F752;ALCHEMICAL SYMBOL FOR STARRED TRIDENT;So;0;ON;;;;;N;;;;;
+1F753;ALCHEMICAL SYMBOL FOR LODESTONE;So;0;ON;;;;;N;;;;;
+1F754;ALCHEMICAL SYMBOL FOR SOAP;So;0;ON;;;;;N;;;;;
+1F755;ALCHEMICAL SYMBOL FOR URINE;So;0;ON;;;;;N;;;;;
+1F756;ALCHEMICAL SYMBOL FOR HORSE DUNG;So;0;ON;;;;;N;;;;;
+1F757;ALCHEMICAL SYMBOL FOR ASHES;So;0;ON;;;;;N;;;;;
+1F758;ALCHEMICAL SYMBOL FOR POT ASHES;So;0;ON;;;;;N;;;;;
+1F759;ALCHEMICAL SYMBOL FOR BRICK;So;0;ON;;;;;N;;;;;
+1F75A;ALCHEMICAL SYMBOL FOR POWDERED BRICK;So;0;ON;;;;;N;;;;;
+1F75B;ALCHEMICAL SYMBOL FOR AMALGAM;So;0;ON;;;;;N;;;;;
+1F75C;ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM;So;0;ON;;;;;N;;;;;
+1F75D;ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2;So;0;ON;;;;;N;;;;;
+1F75E;ALCHEMICAL SYMBOL FOR SUBLIMATION;So;0;ON;;;;;N;;;;;
+1F75F;ALCHEMICAL SYMBOL FOR PRECIPITATE;So;0;ON;;;;;N;;;;;
+1F760;ALCHEMICAL SYMBOL FOR DISTILL;So;0;ON;;;;;N;;;;;
+1F761;ALCHEMICAL SYMBOL FOR DISSOLVE;So;0;ON;;;;;N;;;;;
+1F762;ALCHEMICAL SYMBOL FOR DISSOLVE-2;So;0;ON;;;;;N;;;;;
+1F763;ALCHEMICAL SYMBOL FOR PURIFY;So;0;ON;;;;;N;;;;;
+1F764;ALCHEMICAL SYMBOL FOR PUTREFACTION;So;0;ON;;;;;N;;;;;
+1F765;ALCHEMICAL SYMBOL FOR CRUCIBLE;So;0;ON;;;;;N;;;;;
+1F766;ALCHEMICAL SYMBOL FOR CRUCIBLE-2;So;0;ON;;;;;N;;;;;
+1F767;ALCHEMICAL SYMBOL FOR CRUCIBLE-3;So;0;ON;;;;;N;;;;;
+1F768;ALCHEMICAL SYMBOL FOR CRUCIBLE-4;So;0;ON;;;;;N;;;;;
+1F769;ALCHEMICAL SYMBOL FOR CRUCIBLE-5;So;0;ON;;;;;N;;;;;
+1F76A;ALCHEMICAL SYMBOL FOR ALEMBIC;So;0;ON;;;;;N;;;;;
+1F76B;ALCHEMICAL SYMBOL FOR BATH OF MARY;So;0;ON;;;;;N;;;;;
+1F76C;ALCHEMICAL SYMBOL FOR BATH OF VAPOURS;So;0;ON;;;;;N;;;;;
+1F76D;ALCHEMICAL SYMBOL FOR RETORT;So;0;ON;;;;;N;;;;;
+1F76E;ALCHEMICAL SYMBOL FOR HOUR;So;0;ON;;;;;N;;;;;
+1F76F;ALCHEMICAL SYMBOL FOR NIGHT;So;0;ON;;;;;N;;;;;
+1F770;ALCHEMICAL SYMBOL FOR DAY-NIGHT;So;0;ON;;;;;N;;;;;
+1F771;ALCHEMICAL SYMBOL FOR MONTH;So;0;ON;;;;;N;;;;;
+1F772;ALCHEMICAL SYMBOL FOR HALF DRAM;So;0;ON;;;;;N;;;;;
+1F773;ALCHEMICAL SYMBOL FOR HALF OUNCE;So;0;ON;;;;;N;;;;;
+1F780;BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+1F781;BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+1F782;BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+1F783;BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+1F784;BLACK SLIGHTLY SMALL CIRCLE;So;0;ON;;;;;N;;;;;
+1F785;MEDIUM BOLD WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F786;BOLD WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F787;HEAVY WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F788;VERY HEAVY WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F789;EXTREMELY HEAVY WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+1F78A;WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE;So;0;ON;;;;;N;;;;;
+1F78B;ROUND TARGET;So;0;ON;;;;;N;;;;;
+1F78C;BLACK TINY SQUARE;So;0;ON;;;;;N;;;;;
+1F78D;BLACK SLIGHTLY SMALL SQUARE;So;0;ON;;;;;N;;;;;
+1F78E;LIGHT WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1F78F;MEDIUM WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1F790;BOLD WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1F791;HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1F792;VERY HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1F793;EXTREMELY HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;;
+1F794;WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE;So;0;ON;;;;;N;;;;;
+1F795;WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE;So;0;ON;;;;;N;;;;;
+1F796;SQUARE TARGET;So;0;ON;;;;;N;;;;;
+1F797;BLACK TINY DIAMOND;So;0;ON;;;;;N;;;;;
+1F798;BLACK VERY SMALL DIAMOND;So;0;ON;;;;;N;;;;;
+1F799;BLACK MEDIUM SMALL DIAMOND;So;0;ON;;;;;N;;;;;
+1F79A;WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND;So;0;ON;;;;;N;;;;;
+1F79B;WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND;So;0;ON;;;;;N;;;;;
+1F79C;DIAMOND TARGET;So;0;ON;;;;;N;;;;;
+1F79D;BLACK TINY LOZENGE;So;0;ON;;;;;N;;;;;
+1F79E;BLACK VERY SMALL LOZENGE;So;0;ON;;;;;N;;;;;
+1F79F;BLACK MEDIUM SMALL LOZENGE;So;0;ON;;;;;N;;;;;
+1F7A0;WHITE LOZENGE CONTAINING BLACK SMALL LOZENGE;So;0;ON;;;;;N;;;;;
+1F7A1;THIN GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A2;LIGHT GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A3;MEDIUM GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A4;BOLD GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A5;VERY BOLD GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A6;VERY HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A7;EXTREMELY HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;;
+1F7A8;THIN SALTIRE;So;0;ON;;;;;N;;;;;
+1F7A9;LIGHT SALTIRE;So;0;ON;;;;;N;;;;;
+1F7AA;MEDIUM SALTIRE;So;0;ON;;;;;N;;;;;
+1F7AB;BOLD SALTIRE;So;0;ON;;;;;N;;;;;
+1F7AC;HEAVY SALTIRE;So;0;ON;;;;;N;;;;;
+1F7AD;VERY HEAVY SALTIRE;So;0;ON;;;;;N;;;;;
+1F7AE;EXTREMELY HEAVY SALTIRE;So;0;ON;;;;;N;;;;;
+1F7AF;LIGHT FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B0;MEDIUM FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B1;BOLD FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B2;HEAVY FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B3;VERY HEAVY FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B4;EXTREMELY HEAVY FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B5;LIGHT SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B6;MEDIUM SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B7;BOLD SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B8;HEAVY SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7B9;VERY HEAVY SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7BA;EXTREMELY HEAVY SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7BB;LIGHT EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7BC;MEDIUM EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7BD;BOLD EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7BE;HEAVY EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7BF;VERY HEAVY EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+1F7C0;LIGHT THREE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7C1;MEDIUM THREE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7C2;THREE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7C3;MEDIUM THREE POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F7C4;LIGHT FOUR POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7C5;MEDIUM FOUR POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7C6;FOUR POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7C7;MEDIUM FOUR POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F7C8;REVERSE LIGHT FOUR POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F7C9;LIGHT FIVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7CA;HEAVY FIVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7CB;MEDIUM SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7CC;HEAVY SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7CD;SIX POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F7CE;MEDIUM EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7CF;HEAVY EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7D0;VERY HEAVY EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7D1;HEAVY EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F7D2;LIGHT TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7D3;HEAVY TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+1F7D4;HEAVY TWELVE POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F800;LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F801;UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F802;RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F803;DOWNWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F804;LEFTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F805;UPWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F806;RIGHTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F807;DOWNWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F808;LEFTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F809;UPWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F80A;RIGHTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F80B;DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F810;LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F811;UPWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F812;RIGHTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F813;DOWNWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F814;LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F815;UPWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F816;RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F817;DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F818;HEAVY LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F819;HEAVY UPWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F81A;HEAVY RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F81B;HEAVY DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F81C;HEAVY LEFTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F81D;HEAVY UPWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F81E;HEAVY RIGHTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F81F;HEAVY DOWNWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F820;LEFTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;;
+1F821;UPWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;;
+1F822;RIGHTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;;
+1F823;DOWNWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;;
+1F824;LEFTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;;
+1F825;UPWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;;
+1F826;RIGHTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;;
+1F827;DOWNWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;;
+1F828;LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;;
+1F829;UPWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;;
+1F82A;RIGHTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;;
+1F82B;DOWNWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;;
+1F82C;LEFTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F82D;UPWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F82E;RIGHTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F82F;DOWNWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F830;LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F831;UPWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F832;RIGHTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F833;DOWNWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;;
+1F834;LEFTWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;;
+1F835;UPWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;;
+1F836;RIGHTWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;;
+1F837;DOWNWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;;
+1F838;LEFTWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;;
+1F839;UPWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;;
+1F83A;RIGHTWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;;
+1F83B;DOWNWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;;
+1F83C;LEFTWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F83D;UPWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F83E;RIGHTWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F83F;DOWNWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F840;LEFTWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F841;UPWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F842;RIGHTWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F843;DOWNWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;;
+1F844;LEFTWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;;
+1F845;UPWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;;
+1F846;RIGHTWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;;
+1F847;DOWNWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;;
+1F850;LEFTWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F851;UPWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F852;RIGHTWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F853;DOWNWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F854;NORTH WEST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F855;NORTH EAST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F856;SOUTH EAST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F857;SOUTH WEST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F858;LEFT RIGHT SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F859;UP DOWN SANS-SERIF ARROW;So;0;ON;;;;;N;;;;;
+1F860;WIDE-HEADED LEFTWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F861;WIDE-HEADED UPWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F862;WIDE-HEADED RIGHTWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F863;WIDE-HEADED DOWNWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F864;WIDE-HEADED NORTH WEST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F865;WIDE-HEADED NORTH EAST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F866;WIDE-HEADED SOUTH EAST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F867;WIDE-HEADED SOUTH WEST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;;
+1F868;WIDE-HEADED LEFTWARDS BARB ARROW;So;0;ON;;;;;N;;;;;
+1F869;WIDE-HEADED UPWARDS BARB ARROW;So;0;ON;;;;;N;;;;;
+1F86A;WIDE-HEADED RIGHTWARDS BARB ARROW;So;0;ON;;;;;N;;;;;
+1F86B;WIDE-HEADED DOWNWARDS BARB ARROW;So;0;ON;;;;;N;;;;;
+1F86C;WIDE-HEADED NORTH WEST BARB ARROW;So;0;ON;;;;;N;;;;;
+1F86D;WIDE-HEADED NORTH EAST BARB ARROW;So;0;ON;;;;;N;;;;;
+1F86E;WIDE-HEADED SOUTH EAST BARB ARROW;So;0;ON;;;;;N;;;;;
+1F86F;WIDE-HEADED SOUTH WEST BARB ARROW;So;0;ON;;;;;N;;;;;
+1F870;WIDE-HEADED LEFTWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F871;WIDE-HEADED UPWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F872;WIDE-HEADED RIGHTWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F873;WIDE-HEADED DOWNWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F874;WIDE-HEADED NORTH WEST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F875;WIDE-HEADED NORTH EAST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F876;WIDE-HEADED SOUTH EAST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F877;WIDE-HEADED SOUTH WEST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;;
+1F878;WIDE-HEADED LEFTWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F879;WIDE-HEADED UPWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F87A;WIDE-HEADED RIGHTWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F87B;WIDE-HEADED DOWNWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F87C;WIDE-HEADED NORTH WEST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F87D;WIDE-HEADED NORTH EAST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F87E;WIDE-HEADED SOUTH EAST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F87F;WIDE-HEADED SOUTH WEST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F880;WIDE-HEADED LEFTWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F881;WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F882;WIDE-HEADED RIGHTWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F883;WIDE-HEADED DOWNWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F884;WIDE-HEADED NORTH WEST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F885;WIDE-HEADED NORTH EAST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F886;WIDE-HEADED SOUTH EAST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F887;WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;;
+1F890;LEFTWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F891;UPWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F892;RIGHTWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F893;DOWNWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F894;LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F895;UPWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F896;RIGHTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F897;DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
+1F898;LEFTWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;;
+1F899;UPWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;;
+1F89A;RIGHTWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;;
+1F89B;DOWNWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;;
+1F89C;HEAVY ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;;
+1F89D;HEAVY ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;;
+1F89E;HEAVY ARROW SHAFT WIDTH ONE HALF;So;0;ON;;;;;N;;;;;
+1F89F;HEAVY ARROW SHAFT WIDTH ONE THIRD;So;0;ON;;;;;N;;;;;
+1F8A0;LEFTWARDS BOTTOM-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A1;RIGHTWARDS BOTTOM SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A2;LEFTWARDS TOP SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A3;RIGHTWARDS TOP SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A4;LEFTWARDS LEFT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A5;RIGHTWARDS RIGHT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A6;LEFTWARDS RIGHT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A7;RIGHTWARDS LEFT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A8;LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8A9;RIGHTWARDS BACK-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8AA;LEFTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8AB;RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;;
+1F8AC;WHITE ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;;
+1F8AD;WHITE ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;;
+1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;;
+1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;;
+1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;;
+1F913;NERD FACE;So;0;ON;;;;;N;;;;;
+1F914;THINKING FACE;So;0;ON;;;;;N;;;;;
+1F915;FACE WITH HEAD-BANDAGE;So;0;ON;;;;;N;;;;;
+1F916;ROBOT FACE;So;0;ON;;;;;N;;;;;
+1F917;HUGGING FACE;So;0;ON;;;;;N;;;;;
+1F918;SIGN OF THE HORNS;So;0;ON;;;;;N;;;;;
+1F980;CRAB;So;0;ON;;;;;N;;;;;
+1F981;LION FACE;So;0;ON;;;;;N;;;;;
+1F982;SCORPION;So;0;ON;;;;;N;;;;;
+1F983;TURKEY;So;0;ON;;;;;N;;;;;
+1F984;UNICORN FACE;So;0;ON;;;;;N;;;;;
+1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;;
+20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
+2A6D6;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
+2A700;<CJK Ideograph Extension C, First>;Lo;0;L;;;;;N;;;;;
+2B734;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
+2B740;<CJK Ideograph Extension D, First>;Lo;0;L;;;;;N;;;;;
+2B81D;<CJK Ideograph Extension D, Last>;Lo;0;L;;;;;N;;;;;
+2B820;<CJK Ideograph Extension E, First>;Lo;0;L;;;;;N;;;;;
+2CEA1;<CJK Ideograph Extension E, Last>;Lo;0;L;;;;;N;;;;;
2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;;
2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;;
2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;;
@@ -30421,3 +29209,7 @@ E01EC;VARIATION SELECTOR-253;Mn;0;NSM;;;;;N;;;;;
E01ED;VARIATION SELECTOR-254;Mn;0;NSM;;;;;N;;;;;
E01EE;VARIATION SELECTOR-255;Mn;0;NSM;;;;;N;;;;;
E01EF;VARIATION SELECTOR-256;Mn;0;NSM;;;;;N;;;;;
+F0000;<Plane 15 Private Use, First>;Co;0;L;;;;;N;;;;;
+FFFFD;<Plane 15 Private Use, Last>;Co;0;L;;;;;N;;;;;
+100000;<Plane 16 Private Use, First>;Co;0;L;;;;;N;;;;;
+10FFFD;<Plane 16 Private Use, Last>;Co;0;L;;;;;N;;;;;
diff --git a/gettext-tools/gnulib-tests/uniname/test-uninames.c b/gettext-tools/gnulib-tests/uniname/test-uninames.c
index a11e82b..2942d8d 100644
--- a/gettext-tools/gnulib-tests/uniname/test-uninames.c
+++ b/gettext-tools/gnulib-tests/uniname/test-uninames.c
@@ -1,5 +1,5 @@
/* Test the Unicode character name functions.
- Copyright (C) 2000-2003, 2005, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2000-2003, 2005, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -27,52 +27,32 @@
/* The names according to the UnicodeData.txt file, modified to contain the
Hangul syllable names, as described in the Unicode 3.0 book. */
-const char * unicode_names [0x110000];
+static const char * unicode_names [0x110000];
-/* Maximum length of a field in the UnicodeData.txt file. */
-#define FIELDLEN 120
+/* Maximum entries in unicode_aliases. */
+#define ALIASLEN 0x200
-/* Reads the next field from STREAM. The buffer BUFFER has size FIELDLEN.
- Reads up to (but excluding) DELIM.
- Returns 1 when a field was successfully read, otherwise 0. */
-static int
-getfield (FILE *stream, char *buffer, int delim)
+/* The aliases according to the NameAliases.txt file. */
+struct unicode_alias
{
- int count = 0;
- int c;
-
- for (; (c = getc (stream)), (c != EOF && c != delim); )
- {
- /* Put c into the buffer. */
- if (++count >= FIELDLEN - 1)
- {
- fprintf (stderr, "field too long\n");
- exit (EXIT_FAILURE);
- }
- *buffer++ = c;
- }
-
- if (c == EOF)
- return 0;
+ const char *name;
+ unsigned int uc;
+};
- *buffer = '\0';
- return 1;
-}
+static struct unicode_alias unicode_aliases [ALIASLEN];
+static int aliases_count;
/* Stores in unicode_names[] the relevant contents of the UnicodeData.txt
file. */
static void
fill_names (const char *unicodedata_filename)
{
- unsigned int i;
FILE *stream;
- char field0[FIELDLEN];
- char field1[FIELDLEN];
+ char *field0;
+ char *field1;
+ char line[1024];
int lineno = 0;
- for (i = 0; i < 0x110000; i++)
- unicode_names[i] = NULL;
-
stream = fopen (unicodedata_filename, "r");
if (stream == NULL)
{
@@ -80,24 +60,41 @@ fill_names (const char *unicodedata_filename)
exit (EXIT_FAILURE);
}
- for (;;)
+ while (fgets (line, sizeof line, stream))
{
- int n;
- int c;
+ char *p;
+ char *comment;
+ unsigned int i;
lineno++;
- n = getfield (stream, field0, ';');
- n += getfield (stream, field1, ';');
- if (n == 0)
- break;
- if (n != 2)
+
+ comment = strchr (line, '#');
+ if (comment != NULL)
+ *comment = '\0';
+ if (line[strspn (line, " \t\r\n")] == '\0')
+ continue;
+
+ field0 = p = line;
+ p = strchr (p, ';');
+ if (!p)
{
fprintf (stderr, "short line in '%s':%d\n",
unicodedata_filename, lineno);
exit (EXIT_FAILURE);
}
- for (; (c = getc (stream)), (c != EOF && c != '\n'); )
- ;
+ *p++ = '\0';
+
+ field1 = p;
+ if (*field1 == '<')
+ continue;
+ p = strchr (p, ';');
+ if (!p)
+ {
+ fprintf (stderr, "short line in '%s':%d\n",
+ unicodedata_filename, lineno);
+ exit (EXIT_FAILURE);
+ }
+ *p = '\0';
i = strtoul (field0, NULL, 16);
if (i >= 0x110000)
{
@@ -113,6 +110,91 @@ fill_names (const char *unicodedata_filename)
}
}
+/* Stores in unicode_aliases[] the relevant contents of the NameAliases.txt
+ file. */
+static void
+fill_aliases (const char *namealiases_filename)
+{
+ FILE *stream;
+ char *field0;
+ char *field1;
+ char line[1024];
+ int lineno = 0;
+
+ stream = fopen (namealiases_filename, "r");
+ if (stream == NULL)
+ {
+ fprintf (stderr, "error during fopen of '%s'\n", namealiases_filename);
+ exit (EXIT_FAILURE);
+ }
+
+ while (fgets (line, sizeof line, stream))
+ {
+ char *p;
+ char *comment;
+ unsigned int uc;
+
+ comment = strchr (line, '#');
+ if (comment != NULL)
+ *comment = '\0';
+ if (line[strspn (line, " \t\r\n")] == '\0')
+ continue;
+
+ lineno++;
+
+ field0 = p = line;
+ p = strchr (p, ';');
+ if (!p)
+ {
+ fprintf (stderr, "short line in '%s':%d\n",
+ namealiases_filename, lineno);
+ exit (EXIT_FAILURE);
+ }
+ *p++ = '\0';
+
+ field1 = p;
+ p = strchr (p, ';');
+ if (!p)
+ {
+ fprintf (stderr, "short line in '%s':%d\n",
+ namealiases_filename, lineno);
+ exit (EXIT_FAILURE);
+ }
+ *p = '\0';
+
+ uc = strtoul (field0, NULL, 16);
+ if (uc >= 0x110000)
+ {
+ fprintf (stderr, "index too large\n");
+ exit (EXIT_FAILURE);
+ }
+
+ if (aliases_count == ALIASLEN)
+ {
+ fprintf (stderr, "too many aliases\n");
+ exit (EXIT_FAILURE);
+ }
+ unicode_aliases[aliases_count].name = xstrdup (field1);
+ unicode_aliases[aliases_count].uc = uc;
+ aliases_count++;
+ }
+ if (ferror (stream) || fclose (stream))
+ {
+ fprintf (stderr, "error reading from '%s'\n", namealiases_filename);
+ exit (1);
+ }
+}
+
+static int
+name_has_alias (unsigned int uc)
+{
+ int i;
+ for (i = 0; i < ALIASLEN; i++)
+ if (unicode_aliases[i].uc == uc)
+ return 1;
+ return 0;
+}
+
/* Perform an exhaustive test of the unicode_character_name function. */
static int
test_name_lookup ()
@@ -228,6 +310,7 @@ test_inverse_lookup ()
result = unicode_name_character (buf);
if (result != UNINAME_INVALID
+ && !name_has_alias (result)
&& !(unicode_names[result] != NULL
&& strcmp (unicode_names[result], buf) == 0))
{
@@ -246,17 +329,65 @@ test_inverse_lookup ()
return error;
}
+/* Perform a test of the unicode_name_character function for aliases. */
+static int
+test_alias_lookup ()
+{
+ int error = 0;
+ unsigned int i;
+ char buf[UNINAME_MAX];
+
+ /* Verify all valid character names are recognized. */
+ for (i = 0; i < ALIASLEN; i++)
+ if (unicode_aliases[i].uc != UNINAME_INVALID
+ /* Skip if the character has no canonical name (e.g. control
+ characters). */
+ && unicode_character_name (unicode_aliases[i].uc, buf))
+ {
+ unsigned int result = unicode_name_character (unicode_aliases[i].name);
+ if (result != unicode_aliases[i].uc)
+ {
+ if (result == UNINAME_INVALID)
+ fprintf (stderr, "inverse name lookup of \"%s\" failed\n",
+ unicode_aliases[i].name);
+ else
+ fprintf (stderr,
+ "inverse name lookup of \"%s\" returned 0x%04X\n",
+ unicode_aliases[i].name, result);
+ error = 1;
+ }
+ }
+
+ return error;
+}
+
int
main (int argc, char *argv[])
{
int error = 0;
+ int i;
set_program_name (argv[0]);
- fill_names (argv[1]);
+ for (i = 1; i < argc && strcmp (argv[i], "--") != 0; i++)
+ fill_names (argv[i]);
+
+ if (i < argc)
+ {
+ int j;
+ for (j = 0; j < ALIASLEN; j++)
+ unicode_aliases[j].uc = UNINAME_INVALID;
+
+ i++;
+ for (; i < argc; i++)
+ fill_aliases (argv[i]);
+ }
error |= test_name_lookup ();
error |= test_inverse_lookup ();
+ if (aliases_count > 0)
+ error |= test_alias_lookup ();
+
return error;
}
diff --git a/gettext-tools/gnulib-tests/uniname/test-uninames.sh b/gettext-tools/gnulib-tests/uniname/test-uninames.sh
index f26c275..fad50f1 100755
--- a/gettext-tools/gnulib-tests/uniname/test-uninames.sh
+++ b/gettext-tools/gnulib-tests/uniname/test-uninames.sh
@@ -1,2 +1,2 @@
#!/bin/sh
-exec ./test-uninames${EXEEXT} "$srcdir/uniname/UnicodeDataNames.txt"
+exec ./test-uninames${EXEEXT} "$srcdir/uniname/UnicodeData.txt" "$srcdir/uniname/HangulSyllableNames.txt" -- "$srcdir/uniname/NameAliases.txt"
diff --git a/gettext-tools/gnulib-tests/unistr/test-cmp.h b/gettext-tools/gnulib-tests/unistr/test-cmp.h
index cb06729..aece9b0 100644
--- a/gettext-tools/gnulib-tests/unistr/test-cmp.h
+++ b/gettext-tools/gnulib-tests/unistr/test-cmp.h
@@ -1,5 +1,5 @@
/* Test of uN_cmp() functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.c b/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.c
index 2c21f06..f673ee8 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.c
@@ -1,5 +1,5 @@
/* Test of u16_mbtouc() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.h b/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.h
index 29ba51c..7019b4a 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.h
+++ b/gettext-tools/gnulib-tests/unistr/test-u16-mbtouc.h
@@ -1,5 +1,5 @@
/* Test of u16_mbtouc() and u16_mbtouc_unsafe() functions.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-check.c b/gettext-tools/gnulib-tests/unistr/test-u8-check.c
index 60fc684..fcf678c 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-check.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-check.c
@@ -1,5 +1,5 @@
/* Test of u8_check() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-cmp.c b/gettext-tools/gnulib-tests/unistr/test-u8-cmp.c
index 536695b..5606f0a 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-cmp.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-cmp.c
@@ -1,5 +1,5 @@
/* Test of u8_cmp() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-mblen.c b/gettext-tools/gnulib-tests/unistr/test-u8-mblen.c
index d50431e..3e68b66 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-mblen.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-mblen.c
@@ -1,5 +1,5 @@
/* Test of u8_mblen() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-mbtoucr.c b/gettext-tools/gnulib-tests/unistr/test-u8-mbtoucr.c
index a551130..7f02e8b 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-mbtoucr.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-mbtoucr.c
@@ -1,5 +1,5 @@
/* Test of u8_mbtoucr() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-prev.c b/gettext-tools/gnulib-tests/unistr/test-u8-prev.c
index 34f94e1..9e2a9ba 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-prev.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-prev.c
@@ -1,5 +1,5 @@
/* Test of u8_prev() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-strlen.c b/gettext-tools/gnulib-tests/unistr/test-u8-strlen.c
index 74e5fb0..d4b3224 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-strlen.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-strlen.c
@@ -1,5 +1,5 @@
/* Test of u8_strlen() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/test-u8-uctomb.c b/gettext-tools/gnulib-tests/unistr/test-u8-uctomb.c
index cec9216..f586f04 100644
--- a/gettext-tools/gnulib-tests/unistr/test-u8-uctomb.c
+++ b/gettext-tools/gnulib-tests/unistr/test-u8-uctomb.c
@@ -1,5 +1,5 @@
/* Test of u8_uctomb() function.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/gnulib-tests/unistr/u8-cmp.c b/gettext-tools/gnulib-tests/unistr/u8-cmp.c
index a342c98..5574e8c 100644
--- a/gettext-tools/gnulib-tests/unistr/u8-cmp.c
+++ b/gettext-tools/gnulib-tests/unistr/u8-cmp.c
@@ -1,5 +1,5 @@
/* Compare pieces of UTF-8 strings.
- Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-tests/unistr/u8-strlen.c b/gettext-tools/gnulib-tests/unistr/u8-strlen.c
index e450a15..5673ade 100644
--- a/gettext-tools/gnulib-tests/unistr/u8-strlen.c
+++ b/gettext-tools/gnulib-tests/unistr/u8-strlen.c
@@ -1,5 +1,5 @@
/* Determine length of UTF-8 string.
- Copyright (C) 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/gnulib-tests/wcrtomb.c b/gettext-tools/gnulib-tests/wcrtomb.c
index 1d340cd..b38d2e0 100644
--- a/gettext-tools/gnulib-tests/wcrtomb.c
+++ b/gettext-tools/gnulib-tests/wcrtomb.c
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/wctob.c b/gettext-tools/gnulib-tests/wctob.c
index d87d180..3ff6c7b 100644
--- a/gettext-tools/gnulib-tests/wctob.c
+++ b/gettext-tools/gnulib-tests/wctob.c
@@ -1,5 +1,5 @@
/* Convert wide character to unibyte character.
- Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/wctomb-impl.h b/gettext-tools/gnulib-tests/wctomb-impl.h
index 0fa170e..41217d5 100644
--- a/gettext-tools/gnulib-tests/wctomb-impl.h
+++ b/gettext-tools/gnulib-tests/wctomb-impl.h
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/wctomb.c b/gettext-tools/gnulib-tests/wctomb.c
index b3595a4..8022aa8 100644
--- a/gettext-tools/gnulib-tests/wctomb.c
+++ b/gettext-tools/gnulib-tests/wctomb.c
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/gnulib-tests/zerosize-ptr.h b/gettext-tools/gnulib-tests/zerosize-ptr.h
index db30f4b..76418aa 100644
--- a/gettext-tools/gnulib-tests/zerosize-ptr.h
+++ b/gettext-tools/gnulib-tests/zerosize-ptr.h
@@ -1,5 +1,5 @@
/* Return a pointer to a zero-size object in memory.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/its/Makefile.am b/gettext-tools/its/Makefile.am
new file mode 100644
index 0000000..e9679a2
--- /dev/null
+++ b/gettext-tools/its/Makefile.am
@@ -0,0 +1,24 @@
+## Makefile for the gettext-tools/its subdirectory of GNU gettext
+## Copyright (C) 2015 Free Software Foundation, Inc.
+##
+## 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 3 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, see <http://www.gnu.org/licenses/>.
+
+## Process this file with automake to produce Makefile.in.
+
+AUTOMAKE_OPTIONS = 1.2 gnits
+
+pkgdatadir = $(datadir)/gettext
+itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
+dist_its_DATA = glade.loc glade1.its glade2.its gtkbuilder.its \
+gsettings.loc gsettings.its appdata.loc appdata.its
diff --git a/gettext-tools/its/Makefile.in b/gettext-tools/its/Makefile.in
new file mode 100644
index 0000000..7cbefb3
--- /dev/null
+++ b/gettext-tools/its/Makefile.in
@@ -0,0 +1,1985 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = its
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = \
+ $(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
+ $(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
+ $(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
+ $(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
+ $(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
+ $(top_srcdir)/libgrep/gnulib-m4/regex.m4 \
+ $(top_srcdir)/gnulib-m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib-m4/absolute-header.m4 \
+ $(top_srcdir)/gnulib-m4/acl.m4 \
+ $(top_srcdir)/gnulib-m4/alloca.m4 \
+ $(top_srcdir)/gnulib-m4/ansi-c++.m4 \
+ $(top_srcdir)/gnulib-m4/asm-underscore.m4 \
+ $(top_srcdir)/gnulib-m4/atexit.m4 \
+ $(top_srcdir)/gnulib-m4/backupfile.m4 \
+ $(top_srcdir)/gnulib-m4/bison-i18n.m4 \
+ $(top_srcdir)/gnulib-m4/btowc.m4 \
+ $(top_srcdir)/gnulib-m4/byteswap.m4 \
+ $(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
+ $(top_srcdir)/gnulib-m4/close.m4 \
+ $(top_srcdir)/gnulib-m4/closedir.m4 \
+ $(top_srcdir)/gnulib-m4/configmake.m4 \
+ $(top_srcdir)/gnulib-m4/copy-file.m4 \
+ $(top_srcdir)/gnulib-m4/csharp.m4 \
+ $(top_srcdir)/gnulib-m4/csharpcomp.m4 \
+ $(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
+ $(top_srcdir)/gnulib-m4/curses.m4 \
+ $(top_srcdir)/gnulib-m4/dirent_h.m4 \
+ $(top_srcdir)/gnulib-m4/double-slash-root.m4 \
+ $(top_srcdir)/gnulib-m4/dup.m4 $(top_srcdir)/gnulib-m4/dup2.m4 \
+ $(top_srcdir)/gnulib-m4/eaccess.m4 \
+ $(top_srcdir)/gnulib-m4/eealloc.m4 \
+ $(top_srcdir)/gnulib-m4/environ.m4 \
+ $(top_srcdir)/gnulib-m4/errno_h.m4 \
+ $(top_srcdir)/gnulib-m4/error.m4 \
+ $(top_srcdir)/gnulib-m4/execute.m4 \
+ $(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
+ $(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
+ $(top_srcdir)/gnulib-m4/fatal-signal.m4 \
+ $(top_srcdir)/gnulib-m4/fcntl.m4 \
+ $(top_srcdir)/gnulib-m4/fcntl_h.m4 \
+ $(top_srcdir)/gnulib-m4/fdopen.m4 \
+ $(top_srcdir)/gnulib-m4/findprog.m4 \
+ $(top_srcdir)/gnulib-m4/float_h.m4 \
+ $(top_srcdir)/gnulib-m4/fnmatch.m4 \
+ $(top_srcdir)/gnulib-m4/fopen.m4 \
+ $(top_srcdir)/gnulib-m4/fpieee.m4 \
+ $(top_srcdir)/gnulib-m4/fseeko.m4 \
+ $(top_srcdir)/gnulib-m4/fstat.m4 \
+ $(top_srcdir)/gnulib-m4/ftell.m4 \
+ $(top_srcdir)/gnulib-m4/ftello.m4 \
+ $(top_srcdir)/gnulib-m4/gcj.m4 \
+ $(top_srcdir)/gnulib-m4/getcwd.m4 \
+ $(top_srcdir)/gnulib-m4/getdelim.m4 \
+ $(top_srcdir)/gnulib-m4/getdtablesize.m4 \
+ $(top_srcdir)/gnulib-m4/getline.m4 \
+ $(top_srcdir)/gnulib-m4/getopt.m4 \
+ $(top_srcdir)/gnulib-m4/getpagesize.m4 \
+ $(top_srcdir)/gnulib-m4/gettimeofday.m4 \
+ $(top_srcdir)/gnulib-m4/gnulib-common.m4 \
+ $(top_srcdir)/gnulib-m4/gnulib-comp.m4 \
+ $(top_srcdir)/gnulib-m4/iconv_h.m4 \
+ $(top_srcdir)/gnulib-m4/iconv_open.m4 \
+ $(top_srcdir)/gnulib-m4/include_next.m4 \
+ $(top_srcdir)/gnulib-m4/inline.m4 \
+ $(top_srcdir)/gnulib-m4/intmax_t.m4 \
+ $(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
+ $(top_srcdir)/gnulib-m4/iswblank.m4 \
+ $(top_srcdir)/gnulib-m4/java.m4 \
+ $(top_srcdir)/gnulib-m4/javacomp.m4 \
+ $(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
+ $(top_srcdir)/gnulib-m4/largefile.m4 \
+ $(top_srcdir)/gnulib-m4/lib-ld.m4 \
+ $(top_srcdir)/gnulib-m4/lib-link.m4 \
+ $(top_srcdir)/gnulib-m4/lib-prefix.m4 \
+ $(top_srcdir)/gnulib-m4/libcroco.m4 \
+ $(top_srcdir)/gnulib-m4/libglib.m4 \
+ $(top_srcdir)/gnulib-m4/libunistring-base.m4 \
+ $(top_srcdir)/gnulib-m4/libunistring-optional.m4 \
+ $(top_srcdir)/gnulib-m4/libunistring.m4 \
+ $(top_srcdir)/gnulib-m4/libxml.m4 \
+ $(top_srcdir)/gnulib-m4/localcharset.m4 \
+ $(top_srcdir)/gnulib-m4/locale-fr.m4 \
+ $(top_srcdir)/gnulib-m4/locale-ja.m4 \
+ $(top_srcdir)/gnulib-m4/locale-tr.m4 \
+ $(top_srcdir)/gnulib-m4/locale-zh.m4 \
+ $(top_srcdir)/gnulib-m4/locale_h.m4 \
+ $(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
+ $(top_srcdir)/gnulib-m4/lseek.m4 \
+ $(top_srcdir)/gnulib-m4/lstat.m4 \
+ $(top_srcdir)/gnulib-m4/malloc.m4 \
+ $(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
+ $(top_srcdir)/gnulib-m4/mbchar.m4 \
+ $(top_srcdir)/gnulib-m4/mbiter.m4 \
+ $(top_srcdir)/gnulib-m4/mbrtowc.m4 \
+ $(top_srcdir)/gnulib-m4/mbsinit.m4 \
+ $(top_srcdir)/gnulib-m4/mbslen.m4 \
+ $(top_srcdir)/gnulib-m4/mbsrtowcs.m4 \
+ $(top_srcdir)/gnulib-m4/mbstate_t.m4 \
+ $(top_srcdir)/gnulib-m4/mbswidth.m4 \
+ $(top_srcdir)/gnulib-m4/mbtowc.m4 \
+ $(top_srcdir)/gnulib-m4/memchr.m4 \
+ $(top_srcdir)/gnulib-m4/memmove.m4 \
+ $(top_srcdir)/gnulib-m4/memset.m4 \
+ $(top_srcdir)/gnulib-m4/minmax.m4 \
+ $(top_srcdir)/gnulib-m4/mkdtemp.m4 \
+ $(top_srcdir)/gnulib-m4/mmap-anon.m4 \
+ $(top_srcdir)/gnulib-m4/mode_t.m4 \
+ $(top_srcdir)/gnulib-m4/moo.m4 \
+ $(top_srcdir)/gnulib-m4/msvc-inval.m4 \
+ $(top_srcdir)/gnulib-m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gnulib-m4/multiarch.m4 \
+ $(top_srcdir)/gnulib-m4/no-c++.m4 \
+ $(top_srcdir)/gnulib-m4/nocrash.m4 \
+ $(top_srcdir)/gnulib-m4/obstack.m4 \
+ $(top_srcdir)/gnulib-m4/off_t.m4 \
+ $(top_srcdir)/gnulib-m4/open.m4 \
+ $(top_srcdir)/gnulib-m4/opendir.m4 \
+ $(top_srcdir)/gnulib-m4/pathmax.m4 \
+ $(top_srcdir)/gnulib-m4/pipe2.m4 \
+ $(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
+ $(top_srcdir)/gnulib-m4/printf.m4 \
+ $(top_srcdir)/gnulib-m4/putenv.m4 \
+ $(top_srcdir)/gnulib-m4/quote.m4 \
+ $(top_srcdir)/gnulib-m4/quotearg.m4 \
+ $(top_srcdir)/gnulib-m4/raise.m4 \
+ $(top_srcdir)/gnulib-m4/rawmemchr.m4 \
+ $(top_srcdir)/gnulib-m4/read-file.m4 \
+ $(top_srcdir)/gnulib-m4/read.m4 \
+ $(top_srcdir)/gnulib-m4/readdir.m4 \
+ $(top_srcdir)/gnulib-m4/readlink.m4 \
+ $(top_srcdir)/gnulib-m4/realloc.m4 \
+ $(top_srcdir)/gnulib-m4/relocatable-lib.m4 \
+ $(top_srcdir)/gnulib-m4/relocatable.m4 \
+ $(top_srcdir)/gnulib-m4/rmdir.m4 \
+ $(top_srcdir)/gnulib-m4/safe-read.m4 \
+ $(top_srcdir)/gnulib-m4/safe-write.m4 \
+ $(top_srcdir)/gnulib-m4/sched_h.m4 \
+ $(top_srcdir)/gnulib-m4/secure_getenv.m4 \
+ $(top_srcdir)/gnulib-m4/setenv.m4 \
+ $(top_srcdir)/gnulib-m4/setlocale.m4 \
+ $(top_srcdir)/gnulib-m4/sig_atomic_t.m4 \
+ $(top_srcdir)/gnulib-m4/sigaction.m4 \
+ $(top_srcdir)/gnulib-m4/signal_h.m4 \
+ $(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
+ $(top_srcdir)/gnulib-m4/sigpipe.m4 \
+ $(top_srcdir)/gnulib-m4/sleep.m4 \
+ $(top_srcdir)/gnulib-m4/snprintf.m4 \
+ $(top_srcdir)/gnulib-m4/spawn-pipe.m4 \
+ $(top_srcdir)/gnulib-m4/spawn_h.m4 \
+ $(top_srcdir)/gnulib-m4/ssize_t.m4 \
+ $(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
+ $(top_srcdir)/gnulib-m4/stdarg.m4 \
+ $(top_srcdir)/gnulib-m4/stdbool.m4 \
+ $(top_srcdir)/gnulib-m4/stddef_h.m4 \
+ $(top_srcdir)/gnulib-m4/stdint.m4 \
+ $(top_srcdir)/gnulib-m4/stdio_h.m4 \
+ $(top_srcdir)/gnulib-m4/stdlib_h.m4 \
+ $(top_srcdir)/gnulib-m4/stpcpy.m4 \
+ $(top_srcdir)/gnulib-m4/stpncpy.m4 \
+ $(top_srcdir)/gnulib-m4/strchrnul.m4 \
+ $(top_srcdir)/gnulib-m4/strcspn.m4 \
+ $(top_srcdir)/gnulib-m4/strerror.m4 \
+ $(top_srcdir)/gnulib-m4/string_h.m4 \
+ $(top_srcdir)/gnulib-m4/strnlen.m4 \
+ $(top_srcdir)/gnulib-m4/strpbrk.m4 \
+ $(top_srcdir)/gnulib-m4/strstr.m4 \
+ $(top_srcdir)/gnulib-m4/strtol.m4 \
+ $(top_srcdir)/gnulib-m4/strtoul.m4 \
+ $(top_srcdir)/gnulib-m4/symlink.m4 \
+ $(top_srcdir)/gnulib-m4/sys_select_h.m4 \
+ $(top_srcdir)/gnulib-m4/sys_socket_h.m4 \
+ $(top_srcdir)/gnulib-m4/sys_stat_h.m4 \
+ $(top_srcdir)/gnulib-m4/sys_time_h.m4 \
+ $(top_srcdir)/gnulib-m4/sys_types_h.m4 \
+ $(top_srcdir)/gnulib-m4/sys_wait_h.m4 \
+ $(top_srcdir)/gnulib-m4/tempname.m4 \
+ $(top_srcdir)/gnulib-m4/term-ostream.m4 \
+ $(top_srcdir)/gnulib-m4/terminfo.m4 \
+ $(top_srcdir)/gnulib-m4/thread.m4 \
+ $(top_srcdir)/gnulib-m4/time_h.m4 \
+ $(top_srcdir)/gnulib-m4/tls.m4 \
+ $(top_srcdir)/gnulib-m4/tmpdir.m4 \
+ $(top_srcdir)/gnulib-m4/ungetc.m4 \
+ $(top_srcdir)/gnulib-m4/unionwait.m4 \
+ $(top_srcdir)/gnulib-m4/unistd-safer.m4 \
+ $(top_srcdir)/gnulib-m4/unistd_h.m4 \
+ $(top_srcdir)/gnulib-m4/unlocked-io.m4 \
+ $(top_srcdir)/gnulib-m4/vasnprintf.m4 \
+ $(top_srcdir)/gnulib-m4/vasprintf.m4 \
+ $(top_srcdir)/gnulib-m4/vsnprintf.m4 \
+ $(top_srcdir)/gnulib-m4/wait-process.m4 \
+ $(top_srcdir)/gnulib-m4/waitpid.m4 \
+ $(top_srcdir)/gnulib-m4/warn-on-use.m4 \
+ $(top_srcdir)/gnulib-m4/wchar_h.m4 \
+ $(top_srcdir)/gnulib-m4/wcrtomb.m4 \
+ $(top_srcdir)/gnulib-m4/wctob.m4 \
+ $(top_srcdir)/gnulib-m4/wctomb.m4 \
+ $(top_srcdir)/gnulib-m4/wctype_h.m4 \
+ $(top_srcdir)/gnulib-m4/wcwidth.m4 \
+ $(top_srcdir)/gnulib-m4/write.m4 \
+ $(top_srcdir)/gnulib-m4/xvasprintf.m4 \
+ $(top_srcdir)/gnulib-m4/yield.m4 \
+ $(top_srcdir)/../m4/fixautomake.m4 \
+ $(top_srcdir)/../m4/libtool.m4 \
+ $(top_srcdir)/../m4/ltoptions.m4 \
+ $(top_srcdir)/../m4/ltsugar.m4 \
+ $(top_srcdir)/../m4/ltversion.m4 \
+ $(top_srcdir)/../m4/lt~obsolete.m4 \
+ $(top_srcdir)/../m4/woe32-dll.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/codeset.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/extern-inline.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/fcntl-o.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/gettext.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/glibc2.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/glibc21.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/iconv.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/intdiv0.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/intl.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/intlmacosx.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/intmax.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/inttypes-pri.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/inttypes_h.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/lcmessage.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/lock.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/longlong.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/nls.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/po.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/printf-posix.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/progtest.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/size_max.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/stdint_h.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/threadlib.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/uintmax_t.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/visibility.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/wchar_t.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/wint_t.m4 \
+ $(top_srcdir)/../gettext-runtime/m4/xsize.m4 \
+ $(top_srcdir)/m4/exported.m4 $(top_srcdir)/m4/hostname.m4 \
+ $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/siginfo.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_its_DATA) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(itsdir)"
+DATA = $(dist_its_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(datadir)/gettext
+pkglibexecdir = @pkglibexecdir@
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON_LOCALEDIR = @BISON_LOCALEDIR@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BUILDCSHARP = @BUILDCSHARP@
+BUILDJAVA = @BUILDJAVA@
+BUILDJAVAEXE = @BUILDJAVAEXE@
+BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+BYTESWAP_H = @BYTESWAP_H@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLASSPATH = @CLASSPATH@
+CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONF_JAVA = @CONF_JAVA@
+CONF_JAVAC = @CONF_JAVAC@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CROSS_COMPILING = @CROSS_COMPILING@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CXX_CHOICE = @CXX_CHOICE@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+DVIPS = @DVIPS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
+FGREP = @FGREP@
+FLOAT_H = @FLOAT_H@
+FNMATCH_H = @FNMATCH_H@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GENCAT = @GENCAT@
+GETOPT_H = @GETOPT_H@
+GETTEXTLIB_EXPORTS_FLAGS = @GETTEXTLIB_EXPORTS_FLAGS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIBC2 = @GLIBC2@
+GLIBC21 = @GLIBC21@
+GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
+GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
+GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
+GNULIB_CHDIR = @GNULIB_CHDIR@
+GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
+GNULIB_DIRFD = @GNULIB_DIRFD@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
+GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
+GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
+GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
+GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
+GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
+GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
+GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
+GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
+GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
+GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
+GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
+GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
+GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
+GNULIB_MBRLEN = @GNULIB_MBRLEN@
+GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
+GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
+GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
+GNULIB_MBSCHR = @GNULIB_MBSCHR@
+GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
+GNULIB_MBSINIT = @GNULIB_MBSINIT@
+GNULIB_MBSLEN = @GNULIB_MBSLEN@
+GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
+GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
+GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
+GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
+GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
+GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
+GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
+GNULIB_MBSSEP = @GNULIB_MBSSEP@
+GNULIB_MBSSPN = @GNULIB_MBSSPN@
+GNULIB_MBSSTR = @GNULIB_MBSSTR@
+GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
+GNULIB_MEMMEM = @GNULIB_MEMMEM@
+GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
+GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OPENDIR = @GNULIB_OPENDIR@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_POSIX_SPAWN = @GNULIB_POSIX_SPAWN@
+GNULIB_POSIX_SPAWNATTR_DESTROY = @GNULIB_POSIX_SPAWNATTR_DESTROY@
+GNULIB_POSIX_SPAWNATTR_GETFLAGS = @GNULIB_POSIX_SPAWNATTR_GETFLAGS@
+GNULIB_POSIX_SPAWNATTR_GETPGROUP = @GNULIB_POSIX_SPAWNATTR_GETPGROUP@
+GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@
+GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY@
+GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@
+GNULIB_POSIX_SPAWNATTR_GETSIGMASK = @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@
+GNULIB_POSIX_SPAWNATTR_INIT = @GNULIB_POSIX_SPAWNATTR_INIT@
+GNULIB_POSIX_SPAWNATTR_SETFLAGS = @GNULIB_POSIX_SPAWNATTR_SETFLAGS@
+GNULIB_POSIX_SPAWNATTR_SETPGROUP = @GNULIB_POSIX_SPAWNATTR_SETPGROUP@
+GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@
+GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@
+GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@
+GNULIB_POSIX_SPAWNATTR_SETSIGMASK = @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@
+GNULIB_POSIX_SPAWNP = @GNULIB_POSIX_SPAWNP@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
+GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PSELECT = @GNULIB_PSELECT@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_QSORT_R = @GNULIB_QSORT_R@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
+GNULIB_READDIR = @GNULIB_READDIR@
+GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANDIR = @GNULIB_SCANDIR@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SIGACTION = @GNULIB_SIGACTION@
+GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
+GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
+GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
+GNULIB_STPCPY = @GNULIB_STPCPY@
+GNULIB_STPNCPY = @GNULIB_STPNCPY@
+GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
+GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
+GNULIB_STRDUP = @GNULIB_STRDUP@
+GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
+GNULIB_STRNDUP = @GNULIB_STRNDUP@
+GNULIB_STRNLEN = @GNULIB_STRNLEN@
+GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
+GNULIB_STRSEP = @GNULIB_STRSEP@
+GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
+GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
+GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WAITPID = @GNULIB_WAITPID@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
+GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
+GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
+GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
+GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
+GNULIB_WCTRANS = @GNULIB_WCTRANS@
+GNULIB_WCTYPE = @GNULIB_WCTYPE@
+GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
+GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
+GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
+HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
+HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSCC = @HAVE_CSCC@
+HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
+HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DIRENT_H = @HAVE_DIRENT_H@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_C = @HAVE_GCJ_C@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
+HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
+HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_JAVA = @HAVE_JAVA@
+HAVE_JAVAC = @HAVE_JAVAC@
+HAVE_JAVAC_ENVVAR = @HAVE_JAVAC_ENVVAR@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_ENVVAR = @HAVE_JAVA_ENVVAR@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
+HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
+HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
+HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
+HAVE_LDEXPF = @HAVE_LDEXPF@
+HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
+HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
+HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OPENDIR = @HAVE_OPENDIR@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
+HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
+HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
+HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
+HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PSELECT = @HAVE_PSELECT@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READDIR = @HAVE_READDIR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
+HAVE_SCANDIR = @HAVE_SCANDIR@
+HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SIGACTION = @HAVE_SIGACTION@
+HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
+HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
+HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
+HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
+HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
+HAVE_SLEEP = @HAVE_SLEEP@
+HAVE_SNPRINTF = @HAVE_SNPRINTF@
+HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@
+HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WCTRANS_T = @HAVE_WCTRANS_T@
+HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
+HAVE_WCTYPE_T = @HAVE_WCTYPE_T@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WPRINTF = @HAVE_WPRINTF@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
+HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCCROCO = @INCCROCO@
+INCGLIB = @INCGLIB@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INCTERMINFO = @INCTERMINFO@
+INCXML = @INCXML@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_PROGRAM_ENV = @INSTALL_PROGRAM_ENV@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLBISON = @INTLBISON@
+INTLLIBS = @INTLLIBS@
+INTLOBJS = @INTLOBJS@
+INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
+INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
+JAR = @JAR@
+JAVA_CHOICE = @JAVA_CHOICE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCROCO = @LIBCROCO@
+LIBGLIB = @LIBGLIB@
+LIBGLIB_H = @LIBGLIB_H@
+LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
+LIBGREP_LTLIBDEPS = @LIBGREP_LTLIBDEPS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
+LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
+LIBS = @LIBS@
+LIBTERMINFO = @LIBTERMINFO@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING = @LIBUNISTRING@
+LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
+LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
+LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
+LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
+LIBXML = @LIBXML@
+LIBXML_H = @LIBXML_H@
+LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
+LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
+LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
+LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
+LTLIBC = @LTLIBC@
+LTLIBCROCO = @LTLIBCROCO@
+LTLIBGLIB = @LTLIBGLIB@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
+LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTERMINFO = @LTLIBTERMINFO@
+LTLIBTHREAD = @LTLIBTHREAD@
+LTLIBUNISTRING = @LTLIBUNISTRING@
+LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
+NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
+NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
+NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
+NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
+NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
+NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
+NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
+NEXT_SCHED_H = @NEXT_SCHED_H@
+NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
+NEXT_SPAWN_H = @NEXT_SPAWN_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NO_CXX = @NO_CXX@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OPENMP_CFLAGS = @OPENMP_CFLAGS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+RC = @RC@
+RELOCATABLE = @RELOCATABLE@
+RELOCATABLE_BUILD_DIR = @RELOCATABLE_BUILD_DIR@
+RELOCATABLE_CONFIG_H_DIR = @RELOCATABLE_CONFIG_H_DIR@
+RELOCATABLE_LDFLAGS = @RELOCATABLE_LDFLAGS@
+RELOCATABLE_LIBRARY_PATH = @RELOCATABLE_LIBRARY_PATH@
+RELOCATABLE_SRC_DIR = @RELOCATABLE_SRC_DIR@
+RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_OPENDIR = @REPLACE_OPENDIR@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_SPAWN = @REPLACE_POSIX_SPAWN@
+REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@
+REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@
+REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PSELECT = @REPLACE_PSELECT@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
+REPLACE_SELECT = @REPLACE_SELECT@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
+SCHED_H = @SCHED_H@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
+STDARG_H = @STDARG_H@
+STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TESTCSHARP = @TESTCSHARP@
+TESTJAVA = @TESTJAVA@
+TESTLIBASPRINTF = @TESTLIBASPRINTF@
+TEXI2PDF = @TEXI2PDF@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
+USE_ACL = @USE_ACL@
+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDRES = @WINDRES@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+WOE32 = @WOE32@
+WOE32DLL = @WOE32DLL@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
+YIELD_LIB = @YIELD_LIB@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+aclocaldir = @aclocaldir@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+grgl_LIBOBJS = @grgl_LIBOBJS@
+grgl_LTLIBOBJS = @grgl_LTLIBOBJS@
+grgltests_LIBOBJS = @grgltests_LIBOBJS@
+grgltests_LTLIBOBJS = @grgltests_LTLIBOBJS@
+grgltests_WITNESS = @grgltests_WITNESS@
+gtpo_LIBOBJS = @gtpo_LIBOBJS@
+gtpo_LTLIBOBJS = @gtpo_LTLIBOBJS@
+gtpotests_LIBOBJS = @gtpotests_LIBOBJS@
+gtpotests_LTLIBOBJS = @gtpotests_LTLIBOBJS@
+gtpotests_WITNESS = @gtpotests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.2 gnits
+itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
+dist_its_DATA = glade.loc glade1.its glade2.its gtkbuilder.its \
+gsettings.loc gsettings.its appdata.loc appdata.its
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits its/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnits its/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_itsDATA: $(dist_its_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_its_DATA)'; test -n "$(itsdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(itsdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(itsdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(itsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(itsdir)" || exit $$?; \
+ done
+
+uninstall-dist_itsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_its_DATA)'; test -n "$(itsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(itsdir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(itsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_itsDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_itsDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dist_itsDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-dist_itsDATA
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/gettext-tools/its/appdata.its b/gettext-tools/its/appdata.its
new file mode 100644
index 0000000..734a8e5
--- /dev/null
+++ b/gettext-tools/its/appdata.its
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ version="2.0">
+ <its:translateRule selector="/component" translate="no"/>
+ <its:translateRule selector="/component/name |
+ /component/summary |
+ /component/description |
+ /component/screenshots/screenshot/caption"
+ translate="yes"/>
+</its:rules>
diff --git a/gettext-tools/its/appdata.loc b/gettext-tools/its/appdata.loc
new file mode 100644
index 0000000..9bed649
--- /dev/null
+++ b/gettext-tools/its/appdata.loc
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="AppData" pattern="*.appdata.xml">
+ <documentRule localName="component" target="appdata.its"/>
+ </locatingRule>
+</locatingRules>
diff --git a/gettext-tools/its/glade.loc b/gettext-tools/its/glade.loc
new file mode 100644
index 0000000..128dc83
--- /dev/null
+++ b/gettext-tools/its/glade.loc
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="Glade" pattern="*.glade">
+ <documentRule localName="GTK-Interface" target="glade1.its"/>
+ <documentRule localName="glade-interface" target="glade2.its"/>
+ </locatingRule>
+ <locatingRule name="Glade" pattern="*.glade2">
+ <documentRule localName="glade-interface" target="glade2.its"/>
+ </locatingRule>
+ <locatingRule name="Glade" pattern="*.ui">
+ <documentRule localName="interface" target="gtkbuilder.its"/>
+ </locatingRule>
+</locatingRules>
diff --git a/gettext-tools/its/glade1.its b/gettext-tools/its/glade1.its
new file mode 100644
index 0000000..84a0c11
--- /dev/null
+++ b/gettext-tools/its/glade1.its
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
+ version="2.0">
+ <its:translateRule selector="/GTK-Interface" translate="no"/>
+ <its:translateRule selector="/GTK-Interface//label |
+ /GTK-Interface//title |
+ /GTK-Interface//text |
+ /GTK-Interface//format |
+ /GTK-Interface//copyright |
+ /GTK-Interface//comments |
+ /GTK-Interface//preview_text |
+ /GTK-Interface//tooltip"
+ translate="yes"/>
+
+ <its:preserveSpaceRule selector="/GTK-Interface" space="preserve"/>
+ <gt:escapeRule selector="/GTK-Interface" escape="no"/>
+</its:rules>
diff --git a/gettext-tools/its/glade2.its b/gettext-tools/its/glade2.its
new file mode 100644
index 0000000..dc3a11d
--- /dev/null
+++ b/gettext-tools/its/glade2.its
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
+ version="2.0">
+ <its:translateRule selector="/glade-interface" translate="no"/>
+ <its:translateRule
+ selector="/glade-interface//property[@translatable = 'yes'] |
+ /glade-interface//atkproperty[@translatable = 'yes'] |
+ /glade-interface//atkaction/description"
+ translate="yes"/>
+
+ <its:locNoteRule selector="/glade-interface//property[@comments] |
+ /glade-interface//atkproperty[@comments]"
+ locNotePointer="@comments"
+ locNoteType="alert"/>
+ <gt:escapeRule selector="/glade-interface/property/@comments |
+ /glade-interface//atkproperty/@comments"
+ escape="no"/>
+
+ <gt:contextRule selector="/glade-interface//property[@context = 'yes'] |
+ /glade-interface//property[@context = 'yes']"
+ contextPointer="substring-before(., '|')"
+ textPointer="substring-after(., '|')"/>
+
+ <its:preserveSpaceRule selector="/glade-interface" space="preserve"/>
+ <gt:escapeRule selector="/glade-interface" escape="no"/>
+</its:rules>
diff --git a/gettext-tools/its/gsettings.its b/gettext-tools/its/gsettings.its
new file mode 100644
index 0000000..4027ff5
--- /dev/null
+++ b/gettext-tools/its/gsettings.its
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
+ version="2.0">
+ <its:translateRule selector="/schemalist" translate="no"/>
+
+ <its:translateRule selector="//summary | //description" translate="yes"/>
+
+ <its:translateRule selector="//default[@l10n]" translate="yes"/>
+ <gt:contextRule selector="//default[@context]" contextPointer="@context"/>
+ <gt:escapeRule selector="//default/@context" escape="no"/>
+
+ <gt:preserveSpaceRule selector="//default" space="trim"/>
+ <gt:escapeRule selector="/schemalist" escape="no"/>
+</its:rules>
diff --git a/gettext-tools/its/gsettings.loc b/gettext-tools/its/gsettings.loc
new file mode 100644
index 0000000..e5967f1
--- /dev/null
+++ b/gettext-tools/its/gsettings.loc
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="GSettings" pattern="*.gschema.xml">
+ <documentRule localName="schemalist" target="gsettings.its"/>
+ </locatingRule>
+</locatingRules>
diff --git a/gettext-tools/its/gtkbuilder.its b/gettext-tools/its/gtkbuilder.its
new file mode 100644
index 0000000..1987853
--- /dev/null
+++ b/gettext-tools/its/gtkbuilder.its
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
+ version="2.0">
+ <its:translateRule selector="/interface" translate="no"/>
+ <its:translateRule selector="/interface//*[@translatable = 'yes']"
+ translate="yes"/>
+ <its:locNoteRule selector="/interface//*[@comments]"
+ locNotePointer="@comments"
+ locNoteType="alert"/>
+ <gt:escapeRule selector="/interface//@comments" escape="no"/>
+
+ <gt:contextRule selector="/interface//*[@context]" contextPointer="@context"/>
+
+ <its:preserveSpaceRule selector="/interface" space="preserve"/>
+ <gt:escapeRule selector="/interface" escape="no"/>
+</its:rules>
diff --git a/gettext-tools/libgettextpo/ChangeLog b/gettext-tools/libgettextpo/ChangeLog.0
index c439706..19c7107 100644
--- a/gettext-tools/libgettextpo/ChangeLog
+++ b/gettext-tools/libgettextpo/ChangeLog.0
@@ -1,3 +1,17 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-03-06 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (libgettextpo_la_AUXSOURCES): Add
+ ../src/format-kde-kuit.c and ../src/libexpat-compat.c.
+ (libgettextpo_la_LDFLAGS): Add @LTLIBEXPAT@.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/libgettextpo/Makefile.am b/gettext-tools/libgettextpo/Makefile.am
index b4c07f7..dfbf40c 100644
--- a/gettext-tools/libgettextpo/Makefile.am
+++ b/gettext-tools/libgettextpo/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/libgettextpo subdirectory of GNU gettext
-## Copyright (C) 1995-1998, 2000-2011 Free Software Foundation, Inc.
+## Copyright (C) 1995-1998, 2000-2011, 2015 Free Software Foundation,
+## Inc.
##
## 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
@@ -40,6 +41,8 @@ AM_CPPFLAGS = \
-I../src -I$(top_srcdir)/src \
-I../intl -I$(top_srcdir)/../gettext-runtime/intl
+DEFS = -DIN_LIBGETTEXTPO=1 @DEFS@
+
# libgettextpo contains the public API for PO files.
libgettextpo_la_SOURCES = \
gettext-po.c \
@@ -85,12 +88,14 @@ libgettextpo_la_AUXSOURCES = \
../src/format-qt.c \
../src/format-qt-plural.c \
../src/format-kde.c \
+ ../src/format-kde-kuit.c \
../src/format-boost.c \
../src/format-lua.c \
../src/format.c \
../src/plural-exp.c \
../src/plural-eval.c \
- ../src/msgl-check.c
+ ../src/msgl-check.c \
+ ../src/sentence.c
# Libtool's library version information for libgettextpo.
# See the libtool documentation, section "Library interface versions".
@@ -151,7 +156,7 @@ config.h: $(BUILT_SOURCES)
sf=`echo "$$f" | sed -e 's,\\.[^.]*$$,,'`.c; \
test -f $$sf || sf=$(srcdir)/$$sf; \
of=`echo "$$f" | sed -e 's,^.*/,,' -e 's,\\.[^.]*$$,,'`.$(OBJEXT); \
- $(COMPILE) -c $$sf || { rm -f config.h; exit 1; }; \
+ $(COMPILE) $(DEFS) -c $$sf || { rm -f config.h; exit 1; }; \
sh ./exported.sh $$of 1>&5; \
rm -f $$of `echo "$$of" | sed -e 's,\\.$(OBJEXT)$$,.lo,'`; \
;; \
diff --git a/gettext-tools/libgettextpo/Makefile.gnulib b/gettext-tools/libgettextpo/Makefile.gnulib
index 17a8243..35561c1 100644
--- a/gettext-tools/libgettextpo/Makefile.gnulib
+++ b/gettext-tools/libgettextpo/Makefile.gnulib
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgnu --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gtpo basename c-ctype c-strcase c-strstr close error error-progname file-ostream filename fopen fstrcmp fwriteerror gcd getline gettext-h hash iconv libunistring-optional minmax open ostream progname relocatable-lib sigpipe stdbool stdio stdlib strchrnul strerror unilbrk/ulc-width-linebreaks unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf xalloc xconcat-filename xerror xmalloca xstriconv xvasprintf
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgnu --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gtpo basename c-ctype c-strcase c-strstr close error error-progname file-ostream filename fopen fstrcmp fwriteerror gcd getline gettext-h hash iconv libunistring-optional markup minmax open ostream progname relocatable-lib sigpipe stdbool stdio stdlib stpcpy stpncpy strchrnul strerror unictype/ctype-space unilbrk/ulc-width-linebreaks unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf xalloc xconcat-filename xerror xmalloca xstriconv xvasprintf
MOSTLYCLEANFILES += core *.stackdump
@@ -423,6 +423,9 @@ EXTRA_libgnu_la_SOURCES += gettimeofday.c
## begin gnulib module gperf
GPERF = gperf
+V_GPERF = $(V_GPERF_@AM_V@)
+V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
+V_GPERF_0 = @echo " GPERF " $@;
## end gnulib module gperf
@@ -478,19 +481,19 @@ EXTRA_DIST += iconv.in.h
## begin gnulib module iconv_open
iconv_open-aix.h: iconv_open-aix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \
mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
iconv_open-hpux.h: iconv_open-hpux.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \
mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
iconv_open-irix.h: iconv_open-irix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \
mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
iconv_open-osf.h: iconv_open-osf.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \
mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
iconv_open-solaris.h: iconv_open-solaris.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \
mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
MOSTLYCLEANFILES += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t
@@ -517,6 +520,18 @@ EXTRA_DIST += libunistring.valgrind
## end gnulib module libunistring-optional
+## begin gnulib module linked-list
+
+libgnu_la_SOURCES += gl_linked_list.h gl_linked_list.c gl_anylinked_list1.h gl_anylinked_list2.h
+
+## end gnulib module linked-list
+
+## begin gnulib module list
+
+libgnu_la_SOURCES += gl_list.h gl_list.c
+
+## end gnulib module list
+
## begin gnulib module localcharset
libgnu_la_SOURCES += localcharset.h localcharset.c
@@ -614,6 +629,12 @@ EXTRA_DIST += malloca.h malloca.valgrind
## end gnulib module malloca
+## begin gnulib module markup
+
+libgnu_la_SOURCES += markup.h markup.c
+
+## end gnulib module markup
+
## begin gnulib module mbrtowc
@@ -1024,6 +1045,7 @@ stddef.h: stddef.in.h $(top_builddir)/config.status
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
-e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
-e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
< $(srcdir)/stddef.in.h; \
@@ -1331,6 +1353,15 @@ EXTRA_libgnu_la_SOURCES += stpcpy.c
## end gnulib module stpcpy
+## begin gnulib module stpncpy
+
+
+EXTRA_DIST += stpncpy.c
+
+EXTRA_libgnu_la_SOURCES += stpncpy.c
+
+## end gnulib module stpncpy
+
## begin gnulib module strchrnul
@@ -1649,10 +1680,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
-e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
-e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+ -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
-e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
-e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
-e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
@@ -1662,6 +1695,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -1704,6 +1738,42 @@ endif
## end gnulib module uniconv/u8-conv-from-enc
+## begin gnulib module unictype/base
+
+BUILT_SOURCES += $(LIBUNISTRING_UNICTYPE_H)
+
+unictype.h: unictype.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unictype.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+MOSTLYCLEANFILES += unictype.h unictype.h-t
+
+EXTRA_DIST += unictype.in.h
+
+## end gnulib module unictype/base
+
+## begin gnulib module unictype/ctype-alpha
+
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA
+libgnu_la_SOURCES += unictype/ctype_alpha.c
+endif
+
+EXTRA_DIST += unictype/bitmap.h unictype/ctype_alpha.h
+
+## end gnulib module unictype/ctype-alpha
+
+## begin gnulib module unictype/ctype-space
+
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE
+libgnu_la_SOURCES += unictype/ctype_space.c
+endif
+
+EXTRA_DIST += unictype/bitmap.h unictype/ctype_space.h
+
+## end gnulib module unictype/ctype-space
+
## begin gnulib module unilbrk/base
BUILT_SOURCES += $(LIBUNISTRING_UNILBRK_H)
@@ -1980,6 +2050,14 @@ endif
## end gnulib module unistr/u8-mbtoucr
+## begin gnulib module unistr/u8-next
+
+if LIBUNISTRING_COMPILE_UNISTR_U8_NEXT
+libgnu_la_SOURCES += unistr/u8-next.c
+endif
+
+## end gnulib module unistr/u8-next
+
## begin gnulib module unistr/u8-prev
if LIBUNISTRING_COMPILE_UNISTR_U8_PREV
@@ -1988,6 +2066,14 @@ endif
## end gnulib module unistr/u8-prev
+## begin gnulib module unistr/u8-strmbtouc
+
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC
+libgnu_la_SOURCES += unistr/u8-strmbtouc.c
+endif
+
+## end gnulib module unistr/u8-strmbtouc
+
## begin gnulib module unistr/u8-uctomb
if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB
@@ -2260,6 +2346,12 @@ libgnu_la_SOURCES += xerror.h xerror.c
## end gnulib module xerror
+## begin gnulib module xlist
+
+libgnu_la_SOURCES += gl_xlist.h gl_xlist.c
+
+## end gnulib module xlist
+
## begin gnulib module xmalloca
libgnu_la_SOURCES += xmalloca.c
diff --git a/gettext-tools/libgettextpo/Makefile.in b/gettext-tools/libgettextpo/Makefile.in
index c1eef87..fd0f072 100644
--- a/gettext-tools/libgettextpo/Makefile.in
+++ b/gettext-tools/libgettextpo/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,11 +35,21 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgnu --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gtpo basename c-ctype c-strcase c-strstr close error error-progname file-ostream filename fopen fstrcmp fwriteerror gcd getline gettext-h hash iconv libunistring-optional minmax open ostream progname relocatable-lib sigpipe stdbool stdio stdlib strchrnul strerror unilbrk/ulc-width-linebreaks unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf xalloc xconcat-filename xerror xmalloca xstriconv xvasprintf
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgnu --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gtpo basename c-ctype c-strcase c-strstr close error error-progname file-ostream filename fopen fstrcmp fwriteerror gcd getline gettext-h hash iconv libunistring-optional markup minmax open ostream progname relocatable-lib sigpipe stdbool stdio stdlib stpcpy stpncpy strchrnul strerror unictype/ctype-space unilbrk/ulc-width-linebreaks unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf xalloc xconcat-filename xerror xmalloca xstriconv xvasprintf
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -106,29 +116,29 @@ host_triplet = @host@
@WOE32DLL_TRUE@am__append_1 = ../woe32dll/gettextpo-exports.c
@WOE32DLL_TRUE@am__append_2 = -Wl,--export-all-symbols
@WOE32_TRUE@am__append_3 = libgettextpo.res.lo
-DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/../build-aux/mkinstalldirs \
- $(srcdir)/exported.sh.in ChangeLog
@GL_COND_LIBTOOL_TRUE@am__append_4 = $(LTLIBICONV) $(LTLIBICONV)
@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__append_5 = uniconv/u8-conv-from-enc.c
-@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__append_6 = unilbrk/u8-possible-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__append_7 = unilbrk/u8-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__append_8 = unilbrk/ulc-width-linebreaks.c
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__append_9 = unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_10 = unistr/u8-check.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__append_11 = unistr/u8-mblen.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__append_12 = unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__append_13 = unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_14 = unistr/u8-mbtoucr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__append_15 = unistr/u8-prev.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_16 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_17 = uniwidth/width.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE@am__append_6 = unictype/ctype_alpha.c
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__append_7 = unictype/ctype_space.c
+@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__append_8 = unilbrk/u8-possible-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__append_9 = unilbrk/u8-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__append_10 = unilbrk/ulc-width-linebreaks.c
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__append_11 = unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_12 = unistr/u8-check.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__append_13 = unistr/u8-mblen.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__append_14 = unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__append_15 = unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_16 = unistr/u8-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@am__append_17 = unistr/u8-next.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__append_18 = unistr/u8-prev.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE@am__append_19 = unistr/u8-strmbtouc.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_20 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_21 = uniwidth/width.c
subdir = libgettextpo
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -145,6 +155,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -152,6 +163,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -163,7 +175,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -193,10 +208,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -214,10 +235,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -247,6 +271,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -271,6 +296,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -278,6 +304,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -369,6 +396,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = exported.sh
@@ -423,8 +451,9 @@ am__libgettextpo_la_SOURCES_DIST = gettext-po.c ../src/str-list.c \
../src/format-php.c ../src/format-gcc-internal.c \
../src/format-gfc-internal.c ../src/format-qt.c \
../src/format-qt-plural.c ../src/format-kde.c \
- ../src/format-boost.c ../src/format-lua.c ../src/format.c \
- ../src/plural-exp.c ../src/plural-eval.c ../src/msgl-check.c \
+ ../src/format-kde-kuit.c ../src/format-boost.c \
+ ../src/format-lua.c ../src/format.c ../src/plural-exp.c \
+ ../src/plural-eval.c ../src/msgl-check.c ../src/sentence.c \
../woe32dll/gettextpo-exports.c
am__dirstamp = $(am__leading_dot)dirstamp
am__objects_1 = ../src/str-list.lo ../src/dir-list.lo \
@@ -444,9 +473,10 @@ am__objects_1 = ../src/str-list.lo ../src/dir-list.lo \
../src/format-perl-brace.lo ../src/format-php.lo \
../src/format-gcc-internal.lo ../src/format-gfc-internal.lo \
../src/format-qt.lo ../src/format-qt-plural.lo \
- ../src/format-kde.lo ../src/format-boost.lo \
- ../src/format-lua.lo ../src/format.lo ../src/plural-exp.lo \
- ../src/plural-eval.lo ../src/msgl-check.lo
+ ../src/format-kde.lo ../src/format-kde-kuit.lo \
+ ../src/format-boost.lo ../src/format-lua.lo ../src/format.lo \
+ ../src/plural-exp.lo ../src/plural-eval.lo \
+ ../src/msgl-check.lo ../src/sentence.lo
@WOE32DLL_TRUE@am__objects_2 = ../woe32dll/gettextpo-exports.lo
am_libgettextpo_la_OBJECTS = gettext-po.lo $(am__objects_1) \
$(am__objects_2)
@@ -464,57 +494,69 @@ am__libgnu_la_SOURCES_DIST = basename.h basename.c c-ctype.h c-ctype.c \
c-strstr.c concat-filename.c diffseq.h error-progname.h \
error-progname.c exitfail.c fd-hook.c file-ostream.c fstrcmp.h \
fstrcmp.c fwriteerror.h fwriteerror.c gcd.h gcd.c gettext.h \
- hash.h hash.c localcharset.h localcharset.c glthread/lock.h \
- glthread/lock.c malloca.c mbswidth.h mbswidth.c minmax.h \
+ hash.h hash.c gl_linked_list.h gl_linked_list.c \
+ gl_anylinked_list1.h gl_anylinked_list2.h gl_list.h gl_list.c \
+ localcharset.h localcharset.c glthread/lock.h glthread/lock.c \
+ malloca.c markup.h markup.c mbswidth.h mbswidth.c minmax.h \
ostream.c progname.h progname.c size_max.h striconv.h \
striconv.c striconveh.h striconveh.c striconveha.h \
striconveha.c glthread/threadlib.c glthread/tls.h \
- glthread/tls.c uniconv/u8-conv-from-enc.c unilbrk/lbrktables.c \
- unilbrk/u8-possible-linebreaks.c unilbrk/u8-width-linebreaks.c \
- unilbrk/ulc-common.c unilbrk/ulc-width-linebreaks.c unistd.c \
- unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c unistr/u8-check.c \
- unistr/u8-mblen.c unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c \
+ glthread/tls.c uniconv/u8-conv-from-enc.c \
+ unictype/ctype_alpha.c unictype/ctype_space.c \
+ unilbrk/lbrktables.c unilbrk/u8-possible-linebreaks.c \
+ unilbrk/u8-width-linebreaks.c unilbrk/ulc-common.c \
+ unilbrk/ulc-width-linebreaks.c unistd.c unistr/u16-mbtouc.c \
+ unistr/u16-mbtouc-aux.c unistr/u8-check.c unistr/u8-mblen.c \
+ unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c \
unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c \
- unistr/u8-mbtoucr.c unistr/u8-prev.c unistr/u8-uctomb.c \
+ unistr/u8-mbtoucr.c unistr/u8-next.c unistr/u8-prev.c \
+ unistr/u8-strmbtouc.c unistr/u8-uctomb.c \
unistr/u8-uctomb-aux.c uniwidth/width.c wctype-h.c xalloc.h \
xmalloc.c xstrdup.c xconcat-filename.c xerror.h xerror.c \
- xmalloca.c xsize.h xsize.c xstriconv.h xstriconv.c \
- xvasprintf.h xvasprintf.c xasprintf.c
+ gl_xlist.h gl_xlist.c xmalloca.c xsize.h xsize.c xstriconv.h \
+ xstriconv.c xvasprintf.h xvasprintf.c xasprintf.c
@LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC_TRUE@am__objects_3 = uniconv/u8-conv-from-enc.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__objects_4 = unilbrk/u8-possible-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__objects_5 = unilbrk/u8-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__objects_6 = unilbrk/ulc-width-linebreaks.lo
-@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__objects_7 = unistr/u16-mbtouc.lo \
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA_TRUE@am__objects_4 = unictype/ctype_alpha.lo
+@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE_TRUE@am__objects_5 = unictype/ctype_space.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS_TRUE@am__objects_6 = unilbrk/u8-possible-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS_TRUE@am__objects_7 = unilbrk/u8-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS_TRUE@am__objects_8 = unilbrk/ulc-width-linebreaks.lo
+@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@am__objects_9 = unistr/u16-mbtouc.lo \
@LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_TRUE@ unistr/u16-mbtouc-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_8 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_10 = \
@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@ unistr/u8-check.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__objects_9 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@am__objects_11 = \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN_TRUE@ unistr/u8-mblen.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__objects_10 = unistr/u8-mbtouc.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@am__objects_12 = unistr/u8-mbtouc.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_TRUE@ unistr/u8-mbtouc-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__objects_11 = unistr/u8-mbtouc-unsafe.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@am__objects_13 = unistr/u8-mbtouc-unsafe.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE_TRUE@ unistr/u8-mbtouc-unsafe-aux.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_12 = unistr/u8-mbtoucr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__objects_13 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_14 = unistr/u8-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@am__objects_15 = \
+@LIBUNISTRING_COMPILE_UNISTR_U8_NEXT_TRUE@ unistr/u8-next.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@am__objects_16 = \
@LIBUNISTRING_COMPILE_UNISTR_U8_PREV_TRUE@ unistr/u8-prev.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_14 = unistr/u8-uctomb.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC_TRUE@am__objects_17 = unistr/u8-strmbtouc.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_18 = unistr/u8-uctomb.lo \
@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ unistr/u8-uctomb-aux.lo
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_15 = \
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_19 = \
@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@ uniwidth/width.lo
am_libgnu_la_OBJECTS = basename.lo c-ctype.lo c-strcasecmp.lo \
c-strncasecmp.lo c-strstr.lo concat-filename.lo \
error-progname.lo exitfail.lo fd-hook.lo file-ostream.lo \
- fstrcmp.lo fwriteerror.lo gcd.lo hash.lo localcharset.lo \
- glthread/lock.lo malloca.lo mbswidth.lo ostream.lo progname.lo \
- striconv.lo striconveh.lo striconveha.lo glthread/threadlib.lo \
- glthread/tls.lo $(am__objects_3) unilbrk/lbrktables.lo \
- $(am__objects_4) $(am__objects_5) unilbrk/ulc-common.lo \
- $(am__objects_6) unistd.lo $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
+ fstrcmp.lo fwriteerror.lo gcd.lo hash.lo gl_linked_list.lo \
+ gl_list.lo localcharset.lo glthread/lock.lo malloca.lo \
+ markup.lo mbswidth.lo ostream.lo progname.lo striconv.lo \
+ striconveh.lo striconveha.lo glthread/threadlib.lo \
+ glthread/tls.lo $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) unilbrk/lbrktables.lo $(am__objects_6) \
+ $(am__objects_7) unilbrk/ulc-common.lo $(am__objects_8) \
+ unistd.lo $(am__objects_9) $(am__objects_10) $(am__objects_11) \
$(am__objects_12) $(am__objects_13) $(am__objects_14) \
- $(am__objects_15) wctype-h.lo xmalloc.lo xstrdup.lo \
- xconcat-filename.lo xerror.lo xmalloca.lo xsize.lo \
- xstriconv.lo xvasprintf.lo xasprintf.lo
+ $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+ $(am__objects_18) $(am__objects_19) wctype-h.lo xmalloc.lo \
+ xstrdup.lo xconcat-filename.lo xerror.lo gl_xlist.lo \
+ xmalloca.lo xsize.lo xstriconv.lo xvasprintf.lo xasprintf.lo
libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS)
libgnu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@@ -581,6 +623,9 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
+ $(srcdir)/exported.sh.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -591,6 +636,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -632,7 +678,7 @@ CXXFLAGS = @CXXFLAGS@
CXX_CHOICE = @CXX_CHOICE@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
+DEFS = -DIN_LIBGETTEXTPO=1 @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
@@ -652,6 +698,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -666,15 +713,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -683,6 +749,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -697,6 +773,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -705,6 +790,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -735,17 +823,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -784,6 +902,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -819,6 +940,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -842,11 +964,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -857,10 +988,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -889,10 +1026,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -952,25 +1096,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -982,13 +1158,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -997,6 +1188,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -1008,6 +1203,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -1018,6 +1219,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -1040,9 +1247,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -1064,12 +1280,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -1090,6 +1316,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -1109,6 +1337,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -1124,9 +1353,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -1139,9 +1373,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1167,7 +1406,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1243,13 +1486,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1268,6 +1514,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1276,6 +1523,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1285,9 +1533,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1298,6 +1546,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1307,6 +1556,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1316,6 +1566,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1334,6 +1585,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1343,6 +1595,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1373,12 +1626,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1397,6 +1652,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1405,16 +1665,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1433,19 +1710,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1463,6 +1765,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1492,16 +1798,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1527,6 +1842,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1553,6 +1871,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1567,6 +1886,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1693,19 +2013,21 @@ EXTRA_DIST = libgettextpo.rc gettext-po.in.h gnulib-m4/gnulib-cache.m4 \
$(top_srcdir)/../build-aux/snippet/unused-parameter.h \
$(top_srcdir)/../build-aux/snippet/warn-on-use.h stat.c \
stdarg.in.h stdbool.in.h stddef.in.h stdint.in.h stdio.in.h \
- stdlib.in.h stpcpy.c strchrnul.c strchrnul.valgrind streq.h \
- strerror.c strerror-override.c strerror-override.h iconveh.h \
- string.in.h str-two-way.h strstr.c sys_stat.in.h sys_time.in.h \
- sys_types.in.h $(top_srcdir)/../build-aux/config.rpath \
- time.in.h iconveh.h localcharset.h striconveha.h uniconv.in.h \
- unilbrk.in.h unilbrk/lbrkprop1.h unilbrk/lbrkprop2.h \
- unilbrk/lbrktables.h uniwidth/cjk.h unilbrk/ulc-common.h \
- unistd.in.h unistr.in.h unitypes.in.h localcharset.h \
- uniwidth.in.h uniwidth/cjk.h unlocked-io.h asnprintf.c \
- float+.h printf-args.c printf-args.h printf-parse.c \
- printf-parse.h vasnprintf.c vasnprintf.h asprintf.c \
- vasprintf.c verify.h wchar.in.h wctype.in.h wcwidth.c \
- concat-filename.h xmalloca.h xalloc.h
+ stdlib.in.h stpcpy.c stpncpy.c strchrnul.c strchrnul.valgrind \
+ streq.h strerror.c strerror-override.c strerror-override.h \
+ iconveh.h string.in.h str-two-way.h strstr.c sys_stat.in.h \
+ sys_time.in.h sys_types.in.h \
+ $(top_srcdir)/../build-aux/config.rpath time.in.h iconveh.h \
+ localcharset.h striconveha.h uniconv.in.h unictype.in.h \
+ unictype/bitmap.h unictype/ctype_alpha.h unictype/bitmap.h \
+ unictype/ctype_space.h unilbrk.in.h unilbrk/lbrkprop1.h \
+ unilbrk/lbrkprop2.h unilbrk/lbrktables.h uniwidth/cjk.h \
+ unilbrk/ulc-common.h unistd.in.h unistr.in.h unitypes.in.h \
+ localcharset.h uniwidth.in.h uniwidth/cjk.h unlocked-io.h \
+ asnprintf.c float+.h printf-args.c printf-args.h \
+ printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \
+ asprintf.c vasprintf.c verify.h wchar.in.h wctype.in.h \
+ wcwidth.c concat-filename.h xmalloca.h xalloc.h
# The BUILT_SOURCES created by this Makefile snippet are not used via #include
# statements but through direct file reference. Therefore this snippet must be
@@ -1730,9 +2052,9 @@ BUILT_SOURCES = gettext-po.h $(ALLOCA_H) configmake.h $(ERRNO_H) \
unused-parameter.h warn-on-use.h $(STDARG_H) $(STDBOOL_H) \
$(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h sys/stat.h \
sys/time.h sys/types.h time.h $(LIBUNISTRING_UNICONV_H) \
- $(LIBUNISTRING_UNILBRK_H) unistd.h $(LIBUNISTRING_UNISTR_H) \
- $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) wchar.h \
- wctype.h
+ $(LIBUNISTRING_UNICTYPE_H) $(LIBUNISTRING_UNILBRK_H) unistd.h \
+ $(LIBUNISTRING_UNISTR_H) $(LIBUNISTRING_UNITYPES_H) \
+ $(LIBUNISTRING_UNIWIDTH_H) wchar.h wctype.h
MOSTLYCLEANFILES = core *.stackdump $(am__append_3) config.h \
config.h-t core *.stackdump alloca.h alloca.h-t errno.h \
errno.h-t fcntl.h fcntl.h-t float.h float.h-t iconv.h \
@@ -1744,10 +2066,10 @@ MOSTLYCLEANFILES = core *.stackdump $(am__append_3) config.h \
stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h \
stdio.h-t stdlib.h stdlib.h-t string.h string.h-t sys/stat.h \
sys/stat.h-t sys/time.h sys/time.h-t sys/types.h sys/types.h-t \
- time.h time.h-t uniconv.h uniconv.h-t unilbrk.h unilbrk.h-t \
- unistd.h unistd.h-t unistr.h unistr.h-t unitypes.h \
- unitypes.h-t uniwidth.h uniwidth.h-t wchar.h wchar.h-t \
- wctype.h wctype.h-t
+ time.h time.h-t uniconv.h uniconv.h-t unictype.h unictype.h-t \
+ unilbrk.h unilbrk.h-t unistd.h unistd.h-t unistr.h unistr.h-t \
+ unitypes.h unitypes.h-t uniwidth.h uniwidth.h-t wchar.h \
+ wchar.h-t wctype.h wctype.h-t
MOSTLYCLEANDIRS = sys
CLEANFILES = gettext-po.h configmake.h configmake.h-t charset.alias \
ref-add.sed ref-del.sed
@@ -1813,12 +2135,14 @@ libgettextpo_la_AUXSOURCES = \
../src/format-qt.c \
../src/format-qt-plural.c \
../src/format-kde.c \
+ ../src/format-kde-kuit.c \
../src/format-boost.c \
../src/format-lua.c \
../src/format.c \
../src/plural-exp.c \
../src/plural-eval.c \
- ../src/msgl-check.c
+ ../src/msgl-check.c \
+ ../src/sentence.c
# Libtool's library version information for libgettextpo.
@@ -1841,20 +2165,23 @@ libgnu_la_SOURCES = basename.h basename.c c-ctype.h c-ctype.c \
c-strstr.c concat-filename.c diffseq.h error-progname.h \
error-progname.c exitfail.c fd-hook.c file-ostream.c fstrcmp.h \
fstrcmp.c fwriteerror.h fwriteerror.c gcd.h gcd.c gettext.h \
- hash.h hash.c localcharset.h localcharset.c glthread/lock.h \
- glthread/lock.c malloca.c mbswidth.h mbswidth.c minmax.h \
+ hash.h hash.c gl_linked_list.h gl_linked_list.c \
+ gl_anylinked_list1.h gl_anylinked_list2.h gl_list.h gl_list.c \
+ localcharset.h localcharset.c glthread/lock.h glthread/lock.c \
+ malloca.c markup.h markup.c mbswidth.h mbswidth.c minmax.h \
ostream.c progname.h progname.c size_max.h striconv.h \
striconv.c striconveh.h striconveh.c striconveha.h \
striconveha.c glthread/threadlib.c glthread/tls.h \
- glthread/tls.c $(am__append_5) unilbrk/lbrktables.c \
- $(am__append_6) $(am__append_7) unilbrk/ulc-common.c \
- $(am__append_8) unistd.c $(am__append_9) $(am__append_10) \
+ glthread/tls.c $(am__append_5) $(am__append_6) $(am__append_7) \
+ unilbrk/lbrktables.c $(am__append_8) $(am__append_9) \
+ unilbrk/ulc-common.c $(am__append_10) unistd.c \
$(am__append_11) $(am__append_12) $(am__append_13) \
$(am__append_14) $(am__append_15) $(am__append_16) \
- $(am__append_17) wctype-h.c xalloc.h xmalloc.c xstrdup.c \
- xconcat-filename.c xerror.h xerror.c xmalloca.c xsize.h \
- xsize.c xstriconv.h xstriconv.c xvasprintf.h xvasprintf.c \
- xasprintf.c
+ $(am__append_17) $(am__append_18) $(am__append_19) \
+ $(am__append_20) $(am__append_21) wctype-h.c xalloc.h \
+ xmalloc.c xstrdup.c xconcat-filename.c xerror.h xerror.c \
+ gl_xlist.h gl_xlist.c xmalloca.c xsize.h xsize.c xstriconv.h \
+ xstriconv.c xvasprintf.h xvasprintf.c xasprintf.c
libgnu_la_LIBADD = $(gtpo_LTLIBOBJS)
libgnu_la_DEPENDENCIES = $(gtpo_LTLIBOBJS)
EXTRA_libgnu_la_SOURCES = close.c error.c file-ostream.oo.c float.c \
@@ -1863,7 +2190,7 @@ EXTRA_libgnu_la_SOURCES = close.c error.c file-ostream.oo.c float.c \
mbsinit.c memchr.c msvc-inval.c msvc-nothrow.c obstack.c \
open.c ostream.oo.c raise.c rawmemchr.c realloc.c \
relocatable.c stdio-write.c sigprocmask.c stat.c stpcpy.c \
- strchrnul.c strerror.c strerror-override.c strstr.c \
+ stpncpy.c strchrnul.c strerror.c strerror-override.c strstr.c \
asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
asprintf.c vasprintf.c wcwidth.c
libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBICONV) \
@@ -1874,6 +2201,9 @@ libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBICONV) \
# might appear in an installed header, which is used by some other compiler.
HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
GPERF = gperf
+V_GPERF = $(V_GPERF_@AM_V@)
+V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
+V_GPERF_0 = @echo " GPERF " $@;
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
MOOPPFLAGS =
@@ -1903,7 +2233,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.gnulib $(am__co
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits libgettextpo/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits libgettextpo/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1912,7 +2241,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/Makefile.gnulib:
+$(srcdir)/Makefile.gnulib $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -2012,12 +2341,14 @@ clean-noinstLTLIBRARIES:
../src/format-qt.lo: ../src/$(am__dirstamp)
../src/format-qt-plural.lo: ../src/$(am__dirstamp)
../src/format-kde.lo: ../src/$(am__dirstamp)
+../src/format-kde-kuit.lo: ../src/$(am__dirstamp)
../src/format-boost.lo: ../src/$(am__dirstamp)
../src/format-lua.lo: ../src/$(am__dirstamp)
../src/format.lo: ../src/$(am__dirstamp)
../src/plural-exp.lo: ../src/$(am__dirstamp)
../src/plural-eval.lo: ../src/$(am__dirstamp)
../src/msgl-check.lo: ../src/$(am__dirstamp)
+../src/sentence.lo: ../src/$(am__dirstamp)
../woe32dll/$(am__dirstamp):
@$(MKDIR_P) ../woe32dll
@: > ../woe32dll/$(am__dirstamp)
@@ -2035,6 +2366,11 @@ uniconv/$(am__dirstamp):
@$(MKDIR_P) uniconv
@: > uniconv/$(am__dirstamp)
uniconv/u8-conv-from-enc.lo: uniconv/$(am__dirstamp)
+unictype/$(am__dirstamp):
+ @$(MKDIR_P) unictype
+ @: > unictype/$(am__dirstamp)
+unictype/ctype_alpha.lo: unictype/$(am__dirstamp)
+unictype/ctype_space.lo: unictype/$(am__dirstamp)
unilbrk/$(am__dirstamp):
@$(MKDIR_P) unilbrk
@: > unilbrk/$(am__dirstamp)
@@ -2055,7 +2391,9 @@ unistr/u8-mbtouc-aux.lo: unistr/$(am__dirstamp)
unistr/u8-mbtouc-unsafe.lo: unistr/$(am__dirstamp)
unistr/u8-mbtouc-unsafe-aux.lo: unistr/$(am__dirstamp)
unistr/u8-mbtoucr.lo: unistr/$(am__dirstamp)
+unistr/u8-next.lo: unistr/$(am__dirstamp)
unistr/u8-prev.lo: unistr/$(am__dirstamp)
+unistr/u8-strmbtouc.lo: unistr/$(am__dirstamp)
unistr/u8-uctomb.lo: unistr/$(am__dirstamp)
unistr/u8-uctomb-aux.lo: unistr/$(am__dirstamp)
uniwidth/$(am__dirstamp):
@@ -2076,6 +2414,8 @@ mostlyclean-compile:
-rm -f glthread/*.lo
-rm -f uniconv/*.$(OBJEXT)
-rm -f uniconv/*.lo
+ -rm -f unictype/*.$(OBJEXT)
+ -rm -f unictype/*.lo
-rm -f unilbrk/*.$(OBJEXT)
-rm -f unilbrk/*.lo
-rm -f unistr/*.$(OBJEXT)
@@ -2104,6 +2444,7 @@ clean-libtool:
-rm -rf ../woe32dll/.libs ../woe32dll/_libs
-rm -rf glthread/.libs glthread/_libs
-rm -rf uniconv/.libs uniconv/_libs
+ -rm -rf unictype/.libs unictype/_libs
-rm -rf unilbrk/.libs unilbrk/_libs
-rm -rf unistr/.libs unistr/_libs
-rm -rf uniwidth/.libs uniwidth/_libs
@@ -2252,6 +2593,7 @@ distclean-generic:
-rm -f ../woe32dll/$(am__dirstamp)
-rm -f glthread/$(am__dirstamp)
-rm -f uniconv/$(am__dirstamp)
+ -rm -f unictype/$(am__dirstamp)
-rm -f unilbrk/$(am__dirstamp)
-rm -f unistr/$(am__dirstamp)
-rm -f uniwidth/$(am__dirstamp)
@@ -2352,6 +2694,8 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-local \
uninstall-libLTLIBRARIES uninstall-local \
uninstall-nodist_includeHEADERS
+.PRECIOUS: Makefile
+
@WOE32_TRUE@libgettextpo.res.lo : $(srcdir)/libgettextpo.rc
@WOE32_TRUE@ $(LIBTOOL) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) `$(SHELL) $(top_srcdir)/../windows/windres-options --escape $(VERSION)` -i $(srcdir)/libgettextpo.rc -o libgettextpo.res.lo --output-format=coff
@@ -2382,7 +2726,7 @@ config.h: $(BUILT_SOURCES)
sf=`echo "$$f" | sed -e 's,\\.[^.]*$$,,'`.c; \
test -f $$sf || sf=$(srcdir)/$$sf; \
of=`echo "$$f" | sed -e 's,^.*/,,' -e 's,\\.[^.]*$$,,'`.$(OBJEXT); \
- $(COMPILE) -c $$sf || { rm -f config.h; exit 1; }; \
+ $(COMPILE) $(DEFS) -c $$sf || { rm -f config.h; exit 1; }; \
sh ./exported.sh $$of 1>&5; \
rm -f $$of `echo "$$of" | sed -e 's,\\.$(OBJEXT)$$,.lo,'`; \
;; \
@@ -2560,19 +2904,19 @@ file-ostream.c file_ostream.priv.h file_ostream.vt.h : file-ostream.h
@GL_GENERATE_ICONV_H_FALSE@ rm -f $@
iconv_open-aix.h: iconv_open-aix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \
mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
iconv_open-hpux.h: iconv_open-hpux.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \
mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
iconv_open-irix.h: iconv_open-irix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \
mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
iconv_open-osf.h: iconv_open-osf.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \
mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
iconv_open-solaris.h: iconv_open-solaris.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+ $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \
mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
# We need the following in order to install a simple file in $(libdir)
@@ -2755,6 +3099,7 @@ warn-on-use.h: $(top_srcdir)/../build-aux/snippet/warn-on-use.h
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
@GL_GENERATE_STDDEF_H_TRUE@ < $(srcdir)/stddef.in.h; \
@@ -3216,10 +3561,12 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
-e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
-e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+ -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \
-e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
-e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
-e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
@@ -3229,6 +3576,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -3243,6 +3591,13 @@ uniconv.h: uniconv.in.h
} > $@-t && \
mv -f $@-t $@
+unictype.h: unictype.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unictype.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+
unilbrk.h: unilbrk.in.h
$(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
diff --git a/gettext-tools/libgettextpo/alignof.h b/gettext-tools/libgettextpo/alignof.h
index 9d161df..be53fa5 100644
--- a/gettext-tools/libgettextpo/alignof.h
+++ b/gettext-tools/libgettextpo/alignof.h
@@ -1,5 +1,5 @@
/* Determine alignment of types.
- Copyright (C) 2003-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/alloca.in.h b/gettext-tools/libgettextpo/alloca.in.h
index 964cb8d..b334262 100644
--- a/gettext-tools/libgettextpo/alloca.in.h
+++ b/gettext-tools/libgettextpo/alloca.in.h
@@ -1,5 +1,6 @@
/* Memory allocation on the stack.
- Copyright (C) 1995, 1999, 2001-2007 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1999, 2001-2007, 2015 Free Software Foundation,
+ Inc.
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
diff --git a/gettext-tools/libgettextpo/asnprintf.c b/gettext-tools/libgettextpo/asnprintf.c
index 0c62197..d6776ca 100644
--- a/gettext-tools/libgettextpo/asnprintf.c
+++ b/gettext-tools/libgettextpo/asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/asprintf.c b/gettext-tools/libgettextpo/asprintf.c
index 9a69ac4..06ae3dd 100644
--- a/gettext-tools/libgettextpo/asprintf.c
+++ b/gettext-tools/libgettextpo/asprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/basename.c b/gettext-tools/libgettextpo/basename.c
index 5874420..56421aa 100644
--- a/gettext-tools/libgettextpo/basename.c
+++ b/gettext-tools/libgettextpo/basename.c
@@ -1,5 +1,6 @@
/* Return the name-within-directory of a file name.
- Copyright (C) 1996-1999, 2000-2002, 2004, 2006, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1996-2002, 2004, 2006, 2010, 2012, 2015 Free Software
+ Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
diff --git a/gettext-tools/libgettextpo/basename.h b/gettext-tools/libgettextpo/basename.h
index 908cc3e..489cc67 100644
--- a/gettext-tools/libgettextpo/basename.h
+++ b/gettext-tools/libgettextpo/basename.h
@@ -1,5 +1,5 @@
/* Pathname hacking.
- Copyright (C) 2001-2003, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/c-ctype.c b/gettext-tools/libgettextpo/c-ctype.c
index 48c6478..5d9d4d8 100644
--- a/gettext-tools/libgettextpo/c-ctype.c
+++ b/gettext-tools/libgettextpo/c-ctype.c
@@ -1,395 +1,3 @@
-/* Character handling in C locale.
-
- Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc.
-
-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 3 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, see <http://www.gnu.org/licenses/>. */
-
#include <config.h>
-
-/* Specification. */
-#define NO_C_CTYPE_MACROS
+#define C_CTYPE_INLINE _GL_EXTERN_INLINE
#include "c-ctype.h"
-
-/* The function isascii is not locale dependent. Its use in EBCDIC is
- questionable. */
-bool
-c_isascii (int c)
-{
- return (c >= 0x00 && c <= 0x7f);
-}
-
-bool
-c_isalnum (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
-#else
- return ((c >= '0' && c <= '9')
- || (c >= 'A' && c <= 'Z')
- || (c >= 'a' && c <= 'z'));
-#endif
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isalpha (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
-#else
- return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
-#endif
-#else
- switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isblank (int c)
-{
- return (c == ' ' || c == '\t');
-}
-
-bool
-c_iscntrl (int c)
-{
-#if C_CTYPE_ASCII
- return ((c & ~0x1f) == 0 || c == 0x7f);
-#else
- switch (c)
- {
- case ' ': case '!': case '"': case '#': case '$': case '%':
- case '&': case '\'': case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 0;
- default:
- return 1;
- }
-#endif
-}
-
-bool
-c_isdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS
- return (c >= '0' && c <= '9');
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_islower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'a' && c <= 'z');
-#else
- switch (c)
- {
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isgraph (int c)
-{
-#if C_CTYPE_ASCII
- return (c >= '!' && c <= '~');
-#else
- switch (c)
- {
- case '!': case '"': case '#': case '$': case '%': case '&':
- case '\'': case '(': case ')': case '*': case '+': case ',':
- case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isprint (int c)
-{
-#if C_CTYPE_ASCII
- return (c >= ' ' && c <= '~');
-#else
- switch (c)
- {
- case ' ': case '!': case '"': case '#': case '$': case '%':
- case '&': case '\'': case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_ispunct (int c)
-{
-#if C_CTYPE_ASCII
- return ((c >= '!' && c <= '~')
- && !((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
-#else
- switch (c)
- {
- case '!': case '"': case '#': case '$': case '%': case '&':
- case '\'': case '(': case ')': case '*': case '+': case ',':
- case '-': case '.': case '/':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isspace (int c)
-{
- return (c == ' ' || c == '\t'
- || c == '\n' || c == '\v' || c == '\f' || c == '\r');
-}
-
-bool
-c_isupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
- return (c >= 'A' && c <= 'Z');
-#else
- switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isxdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
-#else
- return ((c >= '0' && c <= '9')
- || (c >= 'A' && c <= 'F')
- || (c >= 'a' && c <= 'f'));
-#endif
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-int
-c_tolower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
-#else
- switch (c)
- {
- case 'A': return 'a';
- case 'B': return 'b';
- case 'C': return 'c';
- case 'D': return 'd';
- case 'E': return 'e';
- case 'F': return 'f';
- case 'G': return 'g';
- case 'H': return 'h';
- case 'I': return 'i';
- case 'J': return 'j';
- case 'K': return 'k';
- case 'L': return 'l';
- case 'M': return 'm';
- case 'N': return 'n';
- case 'O': return 'o';
- case 'P': return 'p';
- case 'Q': return 'q';
- case 'R': return 'r';
- case 'S': return 's';
- case 'T': return 't';
- case 'U': return 'u';
- case 'V': return 'v';
- case 'W': return 'w';
- case 'X': return 'x';
- case 'Y': return 'y';
- case 'Z': return 'z';
- default: return c;
- }
-#endif
-}
-
-int
-c_toupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
-#else
- switch (c)
- {
- case 'a': return 'A';
- case 'b': return 'B';
- case 'c': return 'C';
- case 'd': return 'D';
- case 'e': return 'E';
- case 'f': return 'F';
- case 'g': return 'G';
- case 'h': return 'H';
- case 'i': return 'I';
- case 'j': return 'J';
- case 'k': return 'K';
- case 'l': return 'L';
- case 'm': return 'M';
- case 'n': return 'N';
- case 'o': return 'O';
- case 'p': return 'P';
- case 'q': return 'Q';
- case 'r': return 'R';
- case 's': return 'S';
- case 't': return 'T';
- case 'u': return 'U';
- case 'v': return 'V';
- case 'w': return 'W';
- case 'x': return 'X';
- case 'y': return 'Y';
- case 'z': return 'Z';
- default: return c;
- }
-#endif
-}
diff --git a/gettext-tools/libgettextpo/c-ctype.h b/gettext-tools/libgettextpo/c-ctype.h
index b465277..1512530 100644
--- a/gettext-tools/libgettextpo/c-ctype.h
+++ b/gettext-tools/libgettextpo/c-ctype.h
@@ -5,7 +5,7 @@
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2015 Free Software Foundation, Inc.
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
@@ -25,6 +25,13 @@ along with this program; if not, see <http://www.gnu.org/licenses/>. */
#include <stdbool.h>
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef C_CTYPE_INLINE
+# define C_CTYPE_INLINE _GL_INLINE
+#endif
#ifdef __cplusplus
extern "C" {
@@ -39,38 +46,6 @@ extern "C" {
characters. */
-/* Check whether the ASCII optimizations apply. */
-
-/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
- '0', '1', ..., '9' have consecutive integer values. */
-#define C_CTYPE_CONSECUTIVE_DIGITS 1
-
-#if ('A' <= 'Z') \
- && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
- && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
- && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
- && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
- && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
- && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
- && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
- && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
- && ('Y' + 1 == 'Z')
-#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
-#endif
-
-#if ('a' <= 'z') \
- && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
- && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
- && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
- && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
- && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
- && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
- && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
- && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
- && ('y' + 1 == 'z')
-#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
-#endif
-
#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
&& (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
@@ -96,11 +71,84 @@ extern "C" {
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
Testing the value of '\n' and '\r' is not relevant. */
-#define C_CTYPE_ASCII 1
+# define C_CTYPE_ASCII 1
+#elif ! (' ' == '\x40' && '0' == '\xf0' \
+ && 'A' == '\xc1' && 'J' == '\xd1' && 'S' == '\xe2' \
+ && 'a' == '\x81' && 'j' == '\x91' && 's' == '\xa2')
+# error "Only ASCII and EBCDIC are supported"
#endif
+#if 'A' < 0
+# error "EBCDIC and char is signed -- not supported"
+#endif
+
+/* Cases for control characters. */
+
+#define _C_CTYPE_CNTRL \
+ case '\a': case '\b': case '\f': case '\n': \
+ case '\r': case '\t': case '\v': \
+ _C_CTYPE_OTHER_CNTRL
+
+/* ASCII control characters other than those with \-letter escapes. */
+
+#if C_CTYPE_ASCII
+# define _C_CTYPE_OTHER_CNTRL \
+ case '\x00': case '\x01': case '\x02': case '\x03': \
+ case '\x04': case '\x05': case '\x06': case '\x0e': \
+ case '\x0f': case '\x10': case '\x11': case '\x12': \
+ case '\x13': case '\x14': case '\x15': case '\x16': \
+ case '\x17': case '\x18': case '\x19': case '\x1a': \
+ case '\x1b': case '\x1c': case '\x1d': case '\x1e': \
+ case '\x1f': case '\x7f'
+#else
+ /* Use EBCDIC code page 1047's assignments for ASCII control chars;
+ assume all EBCDIC code pages agree about these assignments. */
+# define _C_CTYPE_OTHER_CNTRL \
+ case '\x00': case '\x01': case '\x02': case '\x03': \
+ case '\x07': case '\x0e': case '\x0f': case '\x10': \
+ case '\x11': case '\x12': case '\x13': case '\x18': \
+ case '\x19': case '\x1c': case '\x1d': case '\x1e': \
+ case '\x1f': case '\x26': case '\x27': case '\x2d': \
+ case '\x2e': case '\x32': case '\x37': case '\x3c': \
+ case '\x3d': case '\x3f'
+#endif
-/* Function declarations. */
+/* Cases for lowercase hex letters, and lowercase letters, all offset by N. */
+
+#define _C_CTYPE_LOWER_A_THRU_F_N(n) \
+ case 'a' + (n): case 'b' + (n): case 'c' + (n): case 'd' + (n): \
+ case 'e' + (n): case 'f' + (n)
+#define _C_CTYPE_LOWER_N(n) \
+ _C_CTYPE_LOWER_A_THRU_F_N(n): \
+ case 'g' + (n): case 'h' + (n): case 'i' + (n): case 'j' + (n): \
+ case 'k' + (n): case 'l' + (n): case 'm' + (n): case 'n' + (n): \
+ case 'o' + (n): case 'p' + (n): case 'q' + (n): case 'r' + (n): \
+ case 's' + (n): case 't' + (n): case 'u' + (n): case 'v' + (n): \
+ case 'w' + (n): case 'x' + (n): case 'y' + (n): case 'z' + (n)
+
+/* Cases for hex letters, digits, lower, punct, and upper. */
+
+#define _C_CTYPE_A_THRU_F \
+ _C_CTYPE_LOWER_A_THRU_F_N (0): \
+ _C_CTYPE_LOWER_A_THRU_F_N ('A' - 'a')
+#define _C_CTYPE_DIGIT \
+ case '0': case '1': case '2': case '3': \
+ case '4': case '5': case '6': case '7': \
+ case '8': case '9'
+#define _C_CTYPE_LOWER _C_CTYPE_LOWER_N (0)
+#define _C_CTYPE_PUNCT \
+ case '!': case '"': case '#': case '$': \
+ case '%': case '&': case '\'': case '(': \
+ case ')': case '*': case '+': case ',': \
+ case '-': case '.': case '/': case ':': \
+ case ';': case '<': case '=': case '>': \
+ case '?': case '@': case '[': case '\\': \
+ case ']': case '^': case '_': case '`': \
+ case '{': case '|': case '}': case '~'
+#define _C_CTYPE_UPPER _C_CTYPE_LOWER_N ('A' - 'a')
+
+
+/* Function definitions. */
/* Unlike the functions in <ctype.h>, which require an argument in the range
of the 'unsigned char' type, the functions here operate on values that are
@@ -117,179 +165,202 @@ extern "C" {
if (c_isalpha (*s)) ...
*/
-extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */
-
-extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_islower (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST;
-
-extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
-extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
-
-
-#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \
- && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS)
-
-/* ASCII optimizations. */
-
-#undef c_isascii
-#define c_isascii(c) \
- ({ int __c = (c); \
- (__c >= 0x00 && __c <= 0x7f); \
- })
+C_CTYPE_INLINE bool
+c_isalnum (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalnum
-#define c_isalnum(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
- })
-#else
-#undef c_isalnum
-#define c_isalnum(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || (__c >= 'A' && __c <= 'Z') \
- || (__c >= 'a' && __c <= 'z')); \
- })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isalpha (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_LOWER:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalpha
-#define c_isalpha(c) \
- ({ int __c = (c); \
- ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
- })
-#else
-#undef c_isalpha
-#define c_isalpha(c) \
- ({ int __c = (c); \
- ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
- })
-#endif
-#endif
+/* The function isascii is not locale dependent.
+ Its use in EBCDIC is questionable. */
+C_CTYPE_INLINE bool
+c_isascii (int c)
+{
+ switch (c)
+ {
+ case ' ':
+ _C_CTYPE_CNTRL:
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_PUNCT:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#undef c_isblank
-#define c_isblank(c) \
- ({ int __c = (c); \
- (__c == ' ' || __c == '\t'); \
- })
+C_CTYPE_INLINE bool
+c_isblank (int c)
+{
+ return c == ' ' || c == '\t';
+}
-#if C_CTYPE_ASCII
-#undef c_iscntrl
-#define c_iscntrl(c) \
- ({ int __c = (c); \
- ((__c & ~0x1f) == 0 || __c == 0x7f); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_iscntrl (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_CNTRL:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_DIGITS
-#undef c_isdigit
-#define c_isdigit(c) \
- ({ int __c = (c); \
- (__c >= '0' && __c <= '9'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isdigit (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_islower
-#define c_islower(c) \
- ({ int __c = (c); \
- (__c >= 'a' && __c <= 'z'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isgraph (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_PUNCT:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_ASCII
-#undef c_isgraph
-#define c_isgraph(c) \
- ({ int __c = (c); \
- (__c >= '!' && __c <= '~'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_islower (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_LOWER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_ASCII
-#undef c_isprint
-#define c_isprint(c) \
- ({ int __c = (c); \
- (__c >= ' ' && __c <= '~'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isprint (int c)
+{
+ switch (c)
+ {
+ case ' ':
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_LOWER:
+ _C_CTYPE_PUNCT:
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_ASCII
-#undef c_ispunct
-#define c_ispunct(c) \
- ({ int _c = (c); \
- (c_isgraph (_c) && ! c_isalnum (_c)); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_ispunct (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_PUNCT:
+ return true;
+ default:
+ return false;
+ }
+}
-#undef c_isspace
-#define c_isspace(c) \
- ({ int __c = (c); \
- (__c == ' ' || __c == '\t' \
- || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
- })
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-#undef c_isupper
-#define c_isupper(c) \
- ({ int __c = (c); \
- (__c >= 'A' && __c <= 'Z'); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isspace (int c)
+{
+ switch (c)
+ {
+ case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isxdigit
-#define c_isxdigit(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
- })
-#else
-#undef c_isxdigit
-#define c_isxdigit(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || (__c >= 'A' && __c <= 'F') \
- || (__c >= 'a' && __c <= 'f')); \
- })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isupper (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_UPPER:
+ return true;
+ default:
+ return false;
+ }
+}
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_tolower
-#define c_tolower(c) \
- ({ int __c = (c); \
- (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
- })
-#undef c_toupper
-#define c_toupper(c) \
- ({ int __c = (c); \
- (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
- })
-#endif
+C_CTYPE_INLINE bool
+c_isxdigit (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_DIGIT:
+ _C_CTYPE_A_THRU_F:
+ return true;
+ default:
+ return false;
+ }
+}
-#endif /* optimizing for speed */
+C_CTYPE_INLINE int
+c_tolower (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_UPPER:
+ return c - 'A' + 'a';
+ default:
+ return c;
+ }
+}
+C_CTYPE_INLINE int
+c_toupper (int c)
+{
+ switch (c)
+ {
+ _C_CTYPE_LOWER:
+ return c - 'a' + 'A';
+ default:
+ return c;
+ }
+}
#ifdef __cplusplus
}
#endif
+_GL_INLINE_HEADER_END
+
#endif /* C_CTYPE_H */
diff --git a/gettext-tools/libgettextpo/c-strcase.h b/gettext-tools/libgettextpo/c-strcase.h
index 8e66044..f25bcca 100644
--- a/gettext-tools/libgettextpo/c-strcase.h
+++ b/gettext-tools/libgettextpo/c-strcase.h
@@ -1,5 +1,5 @@
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/c-strcasecmp.c b/gettext-tools/libgettextpo/c-strcasecmp.c
index b9b26a4..6deb6d1 100644
--- a/gettext-tools/libgettextpo/c-strcasecmp.c
+++ b/gettext-tools/libgettextpo/c-strcasecmp.c
@@ -1,5 +1,5 @@
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/c-strcaseeq.h b/gettext-tools/libgettextpo/c-strcaseeq.h
index 5139a30..28dc55e 100644
--- a/gettext-tools/libgettextpo/c-strcaseeq.h
+++ b/gettext-tools/libgettextpo/c-strcaseeq.h
@@ -1,5 +1,5 @@
/* Optimized case-insensitive string comparison in C locale.
- Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
@@ -33,9 +33,6 @@
# if C_CTYPE_ASCII
# define CASEEQ(other,upper) \
(c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper))
-# elif C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-# define CASEEQ(other,upper) \
- (c_isupper (upper) ? (other) == (upper) || (other) == (upper) - 'A' + 'a' : (other) == (upper))
# else
# define CASEEQ(other,upper) \
(c_toupper (other) == (upper))
diff --git a/gettext-tools/libgettextpo/c-strncasecmp.c b/gettext-tools/libgettextpo/c-strncasecmp.c
index 972eb80..b98e368 100644
--- a/gettext-tools/libgettextpo/c-strncasecmp.c
+++ b/gettext-tools/libgettextpo/c-strncasecmp.c
@@ -1,5 +1,5 @@
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/c-strstr.c b/gettext-tools/libgettextpo/c-strstr.c
index c13cde2..c8bebe6 100644
--- a/gettext-tools/libgettextpo/c-strstr.c
+++ b/gettext-tools/libgettextpo/c-strstr.c
@@ -1,5 +1,5 @@
/* c-strstr.c -- substring search in C locale
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/c-strstr.h b/gettext-tools/libgettextpo/c-strstr.h
index bc7378b..4d44197 100644
--- a/gettext-tools/libgettextpo/c-strstr.h
+++ b/gettext-tools/libgettextpo/c-strstr.h
@@ -1,5 +1,5 @@
/* Searching in a string.
- Copyright (C) 2001-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/close.c b/gettext-tools/libgettextpo/close.c
index d7dcb3f..54d1f71 100644
--- a/gettext-tools/libgettextpo/close.c
+++ b/gettext-tools/libgettextpo/close.c
@@ -1,5 +1,5 @@
/* close replacement.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/concat-filename.c b/gettext-tools/libgettextpo/concat-filename.c
index 661312a..1c4e77a 100644
--- a/gettext-tools/libgettextpo/concat-filename.c
+++ b/gettext-tools/libgettextpo/concat-filename.c
@@ -1,5 +1,5 @@
/* Construct a full filename from a directory and a relative filename.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/concat-filename.h b/gettext-tools/libgettextpo/concat-filename.h
index 88f1cf7..e308744 100644
--- a/gettext-tools/libgettextpo/concat-filename.h
+++ b/gettext-tools/libgettextpo/concat-filename.h
@@ -1,5 +1,5 @@
/* Construct a full filename from a directory and a relative filename.
- Copyright (C) 2001-2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/config.charset b/gettext-tools/libgettextpo/config.charset
index 289bc44..f06d7e9 100644
--- a/gettext-tools/libgettextpo/config.charset
+++ b/gettext-tools/libgettextpo/config.charset
@@ -1,7 +1,7 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
-# Copyright (C) 2000-2004, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2004, 2006-2015 Free Software Foundation, Inc.
#
# 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
@@ -348,12 +348,10 @@ case "$os" in
#echo "sun_eu_greek ?" # what is this?
echo "UTF-8 UTF-8"
;;
- freebsd* | os2*)
+ freebsd*)
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
- # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
- # reuse FreeBSD's locale data for OS/2.
echo "C ASCII"
echo "US-ASCII ASCII"
for l in la_LN lt_LN; do
diff --git a/gettext-tools/libgettextpo/diffseq.h b/gettext-tools/libgettextpo/diffseq.h
index 02ef9f2..2a02651 100644
--- a/gettext-tools/libgettextpo/diffseq.h
+++ b/gettext-tools/libgettextpo/diffseq.h
@@ -1,6 +1,6 @@
/* Analyze differences between two vectors.
- Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2014 Free Software
+ Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -41,8 +41,8 @@
EQUAL A two-argument macro that tests two elements for
equality.
OFFSET A signed integer type sufficient to hold the
- difference between two indices. Usually
- something like ssize_t.
+ difference between two indices. Usually
+ something like ptrdiff_t.
EXTRA_CONTEXT_FIELDS Declarations of fields for 'struct context'.
NOTE_DELETE(ctxt, xoff) Record the removal of the object xvec[xoff].
NOTE_INSERT(ctxt, yoff) Record the insertion of the object yvec[yoff].
diff --git a/gettext-tools/libgettextpo/dosname.h b/gettext-tools/libgettextpo/dosname.h
index b92adfa..893baf6 100644
--- a/gettext-tools/libgettextpo/dosname.h
+++ b/gettext-tools/libgettextpo/dosname.h
@@ -1,6 +1,6 @@
/* File names on MS-DOS/Windows systems.
- Copyright (C) 2000-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/errno.in.h b/gettext-tools/libgettextpo/errno.in.h
index 832afc8..affbb97 100644
--- a/gettext-tools/libgettextpo/errno.in.h
+++ b/gettext-tools/libgettextpo/errno.in.h
@@ -1,6 +1,6 @@
/* A POSIX-like <errno.h>.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/error-progname.c b/gettext-tools/libgettextpo/error-progname.c
index 189bbd5..525d11f 100644
--- a/gettext-tools/libgettextpo/error-progname.c
+++ b/gettext-tools/libgettextpo/error-progname.c
@@ -1,5 +1,5 @@
/* Use of program name in error-reporting functions.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/error-progname.h b/gettext-tools/libgettextpo/error-progname.h
index 77ae822..f16107a 100644
--- a/gettext-tools/libgettextpo/error-progname.h
+++ b/gettext-tools/libgettextpo/error-progname.h
@@ -1,5 +1,5 @@
/* Use of program name in error-reporting functions.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/error.c b/gettext-tools/libgettextpo/error.c
index 18ff5db..0ac7695 100644
--- a/gettext-tools/libgettextpo/error.c
+++ b/gettext-tools/libgettextpo/error.c
@@ -1,5 +1,5 @@
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2007, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@ -379,10 +379,10 @@ error_at_line (int status, int errnum, const char *file_name,
}
#if _LIBC
- __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
+ __fxprintf (NULL, file_name != NULL ? "%s:%u: " : " ",
file_name, line_number);
#else
- fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
+ fprintf (stderr, file_name != NULL ? "%s:%u: " : " ",
file_name, line_number);
#endif
diff --git a/gettext-tools/libgettextpo/error.h b/gettext-tools/libgettextpo/error.h
index 873d9aa..c5b3736 100644
--- a/gettext-tools/libgettextpo/error.h
+++ b/gettext-tools/libgettextpo/error.h
@@ -1,5 +1,5 @@
/* Declaration for error-reporting function
- Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
+ Copyright (C) 1995-1997, 2003, 2006, 2008-2015 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
@@ -31,6 +31,16 @@
# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
#endif
+/* On mingw, the flavor of printf depends on whether the extensions module
+ * is in use; the check for <stdio.h> determines the witness macro. */
+#ifndef _GL_ATTRIBUTE_SPEC_PRINTF
+# if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_SPEC_PRINTF __gnu_printf__
+# else
+# define _GL_ATTRIBUTE_SPEC_PRINTF __printf__
+# endif
+#endif
+
#if GNULIB_REPLACE_ERROR
# undef error_print_progname
# undef error_message_count
@@ -49,11 +59,11 @@ extern "C" {
If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */
extern void error (int __status, int __errnum, const char *__format, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 3, 4));
extern void error_at_line (int __status, int __errnum, const char *__fname,
unsigned int __lineno, const char *__format, ...)
- _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6));
+ _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF, 5, 6));
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
diff --git a/gettext-tools/libgettextpo/exitfail.c b/gettext-tools/libgettextpo/exitfail.c
index 609afc5..8035b89 100644
--- a/gettext-tools/libgettextpo/exitfail.c
+++ b/gettext-tools/libgettextpo/exitfail.c
@@ -1,6 +1,6 @@
/* Failure exit status
- Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/exitfail.h b/gettext-tools/libgettextpo/exitfail.h
index 2b1daca..5f09786 100644
--- a/gettext-tools/libgettextpo/exitfail.h
+++ b/gettext-tools/libgettextpo/exitfail.h
@@ -1,6 +1,6 @@
/* Failure exit status
- Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/exported.sh.in b/gettext-tools/libgettextpo/exported.sh.in
index 89e4008..4d5a3a4 100644
--- a/gettext-tools/libgettextpo/exported.sh.in
+++ b/gettext-tools/libgettextpo/exported.sh.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/libgettextpo/fcntl.in.h b/gettext-tools/libgettextpo/fcntl.in.h
index f63cd6a..e288018 100644
--- a/gettext-tools/libgettextpo/fcntl.in.h
+++ b/gettext-tools/libgettextpo/fcntl.in.h
@@ -1,6 +1,6 @@
/* Like <fcntl.h>, but with non-working flags defined to 0.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/fd-hook.c b/gettext-tools/libgettextpo/fd-hook.c
index 0171cc6..b1488c4 100644
--- a/gettext-tools/libgettextpo/fd-hook.c
+++ b/gettext-tools/libgettextpo/fd-hook.c
@@ -1,5 +1,5 @@
/* Hook for making making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/fd-hook.h b/gettext-tools/libgettextpo/fd-hook.h
index 1aa264e..bdb9aef 100644
--- a/gettext-tools/libgettextpo/fd-hook.h
+++ b/gettext-tools/libgettextpo/fd-hook.h
@@ -1,5 +1,5 @@
/* Hook for making making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/libgettextpo/file-ostream.c b/gettext-tools/libgettextpo/file-ostream.c
index 7a7c5d5..b299429 100644
--- a/gettext-tools/libgettextpo/file-ostream.c
+++ b/gettext-tools/libgettextpo/file-ostream.c
@@ -2,7 +2,7 @@
#line 1 "file-ostream.oo.c"
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/file-ostream.h b/gettext-tools/libgettextpo/file-ostream.h
index 44e794c..f156871 100644
--- a/gettext-tools/libgettextpo/file-ostream.h
+++ b/gettext-tools/libgettextpo/file-ostream.h
@@ -2,7 +2,7 @@
#line 1 "file-ostream.oo.h"
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/file-ostream.oo.c b/gettext-tools/libgettextpo/file-ostream.oo.c
index e5884bc..a500825 100644
--- a/gettext-tools/libgettextpo/file-ostream.oo.c
+++ b/gettext-tools/libgettextpo/file-ostream.oo.c
@@ -1,5 +1,5 @@
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/file-ostream.oo.h b/gettext-tools/libgettextpo/file-ostream.oo.h
index 6da1dbd..395cef7 100644
--- a/gettext-tools/libgettextpo/file-ostream.oo.h
+++ b/gettext-tools/libgettextpo/file-ostream.oo.h
@@ -1,5 +1,5 @@
/* Output stream referring to an stdio FILE.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/filename.h b/gettext-tools/libgettextpo/filename.h
index 96dbaaa..4576993 100644
--- a/gettext-tools/libgettextpo/filename.h
+++ b/gettext-tools/libgettextpo/filename.h
@@ -1,5 +1,5 @@
/* Basic filename support macros.
- Copyright (C) 2001-2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/float+.h b/gettext-tools/libgettextpo/float+.h
index 5ff1511..e6aaa92 100644
--- a/gettext-tools/libgettextpo/float+.h
+++ b/gettext-tools/libgettextpo/float+.h
@@ -1,5 +1,5 @@
/* Supplemental information about the floating-point formats.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/float.c b/gettext-tools/libgettextpo/float.c
index b7c321d..dac9f88 100644
--- a/gettext-tools/libgettextpo/float.c
+++ b/gettext-tools/libgettextpo/float.c
@@ -1,5 +1,5 @@
/* Auxiliary definitions for <float.h>.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/float.in.h b/gettext-tools/libgettextpo/float.in.h
index db809f8..3bb3826 100644
--- a/gettext-tools/libgettextpo/float.in.h
+++ b/gettext-tools/libgettextpo/float.in.h
@@ -1,6 +1,6 @@
/* A correct <float.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/fopen.c b/gettext-tools/libgettextpo/fopen.c
index 8fead5a..139ede2 100644
--- a/gettext-tools/libgettextpo/fopen.c
+++ b/gettext-tools/libgettextpo/fopen.c
@@ -1,5 +1,5 @@
/* Open a stream to a file.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/fstat.c b/gettext-tools/libgettextpo/fstat.c
index ffcda9f..7a0521f 100644
--- a/gettext-tools/libgettextpo/fstat.c
+++ b/gettext-tools/libgettextpo/fstat.c
@@ -1,5 +1,5 @@
/* fstat() replacement.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/fstrcmp.c b/gettext-tools/libgettextpo/fstrcmp.c
index 9c73904..d40e6ef 100644
--- a/gettext-tools/libgettextpo/fstrcmp.c
+++ b/gettext-tools/libgettextpo/fstrcmp.c
@@ -1,5 +1,5 @@
/* Functions to make fuzzy comparisons between strings
- Copyright (C) 1988-1989, 1992-1993, 1995, 2001-2003, 2006, 2008-2014 Free
+ Copyright (C) 1988-1989, 1992-1993, 1995, 2001-2003, 2006, 2008-2015 Free
Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -23,7 +23,9 @@
#include <string.h>
#include <stdbool.h>
+#include <stddef.h>
#include <stdio.h>
+#include <stdint.h>
#include <stdlib.h>
#include <limits.h>
@@ -32,20 +34,16 @@
#include "minmax.h"
#include "xalloc.h"
-#ifndef uintptr_t
-# define uintptr_t unsigned long
-#endif
-
#define ELEMENT char
#define EQUAL(x,y) ((x) == (y))
-#define OFFSET int
+#define OFFSET ptrdiff_t
#define EXTRA_CONTEXT_FIELDS \
/* The number of edits beyond which the computation can be aborted. */ \
- int edit_count_limit; \
+ ptrdiff_t edit_count_limit; \
/* The number of edits (= number of elements inserted, plus the number of \
elements deleted), temporarily minus edit_count_limit. */ \
- int edit_count;
+ ptrdiff_t edit_count;
#define NOTE_DELETE(ctxt, xoff) ctxt->edit_count++
#define NOTE_INSERT(ctxt, yoff) ctxt->edit_count++
#define EARLY_ABORT(ctxt) ctxt->edit_count > 0
@@ -61,8 +59,8 @@
already allocated memory, store the allocated memory per thread. Free
it only when the thread exits. */
-static gl_tls_key_t buffer_key; /* TLS key for a 'int *' */
-static gl_tls_key_t bufmax_key; /* TLS key for a 'size_t' */
+static gl_tls_key_t buffer_key; /* TLS key for a 'ptrdiff_t *' */
+static gl_tls_key_t bufmax_key; /* TLS key for a 'uintptr_t' */
static void
keys_init (void)
@@ -87,17 +85,22 @@ double
fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
{
struct context ctxt;
- int xvec_length = strlen (string1);
- int yvec_length = strlen (string2);
- int i;
+ size_t xvec_length = strlen (string1);
+ size_t yvec_length = strlen (string2);
+ size_t length_sum = xvec_length + yvec_length;
+ ptrdiff_t i;
- size_t fdiag_len;
- int *buffer;
- size_t bufmax;
+ ptrdiff_t fdiag_len;
+ ptrdiff_t *buffer;
+ uintptr_t bufmax;
/* short-circuit obvious comparisons */
if (xvec_length == 0 || yvec_length == 0) /* Prob: 1% */
- return (xvec_length == 0 && yvec_length == 0 ? 1.0 : 0.0);
+ return length_sum == 0;
+
+ if (! (xvec_length <= length_sum
+ && length_sum <= MIN (UINTPTR_MAX, PTRDIFF_MAX) - 3))
+ xalloc_die ();
if (lower_bound > 0)
{
@@ -117,9 +120,8 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
/ (xvec_length + yvec_length)
= 2 * min (xvec_length, yvec_length) / (xvec_length + yvec_length).
*/
- volatile double upper_bound =
- (double) (2 * MIN (xvec_length, yvec_length))
- / (xvec_length + yvec_length);
+ ptrdiff_t length_min = MIN (xvec_length, yvec_length);
+ volatile double upper_bound = 2.0 * length_min / length_sum;
if (upper_bound < lower_bound) /* Prob: 74% */
/* Return an arbitrary value < LOWER_BOUND. */
@@ -128,7 +130,7 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
#if CHAR_BIT <= 8
/* When X and Y are both small, avoid the overhead of setting up an
array of size 256. */
- if (xvec_length + yvec_length >= 20) /* Prob: 99% */
+ if (length_sum >= 20) /* Prob: 99% */
{
/* Compute a less quick upper bound.
Each edit is an insertion or deletion of a character, hence
@@ -148,8 +150,9 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
<= (xvec_length + yvec_length - sum_C | OCC(X,C) - OCC(Y,C) |)
/ (xvec_length + yvec_length).
*/
- int occ_diff[UCHAR_MAX + 1]; /* array C -> OCC(X,C) - OCC(Y,C) */
- int sum;
+ ptrdiff_t occ_diff[UCHAR_MAX + 1]; /* array C -> OCC(X,C) - OCC(Y,C) */
+ ptrdiff_t sum;
+ double dsum;
/* Determine the occurrence counts in X. */
memset (occ_diff, 0, sizeof (occ_diff));
@@ -162,11 +165,12 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
sum = 0;
for (i = 0; i <= UCHAR_MAX; i++)
{
- int d = occ_diff[i];
+ ptrdiff_t d = occ_diff[i];
sum += (d >= 0 ? d : -d);
}
- upper_bound = 1.0 - (double) sum / (xvec_length + yvec_length);
+ dsum = sum;
+ upper_bound = 1.0 - dsum / length_sum;
if (upper_bound < lower_bound) /* Prob: 66% */
/* Return an arbitrary value < LOWER_BOUND. */
@@ -180,10 +184,10 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
ctxt.yvec = string2;
/* Allocate memory for fdiag and bdiag from a thread-local pool. */
- fdiag_len = xvec_length + yvec_length + 3;
+ fdiag_len = length_sum + 3;
gl_once (keys_init_once, keys_init);
- buffer = (int *) gl_tls_get (buffer_key);
- bufmax = (size_t) (uintptr_t) gl_tls_get (bufmax_key);
+ buffer = gl_tls_get (buffer_key);
+ bufmax = (uintptr_t) gl_tls_get (bufmax_key);
if (fdiag_len > bufmax)
{
/* Need more memory. */
@@ -192,9 +196,8 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
bufmax = fdiag_len;
/* Calling xrealloc would be a waste: buffer's contents does not need
to be preserved. */
- if (buffer != NULL)
- free (buffer);
- buffer = (int *) xnmalloc (bufmax, 2 * sizeof (int));
+ free (buffer);
+ buffer = xnmalloc (bufmax, 2 * sizeof *buffer);
gl_tls_set (buffer_key, buffer);
gl_tls_set (bufmax_key, (void *) (uintptr_t) bufmax);
}
@@ -213,7 +216,7 @@ fstrcmp_bounded (const char *string1, const char *string2, double lower_bound)
rounding errors. */
ctxt.edit_count_limit =
(lower_bound < 1.0
- ? (int) ((xvec_length + yvec_length) * (1.0 - lower_bound + 0.000001))
+ ? (ptrdiff_t) (length_sum * (1.0 - lower_bound + 0.000001))
: 0);
/* Now do the main comparison algorithm */
diff --git a/gettext-tools/libgettextpo/fstrcmp.h b/gettext-tools/libgettextpo/fstrcmp.h
index e3d24fe..b2a240f 100644
--- a/gettext-tools/libgettextpo/fstrcmp.h
+++ b/gettext-tools/libgettextpo/fstrcmp.h
@@ -1,5 +1,5 @@
/* Fuzzy string comparison.
- Copyright (C) 1995, 2000, 2002-2003, 2006, 2008-2014 Free Software
+ Copyright (C) 1995, 2000, 2002-2003, 2006, 2008-2015 Free Software
Foundation, Inc.
This file was written by Peter Miller <pmiller@agso.gov.au>
diff --git a/gettext-tools/libgettextpo/fwriteerror.c b/gettext-tools/libgettextpo/fwriteerror.c
index 9d62e5c..8e7c3ea 100644
--- a/gettext-tools/libgettextpo/fwriteerror.c
+++ b/gettext-tools/libgettextpo/fwriteerror.c
@@ -1,5 +1,5 @@
/* Detect write error on a stream.
- Copyright (C) 2003-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/fwriteerror.h b/gettext-tools/libgettextpo/fwriteerror.h
index 6f7fedc..438f453 100644
--- a/gettext-tools/libgettextpo/fwriteerror.h
+++ b/gettext-tools/libgettextpo/fwriteerror.h
@@ -1,5 +1,5 @@
/* Detect write error on a stream.
- Copyright (C) 2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/gcd.c b/gettext-tools/libgettextpo/gcd.c
index e61b62e..414005e 100644
--- a/gettext-tools/libgettextpo/gcd.c
+++ b/gettext-tools/libgettextpo/gcd.c
@@ -1,5 +1,5 @@
/* Arithmetic.
- Copyright (C) 2001-2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/gcd.h b/gettext-tools/libgettextpo/gcd.h
index c356a66..56ce191 100644
--- a/gettext-tools/libgettextpo/gcd.h
+++ b/gettext-tools/libgettextpo/gcd.h
@@ -1,5 +1,5 @@
/* Arithmetic.
- Copyright (C) 2001-2002, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/getdelim.c b/gettext-tools/libgettextpo/getdelim.c
index e5714ba..88258e5 100644
--- a/gettext-tools/libgettextpo/getdelim.c
+++ b/gettext-tools/libgettextpo/getdelim.c
@@ -1,5 +1,5 @@
/* getdelim.c --- Implementation of replacement getdelim function.
- Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2014 Free Software
+ Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or
diff --git a/gettext-tools/libgettextpo/getline.c b/gettext-tools/libgettextpo/getline.c
index 5282e80..811c773 100644
--- a/gettext-tools/libgettextpo/getline.c
+++ b/gettext-tools/libgettextpo/getline.c
@@ -1,5 +1,5 @@
/* getline.c --- Implementation of replacement getline function.
- Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/gettext-tools/libgettextpo/gettext-po.c b/gettext-tools/libgettextpo/gettext-po.c
index 9eceb5b..ddcddd1 100644
--- a/gettext-tools/libgettextpo/gettext-po.c
+++ b/gettext-tools/libgettextpo/gettext-po.c
@@ -1,5 +1,5 @@
/* Public API for GNU gettext PO files.
- Copyright (C) 2003-2010 Free Software Foundation, Inc.
+ Copyright (C) 2003-2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/gettext-po.in.h b/gettext-tools/libgettextpo/gettext-po.in.h
index c190d8f..62898d5 100644
--- a/gettext-tools/libgettextpo/gettext-po.in.h
+++ b/gettext-tools/libgettextpo/gettext-po.in.h
@@ -1,5 +1,5 @@
/* Public API for GNU gettext PO files - contained in libgettextpo.
- Copyright (C) 2003-2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2003-2008, 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
@@ -28,7 +28,7 @@ extern "C" {
/* =========================== Meta Information ============================ */
/* Version number: (major<<16) + (minor<<8) + subminor */
-#define LIBGETTEXTPO_VERSION 0x001304
+#define LIBGETTEXTPO_VERSION 0x001307
extern int libgettextpo_version;
/* ================================= Types ================================= */
diff --git a/gettext-tools/libgettextpo/gettext.h b/gettext-tools/libgettextpo/gettext.h
index ac4d7d5..f37d586 100644
--- a/gettext-tools/libgettextpo/gettext.h
+++ b/gettext-tools/libgettextpo/gettext.h
@@ -1,5 +1,6 @@
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011, 2015 Free
+ Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/gettimeofday.c b/gettext-tools/libgettextpo/gettimeofday.c
index 8b2058e..e0e2e69 100644
--- a/gettext-tools/libgettextpo/gettimeofday.c
+++ b/gettext-tools/libgettextpo/gettimeofday.c
@@ -1,6 +1,6 @@
/* Provide gettimeofday for systems that don't have it or for which it's broken.
- Copyright (C) 2001-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/gl_anylinked_list1.h b/gettext-tools/libgettextpo/gl_anylinked_list1.h
new file mode 100644
index 0000000..aa336e3
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_anylinked_list1.h
@@ -0,0 +1,48 @@
+/* Sequential list data type implemented by a linked list.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Common code of gl_linked_list.c and gl_linkedhash_list.c. */
+
+/* -------------------------- gl_list_t Data Type -------------------------- */
+
+/* Concrete list node implementation, valid for this file only. */
+struct gl_list_node_impl
+{
+#if WITH_HASHTABLE
+ struct gl_hash_entry h; /* hash table entry fields; must be first */
+#endif
+ struct gl_list_node_impl *next;
+ struct gl_list_node_impl *prev;
+ const void *value;
+};
+
+/* Concrete gl_list_impl type, valid for this file only. */
+struct gl_list_impl
+{
+ struct gl_list_impl_base base;
+#if WITH_HASHTABLE
+ /* A hash table: managed as an array of collision lists. */
+ struct gl_hash_entry **table;
+ size_t table_size;
+#endif
+ /* A circular list anchored at root.
+ The first node is = root.next, the last node is = root.prev.
+ The root's value is unused. */
+ struct gl_list_node_impl root;
+ /* Number of list nodes, excluding the root. */
+ size_t count;
+};
diff --git a/gettext-tools/libgettextpo/gl_anylinked_list2.h b/gettext-tools/libgettextpo/gl_anylinked_list2.h
new file mode 100644
index 0000000..5ba2806
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_anylinked_list2.h
@@ -0,0 +1,1195 @@
+/* Sequential list data type implemented by a linked list.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* Common code of gl_linked_list.c and gl_linkedhash_list.c. */
+
+/* If the symbol SIGNAL_SAFE_LIST is defined, the code is compiled in such
+ a way that a gl_list_t data structure may be used from within a signal
+ handler. The operations allowed in the signal handler are:
+ gl_list_iterator, gl_list_iterator_next, gl_list_iterator_free.
+ The list and node fields that are therefore accessed from the signal handler
+ are:
+ list->root, node->next, node->value.
+ We are careful to make modifications to these fields only in an order
+ that maintains the consistency of the list data structure at any moment,
+ and we use 'volatile' assignments to prevent the compiler from reordering
+ such assignments. */
+#ifdef SIGNAL_SAFE_LIST
+# define ASYNCSAFE(type) *(volatile type *)&
+#else
+# define ASYNCSAFE(type)
+#endif
+
+/* -------------------------- gl_list_t Data Type -------------------------- */
+
+static gl_list_t
+gl_linked_nx_create_empty (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates)
+{
+ struct gl_list_impl *list =
+ (struct gl_list_impl *) malloc (sizeof (struct gl_list_impl));
+
+ if (list == NULL)
+ return NULL;
+
+ list->base.vtable = implementation;
+ list->base.equals_fn = equals_fn;
+ list->base.hashcode_fn = hashcode_fn;
+ list->base.dispose_fn = dispose_fn;
+ list->base.allow_duplicates = allow_duplicates;
+#if WITH_HASHTABLE
+ list->table_size = 11;
+ list->table =
+ (gl_hash_entry_t *) calloc (list->table_size, sizeof (gl_hash_entry_t));
+ if (list->table == NULL)
+ goto fail;
+#endif
+ list->root.next = &list->root;
+ list->root.prev = &list->root;
+ list->count = 0;
+
+ return list;
+
+#if WITH_HASHTABLE
+ fail:
+ free (list);
+ return NULL;
+#endif
+}
+
+static gl_list_t
+gl_linked_nx_create (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents)
+{
+ struct gl_list_impl *list =
+ (struct gl_list_impl *) malloc (sizeof (struct gl_list_impl));
+ gl_list_node_t tail;
+
+ if (list == NULL)
+ return NULL;
+
+ list->base.vtable = implementation;
+ list->base.equals_fn = equals_fn;
+ list->base.hashcode_fn = hashcode_fn;
+ list->base.dispose_fn = dispose_fn;
+ list->base.allow_duplicates = allow_duplicates;
+#if WITH_HASHTABLE
+ {
+ size_t estimate = xsum (count, count / 2); /* 1.5 * count */
+ if (estimate < 10)
+ estimate = 10;
+ list->table_size = next_prime (estimate);
+ if (size_overflow_p (xtimes (list->table_size, sizeof (gl_hash_entry_t))))
+ goto fail1;
+ list->table =
+ (gl_hash_entry_t *) calloc (list->table_size, sizeof (gl_hash_entry_t));
+ if (list->table == NULL)
+ goto fail1;
+ }
+#endif
+ list->count = count;
+ tail = &list->root;
+ for (; count > 0; contents++, count--)
+ {
+ gl_list_node_t node =
+ (struct gl_list_node_impl *) malloc (sizeof (struct gl_list_node_impl));
+
+ if (node == NULL)
+ goto fail2;
+
+ node->value = *contents;
+#if WITH_HASHTABLE
+ node->h.hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (node->value)
+ : (size_t)(uintptr_t) node->value);
+
+ /* Add node to the hash table. */
+ if (add_to_bucket (list, node) < 0)
+ {
+ free (node);
+ goto fail2;
+ }
+#endif
+
+ /* Add node to the list. */
+ node->prev = tail;
+ tail->next = node;
+ tail = node;
+ }
+ tail->next = &list->root;
+ list->root.prev = tail;
+
+ return list;
+
+ fail2:
+ {
+ gl_list_node_t node;
+
+ for (node = tail; node != &list->root; )
+ {
+ gl_list_node_t prev = node->prev;
+
+ free (node);
+ node = prev;
+ }
+ }
+#if WITH_HASHTABLE
+ free (list->table);
+ fail1:
+#endif
+ free (list);
+ return NULL;
+}
+
+static size_t _GL_ATTRIBUTE_PURE
+gl_linked_size (gl_list_t list)
+{
+ return list->count;
+}
+
+static const void * _GL_ATTRIBUTE_PURE
+gl_linked_node_value (gl_list_t list, gl_list_node_t node)
+{
+ return node->value;
+}
+
+static int
+gl_linked_node_nx_set_value (gl_list_t list, gl_list_node_t node,
+ const void *elt)
+{
+#if WITH_HASHTABLE
+ if (elt != node->value)
+ {
+ size_t new_hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (elt)
+ : (size_t)(uintptr_t) elt);
+
+ if (new_hashcode != node->h.hashcode)
+ {
+ remove_from_bucket (list, node);
+ node->value = elt;
+ node->h.hashcode = new_hashcode;
+ if (add_to_bucket (list, node) < 0)
+ {
+ /* Out of memory. We removed node from a bucket but cannot add
+ it to another bucket. In order to avoid inconsistencies, we
+ must remove node entirely from the list. */
+ gl_list_node_t before_removed = node->prev;
+ gl_list_node_t after_removed = node->next;
+ ASYNCSAFE(gl_list_node_t) before_removed->next = after_removed;
+ after_removed->prev = before_removed;
+ list->count--;
+ free (node);
+ return -1;
+ }
+ }
+ else
+ node->value = elt;
+ }
+#else
+ node->value = elt;
+#endif
+ return 0;
+}
+
+static gl_list_node_t _GL_ATTRIBUTE_PURE
+gl_linked_next_node (gl_list_t list, gl_list_node_t node)
+{
+ return (node->next != &list->root ? node->next : NULL);
+}
+
+static gl_list_node_t _GL_ATTRIBUTE_PURE
+gl_linked_previous_node (gl_list_t list, gl_list_node_t node)
+{
+ return (node->prev != &list->root ? node->prev : NULL);
+}
+
+static const void * _GL_ATTRIBUTE_PURE
+gl_linked_get_at (gl_list_t list, size_t position)
+{
+ size_t count = list->count;
+ gl_list_node_t node;
+
+ if (!(position < count))
+ /* Invalid argument. */
+ abort ();
+ /* Here we know count > 0. */
+ if (position <= ((count - 1) / 2))
+ {
+ node = list->root.next;
+ for (; position > 0; position--)
+ node = node->next;
+ }
+ else
+ {
+ position = count - 1 - position;
+ node = list->root.prev;
+ for (; position > 0; position--)
+ node = node->prev;
+ }
+ return node->value;
+}
+
+static gl_list_node_t
+gl_linked_nx_set_at (gl_list_t list, size_t position, const void *elt)
+{
+ size_t count = list->count;
+ gl_list_node_t node;
+
+ if (!(position < count))
+ /* Invalid argument. */
+ abort ();
+ /* Here we know count > 0. */
+ if (position <= ((count - 1) / 2))
+ {
+ node = list->root.next;
+ for (; position > 0; position--)
+ node = node->next;
+ }
+ else
+ {
+ position = count - 1 - position;
+ node = list->root.prev;
+ for (; position > 0; position--)
+ node = node->prev;
+ }
+#if WITH_HASHTABLE
+ if (elt != node->value)
+ {
+ size_t new_hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (elt)
+ : (size_t)(uintptr_t) elt);
+
+ if (new_hashcode != node->h.hashcode)
+ {
+ remove_from_bucket (list, node);
+ node->value = elt;
+ node->h.hashcode = new_hashcode;
+ if (add_to_bucket (list, node) < 0)
+ {
+ /* Out of memory. We removed node from a bucket but cannot add
+ it to another bucket. In order to avoid inconsistencies, we
+ must remove node entirely from the list. */
+ gl_list_node_t before_removed = node->prev;
+ gl_list_node_t after_removed = node->next;
+ ASYNCSAFE(gl_list_node_t) before_removed->next = after_removed;
+ after_removed->prev = before_removed;
+ list->count--;
+ free (node);
+ return NULL;
+ }
+ }
+ else
+ node->value = elt;
+ }
+#else
+ node->value = elt;
+#endif
+ return node;
+}
+
+static gl_list_node_t _GL_ATTRIBUTE_PURE
+gl_linked_search_from_to (gl_list_t list, size_t start_index, size_t end_index,
+ const void *elt)
+{
+ size_t count = list->count;
+
+ if (!(start_index <= end_index && end_index <= count))
+ /* Invalid arguments. */
+ abort ();
+ {
+#if WITH_HASHTABLE
+ size_t hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (elt)
+ : (size_t)(uintptr_t) elt);
+ size_t bucket = hashcode % list->table_size;
+ gl_listelement_equals_fn equals = list->base.equals_fn;
+
+ if (!list->base.allow_duplicates)
+ {
+ /* Look for the first match in the hash bucket. */
+ gl_list_node_t found = NULL;
+ gl_list_node_t node;
+
+ for (node = (gl_list_node_t) list->table[bucket];
+ node != NULL;
+ node = (gl_list_node_t) node->h.hash_next)
+ if (node->h.hashcode == hashcode
+ && (equals != NULL
+ ? equals (elt, node->value)
+ : elt == node->value))
+ {
+ found = node;
+ break;
+ }
+ if (start_index > 0)
+ /* Look whether found's index is < start_index. */
+ for (node = list->root.next; ; node = node->next)
+ {
+ if (node == found)
+ return NULL;
+ if (--start_index == 0)
+ break;
+ }
+ if (end_index < count)
+ /* Look whether found's index is >= end_index. */
+ {
+ end_index = count - end_index;
+ for (node = list->root.prev; ; node = node->prev)
+ {
+ if (node == found)
+ return NULL;
+ if (--end_index == 0)
+ break;
+ }
+ }
+ return found;
+ }
+ else
+ {
+ /* Look whether there is more than one match in the hash bucket. */
+ bool multiple_matches = false;
+ gl_list_node_t first_match = NULL;
+ gl_list_node_t node;
+
+ for (node = (gl_list_node_t) list->table[bucket];
+ node != NULL;
+ node = (gl_list_node_t) node->h.hash_next)
+ if (node->h.hashcode == hashcode
+ && (equals != NULL
+ ? equals (elt, node->value)
+ : elt == node->value))
+ {
+ if (first_match == NULL)
+ first_match = node;
+ else
+ {
+ multiple_matches = true;
+ break;
+ }
+ }
+ if (multiple_matches)
+ {
+ /* We need the match with the smallest index. But we don't have
+ a fast mapping node -> index. So we have to walk the list. */
+ end_index -= start_index;
+ node = list->root.next;
+ for (; start_index > 0; start_index--)
+ node = node->next;
+
+ for (;
+ end_index > 0;
+ node = node->next, end_index--)
+ if (node->h.hashcode == hashcode
+ && (equals != NULL
+ ? equals (elt, node->value)
+ : elt == node->value))
+ return node;
+ /* The matches must have all been at indices < start_index or
+ >= end_index. */
+ return NULL;
+ }
+ else
+ {
+ if (start_index > 0)
+ /* Look whether first_match's index is < start_index. */
+ for (node = list->root.next; node != &list->root; node = node->next)
+ {
+ if (node == first_match)
+ return NULL;
+ if (--start_index == 0)
+ break;
+ }
+ if (end_index < list->count)
+ /* Look whether first_match's index is >= end_index. */
+ {
+ end_index = list->count - end_index;
+ for (node = list->root.prev; ; node = node->prev)
+ {
+ if (node == first_match)
+ return NULL;
+ if (--end_index == 0)
+ break;
+ }
+ }
+ return first_match;
+ }
+ }
+#else
+ gl_listelement_equals_fn equals = list->base.equals_fn;
+ gl_list_node_t node = list->root.next;
+
+ end_index -= start_index;
+ for (; start_index > 0; start_index--)
+ node = node->next;
+
+ if (equals != NULL)
+ {
+ for (; end_index > 0; node = node->next, end_index--)
+ if (equals (elt, node->value))
+ return node;
+ }
+ else
+ {
+ for (; end_index > 0; node = node->next, end_index--)
+ if (elt == node->value)
+ return node;
+ }
+ return NULL;
+#endif
+ }
+}
+
+static size_t _GL_ATTRIBUTE_PURE
+gl_linked_indexof_from_to (gl_list_t list, size_t start_index, size_t end_index,
+ const void *elt)
+{
+ size_t count = list->count;
+
+ if (!(start_index <= end_index && end_index <= count))
+ /* Invalid arguments. */
+ abort ();
+ {
+#if WITH_HASHTABLE
+ /* Here the hash table doesn't help much. It only allows us to minimize
+ the number of equals() calls, by looking up first the node and then
+ its index. */
+ size_t hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (elt)
+ : (size_t)(uintptr_t) elt);
+ size_t bucket = hashcode % list->table_size;
+ gl_listelement_equals_fn equals = list->base.equals_fn;
+ gl_list_node_t node;
+
+ /* First step: Look up the node. */
+ if (!list->base.allow_duplicates)
+ {
+ /* Look for the first match in the hash bucket. */
+ for (node = (gl_list_node_t) list->table[bucket];
+ node != NULL;
+ node = (gl_list_node_t) node->h.hash_next)
+ if (node->h.hashcode == hashcode
+ && (equals != NULL
+ ? equals (elt, node->value)
+ : elt == node->value))
+ break;
+ }
+ else
+ {
+ /* Look whether there is more than one match in the hash bucket. */
+ bool multiple_matches = false;
+ gl_list_node_t first_match = NULL;
+
+ for (node = (gl_list_node_t) list->table[bucket];
+ node != NULL;
+ node = (gl_list_node_t) node->h.hash_next)
+ if (node->h.hashcode == hashcode
+ && (equals != NULL
+ ? equals (elt, node->value)
+ : elt == node->value))
+ {
+ if (first_match == NULL)
+ first_match = node;
+ else
+ {
+ multiple_matches = true;
+ break;
+ }
+ }
+ if (multiple_matches)
+ {
+ /* We need the match with the smallest index. But we don't have
+ a fast mapping node -> index. So we have to walk the list. */
+ size_t index;
+
+ index = start_index;
+ node = list->root.next;
+ for (; start_index > 0; start_index--)
+ node = node->next;
+
+ for (;
+ index < end_index;
+ node = node->next, index++)
+ if (node->h.hashcode == hashcode
+ && (equals != NULL
+ ? equals (elt, node->value)
+ : elt == node->value))
+ return index;
+ /* The matches must have all been at indices < start_index or
+ >= end_index. */
+ return (size_t)(-1);
+ }
+ node = first_match;
+ }
+
+ /* Second step: Look up the index of the node. */
+ if (node == NULL)
+ return (size_t)(-1);
+ else
+ {
+ size_t index = 0;
+
+ for (; node->prev != &list->root; node = node->prev)
+ index++;
+
+ if (index >= start_index && index < end_index)
+ return index;
+ else
+ return (size_t)(-1);
+ }
+#else
+ gl_listelement_equals_fn equals = list->base.equals_fn;
+ size_t index = start_index;
+ gl_list_node_t node = list->root.next;
+
+ for (; start_index > 0; start_index--)
+ node = node->next;
+
+ if (equals != NULL)
+ {
+ for (;
+ index < end_index;
+ node = node->next, index++)
+ if (equals (elt, node->value))
+ return index;
+ }
+ else
+ {
+ for (;
+ index < end_index;
+ node = node->next, index++)
+ if (elt == node->value)
+ return index;
+ }
+ return (size_t)(-1);
+#endif
+ }
+}
+
+static gl_list_node_t
+gl_linked_nx_add_first (gl_list_t list, const void *elt)
+{
+ gl_list_node_t node =
+ (struct gl_list_node_impl *) malloc (sizeof (struct gl_list_node_impl));
+
+ if (node == NULL)
+ return NULL;
+
+ ASYNCSAFE(const void *) node->value = elt;
+#if WITH_HASHTABLE
+ node->h.hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (node->value)
+ : (size_t)(uintptr_t) node->value);
+
+ /* Add node to the hash table. */
+ if (add_to_bucket (list, node) < 0)
+ {
+ free (node);
+ return NULL;
+ }
+#endif
+
+ /* Add node to the list. */
+ node->prev = &list->root;
+ ASYNCSAFE(gl_list_node_t) node->next = list->root.next;
+ node->next->prev = node;
+ ASYNCSAFE(gl_list_node_t) list->root.next = node;
+ list->count++;
+
+#if WITH_HASHTABLE
+ hash_resize_after_add (list);
+#endif
+
+ return node;
+}
+
+static gl_list_node_t
+gl_linked_nx_add_last (gl_list_t list, const void *elt)
+{
+ gl_list_node_t node =
+ (struct gl_list_node_impl *) malloc (sizeof (struct gl_list_node_impl));
+
+ if (node == NULL)
+ return NULL;
+
+ ASYNCSAFE(const void *) node->value = elt;
+#if WITH_HASHTABLE
+ node->h.hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (node->value)
+ : (size_t)(uintptr_t) node->value);
+
+ /* Add node to the hash table. */
+ if (add_to_bucket (list, node) < 0)
+ {
+ free (node);
+ return NULL;
+ }
+#endif
+
+ /* Add node to the list. */
+ ASYNCSAFE(gl_list_node_t) node->next = &list->root;
+ node->prev = list->root.prev;
+ ASYNCSAFE(gl_list_node_t) node->prev->next = node;
+ list->root.prev = node;
+ list->count++;
+
+#if WITH_HASHTABLE
+ hash_resize_after_add (list);
+#endif
+
+ return node;
+}
+
+static gl_list_node_t
+gl_linked_nx_add_before (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ gl_list_node_t new_node =
+ (struct gl_list_node_impl *) malloc (sizeof (struct gl_list_node_impl));
+
+ if (new_node == NULL)
+ return NULL;
+
+ ASYNCSAFE(const void *) new_node->value = elt;
+#if WITH_HASHTABLE
+ new_node->h.hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (new_node->value)
+ : (size_t)(uintptr_t) new_node->value);
+
+ /* Add new_node to the hash table. */
+ if (add_to_bucket (list, new_node) < 0)
+ {
+ free (new_node);
+ return NULL;
+ }
+#endif
+
+ /* Add new_node to the list. */
+ ASYNCSAFE(gl_list_node_t) new_node->next = node;
+ new_node->prev = node->prev;
+ ASYNCSAFE(gl_list_node_t) new_node->prev->next = new_node;
+ node->prev = new_node;
+ list->count++;
+
+#if WITH_HASHTABLE
+ hash_resize_after_add (list);
+#endif
+
+ return new_node;
+}
+
+static gl_list_node_t
+gl_linked_nx_add_after (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ gl_list_node_t new_node =
+ (struct gl_list_node_impl *) malloc (sizeof (struct gl_list_node_impl));
+
+ if (new_node == NULL)
+ return NULL;
+
+ ASYNCSAFE(const void *) new_node->value = elt;
+#if WITH_HASHTABLE
+ new_node->h.hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (new_node->value)
+ : (size_t)(uintptr_t) new_node->value);
+
+ /* Add new_node to the hash table. */
+ if (add_to_bucket (list, new_node) < 0)
+ {
+ free (new_node);
+ return NULL;
+ }
+#endif
+
+ /* Add new_node to the list. */
+ new_node->prev = node;
+ ASYNCSAFE(gl_list_node_t) new_node->next = node->next;
+ new_node->next->prev = new_node;
+ ASYNCSAFE(gl_list_node_t) node->next = new_node;
+ list->count++;
+
+#if WITH_HASHTABLE
+ hash_resize_after_add (list);
+#endif
+
+ return new_node;
+}
+
+static gl_list_node_t
+gl_linked_nx_add_at (gl_list_t list, size_t position, const void *elt)
+{
+ size_t count = list->count;
+ gl_list_node_t new_node;
+
+ if (!(position <= count))
+ /* Invalid argument. */
+ abort ();
+
+ new_node = (struct gl_list_node_impl *) malloc (sizeof (struct gl_list_node_impl));
+ if (new_node == NULL)
+ return NULL;
+
+ ASYNCSAFE(const void *) new_node->value = elt;
+#if WITH_HASHTABLE
+ new_node->h.hashcode =
+ (list->base.hashcode_fn != NULL
+ ? list->base.hashcode_fn (new_node->value)
+ : (size_t)(uintptr_t) new_node->value);
+
+ /* Add new_node to the hash table. */
+ if (add_to_bucket (list, new_node) < 0)
+ {
+ free (new_node);
+ return NULL;
+ }
+#endif
+
+ /* Add new_node to the list. */
+ if (position <= (count / 2))
+ {
+ gl_list_node_t node;
+
+ node = &list->root;
+ for (; position > 0; position--)
+ node = node->next;
+ new_node->prev = node;
+ ASYNCSAFE(gl_list_node_t) new_node->next = node->next;
+ new_node->next->prev = new_node;
+ ASYNCSAFE(gl_list_node_t) node->next = new_node;
+ }
+ else
+ {
+ gl_list_node_t node;
+
+ position = count - position;
+ node = &list->root;
+ for (; position > 0; position--)
+ node = node->prev;
+ ASYNCSAFE(gl_list_node_t) new_node->next = node;
+ new_node->prev = node->prev;
+ ASYNCSAFE(gl_list_node_t) new_node->prev->next = new_node;
+ node->prev = new_node;
+ }
+ list->count++;
+
+#if WITH_HASHTABLE
+ hash_resize_after_add (list);
+#endif
+
+ return new_node;
+}
+
+static bool
+gl_linked_remove_node (gl_list_t list, gl_list_node_t node)
+{
+ gl_list_node_t prev;
+ gl_list_node_t next;
+
+#if WITH_HASHTABLE
+ /* Remove node from the hash table. */
+ remove_from_bucket (list, node);
+#endif
+
+ /* Remove node from the list. */
+ prev = node->prev;
+ next = node->next;
+
+ ASYNCSAFE(gl_list_node_t) prev->next = next;
+ next->prev = prev;
+ list->count--;
+
+ if (list->base.dispose_fn != NULL)
+ list->base.dispose_fn (node->value);
+ free (node);
+ return true;
+}
+
+static bool
+gl_linked_remove_at (gl_list_t list, size_t position)
+{
+ size_t count = list->count;
+ gl_list_node_t removed_node;
+
+ if (!(position < count))
+ /* Invalid argument. */
+ abort ();
+ /* Here we know count > 0. */
+ if (position <= ((count - 1) / 2))
+ {
+ gl_list_node_t node;
+ gl_list_node_t after_removed;
+
+ node = &list->root;
+ for (; position > 0; position--)
+ node = node->next;
+ removed_node = node->next;
+ after_removed = node->next->next;
+ ASYNCSAFE(gl_list_node_t) node->next = after_removed;
+ after_removed->prev = node;
+ }
+ else
+ {
+ gl_list_node_t node;
+ gl_list_node_t before_removed;
+
+ position = count - 1 - position;
+ node = &list->root;
+ for (; position > 0; position--)
+ node = node->prev;
+ removed_node = node->prev;
+ before_removed = node->prev->prev;
+ node->prev = before_removed;
+ ASYNCSAFE(gl_list_node_t) before_removed->next = node;
+ }
+#if WITH_HASHTABLE
+ remove_from_bucket (list, removed_node);
+#endif
+ list->count--;
+
+ if (list->base.dispose_fn != NULL)
+ list->base.dispose_fn (removed_node->value);
+ free (removed_node);
+ return true;
+}
+
+static bool
+gl_linked_remove (gl_list_t list, const void *elt)
+{
+ gl_list_node_t node = gl_linked_search_from_to (list, 0, list->count, elt);
+
+ if (node != NULL)
+ return gl_linked_remove_node (list, node);
+ else
+ return false;
+}
+
+static void
+gl_linked_list_free (gl_list_t list)
+{
+ gl_listelement_dispose_fn dispose = list->base.dispose_fn;
+ gl_list_node_t node;
+
+ for (node = list->root.next; node != &list->root; )
+ {
+ gl_list_node_t next = node->next;
+ if (dispose != NULL)
+ dispose (node->value);
+ free (node);
+ node = next;
+ }
+#if WITH_HASHTABLE
+ free (list->table);
+#endif
+ free (list);
+}
+
+/* --------------------- gl_list_iterator_t Data Type --------------------- */
+
+static gl_list_iterator_t
+gl_linked_iterator (gl_list_t list)
+{
+ gl_list_iterator_t result;
+
+ result.vtable = list->base.vtable;
+ result.list = list;
+ result.p = list->root.next;
+ result.q = &list->root;
+#ifdef lint
+ result.i = 0;
+ result.j = 0;
+ result.count = 0;
+#endif
+
+ return result;
+}
+
+static gl_list_iterator_t
+gl_linked_iterator_from_to (gl_list_t list,
+ size_t start_index, size_t end_index)
+{
+ gl_list_iterator_t result;
+ size_t n1, n2, n3;
+
+ if (!(start_index <= end_index && end_index <= list->count))
+ /* Invalid arguments. */
+ abort ();
+ result.vtable = list->base.vtable;
+ result.list = list;
+ n1 = start_index;
+ n2 = end_index - start_index;
+ n3 = list->count - end_index;
+ /* Find the maximum among n1, n2, n3, so as to reduce the number of
+ loop iterations to n1 + n2 + n3 - max(n1,n2,n3). */
+ if (n1 > n2 && n1 > n3)
+ {
+ /* n1 is the maximum, use n2 and n3. */
+ gl_list_node_t node;
+ size_t i;
+
+ node = &list->root;
+ for (i = n3; i > 0; i--)
+ node = node->prev;
+ result.q = node;
+ for (i = n2; i > 0; i--)
+ node = node->prev;
+ result.p = node;
+ }
+ else if (n2 > n3)
+ {
+ /* n2 is the maximum, use n1 and n3. */
+ gl_list_node_t node;
+ size_t i;
+
+ node = list->root.next;
+ for (i = n1; i > 0; i--)
+ node = node->next;
+ result.p = node;
+
+ node = &list->root;
+ for (i = n3; i > 0; i--)
+ node = node->prev;
+ result.q = node;
+ }
+ else
+ {
+ /* n3 is the maximum, use n1 and n2. */
+ gl_list_node_t node;
+ size_t i;
+
+ node = list->root.next;
+ for (i = n1; i > 0; i--)
+ node = node->next;
+ result.p = node;
+ for (i = n2; i > 0; i--)
+ node = node->next;
+ result.q = node;
+ }
+
+#ifdef lint
+ result.i = 0;
+ result.j = 0;
+ result.count = 0;
+#endif
+
+ return result;
+}
+
+static bool
+gl_linked_iterator_next (gl_list_iterator_t *iterator,
+ const void **eltp, gl_list_node_t *nodep)
+{
+ if (iterator->p != iterator->q)
+ {
+ gl_list_node_t node = (gl_list_node_t) iterator->p;
+ *eltp = node->value;
+ if (nodep != NULL)
+ *nodep = node;
+ iterator->p = node->next;
+ return true;
+ }
+ else
+ return false;
+}
+
+static void
+gl_linked_iterator_free (gl_list_iterator_t *iterator)
+{
+}
+
+/* ---------------------- Sorted gl_list_t Data Type ---------------------- */
+
+static gl_list_node_t _GL_ATTRIBUTE_PURE
+gl_linked_sortedlist_search (gl_list_t list, gl_listelement_compar_fn compar,
+ const void *elt)
+{
+ gl_list_node_t node;
+
+ for (node = list->root.next; node != &list->root; node = node->next)
+ {
+ int cmp = compar (node->value, elt);
+
+ if (cmp > 0)
+ break;
+ if (cmp == 0)
+ return node;
+ }
+ return NULL;
+}
+
+static gl_list_node_t _GL_ATTRIBUTE_PURE
+gl_linked_sortedlist_search_from_to (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ size_t low, size_t high,
+ const void *elt)
+{
+ size_t count = list->count;
+
+ if (!(low <= high && high <= list->count))
+ /* Invalid arguments. */
+ abort ();
+
+ high -= low;
+ if (high > 0)
+ {
+ /* Here we know low < count. */
+ size_t position = low;
+ gl_list_node_t node;
+
+ if (position <= ((count - 1) / 2))
+ {
+ node = list->root.next;
+ for (; position > 0; position--)
+ node = node->next;
+ }
+ else
+ {
+ position = count - 1 - position;
+ node = list->root.prev;
+ for (; position > 0; position--)
+ node = node->prev;
+ }
+
+ do
+ {
+ int cmp = compar (node->value, elt);
+
+ if (cmp > 0)
+ break;
+ if (cmp == 0)
+ return node;
+ node = node->next;
+ }
+ while (--high > 0);
+ }
+ return NULL;
+}
+
+static size_t _GL_ATTRIBUTE_PURE
+gl_linked_sortedlist_indexof (gl_list_t list, gl_listelement_compar_fn compar,
+ const void *elt)
+{
+ gl_list_node_t node;
+ size_t index;
+
+ for (node = list->root.next, index = 0;
+ node != &list->root;
+ node = node->next, index++)
+ {
+ int cmp = compar (node->value, elt);
+
+ if (cmp > 0)
+ break;
+ if (cmp == 0)
+ return index;
+ }
+ return (size_t)(-1);
+}
+
+static size_t _GL_ATTRIBUTE_PURE
+gl_linked_sortedlist_indexof_from_to (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ size_t low, size_t high,
+ const void *elt)
+{
+ size_t count = list->count;
+
+ if (!(low <= high && high <= list->count))
+ /* Invalid arguments. */
+ abort ();
+
+ high -= low;
+ if (high > 0)
+ {
+ /* Here we know low < count. */
+ size_t index = low;
+ size_t position = low;
+ gl_list_node_t node;
+
+ if (position <= ((count - 1) / 2))
+ {
+ node = list->root.next;
+ for (; position > 0; position--)
+ node = node->next;
+ }
+ else
+ {
+ position = count - 1 - position;
+ node = list->root.prev;
+ for (; position > 0; position--)
+ node = node->prev;
+ }
+
+ do
+ {
+ int cmp = compar (node->value, elt);
+
+ if (cmp > 0)
+ break;
+ if (cmp == 0)
+ return index;
+ node = node->next;
+ index++;
+ }
+ while (--high > 0);
+ }
+ return (size_t)(-1);
+}
+
+static gl_list_node_t
+gl_linked_sortedlist_nx_add (gl_list_t list, gl_listelement_compar_fn compar,
+ const void *elt)
+{
+ gl_list_node_t node;
+
+ for (node = list->root.next; node != &list->root; node = node->next)
+ if (compar (node->value, elt) >= 0)
+ return gl_linked_nx_add_before (list, node, elt);
+ return gl_linked_nx_add_last (list, elt);
+}
+
+static bool
+gl_linked_sortedlist_remove (gl_list_t list, gl_listelement_compar_fn compar,
+ const void *elt)
+{
+ gl_list_node_t node;
+
+ for (node = list->root.next; node != &list->root; node = node->next)
+ {
+ int cmp = compar (node->value, elt);
+
+ if (cmp > 0)
+ break;
+ if (cmp == 0)
+ return gl_linked_remove_node (list, node);
+ }
+ return false;
+}
diff --git a/gettext-tools/libgettextpo/gl_linked_list.c b/gettext-tools/libgettextpo/gl_linked_list.c
new file mode 100644
index 0000000..b83e164
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_linked_list.c
@@ -0,0 +1,64 @@
+/* Sequential list data type implemented by a linked list.
+ Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "gl_linked_list.h"
+
+#include <stdlib.h>
+
+/* -------------------------- gl_list_t Data Type -------------------------- */
+
+/* Generic linked list code. */
+#include "gl_anylinked_list1.h"
+#include "gl_anylinked_list2.h"
+
+
+const struct gl_list_implementation gl_linked_list_implementation =
+ {
+ gl_linked_nx_create_empty,
+ gl_linked_nx_create,
+ gl_linked_size,
+ gl_linked_node_value,
+ gl_linked_node_nx_set_value,
+ gl_linked_next_node,
+ gl_linked_previous_node,
+ gl_linked_get_at,
+ gl_linked_nx_set_at,
+ gl_linked_search_from_to,
+ gl_linked_indexof_from_to,
+ gl_linked_nx_add_first,
+ gl_linked_nx_add_last,
+ gl_linked_nx_add_before,
+ gl_linked_nx_add_after,
+ gl_linked_nx_add_at,
+ gl_linked_remove_node,
+ gl_linked_remove_at,
+ gl_linked_remove,
+ gl_linked_list_free,
+ gl_linked_iterator,
+ gl_linked_iterator_from_to,
+ gl_linked_iterator_next,
+ gl_linked_iterator_free,
+ gl_linked_sortedlist_search,
+ gl_linked_sortedlist_search_from_to,
+ gl_linked_sortedlist_indexof,
+ gl_linked_sortedlist_indexof_from_to,
+ gl_linked_sortedlist_nx_add,
+ gl_linked_sortedlist_remove
+ };
diff --git a/gettext-tools/libgettextpo/gl_linked_list.h b/gettext-tools/libgettextpo/gl_linked_list.h
new file mode 100644
index 0000000..a7b7eec
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_linked_list.h
@@ -0,0 +1,34 @@
+/* Sequential list data type implemented by a linked list.
+ Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _GL_LINKED_LIST_H
+#define _GL_LINKED_LIST_H
+
+#include "gl_list.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern const struct gl_list_implementation gl_linked_list_implementation;
+#define GL_LINKED_LIST &gl_linked_list_implementation
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_LINKED_LIST_H */
diff --git a/gettext-tools/libgettextpo/gl_list.c b/gettext-tools/libgettextpo/gl_list.c
new file mode 100644
index 0000000..8793298
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_list.c
@@ -0,0 +1,3 @@
+#include <config.h>
+#define GL_LIST_INLINE _GL_EXTERN_INLINE
+#include "gl_list.h"
diff --git a/gettext-tools/libgettextpo/gl_list.h b/gettext-tools/libgettextpo/gl_list.h
new file mode 100644
index 0000000..a0c7d27
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_list.h
@@ -0,0 +1,841 @@
+/* Abstract sequential list data type. -*- coding: utf-8 -*-
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _GL_LIST_H
+#define _GL_LIST_H
+
+#include <stdbool.h>
+#include <stddef.h>
+
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef GL_LIST_INLINE
+# define GL_LIST_INLINE _GL_INLINE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* gl_list is an abstract list data type. It can contain any number of
+ objects ('void *' or 'const void *' pointers) in any given order.
+ Duplicates are allowed, but can optionally be forbidden.
+
+ There are several implementations of this list datatype, optimized for
+ different operations or for memory. You can start using the simplest list
+ implementation, GL_ARRAY_LIST, and switch to a different implementation
+ later, when you realize which operations are performed the most frequently.
+ The API of the different implementations is exactly the same; when
+ switching to a different implementation, you only have to change the
+ gl_list_create call.
+
+ The implementations are:
+ GL_ARRAY_LIST a growable array
+ GL_CARRAY_LIST a growable circular array
+ GL_LINKED_LIST a linked list
+ GL_AVLTREE_LIST a binary tree (AVL tree)
+ GL_RBTREE_LIST a binary tree (red-black tree)
+ GL_LINKEDHASH_LIST a hash table with a linked list
+ GL_AVLTREEHASH_LIST a hash table with a binary tree (AVL tree)
+ GL_RBTREEHASH_LIST a hash table with a binary tree (red-black tree)
+
+ The memory consumption is asymptotically the same: O(1) for every object
+ in the list. When looking more closely at the average memory consumed
+ for an object, GL_ARRAY_LIST is the most compact representation, and
+ GL_LINKEDHASH_LIST and GL_TREEHASH_LIST need more memory.
+
+ The guaranteed average performance of the operations is, for a list of
+ n elements:
+
+ Operation ARRAY LINKED TREE LINKEDHASH TREEHASH
+ CARRAY with|without with|without
+ duplicates duplicates
+
+ gl_list_size O(1) O(1) O(1) O(1) O(1)
+ gl_list_node_value O(1) O(1) O(1) O(1) O(1)
+ gl_list_node_set_value O(1) O(1) O(1) O(1) O((log n)²)/O(1)
+ gl_list_next_node O(1) O(1) O(log n) O(1) O(log n)
+ gl_list_previous_node O(1) O(1) O(log n) O(1) O(log n)
+ gl_list_get_at O(1) O(n) O(log n) O(n) O(log n)
+ gl_list_set_at O(1) O(n) O(log n) O(n) O((log n)²)/O(log n)
+ gl_list_search O(n) O(n) O(n) O(n)/O(1) O(log n)/O(1)
+ gl_list_search_from O(n) O(n) O(n) O(n)/O(1) O((log n)²)/O(log n)
+ gl_list_search_from_to O(n) O(n) O(n) O(n)/O(1) O((log n)²)/O(log n)
+ gl_list_indexof O(n) O(n) O(n) O(n) O(log n)
+ gl_list_indexof_from O(n) O(n) O(n) O(n) O((log n)²)/O(log n)
+ gl_list_indexof_from_to O(n) O(n) O(n) O(n) O((log n)²)/O(log n)
+ gl_list_add_first O(n)/O(1) O(1) O(log n) O(1) O((log n)²)/O(log n)
+ gl_list_add_last O(1) O(1) O(log n) O(1) O((log n)²)/O(log n)
+ gl_list_add_before O(n) O(1) O(log n) O(1) O((log n)²)/O(log n)
+ gl_list_add_after O(n) O(1) O(log n) O(1) O((log n)²)/O(log n)
+ gl_list_add_at O(n) O(n) O(log n) O(n) O((log n)²)/O(log n)
+ gl_list_remove_node O(n) O(1) O(log n) O(n)/O(1) O((log n)²)/O(log n)
+ gl_list_remove_at O(n) O(n) O(log n) O(n) O((log n)²)/O(log n)
+ gl_list_remove O(n) O(n) O(n) O(n)/O(1) O((log n)²)/O(log n)
+ gl_list_iterator O(1) O(1) O(log n) O(1) O(log n)
+ gl_list_iterator_from_to O(1) O(n) O(log n) O(n) O(log n)
+ gl_list_iterator_next O(1) O(1) O(log n) O(1) O(log n)
+ gl_sortedlist_search O(log n) O(n) O(log n) O(n) O(log n)
+ gl_sortedlist_search_from O(log n) O(n) O(log n) O(n) O(log n)
+ gl_sortedlist_indexof O(log n) O(n) O(log n) O(n) O(log n)
+ gl_sortedlist_indexof_fro O(log n) O(n) O(log n) O(n) O(log n)
+ gl_sortedlist_add O(n) O(n) O(log n) O(n) O((log n)²)/O(log n)
+ gl_sortedlist_remove O(n) O(n) O(log n) O(n) O((log n)²)/O(log n)
+ */
+
+/* -------------------------- gl_list_t Data Type -------------------------- */
+
+/* Type of function used to compare two elements.
+ NULL denotes pointer comparison. */
+typedef bool (*gl_listelement_equals_fn) (const void *elt1, const void *elt2);
+
+/* Type of function used to compute a hash code.
+ NULL denotes a function that depends only on the pointer itself. */
+typedef size_t (*gl_listelement_hashcode_fn) (const void *elt);
+
+/* Type of function used to dispose an element once it's removed from a list.
+ NULL denotes a no-op. */
+typedef void (*gl_listelement_dispose_fn) (const void *elt);
+
+struct gl_list_impl;
+/* Type representing an entire list. */
+typedef struct gl_list_impl * gl_list_t;
+
+struct gl_list_node_impl;
+/* Type representing the position of an element in the list, in a way that
+ is more adapted to the list implementation than a plain index.
+ Note: It is invalidated by insertions and removals! */
+typedef struct gl_list_node_impl * gl_list_node_t;
+
+struct gl_list_implementation;
+/* Type representing a list datatype implementation. */
+typedef const struct gl_list_implementation * gl_list_implementation_t;
+
+#if 0 /* Unless otherwise specified, these are defined inline below. */
+
+/* Create an empty list.
+ IMPLEMENTATION is one of GL_ARRAY_LIST, GL_CARRAY_LIST, GL_LINKED_LIST,
+ GL_AVLTREE_LIST, GL_RBTREE_LIST, GL_LINKEDHASH_LIST, GL_AVLTREEHASH_LIST,
+ GL_RBTREEHASH_LIST.
+ EQUALS_FN is an element comparison function or NULL.
+ HASHCODE_FN is an element hash code function or NULL.
+ DISPOSE_FN is an element disposal function or NULL.
+ ALLOW_DUPLICATES is false if duplicate elements shall not be allowed in
+ the list. The implementation may verify this at runtime. */
+/* declared in gl_xlist.h */
+extern gl_list_t gl_list_create_empty (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_t gl_list_nx_create_empty (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates);
+
+/* Create a list with given contents.
+ IMPLEMENTATION is one of GL_ARRAY_LIST, GL_CARRAY_LIST, GL_LINKED_LIST,
+ GL_AVLTREE_LIST, GL_RBTREE_LIST, GL_LINKEDHASH_LIST, GL_AVLTREEHASH_LIST,
+ GL_RBTREEHASH_LIST.
+ EQUALS_FN is an element comparison function or NULL.
+ HASHCODE_FN is an element hash code function or NULL.
+ DISPOSE_FN is an element disposal function or NULL.
+ ALLOW_DUPLICATES is false if duplicate elements shall not be allowed in
+ the list. The implementation may verify this at runtime.
+ COUNT is the number of initial elements.
+ CONTENTS[0..COUNT-1] is the initial contents. */
+/* declared in gl_xlist.h */
+extern gl_list_t gl_list_create (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_t gl_list_nx_create (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents);
+
+/* Return the current number of elements in a list. */
+extern size_t gl_list_size (gl_list_t list);
+
+/* Return the element value represented by a list node. */
+extern const void * gl_list_node_value (gl_list_t list, gl_list_node_t node);
+
+/* Replace the element value represented by a list node. */
+/* declared in gl_xlist.h */
+extern void gl_list_node_set_value (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+/* Likewise. Return 0 upon success, -1 upon out-of-memory. */
+extern int gl_list_node_nx_set_value (gl_list_t list, gl_list_node_t node,
+ const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Return the node immediately after the given node in the list, or NULL
+ if the given node is the last (rightmost) one in the list. */
+extern gl_list_node_t gl_list_next_node (gl_list_t list, gl_list_node_t node);
+
+/* Return the node immediately before the given node in the list, or NULL
+ if the given node is the first (leftmost) one in the list. */
+extern gl_list_node_t gl_list_previous_node (gl_list_t list, gl_list_node_t node);
+
+/* Return the element at a given position in the list.
+ POSITION must be >= 0 and < gl_list_size (list). */
+extern const void * gl_list_get_at (gl_list_t list, size_t position);
+
+/* Replace the element at a given position in the list.
+ POSITION must be >= 0 and < gl_list_size (list).
+ Return its node. */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_list_set_at (gl_list_t list, size_t position,
+ const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_list_nx_set_at (gl_list_t list, size_t position,
+ const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Search whether an element is already in the list.
+ Return its node if found, or NULL if not present in the list. */
+extern gl_list_node_t gl_list_search (gl_list_t list, const void *elt);
+
+/* Search whether an element is already in the list,
+ at a position >= START_INDEX.
+ Return its node if found, or NULL if not present in the list. */
+extern gl_list_node_t gl_list_search_from (gl_list_t list, size_t start_index,
+ const void *elt);
+
+/* Search whether an element is already in the list,
+ at a position >= START_INDEX and < END_INDEX.
+ Return its node if found, or NULL if not present in the list. */
+extern gl_list_node_t gl_list_search_from_to (gl_list_t list,
+ size_t start_index,
+ size_t end_index,
+ const void *elt);
+
+/* Search whether an element is already in the list.
+ Return its position if found, or (size_t)(-1) if not present in the list. */
+extern size_t gl_list_indexof (gl_list_t list, const void *elt);
+
+/* Search whether an element is already in the list,
+ at a position >= START_INDEX.
+ Return its position if found, or (size_t)(-1) if not present in the list. */
+extern size_t gl_list_indexof_from (gl_list_t list, size_t start_index,
+ const void *elt);
+
+/* Search whether an element is already in the list,
+ at a position >= START_INDEX and < END_INDEX.
+ Return its position if found, or (size_t)(-1) if not present in the list. */
+extern size_t gl_list_indexof_from_to (gl_list_t list,
+ size_t start_index, size_t end_index,
+ const void *elt);
+
+/* Add an element as the first element of the list.
+ Return its node. */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_list_add_first (gl_list_t list, const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_list_nx_add_first (gl_list_t list, const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Add an element as the last element of the list.
+ Return its node. */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_list_add_last (gl_list_t list, const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_list_nx_add_last (gl_list_t list, const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Add an element before a given element node of the list.
+ Return its node. */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_list_add_before (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_list_nx_add_before (gl_list_t list,
+ gl_list_node_t node,
+ const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Add an element after a given element node of the list.
+ Return its node. */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_list_add_after (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_list_nx_add_after (gl_list_t list, gl_list_node_t node,
+ const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Add an element at a given position in the list.
+ POSITION must be >= 0 and <= gl_list_size (list). */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_list_add_at (gl_list_t list, size_t position,
+ const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_list_nx_add_at (gl_list_t list, size_t position,
+ const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Remove an element from the list.
+ Return true. */
+extern bool gl_list_remove_node (gl_list_t list, gl_list_node_t node);
+
+/* Remove an element at a given position from the list.
+ POSITION must be >= 0 and < gl_list_size (list).
+ Return true. */
+extern bool gl_list_remove_at (gl_list_t list, size_t position);
+
+/* Search and remove an element from the list.
+ Return true if it was found and removed. */
+extern bool gl_list_remove (gl_list_t list, const void *elt);
+
+/* Free an entire list.
+ (But this call does not free the elements of the list.) */
+extern void gl_list_free (gl_list_t list);
+
+#endif /* End of inline and gl_xlist.h-defined functions. */
+
+/* --------------------- gl_list_iterator_t Data Type --------------------- */
+
+/* Functions for iterating through a list. */
+
+/* Type of an iterator that traverses a list.
+ This is a fixed-size struct, so that creation of an iterator doesn't need
+ memory allocation on the heap. */
+typedef struct
+{
+ /* For fast dispatch of gl_list_iterator_next. */
+ const struct gl_list_implementation *vtable;
+ /* For detecting whether the last returned element was removed. */
+ gl_list_t list;
+ size_t count;
+ /* Other, implementation-private fields. */
+ void *p; void *q;
+ size_t i; size_t j;
+} gl_list_iterator_t;
+
+#if 0 /* These are defined inline below. */
+
+/* Create an iterator traversing a list.
+ The list contents must not be modified while the iterator is in use,
+ except for replacing or removing the last returned element. */
+extern gl_list_iterator_t gl_list_iterator (gl_list_t list);
+
+/* Create an iterator traversing the element with indices i,
+ start_index <= i < end_index, of a list.
+ The list contents must not be modified while the iterator is in use,
+ except for replacing or removing the last returned element. */
+extern gl_list_iterator_t gl_list_iterator_from_to (gl_list_t list,
+ size_t start_index,
+ size_t end_index);
+
+/* If there is a next element, store the next element in *ELTP, store its
+ node in *NODEP if NODEP is non-NULL, advance the iterator and return true.
+ Otherwise, return false. */
+extern bool gl_list_iterator_next (gl_list_iterator_t *iterator,
+ const void **eltp, gl_list_node_t *nodep);
+
+/* Free an iterator. */
+extern void gl_list_iterator_free (gl_list_iterator_t *iterator);
+
+#endif /* End of inline functions. */
+
+/* ---------------------- Sorted gl_list_t Data Type ---------------------- */
+
+/* The following functions are for lists without duplicates where the
+ order is given by a sort criterion. */
+
+/* Type of function used to compare two elements. Same as for qsort().
+ NULL denotes pointer comparison. */
+typedef int (*gl_listelement_compar_fn) (const void *elt1, const void *elt2);
+
+#if 0 /* Unless otherwise specified, these are defined inline below. */
+
+/* Search whether an element is already in the list.
+ The list is assumed to be sorted with COMPAR.
+ Return its node if found, or NULL if not present in the list.
+ If the list contains several copies of ELT, the node of the leftmost one is
+ returned. */
+extern gl_list_node_t gl_sortedlist_search (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+
+/* Search whether an element is already in the list.
+ The list is assumed to be sorted with COMPAR.
+ Only list elements with indices >= START_INDEX and < END_INDEX are
+ considered; the implementation uses these bounds to minimize the number
+ of COMPAR invocations.
+ Return its node if found, or NULL if not present in the list.
+ If the list contains several copies of ELT, the node of the leftmost one is
+ returned. */
+extern gl_list_node_t gl_sortedlist_search_from_to (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ size_t start_index,
+ size_t end_index,
+ const void *elt);
+
+/* Search whether an element is already in the list.
+ The list is assumed to be sorted with COMPAR.
+ Return its position if found, or (size_t)(-1) if not present in the list.
+ If the list contains several copies of ELT, the position of the leftmost one
+ is returned. */
+extern size_t gl_sortedlist_indexof (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+
+/* Search whether an element is already in the list.
+ The list is assumed to be sorted with COMPAR.
+ Only list elements with indices >= START_INDEX and < END_INDEX are
+ considered; the implementation uses these bounds to minimize the number
+ of COMPAR invocations.
+ Return its position if found, or (size_t)(-1) if not present in the list.
+ If the list contains several copies of ELT, the position of the leftmost one
+ is returned. */
+extern size_t gl_sortedlist_indexof_from_to (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ size_t start_index,
+ size_t end_index,
+ const void *elt);
+
+/* Add an element at the appropriate position in the list.
+ The list is assumed to be sorted with COMPAR.
+ Return its node. */
+/* declared in gl_xlist.h */
+extern gl_list_node_t gl_sortedlist_add (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+/* Likewise. Return NULL upon out-of-memory. */
+extern gl_list_node_t gl_sortedlist_nx_add (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt)
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+ ;
+
+/* Search and remove an element from the list.
+ The list is assumed to be sorted with COMPAR.
+ Return true if it was found and removed.
+ If the list contains several copies of ELT, only the leftmost one is
+ removed. */
+extern bool gl_sortedlist_remove (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+
+#endif /* End of inline and gl_xlist.h-defined functions. */
+
+/* ------------------------ Implementation Details ------------------------ */
+
+struct gl_list_implementation
+{
+ /* gl_list_t functions. */
+ gl_list_t (*nx_create_empty) (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates);
+ gl_list_t (*nx_create) (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents);
+ size_t (*size) (gl_list_t list);
+ const void * (*node_value) (gl_list_t list, gl_list_node_t node);
+ int (*node_nx_set_value) (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+ gl_list_node_t (*next_node) (gl_list_t list, gl_list_node_t node);
+ gl_list_node_t (*previous_node) (gl_list_t list, gl_list_node_t node);
+ const void * (*get_at) (gl_list_t list, size_t position);
+ gl_list_node_t (*nx_set_at) (gl_list_t list, size_t position,
+ const void *elt);
+ gl_list_node_t (*search_from_to) (gl_list_t list, size_t start_index,
+ size_t end_index, const void *elt);
+ size_t (*indexof_from_to) (gl_list_t list, size_t start_index,
+ size_t end_index, const void *elt);
+ gl_list_node_t (*nx_add_first) (gl_list_t list, const void *elt);
+ gl_list_node_t (*nx_add_last) (gl_list_t list, const void *elt);
+ gl_list_node_t (*nx_add_before) (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+ gl_list_node_t (*nx_add_after) (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+ gl_list_node_t (*nx_add_at) (gl_list_t list, size_t position,
+ const void *elt);
+ bool (*remove_node) (gl_list_t list, gl_list_node_t node);
+ bool (*remove_at) (gl_list_t list, size_t position);
+ bool (*remove_elt) (gl_list_t list, const void *elt);
+ void (*list_free) (gl_list_t list);
+ /* gl_list_iterator_t functions. */
+ gl_list_iterator_t (*iterator) (gl_list_t list);
+ gl_list_iterator_t (*iterator_from_to) (gl_list_t list,
+ size_t start_index,
+ size_t end_index);
+ bool (*iterator_next) (gl_list_iterator_t *iterator,
+ const void **eltp, gl_list_node_t *nodep);
+ void (*iterator_free) (gl_list_iterator_t *iterator);
+ /* Sorted gl_list_t functions. */
+ gl_list_node_t (*sortedlist_search) (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+ gl_list_node_t (*sortedlist_search_from_to) (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ size_t start_index,
+ size_t end_index,
+ const void *elt);
+ size_t (*sortedlist_indexof) (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+ size_t (*sortedlist_indexof_from_to) (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ size_t start_index, size_t end_index,
+ const void *elt);
+ gl_list_node_t (*sortedlist_nx_add) (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+ bool (*sortedlist_remove) (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+};
+
+struct gl_list_impl_base
+{
+ const struct gl_list_implementation *vtable;
+ gl_listelement_equals_fn equals_fn;
+ gl_listelement_hashcode_fn hashcode_fn;
+ gl_listelement_dispose_fn dispose_fn;
+ bool allow_duplicates;
+};
+
+/* Define all functions of this file as accesses to the
+ struct gl_list_implementation. */
+
+GL_LIST_INLINE gl_list_t
+gl_list_nx_create_empty (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates)
+{
+ return implementation->nx_create_empty (implementation, equals_fn,
+ hashcode_fn, dispose_fn,
+ allow_duplicates);
+}
+
+GL_LIST_INLINE gl_list_t
+gl_list_nx_create (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents)
+{
+ return implementation->nx_create (implementation, equals_fn, hashcode_fn,
+ dispose_fn, allow_duplicates, count,
+ contents);
+}
+
+GL_LIST_INLINE size_t
+gl_list_size (gl_list_t list)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->size (list);
+}
+
+GL_LIST_INLINE const void *
+gl_list_node_value (gl_list_t list, gl_list_node_t node)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->node_value (list, node);
+}
+
+GL_LIST_INLINE int
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_node_nx_set_value (gl_list_t list, gl_list_node_t node,
+ const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->node_nx_set_value (list, node, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_list_next_node (gl_list_t list, gl_list_node_t node)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->next_node (list, node);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_list_previous_node (gl_list_t list, gl_list_node_t node)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->previous_node (list, node);
+}
+
+GL_LIST_INLINE const void *
+gl_list_get_at (gl_list_t list, size_t position)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->get_at (list, position);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_nx_set_at (gl_list_t list, size_t position, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->nx_set_at (list, position, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_list_search (gl_list_t list, const void *elt)
+{
+ size_t size = ((const struct gl_list_impl_base *) list)->vtable->size (list);
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->search_from_to (list, 0, size, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_list_search_from (gl_list_t list, size_t start_index, const void *elt)
+{
+ size_t size = ((const struct gl_list_impl_base *) list)->vtable->size (list);
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->search_from_to (list, start_index, size, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_list_search_from_to (gl_list_t list, size_t start_index, size_t end_index,
+ const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->search_from_to (list, start_index, end_index, elt);
+}
+
+GL_LIST_INLINE size_t
+gl_list_indexof (gl_list_t list, const void *elt)
+{
+ size_t size = ((const struct gl_list_impl_base *) list)->vtable->size (list);
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->indexof_from_to (list, 0, size, elt);
+}
+
+GL_LIST_INLINE size_t
+gl_list_indexof_from (gl_list_t list, size_t start_index, const void *elt)
+{
+ size_t size = ((const struct gl_list_impl_base *) list)->vtable->size (list);
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->indexof_from_to (list, start_index, size, elt);
+}
+
+GL_LIST_INLINE size_t
+gl_list_indexof_from_to (gl_list_t list, size_t start_index, size_t end_index,
+ const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->indexof_from_to (list, start_index, end_index, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_nx_add_first (gl_list_t list, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->nx_add_first (list, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_nx_add_last (gl_list_t list, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->nx_add_last (list, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_nx_add_before (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->nx_add_before (list, node, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_nx_add_after (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->nx_add_after (list, node, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_list_nx_add_at (gl_list_t list, size_t position, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->nx_add_at (list, position, elt);
+}
+
+GL_LIST_INLINE bool
+gl_list_remove_node (gl_list_t list, gl_list_node_t node)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->remove_node (list, node);
+}
+
+GL_LIST_INLINE bool
+gl_list_remove_at (gl_list_t list, size_t position)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->remove_at (list, position);
+}
+
+GL_LIST_INLINE bool
+gl_list_remove (gl_list_t list, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->remove_elt (list, elt);
+}
+
+GL_LIST_INLINE void
+gl_list_free (gl_list_t list)
+{
+ ((const struct gl_list_impl_base *) list)->vtable->list_free (list);
+}
+
+GL_LIST_INLINE gl_list_iterator_t
+gl_list_iterator (gl_list_t list)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->iterator (list);
+}
+
+GL_LIST_INLINE gl_list_iterator_t
+gl_list_iterator_from_to (gl_list_t list, size_t start_index, size_t end_index)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->iterator_from_to (list, start_index, end_index);
+}
+
+GL_LIST_INLINE bool
+gl_list_iterator_next (gl_list_iterator_t *iterator,
+ const void **eltp, gl_list_node_t *nodep)
+{
+ return iterator->vtable->iterator_next (iterator, eltp, nodep);
+}
+
+GL_LIST_INLINE void
+gl_list_iterator_free (gl_list_iterator_t *iterator)
+{
+ iterator->vtable->iterator_free (iterator);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_sortedlist_search (gl_list_t list, gl_listelement_compar_fn compar, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->sortedlist_search (list, compar, elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+gl_sortedlist_search_from_to (gl_list_t list, gl_listelement_compar_fn compar, size_t start_index, size_t end_index, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->sortedlist_search_from_to (list, compar, start_index, end_index,
+ elt);
+}
+
+GL_LIST_INLINE size_t
+gl_sortedlist_indexof (gl_list_t list, gl_listelement_compar_fn compar, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->sortedlist_indexof (list, compar, elt);
+}
+
+GL_LIST_INLINE size_t
+gl_sortedlist_indexof_from_to (gl_list_t list, gl_listelement_compar_fn compar, size_t start_index, size_t end_index, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->sortedlist_indexof_from_to (list, compar, start_index, end_index,
+ elt);
+}
+
+GL_LIST_INLINE gl_list_node_t
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ __attribute__ ((__warn_unused_result__))
+#endif
+gl_sortedlist_nx_add (gl_list_t list, gl_listelement_compar_fn compar, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->sortedlist_nx_add (list, compar, elt);
+}
+
+GL_LIST_INLINE bool
+gl_sortedlist_remove (gl_list_t list, gl_listelement_compar_fn compar, const void *elt)
+{
+ return ((const struct gl_list_impl_base *) list)->vtable
+ ->sortedlist_remove (list, compar, elt);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+_GL_INLINE_HEADER_END
+
+#endif /* _GL_LIST_H */
diff --git a/gettext-tools/libgettextpo/gl_xlist.c b/gettext-tools/libgettextpo/gl_xlist.c
new file mode 100644
index 0000000..fe3c893
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_xlist.c
@@ -0,0 +1,3 @@
+#include <config.h>
+#define GL_XLIST_INLINE _GL_EXTERN_INLINE
+#include "gl_xlist.h"
diff --git a/gettext-tools/libgettextpo/gl_xlist.h b/gettext-tools/libgettextpo/gl_xlist.h
new file mode 100644
index 0000000..7ea62c1
--- /dev/null
+++ b/gettext-tools/libgettextpo/gl_xlist.h
@@ -0,0 +1,177 @@
+/* Abstract sequential list data type, with out-of-memory checking.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2009.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _GL_XLIST_H
+#define _GL_XLIST_H
+
+#include "gl_list.h"
+#include "xalloc.h"
+
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef GL_XLIST_INLINE
+# define GL_XLIST_INLINE _GL_INLINE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* These functions are thin wrappers around the corresponding functions with
+ _nx_ infix from gl_list.h. Upon out-of-memory, they invoke xalloc_die (),
+ instead of returning an error indicator. */
+#if 0 /* These are defined inline below. */
+extern gl_list_t gl_list_create_empty (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates);
+extern gl_list_t gl_list_create (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents);
+extern void gl_list_node_set_value (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+extern gl_list_node_t gl_list_set_at (gl_list_t list, size_t position,
+ const void *elt);
+extern gl_list_node_t gl_list_add_first (gl_list_t list, const void *elt);
+extern gl_list_node_t gl_list_add_last (gl_list_t list, const void *elt);
+extern gl_list_node_t gl_list_add_before (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+extern gl_list_node_t gl_list_add_after (gl_list_t list, gl_list_node_t node,
+ const void *elt);
+extern gl_list_node_t gl_list_add_at (gl_list_t list, size_t position,
+ const void *elt);
+extern gl_list_node_t gl_sortedlist_add (gl_list_t list,
+ gl_listelement_compar_fn compar,
+ const void *elt);
+#endif
+
+GL_XLIST_INLINE gl_list_t
+gl_list_create_empty (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates)
+{
+ gl_list_t result =
+ gl_list_nx_create_empty (implementation, equals_fn, hashcode_fn, dispose_fn,
+ allow_duplicates);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_t
+gl_list_create (gl_list_implementation_t implementation,
+ gl_listelement_equals_fn equals_fn,
+ gl_listelement_hashcode_fn hashcode_fn,
+ gl_listelement_dispose_fn dispose_fn,
+ bool allow_duplicates,
+ size_t count, const void **contents)
+{
+ gl_list_t result =
+ gl_list_nx_create (implementation, equals_fn, hashcode_fn, dispose_fn,
+ allow_duplicates, count, contents);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE void
+gl_list_node_set_value (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ int result = gl_list_node_nx_set_value (list, node, elt);
+ if (result < 0)
+ xalloc_die ();
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_list_set_at (gl_list_t list, size_t position, const void *elt)
+{
+ gl_list_node_t result = gl_list_nx_set_at (list, position, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_list_add_first (gl_list_t list, const void *elt)
+{
+ gl_list_node_t result = gl_list_nx_add_first (list, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_list_add_last (gl_list_t list, const void *elt)
+{
+ gl_list_node_t result = gl_list_nx_add_last (list, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_list_add_before (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ gl_list_node_t result = gl_list_nx_add_before (list, node, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_list_add_after (gl_list_t list, gl_list_node_t node, const void *elt)
+{
+ gl_list_node_t result = gl_list_nx_add_after (list, node, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_list_add_at (gl_list_t list, size_t position, const void *elt)
+{
+ gl_list_node_t result = gl_list_nx_add_at (list, position, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+GL_XLIST_INLINE gl_list_node_t
+gl_sortedlist_add (gl_list_t list, gl_listelement_compar_fn compar,
+ const void *elt)
+{
+ gl_list_node_t result = gl_sortedlist_nx_add (list, compar, elt);
+ if (result == NULL)
+ xalloc_die ();
+ return result;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+_GL_INLINE_HEADER_END
+
+#endif /* _GL_XLIST_H */
diff --git a/gettext-tools/libgettextpo/glthread/lock.c b/gettext-tools/libgettextpo/glthread/lock.c
index 33c15a0..b64132a 100644
--- a/gettext-tools/libgettextpo/glthread/lock.c
+++ b/gettext-tools/libgettextpo/glthread/lock.c
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/glthread/lock.h b/gettext-tools/libgettextpo/glthread/lock.h
index 36096c4..cf3d0d9 100644
--- a/gettext-tools/libgettextpo/glthread/lock.h
+++ b/gettext-tools/libgettextpo/glthread/lock.h
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/glthread/threadlib.c b/gettext-tools/libgettextpo/glthread/threadlib.c
index 26870de..f01d351 100644
--- a/gettext-tools/libgettextpo/glthread/threadlib.c
+++ b/gettext-tools/libgettextpo/glthread/threadlib.c
@@ -1,5 +1,5 @@
/* Multithreading primitives.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/glthread/tls.c b/gettext-tools/libgettextpo/glthread/tls.c
index 971c72a..f1c0cd7 100644
--- a/gettext-tools/libgettextpo/glthread/tls.c
+++ b/gettext-tools/libgettextpo/glthread/tls.c
@@ -1,5 +1,5 @@
/* Thread-local storage in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/glthread/tls.h b/gettext-tools/libgettextpo/glthread/tls.h
index c0a56e4..cf53a2b 100644
--- a/gettext-tools/libgettextpo/glthread/tls.h
+++ b/gettext-tools/libgettextpo/glthread/tls.h
@@ -1,5 +1,5 @@
/* Thread-local storage in multithreaded situations.
- Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/gnulib-m4/gnulib-cache.m4 b/gettext-tools/libgettextpo/gnulib-m4/gnulib-cache.m4
index 50813d9..df20907 100644
--- a/gettext-tools/libgettextpo/gnulib-m4/gnulib-cache.m4
+++ b/gettext-tools/libgettextpo/gnulib-m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgnu --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gtpo basename c-ctype c-strcase c-strstr close error error-progname file-ostream filename fopen fstrcmp fwriteerror gcd getline gettext-h hash iconv libunistring-optional minmax open ostream progname relocatable-lib sigpipe stdbool stdio stdlib strchrnul strerror unilbrk/ulc-width-linebreaks unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf xalloc xconcat-filename xerror xmalloca xstriconv xvasprintf
+# gnulib-tool --import --local-dir=gnulib-local --lib=libgnu --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --makefile-name=Makefile.gnulib --no-conditional-dependencies --libtool --macro-prefix=gtpo basename c-ctype c-strcase c-strstr close error error-progname file-ostream filename fopen fstrcmp fwriteerror gcd getline gettext-h hash iconv libunistring-optional markup minmax open ostream progname relocatable-lib sigpipe stdbool stdio stdlib stpcpy stpncpy strchrnul strerror unictype/ctype-space unilbrk/ulc-width-linebreaks unistr/u16-mbtouc unistr/u8-mbtouc unistr/u8-mbtoucr unistr/u8-uctomb uniwidth/width unlocked-io vasprintf xalloc xconcat-filename xerror xmalloca xstriconv xvasprintf
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([../gnulib-local])
@@ -50,6 +50,7 @@ gl_MODULES([
hash
iconv
libunistring-optional
+ markup
minmax
open
ostream
@@ -59,8 +60,11 @@ gl_MODULES([
stdbool
stdio
stdlib
+ stpcpy
+ stpncpy
strchrnul
strerror
+ unictype/ctype-space
unilbrk/ulc-width-linebreaks
unistr/u16-mbtouc
unistr/u8-mbtouc
diff --git a/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4 b/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4
index fdccb60..2638835 100644
--- a/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4
+++ b/gettext-tools/libgettextpo/gnulib-m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,7 +37,11 @@ AC_DEFUN([gtpo_EARLY],
m4_pattern_allow([^gl_ES$])dnl a valid locale name
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+ # Pre-early section.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_PROG_AR_RANLIB])
+
AC_REQUIRE([AM_PROG_CC_C_O])
# Code from module absolute-header:
# Code from module alignof:
@@ -57,7 +61,6 @@ AC_DEFUN([gtpo_EARLY],
# Code from module error-progname:
# Code from module exitfail:
# Code from module extensions:
- AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
# Code from module extern-inline:
# Code from module fcntl-h:
# Code from module fd-hook:
@@ -85,10 +88,13 @@ AC_DEFUN([gtpo_EARLY],
# Code from module largefile:
AC_REQUIRE([AC_SYS_LARGEFILE])
# Code from module libunistring-optional:
+ # Code from module linked-list:
+ # Code from module list:
# Code from module localcharset:
# Code from module lock:
# Code from module malloc-posix:
# Code from module malloca:
+ # Code from module markup:
# Code from module mbrtowc:
# Code from module mbsinit:
# Code from module mbswidth:
@@ -130,6 +136,7 @@ AC_DEFUN([gtpo_EARLY],
# Code from module stdio:
# Code from module stdlib:
# Code from module stpcpy:
+ # Code from module stpncpy:
# Code from module strchrnul:
# Code from module streq:
# Code from module strerror:
@@ -149,6 +156,9 @@ AC_DEFUN([gtpo_EARLY],
# Code from module tls:
# Code from module uniconv/base:
# Code from module uniconv/u8-conv-from-enc:
+ # Code from module unictype/base:
+ # Code from module unictype/ctype-alpha:
+ # Code from module unictype/ctype-space:
# Code from module unilbrk/base:
# Code from module unilbrk/tables:
# Code from module unilbrk/u8-possible-linebreaks:
@@ -163,7 +173,9 @@ AC_DEFUN([gtpo_EARLY],
# Code from module unistr/u8-mbtouc:
# Code from module unistr/u8-mbtouc-unsafe:
# Code from module unistr/u8-mbtoucr:
+ # Code from module unistr/u8-next:
# Code from module unistr/u8-prev:
+ # Code from module unistr/u8-strmbtouc:
# Code from module unistr/u8-uctomb:
# Code from module unitypes:
# Code from module uniwidth/base:
@@ -179,6 +191,7 @@ AC_DEFUN([gtpo_EARLY],
# Code from module xalloc-die:
# Code from module xconcat-filename:
# Code from module xerror:
+ # Code from module xlist:
# Code from module xmalloca:
# Code from module xsize:
# Code from module xstriconv:
@@ -385,6 +398,12 @@ AC_DEFUN([gtpo_INIT],
gl_PREREQ_STPCPY
fi
gl_STRING_MODULE_INDICATOR([stpcpy])
+ gl_FUNC_STPNCPY
+ if test $HAVE_STPNCPY = 0 || test $REPLACE_STPNCPY = 1; then
+ AC_LIBOBJ([stpncpy])
+ gl_PREREQ_STPNCPY
+ fi
+ gl_STRING_MODULE_INDICATOR([stpncpy])
gl_FUNC_STRCHRNUL
if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then
AC_LIBOBJ([strchrnul])
@@ -430,15 +449,20 @@ AC_DEFUN([gtpo_INIT],
gl_THREADLIB
gl_HEADER_TIME_H
gl_TLS
- gl_LIBUNISTRING_LIBHEADER([0.9], [uniconv.h])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniconv.h])
gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-conv-from-enc])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [unictype.h])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unictype/ctype-alpha])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unictype/ctype-space])
gl_LIBUNISTRING_LIBHEADER([0.9.4], [unilbrk.h])
AC_REQUIRE([AC_C_INLINE])
- gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u8-possible-linebreaks])
- gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u8-width-linebreaks])
- gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/ulc-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unilbrk/u8-possible-linebreaks])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unilbrk/u8-width-linebreaks])
+ gl_LIBUNISTRING_MODULE([0.9.6], [unilbrk/ulc-width-linebreaks])
gl_UNISTD_H
- gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h])
gl_MODULE_INDICATOR([unistr/u16-mbtouc])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbtouc])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-check])
@@ -449,12 +473,14 @@ AC_DEFUN([gtpo_INIT],
gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-mbtouc-unsafe])
gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
+ gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-next])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
+ gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strmbtouc])
gl_MODULE_INDICATOR([unistr/u8-uctomb])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
- gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
- gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
- gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h])
+ gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h])
+ gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width])
gl_FUNC_GLIBC_UNLOCKED_IO
gl_FUNC_VASNPRINTF
gl_FUNC_VASPRINTF
@@ -665,6 +691,14 @@ AC_DEFUN([gtpo_FILE_LIST], [
lib/getline.c
lib/gettext.h
lib/gettimeofday.c
+ lib/gl_anylinked_list1.h
+ lib/gl_anylinked_list2.h
+ lib/gl_linked_list.c
+ lib/gl_linked_list.h
+ lib/gl_list.c
+ lib/gl_list.h
+ lib/gl_xlist.c
+ lib/gl_xlist.h
lib/glthread/lock.c
lib/glthread/lock.h
lib/glthread/threadlib.c
@@ -691,6 +725,8 @@ AC_DEFUN([gtpo_FILE_LIST], [
lib/malloca.c
lib/malloca.h
lib/malloca.valgrind
+ lib/markup.c
+ lib/markup.h
lib/mbrtowc.c
lib/mbsinit.c
lib/mbswidth.c
@@ -735,6 +771,7 @@ AC_DEFUN([gtpo_FILE_LIST], [
lib/stdio.in.h
lib/stdlib.in.h
lib/stpcpy.c
+ lib/stpncpy.c
lib/str-two-way.h
lib/strchrnul.c
lib/strchrnul.valgrind
@@ -756,6 +793,12 @@ AC_DEFUN([gtpo_FILE_LIST], [
lib/time.in.h
lib/uniconv.in.h
lib/uniconv/u8-conv-from-enc.c
+ lib/unictype.in.h
+ lib/unictype/bitmap.h
+ lib/unictype/ctype_alpha.c
+ lib/unictype/ctype_alpha.h
+ lib/unictype/ctype_space.c
+ lib/unictype/ctype_space.h
lib/unilbrk.in.h
lib/unilbrk/lbrkprop1.h
lib/unilbrk/lbrkprop2.h
@@ -778,7 +821,9 @@ AC_DEFUN([gtpo_FILE_LIST], [
lib/unistr/u8-mbtouc-unsafe.c
lib/unistr/u8-mbtouc.c
lib/unistr/u8-mbtoucr.c
+ lib/unistr/u8-next.c
lib/unistr/u8-prev.c
+ lib/unistr/u8-strmbtouc.c
lib/unistr/u8-uctomb-aux.c
lib/unistr/u8-uctomb.c
lib/unitypes.in.h
@@ -890,6 +935,7 @@ AC_DEFUN([gtpo_FILE_LIST], [
m4/stdio_h.m4
m4/stdlib_h.m4
m4/stpcpy.m4
+ m4/stpncpy.m4
m4/strchrnul.m4
m4/strerror.m4
m4/string_h.m4
diff --git a/gettext-tools/libgettextpo/hash.c b/gettext-tools/libgettextpo/hash.c
index 1844724..89fa5ec 100644
--- a/gettext-tools/libgettextpo/hash.c
+++ b/gettext-tools/libgettextpo/hash.c
@@ -1,5 +1,6 @@
/* hash - implement simple hashing table with string based keys.
- Copyright (C) 1994-1995, 2000-2006 Free Software Foundation, Inc.
+ Copyright (C) 1994-1995, 2000-2006, 2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, October 1994.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/hash.h b/gettext-tools/libgettextpo/hash.h
index a56ad77..b98e340 100644
--- a/gettext-tools/libgettextpo/hash.h
+++ b/gettext-tools/libgettextpo/hash.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1995, 2000-2003, 2005-2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 2000-2003, 2005-2006, 2015 Free Software
+ * Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/iconv.c b/gettext-tools/libgettextpo/iconv.c
index b5a427b..28c13c5 100644
--- a/gettext-tools/libgettextpo/iconv.c
+++ b/gettext-tools/libgettextpo/iconv.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2001, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/iconv.in.h b/gettext-tools/libgettextpo/iconv.in.h
index d0e9836..94ab806 100644
--- a/gettext-tools/libgettextpo/iconv.in.h
+++ b/gettext-tools/libgettextpo/iconv.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <iconv.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/iconv_close.c b/gettext-tools/libgettextpo/iconv_close.c
index d66c115..59e0aca 100644
--- a/gettext-tools/libgettextpo/iconv_close.c
+++ b/gettext-tools/libgettextpo/iconv_close.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/iconv_open.c b/gettext-tools/libgettextpo/iconv_open.c
index 37ce9ce..09d042d 100644
--- a/gettext-tools/libgettextpo/iconv_open.c
+++ b/gettext-tools/libgettextpo/iconv_open.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/iconveh.h b/gettext-tools/libgettextpo/iconveh.h
index 9deaea1..118e29c 100644
--- a/gettext-tools/libgettextpo/iconveh.h
+++ b/gettext-tools/libgettextpo/iconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion handler type.
- Copyright (C) 2001-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/intprops.h b/gettext-tools/libgettextpo/intprops.h
index d0bb7a6..ecafaf7 100644
--- a/gettext-tools/libgettextpo/intprops.h
+++ b/gettext-tools/libgettextpo/intprops.h
@@ -1,6 +1,6 @@
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2005, 2009-2015 Free Software Foundation, Inc.
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
@@ -22,8 +22,7 @@
#include <limits.h>
-/* Return an integer value, converted to the same type as the integer
- expression E after integer type promotion. V is the unconverted value. */
+/* Return a value with the common real type of E and V and the value of V. */
#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
@@ -48,12 +47,12 @@
/* True if the signed integer expression E uses two's complement. */
#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
-/* True if the arithmetic type T is signed. */
+/* True if the real type T is signed. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* Return 1 if the integer expression E, after integer promotion, has
- a signed type. */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+/* Return 1 if the real expression E, after promotion, has a
+ signed or floating type. */
+#define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
/* Minimum and maximum values for integer types and expressions. These
@@ -76,11 +75,11 @@
/* The maximum and minimum values for the type of the expression E,
after integer promotion. E should not have side effects. */
#define _GL_INT_MINIMUM(e) \
- (_GL_INT_SIGNED (e) \
+ (EXPR_SIGNED (e) \
? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_CONVERT (e, 0))
#define _GL_INT_MAXIMUM(e) \
- (_GL_INT_SIGNED (e) \
+ (EXPR_SIGNED (e) \
? _GL_SIGNED_INT_MAXIMUM (e) \
: _GL_INT_NEGATE_CONVERT (e, 1))
#define _GL_SIGNED_INT_MAXIMUM(e) \
@@ -263,22 +262,29 @@
: (a) % - (b)) \
== 0)
-
-/* Integer overflow checks.
+/* Check for integer overflow, and report low order bits of answer.
The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
might not yield numerically correct answers due to arithmetic overflow.
- They work correctly on all known practical hosts, and do not rely
+ The INT_<op>_WRAPV macros also store the low-order bits of the answer.
+ These macros work correctly on all known practical hosts, and do not rely
on undefined behavior due to signed arithmetic overflow.
- Example usage:
+ Example usage, assuming A and B are long int:
- long int i = ...;
- long int j = ...;
- if (INT_MULTIPLY_OVERFLOW (i, j))
- printf ("multiply would overflow");
+ if (INT_MULTIPLY_OVERFLOW (a, b))
+ printf ("result would overflow\n");
else
- printf ("product is %ld", i * j);
+ printf ("result is %ld (no overflow)\n", a * b);
+
+ Example usage with WRAPV flavor:
+
+ long int result;
+ bool overflow = INT_MULTIPLY_WRAPV (a, b, &result);
+ printf ("result is %ld (%s)\n", result,
+ overflow ? "after overflow" : "no overflow");
+
+ Restrictions on these macros:
These macros do not check for all possible numerical problems or
undefined or unspecified behavior: they do not check for division
@@ -287,6 +293,9 @@
These macros may evaluate their arguments zero or multiple times, so the
arguments should not have side effects.
+ The WRAPV macros are not constant expressions. They support only
+ +, binary -, and *. The result type must be signed.
+
These macros are tuned for their last argument being a constant.
Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
@@ -317,4 +326,104 @@
_GL_INT_MINIMUM (0 * (b) + (a)), \
_GL_INT_MAXIMUM (0 * (b) + (a)))
+/* Compute A + B, A - B, A * B, respectively, storing the result into *R.
+ Return 1 if the result overflows. See above for restrictions. */
+#define INT_ADD_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW)
+#define INT_SUBTRACT_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW)
+#define INT_MULTIPLY_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+ https://llvm.org/bugs/show_bug.cgi?id=25390
+ For now, assume all versions of GCC-like compilers generate bogus
+ warnings for _Generic. This matters only for older compilers that
+ lack __builtin_add_overflow. */
+#if __GNUC__
+# define _GL__GENERIC_BOGUS 1
+#else
+# define _GL__GENERIC_BOGUS 0
+#endif
+
+/* Store A <op> B into *R, where OP specifies the operation.
+ BUILTIN is the builtin operation, and OVERFLOW the overflow predicate.
+ See above for restrictions. */
+#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+ (_Generic \
+ (*(r), \
+ signed char: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+ signed char, SCHAR_MIN, SCHAR_MAX), \
+ short int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+ short int, SHRT_MIN, SHRT_MAX), \
+ int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+ int, INT_MIN, INT_MAX), \
+ long int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+ long int, LONG_MIN, LONG_MAX), \
+ long long int: \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+ long long int, LLONG_MIN, LLONG_MAX)))
+#else
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+ (sizeof *(r) == sizeof (signed char) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+ signed char, SCHAR_MIN, SCHAR_MAX) \
+ : sizeof *(r) == sizeof (short int) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+ short int, SHRT_MIN, SHRT_MAX) \
+ : sizeof *(r) == sizeof (int) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+ int, INT_MIN, INT_MAX) \
+ : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
+# ifdef LLONG_MAX
+# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+ (sizeof *(r) == sizeof (long int) \
+ ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+ long int, LONG_MIN, LONG_MAX) \
+ : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+ long long int, LLONG_MIN, LLONG_MAX))
+# else
+# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+ long int, LONG_MIN, LONG_MAX))
+# endif
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where the operation
+ is given by OP. Use the unsigned type UT for calculation to avoid
+ overflow problems. *R's type is T, with extremal values TMIN and
+ TMAX. T must be a signed integer type. */
+#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
+ (sizeof ((a) op (b)) < sizeof (t) \
+ ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \
+ : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax))
+#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \
+ ((overflow (a, b) \
+ || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \
+ || (tmax) < ((a) op (b))) \
+ ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 1) \
+ : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 0))
+
+/* Return A <op> B, where the operation is given by OP. Use the
+ unsigned type UT for calculation to avoid overflow problems.
+ Convert the result to type T without overflow by subtracting TMIN
+ from large values before converting, and adding it afterwards.
+ Compilers can optimize all the operations except OP. */
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t, tmin, tmax) \
+ (((ut) (a) op (ut) (b)) <= (tmax) \
+ ? (t) ((ut) (a) op (ut) (b)) \
+ : ((t) (((ut) (a) op (ut) (b)) - (tmin)) + (tmin)))
+
#endif /* _GL_INTPROPS_H */
diff --git a/gettext-tools/libgettextpo/itold.c b/gettext-tools/libgettextpo/itold.c
index 937f480..1eee03e 100644
--- a/gettext-tools/libgettextpo/itold.c
+++ b/gettext-tools/libgettextpo/itold.c
@@ -1,5 +1,5 @@
/* Replacement for 'int' to 'long double' conversion routine.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/localcharset.c b/gettext-tools/libgettextpo/localcharset.c
index ccfa993..1f02aa5 100644
--- a/gettext-tools/libgettextpo/localcharset.c
+++ b/gettext-tools/libgettextpo/localcharset.c
@@ -1,6 +1,6 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006, 2008-2015 Free Software Foundation, Inc.
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
@@ -128,7 +128,7 @@ get_charset_aliases (void)
cp = charset_aliases;
if (cp == NULL)
{
-#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__)
+#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__ || defined OS2)
const char *dir;
const char *base = "charset.alias";
char *file_name;
@@ -342,6 +342,36 @@ get_charset_aliases (void)
"CP54936" "\0" "GB18030" "\0"
"CP65001" "\0" "UTF-8" "\0";
# endif
+# if defined OS2
+ /* To avoid the troubles of installing a separate file in the same
+ directory as the DLL and of retrieving the DLL's directory at
+ runtime, simply inline the aliases here. */
+
+ /* The list of encodings is taken from "List of OS/2 Codepages"
+ by Alex Taylor:
+ <http://altsan.org/os2/toolkits/uls/index.html#codepages>.
+ See also "IBM Globalization - Code page identifiers":
+ <http://www-01.ibm.com/software/globalization/cp/cp_cpgid.html>. */
+ cp = "CP813" "\0" "ISO-8859-7" "\0"
+ "CP878" "\0" "KOI8-R" "\0"
+ "CP819" "\0" "ISO-8859-1" "\0"
+ "CP912" "\0" "ISO-8859-2" "\0"
+ "CP913" "\0" "ISO-8859-3" "\0"
+ "CP914" "\0" "ISO-8859-4" "\0"
+ "CP915" "\0" "ISO-8859-5" "\0"
+ "CP916" "\0" "ISO-8859-8" "\0"
+ "CP920" "\0" "ISO-8859-9" "\0"
+ "CP921" "\0" "ISO-8859-13" "\0"
+ "CP923" "\0" "ISO-8859-15" "\0"
+ "CP954" "\0" "EUC-JP" "\0"
+ "CP964" "\0" "EUC-TW" "\0"
+ "CP970" "\0" "EUC-KR" "\0"
+ "CP1089" "\0" "ISO-8859-6" "\0"
+ "CP1208" "\0" "UTF-8" "\0"
+ "CP1381" "\0" "GB2312" "\0"
+ "CP1386" "\0" "GBK" "\0"
+ "CP3372" "\0" "EUC-JP" "\0";
+# endif
#endif
charset_aliases = cp;
@@ -499,6 +529,8 @@ locale_charset (void)
ULONG cp[3];
ULONG cplen;
+ codeset = NULL;
+
/* Allow user to override the codeset, as set in the operating system,
with standard language environment variables. */
locale = getenv ("LC_ALL");
@@ -530,10 +562,12 @@ locale_charset (void)
}
}
- /* Resolve through the charset.alias file. */
- codeset = locale;
+ /* For the POSIX locale, don't use the system's codepage. */
+ if (strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0)
+ codeset = "";
}
- else
+
+ if (codeset == NULL)
{
/* OS/2 has a function returning the locale's codepage as a number. */
if (DosQueryCp (sizeof (cp), cp, &cplen))
diff --git a/gettext-tools/libgettextpo/localcharset.h b/gettext-tools/libgettextpo/localcharset.h
index 9011d58..c5e6d46 100644
--- a/gettext-tools/libgettextpo/localcharset.h
+++ b/gettext-tools/libgettextpo/localcharset.h
@@ -1,5 +1,5 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU CHARSET Library.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/malloc.c b/gettext-tools/libgettextpo/malloc.c
index bc81c54..00800a2 100644
--- a/gettext-tools/libgettextpo/malloc.c
+++ b/gettext-tools/libgettextpo/malloc.c
@@ -1,6 +1,6 @@
/* malloc() function that is glibc compatible.
- Copyright (C) 1997-1998, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2006-2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/malloca.c b/gettext-tools/libgettextpo/malloca.c
index 370551c..198a96c 100644
--- a/gettext-tools/libgettextpo/malloca.c
+++ b/gettext-tools/libgettextpo/malloca.c
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/malloca.h b/gettext-tools/libgettextpo/malloca.h
index 5071e46..7a4190c 100644
--- a/gettext-tools/libgettextpo/malloca.h
+++ b/gettext-tools/libgettextpo/malloca.h
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/markup.c b/gettext-tools/libgettextpo/markup.c
new file mode 100644
index 0000000..74ba906
--- /dev/null
+++ b/gettext-tools/libgettextpo/markup.c
@@ -0,0 +1,1563 @@
+/* markup.c -- simple XML-like parser
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file is not part of the GNU gettext program, but is used with
+ GNU gettext.
+
+ This is a stripped down version of GLib's gmarkup.c. The original
+ copyright notice is as follows:
+*/
+
+/* gmarkup.c - Simple XML-like parser
+ *
+ * Copyright 2000, 2003 Red Hat, Inc.
+ * Copyright 2007, 2008 Ryan Lortie <desrt@desrt.ca>
+ *
+ * GLib 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 3 of the
+ * License, or (at your option) any later version.
+ *
+ * GLib 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 GLib; see the file COPYING.LIB. If not,
+ * see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <assert.h>
+#include <stdarg.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+/* Specification */
+#include "markup.h"
+
+#include "c-ctype.h"
+#include "gettext.h"
+#include "gl_linked_list.h"
+#include "gl_xlist.h"
+#include "unictype.h"
+#include "unistr.h"
+#include "xalloc.h"
+#include "xvasprintf.h"
+
+#define _(s) gettext(s)
+
+/**
+ * The "markup" parser is intended to parse a simple markup format
+ * that's a subset of XML. This is a small, efficient, easy-to-use
+ * parser. It should not be used if you expect to interoperate with
+ * other applications generating full-scale XML. However, it's very
+ * useful for application data files, config files, etc. where you
+ * know your application will be the only one writing the file.
+ * Full-scale XML parsers should be able to parse the subset used by
+ * markup, so you can easily migrate to full-scale XML at a later
+ * time if the need arises.
+ *
+ * The parser is not guaranteed to signal an error on all invalid XML;
+ * the parser may accept documents that an XML parser would not.
+ * However, XML documents which are not well-formed (which is a weaker
+ * condition than being valid. See the XML specification
+ * <http://www.w3.org/TR/REC-xml/> for definitions of these terms.)
+ * are not considered valid GMarkup documents.
+ *
+ * Simplifications to XML include:
+ *
+ * - Only UTF-8 encoding is allowed
+ *
+ * - No user-defined entities
+ *
+ * - Processing instructions, comments and the doctype declaration
+ * are "passed through" but are not interpreted in any way
+ *
+ * - No DTD or validation
+ *
+ * The markup format does support:
+ *
+ * - Elements
+ *
+ * - Attributes
+ *
+ * - 5 standard entities: &amp; &lt; &gt; &quot; &apos;
+ *
+ * - Character references
+ *
+ * - Sections marked as CDATA
+ */
+
+typedef enum
+{
+ STATE_START,
+ STATE_AFTER_OPEN_ANGLE,
+ STATE_AFTER_CLOSE_ANGLE,
+ STATE_AFTER_ELISION_SLASH, /* the slash that obviates need for end element */
+ STATE_INSIDE_OPEN_TAG_NAME,
+ STATE_INSIDE_ATTRIBUTE_NAME,
+ STATE_AFTER_ATTRIBUTE_NAME,
+ STATE_BETWEEN_ATTRIBUTES,
+ STATE_AFTER_ATTRIBUTE_EQUALS_SIGN,
+ STATE_INSIDE_ATTRIBUTE_VALUE_SQ,
+ STATE_INSIDE_ATTRIBUTE_VALUE_DQ,
+ STATE_INSIDE_TEXT,
+ STATE_AFTER_CLOSE_TAG_SLASH,
+ STATE_INSIDE_CLOSE_TAG_NAME,
+ STATE_AFTER_CLOSE_TAG_NAME,
+ STATE_INSIDE_PASSTHROUGH,
+ STATE_ERROR
+} markup_parse_state_ty;
+
+typedef struct
+{
+ const char *prev_element;
+ const markup_parser_ty *prev_parser;
+ void *prev_user_data;
+} markup_recursion_tracker_ty;
+
+typedef struct
+{
+ char *buffer;
+ size_t bufmax;
+ size_t buflen;
+} markup_string_ty;
+
+struct _markup_parse_context_ty
+{
+ const markup_parser_ty *parser;
+
+ markup_parse_flags_ty flags;
+
+ int line_number;
+ int char_number;
+
+ markup_parse_state_ty state;
+
+ void *user_data;
+
+ /* A piece of character data or an element that
+ * hasn't "ended" yet so we haven't yet called
+ * the callback for it.
+ */
+ markup_string_ty *partial_chunk;
+
+ gl_list_t tag_stack; /* <markup_string_ty> */
+
+ char **attr_names;
+ char **attr_values;
+ int cur_attr;
+ int alloc_attrs;
+
+ const char *current_text;
+ ssize_t current_text_len;
+ const char *current_text_end;
+
+ /* used to save the start of the last interesting thingy */
+ const char *start;
+
+ const char *iter;
+
+ char *error_text;
+
+ unsigned int document_empty : 1;
+ unsigned int parsing : 1;
+ unsigned int awaiting_pop : 1;
+ int balance;
+
+ /* subparser support */
+ gl_list_t subparser_stack; /* <markup_recursion_tracker_ty *> */
+ const char *subparser_element;
+};
+
+static markup_string_ty *
+markup_string_new (void)
+{
+ return XZALLOC (markup_string_ty);
+}
+
+static char *
+markup_string_free (markup_string_ty *string, bool free_segment)
+{
+ if (free_segment)
+ {
+ free (string->buffer);
+ free (string);
+ return NULL;
+ }
+ else
+ {
+ char *result = string->buffer;
+ free (string);
+ return result;
+ }
+}
+
+static void
+markup_string_free1 (markup_string_ty *string)
+{
+ markup_string_free (string, true);
+}
+
+static void
+markup_string_truncate (markup_string_ty *string, size_t length)
+{
+ assert (string && length < string->buflen - 1);
+ string->buffer[length] = '\0';
+ string->buflen = length;
+}
+
+static void
+markup_string_append (markup_string_ty *string, const char *to_append,
+ size_t length)
+{
+ if (string->buflen + length + 1 > string->bufmax)
+ {
+ string->bufmax *= 2;
+ if (string->buflen + length + 1 > string->bufmax)
+ string->bufmax = string->buflen + length + 1;
+ string->buffer = xrealloc (string->buffer, string->bufmax);
+ }
+ memcpy (string->buffer + string->buflen, to_append, length);
+ string->buffer[length] = '\0';
+ string->buflen = length;
+}
+
+static inline void
+string_blank (markup_string_ty *string)
+{
+ if (string->bufmax > 0)
+ {
+ *string->buffer = '\0';
+ string->buflen = 0;
+ }
+}
+
+/* Creates a new parse context. A parse context is used to parse
+ marked-up documents. You can feed any number of documents into a
+ context, as long as no errors occur; once an error occurs, the
+ parse context can't continue to parse text (you have to free it and
+ create a new parse context). */
+markup_parse_context_ty *
+markup_parse_context_new (const markup_parser_ty *parser,
+ markup_parse_flags_ty flags,
+ void *user_data)
+{
+ markup_parse_context_ty *context;
+
+ assert (parser != NULL);
+
+ context = XMALLOC (markup_parse_context_ty);
+
+ context->parser = parser;
+ context->flags = flags;
+ context->user_data = user_data;
+
+ context->line_number = 1;
+ context->char_number = 1;
+
+ context->partial_chunk = NULL;
+
+ context->state = STATE_START;
+ context->tag_stack =
+ gl_list_create_empty (GL_LINKED_LIST,
+ NULL, NULL,
+ (gl_listelement_dispose_fn) markup_string_free1,
+ true);
+ context->attr_names = NULL;
+ context->attr_values = NULL;
+ context->cur_attr = -1;
+ context->alloc_attrs = 0;
+
+ context->current_text = NULL;
+ context->current_text_len = -1;
+ context->current_text_end = NULL;
+
+ context->start = NULL;
+ context->iter = NULL;
+
+ context->error_text = NULL;
+
+ context->document_empty = true;
+ context->parsing = false;
+
+ context->awaiting_pop = false;
+ context->subparser_stack =
+ gl_list_create_empty (GL_LINKED_LIST,
+ NULL, NULL,
+ (gl_listelement_dispose_fn) free,
+ true);
+ context->subparser_element = NULL;
+
+ context->balance = 0;
+
+ return context;
+}
+
+static void clear_attributes (markup_parse_context_ty *context);
+
+/* Frees a parse context. This function can't be called from inside
+ one of the markup_parser_ty functions or while a subparser is
+ pushed. */
+void
+markup_parse_context_free (markup_parse_context_ty *context)
+{
+ assert (context != NULL);
+ assert (!context->parsing);
+ assert (gl_list_size (context->subparser_stack) == 0);
+ assert (!context->awaiting_pop);
+
+ clear_attributes (context);
+ free (context->attr_names);
+ free (context->attr_values);
+
+ gl_list_free (context->tag_stack);
+ gl_list_free (context->subparser_stack);
+
+ if (context->partial_chunk)
+ markup_string_free (context->partial_chunk, true);
+
+ free (context->error_text);
+
+ free (context);
+}
+
+static void pop_subparser_stack (markup_parse_context_ty *context);
+
+static void
+emit_error (markup_parse_context_ty *context, const char *error_text)
+{
+ context->state = STATE_ERROR;
+
+ if (context->parser->error)
+ (*context->parser->error) (context, error_text, context->user_data);
+
+ /* report the error all the way up to free all the user-data */
+ while (gl_list_size (context->subparser_stack) > 0)
+ {
+ pop_subparser_stack (context);
+ context->awaiting_pop = false; /* already been freed */
+
+ if (context->parser->error)
+ (*context->parser->error) (context, error_text, context->user_data);
+ }
+
+ if (context->error_text)
+ free (context->error_text);
+ context->error_text = xstrdup (error_text);
+}
+
+#define IS_COMMON_NAME_END_CHAR(c) \
+ ((c) == '=' || (c) == '/' || (c) == '>' || (c) == ' ')
+
+static bool
+slow_name_validate (markup_parse_context_ty *context, const char *name)
+{
+ const char *p = name;
+ ucs4_t uc;
+
+ if (u8_check ((uint8_t *) name, strlen (name)) != NULL)
+ {
+ emit_error (context, _("invalid UTF-8 sequence"));
+ return false;
+ }
+
+ if (!(c_isalpha (*p)
+ || (!IS_COMMON_NAME_END_CHAR (*p)
+ && (*p == '_'
+ || *p == ':'
+ || (u8_mbtouc (&uc, (uint8_t *) name, strlen (name)) > 0
+ && uc_is_alpha (uc))))))
+ {
+ char *error_text = xasprintf (_("'%s' is not a valid name: %c"),
+ name, *p);
+ emit_error (context, error_text);
+ free (error_text);
+ return false;
+ }
+
+ for (p = (char *) u8_next (&uc, (uint8_t *) name);
+ p != NULL;
+ p = (char *) u8_next (&uc, (uint8_t *) p))
+ {
+ /* is_name_char */
+ if (!(c_isalnum (*p) ||
+ (!IS_COMMON_NAME_END_CHAR (*p) &&
+ (*p == '.' ||
+ *p == '-' ||
+ *p == '_' ||
+ *p == ':' ||
+ uc_is_alpha (uc)))))
+ {
+ char *error_text = xasprintf (_("'%s' is not a valid name: '%c'"),
+ name, *p);
+ emit_error (context, error_text);
+ free (error_text);
+ return false;
+ }
+ }
+ return true;
+}
+
+/*
+ * Use me for elements, attributes etc.
+ */
+static bool
+name_validate (markup_parse_context_ty *context, const char *name)
+{
+ char mask;
+ const char *p;
+
+ /* name start char */
+ p = name;
+ if (IS_COMMON_NAME_END_CHAR (*p)
+ || !(c_isalpha (*p) || *p == '_' || *p == ':'))
+ goto slow_validate;
+
+ for (mask = *p++; *p != '\0'; p++)
+ {
+ mask |= *p;
+
+ /* is_name_char */
+ if (!(c_isalnum (*p)
+ || (!IS_COMMON_NAME_END_CHAR (*p)
+ && (*p == '.' || *p == '-' || *p == '_' || *p == ':'))))
+ goto slow_validate;
+ }
+
+ if (mask & 0x80) /* un-common / non-ascii */
+ goto slow_validate;
+
+ return true;
+
+ slow_validate:
+ return slow_name_validate (context, name);
+}
+
+static bool
+text_validate (markup_parse_context_ty *context,
+ const char *p,
+ int len)
+{
+ if (u8_check ((const uint8_t *) p, len) != NULL)
+ {
+ emit_error (context, _("invalid UTF-8 sequence"));
+ return false;
+ }
+ else
+ return true;
+}
+
+/*
+ * re-write the GString in-place, unescaping anything that escaped.
+ * most XML does not contain entities, or escaping.
+ */
+static bool
+unescape_string_inplace (markup_parse_context_ty *context,
+ markup_string_ty *string,
+ bool *is_ascii)
+{
+ char mask, *to;
+ const char *from;
+ bool normalize_attribute;
+
+ if (string->buflen == 0)
+ return true;
+
+ *is_ascii = false;
+
+ /* are we unescaping an attribute or not ? */
+ if (context->state == STATE_INSIDE_ATTRIBUTE_VALUE_SQ
+ || context->state == STATE_INSIDE_ATTRIBUTE_VALUE_DQ)
+ normalize_attribute = true;
+ else
+ normalize_attribute = false;
+
+ /*
+ * Meeks' theorem: unescaping can only shrink text.
+ * for &lt; etc. this is obvious, for &#xffff; more
+ * thought is required, but this is patently so.
+ */
+ mask = 0;
+ for (from = to = string->buffer; *from != '\0'; from++, to++)
+ {
+ *to = *from;
+
+ mask |= *to;
+ if (normalize_attribute && (*to == '\t' || *to == '\n'))
+ *to = ' ';
+ if (*to == '\r')
+ {
+ *to = normalize_attribute ? ' ' : '\n';
+ if (from[1] == '\n')
+ from++;
+ }
+ if (*from == '&')
+ {
+ from++;
+ if (*from == '#')
+ {
+ int base = 10;
+ unsigned long l;
+ char *end = NULL;
+
+ from++;
+
+ if (*from == 'x')
+ {
+ base = 16;
+ from++;
+ }
+
+ errno = 0;
+ l = strtoul (from, &end, base);
+
+ if (end == from || errno != 0)
+ {
+ char *error_text =
+ xasprintf (_("invalid character reference: %s"),
+ errno != 0
+ ? strerror (errno)
+ : _("not a valid number specification"));
+ emit_error (context, error_text);
+ free (error_text);
+ return false;
+ }
+ else if (*end != ';')
+ {
+ char *error_text =
+ xasprintf (_("invalid character reference: %s"),
+ _("no ending ';'"));
+ emit_error (context, error_text);
+ free (error_text);
+ return false;
+ }
+ else
+ {
+ /* characters XML 1.1 permits */
+ if ((0 < l && l <= 0xD7FF) ||
+ (0xE000 <= l && l <= 0xFFFD) ||
+ (0x10000 <= l && l <= 0x10FFFF))
+ {
+ char buf[8];
+ int length;
+ length = u8_uctomb ((uint8_t *) buf, l, 8);
+ memcpy (to, buf, length);
+ to += length - 1;
+ from = end;
+ if (l >= 0x80) /* not ascii */
+ mask |= 0x80;
+ }
+ else
+ {
+ char *error_text =
+ xasprintf (_("invalid character reference: %s"),
+ _("non-permitted character"));
+ emit_error (context, error_text);
+ free (error_text);
+ return false;
+ }
+ }
+ }
+
+ else if (strncmp (from, "lt;", 3) == 0)
+ {
+ *to = '<';
+ from += 2;
+ }
+ else if (strncmp (from, "gt;", 3) == 0)
+ {
+ *to = '>';
+ from += 2;
+ }
+ else if (strncmp (from, "amp;", 4) == 0)
+ {
+ *to = '&';
+ from += 3;
+ }
+ else if (strncmp (from, "quot;", 5) == 0)
+ {
+ *to = '"';
+ from += 4;
+ }
+ else if (strncmp (from, "apos;", 5) == 0)
+ {
+ *to = '\'';
+ from += 4;
+ }
+ else
+ {
+ const char *reason;
+ char *error_text;
+
+ if (*from == ';')
+ reason = _("empty");
+ else
+ {
+ const char *end = strchr (from, ';');
+ if (end)
+ reason = _("unknown");
+ else
+ reason = _("no ending ';'");
+ }
+ error_text = xasprintf (_("invalid entity reference: %s"),
+ reason);
+ emit_error (context, error_text);
+ free (error_text);
+ return false;
+ }
+ }
+ }
+
+ assert (to - string->buffer <= string->buflen);
+ if (to - string->buffer != string->buflen)
+ markup_string_truncate (string, to - string->buffer);
+
+ *is_ascii = !(mask & 0x80);
+
+ return true;
+}
+
+static inline bool
+advance_char (markup_parse_context_ty *context)
+{
+ context->iter++;
+ context->char_number++;
+
+ if (context->iter == context->current_text_end)
+ return false;
+
+ else if (*context->iter == '\n')
+ {
+ context->line_number++;
+ context->char_number = 1;
+ }
+
+ return true;
+}
+
+static inline bool
+xml_isspace (char c)
+{
+ return c == ' ' || c == '\t' || c == '\n' || c == '\r';
+}
+
+static void
+skip_spaces (markup_parse_context_ty *context)
+{
+ do
+ {
+ if (!xml_isspace (*context->iter))
+ return;
+ }
+ while (advance_char (context));
+}
+
+static void
+advance_to_name_end (markup_parse_context_ty *context)
+{
+ do
+ {
+ if (IS_COMMON_NAME_END_CHAR (*(context->iter)))
+ return;
+ if (xml_isspace (*(context->iter)))
+ return;
+ }
+ while (advance_char (context));
+}
+
+static void
+add_to_partial (markup_parse_context_ty *context,
+ const char *text_start,
+ const char *text_end)
+{
+ if (context->partial_chunk == NULL)
+ { /* allocate a new chunk to parse into */
+
+ context->partial_chunk = markup_string_new ();
+ }
+
+ if (text_start != text_end)
+ markup_string_append (context->partial_chunk,
+ text_start, text_end - text_start);
+}
+
+static inline void
+truncate_partial (markup_parse_context_ty *context)
+{
+ if (context->partial_chunk != NULL)
+ string_blank (context->partial_chunk);
+}
+
+static inline const char*
+current_element (markup_parse_context_ty *context)
+{
+ const markup_string_ty *string = gl_list_get_at (context->tag_stack, 0);
+ return string->buffer;
+}
+
+static void
+pop_subparser_stack (markup_parse_context_ty *context)
+{
+ markup_recursion_tracker_ty *tracker;
+
+ assert (gl_list_size (context->subparser_stack) > 0);
+
+ tracker = (markup_recursion_tracker_ty *) gl_list_get_at (context->subparser_stack, 0);
+
+ context->awaiting_pop = true;
+
+ context->user_data = tracker->prev_user_data;
+ context->parser = tracker->prev_parser;
+ context->subparser_element = tracker->prev_element;
+ free (tracker);
+
+ gl_list_remove_at (context->subparser_stack, 0);
+}
+
+static void
+push_partial_as_tag (markup_parse_context_ty *context)
+{
+ gl_list_add_first (context->tag_stack, context->partial_chunk);
+ context->partial_chunk = NULL;
+}
+
+static void
+pop_tag (markup_parse_context_ty *context)
+{
+ gl_list_remove_at (context->tag_stack, 0);
+}
+
+static void
+possibly_finish_subparser (markup_parse_context_ty *context)
+{
+ if (current_element (context) == context->subparser_element)
+ pop_subparser_stack (context);
+}
+
+static void
+ensure_no_outstanding_subparser (markup_parse_context_ty *context)
+{
+ context->awaiting_pop = false;
+}
+
+static void
+add_attribute (markup_parse_context_ty *context, markup_string_ty *string)
+{
+ if (context->cur_attr + 2 >= context->alloc_attrs)
+ {
+ context->alloc_attrs += 5; /* silly magic number */
+ context->attr_names = xrealloc (context->attr_names, sizeof (char *) * context->alloc_attrs);
+ context->attr_values = xrealloc (context->attr_values, sizeof(char *) * context->alloc_attrs);
+ }
+ context->cur_attr++;
+ context->attr_names[context->cur_attr] = xstrdup (string->buffer);
+ context->attr_values[context->cur_attr] = NULL;
+ context->attr_names[context->cur_attr+1] = NULL;
+ context->attr_values[context->cur_attr+1] = NULL;
+}
+
+static void
+clear_attributes (markup_parse_context_ty *context)
+{
+ /* Go ahead and free the attributes. */
+ for (; context->cur_attr >= 0; context->cur_attr--)
+ {
+ int pos = context->cur_attr;
+ free (context->attr_names[pos]);
+ free (context->attr_values[pos]);
+ context->attr_names[pos] = context->attr_values[pos] = NULL;
+ }
+ assert (context->cur_attr == -1);
+ assert (context->attr_names == NULL ||
+ context->attr_names[0] == NULL);
+ assert (context->attr_values == NULL ||
+ context->attr_values[0] == NULL);
+}
+
+static void
+markup_parse_context_push (markup_parse_context_ty *context,
+ const markup_parser_ty *parser,
+ void *user_data)
+{
+ markup_recursion_tracker_ty *tracker;
+
+ tracker = XMALLOC (markup_recursion_tracker_ty);
+ tracker->prev_element = context->subparser_element;
+ tracker->prev_parser = context->parser;
+ tracker->prev_user_data = context->user_data;
+
+ context->subparser_element = current_element (context);
+ context->parser = parser;
+ context->user_data = user_data;
+
+ gl_list_add_first (context->subparser_stack, tracker);
+}
+
+static void
+markup_parse_context_pop (markup_parse_context_ty *context)
+{
+ if (!context->awaiting_pop)
+ possibly_finish_subparser (context);
+
+ assert (context->awaiting_pop);
+
+ context->awaiting_pop = false;
+}
+
+/* This has to be a separate function to ensure the alloca's
+ * are unwound on exit - otherwise we grow & blow the stack
+ * with large documents
+ */
+static inline void
+emit_start_element (markup_parse_context_ty *context)
+{
+ int i, j = 0;
+ const char *start_name;
+ const char **attr_names;
+ const char **attr_values;
+
+ /* In case we want to ignore qualified tags and we see that we have
+ * one here, we push a subparser. This will ignore all tags inside of
+ * the qualified tag.
+ *
+ * We deal with the end of the subparser from emit_end_element.
+ */
+ if ((context->flags & MARKUP_IGNORE_QUALIFIED)
+ && strchr (current_element (context), ':'))
+ {
+ static const markup_parser_ty ignore_parser;
+ markup_parse_context_push (context, &ignore_parser, NULL);
+ clear_attributes (context);
+ return;
+ }
+
+ attr_names = XCALLOC (context->cur_attr + 2, const char *);
+ attr_values = XCALLOC (context->cur_attr + 2, const char *);
+ for (i = 0; i < context->cur_attr + 1; i++)
+ {
+ /* Possibly omit qualified attribute names from the list */
+ if ((context->flags & MARKUP_IGNORE_QUALIFIED)
+ && strchr (context->attr_names[i], ':'))
+ continue;
+
+ attr_names[j] = context->attr_names[i];
+ attr_values[j] = context->attr_values[i];
+ j++;
+ }
+ attr_names[j] = NULL;
+ attr_values[j] = NULL;
+
+ /* Call user callback for element start */
+ start_name = current_element (context);
+
+ if (context->parser->start_element && name_validate (context, start_name))
+ (* context->parser->start_element) (context,
+ start_name,
+ (const char **)attr_names,
+ (const char **)attr_values,
+ context->user_data);
+ free (attr_names);
+ free (attr_values);
+ clear_attributes (context);
+}
+
+static void
+emit_end_element (markup_parse_context_ty *context)
+{
+ assert (gl_list_size (context->tag_stack) != 0);
+
+ possibly_finish_subparser (context);
+
+ /* We might have just returned from our ignore subparser */
+ if ((context->flags & MARKUP_IGNORE_QUALIFIED)
+ && strchr (current_element (context), ':'))
+ {
+ markup_parse_context_pop (context);
+ pop_tag (context);
+ return;
+ }
+
+ if (context->parser->end_element)
+ (* context->parser->end_element) (context,
+ current_element (context),
+ context->user_data);
+
+ ensure_no_outstanding_subparser (context);
+
+ pop_tag (context);
+}
+
+/* Feed some data to the parse context. The data need not be valid
+ UTF-8; an error will be signaled if it's invalid. The data need
+ not be an entire document; you can feed a document into the parser
+ incrementally, via multiple calls to this function. Typically, as
+ you receive data from a network connection or file, you feed each
+ received chunk of data into this function, aborting the process if
+ an error occurs. Once an error is reported, no further data may be
+ fed to the parse context; all errors are fatal. */
+bool
+markup_parse_context_parse (markup_parse_context_ty *context,
+ const char *text,
+ ssize_t text_len)
+{
+ assert (context != NULL);
+ assert (text != NULL);
+ assert (context->state != STATE_ERROR);
+ assert (!context->parsing);
+
+ if (text_len < 0)
+ text_len = strlen (text);
+
+ if (text_len == 0)
+ return true;
+
+ context->parsing = true;
+
+
+ context->current_text = text;
+ context->current_text_len = text_len;
+ context->current_text_end = context->current_text + text_len;
+ context->iter = context->current_text;
+ context->start = context->iter;
+
+ while (context->iter != context->current_text_end)
+ {
+ switch (context->state)
+ {
+ case STATE_START:
+ /* Possible next state: AFTER_OPEN_ANGLE */
+
+ assert (gl_list_size (context->tag_stack) == 0);
+
+ /* whitespace is ignored outside of any elements */
+ skip_spaces (context);
+
+ if (context->iter != context->current_text_end)
+ {
+ if (*context->iter == '<')
+ {
+ /* Move after the open angle */
+ advance_char (context);
+
+ context->state = STATE_AFTER_OPEN_ANGLE;
+
+ /* this could start a passthrough */
+ context->start = context->iter;
+
+ /* document is now non-empty */
+ context->document_empty = false;
+ }
+ else
+ {
+ emit_error (context,
+ _("document must begin with an element"));
+ }
+ }
+ break;
+
+ case STATE_AFTER_OPEN_ANGLE:
+ /* Possible next states: INSIDE_OPEN_TAG_NAME,
+ * AFTER_CLOSE_TAG_SLASH, INSIDE_PASSTHROUGH
+ */
+ if (*context->iter == '?' ||
+ *context->iter == '!')
+ {
+ /* include < in the passthrough */
+ const char *openangle = "<";
+ add_to_partial (context, openangle, openangle + 1);
+ context->start = context->iter;
+ context->balance = 1;
+ context->state = STATE_INSIDE_PASSTHROUGH;
+ }
+ else if (*context->iter == '/')
+ {
+ /* move after it */
+ advance_char (context);
+
+ context->state = STATE_AFTER_CLOSE_TAG_SLASH;
+ }
+ else if (!IS_COMMON_NAME_END_CHAR (*(context->iter)))
+ {
+ context->state = STATE_INSIDE_OPEN_TAG_NAME;
+
+ /* start of tag name */
+ context->start = context->iter;
+ }
+ else
+ {
+ char *error_text = xasprintf (_("invalid character after '%s'"),
+ "<");
+ emit_error (context, error_text);
+ free (error_text);
+ }
+ break;
+
+ /* The AFTER_CLOSE_ANGLE state is actually sort of
+ * broken, because it doesn't correspond to a range
+ * of characters in the input stream as the others do,
+ * and thus makes things harder to conceptualize
+ */
+ case STATE_AFTER_CLOSE_ANGLE:
+ /* Possible next states: INSIDE_TEXT, STATE_START */
+ if (gl_list_size (context->tag_stack) == 0)
+ {
+ context->start = NULL;
+ context->state = STATE_START;
+ }
+ else
+ {
+ context->start = context->iter;
+ context->state = STATE_INSIDE_TEXT;
+ }
+ break;
+
+ case STATE_AFTER_ELISION_SLASH:
+ /* Possible next state: AFTER_CLOSE_ANGLE */
+ if (*context->iter == '>')
+ {
+ /* move after the close angle */
+ advance_char (context);
+ context->state = STATE_AFTER_CLOSE_ANGLE;
+ emit_end_element (context);
+ }
+ else
+ {
+ char *error_text = xasprintf (_("missing '%c'"), '>');
+ emit_error (context, error_text);
+ free (error_text);
+ }
+ break;
+
+ case STATE_INSIDE_OPEN_TAG_NAME:
+ /* Possible next states: BETWEEN_ATTRIBUTES */
+
+ /* if there's a partial chunk then it's the first part of the
+ * tag name. If there's a context->start then it's the start
+ * of the tag name in current_text, the partial chunk goes
+ * before that start though.
+ */
+ advance_to_name_end (context);
+
+ if (context->iter == context->current_text_end)
+ {
+ /* The name hasn't necessarily ended. Merge with
+ * partial chunk, leave state unchanged.
+ */
+ add_to_partial (context, context->start, context->iter);
+ }
+ else
+ {
+ /* The name has ended. Combine it with the partial chunk
+ * if any; push it on the stack; enter next state.
+ */
+ add_to_partial (context, context->start, context->iter);
+ push_partial_as_tag (context);
+
+ context->state = STATE_BETWEEN_ATTRIBUTES;
+ context->start = NULL;
+ }
+ break;
+
+ case STATE_INSIDE_ATTRIBUTE_NAME:
+ /* Possible next states: AFTER_ATTRIBUTE_NAME */
+
+ advance_to_name_end (context);
+ add_to_partial (context, context->start, context->iter);
+
+ /* read the full name, if we enter the equals sign state
+ * then add the attribute to the list (without the value),
+ * otherwise store a partial chunk to be prepended later.
+ */
+ if (context->iter != context->current_text_end)
+ context->state = STATE_AFTER_ATTRIBUTE_NAME;
+ break;
+
+ case STATE_AFTER_ATTRIBUTE_NAME:
+ /* Possible next states: AFTER_ATTRIBUTE_EQUALS_SIGN */
+
+ skip_spaces (context);
+
+ if (context->iter != context->current_text_end)
+ {
+ /* The name has ended. Combine it with the partial chunk
+ * if any; push it on the stack; enter next state.
+ */
+ if (!name_validate (context, context->partial_chunk->buffer))
+ break;
+
+ add_attribute (context, context->partial_chunk);
+
+ markup_string_free (context->partial_chunk, true);
+ context->partial_chunk = NULL;
+ context->start = NULL;
+
+ if (*context->iter == '=')
+ {
+ advance_char (context);
+ context->state = STATE_AFTER_ATTRIBUTE_EQUALS_SIGN;
+ }
+ else
+ {
+ char *error_text = xasprintf (_("missing '%c'"), '=');
+ emit_error (context, error_text);
+ free (error_text);
+ }
+ }
+ break;
+
+ case STATE_BETWEEN_ATTRIBUTES:
+ /* Possible next states: AFTER_CLOSE_ANGLE,
+ * AFTER_ELISION_SLASH, INSIDE_ATTRIBUTE_NAME
+ */
+ skip_spaces (context);
+
+ if (context->iter != context->current_text_end)
+ {
+ if (*context->iter == '/')
+ {
+ advance_char (context);
+ context->state = STATE_AFTER_ELISION_SLASH;
+ }
+ else if (*context->iter == '>')
+ {
+ advance_char (context);
+ context->state = STATE_AFTER_CLOSE_ANGLE;
+ }
+ else if (!IS_COMMON_NAME_END_CHAR (*(context->iter)))
+ {
+ context->state = STATE_INSIDE_ATTRIBUTE_NAME;
+ /* start of attribute name */
+ context->start = context->iter;
+ }
+ else
+ {
+ char *error_text = xasprintf (_("missing '%c' or '%c'"),
+ '>', '/');
+ emit_error (context, error_text);
+ free (error_text);
+ }
+
+ /* If we're done with attributes, invoke
+ * the start_element callback
+ */
+ if (context->state == STATE_AFTER_ELISION_SLASH ||
+ context->state == STATE_AFTER_CLOSE_ANGLE)
+ emit_start_element (context);
+ }
+ break;
+
+ case STATE_AFTER_ATTRIBUTE_EQUALS_SIGN:
+ /* Possible next state: INSIDE_ATTRIBUTE_VALUE_[SQ/DQ] */
+
+ skip_spaces (context);
+
+ if (context->iter != context->current_text_end)
+ {
+ if (*context->iter == '"')
+ {
+ advance_char (context);
+ context->state = STATE_INSIDE_ATTRIBUTE_VALUE_DQ;
+ context->start = context->iter;
+ }
+ else if (*context->iter == '\'')
+ {
+ advance_char (context);
+ context->state = STATE_INSIDE_ATTRIBUTE_VALUE_SQ;
+ context->start = context->iter;
+ }
+ else
+ {
+ char *error_text = xasprintf (_("missing '%c' or '%c'"),
+ '\'', '"');
+ emit_error (context, error_text);
+ free (error_text);
+ }
+ }
+ break;
+
+ case STATE_INSIDE_ATTRIBUTE_VALUE_SQ:
+ case STATE_INSIDE_ATTRIBUTE_VALUE_DQ:
+ /* Possible next states: BETWEEN_ATTRIBUTES */
+ {
+ char delim;
+
+ if (context->state == STATE_INSIDE_ATTRIBUTE_VALUE_SQ)
+ {
+ delim = '\'';
+ }
+ else
+ {
+ delim = '"';
+ }
+
+ do
+ {
+ if (*context->iter == delim)
+ break;
+ }
+ while (advance_char (context));
+ }
+ if (context->iter == context->current_text_end)
+ {
+ /* The value hasn't necessarily ended. Merge with
+ * partial chunk, leave state unchanged.
+ */
+ add_to_partial (context, context->start, context->iter);
+ }
+ else
+ {
+ bool is_ascii;
+ /* The value has ended at the quote mark. Combine it
+ * with the partial chunk if any; set it for the current
+ * attribute.
+ */
+ add_to_partial (context, context->start, context->iter);
+
+ assert (context->cur_attr >= 0);
+
+ if (unescape_string_inplace (context, context->partial_chunk,
+ &is_ascii)
+ && (is_ascii
+ || text_validate (context,
+ context->partial_chunk->buffer,
+ context->partial_chunk->buflen)))
+ {
+ /* success, advance past quote and set state. */
+ context->attr_values[context->cur_attr] =
+ markup_string_free (context->partial_chunk, false);
+ context->partial_chunk = NULL;
+ advance_char (context);
+ context->state = STATE_BETWEEN_ATTRIBUTES;
+ context->start = NULL;
+ }
+
+ truncate_partial (context);
+ }
+ break;
+
+ case STATE_INSIDE_TEXT:
+ /* Possible next states: AFTER_OPEN_ANGLE */
+ do
+ {
+ if (*context->iter == '<')
+ break;
+ }
+ while (advance_char (context));
+
+ /* The text hasn't necessarily ended. Merge with
+ * partial chunk, leave state unchanged.
+ */
+
+ add_to_partial (context, context->start, context->iter);
+
+ if (context->iter != context->current_text_end)
+ {
+ bool is_ascii;
+
+ /* The text has ended at the open angle. Call the text
+ * callback.
+ */
+ if (unescape_string_inplace (context, context->partial_chunk,
+ &is_ascii)
+ && (is_ascii
+ || text_validate (context,
+ context->partial_chunk->buffer,
+ context->partial_chunk->buflen)))
+ {
+ if (context->parser->text)
+ (*context->parser->text) (context,
+ context->partial_chunk->buffer,
+ context->partial_chunk->buflen,
+ context->user_data);
+
+ /* advance past open angle and set state. */
+ advance_char (context);
+ context->state = STATE_AFTER_OPEN_ANGLE;
+ /* could begin a passthrough */
+ context->start = context->iter;
+ }
+
+ truncate_partial (context);
+ }
+ break;
+
+ case STATE_AFTER_CLOSE_TAG_SLASH:
+ /* Possible next state: INSIDE_CLOSE_TAG_NAME */
+ if (!IS_COMMON_NAME_END_CHAR (*(context->iter)))
+ {
+ context->state = STATE_INSIDE_CLOSE_TAG_NAME;
+
+ /* start of tag name */
+ context->start = context->iter;
+ }
+ else
+ {
+ char *error_text = xasprintf (_("invalid character after '%s'"),
+ "</");
+ emit_error (context, error_text);
+ free (error_text);
+ }
+ break;
+
+ case STATE_INSIDE_CLOSE_TAG_NAME:
+ /* Possible next state: AFTER_CLOSE_TAG_NAME */
+ advance_to_name_end (context);
+ add_to_partial (context, context->start, context->iter);
+
+ if (context->iter != context->current_text_end)
+ context->state = STATE_AFTER_CLOSE_TAG_NAME;
+ break;
+
+ case STATE_AFTER_CLOSE_TAG_NAME:
+ /* Possible next state: AFTER_CLOSE_TAG_SLASH */
+
+ skip_spaces (context);
+
+ if (context->iter != context->current_text_end)
+ {
+ markup_string_ty *close_name;
+
+ close_name = context->partial_chunk;
+ context->partial_chunk = NULL;
+
+ if (*context->iter != '>')
+ {
+ char *error_text =
+ xasprintf (_("invalid character after '%s'"),
+ _("a close element name"));
+ emit_error (context, error_text);
+ free (error_text);
+ }
+ else if (gl_list_size (context->tag_stack) == 0)
+ {
+ emit_error (context, _("element is closed"));
+ }
+ else if (strcmp (close_name->buffer, current_element (context))
+ != 0)
+ {
+ emit_error (context, _("element is closed"));
+ }
+ else
+ {
+ advance_char (context);
+ context->state = STATE_AFTER_CLOSE_ANGLE;
+ context->start = NULL;
+
+ emit_end_element (context);
+ }
+ context->partial_chunk = close_name;
+ truncate_partial (context);
+ }
+ break;
+
+ case STATE_INSIDE_PASSTHROUGH:
+ /* Possible next state: AFTER_CLOSE_ANGLE */
+ do
+ {
+ if (*context->iter == '<')
+ context->balance++;
+ if (*context->iter == '>')
+ {
+ char *str;
+ size_t len;
+
+ context->balance--;
+ add_to_partial (context, context->start, context->iter);
+ context->start = context->iter;
+
+ str = context->partial_chunk->buffer;
+ len = context->partial_chunk->buflen;
+
+ if (str[1] == '?' && str[len - 1] == '?')
+ break;
+ if (strncmp (str, "<!--", 4) == 0 &&
+ strcmp (str + len - 2, "--") == 0)
+ break;
+ if (strncmp (str, "<![CDATA[", 9) == 0 &&
+ strcmp (str + len - 2, "]]") == 0)
+ break;
+ if (strncmp (str, "<!DOCTYPE", 9) == 0 &&
+ context->balance == 0)
+ break;
+ }
+ }
+ while (advance_char (context));
+
+ if (context->iter == context->current_text_end)
+ {
+ /* The passthrough hasn't necessarily ended. Merge with
+ * partial chunk, leave state unchanged.
+ */
+ add_to_partial (context, context->start, context->iter);
+ }
+ else
+ {
+ /* The passthrough has ended at the close angle. Combine
+ * it with the partial chunk if any. Call the passthrough
+ * callback. Note that the open/close angles are
+ * included in the text of the passthrough.
+ */
+ advance_char (context); /* advance past close angle */
+ add_to_partial (context, context->start, context->iter);
+
+ if (context->flags & MARKUP_TREAT_CDATA_AS_TEXT &&
+ strncmp (context->partial_chunk->buffer, "<![CDATA[", 9) == 0)
+ {
+ if (context->parser->text &&
+ text_validate (context,
+ context->partial_chunk->buffer + 9,
+ context->partial_chunk->buflen - 12))
+ (*context->parser->text) (context,
+ context->partial_chunk->buffer + 9,
+ context->partial_chunk->buflen - 12,
+ context->user_data);
+ }
+ else if (context->parser->passthrough &&
+ text_validate (context,
+ context->partial_chunk->buffer,
+ context->partial_chunk->buflen))
+ (*context->parser->passthrough) (context,
+ context->partial_chunk->buffer,
+ context->partial_chunk->buflen,
+ context->user_data);
+
+ truncate_partial (context);
+
+ context->state = STATE_AFTER_CLOSE_ANGLE;
+ context->start = context->iter; /* could begin text */
+ }
+ break;
+
+ case STATE_ERROR:
+ goto finished;
+ break;
+
+ default:
+ abort ();
+ break;
+ }
+ }
+
+ finished:
+ context->parsing = false;
+
+ return context->state != STATE_ERROR;
+}
+
+/* Signals to the parse context that all data has been fed into the
+ * parse context with markup_parse_context_parse.
+ *
+ * This function reports an error if the document isn't complete,
+ * for example if elements are still open. */
+bool
+markup_parse_context_end_parse (markup_parse_context_ty *context)
+{
+ const char *location = NULL;
+
+ assert (context != NULL);
+ assert (!context->parsing);
+ assert (context->state != STATE_ERROR);
+
+ if (context->partial_chunk != NULL)
+ {
+ markup_string_free (context->partial_chunk, true);
+ context->partial_chunk = NULL;
+ }
+
+ if (context->document_empty)
+ {
+ emit_error (context, _("empty document"));
+ return false;
+ }
+
+ context->parsing = true;
+
+ switch (context->state)
+ {
+ case STATE_START:
+ /* Nothing to do */
+ break;
+
+ case STATE_AFTER_OPEN_ANGLE:
+ location = _("after '<'");
+ break;
+
+ case STATE_AFTER_CLOSE_ANGLE:
+ if (gl_list_size (context->tag_stack) > 0)
+ {
+ /* Error message the same as for INSIDE_TEXT */
+ location = _("elements still open");
+ }
+ break;
+
+ case STATE_AFTER_ELISION_SLASH:
+ location = _("missing '>'");
+ break;
+
+ case STATE_INSIDE_OPEN_TAG_NAME:
+ location = _("inside an element name");
+ break;
+
+ case STATE_INSIDE_ATTRIBUTE_NAME:
+ case STATE_AFTER_ATTRIBUTE_NAME:
+ location = _("inside an attribute name");
+ break;
+
+ case STATE_BETWEEN_ATTRIBUTES:
+ location = _("inside an open tag");
+ break;
+
+ case STATE_AFTER_ATTRIBUTE_EQUALS_SIGN:
+ location = _("after '='");
+ break;
+
+ case STATE_INSIDE_ATTRIBUTE_VALUE_SQ:
+ case STATE_INSIDE_ATTRIBUTE_VALUE_DQ:
+ location = _("inside an attribute value");
+ break;
+
+ case STATE_INSIDE_TEXT:
+ assert (gl_list_size (context->tag_stack) > 0);
+ location = _("elements still open");
+ break;
+
+ case STATE_AFTER_CLOSE_TAG_SLASH:
+ case STATE_INSIDE_CLOSE_TAG_NAME:
+ case STATE_AFTER_CLOSE_TAG_NAME:
+ location = _("inside the close tag");
+ break;
+
+ case STATE_INSIDE_PASSTHROUGH:
+ location = _("inside a comment or processing instruction");
+ break;
+
+ case STATE_ERROR:
+ default:
+ abort ();
+ break;
+ }
+
+ if (location != NULL)
+ {
+ char *error_text = xasprintf (_("document ended unexpectedly: %s"),
+ location);
+ emit_error (context, error_text);
+ free (error_text);
+ }
+
+ context->parsing = false;
+
+ return context->state != STATE_ERROR;
+}
+
+const char *
+markup_parse_context_get_error (markup_parse_context_ty *context)
+{
+ return context->error_text;
+}
diff --git a/gettext-tools/libgettextpo/markup.h b/gettext-tools/libgettextpo/markup.h
new file mode 100644
index 0000000..61e5b0e
--- /dev/null
+++ b/gettext-tools/libgettextpo/markup.h
@@ -0,0 +1,164 @@
+/* markup.h -- simple XML-like string parser
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file is not part of the GNU gettext program, but is used with
+ GNU gettext.
+
+ This is a stripped down version of GLib's gmarkup.h. The original
+ copyright notice is as follows:
+ */
+
+/* gmarkup.h - Simple XML-like string parser/writer
+ *
+ * Copyright 2000 Red Hat, Inc.
+ *
+ * GLib 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 3 of the
+ * License, or (at your option) any later version.
+ *
+ * GLib 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 GLib; see the file COPYING.LIB. If not,
+ * see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __MARKUP_H__
+#define __MARKUP_H__ 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <sys/types.h>
+
+/**
+ * markup_parse_flags_ty:
+ * @MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: flag you should not use
+ * @MARKUP_TREAT_CDATA_AS_TEXT: When this flag is set, CDATA marked
+ * sections are not passed literally to the @passthrough function of
+ * the parser. Instead, the content of the section (without the
+ * `<![CDATA[` and `]]>`) is
+ * passed to the @text function. This flag was added in GLib 2.12
+ * @MARKUP_PREFIX_ERROR_POSITION: Normally errors caught by GMarkup
+ * itself have line/column information prefixed to them to let the
+ * caller know the location of the error. When this flag is set the
+ * location information is also prefixed to errors generated by the
+ * #GMarkupParser implementation functions
+ * @MARKUP_IGNORE_QUALIFIED: Ignore (don't report) qualified
+ * attributes and tags, along with their contents. A qualified
+ * attribute or tag is one that contains ':' in its name (ie: is in
+ * another namespace). Since: 2.40.
+ *
+ * Flags that affect the behaviour of the parser.
+ */
+typedef enum
+ {
+ MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0,
+ MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1,
+ MARKUP_PREFIX_ERROR_POSITION = 1 << 2,
+ MARKUP_IGNORE_QUALIFIED = 1 << 3
+ } markup_parse_flags_ty;
+
+/**
+ * markup_parse_context_ty:
+ *
+ * A parse context is used to parse a stream of bytes that
+ * you expect to contain marked-up text.
+ *
+ * See markup_parse_context_new(), #markup_parser_ty, and so
+ * on for more details.
+ */
+typedef struct _markup_parse_context_ty markup_parse_context_ty;
+typedef struct _markup_parser_ty markup_parser_ty;
+
+/**
+ * markup_parser_ty:
+ * @start_element: Callback to invoke when the opening tag of an element
+ * is seen. The callback's @attribute_names and @attribute_values parameters
+ * are %NULL-terminated.
+ * @end_element: Callback to invoke when the closing tag of an element
+ * is seen. Note that this is also called for empty tags like
+ * `<empty/>`.
+ * @text: Callback to invoke when some text is seen (text is always
+ * inside an element). Note that the text of an element may be spread
+ * over multiple calls of this function. If the
+ * %MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also
+ * called for the content of CDATA marked sections.
+ * @passthrough: Callback to invoke for comments, processing instructions
+ * and doctype declarations; if you're re-writing the parsed document,
+ * write the passthrough text back out in the same position. If the
+ * %MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also
+ * called for CDATA marked sections.
+ * @error: Callback to invoke when an error occurs.
+ *
+ * Any of the fields in #markup_parser_ty can be %NULL, in which case they
+ * will be ignored. Except for the @error function, any of these callbacks
+ * can set an error; in particular the %MARKUP_ERROR_UNKNOWN_ELEMENT,
+ * %MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and %MARKUP_ERROR_INVALID_CONTENT
+ * errors are intended to be set from these callbacks. If you set an error
+ * from a callback, markup_parse_context_parse() will report that error
+ * back to its caller.
+ */
+struct _markup_parser_ty
+{
+ /* Called for open tags <foo bar="baz"> */
+ bool (*start_element) (markup_parse_context_ty *context,
+ const char *element_name,
+ const char **attribute_names,
+ const char **attribute_values,
+ void *user_data);
+
+ /* Called for close tags </foo> */
+ bool (*end_element) (markup_parse_context_ty *context,
+ const char *element_name,
+ void *user_data);
+
+ /* Called for character data */
+ /* text is not nul-terminated */
+ bool (*text) (markup_parse_context_ty *context,
+ const char *text,
+ size_t text_len,
+ void *user_data);
+
+ /* Called for strings that should be re-saved verbatim in this same
+ * position, but are not otherwise interpretable. At the moment
+ * this includes comments and processing instructions.
+ */
+ /* text is not nul-terminated. */
+ bool (*passthrough) (markup_parse_context_ty *context,
+ const char *passthrough_text,
+ size_t text_len,
+ void *user_data);
+
+ /* Called on error, including one set by other
+ * methods in the vtable. The GError should not be freed.
+ */
+ void (*error) (markup_parse_context_ty *context,
+ const char *error_text,
+ void *user_data);
+};
+
+extern markup_parse_context_ty *
+ markup_parse_context_new (const markup_parser_ty *parser,
+ markup_parse_flags_ty flags,
+ void *user_data);
+extern void markup_parse_context_free (markup_parse_context_ty *context);
+extern bool markup_parse_context_parse (markup_parse_context_ty *context,
+ const char *text,
+ ssize_t text_len);
+extern bool markup_parse_context_end_parse (markup_parse_context_ty *context);
+extern const char *
+ markup_parse_context_get_error (markup_parse_context_ty *context);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MARKUP_H__ */
diff --git a/gettext-tools/libgettextpo/mbrtowc.c b/gettext-tools/libgettextpo/mbrtowc.c
index 5743f43..e49d55b 100644
--- a/gettext-tools/libgettextpo/mbrtowc.c
+++ b/gettext-tools/libgettextpo/mbrtowc.c
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/mbsinit.c b/gettext-tools/libgettextpo/mbsinit.c
index df4bcd1..4effdd8 100644
--- a/gettext-tools/libgettextpo/mbsinit.c
+++ b/gettext-tools/libgettextpo/mbsinit.c
@@ -1,5 +1,5 @@
/* Test for initial conversion state.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/mbswidth.c b/gettext-tools/libgettextpo/mbswidth.c
index d39067a..75ca79a 100644
--- a/gettext-tools/libgettextpo/mbswidth.c
+++ b/gettext-tools/libgettextpo/mbswidth.c
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/mbswidth.h b/gettext-tools/libgettextpo/mbswidth.h
index ab7c150..f5b0fc3 100644
--- a/gettext-tools/libgettextpo/mbswidth.h
+++ b/gettext-tools/libgettextpo/mbswidth.h
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2004, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2004, 2007, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/memchr.c b/gettext-tools/libgettextpo/memchr.c
index 6709f6e..f74cc9a 100644
--- a/gettext-tools/libgettextpo/memchr.c
+++ b/gettext-tools/libgettextpo/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2014
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2015
Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/gettext-tools/libgettextpo/minmax.h b/gettext-tools/libgettextpo/minmax.h
index af1fc9b..919678d 100644
--- a/gettext-tools/libgettextpo/minmax.h
+++ b/gettext-tools/libgettextpo/minmax.h
@@ -1,5 +1,5 @@
/* MIN, MAX macros.
- Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/moo.h b/gettext-tools/libgettextpo/moo.h
index a1ea917..2925b58 100644
--- a/gettext-tools/libgettextpo/moo.h
+++ b/gettext-tools/libgettextpo/moo.h
@@ -1,5 +1,5 @@
/* Minimal object-oriented facilities for C.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/msvc-inval.c b/gettext-tools/libgettextpo/msvc-inval.c
index f83827f..a1f1dc0 100644
--- a/gettext-tools/libgettextpo/msvc-inval.c
+++ b/gettext-tools/libgettextpo/msvc-inval.c
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/msvc-inval.h b/gettext-tools/libgettextpo/msvc-inval.h
index a0ef540..8b07269 100644
--- a/gettext-tools/libgettextpo/msvc-inval.h
+++ b/gettext-tools/libgettextpo/msvc-inval.h
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/msvc-nothrow.c b/gettext-tools/libgettextpo/msvc-nothrow.c
index b1e5f0c..90cf801 100644
--- a/gettext-tools/libgettextpo/msvc-nothrow.c
+++ b/gettext-tools/libgettextpo/msvc-nothrow.c
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/msvc-nothrow.h b/gettext-tools/libgettextpo/msvc-nothrow.h
index 0d4dea5..67b151e 100644
--- a/gettext-tools/libgettextpo/msvc-nothrow.h
+++ b/gettext-tools/libgettextpo/msvc-nothrow.h
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/obstack.c b/gettext-tools/libgettextpo/obstack.c
index fa3cc44..dd6e1f7 100644
--- a/gettext-tools/libgettextpo/obstack.c
+++ b/gettext-tools/libgettextpo/obstack.c
@@ -1,5 +1,5 @@
/* obstack.c - subroutines used implicitly by object stack macros
- Copyright (C) 1988-2014 Free Software Foundation, Inc.
+ Copyright (C) 1988-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/gettext-tools/libgettextpo/obstack.h b/gettext-tools/libgettextpo/obstack.h
index cc44c06..f7e791b 100644
--- a/gettext-tools/libgettextpo/obstack.h
+++ b/gettext-tools/libgettextpo/obstack.h
@@ -1,5 +1,5 @@
/* obstack.h - object stack macros
- Copyright (C) 1988-2014 Free Software Foundation, Inc.
+ Copyright (C) 1988-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/gettext-tools/libgettextpo/open.c b/gettext-tools/libgettextpo/open.c
index d6f8e0d..95c7811 100644
--- a/gettext-tools/libgettextpo/open.c
+++ b/gettext-tools/libgettextpo/open.c
@@ -1,5 +1,5 @@
/* Open a descriptor to a file.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/ostream.c b/gettext-tools/libgettextpo/ostream.c
index 854d4a0..0cce0d2 100644
--- a/gettext-tools/libgettextpo/ostream.c
+++ b/gettext-tools/libgettextpo/ostream.c
@@ -2,7 +2,7 @@
#line 1 "ostream.oo.c"
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/ostream.h b/gettext-tools/libgettextpo/ostream.h
index 96cb623..7fc6979 100644
--- a/gettext-tools/libgettextpo/ostream.h
+++ b/gettext-tools/libgettextpo/ostream.h
@@ -2,7 +2,7 @@
#line 1 "ostream.oo.h"
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/ostream.oo.c b/gettext-tools/libgettextpo/ostream.oo.c
index 49ee16f..3c178fa 100644
--- a/gettext-tools/libgettextpo/ostream.oo.c
+++ b/gettext-tools/libgettextpo/ostream.oo.c
@@ -1,5 +1,5 @@
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/ostream.oo.h b/gettext-tools/libgettextpo/ostream.oo.h
index 2a9a7f3..87199df 100644
--- a/gettext-tools/libgettextpo/ostream.oo.h
+++ b/gettext-tools/libgettextpo/ostream.oo.h
@@ -1,5 +1,5 @@
/* Abstract output stream data type.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/pathmax.h b/gettext-tools/libgettextpo/pathmax.h
index 33fc355..2f3b64f 100644
--- a/gettext-tools/libgettextpo/pathmax.h
+++ b/gettext-tools/libgettextpo/pathmax.h
@@ -1,5 +1,5 @@
/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/printf-args.c b/gettext-tools/libgettextpo/printf-args.c
index 39cd0a4..da17efb 100644
--- a/gettext-tools/libgettextpo/printf-args.c
+++ b/gettext-tools/libgettextpo/printf-args.c
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2014 Free Software
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/printf-args.h b/gettext-tools/libgettextpo/printf-args.h
index 9364eed..387976c 100644
--- a/gettext-tools/libgettextpo/printf-args.h
+++ b/gettext-tools/libgettextpo/printf-args.h
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2014 Free Software
+ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/printf-parse.c b/gettext-tools/libgettextpo/printf-parse.c
index 131d0f0..40d0a22 100644
--- a/gettext-tools/libgettextpo/printf-parse.c
+++ b/gettext-tools/libgettextpo/printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2003, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/printf-parse.h b/gettext-tools/libgettextpo/printf-parse.h
index 2651195..fda6704 100644
--- a/gettext-tools/libgettextpo/printf-parse.h
+++ b/gettext-tools/libgettextpo/printf-parse.h
@@ -1,5 +1,5 @@
/* Parse printf format string.
- Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2014 Free Software
+ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/progname.c b/gettext-tools/libgettextpo/progname.c
index 2919be9..fe93bca 100644
--- a/gettext-tools/libgettextpo/progname.c
+++ b/gettext-tools/libgettextpo/progname.c
@@ -1,5 +1,5 @@
/* Program name management.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/progname.h b/gettext-tools/libgettextpo/progname.h
index f620027..15ca3a2 100644
--- a/gettext-tools/libgettextpo/progname.h
+++ b/gettext-tools/libgettextpo/progname.h
@@ -1,5 +1,5 @@
/* Program name management.
- Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/raise.c b/gettext-tools/libgettextpo/raise.c
index cf58a7e..d6ba2a1 100644
--- a/gettext-tools/libgettextpo/raise.c
+++ b/gettext-tools/libgettextpo/raise.c
@@ -1,6 +1,6 @@
/* Provide a non-threads replacement for the POSIX raise function.
- Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/rawmemchr.c b/gettext-tools/libgettextpo/rawmemchr.c
index 63bdb5c..a6380ba 100644
--- a/gettext-tools/libgettextpo/rawmemchr.c
+++ b/gettext-tools/libgettextpo/rawmemchr.c
@@ -1,5 +1,5 @@
/* Searching in a string.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/realloc.c b/gettext-tools/libgettextpo/realloc.c
index 8dfcfbe..068b081 100644
--- a/gettext-tools/libgettextpo/realloc.c
+++ b/gettext-tools/libgettextpo/realloc.c
@@ -1,6 +1,6 @@
/* realloc() function that is glibc compatible.
- Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
+ Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/ref-add.sin b/gettext-tools/libgettextpo/ref-add.sin
index 0e14022..6cbe5b5 100644
--- a/gettext-tools/libgettextpo/ref-add.sin
+++ b/gettext-tools/libgettextpo/ref-add.sin
@@ -1,6 +1,6 @@
# Add this package to a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/libgettextpo/ref-del.sin b/gettext-tools/libgettextpo/ref-del.sin
index 2dbcf7b..f50cf0a 100644
--- a/gettext-tools/libgettextpo/ref-del.sin
+++ b/gettext-tools/libgettextpo/ref-del.sin
@@ -1,6 +1,6 @@
# Remove this package from a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/libgettextpo/relocatable.c b/gettext-tools/libgettextpo/relocatable.c
index 0e20897..bed882d 100644
--- a/gettext-tools/libgettextpo/relocatable.c
+++ b/gettext-tools/libgettextpo/relocatable.c
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2006, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
@@ -47,6 +47,14 @@
# include <windows.h>
#endif
+#ifdef __EMX__
+# define INCL_DOS
+# include <os2.h>
+
+# define strcmp stricmp
+# define strncmp strnicmp
+#endif
+
#if DEPENDS_ON_LIBCHARSET
# include <libcharset.h>
#endif
@@ -335,6 +343,45 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
return TRUE;
}
+#elif defined __EMX__
+
+extern int _CRT_init (void);
+extern void _CRT_term (void);
+extern void __ctordtorInit (void);
+extern void __ctordtorTerm (void);
+
+unsigned long _System
+_DLL_InitTerm (unsigned long hModule, unsigned long ulFlag)
+{
+ static char location[CCHMAXPATH];
+
+ switch (ulFlag)
+ {
+ case 0:
+ if (_CRT_init () == -1)
+ return 0;
+
+ __ctordtorInit();
+
+ /* See http://cyberkinetica.homeunix.net/os2tk45/cp1/1247_L2H_DosQueryModuleNameSy.html
+ for specification of DosQueryModuleName(). */
+ if (DosQueryModuleName (hModule, sizeof (location), location))
+ return 0;
+
+ _fnslashify (location);
+ shared_library_fullname = strdup (location);
+ break;
+
+ case 1:
+ __ctordtorTerm();
+
+ _CRT_term ();
+ break;
+ }
+
+ return 1;
+}
+
#else /* Unix */
static void
@@ -390,15 +437,16 @@ find_shared_library_fullname ()
#endif
}
-#endif /* Native Windows / Unix */
+#endif /* Native Windows / EMX / Unix */
/* Return the full pathname of the current shared library.
Return NULL if unknown.
- Guaranteed to work only on Linux, Cygwin, and native Windows. */
+ Guaranteed to work only on Linux, EMX, Cygwin, and native Windows. */
static char *
get_shared_library_fullname ()
{
-#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__)
+#if (!((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) \
+ && !defined __EMX__)
static bool tried_find_shared_library_fullname;
if (!tried_find_shared_library_fullname)
{
@@ -489,6 +537,27 @@ relocate (const char *pathname)
}
}
}
+
+#ifdef __EMX__
+ if (pathname && ISSLASH (pathname[0]))
+ {
+ const char *unixroot = getenv ("UNIXROOT");
+
+ if (unixroot && HAS_DEVICE (unixroot) && !unixroot[2])
+ {
+ char *result = (char *) xmalloc (2 + strlen (pathname) + 1);
+#ifdef NO_XMALLOC
+ if (result != NULL)
+#endif
+ {
+ strcpy (result, unixroot);
+ strcpy (result + 2, pathname);
+ return result;
+ }
+ }
+ }
+#endif
+
/* Nothing to relocate. */
return pathname;
}
diff --git a/gettext-tools/libgettextpo/relocatable.h b/gettext-tools/libgettextpo/relocatable.h
index 2b0fab7..c8911b2 100644
--- a/gettext-tools/libgettextpo/relocatable.h
+++ b/gettext-tools/libgettextpo/relocatable.h
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003, 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/signal.in.h b/gettext-tools/libgettextpo/signal.in.h
index 925e16f..265b72a 100644
--- a/gettext-tools/libgettextpo/signal.in.h
+++ b/gettext-tools/libgettextpo/signal.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <signal.h>.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
@@ -55,11 +55,13 @@
#ifndef _@GUARD_PREFIX@_SIGNAL_H
#define _@GUARD_PREFIX@_SIGNAL_H
-/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare
- pthread_sigmask in <pthread.h>, not in <signal.h>.
+/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android
+ declare pthread_sigmask in <pthread.h>, not in <signal.h>.
But avoid namespace pollution on glibc systems.*/
#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
- && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ || defined __sun) \
+ && ((defined __APPLE__ && defined __MACH__) \
+ || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ \
+ || defined __sun || defined __ANDROID__) \
&& ! defined __GLIBC__
# include <pthread.h>
#endif
diff --git a/gettext-tools/libgettextpo/sigprocmask.c b/gettext-tools/libgettextpo/sigprocmask.c
index 506a51f..e29b012 100644
--- a/gettext-tools/libgettextpo/sigprocmask.c
+++ b/gettext-tools/libgettextpo/sigprocmask.c
@@ -1,5 +1,5 @@
/* POSIX compatible signal blocking.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/size_max.h b/gettext-tools/libgettextpo/size_max.h
index 461ff1c..5a0568e 100644
--- a/gettext-tools/libgettextpo/size_max.h
+++ b/gettext-tools/libgettextpo/size_max.h
@@ -1,5 +1,5 @@
/* size_max.h -- declare SIZE_MAX through system headers
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/stat.c b/gettext-tools/libgettextpo/stat.c
index 35f4b0b..2209826 100644
--- a/gettext-tools/libgettextpo/stat.c
+++ b/gettext-tools/libgettextpo/stat.c
@@ -1,5 +1,5 @@
/* Work around platform bugs in stat.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/stdarg.in.h b/gettext-tools/libgettextpo/stdarg.in.h
index 5b37dd3..5239f51 100644
--- a/gettext-tools/libgettextpo/stdarg.in.h
+++ b/gettext-tools/libgettextpo/stdarg.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <stdarg.h>.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/stdbool.in.h b/gettext-tools/libgettextpo/stdbool.in.h
index 651e8df..64a1761 100644
--- a/gettext-tools/libgettextpo/stdbool.in.h
+++ b/gettext-tools/libgettextpo/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/stddef.in.h b/gettext-tools/libgettextpo/stddef.in.h
index f5c0e05..698307b 100644
--- a/gettext-tools/libgettextpo/stddef.in.h
+++ b/gettext-tools/libgettextpo/stddef.in.h
@@ -1,6 +1,6 @@
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
@@ -39,7 +39,6 @@
# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
# ifdef __need_wint_t
-# undef _@GUARD_PREFIX@_STDDEF_H
# define _GL_STDDEF_WINT_T
# endif
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
@@ -54,33 +53,56 @@
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
-# ifndef _@GUARD_PREFIX@_STDDEF_H
-# define _@GUARD_PREFIX@_STDDEF_H
-
/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */
-#if @REPLACE_NULL@
-# undef NULL
-# ifdef __cplusplus
+# if (@REPLACE_NULL@ \
+ && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T))
+# undef NULL
+# ifdef __cplusplus
/* ISO C++ says that the macro NULL must expand to an integer constant
expression, hence '((void *) 0)' is not allowed in C++. */
-# if __GNUG__ >= 3
+# if __GNUG__ >= 3
/* GNU C++ has a __null macro that behaves like an integer ('int' or
'long') but has the same size as a pointer. Use that, to avoid
warnings. */
-# define NULL __null
-# else
-# define NULL 0L
+# define NULL __null
+# else
+# define NULL 0L
+# endif
+# else
+# define NULL ((void *) 0)
+# endif
# endif
-# else
-# define NULL ((void *) 0)
-# endif
-#endif
+
+# ifndef _@GUARD_PREFIX@_STDDEF_H
+# define _@GUARD_PREFIX@_STDDEF_H
/* Some platforms lack wchar_t. */
#if !@HAVE_WCHAR_T@
# define wchar_t int
#endif
+/* Some platforms lack max_align_t. */
+#if !@HAVE_MAX_ALIGN_T@
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
+ but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
+ and the C11 standard allows this. Work around this problem by
+ using __alignof__ (which returns 8 for double) rather than _Alignof
+ (which returns 4), and align each union member accordingly. */
+# ifdef __GNUC__
+# define _GL_STDDEF_ALIGNAS(type) \
+ __attribute__ ((__aligned__ (__alignof__ (type))))
+# else
+# define _GL_STDDEF_ALIGNAS(type) /* */
+# endif
+typedef union
+{
+ char *__p _GL_STDDEF_ALIGNAS (char *);
+ double __d _GL_STDDEF_ALIGNAS (double);
+ long double __ld _GL_STDDEF_ALIGNAS (long double);
+ long int __i _GL_STDDEF_ALIGNAS (long int);
+} max_align_t;
+#endif
+
# endif /* _@GUARD_PREFIX@_STDDEF_H */
# endif /* _@GUARD_PREFIX@_STDDEF_H */
#endif /* __need_XXX */
diff --git a/gettext-tools/libgettextpo/stdint.in.h b/gettext-tools/libgettextpo/stdint.in.h
index 247f0d8..378de2e 100644
--- a/gettext-tools/libgettextpo/stdint.in.h
+++ b/gettext-tools/libgettextpo/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
diff --git a/gettext-tools/libgettextpo/stdio-write.c b/gettext-tools/libgettextpo/stdio-write.c
index cf9174c..b913101 100644
--- a/gettext-tools/libgettextpo/stdio-write.c
+++ b/gettext-tools/libgettextpo/stdio-write.c
@@ -1,5 +1,5 @@
/* POSIX compatible FILE stream write function.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/stdio.in.h b/gettext-tools/libgettextpo/stdio.in.h
index 1e1fe84..ec43874 100644
--- a/gettext-tools/libgettextpo/stdio.in.h
+++ b/gettext-tools/libgettextpo/stdio.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdio.h>.
- Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
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
@@ -84,8 +84,13 @@
except that it indicates to GCC that the supported format string directives
are the ones of the system printf(), rather than the ones standardized by
ISO C99 and POSIX. */
-#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument)
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
_GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
/* _GL_ATTRIBUTE_FORMAT_SCANF
indicates to GCC that the function takes a format string and arguments,
@@ -718,11 +723,10 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
so any use of gets warrants an unconditional warning; besides, C11
removed it. */
#undef gets
-#if HAVE_RAW_DECL_GETS
+#if HAVE_RAW_DECL_GETS && !defined __cplusplus
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
-
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
struct obstack;
/* Grow an obstack with formatted output. Return the number of
diff --git a/gettext-tools/libgettextpo/stdlib.in.h b/gettext-tools/libgettextpo/stdlib.in.h
index ee64324..428a119 100644
--- a/gettext-tools/libgettextpo/stdlib.in.h
+++ b/gettext-tools/libgettextpo/stdlib.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdlib.h>.
- Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/stpcpy.c b/gettext-tools/libgettextpo/stpcpy.c
index 880a706..559d2f2 100644
--- a/gettext-tools/libgettextpo/stpcpy.c
+++ b/gettext-tools/libgettextpo/stpcpy.c
@@ -1,5 +1,5 @@
/* stpcpy.c -- copy a string and return pointer to end of new string
- Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2014 Free Software
+ Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gettext-tools/libgettextpo/stpncpy.c b/gettext-tools/libgettextpo/stpncpy.c
new file mode 100644
index 0000000..e72ea47
--- /dev/null
+++ b/gettext-tools/libgettextpo/stpncpy.c
@@ -0,0 +1,92 @@
+/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007, 2009-2015 Free Software
+ * Foundation, Inc.
+
+ NOTE: The canonical source of this file is maintained with the GNU C Library.
+ Bugs can be reported to bug-glibc@gnu.org.
+
+ 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 3 of the License, or 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, see <http://www.gnu.org/licenses/>. */
+
+/* This is almost copied from strncpy.c, written by Torbjorn Granlund. */
+
+#include <config.h>
+
+/* Specification. */
+#include <string.h>
+
+#ifndef weak_alias
+# define __stpncpy stpncpy
+#endif
+
+/* Copy no more than N bytes of SRC to DST, returning a pointer past the
+ last non-NUL byte written into DST. */
+char *
+(__stpncpy) (char *dest, const char *src, size_t n)
+{
+ char c;
+ char *s = dest;
+
+ if (n >= 4)
+ {
+ size_t n4 = n >> 2;
+
+ for (;;)
+ {
+ c = *src++;
+ *dest++ = c;
+ if (c == '\0')
+ break;
+ c = *src++;
+ *dest++ = c;
+ if (c == '\0')
+ break;
+ c = *src++;
+ *dest++ = c;
+ if (c == '\0')
+ break;
+ c = *src++;
+ *dest++ = c;
+ if (c == '\0')
+ break;
+ if (--n4 == 0)
+ goto last_chars;
+ }
+ n -= dest - s;
+ goto zero_fill;
+ }
+
+ last_chars:
+ n &= 3;
+ if (n == 0)
+ return dest;
+
+ for (;;)
+ {
+ c = *src++;
+ --n;
+ *dest++ = c;
+ if (c == '\0')
+ break;
+ if (n == 0)
+ return dest;
+ }
+
+ zero_fill:
+ while (n-- > 0)
+ dest[n] = '\0';
+
+ return dest - 1;
+}
+#ifdef weak_alias
+weak_alias (__stpncpy, stpncpy)
+#endif
diff --git a/gettext-tools/libgettextpo/str-two-way.h b/gettext-tools/libgettextpo/str-two-way.h
index 49ee746..6e10c8e 100644
--- a/gettext-tools/libgettextpo/str-two-way.h
+++ b/gettext-tools/libgettextpo/str-two-way.h
@@ -1,5 +1,5 @@
/* Byte-wise substring search, using the Two-Way algorithm.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Eric Blake <ebb9@byu.net>, 2008.
diff --git a/gettext-tools/libgettextpo/strchrnul.c b/gettext-tools/libgettextpo/strchrnul.c
index 452b554..1000e83 100644
--- a/gettext-tools/libgettextpo/strchrnul.c
+++ b/gettext-tools/libgettextpo/strchrnul.c
@@ -1,5 +1,5 @@
/* Searching in a string.
- Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/streq.h b/gettext-tools/libgettextpo/streq.h
index 0e62fb9..6107fc6 100644
--- a/gettext-tools/libgettextpo/streq.h
+++ b/gettext-tools/libgettextpo/streq.h
@@ -1,5 +1,5 @@
/* Optimized string comparison.
- Copyright (C) 2001-2002, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/libgettextpo/strerror-override.c b/gettext-tools/libgettextpo/strerror-override.c
index 255d933..2bb4d74 100644
--- a/gettext-tools/libgettextpo/strerror-override.c
+++ b/gettext-tools/libgettextpo/strerror-override.c
@@ -1,6 +1,6 @@
/* strerror-override.c --- POSIX compatible system error routine
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/strerror-override.h b/gettext-tools/libgettextpo/strerror-override.h
index e98c1c1..7af36df 100644
--- a/gettext-tools/libgettextpo/strerror-override.h
+++ b/gettext-tools/libgettextpo/strerror-override.h
@@ -1,6 +1,6 @@
/* strerror-override.h --- POSIX compatible system error routine
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/strerror.c b/gettext-tools/libgettextpo/strerror.c
index e54f0cc..adba738 100644
--- a/gettext-tools/libgettextpo/strerror.c
+++ b/gettext-tools/libgettextpo/strerror.c
@@ -1,6 +1,6 @@
/* strerror.c --- POSIX compatible system error routine
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/striconv.c b/gettext-tools/libgettextpo/striconv.c
index 2495d81..6f7dad8 100644
--- a/gettext-tools/libgettextpo/striconv.c
+++ b/gettext-tools/libgettextpo/striconv.c
@@ -1,5 +1,5 @@
/* Charset conversion.
- Copyright (C) 2001-2007, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2010-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/striconv.h b/gettext-tools/libgettextpo/striconv.h
index 5747731..33cc212 100644
--- a/gettext-tools/libgettextpo/striconv.h
+++ b/gettext-tools/libgettextpo/striconv.h
@@ -1,5 +1,5 @@
/* Charset conversion.
- Copyright (C) 2001-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/striconveh.c b/gettext-tools/libgettextpo/striconveh.c
index 82222bc..2a9a8f7 100644
--- a/gettext-tools/libgettextpo/striconveh.c
+++ b/gettext-tools/libgettextpo/striconveh.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/striconveh.h b/gettext-tools/libgettextpo/striconveh.h
index 4f2416e..1e13af6 100644
--- a/gettext-tools/libgettextpo/striconveh.h
+++ b/gettext-tools/libgettextpo/striconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/striconveha.c b/gettext-tools/libgettextpo/striconveha.c
index f27d84e..4fadc17 100644
--- a/gettext-tools/libgettextpo/striconveha.c
+++ b/gettext-tools/libgettextpo/striconveha.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/striconveha.h b/gettext-tools/libgettextpo/striconveha.h
index e739585..a5b8824 100644
--- a/gettext-tools/libgettextpo/striconveha.h
+++ b/gettext-tools/libgettextpo/striconveha.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/string.in.h b/gettext-tools/libgettextpo/string.in.h
index 9062142..2abd6bc 100644
--- a/gettext-tools/libgettextpo/string.in.h
+++ b/gettext-tools/libgettextpo/string.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
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
@@ -15,16 +15,32 @@
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>. */
-#ifndef _@GUARD_PREFIX@_STRING_H
-
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
@PRAGMA_COLUMNS@
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+ - On OS X/NetBSD we have a sequence of nested includes
+ <string.h> -> <strings.h> -> "string.h"
+ In this situation system _chk variants due to -D_FORTIFY_SOURCE
+ might be used after any replacements defined here. */
+
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STRING_H@
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
#ifndef _@GUARD_PREFIX@_STRING_H
#define _@GUARD_PREFIX@_STRING_H
@@ -1027,3 +1043,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
#endif /* _@GUARD_PREFIX@_STRING_H */
#endif /* _@GUARD_PREFIX@_STRING_H */
+#endif
diff --git a/gettext-tools/libgettextpo/strstr.c b/gettext-tools/libgettextpo/strstr.c
index d5b9d78..fbc11a2 100644
--- a/gettext-tools/libgettextpo/strstr.c
+++ b/gettext-tools/libgettextpo/strstr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2014 Free Software
+/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gettext-tools/libgettextpo/sys_stat.in.h b/gettext-tools/libgettextpo/sys_stat.in.h
index b47a7ff..9f5e853 100644
--- a/gettext-tools/libgettextpo/sys_stat.in.h
+++ b/gettext-tools/libgettextpo/sys_stat.in.h
@@ -1,5 +1,5 @@
/* Provide a more complete sys/stat header file.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/sys_time.in.h b/gettext-tools/libgettextpo/sys_time.in.h
index 30057ad..c556c5d 100644
--- a/gettext-tools/libgettextpo/sys_time.in.h
+++ b/gettext-tools/libgettextpo/sys_time.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/time.h.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/sys_types.in.h b/gettext-tools/libgettextpo/sys_types.in.h
index deb5d67..814bc17 100644
--- a/gettext-tools/libgettextpo/sys_types.in.h
+++ b/gettext-tools/libgettextpo/sys_types.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/types.h.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/time.in.h b/gettext-tools/libgettextpo/time.in.h
index 81abdf4..a90552c 100644
--- a/gettext-tools/libgettextpo/time.in.h
+++ b/gettext-tools/libgettextpo/time.in.h
@@ -1,6 +1,6 @@
/* A more-standard <time.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
@@ -22,11 +22,13 @@
/* Don't get in the way of glibc when it includes time.h merely to
declare a few standard symbols, rather than to declare all the
- symbols. Also, Solaris 8 <time.h> eventually includes itself
+ symbols. (However, skip this for MinGW as it treats __need_time_t
+ incompatibly.) Also, Solaris 8 <time.h> eventually includes itself
recursively; if that is happening, just include the system <time.h>
without adding our own declarations. */
-#if (defined __need_time_t || defined __need_clock_t \
- || defined __need_timespec \
+#if (((defined __need_time_t || defined __need_clock_t \
+ || defined __need_timespec) \
+ && !defined __MINGW32__) \
|| defined _@GUARD_PREFIX@_TIME_H)
# @INCLUDE_NEXT@ @NEXT_TIME_H@
@@ -55,6 +57,8 @@
# include <sys/time.h>
# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
# include <pthread.h>
+# elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+# include <unistd.h>
# else
# ifdef __cplusplus
@@ -229,6 +233,25 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
_GL_CXXALIASWARN (strptime);
# endif
+# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@
+typedef struct tm_zone *timezone_t;
+_GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz));
+_GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz));
+_GL_FUNCDECL_SYS (localtime_rz, struct tm *,
+ (timezone_t __tz, time_t const *restrict __timer,
+ struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_SYS (localtime_rz, struct tm *,
+ (timezone_t __tz, time_t const *restrict __timer,
+ struct tm *restrict __result));
+_GL_FUNCDECL_SYS (mktime_z, time_t,
+ (timezone_t __tz, struct tm *restrict __result)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_SYS (mktime_z, time_t,
+ (timezone_t __tz, struct tm *restrict __result));
+# endif
+
/* Convert TM to a time_t value, assuming UTC. */
# if @GNULIB_TIMEGM@
# if @REPLACE_TIMEGM@
diff --git a/gettext-tools/libgettextpo/uniconv.in.h b/gettext-tools/libgettextpo/uniconv.in.h
index 4f44fc0..bca94ba 100644
--- a/gettext-tools/libgettextpo/uniconv.in.h
+++ b/gettext-tools/libgettextpo/uniconv.in.h
@@ -1,5 +1,5 @@
/* Conversions between Unicode and legacy encodings.
- Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/libgettextpo/uniconv/u8-conv-from-enc.c b/gettext-tools/libgettextpo/uniconv/u8-conv-from-enc.c
index 2d28cde..3fdc8ca 100644
--- a/gettext-tools/libgettextpo/uniconv/u8-conv-from-enc.c
+++ b/gettext-tools/libgettextpo/uniconv/u8-conv-from-enc.c
@@ -1,5 +1,5 @@
/* Conversion to UTF-8 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/libgettextpo/unictype.in.h b/gettext-tools/libgettextpo/unictype.in.h
new file mode 100644
index 0000000..fdbfdd3
--- /dev/null
+++ b/gettext-tools/libgettextpo/unictype.in.h
@@ -0,0 +1,1050 @@
+/* Unicode character classification and properties.
+ Copyright (C) 2002, 2005-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNICTYPE_H
+#define _UNICTYPE_H
+
+#include "unitypes.h"
+
+/* Get bool. */
+#include <stdbool.h>
+
+/* Get size_t. */
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ========================================================================= */
+
+/* Field 1 of Unicode Character Database: Character name.
+ See "uniname.h". */
+
+/* ========================================================================= */
+
+/* Field 2 of Unicode Character Database: General category. */
+
+/* Data type denoting a General category value. This is not just a bitmask,
+ but rather a bitmask and a pointer to the lookup table, so that programs
+ that use only the predefined bitmasks (i.e. don't combine bitmasks with &
+ and |) don't have a link-time dependency towards the big general table. */
+typedef struct
+{
+ uint32_t bitmask : 31;
+ /*bool*/ unsigned int generic : 1;
+ union
+ {
+ const void *table; /* when generic is 0 */
+ bool (*lookup_fn) (ucs4_t uc, uint32_t bitmask); /* when generic is 1 */
+ } lookup;
+}
+uc_general_category_t;
+
+/* Bits and bit masks denoting General category values. UnicodeData-3.2.0.html
+ says a 32-bit integer will always suffice to represent them.
+ These bit masks can only be used with the uc_is_general_category_withtable
+ function. */
+enum
+{
+ UC_CATEGORY_MASK_L = 0x0000001f,
+ UC_CATEGORY_MASK_LC = 0x00000007,
+ UC_CATEGORY_MASK_Lu = 0x00000001,
+ UC_CATEGORY_MASK_Ll = 0x00000002,
+ UC_CATEGORY_MASK_Lt = 0x00000004,
+ UC_CATEGORY_MASK_Lm = 0x00000008,
+ UC_CATEGORY_MASK_Lo = 0x00000010,
+ UC_CATEGORY_MASK_M = 0x000000e0,
+ UC_CATEGORY_MASK_Mn = 0x00000020,
+ UC_CATEGORY_MASK_Mc = 0x00000040,
+ UC_CATEGORY_MASK_Me = 0x00000080,
+ UC_CATEGORY_MASK_N = 0x00000700,
+ UC_CATEGORY_MASK_Nd = 0x00000100,
+ UC_CATEGORY_MASK_Nl = 0x00000200,
+ UC_CATEGORY_MASK_No = 0x00000400,
+ UC_CATEGORY_MASK_P = 0x0003f800,
+ UC_CATEGORY_MASK_Pc = 0x00000800,
+ UC_CATEGORY_MASK_Pd = 0x00001000,
+ UC_CATEGORY_MASK_Ps = 0x00002000,
+ UC_CATEGORY_MASK_Pe = 0x00004000,
+ UC_CATEGORY_MASK_Pi = 0x00008000,
+ UC_CATEGORY_MASK_Pf = 0x00010000,
+ UC_CATEGORY_MASK_Po = 0x00020000,
+ UC_CATEGORY_MASK_S = 0x003c0000,
+ UC_CATEGORY_MASK_Sm = 0x00040000,
+ UC_CATEGORY_MASK_Sc = 0x00080000,
+ UC_CATEGORY_MASK_Sk = 0x00100000,
+ UC_CATEGORY_MASK_So = 0x00200000,
+ UC_CATEGORY_MASK_Z = 0x01c00000,
+ UC_CATEGORY_MASK_Zs = 0x00400000,
+ UC_CATEGORY_MASK_Zl = 0x00800000,
+ UC_CATEGORY_MASK_Zp = 0x01000000,
+ UC_CATEGORY_MASK_C = 0x3e000000,
+ UC_CATEGORY_MASK_Cc = 0x02000000,
+ UC_CATEGORY_MASK_Cf = 0x04000000,
+ UC_CATEGORY_MASK_Cs = 0x08000000,
+ UC_CATEGORY_MASK_Co = 0x10000000,
+ UC_CATEGORY_MASK_Cn = 0x20000000
+};
+
+/* Predefined General category values. */
+extern const uc_general_category_t UC_CATEGORY_L;
+extern const uc_general_category_t UC_CATEGORY_LC;
+extern const uc_general_category_t UC_CATEGORY_Lu;
+extern const uc_general_category_t UC_CATEGORY_Ll;
+extern const uc_general_category_t UC_CATEGORY_Lt;
+extern const uc_general_category_t UC_CATEGORY_Lm;
+extern const uc_general_category_t UC_CATEGORY_Lo;
+extern const uc_general_category_t UC_CATEGORY_M;
+extern const uc_general_category_t UC_CATEGORY_Mn;
+extern const uc_general_category_t UC_CATEGORY_Mc;
+extern const uc_general_category_t UC_CATEGORY_Me;
+extern const uc_general_category_t UC_CATEGORY_N;
+extern const uc_general_category_t UC_CATEGORY_Nd;
+extern const uc_general_category_t UC_CATEGORY_Nl;
+extern const uc_general_category_t UC_CATEGORY_No;
+extern const uc_general_category_t UC_CATEGORY_P;
+extern const uc_general_category_t UC_CATEGORY_Pc;
+extern const uc_general_category_t UC_CATEGORY_Pd;
+extern const uc_general_category_t UC_CATEGORY_Ps;
+extern const uc_general_category_t UC_CATEGORY_Pe;
+extern const uc_general_category_t UC_CATEGORY_Pi;
+extern const uc_general_category_t UC_CATEGORY_Pf;
+extern const uc_general_category_t UC_CATEGORY_Po;
+extern const uc_general_category_t UC_CATEGORY_S;
+extern const uc_general_category_t UC_CATEGORY_Sm;
+extern const uc_general_category_t UC_CATEGORY_Sc;
+extern const uc_general_category_t UC_CATEGORY_Sk;
+extern const uc_general_category_t UC_CATEGORY_So;
+extern const uc_general_category_t UC_CATEGORY_Z;
+extern const uc_general_category_t UC_CATEGORY_Zs;
+extern const uc_general_category_t UC_CATEGORY_Zl;
+extern const uc_general_category_t UC_CATEGORY_Zp;
+extern const uc_general_category_t UC_CATEGORY_C;
+extern const uc_general_category_t UC_CATEGORY_Cc;
+extern const uc_general_category_t UC_CATEGORY_Cf;
+extern const uc_general_category_t UC_CATEGORY_Cs;
+extern const uc_general_category_t UC_CATEGORY_Co;
+extern const uc_general_category_t UC_CATEGORY_Cn;
+/* Non-public. */
+extern const uc_general_category_t _UC_CATEGORY_NONE;
+
+/* Alias names for predefined General category values. */
+#define UC_LETTER UC_CATEGORY_L
+#define UC_CASED_LETTER UC_CATEGORY_LC
+#define UC_UPPERCASE_LETTER UC_CATEGORY_Lu
+#define UC_LOWERCASE_LETTER UC_CATEGORY_Ll
+#define UC_TITLECASE_LETTER UC_CATEGORY_Lt
+#define UC_MODIFIER_LETTER UC_CATEGORY_Lm
+#define UC_OTHER_LETTER UC_CATEGORY_Lo
+#define UC_MARK UC_CATEGORY_M
+#define UC_NON_SPACING_MARK UC_CATEGORY_Mn
+#define UC_COMBINING_SPACING_MARK UC_CATEGORY_Mc
+#define UC_ENCLOSING_MARK UC_CATEGORY_Me
+#define UC_NUMBER UC_CATEGORY_N
+#define UC_DECIMAL_DIGIT_NUMBER UC_CATEGORY_Nd
+#define UC_LETTER_NUMBER UC_CATEGORY_Nl
+#define UC_OTHER_NUMBER UC_CATEGORY_No
+#define UC_PUNCTUATION UC_CATEGORY_P
+#define UC_CONNECTOR_PUNCTUATION UC_CATEGORY_Pc
+#define UC_DASH_PUNCTUATION UC_CATEGORY_Pd
+#define UC_OPEN_PUNCTUATION UC_CATEGORY_Ps /* a.k.a. UC_START_PUNCTUATION */
+#define UC_CLOSE_PUNCTUATION UC_CATEGORY_Pe /* a.k.a. UC_END_PUNCTUATION */
+#define UC_INITIAL_QUOTE_PUNCTUATION UC_CATEGORY_Pi
+#define UC_FINAL_QUOTE_PUNCTUATION UC_CATEGORY_Pf
+#define UC_OTHER_PUNCTUATION UC_CATEGORY_Po
+#define UC_SYMBOL UC_CATEGORY_S
+#define UC_MATH_SYMBOL UC_CATEGORY_Sm
+#define UC_CURRENCY_SYMBOL UC_CATEGORY_Sc
+#define UC_MODIFIER_SYMBOL UC_CATEGORY_Sk
+#define UC_OTHER_SYMBOL UC_CATEGORY_So
+#define UC_SEPARATOR UC_CATEGORY_Z
+#define UC_SPACE_SEPARATOR UC_CATEGORY_Zs
+#define UC_LINE_SEPARATOR UC_CATEGORY_Zl
+#define UC_PARAGRAPH_SEPARATOR UC_CATEGORY_Zp
+#define UC_OTHER UC_CATEGORY_C
+#define UC_CONTROL UC_CATEGORY_Cc
+#define UC_FORMAT UC_CATEGORY_Cf
+#define UC_SURROGATE UC_CATEGORY_Cs /* all of them are invalid characters */
+#define UC_PRIVATE_USE UC_CATEGORY_Co
+#define UC_UNASSIGNED UC_CATEGORY_Cn /* some of them are invalid characters */
+
+/* Return the union of two general categories.
+ This corresponds to the unions of the two sets of characters. */
+extern uc_general_category_t
+ uc_general_category_or (uc_general_category_t category1,
+ uc_general_category_t category2);
+
+/* Return the intersection of two general categories as bit masks.
+ This *does*not* correspond to the intersection of the two sets of
+ characters. */
+extern uc_general_category_t
+ uc_general_category_and (uc_general_category_t category1,
+ uc_general_category_t category2);
+
+/* Return the intersection of a general category with the complement of a
+ second general category, as bit masks.
+ This *does*not* correspond to the intersection with complement, when
+ viewing the categories as sets of characters. */
+extern uc_general_category_t
+ uc_general_category_and_not (uc_general_category_t category1,
+ uc_general_category_t category2);
+
+/* Return the name of a general category. */
+extern const char *
+ uc_general_category_name (uc_general_category_t category)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the long name of a general category. */
+extern const char *
+ uc_general_category_long_name (uc_general_category_t category)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the general category given by name, e.g. "Lu", or by long name,
+ e.g. "Uppercase Letter". */
+extern uc_general_category_t
+ uc_general_category_byname (const char *category_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the general category of a Unicode character. */
+extern uc_general_category_t
+ uc_general_category (ucs4_t uc)
+ _UC_ATTRIBUTE_PURE;
+
+/* Test whether a Unicode character belongs to a given category.
+ The CATEGORY argument can be the combination of several predefined
+ general categories. */
+extern bool
+ uc_is_general_category (ucs4_t uc, uc_general_category_t category)
+ _UC_ATTRIBUTE_PURE;
+/* Likewise. This function uses a big table comprising all categories. */
+extern bool
+ uc_is_general_category_withtable (ucs4_t uc, uint32_t bitmask)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 3 of Unicode Character Database: Canonical combining class. */
+
+/* The possible results of uc_combining_class (0..255) are described in
+ UCD.html. The list here is not definitive; more values can be added
+ in future versions. */
+enum
+{
+ UC_CCC_NR = 0, /* Not Reordered */
+ UC_CCC_OV = 1, /* Overlay */
+ UC_CCC_NK = 7, /* Nukta */
+ UC_CCC_KV = 8, /* Kana Voicing */
+ UC_CCC_VR = 9, /* Virama */
+ UC_CCC_ATBL = 200, /* Attached Below Left */
+ UC_CCC_ATB = 202, /* Attached Below */
+ UC_CCC_ATA = 214, /* Attached Above */
+ UC_CCC_ATAR = 216, /* Attached Above Right */
+ UC_CCC_BL = 218, /* Below Left */
+ UC_CCC_B = 220, /* Below */
+ UC_CCC_BR = 222, /* Below Right */
+ UC_CCC_L = 224, /* Left */
+ UC_CCC_R = 226, /* Right */
+ UC_CCC_AL = 228, /* Above Left */
+ UC_CCC_A = 230, /* Above */
+ UC_CCC_AR = 232, /* Above Right */
+ UC_CCC_DB = 233, /* Double Below */
+ UC_CCC_DA = 234, /* Double Above */
+ UC_CCC_IS = 240 /* Iota Subscript */
+};
+
+/* Return the canonical combining class of a Unicode character. */
+extern int
+ uc_combining_class (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the name of a canonical combining class. */
+extern const char *
+ uc_combining_class_name (int ccc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the long name of a canonical combining class. */
+extern const char *
+ uc_combining_class_long_name (int ccc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the canonical combining class given by name, e.g. "BL", or by long
+ name, e.g. "Below Left". */
+extern int
+ uc_combining_class_byname (const char *ccc_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* ========================================================================= */
+
+/* Field 4 of Unicode Character Database: Bidi class.
+ Before Unicode 4.0, this field was called "Bidirectional category". */
+
+enum
+{
+ UC_BIDI_L, /* Left-to-Right */
+ UC_BIDI_LRE, /* Left-to-Right Embedding */
+ UC_BIDI_LRO, /* Left-to-Right Override */
+ UC_BIDI_R, /* Right-to-Left */
+ UC_BIDI_AL, /* Right-to-Left Arabic */
+ UC_BIDI_RLE, /* Right-to-Left Embedding */
+ UC_BIDI_RLO, /* Right-to-Left Override */
+ UC_BIDI_PDF, /* Pop Directional Format */
+ UC_BIDI_EN, /* European Number */
+ UC_BIDI_ES, /* European Number Separator */
+ UC_BIDI_ET, /* European Number Terminator */
+ UC_BIDI_AN, /* Arabic Number */
+ UC_BIDI_CS, /* Common Number Separator */
+ UC_BIDI_NSM, /* Non-Spacing Mark */
+ UC_BIDI_BN, /* Boundary Neutral */
+ UC_BIDI_B, /* Paragraph Separator */
+ UC_BIDI_S, /* Segment Separator */
+ UC_BIDI_WS, /* Whitespace */
+ UC_BIDI_ON, /* Other Neutral */
+ UC_BIDI_LRI, /* Left-to-Right Isolate */
+ UC_BIDI_RLI, /* Right-to-Left Isolate */
+ UC_BIDI_FSI, /* First Strong Isolate */
+ UC_BIDI_PDI /* Pop Directional Isolate */
+};
+
+/* Return the name of a bidi class. */
+extern const char *
+ uc_bidi_class_name (int bidi_class)
+ _UC_ATTRIBUTE_CONST;
+/* Same; obsolete function name. */
+extern const char *
+ uc_bidi_category_name (int category)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the long name of a bidi class. */
+extern const char *
+ uc_bidi_class_long_name (int bidi_class)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the bidi class given by name, e.g. "LRE", or by long name, e.g.
+ "Left-to-Right Embedding". */
+extern int
+ uc_bidi_class_byname (const char *bidi_class_name)
+ _UC_ATTRIBUTE_PURE;
+/* Same; obsolete function name. */
+extern int
+ uc_bidi_category_byname (const char *category_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the bidi class of a Unicode character. */
+extern int
+ uc_bidi_class (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+/* Same; obsolete function name. */
+extern int
+ uc_bidi_category (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test whether a Unicode character belongs to a given bidi class. */
+extern bool
+ uc_is_bidi_class (ucs4_t uc, int bidi_class)
+ _UC_ATTRIBUTE_CONST;
+/* Same; obsolete function name. */
+extern bool
+ uc_is_bidi_category (ucs4_t uc, int category)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 5 of Unicode Character Database: Character decomposition mapping.
+ See "uninorm.h". */
+
+/* ========================================================================= */
+
+/* Field 6 of Unicode Character Database: Decimal digit value. */
+
+/* Return the decimal digit value of a Unicode character. */
+extern int
+ uc_decimal_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 7 of Unicode Character Database: Digit value. */
+
+/* Return the digit value of a Unicode character. */
+extern int
+ uc_digit_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 8 of Unicode Character Database: Numeric value. */
+
+/* Return the numeric value of a Unicode character. */
+typedef struct
+{
+ int numerator;
+ int denominator;
+}
+uc_fraction_t;
+extern uc_fraction_t
+ uc_numeric_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 9 of Unicode Character Database: Mirrored. */
+
+/* Return the mirrored character of a Unicode character UC in *PUC. */
+extern bool
+ uc_mirror_char (ucs4_t uc, ucs4_t *puc);
+
+/* ========================================================================= */
+
+/* Field 10 of Unicode Character Database: Unicode 1.0 Name.
+ Not available in this library. */
+
+/* ========================================================================= */
+
+/* Field 11 of Unicode Character Database: ISO 10646 comment.
+ Not available in this library. */
+
+/* ========================================================================= */
+
+/* Field 12, 13, 14 of Unicode Character Database: Uppercase mapping,
+ lowercase mapping, titlecase mapping. See "unicase.h". */
+
+/* ========================================================================= */
+
+/* Field 2 of the file ArabicShaping.txt in the Unicode Character Database. */
+
+/* Possible joining types. */
+enum
+{
+ UC_JOINING_TYPE_U, /* Non_Joining */
+ UC_JOINING_TYPE_T, /* Transparent */
+ UC_JOINING_TYPE_C, /* Join_Causing */
+ UC_JOINING_TYPE_L, /* Left_Joining */
+ UC_JOINING_TYPE_R, /* Right_Joining */
+ UC_JOINING_TYPE_D /* Dual_Joining */
+};
+
+/* Return the name of a joining type. */
+extern const char *
+ uc_joining_type_name (int joining_type)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the long name of a joining type. */
+extern const char *
+ uc_joining_type_long_name (int joining_type)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the joining type given by name, e.g. "D", or by long name, e.g.
+ "Dual Joining". */
+extern int
+ uc_joining_type_byname (const char *joining_type_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the joining type of a Unicode character. */
+extern int
+ uc_joining_type (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Field 3 of the file ArabicShaping.txt in the Unicode Character Database. */
+
+/* Possible joining groups.
+ This enumeration may be extended in the future. */
+enum
+{
+ UC_JOINING_GROUP_NONE, /* No_Joining_Group */
+ UC_JOINING_GROUP_AIN, /* Ain */
+ UC_JOINING_GROUP_ALAPH, /* Alaph */
+ UC_JOINING_GROUP_ALEF, /* Alef */
+ UC_JOINING_GROUP_BEH, /* Beh */
+ UC_JOINING_GROUP_BETH, /* Beth */
+ UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE, /* Burushaski_Yeh_Barree */
+ UC_JOINING_GROUP_DAL, /* Dal */
+ UC_JOINING_GROUP_DALATH_RISH, /* Dalath_Rish */
+ UC_JOINING_GROUP_E, /* E */
+ UC_JOINING_GROUP_FARSI_YEH, /* Farsi_Yeh */
+ UC_JOINING_GROUP_FE, /* Fe */
+ UC_JOINING_GROUP_FEH, /* Feh */
+ UC_JOINING_GROUP_FINAL_SEMKATH, /* Final_Semkath */
+ UC_JOINING_GROUP_GAF, /* Gaf */
+ UC_JOINING_GROUP_GAMAL, /* Gamal */
+ UC_JOINING_GROUP_HAH, /* Hah */
+ UC_JOINING_GROUP_HE, /* He */
+ UC_JOINING_GROUP_HEH, /* Heh */
+ UC_JOINING_GROUP_HEH_GOAL, /* Heh_Goal */
+ UC_JOINING_GROUP_HETH, /* Heth */
+ UC_JOINING_GROUP_KAF, /* Kaf */
+ UC_JOINING_GROUP_KAPH, /* Kaph */
+ UC_JOINING_GROUP_KHAPH, /* Khaph */
+ UC_JOINING_GROUP_KNOTTED_HEH, /* Knotted_Heh */
+ UC_JOINING_GROUP_LAM, /* Lam */
+ UC_JOINING_GROUP_LAMADH, /* Lamadh */
+ UC_JOINING_GROUP_MEEM, /* Meem */
+ UC_JOINING_GROUP_MIM, /* Mim */
+ UC_JOINING_GROUP_NOON, /* Noon */
+ UC_JOINING_GROUP_NUN, /* Nun */
+ UC_JOINING_GROUP_NYA, /* Nya */
+ UC_JOINING_GROUP_PE, /* Pe */
+ UC_JOINING_GROUP_QAF, /* Qaf */
+ UC_JOINING_GROUP_QAPH, /* Qaph */
+ UC_JOINING_GROUP_REH, /* Reh */
+ UC_JOINING_GROUP_REVERSED_PE, /* Reversed_Pe */
+ UC_JOINING_GROUP_SAD, /* Sad */
+ UC_JOINING_GROUP_SADHE, /* Sadhe */
+ UC_JOINING_GROUP_SEEN, /* Seen */
+ UC_JOINING_GROUP_SEMKATH, /* Semkath */
+ UC_JOINING_GROUP_SHIN, /* Shin */
+ UC_JOINING_GROUP_SWASH_KAF, /* Swash_Kaf */
+ UC_JOINING_GROUP_SYRIAC_WAW, /* Syriac_Waw */
+ UC_JOINING_GROUP_TAH, /* Tah */
+ UC_JOINING_GROUP_TAW, /* Taw */
+ UC_JOINING_GROUP_TEH_MARBUTA, /* Teh_Marbuta */
+ UC_JOINING_GROUP_TEH_MARBUTA_GOAL, /* Teh_Marbuta_Goal */
+ UC_JOINING_GROUP_TETH, /* Teth */
+ UC_JOINING_GROUP_WAW, /* Waw */
+ UC_JOINING_GROUP_YEH, /* Yeh */
+ UC_JOINING_GROUP_YEH_BARREE, /* Yeh_Barree */
+ UC_JOINING_GROUP_YEH_WITH_TAIL, /* Yeh_With_Tail */
+ UC_JOINING_GROUP_YUDH, /* Yudh */
+ UC_JOINING_GROUP_YUDH_HE, /* Yudh_He */
+ UC_JOINING_GROUP_ZAIN, /* Zain */
+ UC_JOINING_GROUP_ZHAIN, /* Zhain */
+ UC_JOINING_GROUP_ROHINGYA_YEH, /* Rohingya_Yeh */
+ UC_JOINING_GROUP_STRAIGHT_WAW, /* Straight_Waw */
+ UC_JOINING_GROUP_MANICHAEAN_ALEPH, /* Manichaean_Aleph */
+ UC_JOINING_GROUP_MANICHAEAN_BETH, /* Manichaean_Beth */
+ UC_JOINING_GROUP_MANICHAEAN_GIMEL, /* Manichaean_Gimel */
+ UC_JOINING_GROUP_MANICHAEAN_DALETH, /* Manichaean_Daleth */
+ UC_JOINING_GROUP_MANICHAEAN_WAW, /* Manichaean_Waw */
+ UC_JOINING_GROUP_MANICHAEAN_ZAYIN, /* Manichaean_Zayin */
+ UC_JOINING_GROUP_MANICHAEAN_HETH, /* Manichaean_Heth */
+ UC_JOINING_GROUP_MANICHAEAN_TETH, /* Manichaean_Teth */
+ UC_JOINING_GROUP_MANICHAEAN_YODH, /* Manichaean_Yodh */
+ UC_JOINING_GROUP_MANICHAEAN_KAPH, /* Manichaean_Kaph */
+ UC_JOINING_GROUP_MANICHAEAN_LAMEDH, /* Manichaean_Lamedh */
+ UC_JOINING_GROUP_MANICHAEAN_DHAMEDH, /* Manichaean_Dhamedh */
+ UC_JOINING_GROUP_MANICHAEAN_THAMEDH, /* Manichaean_Thamedh */
+ UC_JOINING_GROUP_MANICHAEAN_MEM, /* Manichaean_Mem */
+ UC_JOINING_GROUP_MANICHAEAN_NUN, /* Manichaean_Nun */
+ UC_JOINING_GROUP_MANICHAEAN_SAMEKH, /* Manichaean_Aleph */
+ UC_JOINING_GROUP_MANICHAEAN_AYIN, /* Manichaean_Ayin */
+ UC_JOINING_GROUP_MANICHAEAN_PE, /* Manichaean_Pe */
+ UC_JOINING_GROUP_MANICHAEAN_SADHE, /* Manichaean_Sadhe */
+ UC_JOINING_GROUP_MANICHAEAN_QOPH, /* Manichaean_Qoph */
+ UC_JOINING_GROUP_MANICHAEAN_RESH, /* Manichaean_Resh */
+ UC_JOINING_GROUP_MANICHAEAN_TAW, /* Manichaean_Taw */
+ UC_JOINING_GROUP_MANICHAEAN_ONE, /* Manichaean_One */
+ UC_JOINING_GROUP_MANICHAEAN_FIVE, /* Manichaean_Five */
+ UC_JOINING_GROUP_MANICHAEAN_TEN, /* Manichaean_Ten */
+ UC_JOINING_GROUP_MANICHAEAN_TWENTY, /* Manichaean_Twenty */
+ UC_JOINING_GROUP_MANICHAEAN_HUNDRED /* Manichaean_Hundred */
+};
+
+/* Return the name of a joining group. */
+extern const char *
+ uc_joining_group_name (int joining_group)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the joining group given by name, e.g. "Teh_Marbuta". */
+extern int
+ uc_joining_group_byname (const char *joining_group_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the joining group of a Unicode character. */
+extern int
+ uc_joining_group (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Common API for properties. */
+
+/* Data type denoting a property. This is not just a number, but rather a
+ pointer to the test functions, so that programs that use only few of the
+ properties don't have a link-time dependency towards all the tables. */
+typedef struct
+{
+ bool (*test_fn) (ucs4_t uc);
+}
+uc_property_t;
+
+/* Predefined properties. */
+/* General. */
+extern const uc_property_t UC_PROPERTY_WHITE_SPACE;
+extern const uc_property_t UC_PROPERTY_ALPHABETIC;
+extern const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC;
+extern const uc_property_t UC_PROPERTY_NOT_A_CHARACTER;
+extern const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT;
+extern const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT;
+extern const uc_property_t UC_PROPERTY_DEPRECATED;
+extern const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION;
+extern const uc_property_t UC_PROPERTY_VARIATION_SELECTOR;
+extern const uc_property_t UC_PROPERTY_PRIVATE_USE;
+extern const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE;
+/* Case. */
+extern const uc_property_t UC_PROPERTY_UPPERCASE;
+extern const uc_property_t UC_PROPERTY_OTHER_UPPERCASE;
+extern const uc_property_t UC_PROPERTY_LOWERCASE;
+extern const uc_property_t UC_PROPERTY_OTHER_LOWERCASE;
+extern const uc_property_t UC_PROPERTY_TITLECASE;
+extern const uc_property_t UC_PROPERTY_CASED;
+extern const uc_property_t UC_PROPERTY_CASE_IGNORABLE;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_LOWERCASED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_TITLECASED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEFOLDED;
+extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEMAPPED;
+extern const uc_property_t UC_PROPERTY_SOFT_DOTTED;
+/* Identifiers. */
+extern const uc_property_t UC_PROPERTY_ID_START;
+extern const uc_property_t UC_PROPERTY_OTHER_ID_START;
+extern const uc_property_t UC_PROPERTY_ID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_XID_START;
+extern const uc_property_t UC_PROPERTY_XID_CONTINUE;
+extern const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
+extern const uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
+/* Shaping and rendering. */
+extern const uc_property_t UC_PROPERTY_JOIN_CONTROL;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_BASE;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND;
+extern const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND;
+extern const uc_property_t UC_PROPERTY_GRAPHEME_LINK;
+/* Bidi. */
+extern const uc_property_t UC_PROPERTY_BIDI_CONTROL;
+extern const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT;
+extern const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT;
+extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT;
+extern const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT;
+extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT;
+extern const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_BIDI_WHITESPACE;
+extern const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK;
+extern const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL;
+extern const uc_property_t UC_PROPERTY_BIDI_PDF;
+extern const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE;
+extern const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL;
+/* Numeric. */
+extern const uc_property_t UC_PROPERTY_HEX_DIGIT;
+extern const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT;
+/* CJK. */
+extern const uc_property_t UC_PROPERTY_IDEOGRAPHIC;
+extern const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
+extern const uc_property_t UC_PROPERTY_RADICAL;
+extern const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
+extern const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
+/* Misc. */
+extern const uc_property_t UC_PROPERTY_ZERO_WIDTH;
+extern const uc_property_t UC_PROPERTY_SPACE;
+extern const uc_property_t UC_PROPERTY_NON_BREAK;
+extern const uc_property_t UC_PROPERTY_ISO_CONTROL;
+extern const uc_property_t UC_PROPERTY_FORMAT_CONTROL;
+extern const uc_property_t UC_PROPERTY_DASH;
+extern const uc_property_t UC_PROPERTY_HYPHEN;
+extern const uc_property_t UC_PROPERTY_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_LINE_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR;
+extern const uc_property_t UC_PROPERTY_QUOTATION_MARK;
+extern const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL;
+extern const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL;
+extern const uc_property_t UC_PROPERTY_MATH;
+extern const uc_property_t UC_PROPERTY_OTHER_MATH;
+extern const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION;
+extern const uc_property_t UC_PROPERTY_LEFT_OF_PAIR;
+extern const uc_property_t UC_PROPERTY_COMBINING;
+extern const uc_property_t UC_PROPERTY_COMPOSITE;
+extern const uc_property_t UC_PROPERTY_DECIMAL_DIGIT;
+extern const uc_property_t UC_PROPERTY_NUMERIC;
+extern const uc_property_t UC_PROPERTY_DIACRITIC;
+extern const uc_property_t UC_PROPERTY_EXTENDER;
+extern const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL;
+
+/* Return the property given by name, e.g. "White space". */
+extern uc_property_t
+ uc_property_byname (const char *property_name);
+
+/* Test whether a property is valid. */
+#define uc_property_is_valid(property) ((property).test_fn != NULL)
+
+/* Test whether a Unicode character has a given property. */
+extern bool
+ uc_is_property (ucs4_t uc, uc_property_t property);
+extern bool uc_is_property_white_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_alphabetic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_alphabetic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_not_a_character (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_default_ignorable_code_point (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_default_ignorable_code_point (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_deprecated (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_logical_order_exception (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_variation_selector (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_private_use (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_unassigned_code_value (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_uppercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_uppercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_lowercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_lowercase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_titlecase (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_cased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_case_ignorable (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_lowercased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_uppercased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_titlecased (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_casefolded (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_changes_when_casemapped (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_soft_dotted (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_id_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_id_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_xid_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_xid_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_pattern_white_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_pattern_syntax (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_join_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_grapheme_base (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_grapheme_extend (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_grapheme_extend (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_grapheme_link (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_left_to_right (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_arabic_right_to_left (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_european_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_eur_num_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_eur_num_terminator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_arabic_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_common_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_block_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_segment_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_whitespace (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_non_spacing_mark (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_boundary_neutral (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_pdf (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_embedding_or_override (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_bidi_other_neutral (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_hex_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ascii_hex_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ideographic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_unified_ideograph (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_radical (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_binary_operator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_trinary_operator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_zero_width (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_non_break (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_iso_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_format_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_dash (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_hyphen (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_punctuation (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_line_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_paragraph_separator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_quotation_mark (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_sentence_terminal (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_terminal_punctuation (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_currency_symbol (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_math (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_other_math (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_paired_punctuation (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_left_of_pair (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_combining (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_composite (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_decimal_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_numeric (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_diacritic (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_extender (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ignorable_control (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Subdivision of the Unicode characters into scripts. */
+
+typedef struct
+{
+ unsigned int code : 21;
+ unsigned int start : 1;
+ unsigned int end : 1;
+}
+uc_interval_t;
+typedef struct
+{
+ unsigned int nintervals;
+ const uc_interval_t *intervals;
+ const char *name;
+}
+uc_script_t;
+
+/* Return the script of a Unicode character. */
+extern const uc_script_t *
+ uc_script (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the script given by name, e.g. "HAN". */
+extern const uc_script_t *
+ uc_script_byname (const char *script_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Test whether a Unicode character belongs to a given script. */
+extern bool
+ uc_is_script (ucs4_t uc, const uc_script_t *script)
+ _UC_ATTRIBUTE_PURE;
+
+/* Get the list of all scripts. */
+extern void
+ uc_all_scripts (const uc_script_t **scripts, size_t *count);
+
+/* ========================================================================= */
+
+/* Subdivision of the Unicode character range into blocks. */
+
+typedef struct
+{
+ ucs4_t start;
+ ucs4_t end;
+ const char *name;
+}
+uc_block_t;
+
+/* Return the block a character belongs to. */
+extern const uc_block_t *
+ uc_block (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test whether a Unicode character belongs to a given block. */
+extern bool
+ uc_is_block (ucs4_t uc, const uc_block_t *block)
+ _UC_ATTRIBUTE_PURE;
+
+/* Get the list of all blocks. */
+extern void
+ uc_all_blocks (const uc_block_t **blocks, size_t *count);
+
+/* ========================================================================= */
+
+/* Properties taken from language standards. */
+
+/* Test whether a Unicode character is considered whitespace in ISO C 99. */
+extern bool
+ uc_is_c_whitespace (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test whether a Unicode character is considered whitespace in Java. */
+extern bool
+ uc_is_java_whitespace (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+enum
+{
+ UC_IDENTIFIER_START, /* valid as first or subsequent character */
+ UC_IDENTIFIER_VALID, /* valid as subsequent character only */
+ UC_IDENTIFIER_INVALID, /* not valid */
+ UC_IDENTIFIER_IGNORABLE /* ignorable (Java only) */
+};
+
+/* Return the categorization of a Unicode character w.r.t. the ISO C 99
+ identifier syntax. */
+extern int
+ uc_c_ident_category (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the categorization of a Unicode character w.r.t. the Java
+ identifier syntax. */
+extern int
+ uc_java_ident_category (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+/* Like ISO C <ctype.h> and <wctype.h>. These functions are deprecated,
+ because this set of functions was designed with ASCII in mind and cannot
+ reflect the more diverse reality of the Unicode character set. But they
+ can be a quick-and-dirty porting aid when migrating from wchar_t APIs
+ to Unicode strings. */
+
+/* Test for any character for which 'uc_is_alpha' or 'uc_is_digit' is true. */
+extern bool
+ uc_is_alnum (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character for which 'uc_is_upper' or 'uc_is_lower' is true,
+ or any character that is one of a locale-specific set of characters for
+ which none of 'uc_is_cntrl', 'uc_is_digit', 'uc_is_punct', or 'uc_is_space'
+ is true. */
+extern bool
+ uc_is_alpha (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any control character. */
+extern bool
+ uc_is_cntrl (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a decimal-digit character. */
+extern bool
+ uc_is_digit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character for which 'uc_is_print' is true and 'uc_is_space'
+ is false. */
+extern bool
+ uc_is_graph (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a lowercase letter or is one
+ of a locale-specific set of characters for which none of 'uc_is_cntrl',
+ 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true. */
+extern bool
+ uc_is_lower (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any printing character. */
+extern bool
+ uc_is_print (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any printing character that is one of a locale-specific set of
+ characters for which neither 'uc_is_space' nor 'uc_is_alnum' is true. */
+extern bool
+ uc_is_punct (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a locale-specific set of
+ characters for which none of 'uc_is_alnum', 'uc_is_graph', or 'uc_is_punct'
+ is true. */
+extern bool
+ uc_is_space (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to an uppercase letter or is one
+ of a locale-specific set of character for which none of 'uc_is_cntrl',
+ 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true. */
+extern bool
+ uc_is_upper (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* Test for any character that corresponds to a hexadecimal-digit
+ character. */
+extern bool
+ uc_is_xdigit (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* GNU extension. */
+/* Test for any character that corresponds to a standard blank character or
+ a locale-specific set of characters for which 'uc_is_alnum' is false. */
+extern bool
+ uc_is_blank (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNICTYPE_H */
diff --git a/gettext-tools/libgettextpo/unictype/bitmap.h b/gettext-tools/libgettextpo/unictype/bitmap.h
new file mode 100644
index 0000000..19aea60
--- /dev/null
+++ b/gettext-tools/libgettextpo/unictype/bitmap.h
@@ -0,0 +1,47 @@
+/* Three-level bitmap lookup.
+ Copyright (C) 2000-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2000-2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+static inline int bitmap_lookup (const void *table, ucs4_t uc);
+
+/* These values are currently hardcoded into gen-ctype.c. */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+
+static inline int
+bitmap_lookup (const void *table, ucs4_t uc)
+{
+ unsigned int index1 = uc >> header_0;
+ if (index1 < ((const int *) table)[0])
+ {
+ int lookup1 = ((const int *) table)[1 + index1];
+ if (lookup1 >= 0)
+ {
+ unsigned int index2 = (uc >> header_2) & header_3;
+ int lookup2 = ((const short *) table)[lookup1 + index2];
+ if (lookup2 >= 0)
+ {
+ unsigned int index3 = (uc >> 5) & header_4;
+ unsigned int lookup3 = ((const int *) table)[lookup2 + index3];
+
+ return (lookup3 >> (uc & 0x1f)) & 1;
+ }
+ }
+ }
+ return 0;
+}
diff --git a/gettext-tools/libgettextpo/unictype/ctype_alpha.c b/gettext-tools/libgettextpo/unictype/ctype_alpha.c
new file mode 100644
index 0000000..d122fb0
--- /dev/null
+++ b/gettext-tools/libgettextpo/unictype/ctype_alpha.c
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_alpha table. */
+#include "ctype_alpha.h"
+
+bool
+uc_is_alpha (ucs4_t uc)
+{
+ return bitmap_lookup (&u_is_alpha, uc);
+}
diff --git a/gettext-tools/libgettextpo/unictype/ctype_alpha.h b/gettext-tools/libgettextpo/unictype/ctype_alpha.h
new file mode 100644
index 0000000..a74f916
--- /dev/null
+++ b/gettext-tools/libgettextpo/unictype/ctype_alpha.h
@@ -0,0 +1,668 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+ {
+ int header[1];
+ int level1[3];
+ short level2[3 << 7];
+ /*unsigned*/ int level3[64 << 4];
+ }
+u_is_alpha =
+{
+ { 3 },
+ {
+ 4 * sizeof (int) / sizeof (short) + 0,
+ 4 * sizeof (int) / sizeof (short) + 128,
+ 4 * sizeof (int) / sizeof (short) + 256
+ },
+ {
+ 4 + 384 * sizeof (short) / sizeof (int) + 0,
+ 4 + 384 * sizeof (short) / sizeof (int) + 16,
+ 4 + 384 * sizeof (short) / sizeof (int) + 32,
+ 4 + 384 * sizeof (short) / sizeof (int) + 48,
+ 4 + 384 * sizeof (short) / sizeof (int) + 64,
+ 4 + 384 * sizeof (short) / sizeof (int) + 80,
+ 4 + 384 * sizeof (short) / sizeof (int) + 96,
+ 4 + 384 * sizeof (short) / sizeof (int) + 112,
+ 4 + 384 * sizeof (short) / sizeof (int) + 128,
+ 4 + 384 * sizeof (short) / sizeof (int) + 144,
+ 4 + 384 * sizeof (short) / sizeof (int) + 160,
+ 4 + 384 * sizeof (short) / sizeof (int) + 176,
+ 4 + 384 * sizeof (short) / sizeof (int) + 192,
+ 4 + 384 * sizeof (short) / sizeof (int) + 208,
+ 4 + 384 * sizeof (short) / sizeof (int) + 224,
+ 4 + 384 * sizeof (short) / sizeof (int) + 240,
+ 4 + 384 * sizeof (short) / sizeof (int) + 256,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 272,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 288,
+ 4 + 384 * sizeof (short) / sizeof (int) + 304,
+ 4 + 384 * sizeof (short) / sizeof (int) + 320,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 352,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 368,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 384,
+ 4 + 384 * sizeof (short) / sizeof (int) + 400,
+ 4 + 384 * sizeof (short) / sizeof (int) + 416,
+ 4 + 384 * sizeof (short) / sizeof (int) + 432,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 448,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 464,
+ 4 + 384 * sizeof (short) / sizeof (int) + 480,
+ 4 + 384 * sizeof (short) / sizeof (int) + 496,
+ 4 + 384 * sizeof (short) / sizeof (int) + 512,
+ 4 + 384 * sizeof (short) / sizeof (int) + 528,
+ 4 + 384 * sizeof (short) / sizeof (int) + 544,
+ 4 + 384 * sizeof (short) / sizeof (int) + 560,
+ 4 + 384 * sizeof (short) / sizeof (int) + 576,
+ 4 + 384 * sizeof (short) / sizeof (int) + 592,
+ 4 + 384 * sizeof (short) / sizeof (int) + 608,
+ 4 + 384 * sizeof (short) / sizeof (int) + 624,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 640,
+ 4 + 384 * sizeof (short) / sizeof (int) + 656,
+ 4 + 384 * sizeof (short) / sizeof (int) + 672,
+ 4 + 384 * sizeof (short) / sizeof (int) + 688,
+ 4 + 384 * sizeof (short) / sizeof (int) + 704,
+ 4 + 384 * sizeof (short) / sizeof (int) + 720,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 736,
+ 4 + 384 * sizeof (short) / sizeof (int) + 752,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 768,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 784,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 800,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 816,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 832,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 848,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 864,
+ 4 + 384 * sizeof (short) / sizeof (int) + 880,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 896,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 912,
+ 4 + 384 * sizeof (short) / sizeof (int) + 928,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 944,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 960,
+ 4 + 384 * sizeof (short) / sizeof (int) + 976,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 992,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4 + 384 * sizeof (short) / sizeof (int) + 336,
+ 4 + 384 * sizeof (short) / sizeof (int) + 1008,
+ -1,
+ -1
+ },
+ {
+ 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
+ 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F,
+ 0x00000000, 0x00000000, 0x00000020, 0xBCDF0000,
+ 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE,
+ 0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
+ 0x00000000, 0xFFFFFFFF, 0x000007FF, 0xFFFEC3FF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9FFFC060,
+ 0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x043007FF,
+ 0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000,
+ 0x00000000, 0x001FFFFF, 0x00000000, 0x00000000,
+ 0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFEFFC3,
+ 0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x0003FFC3,
+ 0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001CFFC0,
+ 0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x0200FFC3,
+ 0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x0002FFC3,
+ 0xD63DC7E8, 0x03FFC718, 0x00010000, 0x0000FFC0,
+ 0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x0000FFC3,
+ 0xFFFDDFE0, 0x23EFFDFF, 0x40000000, 0x0006FFC3,
+ 0xFFFDDFE0, 0x27FFFFFF, 0x80004000, 0xFC00FFC3,
+ 0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x0000FFC0,
+ 0xFFFFFFFE, 0x07FF7FFF, 0x03FF7FBF, 0x00000000,
+ 0xFEF02596, 0x200DECAE, 0xF3FF005F, 0x00000000,
+ 0x00000001, 0x000003FF, 0xFFFFFEFF, 0x00001FFF,
+ 0x00001F00, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0x800007FF, 0x3C3F03FF, 0xFFE1C062,
+ 0x03FF4003, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
+ 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
+ 0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
+ 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF,
+ 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
+ 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFC7FF,
+ 0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
+ 0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x000003FF,
+ 0x03FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
+ 0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
+ 0x7FFFFFFF, 0x00000000, 0xFFFFFFC0, 0x001F3FFF,
+ 0xFFFFFFFF, 0xFFFF0FFF, 0x03FF03FF, 0x00000000,
+ 0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
+ 0x03FF03FF, 0x00000080, 0x00000000, 0x00000000,
+ 0xFFFFFFE0, 0x000FFFFF, 0x03FF0FE0, 0x00000000,
+ 0xFFFFFFF8, 0xFFFFC001, 0xFFFFFFFF, 0x0000003F,
+ 0xFFFFFFFF, 0x0000000F, 0xFFFFE3FF, 0x3FFFFFFF,
+ 0x00000000, 0x00000000, 0x00000000, 0x0063DE00,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
+ 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
+ 0x00000000, 0x00000000, 0x00000000, 0x80020000,
+ 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000,
+ 0x3E2FFC84, 0xF3FFBF50, 0x000043E0, 0xFFFFFFFF,
+ 0x000001FF, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F,
+ 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000080FF,
+ 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
+ 0x00000000, 0x00008000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
+ 0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF,
+ 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0x80007FFF,
+ 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
+ 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFF9FF, 0x00FF3FFF, 0x00000000, 0xFF800000,
+ 0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
+ 0xFFFFFFFC, 0x000FFFFF, 0x03FF0000, 0x28FC0000,
+ 0xFFFFFFFF, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+ 0xFFFFFFF0, 0x0007FFFF, 0x03FF8000, 0x7FFFFFDF,
+ 0xFFFFFFFF, 0x000001FF, 0x03FF0FF7, 0xC47FFFFF,
+ 0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x001C07FF,
+ 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0007,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
+ 0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF,
+ 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000,
+ 0x00000000, 0x00000000, 0x00000000, 0xFFDF0000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF,
+ 0x03FF0000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0,
+ 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000,
+ 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
+ 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000000,
+ 0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x003FFFFF,
+ 0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF,
+ 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF,
+ 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000,
+ 0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+ 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000001F,
+ 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
+ 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+ 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFF8, 0x00FFFFFF, 0x00000000, 0x0000FFC0,
+ 0xFFFFFFF8, 0x0000FFFF, 0xFFFF0000, 0x03FF01FF,
+ 0xFFFFFFF8, 0xFFC0007F, 0xFFFF0000, 0x0047FFFF,
+ 0xFFFFFFF8, 0x0007FFFF, 0x17FF001E, 0x00000000,
+ 0xFFFBFFFF, 0x00000FFF, 0x00000000, 0x00000000,
+ 0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x03FF0000,
+ 0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0x0000FFFF, 0x03FF00B0, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000,
+ 0xFFFFFFFF, 0x0000FFFF, 0x03FF0010, 0x00000000,
+ 0xFFFFFFFF, 0x000007FF, 0x000003FF, 0x00000000,
+ 0x03FFFFFF, 0x03FF0000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x800003FF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x000003FF,
+ 0x00000000, 0x00000000, 0xFFFF0000, 0x00003FFF,
+ 0xFFFFFFFF, 0x0000FFFF, 0x03FF000F, 0xE0FFFFF8,
+ 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000,
+ 0xFFF80000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000003, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF,
+ 0x03FF01FF, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
+ 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
+ 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
+ 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
+ 0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796,
+ 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0xFFFF0000, 0xFFFF1FFF, 0xFFFF03FF, 0xFFFF03FF,
+ 0x000007FF, 0x00000000, 0x00000000, 0xFFFFFFC0,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000
+ }
+};
diff --git a/gettext-tools/libgettextpo/unictype/ctype_space.c b/gettext-tools/libgettextpo/unictype/ctype_space.c
new file mode 100644
index 0000000..7bca2ac
--- /dev/null
+++ b/gettext-tools/libgettextpo/unictype/ctype_space.c
@@ -0,0 +1,32 @@
+/* ISO C <ctype.h> like properties of Unicode characters.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unictype.h"
+
+#include "bitmap.h"
+
+/* Define u_is_space table. */
+#include "ctype_space.h"
+
+bool
+uc_is_space (ucs4_t uc)
+{
+ return bitmap_lookup (&u_is_space, uc);
+}
diff --git a/gettext-tools/libgettextpo/unictype/ctype_space.h b/gettext-tools/libgettextpo/unictype/ctype_space.h
new file mode 100644
index 0000000..86a7373
--- /dev/null
+++ b/gettext-tools/libgettextpo/unictype/ctype_space.h
@@ -0,0 +1,168 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* ISO C <ctype.h> like properties of Unicode characters. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
+#define header_0 16
+#define header_2 9
+#define header_3 127
+#define header_4 15
+static const
+struct
+ {
+ int header[1];
+ int level1[1];
+ short level2[1 << 7];
+ /*unsigned*/ int level3[4 << 4];
+ }
+u_is_space =
+{
+ { 1 },
+ { 2 * sizeof (int) / sizeof (short) + 0 },
+ {
+ 2 + 128 * sizeof (short) / sizeof (int) + 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 16,
+ -1,
+ -1,
+ -1,
+ -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 32,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 2 + 128 * sizeof (short) / sizeof (int) + 48,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ },
+ {
+ 0x00003E00, 0x00000001, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000001, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x0000077F, 0x00000300, 0x80000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000001, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000
+ }
+};
diff --git a/gettext-tools/libgettextpo/unilbrk.in.h b/gettext-tools/libgettextpo/unilbrk.in.h
index de0f453..0ff4556 100644
--- a/gettext-tools/libgettextpo/unilbrk.in.h
+++ b/gettext-tools/libgettextpo/unilbrk.in.h
@@ -1,5 +1,5 @@
/* Line breaking of Unicode strings.
- Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unilbrk/lbrkprop1.h b/gettext-tools/libgettextpo/unilbrk/lbrkprop1.h
index aacd2d7..c0fd7f2 100644
--- a/gettext-tools/libgettextpo/unilbrk/lbrkprop1.h
+++ b/gettext-tools/libgettextpo/unilbrk/lbrkprop1.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Line breaking properties of Unicode characters. */
-/* Generated automatically by gen-lbrk for Unicode 6.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
/* Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
@@ -27,7 +27,7 @@ typedef struct
{
int level1[15];
int level2[4 << 9];
- unsigned char level3[166 << 7];
+ unsigned char level3[206 << 7];
}
lbrkprop_t;
extern const lbrkprop_t unilbrkprop;
diff --git a/gettext-tools/libgettextpo/unilbrk/lbrkprop2.h b/gettext-tools/libgettextpo/unilbrk/lbrkprop2.h
index 6c1baff..d31c58d 100644
--- a/gettext-tools/libgettextpo/unilbrk/lbrkprop2.h
+++ b/gettext-tools/libgettextpo/unilbrk/lbrkprop2.h
@@ -1,6 +1,6 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Line breaking properties of Unicode characters. */
-/* Generated automatically by gen-lbrk for Unicode 6.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 8.0.0. */
/* Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
@@ -26,58 +26,58 @@ const lbrkprop_t unilbrkprop =
{
0, 128, 256, 256, 256, 384, 512, 640,
256, 768, 896, 1024, 1152, 1280, 1408, 1536,
- 1664, -1, 1792, 1920, 2048, 2176, 2304, 2432,
- 2560, 2688, 2816, 2944, 3072, 3200, 3328, 3456,
- 3584, 3712, 3840, 3968, 4096, 4224, 4352, 4480,
- 4608, 256, 256, 256, 256, 4736, 4864, 4992,
- 5120, 5248, 5376, 5504, 5632, 5760, 5888, 6016,
- 6144, 6272, 256, 6400, 256, 256, 6528, 6656,
- 6784, 6912, 7040, 7168, 7296, 7424, 7552, 7680,
- 7808, 7936, 8064, 8192, 8320, 8448, 8576, 8704,
- 256, 256, 256, 8832, 256, 256, 8960, -1,
- 9088, 9216, 9344, 9472, 9600, 9728, 9856, 9984,
- 10112, 10240, 10368, 10496, 10624, 10752, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 10880, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 11008, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 11136, 256, 256, 11264, 11392, 256, 11520,
- 11648, 11776, 11904, 12032, 12160, 12288, 12416, 12544,
- 12672, 12800, 12928, 13056, 13184, 13312, 13440, 12672,
- 12800, 12928, 13056, 13184, 13312, 13440, 12672, 12800,
- 12928, 13056, 13184, 13312, 13440, 12672, 12800, 12928,
- 13056, 13184, 13312, 13440, 12672, 12800, 12928, 13056,
- 13184, 13312, 13440, 12672, 12800, 12928, 13056, 13184,
- 13312, 13440, 12672, 12800, 12928, 13056, 13184, 13312,
- 13440, 12672, 12800, 12928, 13056, 13184, 13312, 13440,
- 12672, 12800, 12928, 13056, 13184, 13312, 13440, 12672,
- 12800, 12928, 13056, 13184, 13312, 13440, 12672, 12800,
- 12928, 13056, 13184, 13312, 13440, 12672, 12800, 12928,
- 13056, 13184, 13312, 13440, 12672, 12800, 12928, 13568,
+ 1664, 1792, 1920, 2048, 2176, 2304, 2432, 2560,
+ 2688, 2816, 2944, 3072, 3200, 3328, 3456, 3584,
+ 3712, 3840, 3968, 4096, 4224, 4352, 4480, 4608,
+ 4736, 256, 256, 256, 256, 4864, 4992, 5120,
+ 5248, 5376, 5504, 5632, 5760, 5888, 6016, 6144,
+ 6272, 6400, 256, 6528, 256, 256, 6656, 6784,
+ 6912, 7040, 7168, 7296, 7424, 7552, 7680, 7808,
+ 7936, 8064, 8192, 8320, 8448, 8576, 8704, 8832,
+ 256, 256, 256, 8960, 256, 256, 9088, 9216,
+ 9344, 9472, 9600, 9728, 9856, 9984, 10112, 10240,
+ 10368, 10496, 10624, 10752, 10880, 11008, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 11136, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 11264, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 11392, 256, 256, 11520, 11648, 256, 11776,
+ 11904, 12032, 12160, 12288, 12416, 12544, 12672, 12800,
+ 12928, 13056, 13184, 13312, 13440, 13568, 13696, 12928,
+ 13056, 13184, 13312, 13440, 13568, 13696, 12928, 13056,
+ 13184, 13312, 13440, 13568, 13696, 12928, 13056, 13184,
+ 13312, 13440, 13568, 13696, 12928, 13056, 13184, 13312,
+ 13440, 13568, 13696, 12928, 13056, 13184, 13312, 13440,
+ 13568, 13696, 12928, 13056, 13184, 13312, 13440, 13568,
+ 13696, 12928, 13056, 13184, 13312, 13440, 13568, 13696,
+ 12928, 13056, 13184, 13312, 13440, 13568, 13696, 12928,
+ 13056, 13184, 13312, 13440, 13568, 13696, 12928, 13056,
+ 13184, 13312, 13440, 13568, 13696, 12928, 13056, 13184,
+ 13312, 13440, 13568, 13696, 12928, 13056, 13184, 13824,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -86,23 +86,26 @@ const lbrkprop_t unilbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 9856, 9856, 9856, 9856, 13696, 13824,
- 256, 256, 13952, 14080, 14208, 14336, 14464, 14592,
- 14720, 14848, 14976, 15104, -1, 15232, 15360, 15488,
- 256, 15616, -1, -1, -1, -1, -1, -1,
- 15744, -1, 15872, -1, 16000, -1, 16128, -1,
- 16256, -1, -1, -1, 16384, -1, -1, -1,
- 16512, 16640, -1, -1, -1, -1, -1, -1,
+ -1, -1, 10112, 10112, 10112, 10112, 13952, 14080,
+ 256, 256, 14208, 14336, 14464, 14592, 14720, 14848,
+ 14976, 15104, 15232, 15360, -1, 15488, 15616, 15744,
+ 256, 15872, 16000, -1, 256, 256, 16128, -1,
+ 16256, 16384, 16512, 16640, 16768, 16896, 17024, 17152,
+ 17280, 17408, -1, -1, 17536, -1, -1, -1,
+ 17664, 17792, 17920, 18048, 18176, 18304, 18432, -1,
+ -1, 18560, -1, 18688, 18816, 18944, 19072, -1,
+ -1, 19200, -1, -1, -1, 19328, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 256, 256, 256, 19456,
+ 19584, 256, 19712, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 256, 256, 16768, -1,
- 16896, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 19840, 19968, 20096, 256,
+ 20224, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 17024, 17152, 17280, 256,
- 17408, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 20352, 20480, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -111,10 +114,11 @@ const lbrkprop_t unilbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 256, 256, 256, 20608, 20736, 20864, 20992,
+ -1, -1, -1, -1, -1, -1, 21120, 21248,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 256, 256, 256, 256, 17536, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -128,95 +132,91 @@ const lbrkprop_t unilbrkprop =
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 21376, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 21504, 21632, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 17664, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 21760, 21888, 22016, 22144, -1, 22272, -1,
+ 22400, 22528, 22656, 256, 256, 22784, 256, 22912,
+ 256, 256, 256, 256, 23040, 23168, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 256, 23296, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 23424, 23552, -1, -1,
+ 23680, 23808, 23936, 24064, 24192, -1, 10112, 24320,
+ 10112, 24448, 24576, 24704, 24832, 24960, 25088, 25216,
+ 25344, 25472, 25600, 25728, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 256, 17792, 17920, 18048, 18176, -1, 18304, -1,
- 18432, 18560, 18688, 256, 256, 18816, 256, 18944,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 19072, 19200, 19328, 19456, 19584, -1, 19712, 19840,
- 19968, 20096, 20224, 20352, 20480, 20608, 7680, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 9856,
- 9856, 9856, 9856, 9856, 9856, 9856, 9856, 20736,
- 20864, -1, 20992, 21120, -1, -1, -1, -1,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 10112,
+ 10112, 10112, 10112, 10112, 10112, 10112, 10112, 25856,
+ 25984, -1, 26112, 26240, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -361,7 +361,7 @@ const lbrkprop_t unilbrkprop =
LBP_GL, LBP_GL, LBP_GL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IS, LBP_XX,
+ LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IS, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -399,7 +399,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -411,7 +411,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_IS, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_IS, LBP_BA, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_PR,
LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -420,16 +420,16 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA, LBP_CM,
LBP_AL, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_EX, LBP_CM,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_HL, LBP_HL, LBP_HL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_PO, LBP_PO, LBP_PO, LBP_IS, LBP_IS, LBP_AL, LBP_AL,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_EX, LBP_XX, LBP_XX, LBP_EX, LBP_EX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_EX, LBP_CM, LBP_XX, LBP_EX, LBP_EX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -506,6 +506,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -521,8 +537,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_BA, LBP_BA, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -568,8 +584,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_XX, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -602,23 +618,23 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_PR, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_CM,
LBP_CM, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -634,7 +650,7 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -645,7 +661,7 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_CM,
LBP_CM, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
@@ -662,8 +678,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
@@ -693,7 +709,7 @@ const lbrkprop_t unilbrkprop =
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_SA, LBP_XX,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -754,14 +770,14 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
@@ -856,8 +872,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -888,8 +904,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
@@ -957,7 +973,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -1008,8 +1024,8 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1039,9 +1055,9 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
- LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1074,14 +1090,14 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_XX,
+ LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1094,9 +1110,9 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1142,8 +1158,8 @@ const lbrkprop_t unilbrkprop =
LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_AL,
LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
- LBP_WJ, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_WJ, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AI, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL, LBP_AI,
LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL,
@@ -1153,9 +1169,9 @@ const lbrkprop_t unilbrkprop =
LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PO,
LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PO, LBP_PR,
- LBP_PR, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_PR, LBP_PR, LBP_PR, LBP_PO, LBP_PR, LBP_PR, LBP_PO, LBP_PR,
+ LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
+ LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -1179,7 +1195,7 @@ const lbrkprop_t unilbrkprop =
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1223,13 +1239,13 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_IN,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_OP, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1256,8 +1272,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1322,22 +1338,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AI, LBP_AI, LBP_AL,
LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AL, LBP_AI, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_AI, LBP_AI,
+ LBP_ID, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AI, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1345,17 +1361,17 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_ID, LBP_AL, LBP_ID,
+ LBP_ID, LBP_ID, LBP_AI, LBP_ID, LBP_ID, LBP_AI, LBP_AI, LBP_AI,
+ LBP_ID, LBP_ID, LBP_AI, LBP_AI, LBP_ID, LBP_AI, LBP_AI, LBP_ID,
+ LBP_ID, LBP_ID, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AI, LBP_AI, LBP_ID, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+ LBP_AI, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AI, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_AI, LBP_AI, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1365,8 +1381,8 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI,
- LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_AL,
- LBP_AL, LBP_AL, LBP_EX, LBP_EX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_QU,
+ LBP_QU, LBP_AL, LBP_EX, LBP_EX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -1379,7 +1395,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
@@ -1411,11 +1427,27 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1448,21 +1480,21 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
- LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_EX, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_EX, LBP_BA,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
@@ -1488,9 +1520,9 @@ const lbrkprop_t unilbrkprop =
LBP_OP, LBP_BA, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_AL, LBP_AL,
LBP_QU, LBP_QU, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_EX, LBP_AL,
- LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_B2, LBP_B2, LBP_BA, LBP_BA, LBP_BA, LBP_AL,
+ LBP_BA, LBP_BA, LBP_OP, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1546,13 +1578,13 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_ID, LBP_CL, LBP_CL, LBP_ID, LBP_ID, LBP_NS, LBP_ID, LBP_ID,
+ LBP_BA, LBP_CL, LBP_CL, LBP_ID, LBP_ID, LBP_NS, LBP_ID, LBP_ID,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_ID, LBP_ID, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_NS, LBP_OP, LBP_CL, LBP_CL,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_ID, LBP_ID, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
- LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_CM, LBP_ID, LBP_ID,
LBP_ID, LBP_ID, LBP_ID, LBP_NS, LBP_NS, LBP_ID, LBP_ID, LBP_ID,
LBP_XX, LBP_NS, LBP_ID, LBP_NS, LBP_ID, LBP_NS, LBP_ID, LBP_NS,
LBP_ID, LBP_NS, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
@@ -1704,12 +1736,12 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
- LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1723,13 +1755,12 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1737,7 +1768,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1769,7 +1801,7 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BB, LBP_AL, LBP_XX, LBP_XX,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1798,10 +1830,10 @@ const lbrkprop_t unilbrkprop =
LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1817,7 +1849,7 @@ const lbrkprop_t unilbrkprop =
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
- LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
@@ -1830,9 +1862,9 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
@@ -1840,24 +1872,24 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1997,13 +2029,13 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_CM, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_HL, LBP_CM, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_AL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_XX,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_XX, LBP_HL, LBP_XX,
+ LBP_HL, LBP_HL, LBP_XX, LBP_HL, LBP_HL, LBP_XX, LBP_HL, LBP_HL,
+ LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL, LBP_HL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2033,7 +2065,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CL, LBP_OP,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2062,8 +2094,8 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_IS, LBP_CL, LBP_CL, LBP_IS, LBP_IS, LBP_EX, LBP_EX, LBP_OP,
LBP_CL, LBP_IN, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_OP, LBP_CL, LBP_OP,
LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP,
LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_ID, LBP_ID, LBP_OP,
@@ -2171,10 +2203,10 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2198,26 +2230,26 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2250,6 +2282,38 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2262,12 +2326,28 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_BA,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_BA,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2282,6 +2362,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_CM, LBP_CM, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
@@ -2302,6 +2398,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_IN, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
@@ -2316,6 +2428,22 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2330,6 +2458,22 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2361,7 +2505,7 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2372,26 +2516,138 @@ const lbrkprop_t unilbrkprop =
LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA,
LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_BB, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA, LBP_AL,
+ LBP_BA, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_AL, LBP_BB, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_CM, LBP_AL, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM,
+ LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_BB, LBP_BA, LBP_BA, LBP_EX, LBP_EX, LBP_AL, LBP_AL,
+ LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2399,6 +2655,38 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+ LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_SA, LBP_SA, LBP_BA, LBP_BA, LBP_BA, LBP_SA,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2406,9 +2694,73 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2481,7 +2833,119 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_BA, LBP_BA,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_BA,
+ LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_NU, LBP_NU, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2519,6 +2983,38 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_CM, LBP_CM, LBP_BA,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2549,9 +3045,9 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2666,40 +3162,120 @@ const lbrkprop_t unilbrkprop =
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL, LBP_BA,
+ LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX,
+ LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -2711,7 +3287,7 @@ const lbrkprop_t unilbrkprop =
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
- LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
@@ -2726,10 +3302,10 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_RI, LBP_RI,
+ LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI,
+ LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI,
+ LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI, LBP_RI,
LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
@@ -2746,38 +3322,107 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_AL, LBP_ID, LBP_AL, LBP_ID, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL,
+ LBP_ID, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_XX, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU,
+ LBP_QU, LBP_NS, LBP_NS, LBP_NS, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2785,10 +3430,10 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2799,7 +3444,14 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2807,22 +3459,21 @@ const lbrkprop_t unilbrkprop =
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2833,6 +3484,8 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+ LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2841,32 +3494,19 @@ const lbrkprop_t unilbrkprop =
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX,
- LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
- LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+ LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
diff --git a/gettext-tools/libgettextpo/unilbrk/lbrktables.c b/gettext-tools/libgettextpo/unilbrk/lbrktables.c
index 3a511f6..81a77b4 100644
--- a/gettext-tools/libgettextpo/unilbrk/lbrktables.c
+++ b/gettext-tools/libgettextpo/unilbrk/lbrktables.c
@@ -1,5 +1,5 @@
/* Line breaking auxiliary tables.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
@@ -23,35 +23,37 @@
/* Define unilbrkprop, table of line breaking properties. */
#include "unilbrk/lbrkprop2.h"
-const unsigned char unilbrk_table[25][25] =
+const unsigned char unilbrk_table[27][27] =
{
/* after */
- /* WJ GL B2 BA BB HY CL CP EX IN NS OP QU IS NU PO PR SY AL H2 H3 ID JL JV JT */
-/* WJ */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* GL */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* B2 */ { P, I, P, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* BA */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* BB */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* HY */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* CL */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, D, I, I, P, D, D, D, D, D, D, D, },
-/* CP */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, I, I, I, P, I, D, D, D, D, D, D, },
-/* EX */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* IN */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* NS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* OP */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
-/* QU */ { P, I, I, I, I, I, P, P, P, I, I, P, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* IS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* NU */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, I, I, P, I, D, D, D, D, D, D, },
-/* PO */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
-/* PR */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, },
-/* SY */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* AL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
-/* H2 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
-/* H3 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
-/* ID */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, D, },
-/* JL */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, I, I, D, I, I, D, },
-/* JV */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
-/* JT */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
+ /* WJ GL B2 BA BB HY CL CP EX IN NS OP QU IS NU PO PR SY AL H2 H3 ID JL JV JT HL RI */
+/* WJ */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* GL */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* B2 */ { P, I, P, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* BA */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* BB */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* HY */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* CL */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, D, I, I, P, D, D, D, D, D, D, D, D, D, },
+/* CP */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, I, I, I, P, I, D, D, D, D, D, D, I, D, },
+/* EX */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* IN */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* NS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* OP */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
+/* QU */ { P, I, I, I, I, I, P, P, P, I, I, P, I, P, I, I, I, P, I, I, I, I, I, I, I, I, I, },
+/* IS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, D, D, },
+/* NU */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, I, I, P, I, D, D, D, D, D, D, I, D, },
+/* PO */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, I, D, },
+/* PR */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, I, D, },
+/* SY */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, I, D, },
+/* AL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, I, D, },
+/* H2 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, D, D, },
+/* H3 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, D, D, },
+/* ID */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, D, D, D, },
+/* JL */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, I, I, D, I, I, D, D, D, },
+/* JV */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, D, D, },
+/* JT */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, D, D, },
+/* HL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, I, D, },
+/* RI */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, I, D, I, },
/* "" */
/* before */
};
diff --git a/gettext-tools/libgettextpo/unilbrk/lbrktables.h b/gettext-tools/libgettextpo/unilbrk/lbrktables.h
index 33a6f56..42599ae 100644
--- a/gettext-tools/libgettextpo/unilbrk/lbrktables.h
+++ b/gettext-tools/libgettextpo/unilbrk/lbrktables.h
@@ -1,5 +1,5 @@
/* Line breaking auxiliary tables.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
@@ -21,22 +21,22 @@
enum
{
- /* Values >= 25 are resolved at run time. */
- LBP_BK = 25, /* mandatory break */
+ /* Values >= 27 are resolved at run time. */
+ LBP_BK = 27, /* mandatory break */
/*LBP_CR, carriage return - not used here because it's a DOSism */
/*LBP_LF, line feed - not used here because it's a DOSism */
- LBP_CM = 26, /* attached characters and combining marks */
+ LBP_CM = 28, /* attached characters and combining marks */
/*LBP_NL, next line - not used here because it's equivalent to LBP_BK */
/*LBP_SG, surrogates - not used here because they are not characters */
LBP_WJ = 0, /* word joiner */
- LBP_ZW = 27, /* zero width space */
+ LBP_ZW = 29, /* zero width space */
LBP_GL = 1, /* non-breaking (glue) */
- LBP_SP = 28, /* space */
+ LBP_SP = 30, /* space */
LBP_B2 = 2, /* break opportunity before and after */
LBP_BA = 3, /* break opportunity after */
LBP_BB = 4, /* break opportunity before */
LBP_HY = 5, /* hyphen */
- LBP_CB = 29, /* contingent break opportunity */
+ LBP_CB = 31, /* contingent break opportunity */
LBP_CL = 6, /* closing punctuation */
LBP_CP = 7, /* closing parenthesis */
LBP_EX = 8, /* exclamation/interrogation */
@@ -49,16 +49,19 @@ enum
LBP_PO = 15, /* postfix (numeric) */
LBP_PR = 16, /* prefix (numeric) */
LBP_SY = 17, /* symbols allowing breaks */
- LBP_AI = 30, /* ambiguous (alphabetic or ideograph) */
+ LBP_AI = 32, /* ambiguous (alphabetic or ideograph) */
LBP_AL = 18, /* ordinary alphabetic and symbol characters */
+/*LBP_CJ, conditional Japanese starters, resolved to NS */
LBP_H2 = 19, /* Hangul LV syllable */
LBP_H3 = 20, /* Hangul LVT syllable */
+ LBP_HL = 25, /* Hebrew letter */
LBP_ID = 21, /* ideographic */
LBP_JL = 22, /* Hangul L Jamo */
LBP_JV = 23, /* Hangul V Jamo */
LBP_JT = 24, /* Hangul T Jamo */
- LBP_SA = 31, /* complex context (South East Asian) */
- LBP_XX = 32 /* unknown */
+ LBP_RI = 26, /* regional indicator */
+ LBP_SA = 33, /* complex context (South East Asian) */
+ LBP_XX = 34 /* unknown */
};
#include "lbrkprop1.h"
@@ -89,7 +92,7 @@ unilbrkprop_lookup (ucs4_t uc)
#define I 2 /* indirect break opportunity, '%' in table 7.3 of UTR #14 */
#define P 3 /* prohibited break, '^' in table 7.3 of UTR #14 */
-extern const unsigned char unilbrk_table[25][25];
+extern const unsigned char unilbrk_table[27][27];
/* We don't support line breaking of complex-context dependent characters
(Thai, Lao, Myanmar, Khmer) yet, because it requires dictionary lookup. */
diff --git a/gettext-tools/libgettextpo/unilbrk/u8-possible-linebreaks.c b/gettext-tools/libgettextpo/unilbrk/u8-possible-linebreaks.c
index ba5e892..e848a02 100644
--- a/gettext-tools/libgettextpo/unilbrk/u8-possible-linebreaks.c
+++ b/gettext-tools/libgettextpo/unilbrk/u8-possible-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-8 strings.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unilbrk/u8-width-linebreaks.c b/gettext-tools/libgettextpo/unilbrk/u8-width-linebreaks.c
index 9099983..1d95956 100644
--- a/gettext-tools/libgettextpo/unilbrk/u8-width-linebreaks.c
+++ b/gettext-tools/libgettextpo/unilbrk/u8-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of UTF-8 strings.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unilbrk/ulc-common.c b/gettext-tools/libgettextpo/unilbrk/ulc-common.c
index b18dfb9..9fd2624 100644
--- a/gettext-tools/libgettextpo/unilbrk/ulc-common.c
+++ b/gettext-tools/libgettextpo/unilbrk/ulc-common.c
@@ -1,5 +1,5 @@
/* Line breaking auxiliary functions.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unilbrk/ulc-common.h b/gettext-tools/libgettextpo/unilbrk/ulc-common.h
index 8e422ea..661270d 100644
--- a/gettext-tools/libgettextpo/unilbrk/ulc-common.h
+++ b/gettext-tools/libgettextpo/unilbrk/ulc-common.h
@@ -1,5 +1,5 @@
/* Line breaking auxiliary functions.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unilbrk/ulc-width-linebreaks.c b/gettext-tools/libgettextpo/unilbrk/ulc-width-linebreaks.c
index 58da133..96f416e 100644
--- a/gettext-tools/libgettextpo/unilbrk/ulc-width-linebreaks.c
+++ b/gettext-tools/libgettextpo/unilbrk/ulc-width-linebreaks.c
@@ -1,5 +1,5 @@
/* Line breaking of strings.
- Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistd.c b/gettext-tools/libgettextpo/unistd.c
index 6c6a8e2..72bad1c 100644
--- a/gettext-tools/libgettextpo/unistd.c
+++ b/gettext-tools/libgettextpo/unistd.c
@@ -1,3 +1,4 @@
#include <config.h>
#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
#include "unistd.h"
+typedef int dummy;
diff --git a/gettext-tools/libgettextpo/unistd.in.h b/gettext-tools/libgettextpo/unistd.in.h
index 13babfb..93f1ed9 100644
--- a/gettext-tools/libgettextpo/unistd.in.h
+++ b/gettext-tools/libgettextpo/unistd.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/unistr.in.h b/gettext-tools/libgettextpo/unistr.in.h
index 222c959..be158be 100644
--- a/gettext-tools/libgettextpo/unistr.in.h
+++ b/gettext-tools/libgettextpo/unistr.in.h
@@ -1,5 +1,5 @@
/* Elementary Unicode string functions.
- Copyright (C) 2001-2002, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/libgettextpo/unistr/u16-mbtouc-aux.c b/gettext-tools/libgettextpo/unistr/u16-mbtouc-aux.c
index 9f68c29..2e8487d 100644
--- a/gettext-tools/libgettextpo/unistr/u16-mbtouc-aux.c
+++ b/gettext-tools/libgettextpo/unistr/u16-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-16 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u16-mbtouc.c b/gettext-tools/libgettextpo/unistr/u16-mbtouc.c
index d0b3dec..75a2521 100644
--- a/gettext-tools/libgettextpo/unistr/u16-mbtouc.c
+++ b/gettext-tools/libgettextpo/unistr/u16-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-check.c b/gettext-tools/libgettextpo/unistr/u8-check.c
index 818b2e1..9c4a75c 100644
--- a/gettext-tools/libgettextpo/unistr/u8-check.c
+++ b/gettext-tools/libgettextpo/unistr/u8-check.c
@@ -1,5 +1,5 @@
/* Check UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-mblen.c b/gettext-tools/libgettextpo/unistr/u8-mblen.c
index 05e2cef..32d960c 100644
--- a/gettext-tools/libgettextpo/unistr/u8-mblen.c
+++ b/gettext-tools/libgettextpo/unistr/u8-mblen.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2014 Free Software
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2015 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/gettext-tools/libgettextpo/unistr/u8-mbtouc-aux.c b/gettext-tools/libgettextpo/unistr/u8-mbtouc-aux.c
index c6f4245..a751844 100644
--- a/gettext-tools/libgettextpo/unistr/u8-mbtouc-aux.c
+++ b/gettext-tools/libgettextpo/unistr/u8-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe-aux.c b/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe-aux.c
index f60b37e..ae46311 100644
--- a/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe-aux.c
+++ b/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe.c b/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe.c
index 18040b5..e27dd69 100644
--- a/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe.c
+++ b/gettext-tools/libgettextpo/unistr/u8-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-mbtouc.c b/gettext-tools/libgettextpo/unistr/u8-mbtouc.c
index 78c8f0e..2e9aced 100644
--- a/gettext-tools/libgettextpo/unistr/u8-mbtouc.c
+++ b/gettext-tools/libgettextpo/unistr/u8-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-mbtoucr.c b/gettext-tools/libgettextpo/unistr/u8-mbtoucr.c
index b11543a..9cc1500 100644
--- a/gettext-tools/libgettextpo/unistr/u8-mbtoucr.c
+++ b/gettext-tools/libgettextpo/unistr/u8-mbtoucr.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string, returning an error code.
- Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-next.c b/gettext-tools/libgettextpo/unistr/u8-next.c
new file mode 100644
index 0000000..a1492b0
--- /dev/null
+++ b/gettext-tools/libgettextpo/unistr/u8-next.c
@@ -0,0 +1,37 @@
+/* Iterate over next character in UTF-8 string.
+ Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+const uint8_t *
+u8_next (ucs4_t *puc, const uint8_t *s)
+{
+ int count;
+
+ count = u8_strmbtouc (puc, s);
+ if (count > 0)
+ return s + count;
+ else
+ {
+ if (count < 0)
+ *puc = 0xfffd;
+ return NULL;
+ }
+}
diff --git a/gettext-tools/libgettextpo/unistr/u8-prev.c b/gettext-tools/libgettextpo/unistr/u8-prev.c
index 6ccdfbd..20c8844 100644
--- a/gettext-tools/libgettextpo/unistr/u8-prev.c
+++ b/gettext-tools/libgettextpo/unistr/u8-prev.c
@@ -1,5 +1,5 @@
/* Iterate over previous character in UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-strmbtouc.c b/gettext-tools/libgettextpo/unistr/u8-strmbtouc.c
new file mode 100644
index 0000000..a67a202
--- /dev/null
+++ b/gettext-tools/libgettextpo/unistr/u8-strmbtouc.c
@@ -0,0 +1,130 @@
+/* Look at first character in UTF-8 string.
+ Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2015 Free Software
+ Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+int
+u8_strmbtouc (ucs4_t *puc, const uint8_t *s)
+{
+ /* Keep in sync with unistr.h and u8-mbtouc-aux.c. */
+ uint8_t c = *s;
+
+ if (c < 0x80)
+ {
+ *puc = c;
+ return (c != 0 ? 1 : 0);
+ }
+ if (c >= 0xc2)
+ {
+ if (c < 0xe0)
+ {
+#if CONFIG_UNICODE_SAFETY
+ if ((s[1] ^ 0x80) < 0x40)
+#else
+ if (s[1] != 0)
+#endif
+ {
+ *puc = ((unsigned int) (c & 0x1f) << 6)
+ | (unsigned int) (s[1] ^ 0x80);
+ return 2;
+ }
+ }
+ else if (c < 0xf0)
+ {
+#if CONFIG_UNICODE_SAFETY
+ if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (c >= 0xe1 || s[1] >= 0xa0)
+ && (c != 0xed || s[1] < 0xa0))
+#else
+ if (s[1] != 0 && s[2] != 0)
+#endif
+ {
+ *puc = ((unsigned int) (c & 0x0f) << 12)
+ | ((unsigned int) (s[1] ^ 0x80) << 6)
+ | (unsigned int) (s[2] ^ 0x80);
+ return 3;
+ }
+ }
+ else if (c < 0xf8)
+ {
+#if CONFIG_UNICODE_SAFETY
+ if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (s[3] ^ 0x80) < 0x40
+ && (c >= 0xf1 || s[1] >= 0x90)
+#if 1
+ && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
+#endif
+ )
+#else
+ if (s[1] != 0 && s[2] != 0 && s[3] != 0)
+#endif
+ {
+ *puc = ((unsigned int) (c & 0x07) << 18)
+ | ((unsigned int) (s[1] ^ 0x80) << 12)
+ | ((unsigned int) (s[2] ^ 0x80) << 6)
+ | (unsigned int) (s[3] ^ 0x80);
+ return 4;
+ }
+ }
+#if 0
+ else if (c < 0xfc)
+ {
+#if CONFIG_UNICODE_SAFETY
+ if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (s[3] ^ 0x80) < 0x40 && (s[4] ^ 0x80) < 0x40
+ && (c >= 0xf9 || s[1] >= 0x88))
+#else
+ if (s[1] != 0 && s[2] != 0 && s[3] != 0 && s[4] != 0)
+#endif
+ {
+ *puc = ((unsigned int) (c & 0x03) << 24)
+ | ((unsigned int) (s[1] ^ 0x80) << 18)
+ | ((unsigned int) (s[2] ^ 0x80) << 12)
+ | ((unsigned int) (s[3] ^ 0x80) << 6)
+ | (unsigned int) (s[4] ^ 0x80);
+ return 5;
+ }
+ }
+ else if (c < 0xfe)
+ {
+#if CONFIG_UNICODE_SAFETY
+ if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (s[3] ^ 0x80) < 0x40 && (s[4] ^ 0x80) < 0x40
+ && (s[5] ^ 0x80) < 0x40
+ && (c >= 0xfd || s[1] >= 0x84))
+#else
+ if (s[1] != 0 && s[2] != 0 && s[3] != 0 && s[4] != 0 && s[5] != 0)
+#endif
+ {
+ *puc = ((unsigned int) (c & 0x01) << 30)
+ | ((unsigned int) (s[1] ^ 0x80) << 24)
+ | ((unsigned int) (s[2] ^ 0x80) << 18)
+ | ((unsigned int) (s[3] ^ 0x80) << 12)
+ | ((unsigned int) (s[4] ^ 0x80) << 6)
+ | (unsigned int) (s[5] ^ 0x80);
+ return 6;
+ }
+ }
+#endif
+ }
+ /* invalid or incomplete multibyte character */
+ return -1;
+}
diff --git a/gettext-tools/libgettextpo/unistr/u8-uctomb-aux.c b/gettext-tools/libgettextpo/unistr/u8-uctomb-aux.c
index 8fdd88b..65445be 100644
--- a/gettext-tools/libgettextpo/unistr/u8-uctomb-aux.c
+++ b/gettext-tools/libgettextpo/unistr/u8-uctomb-aux.c
@@ -1,5 +1,5 @@
/* Conversion UCS-4 to UTF-8.
- Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unistr/u8-uctomb.c b/gettext-tools/libgettextpo/unistr/u8-uctomb.c
index df9b227..a8250f4 100644
--- a/gettext-tools/libgettextpo/unistr/u8-uctomb.c
+++ b/gettext-tools/libgettextpo/unistr/u8-uctomb.c
@@ -1,5 +1,5 @@
/* Store a character in UTF-8 string.
- Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/unitypes.in.h b/gettext-tools/libgettextpo/unitypes.in.h
index bc302c2..d3c47ae 100644
--- a/gettext-tools/libgettextpo/unitypes.in.h
+++ b/gettext-tools/libgettextpo/unitypes.in.h
@@ -1,5 +1,5 @@
/* Elementary types and macros for the GNU UniString library.
- Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/gettext-tools/libgettextpo/uniwidth.in.h b/gettext-tools/libgettextpo/uniwidth.in.h
index b2fd218..7694beb 100644
--- a/gettext-tools/libgettextpo/uniwidth.in.h
+++ b/gettext-tools/libgettextpo/uniwidth.in.h
@@ -1,5 +1,5 @@
/* Display width functions.
- Copyright (C) 2001-2002, 2005, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001-2002, 2005, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/uniwidth/cjk.h b/gettext-tools/libgettextpo/uniwidth/cjk.h
index 71ea0cb..cdd9a55 100644
--- a/gettext-tools/libgettextpo/uniwidth/cjk.h
+++ b/gettext-tools/libgettextpo/uniwidth/cjk.h
@@ -1,5 +1,5 @@
/* Test for CJK encoding.
- Copyright (C) 2001-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gettext-tools/libgettextpo/uniwidth/width.c b/gettext-tools/libgettextpo/uniwidth/width.c
index 2c070c3..c7e03b2 100644
--- a/gettext-tools/libgettextpo/uniwidth/width.c
+++ b/gettext-tools/libgettextpo/uniwidth/width.c
@@ -1,5 +1,5 @@
/* Determine display width of Unicode character.
- Copyright (C) 2001-2002, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* - Zero width characters; generated from
* "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt"
*/
-static const unsigned char nonspacing_table_data[27*64] = {
+static const unsigned char nonspacing_table_data[36*64] = {
/* 0x0000-0x01ff */
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */
@@ -61,7 +61,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */
0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */
/* 0x0600-0x07ff */
- 0x0f, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
+ 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */
0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
@@ -73,7 +73,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */
+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */
0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
@@ -88,11 +88,11 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */
0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */
/* 0x0c00-0x0dff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */
0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */
0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */
0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */
0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */
@@ -133,7 +133,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */
0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */
/* 0x1800-0x19ff */
- 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
+ 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */
@@ -142,26 +142,26 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */
/* 0x1a00-0x1bff */
- 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
+ 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */
0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */
- 0x03, 0x00, 0x00, 0x00, 0x3c, 0x03, 0x00, 0x00, /* 0x1b80-0x1bbf */
+ 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */
0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */
/* 0x1c00-0x1dff */
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */
- 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x00, 0x00, /* 0x1cc0-0x1cff */
+ 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */
- 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xf0, /* 0x1dc0-0x1dff */
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf0, /* 0x1dc0-0x1dff */
/* 0x2000-0x21ff */
0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */
- 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */
+ 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */
@@ -178,7 +178,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */
/* 0x3000-0x31ff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, /* 0x3000-0x303f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */
@@ -188,8 +188,8 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */
/* 0xa600-0xa7ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x30, /* 0xa640-0xa67f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */
@@ -203,12 +203,12 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */
0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
/* 0xaa00-0xabff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */
- 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa40-0xaa7f */
+ 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */
@@ -223,7 +223,7 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */
/* 0xfe00-0xffff */
- 0xff, 0xff, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, /* 0xfe00-0xfe3f */
+ 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */
@@ -240,24 +240,87 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */
+ /* 0x10200-0x103ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */
/* 0x10a00-0x10bff */
0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */
/* 0x11000-0x111ff */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */
- 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11040-0x1107f */
+ 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11100-0x1113f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11140-0x1117f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11180-0x111bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
+ 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */
+ 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
+ /* 0x11200-0x113ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x00, /* 0x11200-0x1123f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */
+ 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */
+ 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */
+ /* 0x11400-0x115ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11400-0x1143f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */
+ 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */
+ 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */
+ /* 0x11600-0x117ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */
+ 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */
+ /* 0x16a00-0x16bff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */
+ /* 0x16e00-0x16fff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */
+ 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */
+ /* 0x1bc00-0x1bdff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */
+ 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */
/* 0x1d000-0x1d1ff */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */
@@ -275,9 +338,27 @@ static const unsigned char nonspacing_table_data[27*64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1d3c0-0x1d3ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */
+ /* 0x1da00-0x1dbff */
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */
+ 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */
+ /* 0x1e800-0x1e9ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */
+ 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */
};
-static const signed char nonspacing_table_ind[240] = {
+static const signed char nonspacing_table_ind[248] = {
0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */
8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */
14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */
@@ -294,20 +375,21 @@ static const signed char nonspacing_table_ind[240] = {
-1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */
-1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */
- 22, -1, -1, -1, -1, 23, -1, -1, /* 0x10000-0x10fff */
- 24, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */
+ 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */
+ 25, 26, 27, 28, -1, -1, -1, -1, /* 0x11000-0x11fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */
- -1, -1, -1, -1, -1, -1, -1, -1, /* 0x16000-0x16fff */
+ -1, -1, -1, -1, -1, 29, -1, 30, /* 0x16000-0x16fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */
- -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */
+ -1, -1, -1, -1, -1, -1, 31, -1, /* 0x1b000-0x1bfff */
-1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */
- 25, 26, -1, -1, -1, -1, -1, -1 /* 0x1d000-0x1dfff */
+ 32, 33, -1, -1, -1, 34, -1, -1, /* 0x1d000-0x1dfff */
+ -1, -1, -1, -1, 35, -1, -1, -1 /* 0x1e000-0x1efff */
};
/* Determine number of column positions required for UC. */
@@ -315,7 +397,7 @@ int
uc_width (ucs4_t uc, const char *encoding)
{
/* Test for non-spacing or control character. */
- if ((uc >> 9) < 240)
+ if ((uc >> 9) < 248)
{
int ind = nonspacing_table_ind[uc >> 9];
if (ind >= 0)
diff --git a/gettext-tools/libgettextpo/unlocked-io.h b/gettext-tools/libgettextpo/unlocked-io.h
index 4b0f3ff..06ffac6 100644
--- a/gettext-tools/libgettextpo/unlocked-io.h
+++ b/gettext-tools/libgettextpo/unlocked-io.h
@@ -1,6 +1,6 @@
/* Prefer faster, non-thread-safe stdio functions if available.
- Copyright (C) 2001-2004, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/vasnprintf.c b/gettext-tools/libgettextpo/vasnprintf.c
index ec7302a..88332f0 100644
--- a/gettext-tools/libgettextpo/vasnprintf.c
+++ b/gettext-tools/libgettextpo/vasnprintf.c
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc.
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
@@ -1886,7 +1886,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
else
{
do
- result[length++] = (unsigned char) *cp++;
+ result[length++] = *cp++;
while (--n > 0);
}
}
@@ -4793,7 +4793,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
const FCHAR_T *mp = dp->width_start;
do
- *fbp++ = (unsigned char) *mp++;
+ *fbp++ = *mp++;
while (--n > 0);
}
}
@@ -4814,7 +4814,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
{
const FCHAR_T *mp = dp->precision_start;
do
- *fbp++ = (unsigned char) *mp++;
+ *fbp++ = *mp++;
while (--n > 0);
}
}
@@ -5179,18 +5179,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
/* SNPRINTF or sprintf failed. Save and use the errno
that it has set, if any. */
int saved_errno = errno;
+ if (saved_errno == 0)
+ {
+ if (dp->conversion == 'c' || dp->conversion == 's')
+ saved_errno = EILSEQ;
+ else
+ saved_errno = EINVAL;
+ }
if (!(result == resultbuf || result == NULL))
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
CLEANUP ();
- errno =
- (saved_errno != 0
- ? saved_errno
- : (dp->conversion == 'c' || dp->conversion == 's'
- ? EILSEQ
- : EINVAL));
+
+ errno = saved_errno;
return NULL;
}
@@ -5379,7 +5382,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
tmpsrc += count;
tmpdst += count;
for (n = count; n > 0; n--)
- *--tmpdst = (unsigned char) *--tmpsrc;
+ *--tmpdst = *--tmpsrc;
}
}
#endif
diff --git a/gettext-tools/libgettextpo/vasnprintf.h b/gettext-tools/libgettextpo/vasnprintf.h
index daa946d..3494eef 100644
--- a/gettext-tools/libgettextpo/vasnprintf.h
+++ b/gettext-tools/libgettextpo/vasnprintf.h
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 2002-2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/vasprintf.c b/gettext-tools/libgettextpo/vasprintf.c
index eed9037..5dd4abd 100644
--- a/gettext-tools/libgettextpo/vasprintf.c
+++ b/gettext-tools/libgettextpo/vasprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/verify.h b/gettext-tools/libgettextpo/verify.h
index a25e514..60eba49 100644
--- a/gettext-tools/libgettextpo/verify.h
+++ b/gettext-tools/libgettextpo/verify.h
@@ -1,6 +1,6 @@
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/wchar.in.h b/gettext-tools/libgettextpo/wchar.in.h
index 473285f..684299f 100644
--- a/gettext-tools/libgettextpo/wchar.in.h
+++ b/gettext-tools/libgettextpo/wchar.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
@@ -30,9 +30,14 @@
#endif
@PRAGMA_COLUMNS@
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+#if (((defined __need_mbstate_t || defined __need_wint_t) \
+ && !defined __MINGW32__) \
+ || (defined __hpux \
+ && ((defined _INTTYPES_INCLUDED && !defined strtoimax) \
+ || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) \
+ || defined _GL_ALREADY_INCLUDING_WCHAR_H)
/* Special invocation convention:
- - Inside glibc and uClibc header files.
+ - Inside glibc and uClibc header files, but not MinGW.
- On HP-UX 11.00 we have a sequence of nested includes
<wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
diff --git a/gettext-tools/libgettextpo/wctype.in.h b/gettext-tools/libgettextpo/wctype.in.h
index ab06653..9050b7e 100644
--- a/gettext-tools/libgettextpo/wctype.in.h
+++ b/gettext-tools/libgettextpo/wctype.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/wcwidth.c b/gettext-tools/libgettextpo/wcwidth.c
index d7837bb..d2b7118 100644
--- a/gettext-tools/libgettextpo/wcwidth.c
+++ b/gettext-tools/libgettextpo/wcwidth.c
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a character.
- Copyright (C) 2006-2007, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/xalloc.h b/gettext-tools/libgettextpo/xalloc.h
index 1ad1009..b261994 100644
--- a/gettext-tools/libgettextpo/xalloc.h
+++ b/gettext-tools/libgettextpo/xalloc.h
@@ -1,5 +1,5 @@
/* malloc with out of memory checking.
- Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xasprintf.c b/gettext-tools/libgettextpo/xasprintf.c
index 4e0b5b1..f8eef97 100644
--- a/gettext-tools/libgettextpo/xasprintf.c
+++ b/gettext-tools/libgettextpo/xasprintf.c
@@ -1,5 +1,5 @@
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 1999, 2002-2004, 2006, 2009-2014 Free Software Foundation,
+ Copyright (C) 1999, 2002-2004, 2006, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xconcat-filename.c b/gettext-tools/libgettextpo/xconcat-filename.c
index 956f958..10ebbea 100644
--- a/gettext-tools/libgettextpo/xconcat-filename.c
+++ b/gettext-tools/libgettextpo/xconcat-filename.c
@@ -1,5 +1,5 @@
/* Construct a full filename from a directory and a relative filename.
- Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/xerror.c b/gettext-tools/libgettextpo/xerror.c
index b803f48..705b553 100644
--- a/gettext-tools/libgettextpo/xerror.c
+++ b/gettext-tools/libgettextpo/xerror.c
@@ -1,5 +1,5 @@
/* Multiline error-reporting functions.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xerror.h b/gettext-tools/libgettextpo/xerror.h
index 28b39c1..fc8b163 100644
--- a/gettext-tools/libgettextpo/xerror.h
+++ b/gettext-tools/libgettextpo/xerror.h
@@ -1,5 +1,5 @@
/* Multiline error-reporting functions.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xmalloc.c b/gettext-tools/libgettextpo/xmalloc.c
index 223f994..43dcb94 100644
--- a/gettext-tools/libgettextpo/xmalloc.c
+++ b/gettext-tools/libgettextpo/xmalloc.c
@@ -1,5 +1,6 @@
/* xmalloc.c -- malloc with out of memory checking
- Copyright (C) 1990-1996, 2000-2003, 2005-2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1990-1996, 2000-2003, 2005-2007, 2012, 2015 Free
+ Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/xmalloca.c b/gettext-tools/libgettextpo/xmalloca.c
index 9861b44..4fc7c8a 100644
--- a/gettext-tools/libgettextpo/xmalloca.c
+++ b/gettext-tools/libgettextpo/xmalloca.c
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation with out of memory checking.
- Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xmalloca.h b/gettext-tools/libgettextpo/xmalloca.h
index a6b98cf..c067c8a 100644
--- a/gettext-tools/libgettextpo/xmalloca.h
+++ b/gettext-tools/libgettextpo/xmalloca.h
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation with out of memory checking.
- Copyright (C) 2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xsize.h b/gettext-tools/libgettextpo/xsize.h
index fd12c67..b2a786a 100644
--- a/gettext-tools/libgettextpo/xsize.h
+++ b/gettext-tools/libgettextpo/xsize.h
@@ -1,6 +1,6 @@
/* xsize.h -- Checked size_t computations.
- Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/xstrdup.c b/gettext-tools/libgettextpo/xstrdup.c
index 9ad1b94..7aa09dc 100644
--- a/gettext-tools/libgettextpo/xstrdup.c
+++ b/gettext-tools/libgettextpo/xstrdup.c
@@ -1,5 +1,6 @@
/* xstrdup.c -- copy a string with out of memory checking
- Copyright (C) 1990, 1996, 2000-2003, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1996, 2000-2003, 2005-2006, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/xstriconv.c b/gettext-tools/libgettextpo/xstriconv.c
index be1ef2d..d5e1951 100644
--- a/gettext-tools/libgettextpo/xstriconv.c
+++ b/gettext-tools/libgettextpo/xstriconv.c
@@ -1,5 +1,5 @@
/* Charset conversion with out-of-memory checking.
- Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xstriconv.h b/gettext-tools/libgettextpo/xstriconv.h
index 75f8f83..6319989 100644
--- a/gettext-tools/libgettextpo/xstriconv.h
+++ b/gettext-tools/libgettextpo/xstriconv.h
@@ -1,5 +1,5 @@
/* Charset conversion with out-of-memory checking.
- Copyright (C) 2001-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgettextpo/xvasprintf.c b/gettext-tools/libgettextpo/xvasprintf.c
index 7a4029e..441ab59 100644
--- a/gettext-tools/libgettextpo/xvasprintf.c
+++ b/gettext-tools/libgettextpo/xvasprintf.c
@@ -1,5 +1,5 @@
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 1999, 2002-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgettextpo/xvasprintf.h b/gettext-tools/libgettextpo/xvasprintf.h
index 407a5e0..3b7f5ad 100644
--- a/gettext-tools/libgettextpo/xvasprintf.h
+++ b/gettext-tools/libgettextpo/xvasprintf.h
@@ -1,5 +1,5 @@
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/ChangeLog b/gettext-tools/libgrep/ChangeLog.0
index f6c58c9..3b6b444 100644
--- a/gettext-tools/libgrep/ChangeLog
+++ b/gettext-tools/libgrep/ChangeLog.0
@@ -1,3 +1,11 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/libgrep/Makefile.am b/gettext-tools/libgrep/Makefile.am
index 99b71c0..14ba3a3 100644
--- a/gettext-tools/libgrep/Makefile.am
+++ b/gettext-tools/libgrep/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for libgrep directory in GNU gettext package.
-## Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc.
+## Copyright (C) 2005-2007, 2009-2010, 2015 Free Software Foundation,
+## Inc.
##
## 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
diff --git a/gettext-tools/libgrep/Makefile.gnulib b/gettext-tools/libgrep/Makefile.gnulib
index c73af46..15254b6 100644
--- a/gettext-tools/libgrep/Makefile.gnulib
+++ b/gettext-tools/libgrep/Makefile.gnulib
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --avoid=alloca-opt --avoid=extensions --avoid=gettext-h --avoid=include_next --avoid=locale --avoid=localcharset --avoid=malloc-posix --avoid=mbrtowc --avoid=mbsinit --avoid=multiarch --avoid=ssize_t --avoid=stdbool --avoid=stddef --avoid=stdint --avoid=stdlib --avoid=streq --avoid=unistd --avoid=verify --avoid=wchar --avoid=wctype-h --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=grgl --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP mbrlen regex
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --avoid=alloca-opt --avoid=extensions --avoid=gettext-h --avoid=include_next --avoid=locale --avoid=localcharset --avoid=malloc-posix --avoid=mbrtowc --avoid=mbsinit --avoid=multiarch --avoid=ssize_t --avoid=stdbool --avoid=stddef --avoid=stdint --avoid=stdlib --avoid=streq --avoid=unistd --avoid=verify --avoid=wchar --avoid=wctype-h --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=grgl --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP mbrlen regex
MOSTLYCLEANFILES += core *.stackdump
diff --git a/gettext-tools/libgrep/Makefile.in b/gettext-tools/libgrep/Makefile.in
index b2fe714..3937499 100644
--- a/gettext-tools/libgrep/Makefile.in
+++ b/gettext-tools/libgrep/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,10 +35,20 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --avoid=alloca-opt --avoid=extensions --avoid=gettext-h --avoid=include_next --avoid=locale --avoid=localcharset --avoid=malloc-posix --avoid=mbrtowc --avoid=mbsinit --avoid=multiarch --avoid=ssize_t --avoid=stdbool --avoid=stddef --avoid=stdint --avoid=stdlib --avoid=streq --avoid=unistd --avoid=verify --avoid=wchar --avoid=wctype-h --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=grgl --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP mbrlen regex
+# Reproduce by: gnulib-tool --import --local-dir=gnulib-local --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --avoid=alloca-opt --avoid=extensions --avoid=gettext-h --avoid=include_next --avoid=locale --avoid=localcharset --avoid=malloc-posix --avoid=mbrtowc --avoid=mbsinit --avoid=multiarch --avoid=ssize_t --avoid=stdbool --avoid=stddef --avoid=stdint --avoid=stdlib --avoid=streq --avoid=unistd --avoid=verify --avoid=wchar --avoid=wctype-h --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=grgl --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP mbrlen regex
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -100,15 +110,11 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/../build-aux/mkinstalldirs \
- ChangeLog
subdir = libgrep
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -125,6 +131,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -132,6 +139,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -143,7 +151,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -173,10 +184,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -194,10 +211,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -227,6 +247,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -251,6 +272,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -258,6 +280,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -349,6 +372,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -428,6 +452,8 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.gnulib $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -438,6 +464,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -499,6 +526,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -513,15 +541,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -530,6 +577,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -544,6 +601,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -552,6 +618,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -582,17 +651,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -631,6 +730,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -666,6 +768,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -689,11 +792,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -704,10 +816,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -736,10 +854,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -799,25 +924,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -829,13 +986,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -844,6 +1016,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -855,6 +1031,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -865,6 +1047,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -887,9 +1075,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -911,12 +1108,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -937,6 +1144,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -956,6 +1165,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -971,9 +1181,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -986,9 +1201,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1014,7 +1234,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1090,13 +1314,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1115,6 +1342,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1123,6 +1351,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1132,9 +1361,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1145,6 +1374,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1154,6 +1384,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1163,6 +1394,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1181,6 +1413,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1190,6 +1423,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1220,12 +1454,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1244,6 +1480,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1252,16 +1493,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1280,19 +1538,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1310,6 +1593,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1339,16 +1626,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1374,6 +1670,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1400,6 +1699,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1414,6 +1714,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1563,7 +1864,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.gnulib $(am__co
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits libgrep/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits libgrep/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1572,7 +1872,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/Makefile.gnulib:
+$(srcdir)/Makefile.gnulib $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1827,6 +2127,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
pdf-am ps ps-am tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# We need the following in order to create an empty placeholder for
# <langinfo.h> when the system doesn't have one.
diff --git a/gettext-tools/libgrep/btowc.c b/gettext-tools/libgrep/btowc.c
index b06ca2e..2e32dee 100644
--- a/gettext-tools/libgrep/btowc.c
+++ b/gettext-tools/libgrep/btowc.c
@@ -1,5 +1,5 @@
/* Convert unibyte character to wide character.
- Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgrep/glthread/lock.c b/gettext-tools/libgrep/glthread/lock.c
index 33c15a0..b64132a 100644
--- a/gettext-tools/libgrep/glthread/lock.c
+++ b/gettext-tools/libgrep/glthread/lock.c
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/glthread/lock.h b/gettext-tools/libgrep/glthread/lock.h
index 36096c4..cf3d0d9 100644
--- a/gettext-tools/libgrep/glthread/lock.h
+++ b/gettext-tools/libgrep/glthread/lock.h
@@ -1,5 +1,5 @@
/* Locking in multithreaded situations.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/glthread/threadlib.c b/gettext-tools/libgrep/glthread/threadlib.c
index 26870de..f01d351 100644
--- a/gettext-tools/libgrep/glthread/threadlib.c
+++ b/gettext-tools/libgrep/glthread/threadlib.c
@@ -1,5 +1,5 @@
/* Multithreading primitives.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/gnulib-m4/gnulib-cache.m4 b/gettext-tools/libgrep/gnulib-m4/gnulib-cache.m4
index 03b5049..73670df 100644
--- a/gettext-tools/libgrep/gnulib-m4/gnulib-cache.m4
+++ b/gettext-tools/libgrep/gnulib-m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=gettext-tools --local-dir=gnulib-local --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --avoid=alloca-opt --avoid=extensions --avoid=gettext-h --avoid=include_next --avoid=locale --avoid=localcharset --avoid=malloc-posix --avoid=mbrtowc --avoid=mbsinit --avoid=multiarch --avoid=ssize_t --avoid=stdbool --avoid=stddef --avoid=stdint --avoid=stdlib --avoid=streq --avoid=unistd --avoid=verify --avoid=wchar --avoid=wctype-h --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=grgl --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP mbrlen regex
+# gnulib-tool --import --local-dir=gnulib-local --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --doc-base=doc --tests-base=tests --aux-dir=../build-aux --avoid=alloca-opt --avoid=extensions --avoid=gettext-h --avoid=include_next --avoid=locale --avoid=localcharset --avoid=malloc-posix --avoid=mbrtowc --avoid=mbsinit --avoid=multiarch --avoid=ssize_t --avoid=stdbool --avoid=stddef --avoid=stdint --avoid=stdlib --avoid=streq --avoid=unistd --avoid=verify --avoid=wchar --avoid=wctype-h --makefile-name=Makefile.gnulib --no-conditional-dependencies --no-libtool --macro-prefix=grgl --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP mbrlen regex
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([../gnulib-local])
diff --git a/gettext-tools/libgrep/gnulib-m4/gnulib-comp.m4 b/gettext-tools/libgrep/gnulib-m4/gnulib-comp.m4
index 63f3ab4..13bc360 100644
--- a/gettext-tools/libgrep/gnulib-m4/gnulib-comp.m4
+++ b/gettext-tools/libgrep/gnulib-m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,7 +37,10 @@ AC_DEFUN([grgl_EARLY],
m4_pattern_allow([^gl_ES$])dnl a valid locale name
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+ # Pre-early section.
AC_REQUIRE([gl_PROG_AR_RANLIB])
+
AC_REQUIRE([AM_PROG_CC_C_O])
# Code from module btowc:
# Code from module havelib:
diff --git a/gettext-tools/libgrep/gnulib-m4/localeconv.m4 b/gettext-tools/libgrep/gnulib-m4/localeconv.m4
index 1fd2919..464e630 100644
--- a/gettext-tools/libgrep/gnulib-m4/localeconv.m4
+++ b/gettext-tools/libgrep/gnulib-m4/localeconv.m4
@@ -1,5 +1,5 @@
# localeconv.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/libgrep/gnulib-m4/mbrlen.m4 b/gettext-tools/libgrep/gnulib-m4/mbrlen.m4
index 10df9b3..68d7b91 100644
--- a/gettext-tools/libgrep/gnulib-m4/mbrlen.m4
+++ b/gettext-tools/libgrep/gnulib-m4/mbrlen.m4
@@ -1,5 +1,5 @@
-# mbrlen.m4 serial 9
-dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+# mbrlen.m4 serial 9 -*- coding: utf-8 -*-
+dnl Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -253,10 +253,10 @@ changequote([,])dnl
int
main (void)
{
- return mbrlen ("", 0, &mbs) == (size_t) -2;
+ return mbrlen ("", 0, &mbs) != (size_t) -2;
}]])],
- [gl_cv_func_mbrlen_empty_input=no],
[gl_cv_func_mbrlen_empty_input=yes],
+ [gl_cv_func_mbrlen_empty_input=no],
[:])
])
])
diff --git a/gettext-tools/libgrep/gnulib-m4/nl_langinfo.m4 b/gettext-tools/libgrep/gnulib-m4/nl_langinfo.m4
index 6976e77..c8bf20f 100644
--- a/gettext-tools/libgrep/gnulib-m4/nl_langinfo.m4
+++ b/gettext-tools/libgrep/gnulib-m4/nl_langinfo.m4
@@ -1,5 +1,5 @@
# nl_langinfo.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/libgrep/gnulib-m4/regex.m4 b/gettext-tools/libgrep/gnulib-m4/regex.m4
index 08bd46a..0fa7455 100644
--- a/gettext-tools/libgrep/gnulib-m4/regex.m4
+++ b/gettext-tools/libgrep/gnulib-m4/regex.m4
@@ -1,6 +1,6 @@
# serial 65
-# Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/gettext-tools/libgrep/kwset.c b/gettext-tools/libgrep/kwset.c
index d944f10..776b79d 100644
--- a/gettext-tools/libgrep/kwset.c
+++ b/gettext-tools/libgrep/kwset.c
@@ -1,5 +1,6 @@
/* kwset.c - search for any of a set of keywords.
- Copyright 1989, 1998, 2000, 2005-2006, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 1989, 1998, 2000, 2005-2006, 2010, 2012, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/kwset.h b/gettext-tools/libgrep/kwset.h
index 244f80e..530649a 100644
--- a/gettext-tools/libgrep/kwset.h
+++ b/gettext-tools/libgrep/kwset.h
@@ -1,5 +1,5 @@
/* kwset.h - header declaring the keyword set library.
- Copyright (C) 1989, 1998, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1998, 2005, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/langinfo.in.h b/gettext-tools/libgrep/langinfo.in.h
index 338ffb6..04fd535 100644
--- a/gettext-tools/libgrep/langinfo.in.h
+++ b/gettext-tools/libgrep/langinfo.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <langinfo.h>.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/libgrep.h b/gettext-tools/libgrep/libgrep.h
index 162910b..2ab4968 100644
--- a/gettext-tools/libgrep/libgrep.h
+++ b/gettext-tools/libgrep/libgrep.h
@@ -1,5 +1,5 @@
/* Search for patterns in strings or files.
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/localeconv.c b/gettext-tools/libgrep/localeconv.c
index 014e739..8f2d084 100644
--- a/gettext-tools/libgrep/localeconv.c
+++ b/gettext-tools/libgrep/localeconv.c
@@ -1,5 +1,5 @@
/* Query locale dependent information for formatting numbers.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/m-fgrep.c b/gettext-tools/libgrep/m-fgrep.c
index 1f4d58d..8225828 100644
--- a/gettext-tools/libgrep/m-fgrep.c
+++ b/gettext-tools/libgrep/m-fgrep.c
@@ -1,5 +1,6 @@
/* Pattern Matcher for Fixed String search.
- Copyright (C) 1992, 1998, 2000, 2005-2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1998, 2000, 2005-2006, 2010, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/m-regex.c b/gettext-tools/libgrep/m-regex.c
index 5444978..2f4660b 100644
--- a/gettext-tools/libgrep/m-regex.c
+++ b/gettext-tools/libgrep/m-regex.c
@@ -1,5 +1,6 @@
/* Pattern Matchers for Regular Expressions.
- Copyright (C) 1992, 1998, 2000, 2005-2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1998, 2000, 2005-2006, 2010, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/mbrlen.c b/gettext-tools/libgrep/mbrlen.c
index 5f180ba..b6334f2 100644
--- a/gettext-tools/libgrep/mbrlen.c
+++ b/gettext-tools/libgrep/mbrlen.c
@@ -1,5 +1,5 @@
/* Recognize multibyte character.
- Copyright (C) 1999-2000, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgrep/mbtowc-impl.h b/gettext-tools/libgrep/mbtowc-impl.h
index 3cc70b0..5c60478 100644
--- a/gettext-tools/libgrep/mbtowc-impl.h
+++ b/gettext-tools/libgrep/mbtowc-impl.h
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgrep/mbtowc.c b/gettext-tools/libgrep/mbtowc.c
index 93a7445..e58053d 100644
--- a/gettext-tools/libgrep/mbtowc.c
+++ b/gettext-tools/libgrep/mbtowc.c
@@ -1,5 +1,5 @@
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/libgrep/nl_langinfo.c b/gettext-tools/libgrep/nl_langinfo.c
index 1ab551d..79b0406 100644
--- a/gettext-tools/libgrep/nl_langinfo.c
+++ b/gettext-tools/libgrep/nl_langinfo.c
@@ -1,6 +1,6 @@
/* nl_langinfo() replacement: query locale dependent information.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/libgrep/regcomp.c b/gettext-tools/libgrep/regcomp.c
index 4763ea7..01b668b 100644
--- a/gettext-tools/libgrep/regcomp.c
+++ b/gettext-tools/libgrep/regcomp.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -17,6 +17,10 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifdef _LIBC
+# include <locale/weight.h>
+#endif
+
static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
size_t length, reg_syntax_t syntax);
static void re_compile_fastmap_iter (regex_t *bufp,
@@ -335,7 +339,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
memset (&state, '\0', sizeof (state));
if (__mbrtowc (&wc, (const char *) buf, p - buf,
&state) == p - buf
- && (__wcrtomb ((char *) buf, towlower (wc), &state)
+ && (__wcrtomb ((char *) buf, __towlower (wc), &state)
!= (size_t) -1))
re_set_fastmap (fastmap, false, buf[0]);
}
@@ -411,7 +415,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
{
- if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state)
+ if (__wcrtomb (buf, __towlower (cset->mbchars[i]), &state)
!= (size_t) -1)
re_set_fastmap (fastmap, false, *(unsigned char *) buf);
}
@@ -2187,6 +2191,7 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
{
re_dfa_t *dfa = preg->buffer;
bin_tree_t *tree, *branch = NULL;
+ bitset_word_t initial_bkref_map = dfa->completed_bkref_map;
tree = parse_branch (regexp, preg, token, syntax, nest, err);
if (BE (*err != REG_NOERROR && tree == NULL, 0))
return NULL;
@@ -2197,6 +2202,8 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
if (token->type != OP_ALT && token->type != END_OF_RE
&& (nest == 0 || token->type != OP_CLOSE_SUBEXP))
{
+ bitset_word_t accumulated_bkref_map = dfa->completed_bkref_map;
+ dfa->completed_bkref_map = initial_bkref_map;
branch = parse_branch (regexp, preg, token, syntax, nest, err);
if (BE (*err != REG_NOERROR && branch == NULL, 0))
{
@@ -2204,6 +2211,7 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
postorder (tree, free_tree, NULL);
return NULL;
}
+ dfa->completed_bkref_map |= accumulated_bkref_map;
}
else
branch = NULL;
@@ -3175,6 +3183,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
re_token_t token2;
start_elem.opr.name = start_name_buf;
+ start_elem.type = COLL_SYM;
ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa,
syntax, first_round);
if (BE (ret != REG_NOERROR, 0))
@@ -3218,6 +3227,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
if (is_range_exp == true)
{
end_elem.opr.name = end_name_buf;
+ end_elem.type = COLL_SYM;
ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2,
dfa, syntax, true);
if (BE (ret != REG_NOERROR, 0))
@@ -3492,8 +3502,6 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
int32_t idx1, idx2;
unsigned int ch;
size_t len;
- /* This #include defines a local function! */
-# include <locale/weight.h>
/* Calculate the index for equivalence class. */
cp = name;
table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
@@ -3503,7 +3511,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
_NL_COLLATE_EXTRAMB);
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
_NL_COLLATE_INDIRECTMB);
- idx1 = findidx (&cp, -1);
+ idx1 = findidx (table, indirect, extra, &cp, -1);
if (BE (idx1 == 0 || *cp != '\0', 0))
/* This isn't a valid character. */
return REG_ECOLLATE;
@@ -3514,7 +3522,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
{
char_buf[0] = ch;
cp = char_buf;
- idx2 = findidx (&cp, 1);
+ idx2 = findidx (table, indirect, extra, &cp, 1);
/*
idx2 = table[ch];
*/
diff --git a/gettext-tools/libgrep/regex.c b/gettext-tools/libgrep/regex.c
index 95beb6f..6d0ae88 100644
--- a/gettext-tools/libgrep/regex.c
+++ b/gettext-tools/libgrep/regex.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
diff --git a/gettext-tools/libgrep/regex.h b/gettext-tools/libgrep/regex.h
index 70f2126..f7de394 100644
--- a/gettext-tools/libgrep/regex.h
+++ b/gettext-tools/libgrep/regex.h
@@ -1,6 +1,6 @@
/* Definitions for data structures and routines for the regular
expression library.
- Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2014 Free Software
+ Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
@@ -244,19 +244,16 @@ extern reg_syntax_t re_syntax_options;
| RE_INVALID_INTERVAL_ORD)
# define RE_SYNTAX_GREP \
- (RE_BK_PLUS_QM | RE_CHAR_CLASSES \
- | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
- | RE_NEWLINE_ALT)
+ ((RE_SYNTAX_POSIX_BASIC | RE_NEWLINE_ALT) \
+ & ~(RE_CONTEXT_INVALID_DUP | RE_DOT_NOT_NULL))
# define RE_SYNTAX_EGREP \
- (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
- | RE_NEWLINE_ALT | RE_NO_BK_PARENS \
- | RE_NO_BK_VBAR)
+ ((RE_SYNTAX_POSIX_EXTENDED | RE_INVALID_INTERVAL_ORD | RE_NEWLINE_ALT) \
+ & ~(RE_CONTEXT_INVALID_OPS | RE_DOT_NOT_NULL))
+/* POSIX grep -E behavior is no longer incompatible with GNU. */
# define RE_SYNTAX_POSIX_EGREP \
- (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \
- | RE_INVALID_INTERVAL_ORD)
+ RE_SYNTAX_EGREP
/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
# define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
diff --git a/gettext-tools/libgrep/regex_internal.c b/gettext-tools/libgrep/regex_internal.c
index 452f3a3..2514344 100644
--- a/gettext-tools/libgrep/regex_internal.c
+++ b/gettext-tools/libgrep/regex_internal.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -311,12 +311,12 @@ build_wcs_upper_buffer (re_string_t *pstr)
+ byte_idx), remain_len, &pstr->cur_state);
if (BE (mbclen < (size_t) -2, 1))
{
- wchar_t wcu = towupper (wc);
+ wchar_t wcu = __towupper (wc);
if (wcu != wc)
{
size_t mbcdlen;
- mbcdlen = wcrtomb (buf, wcu, &prev_st);
+ mbcdlen = __wcrtomb (buf, wcu, &prev_st);
if (BE (mbclen == mbcdlen, 1))
memcpy (pstr->mbs + byte_idx, buf, mbclen);
else
@@ -380,7 +380,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
if (BE (mbclen < (size_t) -2, 1))
{
- wchar_t wcu = towupper (wc);
+ wchar_t wcu = __towupper (wc);
if (wcu != wc)
{
size_t mbcdlen;
diff --git a/gettext-tools/libgrep/regex_internal.h b/gettext-tools/libgrep/regex_internal.h
index 7a9e24c..aa42a9d 100644
--- a/gettext-tools/libgrep/regex_internal.h
+++ b/gettext-tools/libgrep/regex_internal.h
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -34,7 +34,7 @@
#include <stdint.h>
#ifdef _LIBC
-# include <bits/libc-lock.h>
+# include <libc-lock.h>
# define lock_define(name) __libc_lock_define (, name)
# define lock_init(lock) (__libc_lock_init (lock), 0)
# define lock_fini(lock) 0
@@ -87,7 +87,6 @@
# ifndef _RE_DEFINE_LOCALE_FUNCTIONS
# define _RE_DEFINE_LOCALE_FUNCTIONS 1
# include <locale/localeinfo.h>
-# include <locale/elem-hash.h>
# include <locale/coll-lookup.h>
# endif
#endif
@@ -137,7 +136,10 @@
# undef __wctype
# undef __iswctype
# define __wctype wctype
+# define __iswalnum iswalnum
# define __iswctype iswctype
+# define __towlower towlower
+# define __towupper towupper
# define __btowc btowc
# define __mbrtowc mbrtowc
# define __wcrtomb wcrtomb
@@ -447,23 +449,23 @@ typedef struct re_dfa_t re_dfa_t;
#ifndef _LIBC
# define internal_function
+# define IS_IN(libc) false
#endif
-#ifndef NOT_IN_libc
static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
Idx new_buf_len)
internal_function;
-# ifdef RE_ENABLE_I18N
+#ifdef RE_ENABLE_I18N
static void build_wcs_buffer (re_string_t *pstr) internal_function;
static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr)
internal_function;
-# endif /* RE_ENABLE_I18N */
+#endif /* RE_ENABLE_I18N */
static void build_upper_buffer (re_string_t *pstr) internal_function;
static void re_string_translate_buffer (re_string_t *pstr) internal_function;
static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
int eflags)
internal_function __attribute__ ((pure));
-#endif
+
#define re_string_peek_byte(pstr, offset) \
((pstr)->mbs[(pstr)->cur_idx + offset])
#define re_string_fetch_byte(pstr) \
@@ -556,7 +558,7 @@ typedef struct bin_tree_storage_t bin_tree_storage_t;
#define IS_WORD_CHAR(ch) (isalnum (ch) || (ch) == '_')
#define IS_NEWLINE(ch) ((ch) == NEWLINE_CHAR)
-#define IS_WIDE_WORD_CHAR(ch) (iswalnum (ch) || (ch) == L'_')
+#define IS_WIDE_WORD_CHAR(ch) (__iswalnum (ch) || (ch) == L'_')
#define IS_WIDE_NEWLINE(ch) ((ch) == WIDE_NEWLINE_CHAR)
#define NOT_SATISFY_PREV_CONSTRAINT(constraint,context) \
@@ -860,15 +862,17 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
return (wint_t) pstr->wcs[idx];
}
-# ifndef NOT_IN_libc
+# ifdef _LIBC
+# include <locale/weight.h>
+# endif
+
static int
internal_function __attribute__ ((pure, unused))
re_string_elem_size_at (const re_string_t *pstr, Idx idx)
{
-# ifdef _LIBC
+# ifdef _LIBC
const unsigned char *p, *extra;
const int32_t *table, *indirect;
-# include <locale/weight.h>
uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
if (nrules != 0)
@@ -879,14 +883,13 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx)
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
_NL_COLLATE_INDIRECTMB);
p = pstr->mbs + idx;
- findidx (&p, pstr->len - idx);
+ findidx (table, indirect, extra, &p, pstr->len - idx);
return p - pstr->mbs - idx;
}
else
-# endif /* _LIBC */
+# endif /* _LIBC */
return 1;
}
-# endif
#endif /* RE_ENABLE_I18N */
#ifndef __GNUC_PREREQ
diff --git a/gettext-tools/libgrep/regexec.c b/gettext-tools/libgrep/regexec.c
index 96da267..4185d5c 100644
--- a/gettext-tools/libgrep/regexec.c
+++ b/gettext-tools/libgrep/regexec.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -3776,6 +3776,10 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
one collating element like '.', '[a-z]', opposite to the other nodes
can only accept one byte. */
+# ifdef _LIBC
+# include <locale/weight.h>
+# endif
+
static int
internal_function
check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
@@ -3895,8 +3899,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
const int32_t *table, *indirect;
const unsigned char *weights, *extra;
const char *collseqwc;
- /* This #include defines a local function! */
-# include <locale/weight.h>
/* match with collating_symbol? */
if (cset->ncoll_syms)
@@ -3953,7 +3955,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
indirect = (const int32_t *)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
- int32_t idx = findidx (&cp, elem_len);
+ int32_t idx = findidx (table, indirect, extra, &cp, elem_len);
if (idx > 0)
for (i = 0; i < cset->nequiv_classes; ++i)
{
diff --git a/gettext-tools/libgrep/wcrtomb.c b/gettext-tools/libgrep/wcrtomb.c
index 1d340cd..b38d2e0 100644
--- a/gettext-tools/libgrep/wcrtomb.c
+++ b/gettext-tools/libgrep/wcrtomb.c
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/m4/ChangeLog b/gettext-tools/m4/ChangeLog.0
index 4478ebd..5bda39a 100644
--- a/gettext-tools/m4/ChangeLog
+++ b/gettext-tools/m4/ChangeLog.0
@@ -1,3 +1,11 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/m4/Makefile.in b/gettext-tools/m4/Makefile.in
index 3f4b984..d11a26c 100644
--- a/gettext-tools/m4/Makefile.in
+++ b/gettext-tools/m4/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
# Files installed for use by gettextize.
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -80,13 +90,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = m4
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs ChangeLog README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -103,6 +110,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -110,6 +118,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -121,7 +130,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -151,10 +163,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -172,10 +190,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -205,6 +226,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -229,6 +251,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -236,6 +259,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -327,6 +351,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -381,6 +406,8 @@ am__installdirs = "$(DESTDIR)$(aclocaldir)" \
"$(DESTDIR)$(examplesbuildauxdir)"
DATA = $(aclocal_DATA) $(examplesbuildaux_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -391,6 +418,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -452,6 +480,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -466,15 +495,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -483,6 +531,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -497,6 +555,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -505,6 +572,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -535,17 +605,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -584,6 +684,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -619,6 +722,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -642,11 +746,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -657,10 +770,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -689,10 +808,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -752,25 +878,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -782,13 +940,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -797,6 +970,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -808,6 +985,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -818,6 +1001,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -840,9 +1029,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -864,12 +1062,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -890,6 +1098,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -909,6 +1119,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -924,9 +1135,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -939,9 +1155,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -967,7 +1188,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1043,13 +1268,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1068,6 +1296,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1076,6 +1305,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1085,9 +1315,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1098,6 +1328,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1107,6 +1338,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1116,6 +1348,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1134,6 +1367,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1143,6 +1377,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1173,12 +1408,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1197,6 +1434,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1205,16 +1447,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1233,19 +1492,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1263,6 +1547,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1292,16 +1580,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1327,6 +1624,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1353,6 +1653,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1367,6 +1668,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1523,7 +1825,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu m4/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1745,6 +2046,8 @@ uninstall-am: uninstall-aclocalDATA uninstall-examplesbuildauxDATA
ps ps-am tags-am uninstall uninstall-aclocalDATA uninstall-am \
uninstall-examplesbuildauxDATA
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/gettext-tools/m4/exported.m4 b/gettext-tools/m4/exported.m4
index fc37923..e7283cf 100644
--- a/gettext-tools/m4/exported.m4
+++ b/gettext-tools/m4/exported.m4
@@ -1,5 +1,5 @@
# exported.m4 serial 1 (gettext-0.18)
-dnl Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/m4/hostname.m4 b/gettext-tools/m4/hostname.m4
index 50756f3..5d381f6 100644
--- a/gettext-tools/m4/hostname.m4
+++ b/gettext-tools/m4/hostname.m4
@@ -1,5 +1,5 @@
# hostname.m4 serial 1 (gettext-0.11)
-dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2002, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/m4/setlocale.m4 b/gettext-tools/m4/setlocale.m4
index 5b8fff0..8f60754 100644
--- a/gettext-tools/m4/setlocale.m4
+++ b/gettext-tools/m4/setlocale.m4
@@ -1,5 +1,6 @@
# setlocale.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 2001-2002, 2006, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2002, 2006, 2009, 2015 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/m4/siginfo.m4 b/gettext-tools/m4/siginfo.m4
index 424fcfe..bd5892a 100644
--- a/gettext-tools/m4/siginfo.m4
+++ b/gettext-tools/m4/siginfo.m4
@@ -1,5 +1,5 @@
# siginfo.m4 serial 1 (gettext-0.11)
-dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2002, 2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/gettext-tools/man/ChangeLog b/gettext-tools/man/ChangeLog.1
index 061a80c..527b67a 100644
--- a/gettext-tools/man/ChangeLog
+++ b/gettext-tools/man/ChangeLog.1
@@ -1,3 +1,15 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * help2man: Update copyright year.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/man/Makefile.am b/gettext-tools/man/Makefile.am
index fa5d241..e13dc25 100644
--- a/gettext-tools/man/Makefile.am
+++ b/gettext-tools/man/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/man subdirectory of GNU gettext
-## Copyright (C) 2001-2003, 2006-2007 Free Software Foundation, Inc.
+## Copyright (C) 2001-2003, 2006-2007, 2015 Free Software Foundation,
+## Inc.
##
## 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
@@ -50,7 +51,7 @@ msgexec.1.html msgfilter.1.html msggrep.1.html msginit.1.html msguniq.1.html \
recode-sr-latin.1.html \
gettextize.1.html autopoint.1.html
-EXTRA_DIST += help2man $(man_aux) $(man_MANS) $(man_HTML) ChangeLog.0
+EXTRA_DIST += help2man $(man_aux) $(man_MANS) $(man_HTML)
MAINTAINERCLEANFILES = $(man_MANS) $(man_HTML)
PERL = @PERL@
diff --git a/gettext-tools/man/Makefile.in b/gettext-tools/man/Makefile.in
index 245d48d..b43801d 100644
--- a/gettext-tools/man/Makefile.in
+++ b/gettext-tools/man/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -77,14 +87,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = man
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs $(srcdir)/x-to-1.in \
- ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -101,6 +107,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -108,6 +115,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -119,7 +127,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -149,10 +160,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -170,10 +187,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -203,6 +223,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -227,6 +248,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -234,6 +256,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -325,6 +348,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = x-to-1
@@ -380,6 +404,8 @@ am__installdirs = "$(DESTDIR)$(man1dir)"
NROFF = nroff
MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/x-to-1.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -390,6 +416,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -451,6 +478,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -465,15 +493,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -482,6 +529,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -496,6 +553,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -504,6 +570,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -534,17 +603,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -583,6 +682,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -618,6 +720,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -641,11 +744,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -656,10 +768,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -688,10 +806,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -751,25 +876,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -781,13 +938,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -796,6 +968,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -807,6 +983,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -817,6 +999,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -839,9 +1027,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -863,12 +1060,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -889,6 +1096,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -908,6 +1117,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -923,9 +1133,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -938,9 +1153,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -966,7 +1186,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1042,13 +1266,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1067,6 +1294,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1075,6 +1303,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1084,9 +1313,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1097,6 +1326,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1106,6 +1336,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1115,6 +1346,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1133,6 +1365,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1142,6 +1375,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1172,12 +1406,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1196,6 +1432,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1204,16 +1445,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1232,19 +1490,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1262,6 +1545,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1291,16 +1578,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1326,6 +1622,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1352,6 +1651,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1366,6 +1666,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1458,7 +1759,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.2 gnits
-EXTRA_DIST = help2man $(man_aux) $(man_MANS) $(man_HTML) ChangeLog.0
+EXTRA_DIST = help2man $(man_aux) $(man_MANS) $(man_HTML)
# A manual page for each of the bin_PROGRAMS in src/Makefile.am
# and for each of the bin_SCRIPTS in misc/Makefile.am.
@@ -1521,7 +1822,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits man/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits man/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1750,6 +2050,8 @@ uninstall-man: uninstall-man1
tags-am uninstall uninstall-am uninstall-local uninstall-man \
uninstall-man1
+.PRECIOUS: Makefile
+
# We distribute both the man pages and their HTML equivalent.
# The user can generate the parts, via
diff --git a/gettext-tools/man/autopoint.1 b/gettext-tools/man/autopoint.1
index 6c9f82b..59d99c6 100644
--- a/gettext-tools/man/autopoint.1
+++ b/gettext-tools/man/autopoint.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH AUTOPOINT "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH AUTOPOINT "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
autopoint \- copies standard gettext infrastructure
.SH SYNOPSIS
diff --git a/gettext-tools/man/autopoint.1.html b/gettext-tools/man/autopoint.1.html
index edb7c62..5c55791 100644
--- a/gettext-tools/man/autopoint.1.html
+++ b/gettext-tools/man/autopoint.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/gettextize.1 b/gettext-tools/man/gettextize.1
index cf7376a..d32d910 100644
--- a/gettext-tools/man/gettextize.1
+++ b/gettext-tools/man/gettextize.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH GETTEXTIZE "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH GETTEXTIZE "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
gettextize \- install or upgrade gettext infrastructure
.SH SYNOPSIS
diff --git a/gettext-tools/man/gettextize.1.html b/gettext-tools/man/gettextize.1.html
index 6b7aa05..732bceb 100644
--- a/gettext-tools/man/gettextize.1.html
+++ b/gettext-tools/man/gettextize.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/help2man b/gettext-tools/man/help2man
index e0a957b..1b6ad65 100755
--- a/gettext-tools/man/help2man
+++ b/gettext-tools/man/help2man
@@ -31,7 +31,7 @@ my $this_version = '1.24';
my $version_info = <<EOT;
GNU $this_program $this_version
-Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+Copyright (C) 1997-2000, 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/gettext-tools/man/msgattrib.1 b/gettext-tools/man/msgattrib.1
index 2cdc38d..fb61853 100644
--- a/gettext-tools/man/msgattrib.1
+++ b/gettext-tools/man/msgattrib.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGATTRIB "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGATTRIB "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgattrib \- attribute matching and manipulation on message catalog
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgattrib.1.html b/gettext-tools/man/msgattrib.1.html
index c05c6ea..6db6287 100644
--- a/gettext-tools/man/msgattrib.1.html
+++ b/gettext-tools/man/msgattrib.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgcat.1 b/gettext-tools/man/msgcat.1
index 730e0b0..0b67f4a 100644
--- a/gettext-tools/man/msgcat.1
+++ b/gettext-tools/man/msgcat.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCAT "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGCAT "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgcat \- combines several message catalogs
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgcat.1.html b/gettext-tools/man/msgcat.1.html
index cee693d..7486f52 100644
--- a/gettext-tools/man/msgcat.1.html
+++ b/gettext-tools/man/msgcat.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgcmp.1 b/gettext-tools/man/msgcmp.1
index ae2f577..c6aa423 100644
--- a/gettext-tools/man/msgcmp.1
+++ b/gettext-tools/man/msgcmp.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCMP "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGCMP "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgcmp \- compare message catalog and template
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgcmp.1.html b/gettext-tools/man/msgcmp.1.html
index ef763e2..67d4430 100644
--- a/gettext-tools/man/msgcmp.1.html
+++ b/gettext-tools/man/msgcmp.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgcomm.1 b/gettext-tools/man/msgcomm.1
index 4f0f3d2..f51a544 100644
--- a/gettext-tools/man/msgcomm.1
+++ b/gettext-tools/man/msgcomm.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCOMM "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGCOMM "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgcomm \- match two message catalogs
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgcomm.1.html b/gettext-tools/man/msgcomm.1.html
index 695942a..083387f 100644
--- a/gettext-tools/man/msgcomm.1.html
+++ b/gettext-tools/man/msgcomm.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgconv.1 b/gettext-tools/man/msgconv.1
index 5eb8ae6..5dbde0a 100644
--- a/gettext-tools/man/msgconv.1
+++ b/gettext-tools/man/msgconv.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCONV "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGCONV "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgconv \- character set conversion for message catalog
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgconv.1.html b/gettext-tools/man/msgconv.1.html
index 5b2fcd8..90f077d 100644
--- a/gettext-tools/man/msgconv.1.html
+++ b/gettext-tools/man/msgconv.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgen.1 b/gettext-tools/man/msgen.1
index b956479..023e54f 100644
--- a/gettext-tools/man/msgen.1
+++ b/gettext-tools/man/msgen.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGEN "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGEN "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgen \- create English message catalog
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgen.1.html b/gettext-tools/man/msgen.1.html
index 6b3484f..8e1b723 100644
--- a/gettext-tools/man/msgen.1.html
+++ b/gettext-tools/man/msgen.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgexec.1 b/gettext-tools/man/msgexec.1
index 17de87a..23fdaa3 100644
--- a/gettext-tools/man/msgexec.1
+++ b/gettext-tools/man/msgexec.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGEXEC "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGEXEC "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgexec \- process translations of message catalog
.SH SYNOPSIS
@@ -16,6 +16,10 @@ across all invocations.
.PP
A special builtin command called '0' outputs the translation, followed by a
null byte. The output of "msgexec 0" is suitable as input for "xargs \fB\-0\fR".
+.SS "Command input:"
+.TP
+\fB\-\-newline\fR
+add newline at the end of input
.PP
Mandatory arguments to long options are mandatory for short options too.
.SS "Input file location:"
diff --git a/gettext-tools/man/msgexec.1.html b/gettext-tools/man/msgexec.1.html
index 647e923..3fdd0a0 100644
--- a/gettext-tools/man/msgexec.1.html
+++ b/gettext-tools/man/msgexec.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -65,6 +65,13 @@ translation, followed by a null byte. The output of
&quot;msgexec 0&quot; is suitable as input for &quot;xargs
<b>&minus;0</b>&quot;.</p>
+<p style="margin-left:11%; margin-top: 1em"><b>Command
+input: <br>
+&minus;&minus;newline</b></p>
+
+<p style="margin-left:22%;">add newline at the end of
+input</p>
+
<p style="margin-left:11%; margin-top: 1em">Mandatory
arguments to long options are mandatory for short options
too.</p>
diff --git a/gettext-tools/man/msgfilter.1 b/gettext-tools/man/msgfilter.1
index c3fbfcd..ea6faa3 100644
--- a/gettext-tools/man/msgfilter.1
+++ b/gettext-tools/man/msgfilter.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGFILTER "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGFILTER "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgfilter \- edit translations of message catalog
.SH SYNOPSIS
@@ -30,6 +30,11 @@ or if it is -.
.PP
The FILTER can be any program that reads a translation from standard input
and writes a modified translation to standard output.
+.SS "Filter input and output:"
+.TP
+\fB\-\-newline\fR
+add a newline at the end of input and
+remove a newline from the end of output
.SS "Useful FILTER-OPTIONs when the FILTER is 'sed':"
.TP
\fB\-e\fR, \fB\-\-expression\fR=\fISCRIPT\fR
diff --git a/gettext-tools/man/msgfilter.1.html b/gettext-tools/man/msgfilter.1.html
index 395f34c..b0542a3 100644
--- a/gettext-tools/man/msgfilter.1.html
+++ b/gettext-tools/man/msgfilter.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -91,6 +91,13 @@ if it is -.</p>
be any program that reads a translation from standard input
and writes a modified translation to standard output.</p>
+<p style="margin-left:11%; margin-top: 1em"><b>Filter input
+and output: <br>
+&minus;&minus;newline</b></p>
+
+<p style="margin-left:22%;">add a newline at the end of
+input and remove a newline from the end of output</p>
+
<p style="margin-left:11%; margin-top: 1em"><b>Useful
FILTER-OPTIONs when the FILTER is &rsquo;sed&rsquo;: <br>
&minus;e</b>,
diff --git a/gettext-tools/man/msgfmt.1 b/gettext-tools/man/msgfmt.1
index ea86c90..7a7fb8d 100644
--- a/gettext-tools/man/msgfmt.1
+++ b/gettext-tools/man/msgfmt.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGFMT "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGFMT "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgfmt \- compile message catalog to binary format
.SH SYNOPSIS
@@ -43,6 +43,9 @@ Qt mode: generate a Qt .qm file
.TP
\fB\-\-desktop\fR
Desktop Entry mode: generate a .desktop file
+.TP
+\fB\-\-xml\fR
+XML mode: generate XML file
.SS "Output file location:"
.TP
\fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
@@ -114,6 +117,25 @@ do not to use default keywords
.PP
The \fB\-l\fR, \fB\-o\fR, and \fB\-\-template\fR options are mandatory. If \fB\-D\fR is specified, input
files are read from the directory instead of the command line arguments.
+.SS "XML mode options:"
+.TP
+\fB\-l\fR, \fB\-\-locale\fR=\fILOCALE\fR
+locale name, either language or language_COUNTRY
+.TP
+\fB\-L\fR, \fB\-\-language\fR=\fINAME\fR
+recognise the specified XML language
+.TP
+\fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
+write output to specified file
+.TP
+\fB\-\-template\fR=\fITEMPLATE\fR
+an XML file used as a template
+.TP
+\fB\-d\fR DIRECTORY
+base directory of .po files
+.PP
+The \fB\-l\fR, \fB\-o\fR, and \fB\-\-template\fR options are mandatory. If \fB\-D\fR is specified, input
+files are read from the directory instead of the command line arguments.
.SS "Input file syntax:"
.TP
\fB\-P\fR, \fB\-\-properties\-input\fR
diff --git a/gettext-tools/man/msgfmt.1.html b/gettext-tools/man/msgfmt.1.html
index 9e34096..1ef3670 100644
--- a/gettext-tools/man/msgfmt.1.html
+++ b/gettext-tools/man/msgfmt.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -133,6 +133,23 @@ file</p>
<p style="margin-left:22%;">Desktop Entry mode: generate a
.desktop file</p>
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><b>&minus;&minus;xml</b></p></td>
+<td width="4%"></td>
+<td width="41%">
+
+
+<p>XML mode: generate XML file</p></td>
+<td width="37%">
+</td></tr>
+</table>
+
<p style="margin-left:11%; margin-top: 1em"><b>Output file
location: <br>
&minus;o</b>,
@@ -259,6 +276,41 @@ keywords</p>
<b>&minus;D</b> is specified, input files are read from the
directory instead of the command line arguments.</p>
+<p style="margin-left:11%; margin-top: 1em"><b>XML mode
+options: <br>
+&minus;l</b>, <b>&minus;&minus;locale</b>=<i>LOCALE</i></p>
+
+<p style="margin-left:22%;">locale name, either language or
+language_COUNTRY</p>
+
+<p style="margin-left:11%;"><b>&minus;L</b>,
+<b>&minus;&minus;language</b>=<i>NAME</i></p>
+
+<p style="margin-left:22%;">recognise the specified XML
+language</p>
+
+<p style="margin-left:11%;"><b>&minus;o</b>,
+<b>&minus;&minus;output&minus;file</b>=<i>FILE</i></p>
+
+<p style="margin-left:22%;">write output to specified
+file</p>
+
+
+<p style="margin-left:11%;"><b>&minus;&minus;template</b>=<i>TEMPLATE</i></p>
+
+<p style="margin-left:22%;">an XML file used as a
+template</p>
+
+<p style="margin-left:11%;"><b>&minus;d</b> DIRECTORY</p>
+
+<p style="margin-left:22%;">base directory of .po files</p>
+
+<p style="margin-left:11%; margin-top: 1em">The
+<b>&minus;l</b>, <b>&minus;o</b>, and
+<b>&minus;&minus;template</b> options are mandatory. If
+<b>&minus;D</b> is specified, input files are read from the
+directory instead of the command line arguments.</p>
+
<p style="margin-left:11%; margin-top: 1em"><b>Input file
syntax: <br>
&minus;P</b>,
diff --git a/gettext-tools/man/msggrep.1 b/gettext-tools/man/msggrep.1
index 6ad0db4..a34f1cc 100644
--- a/gettext-tools/man/msggrep.1
+++ b/gettext-tools/man/msggrep.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGGREP "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGGREP "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msggrep \- pattern matching on message catalog
.SH SYNOPSIS
diff --git a/gettext-tools/man/msggrep.1.html b/gettext-tools/man/msggrep.1.html
index aefa7ce..69ae9a8 100644
--- a/gettext-tools/man/msggrep.1.html
+++ b/gettext-tools/man/msggrep.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msginit.1 b/gettext-tools/man/msginit.1
index 8d55384..65c3aed 100644
--- a/gettext-tools/man/msginit.1
+++ b/gettext-tools/man/msginit.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGINIT "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGINIT "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msginit \- initialize a message catalog
.SH SYNOPSIS
diff --git a/gettext-tools/man/msginit.1.html b/gettext-tools/man/msginit.1.html
index d886400..6a84fa5 100644
--- a/gettext-tools/man/msginit.1.html
+++ b/gettext-tools/man/msginit.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgmerge.1 b/gettext-tools/man/msgmerge.1
index 8d98812..f77fb58 100644
--- a/gettext-tools/man/msgmerge.1
+++ b/gettext-tools/man/msgmerge.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGMERGE "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGMERGE "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgmerge \- merge message catalog and template
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgmerge.1.html b/gettext-tools/man/msgmerge.1.html
index a7cecc9..507b78f 100644
--- a/gettext-tools/man/msgmerge.1.html
+++ b/gettext-tools/man/msgmerge.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msgunfmt.1 b/gettext-tools/man/msgunfmt.1
index f32342c..b802129 100644
--- a/gettext-tools/man/msgunfmt.1
+++ b/gettext-tools/man/msgunfmt.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGUNFMT "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGUNFMT "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msgunfmt \- uncompile message catalog from binary format
.SH SYNOPSIS
diff --git a/gettext-tools/man/msgunfmt.1.html b/gettext-tools/man/msgunfmt.1.html
index ed741dd..559dc61 100644
--- a/gettext-tools/man/msgunfmt.1.html
+++ b/gettext-tools/man/msgunfmt.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/msguniq.1 b/gettext-tools/man/msguniq.1
index c671935..612382a 100644
--- a/gettext-tools/man/msguniq.1
+++ b/gettext-tools/man/msguniq.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGUNIQ "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH MSGUNIQ "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
msguniq \- unify duplicate translations in message catalog
.SH SYNOPSIS
diff --git a/gettext-tools/man/msguniq.1.html b/gettext-tools/man/msguniq.1.html
index 4084b4e..2f59b86 100644
--- a/gettext-tools/man/msguniq.1.html
+++ b/gettext-tools/man/msguniq.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/recode-sr-latin.1 b/gettext-tools/man/recode-sr-latin.1
index 653ce28..9e0de14 100644
--- a/gettext-tools/man/recode-sr-latin.1
+++ b/gettext-tools/man/recode-sr-latin.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH RECODE-SR-LATIN "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH RECODE-SR-LATIN "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
recode-sr-latin \- convert Serbian text from Cyrillic to Latin script
.SH SYNOPSIS
diff --git a/gettext-tools/man/recode-sr-latin.1.html b/gettext-tools/man/recode-sr-latin.1.html
index c43479a..053830f 100644
--- a/gettext-tools/man/recode-sr-latin.1.html
+++ b/gettext-tools/man/recode-sr-latin.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/gettext-tools/man/x-to-1.in b/gettext-tools/man/x-to-1.in
index acdb49e..0169c71 100644
--- a/gettext-tools/man/x-to-1.in
+++ b/gettext-tools/man/x-to-1.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/man/xgettext.1 b/gettext-tools/man/xgettext.1
index fc30756..59fe79b 100644
--- a/gettext-tools/man/xgettext.1
+++ b/gettext-tools/man/xgettext.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH XGETTEXT "1" "December 2014" "GNU gettext-tools 0.19.4" GNU
+.TH XGETTEXT "1" "December 2015" "GNU gettext-tools 0.19.7" GNU
.SH NAME
xgettext \- extract gettext strings from source
.SH SYNOPSIS
@@ -72,6 +72,18 @@ preceding keyword lines in output file
\fB\-c\fR, \fB\-\-add\-comments\fR
place all comment blocks preceding keyword lines
in output file
+.TP
+\fB\-\-check\fR=\fINAME\fR
+perform syntax check on messages
+(ellipsis-unicode, space-ellipsis,
+.IP
+quote-unicode)
+.TP
+\fB\-\-sentence\-end\fR=\fITYPE\fR
+type describing the end of sentence
+(single-space, which is the default,
+.IP
+or double-space)
.SS "Language specific options:"
.TP
\fB\-a\fR, \fB\-\-extract\-all\fR
@@ -157,6 +169,12 @@ write out a Java .properties file
\fB\-\-stringtable\-output\fR
write out a NeXTstep/GNUstep .strings file
.TP
+\fB\-\-its\fR=\fIFILE\fR
+apply ITS rules from FILE
+.TP
+\fB\-\-itstool\fR
+write out itstool comments
+.TP
\fB\-w\fR, \fB\-\-width\fR=\fINUMBER\fR
set output page width
.TP
diff --git a/gettext-tools/man/xgettext.1.html b/gettext-tools/man/xgettext.1.html
index 2f38a85..d43fdbe 100644
--- a/gettext-tools/man/xgettext.1.html
+++ b/gettext-tools/man/xgettext.1.html
@@ -1,4 +1,4 @@
-<!-- Creator : groff version 1.22.2 -->
+<!-- Creator : groff version 1.22.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -158,6 +158,24 @@ with TAG and preceding keyword lines in output file</p>
<p style="margin-left:22%;">place all comment blocks
preceding keyword lines in output file</p>
+
+<p style="margin-left:11%;"><b>&minus;&minus;check</b>=<i>NAME</i></p>
+
+<p style="margin-left:22%;">perform syntax check on
+messages (ellipsis-unicode, space-ellipsis,</p>
+
+
+<p style="margin-left:22%; margin-top: 1em">quote-unicode)</p>
+
+
+<p style="margin-left:11%;"><b>&minus;&minus;sentence&minus;end</b>=<i>TYPE</i></p>
+
+<p style="margin-left:22%;">type describing the end of
+sentence (single-space, which is the default,</p>
+
+<p style="margin-left:22%; margin-top: 1em">or
+double-space)</p>
+
<p style="margin-left:11%; margin-top: 1em"><b>Language
specific options: <br>
&minus;a</b>, <b>&minus;&minus;extract&minus;all</b></p>
@@ -312,6 +330,16 @@ file</p>
<p style="margin-left:22%;">write out a NeXTstep/GNUstep
.strings file</p>
+
+<p style="margin-left:11%;"><b>&minus;&minus;its</b>=<i>FILE</i></p>
+
+<p style="margin-left:22%;">apply ITS rules from FILE</p>
+
+
+<p style="margin-left:11%;"><b>&minus;&minus;itstool</b></p>
+
+<p style="margin-left:22%;">write out itstool comments</p>
+
<p style="margin-left:11%;"><b>&minus;w</b>,
<b>&minus;&minus;width</b>=<i>NUMBER</i></p>
diff --git a/gettext-tools/misc/ChangeLog b/gettext-tools/misc/ChangeLog.0
index 7ce3579..c9cdcd6 100644
--- a/gettext-tools/misc/ChangeLog
+++ b/gettext-tools/misc/ChangeLog.0
@@ -1,3 +1,53 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-28 Daiki Ueno <ueno@gnu.org>
+
+ * gettextize.in: Check if AM_GNU_GETTEXT_VERSION is used.
+ * autopoint.in: Respect AM_GNU_GETTEXT_REQUIRE_VERSION.
+
+2015-07-28 Daiki Ueno <ueno@gnu.org>
+
+ * gettextize.in (archive_version): New variable, set to
+ ARCHIVE_VERSION. Use it as the argument of
+ AM_GNU_GETTEXT_VERSION.
+
+2015-07-27 Daiki Ueno <ueno@gnu.org>
+
+ gettextize: Use a crafted version string
+ Reported by Max Lin in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-07/msg00024.html>.
+ * gettextize.in: Replace AM_GNU_GETTEXT_VERSION invocation with
+ "$gettext_version" rather than "$version". This makes it easier
+ to maintain a minor release without being affected by the actual
+ version number generated by git-version-gen.
+ (gettext_version): New variable.
+
+2015-07-27 Peter Eisentraut <peter@eisentraut.org> (tiny change)
+
+ po-mode: Fix to accept four-part msgfmt version number
+ * po-mode.el (po-msgfmt-version-check): Accept four-part version
+ number.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * autopoint.in: Update for 0.19.5.
+
+2015-04-24 Manuel Uberti <manuel@boccaperta.com> (tiny change)
+
+ * po-mode.el (po-keep-mo-file): New user option.
+ (po-validate): Respect po-keep-mo-file. Fix comment indentation.
+
+2015-01-21 Peter Eisentraut <peter@eisentraut.org> (tiny change)
+
+ * po-mode.el (po-font-lock-keywords): Support all possible length
+ modifiers in C89/C99 format strings.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/misc/Makefile.am b/gettext-tools/misc/Makefile.am
index 1c30157..31d3d25 100644
--- a/gettext-tools/misc/Makefile.am
+++ b/gettext-tools/misc/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/misc subdirectory of GNU gettext
-## Copyright (C) 1995-1997, 2000-2003, 2005-2007, 2009-2010 Free Software Foundation, Inc.
+## Copyright (C) 1995-1997, 2000-2003, 2005-2007, 2009-2010, 2015 Free
+## Software Foundation, Inc.
##
## 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
diff --git a/gettext-tools/misc/Makefile.in b/gettext-tools/misc/Makefile.in
index 1235d2b..2166502 100644
--- a/gettext-tools/misc/Makefile.in
+++ b/gettext-tools/misc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -80,15 +90,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = misc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs \
- $(srcdir)/gettextize.in $(srcdir)/autopoint.in \
- $(srcdir)/convert-archive.in ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -105,6 +110,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -112,6 +118,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -123,7 +130,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -153,10 +163,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -174,10 +190,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -207,6 +226,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -231,6 +251,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -238,6 +259,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -329,6 +351,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = gettextize autopoint convert-archive
@@ -407,6 +430,9 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/autopoint.in \
+ $(srcdir)/convert-archive.in $(srcdir)/gettextize.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -417,6 +443,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -478,6 +505,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -492,15 +520,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -509,6 +556,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -523,6 +580,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -531,6 +597,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -561,17 +630,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -610,6 +709,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -645,6 +747,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -668,11 +771,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -683,10 +795,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -715,10 +833,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -778,25 +903,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -808,13 +965,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -823,6 +995,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -834,6 +1010,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -844,6 +1026,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -866,9 +1054,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -890,12 +1087,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -916,6 +1123,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -935,6 +1144,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -950,9 +1160,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -965,9 +1180,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -993,7 +1213,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1069,13 +1293,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1094,6 +1321,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1102,6 +1330,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1111,9 +1340,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1124,6 +1353,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1133,6 +1363,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1142,6 +1373,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1160,6 +1392,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1169,6 +1402,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1199,12 +1433,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1223,6 +1459,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1231,16 +1472,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1259,19 +1517,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1289,6 +1572,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1318,16 +1605,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1353,6 +1649,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1379,6 +1678,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1393,6 +1693,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1520,7 +1821,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits misc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits misc/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1875,6 +2175,8 @@ uninstall-am: uninstall-binSCRIPTS uninstall-gettextsrcDATA \
uninstall-am uninstall-binSCRIPTS uninstall-gettextsrcDATA \
uninstall-lispLISP
+.PRECIOUS: Makefile
+
# The archive.dir.tar is not in the CVS. Alpha-testers must use the one from
# an already installed release.
diff --git a/gettext-tools/misc/add-to-archive b/gettext-tools/misc/add-to-archive
index ccc7f46..300234d 100755
--- a/gettext-tools/misc/add-to-archive
+++ b/gettext-tools/misc/add-to-archive
@@ -1,6 +1,7 @@
#! /bin/sh
#
-# Copyright (C) 2002, 2006, 2009-2010 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2006, 2009-2010, 2015 Free Software Foundation,
+# Inc.
#
# 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
diff --git a/gettext-tools/misc/archive.dir.tar b/gettext-tools/misc/archive.dir.tar
index 407923d..521ebe7 100644
--- a/gettext-tools/misc/archive.dir.tar
+++ b/gettext-tools/misc/archive.dir.tar
Binary files differ
diff --git a/gettext-tools/misc/autopoint.in b/gettext-tools/misc/autopoint.in
index ff97874..45452c3 100644
--- a/gettext-tools/misc/autopoint.in
+++ b/gettext-tools/misc/autopoint.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# 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
@@ -23,6 +23,7 @@
progname=$0
package=@PACKAGE@
version=@VERSION@
+archive_version=@ARCHIVE_VERSION@
# Set variables
# - gettext_datadir directory where the data files are stored.
@@ -313,29 +314,59 @@ else
func_trace=func_trace_sed
fi
-# Check whether the -V option and the version number in configure.in match.
-# At least one of the two must be given. If both are given, they must agree.
+# func_version_prereq required_version version
+# compares the required version and the latest archive version.
+func_version_prereq ()
+{
+ req="$1"
+ ver="$2"
+ echo "m4_if(m4_version_compare([$ver], [$req]), [-1], [m4_exit([1])])" \
+ | "$AUTOM4TE" --language=M4sugar 2>&1 >/dev/null
+}
+
+# If AM_GNU_GETTEXT_REQUIRE_VERSION is used and archive_version is newer than
+# that, use archive_version.
+xreq=`func_trace_sed AM_GNU_GETTEXT_REQUIRE_VERSION "$configure_in"`
# Need to use func_trace_sed instead of $func_trace, since
# AM_GNU_GETTEXT_VERSION is not a standard Autoconf trace.
xver=`func_trace_sed AM_GNU_GETTEXT_VERSION "$configure_in"`
-if test -z "$xver" && test -f intl/VERSION; then
- xver=`cat intl/VERSION | LC_ALL=C sed -n -e 's/^.*gettext-\([-+_.0-9A-Za-z]*\).*$/\1/p'`
+
+# Prefer AM_GNU_GETTEXT_REQUIRE_VERSION over AM_GNU_GETTEXT_VERSION if both are
+# specified.
+if test -n "$xreq" && test -n "$xver"; then
+ echo "autopoint: using AM_GNU_GETTEXT_REQUIRE_VERSION instead of AM_GNU_GETTEXT_VERSION"
fi
-if test -n "$xver"; then
- if test -n "$ver"; then
- if test "X$ver" != "X$xver"; then
- func_fatal_error "Version mismatch: specified -V $ver but the package uses gettext version $xver"
- fi
+
+if test -n "$xreq"; then
+ if func_version_prereq "$xreq" "$archive_version"; then
+ ver="$archive_version"
else
- ver="$xver"
+ func_fatal_error "gettext version $xreq or newer is required"
fi
else
- if test -z "$ver"; then
- func_fatal_error "Missing version: please specify in $configure_in through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using"
+ if test -z "$xver" && test -f intl/VERSION; then
+ xver=`cat intl/VERSION | LC_ALL=C sed -n -e 's/^.*gettext-\([-+_.0-9A-Za-z]*\).*$/\1/p'`
+ fi
+
+ # Check whether the -V option and the version number in configure.in match.
+ # At least one of the two must be given. If both are given, they must agree.
+
+ if test -n "$xver"; then
+ if test -n "$ver"; then
+ if test "X$ver" != "X$xver"; then
+ func_fatal_error "Version mismatch: specified -V $ver but the package uses gettext version $xver"
+ fi
+ else
+ ver="$xver"
+ fi
fi
fi
+if test -z "$ver"; then
+ func_fatal_error "Missing version: please specify in $configure_in through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using"
+fi
+
# Check whether the version number is supported.
case "$ver" in
0.10.35 | 0.10.36 | 0.10.37 | 0.10.38 | 0.10.39 | 0.10.40 | \
@@ -347,7 +378,7 @@ case "$ver" in
0.16 | 0.16.1 | \
0.17 | \
0.18 | 0.18.1 | 0.18.2 | 0.18.3 | \
- 0.19 | 0.19.1 | 0.19.2 | 0.19.3 | 0.19.4 )
+ 0.19 | 0.19.1 | 0.19.2 | 0.19.3 | 0.19.4 | 0.19.5 | 0.19.6 | 0.19.7 )
;;
*)
func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in
diff --git a/gettext-tools/misc/convert-archive.in b/gettext-tools/misc/convert-archive.in
index e48f20b..a540d82 100644
--- a/gettext-tools/misc/convert-archive.in
+++ b/gettext-tools/misc/convert-archive.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 2009-2010 Free Software Foundation, Inc.
+# Copyright (C) 2009-2010, 2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/misc/gettextize.in b/gettext-tools/misc/gettextize.in
index 33299b9..286a253 100644
--- a/gettext-tools/misc/gettextize.in
+++ b/gettext-tools/misc/gettextize.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 1995-1998, 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 1995-1998, 2000-2015 Free Software Foundation, Inc.
#
# 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
@@ -23,6 +23,7 @@
progname=$0
package=@PACKAGE@
version=@VERSION@
+archive_version=@ARCHIVE_VERSION@
# Set variables
# - gettext_datadir directory where the data files are stored.
@@ -1235,8 +1236,11 @@ sed -e 's%sed -e "/POTFILES =/r po/POTFILES" po/Makefile\.in > po/Makefile *;* *
func_modify_configure_in "(AC_OUTPUT): Remove command that created po/Makefile."
sed -e '/^\(dnl \|\)AC_LINK_FILES(\$nls_cv_header_libgt, \$nls_cv_header_intl)$/d' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp"
func_modify_configure_in "(AC_LINK_FILES): Remove invocation."
-sed -e 's/^AM_GNU_GETTEXT_VERSION([^()]*)/AM_GNU_GETTEXT_VERSION(['"$version"'])/' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp"
-func_modify_configure_in "(AM_GNU_GETTEXT_VERSION): Bump to $version."
+# AM_GNU_GETTEXT_VERSION may not be present, when AM_GNU_GETTEXT_REQUIRE_VERSION is used.
+if grep '^AM_GNU_GETTEXT_VERSION(' "$srcdir/$configure_in" 2>&1 >/dev/null; then
+ sed -e 's/^AM_GNU_GETTEXT_VERSION([^()]*)/AM_GNU_GETTEXT_VERSION(['"$archive_version"'])/' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp"
+ func_modify_configure_in "(AM_GNU_GETTEXT_VERSION): Bump to $archive_version."
+fi
$do_changelog && func_ChangeLog_finish
# Recommend replacement for deprecated Makefile variables.
diff --git a/gettext-tools/misc/po-compat.el b/gettext-tools/misc/po-compat.el
index f55fda2..8f89b14 100644
--- a/gettext-tools/misc/po-compat.el
+++ b/gettext-tools/misc/po-compat.el
@@ -1,6 +1,6 @@
;;; po-compat.el --- basic support of PO translation files -*- coding: latin-1; -*-
-;; Copyright (C) 1995-1999, 2000-2002, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2002, 2010, 2015 Free Software Foundation, Inc.
;; Authors: François Pinard <pinard@iro.umontreal.ca>,
;; Greg McGary <gkm@magilla.cichlid.com>,
diff --git a/gettext-tools/misc/po-mode.el b/gettext-tools/misc/po-mode.el
index 11ce7b1..e6016e1 100644
--- a/gettext-tools/misc/po-mode.el
+++ b/gettext-tools/misc/po-mode.el
@@ -1,6 +1,7 @@
;;; po-mode.el -- major mode for GNU gettext PO files
-;; Copyright (C) 1995-1999, 2000-2002, 2005-2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2002, 2005-2008, 2010, 2015 Free Software
+;; Foundation, Inc.
;; Authors: François Pinard <pinard@iro.umontreal.ca>
;; Greg McGary <gkm@magilla.cichlid.com>
@@ -62,7 +63,7 @@
;;; Code:
-(defconst po-mode-version-string "2.23" "\
+(defconst po-mode-version-string "2.24" "\
Version number of this version of po-mode.el.")
;;; Emacs portability matters - part I.
@@ -130,6 +131,11 @@ Value is nil, t, or ask."
:type 'boolean
:group 'po)
+(defcustom po-keep-mo-file nil
+ "*Set whether MO file should be kept or discarded after validation."
+ :type 'boolean
+ :group 'po)
+
(defcustom po-auto-update-file-header t
"*Automatically revise headers. Value is nil, t, or ask."
:type '(choice (const nil)
@@ -1064,7 +1070,7 @@ Initialize or replace current translation with the original message"))])
;; '("msgctxt " "msgid " "msgid_plural " "msgstr " "msgstr[0] " "msgstr[1] "))
("^\\(\\(msg\\(ctxt\\|id\\(_plural\\)?\\|str\\(\\[[0-9]\\]\\)?\\)\\) \\)?\"\\|\"$"
. font-lock-keyword-face)
- ("\\\\.\\|%[*$-.0-9ul]*[a-zA-Z]" . font-lock-variable-name-face)
+ ("\\\\.\\|%[*$-.0-9hjltuzL]*[a-zA-Z]" . font-lock-variable-name-face)
("^# .*\\|^#[:,]?" . font-lock-comment-face)
("^#:\\(.*\\)" 1 font-lock-reference-face)
;; The following line does not work, and I wonder why.
@@ -3345,20 +3351,25 @@ Leave point after marked string."
(defun po-validate ()
"Use 'msgfmt' for validating the current PO file contents."
(interactive)
- ; The 'compile' subsystem is autoloaded through a call to (compile ...).
- ; We need to initialize it outside of any binding. Without this statement,
- ; all defcustoms and defvars of compile.el would be undone when the let*
- ; terminates.
+ ;; The 'compile' subsystem is autoloaded through a call to (compile ...).
+ ;; We need to initialize it outside of any binding. Without this statement,
+ ;; all defcustoms and defvars of compile.el would be undone when the let*
+ ;; terminates.
(require 'compile)
(let* ((dev-null
(cond ((boundp 'null-device) null-device) ; since Emacs 20.3
((memq system-type '(windows-nt windows-95)) "NUL")
(t "/dev/null")))
+ (output
+ (if po-keep-mo-file
+ (concat (file-name-sans-extension buffer-file-name) ".mo")
+ dev-null))
(compilation-buffer-name-function
(function (lambda (mode-name)
(concat "*" mode-name " validation*"))))
(compile-command (concat po-msgfmt-program
- " --statistics -c -v -o " dev-null " "
+ " --statistics -c -v -o "
+ (shell-quote-argument output) " "
(shell-quote-argument buffer-file-name))))
(po-msgfmt-version-check)
(compile compile-command)))
@@ -3379,10 +3390,11 @@ Leave point after marked string."
(file-error nil))
;; Make sure there's a version number in the output:
- ;; 0.11 or 0.10.36 or 0.11-pre1 or 0.16.2-pre1
+ ;; 0.11 or 0.10.36 or 0.19.5.1 or 0.11-pre1 or 0.16.2-pre1
(progn (goto-char (point-min))
(or (looking-at ".* \\([0-9]+\\)\\.\\([0-9]+\\)$")
(looking-at ".* \\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)$")
+ (looking-at ".* \\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)$")
(looking-at ".* \\([0-9]+\\)\\.\\([0-9]+\\)[-_A-Za-z0-9]+$")
(looking-at ".* \\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)[-_A-Za-z0-9]+$")))
diff --git a/gettext-tools/misc/start-po.el b/gettext-tools/misc/start-po.el
index 2e691d2..21bfba5 100644
--- a/gettext-tools/misc/start-po.el
+++ b/gettext-tools/misc/start-po.el
@@ -1,6 +1,6 @@
;;; start-po.el -- autoload definitions for viewing and editing PO files
-;; Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2004, 2015 Free Software Foundation, Inc.
;;
;; This file is part of GNU gettext.
;;
diff --git a/gettext-tools/po/ChangeLog b/gettext-tools/po/ChangeLog
index c441f69..11cec76 100644
--- a/gettext-tools/po/ChangeLog
+++ b/gettext-tools/po/ChangeLog
@@ -1,927 +1,54 @@
-2014-12-24 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.4 released.
-
-2014-12-24 Daiki Ueno <ueno@gnu.org>
-
- * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Mario Blättermann <mario.blaettermann@gmail.com>.
- * es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
- * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * pt_BR.po: Update from Rafael Ferreira <rafael.f.f1@gmail.com>.
- * ru.po: Update from Pavel Maryanov <acid@jack.kiev.ua>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
- * sr.po: Update from МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
- * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
-
-2014-10-15 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.3 released.
-
-2014-10-15 Daiki Ueno <ueno@gnu.org>
-
- * es.po: Update.
-
-2014-10-08 Daiki Ueno <ueno@gnu.org>
-
- * Makevars (MSGINIT_OPTIONS): New variable.
- * Makevars.template (MSGINIT_OPTIONS): Likewise.
-
-2014-07-14 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.2 released.
-
-2014-06-10 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19.1 released.
-
-2014-06-02 Daiki Ueno <ueno@gnu.org>
-
- po: Sync gettext-tools/po/Makevars with gettext-runtime/po/Makevars
- * Makevars (PACKAGE_GNU, PO_DEPENDS_ON_POT)
- (DIST_DEPENDS_ON_UPDATE_PO): New variables.
- * Makevars.template (PACKAGE_GNU, PO_DEPENDS_ON_POT)
- (DIST_DEPENDS_ON_UPDATE_PO): New variables.
-
-2014-06-02 Daiki Ueno <ueno@gnu.org>
-
- * gettext 0.19 released.
-
-2014-04-21 Daiki Ueno <ueno@gnu.org>
-
- * Rules-quot: Use built-in filter if possible.
-
-2014-04-02 Daiki Ueno <ueno@gnu.org>
-
- * Rules-quot: Add a license notice.
-
-2013-07-04 Daiki Ueno <ueno@gnu.org>
-
- * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
- * de.po: Update from Jakob Kramer <jakob.kramer@gmx.de>.
- * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * pt_BR.po: Update from Rafael Ferreira <rafael.f.f1@gmail.com>.
- * sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
- * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
- * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
-
-2013-06-25 Daiki Ueno <ueno@gnu.org>
-
- Allow user to supply custom sed command when generating en@quot.po.
- This is necessary because BSD Sed is known not to work well with
- an input not ending with a newline.
- * Makefile.in.in (SED): Define using @SED@.
- * Rules-quot: Use '$(SED)' instead of 'sed' as the FILTER argument
- of msgfilter.
- Reported by Mats Erik Andersson in
- <https://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00028.html>.
-
-2013-06-04 Daiki Ueno <ueno@gnu.org>
-
- Support for Vala.
- * POTFILES.in: Add src/x-vala.c.
-
-2013-04-30 Daiki Ueno <ueno@gnu.org>
-
- * POTFILES.in: Add src/format-javascript.c, src/format-lua.c,
- src/format-python-brace.c, src/x-javascript.c, and src/x-lua.c.
-
-2013-04-30 Daiki Ueno <ueno@gnu.org>
-
- Update after gnulib changed.
- * POTFILES.in: Add gnulib-lib/set-acl.c. Remove
- gnulib-lib/set-mode-acl.c.
-
-2013-03-02 Bruno Haible <bruno@clisp.org>
-
- * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
- * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
-
-2012-12-25 Daiki Ueno <ueno@gnu.org>
-
- * gettext-0.18.2 released.
-
-2012-12-07 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * gl.po: Update from Leandro Regueiro <leandro.regueiro@gmail.com>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * pa.po: New file, from A S Alam <aalam@users.sf.net>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
- * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
- * LINGUAS: Add pa.
-
-2012-02-19 Bruno Haible <bruno@clisp.org>
-
- Rules.quot: Reenable use of build gettext tools in gettext package.
- * Rules-quot (.insert-header.po-update-en): Augment PATH in the
- gettext-tools package.
-
-2011-08-11 Paul Eggert <eggert@cs.ucla.edu>
-
- Makefile.in.in: fix make -q problem
- * build-aux/po/Makefile.in.in (check-macro-version): Remove this
- rule, since there's no file named 'check-macro-version' and its
- use as a file breaks make -q.
- (all): Don't depend on check-macro-version.
- (CHECK_MACRO_VERSION): New macro.
- (stamp-po): Use it.
-
-2011-08-28 Bruno Haible <bruno@clisp.org>
-
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
-
-2011-06-02 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/format-gfc-internal.c, src/format-qt-plural.c.
-
-2011-01-18 Bruno Haible <bruno@clisp.org>
-
- * da.po: Update from Keld Simonsen <keld@keldix.com>.
- * sl.po: Update from Primoz Peterlin <primozz.peterlin@gmail.com>.
-
-2011-06-02 Bruno Haible <bruno@clisp.org>
-
- Update after gnulib changed.
- * POTFILES.in: Add gnulib-lib/copy-acl.c, gnulib-lib/pipe-filter-ii.c,
- gnulib-lib/set-mode-acl.c, gnulib-lib/spawn-pipe.c. Remove
- gnulib-lib/pipe.c.
-
-2011-06-02 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/format-c-parse.h.
-
-2010-10-10 Bruno Haible <bruno@clisp.org>
-
- * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
-
-2010-08-23 Bruno Haible <bruno@clisp.org>
-
- * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
-
-2010-07-27 Bruno Haible <bruno@clisp.org>
-
- * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
-
-2010-07-02 Bruno Haible <bruno@clisp.org>
-
- * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
-
-2010-06-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in ($(DOMAIN).pot-update): When GNU find is available,
- avoid grepping through monster files.
- Reported by Jim Meyering <jim@meyering.net>.
-
-2010-06-04 Bruno Haible <bruno@clisp.org>
-
- Offer more choices in the Makevars template.
- * Makevars.template (USE_MSGCTXT, MSGMERGE_OPTIONS): New variables.
-
-2010-06-04 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.18.1 released.
-
-2010-05-24 Bruno Haible <bruno@clisp.org>
-
- * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
- * id.po: Update from Arif E. Nugroho <arif_endro@yahoo.com>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
-
-2010-05-09 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.18 released.
-
-2010-05-09 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (GETTEXT_MACRO_VERSION): Bump to 0.18.
-
-2010-03-03 Bruno Haible <bruno@clisp.org>
-
- * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
-
-2010-02-07 Bruno Haible <bruno@clisp.org>
-
- * bg.po: New file, from Roumen Petrov <transl@roumenpetrov.info>.
- * LINGUAS: Add bg.
-
-2009-12-19 Bruno Haible <bruno@clisp.org>
-
- * fi.po: Update from Lauri Nurmi <lanurmi@iki.fi>.
- * id.po: Update from Arif E. Nugroho <arif_endro@yahoo.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * nl.po: Update from Benno Schulenberg <benno@vertaalt.nl> and
- Erwin Poeze <erwin.poeze@gmail.com>.
- * nn.po: Update from Eirik U. Birkeland <eirbir@gmail.com>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
-
-2009-08-16 Bruno Haible <bruno@clisp.org>
-
- * Makevars (MSGMERGE_OPTIONS): New variable.
- * Makefile.in.in ($(POFILES), .nop.po-update): Use it when invoking
- msgmerge.
- Suggested by Guillem Jover <guillem@debian.org>.
-
-2009-07-28 Bruno Haible <bruno@clisp.org>
-
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
-
-2009-07-25 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
-
-2009-06-08 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (install-data-yes, installdirs-data-yes): Remove
- unnecessary mkdir of $(datadir).
- Reported by Serge Pavlovsky <pal666@gmail.com>.
-
-2009-02-27 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (Makefile): Use @SHELL@, not $(SHELL).
- Reported by Scott James Remnant <scott@ubuntu.com>.
-
-2009-01-18 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (.po.gmo): Pass --verbose to msgfmt when producing
- statistics.
- Suggested by Vincent Lefevre <vincent@vinc17.org>.
-
-2009-01-18 Bruno Haible <bruno@clisp.org>
-
- * id.po: Update from Arif E. Nugroho <arif_endro@yahoo.com>.
- * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
-
-2008-09-28 Bruno Haible <bruno@clisp.org>
-
- * Rules-quot (.insert-header.po-update-en): Pass the locale name with
- suffix to msginit. Needed for the "Language:" field in the header
- entry.
-
-2008-05-19 Bruno Haible <bruno@clisp.org>
-
- * Makevars (XGETTEXT_OPTIONS): Remove the options for proper_name and
- proper_name_utf8, now collected automatically through
- AM_XGETTEXT_OPTION.
-
-2008-05-08 Bruno Haible <bruno@clisp.org>
-
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
-
-2007-12-24 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in ($(POFILES), .nop.po-update): When using msgmerge
- 0.18 or newer, pass a --lang option.
-
-2007-12-24 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (.nop.po-update): Put all non-option arguments after
- all option arguments, so that the commands work 1. when POSIXLY_CORRECT
- is set, 2. on platforms whose getopt facility is POSIX compliant but
- not GNU libc compatible, such as Cygwin.
-
-2007-11-07 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.17 released.
-
-2007-10-30 Bruno Haible <bruno@clisp.org>
-
- * nb.po: Renamed from no.po.
- * LINGUAS: Add nb, remove no.
-
-2007-10-30 Bruno Haible <bruno@clisp.org>
-
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
-
-2007-10-28 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in ($(DOMAIN).pot-update): Consider the
- XGETTEXT_EXTRA_OPTIONS variable.
-
-2007-10-28 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (GETTEXT_MACRO_VERSION): Bump to 0.17.
-
-2007-10-28 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
-
-2007-10-27 Bruno Haible <bruno@clisp.org>
-
- * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
-
-2007-10-26 Bruno Haible <bruno@clisp.org>
-
- * nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * sl.po: Update from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
-
-2007-10-18 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in ($(DOMAIN).pot-update): Don't pass the package name
- and version to xgettext if the xgettext version is < 0.16.2.
-
-2007-10-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in ($(DOMAIN).pot-update): Exclude "GNU <package>"
- matches from the libtool script in any directory.
-
-2007-09-30 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in ($(DOMAIN).pot-update): Pass the package name and
- version to xgettext.
-
-2007-09-19 Bruno Haible <bruno@clisp.org>
-
- * eu.po: New file, from Piarres Beobide <pi@beobide.net>.
- * LINGUAS: Add eu.
-
-2007-09-15 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * ru.po: Update from Oleg S. Tihonov <ost@tatnipi.ru>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@buguner.name.tr>.
- * uk.po: Update from Maxim V. Dziumanenko <dziumanenko@gmail.com>.
- * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
-
-2007-09-08 Bruno Haible <bruno@clisp.org>
-
- Check that the gettext macros and Makefile.in.in are in sync.
- * Makefile.in.in (GETTEXT_MACRO_VERSION): New macro.
- (check-macro-version): New target.
- (all): Depend on it.
- Suggested by Daniel Leidert <daniel.leidert.spam@gmx.net>.
-
-2007-06-11 Bruno Haible <bruno@clisp.org>
-
- * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
-
-2007-01-30 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * uk.po: Update from Maxim V. Dziumanenko <dziumanenko@gmail.com>.
-
-2006-11-27 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.16.1 released.
-
-2006-11-27 Bruno Haible <bruno@clisp.org>
-
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
-
-2006-10-26 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.16 released.
-
-2006-10-16 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add libgettextpo/gettext-po.c, remove src/gettext-po.c.
-
-2006-10-15 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/read-catalog.c, remove src/read-po.c.
- Add src/open-catalog.c, remove src/open-po.c.
-
-2006-10-15 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/write-catalog.c.
-
-2006-10-02 Bruno Haible <bruno@clisp.org>
-
- * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
- * sl.po: Update from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
-
-2006-09-28 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2006-09-10 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (install_sh): New variable.
- Fixes "make install" errors in packages that have no 'mkinstalldirs'
- file and use automake <= 1.9.x, on platforms where 'mkdir' does not
- support the -p option.
-
-2006-08-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in.in (MKDIR_P): New variable. Needed by $(mkdir_p) with
- Automake-1.10.
-
-2006-07-31 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Refer to gnulib-lib/ instead of lib/. Drop xerror.c.
-
-2006-07-25 Bruno Haible <bruno@clisp.org>
-
- * Rules-msvc: Remove file.
- * Makefile.msvc.sh: Remove file.
-
-2006-07-25 Bruno Haible <bruno@clisp.org>
-
- * Rules-vms: Remove file.
- * Makefile.vms.sh: Remove file.
-
-2006-07-21 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.15 released.
-
-2006-07-20 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
-
-2006-07-03 Bruno Haible <bruno@clisp.org>
-
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@buguner.name.tr>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2006-06-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (mkinstalldirs): New variable. Needed by $(mkdir_p)
- if an mkinstalldirs file is present.
-
-2006-03-13 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add lib/javaversion.c.
-
-2006-04-17 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (MKINSTALLDIRS, mkinstalldirs): Remove variables.
- (mkdir_p): New variable.
- (install-data, install-data-yes, installdirs-data,
- installdirs-data-yes): Use $(mkdir_p) instead of $(mkinstalldirs).
-
-2006-04-14 Bruno Haible <bruno@clisp.org>
-
- Don't ignore the --localedir option from autoconf >= 2.60.
- * Makefile.in.in (localedir): Set to the value determined by the
- configure script.
-
-2006-04-07 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * es.po: Update from Max de Mendizábal <max@upn.mx>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * ru.po: Update from Oleg S. Tihonov <ost@tatnipi.ru>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sl.po: Update from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
- * uk.po: Update from Maxim V. Dziumanenko <mvd@mylinux.com.ua>.
- * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
- * zh_TW.po: Update from Abel Cheung <abelcheung@gmail.com>.
-
-2006-04-02 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add lib/quotearg.c, src/format-boost.c,
- src/format-scheme.c, src/msgl-check.c, src/po-xerror.c,
- src/recode-sr-latin.c, src/x-scheme.c. Remove src/po-lex.h.
-
-2006-04-02 Bruno Haible <bruno@clisp.org>
-
- * Makevars (XGETTEXT_OPTIONS): Add keywords 'proper_name' and
- 'proper_name_utf8'.
-
-2005-10-18 Bruno Haible <bruno@clisp.org>
-
- * Makevars (USE_MSGCTXT): New macro.
- * Makefile.in.in (GMSGFMT, MSGFMT, XGETTEXT): Define according to the
- value of $(USE_MSGCTXT).
-
-2005-07-26 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (datarootdir): New variable.
- Suggested by Stepan Kasal <kasal@ucw.cz>.
-
-2005-03-13 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (Makefile): Call config.status with calling convention
- supported since autoconf-2.50.
- Suggested by Alexandre Duret-Lutz <adl@src.lip6.fr>.
-
-2006-06-21 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.6 released.
-
-2005-05-23 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.5 released.
-
-2005-05-23 Bruno Haible <bruno@clisp.org>
-
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * vi.po: New file, from Clytie Siddall <clytie@riverland.net.au>.
- * zh_TW.po: Update from Abel Cheung <abelcheung@gmail.com>.
- * LINGUAS: Add vi.
-
-2005-04-11 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.4 released.
-
-2005-04-11 Bruno Haible <bruno@clisp.org>
-
- * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
- * ru.po: Update from Oleg S. Tihonov <ost@tatnipi.ru>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
-
-2005-03-14 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.3 released.
-
-2005-03-13 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (Makefile): Depend on Makevars.
- Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
-
-2005-03-06 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (dist2): Fail if some of the files to be distributed
- do not exist or cannot be copied.
- Suggested by Alexandre Duret-Lutz <adl@src.lip6.fr>.
-
-2005-03-06 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (DISTFILES): Remove $(DOMAIN).pot, stamp-po.
- (stamp-po): Do nothing if $(DOMAIN).pot does not exist.
- (dist2): Depend on stamp-po. If $(DOMAIN).pot exists, distribute also
- $(DOMAIN).pot and stamp-po.
- Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
-
-2005-02-24 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.2 released.
-
-2005-02-21 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * ru.po: Update from Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2005-02-06 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (PACKAGE_BUGREPORT): New variable.
- ($(DOMAIN).pot-update): If MSGID_BUGS_ADDRESS is empty and
- PACKAGE_BUGREPORT is available, use the latter.
- Reported by Simon Josefsson <jas@extundo.com>.
-
-2005-01-26 Bruno Haible <bruno@clisp.org>
-
- * ru.po: Update from Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>.
-
-2005-01-06 Bruno Haible <bruno@clisp.org>
-
- * uk.po: New file, from Maxim V. Dziumanenko <mvd@mylinux.com.ua>.
- * de.po: Downgrade to old orthography from Karl Eichwalder <ke@suse.de>.
- * LINGUAS: Add uk.
-
-2004-09-06 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Update.
-
-2004-09-06 Bruno Haible <bruno@clisp.org>
-
- * Makevars (XGETTEXT_OPTIONS): Recognize error_logger calls.
-
-2004-09-05 Bruno Haible <bruno@clisp.org>
-
- * Makevars (XGETTEXT_OPTIONS): Recognize po_error and po_error_at_line.
-
-2004-03-21 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * es.po: Update from Max de Mendizábal <max@upn.mx>.
- * sr.po: Update from Danilo Segan <dsegan@gmx.net>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2004-01-29 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14.1 released.
-
-2004-01-28 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.14 released.
-
-2004-01-28 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2004-01-17 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2004-01-16 Bruno Haible <bruno@clisp.org>
-
- Create en@quot.po when it doesn't exist.
- * Makefile.in.in (.SUFFIXES): Add .po-create.
- ($(POFILES)): Invoke .po-create target when the PO file does not exist.
- (.nop.po-create): New rule.
- * Rules-quot (en@quot.po-create, en@boldquot.po-create): New rules.
-
-2003-12-17 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.13.1 released.
-
-2003-12-07 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * es.po: Update from Max de Mendizábal <max@upn.mx>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sr.po: Update from Danilo Segan <dsegan@gmx.net>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.13 released.
-
-2003-11-30 Bruno Haible <bruno@clisp.org>
-
- * es.po: Update from Max de Mendizábal <max@upn.mx>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
- * sr.po: New file, from Danilo Segan <dsegan@gmx.net>.
- * LINGUAS: Add sr.
-
-2003-11-24 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl> and
- Jakub Bogusz <qboosh@pld.org.pl>.
- * ro.po: New file, from Eugen Hoanca <eugenh@urban-grafx.ro>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
- * LINGUAS: Add ro.
-
-2003-11-22 Bruno Haible <bruno@clisp.org>
-
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
-
-2003-11-19 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
-
-2003-11-09 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (stamp-po): Remake all GMOFILES, not just those
- needed in this build. This is necessary because stamp-po persists
- across "make distclean".
-
-2003-11-05 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/user-email.sh.in.
-
-2003-10-19 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/format-qt.c and src/write-qt.c.
-
-2003-10-14 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/read-stringtable.c.
-
-2003-10-09 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/java.c.
-
-2003-10-05 Bruno Haible <bruno@clisp.org>
-
- * Makevars (XGETTEXT_OPTIONS): Add --flag options.
-
-2003-09-14 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/format-sh.c, src/x-sh.c, lib/closeout.c.
-
-2003-08-25 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add format-gcc-internal.c.
-
-2003-08-22 Bruno Haible <bruno@clisp.org>
-
- * zh_CN.po: New file, from Funda Wang <fundawang@linux.net.cn>.
- * LINGUAS: Add zh_CN.
-
-2003-07-05 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add format-perl-brace.c, remove format-perl-bracket.c.
-
-2003-07-31 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add lib/w32spawn.h, src/read-properties.c,
- (both present since gettext-0.12), src/format-perl-bracket.c.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in: Add a version number, to be used by intltools.
-
-2003-06-12 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Remove duplicate entry.
-
-2003-06-11 Guido Flohr <guido@imperia.net>
-
- * POTFILES.in: Add src/format-perl.c and src/x-perl.c.
-
-2003-06-11 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
-
-2003-05-27 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.12.1 released.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
- * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
- * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
-
-2003-05-20 Bruno Haible <bruno@clisp.org>
-
- * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
-
-2003-05-19 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * gettext-0.12 released.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * es.po: Update from Max de Mendizábal <max@upn.mx>.
-
-2003-05-08 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * sl.po: Update from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
-
-2003-04-29 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (stamp-po, update-po): Avoid infinite recursion if
- LINGUAS is empty.
-
-2003-04-22 Bruno Haible <bruno@clisp.org>
-
- * sk.po: Update from Marcel Telka <marcel@telka.sk>.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- VMS support.
- * Rules-vms: New file.
- * Makefile.vms.sh: New file.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Native Woe32/MSVC support.
- * Makefile.msvc.sh: New file.
- * Rules-msvc: New file.
-
-2003-03-29 Bruno Haible <bruno@clisp.org>
-
- * da.po: Update from Keld Simonsen <keld@dkuug.dk>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * sl.po: Update from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
-
-2003-02-28 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in.in (mkinstalldirs): Simplify. Prepending
- "$(top_builddir)/" in the case of a relative $srcdir is now handled
- in gettext.m4.
-
-2003-02-24 Bruno Haible <bruno@clisp.org>
-
- * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * de.po: Update from Karl Eichwalder <ke@suse.de>.
- * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
- * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
- * ru.po: Update from Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>.
- * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
-
-2003-02-23 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Add src/format-invalid.h. Replace src/po-gram-gen.c
- with src/po-gram-gen.y.
-
-2003-02-16 Bruno Haible <bruno@clisp.org>
-
- * Makevars.template: New file.
- * Makevars (MSGID_BUGS_ADDRESS): New variable.
- * Makefile.in.in (DISTFILES.common): Remove Makevars.
- (DISTFILES): Add Makevars here.
- ($(DOMAIN).pot-update): Pass --msgid-bugs-address to xgettext.
- (install-data): Install Makevars.template. Uninstall Makevars.
- (uninstall-data): Uninstall Makevars.template.
- (dist2): Distribute Makevars.template, in gettext-tools package only.
-
-2003-02-12 Bruno Haible <bruno@clisp.org>
-
- * POTFILES.in: Bring up to date.
-
- * Makefile.in.in (install-data, installdirs-data, uninstall-data):
- Special case package 'gettext-tools'.
- (.nop.po-update): Likewise.
- (dist2): Distribute also ChangeLog.[0-9] if present.
-
-
-See ChangeLog.0 for earlier changes.
+2015-12-28 Daiki Ueno <ueno@gnu.org>
+
+ Update translations
+ * gettext-runtime/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
+ * gettext-runtime/po/nb.po: Update from Johnny A. Solbu <johnny@solbu.net>.
+ * gettext-runtime/po/pt_BR.po: Update from Rafael Ferreira <rffontenelle@gmail.com>.
+ * gettext-runtime/po/sr.po: Update from МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>.
+ * gettext-runtime/po/zh_TW.po: Update from Wei-Lun Chao <bluebat@member.fsf.org>.
+ * gettext-tools/examples/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
+ * gettext-tools/examples/po/nb.po: Update from Johnny A. Solbu <johnny@solbu.net>.
+ * gettext-tools/examples/po/pt_BR.po: Update from Rafael Ferreira <rffontenelle@gmail.com>.
+ * gettext-tools/examples/po/sr.po: Update from МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>.
+ * gettext-tools/examples/po/zh_TW.po: Update from Wei-Lun Chao <bluebat@member.fsf.org>.
+ * gettext-tools/po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * gettext-tools/po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
+ * gettext-tools/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
+ * gettext-tools/po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * gettext-tools/po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
+ * gettext-tools/po/pt_BR.po: Update from Rafael Fontenelle <rffontenelle@gmail.com>.
+ * gettext-tools/po/sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * gettext-tools/po/sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
+ * gettext-tools/po/sr.po: Update from МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>.
+ * gettext-tools/po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * gettext-tools/po/vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+
+2015-12-10 Daiki Ueno <ueno@gnu.org>
+
+ gettext-tools: Update POTFILES.in
+ * gettext-tools/po/POTFILES.in: Add newly added files.
+
+2015-12-04 Daiki Ueno <ueno@gnu.org>
+
+ xgettext: Rewrite Glade scanner in ITS
+ * gettext-tools/its/glade.loc: New file.
+ * gettext-tools/its/glade1.its: New file.
+ * gettext-tools/its/glade2.its: New file.
+ * gettext-tools/its/gtkbuilder.its: New file.
+ * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
+ * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-glade.c.
+ * gettext-tools/src/x-glade.c: Remove.
+ * gettext-tools/src/x-glade.h (EXTENSIONS_GLADE): Set language field to
+ NULL.
+ (SCANNERS_GLADE): Set func field to NULL.
+ * gettext-tools/po/POTFILES.in: Remove x-glade.c
+
+2015-10-15 Daiki Ueno <ueno@gnu.org>
+
+ build: Generate ChangeLogs for intl and po
+ * autogen.sh: Create empty ChangeLog files under intl and po.
+ * Makefile.am (gen-ChangeLogs): Rename from gen-ChangeLog. Generate
+ ChangeLog files for */intl and */po as well as top-level.
+ * gettext-runtime/intl/ChangeLog.0: Rename from ChangeLog.
+ * gettext-runtime/po/ChangeLog.0: Rename from ChangeLog.
+ * gettext-tools/po/ChangeLog.1: Rename from ChangeLog.
diff --git a/gettext-tools/po/ChangeLog.1 b/gettext-tools/po/ChangeLog.1
new file mode 100644
index 0000000..91ed01c
--- /dev/null
+++ b/gettext-tools/po/ChangeLog.1
@@ -0,0 +1,962 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * da.po: Update from Keld Simonsen <keld@keldix.com>.
+ * de.po: Update from Philipp Thomas <pth@suse.de>.
+ * es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
+ * fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
+ * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+
+2015-03-09 Daiki Ueno <ueno@gnu.org>
+
+ * POTFILES.in: Add format-kde.c and format-kde-kuit.c.
+
+2014-12-24 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.4 released.
+
+2014-12-24 Daiki Ueno <ueno@gnu.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Mario Blättermann <mario.blaettermann@gmail.com>.
+ * es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
+ * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * pt_BR.po: Update from Rafael Ferreira <rafael.f.f1@gmail.com>.
+ * ru.po: Update from Pavel Maryanov <acid@jack.kiev.ua>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
+ * sr.po: Update from МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+
+2014-10-15 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.3 released.
+
+2014-10-15 Daiki Ueno <ueno@gnu.org>
+
+ * es.po: Update.
+
+2014-10-08 Daiki Ueno <ueno@gnu.org>
+
+ * Makevars (MSGINIT_OPTIONS): New variable.
+ * Makevars.template (MSGINIT_OPTIONS): Likewise.
+
+2014-07-14 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.2 released.
+
+2014-06-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.1 released.
+
+2014-06-02 Daiki Ueno <ueno@gnu.org>
+
+ po: Sync gettext-tools/po/Makevars with gettext-runtime/po/Makevars
+ * Makevars (PACKAGE_GNU, PO_DEPENDS_ON_POT)
+ (DIST_DEPENDS_ON_UPDATE_PO): New variables.
+ * Makevars.template (PACKAGE_GNU, PO_DEPENDS_ON_POT)
+ (DIST_DEPENDS_ON_UPDATE_PO): New variables.
+
+2014-06-02 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19 released.
+
+2014-04-21 Daiki Ueno <ueno@gnu.org>
+
+ * Rules-quot: Use built-in filter if possible.
+
+2014-04-02 Daiki Ueno <ueno@gnu.org>
+
+ * Rules-quot: Add a license notice.
+
+2013-07-04 Daiki Ueno <ueno@gnu.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * de.po: Update from Jakob Kramer <jakob.kramer@gmx.de>.
+ * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * pt_BR.po: Update from Rafael Ferreira <rafael.f.f1@gmail.com>.
+ * sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+ * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
+
+2013-06-25 Daiki Ueno <ueno@gnu.org>
+
+ Allow user to supply custom sed command when generating en@quot.po.
+ This is necessary because BSD Sed is known not to work well with
+ an input not ending with a newline.
+ * Makefile.in.in (SED): Define using @SED@.
+ * Rules-quot: Use '$(SED)' instead of 'sed' as the FILTER argument
+ of msgfilter.
+ Reported by Mats Erik Andersson in
+ <https://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00028.html>.
+
+2013-06-04 Daiki Ueno <ueno@gnu.org>
+
+ Support for Vala.
+ * POTFILES.in: Add src/x-vala.c.
+
+2013-04-30 Daiki Ueno <ueno@gnu.org>
+
+ * POTFILES.in: Add src/format-javascript.c, src/format-lua.c,
+ src/format-python-brace.c, src/x-javascript.c, and src/x-lua.c.
+
+2013-04-30 Daiki Ueno <ueno@gnu.org>
+
+ Update after gnulib changed.
+ * POTFILES.in: Add gnulib-lib/set-acl.c. Remove
+ gnulib-lib/set-mode-acl.c.
+
+2013-03-02 Bruno Haible <bruno@clisp.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+
+2012-12-25 Daiki Ueno <ueno@gnu.org>
+
+ * gettext-0.18.2 released.
+
+2012-12-07 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * gl.po: Update from Leandro Regueiro <leandro.regueiro@gmail.com>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * pa.po: New file, from A S Alam <aalam@users.sf.net>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
+ * vi.po: Update from Trần Ngá»c Quân <vnwildman@gmail.com>.
+ * LINGUAS: Add pa.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ Rules.quot: Reenable use of build gettext tools in gettext package.
+ * Rules-quot (.insert-header.po-update-en): Augment PATH in the
+ gettext-tools package.
+
+2011-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Makefile.in.in: fix make -q problem
+ * build-aux/po/Makefile.in.in (check-macro-version): Remove this
+ rule, since there's no file named 'check-macro-version' and its
+ use as a file breaks make -q.
+ (all): Don't depend on check-macro-version.
+ (CHECK_MACRO_VERSION): New macro.
+ (stamp-po): Use it.
+
+2011-08-28 Bruno Haible <bruno@clisp.org>
+
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+
+2011-06-02 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/format-gfc-internal.c, src/format-qt-plural.c.
+
+2011-01-18 Bruno Haible <bruno@clisp.org>
+
+ * da.po: Update from Keld Simonsen <keld@keldix.com>.
+ * sl.po: Update from Primoz Peterlin <primozz.peterlin@gmail.com>.
+
+2011-06-02 Bruno Haible <bruno@clisp.org>
+
+ Update after gnulib changed.
+ * POTFILES.in: Add gnulib-lib/copy-acl.c, gnulib-lib/pipe-filter-ii.c,
+ gnulib-lib/set-mode-acl.c, gnulib-lib/spawn-pipe.c. Remove
+ gnulib-lib/pipe.c.
+
+2011-06-02 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/format-c-parse.h.
+
+2010-10-10 Bruno Haible <bruno@clisp.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+
+2010-08-23 Bruno Haible <bruno@clisp.org>
+
+ * fi.po: Update from Jorma Karvonen <karvonen.jorma@gmail.com>.
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+
+2010-07-27 Bruno Haible <bruno@clisp.org>
+
+ * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
+
+2010-07-02 Bruno Haible <bruno@clisp.org>
+
+ * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
+
+2010-06-12 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in ($(DOMAIN).pot-update): When GNU find is available,
+ avoid grepping through monster files.
+ Reported by Jim Meyering <jim@meyering.net>.
+
+2010-06-04 Bruno Haible <bruno@clisp.org>
+
+ Offer more choices in the Makevars template.
+ * Makevars.template (USE_MSGCTXT, MSGMERGE_OPTIONS): New variables.
+
+2010-06-04 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.18.1 released.
+
+2010-05-24 Bruno Haible <bruno@clisp.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+ * id.po: Update from Arif E. Nugroho <arif_endro@yahoo.com>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+
+2010-05-09 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.18 released.
+
+2010-05-09 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (GETTEXT_MACRO_VERSION): Bump to 0.18.
+
+2010-03-03 Bruno Haible <bruno@clisp.org>
+
+ * bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
+
+2010-02-07 Bruno Haible <bruno@clisp.org>
+
+ * bg.po: New file, from Roumen Petrov <transl@roumenpetrov.info>.
+ * LINGUAS: Add bg.
+
+2009-12-19 Bruno Haible <bruno@clisp.org>
+
+ * fi.po: Update from Lauri Nurmi <lanurmi@iki.fi>.
+ * id.po: Update from Arif E. Nugroho <arif_endro@yahoo.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * nl.po: Update from Benno Schulenberg <benno@vertaalt.nl> and
+ Erwin Poeze <erwin.poeze@gmail.com>.
+ * nn.po: Update from Eirik U. Birkeland <eirbir@gmail.com>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
+
+2009-08-16 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (MSGMERGE_OPTIONS): New variable.
+ * Makefile.in.in ($(POFILES), .nop.po-update): Use it when invoking
+ msgmerge.
+ Suggested by Guillem Jover <guillem@debian.org>.
+
+2009-07-28 Bruno Haible <bruno@clisp.org>
+
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+
+2009-07-25 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+
+2009-06-08 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (install-data-yes, installdirs-data-yes): Remove
+ unnecessary mkdir of $(datadir).
+ Reported by Serge Pavlovsky <pal666@gmail.com>.
+
+2009-02-27 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (Makefile): Use @SHELL@, not $(SHELL).
+ Reported by Scott James Remnant <scott@ubuntu.com>.
+
+2009-01-18 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (.po.gmo): Pass --verbose to msgfmt when producing
+ statistics.
+ Suggested by Vincent Lefevre <vincent@vinc17.org>.
+
+2009-01-18 Bruno Haible <bruno@clisp.org>
+
+ * id.po: Update from Arif E. Nugroho <arif_endro@yahoo.com>.
+ * zh_CN.po: Update from Ji ZhengYu <zhengyuji@gmail.com>.
+
+2008-09-28 Bruno Haible <bruno@clisp.org>
+
+ * Rules-quot (.insert-header.po-update-en): Pass the locale name with
+ suffix to msginit. Needed for the "Language:" field in the header
+ entry.
+
+2008-05-19 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (XGETTEXT_OPTIONS): Remove the options for proper_name and
+ proper_name_utf8, now collected automatically through
+ AM_XGETTEXT_OPTION.
+
+2008-05-08 Bruno Haible <bruno@clisp.org>
+
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+
+2007-12-24 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in ($(POFILES), .nop.po-update): When using msgmerge
+ 0.18 or newer, pass a --lang option.
+
+2007-12-24 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (.nop.po-update): Put all non-option arguments after
+ all option arguments, so that the commands work 1. when POSIXLY_CORRECT
+ is set, 2. on platforms whose getopt facility is POSIX compliant but
+ not GNU libc compatible, such as Cygwin.
+
+2007-11-07 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.17 released.
+
+2007-10-30 Bruno Haible <bruno@clisp.org>
+
+ * nb.po: Renamed from no.po.
+ * LINGUAS: Add nb, remove no.
+
+2007-10-30 Bruno Haible <bruno@clisp.org>
+
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+
+2007-10-28 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in ($(DOMAIN).pot-update): Consider the
+ XGETTEXT_EXTRA_OPTIONS variable.
+
+2007-10-28 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (GETTEXT_MACRO_VERSION): Bump to 0.17.
+
+2007-10-28 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+
+2007-10-27 Bruno Haible <bruno@clisp.org>
+
+ * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
+
+2007-10-26 Bruno Haible <bruno@clisp.org>
+
+ * nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sl.po: Update from
+ Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+
+2007-10-18 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in ($(DOMAIN).pot-update): Don't pass the package name
+ and version to xgettext if the xgettext version is < 0.16.2.
+
+2007-10-07 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in ($(DOMAIN).pot-update): Exclude "GNU <package>"
+ matches from the libtool script in any directory.
+
+2007-09-30 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in ($(DOMAIN).pot-update): Pass the package name and
+ version to xgettext.
+
+2007-09-19 Bruno Haible <bruno@clisp.org>
+
+ * eu.po: New file, from Piarres Beobide <pi@beobide.net>.
+ * LINGUAS: Add eu.
+
+2007-09-15 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * ru.po: Update from Oleg S. Tihonov <ost@tatnipi.ru>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@buguner.name.tr>.
+ * uk.po: Update from Maxim V. Dziumanenko <dziumanenko@gmail.com>.
+ * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+
+2007-09-08 Bruno Haible <bruno@clisp.org>
+
+ Check that the gettext macros and Makefile.in.in are in sync.
+ * Makefile.in.in (GETTEXT_MACRO_VERSION): New macro.
+ (check-macro-version): New target.
+ (all): Depend on it.
+ Suggested by Daniel Leidert <daniel.leidert.spam@gmx.net>.
+
+2007-06-11 Bruno Haible <bruno@clisp.org>
+
+ * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
+
+2007-01-30 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * uk.po: Update from Maxim V. Dziumanenko <dziumanenko@gmail.com>.
+
+2006-11-27 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.16.1 released.
+
+2006-11-27 Bruno Haible <bruno@clisp.org>
+
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+
+2006-10-26 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.16 released.
+
+2006-10-16 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add libgettextpo/gettext-po.c, remove src/gettext-po.c.
+
+2006-10-15 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/read-catalog.c, remove src/read-po.c.
+ Add src/open-catalog.c, remove src/open-po.c.
+
+2006-10-15 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/write-catalog.c.
+
+2006-10-02 Bruno Haible <bruno@clisp.org>
+
+ * fr.po: Update from Christophe Combelles <ccomb@free.fr>.
+ * sl.po: Update from
+ Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
+
+2006-09-28 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2006-09-10 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (install_sh): New variable.
+ Fixes "make install" errors in packages that have no 'mkinstalldirs'
+ file and use automake <= 1.9.x, on platforms where 'mkdir' does not
+ support the -p option.
+
+2006-08-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in.in (MKDIR_P): New variable. Needed by $(mkdir_p) with
+ Automake-1.10.
+
+2006-07-31 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Refer to gnulib-lib/ instead of lib/. Drop xerror.c.
+
+2006-07-25 Bruno Haible <bruno@clisp.org>
+
+ * Rules-msvc: Remove file.
+ * Makefile.msvc.sh: Remove file.
+
+2006-07-25 Bruno Haible <bruno@clisp.org>
+
+ * Rules-vms: Remove file.
+ * Makefile.vms.sh: Remove file.
+
+2006-07-21 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.15 released.
+
+2006-07-20 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+
+2006-07-03 Bruno Haible <bruno@clisp.org>
+
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@buguner.name.tr>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2006-06-12 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (mkinstalldirs): New variable. Needed by $(mkdir_p)
+ if an mkinstalldirs file is present.
+
+2006-03-13 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add lib/javaversion.c.
+
+2006-04-17 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (MKINSTALLDIRS, mkinstalldirs): Remove variables.
+ (mkdir_p): New variable.
+ (install-data, install-data-yes, installdirs-data,
+ installdirs-data-yes): Use $(mkdir_p) instead of $(mkinstalldirs).
+
+2006-04-14 Bruno Haible <bruno@clisp.org>
+
+ Don't ignore the --localedir option from autoconf >= 2.60.
+ * Makefile.in.in (localedir): Set to the value determined by the
+ configure script.
+
+2006-04-07 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * es.po: Update from Max de Mendizábal <max@upn.mx>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * ru.po: Update from Oleg S. Tihonov <ost@tatnipi.ru>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sl.po: Update from
+ Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
+ * uk.po: Update from Maxim V. Dziumanenko <mvd@mylinux.com.ua>.
+ * vi.po: Update from Clytie Siddall <clytie@riverland.net.au>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+ * zh_TW.po: Update from Abel Cheung <abelcheung@gmail.com>.
+
+2006-04-02 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add lib/quotearg.c, src/format-boost.c,
+ src/format-scheme.c, src/msgl-check.c, src/po-xerror.c,
+ src/recode-sr-latin.c, src/x-scheme.c. Remove src/po-lex.h.
+
+2006-04-02 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (XGETTEXT_OPTIONS): Add keywords 'proper_name' and
+ 'proper_name_utf8'.
+
+2005-10-18 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (USE_MSGCTXT): New macro.
+ * Makefile.in.in (GMSGFMT, MSGFMT, XGETTEXT): Define according to the
+ value of $(USE_MSGCTXT).
+
+2005-07-26 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (datarootdir): New variable.
+ Suggested by Stepan Kasal <kasal@ucw.cz>.
+
+2005-03-13 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (Makefile): Call config.status with calling convention
+ supported since autoconf-2.50.
+ Suggested by Alexandre Duret-Lutz <adl@src.lip6.fr>.
+
+2006-06-21 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.6 released.
+
+2005-05-23 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.5 released.
+
+2005-05-23 Bruno Haible <bruno@clisp.org>
+
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * vi.po: New file, from Clytie Siddall <clytie@riverland.net.au>.
+ * zh_TW.po: Update from Abel Cheung <abelcheung@gmail.com>.
+ * LINGUAS: Add vi.
+
+2005-04-11 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.4 released.
+
+2005-04-11 Bruno Haible <bruno@clisp.org>
+
+ * it.po: Update from Marco Colombo <m.colombo@ed.ac.uk>.
+ * ru.po: Update from Oleg S. Tihonov <ost@tatnipi.ru>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+
+2005-03-14 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.3 released.
+
+2005-03-13 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (Makefile): Depend on Makevars.
+ Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
+
+2005-03-06 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (dist2): Fail if some of the files to be distributed
+ do not exist or cannot be copied.
+ Suggested by Alexandre Duret-Lutz <adl@src.lip6.fr>.
+
+2005-03-06 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (DISTFILES): Remove $(DOMAIN).pot, stamp-po.
+ (stamp-po): Do nothing if $(DOMAIN).pot does not exist.
+ (dist2): Depend on stamp-po. If $(DOMAIN).pot exists, distribute also
+ $(DOMAIN).pot and stamp-po.
+ Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
+
+2005-02-24 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.2 released.
+
+2005-02-21 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * ru.po: Update from Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2005-02-06 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (PACKAGE_BUGREPORT): New variable.
+ ($(DOMAIN).pot-update): If MSGID_BUGS_ADDRESS is empty and
+ PACKAGE_BUGREPORT is available, use the latter.
+ Reported by Simon Josefsson <jas@extundo.com>.
+
+2005-01-26 Bruno Haible <bruno@clisp.org>
+
+ * ru.po: Update from Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>.
+
+2005-01-06 Bruno Haible <bruno@clisp.org>
+
+ * uk.po: New file, from Maxim V. Dziumanenko <mvd@mylinux.com.ua>.
+ * de.po: Downgrade to old orthography from Karl Eichwalder <ke@suse.de>.
+ * LINGUAS: Add uk.
+
+2004-09-06 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Update.
+
+2004-09-06 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (XGETTEXT_OPTIONS): Recognize error_logger calls.
+
+2004-09-05 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (XGETTEXT_OPTIONS): Recognize po_error and po_error_at_line.
+
+2004-03-21 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * es.po: Update from Max de Mendizábal <max@upn.mx>.
+ * sr.po: Update from Danilo Segan <dsegan@gmx.net>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2004-01-29 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14.1 released.
+
+2004-01-28 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.14 released.
+
+2004-01-28 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2004-01-17 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2004-01-16 Bruno Haible <bruno@clisp.org>
+
+ Create en@quot.po when it doesn't exist.
+ * Makefile.in.in (.SUFFIXES): Add .po-create.
+ ($(POFILES)): Invoke .po-create target when the PO file does not exist.
+ (.nop.po-create): New rule.
+ * Rules-quot (en@quot.po-create, en@boldquot.po-create): New rules.
+
+2003-12-17 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.13.1 released.
+
+2003-12-07 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * es.po: Update from Max de Mendizábal <max@upn.mx>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sr.po: Update from Danilo Segan <dsegan@gmx.net>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.13 released.
+
+2003-11-30 Bruno Haible <bruno@clisp.org>
+
+ * es.po: Update from Max de Mendizábal <max@upn.mx>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+ * sr.po: New file, from Danilo Segan <dsegan@gmx.net>.
+ * LINGUAS: Add sr.
+
+2003-11-24 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl> and
+ Jakub Bogusz <qboosh@pld.org.pl>.
+ * ro.po: New file, from Eugen Hoanca <eugenh@urban-grafx.ro>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
+ * LINGUAS: Add ro.
+
+2003-11-22 Bruno Haible <bruno@clisp.org>
+
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+
+2003-11-19 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * zh_CN.po: Update from Funda Wang <fundawang@linux.net.cn>.
+
+2003-11-09 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (stamp-po): Remake all GMOFILES, not just those
+ needed in this build. This is necessary because stamp-po persists
+ across "make distclean".
+
+2003-11-05 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/user-email.sh.in.
+
+2003-10-19 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/format-qt.c and src/write-qt.c.
+
+2003-10-14 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/read-stringtable.c.
+
+2003-10-09 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/java.c.
+
+2003-10-05 Bruno Haible <bruno@clisp.org>
+
+ * Makevars (XGETTEXT_OPTIONS): Add --flag options.
+
+2003-09-14 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/format-sh.c, src/x-sh.c, lib/closeout.c.
+
+2003-08-25 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add format-gcc-internal.c.
+
+2003-08-22 Bruno Haible <bruno@clisp.org>
+
+ * zh_CN.po: New file, from Funda Wang <fundawang@linux.net.cn>.
+ * LINGUAS: Add zh_CN.
+
+2003-07-05 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add format-perl-brace.c, remove format-perl-bracket.c.
+
+2003-07-31 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+
+2003-06-22 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add lib/w32spawn.h, src/read-properties.c,
+ (both present since gettext-0.12), src/format-perl-bracket.c.
+
+2003-06-22 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in: Add a version number, to be used by intltools.
+
+2003-06-12 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Remove duplicate entry.
+
+2003-06-11 Guido Flohr <guido@imperia.net>
+
+ * POTFILES.in: Add src/format-perl.c and src/x-perl.c.
+
+2003-06-11 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+
+2003-05-27 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+
+2003-05-22 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.12.1 released.
+
+2003-05-22 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+ * ko.po: Update from Changwoo Ryu <cwryu@debian.org>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+ * tr.po: Update from Nilgün Belma Bugüner <nilgun@superonline.com>.
+
+2003-05-20 Bruno Haible <bruno@clisp.org>
+
+ * fr.po: Update from Michel Robitaille <robitail@iro.umontreal.ca>.
+
+2003-05-19 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+
+2003-05-17 Bruno Haible <bruno@clisp.org>
+
+ * gettext-0.12 released.
+
+2003-05-12 Bruno Haible <bruno@clisp.org>
+
+ * es.po: Update from Max de Mendizábal <max@upn.mx>.
+
+2003-05-08 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * sl.po: Update from
+ Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
+
+2003-05-07 Bruno Haible <bruno@clisp.org>
+
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+
+2003-04-29 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (stamp-po, update-po): Avoid infinite recursion if
+ LINGUAS is empty.
+
+2003-04-22 Bruno Haible <bruno@clisp.org>
+
+ * sk.po: Update from Marcel Telka <marcel@telka.sk>.
+
+2003-04-12 Bruno Haible <bruno@clisp.org>
+
+ VMS support.
+ * Rules-vms: New file.
+ * Makefile.vms.sh: New file.
+
+2003-03-17 Bruno Haible <bruno@clisp.org>
+
+ Native Woe32/MSVC support.
+ * Makefile.msvc.sh: New file.
+ * Rules-msvc: New file.
+
+2003-03-29 Bruno Haible <bruno@clisp.org>
+
+ * da.po: Update from Keld Simonsen <keld@dkuug.dk>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * sl.po: Update from
+ Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+
+2003-02-28 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.in.in (mkinstalldirs): Simplify. Prepending
+ "$(top_builddir)/" in the case of a relative $srcdir is now handled
+ in gettext.m4.
+
+2003-02-24 Bruno Haible <bruno@clisp.org>
+
+ * ca.po: Update from Ivan Vilata i Balaguer <ivan@selidor.net>.
+ * de.po: Update from Karl Eichwalder <ke@suse.de>.
+ * ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
+ * pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>.
+ * ru.po: Update from Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>.
+ * sv.po: Update from Jan Djärv <jan.h.d@swipnet.se>.
+
+2003-02-23 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Add src/format-invalid.h. Replace src/po-gram-gen.c
+ with src/po-gram-gen.y.
+
+2003-02-16 Bruno Haible <bruno@clisp.org>
+
+ * Makevars.template: New file.
+ * Makevars (MSGID_BUGS_ADDRESS): New variable.
+ * Makefile.in.in (DISTFILES.common): Remove Makevars.
+ (DISTFILES): Add Makevars here.
+ ($(DOMAIN).pot-update): Pass --msgid-bugs-address to xgettext.
+ (install-data): Install Makevars.template. Uninstall Makevars.
+ (uninstall-data): Uninstall Makevars.template.
+ (dist2): Distribute Makevars.template, in gettext-tools package only.
+
+2003-02-12 Bruno Haible <bruno@clisp.org>
+
+ * POTFILES.in: Bring up to date.
+
+ * Makefile.in.in (install-data, installdirs-data, uninstall-data):
+ Special case package 'gettext-tools'.
+ (.nop.po-update): Likewise.
+ (dist2): Distribute also ChangeLog.[0-9] if present.
+
+
+See ChangeLog.0 for earlier changes.
diff --git a/gettext-tools/po/Makefile.in.in b/gettext-tools/po/Makefile.in.in
index 65184f6..8f34f00 100644
--- a/gettext-tools/po/Makefile.in.in
+++ b/gettext-tools/po/Makefile.in.in
@@ -1,14 +1,12 @@
# Makefile for PO directory in any package using GNU gettext.
# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
#
-# Origin: gettext-0.19
+# Origin: gettext-0.19.7
GETTEXT_MACRO_VERSION = 0.19
PACKAGE = @PACKAGE@
@@ -45,6 +43,11 @@ install_sh = $(SHELL) @install_sh@
MKDIR_P = @MKDIR_P@
mkdir_p = @mkdir_p@
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs. However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
GMSGFMT_ = @GMSGFMT@
GMSGFMT_no = @GMSGFMT@
GMSGFMT_yes = @GMSGFMT_015@
@@ -197,6 +200,11 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
;; \
esac
test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+ rm -f $(DOMAIN).1po; \
+ fi; \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
@@ -226,7 +234,7 @@ $(POFILES): $(POFILESDEPS)
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
cd $(srcdir) \
- && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
*) \
@@ -427,7 +435,7 @@ update-po: Makefile
.nop.po-update:
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
diff --git a/gettext-tools/po/POTFILES.in b/gettext-tools/po/POTFILES.in
index c9d2887..89c988f 100644
--- a/gettext-tools/po/POTFILES.in
+++ b/gettext-tools/po/POTFILES.in
@@ -29,10 +29,11 @@ gnulib-lib/xmalloc.c
gnulib-lib/xsetenv.c
# Package source files
+src/cldr-plurals.c
src/file-list.c
-src/format.c
src/format-awk.c
src/format-boost.c
+src/format.c
src/format-c.c
src/format-c-parse.h
src/format-csharp.c
@@ -42,15 +43,17 @@ src/format-gfc-internal.c
src/format-invalid.h
src/format-java.c
src/format-javascript.c
+src/format-kde.c
+src/format-kde-kuit.c
src/format-librep.c
src/format-lisp.c
src/format-lua.c
src/format-pascal.c
-src/format-perl.c
src/format-perl-brace.c
+src/format-perl.c
src/format-php.c
-src/format-python.c
src/format-python-brace.c
+src/format-python.c
src/format-qt.c
src/format-qt-plural.c
src/format-scheme.c
@@ -58,6 +61,8 @@ src/format-sh.c
src/format-tcl.c
src/format-ycp.c
src/hostname.c
+src/its.c
+src/locating-rule.c
src/msgattrib.c
src/msgcat.c
src/msgcmp.c
@@ -83,6 +88,7 @@ src/po-lex.c
src/po-xerror.c
src/read-catalog.c
src/read-csharp.c
+src/read-desktop.c
src/read-java.c
src/read-mo.c
src/read-properties.c
@@ -93,17 +99,20 @@ src/recode-sr-latin.c
src/urlget.c
src/write-catalog.c
src/write-csharp.c
+src/write-desktop.c
src/write-java.c
src/write-mo.c
src/write-po.c
src/write-qt.c
src/write-resources.c
src/write-tcl.c
+src/write-xml.c
src/x-awk.c
src/x-c.c
src/x-csharp.c
+src/x-desktop.c
src/x-elisp.c
-src/x-glade.c
+src/xgettext.c
src/x-java.c
src/x-javascript.c
src/x-librep.c
@@ -120,6 +129,6 @@ src/x-smalltalk.c
src/x-tcl.c
src/x-vala.c
src/x-ycp.c
-src/xgettext.c
src/user-email.sh.in
libgettextpo/gettext-po.c
+libgettextpo/markup.c
diff --git a/gettext-tools/po/Rules-quot b/gettext-tools/po/Rules-quot
index 9dc9630..baf6528 100644
--- a/gettext-tools/po/Rules-quot
+++ b/gettext-tools/po/Rules-quot
@@ -15,7 +15,7 @@ en@boldquot.po-update: en@boldquot.po-update-en
.insert-header.po-update-en:
@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
tmpdir=`pwd`; \
echo "$$lang:"; \
ll=`echo $$lang | sed -e 's/@.*//'`; \
diff --git a/gettext-tools/po/be.gmo b/gettext-tools/po/be.gmo
index 42d9daa..2cacf19 100644
--- a/gettext-tools/po/be.gmo
+++ b/gettext-tools/po/be.gmo
Binary files differ
diff --git a/gettext-tools/po/be.po b/gettext-tools/po/be.po
index 2d6eba9..6504517 100644
--- a/gettext-tools/po/be.po
+++ b/gettext-tools/po/be.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext 0.11.5\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2002-09-04 18:51+0300\n"
"Last-Translator: Ales Nyakhaychyk <i18n@infonet.by>\n"
"Language-Team: Belarusian <i18n@tut.by>\n"
@@ -59,40 +59,40 @@ msgstr ""
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\""
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "немагчыма адчыніць дубліруючы файл \"%s\" Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ \"%s\""
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "памылка запіÑу файла \"%s\""
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "памылка паÑÐ»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() памылка"
@@ -119,58 +119,63 @@ msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ ÑÑ–ÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
msgid "%s subprocess failed"
msgstr "%s падпрацÑÑ Ñпынены з-за памылкі"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: выбар `%s' неадназначны\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: выбар `-W %s' неадназначны\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: выбар `--%s' не патрабуе аргумÑнтаў\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: выбар `%c%s' не патрабуе аргумÑнтаў\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: выбар `%s' патрабуе аргумÑнт\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: нераÑпазнаны выбар `--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: нераÑпазнаны выбар `%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: нерÑчаіÑны выбар -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: выбар патрабуе аргумÑнт -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: выбар `-W %s' неадназначны\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: выбар `-W %s' не патрабуе аргумÑнтаў\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: выбар `%s' патрабуе аргумÑнт\n"
@@ -186,15 +191,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "немагчыма Ñтварыць \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "памылка Ñž Ñ‡Ð°Ñ Ð·Ð°Ð¿Ñ–Ñу файла \"%s\""
@@ -210,15 +216,15 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Java-машына Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ð°, паÑпрабуйце ÑžÑталÑваць gij ці $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "падпрацÑÑ %s, памылка ўводу-вываду"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "памÑць вычарпана"
@@ -229,7 +235,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "памылка запіÑу Ñž падпрацÑÑ %s"
@@ -275,11 +281,11 @@ msgstr "падпрацÑÑ %s завершыўÑÑ Ð· кодам выхаду %d
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -315,107 +321,250 @@ msgstr "%s падпрацÑÑ"
msgid "%s subprocess got fatal signal %d"
msgstr "%s падрацÑÑ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ñž фатальны Ñігнал %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\""
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
#, fuzzy, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "'%s' - гÑта нерÑчаіÑны %s фармат радку, у адрозьненьне ад 'msgid'"
+msgid "Try '%s --help' for more information.\n"
+msgstr "ПаÑпрабуйце \"%s --help\" Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆ падрабÑзных зьвеÑтак.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] [ФÐЙЛ]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"ÐргумÑнты, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð´Ð»Ñ Ð´Ð¾ÑžÐ³Ñ… выбараў, абавÑзковы так Ñама\n"
+"Ñ– Ð´Ð»Ñ ÐºÐ°Ñ€Ð¾Ñ‚ÐºÑ–. Тое Ñаме-ж Ñ– Ð´Ð»Ñ Ð²Ñ‹Ð±Ð°Ñ€Ð°Ñ‡Ð½Ñ‹Ñ… аргумÑнтаў.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, fuzzy, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+"Інфармацыйны вывад:\n"
+" -h, --help адлюÑтроўвае дапамогу й выходзіць\n"
+" -V, --version выводзіць зьвеÑткі аб верÑÑ–Ñ– й выходзіць\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "ПаведамлÑйце аб памылках на Ð°Ð´Ñ€Ð°Ñ <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Ðўтар %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr ""
+"немагчыма Ñтварыць чаÑовую дырÑкторыю,\n"
+"выкарыÑтоўвываючы ўзор \"%s\""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\""
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта %u, Ñк у '%s', Ð½Ñ Ð¹Ñнуе Ñž 'msgid'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта %u Ð½Ñ Ð¹Ñнуе Ñž '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "ÑпÑцыфікатары фармату Ñž 'msgid' Ñ– '%s' Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта %u неаднолькавыÑ"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, fuzzy, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "'%s' - гÑта нерÑчаіÑны %s фармат радку, у адрозьненьне ад 'msgid'"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "колькаÑьць ÑпÑцыфікацый фармату Ñž 'msgid' Ñ– '%s' не Ñупадае"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -523,62 +672,81 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта {%u}, Ñк у '%s', не йÑнуе Ñž 'msgid'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта {%u} не йÑнуе Ñž '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
"ÑпÑцыфікацыі фармату Ñž 'msgid' Ñ– '%s' Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта {%u} не аднолькавыÑ"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта %u, Ñк у '%s', Ð½Ñ Ð¹Ñнуе Ñž 'msgid'"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -586,7 +754,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -598,243 +766,211 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "ÑпÑцыфікацыі фармата Ñž 'msgid' Ñ– '%s' нераўназначныÑ"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"ÑпÑцыфікацыі фармата Ñž '%s' не з'ÑўлÑюцца падмноÑтвам ÑпÑцыфікацый у 'msgid'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "ÑпцÑÑ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта \"%s\" Ð½Ñ Ð¹Ñнуе Ñž \"%s\""
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "ÑпцÑÑ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта \"%s\" Ð½Ñ Ð¹Ñнуе Ñž \"%s\""
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
"ÑпÑцыфікацыі фармата Ñž '%s' не з'ÑўлÑюцца падмноÑтвам ÑпÑцыфікацый у 'msgid'"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
"ÑпÑцыфікацыі фармата Ñž '%s' не з'ÑўлÑюцца падмноÑтвам ÑпÑцыфікацый у 'msgid'"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"ÑпÑцыфікацыі фармату Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнту '%s', Ñк у '%s', не Ñ–Ñнуюць у'msgid'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "ÑпÑцыфікацыі фармату Ñž 'msgid' Ñ– '%s' Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼Ñнта '%s' неаднолькавыÑ"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Ðўтар %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "вельмі шмат аргумÑнтаў"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "ПаÑпрабуйце \"%s --help\" Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆ падрабÑзных зьвеÑтак.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Друкуе назву вузла.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, fuzzy, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -847,80 +983,103 @@ msgstr ""
" назву маёнтка й прозьвішчы\n"
" -i, --ip-address Ð°Ð´Ñ€Ð°Ñ Ð´Ð»Ñ Ð²ÑƒÐ·Ð»Ð°\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "немагчыма атрымаць назву вузла"
+
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "неабходна задаць не менш двух файлаў"
+
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "не магчыма Ñтварыць канвеÑÑ€"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, fuzzy, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
msgstr ""
-"Інфармацыйны вывад:\n"
-" -h, --help адлюÑтроўвае дапамогу й выходзіць\n"
-" -V, --version выводзіць зьвеÑткі аб верÑÑ–Ñ– й выходзіць\n"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "ПаведамлÑйце аб памылках на Ð°Ð´Ñ€Ð°Ñ <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "нерÑчаіÑны аргумÑнт `%s' Ð´Ð»Ñ `%s'"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:1333
#, c-format
-msgid "could not get host name"
-msgstr "немагчыма атрымаць назву вузла"
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "не магчыма Ñтварыць канвеÑÑ€"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "немагчыма Ñтварыць файл вываду \"%s\""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "па большай чаÑтцы адзін уваходзÑчы файл зацьверджан"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s і %s узаема выключны"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] [УВÐХОДЗЯЧЫ_ФÐЙЛ]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -929,40 +1088,40 @@ msgstr ""
"Фільтруе паведамленьні каталёга перакладаў ÑуадноÑна Ñ–Ñ… атрыбутам, а так Ñама,\n"
"узьдзейнічае на іх\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"ÐргумÑнты, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð´Ð»Ñ Ð´Ð¾ÑžÐ³Ñ–Ñ… выбараў, абавÑзковы й Ð´Ð»Ñ ÐºÐ°Ñ€Ð¾Ñ‚ÐºÑ–Ñ….\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "невызначан уваходзÑчы файл"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, fuzzy, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
@@ -970,24 +1129,25 @@ msgstr ""
" ФÐЙЛ ... .mo файлы\n"
"Калі ўваходзÑчы файл не зададзен, ці замеÑÑ‚ Ñго -, чытае Ñтандартны ўвод.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, fuzzy, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -998,145 +1158,145 @@ msgstr ""
"Вынікі запіÑваюцца Ñž Ñтандартны вывад, калі Ð¹Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð²Ñ‹Ð²Ð°Ð´Ñƒ не\n"
"зададзена, ці замеÑÑ‚ Ñго -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1145,118 +1305,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "зададзен немагчымы крытÑрый выбару (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] [УВÐХОДЗЯЧЫ_ФÐЙЛ]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1280,97 +1440,97 @@ msgstr ""
"будуць узÑÑ‚Ñ‹ з першага PO-файла.\n"
"Пазіцыі з уÑÑ–Ñ… PO-файлаў будуць аб'Ñднаны Ñž кучу\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "не зададзены ўводзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "патрабуецца менавіта 2 уводзÑчых файла"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1388,22 +1548,22 @@ msgstr ""
"Ñупадзеньне Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ знойдзена, выкарыÑтоўвываецца недакладае - длÑ\n"
"лепшай праверкі.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, fuzzy, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1413,52 +1573,52 @@ msgstr ""
" -m, --multi-domain прымÑніць ref.pot Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° маёнтка з def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "увага: гÑта паведамленьне не выкарыÑтоўваецца"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "гÑта паведамленьне выкарыÑтоўваецца, але не вызначана..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...але гÑта вызначÑньне падобна"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "гÑта паведамленьне выкарыÑтоўваецца, але не вызначана Ñž %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "увага: гÑта паведамленьне не выкарыÑтоўваецца"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1466,12 +1626,12 @@ msgstr[0] "знойдзена %d Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
msgstr[1] "знойдзена %d Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÑ–"
msgstr[2] "знойдзена %d фатальных памылак"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "неабходна задаць не менш двух файлаў"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1492,30 +1652,30 @@ msgstr ""
"камÑнтары будуць захаваны, але толькі зь першага PO файла, у Ñкім Ñны былі\n"
"вызначаны. Каментары Ñтановішчаў у файлах з уÑÑ–Ñ… PO файлаў будуць аб'Ñднаны.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Пераўтварае каталёг з перакладамі Ñž Ñ€Ð¾Ð·Ð½Ñ‹Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ ÐºÐ°Ð´Ð·Ñ–Ñ€Ð¾ÑžÐºÑ–.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, fuzzy, c-format
msgid "Conversion target:\n"
msgstr "памылка пераўтварÑньнÑ"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, fuzzy, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
@@ -1523,46 +1683,46 @@ msgstr ""
" -t, --to-code=ÐÐЗВРперакаўтварае кадзіроўку Ð´Ð»Ñ Ð²Ñ‹Ð²Ð°Ð´Ñƒ\n"
"Звычайна выкарыÑтоўвываецца бÑÐ³ÑƒÑ‡Ð°Ñ ÐºÐ°Ð´Ð·Ñ–Ñ€Ð¾ÑžÐºÐ° лакалі\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "невызначан уваходзÑчы файл"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "патрабуецца менавіта адзін уваходзÑчы файл"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] УВÐХОДЗЯЧЫ_ФÐЙЛ\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, fuzzy, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1575,22 +1735,22 @@ msgstr ""
"ÐÐµÐ¿ÐµÑ€Ð°ÐºÐ»Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ ÑƒÐ²Ð°Ñ…Ð¾Ð´Ð¶Ð°Ð½ÑŒÐ½Ñ– прымаюцца Ñк пераклады, Ð°Ð´Ð½Ð¾Ð»ÑŒÐºÐ°Ð²Ñ‹Ñ msgid, Ñ–\n"
"пазначаюцца Ñк Ð½ÐµÐ´Ð°ÐºÐ»Ð°Ð´Ð½Ñ‹Ñ (fuzzy).\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "прапушчана назва каманды"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] ЗÐГÐД [ВЫБÐР_ЗÐГÐДÐ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1604,7 +1764,7 @@ msgstr ""
"адзін раз Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° пераклада. Яго вывад Ñтановіцца вывадам msgexec.\n"
"Праграма msgexec вÑртае код - гÑта найбольшы код вÑÑ€Ñ‚Ð°Ð½ÑŒÐ½Ñ Ð¿Ð°Ð¼Ñ–Ð¶ уÑÑ–Ñ… выклікаў.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1613,37 +1773,47 @@ msgstr ""
"ÐÑабіÑÑ‚Ñ‹ ўбудаваны загад, завецца '0', выводзіць пераклад й нулÑвы байт за ім.\n"
"Вывад каманды \"msgexec 0\" падыходзіць Ð´Ð»Ñ ÑžÐ²Ð°Ñ…Ð¾Ð´Ñƒ каманды \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "Ñтандартны ўвод"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "памылка запіÑу Ñž stdout"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "прапушчана назва фільтра"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "па меншай меры адзін sed-Ñкрыпт павінен быць зададзены"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] ФІЛЬТР [ВЫБÐРЫ_ФІЛЬТРÐ]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Прымае фільтар да ÑžÑÑ–Ñ… перакладаў зь каталёгу перакладаў.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1653,18 +1823,30 @@ msgstr ""
"ўводу\n"
"й запіÑвае Ð·ÑŒÐ¼ÐµÐ½ÐµÐ½Ñ‹Ñ Ð¿ÐµÑ€Ð°ÐºÐ»Ð°Ð´Ñ‹ Ñž Ñтандартны вывад.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1672,94 +1854,104 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "файл \"%s\" змÑшчае радок не завершаны нулём"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "аргумÑнт %s павінен быць адзіночным знакам прыпынку"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s патрабуе \"-d дырÑкторыÑ\" ÑпÑцыфікацыі"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s патрабуе \"-l locale\" ÑпÑцыфікацыі"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s патрабуе \"-l locale\" ÑпÑцыфікацыі"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s патрабуе \"-l locale\" ÑпÑцыфікацыі"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s і %s узаема выключны"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s Ñ€ÑчаіÑны толькі з %s ці %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, fuzzy, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s Ñ€ÑчаіÑны толькі з %s ці %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "немагчыма Ñтварыць файл вываду \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1767,7 +1959,7 @@ msgstr[0] "%d паведамленьне перакладзена"
msgstr[1] "%d паведамленьні перакладзена"
msgstr[2] "%d паведамленьнÑÑž перакладзена"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1781,7 +1973,7 @@ msgstr[2] ""
",\n"
"%d недакладных перакладаў"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1795,120 +1987,119 @@ msgstr[2] ""
",\n"
"%d неперакладзеных паведамленьнÑÑž"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] файл.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Стварае дваічны каталёг паведамленьнÑÑž зь Ñ–Ñ… Ñ‚ÑкÑтавага апіÑаньнÑ.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"ÐргумÑнты, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð´Ð»Ñ Ð´Ð¾ÑžÐ³Ñ… выбараў, абавÑзковы так Ñама\n"
-"Ñ– Ð´Ð»Ñ ÐºÐ°Ñ€Ð¾Ñ‚ÐºÑ–. Тое Ñаме-ж Ñ– Ð´Ð»Ñ Ð²Ñ‹Ð±Ð°Ñ€Ð°Ñ‡Ð½Ñ‹Ñ… аргумÑнтаў.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+"РÑжым дзеÑньнÑ:\n"
+" -j, --java Java Ñ€Ñжым: увод гÑта ResourceBundle клÑÑ\n"
+" --tcl Tcl Ñ€Ñжым: увод гÑта tcl/msgcat .msg файл\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, fuzzy, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1926,65 +2117,65 @@ msgstr ""
"абмежаваным падкрÑÑьліваньнем. Выбар -d абавÑзковы. КлÑÑ Ð·Ð°Ð¿Ñ–Ñваецца Ñž\n"
"зададзеную дырÑкторыю.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr ""
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1992,12 +2183,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2005,33 +2211,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2039,12 +2245,12 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, fuzzy, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2054,7 +2260,7 @@ msgstr ""
"%d)\n"
" --no-hash дваічны файл не зьмÑшчае Ñ…Ñш табліцы\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2063,7 +2269,7 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, fuzzy, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2073,91 +2279,90 @@ msgstr ""
"%d)\n"
" --no-hash дваічны файл не зьмÑшчае Ñ…Ñш табліцы\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "увага: загаловак PO-файла прапушчан ці нерÑчаіÑны\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "увага: пераўтварÑньне кадзіровак не будзе працаваць\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "увага: загаловак PO-файла мае недакладны пераклад\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "Ð´Ð°Ð¼ÐµÐ½Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° \"%s\" не падыходзіць у ÑкаÑці назвы файла"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"Ð´Ð°Ð¼ÐµÐ½Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° \"%s\" не падыходзіць у ÑкаÑці назвы файла;\n"
"будзе выкарыÑтаны прÑфікÑ"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "дырÑктыва `domain %s' ігнаруецца"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "парожнÑе уваходжаньне `msgstr' прапушчана"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "недакладнае уваходжаньне `msgstr' прапушчана"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: увага: ізыходны файл змÑшчае недакладны пераклад"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, fuzzy, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2165,14 +2370,14 @@ msgid ""
msgstr ""
"выбар '%c' не можа быць выкарыÑтаны раней чым 'K' ці 'T' будуць зададзены"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2212,18 +2417,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2317,14 +2522,14 @@ msgstr ""
"ÐÑ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½ .pot файл у бÑгучай дырÑкторыі.\n"
"Калі лаÑка задайце .pot файл уводу з дапамогай выбара --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2336,22 +2541,22 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "БеларуÑкі пераклад Ð´Ð»Ñ %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "уваходзÑчы файл зьмÑшчае два розных набора Ñімвалаў \"%s\" Ñ– \"%s\""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2359,7 +2564,7 @@ msgstr ""
"уваходзÑчы файл `%s' не зьмÑшчае загаловачны запіÑ\n"
"Ñа Ñьпецыфікацыей кодавай Ñтаронкі"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2368,26 +2573,26 @@ msgstr ""
"уваходзÑчы файл `%s' не зьмÑшчае загаловачны запіÑ\n"
"Ñа Ñьпецыфікацыей кодавай Ñтаронкі"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "увага: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2396,7 +2601,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2405,7 +2610,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2414,12 +2619,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2427,7 +2632,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2436,7 +2641,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2444,25 +2649,25 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "выраз множнага ліку можа ўтвараць адмоўнае значÑньне"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu але выраз множнага ліку можа ўтвараць значÑньні Ñ‚Ð°ÐºÑ–Ñ Ñк %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "выраз множнага ліку можа ўтвараць дзÑленьне на нуль"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "выраз множнага ліку можа ўтвараць цÑлалікавае перапаўненьне"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2470,40 +2675,40 @@ msgstr ""
"выраз множнага ліку можа ўтвараць арыфмÑÑ‚Ñ‹Ñ‡Ð½Ñ‹Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡Ñньні, магчыма\n"
"дзÑленьне на нуль"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, fuzzy, c-format
msgid "Try using the following, valid for %s:"
msgstr "ПаÑпрабуйце выкарыÑтоўваць наÑтупнае, Ñ€ÑчаіÑнае Ð´Ð»Ñ %s\n"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
#, fuzzy
msgid "message catalog has plural form translations"
msgstr "каталёг Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ Ð¼Ð°Ðµ пераклады форм множнага ліку..."
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
#, fuzzy
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "...але Ñž загалоўку нехапае атрыбута \"plural=ВЫРÐЗ\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
#, fuzzy
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "...але ў загалоўку нехапае атрыбута \"plural=ЦЭЛЫ_ЛІК\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "нерÑчаіÑнае значÑньне nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "нерÑчаіÑны выраз формы мнножнага ліку (plural)"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, fuzzy, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu..."
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, fuzzy, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2512,7 +2717,7 @@ msgstr[1] "...але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– маюць Ñ‚
msgstr[2] ""
"...але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– маюць толькі %lu формаў множнага ліку"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, fuzzy, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2520,113 +2725,129 @@ msgstr[0] "...але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– маюць %l
msgstr[1] "...але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– маюць %lu формы множнага ліку"
msgstr[2] "...але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– маюць %lu формаў множнага ліку"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "`msgid' і `msgid_plural' не пачынаюцца разам з '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "`msgid' і `msgstr[%u]' не пачынаюцца разам з \"\\n\""
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "`msgid' і `msgstr' не пачынаюцца разам з '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "`msgid' і `msgid_plural' не заканчваюцца разам на '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "`msgid' і `msgstr[%u]' не заканчваюцца разам на '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "`msgid' і `msgstr' не заканчваюцца разам на '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "апрацоўка множнага ліку - гÑта пашырÑньне GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ð°Ð»Ñ– загалока ÑžÑÑ‘ ÑÑˆÑ‡Ñ Ð¼Ð°ÑŽÑ†ÑŒ пачатковае значÑньне\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "поле загалоку `%s' прапушчана ў загалоўку\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "уваходзÑчы файл не змÑшчае загаловачнага запіÑу аб наборы Ñімвалаў"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s Ñ€ÑчаіÑны толькі з %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2640,51 +2861,51 @@ msgid ""
"cannot be found, fuzzy matching is used to produce better results.\n"
msgstr ""
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2696,7 +2917,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2704,28 +2925,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "гÑтае паведамленьне павінна вызначаць хормы множнага ліка"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "гÑтае паведамленьне не павінна вызначаць хормы множнага ліка"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2734,28 +2955,28 @@ msgstr ""
"%sПрачытана %ld Ñтарых + %ld новых, аб'Ñднаных %ld, недакладных %ld;\n"
"прапушчана %ld, ÑаÑтарÑлых %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " зроблена.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s Ñ– ÑÑžÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° файла ўзаема выключальны"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] [ФÐЙЛ]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Пераўтварае дваічны каталёг паведамленьнÑÑž у Uniforum .po файл.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, fuzzy, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2765,19 +2986,19 @@ msgstr ""
" -j, --java Java Ñ€Ñжым: увод гÑта ResourceBundle клÑÑ\n"
" --tcl Tcl Ñ€Ñжым: увод гÑта tcl/msgcat .msg файл\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, fuzzy, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -2786,17 +3007,17 @@ msgstr ""
" -j, --java Java Ñ€Ñжым: увод гÑта ResourceBundle клÑÑ\n"
" --tcl Tcl Ñ€Ñжым: увод гÑта tcl/msgcat .msg файл\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2804,41 +3025,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr ""
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2851,12 +3072,12 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, fuzzy, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -2866,7 +3087,7 @@ msgstr ""
" -d, --repeated друкаваць толькі паўтараючыеÑÑ\n"
" -u, --unique друкаваць толькі непаўторныÑ\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -2923,32 +3144,32 @@ msgstr ""
"ПераўтварÑньне паведамленьнÑÑž у набор Ñімвалаў карыÑтальніка працаваць не "
"будзе.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "неÑумÑшчальнае ўжываньне #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "прапушчана ÑÐµÐºÑ†Ñ‹Ñ \"msgstr[]\""
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "прапушчана ÑÐµÐºÑ†Ñ‹Ñ \"msgid_plural\""
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "прапушчана ÑÐµÐºÑ†Ñ‹Ñ \"msgstr\""
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "Ð¿ÐµÑ€ÑˆÐ°Ñ Ñ„Ð¾Ñ€Ð¼Ð° ліку мае ненулÑвы індÑкÑ"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "формы множнага ліку маюць дрÑнныі індÑкÑ"
@@ -2958,7 +3179,7 @@ msgstr "формы множнага ліку маюць дрÑнныі індÑÐ
msgid "too many errors, aborting"
msgstr "вельмі шмат памылак..."
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "нерÑчаіÑÐ½Ð°Ñ ÑˆÐ¼Ð°Ñ‚ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°ÑлÑдоўнаÑць"
@@ -3002,68 +3223,86 @@ msgstr "Ñімвал канца радка знаходзіцца ўнутры Ñ
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "гÑÑ‚Ñ‹ файл можа не змÑшчаць дырÑктыў дамену"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "двайное вызначÑньне паведамленьнÑ"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "...гÑта меÑцазнаходжаньне першага вызначÑньнÑ"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "прапушчана назва фільтра"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "нерÑчаіÑнае значÑньне nplurals"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "файл \"%s\" абрÑзан"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "файл \"%s\" змÑшчае радок не завершаны нулём"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "фармат файла \"%s\" не GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "файл \"%s\" зьмÑшчае радок не завершаны нулём, Ð»Ñ %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr ""
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: увага: незавершаны радок"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
#, fuzzy
msgid "warning: syntax error"
msgstr "увага: "
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%d: увага: незавершаны радок"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "Ðўтар %s.\n"
@@ -3072,117 +3311,117 @@ msgstr "Ðўтар %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "памылка Ñž Ñ‡Ð°Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "чакаліÑÑŒ два аргумÑнты"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] URL ФÐЙЛ\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "памылка запіÑу Ñž stdout"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "памылка паÑÐ»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
#, fuzzy
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr "каталёг Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ Ð¼Ð°Ðµ пераклады форм множнага ліку..."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "немагчыма Ñтварыць файл вываду \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "Ñтандартны вывад"
@@ -3203,43 +3442,44 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr "памылка ўзаемадзеÑÐ½ÑŒÐ½Ñ Ð· падпрацÑÑам %s"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "памылка Ñž Ñ‡Ð°Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ \"%s\" Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "нерÑчаіÑÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° Java-клаÑа: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"памылка кампілÑцыі Java клÑÑа, калі лаÑка паÑпрабуйце --verbose,\n"
"ці ÑžÑталÑваць пераменную аÑÑÑ€Ð¾Ð´Ð´Ð·Ñ $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, fuzzy, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"памылка кампілÑцыі Java клÑÑа, калі лаÑка паÑпрабуйце --verbose,\n"
"ці ÑžÑталÑваць пераменную аÑÑÑ€Ð¾Ð´Ð´Ð·Ñ $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "памылка Ñž Ñ‡Ð°Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ \"%s\" Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "нерÑчаіÑÐ½Ð°Ñ ÑˆÐ¼Ð°Ñ‚ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°ÑлÑдоўнаÑць"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"Ð¿ÐµÑ€Ð°ÐºÐ»Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– не павінны зьмÑшчаць \"\\%c\" ESC-паÑьлÑдоўнаÑьці"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, fuzzy, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3253,7 +3493,7 @@ msgstr ""
"выкарыÑÑ‚Ð°Ð½ÑŒÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– ASCII ÑымбалÑÑž у msgid\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3267,13 +3507,13 @@ msgstr ""
"выкарыÑÑ‚Ð°Ð½ÑŒÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– ASCII ÑымбалÑÑž у msgid\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3281,376 +3521,201 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "памылка Ñž Ñ‡Ð°Ñ Ð·Ð°Ð¿Ñ–Ñу файла \"%s\""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: увага: незавершаны радок"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: увага: незавершаны радок"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr ""
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: увага: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: увага: незавершаны радок"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, fuzzy, c-format
msgid "%s:%d: iconv failure"
msgstr "памылка iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, fuzzy, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: увага: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: увага: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, fuzzy, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Кадзіроўка \"%s\" не падтрымліваецца. %s ÑпадзÑецца на iconv().\n"
-"ГÑта вÑÑ€ÑÑ–Ñ Ð¿Ð°Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð° без iconv().\n"
-
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: увага: незавершаны радок"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: увага: незавершаны радок"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "увага: гÑта паведамленьне не выкарыÑтоўваецца"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: увага: незавершаны радок"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-perl.c:1217
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: нерÑчаіÑнае вызначÑньне радка"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð¼Ð¾Ð²Ð° `%s'"
-#: src/x-python.c:354
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:364
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--joun-existing не можа быць выкараÑтаны пры запіÑÑ‹ Ñž stdout"
-#: src/x-python.c:397
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext не можа працаваць без ключавых Ñлоў Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ"
-#: src/x-python.c:722
+#: src/xgettext.c:868
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: нерÑчаіÑнае вызначÑньне радка"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: прапушчан нумар паÑÑŒÐ»Ñ #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: нерÑчаіÑны выраз-радок"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: увага: незавершаны радок"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--joun-existing не можа быць выкараÑтаны пры запіÑÑ‹ Ñž stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext не можа працаваць без ключавых Ñлоў Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "увага: файл \"%s\" ÑÑƒÑ„Ñ–ÐºÑ \"%s\" невÑдомы; паÑпрабуйце C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Ðтрымлівае Ð¿ÐµÑ€Ð°ÐºÐ»Ð°Ð´Ð°ÐµÐ¼Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– з дадзеных уваходзÑчых файлаў.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "невызначан уваходзÑчы файл"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3663,41 +3728,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3707,17 +3772,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3727,7 +3808,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3737,7 +3818,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3745,7 +3826,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3755,75 +3836,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3831,7 +3922,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3839,52 +3930,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "Ñтандартны ўвод"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, fuzzy, c-format
msgid "%s%s: warning: "
msgstr "%s: увага: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3893,7 +3984,7 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -3903,27 +3994,27 @@ msgstr ""
"gettext(\"\") вÑртае загаловак зь\n"
"метададзенымі, а Ð½Ñ Ð¿ÑƒÑÑ‚Ñ‹ радок.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, fuzzy, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "неадназначны аргумÑнт `%s' Ð´Ð»Ñ `%s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3931,15 +4022,319 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð¼Ð¾Ð²Ð° `%s'"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: увага: незавершаны радок"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: увага: незавершаны радок"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "увага: гÑта паведамленьне не выкарыÑтоўваецца"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: увага: незавершаны радок"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: нерÑчаіÑнае вызначÑньне радка"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: нерÑчаіÑнае вызначÑньне радка"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: прапушчан нумар паÑÑŒÐ»Ñ #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: нерÑчаіÑны выраз-радок"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: увага: незавершаны радок"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "нерÑчаіÑÐ½Ð°Ñ ÐºÐ°Ð½Ñ‚Ñ€Ð°Ð»ÑŽÑŽÑ‡Ð°Ñ Ð¿Ð°ÑлÑдоўнаÑць"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "нерÑчаіÑÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° Java-клаÑа: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "нерÑчаіÑÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° Java-клаÑа: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "нерÑчаіÑÐ½Ð°Ñ ÐºÐ°Ð½Ñ‚Ñ€Ð°Ð»ÑŽÑŽÑ‡Ð°Ñ Ð¿Ð°ÑлÑдоўнаÑць"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "нерÑчаіÑÐ½Ð°Ñ ÑˆÐ¼Ð°Ñ‚ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°ÑлÑдоўнаÑць"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "нерÑчаіÑны аргумÑнт `%s' Ð´Ð»Ñ `%s'"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "прапушчана назва фільтра"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#, fuzzy
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Кадзіроўка \"%s\" не падтрымліваецца. %s ÑпадзÑецца на iconv().\n"
+#~ "ГÑта вÑÑ€ÑÑ–Ñ Ð¿Ð°Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð° без iconv().\n"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: неÑапраўдны выбар -- %c\n"
diff --git a/gettext-tools/po/bg.gmo b/gettext-tools/po/bg.gmo
index 1c1ec50..4109fa7 100644
--- a/gettext-tools/po/bg.gmo
+++ b/gettext-tools/po/bg.gmo
Binary files differ
diff --git a/gettext-tools/po/bg.po b/gettext-tools/po/bg.po
index d96529a..84c8d8f 100644
--- a/gettext-tools/po/bg.po
+++ b/gettext-tools/po/bg.po
@@ -1,14 +1,14 @@
# Bulgarian translations for gettext-tools package.
# Copyright (C) 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010,2012,2014.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2012,2014,2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.4-rc1\n"
+"Project-Id-Version: gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-12-16 22:12+0200\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 14:39+0200\n"
"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
@@ -56,40 +56,40 @@ msgstr "не можа да Ñе изтрие временна директори
msgid "write error"
msgstr "грешка при запиÑ"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "запазване на правата върху %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "грешка при отварÑне за четене на %s"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "не можа да Ñе отвори за Ð·Ð°Ð¿Ð¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾ копие %s"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "грешка при четене от %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "грешка при запиÑване в %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "грешка Ñлед прочитане на %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() пропадна"
@@ -97,12 +97,12 @@ msgstr "fdopen() пропадна"
#: gnulib-lib/csharpcomp.c:571
#, c-format
msgid "C# compiler not found, try installing pnet"
-msgstr "не е намерен компилатор за C#, да Ñе опита при инÑталиран pnet"
+msgstr "не е намерен компилатор за C#, да Ñе опита при разположен pnet"
#: gnulib-lib/csharpexec.c:343
#, c-format
msgid "C# virtual machine not found, try installing pnet"
-msgstr "не е намерена виртуална машина за C#, да Ñе опита при инÑталиран pnet"
+msgstr "не е намерена виртуална машина за C#, да Ñе опита при разположен pnet"
#: gnulib-lib/error.c:191
msgid "Unknown system error"
@@ -115,58 +115,63 @@ msgstr "ÐеизвеÑтна ÑиÑтемна грешка"
msgid "%s subprocess failed"
msgstr "пропадна Ð¿Ð¾Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: двуÑмиÑлена Ð¾Ð¿Ñ†Ð¸Ñ '%s', възможноÑти:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: двуÑмиÑлена Ð¾Ð¿Ñ†Ð¸Ñ '%s'\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: опциÑта '--%s' е без аргументи\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: опциÑта '%c%s' е без аргументи\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: опциÑта '--%s' изиÑква аргумент\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: неразпозната Ð¾Ð¿Ñ†Ð¸Ñ '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: неразпозната Ð¾Ð¿Ñ†Ð¸Ñ '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: опциÑта изиÑква аргумент -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: двуÑмиÑлена Ð¾Ð¿Ñ†Ð¸Ñ '-W %s'\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: опциÑта '-W %s' е без аргументи\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: опциÑта '-W %s' изиÑква аргумент\n"
@@ -182,15 +187,16 @@ msgstr "неправилен аргумент за \"верÑÐ¸Ñ Ð½Ð° изтоÑ
msgid "invalid target_version argument to compile_java_class"
msgstr "неправилен аргумент за \"верÑÐ¸Ñ Ð½Ð° резултат\" за compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "пропадна Ñъздаването на \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "грешка при запиÑване на файл \"%s\""
@@ -199,25 +205,25 @@ msgstr "грешка при запиÑване на файл \"%s\""
#, c-format
msgid "Java compiler not found, try installing gcj or set $JAVAC"
msgstr ""
-"не е намерен компилатор за Java, да Ñе опита Ñ Ð¸Ð½Ñталиран gcj или ÑÑŠÑ "
+"не е намерен компилатор за Java, да Ñе опита Ñ Ñ€Ð°Ð·Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½ gcj или ÑÑŠÑ "
"задаване на $JAVAC"
#: gnulib-lib/javaexec.c:417
#, c-format
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-"не е намерена виртуална машина за Java, да Ñе опита Ñ Ð¸Ð½Ñталиран gcj или ÑÑŠÑ "
+"не е намерена виртуална машина за Java, да Ñе опита Ñ Ñ€Ð°Ð·Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½ gcj или ÑÑŠÑ "
"задаване на $JAVAC"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s Ð’/И грешка при подпроцеÑ"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "паметта е изчерпана"
@@ -228,7 +234,7 @@ msgid "creation of threads failed"
msgstr "пропадна Ñъздаването на ÐºÐ»Ð°Ñ Ð½Ð¸ÑˆÐºÐ¸(threads)"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "пропадна запиÑването към Ð¿Ð¾Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s "
@@ -274,11 +280,11 @@ msgstr "подпроцеÑÑŠÑ‚ %s приключи Ñ ÐºÐ¾Ð´ за изход %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "„"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "“"
@@ -314,51 +320,202 @@ msgstr "Ð¿Ð¾Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s"
msgid "%s subprocess got fatal signal %d"
msgstr "Ð¿Ð¾Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s получи пагубен Ñигнал %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "грешка при отварÑне за четене на \"%s\""
+msgid "The root element must be <%s>"
+msgstr "Ð“Ð»Ð°Ð²Ð½Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñ‚Ñ€Ñбва да е <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "'%s' е неправилен %s форматиращ низ, за разлика от '%s'. Причина: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "ГлавниÑÑ‚ елемент <%s> не Ñъдържа <%s> елемент"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "За елемента <%s> липÑва признак <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "За повече ÑведениÑ, опитайте '%s --help'.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Употреба: %s [ОПЦИЯ] [ЕЗИК ПРÐВИЛÐ]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"Извличане или пробразуване на Unicode CLDR правила за мн.ч..\n"
+"\n"
+"Ðко ЕЗИК и ПРÐВИЛРÑа зададени, то от ПРÐВИЛРÑе четат CLDR правила за\n"
+"мн.ч. за ЕЗИК и Ñе извеждат по начин подходÑщ за употреба от gettext.\n"
+"Ðко не е заден аргумент, то CLDR правилата за мн.ч. Ñе четат от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Задължителни аргументи за \"дълги\" опции Ñа Ñъщо задължителни за \"къÑи\" опции.\n"
+"Също така за незадължителните аргументи.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr извеждане на правилата за множеÑтвено чиÑло в "
+"CLDR формат\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help извеждане на тази помощ и изход\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version извеждане на Ñведение за верÑÐ¸Ñ Ð¸ изход\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Подавайте доклади за грешки на <bug-gnu-gettext@gnu.org>,\n"
+"а за грешки в превода на <dict@fsa-bg.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: Публичен лиценз ГÐУ верÑÐ¸Ñ 3 или Ñледваща <http://gnu.org/licenses/gpl.html>\n"
+"Това е Ñвободен програмен продукт: Ñвободни Ñте да го променÑте и разпроÑтранÑвате.\n"
+"Ðе Ñе дават ÐИКÐКВИ ГÐРÐÐЦИИ до Ñтепента позволена от закона.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Създадена от %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Дайки Уено"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s не може да Ñе прочете"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "не може да Ñе извлекат правилата за %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "грешка при разбор на CLDR правило"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "допълнителен аргумент %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "грешка при отварÑне за четене на \"%s\""
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "указаниÑÑ‚ формат за аргумент %u, както е в '%s', не ÑъщеÑтвува за '%s'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "указаниÑÑ‚ формат за аргумент %u не ÑъщеÑтвува за '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "не Ñа еднакви указаните формати при '%s' и при '%s' за аргумент %u"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Директива номер %u започва Ñ |, но не завършва Ñ |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "'%s' е неправилен %s форматиращ низ, за разлика от '%s'. Причина: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -367,57 +524,57 @@ msgstr ""
"При директива номер %u, чаÑтта Ñлед '<' не е име на форматиращ макроÑ. "
"Правилните имена на макроÑи Ñа изброени в ИСО Си 99 дÑл 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "Ð’ директива номер %u, чаÑтта Ñлед '<' не е завършена Ñ '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr "Ðизът указва към аргумент номер %u, но пренебрегва аргумент номер %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "не Ñъвпада ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ на формати при '%s' и при '%s'"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "При директива номер %u, '{' не е поÑледван от номер на аргумент."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "При директива номер %u, ',' не е поÑледван от чиÑло."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Ðизът завършва по Ñредата на директивата: намерено '{' без Ñъответен '}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "Директива номер %u завършва Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÐµÐ½ знак '%c' вмеÑто '}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Директива номер %u завършва Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÐµÐ½ знак вмеÑто '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "Ðизът започва в Ñредата на директива : намерено '}' без Ñъответен '{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Ðизът Ñъдържа Ñамотен '}' Ñлед директива номер %u."
@@ -533,25 +690,25 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Ðизът указва към аргумент Ñ Ð½Ð¾Ð¼ÐµÑ€ %u по неÑъвмеÑтим начин."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "При директива номер %u, низът \"%s\" не е правилен за дата/чаÑ."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "При директива номер %u, \"%s\" не е поÑледван от запетаÑ."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "При директива номер %u, низът \"%s\" не е правилен за чиÑло."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -560,12 +717,12 @@ msgstr ""
"При директива номер %u, номера на аргумент не е поÑледван от Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ð¸Ð»Ð¸ "
"нÑкой от \"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "При директива номер %u, избора е без чиÑло."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -574,25 +731,46 @@ msgstr ""
"При директива номер %u, избора Ñъдържа чиÑло, което не е поÑледвано от '<', "
"'#' или '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"указаниÑÑ‚ формат за аргумент {%u}, както е при '%s', не ÑъщеÑтвува в '%s'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "указаниÑÑ‚ формат за аргумент {%u} не ÑъщеÑтвува в '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "не Ñа еднакви указаните формати при '%s' и при '%s' за аргумент {%u}"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr "Ðизът указва към аргумент номер %u, но пренебрегва аргументи %u и %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"указаниÑÑ‚ формат за аргументи %u и %u, не ÑъщеÑтвува за '%s' и Ñамо един от "
+"аргументите може да бъде пренебрегнат"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "грешка при разбор: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -602,7 +780,7 @@ msgstr ""
"При директива номер %u, параметър %u е от тип '%s', но Ñе очаква параметър "
"от тип '%s'."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -617,33 +795,33 @@ msgstr[1] ""
"При директива номер %u, Ñа зададени твърде много параметри, а Ñе очаква най-"
"много%u параметри."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "При директива номер %u, '%c' не е поÑледван от цифра."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "При директива номер %u, аргумента %d е отрицателен."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Ðизът завършва в Ñредата на ~/.../ директива."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Ðамерен '~%c' без Ñъответен '~%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "При директива номер %u, Ñа зададени и @, и :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -652,40 +830,67 @@ msgstr ""
"При директива номер %u, '~:[' не е поÑледван от две клаузи , разделен от "
"'~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "При директива номер %u, '~;' е използван на неправилно мÑÑто."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Ðизът указва към нÑкои аргументи по неÑъвмеÑтими начини."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "не Ñа равноÑтойни указаните формати при '%s' и при '%s'"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "указаните формати при '%s' не Ñа подмножеÑтво на тези при '%s'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "указаниÑÑ‚ формат за аргумент '%s' не ÑъщеÑтвува при '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr "При директива номер %u, размерът не е ÑъвмеÑтим Ñ Ð¿Ñ€ÐµÐ²Ñ€ÑŠÑ‰Ð°Ð½ÐµÑ‚Ð¾ '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "указаниÑÑ‚ формат за аргумент '%s' не ÑъщеÑтвува при '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "При директива номер %u, Ñ '%c' не може да Ñе започне име на поле."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "При директива номер %u, Ñ '%c' не може да Ñе започне getattr аргумент."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "При директива номер %u, Ñ '%c' не може да Ñе започне getitem аргумент."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"При директива номер %u, не Ñа разререни повече Ð²Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ указание за "
+"формат."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "При директива номер %u, не е завършено указанието за форматиране."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -693,12 +898,12 @@ msgstr ""
"Ðизът указва към аргументи и чрез име на аргумент, и чрез безименно указване "
"на аргументи."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "Ðизът указва към аргумент Ñ Ð¸Ð¼Ðµ '%s' по неÑъвмеÑтими начини."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -706,7 +911,7 @@ msgstr ""
"указаните формати при '%s' очакват изобразÑване, а тази при '%s' очакват "
"поÑледователноÑÑ‚"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -714,48 +919,20 @@ msgstr ""
"указаните формати при '%s' очакват поÑледователноÑÑ‚, а тази при '%s' очакват "
"изобразÑване"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"указаниÑÑ‚ формат за аргумент '%s', като при '%s', не ÑъщеÑтвува при '%s'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "не Ñа еднакви указаните формати при '%s' и при '%s' за аргумент %s"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "При директива номер %u, Ñ '%c' не може да Ñе започне име на поле."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "При директива номер %u, Ñ '%c' не може да Ñе започне getattr аргумент."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "При директива номер %u, Ñ '%c' не може да Ñе започне getitem аргумент."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"При директива номер %u, не Ñа разререни повече Ð²Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ указание за "
-"формат."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "При директива номер %u, не е завършено указанието за форматиране."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -764,11 +941,11 @@ msgstr ""
"'%s' е обикновен низ за формат, но '%s' не е: той Ñъдържа 'L' флаг или "
"аргумент за чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ñ Ð´Ð²Ð¾Ð¹Ð½Ð° точноÑÑ‚"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "Ðизът указва към променлива от обкръжението, коÑто не е Ñ ASCII име."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -776,7 +953,7 @@ msgstr ""
"Ðизът указва към променлива от обкръжението, чрез Ñложен израз в Ñкоби. Това "
"не Ñе поддържа от ÑÑŠÐ¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° ÑигурноÑÑ‚."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -784,93 +961,58 @@ msgstr ""
"Ðизът указва към променлива от обкръжението, чиÑто ÑтойноÑÑ‚ може да е "
"различна в функции на обвивката."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Ðизът указва към променлива от обкръжението Ñ \"празно\" име"
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "При директива номер %u, знакът '%c' не е цифра между 1 и 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Знакът, който прекратÑва директива номер %u, не е чиÑло между 1 и 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: Публичен лиценз ГÐУ верÑÐ¸Ñ 3 или Ñледваща <http://gnu.org/licenses/gpl.html>\n"
-"Това е Ñвободен програмен продукт: Ñвободни Ñте да го променÑте и разпроÑтранÑвате.\n"
-"Ðе Ñе дават ÐИКÐКВИ ГÐРÐÐЦИИ до Ñтепента позволена от закона.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Създадена от %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Бруно Хаибле"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "твърде много аргументи"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "За повече ÑведениÑ, опитайте '%s --help'.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Употреба: %s [ОПЦИЯ]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Извежда мрежовото име на машината.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Формати за извеждане:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short кратко мрежово име\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -881,79 +1023,103 @@ msgstr ""
"интернет\n"
" облаÑÑ‚(domain) и Ñиноними\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address адреÑи за мрежово име\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "ОÑведомително извеждане:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help извеждане на тази помощ и изход\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "не можа да Ñе определи мрежовото име"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version извеждане на Ñведение за верÑÐ¸Ñ Ð¸ изход\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "не е зададено правило за избор"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr ""
-"Подавайте доклади за грешки на <bug-gnu-gettext@gnu.org>,\n"
-"а за грешки в превода на <dict@fsa-bg.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "не можа да Ñе Ñъздаде обкръжение за XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "не можа да Ñе определи мрежовото име"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "не Ñе изчиÑли XPath израз: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "\"%s\" възел не Ñъдържа \"%s\""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "неправилен признак \"%s\" за \"%s\""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "Ð³Ð»Ð°Ð²Ð½Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ не е \"правило\" в именувано проÑтранÑтво %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "не можа да Ñе прочете %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "не Ñе изчиÑли XPath меÑтоположение: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "\"%s\" възела нÑма \"%s\""
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "не можа да Ñе прочете XML-файл %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "Ð³Ð»Ð°Ð²Ð½Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ не е правило за меÑтоположение"
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "позволÑва Ñе най-много един входÑщ файл"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s и %s Ñа взаимоизключващи Ñе"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Употреба: %s [ОПЦИЯ] [ВХФÐЙЛ]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -962,10 +1128,10 @@ msgstr ""
"Прецежда ÑъобщениÑта от каталога Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´Ð¸ Ñпоред техните атрибути и \n"
"обработва атрибутите.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -973,23 +1139,23 @@ msgstr ""
"Задължителни аргументи за \"дълги\" опции Ñа Ñъщо задължителни за \"къÑи\" "
"опции.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "МеÑтоположение на входÑщ файл:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " ВХФÐЙЛ входÑщ PO файл\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -997,33 +1163,34 @@ msgstr ""
" -D, --directory=ДИР Ð´Ð¾Ð±Ð°Ð²Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð”Ð˜Ð  към ÑпиÑъка за Ñ‚ÑŠÑ€Ñене "
"на входÑщи файлове\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Ðко не е зададено име на входÑщ файл или то е -, ще Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ "
"вход.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "МеÑтоположение на резултатата:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=ФÐЙЛ запиÑване на резултата в Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1032,12 +1199,12 @@ msgstr ""
"Резултатите Ñе извеждат на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´, ако не е зададен файл за Ð·Ð°Ð¿Ð¸Ñ "
"или той е -\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Избор на ÑъобщениÑ:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1045,7 +1212,7 @@ msgstr ""
" --translated запазване на преведените, изтриване на "
"непреведените ÑъобщениÑ\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1053,64 +1220,64 @@ msgstr ""
" --untranslated запазване на непреведените, изтриване на "
"преведените ÑъобщениÑ\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy изтриване на ÑъобщениÑта отбелÑзани като "
"мъглÑви('fuzzy')\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy запазване на на ÑъобщениÑта отбелÑзани като "
"мъглÑви('fuzzy')\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete изтриване на оÑтарÑлите #~ ÑъобщениÑ\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete запазване на оÑтарÑлите #~ ÑъобщениÑ\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Управление на атрибутите:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
" --set-fuzzy уÑтановÑване на вÑички ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð¾ "
"мъглÑви('fuzzy')\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy уÑтановÑване на вÑички ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð° не Ñа "
"мъглÑви('fuzzy')\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete уÑтановÑване на вÑички ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð¾ "
"оÑтарÑли\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete уÑтановÑване на вÑички ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð° не Ñа "
"оÑтарÑли\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1120,7 +1287,7 @@ msgstr ""
" предишните msgid-та, на преведените "
"ÑъобщениÑ.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1129,7 +1296,7 @@ msgstr ""
" --clear-previous изтрива \"предишниÑ\" msgid от вÑички "
"ÑъобщениÑ\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1137,14 +1304,14 @@ msgstr ""
" --empty при изтриване на мъглÑви('fuzzy'), да Ñе "
"зададе празен \"msgstr\"\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=ФÐЙЛ.po управлÑва Ñамо запиÑите изброени в ФÐЙЛ.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1152,28 +1319,28 @@ msgstr ""
" --ignore-file=ФÐЙЛ.po управлÑва Ñамо запиÑите, които не Ñа изброени "
"в ФÐЙЛ.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy Ñиноним за --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete Ñиноним за --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "СинтакÑÐ¸Ñ Ð½Ð° входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð»:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1181,8 +1348,8 @@ msgstr ""
" -P, --properties-input входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» е ÑÑŠÑ ÑинтакÑÐ¸Ñ Ð½Ð° Java ."
"properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1191,17 +1358,17 @@ msgstr ""
" --stringtable-input входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» е ÑÑŠÑ ÑинтакÑÐ¸Ñ Ð½Ð° NeXTstep/"
"GNUstep .низове\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "ПодробноÑти за извеждане:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1216,16 +1383,16 @@ msgstr ""
" КОГРможе да бъде 'always', 'never', 'auto', "
"или 'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr " --style=СТИЛФÐЙЛ задава CSS правила за --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1233,9 +1400,9 @@ msgstr ""
" -e, --no-escape без използване на Си оÑвобождаващи "
"поÑледователноÑти в резултата (по подразбиране)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1243,30 +1410,30 @@ msgstr ""
" -E, --escape използване на Си оÑвобождаващи "
"поÑледователноÑти в резултата, без разширени знаци\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po запиÑване на PO файл, дори ако е празен\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent запиÑване на .po файл в Ñтил Ñ Ð¾Ñ‚Ð¼ÐµÑтваниÑ\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location без запиÑване на редове '#: filename:line'\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1274,8 +1441,8 @@ msgstr ""
" -n, --add-location Ñъздаване на редове '#: filename:line' (по "
"подразбиране)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1283,34 +1450,34 @@ msgstr ""
" --strict запиÑва Ñтрого отговарÑщ за уеднаквÑване .po "
"файл\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output запиÑване на Java .properties файл\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output запиÑване на NeXTstep/GNUstep .strings файл\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
" -w, --width=ЦЯЛО уÑтановÑване на ширината на изходÑщата "
"Ñтраница\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1319,32 +1486,32 @@ msgstr ""
" --no-wrap без разделÑне на нÑколко реда на ÑъобщениÑ,\n"
" по-дълги от ширината на изходÑщата Ñтраница\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output резултатът да е подреден\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file подреждане на резултата по мÑÑто на файла\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "избран е невъзможен критерии за избор (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Употреба: %s [ОПЦИЯ] [ВХФÐЙЛ]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1367,25 +1534,25 @@ msgstr ""
"ще Ñе натрупат, оÑвен ако е зададено --use-first, като тогава ще Ñе вземат\n"
"от Ð¿ÑŠÑ€Ð²Ð¸Ñ PO файл, който ги определÑ.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " ВХФÐЙЛ ... входÑщи файлове\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=ФÐЙЛ получаване на ÑпиÑъка Ñ Ð²Ñ…Ð¾Ð´Ñщи файлове от "
"ФÐЙЛ\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Ðко входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1396,7 +1563,7 @@ msgstr ""
" По-поразбиране безкрайноÑÑ‚, ако не е "
"уÑтановено\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1406,7 +1573,7 @@ msgstr ""
"това\n"
" По-поразбиране 0, ако не е уÑтановено\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1415,8 +1582,8 @@ msgstr ""
" -u, --unique ÑÑŠÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° --less-than=2, поиÑква Ñе\n"
" извеждане на неповтарÑщите Ñе ÑъобщениÑ\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1424,8 +1591,8 @@ msgstr ""
" -P, --properties-input входÑщите файлове Ñа Ñ Java .properties "
"ÑинтакÑиÑ\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1435,12 +1602,12 @@ msgstr ""
"strings\n"
" ÑинтакÑиÑ\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=ИМЕ кодировка при извеждане\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1449,7 +1616,7 @@ msgstr ""
" --use-first използване на Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð½Ð°Ð»Ð¸Ñ‡ÐµÐ½ превод за вÑÑко\n"
" Ñъобщение, без Ñливане на отделни преводи\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1457,26 +1624,26 @@ msgstr ""
" --lang=ИМЕКÐТÐЛОГ задава поле 'Language' за Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Петер Милер"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "не е зададен входÑщ файл"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "точно 2 входÑщи файла Ñа необходими"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Употреба: %s [ОПЦИЯ] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1493,22 +1660,22 @@ msgstr ""
"преведени вÑички ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² програмата. Ðко не е намерено точно Ñъвпадение,\n"
"за получаване на по-добър резултат, Ñе използва размито Ñъвпадение.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po преводи\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot препратки към източници\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "УточнÑване на операциите:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1517,64 +1684,64 @@ msgstr ""
" -m, --multi-domain приложи ref.pot за вÑÑка от облаÑтите в def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching да не Ñе използва размито Ñъвпадение\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy да Ñе отчитат мъглÑвите запиÑи\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated да Ñе отчитат непреведените запиÑи\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "Ñъобщението не е преведено "
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "Ñъобщението Ñ‚Ñ€Ñбва да Ñе прегледа от преводача"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "Ñъобщението Ñе използва, но не е определено..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...но определението е подобно"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "Ñъобщението Ñе използва, но не е определено в %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "предупреждение: Ñъобщението не Ñе използва"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "открита е %d пагубна грешка"
msgstr[1] "открити Ñа %d пагубни грешки"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "най-малко два реда Ñ‚Ñ€Ñбва да Ñе зададат"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1595,7 +1762,7 @@ msgstr ""
"Ð¿ÑŠÑ€Ð²Ð¸Ñ PO файл, който ги определÑ. От вÑички PO файлове ще Ñе натрупат\n"
"меÑтоположениÑта във файловете.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1605,42 +1772,42 @@ msgstr ""
"това\n"
" По-поразбиране 1, ако не е уÑтановено\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header без запиÑване на заглавен 'msgid \"\"' запиÑ\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Преобразува каталог Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´Ð¸ в различна кодировка за знаци.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Цел за преобразуване:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Кодировка по подразбиране е текущата кодировка на локала.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent резултат в Ñтил Ñ Ð¾Ñ‚Ð¼ÐµÑтване\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location подтиÑкане на редове '#: filename:line'\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1648,28 +1815,28 @@ msgstr ""
" -n, --add-location запазване на редове '#: файл:ред' (по "
"подразбиране)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict Ñтрог уеднаквен Ñтил за резултат\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "не е зададен входÑщ файл"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "необходим е точно един входÑщ файл"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Употреба: %s [ОПЦИЯ] ВХФÐЙЛ\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1682,22 +1849,22 @@ msgstr ""
"Ñъздаден от xgettext). Ðа непреведените запиÑи Ñе приÑвоÑва превод,\n"
"който е еднакъв Ñ msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " ВХФÐЙЛ входÑщ PO или POT файл\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "липÑва име на команда"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Употреба: %s [ОПЦИЯ] КОМÐÐДР[КОМÐÐДÐÐ-ОПЦИЯ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1712,7 +1879,7 @@ msgstr ""
"данни Ñтават резултат на msgexec. Ð’ÑŠÑ€Ð½Ð°Ñ‚Ð¸Ñ Ð¾Ñ‚ msgexec код на излизане\n"
"е най-големиÑÑ‚ получен при вÑички извикваниÑ.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1721,58 +1888,82 @@ msgstr ""
"Специална вградена команда наречена '0' извежда преводите поÑледвани от \n"
"<NULL> байт. Резултата от \"msgexec 0\" е подходÑщ като входÑщ за \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "ВходÑщо за командата:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline добавÑне на нов ред към ÐºÑ€Ð°Ñ Ð½Ð° входа\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=ВХФÐЙЛ входÑщ PO файл\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "пропадна запиÑването на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
-msgstr "липÑва име на филтър"
+msgstr "липÑва име на цедка"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "Ñ‚Ñ€Ñбва да Ñе зададе най-малко един sed Ñкрипт"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
-msgstr "Употреба: %s [ОПЦИЯ] ФИЛТЪР [ФИЛТЪРÐÐ-ОПЦИЯ]\n"
+msgstr "Употреба: %s [ОПЦИЯ] ЦЕДКР[ЦЕДКÐ-ОПЦИЯ]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
-msgstr "Прилагане на филтър към вÑички преводи от каталога Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´Ð¸.\n"
+msgstr "Прилагане на цедка към вÑички преводи от каталога Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´Ð¸.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-"ФИЛТЪР може е вÑÑка програма, коÑто чете превод от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´\n"
+"ЦЕДКРможе е вÑÑка програма, коÑто чете превод от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´\n"
"и запиÑва Ð¿Ñ€Ð¾Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Прецеждане на вход и изход:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline Ð´Ð¾Ð±Ð°Ð²Ñ Ð½Ð¾Ð² ред в ÐºÑ€Ð°Ñ Ð½Ð° входа и\n"
+" премахва Ð½Ð¾Ð²Ð¸Ñ Ñ€ÐµÐ´ от ÐºÑ€Ð°Ñ Ð½Ð° изхода"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
-msgstr "Полезни ФИЛТЪР-ОПЦИИ, когато ФИЛТЪР е 'sed':\n"
+msgstr "Полезни ЦЕДКÐ-ОПЦИИ, когато ЦЕДКРе 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=СКРИПТ Ð´Ð¾Ð±Ð°Ð²Ñ Ð¡ÐšÐ Ð˜ÐŸÐ¢ към командите за изпълнение\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1783,7 +1974,7 @@ msgstr ""
"командите\n"
" за изпълнение\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1791,7 +1982,7 @@ msgstr ""
" -n, --quiet, --silent подтиÑкане на автоматичното извеждане на "
"проÑтранÑтвото от образи\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1799,136 +1990,137 @@ msgstr ""
" --no-escape без използване на Си оÑвобождаващи "
"поÑледователноÑти в резултата (по подразбиране)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent резултат в Ñтил Ñ Ð¾Ñ‚Ð¼ÐµÑтване\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header запазване на заглавни запиÑи без промÑна, да "
-"не Ñе филтрират\n"
+"не Ñе прецеждрат\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "прецедениÑÑ‚ изход не завършва Ñ Ð·Ð½Ð°Ðº за нов ред"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "аргумента на %s Ñ‚Ñ€Ñбва да е единичен препинателен знак"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "неправилно име за начин на подреждане на байтове: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Улрих Дрепер"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "не Ñа задава входÑщ файл, ако Ñа зададени %s и %s"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s изиÑква указване на \"-d директориÑ\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s изиÑква указване на \"-l локал\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s изиÑква указване на \"\"--template пример\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s изиÑква указване на \"-o файл\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s и %s Ñа взаимоизключващи Ñе при %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s е правилен Ñамо Ñ %s или %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s е правилен Ñамо Ñ %s, %s или %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "за %s не Ñа открити правила за превод"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d преведено Ñъобщение"
msgstr[1] "%d преведени ÑъобщениÑ"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d мъглÑв превод"
msgstr[1] ", %d мъглÑви преводи"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d непреведено Ñъобщение"
msgstr[1] ", %d непреведени ÑъобщениÑ"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Употреба: %s [ОПЦИЯ] имефайл.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Създаване на двоичен каталог ÑÑŠÑ ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ текÑтово опиÑание на "
"преводите.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Задължителни аргументи за \"дълги\" опции Ñа Ñъщо задължителни за \"къÑи\" опции.\n"
-"Също така за незадължителните аргументи.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " имефайл.po ... входÑщи файлове\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Режими на работа:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1937,7 +2129,7 @@ msgstr ""
" -j, --java Java режим: Ñъздаване на ÐºÐ»Ð°Ñ Ð·Ð° Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1946,12 +2138,12 @@ msgstr ""
" --java2 като --java и Ñе подразбира Java2 (JDK 1.2 или "
"по-нова)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# режим: Ñъздаване на .NET .dll файл\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1960,19 +2152,19 @@ msgstr ""
" --csharp-resources C# реÑÑƒÑ€Ñ Ñ€ÐµÐ¶Ð¸Ð¼: Ñъздаване на .NET .resources "
"файл\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl режим: Ñъздаване на tcl/msgcat .msg файл\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt режим: Ñъздаване на Qt .qm файл\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1980,28 +2172,33 @@ msgstr ""
" --desktop Режим \"Работен плот\": Ñъздаване на .desktop "
"файл\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml XML режим: Ñъздаване на XML файл\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict разрешава Ñтриктен уеднаквен режим\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Ðко изходÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» е -, резултатът Ñе запиÑва на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "МеÑтоположение на резултата при Java режим:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=РЕСУРС име на реÑурÑ\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2009,21 +2206,21 @@ msgid ""
msgstr ""
" -l, --locale=ЛОКÐЛ име на локал, или език, или език_ДЪРЖÐÐ’Ð\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr " --source Ñъздава .java файл, вмеÑто .class файл\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d ДИРЕКТОРИЯ оÑновна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð¹ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñта на клаÑовете\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2036,12 +2233,12 @@ msgstr ""
"разделени Ñ Ð´Ð¾Ð»Ð½Ð° черта. ОпциÑта -d е задължителна. КлаÑÑŠÑ‚ Ñе запиÑва в\n"
"зададената директориÑ.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "МеÑтоположение на резултата при C# режим:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2050,7 +2247,7 @@ msgstr ""
" -d ДИРЕКТОРИЯ оÑновна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° завиÑими от локал .dll "
"файлове\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2059,19 +2256,19 @@ msgstr ""
"Опциите -l и -d Ñа задължителни. .dll файла Ñе запиÑва в поддиректориÑ\n"
"на указаната, чието име завиÑи от локала.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "МеÑтоположение на резултата при Tcl режим:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d ДИРЕКТОРИЯ оÑновна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° каталози Ñ .msg "
"ÑъобщениÑ\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2080,22 +2277,22 @@ msgstr ""
"Опциите -l и -d Ñа задължителни. .msg файла Ñе запиÑва в указаната\n"
"директориÑ.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Опции за режим \"Работен плот\":\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=ПРИМЕР .desktop-файл използван като пример\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d ДИРЕКТОРИЯ оÑновна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¾Ñ‚ .po-фаилове\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2104,7 +2301,7 @@ msgstr ""
" -kДУМÐ, --keyword=ДУМРтърÑене по ДУМРкато допълнителен ключ\n"
" -k, --keyword да не Ñе използва ключ по подразбиране\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2115,12 +2312,27 @@ msgstr ""
"входÑщите\n"
"файлове Ñе четат от тази директориÑ, вмеÑто от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Опции за XML режим:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=ЕЗИК прилагане на Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¸Ñ XML език\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=ПРИМЕР XML-файл използван като пример\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Ð¢ÑŠÐ»ÐºÑƒÐ²Ð°Ð½Ð¸Ñ Ð·Ð° входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð»:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2132,14 +2344,14 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format проверка на езиково завиÑимите форматиращи "
"низове\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2148,7 +2360,7 @@ msgstr ""
" --check-header проверка на наличието и Ñъдържанието на "
"заглавни запиÑи\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2158,7 +2370,7 @@ msgstr ""
"облаÑÑ‚\n"
" и опциÑта --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2167,7 +2379,7 @@ msgstr ""
" -C, --check-compatibility проверка дали ГÐУ msgfmt Ñе държи като X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2178,14 +2390,14 @@ msgstr ""
"клавиши\n"
" за елементи на меню\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy използване на мъглÑви(fuzzy) запиÑи при "
"извеждане\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2193,7 +2405,7 @@ msgstr ""
" -a, --alignment=БРОЙ подравнÑва низовете до БРОЙ байтове (по "
"подразбиране: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2206,98 +2418,97 @@ msgstr ""
" (Ñтарши или младши, по подразбиране завиÑи "
"от процеÑора)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash двоичниÑÑ‚ файл нÑма да Ñъдържа хеш-таблица\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics извежда ÑтатиÑтика за преводите\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose увеличава нивото на подробноÑÑ‚\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "предупреждение: заглавието на PO файла липÑва или не е правилно\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "предупреждение: нÑма да работи превръщането м/у кодировки\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "предупреждение: заглавието на PO файла е мъглÑво\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "предупреждение: Ñтари верÑии на msgfmt ще дадат грешка за това\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "името на облаÑÑ‚ \"%s\" не е подходÑщо за име на файл"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"името на облаÑÑ‚ \"%s\" не е подходÑщо за име на файл: ще Ñе използва "
"предÑтавка"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "пренебрегната директива 'облаÑÑ‚ %s'"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "пренебрегнат празен 'msgstr' запиÑ"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "пренебрегнат мъглÑв(fuzzy) 'msgstr' запиÑ"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: предупреждение: файла източник Ñъдържа мъглÑви преводи"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s не ÑъщеÑтвува"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s ÑъщеÑтвува, но е нечетим"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "грешка при четене на \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2306,7 +2517,7 @@ msgstr ""
"опциÑта '%c' не може да Ñе използва преди да Ñе зададе 'J', 'K', 'T', 'C', "
"или 'X'"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2315,7 +2526,7 @@ msgstr ""
"Извличане на вÑички ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ каталога Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´Ð¸, които Ñъвпадат Ñ Ð´Ð°Ð´ÐµÐ½ образ\n"
"или принадлежат на дадени файлове източници.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2390,7 +2601,7 @@ msgstr ""
" -v, --invert-match извеждане на ÑъобщениÑта, които не Ñъвпадат ÑÑŠÑ Ð½Ð¸ÐºÐ¾Ð¹\n"
" от критериите за избор\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2398,12 +2609,12 @@ msgstr ""
" --escape резултат Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ðµ на Си оÑвобождаващи "
"поÑледователноÑти, без разширени знаци\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output резултатът да е подреден\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2508,14 +2719,14 @@ msgstr ""
"Ðе е намерен .pot файл в текущата директориÑ.\n"
"Да Ñе зададе входÑщ .pot файл Ñ Ð¾Ð¿Ñ†Ð¸Ñта --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "пропадна подпроцеÑÑŠÑ‚ %s и той излезе Ñ ÐºÐ¾Ð´ %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2533,28 +2744,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "БългарÑки превод за пакет %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "текущата кодировка, \"%s\", не е Ñ Ð¿Ñ€ÐµÐ½Ð¾Ñимо име"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» е Ñ Ð´Ð²Ðµ различни кодировки - \"%s\" и \"%s\""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» '%s', не Ñъдържа заглавен Ð·Ð°Ð¿Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ за кодировка"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2563,19 +2774,19 @@ msgstr ""
"облаÑтта \"%s\", във входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» '%s', не Ñъдържа заглавен Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° "
"указаване на кодировка"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "целевата кодировка, \"%s\", не е Ñ Ð¿Ñ€ÐµÐ½Ð¾Ñимо име"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "предупреждение: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2585,7 +2796,7 @@ msgstr ""
"Ñ‚ÑÑ….\n"
"Преобразуване на резултата в UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2598,7 +2809,7 @@ msgstr ""
"Преобразуване на резултата в UTF-8.\n"
"За избор на различно кодиране на резултата Ñе използва опциÑта --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2612,7 +2823,7 @@ msgstr ""
"оÑигури,\n"
"да Ñа кодирани в UTF-8 поначало, Ñ‚.е. във файловете Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÐµÐ½ код.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2622,15 +2833,15 @@ msgid ""
msgstr ""
"Кодировката на локала, \"%s\", е различна от кодировката на\n"
"входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð», \"%s\",.\n"
-"Резултата на '%s' може да не е коректен.\n"
+"Резултата на '%s' може да не е правилен.\n"
"Възможни заобикалÑÐ½Ð¸Ñ Ñа:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Задаване на LC_ALL локал Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2641,7 +2852,7 @@ msgstr ""
" поÑле прилагане на '%s',\n"
" поÑле обратно преобразуване, използвайки 'msgconv', към %s.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2654,7 +2865,7 @@ msgstr ""
" поÑле прилагане на '%s',\n"
" поÑле обратно преобразуване, използвайки 'msgconv', към %s.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2665,26 +2876,26 @@ msgstr ""
"Резултата от '%s' може да не е правилен.\n"
"Възможно заобикалÑне е да Ñе уÑтанови LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
-msgstr "израза за множеÑтвено чиÑло може да върне отрицателен резултат"
+msgstr "израза за множеÑтвено чиÑло може да върне отрицателна ÑтойноÑÑ‚"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, но израза за множеÑтвено чиÑло може да върне ÑтойноÑÑ‚ по-"
"голÑма от %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "в израза за множеÑтвено чиÑло може да получи деление на нула"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "в израза за множеÑтвено чиÑло може да получи целочиÑлено препълване"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2692,51 +2903,51 @@ msgstr ""
"в израза за множеÑтвено чиÑло може да Ñе получи аритметична грешка, възможно "
"е деление на нула"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Да Ñе опита Ñледното, правилно за %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи за множеÑтвено чиÑло"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "но в Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº липÑва Ð·Ð°Ð¿Ð¸Ñ \"plural=ИЗРÐЗ\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "но в Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº липÑва Ð·Ð°Ð¿Ð¸Ñ \"nplurals=ЦЯЛО\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "неправилна ÑтойноÑÑ‚ за nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "неправилен израз за множеÑтвено чиÑло"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "но нÑкой ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñъдържат Ñамо една форма за множеÑтвено чиÑло"
msgstr[1] "но нÑкой ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñъдържат Ñамо %lu форми за множеÑтвено чиÑло"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "но нÑкой ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñъдържат една форма за множеÑтвено чиÑло"
msgstr[1] "но нÑкой ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñъдържат %lu форми за множеÑтвено чиÑло"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2744,72 +2955,89 @@ msgstr ""
"каталогът ÑÑŠÑ ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñъдържа форми за множеÑтвено чиÑло, но липÑва "
"заглавен Ð·Ð°Ð¿Ð¸Ñ Ñ \"Plural-Forms: nplurals=ЦЯЛО; plural=ИЗРÐЗ;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "и двата запиÑа, 'msgid' и 'msgid_plural', не започват Ñ '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "и двата запиÑа, 'msgid' и 'msgstr[%u]', не започват Ñ '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "и двата запиÑа, 'msgid' и '`msgstr', не започват Ñ '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "и двата запиÑа, 'msgid' и 'msgid_plural', не завършват Ñ '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "и двата запиÑа, 'msgid' и 'msgstr[%u]', не завършват Ñ '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "и двата запиÑа, 'msgid' и 'msgstr', не завършват Ñ '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "поддръжката на множеÑтвено чиÑло е допълнение на ГÐУ gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr е без отбелÑзване за уÑкорена клавишна ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ '%c'"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr е отбелÑзан Ñ Ñ‚Ð²ÑŠÑ€Ð´Ðµ много отметки за клавишни комбинации '%c'"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "вÑе още заглавното поле '%s' е Ñ Ð½Ð°Ñ‡Ð°Ð»Ð½Ð°Ñ‚Ð° ÑтойноÑÑ‚ по подразбиране\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "в Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº липÑва поле '%s'\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII многоточие ('...') вмеÑто уникод"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+"във видим за потребителите низ е намерено знак за празно преди многоточието"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "използвана е двойна кавичка в ASCII вмеÑто в уникод"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "използвана е единична кавичка в ASCII вмеÑто в уникод"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
-msgstr "%s: входÑщите данни не Ñа Ñ \"%s\" кодировка"
+msgstr "%s: входÑщите данни не Ñа Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: грешка при преобразуване от кодировка \"%s\" към кодировка \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» не Ñъдържа Ð·Ð°Ð¿Ð¸Ñ ÑƒÐºÐ°Ð·Ð²Ð°Ñ‰ кодировка"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2818,7 +3046,7 @@ msgstr ""
"Ðе може да Ñе превърне от \"%s\" към \"%s\". %s използва iconv(), а iconv() "
"не поддържа това превръщане."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2827,8 +3055,8 @@ msgstr ""
"Превръщането от \"%s\" към \"%s\" Ñъздаде повторениÑ: нÑкой различни msgids "
"Ñе получиха еднакви."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2837,16 +3065,16 @@ msgstr ""
"Ðе може да Ñе превърне от \"%s\" към \"%s\". %s използва iconv(). Тази "
"верÑÐ¸Ñ Ðµ Ñъздадена без iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s е правилно Ñамо Ñ %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "тип на резервно копие"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2870,18 +3098,18 @@ msgstr ""
"Ñъвпадение, за получаван на по-добри резултати ще Ñе използват размити\n"
"(fuzzy) ÑъвпадениÑ\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po преводи препращащи към на Ñтарите източници\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot препратки към новите източници\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2891,7 +3119,7 @@ msgstr ""
"ÑъобщениÑ,\n"
" може да Ñе укаже повече от веднъж\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2900,27 +3128,27 @@ msgstr ""
" -U, --update обнови def.po,\n"
" не прави нищо, ако def.po е оÑъвременен\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "ÐœÑÑто на изходÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» при обновÑване:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Резултата Ñе запиÑва обратно в def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=КОÐТРОЛ Ñъздаване на резервно копие на def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=ÐÐСТ задава наÑтавка за резервно копие\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2938,7 +3166,7 @@ msgstr ""
" existing, nil номериран, ако ÑъщеÑтвува такъв, иначе обикновен\n"
" simple, never винаги Ñе Ñъздава обикновено резервно копие\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2948,7 +3176,7 @@ msgstr ""
"ÐаÑтавката за резервно копие е `~', оÑвен ако е зададена Ñ --suffix или Ñ\n"
"променливата на обкръжението SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2956,23 +3184,23 @@ msgstr ""
" --previous запазване на предишните msgid-ита на "
"преведените ÑъобщениÑ\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
" -q, --quiet, --silent подтиÑкане на показването ход на процеÑа\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "това Ñъобщение Ñ‚Ñ€Ñбва да зададе форми за множеÑтвено чиÑло"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "това Ñъобщение не Ñ‚Ñ€Ñбва да зададе форми за множеÑтвено чиÑло"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2981,30 +3209,30 @@ msgstr ""
"%sПрочетени %ld Ñтари + %ld препратки, ÑлÑти %ld, мъглÑви %ld, липÑващи %ld, "
"оÑтарÑли %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " готово.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s и изрични имена на файлове Ñа взаимоизключващи Ñе"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Употреба: %s [ОПЦИЯ] [ФÐЙЛ]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Преобразува каталог Ñ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ð¸ ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² .po файл каталог Ñ ÑƒÐµÐ´Ð½Ð°ÐºÐ²ÐµÐ½ "
"Ñтил.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3013,12 +3241,12 @@ msgstr ""
" -j, --java Java режим: входÑщ е ÐºÐ»Ð°Ñ Ð·Ð° Java "
"ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# режим: входÑщ е .NET .dll файл\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3027,24 +3255,24 @@ msgstr ""
" --csharp-resources C# реÑурÑен режим: входÑщ е .NET .resources "
"файл\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl режим: входÑщ е tcl/msgcat .msg файл\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " ФÐЙЛ ... входÑщи .mo файлове\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "МеÑтоположение на входÑщите файлове при Java режим:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3055,12 +3283,12 @@ msgstr ""
"реÑурÑа,\n"
"разделени Ñ Ð´Ð¾Ð»Ð½Ð° черта. КлаÑÑŠÑ‚ Ñе намира използвайки CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "МеÑтоположение на входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» при C# режим:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3069,12 +3297,12 @@ msgstr ""
"Опциите -l и -d Ñа задължителни. .dll файла Ñе намира в\n"
"Ð¿Ð¾Ð´Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° указаната, чието име завиÑи от локала.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "МеÑтоположение на входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» при Tcl режим:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3083,18 +3311,18 @@ msgstr ""
"Опциите -l и -d Ñа задължителни. .msg файла Ñе намира в\n"
"указаната директориÑ.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
" -i, --indent запиÑване на резултата в Ñтил Ñ Ð¾Ñ‚Ð¼ÐµÑтваниÑ\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict запиÑване в Ñтриктен уеднаквен Ñтил\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3115,12 +3343,12 @@ msgstr ""
"като тогава ще Ñе вземат от Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´. Позициите във файловете ще Ñе натрупат.\n"
"Ðко Ñе използва --unique, повторениÑта ще Ñе отхвърлÑÑ‚.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated извежда Ñамо повторениÑта\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3129,7 +3357,7 @@ msgstr ""
" -u, --unique извежда Ñамо неповтарÑщи Ñе ÑъобщениÑ, "
"отхвърлÑне на повторениÑ\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<Ñтандвх>"
@@ -3158,7 +3386,8 @@ msgid ""
"Installing GNU libiconv and then reinstalling GNU gettext\n"
"would fix this problem.\n"
msgstr ""
-"ИнÑталирането на ГÐУ libiconv е Ñлед това преинÑталирането на ГÐУ gettext\n"
+"Разполагането на ГÐУ libiconv и Ñлед това повторното разполагане на ГÐУ "
+"gettext\n"
"ще оправи този проблем.\n"
#: src/po-charset.c:578 src/po-charset.c:616
@@ -3186,32 +3415,32 @@ msgstr ""
"Ð’ заглавието липÑва кодировка.\n"
"Преобразуването на ÑъобщениÑта към потребителÑка кодировка нÑма да работи.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "противоречиво използване на #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "липÑва дÑл 'msgstr[]'"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "липÑва дÑл 'msgid_plural'"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "липÑва дÑл 'msgstr'"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "първата форма за множеÑтвено чиÑло не е Ñ Ð½ÑƒÐ»ÐµÐ² индекÑ"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "формата за множеÑтвено чиÑло Ñ Ð³Ñ€ÐµÑˆÐµÐ½ индекÑ"
@@ -3221,7 +3450,7 @@ msgstr "формата за множеÑтвено чиÑло Ñ Ð³Ñ€ÐµÑˆÐµÐ½ и
msgid "too many errors, aborting"
msgstr "твърде много грешки, прекратÑване"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "неправилно многобайтова поÑледователноÑÑ‚"
@@ -3265,64 +3494,81 @@ msgstr "край-на-ред в низ"
msgid "context separator <EOT> within string"
msgstr "разделител на Ñъдържание <EOT> в низ"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "този файл май не Ñъдържа директиви за облаÑÑ‚"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "повторно определение на Ñъобщение"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "това е мÑÑтото на първото определение"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "незавършено име на група"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "неправилен значещ знак"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "липÑва '=' Ñлед \"%s\""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "неправилна значеща линиÑ"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "файлът \"%s\" е отрÑзан"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "файлът \"%s\" Ñъдържа низ не завършващ на NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "файла \"%s\" не е в ГÐУ .mo формат"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "файла \"%s\" Ñъдържа незавършващ Ñ NUL низ на Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "предупреждение: неправилен \\uxxxx ÑинтакÑÐ¸Ñ Ð·Ð° знак в уникод"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "предупреждение: незавършен низ"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "предупреждение: Ñинтактична грешка"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "предупреждение: незавършена двойка ключ/ÑтойноÑÑ‚"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "предупреждение: Ñинтактична грешка, очаква Ñе ';' Ñлед низа"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "предупреждение: Ñинтактична грешка, очаква Ñе '=' или ';' Ñлед низа"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Създадена от %s и %s.\n"
@@ -3331,16 +3577,16 @@ msgstr "Създадена от %s и %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Данило Сеган"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Прекодира ÑръбÑки текÑÑ‚ от кирилица на латиница.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3349,27 +3595,27 @@ msgstr ""
"ВходÑÑ‰Ð¸Ñ Ñ‚ÐµÐºÑÑ‚ Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. ÐŸÑ€ÐµÐ¾Ð±Ñ€Ð°Ð·ÑƒÐ²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚ Ñе извежда\n"
"на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "входните данни не Ñа правилни при кодировка \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "грешка при преобразуване от кодировка \"%s\" към кодировка \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "очакват Ñе два аргумента"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Употреба: %s [ОПЦИЯ] ÐДРЕС ФÐЙЛ\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3378,37 +3624,37 @@ msgstr ""
"ДонаÑÑ Ð¸ извежда Ñъдържанието на URL. Ðко URL не е доÑтъпен, то Ñе използва\n"
"доÑтъпен локално ФÐЙЛ\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "грешка при четене \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "грешка за запиÑване на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "грешка Ñлед прочитане на \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Получава %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " проÑрочка.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " пропадна.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3416,7 +3662,7 @@ msgstr ""
"При указаниÑÑ‚ формат, в един файл не може да Ñе получи резултат Ñ Ð¼Ð½Ð¾Ð³Ð¾ "
"облаÑти за превод. Ð’ замÑна да Ñе опита ÑÑŠÑ ÑинтакÑÐ¸Ñ Ð½Ð° PO файл."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3424,7 +3670,7 @@ msgstr ""
"При указаниÑÑ‚ формат, в един файл не може да Ñе получи резултат Ñ Ð¼Ð½Ð¾Ð³Ð¾ "
"облаÑти за превод."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3432,7 +3678,7 @@ msgstr ""
"каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи в завиÑимоÑÑ‚ от текÑта, но формата "
"за резултат не ги поддържа."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3442,7 +3688,7 @@ msgstr ""
"резултат не ги поддържа. Да Ñе опита Ñъздаване на ÐºÐ»Ð°Ñ Ð·Ð° Java, използвайки "
"\"msgfmt --java\", в замÑна на .properties файл."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3450,12 +3696,12 @@ msgstr ""
"каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи в множеÑтвено чиÑло, но формата за "
"резултат не ги поддържа."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "не можа да Ñе Ñъздаде изходÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð» \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "Ñтандартен изход"
@@ -3474,34 +3720,35 @@ msgstr "пропадна компилирането на ÐºÐ»Ð°Ñ Ð½Ð° C#, да
msgid "compilation of C# class failed"
msgstr "пропадна компилирането на ÐºÐ»Ð°Ñ Ð½Ð° C#"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "грешка при отварÑне на \"%s\" за запиÑ"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "неправилно име за ÐºÐ»Ð°Ñ Ð½Ð° Java: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"пропадна компилирането на ÐºÐ»Ð°Ñ Ð½Ð° Java, да Ñе опита --verbose или да Ñе "
"уÑтанови $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"пропадна компилирането на ÐºÐ»Ð°Ñ Ð½Ð° Java, да Ñе опита Ñ ÑƒÑтановÑване $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "грешка при отварÑне на \"%s\" за запиÑ"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "непълна многобайтова поÑледователноÑÑ‚"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3509,7 +3756,7 @@ msgstr ""
"ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° превод не Ñ‚Ñ€Ñбва да Ñъдържат оÑвобождаваща поÑледователноÑÑ‚ '\\"
"%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3522,7 +3769,7 @@ msgstr ""
"кодировка. Да Ñе обмиÑли използването на чиÑто ASCII msgid.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3535,7 +3782,7 @@ msgstr ""
"кодировка. Да Ñе обмиÑли използването на чиÑто ASCII msgid.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3543,7 +3790,7 @@ msgstr ""
"каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи в множеÑтвено чиÑло,\n"
"но не Ñе поддържат от Qt каталог ÑÑŠÑ ÑъобщениÑ\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3554,7 +3801,7 @@ msgstr ""
"но формата на Qt каталог ÑÑŠÑ ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÑŠÑ€Ð¶Ð° уникод Ñамо за\n"
"преведените низове, не не и в низовете за обÑтоÑтелÑтво\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3564,12 +3811,12 @@ msgstr ""
"но формата на Qt каталог ÑÑŠÑ ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÑŠÑ€Ð¶Ð° уникод Ñамо за\n"
"преведените низове, не не и за непреведените\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ ÐºÑŠÐ¼ Ð¿Ð¾Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3578,7 +3825,7 @@ msgstr ""
"но формата на C# .resources не ги поддържа\n"
"но не Ñе поддържат от C# .resources\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3586,7 +3833,7 @@ msgstr ""
"каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи в множеÑтвено чиÑло,\n"
"но не Ñе поддържат от C# .resources\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3594,7 +3841,7 @@ msgstr ""
"каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи в завиÑимоÑÑ‚ от текÑта,\n"
"но не Ñе поддържат от Tcl каталог ÑÑŠÑ ÑъобщениÑ\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3602,36 +3849,36 @@ msgstr ""
"каталогът ÑÑŠÑ ÑъобщениÑта Ñъдържа преводи в множеÑтвено чиÑло,\n"
"но те не Ñе поддържат от Tcl каталог ÑÑŠÑ ÑъобщениÑ\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: предупреждение: незавършен низ"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: предупреждение: незавършен регулÑрен израз"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "предупреждение: неправилен знак на Uникод"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: предупреждение: незавършена конÑтанта за буква"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: предупреждение: незавършен замеÑтител на низ"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Да Ñе зададе кодировка на източника чрез --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3640,7 +3887,7 @@ msgstr ""
"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
"Да Ñе зададе правилна кодировка на източника чрез --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3649,7 +3896,7 @@ msgstr ""
"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚.\n"
"Да Ñе зададе правилна кодировка на източника чрез --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3658,7 +3905,7 @@ msgstr ""
"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° файла.\n"
"Да Ñе зададе правилна кодировка на източника чрез --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3667,12 +3914,12 @@ msgstr ""
"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° реда.\n"
"Да Ñе зададе правилна кодировка на източника чрез --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: неуÑпех на iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3681,283 +3928,79 @@ msgstr ""
"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
"Да Ñе зададе кодировка на източника чрез --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: предупреждение: неправилен знак на уникод"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: предупреждение: незавършена низова конÑтанта"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: предупреждение: намерено е ')', където Ñе очаква'}'"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: предупреждение: намерено е '}', където Ñе очаква ')'"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "ЛипÑва обкръжение за низ извлечен от елемент '%s'"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "ГлавниÑÑ‚ елемент <%s> не е разрешен в правилен Glade файл"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Ðе Ñе поддържа езика \"glade\". %s използва expat.\n"
-"Тази верÑÐ¸Ñ Ðµ Ñъздадена без expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: предупреждение: Ñамотен замеÑтител U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Да Ñе зададе кодировка на източника чрез --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
-"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚.\n"
-"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
-
-#: src/x-javascript.c:303
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° файла.\n"
-"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° реда.\n"
-"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
-"Да Ñе зададе кодировка на източника чрез --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: предупреждение: предÑрочно прекъÑнат регулÑрен израз"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: предупреждение: %s не е допуÑтим"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: предупреждение: незавършено XML изразÑване"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: не може да Ñе намери ограничител за край на низ \"%s\" до ÐºÑ€Ð°Ñ Ð½Ð° "
-"файла"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: липÑва дÑÑна Ñкоба за \\x{ШЕСТÐÐДЕСЕТИЧÐО}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: неправилно вмъкване (\"\\l\") на 8-битова буква \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: неправилно вмъкване (\"\\u\") на 8-битова буква \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: неправилно вмъкване на променлива при \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: неправилно вмъкване (\"\\L\") на 8-битова буква \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: неправилно вмъкване (\"\\U\") на 8-битова буква \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Да Ñе зададе кодиране на източника чрез --from-code или чрез\n"
-"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
-"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
-"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: Ðезавършена многобайтова поÑледователноÑÑ‚.\n"
-"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
-"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+"'%s' не е правилно име на кодировка. Използване на ASCII по подразбиране.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðезавършена многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° файла.\n"
-"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
-"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "непозната проверка '%s' на ÑинтакÑиÑ"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° реда.\n"
-"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
-"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "непознат край '%s' на изречение"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
-"Да Ñе зададе кодиране на източника чрез --from-code или чрез коментар,\n"
-"като е указано в http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "ÐеизвеÑтно кодиране \"%s\". Продължаване на работата Ñ ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: неправилен определение за низ"
+"--join-existing не може да Ñе използва, когато резултата Ñе запиÑва на "
+"ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: липÑва чиÑло Ñлед #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext не може да работи без ключове за Ñ‚ÑŠÑ€Ñене"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: неправилен израз от тип низ"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "предупреждение: не ÑъщеÑтвува ITS-файл Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° - '%s'"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: предупреждение: ÑинтакÑиÑа $\"...\" е забранен от ÑÑŠÐ¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° "
-"ÑигурноÑÑ‚, вмеÑто това да Ñе използва eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: предупреждение: предÑрочно прекъÑнат регулÑрен израз"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-"'%s' не е правилно име на кодировка. Използване на ASCII по подразбиране.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"--join-existing не може да Ñе използва, когато резултата Ñе запиÑва на "
-"ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´"
+"предупреждение: не ÑъщеÑтвува ITS-файл Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° - '%s', проверете "
+"разполагането на gettext"
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext не може да работи без ключове за Ñ‚ÑŠÑ€Ñене"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"предупреждение: файлът '%s' Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ðµ '%s' е непознат, ще Ñе опита Си"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Извличане на низовете за превод от зададените входÑщи файлове.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3966,13 +4009,13 @@ msgstr ""
" -d, --default-domain=ИМЕ използване на ИМЕ.po за изходÑщ (вмеÑто "
"messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=ФÐЙЛ запиÑване на изходните данни в ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -3980,12 +4023,12 @@ msgstr ""
" -p, --output-dir=ДИР изходÑщите файлове да Ñе запишат в Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ "
"ДИР\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Избиране на език на входÑÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð»:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4006,12 +4049,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua)\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ за краткоÑÑ‚ на --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4020,7 +4063,7 @@ msgstr ""
"По подразбиране езикът Ñе отгатва в завиÑимоÑÑ‚ от окончанието на входÑÑ‰Ð¸Ñ "
"файл.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4029,23 +4072,23 @@ msgstr ""
" --from-code=NAME кодиране на входÑщите файлове\n"
" (без Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "По подразбиране входÑщите файлове Ñа в ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing Ð´Ð¾Ð±Ð°Ð²Ñ ÑъобщениÑта към ÑъщеÑтвуващ файл\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=ФÐЙЛ.po да не Ñе извличат запиÑите от FILE.po\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4059,17 +4102,40 @@ msgstr ""
" -c, --add-comments в резултата Ñе поÑтавÑÑ‚ вÑички блокове Ñ\n"
" коментар от редовете преди ключа\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=ИМЕ извършва Ñинтактична проверка на ÑъобщениÑта\n"
+" (многоточие-уникод, празно-многоточие,\n"
+" кавичка-уникод)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=ВИД задава ÐºÑ€Ð°Ñ Ð½Ð° изречението\n"
+" (единократно празно, което е подразбиращо "
+"Ñе, \n"
+" или друкратно празно)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Опции за определен език:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all извличане на вÑички низове\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4084,7 +4150,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4099,7 +4165,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4109,7 +4175,7 @@ msgstr ""
" --flag=ДУМÐ:ÐРГ:ФЛÐГ допълнителен флаг за низове при номер на\n"
" аргумент ÐРГ за ключ ДУМÐ\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4124,39 +4190,39 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs разпознаване на ANSI Си тризнаци в входните "
"данни\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (Ñамо езици C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt разпознава Qt формат за низове\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (Ñамо език C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde разпознава KDE 4 формат за низове\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost разпознава Boost формат за низове\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4164,19 +4230,29 @@ msgstr ""
" --debug по-подробен резултат как е разпознато "
"Ñъобщението като вид формат\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output запиÑва Java .properties файл\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=ФÐЙЛ прилагане на ITS-правила от ФÐЙЛ\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool запиÑване на itstool бележки\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=ÐИЗ задава ноÑител на авторÑко право в "
"резултата\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4184,17 +4260,17 @@ msgstr ""
" --foreign-user резултат без авторÑко право на ФСС за\n"
" чуждеÑтранни потребители\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=ПÐКЕТ задава име на пакет в резултата\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=ВЕРСИЯ задава верÑÐ¸Ñ Ð½Ð° пакета в резултата\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4202,7 +4278,7 @@ msgstr ""
" --msgid-bugs-address=ПОЩÐ@ÐДРЕС задава Ð°Ð´Ñ€ÐµÑ Ð·Ð° рапортуване на "
"грешки при msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4213,7 +4289,7 @@ msgstr ""
"предÑтавка за\n"
" ÑтойноÑтите на msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4224,38 +4300,38 @@ msgstr ""
"за\n"
" ÑтойноÑти на msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr "Ðргумента --flag не е Ñ <ключ>:<ном_арг>:[pass-]<флаг> ÑинтакÑиÑ: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "Ñтандартен изход"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Знак извън ASCII кодиране при %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Коментар, който е извън ASCII кодиране, при или преди %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Ðиз извън ASCII кодиране при %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: предупреждение: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4264,7 +4340,7 @@ msgstr ""
"Макар че е използван в мÑÑто за низове за формат, %s не е правилен низ за %s "
"формат. Причина: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4273,7 +4349,7 @@ msgstr ""
"Макар че е обÑвен като такъв, %s не е правилен низ за %s формат. Причина: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4286,7 +4362,7 @@ msgstr ""
"Да Ñе обмиÑли използването на низ за формат Ñ Ð¸Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð¸ аргументи и \n"
"привързване, вмеÑто поÑледователноÑÑ‚ за аргументите.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4296,27 +4372,27 @@ msgstr ""
"gettext(\"\") връща заглавен Ð·Ð°Ð¿Ð¸Ñ Ñ Ð¼ÐµÑ‚Ð°Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ,\n"
"а не празен низ.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "двуÑмиÑлено зададен аргумент за ключ '%.*s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "предупреждение: липÑва Ñъдържание за ключ '%.*s'"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "предупреждение: липÑва Ñъдържание за множеÑтвено чиÑло на ключ '%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "ÐеÑъответÑтвие на Ñъдържание м/у единÑтвено и множеÑтвено чиÑло"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4328,18 +4404,339 @@ msgstr ""
"MSGID_BUGS_ADDRESS променлива, иначе Ñе задава\n"
", на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´, Ð¾Ð¿Ñ†Ð¸Ñ --msgid-bugs-address.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "непознат език '%s'"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: предупреждение: Ñамотен замеÑтител U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Да Ñе зададе кодировка на източника чрез --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
+"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚.\n"
+"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° файла.\n"
+"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° реда.\n"
+"Да Ñе зададе правилна кодировка на източника чрез --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
+"Да Ñе зададе кодировка на източника чрез --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: предупреждение: предÑрочно прекъÑнат регулÑрен израз"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: предупреждение: %s не е допуÑтим"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: предупреждение: незавършено XML изразÑване"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: не може да Ñе намери ограничител за край на низ \"%s\" до ÐºÑ€Ð°Ñ Ð½Ð° "
+"файла"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: липÑва дÑÑна Ñкоба за \\x{ШЕСТÐÐДЕСЕТИЧÐО}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: неправилно вмъкване (\"\\l\") на 8-битова буква \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: неправилно вмъкване (\"\\u\") на 8-битова буква \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: неправилно вмъкване на променлива при \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: неправилно вмъкване (\"\\L\") на 8-битова буква \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: неправилно вмъкване (\"\\U\") на 8-битова буква \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Да Ñе зададе кодиране на източника чрез --from-code или чрез\n"
+"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
+"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
+"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðезавършена многобайтова поÑледователноÑÑ‚.\n"
+"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
+"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðезавършена многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° файла.\n"
+"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
+"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðепълна многобайтова поÑледователноÑÑ‚ в ÐºÑ€Ð°Ñ Ð½Ð° реда.\n"
+"Да Ñе зададе правилното кодиране на източника чрез --from-code или чрез\n"
+"коментар, като е указано в http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðеправилна многобайтова поÑледователноÑÑ‚.\n"
+"Да Ñе зададе кодиране на източника чрез --from-code или чрез коментар,\n"
+"като е указано в http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "ÐеизвеÑтно кодиране \"%s\". Продължаване на работата Ñ ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: неправилен определение за низ"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: липÑва чиÑло Ñлед #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: неправилен израз от тип низ"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: предупреждение: ÑинтакÑиÑа $\"...\" е забранен от ÑÑŠÐ¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° "
+"ÑигурноÑÑ‚, вмеÑто това да Ñе използва eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: предупреждение: предÑрочно прекъÑнат регулÑрен израз"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<неназован>"
-#~ msgid "header field '%s' should start at beginning of line\n"
-#~ msgstr "заглавно поле '%s' Ñ‚Ñ€Ñбва да започне от началото на реда\n"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "неправилна UTF-8 поÑледователноÑÑ‚"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "'%s' е неправилно име: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "'%s' е неправилно име: '%c'"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "неправилна отправка към знак: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "неправилно изпиÑано чиÑло"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "липÑва край - ';'"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "недопуÑтим знак"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "празен"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "неизвеÑтен"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "неправилна препратка: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "документа Ñ‚Ñ€Ñбва да започне Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "неправилен знак Ñлед '%s'"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "липÑва '%c'"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "липÑва '%c' или '%c'"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "има на затварÑщ елемент"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "елемента е затворен"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "празен документ"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "Ñлед '<'"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "елемента е вÑе още отворен"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "липÑва '>'"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "в име на елемент"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "в име на признак"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "в отворена отметка"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "Ñлед '='"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "в ÑтойноÑÑ‚ на признак"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "в затрорена отметка"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "в бележка или изнÑÑ‚Ð¸ÐºÑ†Ð¸Ñ Ð·Ð° обработка"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "документа завърши неочаквано: %s"
-#~ msgid "some header fields still have the initial default value\n"
-#~ msgstr ""
-#~ "вÑе още нÑкой заглавни полета Ñа Ñ Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ‚Ðµ ÑтойноÑÑ‚ по подразбиране\n"
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "ГлавниÑÑ‚ елемент <%s> не е разрешен в правилен CLDR файл"
diff --git a/gettext-tools/po/ca.gmo b/gettext-tools/po/ca.gmo
index 6c7888c..00105ff 100644
--- a/gettext-tools/po/ca.gmo
+++ b/gettext-tools/po/ca.gmo
Binary files differ
diff --git a/gettext-tools/po/ca.po b/gettext-tools/po/ca.po
index 368dc03..8e79555 100644
--- a/gettext-tools/po/ca.po
+++ b/gettext-tools/po/ca.po
@@ -1,8 +1,8 @@
# Catalan messages for GNU gettext-tools.
-# Copyright (C) 2001, 2002, 2003, 2007, 2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2007, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
#
-# Ivan Vilata i Balaguer <ivan@selidor.net>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2013, 2014.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2013, 2014, 2015.
#
# Sóc Ivan, aquestes són les convencions que adopte per a la 0.19-rc1:
#
@@ -50,10 +50,10 @@
# options). Also strings used in multiline error and warning messages. ivb
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.4-rc1\n"
+"Project-Id-Version: gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-12-12 13:33+0100\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-06-25 19:19+0200\n"
"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
@@ -108,45 +108,45 @@ msgid "write error"
msgstr "error d’escriptura"
# Condició d’error. Usa quote(). ivb
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "en preservar els permissos de %s"
# Usa quote(). ivb
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "error en obrir %s per a llegir"
# Usa quote(). ivb
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "no s’ha pogut obrir el fitxer còpia de seguretat %s per a escriure"
# Usa quote(). ivb
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "error en llegir %s"
# Usa quote(). ivb
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "error en escriure %s"
# Usa quote(). ivb
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "error després d’haver llegit %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "ha fallat fdopen()"
@@ -173,58 +173,63 @@ msgstr "Error desconegut del sistema"
msgid "%s subprocess failed"
msgstr "el subprocés «%s» ha fallat"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: l’opció «%s» és ambígua; possibilitats:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: l’opció «%s» és ambígua\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: l’opció «--%s» no admet arguments\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: l’opció «%c%s» no admet arguments\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: l’opció «--%s» necessita un argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: l’opció «--%s» no és reconeguda\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: l’opció «%c%s» no és reconeguda\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: l’opció «%c» no és vàlida\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: l’opció «%c» necessita un argument\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: l’opció «-W %s» és ambígua\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: l’opció «-W %s» no admet arguments\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: l’opció «-W %s» necessita un argument\n"
@@ -240,15 +245,16 @@ msgstr "l’argument «source_version» passat a compile_java_class() no és và
msgid "invalid target_version argument to compile_java_class"
msgstr "l’argument «target_version» passat a compile_java_class() no és vàlid"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "no s’ha pogut crear «%s»"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "error en escriure el fitxer «%s»"
@@ -267,15 +273,15 @@ msgstr ""
"no s’ha trobat cap màquina virtual de Java, instal·leu «gij» o establiu la "
"variable d’entorn JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "error d’E/S amb el subprocés «%s»"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "la memòria s’ha exhaurit"
@@ -286,7 +292,7 @@ msgid "creation of threads failed"
msgstr "la creació de fils ha fallat"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "no s’ha pogut escriure al subprocés «%s»"
@@ -332,11 +338,11 @@ msgstr "el subprocés «%s» ha terminat amb codi d’eixida %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "«"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "»"
@@ -373,27 +379,160 @@ msgstr "subprocés «%s»"
msgid "%s subprocess got fatal signal %d"
msgstr "el subprocés «%s» ha rebut el senyal fatal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error en obrir «%s» per a llegir"
+msgid "The root element must be <%s>"
+msgstr ""
-# ivb (2002/12/16)
-# ivb Ací el segon «%s» és el nom d’un llenguatge de programació.
-# El primer és «msgstr» o «msgstr[n]». ivb
-# El motiu està traduït. ivb
-#: src/format.c:151
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "no es permet l’element arrel «%s» en un fitxer Glade vàlid"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"«%s» no és una cadena vàlida de format de %s, com la de «%s». Motiu: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Proveu «%s --help» per a obtenir més informació.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Forma d’ús: %s [OPCIÓ] [FITXER]…\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Els arguments obligatoris per a les opcions llargues també ho són per a les\n"
+"opcions curtes corresponents. El mateix ocorre amb els arguments opcionals.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help Mostra aquesta ajuda i ix.\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help Mostra aquesta ajuda i ix.\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Mostra informació sobre la versió i ix.\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Informeu dels errors a <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"GPLv3+: llicència GNU GPL ver. 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
+"Aquest és programari lliure: podeu modificarâ€lo i redistribuirâ€lo si voleu.\n"
+"No hi ha CAP GARANTIA, en la mesura que ho permeta la llei.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Escrit per %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+# No empra quote(). ivb
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "«%s» existeix però no s’ha pogut llegir"
+
+# No usa quote(). ivb
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "no s’ha pogut eliminar el directori temporal «%s»"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error en obrir «%s» per a llegir"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -401,32 +540,43 @@ msgstr ""
"no existeix, com en «%2$s», una especificació de format de l’argument %1$u "
"en «%3$s»"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "no existeix una especificació de format de l’argument %u en «%s»"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"les especificacions de format en «%s» i «%s» de l’argument %u no són les "
"mateixes"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "La directiva número %u comença amb «|» però no acaba en «|»."
-#: src/format-c.c:36
+# ivb (2002/12/16)
+# ivb Ací el segon «%s» és el nom d’un llenguatge de programació.
+# El primer és «msgstr» o «msgstr[n]». ivb
+# El motiu està traduït. ivb
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"«%s» no és una cadena vàlida de format de %s, com la de «%s». Motiu: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -436,56 +586,56 @@ msgstr ""
"macro d’especificació de format. Els noms vàlids de macro es troben "
"llistats en ISO C 99, secció 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"A la directiva número %u, el component que segueix «<» no està seguit de «>»."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"La cadena es refereix a l’argument número %u però passa per alt l’argument "
"número %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "el nombre d’especificacions de format en «%s» i «%s» no coincideix"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "A la directiva número %u, «{» no està seguit d’un número d’argument."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "A la directiva número %u, «,» no està seguit d’un número."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"La cadena acaba emmig d’una directiva: s’ha trobat una «{» sense la «}» "
"corresponent."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"La directiva número %u acaba en el caràcter no vàlid «%c», en lloc de «}»."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "La directiva número %u acaba en un caràcter no vàlid, en lloc de «}»."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -493,7 +643,7 @@ msgstr ""
"La cadena comença emmig d’una directiva: s’ha trobat una «}» sense la «{» "
"corresponent."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "La cadena conté un «}» solt després de la directiva número %u."
@@ -616,7 +766,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "La cadena es refereix a l’argument número %u de formes incompatibles."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -625,19 +775,19 @@ msgstr ""
"A la directiva número %u, la subcadena «%s» no té un estil de data/hora "
"vàlid."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "A la directiva número %u, «%s» no està seguit d’una coma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"A la directiva número %u, la subcadena «%s» no és un estil numèric vàlid."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -647,12 +797,12 @@ msgstr ""
"una de «%s», «%s», «%s» o «%s»."
# «choice» és el que apareix literalment en la directiva. ivb
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "A la directiva número %u, una selecció («choice») no conté cap número."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -661,7 +811,7 @@ msgstr ""
"A la directiva número %u, una selecció («choice») conté un número que no "
"està seguit per «<», «#» o «%s»."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -669,12 +819,12 @@ msgstr ""
"no existeix, com en «%2$s», una especificació de format de l’argument {%1$u} "
"en «%3$s»"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "no existeix una especificació de format de l’argument {%u} en «%s»"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -682,7 +832,30 @@ msgstr ""
"les especificacions de format de l’argument {%3$u} en «%1$s» i «%2$s» no són "
"les mateixes"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"La cadena es refereix a l’argument número %u però passa per alt els "
+"arguments número %u i %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"no existeix una especificació de format per als arguments %u i %u en «%s», "
+"només es pot descartar un argument"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "error en analitzar: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -692,7 +865,7 @@ msgstr ""
"A la directiva número %u, el paràmetre %u és de tipus «%s», però se "
"n’esperava un de tipus «%s»."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -707,36 +880,36 @@ msgstr[1] ""
"A la directiva número %u, s’han especificat massa paràmetres; se n’esperaven "
"%u com a molt."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "A la directiva número %u, «%c» no està seguit d’un dígit."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "A la directiva número %u, l’argument %d és negatiu."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "La cadena acaba emmig d’una directiva «~/…/»."
# Són parèntesis. ivb
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "S’ha trobat «~%c» sense el «~%c» corresponent."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
"A la directiva número %u, s’han especificat tant el modificador «@» com el "
"«:»."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -745,27 +918,33 @@ msgstr ""
"A la directiva número %u, «~[» no està seguit de dues clàusules separades "
"per «~;»."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "A la directiva número %u, «~;» s’empra en una posició no vàlida."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "La cadena es refereix a algun argument de formes incompatibles."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "les especificacions de format en «%s» i «%s» no són equivalents"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"les especificacions de format de «%s» no són un subconjunt de les de «%s»"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "no existeix una especificació de format de l’argument «%s» en «%s»"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -774,14 +953,38 @@ msgstr ""
"A la directiva número %u, l’especificació de mida no és compatible amb "
"l’especificació de conversió «%c»."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "no existeix una especificació de format de l’argument «%s» en «%s»"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "A la directiva número %u, «%c» no pot començar un nom de camp."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"A la directiva número %u, «%c» no pot començar un argument per a «getattr()»."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"A la directiva número %u, «%c» no pot començar un argument per a «getitem()»."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"A la directiva número %u, no s’admet més niament en l’especificació de "
+"format."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+"A la directiva número %u, hi ha una directiva de format sense terminar."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -789,13 +992,13 @@ msgstr ""
"La subcadena es refereix a arguments tant pel seu nom com per "
"especificacions d’argument sense nom."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"La cadena es refereix a l’argument anomenat «%s» de formes incompatibles."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -803,7 +1006,7 @@ msgstr ""
"les especificacions de format de «%s» necessiten un mapa, les de «%s» una "
"tupla"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -811,7 +1014,7 @@ msgstr ""
"les especificacions de format de «%s» necessiten una tupla, les de «%s» un "
"mapa"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -819,7 +1022,7 @@ msgstr ""
"no existeix, com en «%2$s», una especificació de format de l’argument «%1$s» "
"en «%3$s»"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -827,38 +1030,7 @@ msgstr ""
"les especificacions de format de l’argument «%3$s» en «%1$s» i «%2$s» no són "
"les mateixes"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "A la directiva número %u, «%c» no pot començar un nom de camp."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"A la directiva número %u, «%c» no pot començar un argument per a «getattr()»."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-"A la directiva número %u, «%c» no pot començar un argument per a «getitem()»."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"A la directiva número %u, no s’admet més niament en l’especificació de "
-"format."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-"A la directiva número %u, hi ha una directiva de format sense terminar."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -867,11 +1039,11 @@ msgstr ""
"«%s» és una cadena de format simple, però «%s» no ho és: conté un indicador "
"«L» o un número d’argument amb un dígit doble"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "La cadena es refereix a una variable d’intèrpret amb un nom noâ€ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -879,7 +1051,7 @@ msgstr ""
"La cadena es refereix a una variable d’intèrpret amb una sintaxi de claus "
"complexa. No es permet l’ús d’aquesta sintaxi per motius de seguretat."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -887,18 +1059,18 @@ msgstr ""
"La cadena es refereix a una variable d’intèrpret el valor de la qual pot ser "
"diferent dins de les funcions d’intèrpret."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "La cadena es refereix a una variable d’intèrpret amb un nom buit."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "A la directiva número %u, el caràcter «%c» no és un dígit entre 1 i 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -906,75 +1078,40 @@ msgid ""
msgstr ""
"El caràcter que termina la directiva número %u no és un dígit entre 1 i 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright © %s Free Software Foundation, Inc.\n"
-"GPLv3+: llicència GNU GPL ver. 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
-"Aquest és programari lliure: podeu modificarâ€lo i redistribuirâ€lo si voleu.\n"
-"No hi ha CAP GARANTIA, en la mesura que ho permeta la llei.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Escrit per %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "sobren arguments"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Proveu «%s --help» per a obtenir més informació.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Forma d’ús: %s [OPCIÓ]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Mostra el nom d’estació de la màquina.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Format de l’eixida:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short Nom curt de l’estació.\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -984,77 +1121,105 @@ msgstr ""
" -f, --fqdn, --long Nom llarg de l’estació, inclou el nom de domini\n"
" completament qualificat i els àlies.\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address Adreces corresponents al nom d’estació.\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Eixida informativa:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help Mostra aquesta ajuda i ix.\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "no s’ha pogut obtenir el nom d’estació"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version Mostra informació sobre la versió i ix.\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "cal que especifiqueu almenys dos fitxers"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Informeu dels errors a <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "no s’ha pogut crear una canonada"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "no s’ha pogut obtenir el nom d’estació"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+# Usa quote() en les 2. ivb
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "l’argument %s no és vàlid per a %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "no s’ha pogut crear una canonada"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+# No empra quote(). ivb
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "«%s» no existeix"
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "no s’ha pogut crear el fitxer d’eixida «%s»"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "es permet com a molt un fitxer d’entrada"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "«%s» i «%s» són mútuament excloents"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Forma d’ús: %s [OPCIÓ] [FITXER_ENTRADA]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1063,10 +1228,10 @@ msgstr ""
"Filtra els missatges d’un catàleg de traduccions segons els seus atributs, i\n"
"manipula aquests atributs.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1074,23 +1239,23 @@ msgstr ""
"Els arguments obligatoris per a les opcions llargues també ho són per a les\n"
"opcions curtes corresponents.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Ubicació del fitxer d’entrada:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " FITXER_ENTRADA Fitxer PO d’entrada.\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1099,34 +1264,35 @@ msgstr ""
" Afegeix el DIRECTORI a la llista de cerca de fitxers\n"
" d’entrada.\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Si no s’especifica cap fitxer d’entrada, o si aquest és «-», es llegirà\n"
"l’entrada estàndard.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Ubicació del fitxer d’eixida:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=FITXER\n"
" Escriu l’eixida al fitxer especificat.\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1136,12 +1302,12 @@ msgstr ""
"fitxer\n"
"d’eixida, o si aquest és «-».\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Selecció dels missatges:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1149,7 +1315,7 @@ msgstr ""
" --translated Manté els missatges traduïts, elimina els no "
"traduïts.\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1157,53 +1323,53 @@ msgstr ""
" --untranslated Manté els missatges no traduïts, elimina els "
"traduïts.\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy Elimina els missatges marcats com a «fuzzy».\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy Manté els missatges marcats com a «fuzzy».\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete Elimina els missatges obsolets («#~»).\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete Manté els missatges obsolets («#~»).\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulació dels atributs:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy Marca tots els missatges com a «fuzzy».\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy Marca tots els missatges com a noâ€Â«fuzzy».\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete Marca tots els missatges com a obsolets.\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete Marca tots els missatges com a no obsolets.\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1212,7 +1378,7 @@ msgstr ""
" --previous En marcar els missatges com a «fuzzy», manté els\n"
" «msgid» anteriors dels missatges traduïts.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1221,7 +1387,7 @@ msgstr ""
" --clear-previous Elimina de tots els missatges el comentari amb el\n"
" «msgid» anterior.\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1229,7 +1395,7 @@ msgstr ""
" --empty En eliminar la marca «fuzzy» també deixa buit el\n"
" «msgstr» corresponent.\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1238,7 +1404,7 @@ msgstr ""
" Només manipula les entrades llistades al FITXER.po\n"
" indicat.\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1248,27 +1414,27 @@ msgstr ""
"po\n"
" indicat.\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy Equival a «--only-fuzzy --clear-fuzzy».\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr " --obsolete Equival a «--only-obsolete --clear-obsolete».\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sintaxi del fitxer d’entrada:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1278,8 +1444,8 @@ msgstr ""
"de\n"
" Java.\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1289,17 +1455,17 @@ msgstr ""
" El fitxer d’entrada segueix la sintaxi «.strings» de\n"
" NeXTstep/GNUstep.\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Detalls de l’eixida:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1314,18 +1480,18 @@ msgstr ""
"«html»\n"
" (sempre, mai, automàtic, HTML).\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=FITXER Empra el fitxer indicat de full d’estil CSS per a\n"
" «--color».\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1333,9 +1499,9 @@ msgstr ""
" -e, --no-escape No empra seqüències d’escapada de C a l’eixida (per\n"
" defecte).\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1343,27 +1509,27 @@ msgstr ""
" -E, --escape Empra seqüències d’escapada de C a l’eixida, en lloc\n"
" de caràcters estesos.\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po Genera el fitxer PO encara que estiga buit.\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent Genera el fitxer PO emprant l’estil indentat.\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location No escriu les línies «#: nom_fitxer:línia».\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1371,8 +1537,8 @@ msgstr ""
" -n, --add-location Escriu les línies «#: nom_fitxer:línia» (per\n"
" defecte).\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1380,18 +1546,18 @@ msgstr ""
" --strict Genera un fitxer PO estrictament conforme amb "
"Uniforum.\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output\n"
" Genera un fitxer amb sintaxi «.properties» de Java.\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1400,16 +1566,16 @@ msgstr ""
" Genera un fitxer amb sintaxi «.strings» de\n"
" NeXTstep/GNUstep.\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=AMPLADA Estableix l’amplada de pàgina de l’eixida.\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1418,27 +1584,27 @@ msgstr ""
" --no-wrap No parteix les línies de missatge més llargues que\n"
" l’amplada de pàgina.\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output Genera una eixida ordenada.\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file Ordena les eixides per llurs ubicacions en fitxer.\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "s’ha especificat un criteri de selecció impossible (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Forma d’ús: %s [OPCIÓ] [FITXER_ENTRADA]…\n"
@@ -1446,7 +1612,7 @@ msgstr "Forma d’ús: %s [OPCIÓ] [FITXER_ENTRADA]…\n"
# ivb (2001/12/24)
# ivb Aquesta traducció no és completament literal però queda més clar.
# ivb Amb «commonality» vol dir «nombre de coincidències».
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1468,25 +1634,25 @@ msgstr ""
"extrets i posicions de fitxer s’acumularan, a no ser que especifiqueu\n"
"«--use-first», al qual cas es treuran del primer fitxer PO que els definesca.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " FITXER_ENTRADA… Fitxers d’entrada.\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=FITXER\n"
" Obté la llista de fitxers d’entrada del FITXER.\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Si el fitxer d’entrada és «-» es llegirà l’entrada estàndard.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1496,7 +1662,7 @@ msgstr ""
" Escriu els missatges amb menys de NÚMERO definicions\n"
" (per defecte infinites).\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1507,7 +1673,7 @@ msgstr ""
"(per\n"
" defecte 0).\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1517,8 +1683,8 @@ msgstr ""
"s’escriguen\n"
" els missatges únics.\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1528,8 +1694,8 @@ msgstr ""
"properties»\n"
" de Java.\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1540,12 +1706,12 @@ msgstr ""
"de\n"
" NeXTstep/GNUstep.\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NOM Codificació de l’eixida.\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1555,7 +1721,7 @@ msgstr ""
"mescla\n"
" diverses traduccions.\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1565,26 +1731,26 @@ msgstr ""
"capçalera.\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "no s’ha especificat cap fitxer d’entrada"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "cal que especifiqueu exactament dos fitxers d’entrada"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Forma d’ús: %s [OPCIÓ] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1602,22 +1768,22 @@ msgstr ""
"es puga trobar una coincidència exacta, s’emprarà una comparació difusa per a\n"
"produir uns diagnòstics millors.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po Traduccions.\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot Referències al codi font.\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificadors del funcionament:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1626,63 +1792,63 @@ msgstr ""
" -m, --multi-domain Aplica «ref.pot» a cadascun dels dominis de «def."
"po».\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
" -N, --no-fuzzy-matching\n"
" No empra la comparació difusa.\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy Té en compte les entrades difuses.\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
" --use-untranslated\n"
" Té en compte les entrades no traduïdes.\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "aquest missatge no està traduït"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "aquest missatge ha de ser revisat pel traductor"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "aquest missatge s’empra però no s’ha definit…"
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "…però aquesta definició és similar"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "aquest missatge s’empra però no s’ha definit en «%s»"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "avís: aquest missatge no s’empra"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "s’ha trobat %d error fatal"
msgstr[1] "s’han trobat %d errors fatals"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "cal que especifiqueu almenys dos fitxers"
@@ -1690,7 +1856,7 @@ msgstr "cal que especifiqueu almenys dos fitxers"
# ivb (2001/12/24)
# ivb Aquesta traducció no és completament literal però queda més clar.
# ivb Amb «commonality» vol dir «nombre de coincidències».
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1711,7 +1877,7 @@ msgstr ""
"que els definesca. Les posicions de fitxer de tots els fitxers PO\n"
"s’acumularan.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1722,43 +1888,43 @@ msgstr ""
"(per\n"
" defecte 1).\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header No escriu la capçalera amb l’entrada «msgid \"\"».\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Converteix un catàleg de traduccions a una codificació de caràcters "
"diferent.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Objectiu de la conversió:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "La codificació per defecte és la del locale actual.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent Genera el fitxer PO emprant l’estil indentat.\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location No escriu les línies «#: nom_fitxer:línia».\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1766,30 +1932,30 @@ msgstr ""
" -n, --add-location Escriu les línies «#: nom_fitxer:línia» (per\n"
" defecte).\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict Genera un fitxer PO estrictament conforme amb "
"Uniforum.\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "no s’ha especificat cap fitxer d’entrada"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "cal que especifiqueu exactament un fitxer d’entrada"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Forma d’ús: %s [OPCIÓ] FITXER_ENTRADA\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1802,22 +1968,22 @@ msgstr ""
"amb «xgettext»). S’assignarà a les entrades no traduïdes una traducció igual\n"
"al «msgid» corresponent.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " FITXER_ENTRADA Fitxer d’entrada PO o POT.\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "manca el nom d’una ordre"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Forma d’ús: %s [OPCIÓ] ORDRE [OPCIÓ_D’ORDRE]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1832,7 +1998,7 @@ msgstr ""
"esdevé l’eixida de «msgexec». El codi de retorn de «msgexec» és el codi màxim\n"
"de totes les invocacions del programa.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1841,39 +2007,51 @@ msgstr ""
"L’ordre incorporada «0» genera la traducció seguida d’un octet nul. L’eixida\n"
"de «msgexec 0» és adequada com a entrada per a «xargs -0».\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Entrada de l’ordre:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline Afegeix un caràcter de nova línia al final de\n"
+" l’entrada.\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
" -i, --input=FITXER_ENTRADA\n"
" Fitxer PO d’entrada.\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "no s’ha pogut escriure a l’eixida estàndard"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "manca el nom d’un filtre"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "cal que especifiqueu almenys un guió de «sed»"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Forma d’ús: %s [OPCIÓ] FILTRE [OPCIÓ_DE_FILTRE]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Aplica un filtre a cada traducció d’un catàleg de traduccions.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1882,18 +2060,34 @@ msgstr ""
"El FILTRE pot ser qualsevol programa que llija una traducció de l’entrada\n"
"estàndard i n’escriga una de modificada a l’eixida estàndard.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Entrada i eixida del filtre:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline Afegeix un caràcter de nova línia al final de\n"
+" l’entrada i elimina un caràcter de nova línia del "
+"final\n"
+" de l’eixida."
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "OPCIONS_DE_FILTRE útils quan el FILTRE és «sed»:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=GUIÓ Afegeix el GUIÓ a les ordres a executar.\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1905,7 +2099,7 @@ msgstr ""
"a\n"
" executar.\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1913,7 +2107,7 @@ msgstr ""
" -n, --quiet, --silent Evita la impressió automàtica de l’espai de "
"patró.\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1921,12 +2115,12 @@ msgstr ""
" --no-escape No empra seqüències d’escapada de C a l’eixida (per\n"
" defecte).\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent Genera el fitxer PO emprant l’estil indentat.\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1934,128 +2128,129 @@ msgstr ""
" --keep-header Manté intacta l’entrada de capçalera, sense filtrarâ€"
"la.\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "l’eixida del filtre no acaba en un caràcter de nova línia"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "l’argument de «%s» ha de ser un sol caràcter de puntuació"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "l’ordenació d’octets «%s» no és vàlida"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
# No empra quote(). ivb
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "no s’ha d’indicar cap fitxer d’entrada si s’especifiquen «%s» i «%s»"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "«%s» necessita una especificació «-d DIRECTORI»"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "«%s» necessita una especificació «-l LOCALE»"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "«%s» necessita una especificació «--template PLANTILLA»"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "«%s» necessita una especificació «-o FITXER»"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "«%s» i «%s» són mútuament excloents en emprar «%s»"
# ivb (2001/12/26)
# ivb Els «%s» es refereixen a opcions -> femení.
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "«%s» només és vàlida amb «%s» o «%s»"
# ivb (2001/12/26)
# ivb Els «%s» es refereixen a opcions -> femení.
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "«%s» només és vàlida amb «%s», «%s» o «%s»"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "no s’ha pogut crear el fitxer d’eixida «%s»"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d missatge traduït"
msgstr[1] "%d missatges traduïts"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d traducció difusa"
msgstr[1] ", %d traduccions difuses"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d missatge no traduït"
msgstr[1] ", %d missatges no traduïts"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Forma d’ús: %s [OPCIÓ] nom_fitxer.po…\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Genera un catàleg binari de missatges partint d’una descripció textual de\n"
"traduccions.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Els arguments obligatoris per a les opcions llargues també ho són per a les\n"
-"opcions curtes corresponents. El mateix ocorre amb els arguments opcionals.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " nom_fitxer.po… Fitxers d’entrada.\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Mode de funcionament:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -2064,7 +2259,7 @@ msgstr ""
" -j, --java Mode Java: genera una classe «ResourceBundle» de "
"Java.\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -2073,13 +2268,13 @@ msgstr ""
" --java2 Com «--java», però assumeix Java2 (JDK 1.2 o "
"superior).\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp Mode C#: genera un fitxer «.dll» de .NET.\n"
# Els recursos són cosa de la plataforma .NET, no només de C#. ivb
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -2091,7 +2286,7 @@ msgstr ""
" .NET.\n"
# Amb «tcl/msgcat» es refereix al paquet «msgcat» de Tcl. ivb
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -2099,41 +2294,46 @@ msgstr ""
" --tcl Mode Tcl: genera un fitxer «.msg» per a «msgcat» de\n"
" Tcl.\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Mode Qt: genera un fitxer «.qm» de Qt.\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --desktop Mode Desktop: genera un fitxer «.desktop».\n"
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Mode Qt: genera un fitxer «.qm» de Qt.\n"
+
# Ull! En aquest cas no és un fitxer PO! ivb
-#: src/msgfmt.c:818
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict Genera un fitxer estrictament conforme amb Uniforum.\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Si el fitxer d’eixida és «-» s’escriurà a l’eixida estàndard.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Ubicació del fitxer d’eixida al mode Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RECURS Nom del recurs.\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2141,7 +2341,7 @@ msgid ""
msgstr ""
" -l, --locale=LOCALE Nom del locale, bé «idioma» o bé «idioma_PAÃS».\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2149,7 +2349,7 @@ msgid ""
msgstr ""
" --source Produeix un fitxer «.java» en lloc d’un «.class».\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -2157,7 +2357,7 @@ msgstr ""
" -d DIRECTORI Directori base de la jerarquia de directoris de les\n"
" classes.\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2170,12 +2370,12 @@ msgstr ""
"separats per un caràcter de subratllat. L’opció «-d» és obligatòria. La\n"
"classe s’escriurà sota el directori especificat.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Ubicació del fitxer d’eixida al mode C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2184,7 +2384,7 @@ msgstr ""
" -d DIRECTORI Directori base dels fitxers «.dll» dependents del\n"
" locale.\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2195,18 +2395,18 @@ msgstr ""
"subdirectori del directori especificat. El nom del subdirectori depén del\n"
"locale.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Ubicació del fitxer d’eixida al mode Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORI Directori base dels catàlegs «.msg» de missatges.\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2216,23 +2416,23 @@ msgstr ""
"el\n"
"directori especificat.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Opcions del mode Desktop:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=FITXER Empra un FITXER «.desktop» com a plantilla.\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRECTORI Directori base dels fitxers PO.\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2242,7 +2442,7 @@ msgstr ""
" Cerca també la PARAULA clau indicada.\n"
" -k, --keyword No cerca les paraules clau per defecte.\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2254,12 +2454,28 @@ msgstr ""
"es llegiran els fitxers d’entrada del directori indicat en lloc dels donats\n"
"com a arguments de la línia d’ordres.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "Opcions del mode Desktop:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+" --template=FITXER Empra un FITXER «.desktop» com a plantilla.\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretació del fitxer d’entrada:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2271,14 +2487,14 @@ msgstr ""
"domain».\n"
# Segons la doc, quan ací diu «language» es refereix a un de programació. ivb
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format Comprova les cadenes de format dependents del\n"
" llenguatge de programació.\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2288,7 +2504,7 @@ msgstr ""
" capçalera.\n"
# La directiva s’anomena «domain». ivb
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2297,7 +2513,7 @@ msgstr ""
" --check-domain Comprova si hi ha conflictes entre les directives\n"
" «domain» i l’opció «--output-file».\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2307,7 +2523,7 @@ msgstr ""
" Comprova si el «msgfmt» de GNU es comporta com el\n"
" «msgfmt» d’X/Open.\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2318,12 +2534,12 @@ msgstr ""
" Comprova la presència d’acceleradors de teclat per a\n"
" ítems de menú.\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy Empra a l’eixida les entrades difuses.\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2331,7 +2547,7 @@ msgstr ""
" -a, --alignment=NÚMERO\n"
" Alinea les cadenes a NÚMERO octets (%d per defecte).\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2345,7 +2561,7 @@ msgstr ""
" indicada (big-endian o little-endian, el valor per\n"
" defecte depèn de la plataforma).\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2353,93 +2569,92 @@ msgstr ""
" --no-hash Fa que el fitxer binari no incloga la taula de\n"
" dispersió.\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics Mostra estadístiques sobre les traduccions.\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose Augmenta el nivell de descripció.\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "avís: la capçalera del fitxer PO manca o no és vàlida\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "avís: la conversió del joc de caràcters no funcionarà\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "avís: la capçalera del fitxer PO està marcada com a difusa\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "avís: les versions antigues de «msgfmt» ho indicaran com un error\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "el nom de domini «%s» no és adequat com a nom de fitxer"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"el nom de domini «%s» no és adequat com a nom de fitxer: se n’emprarà un "
"prefix"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "es descarta la directiva «domain %s»"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "es descarta l’entrada «msgstr» buida"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "es descarta l’entrada «msgstr» difusa"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: avís: el fitxer font conté una traducció difusa"
# No empra quote(). ivb
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "«%s» no existeix"
# No empra quote(). ivb
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "«%s» existeix però no s’ha pogut llegir"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "error en llegir «%s»"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2447,7 +2662,7 @@ msgid ""
msgstr ""
"no es pot emprar l’opció «%c» abans d’especificar «J», «K», «T», «C» o «X»"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2456,7 +2671,7 @@ msgstr ""
"Extrau d’un catàleg de traduccions tots els missatges que concorden amb\n"
"un patró especificat o que pertanyen a uns fitxers font indicats.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2537,7 +2752,7 @@ msgstr ""
" -v, --invert-match Només tria els missatges que no concorden amb cap\n"
" criteri de selecció.\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2546,12 +2761,12 @@ msgstr ""
"de\n"
" caràcters estesos.\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output Genera una eixida ordenada.\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2668,15 +2883,15 @@ msgstr ""
"No s’ha trobat cap fitxer «.pot» al directori actual. Per favor,\n"
"especifiqueu el fitxer POT d’entrada amb l’opció «--input».\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "el subprocés «%s» ha fallat amb codi d’eixida %d"
# Aquest missatge va directament per pantalla… ivb
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2694,22 +2909,22 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Traduccions al català del paquet «%s»"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "el joc de caràcters actual, «%s», no és un nom portable de codificació"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "el fitxer d’entrada conté dos jocs de caràcters distints, «%s» i «%s»"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2717,7 +2932,7 @@ msgstr ""
"el fitxer d’entrada «%s» no conté una entrada de capçalera amb una "
"especificació de joc de caràcters"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2726,21 +2941,21 @@ msgstr ""
"el domini «%s» del fitxer d’entrada «%s» no conté una entrada de capçalera "
"amb una especificació de joc de caràcters"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"el joc de caràcters destinació, «%s», no és un nom portable de codificació"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "avís: "
# Multilínia. ivb
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2750,7 +2965,7 @@ msgstr ""
"«UTF-8» entre altres. Es convertirà l’eixida a «UTF-8».\n"
# Multilínia. ivb
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2764,7 +2979,7 @@ msgstr ""
"codificació, useu l’opció «--to-code».\n"
# Multilínia. ivb
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2779,7 +2994,7 @@ msgstr ""
"codi font.\n"
# Multilínia. ivb
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2793,13 +3008,13 @@ msgstr ""
"Aquestes són unes solucions possibles:\n"
# Multilínia. ivb
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "— Establiu LC_ALL a un locale amb codificació «%s».\n"
# Multilínia. ivb
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2811,7 +3026,7 @@ msgstr ""
" i aleshores torneuâ€lo a convertir en «%s» amb «msgconv».\n"
# Multilínia. ivb
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2825,7 +3040,7 @@ msgstr ""
" i aleshores torneuâ€lo a convertir en «%s» amb «msgconv».\n"
# Multilínia. ivb
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2839,26 +3054,26 @@ msgstr ""
# ivb (2002/01/03)
# ivb En aquestes frases, tant «nplurals» com «plural» es refereixen a
# ivb variables del camp «Plural-Forms» de la capçalera.
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "l’expressió de «plural» pot produir valors negatius"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"«nplurals» és %lu, però l’expressió de «plural» pot produir valors de fins a "
"%lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "l’expressió de «plural» pot produir una divisió entre zero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "l’expressió de «plural» pot produir un desbordament enter"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2870,51 +3085,51 @@ msgstr ""
# ivb El «%s» es refereix a un idioma, i tot el missatge recomana usar una
# ivb entrada de capçalera «Plural-Forms:».
# L’idioma és el de «Language-Team» (en anglés). ivb
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Proveu d’emprar açò, vàlid per a l’idioma «%s»:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "el catàleg de missatges té traduccions amb forma plural"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "però l’atribut «plural=EXPRESSIÓ» manca a l’entrada de capçalera"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "però l’atribut «nplurals=ENTER» manca a l’entrada de capçalera"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "el valor d’«nplurals» no és vàlid"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "l’expressió de «plural» no és vàlida"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "«nplurals» és %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "però alguns missatges només tenen una forma plural"
msgstr[1] "però alguns missatges només tenen %lu formes plurals"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "però alguns missatges tenen una forma plural"
msgstr[1] "però alguns missatges tenen %lu formes plurals"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2922,74 +3137,104 @@ msgstr ""
"el catàleg de missatges té traduccions amb forma plural, però hi manca una "
"entrada de capçalera amb «Plural-Forms: nplurals=ENTER; plural=EXPRESSIÓ;»"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "ambdues entrades «msgid» i «msgid_plural» no comencen per «\\n»"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "ambdues entrades «msgid» i «msgstr[%u]» no comencen per «\\n»"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "ambdues entrades «msgid» i «msgstr» no comencen per «\\n»"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "ambdues entrades «msgid» i «msgid_plural» no acaben en «\\n»"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "ambdues entrades «msgid» i «msgstr[%u]» no acaben en «\\n»"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "ambdues entrades «msgid» i «msgstr» no acaben en «\\n»"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "el maneig de plurals és una extensió del «gettext» de GNU"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "manca la marca d’accelerador de teclat «%c» en «msgstr»"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "sobren marques d’accelerador de teclat «%c» en «msgstr»"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "el camp de capçalera «%s» encara té el valor inicial per defecte\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "manca el camp de capçalera «%s» a la capçalera\n"
-#: src/msgl-iconv.c:65
+# Missatge d’error. ivb
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+"s’han trobat els punts suspensius ASCII «...» en lloc del caràcter Unicode "
+"«…»"
+
+# Missatge d’error. ivb
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+"s’ha trobat espai abans dels punts suspensius en una cadena visible per "
+"l’usuari"
+
+# Missatge d’error. ivb
+# El caràcter adequat depèn del context. ivb
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+"s’han trobat les cometes dobles ASCII «\"» en lloc del caràcter Unicode "
+"adequat"
+
+# Missatge d’error. ivb
+# El caràcter adequat depèn del context. ivb
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+"s’han trobat les cometes simples ASCII «'» en lloc del caràcter Unicode "
+"adequat"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: l’entrada no és vàlida segons la codificació «%s»"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: error en convertir de la condificació «%s» a la codificació «%s»"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"el fitxer d’entrada no conté una entrada de capçalera amb una especificació "
"de joc de caràcters"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2999,7 +3244,7 @@ msgstr ""
"permet l’ús d’aquesta conversió."
# Es refereix a quelcom que _ha_ocorregut_. ivb
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -3008,8 +3253,8 @@ msgstr ""
"La conversió de «%s» a «%s» crea duplicats: alguns msgid diferents esdevenen "
"iguals."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -3020,16 +3265,16 @@ msgstr ""
# ivb (2001/12/26)
# ivb Els «%s» es refereixen a opcions -> femení.
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "«%s» només és vàlida amb «%s»"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "tipus de còpia de seguretat"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -3053,17 +3298,17 @@ msgstr ""
"Quan no es puga trobar una coincidència exacta s’emprarà una comparació difusa\n"
"per a produir uns resultats millors.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po Traduccions referents al codi font antic.\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot Referències al nou codi font.\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -3074,7 +3319,7 @@ msgstr ""
"es\n"
" pot especificar diverses voltes.\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -3084,29 +3329,29 @@ msgstr ""
"troba\n"
" actualitzat.\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Ubicació del fitxer d’eixida al mode d’actualització:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "El resultat es torna a escriure sobre «def.po».\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL Crea una còpia de seguretat de «def.po».\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=SUFIX Substitueix el sufix habitual de còpia de "
"seguretat.\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -3127,7 +3372,7 @@ msgstr ""
" simples en cas contrari.\n"
" simple, never Fa còpies de seguretat simples sempre.\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -3138,24 +3383,24 @@ msgstr ""
"amb\n"
"la variable d’entorn SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous Manté els «msgid» anteriors dels missatges traduïts.\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent No mostra els indicadors de progrés.\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "cal definir formes plurals d’aquest missatge"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "no s’han de definir formes plurals d’aquest missatge"
@@ -3164,7 +3409,7 @@ msgstr "no s’han de definir formes plurals d’aquest missatge"
# ivb Pense que «aprofitades» queda més clar que «mesclades»; es refereix
# ivb a les traduccions obteses directament de «def.po». El primer «%s» és
# ivb (o no) una nova línia.
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3175,29 +3420,29 @@ msgstr ""
# ivb (2002/01/08)
# ivb Indica el final del processament, el gènere i nombre no són importants.
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " fet.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "«%s» i els noms explícits de fitxer són mútuament excloents"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Forma d’ús: %s [OPCIÓ] [FITXER]…\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Converteix un catàleg binari de missatges en un fitxer PO d’estil Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3207,14 +3452,14 @@ msgstr ""
"de\n"
" Java.\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp Mode C#: l’entrada és un fitxer «.dll» de .NET.\n"
# Els recursos són cosa de la plataforma .NET, no només de C#. ivb
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3225,7 +3470,7 @@ msgstr ""
" «.resources» de .NET.\n"
# Amb «tcl/msgcat» es refereix al paquet «msgcat» de Tcl. ivb
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3234,17 +3479,17 @@ msgstr ""
"«msgcat»\n"
" de Tcl.\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FITXER… Fitxers MO d’entrada.\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Ubicació del fitxer d’entrada al mode Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3257,12 +3502,12 @@ msgstr ""
"el\n"
"camí a les classes, CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Ubicació del fitxer d’entrada al mode C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3274,12 +3519,12 @@ msgstr ""
"del\n"
"locale.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Ubicació del fitxer d’entrada al mode Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3288,19 +3533,19 @@ msgstr ""
"Les opcions «-l» i «-d» són obligatòries. El fitxer «.msg» es trobarà al\n"
"directori especificat.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent Genera el fitxer PO emprant l’estil indentat.\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict Genera un fitxer PO estrictament conforme amb "
"Uniforum.\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3322,12 +3567,12 @@ msgstr ""
"de la primera traducció. Les posicions de fitxer s’acumularan. Quan useu\n"
"l’opció «--unique» es descartaran els duplicats.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated Només mostra els missatges duplicats.\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3336,7 +3581,7 @@ msgstr ""
" -u, --unique Només mostra els missatges únics, descartant els\n"
" duplicats.\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<entrada estàndard>"
@@ -3400,32 +3645,32 @@ msgstr ""
"Manca el joc de caràcters a la capçalera. La conversió dels missatges\n"
"al joc de caràcters de l’usuari no funcionarà.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "l’ús de «#~» no és consistent"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "manca la secció «msgstr[]»"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "manca la secció «msgid_plural»"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "manca la secció «msgstr»"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "la primera forma plural no té índex zero"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "la forma plural té un índex incorrecte"
@@ -3435,7 +3680,7 @@ msgstr "la forma plural té un índex incorrecte"
msgid "too many errors, aborting"
msgstr "hi ha massa errors, s’avorta"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "la seqüència multioctet no és vàlida"
@@ -3481,66 +3726,85 @@ msgstr "s’ha trobat un final de línia emmig de la cadena"
msgid "context separator <EOT> within string"
msgstr "s’ha trobat un separador de context «EOT» enmig de la cadena"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "aquest fitxer no ha de contenir directives «domain»"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "la definició del missatge és duplicada"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "aquesta és la ubicació de la primera definició"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "avís: el caràcter Unicode no és vàlid"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "manca el nom d’un filtre"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "el valor d’«nplurals» no és vàlid"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "el fitxer «%s» és truncat"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "el fitxer «%s» conté una cadena no acabada en nul"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "el fitxer «%s» no és en el format MO de GNU"
# ivb (2002/08/08)
# ivb «%s» és una cadena amb forma «sysdep_string[%u]»
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "el fitxer «%s» conté una cadena no acabada en nul, en «%s»"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "avís: la sintaxi «\\uxxxx» del caràcter Unicode no és vàlida"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "avís: la cadena no està terminada"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "avís: error de sintaxi"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "avís: el parell clau/valor no està terminat"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "avís: error de sintaxi, cal «;» després de la cadena"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "avís: error de sintaxi, cal «=» o «;» després de la cadena"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Escrit per %s i %s.\n"
@@ -3549,17 +3813,17 @@ msgstr "Escrit per %s i %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Recodifica un text en serbi de l’alfabet ciríl·lic al llatí.\n"
# Missatge d’ajuda. ivb
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3568,27 +3832,27 @@ msgstr ""
"El text d’entrada es llegeix de l’entrada estàndard. El text convertit\n"
"s’escriu a l’eixida estàndard.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "l’entrada no és vàlida segons la codificació «%s»"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "error en convertir de la condificació «%s» a la codificació «%s»"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "calen dos arguments"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Forma d’ús: %s [OPCIÓ] URL FITXER\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3597,38 +3861,38 @@ msgstr ""
"Obté i mostra el contingut d’una URL. Si no es pot accedir a la URL,\n"
"s’emprarà el FITXER accessible localment en lloc d’aquella.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "error en llegir «%s»"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "error en escriure a l’eixida estàndard"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "error després d’haver llegit «%s»"
# És un URL.
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "S’està obtenint %s…"
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " ha expirat.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " ha fallat.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3636,7 +3900,7 @@ msgstr ""
"No es poden generar diversos dominis de traducció dins d’un sol fitxer amb "
"el format d’eixida especificat. Proveu d’emprar la sintaxi de fitxer PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3644,7 +3908,7 @@ msgstr ""
"No es poden generar diversos dominis de traducció dins d’un sol fitxer amb "
"el format d’eixida especificat."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3652,7 +3916,7 @@ msgstr ""
"El catàleg de missatges té traduccions que depenen del context, però el "
"format d’eixida no permet l’ús de contexts."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3662,7 +3926,7 @@ msgstr ""
"d’eixida no en permet l’ús. Proveu de generar una classe Java emprant "
"«msgfmt --java», en lloc d’un fitxer «.properties»."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3670,12 +3934,12 @@ msgstr ""
"El catàleg de missatges té traduccions amb forma plural, però el format "
"d’eixida no en permet l’ús."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "no s’ha pogut crear el fitxer d’eixida «%s»"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "eixida estàndard"
@@ -3694,35 +3958,36 @@ msgstr "no s’ha pogut compil·lar la classe C#, per favor useu «--verbose»"
msgid "compilation of C# class failed"
msgstr "no s’ha pogut compil·lar la classe C#"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error en obrir «%s» per a escriure"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "«%s» no és un nom vàlid de classe Java"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"no s’ha pogut compil·lar la classe Java, per favor useu «--verbose» o "
"establiu la variable d’entorn JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"no s’ha pogut compil·lar la classe Java, per favor establiu la variable "
"d’entorn JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error en obrir «%s» per a escriure"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "la seqüència multioctet no és completa"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3731,7 +3996,7 @@ msgstr ""
"«%c»"
# Multilínia. ivb
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3745,7 +4010,7 @@ msgstr ""
"%s\n"
# Multilínia. ivb
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3759,7 +4024,7 @@ msgstr ""
"%s\n"
# Multilínia. ivb
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3769,7 +4034,7 @@ msgstr ""
"plurals.\n"
# Multilínia. ivb
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3782,7 +4047,7 @@ msgstr ""
"context.\n"
# Multilínia. ivb
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3792,13 +4057,13 @@ msgstr ""
"d’ISOâ€8859â€1, però el format de catàleg de missatges de Qt només\n"
"permet l’ús d’Unicode a les cadenes traduïdes, no a les no traduïdes.\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "error en escriure al subprocés «%s»"
# Multilínia. ivb
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3807,7 +4072,7 @@ msgstr ""
"el format «.resources» de C# no permet l’ús de contexts.\n"
# Multilínia. ivb
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3816,7 +4081,7 @@ msgstr ""
"format «.resources» de C# no permet el tractament de plurals.\n"
# Multilínia. ivb
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3825,7 +4090,7 @@ msgstr ""
"el format de catàleg de missatges de Tcl no permet l’ús de contexts.\n"
# Multilínia. ivb
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3834,38 +4099,38 @@ msgstr ""
"format de catàleg de missatges de Tcl no permet el tractament de\n"
"plurals.\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: avís: la cadena no està terminada"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: avís: l’expressió regular no està terminada"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "avís: el caràcter Unicode no és vàlid"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: avís: la constant caràcter no està terminada"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: avís: el literal cadena no està terminat"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code»."
# Multilínia. ivb
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3876,7 +4141,7 @@ msgstr ""
# Multilínia. ivb
# Hau! ivb
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3886,7 +4151,7 @@ msgstr ""
"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
# Multilínia. ivb
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3896,7 +4161,7 @@ msgstr ""
"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
# Multilínia. ivb
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3906,13 +4171,13 @@ msgstr ""
"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
# La funció. ivb
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: ha fallat iconv()"
# Multilínia. ivb
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3921,312 +4186,77 @@ msgstr ""
"%s:%d: La seqüència multioctet no és vàlida.\n"
"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: avís: el caràcter Unicode no és vàlid"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: avís: la constant cadena no està terminada"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: avís: s’ha trobat «)» on s’esperava «}»"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: avís: s’ha trobat «}» on s’esperava «)»"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "manca el context de la cadena extreta de l’element «%s»"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "no es permet l’element arrel «%s» en un fitxer Glade vàlid"
-
-# Crec que no hauria de tenir traducció. ivb
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-# Multilínia. L’argument és el nom del programa. ivb
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"No es permet l’ús del llenguatge «glade». «%s» fa ús d’«expat».\n"
-"Aquesta versió ha estat construïda sense «expat».\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: avís: el punt de codi surrogat U+%04X està solt"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-
-# Multilínia. ivb
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: La seqüència multioctet no és vàlida.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-
-# Multilínia. ivb
-# Hau! ivb
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: La seqüència multioctet llarga no és completa.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-
-# Multilínia. ivb
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Hi ha una seqüència multioctet incompleta al final del fitxer.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-
-# Multilínia. ivb
-#: src/x-javascript.c:312
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Hi ha una seqüència multioctet incompleta al final de la línia.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-
-# Multilínia. ivb
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: La seqüència multioctet no és vàlida.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: avís: el literal expressió regular termina massa aviat"
-
-# No empra quote(). ivb
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: avís: no es permet «%s»"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: avís: l’etiquetatge XML no està terminat"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: no s’ha trobat el terminador de cadena «%s» abans del final de fitxer"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: manca la clau dreta de «\\x{NÚMERO_HEX}»"
-
-# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: la interpolació «\\l» del caràcter de 8 bits «%c» no és vàlida"
-
-# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: la interpolació «\\u» del caràcter de 8 bits «%c» no és vàlida"
-
-# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: la interpolació de variable amb «%c» no és vàlida"
-
-# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: la interpolació «\\L» del caràcter de 8 bits «%c» no és vàlida"
-
-# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: la interpolació «\\U» del caràcter de 8 bits «%c» no és vàlida"
-
-# Multilínia. ivb
-# Cadena amb format «nom_fitxer:línia». ivb
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"Per favor, especifiqueu la codificació d’origen correcta amb\n"
-"«--from-code» o mitjançant un comentari com es descriu en\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+"«%s» no és nom de codificació vàlid, s’emprarà ASCII com a alternativa\n"
-# Multilínia. ivb
-#: src/x-python.c:324
+# Realment és una comprovació tipogràfica. ivb
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: La seqüència multioctet no és vàlida.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb\n"
-"«--from-code» o mitjançant un comentari com es descriu en\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "la comprovació tipogràfica «%s» no és coneguda"
-# Multilínia. ivb
-# Hau! ivb
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: La seqüència multioctet llarga no és completa.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb\n"
-"«--from-code» o mitjançant un comentari com es descriu en\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "el tipus d’acabament de frase «%s» no és conegut"
-# Multilínia. ivb
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Hi ha una seqüència multioctet incompleta al final del fitxer.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb\n"
-"«--from-code» o mitjançant un comentari com es descriu en\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "no es pot emprar «--join-existing» quan s’escriu a l’eixida estàndard"
-# Multilínia. ivb
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Hi ha una seqüència multioctet incompleta al final de la línia.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb\n"
-"«--from-code» o mitjançant un comentari com es descriu en\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "«xgettext» no funciona sense paraules clau que cercar"
-# Multilínia. ivb
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: La seqüència multioctet no és vàlida.\n"
-"Per favor, especifiqueu la codificació d’origen correcta amb\n"
-"«--from-code» o mitjançant un comentari com es descriu en\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-# No multilínia. ivb
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "la codificació «%s» no és coneguda, s’emprarà ASCII al seu lloc"
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: la definició de cadena no és vàlida"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: manca un número després de «#»"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: l’expressió de cadena no és vàlida"
-
-# És una funció d’intèrpret. ivb
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: avís: la sintaxi «$\"…\"» està desaprovada per motius de seguretat; "
-"useu «eval_gettext» al seu lloc"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: avís: el literal expressió regular termina massa aviat"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"«%s» no és nom de codificació vàlid, s’emprarà ASCII com a alternativa\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "no es pot emprar «--join-existing» quan s’escriu a l’eixida estàndard"
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "«xgettext» no funciona sense paraules clau que cercar"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"avís: l’extensió «%2$s» del fitxer «%1$s» no és coneguda; es provarà amb el "
"llenguatge «C»"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extreu les cadenes traduïbles dels fitxers d’entrada indicats.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4236,12 +4266,12 @@ msgstr ""
" Empra «NOM.po» com a eixida (en lloc de «messages."
"po»).\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FITXER Escriu l’eixida al FITXER especificat.\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -4250,12 +4280,12 @@ msgstr ""
" Els fitxers d’eixida es desaran al DIRECTORI.\n"
# Es refereix al llenguatge de programació. ivb
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Selecció del llenguatge del fitxer d’entrada:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4276,12 +4306,12 @@ msgstr ""
"Glade,\n"
" Lua, JavaScript, Vala, Desktop).\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ Equival a «--language=C++».\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4291,7 +4321,7 @@ msgstr ""
"fitxer\n"
"d’entrada.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4300,20 +4330,20 @@ msgstr ""
" --from-code=NOM Codificació dels fitxers d’entrada (excepte per a\n"
" Python, Tcl i Glade).\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
"Per defecte s’assumeix que els fitxers d’entrada estan codificats en ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing Uneix els missatges extrets amb els d’un fitxer\n"
" existent.\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
@@ -4321,7 +4351,7 @@ msgstr ""
" No extreu les entrades que ja es troben al FITXER.po\n"
" indicat.\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4339,18 +4369,42 @@ msgstr ""
"comentaris\n"
" que precedeixen les línies amb una paraula clau.\n"
-#: src/xgettext.c:925
+# Realment és una comprovació tipogràfica. ivb
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NOM Realitza una comprovació tipogràfica sobre els\n"
+" missatges: «ellipsis-unicode», «space-ellipsis» o\n"
+" «quote-unicode».\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TIPUS\n"
+" Indica el TIPUS d’acabament de frase: «single-space»\n"
+" (un sol espai, per defecte) o «double-space» (dos\n"
+" espais).\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Opcions específiques del llenguatge:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all Extreu totes les cadenes.\n"
# No mola pq va darrere d’un punt… ivb
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4367,7 +4421,7 @@ msgstr ""
" Vala.)\n"
# No mola pq va darrere d’un punt… ivb
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4383,7 +4437,7 @@ msgstr ""
" Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript i\n"
" Vala, Desktop.)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4396,7 +4450,7 @@ msgstr ""
" l’argument ARG de la paraula clau PARAULA.\n"
# No mola pq va darrere d’un punt… ivb
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4412,42 +4466,42 @@ msgstr ""
" YCP, Tcl, Perl, PHP, GCC-source, Lua, JavaScript i\n"
" Vala.)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs Interpreta els trígrafs del C ANSI a l’entrada.\n"
# No mola pq va darrere d’un punt… ivb
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (Només per als llenguatges C, C++ i ObjectiveC.)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt Reconeix les cadenes de format de Qt.\n"
# No mola pq va darrere d’un punt… ivb
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (Només per al llenguatge C++.)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde Reconeix les cadenes de format de KDE 4.\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost Reconeix les cadenes de format de Boost.\n"
# Simplement mireu l’info. ivb
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4456,14 +4510,26 @@ msgstr ""
"de\n"
" cadenes de format.\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output\n"
" Genera un fitxer amb sintaxi «.properties» de Java.\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=FITXER\n"
+" Obté la llista de fitxers d’entrada del FITXER.\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent Genera el fitxer PO emprant l’estil indentat.\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
@@ -4471,7 +4537,7 @@ msgstr ""
" Estableix a l’eixida la propietària o propietari del\n"
" copyright.\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4480,21 +4546,21 @@ msgstr ""
"a\n"
" uns usuaris diferents.\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
" --package-name=NOM\n"
" Estableix a l’eixida el NOM del paquet.\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=VERSIÓ\n"
" Estableix a l’eixida la VERSIÓ del paquet.\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4504,7 +4570,7 @@ msgstr ""
"cadenes\n"
" «msgid».\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4516,7 +4582,7 @@ msgstr ""
"dels\n"
" valors les entrades «msgstr».\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4528,7 +4594,7 @@ msgstr ""
" valors les entrades «msgstr».\n"
# Missatge d’error. ivb
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4536,29 +4602,29 @@ msgid ""
msgstr ""
"Un argument de «--flag» no té la sintaxi «PARCLAU:NUMARG:[pass-]INDIC»: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "entrada estàndard"
# Cadena amb format «nom_fitxer:línia». ivb
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Hi ha un caràcter noâ€ASCII en «%s%s»."
# Cadena amb format «nom_fitxer:línia». ivb
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Hi ha un comentari noâ€ASCII en o abans de «%s%s»."
# Cadena amb format «nom_fitxer:línia». ivb
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Hi ha una cadena noâ€ASCII en «%s%s»."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: avís: "
@@ -4568,7 +4634,7 @@ msgstr "%s%s: avís: "
# ivb Ací el segon «%s» és el nom d’un llenguatge de programació.
# El primer és «msgid» o «msgid_plural». ivb
# El motiu està traduït. ivb
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4582,7 +4648,7 @@ msgstr ""
# ivb Ací el segon «%s» és el nom d’un llenguatge de programació.
# El primer és «msgid» o «msgid_plural». ivb
# El motiu està traduït. ivb
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4592,7 +4658,7 @@ msgstr ""
"Motiu: %s\n"
# Multilínia. ivb
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4606,7 +4672,7 @@ msgstr ""
"arguments amb nom, i un mapa en lloc d’una tupla per a aquests.\n"
# Multilínia. ivb
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4616,29 +4682,29 @@ msgstr ""
"«gettext(\"\")» retorna l’entrada de capçalera amb metainformació, no la\n"
"cadena buida.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "l’especificació d’argument per a la paraula clau «%.*s» és ambígua"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "avís: manca el context de la paraula clau «%.*s»"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"avís: manca el context de l’argument «plural» de la paraula clau «%.*s»"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "els contexts de les formes singular i plural no corcorden"
# Multilínia. ivb
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4651,11 +4717,382 @@ msgstr ""
"d’ordres.\n"
# Llenguatge de programació. ivb
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "el llenguatge «%s» no és conegut"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: avís: el punt de codi surrogat U+%04X està solt"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
+
+# Multilínia. ivb
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: La seqüència multioctet no és vàlida.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
+
+# Multilínia. ivb
+# Hau! ivb
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: La seqüència multioctet llarga no és completa.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
+
+# Multilínia. ivb
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Hi ha una seqüència multioctet incompleta al final del fitxer.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
+
+# Multilínia. ivb
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Hi ha una seqüència multioctet incompleta al final de la línia.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
+
+# Multilínia. ivb
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: La seqüència multioctet no és vàlida.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb «--from-code».\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: avís: el literal expressió regular termina massa aviat"
+
+# No empra quote(). ivb
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: avís: no es permet «%s»"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: avís: l’etiquetatge XML no està terminat"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: no s’ha trobat el terminador de cadena «%s» abans del final de fitxer"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: manca la clau dreta de «\\x{NÚMERO_HEX}»"
+
+# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: la interpolació «\\l» del caràcter de 8 bits «%c» no és vàlida"
+
+# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: la interpolació «\\u» del caràcter de 8 bits «%c» no és vàlida"
+
+# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: la interpolació de variable amb «%c» no és vàlida"
+
+# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: la interpolació «\\L» del caràcter de 8 bits «%c» no és vàlida"
+
+# Sembla que «interpolació» és una expressió pròpia de Perl. ivb
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: la interpolació «\\U» del caràcter de 8 bits «%c» no és vàlida"
+
+# Multilínia. ivb
+# Cadena amb format «nom_fitxer:línia». ivb
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Per favor, especifiqueu la codificació d’origen correcta amb\n"
+"«--from-code» o mitjançant un comentari com es descriu en\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+# Multilínia. ivb
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: La seqüència multioctet no és vàlida.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb\n"
+"«--from-code» o mitjançant un comentari com es descriu en\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+# Multilínia. ivb
+# Hau! ivb
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: La seqüència multioctet llarga no és completa.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb\n"
+"«--from-code» o mitjançant un comentari com es descriu en\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+# Multilínia. ivb
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Hi ha una seqüència multioctet incompleta al final del fitxer.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb\n"
+"«--from-code» o mitjançant un comentari com es descriu en\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+# Multilínia. ivb
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Hi ha una seqüència multioctet incompleta al final de la línia.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb\n"
+"«--from-code» o mitjançant un comentari com es descriu en\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+# Multilínia. ivb
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: La seqüència multioctet no és vàlida.\n"
+"Per favor, especifiqueu la codificació d’origen correcta amb\n"
+"«--from-code» o mitjançant un comentari com es descriu en\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+# No multilínia. ivb
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "la codificació «%s» no és coneguda, s’emprarà ASCII al seu lloc"
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: la definició de cadena no és vàlida"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: manca un número després de «#»"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: l’expressió de cadena no és vàlida"
+
+# És una funció d’intèrpret. ivb
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: avís: la sintaxi «$\"…\"» està desaprovada per motius de seguretat; "
+"useu «eval_gettext» al seu lloc"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: avís: el literal expressió regular termina massa aviat"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<sense nom>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "la seqüència de control no és vàlida"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "«%s» no és un nom vàlid de classe Java"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "«%s» no és un nom vàlid de classe Java"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "la seqüència de control no és vàlida"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "l’ordenació d’octets «%s» no és vàlida"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+# Usa quote() en les 2. ivb
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "l’argument %s no és vàlid per a %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "manca el nom d’un filtre"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "manca el context de la cadena extreta de l’element «%s»"
+
+# Crec que no hauria de tenir traducció. ivb
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+# Multilínia. L’argument és el nom del programa. ivb
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "No es permet l’ús del llenguatge «glade». «%s» fa ús d’«expat».\n"
+#~ "Aquesta versió ha estat construïda sense «expat».\n"
diff --git a/gettext-tools/po/cs.gmo b/gettext-tools/po/cs.gmo
index 86a4845..b9a0b4f 100644
--- a/gettext-tools/po/cs.gmo
+++ b/gettext-tools/po/cs.gmo
Binary files differ
diff --git a/gettext-tools/po/cs.po b/gettext-tools/po/cs.po
index 8e4d416..948a10b 100644
--- a/gettext-tools/po/cs.po
+++ b/gettext-tools/po/cs.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gettext 0.10.38\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2001-08-18 15:22+0200\n"
"Last-Translator: Vladimir Michl <Vladimir.Michl@seznam.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
@@ -64,45 +64,45 @@ msgstr ""
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
# src/msgunfmt.c:357 src/po-lex.c:74 src/xget-lex.c:159 src/xget-lex.c:174
# src/xget-lex.c:191 src/xgettext.c:616
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "chyba pøi otevírání souboru \"%s\" pro ètení"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr ""
# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "chyba pøi ètení \"%s\""
# src/message.c:1182
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "chyba pøi zápisu do souboru \"%s\""
# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "chyba pøi ètení \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr ""
@@ -130,68 +130,74 @@ msgid "%s subprocess failed"
msgstr ""
# lib/getopt.c:628
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: pøepínaè `%s' není jednoznaèný\n"
+# lib/getopt.c:813
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: pøepínaè `-W %s' není jednoznaèný\n"
+
# lib/getopt.c:652
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: pøepínaè `--%s' musí být zadán bez argumentu\n"
# lib/getopt.c:657
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: pøepínaè `%c%s' musí být zadán bez argumentu\n"
# lib/getopt.c:674 lib/getopt.c:847
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: pøepínaè `%s' vy¾aduje argument\n"
# lib/getopt.c:703
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neznámý pøepínaè `--%s'\n"
# lib/getopt.c:707
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neznámý pøepínaè `%c%s'\n"
# lib/getopt.c:736
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neznámý pøepínaè -- %c\n"
# lib/getopt.c:766 lib/getopt.c:896
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: pøepínaè vy¾aduje argument -- %c\n"
# lib/getopt.c:813
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: pøepínaè `-W %s' není jednoznaèný\n"
# lib/getopt.c:831
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: pøepínaè ` -W %s' musí být zadán bez argumentu\n"
# lib/getopt.c:674 lib/getopt.c:847
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: pøepínaè `%s' vy¾aduje argument\n"
@@ -207,16 +213,17 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr ""
# src/message.c:1182
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "chyba pøi zápisu do souboru \"%s\""
@@ -231,16 +238,16 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
# lib/xmalloc.c:82
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "pamì» vyèerpána"
@@ -251,7 +258,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -297,11 +304,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -339,113 +346,259 @@ msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
+#: src/cldr-plurals.c:69
+#, c-format
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+# src/gettextp.c:228 src/msgcmp.c:181 src/msgfmt.c:361 src/msgmerge.c:298
+# src/msgunfmt.c:210 src/xgettext.c:532
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Více informací získáte pøíkazem `%s --help'.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr ""
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+# src/gettextp.c:255 src/msgcmp.c:200 src/msgfmt.c:386 src/msgmerge.c:331
+# src/msgunfmt.c:234 src/xgettext.c:582
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+" Chyby v programu oznamujte na adrese <bug-gnu-utils@prep.ai.mit.edu> "
+"(pouze\n"
+"anglicky), pøipomínky k pøekladu zasílejte na adresu <cs@li.org> (èesky).\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+# src/gettextp.c:139 src/msgcmp.c:149 src/msgfmt.c:262 src/msgmerge.c:256
+# src/msgunfmt.c:180 src/xgettext.c:399
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Autor: %s\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr ""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
# src/msgunfmt.c:357 src/po-lex.c:74 src/xget-lex.c:159 src/xget-lex.c:174
# src/xget-lex.c:191 src/xgettext.c:616
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
#, c-format
msgid "error while opening \"%s\" for reading"
msgstr "chyba pøi otevírání souboru \"%s\" pro ètení"
-#: src/format.c:151
-#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr ""
-
# src/msgfmt.c:909
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
# src/msgfmt.c:909
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, fuzzy, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
# src/msgfmt.c:909
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
# src/msgfmt.c:892
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "poèet formátovacích specifikátorù v `msgid' a `msgstr' není stejný"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -553,37 +706,37 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -591,26 +744,47 @@ msgid ""
msgstr ""
# src/msgfmt.c:909
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
# src/msgfmt.c:909
-#: src/format-java.c:756
+#: src/format-java.c:757
#, fuzzy, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
# src/msgfmt.c:909
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+# src/msgfmt.c:909
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "chyba pøi ètení \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -618,7 +792,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -630,249 +804,213 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
# src/msgfmt.c:909
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
# src/msgfmt.c:909
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
-#: src/format-perl.c:433
+# src/msgfmt.c:909
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-# src/msgfmt.c:909
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, fuzzy, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+#: src/format-python-brace.c:138
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
# src/msgfmt.c:909
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
# src/msgfmt.c:909
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-# src/gettextp.c:139 src/msgcmp.c:149 src/msgfmt.c:262 src/msgmerge.c:256
-# src/msgunfmt.c:180 src/xgettext.c:399
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Autor: %s\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
# src/gettextp.c:164
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "pøíli¹ mnoho argumentù"
-# src/gettextp.c:228 src/msgcmp.c:181 src/msgfmt.c:361 src/msgmerge.c:298
-# src/msgunfmt.c:210 src/xgettext.c:532
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Více informací získáte pøíkazem `%s --help'.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -880,291 +1018,315 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "musí být zadány nejménì dva rùzné soubory"
+
+# src/message.c:1115
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "výstupní soubor \"%s\" nelze vytvoøit"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-# src/gettextp.c:255 src/msgcmp.c:200 src/msgfmt.c:386 src/msgmerge.c:331
-# src/msgunfmt.c:234 src/xgettext.c:582
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-#, fuzzy
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
msgstr ""
-" Chyby v programu oznamujte na adrese <bug-gnu-utils@prep.ai.mit.edu> "
-"(pouze\n"
-"anglicky), pøipomínky k pøekladu zasílejte na adresu <cs@li.org> (èesky).\n"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:1001
#, c-format
-msgid "could not get host name"
+msgid "invalid attribute value \"%s\" for \"%s\""
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+# src/message.c:1115
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "výstupní soubor \"%s\" nelze vytvoøit"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+# src/message.c:1115
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "výstupní soubor \"%s\" nelze vytvoøit"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr ""
# src/xgettext.c:378 src/xgettext.c:382
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s a %s se vzájemnì vyluèují"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
# src/msgfmt.c:273 src/xgettext.c:410
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "vstupní soubor není zadán"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1173,118 +1335,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "zadáno nemo¾né výbìrové kritérium (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1313,100 +1475,100 @@ msgstr ""
"ponechány, ale pouze z prvního .po souboru, který je definuje. Oznaèení pozic\n"
"v souborech bude ponecháno ze v¹ech .po souborù.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
# src/msgcmp.c:160 src/msgmerge.c:267
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "vstupní soubory nejsou zadány"
# src/msgcmp.c:165 src/msgmerge.c:272
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "jsou po¾adovány pøesnì 2 vstupní soubory"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
# src/msgcmp.c:186
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, fuzzy, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1431,80 +1593,80 @@ msgstr ""
"va¹em programu. Pokud pøi porovnávání nejsou zprávy pøesnì shodné, zkoumá se,\n"
"zda si nejsou podobné.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
# src/msgcmp.c:281
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "upozornìní: tato zpráva není pou¾ita"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
# src/msgcmp.c:259 src/msgmerge.c:711
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "tato zpráva je pou¾ita, ale nikoli definována..."
# src/msgcmp.c:261 src/msgmerge.c:713
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...ale tato definice je podobná"
# src/msgcmp.c:267 src/msgmerge.c:740
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "tato zpráva je pou¾ita, ale nikoli definována v %s"
# src/msgcmp.c:281
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "upozornìní: tato zpráva není pou¾ita"
# src/po-lex.c:84
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1512,12 +1674,12 @@ msgstr[0] "nalezena %d záva¾ná chyba"
msgstr[1] "nalezeny %d záva¾né chyby"
msgstr[2] "nalezeno %d záva¾ných chyb"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "musí být zadány nejménì dva rùzné soubory"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1545,76 +1707,76 @@ msgstr ""
"ponechány, ale pouze z prvního .po souboru, který je definuje. Oznaèení pozic\n"
"v souborech bude ponecháno ze v¹ech .po souborù.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
# src/msgfmt.c:273 src/xgettext.c:410
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "vstupní soubor není zadán"
# src/msgcmp.c:165 src/msgmerge.c:272
-#: src/msgen.c:263
+#: src/msgen.c:264
#, fuzzy, c-format
msgid "exactly one input file required"
msgstr "jsou po¾adovány pøesnì 2 vstupní soubory"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1623,22 +1785,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr ""
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1648,63 +1810,86 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+# src/xget-lex.c:150
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standardní vstup"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
# src/gettextp.c:154
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, fuzzy, c-format
msgid "missing filter name"
msgstr "chybí argumenty"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, fuzzy, c-format
msgid "at least one sed script must be specified"
msgstr "musí být zadány nejménì dva rùzné soubory"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1712,96 +1897,108 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+# src/msgunfmt.c:373
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "soubor \"%s\" obsahuje øetìzec, který není ukonèen NUL"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
# src/xgettext.c:378 src/xgettext.c:382
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s a %s se vzájemnì vyluèují"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+# src/message.c:1115
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "výstupní soubor \"%s\" nelze vytvoøit"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
# src/msgfmt.c:343
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1810,7 +2007,7 @@ msgstr[1] "%d pøelo¾ené zprávy"
msgstr[2] "%d pøelo¾ených zpráv"
# src/msgfmt.c:345
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1819,7 +2016,7 @@ msgstr[1] ", %d neúplné pøeklady"
msgstr[2] ", %d neúplných pøekladù"
# src/msgfmt.c:347
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1827,118 +2024,116 @@ msgstr[0] ", %d nepøelo¾ená zpráva"
msgstr[1] ", %d nepøelo¾ené zprávy"
msgstr[2] ", %d nepøelo¾ených zpráv"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1947,65 +2142,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr ""
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2013,12 +2208,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2026,33 +2236,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2060,18 +2270,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2080,52 +2290,52 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, fuzzy, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
"V hlavièce chybí definice znakové sady.\n"
"Konverze zpráv do u¾ivatelovy znakové sady není mo¾ná.\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
# src/msgfmt.c:471
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "jméno domény \"%s\" není vhodné jako jméno souboru"
# src/msgfmt.c:476
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
@@ -2133,67 +2343,66 @@ msgstr ""
"pøedpona"
# src/msgfmt.c:489
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "pøíkaz `domain %s' ignorován"
# src/msgfmt.c:517
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "prázdná polo¾ka `msgstr' ignorována"
# src/msgfmt.c:518
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "neúplná polo¾ka `msgstr' ignorována"
# src/msgfmt.c:668
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: upozornìní: zdrojový soubor obsahuje neúplný pøeklad"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "chyba pøi ètení \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2233,18 +2442,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2329,14 +2538,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2348,54 +2557,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, fuzzy, c-format
msgid "warning: "
msgstr "%s: upozornìní: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2404,7 +2613,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2413,7 +2622,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2422,12 +2631,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2435,7 +2644,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2444,7 +2653,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2452,62 +2661,62 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
# src/po-lex.c:332
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
#, fuzzy
msgid "invalid nplurals value"
msgstr "neplatná øídící sekvence"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr ""
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr ""
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2515,7 +2724,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2523,92 +2732,108 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
# src/msgfmt.c:870
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "obì polo¾ky `msgid' a `msgid_plural' nezaèínají '\\n'"
# src/msgfmt.c:870
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "obì polo¾ky `msgid' a `msgstr[%u]' nezaèínají '\\n'"
# src/msgfmt.c:870
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "obì polo¾ky `msgid' a `msgstr' nezaèínají '\\n'"
# src/msgfmt.c:878
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "obì polo¾ky `msgid' a `msgid_plural' nekonèí '\\n'"
# src/msgfmt.c:878
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "obì polo¾ky `msgid' a `msgstr[%u]' nekonèí '\\n'"
# src/msgfmt.c:878
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "obì polo¾ky `msgid' a `msgstr' nekonèí '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
# src/msgfmt.c:573
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "nìkteré polo¾ky hlavièky mají stále poèáteèní implicitní hodnotu"
# src/msgfmt.c:561
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "polo¾ka hlavièky `%s' v hlavièce chybí"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
# src/msgunfmt.c:357 src/po-lex.c:74 src/xget-lex.c:159 src/xget-lex.c:174
# src/xget-lex.c:191 src/xgettext.c:616
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "chyba pøi otevírání souboru \"%s\" pro ètení"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, fuzzy, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2617,15 +2842,15 @@ msgstr ""
"Znaková sada \"%s\" není podporována. %s spoléhá na iconv()\n"
"a iconv() \"%s\" nepodporuje.\n"
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, fuzzy, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2634,17 +2859,17 @@ msgstr ""
"Znaková sada \"%s\" není podporována. %s spoléhá na iconv().\n"
"Tato verze byla kompilována bez iconv().\n"
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
# src/msgmerge.c:321
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, fuzzy, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2669,51 +2894,51 @@ msgstr ""
"základì podobnosti vzorù. Tím je dosa¾eno lep¹ího slití obou katalogù.\n"
" Není-li výstupní soubor urèen, výsledek bude vypisován na standardní výstup.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2725,7 +2950,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2733,31 +2958,31 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
# src/msgcmp.c:267 src/msgmerge.c:740
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, fuzzy, c-format
msgid "this message should define plural forms"
msgstr "tato zpráva je pou¾ita, ale nikoli definována v %s"
# src/msgcmp.c:267 src/msgmerge.c:740
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "tato zpráva je pou¾ita, ale nikoli definována v %s"
# src/msgmerge.c:769
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2767,64 +2992,64 @@ msgstr ""
"chybí %ld, zastaralých %ld.\n"
# src/msgmerge.c:775
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " dokonèeno.\n"
# src/xgettext.c:378 src/xgettext.c:382
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, fuzzy, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s a %s se vzájemnì vyluèují"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2832,41 +3057,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr ""
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2879,19 +3104,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<standardní vstup>"
@@ -2947,35 +3172,35 @@ msgstr ""
"V hlavièce chybí definice znakové sady.\n"
"Konverze zpráv do u¾ivatelovy znakové sady není mo¾ná.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "nekonzistentní pou¾ití #~"
# ../../src/po-gram.y:83
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "chybí sekce `msgstr[]'"
# ../../src/po-gram.y:83
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "chybí sekce `msgid_plural'"
# ../../src/po-gram.y:83
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "chybí sekce `msgstr'"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "první mno¾né èíslo má nenulový index"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "mno¾né èíslo má chybný index"
@@ -2986,7 +3211,7 @@ msgstr "mno¾né èíslo má chybný index"
msgid "too many errors, aborting"
msgstr "pøíli¹ mnoho chyb, konèím"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "neplatná víceznaková sekvence"
@@ -3035,77 +3260,97 @@ msgid "context separator <EOT> within string"
msgstr ""
# src/xgettext.c:658 src/xgettext.c:968
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "tento soubor nemù¾e obsahovat pøíkazy pro doménu"
# src/msgcmp.c:355 src/msgfmt.c:628 src/msgmerge.c:490 src/xgettext.c:1061
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "dvojnásobná definice zprávy"
# src/msgcmp.c:356 src/msgfmt.c:629 src/msgmerge.c:491 src/xgettext.c:1062
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "...toto je umístìní první definice"
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+# src/gettextp.c:154
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "chybí argumenty"
+
+# src/po-lex.c:332
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "neplatná øídící sekvence"
+
# src/msgunfmt.c:267 src/msgunfmt.c:331
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, fuzzy, c-format
msgid "file \"%s\" is truncated"
msgstr "soubor \"%s\" je useknutý"
# src/msgunfmt.c:373
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "soubor \"%s\" obsahuje øetìzec, který není ukonèen NUL"
# src/msgunfmt.c:373
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "soubor \"%s\" není v GNU .mo formátu"
# src/msgunfmt.c:373
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "soubor \"%s\" obsahuje øetìzec, který není ukonèen NUL"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr ""
# src/xget-lex.c:914
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr ""
# src/xget-lex.c:914
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
# src/gettextp.c:139 src/msgcmp.c:149 src/msgfmt.c:262 src/msgmerge.c:256
# src/msgunfmt.c:180 src/xgettext.c:399
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "Autor: %s\n"
@@ -3114,46 +3359,46 @@ msgstr "Autor: %s\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
# src/msgunfmt.c:357 src/po-lex.c:74 src/xget-lex.c:159 src/xget-lex.c:174
# src/xget-lex.c:191 src/xgettext.c:616
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "chyba pøi otevírání souboru \"%s\" pro ètení"
# src/gettextp.c:164
-#: src/urlget.c:159
+#: src/urlget.c:160
#, fuzzy, c-format
msgid "expected two arguments"
msgstr "pøíli¹ mnoho argumentù"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3161,77 +3406,77 @@ msgid ""
msgstr ""
# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
-#: src/urlget.c:228
+#: src/urlget.c:229
#, fuzzy, c-format
msgid "error reading \"%s\""
msgstr "chyba pøi ètení \"%s\""
# src/message.c:1182
-#: src/urlget.c:234
+#: src/urlget.c:235
#, fuzzy, c-format
msgid "error writing stdout"
msgstr "chyba pøi zápisu do souboru \"%s\""
# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
-#: src/urlget.c:238
+#: src/urlget.c:239
#, fuzzy, c-format
msgid "error after reading \"%s\""
msgstr "chyba pøi ètení \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
# src/message.c:1115
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "výstupní soubor \"%s\" nelze vytvoøit"
# src/message.c:1122
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standardní výstup"
@@ -3250,40 +3495,41 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+# src/msgfmt.c:321
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "chyba pøi otevírání souboru \"%s\" pro zápis"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-# src/msgfmt.c:321
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "chyba pøi otevírání souboru \"%s\" pro zápis"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "neplatná víceznaková sekvence"
# src/message.c:784
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "zprávy katalogu nesmí obsahovat escape sekvenci `\\%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3292,7 +3538,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3301,13 +3547,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3315,7 +3561,7 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3323,102 +3569,102 @@ msgid ""
msgstr ""
# src/message.c:1182
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "chyba pøi zápisu do souboru \"%s\""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
# src/xget-lex.c:914
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
# src/xget-lex.c:914
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr ""
# src/xget-lex.c:892
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: upozornìní: neukonèená znaková konstanta"
# src/xget-lex.c:914
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3426,281 +3672,101 @@ msgid ""
msgstr ""
# src/xget-lex.c:892
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, fuzzy, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: upozornìní: neukonèená znaková konstanta"
# src/xget-lex.c:892
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: upozornìní: neukonèená znaková konstanta"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, fuzzy, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Znaková sada \"%s\" není podporována. %s spoléhá na iconv().\n"
-"Tato verze byla kompilována bez iconv().\n"
-
-# src/xget-lex.c:914
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-# src/xget-lex.c:914
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-
-# src/msgcmp.c:281
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "upozornìní: tato zpráva není pou¾ita"
-
-# src/xget-lex.c:914
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-# lib/getopt.c:736
-#: src/x-perl.c:1217
+# src/xgettext.c:1342
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: neznámý pøepínaè -- %c\n"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:397
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "jazyk `%s' není znám"
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-rst.c:108
+# src/xgettext.c:386
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr ""
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-existing nemù¾e být pou¾it, je-li výstup zapisován do stdout"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext nemù¾e pracovat bez toho, ani¾ by znal slova, která má hledat"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-# src/xget-lex.c:914
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-# src/xgettext.c:386
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-existing nemù¾e být pou¾it, je-li výstup zapisován do stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext nemù¾e pracovat bez toho, ani¾ by znal slova, která má hledat"
-
# src/xgettext.c:501
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "upozornìní: pøípona `%2$s' souboru `%1$s' není známa; zkusím C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
# src/msgfmt.c:273 src/xgettext.c:410
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "vstupní soubor není zadán"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3713,41 +3779,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3757,17 +3823,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3777,7 +3859,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3787,7 +3869,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3795,7 +3877,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3805,75 +3887,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3881,7 +3973,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3889,7 +3981,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -3897,45 +3989,45 @@ msgid ""
msgstr ""
# src/xget-lex.c:150
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standardní vstup"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, fuzzy, c-format
msgid "%s%s: warning: "
msgstr "%s: upozornìní: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3944,34 +4036,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3980,15 +4072,328 @@ msgid ""
msgstr ""
# src/xgettext.c:1342
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "jazyk `%s' není znám"
+# src/xget-lex.c:914
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+# src/xget-lex.c:914
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
+
+# src/msgcmp.c:281
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "upozornìní: tato zpráva není pou¾ita"
+
+# src/xget-lex.c:914
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+# lib/getopt.c:736
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s: neznámý pøepínaè -- %c\n"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+# src/xget-lex.c:914
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+# src/po-lex.c:332
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "neplatná øídící sekvence"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+# src/po-lex.c:332
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "neplatná øídící sekvence"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "neplatná víceznaková sekvence"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr ""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+# src/gettextp.c:154
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "chybí argumenty"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#, fuzzy
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Znaková sada \"%s\" není podporována. %s spoléhá na iconv().\n"
+#~ "Tato verze byla kompilována bez iconv().\n"
+
# lib/getopt.c:733
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: neznámý pøepínaè -- %c\n"
diff --git a/gettext-tools/po/da.gmo b/gettext-tools/po/da.gmo
index 124307d..1a649a4 100644
--- a/gettext-tools/po/da.gmo
+++ b/gettext-tools/po/da.gmo
Binary files differ
diff --git a/gettext-tools/po/da.po b/gettext-tools/po/da.po
index ae8f3c9..1e7790c 100644
--- a/gettext-tools/po/da.po
+++ b/gettext-tools/po/da.po
@@ -1,16 +1,16 @@
# gettext-0.10/po/da.po - initial revision -*- po -*-
# Copyright (C) 1996 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Keld Simonsen <keld@keldix.com>, 2001-2011.
+# Keld Simonsen <keld@keldix.com>, 2001-2011,2015.
# Thorbjørn Ravn Andersen <ravn@unixsnedkeren.dk>, 1996.
#
# Reviewed: 2001-08-31 olau@hardworking.dk
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.18\n"
+"Project-Id-Version: gettext-tools 0.19.4-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2011-01-10 23:48+0100\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-05-10 23:48+0200\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
@@ -57,40 +57,40 @@ msgstr "kan ikke fjerne midlertidigt katalog %s"
msgid "write error"
msgstr "skrivefejl"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
-msgstr ""
+msgstr "bevarere tilladelser for %s"
-#: gnulib-lib/copy-file.c:189
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:191
+#, c-format
msgid "error while opening %s for reading"
-msgstr "fejl ved læse-åbning af '%s'"
+msgstr "fejl ved læse-åbning af %s"
-#: gnulib-lib/copy-file.c:193
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:195
+#, c-format
msgid "cannot open backup file %s for writing"
-msgstr "Kan ikke åbne sikkerhedskopi-fil '%s' for skrivning"
+msgstr "Kan ikke åbne sikkerhedskopi-fil %s for skrivning"
-#: gnulib-lib/copy-file.c:197
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:199
+#, c-format
msgid "error reading %s"
-msgstr "fejl ved læsning af '%s'"
+msgstr "fejl ved læsning af %s"
-#: gnulib-lib/copy-file.c:201
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:203
+#, c-format
msgid "error writing %s"
-msgstr "fejl ved skrivning til filen '%s'"
+msgstr "fejl ved skrivning til filen %s"
-#: gnulib-lib/copy-file.c:205
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:207
+#, c-format
msgid "error after reading %s"
-msgstr "fejl efter læsning af '%s'"
+msgstr "fejl efter læsning af %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() mislykkedes"
@@ -116,58 +116,63 @@ msgstr "Ukendt systemfejl"
msgid "%s subprocess failed"
msgstr "%s-underproces mislykkedes"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
+#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: tilvalget '%s' kan betyde flere ting\n"
+msgstr "%s: tilvalget '%s' er flertydigt, muligheder: "
+
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: tilvalget '-W %s' er flertydigt\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: tilvalget '--%s' tillader ikke et argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: tilvalget '%c%s' tillader ikke et argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: tilvalget '--%s' kræver et argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ukendt tilvalg '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ukendt tilvalg '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ugyldigt tilvalg -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: tilvalget kræver et argument -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: tilvalget '-W %s' er flertydigt\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tilvalget '-W %s' tillader ikke et argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: tilvalget '-W %s' kræver et argument\n"
@@ -183,15 +188,16 @@ msgstr "ugyldigt source_version argument til compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "ugyldigt target_version argument til compile_java_clas"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "kunne ikke oprette '%s'"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "fejl ved skrivning til filen '%s'"
@@ -207,34 +213,34 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"Virtuel Javamaskine ikke fundet, forsøg at installere gij eller sæt $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "I/O-fejl i %s-underproces"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "ikke mere ledig hukommelse"
#: gnulib-lib/pipe-filter-ii.c:192
-#, fuzzy, c-format
+#, c-format
msgid "creation of threads failed"
-msgstr "oversættelse af C#-klasse mislykkedes"
+msgstr "oprettelse af tråde mislykkedes"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "skrivning til %s-underproces mislykkedes"
#: gnulib-lib/pipe-filter-ii.c:245 gnulib-lib/pipe-filter-ii.c:424
-#, fuzzy, c-format
+#, c-format
msgid "read from %s subprocess failed"
-msgstr "skrivning til %s-underproces mislykkedes"
+msgstr "læsning fra %s-underproces mislykkedes"
#: gnulib-lib/pipe-filter-ii.c:298
#, c-format
@@ -272,11 +278,11 @@ msgstr "%s-underproces fejlede med slutstatus %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "'"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -312,53 +318,196 @@ msgstr "%s underproces"
msgid "%s subprocess got fatal signal %d"
msgstr "%s underproces fik et dødeligt signal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "fejl ved læse-åbning af '%s'"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Prøv '%s --help' for yderligere oplysninger.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Brug: %s [TILVALG] [FIL]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Hvis et langt tilvalg kræver et argument, gælder det også for det tilsvarende\n"
+"korte tilvalg.\n"
+"Tilvarende gælder for valgfri argumenter.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help vis denne hjælp og afslut\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help vis denne hjælp og afslut\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version vis versionsinformation og afslut\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Rapportér fejl på engelsk til <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"Licens GPLv3+: GNU GPL version 3 eller senere <http://gnu.org/licenses/gpl.html>\n"
+"Dette program er frit programmel. Du kan ændre og distribuere det.\n"
+"Det er ikke NOGEN SOM HELST GARANTI, i det omfang som lov tillader.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Skrevet af %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "kan ikke fjerne midlertidigt katalog %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
msgstr ""
-"'%s' er ikke en gyldig %s-formatstreng, til forskel fra '%s'. Årsag: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "fejl ved læse-åbning af '%s'"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
"et formateringsdirektiv for argument '%u', som i '%s', findes ikke i '%s'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "formateringsdirektiv for argument %u findes ikke i '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "formatangivelser i '%s' og '%s' for argument %u er ikke ens"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktiv nummer %u begynder med | men afsluttes ikke med |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%s' er ikke en gyldig %s-formatstreng, til forskel fra '%s'. Årsag: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -368,59 +517,59 @@ msgstr ""
"formateringsmakro. Gyldige mmakroeravne er definerede i ISO C 99, kapitel "
"7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "I direktiv nummer %u følges symbolet efter '<' ikke af '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Strengen refererer til argument nummer %u men ignorerer argument nummer %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "antal af formatangivelser i '%s' og '%s' er ikke overensstemmende"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "I direktiv nummer %u følges '{' ikke af et argumentnummer."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "I direktiv nummer %u følges ikke ',' af et nummer."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Strengen slutter midt i et direktiv:fandthittade '{' uden tillhørende '}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"Direktiv nummer %u afsluttes med det ugyldige tegnet '%c' i stedet for '}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Direktiv nummer %u afsluttes med et ugyldigt tegn i stedet for '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "Strengen starter midt i et direktiv: fandt '}' uden tillhørende '{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Strengen indeholder et enligt '}' efter direktiv nummer %u."
@@ -536,25 +685,25 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Strengen refererer til argument nummer %u på inkompatibel måde."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "I direktiv nummer %u er delstrengen '%s' ikke en gyldig dato/tid-stil."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "I direktiv nummer %u følges '%s' ikke af et komma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "I direktiv nummer %u er delstrengen '%s' ikke en gyldig nummerstil."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -563,12 +712,12 @@ msgstr ""
"I direktiv nummer %u følges argumentnummret ikke af et komma og en af '%s', "
"'%s', '%s', '%s'."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "I direktiv nummer %u indeholder et valg intet nummer."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -577,25 +726,46 @@ msgstr ""
"I direktiv nummer %u indeholder et valg et nummer som ikke følges af '<', "
"'#' eller '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"et formateringsdirektiv for argument {%u}, som i '%s', findes ikke i '%s'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "et formateringsdirektiv for argument {%u} findes ikke i '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "formatangivelser i '%s' og '%s' for argument {%u} er ikke det samme"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Strengen refererer til argument nummer %u men ignorerer argument nummer %u."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"et formateringsdirektiv for argument '%u', som i '%s', findes ikke i '%s'"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "fejl ved læsning af '%s'"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -605,7 +775,7 @@ msgstr ""
"I direktiv nummer %u har parameter %u type '%s' men en parameter af type "
"'%s' forventedes."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -620,33 +790,33 @@ msgstr[1] ""
"I direktiv nummer %u er der givet for mange parametre, forventede højst %u "
"parrametre."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "I direktiv nummer %u følges '%c' ikke af et ciffer."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "I direktiv nummer %u er argument %d negativt."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Strengen afsluttes midt i et direktiv af type ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Fandt '~%c' uden tillhørende '%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "I direktiv nummer %u angives både modificererne @ og :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -654,26 +824,32 @@ msgid ""
msgstr ""
"I direktiv nummer %u følges '~:[' ikke af to sætninger separerede med '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "I direktiv nummer %u bruges '~;' i en fejlagtig position."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Strengen refererer til et argument på inkompatible måde."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "formatangivelser i '%s' og '%s' er ikke de samme"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "formateringsdirektiver i '%s' er ikke en delmængde af dem i '%s'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "et formateringsdirektiv for argument '%s' findes ikke i '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -682,14 +858,33 @@ msgstr ""
"I direktiv nummer %u er størrelsesangiveren inkompatibel med konverteringen "
"'%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "et formateringsdirektiv for argument '%s' findes ikke i '%s'"
+#: src/format-python-brace.c:138
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "I direktiv nummer %u følges '%c' ikke af et ciffer."
+
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "I direktiv nummer %u følges '{' ikke af et argumentnummer."
+
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "I direktiv nummer %u følges '%c' ikke af et ciffer."
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "I direktiv nummer %u: en precision er ikke tilladt før '%c'."
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "I direktiv nummer %u er argument %d negativt."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -697,65 +892,39 @@ msgstr ""
"Strengen refererer til argumenter både via argumentnavne og via navnløse "
"argumentspecifikationer."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "Strengen refererer til argumentet '%s' på inkompatible måde."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
"formateringsdirektiver i '%s' tager en afbildning, dem i '%s' tager en tuppel"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
"formateringsdirektiver i '%s' tager en tuppel, dem i '%s' tager en afbildning"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"et formateringsdirektiv for argument '%s', som i '%s', findes ikke i '%s'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "formateringsdirektiver i '%s' og '%s' for argument '%s' er ikke ens"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "I direktiv nummer %u følges '%c' ikke af et ciffer."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "I direktiv nummer %u følges '{' ikke af et argumentnummer."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "I direktiv nummer %u følges '%c' ikke af et ciffer."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "I direktiv nummer %u: en precision er ikke tilladt før '%c'."
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "I direktiv nummer %u er argument %d negativt."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -764,11 +933,11 @@ msgstr ""
"'%s' er en simpel formatstreng, men '%s' er det ikke; den indeholder et 'L'-"
"flag eller et tocifret argumentantal"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "Strengen refererer til en skalvariabel med et navn udenfor ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -776,7 +945,7 @@ msgstr ""
"Strengen refererer til en skalvariabel med kompleks krølleparentessyntaks. "
"Denne syntaks understøttes ikke her af sikkerhedsårsager."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -784,18 +953,18 @@ msgstr ""
"Strengen refererer til en skalvariabel hvis værdi kan være anderledes inde i "
"skalfunktioner."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Strengen refererer til en skalvariabel uden navn."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "I direktiv nummer %u er tegnet '%c' ikke et ciffer mellem 1 og 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -803,75 +972,40 @@ msgid ""
msgstr ""
"Tegnet som afslutter direktiv nummer %u er ikke et ciffer mellem 1 og 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright © %s Free Software Foundation, Inc.\n"
-"Licens GPLv3+: GNU GPL version 3 eller senere <http://gnu.org/licenses/gpl.html>\n"
-"Dette program er frit programmel. Du kan ændre og distribuere det.\n"
-"Det er ikke NOGEN SOM HELST GARANTI, i det omfang som lov tillader.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Skrevet af %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "For mange argumenter"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Prøv '%s --help' for yderligere oplysninger.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Brug: %s [TILVALG]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Skriv maskinens værtsnavn.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Resultatformat:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short kort værtsnavn\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -881,77 +1015,103 @@ msgstr ""
" -f, --fqdn, --long langt værtsnavn, indholder fuldt kvalificeret\n"
" domænenavn og aliaser\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address adresser for værtsnavnet\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informativt uddata:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help vis denne hjælp og afslut\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "kunne ikke hente værtsnavn"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version vis versionsinformation og afslut\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "Mindst to filer skal angives"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Rapportér fejl på engelsk til <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "kan ikke oprette datakanal"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "kunne ikke hente værtsnavn"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "Ugyldigt argument %s for %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "kan ikke oprette datakanal"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "kan ikke oprette uddatafil '%s'"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "Højst én inddatalinje tilladt"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s og %s udelukker hinanden"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Brug: %s [TILVALG] [INDDATAFIL]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -960,10 +1120,10 @@ msgstr ""
"Filtrerer beskederne i et beskedskatalog efter deres attributter og\n"
"manipulerer attributterne.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -972,52 +1132,53 @@ msgstr ""
"tilsvarende\n"
"korte tilvalg.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Placering for indfil:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INFIL PO-indfil\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr " -D, --directory=KATALOG søg også efter indfiler i KATALOG\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "Hvis ingen indfil er givet eller hvis den er -, læses standard-ind.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Placering af uddatafil:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FIL uddata skrives til FIL\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1026,12 +1187,12 @@ msgstr ""
"Resultaterne udskrives til standard-uddata hvis ingen uddatafil er angivet,\n"
"eller hvis den er angivet til - .\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Meddelelsevalg:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1039,7 +1200,7 @@ msgstr ""
" --translated behold oversatte, fjern uoversatte "
"meddelelser\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1047,57 +1208,57 @@ msgstr ""
" --translated behold uoversatte, fjern oversatte "
"meddelelser\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy fjern meddelelser markerede som 'fuzzy'\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy behold meddelelser markerede som 'fuzzy'\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete fjern forældede #~ meddelelser\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete behold forældede #~ meddelelsen\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Attributmanipulation:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy markér alle meddelelser som 'fuzzy'\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy fjern 'fuzzy'-markering fra alle meddelelser\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete markér alle meddelelser som forældede\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete fjern forældelsesmarkering fra alle "
"meddelelser\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, fuzzy, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1106,7 +1267,7 @@ msgstr ""
" --previous behold tidligere 'msgid' for oversatte "
"meddelelser\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1114,56 +1275,56 @@ msgid ""
msgstr ""
" --clear-previous fjern 'previous msgid' fra alle meddelelser\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
" --no-fuzzy fjern meddelelser markerede som 'fuzzy'\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=FIL.po bearbejd kun poster som findes i FIL.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=FIL.po bearbejd kun poster som ikke findes i FIL.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy samme som --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete samme som --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syntaks på indfil:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr " -P, --properties-input indfil har 'Java .properties'-syntaks\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1172,17 +1333,17 @@ msgstr ""
" --stringtable-input indfil har NeXTstep/GNUstep '.strings'-"
"syntaks\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Resultatdetaljer:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1197,16 +1358,16 @@ msgstr ""
"'auto'\n"
" eller 'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr " --style=STILSKABELON angiv CSS stilskabelønfil for --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1214,9 +1375,9 @@ msgstr ""
" -e, --no-escape brug ikke C-kontrolsekvenser i resultatet\n"
" (normaltilstand)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1224,28 +1385,28 @@ msgstr ""
" -E, --escape brug C-kontrolsekvenser i resultatet, men\n"
" ikke \\v eller \\a\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po skriv PO-fil selv hvis den er tom\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent lav indrykningsstíl i .po-fil\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location skriv ikke linjer med '#: filnavn:linje'\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1253,39 +1414,39 @@ msgstr ""
" -n, --add-location skriv linjer med '#: filnavn:"
"linje' (normaltilstand)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output skriv en 'Java .properties'-fil\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output skriv en NeXTstep/GNUstep '.strings'-fil\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=ANTAL sæt sidebredde for uddata\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1294,31 +1455,31 @@ msgstr ""
" --no-wrap ombryd ikke lange beskeder, længere end\n"
" uddatasidens bredde, til flere linjer\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output sortér resultatet\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file sortér resultatet efter filposition\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "Umuligt udvælgelseskriterium angivet (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Brug: %s [TILVALG] [INDDATAFIL]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1340,23 +1501,23 @@ msgstr ""
"men hvis --use-first er angivet, vil de blive taget fra den første PO-fil,\n"
"der definerer dem. Filpositioner fra alle PO-filer sammenbringes.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INFIL ... indfiler\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FIL læs liste af indfiler fra FIL\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Hvis indfil er -, læses standard ind.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1365,7 +1526,7 @@ msgstr ""
" -<, --less-than=ANTAL skriv meddelelser med mindre end ANTAL\n"
" definitioner. Standardværdi: uendeligt\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1374,7 +1535,7 @@ msgstr ""
" ->, --more-than=ANTAL skriv meddelelser med mere end ANTAL\n"
" definitioner. Standardværdi: 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1383,16 +1544,16 @@ msgstr ""
" -u, --unique samme som --less-than=2, anfordrer at\n"
" kun unikke meddelelser skrives\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
" -P, --properties-input indfiler har 'Java .properties'-syntaks\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1401,12 +1562,12 @@ msgstr ""
" --stringtable-input indfiler har NeXTstep/GNUstep '.strings'-"
"syntaks\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAVN kodning for resultatet\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1415,33 +1576,33 @@ msgstr ""
" --use-first anvend først fundne oversættelse for hver\n"
" meddelelse, sammenflet ikke oversættelser\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=KATALOGNAVN sæt 'Language'-feltet i hovedet\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ingen filer angivet som inddata"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "der kræves netop to inddatafiler"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Brug: %s [TILVALG] gammel.po ny.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1460,86 +1621,86 @@ msgstr ""
"mellem msgid-tekststrengene, benyttes en upræcis sammenligningsmetode til at\n"
"give bedre fejlretningsinformation.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po oversættelser\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot referencer til kildetekst\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Bearbejdningsvarianter:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr " -m, --multi-domain brug ref.pot til hvert domæne i def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching brug ikke upræcis sammenligning\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy brug upræcise poster i resultatet\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated brug uoversatte meddelelser\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "advarsel: denne tekst er uoversat"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "denne meddelelse bør gennemses af oversætteren"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "denne tekst bruges, men er ikke erklæret..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...men denne tekst ligner"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "denne tekst er brugt, men ikke erklæret i %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "advarsel: denne tekst bliver ikke brugt"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "fandt %d fatal fejl"
msgstr[1] "fandt %d fatale fejl"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "Mindst to filer skal angives"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1559,7 +1720,7 @@ msgstr ""
"men kun fra den første PO-fil, der definerer dem. Filpositioner fra alle PO-filer\n"
"vil blive sammenbragt.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1568,41 +1729,41 @@ msgstr ""
" ->, --more-than=ANTAL skriv meddelelser med mere end ANTAL\n"
" definitioner. Standardværdi: 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, fuzzy, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr " --omit-header udskriv ikke hovedet med 'msgid \"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Konverterer et beskedskatalog til en anden tegnkodning.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Konverteringsmål:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Standardindkodning er nuværende locales indkodning.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent lav indrykningsstíl i resultatet\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location skriv ikke linjer med '#: filnavn:linje'\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, fuzzy, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1610,28 +1771,28 @@ msgstr ""
" --add-location bevar linjer med '#: filnavn:"
"linje' (normaltilstand)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "ingen inddatafil angivet"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "der kræves præcist én inddatafil"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Brug: %s [FLAG] INDFIL\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1643,22 +1804,22 @@ msgstr ""
"engelske PO-fil eller en PO-skabelonsfil (normalt lavet med xgettext).\n"
"Uoversatte poster gives en oversættelse som er identisk med msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INFIL PO- eller POT-indfil\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "kommandonavn mangler"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Brug: %s [TILVALG] KOMMANDO [KOMMANDOTILVALG]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1673,7 +1834,7 @@ msgstr ""
"bliver uddata fra msgexec. Slutstatusværdien for msgexec er den største\n"
"slutstatusværdi fra alle kommandokørslerne.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1683,37 +1844,47 @@ msgstr ""
"af et nultegn. Uddata for 'msgexec 0' er brugbart som inddata for\n"
"'xargs -O'\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standard-inddata"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help vis denne hjælp og afslut\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INFIL PO-indfil\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "skrivning til standard ud mislykkedes"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "filternavn mangler"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "mindst et sed-skript skal angives"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Brug: %s [FLAG] FILTER [FILTERFLAG]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Udfører et filter på alle oversættelser i et beskedskatalog.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1722,12 +1893,24 @@ msgstr ""
"FILTER kan være hvilket som helst program som læser en oversættelse fra\n"
"standard ind og skriver den ændrede oversættelse til standard ud.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Brugbare FILTERFLAG når FILTER er 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
@@ -1735,7 +1918,7 @@ msgstr ""
" -e, --expression=SKRIPT tilføj SKRIPT til kommandoerne som skal "
"udføres\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1746,7 +1929,7 @@ msgstr ""
"kommandoerne\n"
" som skal udføres\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1754,7 +1937,7 @@ msgstr ""
" -n, --quiet, --silent undertryk automatisk udskrift af "
"mønsterområdet\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1762,135 +1945,135 @@ msgstr ""
" --no-escape brug ikke C-kontrolsekvenser i resultatet\n"
" (normaltilstand)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent lav indrykningsstíl i resultatet\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header bevar headerlinjer uændrede, filtrér dem ikke\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filen '%s' indeholder en ikke-NUL afsluttet streng"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argumentet til %s bør være et enkelt skilletegn"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ugyldig byteorden: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, fuzzy, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "Hvis ingen indfil er givet eller hvis den er -, læses standard-ind.\n"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s kræver at '-d katalog' angives"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s kræver en '-l lokale'-angivelse"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s kræver en '-l lokale'-angivelse"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s kræver en '-l lokale'-angivelse"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s og %s udelukker hinanden"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s er kun gyldig med %s eller %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s er kun gyldig med %s, %s eller %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "kan ikke oprette uddatafil '%s'"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d oversat tekst"
msgstr[1] "%d oversatte tekster"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d uafklaret oversættelse"
msgstr[1] ", %d uafklarede oversættelser"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d uoversat tekst"
msgstr[1] ", %d uoversatte tekster"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Brug: %s [FLAG] filnavn.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Generér binært tekstkatalog fra oversættelsebeskrivelse i kildetekst.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Hvis et langt tilvalg kræver et argument, gælder det også for det tilsvarende\n"
-"korte tilvalg.\n"
-"Tilvarende gælder for valgfri argumenter.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filnavn.po ... indfiler\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Kørselstilstand:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1899,7 +2082,7 @@ msgstr ""
" -j, --java Javatilstand: generér en Java ResourceBundle-"
"klasse\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1908,12 +2091,12 @@ msgstr ""
" --java2 som --java, og antag Java2 (JDK 1.2 eller "
"højere)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C#-tilstand: generér en .NET .dll-fil\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1922,7 +2105,7 @@ msgstr ""
" --csharp-resources C#-ressurcetilstand: generér en .NET ."
"resources-fil\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -1930,39 +2113,44 @@ msgstr ""
" --tcl Tcl-tilstand: generér en .msg-fil af tcl/"
"msgcat-type\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt-tilstand: generér en Qt .qm-fil\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, fuzzy, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --qt Qt-tilstand: generér en Qt .qm-fil\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt-tilstand: generér en Qt .qm-fil\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Hvis UDFIL er -, skrives resultatet til standard ud.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Placering af uddatafil i Javatilstand:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESSOURCE ressourcenavn\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1970,7 +2158,7 @@ msgid ""
msgstr ""
" -l, --locale=LOCALE localenavn, enten sprog eller sprog_LAND\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, fuzzy, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1979,13 +2167,13 @@ msgstr ""
" --tcl Tcl-tilstand: inddata er en tcl/msgcat .msg-"
"fil\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d KATALOG startkatalog for klassers katalogtræ\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1997,12 +2185,12 @@ msgstr ""
"adskilt med en understreg. Flaget -d er obligatorisk. Klassen skrives\n"
"i det opgivne katalog.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Placering for udfil i C#-tilstand:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2010,7 +2198,7 @@ msgid ""
msgstr ""
" -d KATALOG startkatalog for localeafhængige .dll-filer\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2019,18 +2207,18 @@ msgstr ""
"Flagene -l og -d er obligatoriske. .dll filen bliver skrevet i et\n"
"underkatalog af det angivne katalog, hvis navn afhænger af localet.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Placering for udfil i Tcl-tilstand:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d KATALOG startkatalog for .msg-meddelelsekataloger\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2039,23 +2227,23 @@ msgstr ""
"Flagene -l og -d er obligatoriske. .msg filen bliver skrevet i det\n"
"angivne katalog.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
" -d KATALOG startkatalog for .msg-meddelelsekataloger\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2064,7 +2252,7 @@ msgstr ""
" -kORD, --keyword[=ORD] søg efter ORD som et ekstra nøgleord\n"
" -k, --keyword brug ikke standardnøgleord\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2072,12 +2260,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Tolkning af indfil:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2088,13 +2291,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format kontrollér sprogafhængige formatstrenge\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2103,7 +2306,7 @@ msgstr ""
" --check-header verificér tilstedeværelse og indhold af "
"headerlinjen\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2113,7 +2316,7 @@ msgstr ""
"domænedirektiver\n"
" og flaget --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2122,7 +2325,7 @@ msgstr ""
" -C, --check-compatibility kontrollér at GNU msgfmt opfører sig som\n"
" X/Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2133,19 +2336,19 @@ msgstr ""
"kortvejskommandoer\n"
" for menuer\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy brug upræcise poster i resultatet\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=TAL læg strenge på lige TAL byte (normalt: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2154,97 +2357,96 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr " --no-hash binærfil indholder ikke hashtabellen\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics udskriv statistik om oversættelserne\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
" -v, --verbose øg mængden af information i meddelelsen\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "advarsel: PO-filhoved mangler eller ugyldigt\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "advarsel: tegnsætskonvertering vil ikke virke\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "advarsel: PO-filhoved er uafklaret\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "advarsel: ældre versioner af msgfmt vil give en fejl for dette\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domænet '%s' kan ikke bruges som filnavn"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domænet '%s' er ikke brugbart som filnavn. Vil bruge præfiks istedet"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "'domain %s'-kommando ignoreres"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "tom 'msgstr'-kommando ignoreret"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "'fuzzy' 'msgstr'-tekst ignoreret"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr ""
"%s: advarsel: kildetekstfilen indeholder uafklarede oversættelser (fuzzy)"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "fejl ved læsning af '%s'"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2253,7 +2455,7 @@ msgstr ""
"flaget '%c' kan ikke bruges førend 'J' eller 'K' eller 'T' eller 'C' eller "
"'X' er blevet angivet"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2262,7 +2464,7 @@ msgstr ""
"Udtrækker alle beskeder i et beskedskatalog som matcher et vist\n"
"mønster eller hører til en given kildetekstfil.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2338,7 +2540,7 @@ msgstr ""
" -v, --invert-match udskriv kun de beskeder som ikke matcher\n"
" noget udvælgelseskriterium.\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2346,12 +2548,12 @@ msgstr ""
" --escape brug C-kontrolsekvenser i resultatet, men\n"
" ikke \\v eller \\a\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output sortér resultatet\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file sortér resultatet efter filposition\n"
@@ -2453,14 +2655,14 @@ msgstr ""
"Fandt ingen .pot-fil i aktuelt katalog.\n"
"Angiv .pot-indfil med flaget --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s-underproces fejlede med slutstatus %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2475,28 +2677,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Danske oversættelser for pakke %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "nuværende tegnsæt '%s' er ikke et portabelt kodningsnavn"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "to forskellige tegnsæt '%s' og '%s' i indfilen"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "indfilen '%s' mangler en indgang i hovedet med angivelse af tegnsæt"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2505,19 +2707,19 @@ msgstr ""
"domæne '%s' i indfil '%s' mangler en indgang i hovedet med angivelse af "
"tegnsæt"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "måltegnsæt '%s' er ikke et portabelt kodningsnavn"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "advarsel: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2526,7 +2728,7 @@ msgstr ""
"Indfiler har beskeder med flere kodninger, deriblandt UTF-8.\n"
"Konverterer resultatet til UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2538,7 +2740,7 @@ msgstr ""
"Konverterer resultatet til UTF-8.\n"
"Brug flaget --to-code for at vælge en anden kodning.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2553,7 +2755,7 @@ msgstr ""
"dine\n"
"kildetekstsfiler.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2566,12 +2768,12 @@ msgstr ""
"Resultatet for '%s' kan blive forkert.\n"
"Mulige måder at omgå problemet er:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Sæt LC_ALL til et locale med kodning %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2582,7 +2784,7 @@ msgstr ""
" udfør derefter '%s',\n"
" konvertér så tilbage til %s med 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2595,7 +2797,7 @@ msgstr ""
" udfør derefter '%s'\n"
" konvertér så tilbage til %s med 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2606,74 +2808,74 @@ msgstr ""
"Resultatet for '%s' kan blive forkert.\n"
"En mulig måde at omgå problemet er at sætte LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "flertalsudtryk kan give negative værdier"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu men flertalsudtryk kan give værdier op til %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "flertalsudtryk kan give division med nul"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "flertalsudtryk kan give heltalsoverløb"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr "flertalsudtryk kan give aritmetiske fejl, måske division med nul"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Prøv at bruge det følgende, gældende for %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "tekstkatalog har oversættelser med flertalsform"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "men headerindgange mangler attribut af type 'plurals=UDTRYK'"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "men headerindgange mangler attribut af type 'plurals=HELTAL'"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "ugyldig nplurals-værdi"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ugyldigt flertalsudtryk"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "men nogen tekster har kun én flertalsform"
msgstr[1] "men nogen tekster har kun %lu flertalsformer"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "men nogen tekster har én flertalsform"
msgstr[1] "men nogen tekster har %lu flertalsformer"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2681,77 +2883,93 @@ msgstr ""
"beskedkatalog har oversættelser med flertalsformer, men mangler en "
"headerindgang med 'Plural-Forms: nplurals=HELTAL; plural=UDTRYK;'"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "'msgid' og 'msgid_plural'-teksterne begynder ikke begge med '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "`msgid' og `msgstr[%u]'-teksterne begynder ikke begge med '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "'msgid' og 'msgstr' teksterne begynder ikke begge med '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "'msgid' og 'msgid_plural'-teksterne slutter ikke begge med '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "'msgid' og 'msgstr[%u]'-teksterne slutter ikke begge med '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "'msgid' og 'msgstr' teksterne slutter ikke begge med '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "flertalsbehandling er en GNU gettext-udvidelse"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr mangler mærket '%c' for tastaturgenvej"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr har for mange mærker '%c' for tastaturgenveje"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "feltet '%s' i hovedet har stadig den oprindelige standardværdi\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "feltet '%s' mangler i hovedet\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: inddata er ikke gyldig i tegnkodningen '%s'"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: fejl opstod ved konvertering fra tegnkodning '%s' til tegnkodning '%s'"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "indfilen mangler en indgang i hovedet med angivelse af tegnsæt"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2760,7 +2978,7 @@ msgstr ""
"Kan ikke konvertere fra '%s' til '%s'. %s bygger på iconv(), og iconv() "
"understøtter ikke denne konvertering."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2769,8 +2987,8 @@ msgstr ""
"Konvertering fra '%s' til '%s' giver dubletter: nogle msgid'er som er "
"forskellige bliver ens."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2779,16 +2997,16 @@ msgstr ""
"Kan ikke konvertere fra '%s' til '%s'. %s bygger på iconv(). Denne version "
"er bygget uden iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s er kun gyldig med %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "sikkerhedskopitype"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2812,19 +3030,19 @@ msgstr ""
"overensstemmelse, vil 'løs søgning' (fuzzy matching) blive brugt til at give\n"
"bedre resultater.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po oversættelser som refererer til gamle "
"kildetekster\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot referencer til ny kildetekst\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2833,7 +3051,7 @@ msgstr ""
" -C, --compendium=FIL yderligere kataloger med oversættelser,\n"
" kan angives flere gange\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2843,27 +3061,27 @@ msgstr ""
" gør ingenting hvis def.po allerede er "
"opdateret\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Placering af udfil i opdateringstilstand:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Resultatet skrives tilbage til def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=KONTROL lav en sikkerhedskopi af def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=ENDELSE brug en anden endelse end den normale\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2882,7 +3100,7 @@ msgstr ""
"ellers simple\n"
" simple, never lav altid simple sikkerhedskopier\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, fuzzy, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2893,7 +3111,7 @@ msgstr ""
"eller\n"
"miljøvariablen SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2901,22 +3119,22 @@ msgstr ""
" --previous behold tidligere 'msgid' for oversatte "
"meddelelser\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent vis ikke forløbsindikatorer\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "denne tekst burde definere flertalsformer"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "denne tekst burde ikke definere flertalsformer"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2925,28 +3143,28 @@ msgstr ""
"%sLæste %ld gamle + %ld reference, flettede %ld, uafklarede %ld, mangler "
"%ld, forældede %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " afsluttet.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s og udtrykkelige filnavne udelukker hinanden"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Brug: %s [TILVALG] [FIL]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Konvertér et binær beskedskatalog til en .po-fil af Uniforum-type\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2955,13 +3173,13 @@ msgstr ""
" -j, --java Javatilstand: inddata er en Java "
"ResourceBundle-klasse\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp C#-tilstand: inddata er en .NET .dll-fil\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2970,7 +3188,7 @@ msgstr ""
" --csharp-resources C#-ressurcetilstand: inddata er en .NET ."
"resources-fil\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -2978,17 +3196,17 @@ msgstr ""
" --tcl Tcl-tilstand: inddata er en tcl/msgcat .msg-"
"fil\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FIL ... .mo-indfiler\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Placering for indfil i Javatilstand:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2998,12 +3216,12 @@ msgstr ""
"Klassenavnet bestemmes ved at tilføje localenavnet til ressourcenavnet\n"
"adskilt med en understreg. Klassen findes med hjælp af CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Placering af indfil i C#-tilstand:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3012,12 +3230,12 @@ msgstr ""
"Flagene -l og -d er obligatoriske. .dll filen er placeret i et\n"
"underkatalog af det angivne katalog, hvis navn afhænger af localet.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Placering af indfil i Tcl-tilstand:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3026,17 +3244,17 @@ msgstr ""
"Flagene -l og -d er obligatoriske. .msg filen er placeret i det\n"
"angivne katalog.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent lav indrykningsstíl i resultatet\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3058,12 +3276,12 @@ msgstr ""
"oversættelse. Filpositioner samles sammen.\n"
"Når flaget --unique angives fjernes alle gentagede.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated skriv kun gentagede beskeder\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3071,7 +3289,7 @@ msgid ""
msgstr ""
" -u, --unique skriv kun unikke beskeder, gentagede fjernes\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdind>"
@@ -3127,32 +3345,32 @@ msgstr ""
"Tegnsæt mangler i hoved.\n"
"Tekstkonvertering til brugers tegnsæt vil ikke virke.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "inkonsistent brug af #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "'msgstr[]'-afsnit mangler"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "'msgstr_plural'-afsnit mangler"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "'msgstr'-afsnit mangler"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "første flertalsform har indeks, der ikke er nul"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "flertalsform har forkert indeks"
@@ -3162,7 +3380,7 @@ msgstr "flertalsform har forkert indeks"
msgid "too many errors, aborting"
msgstr "afbryder kørslen på grund af for mange fejl"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "Ugyldig multibytesekvens"
@@ -3206,64 +3424,83 @@ msgstr "tekststreng var ikke afsluttet ved linjeskift"
msgid "context separator <EOT> within string"
msgstr "kontekstseparator <EOT> inde i streng"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "denne fil må ikke indeholde 'domain'-kommandoer"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "tekst erklæret mere end en gang"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "dette er placeringen af den første erklæring"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "%s:%d: advarsel: ugyldigt UCS-tegn"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "filternavn mangler"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ugyldig nplurals-værdi"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "filen '%s' er afkortet"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "filen '%s' indeholder en ikke-NUL afsluttet streng"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "filen '%s' er ikke i GNU .mo-format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "filen '%s' indeholder en ikke-NUL-afsluttet streng, ved %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "advarsel: ugyldig \\uxxxx-syntaks for ISO 10646-tegn"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "advarsel: streng ikke afsluttet"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "advarsel: syntaksfejl"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "advarsel: uafsluttet nøgke/værdi-par"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "advarsel: syntaksfejl, ';' forventedes efter streng"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "advarsel: syntaksfejl, '=' eller ';' forventedes efter streng"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Skrevet af %s og %s.\n"
@@ -3272,16 +3509,16 @@ msgstr "Skrevet af %s og %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Omkod serbisk tekst fra kyrillisk til latinsk kodning.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3290,27 +3527,27 @@ msgstr ""
"Inddatateksten læses fra standard ind. Den konverterede tekst skrives til\n"
"standard ud.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "inddata er ikke gyldig i indkodningen '%s'"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "fejl ved konvertering fra '%s' indkodning til '%s' indkodning"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "forventede to argumenter"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Brug: %s [TILVALG] URL FIL\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3319,37 +3556,37 @@ msgstr ""
"Henter og udskriver indholdet af en URL. Hvis URL'en ikke kan hentes bruges\n"
"den lokale fil FIL i stedet.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "fejl ved læsning af '%s'"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "fejl ved skrivning af standard-uddata"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "fejl efter læsning af '%s'"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Henter %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " tiden udløb.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " mislykkedes.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3357,7 +3594,7 @@ msgstr ""
"Kan ikke udskrive flere oversættelsesdomæner til en enkelt fil med det "
"angivne resultatformat. Forsøg at bruge PO-filsyntaks i stedet."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3365,7 +3602,7 @@ msgstr ""
"Kan ikke udskrive flere oversættelsesdomæner til en enkelt fil med det "
"angivne resultatformat."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3373,7 +3610,7 @@ msgstr ""
"beskedkatalog har sammenhængsafhængige oversættelser, men uddata-formatet "
"understøtter dem ikke."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3385,7 +3622,7 @@ msgstr ""
"java'\n"
"i stedet for en 'properties'-fil."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3393,12 +3630,12 @@ msgstr ""
"beskedkatalog har oversættelser med flertalsformer, men uddata-formatet "
"understøtter dem ikke."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "kan ikke oprette uddatafil '%s'"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard-uddata"
@@ -3417,40 +3654,41 @@ msgstr "oversættelse af C?-klasse mislykkedes, prøv gerne --verbose"
msgid "compilation of C# class failed"
msgstr "oversættelse af C#-klasse mislykkedes"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "fejl opstået ved skrive-åbning af '%s'"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "ikke et gyldigt Java-klassenavn: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"oversættelse af Java-klasse mislykkedes, prøv gerne --verbose eller sæt "
"$JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "oversættelse af Java-klasse mislykkedes, prøv gerne at sætte $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "fejl opstået ved skrive-åbning af '%s'"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "Ugyldig multibytesekvens"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "oversættelige tekster må ikke indeholde `\\%c'-escapesekvensen"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3463,7 +3701,7 @@ msgstr ""
"som er et andet end dit. Forsøg at bruge en ren ASCII-msgctxt i stedet.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3476,7 +3714,7 @@ msgstr ""
"som er et andet end dit. Forsøg at bruge en ren ASCII-msgid i stedet.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3484,7 +3722,7 @@ msgstr ""
"beskedkatalog har oversættelser med flertalsformer,\n"
"men Qt-formatet for beskedskataloger understøtter ikke flertalsformer\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3495,7 +3733,7 @@ msgstr ""
"men formatet for meddelelsekataloger i Qt understøtter kun UCS i de\n"
"oversatte strengen, ikke i kontekststrengene.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3505,12 +3743,12 @@ msgstr ""
"men formatet for meddelelsekataloger i Qt understøtter kun UCS i de\n"
"oversatte strenge, ikke i de uoversatta strenge\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "fejl ved skrivning til underproces '%s'"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3518,7 +3756,7 @@ msgstr ""
"beskedkatalog har sammenhængsafhængige oversættelser,\n"
"men C#-formatet for ressourcer understøtter ikke sammenhæng\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3526,7 +3764,7 @@ msgstr ""
"beskedkatalog har oversættelser med flertalsformer,\n"
"men C#-formatet for ressourcer understøtter ikke flertalsformer\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3534,7 +3772,7 @@ msgstr ""
"beskedkatalog har sammenhængsafhængige oversættelser,\n"
"men Tcl-formatet for beskedskataloger understøtter ikke sammenhænge\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3542,36 +3780,36 @@ msgstr ""
"beskedkatalog har oversættelser med flertalsformer,\n"
"men Tcl-formatet for beskedskataloger understøtter ikke flertalsformer\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: advarsel: streng ikke afsluttet"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: advarsel: regulært udtryk ikke afsluttet"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: advarsel: ugyldigt UCS-tegn"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: advarsel: tegnkonstant ikke afsluttet korrekt"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Angiv venligst indkodning af kildetekst via --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3580,7 +3818,7 @@ msgstr ""
"%s:%d: Ugyldig multibyte-sekvens.\n"
"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3589,7 +3827,7 @@ msgstr ""
"%s:%d: Lang ufuldstændug multibyte-sekvens.\n"
"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3598,7 +3836,7 @@ msgstr ""
"%s:%d: Ufuldstændug multibyte-sekvens ved slutning på fil.\n"
"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3607,12 +3845,12 @@ msgstr ""
"%s:%d: Ufuldstændug multibyte-sekvens ved slutning på linje.\n"
"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv-fejl"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3621,280 +3859,75 @@ msgstr ""
"%s:%d: Ugyldig multibyte-sekvens.\n"
"Angiv venligst indkodning af kildetekst via --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: advarsel: ugyldigt UCS-tegn"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: advarsel: ')' blev fundet hvor '}' forventedes"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: advarsel: '}' blev fundet hvor ')' forventedes"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Sproget 'glade' er ikke understøttet. %s bygger på expat,\n"
-"Denne version er bygget uden expat.\n"
-
-#: src/x-java.c:494
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: advarsel: ensom surrogat U+%04X"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Angiv venligst indkodning af kildetekst via --from-code."
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ugyldig multibyte-sekvens.\n"
-"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Lang ufuldstændug multibyte-sekvens.\n"
-"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ufuldstændug multibyte-sekvens ved slutning på fil.\n"
-"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ufuldstændug multibyte-sekvens ved slutning på linje.\n"
-"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: Ugyldig multibyte-sekvens.\n"
-"Angiv venligst indkodning af kildetekst via --from-code.\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: advarsel: ugyldigt UCS-tegn"
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: advarsel: streng ikke afsluttet"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: finder ikke strengafslutningen '%s' nogetsteds før filslut"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: højre krølleparentes mangler i \\x{HEXNUMMER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: ugyldig sekvens ('\\l') for 8bit-tegnet '%c'"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: ugyldig sekvens ('\\u') for 8bit-tegnet '%c'"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: ugyldig variabel-interpolation ved '%c'"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: ugyldig interpolation ('\\L') for 8bit-tegnet '%c'"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: ugyldig interpolation ('\\U') for 8bit-tegnet '%c'"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Angiv kildeindkodning med --from-code eller med en kommentar ifølge\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ugyldig multibytesekvens.\n"
-"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "ukendt sprog '%s'"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: Lang ufuldstændig multibytesekvens.\n"
-"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Ufuldstændig multibytesekvens ved filslut.\n"
-"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+"--join-existing kan ikke benyttes når uddata sendes til standard-uddata"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ufuldstændig multibytesekvens ved linjeslut.\n"
-"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext kan ikke arbejde uden nogen nøgleord at kigge efter"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Ugyldig multibytesekvens.\n"
-"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Ukendt kodning '%s'. Fortsætter med ASCII i stedet."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ugyldig streng-definition"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: mangler tal efter #"
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ugyldigt streng-udtryk"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: advarsel: syntaksen $\"...\" vil fremover blive fjernet af "
-"sikkerhedsårsager; brug eval_gettext i stedet"
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"--join-existing kan ikke benyttes når uddata sendes til standard-uddata"
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext kan ikke arbejde uden nogen nøgleord at kigge efter"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"advarsel: ukendt type for fil `%s' med endelse `%s'; C benyttes i stedet"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Udtræk oversættelige strenge fra givne indfiler.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3902,23 +3935,23 @@ msgid ""
msgstr ""
" -d, --default-domain=NAVN brug NAVN.po som udfil (i st.f. messages.po) \n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FIL skriv resultatet til FIL\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=KATALOG udfiler placeres i kataloget KATALOG\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Valg af sprog for indfil\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, fuzzy, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3938,19 +3971,19 @@ msgstr ""
"PHP,\n"
" GCC-source, NXStringTable, RST, Glade)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ kort skrivemåde for --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "Som standard antages sproget ud fra endelsen på inddatafilen.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3959,23 +3992,23 @@ msgstr ""
" --from-code=NAVN kodning af inddatafiler\n"
" (undtagen for Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Som standard antages inddatafilerne at være i ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing sammenflet meddelelser med eksisterende fil\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FIL.po linjer fra FIL tages ikke ud\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3992,17 +4025,33 @@ msgstr ""
"nøgleordslinjer\n"
" til resultatfilen\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Sprogspecifikke valg:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all uddrag alle strenge\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4016,7 +4065,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4030,7 +4079,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4040,7 +4089,7 @@ msgstr ""
" --flag=ORD:NR:FLAG ekstra FLAG for strenge inde i argument\n"
" nummer NR for nøgleord ORD\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4054,71 +4103,81 @@ msgstr ""
"Java,\n"
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs behandl ISO C tretegnssekvenser i indfiler\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (kun sprogene C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt genkend Qt-formatstrenge\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (kun sproget C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde genkend KDE 4-formatstrenge\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost genkend Boost-formatstrenge\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug mere detaljeret genkendelse af formatstrenge\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output skriv en 'Java .properties'-fil\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " -f, --files-from=FIL læs liste af indfiler fra FIL\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent lav indrykningsstíl i resultatet\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=STRENG sæt copyrightindehaver i resultatet\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr " --foreign-user udelad FSF-copyrighttekst i resultatet\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAKKE sæt pakkenavn i uddata\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION sæt pakkeversion i uddata\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4126,7 +4185,7 @@ msgstr ""
" --msgid-bugs-address=EPOST@ADRESSE sæt modtager for msgid-"
"fejlrapporter\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4136,7 +4195,7 @@ msgstr ""
" -m[STRENG], --msgstr-prefix[=STRENG] indled oversatte strenge med STRENG "
"eller \"\"\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4146,7 +4205,7 @@ msgstr ""
" -M[STRENG], --msgstr-suffix[=STRENG] afslut oversatte strenge med STRENG "
"eller \"\"\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4154,31 +4213,31 @@ msgid ""
msgstr ""
"Et '--flag'-argument har ikke <nøgleord>:<nummer>:[pass-]<flag> syntaks: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard-inddata"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Ikke-ASCII-tegn ved %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Ikke-ASCII-kommentar ved eller før %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Ikke-ASCII-streng ved %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: advarsel: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4187,7 +4246,7 @@ msgstr ""
"%s er ikke en gyldig formatstreng for %s selvom den bruges i en "
"formatstrengsposition. Årsag: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4196,7 +4255,7 @@ msgstr ""
"%s er ikke en gyldig formatstreng for %s selvom den er deklareret som en. "
"Årsag: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4210,7 +4269,7 @@ msgstr ""
"Overvej i stedet at bruge en formatstreng med navngivne argumenter\n"
"og en mapning i stedet for en liste for argumenter.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4220,28 +4279,28 @@ msgstr ""
"gettext(\"\") returnerer hovedet med metainformation,\n"
"ikke den tomme streng.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "flertydig argumentangivelse for nøgleord '%.*s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "advarsel: kontekst mangles for nøgleordet '%.*s'"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"advarsel: kontekst mangles for flertalsargumentet til nøgleordet '%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "kontekst passer ikke mellem entals- og flertalsformen"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
#, fuzzy
msgid ""
"The option --msgid-bugs-address was not specified.\n"
@@ -4254,15 +4313,351 @@ msgstr ""
"variablen MSGID_BUGS_ADDRESS dér; ellers angiv\n"
"tilvalget --msgid-bugs-address på kommandolinjen.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "ukendt sprog '%s'"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: advarsel: ensom surrogat U+%04X"
+
+#: src/x-javascript.c:231
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Angiv venligst indkodning af kildetekst via --from-code."
+
+#: src/x-javascript.c:276
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ugyldig multibyte-sekvens.\n"
+"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
+
+#: src/x-javascript.c:292
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Lang ufuldstændug multibyte-sekvens.\n"
+"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
+
+#: src/x-javascript.c:304
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ufuldstændug multibyte-sekvens ved slutning på fil.\n"
+"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
+
+#: src/x-javascript.c:313
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ufuldstændug multibyte-sekvens ved slutning på linje.\n"
+"Angiv venligst korrekt indkodning af kildetekst via --from-code.\n"
+
+#: src/x-javascript.c:345
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ugyldig multibyte-sekvens.\n"
+"Angiv venligst indkodning af kildetekst via --from-code.\n"
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: advarsel: ugyldigt UCS-tegn"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: advarsel: streng ikke afsluttet"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: finder ikke strengafslutningen '%s' nogetsteds før filslut"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: højre krølleparentes mangler i \\x{HEXNUMMER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: ugyldig sekvens ('\\l') for 8bit-tegnet '%c'"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: ugyldig sekvens ('\\u') for 8bit-tegnet '%c'"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: ugyldig variabel-interpolation ved '%c'"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: ugyldig interpolation ('\\L') for 8bit-tegnet '%c'"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: ugyldig interpolation ('\\U') for 8bit-tegnet '%c'"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Angiv kildeindkodning med --from-code eller med en kommentar ifølge\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ugyldig multibytesekvens.\n"
+"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Lang ufuldstændig multibytesekvens.\n"
+"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ufuldstændig multibytesekvens ved filslut.\n"
+"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ufuldstændig multibytesekvens ved linjeslut.\n"
+"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ugyldig multibytesekvens.\n"
+"Angiv korrekt kildekodning med --from-code eller med en kommentar ifølge\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Ukendt kodning '%s'. Fortsætter med ASCII i stedet."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ugyldig streng-definition"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: mangler tal efter #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ugyldigt streng-udtryk"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: advarsel: syntaksen $\"...\" vil fremover blive fjernet af "
+"sikkerhedsårsager; brug eval_gettext i stedet"
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<uden navn>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ugyldig kontrolsekvens"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "ikke et gyldigt Java-klassenavn: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "ikke et gyldigt Java-klassenavn: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ugyldig kontrolsekvens"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ugyldig byteorden: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "Ugyldigt argument %s for %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "filternavn mangler"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Sproget 'glade' er ikke understøttet. %s bygger på expat,\n"
+#~ "Denne version er bygget uden expat.\n"
+
#~ msgid "header field `%s' should start at beginning of line\n"
#~ msgstr "feltet '%s' i hovedet bør starte ved linjens begyndelse\n"
diff --git a/gettext-tools/po/de.gmo b/gettext-tools/po/de.gmo
index c064740..357b669 100644
--- a/gettext-tools/po/de.gmo
+++ b/gettext-tools/po/de.gmo
Binary files differ
diff --git a/gettext-tools/po/de.po b/gettext-tools/po/de.po
index 23ca3cd..cab3f10 100644
--- a/gettext-tools/po/de.po
+++ b/gettext-tools/po/de.po
@@ -2,7 +2,7 @@
# Copyright © 1995, 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2012, 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Karl Eichwalder <ke@suse.de>, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2012.
-# Philipp Thomas <pth@suse.de>, 2012
+# Philipp Thomas <pth@suse.de>, 2012, 2015
# Ulrich Drepper <drepper@gnu.org>, 1995-1997.
# Jakob Kramer <jakob.kramer@gmx.de>, 2013.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2014.
@@ -83,11 +83,11 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.19.3\n"
+"Project-Id-Version: GNU gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-30 20:25+0100\n"
-"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-06-26 13:05+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -136,40 +136,40 @@ msgstr "Temporäres Verzeichnis %s kann nicht entfernt werden"
msgid "write error"
msgstr "Fehler beim Schreiben"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "Berechtigungen für %s werden beibehalten"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "Öffnen der Datei %s zum Lesen fehlgeschlagen"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "Öffnen der Sicherungsdatei %s zum Schreiben fehlgeschlagen"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "Fehler beim Lesen von %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "Fehler beim Schreiben von %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "Fehler nach dem Lesen von %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() fehlgeschlagen"
@@ -195,58 +195,63 @@ msgstr "Unbekannter Systemfehler"
msgid "%s subprocess failed"
msgstr "Subprozess %s fehlgeschlagen"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: Option »%s« ist mehrdeutig; Möglichkeiten:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: Option „%s“ ist mehrdeutig\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: Option »--%s« erwartet kein Argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: Option »%c%s« erwartet kein Argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: Option »%s« erwartet ein Argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: unbekannte Option »--%s«\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: unbekannte Option »%c%s«\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ungültige Option -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: Option erwartet ein Argument -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: Option »-W %s« ist mehrdeutig\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: Option »-W %s« erwartet kein Argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: Option »-W %s« erwartet ein Argument\n"
@@ -262,15 +267,16 @@ msgstr "ungültiges Argument source_version für compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "ungültiges Argument target_version für compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "Fehler beim Anlegen von »%s«"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "Fehler beim Schreiben von Datei »%s«"
@@ -288,15 +294,15 @@ msgstr ""
"Virtuelle Java-Maschine nicht gefunden; bitte »gcj« installieren oder\n"
"$JAVA setzen"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "Subprozess %s mit Ein-/Ausgabefehler"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "Speicher aufgebraucht"
@@ -307,7 +313,7 @@ msgid "creation of threads failed"
msgstr "Erstellung der Threads fehlgeschlagen"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "Schreiben zum Subprozess %s fehlgeschlagen"
@@ -355,11 +361,11 @@ msgstr "Subprozess %s wurde mit dem Exit-Code %d beendet"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "»"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "«"
@@ -396,54 +402,202 @@ msgstr "Subprozess %s"
msgid "%s subprocess got fatal signal %d"
msgstr "Subprozess %s hat das fatale Signal %d erhalten"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "Öffnen der Datei »%s« zum Lesen fehlgeschlagen"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Das Root-Element <%s> ist in einer Glade-Datei nicht zulässig"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"im Gegensatz zu »%3$s« ist »%1$s« kein gültiges %2$s Format-Element. Der "
-"Grund ist: %4$s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "»%s --help« gibt weitere Informationen.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Aufruf: %s [OPTION] [DATEI]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Notwendige Argumente für Optionen in Langform sind auch für die Kurzform\n"
+"notwendig. Dies gilt in gleicher Weise für optionale Argumente.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help diese Hilfe anzeigen und beenden\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help diese Hilfe anzeigen und beenden\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Versionsnummer anzeigen und beenden\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Fehler bitte auf Englisch an <bug-gnu-gettext@gnu.org> melden.\n"
+"\n"
+"Für die deutsche Übersetzung sind die Übersetzer der Mailingliste\n"
+"<translation-team-de@lists.sourceforge.net> zuständig.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"Lizenz GPLv3: GNU GPL Version 3 oder neuer <http://gnu.org/licenses/gpl.html>\n"
+"\n"
+"Dies ist freie Software; es steht Ihnen frei, sie zu verändern und\n"
+"weiterzugeben.\n"
+"Es gibt KEINE GARANTIE, soweit gesetzlich zulässig.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Geschrieben von %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s existiert, aber kann nicht gelesen werden"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "Temporäres Verzeichnis %s kann nicht entfernt werden"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "Öffnen der Datei »%s« zum Lesen fehlgeschlagen"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "eine Formatspezifikation für Argument %u, wie in »%s«, fehlt in »%s«"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "eine Formatspezifikation für Argument »%u« fehlt in »%s«"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"Formatspezifikation in »%s« und »%s« für Argument %u sind nicht identisch"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Die %u. Formatanweisung beginnt mit |, aber endet nicht mit |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"im Gegensatz zu »%3$s« ist »%1$s« kein gültiges %2$s Format-Element. Der "
+"Grund ist: %4$s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -453,44 +607,44 @@ msgstr ""
"einer Formatspezifikation. Die gültigen Makronamen sind in ISO C 99 "
"Abschnitt 7.8.1 aufgeführt."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "In der %u. Formatanweisung folgt dem Wort nach »<« kein »>«."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Die Zeichenkette bezieht sich auf das %u. Argument, ignoriert aber das %u. "
"Argument."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
"die Anzahl der Formatspezifikationen in »%s« und »%s« stimmt nicht überein"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "In der %u. Formatanweisung folgt der »{« kein nummeriertes Argument."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "In der %u. Formatanweisung folgt dem »,« keine Zahl."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Die Zeichenkette endet mitten in einer Anweisung: »{« ohne übereinstimmende "
"»}« gefunden."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -498,13 +652,13 @@ msgstr ""
"Die %u. Formatanweisung endet mit dem ungültigen Zeichen »%c« anstatt einer\n"
"»}«."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Die %u. Formatanweisung endet mit einem ungültigen Zeichen anstatt einer »}«."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -512,7 +666,7 @@ msgstr ""
"Die Zeichenkette beginnt mitten in einer Anweisung: »}« ohne "
"übereinstimmende »{« gefunden."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -639,7 +793,7 @@ msgstr ""
"Die Zeichenkette bezieht sich auf das %u. Argument in einer nicht "
"kompatiblen Weise."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -648,12 +802,12 @@ msgstr ""
"In der %u. Formatanweisung ist die Unterzeichenkette »%s« kein gültiger "
"Datums- bzw. Zeitstil."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "In der %u. Formatanweisung folgt dem »%s« kein Komma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -661,7 +815,7 @@ msgstr ""
"In der %u. Formatanweisung ist die Unterzeichenkette »%s« kein gültiger "
"Zahlenstil."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -670,12 +824,12 @@ msgstr ""
"In der %u. Formatanweisung folgt dem nummerierten Argument kein Komma und "
"keins von »%s«, »%s«, »%s«, »%s«."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "In der %u. Formatanweisung beinhaltet eine Auswahl keine Zahl."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -684,25 +838,48 @@ msgstr ""
"In der %u. Formatanweisung beinhaltet eine Auswahl eine Zahl, der weder »<«, "
"»#« noch »%s« folgt."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "eine Formatspezifikation für Argument {%u}, wie in »%s«, fehlt in »%s«"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "eine Formatspezifikation für Argument {%u} fehlt in »%s«"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
"Formatspezifikationen in »%s« und »%s« für Argument {%u} sind nicht identisch"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Die Zeichenkette bezieht sich auf Argunment %u, ignoriert aber die Argumente "
+"%u und %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"eine Formatspezifikation für die Argumente %u und %u fehlt in „%s“ aber nur "
+"ein Argument darf ignoriert werden"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "Fehler beim Lesen: »%s«"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -712,7 +889,7 @@ msgstr ""
"In der %u. Formatanweisung ist der %u. Parameter vom Typ »%s«, aber es wird "
"ein Parameter vom Typ »%s« erwartet."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -727,34 +904,34 @@ msgstr[1] ""
"In der %u. Formatanweisung sind zu viele Parameter angegeben; es werden "
"höchstens %u Parameter erwartet."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "In der %u. Formatanweisung folgt dem »%c« keine Ziffer."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "In der %u. Formatanweisung ist das %d. Argument negativ."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Die Zeichenkette endet mitten in einer ~/.../-Anweisung."
# Bezieht sich auf Klammernpaare -ke-
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "»~%c« ohne zugehörige »~%c« gefunden."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "In der %u. Formatanweisung sind die beiden Modifier @ und : angegeben."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -763,29 +940,35 @@ msgstr ""
"In der %u. Formatanweisung folgen dem »~:[« keine zwei Clausen, abgetrennt "
"durch »~;«."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
"In der %u. Formatanweisung wird »~;« an einer ungültigen Stelle verwendet."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
"Die Zeichenkette bezieht sich in nicht kompatibler Weise auf ein Argument."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "die Formatspezifikationen in »%s« und »%s« sind nicht gleichbedeutend"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"die Formatspezifikationen in »%s« sind keine Untermenge von denen in »%s«"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "eine Formatspezifikation für Argument »%s« fehlt in »%s«"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -794,14 +977,41 @@ msgstr ""
"In der %u. Formatanweisung ist die Größenspezifikation mit der "
"Konvertierungsspezifikation »%c« nicht kompatibel."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "eine Formatspezifikation für Argument »%s« fehlt in »%s«"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+"In der %u. Formatanweisung darf »%c« nicht mit einem Feldnamen beginnen."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"In der %u. Formatanweisung darf »%c« nicht mit einem getattr-Argument "
+"beginnen."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"In der %u. Formatanweisung darf »%c« nicht mit einem getitem-Argument "
+"beginnen."
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"In der %u. Formatanweisung ist in einem Formatbezeichner keine weitere "
+"Verschachtelung erlaubt."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+"In der %u. Formatanweisung gibt es eine nicht terminierte Formatanweisung."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -809,7 +1019,7 @@ msgstr ""
"Die Zeichenkette bezieht sich auf Argumente mit bezeichneten Argumenten und "
"mit unbezeichneten Argumentspezifikationen."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
@@ -817,7 +1027,7 @@ msgstr ""
"Argument »%s«."
# CHECKIT
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -825,7 +1035,7 @@ msgstr ""
"Formatspezifikationen in »%s« erwarten ein Mapping, die in »%s« jedoch ein "
"Tupel"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -834,13 +1044,13 @@ msgstr ""
"ein\n"
"Mapping"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "eine Formatspezifikation für Argument »%s«, wie in »%s«, fehlt in »%s«"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -848,41 +1058,7 @@ msgstr ""
"Formatspezifikationen in »%s« und »%s« für Argument »%s« stimmen nicht "
"überein"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-"In der %u. Formatanweisung darf »%c« nicht mit einem Feldnamen beginnen."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"In der %u. Formatanweisung darf »%c« nicht mit einem getattr-Argument "
-"beginnen."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-"In der %u. Formatanweisung darf »%c« nicht mit einem getitem-Argument "
-"beginnen."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"In der %u. Formatanweisung ist in einem Formatbezeichner keine weitere "
-"Verschachtelung erlaubt."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-"In der %u. Formatanweisung gibt es eine nicht terminierte Formatanweisung."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -891,13 +1067,13 @@ msgstr ""
"»%s« ist ein einfaches Formatelement, aber »%s« ist es nicht: es enthält ein "
"»L«-Flag oder eine doppelstellige Argumentenanzahl"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"Die Zeichenkette bezieht sich auf eine Shell-Variable mit einem Namen, der "
"nicht ASCII-kodiert ist."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -906,7 +1082,7 @@ msgstr ""
"Shellklammernsyntax. Diese Syntax wird hier aus Sicherheitsgründen nicht "
"unterstützt."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -914,12 +1090,12 @@ msgstr ""
"Die Zeichenkette bezieht sich auf eine Shell-Variable, deren Wert innerhalb "
"einer Shellfunktion unterschiedlich sein kann."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
"Die Zeichenkette bezieht sich auf eine Shell-Variable mit einem leeren Namen."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -928,7 +1104,7 @@ msgstr ""
"In der %u. Formatanweisung ist das Zeichen »%c« keine Ziffer zwischen 1 und "
"9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -937,77 +1113,40 @@ msgstr ""
"Das Zeichen, das die %u. Formatanweisung terminiert, ist keine Ziffer "
"zwischen 1 und 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright © %s Free Software Foundation, Inc.\n"
-"Lizenz GPLv3: GNU GPL Version 3 oder neuer <http://gnu.org/licenses/gpl.html>\n"
-"\n"
-"Dies ist freie Software; es steht Ihnen frei, sie zu verändern und\n"
-"weiterzugeben.\n"
-"Es gibt KEINE GARANTIE, soweit gesetzlich zulässig.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Geschrieben von %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "zu viele Argumente"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "»%s --help« gibt weitere Informationen.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Aufruf: %s [OPTION]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Rechnernamen (Hostname) ausgeben.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Format der Ausgabe:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short kurzer Rechnername\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -1017,81 +1156,103 @@ msgstr ""
" -f, --fqdn, --long langer Rechnername, einschließlich des\n"
" vollqualifizierten Domainnamen (FQDN) und Aliasse\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address Adressen für den Rechnernamen\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informative Ausgabe:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help diese Hilfe anzeigen und beenden\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "es ist nicht möglich, den Rechnernamen (Hostname) zu ermitteln"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version Versionsnummer anzeigen und beenden\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "es müssen mindestens zwei Dateien angegeben werden"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "Es ist nicht möglich, eine Pipe einzurichten"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-"Fehler bitte auf Englisch an <bug-gnu-gettext@gnu.org> melden.\n"
-"\n"
-"Für die deutsche Übersetzung sind die Übersetzer der Mailingliste\n"
-"<translation-team-de@lists.sourceforge.net> zuständig.\n"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:614
#, c-format
-msgid "could not get host name"
-msgstr "es ist nicht möglich, den Rechnernamen (Hostname) zu ermitteln"
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "ungültiges Argument %s für %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "Es ist nicht möglich, eine Pipe einzurichten"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s existiert nicht"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "Ausgabedatei »%s« kann nicht erstellt werden"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "höchstens eine Eingabedatei erlaubt"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s und %s schließen sich gegenseitig aus"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Aufruf: %s [OPTION] [EINGABEDATEI]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1100,10 +1261,10 @@ msgstr ""
"Meldungen eines Katalogs mit Ãœbersetzungen anhand von Attributen filtern und\n"
"Attribute der Meldungen bearbeiten.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1111,56 +1272,57 @@ msgstr ""
"Notwendige Argumente für Optionen in Langform sind auch für die Kurzform\n"
"notwendig.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Angaben zu Eingabedateien:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " EINGABEDATEI PO-Eingabedatei\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=VERZ VERZ der Liste der Eingabedateien hinzufügen\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Wenn keine Eingabedatei oder »-« angegeben ist, wird die Standardeingabe\n"
"gelesen.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Angaben zu Ausgabedateien:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=DATEI Ausgabe in die angegebene DATEI schreiben\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1170,73 +1332,73 @@ msgstr ""
"oder\n"
"»-« angegeben ist.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Auswahl der Meldungen:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated übersetzte übernehmen, unübersetzte verwerfen\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
" --untranslated unübersetzte übernehmen, übersetzte verwerfen\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy mit »fuzzy« markierte verwerfen\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy mit »fuzzy« markierte übernehmen\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete obsolete Meldungen (#~) verwerfen\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete obsolete Meldungen (#~) übernehmen\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Attribute verändern:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy alle Meldungen auf »fuzzy« setzen\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy »fuzzy«-Markierung von allen Meldungen "
"entfernen\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete alle Meldungen obsolet machen\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete alle Meldungen nicht-obsolet machen\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1246,7 +1408,7 @@ msgstr ""
"Schlüssel\n"
" der übersetzten Meldungen beibehalten\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1255,7 +1417,7 @@ msgstr ""
" --clear-previous »previous msgid« von allen Meldungen "
"entfernen\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1263,7 +1425,7 @@ msgstr ""
" --empty beim Entfernen der »fuzzy«-Markierung auch\n"
" »msgstr« leeren\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1272,7 +1434,7 @@ msgstr ""
"po\n"
" gelistet sind\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1281,13 +1443,13 @@ msgstr ""
"po\n"
" nicht gelistet sind\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy Synonym für »--only-fuzzy --clear-fuzzy«\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1295,16 +1457,16 @@ msgstr ""
" --obsolete Synonym für »--only-obsolete --clear-"
"obsolete«\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syntax der Eingabedatei:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1312,8 +1474,8 @@ msgstr ""
" -P, --properties-input Eingabedatei folgt der .properties-Syntax von\n"
" Java\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1322,17 +1484,17 @@ msgstr ""
" --stringtable-input Eingabedatei folgt der .strings-Syntax von\n"
" Nextstep/Gnustep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Details zur Ausgabe:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1347,17 +1509,17 @@ msgstr ""
" Bei kann »always«, »never«, »auto« oder »html« "
"sein.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=STILDATEI CSS-Datei mit Stil-Regel für --color angeben\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1365,9 +1527,9 @@ msgstr ""
" -e, --no-escape keine C-Escape-Sequenzen in Ausgabe verwenden\n"
" (Vorgabe)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1375,30 +1537,30 @@ msgstr ""
" -E, --escape C-Escape-Sequenzen und keine erweiterten\n"
" Zeichen in Ausgabe verwenden\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po PO-Datei erstellen, auch wenn sie leer ist\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent Ausgabe eingerückt darstellen\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location Zeilen mit »#: Datei:Zeilennr.« nicht "
"schreiben\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1406,8 +1568,8 @@ msgstr ""
" -n, --add-location Zeilen mit »#: Datei:Zeilennr.« erhalten "
"(Vorgabe)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1415,18 +1577,18 @@ msgstr ""
" --strict .po-Datei streng nach Uniforum-Format "
"erstellen\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output Datei in der .properties-Syntax von Java\n"
" ausgeben\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1434,18 +1596,18 @@ msgstr ""
" --stringtable-output eine ».strings«-Datei von Nextstep/Gnustep\n"
" erstellen\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
" -w, --width=ANZAHL Breite der Ausgabe auf ANZAHL Spalten "
"festlegen\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1455,32 +1617,32 @@ msgstr ""
" Breite der Ausgabe sind, nicht auf mehrere\n"
" Zeilen umbrechen\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output sortierte Ausgabe erstellen\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file Ausgabe gemäß Vorkommen in Dateien erstellen\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "Auswahlkriterium nicht möglich (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Aufruf: %s [OPTION] [EINGABEDATEI]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1504,24 +1666,24 @@ msgstr ""
"entsprechende Eintrag nur von der ersten PO-Datei berücksichtigt, in der der\n"
"Eintrag vorkommt.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " EINGABEDATEI... Eingabedateien\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=DATEI Namen der Eingabedateien aus DATEI holen\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Wenn die Eingabedatei »-« ist, wird die Standardeingabe gelesen.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1530,7 +1692,7 @@ msgstr ""
" -<, --less-than=ANZAHL Meldungen mit weniger als ANZAHL Definitionen\n"
" anzeigen (Vorgabe: unendlich)\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1539,7 +1701,7 @@ msgstr ""
" ->, --more-than=ANZAHL Meldungen mit mehr als ANZAHL Definitionen\n"
" anzeigen (Vorgabe: 0)\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1548,8 +1710,8 @@ msgstr ""
" -u, --unique Abkürzung für »--less-than=2«; Meldungen\n"
" anfordern, die nur einmal vorkommen\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1558,8 +1720,8 @@ msgstr ""
"von\n"
" Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1569,12 +1731,12 @@ msgstr ""
"Syntax\n"
" für .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAME Kodierung für die Ausgabe\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1584,7 +1746,7 @@ msgstr ""
" Meldung verwenden, nicht mehrere\n"
" Ãœbersetzungen zusammenziehen\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1592,26 +1754,26 @@ msgstr ""
" --lang=KATALOGNAME »Language«-Feld in dem Kopfeintrag setzen\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "keine Eingabedateien angegeben"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "es werden genau zwei Eingabedateien benötigt"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Aufruf: %s [OPTION] Def.po Ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1631,22 +1793,22 @@ msgstr ""
"Hilfestellung zu geben.\n"
"\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " Def.po Ãœbersetzungen\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " Ref.pot Referenzen auf die Quelldateien\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Optionen, die Verarbeitungen modifizieren:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1654,64 +1816,64 @@ msgid ""
msgstr ""
" -m, --multi-domain Ref.pot auf jeden Bereich in Def.po anwenden\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching fuzzy-Ãœbereinstimmung nicht verwenden\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy ungenaue Einträge (»fuzzy«) verwenden\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated unübersetzte Einträge verwenden\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "diese Meldung ist unübersetzt"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "diese Meldung muss vom Übersetzer geprüft werden"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "diese Meldung kommt vor, ist aber nicht definiert..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...diese Definition ist ähnlich"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "diese Meldung kommt vor, ist aber in %s nicht definiert"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "Warnung: diese Meldung kommt nicht vor"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "es ist %d fataler Fehler aufgetreten"
msgstr[1] "es sind %d fatale Fehler aufgetreten"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "es müssen mindestens zwei Dateien angegeben werden"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1733,7 +1895,7 @@ msgstr ""
"Stellenangaben der Meldungen in den Quellen werden für alle PO-Dateien\n"
"kumuliert.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1742,7 +1904,7 @@ msgstr ""
" ->, --more-than=ANZAHL Meldungen mit mehr als ANZAHL Definitionen\n"
" anzeigen (Vorgabe: 1)\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1750,40 +1912,40 @@ msgstr ""
" --omit-header »msgid \"\"«-Eintrag im Kopfteil nicht "
"erstellen\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Einen Katalog mit Ãœbersetzungen in eine andere Zeichensatz-Kodierung\n"
"konvertieren.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Zielformat der Konvertierung:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
"Die Vorgabe für die Kodierung ist die Kodierung der aktuellen\n"
"Spracheinstellung.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent Ausgabe eingerückt darstellen\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location Zeilen mit »#: Datei:Zeilennr.« nicht "
"schreiben\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1791,30 +1953,30 @@ msgstr ""
" --add-location Zeilen mit »#: Dateiname:Zeilennr.« erhalten\n"
" (Vorgabe)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict .po-Datei streng nach Uniforum-Format "
"erstellen\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "Eingabedatei fehlt"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "es wird genau eine Eingabedatei benötigt"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Aufruf: %s [OPTION] EINGABEDATEI\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1827,22 +1989,22 @@ msgstr ""
"i. A. von xgettext erstellt). Unübersetzte Einträge bekommen eine Übersetzung\n"
"zugewiesen, die mit der msgid identisch ist.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " EINGABEDATEI PO- oder POT-Eingabedatei\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "Name des Befehls fehlt"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Aufruf: %s [OPTION] BEFEHL [BEFEHL-OPTION]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1858,7 +2020,7 @@ msgstr ""
"Ausgabe wird zur Ausgabe von »msgexec«. Der Rückgabewert von »msgexec« ist der\n"
"höchste Rückgabewert von allen Aufrufen.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1868,39 +2030,50 @@ msgstr ""
"von einem Nullbyte-Zeichen. Die Ausgabe von »msgexec 0« ist geeignet als\n"
"Eingabe für »xargs -0«.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Befehlseingabe:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline Zeilenumbruch am Eingabeende hinzufügen\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=EINGABEDATEI PO-Eingabedatei\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "Schreiben nach Standardausgabe fehlgeschlagen"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "Name des Filters fehlt"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "es muss mindestens ein sed-Skript angegeben werden"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Aufruf: %s [OPTION] FILTER [FILTER-OPTION]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
"Einen Filter auf alle Ãœbersetzungen eines Katalogs mit Ãœbersetzungen "
"anwenden.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1911,19 +2084,34 @@ msgstr ""
"Standardausgabe\n"
"schreibt.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Ein- und Ausgabe filtern:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline am Ende der Eingabe einen Zeilenumbruch "
+"hinzufügen Einen Zeilenumbruch am Ende der "
+"Ausgabe entfernen"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Nützliche FILTER-OPTIONen, wenn »sed« der FILTER ist:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SKRIPT SKRIPT den auszuführenden Befehlen hinzufügen\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1933,14 +2121,14 @@ msgstr ""
" -f, --file=SKRIPT_DATEI Inhalt der SKRIPT_DATEI den auszuführenden\n"
" Befehlen hinzufügen\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent »Pattern-Space« nicht automatisch ausgeben\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1948,12 +2136,12 @@ msgstr ""
" --no-escape keine C-Escape-Sequenzen in Ausgabe\n"
" verwenden (Vorgabe)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent Ausgabe eingerückt darstellen\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1961,123 +2149,124 @@ msgstr ""
" --keep-header Kopfeintrag unverändert übernehmen, nicht "
"filtern\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "Die Ausgabe des Filters endet nicht mit einem Zeilenumbruch"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "das Argument für %s sollte ein einzelnes Interpunktionszeichen sein"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ungültiger Endian-Wert: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
"Wenn %s und %s angegeben sind, sollte keine Eingabedatei angegeben werden"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s erfordert eine Angabe in der Art »-d Verzeichnis«"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s erfordert eine Angabe in der Art »-l Spracheinstellung«"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s erfordert eine Angabe in der Art »--template Vorlage«"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s erfordert eine Angabe in der Art »-o Datei«"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s und %s schließen sich in %s gegenseitig aus"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s ist nur mit %s oder %s gültig"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s ist nur mit %s, %s oder %s gültig"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "Ausgabedatei »%s« kann nicht erstellt werden"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d übersetzte Meldung"
msgstr[1] "%d übersetzte Meldungen"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d ungenaue Ãœbersetzung"
msgstr[1] ", %d ungenaue Ãœbersetzungen"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d unübersetzte Meldung"
msgstr[1] ", %d unübersetzte Meldungen"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Aufruf: %s [OPTION] Datei.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Binären Katalog mit Meldungen aus der textuellen Übersetzung erstellen.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Notwendige Argumente für Optionen in Langform sind auch für die Kurzform\n"
-"notwendig. Dies gilt in gleicher Weise für optionale Argumente.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " Datei.po ... Eingabedateien\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Art der Verarbeitung:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -2087,7 +2276,7 @@ msgstr ""
"Java\n"
" erstellen\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -2096,13 +2285,13 @@ msgstr ""
" --java2 wie --java, aber Java2 (JDK 1.2 oder höher) "
"annehmen\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --qt C#-Modus: eine .dll-Datei für .NET erstellen\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -2111,7 +2300,7 @@ msgstr ""
" --csharp-resources C#-Ressourcenmodus: eine .resources-Datei für\n"
" .NET erstellen\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -2119,13 +2308,13 @@ msgstr ""
" --tcl Tcl-Modus: eine .msg-Datei für tcl/msgcat "
"erstellen\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
" --qt Qt-Modus: eine .qm-Datei für Qt erstellen\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -2133,31 +2322,37 @@ msgstr ""
" --desktop Desktopeintrag-Modus: erzeugt eine .desktop-"
"Datei\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+" --qt Qt-Modus: eine .qm-Datei für Qt erstellen\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict Datei streng nach Uniforum-Format erstellen\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Ergebnisse werden nach der Standardausgabe geschrieben, wenn »-« angegeben "
"ist.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Angaben zu Ausgabedateien im Java-Modus:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESSOURCE Name der Ressource\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2168,7 +2363,7 @@ msgstr ""
" (z. B. »de«) oder »Sprache_LAND\" (z. B. "
"»de_DE«)\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2177,7 +2372,7 @@ msgstr ""
" --source erstellt eine .java-Datei anstelle einer ."
"class-Datei\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -2186,7 +2381,7 @@ msgstr ""
"mit\n"
" den Klassen\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2202,12 +2397,12 @@ msgstr ""
"Verzeichnis\n"
"geschrieben.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Angaben zu Ausgabedateien im C#-Modus:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2217,7 +2412,7 @@ msgstr ""
"Spracheinstellung\n"
" abhängigen .dll-Dateien\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2228,19 +2423,19 @@ msgstr ""
"von\n"
"der Spracheinstellung abhängig ist.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Angaben zu Ausgabedateien im Tcl-Modus:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d VERZEICHNIS Basis-Verzeichnis der .msg-Kataloge mit "
"Meldungen\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2249,24 +2444,24 @@ msgstr ""
"Die Optionen »-l« und »-d« sind notwendig. Die .msg-Datei wird in das\n"
"angegebene Verzeichnis geschrieben.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Optionen für Desktopeintrag-Modus:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=VORLAGE eine als Vorlage zu verwendende .desktop-"
"Datei\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d VERZEICHNIS Basisverzeichnis der .po-Dateien\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2277,7 +2472,7 @@ msgstr ""
" -k, --keyword es wird nicht nach den vorgegebenen\n"
" Schlüsselwörtern gesucht\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2289,12 +2484,29 @@ msgstr ""
"werden Dateien aus dem Verzeichnis anstelle der Befehlszeilenargumente "
"gelesen.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "Optionen für Desktopeintrag-Modus:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+" --template=VORLAGE eine als Vorlage zu verwendende .desktop-"
+"Datei\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Überprüfung der Eingabedatei:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2305,13 +2517,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format sprachabhängige Formatelemente überprüfen\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2320,7 +2532,7 @@ msgstr ""
" --check-header Existenz und Inhalt des Kopfeintrags "
"verifizieren\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2330,7 +2542,7 @@ msgstr ""
"die\n"
" Option --output-file hin überprüfen\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2340,7 +2552,7 @@ msgstr ""
"Open\n"
" msgfmt verhält\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2351,14 +2563,14 @@ msgstr ""
" Vorhandensein des Tastatur-Accelerators\n"
" für Menüeinträge überprüfen\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy auch ungenaue Übersetzungen (»fuzzy«) "
"verwenden\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2366,7 +2578,7 @@ msgstr ""
" -a, --alignment=ZAHL Ausgaben an ZAHL (Vorgabe: %d) Bytegrenze\n"
" ausrichten\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2379,102 +2591,101 @@ msgstr ""
" (»big« oder »little«, Standard von Plattform "
"abhängig)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash Binärdatei soll keine Hash-Tabelle enthalten\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
" --statistics Statistik zu den Ãœbersetzungen anzeigen\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
" -v, --verbose mehr Hinweise während der Verarbeitung geben\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "Warnung: Kopfteil der PO-Datei fehlt oder ist ungültig\n"
# = Konvertierung der Meldung in Hinblick auf den Zeichensatz
# 2001-03-11 20:56:03 CET -ke-
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "Warnung: Konvertierung des Zeichensatzes wird fehlschlagen.\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "Warnung: Kopfteil der PO-Datei ist ungenau (fuzzy)\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"Warnung: ältere Versionen von »msgfmt« werden hierbei einen Fehler melden\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "Bereichsname »%s« ist nicht als Dateiname geeignet"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"Bereichsname »%s« ist nicht als Dateiname geeignet; Präfix wird verwendet."
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "»domain %s«-Anweisung wird ignoriert"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "leerer »msgstr«-Eintrag wird ignoriert"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ungenauer »msgstr«-Eintrag wird ignoriert"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: Warnung: Quelldatei enthält ungenaue Übersetzungen"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s existiert nicht"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s existiert, aber kann nicht gelesen werden"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "Fehler beim Lesen von »%s«"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2483,7 +2694,7 @@ msgstr ""
"Option »%c« kann nicht verwendet werden, bevor »J«, »K«, »T«, »C« oder »X« "
"festgelegt ist"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2494,7 +2705,7 @@ msgstr ""
# To avoid confusion, let msgid and msgstr untranslated here!
# 2001-11-04 11:16:55 CET -ke-
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2577,7 +2788,7 @@ msgstr ""
" -v, --invert-match Nur die Meldungen ausgeben, die nicht mit einem\n"
" Auswahlkriterium übereinstimmen\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2585,12 +2796,12 @@ msgstr ""
" --escape C-Escape-Sequenzen und keine erweiterten\n"
" Zeichen in Ausgabe verwenden\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output sortierte Ausgabe erstellen\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2700,14 +2911,14 @@ msgstr ""
"Keine .pot-Datei im aktuellen Verzeichnis gefunden.\n"
"Bitte geben Sie die .pot-Datei für die Eingabe mit der Option »--input« an.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "Subprozess %s mit dem Exit-Code %d fehlgeschlagen"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2724,29 +2935,29 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "German translation for %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "der Zeichensatz »%s« bezeichnet keine portable Kodierung"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "zwei unterschiedliche Zeichensätze »%s« und »%s« in Eingabedatei"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
"bei Eingabedatei »%s« fehlt der Kopfeintrag mit der Angabe des Zeichensatzes"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2755,19 +2966,19 @@ msgstr ""
"bei Bereich »%s« der Eingabedatei »%s« fehlt Kopfeintrag mit der Angabe des\n"
"Zeichensatzes"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "Zeichensatz »%s« für die Ausgabe bezeichnet keine portable Kodierung"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "Warnung: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2776,7 +2987,7 @@ msgstr ""
"Eingabedateien enthalten Meldungen in unterschiedlichen Kodierungen (u. a.\n"
"UTF-8). Die Ausgabe wird nach UTF-8 konvertiert.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2790,7 +3001,7 @@ msgstr ""
"bitte\n"
"die Option --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2804,7 +3015,7 @@ msgstr ""
"Sie sicher, dass sie von vornherein UTF-8-kodiert sind; ändern Sie dazu die\n"
"Quellcodedateien.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2817,12 +3028,12 @@ msgstr ""
"Ausgabe von »%s« könnte nicht korrekt sein.\n"
"Mögliche Abhilfen:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "· LC_ALL auf eine Spracheinstellung mit der Kodierung »%s« setzen.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2833,7 +3044,7 @@ msgstr ""
" dann »%s« anwenden,\n"
" dann nach »%s« mittels »msgconv« zurück konvertieren.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2846,7 +3057,7 @@ msgstr ""
" dann »%s« anwenden,\n"
" dann nach »%s« mittels »msgconv« zurück konvertieren.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2857,24 +3068,24 @@ msgstr ""
"portable Kodierung. Die Ausgabe von »%s« könnte nicht korrekt sein.\n"
"Eine mögliche Abhilfe ist, LC_ALL=C zu setzen.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "Pluralausdruck kann negative Werte ergeben"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu, aber Pluralausdruck kann Werte so groß wie %lu ergeben"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "Pluralausdruck kann Teilung durch Null ergeben"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "Pluralausdruck kann einen Ganzzahl-Ãœberlauf ergeben"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2883,51 +3094,51 @@ msgstr ""
"Teilung\n"
"durch Null"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Bitte das Folgende versuchen; gültig für %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "Katalog mit Meldungen weist Ãœbersetzungen mit Pluralformen auf"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "aber dem Kopfeintrag fehlt das Attribut »plural=AUSDRUCK«"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "aber dem Kopfeintrag fehlt das Attribut »nplurals=GANZZAHL«"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "ungültige Pluralwerte"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ungültiger Pluralausdruck"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "aber einige Meldungen haben nur eine Pluralform"
msgstr[1] "aber einige Meldungen haben nur %lu Pluralformen"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "aber einige Meldungen haben eine Pluralform"
msgstr[1] "aber einige Meldungen haben %lu Pluralformen"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2936,78 +3147,95 @@ msgstr ""
"Kopfeintrag fehlt die Zeile:\n"
"»Plural-Forms: nplurals=GANZZAHL; plural=AUSDRUCK;«"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "»msgid«- und »msgstr_plural«-Eintrag beginnen nicht jeweils mit »\\n«"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "»msgid«- und »msgstr[%u]«-Eintrag beginnen nicht jeweils mit »\\n«"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "»msgid«- und »msgstr«-Eintrag beginnen nicht jeweils mit »\\n«"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "»msgid«- und »msgstr_plural«-Eintrag enden nicht jeweils mit »\\n«"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "»msgid«- und »msgstr[%u]«-Eintrag enden nicht jeweils mit »\\n«"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "»msgid«- und »msgstr«-Eintrag enden nicht jeweils mit »\\n«"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "Die Plural-Behandlung ist eine Erweiterung von GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "bei »msgstr« fehlt die Markierung »%c« für den Tastatur-Schnellzugriff"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
"»msgstr« weist mehr als eine Markierung »%c« für den Tastatur-Schnellzugriff "
"auf"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr ""
"Das Feld »%s« im Kopfeintrag hat immer noch den anfänglichen Vorgabewert\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "Im Kopfeintrag fehlt das Feld »%s«\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII-Ellipsis („...“) anstelle von Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+"Leerzeichen vor Ellipsis in für Benutzer sichtbaren Zeichenketten gefunden"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "Doppelte ASCII-AnfÃœhrungszeichen anstelle von Unicode gefunden"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "Einfache ASCII-AnfÃœhrungszeichen anstelle von Unicode gefunden"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: Eingabe ist in der Kodierung »%s« nicht gültig"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: Fehler beim Konvertieren von der Kodierung »%s« nach der\n"
"Kodierung »%s«"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"bei der Eingabedatei fehlt der Kopfeintrag mit der Angabe des Zeichensatzes"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -3016,7 +3244,7 @@ msgstr ""
"Es ist nicht möglich, von »%s« nach »%s« zu konvertieren.\n"
"%s hängt von iconv() ab, und iconv() unterstützt diese Konvertierung nicht."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -3025,8 +3253,8 @@ msgstr ""
"Konvertierung »%s« nach »%s« führt zu doppelten Einträgen: unterschiedliche "
"msgids werden gleich."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -3035,16 +3263,16 @@ msgstr ""
"Es ist nicht möglich, von »%s« nach »%s« zu konvertieren.\n"
"%s hängt von iconv() ab. Diese Version wurde ohne iconv() erstellt."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s ist nur mit %s gültig"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "Art der Sicherung"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -3068,19 +3296,19 @@ msgstr ""
"exakte Ãœbereinstimmung bei Meldungen gibt, wird mittels nicht-exakter Suche\n"
"versucht, ein besseres Ergebnis zu erzielen.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" Def.po Ãœbersetzungen, die sich auf die alten Quellen\n"
" beziehen\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " Ref.pot Referenzen aus den neuen Quellen\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -3089,7 +3317,7 @@ msgstr ""
" -C, --compendium=DATEI zusätzliche Bibliothek mit Übersetzungen, es\n"
" können mehrere angegeben werden\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -3098,30 +3326,30 @@ msgstr ""
" -U, --update Def.po aktualisieren; nichts unternehmen,\n"
" wenn Def.po bereits aktuell ist\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Angaben zu Ausgabedateien im Aktualisierungsmodus:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Das Ergebnis wird nach Def.po zurückgeschrieben.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
" --backup=KONTROLLE Eine Sicherungskopie von Def.po anlegen\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=SUFFIX Das übliche Suffix der Sicherungskopie\n"
" überschreiben\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -3143,7 +3371,7 @@ msgstr ""
" andernfalls einfache.\n"
" simple, never immer einfache Sicherungskopien erstellen\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -3153,7 +3381,7 @@ msgstr ""
"Das Suffix für Sicherungskopien ist ~, außer wenn --suffix oder die\n"
"Umgebungsvariable SIMPLE_BACKUP_SUFFIX gesetzt ist.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -3162,22 +3390,22 @@ msgstr ""
"Meldungen\n"
" beibehalten\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent Fortschrittsanzeige unterdrücken\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "diese Meldung sollte Pluralformen definieren"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "diese Meldung sollte keine Pluralformen definieren"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3186,30 +3414,30 @@ msgstr ""
"%s%ld alte + %ld Referenzeinträge gelesen,\n"
"%ld stimmen überein, %ld ungenau, %ld fehlen, %ld veraltet.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " fertig.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s und explizite Angabe des Dateinamens schließen sich gegenseitig aus"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Aufruf: %s [OPTION] [DATEI]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Binären Katalog mit Meldungen in eine .po-Datei gemäß Uniforum-Format\n"
"umwandeln.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3219,12 +3447,12 @@ msgstr ""
"Klasse\n"
" für Java\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C#-Modus: Eingabe ist eine .dll-Datei\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3233,7 +3461,7 @@ msgstr ""
" --csharp-resources C#-Ressourcenmodus: Eingabedatei ist\n"
" eine .NET-.resources-Datei\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3241,17 +3469,17 @@ msgstr ""
" --tcl Tcl-Modus: Eingabe ist eine tcl/msgcat .msg-"
"Datei\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " DATEI ... .mo-Eingabedateien\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Angaben zu Eingabedateien im Java-Modus:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3264,12 +3492,12 @@ msgstr ""
"(»_«).\n"
"Die Option »-d« ist notwendig. Die Klasse wird mittels CLASSPATH gesucht.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Angaben zu Eingabedateien im C#-Modus:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3279,12 +3507,12 @@ msgstr ""
"Unterverzeichnis des angegebenen Verzeichnisses platziert, dessen\n"
"Name von der Spracheinstellung abhängig ist.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Angaben zu Eingabedateien im Tcl-Modus:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3293,19 +3521,19 @@ msgstr ""
"Die Optionen »-l« und »-d« sind notwendig. Die .msg-Datei wird in das\n"
"angegebene Verzeichnis geschrieben.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent Ausgabe eingerückt darstellen\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict .po-Datei streng nach Uniforum-Format "
"erstellen\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3328,12 +3556,12 @@ msgstr ""
"Stellenangaben der Meldungen in den Quellen werden kumuliert. Bei Verwendung\n"
"der Option --unique werden doppelte Einträge verworfen.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated nur doppelte Einträge ausgeben\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3343,7 +3571,7 @@ msgstr ""
"doppelte\n"
" verwerfen\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3401,32 +3629,32 @@ msgstr ""
"Konvertierung der Meldungen in den Zeichensatz des Anwenders\n"
"wird fehlschlagen.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "Nicht konsistente Verwendung von #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "»msgstr[]«-Abschnitt fehlt"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "»msgid_plural«-Abschnitt fehlt"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "»msgstr«-Abschnitt fehlt"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "erste Pluralform hat einen Index ungleich Null"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "Pluralform hat einen falschen Index"
@@ -3436,7 +3664,7 @@ msgstr "Pluralform hat einen falschen Index"
msgid "too many errors, aborting"
msgstr "zu viele Fehler: Abbruch"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ungültige Multibyte-Sequenz"
@@ -3480,64 +3708,83 @@ msgstr "Zeilenende innerhalb einer Zeichenkette"
msgid "context separator <EOT> within string"
msgstr "Kontext-Trenner <EOT> innerhalb einer Zeichenkette"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "diese Datei darf keine »domain«-Anweisung enthalten"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "Mehrfachdefinition der Meldung"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "dies ist die Stelle der ersten Definition"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "Warnung: ungültiges Unicode-Zeichen"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "Name des Filters fehlt"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ungültige Pluralwerte"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "Datei »%s« ist verstümmelt"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "Datei »%s« hat eine nicht mit NUL terminierte Zeichenkette"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "Datei »%s« ist nicht im GNU .mo-Format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "Datei »%s« hat bei %s eine nicht mit NUL terminierte Zeichenkette"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "Warnung: ungültige \\uxxxx-Syntax für ein Unicode-Zeichen"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "Warnung: Zeichenkette nicht terminiert"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "Warnung: Syntaxfehler"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "Warnung: nicht terminiertes Schlüssel/Wert-Paar"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "Warnung: Syntaxfehler, »;« nach der Zeichenkette erwartet"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "Warnung: Syntaxfehler, »=« oder »;« nach der Zeichenkette erwartet"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Geschrieben von %s und %s.\n"
@@ -3546,16 +3793,16 @@ msgstr "Geschrieben von %s und %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Serbischen Text von kyrillischer nach lateinischer Schreibweise umkodieren.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3564,28 +3811,28 @@ msgstr ""
"Der Eingabetext wird von der Standardeingabe gelesen Der umgewandelte Text\n"
"wird nach der Standardausgabe ausgegeben.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "Eingabe ist in der Kodierung »%s« nicht gültig"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"Fehler beim Konvertieren von der Kodierung »%s« nach der Kodierung »%s«"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "zwei Argumente werden erwartet"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Aufruf: %s [OPTION] URL DATEI\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3594,37 +3841,37 @@ msgstr ""
"URL holen und Inhalt ausgeben. Wenn auf den URL nicht zugegriffen werden kann,\n"
"wird die lokal zugängliche Datei stattdessen verwendet.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "Fehler beim Lesen von »%s«"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "Fehler beim Schreiben in die Standardausgabe"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "Fehler nach dem Lesen von »%s«"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "%s wird geholt..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " Zeitlimit überschritten.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " fehlgeschlagen.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3633,7 +3880,7 @@ msgstr ""
"angegebenen Ausgabeformat auszugeben. Versuchen Sie als Ersatz auf die PO-"
"Dateien-Syntax auszuweichen."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3641,7 +3888,7 @@ msgstr ""
"Es ist nicht möglich, mehrere Übersetzungsbereiche in eine Datei mit dem "
"angegebenen Ausgabeformat auszugeben."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3649,7 +3896,7 @@ msgstr ""
"Katalog mit Meldungen weist kontextabhängige Übersetzungen auf, aber das "
"Ausgabeformat unterstützt diese nicht."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3659,7 +3906,7 @@ msgstr ""
"das Ausgabeformat unterstützt solche nicht. Versuchen Sie, eine Java-Klasse "
"mit »msgfmt --java« zu erstellen und keine »properties«-Datei."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3667,12 +3914,12 @@ msgstr ""
"Katalog mit Meldungen weist Ãœbersetzungen mit Pluralformen auf, aber das "
"Ausgabeformat unterstützt keine Pluralbehandlung."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "Ausgabedatei »%s« kann nicht erstellt werden"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "Standardausgabe"
@@ -3692,19 +3939,25 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr "Kompilierung der C#-Klasse ist fehlgeschlagen"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "Fehler beim Öffnen von »%s« zum Schreiben"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "kein gültiger Name einer Java-Klasse: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"Kompilierung der Java-Klasse ist fehlgeschlagen; bitte versuchen Sie\n"
"--verbose oder setzen Sie $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
@@ -3712,23 +3965,18 @@ msgstr ""
"$JAVAC\n"
"zu setzen"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "Fehler beim Öffnen von »%s« zum Schreiben"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "unvollständige Multibyte-Sequenz"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"Zu übersetzende Meldungen sollten nicht die Escape-Sequenz »\\%c« enthalten"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3742,7 +3990,7 @@ msgstr ""
"ausweichen, der stattdessen nur aus ASCII-kodierten Zeichen besteht.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3757,7 +4005,7 @@ msgstr ""
"ausweichen, die nur aus ASCII-kodierten Zeichen besteht.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3765,7 +4013,7 @@ msgstr ""
"Katalog mit Meldungen weist Ãœbersetzungen mit Pluralformen auf, aber der\n"
"Qt-Katalog mit den Meldungen unterstützt keine Pluralbehandlung.\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3778,7 +4026,7 @@ msgstr ""
"unterstützt Unicode nur in übersetzten Zeichenketten, nicht in\n"
"Kontext-Zeichenketten\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3791,12 +4039,12 @@ msgstr ""
"Unicode nur in übersetzten Zeichenketten, nicht in unübersetzten "
"Zeichenketten\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "Fehler beim Schreiben zum Subprozess %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3804,7 +4052,7 @@ msgstr ""
"Katalog mit Meldungen weist kontextabhängige Übersetzungen auf, aber das\n"
".resources-Format von C# unterstützt keine Kontextangaben\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3812,7 +4060,7 @@ msgstr ""
"Katalog mit Meldungen weist Ãœbersetzungen mit Pluralformen auf, aber das\n"
".resources-Format von C# unterstützt keine Pluralbehandlung\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3820,7 +4068,7 @@ msgstr ""
"Katalog mit Meldungen weist kontextabhängige Übersetzungen auf, aber der\n"
"Tcl-Katalog mit den Meldungen unterstützt keine Kontextangaben\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3828,36 +4076,36 @@ msgstr ""
"Katalog mit Meldungen weist Ãœbersetzungen mit Pluralformen auf, aber der\n"
"Tcl-Katalog mit den Meldungen unterstützt keine Pluralbehandlung\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: Warnung: Zeichenkette nicht korrekt terminiert"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: Warnung: regulärer Ausdruck nicht korrekt terminiert"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "Warnung: ungültiges Unicode-Zeichen"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: Warnung: Zeichenkonstante nicht korrekt terminiert"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: Warnung: Zeichenkette nicht korrekt terminiert"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Bitte die Kodierung des Quelltextes mit --from-code angeben."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3866,7 +4114,7 @@ msgstr ""
"%s:%d: Ungültige Multibyte-Sequenz.\n"
"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3875,7 +4123,7 @@ msgstr ""
"%s:%d: Lange unvollständige Multibyte-Sequenz.\n"
"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3884,7 +4132,7 @@ msgstr ""
"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Datei.\n"
"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3893,12 +4141,12 @@ msgstr ""
"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Zeile.\n"
"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: Fehler von iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3907,298 +4155,80 @@ msgstr ""
"%s:%d: Ungültige Multibyte-Sequenz.\n"
"Bitte die Kodierung des Quelltextes mit --from-code angeben.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: Warnung: ungültiges Unicode-Zeichen"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: Warnung: nicht terminierte konstante Zeichenkette"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: Warnung: »)« gefunden, wo »}« erwartet wurde"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: Warnung: »}« gefunden, wo »)« erwartet wurde"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Kontext für die aus dem Element »%s« extrahierte Zeichenkette fehlt"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Das Root-Element <%s> ist in einer Glade-Datei nicht zulässig"
-
-# CHECKIT
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Die Sprache »glade« wird nicht unterstützt. %s hängt von expat ab.\n"
-"Diese Version wurde ohne expat erstellt.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: Warnung: Einzelnes Surrogat U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Bitte die Kodierung des Quelltextes mit --from-code angeben.\n"
-
-#: src/x-javascript.c:275
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ungültige Multibyte-Sequenz.\n"
-"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Lange unvollständige Multibyte-Sequenz.\n"
-"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Datei.\n"
-"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Zeile.\n"
-"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ungültige Multibyte-Sequenz.\n"
-"Bitte die Kodierung des Quelltextes mit --from-code angeben.\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: Warnung: RegExp-Literal wurde zu früh terminiert"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: Warnung: %s ist nicht erlaubt"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: Warnung: nicht geschlossene XML-Sequenz"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: »%s« zum Terminieren der Zeichenkette ist vor EOF nicht vorhanden"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: rechte Klammer bei \\x{HEXZAHL} fehlt"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: ungültige Interpolation (»\\l«) bei dem 8-Bit-Zeichen »%c«"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: ungültige Interpolation (»\\u«) bei dem 8-Bit-Zeichen »%c«"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: ungültige Interpolation einer Variablen bei »%c«"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: ungültige Interpolation (»\\L«) bei dem 8-Bit-Zeichen »%c«"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: ungültige Interpolation (»\\U«) bei dem 8-Bit-Zeichen »%c«"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
-"Kommentar\n"
-"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
-"ist.\n"
+"»%s« ist kein gültiger Name für eine Zeichenkodierung. ASCII wird "
+"ersatzweise verwendet.\n"
-#: src/x-python.c:324
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ungültige Multibyte-Sequenz.\n"
-"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
-"Kommentar\n"
-"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
-"ist.\n"
+msgid "syntax check '%s' unknown"
+msgstr "Syntaxprüfung „%s“ ist unbekannt"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Lange unvollständige Multibyte-Sequenz.\n"
-"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
-"Kommentar\n"
-"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
-"ist.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "Satzende vom Typ „%s“ ist unbekannt"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Datei.\n"
-"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
-"Kommentar\n"
-"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
-"ist.\n"
+"»--join-existing« kann nicht benutzt werden, wenn nach Standardausgabe\n"
+"geschrieben wird"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Zeile.\n"
-"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
-"Kommentar\n"
-"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
-"ist.\n"
+"ohne Angabe zu berücksichtigender Schlüsselwörter schlägt xgettext fehl"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Ungültige Multibyte-Sequenz.\n"
-"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
-"Kommentar\n"
-"angeben, wie er bei http://www.python.org/peps/pep-0263.html spezifiziert "
-"ist.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Unbekannt Kodierung »%s«. Es wird stattdessen mit ASCII fortgefahren."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ungültige Definition einer Zeichenkette"
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: Zahl nach # fehlt"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ungültiger Ausdruck einer Zeichenkette"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: Warnung: die Syntax $\"...\" ist aus Sicherheitsgründen als veraltet "
-"zu betrachten; verwenden Sie stattdessen use eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: Warnung: Literal des regulären Ausdrucks zu früh terminiert"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"»%s« ist kein gültiger Name für eine Zeichenkodierung. ASCII wird "
-"ersatzweise verwendet.\n"
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"»--join-existing« kann nicht benutzt werden, wenn nach Standardausgabe\n"
-"geschrieben wird"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr ""
-"ohne Angabe zu berücksichtigender Schlüsselwörter schlägt xgettext fehl"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"Warnung: Typ der Datei »%s« mit Suffix »%s« ist unbekannt; C wird versucht"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
"Aus den Eingabedateien die zu übersetzenden Meldungen herausschreiben.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4206,25 +4236,25 @@ msgid ""
msgstr ""
" -d, --default-domain=NAME Ausgabe in NAME.po (anstatt in messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=DATEI Ausgabe in die angegebene DATEI schreiben\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=VERZ Ausgabedateien in Verzeichnis VERZ ablegen\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Wahl der Sprache für die Eingabedatei:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4245,12 +4275,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ Abkürzung für --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4260,7 +4290,7 @@ msgstr ""
"Eingabedatei\n"
"geraten.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4269,24 +4299,24 @@ msgstr ""
" --from-code=NAME Kodierung der Eingabedateien\n"
" (außer für Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Die Vorgabe ist, dass für Eingabedateien ASCII angenommen wird.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing Meldungen an existierende Datei anhängen\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=DATEI.po Einträge aus DATEI.po nicht herausholen\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4305,17 +4335,40 @@ msgstr ""
" Schlüsselworten vorausgehen, in die\n"
" Ausgabedatei schreiben.\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NAME Syntaxprüfung für Meldungen "
+"durchführen (ellipsis-unicode, space-"
+"ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYPE Typ der zu verwendenden Satzenden\n"
+" (single-space, die Vorgabe, \n"
+" oder double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Besondere Optionen bei »Language«:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all alle Zeichenketten extrahieren\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4330,7 +4383,7 @@ msgstr ""
" Tcl, Perl, PHP, GCC-source, Glade\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4346,7 +4399,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-Source, Glade\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4357,7 +4410,7 @@ msgstr ""
"der\n"
" Argumentzahl ARG des Schlüsselworts WORT\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4372,41 +4425,41 @@ msgstr ""
" Perl, PHP, GCC-source\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs Trigraph-Zeichen von ANSI C bei der Eingabe\n"
" erkennen\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (nur die Programmiersprachen C, C++,\n"
" ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt Zeichenketten im Qt-Format erkennen\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (nur die Programmiersprache C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde Zeichenketten im KDE 4-Format erkennen\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost Zeichenketten im Boost-Format erkennen\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4414,19 +4467,30 @@ msgstr ""
" --debug detaillierteres Ergebnis bei Erkennung der\n"
" Formatelemente\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output eine ».properties«-Datei von Java erstellen\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=DATEI Namen der Eingabedateien aus DATEI holen\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent Ausgabe eingerückt darstellen\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=KETTE Uhrheberrechtsinhaber in Ausgabe setzen\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4434,24 +4498,24 @@ msgstr ""
" --foreign-user keine Zeile mit FSF-Copyright in Ausgabe\n"
" einfügen\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAKET Paketname für die Ausgabe setzen\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION Paketversion in Ausgabe setzen\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=EMAIL@ADRESSE Adresse für msgid-Fehler angeben\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4463,7 +4527,7 @@ msgstr ""
"msgstr\n"
" nehmen\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4475,7 +4539,7 @@ msgstr ""
"msgstr\n"
" nehmen\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4484,31 +4548,31 @@ msgstr ""
"Ein --flag-Argument folgt nicht der <keyword>:<argnum>:[pass-]<flag>-Syntax: "
"%s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "Standardeingabe"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Nicht in ASCII kodiertes Zeichen bei %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Nicht in ASCII kodierter Kommentar bei oder vor %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Nicht in ASCII kodierte Zeichenkette bei oder vor %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: Warnung: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4517,7 +4581,7 @@ msgstr ""
"Obwohl es an der Position eines Formatelements verwendet wird, ist %s kein "
"gültiges %s Formatelement. Der Grund: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4526,7 +4590,7 @@ msgstr ""
"Obwohl es so deklariert wurde, ist %s kein gültiges %s Formatelement. Der "
"Grund: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4540,7 +4604,7 @@ msgstr ""
"Verwenden Sie besser ein Formatelement mit bezeichneten Argumenten\n"
"und einem Mapping anstelle eines Tupels für die Argumente.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4550,28 +4614,28 @@ msgstr ""
"gettext(\"\") gibt den Kopfeintrag mit Meta-Informationen\n"
"zurück, keine leere Zeichenkette.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "mehrdeutige Argumentspezifikation für das Schlüsselwort »%.*s«"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "Warnung: fehlender Kontext für das Schlüsselwort »%.*s«"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"Warnung: fehlender Kontext für das Plural-Argument des Schlüsselwortes »%.*s«"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "Abweichung beim Kontext zwischen Singular- und Pluralform"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4583,15 +4647,367 @@ msgstr ""
"Variable MSGID_BUGS_ADDRESS aus; falls nicht, geben Sie bitte die\n"
"Option an der Befehlszeile mit --msgid-bugs-address an.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "Programmiersprache »%s« unbekannt"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: Warnung: Einzelnes Surrogat U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Bitte die Kodierung des Quelltextes mit --from-code angeben.\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ungültige Multibyte-Sequenz.\n"
+"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Lange unvollständige Multibyte-Sequenz.\n"
+"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Datei.\n"
+"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Zeile.\n"
+"Bitte die korrekte Kodierung des Quelltextes mit --from-code angeben.\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ungültige Multibyte-Sequenz.\n"
+"Bitte die Kodierung des Quelltextes mit --from-code angeben.\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: Warnung: RegExp-Literal wurde zu früh terminiert"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: Warnung: %s ist nicht erlaubt"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: Warnung: nicht geschlossene XML-Sequenz"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: »%s« zum Terminieren der Zeichenkette ist vor EOF nicht vorhanden"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: rechte Klammer bei \\x{HEXZAHL} fehlt"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: ungültige Interpolation (»\\l«) bei dem 8-Bit-Zeichen »%c«"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: ungültige Interpolation (»\\u«) bei dem 8-Bit-Zeichen »%c«"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: ungültige Interpolation einer Variablen bei »%c«"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: ungültige Interpolation (»\\L«) bei dem 8-Bit-Zeichen »%c«"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: ungültige Interpolation (»\\U«) bei dem 8-Bit-Zeichen »%c«"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
+"Kommentar\n"
+"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
+"ist.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ungültige Multibyte-Sequenz.\n"
+"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
+"Kommentar\n"
+"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
+"ist.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Lange unvollständige Multibyte-Sequenz.\n"
+"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
+"Kommentar\n"
+"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
+"ist.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Datei.\n"
+"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
+"Kommentar\n"
+"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
+"ist.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Unvollständige Multibyte-Sequenz am Ende der Zeile.\n"
+"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
+"Kommentar\n"
+"angeben, wie er in http://www.python.org/peps/pep-0263.html spezifiziert "
+"ist.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ungültige Multibyte-Sequenz.\n"
+"Bitte die Kodierung des Quelltextes mit --from-code oder mit einem "
+"Kommentar\n"
+"angeben, wie er bei http://www.python.org/peps/pep-0263.html spezifiziert "
+"ist.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Unbekannt Kodierung »%s«. Es wird stattdessen mit ASCII fortgefahren."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ungültige Definition einer Zeichenkette"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: Zahl nach # fehlt"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ungültiger Ausdruck einer Zeichenkette"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: Warnung: die Syntax $\"...\" ist aus Sicherheitsgründen als veraltet "
+"zu betrachten; verwenden Sie stattdessen use eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: Warnung: Literal des regulären Ausdrucks zu früh terminiert"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<unbenannt>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ungültige Kontrollsequenz"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "kein gültiger Name einer Java-Klasse: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "kein gültiger Name einer Java-Klasse: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ungültige Kontrollsequenz"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ungültiger Endian-Wert: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "ungültiges Argument %s für %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "Name des Filters fehlt"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Kontext für die aus dem Element »%s« extrahierte Zeichenkette fehlt"
+
+# CHECKIT
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Die Sprache »glade« wird nicht unterstützt. %s hängt von expat ab.\n"
+#~ "Diese Version wurde ohne expat erstellt.\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "Feld »%s« im Kopfeintrag sollte am Beginn der Zeile anfangen\n"
diff --git a/gettext-tools/po/el.gmo b/gettext-tools/po/el.gmo
index 80e0ad1..278dab7 100644
--- a/gettext-tools/po/el.gmo
+++ b/gettext-tools/po/el.gmo
Binary files differ
diff --git a/gettext-tools/po/el.po b/gettext-tools/po/el.po
index 76ebd57..adc539b 100644
--- a/gettext-tools/po/el.po
+++ b/gettext-tools/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gettext 0.10.34\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 1998-05-17 13:12+0200\n"
"Last-Translator: Simos KSenitellis <simos@teiath.gr>\n"
"Language-Team: Greek <simos@teiath.gr>\n"
@@ -58,45 +58,45 @@ msgstr "áäõíáìßá åðéóôñïöÞò óôï êáôÜëïãï \"%s\""
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
#
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
#
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "óöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ \"%s\" ãéá åããñáöÞ"
#
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
#
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
#
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr ""
@@ -124,68 +124,74 @@ msgid "%s subprocess failed"
msgstr ""
#
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: ç åðéëïãÞ `%s' åßíáé äéöïñïýìåíç\n"
#
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: ç åðéëïãÞ `-W %s' åßíáé äéöïñïýìåíç\n"
+
+#
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: ç åðéëïãÞ `--%s' äåí åðéôñÝðåé ðáñÜìåôñï\n"
#
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: ç åðéëïãÞ `%c%s' äåí åðéôñÝðåé ðáñÜìåôñï\n"
#
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: ç åðéëïãÞ `%s' áðáéôåß ðáñÜìåôñï\n"
#
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ìç áíáãíùñßóéìç åðéëïãÞ `--%s'\n"
#
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ìç áíáãíùñßóéìç åðéëïãÞ `%c%s'\n"
#
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ìç Ýãêõñç åðéëïãÞ -- %c\n"
#
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: ç åðéëïãÞ áðáéôåß ðáñÜìåôñï -- %c\n"
#
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: ç åðéëïãÞ `-W %s' åßíáé äéöïñïýìåíç\n"
#
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ç åðéëïãÞ `-W %s' äåí åðéôñÝðåé ðáñÜìåôñï\n"
#
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: ç åðéëïãÞ `%s' áðáéôåß ðáñÜìåôñï\n"
@@ -201,16 +207,17 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr ""
#
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
@@ -225,16 +232,16 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
#
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, fuzzy, c-format
msgid "memory exhausted"
msgstr "H ìíÞìç åîáíôëÞèçêå"
@@ -245,7 +252,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -291,11 +298,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -333,113 +340,254 @@ msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
+#: src/cldr-plurals.c:69
+#, c-format
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
#
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "ÄïêéìÜóôå `%s --help' ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.\n"
+
+#: src/cldr-plurals.c:195
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr ""
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:214
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
msgstr ""
#
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Óôåßëôå áíáöïñÝò óöáëìÜôùí óôï <bug-gnu-utils@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "ÃñáììÝíï áðü ôïí/ôçí %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "áäõíáìßá åðéóôñïöÞò óôï êáôÜëïãï \"%s\""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
+
+#
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
#
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, fuzzy, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
#
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
#
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -547,37 +695,37 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -585,26 +733,47 @@ msgid ""
msgstr ""
#
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
#
-#: src/format-java.c:756
+#: src/format-java.c:757
#, fuzzy, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
#
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -612,7 +781,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -623,89 +792,114 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
#
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr ""
"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
#
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
-#: src/format-perl.c:433
+#
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, fuzzy, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+#: src/format-python-brace.c:138
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
#
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -713,7 +907,7 @@ msgstr ""
"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
#
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -721,154 +915,95 @@ msgstr ""
"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
#
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
#
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "ÃñáììÝíï áðü ôïí/ôçí %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
#
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "ÄïêéìÜóôå `%s --help' ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -876,288 +1011,317 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "ðñÝðåé íá ïñéóôïýí ôïõëÜ÷éóôïí äýï áñ÷åßá"
+
+#
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr ""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
msgstr ""
#
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-#, fuzzy
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Óôåßëôå áíáöïñÝò óöáëìÜôùí óôï <bug-gnu-utils@gnu.org>.\n"
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:1573
#, c-format
-msgid "could not get host name"
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
msgstr ""
#
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, fuzzy, c-format
msgid "at most one input file allowed"
msgstr "áðáéôïýíôáé áêñéâþò äýï áñ÷åßá åéóüäïõ"
#
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "ôá %s êáé %s åßíáé áìïéâáßá áðïêëåéþìåíá"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
#
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1166,88 +1330,88 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
#
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, fuzzy, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1265,33 +1429,33 @@ msgstr ""
" -S, --strict ìïñöÞ åîüäïõ ôï áõóôçñü Uniforum\n"
" -V, --version åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
#
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "Ý÷åé åðéëå÷èåß áäýíáôï êñéôÞñéï åðéëïãÞò (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
#
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1321,100 +1485,100 @@ msgstr ""
"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
"èá äéáôçñçèïýí.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
#
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "äåí êáèïñßóôçêáí áñ÷åßá åéóüäïõ"
#
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "áðáéôïýíôáé áêñéâþò äýï áñ÷åßá åéóüäïõ"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
#
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, fuzzy, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1440,93 +1604,93 @@ msgstr ""
"Ý÷ïõí ìåôáöñáóôåß. Åêåß ðïõ äåí åíôïðßæåôáé áêñéâÞò áíôéóôoé÷ßá,\n"
"ãßíåôáé åëáóôéêü ôáßñéáóìá ãéá êáëýôåñá áðïôåëÝóìáôá.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
#
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "ðñïåéäïðïßçóç: áõôü ôï ìÞíõìá äåí ÷ñçóéìïðïåßôáé"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
#
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé..."
#
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...áëëÜ áõôüò ï ïñéóìüò åßíáé ðáñüìïéïò"
#
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
#
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "ðñïåéäïðïßçóç: áõôü ôï ìÞíõìá äåí ÷ñçóéìïðïåßôáé"
#
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, fuzzy, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "âñÝèçêáí %d óïâáñÜ óöÜëìáôá"
#
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "ðñÝðåé íá ïñéóôïýí ôïõëÜ÷éóôïí äýï áñ÷åßá"
#
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1555,76 +1719,76 @@ msgstr ""
"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
"èá äéáôçñçèïýí.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
#
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
#
-#: src/msgen.c:263
+#: src/msgen.c:264
#, fuzzy, c-format
msgid "exactly one input file required"
msgstr "áðáéôïýíôáé áêñéâþò äýï áñ÷åßá åéóüäïõ"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1633,23 +1797,23 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
#
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, fuzzy, c-format
msgid "missing command name"
msgstr "õðïëåßðïíôáé ïñßóìáôá"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1659,64 +1823,87 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "êáíïíéêÞ åßóïäïò"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
#
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, fuzzy, c-format
msgid "missing filter name"
msgstr "õðïëåßðïíôáé ïñßóìáôá"
#
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, fuzzy, c-format
msgid "at least one sed script must be specified"
msgstr "ðñÝðåé íá ïñéóôïýí ôïõëÜ÷éóôïí äýï áñ÷åßá"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1724,227 +1911,237 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
#
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "ôá %s êáé %s åßíáé áìïéâáßá áðïêëåéþìåíá"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
#
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, fuzzy, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d ìåôáöñáóìÝíá ìõíÞìáôá"
#
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, fuzzy, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
#
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, fuzzy, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d ìç ìåôáöñáóìÝíá ìçíýìáôá"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1954,65 +2151,65 @@ msgid ""
msgstr ""
#
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, fuzzy, c-format
msgid "Output file location in C# mode:\n"
msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2020,12 +2217,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2033,33 +2245,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2067,18 +2279,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2087,56 +2299,56 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
#
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, fuzzy, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
#
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, fuzzy, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
#
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, fuzzy, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
#
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "ôï üíïìá ãéá ôç ðåñéï÷Þ \"%s\" äåí åßíáé êáôÜëëçëï ãéá üíïìá áñ÷åßïõ"
#
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
@@ -2144,68 +2356,67 @@ msgstr ""
"ãßíåé ÷ñÞóç ðñïèÝìáôïò"
#
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "ç ïäçãßá `domain %s' áãíïåßôáé"
#
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "ç êåíÞ åããñáöÞ `msgstr' áãíïåßôáé"
#
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ç ðñïóåããéóôéêÞ åããñáöÞ `msgstr' áãíïåßôáé"
#
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr ""
"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
#
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2245,18 +2456,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2341,14 +2552,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2360,54 +2571,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr ""
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2416,7 +2627,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2425,7 +2636,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2434,12 +2645,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2447,7 +2658,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2456,7 +2667,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2464,66 +2675,66 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
#
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
#, fuzzy
msgid "invalid nplurals value"
msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
#
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
#, fuzzy
msgid "invalid plural expression"
msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
#
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, fuzzy, c-format
msgid "nplurals = %lu"
msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
#
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, fuzzy, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2531,130 +2742,146 @@ msgstr[0] "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
msgstr[1] "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
#
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, fuzzy, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
msgstr[1] "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
#
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
#
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
#
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
#
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
#
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
#
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
#
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "ìåñéêÜ ðåäßá ôçò êåöáëßäáò Ý÷ïõí áêüìá ôçí áñ÷éêÞ åî ïñéóìïý ôéìÞ"
#
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "ôï ðåäßï `%s' Ý÷åé ðáñáëçöèåß áðü ôç êåöáëßäá"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
#
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
#
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, fuzzy, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2680,51 +2907,51 @@ msgstr ""
"Ôá áðïôåëÝóìáôá ãñÜöïíôáé óôçí êáíïíéêÞ Ýîïäï åêôüò êáé áí ïñßæåôáé\n"
"êÜðïéï áñ÷åßï åîüäïõ.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2736,7 +2963,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2744,31 +2971,31 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
#
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, fuzzy, c-format
msgid "this message should define plural forms"
msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
#
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
#
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, fuzzy, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2778,64 +3005,64 @@ msgstr ""
"Ý÷ïõí ðáñáëçöèåß %d, á÷ñçóéìïðïßçôá %d.\n"
#
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " Ýãéíå.\n"
#
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, fuzzy, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "ôá %s êáé %s åßíáé áìïéâáßá áðïêëåéþìåíá"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2844,41 +3071,41 @@ msgid ""
msgstr ""
#
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, fuzzy, c-format
msgid "Input file location in C# mode:\n"
msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2891,19 +3118,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr ""
@@ -2954,35 +3181,35 @@ msgid ""
msgstr ""
"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr ""
#
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "ëåßðåé åíüôçôá `msgstr'"
#
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "ëåßðåé åíüôçôá `msgstr'"
#
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "ëåßðåé åíüôçôá `msgstr'"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr ""
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr ""
@@ -2994,7 +3221,7 @@ msgid "too many errors, aborting"
msgstr "ðÜñá ðïëëÜ óöÜëìáôá, åãêáôáëåßðù"
#
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, fuzzy, c-format
msgid "invalid multibyte sequence"
msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
@@ -3045,83 +3272,105 @@ msgid "context separator <EOT> within string"
msgstr ""
#
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "áõôü ôï áñ÷åßï äåí ìðïñåß íá ðåñéÝ÷åé ïäçãßåò ãéá ôç ðåñéï÷Þ"
#
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "åðáíáëáìâáíüìåíïò ïñéóìüò ìçíýìáôïò"
#
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "áõôÞ åßíáé ç èÝóç ôïõ ðñþôïõ ïñéóìïý"
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
#
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
+
+#
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "õðïëåßðïíôáé ïñßóìáôá"
+
+#
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, fuzzy, c-format
msgid "file \"%s\" is truncated"
msgstr "ôï áñ÷åßï \"%s\" ìçäåíßóôçêå êáé èá ãñáöïýí äåäïìÝíá óå áõôü"
#
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
#
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
#
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
#
-#: src/read-properties.c:227
+#: src/read-properties.c:228
#, fuzzy
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
#
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
#, fuzzy
msgid "warning: syntax error"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
#, fuzzy
msgid "warning: syntax error, expected ';' after string"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
#, fuzzy
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "ÃñáììÝíï áðü ôïí/ôçí %s.\n"
@@ -3130,45 +3379,45 @@ msgstr "ÃñáììÝíï áðü ôïí/ôçí %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
#
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
#
-#: src/urlget.c:159
+#: src/urlget.c:160
#, fuzzy, c-format
msgid "expected two arguments"
msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3176,77 +3425,77 @@ msgid ""
msgstr ""
#
-#: src/urlget.c:228
+#: src/urlget.c:229
#, fuzzy, c-format
msgid "error reading \"%s\""
msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
#
-#: src/urlget.c:234
+#: src/urlget.c:235
#, fuzzy, c-format
msgid "error writing stdout"
msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
#
-#: src/urlget.c:238
+#: src/urlget.c:239
#, fuzzy, c-format
msgid "error after reading \"%s\""
msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
#
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
#
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "êáíïíéêÞ Ýîïäïò"
@@ -3266,35 +3515,36 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "óöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ \"%s\" ãéá åããñáöÞ"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
#
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "óöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ \"%s\" ãéá åããñáöÞ"
-
-#
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
#
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3302,7 +3552,7 @@ msgstr ""
"ôá ìçíýìáôá ðñïò ìåôÜöñáóç äåí ðñÝðåé íá ðåñéÝ÷ïõí ôï ÷áñáêôÞñá äéáöõãÞò `\\"
"%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3311,7 +3561,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3320,13 +3570,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3334,7 +3584,7 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3342,103 +3592,103 @@ msgid ""
msgstr ""
#
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
#
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
#
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
#
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
#
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3446,283 +3696,104 @@ msgid ""
msgstr ""
#
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, fuzzy, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
#
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-
-#
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
#
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-
-#
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
-
-#
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "ç ãëþóóá `%s' åßíáé Üãíùóôç"
-#: src/x-perl.c:1183
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgid "sentence end type '%s' unknown"
msgstr ""
#
-#: src/x-perl.c:1217
-#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: ìç Ýãêõñç åðéëïãÞ -- %c\n"
-
-#: src/x-perl.c:1230
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"ôï --join-existing äå ìðïñåß íá ÷ñçóéìïðïéçèåß üôáí ç Ýîïäïò ãñÜöåôáé óôçí "
+"êáíïíéêÞ Ýîïäï"
-#: src/x-python.c:341
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/x-python.c:354
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-python.c:364
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:397
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr ""
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr ""
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
#
-#: src/x-rst.c:207
-#, fuzzy, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-
-#: src/x-sh.c:1075
-#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"ôï --join-existing äå ìðïñåß íá ÷ñçóéìïðïéçèåß üôáí ç Ýîïäïò ãñÜöåôáé óôçí "
-"êáíïíéêÞ Ýîïäï"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr ""
-
-#
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"ðñïåéäïðïßçóç: ôï áñ÷åßï `%s' ìå êáôÜëçîç `%s' åßíáé Üãíùóôï· èá äïêéìáóôåß C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
#
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3735,41 +3806,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3779,17 +3850,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3799,7 +3886,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3809,7 +3896,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3817,7 +3904,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3827,75 +3914,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3903,7 +4000,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3911,7 +4008,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -3919,45 +4016,45 @@ msgid ""
msgstr ""
#
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "êáíïíéêÞ åßóïäïò"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr ""
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3966,34 +4063,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4002,16 +4099,323 @@ msgid ""
msgstr ""
#
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "ç ãëþóóá `%s' åßíáé Üãíùóôç"
+#
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
+#
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
+
+#
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s: ìç Ýãêõñç åðéëïãÞ -- %c\n"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#
+#: src/x-rst.c:208
+#, fuzzy, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
#
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+#
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr ""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "õðïëåßðïíôáé ïñßóìáôá"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: ìç áðïäåêôÞ åðéëïãÞ -- %c\n"
diff --git a/gettext-tools/po/en@boldquot.gmo b/gettext-tools/po/en@boldquot.gmo
index 5671bd3..d3dbf3b 100644
--- a/gettext-tools/po/en@boldquot.gmo
+++ b/gettext-tools/po/en@boldquot.gmo
Binary files differ
diff --git a/gettext-tools/po/en@boldquot.po b/gettext-tools/po/en@boldquot.po
index 4a33b1d..b7d495a 100644
--- a/gettext-tools/po/en@boldquot.po
+++ b/gettext-tools/po/en@boldquot.po
@@ -1,7 +1,7 @@
# English translations for gettext-tools package.
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext-tools package.
-# Automatically generated, 2014.
+# Automatically generated, 2015.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -30,10 +30,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.4\n"
+"Project-Id-Version: gettext-tools 0.19.7\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-28 08:26+0900\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en@boldquot\n"
@@ -80,40 +80,40 @@ msgstr "cannot remove temporary directory %s"
msgid "write error"
msgstr "write error"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "preserving permissions for %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "error while opening %s for reading"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "cannot open backup file %s for writing"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "error reading %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "error writing %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "error after reading %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() failed"
@@ -139,58 +139,63 @@ msgstr "Unknown system error"
msgid "%s subprocess failed"
msgstr "%s subprocess failed"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: option ‘%s’ is ambiguous; possibilities:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: option ‘%s’ is ambiguous\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: option ‘--%s’ doesn't allow an argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: option ‘%c%s’ doesn't allow an argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: option ‘--%s’ requires an argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: unrecognized option ‘--%s’\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: unrecognized option ‘%c%s’\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: invalid option -- ‘%c’\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: option requires an argument -- ‘%c’\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: option ‘-W %s’ is ambiguous\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: option ‘-W %s’ doesn't allow an argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: option ‘-W %s’ requires an argument\n"
@@ -206,15 +211,16 @@ msgstr "invalid source_version argument to compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "invalid target_version argument to compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "failed to create “%sâ€"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "error while writing “%s†file"
@@ -229,15 +235,15 @@ msgstr "Java compiler not found, try installing gcj or set $JAVAC"
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "Java virtual machine not found, try installing gij or set $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s subprocess I/O error"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memory exhausted"
@@ -248,7 +254,7 @@ msgid "creation of threads failed"
msgstr "creation of threads failed"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "write to %s subprocess failed"
@@ -294,11 +300,11 @@ msgstr "%s subprocess terminated with exit code %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -334,22 +340,163 @@ msgstr "%s subprocess"
msgid "%s subprocess got fatal signal %d"
msgstr "%s subprocess got fatal signal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error while opening “%s†for reading"
+msgid "The root element must be <%s>"
+msgstr "The root element must be <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "‘%s’ is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "The element <%s> does not contain a <%s> element"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "The element <%s> does not have attribute <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Try ‘%s --help’ for more information.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -c, --cldr print plural rules in the CLDR format\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help display this help and exit\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version output version information and exit\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Written by %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s cannot be read"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "cannot extract rules for %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "cannot parse CLDR rule"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "extra operand %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error while opening “%s†for reading"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -357,32 +504,38 @@ msgstr ""
"a format specification for argument %u, as in '%s', doesn't exist in ‘"
"%s’"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "a format specification for argument %u doesn't exist in ‘%s’"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"format specifications in ‘%s’ and ‘%s’ for argument %u are not "
"the same"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "The directive number %u starts with | but does not end with |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "‘%s’ is not a valid %s format string, unlike '%s'. Reason: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -392,45 +545,45 @@ msgstr ""
"format specifier macro. The valid macro names are listed in ISO C 99 section "
"7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"In the directive number %u, the token after ‘<’ is not followed by '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"The string refers to argument number %u but ignores argument number %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
"number of format specifications in ‘%s’ and ‘%s’ does not match"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"In the directive number %u, ‘{’ is not followed by an argument number."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "In the directive number %u, ‘,’ is not followed by a number."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"The string ends in the middle of a directive: found ‘{’ without "
"matching '}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -438,12 +591,12 @@ msgstr ""
"The directive number %u ends with an invalid character ‘%c’ instead of "
"'}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "The directive number %u ends with an invalid character instead of '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -451,7 +604,7 @@ msgstr ""
"The string starts in the middle of a directive: found ‘}’ without "
"matching '{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "The string contains a lone ‘}’ after directive number %u."
@@ -574,7 +727,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "The string refers to argument number %u in incompatible ways."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -583,12 +736,12 @@ msgstr ""
"In the directive number %u, the substring “%s†is not a valid date/"
"time style."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "In the directive number %u, “%s†is not followed by a comma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -596,7 +749,7 @@ msgstr ""
"In the directive number %u, the substring “%s†is not a valid number "
"style."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -605,12 +758,12 @@ msgstr ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of “%sâ€, “%sâ€, “%sâ€, “%sâ€."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "In the directive number %u, a choice contains no number."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -619,7 +772,7 @@ msgstr ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', ‘#’ or '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -627,12 +780,12 @@ msgstr ""
"a format specification for argument {%u}, as in '%s', doesn't exist in ‘"
"%s’"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "a format specification for argument {%u} doesn't exist in ‘%s’"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -640,7 +793,29 @@ msgstr ""
"format specifications in ‘%s’ and ‘%s’ for argument {%u} are not "
"the same"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "error while parsing: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -650,7 +825,7 @@ msgstr ""
"In the directive number %u, parameter %u is of type ‘%s’ but a "
"parameter of type ‘%s’ is expected."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -665,33 +840,33 @@ msgstr[1] ""
"In the directive number %u, too many parameters are given; expected at most "
"%u parameters."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "In the directive number %u, ‘%c’ is not followed by a digit."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "In the directive number %u, the argument %d is negative."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "The string ends in the middle of a ~/.../ directive."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Found ‘~%c’ without matching '~%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "In the directive number %u, both the @ and the : modifiers are given."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -700,27 +875,34 @@ msgstr ""
"In the directive number %u, ‘~:[’ is not followed by two clauses, "
"separated by '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "In the directive number %u, ‘~;’ is used in an invalid position."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "The string refers to some argument in incompatible ways."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "format specifications in ‘%s’ and ‘%s’ are not equivalent"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"format specifications in ‘%s’ are not a subset of those in ‘%s’"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr ""
+"a format specification for argument ‘%s’ doesn't exist in ‘%s’"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -729,15 +911,36 @@ msgstr ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "In the directive number %u, ‘%c’ cannot start a field name."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
msgstr ""
-"a format specification for argument ‘%s’ doesn't exist in ‘%s’"
+"In the directive number %u, ‘%c’ cannot start a getattr argument."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"In the directive number %u, ‘%c’ cannot start a getitem argument."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "In the directive number %u, there is an unterminated format directive."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -745,13 +948,13 @@ msgstr ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"The string refers to the argument named ‘%s’ in incompatible ways."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -759,7 +962,7 @@ msgstr ""
"format specifications in ‘%s’ expect a mapping, those in ‘%s’ "
"expect a tuple"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -767,7 +970,7 @@ msgstr ""
"format specifications in ‘%s’ expect a tuple, those in ‘%s’ "
"expect a mapping"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -775,7 +978,7 @@ msgstr ""
"a format specification for argument '%s', as in '%s', doesn't exist in ‘"
"%s’"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -783,36 +986,7 @@ msgstr ""
"format specifications in ‘%s’ and ‘%s’ for argument ‘%s’ "
"are not the same"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "In the directive number %u, ‘%c’ cannot start a field name."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"In the directive number %u, ‘%c’ cannot start a getattr argument."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-"In the directive number %u, ‘%c’ cannot start a getitem argument."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "In the directive number %u, there is an unterminated format directive."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -821,11 +995,11 @@ msgstr ""
"‘%s’ is a simple format string, but ‘%s’ is not: it contains an "
"‘L’ flag or a double-digit argument number"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "The string refers to a shell variable with a non-ASCII name."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -833,7 +1007,7 @@ msgstr ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -841,11 +1015,11 @@ msgstr ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "The string refers to a shell variable with an empty name."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -854,7 +1028,7 @@ msgstr ""
"In the directive number %u, the character ‘%c’ is not a digit between "
"1 and 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -863,75 +1037,40 @@ msgstr ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Written by %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "too many arguments"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Try ‘%s --help’ for more information.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Usage: %s [OPTION]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Print the machine's hostname.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Output format:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short short host name\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -942,77 +1081,103 @@ msgstr ""
"domain\n"
" name, and aliases\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address addresses for the hostname\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informative output:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "could not get host name"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "selector is not specified"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "cannot create XPath context"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "could not get host name"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "cannot evaluate XPath expression: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "“%s†node does not contain “%sâ€"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "invalid attribute value “%s†for “%sâ€"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "the root element is not “rules†under namespace %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "cannot read %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "cannot evaluate XPath location path: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "“%s†node does not have “%sâ€"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "cannot read XML file %s"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "the root element is not “locatingRulesâ€"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "at most one input file allowed"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s and %s are mutually exclusive"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Usage: %s [OPTION] [INPUTFILE]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1021,63 +1186,64 @@ msgstr ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Mandatory arguments to long options are mandatory for short options too.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Input file location:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INPUTFILE input PO file\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "If no input file is given or if it is -, standard input is read.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Output file location:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FILE write output to specified file\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1086,71 +1252,71 @@ msgstr ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Message selection:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated keep translated, remove untranslated messages\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
" --untranslated keep untranslated, remove translated messages\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy remove ‘fuzzy’ marked messages\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy keep ‘fuzzy’ marked messages\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete remove obsolete #~ messages\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete keep obsolete #~ messages\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Attribute manipulation:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy set all messages ‘fuzzy’\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy set all messages non-'fuzzy'\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete set all messages obsolete\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete set all messages non-obsolete\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1159,7 +1325,7 @@ msgstr ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1168,57 +1334,57 @@ msgstr ""
" --clear-previous remove the “previous msgid†from all "
"messages\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Input file syntax:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input input file is in Java .properties syntax\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1227,17 +1393,17 @@ msgstr ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Output details:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1250,55 +1416,55 @@ msgstr ""
" WHEN may be 'always', 'never', 'auto', or "
"'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=STYLEFILE specify CSS style rule file for --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
" -e, --no-escape do not use C escapes in output (default)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
" -E, --escape use C escapes in output, no extended chars\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po write PO file even if empty\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent write the .po file using indented style\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location do not write ‘#: filename:line’ lines\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1306,40 +1472,40 @@ msgstr ""
" -n, --add-location generate ‘#: filename:line’ lines "
"(default)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict write out strict Uniforum conforming .po file\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output write out a Java .properties file\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMBER set output page width\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1348,31 +1514,31 @@ msgstr ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output generate sorted output\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file sort output by file location\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "impossible selection criteria specified (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Usage: %s [OPTION] [INPUTFILE]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1395,23 +1561,23 @@ msgstr ""
"that if --use-first is specified, they will be taken from the first PO file\n"
"to define them.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INPUTFILE ... input files\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FILE get list of input files from FILE\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "If input file is -, standard input is read.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1420,7 +1586,7 @@ msgstr ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1429,7 +1595,7 @@ msgstr ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1438,16 +1604,16 @@ msgstr ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
" -P, --properties-input input files are in Java .properties syntax\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1456,12 +1622,12 @@ msgstr ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAME encoding for output\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1470,7 +1636,7 @@ msgstr ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1479,26 +1645,26 @@ msgstr ""
"entry\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "no input files given"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "exactly 2 input files required"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Usage: %s [OPTION] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1515,22 +1681,22 @@ msgstr ""
"you have translated each and every message in your program. Where an exact\n"
"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po translations\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot references to the sources\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Operation modifiers:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1539,64 +1705,64 @@ msgstr ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching do not use fuzzy matching\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy consider fuzzy entries\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated consider untranslated entries\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "this message is untranslated"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "this message needs to be reviewed by the translator"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "this message is used but not defined..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...but this definition is similar"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "this message is used but not defined in %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "warning: this message is not used"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "found %d fatal error"
msgstr[1] "found %d fatal errors"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "at least two files must be specified"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1617,7 +1783,7 @@ msgstr ""
"PO file to define them. File positions from all PO files will be\n"
"cumulated.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1626,7 +1792,7 @@ msgstr ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1634,35 +1800,35 @@ msgstr ""
" --omit-header don't write header with ‘msgid \"\"’ "
"entry\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Converts a translation catalog to a different character encoding.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Conversion target:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "The default encoding is the current locale's encoding.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent indented output style\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location suppress ‘#: filename:line’ lines\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1670,28 +1836,28 @@ msgstr ""
" -n, --add-location preserve ‘#: filename:line’ lines "
"(default)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict strict Uniforum output style\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "no input file given"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "exactly one input file required"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Usage: %s [OPTION] INPUTFILE\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1704,22 +1870,22 @@ msgstr ""
"xgettext). Untranslated entries are assigned a translation that is\n"
"identical to the msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INPUTFILE input PO or POT file\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "missing command name"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1734,7 +1900,7 @@ msgstr ""
"msgexec's output. msgexec's return code is the maximum return code\n"
"across all invocations.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1743,37 +1909,47 @@ msgstr ""
"A special builtin command called ‘0’ outputs the translation, followed by a\n"
"null byte. The output of “msgexec 0†is suitable as input for “xargs -0â€.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Command input:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline add newline at the end of input\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INPUTFILE input PO file\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "write to stdout failed"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "missing filter name"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "at least one sed script must be specified"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Applies a filter to all translations of a translation catalog.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1782,19 +1958,33 @@ msgstr ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Filter input and output:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1805,148 +1995,149 @@ msgstr ""
"commands\n"
" to be executed\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
" --no-escape do not use C escapes in output (default)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent indented output style\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header keep header entry unmodified, don't filter it\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filter output is not terminated with a newline"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "the argument to %s should be a single punctuation character"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "invalid endianness: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "no input file should be given if %s and %s are specified"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s requires a “-d directory†specification"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s requires a “-l locale†specification"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s requires a “--template template†specification"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s requires a “-o file†specification"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s and %s are mutually exclusive in %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s is only valid with %s or %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s is only valid with %s, %s or %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "cannot locate ITS rules for %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d translated message"
msgstr[1] "%d translated messages"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d fuzzy translation"
msgstr[1] ", %d fuzzy translations"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d untranslated message"
msgstr[1] ", %d untranslated messages"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Usage: %s [OPTION] filename.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Generate binary message catalog from textual translation description.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filename.po ... input files\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Operation mode:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1955,7 +2146,7 @@ msgstr ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1964,12 +2155,12 @@ msgstr ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# mode: generate a .NET .dll file\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1978,47 +2169,52 @@ msgstr ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt mode: generate a Qt .qm file\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml XML mode: generate XML file\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict enable strict Uniforum mode\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "If output file is -, output is written to standard output.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Output file location in Java mode:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESOURCE resource name\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2027,7 +2223,7 @@ msgstr ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2036,14 +2232,14 @@ msgstr ""
" --source produce a .java file, instead of a .class "
"file\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2056,12 +2252,12 @@ msgstr ""
"separated with an underscore. The -d option is mandatory. The class is\n"
"written under the specified directory.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Output file location in C# mode:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2070,7 +2266,7 @@ msgstr ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2079,18 +2275,18 @@ msgstr ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Output file location in Tcl mode:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORY base directory of .msg message catalogs\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2099,22 +2295,22 @@ msgstr ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Desktop Entry mode options:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=TEMPLATE a .desktop file used as a template\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRECTORY base directory of .po files\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2123,7 +2319,7 @@ msgstr ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2134,12 +2330,27 @@ msgstr ""
"input\n"
"files are read from the directory instead of the command line arguments.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "XML mode options:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=NAME recognise the specified XML language\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=TEMPLATE an XML file used as a template\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Input file interpretation:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2150,13 +2361,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format check language dependent format strings\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2165,7 +2376,7 @@ msgstr ""
" --check-header verify presence and contents of the header "
"entry\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2174,7 +2385,7 @@ msgstr ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2183,7 +2394,7 @@ msgstr ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2194,19 +2405,19 @@ msgstr ""
"for\n"
" menu items\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy use fuzzy entries in output\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2219,96 +2430,95 @@ msgstr ""
" (big or little, default depends on "
"platform)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash binary file will not include the hash table\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics print statistics about translations\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose increase verbosity level\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "warning: PO file header missing or invalid\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "warning: charset conversion will not work\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "warning: PO file header fuzzy\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "warning: older versions of msgfmt will give an error on this\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domain name “%s†not suitable as file name"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domain name “%s†not suitable as file name: will use prefix"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "‘domain %s’ directive ignored"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "empty ‘msgstr’ entry ignored"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "fuzzy ‘msgstr’ entry ignored"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: warning: source file contains fuzzy translation"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s does not exist"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s exists but cannot read"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "error while reading “%sâ€"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2317,7 +2527,7 @@ msgstr ""
"option ‘%c’ cannot be used before ‘J’ or ‘K’ or ‘T’ "
"or ‘C’ or ‘X’ has been specified"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2326,7 +2536,7 @@ msgstr ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2401,19 +2611,19 @@ msgstr ""
" -v, --invert-match output only the messages that do not match any\n"
" selection criterion\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
" --escape use C escapes in output, no extended chars\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output generate sorted output\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file sort output by file location\n"
@@ -2516,14 +2726,14 @@ msgstr ""
"Found no .pot file in the current directory.\n"
"Please specify the input .pot file through the --input option.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s subprocess failed with exit code %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2540,22 +2750,22 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "English translations for %s package"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "present charset “%s†is not a portable encoding name"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "two different charsets “%s†and “%s†in input file"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2563,7 +2773,7 @@ msgstr ""
"input file ‘%s’ doesn't contain a header entry with a charset "
"specification"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2572,19 +2782,19 @@ msgstr ""
"domain “%s†in input file ‘%s’ doesn't contain a header entry "
"with a charset specification"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "target charset “%s†is not a portable encoding name."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "warning: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2593,7 +2803,7 @@ msgstr ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2606,7 +2816,7 @@ msgstr ""
"Converting the output to UTF-8.\n"
"To select a different output encoding, use the --to-code option.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2619,7 +2829,7 @@ msgstr ""
"Either change all msgids and msgctxts to be pure ASCII, or ensure they are\n"
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2632,12 +2842,12 @@ msgstr ""
"Output of ‘%s’ might be incorrect.\n"
"Possible workarounds are:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Set LC_ALL to a locale with encoding %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2648,7 +2858,7 @@ msgstr ""
" then apply '%s',\n"
" then convert back to %s using 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2661,7 +2871,7 @@ msgstr ""
" then apply '%s',\n"
" then convert back to %s using 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2672,25 +2882,25 @@ msgstr ""
"Output of ‘%s’ might be incorrect.\n"
"A possible workaround is to set LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "plural expression can produce negative values"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu but plural expression can produce values as large as %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "plural expression can produce division by zero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "plural expression can produce integer overflow"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2698,51 +2908,51 @@ msgstr ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Try using the following, valid for %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "message catalog has plural form translations"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "but header entry lacks a “plural=EXPRESSION†attribute"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "but header entry lacks a “nplurals=INTEGER†attribute"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "invalid nplurals value"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "invalid plural expression"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "but some messages have only one plural form"
msgstr[1] "but some messages have only %lu plural forms"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "but some messages have one plural form"
msgstr[1] "but some messages have %lu plural forms"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2750,82 +2960,98 @@ msgstr ""
"message catalog has plural form translations, but lacks a header entry with "
"“Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;â€"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"‘msgid’ and ‘msgid_plural’ entries do not both begin with ‘"
"\\n’"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr ""
"‘msgid’ and ‘msgstr[%u]’ entries do not both begin with ‘"
"\\n’"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr ""
"‘msgid’ and ‘msgstr’ entries do not both begin with ‘\\n’"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
"‘msgid’ and ‘msgid_plural’ entries do not both end with ‘"
"\\n’"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr ""
"‘msgid’ and ‘msgstr[%u]’ entries do not both end with ‘\\n’"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr ""
"‘msgid’ and ‘msgstr’ entries do not both end with ‘\\n’"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "plural handling is a GNU gettext extension"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr lacks the keyboard accelerator mark ‘%c’"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr has too many keyboard accelerator marks ‘%c’"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "header field ‘%s’ still has the initial default value\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "header field ‘%s’ missing in header\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII ellipsis ('...') instead of Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "space before ellipsis found in user visible strings"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "ASCII double quote used instead of Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "ASCII single quote used instead of Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: input is not valid in “%s†encoding"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: error while converting from “%s†encoding to “%s†encoding"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "input file doesn't contain a header entry with a charset specification"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2834,7 +3060,7 @@ msgstr ""
"Cannot convert from “%s†to “%sâ€. %s relies on iconv(), and "
"iconv() does not support this conversion."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2843,8 +3069,8 @@ msgstr ""
"Conversion from “%s†to “%s†introduces duplicates: some "
"different msgids become equal."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2853,16 +3079,16 @@ msgstr ""
"Cannot convert from “%s†to “%sâ€. %s relies on iconv(). This "
"version was built without iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s is only valid with %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "backup type"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2885,17 +3111,17 @@ msgstr ""
"comments and file positions will be preserved. Where an exact match\n"
"cannot be found, fuzzy matching is used to produce better results.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po translations referring to old sources\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot references to new sources\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2904,7 +3130,7 @@ msgstr ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2913,27 +3139,27 @@ msgstr ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Output file location in update mode:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "The result is written back to def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL make a backup of def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFFIX override the usual backup suffix\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2952,7 +3178,7 @@ msgstr ""
" existing, nil numbered if numbered backups exist, simple otherwise\n"
" simple, never always make simple backups\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2963,29 +3189,29 @@ msgstr ""
"SIMPLE_BACKUP_SUFFIX\n"
"environment variable.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous keep previous msgids of translated messages\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent suppress progress indicators\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "this message should define plural forms"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "this message should not define plural forms"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2994,28 +3220,28 @@ msgstr ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
"obsolete %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " done.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s and explicit file names are mutually exclusive"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Usage: %s [OPTION] [FILE]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Convert binary message catalog to Uniforum style .po file.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3024,12 +3250,12 @@ msgstr ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# mode: input is a .NET .dll file\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3038,24 +3264,24 @@ msgstr ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FILE ... input .mo files\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Input file location in Java mode:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3066,12 +3292,12 @@ msgstr ""
"name,\n"
"separated with an underscore. The class is located using the CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Input file location in C# mode:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3080,12 +3306,12 @@ msgstr ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Input file location in Tcl mode:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3094,17 +3320,17 @@ msgstr ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent write indented output style\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict write strict uniforum style\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3125,12 +3351,12 @@ msgstr ""
"specified, they will be taken from the first translation. File positions\n"
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated print only duplicates\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3139,7 +3365,7 @@ msgstr ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3195,32 +3421,32 @@ msgstr ""
"Charset missing in header.\n"
"Message conversion to user's charset will not work.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "inconsistent use of #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "missing ‘msgstr[]’ section"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "missing ‘msgid_plural’ section"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "missing ‘msgstr’ section"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "first plural form has nonzero index"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "plural form has wrong index"
@@ -3230,7 +3456,7 @@ msgstr "plural form has wrong index"
msgid "too many errors, aborting"
msgstr "too many errors, aborting"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "invalid multibyte sequence"
@@ -3274,64 +3500,81 @@ msgstr "end-of-line within string"
msgid "context separator <EOT> within string"
msgstr "context separator <EOT> within string"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "this file may not contain domain directives"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "duplicate message definition"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "this is the location of the first definition"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "unterminated group name"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "invalid non-blank character"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "missing ‘=’ after “%sâ€"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "invalid non-blank line"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "file “%s†is truncated"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "file “%s†contains a not NUL terminated string"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "file “%s†is not in GNU .mo format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "file “%s†contains a not NUL terminated string, at %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "warning: invalid \\uxxxx syntax for Unicode character"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "warning: unterminated string"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "warning: syntax error"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "warning: unterminated key/value pair"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "warning: syntax error, expected ‘;’ after string"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "warning: syntax error, expected ‘=’ or ‘;’ after string"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Written by %s and %s.\n"
@@ -3340,16 +3583,16 @@ msgstr "Written by %s and %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Recode Serbian text from Cyrillic to Latin script.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3358,27 +3601,27 @@ msgstr ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "input is not valid in “%s†encoding"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "error while converting from “%s†encoding to “%s†encoding"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "expected two arguments"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Usage: %s [OPTION] URL FILE\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3387,37 +3630,37 @@ msgstr ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "error reading “%sâ€"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "error writing stdout"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "error after reading “%sâ€"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Retrieving %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " timed out.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " failed.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3425,7 +3668,7 @@ msgstr ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3433,7 +3676,7 @@ msgstr ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3441,7 +3684,7 @@ msgstr ""
"message catalog has context dependent translations, but the output format "
"does not support them."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3451,7 +3694,7 @@ msgstr ""
"support them. Try generating a Java class using “msgfmt --javaâ€, "
"instead of a properties file."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3459,12 +3702,12 @@ msgstr ""
"message catalog has plural form translations, but the output format does not "
"support them."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "cannot create output file “%sâ€"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard output"
@@ -3483,31 +3726,32 @@ msgstr "compilation of C# class failed, please try --verbose"
msgid "compilation of C# class failed"
msgstr "compilation of C# class failed"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error while opening “%s†for writing"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "not a valid Java class name: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr "compilation of Java class failed, please try --verbose or set $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "compilation of Java class failed, please try to set $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error while opening “%s†for writing"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "incomplete multibyte sequence"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3515,7 +3759,7 @@ msgstr ""
"internationalized messages should not contain the ‘\\%c’ escape "
"sequence"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3528,7 +3772,7 @@ msgstr ""
"different from yours. Consider using a pure ASCII msgctxt instead.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3541,7 +3785,7 @@ msgstr ""
"different from yours. Consider using a pure ASCII msgid instead.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3549,7 +3793,7 @@ msgstr ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3561,7 +3805,7 @@ msgstr ""
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the context strings\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3571,12 +3815,12 @@ msgstr ""
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "error while writing to %s subprocess"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3584,7 +3828,7 @@ msgstr ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3592,7 +3836,7 @@ msgstr ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3600,7 +3844,7 @@ msgstr ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3608,36 +3852,36 @@ msgstr ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: warning: unterminated string"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: warning: unterminated regular expression"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "warning: invalid Unicode character"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: warning: unterminated character constant"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: warning: unterminated string literal"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Please specify the source encoding through --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3646,7 +3890,7 @@ msgstr ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3655,7 +3899,7 @@ msgstr ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3664,7 +3908,7 @@ msgstr ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3673,12 +3917,12 @@ msgstr ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv failure"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3687,281 +3931,75 @@ msgstr ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: warning: invalid Unicode character"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: warning: unterminated string constant"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: warning: ‘)’ found where ‘}’ was expected"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: warning: ‘}’ found where ‘)’ was expected"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Missing context for the string extracted from ‘%s’ element"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "The root element <%s> is not allowed in a valid Glade file"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Language “glade†is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: warning: lone surrogate U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Please specify the source encoding through --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:312
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: warning: RegExp literal terminated too early"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: warning: %s is not allowed"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: warning: unterminated XML markup"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: can't find string terminator “%s†anywhere before EOF"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: missing right brace on \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d: invalid interpolation (“\\lâ€) of 8bit character “%câ€"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d: invalid interpolation (“\\uâ€) of 8bit character “%câ€"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: invalid variable interpolation at “%câ€"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d: invalid interpolation (“\\Lâ€) of 8bit character “%câ€"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d: invalid interpolation (“\\Uâ€) of 8bit character “%câ€"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "‘%s’ is not a valid encoding name. Using ASCII as fallback.\n"
-#: src/x-python.c:397
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "syntax check ‘%s’ unknown"
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Unknown encoding “%sâ€. Proceeding with ASCII instead."
+msgid "sentence end type '%s' unknown"
+msgstr "sentence end type ‘%s’ unknown"
-#: src/x-rst.c:108
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: invalid string definition"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-existing cannot be used when output is written to stdout"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: missing number after #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext cannot work without keywords to look for"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: invalid string expression"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "warning: ITS rule file ‘%s’ does not exist"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: warning: the syntax $“...†is deprecated due to security "
-"reasons; use eval_gettext instead"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: warning: regular expression literal terminated too early"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "‘%s’ is not a valid encoding name. Using ASCII as fallback.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-existing cannot be used when output is written to stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext cannot work without keywords to look for"
+"warning: ITS rule file ‘%s’ does not exist; check your gettext "
+"installation"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "warning: file ‘%s’ extension ‘%s’ is unknown; will try C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extract translatable strings from given input files.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3970,24 +4008,24 @@ msgstr ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FILE write output to specified file\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Choice of input file language:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4008,12 +4046,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ shorthand for --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4022,7 +4060,7 @@ msgstr ""
"By default the language is guessed depending on the input file name "
"extension.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4031,22 +4069,22 @@ msgstr ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "By default the input files are assumed to be in ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing join messages with existing file\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4061,17 +4099,39 @@ msgstr ""
"lines\n"
" in output file\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Language specific options:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extract all strings\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4086,7 +4146,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4101,7 +4161,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4112,7 +4172,7 @@ msgstr ""
"argument\n"
" number ARG of keyword WORD\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4127,78 +4187,88 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs understand ANSI C trigraphs for input\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (only languages C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt recognize Qt format strings\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (only language C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde recognize KDE 4 format strings\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost recognize Boost format strings\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug more detailed formatstring recognition result\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output write out a Java .properties file\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=FILE apply ITS rules from FILE\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool write out itstool comments\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=STRING set copyright holder in output\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
" --foreign-user omit FSF copyright in output for foreign user\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACKAGE set package name in output\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION set package version in output\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4209,7 +4279,7 @@ msgstr ""
"msgstr\n"
" values\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4220,7 +4290,7 @@ msgstr ""
"msgstr\n"
" values\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4229,31 +4299,31 @@ msgstr ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard input"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Non-ASCII character at %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Non-ASCII comment at or before %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Non-ASCII string at %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: warning: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4262,7 +4332,7 @@ msgstr ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4271,7 +4341,7 @@ msgstr ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4285,7 +4355,7 @@ msgstr ""
"Please consider using a format string with named arguments,\n"
"and a mapping instead of a tuple for the arguments.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4295,27 +4365,27 @@ msgstr ""
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "ambiguous argument specification for keyword ‘%.*s’"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "warning: missing context for keyword ‘%.*s’"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "warning: missing context for plural argument of keyword ‘%.*s’"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "context mismatch between singular and plural form"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4327,11 +4397,338 @@ msgstr ""
"the MSGID_BUGS_ADDRESS variable there; otherwise please\n"
"specify an --msgid-bugs-address command line option.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "language ‘%s’ unknown"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: warning: lone surrogate U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Please specify the source encoding through --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: warning: RegExp literal terminated too early"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: warning: %s is not allowed"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: warning: unterminated XML markup"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: can't find string terminator “%s†anywhere before EOF"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: missing right brace on \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d: invalid interpolation (“\\lâ€) of 8bit character “%câ€"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d: invalid interpolation (“\\uâ€) of 8bit character “%câ€"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: invalid variable interpolation at “%câ€"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d: invalid interpolation (“\\Lâ€) of 8bit character “%câ€"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d: invalid interpolation (“\\Uâ€) of 8bit character “%câ€"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Unknown encoding “%sâ€. Proceeding with ASCII instead."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: invalid string definition"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: missing number after #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: invalid string expression"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: warning: the syntax $“...†is deprecated due to security "
+"reasons; use eval_gettext instead"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: warning: regular expression literal terminated too early"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<unnamed>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "invalid UTF-8 sequence"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "‘%s’ is not a valid name: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "‘%s’ is not a valid name: ‘%c’"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "invalid character reference: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "not a valid number specification"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "no ending ‘;’"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "non-permitted character"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "empty"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "unknown"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "invalid entity reference: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "document must begin with an element"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "invalid character after ‘%s’"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "missing ‘%c’"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "missing ‘%c’ or ‘%c’"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "a close element name"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "element is closed"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "empty document"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "after ‘<’"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "elements still open"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "missing ‘>’"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "inside an element name"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "inside an attribute name"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "inside an open tag"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "after ‘=’"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "inside an attribute value"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "inside the close tag"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "inside a comment or processing instruction"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "document ended unexpectedly: %s"
diff --git a/gettext-tools/po/en@quot.gmo b/gettext-tools/po/en@quot.gmo
index a2494cb..7f90f72 100644
--- a/gettext-tools/po/en@quot.gmo
+++ b/gettext-tools/po/en@quot.gmo
Binary files differ
diff --git a/gettext-tools/po/en@quot.po b/gettext-tools/po/en@quot.po
index 4976c65..1c818b5 100644
--- a/gettext-tools/po/en@quot.po
+++ b/gettext-tools/po/en@quot.po
@@ -1,7 +1,7 @@
# English translations for gettext-tools package.
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext-tools package.
-# Automatically generated, 2014.
+# Automatically generated, 2015.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -27,10 +27,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.4\n"
+"Project-Id-Version: gettext-tools 0.19.7\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-28 08:26+0900\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en@quot\n"
@@ -77,40 +77,40 @@ msgstr "cannot remove temporary directory %s"
msgid "write error"
msgstr "write error"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "preserving permissions for %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "error while opening %s for reading"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "cannot open backup file %s for writing"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "error reading %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "error writing %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "error after reading %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() failed"
@@ -136,58 +136,63 @@ msgstr "Unknown system error"
msgid "%s subprocess failed"
msgstr "%s subprocess failed"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: option ‘%s’ is ambiguous; possibilities:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: option ‘%s’ is ambiguous\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: option ‘--%s’ doesn't allow an argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: option ‘%c%s’ doesn't allow an argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: option ‘--%s’ requires an argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: unrecognized option ‘--%s’\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: unrecognized option ‘%c%s’\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: invalid option -- ‘%c’\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: option requires an argument -- ‘%c’\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: option ‘-W %s’ is ambiguous\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: option ‘-W %s’ doesn't allow an argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: option ‘-W %s’ requires an argument\n"
@@ -203,15 +208,16 @@ msgstr "invalid source_version argument to compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "invalid target_version argument to compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "failed to create “%sâ€"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "error while writing “%s†file"
@@ -226,15 +232,15 @@ msgstr "Java compiler not found, try installing gcj or set $JAVAC"
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "Java virtual machine not found, try installing gij or set $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s subprocess I/O error"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memory exhausted"
@@ -245,7 +251,7 @@ msgid "creation of threads failed"
msgstr "creation of threads failed"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "write to %s subprocess failed"
@@ -291,11 +297,11 @@ msgstr "%s subprocess terminated with exit code %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -331,53 +337,200 @@ msgstr "%s subprocess"
msgid "%s subprocess got fatal signal %d"
msgstr "%s subprocess got fatal signal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error while opening “%s†for reading"
+msgid "The root element must be <%s>"
+msgstr "The root element must be <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "‘%s’ is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "The element <%s> does not contain a <%s> element"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "The element <%s> does not have attribute <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Try ‘%s --help’ for more information.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -c, --cldr print plural rules in the CLDR format\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help display this help and exit\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version output version information and exit\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Written by %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s cannot be read"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "cannot extract rules for %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "cannot parse CLDR rule"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "extra operand %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error while opening “%s†for reading"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
"a format specification for argument %u, as in '%s', doesn't exist in ‘%s’"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "a format specification for argument %u doesn't exist in ‘%s’"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"format specifications in ‘%s’ and ‘%s’ for argument %u are not the same"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "The directive number %u starts with | but does not end with |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "‘%s’ is not a valid %s format string, unlike '%s'. Reason: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -386,54 +539,54 @@ msgstr ""
"In the directive number %u, the token after ‘<’ is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"In the directive number %u, the token after ‘<’ is not followed by '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"The string refers to argument number %u but ignores argument number %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "number of format specifications in ‘%s’ and ‘%s’ does not match"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "In the directive number %u, ‘{’ is not followed by an argument number."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "In the directive number %u, ‘,’ is not followed by a number."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"The string ends in the middle of a directive: found ‘{’ without matching '}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"The directive number %u ends with an invalid character ‘%c’ instead of '}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "The directive number %u ends with an invalid character instead of '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -441,7 +594,7 @@ msgstr ""
"The string starts in the middle of a directive: found ‘}’ without matching "
"'{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "The string contains a lone ‘}’ after directive number %u."
@@ -564,7 +717,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "The string refers to argument number %u in incompatible ways."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -573,19 +726,19 @@ msgstr ""
"In the directive number %u, the substring “%s†is not a valid date/time "
"style."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "In the directive number %u, “%s†is not followed by a comma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"In the directive number %u, the substring “%s†is not a valid number style."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -594,12 +747,12 @@ msgstr ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of “%sâ€, “%sâ€, “%sâ€, “%sâ€."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "In the directive number %u, a choice contains no number."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -608,26 +761,48 @@ msgstr ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', ‘#’ or '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"a format specification for argument {%u}, as in '%s', doesn't exist in ‘%s’"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "a format specification for argument {%u} doesn't exist in ‘%s’"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
"format specifications in ‘%s’ and ‘%s’ for argument {%u} are not the same"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "error while parsing: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -637,7 +812,7 @@ msgstr ""
"In the directive number %u, parameter %u is of type ‘%s’ but a parameter of "
"type ‘%s’ is expected."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -652,33 +827,33 @@ msgstr[1] ""
"In the directive number %u, too many parameters are given; expected at most "
"%u parameters."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "In the directive number %u, ‘%c’ is not followed by a digit."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "In the directive number %u, the argument %d is negative."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "The string ends in the middle of a ~/.../ directive."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Found ‘~%c’ without matching '~%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "In the directive number %u, both the @ and the : modifiers are given."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -687,26 +862,32 @@ msgstr ""
"In the directive number %u, ‘~:[’ is not followed by two clauses, separated "
"by '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "In the directive number %u, ‘~;’ is used in an invalid position."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "The string refers to some argument in incompatible ways."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "format specifications in ‘%s’ and ‘%s’ are not equivalent"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "format specifications in ‘%s’ are not a subset of those in ‘%s’"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "a format specification for argument ‘%s’ doesn't exist in ‘%s’"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -715,14 +896,34 @@ msgstr ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "a format specification for argument ‘%s’ doesn't exist in ‘%s’"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "In the directive number %u, ‘%c’ cannot start a field name."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "In the directive number %u, ‘%c’ cannot start a getattr argument."
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "In the directive number %u, ‘%c’ cannot start a getitem argument."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "In the directive number %u, there is an unterminated format directive."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -730,67 +931,40 @@ msgstr ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "The string refers to the argument named ‘%s’ in incompatible ways."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
"format specifications in ‘%s’ expect a mapping, those in ‘%s’ expect a tuple"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
"format specifications in ‘%s’ expect a tuple, those in ‘%s’ expect a mapping"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"a format specification for argument '%s', as in '%s', doesn't exist in ‘%s’"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr ""
"format specifications in ‘%s’ and ‘%s’ for argument ‘%s’ are not the same"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "In the directive number %u, ‘%c’ cannot start a field name."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "In the directive number %u, ‘%c’ cannot start a getattr argument."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "In the directive number %u, ‘%c’ cannot start a getitem argument."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "In the directive number %u, there is an unterminated format directive."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -799,11 +973,11 @@ msgstr ""
"‘%s’ is a simple format string, but ‘%s’ is not: it contains an ‘L’ flag or "
"a double-digit argument number"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "The string refers to a shell variable with a non-ASCII name."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -811,7 +985,7 @@ msgstr ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -819,11 +993,11 @@ msgstr ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "The string refers to a shell variable with an empty name."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -832,7 +1006,7 @@ msgstr ""
"In the directive number %u, the character ‘%c’ is not a digit between 1 and "
"9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -841,75 +1015,40 @@ msgstr ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Written by %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "too many arguments"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Try ‘%s --help’ for more information.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Usage: %s [OPTION]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Print the machine's hostname.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Output format:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short short host name\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -920,77 +1059,103 @@ msgstr ""
"domain\n"
" name, and aliases\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address addresses for the hostname\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informative output:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "could not get host name"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "selector is not specified"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "cannot create XPath context"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "could not get host name"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "cannot evaluate XPath expression: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "“%s†node does not contain “%sâ€"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "invalid attribute value “%s†for “%sâ€"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "the root element is not “rules†under namespace %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "cannot read %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "cannot evaluate XPath location path: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "“%s†node does not have “%sâ€"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "cannot read XML file %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "the root element is not “locatingRulesâ€"
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "at most one input file allowed"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s and %s are mutually exclusive"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Usage: %s [OPTION] [INPUTFILE]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -999,63 +1164,64 @@ msgstr ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Mandatory arguments to long options are mandatory for short options too.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Input file location:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INPUTFILE input PO file\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "If no input file is given or if it is -, standard input is read.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Output file location:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FILE write output to specified file\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1064,71 +1230,71 @@ msgstr ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Message selection:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated keep translated, remove untranslated messages\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
" --untranslated keep untranslated, remove translated messages\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy remove ‘fuzzy’ marked messages\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy keep ‘fuzzy’ marked messages\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete remove obsolete #~ messages\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete keep obsolete #~ messages\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Attribute manipulation:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy set all messages ‘fuzzy’\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy set all messages non-'fuzzy'\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete set all messages obsolete\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete set all messages non-obsolete\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1137,7 +1303,7 @@ msgstr ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1145,57 +1311,57 @@ msgid ""
msgstr ""
" --clear-previous remove the “previous msgid†from all messages\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Input file syntax:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input input file is in Java .properties syntax\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1204,17 +1370,17 @@ msgstr ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Output details:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1227,94 +1393,94 @@ msgstr ""
" WHEN may be 'always', 'never', 'auto', or "
"'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=STYLEFILE specify CSS style rule file for --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
" -e, --no-escape do not use C escapes in output (default)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
" -E, --escape use C escapes in output, no extended chars\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po write PO file even if empty\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent write the .po file using indented style\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location do not write ‘#: filename:line’ lines\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location generate ‘#: filename:line’ lines (default)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict write out strict Uniforum conforming .po file\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output write out a Java .properties file\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMBER set output page width\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1323,31 +1489,31 @@ msgstr ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output generate sorted output\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file sort output by file location\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "impossible selection criteria specified (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Usage: %s [OPTION] [INPUTFILE]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1370,23 +1536,23 @@ msgstr ""
"that if --use-first is specified, they will be taken from the first PO file\n"
"to define them.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INPUTFILE ... input files\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FILE get list of input files from FILE\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "If input file is -, standard input is read.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1395,7 +1561,7 @@ msgstr ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1404,7 +1570,7 @@ msgstr ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1413,16 +1579,16 @@ msgstr ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
" -P, --properties-input input files are in Java .properties syntax\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1431,12 +1597,12 @@ msgstr ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAME encoding for output\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1445,7 +1611,7 @@ msgstr ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1453,26 +1619,26 @@ msgstr ""
" --lang=CATALOGNAME set ‘Language’ field in the header entry\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "no input files given"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "exactly 2 input files required"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Usage: %s [OPTION] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1489,22 +1655,22 @@ msgstr ""
"you have translated each and every message in your program. Where an exact\n"
"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po translations\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot references to the sources\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Operation modifiers:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1513,64 +1679,64 @@ msgstr ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching do not use fuzzy matching\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy consider fuzzy entries\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated consider untranslated entries\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "this message is untranslated"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "this message needs to be reviewed by the translator"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "this message is used but not defined..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...but this definition is similar"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "this message is used but not defined in %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "warning: this message is not used"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "found %d fatal error"
msgstr[1] "found %d fatal errors"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "at least two files must be specified"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1591,7 +1757,7 @@ msgstr ""
"PO file to define them. File positions from all PO files will be\n"
"cumulated.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1600,69 +1766,69 @@ msgstr ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header don't write header with ‘msgid \"\"’ entry\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Converts a translation catalog to a different character encoding.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Conversion target:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "The default encoding is the current locale's encoding.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent indented output style\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location suppress ‘#: filename:line’ lines\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location preserve ‘#: filename:line’ lines (default)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict strict Uniforum output style\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "no input file given"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "exactly one input file required"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Usage: %s [OPTION] INPUTFILE\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1675,22 +1841,22 @@ msgstr ""
"xgettext). Untranslated entries are assigned a translation that is\n"
"identical to the msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INPUTFILE input PO or POT file\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "missing command name"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1705,7 +1871,7 @@ msgstr ""
"msgexec's output. msgexec's return code is the maximum return code\n"
"across all invocations.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1714,37 +1880,47 @@ msgstr ""
"A special builtin command called ‘0’ outputs the translation, followed by a\n"
"null byte. The output of “msgexec 0†is suitable as input for “xargs -0â€.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Command input:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline add newline at the end of input\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INPUTFILE input PO file\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "write to stdout failed"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "missing filter name"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "at least one sed script must be specified"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Applies a filter to all translations of a translation catalog.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1753,19 +1929,33 @@ msgstr ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Filter input and output:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1776,148 +1966,149 @@ msgstr ""
"commands\n"
" to be executed\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
" --no-escape do not use C escapes in output (default)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent indented output style\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header keep header entry unmodified, don't filter it\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filter output is not terminated with a newline"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "the argument to %s should be a single punctuation character"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "invalid endianness: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "no input file should be given if %s and %s are specified"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s requires a “-d directory†specification"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s requires a “-l locale†specification"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s requires a “--template template†specification"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s requires a “-o file†specification"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s and %s are mutually exclusive in %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s is only valid with %s or %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s is only valid with %s, %s or %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "cannot locate ITS rules for %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d translated message"
msgstr[1] "%d translated messages"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d fuzzy translation"
msgstr[1] ", %d fuzzy translations"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d untranslated message"
msgstr[1] ", %d untranslated messages"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Usage: %s [OPTION] filename.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Generate binary message catalog from textual translation description.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filename.po ... input files\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Operation mode:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1926,7 +2117,7 @@ msgstr ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1935,12 +2126,12 @@ msgstr ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# mode: generate a .NET .dll file\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1949,47 +2140,52 @@ msgstr ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt mode: generate a Qt .qm file\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml XML mode: generate XML file\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict enable strict Uniforum mode\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "If output file is -, output is written to standard output.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Output file location in Java mode:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESOURCE resource name\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1998,7 +2194,7 @@ msgstr ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2007,14 +2203,14 @@ msgstr ""
" --source produce a .java file, instead of a .class "
"file\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2027,12 +2223,12 @@ msgstr ""
"separated with an underscore. The -d option is mandatory. The class is\n"
"written under the specified directory.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Output file location in C# mode:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2041,7 +2237,7 @@ msgstr ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2050,18 +2246,18 @@ msgstr ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Output file location in Tcl mode:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORY base directory of .msg message catalogs\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2070,22 +2266,22 @@ msgstr ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Desktop Entry mode options:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=TEMPLATE a .desktop file used as a template\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRECTORY base directory of .po files\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2094,7 +2290,7 @@ msgstr ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2105,12 +2301,27 @@ msgstr ""
"input\n"
"files are read from the directory instead of the command line arguments.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "XML mode options:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=NAME recognise the specified XML language\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=TEMPLATE an XML file used as a template\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Input file interpretation:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2121,13 +2332,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format check language dependent format strings\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2136,7 +2347,7 @@ msgstr ""
" --check-header verify presence and contents of the header "
"entry\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2145,7 +2356,7 @@ msgstr ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2154,7 +2365,7 @@ msgstr ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2165,19 +2376,19 @@ msgstr ""
"for\n"
" menu items\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy use fuzzy entries in output\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2190,96 +2401,95 @@ msgstr ""
" (big or little, default depends on "
"platform)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash binary file will not include the hash table\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics print statistics about translations\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose increase verbosity level\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "warning: PO file header missing or invalid\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "warning: charset conversion will not work\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "warning: PO file header fuzzy\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "warning: older versions of msgfmt will give an error on this\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domain name “%s†not suitable as file name"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domain name “%s†not suitable as file name: will use prefix"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "‘domain %s’ directive ignored"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "empty ‘msgstr’ entry ignored"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "fuzzy ‘msgstr’ entry ignored"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: warning: source file contains fuzzy translation"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s does not exist"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s exists but cannot read"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "error while reading “%sâ€"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2288,7 +2498,7 @@ msgstr ""
"option ‘%c’ cannot be used before ‘J’ or ‘K’ or ‘T’ or ‘C’ or ‘X’ has been "
"specified"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2297,7 +2507,7 @@ msgstr ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2372,19 +2582,19 @@ msgstr ""
" -v, --invert-match output only the messages that do not match any\n"
" selection criterion\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
" --escape use C escapes in output, no extended chars\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output generate sorted output\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file sort output by file location\n"
@@ -2487,14 +2697,14 @@ msgstr ""
"Found no .pot file in the current directory.\n"
"Please specify the input .pot file through the --input option.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s subprocess failed with exit code %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2511,29 +2721,29 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "English translations for %s package"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "present charset “%s†is not a portable encoding name"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "two different charsets “%s†and “%s†in input file"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
"input file ‘%s’ doesn't contain a header entry with a charset specification"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2542,19 +2752,19 @@ msgstr ""
"domain “%s†in input file ‘%s’ doesn't contain a header entry with a charset "
"specification"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "target charset “%s†is not a portable encoding name."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "warning: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2563,7 +2773,7 @@ msgstr ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2576,7 +2786,7 @@ msgstr ""
"Converting the output to UTF-8.\n"
"To select a different output encoding, use the --to-code option.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2589,7 +2799,7 @@ msgstr ""
"Either change all msgids and msgctxts to be pure ASCII, or ensure they are\n"
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2602,12 +2812,12 @@ msgstr ""
"Output of ‘%s’ might be incorrect.\n"
"Possible workarounds are:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Set LC_ALL to a locale with encoding %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2618,7 +2828,7 @@ msgstr ""
" then apply '%s',\n"
" then convert back to %s using 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2631,7 +2841,7 @@ msgstr ""
" then apply '%s',\n"
" then convert back to %s using 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2642,25 +2852,25 @@ msgstr ""
"Output of ‘%s’ might be incorrect.\n"
"A possible workaround is to set LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "plural expression can produce negative values"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu but plural expression can produce values as large as %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "plural expression can produce division by zero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "plural expression can produce integer overflow"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2668,51 +2878,51 @@ msgstr ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Try using the following, valid for %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "message catalog has plural form translations"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "but header entry lacks a “plural=EXPRESSION†attribute"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "but header entry lacks a “nplurals=INTEGER†attribute"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "invalid nplurals value"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "invalid plural expression"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "but some messages have only one plural form"
msgstr[1] "but some messages have only %lu plural forms"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "but some messages have one plural form"
msgstr[1] "but some messages have %lu plural forms"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2720,72 +2930,88 @@ msgstr ""
"message catalog has plural form translations, but lacks a header entry with "
"“Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;â€"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "‘msgid’ and ‘msgid_plural’ entries do not both begin with ‘\\n’"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "‘msgid’ and ‘msgstr[%u]’ entries do not both begin with ‘\\n’"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "‘msgid’ and ‘msgstr’ entries do not both begin with ‘\\n’"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "‘msgid’ and ‘msgid_plural’ entries do not both end with ‘\\n’"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "‘msgid’ and ‘msgstr[%u]’ entries do not both end with ‘\\n’"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "‘msgid’ and ‘msgstr’ entries do not both end with ‘\\n’"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "plural handling is a GNU gettext extension"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr lacks the keyboard accelerator mark ‘%c’"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr has too many keyboard accelerator marks ‘%c’"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "header field ‘%s’ still has the initial default value\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "header field ‘%s’ missing in header\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII ellipsis ('...') instead of Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "space before ellipsis found in user visible strings"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "ASCII double quote used instead of Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "ASCII single quote used instead of Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: input is not valid in “%s†encoding"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: error while converting from “%s†encoding to “%s†encoding"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "input file doesn't contain a header entry with a charset specification"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2794,7 +3020,7 @@ msgstr ""
"Cannot convert from “%s†to “%sâ€. %s relies on iconv(), and iconv() does not "
"support this conversion."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2803,8 +3029,8 @@ msgstr ""
"Conversion from “%s†to “%s†introduces duplicates: some different msgids "
"become equal."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2813,16 +3039,16 @@ msgstr ""
"Cannot convert from “%s†to “%sâ€. %s relies on iconv(). This version was "
"built without iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s is only valid with %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "backup type"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2845,17 +3071,17 @@ msgstr ""
"comments and file positions will be preserved. Where an exact match\n"
"cannot be found, fuzzy matching is used to produce better results.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po translations referring to old sources\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot references to new sources\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2864,7 +3090,7 @@ msgstr ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2873,27 +3099,27 @@ msgstr ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Output file location in update mode:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "The result is written back to def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL make a backup of def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFFIX override the usual backup suffix\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2912,7 +3138,7 @@ msgstr ""
" existing, nil numbered if numbered backups exist, simple otherwise\n"
" simple, never always make simple backups\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2923,29 +3149,29 @@ msgstr ""
"SIMPLE_BACKUP_SUFFIX\n"
"environment variable.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous keep previous msgids of translated messages\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent suppress progress indicators\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "this message should define plural forms"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "this message should not define plural forms"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2954,28 +3180,28 @@ msgstr ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
"obsolete %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " done.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s and explicit file names are mutually exclusive"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Usage: %s [OPTION] [FILE]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Convert binary message catalog to Uniforum style .po file.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2984,12 +3210,12 @@ msgstr ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# mode: input is a .NET .dll file\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2998,24 +3224,24 @@ msgstr ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FILE ... input .mo files\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Input file location in Java mode:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3026,12 +3252,12 @@ msgstr ""
"name,\n"
"separated with an underscore. The class is located using the CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Input file location in C# mode:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3040,12 +3266,12 @@ msgstr ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Input file location in Tcl mode:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3054,17 +3280,17 @@ msgstr ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent write indented output style\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict write strict uniforum style\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3085,12 +3311,12 @@ msgstr ""
"specified, they will be taken from the first translation. File positions\n"
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated print only duplicates\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3099,7 +3325,7 @@ msgstr ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3155,32 +3381,32 @@ msgstr ""
"Charset missing in header.\n"
"Message conversion to user's charset will not work.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "inconsistent use of #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "missing ‘msgstr[]’ section"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "missing ‘msgid_plural’ section"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "missing ‘msgstr’ section"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "first plural form has nonzero index"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "plural form has wrong index"
@@ -3190,7 +3416,7 @@ msgstr "plural form has wrong index"
msgid "too many errors, aborting"
msgstr "too many errors, aborting"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "invalid multibyte sequence"
@@ -3234,64 +3460,81 @@ msgstr "end-of-line within string"
msgid "context separator <EOT> within string"
msgstr "context separator <EOT> within string"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "this file may not contain domain directives"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "duplicate message definition"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "this is the location of the first definition"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "unterminated group name"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "invalid non-blank character"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "missing ‘=’ after “%sâ€"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "invalid non-blank line"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "file “%s†is truncated"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "file “%s†contains a not NUL terminated string"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "file “%s†is not in GNU .mo format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "file “%s†contains a not NUL terminated string, at %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "warning: invalid \\uxxxx syntax for Unicode character"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "warning: unterminated string"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "warning: syntax error"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "warning: unterminated key/value pair"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "warning: syntax error, expected ‘;’ after string"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "warning: syntax error, expected ‘=’ or ‘;’ after string"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Written by %s and %s.\n"
@@ -3300,16 +3543,16 @@ msgstr "Written by %s and %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Recode Serbian text from Cyrillic to Latin script.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3318,27 +3561,27 @@ msgstr ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "input is not valid in “%s†encoding"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "error while converting from “%s†encoding to “%s†encoding"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "expected two arguments"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Usage: %s [OPTION] URL FILE\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3347,37 +3590,37 @@ msgstr ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "error reading “%sâ€"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "error writing stdout"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "error after reading “%sâ€"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Retrieving %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " timed out.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " failed.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3385,7 +3628,7 @@ msgstr ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3393,7 +3636,7 @@ msgstr ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3401,7 +3644,7 @@ msgstr ""
"message catalog has context dependent translations, but the output format "
"does not support them."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3411,7 +3654,7 @@ msgstr ""
"support them. Try generating a Java class using “msgfmt --javaâ€, instead of "
"a properties file."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3419,12 +3662,12 @@ msgstr ""
"message catalog has plural form translations, but the output format does not "
"support them."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "cannot create output file “%sâ€"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard output"
@@ -3443,38 +3686,39 @@ msgstr "compilation of C# class failed, please try --verbose"
msgid "compilation of C# class failed"
msgstr "compilation of C# class failed"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error while opening “%s†for writing"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "not a valid Java class name: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr "compilation of Java class failed, please try --verbose or set $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "compilation of Java class failed, please try to set $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error while opening “%s†for writing"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "incomplete multibyte sequence"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"internationalized messages should not contain the ‘\\%c’ escape sequence"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3487,7 +3731,7 @@ msgstr ""
"different from yours. Consider using a pure ASCII msgctxt instead.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3500,7 +3744,7 @@ msgstr ""
"different from yours. Consider using a pure ASCII msgid instead.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3508,7 +3752,7 @@ msgstr ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3520,7 +3764,7 @@ msgstr ""
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the context strings\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3530,12 +3774,12 @@ msgstr ""
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "error while writing to %s subprocess"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3543,7 +3787,7 @@ msgstr ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3551,7 +3795,7 @@ msgstr ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3559,7 +3803,7 @@ msgstr ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3567,36 +3811,36 @@ msgstr ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: warning: unterminated string"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: warning: unterminated regular expression"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "warning: invalid Unicode character"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: warning: unterminated character constant"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: warning: unterminated string literal"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Please specify the source encoding through --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3605,7 +3849,7 @@ msgstr ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3614,7 +3858,7 @@ msgstr ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3623,7 +3867,7 @@ msgstr ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3632,12 +3876,12 @@ msgstr ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv failure"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3646,277 +3890,74 @@ msgstr ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: warning: invalid Unicode character"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: warning: unterminated string constant"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: warning: ‘)’ found where ‘}’ was expected"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: warning: ‘}’ found where ‘)’ was expected"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Missing context for the string extracted from ‘%s’ element"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "The root element <%s> is not allowed in a valid Glade file"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Language “glade†is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: warning: lone surrogate U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Please specify the source encoding through --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: warning: RegExp literal terminated too early"
-
-#: src/x-javascript.c:1055
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: warning: %s is not allowed"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: warning: unterminated XML markup"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: can't find string terminator “%s†anywhere before EOF"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: missing right brace on \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: invalid interpolation (“\\lâ€) of 8bit character “%câ€"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: invalid interpolation (“\\uâ€) of 8bit character “%câ€"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: invalid variable interpolation at “%câ€"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: invalid interpolation (“\\Lâ€) of 8bit character “%câ€"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: invalid interpolation (“\\Uâ€) of 8bit character “%câ€"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "‘%s’ is not a valid encoding name. Using ASCII as fallback.\n"
-#: src/x-python.c:397
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "syntax check ‘%s’ unknown"
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Unknown encoding “%sâ€. Proceeding with ASCII instead."
+msgid "sentence end type '%s' unknown"
+msgstr "sentence end type ‘%s’ unknown"
-#: src/x-rst.c:108
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: invalid string definition"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-existing cannot be used when output is written to stdout"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: missing number after #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext cannot work without keywords to look for"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: invalid string expression"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "warning: ITS rule file ‘%s’ does not exist"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: warning: the syntax $“...†is deprecated due to security reasons; "
-"use eval_gettext instead"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: warning: regular expression literal terminated too early"
+"warning: ITS rule file ‘%s’ does not exist; check your gettext installation"
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "‘%s’ is not a valid encoding name. Using ASCII as fallback.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-existing cannot be used when output is written to stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext cannot work without keywords to look for"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "warning: file ‘%s’ extension ‘%s’ is unknown; will try C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extract translatable strings from given input files.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3925,24 +3966,24 @@ msgstr ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FILE write output to specified file\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Choice of input file language:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3963,12 +4004,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ shorthand for --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -3977,7 +4018,7 @@ msgstr ""
"By default the language is guessed depending on the input file name "
"extension.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3986,22 +4027,22 @@ msgstr ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "By default the input files are assumed to be in ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing join messages with existing file\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4016,17 +4057,39 @@ msgstr ""
"lines\n"
" in output file\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Language specific options:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extract all strings\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4041,7 +4104,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4056,7 +4119,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4067,7 +4130,7 @@ msgstr ""
"argument\n"
" number ARG of keyword WORD\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4082,78 +4145,88 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs understand ANSI C trigraphs for input\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (only languages C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt recognize Qt format strings\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (only language C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde recognize KDE 4 format strings\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost recognize Boost format strings\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug more detailed formatstring recognition result\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output write out a Java .properties file\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=FILE apply ITS rules from FILE\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool write out itstool comments\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=STRING set copyright holder in output\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
" --foreign-user omit FSF copyright in output for foreign user\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACKAGE set package name in output\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION set package version in output\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4164,7 +4237,7 @@ msgstr ""
"msgstr\n"
" values\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4175,7 +4248,7 @@ msgstr ""
"msgstr\n"
" values\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4184,31 +4257,31 @@ msgstr ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard input"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Non-ASCII character at %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Non-ASCII comment at or before %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Non-ASCII string at %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: warning: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4217,7 +4290,7 @@ msgstr ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4226,7 +4299,7 @@ msgstr ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4239,7 +4312,7 @@ msgstr ""
"Please consider using a format string with named arguments,\n"
"and a mapping instead of a tuple for the arguments.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4249,27 +4322,27 @@ msgstr ""
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "ambiguous argument specification for keyword ‘%.*s’"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "warning: missing context for keyword ‘%.*s’"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "warning: missing context for plural argument of keyword ‘%.*s’"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "context mismatch between singular and plural form"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4281,11 +4354,334 @@ msgstr ""
"the MSGID_BUGS_ADDRESS variable there; otherwise please\n"
"specify an --msgid-bugs-address command line option.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "language ‘%s’ unknown"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: warning: lone surrogate U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Please specify the source encoding through --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: warning: RegExp literal terminated too early"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: warning: %s is not allowed"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: warning: unterminated XML markup"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: can't find string terminator “%s†anywhere before EOF"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: missing right brace on \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: invalid interpolation (“\\lâ€) of 8bit character “%câ€"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: invalid interpolation (“\\uâ€) of 8bit character “%câ€"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: invalid variable interpolation at “%câ€"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: invalid interpolation (“\\Lâ€) of 8bit character “%câ€"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: invalid interpolation (“\\Uâ€) of 8bit character “%câ€"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Unknown encoding “%sâ€. Proceeding with ASCII instead."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: invalid string definition"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: missing number after #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: invalid string expression"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: warning: the syntax $“...†is deprecated due to security reasons; "
+"use eval_gettext instead"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: warning: regular expression literal terminated too early"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<unnamed>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "invalid UTF-8 sequence"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "‘%s’ is not a valid name: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "‘%s’ is not a valid name: ‘%c’"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "invalid character reference: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "not a valid number specification"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "no ending ‘;’"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "non-permitted character"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "empty"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "unknown"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "invalid entity reference: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "document must begin with an element"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "invalid character after ‘%s’"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "missing ‘%c’"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "missing ‘%c’ or ‘%c’"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "a close element name"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "element is closed"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "empty document"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "after ‘<’"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "elements still open"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "missing ‘>’"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "inside an element name"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "inside an attribute name"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "inside an open tag"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "after ‘=’"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "inside an attribute value"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "inside the close tag"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "inside a comment or processing instruction"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "document ended unexpectedly: %s"
diff --git a/gettext-tools/po/es.gmo b/gettext-tools/po/es.gmo
index 7413d49..029dbbd 100644
--- a/gettext-tools/po/es.gmo
+++ b/gettext-tools/po/es.gmo
Binary files differ
diff --git a/gettext-tools/po/es.po b/gettext-tools/po/es.po
index 30c8c79..4a6c846 100644
--- a/gettext-tools/po/es.po
+++ b/gettext-tools/po/es.po
@@ -1,15 +1,15 @@
# Mensajes en español para GNU gettext.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2013, 2014 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004.
-# Antonio Ceballos <aceballos@gmail.com>, 2013, 2014
+# Antonio Ceballos <aceballos@gmail.com>, 2013, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.19.3\n"
+"Project-Id-Version: GNU gettext-tools 0.19.6.43\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-17 23:32+0200\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-13 10:15+0100\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -56,40 +56,40 @@ msgstr "no se puede borrar el directory temporal %s"
msgid "write error"
msgstr "error de escritura"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "preservando los permisos para %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "error al abrir el fichero %s para lectura"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "no se puede abrir el fichero de respaldo %s para escritura"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "error al leer %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "error al escribir %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "error después de leer %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fallo en fdopen()"
@@ -117,58 +117,63 @@ msgstr "Error del sistema desconocido"
msgid "%s subprocess failed"
msgstr "fallo en el subproceso %s"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: la opción '%s' es ambigua; posibilidades:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: la opción '%s' es ambigua\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: la opción '--%s' no admite ningún argumento\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: la opción '%c%s' no admite ningún argumento\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: la opción '%s' requiere un argumento\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opción no reconocida '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opción no reconocida '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opción inválida -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: la opción requiere un argumento -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: la opción '-W %s' es ambigua\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: la opción '-W %s' no admite ningún argumento\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: la opción '%s' requiere un argumento\n"
@@ -184,15 +189,16 @@ msgstr "argumento source_version no válido para compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "argumento target_version no válido para compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "fallo al crear \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "hubo un error al escribir el fichero \"%s\""
@@ -210,15 +216,15 @@ msgstr ""
"No se encontró a la máquina virtual de Java, intente instalar gij o poner "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "error de E/S en el subproceso %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "Memoria agotada"
@@ -229,7 +235,7 @@ msgid "creation of threads failed"
msgstr "fallo al crear hilos de ejecución"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "fallo en la escritura la subproceso %s"
@@ -275,11 +281,11 @@ msgstr "el subproceso %s terminó con un código de salida %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "«"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "»"
@@ -315,23 +321,165 @@ msgstr "subproceso %s"
msgid "%s subprocess got fatal signal %d"
msgstr "el subproceso %s ha recibido una señal fatal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
+#, fuzzy, c-format
+msgid "The root element must be <%s>"
+msgstr "el elemento raíz no es \"locatingRules\""
+
+#: src/cldr-plurals.c:83
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error al abrir el fichero \"%s\" para lectura"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "El elemento <%s> no contiene un elemento <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "El elemento <%s> no tiene un atributo <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Pruebe '%s --help' para más información.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Modo de empleo: %s [OPCIÓN...] [REGIÓN REGLAS]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"'%s' no es un formato de cadena válido %s, a diferencia de '%s'. Motivo: %s"
+"Extrae o convierte reglas de plurales CLDR Unicode.\n"
+"\n"
+"Si se especifica tanto REGIÓN como REGLAS, lee las reglas de plurales CLDR\n"
+"para la REGIÓN en REGLAS y las imprime en un formato adecuado para gettext.\n"
+"Si no se pone ningún argumento, lee las reglas de plurales CLDR de la entradaestándar.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Los argumentos obligatorios en las opciones largas también lo son para las \n"
+"opciones cortas. De forma similar se comportan los argumentos opcionales.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr imprime las reglas de plurales en formato "
+"CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help muestra esta ayuda y finaliza\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version muestra la versión y finaliza\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Comunicar los `bugs' a <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Licencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
+"Esto es software libre: es usted libre de cambiarlo y redistribuirlo.\n"
+"SIN NINGUNA GARANTÃA, dentro de los límites legales.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Escrito por %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s no se puede leer"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "no se pueden extraer las reglas para %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "no se puede analizar la regla CLDR"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "operando extra %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error al abrir el fichero \"%s\" para lectura"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -339,32 +487,39 @@ msgstr ""
"una especificación de formato para el argumento %u, como en '%s', no existe "
"en '%s'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "una especificación de formato para el argumento %u no existe en '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"las especificaciones de formato en '%s' y '%s' para el argumento %u no son "
"las mismas"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "La instrucción número %u comienza con | pero no ternina con |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%s' no es un formato de cadena válido %s, a diferencia de '%s'. Motivo: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -374,46 +529,46 @@ msgstr ""
"macro especificador de formato. Los nombres de macro válidos están listados "
"en el ISO C 99 sección 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"En la instrucción número %u, el token posterior a '<' no está seguido por "
"'>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"La cadena se refiere al argumento número %u, pero ignora el argumento número "
"%u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "el número de especificaciones de formato en `%s' y '%s' no coincide"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"En la instrucción número %u, '{' no está seguido de un número de argumento."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "En la instrucción número %u, ',' no está seguida de un número."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"La cadena termina en medio de una instrucción: se encontró un '{' sin su '}' "
"correspondiente. "
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -421,13 +576,13 @@ msgstr ""
"La instrucción número %u termina con un carácter inválido '%c' en vez de un "
"'}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"La instrucción número %u termina con un carácter inválido en vez de un '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -435,7 +590,7 @@ msgstr ""
"La cadena comienza en medio de una instrucción: se encontró un '}' sin su "
"'{' correspondiente."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "La cadena contiene un '}' solitario posterior a la instrucción %u."
@@ -563,7 +718,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"La cadena se refiere al número de argumento %u de formas incompatibles."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -572,12 +727,12 @@ msgstr ""
"En la instrucción número %u, la subcadena \"%s\" no está en un estilo de "
"fecha/hora válido."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "En la instrucción número %u, \"%s\" no está seguido de una coma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -585,7 +740,7 @@ msgstr ""
"En la instrucción número %u, la subcadena \"%s\" no es un estilo de número "
"válido."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -594,12 +749,12 @@ msgstr ""
"En la instrucción número %u, el número de argumento no está seguido por una "
"coma y uno de los siguientes \"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "En la instrucción número %u, una opción contiene un valor no numérico."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -608,7 +763,7 @@ msgstr ""
"En la instrucción número %u, una opción contiene un número que no está "
"seguido por '<', '#' o '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -616,12 +771,12 @@ msgstr ""
"una especificación de formato para el argumento {%u}, como en '%s', no "
"existe en '%s'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "una especificación de formato para el argumento {%u} no existe en '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -629,7 +784,30 @@ msgstr ""
"las especificaciones de formato en '%s' y '%s' para el argumento {%u} no son "
"las mismas"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"La cadena se refiere al argumento número %u, pero no tiene en cuenta los "
+"argumento %u y %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"una especificación de formato para los argumentos %u y %u no existe en '%s'; "
+"solo puede desestimarse un argumento"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "error al procesar: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -639,7 +817,7 @@ msgstr ""
"En la instrucción número %u, el parámetro %u es de tipo '%s', pero se "
"requiere de un parámetro de tipo '%s'."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -654,33 +832,33 @@ msgstr[1] ""
"En la instrucción número %u se dieron demasiados parámetros; se esperan a lo "
"más %u parámetros."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "En la instrucción número %u, '%c' no está seguida de un dígito."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "En la instrucción número %u, el argumento %d es negativo."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "La cadena termina en medio de una instrucción ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Se encontró '~%c' sin su '~%c' correspondiente."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "En la instrucción número %u, deben darse los modificadores @ y :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -689,28 +867,34 @@ msgstr ""
"En la instrucción número %u, '~:[' no está seguido de dos cláusulas "
"separadas por '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "En la instrucción número %u, '~;' se utilizó en una posición inválida."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "La cadena se refiere a algún argumento de forma incompatible."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "las especificaciones de formato en `%s' y '%s' no son equivalentes"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"las especificaciones de formato en '%s' no son un subconjunto de las que hay "
"en '%s'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "una especificación de formato para el argumento '%s' no existe en '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -719,14 +903,37 @@ msgstr ""
"En la instrucción número %u, el tamaño del especificador es incompatible "
"con el especificador de conversión '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "una especificación de formato para el argumento '%s' no existe en '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "En la instrucción número %u, '%c' no puede iniciar un nombre de campo."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"En la instrucción número %u, '%c' no puede iniciar un argumento de getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"En la instrucción número %u, '%c' no puede iniciar un argumento de getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"En la instrucción número %u, no se permite más anidamiento en un "
+"especificador de formato."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "En la instrucción número %u, hay una instrucción de formato inacabada."
-#: src/format-python.c:115
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -734,13 +941,13 @@ msgstr ""
"La cadena se refiere a ambos argumentos a través de números de argumento "
"absolutos y a través de especificaciones de argumentos no numerados."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"La cadena se refiere al argumento denominado '%s' en formas incompatibles."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -748,7 +955,7 @@ msgstr ""
"las especificaciones de formato en '%s' requieren una asociación, y aquellas "
"en '%s' requieren una tupla"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -756,7 +963,7 @@ msgstr ""
"las especificaciones de formato en '%s' requieren una tupla y aquellas en "
"'%s' requieren una asociación"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -764,7 +971,7 @@ msgstr ""
"una especificación de formato para el argumento '%s', como en '%s', no "
"existe en '%s'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -772,37 +979,7 @@ msgstr ""
"las especificaciones de formato en '%s' y '%s' para el argumento '%s' no son "
"las mismas"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "En la instrucción número %u, '%c' no puede iniciar un nombre de campo."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"En la instrucción número %u, '%c' no puede iniciar un argumento de getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-"En la instrucción número %u, '%c' no puede iniciar un argumento de getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"En la instrucción número %u, no se permite más anidamiento en un "
-"especificador de formato."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "En la instrucción número %u, hay una instrucción de formato inacabada."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -811,12 +988,12 @@ msgstr ""
"'%s' es una cadena de formato simple, pero '%s' no lo es: contiene una "
"bandera 'L' o un número de argumentos de dos dígitos"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"La cadena se refiere a una variable de entorno con un nombre que no es ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -824,7 +1001,7 @@ msgstr ""
"La cadena se refiere a una variable de entorno con una sintaxis compleja. "
"Esta sintaxis no se admite aquí debido a potenciales problemas de seguridad."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -832,11 +1009,11 @@ msgstr ""
"La cadena se refiere a una variable de entorno cuyo valor podría ser "
"distinto dentro de las funciones del intérprete de comandos."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "La cadena se refiere a una variable de entorno con un nombre vacío."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -844,7 +1021,7 @@ msgid ""
msgstr ""
"En la instrucción número %u, el carácter '%c' no es un dígito entre 1 y 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -852,75 +1029,40 @@ msgid ""
msgstr ""
"El carácter que termina la instrucción número %u no es un dígito entre 1 y 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Licencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
-"Esto es software libre: es usted libre de cambiarlo y redistribuirlo.\n"
-"SIN NINGUNA GARANTÃA, dentro de los límites legales.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Escrito por %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Pruebe '%s --help' para más información.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Modo de empleo: %s [OPCIÓN]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Muestra el nombre de la máquina.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Formato de salida:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short nombre de corto de la máquina\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -931,78 +1073,104 @@ msgstr ""
"nombre\n"
" completo del dominio y los alias,\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
" -i, --ip-address direcciones para el nombre de la máquina\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Salida informativa:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help muestra esta ayuda y finaliza\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "no se pudo obtener el nombre de la máquina"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version muestra la versión y finaliza\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "no se ha especificado selector"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Comunicar los `bugs' a <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "no se puede crear el contexto XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "no se pudo obtener el nombre de la máquina"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "no se puede evaluar la expresión XPath: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "el nodo \"%s\" no contiene \"%s\""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "el valor del atributo \"%s\" no es válido para \"%s\""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "el elemento raíz no es \"rules\" en el espacio de nombres %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "no se puede leer %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "no se puede evaluar la ruta en la que está ubicado el XPath: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "el nodo \"%s\" no tiene \"%s\""
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "no se puede leer el fichero XML %s"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "el elemento raíz no es \"locatingRules\""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "solo se permite un fichero de entrada máximo"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s y %s son mutuamente excluyentes"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Modo de empleo: %s [OPCIÓN] [FICHEROENTRADA]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1011,10 +1179,10 @@ msgstr ""
"Filtra los mensajes de un catálogo de traducción de acuerdo con sus\n"
"atributos, y luego manipula los atributos.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1023,23 +1191,23 @@ msgstr ""
"obligatorios para las opciones cortas.\n"
# acepto sugerencia de em pero agrego un "el". mm
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Localización del fichero de entrada:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " FICHEROENTRADA fichero PO de entrada\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1048,33 +1216,34 @@ msgstr ""
"ficheros\n"
" de entrada\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Si no se especifica un fichero de entrada o si es -, se lee la entrada "
"estándar.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Localización del fichero de salida:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=FICHERO escribe la salida al FICHERO especificado\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1083,12 +1252,12 @@ msgstr ""
"Los resultados se escriben a la salida estándar si no se especifica ningún\n"
"fichero de salida o si es -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Selección de mensaje:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1096,7 +1265,7 @@ msgstr ""
" --translated mantiene lo traducido, elimina los mensajes "
"sin traducir\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1104,61 +1273,61 @@ msgstr ""
" --untranslated mantiene lo no traducido, elimina los mensajes "
"traducidos\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy elimina los mensajes difusos marcados como "
"'fuzzy'\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy mantiene los mensajes difusos marcados con "
"'fuzzy'\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete elimina los mensajes obsoletos #~\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete mantiene los mensajes obsoletos #~\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulación de atributos:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
" --set-fuzzy marca todos los mensajes como difusos 'fuzzy'\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy marca todos los mensajes como no difusos "
"(no-'fuzzy')\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete marca todos los mensajes como obsoletos\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete marca todos los mensajes como no-obsoletos\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1168,7 +1337,7 @@ msgstr ""
"msgids\n"
" anteriores de los mensajes traducidos.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1177,7 +1346,7 @@ msgstr ""
" --clear-previous elimina el \"msgid anterior\" de todos los "
"mensajes\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1185,7 +1354,7 @@ msgstr ""
" --empty cuando elimina los mensajes difusos 'fuzzy', "
"también deja msgstr vacío\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1193,7 +1362,7 @@ msgstr ""
" --only-file=FICHERO.po manipula solo las entradas que se encuentran "
"en FICHERO.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1201,28 +1370,28 @@ msgstr ""
" --ignore-file=FICHERO.po manipula solo las entradas no listadas en "
"FICHERO.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy sinónimo de --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete sinónimo de --only-obsolete --clean-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sintaxis del fichero de entrada:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1230,8 +1399,8 @@ msgstr ""
" -P, --properties-input el fichero de entrada sigue la misma sintaxis "
"que .properties de Java\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1240,17 +1409,17 @@ msgstr ""
" --stringtable-input el fichero de entrada sigue la sintaxis de ."
"strings de NeXTstep/GNUstep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Detalles de salida:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1263,18 +1432,18 @@ msgstr ""
" --color=CUANDO utiliza colores y otros atributos de texto si "
"se cumple CUANDO.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=FICHEROESTILO especifica fichero de reglas de estilo CSS "
"para --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1282,9 +1451,9 @@ msgstr ""
" -e, --no-escape no utiliza escapes de C en la salida (por "
"omisión)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1292,31 +1461,31 @@ msgstr ""
" -E, --escape utiliza escapes de C en la salida, sin "
"caracteres extendidos\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po escribe un fichero PO aún si está vacío\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent escribe el fichero .po utilizando estilo con "
"sangrados\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location no escribe las líneas '#: fichero:línea'\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1324,24 +1493,24 @@ msgstr ""
" -n, --add-location genera líneas '#: fichero:línea' (por "
"omisión)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict escribe un fichero .po con Uniforum estricto\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output escribe un fichero .properties de Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1349,16 +1518,16 @@ msgstr ""
" --stringtable-output escribe un fichero .strings de NeXTstep/"
"GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NÚMERO pone la anchura de la página de salida\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1369,32 +1538,32 @@ msgstr ""
" sean mayores a la anchura de la página de "
"salida\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output genera una salida ordenada\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file ordena la salida por ubicación de fichero\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "se especificó un criterio de selección imposible (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Modo de empleo: %s [OPCIÓN] [FICHEROENTRADA]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1418,25 +1587,25 @@ msgstr ""
"se especifica --use-first, en cuyo caso serán tomados del primer\n"
"fichero PO para definirlos.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " FICHEROENTRADA ... ficheros de entrada\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=FICHERO obtiene una lista de ficheros de entrada del "
"FICHERO\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Si el fichero de entrada es -, se lee la entrada estándar.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1447,7 +1616,7 @@ msgstr ""
" definiciones; si no se especifica, es "
"infinito\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1457,7 +1626,7 @@ msgstr ""
"de\n"
" definiciones; si no se pone, utiliza 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1466,8 +1635,8 @@ msgstr ""
" -u, --unique abreviatura de --less-than=2, solicita\n"
" que solo se impriman los mensajes únicos\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1475,8 +1644,8 @@ msgstr ""
" -P, --properties-input los ficheros de entrada siguen la misma "
"sintaxis que .properties de Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1485,12 +1654,12 @@ msgstr ""
" --stringtable-input los ficheros de entrada están en la sintaxis\n"
" .strings de NeXTstep/GNUstep.\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NOMBRE codificación de la salida\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1499,7 +1668,7 @@ msgstr ""
" --use-first utiliza la primera traducción disponible para\n"
" cada mensaje, no mezcla varias traducciones\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1507,21 +1676,21 @@ msgstr ""
" --lang=NOMBRECATALOGO pone el campo 'Language' en la cabecera\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "no se especificaron ficheros de entrada"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "se requieren exactamente 2 ficheros de entrada"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Modo de empleo: %s [OPCIÓN] def.po ref.pot\n"
@@ -1586,7 +1755,7 @@ msgstr "Modo de empleo: %s [OPCIÓN] def.po ref.pot\n"
# y en otros de otra (la frase no era exactamente igual).
# 11061996mm: En particular en gettext el letrero es estándar, por lo que
# prefiero "también son" que, creo suena mejor. Homogeinizo todo.
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1605,22 +1774,22 @@ msgstr ""
"se encuentre un resultado exacto, se utilizará coincidencia difusa, de\n"
"tal forma que la precisión del diagnóstico sea mejor.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po traducciones\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot referencias a las fuentes\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificadores de operación:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1629,50 +1798,50 @@ msgstr ""
" -m, --multi-domain aplica ref.pot a cada uno de los dominios en\n"
" def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching no utiliza la coincidencia difusa\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
" --use-fuzzy utiliza entradas difusas para la salida\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
" --use-untranslated utiliza las entradas no traducidas\n"
"traducidos\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "este mensaje no está traducido"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "este mensaje debe ser revisado por el traductor"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "este mensaje se usa pero no está definido..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...pero esta definición es parecida"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "este mensaje se usa pero no está definido en %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "atención: este mensaje no se utiliza"
@@ -1698,19 +1867,19 @@ msgstr "atención: este mensaje no se utiliza"
#
# 07061996mm: Mujer fatal es menos que mortal, menos que peligroso e incita a la
# aventura. Quizá no sea tan malo como dice Enrique, a menos que...
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "se encontró %d error fatal"
msgstr[1] "se encontraron %d errores fatales"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "se deben especificar por lo menos dos ficheros"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1733,7 +1902,7 @@ msgstr ""
"defina. Las posiciones dentro del fichero de todos los ficheros PO se\n"
"acumularán.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1744,7 +1913,7 @@ msgstr ""
" sea mayor que NÚMERO; si no se pone,\n"
" el valor por omisión es 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1752,38 +1921,38 @@ msgstr ""
" --omit-header no escribe la línea de encabezado con la "
"entrada 'msgid \"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Convierte un catálogo de traducción a una codificación de caracteres "
"distinta.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Objetivo de conversión:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
"La codificación por omisión es la que está en uso por la funcion locale.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent estilo de salida con sangrías\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location no escribe las líneas '#: fichero:línea'\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1791,29 +1960,29 @@ msgstr ""
" -n, --add-location genera líneas '#: fichero:línea' (por "
"omisión)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict escribe en estilo Uniforum estricto\n"
# acepto sugerencia de em pero agrego un "el". mm
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "no se especificó el fichero de entrada"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "se requiere exactamente un fichero de entrada"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Modo de empleo: %s [OPCIÓN] FICHEROENTRADA\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1826,22 +1995,22 @@ msgstr ""
"(generalmente creado por xgettext). Las entradas no traducidas son\n"
"asignadas a una traducción que es idéntica a la del msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " FICHEROENTRADA fichero de entrada PO o POT\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "Se omitió el nombre de la instrucción"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Modo de empleo: %s [OPCIÓN] INSTRUCCIÓN [OPCIONES-DE-LA-INSTRUCCIÓN]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1857,7 +2026,7 @@ msgstr ""
"msgexec es el máximo de los códigos de retornos obtenidos a lo largo de \n"
"todas las invocaciones.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1866,38 +2035,49 @@ msgstr ""
"Una instrucción especial llamada '0' genera la traducción, seguido de un byte nulo.\n"
"La salida de \"msgexec 0\" se puede utilizar como entrada para \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Entrada de órdenes:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline añade una nueva línea al final de la entrada\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=FICHEROENTRADA fichero PO de entrada\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "fallo en la escritura a la salida estándar"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "falta el nombre del filtro"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "se debe especificar al menos un guión de sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Modo de empleo: %s [OPCIÓN] FILTRO [OPCIONES-DEL-FILTRO]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
"Aplica un filtro a todas las traducciones de un catálogo de traducción.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1906,12 +2086,28 @@ msgstr ""
"El FILTRO puede ser cualquier programa que lea una traducción de la entrada\n"
"estándar y escriba una traducción modificada a la salida estándar.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Entrada y salida del filtro:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline añade una nueva línea al final de la entrada "
+"y\n"
+" elimina una nueva línea del final de la "
+"salida"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Algunas OPCIONES-DEL-FILTRO cuando el FILTRO es 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
@@ -1919,7 +2115,7 @@ msgstr ""
" -e, --expression=GUIÓN añade un GUIÓN a las instrucciones que serán\n"
" ejecutadas\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1929,7 +2125,7 @@ msgstr ""
" -f, --file=FICHEROGUIÓN añade el contenido del FICHEROGUIÓN a las\n"
" instrucciones que serán ejecutadas\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1937,7 +2133,7 @@ msgstr ""
" -n, --quiet, --silent elimina la impresión automática del espacio\n"
" de patrones\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1945,13 +2141,13 @@ msgstr ""
" --no-escape no utiliza las secuencias de escape tipo C\n"
" en la salida (por omisión)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
" --indent escribe el fichero .po utilizando sangrías\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1960,123 +2156,124 @@ msgstr ""
"modificación,\n"
" es decir, no la filtra\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "la salida del filtro no termina con una nueva línea"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "el argumento a %s debe ser un solo carácter de puntuación"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "«Endianness» no válida: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "no debería especificarse fichero de entrada si se especifican %s y %s"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s requiere que se especifique un \"-d directorio\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s requiere que se especifique un \"-l locale\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s requiere que se especifique un \"--template plantilla\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s requiere que se especifique un \"-o fichero\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s y %s son mutuamente excluyentes en %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s solo es válido con %s o %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s solo es válido con %s, %s o %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "no se pueden ubicar las reglas ITS para %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d mensaje traducido"
msgstr[1] "%d mensajes traducidos"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d traducción difusa"
msgstr[1] ", %d traducciones difusas"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d mensaje sin traducir"
msgstr[1] ", %d mensajes sin traducir"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Modo de empleo: %s [OPCIÓN] fichero.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Genera un catálogo binario de mensajes a partir de la descripción de la "
"traducción textual.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Los argumentos obligatorios en las opciones largas también lo son para las \n"
-"opciones cortas. De forma similar se comportan los argumentos opcionales.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " fichero.po ... ficheros de entrada\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Modo de operación:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -2085,7 +2282,7 @@ msgstr ""
" -j, --java Modo Java: la entrada es una clase de Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -2094,13 +2291,13 @@ msgstr ""
" --java2 como --java, y supone el uso de Java2\n"
" (JDK 1.2 o superior)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp Modo C#: genera un fichero .dll de .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -2109,19 +2306,19 @@ msgstr ""
" --csharp-resources modo de recursos C#: genera un fichero ."
"resources de .NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Modo tcl: genera un fichero .msg tcl/msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Modo Qt: genera un fichero .qm de Qt\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -2129,28 +2326,33 @@ msgstr ""
" --desktop Modo entrada de escritorio: genera un fichero ."
"desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml Modo XML: genera un fichero XML\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict escribe en estilo Uniforum estricto\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Si el fichero de salida es -, se escribe en la salida estándar.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Localización del fichero de salida en modo Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RECURSO nombre del recurso\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2158,7 +2360,7 @@ msgid ""
msgstr ""
" -l, --locale=LOCAL nombre local, ya sea idioma o idioma_PAIS\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2167,14 +2369,14 @@ msgstr ""
" --source produce un fichero .java en lugar de un "
"fichero .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d DIRECTORIO directorio base de la jerarquía de clases\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2186,12 +2388,12 @@ msgstr ""
"recurso, separados por un guión bajo. La opción -d es obligatoria. La clase\n"
"se escribe bajo el directorio especificado.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Localización del fichero de salida en modo C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2200,7 +2402,7 @@ msgstr ""
" -d DIRECTORIO directorio base de los ficheros .dll de "
"dependencias locales\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2210,19 +2412,19 @@ msgstr ""
"un subdirectorio del directorio especificado cuyo nombre dependerá de la "
"localización.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Localización del fichero de salida en modo Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORIO directorio base de los catálogos de\n"
" mensajes .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2231,23 +2433,23 @@ msgstr ""
"Las opciones -l y -d son obligatorias. El fichero .msg será escrito en\n"
"el directorio especificado.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Opciones del modo de entrada de escritorio:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=PLANTILLA un fichero .desktop utilizado como plantilla\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRECTORIO directorio base de los ficheros .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2257,7 +2459,7 @@ msgstr ""
"adicional\n"
" -k, --keyword no usa las palabras clave por omisión\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2269,12 +2471,27 @@ msgstr ""
"entrada se leen del directorio en lugar de los argumentos de la línea de "
"órdenes.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Opciones del modo XML:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L --language=NOMBRE reconoce el lenguaje XML especificado\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=PLANTILLA fichero XML utilizado como plantilla\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretación del fichero de entrada:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2285,7 +2502,7 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
@@ -2293,7 +2510,7 @@ msgstr ""
"del\n"
" idioma\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2302,7 +2519,7 @@ msgstr ""
" --check-header verifica la presencia y contenido de la\n"
" línea de encabezado\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2312,7 +2529,7 @@ msgstr ""
"instrucciones\n"
" del dominio y la opción --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2322,7 +2539,7 @@ msgstr ""
"el\n"
" msgfmt de X/Open\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2332,13 +2549,13 @@ msgstr ""
" --check-accelerators[=CAR] revisa la presencia de aceleradores de\n"
" teclado para los elementos del menú\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy utiliza entradas difusas para la salida\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2346,7 +2563,7 @@ msgstr ""
" -a, --alignment=NÚMERO alinea las cadenas al NÚMERO de bytes\n"
" (por omisión es: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2359,7 +2576,7 @@ msgstr ""
" (que el «endianness» predefinido sea «big» o "
"«little» depende de la plataforma)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2367,52 +2584,52 @@ msgstr ""
" --no-hash el fichero binario no incluirá la tabla de "
"hash\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
" --statistics muestra las estadísticas sobre las "
"traducciones\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose aumenta la cantidad de mensajes\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "atención: el encabezado del fichero PO no existe o es inválido\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "atención: la conversión del conjunto de caracteres no funcionará\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "atención: el encabezado del fichero PO está difuso\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"atención: las versiones anteriores de msgfmt producirán un error en esto\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "el nombre de dominio \"%s\" no es válido como nombre de fichero"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"el nombre del dominio \"%s\" no es válido como nombre de fichero:\n"
"se utilizará un prefijo"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "la instrucción 'domain %s' no tiene efecto"
@@ -2421,46 +2638,45 @@ msgstr "la instrucción 'domain %s' no tiene efecto"
# Ignorar es no saber (not to know). "to ignore" es "no hacer caso".
# Sugerencia: Descartar. sv
# Excelente palabreja. Me gusta mucho. mm
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "se descarta la línea vacía 'msgstr'"
# Lo mismo. sv
# Ok. mm
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "se descarta la línea difusa 'msgstr'"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: atención: el fichero fuente contiene una traducción difusa"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s no existe"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s existe pero no se puede leer"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "error al leer \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2469,7 +2685,7 @@ msgstr ""
"la opción '%c' no se puede usar antes de que 'J', 'K', 'T', 'C' o 'X' hayan "
"sido especificadas"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2478,7 +2694,7 @@ msgstr ""
"Extrae todos los mensajes de un catálogo de traducción que coincidan con un\n"
"patrón dado o pertenezcan a algunos de los ficheros fuente dados.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2563,7 +2779,7 @@ msgstr ""
" -v, --invert-match muestra solo quellos mensajes que no coinciden con\n"
" ningún criterio de selección\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2572,12 +2788,12 @@ msgstr ""
"caracteres\n"
" extendidos\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output genera una salida ordenada\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2686,14 +2902,14 @@ msgstr ""
"Favor de especificar el fichero .pot de entrada utilizando la opción --"
"input\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "fallo en el subproceso %s con código de salida %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2709,26 +2925,26 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Traducciones al español para el paquete %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
"el conjunto de caracteres actual \"%s\" no es un nombre de codificación "
"portátil"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
"hay dos distintos conjuntos de caracteres \"%s\" y \"%s\" en el fichero de "
"entrada"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2736,7 +2952,7 @@ msgstr ""
"el fichero de entrada '%s' no contiene una línea de encabezado con la "
"especificación del conjunto de caracteres"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2745,21 +2961,21 @@ msgstr ""
"el dominio \"%s\" en el fichero de entrada '%s' no contiene una línea de "
"encabezado con la especificación del conjunto de caracteres"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"el conjunto de caracteres destino \"%s\" no es un nombre de codificación "
"portátil."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "atención: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2768,7 +2984,7 @@ msgstr ""
"Los ficheros de entrada contienen mensajes en distintas codificaciones,\n"
"UTF-8 entre otras. Por ello se convierte la salida a UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2780,7 +2996,7 @@ msgstr ""
"%s y %s entre otras.\n"
"Por ello se convierte la salida a UTF-8.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2794,7 +3010,7 @@ msgstr ""
"estén codificados en UTF-8 desde el principio, es decir, en sus ficheros de "
"código fuente.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2807,12 +3023,12 @@ msgstr ""
"La salida de '%s' podría ser incorrecta.\n"
"Las posibles alternativas son:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Poner LC_ALL como local con la codificación %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2823,7 +3039,7 @@ msgstr ""
" y luego aplicar '%s',\n"
" y luego reconvertirlo a %s utilizando 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2836,7 +3052,7 @@ msgstr ""
" y luego aplicar '%s',\n"
" y luego reconvertirlo a %s utilizando 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2848,26 +3064,26 @@ msgstr ""
"La salida de '%s' podría ser incorrecta.\n"
"Una alternativa posible s poner LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "la expresión plural puede producir resultados negativos"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu pero las expresiones plurales pueden producir valores tan "
"grades como %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "la expresión plural puede producir una división por cero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "la expresión plural puede producir desbordamiento de número entero"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2875,51 +3091,51 @@ msgstr ""
"la expresión plural puede producir excepciones aritméticas, posiblemente una "
"división por cero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Pruebe utilizando lo siguiente, válido para %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "el catálogo de mensajes tiene formas plurales en las traducciones"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "pero el encabezado no tiene el atributo \"plural=EXPRESIÓN\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "pero el encabezado no tiene el atributo \"nplurals=ENTERO\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "valor inválido de nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "expresión plural inválida"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "pero algunos mensajes solo tienen una forma plural"
msgstr[1] "pero algunos mensajes solo tienen %lu formas plurales"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "pero algunos mensajes tienen una forma plural"
msgstr[1] "pero algunos mensajes tienen %lu formas plurales"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2943,7 +3159,7 @@ msgstr ""
# Sigue pareciendo que deben tenerlo las dos (y no es esa la idea).
# Si no se te ocurre nada mejor, sugerencia:
# "Una de las líneas msgid y msgstr comienza con `\\n' y la otra no" sv+
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "las líneas 'msgid' y 'msgid_plural' no comienzan ambas con '\\n'"
@@ -2963,7 +3179,7 @@ msgstr "las líneas 'msgid' y 'msgid_plural' no comienzan ambas con '\\n'"
# Sigue pareciendo que deben tenerlo las dos (y no es esa la idea).
# Si no se te ocurre nada mejor, sugerencia:
# "Una de las líneas msgid y msgstr comienza con `\\n' y la otra no" sv+
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "las líneas 'msgid' y 'msgstr[%u]' no comienzan ambas con '\\n'"
@@ -2984,72 +3200,90 @@ msgstr "las líneas 'msgid' y 'msgstr[%u]' no comienzan ambas con '\\n'"
# Sigue pareciendo que deben tenerlo las dos (y no es esa la idea).
# Si no se te ocurre nada mejor, sugerencia:
# "Una de las líneas msgid y msgstr comienza con `\\n' y la otra no" sv+
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "las líneas 'msgid' y 'msgstr' no comienzan ambas con '\\n'"
# Lo mismo, no es que a una de las dos le falte, sino que una lo tiene
# y la otra no, así de sencillo. sv+
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "las líneas 'msgid' y 'msgid_plural' no terminan ambas con '\\n'"
# Lo mismo, no es que a una de las dos le falte, sino que una lo tiene
# y la otra no, así de sencillo. sv+
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "las líneas 'msgid' y 'msgstr[%u]' no terminan ambas con '\\n'"
# Lo mismo, no es que a una de las dos le falte, sino que una lo tiene
# y la otra no, así de sencillo. sv+
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "las líneas 'msgid' y 'msgstr' no terminan ambas con '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "el manejo del plural es una extensión del gettext de GNU"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr no tiene la marca del acelerador de teclado '%c'"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr tiene demasiadas marcas de aceleración de teclado '%c'"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "el campo de cabecera '%s' aún tiene el valor inicial por omisión\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "el campo '%s' no está presente en la cabecera\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "puntos suspensivos ASCII ('...') en lugar de Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+"se ha encontrado un espacio delante de unos puntos suspensivos en cadenas\n"
+"que el usuario puede ver"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "se han utilizado comillas dobles ASCII en lugar de Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "se han utilizado comillas simples ASCII en lugar de Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: la entrada no es válida con la codificación \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: error al convertir de la codificación \"%s\" a la codificación \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"El fichero de entrada no contiene una línea de encabezado que especifique el "
"conjunto de caracteres"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -3058,7 +3292,7 @@ msgstr ""
"No se puede convertir de \"%s\" a \"%s\". %s se basa en iconv(), e iconv() "
"no soporta este tipo de conversión."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -3067,8 +3301,8 @@ msgstr ""
"La conversión de \"%s\" a \"%s\" introduce duplicados: algunos msgid "
"distintos se vuelven iguales."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -3077,16 +3311,16 @@ msgstr ""
"No se puede convertir de \"%s\" a \"%s\". %s se basa en iconv(). Esta "
"versión fue construida sin iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s solo es válido con %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "tipo de respaldo"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -3109,19 +3343,19 @@ msgstr ""
"haya una coincidencia exacta, se utilizará el método de comparación difusa\n"
"para obtener mejores resultados.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po traducciones que se refieren a las viejas "
"fuentes\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot referencias a las nuevas fuentes\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -3131,7 +3365,7 @@ msgstr ""
"mensajes,\n"
" puede ser especificada más de una vez\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -3140,27 +3374,27 @@ msgstr ""
" -U, --update actualiza def.po,\n"
" no hace nada si def.po ya está actualizado\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Localización del fichero de salida en modo de actualización:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "El resultado se escribió sobre def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL hace un respado de def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFIJO sobreescribe el sufijo de respaldo\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -3181,7 +3415,7 @@ msgstr ""
" no es así\n"
" simple, never siempre hace backups sencillos\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -3191,7 +3425,7 @@ msgstr ""
"El sufijo del respaldo es '~', a menos que se modifique con --suffix o con\n"
"la variable de entorno SIMPLE_BACKUP_SUFFIX\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -3199,22 +3433,22 @@ msgstr ""
" --previous conserva los msgids anteriores de los mensajes "
"traducidos\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent suprime los indicadores de progreso\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "este mensaje debería definir las formas plurales"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "este mensaje no debería definir las formas plurales"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3224,30 +3458,30 @@ msgstr ""
"incorporados %ld, convertidos en difusos %ld, faltan %ld, obsoletos %ld.\n"
# Porque no mejor poner simplemente 'fin'? mm++
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " terminado.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s y los nombres de ficheros explícitos son mutuamente excluyentes"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Modo de empleo: %s [OPCIÓN] [FICHERO]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Convierte el catálogo de mensajes binarios al fichero de estilo Uniforum ."
"po.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3256,14 +3490,14 @@ msgstr ""
" -j, --java Modo Java: la entrada es una clase de Java \n"
" ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp Modo C#: la entrada es un fichero .dll de ."
"NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3272,7 +3506,7 @@ msgstr ""
" --csharp-resources modo de recursos C#: genera un fichero ."
"resources de .NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3280,17 +3514,17 @@ msgstr ""
" --tcl Modo Tcl: la entrada es un fichero .msg tcl/"
"msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FICHERO ... ficheros .mo de entrada\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Localización del fichero de entrada en modo Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3301,12 +3535,12 @@ msgstr ""
"recurso, separado por un guión bajo. La clase se localiza utilizando la\n"
"variable de entorno CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Localización del fichero de entrada en modo C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3316,12 +3550,12 @@ msgstr ""
"un subdirectorio del directorio especificado cuyo nombre depende de la "
"configuración local.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Localización del fichero de entrada en modo Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3330,18 +3564,18 @@ msgstr ""
"Las opciones -l y -d son obligatorias. El fichero .msg será escrito en\n"
"el directorio especificado.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
" -i, --indent escribe el fichero .po utilizando sangrías\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict escribe en estilo Uniforum estricto\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3364,12 +3598,12 @@ msgstr ""
"ficheros serán acumuladas. Cuando se utiliza la opción --unique, los \n"
"duplicados se descartan.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated muestra únicamente los duplicados\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3378,7 +3612,7 @@ msgstr ""
" -u, --unique muestra solo los mensajes únicos, descarta los "
"duplicados\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3436,32 +3670,32 @@ msgstr ""
"La conversión de mensajes al conjunto de caracteres del usuario no "
"funcionará.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "uso inconsistente de #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "la sección 'msgstr[]' no está presente"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "la sección 'msgid_plural' no está presente"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "la sección 'msgstr' no está presente"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "la primera forma del plural tiene un índice distinto de cero"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "la primera forma del plural tiene un índice incorrecto"
@@ -3504,7 +3738,7 @@ msgstr "la primera forma del plural tiene un índice incorrecto"
msgid "too many errors, aborting"
msgstr "demasiados errores, programa interrumpido"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "sucesión de multibyte inválida"
@@ -3579,66 +3813,83 @@ msgstr "separador de contexto <EOT> dentro de una cadena"
# mente el verbo poder en Castellano es mucho más flexible que en otros
# idiomas. De todas maneras siempre se puede mirar otras traducciones. em
# ok. Acepto en 'no puede' a reserva de encontrar nuevos argumentos. mm
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "este fichero no puede contener instrucciones de dominio"
# Nota: es la definición la que está duplicada.
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "definición del mensaje duplicada"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "esta es la localización de la primera definición"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "nombre de grupo sin terminar"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "carácter «no espacio» no válido"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "falta '=' después de \"%s\""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "línea «no vacía» no válida"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "el fichero \"%s\" está truncado"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "el fichero \"%s\" contiene una cadena no terminada en NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "el fichero \"%s\" no está en el formato .mo de GNU"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "el fichero \"%s\" contiene una cadena no terminada en NUL en %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "atención: sintaxis \\uxxxx no válida para carácter Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "atención: cadena no finalizada"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "atención: error de sintaxis"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "atención: par llave/valor no finalizado"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "atención: error de sintaxis; se espera un ';' después de la cadena"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
"atención: error de sintaxis; se espera un '=' o un ';' después de la cadena"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Escrito por %s y %s.\n"
@@ -3647,16 +3898,16 @@ msgstr "Escrito por %s y %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Recodifica el texto serbio de escritura cirílica a latina.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3665,27 +3916,27 @@ msgstr ""
"El fichero de entrada se lee de la entrada estándar. El texto convertido se saca por\n"
"la salida estándar.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "la entrada no es válida con la codificación \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "error al convertir de la codificación \"%s\" a la codificación \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "se esperan dos argumentos"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Modo de empleo: %s [OPCIÓN] URL FICHEROENTRADA\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3694,37 +3945,37 @@ msgstr ""
"Trae y muestra el contenido de una URL. Si la URL no puede ser accesada,\n"
"se utiliza el FICHERO local.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "error al leer \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "error al escribir la salida estándar"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "error después de leer \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Recuperando %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " tiempo agotado.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " ha fallado.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3732,7 +3983,7 @@ msgstr ""
"No se pueden mostrar varios dominios de traducción en un solo fichero con el "
"formato de salida especificado. Intente usar la sintaxis de los ficheros PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3740,7 +3991,7 @@ msgstr ""
"No se pueden mostrar varios dominios de traducción en un solo fichero con el "
"formato de salida especificado."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3748,7 +3999,7 @@ msgstr ""
"el catálogo de mensajes tiene traducciones que dependen del contexto, pero "
"el formato de salida no las admite."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3758,7 +4009,7 @@ msgstr ""
"de salida no lo soporta. Se puede intentar generar una clase Java utilizando "
"\"msgfmt --java\" en vez del fichero de propiedades."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3766,12 +4017,12 @@ msgstr ""
"el catálogo de mensajes tiene traducciones con formas plurales, pero el "
"catálogo de mensajes no admite el trato plural"
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "no se puede crear el fichero de salida \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "salida estándar"
@@ -3790,32 +4041,33 @@ msgstr "fallo en la compilación de la clase C#, intente --verbose"
msgid "compilation of C# class failed"
msgstr "fallo en la compilación de la clase C#"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error al abrir el fichero \"%s\" para escritura"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "no es un nombre de clase Java válido: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"fallo en la compilación de la clase Java, intente --verbose o poner $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "fallo en la compilación de la clase Java, intente poner $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error al abrir el fichero \"%s\" para escritura"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "sucesión de multibyte incompleta"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3823,7 +4075,7 @@ msgstr ""
"Los mensajes internacionalizados no deben contener la secuencia de escape '\\"
"%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3836,7 +4088,7 @@ msgstr ""
"caracteres diferente a la suya. Considere la opción de utilizar un msgctxt\n"
"en ASCII puro. %s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3849,7 +4101,7 @@ msgstr ""
"caracteres diferente a la suya. Considere la opción de utilizar un msgid\n"
"en ASCII puro. %s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3857,7 +4109,7 @@ msgstr ""
"el catálogo de mensajes tiene traducciones con formas plurales, pero el \n"
"catálogo de mensajes de Qt no soporta el trato plural\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3869,7 +4121,7 @@ msgstr ""
"pero el formato del catálogo de mensajes de Qt admite Unicode\n"
"solo en las cadenas traducidas, no en las cadenas del contexto\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3880,12 +4132,12 @@ msgstr ""
"admite Unicode solo en las cadenas traducidas, no en las que aún\n"
"no lo están\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "hubo un error al escribir al subproceso %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3894,7 +4146,7 @@ msgstr ""
"el \n"
"formato de los recursos de C# no admite contextos\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3902,7 +4154,7 @@ msgstr ""
"el catálogo de mensajes tiene traducciones con formas plurales, pero el \n"
"formato de los recursos de C# no tiene implementado el trato plural\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3911,7 +4163,7 @@ msgstr ""
"el \n"
"catálogo de mensajes de Tcl no admite contextos\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3919,36 +4171,36 @@ msgstr ""
"el catálogo de mensajes tiene traducciones con formas plurales, pero el \n"
"catálogo de mensajes de Tcl no soporta el trato plural\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: atención: cadena no finalizada"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: atención: expresión regular no finalizada"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "atención: carácter Unicode inválido"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: atención: constante de tipo carácter no finalizada"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: atención: literal de cadena no finalizada"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Especifique la codificación del código fuente utilizando --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3957,7 +4209,7 @@ msgstr ""
"%s:%d: Secuencia multibyte inválida.\n"
"Especifique la codificación del código fuente utilizando --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3966,7 +4218,7 @@ msgstr ""
"%s:%d: Secuencia multibyte larga incompleta.\n"
"Especifique la codificación del código fuente utilizando --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3975,7 +4227,7 @@ msgstr ""
"%s:%d: Hay una secuencia multibyte incompleta al final del fichero.\n"
"Especifique la codificación del código fuente utilizando --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3984,12 +4236,12 @@ msgstr ""
"%s:%d: Hay una secuencia multibyte incompleta al final de la línea.\n"
"Especifique la codificación del código fuente utilizando --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: fallo en iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3998,297 +4250,82 @@ msgstr ""
"%s:%d: Hay una secuencia multibyte inválida.\n"
"Especifique la codificación del código fuente utilizando --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: atención: carácter Unicode inválido"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: atención: cadena constante no finalizada"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: cuidado: se encontró un ')' en donde se esperaba un '}'"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: cuidado: se encontró un '}' en donde se esperaba un ')'"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "No hay contexto para la cadena extraída del elemento '%s'"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "El elemento raíz <%s> no se permite en un fichero Glade válido"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"El lenguaje \"glade\" no está soportado. %s se basa en expat.\n"
-"Esta versión fue construida sin expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: atención: sustitución aislada U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Especifique la codificación del código fuente utilizando --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Secuencia multibyte inválida.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Secuencia multibyte larga incompleta.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Hay una secuencia multibyte incompleta al final del fichero.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Hay una secuencia multibyte incompleta al final de la línea.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Hay una secuencia multibyte inválida.\n"
-"Especifique la codificación del código fuente utilizando --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: atención: literal RegExp finalizada demasiado pronto"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: atención: %s no está permitido"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: atención: marca XML no finalizada"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: no se puede encontrar el terminador de cadena \"%s\" en ningún lugar "
-"antes del fin del fichero"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: falta una llave derecha en \\x{NÚMEROHEX}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolación no válida (\"\\l\") del caracter de 8 bits \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolación no válida (\"\\u\") del caracter de 8 bits \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: interpolación de variable no válida en \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s%d: interpolación no válida (\"\\L\") del caracter de 8 bits \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolación no válida (\"\\U\") del caracter de 8 bits \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Especifique la codificación del código fuente utilizando --from-code o "
-"mediante un comentario\n"
-"como se indica en http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Secuencia multibyte inválida.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code o mediante un comentario\n"
-"como se indica en http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: Secuencia multibyte larga incompleta.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code o mediante un comentario\n"
-"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+"'%s' no es un nombre de codificación válido. Se utilizará ASCII en su "
+"lugar.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Hay una secuencia multibyte incompleta al final del fichero.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code o mediante un comentario\n"
-"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "comprobación de sintaxis '%s' desconocida"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Hay una secuencia multibyte incompleta al final de la línea.\n"
-"Especifique la codificación correcta del código fuente utilizando --from-"
-"code o mediante un comentario\n"
-"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "tipo de fin de instrucción '%s' desconocido"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Hay una secuencia multibyte inválida.\n"
-"Especifique la codificación del código fuente utilizando --from-code o "
-"mediante un comentario\n"
-"como se indica en http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Codificación desconocida \"%s\". Se procederá con ASCII en su lugar."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: definición de cadena inválida"
+"no se puede utilizar --join-existing cuando el resultado se escribe en la\n"
+"salida estándar (stdout)"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: falta un número después del símbolo #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext no puede funcionar sin palabras claves que buscar"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: expresión de cadena inválida"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "atención: el fichero de reglas ITS '%s' no existe"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: cuidado: la sintaxis $\"...\" se desaconseja por razones de "
-"seguridad; mejor utilice eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr ""
-"%s:%d: atención: literal de expresión regular finalizada demasiado pronto"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-"'%s' no es un nombre de codificación válido. Se utilizará ASCII en su "
-"lugar.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"no se puede utilizar --join-existing cuando el resultado se escribe en la\n"
-"salida estándar (stdout)"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext no puede funcionar sin palabras claves que buscar"
+"atención: el fichero de reglas ITS '%s' no existe; compruebe su instalación "
+"de gettext"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"atención: el fichero '%s' con extensión '%s'\n"
"es desconocido; se intentará tipo C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
"Extrae las cadenas traducibles a partir de un grupo de ficheros dados.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4297,13 +4334,13 @@ msgstr ""
" -d, --default-domain=NOMBRE utiliza NOMBRE.po para la salida (en vez de\n"
" mensajes.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=FICHERO escribe la salida al fichero especificado\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -4312,12 +4349,12 @@ msgstr ""
" directorio DIR\n"
# acepto sugerencia de em pero agrego un "el". mm
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Selección del lenguaje del fichero de entrada:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4338,12 +4375,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ abreviatura de --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4352,7 +4389,7 @@ msgstr ""
"Por omisión, el lenguaje se adivina dependiendo de la extensión del fichero "
"de entrada.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4361,25 +4398,25 @@ msgstr ""
" --from-code=NOMBRE codifica a partir de los ficheros de entrada\n"
" (excepto para Python, Tcl y Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
"Por omisión, los ficheros de entrada se presupone que están en ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing une los mensajes con un fichero existente\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=FICHERO.po las líneas del FICHERO.po no son extraidas\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4395,17 +4432,40 @@ msgstr ""
" -c, --add-comments coloca todos los bloques de comentarios "
"delante de las líneas de palabras clave\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NOMBRE comprueba la sintaxis de los mensajes\n"
+" (puntos suspensivos unicode, espacio\n"
+" delante de puntos suspensivos,\n"
+" comillas unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TIPO tipo que describe el fin de instrucción\n"
+" (predefinido un espacio sencillo, \n"
+" o un espacio doble)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Opciones específicas del lenguaje:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extrae todas las cadenas\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4421,7 +4481,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4437,7 +4497,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4450,7 +4510,7 @@ msgstr ""
"palabra\n"
" clave PALABRA\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4466,40 +4526,40 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs entiende los trígrafos de ANSI C para la\n"
" entrada\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (solo en lenguajes C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt reconoce los formatos de cadena Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (solo lenguaje C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde reconoce los 4 formatos de cadena KDE\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost reconoce los formatos de cadena Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4508,18 +4568,29 @@ msgstr ""
"reconocimiento\n"
" de las cadenas de formato\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output escribe un fichero .properties de Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" --its=FICHERO aplica las reglas ITS obtenidas de FICHERO\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool escribe comentarios itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=CADENA pone al dueño del copyright en la salida\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4527,19 +4598,19 @@ msgstr ""
" --foreign-user omite el copyright de la FSF en la salida\n"
" para los usuarios extranjeros\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
" --package-name=PAQUETE pone el nombre del paquete en la salida\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=VERSION pone la versión del paquete en la salida\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4547,7 +4618,7 @@ msgstr ""
" --msgid-bugs-address=DIRECCION@DECORREO pone la dirección de correo \n"
" para reportar los errores\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4558,7 +4629,7 @@ msgstr ""
"para las\n"
" líneas del msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4569,7 +4640,7 @@ msgstr ""
"para las\n"
" líneas del msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4578,31 +4649,31 @@ msgstr ""
"Un argumento --flag no tiene la sintaxis <palabraclave>:<númarg>:"
"[pass-]<bandera>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "entrada estándar"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Carácter no ASCII en %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Comentario no ASCII en o precediendo %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Cadena no ASCII en %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: atención: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4611,7 +4682,7 @@ msgstr ""
"Aunque se utilizó en una posición de formato de cadena, el %s no se un "
"formato de cadena válido %s. La razón es: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4620,7 +4691,7 @@ msgstr ""
"Aunque así esté declarado, '%s' no es un formato de cadena válido %s. Razón: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4634,7 +4705,7 @@ msgstr ""
"Considere la opción de usar una cadena de formato con argumentos con nombre\n"
"y una asociación en lugar de una tupla para los argumentos.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4644,29 +4715,29 @@ msgstr ""
"gettext(\"\") regresa la línea de encabezado con la\n"
"metainformación, no una cadena vacía.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "la especificación de argumento es ambigua para la palabra clave '%.*s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "atención: no está presente el contexto para la palabra clave '%.*s'"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"atención: no está presente el contexto para el argumento plural de la "
"palabra clave '%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "discordancia de contexto entre las formas de singular y plural"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4678,11 +4749,363 @@ msgstr ""
"allí la variable MSGID_BUGS_ADDRESS; en caso contrario,\n"
"debe especificar la opción de línea de órdenes --msgid-bugs-address\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "idioma '%s' desconocido"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: atención: sustitución aislada U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Especifique la codificación del código fuente utilizando --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Secuencia multibyte inválida.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Secuencia multibyte larga incompleta.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Hay una secuencia multibyte incompleta al final del fichero.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Hay una secuencia multibyte incompleta al final de la línea.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Hay una secuencia multibyte inválida.\n"
+"Especifique la codificación del código fuente utilizando --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: atención: literal RegExp finalizada demasiado pronto"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: atención: %s no está permitido"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: atención: marca XML no finalizada"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: no se puede encontrar el terminador de cadena \"%s\" en ningún lugar "
+"antes del fin del fichero"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: falta una llave derecha en \\x{NÚMEROHEX}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolación no válida (\"\\l\") del caracter de 8 bits \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolación no válida (\"\\u\") del caracter de 8 bits \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: interpolación de variable no válida en \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s%d: interpolación no válida (\"\\L\") del caracter de 8 bits \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolación no válida (\"\\U\") del caracter de 8 bits \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Especifique la codificación del código fuente utilizando --from-code o "
+"mediante un comentario\n"
+"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Secuencia multibyte inválida.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code o mediante un comentario\n"
+"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Secuencia multibyte larga incompleta.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code o mediante un comentario\n"
+"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Hay una secuencia multibyte incompleta al final del fichero.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code o mediante un comentario\n"
+"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Hay una secuencia multibyte incompleta al final de la línea.\n"
+"Especifique la codificación correcta del código fuente utilizando --from-"
+"code o mediante un comentario\n"
+"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Hay una secuencia multibyte inválida.\n"
+"Especifique la codificación del código fuente utilizando --from-code o "
+"mediante un comentario\n"
+"como se indica en http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Codificación desconocida \"%s\". Se procederá con ASCII en su lugar."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: definición de cadena inválida"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: falta un número después del símbolo #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: expresión de cadena inválida"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: cuidado: la sintaxis $\"...\" se desaconseja por razones de "
+"seguridad; mejor utilice eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr ""
+"%s:%d: atención: literal de expresión regular finalizada demasiado pronto"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<sinnombrar>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "secuencia UTF-8 no válida"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "'%s' no es un nombre válido: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "'%s' no es un nombre válido: '%c'"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "referencia de carácter no válida: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "no es una especificación de número válida"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "no termina en ';'"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "carácter no permitido"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "vacía"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "desconocida"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "referencia de entidad no válida: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "el documento debe empezar con un elemento"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "carácter no válido después de '%s'"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "falta '%c'"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "falta '%c' o '%c'"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "nombre del elemento de cierre"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "el elemento está cerrado"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "documento vacío"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "después de '<'"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "elementos abiertos todavía"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "falta '>'"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "dentro de un nombre de elemento"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "dentro de un nombre de atributo"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "Dentro de una etiqueta abierta"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "después de '='"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "dentro del valor de un atributo"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "dentro de la etiqueta de cierre"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "dentro de un comentario o de una instrucción de procesamiento"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "documento finalizado de forma inesperada: %s"
+
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "El elemento raíz <%s> no se permite en un fichero CLDR válido"
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "No hay contexto para la cadena extraída del elemento '%s'"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "El lenguaje \"glade\" no está soportado. %s se basa en expat.\n"
+#~ "Esta versión fue construida sin expat.\n"
diff --git a/gettext-tools/po/et.gmo b/gettext-tools/po/et.gmo
index 081a486..ab49d07 100644
--- a/gettext-tools/po/et.gmo
+++ b/gettext-tools/po/et.gmo
Binary files differ
diff --git a/gettext-tools/po/et.po b/gettext-tools/po/et.po
index bbc92fe..139e97d 100644
--- a/gettext-tools/po/et.po
+++ b/gettext-tools/po/et.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gettext 0.10.37\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2001-04-30 16:25+0200\n"
"Last-Translator: Ivar Smolin <okul@linux.ee>\n"
"Language-Team: Estonian <et@li.org>\n"
@@ -53,40 +53,40 @@ msgstr "ei suuda luua väljundfaili \"%s\""
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "viga faili \"%s\" avamisel (lugemiseks)"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "viga faili \"%s\" avamisel (kirjutamiseks)"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "viga \"%s\" lugemisel"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "viga faili \"%s\" kirjutamisel"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "viga \"%s\" lugemisel"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr ""
@@ -112,58 +112,63 @@ msgstr "Tundmatu süsteemne viga"
msgid "%s subprocess failed"
msgstr ""
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: võti `%s' on mitmetähenduslik\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: võti `-W %s' on mitmetähenduslik\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: võtmel `--%s' ei tohi olla argumente\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: võtmel `%c%s' ei tohi olla argumente\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: võtme `%s' järel peab olema argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tundmatu võti `--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tundmatu võti `%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: vigane võti -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: võtme järel peab olema argument -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: võti `-W %s' on mitmetähenduslik\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: võtmel `-W %s' ei tohi olla argumente\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: võtme `%s' järel peab olema argument\n"
@@ -179,15 +184,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr ""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "viga faili \"%s\" kirjutamisel"
@@ -202,15 +208,15 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "mälu sai otsa"
@@ -221,7 +227,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -267,11 +273,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -307,107 +313,244 @@ msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "viga faili \"%s\" avamisel (lugemiseks)"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Täiendava info saamiseks proovi `%s --help'.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr ""
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Vigadest teata aadressile <bug-gnu-utils@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Selle programmi on kirjutanud %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "ei suuda luua väljundfaili \"%s\""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "viga faili \"%s\" avamisel (lugemiseks)"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, fuzzy, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -515,61 +658,80 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, fuzzy, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "viga \"%s\" lugemisel"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -577,7 +739,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -588,239 +750,207 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, fuzzy, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+#: src/format-python-brace.c:138
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Selle programmi on kirjutanud %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "liiga palju argumente"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Täiendava info saamiseks proovi `%s --help'.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -828,284 +958,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "vähemalt kaks faili peab olema ette antud"
+
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "ei suuda luua väljundfaili \"%s\""
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-#, fuzzy
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Vigadest teata aadressile <bug-gnu-utils@gnu.org>.\n"
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:1001
#, c-format
-msgid "could not get host name"
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr ""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "ei suuda luua väljundfaili \"%s\""
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "ei suuda luua väljundfaili \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, fuzzy, c-format
msgid "at most one input file allowed"
msgstr "vaja läheb täpselt kahte sisendfaili"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s ja %s on vastastikku välistavad"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "sisendfail on määramata"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1114,87 +1270,87 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, fuzzy, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1215,31 +1371,31 @@ msgstr ""
" -V, --version väljastab versiooniinfo ja lõpetab programmi töö\n"
" -w, --width=NUMBER määrab väljastatava lehekülje laiuse\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "lubamatu valikukriteeriumi kirjeldus (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1267,97 +1423,97 @@ msgstr ""
"comments) jäetakse alles ainult esimesena kirjeldatud PO failist.\n"
"Positsioonikirjeldused võetakse ja säilitatakse kõikidest PO failidest.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "sisendfailid on määramata"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "vaja läheb täpselt kahte sisendfaili"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, fuzzy, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1383,86 +1539,86 @@ msgstr ""
"teated on tõlgitud. Kui täpseid vasteid ei suudeta leida, kasutatakse parema\n"
"diagnoosi huvides määratlust 'kahtlane'.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "hoiatus: see teade on kasutamata"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "see teade on kasutusel, kuid kirjeldamata..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...kuid see kirjeldus on sarnane"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "see teade on kasutusel, kuid %s poolt kirjeldamata"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "hoiatus: see teade on kasutamata"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "leitud %d tõsine viga"
msgstr[1] "leitud %d tõsist viga"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "vähemalt kaks faili peab olema ette antud"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1489,74 +1645,74 @@ msgstr ""
"comments) jäetakse alles ainult esimesena kirjeldatud PO failist.\n"
"Positsioonikirjeldused võetakse ja säilitatakse kõikidest PO failidest.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "sisendfail on määramata"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, fuzzy, c-format
msgid "exactly one input file required"
msgstr "vaja läheb täpselt kahte sisendfaili"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1565,22 +1721,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, fuzzy, c-format
msgid "missing command name"
msgstr "argumendid on puudu"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1590,62 +1746,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standardsisend"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, fuzzy, c-format
msgid "missing filter name"
msgstr "argumendid on puudu"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, fuzzy, c-format
msgid "at least one sed script must be specified"
msgstr "vähemalt kaks faili peab olema ette antud"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1653,226 +1831,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "fail \"%s\" sisaldab stringi, mis ei lõpe koodiga NUL"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s ja %s on vastastikku välistavad"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "ei suuda luua väljundfaili \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d tõlgitud teade"
msgstr[1] "%d tõlgitud teadet"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d kahtlane tõlge"
msgstr[1] ", %d kahtlast tõlget"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d tõlkimata teade"
msgstr[1] ", %d tõlkimata teadet"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1881,65 +2067,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, fuzzy, c-format
msgid "Output file location in C# mode:\n"
msgstr "sisendfail on määramata"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1947,12 +2133,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1960,33 +2161,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -1994,18 +2195,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2014,115 +2215,114 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, fuzzy, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
"%s: hoiatus: PO faili päis puudub, on kahtlane või vigane\n"
"%*s hoiatus: charset conversion will not work"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, fuzzy, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
"Kooditabel on päises kirjeldamata.\n"
"Tõlgete teisendamine kasutaja kooditabelisse ei toimi.\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, fuzzy, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
"%s: hoiatus: PO faili päis puudub, on kahtlane või vigane\n"
"%*s hoiatus: charset conversion will not work"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domeeni nimi \"%s\" ei ole kasutatav failinimena"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domeeni nimi \"%s\" ei ole kasutatav failinimena: kasutan eesliidet"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "ignoreerin `domain %s' direktiivi"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "ignoreerin tühja `msgstr' kirjet"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ignoreerin kahtlast `msgstr' kirjet"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: hoiatus: lähtefail sisaldab kahtlast tõlget"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "viga \"%s\" lugemisel"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2162,18 +2362,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2258,14 +2458,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2277,54 +2477,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, fuzzy, c-format
msgid "warning: "
msgstr "%s: hoiatus: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2333,7 +2533,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2342,7 +2542,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2351,12 +2551,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2364,7 +2564,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2373,7 +2573,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2381,151 +2581,167 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
#, fuzzy
msgid "invalid nplurals value"
msgstr "vigane juhtjada"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
#, fuzzy
msgid "invalid plural expression"
msgstr "vigane juhtjada"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, fuzzy, c-format
msgid "nplurals = %lu"
msgstr "vigane juhtjada"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, fuzzy, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "see teade on kasutusel, kuid %s poolt kirjeldamata"
msgstr[1] "see teade on kasutusel, kuid %s poolt kirjeldamata"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, fuzzy, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "see teade on kasutusel, kuid %s poolt kirjeldamata"
msgstr[1] "see teade on kasutusel, kuid %s poolt kirjeldamata"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "`msgid' ja `msgst_plural' kirjed ei alga sarnaselt märgiga '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "`msgid' ja `msgstr[%u]' kirjed ei alga sarnaselt märgiga '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "`msgid' ja `msgstr' kirjed ei alga sarnaselt märgiga '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "`msgid' ja `msgst_plural' kirjed ei lõppe sarnaselt märgiga '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "`msgid' ja `msgstr[%u]' kirjed ei lõppe sarnaselt märgiga '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "`msgid' ja `msgstr' kirjed ei lõppe sarnaselt märgiga '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "mõned päise kirjes olevad väljad sisaldavad ikka veel algseid väärtusi"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "päise kirjest on puudu väli `%s'"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "viga faili \"%s\" avamisel (lugemiseks)"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, fuzzy, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2534,15 +2750,15 @@ msgstr ""
"Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
"iconv() poolt ja iconv() ei toeta \"%s\".\n"
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, fuzzy, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2551,16 +2767,16 @@ msgstr ""
"Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
"iconv() poolt. See versioon tehakse ilma iconv() kasutamata.\n"
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, fuzzy, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2587,51 +2803,51 @@ msgstr ""
"kahtlased. Kui väljundfaili ei ole kirjeldatud, saadetakse tulemus\n"
"standardväljunisse.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2643,7 +2859,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2651,28 +2867,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, fuzzy, c-format
msgid "this message should define plural forms"
msgstr "see teade on kasutusel, kuid %s poolt kirjeldamata"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "see teade on kasutusel, kuid %s poolt kirjeldamata"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2681,63 +2897,63 @@ msgstr ""
"%sLoetud %ld vana + %ld viidet, ühendatud %ld, kahtlaseid %ld, puuduvaid "
"%ld, vananenuid %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " valmis.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, fuzzy, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s ja %s on vastastikku välistavad"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2745,41 +2961,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, fuzzy, c-format
msgid "Input file location in C# mode:\n"
msgstr "sisendfail on määramata"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2792,19 +3008,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -2861,32 +3077,32 @@ msgstr ""
"Kooditabel on päises kirjeldamata.\n"
"Tõlgete teisendamine kasutaja kooditabelisse ei toimi.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "vastuoluline #~ kasutamine"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "puudub `msgstr[]' sektsioon"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "puudub `msgid_plural' sektsioon"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "puudub `msgstr' sektsioon"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "esimene mitmuse vormi indeks erineb nullist"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "mitmuse vorm omab vale indeksit"
@@ -2896,7 +3112,7 @@ msgstr "mitmuse vorm omab vale indeksit"
msgid "too many errors, aborting"
msgstr "liiga palju vigu, katkestan töö"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "vigane multibait jada"
@@ -2940,71 +3156,90 @@ msgstr "reavahetus asub stringi sees"
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "see fail ei tohi sisaldada domeeni direktiive"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "teade on kirjeldatud kaks korda"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "...see on esimese kirjelduse asukoht"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "%s:%d: lõpetamata sümbolkonstant"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "argumendid on puudu"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "vigane juhtjada"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, fuzzy, c-format
msgid "file \"%s\" is truncated"
msgstr "faili \"%s\" sai kärbitud"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "fail \"%s\" sisaldab stringi, mis ei lõpe koodiga NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "fail \"%s\" ei ole GNU .mo vormingus"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "fail \"%s\" sisaldab stringi, mis ei lõpe koodiga NUL"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
#, fuzzy
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "%s:%d: lõpetamata sümbolkonstant"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
#, fuzzy
msgid "warning: syntax error"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
#, fuzzy
msgid "warning: syntax error, expected ';' after string"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
#, fuzzy
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "Selle programmi on kirjutanud %s.\n"
@@ -3013,116 +3248,116 @@ msgstr "Selle programmi on kirjutanud %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "viga faili \"%s\" avamisel (lugemiseks)"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, fuzzy, c-format
msgid "expected two arguments"
msgstr "liiga palju argumente"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, fuzzy, c-format
msgid "error reading \"%s\""
msgstr "viga \"%s\" lugemisel"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, fuzzy, c-format
msgid "error writing stdout"
msgstr "viga faili \"%s\" kirjutamisel"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, fuzzy, c-format
msgid "error after reading \"%s\""
msgstr "viga \"%s\" lugemisel"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "ei suuda luua väljundfaili \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standardväljund"
@@ -3141,38 +3376,39 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "viga faili \"%s\" avamisel (kirjutamiseks)"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "viga faili \"%s\" avamisel (kirjutamiseks)"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "vigane multibait jada"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "tõlgitud teated peaksid mitte sisaldama `\\%c' erimärgijada"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3181,7 +3417,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3190,13 +3426,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3204,378 +3440,203 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "viga faili \"%s\" kirjutamisel"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: lõpetamata sümbolkonstant"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: lõpetamata sümbolkonstant"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, fuzzy, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: lõpetamata sümbolkonstant"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: hoiatus: lõpetamata string"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, fuzzy, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
-"iconv() poolt. See versioon tehakse ilma iconv() kasutamata.\n"
-
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: hoiatus: lõpetamata string"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: hoiatus: lõpetamata string"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: lõpetamata sümbolkonstant"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: hoiatus: lõpetamata string"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-perl.c:1217
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: vigane võti -- %c\n"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "tundmatu keel `%s'"
-#: src/x-perl.c:1247
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"võtit `--join-existing' ei ole võimalik pruukida kui väljunit kirjutatakse "
+"standardväljundisse"
-#: src/x-python.c:354
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext ei tööta ilma vajalike võtmesõnadeta"
-#: src/x-python.c:364
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-python.c:397
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr ""
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr ""
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr ""
-
-#: src/x-rst.c:207
-#, fuzzy, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: hoiatus: lõpetamata string"
-
-#: src/x-sh.c:1075
-#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: hoiatus: lõpetamata string"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"võtit `--join-existing' ei ole võimalik pruukida kui väljunit kirjutatakse "
-"standardväljundisse"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext ei tööta ilma vajalike võtmesõnadeta"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "hoiatus: faili `%s' laiend `%s' on tundmatu; proovin C vormingut"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "sisendfail on määramata"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3588,41 +3649,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3632,17 +3693,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3652,7 +3729,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3662,7 +3739,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3670,7 +3747,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3680,75 +3757,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3756,7 +3843,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3764,52 +3851,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standardsisend"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, fuzzy, c-format
msgid "%s%s: warning: "
msgstr "%s: hoiatus: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3818,34 +3905,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3853,15 +3940,319 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "tundmatu keel `%s'"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: hoiatus: lõpetamata string"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: hoiatus: lõpetamata string"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: lõpetamata sümbolkonstant"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: hoiatus: lõpetamata string"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s: vigane võti -- %c\n"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, fuzzy, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: hoiatus: lõpetamata string"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: hoiatus: lõpetamata string"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "vigane juhtjada"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "vigane juhtjada"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "vigane multibait jada"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr ""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "argumendid on puudu"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#, fuzzy
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
+#~ "iconv() poolt. See versioon tehakse ilma iconv() kasutamata.\n"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: lubamatu võti -- %c\n"
diff --git a/gettext-tools/po/eu.gmo b/gettext-tools/po/eu.gmo
index 3ff220f..04b60d3 100644
--- a/gettext-tools/po/eu.gmo
+++ b/gettext-tools/po/eu.gmo
Binary files differ
diff --git a/gettext-tools/po/eu.po b/gettext-tools/po/eu.po
index 96661c3..1962977 100644
--- a/gettext-tools/po/eu.po
+++ b/gettext-tools/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.16\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2007-08-31 11:36+0200\n"
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -56,40 +56,40 @@ msgstr "ezin da aldiroko %s direktorioa ezabatu"
msgid "write error"
msgstr "idazketa errorea"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "errorea \"%s\" irakurketarako irekitzerakoan"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "ezin da \"%s\" babeskopia fitxategia idazketarako ireki"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "errorea \"%s\" irakurtzean"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "errorea \"%s\" idaztean"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "errorea \"%s\" irakurri ondoren"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() -ek huts egin du"
@@ -115,58 +115,63 @@ msgstr "Sistema errore ezezaguna"
msgid "%s subprocess failed"
msgstr "%s azpirpozesuak huts egin du"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: `%s' aukera anbiguoa da\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: `-W %s' aukera anbiguoa da\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' aukerak ez du argumenturik onartzen\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: `%c%s' aukerak ez du argumenturik onartzen\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: `--%s' aukerak argumentu bat behar du\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: `--%s' aukera ezezaguna\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: `%c%s' aukera ezezaguna\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: aukera baliogabea -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: -- %c aukerak argumentu bat behar du\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' aukera anbiguoa da\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' aukerak ez du argumenturik onartzen\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: `--%s' aukerak argumentu bat behar du\n"
@@ -182,15 +187,16 @@ msgstr "source_version argumentu baliogabea compile_java_class-rentzat"
msgid "invalid target_version argument to compile_java_class"
msgstr "target_version argumentu baliogabea compile_java_class-rentzat"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "Huts \"%s\" sortzerakoan"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "errorea \"%s\" fitxategia idazterakoan"
@@ -208,15 +214,15 @@ msgstr ""
"ez da java makina birtualik aurkitu, saiatu gcj instalatuaz edo $JAVAC "
"ezarriaz"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s azpiprozesu S/I errorea"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memoria askieza"
@@ -227,7 +233,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "huts %s azpiprozesuan idaztean"
@@ -273,11 +279,11 @@ msgstr "%s azpiprozesua %d irteera kodeaz amaitu da"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -313,52 +319,190 @@ msgstr "%s azpiprozesua"
msgid "%s subprocess got fatal signal %d"
msgstr "%s azpiprozesua %d seinale konponezina jaso du"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "errorea \"%s\" irakurketarako irekitzerakoan"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
#, fuzzy, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "'%s' ez da baliozko %s formatu katea, ez 'msgid' bezala. Arrazoia: %s"
+msgid "Try '%s --help' for more information.\n"
+msgstr "`%s --help' erabili argibide gehiagorako.\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Erabilera: %s [AUKERA] [FITXATEGIA]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Aukera luzeentzat beharrezko argumentuak beharrezkoak dira aukera laburrentzat ere.\n"
+"Antzekoa aukerako argumentuentzat.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help laguntza hau bisarazi eta irten\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help laguntza hau bisarazi eta irten\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version bertsio argibideak bistarazi eta irten\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Programa erroreen berri emateko: <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "%s-ek idatzia.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "ezin da aldiroko %s direktorioa ezabatu"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "errorea \"%s\" irakurketarako irekitzerakoan"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "a formateatu - u in s t in"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "%u argumentuaren formatu espezifikazioa ez dago '%s'-en"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"'msgid' eta '%s' formatu ezarpenak ez dira berdina %u argumentuarentzat"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "%u direktiba | -rekin hasten da baina ez | -rekin amaitzen."
-#: src/format-c.c:36
+#: src/format.c:152
+#, fuzzy, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "'%s' ez da baliozko %s formatu katea, ez 'msgid' bezala. Arrazoia: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -368,62 +512,62 @@ msgstr ""
"makro izena. Baliozko makro izenak ISO C 99 7.8.1. atalean daude "
"zerrendaturik."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"%u zenbakiko direktiban, '<' ondorengo elementua ez dago '>'-rekin jarraitua."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Kateak %u argumentuaz ari da baina %u argumentu zenbakia alde batetara uzten "
"du."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "'msgid' eta '%s' -ren formatu espezifikazio zenbakiak ez dira berdinak"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"%u zenbakidun direktiban, '{' ez dago argumentu zenbaki batez jarraitua."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "%u zenbakidun direktiban, ',' ez dago zenbaki batez jarraitua."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr "Katea direktiba erdian amaitzen da: '{' aurkitu da pareko '}' gabe."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"%u zenbakidun direktiba '%c' karaktere baliogabeaz amaitzen da '}'-ren ordez."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"%u zenbakidun direktiba karaktere baliogabe batez amaitzen da '}'-ren ordez."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "KAtea direktiba erdian hasten da: '}' topatu da pareko '{'-rik gabe."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -545,7 +689,7 @@ msgstr ""
"Kateak %u zenbakidun argumetua erreferentzaitzen du modu ez bateragari "
"batetan."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -553,12 +697,12 @@ msgid ""
msgstr ""
"%u zenbakidun direktiban, \"%s\" azpikatea ez da baiozko data/ordu estilokoa."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "%u zenbakidun direktiban, \"%s\" ez dago gako batez jarraitua."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -566,7 +710,7 @@ msgstr ""
"%u zenbakidun direktiban , \"%s\" azpi-katea ez da baliozko estilo zenbaki "
"bat."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -575,12 +719,12 @@ msgstr ""
"%u zenbakidun direktiban, argumentu zenbakia ez dago gako batez eta \"%s\", "
"\"%s\", \"%s\"edo \"%s\" batez jarraitua."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "%u zenbakidun direktiban, hautapen batek ez du zenbakirik."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -589,24 +733,45 @@ msgstr ""
"%u zenbakidun direktiban, hautapen batek '<', '#' edo '%s'-ek jarraitzen ez "
"duen zenbaki bat du."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "a formateatu - u in s t in"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, fuzzy, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "a formateatu - u t in s"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "formateatu in eta s - u"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Kateak %u argumentuaz ari da baina %u argumentu zenbakia alde batetara uzten "
+"du."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "a formateatu - u in s t in"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "errorea \"%s\" irakurtzean"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, fuzzy, c-format
msgid ""
@@ -614,7 +779,7 @@ msgid ""
"type '%s' is expected."
msgstr "Handiagotu u u da - mota s a - mota s da."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, fuzzy, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -625,247 +790,215 @@ msgid_plural ""
msgstr[0] "Handiagotu u u."
msgstr[1] "Handiagotu u u."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, fuzzy, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Handiagotu u k da Bielorrusiarra a."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, fuzzy, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Handiagotu u l da."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
#, fuzzy
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "katea in - a."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, fuzzy, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "k k."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, fuzzy, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "Handiagotu u eta."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, fuzzy, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr "Handiagotu u da Bielorrusiarra bikoa Bielorrusiarra."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, fuzzy, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "Handiagotu u da in baliogabea."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
#, fuzzy
msgid "The string refers to some argument in incompatible ways."
msgstr "katea nori in."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "formateatu in eta s"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "formateatu in s a - in"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "a formateatu - s t in s"
+
+#: src/format-perl.c:434
#, fuzzy, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr "Handiagotu u tamaina da honekin k."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, fuzzy, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "a formateatu - s t in s"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Handiagotu u k da Bielorrusiarra a."
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"%u zenbakidun direktiban, '{' ez dago argumentu zenbaki batez jarraitua."
+
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Handiagotu u k da Bielorrusiarra a."
+
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "%u zenbakidun direktiban, zehatapena ez da onartze '%c' ondoren"
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Handiagotu u l da."
+
+#: src/format-python.c:116
#, fuzzy
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr "katea nori eta izengabe."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, fuzzy, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "katea nori s in."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "formateatu in a in s a"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "formateatu in a in s a"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "a formateatu - s in s t in"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "formateatu in eta s - s"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Handiagotu u k da Bielorrusiarra a."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"%u zenbakidun direktiban, '{' ez dago argumentu zenbaki batez jarraitua."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Handiagotu u k da Bielorrusiarra a."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "%u zenbakidun direktiban, zehatapena ez da onartze '%c' ondoren"
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Handiagotu u l da."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
#, fuzzy
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "katea nori a honekin a ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
#, fuzzy
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr "katea nori a honekin da nori."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
#, fuzzy
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr "katea nori a balioa maiatzak."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
#, fuzzy
msgid "The string refers to a shell variable with an empty name."
msgstr "katea nori a honekin hutsik."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, fuzzy, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "Handiagotu u k da a eta."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, fuzzy, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "u da a eta."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "%s-ek idatzia.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "argumentu gehiegi"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "`%s --help' erabili argibide gehiagorako.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Erabilera: %s [AUKERA]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Makinaren ostalari izena inprimatu.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Irteera formatua:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short ostalari izen laburra\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -876,77 +1009,103 @@ msgstr ""
"domeinu\n"
" izena eta ezizena berne\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address ostalari izenaren helbidea\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informazio irteera:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help laguntza hau bisarazi eta irten\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "ezind a ostalari izena eskuratu"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version bertsio argibideak bistarazi eta irten\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "behintza bi fitxategi ezarri behar dira"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Programa erroreen berri emateko: <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "ezin da tutua sortu"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "ezind a ostalari izena eskuratu"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "%s argumentu baliogabea %s-rentzat"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "ezin da tutua sortu"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "ezin da \"%s\" irteera fitxategia sortu"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "behintzat sarrera fitxategi bat onartu da"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s eta %s ez dira bateragarriak"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Erabilera: %s [AUKERA] [SARFITXATEGIA]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -955,10 +1114,10 @@ msgstr ""
"Itzulpen katalogko kateak beraien atributuen arabera iragazi,\n"
"eta beren atributuak eraldatu.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -966,23 +1125,23 @@ msgstr ""
"Aukera luzeentzat beharrezko argumentuak beharrezkoak dira aukera "
"laburrentzat ere.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Sarrera fitxategi kokapena:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " SARRERA_FITXATEGIA sarrera PO fitxatergia\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -990,32 +1149,33 @@ msgstr ""
" -D, --directory=DIRECTORIOA Gehitu DIRECTORIOA sarrera fitxategiak "
"bilatzeko zerrendara\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Sarrera fitxategirik ematen ez bada edo berau - bada, sarrera estandarra "
"irakurriko da.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Irteera fitxategi kokapena:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FITX idatzi irteera ezarritako fitxategian\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1025,12 +1185,12 @@ msgstr ""
"bada\n"
"edo berau - bada.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Mezu hautapena:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1038,7 +1198,7 @@ msgstr ""
" --translated mantendu itzulitakoak, ezabatu itzuli gabeko "
"mezuak\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1046,55 +1206,55 @@ msgstr ""
" --untranslated mantendu itzuli gabekoak, ezabatu itzulitako "
"mezuak\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy ezabatu zalantza bezala markaturiko kateak\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy mantendu zalantza bezala markaturiko kateka\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete mantendu zaharkituriko #~ mezuak\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Atributu manipulazioa:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy ezarri kate guztiak zalantza bezala\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy zalantza bandera kendu kate guztiei\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete ezarri mezu guztiak zaharkituak bezala\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete ezarri mezu guztiak ez-zaharkituk bezala\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, fuzzy, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1102,7 +1262,7 @@ msgid ""
msgstr ""
" --previous mantendu aurreko msgid-ak itzulitako mezuetan\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1110,14 +1270,14 @@ msgid ""
msgstr ""
" --clear-previous ezabatu \"previous msgid\" mezu guztietatik\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
" --no-fuzzy ezabatu zalantza bezala markaturiko kateak\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1125,7 +1285,7 @@ msgstr ""
" --only-file=FITX.po FITX.po fitxategian zerrendaturiko sarrerak "
"bakarrik eraldatu\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1133,13 +1293,13 @@ msgstr ""
" --ignore-file=FILE.po FITX.po fitxategian ez zerrendaturiko sarrerak "
"bakarrik eraldatu\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy --only-fuzzy --clear-fuzzy -ren sinonimo\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1147,16 +1307,16 @@ msgstr ""
" --obsolete --only-obsolete --clear-obsolete -ren "
"sinonimo\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sarrera fitxategi sintaxia:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1164,8 +1324,8 @@ msgstr ""
" -P, --properties-input sarrera fitxategia Java .properties sintaxian "
"dago\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1174,17 +1334,17 @@ msgstr ""
" --stringtable-input sarrera fitxategia NeXTstep/GNUstep .strings "
"sintaxian dago\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Irteera xehetasunak:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1193,25 +1353,25 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
" -e, --no-escape ez erabili C ihesak irteeran (lehenetsia)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1219,97 +1379,97 @@ msgstr ""
" -E, --escape C ihesak erabili irteeran, ez hedatutako "
"karaktereak\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po PO fitxategia idatzi nahiz hutsik egon\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent .po fitxategia koskadun estiloa erabiliaz "
"idatzi\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=ZENBAKIA irteera orri zabalera ezarri\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output ordenatutako irteera sortu\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file irteera fixattegi kokapenaz ordenatu\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "ezinezko hatapen kriterio bat ezarri da (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Erabilera: %s [AUKERA] [SARRERA_FITX]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1323,47 +1483,47 @@ msgid ""
"to define them.\n"
msgstr ""
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INPUTFILE ... sarrera fitxategiak\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=FITXATEGI sarrera fitxategi zerrenda FITXATEGI-tik "
"eskuratu\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Sarrera fitxategia - bada, sarrera estandarra irakurriko da.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1371,8 +1531,8 @@ msgstr ""
" -P, --properties-input sarrera fixtategiak Java .properties sintasian "
"daude\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1381,45 +1541,45 @@ msgstr ""
" --stringtable-input sarrera fitxategiak NeXTstep/GNUstep .strings\n"
" sintaxian daude\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=IZENA irteeraren kodeketa\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ez da sarrera fitxategirik eman"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "zehazki 2 sarrera fitxategi behar dira"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Erabilera: %s [AUKERA] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1430,22 +1590,22 @@ msgid ""
"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
msgstr ""
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po itzulpenak\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot iturburura erreferentziak\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Operazio aldagaiak:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1453,64 +1613,64 @@ msgid ""
msgstr ""
" -m, --multi-domain ref.pot ezarri def.po-ko domeinu bakoitzean\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching ez erabili zalantza parekatzea\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy konutan izan zalantzan dauden sarrerak\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated kontutan izan itzuli gabeko mezuak\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "mezu hau itzuli gabe dago"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "mezu hau itzultzaile batek gainbegiratu behar du"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "mezu hau erabilia baina definitu gabe daago..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...baina definizio hau oso antzekoa da"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "mezu hau erabilia dago baina ez dago %s-en ezarria"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "oharra: mezu hau ez da erabiltzen"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "errorea konponezin %d aurkitu da"
msgstr[1] "%d errorea konponezin aurkitu dira"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "behintza bi fitxategi ezarri behar dira"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1523,49 +1683,49 @@ msgid ""
"cumulated.\n"
msgstr ""
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, fuzzy, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --keep-header utzi goiburua eraldatu gabe, ez berau iragazi\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Itzulpen katalogo bat karaktere kodeketa ezberdin batera bihurtzen du.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Bihurtze helburua:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Lehenetsiriko kodeketa uneko lokalaren kodeketa da.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent kokadun irteera estiloa\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location kendu '#: filename:line' lerroak\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, fuzzy, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1573,28 +1733,28 @@ msgstr ""
" --add-location mantendu '#: filename:line' lerroak "
"(lehenetsia)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict Uniforum zehatz irteera estiloa\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "ez da sarrera fitxategirik eman"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "zehazki sarrera fitxategi bat behar da"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Erabilera: %s [AUKERA] SAR_FITXATEGIA\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1603,22 +1763,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INPUTFILE sarrera PO edo POT fitxategia\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "komando izena falta da"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Erabilera: %s [AUKERA] KOMANDOA [KOMANDO-AUKERA]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1628,62 +1788,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "sarrera estandarra"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help laguntza hau bisarazi eta irten\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INPUTFILE sarrera PO fitxategia\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "huts irteera estandarrean idaztean"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "iragazki izena falta da"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr ""
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Erabilera: %s [AUKERA] IRAGAZKIA [IRAGAZKI-AUKERA]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "IRagazkia ezarri itzulpen guztiei edo itzulpen katalogo bati.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1691,148 +1873,149 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
" --no-escape ez erabili C ihesak irteeran (lehenespena)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header utzi goiburua eraldatu gabe, ez berau iragazi\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "s hau duena a katea"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, fuzzy, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
"Sarrera fitxategirik ematen ez bada edo berau - bada, sarrera estandarra "
"irakurriko da.\n"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s-ek \"-d directory\" ezarpen bat behar du"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s-ek \"-l locale\" ezarpen bat behar du"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s-ek \"-l locale\" ezarpen bat behar du"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s-ek \"-l locale\" ezarpen bat behar du"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s eta %s ez dira bateragarriak"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s bakarrik %s edo %s-rekin da erabilgarria"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s bakarrik %s, %s edo %s-rekin da erabilgarria"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "ezin da \"%s\" irteera fitxategia sortu"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "itzulitako kate %d"
msgstr[1] "%d itzulitako kate"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", zalantzan kate %d"
msgstr[1] ", %d kate zalantzan"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", itzuli gabeko kate %d"
msgstr[1] ", %d itzuli gabeko kate"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Erabilera: %s [AUKERA] fitxategizena.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Testu itzulpen deskribapen batetik mezu katalogo bitar bat sortu.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Aukera luzeentzat beharrezko argumentuak beharrezkoak dira aukera laburrentzat ere.\n"
-"Antzekoa aukerako argumentuentzat.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " fitxategizena.po ... sarrera fitxategiak\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Funtzionamendu modua:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1841,7 +2024,7 @@ msgstr ""
" -j, --java Java modua: Java ResourceBundle klase bat "
"sortu\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1850,20 +2033,20 @@ msgstr ""
" --java2 --java bezala , bain Java2 erabiliaz (JDK 1.2 "
"edo altuagoa)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp C# modua: .NET .dll fitxategi bat sortu\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -1871,39 +2054,44 @@ msgstr ""
" --tcl Tcl modua: tcl/msgcat .msg fitxategi bat "
"sortu\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt modua: Qt .qm fitxategi bat sortu\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, fuzzy, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --qt Qt modua: Qt .qm fitxategi bat sortu\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt modua: Qt .qm fitxategi bat sortu\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict Uniforum zehatz modua gaitu\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Irteera fitxategia - bada, irteera irteera estandarrean idatziko da.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Irteera fitxategi kokapena java moduan:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1912,7 +2100,7 @@ msgstr ""
" -l, --locale=LAKALA lokal izena, edo hizkunzta edo "
"hizkutza_NAZIOA\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, fuzzy, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1921,7 +2109,7 @@ msgstr ""
" --tcl Tcl modeua: sarrera tcl/msgcat .msg fitxategi "
"bat da\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -1929,7 +2117,7 @@ msgstr ""
" -d DIRECTORY klse direktorio ierarkiaren oinarri "
"direktorioa\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1943,37 +2131,37 @@ msgstr ""
"azpian\n"
"idatziko da.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Irteera fitxategi kokalekua C# moduan:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Irteera fitxategi kokapena Tcl moduan:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORY msg mezu katalogoen oinarri direktorioa\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -1983,30 +2171,30 @@ msgstr ""
"direktorioan\n"
"idatziko da.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
" -d DIRECTORY msg mezu katalogoen oinarri direktorioa\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2014,12 +2202,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Sarrera fitxategi interpretazioa:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2027,33 +2230,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2061,18 +2264,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy zalantzazko kateak erabili irteeran\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2081,7 +2284,7 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2089,91 +2292,90 @@ msgstr ""
" --no-hash fitxategi bitarrak ez du hash taula "
"barneratuko\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics itzulpenaren estatistikak inprimatu\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose handitu argibide maila\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "oharra: PO fitxategi goiburua falta edo baliogabea da\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "oharra: karaktere joko bihurketak ez du funtzionatuko\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "oharra: PO fitxategi burua nahasirik\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "oharra: msgfmt-ren bertsio zaharragoek errorea emango dute honetan\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "\"%s\" domeinu izena ez da fixtategi izen bezala erabili"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"\"%s\" domeinu izena ez da fixtategi izen bezala erabili: aurrizki bat "
"erabiliko da"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "`domain %s' direktiba alde batetara utziko da"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "hutsik dagoen `msgstr' sarrera alde batetara utziko da"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "zalantzan dagoen `msgstr' sarrera alde batetara utziko da"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: oharra: jatorri fitxategiak zalantzazko itzulpenak ditu"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "errorea \"%s\" irakurtzean"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2182,14 +2384,14 @@ msgstr ""
"'%c' aukera ezin da erabili 'J' , 'K' , 'T' , 'C' edo 'X' ezarria izan "
"ondoren"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2229,7 +2431,7 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2237,12 +2439,12 @@ msgstr ""
" --escape C ihesak erabili irteeran, ez hedatutako "
"karaktereak\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output ordenatutako irteera sortu\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file fitxategi kokapenez ordenatu\n"
@@ -2346,14 +2548,14 @@ msgstr ""
"Ez da uneko direkotrioan .pot fitxategirik aurkitu.\n"
"Mesedez ezarri sarrera .pot fitxategia --input aukeraren bidez.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s azpiprozesuak %d irteera kodeaz huts egin du"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2370,47 +2572,47 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s paketearen Ingelesezko itzulpena"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "dagoen \"%s\" karaktere jokoa ez da kodeketa izen portable bat"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "bi karaktere joko ezberdin \"%s\" eta \"%s\" sarrera fitxategian"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "`%s' sarrera fitxategiak ez du karaktere joko ezarpena duen goibururik"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr "s in s t a goiburua honekin a"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, fuzzy, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "s da a."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "oharra: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2420,7 +2622,7 @@ msgstr ""
"artean.\n"
"Irteera UTF-8 -ra bihurtzen.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2433,7 +2635,7 @@ msgstr ""
"Irteera UTF-8 -ra bihurtzen.\n"
"BEste irteera kodeketa bat hautatzeko, --to-code aukera erabili.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2442,7 +2644,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2455,12 +2657,12 @@ msgstr ""
"'%s'-ren irteera okerra izan.\n"
"Aukera posibleak:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- LC_ALL %s kodeketa duen lokal batetara ezarri.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2471,7 +2673,7 @@ msgstr ""
" orduan '%s' ezarri,\n"
" gero %s 'msgconv' erabiliaz atzera bihurtu.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2484,7 +2686,7 @@ msgstr ""
" orduan '%s' ezarri,\n"
" gero 'msgconv' erabiliaz %s-ra atzera bihurtu.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2495,26 +2697,26 @@ msgstr ""
"'%s'-ren irteera okerra izan daiteke.\n"
"Aukera bat LC_ALL=C ezartzea da.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "espresio pluralek balio negatiboak sortu ditzakete"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu baina plural espresioek %lu baino balio handiagoak sortu "
"ditzakete"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "espresio pluralek 0-z zatiketak srotu ditzakete"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "espresio pluralek zenbaki oso gainezkatze bat sortu dezakete"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2522,51 +2724,51 @@ msgstr ""
"espresio pluralek salbuespen aritmetikoak sortu ditzakete, posibleki 0-z "
"zatiketak"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Hurrengoa erabiliaz saiatu, %s-rentzat baliagarria:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "mezu katalogoak plural moduko itzulpenak ditu"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "baina goiburuak ez du \"plural=ESPRESIOA\" atributurik"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "baina goiburuak ez du \"nplurals=ZENBAKI_OSO\" atributurik"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "nplurals balio baliogabea"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "plural espresio baliogabea"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "baina zenbait mezuk bakarrik forma plural bat dute"
msgstr[1] "baina zenbait mezuk bakarrik %lu forma plural dituzte"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "baina zenbait mezuk forma plural bat dute"
msgstr[1] "baina zenbait mezuk %lu forma plural dituzte"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2574,77 +2776,93 @@ msgstr ""
"mezu katalogoak plural moduko iztuilpenak ditu, baina ez du \"Plural-Forms: "
"nplurals=INTEGER; plural=EXPRESSION;\" goiburuan"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "`msgid' eta`msgid_plural' sarrerak ez dira biak honela hasten: '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "`msgid' and `msgstr[%u]' sarrerak ez dira biak honela hasten: '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "`msgid' eta `msgstr' sarrerak ez dira biak honela hasten: '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "`msgid' eta`msgid_plural' sarrerak ez dira biak honela amaitzen: '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "`msgid' and `msgstr[%u]' sarrerak ez dira biak honela amaitzen: '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "`msgid' eta `msgstr' sarrerak ez dira biak honela amaitzen: '\\n''"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "plural kudeaketa GNU gettext hedapen bat da"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "zenbait goiburu eremuk oraindik hasierako balioa dute\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "`%s' goiburu eremua falta da goiburuan\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: sarrera ez da baliozkoa \"%s\" kodeketan"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: errorea \"%s\" kodeketatik \"%s\" kodeketara bihurketa egitean"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"sarrera fitxategiak ez du karaktere jokoa ezartzen duen goiburu sarrerarik"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2653,15 +2871,15 @@ msgstr ""
"Ezinda \"%s\"-tik \"%s\"-ra bihurketa egin. %s iconv() funtzioan "
"oinarriturik dago, eta iconv() -ek ez du bihurketa hau onartzen."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2670,16 +2888,16 @@ msgstr ""
"Ezinda \"%s\"-tik \"%s\"-ra bihurketa egin. %s iconv() funtzioan "
"oinarriturik dago. Bertsio hau iconv() gabe erabili zen."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s %s-rekin bakarrik da baliozkoa"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "babeskopia mota"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2693,24 +2911,24 @@ msgid ""
"cannot be found, fuzzy matching is used to produce better results.\n"
msgstr ""
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2720,27 +2938,27 @@ msgstr ""
" ez egin ezer def.po dagoeneko eguneraturik "
"badago\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Irteera fitxategi kokapena eguneraketa moduan:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Emaiztak berriz def.po fitxategian idatziko dira.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=KONTROL def.po-ren babeskopia bat egin\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=AURRIZKI gainidatzi babeskopia aurrizki arrunta\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2752,7 +2970,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2760,57 +2978,57 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous mantendu aurreko msgid-ak itzulitako mezuetan\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent kendu aurrerapen erakusleak\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "mezu honek plural moduak ezarri behar ditu"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "uneko"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
"obsolete %ld.\n"
msgstr ""
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " eginda.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s eta fitxategi izen zehatzak batak bestea oztopatzen dute"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Erabilera: %s [AUKERA] [FITXATEGIA]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Bihurtu mezu katalogo bitarra Uniforum rdtiloko .po fitxategi.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2819,20 +3037,20 @@ msgstr ""
" -j, --java Java modua: sarrera Java ResourceBundle klase "
"bat da\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp C# modua: sarrera .NET .dll fitxategi bat da\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -2840,17 +3058,17 @@ msgstr ""
" --tcl Tcl modeua: sarrera tcl/msgcat .msg fitxategi "
"bat da\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FITXATEGIA... sarrera .mo fixtaegiak\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Sarrera fitxategi kokapena Java moduan:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2858,41 +3076,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Sarrera fitxategi kokapen C# moduan\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Sarrera fitxategi kokalekua Tcl moduan\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent idatzi koskadun estiloko irteera\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict idatzi uniforum zehatz estiloan\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2905,13 +3123,13 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
" -d, --repeated errepikaturiko mezuak bakarrik inprimatu\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -2920,7 +3138,7 @@ msgstr ""
" -u, --unique mezu bakarrak bakarrik inprimatu, "
"bikoiztutakoak alboratu\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<irteera-estandarra>"
@@ -2977,32 +3195,32 @@ msgstr ""
"Karaktere jokoa falta da goiburuan\n"
"Erabiltzailearen karaktere jokora mezu bihurketak ez du funtzionatuko.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "#~ -ren erabilera okerra"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "`msgstr[]' atala falta da"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "`msgid_plural' atala falta da"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "`msgstr' atala falta da"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "lehen plural moduak zero ez den indize bat du"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "plural moduak okerreko indize bat du"
@@ -3012,7 +3230,7 @@ msgstr "plural moduak okerreko indize bat du"
msgid "too many errors, aborting"
msgstr "errore gehiegi, uzten"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "multibyte sekuentzia baliogabea"
@@ -3056,64 +3274,83 @@ msgstr "lerro-amaiera katerik gabe"
msgid "context separator <EOT> within string"
msgstr "kontestu bereizlea <EOT> katerik gabe"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "fitxategi honek ez lituzke domeinu direktibak izan beharko"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "bikoizturiko mezu definizioa"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "hau da lehen definizioaren kokalekua"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "%s:%d: oharra: Unicode karaktere baliogabea"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "iragazki izena falta da"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "nplurals balio baliogabea"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "\"%s\" fixtategia hondaturik dago"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "s hau duena a katea"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "\"%s\" fitxategia ez da GNU .mo formatukoa"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "s hau duena a katea s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "warning: \\uxxxx sintasi baliogabe Unicode karaktereentzat"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "oharra: amaitugabeko katea"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "oharra: sintasi errorea"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "oharra: amaitugabeko kate/balio parea"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "oharra: sintasi errorea, ';' espero zen katearen ondoren"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "oharra: sintasi errorea, '=' edo ';' espero zen katearen ondoren"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "%s-ek eta %s-ek idatzia.\n"
@@ -3122,16 +3359,16 @@ msgstr "%s-ek eta %s-ek idatzia.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Serbiar testua Zirilikotik Latin skript-era birkodekatu\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3140,27 +3377,27 @@ msgstr ""
"Sarrera testua sarrera estandarretik irakurtzen da. Bihurturiko testua\n"
"irteera estandarrera aterako da\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "sarrera ez da baliozkoa \"%s\" kodeketan"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "errorea \"%s\" kodeketatik \"%s\" kodeketara formatua bihurtzean"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "bi argumentu espero ziren"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Erabilera: %s [AUKERA] URL FITXATEGIA\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3169,58 +3406,58 @@ msgstr ""
"URL batetako edukiak eskuratu eta atera. URL-a ezin bada ebatzi,\n"
"lokalki eskuragarri dagoen FITXATEGIA erabiliko da.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "errorea \"%s\" irakurtzean"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "errorea irteera estandarrean idazterakoan"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "errorea \"%s\" irakurri ondoren"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
#, fuzzy
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr "a single honekin formateatu horren ordez."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
#, fuzzy
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr "a single honekin formateatu."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
#, fuzzy
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr "formateatu."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
#, fuzzy
msgid ""
"message catalog has plural form translations, but the output format does not "
@@ -3228,7 +3465,7 @@ msgid ""
"of a properties file."
msgstr "formateatu a Java horren ordez - a."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3236,12 +3473,12 @@ msgstr ""
"mezu katalogoak itzulpen pluralak ditu, baina irteera formatuak ez ditu "
"onartzen."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "ezin da \"%s\" irteera fitxategia sortu"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "irteera estandarra"
@@ -3260,42 +3497,43 @@ msgstr "C# klase konpilazioak huts egin du, saiatu --verbose erabiliaz"
msgid "compilation of C# class failed"
msgstr "C# klase konpilazioak huts egin du, saiatu --verbose erabiliaz"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "errorea \"%s\" idaztekatarako irekitzerakoan"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "ez da baliozko java klase izena: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"Java klasearen konpilazioak huts egin du, saiatu --verbose erabiliz edo "
"$JAVAC ezarriz"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, fuzzy, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"Java klasearen konpilazioak huts egin du, saiatu --verbose erabiliz edo "
"$JAVAC ezarriz"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "errorea \"%s\" idaztekatarako irekitzerakoan"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "multibyte sekuentzia baliogabea"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "internazionalizatutako kateek ezin dute `\\%c' ihes sekuentzia eduki"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3309,7 +3547,7 @@ msgstr ""
" garbia erabiltzean pensta ezazu.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3323,7 +3561,7 @@ msgstr ""
" garbia erabiltzean pensta ezazu.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3331,7 +3569,7 @@ msgstr ""
"mezu katalogoak forma plural itzulpenak ditu\n"
"baina Qt mezu katalogo formatuak ez du plural kudeaketa onartzen\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
#, fuzzy
msgid ""
"message catalog has msgctxt strings containing characters outside "
@@ -3340,7 +3578,7 @@ msgid ""
"strings, not in the context strings\n"
msgstr "karakterera Qt formateatu Unicode in in n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
#, fuzzy
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
@@ -3348,357 +3586,177 @@ msgid ""
"strings, not in the untranslated strings\n"
msgstr "karakterera Qt formateatu Unicode in in n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "errorea %s azpirpozesuan idazterakoan"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
#, fuzzy
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr "C formateatu t n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
#, fuzzy
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr "C formateatu t n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
#, fuzzy
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr "formateatu t n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
#, fuzzy
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr "formateatu t n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "s l katea"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "s l"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: oharra: Unicode karaktere baliogabea"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "s l"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "s l katea"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
#, fuzzy
msgid "Please specify the source encoding through --from-code."
msgstr "ASCII katea s s Nork n"
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, fuzzy, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr "s l Baliogabea Nork n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, fuzzy, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr "s l osatu gabea Nork n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, fuzzy, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr "s l Osatugabea - Nork n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, fuzzy, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr "s l Osatugabea - Nork n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv hutsa"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, fuzzy, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr "s l Baliogabea Nork n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: oharra: Unicode karaktere baliogabea"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "s l katea"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: oharra: ')' aurkitu da '}' espero zen lekuan"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: oharra: '}' aurkitu da ')'espero zen lekuan"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"\"glade\" hizkuntza ez da onartzen. %s expat-en oinarritua.\n"
-"Bertsio hau expta gabe eraiki da.\n"
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "s l katea"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "ASCII katea s s Nork n"
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr "s l Baliogabea Nork n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr "s l osatu gabea Nork n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr "s l Osatugabea - Nork n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr "s l Osatugabea - Nork n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr "s l Baliogabea Nork n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "s l katea"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: oharra: Unicode karaktere baliogabea"
-
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "s l katea"
+msgid "syntax check '%s' unknown"
+msgstr "`%s' hizkuntza ezezaguna"
-#: src/x-perl.c:308
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: ez da kate amaiera aurkitzen \"%s\" fixtategi amaiera aurreko inon"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: eskuin giltza falta da hemen: \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazio baliogabea (\"\\l\") 8bit-eko karakterean\"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazio baliogabea (\"\\u\") 8bit-eko karakterean\"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: aldagai interpolazio baliogabe a \"%c\"-en"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazio baliogabea (\"\\L\") 8bit-eko karakterean\"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazio baliogabea (\"\\U\") 8bit-eko karakterean\"%c\""
-
-#: src/x-python.c:278
-#, fuzzy
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr "ASCII katea s s Nork a inhttp://www.python.org/peps/pep-0263.html. n"
-
-#: src/x-python.c:324
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr "s l Baliogabea Nork a inhttp://www.python.org/peps/pep-0263.html. n"
-
-#: src/x-python.c:341
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr "s l osatu gabea Nork a inhttp://www.python.org/peps/pep-0263.html. n"
-
-#: src/x-python.c:354
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr "s l Osatugabea - Nork a inhttp://www.python.org/peps/pep-0263.html. n"
-
-#: src/x-python.c:364
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr "s l Osatugabea - Nork a inhttp://www.python.org/peps/pep-0263.html. n"
-
-#: src/x-python.c:397
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr "s l Baliogabea Nork a inhttp://www.python.org/peps/pep-0263.html. n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "\"%s\" kodeketa ezezaguna. ASCII erabiliaz aurrera egingo da."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: kate definizio baliogabea"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: zenbaki bat faltda da # ondoren"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: kate espresio baliogabea"
-#: src/x-sh.c:1075
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%lu: oharra: $\"...\" sintasia zaharkiturik dago segurtasun "
-"arrazoiegatik ; eval_gettext erabili horren ordez"
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "s l katea"
+"--join-existing ezin da erabili irteera irteera estandarrean idazten denean"
-#: src/xgettext.c:545
+#: src/xgettext.c:716
#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/xgettext.c:648
+#: src/xgettext.c:868
#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"--join-existing ezin da erabili irteera irteera estandarrean idazten denean"
-#: src/xgettext.c:653
+#: src/xgettext.c:949
#, c-format
-msgid "xgettext cannot work without keywords to look for"
+msgid ""
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "oharra: `%s' fitxategi hedaopena `%s' ezezaguna da, C probatuko da"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Irauli kate itzulgarriak emandako sarrera fitxategietatik.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3707,12 +3765,12 @@ msgstr ""
" -d, --default-domain=IZENA IZENA erabili irteerarako (messages.po "
"ordez)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FILE idatzi irteera ezarritako fitxategian\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -3720,12 +3778,12 @@ msgstr ""
" -p, --output-dir=DIR irteera fitxategiak DIR direktorioan utziko "
"dira\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Sarrera fitxategiaren hizkuntza hautapena:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, fuzzy, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3745,12 +3803,12 @@ msgstr ""
"PHP,\n"
" GCC-source, NXStringTable, RST, Glade)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ --language=C++-ren laburopena\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -3759,7 +3817,7 @@ msgstr ""
"Lehenespen bezala hizkuntza sarrera fitxategiaren izen hedapenaz igarriko "
"da.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3768,24 +3826,24 @@ msgstr ""
" --from-code=NAME sarrera fixtategien kodeket\n"
" (Python, Tcl, Glade-en ezezik)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Lehenespen modura sarrera fitxategiak ASCII direla suposatuko da.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=FITXATEGIA.po FITXATEGIA.po fitxategiko kateak ez dira "
"irauliko\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3795,17 +3853,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Hizkuntzaren aukera bereziak:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all kate guztiak atera\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3820,7 +3894,7 @@ msgstr ""
" Perl, PHP, GCC-source eta Glade hizkuntzetan "
"bakarrik)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3835,7 +3909,7 @@ msgstr ""
" Perl, PHP, GCC-source eta Glade hizkuntzetan "
"bakarrik)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3843,7 +3917,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3858,38 +3932,38 @@ msgstr ""
" Tcl, Perl, PHP, GCC-source hizkuntzetan "
"bakarrik)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs ANSI C trigraphs-ak ulertu sarreran\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (C, C++, ObjectiveC hizkuntzetan bakarrik)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt Qt formatuko kateak antzeman\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (C++ hizkuntz bakarrik)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, fuzzy, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --qt Qt formatuko kateak antzeman\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost Boost formatuko kateak antzeman\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -3897,17 +3971,29 @@ msgstr ""
" --debug kate formatu atzemateari buruzko informazio "
"hedatuagoa\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output idatzi Java .properties fitxategi bat\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=FITXATEGI sarrera fitxategi zerrenda FITXATEGI-tik "
+"eskuratu\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --strict idatzi uniforum zehatz estiloan\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=KATEA copyright jabea ezarri irteeran\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -3915,17 +4001,17 @@ msgstr ""
" --foreign-user alde batera utzi FSF copyright-a kanpoko "
"erabiltzaileen irteeran\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, fuzzy, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --copyright-holder=KATEA copyright jabea ezarri irteeran\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -3933,7 +4019,7 @@ msgstr ""
" --msgid-bugs-address=EPOSTA@HELBIDEA msgid erroreentzat erreporte "
"helbidea ezarri\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, fuzzy, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3943,7 +4029,7 @@ msgstr ""
" -M, --msgstr-prefix[=KATEA] KATEA erabili edo \"\" aurrizki bezala msgstr "
"sarreretan\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, fuzzy, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3953,7 +4039,7 @@ msgstr ""
" -M, --msgstr-suffix[=KATEA] KATEA erabili edo \"\" atzizki bezala msgstr "
"sarreretan\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -3961,45 +4047,45 @@ msgid ""
msgstr ""
"--flag argumentuak ez du <hitz-ako>:<argzenb>:[pasa-]<badera> sintasia: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "sarrera estandarra"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: oharra: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4008,7 +4094,7 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4018,28 +4104,28 @@ msgstr ""
"gettext(\"\")-ek meta informazioa duen goiburua\n"
"itzultzen du, ez date hutsa.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "oharra: argumentu ezarpen zalanatzagarria '%.*s' hitz-gakoarentzat"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "oharra: kontestua falta da '%.*s' hitz-gakoarentzat"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"oharra: kontestua falta da '%.*s' hitz-gakoaren plural arumentuarentzat"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "kontestu parekatze okerra formatu singular eta pluralaren artean"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
#, fuzzy
msgid ""
"The option --msgid-bugs-address was not specified.\n"
@@ -4052,15 +4138,326 @@ msgstr ""
"MSGID_BUGS_ADDRESS aldagaia hor; bestela mesedez ezarri\n"
"--msgid-bugs-address aukera komando lerroan.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "`%s' hizkuntza ezezaguna"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "s l katea"
+
+#: src/x-javascript.c:231
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "ASCII katea s s Nork n"
+
+#: src/x-javascript.c:276
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr "s l Baliogabea Nork n"
+
+#: src/x-javascript.c:292
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr "s l osatu gabea Nork n"
+
+#: src/x-javascript.c:304
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr "s l Osatugabea - Nork n"
+
+#: src/x-javascript.c:313
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr "s l Osatugabea - Nork n"
+
+#: src/x-javascript.c:345
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr "s l Baliogabea Nork n"
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "s l katea"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: oharra: Unicode karaktere baliogabea"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "s l katea"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: ez da kate amaiera aurkitzen \"%s\" fixtategi amaiera aurreko inon"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: eskuin giltza falta da hemen: \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazio baliogabea (\"\\l\") 8bit-eko karakterean\"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazio baliogabea (\"\\u\") 8bit-eko karakterean\"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: aldagai interpolazio baliogabe a \"%c\"-en"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazio baliogabea (\"\\L\") 8bit-eko karakterean\"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazio baliogabea (\"\\U\") 8bit-eko karakterean\"%c\""
+
+#: src/x-python.c:279
+#, fuzzy
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr "ASCII katea s s Nork a inhttp://www.python.org/peps/pep-0263.html. n"
+
+#: src/x-python.c:325
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr "s l Baliogabea Nork a inhttp://www.python.org/peps/pep-0263.html. n"
+
+#: src/x-python.c:342
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr "s l osatu gabea Nork a inhttp://www.python.org/peps/pep-0263.html. n"
+
+#: src/x-python.c:355
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr "s l Osatugabea - Nork a inhttp://www.python.org/peps/pep-0263.html. n"
+
+#: src/x-python.c:365
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr "s l Osatugabea - Nork a inhttp://www.python.org/peps/pep-0263.html. n"
+
+#: src/x-python.c:398
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr "s l Baliogabea Nork a inhttp://www.python.org/peps/pep-0263.html. n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "\"%s\" kodeketa ezezaguna. ASCII erabiliaz aurrera egingo da."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: kate definizio baliogabea"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: zenbaki bat faltda da # ondoren"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: kate espresio baliogabea"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: oharra: $\"...\" sintasia zaharkiturik dago segurtasun "
+"arrazoiegatik ; eval_gettext erabili horren ordez"
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "s l katea"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<izengabea>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "kontrol sekuentzia baliogabea"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "ez da baliozko java klase izena: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "ez da baliozko java klase izena: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "kontrol sekuentzia baliogabea"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "multibyte sekuentzia baliogabea"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "%s argumentu baliogabea %s-rentzat"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "iragazki izena falta da"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "\"glade\" hizkuntza ez da onartzen. %s expat-en oinarritua.\n"
+#~ "Bertsio hau expta gabe eraiki da.\n"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: legezkanpoko aukera -- %c\n"
diff --git a/gettext-tools/po/fi.gmo b/gettext-tools/po/fi.gmo
index e2f0b07..724cbcf 100644
--- a/gettext-tools/po/fi.gmo
+++ b/gettext-tools/po/fi.gmo
Binary files differ
diff --git a/gettext-tools/po/fi.po b/gettext-tools/po/fi.po
index 1686cef..c74207d 100644
--- a/gettext-tools/po/fi.po
+++ b/gettext-tools/po/fi.po
@@ -1,16 +1,16 @@
# Finnish translations for GNU Gettext package.
# This file is distributed under the same license as the gettext package.
-# Copyright © 2002, 2009, 2010, 2013, 2014 Free Software Foundation, Inc.
+# Copyright © 2002, 2009, 2010, 2013, 2014, 2015 Free Software Foundation, Inc.
# Sami J. Laine <sami.laine@iki.fi>, 2002
# Lauri Nurmi <lanurmi@iki.fi>, 2009
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2013-2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2013-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.3\n"
+"Project-Id-Version: gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-19 19:27+0300\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-09-01 19:17+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
@@ -59,40 +59,40 @@ msgstr "tilapäisen hakemiston %s poistaminen epäonnistui"
msgid "write error"
msgstr "kirjoitusvirhe"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "säilytetään käyttöoikeudet kohteelle %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "virhe avattaessa tiedostoa %s lukemista varten"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "varmuuskopiotiedoston %s avaaminen kirjoittamista varten epäonnistui"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "virhe luettaessa tiedostoa %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "virhe kirjoitettaessa tiedostoa %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "virhe tiedoston %s lukemisen jälkeen"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() epäonnistui"
@@ -118,58 +118,63 @@ msgstr "Tuntematon järjestelmän virhe"
msgid "%s subprocess failed"
msgstr "%s aliprosessi epäonnistui"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen; mahdollisuudet:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: valitsin ’--%s’ ei salli argumenttia\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: valitsin ’%c%s’ ei salli argumenttia\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: valitsin ’--%s’ vaatii argumentin\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tunnistamaton valitsin ’--%s’\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tunnistamaton valitsin ’%c%s’\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: virheellinen valitsin -- ’%c’\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: valitsin vaatii argumentin -- ’%c’\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: valitsin ’-W %s’ ei ole yksiselitteinen\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: valitsin ’-W %s’ ei salli argumenttia\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: valitsin ’-W %s’ vaatii argumentin\n"
@@ -185,15 +190,16 @@ msgstr "virheellinen source_version-argumentti kohteelle compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "virheellinen target_version-argumentti kohteelle compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "tiedoston â€%s†luominen epäonnistui"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "virhe kirjoitettaessa tiedostoa â€%sâ€"
@@ -210,15 +216,15 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"Java-virtuaalikonetta ei löytynyt, yritä asentaa gij tai aseta muuttuja $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s aliprosessisiirräntävirhe"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "muisti loppui"
@@ -230,7 +236,7 @@ msgid "creation of threads failed"
msgstr "säikeiden luominen epäonnistui"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "kirjoittaminen aliprosessiin %s epäonnistui"
@@ -276,11 +282,11 @@ msgstr "%s aliprosessi päättyi poistumiskoodilla %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "â€"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "â€"
@@ -316,22 +322,163 @@ msgstr "%s aliprosessi"
msgid "%s subprocess got fatal signal %d"
msgstr "%s aliprosessi vastaanotti fataalin signaalin %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "virhe avattaessa tiedostoa â€%s†lukemista varten"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Juurielementti <%s> ei ole sallittu virheettömässä Glade-tiedostossa"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "’%s’ ei ole kelvollinen %s-muotomerkkijono, toisin kuin ’%s’. Syy: %s"
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Komento ’%s --help’ antaa lisää tietoja.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Käyttö: %s [VALITSIN] [TIEDOSTO]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n"
+"Valinnaiset argumentit vastaavasti.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -V, --version Näytä versiotiedot\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help näytä tämä ohje ja poistu\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version tulosta ohjelman versiotiedot ja poistu\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Ilmoita ohjelmiston vioista (englanniksi) osoitteeseen <bug-gnu-gettext@gnu."
+"org>.\n"
+"Ilmoita suomennoksen vioista osoitteeseen <translation-team-fi@lists."
+"sourceforge.net>.\n"
+
+# Käännetty M. Välimäen GPLv3-käännöksestä vihjeitä katsoen.
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"Lisenssi GPLv3+: GNU GPL versio 3 tai myöhempi <http://gnu.org/licenses/gpl.html>\n"
+"Tämä on vapaa ohjelmisto ja sen muuttaminen ja levittäminen edelleen on sallittua.\n"
+"Ohjelmalle EI ANNETA TAKUUTA lain sallimissa rajoissa.\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Kirjoittanut %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s on olemassa, mutta sen lukeminen epäonnistui"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "tilapäisen hakemiston %s poistaminen epäonnistui"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "virhe avattaessa tiedostoa â€%s†lukemista varten"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -339,33 +486,39 @@ msgstr ""
"muotomäärittelyä argumentille %u sellaisena kuin merkkijonossa ’%s’, ei ole "
"olemassa merkkijonossa ’%s’"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "muotomäärittelyä argumentille %u ei ole merkkijonossa ’%s’"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"muotomäärittelyt eivät ole samat merkkijonossa ’%s’ ja merkkijonossa ’%s’ "
"argumentille %u"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktiivinumero %u alkaa merkillä | mutta ei pääty merkkeihin |."
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "’%s’ ei ole kelvollinen %s-muotomerkkijono, toisin kuin ’%s’. Syy: %s"
+
# Sanalla token on eri merkityksiä eri asiayhteyksissä. Tässä otaksun, että kyse on merkkijonosta, joka ei sisällä tyhjemerkkejä (välilyöntejä)
-#: src/format-c.c:36
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -375,66 +528,66 @@ msgstr ""
"muotomääritemakron nimi. Kelvolliset makronimet luetellaan ISO C 99 luvussa "
"7.8.1"
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"Direktiivissä numero %u merkin ’<’ jäljessä olevaa merkkijonoa ei seuraa "
"merkki ’>’."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Merkkijono viittaa argumenttiin numero %u, mutta ohittaa argumentin numero "
"%u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
"muotomäärittelyiden määrä merkkijonossa ’%s’ ja merkkijonossa ’%s’ ei täsmää"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "Direktiivissä numero %u argumenttinumeroa ei ole merkin ’{’ jäljessä."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Direktiivissä numero %u numeroa ei ole merkin ’,’ jäljessä."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Merkkijono loppuu keskellä direktiiviä: löytyi ’{’ ilman päättävää suljetta "
"’}’."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"Direktiivi numero %u päättyy virheelliseen merkkiin ’%c’ eikä sulkeeseen ’}’."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Direktiivi numero %u päättyy virheelliseen merkkiin eikä sulkeeseen ’}’."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"Merkkijono alkaa keskeltä direktiiviä: löytyi ’}’ ilman alkusuljetta ’{’."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -556,7 +709,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"Merkkijono viittaa argumenttinumeroon %u yhteensopimattomilla tavoilla."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -565,19 +718,19 @@ msgstr ""
"Direktiivissä numero %u osamerkkijono â€%s†ei ole kelvollinen päivämäärä- "
"tai aikatyyli."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Direktiivissä numero %u pilkku ei seuraa merkkijonoa â€%sâ€."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"Direktiivissä numero %u osamerkkijono â€%s†ei ole kelvollinen numerotyyli."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -586,12 +739,12 @@ msgstr ""
"Direktiivissä numero %u argumenttinumeroa ei seuraa pilkku tai yksi "
"seuraavista: â€%sâ€, â€%sâ€, â€%sâ€, â€%sâ€."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Direktiivissä numero %u valinta ei sisällä numeroa."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -600,7 +753,7 @@ msgstr ""
"Direktiivissä numero %u valinta sisältää numeron, jota ei seuraa ’<’, ’#’ "
"eikä ’%s’."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -608,12 +761,12 @@ msgstr ""
"muotomäärittelyä argumentille {%u}, kuten merkkijonossa ’%s’, ei ole "
"merkkijonossa ’%s’"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "muotomäärittelyä argumentille {%u} ei ole merkkijonossa ’%s’"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -621,7 +774,29 @@ msgstr ""
"muotomäärittelyt eivät ole samat merkkijonossa ’%s’ ja merkkijonossa ’%s’ "
"argumentille {%u}"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Merkkijono viittaa argumenttiin numero %u, mutta ohittaa argumentit %u ja %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"muotomäärittelyä argumenteille %u ja %u ei ole olemassa merkkijonossa ’%s’, "
+"vain yksi argumentti voidaan ohittaa"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "virhe jäsennettäessä: â€%sâ€"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -631,7 +806,7 @@ msgstr ""
"Direktiivissä numero %u parametri %u on ’%s’-tyyppinen, mutta odotettiin "
"’%s’-tyyppistä parametriä."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -646,33 +821,33 @@ msgstr[1] ""
"Direktiivissä numero %u annettiin liian monia parametreja; odotettiin "
"korkeintaan %u parametria."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Direktiivissä numero %u merkkiä ’%c’ ei seuraa luku."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Direktiivissä numero %u argumentti %d on negatiivinen."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Merkkijono loppuu keskellä ~/.../-direktiiviä."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Löytyi ’~%c’ ilman täsmäävää ’~%c’."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "Direktiivissä numero %u annettiin sekä @- että :-määritteet."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -681,32 +856,38 @@ msgstr ""
"Direktiivissä numero %u merkkien ’~:[’ jäljessä ei ole kaksi lausetta, jotka "
"on eroteltu merkeillä ’~;’."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
"Direktiivissä numero %u merkkejä ’~;’ käytetään virheellisessä paikassa."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
"Merkkijono viittaa johonkin argumenttiin yhteensopimattomilla tavoilla."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr ""
"muotomäärittelyt merkkijonossa ’%s’ ja merkkijonossa ’%s’ eivät ole "
"yhdenmukaiset"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"muotomäärittelyt merkkijonossa ’%s’ eivät ole merkkijonon ’%s’ "
"muotomäärittelyiden osajoukko"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "muotomäärittelyä argumentille ’%s’ ei löydy merkkijonosta ’%s’"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -715,14 +896,36 @@ msgstr ""
"Direktiivissä numero %u kokomäärittelijä on yhteensopimaton "
"muunnosmäärittelijän ’%c’ kanssa."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "muotomäärittelyä argumentille ’%s’ ei löydy merkkijonosta ’%s’"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Direktiivissä numero %u merkki ’%c’ ei voi aloittaa kenttänimeä."
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"Direktiivissä numero %u merkki ’%c’ ei voi aloittaa getattr-argumenttia."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"Direktiivissä numero %u merkki ’%c’ ei voi aloittaa getitem-argumenttia."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"Direktiivissä numero %u ei sallita enempää sisäkkäisyyttä muotomääritteessä."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Direktiivissä numero %u on päättämätön muotodirektiivi."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -730,13 +933,13 @@ msgstr ""
"Merkkijono viittaa argumentteihin sekä argumenttinimien että nimettömien "
"argumenttimäärittelyjen avulla."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"Merkkijono viittaa argumenttiin nimeltään ’%s’ yhteensopimattomilla tavoilla."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -744,7 +947,7 @@ msgstr ""
"muotomäärittelyt merkkijonossa ’%s’ edellyttävät kartoitusta, "
"muotomäärittelyt merkkijonossa ’%s’ edellyttävät järjestettyä joukkoa"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -752,7 +955,7 @@ msgstr ""
"muotomäärittelyt merkkijonossa ’%s’ edellyttävät järjestettyä joukkoa, "
"muotomäärittelyt merkkijonossa ’%s’ edellyttävät kartoitusta"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -760,7 +963,7 @@ msgstr ""
"muotomäärittelyä argumentille ’%s’, kuten merkkijonossa ’%s’:ssä, ei löydy "
"merkkijonosta ’%s’"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -768,36 +971,7 @@ msgstr ""
"muotomäärittelyt eivät ole samat merkkijonossa ’%s’ ja merkkijonossa ’%s’ "
"argumentille ’%s’"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Direktiivissä numero %u merkki ’%c’ ei voi aloittaa kenttänimeä."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"Direktiivissä numero %u merkki ’%c’ ei voi aloittaa getattr-argumenttia."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-"Direktiivissä numero %u merkki ’%c’ ei voi aloittaa getitem-argumenttia."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"Direktiivissä numero %u ei sallita enempää sisäkkäisyyttä muotomääritteessä."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Direktiivissä numero %u on päättämätön muotodirektiivi."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -806,11 +980,11 @@ msgstr ""
"’%s’ on yksinkertainen muotomerkkijono, mutta ’%s’ ei ole: se sisältää ’L’-"
"lipun tai kaksilukuisen argumenttinumeron"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "Merkkijono viittaa komentoikkunamuuttujaan, jolla on ei-ASCII-nimi."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -818,7 +992,7 @@ msgstr ""
"Merkkijono viittaa komentoikkunamuuttujaan, jolla on mutkikas "
"aaltosulkusyntaksi. Tämä syntaksi on tukematon turvallisuussyistä."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -826,94 +1000,58 @@ msgstr ""
"Merkkijono viittaa komentoikkunamuuttujaan, jonka arvo saattaa olla "
"erilainen komentoikkunafunktioiden sisällä."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Merkkijono viittaa komentoikkunamuuttujaan, jolla on tyhjä nimi."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "Direktiivissä numero %u merkki ’%c’ ei ole luku välillä 1...9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Merkki, joka päättää direktivin numero %u ei ole luku välillä 1...9."
-# Käännetty M. Välimäen GPLv3-käännöksestä vihjeitä katsoen.
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright © %s Free Software Foundation, Inc.\n"
-"Lisenssi GPLv3+: GNU GPL versio 3 tai myöhempi <http://gnu.org/licenses/gpl.html>\n"
-"Tämä on vapaa ohjelmisto ja sen muuttaminen ja levittäminen edelleen on sallittua.\n"
-"Ohjelmalle EI ANNETA TAKUUTA lain sallimissa rajoissa.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Kirjoittanut %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "liian monta argumenttia"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Komento ’%s --help’ antaa lisää tietoja.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Käyttö: %s [VALITSIN]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Näytä laitteen konenimi.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Tulosteen muoto:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short lyhyt tietokonenimi\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -924,81 +1062,103 @@ msgstr ""
"kelpuutetun\n"
" verkkoaluenimen ja aliakset\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address osoitteet tietokoneelle\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Selittävä tuloste:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help näytä tämä ohje ja poistu\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "ei saatu tietokonenimeä"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version tulosta ohjelman versiotiedot ja poistu\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "on annettava vähintään kaksi tiedostoa"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "putken luominen epäonnistui"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-"Ilmoita ohjelmiston vioista (englanniksi) osoitteeseen <bug-gnu-gettext@gnu."
-"org>.\n"
-"Ilmoita suomennoksen vioista osoitteeseen <translation-team-fi@lists."
-"sourceforge.net>.\n"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:614
#, c-format
-msgid "could not get host name"
-msgstr "ei saatu tietokonenimeä"
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "virheellinen argumentti %s kontekstille %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "putken luominen epäonnistui"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s ei ole olemassa"
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "tulostetiedoston â€%s†luominen epäonnistui"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "enintään yksi syötetiedosto on sallittu"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "valitsimet %s ja %s ovat toisensa poissulkevia"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Käyttö: %s [VALITSIN] [SYÖTETIEDOSTO]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1007,33 +1167,33 @@ msgstr ""
"Suodattaa käännösluettelon viestit niiden attribuuttien mukaan,\n"
"ja manipuloi attribuutteja.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Syötetiedostosijainti:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " SYÖTETIEDOSTO syötteen PO-tiedosto\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1041,31 +1201,32 @@ msgstr ""
" -D, --directory=HAKEMISTO lisää HAKEMISTO syötetiedostojen "
"hakuluetteloon\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "Jos syötetiedostoa ei ole annettu tai se on -, luetaan vakiosyöte.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Tulostetiedostosijainti:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=TIEDOSTO kirjoita tuloste määriteltyyn tiedostoon\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1075,71 +1236,71 @@ msgstr ""
"määritelty\n"
"tai jos se on -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Viestivalinta:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated pidä käännetyt, poista kääntämättömät viestit\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
" --untranslated pidä kääntämättömät, poista käännetyt viestit\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy poista ’fuzzy’-merkityt vajaat viestit\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy pidä ’fuzzy’-merkityt vajaat viestit\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete poista vanhentuneet #~ -viestit\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete pidä vanhentuneet #~ -viestit\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Attribuuttimanipulointi:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy aseta kaikki viestit vajaiksi\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy aseta kaikki viestit epävajaiksi\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete aseta kaikki viestit vanhentuneiksi\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete aseta kaikki sanomat ei-vanhentuneiksi\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1148,7 +1309,7 @@ msgstr ""
" --previous kun asetetaan vajaiksi, säilytä käännettyjen\n"
" viestien aikaisemmat msgid-merkkijonot\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1156,7 +1317,7 @@ msgid ""
msgstr ""
" --clear-previous poista \"previous msgid\" kaikista viesteistä\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1164,7 +1325,7 @@ msgstr ""
" --empty poistettaessa ’fuzzy’-merkityt vajaat viestit "
"poista myös tyhjä msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1172,7 +1333,7 @@ msgstr ""
" --only-file=TIEDOSTO.po manipuloi vain rivejä, jotka on luetteloitu "
"tiedostossa TIEDOSTO.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1180,14 +1341,14 @@ msgstr ""
" --ignore-file=TIEDOSTO.po manipuloi vain rivejä, joita ei ole "
"luetteloitu tiedostossa TIEDOSTO.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy synonyymi valitsimelle --only-fuzzy --clear-"
"fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1195,16 +1356,16 @@ msgstr ""
" --obsolete synonyymi valitsimelle --only-obsolete --clear-"
"obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syötetiedoston syntaksi:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1212,8 +1373,8 @@ msgstr ""
" -P, --properties-input syötetiedosto on Java .properties -"
"syntaksissa\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1222,17 +1383,17 @@ msgstr ""
" --stringtable-input syötetiedosto on NeXTstep/GNUstep .strings -"
"syntaksissa\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Tulosteen yksityiskohdat:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1247,18 +1408,18 @@ msgstr ""
" MILLOIN saattaa olla ’always’, ’never’, "
"’auto’, tai ’html’.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=TYYLITIEDOSTO määritä CSS-tyylisääntötiedosto valitsimelle --"
"color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1266,9 +1427,9 @@ msgstr ""
" -e, --no-escape älä käytä C-koodinvaihtomerkkejä tulosteessa "
"(oletus)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1276,39 +1437,39 @@ msgstr ""
" -E, --escape käytä C-koodinvaihtomerkkejä tulosteessa, ei "
"laajennettuja merkkejä\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po kirjoita PO-tiedosto vaikka se on tyhjä\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent kirjoita .po -tiedosto käyttäen sisennettyä "
"tyyliä\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location älä kirjoita ’#: filename:line’ -rivejä\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location tuota ’#: filename:line’ -rivit (oletus)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1316,32 +1477,32 @@ msgstr ""
" --strict luo tiukasti Uniforum-yhteensopiva .po-"
"tiedosto\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output luo Java .properties -tiedosto\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output luo NeXTstep/GNUstep .strings -tiedosto\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMERO aseta tulostesivun leveys\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1351,33 +1512,33 @@ msgstr ""
"kuin\n"
" tulostesivun leveys, useammalle riville\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output tuota lajiteltu tuloste\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file lajittele tuloste tiedostosijainnin mukaan\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "määritelty mahdoton valintakriteeri (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Käyttö: %s [VALITSIN] [SYÖTETIEDOSTO]...\n"
# Pistekommentilla tarkoitan kehittäjän kääntäjää varten lisäämiä kommentteja, jotka alkavat risuaitamerkillä ja sen jälkeisellä pisteellä.
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1400,25 +1561,25 @@ msgstr ""
"--use-first on määritelty. Silloin ne otetaan ensimmäisestä PO-tiedostosta,\n"
"joka on määritellyt ne.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " SYÖTETIEDOSTO ... syötetiedostot\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=TIEDOSTO hae syötetiedostojen luettelo TIEDOSTOsta\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Jos syötetiedosto on -, luetaan vakiosyötettä.\n"
# Tässä defaults taitaa olla verbi yksikön kolmannessa persoonassa.
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1429,7 +1590,7 @@ msgstr ""
" määrittelyä. Oletus ääretön, jos ei ole "
"asetettu\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1439,7 +1600,7 @@ msgstr ""
"monta\n"
" määrittelyä. Oletus 0, jos ei ole asetettu\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1449,8 +1610,8 @@ msgstr ""
"pyynnöille\n"
" että vain uniikkeja viestejä tulostetaan\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1458,8 +1619,8 @@ msgstr ""
" -P, --properties-input syötetiedostot ovat Java .properties -"
"syntaksissa\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1468,12 +1629,12 @@ msgstr ""
" --stringtable-input syötetiedostot ovat NeXTstep/GNUstep .strings\n"
" -syntaksissa\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NIMI koodaus tulosteelle\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1484,34 +1645,34 @@ msgstr ""
" jokaiselle viestille, älä yhdistä useita "
"käännöksiä\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=LUETTELONIMI aseta ’Language’-kenttä otsakkeessa\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "syötetiedostoja ei annettu"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "tarvitaan täsmälleen kaksi syötetiedostoa"
# Tiedostoihin ref.pot ja def.po viitataan muissa teksteissä, joten ne on paras jättää suomentamatta.
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Käyttö: %s [VALITSIN] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1529,22 +1690,22 @@ msgstr ""
"ei löydetä tarkkaa täsmäystä, käytetään vajaustäsmäystä tuottamaan parempi\n"
"diagnostiikka.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po käännökset\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot viitteet lähteisiin\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Toimintomääreet:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1553,65 +1714,65 @@ msgstr ""
" -m, --multi-domain käytä ref.pot-tiedostoa jokaiselle "
"nimiavaruudelle tiedostossa def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching älä käytä vajaustäsmäystä\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy ota huomioon vajausrivit\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated ota huomioon kääntämättömät rivit\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "tämä viesti on kääntämättä"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "kääntäjän on katselmoitava tämä viesti"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "tätä viestiä käytetään, mutta sitä ei ole määritelty..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...mutta tämä määrittely on samanlainen"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr ""
"tätä viestiä käytetään, mutta sitä ei ole määritelty nimiavaruudessa %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "varoitus: tätä viestiä ei käytetä"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d vakava virhe"
msgstr[1] "%d vakavaa virhettä"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "on annettava vähintään kaksi tiedostoa"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1632,7 +1793,7 @@ msgstr ""
"--use-first on määritelty. Silloin ne otetaan ensimmäisestä PO-tiedostosta,\n"
"joka on määritellyt ne. Tiedostosijainnit kaikista PO-tiedostoista kumuloituvat.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1643,7 +1804,7 @@ msgstr ""
" monta määrittelyä. Oletus 1, jos ei ole "
"asetettu\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1651,62 +1812,62 @@ msgstr ""
" --omit-header älä kirjoita otsaketta, jossa on ’msgid \"\"’ -"
"rivi\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Muuntaa käännösluettelon eri merkkikoodaukseen.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Muunnoskohde:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Oletuskoodaus on nykyisen paikallisasetuksen koodaus.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent sisennetty tulostetyyli\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location vaienna ’#: filename:line’ -rivit\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location säilytä ’#: filename:line’ -rivit (oletus)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict tiukka Uniforum-tulostetyyli\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "syötetiedostoa ei annettu"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "tarvitaan täsmälleen yksi syötetiedosto"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Käyttö: %s [VALITSIN] SYÖTETIEDOSTO\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1719,22 +1880,22 @@ msgstr ""
"ohjelman luoma). Kääntämättömät rivit liitetään käännökseen, joka on\n"
"identtinen msgid-merkkijonolle.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " SYÖTETIEDOSTO syötteen PO- tai POT-tiedosto\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "puuttuva komentonimi"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Käyttö: %s [VALITSIN] KOMENTO [KOMENNON VALITSIN]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1749,7 +1910,7 @@ msgstr ""
"Se tulosteesta tulee msgexec-tuloste. Paluukoodi msgexec-ohjelmalle\n"
"on kaikkien kutsujen maksimipaluukoodi.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1758,37 +1919,47 @@ msgstr ""
"Erityinen sisäinen komento nimeltä ’0’ tulostaa käännöksen ja nollatavun.\n"
"â€msgexec 0â€:n tuloste kelpaa syötteeksi â€xargs -0â€:lle.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Komentosyöte:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline lisää rivinvaihto syötteen loppuun\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=SYÖTETIEDOSTO syöte-PO-tiedosto\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "puuttuva suodatinnimi"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "vähintään yksi sed-skripti on määriteltävä"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Käyttö: %s [VALITSIN] SUODATIN [SUODATTIMEN VALITSIN]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Soveltaa suodatinta kaikkiin käännösluettelon käännöksiin.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1798,19 +1969,33 @@ msgstr ""
"vakiosyötteestä\n"
"ja kirjoittaa muutetun käännöksen vakiotulosteeseen.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Suodatinsyöte ja -tuloste:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline lisää rivinvaihto syötteen loppuun ja\n"
+" poista rivinvaihto tulosteen lopusta"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Hyödylliset SUODATTIMEN VALITSIN-asetukset kun SUODATIN on ’sed’:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SKRIPTI lisää SKRIPTI suoritettaviin komentoihin\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1820,14 +2005,14 @@ msgstr ""
" -f, --file=SKRIPTITIEDOSTO lisää SKRIPTITIEDOSTOn sisältö suoritettaviin\n"
" komentoihin\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent vaienna mallitilan automaattinen tulostus\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1835,12 +2020,12 @@ msgstr ""
" --no-escape älä käytä C-koodinvaihtomerkkejä tulosteessa "
"(oletus)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent sisennetty tulostetyyli\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1848,123 +2033,124 @@ msgstr ""
" --keep-header pidä otsake muokkaamattomana, älä suodata "
"sitä\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "syötetuloste ei pääty rivinvaihtoon"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argumentti valitsimeen %s pitäisi olla yksittäinen välimerkki"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "virheellinen endian-tyyppi: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "syötetiedostoa ei pitäisi antaa, jos %s ja %s on määritelty"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "valitsin %s vaatii â€-d directoryâ€-määrittelyn"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "valitsin %s vaatii â€-l localeâ€-määrittelyn"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "valitsin %s vaatii â€--template templateâ€-määrittelyn"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "valitsin %s vaatii â€-o fileâ€-määrittelyn"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "valitsimet %s ja %s ovat toisensa poissulkevia kohteessa %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "valitsin %s on kelvollinen vain valitsimen %s tai %s kanssa"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "valitsin %s on kelvollinen vain valitsimen %s, %s tai %s kanssa"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "tulostetiedoston â€%s†luominen epäonnistui"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d käännetty viesti"
msgstr[1] "%d käännettyä viestiä"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d vajaa käännös"
msgstr[1] ", %d vajaata käännöstä"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d kääntämätön viesti"
msgstr[1] ", %d kääntämätöntä viestiä"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Käyttö: %s [VALITSIN] tiedosto.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Tuota binäärimuotoisia viestiluetteloita tekstimuotoisesta "
"käännöskuvauksesta.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n"
-"Valinnaiset argumentit vastaavasti.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " tiedosto.po ... syötetiedostot\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Toimintatila:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1972,7 +2158,7 @@ msgid ""
msgstr ""
" -j, --java Java-tila: tuota Java ResourceBundle -luokka\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1981,12 +2167,12 @@ msgstr ""
" --java2 kuten --java, ja otaksu Java2 (JDK 1.2 tai "
"uudempi)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C#-tila: tuota .NET .dll -tiedosto\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1995,47 +2181,52 @@ msgstr ""
" --csharp-resources C#-resurssitila: tuota .NET .resources -"
"tiedosto\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl-tila: tuotaa tcl/msgcat .msg -tiedosto\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt-tila: tuota Qt .qm -tiedosto\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
" --desktop Työpöytä-syöttötila: tuota .desktop -tiedosto\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt-tila: tuota Qt .qm -tiedosto\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict ota käyttöön tiukka Uniforum-tila\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Jos tulostiedosto on -, tuloste kirjoitetaan vakiotulosteeseen.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Tulostetiedostosijainti Java-tilassa:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESURSSI resurssinimi\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2043,7 +2234,7 @@ msgid ""
msgstr ""
" -l, --locale=MAA-ASETUSTO maa-asetuston nimi, joko kieli tai kieli_MAA\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2051,14 +2242,14 @@ msgid ""
msgstr ""
" --source tuota .java-tiedosto, eikä .class -tiedostoa\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d HAKEMISTO luokkien hakemistohierarkian perushakemisto\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2070,12 +2261,12 @@ msgstr ""
"erottamalla ne alaviivalla. Valitsin -d on pakollinen. Luokka on\n"
"kirjoitettu määriteltyyn hakemistoon.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Tulostetiedostosijainti C#-tilassa:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2084,7 +2275,7 @@ msgstr ""
" -d HAKEMISTO perushakemisto paikallisasetuksista "
"riippuville .dll-tiedostoille\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2094,17 +2285,17 @@ msgstr ""
"määriteltyyn\n"
"alihakemistoon, jonka nimi riippuu paikallisasetuksesta.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Tulostetiedostosijainti Tcl-tilassa:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr " -d HAKEMISTO perushakemisto .msg-viestiluetteloille\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2113,23 +2304,23 @@ msgstr ""
"Valitsimet -l ja -d ovat pakollisia. Tiedosto .msg kirjoitetaan\n"
"määriteltyyn hakemistoon.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Työpyötäsyöttötilan valitsimet:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=MALLINNE tiedostoa .desktop käytetään mallinteena\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d HAKEMISTO .po-tiedostojen perushakemisto\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2138,7 +2329,7 @@ msgstr ""
" -kWORD, --keyword=WORD etsi WORD-argumentti lisäavainsanana\n"
" -k, --keyword älä käytä oletusavainsanoja\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2149,12 +2340,28 @@ msgstr ""
"määritellään,\n"
"syötetiedostot luetaan hakemistosta eikä komentoriviargumentteina.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "Työpyötäsyöttötilan valitsimet:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+" --template=MALLINNE tiedostoa .desktop käytetään mallinteena\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Syötetiedoston tulkinta:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2166,13 +2373,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format tarkista kieliriippuvaiset muotomerkkijonot\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2180,7 +2387,7 @@ msgid ""
msgstr ""
" --check-header tarkista otsakkeen olemassaolo ja sisältö\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2190,7 +2397,7 @@ msgstr ""
"valitsimen\n"
" --output-file väliset ristiriidat\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2199,7 +2406,7 @@ msgstr ""
" -C, --check-compatibility tarkista, että GNU msgfmt käyttäytyy kuin X/"
"Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2210,12 +2417,12 @@ msgstr ""
"olemassaolo\n"
" valikkoriveillä\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy käytä vajausmerkintöjä tulosteessa\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2223,7 +2430,7 @@ msgstr ""
" -a, --alignment=NUMERO tasaa merkkijonot NUMEROon tavuun (oletus: "
"%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2237,95 +2444,94 @@ msgstr ""
"riippuu\n"
" alustasta)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr " --no-hash binaaritiedosto ei sisällä hash-taulua\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics tulosta tilastot käännöksistä\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose kasvata laveustasoa\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "varoitus: PO-tiedoston otsake puuttuu tai on virheellinen\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "varoitus: merkistömuunnos ei tule toimimaan\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "varoitus: PO-tiedoston otsake on merkitty vajaaksi\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "varoitus: msgfmt:n vanhat versiot antavat tästä virheen\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "nimiavaruusnimi â€%s†ei ole sopiva tiedostonimenä"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "nimiavaruusnimi â€%s†ei ole sopiva tiedostonimenä: käyttää etuliitettä"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "’nimiavaruus %s’-direktiivi ohitetaan"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "tyhjä ’msgstr’-merkkijono jätetty huomioimatta"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "vajaa ’msgstr’-merkkijono jätetty huomioimatta"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: varoitus: lähdetiedosto sisältää vajaan käännöksen"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s ei ole olemassa"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s on olemassa, mutta sen lukeminen epäonnistui"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "virhe luettaessa tiedostoa â€%sâ€"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2334,7 +2540,7 @@ msgstr ""
"valitsinta ’%c’ ei voida käyttää ennen kuin ’J’ tai ’K’ tai ’T’ tai ’C’ tai "
"’X’ on määritelty"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2344,7 +2550,7 @@ msgstr ""
"tai kuuluvat johonkin annetuista lähdetiedostoista.\n"
# Pistekommentti viittaan kommenttiriviin, joka alkaa merkeillä "#. "
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2420,7 +2626,7 @@ msgstr ""
" -v, --invert-match tulosta vain viestit, jotka eivät täsmää mihinkään\n"
" valintakriteeriin\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2428,12 +2634,12 @@ msgstr ""
" --escape käytä C-koodinvaihtomerkkejä tulosteessa, ei "
"laajennettuja merkkejä\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output tuota lajiteltu tuloste\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2539,14 +2745,14 @@ msgstr ""
"Nykyisestä hakemistosta ei löytynyt .pot-tiedostoa.\n"
"Määritä syötteen .pot-tiedosto valitsimella --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s aliprosessi epäonnistui poistumiskoodilla %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2563,28 +2769,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Suomenkielinen käännös %s-paketille"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "nykyinen merkistö â€%s†ei ole siirrettävä koodausnimi"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "kaksi erilaista merkistöä â€%s†ja â€%s†syötetiedostossa"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "syötetiedostossa ’%s’ ei ole otsaketta, jossa on merkistömäärittely"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2593,19 +2799,19 @@ msgstr ""
"nimiavaruus â€%s†syötetiedostossa ’%s’ ei sisällä otsaketta, jossa on "
"merkistömäärittely"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "kohdemerkistö %s†ei ole siirrettävä koodausnimi."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "varoitus: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2614,7 +2820,7 @@ msgstr ""
"Syötetiedosto sisältää viestejä eri merkistöissä, mm. UTF-8:na.\n"
"Muunnetaan tuloste UTF-8:ksi.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2627,7 +2833,7 @@ msgstr ""
"Muunnetaan tuloste UTF-8 -koodaukseen.\n"
"Eri tulostekoodauksen valitsemiseksi käytä valitsinta --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2641,7 +2847,7 @@ msgstr ""
"ASCII-tekstiksi, tai varmista että ne ovat UTF-8 -koodausta alusta alkaen,\n"
"ts. jo lähdekooditiedostoissa.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2654,12 +2860,12 @@ msgstr ""
"Tuloste ’%s’ saattaisi olla virheellinen.\n"
"Mahdollisia kiertokeinoja ovat:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Aseta LC_ALL paikallisasetukseen, jonka koodaus on %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2672,7 +2878,7 @@ msgstr ""
" muunna sitten takaisin po-tiedoston paikallisasetukseen %s käyttäen "
"ohjelmaa 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2686,7 +2892,7 @@ msgstr ""
" muunna sitten takaisin po-tiedoston merkistöön %s käyttäen ohjelmaa "
"'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2697,24 +2903,24 @@ msgstr ""
"’%s’-tuloste saattaa olla virheellinen.\n"
"Mahdollinen kiertokeino on asettaa muuttujaan LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "monikkolauseke voi palauttaa negatiivisia arvoja"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu, mutta monikkolauseke voi palauttaa jopa arvon %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "monikkolauseke voi aiheuttaa jaon nollalla"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "monikkolauseke voi aiheuttaa kokonaisluvun ylivuodon"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2722,51 +2928,51 @@ msgstr ""
"monikkolauseke voi aiheuttaa aritmeettisia poikkeuksia, mahdollisesti jaon "
"nollalla"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Yritä käyttää seuraavaa, kelvollinen kohteelle %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "viestiluettelossa on monikkomuotoisia käännöksiä"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "mutta otsakkeesta puuttuu attribuutti \"plural=LAUSEKE\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "mutta otsakkeesta puuttuu \"nplurals=KOKONAISLUKU\"-attribuutti"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "virheellinen nplurals-arvo"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "virheellinen monikkolauseke"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "mutta joillakin viesteillä on vain yksi monikkomuoto"
msgstr[1] "mutta joillakin viesteillä on vain %lu monikkomuotoa"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "mutta joillakin viesteillä on yksi monikkomuoto"
msgstr[1] "mutta joillakin viesteillä on %lu monikkomuotoa"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2774,72 +2980,89 @@ msgstr ""
"viestiluettelossa on monikkomuotoisia käännöksiä, mutta siitä puuttuu "
"otsakerivi \"Plural-Forms: nplurals=KOKONAISLUKU; plural=LAUSEKE;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "’msgid’ ja ’msgid_plural’ -rivit eivät molemmat ala merkillä ’\\n’"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "’msgid’ ja ’msgstr[%u]’ -rivit eivät molemmat ala merkillä ’\\n’"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "’msgid’ ja ’msgstr’ -rivit eivät molemmat ala merkillä ’\\n’"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "’msgid’ ja ’msgid_plural’ -rivit eivät molemmat lopu merkillä ’\\n’"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "’msgid’ ja ’msgstr[%u]’ -rivit eivät molemmat lopu merkillä ’\\n’"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "’msgid’ ja ’msgstr’ -rivit eivät molemmat lopu merkillä ’\\n’"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "monikkomuotojen käsittely on GNU gettext -laajennos"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr-merkkijonosta puuttuu pikanäppäinmerkki ’%c’"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr-merkkijonossa on liian monta pikanäppäinmerkkiä ’%c’"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "otsakekenttä ’%s’ on edelleen oletusarvossaan\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "otsakekenttä ’%s’ puuttuu otsakkeessa\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII-ellipsi (’...’) eikä Unicode-ellipsi"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "välilyönti ennen ellipsiä löytyi käyttäjälle näkyvässä merkkijonossa"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "ASCII-kaksoislainausmerkki käytetty eikä Unicode-lainausmerkki"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+"ASCII-yksittäismerkkinen lainausmerkki käytetty eikä Unicode-lainausmerkki"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: syöte ei ole kelvollinen â€%sâ€-koodauksessa"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: virhe muunnettaessa â€%sâ€-koodauksesta â€%sâ€-koodaukseen"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "syötetiedosto ei sisällä otsaketta, jossa on merkistömäärittely"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2848,7 +3071,7 @@ msgstr ""
"Muuntaminen koodauksesta â€%s†koodaukseen â€%s†epäonnistui. %s käyttää "
"funktiota iconv(), ja iconv() ei tue tätä muunnosta."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2857,8 +3080,8 @@ msgstr ""
"Muunnos koodauksesta â€%s†koodaukseen â€%s†esitteli kaksoiskappaleita: "
"jotkut eri msgid-merkkijonot ovat samoja."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2867,16 +3090,16 @@ msgstr ""
"Muuntaminen koodauksesta â€%s†koodaukseen â€%s†epäonnistui. %s käyttää "
"funktiota iconv(). Tämä versio on rakennettu ilman funktiota iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "valitsin %s on kelvollinen vain valitsimen %s kanssa"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "varmuuskopiotyyppi"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2899,19 +3122,19 @@ msgstr ""
"kommentit ja tiedostosijainnit säilytetään. Siellä missä ei löydetä\n"
"tarkkaa täsmäystä, käytetään vajaustäsmäystä paremman tuloksen tuottamiseksi.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po käännökset, jotka viittaavat vanhoihin "
"lähdekoodeihin\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot viittaa uusiin lähdekoodeihin\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2920,7 +3143,7 @@ msgstr ""
" -C, --compendium=TIEDOSTO viestikäännösten lisäkirjasto,\n"
" saatetaan määritellä useammin kuin kerran\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2930,28 +3153,28 @@ msgstr ""
" älä tee mitään, jos tiedosto def.po on jo ajan "
"tasalla\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Tulostetiedostosijainti päivitystilassa:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Tulos kirjoitetaan takaisin tiedostoon def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL tee tiedoston def.po varmuuskopio\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=LOPPULIITE korvaa tavallisen varmuuskopioloppuliitteen\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2972,7 +3195,7 @@ msgstr ""
" yksinkertainen\n"
" simple, never tee aina yksinkertaisia varmuuskopioita\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2982,7 +3205,7 @@ msgstr ""
"Varmuuskopioloppuliite on ’~’, ellei ole asetettu valitsimella --suffix tai\n"
"ympäristömuuttujalla SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2990,23 +3213,23 @@ msgstr ""
" --previous säilytä käännettyjen viestien aikaisemmat "
"msgid-merkkijonot\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent vaienna edistymisindikaattorit\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "tämän viestin pitäisi määritellä monikkomuodot"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "tämän viestin ei pitäisi määritellä monikkomuotoja"
# Ensimmäinen parametri on joko tyhjä merkkijono tai rivinvaihto
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3015,30 +3238,30 @@ msgstr ""
"%sLuettu %ld vanhaa + %ld viitettä, yhdistettyjä %ld, vajaita %ld, puuttuvia "
"%ld, vanhentuneita %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " valmis.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr ""
"valitsin %s ja eksplisiittiset tiedostonimet ovat toisensa poissulkevia"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Käyttö: %s [VALITSIN] [TIEDOSTO]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Muunna binäärimuotoinen viestiluettelo Uniforum-tyyliseksi .po-tiedostoksi.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3047,12 +3270,12 @@ msgstr ""
" -j, --java Java-tila: syöte on Java ResourceBundle -"
"luokka\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C#-tila: syöte on .NET .dll -tiedosto\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3061,24 +3284,24 @@ msgstr ""
" --csharp-resources C#-resurssitila: syöte on .NET .resources -"
"tiedosto\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl-tila: syöte on tcl/msgcat .msg -tiedosto\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " TIEDOSTO ... syötteen .mo -tiedostot\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Syötetiedostosijainti Java-tilassa:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3088,12 +3311,12 @@ msgstr ""
"Luokkanimi määritellään liittämällä paikallisasetuksen nimi resurssinimeen,\n"
"erotettun alaviivalla. Luokka sijoitetaan käyttäen muuttujaa CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Syötetiedostosijainti C#-tilassa:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3102,12 +3325,12 @@ msgstr ""
"Valitsimet -l ja -d ovat pakollisia. Tiedosto .dll sijoitetaan sellaisen\n"
"hakemiston alihakemistoon, jonka nimi riippuu paikallisasetuksesta.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Syötetiedostosijainti Tcl-tilassa:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3116,17 +3339,17 @@ msgstr ""
"Valitsimet -l ja -d ovat pakollisia. Tiedosto .msg sijaitsee määritellyssä\n"
"hakemistossa.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent kirjoita sisennettyä tulostetyyliä\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict kirjoita tiukkaa uniforum-tyyliä\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3148,12 +3371,12 @@ msgstr ""
"käännöksestä. Tiedostosijainnit kumuloituvat. Kun käytetään valitsinta\n"
"--unique, kaksoiskappaleet hylätään.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated tulosta vain kaksoiskappaleet\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3162,7 +3385,7 @@ msgstr ""
" -u, --unique tulosta vain uniikit viestit, hylkää "
"kaksoiskappaleet\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<vakiosyöte>"
@@ -3218,32 +3441,32 @@ msgstr ""
"Merkistö puuttuu otsakkeessa.\n"
"Viestimuunnos käyttäjän merkistöön ei toimi.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "epäjohdonmukainen #~ -käyttö"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "puuttuva ’msgid_plural[]’-rivi"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "puuttuva ’msgid_plural’-rivi"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "puuttuva ’msgstr’-rivi"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "ensimmäisellä monikkomuodolla on nollasta poikkeava indeksi"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "monikkomuodolla on väärä indeksi"
@@ -3253,7 +3476,7 @@ msgstr "monikkomuodolla on väärä indeksi"
msgid "too many errors, aborting"
msgstr "liian monia virheitä, keskeytetään"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "virheellinen monitavusekvenssi"
@@ -3297,66 +3520,85 @@ msgstr "rivinvaihto merkkijonon sisällä"
msgid "context separator <EOT> within string"
msgstr "kontekstierotin <EOT> merkkijonon sisällä"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "tämä tiedosto ei ehkä sisällä nimiavaruusdirektiivejä"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "kaksinkertainen viestimäärittely"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "ensimmäinen määrittely täällä"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "varoitus: virheellinen Unicode-merkki"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "puuttuva suodatinnimi"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "virheellinen nplurals-arvo"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "tiedosto â€%s†typistetään"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "tiedosto â€%s†sisältää merkkijonon, jota ei ole päätetty NUL-merkillä"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "tiedosto â€%s†ei ole GNU:n .mo-muodossa"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
"tiedosto â€%s†sisältää osoitteessa %s merkkijonon, jota ei ole päätetty NUL-"
"merkillä"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "varoitus: virheellinen \\uxxxx -syntaksi Unicode-merkkille"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "varoitus: päättämätön merkkijono"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "varoitus: syntaksivirhe"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "varoitus: päättämätön avain/arvo-pari"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "varoitus: syntaksivirhe, odotettiin ’;’ merkkijonon jälkeen"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "varoitus: syntaksivirhe, odotettiin ’=’ tai ’;’ merkkijonon jälkeen"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Kirjoittaneet %s ja %s.\n"
@@ -3365,17 +3607,17 @@ msgstr "Kirjoittaneet %s ja %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
# Vai tarkoittaako tämä, että käytetään recode-ohjelmaa?
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Koodaa uudelleen serbiankielinen teksti kyrillisestä latinalaismerkkiseksi skriptiksi.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3384,27 +3626,27 @@ msgstr ""
"Syöteteksti luetaan vakiosyötteestä. Muunnettu teksti tulostetaan\n"
"vakiotulosteeseen.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "syöte ei ole kelvollinen â€%sâ€-koodauksessa"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "virhe muunnettaessa â€%sâ€-koodauksesta â€%sâ€-koodaukseen"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "odotettiin kahta argumenttia"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Käyttö: %s [VALITSIN] VERKKO-OSOITE TIEDOSTO\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3413,37 +3655,37 @@ msgstr ""
"Noutaa ja tulostaa verkko-osoitteen sisällön. Jos verkko-osoitetta ei saada,\n"
"käytetään sen sijaan paikallisesti haettua TIEDOSTOa.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "virhe luettaessa tiedostoa â€%sâ€"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "virhe kirjoitettaessa vakiotulosteeseen"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "virhe tiedoston â€%s†lukemisen jälkeen"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Noudetaan %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " aikavalvonta toimi.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " epäonnistui.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3451,7 +3693,7 @@ msgstr ""
"Useiden käännösnimiavaruuksien tulostaminen yhteen tiedostoon määritellyssä "
"tulostemuodossa epäonnistui. Yritä käyttää sen sijaan PO-tiedostosyntaksia."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3459,7 +3701,7 @@ msgstr ""
"Useiden käännösnimiavaruuksien tulostaminen yhteen tiedostoon määritellyllä "
"tulostemuodolla epäonnistui."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3467,7 +3709,7 @@ msgstr ""
"viestiluettelossa on kontekstista riippuvia käännöksiä, mutta tulostemuoto "
"ei tue niitä."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3477,7 +3719,7 @@ msgstr ""
"niitä. Yritä tuottaa Java-luokka käyttäen komentoa \"msgfmt --java\", eikä "
"ominaisuustiedostoa."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3485,12 +3727,12 @@ msgstr ""
"viestiluettelossa on monikkomuotoisia käännöksiä, mutta tulostemuoto ei tue "
"niitä."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "tulostetiedoston â€%s†luominen epäonnistui"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "vakiotuloste"
@@ -3511,13 +3753,19 @@ msgstr "epäonnistunut C#-luokan kääntäminen, yritä valitsinta --verbose"
msgid "compilation of C# class failed"
msgstr "epäonnistunut C#-luokan kääntäminen"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "virhe avattaessa tiedostoa â€%s†kirjoittamista varten"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "kelvoton Java-luokkanimi: %s"
# käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
@@ -3525,28 +3773,23 @@ msgstr ""
"muuttuja $JAVAC"
# käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "epäonnistunut Java-luokan kääntäminen, yritä asettaa muuttuja $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "virhe avattaessa tiedostoa â€%s†kirjoittamista varten"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "vaillinainen monitavusekvenssi"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"paikallistettujen viestien ei pitäisi sisältää ’\\%c’-koodinvaihtosekvenssiä"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3560,7 +3803,7 @@ msgstr ""
"msgctxt-merkkijonon käyttämistä.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3574,7 +3817,7 @@ msgstr ""
"msgid-merkkijonon käyttämistä.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3582,7 +3825,7 @@ msgstr ""
"viestiluettelossa on monikkomuotoisia käännöksiä\n"
"mutta Qt-viestiluettelomuoto ei tue monikkojen käsittelyä\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3595,7 +3838,7 @@ msgstr ""
"vain\n"
"käännetyissä merkkijonoissa, ei kontekstimerkkijonoissa\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3607,12 +3850,12 @@ msgstr ""
"vain\n"
"käännetyissä merkkijonoissa, ei kääntämättömissä merkkijonoissa\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "virhe kirjoitettaessa aliprosessiin %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3620,7 +3863,7 @@ msgstr ""
"viestiluettelossa on kontekstiriippuvaisia käännöksiä\n"
"mutta C# .resources -muoto ei tue konteksteja\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3628,7 +3871,7 @@ msgstr ""
"viestiluettelossa on monikkomuotoisia käännöksiä\n"
"mutta C# .resources -muoto ei tue monikkokäsittelyä\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3636,7 +3879,7 @@ msgstr ""
"viestiluettelossa on kontekstiriippuvaisia käännöksiä\n"
"mutta Tcl-viestiluettelomuoto ei tue konteksteja\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3644,36 +3887,36 @@ msgstr ""
"viestiluettelossa on monikkomuotoisia käännöksiä\n"
"mutta Tcl-viestiluettelomuoto ei tule monikkokäsittelyä\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: varoitus: päättämätön merkkijono"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: varoitus: päättämätön säännöllinen lauseke"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "varoitus: virheellinen Unicode-merkki"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: varoitus: päättämätön merkkivakio"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: varoitus: päättämätön merkkijonoliteraali"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Määritä lähdekoodaus valitsimen --from-code avulla."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3682,7 +3925,7 @@ msgstr ""
"%s:%d: Virheellinen monitavusekvenssi.\n"
"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3691,7 +3934,7 @@ msgstr ""
"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3700,7 +3943,7 @@ msgstr ""
"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3709,12 +3952,12 @@ msgstr ""
"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv-häiriö"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3723,286 +3966,78 @@ msgstr ""
"%s:%d: Virheellinen monitavusekvenssi.\n"
"Määritä lähdekoodikoodaus valitsimen --from-code avulla.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: varoitus: virheellinen Unicode-merkki"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: varoitus: päättämätön merkkijonovakio"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: varoitus: ’)’ löytyi kun ’}’ odotettiin"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: varoitus: ’}’ löytyi kun ’)’ odotettiin"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Puuttuva asiayhteys merkkijonolle, joka poimittiin elementistä ’%s’"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Juurielementti <%s> ei ole sallittu virheettömässä Glade-tiedostossa"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Kieltä â€glade†ei tueta. %s turvautuu expat-ohjelmaan.\n"
-"Tämä versio on rakennettu ilman expat-ohjelmaa.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: varoitus: yksinäinen sijainen U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Määritä lähdekoodaus valitsimen --from-code avulla\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Virheellinen monitavusekvenssi.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Virheellinen monitavusekvenssi.\n"
-"Määritä lähdekoodikoodaus valitsimen --from-code avulla\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: varoitus: RegExp-merkkijonoliteraali päättyi liian aikaisin"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: varoitus: %s ei ole sallittu"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: varoitus: päättämätön XML-merkkaus"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: ei löydetä merkkijonopäättämismerkkiä â€%s†mistään ennen EOF-"
-"tiedostonloppumerkkiä"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: puuttuu oikea aaltosulje kohteessa \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: virheellinen 8-bittisen merkin â€%c†interpolaatio (â€\\lâ€)"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: virheellinen 8-bittisen merkin â€%c†interpolaatio (â€\\uâ€)"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: virheellinen muuttujainterpolaatio osoitteessa â€%câ€"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: virheellinen 8-bitisen merkin â€%c†interpolaatio (â€\\Lâ€)"
-
-#: src/x-perl.c:1247
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: virheellinen 8-bittisen merkin â€%c†interpolaatio (â€\\Uâ€)"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"Määritä lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
-"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+"’%s’ ei ole kelvollinen koodausnimi. Käytetään ASCII-koodia varmistuksena.\n"
-#: src/x-python.c:324
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Virheellinen monitavusekvenssi.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
-"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "syntaksitarkistus ’%s’ on tuntematon"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
-"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "lauselopputyyppi ’%s’ on tuntematon"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
-"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+"valitsimen --join-existing käyttäminen epäonnistui kun tuloste kirjoitetaan "
+"vakiotulosteeseen"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
-"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
-"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext ei voi työskennellä ilman etsittäviä avainsanoja"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Virheellinen monitavusekvenssi.\n"
-"Määritä lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
-"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Tuntematon koodaus â€%sâ€. Jatketaan sen sijaan ASCII-koodauksella."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: virheellinen merkkijonomäärittely"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: numero puuttuu merkin # jäljestä"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: virheellinen merkkijonolauseke"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: varoitus: syntaksi $\"...\" on vanhentunut turvallisuussyistä; käytä "
-"sen sijaan funktiota eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%d: varoitus: säännöllisen lausekkeen merkkijonoliteraali päättyi liian "
-"aikaisin"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-"’%s’ ei ole kelvollinen koodausnimi. Käytetään ASCII-koodia varmistuksena.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"valitsimen --join-existing käyttäminen epäonnistui kun tuloste kirjoitetaan "
-"vakiotulosteeseen"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext ei voi työskennellä ilman etsittäviä avainsanoja"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"varoitus: tiedoston ’%s’ tarkennin ’%s’ on tuntematon; yritetään tarkenninta "
"C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Poimi käännettävät merkkijonot annetuista syötetiedostoista.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4011,25 +4046,25 @@ msgstr ""
" -d, --default-domain=NIMI käytä tiedostoa NIMI.po tulostukseen (eikä "
"tiedostoa messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=TIEDOSTO kirjoita tuloste määriteltyyn tiedostoon\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=HAKEMISTO tulostetiedostot sijoitetaan HAKEMISTOon\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Syötetiedoston kielen valinta:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4050,13 +4085,13 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
" -C, --c++ pikavalitsin valitsimelle --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4064,7 +4099,7 @@ msgid ""
msgstr ""
"Oletuksena kieli on arvattu riippuen syötetiedostonimen tarkentimesta.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4073,24 +4108,24 @@ msgstr ""
" --from-code=NIMI syötetiedostojen koodaus\n"
" (paitsi kielille Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Oletuksen syötetiedostojen otaksutaan olevan ASCII-tekstiä.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing liitä viesti oleamssaolevaan tiedostoon\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=FILE.po rivejä tiedostossa FILE.po ei ole poimittu\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4105,17 +4140,39 @@ msgstr ""
"avainsana-\n"
" rivit tulostetiedostoon\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NIMI suorita syntaksitarkistus viesteille\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYYPPI lauseen loppua kuvaileva tyyppi\n"
+" (single-space, joka on oletus, \n"
+" tai double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Kielikohtaiset valitsimet:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all pura kaikki merkkijonot\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4130,7 +4187,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4145,7 +4202,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4156,7 +4213,7 @@ msgstr ""
"argumentti-\n"
" numeron ARG sisällä\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4171,38 +4228,38 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs ymmärrä ANSI C kolmimerkkejä syötettä varten\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (vain kielet C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt tunnista Qt-muotoiset merkkijonot\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (vain C++-kieli)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde tunnista KDE 4 -muotoiset merkkijonot\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost tunnista Boost-muotoiset merkkijonot\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4210,18 +4267,29 @@ msgstr ""
" --debug yksityiskohtaisempi "
"muotomerkkijonotunnistustulos\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output luo Java .properties -tiedoston\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=TIEDOSTO hae syötetiedostojen luettelo TIEDOSTOsta\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent sisennetty tulostetyyli\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=STRING aseta copyright-omistajan tulosteessa\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4229,17 +4297,17 @@ msgstr ""
" --foreign-user ohita FSF copyright-tulosteessa "
"vieraskieliselle käyttäjälle\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACKAGE aseta pakkausnimi tulosteessa\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION aseta pakkausversio tulosteessa\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4247,7 +4315,7 @@ msgstr ""
" --msgid-bugs-address=EMAIL@ADDRESS aseta ilmoitusosoite msgid-"
"vikailmoituksia varten\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4258,7 +4326,7 @@ msgstr ""
"etuliitteenä msgstr-\n"
" merkkijonon arvoille\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4269,7 +4337,7 @@ msgstr ""
"loppuliitteenä msgstr-\n"
" merkkijonon arvoille\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4278,31 +4346,31 @@ msgstr ""
"Argumentilla --flag ei ole <avainsana>:<argumenttinumero>:[pass-]<lippu> -"
"syntaksia: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "vakiosyöte"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Ei-ASCII-merkki osoitteessa %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Ei-ASCII-kommentti osoitteessa tai ennen osoitetta %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Ei-ASCII-merkkijono osoitteessa %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: varoitus: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4311,7 +4379,7 @@ msgstr ""
"Vaikka käytetty muotomerkkijonopaikassa, merkkijono %s ei ole kelvollinen %s-"
"muotomerkkijono. Syy: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4320,7 +4388,7 @@ msgstr ""
"Vaikka esitelty sellaisena, merkkijono %s ei ole kelvollinen %s-"
"muotomerkkijono. Syy: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4334,7 +4402,7 @@ msgstr ""
"Harkitse muotomerkkijonon käyttämistä nimetyillä argumenteilla,\n"
"ja kartoittamalla eikä argumenttien monilla.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4344,27 +4412,27 @@ msgstr ""
"gettext(\"\") palauttaa otsakkeen metatiedolla,\n"
"ei tyhjää merkkijonoa.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "argumenttimäärittely avainsanalle ’%.*s’ ei ole yksiselitteinen"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "varoitus: puuttuva konteksti avainsanalle ’%.*s’"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "varoitus: puuttuva konteksti avainsanan ’%.*s’ monikkoargumentille"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "kontekstitäsmäämättömyys yksikkö- ja monikkomuotojen välillä"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4376,15 +4444,357 @@ msgstr ""
"MSGID_BUGS_ADDRESS-muuttuja; muussa tapauksessa\n"
"määritä komentorivivalitsin --msgid-bugs-address.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "kieli ’%s’ on tuntematon"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: varoitus: yksinäinen sijainen U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Määritä lähdekoodaus valitsimen --from-code avulla\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä lähdekoodikoodaus valitsimen --from-code avulla\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: varoitus: RegExp-merkkijonoliteraali päättyi liian aikaisin"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: varoitus: %s ei ole sallittu"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: varoitus: päättämätön XML-merkkaus"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: ei löydetä merkkijonopäättämismerkkiä â€%s†mistään ennen EOF-"
+"tiedostonloppumerkkiä"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: puuttuu oikea aaltosulje kohteessa \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: virheellinen 8-bittisen merkin â€%c†interpolaatio (â€\\lâ€)"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: virheellinen 8-bittisen merkin â€%c†interpolaatio (â€\\uâ€)"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: virheellinen muuttujainterpolaatio osoitteessa â€%câ€"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: virheellinen 8-bitisen merkin â€%c†interpolaatio (â€\\Lâ€)"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: virheellinen 8-bittisen merkin â€%c†interpolaatio (â€\\Uâ€)"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Määritä lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Tuntematon koodaus â€%sâ€. Jatketaan sen sijaan ASCII-koodauksella."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: virheellinen merkkijonomäärittely"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: numero puuttuu merkin # jäljestä"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: virheellinen merkkijonolauseke"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: varoitus: syntaksi $\"...\" on vanhentunut turvallisuussyistä; käytä "
+"sen sijaan funktiota eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr ""
+"%s:%d: varoitus: säännöllisen lausekkeen merkkijonoliteraali päättyi liian "
+"aikaisin"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<nimetön>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "virheellinen ohjainsekvenssi"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "kelvoton Java-luokkanimi: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "kelvoton Java-luokkanimi: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "virheellinen ohjainsekvenssi"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "virheellinen endian-tyyppi: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "virheellinen argumentti %s kontekstille %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "puuttuva suodatinnimi"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Puuttuva asiayhteys merkkijonolle, joka poimittiin elementistä ’%s’"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Kieltä â€glade†ei tueta. %s turvautuu expat-ohjelmaan.\n"
+#~ "Tämä versio on rakennettu ilman expat-ohjelmaa.\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "otsakekentän ’%s’ pitäisi alkaa rivin alusta\n"
@@ -4611,9 +5021,6 @@ msgstr "<nimetön>"
#~ msgid " -u, --unqote Do not quote the output\n"
#~ msgstr " -u, --unquote Ei lainausmerkkejä tulosteeseen\n"
-#~ msgid " -V, --version Output version information\n"
-#~ msgstr " -V, --version Näytä versiotiedot\n"
-
#~ msgid "missing optstring argument"
#~ msgstr "puuttuva valitsinmerkkijonon argumentti"
diff --git a/gettext-tools/po/fr.gmo b/gettext-tools/po/fr.gmo
index b7b3cd0..1f91b31 100644
--- a/gettext-tools/po/fr.gmo
+++ b/gettext-tools/po/fr.gmo
Binary files differ
diff --git a/gettext-tools/po/fr.po b/gettext-tools/po/fr.po
index ab02fe5..e725ecd 100644
--- a/gettext-tools/po/fr.po
+++ b/gettext-tools/po/fr.po
@@ -6,13 +6,14 @@
# Il a été le traducteur jusqu'en 2001.
# Michel Robitaille <robitail@iro.umontreal.ca>, traducteur depuis/since 1996.
# Christophe Combelles <ccomb@free.fr>, 2006, 2007, 2008, 2009, 2010
+# Stéphane Aulery <lkppo@free.fr>, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.18\n"
+"Project-Id-Version: gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2010-07-23 01:47+0100\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 12:40+0100\n"
+"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -61,40 +62,40 @@ msgstr "Impossible de supprimer le dossier temporaire « %s »"
msgid "write error"
msgstr "Erreur d'écriture"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
-msgstr ""
+msgstr "préserver les permissions de %s"
-#: gnulib-lib/copy-file.c:189
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:191
+#, c-format
msgid "error while opening %s for reading"
-msgstr "Erreur lors de l'ouverture de « %s » en lecture "
+msgstr "erreur lors de l'ouverture de « %s » en lecture"
-#: gnulib-lib/copy-file.c:193
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:195
+#, c-format
msgid "cannot open backup file %s for writing"
-msgstr "Erreur d'ouverture du fichier d'archive « %s » en écriture"
+msgstr "erreur d'ouverture du fichier d'archive « %s » en écriture"
-#: gnulib-lib/copy-file.c:197
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:199
+#, c-format
msgid "error reading %s"
-msgstr "Erreur de lecture de « %s »"
+msgstr "erreur de lecture de « %s »"
-#: gnulib-lib/copy-file.c:201
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:203
+#, c-format
msgid "error writing %s"
-msgstr "Erreur d'écriture de « %s »"
+msgstr "erreur d'écriture de « %s »"
-#: gnulib-lib/copy-file.c:205
-#, fuzzy, c-format
+#: gnulib-lib/copy-file.c:207
+#, c-format
msgid "error after reading %s"
-msgstr "Erreur après la lecture de « %s »"
+msgstr "erreur après la lecture de « %s »"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "Échec de la fonction « fdopen() »"
@@ -120,58 +121,63 @@ msgstr "Erreur système non identifiée"
msgid "%s subprocess failed"
msgstr "Échec du sous-processus %s"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
+#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
+msgstr "%s : l'option « %s » est ambiguë ; choix possibles :"
+
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s : l'option « %s » est ambiguë\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s : l'option « --%s » ne tolère pas d'argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s : l'option « %c%s » ne tolère pas d'argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s : l'option « --%s » requiert un argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s : l'option « --%s » n'est pas connue\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s : l'option « %c%s » n'est pas connue\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s : option non valable -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s : l'option exige un argument -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s : l'option « -W %s » est ambiguë\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s : l'option « -W %s » ne tolère pas d'argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s : l'option « -W %s » requiert un argument\n"
@@ -187,15 +193,16 @@ msgstr "argument source_version invalide pour compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "argument target_version invalide pour compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "Échec lors de la création de « %s »"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "Erreur pendant l'écriture du fichier « %s »"
@@ -214,26 +221,26 @@ msgstr ""
"La machine virtuelle Java est introuvable. Essayez d'installer « gij » ou de "
"définir la variable d'environnement $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "Erreur d'E/S du sous-processus %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "Mémoire épuisée"
#: gnulib-lib/pipe-filter-ii.c:192
-#, fuzzy, c-format
+#, c-format
msgid "creation of threads failed"
-msgstr "Échec de compilation de la classe C#"
+msgstr "création des threads échouée"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "Échec d'écriture sur le sous-processus %s"
@@ -281,18 +288,18 @@ msgstr "Sous-processus %s terminé avec le code de sortie %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
-msgstr "`"
+msgstr "« "
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
-msgstr "'"
+msgstr " »"
#: gnulib-lib/set-acl.c:46
#, c-format
msgid "setting permissions for %s"
-msgstr ""
+msgstr "configuration des permissions pour %s "
#: gnulib-lib/spawn-pipe.c:142 gnulib-lib/spawn-pipe.c:145
#: gnulib-lib/spawn-pipe.c:266 gnulib-lib/spawn-pipe.c:269
@@ -321,24 +328,164 @@ msgstr "sous-processus %s"
msgid "%s subprocess got fatal signal %d"
msgstr "Le sous-processus %s a reçu le signal fatal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "Erreur lors de l'ouverture de « %s » en lecture "
+msgid "The root element must be <%s>"
+msgstr "L’élément racine doit être <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "L'élément racine <%s> n'est pas autorisé dans un élément <%s>"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "L’élément <%s> n’a pas d’attribut <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Pour plus d'information, essayez « %s --help ».\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Usage : %s [OPTION…] [RÉGLES LOCALES]…\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"« %s » n'est pas une chaîne de format %s valide, contrairement à « %s ». "
-"Raison : %s"
+"Extrait ou convertit les règles de pluriel CLDR.\n"
+"\n"
+"Si LOCALE et RÉGLES sont spécifiés, il lit les règles CLDR\n"
+"de LOCALE depuis RÉGLES et les affiche sous au format de gettext.\n"
+"Si aucun argument n’est passé, il lit les règles de pluriel CLDR depuis l’entrée standard.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Les arguments obligatoires pour les formes longues des options sont également\n"
+"obligatoires pour les formes courtes correspondantes. (idem options factultatives)\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr afficher les règles de pluriel au format CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help afficher ce message d'aide, puis terminer\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version afficher le numéro de version de ce programme, puis terminer\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Signalez tout bogue à <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>\n"
+"Ceci est un logiciel libre : vous pouvez le modifier et le redistribuer.\n"
+"Il n'y a PAS DE GARANTIE, dans la mesure de ce que permet la loi.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Écrit par %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s ne peut être lu"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "Impossible d’extraire les règles de %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "impossible d’analyser le règle CLDR"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "opèrande supplémentaire %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "Erreur lors de l'ouverture de « %s » en lecture "
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -346,33 +493,41 @@ msgstr ""
"Une spécification de format pour l'argument «·%u·», comme dans « %s », "
"n'existe pas dans « %s »"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "Le format de l'argument « %u » n'a pas été spécifié dans « %s »"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"Les spécifications de format dans « %s » et « %s » pour l'argument %u ne "
"sont pas identiques"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
"La directive numéro %u commence par « | » mais ne se termine pas par « | »."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"« %s » n'est pas une chaîne de format %s valide, contrairement à « %s ». "
+"Raison : %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -382,49 +537,49 @@ msgstr ""
"nom d'une macro de spécification de format. Les noms valides de macro sont "
"listés dans la norme ISO C 99 section 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"Dans la directive numéro %u, le mot après le symbole « < » n'est pas suivi "
"par « > »."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"La chaîne fait appel à l'argument numéro %u mais ignore l'argument numéro %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
"Il n'y a pas le même nombre de spécifications de format entre « %s » et "
"« %s »."
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"Dans la directive numéro %u, le symbole « { » n'est pas suivi par un numéro "
"d'argument."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
"Dans la directive numéro %u, le symbole « , » n'est pas suivi par un nombre"
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"La chaîne se termine au milieu d'une directive : un symbole « { » a été "
"trouvé sans le symbole « } » correspondant."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -432,13 +587,13 @@ msgstr ""
"La directive numéro %u se termine par le caractère invalide « %c » au lieu "
"de « } »."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"La directive numéro %u se termine par un caractère invalide au lieu de « } »."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -446,7 +601,7 @@ msgstr ""
"La chaîne débute dans le milieu d'une directive: un symbole « } » a été "
"trouvé sans le symbole « { » correspondant."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -503,14 +658,14 @@ msgid "'%s' does not use %%m but '%s' uses %%m"
msgstr "« %s » n'utilise pas %%m mais « %s » utilise %%m"
#: src/format-gfc-internal.c:383
-#, fuzzy, c-format
+#, c-format
msgid "'%s' uses %%C but '%s' doesn't"
-msgstr "« %s » utilise %%m mais « %s » ne l'utilise pas"
+msgstr "« %s » utilise %%C mais « %s » ne l'utilise pas"
#: src/format-gfc-internal.c:386
-#, fuzzy, c-format
+#, c-format
msgid "'%s' does not use %%C but '%s' uses %%C"
-msgstr "« %s » n'utilise pas %%m mais « %s » utilise %%m"
+msgstr "« %s » n'utilise pas %%C mais « %s » utilise %%m"
#: src/format-invalid.h:22
msgid "The string ends in the middle of a directive."
@@ -575,7 +730,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"La chaîne fait référence à l'argument numéro %u de manière incompatible."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -584,12 +739,12 @@ msgstr ""
"Dans la directive numéro %u, la sous-chaîne « %s » n'a pas un format de date/"
"heure valide."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Dans la directive numéro %u, « %s » n'est pas suivi par une virgule."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -597,7 +752,7 @@ msgstr ""
"Dans la directive numéro %u, la sous-chaîne « %s » n'a pas un format de "
"nombre valide"
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -606,12 +761,12 @@ msgstr ""
"Dans la directive numéro %u, le numéro d'argument n'est pas suivi par une "
"virgule puis par « %s », « %s », « %s », ou « %s »."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Dans la directive numéro %u, l'un des choix ne contient aucun numéro"
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -620,7 +775,7 @@ msgstr ""
"Dans la directive numéro %u, l'un des choix contient un numéro qui n'est pas "
"suivi par « < », « # » ou « %s »."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -628,12 +783,12 @@ msgstr ""
"Une spécification de format pour l'argument {%u}, comme dans « %s ». "
"n'existe pas dans « %s »"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "Le format de l'argument {%u} dans la chaîne « %s » n'est pas spécifié."
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -641,7 +796,30 @@ msgstr ""
"Les spécifications de format dans « %s » et « %s » pour l'argument {%u} ne "
"sont pas les mêmes"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"La chaîne fait appel à l'argument numéro %u mais ignore les arguments "
+"numéros %u et %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"Une spécification de format pour les arguments %u et %u n’existe pas dans "
+"« %s » ; seulement un argument peut être ignoré"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "erreur lors de l’analyse : %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -651,7 +829,7 @@ msgstr ""
"Dans la directive numéro %u, le paramètre %u est de type « %s » mais il "
"manque un paramètre pour le type « %s »."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -666,35 +844,35 @@ msgstr[1] ""
"Dans la directive numéro %u, trop de paramètres sont fournis (il en faut %u "
"au maximum)."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Dans la directive numéro %u, « %c » n'est pas suivi par un chiffre."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Dans la directive numéro %u, l'argument %d est négatif."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "La chaîne se termine au milieu d'une directive « ~/.../ »."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "« ~%c » a été trouvé sans « ~%c » correspondant."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
"Dans la directive numéro %u, les deux modificateurs « @ » et « : » sont "
"fournis."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -703,30 +881,36 @@ msgstr ""
"Dans la directive numéro %u, « ~:[ » n'est pas suivi par deux clauses, "
"séparées par « ~; »."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
"Dans la directive numéro %u, « ~; » est utilisé à une place incorrecte."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "La chaîne fait référence à un argument de manière incompatible."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr ""
"Les spécifications de format dans « %s » et « %s » ne sont pas équivalentes"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"Les spécifications de format dans « %s » ne sont pas un sous-ensemble de "
"celles de « %s »."
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "Le format de l'argument « %s » dans « %s » n'est pas spécifié."
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -735,14 +919,39 @@ msgstr ""
"Dans la directive numéro %u, l'indicateur de taille est incompatible avec "
"l'indicateur de conversion « %c »."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "Le format de l'argument « %s » dans « %s » n'est pas spécifié."
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+"Dans la directive numéro %u, « %c » ne peut pas débuter un nom de champ."
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"Dans la directive numéro %u, « %c » ne peut pas débuter un argument getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"Dans la directive numéro %u, « %c » ne peut pas débuter un argument getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"Dans la directive numéro %u, aucune imbrication supplémentaire n'est permise "
+"dans le spécificateur de format."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+"Dans la directive numéro %u, il y a une directive de format indéterminée."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -750,12 +959,12 @@ msgstr ""
"La chaîne fait référence à des arguments de deux façons différentes : avec "
"des noms d'arguments et avec des spécifications d'arguments sans nom."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "La chaîne fait référence à l'argument « %s » de manière incompatible."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -763,7 +972,7 @@ msgstr ""
"Les spécifications de format dans « %s » requièrent une carte de "
"correspondance, celles de « %s » requièrent un n-uplet."
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -771,7 +980,7 @@ msgstr ""
"Les spécifications de format dans « %s » requièrent un n-uplet (tuple), "
"celles de « %s » requièrent une carte de correspondance (mapping)."
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -779,7 +988,7 @@ msgstr ""
"Une spécification de format pour l'argument « %s », comme dans « %s », "
"n'existe pas dans « %s »"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -787,36 +996,7 @@ msgstr ""
"Les spécifications de format dans « %s » et « %s » pour l'argument « %s » ne "
"sont pas les mêmes"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Dans la directive numéro %u, « %c » n'est pas suivi par un chiffre."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"Dans la directive numéro %u, le symbole « { » n'est pas suivi par un numéro "
-"d'argument."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Dans la directive numéro %u, « %c » n'est pas suivi par un chiffre."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"Dans la directive numéro %u, une précision n'est pas permise avant « %c »."
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Dans la directive numéro %u, l'argument %d est négatif."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -825,13 +1005,13 @@ msgstr ""
"« %s » est une simple chaîne de format, mais « %s » n'en est pas une : elle "
"contient un drapeau « L » ou un nombre d'arguments à deux chiffres"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"La chaîne fait référence à une variable de shell avec un nom qui n'est pas "
"au format ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -840,7 +1020,7 @@ msgstr ""
"d'accolades complexe. Cette syntaxe n'est pas supportée ici pour des raisons "
"de sécurité."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -848,11 +1028,11 @@ msgstr ""
"La chaîne fait référence à une variable de shell dont la valeur peut être "
"différente à l'intérieur des fonctions du shell."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "La chaîne fait référence à une variable de shell avec un nom vide."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -861,7 +1041,7 @@ msgstr ""
"Dans la directive numéro %u, le caractère « %c » n'est pas un chiffre "
"compris entre 1 et 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -870,75 +1050,40 @@ msgstr ""
"Le caractère qui termine la directive numéro %u n'est pas un chiffre compris "
"entre 1 et 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>\n"
-"Ceci est un logiciel libre : vous pouvez le modifier et le redistribuer.\n"
-"Il n'y a PAS DE GARANTIE, dans la mesure de ce que permet la loi.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Écrit par %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "Trop d'arguments"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Pour plus d'information, essayez « %s --help ».\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Usage : %s [OPTION]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Ce programme affiche le nom de machine.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Format de sortie :\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short nom de machine court\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -949,77 +1094,103 @@ msgstr ""
"domaine pleinement qualifié\n"
" et les alias\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address adresses IP du nom de machine\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Sortie informative :\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help afficher ce message d'aide, puis terminer\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "Impossible d'obtenir le nom de machine"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version afficher le numéro de version de ce programme, puis terminer\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "sélécteur non spécifié"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Signalez tout bogue à <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "impossible de créer un contexte XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "Impossible d'obtenir le nom de machine"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "impossible d’évaluer l’expression XPath : %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "le nœud « %s » ne contient pas « %s »"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "Argument invalide « %s » pour « %s »"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "l’élément racine n’est pas une « règle » de l’espace de nom %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "lecture impossible de %s : %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "impossible d’évaluer l’adresse XPath : %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "le nœud « %s » n’a pas de « %s »"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "Impossible de lire le fichier XML %s"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "l’élément racine n’est pas « locatingRules »"
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "Un seul fichier est permis en entrée"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s et %s s'excluent mutuellement"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Usage : %s [OPTION] [FICHIER_ENTRÉE]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1028,10 +1199,10 @@ msgstr ""
"msgattrib permet de filtrer les messages d'un catalogue de traduction selon leurs attributs\n"
"et de manipuler les attributs.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1040,23 +1211,23 @@ msgstr ""
"également\n"
"obligatoires pour les formes courtes correspondantes.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Emplacement du fichier d'entrée :\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
-msgstr " FICHIER ... fichier PO d'entrée\n"
+msgstr " FICHIER fichier PO d'entrée\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1064,32 +1235,33 @@ msgstr ""
" -D, --directory=DOSSIER ajouter le DOSSIER pour la recherche des "
"fichiers d'entrée\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
" Si le nom du fichier d'entrée est « - » ou s'il n'est pas fourni, les "
"données sont lues depuis l'entrée standard.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Emplacement du fichier de sortie :\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FICHIER écrire la sortie dans le FICHIER\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1098,12 +1270,12 @@ msgstr ""
" Si aucun fichier n'est spécifié ou si le nom de fichier est « - »,\n"
" les résultats sont envoyés vers la sortie standard.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Sélection des messages :\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1111,7 +1283,7 @@ msgstr ""
" --translated conserver les messages traduit, retirer les "
"messages non traduits\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1119,70 +1291,71 @@ msgstr ""
" --untranslated conserver les messages non traduits, retirer "
"les messages traduits\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy retirer les messages marqués « fuzzy »\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy conserver seulement les messages marqués "
"« fuzzy »\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete retirer les messages obsolètes « #~ »\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
" --only-obsolete conserver seulement les messages obsolètes "
"« #~ »\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulation d'attribut :\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
" --set-fuzzy placer tous les messages dans l'état "
"« fuzzy »\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy retirer l'état « fuzzy » de tous les messages\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete marquer tous les messages comme obsolètes\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete marquer tous les messages comme non-obsolètes\n"
-#: src/msgattrib.c:475
-#, fuzzy, c-format
+#: src/msgattrib.c:476
+#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-" --previous conserver les précédentes chaînes « msgid » "
-"des messages traduits\n"
+" --previous avec l'état « fuzzy », conserver les "
+"précédentes\n"
+" chaînes « msgid » des messages traduits.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1191,13 +1364,15 @@ msgstr ""
" --clear-previous retirer la chaîne « previous msgid » de tous "
"les messages\n"
-#: src/msgattrib.c:480
-#, fuzzy, c-format
+#: src/msgattrib.c:481
+#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
-msgstr " --no-fuzzy retirer les messages marqués « fuzzy »\n"
+msgstr ""
+" --empty en enlevant l'état « fuzzy », les chaînes « "
+"msgstr » sont remises à zéro\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1205,7 +1380,7 @@ msgstr ""
" --only-file=FICHIER.po manipuler seulement les entrées listées dans "
"le FICHIER.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1213,13 +1388,13 @@ msgstr ""
" --ignore-file=FICHIER.po manipuler seulement les entrées qui ne sont "
"pas listées dans le FICHIER.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy identique à « --only-fuzzy --clear-fuzzy »\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1227,16 +1402,16 @@ msgstr ""
" --obsolete identique à « --only-obsolete --clear-"
"obsolete »\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syntaxe du fichier d'entrée :\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1244,8 +1419,8 @@ msgstr ""
" -P, --properties-input la syntaxe du fichier d'entrée est celle\n"
" des fichiers « .properties » de Java\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1254,17 +1429,17 @@ msgstr ""
" --stringtable-input la syntaxe du fichier d'entrée est celle\n"
" des fichiers « .strings » de NeXTstep/GNUstep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Détails des données de sortie :\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1279,18 +1454,18 @@ msgstr ""
" QUAND peut être « always », « never », « auto "
"», or « html ».\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=FICHIERSTYLE spécifie le fichier de règles de style CSS "
"pour --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1298,9 +1473,9 @@ msgstr ""
" -e, --no-escape ne pas utiliser de séquences d'échappement C "
"dans la sortie (par défaut)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1308,31 +1483,31 @@ msgstr ""
" -E, --escape utiliser des séquences d'échappements C dans "
"la sortie, sans caractère étendu\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po créer un fichier .po même s'il est vide\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent créer le fichier .po avec un style indenté\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location ne pas créer les commentaires de numérotation "
"du type « #: fichier:ligne»\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1340,8 +1515,8 @@ msgstr ""
" -n, --add-location créer des commentaires de numérotation du type "
"« #: fichier:ligne » (par défaut)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1349,17 +1524,17 @@ msgstr ""
" --strict créer des fichier .po strictement conformes à "
"l'Uniforum\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output créer un fichier « .properties » de type Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1367,16 +1542,16 @@ msgstr ""
" --stringtable-output créer un fichier « .strings » de type NeXTstep/"
"GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NOMBRE spécifier la largeur de page\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1386,34 +1561,34 @@ msgstr ""
"plus longues\n"
" que la largeur des pages de sortie.\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output trier les données de sortie\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file trier les données de sortie selon "
"l'emplacement des fichiers\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "Critère de sélection irréalisable (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Usage : %s [OPTION] [FICHIER_ENTRÉE]...\n"
-#: src/msgcat.c:372
-#, fuzzy, c-format, no-wrap
+#: src/msgcat.c:373
+#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1426,35 +1601,35 @@ msgid ""
"to define them.\n"
msgstr ""
"msgcat permet de concaténer et de fusionner des fichiers .po spécifiés\n"
-"et de trouver les messages communs à plusieurs d'entre eux.\n"
-"L'option « -> » ou « --more-than » exige un plus grand nombre d'occurrences communes.\n"
-"Inversement l'option « -< » ou « --less-than » exige moins d'occurrences communes. Par exemple,\n"
-"« --less-than=2 » ne garde que les messages uniques. Les traductions, les commentaires et les\n"
-"commentaires extraits seront accumulés, sauf si l'option « --use-first » est utilisée. Dans ce dernier cas,\n"
+"et de trouver les messages communs à plusieurs d'entre eux. L'option « -> »\n"
+"ou « --more-than » exige un plus grand nombre d'occurrences communes.\n"
+"Inversement l'option « -< » ou « --less-than » exige moins d'occurrences communes.\n"
+"Par exemple, « --less-than=2 » ne garde que les messages uniques. Les traductions,\n"
+"les commentaires et les commentaires extraits et fichiers de position seront accumulés,\n"
+"sauf si l'option « --use-first » est utilisée. Dans ce dernier cas,\n"
"ils seront pris dans le premier fichier .po où ils ont été définis.\n"
-"Les indications de position de tous les fichiers .po seront accumulées.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " FICHIER ... fichiers d'entrée\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=FICHIER obtenir la liste des fichiers d'entrée à "
"partir du FICHIER\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
" Si le nom du fichier d'entrée est « - », les données sont lues depuis "
"l'entrée standard.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1463,7 +1638,7 @@ msgstr ""
" -<, --less-than=N afficher les messages définis moins de N fois\n"
" (sans limite par défaut)\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1472,7 +1647,7 @@ msgstr ""
" ->, --more-than=N afficher les messages définis plus de N fois\n"
" (zéro par défaut, càd sans limite)\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1481,8 +1656,8 @@ msgstr ""
" -u, --unique Afficher les messages uniques (identique à « --"
"less-than=2 »)\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1490,8 +1665,8 @@ msgstr ""
" -P, --properties-input la syntaxe des fichiers d'entrée est celle\n"
" des fichiers « .properties » de Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1500,12 +1675,12 @@ msgstr ""
" --stringtable-input la syntaxe des fichiers d'entrée est celle\n"
" des fichiers « .strings » de NeXTstep/GNUstep\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=ENCODAGE encodage de sortie\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1516,7 +1691,7 @@ msgstr ""
" message ; ne pas faire la fusion de plusieurs "
"traductions\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1524,26 +1699,26 @@ msgstr ""
" --lang=NOMCATALOGUE définir le champ 'Language' dans l'en-tête\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "Fichiers d'entrée non spécifiés"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "Deux fichiers sont requis en entrée"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Usage : %s [OPTION] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1562,22 +1737,22 @@ msgstr ""
"de votre programme. Lorsqu'une correspondance exacte n'est pas possible,\n"
"une correspondance floue est utilisé pour un meilleur diagnostic.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po traductions\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot références aux sources\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificateurs d'opération:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1586,68 +1761,68 @@ msgstr ""
" -m, --multi-domain appliquer ref.pot à chaque domaine défini dans "
"def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
" -N, --no-fuzzy-matching ne pas utiliser la correspondance floue\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
" --use-fuzzy utiliser les traductions approximatives "
"(fuzzy)\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated utiliser les messages non traduits\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "ce message n'est pas traduit"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "ce message doit être révisé par le traducteur"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "Ce message est utilisé mais non défini..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...mais cette définition est semblable"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "Ce message est utilisé mais non défini dans « %s »"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "AVERTISSEMENT : ce message n'est pas utilisé"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d erreur fatale trouvée"
msgstr[1] "%d erreurs fatales trouvées"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "Il faut indiquer au moins deux fichiers"
-#: src/msgcomm.c:364
-#, fuzzy, c-format, no-wrap
+#: src/msgcomm.c:365
+#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
"By using the --more-than option, greater commonality may be requested\n"
@@ -1661,12 +1836,12 @@ msgstr ""
"msgcomm permet de trouver les messages communs à un ensemble de fichiers .po spécifiés.\n"
"L'option « -> » ou « --more-than » exige un plus grand nombre d'occurrences communes.\n"
"Inversement l'option « -< » ou « --less-than » exige moins d'occurrences communes. Par exemple,\n"
-" « --less-than=2 » ne garde que les messages uniques. Les traductions et commentaires\n"
-" seront accumulés, sauf si l'option « --use-first » est utilisée. Dans ce dernier cas,\n"
+"« --less-than=2 » ne garde que les messages uniques. Les traductions et commentaires\n"
+"seront accumulés, sauf si l'option « --use-first » est utilisée. Dans ce dernier cas,\n"
"ils seront pris dans le premier fichier .po où ils ont été définis.\n"
"Les commentaires de position de tous les fichiers .po seront accumulés.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1676,78 +1851,78 @@ msgstr ""
"N\n"
" définitions (1 par défaut)\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
-#, fuzzy, c-format
+#: src/msgcomm.c:453 src/xgettext.c:1209
+#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header ne pas créer d'en-têtes de la forme « msgid "
"\"\" »' \n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"msgconv permet de modifier l'encodage utilisé dans un catalogue de "
"traduction.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Cible de conversion :\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
"L'encodage par défaut est l'encodage de « locale » actuellement utilisé.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent indenter les données de sortie\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location supprimer les commentaires du type « #: "
"fichier:ligne »\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
-#, fuzzy, c-format
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
+#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-" --add-location conserver les commentaires du type « #: "
+" -n, --add-location conserver les commentaires du type « #: "
"fichier:ligne » (par défaut)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict créer une sortie strictement conforme à "
"l'Uniforum\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "Aucun fichier d'entrée n'a été fourni"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "Un (et un seul) fichier d'entrée doit être fourni"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Usage : %s [OPTION] FICHIER_ENTRÉE\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1761,22 +1936,22 @@ msgstr ""
"Le texte original anglais du champ « msgid » est alors utilisé\n"
"comme traduction pour les messages non traduits.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " FICHIER ... fichiers d'entrée .po ou .pot\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "Il manque le nom de la commande"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Usage : %s [OPTION] COMMANDE [OPTION_DE_COMMANDE]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1791,7 +1966,7 @@ msgstr ""
"la sortie de msgexec. msgexec renvoie un code qui correspond au maximum du code de\n"
"retour pour toutes les invocations.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1800,39 +1975,50 @@ msgstr ""
"Une commande interne spéciale appelée « 0 » renvoie la traduction suivie par un\n"
"octet nul. La sortie de « msgexec 0 » peut être utilisée comme entrée pour « xargs -0 ».\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Commande en entrée : \n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline ajouter un nouvelle ligne en fin d’entrée\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=FICHIER fichier .po d'entrée\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "Échec d'écriture sur la sortie standard"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "Il manque le nom du filtre"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "Un script « sed » doit au moins être spécifié"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Usage : %s [OPTION] FILTRE [OPTION_DU_FILTRE]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
"msgfilter permet d'appliquer un filtre à toutes les traductions d'un "
"catalogue.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1842,19 +2028,35 @@ msgstr ""
"l'entrée standard et qui renvoie une traduction modifiée sur la sortie "
"standard.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Filtrer l’entrée et la sortie :\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline ajouter un retour à la ligne à la fin de "
+"l’entrée\n"
+" et supprimer un retour à la ligne à la fin de "
+"la sortie"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Options de filtrage utiles lorsque le FILTRE est « sed » :\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SCRIPT ajouter le SCRIPT aux commandes à exécuter\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1864,7 +2066,7 @@ msgstr ""
" -f, --file=FICHIER_SCRIPT ajouter le contenu du FICHIER_SCRIPT aux "
"commandes à exécuter\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1872,7 +2074,7 @@ msgstr ""
" -n, --quiet, --silent demander à « sed » de ne pas afficher son "
"espace de travail (pattern space)\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1880,136 +2082,137 @@ msgstr ""
" --no-escape ne pas utiliser de séquences d'échappement C "
"dans la sortie (par défaut)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent indenter la sortie\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr " --keep-header ne pas filtrer ni modifier l'en-tête\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "le filtre de sortie ne se termine pas par un retour à la ligne"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "L'argument de %s devrait être un simple caractère de ponctuation"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ordre des octets invalide (endianness) : %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
-#, fuzzy, c-format
+#: src/msgfmt.c:471
+#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-" Si le nom du fichier d'entrée est « - » ou s'il n'est pas fourni, les "
-"données sont lues depuis l'entrée standard.\n"
+"aucun fichier d'entrée ne devrait être passé si les options %s et %s sont "
+"spécifiées"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s a besoin de l'option « -d DOSSIER »"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s a besoin de l'option « -l locale »"
-#: src/msgfmt.c:538
-#, fuzzy, c-format
+#: src/msgfmt.c:571 src/msgfmt.c:599
+#, c-format
msgid "%s requires a \"--template template\" specification"
-msgstr "%s a besoin de l'option « -l locale »"
+msgstr "%s a besoin de l'option « --template template »"
-#: src/msgfmt.c:545
-#, fuzzy, c-format
+#: src/msgfmt.c:578 src/msgfmt.c:606
+#, c-format
msgid "%s requires a \"-o file\" specification"
-msgstr "%s a besoin de l'option « -l locale »"
+msgstr "%s a besoin de l'option « -o fichier »"
-#: src/msgfmt.c:551
-#, fuzzy, c-format
+#: src/msgfmt.c:584 src/msgfmt.c:612
+#, c-format
msgid "%s and %s are mutually exclusive in %s"
-msgstr "%s et %s s'excluent mutuellement"
+msgstr "%s et %s s'excluent mutuellement dans %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s n'est valide qu'avec %s ou %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s n'est valide qu'avec %s, %s ou %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "Impossible de localiser les règles ITS pour %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s : "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d message traduit"
msgstr[1] "%d messages traduits"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d traduction approximative"
msgstr[1] ", %d traductions approximatives"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d message non traduit"
msgstr[1] ", %d messages non traduits"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Usage : %s [OPTION] fichier.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"msgfmt permet de créer un catalogue binaire de messages à partir de la "
"description textuelle des traductions.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Les arguments obligatoires pour les formes longues des options sont également\n"
-"obligatoires pour les formes courtes correspondantes. (idem options factultatives)\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " fichier.po ... fichiers d'entrée\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Mode d'exécution :\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -2018,7 +2221,7 @@ msgstr ""
" -j, --java mode JAVA : produire une classe Java "
"« ResourceBundle »\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -2027,14 +2230,14 @@ msgstr ""
" --java2 identique à --java, mais pour Java2 (JDK 1.2 "
"ou plus récent)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp mode C# : générer un fichier « .dll » de type ."
"NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -2043,7 +2246,7 @@ msgstr ""
" --csharp-resources mode C# : produire un fichier « .resources » "
"de type .NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -2051,47 +2254,52 @@ msgstr ""
" --tcl mode TCL : produire un fichier « .msg » de "
"type tcl/msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
" --tcl mode QT : produire un fichier « .qm » de type "
"Qt\n"
-#: src/msgfmt.c:811
-#, fuzzy, c-format
+#: src/msgfmt.c:955
+#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-" --tcl mode QT : produire un fichier « .qm » de type "
-"Qt\n"
+" --desktop Mode de saisie bureau : produire un fichier ."
+"desktop\n"
+
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml mode XML : produire un fichier XML\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict active le mode de conformité stricte à "
"l'Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
" Si le nom du fichier de sortie est « - », la sortie est envoyée vers la "
"sortie standard\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Emplacement du fichier de sortie en mode Java :\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESSOURCE nom de la ressource\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2100,16 +2308,16 @@ msgstr ""
" -l, --locale=LOCALE nom de la « locale » (par exemple « fr » ou "
"« fr_FR »)\n"
-#: src/msgfmt.c:829
-#, fuzzy, c-format
+#: src/msgfmt.c:975
+#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-" --tcl mode Tcl : l'entrée est un fichier « .msg » de "
-"type tcl/msgcat\n"
+" --source produire un fichier .java au lieu d'un "
+"fichier .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -2117,7 +2325,7 @@ msgstr ""
" -d DOSSIER répertoire de base de la hiérarchie des "
"classes\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2131,12 +2339,12 @@ msgstr ""
"obligatoire. La classe est créée\n"
" dans le répertoire spécifié.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Emplacement du fichier de sortie en mode C# :\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2145,7 +2353,7 @@ msgstr ""
" -d DOSSIER répertoire de base pour les fichiers .dll "
"dépendants de la « locale »\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2155,19 +2363,19 @@ msgstr ""
" Le fichier .dll est créé dans le sous-répertoire (du répertoire spécifié)\n"
" dont le nom dépend de la « locale ».\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Emplacement du fichier de sortie en mode Tcl :\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DOSSIER répertoire de base des catalogues de messages "
"de type « .msg »\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2176,24 +2384,23 @@ msgstr ""
" Les options « -l » et « -d » sont obligatoires.\n"
" Le fichier .msg est créé dans le répertoire spécifié.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
-msgstr ""
+msgstr "Options du mode de saisie bureau :\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
+" --template=TEMPLATE un fichier .desktop utilisé comme modèle\n"
-#: src/msgfmt.c:869
-#, fuzzy, c-format
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
+#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
-msgstr ""
-" -d DOSSIER répertoire de base des catalogues de messages "
-"de type « .msg »\n"
+msgstr " -d DOSSIER répertoire de base des fichier .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2202,20 +2409,38 @@ msgstr ""
" -kMOT, --keyword=MOT chercher MOT comme mot clé additionnel\n"
" -k, --keyword ne pas utiliser les mots clés par défaut\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
"input\n"
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
+"Les options -l, -o et --template sont obligatoires. Si -D est spécifiée,\n"
+"les fichiers d'entrée sont lus depuis le répertoire au lieu des arguments\n"
+"de la ligne de commande.\n"
+
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Options du mode XML :\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=NOM reconnaître le dialect XML spécifié\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=TEMPLATE un fichier XML utilisé comme modèle\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interprétation du fichier d'entrée :\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2227,14 +2452,14 @@ msgstr ""
" --check-format, --check-header et --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format vérifier les chaînes de formatage dépendantes "
"du langage\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2243,7 +2468,7 @@ msgstr ""
" --check-header vérifier la présence et le contenu de l'en-"
"tête\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2253,7 +2478,7 @@ msgstr ""
"domaine\n"
" et l'option « --output-file »\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2262,7 +2487,7 @@ msgstr ""
" -C, --check-compatibility vérifier que le « msgfmt » de GNU se comporte "
"comme celui de X/Open\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2273,14 +2498,14 @@ msgstr ""
"clavier\n"
" pour les éléments de menu\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy utiliser les traductions approximatives "
"(fuzzy) dans la sortie\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2288,7 +2513,7 @@ msgstr ""
" -a, --alignment=N effectuer un alignement des chaînes à N octets "
"(%d par défaut)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2296,8 +2521,11 @@ msgid ""
" (big or little, default depends on "
"platform)\n"
msgstr ""
+" --endianness=ORDRE_DES_OCTETS écrit les octets des entiers 32 bits\n"
+" suivant l'ordre choisi : big, little, "
+"default (dépendant du système)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2305,96 +2533,95 @@ msgstr ""
" --no-hash ne pas inclure la table de hachage dans le "
"fichier binaire\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
" --statistics afficher les statistiques de traduction\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose afficher plus d'informations\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "AVERTISSEMENT : l'en-tête du fichier .po est absent ou invalide\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "AVERTISSEMENT : la conversion d'encodage ne fonctionnera pas\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "AVERTISSEMENT : l'en-tête du fichier .po est approximatif (fuzzy)\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"AVERTISSEMENT : les versions plus anciennes de « msgfmt » génèreront une "
"erreur à cet endroit\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "Le nom de domaine « %s » n'est pas un nom de fichier approprié"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"Le nom de domaine « %s » n'est pas un nom de fichier approprié : un préfixe "
"sera utilisé"
-#: src/msgfmt.c:1095
-#, fuzzy, c-format
+#: src/msgfmt.c:1257
+#, c-format
msgid "'domain %s' directive ignored"
-msgstr "La directive « domain %s » a été ignorée"
+msgstr "directive « domain %s » ignorée"
-#: src/msgfmt.c:1155
-#, fuzzy, c-format
+#: src/msgfmt.c:1317
+#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "Une chaîne vide « msgstr » a été ignorée"
-#: src/msgfmt.c:1156
-#, fuzzy, c-format
+#: src/msgfmt.c:1318
+#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "Une chaîne « msgstr » approximative (fuzzy) a été ignorée"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr ""
"%s : AVERTISSEMENT : le fichier source contient des traductions "
"approximatives"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
-msgstr ""
+msgstr "%s n'existe pas"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
-msgstr ""
+msgstr "%s existe mais ne peut être lu"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "Erreur lors de la lecture de « %s »"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2403,7 +2630,7 @@ msgstr ""
"L'option « %c » ne peut être utilisée avant que « J », « K », « T », « C » "
"ou « X » n'ait été spécifié"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2412,7 +2639,7 @@ msgstr ""
"msggrep permet d'extraire tous les messages d'un catalogue de traduction qui concordent avec\n"
"un motif particulier ou qui appartiennent à des fichiers sources donnés.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2487,7 +2714,7 @@ msgstr ""
" -v, --invert-match récupère seulement les messages qui ne concordent avec\n"
" aucun critère de sélection\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2495,12 +2722,12 @@ msgstr ""
" --escape utiliser les séquences d'échappements C dans "
"la sortie, sans caractère étendu\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output trier les données en sortie\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2613,14 +2840,14 @@ msgstr ""
"Veuillez spécifier le fichier .pot d'entrée à l'aide de l'option « --"
"input ».\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "Échec du sous-processus %s avec le code de sortie %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2636,34 +2863,34 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Traductions françaises du paquet %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
"Le jeu de caractères actuel « %s » n'est pas un nom d'encodage portable"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
"Le fichier d'entrée contient deux jeux de caractères différents « %s » et "
"« %s »"
-#: src/msgl-cat.c:203
-#, fuzzy, c-format
+#: src/msgl-cat.c:204
+#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
"Aucun jeu de caractères n'est spécifié dans l'en-tête du fichier d'entrée "
"« %s »"
-#: src/msgl-cat.c:207
-#, fuzzy, c-format
+#: src/msgl-cat.c:208
+#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
@@ -2671,20 +2898,20 @@ msgstr ""
"Aucun jeu de caractères n'est spécifié pour le domaine « %s » dans l'en-tête "
"du fichier d'entrée « %s »"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"Le jeu de caractères cible « %s » n'est pas un nom d'encodage portable."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "AVERTISSEMENT : "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2694,7 +2921,7 @@ msgstr ""
"dont l'UTF-8.\n"
"L'ensemble a été converti en UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2707,7 +2934,7 @@ msgstr ""
"L'ensemble a été converti en UTF-8.\n"
"Pour choisir un encodage différent, utilisez l'option « --to-code ».\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2721,7 +2948,7 @@ msgstr ""
"vous assurer qu'ils sont\n"
"encodés en UTF-8 depuis l'origine, c-à-d dans vos fichiers de code source.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2734,14 +2961,14 @@ msgstr ""
"Il se peut que les données de sortie de « %s » soient incorrectes.\n"
"Pour contourner le problème, vous pouvez :\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
"- assigner à la variable d'environnement LC_ALL un nom de langue ayant "
"l'encodage %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2752,7 +2979,7 @@ msgstr ""
" puis appliquer « %s »,\n"
" et reconvertir en %s en utilisant « msgconv ».\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2766,7 +2993,7 @@ msgstr ""
" puis appliquer « %s »,\n"
" et reconvertir en %s en utilisant « msgconv ».\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2778,26 +3005,26 @@ msgstr ""
"Il se peut que les données de sortie de « %s » soient incorrectes.\n"
"Pour contourner le problème, vous pouvez définir LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "L'expression au pluriel peut produire des valeurs négatives."
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu mais l'expression au pluriel peut produire des valeurs aussi "
"grande que %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "L'expression au pluriel peut induire une division par zéro."
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "L'expression au pluriel peut induire un débordement d'entier"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2805,52 +3032,52 @@ msgstr ""
"L'expression au pluriel peut produire une erreur arithmétique, probablement "
"une division par zéro"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Essayez d'utiliser ce qui suit, valable pour %s :"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
"Le catalogue de messages contient des traductions d'expressions au pluriel"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "mais l'attribut « plural=EXPRESSION » est absent de l'en-tête"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "mais l'attribut « nplurals=ENTIER » est absent de l'en-tête"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "Valeur « nplurals » invalide"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "Expression au pluriel invalide"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "mais certains messages n'ont qu'une forme de pluriel"
msgstr[1] "mais certains messages n'ont que %lu formes de pluriel"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "mais certains messages ont une forme de pluriel"
msgstr[1] "mais certains messages ont %lu formes de pluriel"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2859,93 +3086,105 @@ msgstr ""
"il manque une entrée « Plural-Forms: nplurals=INTEGER; plural=EXPRESSION; » "
"dans l'en-tête"
-#: src/msgl-check.c:611
-#, fuzzy
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"Les chaînes « msgid » et « msgid_plural » ne débutent pas toutes les deux "
"par « \\n »"
-#: src/msgl-check.c:619
-#, fuzzy, c-format
+#: src/msgl-check.c:624
+#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr ""
"Les chaînes « msgid » et « msgstr[%u] » ne débutent pas toutes les deux par "
"« \\n »"
-#: src/msgl-check.c:634
-#, fuzzy
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr ""
"Les chaînes « msgid » et « msgstr » ne débutent pas toutes les deux par "
"« \\n »"
-#: src/msgl-check.c:652
-#, fuzzy
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
"Les chaînes « msgid » et « msgid_plural » ne se terminent pas toutes les "
"deux par « \\n »"
-#: src/msgl-check.c:660
-#, fuzzy, c-format
+#: src/msgl-check.c:665
+#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr ""
"Les chaînes « msgid » et « msgstr[%u] » ne se terminent pas toutes les deux "
"par « \\n »"
-#: src/msgl-check.c:675
-#, fuzzy
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr ""
"Les chaînes « msgid » et « msgstr » ne se terminent pas toutes les deux par "
"« \\n »"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
"La gestion des formes du pluriel est une extension de la version GNU de "
"gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "« msgstr » n'a pas de marqueur de raccourci clavier « %c »"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "« msgstr » a trop de marqueurs de raccourcis clavier « %c »"
-#: src/msgl-check.c:814
-#, fuzzy, c-format
+#: src/msgl-check.c:819
+#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "Le champ d'en-tête « %s » a encore sa valeur initiale par défaut\n"
-#: src/msgl-check.c:831
-#, fuzzy, c-format
+#: src/msgl-check.c:836
+#, c-format
msgid "header field '%s' missing in header\n"
msgstr "Le champ « %s » est absent de l'en-tête\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "Ellipse ASCII (\"...\") plutôt qu’Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "espace avant l’ellipse trouvée dans une chaîne utilisateur visible"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "utiliser une apostrophe ASCII double plutôt qu’Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "utiliser une apostrophe ASCII simple plutôt qu’Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s : l'entrée n'est pas valide dans l'encodage %s"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s : erreur pendant la conversion depuis l'encodage « %s » vers l'encodage « "
"%s »"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"Aucun jeu de caractères n'a été défini dans l'en-tête du fichier d'entrée"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2954,7 +3193,7 @@ msgstr ""
"Impossible de convertir de « %s » vers « %s ». %s s'appuie sur iconv() et "
"celui-ci ne permet pas cette conversion."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2963,8 +3202,8 @@ msgstr ""
"La conversion de « %s » vers « %s » introduit des doublons : certaines "
"chaînes « msgids » différentes deviennent identiques."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2973,16 +3212,16 @@ msgstr ""
"Impossible de convertir de « %s » vers « %s ». %s s'appuie sur iconv(), et "
"cette version a été compilée sans iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s est valable seulement avec %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "Type de sauvegarde"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2996,30 +3235,30 @@ msgid ""
"cannot be found, fuzzy matching is used to produce better results.\n"
msgstr ""
"msgmerge permet de fusionner deux fichiers .po de type Uniforum.\n"
-" Le fichier def.po contient d'anciennes traductions qui sont réutilisées dans\n"
+"Le fichier def.po contient d'anciennes traductions qui sont réutilisées dans\n"
"la nouvelle traduction si les chaînes à traduire correspondent.\n"
"Les commentaires sont préservés, sauf les commentaires extraits\n"
"du code source et les commentaires de position (« #: ») qui sont sont éliminés.\n"
-" Le fichier ref.po est soit le dernier fichier .po créé contenant les messages\n"
+"Le fichier ref.po est soit le dernier fichier .po créé contenant les messages\n"
"sources originaux à jour (mais contenant de vieilles traductions),\n"
"soit un fichier modèle .pot (généralement créé avec xgettext).\n"
"Les traductions et les commentaires sont éliminés, sauf les commentaires pointés\n"
"(de type « #. ») et les commentaires de position (« #: ») qui sont conservés.\n"
"Lorsqu'une correspondance exacte n'est pas possible,\n"
-" une correspondance floue (fuzzy) est utilisée pour produire un meilleur résultat. \n"
+"une correspondance floue (fuzzy) est utilisée pour produire un meilleur résultat. \n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po traduction des anciens messages sources\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot messages sources actuels à traduire\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -3029,7 +3268,7 @@ msgstr ""
"traduction,\n"
" peut être spécifié plusieurs fois\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -3039,28 +3278,28 @@ msgstr ""
" ne rien faire si le fichier def.po est déjà à "
"jour\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Emplacement du fichier de sortie en mode mise à jour :\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr " Le résultat est réécrit dans le fichier def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTRÔLE créer une sauvegarde de def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=SUFFIXE choisir un suffixe différent de sauvegarde\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -3083,8 +3322,8 @@ msgstr ""
" sinon effectuer des sauvegardes simples\n"
" simple, never toujours créer des sauvegardes simples\n"
-#: src/msgmerge.c:559
-#, fuzzy, c-format
+#: src/msgmerge.c:560
+#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
"SIMPLE_BACKUP_SUFFIX\n"
@@ -3094,7 +3333,7 @@ msgstr ""
"l'option «--suffix »\n"
"ou par la variable d'environnement SIMPLE_BACKUP_SUFFIX\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -3102,22 +3341,22 @@ msgstr ""
" --previous conserver les précédentes chaînes « msgid » "
"des messages traduits\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent supprimer le témoin de progression\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "Ce message devrait définir des formes au pluriel"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "Ce message ne devrait pas définir de forme au pluriel"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3126,30 +3365,30 @@ msgstr ""
"%s lues %ld anciennes + %ld références, %ld fusionnées, %ld approximatives, "
"%ld manquantes, %ld périmées.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " terminé.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s n'est pas compatible avec les noms de fichiers explicites"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Usage : %s [OPTION] [FICHIER]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"msgunfmt permet de convertir un catalogue binaire de traductions en fichier ."
"po de type Uniforum\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3158,14 +3397,14 @@ msgstr ""
" -j, --java mode Java : l'entrée est une classe Java "
"ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp mode C# : l'entrée est un fichier « .dll » de "
"type .NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3174,7 +3413,7 @@ msgstr ""
" --csharp-resources mode ressources C# : l'entrée est un fichier "
"« .resources » de type .NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3182,17 +3421,17 @@ msgstr ""
" --tcl mode Tcl : l'entrée est un fichier « .msg » de "
"type tcl/msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FICHIER ... fichiers d'entrée .mo\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Emplacement du fichier d'entrée en mode Java :\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3205,12 +3444,12 @@ msgstr ""
" L'emplacement de la classe est déterminé par la variable d'environnement "
"CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Emplacement du fichier d'entrée en mode C# :\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3221,12 +3460,12 @@ msgstr ""
"spécifié)\n"
" dont le nom dépend de la langue.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Emplacement du fichier d'entrée en mode Tcl :\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3235,19 +3474,19 @@ msgstr ""
" Les options « -l » et « -d » sont obligatoires.\n"
" Le fichier « .msg » est situé dans le répertoire spécifié.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent indenter la sortie\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict produire une sortie strictement conforme à "
"l'Uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3268,12 +3507,12 @@ msgstr ""
"Si l'option « --use-first » est spécifiée, seuls ceux de la première traduction seront utilisés.\n"
"Les commentaires de position sont cumulés. Lorsque l'option « --unique » est utilisée, seuls les messages uniques sont conservés.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated afficher seulement les doublons\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3282,7 +3521,7 @@ msgstr ""
" -u, --unique afficher seulement les messages uniques,\n"
" en ignorant les doublons\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3342,32 +3581,32 @@ msgstr ""
"La conversion vers le jeu de caractères de l'utilisateur ne fonctionnera "
"pas.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "Utilisation incohérente de #~"
-#: src/po-gram-gen.y:243
-#, fuzzy, c-format
+#: src/po-gram-gen.y:244
+#, c-format
msgid "missing 'msgstr[]' section"
msgstr "Section « msgstr[] » absente"
-#: src/po-gram-gen.y:252
-#, fuzzy, c-format
+#: src/po-gram-gen.y:253
+#, c-format
msgid "missing 'msgid_plural' section"
msgstr "Section « msgstr_plural » absente"
-#: src/po-gram-gen.y:260
-#, fuzzy, c-format
+#: src/po-gram-gen.y:261
+#, c-format
msgid "missing 'msgstr' section"
msgstr "Section « msgstr » absente"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "La première forme du pluriel a un indice non nul"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "La forme du pluriel a un indice erroné"
@@ -3377,7 +3616,7 @@ msgstr "La forme du pluriel a un indice erroné"
msgid "too many errors, aborting"
msgstr "Trop d'erreurs, on abandonne"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "Séquence d'octets multiples invalide"
@@ -3421,66 +3660,83 @@ msgstr "Fin de ligne au milieu d'une chaîne"
msgid "context separator <EOT> within string"
msgstr "séparateur de contexte <EOT> à l'intérieur d'une chaîne"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "Ce fichier peut ne pas contenir de directive de domaine"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "Double définition de message"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "voici l'endroit de la première occurence"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "nom de groupe indeterminé"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "caractère non blanc invalide"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "« = » manquant après « %s »"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "ligne non vide invalide"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "Le fichier « %s » est tronqué"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "Le fichier « %s » contient une chaîne non terminée par un octet nul"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "Le fichier « %s » n'est pas au format GNU « .mo »"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
"Le fichier « %s » contient une chaîne non terminée par un octet nul, à %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "AVERTISSEMENT : syntaxe \\uxxxx incorrecte pour un caractère Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "AVERTISSEMENT : chaîne non terminée"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "AVERTISSEMENT : erreur de syntaxe"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "AVERTISSEMENT : paire clé/valeur non terminée"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "AVERTISSEMENT : erreur de syntaxe : il manque « ; » après la chaîne"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
"AVERTISSEMENT : erreur de syntaxe : il manque « = » ou « ; » après la chaîne"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Écrit par %s et %s.\n"
@@ -3489,16 +3745,16 @@ msgstr "Écrit par %s et %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Réencode du texte serbe du Cyrillique vers le Latin.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3507,28 +3763,28 @@ msgstr ""
"Le texte est lu depuis l'entrée standard. Le texte converti est envoyé\n"
" vers la sortie standard.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "l'entrée n'est pas valide en encodage %s"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"Erreur lors de la conversion depuis l'encodage « %s » vers l'encodage « %s »"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "Deux arguments étaient attendus"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Usage : %s [OPTION] URL FICHIER\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3537,37 +3793,37 @@ msgstr ""
"urlget permet de récupérer et d'afficher le contenu d'une URL.\n"
"Si l'URL ne peut être atteintte, le FICHIER local est utilisé.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "Erreur de lecture de « %s »"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "Erreur d'écriture sur la sortie standard"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "Erreur après la lecture de « %s »"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Récupération de %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " délai expiré.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " échoué.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3576,7 +3832,7 @@ msgstr ""
"avec le format de sortie spécifié. Essayez plutôt d'utiliser une syntaxe de "
"type .po"
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3584,7 +3840,7 @@ msgstr ""
"Impossible d'écrire plusieurs domaines de traduction dans un fichier unique "
"avec le format de sortie spécifié."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3592,7 +3848,7 @@ msgstr ""
"Le catalogue de messages contient des traductions dépendantes du contexte "
"mais le format de sortie ne les supporte pas."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3602,7 +3858,7 @@ msgstr ""
"mais le format de sortie ne les supporte pas. Essayez plutôt de produire une "
"classe Java en utilisant « msgfmt --java »."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3610,12 +3866,12 @@ msgstr ""
"Le catalogue de messages contient des formes de traduction au pluriel\n"
"mais le format de sortie ne les supporte pas."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "Impossible de créer le fichier « %s »"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "sortie standard"
@@ -3634,41 +3890,41 @@ msgstr "Échec de compilation de la classe C#. Essayez l'option « --verbose Â
msgid "compilation of C# class failed"
msgstr "Échec de compilation de la classe C#"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "Erreur lors de l'ouverture de « %s » en écriture"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "« %s » n'est pas un nom de classe Java valide"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"Échec de compilation de la classe Java. Essayez l'option « --verbose » ou "
"définissez $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "Échec de compilation de la classe Java. Essayez de définir $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "Erreur lors de l'ouverture de « %s » en écriture"
-
-#: src/write-po.c:821
-#, fuzzy
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
-msgstr "Séquence d'octets multiples invalide"
+msgstr "Séquence d'octets multiples incomplète"
-#: src/write-po.c:884
-#, fuzzy, c-format
+#: src/write-po.c:885
+#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"un message à traduire ne doit pas contenir de séquence d'échappement « \\%c »"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3681,7 +3937,7 @@ msgstr ""
"différent du vôtre. Vous devriez utiliser un msgctxt en pur ASCII.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3696,7 +3952,7 @@ msgstr ""
"ASCII.\n"
"« %s »\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3704,7 +3960,7 @@ msgstr ""
"le catalogue de messages contient des formes de traduction au pluriel\n"
"mais le format de catalogue de type Qt ne les supporte pas.\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3717,7 +3973,7 @@ msgstr ""
"que dans les chaînes traduites\n"
"et pas dans les chaînes de contexte\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3729,12 +3985,12 @@ msgstr ""
"l'Unicode\n"
"que dans les chaînes traduites, pas dans les chaînes sources\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "Erreur pendant l'écriture sur le sous-processus %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3742,7 +3998,7 @@ msgstr ""
"le catalogue de messages contient des traductions dépendantes du contexte\n"
"mais le format .resources de type C# ne les supporte pas.\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3750,7 +4006,7 @@ msgstr ""
"le catalogue de messages contient des formes de traduction au pluriel\n"
"mais le format .resources de type C# ne les supporte pas.\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3758,7 +4014,7 @@ msgstr ""
"Le catalogue de messages contient des traductions dépendantes du contexte\n"
"mais le format de catalogue de type Tcl ne les supporte pas\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3767,37 +4023,37 @@ msgstr ""
"mais le format de catalogue de type Tcl ne supporte pas les formes au "
"pluriel\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d : AVERTISSEMENT : chaîne non terminée"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d : AVERTISSEMENT : expression rationnelle non terminée"
-#: src/x-c.c:1052
-#, fuzzy, c-format
+#: src/x-c.c:1161
+#, c-format
msgid "warning: invalid Unicode character"
-msgstr "%s:%d : AVERTISSEMENT : caractère Unicode invalide"
+msgstr "AVERTISSEMENT : caractère Unicode invalide"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d : AVERTISSEMENT : constante caractère sans terminaison"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d : AVERTISSEMENT : chaîne sans terminaison"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
"Veuillez spécifier l'encodage de la source avec l'option « --from-code »."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3806,7 +4062,7 @@ msgstr ""
"%s:%d : séquence d'octets multiples invalide.\n"
"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3815,7 +4071,7 @@ msgstr ""
"%s:%d : séquence longue d'octets multiples incomplète.\n"
"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3824,7 +4080,7 @@ msgstr ""
"%s:%d : séquence d'octets multiples incomplète à la fin du fichier.\n"
"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3833,12 +4089,12 @@ msgstr ""
"%s:%d : séquence d'octets multiples incomplète à la fin de la ligne.\n"
"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d : Échec de « iconv »"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3847,297 +4103,82 @@ msgstr ""
"%s:%d : séquence d'octets multiples invalide.\n"
"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d : AVERTISSEMENT : caractère Unicode invalide"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d : AVERTISSEMENT : constante chaîne de caractères non terminée"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d : AVERTISSEMENT : caractère « ) » trouvé à la place de « } »"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d : AVERTISSEMENT : caractère « } » trouvé à la place de « ) »"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Le langage « glade » n'est pas supporté. %s utilise expat(),\n"
-"Cette version a été compilée sans expat().\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d : AVERTISSEMENT : substitut isolé U+%04X"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code »."
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples invalide.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d : séquence longue d'octets multiples incomplète.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples incomplète à la fin du fichier.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples incomplète à la fin de la ligne.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples invalide.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code ».\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d : AVERTISSEMENT : chaîne sans terminaison"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d : AVERTISSEMENT : caractère Unicode invalide"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d : AVERTISSEMENT : chaîne non terminée"
-
-#: src/x-perl.c:308
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d : impossible de trouver la terminaison de chaîne « %s » avant la fin "
-"du fichier"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d : accolade fermante manquante sur \\x{NOMBRE_HEXA}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d : interpolation invalide (« \\l ») de caractères de 8 bits « %c »"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d : interpolation invalide (« \\u ») de caractères de 8 bits « %c »"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d : interpolation invalide de variable à « %c »"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d : interpolation invalide (« \\L ») de caractères de 8 bits « %c »"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-"%s:%d : interpolation invalide (« \\U ») de caractères de 8 bits « %c »"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
-"avec un commentaire\n"
-"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples invalide.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
-"avec un commentaire\n"
-"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d : séquence longue d'octets multiples incomplète.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
-"avec un commentaire\n"
-"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+"« %s » n'est pas un nom d'encodage valide. ASCII a été utilisé à la place.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples incomplète à la fin du fichier.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
-"avec un commentaire\n"
-"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "vérification de syntaxe « %s » inconnue"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d : séquence d'octets multiples incomplète à la fin de la ligne.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
-"avec un commentaire\n"
-"comme spécifié sur la page : http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "sentence de fin de type « %s » inconnue"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d : séquence d'octets multiples invalide.\n"
-"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
-"avec un commentaire\n"
-"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Encodage « %s » inconnu. Traitement effectué en ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d : définition de chaîne invalide"
+"L'option « --join-existing » ne peut pas être utilisée pour l'écriture sur "
+"la sortie standard"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d : nombre manquant après « # »"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext ne peut pas fonctionner sans mot clé à rechercher"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d : expression chaîne invalide"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "AVERTISSEMENT : le fichier de règle ITS « %s » n’existe pas"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu : AVERTISSEMENT : la syntaxe « $\"...\" » ne doit pas être utilisée "
-"pour des raisons de sécurité. Utilisez plutôt « eval_gettext »"
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d : AVERTISSEMENT : chaîne sans terminaison"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"L'option « --join-existing » ne peut pas être utilisée pour l'écriture sur "
-"la sortie standard"
+"AVERTISSEMENT : le fichier de règle ITS « %s » n’existe pas ; vérifiez votre "
+"installation de gettext"
-#: src/xgettext.c:653
+#: src/xgettext.c:967
#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext ne peut pas fonctionner sans mot clé à rechercher"
-
-#: src/xgettext.c:808
-#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"AVERTISSEMENT : pour le fichier « %s », l'extension « %s » est inconnue. On "
"suppose que c'est du C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
"xgettext analyse des fichiers de code source et permet d'en extraire les "
"chaînes qui peuvent être traduites dans d'autres langues.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4146,13 +4187,13 @@ msgstr ""
" -d, --default-domain=NOM utiliser NOM.po pour la sortie (au lieu de "
"messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=FICHIER écrire la sortie dans le FICHIER spécifié\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -4160,13 +4201,13 @@ msgstr ""
" -p, --output-dir=RÉP créer les fichiers de sortie dans le "
"répertoire spécifié\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Choix du langage du fichier d'entrée :\n"
-#: src/xgettext.c:893
-#, fuzzy, c-format
+#: src/xgettext.c:1086
+#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
" (C, C++, ObjectiveC, PO, Shell, Python, "
@@ -4178,17 +4219,20 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
" -L, --language=NOM reconnaître le langage spécifié\n"
-" (C, C++, ObjectiveC, PO, Shell, Python, Lisp,\n"
-" EmacsLisp, librep, Scheme, Smalltalk, Java,\n"
-" JavaProperties, C#, awk, YCP, Tcl, Perl, PHP,\n"
-" GCC-source, NXStringTable, RST, Glade)\n"
+" (C, C++, ObjectiveC, PO, Shell, Python, "
+"Lisp,\n"
+" EmacsLisp, librep, Scheme, Smalltalk, Java,\n"
+" JavaProperties, C#, awk, YCP, Tcl, Perl, "
+"PHP,\n"
+" GCC-source, NXStringTable, RST, Glade, Lua,\n"
+" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ identique à « --language=C++ »\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4196,7 +4240,7 @@ msgid ""
msgstr ""
" Par défaut, le langage est deviné selon l'extension du nom du fichier.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4205,25 +4249,25 @@ msgstr ""
" --from-code=NOM encodage des fichiers d'entrée\n"
" (sauf pour Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr " Par défaut les fichiers d'entrée sont supposés être en ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing joindre les messages au fichier existant\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=FICHIER.po les entrées du FICHIER.po ne sont pas "
"extraites\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4240,18 +4284,40 @@ msgstr ""
"précédant les lignes de mots clés\n"
" dans le fichier de sortie\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NOM vérifier la syntaxe des messages\n"
+" (ellipsis-unicode, ellipsis-espace,\n"
+" apostrophe-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYPE type décrivant la fin d’une phrase\n"
+" (espace-simple, par défaut, \n"
+" ou espace-double)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Options spécifiques au langage:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extraire toutes les chaînes\n"
-#: src/xgettext.c:929
-#, fuzzy, c-format
+#: src/xgettext.c:1130
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -4261,12 +4327,13 @@ msgid ""
msgstr ""
" (seulement les langages C, C++, ObjectiveC, "
"Shell,\n"
-" Python, Lisp, EmacsLisp, librep, Scheme, Java, "
-"C#, awk,\n"
-" awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
+" Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
+" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
-#, fuzzy, c-format
+#: src/xgettext.c:1138
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -4276,11 +4343,12 @@ msgid ""
msgstr ""
" (seulement les langages C, C++, ObjectiveC, "
"Shell,\n"
-" Python, Lisp, EmacsLisp, librep, Scheme, Java, "
-"C#, awk,\n"
-" awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
+" Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
+" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4291,8 +4359,8 @@ msgstr ""
"l'intérieur de\n"
" l'argument numéro ARG du MOT clé\n"
-#: src/xgettext.c:945
-#, fuzzy, c-format
+#: src/xgettext.c:1146
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -4304,44 +4372,45 @@ msgstr ""
"Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
"Java,\n"
-" C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
+" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
+" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs comprendre les trigrammes ANSI C pour "
"l'entrée\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (seuls les langages C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt reconnaître les chaînes au format Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (seulement le langage C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
" --kde reconnaître les chaînes au format KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
" --boost reconnaître les chaînes au format Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4349,19 +4418,31 @@ msgstr ""
" --debug mieux détailler la reconnaissance des chaînes "
"de format\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output produire un fichier « .properties » de type "
"Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=FILE appliquer les règles ITS du FICHIER\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+" --itstool envoyer sur la sortie les commentaires "
+"d’itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=AUTEUR définit l'auteur dans la sortie\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4369,18 +4450,18 @@ msgstr ""
" --foreign-user omettre le copyright FSF dans la sortie pour "
"les utilisateurs étrangers\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAQUET donne le nom de paquet dans la sortie\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=VERSION donne la version du paquet dans la sortie\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4388,7 +4469,7 @@ msgstr ""
" --msgid-bugs-address=ADRESSE@COURRIEL adresse de courriel pour les "
"rapport d'anomalie des msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4399,7 +4480,7 @@ msgstr ""
"préfixe aux valeurs\n"
" msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4410,7 +4491,7 @@ msgstr ""
"suffixe aux valeurs\n"
" msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4419,31 +4500,31 @@ msgstr ""
"Un argument « --flag » n'a pas la syntaxe <mot_clé>:<n°_argument>:"
"[pass-]<drapeau>:%s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "entrée standard"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Caractère non-ASCII à %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Commentaire non-ASCII à (ou avant) %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Chaîne non-ASCII à %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s : AVERTISSEMENT : "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4452,7 +4533,7 @@ msgstr ""
"Malgré sa position, %s n'est pas une chaîne de format %s valide. La raison "
"est :%s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4461,7 +4542,7 @@ msgstr ""
"Malgré sa déclaration, %s n'est pas une chaîne de format %s valide. La "
"raison est :%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4475,7 +4556,7 @@ msgstr ""
"Envisagez d'utiliser une chaîne de format contenant des arguments nommés,\n"
"et un mapping plutôt qu'un tuple pour les arguments.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4485,31 +4566,30 @@ msgstr ""
"GNU gettext : gettext(\"\") retourne l'en-tête\n"
"avec les informations de contexte, pas une chaîne vide.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "Argument ambigu pour le mot clé « %.*s »"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "AVERTISSEMENT : contexte absent pour le mot clé « %.*s »"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"AVERTISSEMENT : contexte absent pour l'argument de pluriel du mot clé « %.*s "
"»"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
"incohérence de contexte entre la forme du singulier et celle du pluriel"
-#: src/xgettext.c:3427
-#, fuzzy
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4521,1322 +4601,351 @@ msgstr ""
"la variable MSGID_BUGS_ADDRESS à cet endroit. Sinon, veuillez\n"
"utiliser l'option « --msgid-bugs-address » en ligne de commande.\n"
-#: src/xgettext.c:3646
-#, fuzzy, c-format
+#: src/xgettext.c:3958
+#, c-format
msgid "language '%s' unknown"
msgstr "langage « %s » inconnu"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d : AVERTISSEMENT : substitut isolé U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code »\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples invalide.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code »\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d : séquence longue d'octets multiples incomplète.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code »\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples incomplète à la fin du fichier.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code »\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples incomplète à la fin de la ligne.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code »\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples invalide.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code »\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d : AVERTISSEMENT : RegExp terminé trop tôt"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d : AVERTISSEMENT : %s n'est pas autorisé"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d : AVERTISSEMENT : balisage XML non terminé"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d : impossible de trouver la terminaison de chaîne « %s » avant la fin "
+"du fichier"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d : accolade fermante manquante sur \\x{NOMBRE_HEXA}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d : interpolation invalide (« \\l ») de caractères de 8 bits « %c »"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d : interpolation invalide (« \\u ») de caractères de 8 bits « %c »"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d : interpolation invalide de variable à « %c »"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d : interpolation invalide (« \\L ») de caractères de 8 bits « %c »"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+"%s:%d : interpolation invalide (« \\U ») de caractères de 8 bits « %c »"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
+"avec un commentaire\n"
+"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples invalide.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
+"avec un commentaire\n"
+"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d : séquence longue d'octets multiples incomplète.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
+"avec un commentaire\n"
+"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples incomplète à la fin du fichier.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
+"avec un commentaire\n"
+"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples incomplète à la fin de la ligne.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
+"avec un commentaire\n"
+"comme spécifié sur la page : http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d : séquence d'octets multiples invalide.\n"
+"Veuillez spécifier l'encodage de la source avec l'option « --from-code » ou "
+"avec un commentaire\n"
+"comme spécifié sur la page http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Encodage « %s » inconnu. Traitement effectué en ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d : définition de chaîne invalide"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d : nombre manquant après « # »"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d : expression chaîne invalide"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu : AVERTISSEMENT : la syntaxe « $\"...\" » ne doit pas être utilisée "
+"pour des raisons de sécurité. Utilisez plutôt « eval_gettext »"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d : AVERTISSEMENT : expression régulière terminée trop tôt"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<sans nom>"
-#~ msgid "header field `%s' should start at beginning of line\n"
-#~ msgstr "Le champ d'en-tête « %s » devrait être au début de la ligne\n"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "Séquence UTF-8 invalide"
-#~ msgid "some header fields still have the initial default value\n"
-#~ msgstr ""
-#~ "Certains champs d'en-tête ont encore leur valeur initiale par défaut\n"
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "« %s » n'est pas un nom valide : %c"
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s : l'option « --%c » n'est pas permise\n"
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "« %s » n'est pas un nom valide : « %c »"
-#~ msgid "DuplicateHandle failed with error code 0x%08x"
-#~ msgstr ""
-#~ "Échec de la fonction « DuplicateHandle » avec le code d'erreur 0x%08x"
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "référence de caractère invalide : %s"
-#~ msgid "Not yet implemented."
-#~ msgstr "Pas encore implanté"
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "nombre spécifié invalide"
-#~ msgid "field `%s' still has initial default value\n"
-#~ msgstr "Le champ « %s » a encore sa valeur initiale par défaut\n"
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "ne se termine pas par « ; »"
-#~ msgid "Multiple references to %%%c."
-#~ msgstr "Références multiples à %%%c."
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "caractère non permis"
-#~ msgid ""
-#~ "Copyright (C) %s Free Software Foundation, Inc.\n"
-#~ "This is free software; see the source for copying conditions. There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Copyright © %s Free Software Foundation, Inc.\n"
-#~ "Ce programme est un logiciel libre. Consultez le code source pour "
-#~ "obtenir des détails sur\n"
-#~ "les permissions de copie. Il est distribué SANS AUCUNE GARANTIE\n"
-#~ "de QUALITÉ MARCHANDE ni d'ADÉQUATION À UN BUT PARTICULIER.\n"
-
-#~ msgid ""
-#~ "message catalog has context dependent translations\n"
-#~ "but the C# .dll format doesn't support contexts\n"
-#~ msgstr ""
-#~ "le catalogue de messages contient des formes de traduction au pluriel\n"
-#~ "mais le format .dll de type C# ne les supporte pas.\n"
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "vide"
-#~ msgid ""
-#~ "message catalog has context dependent translations\n"
-#~ "but the Java ResourceBundle format doesn't support contexts\n"
-#~ msgstr ""
-#~ "le catalogue de messages contient des traductions dépendantes du "
-#~ "contexte\n"
-#~ "mais le format ResourceBundle de type Java ne les supporte pas.\n"
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "inconnu"
-#~ msgid "conversion failure"
-#~ msgstr "Échec de conversion"
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "référence à une entité invalide : %s"
-#~ msgid "%s: warning: "
-#~ msgstr "%s : AVERTISSEMENT : "
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "le document doit commencer par un élément"
-#~ msgid "%s\n"
-#~ msgstr "%s\n"
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "caractère invalide après « %s »"
-#~ msgid "%s:%lu: warning: unterminated string"
-#~ msgstr "%s:%lu: AVERTISSEMENT : chaîne non terminée"
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "« %c » maquant"
-#~ msgid "%s:%d: fatal: plural message seen before singular message\n"
-#~ msgstr "%s:%d : FATAL : message au pluriel avant la forme au singulier\n"
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "« %c » ou « %c » maquant"
-#~ msgid "Which is your email address?"
-#~ msgstr "Quelle est votre adresse de courriel ?"
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "un nom d’élément de fermeture"
-#~ msgid "Please choose the number, or enter your email address."
-#~ msgstr ""
-#~ "Veuillez choisir un numéro, ou tapez directement votre adresse de "
-#~ "courriel."
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "élément fermé"
-#~ msgid "Invalid email address: invalid character."
-#~ msgstr "Adresse de courriel invalide : caractère invalide."
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "document vide"
-#~ msgid ""
-#~ "Invalid email address: need a fully qualified host name or domain name."
-#~ msgstr ""
-#~ "Adresse de courriel invalide : vous devez fournir un nom de machine ou un "
-#~ "nom de domaine pleinement qualifié."
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "après « < »"
-#~ msgid "Invalid email address: missing @"
-#~ msgstr "Adresse de courriel invalide : « @ » manquant"
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "élément encore ouvert"
-#~ msgid "Is the following your email address?"
-#~ msgstr "Ceci est-il votre adresse de courriel ?"
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "« > » manquant"
-#~ msgid "Please confirm by pressing Return, or enter your email address."
-#~ msgstr ""
-#~ "Veuillez confirmer en appuyant sur la touche ENTRÉE, sinon tapez votre "
-#~ "adresse de courriel"
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "dans un nom d’élément"
-#~ msgid "Couldn't find out about your email address."
-#~ msgstr "Impossible de découvrir votre adresse de courriel."
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "dans un nom d’attribut"
-#~ msgid "Please enter your email address."
-#~ msgstr "Veuillez taper votre adresse de courriel."
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "dans une balise ouverte"
-#~ msgid "write to grep subprocess failed"
-#~ msgstr "L'écriture vers le sous-processus « grep » a échoué"
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "après « = »"
-#~ msgid "missing arguments"
-#~ msgstr "arguments manquants"
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "dans une valeur d’attribut"
-#~ msgid ""
-#~ "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
-#~ "or: %s [OPTION] -s [MSGID]...\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION] [[DOMAINE] MSGID]\n"
-#~ "ou %s [OPTION] -s [MSGID]...\n"
-
-#~ msgid "Display native language translation of a textual message.\n"
-#~ msgstr "Afficher en langage natif la traduction du message textuel.\n"
-
-#~ msgid ""
-#~ " -d, --domain=TEXTDOMAIN retrieve translated messages from TEXTDOMAIN\n"
-#~ " -e enable expansion of some escape sequences\n"
-#~ " -E (ignored for compatibility)\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -n suppress trailing newline\n"
-#~ " -V, --version display version information and exit\n"
-#~ " [TEXTDOMAIN] MSGID retrieve translated message corresponding\n"
-#~ " to MSGID from TEXTDOMAIN\n"
-#~ msgstr ""
-#~ " -d, --domain=DOMAINE trouver la traduction de MSGID, dans le DOMAINE "
-#~ "donné\n"
-#~ " -e reconnaître et remplacer les séquences "
-#~ "d'échappement\n"
-#~ " -E (ignoré, gardé pour des questions de "
-#~ "compatibilité)\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " -n inhiber la production d'une fin de ligne\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ " [DOMAINE] MSGID trouver la traduction de MSGID, dans le DOMAINE "
-#~ "donné\n"
-
-#~ msgid ""
-#~ "If the TEXTDOMAIN parameter is not given, the domain is determined from "
-#~ "the\n"
-#~ "environment variable TEXTDOMAIN. If the message catalog is not found in "
-#~ "the\n"
-#~ "regular directory, another location can be specified with the "
-#~ "environment\n"
-#~ "variable TEXTDOMAINDIR.\n"
-#~ "When used with the -s option the program behaves like the `echo' "
-#~ "command.\n"
-#~ "But it does not simply copy its arguments to stdout. Instead those "
-#~ "messages\n"
-#~ "found in the selected catalog are translated.\n"
-#~ "Standard search directory: %s\n"
-#~ msgstr ""
-#~ "Si le DOMAINE n'est pas fourni, le domaine est obtenu de la variable "
-#~ "TEXTDOMAIN\n"
-#~ "dans l'environnement. Si le catalogue de messages n'est pas trouvé à "
-#~ "l'endroit\n"
-#~ "habituel, la variable d'environnement TEXTDOMAINDIR peut indiquer un "
-#~ "autre\n"
-#~ "répertoire.\n"
-#~ "Avec l'option « -s », ce programme se comporte comme la commande "
-#~ "« echo »; mais\n"
-#~ "plutôt que de copier simplement ses arguments sur « stdout », ceux "
-#~ "qui sont\n"
-#~ "disponibles dans le catalogue choisi sont traduits.\n"
-#~ "\n"
-#~ "Répertoire standard de recherche: %s\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " INPUTFILE input PO file\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ "If no input file is given or if it is -, standard input is read.\n"
-#~ msgstr ""
-#~ "Localisation du fichier d'entrée:\n"
-#~ " FICHIER-D-ENTRÉE fichier PO d'entrée\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour la recherche des "
-#~ "fichiers d'entrée\n"
-#~ "Si aucun fichier d'entrée n'est fourni ou si -, lire de l'entrée "
-#~ "standard.\n"
-
-#~ msgid ""
-#~ "Output file location:\n"
-#~ " -o, --output-file=FILE write output to specified file\n"
-#~ "The results are written to standard output if no output file is "
-#~ "specified\n"
-#~ "or if it is -.\n"
-#~ msgstr ""
-#~ "Localisation du fichier de sortie:\n"
-#~ " -o, --output-file=FICHIER écrire la sortie dans le FICHIER "
-#~ "spécifié\n"
-#~ "Les résultats sont écrits sur la sortie standard si aucun fichier n'est "
-#~ "spécifié.\n"
-
-#~ msgid ""
-#~ "Message selection:\n"
-#~ " --translated keep translated, remove untranslated "
-#~ "messages\n"
-#~ " --untranslated keep untranslated, remove translated "
-#~ "messages\n"
-#~ " --no-fuzzy remove 'fuzzy' marked messages\n"
-#~ " --only-fuzzy keep 'fuzzy' marked messages\n"
-#~ " --no-obsolete remove obsolete #~ messages\n"
-#~ " --only-obsolete keep obsolete #~ messages\n"
-#~ msgstr ""
-#~ "Sélection de messages:\n"
-#~ " --translated conserver les messages traduits, \n"
-#~ " enlever ceux qui ne sont pas traduits\n"
-#~ " --untranslated conserver les non traduits, enlever ceux "
-#~ "traduits\n"
-#~ " --no-fuzzy enlever les messages marqués "
-#~ "« fuzzy »\n"
-#~ " --only-fuzzy conserver les messages marqués "
-#~ "« fuzzy »\n"
-#~ " --no-obsolete enlever les messages obsolètes #~\n"
-#~ " --only-obsolete conserver les messages obsolètes #~\n"
-
-#~ msgid ""
-#~ "Attribute manipulation:\n"
-#~ " --set-fuzzy set all messages 'fuzzy'\n"
-#~ " --clear-fuzzy set all messages non-'fuzzy'\n"
-#~ " --set-obsolete set all messages obsolete\n"
-#~ " --clear-obsolete set all messages non-obsolete\n"
-#~ " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
-#~ " --obsolete synonym for --only-obsolete --clear-"
-#~ "obsolete\n"
-#~ msgstr ""
-#~ "Manipulation des attributs:\n"
-#~ " --set-fuzzy marquer tous les messages comme "
-#~ "« fuzzy »\n"
-#~ " --clear-fuzzy marquer tous les messages comme non-"
-#~ "« fuzzy »\n"
-#~ " --set-obsolete marquer tous les messages comme obsolètes\n"
-#~ " --clear-obsolete marquer tous les messages comme non-"
-#~ "obsolètes\n"
-#~ " --fuzzy identique à --only-fuzzy --clear-fuzzy\n"
-#~ " --obsolete identique à --only-obsolete --clear-"
-#~ "obsolete\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " -e, --no-escape do not use C escapes in output (default)\n"
-#~ " -E, --escape use C escapes in output, no extended chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -i, --indent write the .po file using indented style\n"
-#~ " --no-location do not write '#: filename:line' lines\n"
-#~ " -n, --add-location generate '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict write out strict Uniforum conforming .po "
-#~ "file\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -i, --indent sortie en style indenté\n"
-#~ " --no-location ne pas produire les lignes « #: fichier:"
-#~ "ligne »\n"
-#~ " -n, --add-location générer les lignes de format « #: "
-#~ "fichier:ligne » (par défaut)\n"
-#~ " --strict générer un fichier .po avec conformité "
-#~ "stricte Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " -F, --sort-by-file trier la sortie selon la localisation des "
-#~ "fichiers\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " INPUTFILE ... input files\n"
-#~ " -f, --files-from=FILE get list of input files from FILE\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ "If input file is -, standard input is read.\n"
-#~ msgstr ""
-#~ "Localisation des fichiers d'entrée:\n"
-#~ " FICHIERS-D-ENTRÉE ... fichiers d'entrée\n"
-#~ " -f, --files-from=FICHIER obtenir la liste des fichiers d'entrée "
-#~ "à partir du FICHIER\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour rechercher la "
-#~ "liste des fichiers d'entrée\n"
-#~ "Si le fichier d'entrée est -, lire de l'entrée standard.\n"
-
-#~ msgid ""
-#~ "Output file location:\n"
-#~ " -o, --output-file=FILE write output to specified file\n"
-#~ "The results are written to standard output if no output file is "
-#~ "specified\n"
-#~ "or if it is -.\n"
-#~ msgstr ""
-#~ "Localisation du fichier de sortie:\n"
-#~ " -o, --output-file=FICHIER produire la sortie dans le FICHIER\n"
-#~ "Les résultats sont écrits sur la sortie standard si aucun fichier "
-#~ "n'est\n"
-#~ "spécifié ou si -.\n"
-
-#~ msgid ""
-#~ "Message selection:\n"
-#~ " -<, --less-than=NUMBER print messages with less than this many\n"
-#~ " definitions, defaults to infinite if "
-#~ "not\n"
-#~ " set\n"
-#~ " ->, --more-than=NUMBER print messages with more than this many\n"
-#~ " definitions, defaults to 0 if not set\n"
-#~ " -u, --unique shorthand for --less-than=2, requests\n"
-#~ " that only unique messages be printed\n"
-#~ msgstr ""
-#~ "Sélection de messages:\n"
-#~ " -<, --less-than=N montrer les messages définis moins de N "
-#~ "fois\n"
-#~ " (sans limite par défaut)\n"
-#~ " ->, --more-than=N montrer les messages définis plus de N "
-#~ "fois\n"
-#~ " (sans limite par défaut i.e. = à "
-#~ "zéro)\n"
-#~ " -u, --unique identique à « -< 2 ou --less-"
-#~ "than=2 »\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " -t, --to-code=NAME encoding for output\n"
-#~ " --use-first use first available translation for "
-#~ "each\n"
-#~ " message, don't merge several "
-#~ "translations\n"
-#~ " -e, --no-escape do not use C escapes in output "
-#~ "(default)\n"
-#~ " -E, --escape use C escapes in output, no extended "
-#~ "chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -i, --indent write the .po file using indented style\n"
-#~ " --no-location do not write '#: filename:line' lines\n"
-#~ " -n, --add-location generate '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict write out strict Uniforum conforming .po "
-#~ "file\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several "
-#~ "lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " -t, --to-code=NOM NOM de l'encodage de sortie\n"
-#~ " --use-first utiliser la première traduction disponible "
-#~ "pour chaque\n"
-#~ " message, ne pas faire la fusion de "
-#~ "plusieurs traductions\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -i, --indent sortie en style indenté\n"
-#~ " --no-location ne pas produire les lignes « #: fichier:"
-#~ "ligne »\n"
-#~ " -n, --add-location générer les lignes de format « #: "
-#~ "fichier:ligne » (par défaut)\n"
-#~ " --strict générer un fichier .po avec conformité "
-#~ "stricte Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " -F, --sort-by-file trier la sortie selon la localisation des "
-#~ "fichiers\n"
-
-#~ msgid ""
-#~ "Informative output:\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ msgstr ""
-#~ "Sortie informative:\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " def.po translations\n"
-#~ " ref.pot references to the sources\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ msgstr ""
-#~ "Localisation des fichiers d'entrée:\n"
-#~ " def.po traductions\n"
-#~ " ref.pot références aux sources\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour rechercher la "
-#~ "liste des fichiers d'entrée\n"
-
-#~ msgid ""
-#~ "Message selection:\n"
-#~ " -<, --less-than=NUMBER print messages with less than this many\n"
-#~ " definitions, defaults to infinite if "
-#~ "not\n"
-#~ " set\n"
-#~ " ->, --more-than=NUMBER print messages with more than this many\n"
-#~ " definitions, defaults to 1 if not set\n"
-#~ " -u, --unique shorthand for --less-than=2, requests\n"
-#~ " that only unique messages be printed\n"
-#~ msgstr ""
-#~ "Sélection des messages:\n"
-#~ " -<, --less-than=N montrer les messages définis moins de N "
-#~ "fois\n"
-#~ " (sans limite par défaut)\n"
-#~ " ->, --more-than=N montrer les messages définis plus de N "
-#~ "fois\n"
-#~ " (sans limite par défaut i.e. = à "
-#~ "zéro)\n"
-#~ " -u, --unique identique à « -< 2 ou --less-"
-#~ "than=2 »\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " -e, --no-escape do not use C escapes in output "
-#~ "(default)\n"
-#~ " -E, --escape use C escapes in output, no extended "
-#~ "chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -i, --indent write the .po file using indented style\n"
-#~ " --no-location do not write '#: filename:line' lines\n"
-#~ " -n, --add-location generate '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict write out strict Uniforum conforming .po "
-#~ "file\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several "
-#~ "lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ " --omit-header don't write header with `msgid \"\"' "
-#~ "entry\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -i, --indent sortie en style indenté\n"
-#~ " --no-location ne pas produire les lignes « #: fichier:"
-#~ "ligne »\n"
-#~ " -n, --add-location générer les lignes de format « #: "
-#~ "fichier:ligne » (par défaut)\n"
-#~ " --strict générer un fichier .po avec conformité "
-#~ "stricte Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " -F, --sort-by-file trier la sortie selon la localisation des "
-#~ "fichiers\n"
-#~ " --omit-header omettre les en-têtes pour « msgid "
-#~ "\"\" »\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " -e, --no-escape do not use C escapes in output (default)\n"
-#~ " -E, --escape use C escapes in output, no extended chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -i, --indent indented output style\n"
-#~ " --no-location suppress '#: filename:line' lines\n"
-#~ " --add-location preserve '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict strict Uniforum output style\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -i, --indent sortie en style indenté\n"
-#~ " --no-location ne pas produire les ligne « #: fichier:"
-#~ "ligne »\n"
-#~ " --add-location produire les « #: fichier:ligne "
-#~ "» (implicite)\n"
-#~ " --strict produire un fichier PO strictement "
-#~ "Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " -F, --sort-by-file trier la sortie selon la localisation des "
-#~ "fichiers\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " INPUTFILE input PO or POT file\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ "If input file is -, standard input is read.\n"
-#~ msgstr ""
-#~ "Localisation du fichier d'entrée:\n"
-#~ " FICHIER-D-ENTRÉE ... fichier d'entrée PO ou POT\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour rechercher la "
-#~ "liste des fichiers d'entrée\n"
-#~ "Si le fichier d'entrée est -, lire de l'entrée standard.\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " -i, --input=INPUTFILE input PO file\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ "If no input file is given or if it is -, standard input is read.\n"
-#~ msgstr ""
-#~ "Localisation du fichier d'entrée:\n"
-#~ " FICHIER-D-ENTRÉE fichier PO d'entrée\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour la recherche des "
-#~ "fichier d'entrée\n"
-#~ "Si aucun fichier d'entrée n'est fourni ou si -, lire de l'entrée "
-#~ "standard.\n"
-
-#~ msgid ""
-#~ "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
-#~ " -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
-#~ " -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
-#~ "commands\n"
-#~ " to be executed\n"
-#~ " -n, --quiet, --silent suppress automatic printing of pattern "
-#~ "space\n"
-#~ msgstr ""
-#~ "Options utiles de FILTRE lorsque le filtre est « sed »:\n"
-#~ " -e, --expression=SCRIPT ajouter le SCRIPT aux commandes à "
-#~ "exécuter\n"
-#~ " -f, --file=FICHIER-SCRIPT ajouter le contenu du FICHIER-SCRIPT\n"
-#~ " aux commandes à exécuter\n"
-#~ " -n, --quiet, --silent supprimer l'affichage automatique d'espace\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " --no-escape do not use C escapes in output (default)\n"
-#~ " -E, --escape use C escapes in output, no extended chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " --indent indented output style\n"
-#~ " --keep-header keep header entry unmodified, don't filter "
-#~ "it\n"
-#~ " --no-location suppress '#: filename:line' lines\n"
-#~ " --add-location preserve '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict strict Uniforum output style\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " --indent sortie en style indenté\n"
-#~ " --keep-header conserver l'en-tête sans la modifier, ne "
-#~ "pas la filtrer\n"
-#~ " --no-location ne pas produire les « #: FICHIER:"
-#~ "LIGNE »\n"
-#~ " --add-location produire les « #: FICHIER:LIGNE "
-#~ "» (implicite)\n"
-#~ " --strict produire un fichier PO strictement "
-#~ "Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " --no-wrap ne pas briser les lignes de longs messages "
-#~ "plus longues que\n"
-#~ " que la largeur des pages de sortie en "
-#~ "plusieurs lignes\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " -F, --sort-by-file trier la sortie selon la localisation des "
-#~ "fichiers\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " filename.po ... input files\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ "If input file is -, standard input is read.\n"
-#~ msgstr ""
-#~ "Localisation du fichier d'entrée:\n"
-#~ " nom-du-fichier.po ... fichier PO d'entrée\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour la recherche des "
-#~ "fichiers d'entrée\n"
-#~ "Si aucun fichier d'entrée n'est fourni ou si -, lire de l'entrée "
-#~ "standard.\n"
-
-#~ msgid ""
-#~ "Operation mode:\n"
-#~ " -j, --java Java mode: generate a Java ResourceBundle "
-#~ "class\n"
-#~ " --java2 like --java, and assume Java2 (JDK 1.2 or "
-#~ "higher)\n"
-#~ " --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
-#~ msgstr ""
-#~ "Mode d'exécution:\n"
-#~ " -j, --java mode Java: générer une classe "
-#~ "ResourceBundle en Java\n"
-#~ " --java2 identique à --java et assume Java2 (i.e. "
-#~ "JDK 1.2 ou plus)\n"
-#~ " --tcl mode Tcl: générer un fichier .msg tcl/"
-#~ "msgcat\n"
-
-#~ msgid ""
-#~ "Output file location:\n"
-#~ " -o, --output-file=FILE write output to specified file\n"
-#~ " --strict enable strict Uniforum mode\n"
-#~ "If output file is -, output is written to standard output.\n"
-#~ msgstr ""
-#~ "Localisation du fichier de sortie:\n"
-#~ " -o, --output-file=FICHIER écrire la sortie dans le FICHIER "
-#~ "spécifié\n"
-#~ " --strict permettre le mode de conformité strict au "
-#~ "mode Uniforum\n"
-#~ "Si le fichier de sortie est -, la sortie est produite sur la sortie "
-#~ "standard.\n"
-
-#~ msgid ""
-#~ "Output file location in Tcl mode:\n"
-#~ " -l, --locale=LOCALE locale name, either language or "
-#~ "language_COUNTRY\n"
-#~ " -d DIRECTORY base directory of .msg message catalogs\n"
-#~ "The -l and -d options are mandatory. The .msg file is written in the\n"
-#~ "specified directory.\n"
-#~ msgstr ""
-#~ "Localisation du fichier de sortie en mode Tcl:\n"
-#~ " -l, --locale=LOCALE nom de la locale, soit langage ou "
-#~ "language_COUNTRY\n"
-#~ " -d RÉPERTOIRE répertoire de base des catalogues de "
-#~ "messages .msg\n"
-#~ "Les options -l et -d sont obligatoires. Le fichier .msg est écrit dans\n"
-#~ "le répertoire spécifié.\n"
-
-#~ msgid ""
-#~ "Input file interpretation:\n"
-#~ " -c, --check perform all the checks implied by\n"
-#~ " --check-format, --check-header, --check-"
-#~ "domain\n"
-#~ " --check-format check language dependent format strings\n"
-#~ " --check-header verify presence and contents of the header "
-#~ "entry\n"
-#~ " --check-domain check for conflicts between domain "
-#~ "directives\n"
-#~ " and the --output-file option\n"
-#~ " -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
-#~ "msgfmt\n"
-#~ " --check-accelerators[=CHAR] check presence of keyboard "
-#~ "accelerators for\n"
-#~ " menu items\n"
-#~ " -f, --use-fuzzy use fuzzy entries in output\n"
-#~ msgstr ""
-#~ "Interprétation du fichier d'entrée:\n"
-#~ " -c, --check faire toutes les vérifications "
-#~ "équivalentes à \n"
-#~ " --check-format, --check-header, --check-"
-#~ "domain\n"
-#~ " --check-format vérifier la dépendance du format des "
-#~ "chaîne au langage\n"
-#~ " --check-header vérifier la présence et le contenu des en-"
-#~ "têtes\n"
-#~ " --check-domain vérifier la présence de conflit entre les "
-#~ "directives du domaine\n"
-#~ " et l'option --output-file\n"
-#~ " -C, --check-compatibility vérifier que GNU msgfmt se comporte comme "
-#~ "X/Open msgfmt\n"
-#~ " -f, --use-fuzzy utiliser les entrées floues pour la "
-#~ "sortie\n"
-
-#~ msgid ""
-#~ "Informative output:\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ " --statistics print statistics about translations\n"
-#~ " -v, --verbose increase verbosity level\n"
-#~ msgstr ""
-#~ "Sortie informative:\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ " --statistics afficher les statistiques de traductions\n"
-#~ " -v, --verbose diagnostiquer toute anomalie dans chaque "
-#~ "FICHIER\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " --no-escape do not use C escapes in output (default)\n"
-#~ " --escape use C escapes in output, no extended chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " --indent indented output style\n"
-#~ " --no-location suppress '#: filename:line' lines\n"
-#~ " --add-location preserve '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict strict Uniforum output style\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several lines\n"
-#~ " --sort-output generate sorted output\n"
-#~ " --sort-by-file sort output by file location\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " --indent sortie en style indenté\n"
-#~ " --no-location ne pas produire les « #: fichier:"
-#~ "ligne »\n"
-#~ " --add-location produire les « #: fichier:ligne "
-#~ "» (implicite)\n"
-#~ " --strict produire un fichier PO strictement "
-#~ "Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " --sort-output générer une sortie triée\n"
-#~ " --sort-by-file trier la sortie selon la localisation des "
-#~ "fichiers\n"
-
-#~ msgid ""
-#~ "Input file location:\n"
-#~ " def.po translations referring to old sources\n"
-#~ " ref.pot references to new sources\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ " -C, --compendium=FILE additional library of message "
-#~ "translations,\n"
-#~ " may be specified more than once\n"
-#~ msgstr ""
-#~ "Localisation du fichier d'entrée:\n"
-#~ " def.po traductions se référant aux vieux "
-#~ "sources\n"
-#~ " ref.pot références aux nouveaux sources\n"
-#~ " -D, --directory=RÉPERTOIRE ajouter le RÉPERTOIRE pour la recherche des "
-#~ "fichiers d'entrée\n"
-#~ " -C, --compendium=FICHIER librairie additionnelle de messages "
-#~ "traduits,\n"
-#~ " peut-être spécifié plus d'une fois\n"
-
-#~ msgid ""
-#~ "Informative output:\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ " -v, --verbose increase verbosity level\n"
-#~ " -q, --quiet, --silent suppress progress indicators\n"
-#~ msgstr ""
-#~ "Sortie informative:\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ " -v, --verbose diagnostiquer toute anomalie dans chaque "
-#~ "FICHIER\n"
-#~ " -q, --quiet, --silent supprimer les indicateurs de progression\n"
-
-#~ msgid ""
-#~ "Input file location in Tcl mode:\n"
-#~ " -l, --locale=LOCALE locale name, either language or "
-#~ "language_COUNTRY\n"
-#~ " -d DIRECTORY base directory of .msg message catalogs\n"
-#~ "The -l and -d options are mandatory. The .msg file is located in the\n"
-#~ "specified directory.\n"
-#~ msgstr ""
-#~ "Localisation du fichier d'entrée en mode Tcl:\n"
-#~ " -l, --locale=LOCALE nom de la locale, soit langage ou "
-#~ "language_COUNTRY\n"
-#~ " -d RÉPERTOIRE répertoire de base des catalogues de "
-#~ "messages .msg\n"
-#~ "Les options -l et -d sont obligatoires. Le fichier .msg est localisé "
-#~ "dans\n"
-#~ "le répertoire spécifié.\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " -e, --no-escape do not use C escapes in output (default)\n"
-#~ " -E, --escape use C escapes in output, no extended chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -i, --indent write indented output style\n"
-#~ " --strict write strict uniforum style\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer than\n"
-#~ " the output page width, into several lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -i, --indent sortie en style indenté\n"
-#~ " --strict produire un fichier .po strictement "
-#~ "Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " --no-wrap ne pas briser les lignes de longs messages "
-#~ "plus longues que\n"
-#~ " que la largeur des pages de sortie en "
-#~ "plusieurs lignes\n"
-
-#~ msgid ""
-#~ "Informative output:\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ " -v, --verbose increase verbosity level\n"
-#~ msgstr ""
-#~ "Sortie informative:\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ " -v, --verbose diagnostiquer toute anomalie dans chaque "
-#~ "FICHIER\n"
-
-#~ msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
-#~ msgstr "Usage: %s [OPTION] [DOMAINE] MSGID MSGID-PLURIEL VALEUR\n"
-
-#~ msgid ""
-#~ "Display native language translation of a textual message whose "
-#~ "grammatical\n"
-#~ "form depends on a number.\n"
-#~ msgstr ""
-#~ "Afficher en langue native la traduction d'un message textuel dont\n"
-#~ "la forme grammaticale dépend d'un nombre\n"
-
-#~ msgid ""
-#~ " -d, --domain=TEXTDOMAIN retrieve translated message from TEXTDOMAIN\n"
-#~ " -e enable expansion of some escape sequences\n"
-#~ " -E (ignored for compatibility)\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -V, --version display version information and exit\n"
-#~ " [TEXTDOMAIN] retrieve translated message from TEXTDOMAIN\n"
-#~ " MSGID MSGID-PLURAL translate MSGID (singular) / MSGID-PLURAL "
-#~ "(plural)\n"
-#~ " COUNT choose singular/plural form based on this "
-#~ "value\n"
-#~ msgstr ""
-#~ " -d, --domain=DOMAINE trouver la traduction de MSGID, dans le DOMAINE "
-#~ "donné\n"
-#~ " -e reconnaître et remplacer les séquences "
-#~ "d'échappement\n"
-#~ " -E (ignoré, gardé pour des questions de "
-#~ "compatibilité)\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " -n inhiber la production d'une fin de ligne\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ " [DOMAINE] MSGID trouver la traduction de MSGID, dans le DOMAINE "
-#~ "donné\n"
-#~ " MSGID MSGID-PLURAL traduire le champ MSGID (singulier) / MSGID-"
-#~ "PLURAL (pluriel)\n"
-#~ " VALEUR choisir la forme singulier/pluriel selon la "
-#~ "VALEUR\n"
-
-#~ msgid ""
-#~ "If the TEXTDOMAIN parameter is not given, the domain is determined from "
-#~ "the\n"
-#~ "environment variable TEXTDOMAIN. If the message catalog is not found in "
-#~ "the\n"
-#~ "regular directory, another location can be specified with the "
-#~ "environment\n"
-#~ "variable TEXTDOMAINDIR.\n"
-#~ "Standard search directory: %s\n"
-#~ msgstr ""
-#~ "Si le DOMAINE n'est pas founi, le domaine est obtenu de la variable "
-#~ "TEXTDOMAIN\n"
-#~ "dans l'environnement. En l'absence du catalogue de messages à "
-#~ "l'endroit\n"
-#~ "habituel, la variable d'environnement TEXTDOMAINDIR peut indiquer un "
-#~ "autre\n"
-#~ "répertoire.\n"
-#~ "Répertoire standard de recherche: %s\n"
-
-#~ msgid ""
-#~ "Output file location:\n"
-#~ " -d, --default-domain=NAME use NAME.po for output (instead of "
-#~ "messages.po)\n"
-#~ " -o, --output=FILE write output to specified file\n"
-#~ " -p, --output-dir=DIR output files will be placed in directory "
-#~ "DIR\n"
-#~ "If output file is -, output is written to standard output.\n"
-#~ msgstr ""
-#~ "Localisation du fichier de sortie:\n"
-#~ " -d, --default-domain=NOM utiliser NOM.po pour la sortie (au lieu "
-#~ "de messages.po)\n"
-#~ " -o, --output=FICHIER écrire la sortie dans le FICHIER "
-#~ "spécifié\n"
-#~ " -p, --output-dir=RÉPERTOIRE placer les fichiers de sortie dans le "
-#~ "RÉPERTOIRE\n"
-#~ "Si la sortie est -, la sortie est écrite sur la sortie standard.\n"
-
-#~ msgid ""
-#~ "Language=C/C++ specific options:\n"
-#~ " -a, --extract-all extract all strings\n"
-#~ " -k, --keyword[=WORD] additional keyword to be looked for "
-#~ "(without\n"
-#~ " WORD means not to use default keywords)\n"
-#~ " -T, --trigraphs understand ANSI C trigraphs for input\n"
-#~ " --debug more detailed formatstring recognition "
-#~ "result\n"
-#~ msgstr ""
-#~ "Options spécifiques au language=C/C++:\n"
-#~ " -a, --extract-all extraire toutes les chaînes\n"
-#~ " -k, --keyword[=MOTS] mots clés additionnels à rechercher "
-#~ "(sans\n"
-#~ " MOTS indique de ne pas utiliser les mots "
-#~ "clés par défaut)\n"
-#~ " -T, --trigraphs traiter les trigraphes ANSI C à "
-#~ "l'entrée\n"
-#~ " --debug fournir plus de détails sur la "
-#~ "reconnaissance\n"
-#~ " des chaînes de format\n"
-
-#~ msgid ""
-#~ "Output details:\n"
-#~ " -e, --no-escape do not use C escapes in output "
-#~ "(default)\n"
-#~ " -E, --escape use C escapes in output, no extended "
-#~ "chars\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -i, --indent write the .po file using indented style\n"
-#~ " --no-location do not write '#: filename:line' lines\n"
-#~ " -n, --add-location generate '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --strict write out strict Uniforum conforming .po "
-#~ "file\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " --no-wrap do not break long message lines, longer "
-#~ "than\n"
-#~ " the output page width, into several "
-#~ "lines\n"
-#~ " -s, --sort-output generate sorted output\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ " --omit-header don't write header with `msgid \"\"' "
-#~ "entry\n"
-#~ " --copyright-holder=STRING set copyright holder in output\n"
-#~ " --foreign-user omit FSF copyright in output for foreign "
-#~ "user\n"
-#~ " -m, --msgstr-prefix[=STRING] use STRING or \"\" as prefix for msgstr "
-#~ "entries\n"
-#~ " -M, --msgstr-suffix[=STRING] use STRING or \"\" as suffix for msgstr "
-#~ "entries\n"
-#~ msgstr ""
-#~ "Détails de sortie:\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -i, --indent sortie en style indenté\n"
-#~ " --no-location ne pas produire les « #: FICHIER:LIGNE "
-#~ "»\n"
-#~ " -n, --add-location générer les lignes de format '#: "
-#~ "fichier:ligne' (par défaut)\n"
-#~ " --strict générer un fichier .po avec "
-#~ "conformité stricte Uniforum\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " --no-wrap ne pas briser les lignes de longs "
-#~ "messages plus longues que\n"
-#~ " que la largeur des pages de sortie, en "
-#~ "plusieurs lignes\n"
-#~ " -s, --sort-output générer une sortie triée\n"
-#~ " -F, --sort-by-file trier la sortie selon la localisation "
-#~ "des fichiers\n"
-#~ " --omit-header omettre les en-têtes pour « msgid "
-#~ "\"\" »\n"
-#~ " --copyright-holder=CHAÎNE identifier le champ des droits d'auteur "
-#~ "dans la sortie\n"
-#~ " --foreign-user inhiber la production d'un copyright "
-#~ "FSF\n"
-#~ " -m, --msgstr-prefix[=CHAÎNE] préfixer les msgstr's par CHAÎNE, sinon "
-#~ "\\\"\\\"\n"
-#~ " -M, --msgstr-suffix[=CHAÎNE] suffixer les msgstr's par CHAÎNE, sinon "
-#~ "\\« \\ »\n"
-
-#~ msgid "file \"%s\" contains a not NUL terminated sysdep segment"
-#~ msgstr ""
-#~ "fichier \"%s\" contient un segement sysdep qui n'est pas terminé par un "
-#~ "NUL"
-
-#~ msgid "seek \"%s\" offset %ld failed"
-#~ msgstr "le repositionnement de « %s » à l'endroit %ld a échoué"
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "dans une balise fermante"
-#~ msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
-#~ msgstr ""
-#~ "les spécifications de format pour l'argument {%u} n'existent pas dans "
-#~ "« msgstr »"
-
-#~ msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
-#~ msgstr ""
-#~ "les spécifications de format de l'argument «%s» n'existent pas "
-#~ "« msgstr »"
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "dans un commentaire ou une instruction de traitement"
-#~ msgid "a format specification for argument %u doesn't exist in 'msgstr'"
-#~ msgstr ""
-#~ "les spécifications de format de l'argument %u n'existent pas dans "
-#~ "« msgstr »"
-
-#~ msgid "this message has no definition in the \"%s\" domain"
-#~ msgstr "ce message n'a pas de définition dans le domaine « %s »"
-
-#~ msgid "while preparing output"
-#~ msgstr "lors de la préparation de la sortie"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION] INPUTFILE ...\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -d, --default-domain=NAME use NAME.po for output (instead of "
-#~ "messages.po)\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ " -e, --no-escape do not use C escapes in output "
-#~ "(default)\n"
-#~ " -E, --escape use C escapes in output, no extended "
-#~ "chars\n"
-#~ " -f, --files-from=FILE get list of input files from FILE\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ " -h, --help display this help and exit\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION] FICHIER ...\n"
-#~ "Les arguments obligatoires pour la forme longue des options sont aussi\n"
-#~ "obligatoires pour les formes courtes qui leur correspondent.\n"
-#~ "\n"
-#~ " -d, --default-domain=DOMAINE sortir sur DOMAINE.po (non pas messages."
-#~ "po)\n"
-#~ " -D, --directory=RÉPERT fouiller RÉPERT aussi pour trouver les "
-#~ "fichiers\n"
-#~ " -e, --no-escape éviter les échappement C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " -f, --files-from=FICHIER lire la liste des fichiers d'entrée de "
-#~ "FICHIER\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " -F, --sort-by-file trier selon la position dans chaque "
-#~ "fichier\n"
-#~ " -h, --help fournir ce message d'aide, puis "
-#~ "terminer\n"
-
-#~ msgid ""
-#~ " -i, --indent write the .po file using indented style\n"
-#~ " --no-location do not write '#: filename:line' lines\n"
-#~ " -n, --add-location generate '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --omit-header don't write header with `msgid \"\"' "
-#~ "entry\n"
-#~ " -o, --output=FILE write output to specified file\n"
-#~ " -p, --output-dir=DIR output files will be placed in directory "
-#~ "DIR\n"
-#~ " -s, --sort-output generate sorted output and remove "
-#~ "duplicates\n"
-#~ " --strict write out strict Uniforum conforming .po "
-#~ "file\n"
-#~ " -T, --trigraphs understand ANSI C trigraphs for input\n"
-#~ " -u, --unique shorthand for --less-than=2, requests\n"
-#~ " that only unique messages be printed\n"
-#~ msgstr ""
-#~ " -i, --indent utiliser un style indenté pour le "
-#~ "fichier PO\n"
-#~ " --no-location inhiber la production des « #: FICHIER:"
-#~ "LIGNE »\n"
-#~ " -n, --add-location produire les « #: FICHIER:LIGNE "
-#~ "» (implicite)\n"
-#~ " --omit-header omettre les en-têtes pour « msgid "
-#~ "\"\" »\n"
-#~ " -o, --output=FICHIER produire la sortie sur le FICHIER "
-#~ "indiqué\n"
-#~ " -p, --output-dir=RÉPERTOIRE sortir le fichier produit dans tel "
-#~ "RÉPERTOIRE\n"
-#~ " -s, --sort-output trier la sortie et éliminer les "
-#~ "duplicats\n"
-#~ " --strict produire un fichier PO strictement "
-#~ "Uniforum\n"
-#~ " -T, --trigraphs reconnaître les trigraphes ANSI C en "
-#~ "entrée\n"
-#~ " -u, --unique même chose que « -< 2 »\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION] filename.po ...\n"
-#~ "Generate binary message catalog from textual translation description.\n"
-#~ "\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -a, --alignment=NUMBER align strings to NUMBER bytes (default: "
-#~ "%d)\n"
-#~ " -c, --check perform language dependent checks on "
-#~ "strings\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ " -f, --use-fuzzy use fuzzy entries in output\n"
-#~ " -h, --help display this help and exit\n"
-#~ " --no-hash binary file will not include the hash "
-#~ "table\n"
-#~ " -o, --output-file=FILE specify output file name as FILE\n"
-#~ " --statistics print statistics about translations\n"
-#~ " --strict enable strict Uniforum mode\n"
-#~ " -v, --verbose list input file anomalies\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "Giving the -v option more than once increases the verbosity level.\n"
-#~ "\n"
-#~ "If input file is -, standard input is read. If output file is -,\n"
-#~ "output is written to standard output.\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION] FICHIER.po ...\n"
-#~ "Compiler un fichier source décrivant une série de traductions de "
-#~ "messages.\n"
-#~ "\n"
-#~ "Les arguments obligatoires pour la forme longue des options sont aussi\n"
-#~ "obligatoires pour les formes courtes qui leur correspondent.\n"
-#~ "\n"
-#~ " -a, --alignment=OCTETS aligner chaînes sur tant d'OCTETS (%d "
-#~ "présumé)\n"
-#~ " -c, --check vérifier ce qui dépend du langage de "
-#~ "programmation\n"
-#~ " -D, --directory=RÉPERT fouiller RÉPERT aussi pour trouver les "
-#~ "fichiers\n"
-#~ " -f, --use-fuzzy aussi transmettre les traductions "
-#~ "approximées\n"
-#~ " -h, --help fournir ce message d'aide, puis terminer\n"
-#~ " --no-hash exclure la table de dispersion du binaire "
-#~ "produit\n"
-#~ " -o, --output-file=SORTIE choisir le fichier de sortie\n"
-#~ " --statistics donner quelques statistiques sur les "
-#~ "traductions\n"
-#~ " --strict se conformer à Uniforum strictement\n"
-#~ " -v, --verbose diagnostiquer toute anomalie dans chaque "
-#~ "FICHIER\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ "\n"
-#~ "La répétition de l'option « -v » augment le niveau de verbosité.\n"
-#~ "Si FICHIER vaut « - », lit l'entrée standard. Si SORTIE vaut « -"
-#~ " »,\n"
-#~ "écrit sur la sortie standard.\n"
-
-#~ msgid "while creating hash table"
-#~ msgstr "pendant la création de la table de dispersion"
-
-#~ msgid ""
-#~ "%s: warning: PO file header missing, fuzzy, or invalid\n"
-#~ "%*s warning: charset conversion will not work"
-#~ msgstr ""
-#~ "%s: AVERTISSEMENT: en-tête du fichier PO manquante, approximative ou "
-#~ "invalide\n"
-#~ "%*s AVERTISSEMENT: la conversion du charset ne fonctionnera pas"
-
-#~ msgid ""
-#~ "\n"
-#~ "Convert binary .mo files to Uniforum style .po files.\n"
-#~ "Both little-endian and big-endian .mo files are handled.\n"
-#~ "If no input file is given or it is -, standard input is read.\n"
-#~ "By default the output is written to standard output.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Convertir un fichier .mo, binaire, en fichier .po à la manière\n"
-#~ "d'Uniforum. Les fichiers grand-boutiens et petit-boutiens sont tous\n"
-#~ "deux traités. Si le fichier d'entrée vaut « - », lit l'entrée "
-#~ "standard.\n"
-#~ "Sans fichier d'entrée ou lorsque « - », lit l'entrée standard. "
-#~ "Sauf\n"
-#~ "indication contraire, les résultats sont produits sur la sortie "
-#~ "standard.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION] INPUTFILE ...\n"
-#~ "Extract translatable string from given input files.\n"
-#~ "\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -a, --extract-all extract all strings\n"
-#~ " -c, --add-comments[=TAG] place comment block with TAG (or those\n"
-#~ " preceding keyword lines) in output file\n"
-#~ " -C, --c++ shorthand for --language=C++\n"
-#~ " --debug more detailed formatstring recognision "
-#~ "result\n"
-#~ " -d, --default-domain=NAME use NAME.po for output (instead of "
-#~ "messages.po)\n"
-#~ " -D, --directory=DIRECTORY add DIRECTORY to list for input files "
-#~ "search\n"
-#~ " -e, --no-escape do not use C escapes in output "
-#~ "(default)\n"
-#~ " -E, --escape use C escapes in output, no extended "
-#~ "chars\n"
-#~ " -f, --files-from=FILE get list of input files from FILE\n"
-#~ " --force-po write PO file even if empty\n"
-#~ " --foreign-user omit FSF copyright in output for foreign "
-#~ "user\n"
-#~ " -F, --sort-by-file sort output by file location\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION] FICHIER ...\n"
-#~ "Extraire les messages à traduire à partir de plusieurs fichiers.\n"
-#~ "\n"
-#~ "Les arguments obligatoires pour la forme longue des options sont aussi\n"
-#~ "obligatoires pour les formes courtes qui leur correspondent.\n"
-#~ "\n"
-#~ " -a, --extract-all extraire toutes les chaînes\n"
-#~ " -c, --add-comments[=CLÉ] sauver le commentaire précédent "
-#~ "possédant CLÉ,\n"
-#~ " ou celui qui précède immédiatement le "
-#~ "mot-clef\n"
-#~ " -C, --c++ voir « --language=C++ »\n"
-#~ " --debug détailler l'analyse des chaînes de "
-#~ "format\n"
-#~ " -d, --default-domain=DOMAINE sortir sur DOMAINE.po (non pas messages."
-#~ "po)\n"
-#~ " -D, --directory=RÉPERT fouiller RÉPERT aussi pour trouver les "
-#~ "fichiers\n"
-#~ " -e, --no-escape pas d'échappements C en sortie "
-#~ "(implicite)\n"
-#~ " -E, --escape échappements C en sortie, éviter les 8-"
-#~ "bits\n"
-#~ " -f, --files-from=FICHIER lire la liste des fichiers d'entrée de "
-#~ "FICHIER\n"
-#~ " --force-po produire un fichier PO, même vide\n"
-#~ " --foreign-user inhiber la production d'un copyright "
-#~ "FSF\n"
-#~ " -F, --sort-by-file trier selon la position dans chaque "
-#~ "fichier\n"
-
-#~ msgid ""
-#~ " -h, --help display this help and exit\n"
-#~ " -i, --indent write the .po file using indented style\n"
-#~ " -j, --join-existing join messages with existing file\n"
-#~ " -k, --keyword[=WORD] additonal keyword to be looked for "
-#~ "(without\n"
-#~ " WORD means not to use default keywords)\n"
-#~ " -L, --language=NAME recognise the specified language (C, C+"
-#~ "+, PO),\n"
-#~ " otherwise is guessed from file "
-#~ "extension\n"
-#~ " -m, --msgstr-prefix[=STRING] use STRING or \"\" as prefix for msgstr "
-#~ "entries\n"
-#~ " -M, --msgstr-suffix[=STRING] use STRING or \"\" as suffix for msgstr "
-#~ "entries\n"
-#~ " --no-location do not write '#: filename:line' lines\n"
-#~ msgstr ""
-#~ " -h, --help fournir ce message d'aide, puis "
-#~ "terminer\n"
-#~ " -i, --indent produire le fichier .po dans un style "
-#~ "indenté\n"
-#~ " -j, --join-existing ajouter les messages au fichier "
-#~ "existant\n"
-#~ " -k, --keyword[=MOT] mot-clef supplémentaire, défauts si "
-#~ "MOT absent\n"
-#~ " -l, --string-limit=LONGUEUR indiquer si LONGUEUR (%u) octets "
-#~ "dépassés\n"
-#~ " -L, --language=NOM analyser le langage indiqué (C, C++, "
-#~ "PO),\n"
-#~ " sinon, le deviner de l'extension du "
-#~ "fichier\n"
-#~ " -m, --msgstr-prefix[=CHAÎNE] préfixer les msgstr's par CHAÎNE, sinon "
-#~ "\"\"\n"
-#~ " -M, --msgstr-suffix[=CHAÎNE] suffixer les msgstr's par CHAÎNE, sinon "
-#~ "\"\"\n"
-#~ " --no-location ne pas produire les « #: FICHIER:LIGNE "
-#~ "»\n"
-
-#~ msgid ""
-#~ " -n, --add-location generate '#: filename:line' lines "
-#~ "(default)\n"
-#~ " --omit-header don't write header with `msgid \"\"' "
-#~ "entry\n"
-#~ " -o, --output=FILE write output to specified file\n"
-#~ " -p, --output-dir=DIR output files will be placed in directory "
-#~ "DIR\n"
-#~ " -s, --sort-output generate sorted output and remove "
-#~ "duplicates\n"
-#~ " --strict write out strict Uniforum conforming .po "
-#~ "file\n"
-#~ " -T, --trigraphs understand ANSI C trigraphs for input\n"
-#~ " -V, --version output version information and exit\n"
-#~ " -w, --width=NUMBER set output page width\n"
-#~ " -x, --exclude-file=FILE entries from FILE are not extracted\n"
-#~ "\n"
-#~ "If INPUTFILE is -, standard input is read.\n"
-#~ msgstr ""
-#~ " -n, --add-location produire les « #: FICHIER:LIGNE "
-#~ "» (implicite)\n"
-#~ " --omit-header omettre les en-têtes pour « msgid "
-#~ "\"\" »\n"
-#~ " -o, --output=FICHIER produire la sortie sur le FICHIER "
-#~ "indiqué\n"
-#~ " -p, --output-dir=RÉPERTOIRE sortir le fichier produit dans tel "
-#~ "RÉPERTOIRE\n"
-#~ " -s, --sort-output trier la sortie et éliminer les "
-#~ "duplicats\n"
-#~ " --strict produire un fichier PO strictement "
-#~ "Uniforum\n"
-#~ " -T, --trigraphs reconnaître les trigraphes ANSI C en "
-#~ "entrée\n"
-#~ " -V, --version identifier le programme, puis terminer\n"
-#~ " -w, --width=COLONNES limiter le nombre de COLONNES en sortie\n"
-#~ " -x, --exclude-file=FICHIER ne pas extraire d'entrées de FICHIER\n"
-#~ "\n"
-#~ "Si le FICHIER est « - », lit l'entrée standard.\n"
-
-#~ msgid "%s:%d: warning: keyword nested in keyword arg"
-#~ msgstr ""
-#~ "%s:%d: AVERTISSEMENT: mot clé imbriqué dans un argument de mots clés"
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "le document se termine de manière inattendue par : %s"
-#~ msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
#~ msgstr ""
-#~ "%s:%d: AVERTISSEMENT: mot clé entre un mot clé extérieur et son "
-#~ "argument"
-
-#~ msgid "%s: warning: no header entry found"
-#~ msgstr "%s: attention: l'en-tête n'a pas été trouvé"
+#~ "L'élément racine <%s> n'est pas autorisé dans un fichier CLDR valide"
diff --git a/gettext-tools/po/gettext-tools.pot b/gettext-tools/po/gettext-tools.pot
index 9b099d9..88d13f3 100644
--- a/gettext-tools/po/gettext-tools.pot
+++ b/gettext-tools/po/gettext-tools.pot
@@ -1,14 +1,14 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the gettext-tools package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.4\n"
+"Project-Id-Version: gettext-tools 0.19.7\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -56,40 +56,40 @@ msgstr ""
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr ""
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr ""
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr ""
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr ""
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr ""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr ""
@@ -115,58 +115,63 @@ msgstr ""
msgid "%s subprocess failed"
msgstr ""
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr ""
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr ""
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr ""
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr ""
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr ""
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr ""
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr ""
@@ -182,15 +187,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr ""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr ""
@@ -205,15 +211,15 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr ""
@@ -224,7 +230,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -270,11 +276,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -310,107 +316,243 @@ msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
+msgid "The root element must be <%s>"
msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr ""
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr ""
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr ""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr ""
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr ""
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -518,61 +660,80 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr ""
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr ""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -580,7 +741,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -591,239 +752,207 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr ""
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr ""
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr ""
-
-#: src/format-python.c:115
-msgid ""
-"The string refers to arguments both through argument names and through "
-"unnamed argument specifications."
+msgid "In the directive number %u, '%c' cannot start a field name."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python-brace.c:151
#, c-format
-msgid "The string refers to the argument named '%s' in incompatible ways."
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python-brace.c:166
#, c-format
-msgid ""
-"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
msgstr ""
-#: src/format-python.c:437
+#: src/format-python-brace.c:186
#, c-format
msgid ""
-"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
+"In the directive number %u, no more nesting is allowed in a format specifier."
msgstr ""
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python-brace.c:271
#, c-format
-msgid ""
-"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
+msgid "In the directive number %u, there is an unterminated format directive."
msgstr ""
-#: src/format-python.c:494
-#, c-format
+#: src/format-python.c:116
msgid ""
-"format specifications in '%s' and '%s' for argument '%s' are not the same"
+"The string refers to arguments both through argument names and through "
+"unnamed argument specifications."
msgstr ""
-#: src/format-python-brace.c:137
+#: src/format-python.c:355
#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
+msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python-brace.c:150
+#: src/format-python.c:431
#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgid ""
+"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
-#: src/format-python-brace.c:165
+#: src/format-python.c:438
#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgid ""
+"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
-#: src/format-python-brace.c:185
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
+"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
-#: src/format-python-brace.c:270
+#: src/format-python.c:495
#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
+msgid ""
+"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr ""
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr ""
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr ""
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -831,283 +960,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
msgstr ""
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
msgstr ""
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr ""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr ""
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr ""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr ""
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr ""
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr ""
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1116,118 +1272,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr ""
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1241,97 +1397,97 @@ msgid ""
"to define them.\n"
msgstr ""
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr ""
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr ""
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1342,86 +1498,86 @@ msgid ""
"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
msgstr ""
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr ""
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr ""
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr ""
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr ""
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr ""
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] ""
msgstr[1] ""
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr ""
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1434,74 +1590,74 @@ msgid ""
"cumulated.\n"
msgstr ""
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr ""
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr ""
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1510,22 +1666,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr ""
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1535,62 +1691,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr ""
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr ""
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr ""
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1598,226 +1776,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr ""
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr ""
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr ""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1826,65 +2012,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr ""
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1892,12 +2078,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1905,33 +2106,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -1939,18 +2140,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -1959,109 +2160,108 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr ""
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr ""
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr ""
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr ""
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr ""
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr ""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2101,18 +2301,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2197,14 +2397,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2216,54 +2416,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr ""
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2272,7 +2472,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2281,7 +2481,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2290,12 +2490,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2303,7 +2503,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2312,7 +2512,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2320,176 +2520,192 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr ""
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr ""
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr ""
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr ""
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr ""
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr ""
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr ""
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr ""
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr ""
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2503,51 +2719,51 @@ msgid ""
"cannot be found, fuzzy matching is used to produce better results.\n"
msgstr ""
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2559,7 +2775,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2567,91 +2783,91 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr ""
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr ""
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
"obsolete %ld.\n"
msgstr ""
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr ""
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr ""
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2659,41 +2875,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr ""
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2706,19 +2922,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr ""
@@ -2764,32 +2980,32 @@ msgid ""
"Message conversion to user's charset will not work.\n"
msgstr ""
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr ""
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr ""
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr ""
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr ""
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr ""
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr ""
@@ -2799,7 +3015,7 @@ msgstr ""
msgid "too many errors, aborting"
msgstr ""
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr ""
@@ -2843,64 +3059,81 @@ msgstr ""
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr ""
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr ""
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr ""
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr ""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr ""
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr ""
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr ""
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr ""
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr ""
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr ""
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr ""
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr ""
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr ""
@@ -2909,116 +3142,116 @@ msgstr ""
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr ""
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr ""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr ""
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr ""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr ""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr ""
@@ -3037,37 +3270,38 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
#, c-format
-msgid "not a valid Java class name: %s"
+msgid "error while opening \"%s\" for writing"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1092
#, c-format
-msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1211
#, c-format
-msgid "compilation of Java class failed, please try to set $JAVAC"
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
+#: src/write-java.c:1214
#, c-format
-msgid "error while opening \"%s\" for writing"
+msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr ""
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3076,7 +3310,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3085,13 +3319,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3099,374 +3333,201 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr ""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr ""
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr ""
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr ""
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr ""
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr ""
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr ""
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr ""
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr ""
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr ""
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr ""
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr ""
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1217
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-python.c:397
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
msgstr ""
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-rst.c:108
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr ""
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr ""
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr ""
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3479,41 +3540,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3523,17 +3584,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3543,7 +3620,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3553,7 +3630,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3561,7 +3638,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3571,75 +3648,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3647,7 +3734,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3655,52 +3742,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr ""
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr ""
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3709,34 +3796,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3744,11 +3831,305 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr ""
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr ""
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr ""
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr ""
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr ""
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr ""
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr ""
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr ""
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr ""
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr ""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr ""
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
diff --git a/gettext-tools/po/gl.gmo b/gettext-tools/po/gl.gmo
index edb54c7..b976044 100644
--- a/gettext-tools/po/gl.gmo
+++ b/gettext-tools/po/gl.gmo
Binary files differ
diff --git a/gettext-tools/po/gl.po b/gettext-tools/po/gl.po
index 9f30491..7b9cdfd 100644
--- a/gettext-tools/po/gl.po
+++ b/gettext-tools/po/gl.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.19-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2014-05-20 13:35+0200\n"
"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@@ -62,41 +62,41 @@ msgstr "non é posíbel retirar o directorio temporal %s"
msgid "write error"
msgstr "erro de escritura"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "conservando os permisos de %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "produciuse un erro ao abrir «%s» para lectura"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr ""
"non é posíbel abrir o ficheiro de copia de seguridade «%s» para escribir"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "produciuse un erro ao ler «%s»"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "produciuse un erro ao escribir «%s»"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "produciuse un erro despois de ler «%s»"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() fallou"
@@ -122,58 +122,63 @@ msgstr "Erro de sistema descoñecido"
msgid "%s subprocess failed"
msgstr "fallou o subproceso %s"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: a opción «%s» é ambigua; as posibilidades son:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a opción «-W %s» é ambigua\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: a opción «--%s» non permite ningún argumento\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: a opción «%c%s» non permite un argumento\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: a opción «--%s» require un argumento\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opción «--%s» non recoñecida\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opción «%c%s» non recoñecida\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opción incorrecta -- «%c»\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: a opción require un argumento -- «%c»\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: a opción «-W %s» é ambigua\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opción «-W %s» non permite un argumento\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: a opción «-W %s» require un argumento\n"
@@ -189,15 +194,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "produciuse un erro ao crear «%s»"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "produciuse un erro ao escribir o ficheiro «%s»"
@@ -215,15 +221,15 @@ msgstr ""
"Non se atopou a máquina virtual de Java, probe a instalar gij ou definir "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "Erro de E/S do subproceso %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memoria esgotada"
@@ -234,7 +240,7 @@ msgid "creation of threads failed"
msgstr "produciuse un erro ao crear os fíos"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "produciuse un erro ao escribir ao subproceso %s"
@@ -280,11 +286,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "«"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "»"
@@ -320,22 +326,152 @@ msgstr "subproceso %s"
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "produciuse un erro ao abrir «%s» para lectura"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Use «%s --help» para obter máis información.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Uso: %s [OPCIÓN] URL FICHEIRO\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help Mostra esta mensaxe de axuda e sae\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help Mostra esta mensaxe de axuda e sae\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Mostra a información da versión e sae\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Envíe informes de fallo a <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Escrito por %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "non é posíbel retirar o directorio temporal %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "produciuse un erro ao abrir «%s» para lectura"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -343,88 +479,94 @@ msgstr ""
"unha especificación de formato para o argumento %u, como en «%s», non existe "
"en «%s»"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "unha especificación de formato para o argumento %u non existe en «%s»"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"as especificacións de formato en «%s» e «%s» para o argumento %u non son as "
"mesmas"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "o número de especificacións de formato en «%s» e «%s» non coincide"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -532,44 +674,44 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -577,13 +719,13 @@ msgstr ""
"unha especificación de formato para o argumento {%u}, como en «%s», non "
"existe en «%s»"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr ""
"unha especificación de formato para o argumento {%u} non existe en «%s»"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -591,7 +733,28 @@ msgstr ""
"as especificacións de formato en «%s» e «%s» para o argumento {%u} non son "
"as mesmas"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"unha especificación de formato para o argumento %u, como en «%s», non existe "
+"en «%s»"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "produciuse un erro ao ler «%s»"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -599,7 +762,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -610,98 +773,123 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "as especificacións de formato en «%s» e «%s» non son equivalentes"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"as especificacións de formato en «%s» non son un subconxunto das de «%s»"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr ""
+"unha especificación de formato para o argumento «%s» non existe en «%s»"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
msgstr ""
-"unha especificación de formato para o argumento «%s» non existe en «%s»"
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -709,7 +897,7 @@ msgstr ""
"unha especificación de formato para o argumento «%s», como en «%s», non "
"existe en «%s»"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -717,138 +905,81 @@ msgstr ""
"as especificacións de formato en «%s» e «%s» para o argumento «%s» non son "
"as mesmas"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Escrito por %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Use «%s --help» para obter máis información.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Uso: %s [OPCIÓN]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Formato de saída:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -856,283 +987,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Saída informativa:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help Mostra esta mensaxe de axuda e sae\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version Mostra a información da versión e sae\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "téñense que indicar polo menos dous ficheiros"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Envíe informes de fallo a <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "non é posíbel crear a canalización"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "argumento incorrecto %s para %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "non é posíbel crear a canalización"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "non é posíbel crear o ficheiro de saída «%s»"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "permítese un ficheiro de entrada como moito"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s e %s son mutuamente excluíntes"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Uso: %s [OPCIÓN] [FICHEIRO_ENTRADA]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr ""
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Selección de mensaxes:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1141,118 +1299,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "o criterio de selección indicado é imposíbel (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1274,97 +1432,97 @@ msgstr ""
"ficheiro, para definilos. Mantéñense as posicións nos ficheiros de todos\n"
"os ficheiros PO.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "non se indicou ningún ficheiro de entrada"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "requírense exactamente dous ficheiros de entrada"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1382,86 +1540,86 @@ msgstr ""
" traducidas. Cando non é posíbel atopar unha coincidencia exacta, úsase\n"
"coincidencia difusa, de xeito que se produza un mellor diagnóstico.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po traducións\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificadores de operación:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "esta mensaxe está sen traducir"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "esta mensaxe ten que ser revisada polo tradutor"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "esta mensaxe úsase mais non está definida..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...mais esta definición é semellante"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "esta mensaxe úsase mais non está definida en %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "aviso: esta mensaxe non se usa"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "atopouse %d erro grave"
msgstr[1] "atopáronse %d erros graves"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "téñense que indicar polo menos dous ficheiros"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1482,74 +1640,74 @@ msgstr ""
"ficheiro, para definilos. Mantéñense as posicións nos ficheiros de todos\n"
"os ficheiros PO.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "non se indicou ningún ficheiro de entrada"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "requírese exactamente un ficheiro de entrada"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Uso: %s [OPCIÓN] FICHEIRO_ENTRADA\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1558,22 +1716,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "falta o nome da orde"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1583,62 +1741,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "entrada estándar"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help Mostra esta mensaxe de axuda e sae\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "produciuse un erro ao escribir a stdout"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "falta o nome do filtro"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "tense que indicar polo menos un script de sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1646,226 +1826,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "o ficheiro «%s» contén unha cadea non terminada en NUL"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s e %s son mutuamente excluíntes en %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "non é posíbel crear o ficheiro de saída «%s»"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d mensaxe traducida"
msgstr[1] "%d mensaxes traducidas"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d tradución dubidosa"
msgstr[1] ", %d traducións dubidosas"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d mensaxe sen traducir"
msgstr[1] ", %d mensaxes sen traducir"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Modo de operación:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " (só linguaxe C++)\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1874,65 +2062,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr ""
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1940,12 +2128,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1953,33 +2156,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -1987,18 +2190,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2007,111 +2210,110 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "aviso: a conversión de xogo de caracteres non vai funcionar\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "o nome de dominio «%s» non é axeitado para nome de ficheiro"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"o nome de dominio «%s» non é axeitado como nome de ficheiro:\n"
"empregarase un prefixo"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "ignorouse a directiva «domain %s»"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "ignorouse a entrada «msgstr» baleira"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ignorouse a entrada «msgstr» dubidosa"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: aviso: o ficheiro fonte contén traducións dubidosas"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "produciuse un erro ao ler «%s»"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2151,18 +2353,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2247,14 +2449,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2266,54 +2468,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "aviso: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2322,7 +2524,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2331,7 +2533,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2340,12 +2542,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2353,7 +2555,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2362,7 +2564,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2370,149 +2572,165 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "valor de nplurals incorrecto"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr ""
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "pero algunhas mensaxes só teñen unha forma plural"
msgstr[1] "pero algunhas mensaxes só teñen %lu formas plurais"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"as entradas «msgid» e «msgid_plural» non comezan ámbalas dúas con «\\n»"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "as entradas «msgid» e «msgstr[%u]» non comezan ámbalas dúas con «\\n»"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "as entradas «msgid» e «msgstr» non comezan ámbalas dúas con «\\n»"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
"as entradas «msgid» e «msgid_plural» non rematan ámbalas dúas con «\\n»"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "as entradas «msgid» e «msgstr[%u]» non rematan ámbalas dúas con «\\n»"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "as entradas «msgid» e «msgstr» non rematan ámbalas dúas con «\\n»"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "o campo «%s» da cabeceira aínda ten o valor inicial predefinido\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "falta o campo «%s» na cabeceira\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: produciuse un erro ao converter desde a codificación «%s» á codificación "
"«%s»"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2521,15 +2739,15 @@ msgstr ""
"Non é posíbel converter desde «%s» a «%s». %s depende de iconv(), e iconv() "
"non admite esta conversión."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2538,16 +2756,16 @@ msgstr ""
"Non é posíbel converter desde «%s» a «%s». %s depende de iconv(). Esta "
"versión compilouse sen iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s só é válido con %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2571,51 +2789,51 @@ msgstr ""
"non se atope ningunha coincidencia exacta, empregarase coincidencia difusa\n"
"para producir mellores resultados.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2627,7 +2845,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2635,28 +2853,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "esta mensaxe debe definir formas plurais"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "esta mensaxe non debe definir formas plurais"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2665,63 +2883,63 @@ msgstr ""
"%sLeronse %ld antigas + %ld referencias, mesturadas %ld, dubidosas %ld, "
"faltan %ld, obsoletas %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " rematado.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s e nomes de ficheiro explícitos son mutuamente excluíntes"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2729,41 +2947,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr ""
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2776,19 +2994,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -2845,32 +3063,32 @@ msgstr ""
"Falta o xogo de caracteres na cabeceira.\n"
"A conversión da mensaxe ao xogo de caracteres do usuario non vai funcionar.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "uso inconsistente de #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "falta a sección «msgstr[]»"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "falta a sección «msgid_plural»"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "falta a sección «msgstr»"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "a primeira forma do plural ten un índice distinto a cero"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "a forma do plural ten un índice erróneo"
@@ -2880,7 +3098,7 @@ msgstr "a forma do plural ten un índice erróneo"
msgid "too many errors, aborting"
msgstr "demasiados erros, interrompendo"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "secuencia multibyte non válida"
@@ -2924,64 +3142,83 @@ msgstr "fin de liña nunha cadea"
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "este ficheiro non pode conter directivas de dominio"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "definición de mensaxe duplicada"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "este é o lugar da primeira definición"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "aviso: carácter Unicode incorrecto"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "falta o nome do filtro"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "valor de nplurals incorrecto"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "o ficheiro «%s» está truncado"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "o ficheiro «%s» contén unha cadea non terminada en NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "o ficheiro «%s» non está no formato .mo de GNU"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "o ficheiro «%s» contén unha cadea non terminada en NUL, en %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr ""
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "aviso: cadea non rematada"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "aviso: erro de sintaxe"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr ""
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Escrito por %s e %s.\n"
@@ -2990,117 +3227,117 @@ msgstr "Escrito por %s e %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"produciuse un erro ao converter desde a codificación «%s» á codificación «%s»"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "agardábanse dous argumentos"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Uso: %s [OPCIÓN] URL FICHEIRO\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "produciuse un erro ao ler «%s»"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "produciuse un erro ao escribir en stdout"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "produciuse un erro despois de ler «%s»"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Obtendo %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " fallou.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "non é posíbel crear o ficheiro de saída «%s»"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "saída estándar"
@@ -3119,39 +3356,40 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "produciuse un erro ao abrir «%s» para escribir"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "non é un nome de clase Java válido: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "produciuse un erro ao abrir «%s» para escribir"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "secuencia multibyte non válida"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"as mensaxes internacionalizadas non deben conter a secuencia de escape «\\%c»"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3160,7 +3398,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3169,13 +3407,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3183,377 +3421,202 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "produciuse un erro ao escribir ao subproceso %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: aviso: cadea non rematada"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: aviso: expresión regular non rematada"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "aviso: carácter Unicode incorrecto"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: aviso: constante de tipo carácter non rematada"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: aviso: literal de cadea non rematada"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: fallo de iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: aviso: carácter Unicode incorrecto"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: aviso: constante de cadea non rematada"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"A linguaxe «glade» non está admitida. %s depende de expat.\n"
-"Esta versión compilouse sen expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr ""
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr ""
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: aviso: cadea non rematada"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:397
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "linguaxe «%s» descoñecida"
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-rst.c:108
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr ""
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "non é posíbel usar --join-existing cando a saída se escribe en stdout"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext non funciona sen palabras clave polas que buscar"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: aviso: literal de cadea non rematada"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "non é posíbel usar --join-existing cando a saída se escribe en stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext non funciona sen palabras clave polas que buscar"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"aviso: o ficheiro «%s» coa extensión «%s» é descoñecido; tentarase con C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr ""
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3566,41 +3629,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3610,17 +3673,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3630,7 +3709,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3640,7 +3719,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3648,7 +3727,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3658,75 +3737,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (só linguaxe C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " def.po traducións\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3734,7 +3823,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3742,52 +3831,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "entrada estándar"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: aviso: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3796,34 +3885,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3831,15 +3920,318 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "linguaxe «%s» descoñecida"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr ""
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr ""
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr ""
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: aviso: cadea non rematada"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: aviso: literal de cadea non rematada"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "secuencia de control incorrecta"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "non é un nome de clase Java válido: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "non é un nome de clase Java válido: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "secuencia de control incorrecta"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "secuencia multibyte non válida"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "argumento incorrecto %s para %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "falta o nome do filtro"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "A linguaxe «glade» non está admitida. %s depende de expat.\n"
+#~ "Esta versión compilouse sen expat.\n"
+
#~ msgid "header field `%s' should start at beginning of line\n"
#~ msgstr "o campo «%s» da cabeceira tería que comezar ao principio da liña\n"
diff --git a/gettext-tools/po/id.gmo b/gettext-tools/po/id.gmo
index ff8b560..d083f52 100644
--- a/gettext-tools/po/id.gmo
+++ b/gettext-tools/po/id.gmo
Binary files differ
diff --git a/gettext-tools/po/id.po b/gettext-tools/po/id.po
index 8fbeb78..84f48a1 100644
--- a/gettext-tools/po/id.po
+++ b/gettext-tools/po/id.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.18\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2010-05-24 13:30+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -58,40 +58,40 @@ msgstr "tidak dapat menghapus direktori sementara %s"
msgid "write error"
msgstr "tulis error"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "error ketika membuka \"%s\" untuk dibaca"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "tidak dapat membuka berkas backup \"%s\" untuk ditulis"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "error ketika membaca \"%s\""
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "error ketika menulis \"%s\""
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "error setelah membaca \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() gagal"
@@ -117,58 +117,63 @@ msgstr "Sistem error tidak diketahui"
msgid "%s subprocess failed"
msgstr "%s subproses gagal"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: pilihan '%s' rancu\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: pilihan '%s' rancu\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: pilihan '--%s' tidak membolehkan argumen\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: pilihan '%c%s' tidak membolehkan argumen\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: pilihan '--%s' membutuhkan sebuah argumen\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: pilihan tidak diketahui '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: pilihan tidak diketahui '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: pilihan tidak valid -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: pilihan '-W %s' rancu\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: pilihan '-W %s' tidak membolehkan sebuah argumen\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: pilihan '-W %s' membutuhkan sebuah argumen\n"
@@ -184,15 +189,16 @@ msgstr "argumen source_version tidak valid untuk compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "argumen target_version tidak valid untuk compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "gagal untuk membuat \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "error ketika menulis berkas \"%s\""
@@ -207,15 +213,15 @@ msgstr "Kompiler java tidak ditemukan, coba pasang gcj atau set $JAVAC"
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "Mesin maya java tidak ditemukan, coba pasang gij atau set $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s subproses I/O error"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "kehabisan memori"
@@ -226,7 +232,7 @@ msgid "creation of threads failed"
msgstr "kompilasi dari kelas C# gagal"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "tulis ke %s subproses gagal"
@@ -272,11 +278,11 @@ msgstr "%s subproses berakhir dengan kode keluar %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -312,23 +318,158 @@ msgstr "%s subproses"
msgid "%s subprocess got fatal signal %d"
msgstr "%s subproses mendapatkan sinyal fatal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error ketika membuka \"%s\" untuk dibaca"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Coba `%s --help' untuk informasi lebih jauh.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Penggunaan: %s [PILIHAN] [BERKAS]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Argumen wajib ke pilihan panjang juga wajib untuk pilihan pendek juga.\n"
+"Sama untuk opsional argumen.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help tampilkan bantuan ini dan keluar\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help tampilkan bantuan ini dan keluar\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version keluarkan informasi versi dan keluar\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Laporkan bugs ke <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Hak Cipta (C) %s Free Software Foundation, Inc.\n"
+"Lisensi GPLv3+: GNU GPL versi 3 atau selanjutnya <http://gnu.prg/licenses/gpl.html>\n"
+"Ini adalah piranti lunak bebas: anda bebas untuk mengubah dan meredistribusikannya.\n"
+"TIDAK ADA GARANSI, sampai batas yang diijinkan oleh hukum yang berlaku.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Ditulis oleh %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "tidak dapat menghapus direktori sementara %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
msgstr ""
-"'%s' bukan sebuah format string %s yang sah, tidak seperti '%s'. Karena: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error ketika membuka \"%s\" untuk dibaca"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -336,30 +477,37 @@ msgstr ""
"sebuah spesifikasi format untuk argumen %u, seperti dalam '%s', tidak ada "
"dalam '%s'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "sebuah spesifikasi format untuk argumen %u tidak ada dalam '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "spesifikasi format dalam '%s' dan '%s' untuk argumen %u tidak sama"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktif nomor %u berawal dengan | tetapi tidak berakhir dengan |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%s' bukan sebuah format string %s yang sah, tidak seperti '%s'. Karena: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -369,44 +517,44 @@ msgstr ""
"penspesifikasi makor. Nama makro yang valid terdaftar dalam ISO C 99 bagian "
"7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "Dalam direktif nomor %u, token setelah '<' tidak diikuti dengan '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"String yang mereferensi ke argumen nomor %u tetapi mengabaikan argumen nomor "
"%u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "jumlah spesifikasi format dalam '%s' dan '%s' tidak cocok"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"Dalam direktif nomor %u, '{' tidak diikuti dengan sebuah nomor argumen."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Dalam direktif nomor %u, ',' tidak diikuti dengan sebuah angka."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"String berakhir di akhir dari sebuah direktif: ditemukan '{' tanpa "
"pencocokan '}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -414,13 +562,13 @@ msgstr ""
"Direktif nomor %u berakhir dengan sebuah karakter tidak valid '%c' daripada "
"'}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Direktif nomor %u berakhir dengan sebuah karakter tidak valid daripada '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -428,7 +576,7 @@ msgstr ""
"String berawal di tengah dari sebuah direktif: ditemukan '}' tanpa "
"pencocokan '{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "String berisi sebuah '}' tunggal setelah direktif nomor %u."
@@ -549,7 +697,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"String mereferensi ke argumen nomor %u dalam cara yang tidak kompatibel."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -558,19 +706,19 @@ msgstr ""
"dalam direktif nomor %u, substring \"%s\" bukan sebuah gaya tanggal/waktu "
"yang valid."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Dalam direktif nomor %u, \"%s\" tidak diikuti oleh sebuah koma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"Dalam direktif nomor %u, substring \"%s\" bukan sebuah nomor gaya yang valid."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -579,12 +727,12 @@ msgstr ""
"Dalam direktif nomor %u, nomor argumen tidak diikuti oleh sebuah koma dan "
"salah satu dari \"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Dalam direktif nomor %u, sebuah pilihan berisi bukan angka."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -593,7 +741,7 @@ msgstr ""
"Dalam direktif nomor %u, sebuah pilihan berisi sebuah angka yang tidak "
"diikuti dengan '<', '#' atau '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -601,18 +749,41 @@ msgstr ""
"sebuah spesifikasi format untuk argumen {%u}, seperti dalam '%s', tidak ada "
"dalam '%s'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "sebuah spesifikasi format untuk argumen {%u} tidak ada dalam '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "spesifikasi format dalam '%s' dan '%s' untuk argumen {%u} tidak sama"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"String yang mereferensi ke argumen nomor %u tetapi mengabaikan argumen nomor "
+"%u."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"sebuah spesifikasi format untuk argumen %u, seperti dalam '%s', tidak ada "
+"dalam '%s'"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "kesalahan ketika membaca \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -622,7 +793,7 @@ msgstr ""
"Dalam direktif nomor %u, parameter %u tipe '%s' tetapi sebuah parameter dari "
"tipe '%s' yang diduga."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -637,33 +808,33 @@ msgstr[1] ""
"Dalam direktif nomor %u, terlalu banyak parameter yang diberikan; diduga "
"diakhir %u parameter."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Dalam direktif nomor %u, '%c' tidak diikuti oleh sebuah digit."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Dalam direktif nomor %u, argumen %d negatif."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "String berakhir ditengah dari sebuah ~/.../ direktif."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Ditemukan '~%c' tanpa pencocokan '~%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "Dalam direktif nomor %u, baik @ dan pemodifikasi : diberikan."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -672,28 +843,34 @@ msgstr ""
"Dalam direktif nomor %u, '~:[]' tidak diikuti oleh dua klausa, dipisahkan "
"oleh '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
"Dalam direkftif nomor %u, '~;' digunakan dalam sebuah posisi tidak valid."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
"String mereferensikan ke beberapa argumen dalam cara yang tidak komptibel."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "spesifikasi format dalam '%s' dan `%s' tidak sesuai"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "spesifikasi format dalam '%s' bukan sebuah subset dari '%s'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "spesifikasi format untuk argumen '%s' tidak ada dalam '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -702,14 +879,34 @@ msgstr ""
"Dalam direktif nomor %u, ukuran penspesifikasi tidak kompatibel dengan "
"penspesifkasi konversi '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "spesifikasi format untuk argumen '%s' tidak ada dalam '%s'"
+#: src/format-python-brace.c:138
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Dalam direktif nomor %u, '%c' tidak diikuti oleh sebuah digit."
+
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"Dalam direktif nomor %u, '{' tidak diikuti dengan sebuah nomor argumen."
+
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Dalam direktif nomor %u, '%c' tidak diikuti oleh sebuah digit."
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "Dalam direktif nomor %u, sebuah presisi tidak diijinkan sebelum '%c'. "
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Dalam direktif nomor %u, argumen %d negatif."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -717,14 +914,14 @@ msgstr ""
"String mereferensikan argumen baik melalui nama argumen dan melalui "
"spesifikasi argumen tidak bernama."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"String mereferensikan ke argumen bernama '%s' dalam cara yang tidak "
"kompatibel."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -732,7 +929,7 @@ msgstr ""
"spesifikasi format dalam '%s' diduga sebuah pemetaan, baik dalam '%s' diduga "
"sebuah tuple"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -740,7 +937,7 @@ msgstr ""
"spesifikasi format dalam '%s' diduga sebuah tuple, baik dalam '%s' diduga "
"sebuah pemetaan"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -748,40 +945,13 @@ msgstr ""
"spesifikasi format untuk argumen '%s', seperti dalam '%s', tidak ada dalam "
"'%s'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "spesifikasi format dalam '%s' dan '%s' untuk argumen '%s' tidak sama"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Dalam direktif nomor %u, '%c' tidak diikuti oleh sebuah digit."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"Dalam direktif nomor %u, '{' tidak diikuti dengan sebuah nomor argumen."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Dalam direktif nomor %u, '%c' tidak diikuti oleh sebuah digit."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "Dalam direktif nomor %u, sebuah presisi tidak diijinkan sebelum '%c'. "
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Dalam direktif nomor %u, argumen %d negatif."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -790,13 +960,13 @@ msgstr ""
"'%s' sebuah format string sederhana, tetapi '%s' bukan: ini berisi sebuah "
"tanda 'L' atau sebuah nomor argumen double-digit"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"String mereferensikan ke sebuah variabel shell dengan sebuah nama bukan "
"ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -804,7 +974,7 @@ msgstr ""
"String mereferensikan ke sebuah variabel shell dengan kompleks sintaks shell "
"kompleks. Sintaks ini tidak didukung disini karena alasan keamanan."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -812,11 +982,11 @@ msgstr ""
"String mereferensikan ke sebuah variabel shell yang nilainya mungkin berbeda "
"didalam fungsi shell."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "String mereferensi ke sebuah variabel shell dengan sebuah nama kosong."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -824,7 +994,7 @@ msgid ""
msgstr ""
"Dalam direktif nomor %u, karakter '%c' bukan sebuah angka diantara 1 dan 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -833,75 +1003,40 @@ msgstr ""
"Karakter yang mengakhiri nomor direktif %u bukan sebuah angka diantara 1 dan "
"9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Hak Cipta (C) %s Free Software Foundation, Inc.\n"
-"Lisensi GPLv3+: GNU GPL versi 3 atau selanjutnya <http://gnu.prg/licenses/gpl.html>\n"
-"Ini adalah piranti lunak bebas: anda bebas untuk mengubah dan meredistribusikannya.\n"
-"TIDAK ADA GARANSI, sampai batas yang diijinkan oleh hukum yang berlaku.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Ditulis oleh %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "terlalu banyak argumen"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Coba `%s --help' untuk informasi lebih jauh.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Penggunaan: %s [PILIHAN]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Tampilkan nama host mesin.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Format keluaran:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short nama pendek host\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -912,77 +1047,103 @@ msgstr ""
"domain\n"
" nama, dan aliases\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address alamat untuk hostname\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Keluaran informatif:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help tampilkan bantuan ini dan keluar\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "tidak dapat mendapatkan nama host"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version keluarkan informasi versi dan keluar\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "paling tidak dua berkas harus dispesifikasikan"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Laporkan bugs ke <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "tidak dapat membuat pipe"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "tidak dapat mendapatkan nama host"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "argumen %s tidak valid untuk %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "tidak dapat membuat pipe"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "tidak dapat membuat berkas output \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "di paling tidak satu berkas masukan diijinkan"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s dan %s adalah mutually exclusive"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Penggunaan: %s [PILIHAN] [BERKAS MASUKAN]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -991,33 +1152,33 @@ msgstr ""
"Saring pesan dari sebuah katalog terjemahan menurut atributnya,\n"
"dan manipulasi atribut.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Argumen wajib untuk pilihan panjang juga wajib untuk pilihan pendek juga.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Lokasi berkas masukan:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " BERKAS MASUKAN berkas masukan PO\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1025,34 +1186,35 @@ msgstr ""
" -D, --directory=DIREKTORI tambahkan DIREKTORI ke daftar pencarian "
"masukan berkas\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Jika tidak ada berkas masukan yang diberikan atau jika ini adalah -, standar "
"masukan yang dibaca.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Lokasi berkas keluaran:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=BERKAS tulis keluaran ke berkas yang "
"dispesifikasikan\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1061,12 +1223,12 @@ msgstr ""
"Hasil ditulis ke standar keluaran jika tidak ada berkas keluaran yang\n"
"dispesifikasikan atau jika ini adalah -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Pemilihan pesan:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1074,7 +1236,7 @@ msgstr ""
" --translated simpan terjemahan, hapus pesan tidak "
"diterjemahkan\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1082,52 +1244,52 @@ msgstr ""
" --untranslated simpan tidak terjemahkan, hapus pesan "
"terjemahan\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy hapus pesan ditandai 'fuzzy'\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy simpan pesan ditandai 'fuzzy'\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete hapus pesan sudah ditinggalkan #~\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete simpan pesan sudah ditinggalkan #~\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulasi atribut:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy set seluruh pesan 'fuzzy'\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy set seluruh pesan non-'fuzzy'\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete set seluruh pesan sudah ditinggalkan\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete set seluruh pesan tidak ditinggalkan\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, fuzzy, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1136,7 +1298,7 @@ msgstr ""
" --previous simpan msgids sebelumnya dari pesan yang "
"diterjemahkan\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1144,13 +1306,13 @@ msgid ""
msgstr ""
" --clear-previous hapus \"previous msgid\" dari seluruh pesan\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --no-fuzzy hapus pesan ditandai 'fuzzy'\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1158,7 +1320,7 @@ msgstr ""
" --only-file=BERKAS.po hanya manipulasi masukan terdaftar dalam "
"BERKAS.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1166,13 +1328,13 @@ msgstr ""
" --ignore-file=BERKAS.po hanya manipulasi masukan tidak terdaftar dalam "
"BERKAS.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy sinonim untuk --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1180,16 +1342,16 @@ msgstr ""
" --obsolete sinonim untuk --only-obsolete --clear-"
"obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sintaks berkas masukan:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1197,8 +1359,8 @@ msgstr ""
" -P, --properties-input berkas masukan berada dalam .properties "
"sintaks Java\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1207,17 +1369,17 @@ msgstr ""
" --stringtable-input berkas masukan berada dalam sintaks .strings "
"NexTstep/GNUstep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Detil keluaran:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1231,27 +1393,27 @@ msgstr ""
" KETIKA dapat berupa 'always', 'never', 'auto', "
"atau 'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=BERKAS GAYA spesifikasikan aturan gaya CSS berkas untuk --"
"color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
" -e, --no-escape jangan gunakan C escape dalam keluaran (baku)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1259,69 +1421,69 @@ msgstr ""
" -E, --escape gunakan C escape dalam keluaran, bukan "
"karakter ekstensi\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po tulis berkas PO walaupun itu kosong\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent tulis berkas .po menggunakan gaya teridentasi\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location jangan tulis '#: nama berkas:baris' baris\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location hasilkan '#: nama berkas:baris' baris (baku)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict tulis strict Uniforum konform berkas .po\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output tulis sebuah berkas .properties Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output tulis sebuah .string berkas NeXTstep/GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=ANGKA set keluaran lebar halaman\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1332,33 +1494,33 @@ msgstr ""
" dari lebar halaman keluaran, dalam beberapa "
"beris\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output hasilkan keluaran terurut\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file urutkan keluaran berdasarkan lokasi berkas\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr ""
"kriteria pemilihan yang dispesifikasikan tidak memungkinkan (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Penggunaan: %s [PILIHAN] [BERKAS MASUKAN]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1380,25 +1542,25 @@ msgstr ""
"komentar ekstraksi akan dijaga, tetapi hanya dari berkas PO pertama yang\n"
"mendefinisikan mereka. Posisi berkas dari seluruh berkas PO akan dijaga.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " BERKAS MASUKAN ... berkas masukan\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=BERKAS dapatkan daftar dari berkas masukan dari "
"BERKAS\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Jika berkas masukan adalah -, standar masukan dibaca.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1408,7 +1570,7 @@ msgstr ""
" definisi ini, baku ke tidak terhingga jika "
"tidak diset\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1417,7 +1579,7 @@ msgstr ""
" ->, --more-than=ANGKA tampilkan pesan dengan lebih besar dari \n"
" definisi ini, baku ke 0 jika tidak diset\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1426,8 +1588,8 @@ msgstr ""
" -u, --unique kependekan untuk --less-than=2, diminta\n"
" hanya pesan unik untuk ditampilkan\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1435,8 +1597,8 @@ msgstr ""
" -P, --properties-input berkas masukan berada dalam sintaks ."
"properties Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1445,12 +1607,12 @@ msgstr ""
" --stringtable-input berkas masukan berada dalam sintaks .strings "
"NeXTstep/GNUstep\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAMA pengkodean untuk keluaran\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1461,7 +1623,7 @@ msgstr ""
" setiap pesan, jangan gabungkan beberapa "
"terjemahan.\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1469,26 +1631,26 @@ msgstr ""
" --lang=NAMAKATALOG isi baris 'Language' dalam masukan header\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter MIller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "tidak ada berkas masukan yang diberikan"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "dibutuhkan tepat 2 berkas input"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Penggunaan: %s [PILIHAN] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1505,22 +1667,22 @@ msgstr ""
"program anda. Bilamana tidak ditemukan kecocokan yang tepat, digunakan fuzzy\n"
"matching untuk menghasilkan diagnostik yang lebih baik.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po terjemahan\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot referensi ke sumber\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Operasi pemodifikasi:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1529,65 +1691,65 @@ msgstr ""
" -m, --multi-domain aplikasikan ref.pot ke setiap dari domain "
"dalam def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching jangan gunakan fuzzy matching\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy pertimbangkan masukan fuzzy\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
" --use-untranslated pertimbangkan masukan tidak diterjemahkan\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "pesan ini tidak diterjemahkan"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "pesan ini butuh untuk diulas oleh penerjemah"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "pesan ini digunakan tapi tidak didefinisikan..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...tetapi definisi ini serupa"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "pesan ini digunakan tapi tidak didefinisikan dalam %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "peringatan: pesan ini tidak digunakan"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "ditemukan %d kesalahan fatal"
msgstr[1] "ditemukan %d kesalahan fatal"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "paling tidak dua berkas harus dispesifikasikan"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1607,7 +1769,7 @@ msgstr ""
"komentar ekstraksi akan dijaga, tetapi hanya dari berkas PO pertama yang\n"
"mendefinisikan mereka. Posisi berkas dari seluruh berkas PO akan diakumulasikan.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1616,7 +1778,7 @@ msgstr ""
" ->, --more-than=ANGKA tampilkan pesan dengan lebih dari definisi\n"
" ini, baku ke 1 jika tidak diset\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, fuzzy, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1624,63 +1786,63 @@ msgstr ""
" --omit-header jangan tulis header dengan masukan `msgid "
"\"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Konversikan sebuah katalog terjemahan ke pengkodean karakter yang berbeda.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Target konversi:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Pengkodean baku adalah pengkodean lokal sekarang.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent gaya keluaran terindentasi\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location tekan '#: nama berkas:baris' baris\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, fuzzy, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
" --add-location simpan '#: nama berkas: baris' baris (baku)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict gaya keluaran Uniforum strict\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "tidak ada berkas masukan yang diberikan"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "tepatnya sebuah berkas masukan dibutuhkan"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Penggunaan: %s [PILIHAN] BERKAS MASUKAN\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1693,22 +1855,22 @@ msgstr ""
"(secara umum dibuat oleh xgettext). Masukan yang tidak diterjemahkan diberikan\n"
"sebuah terjemahan yang identik dengan msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " BERKAS MASUKAN berkas masukan PO atau POT\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "hilang nama perintah"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Penggunaan: %s [PILIHAN] PERINTAH [PILIHAN-PERINTAH]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1723,7 +1885,7 @@ msgstr ""
"menjadi keluaran msgexec. msgexec mengembalikan kode yang maksimal kode kembali\n"
"ke seluruh pemanggilan.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1732,39 +1894,49 @@ msgstr ""
"Sebuah perintah bawaan dipanggil '0' mengeluarkan terjemahan, diikuti oleh sebuah\n"
"null byte. Keluaran dari \"msgexec 0\" cocok sebagai sebuah masukan untuk \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standard input"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help tampilkan bantuan ini dan keluar\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=BERKAS MASUKAN masukan berkas PO\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "penulisan ke stdout gagal"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "hilang nama penyaring"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "paling tidak sebuah script sed harus dispesifikasikan"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Penggunaan: %s [PILIHAN] PENYARING [PILIHAN-PENYARING]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
"Mengaplikasikan sebuah penyaring ke seluruh terjemahan dari sebuah katalog "
"terjemahan.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1774,19 +1946,31 @@ msgstr ""
"standar masukan\n"
"dan menulis sebuah terjemahan termodifikasi ke standar keluaran.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Sangat berguna FILTER-OPTIONs ketika PENYARING adalah 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SCRIPT tambahkan SCRIPT ke perintah yang dijalankan\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1796,14 +1980,14 @@ msgstr ""
" -f, --file=SCRIPTFILE tambahkan isi dari SCRIPTFILE ke perintah\n"
" untuk dijalankan\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent tekan pencetakan otomatis dari ruang pola\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1811,12 +1995,12 @@ msgstr ""
" --no-escape jangan gunakan C escapes dalam keluaran "
"(baku)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent gaya keluaran terindentasi\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1824,123 +2008,124 @@ msgstr ""
" --keep-header simpan masukan header tidak termodifikasi, "
"janya saring itu\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "berkas \"%s\" berisi bukan sebuah string berakhir NULL"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argumen ke %s seharusnya berupa sebuah karakter punctuation tunggal"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "endianness tidak valid: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, fuzzy, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
"Jika tidak ada berkas masukan yang diberikan atau jika ini adalah -, standar "
"masukan yang dibaca.\n"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s membutuhkan sebuah spesifikasi \"-d direktori\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s membutuhkan sebuah spesifikasi \"-l lokal\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s membutuhkan sebuah spesifikasi \"-l lokal\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s membutuhkan sebuah spesifikasi \"-l lokal\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s dan %s adalah mutually exclusive"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s hanya valid dengan %s atau %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s hanya valid dengan %s, %s atau %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "tidak dapat membuat berkas output \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d pesan diterjemahkan"
msgstr[1] "%d pesan diterjemahkan"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d terjemahan fuzzy"
msgstr[1] ", %d terjemahan fuzzy"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d pesan belum diterjemahkan"
msgstr[1] ", %d pesan belum diterjemahkan"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Penggunaan: %s [PILIHAN] nama-berkas.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Hasilkan katalog pesan binari dari deskripsi tekstual terjemahan.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Argumen wajib ke pilihan panjang juga wajib untuk pilihan pendek juga.\n"
-"Sama untuk opsional argumen.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " nama-berkas.po ... berkas masukan\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Mode operasi:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1949,7 +2134,7 @@ msgstr ""
" -j, --java Mode: java menghasilkan sebuah class Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1958,13 +2143,13 @@ msgstr ""
" --java2 seperti --java, dan asumsikan Java2 (JDK 1.2 "
"atau lebih tinggi)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp C# mode: hasilkan sebuah berkas .dll .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1973,45 +2158,50 @@ msgstr ""
" --csharp-resources mode resources C#: hasilkan sbeuah berkas ."
"resources .NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr " --tcl mode Tcl: hasilkan sebuah .tcl/msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt mode Qt: hasilkan sebuah berkas Qt .qm\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, fuzzy, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --qt mode Qt: hasilkan sebuah berkas Qt .qm\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt mode Qt: hasilkan sebuah berkas Qt .qm\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict aktifkan mode strict Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Jika keluaran berkas adalah -, keluaran ditulis ke standar keluaran.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Lokasi berkas keluaran dalam mode Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESOURCE nama resource\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2019,7 +2209,7 @@ msgid ""
msgstr ""
" -l, --locale=LOKAL nama lokal, baik bahasa atau bahasa_NEGARA\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, fuzzy, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2028,14 +2218,14 @@ msgstr ""
" --tcl mode Tcl: masukan adalah sebuah berkas .msg "
"tcl/msgcat\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d DIREKTORI basis direktori dari struktur direktori kelas\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2048,12 +2238,12 @@ msgstr ""
"dibawah\n"
"direktoris yang dispesifikasikan.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Lokasi keluaran berkas dalam mode C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2062,7 +2252,7 @@ msgstr ""
" -d DIREKTORI basis direktori untuk lokal dependen berkas ."
"dll\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2071,18 +2261,18 @@ msgstr ""
"Pilihan -l dan -d wajib. Berkas .dll ditulis dalam sebuah subdirektori\n"
"dari direktori yang dispesifikasikan yang namanya tergantung dari lokal.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Lokasi keluaran berkas dalam mode Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIREKTORI basis direktori dari katalog pesan .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2091,23 +2281,23 @@ msgstr ""
"Pilihan -l dan -d wajib. Berkas .msg ditulis dalam direktori yang "
"dispesifikasikan.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
" -d DIREKTORI basis direktori dari katalog pesan .msg\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2116,7 +2306,7 @@ msgstr ""
" -kKATA, --keyword=KATA cari untuk KATA sebagai kata kunci tambahan\n"
" -k, --keyword jangan gunakan untuk kata kunci baku\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2124,12 +2314,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretasi masukan berkas:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2141,13 +2346,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format periksa format string tergantung bahasa\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2156,7 +2361,7 @@ msgstr ""
" --check-header verifikasi keberadaan dan isi dari masukan "
"header\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2166,7 +2371,7 @@ msgstr ""
"domain\n"
" dan pilihan --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2175,7 +2380,7 @@ msgstr ""
" -C, --check-compatibility periksa GNU msgfmt berlaku seperti X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2185,19 +2390,19 @@ msgstr ""
" --check-accelerators[=CHAR] periksa keberadaan dari akselerator\n"
" keyboard untuk item menu\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy gunakan masukan fuzzy dalam keluaran\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=JUMLAH align string ke JUMLAH bytes (baku: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2206,7 +2411,7 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2214,93 +2419,92 @@ msgstr ""
" --no-hash berkas binari tidak akan dimasukan dalam tabel "
"hash\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
" --statistics tampilkan statistik mengenai terjemahan\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose naikan tingkat keramaian\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "peringatan: header berkas PO hilang atau tidak valid\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "peringatan: konversi set karakter tidak akan bekerja\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "peringatan: header berkas PO fuzzy\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"peringatan: versi lebih lama dari msgfmt akan memberikan sebuah error "
"disini\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "nama domain \"%s\" tidak sesuai dengan nama berkas"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"nama domain \"%s\" tidak sesuai dengan nama berkas: akan menggunakan prefix"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "direktif `domain %s' diabaikan"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "masukan `msgstr' kosong diabaikan"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "masukan fuzzy `msgstr' diabaikan"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: peringatan: berkas sumber mengandung terjemahan fuzzy"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "kesalahan ketika membaca \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2309,7 +2513,7 @@ msgstr ""
"pilihan '%c' tidak dapat digunakan sebelum 'J' atau 'K' atau 'T' atau 'C' "
"atau 'X' telah dispesifikasikan"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2318,7 +2522,7 @@ msgstr ""
"Ekstrak seluruh pesan dari sebuah katalog terjemahan yang cocok dengan pola\n"
"yang diberikan atau milik dari beberapa berkas sumber yang diberikan.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2393,7 +2597,7 @@ msgstr ""
" -v, --invert-match keluarkan hanya pesan yang tidak cocok dengan\n"
" kriteria pemilihan apapun\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2401,12 +2605,12 @@ msgstr ""
" --escape gunakan C escapes dalam keluaran, tidak ada "
"karakter ekstensi\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output hasilkan keluaran terurut\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2514,14 +2718,14 @@ msgstr ""
"Tidak ditemukan berkas .pot dalam direktori ini.\n"
"Mohon spesifikasikan berkas masukan .pot melalui pilihan --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s subproses gagal dengan kode keluar %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2537,23 +2741,23 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Terjemahan bahasa inggris untuk paket %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
"set karakter saat ini \"%s\" bukan sebuah nama pengkodean yang portabel"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "dua set karakter berbeda \"%s\" dan \"%s\" dalam berkas masukan"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2561,7 +2765,7 @@ msgstr ""
"berkas masukan `%s' tidak berisi sebuah masukan header dengan sebuah "
"spesifikasi set karakter"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2570,19 +2774,19 @@ msgstr ""
"domain \"%s\" dalam berkas masukan `%s' tidak berisi sebuah masukan header "
"dengan sebuah spesifikasi set karakter"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "target set karakter \"%s\" bukan sebuah nama pengkodean yang portabel."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "peringatan: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2592,7 +2796,7 @@ msgstr ""
"lain.\n"
"Mengubah keluaran ke UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2605,7 +2809,7 @@ msgstr ""
"Mengubah keluaran ke UTF-8.\n"
"Pilih sebuah keluaran pengkodean berbeda, gunakan pilihan --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2619,7 +2823,7 @@ msgstr ""
"pastikan mereka dalam pengkodean UTF-8 sejak awal, jadi telah berada dalam.\n"
"berkas sumber kode anda.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2632,12 +2836,12 @@ msgstr ""
"Keluaran dari '%s' mungkin tidak benar.\n"
"Solusi yang memungkinkan diantaranya:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Set LC_ALL ke sebuah lokal dengan pengkodean %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2648,7 +2852,7 @@ msgstr ""
" kemudian aplikasikan '%s,\n"
" kemudian konversi kembali ke %s menggunakan 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2661,7 +2865,7 @@ msgstr ""
" kemudian aplikasikan '%s,\n"
" kemudian konversikan kembali ke %s menggunakan 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2672,26 +2876,26 @@ msgstr ""
"Keluaran dari '%s' mungkin tidak benar.\n"
"Solusi yang memungkinkan adalah menset LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "ekspresi plural dapan menghasilkan nilai minus"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu tetapi ekspresi plural dapan menghasilkan nilai besar sebesar "
"%lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "ekspresi plural dapan menghasilkan pembagian dengan nol"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "ekspresi plural dapat menghasilkan integer overflow"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2699,51 +2903,51 @@ msgstr ""
"ekspresi plural dapat menghasilkan eksepsi aritmetik, kemungkinan pembagian "
"dengan nol"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Coba gunakan berikut, valid untuk %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "katalog pesan memiliki bentuk terjemahan plural"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "tetapi masukan header kurang sebuah atribut \"plural=EKSPRESI\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "tetapi masukan header kurang sebuah atribut \"plurals=BILANGAN BULAT\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "nilai nplurals tidak valid"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ekspresi plural tidak valid"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "tetapi beberapa pesan hanya memiliki bentuk %lu plural"
msgstr[1] "tetapi beberapa pesan hanya memiliki bentuk %lu plural"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "tetapi beberapa pesan memiliki bentuk %lu plural"
msgstr[1] "tetapi beberapa pesan memiliki bentuk %lu plural"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2752,79 +2956,95 @@ msgstr ""
"masukan header dengan \"Plural-Forms: nplurals=BILANG BULAT; plural=EKSPRESI;"
"\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "masukan `msgid' dan `msgid_plural' keduanya tidak dimulai dengan '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "masukan `msgid' dan `msgstr[%u]' keduanya tidak dimulai dengan '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "masukan `msgid' dan `msgstr' keduanya tidak dimulai dengan '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
"masukan `msgid' dan `msgid_plural' keduanya tidak diakhiri dengan '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "masukan `msgid' dan `msgstr[%u]' keduanya tidak diakhiri dengan '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "masukan `msgid' dan `msgstr' keduanya tidak diakhiri dengan '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "penanganan plural adalah sebuah ekstensi GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr kuran tanda akselerasi keyboard '%c'"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr memiliki terlalu banyak tanda akselerasi keyboard '%c'"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "beberapa field header `%s' masih memiliki nilai baku awal\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "header field `%s' hilang dalam header\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: masukan tidak valid dalam pengkodean \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: error ketika mengubah dari pengkodean \"%s\" ke pengkodean \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"berkas masukan tidak berisi sebuah masukan header dengan sebuah spesifikasi "
"set karakter"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2833,7 +3053,7 @@ msgstr ""
"Tidak dapat mengubah dari \"%s\" ke \"%s\". %s mengandalkan iconv(), dan "
"iconv() tidak mendukung konversi ini."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2842,8 +3062,8 @@ msgstr ""
"Pengubahan dari \"%s\" ke \"%s\" menghadirkan duplikasi: beberapa msgids "
"berbeda menjadi sama."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2852,16 +3072,16 @@ msgstr ""
"Tidak dapat mengubah dari \"%s\" ke \"%s\". %s mengandalkan iconv(). Versi "
"ini dibuat tanpa iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s hanya valid dengan %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "tipe backup"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2883,18 +3103,18 @@ msgstr ""
"digunakan fuzzy matching untuk memberi hasil yang lebih baik. Hasilnya ditulis\n"
"ke stdout kecuali diberikan sebuah output berkas.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po terjemahan mereferensikan ke sumber lama\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot referensi ke sumber baru\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2903,7 +3123,7 @@ msgstr ""
" -C, --compendium=BERKAS perpustakaan tambahan dari pesan terjemahan,\n"
" mungkin dispesifikasikan lebih dari sekali.\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2912,27 +3132,27 @@ msgstr ""
" -U, --update perbarui def.po,\n"
" jangan lakukan apapun jika def.po telah baru\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Lokasi berkas keluaran dalam mode perbarui:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Hasil ditulis kembali ke def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=KONTROL buat sebuah backup dari def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=AKHIRAN override akhiran backup biasa\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2952,7 +3172,7 @@ msgstr ""
"ada\n"
" simple, never selalu membuat backup sederhana\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, fuzzy, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2962,7 +3182,7 @@ msgstr ""
"Akhiran backup adalah `~', kecuali diset dengan --suffix atau "
"SIMPLE_BACKUP_SUFFIX\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2970,22 +3190,22 @@ msgstr ""
" --previous simpan msgids sebelumnya dari pesan yang "
"diterjemahkan\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent tekan indikator perkembangan\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "pesan ini seharusnya mendefinisikan bentuk plural"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "pesan ini seharusnya tidak mendefinisikan bentuk plural"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2994,28 +3214,28 @@ msgstr ""
"%sMembaca %ld lama + %ld referensi, digabung %ld, fuzzy %ld, hilang %ld, "
"sudah ditinggalkan %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " selesai.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s dan nama berkas eksplisit adalah mutually exclusive"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Penggunaan: %s [PILIHAN] [BERKAS]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Konversikan katalog pesan binari ke gaya berkas .po Uniforum\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3024,14 +3244,14 @@ msgstr ""
" -j, --java Mode java: masukan adalah sebuah Java "
"ResourceBundle class\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp mode C#: masukan adalah sebuah berkas .dll ."
"NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3040,7 +3260,7 @@ msgstr ""
" --csharp-resources mode resources C#: masukan adalah sebuah "
"berkas .resources .NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3048,17 +3268,17 @@ msgstr ""
" --tcl mode Tcl: masukan adalah sebuah berkas .msg "
"tcl/msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " BERKAS ... berkas masukan .mo\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Lokasi berkas masukan dalam mode Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3069,12 +3289,12 @@ msgstr ""
"dipisahkan dengan sebuah garis bawah. Kelas ditempatkan menggunakan "
"CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Lokasi berkas masukan dalam mode C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3084,12 +3304,12 @@ msgstr ""
"subdirektori\n"
"dari direktori yang dispesifikasikan yang namanya tergantung dari lokal.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Lokasi berkas masukan dalam mode Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3098,17 +3318,17 @@ msgstr ""
"Pilihan -l dan -d adalah wajib. Berkas .msg berada dalam direktori yang\n"
"dispesifikasikan.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent tulis keluaran gaya berindentasi\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict tulis gaya strict uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3129,12 +3349,12 @@ msgstr ""
", mereka akan diambil dari terjemahan pertama. Posisi berkas akan dijaga.\n"
"Ketika menggunakan pilihan --unique, duplikasi diabaikan.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated tampilkan hanya duplikasi\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3142,7 +3362,7 @@ msgid ""
msgstr ""
" -u, --unique tampilkan hanya pesan unik, abaikan duplikat\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3198,32 +3418,32 @@ msgstr ""
"Set karakter hilang dalam header.\n"
"Pesan konversi ke set karakter pengguna tidak akan bekerja.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "penggunaan tidak konsisten dari #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "bagian `msgstr[]' hilang"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "bagian `msgid_plural' hilang"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "bagian `msgstr' hilang"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "bentuk plural pertama memiliki indeks bukan nol"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "bentuk plural memiliki indeks salah"
@@ -3233,7 +3453,7 @@ msgstr "bentuk plural memiliki indeks salah"
msgid "too many errors, aborting"
msgstr "terlalu banyak kesalahan, membatalkan"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "urutan multibyte tidak valid"
@@ -3277,64 +3497,82 @@ msgstr "akhir-dari-baris dalam string"
msgid "context separator <EOT> within string"
msgstr "konteks pemisah <EOT> dalam string"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "berkas ini tidak boleh mengandung direktif domain"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "duplikasi definisi pesan"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "ini adalah lokasi dari definisi pertama"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "hilang nama penyaring"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "nilai nplurals tidak valid"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "berkas \"%s\" terpotong"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "berkas \"%s\" berisi bukan sebuah string berakhir NULL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "berkas \"%s\" bukan tidak berada dalam format GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "berkas \"%s\" berisi bukan string berakhir NULL, di %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "peringatan: sintaks tidak valid \\uxxxx untuk karakter Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "peringatan: string tidak terselesaikan"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "peringatan: sintaks error"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "peringatan: pasangan kunci/nilai tidak terselesaikan"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "peringatan: sintaks error, diduga ';' setelah string"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "peringatan: sintaks error, diduga '=' atau ';' setelah string"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Ditulis oleh %s dan %s.\n"
@@ -3343,16 +3581,16 @@ msgstr "Ditulis oleh %s dan %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Recode teks Serbian dari Cyrillic ke Latin script.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3361,27 +3599,27 @@ msgstr ""
"Teks masukan dibaca dari standar masukan. Teks terkonversi dikeluarkan ke\n"
"standar keluaran.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "masukan tidak berada dalam pengkodean \"%s\" yang valid"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "error ketika mengubah dari pengkodean \"%s\" ke pengkodean \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "diduga dua argumen"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Penggunaan: %s [PILIHAN] URL BERKAS\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3390,37 +3628,37 @@ msgstr ""
"Ambil dan keluarkan isi dari sebuah URL. Jika URL tidak dapat diakses,\n"
"BERKAS lokal yang dapat diakses akan digunakan.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "error ketika membaca \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "error menulis stdout"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "error setelah membaca \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Mengambil %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " waktu habis.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " gagal.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3429,7 +3667,7 @@ msgstr ""
"tunggal dengan format keluaran yang dispesifikasikan. Coba lebih baik "
"gunakan sintaks berkas PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3437,7 +3675,7 @@ msgstr ""
"Tidak dapat mengeluarkan terjemahan multiple domain kedalam sebuah berkas "
"tunggal dengan format keluaran yang dispesifikasikan."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3445,7 +3683,7 @@ msgstr ""
"katalog pesan memiliki konteks tergantung terjemahan, tetapi format keluaran "
"tidak mendukungnya."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3455,7 +3693,7 @@ msgstr ""
"tidak mendukungnya. Coba buat sebuah class Java menggunakan \"msgfmt --java"
"\", daripada dari sebuah properti berkas."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3463,12 +3701,12 @@ msgstr ""
"katalog pesan memiliki bentuk terjemahan plural, tetapi format keluaran "
"tidak mendukungnya."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "tidak dapat membuat berkas output \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard keluaran"
@@ -3487,38 +3725,39 @@ msgstr "kompilasi dari kelas C# gagal, mohon coba --verbose"
msgid "compilation of C# class failed"
msgstr "kompilasi dari kelas C# gagal"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error ketika membuka \"%s\" untuk ditulis"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "bukan sebuah nama kelas Java yang valid: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr "kompilasi dari kelas Java gagal, mohon coba --verbose atau set $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "kompilasi dari kelas Java gagal, mohon coba set $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error ketika membuka \"%s\" untuk ditulis"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "urutan multibyte tidak valid"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "Pesan internasionalisasi tidak boleh mengandung escape sequence `\\%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3532,7 +3771,7 @@ msgstr ""
"berbeda dengan anda. Pertimbangkan menggunakan sebuah msgctxt ASCII murni.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3546,7 +3785,7 @@ msgstr ""
"berbeda dengan anda. Pertimbangkan menggunakan sebuah msgid ASCII murni.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3554,7 +3793,7 @@ msgstr ""
"katalog pesan memiliki bentuk terjemahan plural\n"
"tetapi format pesan katalog Qt tidak mendukung penanganan plural\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3565,7 +3804,7 @@ msgstr ""
"tetapi format pesan katalog Qt hanya mendukung Unicode dalam string\n"
"terjemahan, bukan dalam konteks string\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3575,12 +3814,12 @@ msgstr ""
"tetapi format pesan katalog Qt hanya mendukung Unicode dalam string\n"
"terjemahan, bukan dalam string belum diterjemahkan\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "error ketika menulis ke subproses %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3588,7 +3827,7 @@ msgstr ""
"katalog pesan memiliki konteks tergantung terjemahan\n"
"tetapi format .resources C# tidak mendukung konteks\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3596,7 +3835,7 @@ msgstr ""
"katalog pesan memiliki bentuk terjemahan plural\n"
"tetapi format .resources C# tidak mendukung penanganan plural\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3604,7 +3843,7 @@ msgstr ""
"katalog pesan memiliki konteks tergantung terjemahan\n"
"tetapi format pesan katalog Tcl tidak mendukung konteks\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3612,36 +3851,36 @@ msgstr ""
"katalog pesan memiliki bentuk terjemahan plural\n"
"tetapi format katalog pesan Tcl tidak mendukung penanganan plural\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: peringatan: string tidak terselesaikan"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: peringatan: ekspresi biasa tidak terselesaikan"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: peringatan: karakter Unicode tidak valid"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: peringatan: karakter konstan yang unterminated"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: peringatan: string literal yang unterminated"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Mohon spesifikasikan sumber pengkodean melalui --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3650,7 +3889,7 @@ msgstr ""
"%s:%d: urutan multibyte tidak valid.\n"
"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3659,7 +3898,7 @@ msgstr ""
"%s:%d: Urutan panjang multibyte tidak lengkap.\n"
"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3668,7 +3907,7 @@ msgstr ""
"%s:%d: Urutan multibyte tidak lengkap diakhir dari berkas.\n"
"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3677,12 +3916,12 @@ msgstr ""
"%s:%d: Urutan multibyte tidak lengkap diakhir dari baris.\n"
"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv gagal"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3691,290 +3930,74 @@ msgstr ""
"%s:%d: Urutan multibyte tidak valid.\n"
"Mohon spesifikasikan sumber pengkodean melalui --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: peringatan: karakter Unicode tidak valid"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: peringatan: konstanta string tidak terselesaikan"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: peringatan: ')' ditemukan dimana '}' diduga"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: peringatan: '}' ditemukan dimana ')' diduga"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
+#: src/xgettext.c:579
#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Bahasa \"glade\" tidak didukung. %s tergantung di expat.\n"
-"Versi ini dibuat tanpa expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: peringatan: surrogate U+%04X sendiri"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Mohon spesifikasikan sumber pengkodean melalui --from-code."
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: urutan multibyte tidak valid.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Urutan panjang multibyte tidak lengkap.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Urutan multibyte tidak lengkap diakhir dari berkas.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Urutan multibyte tidak lengkap diakhir dari baris.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: Urutan multibyte tidak valid.\n"
-"Mohon spesifikasikan sumber pengkodean melalui --from-code.\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: peringatan: string literal yang unterminated"
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: peringatan: karakter Unicode tidak valid"
-
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: peringatan: string tidak terselesaikan"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: tidak dapat menemukan pengakhir string \"%s\" dimanapun sebelum EOF"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: hilan kurung kanan di \\x{ANGKA HEKSA}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolasi tidak valid (\"\\l\") dari karakter 8bit \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolasi tidak valid (\"\\u\") dari karakter 8bit \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: variabel interpolasi tidak valid di \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolasi tidak valid (\"\\L\") dari karakter 8bit \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolasi tidak valid (\"\\U\") dari karakter 8bit \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Mohon spesifikasikan sumber pengkodean melalui --from-code atau melalui "
-"sebuah komentar\n"
-"seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Urutan multibyte tidak valid.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
-"melalui sebuah\n"
-"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
-"html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "bahasa `%s' tidak dikenal"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: Urutan panjang multibyte tidak lengkap.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
-"melalui sebuah\n"
-"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
-"html.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Urutan multibyte tidak lengkap diakhir dari berkas.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
-"melalui sebuah\n"
-"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
-"html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-existing tidak dapat digunakan ketika output ditulis ke stdout"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Urutan multibyte tidak lengkap di akhir dari baris.\n"
-"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
-"melalui sebuah\n"
-"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
-"html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext tidak dapat bekerja tanpa kata kunci untuk dicari"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Urutan multibyte tidak valid.\n"
-"Mohon spesifikasikan sumber pengkodean melalui --from-code atau melalui "
-"sebuah komentar\n"
-"seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Pengkodean \"%s\" tidak dikenal. Lebih baik melanjutkan dengan ASCII."
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: definisi string tidak valid"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: hilang angka setelah #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ekspresi string tidak valid"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: peringatan: sintaks $\"...\" telah ditinggalkan karena alasan "
-"keamanan; lebih baik gunakan eval_gettext"
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: peringatan: string literal yang unterminated"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-existing tidak dapat digunakan ketika output ditulis ke stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext tidak dapat bekerja tanpa kata kunci untuk dicari"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "peringatan: berkas `%s' ekstensi `%s' tidak dikenal; akan mencoba C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
"Ekstrak string yang dapat diterjemahkan dari masukan berkas yang diberikan.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3983,14 +4006,14 @@ msgstr ""
" -d, --default-domain=NAMA gunakan NAMA.po untuk keluaran (daripada "
"messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=BERKAS tulis keluaran ke berkas yang "
"dispesifikasikan\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -3998,12 +4021,12 @@ msgstr ""
" -p, --output-dir=DIR keluarkan berkas akan ditempatkan dalam "
"direktori DIR\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Pilihan dari masukan bahasa berkas:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, fuzzy, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4023,12 +4046,12 @@ msgstr ""
"PHP,\n"
" GCC-source, NXStringTable, RST, Glade)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ kependekan untuk --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4036,7 +4059,7 @@ msgid ""
msgstr ""
"Secara baku bahasa ditebak tergantung dari ekstensi masukan nama berkas.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4045,24 +4068,24 @@ msgstr ""
" --from-code=NAMA pengkodean dari berkas masukan\n"
" (kecuali untuk Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Secara baku berkas masukan diasumsikan berada dalam ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing gabungkan pesan dengan berkas yang sudah ada\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=BERKAS.po masukan dari BERKAS.po tidak diekstraksi\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4079,17 +4102,33 @@ msgstr ""
"kata kunci\n"
" dalam berkas keluaran\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Pilihan spesifik untuk bahasa:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all ekstrak seluruh string\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4103,7 +4142,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4117,7 +4156,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4127,7 +4166,7 @@ msgstr ""
" --flag=WORD:ARG:FLAG simbol tambahan untuk string didalam argumen\n"
" nomor ARG dari kata kunci KATA\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4141,56 +4180,68 @@ msgstr ""
"Java,\n"
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs pahami ANSI C trigraphs untuk masukan\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (hanya bahasa C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt kenali format string Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (hanya bahasa C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde kenali format string KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost kenali format string Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug lebih detil hasil pengenalan format string\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output tulis keluar sebuah berkas .properties Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=BERKAS dapatkan daftar dari berkas masukan dari "
+"BERKAS\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent gaya keluaran terindentasi\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=STRING set pemegang hak cipta dalam keluaran\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4198,17 +4249,17 @@ msgstr ""
" --foreign-user abaikan FSF hak cipta dalam keluaran untuk "
"pengguna luar negri\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAKET set nama paket dalam keluaran\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSI set versi paket dalam keluaran\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4216,7 +4267,7 @@ msgstr ""
" --msgid-bugs-address=EMAIL@ALAMAT set alamat laporan untuk msgid "
"bugs\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4227,7 +4278,7 @@ msgstr ""
"awalan\n"
" untuk nilai msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4238,7 +4289,7 @@ msgstr ""
"akhiran\n"
" untuk nilai msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4247,31 +4298,31 @@ msgstr ""
"Sebuah argumen --flag tidak memiliki <keyword>:<argnum>:[pass-]<flag> "
"sintaks: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard input"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Karakter bukan-ASCII di %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Komentar bukan-ASCII di atau sebelum %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "String bukan-ASCII di %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: peringatan: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4280,7 +4331,7 @@ msgstr ""
"Walaupun telah digunakan dalam sebuah posisi format string, %s bukan sebuah "
"format string %s valid. Karena: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4289,7 +4340,7 @@ msgstr ""
"Walaupun dideklarasikan seperti itu, %s bukan sebuah format string %s yang "
"valid. Karena: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4304,7 +4355,7 @@ msgstr ""
"bernama,\n"
"dan sebuah pemetaan daripada sebuah tuple untuk argumen.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4314,27 +4365,27 @@ msgstr ""
"gettext(\"\") mengembalikan masukan header dengan\n"
"informasi meta, bukan string kosong.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "spesifikasi argumen ambigu untuk kata kunci '%.*s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "peringatan: hilang konteks untuk kata kunci '%.*s'"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "peringatan: hilang konteks untuk argumen plural dari kata kunci '%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "konteks tidak cocok diantara bentuk singular dan plural"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
#, fuzzy
msgid ""
"The option --msgid-bugs-address was not specified.\n"
@@ -4347,21 +4398,368 @@ msgstr ""
"variabel MSGID_BUGS_ADDRESS disana; jika tidak mohon spesifikasikan\n"
"sebuah pilihan baris perintah --msgid-bugs-address.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "bahasa `%s' tidak dikenal"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: peringatan: surrogate U+%04X sendiri"
+
+#: src/x-javascript.c:231
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Mohon spesifikasikan sumber pengkodean melalui --from-code."
+
+#: src/x-javascript.c:276
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: urutan multibyte tidak valid.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
+
+#: src/x-javascript.c:292
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Urutan panjang multibyte tidak lengkap.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
+
+#: src/x-javascript.c:304
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak lengkap diakhir dari berkas.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
+
+#: src/x-javascript.c:313
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak lengkap diakhir dari baris.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code.\n"
+
+#: src/x-javascript.c:345
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak valid.\n"
+"Mohon spesifikasikan sumber pengkodean melalui --from-code.\n"
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: peringatan: string literal yang unterminated"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: peringatan: karakter Unicode tidak valid"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: peringatan: string tidak terselesaikan"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: tidak dapat menemukan pengakhir string \"%s\" dimanapun sebelum EOF"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: hilan kurung kanan di \\x{ANGKA HEKSA}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolasi tidak valid (\"\\l\") dari karakter 8bit \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolasi tidak valid (\"\\u\") dari karakter 8bit \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: variabel interpolasi tidak valid di \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolasi tidak valid (\"\\L\") dari karakter 8bit \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolasi tidak valid (\"\\U\") dari karakter 8bit \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Mohon spesifikasikan sumber pengkodean melalui --from-code atau melalui "
+"sebuah komentar\n"
+"seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak valid.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
+"melalui sebuah\n"
+"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
+"html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Urutan panjang multibyte tidak lengkap.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
+"melalui sebuah\n"
+"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
+"html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak lengkap diakhir dari berkas.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
+"melalui sebuah\n"
+"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
+"html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak lengkap di akhir dari baris.\n"
+"Mohon spesifikasikan sumber pengkodean yang benar melalui --from-code atau "
+"melalui sebuah\n"
+"komentar seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263."
+"html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Urutan multibyte tidak valid.\n"
+"Mohon spesifikasikan sumber pengkodean melalui --from-code atau melalui "
+"sebuah komentar\n"
+"seperti dispesifikasikan dalam http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Pengkodean \"%s\" tidak dikenal. Lebih baik melanjutkan dengan ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: definisi string tidak valid"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: hilang angka setelah #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ekspresi string tidak valid"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: peringatan: sintaks $\"...\" telah ditinggalkan karena alasan "
+"keamanan; lebih baik gunakan eval_gettext"
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: peringatan: string literal yang unterminated"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<tidak bernama>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "urutan kontrol tidak valid"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "bukan sebuah nama kelas Java yang valid: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "bukan sebuah nama kelas Java yang valid: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "urutan kontrol tidak valid"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "endianness tidak valid: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "argumen %s tidak valid untuk %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "hilang nama penyaring"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "header field `%s' should start at beginning of line\n"
#~ msgstr "header field `%s' seharusnya dimulai di awal baris\n"
#~ msgid "some header fields still have the initial default value\n"
#~ msgstr "beberapa field header masih memiliki nilai baku awal\n"
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Bahasa \"glade\" tidak didukung. %s tergantung di expat.\n"
+#~ "Versi ini dibuat tanpa expat.\n"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: pilihan tidak legal -- %c\n"
diff --git a/gettext-tools/po/it.gmo b/gettext-tools/po/it.gmo
index 618a85b..eed4658 100644
--- a/gettext-tools/po/it.gmo
+++ b/gettext-tools/po/it.gmo
Binary files differ
diff --git a/gettext-tools/po/it.po b/gettext-tools/po/it.po
index ee2dd34..ad83725 100644
--- a/gettext-tools/po/it.po
+++ b/gettext-tools/po/it.po
@@ -1,15 +1,15 @@
# Italian messages for gettext-tools.
# Copyright (C) 1997, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2007, 2010, 2013.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2007, 2010, 2013, 2015.
# Giovanni Bortolozzo <borto@pluto.linux.it>, 1997.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.18.3\n"
+"Project-Id-Version: gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2013-07-01 12:47+0100\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-08-05 15:28+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
@@ -57,40 +57,40 @@ msgstr "impossibile rimuovere la directory temporanea \"%s\""
msgid "write error"
msgstr "errore di scrittura"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "permessi mantenuti per %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "errore durante l'apertura di \"%s\" in lettura"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "impossibile aprire il file di backup \"%s\" in scrittura"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "errore durante la lettura di \"%s\""
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "errore durante la scrittura di \"%s\""
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "errore dopo la lettura di \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() non riuscito"
@@ -116,58 +116,63 @@ msgstr "Errore di sistema sconosciuto"
msgid "%s subprocess failed"
msgstr "sottoprocesso %s non riuscito"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: l'opzione \"%s\" è ambigua; scelte:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: l'opzione \"%s\" è ambigua\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"--%s\" non accetta argomenti\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"%c%s\" non accetta argomenti\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opzione \"--%s\" non riconosciuta\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opzione non valida -- \"%c\"\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"-W %s\" non accetta argomenti\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
@@ -183,15 +188,16 @@ msgstr "argomento source_version di compile_java_class non valido"
msgid "invalid target_version argument to compile_java_class"
msgstr "argomento target_version di compile_java_class non valido"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "creazione di \"%s\" non riuscita"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "errore durante la scrittura del file \"%s\""
@@ -209,15 +215,15 @@ msgstr ""
"Macchina virtuale Java non trovata, provare a installare gij o a impostare "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "errore di I/O nel sottoprocesso %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memoria esaurita"
@@ -228,7 +234,7 @@ msgid "creation of threads failed"
msgstr "creazione di thread non riuscita"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "scrittura sul sottoprocesso %s non riuscita"
@@ -274,11 +280,11 @@ msgstr "sottoprocesso %s terminato con codice d'uscita %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "\""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "\""
@@ -314,24 +320,159 @@ msgstr "sottoprocesso %s"
msgid "%s subprocess got fatal signal %d"
msgstr "il sottoprocesso %s ha ricevuto il segnale fatale %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "errore durante l'apertura di \"%s\" in lettura"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "L'elemento radice <%s> non è ammesso in un file di Glade valido"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"\"%s\" non è una stringa di formato %s valida, diversamente da \"%s\". "
-"Motivo: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Usare \"%s --help\" per maggiori informazioni.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Uso: %s [OPZIONE] [FILE]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"Similmente per gli argomenti opzionali.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help mostra questo aiuto ed esce\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help mostra questo aiuto ed esce\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version mostra le informazioni sulla versione ed esce\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Segnalare i bug a <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Licenza GPLv3+: GNU GPL versione 3 o superiore <http://gnu.org/licenses/gpl.html>\n"
+"\n"
+"Questo è software libero: siete liberi di cambiarlo e redistribuirlo.\n"
+"NON c'è alcuna garanzia, fino agli estremi permessi dalla legge.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Scritto da %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s esiste ma non può essere letto"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "impossibile rimuovere la directory temporanea \"%s\""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "errore durante l'apertura di \"%s\" in lettura"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -339,32 +480,40 @@ msgstr ""
"una specifica di formato per l'argomento %u, come in \"%s\", non esiste in "
"\"%s\""
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "una specifica di formato per l'argomento %u non esiste in \"%s\""
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"le specifiche di formato in \"%s\" e \"%s\" per l'argomento %u non "
"corrispondono"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "La direttiva numero %u comincia con \"|\" ma non termina con \"|\"."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"\"%s\" non è una stringa di formato %s valida, diversamente da \"%s\". "
+"Motivo: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -374,45 +523,45 @@ msgstr ""
"di specificazione di formato. I nomi di macro validi sono elencati nella "
"sezione 7.8.1 dell'ISO C 99."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"Nella direttiva numero %u, il termine dopo \"<\" non è seguito da \">\"."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"La stringa fa riferimento all'argomento numero %u ma ignora l'argomento "
"numero %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "il numero di specifiche di formato in \"%s\" e \"%s\" non corrisponde"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"Nella direttiva numero %u, \"{\" non è seguita da un numero di argomento."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Nella direttiva numero %u, \",\" non è seguita da un numero."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"La stringa termina nel mezzo di una direttiva: trovata \"{\" senza la \"}\" "
"corrispondente."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -420,13 +569,13 @@ msgstr ""
"La direttiva numero %u termina con il carattere non valido \"%c\" invece di "
"\"}\"."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"La direttiva numero %u termina con un carattere non valido invece di \"}\"."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -434,7 +583,7 @@ msgstr ""
"La stringa inizia nel mezzo di una direttiva: trovata \"}\" senza la \"{\" "
"corrispondente."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "La stringa contiene una \"}\" solitaria dopo la direttiva numero %u."
@@ -559,7 +708,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"La stringa fa riferimento all'argomento numero %u in modi incompatibili."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -568,12 +717,12 @@ msgstr ""
"Nella direttiva numero %u, la sottostringa \"%s\" non è uno stile di data/"
"ora valido."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Nella direttiva numero %u, \"%s\" non è seguito da una virgola."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -581,7 +730,7 @@ msgstr ""
"Nella direttiva numero %u, la sottostringa \"%s\" non è uno stile di numero "
"valido."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -590,12 +739,12 @@ msgstr ""
"Nella direttiva numero %u, il numero di argomento non è seguito da una "
"virgola e da uno tra \"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Nella direttiva numero %u, una scelta non contiene alcun numero."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -604,7 +753,7 @@ msgstr ""
"Nella direttiva numero %u, una scelta contiene un numero non seguito da \"<"
"\", \"#\" o \"%s\"."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -612,12 +761,12 @@ msgstr ""
"una specifica di formato per l'argomento {%u}, come in \"%s\", non esiste in "
"\"%s\""
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "una specifica di formato per l'argomento {%u}, non esiste in \"%s\""
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -625,7 +774,30 @@ msgstr ""
"le specifiche di formato in \"%s\" e \"%s\" per l'argomento {%u} non "
"corrispondono"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"La stringa fa riferimento all'argomento numero %u ma ignora gli argomenti "
+"numero %u e %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"una specifica di formato per gli argomenti %u e %u non esiste in \"%s\", "
+"solo un argomento può essere ignorato"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "errore durante il parsing: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -635,7 +807,7 @@ msgstr ""
"Nella direttiva numero %u, il parametro %u è di tipo \"%s\", ma è atteso un "
"parametro di tipo \"%s\""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -650,35 +822,35 @@ msgstr[1] ""
"Nella direttiva numero %u, sono stati indicati troppi parametri; previsti %u "
"parametri al massimo."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Nella direttiva numero %u, '%c' non è seguito da una cifra."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Nella direttiva numero %u, l'argomento %d è negativo."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "La stringa termina nel mezzo di una direttiva ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Trovato \"~%c\" senza il corrispondente \"~%c\"."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
"Nella direttiva numero %u, entrambi i modificatori \"@\" e \":\" sono stati "
"indicati."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -687,28 +859,34 @@ msgstr ""
"Nella direttiva numero %u, \"~:[\" non è seguito da due espressioni, "
"separate da \"~;\"."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "Nella direttiva numero %u, \"~;\" è usato in una posizione non valida."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "La stringa fa riferimento a qualche argomento in modi incompatibili."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "le specifiche di formato in \"%s\" e \"%s\" non sono equivalenti"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"le specifiche di formato in \"%s\" non sono un sottoinsieme di quelle in \"%s"
"\""
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "una specifica di formato per l'argomento \"%s\" non esiste in \"%s\""
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -717,14 +895,39 @@ msgstr ""
"Nella direttiva %u, lo specificatore di dimensione è incompatibile con lo "
"specificatore di conversione \"%c\"."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "una specifica di formato per l'argomento \"%s\" non esiste in \"%s\""
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+"Nella direttiva numero %u, \"%c\" non può iniziare il nome di un campo."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"Nella direttiva numero %u, \"%c\" non è seguito da un argomento di getattr."
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+"Nella direttiva numero %u, \"%c\" non può iniziare un parametro di gettitem."
+
+# FIXME: nesting?
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"Nella direttiva numero %u, non è ammesso ulteriore nesting nel formato di "
+"specificazione."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Nella direttiva numero %u, c'è una direttiva di formato non terminata."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -732,14 +935,14 @@ msgstr ""
"La stringa fa riferimento ad argomenti attraverso specificazioni di "
"argomenti sia con nome che senza nome."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"La stringa fa riferimento all'argomento chiamato \"%s\" in modi "
"incompatibili."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -747,7 +950,7 @@ msgstr ""
"le specifiche di formato in \"%s\" prevedono una mappatura, quelle in \"%s\" "
"prevedono una tupla"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -755,7 +958,7 @@ msgstr ""
"le specifiche di formato in \"%s\" prevedono una tupla, quelle in \"%s\" "
"prevedono una mappatura"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -763,7 +966,7 @@ msgstr ""
"una specifica di formato per l'argomento \"%s\", come in \"%s\", non esiste "
"in \"%s\""
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -771,39 +974,7 @@ msgstr ""
"le specifiche di formato in \"%s\" e \"%s\" per l'argomento \"%s\" non "
"corrispondono"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-"Nella direttiva numero %u, \"%c\" non può iniziare il nome di un campo."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"Nella direttiva numero %u, \"%c\" non è seguito da un argomento di getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-"Nella direttiva numero %u, \"%c\" non può iniziare un parametro di gettitem."
-
-# FIXME: nesting?
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"Nella direttiva numero %u, non è ammesso ulteriore nesting nel formato di "
-"specificazione."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Nella direttiva numero %u, c'è una direttiva di formato non terminata."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -812,12 +983,12 @@ msgstr ""
"\"%s\" è una stringa di formato semplice, ma \"%s\" non lo è: contiene una "
"flag 'L' o un argomento numerico a due cifre"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"La stringa fa riferimento a una variabile della shell con un nome non ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -825,7 +996,7 @@ msgstr ""
"La stringa fa riferimento a una variabile della shell con una sintassi {} "
"complessa. Per motivi di sicurezza, questa sintassi non è gestita."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -833,11 +1004,11 @@ msgstr ""
"La stringa fa riferimento a una variabile della shell il cui valore può "
"essere diverso all'interno di una funzione della shell."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "La stringa fa riferimento a una variabile della shell senza nome."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -845,7 +1016,7 @@ msgid ""
msgstr ""
"Nella direttiva numero %u, il carattere \"%c\" non è una cifra tra 1 e 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -853,76 +1024,40 @@ msgid ""
msgstr ""
"Il carattere che termina la direttiva numero %u non è una cifra tra 1 e 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Licenza GPLv3+: GNU GPL versione 3 o superiore <http://gnu.org/licenses/gpl.html>\n"
-"\n"
-"Questo è software libero: siete liberi di cambiarlo e redistribuirlo.\n"
-"NON c'è alcuna garanzia, fino agli estremi permessi dalla legge.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Scritto da %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "troppi argomenti"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Usare \"%s --help\" per maggiori informazioni.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Uso: %s [OPZIONE]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Stampa il nome dell'host.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Formato dell'output:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short nome corto dell'host\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -933,77 +1068,103 @@ msgstr ""
"dominio\n"
" completo e gli alias\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address indirizzi per il nome dell'host\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Output informativo:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help mostra questo aiuto ed esce\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "impossibile ottenere il nome dell'host"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version mostra le informazioni sulla versione ed esce\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "devono essere specificati almeno due file"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Segnalare i bug a <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "impossibile creare la pipe"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "impossibile ottenere il nome dell'host"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "argomento %s non valido per %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "impossibile creare la pipe"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s non esiste"
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "impossibile creare il file di output \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "è permesso al massimo un file di input"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s e %s sono mutuamente esclusive"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Uso: %s [OPZIONE] [FILEINPUT]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1012,10 +1173,10 @@ msgstr ""
"Filtra i messaggi di un catalogo di traduzioni in base ai loro attributi,\n"
"e manipola gli attributi.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1023,23 +1184,23 @@ msgstr ""
"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
"corte.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Posizione del file di input:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " FILEINPUT file PO di input\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1048,31 +1209,32 @@ msgstr ""
"file\n"
" di input\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Se nessun file di input è indicato o è -, viene letto lo standard input.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Posizione del file di output:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FILE scrive l'output sul file specificato\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1081,12 +1243,12 @@ msgstr ""
"I risultati vengono scritti su standard output quando nessun file di output\n"
"è specificato o è -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Selezione dei messaggi:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1095,7 +1257,7 @@ msgstr ""
"messaggi\n"
" non tradotti\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1103,54 +1265,54 @@ msgstr ""
" --untranslated mantiene i messaggi non tradotti, rimuove i\n"
" messaggi tradotti\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy rimuove i messaggi marcati come \"fuzzy\"\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy mantiene i messaggi marcati come \"fuzzy\"\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete rimuove i messaggi #~ obsoleti\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete mantiene i messaggi #~ obsoleti\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipolazione degli attributi:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy rende \"fuzzy\" tutti i messaggi\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy rende non \"fuzzy\" tutti i messaggi\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete rende obsoleti tutti i messaggi\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete rende non obsoleti tutti i messaggi\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1160,7 +1322,7 @@ msgstr ""
"precedenti\n"
" msgid dei messaggi tradotti\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1169,49 +1331,49 @@ msgstr ""
" --clear-previous elimina i \"previous msgid\" da tutti i "
"messaggi\n"
-#: src/msgattrib.c:480
-#, fuzzy, c-format
+#: src/msgattrib.c:481
+#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-" --no-fuzzy rimuove i messaggi marcati come \"fuzzy\"\n"
+" --empty quando rimuove i \"fuzzy\", svuota i msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=FILE.po manipola solo le voci elencate in FILE.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=FILE.po manipola solo le voci non elencate in FILE.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy sinonimo di --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete sinonimo di --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sintassi del file di input:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1219,8 +1381,8 @@ msgstr ""
" -P, --properties-input il file di input usa la sintassi Java ."
"properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1230,17 +1392,17 @@ msgstr ""
"GNUstep\n"
" .strings\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Dettagli di output:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1253,17 +1415,17 @@ msgstr ""
" QUANDO può essere 'always', 'never', 'auto', o "
"'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=FILESTILE specifica il file di stile CSS per --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1271,9 +1433,9 @@ msgstr ""
" -e, --no-escape non usa gli escape del C nell'output "
"(predefinito)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1282,29 +1444,29 @@ msgstr ""
"carattere\n"
" esteso\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po scrive il file PO anche se vuoto\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent scrive il file .po usando lo stile indentato\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location non scrive le righe \"#: nomefile:riga\"\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1313,40 +1475,40 @@ msgstr ""
"\" (predefinito)\n"
"\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict genera un file .po in formato Uniforum strict\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output genera un file Java .properties\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output genera un file NeXTstep/GNUstep .strings\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMERO imposta la larghezza della pagina\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1356,33 +1518,33 @@ msgstr ""
"lunghe\n"
" della larghezza della pagina\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output genera un output ordinato\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file ordina l'output in base alla posizione del "
"file\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "il criterio di selezione specificato è impossibile (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Uso: %s [OPZIONE] [FILEINPUT]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1405,24 +1567,24 @@ msgstr ""
"meno che sia specificata l'opzione --use-first, nel qual caso vengono usati\n"
"solo quelli nel primo file PO.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " FILEINPUT ... file di input\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=FILE legge l'elenco dei file di input da FILE\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Se il file di input è -, viene letto lo standard input.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1431,7 +1593,7 @@ msgstr ""
" -<, --less-than=NUMERO stampa i messaggi with con meno di NUMERO\n"
" definizioni, è predefinito a 1\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1441,7 +1603,7 @@ msgstr ""
"definizioni,\n"
" è predefinito a 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1451,8 +1613,8 @@ msgstr ""
"messaggi\n"
" unici vengono stampati\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1460,8 +1622,8 @@ msgstr ""
" -P, --properties-input i file di input usano la sintassi Java ."
"properties\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1471,12 +1633,12 @@ msgstr ""
"GNUstep\n"
" .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NOME codifica dell'output\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1485,7 +1647,7 @@ msgstr ""
" --use-first usa la prima traduzione disponibile per ogni\n"
" messaggio, non unisce diverse traduzioni\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1493,26 +1655,26 @@ msgstr ""
" --lang=NOMECATALOGO imposta il campo 'Language' nell'intestazione\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "non sono specificati file d'ingresso"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "sono richiesti esattamente 2 file d'ingresso"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Uso: %s [OPZIONE] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1530,23 +1692,23 @@ msgstr ""
"programma. Quando non è possibile trovare una corrispondenza esatta, sono usate\n"
"le corrispondenze approssimative (fuzzy) per produrre diagnostiche migliori.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po traduzioni\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot riferimenti alle fonti\n"
# FIXME
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificatori di operazione:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1555,64 +1717,64 @@ msgstr ""
" -m, --multi-domain applica ref.pot a ciascuno dei domini in def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching non usa le corrispondenze fuzzy\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy considera le voci fuzzy\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated considera le voci non tradotte\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "questo messaggio non è tradotto"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "questo messaggio deve essere controllato dal traduttore"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "questo messaggio è usato ma non definito..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...ma questa definizione è simile"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "questo messaggio è usato ma non è definito in %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "attenzione: questo messaggio non è usato"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "trovato %d errore fatale"
msgstr[1] "trovati %d errori fatali"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "devono essere specificati almeno due file"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1632,7 +1794,7 @@ msgstr ""
"commenti di estrazione saranno conservati, ma solo dal primo file PO che li\n"
"definisce. Le posizioni nei file di tutti i file PO verranno accumulate.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1642,7 +1804,7 @@ msgstr ""
"definizioni,\n"
" è predefinito a 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1650,65 +1812,65 @@ msgstr ""
" --omit-header non scrive l'intestazione con la voce 'msgid "
"\"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Converte un catalogo di traduzioni in una diversa codifica.\n"
# FIXME
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Obiettivo di conversione:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "La codifica predefinita è la codifica della locale corrente.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent stile di output indentato\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location sopprime le righe \"#: nomefile:riga\"\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
-#, fuzzy, c-format
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
+#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-" --add-location preserva le righe \"#: nomefile:riga"
+" -n, --add-location preserva le righe \"#: nomefile:riga"
"\" (predefinito)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict stile di output Uniforum strict\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "non è specificato nessun file d'ingresso"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "è richiesto esattamente un file d'ingresso"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Uso: %s [OPZIONE] FILEINPUT\n"
# FIXME
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1721,22 +1883,22 @@ msgstr ""
"xgettext). Alle voci non tradotte è fornita una traduzione identica\n"
"al msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " FILEINPUT file PO o POT di input\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "nome di comando mancante"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Uso: %s [OPZIONE] COMANDO [OPZIONE-COMANDO]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1751,7 +1913,7 @@ msgstr ""
"diventa l'output di msgexec. Il codice di uscita di msgexec corrisponde al\n"
"massimo codice di uscita in tutte le chiamate.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1760,38 +1922,49 @@ msgstr ""
"Uno speciale comando interno chiamato \"0\" stampa la traduzione, seguita da\n"
"un byte null. L'output di \"msgexec 0\" è valido come input per \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Comandi di input:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline aggiungi una newline alla fine dell'input\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=FILEINPUT file PO di input\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "scrittura su standard output non riuscita"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "nome di filtro mancante"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "deve essere specificato almeno uno script sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Uso: %s [OPZIONE] FILTRO [OPZIONE-FILTRO]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
"Applica un filtro a tutte le traduzioni di un catalogo di traduzioni.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1800,18 +1973,32 @@ msgstr ""
"Un FILTRO può essere qualunque programma che legge una traduzione dallo\n"
"standard input e scrive una traduzione modificata sullo standard output.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Filtri di input e output:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline aggiunge una newline alla fine dell'input e\n"
+" rimuove una newline dalla fine dell'output"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "OPZIONI-FILTRO utili quando FILTRO è \"sed\":\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=SCRIPT aggiunge SCRIPT ai comandi da eseguire\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1822,7 +2009,7 @@ msgstr ""
" da eseguire\n"
# FIXME
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1831,7 +2018,7 @@ msgstr ""
"dei\n"
" modelli\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1839,137 +2026,137 @@ msgstr ""
" --no-escape non usa gli escape del C nell'output "
"(predefinito)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent stile di output indentato\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header non modifica l'intestazione, non la filtra\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "il filtro di output non termina con newline"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "l'argomento di %s deve essere un singolo carattere di punteggiatura"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "endianness non valida: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
-#, fuzzy, c-format
+#: src/msgfmt.c:471
+#, c-format
msgid "no input file should be given if %s and %s are specified"
-msgstr ""
-"Se nessun file di input è indicato o è -, viene letto lo standard input.\n"
+msgstr "nessun file di input va indicato se sono specificati %s e %s"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s richiede una specificazione \"-d directory\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s richiede una specificazione \"-l locale\""
-#: src/msgfmt.c:538
-#, fuzzy, c-format
+#: src/msgfmt.c:571 src/msgfmt.c:599
+#, c-format
msgid "%s requires a \"--template template\" specification"
-msgstr "%s richiede una specificazione \"-l locale\""
+msgstr "%s richiede una specificazione \"--template template\""
-#: src/msgfmt.c:545
-#, fuzzy, c-format
+#: src/msgfmt.c:578 src/msgfmt.c:606
+#, c-format
msgid "%s requires a \"-o file\" specification"
-msgstr "%s richiede una specificazione \"-l locale\""
+msgstr "%s richiede una specificazione \"-o file\""
-#: src/msgfmt.c:551
-#, fuzzy, c-format
+#: src/msgfmt.c:584 src/msgfmt.c:612
+#, c-format
msgid "%s and %s are mutually exclusive in %s"
-msgstr "%s e %s sono mutuamente esclusive"
+msgstr "%s e %s sono mutuamente esclusive in %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s è valido solo con %s o %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s è valido solo con %s, %s o %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "impossibile creare il file di output \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d messaggio tradotto"
msgstr[1] "%d messaggi tradotti"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d traduzione fuzzy"
msgstr[1] ", %d traduzioni fuzzy"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d messaggio non tradotto"
msgstr[1] ", %d messaggi non tradotti"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Uso: %s [OPZIONE] nomefile.po ...\n"
# FIXME
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Genera un catalogo binario di messaggi dalla descrizione di traduzioni "
"testuali.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
-"Similmente per gli argomenti opzionali.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filename.po ... file di input\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Modo di operazione:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1978,7 +2165,7 @@ msgstr ""
" -j, --java modo Java: genera una classe Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1987,12 +2174,12 @@ msgstr ""
" --java2 come --java, e assume Java2 (JDK 1.2 o "
"superiore)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp modo C#: genera un file .NET .dll\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -2001,48 +2188,53 @@ msgstr ""
" --csharp-resources modo risorse C#: genera un file .NET ."
"resources\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl modo Tcl: genera un file tcl/msgcat .msg\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt modo Qt: genera un file Qt .qm\n"
-#: src/msgfmt.c:811
-#, fuzzy, c-format
+#: src/msgfmt.c:955
+#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
+msgstr ""
+
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
msgstr " --qt modo Qt: genera un file Qt .qm\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict abilita il modo Uniforum strict\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Se il file di output è -, l'output viene scritto sullo standard output.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Posizione del file di output in modo Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RISORSA nome della risorsa\n"
# FIXME
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2050,16 +2242,17 @@ msgid ""
msgstr ""
" -l, --locale=LOCALE nome della locale, o lingua o lingua_PAESE\n"
-#: src/msgfmt.c:829
-#, fuzzy, c-format
+#: src/msgfmt.c:975
+#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-" --tcl modo Tcl: l'input è un file tcl/msgcat .msg\n"
+" --source produce un file .java invece di un file ."
+"class\n"
# FIXME
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -2068,7 +2261,7 @@ msgstr ""
"delle\n"
" classi\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2080,12 +2273,12 @@ msgstr ""
"della risorsa, separata da una sottolineatura. L'opzione -d è obbligatoria.\n"
"La classe viene scritta nella directory specificata.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Posizione del file di output in modo C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2095,7 +2288,7 @@ msgstr ""
"dalla\n"
" locale\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2104,18 +2297,18 @@ msgstr ""
"Le opzioni -l e -d sono obbligatorie. Il file .dll viene scritto in una\n"
"sottodirectory della directory indicata, il cui nome dipende dalla locale.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Posizione del file di output in modo Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORY directory base dei cataloghi di messaggi .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2124,23 +2317,22 @@ msgstr ""
"Le opzioni -l e -d sono obbligatorie. Il file .msg viene scritto nella\n"
"directory indicata.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
-msgstr ""
+msgstr " --template=TEMPLATE un file .desktop usato come template\n"
-#: src/msgfmt.c:869
-#, fuzzy, c-format
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
+#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
-msgstr ""
-" -d DIRECTORY directory base dei cataloghi di messaggi .msg\n"
+msgstr " -d DIRECTORY directory base dei file .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2149,20 +2341,38 @@ msgstr ""
" -kPAROLA, --keyword=PAROLA cerca PAROLA come parola chiave aggiuntiva\n"
" -k, --keyword non usa le parole chiave predefinite\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
"input\n"
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
+"Le opzioni -l, -o, e --template sono obbligatorie. Se è specificato -D, i "
+"file\n"
+"di input vengono letti dalla directory invece che dalla riga di comando.\n"
+
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=TEMPLATE un file .desktop usato come template\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretazione del file di input:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2173,14 +2383,14 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format controlla le stringhe di formato dipendenti\n"
" dal linguaggio\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2189,7 +2399,7 @@ msgstr ""
" --check-header verifica l'esistenza e il contenuto\n"
" dell'intestazione\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2199,7 +2409,7 @@ msgstr ""
"dominio\n"
" e l'opzione --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2208,7 +2418,7 @@ msgstr ""
" -C, --check-compatibility controlla che GNU msgfmt si comporti come\n"
" X/Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2218,12 +2428,12 @@ msgstr ""
" --check-accelerators[=CAR] controlla la presenza degli acceleratori\n"
" da tastiera per le voci di menù\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy usa le voci fuzzy nell'output\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2231,7 +2441,7 @@ msgstr ""
" -a, --alignment=NUMERO allinea le stringhe a NUMERO byte\n"
" (predefinito: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2243,100 +2453,99 @@ msgstr ""
" richiesto (big o little, predefinito: dipende\n"
" dall'architettura)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash non include la tabella hash nel file binario\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics stampa statistiche sulle traduzioni\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose aumenta il livello di prolissità\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "attenzione: intestazione del file PO mancante o non valida\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "attenzione: la conversione del set di caratteri non riuscirà\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "attenzione: intestazione fuzzy del file PO\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"attenzione: versioni più vecchie di msgfmt generano un errore in questo "
"caso\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "il nome di dominio \"%s\" non è adatto come nome di file"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"il nome di dominio \"%s\" non è adatto come nome di file: sarà usato\n"
"un prefisso"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "direttiva di dominio \"%s\" ignorata"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "ignorata la voce \"msgstr\" vuota"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ignorata la voce \"msgstr\" fuzzy"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: attenzione: il file sorgente contiene traduzioni fuzzy"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
-msgstr ""
+msgstr "%s non esiste"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
-msgstr ""
+msgstr "%s esiste ma non può essere letto"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "errore durante la lettura di \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2345,7 +2554,7 @@ msgstr ""
"l'opzione \"%c\" non può essere usata prima di aver specificato \"J\", \"K"
"\", \"T\", \"C\" o \"X\"."
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2354,7 +2563,7 @@ msgstr ""
"Estrae tutti i messaggi di un catalogo di traduzioni che corrispondono a un\n"
"modello indicato o appartengono a qualche file sorgente specificato.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2430,7 +2639,7 @@ msgstr ""
" -v, --invert-match emette solo i messaggi che non corrispondono ad\n"
" alcun criterio di selezione\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2439,13 +2648,13 @@ msgstr ""
"carattere\n"
" esteso\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output genera un output ordinato\n"
# FIXME
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2552,15 +2761,15 @@ msgstr ""
"Nessun file .pot trovato nella directory corrente.\n"
"Specificare il file .pot di input con l'opzione --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "sottoprocesso %s non riuscito con codice d'uscita %d"
# FIXME
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2577,23 +2786,23 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Traduzioni italiane per il pacchetto %s."
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
"il set di caratteri corrente \"%s\" non è un nome di codifica portabile"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "due diversi set di caratteri \"%s\" e \"%s\" nel file di input"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2601,7 +2810,7 @@ msgstr ""
"l'intestazione del file di input \"%s\" non contiene una specificazione del "
"set di caratteri"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2610,20 +2819,20 @@ msgstr ""
"il dominio \"%s\" nel file di input \"%s\" non contiene un'intestazione con "
"una specificazione del set di caratteri"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"il set di caratteri obiettivo \"%s\" non è un nome di codifica portabile"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "attenzione: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2632,7 +2841,7 @@ msgstr ""
"I file di input contengono messaggi in diverse codifiche, tra cui UTF-8.\n"
"L'output viene convertito in UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2644,7 +2853,7 @@ msgstr ""
"L'output viene convertito in UTF-8.\n"
"Per scegliere una diversa codifica dell'output, usare l'opzione --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2657,7 +2866,7 @@ msgstr ""
"Cambiare tutti i msgid e msgctxt in ASCII puro oppure assicurarsi che sono\n"
"in codifica UTF-8 già nei file sorgenti.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2670,12 +2879,12 @@ msgstr ""
"L'output di \"%s\" potrebbe essere incorretto.\n"
"Possibili soluzioni sono:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Impostare LC_ALL a una locale con codifica %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2686,7 +2895,7 @@ msgstr ""
" applicare \"%s\",\n"
" poi convertire di nuovo in %s con \"msgconv\".\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2699,7 +2908,7 @@ msgstr ""
" applicare \"%s\",\n"
" poi convertire di nuovo in %s con \"msgconv\".\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2711,26 +2920,26 @@ msgstr ""
"L'output di \"%s\" potrebbe essere incorretto.\n"
"Una possibile soluzione è impostare LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "l'espressione plurale può produrre valori negativi"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, ma l'espressione plurale può produrre valori fino a %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "l'espressione plurale può produrre una divisione per zero"
# FIXME
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "l'espressione plurale può produrre un overflow dell'intero"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2738,51 +2947,51 @@ msgstr ""
"l'espressione plurale può produrre una eccezione aritmetica, forse una "
"divisione per zero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Provare ad usare il seguente, valido per %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "il catalogo dei messaggi contiene traduzioni di forme plurali"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "ma l'intestazione non contiene un attributo \"plural=ESPRESSIONE\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "ma l'intestazione non contiene un attributo \"plural=INTERO\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "valore di nplurals non valido"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "espressione plurale non valida"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "ma alcuni messaggi hanno solo una forma plurale"
msgstr[1] "ma alcuni messaggi hanno solo %lu forme plurali"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "ma alcuni messaggi hanno una forma plurale"
msgstr[1] "ma alcuni messaggi hanno %lu forme plurali"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2791,79 +3000,95 @@ msgstr ""
"l'intestazione non contiene \"Plural-Forms: nplurals=INTERO; "
"plural=ESPRESSIONE;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"le voci \"msgid\" e \"msgid_plural\" non cominciano entrambe con \"\\n\""
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "le voci \"msgid\" e \"msgstr[%u]\" non cominciano entrambe con \"\\n\""
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "le voci \"msgid\" e \"msgstr\" non cominciano entrambe con \"\\n\""
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
"le voci \"msgid\" e \"msgid_plural\" non finiscono entrambe con \"\\n\""
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "le voci \"msgid\" e \"msgstr[%u]\" non finiscono entrambe con \"\\n\""
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "le voci \"msgid\" e \"msgstr\" non finiscono entrambe con \"\\n\""
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "la gestione del plurale è un'estensione di GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "in msgstr manca il carattere \"%c\" per l'acceleratore da tastiera"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
"in msgstr ci sono troppi caratteri \"%c\" per l'acceleratore da tastiera"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr ""
"il campo di intestazione \"%s\" è ancora al valore iniziale predefinito\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "campo \"%s\" mancante nell'intestazione\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "punti di sospensione ASCII ('...') invece che Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "usate virgolette doppie ASCII invece che Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "usate virgolette singole invece che Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: input non valido nella codifica \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: errore durante la conversione dalla codifica \"%s\" alla codifica \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"il file di input non contiene un'intestazione con una specificazione del set "
"di caratteri"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2872,7 +3097,7 @@ msgstr ""
"Impossibile convertire da \"%s\" a \"%s\". %s si basa su iconv(), e iconv() "
"non gestisce questa conversione."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2882,8 +3107,8 @@ msgstr ""
"diventano\n"
"uguali."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2892,17 +3117,17 @@ msgstr ""
"Impossibile convertire da \"%s\" a \"%s\". %s si basa su iconv(). Questa "
"versione è stata compilata senza iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s è valido solamente con %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "tipo di backup"
# FIXME UPSTREAM
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2927,19 +3152,19 @@ msgstr ""
"Quando è impossibile trovare una corrispondenza esatta, una corrispondenza\n"
"approssimativa (fuzzy) è usata per ottenere i migliori risultati.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po traduzioni che si riferiscono alle vecchie "
"fonti\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot riferimenti alle nuove fonti\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2949,7 +3174,7 @@ msgstr ""
"messaggi,\n"
" può essere specificata più di una volta\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2958,28 +3183,28 @@ msgstr ""
" -U, --update aggiorna il file def.po,\n"
" non fa niente se def.po è già aggiornato\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Posizione del file di output in modalità di aggiornamento:\n"
# FIXME
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Il risultato è riscritto in def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROLLO fa il backup di def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFFISSO cambia il solito suffisso dei backup\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2998,7 +3223,7 @@ msgstr ""
" existing, nil numerati se esistono backup numerati, altrimenti semplici\n"
" simple, never fa sempre backup semplici\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -3008,7 +3233,7 @@ msgstr ""
"Il suffisso dei backup è \"~\", a meno che sia impostato con --suffix o la\n"
"variabile d'ambiente SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -3016,22 +3241,22 @@ msgstr ""
" --previous mantiene i precedenti msgid dei messaggi "
"tradotti\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent sopprime gli indicatori di avanzamento\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "questo messaggio dovrebbe definire forme plurali"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "questo messaggio non dovrebbe definire forme plurali"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3040,29 +3265,29 @@ msgstr ""
"%sLetti %ld vecchi + %ld riferimenti, fusi %ld, fuzzy %ld, persi %ld, "
"obsoleti %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " fatto.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s e i nomi di file espliciti sono mutuamente esclusivi"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Uso: %s [OPZIONE] [FILE]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Converte un catalogo binario di messaggi in un file .po in stile Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3072,12 +3297,12 @@ msgstr ""
"ResourceBundle\n"
" di Java\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp modo C#: l'input è un file .NET .dll\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3086,24 +3311,24 @@ msgstr ""
" --csharp-resources modo risorse C#: l'input è un file .NET ."
"resources\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl modo Tcl: l'input è un file tcl/msgcat .msg\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FILE ... file .mo di input\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Posizione del file di input in modo Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3114,12 +3339,12 @@ msgstr ""
"della risorsa, separata da una sottolineatura. La classe viene localizzata\n"
"con CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Posizione del file di input in modo C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3128,12 +3353,12 @@ msgstr ""
"Le opzioni -l e -d sono obbligatorie. Il file .dll si trova in una\n"
"sottodirectory della directory indicata, il cui nome dipende dalla locale.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Posizione del file di input in modo Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3142,18 +3367,18 @@ msgstr ""
"Le opzioni -l e -d sono obbligatorie. Il file .msg si trova della directory\n"
"indicata.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent scrive con stile di output indentato\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict scrive in stile Uniforum strict\n"
# FIXME UPSTREAM
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3176,12 +3401,12 @@ msgstr ""
"traduzione. Le posizioni dei file vengono accumulate. Quando si usa l'opzione\n"
"--unique, i duplicati vengono scartati.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated stampa solo i duplicati\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3190,7 +3415,7 @@ msgstr ""
" -u, --unique stampa solo i messaggi unici, scarta i "
"duplicati\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<standard input>"
@@ -3249,32 +3474,32 @@ msgstr ""
"La conversione del messaggio nel set di caratteri dell'utente non "
"funzionerà.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "uso improprio di #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "manca la sezione \"msgstr[]\""
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "manca la sezione \"msgid_plural\""
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "manca la sezione \"msgstr\""
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "la prima forma plurale ha indice diverso da zero"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "la forma plurale ha indice non corretto"
@@ -3284,7 +3509,7 @@ msgstr "la forma plurale ha indice non corretto"
msgid "too many errors, aborting"
msgstr "troppi errori, interrotto"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "sequenza multibyte non valida"
@@ -3328,64 +3553,83 @@ msgstr "end-of-line all'interno di una stringa"
msgid "context separator <EOT> within string"
msgstr "separatore di contesto <EOT> all'interno di una stringa"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "questo file potrebbe non contenere direttive di dominio"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "definizione del messaggio duplicata"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "questa è la posizione della prima definizione"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "attenzione: carattere Unicode non valido"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "nome di filtro mancante"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "valore di nplurals non valido"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "il file \"%s\" è troncato"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "il file \"%s\" contiene una stringa non terminata da NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "il file \"%s\" non è nel formato GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "il file \"%s\" contiene una stringa non terminata da NUL, in %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "attenzione: sintassi \\uxxxx non valida per un carattere Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "attenzione: stringa non terminata"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "attenzione: errore di sintassi"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "attenzione: coppia chiave/valore non terminata"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "attenzione: errore di sintassi, atteso \";\" dopo la stringa"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "attenzione: errore di sintassi, atteso \"=\" o \";\" dopo la stringa"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Scritto da %s e %s.\n"
@@ -3395,44 +3639,44 @@ msgstr "Scritto da %s e %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Ricodifica testo serbo dall'alfabeto cirillico all'alfabeto latino.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr "Il testo di input è letto dallo standard input. Il testo convertito è stampato su standard output.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "l'input non è valido in codifica \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"errore durante la conversione dalla codifica \"%s\" alla codifica \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "attesi due argomenti"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Uso: %s [OPZIONE] URL FILE\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3441,37 +3685,37 @@ msgstr ""
"Scarica e mostra i contenuti di un URL. Se non è possibile accedere all'URL,\n"
"viene usato il FILE locale al suo posto.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "errore durante la lettura di \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "errore durante la scrittura su standard output"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "errore dopo la lettura di \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Scaricamento di %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " tempo scaduto.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " non riuscito\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3479,7 +3723,7 @@ msgstr ""
"Impossibile scrivere più domini di traduzione in un singolo file con il "
"formato di output indicato. Usare la sintassi del file PO invece."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3487,7 +3731,7 @@ msgstr ""
"Impossibile scrivere più domini di traduzione in un singolo file con il "
"formato di output indicato."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3495,7 +3739,7 @@ msgstr ""
"il catalogo dei messaggi contiene traduzioni dipendenti dal contesto, ma il "
"formato di output non le gestisce."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3506,7 +3750,7 @@ msgstr ""
"di output non le gestisce. Provare a generare una classe Java usando\n"
"\"msgfmt --java\", invece di usare un file di proprietà."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3515,12 +3759,12 @@ msgstr ""
"formato\n"
"di output non le gestisce."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "impossibile creare il file di output \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard output"
@@ -3539,35 +3783,35 @@ msgstr "compilazione della classe C# non riuscita, provare --verbose"
msgid "compilation of C# class failed"
msgstr "compilazione della classe C# non riuscita"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "errore durante l'apertura di \"%s\" in scrittura"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "nome di classe Java non valido: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"compilazione della classe Java non riuscita, provare --verbose o impostare "
"$JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"compilazione della classe Java non riuscita, provare a impostare $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "errore durante l'apertura di \"%s\" in scrittura"
-
-#: src/write-po.c:821
-#, fuzzy
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
-msgstr "sequenza multibyte non valida"
+msgstr "sequenza multibyte incompleta"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3575,7 +3819,7 @@ msgstr ""
"i messaggi internazionalizzati non devono contenere la sequenza di escape "
"\"\\%c\""
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3588,7 +3832,7 @@ msgstr ""
"diversa dalla propria. Considerare l'uso di un msgctxt in puro ASCII.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3601,7 +3845,7 @@ msgstr ""
"diversa dalla propria. Considerare l'uso di un msgid in puro ASCII.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3610,7 +3854,7 @@ msgstr ""
"formato\n"
"dei cataloghi Qt non le gestisce.\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3623,7 +3867,7 @@ msgstr ""
"tradotte,\n"
"non nelle stringhe di contesto\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3635,12 +3879,12 @@ msgstr ""
"tradotte,\n"
"non in quelle originali\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "errore durante la scrittura sul sottoprocesso %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3648,7 +3892,7 @@ msgstr ""
"il catalogo dei messaggi contiene traduzioni dipendenti dal contesto,\n"
"ma il formato delle risorse C# non le gestisce.\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3657,7 +3901,7 @@ msgstr ""
"formato\n"
"delle risorse C# non le gestisce.\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3665,7 +3909,7 @@ msgstr ""
"il catalogo dei messaggi contiene traduzioni dipendenti dal contesto,\n"
"ma il formato dei cataloghi Tcl non le gestisce.\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3674,36 +3918,36 @@ msgstr ""
"formato\n"
"dei cataloghi Tcl non le gestisce.\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: attenzione: stringa non terminata"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: attenzione: espressione regolare non terminata"
-#: src/x-c.c:1052
-#, fuzzy, c-format
+#: src/x-c.c:1161
+#, c-format
msgid "warning: invalid Unicode character"
-msgstr "%s:%d: attenzione: carattere Unicode non valido"
+msgstr "attenzione: carattere Unicode non valido"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: attenzione: costante carattere non terminata"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: attenzione: costante stringa non terminata"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Specificare la codifica del sorgente usando --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3712,7 +3956,7 @@ msgstr ""
"%s:%d: sequenza multibyte non valida.\n"
"Indicare la corretta codifica del sorgente usando --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3721,7 +3965,7 @@ msgstr ""
"%s:%d: sequenza multibyte lunga incompleta.\n"
"Indicare la corretta codifica del sorgente usando --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3730,7 +3974,7 @@ msgstr ""
"%s:%d: sequenza multibyte incompleta alla fine del file.\n"
"Indicare la corretta codifica del sorgente usando --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3739,12 +3983,12 @@ msgstr ""
"%s:%d: sequenza multibyte incompleta alla fine della riga.\n"
"Indicare la corretta codifica del sorgente usando --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv non riuscita"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3753,286 +3997,76 @@ msgstr ""
"%s:%d: sequenza multibyte non valida.\n"
"Indicare la codifica del sorgente usando --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: attenzione: carattere Unicode non valido"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: attenzione: costante stringa non terminata"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: attenzione: trovata \")\" dove era prevista \"}\""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: attenzione: trovata \"}\" dove era prevista \")\""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Contesto mancante per la stringa estratta dall'elemento \"%s\""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "L'elemento radice <%s> non è ammesso in un file di Glade valido"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Il linguaggio \"glade\" non è gestito. %s si basa su expat.\n"
-"Questa versione è stata compilata senza expat.\n"
-
-# FIXME
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: attenzione: lone surrogate U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Specificare la codifica del sorgente usando --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: sequenza multibyte non valida.\n"
-"Indicare la corretta codifica del sorgente usando --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: sequenza multibyte lunga incompleta.\n"
-"Indicare la corretta codifica del sorgente usando --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: sequenza multibyte incompleta alla fine del file.\n"
-"Indicare la corretta codifica del sorgente usando --from-code\n"
-
-#: src/x-javascript.c:312
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: sequenza multibyte incompleta alla fine della riga.\n"
-"Indicare la corretta codifica del sorgente usando --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: sequenza multibyte non valida.\n"
-"Indicare la codifica del sorgente usando --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: attenzione: costante RegExp terminata troppo presto"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: attenzione: carattere Unicode non valido"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: attenzione: stringa non terminata"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: impossibile trovare il terminatore di stringa \"%s\" prima di EOF"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: \"}\" mancante in \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazione non valida (\"\\l\") del carattere a 8bit \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazione non valida (\"\\u\") del carattere a 8bit \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: interpolazione variabile non valida in \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazione non valida (\"\\L\") del carattere a 8bit \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "\"%s\" non è un nome di codifica valido. Verrà usato ASCII.\n"
-#: src/x-perl.c:1247
+#: src/xgettext.c:648
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolazione non valida (\"\\U\") del carattere a 8bit \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
msgstr ""
-"Indicare la codifica del sorgente usando --from-code o con un commento\n"
-"come specificato in http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:324
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: sequenza multibyte non valida.\n"
-"Indicare la corretta codifica del sorgente usando --from-code o con un "
-"commento\n"
-"come specificato in http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:341
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: sequenza multibyte lunga incompleta.\n"
-"Indicare la corretta codifica del sorgente usando --from-code o con un "
-"commento\n"
-"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+"--join-existing non può essere usato quando l'output è scritto su standard "
+"output"
-#: src/x-python.c:354
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: sequenza multibyte incompleta alla fine del file.\n"
-"Indicare la corretta codifica del sorgente usando --from-code o con un "
-"commento\n"
-"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext non può operare senza parole chiavi da ricercare"
-#: src/x-python.c:364
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: sequenza multibyte incompleta alla fine della riga.\n"
-"Indicare la corretta codifica del sorgente usando --from-code o con un "
-"commento\n"
-"come specificato in http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:397
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%d: sequenza multibyte non valida.\n"
-"Indicare la codifica del sorgente usando --from-code o con un commento\n"
-"come specificato in http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Codifica \"%s\" sconosciuta. Si continua con ASCII."
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: definizione stringa non valida"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: numero mancante dopo #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: espressione stringa non valida"
-
-#: src/x-sh.c:1075
-#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: attenzione: la sintassi $\"...\" è deprecata per motivi di "
-"sicurezza; usare eval_gettext al suo posto"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: attenzione: espressione regolare terminata troppo presto"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing non può essere usato quando l'output è scritto su standard "
-"output"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext non può operare senza parole chiavi da ricercare"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"attenzione: il file \"%s\" ha estensione \"%s\" sconosciuta: si prova con C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Estrae le stringhe traducibili dai file di input indicati.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4041,12 +4075,12 @@ msgstr ""
" -d, --default-domain=NOME usa NOME.po per l'output (invece di messages."
"po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FILE scrive l'output sul file indicato\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -4054,13 +4088,13 @@ msgstr ""
" -p, --output-dir=DIR i file di output saranno posizionati nella\n"
" directory DIR\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Scelta del linguaggio del file di input:\n"
-#: src/xgettext.c:893
-#, fuzzy, c-format
+#: src/xgettext.c:1086
+#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
" (C, C++, ObjectiveC, PO, Shell, Python, "
@@ -4078,14 +4112,14 @@ msgstr ""
" JavaProperties, C#, awk, YCP, Tcl, Perl, "
"PHP,\n"
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
-" JavaScript, Vala)\n"
+" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ abbreviazione di --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4094,7 +4128,7 @@ msgstr ""
"Come impostazione predefinita, la scelta del linguaggio si basa "
"sull'estensione del file di input.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4103,23 +4137,23 @@ msgstr ""
" --from-code=NOME codifica dei file di input\n"
" (ad eccezione di Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Come impostazione predefinita, i file di input si considerano ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing unisce i messaggi con il file esistente\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FILE.po non estrae le voci in FILE.po\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4137,17 +4171,33 @@ msgstr ""
" le righe di parole chiave nel file di "
"output\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Opzioni di linguaggio specifiche:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all estrae tutte le stringhe\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4162,8 +4212,8 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
-#, fuzzy, c-format
+#: src/xgettext.c:1138
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -4175,9 +4225,9 @@ msgstr ""
" Python, Lisp, EmacsLisp, librep, Scheme, "
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
-" Lua, JavaScript, Vala)\n"
+" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4188,7 +4238,7 @@ msgstr ""
"nell'argomento\n"
" numero ARG della parola chiave PAROLA\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4203,37 +4253,37 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs riconosce i trigrammi ANSI C in input\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (solo linguaggi C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt riconosce le stringhe di formato Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (solo linguaggio C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde riconosce le stringhe di formato KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost riconosce le stringhe di formato Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4242,12 +4292,23 @@ msgstr ""
"del\n"
" riconoscimento della stringa di formato\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output scrive un file .properties Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=FILE legge l'elenco dei file di input da FILE\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent stile di output indentato\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
@@ -4255,7 +4316,7 @@ msgstr ""
"output\n"
# FIXME UPSTREAM
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4263,20 +4324,20 @@ msgstr ""
" --foreign-user omette dall'output il copyright della FSF per\n"
" gli utenti non GNU\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
" --package-name=NOME imposta il nome del pacchetto in output\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=VERSIONE imposta la versione del pacchetto in "
"output\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4285,7 +4346,7 @@ msgstr ""
"segnalare\n"
" errori nelle voci msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4296,7 +4357,7 @@ msgstr ""
"nelle\n"
" voci msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4308,7 +4369,7 @@ msgstr ""
" voci msgstr\n"
# FIXME UPSTREAM
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4317,31 +4378,31 @@ msgstr ""
"Un argomento di --flag non usa la sintassi <parolachiave>:<num-arg>:[pass-]"
"[flag]: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard input"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Carattere non ASCII in %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Commento non ASCII in o prima di %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Stringa non ASCII in %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: attenzione: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4350,7 +4411,7 @@ msgstr ""
"Sebbene usata dove dovrebbe esserci una stringa di formato, %s non è una "
"stringa di formato %s valida. Motivo: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4360,7 +4421,7 @@ msgstr ""
"Motivo: %s\n"
# FIXME
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4374,7 +4435,7 @@ msgstr ""
"Considerare l'uso di una stringa di formato con argomenti con nome,\n"
"e di una mappatura invece di una tupla per gli argomenti.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4384,29 +4445,29 @@ msgstr ""
"gettext(\"\") restituisce l'intestazione con\n"
"le metainformazioni, non la stringa vuota.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "specificazione di argomento ambigua per la parola chiave \"%.*s\""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "attenzione: contesto mancante per la parola chiave \"%.*s\""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"attenzione: contesto mancante per l'argomento plurale della parola chiave "
"\"%.*s\""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "differenza di contesto tra la forma singolare e la forma plurale"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4418,11 +4479,355 @@ msgstr ""
"variabile MSGID_BUGS_ADDRESS; altrimenti specificare \n"
"l'opzione --msgid-bugs-address da riga di comando.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "linguaggio \"%s\" sconosciuto"
+# FIXME
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: attenzione: lone surrogate U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Specificare la codifica del sorgente usando --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: sequenza multibyte non valida.\n"
+"Indicare la corretta codifica del sorgente usando --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: sequenza multibyte lunga incompleta.\n"
+"Indicare la corretta codifica del sorgente usando --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: sequenza multibyte incompleta alla fine del file.\n"
+"Indicare la corretta codifica del sorgente usando --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: sequenza multibyte incompleta alla fine della riga.\n"
+"Indicare la corretta codifica del sorgente usando --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: sequenza multibyte non valida.\n"
+"Indicare la codifica del sorgente usando --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: attenzione: costante RegExp terminata troppo presto"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: attenzione: %s non è permesso"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: attenzione: markup XML non terminato"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: impossibile trovare il terminatore di stringa \"%s\" prima di EOF"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: \"}\" mancante in \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazione non valida (\"\\l\") del carattere a 8bit \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazione non valida (\"\\u\") del carattere a 8bit \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: interpolazione variabile non valida in \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazione non valida (\"\\L\") del carattere a 8bit \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolazione non valida (\"\\U\") del carattere a 8bit \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Indicare la codifica del sorgente usando --from-code o con un commento\n"
+"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: sequenza multibyte non valida.\n"
+"Indicare la corretta codifica del sorgente usando --from-code o con un "
+"commento\n"
+"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: sequenza multibyte lunga incompleta.\n"
+"Indicare la corretta codifica del sorgente usando --from-code o con un "
+"commento\n"
+"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: sequenza multibyte incompleta alla fine del file.\n"
+"Indicare la corretta codifica del sorgente usando --from-code o con un "
+"commento\n"
+"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: sequenza multibyte incompleta alla fine della riga.\n"
+"Indicare la corretta codifica del sorgente usando --from-code o con un "
+"commento\n"
+"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: sequenza multibyte non valida.\n"
+"Indicare la codifica del sorgente usando --from-code o con un commento\n"
+"come specificato in http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Codifica \"%s\" sconosciuta. Si continua con ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: definizione stringa non valida"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: numero mancante dopo #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: espressione stringa non valida"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: attenzione: la sintassi $\"...\" è deprecata per motivi di "
+"sicurezza; usare eval_gettext al suo posto"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: attenzione: espressione regolare terminata troppo presto"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<senza nome>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "sequenza di controllo non valida"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "nome di classe Java non valido: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "nome di classe Java non valido: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "sequenza di controllo non valida"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "endianness non valida: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "argomento %s non valido per %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "nome di filtro mancante"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Contesto mancante per la stringa estratta dall'elemento \"%s\""
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Il linguaggio \"glade\" non è gestito. %s si basa su expat.\n"
+#~ "Questa versione è stata compilata senza expat.\n"
diff --git a/gettext-tools/po/ja.gmo b/gettext-tools/po/ja.gmo
index a5c99a9..c2e9950 100644
--- a/gettext-tools/po/ja.gmo
+++ b/gettext-tools/po/ja.gmo
Binary files differ
diff --git a/gettext-tools/po/ja.po b/gettext-tools/po/ja.po
index 7c834d6..a8335ef 100644
--- a/gettext-tools/po/ja.po
+++ b/gettext-tools/po/ja.po
@@ -1,14 +1,14 @@
# Translation of `gettext-tools' messages to Japanese.
-# Copyright (C) 1999, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Masahito Yamaga <ma@yama-ga.com>, 2014.
+# Masahito Yamaga <ma@yama-ga.com>, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.19.3\n"
+"Project-Id-Version: GNU gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-18 08:13+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 19:15+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
@@ -55,40 +55,40 @@ msgstr "°ì»þ¥Ç¥£¥ì¥¯¥È¥ê %s ¤òºï½ü¤Ç¤­¤Þ¤»¤ó"
msgid "write error"
msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "%s ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¸¢¤ò°Ý»ý"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "%s ¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë %s ¤ò½ñ¤­¹þ¤ßÍѤ˳«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "%s ¤òÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "%s ¤ò½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "%s ¤òÆɤ߹þ¤ó¤À¸å¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() ¼ºÇÔ"
@@ -114,58 +114,63 @@ msgstr "̤ÃΤΥ·¥¹¥Æ¥à¥¨¥é¡¼"
msgid "%s subprocess failed"
msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹¤¬¼ºÇÔ¤·¤Þ¤·¤¿"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤¬Û£Ëæ. »ØÄê²Äǽ¤Ê¤â¤Î:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '%c%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó `--%s' ¤ÏÉÔ²Ä\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '%c%s' ¤ÏÉÔ²Ä\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: °ú¿ô¤¬É¬Íפʥª¥×¥·¥ç¥ó -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
@@ -181,15 +186,16 @@ msgstr "compile_java_class ¤ËÂФ¹¤ë̵¸ú¤Ê source_version °ú¿ô"
msgid "invalid target_version argument to compile_java_class"
msgstr "compile_java_class ¤ËÂФ¹¤ë̵¸ú¤Ê target_version °ú¿ô"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "\"%s\" ¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "\"%s\" ¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
@@ -208,15 +214,15 @@ msgstr ""
"Java ²¾ÁÛ¥Þ¥·¥ó¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó. gij ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤« $JAVA ¤òÀßÄꤷ¤Æ¤¯"
"¤À¤µ¤¤"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹Æþ½ÐÎÏ¥¨¥é¡¼"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·¤¿"
@@ -227,7 +233,7 @@ msgid "creation of threads failed"
msgstr "¥¹¥ì¥Ã¥É¤ÎÀ¸À®¤Ë¼ºÇÔ"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "%s ¤Ø½ñ¤­½Ð¤¹¥µ¥Ö¥×¥í¥»¥¹¤¬¼ºÇÔ¤·¤Þ¤·¤¿"
@@ -273,11 +279,11 @@ msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹¤¬½ªÎ»¥³¡¼¥É %d ¤Ç½ªÎ»"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -313,51 +319,202 @@ msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹"
msgid "%s subprocess got fatal signal %d"
msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹¤¬Ã×̿Ū¤Ê¥·¥°¥Ê¥ë %d ¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "\"%s\" ¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
+msgid "The root element must be <%s>"
+msgstr "¤½¤Î¥ë¡¼¥ÈÍ×ÁÇ¤Ï <%s> ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "'%s' ¤ÏÀµ¤·¤¤ %s ·Á¼°¤Îʸ»úÎó¤Ç¤Ï¤Ê¤¯, '%s' ¤È¤Ï°ã¤¤¤Þ¤¹. Íýͳ: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Í×ÁÇ <%s> ¤Ï <%s> Í×ÁǤò´Þ¤ß¤Þ¤»¤ó"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "Í×ÁÇ <%s> ¤Ï°À­ <%s> ¤ò»ý¤Á¤Þ¤»¤ó"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "¤è¤ê¿¤¯¤Î¾ðÊó¤òÆÀ¤ë¤¿¤á¤Ë¤Ï '%s --help' ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó...] [¥í¥±¡¼¥ë¥ë¡¼¥ë]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"¥æ¥Ë¥³¡¼¥É CLDR Ê£¿ô·Á¥ë¡¼¥ë¤òÃê½Ð¤Þ¤¿¤ÏÊÑ´¹.\n"
+"\n"
+"LOCALE ¤È RULES ¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾ì¹ç, RULES ¤«¤é LOCALE ¤ËÂФ¹¤ë\n"
+"CLDR Ê£¿ô·Á¥ë¡¼¥ë¤òÆɤ߹þ¤ß, gettext ¤¬»È¤¨¤ë¤è¤¦¤Ê·Á¤Çɽ¼¨¤·¤Þ¤¹.\n"
+"°ú¿ô¤¬¤Ê¤¤¾ì¹ç, ɸ½àÆþÎϤ«¤é CLDR Ê£¿ô·Á¥ë¡¼¥ë¤òÆɤ߹þ¤ß¤Þ¤¹.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Ť¤¥ª¥×¥·¥ç¥ó¤Ëɬ¿Ü¤Î°ú¿ô¤Ïû¤¤¥ª¥×¥·¥ç¥ó¤Ë¤âɬ¿Ü¤Ç¤¹.\n"
+"ɬ¿Ü¤Ç¤Ê¤¤°ú¿ô¤âƱ¤¸¤Ç¤¹.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -c, --cldr CLDR ·Á¼°¤ÇÊ£¿ô·Á¥ë¡¼¥ë¤òɽ¼¨\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help ¤³¤Î¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï <bug-gnu-gettext@gnu.org> ¤Þ¤Ç.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+"\n"
+"[»²¹ÍÌõ]\n"
+"¤³¤ì¤Ï¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¤Î¤ÇÊѹ¹¤ÈºÆÇÛÉۤϼ«Í³¤Ç¤¹.\n"
+"¤¿¤À¤·Ë¡Î§¤¬µö¤¹ÈϰϤÇ̵ÊݾڤǤ¹.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "ºî¼Ô %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s ¤ÏÆɤ߹þ¤á¤Þ¤»¤ó"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "%s ¤ËÂФ¹¤ë¥ë¡¼¥ë¤òÃê½Ð¤Ç¤­¤Þ¤»¤ó"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "CLDR ¥ë¡¼¥ë¤ò¥Ñ¡¼¥¹¤Ç¤­¤Þ¤»¤ó"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ";ʬ¤Ê¥ª¥Ú¥é¥ó¥É %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "\"%s\" ¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "°ú¿ô %u ¤ËÂФ¹¤ë·Á¼°¤Î»ØÄ꤬ '%s' ¤Î¤è¤¦¤Ë '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "°ú¿ô %u ¤ËÂФ¹¤ë·Á¼°¤Î»ØÄ꤬ '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "°ú¿ô %3$u ¤ËÂФ¹¤ë '%1$s' ¤È '%2$s' ¤Ç¤Î·Á¼°¤Î»ØÄ꤬Ʊ¤¸¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤¬, | ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¤¬ | ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "'%s' ¤ÏÀµ¤·¤¤ %s ·Á¼°¤Îʸ»úÎó¤Ç¤Ï¤Ê¤¯, '%s' ¤È¤Ï°ã¤¤¤Þ¤¹. Íýͳ: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -366,56 +523,56 @@ msgstr ""
"Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '<' ¤Î¸å¤Î¥È¡¼¥¯¥ó¤Ï¥Õ¥©¡¼¥Þ¥Ã¥Èµ­½Ò»Ò¥Þ¥¯¥í̾¤Ç¤Ï¤¢¤ê¤Þ¤»"
"¤ó. Àµ¤·¤¤¥Þ¥¯¥í̾¤Ï ISO C 99 ¤Î 7.8.1 Àá¤Ë°ìÍ÷¤¬¤¢¤ê¤Þ¤¹."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '<' ¤Î¸å¤Î¥È¡¼¥¯¥ó¤Î¸å¤Ë '>' ¤¬Íè¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr "ʸ»úÎó¤Ï°ú¿ôÈÖ¹æ %u ¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¤¬°ú¿ôÈÖ¹æ %u ¤ò̵»ë¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "'%s' ¤È '%s' ¤Ç»ØÄꤷ¤¿·Á¼°¤Î¿ô¤¬¹ç¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '{' ¤Î¸å¤Ë°ú¿ô¤Î¿ô¤¬Íè¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ',' ¤Î¸å¤Ë¿ô»ú¤¬Íè¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr "ʸ»úÎó¤ÏÌ¿Îá¤ÎÅÓÃæ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤¹: '{' ¤È '}' ¤¬°ìÃפ·¤Æ¤¤¤Þ¤»¤ó."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤¬, '}' ¤ÎÂå¤ï¤ê¤ËÉÔÀµ¤Êʸ»ú '%c' ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤¹."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤¬, '}' ¤ÎÂå¤ï¤ê¤ËÉÔÀµ¤Êʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤¹."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "ʸ»úÎó¤ÏÌ¿Îá¤ÎÅÓÃ椫¤é»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹: '}' ¤È '{' ¤¬°ìÃפ·¤Æ¤¤¤Þ¤»¤ó."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "ʸ»úÎó¤¬Ì¿ÎáÈÖ¹æ %u ¤Î¤¢¤È¤ËÊĤ¸¤Æ¤¤¤Ê¤¤ '}' ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹."
@@ -525,25 +682,25 @@ msgstr "Ì¿ÎáÈÖ¹æ %u ¤Î½ªÃ¼Ê¸»ú¤ÏÀµ¤·¤¤ÊÑ´¹µ­½Ò»Ò¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó."
msgid "The string refers to argument number %u in incompatible ways."
msgstr "ʸ»úÎó¤ÏÈó¸ß´¹¤ÊÊýË¡¤Ç°ú¿ôÈÖ¹æ %u ¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, \"%s\" ¤ÏÀµ¤·¤¤ÆüÉÕ¤ä»þ¹ï¤Î·Á¼°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, \"%s\" ¤Î¸å¤Ë¥«¥ó¥Þ¤¬Íè¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, \"%s\" ¤ÏÀµ¤·¤¤¿ôÃͤηÁ¼°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -552,12 +709,12 @@ msgstr ""
"Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, °ú¿ô¤Î¿ô¤Î¸å¤Ë¥«¥ó¥Þ¤ä \"%s\", \"%s\", \"%s\", \"%s\" ¤ÎÃæ"
"¤Î 1¤Ä¤¬Íè¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ÁªÂò»è¤Ë¿ôÃͤ¬¤¢¤ê¤Þ¤»¤ó."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -566,24 +723,45 @@ msgstr ""
"Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ÁªÂò»è¤Ë¿ôÃͤ¬¤¢¤ê, '<', '#' ¤ä '%s' ¤¬¤½¤Î¸å¤Ë¤¯¤ë¤³¤È¤Ï¤¢"
"¤ê¤Þ¤»¤ó."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "°ú¿ô {%u} ¤ËÂФ¹¤ë·Á¼°¤Î»ØÄ꤬ '%s' ¤Î¤è¤¦¤Ë '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "°ú¿ô {%u} ¤ËÂФ¹¤ë·Á¼°¤Î»ØÄ꤬ '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "'%s' ¤È '%s' ¤Ç¤Î°ú¿ô {%u} ¤ËÂФ¹¤ë·Á¼°¤Î»ØÄ꤬Ʊ¤¸¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr "ʸ»úÎó¤Ï°ú¿ôÈÖ¹æ %u ¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¤¬°ú¿ô %u ¤È %u ¤ò̵»ë¤·¤Æ¤¤¤Þ¤¹."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"°ú¿ô %u ¤È %u ¤ËÂФ¹¤ë·Á¼°¤Î»ØÄ꤬ '%s' ¤Ë¸ºß¤»¤º, 1¤Ä¤Î°ú¿ô¤À¤±¤¬Ìµ»ë¤µ¤ì¤Æ"
+"¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "¹½Ê¸²òÀÏÃæ¤Î¥¨¥é¡¼: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -593,7 +771,7 @@ msgstr ""
"Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ¥Ñ¥é¥á¡¼¥¿ %u ¤Ï '%s' ·¿¤Ç¤¹¤¬ '%s' ·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ÏÁÛÄꤵ"
"¤ì¤Æ¤¤¤Þ¤»¤ó."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -605,135 +783,134 @@ msgstr[0] ""
"Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, »ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬Â¿¤¹¤®¤Þ¤¹: ¥Ñ¥é¥á¡¼¥¿¤ÏºÇÂç¤Ç¤â %u "
"¸Ä¤Ç¤¹."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Î¸å¤Ë¿ôÃͤ¬Íè¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, °ú¿ô %d ¤ÏÉé¤Ç¤¹."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "ʸ»úÎó¤Ï ~/.../ Ì¿Îá¤ÎÅÓÃæ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤¹."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "'~%c' ¤¬ '~%c' ¤Ë°ìÃפ·¤Æ¤¤¤Þ¤»¤ó."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, @ ¤È : ¤ÎξÊý¤Î½¤¾þ»Ò¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '~:[' ¤Î¸å¤Ë '~;' ¤Çʬ¤±¤é¤ì¤¿ 2¤Ä¤ÎÀ᤬¤¢¤ê¤Þ¤»¤ó."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '~;' ¤ÏÉÔÀµ¤Ê¾ì½ê¤Ç»È¤ï¤ì¤Æ¤¤¤Þ¤¹."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "ʸ»úÎó¤ÏÈó¸ß´¹¤ÊÊýË¡¤Ç°ú¿ô¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "'%s' ¤È '%s' ¤Ç¤Î·Á¼°¤Î»ØÄ꤬Åù¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "'%s' ¤Ç¤Î·Á¼°¤Î»ØÄ꤬ '%s' ¤Ç¤Î¥µ¥Ö¥»¥Ã¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "°ú¿ô '%s' ¤ËÂФ¹¤ë·Á¼°»ØÄ꤬ '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ¥µ¥¤¥º»ØÄê¤ÏÊÑ´¹»ØÄê '%c' ¤È¸ß´¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "°ú¿ô '%s' ¤ËÂФ¹¤ë·Á¼°»ØÄ꤬ '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Ç¥Õ¥£¡¼¥ë¥É̾¤ò¤Ï¤¸¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Ç getattr ¤Î°ú¿ô¤ò¤Ï¤¸¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Ç getitem ¤Î°ú¿ô¤ò¤Ï¤¸¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ¥Õ¥©¡¼¥Þ¥Ã¥È¼±Ê̻ҤǤ³¤ì°Ê¾å¤Î¥Í¥¹¥È¤Ï¤Ç¤­¤Þ¤»¤ó."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç, ½ªÃ¼Ê¸»ú¤Î¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥ÈÌ¿Î᤬¤¢¤ê¤Þ¤¹."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
"ʸ»úÎó¤Ï, ̾Á°¤Î¤¢¤ë°ú¿ô¤â, ̾Á°¤Ê¤·¤Î°ú¿ô¤â, ¤É¤Á¤é¤Î°ú¿ô¤â»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "ʸ»úÎó¤ÏÈó¸ß´¹¤ÊÊýË¡¤Ç°ú¿ô̾ '%s' ¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "'%s' ¤Ç¤Î·Á¼°»ØÄê¤Ï¥Þ¥Ã¥Ô¥ó¥°¤Ç¤¹¤¬, '%s' ¤Ç¤Ï¥¿¥×¥ë (tuple) ¤Ç¤¹"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "'%s' ¤Ç¤Î·Á¼°»ØÄê¤Ï¥¿¥×¥ë (tuple) ¤Ç¤¹¤¬, '%s' ¤Ç¤Ï¥Þ¥Ã¥Ô¥ó¥°¤Ç¤¹"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "°ú¿ô '%s' ¤ËÂФ¹¤ë·Á¼°»ØÄ꤬ '%s' ¤Î¤è¤¦¤Ë '%s' ¤Ë¸ºß¤·¤Þ¤»¤ó"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "°ú¿ô '%3$s' ¤ËÂФ¹¤ë '%1$s' ¤È '%2$s' ¤Ç¤Î·Á¼°»ØÄ꤬Ʊ¤¸¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Ç¥Õ¥£¡¼¥ë¥É̾¤ò¤Ï¤¸¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Ç getattr ¤Î°ú¿ô¤ò¤Ï¤¸¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, '%c' ¤Ç getitem ¤Î°ú¿ô¤ò¤Ï¤¸¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ¥Õ¥©¡¼¥Þ¥Ã¥È¼±Ê̻ҤǤ³¤ì°Ê¾å¤Î¥Í¥¹¥È¤Ï¤Ç¤­¤Þ¤»¤ó."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç, ½ªÃ¼Ê¸»ú¤Î¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥ÈÌ¿Î᤬¤¢¤ê¤Þ¤¹."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -742,11 +919,11 @@ msgstr ""
"'%s' ¤Ïñ½ã¤Ê¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ç¤¹¤¬, '%s' ¤Ï°ã¤¤¤Þ¤¹. 'L' ¥Õ¥é¥°¤« 2·å¤Î¿ô"
"ÃÍ°ú¿ô¤ò´Þ¤ß¤Þ¤¹"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "ʸ»úÎó¤Ï̾Á°¤¬¥¢¥¹¥­¡¼¤Ç¤Ê¤¤¥·¥§¥ëÊÑ¿ô¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -754,104 +931,65 @@ msgstr ""
"ʸ»úÎó¤ÏÊ£»¨¤Ê¥·¥§¥ë³ç¸Ì¤Îʸˡ¤ò»È¤Ã¤¿¥·¥§¥ëÊÑ¿ô¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹. ¤³¤Îʸˡ¤Ï"
"¤³¤³¤Ç¤Ï¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
"ʸ»úÎó¤Ï¥·¥§¥ë´Ø¿ôÆâ¤Ç°Û¤Ê¤ë²ÄǽÀ­¤Î¤¢¤ëÃͤò»ý¤Ã¤¿¥·¥§¥ëÊÑ¿ô¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "ʸ»úÎó¤Ï̾Á°¤¬¶õ¤Î¥·¥§¥ëÊÑ¿ô¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Ç¤Ï, ʸ»ú '%c' ¤Ï 1 ¤«¤é 9 ¤Î´Ö¤Î¿ô»ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Ì¿ÎáÈÖ¹æ %u ¤Î½ªÃ¼Ê¸»ú¤Ï 1 ¤«¤é 9 ¤Î´Ö¤Î¿ô»ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
-"[»²¹ÍÌõ]\n"
-"¤³¤ì¤Ï¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¤Î¤ÇÊѹ¹¤ÈºÆÇÛÉۤϼ«Í³¤Ç¤¹.\n"
-"¤¿¤À¤·Ë¡Î§¤¬µö¤¹ÈϰϤÇ̵ÊݾڤǤ¹.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "ºî¼Ô %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "¤è¤ê¿¤¯¤Î¾ðÊó¤òÆÀ¤ë¤¿¤á¤Ë¤Ï '%s --help' ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤òɽ¼¨.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "½ÐÎÏ·Á¼°:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short û¤¤¥Û¥¹¥È̾\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -862,140 +1000,167 @@ msgstr ""
"Name)\n"
" ¤ÈÊÌ̾ (¥¨¥¤¥ê¥¢¥¹) ¤ò´Þ¤à\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address ¥Û¥¹¥È̾¤ËÂФ¹¤ë¥¢¥É¥ì¥¹\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "¾ðÊó½ÐÎÏ:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help ¤³¤Î¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "¥Û¥¹¥È̾¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "¥»¥ì¥¯¥¿¡¼¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï <bug-gnu-gettext@gnu.org> ¤Þ¤Ç.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "XPath ¥³¥ó¥Æ¥­¥¹¥È¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "¥Û¥¹¥È̾¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "ɾ²Á¤Ç¤­¤Ê¤¤ XPath ɽ¸½: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "\"%s\" ¥Î¡¼¥É¤Ï \"%s\" ¤ò´Þ¤ß¤Þ¤»¤ó"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "\"%2$s\" ¤ËÂФ¹¤ë°À­ÃÍ \"%1$s\" ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "¤½¤Î¥ë¡¼¥ÈÍ×ÁǤÏ̾Á°¶õ´Ö %s ¤Î²¼¤Ç¤Ï \"rules\" ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "%s ¤òÆɤ߹þ¤á¤Þ¤»¤ó: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "ɾ²Á¤Ç¤­¤Ê¤¤ XPath ¥í¥±¡¼¥·¥ç¥ó¥Ñ¥¹: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "\"%s\" ¥Î¡¼¥É¤Ë \"%s\" ¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "Æɤ߹þ¤á¤Ê¤¤ XML ¥Õ¥¡¥¤¥ë %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "¤½¤Î¥ë¡¼¥ÈÍ×ÁÇ¤Ï \"locatingRules\" ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "ºÇÂç 1¤Ä¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤¬µö¤µ¤ì¤Þ¤¹"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s ¤È %s ¤ÏÇØÈ¿¤Ç¤¹"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] [ÆþÎÏ¥Õ¥¡¥¤¥ë]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr "°À­¤Ë½¾¤Ã¤ÆËÝÌõ¥«¥¿¥í¥°¤Î¥á¥Ã¥»¡¼¥¸¤òÁªÊ̤·, °À­¤ò¤¦¤Þ¤¯Áàºî¤·¤Þ¤¹.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr "Ť¤¥ª¥×¥·¥ç¥ó¤Ëɬ¿Ü¤Î°ú¿ô¤Ïû¤¤¥ª¥×¥·¥ç¥ó¤Ë¤âɬ¿Ü¤Ç¤¹.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î»ØÄê:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INPUTFILE ÆþÎÏ PO ¥Õ¥¡¥¤¥ë\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=DIRECTORY ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¸¡º÷¥ê¥¹¥È¤Ë DIRECTORY ¤òÄɲÃ\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Ê¤¤, ¤â¤·¤¯¤Ï - ¤Î¾ì¹ç¤Ïɸ½àÆþÎϤ¬Æɤ߹þ¤Þ¤ì¤Þ¤¹.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î»ØÄê:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FILE »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤Ë½ÐÎÏ\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1004,19 +1169,19 @@ msgstr ""
"½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Ê¤¤, ¤â¤·¤¯¤Ï - ¤Î¾ì¹ç¤Ïɸ½à½ÐÎϤ˷ë²Ì¤¬½ñ¤­½Ð¤µ¤ì¤Þ"
"¤¹.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "¥á¥Ã¥»¡¼¥¸ÁªÂò:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated ËÝÌõ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ò»Ä¤·, ̤ËÝÌõ¤òºï½ü\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1024,53 +1189,53 @@ msgstr ""
" --untranslated ̤ËÝÌõ¤Î¥á¥Ã¥»¡¼¥¸¤ò»Ä¤·, ËÝÌõ¤µ¤ì¤¿¤â¤Î¤òºï"
"½ü\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy 'fuzzy' ¥Þ¡¼¥¯ÉÕ¤­¤Î¥á¥Ã¥»¡¼¥¸¤òºï½ü\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy 'fuzzy' ¥Þ¡¼¥¯ÉÕ¤­¤Î¥á¥Ã¥»¡¼¥¸¤ò»Ä¤¹\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete ÇѤ줿 #~ ¥á¥Ã¥»¡¼¥¸¤òºï½ü\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete ÇѤ줿 #~ ¥á¥Ã¥»¡¼¥¸¤ò»Ä¤¹\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "°À­Áàºî:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò 'fuzzy' ¤ËÀßÄê\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò 'Èó fuzzy' ¤ËÀßÄê\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò 'ÇѤ줿' ¾õÂÖ¤ËÀßÄê\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òÈó 'ÇѤ줿' ¾õÂÖ¤ËÀßÄê\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1079,7 +1244,7 @@ msgstr ""
" --previous 'fuzzy'¤òÀßÄꤹ¤ë»þ, ËÝÌõ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤Î\n"
" Á°¤Î msgid ¤ò»Ä¤¹\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1087,53 +1252,53 @@ msgid ""
msgstr ""
" --clear-previous Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤«¤é \"Á°¤Î msgid\" ¤òºï½ü\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --empty 'fuzzy' ¤Îºï½ü»þ¤Ë msgstr ¤â¶õ¤ËÀßÄê\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr " --only-file=FILE.po FILE.po ¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤Î¤ß½èÍý\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr " --ignore-file=FILE.po FILE.po ¤Ë¤Ê¤¤¥¨¥ó¥È¥ê¤Î¤ß½èÍý\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy --only-fuzzy --clear-fuzzy ¤ÈƱ¤¸\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete --only-obsolete --clear-obsolete ¤ÈƱ¤¸\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Îʸˡ:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr " -P, --properties-input ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï Java .properties ¤Îʸˡ\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1142,17 +1307,17 @@ msgstr ""
" --stringtable-input ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï NeXTstep/GNUstep .strings ¤Îʸ"
"Ë¡\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "½ÐÎϤξܺÙ:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1165,26 +1330,26 @@ msgstr ""
" WHEN ¤Ï 'always', 'never', 'auto', ¤Þ¤¿¤Ï "
"'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=STYLEFILE --color ¤ËÂФ¹¤ë CSS ¥¹¥¿¥¤¥ë¥ë¡¼¥ë¤ò»ØÄê\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
" -e, --no-escape ½ÐÎÏ¤Ë C ¸À¸ì¤Î¥¨¥¹¥±¡¼¥×¤ò»È¤ï¤Ê¤¤ (ɸ½à)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1192,68 +1357,68 @@ msgstr ""
" -E, --escape ½ÐÎÏ¤Ë C ¸À¸ì¤Î¥¨¥¹¥±¡¼¥×¤ò»È¤¤,\n"
" ³Èĥʸ»ú¤ò´Þ¤á¤Ê¤¤\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po ¶õ¤Ç¤¢¤Ã¤Æ¤â PO ¥Õ¥¡¥¤¥ë¤ò½ñ¤­½Ð¤¹\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent »ú²¼¤²·Á¼°¤Ç .po ¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location '#: ¥Õ¥¡¥¤¥ë̾:¹ÔÈÖ¹æ' ¤Î¹Ô¤ò½ñ¤­½Ð¤µ¤Ê¤¤\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location '#: ¥Õ¥¡¥¤¥ë̾:¹ÔÈÖ¹æ' ¤Î¹Ô¤òÀ¸À® (ɸ½à)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict ¸·Ì©¤Ê Uniforum ·Á¼°¤Î .po ¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output Java .properties ¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output NeXTstep/GNUstep .strings ¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMBER ½ÐÎÏ¥Ú¡¼¥¸¤ÎÉý¤òÀßÄê\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1262,31 +1427,31 @@ msgstr ""
" --no-wrap ½ÐÎÏ¥Ú¡¼¥¸¤ÎÉý¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¹Ô¤ò²þ¹Ô¤·¤Ê"
"¤¤\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output ¥½¡¼¥È¤µ¤ì¤¿½ÐÎϤòÀ¸À®\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file ¥Õ¥¡¥¤¥ë¤Ç½ÐÎϤò¥½¡¼¥È\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "»ØÄꤵ¤ì¤¿ÁªÂò´ð½à (%d < n < %d) ¤ÏÉÔ²Äǽ¤Ç¤¹"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] [ÆþÎÏ¥Õ¥¡¥¤¥ë]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1308,23 +1473,23 @@ msgstr ""
"¥³¥á¥ó¥È, ¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤Ϥ½¤Î¤Þ¤Þ»Ä¤µ¤ì¤Þ¤¹. ¤¿¤À¤· --use-first ¤¬»ØÄꤵ¤ì¤¿\n"
"¾ì¹ç¤Ë¤Ï, ¤½¤ì¤é¤¬ÄêµÁ¤µ¤ì¤¿ºÇ½é¤Î PO ¥Õ¥¡¥¤¥ë¤Î¤â¤Î¤¬¤½¤Î¤Þ¤Þ»Ä¤µ¤ì¤Þ¤¹.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INPUTFILE ... ÆþÎÏ¥Õ¥¡¥¤¥ë\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FILE ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò FILE ¤«¤é¼èÆÀ\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬ - ¤Î¾ì¹ç¤Ïɸ½àÆþÎϤ¬Æɤ߹þ¤Þ¤ì¤Þ¤¹.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1333,7 +1498,7 @@ msgstr ""
" -<, --less-than=NUMBER NUMBER ¤è¤ê¾¯¤Ê¤¤²ó¿ô¤À¤±ÄêµÁ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸\n"
" ¤ò½ÐÎÏ. ÀßÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ïɸ½à¤Ç̵¸Â¸Ä\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1342,7 +1507,7 @@ msgstr ""
" ->, --more-than=NUMBER NUMBER ¤è¤ê¿¤¯ÄêµÁ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ\n"
" ÀßÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ïɸ½à¤Ç 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1351,15 +1516,15 @@ msgstr ""
" -u, --unique --less-than=2 ¤Îû½Ì·Á. 1¤Ä¤·¤«¤Ê¤¤¥á¥Ã¥»¡¼¥¸\n"
" ¤Î¤ß¤òɽ¼¨\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr " -P, --properties-input ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï Java .properties ¤Îʸˡ\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1368,12 +1533,12 @@ msgstr ""
" --stringtable-input ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï NeXTstep/GNUstep .strings ¤Îʸ"
"Ë¡\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAME ½ÐÎϤΥ¨¥ó¥³¡¼¥Ç¥£¥ó¥°\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1382,33 +1547,33 @@ msgstr ""
" --use-first ³Æ¡¹¤Î¥á¥Ã¥»¡¼¥¸¤ÎºÇ½é¤ËÍ­¸ú¤ÊËÝÌõ¤ò»È¤¦\n"
" Ê£¿ô¤ÎËÝÌõ¤ò¥Þ¡¼¥¸¤·¤Ê¤¤\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=CATALOGNAME ¥Ø¥Ã¥À¹àÌܤΠ'Language' Íó¤ò»ØÄê\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "Àµ³Î¤Ë 2¤Ä¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1426,22 +1591,22 @@ msgstr ""
"Àµ³Î¤Ë°ìÃפ·¤Æ¤¤¤ë¸Ä½ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï, ¤¢¤¤¤Þ¤¤ (fuzzy) ¸¡º÷¤ò»È¤¦¤È\n"
"¤è¤êÎɤ¤¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬ÆÀ¤é¤ì¤Þ¤¹.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po ËÝÌõ\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot ¥½¡¼¥¹¤Ø¤Î»²¾È\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Áàºî»ØÄê:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1449,63 +1614,63 @@ msgid ""
msgstr ""
" -m, --multi-domain ref.pot ¤ò def.po Æâ¤Î¥É¥á¥¤¥ó¤Î³Æ¡¹¤ËŬÍÑ\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching ¤¢¤¤¤Þ¤¤¸¡º÷¤ò¹Ô¤ï¤Ê¤¤\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy fuzzy (¤¢¤¤¤Þ¤¤) ¹àÌܤò¹Íθ\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated ̤ËÝÌõ¤Î¥á¥Ã¥»¡¼¥¸¤ò¹Íθ\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï̤ËÝÌõ¤Ç¤¹"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤ÏËÝÌõ¼Ô¤Ë¤è¤ë¥ì¥Ó¥å¡¼¤¬É¬ÍפǤ¹"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï»È¤ï¤ì¤Þ¤¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...¤·¤«¤·¤³¤ÎÄêµÁ¤¬»÷¤Æ¤¤¤Þ¤¹"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï»È¤ï¤ì¤Þ¤¹¤¬ %s ¤Ç¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "·Ù¹ð: ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï»È¤ï¤ì¤Þ¤»¤ó"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d ¸Ä¤ÎÃ×̿Ū¥¨¥é¡¼¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "¾¯¤Ê¤¯¤È¤â 2¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1525,7 +1690,7 @@ msgstr ""
"¥³¥á¥ó¥È¤Ï, ¤½¤ì¤é¤¬ÄêµÁ¤µ¤ì¤¿ºÇ½é¤Î PO ¥Õ¥¡¥¤¥ë¤Î¤â¤Î¤Î¤ß¤½¤Î¤Þ¤Þ»Ä¤µ¤ì¤Þ¤¹.\n"
"¤Þ¤¿¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ÏÁ´¤Æ¤Î PO ¥Õ¥¡¥¤¥ë¤«¤é¤½¤Î¤Þ¤Þ»Ä¤µ¤ì¤Þ¤¹.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1534,68 +1699,68 @@ msgstr ""
" ->, --more-than=NUMBER NUMBER ¤è¤ê¿¤¯ÄêµÁ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ\n"
" ÀßÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ïɸ½à¤Ç 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header 'msgid \"\"' ¤ò´Þ¤ó¤À¥Ø¥Ã¥À¤ò½ÐÎϤ·¤Ê¤¤\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "ËÝÌõ¥«¥¿¥í¥°¤ò°Û¤Ê¤Ã¤¿Ê¸»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÊÑ´¹.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "ÊÑ´¹ÂоÝ:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "ɸ½à¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ï¸½ºß¤Î¥í¡¼¥«¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent »ú²¼¤²·Á¼°¤Î½ÐÎÏ\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location '#: filename:line' ¤Î¹Ô¤ò½ÐÎϤ·¤Ê¤¤\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr " -n, --add-location '#: filename:line' ¤Î¹Ô¤òÊÝ»ý (ɸ½à)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict ¸·Ì©¤Ê Uniforum ½ÐÎÏ·Á¼°\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "Àµ³Î¤Ë 1¤Ä¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] INPUTFILE\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1607,22 +1772,22 @@ msgstr ""
"PO ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë (°ìÈÌ¤Ë xgettext ¤Ë¤è¤Ã¤ÆÀ¸À®) ¤Ç¤¹. ̤ËÝÌõ¤Î¥¨¥ó¥È¥ê\n"
"¤Ï msgid ¤ÈƱ¤¸ËÝÌõ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INPUTFILE ÆþÎϤ¹¤ë PO ¤Þ¤¿¤Ï POT ¥Õ¥¡¥¤¥ë\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "¥³¥Þ¥ó¥É̾¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] ¥³¥Þ¥ó¥É [¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1637,7 +1802,7 @@ msgstr ""
"¤½¤Î½ÐÎϤ¬ msgexec ¤Î½ÐÎϤˤʤê¤Þ¤¹. msgexec ¤Î½ªÎ»¥³¡¼¥É¤ÏÆâÉô¤«¤é¸Æ¤Ó\n"
"½Ð¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Î½ªÎ»¥³¡¼¥É¤ÎºÇÂçÃͤˤʤê¤Þ¤¹.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1646,37 +1811,47 @@ msgstr ""
"'0' ¤È¤¤¤¦ÆÃÊ̤ÊÁȤ߹þ¤ß¥³¥Þ¥ó¥É¤ÏºÇ¸å¤Ë¥Ì¥ëʸ»ú¤òÉÕ¤±¤ÆËÝÌõ¤ò½ÐÎϤ·¤Þ¤¹.\n"
"\"msgexec 0\" ¤Î½ÐÎÏ¤Ï \"xargs -0\" ¤Ø¤ÎÆþÎϤËŬ¤·¤Æ¤¤¤Þ¤¹.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "¥³¥Þ¥ó¥ÉÆþÎÏ:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline ÆþÎϤκǸå¤Ë²þ¹Ô¤òÄɲÃ\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INPUTFILE ÆþÎϤ¹¤ë PO ¥Õ¥¡¥¤¥ë\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "ɸ½à½ÐÎϤؤνñ¤­½Ð¤·¤¬¼ºÇÔ¤·¤Þ¤·¤¿"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "¥Õ¥£¥ë¥¿Ì¾¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "¾¯¤Ê¤¯¤È¤â 1¤Ä¤Î sed ¥¹¥¯¥ê¥×¥È¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] ¥Õ¥£¥ë¥¿ [¥Õ¥£¥ë¥¿¥ª¥×¥·¥ç¥ó]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "ËÝÌõ¥«¥¿¥í¥°¤ÎÁ´¤Æ¤ÎËÝÌõ¤Ë¥Õ¥£¥ë¥¿¤òŬÍÑ.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1686,18 +1861,32 @@ msgstr ""
"¤¹\n"
"Ǥ°Õ¤Î¥×¥í¥°¥é¥à¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "¥Õ¥£¥ë¥¿¤ÎÆþÎϤȽÐÎÏ:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline ÆþÎϤκǸå¤Ë²þ¹Ô¤òÄɲä·\n"
+" ½ÐÎϤκǸ夫¤é²þ¹Ô¤òºï½ü"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "FILTER ¤¬ 'sed' ¤Î¾ì¹ç¤ËÊØÍø¤Ê FILTER-OPTION:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=SCRIPT ¼Â¹Ô¤µ¤ì¤ë¥³¥Þ¥ó¥É¤Ë SCRIPT ¤òÄɲÃ\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1706,142 +1895,143 @@ msgid ""
msgstr ""
" -f, --file=SCRIPTFILE SCRIPTFILE ¤ÎÆâÍƤò¼Â¹Ô¤µ¤ì¤ë¥³¥Þ¥ó¥É¤ËÄɲÃ\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr " -n, --quiet, --silent ¥Ñ¥¿¡¼¥ó¥¹¥Ú¡¼¥¹¤Î¼«Æ°Åª¤Êɽ¼¨¤òÍÞÀ©\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
" --no-escape ½ÐÎÏ¤Ë C ¸À¸ì¤Î¥¨¥¹¥±¡¼¥×¤ò»È¤ï¤Ê¤¤ (ɸ½à)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent »ú²¼¤²·Á¼°¤Î½ÐÎÏ\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr " --keep-header ¥Ø¥Ã¥À¤Î¥¨¥ó¥È¥ê¤ò½¤Àµ¤»¤º¤ËÊÝ»ý\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "¥Õ¥£¥ë¥¿¤Î½ÐÎϤϲþ¹Ô¤Ç½ªÃ¼¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "%s ¤Ø¤Î°ú¿ô¤Ïñ°ì¤Î¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "̵¸ú¤Ê¥¨¥ó¥Ç¥£¥¢¥ó: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "%s ¤È %s ¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¤¤¤Ï¤¤¤±¤Þ¤»¤ó"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s ¤Ë¤Ï \"-d ¥Ç¥£¥ì¥¯¥È¥ê\" ¤Î»ØÄ꤬ɬÍפǤ¹"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s ¤Ë¤Ï \"-l ¥í¥«¡¼¥ë\" ¤Î»ØÄ꤬ɬÍפǤ¹"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s ¤Ë¤Ï \"--template ¥Æ¥ó¥×¥ì¡¼¥È\" ¤Î»ØÄ꤬ɬÍפǤ¹"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s ¤Ë¤Ï \"-o ¥Õ¥¡¥¤¥ë\" ¤Î»ØÄ꤬ɬÍפǤ¹"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s ¤È %s ¤Ï %s ¤Ë¤ª¤¤¤ÆÇØÈ¿¤Ç¤¹"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s ¤Ï %s ¤Þ¤¿¤Ï %s ¤¬¤¢¤ë¾ì¹ç¤Ë¤Î¤ßÍ­¸ú¤Ç¤¹"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s ¤Ï %s, %s ¤Þ¤¿¤Ï %s ¤¬¤¢¤ë¾ì¹ç¤Ë¤Î¤ßÍ­¸ú¤Ç¤¹"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "%s ¤ËÂФ¹¤ë ITS ¥ë¡¼¥ë¤Î¾ì½ê¤¬¤ï¤«¤ê¤Þ¤»¤ó"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d ¸Ä¤ÎËÝÌõ¥á¥Ã¥»¡¼¥¸"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d ¸Ä¤Î¤¢¤¤¤Þ¤¤¤ÊËÝÌõ"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d ¸Ä¤Î̤Ìõ¤Î¥á¥Ã¥»¡¼¥¸"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] filename.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "¥Ð¥¤¥Ê¥ê¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤ò¸¶Ê¸¤ÎËÝÌõ¤Îµ­½Ò¤«¤éÀ¸À®.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Ť¤¥ª¥×¥·¥ç¥ó¤Ëɬ¿Ü¤Î°ú¿ô¤Ïû¤¤¥ª¥×¥·¥ç¥ó¤Ë¤âɬ¿Ü¤Ç¤¹.\n"
-"ɬ¿Ü¤Ç¤Ê¤¤°ú¿ô¤âƱ¤¸¤Ç¤¹.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filename.po ... ÆþÎÏ¥Õ¥¡¥¤¥ë\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Áàºî¥â¡¼¥É:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1849,7 +2039,7 @@ msgid ""
msgstr ""
" -j, --java Java ¥â¡¼¥É: Java ResourceBundle ¥¯¥é¥¹¤ÎÀ¸À®\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1857,12 +2047,12 @@ msgid ""
msgstr ""
" --java2 --java ¤ÈƱ¤¸¤Ç Java2 (JDK 1.2 °Ê¹ß) ¤ò²¾Äê\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# ¥â¡¼¥É: .NET .dll ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1871,47 +2061,52 @@ msgstr ""
" --csharp-resources C# resources ¥â¡¼¥É: .NET .resources ¥Õ¥¡¥¤¥ë¤Î"
"À¸À®\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl ¥â¡¼¥É: tcl/msgcat .msg ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt ¥â¡¼¥É: Qt .qm ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
" --desktop Desktop Entry ¥â¡¼¥É: .desktop ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml XML ¥â¡¼¥É: XML ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict ¸·Ì©¤Ê Uniforum ¥â¡¼¥É¤òÍ­¸ú¤Ë\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë¤¬ - ¤Î¾ì¹ç¤Ïɸ½à½ÐÎϤ˷ë²Ì¤¬½ñ¤­½Ð¤µ¤ì¤Þ¤¹.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Java ¥â¡¼¥É¤Ë¤ª¤±¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESOURCE ¥ê¥½¡¼¥¹Ì¾\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1919,7 +2114,7 @@ msgid ""
msgstr ""
" -l, --locale=LOCALE ¥í¥«¡¼¥ë̾. ¸À¸ì̾¤â¤·¤¯¤Ï \"¸À¸ì̾_¹ñ̾\"\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1928,14 +2123,14 @@ msgstr ""
" --source .class ¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ë .java ¥Õ¥¡¥¤¥ë¤òºî"
"À®\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d DIRECTORY ¥¯¥é¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î³¬ÁؤδðËܥǥ£¥ì¥¯¥È¥ê\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1949,12 +2144,12 @@ msgstr ""
"¤Ë\n"
"½ñ¤­½Ð¤µ¤ì¤Þ¤¹.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "C# ¥â¡¼¥É¤Ë¤ª¤±¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -1963,7 +2158,7 @@ msgstr ""
" -d DIRECTORY ¥í¥«¡¼¥ë°Í¸¤Î .dll ¥Õ¥¡¥¤¥ë¤Î´ðËܥǥ£¥ì¥¯¥È"
"¥ê\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -1972,18 +2167,18 @@ msgstr ""
"-l ¤È -d ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹. .dll ¥Õ¥¡¥¤¥ë¤Ï¥í¥«¡¼¥ë¤Ë°Í¸¤·¤¿Ì¾Á°¤ò»ý¤Ä\n"
"»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤­½Ð¤µ¤ì¤Þ¤¹.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Tcl ¥â¡¼¥É¤Ë¤ª¤±¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTORY .msg ¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Î´ðËܥǥ£¥ì¥¯¥È¥ê\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -1992,22 +2187,22 @@ msgstr ""
"-l ¤È -d ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹. .msg ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤­\n"
"½Ð¤µ¤ì¤Þ¤¹.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Desktop Entry ¥â¡¼¥É¤Î¥ª¥×¥·¥ç¥ó:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=TEMPLATE .desktop ¥Õ¥¡¥¤¥ë¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë»ÈÍÑ\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRECTORY .po ¥Õ¥¡¥¤¥ë¤Î´ðËܥǥ£¥ì¥¯¥È¥ê\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2016,7 +2211,7 @@ msgstr ""
" -kWORD, --keyword=WORD Äɲå­¡¼¥ï¡¼¥É¤È¤·¤Æ WORD ¤ò¸¡º÷\n"
" -k, --keyword ɸ½à¤Î¥­¡¼¥ï¡¼¥É¤Ï»È¤ï¤Ê¤¤\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2026,12 +2221,27 @@ msgstr ""
"-l, -o, ¤ª¤è¤Ó --template ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹. -D ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç, ÆþÎÏ\n"
"¥Õ¥¡¥¤¥ë¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ÎÂå¤ï¤ê¤Ë¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤éÆɤ߹þ¤Þ¤ì¤Þ¤¹.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "XML ¥â¡¼¥É¤Î¥ª¥×¥·¥ç¥ó:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=NAME »ØÄꤵ¤ì¤¿ XML ¸À¸ì¤òǧ¼±\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=TEMPLATE XML ¥Õ¥¡¥¤¥ë¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë»ÈÍÑ\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î²ò¼á:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2042,20 +2252,20 @@ msgstr ""
"domain\n"
" ¤Ç»ØÄꤵ¤ì¤ëÁ´¤Æ¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤Ê¤¦\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format ¸À¸ì¤Ë°Í¸¤·¤¿¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤ò¥Á¥§¥Ã¥¯\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr " --check-header ¥Ø¥Ã¥À¹àÌܤθºß¤ÈÆâÍƤò³Îǧ\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2064,7 +2274,7 @@ msgstr ""
" --check-domain ¥É¥á¥¤¥óÌ¿Îá¤È --output-file ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë\n"
" Ì·½â¤¬¤Ê¤¤¤«¥Á¥§¥Ã¥¯\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2072,7 +2282,7 @@ msgid ""
msgstr ""
" -C, --check-compatibility GNU msgfmt ¤Î X/Open msgfmt ¤È¤Î¸ß´¹À­¤ò³Îǧ\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2081,19 +2291,19 @@ msgid ""
msgstr ""
" --check-accelerators[=ʸ»ú] ¥á¥Ë¥å¡¼¹àÌܤؤΥ­¡¼³ä¤êÅö¤Æ¤ò¥Á¥§¥Ã¥¯\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy fuzzy (¤¢¤¤¤Þ¤¤) ¹àÌܤò½ÐÎϤ˻Ȥ¦\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=NUMBER ʸ»úÎó¤ò NUMBER ¥Ð¥¤¥È¤Ë·¤¨¤ë (ɸ½à: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2106,97 +2316,96 @@ msgstr ""
" (ɸ½à¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤ê big ¤« "
"little)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash ¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Ï¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò´Þ¤Þ¤Ê¤¤\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics ËÝÌõ¤Ë´Ø¤¹¤ëÅý·×¾ðÊó¤òɽ¼¨\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose ¿ÇÃÇ¥ì¥Ù¥ë¤ò¾å¤²¤ë\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "·Ù¹ð: PO ¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¤¬¤Ê¤¤, ¤â¤·¤¯¤ÏÉÔÀµ¤Ç¤¹\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "·Ù¹ð: ʸ»ú¥»¥Ã¥È¤ÎÊÑ´¹¤¬µ¡Ç½¤·¤Þ¤»¤ó\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "·Ù¹ð: PO ¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À¤¬¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "·Ù¹ð: msgfmt ¤Î°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤³¤³¤Ç¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "¥É¥á¥¤¥ó̾ \"%s\" ¤Ï¥Õ¥¡¥¤¥ë̾¤È¤·¤ÆŬÀڤǤϤ¢¤ê¤Þ¤»¤ó"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"¥É¥á¥¤¥ó̾ \"%s\" ¤Ï¥Õ¥¡¥¤¥ë̾¤È¤·¤ÆŬÀڤǤϤ¢¤ê¤Þ¤»¤ó. ÀÜƬ¼­¤ò»È¤¤¤Þ¤¹"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "'¥É¥á¥¤¥ó %s' Ì¿Îá¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "¶õ¤Î 'msgstr' ¥¨¥ó¥È¥ê¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "¤¢¤¤¤Þ¤¤ (fuzzy) ¤Ê 'msgstr' ¥¨¥ó¥È¥ê¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: ·Ù¹ð: ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¤¢¤¤¤Þ¤¤ (fuzzy) ¤ÊËÝÌõ¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s ¤Ï¸ºß¤·¤Þ¤»¤ó"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s ¤Ï¸ºß¤·¤Þ¤¹¤¬Æɤ߹þ¤á¤Þ¤»¤ó"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "\"%s\" ¤òÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2205,7 +2414,7 @@ msgstr ""
"¥ª¥×¥·¥ç¥ó '%c' ¤Ï 'J' ¤ä 'K' ¤ä 'T' ¤ä 'C' ¤ä 'X' ¤¬»ØÄꤵ¤ì¤ëÁ°¤Ë»È¤¦¤³¤È¤Ï"
"¤Ç¤­¤Þ¤»¤ó"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2214,7 +2423,7 @@ msgstr ""
"ËÝÌõ¥«¥¿¥í¥°¤ÎÃ椫¤é, »ØÄꤵ¤ì¤¿¥Ñ¥¿¡¼¥ó¤Ë°ìÃפ¹¤ë, ¤â¤·¤¯¤Ï»ØÄꤵ¤ì¤¿¤¤¤¯¤Ä\n"
"¤«¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ëÁ´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò¼è¤ê½Ð¤·¤Þ¤¹.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2289,7 +2498,7 @@ msgstr ""
" -i, --ignore-case Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤\n"
" -v, --invert-match ¤É¤ÎÁªÂò´ð½à¤Ë¤â°ìÃפ·¤Ê¤¤¥á¥Ã¥»¡¼¥¸¤Î¤ß¤ò½ÐÎÏ\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2297,12 +2506,12 @@ msgstr ""
" --escape ½ÐÎÏ¤Ë C ¸À¸ì¤Î¥¨¥¹¥±¡¼¥×¤ò»È¤¤,\n"
" ³Èĥʸ»ú¤ò´Þ¤á¤Ê¤¤\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output ¥½¡¼¥È¤µ¤ì¤¿½ÐÎϤòÀ¸À®\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file ¥Õ¥¡¥¤¥ë¤Ç½ÐÎϤò¥½¡¼¥È\n"
@@ -2401,14 +2610,14 @@ msgstr ""
"¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë .pot ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿.\n"
"--input ¥ª¥×¥·¥ç¥ó¤ÇÆþÎϤ¹¤ë .pot ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹¼ºÇÔ, ½ªÎ»¥³¡¼¥É %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2425,28 +2634,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ¹¤ë±ÑÌõ"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "¸½ºß¤Îʸ»ú¥»¥Ã¥È \"%s\" ¤Ï²ÄÈÂÀ­¤Î¤¢¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "2¤Ä¤Î°Û¤Ê¤Ã¤¿Ê¸»ú¥»¥Ã¥È \"%s\" ¤È \"%s\" ¤¬ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤¹"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë '%s' ¤Ëʸ»ú¥»¥Ã¥È¤ò»ØÄꤹ¤ë¥Ø¥Ã¥À¹àÌܤ¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2455,20 +2664,20 @@ msgstr ""
"ÆþÎÏ¥Õ¥¡¥¤¥ë '%2$s' Æâ¤Î¥É¥á¥¤¥ó \"%1$s\" ¤Ë¤Ïʸ»ú¥»¥Ã¥È¤ò»ØÄꤹ¤ë¥Ø¥Ã¥À¹àÌÜ"
"¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"ÂоݤȤʤëʸ»ú¥»¥Ã¥È \"%s\" ¤Ï²ÄÈÂÀ­¤Î¤¢¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "·Ù¹ð: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2477,7 +2686,7 @@ msgstr ""
"ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï°Û¤Ê¤Ã¤¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥á¥Ã¥»¡¼¥¸¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹.\n"
"½ÐÎϤò UTF-8 ¤ËÊÑ´¹¤·¤Þ¤¹.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2491,7 +2700,7 @@ msgstr ""
"Ê̤νÐÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁªÂò¤¹¤ë¾ì¹ç¤Ï --to-code ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ"
"¤¤.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2506,7 +2715,7 @@ msgstr ""
"¥½¡¼¥¹¥³¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç, UTF-8 ¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÊݾڤ¹¤ë¤«\n"
"¤É¤Á¤é¤«¤Ç¤¹.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2519,12 +2728,12 @@ msgstr ""
"'%s' ¤Î½ÐÎϤÏÉÔÀµ³Î¤Ç¤¢¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹.\n"
"²Äǽ¤Ê²óÈòºö:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- LC_ALL ¤ò¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° %s ¤Î¥í¥«¡¼¥ë¤ËÀßÄê.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2535,7 +2744,7 @@ msgstr ""
" ¤½¤Î¸å '%s' ¤òŬÍÑ.\n"
" ¹¹¤Ë 'msgconv' ¤ò»È¤Ã¤Æ %s ¤ËÌ᤹.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2548,7 +2757,7 @@ msgstr ""
" ¤½¤Î¸å '%s' ¤òŬÍÑ.\n"
" ¹¹¤Ë 'msgconv' ¤ò»È¤Ã¤Æ %s ¤ËÌ᤹.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2559,73 +2768,73 @@ msgstr ""
"'%s' ¤Î½ÐÎϤÏÉÔÀµ³Î¤Ç¤¢¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹.\n"
"²Äǽ¤Ê²óÈòºö¤È¤·¤Æ¤Ï LC_ALL=C ¤ÈÀßÄꤷ¤Þ¤¹.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "Ê£¿ôɽ¸½¤¬Éé¤ÎÃͤòÀ¸À®¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu ¤Ç¤¹¤¬Ê£¿ôɽ¸½¤¬ %lu ¤ÈƱ¤¸ÄøÅÙ¤ÎÃͤòÀ¸À®¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "Ê£¿ôɽ¸½¤¬¥¼¥í³ä¤ê¤òµ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "Ê£¿ôɽ¸½¤¬À°¿ô¤¢¤Õ¤ì¤òµ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr "Ê£¿ôɽ¸½¤¬±é»»Îã³°, ¤ª¤½¤é¤¯¥¼¥í³ä¤ê¤òµ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "%s ¤Ë¤È¤Ã¤ÆÍ­¸ú¤Ê, ¼¡¤ò»È¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤ËÊ£¿ô·Á¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "¤·¤«¤·¥Ø¥Ã¥À¥¨¥ó¥È¥ê¤Ë \"plural=EXPRESSION\" °À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "¤·¤«¤·¥Ø¥Ã¥À¥¨¥ó¥È¥ê¤Ë \"nplurals=INTEGER\" °À­¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "ÉÔÀµ¤Ê nplurals ¤ÎÃÍ"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ÉÔÀµ¤ÊÊ£¿ô (plural) ɽ¸½"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "¤·¤«¤·¤¤¤¯¤Ä¤«¤Î¥á¥Ã¥»¡¼¥¸¤Ë¤Ï %lu ¸Ä¤À¤±Ê£¿ô·Á¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "¤·¤«¤·¤¤¤¯¤Ä¤«¤Î¥á¥Ã¥»¡¼¥¸¤Ë¤Ï %lu ¸Ä¤ÎÊ£¿ô·Á¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2633,77 +2842,93 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤ÏÊ£¿ô·Á¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹. ¤·¤«¤· \"Plural-Forms: "
"nplurals=INTEGER; plural=EXPRESSION;\" ¤È¤¤¤¦¥Ø¥Ã¥À¥¨¥ó¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"'msgid' ¤È 'msgid_plural' ¤Î¥¨¥ó¥È¥ê¤¬¤É¤Á¤é¤â '\\n' ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "'msgid' ¤È 'msgstr[%u]' ¤Î¥¨¥ó¥È¥ê¤¬¤É¤Á¤é¤â '\\n' ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "'msgid' ¤È 'msgstr' ¤Î¥¨¥ó¥È¥ê¤¬¤É¤Á¤é¤â '\\n' ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr ""
"'msgid' ¤È 'msgid_plural' ¤Î¥¨¥ó¥È¥ê¤¬¤É¤Á¤é¤â '\\n' ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "'msgid' ¤È 'msgstr[%u]' ¤Î¥¨¥ó¥È¥ê¤¬¤É¤Á¤é¤â '\\n' ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "'msgid' ¤È 'msgstr' ¤Î¥¨¥ó¥È¥ê¤¬¤É¤Á¤é¤â '\\n' ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "Ê£¿ô·Á¤ÎÀ©¸æ¤Ï GNU gettext ¤Î³ÈÄ¥¤Ç¤¹"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr ¤Ë¤Ï¥­¡¼¥Ü¡¼¥É¥¢¥¯¥»¥ì¥ì¡¼¥¿¤Îµ­¹æ '%c' ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
"msgstr ¤Ë¤Ï¤¢¤Þ¤ê¤Ë¿¤¯¤Î¥­¡¼¥Ü¡¼¥É¥¢¥¯¥»¥ì¥ì¡¼¥¿¤Îµ­¹æ '%c' ¤¬¤¢¤ê¤Þ¤¹"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "¥Ø¥Ã¥À¾ðÊó '%s' ¤¬½é´üɸ½àÃͤΤޤޤǤ¹\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "¥Ø¥Ã¥À¾ðÊó '%s' ¤¬¥Ø¥Ã¥À¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "Unicode ¤ÎÂå¤ï¤ê¤Ë ASCII ¤Î¾Êάµ­¹æ ('...')"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "¥æ¡¼¥¶¤¬¸«¤¨¤ëʸ»úÎó¤Ë¾Êάµ­¹æ¤¬¸«¤Ä¤«¤ëÁ°¤Ë¥¹¥Ú¡¼¥¹"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "Unicode ¤ÎÂå¤ï¤ê¤Ë ASCII ¤ÎÆó½Å°úÍÑÉä¤ò»ÈÍÑ"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "Unicode ¤ÎÂå¤ï¤ê¤Ë ASCII ¤Îñ°ì°úÍÑÉä"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: ÆþÎÏ¤Ï \"%s\" ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë¤ª¤¤¤ÆÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: \"%s\" ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤«¤é \"%s\" ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÊÑ´¹¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬"
"ȯÀ¸¤·¤Þ¤·¤¿"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ëʸ»ú¥»¥Ã¥È¤ò»ØÄꤹ¤ë¥Ø¥Ã¥À¹àÌܤ¬¤¢¤ê¤Þ¤»¤ó"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2712,7 +2937,7 @@ msgstr ""
"\"%s\" ¤«¤é \"%s\" ¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó. %s ¤Ï iconv() ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¤¬,"
"iconv() ¤Ï¤³¤ÎÊÑ´¹¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2721,8 +2946,8 @@ msgstr ""
"\"%s\" ¤«¤é \"%s\" ¤Ø¤ÎÊÑ´¹¤¬½ÅÊ£, ¤¤¤¯¤Ä¤«¤Î°Û¤Ê¤Ã¤¿ msgid ¤¬Åù¤·¤¯¤Ê¤Ã¤Æ¤¤"
"¤Þ¤¹."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2731,16 +2956,16 @@ msgstr ""
"\"%s\" ¤«¤é \"%s\" ¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó. %s ¤Ï iconv() ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹.¤³¤Î¥Ð¡¼"
"¥¸¥ç¥ó¤Ï iconv() ¤Ê¤·¤Çºî¤é¤ì¤Æ¤¤¤Þ¤¹."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s ¤Ï %s ¤¬¤¢¤ë¾ì¹ç¤Ë¤Î¤ßÍ­¸ú¤Ç¤¹"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¥¿¥¤¥×"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2762,17 +2987,17 @@ msgstr ""
"»Ä¤µ¤ì¤Þ¤¹. Àµ³Î¤Ë°ìÃפ·¤Æ¤¤¤ë¸Ä½ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï, ¤¢¤¤¤Þ¤¤ (fuzzy)\n"
"¸¡º÷¤ò»È¤¦¤È¤è¤êÎɤ¤·ë²Ì¤òÀ¸¤à¤Ç¤·¤ç¤¦. \n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po ¸Å¤¤¥½¡¼¥¹¤ËÂФ¹¤ë»²¾ÈËÝÌõ\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot ¿·¤·¤¤¥½¡¼¥¹¤ËÂФ¹¤ë»²¾È\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2781,7 +3006,7 @@ msgstr ""
" -C, --compendium=FILE ¥á¥Ã¥»¡¼¥¸ËÝÌõ¤ÎÄɲÃʸ¸¥\n"
" 1²ó°Ê¾å»ØÄꤵ¤ì¤ë²ÄǽÀ­¤¢¤ê\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2790,27 +3015,27 @@ msgstr ""
" -U, --update def.po ¤ò¹¹¿·\n"
" def.po ¤¬´û¤ËºÇ¿·ÈǤǤ¢¤ì¤Ð²¿¤â¤·¤Ê¤¤\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "¹¹¿·¥â¡¼¥É¤Ç¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "·ë²Ì¤Ï def.po ¤Ë½ñ¤­Ìᤵ¤ì¤Þ¤¹.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL def.po ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFFIX Ä̾ï¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×ÀÜÈø¼­¤ò¾å½ñ¤­\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2830,7 +3055,7 @@ msgstr ""
"¼°\n"
" simple, never ¾ï¤Ëñ½ã·Á¼°¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2840,29 +3065,29 @@ msgstr ""
"--suffix ¤ä´Ä¶­ÊÑ¿ô SIMPLE_BACKUP_SUFFIX ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð,\n"
"¥Ð¥Ã¥¯¥¢¥Ã¥×ÀÜÈø¼­¤Ï '~' ¤Ç¤¹.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous ËÝÌõ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ÎÁ°¤Î msgid ¤ò»Ä¤¹\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent ¿Ê¹Ô¾õ¶·¤òɽ¼¨¤·¤Ê¤¤\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤ÏÊ£¿ô·Á¤òÄêµÁ¤¹¤Ù¤­¤Ç¤¹"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤ÏÊ£¿ô·Á¤òÄêµÁ¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2871,28 +3096,28 @@ msgstr ""
"%s %ld(Á°¤ÎÈÇ) + %ld(¿·ÈÇ) ¤òÆɤ߹þ¤ß (¥Þ¡¼¥¸ %ld, ¤¢¤¤¤Þ¤¤ %ld, ·çÍî %ld, ÇË"
"´þ %ld).\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " ´°Î».\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s ¤ÈÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤ÏÇØÈ¿¤Ç¤¹"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] [¥Õ¥¡¥¤¥ë]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "¥Ð¥¤¥Ê¥ê¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤ò Uniforum ·Á¼°¤Î .po ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2901,12 +3126,12 @@ msgstr ""
" -j, --java Java ¥â¡¼¥É: ÆþÎÏ¤Ï Java ResourceBundle ¥¯¥é"
"¥¹\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# ¥â¡¼¥É: ÆþÎÏ¤Ï .NET .dll ¥Õ¥¡¥¤¥ë\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2915,24 +3140,24 @@ msgstr ""
" --csharp-resources C# resources ¥â¡¼¥É: ÆþÎÏ¤Ï .NET .resources "
"¥Õ¥¡¥¤¥ë\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl ¥â¡¼¥É: ÆþÎÏ¤Ï tcl/msgcat .msg ¥Õ¥¡¥¤¥ë\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FILE ... ÆþÎϤ¹¤ë .mo ¥Õ¥¡¥¤¥ë\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Java ¥â¡¼¥É¤Ë¤ª¤±¤ëÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2943,12 +3168,12 @@ msgstr ""
"¤È\n"
"¤Ç·è¤á¤é¤ì¤Þ¤¹. ¥¯¥é¥¹¤Î¾ì½ê¤Ï CLASSPATH ¤Ç»ØÄꤵ¤ì¤Þ¤¹.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "C# ¥â¡¼¥É¤Ë¤ª¤±¤ëÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -2957,12 +3182,12 @@ msgstr ""
"-l ¤È -d ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü. .dll ¥Õ¥¡¥¤¥ë¤Ï¥í¥«¡¼¥ë¤Ë°Í¸¤·¤¿Ì¾Á°¤ò»ý¤Ä\n"
"»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Þ¤¹.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Tcl ¥â¡¼¥É¤Ë¤ª¤±¤ëÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¾ì½ê:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -2971,17 +3196,17 @@ msgstr ""
"-l ¤È -d ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü. .msg ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Þ"
"¤¹.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent »ú²¼¤²·Á¼°¤Î½ÐÎÏ\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict ¸·Ì©¤Ê Uniforum ·Á¼°¤Ç½ÐÎÏ\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3002,12 +3227,12 @@ msgstr ""
"ºÇ½é¤ÎËÝÌõ¤«¤é¼è¤ê½Ð¤µ¤ì¤Þ¤¹. ¥Õ¥¡¥¤¥ë¤Î°ÌÃ֤Ϥ½¤Î¤Þ¤Þ»Ä¤ê¤Þ¤¹. --unique\n"
"¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È½ÅÊ£¤Ï̵»ë¤µ¤ì¤Þ¤¹.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated ½ÅÊ£¤·¤Æ¤¤¤ë¤â¤Î¤Î¤ß¤òɽ¼¨\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3015,7 +3240,7 @@ msgid ""
msgstr ""
" -u, --unique Í£°ì¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ß¤òɽ¼¨¤·, ½ÅÊ£¤ò̵»ë\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<ɸ½àÆþÎÏ>"
@@ -3071,32 +3296,32 @@ msgstr ""
"ʸ»ú¥»¥Ã¥È¤¬¥Ø¥Ã¥À¤Ë¤¢¤ê¤Þ¤»¤ó.\n"
"¥æ¡¼¥¶¤Îʸ»ú¥»¥Ã¥È¤Ø¤Î¥á¥Ã¥»¡¼¥¸ÊÑ´¹¤¬µ¡Ç½¤·¤Þ¤»¤ó.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "°ì´Ó¤·¤Æ¤¤¤Ê¤¤ #~ ¤Î»ÈÍÑ"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "'msgstr[]' ¤Î¹à¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "'msgid_plural' ¤Î¹à¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "'msgstr' ¤Î¹à¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "ºÇ½é¤ÎÊ£¿ô·Á¤ËÈó¥¼¥í¤Îº÷°ú¤¬¤¢¤ê¤Þ¤¹"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "Ê£¿ô·Á¤Ë´Ö°ã¤Ã¤¿º÷°ú¤¬¤¢¤ê¤Þ¤¹"
@@ -3106,7 +3331,7 @@ msgstr "Ê£¿ô·Á¤Ë´Ö°ã¤Ã¤¿º÷°ú¤¬¤¢¤ê¤Þ¤¹"
msgid "too many errors, aborting"
msgstr "¥¨¥é¡¼¤¬Â¿²á¤®¤ë¤Î¤Ç, ½èÍý¤òÂǤÁÀÚ¤ê¤Þ¤¹"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ÉÔÀµ¤ÊÊ£¿ô¥Ð¥¤¥È¤Î¥·¡¼¥±¥ó¥¹"
@@ -3150,64 +3375,81 @@ msgstr "ʸ»úÎóÃæ¤Î end-of-line"
msgid "context separator <EOT> within string"
msgstr "ʸ»úÎóÃæ¤Îʸ̮¥»¥Ñ¥ì¡¼¥¿ <EOT>"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥É¥á¥¤¥óÌ¿Îá¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤¤è¤¦¤Ç¤¹"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "¥á¥Ã¥»¡¼¥¸¤¬Æó½Å¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "¤³¤ì¤ÏºÇ½é¤ÎÄêµÁ¤Î¾ì½ê¤Ç¤¹"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥°¥ë¡¼¥×̾"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "ÉÔÀµ¤ÊÈó¥Ö¥é¥ó¥¯Ê¸»ú"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "\"%s\" ¤Î¸å¤Ë '=' ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "ÉÔÀµ¤ÊÈó¥Ö¥é¥ó¥¯¹Ô"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤¬Ã»¤¯ÀÚ¤ê¼Î¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤Ï½ªÃ¼¤¬ NUL ¤Ç¤Ê¤¤Ê¸»úÎó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤Ï GNU ¤Î .mo ·Á¼°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤Ï %s ¤Ë½ªÃ¼¤¬ NUL ¤Ç¤Ê¤¤Ê¸»úÎó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "·Ù¹ð: Unicode ʸ»ú¤ËÂФ¹¤ëÉÔÀµ¤Ê \\uxxxx ʸˡ"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "·Ù¹ð: ʸ»úÎó¤Ë½ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "·Ù¹ð: ʸˡ¥¨¥é¡¼"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "·Ù¹ð: ¥­¡¼/ÃͤÎÁȤ˽ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "·Ù¹ð: ʸˡ¥¨¥é¡¼, ʸ»úÎó¤Î¸å¤Ë¤Ï ';'"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "·Ù¹ð: ʸˡ¥¨¥é¡¼, ʸ»úÎó¤Î¸å¤Ë¤Ï '=' ¤Þ¤¿¤Ï ';'"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "ºî¼Ô %s ¤È %s.\n"
@@ -3216,16 +3458,16 @@ msgstr "ºî¼Ô %s ¤È %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Recode Serbian ¥Æ¥­¥¹¥È ¥­¥ê¥ëʸ»ú¤«¤é¥é¥Æ¥óʸ»ú.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3234,29 +3476,29 @@ msgstr ""
"ÆþÎϥƥ­¥¹¥È¤Ïɸ½àÆþÎϤ«¤éÆɤ߹þ¤Þ¤ì¤Þ¤¹. ÊÑ´¹¤µ¤ì¤¿¥Æ¥­¥¹¥È¤Ïɸ½à½ÐÎϤؽÐÎÏ\n"
"¤µ¤ì¤Þ¤¹.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "ÆþÎÏ¤Ï \"%s\" ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë¤ª¤¤¤ÆÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"\"%s\" ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤«¤é \"%s\" ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÊÑ´¹¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸"
"¤·¤Þ¤·¤¿"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "°ú¿ô¤Ï 2¤Ä¤Ç¤¹"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó] URL ¥Õ¥¡¥¤¥ë\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3265,37 +3507,37 @@ msgstr ""
"URL ¤ÎÆâÍƤò¼èÆÀ¤·½ÐÎϤ·¤Þ¤¹. ¤â¤·¤½¤Î URL ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤±¤ì¤Ð,\n"
"¥í¡¼¥«¥ë¤Ë¥¢¥¯¥»¥¹²Äǽ¤Ê FILE ¤¬Âå¤ï¤ê¤Ë»È¤ï¤ì¤Þ¤¹.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "\"%s\" ¤òÆɤ߹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "ɸ½à½ÐÎϤ˽ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "\"%s\" ¤òÆɤ߹þ¤ó¤À¸å¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "%s ¤ò¸¡º÷Ãæ..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " ¥¿¥¤¥à¥¢¥¦¥È.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " ¼ºÇÔ.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3303,7 +3545,7 @@ msgstr ""
"Ê£¿ô¤ÎËÝÌõ¥É¥á¥¤¥ó¤ò»ØÄꤵ¤ì¤¿½ÐÎÏ·Á¼°¤Çñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ"
"¤»¤ó. Âå¤ï¤ê¤Ë PO ¥Õ¥¡¥¤¥ë¤Îʸˡ¤ò»È¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3311,7 +3553,7 @@ msgstr ""
"Ê£¿ô¤ÎËÝÌõ¥É¥á¥¤¥ó¤ò»ØÄꤵ¤ì¤¿½ÐÎÏ·Á¼°¤Çñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ"
"¤»¤ó."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3319,7 +3561,7 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤Ïʸ̮°Í¸¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹¤¬, ½ÐÎÏ·Á¼°¤Ï¤½¤ì¤é¤ò¼ÂÁõ¤·¤Æ"
"¤¤¤Þ¤»¤ó."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3329,7 +3571,7 @@ msgstr ""
"¤¤¤Þ¤»¤ó. °À­¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ë \"msgfmt --java\" ¤ò»È¤Ã¤Æ Java ¥¯¥é¥¹¤òÀ¸À®"
"¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3337,12 +3579,12 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤ÏÊ£¿ô·Á¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹¤¬, ½ÐÎÏ·Á¼°¤Ï¤½¤ì¤é¤ò¼ÂÁõ¤·¤Æ¤¤"
"¤Þ¤»¤ó."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë \"%s\" ¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "ɸ½à½ÐÎÏ"
@@ -3361,32 +3603,33 @@ msgstr "C# ¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ. --verbose ¤ò»î¤·¤Æ¤¯¤À¤µ¤¤"
msgid "compilation of C# class failed"
msgstr "C# ¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "\"%s\" ¤Ë½ñ¤­¹þ¤â¤¦¤È¤·¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "Àµ¤·¤¤ Java ¥¯¥é¥¹Ì¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"Java ¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ. --verbose ¤ò»î¤¹¤« $JAVAC ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "Java ¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ. $JAVAC ¤òÀßÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "\"%s\" ¤Ë½ñ¤­¹þ¤â¤¦¤È¤·¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "ÉÔ´°Á´¤ÊÊ£¿ô¥Ð¥¤¥È¤Î¥·¡¼¥±¥ó¥¹"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3394,7 +3637,7 @@ msgstr ""
"¹ñºÝ²½¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤Ï '\\%c' ¤È¤¤¤¦¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ò´Þ¤ó¤Ç¤Ï¤¤¤±¤Þ¤»"
"¤ó"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3408,7 +3651,7 @@ msgstr ""
"¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3422,7 +3665,7 @@ msgstr ""
"¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3430,7 +3673,7 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤ÏÊ£¿ô·Á¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹.\n"
"¤·¤«¤· Qt ¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°·Á¼°¤ÏÊ£¿ô·Á¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3442,7 +3685,7 @@ msgstr ""
"Qt ¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°·Á¼°¤ÏËÝÌõʸ»úÎó¤Ç¤Î¤ß Unicode ¤ò¼ÂÁõ¤·, ¸µ¤Îʸ»úÎó\n"
"¤Ç¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3453,12 +3696,12 @@ msgstr ""
"Îó\n"
"¤Ç¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó.\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "%s ¥µ¥Ö¥×¥í¥»¥¹¤Ø¤Î½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3466,7 +3709,7 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤Ïʸ̮°Í¸¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹.\n"
"¤·¤«¤· C# .resources ·Á¼°¤Ïʸ̮¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3474,7 +3717,7 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤ÏÊ£¿ô·Á¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹.\n"
"¤·¤«¤· C# .resources ·Á¼°¤ÏÊ£¿ô·Á¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3482,7 +3725,7 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤Ïʸ̮°Í¸¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹.\n"
"¤·¤«¤· Tcl ¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°·Á¼°¤Ïʸ̮¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3490,36 +3733,36 @@ msgstr ""
"¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤Ë¤ÏÊ£¿ô·Á¤ÎËÝÌõ¤¬¤¢¤ê¤Þ¤¹.\n"
"¤·¤«¤· Tcl ¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°·Á¼°¤ÏÊ£¿ô·Á¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: ·Ù¹ð: ʸ»úÎó¤Ë½ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: ·Ù¹ð: Àµµ¬É½¸½¤Ë½ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "·Ù¹ð: ÉÔÀµ¤Ê Unicode ʸ»ú"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: ·Ù¹ð: ʸ»úÄê¿ô¤Ë½ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: ·Ù¹ð: ʸ»úÎó¤Ë½ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "--from-code ¤ÇÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3528,7 +3771,7 @@ msgstr ""
"%s:%d: ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3537,7 +3780,7 @@ msgstr ""
"%s:%d: Ť¤ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3546,7 +3789,7 @@ msgstr ""
"%s:%d: ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3555,12 +3798,12 @@ msgstr ""
"%s:%d: ¹ÔËö¤ËÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv ¤Î¼ºÇÔ"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3569,283 +3812,74 @@ msgstr ""
"%s:%d: ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
"--from-code ¤ÇÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: ·Ù¹ð: ÉÔÀµ¤Ê Unicode ʸ»ú"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: ·Ù¹ð: ʸ»úÎóÄê¿ô¤Ë½ªÃ¼¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: ·Ù¹ð: '}' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë ')' ¤¬¤¢¤ê¤Þ¤¹"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: ·Ù¹ð: ')' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë '}' ¤¬¤¢¤ê¤Þ¤¹"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "'%s' Í×ÁǤ«¤éÃê½Ð¤·¤¿Ê¸»úÎó¤ËÂФ¹¤ë¥³¥ó¥Æ¥­¥¹¥È¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "¥ë¡¼¥ÈÍ×ÁÇ <%s> ¤òÍ­¸ú¤Ê Glade ¥Õ¥¡¥¤¥ë¤ËÆþ¤ì¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"\"glade\" ¸À¸ì¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó. %s ¤Ï expat ¤Ë°Í¸¤·¤Þ¤¹.\n"
-"¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï expat ¤ò´Þ¤Þ¤º¤Ëºî¤é¤ì¤Þ¤·¤¿.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: ·Ù¹ð: Ť¤¥µ¥í¥²¡¼¥È U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "--from-code ¤ÇÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ť¤ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ¹ÔËö¤ËÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤ÇÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: ·Ù¹ð: RegExp ¥ê¥Æ¥é¥ë¤Î½ªÃ¼¤¬Áá²á¤®¤Þ¤¹"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: ·Ù¹ð: %s ¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: ·Ù¹ð: ½ªÃ¼¤Î¤Ê¤¤ XML ¥Þ¡¼¥¯¥¢¥Ã¥×"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: EOF ¤ÎÁ°¤Î¤É¤³¤Ë¤âʸ»úÎó½ªÃ¼ \"%s\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: \\x{HEXNUMBER} ¤Ë±¦³ç¸Ì¤¬¤¢¤ê¤Þ¤»¤ó"
-
-#: src/x-perl.c:1163
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\l\") 8bit ʸ»ú \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\u\") 8bit ʸ»ú \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: \"%c\" ¤ËÉÔÀµ¤ÊÊÑ¿ôÊä´Ö"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\L\") 8bit ʸ»ú \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\U\") 8bit ʸ»ú \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
-"¤ò\n"
-"»È¤Ã¤ÆÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
-"¤ò\n"
-"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ť¤ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
-"¤ò\n"
-"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
-"¤ò\n"
-"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ¹ÔËö¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
-"¤ò\n"
-"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "'%s' ¤ÏÍ­¸ú¤Ê¥¨¥ó¥³¡¼¥É̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. Âå¤ï¤ê¤Ë ASCII ¤ò»ÈÍÑ.\n"
-#: src/x-python.c:397
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
-"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
-"¤ò\n"
-"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+msgid "syntax check '%s' unknown"
+msgstr "¹½Ê¸¥Á¥§¥Ã¥¯ '%s' ¤ÏÃΤê¤Þ¤»¤ó"
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "̤ÃΤΥ¨¥ó¥³¡¼¥Ç¥£¥ó¥° \"%s\". Âå¤ï¤ê¤Ë ASCII ¤È¤·¤Æ¿Ê¤á¤Þ¤¹."
+msgid "sentence end type '%s' unknown"
+msgstr "ʸËö¤Î¥¿¥¤¥× '%s' ¤ÏÃΤê¤Þ¤»¤ó"
-#: src/x-rst.c:108
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ÉÔÀµ¤Êʸ»úÎóÄêµÁ"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-existing ¤Ï½ÐÎÏÀ褬ɸ½à½ÐÎϤξì¹ç¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: # ¤Î¸å¤Ë¿ô»ú¤¬¤¢¤ê¤Þ¤»¤ó"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext ¤Ï¸¡º÷¤¹¤ë¥­¡¼¥ï¡¼¥É¤¬¤Ê¤±¤ì¤ÐÆ°¤­¤Þ¤»¤ó"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ÉÔÀµ¤Êʸ»úÎóɽ¸½"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "·Ù¹ð: ITS ¥ë¡¼¥ë¥Õ¥¡¥¤¥ë '%s' ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: ·Ù¹ð: ʸˡ $\"...\" ¤Ï¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤Ç¿ä¾©¤µ¤ì¤Þ¤»¤ó. Âå¤ï¤ê¤Ë "
-"eval_gettext ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: ·Ù¹ð: Àµµ¬É½¸½¥ê¥Æ¥é¥ë¤Î½ªÃ¼¤¬Áá²á¤®¤Þ¤¹"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "'%s' ¤ÏÍ­¸ú¤Ê¥¨¥ó¥³¡¼¥É̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. Âå¤ï¤ê¤Ë ASCII ¤ò»ÈÍÑ.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-existing ¤Ï½ÐÎÏÀ褬ɸ½à½ÐÎϤξì¹ç¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext ¤Ï¸¡º÷¤¹¤ë¥­¡¼¥ï¡¼¥É¤¬¤Ê¤±¤ì¤ÐÆ°¤­¤Þ¤»¤ó"
+"·Ù¹ð: ITS ¥ë¡¼¥ë¥Õ¥¡¥¤¥ë '%s' ¤¬¤¢¤ê¤Þ¤»¤ó. gettext ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò³Îǧ"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "·Ù¹ð: ¥Õ¥¡¥¤¥ë '%s' (³ÈÄ¥»Ò '%s') ¤Ï̤ÃΤηÁ¼°¤Ê¤Î¤Ç C ¸À¸ì¤ò»î¤·¤Þ¤¹"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Í¿¤¨¤é¤ì¤¿ÆþÎÏ¥Õ¥¡¥¤¥ë¤«¤éËÝÌõ²Äǽ¤Êʸ»úÎó¤ò¼è¤ê½Ð¤·¤Þ¤¹.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3853,23 +3887,23 @@ msgid ""
msgstr ""
" -d, --default-domain=NAME ½ÐÎÏ¤Ë NAME.po ¤ò»ÈÍÑ (message.po ¤ÎÂå¤ï¤ê)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FILE »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë½ÐÎÏ\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=DIR ¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ë¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¸À¸ì¤ÎÁªÂò:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3890,19 +3924,19 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ --language=C++ ¤Îû½Ì·Á\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "ɸ½à¤Ç¸À¸ì¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤Ç¼±Ê̤µ¤ì¤Þ¤¹.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3911,22 +3945,22 @@ msgstr ""
" --from-code=NAME ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°\n"
" (Python, Tcl, Glade °Ê³°)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "ɸ½à¤Ç¤Ï, ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï ASCII ¤È²¾Äꤵ¤ì¤Þ¤¹.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing ¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤È¥á¥Ã¥»¡¼¥¸¤ò·ë¹ç\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FILE.po FILE.po ¤«¤é¤Î¹àÌܤÏÃê½Ð¤µ¤ì¤Ê¤¤\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3940,17 +3974,39 @@ msgstr ""
" -c, --add-comments[=TAG] ¥­¡¼¥ï¡¼¥É¹Ô¤Þ¤Ç¤ÎÁ´¤Æ¤Î¥³¥á¥ó¥ÈÉôʬ¤ò\n"
" ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ËÆþ¤ì¤ë\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NAME ¥á¥Ã¥»¡¼¥¸¤ËÂФ·¤Æ¹½Ê¸¥Á¥§¥Ã¥¯¤ò¼Â¹Ô\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYPE ʸËö¤Îµ­½Ò¥¿¥¤¥×\n"
+" (single-space ¤Þ¤¿¤Ï double-space, \n"
+" ɸ½à¤Ï single-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "¸À¸ì»ØÄꥪ¥×¥·¥ç¥ó:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all Á´¤Æ¤Îʸ»úÎó¤òÃê½Ð\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3965,7 +4021,7 @@ msgstr ""
" C#, awk. Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala ¸À¸ì¤Î¤ß)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3980,7 +4036,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3991,7 +4047,7 @@ msgstr ""
"¤¹¤ë\n"
" Éղåե饰\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4006,53 +4062,63 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala ¸À¸ì¤Î¤ß)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs ÆþÎϤµ¤ì¤¿ ANSI C ¥È¥é¥¤¥°¥é¥Õ¤òǧ¼±\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (C, C++, ObjectiveC ¸À¸ì¤Î¤ß)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt Qt ·Á¼°¤Îʸ»úÎó¤òǧ¼±\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (C++ ¸À¸ì¤Î¤ß)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde KDE 4 ·Á¼°¤Îʸ»úÎó¤òǧ¼±\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost Boost ·Á¼°¤Îʸ»úÎó¤òǧ¼±\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr " --debug ¤è¤ê¾ÜºÙ¤Ê¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Îǧ¼±·ë²Ì\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output Java .properties ¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=FILE FILE ¤«¤é ITS ¥ë¡¼¥ë¤òŬÍÑ\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool itstool ¥³¥á¥ó¥È¤ò½ñ¤­½Ð¤·\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=STRING Ãøºî¸¢ÊÝÍ­¼Ô¤ò½ÐÎϤÇÀßÄê\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4060,24 +4126,24 @@ msgstr ""
" --foreign-user GNU ¥×¥í¥¸¥§¥¯¥È°Ê³°¤Î¥æ¡¼¥¶¸þ¤±¤Ë½ÐÎÏÃæ¤Î FSF "
"Ãøºî¸¢¤ò¾Êά\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACKAGE ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò½ÐÎϤÇÀßÄê\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION ¥Ñ¥Ã¥±¡¼¥¸¥Ð¡¼¥¸¥ç¥ó¤ò½ÐÎϤÇÀßÄê\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=EMAIL@ADDRESS msgid ¤Î¥Ð¥°Êó¹ðÍÑ¥¢¥É¥ì¥¹¤òÀßÄê\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4088,7 +4154,7 @@ msgstr ""
"\"\"\n"
" ¤ò»ÈÍÑ\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4099,7 +4165,7 @@ msgstr ""
"\"\"\n"
" ¤ò»ÈÍÑ\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4107,31 +4173,31 @@ msgid ""
msgstr ""
"--flag °ú¿ô¤Ï <keyword>:<argnum>:[pass-]<flag> ʸˡ¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "ɸ½àÆþÎÏ"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "%s%s ¤ËÈóASCIIʸ»ú."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "%s%s ¤Þ¤¿¤Ï¤½¤ÎÁ°¤ËÈóASCII¥³¥á¥ó¥È."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "%s%s ¤ËÈóASCIIʸ»úÎó."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: ·Ù¹ð: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4140,7 +4206,7 @@ msgstr ""
"¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Î°ÌÃ֤ǻȤï¤ì¤Æ¤¤¤Þ¤¹¤¬, %s ¤ÏÀµ¤·¤¤ %s ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó"
"¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. Íýͳ: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4149,7 +4215,7 @@ msgstr ""
"¤½¤Î¤è¤¦¤ËÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬, '%s' ¤ÏÀµ¤·¤¤ %s ·Á¼°¤Îʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. Íý"
"ͳ: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4162,7 +4228,7 @@ msgstr ""
"̾Á°ÉÕ¤­°ú¿ô¤Î¤¢¤ë¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤ò»È¤¦¤³¤È, ³î¤Ä°ú¿ô¤ËÂФ·¤ÆÁÈ (tuple)\n"
"¤ÎÂå¤ï¤ê¤Ë¥Þ¥Ã¥Ô¥ó¥°¤ò»È¤¦¤³¤È¤ò¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4172,27 +4238,27 @@ msgstr ""
"gettext(\"\") ¤Ï¥á¥¿¾ðÊó¤ÎÉÕ¤¤¤¿¥Ø¥Ã¥À¥¨¥ó¥È¥ê¤òÊÖ¤·¤Þ¤¹¤¬\n"
"¶õ¤Îʸ»úÎó¤ÏÊÖ¤·¤Þ¤»¤ó.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "¥­¡¼¥ï¡¼¥É '%.*s' ¤ËÂФ¹¤ë°ú¿ô»ØÄ꤬ۣËæ¤Ç¤¹"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "·Ù¹ð: ¥­¡¼¥ï¡¼¥É '%.*s' ¤ËÂФ¹¤ëʸ̮¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "·Ù¹ð: ¥­¡¼¥ï¡¼¥É '%.*s' ¤ÎÊ£¿ô·Á°ú¿ô¤Ëʸ̮¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "ʸ̮¤¬Ã±¿ô·Ï¤ÈÊ£¿ô·Á¤Ç°ìÃפ·¤Þ¤»¤ó"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4204,11 +4270,343 @@ msgstr ""
"¤¤.\n"
"¤â¤·¤¯¤Ï, ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó --msgid-bugs-address ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "¸À¸ì '%s' ¤ÏÃΤê¤Þ¤»¤ó"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: ·Ù¹ð: Ť¤¥µ¥í¥²¡¼¥È U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "--from-code ¤ÇÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ť¤ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ¹ÔËö¤ËÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤ÇÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤ÇÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: ·Ù¹ð: RegExp ¥ê¥Æ¥é¥ë¤Î½ªÃ¼¤¬Áá²á¤®¤Þ¤¹"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: ·Ù¹ð: %s ¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: ·Ù¹ð: ½ªÃ¼¤Î¤Ê¤¤ XML ¥Þ¡¼¥¯¥¢¥Ã¥×"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: EOF ¤ÎÁ°¤Î¤É¤³¤Ë¤âʸ»úÎó½ªÃ¼ \"%s\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: \\x{HEXNUMBER} ¤Ë±¦³ç¸Ì¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\l\") 8bit ʸ»ú \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\u\") 8bit ʸ»ú \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: \"%c\" ¤ËÉÔÀµ¤ÊÊÑ¿ôÊä´Ö"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\L\") 8bit ʸ»ú \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: ÉÔÀµ¤ÊÊä´Ö (\"\\U\") 8bit ʸ»ú \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
+"¤ò\n"
+"»È¤Ã¤ÆÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
+"¤ò\n"
+"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ť¤ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
+"¤ò\n"
+"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
+"¤ò\n"
+"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ¹ÔËö¤ËÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
+"¤ò\n"
+"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ̵¸ú¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¥·¡¼¥±¥ó¥¹.\n"
+"--from-code ¤Þ¤¿¤Ï http://www.python.org/peps/pep-0263.html ¤Ë¤¢¤ë¥³¥á¥ó¥È"
+"¤ò\n"
+"»È¤Ã¤ÆÀµ¤·¤¤ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "̤ÃΤΥ¨¥ó¥³¡¼¥Ç¥£¥ó¥° \"%s\". Âå¤ï¤ê¤Ë ASCII ¤È¤·¤Æ¿Ê¤á¤Þ¤¹."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ÉÔÀµ¤Êʸ»úÎóÄêµÁ"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: # ¤Î¸å¤Ë¿ô»ú¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ÉÔÀµ¤Êʸ»úÎóɽ¸½"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: ·Ù¹ð: ʸˡ $\"...\" ¤Ï¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤Ç¿ä¾©¤µ¤ì¤Þ¤»¤ó. Âå¤ï¤ê¤Ë "
+"eval_gettext ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: ·Ù¹ð: Àµµ¬É½¸½¥ê¥Æ¥é¥ë¤Î½ªÃ¼¤¬Áá²á¤®¤Þ¤¹"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<̾Á°¤Ê¤·>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "ÉÔÀµ¤Ê UTF-8 ¥·¡¼¥±¥ó¥¹"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "'%s' ¤ÏÀµ¤·¤¤Ì¾Á°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "'%s' ¤ÏÀµ¤·¤¤Ì¾Á°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: '%c'"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "ÉÔÀµ¤Êʸ»ú»²¾È: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "¿ôÃͤλØÄ꤬ÉÔÀµ"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "ËöÈø ';' ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤Ê¸»ú"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "¶õ"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "̤ÃÎ"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "̵¸ú¤Ê¥¨¥ó¥Æ¥£¥Æ¥£»²¾È: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "ʸ½ñ¤ÏÍ×ÁǤ«¤é»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "'%s' ¤Î¸å¤ÎÉÔÀµ¤Êʸ»ú"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "'%c' ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "'%c' ¤Þ¤¿¤Ï '%c' ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "¶á¤¤Í×ÁÇ̾"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "Í×ÁǤÏÊĤ¸¤é¤ì¤Æ¤¤¤Þ¤¹"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "¶õ¤Îʸ½ñ"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "'<' ¤Î¸å"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "Í×ÁǤϤޤÀ³«¤¤¤Æ¤¤¤Þ¤¹"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "'>' ¤¬Â­¤ê¤Þ¤»¤ó"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "Í×ÁÇ̾¤ÎÃæ"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "°À­Ì¾¤ÎÃæ"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "³«¤¤¤¿¥¿¥°¤ÎÃæ"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "'=' ¤Î¸å"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "°À­ÃͤÎÃæ"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "ÊĤ¸¤é¤ì¤¿¥¿¥°¤ÎÃæ"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "¥³¥á¥ó¥È¤Þ¤¿¤Ï½èÍýÌ¿Îá¤ÎÃæ"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "ʸ½ñ¤¬ÁÛÄê³°¤Ë½ªÎ»: %s"
+
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "¥ë¡¼¥ÈÍ×ÁÇ <%s> ¤òÍ­¸ú¤Ê CLDR ¥Õ¥¡¥¤¥ë¤ËÆþ¤ì¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
diff --git a/gettext-tools/po/ko.gmo b/gettext-tools/po/ko.gmo
index 7b04397..8e6969a 100644
--- a/gettext-tools/po/ko.gmo
+++ b/gettext-tools/po/ko.gmo
Binary files differ
diff --git a/gettext-tools/po/ko.po b/gettext-tools/po/ko.po
index 8d804c2..2c4ea5e 100644
--- a/gettext-tools/po/ko.po
+++ b/gettext-tools/po/ko.po
@@ -3,16 +3,16 @@
# This file is distributed under the same license as the gettext package.
#
# Bang Jun-Young <bangjy@geocities.com>, 1995-1997.
-# Changwoo Ryu <cwryu@debian.org>, 2001-2005, 2007, 2009-2010, 2013-2014.
+# Changwoo Ryu <cwryu@debian.org>, 2001-2005, 2007, 2009-2010, 2013-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.3\n"
+"Project-Id-Version: gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-18 05:54+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-06-28 05:22+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
-"Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n"
+"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -57,40 +57,40 @@ msgstr "ìž„ì‹œ 디렉터리 %sì„(를) 지울 수 없습니다"
msgid "write error"
msgstr "쓰기 오류"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "%sì— ëŒ€í•œ 권한 ë³´ì¡´"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "ì½ìœ¼ë ¤ê³  %s 파ì¼ì„ 여는 ë™ì•ˆ 오류 ë°œìƒ"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "%s 백업 파ì¼ì„ 위해 열지 못했습니다"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "%s 파ì¼ì„ ì½ëŠ” ë™ì•ˆ 오류 ë°œìƒ"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "%s 파ì¼ì„ 쓰는 ë™ì•ˆ 오류 ë°œìƒ"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "%s 파ì¼ì„ ì½ì€ í›„ì— ì˜¤ë¥˜ ë°œìƒ"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen()ì´ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
@@ -116,58 +116,63 @@ msgstr "알 수 없는 시스템 오류"
msgid "%s subprocess failed"
msgstr "%s 하위 프로세스가 실패했습니다"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: '%s' ì˜µì…˜ì€ ëª¨í˜¸í•œ 옵션입니다. 가능한 옵션ì€:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: '%s' ì˜µì…˜ì€ ëª¨í˜¸í•œ 옵션입니다\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: '--%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: '%c%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: '--%s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ì¸ì‹í•  수 없는 옵션 '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ì¸ì‹í•  수 없는 옵션 '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: 부ì ì ˆí•œ 옵션 -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: ì´ ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다 -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: '-W %s' ì˜µì…˜ì€ ëª¨í˜¸í•œ 옵션입니다\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: '-W %s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: '-W %s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n"
@@ -183,15 +188,16 @@ msgstr "compile_java_classì— ëŒ€í•œ source_version ì¸ìžê°€ 잘못ë˜ì—ˆìŠµë‹ˆ
msgid "invalid target_version argument to compile_java_class"
msgstr "compile_java_classì— ëŒ€í•œ target_version ì¸ìžê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "\"%s\"ì„(를) 만드는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "\"%s\" 파ì¼ì„ 쓰는 ë™ì•ˆ 오류 ë°œìƒ"
@@ -208,15 +214,15 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"ìžë°” ê°€ìƒê¸°ê³„ê°€ 없습니다. gij를 설치하거나 $JAVAC 환경변수를 세팅하십시오"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s 하위 프로세스 입출력 오류"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "메모리가 바닥났습니다"
@@ -227,7 +233,7 @@ msgid "creation of threads failed"
msgstr "스레드 ë§Œë“¤ê¸°ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "%s 하위 í”„ë¡œì„¸ìŠ¤ì— ì“°ê¸°ê°€ 실패했습니다"
@@ -273,11 +279,11 @@ msgstr "%s 하위 프로세스가 종료 코드 %d번으로 ë났습니다"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -314,52 +320,195 @@ msgstr "%s 하위 프로세스"
msgid "%s subprocess got fatal signal %d"
msgstr "%s 하위 프로세스가 치명ì ì¸ ì‹œê·¸ë„ %dë²ˆì„ ë°›ì•˜ìŠµë‹ˆë‹¤"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "ì½ìœ¼ë ¤ê³  \"%s\"ì„(를) 여는 ë™ì•ˆ 오류 ë°œìƒ"
+msgid "The root element must be <%s>"
+msgstr ""
+
+# XML 엘리먼트를 ë§í•œë‹¤
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "글레ì´ë“œ 파ì¼ì—ì„œ 최ìƒìœ„ 엘리먼트로 <%s>ì€(는) 허용하지 않습니다"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"'%3$s'와는 달리, '%1$s'ì€(는) 올바른 %2$s í˜•ì‹ ë¬¸ìžì—´ì´ 아닙니다. ì´ìœ : %4$s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "ë” ë§Žì€ ì •ë³´ë¥¼ 보려면 '%s --help' 하십시오.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"긴 옵션ì—ì„œ ê¼­ 필요한 ì¸ìˆ˜ëŠ” ì§§ì€ ì˜µì…˜ì—ë„ ê¼­ 필요합니다.\n"
+"ì—†ì–´ë„ ë˜ëŠ” ì¸ìžë„ 마찬가지입니다.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help ì´ ë„움ë§ì„ 보여주고 ë납니다\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help ì´ ë„움ë§ì„ 보여주고 ë납니다\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version 버전 정보를 표시하고 ë납니다\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "<bug-gnu-gettext@gnu.org>ë¡œ 문제ì ì„ 알려 주십시오.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "%sì´(ê°€) 만들었습니다.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s 파ì¼ì´ 있지만 ì½ì„ 수 없습니다"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "ìž„ì‹œ 디렉터리 %sì„(를) 지울 수 없습니다"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "ì½ìœ¼ë ¤ê³  \"%s\"ì„(를) 여는 ë™ì•ˆ 오류 ë°œìƒ"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "'%2$s' ì•ˆì— ìžˆëŠ”, ì¸ìž %1$uì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%3$s'ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "ì¸ìž %uì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%s'ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "'%s'ê³¼(와) '%s'ì— ì“°ì¸ ì¸ìž %uì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ ê°™ì§€ 않습니다"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "ì§€ì‹œìž %uë²ˆì´ |ë¡œ 시작하지만 |ë¡œ ë나지 않습니다."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%3$s'와는 달리, '%1$s'ì€(는) 올바른 %2$s í˜•ì‹ ë¬¸ìžì—´ì´ 아닙니다. ì´ìœ : %4$s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -368,58 +517,58 @@ msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, '<' ë’¤ì˜ í† í°ì´ í¬ë§·ì„ 지정하는 매í¬ë¡œ ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤. 올바"
"른 매í¬ë¡œ ì´ë¦„ì€ ISO C 99 섹션 7.8.1ì— ì—´ê±°ë˜ì–´ 있습니다."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, '<' ë’¤ì˜ í† í° ë‹¤ìŒì— '>'ê°€ 오지 않습니다."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr "문ìžì—´ì´ ì¸ìž 번호 %uì„(를) 참조하지만 ì¸ìž 번호 %uì„(를) 무시합니다."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "'%s'ê³¼(와) '%s'ì— ì“°ì¸ ì„œì‹ ì§€ì •ìžì˜ 개수가 ì¼ì¹˜í•˜ì§€ 않습니다"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, '{' 다ìŒì— ì¸ìž 번호가 오지 않습니다."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, ìˆ«ìž ë‹¤ìŒì— ','ê°€ 오지 않습니다."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"문ìžì—´ì´ ì§€ì‹œìž ì¤‘ê°„ì—ì„œ ë납니다: ì§ì´ 맞는 '}'ê°€ 없는 '{'를 발견했습니다."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "ì§€ì‹œìž %uë²ˆì´ '}'ê°€ ì•„ë‹ˆë¼ ìž˜ëª»ëœ '%c' 문ìžë¡œ ë납니다."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "ì§€ì‹œìž %uë²ˆì´ '}'ê°€ ì•„ë‹ˆë¼ ìž˜ëª»ëœ ë¬¸ìžë¡œ ë납니다."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"ì§€ì‹œìž ì¤‘ê°„ì—ì„œ 문ìžì—´ì´ 시작합니다: ì§ì´ 맞는 '}'ê°€ 없는 '{'를 발견했습니다."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "문ìžì—´ì— ì§€ì‹œìž %u번 ë’¤ì— '}'ê°€ 들어 있습니다."
@@ -529,7 +678,7 @@ msgstr "ì§€ì‹œìž %uë²ˆì„ ë마치는 문ìžê°€ 올바른 변환 지정ìžê°€
msgid "The string refers to argument number %u in incompatible ways."
msgstr "문ìžì—´ì—ì„œ 호환ë˜ì§€ 않는 방법으로 ì¸ìž 번호 %uì„(를) 참조합니다."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -537,19 +686,19 @@ msgid ""
msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, 서브문ìžì—´ \"%s\"ì€(는) 올바른 날짜/ì‹œê° ìŠ¤íƒ€ì¼ì´ 아닙니다."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, \"%s\" 다ìŒì— 쉼표가 오지 않습니다."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, 서브문ìžì—´ \"%s\"ì€(는) 올바른 ìˆ«ìž ìŠ¤íƒ€ì¼ì´ 아닙니다."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -558,12 +707,12 @@ msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, ì¸ìž 번호 다ìŒì— 쉼표와 \"%s\", \"%s\", \"%s\", \"%s\"ì¤‘ì˜ "
"하나가 오지 않습니다."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, ì„ íƒ ì§€ì •ì— ìˆ«ìžê°€ 들어 있지 않습니다."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -572,24 +721,45 @@ msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, ì„ íƒ ì§€ì •ì— ìˆ«ìž ë‹¤ìŒì— '<', '#', í˜¹ì€ '%s'ì´(ê°€) 오지 않습"
"니다."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "'%2$s' ì•ˆì— ìžˆëŠ”, ì¸ìž {%1$u}ì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%3$s'ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "ì¸ìž {%u}ì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%s'ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "ì¸ìž {%3$u}ì— ëŒ€í•œ '%1$s'ê³¼(와) '%2$s'ì˜ ì„œì‹ ì§€ì •ì´ ê°™ì§€ 않습니다"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"문ìžì—´ì´ ì¸ìž 번호 %uì„(를) 참조하지만 ì¸ìž 번호 %u ë° %uì„(를) 무시합니다."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"ì¸ìž %u ë° %uì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%s'ì— ì—†ê³ , ì¸ìž 하나만 무시할 수 있습니다."
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "분ì„í•˜ëŠ”ë° ì˜¤ë¥˜: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -598,7 +768,7 @@ msgid ""
msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, 파ë¼ë¯¸í„° %uì€(는) '%s' 타입ì´ì§€ë§Œ, '%s' 타입ì´ì–´ì•¼ 합니다."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -610,33 +780,33 @@ msgstr[0] ""
"ì§€ì‹œìž %u번ì—ì„œ, 매개변수가 너무 많습니다. 매개변수는 최대 %u개만 올 수 있습"
"니다."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, '%c' 다ìŒì— 숫ìžê°€ 오지 않습니다."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, ì¸ìž %dì´(ê°€) 0보다 작습니다."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "문ìžì—´ì´ ~/.../ 지시ìžì˜ 중간ì—ì„œ ë납니다."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "'~%c'ì— ì§ì´ 맞는 '~%c'ì´(ê°€) 없습니다."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, @와 : 변경ìžê°€ ëª¨ë‘ ë“¤ì–´ 있습니다."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -645,41 +815,66 @@ msgstr ""
"ì§€ì‹œìž %u번ì—ì„œ, '~:[' 다ìŒì— 와야 하는 '~;'ë¡œ êµ¬ë¶„ëœ ë‘ ê°œì˜ ì ˆì´ ì˜¤ì§€ 않습"
"니다."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, '~;'ì´ ìž˜ëª»ëœ ìœ„ì¹˜ì— ì“°ì—¬ì¡ŒìŠµë‹ˆë‹¤."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "문ìžì—´ì´ 호환ë˜ì§€ 않는 방법으로 ì¸ìžë¥¼ 참조합니다."
# 여기서 equivalentì— ëŒ€í•œ í•´ì„ì€?
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "'%s'ê³¼(와) '%s'ì˜ ì„œì‹ ì§€ì •ì´ ë™ë“±í•˜ì§€ 않습니다"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "'%s' ì•ˆì— ìžˆëŠ” ì„œì‹ ì§€ì •ì´ '%s'ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "ì¸ìž '%s'ì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%s'ì— ì—†ìŠµë‹ˆë‹¤"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, í¬ê¸° ì§€ì •ì€ '%c' 변환 지정과 호환ë˜ì§€ 않습니다."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "ì¸ìž '%s'ì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%s'ì— ì—†ìŠµë‹ˆë‹¤"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "ì§€ì‹œìž %u번ì—ì„œ, í•„ë“œ ì´ë¦„ì´ '%c' 문ìžë¡œ 시작할 수 없습니다."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "ì§€ì‹œìž %u번ì—ì„œ, getattr ì¸ìžê°€ '%c' 문ìžë¡œ 시작할 수 없습니다."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "ì§€ì‹œìž %u번ì—ì„œ, getitem ì¸ìžê°€ '%c' 문ìžë¡œ 시작할 수 없습니다."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "ì§€ì‹œìž %u번ì—ì„œ, í¬ë§· 지정ì—ì„œ ë” ì´ìƒì€ ë„¤ìŠ¤íŒ…ì„ í—ˆìš©í•˜ì§€ 않습니다."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "ì§€ì‹œìž %u번ì—ì„œ, í¬ë§· 지시ìžë¥¼ 마치지 않았습니다."
-#: src/format-python.c:115
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -687,63 +882,37 @@ msgstr ""
"문ìžì—´ì´ ì¸ìž ì´ë¦„ì„ í†µí•œ 방법과 ì´ë¦„ì—†ì´ ì§€ì •í•˜ëŠ” 방법 ë‘ ê°€ì§€ë¡œ ì¸ìžë¥¼ 참조"
"합니다."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "문ìžì—´ì´ 호환ë˜ì§€ 않는 방법으로 '%s'(ì´)ë¼ëŠ” ì´ë¦„ì˜ ì¸ìžë¥¼ 참조합니다."
# mappingê³¼ tuple: python ë°ì´íƒ€ 구조
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "'%s'ì˜ ì„œì‹ ì§€ì •ìžëŠ” ë§¤í•‘ì´ í•„ìš”í•œë°, '%s'ì—는 í„°í”Œì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "'%s'ì˜ ì„œì‹ ì§€ì •ìžëŠ” í„°í”Œì´ í•„ìš”í•œë°, '%s'ì—는 ë§¤í•‘ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "'%2$s' ì•ˆì— ìžˆëŠ”, ì¸ìž '%1$s'ì— ëŒ€í•œ ì„œì‹ ì§€ì •ì´ '%3$s'ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "ì¸ìž '%s'ì— ëŒ€í•œ '%s'ê³¼(와) '%s'ì˜ ì„œì‹ ì§€ì •ì´ ê°™ì§€ 않습니다"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "ì§€ì‹œìž %u번ì—ì„œ, í•„ë“œ ì´ë¦„ì´ '%c' 문ìžë¡œ 시작할 수 없습니다."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "ì§€ì‹œìž %u번ì—ì„œ, getattr ì¸ìžê°€ '%c' 문ìžë¡œ 시작할 수 없습니다."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "ì§€ì‹œìž %u번ì—ì„œ, getitem ì¸ìžê°€ '%c' 문ìžë¡œ 시작할 수 없습니다."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "ì§€ì‹œìž %u번ì—ì„œ, í¬ë§· 지정ì—ì„œ ë” ì´ìƒì€ ë„¤ìŠ¤íŒ…ì„ í—ˆìš©í•˜ì§€ 않습니다."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "ì§€ì‹œìž %u번ì—ì„œ, í¬ë§· 지시ìžë¥¼ 마치지 않았습니다."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -752,11 +921,11 @@ msgstr ""
"'%s'ì€(는) 간단한 í˜•ì‹ ë¬¸ìžì—´ì´ì§€ë§Œ '%s' 문ìžì—´ì€ 아닙니다: 'L' 플래그가 들"
"ì–´ 있거나 ì¸ìž 번호가 ë‘ ìžë¦¬ë¡œ 들어 있습니다."
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "문ìžì—´ì´ ASCIIê°€ ì•„ë‹Œ ì´ë¦„으로 쉘 변수를 참조합니다."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -764,99 +933,64 @@ msgstr ""
"문ìžì—´ì´ 복잡한 쉘 중괄호 문법으로 쉘 변수를 참조합니다. ì´ ë¬¸ë²•ì€ ë³´ì•ˆìƒì˜ "
"ì´ìœ ë•Œë¬¸ì— 지ì›í•˜ì§€ 않습니다."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr "문ìžì—´ì´ 쉘 함수 안ì—ì„œ 다를 ìˆ˜ë„ ìžˆëŠ” 쉘 변수를 참조합니다."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "문ìžì—´ì´ 빈 ì´ë¦„ì˜ ì‰˜ 변수를 참조합니다."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "ì§€ì‹œìž %u번ì—ì„œ, ë¬¸ìž '%c'ì´(ê°€) 1ê³¼ 9 사ì´ì˜ 숫ìžê°€ 아닙니다."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "ì§€ì‹œìž %uë²ˆì„ ë마치는 문ìžê°€ 1ê³¼ 9 사ì´ì˜ 숫ìžê°€ 아닙니다."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "%sì´(ê°€) 만들었습니다.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "브루노 í—¤ì´ë¸”(Bruno Haible)"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "ì¸ìˆ˜ê°€ 너무 많ìŒ"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "ë” ë§Žì€ ì •ë³´ë¥¼ 보려면 '%s --help' 하십시오.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "사용법: %s [<옵션>]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "ì´ ê¸°ê³„ì˜ í˜¸ìŠ¤íŠ¸ì´ë¦„ì„ í‘œì‹œí•©ë‹ˆë‹¤.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "출력 형ì‹:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short ì§§ì€ í˜¸ìŠ¤íŠ¸ì´ë¦„\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -866,139 +1000,166 @@ msgstr ""
" -f, --fqdn, --long 긴 호스트ì´ë¦„, 완전 ê³µì¸ ë„ë©”ì¸ì´ë¦„(Fully Qualified\n"
" Domain Name) ë° ë³„ëª…(alias)ë“¤ì„ ëª¨ë‘ í¬í•¨\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address 호스트ì´ë¦„ì— ëŒ€í•œ 주소\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "정보 출력:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help ì´ ë„움ë§ì„ 보여주고 ë납니다\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "호스트ì´ë¦„ì„ ì•Œì•„ë‚¼ 수 없습니다"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version 버전 정보를 표시하고 ë납니다\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "최소한 íŒŒì¼ ë‘ ê°œë¥¼ 지정해야 합니다"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "<bug-gnu-gettext@gnu.org>ë¡œ 문제ì ì„ 알려 주십시오.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "파ì´í”„를 만들 수 없습니다"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "호스트ì´ë¦„ì„ ì•Œì•„ë‚¼ 수 없습니다"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "`%2$s'ì— ëŒ€í•œ ì¸ìž `%1$s'ì´(ê°€) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "파ì´í”„를 만들 수 없습니다"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s 파ì¼ì´ 없습니다"
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "출력 íŒŒì¼ \"%s\"ì„(를) 만들 수 없습니다"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "최대 í•œ ê°œì˜ ìž…ë ¥íŒŒì¼ë§Œì´ 허용ë©ë‹ˆë‹¤"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%sê³¼(와) %sì€(는) 서로 배타ì ìž…니다"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "사용법: %s [옵션] [입력파ì¼]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr "번역 메시지를 ê·¸ ì†ì„±ì— ë”°ë¼ ê±¸ëŸ¬ë‚´ê³ , ê·¸ ì†ì„±ì„ 조작합니다.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr "긴 옵션ì—ì„œ ê¼­ 필요한 ì¸ìˆ˜ëŠ” ì§§ì€ ì˜µì…˜ì—ë„ ê¼­ 필요합니다.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "ìž…ë ¥ íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " <입력파ì¼> ìž…ë ¥ PO 파ì¼\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=<디렉터리> ìž…ë ¥ íŒŒì¼ íƒìƒ‰ ëª…ë‹¨ì— <디렉터리>를 추가합니다\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "ìž…ë ¥ 파ì¼ì´ 주어지지 않거나 \"-\"ì´ë©´, 표준 ìž…ë ¥ì—ì„œ ì½ìŠµë‹ˆë‹¤.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "출력 íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=<파ì¼> 지정한 파ì¼ë¡œ 출력합니다\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1007,12 +1168,12 @@ msgstr ""
"만약 출력 파ì¼ì´ 지정ë˜ì§€ 않았거나 \"-\"ì¸ ê²½ìš°, ê²°ê³¼ë¬¼ì„ í‘œì¤€ 출력으로 \n"
"출력합니다.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "메시지 ì„ íƒ:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1020,7 +1181,7 @@ msgstr ""
" --translated 번역ë˜ì—ˆìœ¼ë©´ 놔 ë‘ê³ , 번역ë˜ì§€ 않았으면 지ì›ë‹ˆ"
"다\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1028,54 +1189,54 @@ msgstr ""
" --untranslated 번역ë˜ì§€ 않았으면 놔 ë‘ê³ , 번역ë˜ì—ˆìœ¼ë©´ 지ì›ë‹ˆ"
"다\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy 'fuzzy'ë¡œ í‘œì‹œëœ ë©”ì‹œì§€ë¥¼ 지ì›ë‹ˆë‹¤\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy 'fuzzy'ë¡œ í‘œì‹œëœ ë©”ì‹œì§€ë¥¼ 놔 둡니다\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete 없어진 #~ 메시지를 지ì›ë‹ˆë‹¤\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete 없어진 #~ 메시지를 놔 둡니다\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "ì†ì„± ì¡°ìž‘:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy 모든 메시지를 'fuzzy'로 만듭니다\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy 모든 메시지를 'fuzzy'ê°€ 아니ë„ë¡ ë§Œë“­ë‹ˆë‹¤\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete 모든 메시지를 없는 메시지로 만듭니다\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete 모든 메시지를 없는 메시지가 아니ë„ë¡ ë§Œë“­ë‹ˆë‹¤\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1084,7 +1245,7 @@ msgstr ""
" --previous 'fuzzy'ë¡œ 설정할 ë•Œ, ì´ì „ì— ë²ˆì—­í•œ 메시지ì˜\n"
" msgid를 놔 둡니다\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1092,33 +1253,33 @@ msgid ""
msgstr ""
" --clear-previous 모든 메시지ì—ì„œ \"ì´ì „ì˜ msgid\"를 지ì›ë‹ˆë‹¤\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --empty 'fuzzy'를 제거할 ë•Œ, msgstrë„ ë¹„ì›ë‹ˆë‹¤\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=<파ì¼>.po <파ì¼>.poì— ë“¤ì–´ 있는 항목만 조작합니다\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=<파ì¼>.po <파ì¼>.poì— ë“¤ì–´ 있지 ì•Šì€ í•­ëª©ë§Œ 조작합니다\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy \"--only-fuzzy --clear-fuzzy\"와 ë™ì¼í•©ë‹ˆë‹¤\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1126,24 +1287,24 @@ msgstr ""
" --obsolete \"--only-obsolete --clear-obsolete\"와 ë™ì¼í•©ë‹ˆ"
"다\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "ìž…ë ¥ íŒŒì¼ ë¬¸ë²•:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input ìž…ë ¥ 파ì¼ì´ ìžë°” .properties 문법입니다\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1152,17 +1313,17 @@ msgstr ""
" --stringtable-input ìž…ë ¥ 파ì¼ì´ NeXTstep/GNUstep .strings 문법입니"
"다\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "출력 ìƒì„¸:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1175,26 +1336,26 @@ msgstr ""
" <ìƒí™©>ì€ 'always', 'never', 'auto', í˜¹ì€ "
"'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=<스타ì¼íŒŒì¼> --color ì˜µì…˜ì— ëŒ€í•´ CSS 스타ì¼ì„ 지정합니다\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
" -e, --no-escape ì¶œë ¥ì— C ì´ìŠ¤ì¼€ì´í”„를 쓰지 않습니다(기본값)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1202,68 +1363,68 @@ msgstr ""
" -E, --escape ì¶œë ¥ì— C ì´ìŠ¤ì¼€ì´í”„를 ì“°ê³  확장 문ìžë¥¼ 쓰지 ì•Š"
"습니다\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po 비어 있는 파ì¼ì´ë¼ë„ PO 파ì¼ë¡œ ì”니다\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent ë“¤ì—¬ì“°ê¸°ëœ ìŠ¤íƒ€ì¼ë¡œ .po 파ì¼ì„ ì”니다\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location '#: 파ì¼_ì´ë¦„:줄번호' ì¤„ì„ ì“°ì§€ 않습니다\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location '#: 파ì¼_ì´ë¦„:줄번호' ì¤„ì„ ë§Œë“­ë‹ˆë‹¤(기본값)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict 엄격하게 유니í¬ëŸ¼ì„ 따르는 .po 파ì¼ì„ ì”니다\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output ìžë°” .properties 파ì¼ì„ ì”니다\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output NeXTstep/GNUstep .strings 파ì¼ì„ ì”니다\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=<숫ìž> 출력 페ì´ì§€ì˜ 너비를 지정합니다\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1272,31 +1433,31 @@ msgstr ""
" --no-wrap 출력 페ì´ì§€ í­ë³´ë‹¤ 긴 메시지 ë¼ì¸ì„ 여러 줄로\n"
" ìžë¥´ì§€ 않습니다.\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output ì •ë ¬ëœ ì¶œë ¥ì„ ë§Œë“¤ì–´ 냅니다\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file íŒŒì¼ ìœ„ì¹˜ì— ë”°ë¼ ì¶œë ¥ì„ ì •ë ¬í•©ë‹ˆë‹¤\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "불가능한 ì„ íƒ ì¡°ê±´ì„ ì§€ì •í•˜ì˜€ìŠµë‹ˆë‹¤(%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "사용법: %s [<옵션>] [<입력파ì¼>]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1318,23 +1479,23 @@ msgstr ""
"나타나는 가장 첫 번째 PO 파ì¼ì— 들어 있는 모든 PO 파ì¼ì—ì„œ íŒŒì¼ ìœ„ì¹˜ëŠ” 그대로\n"
"유지ë©ë‹ˆë‹¤.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " ìž…ë ¥íŒŒì¼ ... ìž…ë ¥ 파ì¼\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=<파ì¼> ìž…ë ¥ 파ì¼ì˜ 목ë¡ì„ <파ì¼>ì—ì„œ ì½ìŠµë‹ˆë‹¤\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "ìž…ë ¥ 파ì¼ì´ -ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1343,7 +1504,7 @@ msgstr ""
" -<, --less-than=<í¬ê¸°> 지정한 것보다 ì ì€ ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤.\n"
" ì´ ì˜µì…˜ì´ ì—†ì„ ê²½ìš°ì— ê¸°ë³¸ê°’ì€ ë¬´í•œëŒ€ìž…ë‹ˆë‹¤.\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1352,7 +1513,7 @@ msgstr ""
" -<, --less-than=<í¬ê¸°> 지정한 것보다 ë§Žì€ ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤.\n"
" ì´ ì˜µì…˜ì´ ì—†ì„ ê²½ìš°ì— ê¸°ë³¸ê°’ì€ ë¬´í•œëŒ€ìž…ë‹ˆë‹¤.\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1361,8 +1522,8 @@ msgstr ""
" -u, --unique --less-than=2를 짧게 쓴 것입니다.\n"
" 유ì¼í•œ ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤.\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1370,8 +1531,8 @@ msgstr ""
" -P, --properties-input ìž…ë ¥ 파ì¼ì´ ìžë°” .properties 문법으로 ë˜ì–´ 있습"
"니다\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1380,12 +1541,12 @@ msgstr ""
" --stringtable-input ìž…ë ¥ 파ì¼ì´ NeXTstep/GNUstep .strings 문법입니"
"다\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=<ì´ë¦„> ì¶œë ¥ì˜ ì¸ì½”딩\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1394,33 +1555,33 @@ msgstr ""
" --use-first ê° ë©”ì‹œì§€ì¤‘ì—ì„œ 첫번째로 나타나는 번역문만\n"
" 사용하고, 여러 ë²ˆì—­ë¬¸ì„ í•©ì¹˜ì§€ 않습니다\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=<목ë¡ì´ë¦„> í—¤ë”ì— 'Language' í•­ëª©ì„ ì„¤ì •í•©ë‹ˆë‹¤\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "피터 밀러(Peter Miller)"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ìž…ë ¥ 파ì¼ì´ 주어지지 않았습니다"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "정확히 2ê°œì˜ ìž…ë ¥ 파ì¼ì´ 필요합니다"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "사용법: %s [<옵션>] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1437,22 +1598,22 @@ msgstr ""
"메시지가 번역ë˜ì—ˆëŠ”지 확ì¸í•  ë•Œ 유용합니다. 정확한 ì§ì„ 찾지 못할 경우, 보다\n"
"ë‚˜ì€ ê²°ê³¼ë¥¼ 얻으려고 í¼ì§€ ë§¤ì¹­ì´ ì‚¬ìš©ë©ë‹ˆë‹¤.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po 번역문\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot 소스를 참조\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "ë™ìž‘ 변경:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1461,63 +1622,63 @@ msgstr ""
" -m, --multi-domain ref.pot 파ì¼ì„ def.poì˜ ê° ë„ë©”ì¸ì— ì ìš©í•©ë‹ˆ"
"다\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching í¼ì§€ ë§¤ì¹­ì„ í•˜ì§€ 않습니다\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy í¼ì§€ í•­ëª©ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated 번역하지 ì•Šì€ í•­ëª©ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "ì´ ë©”ì‹œì§€ëŠ” 번역ë˜ì§€ 않았습니다"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "ì´ ë©”ì‹œì§€ëŠ” 번역ìžì˜ 검토가 필요합니다"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "ì´ ë©”ì‹œì§€ëŠ” 사용ë˜ì§€ë§Œ ì •ì˜ë˜ì§€ 않았습니다..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...하지만 ì´ ì •ì˜ëŠ” 유사합니다"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "ì´ ë©”ì‹œì§€ëŠ” 사용ë˜ì§€ë§Œ %sì—ì„œ ì •ì˜ë˜ì§€ 않았습니다"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "경고: ì´ ë©”ì‹œì§€ëŠ” 사용ë˜ì§€ 않습니다"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "치명ì ì¸ 오류 %d개를 찾았습니다"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "최소한 íŒŒì¼ ë‘ ê°œë¥¼ 지정해야 합니다"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1536,7 +1697,7 @@ msgstr ""
"주ì„ë¬¸ì€ ëª¨ë‘ ìœ ì§€ë  ê²ƒì´ì§€ë§Œ, ì •ì˜í•˜ë ¤ë©´ 첫 번째 PO 파ì¼ì—서만 유지ë©ë‹ˆë‹¤. 모든\n"
"PO 파ì¼ì—ì„œ íŒŒì¼ ìœ„ì¹˜ëŠ” 누ì ë©ë‹ˆë‹¤.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1545,70 +1706,70 @@ msgstr ""
" ->, --more-than=<í¬ê¸°> 지정한 것보다 ë§Žì€ ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤.\n"
" ì´ ì˜µì…˜ì´ ì—†ì„ ê²½ìš°ì— ê¸°ë³¸ê°’ì€ 1입니다.\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header í—¤ë”ì— 'msgid \"\"' í•­ëª©ì„ ì“°ì§€ 않습니다\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "번역 목ë¡ì„ 다른 ë¬¸ìž ì¸ì½”딩으로 변환합니다.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "변환 목표:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "기본 ì¸ì½”ë”©ì€ í˜„ìž¬ ë¡œìº˜ì˜ ì¸ì½”딩입니다.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent ë“¤ì—¬ì“°ê¸°ëœ ì¶œë ¥ 형태\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location ''#: 파ì¼_ì´ë¦„:줄번호' ì¤„ì„ ì“°ì§€ 않습니다\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location '#: 파ì¼_ì´ë¦„:줄번호 ì¤„ì„ ë§Œë“­ë‹ˆë‹¤(기본값)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict 엄격한 Uniforum 출력 형태로 ì”니다\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "ìž…ë ¥ 파ì¼ì´ 주어지지 않았습니다"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "정확히 í•œ ê°œì˜ ìž…ë ¥ 파ì¼ì´ 필요합니다"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "사용법: %s [<옵션>] <입력파ì¼>\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1620,22 +1781,22 @@ msgstr ""
"ì„œì‹ íŒŒì¼ìž…니다. (ì¼ë°˜ì ìœ¼ë¡œ xgettextë¡œ 만듭니다.) 번역ë˜ì§€ ì•Šì€ í•­ëª©ì€\n"
"msgid와 ë™ì¼í•œ ë²ˆì—­ë¬¸ì´ í• ë‹¹ë˜ê³ , í¼ì§€ë¡œ 표시ë©ë‹ˆë‹¤.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " <입력파ì¼> ìž…ë ¥ PO íŒŒì¼ í˜¹ì€ POT 파ì¼\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "명령어 ì´ë¦„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "사용법: %s [<옵션>] <명령어> [<명령어-옵션>]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1650,7 +1811,7 @@ msgstr ""
"ì¶œë ¥ì€ msgexecì˜ ì¶œë ¥ì´ ë©ë‹ˆë‹¤. í”„ë¡œê·¸ëž¨ì„ ë²ˆì—­ë¬¸ë§ˆë‹¤ ì‹¤í–‰í–ˆì„ ë•Œ 가장 \n"
"í° ë¦¬í„´ 코드가 msgexecì˜ ë¦¬í„´ 코드가 ë©ë‹ˆë‹¤.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1659,37 +1820,47 @@ msgstr ""
"특별히 내부 명령어 '0'ì€ ë²ˆì—­ë¬¸ì„ ê·¸ëŒ€ë¡œ 출력하고, 맨 ëì— 0 ë„ ë°”ì´íŠ¸ë¥¼ \n"
"출력합니다. \"msgexec 0\"ì˜ ì¶œë ¥ë¬¼ì€ \"xargs -0\"ì˜ ìž…ë ¥ìœ¼ë¡œ ì‚¬ìš©í•˜ê¸°ì— ì í•©í•©ë‹ˆë‹¤\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "명령어 입력:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline ìž…ë ¥ ëì— ì¤„ë°”ê¿ˆì„ ì¶”ê°€í•©ë‹ˆë‹¤\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=<입력파ì¼> ìž…ë ¥ PO 파ì¼\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "표준 ì¶œë ¥ì— ì“°ê¸°ê°€ 실패했습니다"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "í•„í„° ì´ë¦„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "최소한 í•œ ê°œì˜ sed 스í¬ë¦½íŠ¸ë¥¼ 지정해야 합니다"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "사용법: %s [<옵션>] <필터> [<필터-옵션>]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "번역 목ë¡ì˜ 모든 ë²ˆì—­ë¬¸ì— ëŒ€í•˜ì—¬ 필터를 ì ìš©í•©ë‹ˆë‹¤.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1698,19 +1869,33 @@ msgstr ""
"\"í•„í„°\"는 표준 ìž…ë ¥ì—ì„œ ë²ˆì—­ë¬¸ì„ ì½ì–´ì„œ ìˆ˜ì •ëœ ë²ˆì—­ë¬¸ì„ í‘œì¤€ 출력으로\n"
"출력하는 프로그램ì´ë©´ ì–´ë–¤ 프로그램ì´ë“  가능합니다.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "í•„í„° ìž…ë ¥ ë° ì¶œë ¥:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline ìž…ë ¥ ëì— ì¤„ë°”ê¿ˆì„ ì¶”ê°€í•˜ê³ \n"
+" 출력 ëì— ì¤„ë°”ê¿ˆì„ ì œê±°í•©ë‹ˆë‹¤"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "<í•„í„°>ê°€ 'sed'ì¼ ë•Œ 유용한 <í•„í„°-옵션>들:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=<스í¬ë¦½íŠ¸> 실행할 ëª…ë ¹ì–´ì— <스í¬ë¦½íŠ¸>를 추가합니다\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1720,26 +1905,26 @@ msgstr ""
" -f, --file=<스í¬ë¦½íŠ¸íŒŒì¼> <스í¬ë¦½íŠ¸íŒŒì¼>ì˜ ë‚´ìš©ì„ ì‹¤í–‰í•  명령어ì—\n"
" 추가합니다.\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent 패턴 ê³µë°±ì„ ìžë™ìœ¼ë¡œ 출력하지 ì•Šë„ë¡ í•©ë‹ˆë‹¤\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
" --no-escape ì¶œë ¥ì— C ì´ìŠ¤ì¼€ì´í”„를 쓰지 않습니다(기본값)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent 들여 ì“°ê¸°ëœ ì¶œë ¥ 스타ì¼\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1747,118 +1932,119 @@ msgstr ""
" --keep-header í—¤ë” í•­ëª©ì„ ìˆ˜ì •í•˜ì§€ 않습니다. í•„í„°ë§í•˜ì§€ 않습"
"니다.\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "í•„í„° ì¶œë ¥ì´ ì¤„ë°”ê¿ˆìœ¼ë¡œ ë나지 않습니다"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "%sì˜ ì¸ìžëŠ” í•œ ê°œì˜ êµ¬ë‘ì  ë¬¸ìžì—¬ì•¼ 합니다"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ì—”ë””ì•ˆì´ í‹€ë ¸ìŠµë‹ˆë‹¤: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "울리히 드레í¼(Ulrich Drepper)"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "%s ë° %s ì˜µì…˜ì„ ì‚¬ìš©í•˜ë©´ ìž…ë ¥ 파ì¼ì„ 지정하지 않아야 합니다"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s ì˜µì…˜ì€ \"-d <디렉터리>\" ì§€ì •ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s ì˜µì…˜ì€ \"-d <로캘>\" ì§€ì •ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s ì˜µì…˜ì€ \"--template <ì„œì‹>\" ì§€ì •ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s ì˜µì…˜ì€ \"-o <파ì¼>\" ì§€ì •ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s ë° %s ì˜µì…˜ì€ %sì—ì„œ 서로 배타ì ìž…니다"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s ì˜µì…˜ì€ %s í˜¹ì€ %s 옵션과 함께 ì¨ì•¼ë§Œ 효과가 있습니다"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s ì˜µì…˜ì€ %s, %s ë˜ëŠ” %s 옵션과 함께 ì¨ì•¼ë§Œ 효과가 있습니다"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "출력 íŒŒì¼ \"%s\"ì„(를) 만들 수 없습니다"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "ë²ˆì—­ëœ ë©”ì‹œì§€ %dê°œ"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", í¼ì§€ 번역문 %dê°œ"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", 번역ë˜ì§€ ì•Šì€ ë©”ì‹œì§€ %dê°œ"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "사용법: %s [<옵션>] <파ì¼ì´ë¦„>.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "주어진 번역문ì—ì„œ ì´ì§„ 메시지 ëª©ë¡ íŒŒì¼ì„ 만들어 냅니다.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"긴 옵션ì—ì„œ ê¼­ 필요한 ì¸ìˆ˜ëŠ” ì§§ì€ ì˜µì…˜ì—ë„ ê¼­ 필요합니다.\n"
-"ì—†ì–´ë„ ë˜ëŠ” ì¸ìžë„ 마찬가지입니다.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " <파ì¼ì´ë¦„>.po ... ìž…ë ¥ 파ì¼\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "ë™ìž‘ 모드:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1867,7 +2053,7 @@ msgstr ""
" -j, --java ìžë°” 모드: ìžë°” ResourceBundle í´ëž˜ìŠ¤ë¥¼ 만듭니"
"다\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1876,12 +2062,12 @@ msgstr ""
" --java2 --java와 같지만, Java2를 가정합니다(JDK 1.2 ì´"
"ìƒ)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# 모드: .NET .dll 파ì¼ì„ 만듭니다\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1890,67 +2076,72 @@ msgstr ""
" --csharp-resources C# 리소스 모드: .NET .resources 파ì¼ì„ 만듭니"
"다\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl 모드: tcl/msgcat .msg 파ì¼ì„ 만듭니다\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt 모드: Qt .qm 파ì¼ì„ 만듭니다\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
" --desktop desktop 항목 모드: .desktop 파ì¼ì„ 만듭니다\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt 모드: Qt .qm 파ì¼ì„ 만듭니다\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict 엄격한 Uniforum 출력 형태로 ì”니다\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "출력 파ì¼ì´ -ì´ë©´, ì¶œë ¥ì€ í‘œì¤€ ì¶œë ¥ì— ì”니다.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "ìžë°” 모드ì—ì„œ 출력 íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=<리소스> 리소스 ì´ë¦„\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr " -l, --locale=<로캘> 로캘 ì´ë¦„, 언어 í˜¹ì€ ì–¸ì–´_êµ­ê°€\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr " --source .class íŒŒì¼ ëŒ€ì‹  .java 파ì¼ì„ 만듭니다\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d <디렉터리> í´ëž˜ìŠ¤ 디렉터리 êµ¬ì¡°ì˜ ë² ì´ìŠ¤ 디렉터리\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1962,19 +2153,19 @@ msgstr ""
"ì´ë¦„으로 ê²°ì •ë©ë‹ˆë‹¤. -d ì˜µì…˜ì€ ê¼­ 필요합니다. í´ëž˜ìŠ¤ëŠ” 지정한 디렉터리\n"
"ì•„ëž˜ì— ì¶œë ¥ë©ë‹ˆë‹¤.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "C# 모드ì—ì„œ 출력 íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr " -d <디렉터리> 로캘 ì˜ì¡´ .dll 파ì¼ì˜ ë² ì´ìŠ¤ 디렉터리\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -1983,17 +2174,17 @@ msgstr ""
"-lê³¼ -d ì˜µì…˜ì€ ê¼­ 필요합니다. .dll 파ì¼ì€ 지정한 디렉터리ì˜(ë¡œìº˜ì— ë”°ë¼ ë‹¬ë¼"
"지는 ì´ë¦„ì˜) 아래 ë””ë ‰í„°ë¦¬ì— ì”니다.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Tcl 모드ì—ì„œ 출력 íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr " -d <디렉터리> .msg 메시지 목ë¡ì˜ ë² ì´ìŠ¤ 디렉터리\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2001,24 +2192,24 @@ msgid ""
msgstr "-lê³¼ -d ì˜µì…˜ì€ ê¼­ 필요합니다. .msg 파ì¼ì€ 지정한 ë””ë ‰í„°ë¦¬ì— ì”니다.\n"
# freedesktop.org desktopì„ ë§í•œë‹¤
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "desktop 항목 모드 옵션:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=<ì„œì‹> .desktop 파ì¼ì„ ì„œì‹ìœ¼ë¡œ 사용\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
" -d <디렉터리> .po 파ì¼ì˜ ë² ì´ìŠ¤ 디렉터리\n"
"\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2027,7 +2218,7 @@ msgstr ""
" -k<단어>, --keyword=<단어> <단어>를 추가 키워드로 찾습니다\n"
" -k, --keyword 기본 키워드를 사용하지 않습니다\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2037,12 +2228,28 @@ msgstr ""
"-l, -o ë° --template ì˜µì…˜ì€ í•„ìˆ˜ìž…ë‹ˆë‹¤. -D ì˜µì…˜ì„ ì‚¬ìš©í•˜ë©´ ìž…ë ¥ 파ì¼ì„ 명령"
"í–‰ 대신 디렉터리ì—ì„œ ì½ìŠµë‹ˆë‹¤.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+# freedesktop.org desktopì„ ë§í•œë‹¤
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "desktop 항목 모드 옵션:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=<ì„œì‹> .desktop 파ì¼ì„ ì„œì‹ìœ¼ë¡œ 사용\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "ìž…ë ¥ íŒŒì¼ í•´ì„:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2053,12 +2260,12 @@ msgstr ""
" --check-domainì—ì„œ 하는 검사를 ëª¨ë‘ ìˆ˜í–‰í•©ë‹ˆ"
"다\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr " --check-format ì–¸ì–´ì— ë”°ë¼ í¬ë§· 문ìžì—´ì„ 검사합니다\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2066,7 +2273,7 @@ msgid ""
msgstr ""
" --check-header í—¤ë” í•­ëª©ì´ ìžˆëŠ”ì§€ì™€ ê·¸ ë‚´ìš©ì„ ê²€ì‚¬í•©ë‹ˆë‹¤\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2075,7 +2282,7 @@ msgstr ""
" --check-domain ë„ë©”ì¸ ì§€ì •ê³¼ --output-file ì˜µì…˜ì˜ ë„ë©”ì¸ì´\n"
" 충ëŒí•˜ì§€ 않는지 검사합니다\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2083,7 +2290,7 @@ msgid ""
msgstr ""
" -C, --check-compatibility GNU msgfmtì´ X/Openì˜ msgfmt처럼 검사합니다\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2093,12 +2300,12 @@ msgstr ""
" --check-accelerators[=CHAR] 메뉴 í•­ëª©ì— í‚¤ë³´ë“œ 단축글쇠가 있는지 \n"
" 검사합니다\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy ì¶œë ¥ì— í¼ì§€ í•­ëª©ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2106,7 +2313,7 @@ msgstr ""
" -a, --alignment=<í¬ê¸°> 문ìžì—´ì„ <í¬ê¸°> ë°”ì´íŠ¸ì— 정렬합니다(기본값: "
"%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2117,98 +2324,97 @@ msgstr ""
" --endianness=<ë°”ì´íŠ¸ìˆœ> 32비트 수를 주어진 ë°”ì´íŠ¸ 순서로 ì”니다\n"
" (big ë˜ëŠ” little, ê¸°ë³¸ê°’ì€ í”Œëž«í¼ì— ë”°ë¼)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash ì´ì§„ 파ì¼ì— 해쉬 í…Œì´ë¸”ì„ ë„£ì§€ 않습니다\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics ë²ˆì—­ì— ëŒ€í•œ 통계를 표시합니다\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose ë” ìžì„¸ížˆ 출력합니다\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "경고: PO íŒŒì¼ í—¤ë”ê°€ 빠졌거나 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "경고: 문ìžì…‹ ë³€í™˜ì´ ë™ìž‘하지 않습니다\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "경고: PO íŒŒì¼ í—¤ë”ê°€ í¼ì§€ìž…니다\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "경고: 과거 ë²„ì „ì˜ msgfmtì€ ì—¬ê¸°ì— ì˜¤ë¥˜ë¥¼ 낼 것입니다\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "ë„ë©”ì¸ì´ë¦„ \"%s\"ì€(는) íŒŒì¼ ì´ë¦„으로 알맞지 않습니다"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"ë„ë©”ì¸ ì´ë¦„ \"%s\"ì€(는) íŒŒì¼ ì´ë¦„으로 알맞지 않습니다. 그러므로 ì ‘ë‘사를\n"
"사용합니다"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "'domain %s' 지시ìžëŠ” 무시ë¨"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "빈 'msgstr' í•­ëª©ì€ ë¬´ì‹œë¨"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "í¼ì§€ 'msgstr' í•­ëª©ì€ ë¬´ì‹œë¨"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: 경고: 소스 파ì¼ì— í¼ì§€ ë²ˆì—­ë¬¸ì´ ë“¤ì–´ 있습니다"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s 파ì¼ì´ 없습니다"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s 파ì¼ì´ 있지만 ì½ì„ 수 없습니다"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "\"%s\"ì„(를) ì½ëŠ” ë™ì•ˆ 오류 ë°œìƒ"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2216,7 +2422,7 @@ msgid ""
msgstr ""
"'%c' ì˜µì…˜ì€ 'J'나 'K'나 'T'나 'C'나 'X'ê°€ 지정ë˜ê¸° ì „ì—는 쓸 수 없습니다"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2225,7 +2431,7 @@ msgstr ""
"번역 목ë¡ì—ì„œ 주어진 íŒ¨í„´ì— ë§žëŠ” 메시지 í˜¹ì€ ì£¼ì–´ì§„ 소스 파ì¼ì— 들어 있는\n"
"ë©”ì‹œì§€ë§Œì„ ë½‘ì•„ 냅니다.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2299,19 +2505,19 @@ msgstr ""
" -i, --ignore-case ëŒ€ì†Œë¬¸ìž êµ¬ë³„ì„ í•˜ì§€ 않습니다\n"
" -v, --invert-match 지정한 ì˜µì…˜ì— ë§žì§€ 않는 ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
" --escape 확장 ë¬¸ìž ì—†ì´, ì¶œë ¥ì— C ì´ìŠ¤ì¼€ì´í”„를 ì”니다\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output ì •ë ¬ëœ ì¶œë ¥ì„ ë§Œë“­ë‹ˆë‹¤\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file 파ì¼ì˜ ìœ„ì¹˜ì— ë”°ë¼ ì¶œë ¥ì„ ì •ë ¬í•©ë‹ˆë‹¤\n"
@@ -2411,14 +2617,14 @@ msgstr ""
"현재 디렉터리ì—ì„œ .pot 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다.\n"
"--input 옵션으로 ìž…ë ¥ .pot 파ì¼ì„ 지정하십시오.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s 하위 프로세스가 종료 코드 %d 번으로 실패했습니다"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2433,28 +2639,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s íŒ¨í‚¤ì§€ì— ëŒ€í•œ 한국어 번역문"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "현재 문ìžì…‹ \"%s\"ì€(는) ë„리 쓸 수 있는 ì¸ì½”딩 ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "ìž…ë ¥ 파ì¼ì— ë‘ ê°œì˜ ë¬¸ìžì…‹ \"%s\"ê³¼(와) \"%s\"ì´(ê°€) 존재합니다"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "ìž…ë ¥ íŒŒì¼ '%s'ì—는 문ìžì…‹ì„ 지정하는 í—¤ë” í•­ëª©ì´ ë“¤ì–´ 있지 않습니다"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2463,19 +2669,19 @@ msgstr ""
"ìž…ë ¥ íŒŒì¼ '%2$s'ì˜ ë„ë©”ì¸ \"%1$s\"ì—는 문ìžì…‹ì„ 지정하는 í—¤ë” í•­ëª©ì´ ë“¤ì–´ 있"
"지 않습니다"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "목표 문ìžì…‹ \"%s\"ì€(는) ë„리 쓸 수 있는 ì¸ì½”딩 ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "경고: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2484,7 +2690,7 @@ msgstr ""
"ìž…ë ¥ 파ì¼ì€ 여러 ê°œì˜ ì¸ì½”딩으로 ëœ ë©”ì‹œì§€ê°€ 들어 있고, ê·¸ ì¤‘ì˜ í•˜ë‚˜ê°€ \n"
"UTF-8입니다. ì¶œë ¥ì„ UTF-8으로 변환합니다.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2496,7 +2702,7 @@ msgstr ""
"%sì´(ê°€) 있습니다. ì¶œë ¥ì„ UTF-8으로 변환합니다.\n"
"다른 출력 ì¸ì½”ë”©ì„ ì„ íƒí•˜ë ¤ë©´, --to-code ì˜µì…˜ì„ ì“°ì„¸ìš”.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2509,7 +2715,7 @@ msgstr ""
"모든 msgid와 msgctxt를 순수 ASCIIë¡œ 바꾸거나, 처ìŒë¶€í„°(소스코드부터) UTF-8\n"
"ì¸ì½”딩으로 만드십시오.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2522,12 +2728,12 @@ msgstr ""
"'%s'ë¡œ(으로) 출력하는 ê²ƒì´ í‹€ë ¸ì„ ìˆ˜ 있습니다.\n"
"가능한 í•´ê²°ì±…ì€:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- LC_ALL 환경변수를 %s ì¸ì½”ë”©ì„ ì“°ëŠ” 로캘로 세팅하십시오.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2538,7 +2744,7 @@ msgstr ""
" ê·¸ ë‹¤ìŒ '%s'ì„(를) ì ìš©í•˜ê³ ,\n"
" 다시 'msgconv'를 ì´ìš©í•´ '%s'ë¡œ(으로) 변환하십시오\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2551,7 +2757,7 @@ msgstr ""
" ê·¸ ë‹¤ìŒ '%s'ì„(를) ì ìš©í•˜ê³ ,\n"
" 다시 'msgconv'를 ì´ìš©í•´ '%s'ë¡œ(으로) 변환하십시오\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2562,24 +2768,24 @@ msgstr ""
"'%s'ë¡œ(으로) 출력하는 ê²ƒì´ í‹€ë ¸ì„ ìˆ˜ 있습니다.\n"
"가능한 í•´ê²°ì±…ì€ \"LC_ALL=C\"ë¡œ 세팅하는 것입니다.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "복수 표현ì‹ì´ ìŒìˆ˜ ê°’ì„ ë§Œë“¤ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu 하지만 복수 표현ì‹ì´ %luë§Œí¼ í° ê°’ì„ ë§Œë“¤ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "복수 표현ì‹ì´ 0으로 나누는 ì—°ì‚°ì„ í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "복수 표현ì‹ì´ 정수 오버플로우를 ë°œìƒì‹œí‚¬ 수 있습니다"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2587,49 +2793,49 @@ msgstr ""
"복수 표현ì‹ì´ ì—°ì‚° 예외를 ë°œìƒì‹œí‚¬ 수 있습니다. 0으로 나누는 ì—°ì‚°ì„ í•  수 있"
"습니다"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "다ìŒì„ 사용해 보십시오. %sì— ëŒ€í•´ì„œ 올바름:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "메시지 목ë¡ì€ 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있습니다"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "하지만 í—¤ë” í•­ëª©ì—는 \"plural=표현ì‹\" ì†ì„±ì´ 들어 있지 않습니다"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "하지만 í—¤ë” í•­ëª©ì—는 \"nplurals=정수\" ì†ì„±ì´ 들어 있지 않습니다"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "nplurals ê°’ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ìž˜ëª»ëœ ë³µìˆ˜ 표현ì‹"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "하지만 ì–´ë–¤ 메시지는 ë³µìˆ˜í˜•ì´ %luê°œ ë°–ì— ì—†ìŠµë‹ˆë‹¤"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "하지만 ì–´ë–¤ 메시지는 ë³µìˆ˜í˜•ì´ %luê°œ 있습니다"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2637,72 +2843,88 @@ msgstr ""
"메시지 목ë¡ì— 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있지만, í—¤ë” í•­ëª©ì— \"Plural-Forms: "
"nplurals=정수; plural=표현ì‹;\"ì´ ì—†ìŠµë‹ˆë‹¤"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "'msgid'와 'msgstr_plural' í•­ëª©ì´ ëª¨ë‘ '\\n'으로 시작하지 않습니다"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "'msgid'와 'msgstr[%u]' í•­ëª©ì´ ëª¨ë‘ '\\n'으로 시작하지 않습니다"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "'msgid'와 'msgstr' í•­ëª©ì´ ëª¨ë‘ '\\n'으로 시작하지 않습니다"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "'msgid'와 'msgid_plural' í•­ëª©ì´ ëª¨ë‘ '\\n'으로 ë나지 않습니다"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "'msgid'와 'msgstr[%u]' í•­ëª©ì´ ëª¨ë‘ '\\n'으로 ë나지 않습니다"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "'msgid'와 'msgstr' í•­ëª©ì´ ëª¨ë‘ '\\n'으로 ë나지 않습니다"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "복수 처리는 GNU gettext 확장 기능입니다"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstrì— í‚¤ë³´ë“œ 단축키 '%c'ì— ëŒ€í•œ 표시가 없습니다"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstrì— í‚¤ë³´ë“œ 단축키 '%c' 표시가 너무 많습니다"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "'%s' í—¤ë” í•„ë“œê°€ ì•„ì§ë„ ì´ˆê¸°ì˜ ê¸°ë³¸ê°’ì„ ê°€ì§€ê³  있습니다\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "í—¤ë”ì— í—¤ë” í•„ë“œ '%s'ì´(ê°€) ë¹ ì¡ŒìŒ\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "유니코드 ë§ì¤„임표가 ì•„ë‹Œ ASCII ë§ì¤„ìž„í‘œ('...')"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "사용ìžì— ë³´ì´ëŠ” 문ìžì—´ì— ë§ì¤„ìž„í‘œ ì•žì— ê³µë°±ì´ ìžˆìŠµë‹ˆë‹¤"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "유니코드 ìŒë”°ì˜´í‘œê°€ ì•„ë‹Œ ASCII ìŒë”°ì˜´í‘œ"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "유니코드 홑따옴표가 아닌 ASCII 홑따옴표"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: ìž…ë ¥ì´ \"%s\" ì¸ì½”딩ì—ì„œ 올바르지 않습니다"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: \"%s\" ì¸ì½”딩ì—ì„œ \"%s\" ì¸ì½”딩으로 변환하는 ë™ì•ˆ 오류 ë°œìƒ"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "ìž…ë ¥ 파ì¼ì€ 문ìžì…‹ì„ 지정하는 í—¤ë” í•­ëª©ì´ ë“¤ì–´ 있지 않습니다"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2711,7 +2933,7 @@ msgstr ""
"\"%s\"ì—ì„œ \"%s\"ë¡œ(으로) 변환할 수 없습니다. %sì€(는) iconv()ì— ì˜ì¡´í•˜ì§€ë§Œ, "
"iconv()ê°€ ì´ê°™ì€ ë³€í™˜ì„ ì§€ì›í•˜ì§€ 않습니다."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2720,8 +2942,8 @@ msgstr ""
"\"%s\"ì—ì„œ \"%s\"(으)ë¡œ 변환하면 중복ë©ë‹ˆë‹¤: 다른 ë‘ ê°œ ì´ìƒì˜ msgidê°€ 똑같"
"아 집니다."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2730,16 +2952,16 @@ msgstr ""
"\"%s\"ì—ì„œ \"%s\"ë¡œ(으로) 변환할 수 없습니다. %sì€(는) iconv()ì— ì˜ì¡´í•˜ì§€ë§Œ, "
"ì´ ë²„ì „ì€ iconv()를 지ì›ë˜ì§€ 않는 ìƒíƒœë¡œ 빌드ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%sì€(는) %sê³¼(와) 함께 ì¨ì•¼ë§Œ 효과가 있습니다"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "백업 종류"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2762,17 +2984,17 @@ msgstr ""
"ë³´ì¡´ë©ë‹ˆë‹¤. 정확한 ì§ì„ 찾지 못할 경우, 보다 ë‚˜ì€ ê²°ê³¼ë¥¼ 얻으려고 í¼ì§€\n"
"ë§¤ì¹­ì´ ì‚¬ìš©ë©ë‹ˆë‹¤.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po 과거 소스를 참조하는 번역문\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot 새로운 소스를 참조\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2781,7 +3003,7 @@ msgstr ""
" -C, --compendium=<파ì¼> 메시지 번역 ë¼ì´ë¸ŒëŸ¬ë¦¬ 추가,\n"
" ë‘ ê°œ ì´ìƒ 지정할 수 있습니다\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2791,28 +3013,28 @@ msgstr ""
" ì´ë¯¸ def.po를 ì—…ë°ì´íŠ¸í–ˆë‹¤ë©´ 아무 ê²ƒë„ ì•ˆ 합니"
"다\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "ì—…ë°ì´íŠ¸ 모드ì—ì„œ 출력 íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "ê²°ê³¼ë¬¼ì€ def.po파ì¼ë¡œ 다시 쓰여집니다.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=<컨트롤> def.poì˜ ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=<접미어> ì¼ë°˜ì ì¸ 백업 접미어 대신 <접미어>를 ì”니다\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2831,7 +3053,7 @@ msgstr ""
"히\n"
" simple, never 간단한 ë°±ì—…ë§Œì„ ë§Œë“­ë‹ˆë‹¤\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2841,29 +3063,29 @@ msgstr ""
"--suffix 옵션ì´ë‚˜ SIMPLE_BACKUP_SUFFIX 환경 변수를 세팅하지 않았다면, 백업 ì ‘"
"미어는 '~'입니다.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous ì´ì „ì— ë²ˆì—­í•œ ë©”ì‹œì§€ì˜ msgid를 놔 둡니다\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent 진행ìƒíƒœ 표시를 하지 않습니다\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "ì´ ë©”ì‹œì§€ëŠ” ë³µìˆ˜í˜•ì„ ì§€ì •í•´ì•¼ë§Œ 합니다"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "ì´ ë©”ì‹œì§€ëŠ” ë³µìˆ˜í˜•ì„ ì§€ì •í•´ì„œëŠ” 안 ë©ë‹ˆë‹¤"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2872,28 +3094,28 @@ msgstr ""
"예전 %s%ld + 참조문 %ld, ê²°í•© %ld, í¼ì§€ %ld, ë¹ ì§ %ld, ì“¸ëª¨ì—†ìŒ %ld개를 ì½ì—ˆ"
"습니다.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " 완료.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%sê³¼(와) 파ì¼ì´ë¦„ì„ ëª…ì‹œì ìœ¼ë¡œ 지정하는 ê²ƒì€ ë™ì‹œì— 쓸 수 없습니다"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "ì´ì§„ 메시지 목ë¡ì„ Uniforum ìŠ¤íƒ€ì¼ .po 파ì¼ë¡œ 변환합니다.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2902,12 +3124,12 @@ msgstr ""
" -j, --java ìžë°” 모드: ìž…ë ¥ì€ ìžë°” ResourceBundle í´ëž˜ìŠ¤ìž…"
"니다\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# 모드: ìž…ë ¥ì€ .NET .dll 파ì¼ìž…니다\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2916,24 +3138,24 @@ msgstr ""
" --csharp-resources C# 리소스 모드: ìž…ë ¥ì€ .NET .resources 파ì¼ìž…니"
"다\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl 모드: ìž…ë ¥ì€ tcl/msgcat .msg 파ì¼ìž…니다\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " <파ì¼> ... ìž…ë ¥ .mo 파ì¼\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "ìžë°” 모드ì—ì„œ ìž…ë ¥ íŒŒì¼ ìœ„ì¹˜:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2943,12 +3165,12 @@ msgstr ""
"í´ëž˜ìŠ¤ ì´ë¦„ì€ ë¡œìº˜ ì´ë¦„ì— ë¦¬ì†ŒìŠ¤ ì´ë¦„ì„ ë°‘ì¤„ë¡œ 구분해서 ì—°ê²°í•œ ì´ë¦„으로\n"
"ê²°ì •ë©ë‹ˆë‹¤. í´ëž˜ìŠ¤ëŠ” CLASSPATHì— ë”°ë¥¸ ìœ„ì¹˜ì— ë†“ì´ê²Œ ë©ë‹ˆë‹¤.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "C# 모드ì—ì„œ ìž…ë ¥ íŒŒì¼ ì§€ì •:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -2957,12 +3179,12 @@ msgstr ""
"-lê³¼ -d ì˜µì…˜ì€ ê¼­ 필요합니다. .dll 파ì¼ì€ 지정한 ë””ë ‰í„°ë¦¬ì˜ ì•„ëž˜\n"
"디렉터리ì—(디렉터리 ì´ë¦„ì€ ë¡œìº˜ì— ë”°ë¼ ë‹¬ë¼ì§‘니다) 들어 있습니다.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Tcl 모드ì—ì„œ ìž…ë ¥ íŒŒì¼ ì§€ì •:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -2971,17 +3193,17 @@ msgstr ""
"-l 옵션과 -d ì˜µì…˜ì€ ê¼­ 필요합니다. .msg 파ì¼ì€ 지정한 디렉터리\n"
"ì•„ëž˜ì— ë“¤ì–´ 있습니다.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent ë“¤ì—¬ì“°ê¸°ëœ ì¶œë ¥ 형태로 ì”니다\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict 엄격한 Uniforum 출력 형태로 ì”니다\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3002,12 +3224,12 @@ msgstr ""
"ê²ƒë§Œì„ ì“°ê²Œ ë©ë‹ˆë‹¤. 파ì¼ì˜ 위치는 ëª¨ë‘ ìœ ì§€ë©ë‹ˆë‹¤. --unique 옵션ì„\n"
"사용할 ë•Œ, ì¤‘ë³µëœ ë©”ì‹œì§€ë¥¼ 버립니다.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated ì¤‘ë³µëœ ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3016,7 +3238,7 @@ msgstr ""
" -u, --unique 유ì¼í•œ ë©”ì‹œì§€ë§Œì„ ì¶œë ¥í•˜ê³ , ì¤‘ë³µëœ ê²ƒì€ ë²„ë¦½"
"니다\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<표준입력>"
@@ -3072,32 +3294,32 @@ msgstr ""
"í—¤ë”ì— ë¬¸ìžì…‹ì´ 없습니다\n"
"ì‚¬ìš©ìž ë¬¸ìžì…‹ìœ¼ë¡œì˜ 메시지 ë³€í™˜ì€ í•˜ì§€ 않습니다.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "#~ê°€ 모순ë˜ê²Œ ì´ìš©ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "'msgstr[]' ë¶€ë¶„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "'msgstr_plural' ë¶€ë¶„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "'msgstr' ë¶€ë¶„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "첫 번째 ë³µìˆ˜í˜•ì˜ ì¸ë±ìŠ¤ê°€ 0ì´ ì•„ë‹™ë‹ˆë‹¤"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "ë³µìˆ˜í˜•ì˜ ì¸ë±ìŠ¤ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
@@ -3107,7 +3329,7 @@ msgstr "ë³µìˆ˜í˜•ì˜ ì¸ë±ìŠ¤ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
msgid "too many errors, aborting"
msgstr "오류가 너무 많아서 중단합니다"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ìž˜ëª»ëœ ê°€ë³€ë°”ì´íŠ¸ 문ìžì—´"
@@ -3151,64 +3373,83 @@ msgstr "문ìžì—´ 내부ì—ì„œ í–‰ì´ ë남"
msgid "context separator <EOT> within string"
msgstr "문ìžì—´ ì•ˆì— ì»¨í…스트 구분 <EOT>ê°€ 있습니다."
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "ì´ íŒŒì¼ì€ ë„ë©”ì¸ ì§€ì‹œìžê°€ 안 들어 ìžˆì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "ì¤‘ë³µëœ ë©”ì‹œì§€ ì •ì˜"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "여기는 첫번째 ì •ì˜ì˜ 위치입니다"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "경고: ìž˜ëª»ëœ ìœ ë‹ˆì½”ë“œ 문ìž"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "í•„í„° ì´ë¦„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "nplurals ê°’ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "\"%s\" 파ì¼ì´ 잘렸습니다"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "\"%s\" 파ì¼ì— NULë¡œ ë나지 않는 문ìžì—´ì´ 있습니다"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "\"%s\" 파ì¼ì€ GNU .mo 형ì‹ì´ 아닙니다"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "\"%s\" 파ì¼ì˜ %s ìœ„ì¹˜ì— NULë¡œ ë나지 않는 문ìžì—´ì´ 있습니다"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "경고: 유니코드 문ìžì— \\uxxxx ë¬¸ë²•ì´ í‹€ë ¸ìŠµë‹ˆë‹¤"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "경고: 완결ë˜ì§€ ì•Šì€ ë¬¸ìžì—´"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "경고: 문법 오류"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "경고: 키/ê°’ ìŒì´ 완결ë˜ì§€ 않았습니다"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "경고: 문법 오류, 문ìžì—´ 다ìŒì— ';'ì´ ì™€ì•¼ 합니다"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "경고: 문법 오류, 문ìžì—´ 다ìŒì— '=' í˜¹ì€ ';'ì´ ì™€ì•¼ 합니다"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "%s ë° %sì´(ê°€) 만들었습니다.\n"
@@ -3217,43 +3458,43 @@ msgstr "%s ë° %sì´(ê°€) 만들었습니다.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "다ë‹ë¡œ 세ì´ê±´(Danilo Segan)"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "세르비아어 í…스트를 키릴 문ìžì—ì„œ ë¼í‹´ 문ìžë¡œ 변환합니다.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr "ìž…ë ¥ í…스트는 표준 ìž…ë ¥ì—ì„œ ì½ìŠµë‹ˆë‹¤. 변환한 í…스트는 표준 출력으로 출력합니다.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "ìž…ë ¥ì´ \"%s\" ì¸ì½”딩ì—ì„œ 올바르지 않습니다"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "\"%s\" ì¸ì½”딩ì—ì„œ \"%s\" ì¸ì½”딩으로 변환하는 ë™ì•ˆ 오류 ë°œìƒ"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "ì¸ìˆ˜ëŠ” ë‘ ê°œì´ì–´ì•¼ 합니다"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "사용법: %s [<옵션>] <URL> <파ì¼>\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3262,37 +3503,37 @@ msgstr ""
"URLì˜ ë‚´ìš©ì„ ê°€ì ¸ì™€ì„œ 출력합니다. <URL>ì— ì ‘ê·¼í•  수 없는 경우ì—는, 로칼ì—ì„œ 접근할 수 있는\n"
"<파ì¼>ì´ ëŒ€ì‹  사용ë©ë‹ˆë‹¤.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "\"%s\" 파ì¼ì„ ì½ëŠ” ë™ì•ˆ 오류 ë°œìƒ"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "표준 ì¶œë ¥ì— ì“°ëŠ” ë™ì•ˆ 오류 ë°œìƒ"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "\"%s\" 파ì¼ì„ ì½ì€ í›„ì— ì˜¤ë¥˜ ë°œìƒ"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "%s í•­ëª©ì„ ê°€ì ¸ì˜¤ëŠ” 중..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " 제한 시간 초과.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " 실패.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3300,14 +3541,14 @@ msgstr ""
"여러 ê°œì˜ ë²ˆì—­ ë„ë©”ì¸ì„ 출력 형ì‹ì— ë”°ë¼ í•œ ê°œì˜ íŒŒì¼ë¡œ 출력할 수 없습니다. "
"PO íŒŒì¼ ë¬¸ë²•ì„ ì‹œë„í•´ 보십시오."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
"여러 ê°œì˜ ë²ˆì—­ ë„ë©”ì¸ì„ 출력 형ì‹ì— ë”°ë¼ í•œ ê°œì˜ íŒŒì¼ë¡œ 출력할 수 없습니다."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3315,7 +3556,7 @@ msgstr ""
"메시지 목ë¡ì— 컨í…스트 ì˜ì¡´ ë²ˆì—­ì´ ë“¤ì–´ 있지만, 출력 형ì‹ì´ 컨í…스트를 지ì›í•˜"
"지 않습니다."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3324,7 +3565,7 @@ msgstr ""
"메시지 목ë¡ì— 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있지만, 출력 형ì‹ì´ ë³µìˆ˜í˜•ì„ ì§€ì›í•˜ì§€ 않습니"
"다. properties íŒŒì¼ ëŒ€ì‹ ì— \"msgfmt --java\"ë¡œ ìžë°” í´ëž˜ìŠ¤ë¥¼ 만들어 보십시오."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3332,12 +3573,12 @@ msgstr ""
"메시지 목ë¡ì— 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있지만, 출력 형ì‹ì´ ë³µìˆ˜í˜•ì„ ì§€ì›í•˜ì§€ 않습니"
"다."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "출력 íŒŒì¼ \"%s\"ì„(를) 만들 수 없습니다"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "표준 출력"
@@ -3356,39 +3597,40 @@ msgstr "C# í´ëž˜ìŠ¤ 컴파ì¼ì— 실패했습니다. --verboseë¡œ ì‹œë„í•´ ë³´
msgid "compilation of C# class failed"
msgstr "C# í´ëž˜ìŠ¤ 컴파ì¼ì— 실패했습니다"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "쓰려고 \"%s\"ì„(를) 여는 ë™ì•ˆ 오류 ë°œìƒ"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "올바른 ìžë°” í´ëž˜ìŠ¤ ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"ìžë°” í´ëž˜ìŠ¤ 컴파ì¼ì— 실패했습니다. --verboseë¡œ ì‹œë„í•´ 보거나 $JAVAC 환경변수"
"를 세팅하십시오"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "ìžë°” í´ëž˜ìŠ¤ 컴파ì¼ì— 실패했습니다. $JAVAC 환경변수를 세팅하십시오"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "쓰려고 \"%s\"ì„(를) 여는 ë™ì•ˆ 오류 ë°œìƒ"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "ìž˜ëª»ëœ ê°€ë³€ë°”ì´íŠ¸ 시퀀스"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "êµ­ì œí™”ëœ ë©”ì‹œì§€ì—는 '\\%c' ì´ìŠ¤ì¼€ì´í”„ 시퀀스가 들어 있으면 안 ë©ë‹ˆë‹¤"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3401,7 +3643,7 @@ msgstr ""
"ë°œìƒí•  수 있습니다. 순수한 ASCII msgctxtë§Œì„ ì‚¬ìš©í•˜ë„ë¡ í•˜ì‹­ì‹œì˜¤.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3414,7 +3656,7 @@ msgstr ""
"ë°œìƒí•  수 있습니다. 순수한 ASCII msgidë§Œì„ ì‚¬ìš©í•˜ë„ë¡ í•˜ì‹­ì‹œì˜¤.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3422,7 +3664,7 @@ msgstr ""
"메시지 목ë¡ì— 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있지만, Qt 메시지 목ë¡ì€ ë³µìˆ˜í˜•ì„ ì§€ì›í•˜ì§€ "
"않습니다\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3435,7 +3677,7 @@ msgstr ""
"지\n"
"않습니다.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3447,12 +3689,12 @@ msgstr ""
"ì›í•˜ì§€\n"
"않습니다.\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "%s 하위 í”„ë¡œì„¸ìŠ¤ì— ì“°ëŠ” ë™ì•ˆ 오류 ë°œìƒ"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3460,7 +3702,7 @@ msgstr ""
"메시지 목ë¡ì— 컨í…스트 ì˜ì¡´ ë²ˆì—­ì´ ë“¤ì–´ 있지만,\n"
"C# .resources 형ì‹ì€ 컨í…스트를 지ì›í•˜ì§€ 않습니다\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3468,7 +3710,7 @@ msgstr ""
"메시지 목ë¡ì— 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있지만,\n"
"C# .resource 형ì‹ì€ ë³µìˆ˜í˜•ì„ ì§€ì›í•˜ì§€ 않습니다\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3476,7 +3718,7 @@ msgstr ""
"메시지 목ë¡ì— 컨í…스트 ì˜ì¡´ ë²ˆì—­ì´ ë“¤ì–´ 있지만,\n"
"Tcl 메시지 ëª©ë¡ í˜•ì‹ì€ 컨í…스트를 지ì›í•˜ì§€ 않습니다\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3484,36 +3726,36 @@ msgstr ""
"메시지 목ë¡ì— 복수형 ë²ˆì—­ì´ ë“¤ì–´ 있지만, \n"
"Tcl 메시지 ëª©ë¡ í˜•ì‹ì€ ë³µìˆ˜í˜•ì„ ì§€ì›í•˜ì§€ 않습니다\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: 경고: 완결ë˜ì§€ ì•Šì€ ë¬¸ìžì—´"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: 경고: 완결ë˜ì§€ ì•Šì€ ì •ê·œì‹"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "경고: ìž˜ëª»ëœ ìœ ë‹ˆì½”ë“œ 문ìž"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: 경고: 완결ë˜ì§€ ì•Šì€ ë¬¸ìž ìƒìˆ˜"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: 경고: 완결ë˜ì§€ ì•Šì€ ë¬¸ìžì—´ ìƒìˆ˜"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3522,7 +3764,7 @@ msgstr ""
"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3531,7 +3773,7 @@ msgstr ""
"%s:%d: 길고 불완전한 다중바ì´íŠ¸ 시퀀스.\n"
"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3540,7 +3782,7 @@ msgstr ""
"%s:%d: 파ì¼ì˜ ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3549,12 +3791,12 @@ msgstr ""
"%s:%d: 줄 ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv 실패"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3563,281 +3805,73 @@ msgstr ""
"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: 경고: ìž˜ëª»ëœ ìœ ë‹ˆì½”ë“œ 문ìž"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: 경고: 완결ë˜ì§€ ì•Šì€ ë¬¸ìžì—´ ìƒìˆ˜"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: 경고: '}'ê°€ 와야 하는 ê³³ì— ')'ê°€ 발견ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: 경고: ')ê°€ 와야 하는 ê³³ì— '}'ê°€ 발견ë˜ì—ˆìŠµë‹ˆë‹¤"
-# XML 엘리먼트를 ë§í•œë‹¤
-#: src/x-glade.c:295
+#: src/xgettext.c:579
#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "'%s' 엘리먼트ì—ì„œ 뽑아낸 문ìžì—´ì— 대한 컨í…스트가 없습니다"
-
-# XML 엘리먼트를 ë§í•œë‹¤
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "글레ì´ë“œ 파ì¼ì—ì„œ 최ìƒìœ„ 엘리먼트로 <%s>ì€(는) 허용하지 않습니다"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"언어 \"glade\"는 지ì›ë˜ì§€ 않습니다. %sì€(는) expatì— ì˜ì¡´í•©ë‹ˆë‹¤.\n"
-"ì´ ë²„ì „ì€ expat ì—†ì´ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: 경고: U+%04X 서로게ì´íŠ¸ 문ìžê°€ 단ë…으로 있습니다"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
-"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 길고 불완전한 다중바ì´íŠ¸ 시퀀스.\n"
-"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 파ì¼ì˜ ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
-"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 줄 ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
-"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
-"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: 경고: ì •ê·œì‹ ë¬¸ìžì—´ì´ 너무 빨리 ë났습니다"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: 경고: %sì€(는) 허용하지 않습니다"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: 경고: 완결ë˜ì§€ XML 마í¬ì—…"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: 문ìžì—´ì„ ë내는 \"%s\"ì´(ê°€) 파ì¼ì´ ë나기 ì „ì— ë‚˜ì˜¤ì§€ 않았습니다."
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: \\x{십육진수}ì—ì„œ 오른쪽 중괄호가 빠졌습니다"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\l\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\u\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: \"%c\"ì—ì„œ 변수 ì¸í„°í´ë ˆì´ì…˜ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\L\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\U\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
-"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스\n"
-"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
-"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "'%s'ì€(는) 올바른 ì¸ì½”딩 ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤. ASCII를 대신 사용합니다.\n"
-#: src/x-python.c:341
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 길고 불완전한 다중바ì´íŠ¸ 시퀀스\n"
-"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
-"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+msgid "syntax check '%s' unknown"
+msgstr "문법 검사 '%s'ì„(를) ì•Œ 수 없습니다"
-#: src/x-python.c:354
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 파ì¼ì˜ ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
-"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
-"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "문장 마침 종류 '%s'ì„(를) ì•Œ 수 없습니다"
-#: src/x-python.c:364
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 줄 ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
-"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
-"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-exeistingì€ ì¶œë ¥ì´ í‘œì¤€ì¶œë ¥ì— ì“°ì—¬ì§ˆ ë•Œ ì‚¬ìš©ë  ìˆ˜ 없습니다"
-#: src/x-python.c:397
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
-"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
-"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext는 검색할 키워드 ì—†ì´ëŠ” ë™ìž‘하지 않습니다"
-#: src/x-python.c:722
+#: src/xgettext.c:868
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"\"%s\" ì¸ì½”ë”©ì€ ì–´ë–¤ ì¸ì½”딩ì¸ì§€ ì•Œ 수 없습니다. 대신 ASCIIë¡œ 진행합니다."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ìž˜ëª»ëœ ë¬¸ìžì—´ ì •ì˜"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: # 다ìŒì— 숫ìžê°€ 빠졌습니다"
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ìž˜ëª»ëœ ë¬¸ìžì—´ 표현"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: 경고: $\"...\" ë¬¸ë²•ì€ ë³´ì•ˆìƒì˜ ì´ìœ ë¡œ 없어질 예정입니다. ëŒ€ì‹ ì— "
-"eval_gettext를 사용하십시오"
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: 경고: ì •ê·œì‹ ë¬¸ìžì—´ì´ 너무 빨리 ë났습니다"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "'%s'ì€(는) 올바른 ì¸ì½”딩 ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤. ASCII를 대신 사용합니다.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-exeistingì€ ì¶œë ¥ì´ í‘œì¤€ì¶œë ¥ì— ì“°ì—¬ì§ˆ ë•Œ ì‚¬ìš©ë  ìˆ˜ 없습니다"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext는 검색할 키워드 ì—†ì´ëŠ” ë™ìž‘하지 않습니다"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "경고: '%s' 파ì¼ì˜ í™•ìž¥ìž '%s'ì„(를) ì•Œ 수 없습니다. C 형ì‹ìœ¼ë¡œ 간주함"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "주어진 ìž…ë ¥ 파ì¼ì—ì„œ 번역 가능한 문ìžì—´ì„ 뽑아냅니다.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3846,24 +3880,24 @@ msgstr ""
" -d, --default-domain=<ì´ë¦„> 출력ì—(messages.po 대신) <ì´ë¦„>.po를 ì”니"
"다\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=<파ì¼> ì§€ì •ëœ íŒŒì¼ì— 출력합니다\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=<디렉터리> 출력 파ì¼ì„ <디렉터리> ë””ë ‰í„°ë¦¬ì— ë†“ìŠµë‹ˆë‹¤\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "ìž…ë ¥ 파ì¼ì˜ 언어 ì„ íƒ:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3884,12 +3918,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ --language=C++를 짧게 쓴 것입니다\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -3897,7 +3931,7 @@ msgid ""
msgstr ""
"기본ì ìœ¼ë¡œ ìž…ë ¥ 파ì¼ì˜ 확장ìžì— ë”°ë¼ ì–´ë–¤ 언어를 사용할 지 ì§ìž‘합니다.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3906,24 +3940,24 @@ msgstr ""
" --from-code=<ì´ë¦„> ìž…ë ¥ 파ì¼ì˜ ì¸ì½”딩\n"
" (Python, Tcl, Glade 제외)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "기본값으로 ìž…ë ¥ 파ì¼ì€ ASCIIë¡œ ì¸ì½”딩ë˜ì–´ 있다고 가정합니다.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing 현존하는 파ì¼ê³¼ 메시지를 합칩니다\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=<파ì¼.po> <파ì¼.po>ì˜ ë©”ì‹œì§€ëŠ” 뽑아내지 않습니다\n"
# TAGê°€ ì •í™•ì´ ë­ì§€?
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3937,17 +3971,39 @@ msgstr ""
" -c, --add-comments 키워드 줄 ì•žì— ëª¨ë“  ì£¼ì„ ë¶€ë¶„ì„ ì¶œë ¥\n"
" 파ì¼ì— ì”니다\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=<ì´ë¦„> ë©”ì‹œì§€ì— ëŒ€í•´ 문법 검사를 합니다\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=<종류> 문장 ëì„ ë‚˜íƒ€ë‚´ëŠ” ë°©ì‹\n"
+" (single-space(공백 1개)가 기본값,\n"
+" 아니면 double-space(공백 2개))\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Language 관련 옵션:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all 모든 문ìžì—´ì„ 뽑아 냅니다\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3963,7 +4019,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3979,7 +4035,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3989,7 +4045,7 @@ msgstr ""
" --flag=WORD:ARG:FLAG 키워드 WORDì˜ ì¸ìž 번호 ARGì•ˆì— ìžˆëŠ” 문ìžì—´ì˜\n"
" 추가 플래그\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4005,56 +4061,66 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs ìž…ë ¥ì—ì„œ ANSI C 삼중ìž(trigraph)를 ì¸ì‹í•©ë‹ˆ"
"다\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (ë‹¤ìŒ ì–¸ì–´ë§Œ 지ì›: C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt Qt í˜•ì‹ ë¬¸ìžì—´ì„ 알아냅니다\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (C++만 지ì›)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde KDE 4 í˜•ì‹ ë¬¸ìžì—´ì„ 알아냅니다\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost Boost í˜•ì‹ ë¬¸ìžì—´ì„ 알아냅니다\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr " --debug ë” ìžì„¸í•œ 형ì‹ë¬¸ìžì—´ ì¸ì‹ ê²°ê³¼\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output ìžë°” .properties 파ì¼ì„ ì”니다\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " -f, --files-from=<파ì¼> ìž…ë ¥ 파ì¼ì˜ 목ë¡ì„ <파ì¼>ì—ì„œ ì½ìŠµë‹ˆë‹¤\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent 들여 ì“°ê¸°ëœ ì¶œë ¥ 스타ì¼\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=<문ìžì—´> 출력할 저작권 소유ìžë¥¼ 지정합니다\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4062,17 +4128,17 @@ msgstr ""
" --foreign-user 외부 사용ìžë¥¼ 위해 FSF 저작권 표시를 ëºë‹ˆ"
"다\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=<패키지> 출력ì—ì„œ 패키지 ì´ë¦„ì„ ì§€ì •í•©ë‹ˆë‹¤\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=<버전> 출력ì—ì„œ 패키지 ë²„ì „ì„ ì§€ì •í•©ë‹ˆë‹¤\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4080,7 +4146,7 @@ msgstr ""
" --msgid-bugs-address=ì „ìžë©”ì¼@주소 msgid 버그를 ë³´ê³ í•  주소를 지정합"
"니다\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4091,7 +4157,7 @@ msgstr ""
"\"\"ì„ \n"
" ì ‘ë‘ì–´ë¡œ 사용합니다\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4102,38 +4168,38 @@ msgstr ""
"\"\"ì„ \n"
" 접미어로 사용합니다\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr "--flagì˜ ì¸ìžê°€ <keyword>:<argnum>:[pass-]<flag> ë¬¸ë²•ì´ ì•„ë‹™ë‹ˆë‹¤: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "표준 입력"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "%s%sì— ASCIIê°€ ì•„ë‹Œ 문ìžì—´ì´ 있습니다."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "%s%sì— ë˜ëŠ” ê·¸ ì•žì— ASCIIê°€ ì•„ë‹Œ 문ìžì—´ì´ 있습니다."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "%s%sì— ì‹œìž‘í•˜ëŠ” ASCIIê°€ ì•„ë‹Œ 문ìžì—´ì´ 있습니다."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: 경고: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4142,7 +4208,7 @@ msgstr ""
"í˜•ì‹ ë¬¸ìžì—´ì— 위치 ì§€ì •ì„ ì‚¬ìš©í–ˆì§€ë§Œ, %sì€(는) ìž˜ëª»ëœ %s í˜•ì‹ ë¬¸ìžì—´ìž…니다. "
"ì´ìœ : %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4150,7 +4216,7 @@ msgid ""
msgstr ""
"선언한 것과는 달리, '%s'ì€(는) 올바른 %s í˜•ì‹ ë¬¸ìžì—´ì´ 아닙니다. ì´ìœ : %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4163,7 +4229,7 @@ msgstr ""
"ì´ë¦„ì´ ìžˆëŠ” ì¸ìžë¥¼ ì´ìš©í•´ í˜•ì‹ ë¬¸ìžì—´ì„ 사용해 보십시오.\n"
"아니면 ì¸ìžì— 대해 튜플 ëŒ€ì‹ ì— ë§¤í•‘ì„ ì‚¬ìš©í•´ 보십시오.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4173,27 +4239,27 @@ msgstr ""
"gettext(\"\")는 빈 문ìžì—´ì´ 아니ë¼, 메타 ì •ë³´ê°€ 들어 있는 \n"
"í—¤ë” í•­ëª©ì„ ë¦¬í„´í•©ë‹ˆë‹¤.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "'%.*s' í‚¤ì›Œë“œì— ëŒ€í•œ ì¸ìž ì§€ì •ì´ ì• ë§¤í•©ë‹ˆë‹¤"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "경고: '%.*s' í‚¤ì›Œë“œì— ëŒ€í•´ 컨í…스트가 없습니다"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "경고: '%.*s' í‚¤ì›Œë“œì˜ ë³µìˆ˜í˜• ì¸ìžì— 대해 컨í…스트가 없습니다"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "단수형과 복수형 사ì´ì— 컨í…스트가 다릅니다"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4205,11 +4271,352 @@ msgstr ""
"변수를 지정하십시오. 그렇지 않으면 --msgid-bugs-address\n"
"명령행 ì˜µì…˜ì„ ì‚¬ìš©í•˜ì‹­ì‹œì˜¤.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "'%s' 언어를 알 수 없습니다"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: 경고: U+%04X 서로게ì´íŠ¸ 문ìžê°€ 단ë…으로 있습니다"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
+"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 길고 불완전한 다중바ì´íŠ¸ 시퀀스.\n"
+"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 파ì¼ì˜ ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
+"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 줄 ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
+"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
+"올바른 소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하십시오\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: 경고: ì •ê·œì‹ ë¬¸ìžì—´ì´ 너무 빨리 ë났습니다"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: 경고: %sì€(는) 허용하지 않습니다"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: 경고: 완결ë˜ì§€ XML 마í¬ì—…"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: 문ìžì—´ì„ ë내는 \"%s\"ì´(ê°€) 파ì¼ì´ ë나기 ì „ì— ë‚˜ì˜¤ì§€ 않았습니다."
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: \\x{십육진수}ì—ì„œ 오른쪽 중괄호가 빠졌습니다"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\l\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\u\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: \"%c\"ì—ì„œ 변수 ì¸í„°í´ë ˆì´ì…˜ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\L\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: 8비트 ë¬¸ìž \"%c\"ì˜ ì¸í„°í´ë ˆì´ì…˜(\"\\U\")ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
+"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스\n"
+"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
+"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 길고 불완전한 다중바ì´íŠ¸ 시퀀스\n"
+"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
+"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 파ì¼ì˜ ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
+"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
+"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 줄 ëì— ë¶ˆì™„ì „í•œ 다중바ì´íŠ¸ 시퀀스.\n"
+"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
+"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ìž˜ëª»ëœ ë‹¤ì¤‘ë°”ì´íŠ¸ 시퀀스.\n"
+"소스 ì¸ì½”ë”©ì„ --from-code 옵션으로 지정하거나 http://www.python.org/peps/"
+"pep-0263.html 페ì´ì§€ì— 있는 것처럼 주ì„으로 지정하십시오.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+"\"%s\" ì¸ì½”ë”©ì€ ì–´ë–¤ ì¸ì½”딩ì¸ì§€ ì•Œ 수 없습니다. 대신 ASCIIë¡œ 진행합니다."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ìž˜ëª»ëœ ë¬¸ìžì—´ ì •ì˜"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: # 다ìŒì— 숫ìžê°€ 빠졌습니다"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ìž˜ëª»ëœ ë¬¸ìžì—´ 표현"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: 경고: $\"...\" ë¬¸ë²•ì€ ë³´ì•ˆìƒì˜ ì´ìœ ë¡œ 없어질 예정입니다. ëŒ€ì‹ ì— "
+"eval_gettext를 사용하십시오"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: 경고: ì •ê·œì‹ ë¬¸ìžì—´ì´ 너무 빨리 ë났습니다"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<ì´ë¦„ì—†ìŒ>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ìž˜ëª»ëœ ì œì–´ 시퀀스"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "올바른 ìžë°” í´ëž˜ìŠ¤ ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "올바른 ìžë°” í´ëž˜ìŠ¤ ì´ë¦„ì´ ì•„ë‹™ë‹ˆë‹¤: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ìž˜ëª»ëœ ì œì–´ 시퀀스"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ì—”ë””ì•ˆì´ í‹€ë ¸ìŠµë‹ˆë‹¤: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "`%2$s'ì— ëŒ€í•œ ì¸ìž `%1$s'ì´(ê°€) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "í•„í„° ì´ë¦„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+# XML 엘리먼트를 ë§í•œë‹¤
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "'%s' 엘리먼트ì—ì„œ 뽑아낸 문ìžì—´ì— 대한 컨í…스트가 없습니다"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "언어 \"glade\"는 지ì›ë˜ì§€ 않습니다. %sì€(는) expatì— ì˜ì¡´í•©ë‹ˆë‹¤.\n"
+#~ "ì´ ë²„ì „ì€ expat ì—†ì´ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤.\n"
diff --git a/gettext-tools/po/nb.gmo b/gettext-tools/po/nb.gmo
index ca55bd1..02e81f6 100644
--- a/gettext-tools/po/nb.gmo
+++ b/gettext-tools/po/nb.gmo
Binary files differ
diff --git a/gettext-tools/po/nb.po b/gettext-tools/po/nb.po
index 7d2813b..feb62b3 100644
--- a/gettext-tools/po/nb.po
+++ b/gettext-tools/po/nb.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gettext 0.10.37\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2001-05-09 02:08+02:00\n"
"Last-Translator: Trond Endrestøl <endrestol@hotmail.com>\n"
"Language-Team: Norwegian-bokmål <no@li.org>\n"
@@ -54,40 +54,40 @@ msgstr "kan ikke opprette utfilen «%s»"
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "feil under åpning av «%s» for lesing"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "feil under åpning av «%s» for skriving"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "feil under lesing av «%s»"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "feil under skriving av filen «%s»"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "feil under lesing av «%s»"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr ""
@@ -113,58 +113,63 @@ msgstr "Ukjent systemfeil"
msgid "%s subprocess failed"
msgstr ""
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: flagget «%s» er flertydig\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: flagget «%s» er flertydig\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flagget «--%s» tillater ikke argumenter\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flagget «%c%s» tillater ikke argumenter\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: flagget «%s» krever et argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ukjent flagg «--%s»\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ukjent flagg «%c%s»\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ugyldig flagg -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: flagg krever et argument -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flagg «-W %s» er flertydig\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flagg «-W %s» tillater ikke et argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: flagget «%s» krever et argument\n"
@@ -180,15 +185,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr ""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "feil under skriving av filen «%s»"
@@ -203,15 +209,15 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "minnet oppbrukt"
@@ -222,7 +228,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -268,11 +274,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -308,107 +314,244 @@ msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "feil under åpning av «%s» for lesing"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Prøv «%s --help» for mer informasjon.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr ""
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Rapporter feil til <bug-gnu-utils@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Skrevet av %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "kan ikke opprette utfilen «%s»"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "feil under åpning av «%s» for lesing"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, fuzzy, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -516,61 +659,80 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, fuzzy, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "feil under lesing av «%s»"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -578,7 +740,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -589,239 +751,207 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, fuzzy, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "format-spesifiseringene for argument %lu er ulike"
+#: src/format-python-brace.c:138
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "format-spesifiseringene for argument %lu er ulike"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Skrevet av %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "for mange argumenter"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Prøv «%s --help» for mer informasjon.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -829,284 +959,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "minst to filer må angis"
+
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "kan ikke opprette utfilen «%s»"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-#, fuzzy
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Rapporter feil til <bug-gnu-utils@gnu.org>.\n"
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:1001
#, c-format
-msgid "could not get host name"
+msgid "invalid attribute value \"%s\" for \"%s\""
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "kan ikke opprette utfilen «%s»"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "kan ikke opprette utfilen «%s»"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, fuzzy, c-format
msgid "at most one input file allowed"
msgstr "trenger nøyaktig to innfiler"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s og %s utelukker hverandre"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "ingen innfil angitt"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1115,87 +1271,87 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, fuzzy, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1214,31 +1370,31 @@ msgstr ""
" -V, --version skriv ut programversjon og avslutt\n"
" -w, --width=ANTALL sett sidebredden i utdata\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "umulig utvalgskriterie angitt (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1268,97 +1424,97 @@ msgstr ""
"PO-filen som definerer dem. Filposisjonene fra alle PO-filene vil\n"
"bli bevart.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ingen innfiler angitt"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "trenger nøyaktig to innfiler"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, fuzzy, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1381,86 +1537,86 @@ msgstr ""
"alle meldingene i programmet ditt. Når en eksakt overensstemmelse ikke\n"
"finnes, blir «fuzzy»-sammenligning brukt for å få en bedre diagnostikk.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "advarsel: denne meldingen er ikke brukt"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "denne meldingen er brukt, men ikke definert..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "... men denne definisjonen ligner"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "denne meldingen er brukt, men ikke definert i %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "advarsel: denne meldingen er ikke brukt"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "fant %d fatale feil"
msgstr[1] "fant %d fatale feil"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "minst to filer må angis"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1489,74 +1645,74 @@ msgstr ""
"PO-filen som definerer dem. Filposisjonene fra alle PO-filene vil\n"
"bli bevart.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "ingen innfil angitt"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, fuzzy, c-format
msgid "exactly one input file required"
msgstr "trenger nøyaktig to innfiler"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1565,22 +1721,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, fuzzy, c-format
msgid "missing command name"
msgstr "mangler argumenter"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1590,62 +1746,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standard inn"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, fuzzy, c-format
msgid "missing filter name"
msgstr "mangler argumenter"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, fuzzy, c-format
msgid "at least one sed script must be specified"
msgstr "minst to filer må angis"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1653,226 +1831,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filen «%s» inneholder en ikke-NUL-terminert streng"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s og %s utelukker hverandre"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "kan ikke opprette utfilen «%s»"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d oversatt melding"
msgstr[1] "%d oversatte meldinger"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d antatt oversettelse"
msgstr[1] ", %d antatte oversettelser"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d uoversatt melding"
msgstr[1] ", %d uoversatte meldinger"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1881,65 +2067,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, fuzzy, c-format
msgid "Output file location in C# mode:\n"
msgstr "ingen innfil angitt"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1947,12 +2133,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1960,33 +2161,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -1994,18 +2195,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2014,115 +2215,114 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, fuzzy, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
"%s: advarsel: PO-filheader mangler, fuzzy, eller ugyldig\n"
"%*s advarsel: tegnsettkonvertering vil ikke virke"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, fuzzy, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
"Tegnsettet mangler i headeren.\n"
"Meldingskonvertering til brukerens tegnsett kan ikke virke.\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, fuzzy, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
"%s: advarsel: PO-filheader mangler, fuzzy, eller ugyldig\n"
"%*s advarsel: tegnsettkonvertering vil ikke virke"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domenenavnet «%s» passer ikke som filnavn"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domenenavnet «%s» passer ikke som filnavn: bruker prefiks"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "nøkkelord «domain %s» ignorert"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "tom «msgstr»-linje ignorert"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "antatt «msgstr»-linje ignorert"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: advarselL: kildefil har antatte oversettelser"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "feil under lesing av «%s»"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2162,18 +2362,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2258,14 +2458,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2277,54 +2477,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, fuzzy, c-format
msgid "warning: "
msgstr "%s: advarsel: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2333,7 +2533,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2342,7 +2542,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2351,12 +2551,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2364,7 +2564,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2373,7 +2573,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2381,151 +2581,167 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
#, fuzzy
msgid "invalid nplurals value"
msgstr "ulovlig kontrollsekvens"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
#, fuzzy
msgid "invalid plural expression"
msgstr "ulovlig kontrollsekvens"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, fuzzy, c-format
msgid "nplurals = %lu"
msgstr "ulovlig kontrollsekvens"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, fuzzy, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "denne meldingen er brukt, men ikke definert i %s"
msgstr[1] "denne meldingen er brukt, men ikke definert i %s"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, fuzzy, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "denne meldingen er brukt, men ikke definert i %s"
msgstr[1] "denne meldingen er brukt, men ikke definert i %s"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "«msgid»- og «msgid_plural»-innslagene begynner ikke med `\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "«msgid»- og «msgstr[%u]»-innslagene begynner ikke med `\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "«msgid»- og «msgstr»-innslagene begynner ikke med `\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "«msgid»- og «msgstr[%u]»-innslagene slutter ikke med `\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "«msgid»- og «msgstr[%u]»-innslagene slutter ikke med `\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "«msgid»- og «msgstr»-innslagene slutter ikke med `\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "noen filhodefelt har fremdeles sin initielle verdi"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "filhodefelt «%s» mangler i filhode"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "feil under åpning av «%s» for lesing"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, fuzzy, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2534,15 +2750,15 @@ msgstr ""
"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv(),\n"
"og iconv() støtter ikke \"%s\".\n"
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, fuzzy, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2551,16 +2767,16 @@ msgstr ""
"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv().\n"
"Denne versjonen ble blygget uten iconv().\n"
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, fuzzy, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2585,51 +2801,51 @@ msgstr ""
"resultater. Resultatet blir skrevet til standard ut, med mindre en utfil\n"
"er spesifisert.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2641,7 +2857,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2649,28 +2865,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, fuzzy, c-format
msgid "this message should define plural forms"
msgstr "denne meldingen er brukt, men ikke definert i %s"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "denne meldingen er brukt, men ikke definert i %s"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2679,63 +2895,63 @@ msgstr ""
"%sLeste %ld gamle + %ld referanser, flettet %ld, antok %ld, mangler %ld, "
"foreldete %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " ferdig.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, fuzzy, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s og %s utelukker hverandre"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2743,41 +2959,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, fuzzy, c-format
msgid "Input file location in C# mode:\n"
msgstr "ingen innfil angitt"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2790,19 +3006,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -2858,32 +3074,32 @@ msgstr ""
"Tegnsettet mangler i headeren.\n"
"Meldingskonvertering til brukerens tegnsett kan ikke virke.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "inkonsistent bruk av #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "mangler «msgstr[]»-seksjon"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "mangler «msgid_plural»-seksjon"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "mangler «msgstr»-seksjon"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "første flertallsform har en ikke-null indeks"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "flertallsform har feil indeks"
@@ -2893,7 +3109,7 @@ msgstr "flertallsform har feil indeks"
msgid "too many errors, aborting"
msgstr "for mange feil, avbryter"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ulovlig multibytesekvens"
@@ -2937,71 +3153,89 @@ msgstr "slutt-på-linje inne i streng"
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "denne filen kan ikke inneholde domene-direktiver"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "duplisert definisjon av melding"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "... dette er lokasjonen til den første definisjonen"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "mangler argumenter"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ulovlig kontrollsekvens"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, fuzzy, c-format
msgid "file \"%s\" is truncated"
msgstr "filen «%s» er avkuttet"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "filen «%s» inneholder en ikke-NUL-terminert streng"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "filen «%s» er ikke i GNU .mo-format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "filen «%s» inneholder en ikke-NUL-terminert streng"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
#, fuzzy
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
#, fuzzy
msgid "warning: syntax error"
msgstr "%s:%d: advarsel: nøkkelord nøstet i et annet nøkkelords argument"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
#, fuzzy
msgid "warning: syntax error, expected ';' after string"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
#, fuzzy
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "%s:%d: advarsel: nøkkelord nøstet i et annet nøkkelords argument"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "Skrevet av %s.\n"
@@ -3010,116 +3244,116 @@ msgstr "Skrevet av %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "feil under åpning av «%s» for lesing"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, fuzzy, c-format
msgid "expected two arguments"
msgstr "for mange argumenter"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, fuzzy, c-format
msgid "error reading \"%s\""
msgstr "feil under lesing av «%s»"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, fuzzy, c-format
msgid "error writing stdout"
msgstr "feil under skriving av filen «%s»"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, fuzzy, c-format
msgid "error after reading \"%s\""
msgstr "feil under lesing av «%s»"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "kan ikke opprette utfilen «%s»"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard ut"
@@ -3138,39 +3372,40 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "feil under åpning av «%s» for skriving"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "feil under åpning av «%s» for skriving"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "ulovlig multibytesekvens"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"internasjonaliserte meldinger bør ikke inneholde escape-sekvensen «\\%c»"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3179,7 +3414,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3188,13 +3423,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3202,377 +3437,202 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "feil under skriving av filen «%s»"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, fuzzy, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, fuzzy, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv().\n"
-"Denne versjonen ble blygget uten iconv().\n"
-
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-perl.c:1217
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: ugyldig flagg -- %c\n"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "språket «%s» er ukjent"
-#: src/x-python.c:397
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:722
+#: src/xgettext.c:711
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"--join-existing kan ikke brukes når utdata blir skrevet til standard ut"
-#: src/x-rst.c:108
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext kan ikke arbeide uten å finne nøkkelord"
-#: src/x-rst.c:172
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: missing number after #"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-rst.c:207
-#, fuzzy, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: advarsel: uavsluttet strengliteral"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing kan ikke brukes når utdata blir skrevet til standard ut"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext kan ikke arbeide uten å finne nøkkelord"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "advarsel: typen til fil «%s» med utvidelsen «%s» er ukjent, forsøker C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "ingen innfil angitt"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3585,41 +3645,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3629,17 +3689,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3649,7 +3725,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3659,7 +3735,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3667,7 +3743,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3677,75 +3753,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3753,7 +3839,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3761,52 +3847,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard inn"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, fuzzy, c-format
msgid "%s%s: warning: "
msgstr "%s: advarsel: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3815,34 +3901,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3850,15 +3936,311 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "språket «%s» er ukjent"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: advarsel: uavsluttet strengliteral"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: advarsel: uavsluttet strengliteral"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: advarsel: uavsluttet strengliteral"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s: ugyldig flagg -- %c\n"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, fuzzy, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: advarsel: uavsluttet strengliteral"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: advarsel: uavsluttet strengliteral"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ulovlig kontrollsekvens"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ulovlig kontrollsekvens"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ulovlig multibytesekvens"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr ""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "mangler argumenter"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: ulovlig flagg -- %c\n"
@@ -3870,6 +4252,14 @@ msgstr ""
#~ msgid "field `%s' still has initial default value\n"
#~ msgstr "feltet «%s» har fremdeles sin forvalgte verdi"
+#, fuzzy
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv().\n"
+#~ "Denne versjonen ble blygget uten iconv().\n"
+
# Hva skal MERCHANTABILITY og FITNESS FOR PARTICULAR PURPOSE oversettes med?
# Er denne oversettelsen grei nok?
#~ msgid ""
diff --git a/gettext-tools/po/nl.gmo b/gettext-tools/po/nl.gmo
index 9d8e687..1bd6028 100644
--- a/gettext-tools/po/nl.gmo
+++ b/gettext-tools/po/nl.gmo
Binary files differ
diff --git a/gettext-tools/po/nl.po b/gettext-tools/po/nl.po
index 5a39d44..befe9b0 100644
--- a/gettext-tools/po/nl.po
+++ b/gettext-tools/po/nl.po
@@ -1,17 +1,17 @@
# Dutch translations for gettext-tools.
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
#
# "Voor de wind."
#
# Erick Branderhorst <Erick.Branderhorst@asml.nl>, 1996.
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2008, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2008, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools-0.19-rc1\n"
+"Project-Id-Version: gettext-tools-0.19.6.43\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-06-06 11:36+0200\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-12 13:55+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -59,40 +59,40 @@ msgstr "kan tijdelijke map '%s' niet verwijderen"
msgid "write error"
msgstr "schrijffout"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "behouden van toegangsrechten van %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "fout bij openen van %s voor lezen"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "kan reservekopiebestand %s niet openen voor schrijven"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "fout bij lezen van %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "fout bij schrijven van %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "fout na lezen van %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() is mislukt"
@@ -118,58 +118,63 @@ msgstr "Onbekende systeemfout"
msgid "%s subprocess failed"
msgstr "subproces %s is mislukt"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: optie '%s' is niet eenduidig\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: optie '--%s' vereist een argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ongeldige optie -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: optie vereist een argument -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: optie '-W %s' vereist een argument\n"
@@ -185,15 +190,16 @@ msgstr "ongeldige waarde voor 'source_version' in compile_java_class()"
msgid "invalid target_version argument to compile_java_class"
msgstr "ongeldige waarde voor 'target_version' in compile_java_class()"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "aanmaken van '%s' is mislukt"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "fout bij schrijven van bestand '%s'"
@@ -208,15 +214,15 @@ msgstr "Java-compiler is niet gevonden; installeer 'gcj' of zet $JAVAC"
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "Virtuele Java-machine is niet gevonden; installeer 'gcj' of zet $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "In-/uitvoerfout in subproces %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "onvoldoende geheugen beschikbaar"
@@ -227,7 +233,7 @@ msgid "creation of threads failed"
msgstr "aanmaken van threads is mislukt"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "schrijven naar subproces %s is mislukt"
@@ -273,11 +279,11 @@ msgstr "subproces %s is geëindigd met afsluitwaarde %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "‘"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "’"
@@ -313,51 +319,202 @@ msgstr "subproces %s"
msgid "%s subprocess got fatal signal %d"
msgstr "subproces %s ontving het fatale signaal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
+#, fuzzy, c-format
+msgid "The root element must be <%s>"
+msgstr "het hoofdelement is niet \"locatingRules\""
+
+#: src/cldr-plurals.c:83
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "fout bij openen van '%s' voor lezen"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "'%s' is geen geldige opmaakreeks voor %s, anders dan '%s'. Reden: %s"
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Typ '%s --help' voor meer informatie.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Gebruik: %s [OPTIE...] [TAALREGIO REGELS]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"Extraheert of converteert Unicode CLDR-meervoudsregels.\n"
+"\n"
+"Als zowel TAALREGIO als REGELS gegeven zijn, dan worden de CLDR-meervoudsregels\n"
+"voor TAALREGIO uit REGELS gelezen en getoond in een vorm die bruikbaar is voor\n"
+"gettext. Als er geen argumenten gegeven zijn, dan worden de meervoudsregels\n"
+"van standaardinvoer gelezen.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Een verplicht of optioneel argument bij een lange optie\n"
+"geldt ook voor de korte vorm.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -c, --cldr meervoudsregels weergeven in CLDR-opmaak\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help deze hulptekst tonen en stoppen\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version programmaversie tonen en stoppen\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Rapporteer gebreken in het programma aan <bug-gnu-gettext@gnu.org>;\n"
+"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n"
+"De precieze licentie is GPLv3+: GNU GPL versie 3 of later;\n"
+"zie http://gnu.org/licenses/gpl.html voor de volledige tekst.\n"
+"Er is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Geschreven door %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "kan %s niet lezen"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "kan regels voor %s niet extraheren"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "Kan CLDR-regel niet ontleden"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "overtollige operand: %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "fout bij openen van '%s' voor lezen"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
-msgstr "opmaakcode voor argument %u, als in '%s', komt niet voor in '%s'"
+msgstr "een opmaakcode voor argument %u, als in '%s', komt niet voor in '%s'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
-msgstr "opmaakcode voor argument %u komt niet voor in '%s'"
+msgstr "een opmaakcode voor argument %u komt niet voor in '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "opmaakcodes in '%s' en '%s' voor argument %u zijn niet hetzelfde"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Directief nummer %u begint met | maar eindigt niet op |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "'%s' is geen geldige opmaakreeks voor %s, anders dan '%s'. Reden: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -367,56 +524,56 @@ msgstr ""
"opmaakcodemacro. Geldige macronamen staan opgesomd in ISO C 99, paragraaf "
"7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"In directief nummer %u wordt de tekenreeks na '<' niet gevolgd door '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"De tekenreeks verwijst naar argumentnummer %u maar negeert argumentnummer %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "het aantal opmaakcodes in '%s' en '%s' is niet gelijk"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "In directief nummer %u wordt '{' niet gevolgd door een argumentnummer."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "In directief nummer %u wordt ',' niet gevolgd door een nummer."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"De tekenreeks stopt midden in een directief: '{' gevonden zonder gepaarde "
"'}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"Het directief nummer %u eindigt op ongeldig teken '%c' in plaats van '}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Het directief nummer %u eindigt op een ongeldig teken in plaats van '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -424,7 +581,7 @@ msgstr ""
"De tekenreeks begint midden in een directief: '}' gevonden zonder gepaarde "
"'{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "De tekenreeks bevat een ongepaarde '}' na directief nummer %u."
@@ -549,7 +706,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"De tekenreeks verwijst naar argumentnummer %u op niet-compatibele manieren."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -557,19 +714,19 @@ msgid ""
msgstr ""
"In directief nummer %u is deeltekenreeks \"%s\" geen geldige datum/tijdstijl."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "In directief nummer %u wordt \"%s\" niet gevolgd door een komma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"In directief nummer %u is deeltekenreeks \"%s\" geen geldige getallenstijl."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -578,12 +735,12 @@ msgstr ""
"In directief nummer %u wordt het argumentnummer niet gevolgd door een komma "
"en één van \"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "In directief nummer %u bevat een keuze geen getal."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -592,24 +749,47 @@ msgstr ""
"In directief nummer %u bevat een keuze een getal dat niet gevolgd wordt door "
"'<', '#' of '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
-msgstr "opmaakcode voor argument {%u}, als in '%s', komt niet voor in '%s'"
+msgstr "een opmaakcode voor argument {%u}, als in '%s', komt niet voor in '%s'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
-msgstr "opmaakcode voor argument {%u} komt niet voor in '%s'"
+msgstr "een opmaakcode voor argument {%u} komt niet voor in '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "opmaakcodes in '%s' en '%s' voor argument {%u} zijn niet hetzelfde"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"De tekenreeks verwijst naar argumentnummer %u maar negeert argumenten %u and "
+"%u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"voor argumenten %u en %u komt er geen opmaakcode voor in '%s'; slechts één "
+"argument mag genegeerd worden"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "fout tijdens ontleden van '%s'"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -619,7 +799,7 @@ msgstr ""
"In directief nummer %u is parameter %u van type '%s' maar wordt een "
"parameter van type '%s' verwacht."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -634,33 +814,33 @@ msgstr[1] ""
"In directief nummer %u zijn te veel parameters opgegeven; maximaal %u "
"parameters worden verwacht."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "In directief nummer %u wordt '%c' niet gevolgd door een cijfer."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "In directief nummer %u is argument %d negatief."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "De tekenreeks stopt midden in een ~/.../ directief."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "'-%c' gevonden zonder overeenkomstige '-%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "In directief nummer %u zijn zowel de @- en de :-aanpastekens gegeven."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -669,27 +849,33 @@ msgstr ""
"In directief nummer %u is '~:[' niet gevolgd door twee clausules, gescheiden "
"door een '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "In directief nummer %u is '~;' gebruikt op een onjuiste positie."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
"De tekenreeks verwijst naar enig argument op niet-compatibele manieren."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "de opmaakcodes in '%s' en '%s' zijn niet gelijkwaardig"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "de opmaakcodes in '%s' zijn geen subset van die in '%s'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "opmaakcode voor argument '%s' komt niet voor in '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -698,14 +884,34 @@ msgstr ""
"In directief nummer %u is de groottespecificatie niet-compatibel met de "
"conversiespecificatie '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "opmaakcode voor argument '%s' komt niet voor in '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "In directief nummer %u kan '%c' geen veldnaam beginnen."
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "In directief nummer %u kan '%c' geen 'getattr'-argument beginnen."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "In directief nummer %u kan '%c' geen 'getitem'-argument beginnen."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"In directief nummer %u is geen nesting meer toegestaan in een opmaakcode."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "In directief nummer %u is er een onafgemaakte opmaakcode."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -713,67 +919,40 @@ msgstr ""
"De tekenreeks verwijst naar argumenten zowel via argumentnamen als via "
"onbenoemde argumentspecificaties."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"De tekenreeks verwijst naar het argument genaamd '%s' op niet-compatibele "
"wijze."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
"de opmaakcodes in '%s' verwachten een afbeelding, die in '%s' een tupel"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
"de opmaakcodes in '%s' verwachten een tupel, die in '%s' een afbeelding"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "opmaakcode voor argument '%s', als in '%s', komt niet voor in '%s'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "de opmaakcodes in '%s' en '%s' voor argument '%s' zijn niet hetzelfde"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "In directief nummer %u kan '%c' geen veldnaam beginnen."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "In directief nummer %u kan '%c' geen 'getattr'-argument beginnen."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "In directief nummer %u kan '%c' geen 'getitem'-argument beginnen."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"In directief nummer %u is geen nesting meer toegestaan in een opmaakcode."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "In directief nummer %u is er een onafgemaakte opmaakcode."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -782,12 +961,12 @@ msgstr ""
"'%s' is een eenvoudige opmaakcode maar '%s' is dat niet: het bevat een 'L'-"
"vlag of een argumentnummer met dubbele cijfers"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"De tekenreeks verwijst naar een shell-variabele met een niet-ASCII-naam."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -796,7 +975,7 @@ msgstr ""
"accolade-expansie. Om veiligheidsredenen wordt deze syntax hier niet "
"ondersteund."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -804,18 +983,18 @@ msgstr ""
"De tekenreeks verwijst naar een shell-variabele waarvan de waarde binnen "
"shell-functies kan wijzigen."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "De tekenreeks verwijst naar een shell-variabele met een lege naam."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "In directief nummer %u is teken '%c' geen cijfer tussen 1 en 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -823,76 +1002,40 @@ msgid ""
msgstr ""
"Het teken waarmee directief nummer %u afsluit is geen cijfer tussen 1 en 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n"
-"De precieze licentie is GPLv3+: GNU GPL versie 3 of later;\n"
-"zie http://gnu.org/licenses/gpl.html voor de volledige tekst.\n"
-"Er is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Geschreven door %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "te veel argumenten"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Typ '%s --help' voor meer informatie.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Gebruik: %s [OPTIE...]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "De hostnaam van de machine tonen.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Opmaak van de uitvoer:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short korte hostnaam\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -900,79 +1043,103 @@ msgid ""
" name, and aliases\n"
msgstr " -f, --fqdn, --long lange hostnaam: FQDN plus aliassen\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address IP-adressen behorend bij de hostnaam\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informatieve uitvoer:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help deze hulptekst tonen en stoppen\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "kan hostnaam niet verkrijgen"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version programmaversie tonen en stoppen\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "selector is niet opgegeven"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "kan XPath-context niet aanmaken"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
+msgstr "kan XPath-expressie niet evalueren: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "\"%s\"-node bevat geen \"%s\""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "ongeldige eigenschapswaarde \"%s\" voor \"%s\""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
msgstr ""
-"Rapporteer gebreken in het programma aan <bug-gnu-gettext@gnu.org>;\n"
-"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
#, c-format
-msgid "could not get host name"
-msgstr "kan hostnaam niet verkrijgen"
+msgid "cannot read %s: %s"
+msgstr "kan %s niet lezen: %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "kan XPath-locatiepad niet evalueren: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "\"%s\"-node heeft geen \"%s\""
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "kan XML-bestand %s niet lezen"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "het hoofdelement is niet \"locatingRules\""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "hoogstens één invoerbestand is toegestaan"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s en %s sluiten elkaar uit"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Gebruik: %s [OPTIE...] [INVOERBESTAND]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -981,33 +1148,33 @@ msgstr ""
"Filtert de berichten van een vertalingenbestand aan de hand van hun\n"
"eigenschappen, en manipuleert die eigenschappen.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Een verplicht argument bij een lange optie geldt ook voor de korte vorm.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Locatie van invoerbestand:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INVOERBESTAND in te lezen PO-bestand\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1015,32 +1182,33 @@ msgstr ""
" -D, --directory=MAP deze map toevoegen aan lijst van te doorzoeken "
"mappen\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Zonder invoerbestand, of als deze '-' is, wordt standaardinvoer gelezen.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Locatie van uitvoerbestand:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=BESTAND de uitvoer naar gegeven bestand schrijven\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1050,12 +1218,12 @@ msgstr ""
"uitvoerbestand\n"
"gegeven is of als deze '-' is.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Berichtenselectie:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1063,7 +1231,7 @@ msgstr ""
" --translated vertaalde berichten behouden, onvertaalde "
"weglaten\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1071,58 +1239,58 @@ msgstr ""
" --untranslated onvertaalde berichten behouden, vertaalde "
"weglaten\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy de met 'fuzzy' gemarkeerde berichten weglaten\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy alleen met 'fuzzy' gemarkeerde berichten "
"behouden\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete verouderder berichten (#~) weglaten\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
" --only-obsolete alleen verouderde berichten (#~) behouden\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulatie van eigenschappen:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy alle berichten met 'fuzzy' markeren\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy bij alle berichten eventuele 'fuzzy' weghalen\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete alle berichten als verouderd (#~) markeren\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete bij alle berichten '#~' weghalen\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1132,14 +1300,14 @@ msgstr ""
"echt\n"
" bij de msgstr hoorde behouden\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr " --clear-previous eventuele originele msgids weglaten\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1147,7 +1315,7 @@ msgstr ""
" --empty bij weglaten van 'fuzzy' ook de msgstr "
"leegmaken\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1155,7 +1323,7 @@ msgstr ""
" --only-file=BESTAND.po alleen items manipuleren die in dit bestand "
"staan\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1163,13 +1331,13 @@ msgstr ""
" --ignore-file=BESTAND.po alleen items manipuleren die in dit bestand\n"
" niet voorkomen\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy hetzelfde als '--only-fuzzy --clear-fuzzy'\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1177,40 +1345,40 @@ msgstr ""
" --obsolete hetzelfde als '--only-obsolete --clear-"
"obsolete'\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syntax van invoerbestand:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Uitvoerdetails:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1219,118 +1387,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
-msgstr ""
+msgstr "onmogelijke selectiecriteria opgegeven (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Gebruik: %s [OPTIE...] [INVOERBESTAND]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1344,97 +1512,97 @@ msgid ""
"to define them.\n"
msgstr ""
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INVOERBESTAND... invoerbestanden\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
-msgstr ""
+msgstr "Als invoerbestand '-' is, dan wordt standaardinvoer gelezen.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "geen invoerbestanden gegeven"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "precies twee invoerbestanden zijn vereist"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Gebruik: %s [OPTIE...] bestaande.po referentie.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1452,86 +1620,86 @@ msgstr ""
"programma vertaald zijn. Wanneer er geen exacte overeenkomst is, wordt er\n"
"ook naar vage gelijkenissen gekeken, om een betere diagnose te kunnen geven.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " bestaande.po bestaand bestand met vertalingen\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " referentie.pot verwijzingen naar de programmatekst\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
-msgstr ""
+msgstr "Werkingsmodus:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "dit bericht is onvertaald"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "dit bericht moet door een vertaler gecontroleerd worden"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "dit bericht wordt gebruikt maar is niet gedefinieerd..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
-msgstr "...maar de definitie is gelijksoortig"
+msgstr "...maar deze definitie lijkt erop"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "dit bericht wordt gebruikt maar is niet gedefinieerd in %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "waarschuwing: dit bericht wordt niet gebruikt"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d fatale fout gevonden"
msgstr[1] "%d fatale fouten gevonden"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "er moeten minstens twee bestanden opgegeven worden"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1544,74 +1712,74 @@ msgid ""
"cumulated.\n"
msgstr ""
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "geen invoerbestand gegeven"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "precies één invoerbestand is vereist"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Gebruik: %s [OPTIE...] INVOERBESTAND\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1620,22 +1788,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "ontbrekende opdrachtnaam"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Gebruik: %s [OPTIE...] OPDRACHT [OPDRACHTOPTIE...]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1645,44 +1813,54 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Opdrachtinvoer:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "schrijven naar standaarduitvoer is mislukt"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "ontbrekende filternaam"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "er moet minstens één sed-script gegeven worden"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Gebruik: %s [OPTIE...] FILTER [FILTEROPTIE...]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Past een filter toe op alle vertalingen in een PO-bestand.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1691,18 +1869,30 @@ msgstr ""
"Het FILTER kan elk programma zijn dat een bericht van standaardinvoer leest\n"
"en een gewijzigd bericht naar standaarduitvoer schrijft.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Nuttige FILTEROPTIEs als het FILTER 'sed' is:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1710,229 +1900,236 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filteruitvoer wordt niet door een regeleindeteken afgesloten"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "het argument van %s dient één enkel interpunctieteken te zijn"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ongeldige endian-waarde: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
+"er hoort geen invoerbestand gegeven te zijn wanneer %s en %s gegeven zijn"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
-msgstr ""
+msgstr "%s vereist een optie \"-d MAP\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
-msgstr ""
+msgstr "%s vereist een optie \"-l TAALREGIO\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
-msgstr ""
+msgstr "%s vereist een optie \"--template SJABLOON\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
-msgstr ""
+msgstr "%s vereist een optie \"-o BESTAND\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s en %s sluiten elkaar uit in %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s is alleen geldig samen met %s of %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s is alleen geldig samen met %s, %s of %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "kan ITS-regels voor %s niet vinden"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d vertaald bericht"
msgstr[1] "%d vertaalde berichten"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d vage gelijkenis"
msgstr[1] ", %d vage gelijkenissen"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d onvertaald bericht"
msgstr[1] ", %d onvertaalde berichten"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Gebruik: %s [OPTIE] bestandsnaam.po...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Genereert een binaire berichtencatalogus uit een vertalingenbestand.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Een verplicht of optioneel argument bij een lange optie\n"
-"geldt ook voor de korte vorm.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " bestandsnaam.po... invoerbestanden\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Werkingsmodus:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Als het uitvoerbestand '-' is, dan wordt naar standaarduitvoer geschreven.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Locatie van uitvoerbestand in Java-modus:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1941,65 +2138,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Locatie van uitvoerbestand in C#-modus:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Locatie van uitvoerbestand in Tcl-modus:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2007,12 +2204,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2020,33 +2232,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2054,18 +2266,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2074,97 +2286,96 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "waarschuwing: PO-kopregels ontbreken of zijn ongeldig\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "waarschuwing: tekensetconversie zal niet werken\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "waarschuwing: PO-kopregels zijn gemarkeerd als 'fuzzy'\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "waarschuwing: oudere versies van 'msgfmt' vinden dit een fout\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domeinnaam '%s' is niet bruikbaar als bestandsnaam"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"domeinnaam '%s' is niet bruikbaar als bestandsnaam: voorvoegsel wordt "
"gebruikt"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "directief 'domain %s' is genegeerd"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "leeg 'msgstr'-item is genegeerd"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "fuzzy 'msgstr'-item is genegeerd"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: waarschuwing: bronbestand bevat fuzzy vertaling"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s bestaat niet"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s bestaat maar kan deze niet lezen"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "fout tijdens lezen van '%s'"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2173,14 +2384,14 @@ msgstr ""
"optie '%c' kan niet gebruikt worden voordat\n"
"'J' of 'K' of 'T' of 'C' of 'X' gegeven is"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2220,18 +2431,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2316,14 +2527,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "subproces %s is mislukt met afsluitwaarde %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2335,28 +2546,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Nederlandse vertalingen voor het pakket %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "huidige tekensetnaam '%s' is geen overdraagbare coderingsnaam"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "invoerbestand '%s' bevat geen kopregel met een tekensetspecificatie"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2365,26 +2576,26 @@ msgstr ""
"domein '%s' in invoerbestand '%s' bevat geen kopregel met een "
"tekensetspecificatie"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "doeltekenset '%s' is geen overdraagbare codering"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "waarschuwing: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2393,7 +2604,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2402,7 +2613,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2411,12 +2622,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2424,7 +2635,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2433,7 +2644,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2444,176 +2655,192 @@ msgstr ""
"coderingsnaam. De uitvoer van '%s' zou onjuist kunnen zijn.\n"
"Het zetten van LC_ALL=C kan dit eventueel vermijden.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "ongeldige waarde van 'nplurals'"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ongeldige meervoudsexpressie"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "aantal meervouden = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "maar sommige berichten hebben slechts één meervoudsvorm"
msgstr[1] "maar sommige berichten hebben slechts %lu meervoudsvormen"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "maar sommige berichten hebben één meervoudsvorm"
msgstr[1] "maar sommige berichten hebben %lu meervoudsvormen"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "'msgid' en 'msgid_plural' beginnen niet beide met '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "'msgid' en 'msgstr[%u]' beginnen niet beide met '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "'msgid' en 'msgstr' beginnen niet beide met '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "'msgid' en 'msgid_plural' eindigen niet beide met '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "'msgid' en 'msgstr[%u]' eindigen niet beide met '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "'msgid' en 'msgstr' eindigen niet beide met '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "meervoudsvormen zijn een uitbreiding van GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "sneltoetsmarkering '%c' ontbreekt in 'msgstr'"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "'msgstr' bevat te veel '%c'-sneltoetsmarkeringen"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "kopveld '%s' heeft nog de standaardwaarde\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "kopveld '%s' ontbreekt in PO-kopregels\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: invoer is ongeldig in codering '%s'"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: fout tijdens omzetten van codering '%s' naar '%s'"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "invoerbestand bevat geen kopregel met een tekensetspecificatie"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s is alleen geldig met %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2637,52 +2864,52 @@ msgstr ""
"Wanneer er geen exacte overeenkomst is, wordt er ook naar vage gelijkenissen\n"
"gekeken, om een beter resultaat te produceren.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " bestaande.po bestaand bestand met oude vertalingen\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
" referentie.pot verwijzingen naar nieuwe programmatekst\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Locatie van uitvoerbestand in update-modus:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Het resultaat wordt teruggeschreven naar bestaande.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2694,7 +2921,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2702,28 +2929,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "dit bericht dient meervouden te definiëren"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "dit bericht dient geen meervouden te definiëren"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2732,63 +2959,63 @@ msgstr ""
"%s Gelezen: %ld bestaande plus %ld referentiebestanden -- %ld overgenomen, "
"%ld vervanderd, %ld ontbreken, %ld verouderd.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " voltooid.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s en expliciete bestandsnamen gaan niet samen"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Gebruik: %s [OPTIE...] [BESTAND]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Locatie van invoerbestand in Java-modus:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2796,41 +3023,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Locatie van invoerbestand in C#-modus:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Locatie van invoerbestand in Tcl-modus:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2843,19 +3070,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr ""
@@ -2909,32 +3136,32 @@ msgstr ""
"De tekenset ontbreekt in de kopregels.\n"
"Omzetting naar de tekenset van de gebruiker zal niet werken.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "inconsistent gebruik van '#~'"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "ontbrekende 'msgstr[]'-sectie"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "ontbrekende 'msgid_plural'-sectie"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "ontbrekende 'msgstr'-sectie"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "eerste meervoudsvorm heeft een index ongelijk aan nul"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "meervoudsvorm heeft een onjuiste index"
@@ -2944,7 +3171,7 @@ msgstr "meervoudsvorm heeft een onjuiste index"
msgid "too many errors, aborting"
msgstr "te veel fouten -- gestopt"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ongeldige multibyte-sequentie"
@@ -2988,67 +3215,86 @@ msgstr "regeleindeteken IN een tekenreeks"
msgid "context separator <EOT> within string"
msgstr "tekstscheidingteken <EOT> IN een tekenreeks"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "dit bestand mag geen domeindirectieven bevatten"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "dubbele definitie van een bericht"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "dit is de plek van de eerste definitie"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "waarschuwing: ongeldig Unicode-teken"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "ontbrekende filternaam"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ongeldige waarde van 'nplurals'"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "bestand '%s' is afgekapt"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr ""
"bestand '%s' bevat een tekenreeks die niet door NUL-teken wordt afgesloten"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "bestand '%s' is geen GNU .mo-bestand"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
"bestand '%s' bevat een tekenreeks die niet door NUL-teken wordt afgesloten, "
"op %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "waarschuwing: ongeldige '\\uxxxx '-syntax voor Unicode-teken"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "waarschuwing: onafgesloten tekenreeks"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "waarschuwing: syntaxfout"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "waarschuwing: onafgesloten sleutel/waarde-paar"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "waarschuwing: syntaxfout -- na een tekenreeks werd ';' verwacht"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "waarschuwing: syntaxfout -- na een tekenreeks werd '=' of ';' verwacht"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Geschreven door %s en %s.\n"
@@ -3057,116 +3303,116 @@ msgstr "Geschreven door %s en %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Hercodeert Servische tekst van Cyrillisch naar Latijns schrift.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "fout tijdens omzetten van codering '%s' naar '%s'"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "er werden twee argumenten verwacht"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Gebruik: %s [OPTIE] URL BESTAND\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "fout bij lezen van '%s'"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "fout bij schrijven naar standaarduitvoer"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "fout na lezen van '%s'"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Ophalen van %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " duurde te lang.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " is mislukt.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "kan uitvoerbestand '%s' niet aanmaken"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standaarduitvoer"
@@ -3185,39 +3431,40 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "fout bij openen van '%s' voor schrijven"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "fout bij openen van '%s' voor schrijven"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "ongeldige multibyte-sequentie"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"geïnternationaliseerde berichten horen geen '\\%c'-stuurcodes te bevatten"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3226,7 +3473,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3235,13 +3482,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3249,378 +3496,205 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "fout bij schrijven naar subproces %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: waarschuwing: onafgesloten tekenreeks"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: waarschuwing: onafgesloten reguliere expressie"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "waarschuwing: ongeldig Unicode-teken"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: waarschuwing: onafgesloten tekenconstante"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: waarschuwing: onafgesloten tekenreeks"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: waarschuwing: ongeldig Unicode-teken"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: waarschuwing: onafgesloten tekenreeksconstante"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: waarschuwing: ')' gevonden waar '}' werd verwacht"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: waarschuwing: '}' gevonden waar ')' werd verwacht"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: waarschuwing: losse U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-javascript.c:954
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: waarschuwing: onafgesloten tekenreeks"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: waarschuwing: %s is niet toegestaan"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: waarschuwing: onafgesloten XML-opmaak"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: kan tekenreeksafsluiter '%s' niet vinden"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: ontbrekend rechterhaakje in \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "taal '%s' is onbekend"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"'--join-existing' kan niet gebruikt worden wanneer naar standaarduitvoer "
+"geschreven wordt"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Onbekende codering '%s'. Verdergegaan met ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ongeldige definitie van tekenreeks"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: ontbrekend getal na #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ongeldige tekenreeksexpressie"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: waarschuwing: onafgesloten tekenreeks"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"'--join-existing' kan niet gebruikt worden wanneer naar standaarduitvoer "
-"geschreven wordt"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr ""
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"waarschuwing: onbekende extensie '%2$s' van bestand '%1$s'; C wordt "
"aangenomen"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extraheert vertaalbare berichten uit de gegeven invoerbestanden.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr ""
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3633,41 +3707,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3677,17 +3751,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3697,7 +3787,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3707,7 +3797,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3715,7 +3805,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3725,75 +3815,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " -s, --short korte hostnaam\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3801,7 +3901,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3809,52 +3909,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standaardinvoer"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: waarschuwing: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3863,34 +3963,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3898,15 +3998,309 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "taal '%s' is onbekend"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: waarschuwing: losse U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: waarschuwing: onafgesloten tekenreeks"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: waarschuwing: %s is niet toegestaan"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: waarschuwing: onafgesloten XML-opmaak"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: kan tekenreeksafsluiter '%s' niet vinden"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: ontbrekend rechterhaakje in \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Onbekende codering '%s'. Verdergegaan met ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ongeldige definitie van tekenreeks"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: ontbrekend getal na #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ongeldige tekenreeksexpressie"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: waarschuwing: onafgesloten tekenreeks"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<ongenoemd>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "ongeldige UTF-8-reeks"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "'%s' is geen geldige naam: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "'%s' is geen geldige naam: '%c'"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "ongeldige tekenreferentie: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "geen afsluitende ';'"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "ongeoorloofd teken"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "leeg"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "onbekend"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "ongeldige entity-referentie: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "document moet beginnen met een element"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "ongeldig teken na '%s'"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "ontbrekende '%c'"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "ontbrekende '%c' of '%c'"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "element is gesloten"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "leeg document"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "na '<'"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "elementen zijn nog open"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "ontbrekende '>'"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "binnen een elementsnaam"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "binnen een eigenschapsnaam"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "binnen een openings-tag"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "na '='"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "binnen een eigenschapswaarde"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "binnen een afsluitende tag"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "binnen een commentaar of bewerkingsinstructie"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "document eindigde onverwacht: %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: ongeldige optie -- %c\n"
diff --git a/gettext-tools/po/nn.gmo b/gettext-tools/po/nn.gmo
index 1fa55b4..3bbd91a 100644
--- a/gettext-tools/po/nn.gmo
+++ b/gettext-tools/po/nn.gmo
Binary files differ
diff --git a/gettext-tools/po/nn.po b/gettext-tools/po/nn.po
index c86b9e6..d19af73 100644
--- a/gettext-tools/po/nn.po
+++ b/gettext-tools/po/nn.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gettext-tools 0.17\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2009-06-17 22:37+0200\n"
"Last-Translator: Eirik U. Birkeland <eirbir@gmail.com>\n"
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -57,40 +57,40 @@ msgstr "Klarer ikkje fjerna mellombelsmappa «%s»"
msgid "write error"
msgstr "Skrivefeil"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "Feil ved opning av fila «%s» for lesing"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "Klarer ikkje opna reservekopien «%s» for skriving"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "Feil ved lesing av «%s»"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "Feil ved skriving til «%s»"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "Feil etter lesing av «%s»"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "«fdopen()» mislukkast"
@@ -116,58 +116,63 @@ msgstr "Ukjend systemfeil"
msgid "%s subprocess failed"
msgstr "Underprosessen %s var mislukka"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: Flagget «%s» er fleirtydig\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: Flagget «%s» er fleirtydig\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: Flagget «--%s» tek ikkje argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: Flagget «%c%s» tek ikkje argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: Flagget «%s» treng eit argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: Flagget «--%s» er ukjent\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: Flagget «%c%s» er ukjent\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: Flagget «--%s» er ugyldig\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: Flagget treng eit argument -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: Flagget «-W %s» er fleirtydig\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: Flagget «-W %s» tek ikkje argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: Flagget «%s» treng eit argument\n"
@@ -183,15 +188,16 @@ msgstr "Ugyldig «source_version»-argument til «compile_java_class»"
msgid "invalid target_version argument to compile_java_class"
msgstr "Ugyldig «target_version»-argument til «compile_java_class»"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "Klarte ikkje oppretta «%s»"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "Feil under skriving av fila «%s»"
@@ -210,15 +216,15 @@ msgstr ""
"Fann ikkje virtuell maskin for Java. Prøv å installera «gij» eller vel "
"«$JAVA»."
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "Inn/ut-feil i underprosessen %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "Tomt for minne"
@@ -229,7 +235,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -275,11 +281,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "'"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -315,24 +321,156 @@ msgstr "%s-underprosess"
msgid "%s subprocess got fatal signal %d"
msgstr "Underprosessen %s fekk det alvorlege signalet %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "Feil ved opning av fila «%s» for lesing"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
#, fuzzy, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Prøv «%s --help» for meir informasjon.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Bruk: %s [VAL]\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
msgstr ""
-"«%s» er ikkje ein gyldig streng i %s-formatet, til skilnad frå «msgif». "
-"Ã…rsak: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"© %s Free Software Foundation, Inc.\n"
+"Lisens: GPLv3+ (GNU GPL versjon 3 eller seinare, <http://gnu.org/licenses/gpl.html>)\n"
+"Dette er fri programvare. Du kan fritt endra og distribuera henne vidare.\n"
+"Det er INGEN GARANTI for dette produktet utover det som står i lova.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Skrive av %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "Klarer ikkje fjerna mellombelsmappa «%s»"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "Feil ved opning av fila «%s» for lesing"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -340,31 +478,39 @@ msgstr ""
"Ein formatspesifikasjon for argumentet %u, som i «%s», finst ikkje i "
"«msgid»"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "Ein formatspesifikasjon for argumentet %u finst ikkje i «%s»"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"Formatspesifikasjonane i «msgid» og «%s» for argumentet %u er ikkje like"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktivnummeret %u startar, men sluttar ikkje, med |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, fuzzy, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"«%s» er ikkje ein gyldig streng i %s-formatet, til skilnad frå «msgif». "
+"Ã…rsak: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -374,45 +520,45 @@ msgstr ""
"formatspesifikasjonsmakro. Gyldige makronamn kan ein finne i ISO C 99, "
"avsnitt 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"I direktivnummer %u er symbolet etter «<» ikkje etterfølgt av «>»."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Strengen viser til argumentnummer %u, men tek ikkje omsyn til argumentnummer "
"%u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
"Talet på formatspesifikasjonar i «msgid» og «%s» er ikkje det same"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "I direktivnummer %u er ikkje «{» etterfølgt av eit argumentnummer."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "I direktivnummer %u er ikkje «,» etterfølgt av eit tal."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Strengen sluttar midt i eit direktiv. «{» vart funnen utan tilhøyrande «}"
"»."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -420,12 +566,12 @@ msgstr ""
"Direktivnummer %u sluttar med det ugyldige teiknet «%c», i staden for «}"
"»."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Direktivnummer %u sluttar med eit ugyldig teikn i staden for «}»."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -433,7 +579,7 @@ msgstr ""
"Strengen byrjar midt i eit direktiv. «}» vart funnen utan tilhøyrande "
"«{»."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Strengen inneheld ein enkelt «}» etter direktivnummer %u."
@@ -552,7 +698,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Strengen viser til argumentnummer %u på måtar som ikkje er gyldige."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -561,18 +707,18 @@ msgstr ""
"I direktivnummer %u har ikkje delstrengen «%s» eit gyldig format for dato "
"og klokkeslett."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "I direktivnummer %u er ikkje «%s» etterfølgt av eit komma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "I direktivnummer %u har ikkje delstrengen «%s» eit gyldig talformat."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -581,12 +727,12 @@ msgstr ""
"Argumentnummeret i direktivnummer %u er ikkje etterfølgt av eit komma og "
"anten «%s», «%s», «%s» eller «%s»."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Valet i direktivnummer %u har ikkje noko nummer."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -595,7 +741,7 @@ msgstr ""
"Valet i direktivnummer %u har eit nummer som ikkje er etterfølgt av «<», "
"«#» eller «%s»."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -603,12 +749,12 @@ msgstr ""
"Ein formatspesifikasjon for argument {%u}, som i «%s», finst ikkje i "
"«msgid»"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "Ein formatspesifikasjon for argument {%u} finst ikkje i «%s»"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -616,7 +762,30 @@ msgstr ""
"Formatspesifikasjonane i «msgid» og «%s» for argumentet {%u} er ikkje "
"like"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Strengen viser til argumentnummer %u, men tek ikkje omsyn til argumentnummer "
+"%u."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"Ein formatspesifikasjon for argumentet %u, som i «%s», finst ikkje i "
+"«msgid»"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "feil under skriving av fila \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -626,7 +795,7 @@ msgstr ""
"Parameteren «%u» i direktivnummer %u er av typen «%s», men det var venta "
"ein parameter av typen «%s»."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -641,34 +810,34 @@ msgstr[1] ""
"Det er oppgjeve for mange parametrar i direktivnummer %u. Det var på det "
"meste venta %u parametrar."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "I direktivnummer %u er ikkje «%c» etterfølgt av eit tal."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "I direktivnummer %u er argumentet «%d» negativt."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Strengen sluttar midt i eit «~/.../»-direktiv."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Fann «~%c» utan passande «~%c»."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
"Det er oppgjeve valtastar for både «@» og «:» i direktivnummer %u."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -677,26 +846,32 @@ msgstr ""
"«~:[» i direktivnummer %u er ikkje etterfølgt av to paragrafteikn skilde "
"av «~;»."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "«~;» har ei ugyldig plassering i direktivnummer %u."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Strengen viser til nokre av argumenta på måtar som ikkje er gyldige."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "Formatspesifikasjonane i «msgid» og «%s» er ikkje like"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "Formatspesifikasjonane i «%s» er ikkje ein del av dei i «msgid»"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "Ein formatspesifikasjon for argument «%s» finst ikkje i «%s»"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -705,14 +880,33 @@ msgstr ""
"Storleiksspesifikasjonen i direktivnummer %u er ikkje gyldig med "
"omgjeringsspesifikasjonen «%c»."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "Ein formatspesifikasjon for argument «%s» finst ikkje i «%s»"
+#: src/format-python-brace.c:138
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "I direktivnummer %u er ikkje «%c» etterfølgt av eit tal."
+
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "I direktivnummer %u er ikkje «{» etterfølgt av eit argumentnummer."
+
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "I direktivnummer %u er ikkje «%c» etterfølgt av eit tal."
+
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "I direktivnummer %u er det ikkje lov med ei presisering før «%c»."
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "I direktivnummer %u er argumentet «%d» negativt."
-#: src/format-python.c:115
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -720,12 +914,12 @@ msgstr ""
"Strengen viser til argument både gjennom argumentnamn og gjennom namnlause "
"argumentspesifikasjonar."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -733,7 +927,7 @@ msgstr ""
"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje "
"overeins"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -741,154 +935,93 @@ msgstr ""
"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje "
"overeins"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "format-spesifiseringane for argument %u er ulike"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "format-spesifiseringane for argument %u er ulike"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "I direktivnummer %u er ikkje «%c» etterfølgt av eit tal."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "I direktivnummer %u er ikkje «{» etterfølgt av eit argumentnummer."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "I direktivnummer %u er ikkje «%c» etterfølgt av eit tal."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "I direktivnummer %u er det ikkje lov med ei presisering før «%c»."
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "I direktivnummer %u er argumentet «%d» negativt."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"© %s Free Software Foundation, Inc.\n"
-"Lisens: GPLv3+ (GNU GPL versjon 3 eller seinare, <http://gnu.org/licenses/gpl.html>)\n"
-"Dette er fri programvare. Du kan fritt endra og distribuera henne vidare.\n"
-"Det er INGEN GARANTI for dette produktet utover det som står i lova.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Skrive av %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "For mange argument"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Prøv «%s --help» for meir informasjon.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Bruk: %s [VAL]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -896,283 +1029,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
msgstr ""
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "Klarer ikkje oppretta røyr"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:614
#, c-format
-msgid "could not get host name"
+msgid "\"%s\" node does not contain \"%s\""
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "Ugyldig argument %s for %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "Klarer ikkje oppretta røyr"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "kan ikkje opprette utfila \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr ""
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s og %s utelukker kvarandre"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "inga innfil spesifisert"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1181,118 +1341,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr ""
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1306,97 +1466,97 @@ msgid ""
"to define them.\n"
msgstr ""
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, fuzzy, c-format
msgid "no input files given"
msgstr "inga innfil spesifisert"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "treng nøyaktig to innfiler"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, fuzzy, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1418,86 +1578,86 @@ msgstr ""
"oversett alle meldingar i programmet. Der samsvar ikkje kan finnast, vert\n"
"«fuzzy» samanlikning brukt for å få betre diagnostikk.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "advarsel: denne meldinga er ikkje brukt"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "denne meldinga er brukt, men ikkje definert..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "... men denne definisjonen liknar"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "denne meldinga er brukt, men ikkje definert i %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "advarsel: denne meldinga er ikkje brukt"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, fuzzy, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "fann %d fatale feil"
msgstr[1] "fann %d fatale feil"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr ""
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1510,74 +1670,74 @@ msgid ""
"cumulated.\n"
msgstr ""
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "inga innfil spesifisert"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, fuzzy, c-format
msgid "exactly one input file required"
msgstr "treng nøyaktig to innfiler"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1586,22 +1746,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr ""
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1611,62 +1771,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr ""
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, fuzzy, c-format
msgid "missing filter name"
msgstr "manglar argument"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr ""
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1674,226 +1856,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "fila \"%s\" er ikkje i GNU .mo-format"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s og %s utelukker kvarandre"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "kan ikkje opprette utfila \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1902,65 +2092,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr ""
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1968,12 +2158,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1981,33 +2186,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2015,18 +2220,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2035,109 +2240,108 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domenenamnet \"%s\" passar ikkje som filnavn"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domenenamnet \"%s\" passar ikkje som filnavn: brukar prefiks"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr ""
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr ""
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr ""
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, fuzzy, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "ADVARSEL: kildefila har «fuzzy» oversetjingar"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, fuzzy, c-format
msgid "error while reading \"%s\""
msgstr "feil under skriving av fila \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2177,18 +2381,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2273,14 +2477,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2292,54 +2496,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr ""
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2348,7 +2552,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2357,7 +2561,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2366,12 +2570,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2379,7 +2583,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2388,7 +2592,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2396,180 +2600,196 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr ""
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr ""
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr ""
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "nokre filhovud-felt har framleis sin initielle verdi"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "filhovud-feltet «%s» manglar i filhovud"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "feil under skriving av fila \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, fuzzy, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2594,51 +2814,51 @@ msgstr ""
"resultat. Resultatet vert skrive til standard ut, med mindre ei utfil er\n"
"spesifisert.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2650,7 +2870,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2658,28 +2878,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, fuzzy, c-format
msgid "this message should define plural forms"
msgstr "denne meldinga er brukt, men ikkje definert i %s"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "denne meldinga er brukt, men ikkje definert i %s"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, fuzzy, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2688,63 +2908,63 @@ msgstr ""
"%sLeste %d gamle + %d referansar, fletta inn %d, «fuzzya» %d, manglar %d,\n"
"utdaterte %d.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr ""
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, fuzzy, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s og %s utelukker kvarandre"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2752,41 +2972,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr ""
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2799,19 +3019,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr ""
@@ -2857,32 +3077,32 @@ msgid ""
"Message conversion to user's charset will not work.\n"
msgstr ""
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr ""
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "manglar «msgstr»-seksjon"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "manglar «msgstr»-seksjon"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "manglar «msgstr»-seksjon"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr ""
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr ""
@@ -2892,7 +3112,7 @@ msgstr ""
msgid "too many errors, aborting"
msgstr "for mange feil, avsluttar"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr ""
@@ -2936,65 +3156,82 @@ msgstr ""
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "denne fila kan ikkje innehalde domene-nøkkelord"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr ""
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "den første definisjonen finst her"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "manglar argument"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr ""
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, fuzzy, c-format
msgid "file \"%s\" is truncated"
msgstr "filen \"%s\" er avkutta"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "fila \"%s\" er ikkje i GNU .mo-format"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "fila \"%s\" er ikkje i GNU .mo-format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr ""
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr ""
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr ""
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr ""
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr ""
@@ -3003,116 +3240,116 @@ msgstr ""
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "feil under skriving av fila \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, fuzzy, c-format
msgid "expected two arguments"
msgstr "manglar argument"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "Feil ved lesing av «%s»"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, fuzzy, c-format
msgid "error writing stdout"
msgstr "feil under skriving av fila \"%s\""
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "Feil etter lesing av «%s»"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "kan ikkje opprette utfila \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr ""
@@ -3131,38 +3368,39 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, fuzzy, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "feil under skriving av fila \"%s\""
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, fuzzy, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "feil under skriving av fila \"%s\""
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr ""
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"internasjonaliserte meldingar skal ikkje innehalde escape-sekvensen «\\%c»"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3171,7 +3409,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3180,13 +3418,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3194,375 +3432,202 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "feil under skriving av fila \"%s\""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "advarsel: denne meldinga er ikkje brukt"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr ""
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr ""
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr ""
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr ""
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr ""
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr ""
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr ""
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "advarsel: denne meldinga er ikkje brukt"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "advarsel: denne meldinga er ikkje brukt"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "advarsel: denne meldinga er ikkje brukt"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1217
-#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: ulovleg flagg -- %c\n"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-python.c:397
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
msgstr ""
-#: src/x-python.c:722
+#: src/xgettext.c:657
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-rst.c:108
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid string definition"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"--join-existing kan ikkje brukast når utdata vert skrive til standard ut"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "advarsel: denne meldinga er ikkje brukt"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing kan ikkje brukast når utdata vert skrive til standard ut"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr ""
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "inga innfil spesifisert"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3575,41 +3640,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3619,17 +3684,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3639,7 +3720,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3649,7 +3730,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3657,7 +3738,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3667,75 +3748,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3743,7 +3834,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3751,52 +3842,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr ""
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr ""
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3805,34 +3896,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3840,15 +3931,310 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr ""
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr ""
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "advarsel: denne meldinga er ikkje brukt"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "advarsel: denne meldinga er ikkje brukt"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "advarsel: denne meldinga er ikkje brukt"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s: ulovleg flagg -- %c\n"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "advarsel: denne meldinga er ikkje brukt"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr ""
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr ""
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "Ugyldig argument %s for %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "Ugyldig argument %s for %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "manglar argument"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: Flagget «-- %c» er ulovleg\n"
diff --git a/gettext-tools/po/pa.gmo b/gettext-tools/po/pa.gmo
index aba871d..94de39a 100644
--- a/gettext-tools/po/pa.gmo
+++ b/gettext-tools/po/pa.gmo
Binary files differ
diff --git a/gettext-tools/po/pa.po b/gettext-tools/po/pa.po
index 8dc4cc1..0dc0d4b 100644
--- a/gettext-tools/po/pa.po
+++ b/gettext-tools/po/pa.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.18\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2012-05-21 20:08+0530\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi <punjabi-l10n@lists.sourceforge.net>\n"
@@ -56,40 +56,40 @@ msgstr "ਆਰਜ਼ੀ ਡਾਇਰੈਕਟਰੀ %s ਹਟਾਈ ਨਹੀਂ
msgid "write error"
msgstr "ਲਿਖਣ ਗਲਤੀ"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "ਪੜà©à¨¹à¨¨ ਵਾਸਤੇ \"%s\" ਖੋਲà©à¨¹à¨£ ਦੌਰਾਨ ਗਲਤੀ"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "ਲਿਖਣ ਲਈ ਬੈਕਅੱਪ ਫਾਇਲ \"%s\" ਖੋਲà©à¨¹à©€ ਨਹੀਂ ਜਾ ਸਕਦੀ"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "\"%s\" ਪੜà©à¨¹à¨¨ ਦੌਰਾਨ ਗਲਤੀ"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "\"%s\" ਲਿਖਣ ਦੌਰਾਨ ਗਲਤੀ"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "\"%s\" ਪੜà©à¨¹à¨¨ ਦੇ ਬਾਅਦ ਗਲਤੀ"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() ਫੇਲà©à¨¹ ਹੈ"
@@ -115,58 +115,63 @@ msgstr "ਅਣਜਾਣ ਸਿਸਟਮ ਗਲਤੀ"
msgid "%s subprocess failed"
msgstr "%s ਸਬ-ਪà©à¨°à©‹à¨¸à©ˆà¨¸ ਫੇਲà©à¨¹ ਹੋਇਆ"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: ਚੋਣ '%s' ਗਲਤ ਹੈ\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: ਚੋਣ '%s' ਗਲਤ ਹੈ\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: ਚੋਣ '--%s' ਇੱਕ ਆਰਗੂਮੈਂਟ ਨਹੀਂ ਲੈਂਦੀ\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: ਚੋਣ '%c%s' ਇੱਕ ਆਰਗੂਮੈਂਟ ਨਹੀਂ ਲੈਂਦੀ\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: ਚੋਣ '--%s' ਲਈ ਇੱਕ ਆਰਗੂਮੈਂਟ ਚਾਹੀਦਾ\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ਅਣਜਾਣ ਚੋਣ '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ਅਣਜਾਣ ਚੋਣ '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ਗਲਤ ਚੋਣ -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: ਚੋਣ ਲਈ ਆਰਗੂਮੈਂਟ ਚਾਹੀਦਾ ਹੈ --'%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: ਚੋਣ '-W %s' ਸਧਾਰਨ ਹੈ।\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ਚੋਣ '-W %s' ਲਈ ਕੋਈ ਆਰਗੂਮੈਂਟ ਨਹੀਂ ਚਾਹੀਦਾ\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr ""
@@ -182,15 +187,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "\"%s\" ਬਣਾਉਣ ਲਈ ਫੇਲà©à¨¹ ਹੈ"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "ਫਾਇਲ \"%s\" ਲਿਖਣ ਦੌਰਾਨ ਗਲਤੀ"
@@ -205,15 +211,15 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s ਸਬ-ਪà©à¨°à©‹à¨¸à©ˆà¨¸ I/O ਗਲਤੀ"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "ਮੈਮੋਰੀ ਖਤਮ ਹੋਈ"
@@ -224,7 +230,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "%s ਸਬ-ਪਰੋਸੈਸ ਲਈ ਲਿਖਣ ਵਾਸਤੇ ਫੇਲà©à¨¹"
@@ -270,11 +276,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -310,107 +316,247 @@ msgstr "%s ਸਬ-ਪà©à¨°à©‹à¨¸à©ˆà¨¸"
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "ਪੜà©à¨¹à¨¨ ਵਾਸਤੇ \"%s\" ਖੋਲà©à¨¹à¨£ ਦੌਰਾਨ ਗਲਤੀ"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ `%s --help' ਨਾਲ ਕੋਸ਼ਿਸ਼ ਕਰੋ।\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "ਵਰਤੋਂ: %s [OPTION] [FILE]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help ਇਹ ਮੱਦਦ ਵੇਖਾਉ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help ਇਹ ਮੱਦਦ ਵੇਖਾਉ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version ਆਉਟਪà©à©±à¨Ÿ ਵਰਜਨ ਜਾਣਕਾਰੀ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "ਬੱਗ ਬਾਰੇ ਜਾਣਕਾਰੀ <bug-gnu-gettext@gnu.org> ਨੂੰ ਭੇਜੋ।\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc।\n"
+"License GPLv3+: GNU GPL version 3 ਜਾਂ ਨਵਾਂ <http://gnu.org/licenses/gpl.html>\n"
+"ਇਹ ਮà©à¨•à¨¤/ਮà©à¨«à¨¼à¨¤ ਸਾਫਟਵੇਅਰ ਹੈ: ਤà©à¨¸à©€à¨‚ ਇਹ ਬਦਲਣ ਅਤੇ ਮà©à©œ-ਵੰਡਣ ਲਈ ਮà©à¨•à¨¤ ਹੋ।\n"
+"ਕੋਈ ਵੀ ਵਾਰੰਟੀ ਨਹੀਂ ਹੈ, ਕਾਨੂੰਨ ਰਾਹੀਂ ਵੱਧ ਵੱਧ ਮਨਜ਼ੂਰੀ ਮà©à¨¤à¨¾à¨¬à¨•à¥¤\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "%s ਵਲੋਂ ਲਿਖਿਆ।\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "ਆਰਜ਼ੀ ਡਾਇਰੈਕਟਰੀ %s ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "ਪੜà©à¨¹à¨¨ ਵਾਸਤੇ \"%s\" ਖੋਲà©à¨¹à¨£ ਦੌਰਾਨ ਗਲਤੀ"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr ""
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr ""
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -518,61 +664,80 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr ""
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "\"%s\" ਪੜà©à¨¹à¨¨ ਦੌਰਾਨ ਗਲਤੀ"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -580,7 +745,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -591,243 +756,207 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "'~%c' ਮਿਲਿਆ '~%c' ਮਿਲਣ ਦੇ ਬਿਨਾਂ।"
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr ""
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr ""
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr ""
-
-#: src/format-python.c:115
-msgid ""
-"The string refers to arguments both through argument names and through "
-"unnamed argument specifications."
+msgid "In the directive number %u, '%c' cannot start a field name."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python-brace.c:151
#, c-format
-msgid "The string refers to the argument named '%s' in incompatible ways."
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python-brace.c:166
#, c-format
-msgid ""
-"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
msgstr ""
-#: src/format-python.c:437
+#: src/format-python-brace.c:186
#, c-format
msgid ""
-"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
+"In the directive number %u, no more nesting is allowed in a format specifier."
msgstr ""
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python-brace.c:271
#, c-format
-msgid ""
-"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
+msgid "In the directive number %u, there is an unterminated format directive."
msgstr ""
-#: src/format-python.c:494
-#, c-format
+#: src/format-python.c:116
msgid ""
-"format specifications in '%s' and '%s' for argument '%s' are not the same"
+"The string refers to arguments both through argument names and through "
+"unnamed argument specifications."
msgstr ""
-#: src/format-python-brace.c:137
+#: src/format-python.c:355
#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
+msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python-brace.c:150
+#: src/format-python.c:431
#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgid ""
+"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
-#: src/format-python-brace.c:165
+#: src/format-python.c:438
#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgid ""
+"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
-#: src/format-python-brace.c:185
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
+"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
-#: src/format-python-brace.c:270
+#: src/format-python.c:495
#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
+msgid ""
+"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr ""
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc।\n"
-"License GPLv3+: GNU GPL version 3 ਜਾਂ ਨਵਾਂ <http://gnu.org/licenses/gpl.html>\n"
-"ਇਹ ਮà©à¨•à¨¤/ਮà©à¨«à¨¼à¨¤ ਸਾਫਟਵੇਅਰ ਹੈ: ਤà©à¨¸à©€à¨‚ ਇਹ ਬਦਲਣ ਅਤੇ ਮà©à©œ-ਵੰਡਣ ਲਈ ਮà©à¨•à¨¤ ਹੋ।\n"
-"ਕੋਈ ਵੀ ਵਾਰੰਟੀ ਨਹੀਂ ਹੈ, ਕਾਨੂੰਨ ਰਾਹੀਂ ਵੱਧ ਵੱਧ ਮਨਜ਼ੂਰੀ ਮà©à¨¤à¨¾à¨¬à¨•à¥¤\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "%s ਵਲੋਂ ਲਿਖਿਆ।\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "ਬਰà©à¨¨à©‹ ਹà¨à¨¬à¨²à©‡"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "ਬਹà©à¨¤ ਸਾਰੇ ਆਰਗੂਮੈਂਟ"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ `%s --help' ਨਾਲ ਕੋਸ਼ਿਸ਼ ਕਰੋ।\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "ਵਰਤੋਂ: %s [OPTION]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "ਮਸ਼ੀਨ ਦਾ ਹੋਸਟ ਨਾਂ ਪà©à¨°à¨¿à©°à¨Ÿ ਕਰੋ।\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "ਆਉਟਪà©à©±à¨Ÿ ਫਾਰਮੈਟ:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short ਛੋਟਾ ਹੋਸਟ ਨਾਂ\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -835,283 +964,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address ਹੋਸਟ-ਨਾਂ ਲਈ à¨à¨¡à¨°à©ˆà¨¸\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "ਜਾਣਕਾਰੀ ਸਮੇਤ ਆਉਟਪà©à©±à¨Ÿ:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help ਇਹ ਮੱਦਦ ਵੇਖਾਉ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "ਹੋਸਟ ਨਾਂ ਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version ਆਉਟਪà©à©±à¨Ÿ ਵਰਜਨ ਜਾਣਕਾਰੀ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "ਘੱਟੋ-ਘੱਟ ਦੋ ਫਾਇਲਾਂ ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "ਬੱਗ ਬਾਰੇ ਜਾਣਕਾਰੀ <bug-gnu-gettext@gnu.org> ਨੂੰ ਭੇਜੋ।\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "ਪਾਈਪ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "ਹੋਸਟ ਨਾਂ ਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "%2$s ਲਈ ਗਲਤ ਆਰਗੂਮੈਂਟ %1$s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "ਪਾਈਪ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ \"%s\" ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਇੱਕ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਮਨਜ਼ੂਰ ਹੈ"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr ""
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] [INPUTFILE]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INPUTFILE ਇੰਪà©à©±à¨Ÿ PO ਫਾਇਲ\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FILE ਆਉਟਪà©à©±à¨Ÿ ਦਿੱਤੀ ਫਾਇਲ ਵਿੱਚ ਲਿਖੋ\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "ਸà©à¨¨à©‡à¨¹à¨¾ ਚੋਣ:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr " --translated ਕੀਤਾ ਅਨà©à¨µà¨¾à¨¦ ਰੱਖੋ, ਨਾ-ਅਨà©à¨µà¨¾à¨¦ ਸà©à¨¨à©‡à¨¹à¨¿à¨†à¨‚ ਨੂੰ ਹਟਾਓ\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr " --untranslated ਨਾ-ਅਨà©à¨µà¨¾à¨¦ ਰੱਖੋ, ਕੀਤਾ ਅਨà©à¨µà¨¾à¨¦ ਸà©à¨¨à©‡à¨¹à©‡ ਹਟਾਓ\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy ਅਸਪਸ਼ਟ ('fuzzy') ਨਿਸ਼ਾਨਬੱਧ ਕੀਤੇ ਸà©à¨¨à©‡à¨¹à©‡ ਹਟਾਓ\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete ਬਰਤਰਫ਼ #~ ਸà©à¨¨à©‡à¨¹à©‡ ਹਟਾਓ\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy ਸਭ ਸà©à¨¨à©‡à¨¹à©‡ ਅਸਪਸ਼ਟ ('fuzzy') ਬਣਾਓ\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --no-fuzzy ਅਸਪਸ਼ਟ ('fuzzy') ਨਿਸ਼ਾਨਬੱਧ ਕੀਤੇ ਸà©à¨¨à©‡à¨¹à©‡ ਹਟਾਓ\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਸੰਟੈਕਸ:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "ਆਉਟਪà©à©±à¨Ÿ ਵੇਰਵਾ:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1120,118 +1276,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr ""
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] [INPUTFILE]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1245,97 +1401,97 @@ msgid ""
"to define them.\n"
msgstr ""
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INPUTFILE ... ਇੰਪà©à©±à¨Ÿ ਫਾਇਲਾਂ\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FILE ਫਾਇਲ (FILE) ਤੋਂ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲਾਂ ਦੀ ਸੂਚੀ ਲਵੋ\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "ਪੀਟਰ ਮਿੱਲਰ"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ਕੋਈ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲਾਂ ਨਹੀਂ ਦਿੱਤੀਆਂ ਗਈਆਂ"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "ਠੀਕ 2 ਇੰਪà©à©±à¨Ÿ ਫਾਇਲਾਂ ਹੀ ਚਾਹੀਦੀਆਂ ਹਨ"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "ਵਰਤੋ: %s [OPTION] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1346,86 +1502,86 @@ msgid ""
"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
msgstr ""
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po ਅਨà©à¨µà¨¾à¨¦\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot ਸਰੋਤ ਲਈ ਹਵਾਲਾ/ਰੈਫਰੈਂਸ\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "ਓਪਰੇਸ਼ਨ ਮਾਡੀਫਾਇਰ:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy fuzzy à¨à¨‚ਟਰੀਆਂ ਮੰਨੋ\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "ਇਹ ਸà©à¨¨à©‡à¨¹à©‡ ਨਾ-ਅਨà©à¨µà¨¾à¨¦à¨¿à¨¤ ਹੈ"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "ਇਹ ਸà©à¨¨à©‡à¨¹à©‡ ਨੂੰ ਅਨà©à¨µà¨¾à¨¦à¨• ਵਲੋਂ ਰੀਵਿਊ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "ਇਹ ਸà©à¨¨à©‡à¨¹à¨¾ ਵਰਤਿਆ ਗਿਆ ਹੈ, ਪਰ ਦਿੱਤਾ ਕੀਤੇ ਨਹੀਂ ਗਿਆ..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...ਇਹ ਪà©à¨°à©€à¨­à¨¾à¨¸à¨¼à¨¾ ਰਲਦੀ ਮਿਲਦੀ ਹੈ"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "ਇਹ ਸà©à¨¨à©‡à¨¹à¨¾ ਵਰਤਿਆ ਤਾਂ ਗਿਆ ਹੈ, ਪਰ %s ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "ਸਾਵਧਾਨ: ਇਹ ਸà©à¨¨à©‡à¨¹à¨¾ ਵਰਤਿਆ ਨਹੀਂ ਗਿਆ ਹੈ"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d ਘਾਤਕ ਗਲਤੀ ਲੱਭੀ"
msgstr[1] "%d ਘਾਤਕ ਗਲਤੀਆਂ ਲੱਭੀਆਂ"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "ਘੱਟੋ-ਘੱਟ ਦੋ ਫਾਇਲਾਂ ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1438,74 +1594,74 @@ msgid ""
"cumulated.\n"
msgstr ""
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "ਕਨਵਰਜ਼ਨ ਟਾਰਗੇਟ:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "ਡਿਫਾਲਟ ਇੰਕੋਡਿੰਗ ਮੌਜੂਦਾ ਲੋਕੇਲ ਦੀ ਇੰਕੋਡਿੰਗ ਹੈ।\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "ਕੋਈ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਨਹੀਂ ਦਿੱਤੀ"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "ਠੀਕ ਇੱਕ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਚਾਹੀਦੀ ਹੈ"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] INPUTFILE\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1514,22 +1670,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INPUTFILE ਇੰਪà©à©±à¨Ÿ PO ਜਾਂ POT ਫਾਇਲ\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "ਗà©à©°à¨® ਕਮਾਂਡ ਨਾਂ"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1539,62 +1695,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "ਸਟੈਂਡਰਡ ਇੰਪà©à©±à¨Ÿ"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help ਇਹ ਮੱਦਦ ਵੇਖਾਉ ਅਤੇ ਬੰਦ ਕਰੋ\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INPUTFILE ਇੰਪà©à©±à¨Ÿ PO ਫਾਇਲ\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "stdout ਉੱਤੇ ਲਿਖਣ ਲਈ ਫੇਲà©à¨¹ ਹੈ"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "ਗà©à©°à¨® ਫਿਲਟਰ ਨਾਂ"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr ""
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] FILTER [FILTER-OPTION]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "ਅਨà©à¨µà¨¾à¨¦ ਕੈਟਾਲਾਗ ਲਈ ਸਭ ਅਨà©à¨µà¨¾à¨¦ ਉੱਤੇ ਇੱਕ ਫਿਲਟਰ ਲਾਗੂ ਕਰੋ।\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1602,226 +1780,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr ""
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ਗਲਤ ਅੰਤ(endianness): %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "ਉਲਰਿਚ ਡਰਿੱਪਰ"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s ਲਈ ਇੱਕ \"-d directory\" ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s ਲਈ ਇੱਕ \"-l locale\" ਹਦਾਇਤ ਦੀ ਲੋੜ ਹੈ"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s ਲਈ ਇੱਕ \"-l locale\" ਹਦਾਇਤ ਦੀ ਲੋੜ ਹੈ"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s ਲਈ ਇੱਕ \"-l locale\" ਹਦਾਇਤ ਦੀ ਲੋੜ ਹੈ"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr ""
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s ਕੇਵਲ %s ਜਾਂ %s ਲਈ ਹੀ ਢà©à©±à¨•à¨µà¨¾à¨‚ ਹੈ"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ \"%s\" ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d ਅਨà©à¨µà¨¾à¨¦ ਕੀਤਾ ਸà©à¨¨à©‡à¨¹à¨¾"
msgstr[1] "%d ਅਨà©à¨µà¨¾à¨¦ ਕੀਤੇ ਸà©à¨¨à©‡à¨¹à©‡"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d ਅਸਪਸ਼ਟ ਅਨà©à¨µà¨¾à¨¦"
msgstr[1] ", %d ਅਸਪਸ਼ਟ ਅਨà©à¨µà¨¾à¨¦"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d ਨਾ-ਅਨà©à¨µà¨¾à¨¦ ਸà©à¨¨à©‡à¨¹à¨¾"
msgstr[1] ", %d ਨਾ-ਅਨà©à¨µà¨¾à¨¦ ਸà©à¨¨à©‡à¨¹à©‡"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] ਫਾਇਲ-ਨਾਂ.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "ਟੈਕਸਟ ਅਨà©à¨µà¨¾à¨¦ ਵੇਰਵੇ ਤੋਂ ਬਾਈਨਰੀ ਸà©à¨¨à©‡à¨¹à¨¾ ਕੈਟਾਲਾਗ ਤਿਆਰ ਕਰੋ।\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filename.po ... ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਨਾਂ\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "ਓਪਰੇਸ਼ਨ ਮੋਡ:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " FILE ... ਇੰਪà©à©±à¨Ÿ .mo ਫਾਇਲਾਂ\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "ਜਾਵਾ ਮੋਡ ਵਿੱਚ ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESOURCE ਸਰੋਤ ਨਾਂ\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr " -l, --locale=LOCALE ਲੋਕੇਲ ਨਾਂ, ਜਾਂ ਭਾਸ਼ਾ ਨਾਂ ਜਾਂ ਭਾਸ਼ਾ_ਦੇਸ਼ \n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d DIRECTORY ਕਲਾਸ ਡਾਇਰੈਕਟਰੀ ਲੜੀ ਵਿੱਚ ਬੇਸ ਡਾਇਰੈਕਟਰੀ\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1830,65 +2016,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "C# ਮੋਡ ਵਿੱਚ ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Tcl ਮੋਡ ਵਿੱਚ ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRECTORY ਕਲਾਸ ਡਾਇਰੈਕਟਰੀ ਲੜੀ ਵਿੱਚ ਬੇਸ ਡਾਇਰੈਕਟਰੀ\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1896,12 +2082,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਇੰਟਰਪਰੇਟੇਸ਼ਨ:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1909,33 +2110,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -1943,18 +2144,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy ਆਉਟਪà©à©±à¨Ÿ ਵਿੱਚ ਅਸਪਸ਼ਟ (fuzzy) à¨à¨‚ਟਰੀਆਂ ਵਰਤੋਂ\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -1963,109 +2164,108 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics ਅਨà©à¨µà¨¾à¨¦ ਬਾਰੇ ਅੰਕੜੇ ਪੇਸ਼ ਕਰੋ\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "ਸਾਵਧਾਨ: PO ਫਾਇਲ ਹੈੱਡਰ ਗà©à©°à¨® ਹੈ ਜਾਂ ਗਲਤ ਹੈ\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "ਸਾਵਧਾਨ: charset ਬਦਲਣਾ ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "ਸਾਵਧਾਨ: PO ਫਾਇਲ ਹੈੱਡਰ ਅਸਪਸ਼ਟ ਹੈ\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "ਸਾਵਧਾਨ: msgfmt ਦਾ ਪà©à¨°à¨¾à¨£à¨¾ ਵਰਜਨ ਇਸ ਉੱਤੇ ਗਲਤੀ ਦੇਵੇਗਾ\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "ਡੋਮੇਨ ਨਾਂ \"%s\" ਫਾਇਲ ਨਾਂ ਲਈ ਢà©à©±à¨•à¨µà¨¾à¨‚ ਨਹੀਂ ਹੈ"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr ""
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "ਖਾਲੀ `msgstr' à¨à¨‚ਟਰੀ ਅਣ-ਡਿੱਠੀ ਕੀਤੀ ਜਾਵੇਗੀ"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ਅਸਪਸ਼ਟ `msgstr' à¨à¨‚ਟਰੀ ਅਣਡਿੱਠੀ ਕੀਤੀ ਜਾਵੇਗੀ"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: ਸਾਵਧਾਨ: ਸਰੋਤ ਫਾਇਲ ਵਿੱਚ ਅਸਪਸ਼ਟ ਅਨà©à¨µà¨¾à¨¦ ਹੋ ਸਕਦਾ ਹੈ"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "\"%s\" ਪੜà©à¨¹à¨¨ ਦੌਰਾਨ ਗਲਤੀ"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2105,18 +2305,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file ਆਉਟਪà©à©±à¨Ÿ ਨੂੰ ਫਾਇਲ ਟਿਕਾਣੇ ਮà©à¨¤à¨¾à¨¬à¨• ਲੜੀਬੱਧ ਕਰੋ\n"
@@ -2210,14 +2410,14 @@ msgstr ""
"ਮੌਜੂਦਾ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕੋਈ ਵੀ .pot ਫਾਇਲ ਨਹੀਂ ਲੱਭੀ।\n"
"--input ਚੋਣ ਰਾਹੀਂ input.pot ਫਾਇਲ ਦਿਉ ਜੀ।\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2229,47 +2429,47 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s ਪੈਕੇਜ ਲਈ ਅੰਗਰੇਜ਼ੀ ਅਨà©à¨µà¨¾à¨¦"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਵਿੱਚ ਦੋ ਵੱਖ ਵੱਖ charsets \"%s\" ਅਤੇ \"%s\""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ charset ਹਦਾਇਤ ਨਾਲ ਹੈੱਡਰ à¨à¨‚ਟਰੀ ਨਹੀਂ ਰੱਖਦੀ ਹੈ"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ charset ਹਦਾਇਤ ਨਾਲ ਹੈੱਡਰ à¨à¨‚ਟਰੀ ਨਹੀਂ ਰੱਖਦੀ ਹੈ"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "ਸਾਵਧਾਨ: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2278,7 +2478,7 @@ msgstr ""
"ਇੰਪà©à©±à¨Ÿ ਫਾਇਲਾਂ ਵਿੱਚ ਸà©à¨¨à©‡à¨¹à¨¿à¨†à¨‚ ਲਈ ਵੱਖ ਵੱਖ ਇੰਕੋਡਿੰਗ ਹਨ, UTF-8 ਸਮੇਤ ਹੋਰ।\n"
"ਆਉਟਪà©à©±à¨Ÿ ਨੂੰ UTF-8 ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ।\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2287,7 +2487,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2296,7 +2496,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2309,12 +2509,12 @@ msgstr ""
"'%s' ਦੀ ਆਉਟਪà©à©±à¨Ÿ ਗਲਤ ਹੋ ਸਕਦੀ ਹੈ।\n"
"ਸੰਭਵ ਹੱਲ ਹਨ:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2322,7 +2522,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2331,7 +2531,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2339,180 +2539,196 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "ਅੱਗੇ ਦਿੱਤੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੋਸਿਸ਼ ਕਰੋ, %s ਲਈ ਠੀਕ:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "ਸà©à¨¨à©‡à¨¹à¨¾ ਕੈਟਾਲਾਗ ਵਿੱਚ ਬਹà©à¨µà¨šà¨¨ ਰੂਪ ਵਿੱਚ ਅਨà©à¨µà¨¾à¨¦ ਹੈ"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "ਪਰ ਹੈੱਡਰ à¨à¨‚ਟਰੀ ਵਿੱਚ \"plural=EXPRESSION\" ਗà©à¨£ ਨਹੀਂ ਹੈ"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "ਗਲਤ nplurals ਮà©à©±à¨²"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ਗਲਤ ਬਹà©à¨µà¨šà¨¨ ਸਮੀਕਰਨ"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "ਪਰ ਕà©à¨ ਸà©à¨¨à©‡à¨¹à¨¿à¨†à¨‚ ਵਿੱਚ ਕੇਵਲ ਇੱਕ ਬਹà©à¨µà¨šà¨¨ ਰੂਪ ਹੈ"
msgstr[1] "ਪਰ ਕà©à¨ ਸà©à¨¨à©‡à¨¹à¨¿à¨†à¨‚ ਵਿੱਚ ਕੇਵਲ %lu ਬਹà©à¨µà¨šà¨¨ ਰੂਪ ਹਨ"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "`msgid' and `msgid_plural' à¨à¨‚ਟਰੀਾਂ ਦੋਵੇਂ '\\n' ਨਾਲ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਹà©à©°à¨¦à©€à¨†à¨‚"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "`msgid' and `msgstr[%u]' à¨à¨‚ਟਰੀਆਂ ਦੋਵੇਂ '\\n' ਨਾਲ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਹà©à©°à¨¦à©€à¨†à¨‚ ਹਨ"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "`msgid' and `msgstr[%u]' à¨à¨‚ਟਰੀਆਂ ਦੋਵੇਂ '\\n' ਨਾਲ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਹà©à©°à¨¦à©€à¨†à¨‚ ਹਨ"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "`msgid' and `msgid_plural' à¨à¨‚ਟਰੀਾਂ ਦੋਵੇਂ '\\n' ਨਾਲ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਹà©à©°à¨¦à©€à¨†à¨‚"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "`msgid' and `msgstr[%u]' à¨à¨‚ਟਰੀਆਂ ਦੋਵੇਂ '\\n' ਨਾਲ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਹà©à©°à¨¦à©€à¨†à¨‚ ਹਨ"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "`msgid' and `msgstr[%u]' à¨à¨‚ਟਰੀਆਂ ਦੋਵੇਂ '\\n' ਨਾਲ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਹà©à©°à¨¦à©€à¨†à¨‚ ਹਨ"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "ਬਹà©à¨µà¨šà¨¨ ਹੈਡਲਿੰਗ ਗਨੂ gettext ਇਕਸਟੈਨਸ਼ਨ ਹੈ"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr ਵਿੱਚ ਕੀਬੋਰਡ à¨à¨•à¨¸à¨°à¨²à©‡à¨Ÿà¨° ਮਾਰਕ '%c' ਦੀ ਕਮੀ ਹੈ"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "ਹੈੱਡਰ ਖੇਤਰ `%s' ਹਾਲੇ ਵੀ ਮà©à©±à¨¢à¨²à¨¾ ਮà©à©±à¨² ਰੱਖਦਾ ਹੈ\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "ਹੈੱਡਰ ਵਿੱਚ `%s' ਹੈੱਡਰ ਖੇਤਰ ਗà©à©°à¨® ਹੈ\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ charset ਹਦਾਇਤ ਨਾਲ ਹੈੱਡਰ à¨à¨‚ਟਰੀ ਨਹੀਂ ਰੱਖਦੀ ਹੈ"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s ਕੇਵਲ %s ਨਾਲ ਠੀਕ ਹੈ"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "ਬੈਕਅੱਪ ਕਿਸਮ"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2526,51 +2742,51 @@ msgid ""
"cannot be found, fuzzy matching is used to produce better results.\n"
msgstr ""
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po ਪà©à¨°à¨¾à¨£à©‡ ਸੋਰਤ ਲਈ ਰੈਫਰੈਂਸ ਅਨà©à¨µà¨¾à¨¦\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot ਨਵੇਂ ਸਰੋਤ ਲਈ ਰੈਫਰੈਂਸ\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "ਆਉਟਪà©à©±à¨Ÿ ਮੋਡ ਵਿੱਚ ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2582,7 +2798,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2590,91 +2806,91 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "ਇਹ ਸà©à¨¨à©‡à¨¹à¨¾ ਬਹà©à¨µà¨šà¨¨ ਰੂਪ ਦਰਸਾਉਂਦਾ ਹੈ"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr ""
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
"obsolete %ld.\n"
msgstr ""
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " ਮà©à¨•à©°à¨®à¨²à¥¤\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr ""
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] [FILE]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FILE ... ਇੰਪà©à©±à¨Ÿ .mo ਫਾਇਲਾਂ\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "ਜਾਵਾ ਮੋਡ ਵਿੱਚ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2682,41 +2898,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "C# ਮੋਡ ਵਿੱਚ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Tcl ਮੋਡ ਵਿੱਚ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਟਿਕਾਣਾ:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2729,19 +2945,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -2789,32 +3005,32 @@ msgstr ""
"ਹੈੱਡਰ ਵਿੱਚ Charset ਮੌਜੂਦ ਨਹੀਂ।\n"
"ਯੂਜ਼ਰ ਦੇ charset ਵਿੱਚ ਸà©à¨¨à©‡à¨¹à¨¾ ਬਦਲਣ ਨਾਲ ਕੰਮ ਨਹੀਂ ਚੱਲੇਗਾ।\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "#~ ਦੀ ਅਨਿਯਮਤ ਵਰਤੋਂ"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "`msgstr[]' ਭਾਗ ਮੌਜੂਦ ਨਹੀਂ"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "ਨਾ-ਮੌਜੂਦ `msgid_plural' ਭਾਗ"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "ਨਾ-ਮੌਜੂਦ `msgstr' ਭਾਗ"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr ""
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "ਬਹà©à¨µà¨šà¨¨ ਰੂਪ ਦਾ ਗਲਤ ਇੰਡੈਕਸ"
@@ -2824,7 +3040,7 @@ msgstr "ਬਹà©à¨µà¨šà¨¨ ਰੂਪ ਦਾ ਗਲਤ ਇੰਡੈਕਸ"
msgid "too many errors, aborting"
msgstr "ਬਹà©à¨¤ ਸਾਰੀਆਂ ਗਲਤੀਆਂ, ਅਧੂਰਾ ਛੱਡਿਆ"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ਗਲਤ ਮਲਟੀਬਾਈਟ ਲੜੀ"
@@ -2868,64 +3084,82 @@ msgstr ""
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr ""
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "ਡà©à¨ªà¨²à©€à¨•à©‡à¨Ÿ ਸà©à¨¨à©‡à¨¹à¨¾ ਪà©à¨°à©€à¨­à¨¾à¨¸à¨¼à¨¾"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr ""
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "ਗà©à©°à¨® ਫਿਲਟਰ ਨਾਂ"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ਗਲਤ nplurals ਮà©à©±à¨²"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "ਫਾਇਲ \"%s\" ਕੱਟੀ-ਵੱਢੀ ਹੈ"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr ""
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "ਫਾਇਲ \"%s\" GNU .mo ਫਾਰਮੈਟ ਨਹੀਂ ਹੈ"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "ਸਾਵਧਾਨ: ਯੂਨੀਕੋਡ ਅੱਖਰ ਲਈ ਗਲਤ \\uxxxx ਸੰਟੈਕਸ"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr ""
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "ਸਾਵਧਾਨ: ਸੰਟੈਕਸ ਗਲਤੀ"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr ""
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "%s ਅਤੇ %s ਵਲੋਂ ਲਿਖਿਆ।\n"
@@ -2934,116 +3168,116 @@ msgstr "%s ਅਤੇ %s ਵਲੋਂ ਲਿਖਿਆ।\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "ਡਾਂਇਲੋ ਸਿਗਨ"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "ਇੰਪà©à©±à¨Ÿ \"%s\" ਇੰਕੋਡਿੰਗ ਵਿੱਚ ਠੀਕ ਨਹੀਂ ਹੈ"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "\"%s\" ਇੰਕੋਡਿੰਗ ਤੋਂ \"%s\" ਇੰਕੋਡਿੰਗ ਵਿੱਚ ਬਦਲਣ ਦੌਰਾਨ ਗਲਤੀ"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "ਦੋ ਆਰਗੂਮੈਂਟ ਲੋੜੀਦੇ ਹਨ"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "ਵਰਤੋਂ: %s [OPTION] URL FILE\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "\"%s\" ਪੜà©à¨¹à¨¨ ਦੌਰਾਨ ਗਲਤੀ"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "stdout ਲਿਖਣ ਦੌਰਾਨ ਗਲਤੀ"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "\"%s\" ਪੜà©à¨¹à¨¨ ਦੇ ਬਾਅਦ ਗਲਤੀ"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "%s ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " ਟਾਈਮ-ਆਉਟ।\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " ਫੇਲà©à¨¹ ਹੈ।\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "ਆਉਟਪà©à©±à¨Ÿ ਫਾਇਲ \"%s\" ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "ਸਟੈਂਡਰਡ ਆਉਟਪà©à©±à¨Ÿ"
@@ -3062,38 +3296,39 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "ਲਿਖਣ ਵਾਸਤੇ \"%s\" ਖੋਲà©à¨¹à¨£ ਦੌਰਾਨ ਗਲਤੀ"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "ਠੀਕ ਜਾਵਾ ਕਲਾਸ ਨਾਂ ਨਹੀਂ ਹੈ: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "ਲਿਖਣ ਵਾਸਤੇ \"%s\" ਖੋਲà©à¨¹à¨£ ਦੌਰਾਨ ਗਲਤੀ"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "ਗਲਤ ਮਲਟੀਬਾਈਟ ਲੜੀ"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3102,7 +3337,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3111,13 +3346,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3125,374 +3360,201 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr ""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr ""
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "ਸਾਵਧਾਨ: ਯੂਨੀਕੋਡ ਅੱਖਰ ਲਈ ਗਲਤ \\uxxxx ਸੰਟੈਕਸ"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr ""
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr ""
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv ਫੇਲà©à¨¹"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr ""
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr ""
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
+#: src/xgettext.c:579
#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr ""
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
-
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "ਲੈਗੂਇਜ਼ `%s' ਅਣਜਾਣ"
-#: src/x-python.c:324
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:341
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-#: src/x-python.c:354
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext ਲੱਭਣ ਵਾਲੇ ਸ਼ਬਦ ਤੋਂ ਬਿਨਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਦਾ"
-#: src/x-python.c:364
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-python.c:397
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ਗਲਤ ਲਾਈਨ ਪà©à¨°à©€à¨­à¨¾à¨¸à¨¼à¨¾"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr ""
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr ""
-
-#: src/x-sh.c:1075
-#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext ਲੱਭਣ ਵਾਲੇ ਸ਼ਬਦ ਤੋਂ ਬਿਨਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਦਾ"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "ਇੰਪà©à©±à¨Ÿ ਫਾਇਲ ਲੈਗੂਇਜ਼ ਦੀ ਚੋਣ:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3505,41 +3567,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3549,17 +3611,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "ਲੈਗੂਇਜ਼ ਖਾਸ ਚੋਣਾਂ:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all ਸਭ ਲਾਇਨਾਂ ਕੱਢੋ\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3569,7 +3647,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3579,7 +3657,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3587,7 +3665,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3597,76 +3675,86 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (ਕੇਵਲ ਲੈਗੂਇਜ਼ C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " -f, --files-from=FILE ਫਾਇਲ (FILE) ਤੋਂ ਇੰਪà©à©±à¨Ÿ ਫਾਇਲਾਂ ਦੀ ਸੂਚੀ ਲਵੋ\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " -s, --short ਛੋਟਾ ਹੋਸਟ ਨਾਂ\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACKAGE ਆਉਟਪà©à©±à¨Ÿ ਵਿੱਚ ਪੈਕੇਜ ਨਾਂ ਦਿਓ\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION ਆਉਟਪà©à©±à¨Ÿ ਵਿੱਚ ਪੈਕੇਜ ਵਰਜਨ ਦਿਓ\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=EMAIL@ADDRESS msgid ਬੱਗ ਦੀ ਜਾਣਕਾਰੀ à¨à¨¡à¨°à©ˆà¨¸ ਉੱਤੇ ਦਿਓ\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3674,7 +3762,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3682,52 +3770,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "ਸਟੈਂਡਰਡ ਇੰਪà©à©±à¨Ÿ"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "%s%s ਉੱਤੇ ਗੈਰ-ASCII ਅੱਖਰ ਹੈ।"
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "%s%s ਉੱਤੇ ਜਾਂ ਤੋਂ ਪਹਿਲਾਂ ਉੱਤੇ ਗੈਰ-ASCII ਟਿੱਪਣੀ ਹੈ।"
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "%s%s ਉੱਤੇ ਗੈਰ-ASCII ਲਾਇਨ"
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: ਸਾਵਧਾਨ: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3736,7 +3824,7 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -3746,27 +3834,27 @@ msgstr ""
"gettext(\"\") ਖਾਲੀ ਲਾਈਨ ਮੋੜਨ ਦੀ ਬਜਾà¨\n"
"ਹੈੱਡਰ à¨à¨‚ਟਰੀ ਨਾਲ ਮੇਟਾ ਜਾਣਕਾਰੀ ਮੋੜਦਾ ਹੈ।\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "ਸਾਵਧਾਨ: ਸ਼ਬਦ '%.*s' ਲਈ ਪà©à¨°à¨¸à©°à¨— (context) ਮੌਜੂਦ ਨਹੀਂ"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3774,17 +3862,316 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "ਲੈਗੂਇਜ਼ `%s' ਅਣਜਾਣ"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr ""
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ਗਲਤ ਲਾਈਨ ਪà©à¨°à©€à¨­à¨¾à¨¸à¨¼à¨¾"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: ਸਾਵਧਾਨ: ਨਾ-ਖਤਮ ਹੋਈ ਲਾਈਨ ਹੈ"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<ਬਿਨ-ਨਾਂ>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ਗਲਤ ਕੰਟਰੋਲ ਲੜੀ"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "ਠੀਕ ਜਾਵਾ ਕਲਾਸ ਨਾਂ ਨਹੀਂ ਹੈ: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "ਠੀਕ ਜਾਵਾ ਕਲਾਸ ਨਾਂ ਨਹੀਂ ਹੈ: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ਗਲਤ ਕੰਟਰੋਲ ਲੜੀ"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ਗਲਤ ਅੰਤ(endianness): %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "%2$s ਲਈ ਗਲਤ ਆਰਗੂਮੈਂਟ %1$s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "ਗà©à©°à¨® ਫਿਲਟਰ ਨਾਂ"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "header field `%s' should start at beginning of line\n"
#~ msgstr "ਹੈੱਡਰ ਖੇਤਰ `%s' ਲਾਈਨ ਦੇ ਸ਼à©à¨°à©‚ ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ\n"
#~ msgid "some header fields still have the initial default value\n"
#~ msgstr "ਕà©à¨ ਹੈੱਡਰ ਖੇਤਰ ਹਾਲੇ ਵੀ ਮà©à©±à¨¢à¨²à©‡ ਮà©à©±à¨² ਰੱਖਦੇ ਹਨ\n"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
diff --git a/gettext-tools/po/pl.gmo b/gettext-tools/po/pl.gmo
index 11cc5fd..372a88c 100644
--- a/gettext-tools/po/pl.gmo
+++ b/gettext-tools/po/pl.gmo
Binary files differ
diff --git a/gettext-tools/po/pl.po b/gettext-tools/po/pl.po
index 5de2076..1bcc751 100644
--- a/gettext-tools/po/pl.po
+++ b/gettext-tools/po/pl.po
@@ -1,17 +1,18 @@
# Polish translations for the GNU gettext messages, tools domain
-# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004, 2005, 2006, 2007, 2010, 2013, 2014 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004, 2005, 2006, 2007, 2010, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Piotr Pogorzelski <ppogorze@ippt.gov.pl>, 1995
# Jakub Bogusz <qboosh@pld-linux.org>, 2002, 2003, remarks to some 18 messages in 2014
# Piotr DrÄ…g <piotrdrag@gmail.com>, remarks on grammar errors in 2014
-# Rafał Maszkowski <rzm@icm.edu.pl>, 1995-1999, 2001, 2003-2007, 2010, 2013, 2014
+# Jakub Bogusz <qboosh@pld-linux.org>, 3 typos, 2015
+# Rafał Maszkowski <rzm@icm.edu.pl>, 1995-1999, 2001, 2003-2007, 2010, 2013-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.19.3\n"
+"Project-Id-Version: GNU gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-17 21:17+0200\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-07-15 18:54+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -59,40 +60,40 @@ msgstr "nie można usunąć katalogu tymczasowego %s"
msgid "write error"
msgstr "błąd zapisu"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "zachowanie uprawnień do %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "błąd w czasie otwierania %s do czytania"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "błąd otwarcia kopii zapasowej %s do pisania"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "błąd czytania %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "błąd pisania do %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "błąd po przeczytaniu %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() nie powiodło się"
@@ -118,58 +119,63 @@ msgstr "Nieznany błąd systemu"
msgid "%s subprocess failed"
msgstr "niepowodzenie podprocesu %s"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: opcja: „%s†jest niejednoznaczna; możliwości: "
+msgstr "%s: opcja: „%s†jest niejednoznaczna; możliwości:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opcja „%s†jest niejednoznaczna\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opcja „--%s†nie może mieć argumentu\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opcja „%c%s†nie może mieć argumentu\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: opcja „--%s†wymaga argumentu\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: nierozpoznana opcja „--%sâ€\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: nierozpoznana opcja „%c%sâ€\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: bÅ‚Ä™dna opcja -- „%câ€\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opcja wymaga argumentu -- „%câ€\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opcja „-W %s†jest niejednoznaczna\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcja „-W %s†nie może mieć argumentu\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: opcja „-W %s†wymaga argumentu\n"
@@ -185,15 +191,16 @@ msgstr "błędny argument source_version do compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "błędny argument target_version do compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "tworzenie \"%s\" nie powiodło się"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "błąd podczas pisania do pliku \"%s\""
@@ -211,15 +218,15 @@ msgstr ""
"Nie znaleziono maszyny wirtualnej Javy, proszę zainstalować gij lub ustawić "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "błąd wejścia/wyjścia podprocesu %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "pamięć wyczerpana"
@@ -230,7 +237,7 @@ msgid "creation of threads failed"
msgstr "kompilacja wątków nie udała się"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "pisanie do podprocesu %s nie powiodło się"
@@ -243,7 +250,7 @@ msgstr "czytanie z podprocesu %s nie powiodło się"
#: gnulib-lib/pipe-filter-ii.c:298
#, c-format
msgid "cannot set up nonblocking I/O to %s subprocess"
-msgstr "nie można ustawić nieblokującego we/wy dla podprocesu %s"
+msgstr "nie można ustawić nieblokującego wejścia/wyjścia dla podprocesu %s"
#: gnulib-lib/pipe-filter-ii.c:336
#, c-format
@@ -276,11 +283,11 @@ msgstr "podproces %s zakończony z kodem wyjścia %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "\""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "\""
@@ -316,54 +323,196 @@ msgstr "podproces %s"
msgid "%s subprocess got fatal signal %d"
msgstr "podproces %s otrzymał krytyczny sygnał %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "błąd w czasie otwierania \"%s\" do czytania"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Element główny <%s> nie jest dozwolony w prawidłowym pliku Glade"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"'%s' nie jest poprawnym formatem %s w przeciwieÅ„stwie do „%sâ€.\n"
-"Powód: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Napisz „%s --help†żeby otrzymać więcej informacji.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Składnia: %s [OPCJA] [PLIK]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Argumenty obowiązkowe opcji długich są obowiązkowe także dla krótkich.\n"
+"Podobnie dla argumentów opcjonalnych.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help wyświetlenie tego opisu i zakończenie\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version wypisanie informacji o wersji i zakończenie pracy\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Raporty o błędach prosimy wysyłać do bug-gnu-gettext@gnu.org .\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Licencja GPLv3+: GNU GPL, wersja 3 lub nowsza <http://gnu.org/licenses/gpl.html>\n"
+"To jest wolne oprogramowanie: możesz je modyfikować i rozpowszechniać.\n"
+"Autorzy NIE DAJÄ„ GWARANCJI, na ile pozwala na to prawo.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Program napisał %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s istnieje, ale nie może zostać przeczytany"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "nie można usunąć katalogu tymczasowego %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "błąd w czasie otwierania \"%s\" do czytania"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
"specyfikacja formatu dla argumentu %u, obecna w „%sâ€, nie istnieje w „%sâ€"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "specyfikacja formatu dla argumentu %u nie istnieje w „%sâ€"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "różniące się specyfikacje formatu w „%s†i „%s†dla argumentu %u"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Dyrektywa numer %u zaczyna się od |, ale nie kończy |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%s' nie jest poprawnym formatem %s w przeciwieÅ„stwie do „%sâ€.\n"
+"Powód: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -372,53 +521,53 @@ msgstr ""
"W dyrektywie numer %u oznaczenie po „<†nie jest nazwą makra specyfikującego "
"format. Poprawne nazwy makr sÄ… podane w rozdziale 7.8.1 ISO C 99."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "W dyrektywie numer %u oznaczenie po „<†nie jest zakoÅ„czone przez „>â€."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Napis odwołuje się do argumentu numer %u, ale ignoruje argument numer %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "nie zgadza siÄ™ liczba specyfikacji formatu w „%s†i w „%sâ€"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "W dyrektywie numer %u po „{†nie występuje numer argumentu."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "W dyrektywie numer %u po „,†nie występuje liczba."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"ÅaÅ„cuch koÅ„czy siÄ™ w Å›rodku dyrektywy: znaleziono „{†bez odpowiadajÄ…cego "
"„}â€."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "Dyrektywa numer %u koÅ„czy siÄ™ bÅ‚Ä™dnym znakiem „%c†zamiast „}â€."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Dyrektywa numer %u koÅ„czy siÄ™ bÅ‚Ä™dnym znakiem zamiast „}â€."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -426,7 +575,7 @@ msgstr ""
"ÅaÅ„cuch zaczyna siÄ™ w Å›rodku dyrektywy: znaleziono „}†bez odpowiadajÄ…cego "
"„{â€."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "ÅaÅ„cuch zawiera samotny „}†po numerze dyrektywy %u."
@@ -547,7 +696,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "ÅaÅ„cuch odwoÅ‚uje siÄ™ do argumentu numer %u na niekompatybilne sposoby."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -555,18 +704,18 @@ msgid ""
msgstr ""
"W dyrektywie numer %u podciÄ…g \"%s\" nie jest poprawnym stylem daty/czasu."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "W dyrektywie numer %u po \"%s\" nie występuje przecinek."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "W dyrektywie numer %u podciÄ…g \"%s\" nie jest poprawnym stylem liczby."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -575,12 +724,12 @@ msgstr ""
"W dyrektywie numer %u po numerze argumentu nie występuje przecinek i jedno z "
"\"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "W dyrektywie numer %u wybór nie zawiera liczby."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -589,26 +738,49 @@ msgstr ""
"W dyrektywie numer %u wybór zawiera liczbÄ™, po której nie wystÄ™puje „<â€, „#†"
"ani „%sâ€."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"specyfikacja formatu dla argumentu {%u} obecna w „%s†nie istnieje w „%sâ€"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "specyfikacja formatu dla argumentu {%u} nie istnieje w „%sâ€"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
"specyfikacje formatu w „%s†i w „%s†dla argumentu {%u} nie są takie same"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Napis odwołuje się do argumentu numer %u, ale ignoruje argumenty numer %u i "
+"%u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"specyfikacja formatu dla argumentów %u i %u nie istnieje w „%sâ€; tylko jeden "
+"argument może być ignorowany"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "błąd w czasie przetwarzania %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -618,7 +790,7 @@ msgstr ""
"W dyrektywie numer %u parametr %u jest typu „%s†zamiast oczekiwanego „%sâ€."
# plural
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -633,33 +805,33 @@ msgstr[1] ""
msgstr[2] ""
"Za dużo parametrów w dyrektywie numer %u, oczekiwano najwyżej %u parametrów."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "W dyrektywie numer %u po „%c†nie występuje cyfra."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "W dyrektywie numer %u argument %d jest ujemny."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "ÅaÅ„cuch koÅ„czy siÄ™ w Å›rodku dyrektywy ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Znaleziono „~%c†bez odpowiadajÄ…cego „~%câ€."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "W dyrektywie numer %u podano jednocześnie modyfikatory @ i :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -668,26 +840,32 @@ msgstr ""
"W dyrektywie numer %u po „~:[†nie występują dwa wyrażenia oddzielone przez "
"„~;â€."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "W dyrektywie numer %u „~;†jest użyte w złym miejscu."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "ÅaÅ„cuch odwoÅ‚uje siÄ™ do argumentu na niekompatybilne sposoby."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "specyfikacje formatu w „%s†i w „%s†nie są równoważne"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "specyfikacje formatu w „%s†nie sÄ… podzbiorem tych z „%sâ€"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "specyfikacja formatu dla argumentu „%s†nie istnieje w „%sâ€"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -696,14 +874,35 @@ msgstr ""
"W dyrektywie numer %u specyfikacja rozmiaru jest niezgodna ze specyfikacjÄ… "
"konwersji „%câ€."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "specyfikacja formatu dla argumentu „%s†nie istnieje w „%sâ€"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "W dyrektywie numer %u „%c†nie może być początkiem nazwy pola."
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "W dyrektywie numer %u „%c†nie może być początkiem argumentu getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "W dyrektywie numer %u „%c†nie może być początkiem argumentu getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"W dyrektywie numer %u w specyfikacji formatu nie może być więcej poziomów "
+"zagłębień."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "W dyrektywie numer %u jest niezakończona dyrektywa formatu."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -711,13 +910,13 @@ msgstr ""
"ÅaÅ„cuch odwoÅ‚uje siÄ™ do argumentów jednoczeÅ›nie poprzez nazwy i nienazwane "
"specyfikacje."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"ÅaÅ„cuch odwoÅ‚uje siÄ™ do argumentu o nazwie „%s†na niekompatybilne sposoby."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -725,7 +924,7 @@ msgstr ""
"specyfikacje formatu w „%s†potrzebują mapowania, a te w „%s†potrzebują "
"krotki"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -733,49 +932,21 @@ msgstr ""
"specyfikacje formatu w „%s†potrzebują krotki, a te w „%s†potrzebują "
"mapowania"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"specyfikacja formatu dla argumentu „%sâ€, obecna w „%sâ€, nie istnieje w „%sâ€"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr ""
"specyfikacje formatu w „%s†i w „%s†dla argumentu „%s†nie są takie same"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "W dyrektywie numer %u „%c†nie może być początkiem nazwy pola."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "W dyrektywie numer %u „%c†nie może być początkiem argumentu getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "W dyrektywie numer %u „%c†nie może być początkiem argumentu getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"W dyrektywie numer %u w specyfikacji formatu nie może być więcej poziomów "
-"zagłębień."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "W dyrektywie numer %u jest niezakończona dyrektywa formatu."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -784,13 +955,13 @@ msgstr ""
"„%s†jest w prostym formacie, a „%s†nie jest: zawiera flagę „L†albo "
"dwucyfrową liczbę argumentów"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"Zmienna powłoki, do której odwołuje się łańcuch znaków ma nazwę nie ze "
"znaków ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -798,7 +969,7 @@ msgstr ""
"Zmienna powłoki, do której odwołuje się łańcuch znaków ma skomplikowaną "
"składnię nawiasów. Ta składnia nie jest używana z powodów bezpieczeństwa."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -806,93 +977,58 @@ msgstr ""
"Zmienna powłoki, do której odwołuje się łańcuch znaków może mieć inną "
"wartość wewnątrz funkcji powłoki."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Zmienna powłoki, do której odwołuje się łańcuch znaków ma pustą nazwę."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "W dyrektywie numer %u znak „%c†nie jest cyfrą od 1 do 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Znak kończący dyrektywę %u nie jest cyfrą od 1 do 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Licencja GPLv3+: GNU GPL, wersja 3 lub nowsza <http://gnu.org/licenses/gpl.html>\n"
-"To jest wolne oprogramowanie: możesz je modyfikować i rozpowszechniać.\n"
-"Autorzy NIE DAJÄ„ GWARANCJI, na ile pozwala na to prawo.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Program napisał %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "za dużo argumentów"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Napisz „%s --help†żeby otrzymać więcej informacji.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Składnia: %s [OPCJA]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Wypisanie nazwy komputera.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Format wyjścia:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short krótka nazwa komputera\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -903,77 +1039,103 @@ msgstr ""
"nazwÄ™\n"
" domeny i aliasy\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address adresy komputera\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informacje:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help wyświetlenie tego opisu i zakończenie\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "nie można odczytać nazwy komputera"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version wypisanie informacji o wersji i zakończenie pracy\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "muszą być podane przynajmniej dwa pliki"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Raporty o błędach prosimy wysyłać do bug-gnu-gettext@gnu.org .\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "nie można utworzyć potoku"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "nie można odczytać nazwy komputera"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "błędny argument %s opcji %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "nie można utworzyć potoku"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s nie istnieje"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "nie można utworzyć pliku wyjściowego \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "dozwolony najwyżej jeden plik wejściowy"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s i %s wzajemnie siÄ™ wykluczajÄ…"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Składnia: %s [OPCJA] [PLIK-WEJŚCIOWY]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -982,65 +1144,66 @@ msgstr ""
"Filtrowanie komunikatów z katalogu tłumaczeń zgodnie z ich atrybutami oraz\n"
"manipulowanie atrybutami.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Argumenty obowiązkowe opcji długich są obowiązkowe także dla krótkich.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Położenie pliku wejściowego:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " PLIK-WEJÅšCIOWY wczytanie pliku PO\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=KATALOG dodanie KATALOGU do listy poszukiwania plików\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Jeśli nie podano pliku wejściowego lub plik to -, czytane jest standardowe\n"
"wejście.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Położenie pliku wyjściowego:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=PLIK zapisanie wyniku do podanego pliku\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1050,85 +1213,85 @@ msgstr ""
"podany\n"
"plik to -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Wybór komunikatów:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated zachowanie przetłumaczonych, usunięcie\n"
-" nieprzetłumaczonych\n"
+" nie przetłumaczonych\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-" --untranslated zachowanie nieprzetłumaczonych, usunięcie\n"
+" --untranslated zachowanie nie przetłumaczonych, usunięcie\n"
" przetłumaczonych\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy usuniÄ™cie komunikatów oznaczonych „fuzzyâ€\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy zachowanie komunikatów oznaczonych „fuzzyâ€\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
" --no-obsolete usunięcie przestarzałych komunikatów #~\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
" --only-obsolete zachowanie przestarzałych komunikatów #~\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulowanie atrybutami:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
" --set-fuzzy oznaczenie wszystkich komunikatów jako "
"„fuzzyâ€\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy oznaczenie wszystkich komunikatów jako\n"
" nie-„fuzzyâ€\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete oznaczenie wszystkich komunikatów jako\n"
" przestarzałe\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete oznaczenie wszystkich komunikatów jako nie\n"
" przestarzałe\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1138,7 +1301,7 @@ msgstr ""
" przetłumaczonych komunikatów przy zaznaczaniu\n"
" jako „fuzzyâ€\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1147,7 +1310,7 @@ msgstr ""
" --clear-previous usunięcie \"previous msgid\" z wszystkich "
"komunikatów\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1156,14 +1319,14 @@ msgstr ""
"usuwaniu\n"
" komunikatów oznaczonych „fuzzyâ€\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=PLIK.po modyfikacja tylko wpisów obecnych w PLIKU.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1171,36 +1334,36 @@ msgstr ""
" --ignore-file=PLIK.po modyfikacja tylko wpisów nieobecnych w PLIKU."
"po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy synonim dla --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete synonim dla --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Składnia pliku wejściowego:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input plik wejściowy ma składnię .properties Javy\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1209,17 +1372,17 @@ msgstr ""
" --stringtable-input plik wejściowy ma składnię .string z\n"
" NeXTstep/GNUstep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Szczegóły dotyczące wyjścia:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1235,17 +1398,17 @@ msgstr ""
"albo\n"
" „htmlâ€.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=PLIKSTYLU podanie pliku reguł CSS dla opcji --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1253,9 +1416,9 @@ msgstr ""
" -e, --no-escape nie używanie sekwencji C na wyjściu "
"(domyślne)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1263,37 +1426,37 @@ msgstr ""
" -E, --escape używanie sekwencji C, bez znaków "
"rozszerzonych\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po zapisanie pliku PO nawet jeśli jest pusty\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent zapisanie pliku .po w stylu z wcięciami\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location nie zapisywanie linii „#: plik:liniaâ€\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location generowanie linii „#: plik:linia†(domyślne)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1301,33 +1464,33 @@ msgstr ""
" --strict zapisanie pliku .po ściśle zgodnego z "
"Uniforum\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output zapisanie pliku .properties Javy\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output zapisanie pliku .strings NeXTstep/GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
" -w, --width=LICZBA ustawienie szerokości strony dla wyjścia\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1337,32 +1500,32 @@ msgstr ""
"dłuższych\n"
" niż szerokość strony\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output generowanie posortowanego wyjścia\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file sortowanie wyjścia według położenia pliku\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "podane niemożliwe kryteria selekcji (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Składnia: %s [OPCJA] [PLIK-WEJŚCIOWY]\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1384,24 +1547,24 @@ msgstr ""
"i pozycje w plikach zostaną zgromadzone, chyba że zostanie podana opcja\n"
"--use-first, wtedy będą skopiowane z pierwszego definiującego je pliku PO.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " PLIK-WEJŚCIOWY ... pliki wejściowe\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=PLIK odczytanie listy plików wejściowych z PLIKU\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Jeśli plik wejściowy to -, czytane jest standardowe wejście.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1411,7 +1574,7 @@ msgstr ""
" mniejszą od LICZBY, domyślnie "
"nieskończoności\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1420,7 +1583,7 @@ msgstr ""
" ->, --more-than=LICZBA wypisanie komunikatów z liczbą definicji\n"
" większą od LICZBY, domyślnie 1\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1429,8 +1592,8 @@ msgstr ""
" -u, --unique skrót dla --less-than=2, żądanie wypisania\n"
" wyłącznie unikalnych komunikatów\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1438,8 +1601,8 @@ msgstr ""
" -P, --properties-input pliki wejściowe mają składnię .properties "
"Javy\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1448,12 +1611,12 @@ msgstr ""
" --stringtable-input pliki wejściowe mają składnię .strings\n"
" NeXTstep/GNUstep\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAZWA kodowanie dla wyjścia\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1462,33 +1625,33 @@ msgstr ""
" --use-first użycie pierwszego dostępnego tłumaczenia\n"
" każdego komunikatu zamiast łączenia wielu\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=NAZWA_KATALOGU ustawienie pola „Language†w nagłówku\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "nie podano plików wejściowych"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "wymagane są dokładnie dwa pliki wejściowe"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Składnia: %s [OPCJA] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1506,22 +1669,22 @@ msgstr ""
"dopasować dokładnie, używane jest dopasowywanie rozmyte dla lepszej\n"
"diagnostyki.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po tłumaczenia\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot odniesienia do źródeł\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modyfikatory operacji:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1530,54 +1693,54 @@ msgstr ""
" -m, --multi-domain zastosowanie ref.pot dla wszystkich domen def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching nie używanie dopasowywania rozmytego\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
" --use-fuzzy użycie na wyjściu niepewnych (fuzzy) "
"komunikatów\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated użycie nieprzetłumaczonych komunikatów\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
-msgstr "ten komunikat jest nieprzetłumaczony"
+msgstr "ten komunikat jest nie przetłumaczony"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "ten komunikat powinien być sprawdzony przez tłumacza"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "ten komunikat jest użyty, ale nie jest zdefiniowany..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...ale ta definicja jest podobna"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "ten komunikat jest użyty, ale nie jest zdefiniowany w %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "uwaga: ten komunikat nie został użyty"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1585,12 +1748,12 @@ msgstr[0] "znaleziono %d błąd krytyczny"
msgstr[1] "znaleziono %d błędy krytyczne"
msgstr[2] "znaleziono %d błędów krytycznych"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "muszą być podane przynajmniej dwa pliki"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1610,7 +1773,7 @@ msgstr ""
"zostanÄ… zachowane, ale tylko z pierwszego definiujÄ…cego je pliku PO. Pozycje\n"
"w plikach dla wszystkich plików PO zostaną zgromadzone.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1619,7 +1782,7 @@ msgstr ""
" ->, --more-than=LICZBA wypisanie komunikatów z liczbą definicji\n"
" większą od LICZBY, domyślnie 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1627,65 +1790,65 @@ msgstr ""
" --omit-header nie zapisywanie nagłówka z wpisem „msgid "
"\"\"â€\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Konwersja katalogu tłumaczeń na inne kodowanie znaków.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Cel konwersji:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Domyślnym kodowaniem jest kodowanie dla aktualnej lokalizacji.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
" -i, --indent zapisanie pliku .po w stylu z wcięciami\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location pominiÄ™cie linii „#: plik:liniaâ€\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location zachowanie linii „#: plik:linia†(domyślne)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict zapisanie pliku .po ściśle zgodnego z "
"Uniforum\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "nie podano nazwy pliku wejściowego"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "wymagany jest dokładnie jeden plik wejściowy"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Składnia: %s [OPCJA] PLIK-WEJŚCIOWY\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1695,25 +1858,25 @@ msgid ""
msgstr ""
"Tworzy plik tłumaczeń angielskich. Plikiem wejściowym jest ostatnio\n"
"tworzony angielski plik PO lub plik PO Template (zazwyczaj stworzony przez\n"
-"xgettext). Nieprzetłumaczonym wpisom są przypisywane tłumaczenia identyczne\n"
-"z msgid.\n"
+"xgettext). Nie przetłumaczonym wpisom są przypisywane tłumaczenia\n"
+"identyczne z msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " PLIK-WEJŚCIOWY plik wejściowy PO lub POT\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "brak nazwy polecenia"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Składnia: %s [OPCJA] POLECENIE [OPCJA-POLECENIA]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1728,7 +1891,7 @@ msgstr ""
"Jego wyjście staje się wyjściem msgexec. Kod wyjścia msgexec to maksimum\n"
"z kodów wyjścia dla wszystkich wywołań.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1737,38 +1900,50 @@ msgstr ""
"Specjalne wbudowane polecenie o nazwie „0†wypisuje tłumaczenie zakończone\n"
"bajtem 0. WyjÅ›cie „msgexec 0†może być wejÅ›ciem dla „xargs -0â€.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Dane dla polecenia:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline dodanie znaku nowej linii na końcu danych\n"
+" wejściowych\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=PLIK-WEJŚCIOWY plik wejściowy PO\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "pisanie na standardowe wyjście nie powiodło się"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "brak nazwy filtru"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "musi być podany przynajmniej jeden skrypt seda"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Składnia: %s [OPCJA] FILTR [OPCJA-FILTRA]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
"Zastosowanie filtru na wszystkich tłumaczeniach z katalogu tłumaczeń.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1777,19 +1952,34 @@ msgstr ""
"FILTR może być dowolnym programem czytającym tłumaczenie ze standardowego\n"
"wejścia i wypisującym zmodyfikowane tłumaczenie na standardowym wyjściu.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Dane wejściowe i wyjściowe filtra:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline dodanie znaku końca linii na końcu danych\n"
+" wejściowych i usunięcie z końca danych\n"
+" wyjściowych"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Przydatne OPCJE-FILTRA jeÅ›li FILTREM jest „sedâ€:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expresion=SKRYPT dodanie SKRYPTU do wykonywanych poleceń\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1800,13 +1990,13 @@ msgstr ""
"wykonywanych\n"
" poleceń\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr " -n, --quiet, --silent nie wypisywanie zawartości wzorca\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1814,83 +2004,93 @@ msgstr ""
" --no-escape nie używanie sekwencji C na wyjściu "
"(domyślne)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent zapisanie pliku w stylu z wcięciami\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header zachowanie nagłówka z pominięciem filtra\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "dane z filtra nie są zakończone znakiem nowej linii"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argument %s powinien być pojedynczym znakiem przestankowym"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "błędna endianness: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "jeżeli są podane %s i %s, nie należy podawać pliku wejściowego"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s wymaga podania \"-d katalog\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s wymaga podania \"-l lokalizacja\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s wymaga podania \"--template wzorzec\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s wymaga podania \"-o plik\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s i %s wykluczajÄ… siÄ™ wzajemnie w %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s jest prawidłowe tylko z %s lub %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s jest prawidłowe tylko z %s, %s albo z %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "nie można utworzyć pliku wyjściowego \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1898,7 +2098,7 @@ msgstr[0] "%d przetłumaczony komunikat"
msgstr[1] "%d przetłumaczone komunikaty"
msgstr[2] "%d przetłumaczonych komunikatów"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1906,45 +2106,36 @@ msgstr[0] ", %d tłumaczenie budzi wątpliwości"
msgstr[1] ", %d tłumaczenia budzą wątpliwości"
msgstr[2] ", %d tłumaczeń budzi wątpliwości"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d nieprzetłumaczony komunikat"
-msgstr[1] ", %d nieprzetłumaczone komunikaty"
-msgstr[2] ", %d nieprzetłumaczonych komunikatów"
+msgstr[0] ", %d nie przetłumaczony komunikat"
+msgstr[1] ", %d nie przetłumaczone komunikaty"
+msgstr[2] ", %d nie przetłumaczonych komunikatów"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Składnia: %s [OPCJA] nazwa-pliku.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Generowanie binarnego katalogu komunikatów z tekstowego opisu tłumaczeń.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Argumenty obowiązkowe opcji długich są obowiązkowe także dla krótkich.\n"
-"Podobnie dla argumentów opcjonalnych.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " nazwa-pliku.po ... pliki wejściowe\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Tryb działania:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1953,7 +2144,7 @@ msgstr ""
" -j, --java tryb Javy: generowanie klas Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1961,12 +2152,12 @@ msgid ""
msgstr ""
" --java2 jak --java dla Javy 2 (JDK 1.2 i nowsze)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp tryb C#: generowanie pliku .dll .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1975,19 +2166,19 @@ msgstr ""
" --csharp-resources tryb zasobów C#: generowanie pliku .resources ."
"NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl tryb Tcl: generowanie pliku tcl/msgcat .msg\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt tryb Qt: generowanie pliku .qm\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1995,31 +2186,36 @@ msgstr ""
" --desktop tryb Elementu Pulpitu: generowanie pliku ."
"desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt tryb Qt: generowanie pliku .qm\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict włączenie trybu ścisłej zgodności z Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Jeśli plikiem wyjściowym jest -, wynik jest kierowany na standardowe "
"wyjście.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Położenie pliku wyjściowego w trybie Javy:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=ZASÓB nazwa zasobu\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2027,21 +2223,21 @@ msgid ""
msgstr ""
" -l, --locale=LOKALIZACJA nazwa lokalizacji - język lub język_KRAJ\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr " --source utworzenie pliku .java zamiast .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d KATALOG bazowy katalog w hierarchii katalogu klas\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2054,12 +2250,12 @@ msgstr ""
"Klasa\n"
"jest zapisywana w podanym katalogu.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Położenie pliku wyjściowego w trybie C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2068,7 +2264,7 @@ msgstr ""
" -d KATALOG katalog bazowy plików .dll zależnych od "
"locale\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2078,18 +2274,18 @@ msgstr ""
"podanego\n"
"katalogu, którego nazwa zależy od locale.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Położenie pliku wyjściowego w trybie Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d KATALOG bazowy katalog katalogów komunikatów .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2097,22 +2293,22 @@ msgid ""
msgstr ""
"Opcje -l i -d sÄ… obowiÄ…zkowe. Plik .msg jest zapisywany w podanym katalogu.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Opcje trybu Elementu Pulpitu (Desktop Entry):\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=WZORZEC plik .desktop użyty jako WZORZEC\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d KATALOG bazowy katalog plików .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2121,7 +2317,7 @@ msgstr ""
" -kSÅOWO, --keyword=SÅOWO dodatkowe sÅ‚owo kluczowe do poszukiwania\n"
" -k, --keyword bez używania domyślnych słów kluczowych\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2133,12 +2329,27 @@ msgstr ""
"wejściowe są szukane w podanym katalogu zamiast pośród argumentów "
"polecenia.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "Opcje trybu Elementu Pulpitu (Desktop Entry):\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=WZORZEC plik .desktop użyty jako WZORZEC\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretacja pliku wejściowego:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2149,14 +2360,14 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format sprawdzenie tłumaczeń z formatów zależnych od\n"
" języka\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2165,7 +2376,7 @@ msgstr ""
" --check-header sprawdzenie obecności i zawartości wpisu "
"nagłówka\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2174,7 +2385,7 @@ msgstr ""
" --check-domain sprawdzenie konfliktów między dyrektywami\n"
" dotyczÄ…cymi domeny i opcjÄ… --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2183,7 +2394,7 @@ msgstr ""
" -C, --check-compatibility kontrola czy GNU msgfmt działa jak X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2194,13 +2405,13 @@ msgstr ""
"klawiszowych\n"
" dla opcji w menu\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy użycie na wyjściu niepewnych (fuzzy) wpisów\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2209,7 +2420,7 @@ msgstr ""
"(domyślnie:\n"
" %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2222,7 +2433,7 @@ msgstr ""
"domyślna\n"
" kolejność zależy od platformy\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2230,92 +2441,91 @@ msgstr ""
" --no-hash tworzenie pliku binarnego bez tablicy "
"haszujÄ…cej\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
" --statistics wypisanie statystyk dotyczących tłumaczeń\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
" -v, --verbose zwiększenie ilości podawanych informacji\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "uwaga: brakujący lub niepoprawny nagłówek pliku PO\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "uwaga: konwersja zestawu znaków nie będzie działać\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "uwaga: nagłówek pliku PO jest niepewny (fuzzy)\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "uwaga: starsze wersje msgfmt nie zgłoszą błędu w tym miejscu\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "nazwa domeny \"%s\" nie jest odpowiedniÄ… nazwa pliku"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"nazwa domeny \"%s\" nie jest dobra jako nazwa pliku: użycie przedrostka"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "dyrektywa „domain %s†zignorowana"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "zignorowana pusta wartość „msgstrâ€"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "zignorowana niepewna (fuzzy) wartość „msgstrâ€"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: uwaga: plik źródłowy zawiera tłumaczenie budzące wątpliwości"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s nie istnieje"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s istnieje, ale nie może zostać przeczytany"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "błąd w czasie czytania \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2323,7 +2533,7 @@ msgid ""
msgstr ""
"opcja „%c†nie może być użyta przed podaniem „Jâ€, „Kâ€, „Tâ€, „C†lub „Xâ€"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2332,7 +2542,7 @@ msgstr ""
"Wyciągnięcie z katalogu tłumaczeń wszystkich komunikatów pasujących do podanego\n"
"wzorca lub należących do podanego pliku źródłowego.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2407,7 +2617,7 @@ msgstr ""
" -v, --invert-match wypisanie tylko komunikatów, które nie pasują do\n"
" kryteriów wyboru\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2415,12 +2625,12 @@ msgstr ""
" --escape używanie sekwencji C, bez znaków "
"rozszerzonych\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output generowanie posortowanego wyjścia\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2526,14 +2736,14 @@ msgstr ""
"Nie znaleziono pliku .pot w katalogu bieżącym.\n"
"Proszę podać plik .pot za pomocą opcji --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "podproces %s zawiódł z kodem wyjścia %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2549,29 +2759,29 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Polskie tłumaczenia dla pakietu %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "aktualny zestaw znaków \"%s\" nie jest przenośną nazwą kodowania"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "dwa różne zestawy znaków \"%s\" oraz \"%s\" w pliku wejściowym"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
"plik wejściowy „%s†nie zawiera wpisu nagłówka ze specyfikacją zestawu znaków"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2580,19 +2790,19 @@ msgstr ""
"domena \"%s\" w pliku wejściowym „%s†nie zawiera wpisu nagłówka ze "
"specyfikacją zestawu znaków"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "docelowy zestaw znaków \"%s\" nie jest przenośną nazwą kodowania."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "uwaga: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2601,7 +2811,7 @@ msgstr ""
"Pliki wejściowe zawierają komunikaty w różnych kodowaniach, w tym UTF-8.\n"
"Konwersja wyjścia do UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2613,7 +2823,7 @@ msgstr ""
"Konwersja wyjścia do UTF-8.\n"
"Aby wybrać inne kodowanie wyjściowe, należy użyć opcji --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2627,7 +2837,7 @@ msgstr ""
"w ASCII albo upewnij się, że są od początku, już w plikach źródłowych,\n"
"zakodowane w UTF-8.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2640,12 +2850,12 @@ msgstr ""
"Wyjście „%s†może być niepoprawne.\n"
"Możliwe obejścia problemu to:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Ustawienie LC_ALL na lokalizacjÄ™ z kodowaniem %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2656,7 +2866,7 @@ msgstr ""
" potem wykonanie „%sâ€,\n"
" a nastÄ™pnie przekonwertowanie z powrotem do %s przy użyciu „msgconvâ€.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2669,7 +2879,7 @@ msgstr ""
" potem wykonanie „%sâ€,\n"
" a nastÄ™pnie przekonwertowanie z powrotem do %s przy użyciu „msgconvâ€.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2680,27 +2890,27 @@ msgstr ""
"Wyjście „%s†może być niepoprawne.\n"
"Możliwym obejściem problemu jest ustawienie LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "wyrażenie do wyliczania liczby mnogiej może zwrócić wartości ujemne"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, ale wyrażenie do wyliczania liczby mnogiej może zwrócić "
"wartości do %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
"wyrażenie do wyliczania liczby mnogiej może spowodować dzielenie przez zero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "wyrażenie do wyliczania liczby mnogiej może spowodować przepełnienie"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2708,37 +2918,37 @@ msgstr ""
"wyrażenie do wyliczania liczby mnogiej może spowodować wyjątki, możliwe "
"dzielenie przez zero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Proszę spróbować tego, poprawnego dla %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "katalog komunikatów zawiera tłumaczenia form mnogich"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "ale wpis nagłówka nie ma atrybutu \"plural=WYRAŻENIE\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "ale wpis nagłówka nie ma atrybutu \"nplurals=LICZBA\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "błędna wartość nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "błędne wyrażenie do wyliczania liczby mnogiej"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2746,7 +2956,7 @@ msgstr[0] "ale niektóre komunikaty mają tylko jedną formę mnogą"
msgstr[1] "ale niektóre komunikaty mają tylko %lu formy mnogie"
msgstr[2] "ale niektóre komunikaty mają tylko %lu form mnogich"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2754,7 +2964,7 @@ msgstr[0] "ale niektóre komunikaty mają jedną formę mnogą"
msgstr[1] "ale niektóre komunikaty mają %lu formy mnogie"
msgstr[2] "ale niektóre komunikaty mają %lu form mnogich"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2762,73 +2972,91 @@ msgstr ""
"katalog komunikatów zawiera tłumaczenia form mnogich, ale brakuje wpisu "
"nagłówka z \"Plural-Forms: nplurals=LICZBA; plural=WYRAŻENIE;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "linie „msgid†i „msgid_plural†nie zaczynajÄ… siÄ™ obie od „\\nâ€`"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "linie „msgid†i „msgstr[%u]†nie zaczynajÄ… siÄ™ obie od „\\nâ€`"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "linie „msgid†i „msgstr†nie zaczynajÄ… siÄ™ obie od „\\nâ€`"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "linie „msgid†i „msgid_plural†nie koÅ„czÄ… siÄ™ obie na „\\nâ€"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "linie „msgid†i „msgstr[%u]†nie koÅ„czÄ… siÄ™ obie na „\\nâ€"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "linie „msgid†i „msgstr†nie koÅ„czÄ… siÄ™ obie na „\\nâ€"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "obsługa form mnogich jest rozszerzeniem gettexta GNU"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "w msgstr brakuje skrótu oznaczenia klawiszowego „%câ€"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr zawiera zbyt dużo oznaczeÅ„ skrótów klawiszowych „%câ€"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "pole nagłówka „%s†nadal zawiera początkową wartość domyślną\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "w nagłówku brakuje pola „%sâ€\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "Wielokropek ASCII („...â€) zamiast znaku Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+"odstęp przez wielokropkiem znaleziony pośród napisów widocznych dla "
+"użytkownika"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "Podwójny cudzysłów ASCII użyty zamiast znaku Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "Pojedynczy cudzysłów ASCII użyty zamiast znaku Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: dane wejściowe są błędne jeżeli kodowanie to \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: błąd w czasie zamiany kodowania z \"%s\" na \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"plik wejściowy nie zawiera wpisu nagłówka ze specyfikacją zestawu znaków"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2837,7 +3065,7 @@ msgstr ""
"Nie można przekonwertować z \"%s\" do \"%s\". %s opiera się na iconv(), a "
"iconv() nie obsługuje tej konwersji."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2846,8 +3074,8 @@ msgstr ""
"Konwersja z \"%s\" do \"%s\" wprowadza duplikaty: niektóre różniące się "
"msgid stajÄ… siÄ™ identyczne."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2856,16 +3084,16 @@ msgstr ""
"Nie można przekonwertować z \"%s\" do \"%s\". %s opiera się na iconv(). Ta "
"wersja została zbudowana bez iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s jest prawidłowe tylko z %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "typ zapasowy"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2887,18 +3115,18 @@ msgstr ""
"kropką i pozycje w plikach będą zachowane. Tam, gdzie nie można dopasować\n"
"dokładnie, używane jest dopasowanie rozmyte dla lepszych wyników.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po tłumaczenia odnoszące się do starych źródeł\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot odniesienia do nowych źródeł\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2907,7 +3135,7 @@ msgstr ""
" -C, --compendium=PLIK dodatkowa biblioteka tłumaczeń komunikatów,\n"
" może być podana więcej niż raz\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2916,28 +3144,28 @@ msgstr ""
" -U, --update uaktualnienie def.po, nie wykonywanie\n"
" niczego jeśli def.po jest już aktualny\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Położenie pliku wyjściowego w trybie uaktualniania:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Wynik jest zapisywany z powrotem do def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=KONTROLA utworzenie kopii zapasowej def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=KOŃCÓWKA zmiana domyślnej końcówki kopii zapasowej\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2957,7 +3185,7 @@ msgstr ""
" existing, nil numerowanie jeśli istnieją numerowane, proste jeśli nie\n"
" simple, never tworzenie zawsze prostych kopii zapasowych\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2967,7 +3195,7 @@ msgstr ""
"KoÅ„cówka nazwy kopii zapasowej to „~â€, o ile nie ustawiono przez --suffix\n"
"lub zmienną środowiskową SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2975,22 +3203,22 @@ msgstr ""
" --previous zachowanie poprzednich identyfikatorów\n"
" przetłumaczonych komunikatów\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent pominięcie znaczników postępu\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "ten komunikat powinien definiować formy mnogie"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "ten komunikat nie powinien definiować form mnogich"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2999,30 +3227,30 @@ msgstr ""
"%sPrzeczytane %ld starych + %ld odnośników, %ld dołączonych, %ld "
"niedokładnych, %ld brakujących, %ld przestarzałych.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " zrobione.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s i podanie nazw plików wzajemnie się wykluczają"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Składnia: %s [OPCJA] [PLIK]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Przekonwertowanie binarnego katalogu komunikatów na plik .po w stylu "
"Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3031,12 +3259,12 @@ msgstr ""
" -j, --java tryb Javy: wejście jest klasą Java "
"ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp tryb C#: wynik jest plikiem .dll .NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3045,7 +3273,7 @@ msgstr ""
" --csharp-resources tryb zasobów C#: na wejściu plik .resources ."
"NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3053,17 +3281,17 @@ msgstr ""
" --tcl tryb Tcl: wejście jest plikiem tcl/msgcat ."
"msg\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " PLIK ... pliki wejściowe .mo\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Położenie pliku wejściowego w trybie Javy:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3075,12 +3303,12 @@ msgstr ""
"użyciu\n"
"CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Położenie pliku wejściowego w trybie C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3089,12 +3317,12 @@ msgstr ""
"Opcje -l i -d sÄ… obowiÄ…zkowe. Plik .dll znajduje siÄ™ w podkatalogu podanego\n"
"katalogu, którego nazwa zależy od locale.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Położenie pliku wejściowego w trybie Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3102,18 +3330,18 @@ msgid ""
msgstr ""
"Opcje -l i -d sÄ… obowiÄ…zkowe. Plik .msg jest szukany w podanym katalogu.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent zapisanie pliku w stylu z wcięciami\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict zapisanie pliku ściśle zgodnego z Uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3135,12 +3363,12 @@ msgstr ""
"w plikach zostaną zgromadzone. W przypadku użycia opcji --unique, duplikaty\n"
"zostaną usunięte.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated wypisanie tylko duplikatów\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3148,7 +3376,7 @@ msgid ""
msgstr ""
" -u, --unique wypisanie tylko unikalnych, bez duplikatów\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<standardowe wejście>"
@@ -3204,32 +3432,32 @@ msgstr ""
"W nagłówku brakuje nazwy kodowania.\n"
"Przekodowanie na kodowanie użytkownika nie będzie działać.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "niekonsekwentne użycie #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "brak części „msgstr[]â€"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "brak części „msgstr_pluralâ€"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "brak części „msgstrâ€"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "pierwsza forma mnoga ma niezerowy indeks"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "forma mnoga ma zły indeks"
@@ -3239,7 +3467,7 @@ msgstr "forma mnoga ma zły indeks"
msgid "too many errors, aborting"
msgstr "za dużo błędów, przerwanie wykonywania"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "błędna sekwencja wielobajtowa"
@@ -3283,64 +3511,83 @@ msgstr "znak końca wiersza wewnątrz napisu"
msgid "context separator <EOT> within string"
msgstr "separator kontekstu <EOT> wewnÄ…trz napisu"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "ten plik nie może zawierać dyrektyw domain"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "podwójna definicja komunikatu"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "to jest położenie pierwszej definicji"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "uwaga: błędny znak unikodowy"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "brak nazwy filtru"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "błędna wartość nplurals"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "plik \"%s\" jest obcięty"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "plik \"%s\" zawiera napis, który nie jest zakończony znakiem NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "plik \"%s\" nie jest w formacie .mo GNU"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
-msgstr "plik \"%s\" zawiera napis niezakończony znakiem NUL pod %s"
+msgstr "plik \"%s\" zawiera napis nie zakończony znakiem NUL pod %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "uwaga: błędna składnia znaku Unicode: \\uxxxx"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
-msgstr "uwaga: niezakończony napis"
+msgstr "uwaga: nie zakończony napis"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "uwaga: błąd składniowy"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
-msgstr "uwaga: niezakończona para klucz/wartość"
+msgstr "uwaga: nie zakończona para klucz/wartość"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "uwaga: błąd składniowy, oczekiwano „;†po napisie"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "uwaga: błąd składniowy, oczekiwano „=†albo „;†po napisie"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Program napisany przez %s i %s.\n"
@@ -3349,16 +3596,16 @@ msgstr "Program napisany przez %s i %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egana"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Przekodowanie serbskiego tekstu z cyrylicy na alfabet łaciński.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3367,27 +3614,27 @@ msgstr ""
"Tekst wejściowy jest czytany ze standardowego wejścia. Tekst przekształcony\n"
"jest wysyłany do standardowego wyjścia.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "dane wejściowe są błędne jeżeli kodowanie to \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "błąd w czasie zmiany kodowania z \"%s\" na \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "oczekiwano dwóch argumentów"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Składnia: %s [OPCJA] URL PLIK\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3396,37 +3643,37 @@ msgstr ""
"Pobranie i wypisanie zawartości URL-a. Jeśli URL jest niedostępny, używany jest\n"
"lokalnie dostępny PLIK.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "błąd czytania \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "błąd podczas pisania na standardowe wyjście"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "błąd po przeczytaniu \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "ÅšciÄ…ganie %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " czas minÄ…Å‚.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " niepowodzenie.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3434,7 +3681,7 @@ msgstr ""
"Nie można zapisać wielu domen tłumaczeń do jednego pliku o podanym formacie "
"wyjściowym. Można to zrobić używając pliku o składni PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3442,7 +3689,7 @@ msgstr ""
"W podanym formacie wyjściowym nie można zapisać wielu domen tłumaczenia w "
"pojedynczym pliku."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3450,7 +3697,7 @@ msgstr ""
"katalog komunikatów ma tłumaczenia zależne od kontekstu, ale nie mogą być "
"zapisane w podanym formacie wyjściowym."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3460,19 +3707,19 @@ msgstr ""
"nie obsługuje. Można wygenerować klasę Javy przy użyciu \"msgfmt --java\" "
"zamiast pliku properties."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
"katalog komunikatów ma formy mnogie, ale nie mogą być zapisane na wyjściu."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "nie można utworzyć pliku wyjściowego \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standardowe wyjście"
@@ -3491,38 +3738,39 @@ msgstr "kompilacja klasy C# nie udała się, proszę użyć --verbose"
msgid "compilation of C# class failed"
msgstr "kompilacja klasy C# nie udała się"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "błąd otwarcia \"%s\" do pisania"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "niepoprawna nazwa klasy Javy: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"kompilacja klasy Javy nie udała się, proszę użyć --verbose lub ustawić $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "kompilacja klasy Javy nie udała się, proszę ustawić $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "błąd otwarcia \"%s\" do pisania"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
-msgstr "niekompletna sekwencja wielobajtowa"
+msgstr "niekompletna sekwencja wielobajtowa"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "umiÄ™dzynaradawiane komunikaty nie powinny zawierać sekwencji „\\%câ€"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3535,7 +3783,7 @@ msgstr ""
"innego niż ty. Rozważ używanie w nazwach msgctxt wyłącznie znaków ASCII.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3548,7 +3796,7 @@ msgstr ""
"innego niż teraz używane. Lepiej używać msgid wyłącznie ze znaków ASCII.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3556,7 +3804,7 @@ msgstr ""
"katalog komunikatów ma formy mnogie,\n"
"ale katalog komunikatów Qt nie pozwala ich używać\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3567,7 +3815,7 @@ msgstr ""
"a katalog komunikatów Qt rozumie tylko Unicode w przetłumaczonych\n"
"napisach, nie rozumie go w napisach kontekstu\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3575,14 +3823,14 @@ msgid ""
msgstr ""
"katalog komunikatów ma zawiera napisy msgid ze znakami spoza ISO-8859-1,\n"
"a katalog komunikatów Qt rozumie tylko Unicode w przetłumaczonych\n"
-"napisach, nie rozumie go w nieprzetłumaczonych\n"
+"napisach, nie rozumie go w nie przetłumaczonych\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "błąd podczas pisania do podprocesu %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3590,7 +3838,7 @@ msgstr ""
"katalog komunikatów ma tłumaczenia zależne od kontekstu,\n"
"ale format .resources języka C# nie pozwala używać kontekstów\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3598,7 +3846,7 @@ msgstr ""
"katalog komunikatów ma formy mnogie,\n"
"ale format .resources języka C# nie pozwala ich używać\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3606,7 +3854,7 @@ msgstr ""
"katalog komunikatów zawiera tłumaczenia zależne od kontekstu,\n"
"ale format katalogu komunikatów Tcl-a nie pozwala używać kontekstów\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3614,36 +3862,36 @@ msgstr ""
"katalog komunikatów zawiera tłumaczenia form mnogich,\n"
"ale format katalogu komunikatów Tcl-a nie obsługuje liczby mnogiej\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
-msgstr "%s:%d: uwaga: niezakończony napis"
+msgstr "%s:%d: uwaga: nie zakończony napis"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
-msgstr "%s:%d: uwaga: niezakończone wyrażenie regularne"
+msgstr "%s:%d: uwaga: nie zakończone wyrażenie regularne"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "uwaga: błędny znak unikodowy"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: uwaga: niezakończona stała znakowa"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: uwaga: niezakończona stała łańcuchowa"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Proszę podać kodowanie źródła przy pomocy --from-code ."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3652,7 +3900,7 @@ msgstr ""
"%s:%d: Błędna sekwencja wielobajtowa.\n"
"Proszę podać poprawne kodowanie źródłowe przy pomocy --from-code .\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3661,7 +3909,7 @@ msgstr ""
"%s:%d: Niekompletna długa sekwencja wielobajtowa.\n"
"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code .\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3670,7 +3918,7 @@ msgstr ""
"%s:%d: Niekompletna sekwencja wielobajtowa na końcu pliku.\n"
"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code .\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3679,12 +3927,12 @@ msgstr ""
"%s:%d: Niekompletna sekwencja wielobajtowa na końcu linii.\n"
"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code .\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: błąd iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3693,282 +3941,74 @@ msgstr ""
"%s:%d: Nieprawidłowa sekwencja wielobajtowa.\n"
"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code .\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: uwaga: błędny znak unikodowy"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: uwaga: niezakończona stała znakowa"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: uwaga: znaleziono „)â€, oczekiwano „}â€"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: uwaga: znaleziono „}â€, oczekiwano „)â€"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Brakuje kontekstu dla Å‚aÅ„cucha znaków wydobytego z elementu „%sâ€"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Element główny <%s> nie jest dozwolony w prawidłowym pliku Glade"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Język \"glade\" nie jest obsługiwany. %s polega na expat.\n"
-"Ta wersja została skompilowana bez expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: uwaga: niezakończony napis U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Proszę podać kodowanie źródła przy pomocy --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Błędna sekwencja wielobajtowa.\n"
-"Proszę podać poprawne kodowanie źródłowe przy pomocy --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Niekompletna długa sekwencja wielobajtowa.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Niekompletna sekwencja wielobajtowa na końcu pliku.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Niekompletna sekwencja wielobajtowa na końcu linii.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Nieprawidłowa sekwencja wielobajtowa.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: uwaga: niezakończona stała łańcuchowa RegExp"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: uwaga: %s nie jest dozwolone"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: uwaga: niezakończony element składniowy XML"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: nie można znaleźć końca napisu \"%s\" przez końcem pliku"
-
-#: src/x-perl.c:1043
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: brakujÄ…cy prawy nawias w \\x{LICZBA_SZESNASTKOWA}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: błędna interpolacja (\"\\l\") 8-bitowego znaku \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: błędna interpolacja (\"\\u\") 8-bitowego znaku \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: błędna interpolacja zmiennej w \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "„%s†nie jest prawidłową nazwą kodowania. W zastępstwie użyję ASCII.\n"
-#: src/x-perl.c:1230
+#: src/xgettext.c:648
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: błędna interpolacja (\"\\L\") 8-bitowego znaku \"%c\""
+msgid "syntax check '%s' unknown"
+msgstr "symbol „%s†nie rozpoznany przez sprawdzaniu składni"
-#: src/x-perl.c:1247
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: błędna interpolacja (\"\\U\") 8-bitowego znaku \"%c\""
+msgid "sentence end type '%s' unknown"
+msgstr "nieznany koniec zdania typu „%sâ€"
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Proszę podać kodowanie źródła przy pomocy --from-code albo przez komentarz\n"
-"wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Błędna sekwencja wielobajtowa.\n"
-"Proszę podać poprawne kodowanie źródłowe przy pomocy --from-code albo przez\n"
-"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Niekompletna długa sekwencja wielobajtowa.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
-"przez\n"
-"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:354
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Niekompletna sekwencja wielobajtowa na końcu pliku.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
-"przez\n"
-"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "--join-existing nie może być użyte przy pisaniu na standardowe wyjście"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Niekompletna sekwencja wielobajtowa na końcu linii.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
-"przez\n"
-"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext nie może działać bez podania słów kluczowych"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Nieprawidłowa sekwencja wielobajtowa.\n"
-"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
-"przez\n"
-"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Nieznane kodowanie \"%s\". Użyte będzie kodowanie ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: błędna definicja napisu"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: brakujÄ…ca liczba po #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: błędne wyrażenie napisowe"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: uwaga: składnia $\"...\" nie jest używana ze względu na "
-"bezpieczeństwo; użyj eval_gettext"
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: uwaga: niezakończona stała łańcuchowa wyrażenia regularnego"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "„%s†nie jest prawidłową nazwą kodowania. W zastępstwie użyję ASCII.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "--join-existing nie może być użyte przy pisaniu na standardowe wyjście"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext nie może działać bez podania słów kluczowych"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "uwaga: typ pliku „%s†z rozszerzeniem „%s†jest nieznany; spróbuję C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
"Wyciągnięcie przetłumaczalnych napisów z podanych plików wejściowych.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3976,24 +4016,24 @@ msgid ""
msgstr ""
" -d, --default-domain=NAZWA użycie NAZWA.po (nie messages.po) dla wyjścia\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=PLIK zapisanie wyniku do podanego pliku\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=KATALOG umieszczenie plików wyjściowych w KATALOGU\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Wybór języka pliku wejściowego:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4014,12 +4054,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ skrót dla --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4027,7 +4067,7 @@ msgid ""
msgstr ""
"Domyślnie język jest zgadywany na podstawie rozszerzenia pliku wejściowego.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4036,23 +4076,23 @@ msgstr ""
" --from-code=NAZWA kodowanie plików wejściowych\n"
" (oprócz Pythona, Tcl-a, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Domyślnie zakłada się, że pliki wejściowe są w ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing dołączenie komunikatów do istniejącego pliku\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=PLIK.po pominięcie wpisów z PLIKU.po\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4072,17 +4112,42 @@ msgstr ""
"kluczowym)\n"
" w pliku wyjściowym\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NAZWA sprawdzenie składni komunikatów\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode - wielokropki Unicode,\n"
+" sekwencje spacja-wielokropek, cudzysłowy\n"
+" Unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYP typ końca zdania (domyślnie: single-space -\n"
+" pojedynczy odstęp albo double-space - "
+"podwójny\n"
+" odstęp)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Opcje specyficzne dla języka:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all wyciągnięcie wszystkich napisów\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4097,7 +4162,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4112,7 +4177,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4123,7 +4188,7 @@ msgstr ""
"numer\n"
" ARG sÅ‚owa kluczowego SÅOWO\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4138,38 +4203,38 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs przetwarzanie na wejściu trójznaków ANSI C\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (tylko języki C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt rozpoznawanie napisów w formacie Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (tylko język C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde rozpoznawanie napisów w formacie KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost rozpoznawanie napisów w formacie Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4177,18 +4242,29 @@ msgstr ""
" --debug więcej szczegółów o rozpoznawaniu formatów\n"
" napisów\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output zapisanie pliku .properties Javy\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=PLIK odczytanie listy plików wejściowych z PLIKU\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent zapisanie pliku w stylu z wcięciami\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=NAPIS wypisanie właściciela praw autorskich\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4197,24 +4273,24 @@ msgstr ""
"dla\n"
" zewnętrznych projektów\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAKIET podanie nazwy PAKIETU na wyjściu\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=WERSJA podanie na wyjściu WERSJI pakietu\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=ADRES@EMAIL adres do zgłaszania błędów w msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4224,7 +4300,7 @@ msgstr ""
" -m[NAPIS], --msgstr-prefix[=NAPIS] użycie NAPISU lub \"\" jako\n"
" przedrostka wpisów msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4235,7 +4311,7 @@ msgstr ""
"przyrostka\n"
" wpisów msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4243,31 +4319,31 @@ msgid ""
msgstr ""
"Argument opcji --flag nie ma składni <keyword>:<argnum>:[pass-]<flag>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standardowe wejście"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Znak nie-ASCII w %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Komentarz ze znakami nie-ASCII przy albo przez %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Napis nie-ASCII przy %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: uwaga: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4276,7 +4352,7 @@ msgstr ""
"Chociaż %s jest użyte w formacie położenia napisu, %s nie jest prawidłowym "
"formatem. Powód: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4285,7 +4361,7 @@ msgstr ""
"%s nie jest prawidłowym formatem napisu %s, mimo że jest tak zadeklarowany. "
"Powód: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4299,7 +4375,7 @@ msgstr ""
"Rozważ użycie formatu z nazwami argumentów i mapowania zamiast\n"
"zestawu argumentów.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4309,27 +4385,27 @@ msgstr ""
"gettext(\"\") zwraca wpis nagłówka z meta-informacjami,\n"
"a nie pusty napis.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "niejednoznaczna specyfikacja argumentu sÅ‚owa kluczowego „%.*sâ€"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "uwaga: brak kontekstu sÅ‚owa kluczowego „%.*sâ€"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "uwaga: brak kontekstu dla mnogiego argumentu sÅ‚owa kluczowego „%.*sâ€"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "pomieszanie kontekstów między formą pojedynczą i mnogą"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4341,11 +4417,353 @@ msgstr ""
"zmiennÄ… MSGID_BUGS_ADDRESS; w przeciwnym wypadku proszÄ™\n"
"podać opcję --msgid-bugs-address z linii poleceń.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "nieznany jÄ™zyk „%sâ€"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: uwaga: niezakończony napis U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Proszę podać kodowanie źródła przy pomocy --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Błędna sekwencja wielobajtowa.\n"
+"Proszę podać poprawne kodowanie źródłowe przy pomocy --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Niekompletna długa sekwencja wielobajtowa.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Niekompletna sekwencja wielobajtowa na końcu pliku.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Niekompletna sekwencja wielobajtowa na końcu linii.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Nieprawidłowa sekwencja wielobajtowa.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: uwaga: niezakończona stała łańcuchowa RegExp"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: uwaga: %s nie jest dozwolone"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: uwaga: niezakończony element składniowy XML"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: nie można znaleźć końca napisu \"%s\" przez końcem pliku"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: brakujÄ…cy prawy nawias w \\x{LICZBA_SZESNASTKOWA}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: błędna interpolacja (\"\\l\") 8-bitowego znaku \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: błędna interpolacja (\"\\u\") 8-bitowego znaku \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: błędna interpolacja zmiennej w \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: błędna interpolacja (\"\\L\") 8-bitowego znaku \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: błędna interpolacja (\"\\U\") 8-bitowego znaku \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Proszę podać kodowanie źródła przy pomocy --from-code albo przez komentarz\n"
+"wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Błędna sekwencja wielobajtowa.\n"
+"Proszę podać poprawne kodowanie źródłowe przy pomocy --from-code albo przez\n"
+"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Niekompletna długa sekwencja wielobajtowa.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
+"przez\n"
+"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Niekompletna sekwencja wielobajtowa na końcu pliku.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
+"przez\n"
+"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Niekompletna sekwencja wielobajtowa na końcu linii.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
+"przez\n"
+"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Nieprawidłowa sekwencja wielobajtowa.\n"
+"Proszę podać prawidłowe kodowanie źródłowe przy pomocy --from-code albo "
+"przez\n"
+"komentarz wg specyfikacji w http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Nieznane kodowanie \"%s\". Użyte będzie kodowanie ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: błędna definicja napisu"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: brakujÄ…ca liczba po #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: błędne wyrażenie napisowe"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: uwaga: składnia $\"...\" nie jest używana ze względu na "
+"bezpieczeństwo; użyj eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: uwaga: niezakończona stała łańcuchowa wyrażenia regularnego"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<nienazwany>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "błędna sekwencja sterująca"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "niepoprawna nazwa klasy Javy: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "niepoprawna nazwa klasy Javy: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "błędna sekwencja sterująca"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "błędna endianness: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "błędny argument %s opcji %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "brak nazwy filtru"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Brakuje kontekstu dla Å‚aÅ„cucha znaków wydobytego z elementu „%sâ€"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Język \"glade\" nie jest obsługiwany. %s polega na expat.\n"
+#~ "Ta wersja została skompilowana bez expat.\n"
diff --git a/gettext-tools/po/pt.gmo b/gettext-tools/po/pt.gmo
index b117937..2b45079 100644
--- a/gettext-tools/po/pt.gmo
+++ b/gettext-tools/po/pt.gmo
Binary files differ
diff --git a/gettext-tools/po/pt.po b/gettext-tools/po/pt.po
index bea5221..f587109 100644
--- a/gettext-tools/po/pt.po
+++ b/gettext-tools/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext 0.10.23\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 1996-09-18 20:51 WET DST\n"
"Last-Translator: Nuno Oliveira <nuno@eq.uc.pt>\n"
"Language-Team: Portuguese <pt@li.org>\n"
@@ -53,40 +53,40 @@ msgstr ""
msgid "write error"
msgstr ""
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "erro durante a abertura de \"%s\" para leitura"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr ""
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "erro durante a leitura de \"%s\""
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "erro durante a escrita do ficheiro \"%s\""
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "erro durante a leitura de \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr ""
@@ -112,58 +112,63 @@ msgstr "Erro desconhecido do sistema"
msgid "%s subprocess failed"
msgstr ""
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: a opção `%s' é ambígua\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a opção `%s' é ambígua\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: a opção `--%s' não permite um argumento\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: a opção `%c%s' não permite um argumento\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: a opção `%s' requere um argumento\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opção não reconhecida `--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opção não reconhecida `%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opção ilegal -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opção requere um argumento -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: a opção `%s' é ambígua\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opção `--%s' não permite um argumento\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: a opção `%s' requere um argumento\n"
@@ -179,15 +184,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr ""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "erro durante a escrita do ficheiro \"%s\""
@@ -202,15 +208,15 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, fuzzy, c-format
msgid "memory exhausted"
msgstr "memória exausta"
@@ -221,7 +227,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr ""
@@ -267,11 +273,11 @@ msgstr ""
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -307,107 +313,243 @@ msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "erro durante a abertura de \"%s\" para leitura"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Tente `%s --help' para mais informação\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr ""
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr ""
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr ""
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr ""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "erro durante a abertura de \"%s\" para leitura"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, fuzzy, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
"specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
msgstr ""
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "o número de especificações em `msgid' e `msgstr' é diferente"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr ""
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr ""
@@ -515,61 +657,80 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr ""
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr ""
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, fuzzy, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "erro durante a leitura de \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -577,7 +738,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -588,239 +749,207 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr ""
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, fuzzy, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "as especificações do argumento %u são diferentes"
+#: src/format-python-brace.c:138
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr ""
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr ""
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "as especificações do argumento %u são diferentes"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr ""
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr ""
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr ""
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr ""
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr ""
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Tente `%s --help' para mais informação\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr ""
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr ""
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -828,283 +957,310 @@ msgid ""
" name, and aliases\n"
msgstr ""
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr ""
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
msgstr ""
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
msgstr ""
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
msgstr ""
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr ""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr ""
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "impossível criar o ficheiro de saída \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr ""
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s e %s são mutuamente exclusivas"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr ""
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, fuzzy, c-format
msgid "Input file location:\n"
msgstr "nenhum ficheiro de entrada fornecido"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr ""
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr ""
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr ""
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr ""
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr ""
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
msgstr ""
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr ""
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr ""
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
"syntax\n"
msgstr ""
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr ""
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1113,118 +1269,118 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr ""
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr ""
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1238,97 +1394,97 @@ msgid ""
"to define them.\n"
msgstr ""
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
" definitions, defaults to infinite if not set\n"
msgstr ""
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 0 if not set\n"
msgstr ""
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
" that only unique messages be printed\n"
msgstr ""
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
" syntax\n"
msgstr ""
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
" message, don't merge several translations\n"
msgstr ""
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "ficheiros de entrada não fornecidos"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "são necessários exactamente 2 ficheiros"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr ""
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, fuzzy, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1355,86 +1511,86 @@ msgstr ""
"é usado um emparelhamento aproximado para produzir melhores\n"
"diagnósticos.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr ""
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr ""
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr ""
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "atenção: esta mensagem não é usada"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "esta mensagem é usada mas não definida..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...mas esta definição é semelhante"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "esta mensagem é usada mas não definida em %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "atenção: esta mensagem não é usada"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, fuzzy, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "encontrados %d erros fatais"
msgstr[1] "encontrados %d erros fatais"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr ""
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1447,74 +1603,74 @@ msgid ""
"cumulated.\n"
msgstr ""
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
" definitions, defaults to 1 if not set\n"
msgstr ""
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr ""
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "nenhum ficheiro de entrada fornecido"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, fuzzy, c-format
msgid "exactly one input file required"
msgstr "são necessários exactamente 2 ficheiros"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr ""
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1523,22 +1679,22 @@ msgid ""
"identical to the msgid.\n"
msgstr ""
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr ""
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr ""
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1548,62 +1704,84 @@ msgid ""
"across all invocations.\n"
msgstr ""
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr ""
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "entrada standard"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr ""
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, fuzzy, c-format
msgid "missing filter name"
msgstr "argumentos insuficientes"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr ""
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr ""
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr ""
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr ""
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1611,226 +1789,234 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr ""
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr ""
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr ""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr ""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s e %s são mutuamente exclusivas"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr ""
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr ""
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "impossível criar o ficheiro de saída \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, fuzzy, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d mensagens traduzidas"
msgstr[1] "%d mensagens traduzidas"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, fuzzy, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d traduções aproximadas"
msgstr[1] ", %d traduções aproximadas"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, fuzzy, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d mensagens não traduzidas"
msgstr[1] ", %d mensagens não traduzidas"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr ""
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr ""
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
"higher)\n"
msgstr ""
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr ""
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr ""
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr ""
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr ""
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1839,65 +2025,65 @@ msgid ""
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr ""
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr ""
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1905,12 +2091,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr ""
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1918,33 +2119,33 @@ msgid ""
"domain\n"
msgstr ""
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr ""
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
" and the --output-file option\n"
msgstr ""
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
"msgfmt\n"
msgstr ""
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -1952,18 +2153,18 @@ msgid ""
" menu items\n"
msgstr ""
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -1972,111 +2173,110 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr ""
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr ""
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "nome de domínio \"%s\" não apropriado como nome de ficheiro"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"nome de domínio \"%s\" não apropriado como nome de ficheiro:\n"
"prefixo usado"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "directiva `domínio %s' ignorada"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "elemento `msgstr' vazio ignorada"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "elemento `msgstr' vazio ignorada"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, fuzzy, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "erro durante a leitura de \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr ""
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2116,18 +2316,18 @@ msgid ""
" selection criterion\n"
msgstr ""
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr ""
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr ""
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2212,14 +2412,14 @@ msgid ""
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2231,54 +2431,54 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr ""
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr ""
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr ""
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
"Converting the output to UTF-8.\n"
msgstr ""
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2287,7 +2487,7 @@ msgid ""
"To select a different output encoding, use the --to-code option.\n"
msgstr ""
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2296,7 +2496,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2305,12 +2505,12 @@ msgid ""
"Possible workarounds are:\n"
msgstr ""
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr ""
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2318,7 +2518,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2327,7 +2527,7 @@ msgid ""
" then convert back to %s using 'msgconv'.\n"
msgstr ""
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2335,180 +2535,196 @@ msgid ""
"A possible workaround is to set LC_ALL=C.\n"
msgstr ""
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr ""
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr ""
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr ""
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr ""
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr ""
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "alguns campos do cabeçalho ainda têm o valor inicial por defeito"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "o campo `%s' falta no cabeçalho"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "erro durante a abertura de \"%s\" para leitura"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr ""
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr ""
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr ""
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr ""
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, fuzzy, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2535,51 +2751,51 @@ msgstr ""
"resultados serão escritos no canal de saída por defeito (stdout) a\n"
"menos que seja especificado um ficheiro de saída.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr ""
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr ""
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr ""
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr ""
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2591,7 +2807,7 @@ msgid ""
" simple, never always make simple backups\n"
msgstr ""
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2599,28 +2815,28 @@ msgid ""
"environment variable.\n"
msgstr ""
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr ""
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, fuzzy, c-format
msgid "this message should define plural forms"
msgstr "esta mensagem é usada mas não definida em %s"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, fuzzy, c-format
msgid "this message should not define plural forms"
msgstr "esta mensagem é usada mas não definida em %s"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, fuzzy, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2629,63 +2845,63 @@ msgstr ""
"%sLidas %d antigas + %d referências, combinadas %d, aproximadas %d, faltam "
"%d, obsoletas %d.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr "terminado.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, fuzzy, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s e %s são mutuamente exclusivas"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr ""
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr ""
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr ""
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2693,41 +2909,41 @@ msgid ""
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr ""
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr ""
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2740,19 +2956,19 @@ msgid ""
"will be cumulated. When using the --unique option, duplicates are discarded.\n"
msgstr ""
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr ""
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr ""
@@ -2798,32 +3014,32 @@ msgid ""
"Message conversion to user's charset will not work.\n"
msgstr ""
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr ""
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "falta a secção `msgstr'"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "falta a secção `msgstr'"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "falta a secção `msgstr'"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr ""
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr ""
@@ -2833,7 +3049,7 @@ msgstr ""
msgid "too many errors, aborting"
msgstr "demasiados erros, interrompendo"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr ""
@@ -2877,64 +3093,81 @@ msgstr "fim-de-linha dentro da cadeia"
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "este ficheiro não pode conter directivas de domínio"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "definição de mensagem duplicada"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "este é o local da primeira definição"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr ""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr ""
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, fuzzy, c-format
msgid "file \"%s\" is truncated"
msgstr "ficheiro \"%s\"truncado"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, fuzzy, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "o ficheiro \"%s\" não está no formato .mo GNU"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "o ficheiro \"%s\" não está no formato .mo GNU"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr ""
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr ""
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr ""
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr ""
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr ""
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr ""
@@ -2943,116 +3176,116 @@ msgstr ""
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "erro durante a abertura de \"%s\" para leitura"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, fuzzy, c-format
msgid "expected two arguments"
msgstr "demasiados argumentos"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr ""
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr ""
-#: src/urlget.c:228
+#: src/urlget.c:229
#, fuzzy, c-format
msgid "error reading \"%s\""
msgstr "erro durante a leitura de \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, fuzzy, c-format
msgid "error writing stdout"
msgstr "erro durante a escrita do ficheiro \"%s\""
-#: src/urlget.c:238
+#: src/urlget.c:239
#, fuzzy, c-format
msgid "error after reading \"%s\""
msgstr "erro durante a leitura de \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr ""
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
"of a properties file."
msgstr ""
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr ""
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "impossível criar o ficheiro de saída \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "canal de saída por defeito (stdout)"
@@ -3071,31 +3304,32 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr ""
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "erro durante a abertura de \"%s\" para escrita"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr ""
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "erro durante a abertura de \"%s\" para escrita"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr ""
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3103,7 +3337,7 @@ msgstr ""
"as mensagens de internacionalização não devem conter\n"
"a sequência de escape `\\%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3112,7 +3346,7 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3121,13 +3355,13 @@ msgid ""
"%s\n"
msgstr ""
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3135,378 +3369,205 @@ msgid ""
"strings, not in the context strings\n"
msgstr ""
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
"strings, not in the untranslated strings\n"
msgstr ""
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "erro durante a escrita do ficheiro \"%s\""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr ""
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr ""
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr ""
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr ""
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "cuidado: nenhum elemento encontrado no cabeçalho"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr ""
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr ""
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr ""
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr ""
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr ""
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
"Please specify the correct source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr ""
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
"Please specify the source encoding through --from-code.\n"
msgstr ""
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr ""
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr ""
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr ""
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr ""
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr ""
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "atenção: esta mensagem não é usada"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr ""
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
-
-#: src/x-perl.c:1163
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-#: src/x-perl.c:1217
-#, fuzzy, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: opção ilegal -- %c\n"
-
-#: src/x-perl.c:1230
+#: src/xgettext.c:648
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgid "syntax check '%s' unknown"
msgstr ""
-#: src/x-perl.c:1247
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"--join-existing não pode ser usada quando a saída\n"
+"é escrita no stdout"
-#: src/x-python.c:354
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/x-python.c:364
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-python.c:397
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr ""
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr ""
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr ""
-
-#: src/x-sh.c:1075
-#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr ""
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing não pode ser usada quando a saída\n"
-"é escrita no stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr ""
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"cuidado: o tipo do ficheiro `%s' com a extensão `%s' é desconhecido;\n"
"será tentado C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr ""
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, fuzzy, c-format
msgid "Choice of input file language:\n"
msgstr "nenhum ficheiro de entrada fornecido"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3519,41 +3580,41 @@ msgid ""
" JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr ""
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr ""
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
" (except for Python, Tcl, Glade)\n"
msgstr ""
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3563,17 +3624,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr ""
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr ""
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3583,7 +3660,7 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3593,7 +3670,7 @@ msgid ""
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3601,7 +3678,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3611,75 +3688,85 @@ msgid ""
" Lua, JavaScript, Vala)\n"
msgstr ""
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr ""
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr ""
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr ""
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr ""
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3687,7 +3774,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3695,52 +3782,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "entrada standard"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr ""
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr ""
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3749,34 +3836,34 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -3784,15 +3871,309 @@ msgid ""
"specify an --msgid-bugs-address command line option.\n"
msgstr ""
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr ""
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr ""
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr ""
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "atenção: esta mensagem não é usada"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr ""
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr ""
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1217
+#, fuzzy, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s: opção ilegal -- %c\n"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr ""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr ""
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr ""
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr ""
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr ""
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr ""
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr ""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr ""
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opção ilegal -- %c\n"
diff --git a/gettext-tools/po/pt_BR.gmo b/gettext-tools/po/pt_BR.gmo
index 910f95c..5116a36 100644
--- a/gettext-tools/po/pt_BR.gmo
+++ b/gettext-tools/po/pt_BR.gmo
Binary files differ
diff --git a/gettext-tools/po/pt_BR.po b/gettext-tools/po/pt_BR.po
index 4a68ad0..2859f50 100644
--- a/gettext-tools/po/pt_BR.po
+++ b/gettext-tools/po/pt_BR.po
@@ -1,25 +1,25 @@
# Brazilian Portuguese translation of the gettext messages
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Sandro Nunes Henrique <sandro@conectiva.com.br>, 1998
# Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>, 2000
# Flávio Bruno Leitner <flavio@conectiva.com.br>, 2001.
-# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
+# Rafael Fontenelle <rffontenelle@gmail.com>, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.3\n"
+"Project-Id-Version: gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-17 16:44-0300\n"
-"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 10:08-0200\n"
+"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.9\n"
+"X-Generator: Poedit 1.8.6\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: gnulib-lib/argmatch.c:133
@@ -61,40 +61,40 @@ msgstr "não foi possível remover diretório temporário %s"
msgid "write error"
msgstr "erro de escrita"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "preservando permissões para %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "erro ao abrir %s para leitura"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "não foi possível abrir arquivo backup %s para gravação"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "erro ao ler %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "erro ao escrever %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "erro após leitura de %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() falhou"
@@ -120,58 +120,63 @@ msgstr "Erro de sistema desconhecido"
msgid "%s subprocess failed"
msgstr "subprocesso de %s falhou"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: opção \"%s\" é ambígua; possibilidades:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opção \"%s\" é ambígua\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opção \"--%s\" não aceita um argumento\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opção \"%c%s\" não aceita um argumento\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: opção \"%s\" requer um argumento\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opção não reconhecida \"--%s\"\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opção não reconhecida \"%c%s\"\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opção inválida -- \"%c\"\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opção requer um argumento -- \"%c\"\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opção \"-W %s\" é ambígua\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opção \"-W %s\" não aceita um argumento\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: opção \"-W %s\" requer um argumento\n"
@@ -187,15 +192,16 @@ msgstr "argumento source_version inválido para compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "argumento target_version inválido para compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "falha ao criar \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "erro ao gravar o arquivo \"%s\""
@@ -212,15 +218,15 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"máquina virtual Java não encontrada, tente instalar gij ou definir $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "erro de E/S no subprocesso de %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memória insuficiente"
@@ -231,7 +237,7 @@ msgid "creation of threads failed"
msgstr "criação de fluxos falhou"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "escrita para subprocesso %s falhou"
@@ -277,11 +283,11 @@ msgstr "subprocesso de %s terminado com código de saída %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "\""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "\""
@@ -317,24 +323,165 @@ msgstr "subprocesso de %s"
msgid "%s subprocess got fatal signal %d"
msgstr "subprocesso de %s recebeu o sinal fatal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "erro ao abrir \"%s\" para leitura"
+msgid "The root element must be <%s>"
+msgstr "O elemento raiz deve ser <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "O elemento raiz <%s> não contém um elemento <%s> válido"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "O elemento raiz <%s> não possui o atributo <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Tente \"%s --help\" para mais informações.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Uso: %s [OPÇÃO] [ARQUIVO...] [REGRAS DE LOCALE]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"\"%s\" não é um formato de string %s válido, ao contrário de \"%s\". Motivo: "
-"%s"
+"Extrai ou converte regras plurais de CLDR Unicode.\n"
+"\n"
+"Se tanto LOCALE e REGRAS forem especificados, ele lê regras de plurais CLDR\n"
+"para LOCALE de REGRAS e exibe-as em um formato adequado para uso de gettext.\n"
+"Se nenhum argumento for fornecido, ele lê as regras de plural CLDR da\n"
+"entrada padrão.\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Argumentos obrigatórios para opções longas também são para as curtas.\n"
+"Da mesma forma para argumentos opcionais.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr mostra regras de plural no formato CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help exibe essa ajuda e sai\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version exibe a informação da versão e sai\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Relate erros para <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl.html>\n"
+"Este é um software livre: você é livre para alterar e redistribui-lo.\n"
+"NÃO Hà GARANTIA, à extensão permitida pela lei.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Escrito por %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s não pode ser lido"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "não foi possível extrair regras para %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "não foi possível analisar regra CLDR"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "operando extra %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "erro ao abrir \"%s\" para leitura"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -342,32 +489,40 @@ msgstr ""
"uma especificação de formato para o argumento %u, como em \"%s\", não existe "
"em \"%s\""
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "uma especificação de formato para o argumento %u não existe em \"%s\""
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"especificações de formato em \"%s\" e \"%s\", para argumento %u, não são o "
"mesmo"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "A diretiva número %u inicia com |, mas não termina com |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"\"%s\" não é um formato de string %s válido, ao contrário de \"%s\". Motivo: "
+"%s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -377,43 +532,43 @@ msgstr ""
"especificadora de formato. Os nomes de macro válidos são listados na ISO C "
"99 seção 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "Na diretiva número %u, o token após \"<\" não está seguido por \">\"."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"A string refere-se ao argumento número %u, mas ignora o argumento número %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "número de especificações de formato em \"%s\" e \"%s\" não conferem"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"Na diretiva número %u, \"{\" não está seguido por um número de argumento."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Na diretiva número %u, \",\" não está seguido por um número."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"A string termina no meio de uma diretriz: encontrado \"{\" sem a \"}\" "
"correspondente."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -421,13 +576,13 @@ msgstr ""
"A diretiva número %u termina com um caractere inválido \"%c\" ao invés de "
"\"}\"."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"A diretiva número %u termina com um caractere inválido ao invés de \"}\"."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -435,7 +590,7 @@ msgstr ""
"A string inicia no meio de uma diretiva: encontrado \"}\" sem \"{\" "
"correspondente."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "A string contém \"}\" sozinho após diretiva de número %u."
@@ -559,7 +714,7 @@ msgid "The string refers to argument number %u in incompatible ways."
msgstr ""
"A string faz referência ao argumento de número %u de formas incompatíveis."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -568,12 +723,12 @@ msgstr ""
"Na diretiva de número %u, a sub-string \"%s\" não é um estilo de data/hora "
"válido."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Na diretiva número %u, \"%s\" não está seguido por uma vírgula."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
@@ -581,7 +736,7 @@ msgstr ""
"Na diretiva de número %u, a sub-string \"%s\" não é um estilo de número "
"válido."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -590,12 +745,12 @@ msgstr ""
"Na diretiva de número %u, o argumento de número não é seguido por uma "
"vírgula e um de \"%s\", \"%s\", \"%s\" e \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Na diretiva de número %u, uma escolha contém nenhum número."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -604,7 +759,7 @@ msgstr ""
"Na diretiva de número %u, uma escolha contém um número que não é seguido por "
"\"<\", \"#\" ou \"%s\"."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -612,13 +767,13 @@ msgstr ""
"uma especificação de formato para o argumento {%u}, como em \"%s\", não "
"existe em \"%s\""
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr ""
"uma especificação de formato para o argumento {%u} não existe em \"%s\""
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -626,7 +781,29 @@ msgstr ""
"especificações de formato em \"%s\" e \"%s\", para argumento {%u}, não são o "
"mesmo"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"A string refere-se ao argumento número %u, mas ignora o argumentos %u e %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"uma especificação de formato para argumentos %u e %u não existem em \"%s\", "
+"apenas um argumento pode ser ignorado"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "erro na análise: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -636,7 +813,7 @@ msgstr ""
"Na diretiva de número %u, parâmetro %u é do tipo \"%s\", mas um parâmetro do "
"tipo \"%s\" é esperado."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -651,33 +828,33 @@ msgstr[1] ""
"Na diretiva de número %u, parâmetros demais foram passados; esperava no "
"máximo %u parâmetros."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Na diretiva número %u, \"%c\" não está seguido por um dígito."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Na diretiva número %u, o argumento %d é negativo."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "A string termina no meio de uma diretiva ~/.../ ."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Encontrado \"~%c\" sem \"~%c\" correspondente."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "Na diretiva de número %u, os modificadores @ e : foram passados."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -686,27 +863,34 @@ msgstr ""
"Na diretiva de número %u, \"~:[\" não é seguido por duas cláusulas, "
"separadas por \"~;\"."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "Na diretiva de número %u, \"~;\" é usado em uma posição inválida."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "A string faz referência a alguns argumentos em formas incompatíveis."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "especificações de formato em \"%s\" e \"%s\" não são equivalentes"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"especificações de formato em \"%s\" não são um subconjunto deles em \"%s\""
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr ""
+"uma especificação de formato para o argumento \"%s\" não existe em \"%s\""
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -715,15 +899,35 @@ msgstr ""
"Na diretiva de número %u, a especificação do tamanho é incompatível com a "
"especificação da conversão \"%c\"."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Na diretiva número %u, \"%c\" não pode iniciar um nome de campo."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "Na diretiva número %u, \"%c\" não pode iniciar um argumento getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Na diretiva número %u, \"%c\" não pode iniciar um argumento getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
msgstr ""
-"uma especificação de formato para o argumento \"%s\" não existe em \"%s\""
+"Na diretiva de número %u, não é mais permitido empilhamento em um "
+"especificador de formato."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Na diretiva número %u, há uma diretiva de formato não terminado."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -731,13 +935,13 @@ msgstr ""
"A string faz referência a argumentos de tanto nomes de argumentos quanto "
"especificações de argumentos sem nome."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"A string faz referência ao argumento chamado \"%s\" em formas incompatíveis."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -745,7 +949,7 @@ msgstr ""
"especificações de formatos em \"%s\" esperam um mapeamento, enquanto aqueles "
"em \"%s\" esperam uma tupla"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -753,7 +957,7 @@ msgstr ""
"especificações de formatos em \"%s\" esperam um tupla, enquanto aqueles em "
"\"%s\" esperam um mapeamento"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -761,7 +965,7 @@ msgstr ""
"uma especificação de formato para o argumento \"%s\", como em \"%s\", não "
"existe em \"%s\""
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -769,35 +973,7 @@ msgstr ""
"especificações de formato em \"%s\" e \"%s\" para o argumento \"%s\" não são "
"o mesmo"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Na diretiva número %u, \"%c\" não pode iniciar um nome de campo."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "Na diretiva número %u, \"%c\" não pode iniciar um argumento getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Na diretiva número %u, \"%c\" não pode iniciar um argumento getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"Na diretiva de número %u, não é mais permitido empilhamento em um "
-"especificador de formato."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Na diretiva número %u, há uma diretiva de formato não terminado."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -806,11 +982,11 @@ msgstr ""
"\"%s\" é um formato de string simples, mas \"%s\" não é: ele contém uma flag "
"\"L\" ou um número de argumento de dois dígitos"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "A string faz referência a uma variável shell com um nome não ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -818,7 +994,7 @@ msgstr ""
"A string faz referência a uma variável shell com sintaxe com braçadeiras de "
"shell complexas. Não há suporte a esta sintaxe devido a motivos de segurança."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -826,11 +1002,11 @@ msgstr ""
"A string faz referência a uma variável shell cujo valor pode ser diferente "
"dentro de funções shell."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "A string faz referência a uma variável shell com um nome vazio."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -838,7 +1014,7 @@ msgid ""
msgstr ""
"Na diretiva de número %u, o caractere \"%c\" não é um dígito entre 1 e 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -846,75 +1022,40 @@ msgid ""
msgstr ""
"O caractere que termina a diretiva de número %u não é um dígito entre 1 e 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl.html>\n"
-"Este é um software livre: você é livre para alterar e redistribui-lo.\n"
-"NÃO Hà GARANTIA, à extensão permitida pela lei.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Escrito por %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "excesso de argumentos"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Tente \"%s --help\" para mais informações.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Uso: %s [OPÇÃO]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Emite o nome da máquina.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Formato da saída:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short nome de máquina curto\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -924,77 +1065,103 @@ msgstr ""
" -f, --fqdn, --long nome de máquina longo, inclui fully qualified\n"
" domain e apelidos (aliases)\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address endereços para o nome da máquina\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Saída informativa:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help exibe essa ajuda e sai\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "não foi possível obter nome de máquina"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version exibe a informação da versão e sai\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "seletor não está especificado"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Relate erros para <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "não foi possível criar contexto XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "não foi possível obter nome de máquina"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "não foi possível avalisar expressão XPath: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "nó \"%s\" não contém \"%s\""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "valor de atributo invaÌlido \"%s\" para \"%s\""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "o elemento raiz não é \"rules\" sob espaço de nome %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "não foi possível ler %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "não foi possível avalisar camiho da localização XPath: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "não \"%s\" não possui \"%s\""
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "não foi possível ler o arquivo XML %s"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "o elemento raiz não é \"locatingRules\""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "no máximo um arquivo é permitido"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s e %s são mutuamente exclusivos"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Uso: %s [OPÇÃO] [ARQUIVO-ENTRADA]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -1003,33 +1170,33 @@ msgstr ""
"Filtra as mensagens de um catálogo de tradução de acordo com seus atributos\n"
"e manipula-os.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Argumentos obrigatórios para opções longas também o são para opções curtas.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Localização do arquivo de entrada:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " ARQUIVO-ENTRADA arquivo PO de entrada\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1037,33 +1204,34 @@ msgstr ""
" -D, --directory=DIRETÓRIO adiciona DIRETÓRIO à lista de arquivos de\n"
" entrada para pesquisar\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Se nenhum arquivo de entrada for passado ou se for -, a entrada padrão é "
"lida.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Localização do arquivo de saída:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=ARQUIVO escreve a saída para o arquivo especificado\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1073,12 +1241,12 @@ msgstr ""
"for\n"
"especificado ou se ele for -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Seleção de mensagem:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1086,7 +1254,7 @@ msgstr ""
" --translated mantém as traduzidas, remove as mensagens não\n"
" traduzidas\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1094,56 +1262,56 @@ msgstr ""
" --untranslated mantém as não traduzidas, remove as mensagens\n"
" traduzidas\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy remove as mensagens marcadas com \"fuzzy\"\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy mantém as mensagens marcadas com \"fuzzy\"\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete remove mensagens obsoletas (#~)\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete mantém mensagens obsoletas (#~)\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulação de atributo:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy define \"fuzzy\" em todas as mensagens\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy apaga \"fuzzy\" de todas as mensagens\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete define como obsoletas todas as mensagens\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete define como não obsoletas todas as mensagens\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1153,7 +1321,7 @@ msgstr ""
"anteriores\n"
" de mensagens traduzidas.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1162,7 +1330,7 @@ msgstr ""
" --clear-previous remove a \"previous msgid\" de todas as\n"
" mensagens\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1170,7 +1338,7 @@ msgstr ""
" --empty ao remover os \"fuzzy\", também esvazia a "
"msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1178,7 +1346,7 @@ msgstr ""
" --only-file=ARQUIVO.po manipula apenas entradas listadas no ARQUIVO."
"po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1187,28 +1355,28 @@ msgstr ""
" manipula apenas entradas não listadas no\n"
" ARQUIVO.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy sinônimo de --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete sinônimo de --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sintaxe do arquivo de entrada:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1216,8 +1384,8 @@ msgstr ""
" -P, --properties-input arquivo de entrada está em sintaxe de\n"
" .properties Java\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1226,17 +1394,17 @@ msgstr ""
" --stringtable-input arquivo de entrada está em sintaxe de\n"
" .strings de NeXTstep/GNUstep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Detalhes de entrada:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1252,9 +1420,9 @@ msgstr ""
"\" ou\n"
" \"html\".\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
@@ -1262,17 +1430,17 @@ msgstr ""
"para\n"
" --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr " -e, --no-escape não usa escapes de C na saída (padrão)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1280,30 +1448,30 @@ msgstr ""
" -E, --escape usa escapes de C na saída, nenhum caractere\n"
" estendido\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po escreve um arquivo PO mesmo se vazio\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent escreve o arquivo .po usando estilo com recuo\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location não escreve linhas \"#: nome-de-arquivo:linha"
"\"\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1311,8 +1479,8 @@ msgstr ""
" -n, --add-location gera linhas \"#: nome-de-arquivo:"
"linha' (padrão)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1320,16 +1488,16 @@ msgstr ""
" --strict escreve um arquivo .po em conformidade com\n"
" com Uniforum estrito\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output escreve em arquivo .properties de Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1337,16 +1505,16 @@ msgstr ""
" --stringtable-output escreve um arquivo .strings de NeXTstep/"
"GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NÚMERO define a largura da página de saída\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1358,32 +1526,32 @@ msgstr ""
"várias\n"
" linhas\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output gera uma saída ordenada\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file ordena a saída por localização de arquivos\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "critério de seleção especificado impossível (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Uso: %s [OPÇÃO] [ARQUIVO-ENTRADA]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1406,24 +1574,24 @@ msgstr ""
"--use-first for especificado, eles vão ser obtidos do primeiro arquivo PO para\n"
"defini-los.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " ARQUIVO-ENTRADA ... arquivos de entrada\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=ARQUIVO obtém lista de arquivos de entrada de ARQUIVO\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Se o arquivo de entrada for -, a entrada padrão é lida.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1432,7 +1600,7 @@ msgstr ""
" -<, --less-than=NÚMERO exibe mensagens com menos do que esse número\n"
" de definições; padrão é infinito\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1441,7 +1609,7 @@ msgstr ""
" ->, --more-than=NÚMERO exibe mensagens com mais do que estas várias\n"
" definições, sendo 0 se não for definida\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1450,8 +1618,8 @@ msgstr ""
" -u, --unique abreviação para --less-than=2, requer que\n"
" apenas mensagens únicas sejam exibidas\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1459,8 +1627,8 @@ msgstr ""
" -P, --properties-input arquivos de entrada estão em sintaxe \n"
" .properties do Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1469,12 +1637,12 @@ msgstr ""
" --stringtable-input arquivos de entrada estão em sintaxe .strings\n"
" do NeXTstep/GNUstep\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NOME codificação da saída\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1483,7 +1651,7 @@ msgstr ""
" --use-first usa a primeira tradução disponível para cada\n"
" mensagem, não mescla várias traduções\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1492,26 +1660,26 @@ msgstr ""
" cabeçalho\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "nenhum arquivo de entrada informado"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "são necessários 2 arquivos de entrada"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Uso: %s [OPÇÃO] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1529,22 +1697,22 @@ msgstr ""
"coincidência exata, é marcado como aproximada (fuzzy) para se ter melhor\n"
"diagnóstico.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po traduções\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot referências para as fontes\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificadores de operação:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1553,64 +1721,64 @@ msgstr ""
" -m, --multi-domain aplica ref.pot a cada um dos domínios em def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching não usa marcação de aproximada\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy considera entradas aproximadas\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated considera entradas não traduzidas\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "esta mensagem está não traduzida"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "esta mensagem precisa ser revisada pelo tradutor"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "esta mensagem é usada, mas não foi definida..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...mas esta definição é similar"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "esta mensagem é utilizada mas não definida em %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "atenção: esta mensagem não é utilizada"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "encontrado %d erro fatal"
msgstr[1] "encontrados %d erros fatais"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "pelo menos dois arquivos devem ser especificados"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1631,7 +1799,7 @@ msgstr ""
"do primeiro arquivo PO a defini-los. Posições de arquivos de todos\n"
"os arquivos PO serão cumulados.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1641,7 +1809,7 @@ msgstr ""
"várias\n"
" definições, sendo 1 se não for definida\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
@@ -1649,38 +1817,38 @@ msgstr ""
" --omit-header não escreve um cabeçalho com a entrada 'msgid"
"\"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Converte um catálogo de tradução para uma codificação de caracteres "
"diferente.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Alvo de conversão:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "A codificação padrão é a codificação do local atual.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent estilo de saída com recuo\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location suprime as linhas \"#: nome-de-arquivo:linha"
"\"\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1689,28 +1857,28 @@ msgstr ""
"\"\n"
" (padrão)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict estilo de saída Uniform estrito\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "nenhum arquivo de entrada fornecido"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "exatamente um arquivo de entrada é necessário"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Uso: %s [OPÇÃO] ARQUIVO-ENTRADA\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1722,22 +1890,22 @@ msgstr ""
"PO em inglês criado ou arquivo POT (geralmente criado por xgettext). Entradas\n"
"não traduzidas estão assinadas um tradução que é idêntica no msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " ARQUIVO-ENTRADA entrada de arquivo PO ou POT\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "faltando o nome do comando"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Uso: %s [OPÇÃO] COMANDO [OPÇÃO-DO-COMANDO]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1752,46 +1920,56 @@ msgstr ""
"saída do msgexec. O código de retorno do msgexec é o código de retorno\n"
"máximo de todas as chamadas.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
"null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
msgstr "Um comando especial embutido chamado \"0\" retorna a tradução, seguida por um byte nulo. A saída de \"msgexec 0\" serve como entrada para \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Entrada de comando:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline adiciona nova linha ao fina da entrada\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
" -i, --input=ARQUIVO-ENTRADA\n"
" arquivo PO de entrada\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "Escrita para a saída padrão falhou"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "faltando o nome do filtro"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "pelo menos um script sed deve ser especificado"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Uso: %s [OPÇÃO] FILTRO [OPÇÃO-DO-FILTRO]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Aplica um filtro em todas as traduções de um catálogo de tradução.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1800,12 +1978,26 @@ msgstr ""
"O FILTRO pode ser qualquer programa que lê uma tradução da entrada padrão\n"
"e escreve uma tradução modificada para a saída padrão.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Entrada e saída do filtro:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline adiciona uma nova linha ao final da entrada e\n"
+" remove uma nova linha do final da saída"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Lista de OPÇÃO-DE-FILTROs úteis para quando o FILTRO é \"sed\":\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
@@ -1813,7 +2005,7 @@ msgstr ""
" -e, --expression=SCRIPT adiciona SCRIPT aos comandos a serem "
"executados\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1824,7 +2016,7 @@ msgstr ""
" adiciona o conteúdo do ARQUIVO-SCRIPT aos\n"
" comandos a serem executados\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1832,18 +2024,18 @@ msgstr ""
" -n, --quiet, --silent suprime impressão automática do espaço de "
"padrão\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr " --no-escape não usa escapes de C na saída (padrão)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent estilo de saída com recuo\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1851,124 +2043,125 @@ msgstr ""
" --keep-header mantém mensagem de cabeçalho não modificada,\n"
" não a filtra\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "saída do filtro não terminado com uma nova linha"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "o argumento %s deveria ser um caractere singular de pontuação"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "extremidade inválida: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
"nenhum arquivo de entrada deveria ser passado se %s e %s forem especificadas."
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s requer especificação de um \"-d diretório\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s requer especificação de um \"-l local\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s requer especificação de um \"--template modelo\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s requer especificação de um \"-o arquivo\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s e %s são mutuamente exclusivos em %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s é válido apenas com %s ou %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s é válido apenas com %s, %s ou %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "não foi possível localizar regras ITS para %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d mensagem traduzida"
msgstr[1] "%d mensagens traduzidas"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d tradução aproximada (fuzzy)"
msgstr[1] ", %d traduções aproximadas (fuzzy)"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d mensagem não traduzida"
msgstr[1] ", %d mensagens não traduzidas"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Uso: %s [OPÇÕES] arquivo.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Gera um catálogo de mensagens binário a partir da descrição da tradução "
"textual.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Argumentos obrigatórios para opções longas também são para as curtas.\n"
-"Da mesma forma para argumentos opcionais.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " arquivo.po ... arquivos de entrada\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Modo de operação:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1977,7 +2170,7 @@ msgstr ""
" -j, --java modo Java: gera uma classe ResourceBundle de "
"Java\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1986,12 +2179,12 @@ msgstr ""
" --java2 semelhante a --java, e supõe Java2 (JDK 1.2 "
"+)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp modo C#: gera um arquivo .dll de .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -2000,47 +2193,52 @@ msgstr ""
" --csharp-resources modo de recursos C#: gera um arquivo ."
"resources de .NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl modo Tcl: gera um arquivo .msg de tcl/msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt modo Qt: gera um arquivo .qm de Qt\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr ""
" --desktop modo Desktop Entry: gera um arquivo .desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr "--xml modo XML: gera um arquivo XML\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict habilita modo Uniforum estrito\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Se o arquivo de saída for -, a saída é escrita na saída padrão.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Localização do arquivo de saída em modo Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RECURSO nome do recurso\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2049,7 +2247,7 @@ msgstr ""
" -l, --locale=LOCALIZAÇÃO nome da localização, podendo ser o idioma ou\n"
" também idioma_PAÃS\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2059,7 +2257,7 @@ msgstr ""
"arquivo\n"
" .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -2067,7 +2265,7 @@ msgstr ""
" -d DIRETÓRIO diretório base de hierarquia de diretório de\n"
" classes\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2079,12 +2277,12 @@ msgstr ""
"nome do recurso, separados por um sublinhado. A opção -d é obrigatória.\n"
"A classe é escrita sob o diretório especificado.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Localização do arquivo de saída em modo C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2093,7 +2291,7 @@ msgstr ""
" -d DIRETÓRIO diretório base para arquivos .dll dependentes\n"
" da localização\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2102,18 +2300,18 @@ msgstr ""
"As opções -l e -d são obrigatórias. O arquivo .dll é escrito em um\n"
"subdiretório do diretório especificado, cujo nome depende da localização.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Localização do arquivo de saída em modo Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRETÓRIO diretório base de catálogos de mensagens .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2122,23 +2320,23 @@ msgstr ""
"As opções -l e -d são obrigatórias. O arquivo .msg é escrito no\n"
"diretório especificado.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Opções de modo Desktop Entry:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-" --template=MODELEO um arquivo .desktop usado como um modelo\n"
+" --template=MODELO um arquivo .desktop usado como um modelo\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DIRETÓRIO diretório base de arquivos .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2149,7 +2347,7 @@ msgstr ""
" adicional\n"
" -k, --keyword não usa palavras-chaves padrões\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2160,12 +2358,27 @@ msgstr ""
"arquivos de entrada são lidos do diretório ao invés dos argumentos da linha\n"
"de comando.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Opções de modo XML:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=NOME reconhece a linguagem XML especificada\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=MODELO um arquivo XML usado como um modelo\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretação do arquivo de entrada:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2176,14 +2389,14 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format verifica strings de formato dependente da\n"
" localização\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2192,7 +2405,7 @@ msgstr ""
" --check-header verifica presença e conteúdo da mensagem\n"
" de cabeçalho\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2202,7 +2415,7 @@ msgstr ""
"domínios\n"
" e a opção --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2211,7 +2424,7 @@ msgstr ""
" -C, --check-compatibility verifica se o GNU msgfmt se comporta como\n"
" X/Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2222,12 +2435,12 @@ msgstr ""
" verifica a presença de aceleradores de\n"
" teclado para itens de menu\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy usa entradas aproximadas na saída\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2235,7 +2448,7 @@ msgstr ""
" -a, --alignment=NÚMERO alinha strings em NÚMERO bytes (padrão: %d)\n"
# big e little são as opções de ORDEM-DE-BYTES, portanto não traduza.
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2249,98 +2462,97 @@ msgstr ""
"plataforma)\n"
# "binary" de binário (compilado, .mo), e não de executável
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash arquivo binário não vai incluir a tabela hash\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics imprime estatísticas sobre traduções\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose aumenta o nível de detalhamento\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "aviso: cabeçalho do arquivo PO faltando ou inválido\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "aviso: conversão de codificação de caracteres não vai funcionar\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "aviso: cabeçalho de arquivo PO como tradução aproximada (fuzzy)\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "aviso: versões mais antigas do msgfmt vão dar um erro nisso\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "nome do domínio \"%s\" não é válido como nome de arquivo"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"nome do domínio \"%s\" não é válido como nome de arquivo: será usado um "
"prefixo"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "diretiva \"domain %s\" ignorada"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "mensagem \"msgstr\" vazia ignorada"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "mensagem \"msgstr\" aproximada (fuzzy) ignorada"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: aviso: arquivo fonte contém traduções aproximadas"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s não existe"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s existe, mas não pode ler"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "erro ao ler \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2349,7 +2561,7 @@ msgstr ""
"opção \"%c\" não pode ser usada antes de \"J\", \"K\", \"T\", \"C\" ou \"X"
"\" ser especificada"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2359,7 +2571,7 @@ msgstr ""
"padrão fornecido ou pertence a alguns dos arquivos fontes fornecidos.\n"
# Separei as frases (ou..ou...ou..) por ponto-e-vírgula denotando enumeração. Dadas as condições dessa string, penso ficar mais organizado assim - Rafael
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2440,7 +2652,7 @@ msgstr ""
" -v, --invert-match exibe apenas mensagens que não corresponderem\n"
" a qualquer critério de seleção\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2448,12 +2660,12 @@ msgstr ""
" --escape usa escapes de C na saída, nenhum caractere\n"
" estendido\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output gera uma saída ordenada\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2565,14 +2777,14 @@ msgstr ""
"Encontrado nenhum arquivo .pot no diretório atual.\n"
"Por favor, especifique o arquivo .pot de entrada por meio da opção --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "subprocesso de %s falhou com código de saída %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2587,26 +2799,26 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Traduções em português brasileiro para o pacote %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
"o conjunto de caracteres presente \"%s\" não é um nome de codificação "
"portável"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
"duas codificações de caracteres diferentes \"%s\" e \"%s\" no arquivo de "
"entrada"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2614,7 +2826,7 @@ msgstr ""
"arquivo de entrada \"%s\" não contém uma entrada de cabeçalho com uma "
"especificação de codificação de caracteres"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2623,20 +2835,20 @@ msgstr ""
"domínio \"%s\" no arquivo de entrada \"%s\" não contém uma entrada de "
"cabeçalho com uma especificação de conjunto de caracteres"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"o conjunto de caracteres alvo \"%s\" não é um nome de codificação portável."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "aviso: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2646,7 +2858,7 @@ msgstr ""
"junto.\n"
"Convertendo a saída para UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2659,7 +2871,7 @@ msgstr ""
"Convertendo a saída para UTF-8.\n"
"Para selecionar uma codificação diferente, use a opção --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2674,7 +2886,7 @@ msgstr ""
"estão codificadas em UTF-8 desde o começo, isto é, já em seus arquivos do\n"
"código fonte.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2687,12 +2899,12 @@ msgstr ""
"Saída de \"%s\" pode estar incorreta.\n"
"Soluções possíveis são:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Definir LC_ALL com uma localização com codificação %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2703,7 +2915,7 @@ msgstr ""
" aplicar \"%s\" e,\n"
" então, converter de volta para %s usando \"msgconv\".\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2716,7 +2928,7 @@ msgstr ""
" aplicar \"%s\" e,\n"
" então, converter de volta para %s usando \"msgconv\".\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2728,26 +2940,26 @@ msgstr ""
"Saída de \"%s\" pode estar incorreta.\n"
"Uma solução possível é definir LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "expressões de plural podem produzir valores negativos"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, mas uma expressão plural pode produzir valores tão grandes "
"quanto %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "expressão de plural pode produzir divisão por zero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "expressão de plural pode produzir sobrecarga de inteiro"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2755,51 +2967,51 @@ msgstr ""
"expressão de plural pode produzir exceções aritméticas, possivelmente "
"divisão por zero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Tente usar o seguinte, válido para %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "catálogo de mensagens possui traduções em forma de plural"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "mas o cabeçalho não possui um atributo \"plural=EXPRESSÃO\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "mas o cabeçalho não possui um atributo \"nplurals=INTEIRO\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "valor de nplurals inválido"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "valor de plural inválido"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "mas algumas mensagens possuem apenas uma forma de plural"
msgstr[1] "mas algumas mensagens possuem apenas %lu formas de plural"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "mas algumas mensagens possuem uma forma de plural"
msgstr[1] "mas algumas mensagens possuem %lu formas de plural"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2807,74 +3019,90 @@ msgstr ""
"catálogo de mensagens possui traduções em forma de plural, mas o cabeçalho "
"não possui \"Plural-Forms: nplurals=INTEIRO; plural=EXPRESSÃO;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "\"msgid\" e \"msgid_plural\" não começam com \"\\n\"'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "\"msgid\" e \"msgstr[%u]\" não começam com \"\\n\"'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "\"msgid\" e \"msgstr\" não começa com \"\\n\"'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "\"msgid\" e \"msgid_plural\" não terminam com \"\\n\"'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "\"msgid\" e \"msgstr[%u]\" não terminam com \"\\n\"'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "\"msgid\" e \"msgstr\" não terminam com \"\\n\"'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "manipulação de plural é uma extensão do GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr não possui a marca de acelerador de teclado \"%c\""
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr possui marcas de aceleradores de teclado \"%c\" demais"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "campo de cabeçalho \"%s\" ainda possui o valor inicial padrão\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "campo de cabeçalho \"%s\" faltando no cabeçalho\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "elipse ASCII (\"...\") ao invés de Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "espaço antes de elipse encontrado nas strings visíveis de usuário"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "Aspas duplas ASCII usadas ao invés de Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "Aspa simples ASCII usada ao invés de Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: entrada não é válida na codificação \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: erro ao converter da codificação \"%s\" para \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"arquivo de entrada não contém uma entrada cabeçalho com uma especificação de "
"codificação de caracteres"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2883,7 +3111,7 @@ msgstr ""
"Não foi possível converter de \"%s\" para \"%s\". %s depende do iconv(),mas "
"iconv() não tem suporte a esta conversão."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2892,8 +3120,8 @@ msgstr ""
"Conversão de \"%s\" para \"%s\" introduz duplicatas: algumas msgids "
"diferentes ficaram equal."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2902,16 +3130,16 @@ msgstr ""
"Não foi possível converter de \"%s\" para \"%s\". %s depende do iconv(). "
"Esta versão foi compilada sem iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s é válida apenas com %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "tipo de cópia de segurança"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2934,17 +3162,17 @@ msgstr ""
"de arquivos serão preservados. Onde não se encontrar uma coincidência exata, é\n"
"marcado como aproximada (fuzzy) para se ter melhores resultados.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po traduções referindo a fontes antigas\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot referências a fontes novas\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2954,7 +3182,7 @@ msgstr ""
"mensagens\n"
" pode ser especificada mais de uma vez\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2963,27 +3191,27 @@ msgstr ""
" -U, --update atualiza def.po,\n"
" faz nada se def.po estiver atualizado\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Localização de arquivo de saída no modo de atualização:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "O resultado é escrito de volta no def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROLE faz um backup do def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFIXO sobrescreve o sufixo padrão do backup\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -3002,7 +3230,7 @@ msgstr ""
" existing, nil numerado se backups numerados existirem; Se não, simples\n"
" simple, never sempre faz backups simples\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -3012,7 +3240,7 @@ msgstr ""
"O sufixo de backup é '~', a menos que seja definido com --suffix ou com a\n"
"variável de ambiente SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -3020,22 +3248,22 @@ msgstr ""
" --previous mantém msgids anteriores de mensagens "
"traduzidas\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent suprime indicadores de progresso\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "esta mensagem deveria definir formas de plural"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "esta mensagem não deveria definir formas de plural"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3044,29 +3272,29 @@ msgstr ""
"%sLeu %ld antigas + %ld referências, mesclou %ld, marcou como aproximadas "
"%ld, perdidas %ld, obsoletas %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " feito.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s e nomes de arquivos explícitos são mutualmente exclusivos"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Converte catálogo de mensagens binário em arquivo .po estilo Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3075,13 +3303,13 @@ msgstr ""
" -j, --java modo Java: entrada é uma classe\n"
" ResourceBundle de Java\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp modo C#: entrada é um arquivo .dll de .NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3090,7 +3318,7 @@ msgstr ""
" --csharp-resources modo de recursos C#: entrada é um arquivo\n"
" .resources de .NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3098,17 +3326,17 @@ msgstr ""
" --tcl modo Tcl: entrada é um arquivo .msg de tcl/"
"msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " ARQUIVO ... arquivos .mo de entrada\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Localização do arquivo de entrada em modo Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3119,12 +3347,12 @@ msgstr ""
"nome do recurso, separados por um sublinhado. A classe é localizada\n"
"usando a CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Localização do arquivo de entrada em modo C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3133,12 +3361,12 @@ msgstr ""
"As opções -l e -d são obrigatórias. O arquivo .dll está localizado em um\n"
"subdiretório do diretório especificado, cujo nome depende da localização.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Localização do arquivo de entrada em modo Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3147,18 +3375,18 @@ msgstr ""
"As opções -l e -d são obrigatórias. O arquivo .msg está localizado no\n"
"diretório especificado.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent escreve um estilo de saída com recuo\n"
# Deixei maiúsculo foi todas outras ocorrências de Uniforum estão em assim. - Rafael
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict escreve em estilo Uniforum estrito\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3180,12 +3408,12 @@ msgstr ""
"serão retirados da primeira tradução. Posições de arquivos serão cumuladas.\n"
"Quando se está usando a opção --unique, duplicatas são descartadas.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated exibe apenas duplicados\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3194,7 +3422,7 @@ msgstr ""
" -u, --unique exibe apenas mensagens únicas, descarta\n"
" duplicatas\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3250,32 +3478,32 @@ msgstr ""
"Faltando codificação de caracteres no cabeçalho.\n"
"Conversão da mensagem para a codificação do usuário pode não funcionar.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "uso inconsistente de #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "seção \"msgstr[]\" não localizada"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "seção \"msgid_plural\" não localizada"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "seção \"msgstr\" não localizada"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "primeira forma em plural tem o índice diferente de zero"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "forma plural tem o índice errado"
@@ -3285,7 +3513,7 @@ msgstr "forma plural tem o índice errado"
msgid "too many errors, aborting"
msgstr "excesso de erros - abortando"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "sequência multi-byte inválida"
@@ -3329,64 +3557,81 @@ msgstr "fim de linha dentro de string"
msgid "context separator <EOT> within string"
msgstr "separador de contexto <EOT> dentro de string"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "este arquivo parece não conter diretivas de domínio"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "definição duplicada de mensagem"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "esta é a localização da primeira definição"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "nome de grupo não terminado"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "caractere não-vazio inválido"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "faltando \"=\" após \"%s\""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "linha não-vazia inválida"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "arquivo \"%s\" está truncado"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "arquivo \"%s\" contém string não terminada em NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "arquivo \"%s\" não está no formato .mo de GNU"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "arquivo \"%s\" contém string não terminada em NUL, em %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "aviso: sintaxe \\uxxxx inválida para caractere Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "aviso: string não terminada"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "aviso: erro de sintaxe"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "aviso: par chave/valor não terminado"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "aviso: erro de sintaxe, esperava \";\" após string"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "aviso: erro de sintaxe, esperada \"=\" ou \";\" após string"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Escrito por %s e %s.\n"
@@ -3395,16 +3640,16 @@ msgstr "Escrito por %s e %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Re-codifica texto sérvio de script em cirílico para latim.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3413,27 +3658,27 @@ msgstr ""
"O texto de entrada é lido da entrada padrão. O texto convertido é enviado para\n"
"a saída padrão.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "entrada não é válida na codificação \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "erro ao converter da codificação \"%s\" para \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "esperava dois argumentos"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Uso: %s [OPÇÃO] URL ARQUIVO\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3442,37 +3687,37 @@ msgstr ""
"Obtém e envia o conteúdo de uma URL. Se a URL não puder ser acessada,\n"
"o ARQUIVO acessível localmente é usado.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "erro ao ler \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "erro ao escrever na saída padrão"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "erro após leitura de \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Obtendo %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " tempo esgotado.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " falhou.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3481,7 +3726,7 @@ msgstr ""
"com o formato de saída especificado. Ao invés, tente usar sintaxe de arquivo "
"PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3489,7 +3734,7 @@ msgstr ""
"Não foi possível enviar múltiplos domínios de tradução em um único arquivo "
"com o formato de saída especificado."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3497,7 +3742,7 @@ msgstr ""
"catálogo de mensagens possui traduções dependentes de contexto, mas o "
"formato de saída não tem suporte a elas."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3507,7 +3752,7 @@ msgstr ""
"formato de saída não tem suporte a elas. Tente gerar uma classe Java usando "
"\"msgfmt --java\", ao invés de um arquivo de propriedades."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3515,12 +3760,12 @@ msgstr ""
"catálogo de mensagens possui traduções em forma de plural, mas o formato de "
"saída não tem suporte a elas."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "não foi possível criar o arquivo de saída \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "saída padrão"
@@ -3539,40 +3784,41 @@ msgstr "compilação de classe C# falhou, por favor tente --verbose"
msgid "compilation of C# class failed"
msgstr "compilação de classe C# falhou"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "erro ao abrir o arquivo \"%s\" para gravação"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "não é um nome de classe Java válido: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"compilação de classe Java falhou, por favor tente --verbose ou tente definir "
"$JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "compilação de classe Java falhou, por favor tente definir $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "erro ao abrir o arquivo \"%s\" para gravação"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "sequência multi-byte incompleta"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"mensagens internacionalizadas não devem conter o caractere de escape \"\\%c\""
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3585,7 +3831,7 @@ msgstr ""
"caracteres diferente da sua. Considere usar um msgctxt ASCII puro.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3598,7 +3844,7 @@ msgstr ""
"caracteres diferente da sua. Considere usar um msgid ASCII puro.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3607,7 +3853,7 @@ msgstr ""
"mas o formato de catálogo de mensagens Qt não tem suporte a manipular "
"plural\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3619,7 +3865,7 @@ msgstr ""
"mas o formato de catálogo de mensagens tem suporte a Unicode apenas nas\n"
"strings traduzidas, não em strings de contexto\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3629,12 +3875,12 @@ msgstr ""
"mas o formato de catálogo de mensagens tem suporte a Unicode apenas nas\n"
"strings traduzidas, não em strings não traduzidas\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "erro ao gravar no subprocesso de %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3642,7 +3888,7 @@ msgstr ""
"catálogo de mensagens possui traduções dependente de contexto\n"
"mas o formato .resources C# não tem suporte a contextos\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3650,7 +3896,7 @@ msgstr ""
"catálogo de mensagens possui traduções em forma de plural,\n"
"mas o formato de .resources C# não tem suporte a manipular plural\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3658,7 +3904,7 @@ msgstr ""
"catálogo de mensagens possui traduções dependente de contexto\n"
"mas o formato de catálogo de mensagens Tcl não tem suporte a contextos\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3667,36 +3913,36 @@ msgstr ""
"mas o formato de catálogo de mensagens Tcl não tem suporte a manipular "
"plural\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: aviso: string não terminada"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: aviso: expressão regular não terminada"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "aviso: caractere Unicode inválido"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: aviso: constante de caractere não terminada"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: aviso: string literal não terminada"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Por favor, especifique a codificação fonte por meio de --from-code"
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3705,7 +3951,7 @@ msgstr ""
"%s:%d: Sequência multi-byte inválida.\n"
"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3714,7 +3960,7 @@ msgstr ""
"%s:%d: Sequência multi-byte longa e incompleta.\n"
"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3723,7 +3969,7 @@ msgstr ""
"%s:%d: Sequência multi-byte incompleta ao finado do arquivo.\n"
"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3732,12 +3978,12 @@ msgstr ""
"%s:%d: Sequência multi-byte incompleta ao finado da linha.\n"
"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: falha no iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3746,286 +3992,77 @@ msgstr ""
"%s:%d: Sequência multi-byte inválida.\n"
"Por favor, especifique a codificação fonte por meio de --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: aviso: caractere Unicode inválido"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: aviso: constante de caractere não terminada"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: aviso: \")\" encontrado quando \"}\" era esperado"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: aviso: \"}\" encontrado quando \")\" era esperado"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Faltando contexto para a string extraída do elemento \"%s\""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "O elemento raiz <%s> não é permitido em um arquivo Glade válido"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Não há suporte à linguagem \"glade\". %s depende do expat.\n"
-"Esta versão foi compilada sem expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: aviso: substituto solitário U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Por favor, especifique a codificação fonte por meio de --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Sequência multi-byte inválida.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Sequência multi-byte longa e incompleta.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Sequência multi-byte incompleta ao final do arquivo.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Sequência multi-byte incompleta ao final da linha.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Sequência multi-byte inválida.\n"
-"Por favor, especifique a codificação fonte por meio de --from-code.\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: aviso: RegExp literal terminada muito cedo"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: aviso: %s não é permitido"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: aviso: marcação XML indeterminada"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: não foi possível localizar terminador de string \"%s\" em lugar "
-"nenhum antes do fim do arquivo"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: faltando chave da direita em \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolação (\"\\l\") inválida de caractere de 8bit \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolação (\"\\u\") inválida de caractere de 8bit \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: interpolação de variável inválida em \"%c\""
-
-#: src/x-perl.c:1230
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolação (\"\\L\") inválida de caractere de 8bit \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolação (\"\\U\") inválida de caractere de 8bit \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Por favor, especifique a codificação fonte por meio de --from-code ou um\n"
-"comentário, como especificado em http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Sequência multi-byte inválida.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
-"ou um comentário, como especificado em\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Sequência longa de multi-byte incompleta.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
-"ou um comentário, como especificado em\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "\"%s\" não é um nome de codificação válida. Usando ASCII.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Sequência multi-byte incompleta ao final do arquivo.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
-"ou um comentário, como especificado em\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "verificação de sintaxe \"%s\" desconhecida"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Sequência multi-byte incompleta ao final da linha.\n"
-"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
-"ou um comentário, como especificado em\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "tipo de fim de sentença \"%s\" desconhecido"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Sequência multi-byte inválida.\n"
-"Por favor, especifique a codificação fonte por meio de --from-code\n"
-"ou um comentário, como especificado em\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Codificação desconhecida \"%s\". Procedendo com ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: definição de string inválida"
+"--join-existing não pode ser usada enquanto a saída é escrita na saída padrão"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: faltando número após #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext não pode funcionar sem as teclas para procurar"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: expressão de string inválida"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "aviso: arquivo de regras ITS \"%s\" não existe"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: aviso: a sintaxe $\"...\" está obsoleta por motivos de segurança; ao "
-"invés disso, use eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: aviso: expressão regular literal terminada muito cedo"
+"aviso: arquivo de regras ITS \"%s\" não existe; verifique sua instalação "
+"gettext"
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "\"%s\" não é um nome de codificação válida. Usando ASCII.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing não pode ser usada enquanto a saída é escrita na saída padrão"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext não pode funcionar sem as teclas para procurar"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "aviso: arquivo \"%s\", extensão \"%s\" é desconhecida; tentarei C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extrai strings traduzíveis dos arquivos de entrada passados.\n"
# "messages.po" é, de fato, um nome de um arquivo; não mude isso.
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4034,13 +4071,13 @@ msgstr ""
" -d, --default-domain=NOME usa NOME.po para saída (ao invés de messages."
"po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=ARQUIVO escreve a saída para o arquivo especificado\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -4049,12 +4086,12 @@ msgstr ""
" diretório DIR\n"
# Não é idioma. É linguagem de programação (C, C# etc.), de formatação (HTML etc.), de scripts (Shell script) e por aí vai.
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Escolha da linguagem do arquivo de entrada:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4077,12 +4114,12 @@ msgstr ""
"Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ abreviação para --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4091,7 +4128,7 @@ msgstr ""
"Por padrão, a linguagem é adivinhada dependendo da extensão do nome do\n"
"arquivo de entrada.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4100,24 +4137,24 @@ msgstr ""
" --from-code=NOME codificação dos arquivos de entrada\n"
" (exceto para Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Po padrão, supõe-se que os arquivos de entrada estejam em ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing junta mensagens com arquivo existente\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=arquivo.po\n"
" entradas do ARQUIVO.po não são extraídas\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4136,17 +4173,39 @@ msgstr ""
" as linhas de palavras-chaves no arquivo de "
"saída\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NOME realiza verificação de sintaxe nas mensagens\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TIPO tipo descrevendo o fim da sentença\n"
+" (single-space, que é o padrão, \n"
+" ou double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Opções específicas de linguagens:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extrai todas as strings\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4162,7 +4221,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4178,7 +4237,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4190,7 +4249,7 @@ msgstr ""
"argumento\n"
" de número ARG da palavra-chave PALAVRA\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4207,39 +4266,39 @@ msgstr ""
" Lua, JavaScript, Vala)\n"
# Trigraphs são seqüências de três caracteres (introduzidos por dois pontos de interrogação consecutivos) que o compilador substitui com seus caracteres de pontuação correspondente
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs entende trigraphs de ANSI C para entrada\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (apenas linguagens C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt reconhece strings no formato Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (apenas a linguagem C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde reconhece as strings de formato KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost reconhece strings no formato Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4247,13 +4306,23 @@ msgstr ""
" --debug resultado de reconhecimento de string de\n"
" formato mais detalhado\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output escreve em um arquivo .properties de Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=ARQUIVO aplica regras ITS do ARQUIVO\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool escreve comentários em itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
@@ -4261,7 +4330,7 @@ msgstr ""
" define o detentor dos direitos autorais\n"
" na saída\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4269,19 +4338,19 @@ msgstr ""
" --foreign-user omite direitos autorais da FSF na saída para\n"
" usuários de fora\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACOTE define o nome do pacote na saída\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=VERSÃO\n"
" define a versão do pacote na saída\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4290,7 +4359,7 @@ msgstr ""
" define o endereço para relatar erros de\n"
" msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4302,7 +4371,7 @@ msgstr ""
"de\n"
" msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4314,7 +4383,7 @@ msgstr ""
"de\n"
" msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4323,31 +4392,31 @@ msgstr ""
"Um argumento de --flag não possui a sintaxe <palavra-chave>:<argnum>:"
"[pass-]<flag>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "entrada padrão"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Caractere não-ASCII em %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Comentário não ASCII em ou antes de %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "String não-ASCII em %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: aviso: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4356,7 +4425,7 @@ msgstr ""
"Apesar de ser usado em uma posição de string de formato, o %s não é uma "
"string de formato válida de %s. Motivo: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4365,7 +4434,7 @@ msgstr ""
"Apesar de estar declarada assim, o %s não é uma string de formato válida de "
"%s. Motivo: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4380,7 +4449,7 @@ msgstr ""
"Por favor, considere usar uma string de formato com argumentos nomeados,\n"
"e um mapeamento ao invés de uma tupla de argumentos.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4390,28 +4459,28 @@ msgstr ""
"gettext(\"\") retorna a entrada de cabeçalho com\n"
"informações meta, e não a string vazia.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "especificação de argumento ambíguo para a palavra-chave \"%.*s\""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "aviso: faltando contexto para palavra-chave \"%.*s\""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"aviso: faltando contexto para argumentos plurais de palavra-chave '%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "contexto não confere para formas singular e plural"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4423,15 +4492,361 @@ msgstr ""
"especifique lá a variável MSGID_BUGS_ADDRESS; Senão por favor\n"
"especifique uma opção de linha de comando --msgid-bugs-address.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "idioma \"%s\" desconhecido"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: aviso: substituto solitário U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Por favor, especifique a codificação fonte por meio de --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Sequência multi-byte inválida.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Sequência multi-byte longa e incompleta.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Sequência multi-byte incompleta ao final do arquivo.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Sequência multi-byte incompleta ao final da linha.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code.\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Sequência multi-byte inválida.\n"
+"Por favor, especifique a codificação fonte por meio de --from-code.\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: aviso: RegExp literal terminada muito cedo"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: aviso: %s não é permitido"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: aviso: marcação XML indeterminada"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: não foi possível localizar terminador de string \"%s\" em lugar "
+"nenhum antes do fim do arquivo"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: faltando chave da direita em \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolação (\"\\l\") inválida de caractere de 8bit \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolação (\"\\u\") inválida de caractere de 8bit \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: interpolação de variável inválida em \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolação (\"\\L\") inválida de caractere de 8bit \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolação (\"\\U\") inválida de caractere de 8bit \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Por favor, especifique a codificação fonte por meio de --from-code ou um\n"
+"comentário, como especificado em http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Sequência multi-byte inválida.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
+"ou um comentário, como especificado em\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Sequência longa de multi-byte incompleta.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
+"ou um comentário, como especificado em\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Sequência multi-byte incompleta ao final do arquivo.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
+"ou um comentário, como especificado em\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Sequência multi-byte incompleta ao final da linha.\n"
+"Por favor, especifique a codificação fonte correta por meio de --from-code\n"
+"ou um comentário, como especificado em\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Sequência multi-byte inválida.\n"
+"Por favor, especifique a codificação fonte por meio de --from-code\n"
+"ou um comentário, como especificado em\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Codificação desconhecida \"%s\". Procedendo com ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: definição de string inválida"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: faltando número após #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: expressão de string inválida"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: aviso: a sintaxe $\"...\" está obsoleta por motivos de segurança; ao "
+"invés disso, use eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: aviso: expressão regular literal terminada muito cedo"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<sem nome>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "sequência UTF-8 inválida"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "\"%s\" não é um nome válido: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "\"%s\" não é um nome válido: \"%c\""
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "referência de caractere inválida: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "não é uma especificação de número válido"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "sem finalização com \";\""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "caractere não permitido"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "vazio"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "desconhecido"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "referência de entidade inválida: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "documento deve começar com um elemento"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "caractere invaÌlido após \"%s\""
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "faltando \"%c\""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "faltando \"%c\" ou \"%c\""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "um nome de elemento de fechamento"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "elemento está fechado"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "documento vazio"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "após \"<\""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "elemento permanece aberto"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "faltando \">\""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "dentro de um nome de elemento"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "dentro de um nome de atributo"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "dentro de um tag aberto"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "após \"=\""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "dentro de um valor de atributo"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "dentro da tag de fechamento"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "dentro de uma instrução de processamento ou comentário"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "documento terminou inesperadamente: %s"
+
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "O elemento raiz <%s> não é permitido em um arquivo CLDR válido"
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Faltando contexto para a string extraída do elemento \"%s\""
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Não há suporte à linguagem \"glade\". %s depende do expat.\n"
+#~ "Esta versão foi compilada sem expat.\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "campo de cabeçalho \"%s\" deveria começar no início da linha\n"
diff --git a/gettext-tools/po/ro.gmo b/gettext-tools/po/ro.gmo
index ea247d3..49105d9 100644
--- a/gettext-tools/po/ro.gmo
+++ b/gettext-tools/po/ro.gmo
Binary files differ
diff --git a/gettext-tools/po/ro.po b/gettext-tools/po/ro.po
index 0344416..b627799 100644
--- a/gettext-tools/po/ro.po
+++ b/gettext-tools/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.13-pre1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2003-11-23 11:43+0200\n"
"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -57,40 +57,40 @@ msgstr ""
msgid "write error"
msgstr "eroare de scriere"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "eroare în timpul deschiderii \"%s\" pentru citire"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "nu se poate deschide fiºierul de backup \"%s\" pentru scriere"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "eroare în citirea lui \"%s\""
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "eroare în scrierea lui \"%s\""
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "eroare dupã citirea lui \"%s\""
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() eºuat"
@@ -120,58 +120,63 @@ msgstr "Eroare de sistem necunoscutã"
msgid "%s subprocess failed"
msgstr "Subprocesul %s a eºuat"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: opþiunea `%s' este ambiguã\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opþiunea `%s' este ambiguã\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opþiunea `--%s' nu permite parametri\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opþiunea `%c%s' nu permite parametri\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: opþiunea `%s' necesitã un parametru\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opþiune necunoscutã `--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opþiune necunoscutã `%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: optiune invalidã -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opþiunea necesitã un parametru -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opþiunea `-W %s' este ambiguã\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opþiunea `-W %s' nu permite parametri\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: opþiunea `%s' necesitã un parametru\n"
@@ -187,15 +192,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "eroare în crearea \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "eroare în scrierea fiºierului \"%s\""
@@ -214,15 +220,15 @@ msgstr ""
"Nu a fost gãsitã maºina virtualã Java, încercaþi sã instalaþi gij sau sã "
"setaþi $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "eroare I/O a subprocesului %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "memorie plinã"
@@ -233,7 +239,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "scrierea în subprocesul %s eºuatã"
@@ -279,11 +285,11 @@ msgstr "subprocesul %s s-a terminat cu cod de ieºire %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -319,23 +325,154 @@ msgstr "subprocesul %s"
msgid "%s subprocess got fatal signal %d"
msgstr "subprocesul %s a primit semnalul fatal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "eroare în timpul deschiderii \"%s\" pentru citire"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
#, fuzzy, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Încercaþi `%s --help' pentru mai multe informaþii.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Folosire: %s [OPÞIUNE] [FIªIER]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"'%s' nu este un format valid de ºir %s, spre deosebire de 'msgid'. Motiv: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Argumentele obligatorii pentru opþiunile lungi sunt obligatorii ºi pentru opþiunile\n"
+"scurte. Similar pentru argumentele opþionale.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help afiºeazã acest ajutor ºi iese\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help afiºeazã acest ajutor ºi iese\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version afiºeazã informaþii despre versiune ºi iese\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Raportaþi bug-urile la <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Scris de %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr ""
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "eroare în timpul deschiderii \"%s\" pentru citire"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
@@ -343,34 +480,41 @@ msgstr ""
"o specificaþie de formatare pentru parametrul %u, ca în `%s', nu existã în "
"'msgid'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "o specificaþie de format pentru argumentul %u nu existã în '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"specificaþiile de formatare din 'msgid' ºi '%s' pentru argumentul %u sunt "
"diferite"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, fuzzy, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
"În numãrul de directivã %u, numãrul mãrimii argumentului 0 nu este un întreg "
"pozitiv."
-#: src/format-c.c:36
+#: src/format.c:152
+#, fuzzy, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%s' nu este un format valid de ºir %s, spre deosebire de 'msgid'. Motiv: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -380,54 +524,54 @@ msgstr ""
"macro de formatare specificat. Numele valide de macro-uri sunt listate în "
"ISO C 99 secþiunea 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"În directiva numãrul %u, marcajul(token) de dupã '<' nu este urmat de '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"ªirul are referire la argumentul numãrul %u dar ignorã argumentul numãrul %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "numãrul de specificaþii de formatare din 'msgid' ºi '%s' este diferit"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "În numãrul de directivã %u, '{' nu este urmat de un numãr de argument."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, fuzzy, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "În numãrul de directivã %u, '{' nu este urmat de un numãr de argument."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"ªirul se terminã în mijlocul directivei: s-a gãsit '{' fãrã '}' potrivit."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, fuzzy, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"În directiva numãrul %u, caracterul '%c' nu este un digitit între 1 ºi 9."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, fuzzy, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "În directiva numãrul %u '~,' este folositã într-o poziþie invalidã."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -435,7 +579,7 @@ msgstr ""
"ªirul începe în mijlocul directivei: s-a gãsit '}' fãrã a se gãsi '{' "
"potrivit."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, fuzzy, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "ªirul se terminã în mijlocul directivei."
@@ -558,7 +702,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "ªir are referire la numãrul de argument %u prin metode incompatibile."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -567,19 +711,19 @@ msgstr ""
"În numãrul de directivã %u, subºirul \"%s\" nu este un stil valid de datã/"
"orã."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "În numãrul de directivã %u. \"%s\" nu este urmat de o virgulã."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"În numãrul de directivã %u, subºirul \"%s\" nu este un stil valid de numãr."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -588,12 +732,12 @@ msgstr ""
"În numãrul de directivã %u, numãrul de argument nu este urmat de o virgulã "
"ºi unul dintre \"%s\", \"%s\",\"%s\",\"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "În numãrul de directivã %u, alegerea nu conþine numãr."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -602,7 +746,7 @@ msgstr ""
"În numãrul de directivã %u, o alegere conþine un numãr care nu este urmat de "
"'<', '#' sau '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
@@ -610,12 +754,12 @@ msgstr ""
"o specificaþie de formatare pentru argumentul {%u}, ca în '%s', nu existã în "
"'msgid'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "o specificaþie de formatare pentru argumentul {%u} nu existã în '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
@@ -623,7 +767,29 @@ msgstr ""
"specificaþiile de format din 'msgid' ºi '%s' pentru argument {%u} nu sunt la "
"fel"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"ªirul are referire la argumentul numãrul %u dar ignorã argumentul numãrul %u."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"o specificaþie de formatare pentru parametrul %u, ca în `%s', nu existã în "
+"'msgid'"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "eroare în timpul citirii \"%s\""
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -633,7 +799,7 @@ msgstr ""
"În directiva numãrul %u, parametrul %u este de tipul '%s' dar se aºtepta "
"parametru de tipul %s."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, fuzzy, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -648,33 +814,33 @@ msgstr[1] ""
"În directiva numãrul %u sunt furnizaþi prea mulþi parametri; se aºteptau cel "
"mult %u parametrii."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "În directiva numãrul %u, '%c' nu este urmat de un digit."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "În directiva numãrul %u parametrul %d este negativ."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "ªirul se terminã în mijlocul unei directive ~/../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "S-a gãsit '~%c' fãrã '~%c' corespunzãtor."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "În directiva numãrul %u sunt specificaþi ambii modificatori @ ºi : ."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -683,27 +849,33 @@ msgstr ""
"În directiva numãrul %u '~[' nu este urmat de douã clauze, separate prin "
"'~,'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "În directiva numãrul %u '~,' este folositã într-o poziþie invalidã."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "ªirul se referã la anumite argumente în moduri incompatibile."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "specificaþiile de format din 'msgid' ºi '%s' nu sunt echivalente"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"specificaþiile de format din '%s' nu sunt subset al acelora din 'msgid'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "o specificare de format pentru argumentul '%s' nu existã în '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -712,14 +884,34 @@ msgstr ""
"În directiva numãrul %u, specificatorul de mãrime este incompatibil cu "
"specificatorul de conversie '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "o specificare de format pentru argumentul '%s' nu existã în '%s'"
+#: src/format-python-brace.c:138
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "În directiva numãrul %u, '%c' nu este urmat de un digit."
+
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "În numãrul de directivã %u, '{' nu este urmat de un numãr de argument."
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "În directiva numãrul %u, '%c' nu este urmat de un digit."
+
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"În numãrul de directivã %u, marcajele(flags) nu sunt admise înainte de '%c'."
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "În directiva numãrul %u parametrul %d este negativ."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -727,12 +919,12 @@ msgstr ""
"ªirul se referã la argumente atât prin numele argumentelor cât ºi prin "
"specificaþii de argument nenominalizate."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "ªirul se referã la argumentul numit '%s' în moduri incompatibile."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -740,7 +932,7 @@ msgstr ""
"specificaþiile de format din 'msgid' aºteaptã o mapare, acelea din '%s' "
"aºteaptã altceva(tuple)"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -748,7 +940,7 @@ msgstr ""
"specificaþiile de formatare din 'msgid' aºteaptã altceva (tuple), acelea din "
"'%s' aºteaptã o mapare"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
@@ -756,7 +948,7 @@ msgstr ""
"specificarea de formatare pentru argumentul '%s', precum în '%s' nu existã "
"în 'msgid'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
@@ -764,45 +956,18 @@ msgstr ""
"specificaþiile de formatare din 'msgid' ºi '%s' pentru argumentul '%s' nu "
"sunt la fel"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "În directiva numãrul %u, '%c' nu este urmat de un digit."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "În numãrul de directivã %u, '{' nu este urmat de un numãr de argument."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "În directiva numãrul %u, '%c' nu este urmat de un digit."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"În numãrul de directivã %u, marcajele(flags) nu sunt admise înainte de '%c'."
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "În directiva numãrul %u parametrul %d este negativ."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "ªirul se referã la o variabilã de shell cu un nume non-ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -810,7 +975,7 @@ msgstr ""
"ªirul se referã la o variabilã de shell cu o sintaxã complexã cu acolade. "
"Aceastã sintaxã nu este suportatã din motive de securitate."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -818,11 +983,11 @@ msgstr ""
"ªirul se referã la o variabilã de shell a cãrei valoare poate fi diferitã în "
"funcþiile de shell."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "ªirul se referã la o variabilã de shell cu un nume gol."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -830,7 +995,7 @@ msgid ""
msgstr ""
"În directiva numãrul %u, caracterul '%c' nu este un digitit între 1 ºi 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -838,71 +1003,40 @@ msgid ""
msgstr ""
"Caracterul care terminã directiva numãrul %u nu este un digit între 1 ºi 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Scris de %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "prea mulþi parametri"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Încercaþi `%s --help' pentru mai multe informaþii.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Folosire: %s [OPÞIUNE]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Afiºeazã numele de host al maºinii.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Format de ieºire(output):\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short nume de host scurtat\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -913,77 +1047,103 @@ msgstr ""
"complet calificat,\n"
" ºi aliasurile\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address adresele pentru numele de host\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Ieºire(output) informativã:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help afiºeazã acest ajutor ºi iese\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "nu s-a putut afla numele de host"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version afiºeazã informaþii despre versiune ºi iese\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "cel puþin douã fiºiere trebuie specificate"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Raportaþi bug-urile la <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "nu se poate crea legãtura(pipe)"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "nu s-a putut afla numele de host"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "parametru invalid `%s' pentru `%s'"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "nu se poate crea legãtura(pipe)"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "nu se poate crea fiºierul de ieºire(output) \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "cel mult un fiºier de intrare(input) este permis"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s ºi %s se exclud reciproc"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Folosire: %s [OPÞIUNE] [FIªIER_INTRARE]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -992,10 +1152,10 @@ msgstr ""
"Filtreazã mesajele unui catalog de traduceri potrivit atributelor lor,\n"
"ºi manipuleazã atributele.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1003,23 +1163,23 @@ msgstr ""
"Parametrii obligatorii la opþiunile lungi sunt obligatorii ºi la opþiunile "
"scurte.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Locaþie fiºier intrare(input):\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " FIªIER_INTRARE fiºier de intrare(input) PO\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1027,33 +1187,34 @@ msgstr ""
" -D, --directory=DIRECTOR adaugã DIRECTOR în lista de cãutare a "
"fiºierelor de intrare\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Dacã nu este dat nici un fiºier de intrare sau este -, se va citi "
"intrarea(input) standard.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Locaþie fiºier ieºire(output):\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=FIªIER scrie output-ul în fiºierul specificat\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1063,12 +1224,12 @@ msgstr ""
"fiºier\n"
"de ieºire(output) sau dacã acesta este -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Selecþie mesaje:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1076,7 +1237,7 @@ msgstr ""
" --translated pãstreazã pe cele traduse, ºterge mesajele "
"netraduse\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1084,52 +1245,52 @@ msgstr ""
" --untranslated pãstreazã pe cele netraduse, ºterge mesajele "
"traduse\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy ºterge mesajele marcate 'fuzzy'\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy pãstreazã mesajele marcate 'fuzzy'\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete ºterge mesajele învechite #~ \n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete pãstreazã mesajele învechite #~ \n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Manipulare de atribute:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy seteazã toate mesajele 'fuzzy'\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy seteazã toate mesajele non-'fuzzy'\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete seteazã toate mesajele învechite\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete seteazã toate mesajele non-învechite\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, fuzzy, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1138,20 +1299,20 @@ msgstr ""
" -u, --unique scurtãturã pentru --less-than=2, solicitã\n"
" ca doar mesajele unice sã fie tipãrite\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, fuzzy, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr " --clear-fuzzy seteazã toate mesajele non-'fuzzy'\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --no-fuzzy ºterge mesajele marcate 'fuzzy'\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1159,7 +1320,7 @@ msgstr ""
" --only-file=FIªIER.po manipuleazã doar intrãrile listate în FIªIER."
"po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1167,13 +1328,13 @@ msgstr ""
" --ignore-file=FIªIER.po manipuleazã doar intrãrile nelistate în "
"FIªIER.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy sinonim pentru --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1181,16 +1342,16 @@ msgstr ""
" --obsolete sinonim pentru --only-obsolete --clear-"
"obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Sintaxã fiºier de intrare(input:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1198,8 +1359,8 @@ msgstr ""
" -P, --properties-input fiºierul de intrare(input) este în sintaxã "
"Java .properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1208,17 +1369,17 @@ msgstr ""
" --stringtable-input fiºierul de intrare(input) este în sintaxã \n"
"NeXTstep/GNUstep .strings\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Detalii de output:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1227,24 +1388,24 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr " -e, --no-escape nu foloseºte escape-uri C în output\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1252,28 +1413,28 @@ msgstr ""
" -E, --escape foloseºte escape-uri C în output, fãrã "
"caractere extinse\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po scrie fiºierul PO chiar dacã e gol\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent scrie fiºierul .po folosind stil indentat\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location nu scrie liniile '#: filename:line'\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1281,39 +1442,39 @@ msgstr ""
" -n, --add-location genereazã liniile '#: filename:"
"line' (implicit)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr " --strict scrie strict fiºiere conforme Uniforum\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output scrie un fiºier .properties Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output scrie un fiºier .strings NeXTstep/GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMÃR setare lãþime output paginã\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1324,32 +1485,32 @@ msgstr ""
" decât lãþimea paginii de output,în câteva "
"linii\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output genereazã output sortat\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file sorteazã output-ul dupã locaþia fiºierului\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "criteriu de selecþie specificat imposibil (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Folosire: %s [OPÞIUNE] [FIªIER_INTRARE]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1373,26 +1534,26 @@ msgstr ""
"este specificat --use-first, caz în care vor fi preluate din primul fiºier PO pentru\n"
"a fi definite. Pozitþiile din fiºier din toate fiºierele PO vor fi cumulate.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " FIªIER_INTRARE ... fiºiere de intrare(input)\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=FIªIER obþine lista de fiºiere de intrare din "
"FIªIER\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr ""
"Dacã fiºierul de intrare este -, se va citi intrarea(input) standard.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1403,7 +1564,7 @@ msgstr ""
"este\n"
" infinit\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1413,7 +1574,7 @@ msgstr ""
" definiþii, dacã nu este setat implicit este "
"0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1422,8 +1583,8 @@ msgstr ""
" -u, --unique scurtãturã pentru --less-than=2, solicitã\n"
" ca doar mesajele unice sã fie tipãrite\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1431,8 +1592,8 @@ msgstr ""
" -P, --properties-input fiºierele de intrare(input) sunt în sintaxã ."
"properties Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1441,13 +1602,13 @@ msgstr ""
" --stringtable-input fiºierele de intrare(input) sunt în sintaxã \n"
"NeXTstep/GNUstep .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr ""
" -t, --to-code=NUME codarea(encoding) pentru ieºire(output)\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1458,33 +1619,33 @@ msgstr ""
" fiecare mesaj, nu îmbinã mai multe "
"traduceri\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "nu au fost date fiºiere de intrare(input)"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "sunt necesare exact 2 fiºiere de intrare(input)"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Folosire: %s [OPÞIUNE] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1502,22 +1663,22 @@ msgstr ""
"s-a gãsit o potrivire exactã, se va marca mesajul cu fuzzy pentru a produce\n"
"diagnostice mai bune.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po traduceri\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot referinþe la surse\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modificatori de operaþie:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1525,69 +1686,69 @@ msgid ""
msgstr ""
" -m, --multi-domain aplicã ref.pot pe fiecare domeniu din def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
" -N, --no-fuzzy-matching nu foloseºte potrivire aproximativã(fuzzy)\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, fuzzy, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
" -f, --use-fuzzy foloseºte intrãri parþial traduse la "
"ieºire(output)\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, fuzzy, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
" --untranslated pãstreazã pe cele netraduse, ºterge mesajele "
"traduse\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "avertisment: acest mesaj nu este folosit"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "acest mesaj este folosit dar nu este definit..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...dar definiþia este similarã"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "acest mesaj este folosit dar nu ºi definit în %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "avertisment: acest mesaj nu este folosit"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "s-a gãsit %d eroare fatalã"
msgstr[1] "s-au gãsit %d erori fatale"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "cel puþin douã fiºiere trebuie specificate"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1608,7 +1769,7 @@ msgstr ""
"comentariile ºi comentariile extrase vor fi pãstrate, dar doar dacã sunt definite\n"
"în primul fiºier PO. Pozitþiile din fiºier din toate fiºierele PO vor fi cumulate.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1618,46 +1779,46 @@ msgstr ""
" definiþii, dacã nu este setat implicit este "
"1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, fuzzy, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header nu include în header intrarea `msgid \"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr ""
"Face conversia unui catalog de traduceri într-o altã codare(encoding) de "
"caractere.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Þintã conversie:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr ""
"Codarea(encoding) implicitã este codarea(encoding) localizãrii curente.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr ""
" --force-po scrie fiºierul PO chiar dacã este vid\n"
" -i, --indent scrie fiºierul .po folosind stil indentat\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location nu scrie linii '#: filename:line'\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, fuzzy, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1665,29 +1826,29 @@ msgstr ""
" --add-location genereazã linii '#: filename:"
"line' (implicit)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict scrie strict fiºiere conforme Uniforum\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "nu este furnizat nici un fiºier de intrare"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "este solicitat exact un singur fiºier de intrare"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Folosire: %s [OPÞIUNE] FIªIER_INTRARE\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1700,23 +1861,23 @@ msgstr ""
"(în general creat de xgettext). Intrãrilor netraduse le sunt asignate traduceri care\n"
"sunt identice cu msgid, ºi care vor fi marcate fuzzy.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr ""
" FIªIER_INTRARE ... fiºiere de intrare(input) PO sau POT\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "lipseºte numele comenzii"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Folosire: %s [OPÞIUNE] COMANDÃ [OPÞIUNE-COMANDÃ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1731,7 +1892,7 @@ msgstr ""
"Ieºirea(output) acesteia devine output-ul msgexec. codul returnat de msgexec\n"
"este maximumul de returnare de-a lungul tuturor invocaþiilor.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1741,38 +1902,48 @@ msgstr ""
"un octet null. Rezultatul(output) \"msgexec 0\" este potrivit ca intrare(input)\n"
"pentru \"xargs - 0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "intrare(input) standard"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help afiºeazã acest ajutor ºi iese\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr ""
" -i, --input=FIªIER_INTRARE ... fiºier de intrare(input) PO\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "scriere la stdout eºuatã"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "lipseºte numele de filtru"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "cel puþin un script sed trebuie specificat"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Folosire: %s [OPÞIUNE] FILTRU [OPÞIUNE-FILTRU]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Aplicã un filtru pe toate traducerile unui catalog de traduceri.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1781,12 +1952,24 @@ msgstr ""
"FILTRU poate fi orice program care citeºte de la intrarea(input) standard\n"
"ºi scrie traducerea modificatã la ieºirea(output) standard.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "OPÞIUNi de FILTRU folositoare atunci când FILTRU este 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
@@ -1794,7 +1977,7 @@ msgstr ""
" -e, --expression=SCRIPT adaugã SCRIPTul la comenzile ce vor fi "
"executate\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1804,7 +1987,7 @@ msgstr ""
" -f, --file=FIªIERSCRIPT adaugã conþinutul FIªIERSCRIPT la comenzile\n"
" ce vor fi executate\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1812,7 +1995,7 @@ msgstr ""
" -n, --quiet, --silent suprimã tipãrirea automatã a spaþiului "
"model(pattern)\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1820,13 +2003,13 @@ msgstr ""
" --no-escape nu foloseºte escape-uri C în output "
"(implicit)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr ""
" --indent scrie fiºierul .po folosind stil indentat\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1834,124 +2017,125 @@ msgstr ""
" --keep-header pãstreazã headerul nemodificat, nu îl "
"filtreazã\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "fiºierul \"%s\" conþine un ºir terminat non NUL"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argumentul lui %s ar trebui sã fie un singur caracter de punctuaþie"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, fuzzy, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr ""
"Dacã nu este dat nici un fiºier de intrare sau este -, se va citi "
"intrarea(input) standard.\n"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s necesitã specificarea \"-d director\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s necesitã specificarea \"-l localizare\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s necesitã specificarea \"-l localizare\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s necesitã specificarea \"-l localizare\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s ºi %s se exclud reciproc"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s e valid doar cu %s sau cu %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, fuzzy, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s e valid doar cu %s sau cu %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "nu se poate crea fiºierul de ieºire(output) \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d mesaj tradus"
msgstr[1] "%d mesaje traduse"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d traducere aproximativã(fuzzy)"
msgstr[1] ", %d traduceri aproximative(fuzzy)"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d mesaj netradus"
msgstr[1] ", %d mesaje netraduse"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Folosire: %s [OPÞIUNE] numefiºier.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Genereazã un catalog binar de mesaje din descriere de traducere textualã\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Argumentele obligatorii pentru opþiunile lungi sunt obligatorii ºi pentru opþiunile\n"
-"scurte. Similar pentru argumentele opþionale.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " numefiºier.po ... fiºiere de intrare(input)\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Mod de operare:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1960,7 +2144,7 @@ msgstr ""
" -j, --java Mod Java: genereazã o clasã Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1969,60 +2153,65 @@ msgstr ""
" --java2 precum --java, ºi presupune Java2 (JDK 1.2 sau "
"ulterior)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, fuzzy, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --qt Mod Qt: genereazã un fiºier .qm Qt\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr ""
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Mod tcl: genereazã un fiºier tcl/msgcat .msg\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Mod Qt: genereazã un fiºier .qm Qt\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, fuzzy, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --qt Mod Qt: genereazã un fiºier .qm Qt\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Mod Qt: genereazã un fiºier .qm Qt\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict activeazã modul strict Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Dacã fiºierul de ieºire(output) este -, output-ul este scris la ieºirea "
"standard.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Locaþie fiºier output în mod Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESURSÃ nume resursã\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2031,7 +2220,7 @@ msgstr ""
" -l, --locale=LOCALIZARE nume localizare, fie limbã, "
"fie limbã_ÞARÃ\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, fuzzy, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2040,14 +2229,14 @@ msgstr ""
" --tcl mod Tcl: intrarea(input) este un fiºier tcl/"
"msgcat .msg\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d DIRECTOR directorul de bazã al ierarhiei directoarelor\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2060,12 +2249,12 @@ msgstr ""
"separatã de liniuþã_jos. Opþiunea -d este obligatorie. Clasa este\n"
"scrisã în directorul specificat.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, fuzzy, c-format
msgid "Output file location in C# mode:\n"
msgstr "Locaþie fiºier output în mod Tcl:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, fuzzy, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2073,7 +2262,7 @@ msgid ""
msgstr ""
" -d DIRECTOR directorul de bazã al ierarhiei directoarelor\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, fuzzy, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2083,19 +2272,19 @@ msgstr ""
"directorul\n"
"specificat\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Locaþie fiºier output în mod Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d DIRECTOR directorul de bazã al cataloagelor de mesaje ."
"msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2105,24 +2294,24 @@ msgstr ""
"directorul\n"
"specificat\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
" -d DIRECTOR directorul de bazã al cataloagelor de mesaje ."
"msg\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, fuzzy, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2133,7 +2322,7 @@ msgstr ""
"cuvintelor_cheie\n"
" implicite)\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2141,12 +2330,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretare fiºier de intrarea(input):\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2157,13 +2361,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format verificã ºirurile format dependent de limbaj\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2171,7 +2375,7 @@ msgid ""
msgstr ""
" --check-header verificã prezenþa ºi conþinutul header-ului\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2181,7 +2385,7 @@ msgstr ""
"directivele\n"
" de domenii ºi opþiunea --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2190,7 +2394,7 @@ msgstr ""
" -C, --check-compatibility verificã dacã GNU msgfmt se comportã ca X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2201,14 +2405,14 @@ msgstr ""
"tastaturã\n"
" pentru elementele meniului\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy foloseºte intrãri parþial traduse la "
"ieºire(output)\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2216,7 +2420,7 @@ msgstr ""
" -a, --alignment=NUMÃR aliniazã ºirurile la NUMÃR octeþi (implicit: "
"%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2225,99 +2429,98 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash fiºierul binar nu va include tabela de hash\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics afiºeazã statistici despre traduceri\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose mãreºte nivelul de detaliere\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "avertisment: headerul fiºierului PO lipseºte sau este invalid\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "avertisment: conversia setului de caractere nu va funcþiona\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "avertisment: headerul fiºierului PO este neclar(fuzzy)\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"avertisment: versiunile mai vechi ale msgfmt ar putea aici raporta o eroare\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "numele de domeniu \"%s\" nu este potrivit ca nume fiºier"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"numele de domeniu \"%s\" nu este potrivit ca nume de fiºier: se va utiliza "
"prefix"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "directiva `domain %s' ignoratã"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "intrarea `msgstr' vidã ignoratã"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "intrarea `msgstr' neclarã(fuzzy) ignoratã"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: avertisment: fiºierul sursã conþine traduceri aproximative(fuzzy)"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "eroare în timpul citirii \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, fuzzy, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2325,7 +2528,7 @@ msgid ""
msgstr ""
"opþiunea '%c' nu poate fi folositã înainte ca 'K' sau 'T' sã fie specificate"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2334,7 +2537,7 @@ msgstr ""
"Extrage toate mesajele unui catalog care se potriveºte unui tipar dat\n"
"sau care e dependent de fiºiere sursã date.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, fuzzy, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2400,7 +2603,7 @@ msgstr ""
" -f, --file=FIªIER obþine TIPAR din FIªIER\n"
" -i, --ignore-case ignorã distincþia de caz\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2408,12 +2611,12 @@ msgstr ""
" --escape foloseºte escape-uri C în output, nu \n"
"caractere extinse\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output genereazã output sortat\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2522,14 +2725,14 @@ msgstr ""
"Nu s-a gãsit nici un fiºier .pot în directorul curent.\n"
"Vã rugãm specificaþi fiºierul de intrare .pot prin opþiunea --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "subprocesul %s a eºuat cu cod de ieºire %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2546,26 +2749,26 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Traducerea în limba românã pentru pachetul %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr ""
"setul de caractere prezent \"%s\" nu este un nume de codare(encoding) "
"portabil"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr ""
"douã seturi diferite de caractere \"%s\" ºi \"%s\" în fiºierul de "
"intrare(input)"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
@@ -2573,7 +2776,7 @@ msgstr ""
"fiºierul de intrare(input) `%s' nu conþine un header cu specificaþie de set "
"de caractere"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2582,20 +2785,20 @@ msgstr ""
"domeniu \"%s\" din fiºierul de intrare `%s' nu conþine un header cu o "
"specificaþie de set de caractere"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr ""
"setul de caractere þintã \"%s\" nu este un nume de codare(encoding) portabil."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "avertisment: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2605,7 +2808,7 @@ msgstr ""
"printre altele.\n"
"Se converteºte ieºirea(output) în UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2620,7 +2823,7 @@ msgstr ""
"opþiunea\n"
"--to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2629,7 +2832,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2642,12 +2845,12 @@ msgstr ""
"Output-ul lui '%s' poate fi incorect.\n"
"Rezolvãri(workadrounds) posibile sunt:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Setare LC_ALL la o localizare cu codare(encoding) %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2658,7 +2861,7 @@ msgstr ""
" dupã care se aplicã '%s',\n"
" ºi apoi reconvertire în %s folosind 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2671,7 +2874,7 @@ msgstr ""
" apoi aplicarea '%s',\n"
" dupã care se reconverteºte în %s folosind 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2683,78 +2886,78 @@ msgstr ""
"Output-ul lui '%s' poate fi incorect.\n"
"O posibilã soluþie(workaround) este setarea LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "expresiile plurale pot produce valori negative"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu dar expresiile plurale pot produce valori pânã la %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "expresia pluralã poate produce împãrþire la zero"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "plural expression can produce depãºire(overflow) de întreg(integer)"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
"expresia pluralã poate produce excepþii aritmetice, posibil împãrþire la zero"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, fuzzy, c-format
msgid "Try using the following, valid for %s:"
msgstr "Încercaþi sã folosiþi urmãtoarele, valide pentru %s:\n"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
#, fuzzy
msgid "message catalog has plural form translations"
msgstr "catalogul de mesaje are traduceri în forme plurale..."
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
#, fuzzy
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "...dar header-ului îi lipseºte atributul \"plural=EXPRESSION\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
#, fuzzy
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "...dar header-ului îi lipseºte atributul \"plural=INTEGER\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "valoare nplurals invalidã"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "expresie pluralã invalidã"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, fuzzy, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu..."
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, fuzzy, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "...dar câteva mesaje au doar o singurã formã pluralã"
msgstr[1] "...dar câteva mesaje au doar %lu forme plurale"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, fuzzy, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "...dar câteva mesaje au o singurã formã pluralã"
msgstr[1] "...dar câteva mesaje au %lu forme plurale"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2762,79 +2965,95 @@ msgstr ""
"catalogul de mesaje are traduceri de formã pluralã, dar îi lipseºte un "
"header cu\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "intrãrile `msgid' ºi `msgid_plural' nu încep amândouã cu '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "intrãrile `msgid' ºi `msgstr[%u]' nu încep amândouã cu '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "intrãrile `msgid' ºi `msgstr' nu încep amândouã cu '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "intrãrile `msgid' ºi `msgid_plural' nu se terminã amândouã cu '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "intrãrile `msgid' ºi `msgstr[%u]' nu se terminã amândouã cu '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "intrãrile `msgid' ºi `msgstr' nu se terminã amândouã cu '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "manipularea de plurale este o extensie a GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr nu are marcaj de accelerator de tastaturã '%c'"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr are prea multe marcaje de acceleratoare tastaturã '%c'"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr ""
"câteva câmpuri de header ar trebui sã aibã valoare implicitã iniþialã\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "câmpul header '%s' lipseºte din header\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "eroare în timpul deschiderii \"%s\" pentru citire"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr ""
"fiºierul de intrare(input) nu conþine un header cu specificaþia unui set de "
"caractere"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2843,7 +3062,7 @@ msgstr ""
"Nu se poate converti din \"%s\" în \"%s\". %s se bazeazã pe inconv(), iar "
"iconv() nu suportã aceastã conversie."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2852,8 +3071,8 @@ msgstr ""
"Conversia din \"%s\" în \"%s\" introduce duplicate: anumite msgid-uri "
"diferite devin egale."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2862,16 +3081,16 @@ msgstr ""
"Nu se poate converti din \"%s\" în \"%s\". %s se bazeazã pe iconv(). Aceastã "
"versiune a fost construitã(built) fãrã inconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s e valid doar cu %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "tip de backup"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2895,17 +3114,17 @@ msgstr ""
"exactã, se va folosi potrivirea aproximativã(fuzzy) pentru a produce rezultate\n"
"mai bune.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po traducerile referitoare la surse vechi\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot referinþe la surse noi\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2915,7 +3134,7 @@ msgstr ""
"mesaje,\n"
" poate fi specificatã de mai multe ori\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2925,27 +3144,27 @@ msgstr ""
" nu face nimic dacã def.po este deja adus la "
"zi\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Locaþie fiºiere de ieºire(output) în modul aducerii la zi(update):\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Rezultatele vor fi scrise în def.po:\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL se creazã un backup al def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFIX suprascrie sufixul obiºnuit de backup\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2965,7 +3184,7 @@ msgstr ""
" existing, nil numerotate dacã existã backup-uri, simple în caz contrar\n"
" simple, never creazã întotdeauna backup-uri simple\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, fuzzy, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2976,7 +3195,7 @@ msgstr ""
"cu\n"
"variabila de mediu SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, fuzzy, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2984,22 +3203,22 @@ msgstr ""
" --translated pãstreazã pe cele traduse, ºterge mesajele "
"netraduse\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent suprimã indicatorii de progres\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "acest mesaj ar trebui sã defineascã formele plurale"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "acest mesaj nu ar trebui sã defineascã formele plurale"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3008,28 +3227,28 @@ msgstr ""
"%sCitite %ld vechi + %ld referinþe, unite %ld, aproximãri %ld, lipsã %ld, "
"învechite %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " efectuat.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s ºi numele de fiºiere explicite se exclud reciproc"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Folosire: %s [OPÞIUNE] [FIªIER]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Converteºte catalogul de mesaje binar în fiºier .po stil Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3038,21 +3257,21 @@ msgstr ""
" -j, --java mod Java: intrarea(input) este o clasã Java\n"
"ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, fuzzy, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --tcl mod Tcl: intrarea(input) este un fiºier tcl/"
"msgcat .msg\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
"file\n"
msgstr ""
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3060,17 +3279,17 @@ msgstr ""
" --tcl mod Tcl: intrarea(input) este un fiºier tcl/"
"msgcat .msg\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FIªIER ... fiºiere de intrare(input) .mo\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Locaþie fiºiere intrare în mod Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3081,12 +3300,12 @@ msgstr ""
"resursei, separat de liniuþã_jos(underscore). Clasa e localizatã folosind "
"CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, fuzzy, c-format
msgid "Input file location in C# mode:\n"
msgstr "Locaþie fiºiere intrare în mod Tcl:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, fuzzy, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3096,12 +3315,12 @@ msgstr ""
"directorul\n"
"specificat.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Locaþie fiºiere intrare în mod Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3111,18 +3330,18 @@ msgstr ""
"directorul\n"
"specificat.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent scrie fiºierul .po folosind stil indentat\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict scrie strict fiºiere conforme Uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3144,12 +3363,12 @@ msgstr ""
"Poziþiile din fiºier vor fi cumulate. Dacã se foloseºte opþiunea --unique,\n"
"duplicatele vor fi omise.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated afiºeazã doar duplicatele\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3158,7 +3377,7 @@ msgstr ""
" -u, --unique afiºeazã doar mesajele unice, omiþând "
"duplicatele\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3217,32 +3436,32 @@ msgstr ""
"Conversia de mesaje în setul de caractere al utilizatorului nu va "
"funcþiona.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "folosire inconsistentã a #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "lipseºte secþiunea `msgstr[]'"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "lipseºte secþiunea `msgid_plural[]'"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "lipseºte secþiunea `msgstr'"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "primul plural are index nonzero"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "forma pluralã are index greºit"
@@ -3252,7 +3471,7 @@ msgstr "forma pluralã are index greºit"
msgid "too many errors, aborting"
msgstr "prea multe erori, se renunþã"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "secvenþã multibyte invalidã"
@@ -3296,72 +3515,90 @@ msgstr "sfârºit de linie în ºir"
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "acest fiºier poate sã nu conþinã directive de domeniu"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "definiþie duplicatã de mesaj"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "...aceasta este locaþia primei definiþii"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "lipseºte numele de filtru"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "valoare nplurals invalidã"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "fiºierul \"%s\" este trunchiat"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "fiºierul \"%s\" conþine un ºir terminat non NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "fiºierul \"%s\" nu este în formatul GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "fiºierul \"%s\" conþine un ºir terminat non NUL, la %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
#, fuzzy
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "%s:%lu: avertisment: sintaxã invalidã \\uxxxx pentru caracter Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: avertisment: ºir neterminat"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
#, fuzzy
msgid "warning: syntax error"
msgstr "%s:%lu: avertisment: eroare de sintaxã"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%lu: avertisment: pereche cheie/valoare neterminatã"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
#, fuzzy
msgid "warning: syntax error, expected ';' after string"
msgstr "%s:%lu: avertisment: eroare de sintaxã, se aºtepta ';' dupã ºir"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
#, fuzzy
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
"%s:%lu: avertisment: eroare de sintaxã, se aºtepta '=' sau ';' dupã ºir"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "Scris de %s.\n"
@@ -3370,43 +3607,43 @@ msgstr "Scris de %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "eroare în timpul deschiderii \"%s\" pentru citire"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "se aºteptau douã argumente"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Folosire: %s [OPÞIUNE] URL FIªIER\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3415,37 +3652,37 @@ msgstr ""
"Aduce(fetches) ºi afiºeazã(outputs) conþinutul unui URL. Dacã URL-ul nu poate\n"
"fi accesat, se va folosi în loc FIªIERul accesibil local.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "eroare în citirea lui \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "eroare în scrierea stdout"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "eroare dupã citirea lui \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
#, fuzzy
msgid ""
"Cannot output multiple translation domains into a single file with the "
@@ -3454,7 +3691,7 @@ msgstr ""
"Nu se pot scrie mai multe domenii de traduceri într-un singur fiºier cu "
"sintaxã .properties Java. Încercaþi sintaxa fiºierului PO în loc."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
#, fuzzy
msgid ""
"Cannot output multiple translation domains into a single file with the "
@@ -3463,7 +3700,7 @@ msgstr ""
"Nu se pot scrie mai multe domenii de traduceri într-un singur fiºier cu "
"sintaxã .strings NeXTstep/GNUstep."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
#, fuzzy
msgid ""
"message catalog has context dependent translations, but the output format "
@@ -3472,7 +3709,7 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã, dar formatul de "
"ieºire(output) nu le suportã."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3482,7 +3719,7 @@ msgstr ""
"ieºire(output) nu le suportã. Încercaþi generarea unei clase Java folosing "
"\"msgfmt --java\", în locul unui fiºier de proprietãþi."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3490,12 +3727,12 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã, dar formatul de "
"ieºire(output) nu le suportã."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "nu se poate crea fiºierul de ieºire(output) \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "ieºire(output) standard"
@@ -3516,43 +3753,44 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr "comunicaþia cu subprocesul %s a eºuat"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "eroare în deschiderea \"%s\" pentru scriere"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "nu este un nume valid de clasã Java: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"compilarea clasei Java a eºuat, vã rugãm încercaþi --verbose sau setaþi "
"$JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, fuzzy, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"compilarea clasei Java a eºuat, vã rugãm încercaþi --verbose sau setaþi "
"$JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "eroare în deschiderea \"%s\" pentru scriere"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "secvenþã multibyte invalidã"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"mesajele internaþionalizate nu ar trebui sã conþinã secvenþa de escape `\\%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, fuzzy, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3567,7 +3805,7 @@ msgstr ""
"pur ASCII în loc.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3582,7 +3820,7 @@ msgstr ""
"pur ASCII în loc.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3590,7 +3828,7 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã,\n"
"dar formatul catalogului de mesaje Qt nu suportã manipularea pluralelor\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
#, fuzzy
msgid ""
"message catalog has msgctxt strings containing characters outside "
@@ -3604,7 +3842,7 @@ msgstr ""
"traduse,\n"
"nu ºi in cele netraduse.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3616,12 +3854,12 @@ msgstr ""
"traduse,\n"
"nu ºi in cele netraduse.\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, fuzzy, c-format
msgid "error while writing to %s subprocess"
msgstr "eroare în scrierea fiºierului \"%s\""
-#: src/write-resources.c:131
+#: src/write-resources.c:132
#, fuzzy
msgid ""
"message catalog has context dependent translations\n"
@@ -3630,7 +3868,7 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã, dar formatul de "
"ieºire(output) nu le suportã."
-#: src/write-resources.c:150
+#: src/write-resources.c:151
#, fuzzy
msgid ""
"message catalog has plural form translations\n"
@@ -3639,7 +3877,7 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã,\n"
"dar formatul catalogului de mesaje Qt nu suportã manipularea pluralelor\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
#, fuzzy
msgid ""
"message catalog has context dependent translations\n"
@@ -3648,7 +3886,7 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã,\n"
"dar formatul catalogului de mesaje Tcl nu suportã manipularea pluralelor\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3656,39 +3894,39 @@ msgstr ""
"catalogul de mesaje are traduceri în formã pluralã,\n"
"dar formatul catalogului de mesaje Tcl nu suportã manipularea pluralelor\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: avertisment: ºir neterminat"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: avertisment: expresie regulatã neterminatã"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: avertisment: caracter Unicode invalid"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: avertisment: constantã caracter neterminatã"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: avertisment: ºir literal neterminat"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
#, fuzzy
msgid "Please specify the source encoding through --from-code."
msgstr ""
"ªir non-ASCII la %s%s.\n"
"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, fuzzy, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3697,7 +3935,7 @@ msgstr ""
"ªir non-ASCII la %s%s.\n"
"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, fuzzy, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3706,7 +3944,7 @@ msgstr ""
"ªir non-ASCII la %s%s.\n"
"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, fuzzy, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3715,7 +3953,7 @@ msgstr ""
"ªir non-ASCII la %s%s.\n"
"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, fuzzy, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3724,12 +3962,12 @@ msgstr ""
"ªir non-ASCII la %s%s.\n"
"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, fuzzy, c-format
msgid "%s:%d: iconv failure"
msgstr "eroare iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, fuzzy, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3738,267 +3976,76 @@ msgstr ""
"ªir non-ASCII la %s%s.\n"
"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: avertisment: caracter Unicode invalid"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, fuzzy, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: avertisment: ºir neterminat"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: avertisment: s-a gãsit ')' unde se aºtepta '}'"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: avertisment: s-a gãsit '}' unde se aºtepta ')'"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, fuzzy, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%d:%d: %s"
-
-#: src/x-glade.c:606
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Limbajul \"glade\" nu este suportat. %s se bazeazã pe expat.\n"
-"Aceastã versiune a fost construitã fãrã expat.\n"
-
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: avertisment: ºir neterminat"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-"ªir non-ASCII la %s%s.\n"
-"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"ªir non-ASCII la %s%s.\n"
-"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"ªir non-ASCII la %s%s.\n"
-"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"ªir non-ASCII la %s%s.\n"
-"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"ªir non-ASCII la %s%s.\n"
-"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"ªir non-ASCII la %s%s.\n"
-"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: avertisment: ºir literal neterminat"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%lu: avertisment: eroare de sintaxã"
-
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: avertisment: ºir neterminat"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: nu se poate gãsi terminatorul de ºir \"%s\" oriunde înainte de EOF"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: lipseºte acoladã dreaptã în \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolare invalidã (\"\\l\") a caracterului pe 8biþi \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolare invalidã (\"\\u\") a caracterului pe 8biþi \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: interpolare invalidã de variabilã la \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolare invalidã (\"\\L\") a caracterului pe 8biþi \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: interpolare invalidã (\"\\U\") a caracterului pe 8biþi \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "syntax check '%s' unknown"
+msgstr "limbajul `%s' este necunoscut"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:364
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
+"--join-existing nu poate fi folosit când output-ul este scris la stdout"
-#: src/x-python.c:397
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext nu poate funcþiona fãrã cuvinte cheie dupã care sã caute"
-#: src/x-python.c:722
+#: src/xgettext.c:868
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: definiþie invalidã de ºir"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: lipseºte numãr dupã #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: expresie ºir invalidã"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: avertisment: sintaxa $\"...\" nu se mai foloseºte din motive de "
-"securitate; înlocuiþi cu eval_gettext"
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: avertisment: ºir literal neterminat"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing nu poate fi folosit când output-ul este scris la stdout"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext nu poate funcþiona fãrã cuvinte cheie dupã care sã caute"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"avertisment: fiºierul `%s' extensia `%s' este necunoscut(ã); se va încerca C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr ""
"Extrage ºirurile traductibile din fiºierele de intrare(input) specificate.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4007,13 +4054,13 @@ msgstr ""
" -d, --default-domain=NUME foloseºte NUME.po pentru output \n"
"(în loc de messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=FIªIER scrie output-ul în fiºierul specificat\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -4022,12 +4069,12 @@ msgstr ""
"în \n"
"directorul DIR\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Alegerea limbajul fiºierelor de intrare(input):\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, fuzzy, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4046,12 +4093,12 @@ msgstr ""
" JavaProperties, awk, YCP, Tcl, Perl, PHP,\n"
" GCC-source, NXStringTable, RST, Glade)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ scurtãturã pentru --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4061,7 +4108,7 @@ msgstr ""
"intrare \n"
"(input)\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4070,25 +4117,25 @@ msgstr ""
" --from-code=NUME codare pentru fiºierele de intrare(input)\n"
" (exceptând Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Implicit fiºierele de intrare(input) sunt presupuse a fi în ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing alãturã mesajele fiºierului existent\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=FIªIER.po intrãrile din FIªIER.po nu vor fi "
"extrase\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, fuzzy, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4103,17 +4150,33 @@ msgstr ""
" cuvinte cheie) în fiºierul de "
"ieºire(output)\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Opþiuni specifice limbajului:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extrage toate ºirurile\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4126,7 +4189,7 @@ msgstr ""
" Python, Lisp, EmacsLisp, librep, Java, awk,\n"
" Tcl, Perl, PHP, GCC-sursã, Glade)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4139,7 +4202,7 @@ msgstr ""
" Python, Lisp, EmacsLisp, librep, Java, awk,\n"
" Tcl, Perl, PHP, GCC-sursã, Glade)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4150,7 +4213,7 @@ msgstr ""
"argumentul\n"
" numãrul ARG al cuvântului cheie CUVÂNT\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4163,7 +4226,7 @@ msgstr ""
" Python, Lisp, EmacsLisp, librep, Java, awk,\n"
" YCP, Tcl, Perl, PHP, GCC-sursã)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
@@ -4171,32 +4234,32 @@ msgstr ""
"pentru intrare\n"
" (input)\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (doar limbajele C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt recunoaºte formatul ºirurilor Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (doar limbajul C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, fuzzy, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --qt recunoaºte formatul ºirurilor Qt\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, fuzzy, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --qt recunoaºte formatul ºirurilor Qt\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4204,19 +4267,32 @@ msgstr ""
" --debug rezultat mai detaliat al recunoaºterii "
"formatstring\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output scrie un fiºier .properties Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=FIªIER obþine lista de fiºiere de intrare din "
+"FIªIER\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+" --indent scrie fiºierul .po folosind stil indentat\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=ªIR seteazã deþinãtorul copyright-ului la "
"ieºire(output)\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4224,19 +4300,19 @@ msgstr ""
" --foreign-user omite copyright FSF la ieºire pentru user "
"strãin(foreign)\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, fuzzy, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --copyright-holder=ªIR seteazã deþinãtorul copyright-ului la "
"ieºire(output)\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4244,7 +4320,7 @@ msgstr ""
" --msgid-bugs-address=EMAIL@ADRESÃ seteazã adresa de reportare a\n"
"bug-urilor msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, fuzzy, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4254,7 +4330,7 @@ msgstr ""
" -m, --msgstr-prefix[=ªIR] foloseºte ªIR sau \"\" ca prefix pentru "
"intrãrile msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, fuzzy, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4264,7 +4340,7 @@ msgstr ""
" -M, --msgstr-suffix[=ªIR] foloseºte ªIR sau \"\" ca suefix pentru "
"intrãrile msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4272,31 +4348,31 @@ msgid ""
msgstr ""
"Un argument --flag nu are sintaxa <keyword>:<argnum>:[pass-]<flag> : %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "intrare(input) standard"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: avertisment: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4305,7 +4381,7 @@ msgstr ""
"Deºi este folosit într-o poziþie de format a ºirului, %s nu este un format\n"
"al ºirului valid %s. Motiv: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4314,7 +4390,7 @@ msgstr ""
"Deºi este declarat astfel, %s nu este un format al ºirului valid %s: Motiv:\n"
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4323,7 +4399,7 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4333,27 +4409,27 @@ msgstr ""
"gettext(\"\") returneazã header-ul cu informaþii\n"
"meta, nu cu ºirul vid.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, fuzzy, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "parametru ambiguu `%s' pentru `%s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
#, fuzzy
msgid ""
"The option --msgid-bugs-address was not specified.\n"
@@ -4366,15 +4442,327 @@ msgstr ""
"aici variabila MSGID_BUGS_ADDRESS; în caz contrar\n"
"vã rugãm specificaþi optiunea --msgid-bugs-address în linia de comandã.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "limbajul `%s' este necunoscut"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: avertisment: ºir neterminat"
+
+#: src/x-javascript.c:231
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+"ªir non-ASCII la %s%s.\n"
+"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
+
+#: src/x-javascript.c:276
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"ªir non-ASCII la %s%s.\n"
+"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
+
+#: src/x-javascript.c:292
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"ªir non-ASCII la %s%s.\n"
+"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
+
+#: src/x-javascript.c:304
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"ªir non-ASCII la %s%s.\n"
+"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
+
+#: src/x-javascript.c:313
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"ªir non-ASCII la %s%s.\n"
+"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
+
+#: src/x-javascript.c:345
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"ªir non-ASCII la %s%s.\n"
+"Vã rugãm specificaþi sursa codãrii(encoding) prin --from-code.\n"
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: avertisment: ºir literal neterminat"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%lu: avertisment: eroare de sintaxã"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: avertisment: ºir neterminat"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: nu se poate gãsi terminatorul de ºir \"%s\" oriunde înainte de EOF"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: lipseºte acoladã dreaptã în \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolare invalidã (\"\\l\") a caracterului pe 8biþi \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolare invalidã (\"\\u\") a caracterului pe 8biþi \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: interpolare invalidã de variabilã la \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolare invalidã (\"\\L\") a caracterului pe 8biþi \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: interpolare invalidã (\"\\U\") a caracterului pe 8biþi \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: definiþie invalidã de ºir"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: lipseºte numãr dupã #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: expresie ºir invalidã"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: avertisment: sintaxa $\"...\" nu se mai foloseºte din motive de "
+"securitate; înlocuiþi cu eval_gettext"
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: avertisment: ºir literal neterminat"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr ""
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "secvenþã de control invalidã"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "nu este un nume valid de clasã Java: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "nu este un nume valid de clasã Java: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "secvenþã de control invalidã"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "secvenþã multibyte invalidã"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "parametru invalid `%s' pentru `%s'"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "lipseºte numele de filtru"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opþiune ilegalã -- %c\n"
@@ -4421,6 +4809,16 @@ msgstr ""
#~ msgid "%s:%lu: warning: unterminated string"
#~ msgstr "%s:%lu: avertisment: ºir neterminat"
+#~ msgid "%s:%d:%d: %s"
+#~ msgstr "%s:%d:%d: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Limbajul \"glade\" nu este suportat. %s se bazeazã pe expat.\n"
+#~ "Aceastã versiune a fost construitã fãrã expat.\n"
+
#~ msgid "%s:%d: fatal: plural message seen before singular message\n"
#~ msgstr "%s:%d: fatal: mesaj plural întâlnit înainte de mesajul singular\n"
diff --git a/gettext-tools/po/ru.gmo b/gettext-tools/po/ru.gmo
index 69c459c..1319132 100644
--- a/gettext-tools/po/ru.gmo
+++ b/gettext-tools/po/ru.gmo
Binary files differ
diff --git a/gettext-tools/po/ru.po b/gettext-tools/po/ru.po
index cb79635..55113f8 100644
--- a/gettext-tools/po/ru.po
+++ b/gettext-tools/po/ru.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.19.3\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2014-11-19 09:30+0200\n"
"Last-Translator: Pavel Maryanov <acid@jack.kiev.ua>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
@@ -59,40 +59,40 @@ msgstr "невозможно удалить временный каталог %s
msgid "write error"
msgstr "ошибка запиÑи"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "Ñохранение прав доÑтупа Ð´Ð»Ñ %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "ошибка при открытии файла %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "не удалоÑÑŒ открыть файл резервной копии %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "ошибка запиÑи %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "ошибка поÑле Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "ошибка при вызовы fdopen()"
@@ -118,58 +118,63 @@ msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÑиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
msgid "%s subprocess failed"
msgstr "дочерний процеÑÑ %s завершилÑÑ Ð½ÐµÑƒÑпехом"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: двуÑмыÑленный параметр «%s»; возможные варианты:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: двуÑмыÑленный параметр «-W %s»\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: у параметра «--%s» не может быть аргумента\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: у параметра «%c%s» не может быть аргумента\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «--%s» требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: неизвеÑтный параметр «--%s»\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: неизвеÑтный параметр «%c%s»\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: недопуÑтимый параметр — «%c»\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ — «%c»\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: двуÑмыÑленный параметр «-W %s»\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: у параметра «-W %s» не может быть аргумента\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «-W %s» требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚\n"
@@ -185,15 +190,16 @@ msgstr "неправильный аргумент source_version Ð´Ð»Ñ compile_
msgid "invalid target_version argument to compile_java_class"
msgstr "неправильный аргумент target_version Ð´Ð»Ñ compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "ошибка при Ñоздании «%s»"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "ошибка запиÑи файла «%s»"
@@ -211,15 +217,15 @@ msgstr ""
"Ðе найдена Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð° Java, поÑтавьте gij или уÑтановите переменную "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "ошибка ввода/вывода в дочернем процеÑÑе %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "памÑÑ‚ÑŒ иÑчерпана"
@@ -230,7 +236,7 @@ msgid "creation of threads failed"
msgstr "ошибка при Ñоздании нитей"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "ошибка при запиÑи в дочерний процеÑÑ %s"
@@ -277,11 +283,11 @@ msgstr "дочерний процеÑÑ %s завершилÑÑ Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "«"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "»"
@@ -317,53 +323,195 @@ msgstr "дочерний процеÑÑ %s"
msgid "%s subprocess got fatal signal %d"
msgstr "дочерний процеÑÑ %s получил фатальный Ñигнал %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Корневой Ñлемент <%s> недопуÑтим в корректном файле Glade"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"Строка «%s» не подходит под формат %s, в отличие от иÑходной «%s». Причина: "
-"%s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "По команде «%s --help» можно получить дополнительную информацию.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "ИÑпользование: %s [ПÐРÐМЕТР] [ФÐЙЛ]…\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Ðргументы, обÑзательные Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… параметров, обÑзательны и Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n"
+"То же и Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ñзательных аргументов.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help показать Ñту Ñправку и выйти\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help показать Ñту Ñправку и выйти\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version показать информацию о верÑии и выйти\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Об ошибках Ñообщайте по адреÑу <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: GNU GPL верÑии 3 или новее <http://gnu.org/licenses/gpl.html>\n"
+"Это Ñвободное ПО: вы можете продавать и раÑпроÑтранÑÑ‚ÑŒ его.\n"
+"Ðет ÐИКÐКИХ ГÐРÐÐТИЙ до Ñтепени, разрешённой законом.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Ðвтор программы — %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s ÑущеÑтвует, но недоÑтупен Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "невозможно удалить временный каталог %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° аргумента %u в «%s» не ÑущеÑтвует в «%s»"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° аргумента %u не ÑущеÑтвует в «%s»"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "Ñпецификации формата в «%s» и «%s» не Ñовпадают Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° %u"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Директива номер %u начинаетÑÑ Ñ |, но не заканчиваетÑÑ Ð½Ð° |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"Строка «%s» не подходит под формат %s, в отличие от иÑходной «%s». Причина: "
+"%s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -373,60 +521,60 @@ msgstr ""
"Ñпецификации формата. ДопуÑтимые имена макроÑов перечиÑлены в ISO C 99, "
"раздел 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"Ð’ директиве номер %u поÑле лекÑемы, ÑтоÑщей за «<», нет закрывающего «>»."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Строка ÑÑылаетÑÑ Ð½Ð° аргумент номер %u, но игнорирует аргумент номер %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "не Ñовпадает количеÑтво Ñпецификаций формата в «%s» и «%s»"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "Ð’ директиве номер %u поÑле «{» не Ñтоит номер аргумента."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Ð’ директиве номер %u поÑле «,» не Ñтоит чиÑло."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Строка обрываетÑÑ Ð¿Ð¾Ñреди директивы: найдена «{» без ÑоответÑтвующей «}»."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "Директива номер %u заканчиваетÑÑ Ð½Ð° неверный Ñимвол «%c», а не на «}»."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Директива номер %u заканчиваетÑÑ Ð½Ð° неверный Ñимвол, а не на «}»."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"Строка начинаетÑÑ Ð¿Ð¾Ñреди директивы: найдена «}» без ÑоответÑтвующей «{»."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Строка Ñодержит непарную «}» поÑле директивы номер %u."
@@ -548,7 +696,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Строка ÑÑылаетÑÑ Ð½Ð° аргумент номер %u неÑовмеÑтимым образом."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -556,18 +704,18 @@ msgid ""
msgstr ""
"Ð’ директиве номер %u подÑтрока «%s» не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ñ‹Ð¼ Ñтилем даты/времени."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Ð’ директиве номер %u поÑле «%s» не Ñтоит запÑтаÑ."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "Ð’ директиве номер %u подÑтрока «%s» не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ñ‹Ð¼ Ñтилем чиÑла."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -576,12 +724,12 @@ msgstr ""
"Ð’ директиве номер %u поÑле номера аргумента не Ñтоит запÑÑ‚Ð°Ñ Ð¸ одно из «%s», "
"«%s», «%s», «%s»."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "Ð’ директиве номер %u оператор выбора не Ñодержит номера."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -590,24 +738,44 @@ msgstr ""
"Ð’ директиве номер %u оператор выбора Ñодержит чиÑло, за которым не Ñледует "
"«<», «#» или «%s»."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° аргумента {%u} в «%s» не ÑущеÑтвует в «%s»"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° {%u} нет Ñпецификации формата в «%s»"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "в «%s» и «%s» не Ñовпадают Ñпецификации формата Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° {%u}"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Строка ÑÑылаетÑÑ Ð½Ð° аргумент номер %u, но игнорирует аргумент номер %u."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° аргумента %u в «%s» не ÑущеÑтвует в «%s»"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Â«%s»"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -617,7 +785,7 @@ msgstr ""
"Ð’ директиве номер %u параметр %u принадлежит типу «%s», но ожидаетÑÑ "
"параметр типа «%s»."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -635,33 +803,33 @@ msgstr[2] ""
"Ð’ директиве номер %u указано Ñлишком много параметров; ожидалоÑÑŒ не более %u "
"параметров"
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Ð’ директиве номер %u поÑле «%c» не Ñтоит цифра."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "В директиве номер %u аргумент %d отрицателен."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Строка обрываетÑÑ Ð¿Ð¾Ñреди директивы ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Ð’Ñтречено «~%c» без ÑоответÑтвующего «~%c»."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "В директиве номер %u одновременно заданы модификаторы @ и :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -669,27 +837,33 @@ msgid ""
msgstr ""
"Ð’ директиве номер %u поÑле «~:[» не ÑтоÑÑ‚ два предложениÑ, разделенные «~;»."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "Ð’ директиве номер %u «~;» иÑпользована в неверном меÑте."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Строка ÑÑылаетÑÑ Ð½Ð° какой-то аргумент неÑовмеÑтимым образом."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "Ñпецификации формата в «%s» и «%s» не Ñквивалентны"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"Ñпецификации формата в «%s» не ÑвлÑÑŽÑ‚ÑÑ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑтвом Ñпецификаций из «%s»"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° «%s» нет Ñпецификации формата в «%s»"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -698,14 +872,35 @@ msgstr ""
"Ð’ директиве номер %u Ñпецификатор размера неÑовмеÑтим Ñо Ñпецификатором "
"Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Â«%c»."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° «%s» нет Ñпецификации формата в «%s»"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Ð’ директиве номер %u Ñ Â«%c» не может начинатьÑÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "Ð’ директиве номер %u Ñ Â«%c» не может начинатьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Ð’ директиве номер %u Ñ Â«%c» не может начинатьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ getitem."
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"Ð’ директиве номер %u в Ñпецификаторе формата невозможно указать большую "
+"вложенноÑÑ‚ÑŒ."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Ð’ директиве номер %u еÑÑ‚ÑŒ Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° формата."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -713,64 +908,36 @@ msgstr ""
"Строка ÑÑылаетÑÑ Ð½Ð° аргументы как по именам, так и по безымÑнным "
"ÑпецификациÑм аргументов."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "Строка ÑÑылаетÑÑ Ð½Ð° аргумент по имени «%s» неÑовмеÑтимым образом."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° в «%s» ожидает отображение, а в «%s» — кортеж"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° в «%s» ожидает кортеж, а в «%s» — отображение"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° аргумента «%s» в «%s» не ÑущеÑтвует в «%s»"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "в «%s» и «%s» не Ñовпадают Ñпецификации формата Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° «%s»"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Ð’ директиве номер %u Ñ Â«%c» не может начинатьÑÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "Ð’ директиве номер %u Ñ Â«%c» не может начинатьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Ð’ директиве номер %u Ñ Â«%c» не может начинатьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"Ð’ директиве номер %u в Ñпецификаторе формата невозможно указать большую "
-"вложенноÑÑ‚ÑŒ."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Ð’ директиве номер %u еÑÑ‚ÑŒ Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° формата."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -779,12 +946,12 @@ msgstr ""
"«%s» ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ñтой Ñтрокой формата, но «%s» нет: в ней ÑодержитÑÑ Ñ„Ð»Ð°Ð³ "
"«L» или аргумент Ñ Ñ‡Ð¸Ñлом из двух цифр"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"Строка ÑÑылаетÑÑ Ð½Ð° переменную оболочки Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, не предÑтавимым в ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -793,7 +960,7 @@ msgstr ""
"Ñкобок. Этот ÑÐ¸Ð½Ñ‚Ð°ÐºÑ‚Ð¸Ñ Ð½Ðµ поддерживаетÑÑ Ð² Ñтой программе по ÑоображениÑм "
"безопаÑноÑти."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -801,93 +968,58 @@ msgstr ""
"Строка ÑÑылаетÑÑ Ð½Ð° переменную оболочки, чье значение может оказатьÑÑ Ð¸Ð½Ñ‹Ð¼ "
"внутри функций оболочки."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Строка ÑÑылаетÑÑ Ð½Ð° переменную оболочки Ñ Ð¿ÑƒÑтым именем."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "Ð’ директиве номер %u Ñимвол «%c» не ÑвлÑетÑÑ Ñ†Ð¸Ñ„Ñ€Ð¾Ð¹ между 1 и 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Символ, завершающий директиву номер %u не ÑвлÑетÑÑ Ñ†Ð¸Ñ„Ñ€Ð¾Ð¹ между 1 и 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: GNU GPL верÑии 3 или новее <http://gnu.org/licenses/gpl.html>\n"
-"Это Ñвободное ПО: вы можете продавать и раÑпроÑтранÑÑ‚ÑŒ его.\n"
-"Ðет ÐИКÐКИХ ГÐРÐÐТИЙ до Ñтепени, разрешённой законом.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Ðвтор программы — %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Бруно Хайбл"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "Ñлишком много аргументов"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "По команде «%s --help» можно получить дополнительную информацию.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Печатает Ð¸Ð¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ машины.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Формат вывода:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short короткое Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -897,77 +1029,103 @@ msgstr ""
" -f, --fqdn, --long длинное Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹, включает полноÑтью\n"
" заданное доменное Ð¸Ð¼Ñ Ð¸ пÑевдонимы\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address адреÑа Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ имени машины\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Информационный вывод:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help показать Ñту Ñправку и выйти\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "невозможно получить Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version показать информацию о верÑии и выйти\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "необходимо задать не менее двух файлов"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Об ошибках Ñообщайте по адреÑу <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "невозможно Ñоздать канал"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "невозможно получить Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "неверный аргумент %s Ð´Ð»Ñ %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "невозможно Ñоздать канал"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s не ÑущеÑтвует"
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "невозможно Ñоздать файл вывода «%s»"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "принимаетÑÑ Ð½Ðµ более одного входного файла"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s и %s взаимно иÑключают друг друга"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] [ВХОДÐОЙ-ФÐЙЛ]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -976,64 +1134,65 @@ msgstr ""
"Фильтрует ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° переводов в ÑоответÑтвии Ñ Ð¸Ñ… атрибутами\n"
"и манипулирует Ñтими атрибутами.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Ðргументы, обÑзательные Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… параметров, обÑзательны и Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Ðахождение входного файла:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " ВХОДÐОЙ-ФÐЙЛ входной PO-файл\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr ""
" -D, --directory=КÐТÐЛОГ добавить КÐТÐЛОГ к пути поиÑка входных файлов\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"ЕÑли входной файл не задан или задан как -, читаетÑÑ Ñтандартный ввод.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Ðахождение выходного файла:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=ФÐЙЛ запиÑать вывод в указанный файл\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1042,12 +1201,12 @@ msgstr ""
"Результаты выводÑÑ‚ÑÑ Ð½Ð° Ñтандартный вывод, еÑли выходной файл не задан\n"
"или задан как -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Выбор Ñообщений:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1055,7 +1214,7 @@ msgstr ""
" --translated Ñохранить переведенные, удалить "
"непереведённые\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1063,56 +1222,56 @@ msgstr ""
" --untranslated Ñохранить непереведённые, удалить "
"переведенные\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy удалить ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ как «неточные»\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy Ñохранить ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ как «неточные»\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr ""
" --no-obsolete удалить ÑообщениÑ, помеченные как «Ñтарые»\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr ""
" --only-obsolete Ñохранить ÑообщениÑ, помеченные как «Ñтарые»\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Операции Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy пометить вÑе ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº «неточные»\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy ÑнÑÑ‚ÑŒ вÑе пометки «неточное»\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete пометить вÑе ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº «Ñтарые»\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete ÑнÑÑ‚ÑŒ вÑе пометки «Ñтарое»\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1121,7 +1280,7 @@ msgstr ""
" --previous еÑли пометка «неточное», то Ñохранить\n"
" предыдущие msgid переведённых Ñообщений\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1129,7 +1288,7 @@ msgid ""
msgstr ""
" --clear-previous удалить «предыдущий msgid» из вÑех Ñообщений\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1137,7 +1296,7 @@ msgstr ""
" --empty при удалении «неточных», также делать\n"
" msgstr пуÑтой\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1145,7 +1304,7 @@ msgstr ""
" --only-file=ФÐЙЛ.po обработать ÑообщениÑ, перечиÑленные в ФÐЙЛЕ."
"po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1153,36 +1312,36 @@ msgstr ""
" --ignore-file=ФÐЙЛ.po обработать ÑообщениÑ, не перечиÑленные\n"
" в ФÐЙЛЕ.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy Ñиноним Ð´Ð»Ñ --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete Ñиноним Ð´Ð»Ñ --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "СинтакÑÐ¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input входной файл имеет ÑинтакÑÐ¸Ñ Java .properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1191,17 +1350,17 @@ msgstr ""
" --stringtable-input входной файл имеет ÑинтакÑÐ¸Ñ NeXTstep/GNUstep ."
"strings\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "ПодробноÑти выходного формата:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1216,17 +1375,17 @@ msgstr ""
" КОГДРможет быть: «always» (вÑегда),\n"
" «never» (никогда), «auto» или «html»\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=ФÐЙЛ_СТИЛЯ указать файл правил Ñтилей CSS Ð´Ð»Ñ --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1234,9 +1393,9 @@ msgstr ""
" -e, --no-escape не иÑпользовать при выводе Ñкранирующие\n"
" поÑледовательноÑти Ñзыка C (по умолчанию)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1244,28 +1403,28 @@ msgstr ""
" -E, --escape иÑпользовать Ñкранирующие поÑледовательноÑти,\n"
" а не раÑширенные Ñимволы\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po запиÑать PO-файл, даже еÑли он пуÑÑ‚\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent форматировать PO-файл, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ñ‚Ñтупы\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location не пиÑать Ñтроки «#: файл:Ñтрока»\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1273,8 +1432,8 @@ msgstr ""
" -n, --add-location генерировать Ñтроки «#: файл:Ñтрока»\n"
" (по умолчанию)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1283,32 +1442,32 @@ msgstr ""
"Ñтандарту\n"
" Uniforum\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output запиÑать .properties-файл Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output запиÑать .strings-файл NeXTstep/GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=ЧИСЛО задает ширину выходной Ñтраницы\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1317,31 +1476,31 @@ msgstr ""
" --no-wrap не разбивать длинные Ñтроки, которые длиннее\n"
" ширины выходной Ñтраницы\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output Ñортировать вывод\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file Ñортировать вывод по именам файлов\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "задан недопуÑтимый критерий выбора (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] [ВХОДÐОЙ-ФÐЙЛ]…\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1364,24 +1523,24 @@ msgstr ""
"но еÑли задан параметр --use-first, то они берутÑÑ Ð¸Ð· первого PO-файла,\n"
"в котором были определены.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " ВХОДÐОЙ-ФÐЙЛ... входные файлы\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=ФÐЙЛ получить ÑпиÑок входных файлов из ФÐЙЛÐ\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "ЕÑли входной файл задан как -, читаетÑÑ Ñтандартный ввод.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1391,7 +1550,7 @@ msgstr ""
" определений меньше заданного ЧИСЛÐ\n"
" (по умолчанию не ограничено)\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1401,7 +1560,7 @@ msgstr ""
" определений больше заданного ЧИСЛÐ\n"
" (по умолчанию больше нулÑ)\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1410,8 +1569,8 @@ msgstr ""
" -u, --unique Ñокращение Ð´Ð»Ñ --less-than=2, запрашивает\n"
" печать только уникальных Ñообщений\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1419,8 +1578,8 @@ msgstr ""
" -P, --properties-input входные файлы имеют ÑинтакÑÐ¸Ñ Java ."
"properties\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1430,12 +1589,12 @@ msgstr ""
"GNUstep\n"
" .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=ИМЯ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð°Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ°\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1444,33 +1603,33 @@ msgstr ""
" --use-first иÑпользовать первый доÑтупный перевод длÑ\n"
" каждого ÑообщениÑ, не объединÑÑ‚ÑŒ переводы\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=ИМЯ_КÐТÐЛОГРзадать поле «Language» в заголовке\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Питер Миллер"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "не заданы входные файлы"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "необходимо задать два входных файла"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1488,22 +1647,22 @@ msgstr ""
"Ð”Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾Ñтики иÑпользуетÑÑ Ð¿Ñ€Ð¸Ð±Ð»Ð¸Ð·Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ñравнение, еÑли\n"
"Ð½ÐµÐ»ÑŒÐ·Ñ Ð½Ð°Ð¹Ñ‚Ð¸ точное Ñовпадение.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po переводы\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot ÑÑылки на иÑходники\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Модификаторы режима работы:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1511,52 +1670,52 @@ msgid ""
msgstr ""
" -m, --multi-domain применить ref.pot ко вÑем доменам из def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching не применÑÑ‚ÑŒ нечеткое ÑопоÑтавление\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy иÑпользовать неточные запиÑи\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated иÑпользовать непереведённые запиÑи\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "Ñто Ñообщение не переведено"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "Ñто Ñообщение должно быть проверено переводчиком"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "Ñто Ñообщение иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹, но не было определено..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...однако здеÑÑŒ определено похожее Ñообщение"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "Ñто Ñообщение не было определено в %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "предупреждение: Ñто Ñообщение не иÑпользуетÑÑ"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1564,12 +1723,12 @@ msgstr[0] "найдена %d критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
msgstr[1] "найдено %d критичеÑкие ошибки"
msgstr[2] "найдено %d критичеÑких ошибок"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "необходимо задать не менее двух файлов"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1589,7 +1748,7 @@ msgstr ""
"комментарии ÑохранÑÑŽÑ‚ÑÑ, но только из первого PO-файла, в котором они\n"
"были определены. ÐŸÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² файлах ÑохранÑÑŽÑ‚ÑÑ Ð¸Ð· вÑех PO-файлов.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1599,41 +1758,41 @@ msgstr ""
" определений больше заданного ЧИСЛÐ\n"
" (по умолчанию больше одного)\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header не выводить заголовок Ñ Ð¿Ð¾Ð»ÐµÐ¼ «msgid \"\"»\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Преобразует каталог переводов в другую кодировку.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Цель преобразованиÑ:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "По умолчанию иÑпользуетÑÑ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° текущей локали.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent иÑпользовать на выводе отÑтупы\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location убрать Ñтроки «#: файл:Ñтрока»\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1641,30 +1800,30 @@ msgstr ""
" -n, --add-location ÑохранÑÑ‚ÑŒ Ñтроки «#: файл:Ñтрока»\n"
" (по умолчанию)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict выводить в Ñтрогом ÑоответÑтвии\n"
" Ñтандарту Uniforum\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "не задан входной файл"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "необходимо задать ровно один входной файл"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] ВХОДÐОЙ-ФÐЙЛ\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1677,22 +1836,22 @@ msgstr ""
"программой xgettext). Ðепереведённым ÑообщениÑм даетÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´,\n"
"Ñовпадающий Ñ msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " ВХОДÐОЙ-ФÐЙЛ входной PO- или POT-файл\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "не задана команда"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] КОМÐÐДР[ПÐРÐМЕТР-КОМÐÐДЫ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1707,7 +1866,7 @@ msgstr ""
"вывод отправлÑетÑÑ Ð½Ð° выход msgexec. Значение, возвращаемое msgexec —\n"
"Ñто макÑимальный код возврата Ñреди вÑех вызовов.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1716,37 +1875,47 @@ msgstr ""
"Ð¡Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° «0» выводит перевод и за ним нулевой\n"
"байт. Вывод «msgexec 0» подходит Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ на вход «xargs -0».\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "Ñтандартный ввод"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help показать Ñту Ñправку и выйти\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=ВХОДÐОЙ-ФÐЙЛ входной PO-файл\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "запиÑÑŒ на Ñтандартный вывод завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "не задано Ð¸Ð¼Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "необходимо задать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один Ñценарий sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] ФИЛЬТР [ПÐРÐМЕТР-ФИЛЬТРÐ]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "ПрименÑет фильтр ко вÑем переводам каталога.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1756,18 +1925,30 @@ msgstr ""
"и\n"
"печатающей измененный перевод на Ñтандартный вывод.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Полезные ПÐРÐМЕТРЫ-ФИЛЬТРРв Ñлучае, еÑли ФИЛЬТРОМ ÑвлÑетÑÑ Â«sed»:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=СЦЕРдобавить СЦЕРк выполнÑемым командам\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1777,14 +1958,14 @@ msgstr ""
" -f, --file=ФÐЙЛ-СЦЕРдобавить Ñодержимое файла ФÐЙЛ-СЦЕРк\n"
" выполнÑемым командам\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent выключить автоматичеÑкую печать образца\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1793,12 +1974,12 @@ msgstr ""
" escape-поÑледовательноÑти Ñзыка C (по "
"умолчанию)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent иÑпользовать на выводе отÑтупы\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1806,71 +1987,81 @@ msgstr ""
" --keep-header Ñохранить заголовок как еÑÑ‚ÑŒ, не фильтровать "
"его\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "файл «%s» Ñодержит Ñтроку, не завершённую нулем"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "аргумент %s должен быть одиночным знаком пунктуации"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "неверный порÑдок байт: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ульрих Дреппер"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ входной файл, еÑли задан %s или %s"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "Ð´Ð»Ñ %s требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ «-d каталог»"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "Ð´Ð»Ñ %s требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ «-l локаль»"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "Ð´Ð»Ñ %s требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ «--template шаблон»"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "Ð´Ð»Ñ %s требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ «-o файл»"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s и %s взаимно иÑключают друг друга в %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s допуÑтимо только Ñ %s или %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s допуÑтимо только Ñ %s, %s или %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "невозможно Ñоздать файл вывода «%s»"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1878,7 +2069,7 @@ msgstr[0] "%d переведённое Ñообщение"
msgstr[1] "%d переведённых ÑообщениÑ"
msgstr[2] "%d переведённых Ñообщений"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1886,7 +2077,7 @@ msgstr[0] ", %d неточный перевод"
msgstr[1] ", %d неточных перевода"
msgstr[2] ", %d неточных переводов"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1894,36 +2085,27 @@ msgstr[0] ", %d непереведённое Ñообщение"
msgstr[1] ", %d непереведённых ÑообщениÑ"
msgstr[2] ", %d непереведённых Ñообщений"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] имÑ-файла.po …\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Создаёт двоичный каталог Ñообщений из текÑтового опиÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð².\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Ðргументы, обÑзательные Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… параметров, обÑзательны и Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n"
-"То же и Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ñзательных аргументов.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " имÑ-файл.po ... входные файлы\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Режим работы:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1931,7 +2113,7 @@ msgid ""
msgstr ""
" -j, --java режим Java: Ñоздает Java-клаÑÑ ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1940,12 +2122,12 @@ msgstr ""
" --java2 как --java, но предполагает Java2 (JDK 1.2 или "
"выше)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp режим C#: генерировать .dll-файл .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1954,19 +2136,19 @@ msgstr ""
" --csharp-resources режим реÑурÑов C#: генерировать .resources-файл ."
"NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl режим Tcl: Ñоздает .msg-файл Ð´Ð»Ñ tcl/msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt режим Qt: генерировать .qm-файл Qt\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1974,30 +2156,35 @@ msgstr ""
" --desktop режим Desktop Entry: генерировать файл ."
"desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt режим Qt: генерировать .qm-файл Qt\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict Ñтрого ÑоответÑтвовать Ñтандарту Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"ЕÑли выходной файл задан как -, результаты выводÑÑ‚ÑÑ Ð½Ð° Ñтандартный вывод.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Ðахождение выходного файла в режиме Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=РЕСУРС Ð¸Ð¼Ñ Ñ€ÐµÑурÑа\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2005,7 +2192,7 @@ msgid ""
msgstr ""
" -l, --locale=ЛОКÐЛЬ Ð¸Ð¼Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸, Ñто либо Ñзык, либо Ñзык_СТРÐÐÐ\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2013,14 +2200,14 @@ msgid ""
msgstr ""
" --source Ñоздавать файл .java, вмеÑто файла .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d КÐТÐЛОГ корневой каталог иерархии каталогов клаÑÑов\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2033,12 +2220,12 @@ msgstr ""
"указанный\n"
"каталог.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Ðахождение выходного файла в режиме C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2047,7 +2234,7 @@ msgstr ""
" -d КÐТÐТОГ базовый каталог Ð´Ð»Ñ Ð·Ð°Ð²Ð¸ÑÑщих от локали .dll-"
"файлов\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2057,17 +2244,17 @@ msgstr ""
"подкаталог указанного каталога, Ð¸Ð¼Ñ Ñтого подкаталога завиÑит от\n"
"локали.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Ðахождение входного файла в режиме Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr " -d КÐТÐЛОГ корневой каталог иерархии .msg-файлов\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2076,23 +2263,23 @@ msgstr ""
"Параметры -l и -d обÑзательны. Выходной .msg-файл запиÑываетÑÑ Ð² указанный "
"каталог.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Параметры режима Desktop Entry:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=ШÐБЛОРв качеÑтве шаблона иÑпользовать файл .desktop\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d КÐТÐЛОГ корневой каталог файлов .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2101,7 +2288,7 @@ msgstr ""
" -k, --keyword[=СЛОВО] дополнительное ключевое Ñлово Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка\n"
" -k, --keyword не иÑпользовать ключевые Ñлова по умолчанию\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2111,12 +2298,28 @@ msgstr ""
"Параметры -l, -o и --template обÑзательны. ЕÑли указан -D, то входные\n"
"файлы читаютÑÑ Ð¸Ð· каталога, а не берутÑÑ Ð¸Ð· аргументов командной Ñтроки.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "Параметры режима Desktop Entry:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+" --template=ШÐБЛОРв качеÑтве шаблона иÑпользовать файл .desktop\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð°Ñ†Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2127,13 +2330,13 @@ msgstr ""
" параметрами --check-format, --check-header,\n"
" --check-domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format проверить завиÑÑщие от Ñзыка форматные Ñтроки\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2141,7 +2344,7 @@ msgid ""
msgstr ""
" --check-header проверить наличие и Ñодержимое заголовка\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2151,7 +2354,7 @@ msgstr ""
"домена\n"
" и параметром --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2160,7 +2363,7 @@ msgstr ""
" -C, --check-compatibility проверить, что GNU msgfmt ведет ÑÐµÐ±Ñ Ñ‚Ð°Ðº же, \n"
" как X/Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2171,13 +2374,13 @@ msgstr ""
" проверить наличие клавиатурных\n"
" Ñквивалентов Ð´Ð»Ñ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð² меню\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy иÑпользовать при выводе неточные переводы\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2185,7 +2388,7 @@ msgstr ""
" -a, --alignment=ЧИСЛО выравнивать Ñтроки по ЧИСЛУ байт (по "
"умолчанию: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2197,100 +2400,99 @@ msgstr ""
" порÑдке байт (big или little, значение по\n"
" умолчанию завиÑит от платформы)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash двоичный файл не будет включать Ñ…Ñш-таблицу\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics напечатать ÑтатиÑтику о переводах\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr ""
" -v, --verbose увеличить подробноÑÑ‚ÑŒ диагноÑтичеÑких "
"Ñообщений\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "предупреждение: заголовок PO-файла отÑутÑтвует или неправилен\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "предупреждение: преобразование кодировок не будет работать\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "предупреждение: заголовок PO-файла помечен как неточный\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "предупреждение: более Ñтарые верÑии msgfmt выдадут здеÑÑŒ ошибку\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "Ð¸Ð¼Ñ Ð´Ð¾Ð¼ÐµÐ½Ð° «%s» не может быть иÑпользовано в качеÑтве имени файла"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"Ð¸Ð¼Ñ Ð´Ð¾Ð¼ÐµÐ½Ð° «%s» недопуÑтимо в качеÑтве имени файла, будет иÑпользовано\n"
"чаÑтично уÑеченное Ð¸Ð¼Ñ Ð´Ð¾Ð¼ÐµÐ½Ð°"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "директива «domain %s» игнорируетÑÑ"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "пуÑÑ‚Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ «msgstr» игнорируетÑÑ"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "Ð½ÐµÑ‚Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ «msgstr» игнорируетÑÑ"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: предупреждение: иÑходный файл Ñодержит неточные переводы"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s не ÑущеÑтвует"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s ÑущеÑтвует, но недоÑтупен Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Â«%s»"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2299,7 +2501,7 @@ msgstr ""
"параметр «%c» Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать до того, как заданы «J», «K», «T», «C» или "
"«X»"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2308,7 +2510,7 @@ msgstr ""
"Извлекает из каталога переводов вÑе ÑообщениÑ, которые ÑоответÑтвуют\n"
"заданному образцу или принадлежат заданным иÑходным файлам.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2395,7 +2597,7 @@ msgstr ""
" -v, --invert-match выводить только ÑообщениÑ, которые не\n"
" ÑоответÑтвуют ни одному критерию выбора\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2403,12 +2605,12 @@ msgstr ""
" --escape иÑпользовать Ñкранирующие поÑледовательноÑти,\n"
" а не раÑширенные Ñимволы\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output Ñортировать вывод\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file Ñортировать вывод по именам файлов\n"
@@ -2512,14 +2714,14 @@ msgstr ""
"В текущем каталоге не найден pot-файл.\n"
"Укажите входной pot-файл Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "дочерний процеÑÑ %s завершилÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾ Ñ ÐºÐ¾Ð´Ð¾Ð¼ выхода %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2535,28 +2737,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "ÐнглийÑкие переводы Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° «%s» не ÑвлÑетÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñимым именем кодировки"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "во входном файле две разные кодировки «%s» и «%s»"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "входной файл «%s» не Ñодержит запиÑÑŒ заголовка Ñ Ð¾Ð¿Ð¸Ñанием кодировки"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2565,19 +2767,19 @@ msgstr ""
"домен «%s» во входном файле «%s» не Ñодержит запиÑÑŒ заголовка Ñ Ð¾Ð¿Ð¸Ñанием "
"кодировки"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "Ñ†ÐµÐ»ÐµÐ²Ð°Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° «%s» не ÑвлÑетÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñимым именем кодировки."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "предупреждение: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2586,7 +2788,7 @@ msgstr ""
"Входные файлы Ñодержат ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² разных кодировках, в том чиÑле в\n"
"UTF-8. Вывод преобразуетÑÑ Ðº UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2599,7 +2801,7 @@ msgstr ""
"Вывод преобразуетÑÑ Ðº UTF-8. Чтобы выбрать другую выходную кодировку,\n"
"иÑпользуйте параметр --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2613,7 +2815,7 @@ msgstr ""
"они\n"
"изначально предÑтавлены в UTF-8, например в иÑходных файлах программы.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2625,12 +2827,12 @@ msgstr ""
"Вывод «%s» может быть неправильным.\n"
"Возможные методы обойти Ñту Ñитуацию:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- УÑтановить LC_ALL равной локали Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¾Ð¹ %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2641,7 +2843,7 @@ msgstr ""
" затем применить «%s»,\n"
" затем преобразовать обратно к %s Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «msgconv».\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2654,7 +2856,7 @@ msgstr ""
" затем применить «%s»,\n"
" затем преобразовать обратно к %s Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «msgconv».\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2665,26 +2867,26 @@ msgstr ""
"Вывод «%s» может быть неправильным.\n"
"Возможный метод обойти Ñту Ñитуацию — уÑтановить LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "выражение во множеÑтвенном чиÑле может давать отрицательные значениÑ"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, но выражение во множеÑтвенном чиÑле может давать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾ "
"%lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "выражение во множеÑтвенном чиÑле может давать деление на ноль"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "выражение во множеÑтвенном чиÑле может дать переполнение целого"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2692,37 +2894,37 @@ msgstr ""
"выражение во множеÑтвенном чиÑле может давать иÑключительные Ñитуации в "
"арифметике, возможно, деление на ноль"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Попробуйте Ñледующее, подходит Ð´Ð»Ñ %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "каталог Ñообщений Ñодержит переводы во множеÑтвенном чиÑле"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "но в заголовке нет атрибута «plural=ВЫРÐЖЕÐИЕ»"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "но в заголовке нет атрибута «nplurals=ЦЕЛОЕ»"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "неверное выражение во множеÑтвенном чиÑле"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2730,7 +2932,7 @@ msgstr[0] "но в некоторых ÑообщениÑÑ… только %lu фо
msgstr[1] "но в некоторых ÑообщениÑÑ… только %lu формы во множеÑтвенном чиÑле"
msgstr[2] "но в некоторых ÑообщениÑÑ… только %lu форм во множеÑтвенном чиÑле"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2738,7 +2940,7 @@ msgstr[0] "но в некоторых ÑообщениÑÑ… еÑÑ‚ÑŒ %lu форм
msgstr[1] "но в некоторых ÑообщениÑÑ… еÑÑ‚ÑŒ %lu формы во множеÑтвенном чиÑле"
msgstr[2] "но в некоторых ÑообщениÑÑ… еÑÑ‚ÑŒ %lu форм во множеÑтвенном чиÑле"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2746,73 +2948,89 @@ msgstr ""
"каталог Ñообщений Ñодержит переводы во множеÑтвенном чиÑле, но в нем "
"заголовка Ñ Â«Plural-Forms: nplurals=ЦЕЛОЕ; plural=ВЫРÐЖЕÐИЕ;»"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "Ð¿Ð¾Ð»Ñ Â«msgid» и «msgid_plural» не начинаютÑÑ Ñ Â«\\n»"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "Ð¿Ð¾Ð»Ñ Â«msgid» и «msgstr[%u]» не начинаютÑÑ Ñ Â«\\n»"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "Ð¿Ð¾Ð»Ñ Â«msgid» и «msgstr» не начинаютÑÑ Ñ Â«\\n»"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "Ð¿Ð¾Ð»Ñ Â«msgid» и «msgid_plural» не заканчиваютÑÑ Â«\\n»"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "Ð¿Ð¾Ð»Ñ Â«msgid» и «msgstr[%u]» не заканчиваютÑÑ Â«\\n»"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "Ð¿Ð¾Ð»Ñ Â«msgid» и «msgstr» не заканчиваютÑÑ Â«\\n»"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "обработка форм во множеÑтвенном чиÑле ÑвлÑетÑÑ Ñ€Ð°Ñширением GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "в msgstr недоÑтает отметки клавиатурного Ñквивалента «%c»"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "в msgstr Ñлишком много отметок клавиатурных Ñквивалентов «%c»"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr ""
"поле заголовка «%s» вÑÑ‘ ещё Ñодержит первоначальное значение по умолчанию\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "в заголовке отÑутÑтвует поле «%s»\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: неверные данные Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ «%s»"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: ошибка при преобразовании из кодировки «%s» в кодировку «%s»"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "входной файл не Ñодержит поле заголовка Ñ Ð¾Ð¿Ð¸Ñанием кодировки"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2821,7 +3039,7 @@ msgstr ""
"Ðевозможно преобразовать из «%s» в «%s». %s полагаетÑÑ Ð½Ð° iconv(), но "
"iconv() не поддерживает Ñто преобразование."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2830,8 +3048,8 @@ msgstr ""
"Преобразование из «%s» в «%s» порождает дубликаты: некоторые различающиеÑÑ "
"оригиналы Ñообщений ÑтановÑÑ‚ÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2840,16 +3058,16 @@ msgstr ""
"Ðевозможно преобразовать из «%s» в «%s». %s полагаетÑÑ Ð½Ð° iconv(). Эта "
"верÑÐ¸Ñ Ð±Ñ‹Ð»Ð° Ñобрана без iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s допуÑтимо только Ñ %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "тип резервного копированиÑ"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2874,18 +3092,18 @@ msgstr ""
"иÑпользуетÑÑ Ð¿Ñ€Ð¸Ð±Ð»Ð¸Ð·Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ðµ Ñравнение, еÑли Ð½ÐµÐ»ÑŒÐ·Ñ Ð½Ð°Ð¹Ñ‚Ð¸ точное\n"
"Ñовпадение.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po переводы, ÑÑылающиеÑÑ Ð½Ð° Ñтарые иÑходники\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot ÑÑылки на новые иÑходники\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2895,7 +3113,7 @@ msgstr ""
"Ñообщений, \n"
" можно указывать неÑколько раз\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2904,28 +3122,28 @@ msgstr ""
" -U, --update обновить def.po,\n"
" ничего не делать, еÑли def.po уже обновлен\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Ðахождение выходного файла в режиме обновлениÑ:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Результат запиÑываетÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾ в def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=МЕТОД Ñделать резервную копию def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=СУФФИКС перекрыть обычный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð¹ копии\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2945,7 +3163,7 @@ msgstr ""
" simple, never вÑегда делать проÑтые резервные копии\n"
"\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2956,7 +3174,7 @@ msgstr ""
"уÑтановлен иной Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --suffix или переменной окружениÑ\n"
"SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2964,22 +3182,22 @@ msgstr ""
" --previous Ñохранить предыдущие msgid переведённых\n"
" Ñообщений\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent не выводить индикатор хода выполнениÑ\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "данное Ñообщение должно определÑÑ‚ÑŒ формы во множеÑтвенном чиÑле"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "данное Ñообщение не должно определÑÑ‚ÑŒ формы во множеÑтвенном чиÑле"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2988,28 +3206,28 @@ msgstr ""
"%sПрочитано Ñообщений: Ñтарых %ld + новых %ld; объединено %ld, помечено "
"неточными %ld, недоÑтающих %ld, недейÑтвительных %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " завершено.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s и Ñвно заданное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° взаимно иÑключают друг друга"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] [ФÐЙЛ]…\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Преобразует двоичный каталог Ñообщений в .po-файл в Ñтиле Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3018,12 +3236,12 @@ msgstr ""
" -j, --java режим Java: на входе Java-клаÑÑ "
"ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp режим C#: на входе .dll-файл .NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3032,24 +3250,24 @@ msgstr ""
" --csharp-resources режим реÑурÑов C#: на входе .resources-файл ."
"NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl режим Tcl: на входе .msg-файл Ð´Ð»Ñ tcl/msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " ФÐЙЛ ... входные .mo-файлы\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Ðахождение входного файла в режиме Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3059,12 +3277,12 @@ msgstr ""
"Ð˜Ð¼Ñ ÐºÐ»Ð°ÑÑа определÑетÑÑ Ð¿ÑƒÑ‚ÐµÐ¼ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ локали к имени реÑурÑа поÑле\n"
"Ñимвола подчеркиваниÑ. КлаÑÑ Ð¸Ñ‰ÐµÑ‚ÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Ðахождение входного файла в режиме C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3073,12 +3291,12 @@ msgstr ""
"Параметры -l и -d обÑзательны. Входной .dll-файл ищетÑÑ Ð² подкаталоге\n"
"указанного каталога, Ð¸Ð¼Ñ Ñтого подкаталога завиÑит от локали.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Ðахождение входного файла в режиме Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3087,19 +3305,19 @@ msgstr ""
"Параметры -l и -d обÑзательны. Входной .msg-файл ищетÑÑ Ð² указанном "
"каталоге.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent иÑпользовать на выводе отÑтупы\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict выводить в Ñтрогом ÑоответÑтвии Ñтандарту "
"Uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3122,12 +3340,12 @@ msgstr ""
"При иÑпользовании параметра --unique, отбраÑываютÑÑ Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ\n"
"ÑообщениÑ.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated печатать только дубликаты\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3136,7 +3354,7 @@ msgstr ""
" -u, --unique печатать только уникальные, пропуÑÐºÐ°Ñ "
"дубликаты\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<Ñтандартный ввод>"
@@ -3192,32 +3410,32 @@ msgstr ""
"В заголовке не указана кодировка.\n"
"Преобразование Ñообщений к кодировке Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ Ñработает.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "непоÑледовательное применение #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "пропущена ÑÐµÐºÑ†Ð¸Ñ Â«msgstr[]»"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "пропущена ÑÐµÐºÑ†Ð¸Ñ Â«msgid_plural»"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "пропущена ÑÐµÐºÑ†Ð¸Ñ Â«msgstr»"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "Ð¿ÐµÑ€Ð²Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° множеÑтвенного чиÑла имеет ненулевой индекÑ"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "форма множеÑтвенного чиÑла имеет неправильный индекÑ"
@@ -3227,7 +3445,7 @@ msgstr "форма множеÑтвенного чиÑла имеет непра
msgid "too many errors, aborting"
msgstr "Ñлишком много ошибок, завершение"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ"
@@ -3272,65 +3490,84 @@ msgid "context separator <EOT> within string"
msgstr "разделитель контекÑта <EOT> внутри Ñтроки"
# Ñто Ñообщение пока не иÑпользуетÑÑ
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "Ñтот файл не может Ñодержать директивы домена"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "повторное определение ÑообщениÑ"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "меÑто поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ определениÑ"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "предупреждение: неверный Ñимвол Unicode"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "не задано Ð¸Ð¼Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ nplurals"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "файл «%s» уÑечён"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "файл «%s» Ñодержит Ñтроку, не завершённую нулем"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "файл «%s» не в ÑоответÑтвует формату GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "файл «%s» Ñодержит Ñтроку, не завершённую нулем, в позиции %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "предупреждение: неверный ÑинтакÑÐ¸Ñ \\uxxxx Ð´Ð»Ñ Ñимвола Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ Ñтрока"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "предупреждение: ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ñ€Ð° ключ/значение"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "предупреждение: ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°, поÑле Ñтроки ожидаетÑÑ Â«;»"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
"предупреждение: ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°, поÑле Ñтроки ожидаетÑÑ Â«=» или «;»"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Ðвторы программы — %s и %s.\n"
@@ -3339,16 +3576,16 @@ msgstr "Ðвторы программы — %s и %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Данило Шеган"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Перекодирует ÑербÑкий текÑÑ‚ из кириллицы в латиницу.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3357,27 +3594,27 @@ msgstr ""
"Входной текÑÑ‚ читаетÑÑ Ñо Ñтандартного ввода. Преобразованный текÑÑ‚\n"
"печатаетÑÑ Ð½Ð° Ñтандартный вывод.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "неверный вход Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ «%s»"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "ошибка при преобразовании из кодировки «%s» в кодировку «%s»"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "ожидаетÑÑ Ð´Ð²Ð° аргумента"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "ИÑпользование: %s [ПÐРÐМЕТР] URL ФÐЙЛ\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3386,37 +3623,37 @@ msgstr ""
"Получает и выводит Ñодержимое заданного URL. ЕÑли к URL невозможно\n"
"получить доÑтуп, вмеÑто него иÑпользуетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¹ локальный ФÐЙЛ.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Â«%s»"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "ошибка запиÑи на Ñтандартный вывод"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "ошибка поÑле Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Â«%s»"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Получение %s…"
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ñтекло.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3424,7 +3661,7 @@ msgstr ""
"Ðевозможно вывеÑти неÑколько доменов перевода в единый файл указанного "
"формата. Попробуйте применить ÑинтакÑÐ¸Ñ PO-файлов."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3432,7 +3669,7 @@ msgstr ""
"Ðевозможно вывеÑти неÑколько доменов перевода в единый файл указанного "
"формата."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3440,7 +3677,7 @@ msgstr ""
"каталог Ñообщений Ñодержит переводы Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтом, но выходной формат их не "
"поддерживает."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3450,7 +3687,7 @@ msgstr ""
"формат не поддерживает их. Попробуйте Ñгенерировать Java-клаÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "
"«msgfmt --java», а не файл properties."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3458,12 +3695,12 @@ msgstr ""
"каталог Ñообщений Ñодержит переводы во множеÑтвенном чиÑле, но выходной "
"формат их не поддерживает."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "невозможно Ñоздать файл вывода «%s»"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "Ñтандартный вывод"
@@ -3482,34 +3719,35 @@ msgstr "компилÑÑ†Ð¸Ñ C#-клаÑÑа завершилаÑÑŒ неуÑпе
msgid "compilation of C# class failed"
msgstr "компилÑÑ†Ð¸Ñ ÐºÐ»Ð°ÑÑа C# завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Â«%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "%s не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ñ‹Ð¼ именем клаÑÑа Java"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"компилÑÑ†Ð¸Ñ ÐºÐ»Ð°ÑÑа Java завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹, попробуйте --verbose или "
"уÑтановите $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"компилÑÑ†Ð¸Ñ ÐºÐ»Ð°ÑÑа Java завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹, попробуйте уÑтановить $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Â«%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "Ð½ÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3517,7 +3755,7 @@ msgstr ""
"переводимые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ должны Ñодержать Ñкранирующую поÑледовательноÑÑ‚ÑŒ «\\"
"%c»"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3530,7 +3768,7 @@ msgstr ""
"кодировку, что и вы. Подумайте об иÑпользовании в msgctxt только ASCII.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3543,7 +3781,7 @@ msgstr ""
"кодировку, что и вы. Подумайте об иÑпользовании в msgid только ASCII.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3552,7 +3790,7 @@ msgstr ""
"каталогов Ñообщений Qt не поддерживает обработку множеÑтвенного\n"
"чиÑла\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3563,7 +3801,7 @@ msgstr ""
"но формат каталога Ñообщений Qt поддерживает Unicode только в\n"
"переведенных Ñтроках, но не в контекÑтах\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3573,12 +3811,12 @@ msgstr ""
"но формат каталога Ñообщений Qt поддерживает Unicode только в\n"
"переведенных Ñтроках, но не в оригиналах\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "ошибка при запиÑи в дочерний процеÑÑ %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3586,7 +3824,7 @@ msgstr ""
"каталог Ñообщений Ñодержит переводы Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтом, но формат\n"
".resources C# не поддерживает контекÑÑ‚Ñ‹\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3594,7 +3832,7 @@ msgstr ""
"каталог Ñообщений Ñодержит переводы во множеÑтвенном чиÑле, но формат\n"
".resources C# не поддерживает обработку множеÑтвенного чиÑла\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3602,7 +3840,7 @@ msgstr ""
"каталог Ñообщений Ñодержит переводы Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтом, но формат\n"
"каталогов Ñообщений Ð´Ð»Ñ Tcl не поддерживает контекÑÑ‚Ñ‹\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3611,36 +3849,36 @@ msgstr ""
"каталогов Ñообщений Ð´Ð»Ñ Tcl не поддерживает обработку множеÑтвенного\n"
"чиÑла\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ Ñтрока"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: предупреждение: незавершенное регулÑрное выражение"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "предупреждение: неверный Ñимвол Unicode"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñтанта"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ Ñтрока"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3649,7 +3887,7 @@ msgstr ""
"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3658,7 +3896,7 @@ msgstr ""
"%s:%d: Ð”Ð»Ð¸Ð½Ð½Ð°Ñ Ð½ÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3667,7 +3905,7 @@ msgstr ""
"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце файла.\n"
"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3676,12 +3914,12 @@ msgstr ""
"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце Ñтроки.\n"
"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: вызов iconv завершилÑÑ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3690,281 +3928,76 @@ msgstr ""
"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: предупреждение: неверный Ñимвол Unicode"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð½Ñтанта"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: предупреждение: вÑтречена «)», где ожидаетÑÑ Â«}»"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: предупреждение: вÑтречена «}», где ожидаетÑÑ Â«)»"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "ОтÑутÑтвует контекÑÑ‚ Ð´Ð»Ñ Ñтроки, извлечённой из Ñлемента «%s»"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Корневой Ñлемент <%s> недопуÑтим в корректном файле Glade"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Язык «glade» не поддерживаетÑÑ. %s полагаетÑÑ Ð½Ð° expat.\n"
-"Эта верÑÐ¸Ñ Ñобрана без expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: предупреждение: одиночный заменитель U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ð”Ð»Ð¸Ð½Ð½Ð°Ñ Ð½ÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце файла.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
-
-#: src/x-javascript.c:312
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце Ñтроки.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: предупреждение: литерал RegExp завершилÑÑ Ñлишком рано"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: предупреждение: %s не допуÑкаетÑÑ"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‚ÐºÐ° XML"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: не удалоÑÑŒ найти ограничитель Ñтроки «%s» вплоть до конца файла"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: пропущена Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð½Ð°Ñ Ñкобка в \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\l») воÑьмибитного Ñимвола «%c»"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\u») воÑьмибитного Ñимвола «%c»"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ в «%c»"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\L») воÑьмибитного Ñимвола «%c»"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\U») воÑьмибитного Ñимвола «%c»"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
-"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "«%s» не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ именем кодировки. ИÑпользуетÑÑ ASCII.\n"
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
-"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+#: src/xgettext.c:648
+#, fuzzy, c-format
+msgid "syntax check '%s' unknown"
+msgstr "Ñзык «%s» неизвеÑтен"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: Ð”Ð»Ð¸Ð½Ð½Ð°Ñ Ð½ÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
-"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце файла.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
-"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+"параметр --join-existing не может быть иÑпользован при запиÑи в Ñтандартный "
+"вывод"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце Ñтроки.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
-"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext не может работать, не Ð·Ð½Ð°Ñ Ð¸Ñкомых ключевых Ñлов"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
-"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
-"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Кодировка «%s» неизвеÑтна. ВмеÑто неё иÑпользуем ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: неверное определение Ñтроки"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: пропущено чиÑло поÑле #"
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: неверное Ñтроковое выражение"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: предупреждение: ÑинтакÑÐ¸Ñ $\"...\" запрещен по ÑоображениÑм "
-"безопаÑноÑти; иÑпользуйте eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr ""
-"%s:%d: предупреждение: литерал регулÑрного Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»ÑÑ Ñлишком рано"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "«%s» не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ именем кодировки. ИÑпользуетÑÑ ASCII.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"параметр --join-existing не может быть иÑпользован при запиÑи в Ñтандартный "
-"вывод"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext не может работать, не Ð·Ð½Ð°Ñ Ð¸Ñкомых ключевых Ñлов"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"предупреждение: файл «%s» имеет неизвеÑтное раÑширение «%s»; трактуетÑÑ ÐºÐ°Ðº C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Извлекает переводимые Ñтроки из указанных входных файлов.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3972,23 +4005,23 @@ msgid ""
msgstr ""
" -d, --default-domain=ИМЯ выводить в файл ИМЯ.po (вмеÑто messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=ФÐЙЛ запиÑать вывод в указанный файл\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=КÐТ помеÑтить выходные файлы в каталог КÐТ\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Выбор Ñзыка входного файла:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4007,19 +4040,19 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ Ñиноним --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "По умолчанию Ñзык определÑетÑÑ Ð¿Ð¾ раÑширению входного файла.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4028,22 +4061,22 @@ msgstr ""
" --from-code=ИМЯ кодировка входных файлов\n"
" (кроме Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "По умолчанию ÑчитаетÑÑ, что входные файлы Ñодержат только ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing Ñлить ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ ÑущеÑтвующим файлом\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=ФÐЙЛ.po не извлекать Ð²Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸Ð· ФÐЙЛÐ.po\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4057,17 +4090,33 @@ msgstr ""
" -c, --add-comments запиÑать вÑе блоки комментариев, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ\n"
" предшеÑтвующих ключевых Ñтрок в выходной файл\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Параметры Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ñ‹Ñ… Ñзыков:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all извлечь вÑе Ñтроки\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4082,7 +4131,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4097,7 +4146,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4108,7 +4157,7 @@ msgstr ""
"аргумента\n"
" номер ÐРГ ключевого Ñлова СЛОВО\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4123,37 +4172,37 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs понимать на входе триграфы ANSI C\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (только Ñзыки C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt раÑпознавать форматные Ñтроки Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (только Ñзык C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde раÑпознавать форматные Ñтроки KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost раÑпознавать форматные Ñтроки Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4161,19 +4210,30 @@ msgstr ""
" --debug более подробный результат разбора форматной "
"Ñтроки\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output запиÑать .properties-файл Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=ФÐЙЛ получить ÑпиÑок входных файлов из ФÐЙЛÐ\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent иÑпользовать на выводе отÑтупы\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=СТРОКÐ\n"
" задает наименование Ð¾Ð±Ð»Ð°Ð´Ð°Ñ‚ÐµÐ»Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ñких прав\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4181,19 +4241,19 @@ msgstr ""
" --foreign-user не выводить уведомление об авторÑких правах "
"FSF\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=ПÐКЕТ задать Ð¸Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð° Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=ВЕРСИЯ\n"
" задать верÑию пакета Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4202,7 +4262,7 @@ msgstr ""
" задает адреÑ, куда Ñледует отправлÑÑ‚ÑŒ отчет об "
"ошибках\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4213,7 +4273,7 @@ msgstr ""
" иÑпользовать СТРОКУ или «» как префикÑ\n"
" к значениÑм msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4224,7 +4284,7 @@ msgstr ""
" иÑпользовать СТРОКУ или «» как ÑуффикÑ\n"
" к значениÑм msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4233,31 +4293,31 @@ msgstr ""
"Ðргумент --flag не ÑоответÑтвует ÑинтакÑиÑу <ключевое-Ñлово>:<номер-арг>:"
"[pass-]<флаг>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "Ñтандартный ввод"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Ðе ASCII-Ñимвол у %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Ðе ASCII-комментарий у или перед %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Ðе ASCII-Ñтрока у %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: предупреждение: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4266,7 +4326,7 @@ msgstr ""
"ÐеÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° иÑпользование в меÑте, где предполагаетÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð½Ð°Ñ Ñтрока, %s "
"не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ð¾Ð¹ форматной Ñтрокой %s. Причина: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4275,7 +4335,7 @@ msgstr ""
"Строка %s не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ð¾Ð¹ форматной Ñтрокой %s, Ñ…Ð¾Ñ‚Ñ Ð¸ объÑвлена как "
"таковаÑ. Причина: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4289,7 +4349,7 @@ msgstr ""
"ИÑпользуйте форматную Ñтроку Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ аргументами и\n"
"отображение вмеÑто кортежа Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð².\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4299,29 +4359,29 @@ msgstr ""
"gettext(\"\") возвращает текÑÑ‚ заголовка Ñ Ð¼ÐµÑ‚Ð°Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹,\n"
"а не пуÑтую Ñтроку.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ²Ð¾Ð³Ð¾ Ñлова «%.*s»"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "предупреждение: не указан контекÑÑ‚ Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ²Ð¾Ð³Ð¾ Ñлова «%.*s»"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"предупреждение: не указан контекÑÑ‚ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° во множеÑтвенном чиÑле у "
"ключевого Ñлова «%.*s»"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "не Ñовпадают контекÑÑ‚Ñ‹ у форм в единÑтвенном и множеÑтвенном чиÑле"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4332,15 +4392,354 @@ msgstr ""
"«Makevars», уÑтановите в нём переменную MSGID_BUGS_ADDRESS, в\n"
"противном Ñлучае задайте в командной Ñтроке параметр --msgid-bugs-address.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "Ñзык «%s» неизвеÑтен"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: предупреждение: одиночный заменитель U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ð”Ð»Ð¸Ð½Ð½Ð°Ñ Ð½ÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце файла.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце Ñтроки.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: предупреждение: литерал RegExp завершилÑÑ Ñлишком рано"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: предупреждение: %s не допуÑкаетÑÑ"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: предупреждение: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð°Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‚ÐºÐ° XML"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: не удалоÑÑŒ найти ограничитель Ñтроки «%s» вплоть до конца файла"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: пропущена Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð½Ð°Ñ Ñкобка в \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\l») воÑьмибитного Ñимвола «%c»"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\u») воÑьмибитного Ñимвола «%c»"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ в «%c»"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\L») воÑьмибитного Ñимвола «%c»"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ («\\U») воÑьмибитного Ñимвола «%c»"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
+"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
+"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ð”Ð»Ð¸Ð½Ð½Ð°Ñ Ð½ÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
+"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце файла.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
+"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ в конце Ñтроки.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
+"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ.\n"
+"Укажите входную кодировку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра --from-code или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n"
+"комментариÑ, как опиÑано на http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Кодировка «%s» неизвеÑтна. ВмеÑто неё иÑпользуем ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: неверное определение Ñтроки"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: пропущено чиÑло поÑле #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: неверное Ñтроковое выражение"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: предупреждение: ÑинтакÑÐ¸Ñ $\"...\" запрещен по ÑоображениÑм "
+"безопаÑноÑти; иÑпользуйте eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr ""
+"%s:%d: предупреждение: литерал регулÑрного Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»ÑÑ Ñлишком рано"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<без имени>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÑÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "%s не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ñ‹Ð¼ именем клаÑÑа Java"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "%s не ÑвлÑетÑÑ Ð²ÐµÑ€Ð½Ñ‹Ð¼ именем клаÑÑа Java"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÑÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "неверный порÑдок байт: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "неверный аргумент %s Ð´Ð»Ñ %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "не задано Ð¸Ð¼Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "ОтÑутÑтвует контекÑÑ‚ Ð´Ð»Ñ Ñтроки, извлечённой из Ñлемента «%s»"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Язык «glade» не поддерживаетÑÑ. %s полагаетÑÑ Ð½Ð° expat.\n"
+#~ "Эта верÑÐ¸Ñ Ñобрана без expat.\n"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: недопуÑтимый ключ -- %c\n"
diff --git a/gettext-tools/po/sk.gmo b/gettext-tools/po/sk.gmo
index 7516a3c..f5c2df4 100644
--- a/gettext-tools/po/sk.gmo
+++ b/gettext-tools/po/sk.gmo
Binary files differ
diff --git a/gettext-tools/po/sk.po b/gettext-tools/po/sk.po
index 686babb..39714c8 100644
--- a/gettext-tools/po/sk.po
+++ b/gettext-tools/po/sk.po
@@ -1,15 +1,15 @@
# Slovak translations for GNU gettext-tools package.
-# Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010, 2012, 2013 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Å tefan OndrejiÄka <ondrej@idata.sk>, 1999.
-# Marcel Telka <marcel@telka.sk>, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010, 2012, 2013, 2014.
+# Marcel Telka <marcel@telka.sk>, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010, 2012, 2013, 2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.19.4-rc1\n"
+"Project-Id-Version: GNU gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-12-10 20:44+0100\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 14:24+0100\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
@@ -56,40 +56,40 @@ msgstr "nemožno odstrániÅ¥ doÄasný adresár %s"
msgid "write error"
msgstr "chyba zápisu"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "zachovanie oprávnení pre %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "chyba pri otváraní %s na Äítanie"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "nemožno otvoriť záložný súbor %s na zápis"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "chyba pri Äítaní %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "chyba pri zápise %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "chyba po Äítaní %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() zlyhalo"
@@ -115,58 +115,63 @@ msgstr "Neznáma systémová chyba"
msgid "%s subprocess failed"
msgstr "%s podproces zlyhal"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: voľba '%s' nie je jednoznaÄná; možnosti:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: voľba '%s' nie je jednoznaÄná\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: voľba '--%s' nepovoľuje parameter\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: voľba '%c%s' nepovoľuje parameter\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: voľba '--%s' vyžaduje parameter\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neznáma voľba '--%s'\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neznáma voľba '%c%s'\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neplatná voľba -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: voľba vyžaduje parameter -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: voľba '-W %s' nie je jednoznaÄná\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: voľba '-W %s' nepovoľuje parameter\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: voľba '-W %s' vyžaduje parameter\n"
@@ -182,15 +187,16 @@ msgstr "neplatný parameter source_version pre compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "neplatný parameter target_version pre compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "zlyhalo vytvorenie \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "chyba poÄas zápisu do súboru \"%s\""
@@ -208,15 +214,15 @@ msgstr ""
"Virtuálny stroj Javy nebol nájdený. Skúste nainštalovať gij alebo nastavte "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "V/V chyba podprocesu %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "pamäť je vyÄerpaná"
@@ -227,7 +233,7 @@ msgid "creation of threads failed"
msgstr "vytváranie vláken zlyhalo"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "zápis do podprocesu %s zlyhal"
@@ -273,11 +279,11 @@ msgstr "podproces %s skonÄil s ukonÄovacím kódom %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "„"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "“"
@@ -313,52 +319,206 @@ msgstr "%s podproces"
msgid "%s subprocess got fatal signal %d"
msgstr "%s podproces dostal kritický signál %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "chyba pri otváraní súboru \"%s\" na Äítanie"
+msgid "The root element must be <%s>"
+msgstr "koreňový element musí byť <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Element <%s> neobsahuje element <%s>"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "Element <%s> nemá vlastnosť <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Skúste '%s --help' a dozviete sa viac informácií.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Použitie: %s [VOĽBA...] [N_PROSTREDIE PRAVIDLÃ]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"'%s' nie je platný formátovací reťazec %s, na rozdiel od '%s'. Dôvod: %s"
+"ExtrahovaÅ¥ alebo konvertovaÅ¥ pravidlá množného Äísla Unicode CLDR.\n"
+"\n"
+"Ak sú zadané oboje N_PROSTREDIE a PRAVIDLÃ, naÄítajú sa CLDR pravidlá\n"
+"množného Äísla pre N_PROSTREDIE z PRAVIDLà a vytlaÄia sa vo formáte vhodnom\n"
+"pre gettext. Ak nie sú zadané žiadne parametre, naÄíta CLDR pravidlá\n"
+"množného Äísla zo Å¡tandardného vstupu.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Povinné parametre dlhých volieb sú povinné aj pre krátke voľby.\n"
+"Podobne aj pre voliteľné parametre.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr vypísaÅ¥ pravidlá pre množné Äíslo vo formáte "
+"CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help zobraziÅ¥ túto nápovedu a skonÄiÅ¥\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version zobraziÅ¥ informáciu o verzii a skonÄiÅ¥\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Správy o chybách zasielajte na adresu <bug-gnu-gettext@gnu.org> (iba "
+"anglicky).\n"
+"Komentáre k slovenskému prekladu zasielajte na adresu <sk-i18n@lists.linux."
+"sk>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Autorské práva (C) %s Free Software Foundation, Inc.\n"
+"Licencia GPLv3+: GNU GPL verzia 3 alebo novšia <http://gnu.org/licenses/gpl.html>\n"
+"Toto je voľne šíriteľný softvér: môžete ho voľne meniÅ¥ a Äalej šíriÅ¥.\n"
+"Neposkytuje sa ŽIADNA ZÃRUKA, v rozsahu povolenom zákonmi.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Napísal %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s nemožno preÄítaÅ¥"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "nemožno extrahovať pravidlá pre %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "nemožno analyzovať pravidlo CLDR"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "operand %s navyše"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "chyba pri otváraní súboru \"%s\" na Äítanie"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "formátovacia znaÄka pre parameter %u v '%s' nie je v '%s'"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "formátovacia znaÄka pre parameter %u nie je v '%s'"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "formátovacie znaÄky v '%s' a '%s' pre parameter %u nie sú rovnaké"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktíva Äíslo %u zaÄína znakom |, ale nekonÄí znakom |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"'%s' nie je platný formátovací reťazec %s, na rozdiel od '%s'. Dôvod: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -367,58 +527,58 @@ msgstr ""
"V direktíve Äíslo %u, token za '<' nie je názov makra Å¡pecifikujúceho "
"formát. Platné názvy makier sú uvedené v ISO C 99 kapitola 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "V direktíve Äíslo %u, token za '<' nie je nasledovaný znakom '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"ReÅ¥azec sa odkazuje na parameter Äíslo %u, ale ignoruje parameter Äíslo %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "poÄet formátovacích znaÄiek v '%s' a '%s' sa nezhoduje"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "V direktíve Äíslo %u, '{' nie je nasledované Äíslom parametra."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "V direktíve Äíslo %u, ',' nie je nasledované Äíslom."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr "ReÅ¥azec konÄí v strede direktívy: nájdené '{' bez zodpovedajúceho '}'."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "Direktíva Äíslo %u konÄí neplatným znakom '%c' namiesto '}'."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Direktíva Äíslo %u konÄí neplatným znakom namiesto '}'."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"ReÅ¥azec zaÄína v strede direktívy: nájdené '}' bez zodpovedajúceho '{'."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "ReÅ¥azec obsahuje osamotené '}' po direktíve Äíslo %u."
@@ -529,7 +689,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "ReÅ¥azec sa odkazuje na Äíslo parametra %u nekompatibilnými spôsobmi."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -537,18 +697,18 @@ msgid ""
msgstr ""
"V direktíve Äíslo %u, podreÅ¥azec \"%s\" nie je platný typ dátumu a Äasu."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "V direktíve Äíslo %u, \"%s\" nie je nasledované Äiarkou."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "V direktíve Äíslo %u, podreÅ¥azec \"%s\" nie je platný typ Äísla."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -557,12 +717,12 @@ msgstr ""
"V direktíve Äíslo %u, Äíslo parametra nie je nasledované Äiarkou a jedným z "
"\"%s\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "V direktíve Äíslo %u, voľba neobsahuje Äíslo."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -571,24 +731,47 @@ msgstr ""
"V direktíve Äíslo %u, voľba obsahuje Äíslo, ktoré nie je nasledované '<', "
"'#' alebo '%s'."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "formátovacia znaÄka pre parameter {%u} v '%s' nie je v '%s'"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "formátovacia znaÄka pre parameter {%u} neexistuje v '%s'"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "formátovacie znaÄky v '%s' a '%s' pre parameter {%u} nie sú rovnaké"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"ReÅ¥azec sa odkazuje na parameter Äíslo %u, ale ignoruje parametre Äíslo %u a "
+"%u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"formátovacia znaÄka pre parametre %u a %u nie je v '%s'; môže byÅ¥ ignorovaný "
+"iba jeden parameter"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "chyba pri analýze: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -598,7 +781,7 @@ msgstr ""
"V direktíve Äíslo %u, parameter %u je typu '%s' ale parameter typu '%s' je "
"oÄakávaný."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -616,33 +799,33 @@ msgstr[2] ""
"V direktíve Äíslo %u, je zadaných príliÅ¡ veľa parametrov. OÄakávané najviac "
"%u parametre."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "V direktíve Äíslo %u, '%c' nie je nasledované Äíslicou."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "V direktíve Äíslo %u, parameter %d je negatívny."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "ReÅ¥azec konÄí v strede direktívy ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Nájdené '~%c' bez zodpovedajúvceho '~%c'."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "V direktíve Äíslo %u, obidva modifikátory @ a : sú zadané."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -651,26 +834,32 @@ msgstr ""
"V direktíve Äíslo %u, '~:[' nie je nasledované dvoma klauzulami oddelenými "
"'~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "V direktíve Äíslo %u, '~;' je použité na neplatnej pozícii."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Reťazec sa odkazuje na nejaký parameter nekompatibilnými spôsobmi."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "formátovacie znaÄky v '%s' a '%s' nie sú ekvivalentné"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "formátovacie znaÄky v '%s' nie sú podmnožinou znaÄiek z '%s'"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "formátovacia znaÄka pre parameter '%s' nie je v '%s'"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -679,14 +868,34 @@ msgstr ""
"V direktíve Äíslo %u, urÄenie veľkosti nie je kompatibilné so zadanou "
"konverziou '%c'."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "formátovacia znaÄka pre parameter '%s' nie je v '%s'"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "V direktíve Äíslo %u, '%c' nemôže byÅ¥ na zaÄiatku názvu poľa."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "V direktíve Äíslo %u, '%c' nemôže byÅ¥ na zaÄiatku parametra getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "V direktíve Äíslo %u, '%c' nemôže byÅ¥ na zaÄiatku parametra getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"V direktíve Äíslo %u nie je povolené ÄalÅ¡ie vnorenie v Å¡pecifikácii formátu."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "V direktíve Äíslo %u je neukonÄená formátovacia direktíva."
-#: src/format-python.c:115
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -694,13 +903,13 @@ msgstr ""
"Reťazec sa odkazuje na parameter cez meno parametra aj cez nepomenované "
"špecifikácie parametra."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"Reťazec sa odkazuje na argument pomenovaný '%s' nekompatibilnými spôsobmi."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -708,7 +917,7 @@ msgstr ""
"formátovacie znaÄky v '%s' predpokladajú mapovanie, ale znaÄky v '%s' "
"predpokladajú tuple"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -716,46 +925,19 @@ msgstr ""
"formátovacie znaÄky v '%s' predpokladajú tuple, ale znaÄky v '%s' "
"predpokladajú mapovanie"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "formátovacia znaÄka pre parameter '%s' v '%s' nie je v '%s'"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "formátovacie znaÄky v '%s' a '%s' pre parameter '%s' nie sú rovnaké"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "V direktíve Äíslo %u, '%c' nemôže byÅ¥ na zaÄiatku názvu poľa."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "V direktíve Äíslo %u, '%c' nemôže byÅ¥ na zaÄiatku parametra getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "V direktíve Äíslo %u, '%c' nemôže byÅ¥ na zaÄiatku parametra getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"V direktíve Äíslo %u nie je povolené ÄalÅ¡ie vnorenie v Å¡pecifikácii formátu."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "V direktíve Äíslo %u je neukonÄená formátovacia direktíva."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -764,13 +946,13 @@ msgstr ""
"'%s' je reťazec s jednoduchým formátom, ale '%s' nie je: obsahuje príznak "
"'L' alebo dvojmiestne Äíslo parametra"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"Reťazec sa odkazuje na premennú prostredia s názvom, ktorý obsahuje aj nie "
"ASCII znaky."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -778,7 +960,7 @@ msgstr ""
"Reťazec sa odkazuje na premennú prostredia s komplexnou syntaxou zátvoriek. "
"Táto syntax je tu nepodporovaná z bezpeÄnostných dôvodov."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -786,93 +968,58 @@ msgstr ""
"Reťazec sa odkazuje na premennú prostredia, ktorej hodnota môže byť "
"rozdielna vo vnútri funkcií shellu."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Reťazec sa odkazuje na premennú prostredia s prázdnym názvom."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "V direktíve Äíslo %u, znak '%c' nie je Äíslica medzi 1 a 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Znak, ktorý ukonÄuje direktívu Äíslo %u nie je Äíslica medzi 1 a 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Autorské práva (C) %s Free Software Foundation, Inc.\n"
-"Licencia GPLv3+: GNU GPL verzia 3 alebo novšia <http://gnu.org/licenses/gpl.html>\n"
-"Toto je voľne šíriteľný softvér: môžete ho voľne meniÅ¥ a Äalej šíriÅ¥.\n"
-"Neposkytuje sa ŽIADNA ZÃRUKA, v rozsahu povolenom zákonmi.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Napísal %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "príliš veľa parametrov"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Skúste '%s --help' a dozviete sa viac informácií.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Použitie: %s [VOĽBA]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Zobraziť hostiteľské meno stroja.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Výstupný formát:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short krátke meno hostiteľa\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -883,81 +1030,103 @@ msgstr ""
"kvalifikovaného\n"
" doménového mena a prezývok\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address adresy pre meno hostiteľa\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informatívny výstup:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help zobraziÅ¥ túto nápovedu a skonÄiÅ¥\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "Nemôžem získať meno hostiteľa"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version zobraziÅ¥ informáciu o verzii a skonÄiÅ¥\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "selektor nie je zadaný"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr ""
-"Správy o chybách zasielajte na adresu <bug-gnu-gettext@gnu.org> (iba "
-"anglicky).\n"
-"Komentáre k slovenskému prekladu zasielajte na adresu <sk-i18n@lists.linux."
-"sk>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "nemožno vytvoriť kontext XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "Nemôžem získať meno hostiteľa"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "nemožno vyhodnotiť výraz XPath: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "Uzol \"%s\" neobsahuje \"%s\""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "neplatná hodnota \"%s\" vlastnosti \"%s\""
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "koreňový element nie je \"ruler\" v priestore mien %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "nemožno preÄítaÅ¥ %s: %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "nemožno vyhodnotiť cestu umiestnenia XPath: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "Uzol \"%s\" nemá \"%s\""
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "nemožno preÄítaÅ¥ súbor XML %s"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "koreňový element nie je \"locatingRules\""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "povolený najviac jeden vstupný súbor"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s a %s sa navzájom vyluÄujú"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Použitie: %s [VOĽBA] [VSTUPNÃSÚBOR]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -966,32 +1135,32 @@ msgstr ""
"Filtruje správy z prekladového katalógu podľa ich vlastností a mení tieto\n"
"vlastnosti.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr "Povinné parametre pre dlhé voľby sú povinnými aj pre skrátené voľby.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Umiestnenie vstupného súboru:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " VSTUPNÃSÚBOR vstupný PO súbor\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -999,31 +1168,32 @@ msgstr ""
" -D, --directory=ADRESÃR pridaÅ¥ ADRESÃR do zoznamu pre vyhľadávané\n"
" vstupné súbory\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Ak nie je zadaný vstupný súbor alebo je -, je naÄítaný Å¡tandardný vstup.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Umiestnenie výstupného súboru:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=SÚBOR zapísať výstup do zadaného súboru\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1032,12 +1202,12 @@ msgstr ""
"Výsledky sú zapísané na štandardný výstup ak nie je zadaný výstupný súbor\n"
"alebo ak je -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Výber správy:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1045,7 +1215,7 @@ msgstr ""
" --translated zachovať preložené, odstrániť nepreložené "
"správy\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1053,54 +1223,54 @@ msgstr ""
" --untranslated zachovať nepreložené, odstrániť preložené "
"správy\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy odstrániť nepresné preklady\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy zachovať nepresné preklady\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete odstrániÅ¥ zastarané správy oznaÄené #~\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete zachovaÅ¥ zastarané správy oznaÄené #~\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Úprava vlastností:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy nastaviť všetky správy ako nepresné\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy nastaviť všetky správy ako nie nepresné\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete nastaviť všetky správy ako zastarané\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete nastaviť všetky správy ako nie zastarané\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1110,7 +1280,7 @@ msgstr ""
"predchádzajúce\n"
" msgid preložených správ.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1120,7 +1290,7 @@ msgstr ""
"správ\n"
# c-format
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1129,27 +1299,27 @@ msgstr ""
"nastaviť\n"
" prázdne msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=SÚBOR.po spracovať len položky uvedené v SÚBOR.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=SÚBOR.po spracovať len položky neuvedené v SÚBOR.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy synonymum pre --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1157,24 +1327,24 @@ msgstr ""
" --obsolete synonymum pre --only-obsolete --clear-"
"obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syntax vstupného súboru:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input vstupný súbor má syntax Java .properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1183,17 +1353,17 @@ msgstr ""
" --stringtable-input vstupný súbor má syntax NeXTstep/GNUstep ."
"strings\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Podrobnosti výstupu:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1207,16 +1377,16 @@ msgstr ""
"'never' (nikdy),\n"
" 'auto' (automaticky) alebo 'html'.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr " --style=SÚBORÅ TÃLU zadaÅ¥ pravidlo Å¡týlu CSS pre --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1224,9 +1394,9 @@ msgstr ""
" -e, --no-escape nepoužiť na výstupe riadiace sekvencie\n"
" jazyka C (predvolené)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1235,29 +1405,29 @@ msgstr ""
"C,\n"
" bez rozšírených znakov\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po zapísaÅ¥ súbor PO, aj keÄ bude prázdny\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent zapísať .po súbor s použitím odsadzovania\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location nezapisovať riadky '#: meno_súboru:riadok'\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1265,8 +1435,8 @@ msgstr ""
" -n, --add-location generovať riadky '#: meno_súboru:riadok'\n"
" (predvolené)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1274,32 +1444,32 @@ msgstr ""
" --strict zapísať .po súbor presne dodržiavajúci štýl\n"
" Uniforum\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output zapísať Java súbor .properties\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output zapísať súbor NeXTstep/GNUstep .strings\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=ÄŒÃSLO nastaviÅ¥ šírku výstupnej strany\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1308,32 +1478,32 @@ msgstr ""
" --no-wrap nezalamovať riadky správ dlhšie ako šírka\n"
" výstupnej strany do viacerých riadkov\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output generovať utriedený výstup\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file utriediť výstup podľa umiestnenia v súboroch\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "je uvedené nepovolené kritérium výberu (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Použitie: %s [VOĽBA] [VSTUPNÃSÚBOR]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1356,24 +1526,24 @@ msgstr ""
"--use-first, ktorá zabezpeÄí ich zachovanie iba z prvého PO súboru, ktorý\n"
"ich definuje.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " VSTUPNÃSÚBOR ... vstupné súbory\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=SÚBOR získať zoznam vstupných súborov zo SÚBORu\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Ak je vstupný súbor -, naÄítaný je Å¡tandardný vstup.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1382,7 +1552,7 @@ msgstr ""
" -<, --less-than=POČET vypísať správy, ktoré sú definované menej ako\n"
" POÄŒET-krát, Å¡tandardne nastavené na nekoneÄno\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1391,7 +1561,7 @@ msgstr ""
" ->, --more-than=POČET vypísať správy, ktoré sú defineované viac\n"
" ako POČET-krát, štandardne nastavené na 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1400,16 +1570,16 @@ msgstr ""
" -u, --unique skratka pre --less-than=2, nastavuje výpis\n"
" len unikátnych správ\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
" -P, --properties-input vstupné súbory májú syntax Java .properties\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1418,12 +1588,12 @@ msgstr ""
" --stringtable-input vstupné súbory majú syntax NeXTstep-GNUstep\n"
" .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NÃZOV kódovanie pre výstup\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1433,7 +1603,7 @@ msgstr ""
"správu,\n"
" nezluÄovaÅ¥ viacero prekladov\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1441,26 +1611,26 @@ msgstr ""
" --lang=NÃZOVKATALÓGU nastaviÅ¥ pole 'Language' v položke hlaviÄka\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "neboli zadané vstupné súbory"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "potrebné sú presne 2 vstupné súbory"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Použitie: %s [VOĽBA] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1477,77 +1647,77 @@ msgstr ""
"KeÄ nemožno nájsÅ¥ presnú zhodu, je použitý fuzzy algoritmus, ktorý\n"
"umožňuje lepšiu kontrolu zhody.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po preklady\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot odkazy na zdrojové súbory\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modifikátory operácie:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr ""
-" -m, --multi-domain použije ref.pot na všetky domény v def.po\n"
+" -m, --multi-domain použiť ref.pot na všetky domény v def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
" -N, --no-fuzzy-matching nepoužiť algoritmus pre nájdenie nepresných\n"
" prekladov\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy brať do úvahy nepresné preklady\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --untranslated brať do úvahy nepreložené preklady\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "táto správa je nepreložená"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "táto správa musí byť skontrolovaná prekladateľom"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "táto správa je použitá, ale nie je definovaná..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...ale táto definícia je podobná"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "táto správa je použitá, ale nie je definovaná v %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "upozornenie: táto správa nie je použitá"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1555,12 +1725,12 @@ msgstr[0] "nájdených %d závažných chýb"
msgstr[1] "nájdená %d závažná chyba"
msgstr[2] "nájdené %d závažné chyby"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "musia byť uvedené minimálne dva súbory"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1580,7 +1750,7 @@ msgstr ""
"komentáre budú zachované iba z prvého PO súboru, v ktorom sú definované.\n"
"Pozície v zdrojových súboroch budú zlúÄené zo vÅ¡etkých PO súborov.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1589,42 +1759,42 @@ msgstr ""
" ->, --more-than=POČET vypísať správy, ktoré sú defineované viac\n"
" ako POČET-krát, štandardne nastavené na 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header nezapisovaÅ¥ hlaviÄku s položkou 'msgid \"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Konvertovať prekladový katalóg do iného kódovania znakov.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Cieľ konverzie:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Predvolené kódovanie je kódovanie aktuálneho národného prostredia.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent výstup s použitím odsadzovania\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location nezapisovať riadky '#: meno_súboru:riadok'\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1632,28 +1802,28 @@ msgstr ""
" -n, --add-location zachovať riadky '#: meno_súboru:riadok'\n"
" (predvolené)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict presné dodržiavanie štýlu Uniforum\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "nie sú zadané vstupné súbory"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "potrebné je presne jeden vstupný súbor"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Použitie: %s [VOĽBA] VSTUPNÃSÚBOR\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1666,22 +1836,22 @@ msgstr ""
"programom xgettext). Nepreloženým položkám je priradený preklad\n"
"zhodný s msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " VSTUPNÃSÚBOR vstupný PO alebo POT súbor\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "chýbajúci názov príkazu"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Použitie: %s [VOĽBA] PRÃKAZ [VOĽBA-PRÃKAZU]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1696,7 +1866,7 @@ msgstr ""
"bude aj výstupom programu msgexec. Návratová hodnota programu msgexec je\n"
"maximum návratových hodnôt všetkých spustení príkazu.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1705,37 +1875,48 @@ msgstr ""
"Špeciálny vstavaný príkaz s názvom '0' vypisuje preklad nasledovaný nulovým\n"
"bajtom. Výstup príkazu \"msgexec 0\" je použiteľný ako vstup pre \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Vstup príkazu:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline pridať znak konca riadku na koniec vstupu\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=VSTUPNÃSÚBOR vstupný PO súbor\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "zápis na štandardný výstup zlyhal"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "chýbajúci názov filtra"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "musí byť uvedený aspoň jeden sed skript"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Použitie: %s [VOĽBA] FILTER [VOĽBA-FILTRA]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Aplikovať filter na všetky preklady prekladového katalógu.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1745,18 +1926,33 @@ msgstr ""
"vstupu\n"
"a zapisuje upravené preklady na štandardný výstup.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Vstup a výstup filtra:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline pridať znak nového riadka na koniec vstupu\n"
+" a odstrániť znak nového riadka z konca\n"
+" výstupu"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "UžitoÄné VOĽBY-FILTRA keÄ je použitý FILTER 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=SKRIPT pridať SKRIPT k vykonávaným príkazom\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1767,14 +1963,14 @@ msgstr ""
"výkonávaným\n"
" príkazom\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent potlaÄiÅ¥ automatickú tlaÄ priestoru vzorov\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1782,12 +1978,12 @@ msgstr ""
" --no-escape nepoužiť na výstupe riadiace sekvencie\n"
" jazyka C (predvolené)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent výstup s použitím odsadzovania\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1795,71 +1991,81 @@ msgstr ""
" --keep-header zachovaÅ¥ položku hlaviÄky nezmenenú,\n"
" neodfiltrovať ju\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "výstup filtra nie je ukonÄený znakom nový riadok"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "parameter pre %s by malo byÅ¥ len jedno interpunkÄné znamienko"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "neplatné poradie bajtov: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "ak sú uvedené %s a %s, vstupný súbor nemá byť zadaný"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s vyžaduje špecifikáciu \"-d adresár\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s vyžaduje špecifikáciu \"-l národné prostredie\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s vyžaduje špecifikáciu \"--template šablóna\""
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s vyžaduje špecifikáciu \"-o súbor\""
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s a %s sa navzájom vyluÄujú v %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s je platné len s %s alebo %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s je platné len s %s, %s alebo %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "nemožno nájsť pravidlá ITS pre %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1867,7 +2073,7 @@ msgstr[0] "%d preložených správ"
msgstr[1] "%d preložená správa"
msgstr[2] "%d preložené správy"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1875,7 +2081,7 @@ msgstr[0] ", %d nepresných prekladov"
msgstr[1] ", %d nepresný preklad"
msgstr[2] ", %d nepresné preklady"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1883,36 +2089,27 @@ msgstr[0] ", %d nepreložených správ"
msgstr[1] ", %d nepreložená správa"
msgstr[2] ", %d nepreložené správy"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Použitie: %s [VOĽBA] menosúboru.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Generovať binárny katalóg správ z textového popisu prekladu.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Povinné parametre dlhých volieb sú povinné aj pre krátke voľby.\n"
-"Podobne aj pre voliteľné parametre.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " menosúboru.po ... vstupné súbory\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Mód Äinnosti:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1921,7 +2118,7 @@ msgstr ""
" -j, --java režim Java: generovať triedu Java "
"ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1931,13 +2128,13 @@ msgstr ""
"alebo\n"
" vyššie)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp režim C#: generovať .dll súbor pre .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1946,19 +2143,19 @@ msgstr ""
" --csharp-resources režim zdrojov C#: generovať .resources súbor "
"pre .NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl režim Tcl: generovať súbor .msg tcl/msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt režim Qt: generovať Qt súbor .qm\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1966,28 +2163,33 @@ msgstr ""
" --desktop režim položiek pracovnej plochy: generovať "
"súbor .desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml režim XML: generovať súbor XML\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict povoliť presne dodržaný režim Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Ak je výstupný súbor -, výstup je zapísaný na štandardný výstup.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Umiestnenie výstupného súboru v režime Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=ZDROJ názov zdroja\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1996,7 +2198,7 @@ msgstr ""
" -l, --locale=N_PROSTREDIE názov národného prostredia, buÄ jazyk alebo\n"
" jazyk_KRAJINA\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2004,14 +2206,14 @@ msgid ""
msgstr ""
" --source vytvorí súbor .java, namiesto súboru .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d ADRESÃR základný adresár adresárov hierarchie tried\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2023,12 +2225,12 @@ msgstr ""
"oddelené znakom \"_\". Voľba -d je povinná. Trieda je zapísaná do zadaného\n"
"adresára.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Umiestnenie výstupného súboru v režime C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2037,7 +2239,7 @@ msgstr ""
" -d ADRESÃR základný adresár pre lokálne závislé .dll "
"súbory\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2047,17 +2249,17 @@ msgstr ""
"adresára,\n"
"ktorého názov závisí od národného prostredia.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Umiestnenie výstupného súboru v režime Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr " -d ADRESÃR základný adresár katalógov správ .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2065,22 +2267,22 @@ msgid ""
msgstr ""
"Voľby -l a -d sú povinné. Súbor .msg je zapísaný do zadaného adresára.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Voľby pre položky pracovnej plochy:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=ŠABLÓNA súbor .desktop použitý ako šablóna\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d ADRESÃR základný adresár súborov .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2089,7 +2291,7 @@ msgstr ""
" -kSLOVO, --keyword=SLOVO hľadaÅ¥ SLOVO ako ÄalÅ¡ie kľúÄové slovo\n"
" -k, --keyword nepoužiÅ¥ predvolené kľúÄové slová)\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2099,12 +2301,27 @@ msgstr ""
"Voľby -l, -o a --template sú povinné. Ak je zadané -D, vstupné súbory sú\n"
"naÄítané zo zadaného adresára, namiesto z parametrov príkazového riadka.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Volby režimu XML:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=NÃZOV použiÅ¥ zadaný jazyk XML\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=ŠABLÓNA súbor XML použitý ako šablóna\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretácia vstupného súboru:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2115,14 +2332,14 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format kontrolovať jazykovo závislé formátované "
"reťazce\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2130,7 +2347,7 @@ msgid ""
msgstr ""
" --check-header overiÅ¥ prítomnosÅ¥ a obsah položky hlaviÄky\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2140,7 +2357,7 @@ msgstr ""
"domény\n"
" a voľbou --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2149,7 +2366,7 @@ msgstr ""
" -C, --check-compatibility kontrolovaÅ¥, Äi sa GNU msgfmt správa tak ako\n"
" X/Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2160,12 +2377,12 @@ msgstr ""
"skratiek\n"
" pre položky menu\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy použiť nepresné preklady vo výstupe\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2173,7 +2390,7 @@ msgstr ""
" -a, --alignment=POČET zarovnať reťazce na POČET bajtov (štandardne: "
"%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2186,7 +2403,7 @@ msgstr ""
" (big alebo little, predvolené závisí na "
"platforme)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2194,90 +2411,89 @@ msgstr ""
" --no-hash binárny súbor nebude obsahovať hašovaciu "
"tabuľku\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics zobraziť štatistiky prekladov\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose zvýšiť úroveň táravosti\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "upozornenie: hlaviÄka súboru PO chýba alebo je neplatná\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "upozornenie: konverzia znakovej sady nebude fungovať\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "upozornenie: hlaviÄka súboru PO je nepresná\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "upozornenie: staršie verzie msgfmt vrátia pri tomto chybu\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "meno domény \"%s\" nie je použitelné ako meno súboru"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"meno domény \"%s\" nie je použitelné ako meno súboru: použije sa predpona"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "direktíva 'domain %s' bola ignorovaná"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "prázdna položka 'msgstr' bola ignorovaná"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "nepresná položka 'msgstr' bola ignorovaná"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: upozornenie: zdrojový súbor obsahuje nepresné preklady"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s neexistuje"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s existuje, ale nedá sa ÄítaÅ¥"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "chyba pri Äítaní súboru \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2286,7 +2502,7 @@ msgstr ""
"voľba '%c' nemôže byť použitá pred špecifikovaným 'J' alebo 'K' alebo 'T' "
"alebo 'C' alebo 'X'"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2295,7 +2511,7 @@ msgstr ""
"Vyberie všetky správy z prekladového katalógu, ktoré vyhovujú zadanému\n"
"vzoru alebo sú v zadaných zdrojových súboroch.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2372,7 +2588,7 @@ msgstr ""
" -v, --invert-match vytlaÄiÅ¥ len tie správy, ktoré nevyhovujú žiadnemu\n"
" výberovému kritériu\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2381,12 +2597,12 @@ msgstr ""
"C,\n"
" bez rozšírených znakov\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output generovať utriedený výstup\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2493,14 +2709,14 @@ msgstr ""
"V aktuálnom adresári nebol nájdený žiaden .pot súbor.\n"
"Prosím zadajte vstupný .pot súbor pomocou voľby --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "podproces %s zlyhal s ukonÄovacím kódom %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2517,28 +2733,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Slovenské preklady pre balík %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "aktuálna znaková sada \"%s\" nie je prenositeľné meno kódovania"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "dve rozdielne znakové sady \"%s\" a \"%s\" vo vstupnom súbore"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "vstupný súbor '%s' nemá v hlaviÄke uvedenú znakovú sadu"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2546,19 +2762,19 @@ msgid ""
msgstr ""
"doména \"%s\" vo vstupnom súbore '%s' nemá v hlaviÄke uvedenú znakovú sadu"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "cieľová znaková sada \"%s\" nie je prenositeľné meno kódovania."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "upozornenie: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2568,7 +2784,7 @@ msgstr ""
"UTF-8.\n"
"Konvertujem výstup do UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2581,7 +2797,7 @@ msgstr ""
"Konvertujem výstup do UTF-8.\n"
"Iné výstupné kódovanie si môžete zvoliť pomocou voľby --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2594,7 +2810,7 @@ msgstr ""
"BuÄ zmeňte vÅ¡etky msgid a msgctxt na Äisté ASCII alebo sa uistite, že sú\n"
"od poÄiatku kódované v UTF-8, t.j. už vo vaÅ¡ich zdrojových súboroch.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2607,12 +2823,12 @@ msgstr ""
"Výstup z '%s' môže byť nesprávny.\n"
"Možné riešenia sú:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Nastaviť LC_ALL na národné prostredie s kódovaním %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2623,7 +2839,7 @@ msgstr ""
" potom použiť '%s',\n"
" potom konvertovať späť na %s pomocou 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2636,7 +2852,7 @@ msgstr ""
" potom použiť '%s',\n"
" potom konvertovať späť na %s pomocou 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2648,26 +2864,26 @@ msgstr ""
"Výstup z '%s' môže byť nesprávny.\n"
"Možnou obchádzkou je nastavenie LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "výraz pre množné Äíslo môže nadobúdaÅ¥ záporné hodnoty"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, ale výraz pre množné Äíslo môže nadobúdaÅ¥ hodnoty väÄÅ¡ie ako "
"%lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "výraz pre množné Äíslo môže spôsobiÅ¥ delenie nulou"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "výraz pre množné Äíslo môže spôsobiÅ¥ celoÄíselné preteÄenie"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2675,37 +2891,37 @@ msgstr ""
"výraz pre množné Äíslo môže spôsobiÅ¥ aritmetickú výnimku, pravdepodobne "
"delenie nulou"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Skúste použiť nasledujúce, platné pre %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "katalóg správ má preklady s množnými Äíslami"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "ale v hlaviÄke chýba príznak \"plural=VÃRAZ\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "ale v hlaviÄke chýba príznak \"nplurals=ÄŒÃSLO\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "neplatná hodnota nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "neplatný výraz pre množné Äíslo"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2713,7 +2929,7 @@ msgstr[0] "ale niektoré správy majú len %lu tvarov množných Äísel"
msgstr[1] "ale niektoré správy majú len %lu tvar množného Äísla"
msgstr[2] "ale niektoré správy majú len %lu tvary množných Äísel"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2721,7 +2937,7 @@ msgstr[0] "ale niektoré správy majú %lu tvarov množných Äísel"
msgstr[1] "ale niektoré správy majú %lu tvar množného Äísla"
msgstr[2] "ale niektoré správy majú %lu tvary množných Äísel"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2729,72 +2945,88 @@ msgstr ""
"katalóg správ má preklady s množnými Äíslami, ale v hlaviÄke chýba \"Plural-"
"Forms: nplurals=ÄŒÃSLO; plural=VÃRAZ;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "položky 'msgid' a 'msgid_plural' nezaÄínajú obe s '\\n'"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "položky 'msgid' a 'msgstr[%u]' nezaÄínajú obe s '\\n'"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "položky 'msgid' a 'msgstr' nezaÄínajú obe s '\\n'"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "položky 'msgid' a 'msgid_plural' nie sú obe ukonÄené s '\\n'"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "položky 'msgid' a 'msgstr[%u]' nie sú obe ukonÄené s '\\n'"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "položky 'msgid' a 'msgstr' nie sú obe ukonÄené s '\\n'"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "spracovanie množných Äísel je rozšírením GNU"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "v msgstr chýba znaÄka klávesovej skratky '%c'"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr obsahuje príliÅ¡ veľa znaÄiek klávesových skratiek '%c'"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "položka hlaviÄky '%s' eÅ¡te obsahujú poÄiatoÄnú Å¡tandardnú hodnotu\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "položka hlaviÄky '%s' v hlaviÄke chýba\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII vypustenie ('...') namiesto Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "nájdená medzera pred vypustením v reťazci viditeľnom používateľmi"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "použité ASCII dvojité úvodzovky namiesto Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "použité ASCII jednoduché úvodzovky namiesto Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: vstup nie je platný v kódovaní \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: chyba pri konverzii kódovania z \"%s\" na \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "vstupný súbor nemá v hlaviÄke uvedenú znakovú sadu"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2803,7 +3035,7 @@ msgstr ""
"Nemôžem konvertovať z \"%s\" do \"%s\". %s spolieha na iconv() a iconv() "
"nepodporuje takúto konverziu."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2812,8 +3044,8 @@ msgstr ""
"Konverzia z \"%s\" do \"%s\" zavedie duplicity: niektoré rozdielne msgid sa "
"stanú rovnakými."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2822,16 +3054,16 @@ msgstr ""
"Nemôžem konvertovať z \"%s\" do \"%s\". %s spolieha na iconv(). Táto verzia "
"bola preložená bez iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s je platné len s %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "typ zálohy"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2855,18 +3087,18 @@ msgstr ""
"pri ktorých nemožno nájsť presnú zhodu, bude použitý fuzzy algoritmus,\n"
"ktorý dosahuje lepšie výsledky.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po preklady podľa starých zdrojových súborov\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot odkazy na nové zdrojové súbory\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2875,7 +3107,7 @@ msgstr ""
" -C, --compendium=SÚBOR prídavná knižnica prekladov správ, môže byť\n"
" zadaná viac ako raz\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2884,27 +3116,27 @@ msgstr ""
" -U, --update aktualizovať def.po,\n"
" nerobiÅ¥ niÄ, ak def.po je aktuálny\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Umiestnenie výstupného súboru v režime aktualizácie:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Výsledok je zapísaný späť do def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL vytvoriť zálohu súboru def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=PRÃPONA prekryÅ¥ obvyklú príponu zálohy\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2922,7 +3154,7 @@ msgstr ""
" existing, nil numbered, ak existuje Äíslovaná záloha, inak simple\n"
" simple, never vždy vytvoriť jednoduchú zálohu\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2932,7 +3164,7 @@ msgstr ""
"Prípona zálohy je '~', pokiaľ nie je zadaná voľba --suffix alebo nastavená\n"
"premenná prostredia SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2940,22 +3172,22 @@ msgstr ""
" --previous zachovať predchádzajúce msgid preložených "
"správ\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent potlaÄiÅ¥ indikátory postupu\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "táto správa by mala definovaÅ¥ tvary množného Äísla"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "táto správa by nemala definovaÅ¥ tvary množného Äísla"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2964,28 +3196,28 @@ msgstr ""
"%sNaÄítané %ld starých + %ld odkazov, %ld zluÄených, %ld nepresných, %ld "
"chýbajucich, %ld zrušených.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " hotovo.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s a explicitné mená súborov sa navzájom vyluÄujú"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Použitie: %s [VOĽBA] [SÚBOR]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Konvertovať binárny katalóg správ na .po súbor v Uniforum štýle.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2994,12 +3226,12 @@ msgstr ""
" -j, --java režim Java: vstup je trieda Java "
"ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp režim C#: vstup je .dll súbor .NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3008,24 +3240,24 @@ msgstr ""
" --csharp-resources režim zdrojov C#: vstup je .resources súbor "
"pre .NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl režim Tcl: vstup je súbor .msg tcl/msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " SÚBOR ... vstupné .mo súbory\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Umiestnenie vstupného súboru v režime Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3035,12 +3267,12 @@ msgstr ""
"Názov triedy je získaný pridaním názvu národného prostredia k názvu zdroja,\n"
"oddelených znakom \"_\". Trieda je umiestnená pomocou CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Umiestnenie vstupného súboru v režime C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3049,12 +3281,12 @@ msgstr ""
"Voľby -l a -d sú povinné. Súbor .dll je umiestnený v podadresári zadaného,\n"
"ktorého názov závisí od národného prostredia adresára.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Umiestnenie vstupného súboru v režime Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3062,20 +3294,20 @@ msgid ""
msgstr ""
"Voľby -l a -d sú povinné. Súbor .msg je umiestnený v zadanom adresári.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
" -i, --indent zapísať pomocou odsadeného výstupného štýlu\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict zapísať súbor s presne dodržaným štýlom "
"uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3096,12 +3328,12 @@ msgstr ""
"z prvého prekladu. Pozície v súboroch budú zlúÄené. Pri použití voľby\n"
"--unique budú duplikáty potlaÄené.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated zobraziť len duplikáty\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3110,7 +3342,7 @@ msgstr ""
" -u, --unique zobraziÅ¥ len unikátne správy, potlaÄiÅ¥ "
"duplikáty\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<štandardný vstup>"
@@ -3166,32 +3398,32 @@ msgstr ""
"V hlaviÄke chýba znaková sada.\n"
"Konverzia hlásení do znakovej sady používateľa nebude fungovať.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "nekonzistentné použitie #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "chýba sekcia 'msgstr[]'"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "chýba sekcia 'msgid_plural'"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "chýba sekcia 'msgstr'"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "prvé množné Äíslo má nenulový index"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "množné Äíslo má nesprávny index"
@@ -3201,7 +3433,7 @@ msgstr "množné Äíslo má nesprávny index"
msgid "too many errors, aborting"
msgstr "vyskytlo sa príliÅ¡ veľa chýb, ukonÄuje sa program"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "neplatná viacznaková sekvencia"
@@ -3245,64 +3477,81 @@ msgstr "koniec riadka uprostred reťazca"
msgid "context separator <EOT> within string"
msgstr "oddeľovaÄ kontextu <EOT> v reÅ¥azci"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "tento súbor nesmie obsahovať direktívy pre doménu"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "duplicitná definícia správy"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "toto je miesto prvého definovania"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "neukonÄené meno skupiny"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "neplatný neprázdny znak"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "chýbajúce '=' za \"%s\""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "neplatný neprázdny riadok"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "súbor \"%s\" je skrátený"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "súbor \"%s\" obsahuje reÅ¥azce, ktoré nie sú ukonÄené nulou"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "súbor \"%s\" nie je vo formáte GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "súbor \"%s\" obsahuje reÅ¥azec, ktorý nie je ukonÄený nulou, na %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "upozornenie: neplatná syntax \\uxxxx pre znak Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "upozornenie: neukonÄený reÅ¥azec"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "upozornenie: chyba syntaxe"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "upozornenie: neukonÄený pár kľúÄ/hodnota"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "upozornenie: chyba syntaxe, oÄakávané ';' po reÅ¥azci"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "upozornenie: chyba syntaxe, oÄakávané '=' alebo ';' po reÅ¥azci"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Napísal %s a %s.\n"
@@ -3311,16 +3560,16 @@ msgstr "Napísal %s a %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Prekódovať srbský text z cyriliky do latinky.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3329,27 +3578,27 @@ msgstr ""
"Vstupný text je Äítaný zo Å¡tandardného vstupu. Konvertovaný text je vytlaÄený\n"
"na štandardný výstup.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "vstup nie je platný v kódovaná \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "chyba pri konverzii kódovania z \"%s\" do \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "oÄakávané dva parametre"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Použitie: %s [VOĽBA] URL SÚBOR\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3358,37 +3607,37 @@ msgstr ""
"Stiahne a zobrazí obsah z URL. Ak URL nie je dostupné, použije sa SÚBOR\n"
"z lokálneho disku.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "chyba pri Äítaní \"%s\""
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "chyba pri zápise na štandardný výstup"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "chyba po Äítaní \"%s\""
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Získavanie %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " Äasový limit vyprÅ¡al.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " zlyhalo.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3396,7 +3645,7 @@ msgstr ""
"Nemožno zapísať viacnásobné prekladové domény do jedného súboru v zadanom "
"výstupnom formáte. Skúste použiť namiesto toho syntax PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3404,7 +3653,7 @@ msgstr ""
"Nemožno zapísať viacnásobné prekladové domény do jedného súboru v zadanom "
"výstupnom formáte."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3412,7 +3661,7 @@ msgstr ""
"katalóg správ má preklady závisiace od kontextu, ale výstupný formát ich "
"nepodporuje."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3422,7 +3671,7 @@ msgstr ""
"nepodporuje. Skúste pregenerovať Java triedu pomocou \"msgfmt --java\", "
"namiesto súboru vlastností."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3430,12 +3679,12 @@ msgstr ""
"katalóg správ má preklady s množnými Äíslami, ale výstupný formát ich "
"nepodporuje."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "nemožno vytvoriť výstupný súbor \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "štandardný výstup"
@@ -3454,38 +3703,39 @@ msgstr "kompilácia triedy C# zlyhala, prosím skúste --verbose"
msgid "compilation of C# class failed"
msgstr "kompilácia triedy C# zlyhala"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "chyba pri otváraní súboru \"%s\" na zápis"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "nie je platným názvom triedy Java: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"kompilácia triedy Java zlyhala, prosím skúste --verbose alebo nastavte $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "kompilácia triedy Java zlyhala, prosím skúste nastaviť $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "chyba pri otváraní súboru \"%s\" na zápis"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "nekompletná viacznaková sekvencia"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "internacionalizované správy nesmú obsahovať riadiacu sekvenciu '\\%c'"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3498,7 +3748,7 @@ msgstr ""
"ako vy. Zvážte namiesto toho použitie msgctxt len s ASCII znakmi.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3511,7 +3761,7 @@ msgstr ""
"ako vy. Zvážte namiesto toho použitie msgid len s ASCII znakmi.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3519,7 +3769,7 @@ msgstr ""
"katalóg správ má preklady s množnými Äíslami,\n"
"ale formát katalógu správ Qt nepodporuje množné Äísla\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3530,7 +3780,7 @@ msgstr ""
"formát katalógu správ Qt podporuje Unicode len v preložených reťazcoch\n"
"a nie v kontextových reťazcoch\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3540,12 +3790,12 @@ msgstr ""
"formát katalógu správ Qt podporuje Unicode len v preložených reťazcoch\n"
"a nie v nepreložených reťazcoch\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "chyba poÄas zápisu do do podprocesu %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3553,7 +3803,7 @@ msgstr ""
"katalóg správ má preklady závislé od kontextu,\n"
"ale formát C# .resources nepodporuje kontexty\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3561,7 +3811,7 @@ msgstr ""
"katalóg správ má preklady s množnými Äíslami,\n"
"ale formát C# .resources nepodporuje množné Äísla\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3569,7 +3819,7 @@ msgstr ""
"katalóg správ má preklady závislé od kontextu,\n"
"ale formát katalógu správ Tcl nepodporuje kontexty\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3577,36 +3827,36 @@ msgstr ""
"katalóg správ má preklady s množnými Äíslami,\n"
"ale formát katalógu správ Tcl nepodporuje množné Äísla\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: upozornenie: neukonÄený reÅ¥azec"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: upozornenie: neukonÄený regulárny výraz"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "upozornenie: neplatný znak Unicode"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: upozornenie: neukonÄená znaková konÅ¡tanta"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: upozornenie: neukonÄený znakový reÅ¥azec"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Prosím, zadajte kódovanie zdroja pomocou --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3615,7 +3865,7 @@ msgstr ""
"%s:%d: Neplatná viacbajtová postupnosť.\n"
"Prosím, zadajte správne kódovanie zdroja pomocou --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3624,7 +3874,7 @@ msgstr ""
"%s:%d: Nekompletná dlhá viacbajtová postupnosť.\n"
"Prosím, zadajte správne kódovanie zdroja pomocou --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3633,7 +3883,7 @@ msgstr ""
"%s:%d: Nekompletná viacbajtová postupnosť na konci súboru.\n"
"Prosím, zadajte správne kódovanie zdroja pomocou --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3642,12 +3892,12 @@ msgstr ""
"%s:%d: Nekompletná viacbajtová postupnosť na konci riadka.\n"
"Prosím, zadajte správne kódovanie zdroja pomocou --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv zlyhal"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3656,279 +3906,76 @@ msgstr ""
"%s:%d: Neplatná viacbajtová postupnosť.\n"
"Prosím, zadajte kódovanie zdroja pomocou --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: upozornenie: neplatný znak Unicode"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: upozornenie: neukonÄená reÅ¥azcová konÅ¡tanta"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: upozornenie: nájdené ')' tam, kde bolo oÄakávané '}'"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: upozornenie: nájdené '}' tam, kde bolo oÄakávané ')'"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Chýba kontext pre reťazec extrahovaný z element '%s'"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Koreňový element <%s> nie je dovolený v platnom súbore Glade"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Jazyk \"glade\" je nepodporovaný. %s spolieha na expat.\n"
-"Táto verzia bola preložená bez expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: upozornenie: osamotený náhradník U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Prosím, zadajte kódovanie zdroja pomocou --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Neplatná viacbajtová postupnosť.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Nekompletná dlhá viacbajtová postupnosť.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Nekompletná viacbajtová postupnosť na konci súboru.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Nekompletná viacbajtová postupnosť na konci riadka.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Neplatná viacbajtová postupnosť.\n"
-"Prosím, zadajte kódovanie zdroja pomocou --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: upozornenie: reÅ¥azec RegExp je ukonÄený príliÅ¡ skoro"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: upozornenie: %s nie je dovolené"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: upozornenie: neukonÄená znaÄka XML"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: nepodarilo sa nájsÅ¥ ukonÄenie reÅ¥azca \"%s\" pred koncom súboru"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: chýbajúca pravá zátvorka v \\x{Å ESTNÃSTKOVÉČÃSLO}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: neplatná interpolácia (\"\\l\") 8-bitového znaku \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: neplatná interpolácia (\"\\u\") 8-bitového znaku \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: neplatná interpolácia premennej na \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: neplatná interpolácia (\"\\L\") 8-bitového znaku \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: neplatná interpolácia (\"\\U\") 8-bitového znaku \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Prosím, zadajte kódovanie zdroja pomocou --from-code alebo pomocou\n"
-"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Neplatná viacbajtová postupnosť.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code alebo pomocou\n"
-"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Nekompletná dlhá viacbajtová postupnosť.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code alebo pomocou\n"
-"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "'%s' nie je platný názov kódovania. Použijem ASCII namiesto neho.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Nekompletná viacbajtová postupnosť na konci súboru.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-codei alebo pomocou\n"
-"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "kontrola syntaxe '%s' je neznáma"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Nekompletná viacbajtová postupnosť na konci riadka.\n"
-"Prosím, zadajte správne kódovanie zdroja pomocou --from-code alebo pomocou\n"
-"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "typ ukonÄenia vety '%s' je neznámy"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Neplatná viacbajtová postupnosť.\n"
-"Prosím, zadajte kódovanie zdroja pomocou --from-code alebo pomocou\n"
-"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Neznáme kódovanie \"%s\". PokraÄujem namiesto neho s ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: neplatná definícia reťazca"
+"--join-existing nemožno použiť ak je výstup posielaný na štandardný výstup"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: chýbajúce Äíslo za #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext nemôže pracovaÅ¥ bez kľúÄových slov, ktoré má hľadaÅ¥"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: neplatný výraz reťazca"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "upozornenie: súbor pravidiel ITS '%s' neexistuje"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: upozornenie: syntax $\"...\" je neodporúÄaná z bezpeÄnostných "
-"dôvodov; použite namiesto toho eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr ""
-"%s:%d: upozornenie: reÅ¥azec regulárneho výrazu je ukonÄený príliÅ¡ skoro"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "'%s' nie je platný názov kódovania. Použijem ASCII namiesto neho.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"--join-existing nemožno použiť ak je výstup posielaný na štandardný výstup"
+"upozornenie: súbor pravidiel ITS '%s' neexistuje; skontrolujte vašu "
+"inštaláciu gettext-u"
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext nemôže pracovaÅ¥ bez kľúÄových slov, ktoré má hľadaÅ¥"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "upozornenie: súbor '%s' s príponou '%s' je neznámy; skúsim C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extrahovať preložiteľné reťazce zo zadaných vstupných súborov.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3937,12 +3984,12 @@ msgstr ""
" -d, --default-domain=NÃZOV použiÅ¥ NÃZOV.po pre výstup (namiesto messages."
"po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=SÚBOR zapísať výstup do zadaného súboru\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -3950,12 +3997,12 @@ msgstr ""
" -p, --output-dir=ADRESÃR výstupné súbory budú umiestnené v adresári "
"ADRESÃR\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Voľba jazyka vstupného súboru:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3976,19 +4023,19 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ skratka pre --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "Štandardne je jazyk odhadnutý podľa prípony vstupného súboru\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3997,24 +4044,24 @@ msgstr ""
" --from-code=NÃZOV kódovanie vstupných súborov\n"
" (s výnimkou pre Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Štandardne sa predpokladá, že vstupné súbory sú v kódovaní ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing spojiť správy s existujúcim súborom\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=SÚBOR.po položky zo súboru SÚBOR.po nie sú "
"extrahované\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4031,17 +4078,39 @@ msgstr ""
" predchádzajú riadky s kľúÄovými slovami,\n"
" do výstupného súboru\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=MENO vykonať kontrolu syntaxe na správach\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYP typ oznaÄujúci koniec vety\n"
+" (single-space, ktoré je predvolené,\n"
+" alebo double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Voľby špecifické pre jednotlivé jazyky:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extrahovať všetky reťazce\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4056,7 +4125,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4071,7 +4140,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4082,7 +4151,7 @@ msgstr ""
"Äíslo\n"
" ARG kľúÄového slova SLOVO\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4097,37 +4166,37 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs poznať ANSI C trojznaky na vstupe\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (len jazyky C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt rozoznať formát reťazcov Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (len jazyk C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde rozoznať formát reťazcov KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost rozoznať formát reťazcov Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4136,19 +4205,29 @@ msgstr ""
"formátovacích\n"
" reťazcov\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output zapísať Java súbor .properties\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=SÚBOR použiť pravidlá ITS zo SÚBORu\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool zapísať komentáre itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=REŤAZEC nastaviť držiteľa autorských práv vo "
"výstupe\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4156,17 +4235,17 @@ msgstr ""
" --foreign-user vynechať informáciu o autorských právach FSF\n"
" pre cudzieho používateľa\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=BALÃK nastaviÅ¥ názov balíka vo výstupe\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERZIA nastaviť verziu balíka vo výstupe\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4175,7 +4254,7 @@ msgstr ""
"chýb\n"
" v msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4186,7 +4265,7 @@ msgstr ""
"predponu\n"
" pre hodnoty msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4197,7 +4276,7 @@ msgstr ""
"príponu pre\n"
" hodnoty msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4205,31 +4284,31 @@ msgid ""
msgstr ""
"Parameter pre --flag nemá tvar <kľúÄové_slovo>:<Ä_param>:[pass-]<príznak>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "štandardný vstup"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Nie ASCII znak na %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Nie ASCII komentár na alebo pred %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Nie ASCII reťazec na %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: upozornenie: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4238,7 +4317,7 @@ msgstr ""
"Aj keÄ je použité v pozícii formátovacieho reÅ¥azca, %s nie je platný "
"formátovací reťazec %s. Dôvod: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4247,7 +4326,7 @@ msgstr ""
"Aj keÄ je to tak deklarované, %s nie je platný formátovací reÅ¥azec %s. "
"Dôvod: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4261,7 +4340,7 @@ msgstr ""
"Prosím, zvážte použitie formátovacieho reťazca s pomenovanými parametrami\n"
"a mapovaním namiesto zoznamu parametrov.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4271,29 +4350,29 @@ msgstr ""
"gettext(\"\") vráti hlaviÄku s meta informáciami\n"
"a nie prázdny reťazec.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "nejednoznaÄne zadaný parameter pre kľúÄové slovo '%.*s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "upozornenie: chýbajúci kontext pre kľúÄové slovo '%.*s'"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"upozornenie: chýbajúci kontext pre parameter množného Äísla kľúÄového slova "
"'%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "nezhoda kontextu medzi jednotným a množným Äíslom"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4305,11 +4384,338 @@ msgstr ""
"MSGID_BUGS_ADDRESS; inak prosím zadajte voľbu príkazového\n"
"riadka --msgid-bugs-address.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "jazyk '%s' je neznámy"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: upozornenie: osamotený náhradník U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Prosím, zadajte kódovanie zdroja pomocou --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Neplatná viacbajtová postupnosť.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Nekompletná dlhá viacbajtová postupnosť.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Nekompletná viacbajtová postupnosť na konci súboru.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Nekompletná viacbajtová postupnosť na konci riadka.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Neplatná viacbajtová postupnosť.\n"
+"Prosím, zadajte kódovanie zdroja pomocou --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: upozornenie: reÅ¥azec RegExp je ukonÄený príliÅ¡ skoro"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: upozornenie: %s nie je dovolené"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: upozornenie: neukonÄená znaÄka XML"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: nepodarilo sa nájsÅ¥ ukonÄenie reÅ¥azca \"%s\" pred koncom súboru"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: chýbajúca pravá zátvorka v \\x{Å ESTNÃSTKOVÉČÃSLO}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: neplatná interpolácia (\"\\l\") 8-bitového znaku \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: neplatná interpolácia (\"\\u\") 8-bitového znaku \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: neplatná interpolácia premennej na \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: neplatná interpolácia (\"\\L\") 8-bitového znaku \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: neplatná interpolácia (\"\\U\") 8-bitového znaku \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Prosím, zadajte kódovanie zdroja pomocou --from-code alebo pomocou\n"
+"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Neplatná viacbajtová postupnosť.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code alebo pomocou\n"
+"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Nekompletná dlhá viacbajtová postupnosť.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code alebo pomocou\n"
+"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Nekompletná viacbajtová postupnosť na konci súboru.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-codei alebo pomocou\n"
+"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Nekompletná viacbajtová postupnosť na konci riadka.\n"
+"Prosím, zadajte správne kódovanie zdroja pomocou --from-code alebo pomocou\n"
+"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Neplatná viacbajtová postupnosť.\n"
+"Prosím, zadajte kódovanie zdroja pomocou --from-code alebo pomocou\n"
+"komentára tak, ako je uvedené na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Neznáme kódovanie \"%s\". PokraÄujem namiesto neho s ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: neplatná definícia reťazca"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: chýbajúce Äíslo za #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: neplatný výraz reťazca"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: upozornenie: syntax $\"...\" je neodporúÄaná z bezpeÄnostných "
+"dôvodov; použite namiesto toho eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr ""
+"%s:%d: upozornenie: reÅ¥azec regulárneho výrazu je ukonÄený príliÅ¡ skoro"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<nepomenované>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "neplatná sekvencia UTF-8"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "'%s' nie je platným názvom: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "'%s' nie je platným názvom: '%c'"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "neplatný znakový odkaz: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "nesprávne zadané Äíslo"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "bez ukonÄovacej ';'"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "nedovolený znak"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "prázdne"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "neznáme"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "neplatný odkaz entity: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "dokument musí zaÄínaÅ¥ elementom"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "neplatný znak za '%s'"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "chýbajúce '%c'"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "chýbajúce '%c' alebo '%c'"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "názov uzatváracieho elementu"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "element je uzatvorený"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "prázdny dokument"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "za '<'"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "elementy ešte otvorené"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "chýbajúce '>'"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "v názve elementu"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "v názve vlastnosti"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "v otváracej znaÄke"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "za '='"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "v hodnote vlastnosti"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "v uzatváracej znaÄke"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "v komentári alebo vykonávacom pokyne"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "dokument skonÄil neoÄakávane: %s"
+
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "Koreňový element <%s> nie je dovolený v platnom súbore CLDR"
diff --git a/gettext-tools/po/sl.gmo b/gettext-tools/po/sl.gmo
index 9700b94..2256d3d 100644
--- a/gettext-tools/po/sl.gmo
+++ b/gettext-tools/po/sl.gmo
Binary files differ
diff --git a/gettext-tools/po/sl.po b/gettext-tools/po/sl.po
index e14378d..a3466bd 100644
--- a/gettext-tools/po/sl.po
+++ b/gettext-tools/po/sl.po
@@ -1,16 +1,16 @@
# -*- mode:po; coding:utf-8; -*- Slovenian messages for GNU gettext package
-# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2006, 2007, 2011, 2013, 2014 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2006, 2007, 2011, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
-# Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999-2003, 2006, 2007, 2011, 2013, 2014.
+# Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999-2003, 2006, 2007, 2011, 2013, 2014, 2015.
#
-# $Id: gettext-tools-0.19.3.sl.po,v 1.2 2014/11/16 20:08:47 peterlin Exp $
+# $Id: gettext-tools-0.19.7-rc1.sl.po,v 1.3 2015/12/26 15:50:07 peterlin Exp $
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU gettext-tools 0.19.3\n"
+"Project-Id-Version: GNU gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-11-16 21:08+0100\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-26 16:49+0100\n"
"Last-Translator: Primoz PETERLIN <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
@@ -58,40 +58,40 @@ msgstr "zaÄasnega imenika %s ni mogoÄe odstraniti"
msgid "write error"
msgstr "napaka pri pisanju"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "ohranjamo dovoljenja za %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "datoteke %s ni moÄ odpreti za branje"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "varnostne kopije %s ni mogoÄe odpreti za pisanje"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "napaka pri branju %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "napaka pri pisanju na %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "napaka po branju %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "klic fdopen() neuspešen"
@@ -117,58 +117,63 @@ msgstr "Neznana sistemska napaka"
msgid "%s subprocess failed"
msgstr "%s podproces neuspešen"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: izbira »%s« ni enopomenska; možnosti:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: izbira »%s« ni enopomenska\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: izbira »%c%s« ne dovoljuje argumenta\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: izbira »--%s« zahteva argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neprepoznana izbira »--%s«\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neprepoznana izbira »%c%s«\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neveljavna izbira -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: izbira zahteva argument -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: izbira »-W %s« ni enopomenska\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: izbira »-W %s« zahteva argument\n"
@@ -184,15 +189,16 @@ msgstr "neveljaven argument source_version za compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "neveljaven argument target_version za compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "ustvarjanje »%s« neuspešno"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "napaka pri pisanju na datoteko »%s«"
@@ -208,16 +214,16 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"Virtualnega javanskega stroja ni najti; namestite gij ali nastavite $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "V/I napaka v podprocesu %s"
# Morda ,,Zmanjkalo pomnilnika''?
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "zmanjkalo pomnilnika"
@@ -228,7 +234,7 @@ msgid "creation of threads failed"
msgstr "ustvarjanje niti ni uspelo"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "posredovanje podatkov podprocesu %s neuspešno"
@@ -274,11 +280,11 @@ msgstr "podproces %s zakljuÄil z izhodno kodo %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "»"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "«"
@@ -314,51 +320,199 @@ msgstr "podproces %s"
msgid "%s subprocess got fatal signal %d"
msgstr "podproces %s prejel kritiÄni signal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "datoteke \"%s\" ni moÄ odpreti za branje"
+msgid "The root element must be <%s>"
+msgstr "Korenski element mora biti <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "»%s« ni veljaven formatni niz %s, za razliko od »%s« . Razlog: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Element <%s> ne vsebuje elementa <%s>"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "Element <%s> nima prilastka <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Poskusite »%s --help« za izÄrpnejÅ¡a navodila\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Uporaba: %s [IZBIRA] [LOKACIJA PRAVILA]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"Izvleci ali prevedi pravila za množino Unicode CLDR.\n"
+"\n"
+"Če sta podana tako LOKACIJA kot PRAVILA, se pravila CLDR za množinske oblike\n"
+"za dano LOKACIJO preberejo iz PRAVIL in se izpišejo v obliki primerni za\n"
+"gettext. Če ni podan noben argument, se množinska pravila CLDR preberejo\n"
+"s standardnega vhoda.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"ÄŒe je pri dolgi obliki izbire naveden obvezen argument, je ta obvezen\n"
+"tudi za kratko obliko. Enako za neobvezne argumente.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -c, --cldr izpiši množinska pravila v zapisu CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help ta navodila\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version razliÄica programa\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Morebitne napake v programu sporoÄite na <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"GPLv3+: GNU GPL razliÄica 3 ali kasnejÅ¡e, http://gnu.org/licences/gpl.html\n"
+"To je prost program; smete ga spreminjati in deliti z drugimi.\n"
+"Za program ni NOBENEGA JAMSTVA do zakonsko podanih omejitev.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Avtor(ica) %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s ni mogoÄe prebrati"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr " ni mogoÄe pridobiti pravil za %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "pravila CLDR ni mogoÄe razÄleniti"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "odveÄni operand %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "datoteke \"%s\" ni moÄ odpreti za branje"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "formatno doloÄilo za argument %u, kot v »%s«, v »%s« ne obstaja"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "formatno doloÄilo za argument %u ne obstaja v »%s«"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "formatni doloÄili v »%s« in »%s« za argument %u nista enaki"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktiva Å¡tevilka %u se zaÄenja z »|«, vendar se ne zakljuÄuje z »|«."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "»%s« ni veljaven formatni niz %s, za razliko od »%s« . Razlog: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -367,61 +521,61 @@ msgstr ""
"V direktivi Å¡tevilka %u element za »<« ni ime makroukaza, ki doloÄa obliko. "
"Veljavna imena makroukazov so navedena v ISO C 99, razdelek 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "V direktivi številka %u elementu za »<« ne sledi »>«. "
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Niz se sklicuje na argument številka %u, vendar ne upošteva argumenta št. %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "Å¡tevili formatnih doloÄil v »%s« in »%s« se ne ujemata"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "V direktivi števika %u oklepaju »{« ne sledi število argumentov."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "V direktivi številka %u vejici »,« ne sledi število."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Niz se konÄa sredi direktive: najden je oklepaj »{« brez zaklepaja »}«."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"Direktivo Å¡tevilka %u zakljuÄuje neveljaven znak »%c« namesto zaklepaja »}«."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Direktivo Å¡tevilka %u zakljuÄuje neveljaven znak namesto zaklepaja »}«."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"Niz se zaÄne sredi direktive: najden je zaklepaj »}« brez oklepaja »{«."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Niz vsebuje zaklepaj »}« brez para za direktivo številka %u."
@@ -537,25 +691,25 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Niz se sklicuje na argument Å¡tevilka %u na nezdružljive naÄine."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "V direktivi številka %u podniz »%s« ni veljaven slog datuma/ure."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "V direktivi številka %u nizu »%s« ne sledi vejica."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "V direktivi številka %u podniz »%s« ni veljaven slog števila."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -564,12 +718,12 @@ msgstr ""
"V direktivi Å¡tevilka %u argumentu Å¡tevila ne sledi vejica ali eno od "
"naštetega: »%s«, »%s«, »%s« ali »%s«."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "V direktivi Å¡tevilka %u izbira ne vsebuje Å¡tevila."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -578,24 +732,47 @@ msgstr ""
"V direktivi številka %u izbira vsebuje število, ki mu ne sledi »<«, »#« ali "
"»%s«."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "formatno doloÄilo za argument {%u}, ki je v »%s« ni, v »%s« ne obstaja"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "v »%2$s« ni formatnega doloÄila za argument {%1$u}"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "formatni doloÄili v »%s« in »%s« za argument {%u} nista enaki"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Niz se sklicuje na argument številka %u, vendar ne upošteva argumentov %u in "
+"%u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"formatno doloÄilo za argumenta %u in %u ne obstaja v »%s«, samo en argument "
+"se lahko prezre"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "napaka pri razÄlembi: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -605,7 +782,7 @@ msgstr ""
"V direktivi Å¡tevilka %u je parameter %u tipa »%s«, priÄakovan pa je "
"parameter tipa »%s«."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -626,59 +803,65 @@ msgstr[3] ""
"V direktivi Å¡tevilka %u je podanih preveÄ parametrov; priÄakovani so najveÄ "
"%u parametri."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "V direktivi številka %u, »%c« ne sledi števka."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "V direktivi Å¡tevilka %u je argument %d negativen."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Niz se konÄa sredi direktive ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Najdeno »~%c« brez ujemajoÄega »~%c«."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "V direktivi Å¡tevilka %u je podan tako modifikator @ kot modifikator :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr "V direktivi Å¡tevilka %u, »~:[« ne sledita dva Älena, loÄena z »~;«."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "V direktivi številka %u je »~;« uporabljen na neveljavnem mestu."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Niz se sklicuje na nek argument na nezdružljive naÄine."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "formatni doloÄili v »%s« in »%s« nista enakovredni"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "formatna doloÄila v »%s« niso podmnožica tistih v »%s«"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "v »%2$s« ni formatnega doloÄila za argument »%1$s«"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -687,14 +870,35 @@ msgstr ""
"V direktivi Å¡tevilka %u je doloÄilo velikosti nezdružljivo s pretvornim "
"faktorjem »%c«."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "v »%2$s« ni formatnega doloÄila za argument »%1$s«"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "V direktivi Å¡tevilka %u »%c« ne more zaÄenjati imena polja."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "V direktivi Å¡tevika %u »%c« ne more zaÄenjati argumenta getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "V direktivi Å¡tevilka %u »%c« ne more zaÄenjati argumenta getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"V direktivi Å¡tevilka %u ni dovoljeno nadaljnje gnezdenje formatnega "
+"doloÄilnika."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "V direktivi Å¡tevilka %u je nezakljuÄena formatna direktiva."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -702,12 +906,12 @@ msgstr ""
"Niz se sklicuje na argumente tako prek njihovih imen kot prek nepoimenovanih "
"doloÄil argumentov."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "Niz se sklicuje na argument »%s« na nezdružljive naÄine."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -715,7 +919,7 @@ msgstr ""
"formatno doloÄilo v »%s« zahteva preslikavo, tisto v »%s« pa priÄakuje n-"
"terÄek"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -723,47 +927,19 @@ msgstr ""
"formatno doloÄilo v »%s« zahteva n-terÄek, tisto v »%s« pa priÄakuje "
"preslikavo"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "formatno doloÄilo za argument »%s«, kot v »%s«, v »%s« ne obstaja"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "formatni doloÄili v »%s« in »%s« za argument »%s« nista enaki"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "V direktivi Å¡tevilka %u »%c« ne more zaÄenjati imena polja."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "V direktivi Å¡tevika %u »%c« ne more zaÄenjati argumenta getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "V direktivi Å¡tevilka %u »%c« ne more zaÄenjati argumenta getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"V direktivi Å¡tevilka %u ni dovoljeno nadaljnje gnezdenje formatnega "
-"doloÄilnika."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "V direktivi Å¡tevilka %u je nezakljuÄena formatna direktiva."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -772,13 +948,13 @@ msgstr ""
"»%s« je enostaven formatni niz, »%s« pa ne: vsebuje zastavico »L« ali "
"dvoÅ¡tevilÄno Å¡tevilo argumenta"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr ""
"Niz se sklicuje na spremenljivko ukazne lupine, katere ime vsebuje ne-ASCII "
"znake."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -787,7 +963,7 @@ msgstr ""
"oklepajev ukazne lupine. Ta skladnja zaradi varnostnih razlogov tu ni "
"podprta."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -795,93 +971,58 @@ msgstr ""
"Niz se sklicuje na spremenljivko ukazne lupine, katere vrednost se lahko "
"spremeni znotraj funkcij ukazne lupine."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Niz se sklicuje na spremenljivko ukazne lupine s praznim imenom."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "V direktivi številka %u znak »%c« ni števka med 1 in 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Znak, ki zakljuÄuje direktivo Å¡tevilka %u, ni Å¡tevka med 1 in 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"GPLv3+: GNU GPL razliÄica 3 ali kasnejÅ¡e, http://gnu.org/licences/gpl.html\n"
-"To je prost program; smete ga spreminjati in deliti z drugimi.\n"
-"Za program ni NOBENEGA JAMSTVA do zakonsko podanih omejitev.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Avtor(ica) %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "preveÄ argumentov"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Poskusite »%s --help« za izÄrpnejÅ¡a navodila\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Uporaba: %s [IZBIRA]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Izpis gostiteljskega imena raÄunalnika.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Oblika izpisa:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short kratka oblika gostiteljskega imena\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -892,77 +1033,103 @@ msgstr ""
"polnim\n"
" internetim imenom in vzdevki\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address internetni naslov za gostiteljsko ime\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informativni izpis:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help ta navodila\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "gostiteljskega imena ni moÄ ugotoviti"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version razliÄica programa\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "selektor ni podan"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Morebitne napake v programu sporoÄite na <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "ni mogoÄe ustvariti konteksta XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "gostiteljskega imena ni moÄ ugotoviti"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "ni mogoÄe ovrednotiti izraza XPath: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "vozliÅ¡Äe »%s« ne vsebuje »%s«"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "neveljavna vrednost prilastka »%s« za »%s«"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "Korenski element v imenskem prostoru %s ni »rules«"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "ni mogoÄe prebrati %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "lokacijske poti XPath ni mogoÄe ovrednotiti: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "vozliÅ¡Äe »%s« nima »%s«"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "ni mogoÄe prebrati datoteke XML %s"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "Krovni element ni »locatingRules«"
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "dovoljena je najveÄ ena vhodna datoteka"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s in %s se med seboj izkljuÄujeta"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Uporaba: %s [IZBIRA] [VHODNA_DATOTEKA]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -971,10 +1138,10 @@ msgstr ""
"Filtriranje sporoÄil iz kataloga prevodov glede na njihova doloÄila\n"
"in rokovanje z njimi.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -982,23 +1149,23 @@ msgstr ""
"ÄŒe je pri dolgi obliki izbire naveden obvezen argument, je ta obvezen\n"
"tudi za kratko obliko.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Izbira vhodne datoteke:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " VHODNA_DATOTEKA vhodna datoteka PO\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1006,31 +1173,32 @@ msgstr ""
" -D, --directory=IMENIK vhodne datoteke iÅ¡Äemo tudi v navedenem "
"IMENIKU\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"ÄŒe vhodna datoteka ni podana ali je enaka -, se bere standardni vhod.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Izbira izhodne datoteke:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=DATOTEKA izhod zapisujemo v navedeno DATOTEKO\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1040,12 +1208,12 @@ msgstr ""
"standardni\n"
"izhod.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Izbira sporoÄil:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1053,7 +1221,7 @@ msgstr ""
" --translated obdržimo prevedena sporoÄila, zavržemo "
"neprevedena\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1061,57 +1229,57 @@ msgstr ""
" --untranslated obdržimo neprevedena sporoÄila, zavržemo "
"prevedena\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy brez ohlapnih samodejno prevedenih sporoÄil\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy zgolj ohlapna samodejno prevedena sporoÄila\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete brez zastarelih (#~) sporoÄil\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete zgolj zastarela (#~) sporoÄila\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Rokovanje z doloÄili:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr ""
" --set-fuzzy vsa sporoÄila oznaÄimo kot ohlapno pprevedena\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy izbrišemo vse oznake o ohlapnosti prevodov\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete vsa sporoÄila oznaÄimo kot zastarela\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete izbrišemo vse oznake o zastarelosti prevodov\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1120,7 +1288,7 @@ msgstr ""
" --previous obdržimo prejšnja polja msgid prevedenih "
"sporoÄil\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1129,21 +1297,21 @@ msgstr ""
" --clear-previous izbrišemo oznake \"previous msgid\" iz vseh "
"sporoÄil\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
" --empty ob odstranitvi oznake »fuzzy« izbriši msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=DATOTEKA.po obdelamo le vnose, navedene v DATOTEKI.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1151,28 +1319,28 @@ msgstr ""
" --ignore-file=DATOTEKA.po obdelamo vnose razen navedenih v DATOTEKI."
"po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy isto kot --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete isto kot --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Skladnja vhodne datoteke:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1180,8 +1348,8 @@ msgstr ""
" -P, --properties-input skladnja vhodne datoteke je javanska ."
"properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1190,17 +1358,17 @@ msgstr ""
" --stringtable-input skladnja vhodne datoteke je NeXTstep/GNUstep ."
"strings\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Podrobnosti izpisa:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1216,16 +1384,16 @@ msgstr ""
"»auto«\n"
" ali »html«\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr " --style=DATOTEKA-CSS doloÄi slogovna pravila CSS za --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1233,9 +1401,9 @@ msgstr ""
" -e, --no-escape brez ubežnih sekvenc v skladnji jezika C "
"(privzeto)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1243,29 +1411,29 @@ msgstr ""
" -E, --escape z ubežnimi sekvencami v skladnji C, brez\n"
" razširjenega nabora znakov\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po vedno izpiÅ¡emo datoteko PO, Äetudi prazno\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent izpis datoteke PO z zamiki\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location brez vrstic »#: datoteka:vrstica« v izpisu\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1273,8 +1441,8 @@ msgstr ""
" -n, --add-location z vrsticami »#: datoteka:vrstica« v izpisu "
"(privzeto)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1282,32 +1450,32 @@ msgstr ""
" --strict izpis v strogi obliki Uniforum, brez razširitev "
"GNU\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output zapiši javansko datoteko .properties\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output zapiši NeXTstep/GNUstep datoteko .strings\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=Å TEVILO Å¡irina strani pri izpisu, v znakih\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1316,32 +1484,32 @@ msgstr ""
" --no-wrap sporoÄil, daljÅ¡ih od Å¡irine strani, ne\n"
" razlomi v veÄ vrstic\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output izhod abecedno urejen po sporoÄilih\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file izhod abecedno urejen po izvornih datotekah\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "doloÄeni kriteriji izbire niso mogoÄi (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Uporaba: %s [IZBIRA] [VHODNA_DATOTEKA]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1363,26 +1531,26 @@ msgstr ""
"ohranijo, razen Äe z izbiro --use-first ne zahtevamo, da se ohranijo samo\n"
"tisti iz prve datoteke PO, ki jih definira.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr ""
" VHODNA_DATOTEKA ... vhodna datoteka (ali veÄ vhodnih datotek)\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=DATOTEKA seznam vhodnih datotek preberemo iz "
"DATOTEKE\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "ÄŒe je vhodna datoteka enaka -, se bere standardni vhod.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1392,7 +1560,7 @@ msgstr ""
"definicij\n"
" (privzeta vrednost je neskonÄno)\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1402,7 +1570,7 @@ msgstr ""
"definicij\n"
" (privzeta vrednost je 1)\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1411,8 +1579,8 @@ msgstr ""
" -u, --unique okrajšava za --less-than=2, izpišemo samo\n"
" enoliÄno definirana sporoÄila\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1420,8 +1588,8 @@ msgstr ""
" -P, --properties-input skladnja vhodnih datotek je javanska ."
"properties\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1430,12 +1598,12 @@ msgstr ""
" --stringtable-input skladnja vhodnih datotek je NeXTstep/GNUstep \n"
" .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NABOR nabor znakov izhodne datoteke\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1444,33 +1612,33 @@ msgstr ""
" --use-first uporabimo prvi prevod sporoÄila, na katerega\n"
" naletimo; ne združujemo veÄ prevodov\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=KATALOG nastavi polje 'Language' v zaglavju\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "vhodni datoteki nista podani"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "potrebni sta natanÄno dve vhodni datoteki"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Uporaba: %s [IZBIRA] def.po ref.po\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1487,22 +1655,22 @@ msgstr ""
"v programu. Kadar ne najdemo natanÄnega ujemanja msgid, zaradi boljÅ¡e\n"
"diagnostike poskusimo z ohlapnim (fuzzy) algoritmom.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po prevodi\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot sklici na vire\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Modifikatorji delovanja:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1510,53 +1678,53 @@ msgid ""
msgstr ""
" -m, --multi-domain ref.po uporabimo na vseh domenah iz def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching ne uporabljamo ohlapnega ujemanja\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr ""
" --use-fuzzy uporabimo ohlapne samodejno prevedene prevode\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated obdržimo neprevedena sporoÄila\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "to sporoÄilo ni prevedeno"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "to sporoÄilo mora pregledati prevajalec"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "to sporoÄilo je uporabljeno, a ne definirano..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...a ta definicija je podobna"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "to sporoÄilo je uporabljeno, a ne definirano v %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "opozorilo: to sporoÄilo ni uporabljeno"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1565,12 +1733,12 @@ msgstr[1] "%d kritiÄna napaka"
msgstr[2] "%d kritiÄni napaki"
msgstr[3] "%d kritiÄne napake"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "podani morata biti vsaj dve datoteki"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1589,7 +1757,7 @@ msgstr ""
"pri izvlaÄenju se ohranijo samo iz prve datoteke PO, ki jih definira. Položaji\n"
"nizov v datotekah se ohranijo iz vseh datotek PO.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1599,41 +1767,41 @@ msgstr ""
"definicij\n"
" (privzeta vrednost je 1)\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr " --omit-header brez glave z vnosom »msgid \"\"«\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Pretvarjanje kataloga sporoÄil v drug kodni nabor.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Cilj pretvorbe:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Privzeta vrednost je kodni nabor izbrane krajevne nastavitve.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent izpis datoteke PO z zamiki\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location brez vrstic »#: datoteka:vrstica« v izpisu\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1641,30 +1809,30 @@ msgstr ""
" -n, --add-location z vrsticami »#: datoteka:vrstica« v izpisu "
"(privzeto)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr ""
" --strict izpis v strogi obliki Uniforum brez "
"razširitev\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "vhodna datoteka ni podana"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "zahtevana je natanÄno ena vhodna datoteka"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Uporaba: %s [IZBIRA] VHODNA_DATOTEKA\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1677,22 +1845,22 @@ msgstr ""
"ukazom xgettext). Neprevedenim sporoÄilom se pripiÅ¡e prevod, enak izvirniku\n"
"msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " VHODNA_DATOTEKA vhodna datoteka PO\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "manjka ime ukaza"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Uporaba: %s [IZBIRA] UKAZ [IZBIRA-UKAZA]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1706,7 +1874,7 @@ msgstr ""
"prevod posebej. Izhod programa postane izhod programa msgexec. Izhodna\n"
"koda programa msgexec je najveÄja od izhodnih kod pri klicu ukaza.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1715,37 +1883,47 @@ msgstr ""
"Poseben vgrajen ukaz »0« izpiÅ¡e prevod in izpis zakljuÄi z znakom s kodo niÄ.\n"
"Izhod ukaza \"msgexec 0\" je primeren kot vhod za ukaz \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Ukazni vhod:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline dodaj znak NL na koncu vhoda\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=DATOTEKA vhodna datoteka PO\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "izpis na standardni izhod neuspešen"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "manjka ime filtra"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "podan mora biti vsaj en skript v sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Uporaba: %s [IZBIRA] FILTER [IZBIRA-FILTRA]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Na vsakem prevodu iz kataloga uporabimo dani filter.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1754,18 +1932,32 @@ msgstr ""
"FILTER je lahko ime kateregakoli programa, ki prebere prevod s standardnega\n"
"vhoda in izpiše spremnjen prevod na standardni izhod.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Filtriraj vhod in izhod:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline dodaj znak NL na koncu vhodne vrstice in\n"
+" odstrani znak NL s konca izhodne vrstice"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Uporabne IZBIRE FILTRA, kadar je FILTER »sed«:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=SKRIPT dodaj SKRIPT med ukaze, ki se izvedejo\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1775,14 +1967,14 @@ msgstr ""
" -f, --file=SKRIPTNA_DATOTEKA dodaj vsebino SKRIPTNE DATOTEKE med ukaze,\n"
" ki se izvedejo\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent brez samodejnega izpisa prostora vzorcev\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1790,83 +1982,93 @@ msgstr ""
" --no-escape brez ubežnih sekvenc v skladnji jezika C "
"(privzeto)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent izpis datoteke PO z zamiki\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header ohrani glavo nespremenjeno, ne filtriraj je\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "izhod filtra ni zakljuÄen z znakom NL"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argument %s mora biti eno samo loÄilo"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "neveljaven vrstni red bajtov: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "vhodna datoteka ne sme biti podana ob izbirah %s ali %s"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s zahteva doloÄitev \"-d directory\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s zahteva doloÄitev »-l locale«"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s zahteva doloÄitev »--template vzorec«"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s zahteva doloÄitev »-o datoteka«"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s in %s se medsebojno izkljuÄujeta v %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s je veljavno edino z %s ali %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s je veljavno edino z %s, %s ali %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "dostop do pravil ITS za %s ni možen"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1875,7 +2077,7 @@ msgstr[1] "%d prevedeno sporoÄilo"
msgstr[2] "%d prevedeni sporoÄili"
msgstr[3] "%d prevedena sporoÄila"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1884,7 +2086,7 @@ msgstr[1] ", %d ohlapni prevod"
msgstr[2] ", %d ohlapna prevoda"
msgstr[3] ", %d ohlapni prevodi"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1893,36 +2095,27 @@ msgstr[1] ", %d neprevedeno sporoÄilo"
msgstr[2] ", %d neprevedeni sporoÄili"
msgstr[3] ", %d neprevedena sporoÄila"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Uporaba: %s [IZBIRA] datoteka.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Besedilni opis prevodov pretvorimo v binarni katalog sporoÄil.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"ÄŒe je pri dolgi obliki izbire naveden obvezen argument, je ta obvezen\n"
-"tudi za kratko obliko. Enako za neobvezne argumente.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " datoteka.po ... vhodne datoteke\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "NaÄin delovanja:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1931,7 +2124,7 @@ msgstr ""
" -j, --java javanski naÄin: ustvarimo javanski razred\n"
" ResourceBundle\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1940,12 +2133,12 @@ msgstr ""
" --java2 kot --java, privzeta je java2 (JDK 1.2 ali "
"veÄ)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp naÄin C#: ustvarimo .NET-datoteko .dll\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1953,19 +2146,19 @@ msgid ""
msgstr ""
" --csharp-resources naÄin C#: ustvarimo .NET-datoteko z viri\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl naÄin tcl: ustvarimo datoteko tcl/msgcat .msg\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt naÄin Qt: ustvarimo datoteko .qm za Qt\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1973,31 +2166,36 @@ msgstr ""
" --desktop naÄin Desktop Entry: ustvarimo datoteko ."
"desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml naÄin XML: ustvari datoteko XML\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict izpis v strogi obliki Uniforum brez razširitev "
"GNU\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Če je izhodna datoteka enaka -, se rezultat izpiše na standardni izhod.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Izbira izhodne datoteke v javanskem naÄinu:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=SREDSTVO ime sredstva\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2005,7 +2203,7 @@ msgid ""
msgstr ""
" -l, --locale=JJ_DD jezikovno okolje (jezik ali jezik_država)\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2014,13 +2212,13 @@ msgstr ""
" --source namesto datoteke .class izdelaj datoteko ."
"java\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d IMENIK korenski imenik hierarhije razredov\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2034,12 +2232,12 @@ msgstr ""
"podani\n"
"imenik.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Položaj izhodne datoteke v naÄinu C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2048,7 +2246,7 @@ msgstr ""
" -d IMENIK korenski imenik za krajevno odvisne datoteke ."
"dll\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2057,17 +2255,17 @@ msgstr ""
"Izbiri -l in -d sta obvezni. Datoteka .dll se zapiše v podimenik podanega\n"
"imenika; ime podimenika ustreza oznaki izbrane krajevne prilagoditve.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Izbira izhodne datoteke v naÄinu tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr " -d IMENIK korenski imenik hierarhije razredov\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2075,23 +2273,23 @@ msgid ""
msgstr ""
"Izbiri -l in -d sta obvezni. Datoteka .msg se zapiše v podani imenik.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Izbire naÄina Desktop Entry:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=VZOREC datoteka .desktop uporabljena kot vzorec\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d IMENIK korenski imenik datotek .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2100,7 +2298,7 @@ msgstr ""
" -kBESEDA, --keyword=BESEDA uporabi BESEDO kot dodatno kljuÄo besedo\n"
" -k, --keyword[=BESEDA] ne uporabljaj privzetih kljuÄnih besed\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2111,12 +2309,27 @@ msgstr ""
"datoteke\n"
"berejo iz navedenega imenika namesto iz argumentov ukazne vrstice.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Izbire naÄina XML:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=IME prepoznaj navedeni jezik XML\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=VZOREC datoteka XML uporabljena kot vzorec\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Interpretacija vhodne datoteke:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2127,20 +2340,20 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format preverimo od jezika odvisne formatne nize\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr " --check-header preverimo obstoj in vsebino glave\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2149,7 +2362,7 @@ msgstr ""
" --check-domain preverimo morebitna nesoglasja med direktivo\n"
" domene in izbiro --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2158,7 +2371,7 @@ msgstr ""
" -C, --check-compatibility preverimo združljivost GNU gettext z X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2168,13 +2381,13 @@ msgstr ""
" --check-accelerators[=ZNAK] preverimo, ali obstajajo bližnjice za\n"
" menujske izbire\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
" -f, --use-fuzzy uporabimo ohlapne samodejno prevedene prevode\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2182,7 +2395,7 @@ msgstr ""
" -a, --alignment=Å TEVILO poravnava nizov na dano Å TEVILO bajtov "
"(privzeto %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2196,7 +2409,7 @@ msgstr ""
"strojnega\n"
" okolja)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2204,89 +2417,88 @@ msgstr ""
" --no-hash binarni katalog sporoÄil bo brez razprÅ¡ene "
"tabele\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics s statistiko glede prevodov\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose z dodatnimi sporoÄili med izvajanjem\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "opozorilo: glava datoteke PO ni veljavna ali pa manjka\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "opozorilo: pretvorba v navedeni nabor znakov ne bo delovala\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "opozorilo: glava datoteke PO ni razberljiva\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "opozorilo: starejše izdaje msgfmt bodo pri tem javile napako\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "ime domene \"%s\" ni primerno kot ime datoteke"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "ime domene \"%s\" ni primerno kot ime datoteke: uporabimo predpono"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "direktiva »domain %s« ni bila upoštevana"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "prazno polje »msgstr« ni bilo upoštevano"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "ohlapni vnos za polje »msgstr« ni bil upoštevan"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: opozorilo: vhodna datoteka vsebuje ohlapne (fuzzy) prevode"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s ne obstaja"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s obstaja, vendar se ne da prebrati"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "napaka pri branju \"%s\""
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2294,7 +2506,7 @@ msgid ""
msgstr ""
"izbire »%c« ni moÄ uporabiti, preden je izbrano »J«, »K«, »T«, »C« ali »X«"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2303,7 +2515,7 @@ msgstr ""
"IzvleÄemo vsa sporoÄila iz kataloga prevodov, ki ustrezajo danemu vzorcu ali\n"
"pripadajo dani izvorni datoteki.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2384,7 +2596,7 @@ msgstr ""
" -v, --invert-match izpiÅ¡i le sporoÄila, ki ne ustrezajo nobenemu\n"
" od podanih kriterijev\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2392,12 +2604,12 @@ msgstr ""
" --escape z ubežnimi sekvencami v skladnji C, brez \n"
" razširjenega nabora znakov\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output izhod abecedno urejen po sporoÄilih\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2503,14 +2715,14 @@ msgstr ""
"V trenutnem imeniku ni najti nobene datoteke .pot.\n"
"Prosim, doloÄite vhodno datoteko .pot z izbiro --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "podproces %s neuspešen z izhodno kodo %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2525,28 +2737,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Slovenski prevodi paketa %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "trenutno izbrani nabor \"%s\" ni prenosljivo ime kodnega nabora"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "v vhodni datoteki sta dva razliÄna nabora znakov, \"%s\" in \"%s\""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "vhodna datoteka »%s« ne vsebuje glave z doloÄitvijo nabora znakov"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2555,19 +2767,19 @@ msgstr ""
"domena \"%s\" v vhodni datoteki »%s« ne vsebuje glave z doloÄitvijo nabora "
"znakov"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "ciljni nabor \"%s\" ni prenosljivo ime kodnega nabora."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "opozorilo: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2577,7 +2789,7 @@ msgstr ""
"UTF8.\n"
"Izhod je pretvorjen v UTF8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2590,7 +2802,7 @@ msgstr ""
"Izhod je pretvorjen v UTF8.\n"
"DrugaÄen kodni nabor lahko doloÄite z izbiro --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2605,7 +2817,7 @@ msgstr ""
"so kodirani skladno z UTF-8 od samega zaÄetka, torej v datotekah z izvorno "
"kodo.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2618,12 +2830,12 @@ msgstr ""
"Izhod »%s« bo morda napaÄen.\n"
"Predlagane rešitve za to težavo so:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Nastavite LC_ALL na jezikovno okolje s kodnim naborom %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2634,7 +2846,7 @@ msgstr ""
" zatem uporabite »%s«,\n"
" in ga konÄno z ukazom »msgconv« pretvorite nazaj v %s.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2647,7 +2859,7 @@ msgstr ""
" zatem uporabite »%s«,\n"
" in ga konÄno z ukazom »msgconv« pretvorite nazaj v %s.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2658,25 +2870,25 @@ msgstr ""
"Izhod »%s« bo morda napaÄen.\n"
"MogoÄa reÅ¡itev za to težavo je, da nastavite LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "rezultat izraza za izbiro množinske oblike je lahko negativna vrednost"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, izraz za izbiro množinske oblike pa lahko da vrednosti do %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "izraz za izbiro množinske oblike lahko povzroÄi deljenje z niÄ"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "izraz za izbiro množinske oblike lahko povzroÄi prekoraÄitev obsega"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2684,32 +2896,32 @@ msgstr ""
"izraz za izbiro množinske oblike lahko povzroÄi aritmetiÄne napake, morda\n"
"deljenje z niÄ"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Poskusite uporabiti naslednje, veljavno za %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "katalog sporoÄil vsebuje množinske oblike prevodov,"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "v glavi pa manjka doloÄilo \"plural=IZRAZ\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "v glavi pa manjka doloÄilo \"nplurals=Å TEVILO\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "neveljavna vrednost nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "neveljaven izraz za množinske oblike"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
@@ -2719,7 +2931,7 @@ msgstr "nplurals = %lu"
# msgstr[1] "...nekatera sporoÄila pa imajo samo %lu množinsko obliko"
# msgstr[2] "...nekatera sporoÄila pa imajo samo %lu množinski obliki"
# msgstr[3] "...nekatera sporoÄila pa imajo samo %lu množinske oblike"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2733,7 +2945,7 @@ msgstr[3] "nekatera sporoÄila pa imajo samo %lu množinske oblike"
# msgstr[1] "...nekatera sporoÄila pa imajo %lu množinsko obliko"
# msgstr[2] "...nekatera sporoÄila pa imajo %lu množinski obliki"
# msgstr[3] "...nekatera sporoÄila pa imajo %lu množinske oblike"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2742,7 +2954,7 @@ msgstr[1] "nekatera sporoÄila pa imajo %lu množinsko obliko"
msgstr[2] "nekatera sporoÄila pa imajo %lu množinski obliki"
msgstr[3] "nekatera sporoÄila pa imajo %lu množinske oblike"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2750,72 +2962,88 @@ msgstr ""
"katalog sporoÄil vsebuje množinske oblike, manjka pa glava z doloÄili\n"
"\"Plural-Forms: nplurals=Å TEVILO; plural=IZRAZ;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "polji »msgid« in »msgid_plural« se ne zaÄneta obe z »\\n«"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "polji »msgid« in »msgstr[%u]« se ne zaÄneta obe z »\\n«"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "polji »msgid« in »msgstr« se ne zaÄneta obe z »\\n«"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "polji »msgid« in »msgid_plural« se ne konÄata obe z »\\n«"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "polji »msgid« in »msgstr[%u]« se ne konÄata obe z »\\n«"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "polji »msgid« in »msgstr« se ne konÄata obe z »\\n«"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "rokovanje z množinskimi oblikami je razširitev GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "v msgstr manjka oznaka bližnjice »%c«"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "v msgstr je preveÄ oznak bližnjic »%c«"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "polje »%s« v glavi ima Å¡e vedno zaÄetne privzete vrednosti\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "v glavi manjka polje »%s«\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "tripiÄje ASCII ('...') namesto unikoda"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "v uporabniÅ¡kem vidnem nizu najden presledek pred tripiÄjem"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "dvojni narekovaj ASCII uporabljen namesto unikoda"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "enojni narekovaj ASCII uporabljen namesto unikoda"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: vhod ni veljaven v kodnem naboru »%s«"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: napaka pri pretvorbi iz nabora znakov \"%s\" v nabor \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "v vhodni datoteki manjka glava z doloÄilom kodnega nabora"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2824,7 +3052,7 @@ msgstr ""
"Pretvorba iz »%s« v »%s« ni mogoÄa. %s kliÄe iconv(), ta pa ne podpira te "
"pretvorbe."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2833,8 +3061,8 @@ msgstr ""
"Pretvorba iz »%s« v »%s« privede do podvojevanje: nekateri razliÄni kljuÄi "
"msgid postanejo enaki."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2843,16 +3071,16 @@ msgstr ""
"Pretvorba iz »%s« v »%s« ni mogoÄa. %s kliÄe iconv(), vendar ta izvod "
"programa ni preveden za uporabo iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s je veljavno edino z %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "vrsta varnostne kopije"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2875,17 +3103,17 @@ msgstr ""
"pa bodo strojno ustvarjeni komentarji in podatki o Å¡tevilki vrstice. Kjer\n"
"natanÄnega prevoda ni, se uporabi ohlapni (fuzzy) algoritem.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po prevodi\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot sklici na vire\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2895,7 +3123,7 @@ msgstr ""
"navedemo\n"
" lahko veÄ kot eno\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2904,29 +3132,29 @@ msgstr ""
" -U, --update posodobi def.po,\n"
" Äe je def.po že posodobljen, ne stori niÄ\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Mesto izhodne datoteke v posodobitvenem naÄinu:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Rezultat se zapiše nazaj v datoteko def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr ""
" --backup=TIP izdelamo varnostno kopijo datoteke def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" -S, --suffix=PRIPONA pripona varnostne kopije naj bo PRIPONA\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2945,7 +3173,7 @@ msgstr ""
" sicer enostavne\n"
" simple, never vedno enostavne varnostne kopije\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2955,7 +3183,7 @@ msgstr ""
"Varnostna kopija ima pripono »~«, razen Äe ni z izbiro --suffix ali\n"
"spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugaÄe. \n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2963,22 +3191,22 @@ msgstr ""
" --previous obdržimo prejšnja polja msgid prevedenih "
"sporoÄil\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent brez kazalnika poteka\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "pri tem sporoÄilu bi morale biti doloÄene množinske oblike"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "pri tem sporoÄilu ne bi smele biti doloÄene množinske oblike"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2987,29 +3215,29 @@ msgstr ""
"%sPrebrano %ld starih + %ld referenÄnih, združenih %ld, ohlapnih %ld, "
"manjkajoÄih %ld, opuÅ¡Äenih %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " opravljeno.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s in izrecna imena datotek se med seboj izkljuÄujejo"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Uporaba: %s [IZBIRA] [DATOTEKA]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Pretvorba kataloga sporoÄil iz binarne oblike .mo v obliko Uniforum .po.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3018,12 +3246,12 @@ msgstr ""
" -j, --java javanski naÄin: ustvarimo javanski razred\n"
" ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp naÄin C#: vhod je .NET-datoteka .dll\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3032,24 +3260,24 @@ msgstr ""
" --csharp-resources naÄin virov C#: vhod je .NET-datoteka ."
"resources\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl naÄin tcl: vhod je datoteka tcl/msgcat .msg\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " DATOTEKA ... datoteka MO (ali veÄ datotek MO)\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Izbira izhodne datoteke v javanskem naÄinu:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3060,12 +3288,12 @@ msgstr ""
"podÄrtajem,\n"
"pridá ime jezikovnega okolja. Razred je doloÄen s spremenljivko CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Mesto izhodne datoteke v naÄinu C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3074,12 +3302,12 @@ msgstr ""
"Izbiri -l in -d sta obvezni. Datoteka .dll se nahaja v podimeniku podanega\n"
"imenika; ime podimenika ustreza oznaki izbrane krajevne prilagoditve.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Izbira izhodne datoteke v naÄinu tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3087,18 +3315,18 @@ msgid ""
msgstr ""
"Izbiri -l in -d sta obvezni. Datoteka .msg se zapiše v podani imenik.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent izpis datoteke PO z zamiki\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict izpis v strogi obliki Uniforum, brez razširitev\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3119,12 +3347,12 @@ msgstr ""
"ohranijo le komentarji prvega prevoda. Ohranijo se vsi podatki o mestu\n"
"sporoÄila v izvorni datoteki. Z izbiro --unique se podvojena sporoÄila zavržejo.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated izpiÅ¡emo le podvojena sporoÄila\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3133,7 +3361,7 @@ msgstr ""
" -u, --unique vsako sporoÄilo izpiÅ¡emo le enkrat,\n"
" dvojnike zavržemo\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<st. vhod>"
@@ -3189,32 +3417,32 @@ msgstr ""
"V glavi ni naveden nabor znakov.\n"
"Pretvorba sporoÄil v uporabnikov nabor znakov ne bo delovala.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "neskladna raba #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "manjkajoÄ razdelek »msgstr[]«"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "manjkajoÄ razdelek »msgid_plural«"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "manjkajoÄ razdelek »msgstr«"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "prva množinska oblika ima indeks razliÄen od niÄ"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "množinska oblika ima napaÄen indeks"
@@ -3224,7 +3452,7 @@ msgstr "množinska oblika ima napaÄen indeks"
msgid "too many errors, aborting"
msgstr "preveÄ napak, nadaljevanje ni možno"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "neveljavno veÄzložno zaporedje"
@@ -3268,64 +3496,81 @@ msgstr "znak za konec vrstice sredi niza"
msgid "context separator <EOT> within string"
msgstr "razmejilnik konteksta <EOT> znotraj niza"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "ta datoteka morda ne vsebuje direktiv domene"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "podvojena definicija sporoÄila"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "to je kraj prve definicije"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "nezakljuÄeno ime skupine"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "neveljaven nepresledni znak"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "manjka »=« za »%s«"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "neveljavna nepresledna vrstica"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "datoteka \"%s\" je okrnjena"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "datoteka \"%s\" vsebuje niz, ki ni zakljuÄen z NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "datoteka \"%s\" ni v obliki GNU .mo"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "datoteka \"%s\" vsebuje pri %s niz, ki ni zakljuÄen z NUL"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "opozorilo: neveljavna skladnja \\uxxxx za unikodni znak"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "opozorilo: nezakljuÄen niz"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "opozorilo: napaka v skladnji"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "opozorilo: nezakljuÄen par kljuÄ/vrednost"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "opozorilo: napaka v skladnji, za nizom priÄakovan »;«"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "opozorilo: napaka v skladnji, za nizom priÄakovan »=« ali »;«"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Avtorja %s in %s.\n"
@@ -3334,16 +3579,16 @@ msgstr "Avtorja %s in %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Pretvori besedilo v srbÅ¡Äini iz cirilice v latinico.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3352,27 +3597,27 @@ msgstr ""
"Vhodno besedilo se bere s standardnega vhoda. Pretvorjeno besedilo se zapisuje\n"
"na standardni izhod.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "vhod ni veljaven v naboru znakov »%s«"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "napaka pri pretvorbi iz nabora znakov \"%s\" v nabor \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "priÄakujemo dva argumenta"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Uporaba: %s [IZBIRA] URL DATOTEKA\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3381,37 +3626,37 @@ msgstr ""
"Prinese in izpiše vsebino podanega URL. Če URL ni dosegljiv, se uporabni\n"
"krajevno dostopna DATOTEKA.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "napaka pri branju »%s«"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "napaka pri pisanju na standardni izhod"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "napaka po branju »%s«"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Pridobivamo %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " preteÄeno.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " ni uspelo.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3419,7 +3664,7 @@ msgstr ""
"V izbranem izhodnem zapisu ni mogoÄe zapisati veÄ domen prevodov kot eno "
"datoteko. Poskusite uporabiti skladnjo PO."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3427,7 +3672,7 @@ msgstr ""
"V izbranem izhodnem zapisu ni mogoÄe zapisati veÄ domen prevodov kot eno "
"datoteko."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3435,7 +3680,7 @@ msgstr ""
"katalog sporoÄil vsebuje od konteksta odvisne prevode, izbrani izhodni zapis "
"pa jih ne podpira"
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3445,7 +3690,7 @@ msgstr ""
"podpira. Poskusite namesto datoteke .properties ustvariti javanski razred z "
"\"msgfmt --java\"."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3453,12 +3698,12 @@ msgstr ""
"katalog sporoÄil vsebuje množinske oblike, izbrani izhodni zapis pa jih ne "
"podpira"
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "izhodne datoteke \"%s\" ni mogoÄe ustvariti"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standardni izhod"
@@ -3477,40 +3722,41 @@ msgstr "prevajanje razreda C# neuspešno, poskusite z --verbose"
msgid "compilation of C# class failed"
msgstr "prevajanje razreda C# neuspešno"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "napaka pri odpiranju \"%s\" za pisanje"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "ni veljavno javansko ime razreda: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"prevajanje javanskega razreda neuspešno, uporabite --verbose ali nastavite "
"$JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "prevajanje javanskega razreda neuspešno, poskusite nastaviti $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "napaka pri odpiranju \"%s\" za pisanje"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "nepopolno veÄbajtno zaporedje"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"internacionalizirana sporoÄila ne smejo vsebovati ubežne sekvence »\\%c«"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3524,7 +3770,7 @@ msgstr ""
"vi. Razmislite o uporabi sporoÄil v naboru znakov ASCII.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3539,7 +3785,7 @@ msgstr ""
"vi. Razmislite o uporabi sporoÄil v naboru znakov ASCII.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3547,7 +3793,7 @@ msgstr ""
"katalog sporoÄil vsebuje množinske oblike, vendar katalog sporoÄil Qt\n"
"ne podpira množinskih oblik\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3559,7 +3805,7 @@ msgstr ""
"katalog sporoÄil Qt pa podpira ISO 10646/Unicode le v prevedenih nizih, v\n"
"izvirnikih pa ne\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3569,12 +3815,12 @@ msgstr ""
"katalog sporoÄil Qt pa podpira ISO 10646/Unicode le v prevedenih nizih, v\n"
"izvirnikih pa ne\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "napaka pri pisanju v podproces %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3582,7 +3828,7 @@ msgstr ""
"katalog sporoÄil vsebuje od konteksta odvisne prevode\n"
" vendar zapis virov C# ne podpira kontekstov\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3590,7 +3836,7 @@ msgstr ""
"katalog sporoÄil vsebuje množinske oblike, vendar zapis virov C#\n"
"ne podpira množinskih oblik\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3598,7 +3844,7 @@ msgstr ""
"katalog sporoÄil vsebuje od konteksta odvisne prevode,\n"
"vendar katalog sporoÄil TCL ne podpira kontekstov\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3606,36 +3852,36 @@ msgstr ""
"katalog sporoÄil vsebuje množinske oblike, vendar katalog sporoÄil TCL\n"
"ne podpira množinskih oblik\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: opozorilo: nezakljuÄen niz"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: opozorilo: nezakljuÄen regularni izraz"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "opozorilo: neveljavni unikodni znak"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: opozorilo: nezakljuÄena znakovna konstanta"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: opozorilo: nezakljuÄen niz"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Prosim, doloÄite vhodni nabor znakov z izbiro --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3644,7 +3890,7 @@ msgstr ""
"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3653,7 +3899,7 @@ msgstr ""
"%s:%d: Nepopolno dolgo veÄbajtno zaporedje.\n"
"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3662,7 +3908,7 @@ msgstr ""
"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu datoteke.\n"
"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3671,12 +3917,12 @@ msgstr ""
"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu vrstice.\n"
"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: napaka v iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3685,286 +3931,78 @@ msgstr ""
"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: opozorilo: neveljavni unikodni znak"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: opozorilo: nezakljuÄen konstanten nit"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
"%s:%d: opozorilo: zaklepaj »)« na mestu, kjer priÄakujemo zaviti zaklepaj »}«"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
"%s:%d: opozorilo: zaviti zaklepaj »}« na mestu, kjer priÄakujemo zaklepaj »)«"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "ManjkajoÄi kontekst za niz, izvleÄen iz elementa »%s«"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Krovni element <%s> ni dovoljen v veljavni datoteki glade"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Programski jezik \"glade\" ni podprt. %s se naslanja na expat().\n"
-"Ta izdaja je bila prevedena brez expat().\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: opozorilo: osamljen surogat U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Nepopolno dolgo veÄbajtno zaporedje.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu datoteke.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu vrstice.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: opozorilo: RegExp literal prekinjen predÄasno"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: opozorilo: %s ni dovoljen"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: opozorilo: nezakljuÄena znaÄka XML"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: zakljuÄka niza \"%s\" ni najti pred koncem datoteke"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: manjkajoÄi zaviti zaklepaj v \\x{Å ESTNAJSTIÅ KO}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: neveljavna interpolacija (\"\\l\") osembitnega znaka \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: neveljavna interpolacija (\"\\u\") osembitnega znaka \"%c\""
-
-#: src/x-perl.c:1217
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: neveljavna interpolacija spremenljivke pri »%c«"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "»%s« ni veljavno ime kodiranja. Namesto tega bo uporabljen ASCII.\n"
-#: src/x-perl.c:1230
+#: src/xgettext.c:648
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: neveljavna interpolacija (\"\\L\") osembitnega znaka \"%c\""
+msgid "syntax check '%s' unknown"
+msgstr "preverba skladnje »%s« ni poznana"
-#: src/x-perl.c:1247
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: neveljavna interpolacija (\"\\U\") osembitnega znaka \"%c\""
+msgid "sentence end type '%s' unknown"
+msgstr "neznan tip konca stavka »%s«"
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
-"komentarjem,\n"
-"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
-"komentarjem,\n"
-"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Nepopolno dolgo veÄbajtno zaporedje.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
-"komentarjem,\n"
-"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "pri izpisu na standardni izhod ne moremo uporabiti --join-existing"
-#: src/x-python.c:354
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu datoteke.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
-"komentarjem,\n"
-"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext ne deluje brez kljuÄnih besed, ki naj jih iÅ¡Äe"
-#: src/x-python.c:364
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu vrstice.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
-"komentarjem,\n"
-"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "opozorilo: datoteka »%s« s pravili ITS ne obstaja"
-#: src/x-python.c:397
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
-"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
-"komentarjem,\n"
-"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Neznani nabor znakov »%s«. Nadaljujemo z ASCII."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: neveljavna definicija niza"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: za # manjka Å¡tevilka"
+"opozorilo: datoteka »%s« s pravili ITS ne obstaja; preverite svojo "
+"namestitev gettext"
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: niz ni veljaven izraz"
-
-#: src/x-sh.c:1075
-#, c-format
-msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: opozorilo: skladnja $\"...\" je odsvetovana iz varnostnih razlogov, "
-"uporabite raje eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: opozorilo: regularni izraz prekinjen predÄasno"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "»%s« ni veljavno ime kodiranja. Namesto tega bo uporabljen ASCII.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "pri izpisu na standardni izhod ne moremo uporabiti --join-existing"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext ne deluje brez kljuÄnih besed, ki naj jih iÅ¡Äe"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"opozorilo: vrsta datoteka »%s« s pripono »%s« ni prepoznana; poskušamo C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Iz vhodnih datotek izvleÄemo prevedljive nize znakov.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3972,25 +4010,25 @@ msgid ""
msgstr ""
" -d, --default-domain=DOMENA namesto messages.po je privzeta DOMENA.po\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output-file=DATOTEKA izhod zapisujemo v navedeno DATOTEKO\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=IMENIK izhodne datoteke pišemo v navedeni IMENIK\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Izbira vhodnega jezika:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4013,19 +4051,19 @@ msgstr ""
" RST, glade, lua, javascript, vala, "
"desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ okrajšava za --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "Privzeto se jezik poskusi uganiti iz pripone vhodne datoteke.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4034,23 +4072,23 @@ msgstr ""
" --from-code=NABOR nabor znakov vhodnih datotek\n"
" (razen za Python, Tcl in Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Privzeti nabor znakov vhodnih datotek je ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing združi sporoÄila z obstojeÄo datoteko\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=DATOTEKA.po vnosov iz navedene DATOTEKE ne izvleÄemo\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4065,17 +4103,38 @@ msgstr ""
" -c, --add-comments postavi vse komentarje pred vrsticami s \n"
" kljuÄnimi besedami v izhodno datoteko\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=IME izvedi preverjanje skladnje na sporoÄilih\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TIP tip konca stavka (single-space, kar je\n"
+" privzeta vrednost, ali double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Izbire, specifiÄne za jezik:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all iz datotek potegnemo vse nize\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4092,7 +4151,7 @@ msgstr ""
"lua,\n"
" javascript, vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4109,7 +4168,7 @@ msgstr ""
"lua,\n"
" javascript, vala, desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4119,7 +4178,7 @@ msgstr ""
" --flag=BESEDA:ARG:STIKALO dodatno stikalo za nize znotraj argumenta\n"
" Å¡tevilka ARG kljuÄne besede BESEDA\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4135,37 +4194,37 @@ msgstr ""
" C#, awk, YCP, TCL, perl, PHP, GCC-vir, lua,\n"
" javascript, vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs razumi trigrafe ANSI C na vhodu\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (samo jeziki C, C++ in predmetni C)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt prepoznaj oblikovne nize Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (samo jezik C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde prepoznaj oblikovne nize KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost prepoznaj oblikovne nize Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4173,19 +4232,29 @@ msgstr ""
" --debug bolj razÄlenjen rezultat razpoznave\n"
" oblikovnega niza\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output zapiši javansko datoteko .properties\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=DATOTEKA izvedi pravila ITS iz DATOTEKE\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool izpiši komentarje itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=NIZ v izhodu nastavimo nosilca avtorskih pravic "
"na NIZ\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4193,18 +4262,18 @@ msgstr ""
" --foreign-user brez copyrighta FSF v izpisu za tuje "
"uporabnike\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAKET nastavi ime PAKETA na izhodu\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=NIZ v izhodu nastavimo razliÄico paketa na NIZ\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4212,7 +4281,7 @@ msgstr ""
" --msgid-bugs-address=EPOÅ TA@NASLOV naslov za sporoÄila o napakah "
"msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4222,7 +4291,7 @@ msgstr ""
" -m[NIZ], --msgstr-prefix[=NIZ] uporabi NIZ ali \"\" kot predpono za "
"msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4231,7 +4300,7 @@ msgid ""
msgstr ""
" -m[NIZ], --msgstr-prefix[=NIZ] uporabi NIZ ali \"\" kot pripono za msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4239,31 +4308,31 @@ msgid ""
msgstr ""
"Argument --flag nima skladnje <kljuÄna-beseda>:<Å¡t-arg>:[pass-]<stikalo>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standardni vhod"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Ne-ASCII znak pri %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Ne-ASCII komentar pri ali okoli %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Ne-ASCII niz pri %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: opozorilo: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4272,7 +4341,7 @@ msgstr ""
"ÄŒeprav je uporabljen na mestu oblikovnega niza, %s ni veljaven oblikovni niz "
"%s. Razlog: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4281,7 +4350,7 @@ msgstr ""
"ÄŒeprav je deklariran kot tak, %s ni veljaven oblikovni niz za %s. Razlog: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4294,7 +4363,7 @@ msgstr ""
"Prosimo, razmislite o uporabi oblikovnega niza s poimenovanimi argumenti\n"
"ter preslikave namesto n-terÄka argumentov.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4304,28 +4373,28 @@ msgstr ""
"gettext(\"\") vrne glavo z metapodatki, ne pa\n"
"praznega niza.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "dvoumno doloÄen argument za kljuÄno besede »%.*s«"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "opozorilo: manjkajoÄi kontekst za kljuÄno besedo »%.*s«"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"opozorilo: manjkajoÄi kontekst za množinski argument kljuÄne besede »%.*s«"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "neujemanje kontekstov med edninsko in množinsko obliko"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4337,15 +4406,357 @@ msgstr ""
"spremenljivko MSGID_BUGS_ADDRESS tam, sicer pa \n"
"z izbiro --msgid-bugs-address v ukazni vrstici.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "jezik »%s« ni poznan"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: opozorilo: osamljen surogat U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Nepopolno dolgo veÄbajtno zaporedje.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu datoteke.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu vrstice.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: opozorilo: RegExp literal prekinjen predÄasno"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: opozorilo: %s ni dovoljen"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: opozorilo: nezakljuÄena znaÄka XML"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: zakljuÄka niza \"%s\" ni najti pred koncem datoteke"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: manjkajoÄi zaviti zaklepaj v \\x{Å ESTNAJSTIÅ KO}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: neveljavna interpolacija (\"\\l\") osembitnega znaka \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: neveljavna interpolacija (\"\\u\") osembitnega znaka \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: neveljavna interpolacija spremenljivke pri »%c«"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: neveljavna interpolacija (\"\\L\") osembitnega znaka \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: neveljavna interpolacija (\"\\U\") osembitnega znaka \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
+"komentarjem,\n"
+"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
+"komentarjem,\n"
+"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Nepopolno dolgo veÄbajtno zaporedje.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
+"komentarjem,\n"
+"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu datoteke.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
+"komentarjem,\n"
+"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: NezakljuÄeno veÄbajtno zaporedje na koncu vrstice.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
+"komentarjem,\n"
+"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Neveljavno veÄbajtno zaporedje.\n"
+"Prosim, doloÄite vhodni nabor znakov z izbiro --from-code ali s "
+"komentarjem,\n"
+"kot je opisano na http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Neznani nabor znakov »%s«. Nadaljujemo z ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: neveljavna definicija niza"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: za # manjka Å¡tevilka"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: niz ni veljaven izraz"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: opozorilo: skladnja $\"...\" je odsvetovana iz varnostnih razlogov, "
+"uporabite raje eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: opozorilo: regularni izraz prekinjen predÄasno"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<nepoimenovano>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "neveljavno zaporedje UTF-8"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "»%s« ni veljavno ime: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "»%s« ni veljavno ime: »%c«"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "neveljaven znakovni sklic: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "ni veljavno doloÄilo Å¡tevila"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "manjka zakljuÄni »;«"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "nedovoljeni znak"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "prazno"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "neznano"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "neveljaven sklic na entiteto: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "dokument se mora zaÄeti z elementom"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "neveljaven znak za »%s«"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "manjkajoÄi »%c«"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "manjkajoÄi »%c« ali »%c«"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "ime zakljuÄnega elementa"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "element je zaprt"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "prazen dokument"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "po »<«"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "element je Å¡e vedno odprt"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "manjkajoÄi »>«"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "znotraj imena elementa"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "znotraj imena prilastka"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "znotraj odprte oznake"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "po »=«"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "znotraj vrednosti prilastka"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "znotraj zakljuÄne oznake"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "znotraj komentarja ali navodil za obdelavo"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "dokument se je nepriÄakovano konÄal: %s"
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "ManjkajoÄi kontekst za niz, izvleÄen iz elementa »%s«"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Programski jezik \"glade\" ni podprt. %s se naslanja na expat().\n"
+#~ "Ta izdaja je bila prevedena brez expat().\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "polje »%s« v glavi se mora zaÄeti na zaÄetku vrstice\n"
@@ -5601,5 +6012,5 @@ msgstr "<nepoimenovano>"
#~ msgid "duplicate message ID"
#~ msgstr "podvojen identifikator sporoÄila"
-#~ msgid "cannot change to directory \"%s\""
-#~ msgstr "dostop do imenika \"%s\" ni možen"
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "Krovni element <%s> ni dovoljen v veljavni datoteki CLDR"
diff --git a/gettext-tools/po/sr.gmo b/gettext-tools/po/sr.gmo
index 30ebfe7..6f1868b 100644
--- a/gettext-tools/po/sr.gmo
+++ b/gettext-tools/po/sr.gmo
Binary files differ
diff --git a/gettext-tools/po/sr.po b/gettext-tools/po/sr.po
index d9320cc..d1474d8 100644
--- a/gettext-tools/po/sr.po
+++ b/gettext-tools/po/sr.po
@@ -1,14 +1,14 @@
-# Serbian translation of gettext-tools, 2003—2014.
+# Serbian translation of gettext-tools, 2003—2015.
# Copyright (C) 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Danilo Segan <dsegan@gmx.net>, 2003—2004.
-# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2013—2014.
+# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2013—2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools-0.19.3\n"
+"Project-Id-Version: gettext-tools-0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-24 09:49+0200\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 21:22+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -17,6 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Virtaal 0.7.1\n"
#: gnulib-lib/argmatch.c:133
#, c-format
@@ -57,40 +58,40 @@ msgstr "не могу да уклоним привремени директорÐ
msgid "write error"
msgstr "грешка пиÑања"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "причувавам овлашћења за %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "грешка приликом отварања „%s“ за читање"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "не могу да отворим датотеку резерве „%s“ за упиÑ"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "грешка читања „%s“"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "грешка пиÑања „%s“"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "грешка након читања „%s“"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "није уÑпела функција „fdopen()“"
@@ -116,58 +117,63 @@ msgstr "Ðепозната грешка ÑиÑтема"
msgid "%s subprocess failed"
msgstr "%s Ð¿Ð¾Ñ‚Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¸Ñ˜Ðµ уÑпео"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: опција „%s“ је нејаÑна; могућноÑти:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: опција „%s“ је нејаÑна\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: опција „--%s“ не дозвољава аргумент\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: опција „%c%s“ не дозвољава аргумент\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: опција „--%s“ захтева аргумент\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: непозната опција „--%s“\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: непозната опција „%c%s“\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: неиÑправна опција -- „%c“\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: опција захтева аргумент -- „%c“\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: опција „-W %s“ је нејаÑна\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: опција „-W %s“ не дозвољава аргумент\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: опција „-W %s“ захтева аргумент\n"
@@ -183,15 +189,16 @@ msgstr "неиÑправан аргумент издања_извора за пÑ
msgid "invalid target_version argument to compile_java_class"
msgstr "неиÑправан аргумент издања_мете за преведи_јава_разред"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "ниÑам уÑпео да направим „%s“"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "грешка приликом пиÑања датотеке „%s“"
@@ -210,15 +217,15 @@ msgstr ""
"ÐиÑам нашао виртуелну машину Јаве, покушајте да инÑталирате гиј или да "
"поÑтавите „$JAVA“"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "У/И грешка %s потпроцеÑа"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "меморија је потрошена"
@@ -229,7 +236,7 @@ msgid "creation of threads failed"
msgstr "Ñтварање нити није уÑпело"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "пиÑање у %s Ð¿Ð¾Ñ‚Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¸Ñ˜Ðµ уÑпело"
@@ -275,11 +282,11 @@ msgstr "%s Ð¿Ð¾Ñ‚Ð¿Ñ€Ð¾Ñ†ÐµÑ Ñ˜Ðµ окончан Ñа излазном шифр
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "„"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "“"
@@ -316,51 +323,198 @@ msgstr "%s потпроцеÑ"
msgid "%s subprocess got fatal signal %d"
msgstr "%s Ð¿Ð¾Ñ‚Ð¿Ñ€Ð¾Ñ†ÐµÑ Ñ˜Ðµ добио кобни Ñигнал %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "грешка приликом отварања „%s“ за читање"
+msgid "The root element must be <%s>"
+msgstr "Корени елемент мора бити <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "„%s“ није иÑправна ниÑка запиÑа %s, није иÑто као „%s“. Разлог: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Елемент <%s> не Ñадржи елемент <%s>"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "Елемент <%s> нема атрибут <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Пробајте „%s --help“ за више података.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Употреба: %s [ОПЦИЈÐ...] [ЈЕЗИЧКРПРÐВИЛÐ]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+"Извлачи или претвара ЦЛДР правила множине Јуникода.\n"
+"\n"
+"Ðко Ñу наведени и ЈЕЗИК и ПРÐВИЛÐ, чита ЦЛДР правила множине за\n"
+"ЈЕЗИК из ПРÐВИЛРи иÑпиÑује их у облику погодном геттекÑу за коришћење.\n"
+"Ðко није дат ниједан аргумент, чита ЦЛДР правила множине Ñа Ñтандардног улаза.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Обавезни аргументи за дуге опције Ñу такође обавезни и за кратке опције.\n"
+"Слично и за аргументе избора.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -c, --cldr иÑпиÑује правила множине у ЦЛДР запиÑу\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help приказује ову помоћ и излази\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version иÑпиÑује податке о издању и излази\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Грешке пријавите на <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"ÐуторÑка права (C) %s Задужбина Ñлободног Ñофтвера, Инк.\n"
+"Лиценца ОЈЛв3+: ГÐУ ОЈЛ издање 3 или каÑније <http://gnu.org/licenses/gpl.html>.\n"
+"Ово је Ñлободан Ñофтвер: Ñлободни Ñте да га мењате и раÑподељујете.\n"
+"Ðе поÑтоји ÐИКÐКВРГÐРÐÐЦИЈÐ, у оквирима дозвољеним законом.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "ÐапиÑао је %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Даики Уено"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "Ðе могу да прочитам „%s“"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "не могу да извадим правила за „%s“"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "не могу да обрадим ЦЛДР правило"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "додатни операнд %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "грешка приликом отварања „%s“ за читање"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "оÑобеноÑÑ‚ запиÑа за %u. аргумент, као у „%s“, не поÑтоји у „%s“"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "оÑобеноÑÑ‚ запиÑа за %u. аргумент не поÑтоји у „%s“"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "Ñпецификације запиÑа у „%s“ и „%s“ за %u. аргумент ниÑу иÑте"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Број одреднице %u почиње Ñа | али Ñе не завршава Ñа |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "„%s“ није иÑправна ниÑка запиÑа %s, није иÑто као „%s“. Разлог: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -369,56 +523,56 @@ msgstr ""
"У Ñмерници број %u, члан након „<“ не предÑтавља назив макроа Ñпецификације "
"запиÑа. ИÑправни називи макроа Ñу попиÑани у ИСО Це 99, одељак 7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "У Ñмерници број %u, члан након „<“ није праћен „>“."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr "ÐиÑка упућује на %u. аргумент, али занемарује %u. аргумент."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "не подудара Ñе број оÑобеноÑти запиÑа у „%s“ и „%s“"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "У Ñмерници број %u, иза { не Ñледи број аргумента."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "У Ñмерници број %u, иза , не Ñледи број аргумента."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr "ÐиÑка Ñе завршава у Ñред Ñмернице: нађох { без одговарајуће }."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "Смерница број %u Ñе завршава неиÑправним знаком „%c“ умеÑто }."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Смерница број %u Ñе завршава неиÑправним знаком умеÑто }."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "ÐиÑка почиње у Ñред Ñмернице: нађох } без одговарајуће {."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "ÐиÑка Ñадржи уÑамљену } након Ñмернице број %u."
@@ -529,7 +683,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "ÐиÑка упућује на аргумент бр. %u на неÑаглаÑне начине."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -538,18 +692,18 @@ msgstr ""
"У Ñмерници број %u, подниÑка „%s“ не предÑтавља иÑправан Ñтил датума и "
"времена."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "У Ñмерници број %u, након „%s“ не Ñледи запета."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "У Ñмерници број %u, подниÑка „%s“ не предÑтавља иÑправан Ñтил бројева."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -558,12 +712,12 @@ msgstr ""
"У Ñмерници број %u, након броја аргумента не Ñледи запета и неки од „%s“, "
"„%s“, „%s“, „%s“."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "У Ñмерници број %u, избор не Ñадржи број."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -571,24 +725,45 @@ msgid ""
msgstr ""
"У Ñмерници број %u, избор Ñадржи број након кога не Ñледи „<“, „#“ или „%s“."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "оÑобеноÑÑ‚ запиÑа за аргумент {%u}, као у „%s“, не поÑтоји у „%s“"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "оÑобеноÑÑ‚ запиÑа за аргумент {%u} не поÑтоји у „%s“"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "Ñпецификације запиÑа у „%s“ и „%s“ за аргумент {%u} ниÑу иÑте"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr "ÐиÑка упућује на %u. аргумент, али занемарује аргументе %u и %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"одредба запиÑа за аргументе „%u“ и „%u“ не поÑтоји у „%s“, Ñамо један "
+"аргумент може бити занемарен"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "грешка приликом обраде: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -598,7 +773,7 @@ msgstr ""
"У Ñмерници број %u, параметар %u је врÑте „%s“ али је очекиван параметар "
"врÑте „%s“."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -616,59 +791,65 @@ msgstr[2] ""
"У Ñмерници број %u, дато је превише параметара; очекивах највише %u "
"параметара."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "У Ñмерници број %u, након „%c“ не Ñледи цифра."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "У Ñмерници број %u, %d. аргумент је негативан."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "ÐиÑка Ñе завршава у Ñред Ñмернице ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Ðађох „~%c“ без поклапања „~%c“."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "У Ñмерници број %u, дата Ñу оба измењивача „@“ и „:“."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr "У Ñмерници број %u, након „~:[“ не Ñледе две наредбе, раздвојене „~;“."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "У Ñмерници број %u, „~;“ Ñе кориÑти на неиÑправном положају."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "ÐиÑка упућује на неке аргументе на неÑаглаÑан начин."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "Ñпецификације запиÑа у „%s“ и „%s“ ниÑу еквивалентне"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "Ñпецификакције запиÑа у „%s“ не предÑтављају подÑкуп оних из „%s“"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "оÑобеноÑÑ‚ запиÑа за аргумент „%s“ не поÑтоји у „%s“"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -677,14 +858,34 @@ msgstr ""
"У Ñмерници број %u, одредник величине је неÑаглаÑан Ñа одредником претварања "
"„%c“."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "оÑобеноÑÑ‚ запиÑа за аргумент „%s“ не поÑтоји у „%s“"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "У Ñмерници број %u, „%c“ не не може да започне назив поља."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "У Ñмерници број %u, „%c“ не не може да започне аргумент „getattr“."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "У Ñмерници број %u, „%c“ не не може да започне аргумент „getitem“."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"У Ñмерници број %u, није дозвољено више угнежђавања у одреднику запиÑа."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "У Ñмерници број %u, поÑтоји неокончана Ñмерница запиÑа."
-#: src/format-python.c:115
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -692,63 +893,36 @@ msgstr ""
"ÐиÑка упућује на аргументе и кроз називе аргумената и кроз неименоване "
"наводе аргумената."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "ÐиÑка упућује на аргумент назива „%s“ на неÑаглаÑне начине."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "оÑобеноÑÑ‚ запиÑа у „%s“ очекује мапирање, а они у „%s“ очекују н-торку"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "оÑобеноÑÑ‚ запиÑа у „%s“ очекује н-торку, а они у „%s“ очекују мапирање"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "оÑобеноÑÑ‚ запиÑа за аргумент „%s“, као у „%s“, не поÑтоји у „%s“"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "Ñпецификације запиÑа у „%s“ и „%s“ за аргумент „%s“ ниÑу иÑте"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "У Ñмерници број %u, „%c“ не не може да започне назив поља."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "У Ñмерници број %u, „%c“ не не може да започне аргумент „getattr“."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "У Ñмерници број %u, „%c“ не не може да започне аргумент „getitem“."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"У Ñмерници број %u, није дозвољено више угнежђавања у одреднику запиÑа."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "У Ñмерници број %u, поÑтоји неокончана Ñмерница запиÑа."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -757,11 +931,11 @@ msgstr ""
"„%s“ је ниÑка обичног запиÑа, али „%s“ није: Ñадржи „L“ обележје или "
"двоцифрени број аргумента"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "ÐиÑка упућује на променљиву љуÑке помоћу не-ÐСКРИ назива."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -769,7 +943,7 @@ msgstr ""
"ÐиÑка упућује на променљиву љуÑке помоћу Ñложене ÑинтакÑе заграда љуÑке. Ова "
"ÑинтакÑа овде није подржана из безбедноÑних разлога."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -777,93 +951,58 @@ msgstr ""
"ÐиÑка упућује на променљиву љуÑке чија вредноÑÑ‚ може бити другачија у "
"функцијама љуÑке."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "ÐиÑка упућује на променљиву љуÑке празног назива."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "У Ñмерници број %u, знак „%c“ не предÑтавља цифру између 1 и 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Знак којим Ñе завршава Ñмерница број %u није цифра између 1 и 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"ÐуторÑка права (C) %s Задужбина Ñлободног Ñофтвера, Инк.\n"
-"Лиценца ОЈЛв3+: ГÐУ ОЈЛ издање 3 или каÑније <http://gnu.org/licenses/gpl.html>.\n"
-"Ово је Ñлободан Ñофтвер: Ñлободни Ñте да га мењате и раÑподељујете.\n"
-"Ðе поÑтоји ÐИКÐКВРГÐРÐÐЦИЈÐ, у оквирима дозвољеним законом.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "ÐапиÑао је %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Бруно Хејбл"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "превише аргумената"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Пробајте „%s --help“ за више података.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Употреба: %s [ОПЦИЈÐ]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "ИÑпишите назив рачунара.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð¸Ð·Ð»Ð°Ð·Ð°:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short кратак назив рачунара\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -873,77 +1012,105 @@ msgstr ""
" -f, --fqdn, --long дуги назив рачунара, Ñадржи пуни назив домена\n"
" и надимке\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address адреÑе за назив рачунара\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Обавештајни излаз:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help приказује ову помоћ и излази\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "не могу да добавим назив рачунара"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version иÑпиÑује податке о издању и излази\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "бирач није наведен"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Грешке пријавите на <bug-gnu-gettext@gnu.org>.\n"
+#
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "не могу да направим контекÑÑ‚ Ð˜ÐºÑ Ð¿ÑƒÑ‚Ð°ÑšÐµ"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "не могу да добавим назив рачунара"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "не могу да проценим израз Ð˜ÐºÑ Ð¿ÑƒÑ‚Ð°ÑšÐµ: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "„%s“ чвор не Ñадржи „%s“"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "неиÑправан аргумент „%s“ за „%s“"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "корени елемент није „правило“ под називним проÑтором %s"
+
+#
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "не могу да прочитам „%s“: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "не могу да проценим путању положаја Ð˜ÐºÑ Ð¿ÑƒÑ‚Ð°ÑšÐµ: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "„%s“ чвор нема „%s“"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "не могу да прочитам ИкÑМЛ датотеку „%s“"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "корени елемент није „locatingRules“"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "дозвољена је Ñамо једна улазна датотека"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s и %s Ñе међуÑобно иÑкључују"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Употреба: %s [ОПЦИЈÐ]... [УЛÐЗÐÐДÐТОТЕКÐ]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -952,33 +1119,33 @@ msgstr ""
"Издвајајте поруке каталога превода према њиховим оÑобинама, и управљајте\n"
"тим оÑобинама.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Обавезни аргументи за дуге опције Ñу такође обавезни и за кратке опције.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "МеÑто улазне датотеке:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " УЛÐЗÐÐДÐТОТЕКРулазна по датотека\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -986,30 +1153,31 @@ msgstr ""
" -D, --directory=ДИР додаје ДИР у ÑпиÑак за тражење улазних "
"датотека\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "Ðко није дата улазна датотека или ако је „-“, чита Ñтандардни улаз.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "МеÑто излазне датотеке:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=ДÐТОТЕКРиÑпиÑује излаз у наведену датотеку\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1019,12 +1187,12 @@ msgstr ""
"или\n"
"ако је „-“.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Избор поруке:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1032,7 +1200,7 @@ msgstr ""
" --translated задржава преведене, уклања непреведене "
"поруке\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1040,56 +1208,56 @@ msgstr ""
" --untranslated задржава непреведене, уклања преведене "
"поруке\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy уклања поруке означене као „нејаÑне“\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy задржава поруке означене као „нејаÑне“\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete уклања заÑтареле поруке #~\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete задржава заÑтареле поруке #~\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Управљање оÑобинама:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy означава Ñве поруке као „нејаÑне“\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy означава Ñве поруке као не-„нејаÑне“\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete означава Ñве поруке као заÑтареле\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete означава Ñве поруке као не-заÑтареле\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1099,7 +1267,7 @@ msgstr ""
"„msgids“\n"
" преведених порука.\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1107,7 +1275,7 @@ msgid ""
msgstr ""
" --clear-previous уклања претходни „msgid“ ÑаÑвих порука\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1115,7 +1283,7 @@ msgstr ""
" --empty када уклања „нејаÑне“, такође подешава "
"„msgstr“ празним\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1123,7 +1291,7 @@ msgstr ""
" --only-file=ДÐТОТЕКÐ.po управља једино пољима упиÑаним у ДÐТОТЕЦИ."
"po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1131,13 +1299,13 @@ msgstr ""
" --ignore-file=ДÐТОТЕКÐ.po управља једино пољима која ниÑу у ДÐТОТЕЦИ."
"po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy иÑто што и --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1145,16 +1313,16 @@ msgstr ""
" --obsolete иÑто што и --only-obsolete --clear-"
"obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Склоп улазне датотеке:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1162,8 +1330,8 @@ msgstr ""
" -P, --properties-input улазна датотека је у Ñклопу „Јава ."
"properties“\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1173,17 +1341,17 @@ msgstr ""
"GNUstep\n"
" .strings“\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "ПојединоÑти излаза:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1198,18 +1366,18 @@ msgstr ""
"„never“ (никада),\n"
" „auto“ (ÑамоÑтално), или „html“.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=ИЗГЛЕДДÐТОТЕКЕ наводи датотеку правила ЦСС изгледа за --"
"color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1217,9 +1385,9 @@ msgstr ""
" -e, --no-escape не кориÑти Ц знаке промене реда у излазу "
"(задато)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1227,31 +1395,31 @@ msgstr ""
" -E, --escape кориÑти Ц знаке промене реда у излазу, без "
"проширених знакова\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po запиÑује по датотеку чак и ако је празна\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent запиÑује .по датотеку кориÑтећи увучени "
"изглед\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location не иÑпиÑује редове „#: датотека:ред“\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1259,8 +1427,8 @@ msgstr ""
" -n, --add-location образује редове „#: датотека:"
"ред“ (подразумевано)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1268,17 +1436,17 @@ msgstr ""
" --strict иÑпиÑује .по датотеку изричито Ñкладну Ñа "
"Унифорумом\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output иÑпиÑује датотеку „Јава .properties“\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1286,16 +1454,16 @@ msgstr ""
" --stringtable-output иÑпиÑује датотеку „NeXTstep/GNUstep ."
"strings“\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=БРОЈ поÑтавља ширину излазне Ñтранице\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1305,31 +1473,31 @@ msgstr ""
"ширине\n"
" излазне Ñтранице, на неколико редова\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output Ñтвара уређени излаз\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file ређа излаз према меÑту датотеке\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "наведен је немогућ уÑлов избора (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Употреба: %s [ОПЦИЈÐ]... [УЛÐЗÐÐДÐТОТЕКÐ]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1351,24 +1519,24 @@ msgstr ""
"датотека ће Ñе збрајати, оÑим ако не кориÑтите „--use-first“, тада Ñе\n"
"узимају из прве ПО датотеке која их одређује.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " УЛÐЗÐÐДÐТОТЕКР... улазне датотеке\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=ДÐТОТЕКРдобавља ÑпиÑак улазних датотека из ДÐТОТЕКЕ\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Ðко је улазна датотека „-“, чита Ñе Ñтандардни улаз.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1377,7 +1545,7 @@ msgstr ""
" -<, --less-than=БРОЈ иÑпиÑује поруке Ñа мање од оволико одредница,\n"
" подразумева Ñе беÑконачно ако није поÑтављено\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1386,7 +1554,7 @@ msgstr ""
" -<, --more-than=БРОЈ иÑпиÑује поруке Ñа више од оволико одредница,\n"
" подразумева Ñе 0 ако није поÑтављено\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1395,8 +1563,8 @@ msgstr ""
" -u, --unique Ñкраћеница за „--less-than=2“, захтева\n"
" штампање Ñамо јединÑтвених порука\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1404,8 +1572,8 @@ msgstr ""
" -P, --properties-input улазне датотеке Ñу у ÑинтакÑи „Јава ."
"properties“\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1415,12 +1583,12 @@ msgstr ""
"GNUstep \n"
" .strings“\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=ÐÐЗИВ кодирање за излаз\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1429,7 +1597,7 @@ msgstr ""
" --use-first кориÑти први доÑтупни превод за Ñваку поруку,\n"
" не Ñпаја више превода\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1437,26 +1605,26 @@ msgstr ""
" --lang=ÐÐЗИВКÐТÐЛОГРпоÑтавља поље „Language“ (језик) у заглављу\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Питер Милер"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "нема улазних датотека"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "потребне Ñу тачно 2 улазне датотеке"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Употреба: %s [МОГУЋÐОСТ] деф.po реф.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1473,22 +1641,22 @@ msgstr ""
"да ли Ñте превели Ñваку поруку вашег програма. Када неко тачно поклапање\n"
"не може бити пронађено, кориÑти Ñе нејаÑно поклапање ради боље дијагноÑтике.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po преводи\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot упуте на изворе\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Измењивачи рада:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1496,52 +1664,52 @@ msgid ""
msgstr ""
" -m, --multi-domain примењује реф.pot на Ñваки домен у деф.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching не кориÑти нејаÑно поклапање\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy узима у обзир нејаÑне Ñтавке\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated узима у обзир непреведене Ñтавке\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "ова порука није преведена"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "ову поруку би преводилац требао да прегледа"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "ова порука Ñе кориÑти али није одређена..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...али ова одредница је Ñлична"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "ова порука Ñе кориÑти али није одређена у „%s“"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "упозорење: ова порука Ñе не кориÑти"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1549,12 +1717,12 @@ msgstr[0] "нађох %d кобну грешку"
msgstr[1] "нађох %d кобне грешке"
msgstr[2] "нађох %d кобних грешака"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "најмање две датотеке морају бити наведене"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1574,7 +1742,7 @@ msgstr ""
"примедбе ће бити Ñачуване, али Ñамо из прве ПО датотеке која их\n"
"одређује. Положаји датотека из Ñвих ПО датотека ће Ñе збрајати.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1583,69 +1751,69 @@ msgstr ""
" ->, --more-than=БРОЈ иÑпиÑује поруке Ñа више од оволико одредница,\n"
" подразумева Ñе 1 ако није поÑтављено\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header изоÑтавља заглавље Ñа пољем „msgid \"\"“\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Претворите текÑÑ‚ превода из једног кодирања у друго.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Мета претварања:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Задато кодирање је кодирање текућег локалитета.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent увучени изглед излаза\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location избацује редове „#: датотека:ред“\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location чува редове „#: датотека:ред“ (оÑновно)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict изричито УниорумÑки Ñтил излаза\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "није дата улазна датотека"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "потребна је тачно једна улазна датотека"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Употреба: %s [ОПЦИЈÐ]... УЛÐЗÐÐДÐТОТЕКÐ\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1658,22 +1826,22 @@ msgstr ""
"направљена „xgettext“-ом). Ðепреведеним пољима Ñе додељује превод\n"
"идентичан Ñа „msgid“.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " УЛÐЗÐÐДÐТОТЕКРулазна по или пот датотека\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "недоÑтаје назив наредбе"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Употреба: %s [ОПЦИЈÐ] ÐÐРЕДБР[ОПЦИЈÐ-ÐÐРЕДБЕ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1687,7 +1855,7 @@ msgstr ""
"једном за Ñваки превод. Његов излаз поÑтаје улаз „msgexec“-а. Повратни\n"
"код „msgexec“-а је највећи повратни код кроз Ñве позиве програма.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1696,37 +1864,47 @@ msgstr ""
"Ðарочита уграђена наредба звана „0“ иÑпиÑује превод, праћен нула-бајтом.\n"
"Излаз „msgexec 0“ је погодан као улаз за „xargs -0“.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Улаз наредбе:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline додаје нови ред на крају улаза\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=УЛÐЗÐÐ-ДÐТОТЕКРулазна ПО датотека\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "није уÑпело пиÑање на Ñтандардни излаз"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "недоÑтаје назив пропуÑника"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "најмање један Ñедов ÑÐ¿Ð¸Ñ Ð¼Ð¾Ñ€Ð° бити наведен"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Употреба: %s [ОПЦИЈÐ] ПРОПУСÐИК [ОПЦИЈÐ-ПРОПУСÐИКÐ]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Примените пропуÑник на Ñве преводе из каталога превода.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1735,19 +1913,33 @@ msgstr ""
"ПРОПУСÐИК може бити било који програм који чита превод Ñа Ñтандардног\n"
"улаза и пише измењени превод на Ñтандардни излаз.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Издваја улаз и излаз:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline додаје нови ред на крај улаза и уклања\n"
+" нови ред Ñа краја излаза"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "КориÑне ОПЦИЈЕ-ПРОПУСÐИКРкада је Ñед ПРОПУСÐИК:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=СПИС додаје СПИС наредбама да би биле извршене\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1757,14 +1949,14 @@ msgstr ""
" -f, --file=ДÐТОТЕКÐСПИСРдодаје Ñадржај ДÐТОТЕКЕСПИСРнаредбама\n"
" да би биле извршене\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent обуÑтавља аутоматÑки иÑÐ¿Ð¸Ñ Ð¿Ñ€Ð¾Ñтора образаца\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1772,83 +1964,93 @@ msgstr ""
" --no-escape не кориÑти Ц знаке промене реда у излазу "
"(задато)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent увучени изглед излаза\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr ""
" --keep-header не мењај поље Ñа заглављем, не филтрирај га\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "излаз пропуÑника није окончан новим редом"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "аргумент за „%s“ треба да буде знак једне тачке"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "неиÑправан поредак од мањег: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Улрих Дрепер"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "не треба бити дата ниједна улазна датотека ако Ñу наведени „%s“ и „%s“"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "„%s“ захтева одредницу „-d директоријум“"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "„%s“ захтева одредницу „-l језик“"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "„%s“ захтева одредницу „--template шаблон“"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "„%s“ захтева одредницу „-o датотека“"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "„%s“ и „%s“ Ñе међуÑобно иÑкључују у „%s“"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s је иÑправно Ñамо Ñа %s или %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s је иÑправно Ñамо Ñа %s, %s или %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "не могу да пронађем „ITS“ правила за „%s“"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1856,7 +2058,7 @@ msgstr[0] "%d преведена порука"
msgstr[1] "%d преведене поруке"
msgstr[2] "%d преведених порука"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1864,7 +2066,7 @@ msgstr[0] ", %d нејÑан превод"
msgstr[1] ", %d нејаÑна превода"
msgstr[2] ", %d нејÑаних превода"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1872,36 +2074,27 @@ msgstr[0] ", %d непреведена порука"
msgstr[1] ", %d непреведене поруке"
msgstr[2] ", %d непреведених порука"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Употреба: %s [ОПЦИЈÐ] датотека.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Створите бинарни каталог порука из текÑтуалног опиÑа превода.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Обавезни аргументи за дуге опције Ñу такође обавезни и за кратке опције.\n"
-"Слично и за аргументе избора.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " датотека.po ... улазне датотеке\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Ðачин рада:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1910,7 +2103,7 @@ msgstr ""
" -j, --java режим Јаве: Ñтвара Јавин разред „Група "
"изворишта“\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1919,13 +2112,13 @@ msgstr ""
" --java2 као --java, и претпоÑтавља Јаву2 (ЈДК 1.2 или "
"новији)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp Ц# режим: Ñтвара .ÐЕТ-ову „.dll“ датотеку\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1934,7 +2127,7 @@ msgstr ""
" --csharp-resources Режим Ц# изворишта: Ñтвара .ÐЕТ-ову „."
"resources“ датотеку\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -1942,13 +2135,13 @@ msgstr ""
" --tcl Тцл режим: Ñтвара тцл/мÑгкат-ову „.msg“ "
"датотеку\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
" --qt Кут режим: Ñтвара Кутову „.qm“ датотеку\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1956,28 +2149,33 @@ msgstr ""
" --desktop Режим ДеÑктоп уноÑа: Ñтвара „.desktop“ "
"датотеку\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml ИкÑМЛ режим: Ñтвара ИкÑМЛ датотеку\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict укључује изричити режим Унифорума\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Ðко је излазна датотека -, излаз Ñе запиÑује на Ñтандардни излаз.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Путања излазне датотеке у Јава режиму:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=ИЗВОРИШТЕ назив изворишта\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1985,7 +2183,7 @@ msgid ""
msgstr ""
" -l, --locale=ЛОКÐЛИТЕТ назив локалитета, било језик или језик_ДРЖÐÐ’Ð\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1993,7 +2191,7 @@ msgid ""
msgstr ""
" --source Ñтвара датотеку „.java“ умеÑто „.class“\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
@@ -2001,7 +2199,7 @@ msgstr ""
" -d ДИРЕКТОРИЈУМ оÑновни директоријум за хијерархију \n"
" директоријума разреда\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2014,12 +2212,12 @@ msgstr ""
"раздвојено подвлаком. Опција -d је обавезна. Разред Ñе упиÑује под\n"
"наведеним директоријумом.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Путања излазне датотеке у Ц# режиму:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2028,7 +2226,7 @@ msgstr ""
" -d ДИРЕКТОРИЈУМ оÑновни директоријум за .dll датотеке од "
"локалитета завиÑне\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2037,18 +2235,18 @@ msgstr ""
"Опције -l и -d Ñу обавезне. Датотека .dll Ñе упиÑује у поддиректоријум\n"
"датог директоријума чији назив завиÑи од локалитета.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Путања излазне датотеке у Тцл режиму:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d ДИРЕКТОРИЈУМ оÑновни директоријум каталога .msg порука\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2056,25 +2254,25 @@ msgid ""
msgstr ""
"Опције -l и -d Ñу обавезне. Датотека .msg Ñе упиÑује у дати директоријум.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "МогућноÑти режима ДеÑктоп уноÑа:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=ШÐБЛОР„.desktop“ датотека која Ñе кориÑти као "
"шаблон\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr ""
" -d ДИРЕКТОРИЈУМ оÑновни директоријум „.po“ датотека\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2083,7 +2281,7 @@ msgstr ""
" -kРЕЧ, --keyword=РЕЧ тражи РЕЧ као додатну кључну реч\n"
" -k, --keyword не кориÑти задате кључне речи\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2093,12 +2291,29 @@ msgstr ""
"Опције „-l“, „-o“ и „--template“ Ñу обавезне. Ðко је наведено „-D“, улазне\n"
"датотеке Ñе читају из директоријума умеÑто из аргумената линије наредби.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "МогућноÑти режима ИкÑМЛ-а:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=ÐÐЗИВ препознаје наведени ИкÑМЛ језик\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+" --template=ШÐБЛОРИкÑМЛ датотека која Ñе кориÑти као "
+"шаблон\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Тумачење улазне датотеке:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2109,14 +2324,14 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format проверава ниÑке запиÑа у завиÑноÑти од "
"језика\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2124,7 +2339,7 @@ msgid ""
msgstr ""
" --check-header проверава приÑуÑтво и Ñадржај заглавља\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2134,7 +2349,7 @@ msgstr ""
"и\n"
" опције „--output-file“\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2144,7 +2359,7 @@ msgstr ""
"као \n"
" ИкÑ/Опен мÑгфмт\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2154,12 +2369,12 @@ msgstr ""
" --check-accelerators[=ЗÐÐК] проверава приÑуÑтво пречица таÑтатуре "
"у Ñтавкама изборника\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy кориÑти нејаÑне уноÑе на излазу\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2167,7 +2382,7 @@ msgstr ""
" -a, --alignment=БРОЈ поравнава ниÑке на БРОЈ бајтова (обично: "
"%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2180,7 +2395,7 @@ msgstr ""
" (велики или мали, у завиÑноÑти од "
"платформе)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
@@ -2188,89 +2403,88 @@ msgstr ""
" --no-hash бинарна датотека неће Ñадржати хеш "
"табелу\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics иÑпиÑује ÑтатиÑтику о преводима\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose повећава ниво опширноÑти\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "упозорење: заглавље по датотеке недоÑтаје или је неиÑправно\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "упозорење: претварање Ñкупа знакова неће радити\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "упозорење: заглавље по датотеке је нејаÑно\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "упозорење: Ñтарија издања мÑгфмт-а ће овде наићи на грешку\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "назив домена „%s“ није прикладан за назив датотеке"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "назив домена „%s“ није прикладан за назив датотеке: кориÑтићу префикÑ"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "Ñмерница „domain %s“ је занемарена"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "празан „msgstr“ ÑƒÐ½Ð¾Ñ Ñ˜Ðµ занемарен"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "нејаÑан „msgstr“ ÑƒÐ½Ð¾Ñ Ñ˜Ðµ занемарен"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: упозорење: изворна датотека Ñадржи нејаÑан превод"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "Ðе поÑтоји „%s“"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "„%s“ поÑтоји али је не могу прочитати"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "грешка при читању „%s“"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2279,7 +2493,7 @@ msgstr ""
"опција „%c“ Ñе не може кориÑтити пре него што Ñе наведе „J“ или „K“ или „T“ "
"или „C“ или „X“"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2288,7 +2502,7 @@ msgstr ""
"Извлачи Ñве поруке из каталога превода које одговарају датом шаблону\n"
"или припадају одређеним изворним датотекама.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2363,7 +2577,7 @@ msgstr ""
" -v, --invert-match иÑпиÑује Ñамо поруке које не одговарају\n"
" ни једном уÑлову избора\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2371,12 +2585,12 @@ msgstr ""
" --escape кориÑти Ц знаке промене реда у излазу, без "
"проширених знакова\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output Ñтвара уређени излаз\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file ређа излаз према меÑту датотеке\n"
@@ -2479,14 +2693,14 @@ msgstr ""
"Ðе нађох .пот датотеку у текућем директоријуму.\n"
"Ðаведите улазну .пот датотеку помоћу опције „--input“.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s: Ð¿Ð¾Ñ‚Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð¸Ñ˜Ðµ уÑпео Ñа излазном шифром %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2503,28 +2717,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Преводи на ÑрпÑки језик за пакет „%s“"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "приÑутни Ñкуп знакова „%s“ није назив преноÑивог кодирања"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "два различита Ñкупа знакова „%s“ и „%s“ у улазној датотеци"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "улазна датотека „%s“ не Ñадржи поље заглавља Ñа ознаком Ñкупа знакова"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2533,19 +2747,19 @@ msgstr ""
"домен „%s“ у улазној датотеци „%s“ не Ñадржи поље заглавља Ñа ознаком Ñкупа "
"знакова"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "одредишни Ñкуп знакова „%s“ није назив преноÑивог кодирања."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "упозорење: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2555,7 +2769,7 @@ msgstr ""
"УТФ-8.\n"
"Претварам излаз у УТФ-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2568,7 +2782,7 @@ msgstr ""
"Претварам излаз у УТФ-8.\n"
"Да изаберете другачије кодирање излаза, кориÑтите опцију „--to-code“.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2581,7 +2795,7 @@ msgstr ""
"Или промените Ñве мÑгид и мÑгцтхт поруке у чиÑти ÐСКРИ, или оÑигурајте\n"
"да Ñу од Ñамог почетка кодиране у УТФ-8, тј. већ вашим изворним датотекама.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2594,12 +2808,12 @@ msgstr ""
"Излаз за „%s“ може бити нетачан.\n"
"Могућа решења Ñу:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "— ПоÑтавите „LC_ALL“ на локалитет Ñа кодирањем %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2610,7 +2824,7 @@ msgstr ""
" затим примените „%s“,\n"
" а онда претворите назад у %s помоћу „msgconv“.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2623,7 +2837,7 @@ msgstr ""
" затим примените „%s“,\n"
" и онда претворите назад у %s помоћу „msgconv“.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2634,61 +2848,61 @@ msgstr ""
"Излаз за „%s“ може бити нетачан.\n"
"Могуће решење је да поÑтавите „LC_ALL=C“.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "израз за множине може дати негативне вредноÑти"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "„nplurals = %lu“ али израз за множине може дати чак и вредноÑти %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "израз за множине може дати дељење нулом"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "израз за множине може проузроковати прекорачење целих бројева"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
"израз за множине може проузроковати аритметичке изузетке, нпр. дељење нулом"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Покушајте да кориÑтите Ñледеће, иÑправно за %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "каталог порука Ñадржи преводе облика за множину"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "али у заглављу недоÑтаје поље „plural=ИЗРÐЗ“"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "али у заглављу недоÑтаје поље „nplurals=БРОЈ“"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "неиÑправна вредноÑÑ‚ за број множина"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "неиÑправан израз множине"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2696,7 +2910,7 @@ msgstr[0] "али неке поруке имају Ñамо %lu облик за
msgstr[1] "али неке поруке имају Ñамо %lu облика за множину"
msgstr[2] "али неке поруке имају Ñамо %lu облика за множину"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2704,7 +2918,7 @@ msgstr[0] "али неке поруке имају %lu облик за множÐ
msgstr[1] "али неке поруке имају %lu облика за множину"
msgstr[2] "али неке поруке имају %lu облика за множину"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2712,72 +2926,88 @@ msgstr ""
"каталог порука Ñадржи преводе облика множине, али нема поља заглавља „Plural-"
"Forms: nplurals=БРОЈ; plural=ИЗРÐЗ;“"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "„msgid“ и „msgid_plural“ не почињу оба Ñа „\\n“"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "„msgid“ и „msgstr[%u]“ не почињу оба Ñа „\\n“"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "„msgid“ и „msgstr“ не почињу оба Ñа „\\n“"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "„msgid“ и „msgid_plural“ не завршавају Ñе оба Ñа „\\n“"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "„msgid“ и „msgstr[%u]“ не завршавају Ñе оба Ñа „\\n“"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "„msgid“ и „msgstr“ не завршавају Ñе оба Ñа „\\n“"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "баратање множинама је проширење Гнуовог геттекÑта"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "У мÑгÑÑ‚Ñ€ недоÑтаје ознака пречице таÑтатуре „%c“"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "У мÑгÑÑ‚Ñ€ има превише ознака пречица таÑтатуре „%c“"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "поље заглавља „%s“ и даље Ñадржи почетну задату вредноÑÑ‚\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "у заглављу недоÑтаје поље заглавља „%s“\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ÐСКРИ тротачка (...) умеÑто Јуникода"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "пронађен је размак пре тротачке у ниÑкама које види кориÑник"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "коришћен је ÐСКРИ двоÑтруки наводник умеÑто Јуникода"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "коришћен је ÐСКРИ једноÑтруки наводник умеÑто Јуникода"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: улаз није иÑправан у „%s“ кодирању"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: грешка приликом претварања „%s“ кодирања у „%s“ кодирање"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "улазна датотека не Ñадржи поље заглавља Ñа ознаком Ñкупа знакова"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2786,7 +3016,7 @@ msgstr ""
"Ðе могу да претворим из „%s“ у „%s“. %s Ñе оÑлања на иконв(), а иконв() не "
"подржава ово претварање."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2795,8 +3025,8 @@ msgstr ""
"Претварање из „%s“ у „%s“ уводи понављања: неке различите мÑгид поруке "
"поÑтају једнаке."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2805,16 +3035,16 @@ msgstr ""
"Ðе могу да претворим из „%s“ у „%s“. %s Ñе оÑлања на иконв(). Ово издање је "
"изграђено без иконв()-а."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s је иÑправно Ñамо Ñа %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "врÑта резерве"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2837,17 +3067,17 @@ msgstr ""
"примедбе и положаји у датотекама. Када нема тачног поклапања, кориÑти Ñе\n"
"нејаÑно поклапање ради добијања бољих резултата.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po преводи који упућују на Ñтаре изворе\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot упуте на нове изворе\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2856,7 +3086,7 @@ msgstr ""
" -C, --compendium=ДÐТОТЕКРдодатна библиотека превода порука, може Ñе\n"
" навеÑти више пута\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2865,27 +3095,27 @@ msgstr ""
" -U, --update оÑвежава деф.по,\n"
" не ради ништа ако је деф.по већ оÑвежена\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Путања излазне датотеке у режиму оÑвежавања:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Резултат Ñе упиÑује назад у деф.по.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=УПРÐВЉÐЊЕ прави резерву за деф.по\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=СУФИКС мења уобичајени ÑÑƒÑ„Ð¸ÐºÑ Ð·Ð° резерве\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2904,7 +3134,7 @@ msgstr ""
" existing, nil побројане ако већ поÑтоје побројане резерве, иначе обичне\n"
" simple, never увек прави обичне резерве\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2915,29 +3145,29 @@ msgstr ""
"променљивом\n"
"окружења „SIMPLE_BACKUP_SUFFIX“.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous задржава претходне мÑгид-Ñе преведених порука\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent потиÑкује указиваче напредовања\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "ова порука треба да одреди облике множине"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "ова порука не треба да одреди облике множине"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2946,28 +3176,28 @@ msgstr ""
"%sПрочитах %ld Ñтарих + %ld упутних, Ñпојених %ld, нејаÑних %ld, "
"недоÑтајућих %ld, превазиђених %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " готово.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s и изричити називи датотека Ñе међуÑобно иÑкључују"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Употреба: %s [ОПЦИЈÐ] [ДÐТОТЕКÐ]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Претворите бинарни каталог порука у .по датотеку Унифорум Ñтила.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2976,13 +3206,13 @@ msgstr ""
" -j, --java Јава режим: улаз је Јавин разред „Група "
"изворишта“\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp Ц# режим: улаз је .ÐЕТ-ова „.dll“ датотека\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2991,7 +3221,7 @@ msgstr ""
" --csharp-resources Режим Ц# изворишта: улаз је .ÐЕТ-ова „."
"resources“ датотека\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -2999,17 +3229,17 @@ msgstr ""
" --tcl Тцл режим: улаз је тцл/мÑгкат-ова „.msg“ "
"датотека\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " ДÐТОТЕКР... улазне .мо датотеке\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Путања улазне датотеке у Јава режиму:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3019,12 +3249,12 @@ msgstr ""
"Ðазив разреда Ñе одређује надодавањем назива локалитета на назив изворишта,\n"
"раздвојених подвлаком. Разред Ñе проналази помоћу „CLASSPATH“.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Путања улазне датотеке у Ц# режиму:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3033,12 +3263,12 @@ msgstr ""
"Опције -l и -d Ñу обавезне. Датотека .dll Ñе налази у поддиректоријуму \n"
"датог директоријума чији назив завиÑи од локалитета.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Путања улазне датотеке у Тцл режиму:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3047,17 +3277,17 @@ msgstr ""
"Опције -l и -d Ñу обавезне. Датотека „.msg“ Ñе налази у датом "
"директоријуму.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent запиÑује увучени изглед излаза\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict пише изричитим Ñтилом унифорума\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3079,12 +3309,12 @@ msgstr ""
"такође збрајати. Када Ñе кориÑти опција „--unique“, поновљени преводи\n"
"Ñе занемарују.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated иÑпиÑује Ñамо дупликате\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3093,7 +3323,7 @@ msgstr ""
" -u, --unique иÑпиÑује Ñамо јединÑтвене поруке, одбацујући "
"дупликате\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<Ñтдулаз>"
@@ -3149,32 +3379,32 @@ msgstr ""
"ÐедоÑтаје Ñкуп знакова у заглављу.\n"
"Претварање порука у кориÑников Ñкуп знакова неће радити.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "недоÑледно Ñтање за #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "недоÑтаје одељак „msgstr[]“"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "недоÑтаје одељак „msgid_plural“"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "недоÑтаје одељак „msgstr“"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "први облик множине кориÑти не-нула индекÑ"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "облик множине има погрешан индекÑ"
@@ -3184,7 +3414,7 @@ msgstr "облик множине има погрешан индекÑ"
msgid "too many errors, aborting"
msgstr "превише грешака, прекидам"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "неиÑправан низ мултибајтова"
@@ -3228,64 +3458,81 @@ msgstr "знак за крај реда унутар ниÑке"
msgid "context separator <EOT> within string"
msgstr "Ñадржајни раздвајач <ЕОТ> унутар ниÑке"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "ова датотека не може да Ñадржи Ñмернице домена"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "одредница удвоÑтручене поруке"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "ово је меÑто прве одреднице"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "неокончани назив групе"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "неиÑправан не-празан знак"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "недоÑтаје = након „%s“"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "неиÑправан не-празан ред"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "датотека „%s“ је Ñкраћена"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "датотека „%s“ Ñадржи ниÑку која није окончана ÐУЛ-ом"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "датотека „%s“ није у Гнуовом .mo запиÑу"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "датотека „%s“ Ñадржи ниÑку која није окончана ÐУЛ-ом, на %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "упозорење: неиÑправна ÑинтакÑа „\\uxxxx“ за Уникод знак"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "упозорење: неокончана ниÑка"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "упозорење: грешка ÑинтакÑе"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "упозорење: неокончан пар кључ/вредноÑÑ‚"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "упозорење: грешка ÑинтакÑе, очекивах ; након ниÑке"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "упозорење: грешка ÑинтакÑе, очекивах = или ; након ниÑке"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "ÐапиÑали Ñу %s и %s.\n"
@@ -3294,16 +3541,16 @@ msgstr "ÐапиÑали Ñу %s и %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Данило Шеган"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Пребаците ÑрпÑки текÑÑ‚ Ñа ћириличног на латинично пиÑмо.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3312,27 +3559,27 @@ msgstr ""
"Улазни текÑÑ‚ Ñе чита Ñа Ñтандардног улаза. Претворени текÑÑ‚ је излаз\n"
"Ñтандардног излаза.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "улаз није иÑправан у „%s“ кодирању"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "грешка приликом претварања „%s“ кодирања у „%s“ кодирање"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "очекивах два аргумента"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Употреба: %s [ОПЦИЈÐ] ÐДРЕСРДÐТОТЕКÐ\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3341,37 +3588,37 @@ msgstr ""
"Преузима и иÑпиÑује Ñадржај адреÑе. Уколико не може да приÑтупи адреÑи,\n"
"кориÑти Ñе меÑно доÑтупна ДÐТОТЕКРумеÑто ње.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "грешка читања „%s“"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "грешка запиÑивања Ñтандардног излаза"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "грешка након читања „%s“"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Довлачим „%s“..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " иÑтекло је време.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " ниÑам уÑпео.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3379,7 +3626,7 @@ msgstr ""
"Ðе могу да иÑпишем више домена превода у једну датотеку Ñа наведеним запиÑом "
"излаза. Покушајте да кориÑтите ÑинтакÑу ПО датотеке умеÑто тога."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3387,7 +3634,7 @@ msgstr ""
"Ðе могу да иÑпишем више домена превода у једну датотеку Ñа наведеним запиÑом "
"излаза."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3395,7 +3642,7 @@ msgstr ""
"каталог порука Ñадржи преводе завиÑне од Ñадржаја, али Ð·Ð°Ð¿Ð¸Ñ Ð¸Ð·Ð»Ð°Ð·Ð° их не "
"подржава."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3405,7 +3652,7 @@ msgstr ""
"подржава. Покушајте да Ñтворите разред Јаве кориÑтећи „msgfmt --java“ умеÑто "
"датотеке оÑобина."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3413,12 +3660,12 @@ msgstr ""
"каталог порука Ñадржи преводе Ñа облицима множине, али Ð·Ð°Ð¿Ð¸Ñ Ð¸Ð·Ð»Ð°Ð·Ð° их не "
"подржава."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "не могу да Ñтворим излазну датотеку „%s“"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "Ñтандардни излаз"
@@ -3437,40 +3684,41 @@ msgstr "изграђивање Ц# разреда није уÑпело, проÐ
msgid "compilation of C# class failed"
msgstr "изграђивање Ц# разреда није уÑпело"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "грешка приликом отварања „%s“ за пиÑање"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "неиÑправан назив разреда Јаве: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"изграђивање разреда Јаве није уÑпело, пробајте „--verbose“ или поÑтавите "
"„$JAVAC“"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "изграђивање разреда Јаве није уÑпело, пробајте да поÑтавите „$JAVAC“"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "грешка приликом отварања „%s“ за пиÑање"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "непотпун низ мултибајтова"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"интернационализоване поруке не треба да Ñадрже „\\%c“ низове за крај реда"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3483,7 +3731,7 @@ msgstr ""
"другачије од вашег. Пробајте да кориÑтите чиÑти ÐСКРИ мÑгцтхт.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3496,7 +3744,7 @@ msgstr ""
"другачије од вашег. Пробајте да кориÑтите чиÑти ÐСКРИ мÑгид.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3504,7 +3752,7 @@ msgstr ""
"каталог порука Ñадржи преводе облика множине\n"
"али Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° порука Кут-а не подржава руковање множинама\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3515,7 +3763,7 @@ msgstr ""
"Ñкупа али Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° порука Кут-а подржава Уникод једино у\n"
"преведним ниÑкама, не у Ñадржајним ниÑкама\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3525,12 +3773,12 @@ msgstr ""
"Ñкупа али Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° порука Кут-а подржава Уникод једино у\n"
"преведним ниÑкама, не у непреведним ниÑкама\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "грешка приликом упиÑа у Ð¿Ð¾Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ â€ž%s“"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3538,7 +3786,7 @@ msgstr ""
"каталог порука Ñадржи преводе завиÑне од Ñадржаја,\n"
"али Ð·Ð°Ð¿Ð¸Ñ Ð¦# „.resources“ не подржава Ñадржаје\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3546,7 +3794,7 @@ msgstr ""
"каталог порука Ñадржи преводе облика множине\n"
"али Ð·Ð°Ð¿Ð¸Ñ Ð¦# „.resources“ не подржава руковање множинама\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3554,7 +3802,7 @@ msgstr ""
"каталог порука Ñадржи преводе завиÑне од Ñадржаја,\n"
"али Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° порука Тцл-а не подржава Ñадржаје\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3562,36 +3810,36 @@ msgstr ""
"каталог порука Ñадржи преводе облика множине\n"
"али Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° порука Тцл-а не подржава руковање множинама\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: упозорење: неокончана ниÑка"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: упозорење: неокончани регуларни израз"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "упозорење: неиÑправан знак Уникода"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: упозорење: конÑтанта знака није окончана"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: упозорење: литерал ниÑке није окончан"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Ðаведите кодирање извора помоћу „--from-code“."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3600,7 +3848,7 @@ msgstr ""
"%s:%d: ÐеиÑправан низ мултибајтова.\n"
"Ðаведите иÑправно кодирање извора помоћу „--from-code“.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3609,7 +3857,7 @@ msgstr ""
"%s:%d: Дуги недовршени низ мултибајтова.\n"
"Ðаведите иÑправно кодирање извора помоћу „--from-code“.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3618,7 +3866,7 @@ msgstr ""
"%s:%d: Ðедовршени низ мултибајтова на крају датотеке.\n"
"Ðаведите иÑправно кодирање извора помоћу „--from-code“.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3627,12 +3875,12 @@ msgstr ""
"%s:%d: Ðедовршени низ мултибајтова на крају реда.\n"
"Ðаведите иÑправно кодирање извора помоћу „--from-code“.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: неуÑпех иконв-а"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3641,281 +3889,77 @@ msgstr ""
"%s:%d: ÐеиÑправан низ мултибајтова.\n"
"Ðаведите кодирање извора помоћу „--from-code“.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: упозорење: неиÑправан знак Уникода"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: упозорење: конÑтанта ниÑке није окончана"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: упозорење: нађох ) где очекивах }"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: упозорење: нађох } где очекивах )"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "ÐедоÑтаје Ñадржај за ниÑку извучену из елемента „%s“"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Корени елемент <%s> није дозвољен у иÑправној датотеци Глејда"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Језик „glade“ није подржан. %s Ñе оÑлања на „expat“.\n"
-"Ово издање је изграђено без „expat“-а.\n"
-
-# bug: there are similar messages with "%s:%lu: warning:"
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: упозорење: уÑамљена замена „U+%04X“"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Ðаведите кодирање извора помоћу „--from-code“\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÐеиÑправан низ мултибајтова.\n"
-"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Дуги недовршени низ мултибајтова.\n"
-"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðедовршени низ мултибајтова на крају датотеке.\n"
-"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðедовршени низ мултибајтова на крају реда.\n"
-"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: ÐеиÑправан низ мулти бајтова.\n"
-"Ðаведите кодирање извора помоћу „--from-code“\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: упозорење: литерал Регизраза је окончан прерано"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: упозорење: „%s“ није дозвољено"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: упозорење: неокончана ниÑка"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: не могу да нађем окончање ниÑке „%s“ било где пре краја датотеке"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: недоÑтаје деÑна заграда у „\\x{ХЕКСÐДЕКÐДÐИ-БРОЈ}“"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: неиÑправно уметање („\\l“) 8-битног знака „%c“"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: неиÑправно уметање („\\u“) 8-битног знака „%c“"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: неиÑправно уметање променљиве на „%c“"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: неиÑправно уметање („\\L“) 8-битног знака „%c“"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: неиÑправно уметање („\\U“) 8-битног знака „%c“"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
-"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: ÐеиÑправан низ мултибајтова.\n"
-"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
-"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
-
-#: src/x-python.c:341
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Дуги недовршени низ мултибајтова.\n"
-"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
-"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "„%s“ није иÑправан назив кодирања. КориÑтићу ÐСКРИ.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðедовршени низ мултибајтова на крају датотеке.\n"
-"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
-"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+msgid "syntax check '%s' unknown"
+msgstr "провера ÑинтакÑе „%s“ је непозната"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðедовршени низ мултибајтова на крају реда.\n"
-"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
-"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "врÑта краја реченице „%s“ је непозната"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: ÐеиÑправан низ мултибајтова.\n"
-"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
-"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Ðепознато кодирање „%s“. ÐаÑтављам Ñа ÐСКРИ-јем."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: неиÑправна одредница датотеке"
+"„--join-existing“ Ñе не може кориÑтити када Ñе излаз иÑпиÑује на Ñтандардни "
+"излаз"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: недоÑтаје број након #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "„xgettext“ не може да ради без кључних речи које тражи"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: неиÑправан израз ниÑке"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "упозорење: не поÑтоји датотека „%s“ „ITS“ правила"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: упозорење: ÑинтакÑа $\"...\" је превазиђена из безбедноÑних разлога; "
-"умеÑто тога кориÑтите „eval_gettext“"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: упозорење: литерал регуларног израза је окончан прерано"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "„%s“ није иÑправан назив кодирања. КориÑтићу ÐСКРИ.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"„--join-existing“ Ñе не може кориÑтити када Ñе излаз иÑпиÑује на Ñтандардни "
-"излаз"
+"упозорење: не поÑтоји датотека „%s“ „ITS“ правила; проверите инÑталацију "
+"геттекÑта"
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "„xgettext“ не може да ради без кључних речи које тражи"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "упозорење: проширење „%2$s“ датотеке „%1$s“ није познато; пробаћу Ц"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Извуците преводиве ниÑке из датих улазних датотека.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3924,13 +3968,13 @@ msgstr ""
" -d, --default-domain=ÐÐЗИВ кориÑти ÐÐЗИВ.po за излаз (умеÑто "
"messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr ""
" -o, --output=ДÐТОТЕКРиÑпиÑује излаз у наведену датотеку\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -3938,12 +3982,12 @@ msgstr ""
" -p, --output-dir=ДИР излазне датотеке Ñе Ñмештају у "
"директоријум ДИР\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Избор језика улазне датотеке:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3963,12 +4007,12 @@ msgstr ""
" РСТ, Глејд, Луа, ЈаваСпиÑ, Вала, "
"ДеÑктоп)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ Ñкраћеница за „--language=Ц++“\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -3976,7 +4020,7 @@ msgid ""
msgstr ""
"Подразумева Ñе погађање језика на оÑнову проширења назива улазне датотеке.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3985,24 +4029,24 @@ msgstr ""
" --from-code=ÐÐЗИВ кодирање улазних датотека\n"
" (оÑим за Питона, Тцл-а, Глејд-а)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Подразумева Ñе да Ñу улазне датотеке у ÐСКРИ запиÑу.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing Ñпаја поруке Ñа поÑтојећом датотеком\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=ДÐТОТЕКÐ.po поља из ДÐТОТЕКЕ.po Ñе не извлаче\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4019,17 +4063,39 @@ msgstr ""
"редова\n"
" кључних речи у излазној датотеци\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=ÐÐЗИВ обавља проверу ÑинтакÑе у порукама\n"
+" (тротачка-јуникод, размак-тротачка,\n"
+" наводник-јуникод)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=ВРСТРврÑта која опиÑује крај реченице\n"
+" (један-размак, који је оÑновни, \n"
+" или двоÑтруки-размак)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "ПоÑебне наредбе језика:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all извлачи Ñве ниÑке\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4044,7 +4110,7 @@ msgstr ""
"извор,\n"
" Луа, ЈаваСпиÑ, Вала)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4059,7 +4125,7 @@ msgstr ""
"извор,\n"
" Луа, ЈаваСпиÑ, Вала, ДеÑктоп)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4069,7 +4135,7 @@ msgstr ""
" --flag=РЕЧ:ÐРГ:ОБЕЛЕЖЈЕ додатно обележје за ниÑке унутар броја\n"
" аргумента ÐРГ кључне речи РЕЧ\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4083,37 +4149,37 @@ msgstr ""
" Јава, Ц#, авк, ЈЦП, Тцл, Перл, ПХП,\n"
" ГЦЦ-извор, Луа, ЈаваСпиÑ, Вала)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs разуме ÐÐСИ Ц триграфе за улаз\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (Ñамо језици Ц, Ц++, ОбјектниЦ)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt препознаје ниÑке запиÑа Кут-а\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (Ñамо језик Ц++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde препознаје ниÑке запиÑа КДЕ-а 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost препознаје ниÑке запиÑа БуÑÑ‚-а\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4121,20 +4187,30 @@ msgstr ""
" --debug опширнији резултат препознавања запиÑа "
"ниÑке\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output иÑпиÑује датотеку Јава „.properties“\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=ДÐТОТЕКРпримењује „ITS“ правила из ДÐТОТЕКЕ\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool запиÑује напомене итÑ-алата\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=ÐИСКРпоÑтавља ноÑиоца ауторÑких права у "
"излазу\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4142,17 +4218,17 @@ msgstr ""
" --foreign-user избацује ауторÑка права ФСФ у излазу за "
"Ñтране кориÑнике\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=ПÐКЕТ поÑтавља назив пакета на излазу\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=ИЗДÐЊЕ поÑтавља издање пакета на излазу\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4161,7 +4237,7 @@ msgstr ""
"пријављивање \n"
" грешака у мÑгид-овима\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4171,7 +4247,7 @@ msgstr ""
" -m[ÐИСКÐ], --msgstr-prefix[=ÐИСКÐ] кориÑти ÐИСКРили „“ за Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¿Ð¾Ñ™Ð° "
"мÑгÑÑ‚Ñ€-а\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4181,7 +4257,7 @@ msgstr ""
" -M[ÐИСКÐ], --msgstr-suffix[=ÐИСКÐ] кориÑти ÐИСКРили „“ за ÑÑƒÑ„Ð¸ÐºÑ Ð¿Ð¾Ñ™Ð° "
"мÑгÑÑ‚Ñ€-а\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4190,31 +4266,31 @@ msgstr ""
"Ðргумент „--flag“ не кориÑти ÑинтакÑу <кључна-реч>:<бр.арг>:"
"[пролаз-]<обележје>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "Ñтандардни улаз"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Ðе-ÐСКРИ знак на %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Ðе-ÐСКРИ напомена на или пре %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Ðе-ÐСКРИ ниÑка на %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: упозорење: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4223,7 +4299,7 @@ msgstr ""
"Иако Ñе кориÑти на меÑту ниÑке запиÑа, %s не предÑтавља иÑправну ниÑку "
"запиÑа %s. Разлог: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4232,7 +4308,7 @@ msgstr ""
"Иако је објављена као таква, %s не предÑтавља иÑправну ниÑку запиÑа %s. "
"Разлог: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4246,7 +4322,7 @@ msgstr ""
"Размотрите употребу ниÑку заоиÑа Ñа именованим аргументима,\n"
"и Ñа мапирањем умеÑто н-торке за аргументе.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4256,27 +4332,27 @@ msgstr ""
"„gettext(\"\")“ иÑпиÑује поље заглавља Ñа мета-подацима, а не\n"
"празну ниÑку.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "нејаÑана оÑобеноÑÑ‚ аргумента за кључну реч „%.*s“"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "упозорење: недоÑтаје контекÑÑ‚ за кључниу реч „%.*s“"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "упозорење: недоÑтаје контекÑÑ‚ за аргумент множине кључне речи „%.*s“"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "контекÑÑ‚ Ñе разликује између облика за једнину и множину"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4288,15 +4364,353 @@ msgstr ""
"променљиву „MSGID_BUGS_ADDRESS“; у Ñупротном наведите\n"
"опцију „--msgid-bugs-address“ у наредби.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "језик „%s“ је непознат"
+# bug: there are similar messages with "%s:%lu: warning:"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: упозорење: уÑамљена замена „U+%04X“"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Ðаведите кодирање извора помоћу „--from-code“\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÐеиÑправан низ мултибајтова.\n"
+"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Дуги недовршени низ мултибајтова.\n"
+"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðедовршени низ мултибајтова на крају датотеке.\n"
+"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðедовршени низ мултибајтова на крају реда.\n"
+"Ðаведите иÑправно кодирање извора помоћу „--from-code“\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: ÐеиÑправан низ мулти бајтова.\n"
+"Ðаведите кодирање извора помоћу „--from-code“\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: упозорење: литерал Регизраза је окончан прерано"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: упозорење: „%s“ није дозвољено"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: упозорење: неокончана ниÑка"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: не могу да нађем окончање ниÑке „%s“ било где пре краја датотеке"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: недоÑтаје деÑна заграда у „\\x{ХЕКСÐДЕКÐДÐИ-БРОЈ}“"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: неиÑправно уметање („\\l“) 8-битног знака „%c“"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: неиÑправно уметање („\\u“) 8-битног знака „%c“"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: неиÑправно уметање променљиве на „%c“"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: неиÑправно уметање („\\L“) 8-битног знака „%c“"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: неиÑправно уметање („\\U“) 8-битног знака „%c“"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
+"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ÐеиÑправан низ мултибајтова.\n"
+"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
+"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Дуги недовршени низ мултибајтова.\n"
+"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
+"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðедовршени низ мултибајтова на крају датотеке.\n"
+"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
+"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðедовршени низ мултибајтова на крају реда.\n"
+"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
+"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: ÐеиÑправан низ мултибајтова.\n"
+"Ðаведите кодирање извора помоћу „--from-code“ или помоћу напомене\n"
+"као што је наведено у „http://www.python.org/peps/pep-0263.html“.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Ðепознато кодирање „%s“. ÐаÑтављам Ñа ÐСКРИ-јем."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: неиÑправна одредница датотеке"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: недоÑтаје број након #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: неиÑправан израз ниÑке"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: упозорење: ÑинтакÑа $\"...\" је превазиђена из безбедноÑних разлога; "
+"умеÑто тога кориÑтите „eval_gettext“"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: упозорење: литерал регуларног израза је окончан прерано"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<неименован>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "неиÑправан УТФ-8 низ"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "„%s“ није иÑправан назив: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "„%s“ није иÑправан назив: „%c“"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "неиÑправна упута знака: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "није иÑправна одредба броја"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "нема крајње ;"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "недозвољени знак"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "празно"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "непознато"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "неиÑправна референца ентитета: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "документ мора почети елементом"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "неиÑправан знак након „%s“"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "недоÑтаје „%c“"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "недоÑтаје „%c“ или „%c“"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "назив затварајућег елемента"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "елемент је затворен"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "празан документ"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "након <"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "елемент је још отворен"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "недоÑтаје >"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "унутар назива елемента"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "унутар назива атрибута"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "унутар отворене ознаке"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "након ="
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "унутар вредноÑти атрибута"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "унутар затварајуће ознаке"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "унутар напомене или упутÑтва обраде"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "документ је завршио неочекивано: %s"
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "ÐедоÑтаје Ñадржај за ниÑку извучену из елемента „%s“"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Језик „glade“ није подржан. %s Ñе оÑлања на „expat“.\n"
+#~ "Ово издање је изграђено без „expat“-а.\n"
+
#~ msgid "DuplicateHandle failed with error code 0x%08x"
#~ msgstr "Руковање дупликатима није уÑпело Ñа грешком 0x%08x"
diff --git a/gettext-tools/po/sv.gmo b/gettext-tools/po/sv.gmo
index 39320d6..2cb2142 100644
--- a/gettext-tools/po/sv.gmo
+++ b/gettext-tools/po/sv.gmo
Binary files differ
diff --git a/gettext-tools/po/sv.po b/gettext-tools/po/sv.po
index b8658f0..c28ad92 100644
--- a/gettext-tools/po/sv.po
+++ b/gettext-tools/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.19.3\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2014-10-17 22:56+0200\n"
"Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -55,40 +55,40 @@ msgstr "kan inte ta bort temporärkatalog %s"
msgid "write error"
msgstr "skrivfel"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "bevarar rättigheter för %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "fel uppstod när %s öppnades för läsning"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "kan inte öppna säkerhetskopiefil %s för skrivning"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "fel uppstod då %s lästes"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "fel vid skrivning till %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "fel efter %s lästes"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() misslyckades"
@@ -114,58 +114,63 @@ msgstr "Okänt systemfel"
msgid "%s subprocess failed"
msgstr "%s-barnprocess misslyckades"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: flaggan \"%s\" är tvetydig, alternativ:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"--%s\" tar inget argument\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: flaggan \"%s\" kräver ett argument\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: okänd flagga \"--%s\"\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: okänd flagga \"%c%s\"\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ogiltig flagga -- \"%c\"\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: flaggan kräver ett argument -- \"%c\"\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: flaggan \"-W %s\" kräver ett argument\n"
@@ -181,15 +186,16 @@ msgstr "ogiltigt värde på argumentet source_version till compile_java_class"
msgid "invalid target_version argument to compile_java_class"
msgstr "ogiltigt värde på argumentet target_version till compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "misslyckades med att skapa \"%s\""
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "fel vid skrivning till filen \"%s\""
@@ -205,15 +211,15 @@ msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
"Virtuell Javamaskin hittades inte, försök installera gij eller sätt $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "I/O-fel i %s-barnprocess"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "minnet slut"
@@ -224,7 +230,7 @@ msgid "creation of threads failed"
msgstr "skapa trådar misslyckades"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "skrivning till %s-barnprocess misslyckades"
@@ -270,11 +276,11 @@ msgstr "%s-barnprocess terminerade med slutstatus %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "\""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "\""
@@ -310,55 +316,200 @@ msgstr "%s-barnprocess"
msgid "%s subprocess got fatal signal %d"
msgstr "%s-barnprocess fick ödesdiger signal %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "fel uppstod när \"%s\" öppnades för läsning"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Rotelementet <%s> är inte tillåten i en giltig Glade-fil"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not have attribute <%s>"
msgstr ""
-"\"%s\" är inte en giltig formatsträng i %s, till skillnad från \"%s\".\n"
-"Orsak: %s"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Försök med \"%s --help\" för mer information.\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Användning: %s [FLAGGA] [FIL]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Obligatoriska argument för långa flaggor är obligatoriska även för korta.\n"
+"Motsvarande gäller för frivilliga argument.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help visa denna hjälptext och avsluta\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help visa denna hjälptext och avsluta\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version visa versionsinformation och avsluta\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Rapportera fel till <bug-gnu-gettext@gnu.org>.\n"
+"Rapportera fel och synpunkter på översättningen till <tp-sv@listor.tp-sv."
+"se>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl.html>\n"
+"Detta program är fri programvara. Du kan modifiera och distribuera den.\n"
+"Det finns inte NÅGON SOM HELST GARANTI, till den grad som lagen tillåter.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Skrivet av %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s finns men kan inte läsas"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "kan inte ta bort temporärkatalog %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "fel uppstod när \"%s\" öppnades för läsning"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
"formateringsdirektiv för argument %u, som i \"%s\", finns inte i \"%s\""
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "formateringsdirektiv för argument %u finns inte i \"%s\""
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"formateringsdirektivet i \"%s\" och \"%s\" för argument %u är inte likadana"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "Direktiv nummer %u börjar med | men avslutas inte med |."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"\"%s\" är inte en giltig formatsträng i %s, till skillnad från \"%s\".\n"
+"Orsak: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -368,41 +519,41 @@ msgstr ""
"formateringsmakro. Giltiga makronamn är definierade i ISO C 99, kapitel "
"7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "I direktiv nummer %u följs symbolen efter \"<\" inte av \">\"."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Strängen refererar till argument nummer %u men ignorerar argument nummer %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "antalet formateringsdirektiv i \"%s\" och \"%s\" är olika"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "I direktiv nummer %u följs inte \"{\" av ett argumentnummer."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "I direktiv nummer %u följs inte \",\" av ett nummer."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Strängen slutar mitt i ett direktiv: hittade \"{\" utan tillhörande \"}\"."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -410,20 +561,20 @@ msgstr ""
"Direktiv nummer %u avslutas med det ogiltiga tecknet \"%c\" istället för "
"\"}\"."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Direktiv nummer %u avslutas med ett ogiltigt tecken istället för \"}\"."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"Strängen startar mitt i ett direktiv: hittade \"}\" utan tillhörande \"{\"."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Strängen innehåller ett ensamt \"}\" efter direktiv nummer %u."
@@ -539,7 +690,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Strängen refererar till argument nummer %u på inkompatibla sätt."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -547,18 +698,18 @@ msgid ""
msgstr ""
"I direktiv nummer %u är delsträngen \"%s\" inte en giltig datum/tid-stil."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "I direktiv nummer %u följs inte \"%s\" av ett komma."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "I direktiv nummer %u är delsträngen \"%s\" inte en giltig nummerstil."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -567,12 +718,12 @@ msgstr ""
"I direktiv nummer %u följs inte argumentnumret av ett komma och en av \"%s"
"\", \"%s\", \"%s\", \"%s\"."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "I direktiv nummer %u innehåller ett val inga nummer."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -581,26 +732,47 @@ msgstr ""
"I direktiv nummer %u innehåller ett val ett nummer som inte följs av \"<\", "
"\"#\" eller \"%s\"."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"formateringsdirektiv för argument {%u}, som i \"%s\", finns inte i \"%s\""
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "formateringsdirektiv för argument {%u} finns inte i \"%s\""
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
"formateringsdirektiv i \"%s\" och \"%s\" för argument {%u} är inte likadana"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Strängen refererar till argument nummer %u men ignorerar argument nummer %u."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"formateringsdirektiv för argument %u, som i \"%s\", finns inte i \"%s\""
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "fel uppstod då \"%s\" lästes"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -610,7 +782,7 @@ msgstr ""
"I direktiv nummer %u har parameter %u typ \"%s\" men en parameter av typ \"%s"
"\" förväntades."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -625,33 +797,33 @@ msgstr[1] ""
"I direktiv nummer %u anges för många parametrar, förväntade högst %u "
"parametrar."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "I direktiv nummer %u följs inte \"%c\" av en siffra."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "I direktiv nummer %u är argument %d negativt."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Strängen avslutas mitt i ett direktiv av typ ~/.../."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Hittade \"~%c\" utan tillhörande \"%c\"."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "I direktiv nummer %u anges båda modifierarna @ och :."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -659,26 +831,32 @@ msgid ""
msgstr ""
"I direktiv nummer %u följs inte \"~:[\" av två satser separerade med \"~;\"."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "I direktiv nummer %u används \"~;\" i en felaktig position."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Strängen refererar till några argument på inkompatibla sätt."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "formateringsdirektiv i \"%s\" och \"%s\" är inte ekvivalenta"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "formateringsdirektiv i \"%s\" är inte en delmängd av de i \"%s\""
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "formateringsdirektiv för argument \"%s\" finns inte i \"%s\""
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -687,14 +865,35 @@ msgstr ""
"I direktiv nummer %u är storleksbestämningen inkompatibel med konverteringen "
"\"%c\"."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "formateringsdirektiv för argument \"%s\" finns inte i \"%s\""
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "I direktiv nummer %u kan inte \"%c\" inleda ett fältnamn."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "I direktiv nummer %u kan inte \"%c\" inleda ett getattr-argument."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "I direktiv nummer %u kan inte \"%c\" inleda ett getitem-argument."
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"I direktiv nummer %u är ytterligare nästling inte tillåten i en "
+"formatspecifikation."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "I direktiv nummer %u finns ett oavslutat formatdirektiv."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -702,68 +901,40 @@ msgstr ""
"Strängen refererar till argument både via argumentnamn och via namnlösa "
"argumentspecifikationer."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "Strängen refererar till argumentet \"%s\" på inkompatibla sätt."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
"formateringsdirektiv i \"%s\" tar en avbildning, de i \"%s\" tar en tupel"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
"formateringsdirektiv i \"%s\" tar en tupel, de i \"%s\" tar en avbildning"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"formateringsdirektiv för argument \"%s\", som i \"%s\", finns inte i \"%s\""
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr ""
"formateringsdirektiv i \"%s\" och \"%s\" för argument \"%s\" är inte likadana"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "I direktiv nummer %u kan inte \"%c\" inleda ett fältnamn."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "I direktiv nummer %u kan inte \"%c\" inleda ett getattr-argument."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "I direktiv nummer %u kan inte \"%c\" inleda ett getitem-argument."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"I direktiv nummer %u är ytterligare nästling inte tillåten i en "
-"formatspecifikation."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "I direktiv nummer %u finns ett oavslutat formatdirektiv."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -772,11 +943,11 @@ msgstr ""
"\"%s\" är en enkel formatsträng, men \"%s\" är inte det; den innehåller en "
"\"L\"-flagga eller ett tvåsiffrigt argumenttal"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "Strängen refererar till en skalvariabel med ett namn utanför ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -784,7 +955,7 @@ msgstr ""
"Strängen refererar till en skalvariabel med komplex krullparentessyntax. "
"Denna syntax stöds inte här av säkerhetsskäl."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -792,18 +963,18 @@ msgstr ""
"Strängen refererar till en skalvariabel vars värde kan vara annorlunda inne "
"i skalfunktioner."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Strängen refererar till en skalvariabel utan namn."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "I direktiv nummer %u är tecknet \"%c\" inte en siffra mellan 1 och 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -811,75 +982,40 @@ msgid ""
msgstr ""
"Tecknet som avslutar direktiv nummer %u är inte en siffra mellan 1 och 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright © %s Free Software Foundation, Inc.\n"
-"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl.html>\n"
-"Detta program är fri programvara. Du kan modifiera och distribuera den.\n"
-"Det finns inte NÅGON SOM HELST GARANTI, till den grad som lagen tillåter.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Skrivet av %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "för många argument"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Försök med \"%s --help\" för mer information.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Användning: %s [FLAGGA]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Visa maskinens värdnamn.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Resultatformat:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short kort värdnamn\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -889,80 +1025,103 @@ msgstr ""
" -f, --fqdn, --long långt värdnamn, innehåller hela domännamnet\n"
" och alias\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address adresser för värdnamnet\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Informativ utskrift:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help visa denna hjälptext och avsluta\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "kunde inte hämta värdnamn"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version visa versionsinformation och avsluta\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "minst två filer måste anges"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "kan inte skapa rör"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-"Rapportera fel till <bug-gnu-gettext@gnu.org>.\n"
-"Rapportera fel och synpunkter på översättningen till <tp-sv@listor.tp-sv."
-"se>.\n"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:614
#, c-format
-msgid "could not get host name"
-msgstr "kunde inte hämta värdnamn"
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "ogiltigt argument %s för %s"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "kan inte skapa rör"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s finns inte"
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "kan inte skapa utfilen \"%s\""
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "högst en infil tillåten"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s och %s är ömsesidigt uteslutande"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Användning: %s [FLAGGA] [INFIL]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -971,62 +1130,63 @@ msgstr ""
"Filtrerar meddelanden i en meddelandekatalog efter deras attribut och\n"
"manipulerar attributen.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Obligatoriska argument för långa flaggor är obligatoriska även för korta.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Plats för infiler:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INFIL PO-infil\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr " -D, --directory=KATALOG sök infiler även i KATALOG\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "Om ingen infil är given eller om den är - läses standard in.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Plats för utfil:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=FIL skriv resultat till angiven fil\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1034,12 +1194,12 @@ msgid ""
msgstr ""
"Resultatet skrivs till standard ut om ingen utfil anges eller om den är -.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Meddelandeval:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1047,7 +1207,7 @@ msgstr ""
" --translated behåll översatta, ta bort oöversatta "
"meddelanden\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1055,59 +1215,59 @@ msgstr ""
" --untranslated behåll oöversatta, ta bort översatta "
"meddelanden\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy ta bort meddelanden markerade som \"fuzzy\"\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy behåll meddelanden markerade som \"fuzzy\"\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete ta bort föråldrade #~ meddelanden\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete behåll föråldrade #~ meddelanden\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Attributmanipulation:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy markera alla meddelanden som \"fuzzy\"\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy ta bort \"fuzzy\"-markering från alla "
"meddelanden\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr ""
" --set-obsolete markera alla meddelanden som föråldrade\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete ta bort föråldradmarkering från alla "
"meddelanden\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1116,7 +1276,7 @@ msgstr ""
" --previous när \"fuzzy\" är satt, behåll föregående\n"
" \"msgid\" för översatta meddelanden\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1125,7 +1285,7 @@ msgstr ""
" --clear-previous ta bort \"previous msgid\" från alla "
"meddelanden\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1133,49 +1293,49 @@ msgstr ""
" --empty när \"fuzzy\" tas bort, sätt msgstr till tom "
"sträng\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=FIL.po bearbeta bara poster som finns i FIL.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr ""
" --ignore-file=FIL.po bearbeta bara poster som inte finns i FIL.po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy samma som --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete samma som --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Syntax på infil:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr " -P, --properties-input infil har \"Java .properties\"-syntax\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1184,17 +1344,17 @@ msgstr ""
" --stringtable-input infil har NeXTstep/GNUstep \".strings\"-"
"syntax\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Resultatdetaljer:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1209,16 +1369,16 @@ msgstr ""
"\"auto\"\n"
" eller \"html\".\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr " --style=STILMALL ange CSS stillmallsfil för --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1226,9 +1386,9 @@ msgstr ""
" -e, --no-escape använd inte C-kontrollsekvenser i resultatet\n"
" (normalläge)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1236,28 +1396,28 @@ msgstr ""
" -E, --escape använd C-kontrollsekvenser i resultatet, men\n"
" inte \\v eller \\a\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po skriv PO-fil även om den är tom\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent indentera resultatet\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location skriv inte rader med \"#: filnamn:rad\"\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1265,39 +1425,39 @@ msgstr ""
" -n, --add-location skriv rader med \"#: filnamn:rad"
"\" (normalläge)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output skriv en \"Java .properties\"-fil\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output skriv en NeXTstep/GNUstep \".strings\"-fil\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=ANTAL välj antal kolumner i resultatet\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1306,31 +1466,31 @@ msgstr ""
" --no-wrap dela inte meddelanden som är längre än\n"
" resultatets kolumnantal i flera rader\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output sortera resultatet\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file sortera resultatet efter filposition\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "omöjligt urvalskriterium angivet (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Användning: %s [FLAGGA] [INFIL]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1353,23 +1513,23 @@ msgstr ""
"ihop, utom om --use-first ges. Då tas de endast från den första PO-filen som\n"
"definierar dem.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INFIL ... infiler\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FIL läs lista av infiler från FIL\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Om infil är - läses standard in.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1378,7 +1538,7 @@ msgstr ""
" -<, --less-than=ANTAL skriv meddelanden med färre än ANTAL\n"
" definitioner. Standardvärde: oändligt\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1387,7 +1547,7 @@ msgstr ""
" ->, --more-than=ANTAL skriv meddelanden med fler än ANTAL\n"
" definitioner. Standardvärde: 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1396,16 +1556,16 @@ msgstr ""
" -u, --unique samma som --less-than=2, begär att\n"
" endast unika meddelanden skrivs\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
" -P, --properties-input infiler har \"Java .properties\"-syntax\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1414,12 +1574,12 @@ msgstr ""
" --stringtable-input infiler har NeXTstep/GNUstep \".strings\"-"
"syntax\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=NAMN kodning för resultatet\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1428,33 +1588,33 @@ msgstr ""
" --use-first använd först hittade översättning för varje\n"
" meddelande, slå inte ihop översättningar\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=KATALOGNAMN sätt \"Language\"-fältet i huvudet\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "inga infiler givna"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "exakt 2 infiler krävs"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Användning: %s [FLAGGA] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1472,22 +1632,22 @@ msgstr ""
"programmet. Om en exakt likhet inte kan hittas används luddig jämförelse \n"
"för att ge bättre felmeddelanden.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po översättningar\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot referenser till källkod\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Bearbetningsvarianter:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1495,64 +1655,64 @@ msgid ""
msgstr ""
" -m, --multi-domain tillämpa ref.pot till alla domäner i def.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching använd inte luddig jämförelse\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy använd luddiga poster i resultatet\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated beakta oöversatta meddelanden\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "detta meddelande är oöversatt"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "detta meddelande behöver granskas av översättaren"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "detta meddelande används men är inte definierat..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...men denna definition är likartad"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "detta meddelande används men är inte definierat i %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "varning: detta meddelande används inte"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d allvarligt fel hittat"
msgstr[1] "%d allvarliga fel hittades"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "minst två filer måste anges"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1573,7 +1733,7 @@ msgstr ""
"endast från den första PO-filen som definierar dem. Filpositioner från\n"
"alla filer bevaras.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1582,41 +1742,41 @@ msgstr ""
" ->, --more-than=ANTAL skriv meddelanden med fler än ANTAL\n"
" definitioner. Standardvärde: 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr " --omit-header skriv inte ut huvudet med `msgid \"\"'\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Konverterar en meddelandekatalog till en annan teckenkodning.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Konverteringsmål:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Standardvärde är nuvarande lokals kodning.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent indentera resultatet\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location skriv inte rader med \"#: filnamn:rad\"\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1624,28 +1784,28 @@ msgstr ""
" -n, --add-location bevara rader med \"#: filnamn:rad"
"\" (normalläge)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "inga infiler givna"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "exakt en infil krävs"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Användning: %s [FLAGGA] INFIL\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1657,22 +1817,22 @@ msgstr ""
"engelska PO-filen eller en PO-mönsterfil (ofta skapad med xgettext).\n"
"Oöversatta poster ges en översättning som är identisk med msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " INFIL PO- eller POT-infil\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "kommandonamn saknas"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Användning: %s [FLAGGA] KOMMANDO [KOMMANDOFLAGGOR]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1687,7 +1847,7 @@ msgstr ""
"blir utdata från msgexec. Slutstatusvärdet för msgexec är det maximala\n"
"slutstatusvärdet för alla kommandokörningar.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1697,37 +1857,47 @@ msgstr ""
"av ett nolltecken. Utdata för \"msgexec 0\" är lämpligt som indata för\n"
"\"xargs -O\"\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standard in"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help visa denna hjälptext och avsluta\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INFIL PO-infil\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "skrivning till standard ut misslyckades"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "filternamn saknas"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "minst ett sed-skript måste anges"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Användning: %s [FLAGGA] FILTER [FILTERFLAGGOR]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Tillämpar ett filter på alla översättningar i en meddelandekatalog.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1736,19 +1906,31 @@ msgstr ""
"FILTER kan vara vilket program som helst som läser en översättning från\n"
"standard in och skriver den modifierade översättningen till standard ut.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "Användbara FILTERFLAGGOR när FILTER är \"sed\":\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
" -e, --expression=SKRIPT lägg till SKRIPT till kommandon att exekvera\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1759,7 +1941,7 @@ msgstr ""
"kommandon\n"
" att exekvera\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
@@ -1767,7 +1949,7 @@ msgstr ""
" -n, --quiet, --silent undertryck automatisk utskrift av "
"mönsterutrymmet\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1775,12 +1957,12 @@ msgstr ""
" --no-escape använd inte C-kontrollsekvenser i resultatet\n"
" (normalläge)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent indentera resultatet\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1788,122 +1970,123 @@ msgstr ""
" --keep-header bevara huvudrader oförändrade, filtrera dem "
"inte\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filen \"%s\" innehåller en sträng som inte avslutas med nolltecknet"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "argumentet till %s ska vara ett enskilt skiljetecken"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "ogiltig byteordning: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "ingen infil ska anges om %s och %s är givna"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s kräver att \"-d katalog\" anges"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s kräver att \"-l lokal\" anges"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s kräver att \"--template mall\" anges"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s kräver att \"-o fil\" anges"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s och %s är ömsesidigt uteslutande i %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s är endast giltig med %s eller %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s är endast giltig med %s, %s eller %s"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "kan inte skapa utfilen \"%s\""
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d översatt meddelande"
msgstr[1] "%d översatta meddelanden"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d luddig översättning"
msgstr[1] ", %d luddiga översättningar"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d oöversatt meddelande"
msgstr[1] ", %d oöversatta meddelanden"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Användning: %s [FLAGGA] filnamn.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
"Generera en binär meddelandekatalog från en textuell meddelandekatalog.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Obligatoriska argument för långa flaggor är obligatoriska även för korta.\n"
-"Motsvarande gäller för frivilliga argument.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filnamn.po ... infiler\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Körläge:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1912,7 +2095,7 @@ msgstr ""
" -j, --java Javaläge: generera en Java ResourceBundle-"
"klass\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1921,12 +2104,12 @@ msgstr ""
" --java2 som --java, och anta Java2 (JDK 1.2 eller "
"högre)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C#-läge: generera en .NET .dll-fil\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1935,7 +2118,7 @@ msgstr ""
" --csharp-resources C#-resursläge: generera en .NET .resources-"
"fil\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -1943,12 +2126,12 @@ msgstr ""
" --tcl Tcl-läge: generera en .msg-fil av tcl/msgcat-"
"typ\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt-läge: generera en Qt .qm-fil\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1956,28 +2139,33 @@ msgstr ""
" --desktop \"Desktop Entry\"-läge: generera en .desktop-"
"fil\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt-läge: generera en Qt .qm-fil\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Om UTFIL är - skrivs resultatet till standard ut.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Plats för utfil i Javaläge:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESURS resursnamn\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1985,7 +2173,7 @@ msgid ""
msgstr ""
" -l, --locale=LOKAL lokalnamn, antingen språk eller språk_LAND\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1994,13 +2182,13 @@ msgstr ""
" --source generera en .java-fil istället för en .class-"
"fil\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d KATALOG startkatalog för klassers katalogträd\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2012,12 +2200,12 @@ msgstr ""
"avskiljt med ett understreck. Flaggan -d är obligatorisk. Klassen skrivs\n"
"till den givna katalogen.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Plats för utfil i C#-läge:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2025,7 +2213,7 @@ msgid ""
msgstr ""
" -d KATALOG startkatalog för lokalberoende .dll-filer\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2035,18 +2223,18 @@ msgstr ""
"underkatalog\n"
"till den givna katalogen. Underkatalogens namn beror på lokalen.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Plats för utfil i Tcl-läge:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d KATALOG startkatalog för .msg-meddelandekataloger\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2055,22 +2243,22 @@ msgstr ""
"Flaggorna -l och -d är obligatoriska. .msg-filen skrivs till den givna\n"
"katalogen.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Flaggor för \"Desktop Entry\"-läge\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=MALL en .desktop-fil att använda som mall\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d KATALOG baskatalog för .po-filer\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2079,7 +2267,7 @@ msgstr ""
" -kORD, --keyword[=ORD] sök efter ORD som ett extra nyckelord\n"
" -k, --keyword använd inte standardnyckelord\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2089,12 +2277,27 @@ msgstr ""
"Flaggorna -l, -o och --template är obligatoriska. Om -D är given så läses\n"
"indatafiler från katalogen och inte från kommandoradsargument.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "Flaggor för \"Desktop Entry\"-läge\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=MALL en .desktop-fil att använda som mall\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Tolkning av infil:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2105,13 +2308,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format kontrollera språkberoende formatsträngar\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2119,7 +2322,7 @@ msgid ""
msgstr ""
" --check-header verifiera närvaro och innehåll av huvudrader\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2128,7 +2331,7 @@ msgstr ""
" --check-domain kontrollera konflikter mellan domändirektiv\n"
" och flaggan --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2137,7 +2340,7 @@ msgstr ""
" -C, --check-compatibility kontrollera att GNU msgfmt uppför sig som\n"
" X/Open msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2148,19 +2351,19 @@ msgstr ""
"tangentkortkommandon\n"
" för menyer\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy använd luddiga poster i resultatet\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=TAL lägg strängar på jämna TAL byte (normalt: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2172,97 +2375,96 @@ msgstr ""
" (big eller little, standard beror på "
"plattform)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr " --no-hash binärfil innehåller inte hashtabellen\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics skriv ut statistik om översättningarna\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose öka mängden information i meddelanden\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "varning: PO-filens huvudrader saknas eller är ogiltiga\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr ""
"varning: konvertering till användarens teckenuppsättning kommer att "
"misslyckas.\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "varning: PO-filens huvudrader är luddiga\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "varning: äldre versioner av msgfmt ger ett fel för detta\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "domännamnet \"%s\" är inte lämpligt som filnamn"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "domännamnet \"%s\" är inte lämpligt som filnamn: använder ett prefix"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "direktivet \"domain %s\" ignoreras"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "tom \"msgstr\"-rad ignorerad"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "luddig \"msgstr\"-rad ignorerad"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: varning: källfilen innehåller luddiga översättningar"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s finns inte"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s finns men kan inte läsas"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "fel uppstod då \"%s\" lästes"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2271,7 +2473,7 @@ msgstr ""
"flagga \"%c\" kan inte användas förrän \"J\", \"K\", \"T\" \"C\" eller \"X\" "
"angivits"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2280,7 +2482,7 @@ msgstr ""
"Extraherar alla meddelanden i en meddelandekatalog som matchar ett visst\n"
"mönster eller hör till någon given källkodsfil.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2356,7 +2558,7 @@ msgstr ""
" -v, --invert-match skriv ut endast de meddelanden som inte matchar\n"
" något urvalskriteria.\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2364,12 +2566,12 @@ msgstr ""
" --escape använd C-kontrollsekvenser i resultatet, men\n"
" inte \\v eller \\a\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output sortera resultatet\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file sortera resultatet efter filposition\n"
@@ -2471,14 +2673,14 @@ msgstr ""
"Hittade ingen .pot-fil i aktuell katalog.\n"
"Ange .pot-infil med flaggan --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s-barnprocess terminerade med slutstatus %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2493,28 +2695,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Svenska översättningar för paket %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "nuvarande teckenuppsättning \"%s\" är inte ett portabelt kodningsnamn"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "två olika teckenuppsättningar \"%s\" och \"%s\" i infilen"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "infilen \"%s\" saknar en huvudrad som anger teckenuppsättning"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2522,19 +2724,19 @@ msgid ""
msgstr ""
"domän \"%s\" i infil \"%s\" saknar en huvudrad som anger teckenuppsättning"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "målteckenuppsättning \"%s\" är inte ett portabelt kodningsnamn"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "varning: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2543,7 +2745,7 @@ msgstr ""
"Infiler har meddelanden med flera kodningar, däribland UTF-8.\n"
"Konverterar resultatet till UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2555,7 +2757,7 @@ msgstr ""
"Konverterar resultatet till UTF-8.\n"
"Använd flaggan --to-code för att välja en annan kodning.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2569,7 +2771,7 @@ msgstr ""
"eller se till att de är UTF-8-kodade från början, d.v.s. redan i dina\n"
"källkodsfiler.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2582,12 +2784,12 @@ msgstr ""
"Resultatet för \"%s\" kan bli felaktigt.\n"
"Möjliga sätt att komma runt problemet är:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Sätt LC_ALL till en lokal med kodning %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2598,7 +2800,7 @@ msgstr ""
" tillämpa därefter \"%s\",\n"
" konvertera sedan tillbaka till %s med \"msgconv\".\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2611,7 +2813,7 @@ msgstr ""
" tillämpa därefter \"%s\"\n"
" konvertera sedan tillbaka till %s med \"msgconv\".\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2622,74 +2824,74 @@ msgstr ""
"Resultatet för \"%s\" kan bli felaktigt.\n"
"Ett möjligt sätt att komma runt problemet är att sätta LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "pluraluttryck kan producera negativa värden"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu men pluraluttryck kan ge värden upp till %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "pluraluttryck kan ge division med noll"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "pluraluttryck kan ge heltalsspill"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr "pluraluttryck kan ge aritmetiska fel, möjligen division med noll"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Försök använda den här, gäller för \"%s\":"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "meddelandekatalog har översättningar med pluralform"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "men huvudrader saknar attribut av typ \"plurals=UTTRYCK\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "men huvudrader saknar ett attribut av typ \"nplurals=HELTAL\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "ogiltigt värde för nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "ogiltigt pluraluttryck"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "men några meddelanden har bara en pluralform"
msgstr[1] "men några meddelanden har bara %lu pluralformer"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "men några meddelanden har en pluralform"
msgstr[1] "men några meddelanden har %lu pluralformer"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2697,74 +2899,90 @@ msgstr ""
"meddelandekatalog har översättningar med pluralformer, men saknar huvudrad "
"med \"Plural-Forms: nplurals=HELTAL; plural=UTTRYCK;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "\"msgid\"- och \"msgid_plural\"-raderna börjar inte båda med \"\\n\""
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "\"msgid\"- och \"msgstr[%u]\"-raderna börjar inte båda med \"\\n\""
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "\"msgid\"- och \"msgstr\"-raderna börjar inte båda med \"\\n\""
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "\"msgid\"- och \"msgid_plural\"-raderna slutar inte båda med \"\\n\""
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "\"msgid\"- och \"msgstr[%u]\"-raderna slutar inte båda med \"\\n\""
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "\"msgid\"- och \"msgstr\"-raderna slutar inte båda med \"\\n\""
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "hantering av plural är en utökning i GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr saknar märket \"%c\" för tangentkortkommandon"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr har för många märken \"%c\" för tangentkortkommandon"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "huvudrad \"%s\" har kvar initialt standardvärde\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "huvudrad \"%s\" saknas i huvudet\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: indata är inte giltig i teckenkodningen \"%s\""
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: fel uppstod vid konvertering från teckenuppsättning \"%s\" till "
"teckenuppsättning \"%s\""
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "infilen saknar en huvudrad som anger teckenuppsättning"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2773,7 +2991,7 @@ msgstr ""
"Kan inte konvertera från \"%s\" till \"%s\". %s beror på iconv()\n"
"och iconv() stöder inte denna konvertering."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2782,8 +3000,8 @@ msgstr ""
"Konvertering från \"%s\" till \"%s\" ger duplikat: några msgid som skiljer "
"sig blir lika."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2792,16 +3010,16 @@ msgstr ""
"Kan inte konvertera från \"%s\" till \"%s\". %s beror på iconv().\n"
"Denna version byggdes utan iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s är endast giltig med %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "säkerhetskopieringstyp"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2824,19 +3042,19 @@ msgstr ""
"dock bevaras punktkommentarer och filpositioner. Om en exakt likhet\n"
"inte kan hittas används luddig jämförelse för att ge bättre resultat.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr ""
" def.po översättningar som refererar till gamla "
"källkoden\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot referenser till den nya källkoden\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2845,7 +3063,7 @@ msgstr ""
" -C, --compendium=FIL ytterligare kataloger med översättningar,\n"
" kan anges flera gånger\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2854,27 +3072,27 @@ msgstr ""
" -U, --update uppdatera def.po,\n"
" gör ingenting om def.po redan är aktuell\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Plats för utfil i uppdateringsläge:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Resultatet skrivs tillbaka till def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=KONTROLL gör en säkerhetskopia av def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFFIX använd ett annat suffix än det vanliga\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2893,7 +3111,7 @@ msgstr ""
"annars\n"
" simple, never gör alltid enkla säkerhetskopior\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2903,7 +3121,7 @@ msgstr ""
"Suffix för säkerhetskopior är \"~\", om den inte sätts med --suffix eller\n"
"miljövariabeln SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2911,22 +3129,22 @@ msgstr ""
" --previous behåll föregående \"msgid\" för översatta "
"meddelanden\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent visa inte förloppsindikatorer\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "detta meddelande ska definiera pluralformer"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "detta meddelande ska inte definiera pluralformer"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2935,29 +3153,29 @@ msgstr ""
"%sLäste %ld gamla + %ld referenser, %ld sammanslagna, %ld luddiga, %ld "
"saknade, %ld föråldrade.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " klar.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s och explicita filnamn är ömsesidigt uteslutande"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Användning: %s [FLAGGA] [FIL]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Konvertera en binär meddelandekatalog till en .po-fil av Uniforum-typ\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2966,12 +3184,12 @@ msgstr ""
" -j, --java Javaläge: indata är en Java ResourceBundle-"
"klass\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C#-läge: indata är en .NET .dll-fil\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2980,7 +3198,7 @@ msgstr ""
" --csharp-resources C#-resursläge: indata är en .NET .resources-"
"fil\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -2988,17 +3206,17 @@ msgstr ""
" --tcl Tcl-läge: indata är en .msg-fil av tcl/msgcat-"
"typ\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " FIL ... .mo-infiler\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Plats för infil i Javaläge:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3008,12 +3226,12 @@ msgstr ""
"Klassnamnet härleds genom att lägga till lokalnamnet till resursnamnet\n"
"avskiljt med ett understreck. Klassen söks med hjälp av CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Plats för infil i C#-läge:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3023,12 +3241,12 @@ msgstr ""
"underkatalog\n"
"till den givna katalogen. Underkatalogens namn beror på lokalen.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Plats för infil i Tcl-läge:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3037,17 +3255,17 @@ msgstr ""
"Flaggorna -l och -d är obligatoriska. .msg-filen ligger i den givna\n"
"katalogen.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent indentera resultatet\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict strikt Uniforum-format på resultatet\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3069,12 +3287,12 @@ msgstr ""
"översättningen. Filpositioner samlas ihop.\n"
"När flaggan --unique anges kastas duplikat bort.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated skriv bara duplicerade meddelanden\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3082,7 +3300,7 @@ msgid ""
msgstr ""
" -u, --unique skriv bara unika meddelanden, duplikat kastas\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<standard in>"
@@ -3139,32 +3357,32 @@ msgstr ""
"Meddelandekonvertering till användarens teckenuppsättning kommer att "
"misslyckas.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "inkonsekvent användning av #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "\"msgstr[]\"-delen saknas"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "\"msgid_plural\"-delen saknas"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "\"msgstr\"-delen saknas"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "första pluralformen har index som inte är noll"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "pluralform har fel index"
@@ -3174,7 +3392,7 @@ msgstr "pluralform har fel index"
msgid "too many errors, aborting"
msgstr "för många fel, avbryter körningen"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "ogiltig flerbytesekvens"
@@ -3218,65 +3436,84 @@ msgstr "radslut inne i en sträng"
msgid "context separator <EOT> within string"
msgstr "kontextseparator <EOT> inne i sträng"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "denna fil kan inte innehålla domändirektiv"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "meddelandedefinitionen är dubblerad"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "detta är platsen för den första definitionen"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "varning: ogiltigt Unicodetecken"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "filternamn saknas"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "ogiltigt värde för nplurals"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "filen \"%s\" är avkortad"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "filen \"%s\" innehåller en sträng som inte avslutas med nolltecknet"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "filen \"%s\" är inte på GNUs .mo-format"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
"filen \"%s\" innehåller en sträng som inte avslutas med nolltecknet vid %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "varning: ogiltig \\uxxxx-syntax för Unicodetecken"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "varning: oavslutad sträng"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "varning: syntaxfel"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "varning: oavslutat nyckel/värde-par"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "varning: syntaxfel, \";\" förväntades efter sträng"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "varning: syntaxfel, \"=\" eller \";\" förväntades efter sträng"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Skrivet av %s och %s.\n"
@@ -3285,16 +3522,16 @@ msgstr "Skrivet av %s och %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Omkoda serbisk text från kyrillisk till latinsk kodning.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3303,29 +3540,29 @@ msgstr ""
"Indatatexten läses från standard in. Den konverterade texten skrivs till\n"
"standard ut.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "indata är inte giltig i teckenkodningen \"%s\""
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"fel uppstod vid konvertering från teckenuppsättning \"%s\" till "
"teckenuppsättning \"%s\""
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "förväntade två argument"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Användning: %s [FLAGGA] URL FIL\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3334,37 +3571,37 @@ msgstr ""
"Hämtar och skriver ut innehållet på URL. Om URL inte kan hämtas används\n"
"den lokala filen FIL istället.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "fel uppstod då \"%s\" lästes"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "fel vid skrivning till standard ut"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "fel efter \"%s\" lästes"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "Hämtar %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " tiden tog slut.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " misslyckades.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3372,7 +3609,7 @@ msgstr ""
"Kan inte skriva ut flera översättningsdomäner till en enstaka fil med det "
"angivna resultatformatet. Försök använda PO-filsyntax istället."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3380,7 +3617,7 @@ msgstr ""
"Kan inte skriva ut flera översättningsdomäner till en enstaka fil med det "
"angivna resultatformatet."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3388,7 +3625,7 @@ msgstr ""
"meddelandekatalog har kontextberoende översättningar, men resultatformatet "
"stöder inte dem."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3398,7 +3635,7 @@ msgstr ""
"stöder inte dem. Försök generera en Java-klass med \"msgfmt --java\"\n"
"istället för en \"properties\"-fil."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3406,12 +3643,12 @@ msgstr ""
"meddelandekatalog har översättningar med pluralformer, men utdataformatet "
"stöder inte pluralhantering."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "kan inte skapa utfilen \"%s\""
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standard ut"
@@ -3430,39 +3667,40 @@ msgstr "kompilering av C#-klass misslyckades, försök med --verbose"
msgid "compilation of C# class failed"
msgstr "kompilering av C#-klass misslyckades"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "fel uppstod när \"%s\" öppnades för skrivning"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "inte ett giltigt Javaklassnamn: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"kompilering av Javaklass misslyckades, försök med --verbose eller sätt $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "kompilering av Javaklass misslyckades, försök sätta $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "fel uppstod när \"%s\" öppnades för skrivning"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "ofullständig flerbytesekvens"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr ""
"internationaliserade meddelanden bör inte ha kontrollsekvensen \"\\%c\""
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3475,7 +3713,7 @@ msgstr ""
"teckenuppsättning än du. Försök använda en ren ASCII-msgctxt istället.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3488,7 +3726,7 @@ msgstr ""
"teckenuppsättning än du. Försök använda en ren ASCII-msgid istället.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3496,7 +3734,7 @@ msgstr ""
"meddelandekatalog har översättningar med pluralformer men formatet för\n"
"Qt-meddelandekataloger stöder inte pluralhantering\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3507,7 +3745,7 @@ msgstr ""
"men formatet för meddelandekataloger i Qt stöder Unicode endast i de\n"
"översatta strängarna, inte i kontextsträngarna.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3517,12 +3755,12 @@ msgstr ""
"men formatet för meddelandekataloger i Qt stöder Unicode endast i de\n"
"översatta strängarna, inte i de oöversatta strängarna\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "fel vid skrivning till barnprocess %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3530,7 +3768,7 @@ msgstr ""
"meddelandekatalog har kontextberoende översättningar men formatet för\n"
"C# .resources stöder inte kontexter\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3538,7 +3776,7 @@ msgstr ""
"meddelandekatalog har översättningar med pluralformer men formatet för\n"
"C# .resources stöder inte pluralhantering\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3546,7 +3784,7 @@ msgstr ""
"meddelandekatalog har kontextberoende översättningar men formatet för\n"
"Tcl-meddelandekataloger stöder inte kontexter\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3554,36 +3792,36 @@ msgstr ""
"meddelandekatalog har översättningar med pluralformer men formatet för\n"
"Tcl-meddelandekataloger stöder inte pluralhantering\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: varning: oavslutad sträng"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: varning: oavslutat reguljärt uttryck"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "varning: ogiltigt Unicodetecken"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: varning: oavslutad teckenkonstant"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: varning: oavslutad sträng"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Ange källkodning med --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3592,7 +3830,7 @@ msgstr ""
"%s:%d: Ogiltig multibytesekvens.\n"
"Ange korrekt källkodning med --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3602,7 +3840,7 @@ msgstr ""
"Ange korrekt källkodning med --from-code.\n"
"\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3612,7 +3850,7 @@ msgstr ""
"Ange korrekt källkodning med --from-code.\n"
"\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3621,12 +3859,12 @@ msgstr ""
"%s:%d: Ofullständig multibytesekvens vid radslut.\n"
"Ange korrekt källkodning med --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv misslyckades"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3636,279 +3874,75 @@ msgstr ""
"Ange korrekt källkodning med --from-code.\n"
"\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: varning: ogiltigt Unicodetecken"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: varning: oavslutad strängkonstant"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: varning: \")\" hittades där \"}\" förväntades"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: varning: \"}\" hittades där \")\" förväntades"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Kontext saknas för strängen extraherad från element \"%s\""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Rotelementet <%s> är inte tillåten i en giltig Glade-fil"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Språk \"glade\" stöds ej. %s beror på expat.\n"
-"Denna version byggdes utan expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: varning: ensamt surrogat U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Ange källkodning med --from-code\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ogiltig multibytesekvens.\n"
-"Ange korrekt källkodning med --from-code\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Lång ofullständig multibytesekvens.\n"
-"Ange korrekt källkodning med --from-code\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ofullständig multibytesekvens vid filslut.\n"
-"Ange korrekt källkodning med --from-code\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ofullständig multibytesekvens vid radslut.\n"
-"Ange korrekt källkodning med --from-code\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ogiltig multibytesekvens.\n"
-"Ange korrekt källkodning med --from-code\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: varning: RegExp-uttryck avslutas för tidigt"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: varning: %s tillåts inte"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: varning: oavslutad XML-tagg."
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: hittar inte strängslutet \"%s\" någonstans före filslut"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: höger krullparentes fattas i \\x{HEXNUMMER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: ogiltig sekvens (\"\\l\") för åttabitarstecknet \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: ogiltig sekvens (\"\\u\") för åttabitarstecknet \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: ogiltig variabelinterpolation vid \"%c\""
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: ogiltig sekvens (\"\\L\") för åttabitarstecknet \"%c\""
-
-#: src/x-perl.c:1247
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: ogiltig sekvens (\"\\U\") för åttabitarstecknet \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"Ange källkodning med --from-code eller med en kommentar enligt\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+"%s är inte ett giltigt kodningsnamn. Använder ASCII som reservalternativ\n"
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ogiltig multibytesekvens.\n"
-"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+#: src/xgettext.c:648
+#, fuzzy, c-format
+msgid "syntax check '%s' unknown"
+msgstr "språket \"%s\" okänt"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: Lång ofullständig multibytesekvens.\n"
-"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Ofullständig multibytesekvens vid filslut.\n"
-"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+"--join-existing kan inte användas då resultatet skrivs till standard ut"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ofullständig multibytesekvens vid radslut.\n"
-"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext måste ha nyckelord att söka efter för att fungera"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Ogiltig multibytesekvens.\n"
-"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Okänd kodning \"%s\". Fortsätter med ASCII istället."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: ogiltig strängdefinition"
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d fattas tal efter #"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: ogiltigt strängmönster"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: varning: syntaxen $\"...\" kommer att tas bort av säkerhetsskäl; "
-"använd eval_gettext istället"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: varning: reguljärt uttryck avslutas för tidigt"
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-"%s är inte ett giltigt kodningsnamn. Använder ASCII som reservalternativ\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing kan inte användas då resultatet skrivs till standard ut"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext måste ha nyckelord att söka efter för att fungera"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "varning: filtyp \"%s\" med suffix \"%s\" är okänd; försöker med C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Extrahera översättbara strängar från givna infiler.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3917,23 +3951,23 @@ msgstr ""
" -d, --default-domain=NAMN använd NAMN.po som utfil (i st.f. messages."
"po) \n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FIL skriv resultatet till FIL\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=KATALOG utfiler placeras i katalogen KATALOG\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Språkval i infiler:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3954,19 +3988,19 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ samma som --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "I normalläge gissas språket från filändelsen på infilen.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3975,23 +4009,23 @@ msgstr ""
" --from-code=NAMN kodning av infiler\n"
" (utom för Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Normalt antas att filer är i ASCII-format.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing slå ihop meddelanden med existerande fil\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FIL.po rader från FIL tas inte ut\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4007,17 +4041,33 @@ msgstr ""
"nyckelordsrader\n"
" till resultatet\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Språkspecifika val:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all extrahera alla strängar\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4032,7 +4082,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4047,7 +4097,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4057,7 +4107,7 @@ msgstr ""
" --flag=ORD:NR:FLAGGA extra FLAGGA för strängar inne i argument\n"
" nummer NR för nyckelord ORD\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4072,73 +4122,83 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs hantera ANSI C treteckenssekvenser i infiler\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (bara språken C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt känn igen Qt-formatsträngar\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (bara språket C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde känn igen KDE 4 formatsträngar\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost känn igen Boost-formatsträngar\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug mer detaljerad igenkänning av formatsträngar\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output skriv en \"Java .properties\"-fil\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " -f, --files-from=FIL läs lista av infiler från FIL\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent indentera resultatet\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=STRÄNG sätt copyrightinnehavare i resultatet\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr ""
" --foreign-user utelämna FSF copyrighttext i resultatet\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PAKET sätt paketnamn i utdata\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION sätt paketversion i utdata\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4146,7 +4206,7 @@ msgstr ""
" --msgid-bugs-address=EPOST@ADRESS sätt mottagare för msgid-"
"felrapporter\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4156,7 +4216,7 @@ msgstr ""
" -m[STRÄNG], --msgstr-prefix[=STRÄNG] inled översatta strängar med STRÄNG "
"eller \"\"\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4166,7 +4226,7 @@ msgstr ""
" -M[STRÄNG], --msgstr-suffix[=STRÄNG] avsluta översatta strängar med "
"STRÄNG eller \"\"\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4174,31 +4234,31 @@ msgid ""
msgstr ""
"Ett \"--flag\"-argument har inte <ord>:<nummer>:[pass-]<flagga> syntax: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standard in"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Icke-ASCII-tecken vid %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Icke-ASCII-kommentar vid eller före %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Icke-ASCII-sträng vid %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: varning: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4207,7 +4267,7 @@ msgstr ""
"%s är inte en giltig formatsträng för %s trots att den används i en "
"formatsträngsposition. Orsak: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4216,7 +4276,7 @@ msgstr ""
"%s är inte en giltig formatsträng för %s trots att den är deklarerad som en. "
"Orsak: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4230,7 +4290,7 @@ msgstr ""
"Överväg att istället använda en formatsträng med namngivna argument\n"
"och en mappning istället för en lista för argumenten.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4240,27 +4300,27 @@ msgstr ""
"gettext(\"\") returnerar huvudet med metainformation,\n"
"inte den tomma strängen.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "tvetydig argumentspecifikation för nyckelord \"%.*s\""
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "varning: kontext saknas för nyckelordet \"%.*s\""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "varning: kontext saknas för pluralargumentet till nyckelordet \"%.*s\""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "kontext misstämmer mellan singular- och pluralformen"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4272,11 +4332,349 @@ msgstr ""
"på variabeln MSGID_BUGS_ADDRESS där, annars ange\n"
"flaggan --msgid-bugs-address på kommandoraden.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "språket \"%s\" okänt"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: varning: ensamt surrogat U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Ange källkodning med --from-code\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ogiltig multibytesekvens.\n"
+"Ange korrekt källkodning med --from-code\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Lång ofullständig multibytesekvens.\n"
+"Ange korrekt källkodning med --from-code\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ofullständig multibytesekvens vid filslut.\n"
+"Ange korrekt källkodning med --from-code\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ofullständig multibytesekvens vid radslut.\n"
+"Ange korrekt källkodning med --from-code\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ogiltig multibytesekvens.\n"
+"Ange korrekt källkodning med --from-code\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: varning: RegExp-uttryck avslutas för tidigt"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: varning: %s tillåts inte"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: varning: oavslutad XML-tagg."
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: hittar inte strängslutet \"%s\" någonstans före filslut"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: höger krullparentes fattas i \\x{HEXNUMMER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: ogiltig sekvens (\"\\l\") för åttabitarstecknet \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: ogiltig sekvens (\"\\u\") för åttabitarstecknet \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: ogiltig variabelinterpolation vid \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: ogiltig sekvens (\"\\L\") för åttabitarstecknet \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: ogiltig sekvens (\"\\U\") för åttabitarstecknet \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Ange källkodning med --from-code eller med en kommentar enligt\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ogiltig multibytesekvens.\n"
+"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Lång ofullständig multibytesekvens.\n"
+"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ofullständig multibytesekvens vid filslut.\n"
+"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ofullständig multibytesekvens vid radslut.\n"
+"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ogiltig multibytesekvens.\n"
+"Ange korrekt källkodning med --from-code eller med en kommentar enligt\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Okänd kodning \"%s\". Fortsätter med ASCII istället."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: ogiltig strängdefinition"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d fattas tal efter #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: ogiltigt strängmönster"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: varning: syntaxen $\"...\" kommer att tas bort av säkerhetsskäl; "
+"använd eval_gettext istället"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: varning: reguljärt uttryck avslutas för tidigt"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<utan namn>"
+
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "ogiltig kontrollsekvens"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "inte ett giltigt Javaklassnamn: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "inte ett giltigt Javaklassnamn: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "ogiltig kontrollsekvens"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "ogiltig byteordning: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "ogiltigt argument %s för %s"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "filternamn saknas"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Kontext saknas för strängen extraherad från element \"%s\""
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Språk \"glade\" stöds ej. %s beror på expat.\n"
+#~ "Denna version byggdes utan expat.\n"
diff --git a/gettext-tools/po/tr.gmo b/gettext-tools/po/tr.gmo
index 447e0d6..5c24989 100644
--- a/gettext-tools/po/tr.gmo
+++ b/gettext-tools/po/tr.gmo
Binary files differ
diff --git a/gettext-tools/po/tr.po b/gettext-tools/po/tr.po
index b54c462..0e0c080 100644
--- a/gettext-tools/po/tr.po
+++ b/gettext-tools/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.16\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2007-07-09 09:21+0300\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -55,40 +55,40 @@ msgstr "geçici dizin %s silinemiyor"
msgid "write error"
msgstr "yazma hatası"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, fuzzy, c-format
msgid "error while opening %s for reading"
msgstr "\"%s\" okunmak için açılırken hata"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, fuzzy, c-format
msgid "cannot open backup file %s for writing"
msgstr "\"%s\" yedek dosyası yazılmak için açılırken hata"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, fuzzy, c-format
msgid "error reading %s"
msgstr "\"%s\" okunurken hata"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, fuzzy, c-format
msgid "error writing %s"
msgstr "\"%s\" yazılırken hata"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, fuzzy, c-format
msgid "error after reading %s"
msgstr "\"%s\" okunduktan sonra hata"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() başarısız"
@@ -114,58 +114,63 @@ msgstr "Bilinmeyen sistem hatası"
msgid "%s subprocess failed"
msgstr "%s alt süreci başarısız"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: `%s' seçeneği belirsiz\n"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: `%s' seçeneği belirsiz\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' seçeneği argümansız kullanılır\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: `%c%s' seçeneği argümansız kullanılır\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: `--%s' seçeneği bilinmiyor\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: geçersiz seçenek -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: seçenek için bir argüman gerekli -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' seçeneği belirsiz\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' seçeneği bir argümanla kullanılmaz\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
@@ -181,15 +186,16 @@ msgstr "compile_java_class'ın source_version argümanı geçersiz"
msgid "invalid target_version argument to compile_java_class"
msgstr "compile_java_class'ın target_version argümanı geçersiz"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "\"%s\" oluşturulamadı"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "\"%s\" dosyasına yazarken hata"
@@ -207,15 +213,15 @@ msgstr ""
"Java sanal makinası bulunamadı,\n"
"ya gij kurun ya da $JAVA deÄŸiÅŸkenini belirleyin"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s alt süreci G/Ç hatası"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "bellek tükendi"
@@ -226,7 +232,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "%s alt sürecine yazılamadı"
@@ -272,11 +278,11 @@ msgstr "%s alt süreci %d çıkış kodu ile sonlandırıldı"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -312,52 +318,192 @@ msgstr "%s alt süreci"
msgid "%s subprocess got fatal signal %d"
msgstr "%s alt süreci ölümcül sinyal %d aldı"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "\"%s\" okunmak için açılırken hata"
+msgid "The root element must be <%s>"
+msgstr ""
-#: src/format.c:151
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
#, fuzzy, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "'%s', 'msgid' gibi geçerli bir %s biçem dizgesi değil. Sebebi: %s"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Daha fazla bilgilendirilmek için `%s --help' yazınız.\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Kullanımı: %s [SEÇENEK] [DOSYA]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Uzun seçeneklerdeki zorunlu argümanlar kısa seçeneklerde de zorunludur.\n"
+"Benzer durum seçimlik argümanlar içinde geçerlidir.\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help bu yardım iletisini gösterir ve çıkar\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help bu yardım iletisini gösterir ve çıkar\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version Sürüm bilgilerini gösterir ve çıkar\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Yazılım hatalarını <bug-gnu-utils@gnu.org> adresine,\n"
+"Çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "%s tarafından yazıldı.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "geçici dizin %s silinemiyor"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "\"%s\" okunmak için açılırken hata"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
"'%2$s' içindeki %1$u.argüman için bir biçem belirteci 'msgid' içinde yok"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "%u. argüman için '%s' içinde bir biçem belirteci yok"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "`msgid' ve '%s' girdilerindeki biçem belirteçleri %u için aynı değil"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "%u numaralı yönerge | ile başlıyor ama | ile bitmiyor."
-#: src/format-c.c:36
+#: src/format.c:152
+#, fuzzy, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "'%s', 'msgid' gibi geçerli bir %s biçem dizgesi değil. Sebebi: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -367,63 +513,63 @@ msgstr ""
"makronun ismi ile aynı değil. Geçerli makro isimleri ISO C 99 bölüm 7.8.1'de "
"listelenmiÅŸtir."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"%u numaralı yönergede, '<' işaretinden sonraki dizgecikten sonra '>' "
"gelmiyor."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Dizge %u numaralı argümana karşılık değil, %u numaralı argüman yok sayılıyor."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "`msgid' ve '%s' girdilerindeki biçem belirteçleri farklı sayıda"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
"%u numaralı yönergede, '{' ayracından sonra bir argüman numarası gelmiyor."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "%u numaralı yönergede, ',' ayracından sonra bir sayı gelmiyor."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"Dizge yönergenin ortasında bitiyor: Eşleşmeyen '{' ve '}' ayraçları bulundu."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"%u numaralı yönerge '}' ile değil, geçersiz '%c' karakteri ile bitiyor."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "%u numaralı yönerge '}' ile değil, geçersiz bir karakterle bitiyor."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
"Dizge yönergenin ortasında başlıyor: eşleşmeyen '}' ve '{' ayraçları bulundu."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Dizge, %u yönerge numarasının hemen ardından gelen bir '}' içeriyor."
@@ -540,7 +686,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "Dizge, %u numaralı argümana uygun olmayan bir yolla karşılık geliyor."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -549,19 +695,19 @@ msgstr ""
"%u numaralı yönergede, \"%s\" altdizgesi geçerli bir tarih/zaman biçemi "
"deÄŸil."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "%u numaralı yönergede, \"%s\" den sonra virgül gelmiyor."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr ""
"%u numaralı yönergede, \"%s\" altdizgesi geçerli bir sayı biçemi değil."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -570,12 +716,12 @@ msgstr ""
"%u numaralı yönergede, argüman numarasından sonra bir virgül ve \"%s\" veya "
"\"%s\" veya \"%s\" veya \"%s\" gelmeliydi."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "%u numaralı yönergede, bir seçim numara içermiyor."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -584,25 +730,46 @@ msgstr ""
"%u numaralı yönergede, bir seçim kendisinden sonra '<', '#' veya '%s' "
"gelmeyen bir numara içeriyor."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"'%2$s' içindeki {%1$u}. argüman için bir biçem belirteci 'msgid' içinde yok"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "{%u}.argüman için '%s' içinde bir biçem belirteci yok"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "`msgid' ve '%s' girdilerindeki biçem belirteçleri {%u} için aynı değil"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Dizge %u numaralı argümana karşılık değil, %u numaralı argüman yok sayılıyor."
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"'%2$s' içindeki %1$u.argüman için bir biçem belirteci 'msgid' içinde yok"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "\"%s\" okunurken hata"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -612,7 +779,7 @@ msgstr ""
"%u numaralı yönergede, %u parametresi '%s' türünde, '%s' türünde bir "
"parametre bekleniyordu."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -627,33 +794,33 @@ msgstr[1] ""
"%u numaralı yönergede, çok fazla parametre verilmiş; en fazla %u parametre "
"umuluyordu."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "%u numaralı yönergede, '%c' den sonra bir rakam gelmiyor."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "%u numaralı yönergede, %d. argüman negatif."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "Dizge, bir ~/.../ yönergesinin ortasında bitiyor."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "'~%2$c' ile eÅŸleÅŸmeyen '~%1$c' bulundu."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "%u numaralı yönergede, hem @ hem de : değiştiricileri verilmiş."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -662,27 +829,33 @@ msgstr ""
"%u numaralı yönergede, '~:[' yönergesinden sonra '~;' ile ayrılmış iki "
"cümle gelmiyor."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "%u numaralı yönergede, '~;' geçersiz bir konumda kullanılmış."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "Dizge bazı argümanlara uyumsuz bir yolla karşılık getirilmiş."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "`msgid' ve '%s' girdilerindeki biçem belirteçleri aynı değil"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"'%s' içindeki biçem belirteçleri 'msgid' içindekilerin bir alt kümesi değil"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "'%s' için '%s' içinde bir biçem belirteci yok"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -691,14 +864,34 @@ msgstr ""
"%u numaralı yönergede, boyut belirteci '%c' dönüşüm belirtimi ile uyumlu "
"deÄŸil."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "'%s' için '%s' içinde bir biçem belirteci yok"
+#: src/format-python-brace.c:138
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "%u numaralı yönergede, '%c' den sonra bir rakam gelmiyor."
-#: src/format-python.c:115
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"%u numaralı yönergede, '{' ayracından sonra bir argüman numarası gelmiyor."
+
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "%u numaralı yönergede, '%c' den sonra bir rakam gelmiyor."
+
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "%u numaralı yönergede, '%c' den önce bir hassasiyet olmamalı."
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "%u numaralı yönergede, %d. argüman negatif."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -706,12 +899,12 @@ msgstr ""
"Dizge hem argüman isimlerine hem de numarasız argüman belirtimlerine "
"karşılık geliyor."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "Dizge '%s' isimli argümana uyumsuz bir yolla karşılık getirilmiş."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -719,7 +912,7 @@ msgstr ""
"`msgid' içindeki biçem belirteçleri ile bir eşlem umulurken '%s' "
"içindekilerle bir işlem umuluyor"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -727,57 +920,30 @@ msgstr ""
"`msgid' içindeki biçem belirteçleri ile bir işlem umulurken '%s' "
"içindekilerle bir eşlem umuluyor"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "'%2$s' içinde '%1$s' için 'msgid' içinde bir biçem belirteci yok"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "'%2$s' için biçem belirteci 'msgid' ve '%1$s' içinde aynı değil"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "%u numaralı yönergede, '%c' den sonra bir rakam gelmiyor."
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"%u numaralı yönergede, '{' ayracından sonra bir argüman numarası gelmiyor."
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "%u numaralı yönergede, '%c' den sonra bir rakam gelmiyor."
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "%u numaralı yönergede, '%c' den önce bir hassasiyet olmamalı."
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "%u numaralı yönergede, %d. argüman negatif."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "Dizge, ASCII olmayan karakter içeren bir kabuk değişkeni."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -785,7 +951,7 @@ msgstr ""
"Dizge, kabuğun kaşlı ayraç sözdizimli bir kabuk değişkenine karşılık. "
"Güvenlikle ilgili sebeplerden dolayı bu sözdizimi desteklenmiyor."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -793,11 +959,11 @@ msgstr ""
"Dizge, değeri kabuk işlevleri içinde farklı olabilen bir kabuk değişkenine "
"ait."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Dizge, isimsiz bir kabuk değişkenini gösteriyor."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
@@ -805,7 +971,7 @@ msgid ""
msgstr ""
"%u numaralı yönergede, '%c' karakteri 1 ile 9 arasında bir rakam değil."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
@@ -813,71 +979,40 @@ msgid ""
msgstr ""
"%u numaralı yönergeyi sonlandıran karakter 1 ile 9 arasında bir rakam değil."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "%s tarafından yazıldı.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "çok fazla argüman"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Daha fazla bilgilendirilmek için `%s --help' yazınız.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Kullanımı: %s [SEÇENEK]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "Makina ismini gösterir.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Çıktı biçemi:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short kısa konak ismi\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -887,79 +1022,103 @@ msgstr ""
" -f, --fqdn, --long uzun konak ismi; alan ismini ve rümuzları da\n"
" içerir\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address konak adresleri\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Bilgilendirme çıktısı:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help bu yardım iletisini gösterir ve çıkar\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "makina ismi alınamadı"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version Sürüm bilgilerini gösterir ve çıkar\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "en az iki dosya belirtilmelidir"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "veriyolu oluşturulamıyor"
+
+#: src/its.c:344
+#, c-format
+msgid "cannot evaluate XPath expression: %s"
msgstr ""
-"Yazılım hatalarını <bug-gnu-utils@gnu.org> adresine,\n"
-"Çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:614
#, c-format
-msgid "could not get host name"
-msgstr "makina ismi alınamadı"
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "argüman %s, %s için geçersiz"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "veriyolu oluşturulamıyor"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "\"%s\" çıktı dosyası oluşturulamıyor"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "en fazla bir girdi dosyasına izin var"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s ile %s bağdaşmıyor"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Kullanımı: %s [SEÇENEK] [GİRDİDOSYASI]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -968,33 +1127,33 @@ msgstr ""
"Çeviri kataloğundaki iletileri belirtilen özelliklere göre süzer,\n"
"ve özellikleri uygular.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Uzun seçeneklerdeki zorunlu argümanlar kısa seçenekler için de zorunludur.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Girdi dosyasının yeri:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " GİRDİDOSYASI girdi olan PO dosyası\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1002,30 +1161,31 @@ msgstr ""
" -D, --directory=DİZİN girdi dosyasının arandığı listeye DİZİNi "
"ekler\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "Bir DOSYA verilmemiÅŸse ya da - verilmiÅŸse standart girdi okunur.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Çıktı dosyasının yeri:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=DOSYA çıktıyı DOSYAya yazar\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1033,12 +1193,12 @@ msgid ""
msgstr ""
"Sonuçlar DOSYA verilmezse ya da - verilirse standart çıktıya yazılır.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "İleti seçimi:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
@@ -1046,7 +1206,7 @@ msgstr ""
" --translated çevrilmiş iletileri tutar çevrilmemişleri "
"siler\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1054,54 +1214,54 @@ msgstr ""
" --untranslated çevrilmemiş iletileri tutar çevrilmişleri "
"siler\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy 'fuzzy' imli iletileri siler\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy 'fuzzy' imli iletileri tutar\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete kullanımdışı olan #~ iletilerini siler\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete kullanımdışı olan #~ iletilerini tutar\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Nitelik deÄŸiÅŸtirme:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy tüm iletileri 'fuzzy' olarak imler\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy tüm 'fuzzy' imlerini kaldırır\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete tüm iletileri kullanımdışı yapar\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete kullanımdışı iletilerin tümünü kullanıma "
"sokar\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, fuzzy, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1109,7 +1269,7 @@ msgid ""
msgstr ""
" --previous çevrilmiş iletinin eski msgid'sini tutar\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1117,20 +1277,20 @@ msgid ""
msgstr ""
" --clear-previous tüm iletilerden eski msgid'ler kaldırılır\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --no-fuzzy 'fuzzy' imli iletileri siler\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=DOSYA.po sadece DOSYA.po içindeki girdileri değiştirir\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1138,29 +1298,29 @@ msgstr ""
" --ignore-file=DOSYA.po sadece DOSYA.po içinde bulunmayan girdileri\n"
" deÄŸiÅŸtirir\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy --only-fuzzy --clear-fuzzy ile eşanlamlı\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete --only-obsolete --clear-obsolete ile eşanlamlı\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Girdi dosyası sözdizimi:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1168,8 +1328,8 @@ msgstr ""
" -P, --properties-input girdi dosyası Java .properties "
"sözdizimindedir\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1178,17 +1338,17 @@ msgstr ""
" --stringtable-input NeXTstep/GNUstep .strings sözdizimli girdi "
"dosyası\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Çıktı ayrıntıları:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1197,16 +1357,16 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1214,9 +1374,9 @@ msgstr ""
" -e, --no-escape çıktıda C öncelemeleri kullanılmaz "
"(öntanımlı)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1225,28 +1385,28 @@ msgstr ""
"karakterler\n"
" yorumlanmaz\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po boş bile olsa PO dosyasını yazar\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent .po dosyasını girintili tarzda yazar\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location '#: dosyaismi:satır' satırları yazılmaz\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1254,25 +1414,25 @@ msgstr ""
" -n, --add-location '#: dosyaismi:satır' satırları üretilir\n"
" (öntanımlı\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict .po dosyasının bilinen biçeminde yazar.\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output çıktıyı bir Java .properties dosyasına yazar\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1280,16 +1440,16 @@ msgstr ""
" --stringtable-output çıktıyı bir NeXTstep/GNUstep .strings\n"
" dosyasına yazar\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=SAYI sayfa geniÅŸliÄŸini SAYIya ayarlar\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1298,31 +1458,31 @@ msgstr ""
" --no-wrap sayfa genişliğine sığmayan satırların taşan\n"
" kısmı bir alt satıra indirilmez\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output sıralı çıktı üretir\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file çıktıyı dosyadaki yerine göre sıralar\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "belirtilen seçim kriteri mümkün değil (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "Kullanımı: %s [SEÇENEK] [GİRDİDOSYASI]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1346,24 +1506,24 @@ msgstr ""
"korunur, belirtildiğinde bunlar ilk PO dosyasında belirtildiği şekliyle\n"
"alınır.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " GİRDİDOSYASI ... girdi dosyaları\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=DOSYA girdi dosyalarının listesi DOSYAdan alınır\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Girdi dosyası - ise, standart girdi okunur.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1372,7 +1532,7 @@ msgstr ""
" -<, --less-than=SAYI bu SAYIdan daha fazla olan iletileri basmaz,\n"
" belirtilmezse öntanımlı sonsuzdur.\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1381,7 +1541,7 @@ msgstr ""
" ->, --more-than=NUMBER bu SAYIdan daha az olan iletileri basmaz,\n"
" belirtilmezse öntanımlı 0 dır.\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1390,8 +1550,8 @@ msgstr ""
" -u, --unique --less-than=2 için kısaltmadır, sadece\n"
" eşi olmayan iletiler basılır\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1399,8 +1559,8 @@ msgstr ""
" -P, --properties-input girdi dosyaları Java .properties "
"sözdizimlidir\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1409,12 +1569,12 @@ msgstr ""
" --stringtable-input NeXTstep/GNUstep .strings sözdizimli girdi\n"
" dosyaları\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=İSİM çıktı için kodlama\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1423,33 +1583,33 @@ msgstr ""
" --use-first her ileti için mevcut olan ilk kullanılır,\n"
" çok sayıda çeviri varsa bile alınmaz.\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "hiçbir girdi dosyası verilmemiş"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "tam olarak 2 girdi dosyası gerekli"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Kullanımı: %s [SEÇENEK] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1465,22 +1625,22 @@ msgstr ""
"ve çevirisini kontrol etmek için kullanışlıdır. Zorunlu eşleşme bulunamazsa,\n"
"belirsiz (fuzzy) eşleştirme yapılır.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po çeviriler\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot kaynaklara bağlantılar\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Ä°ÅŸlem deÄŸiÅŸtiriciler:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1488,65 +1648,65 @@ msgid ""
msgstr ""
" -m, --multi-domain ref.pot'u tüm def.po dosyalarına uygular\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching fuzzy eşleşmeler kullanılmaz\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy çıktıda fuzzy girdiler kullanılır\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr ""
" --use-untranslated çıktıda çevrilmemiş girdiler kullanılır\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "bu ileti çevrilmemiş"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "bu iletiyi çevirmenin gözden geçirmesi lazım"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "bu ileti kullanıldı ama tanımlı değil..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...ama bu tanımlama benzer"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "bu ileti kullanıldı ama %s'de tanımlı değil"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "uyarı: bu ileti kullanılmamış"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "%d ölümcül hata bulundu"
msgstr[1] "%d ölümcül hata bulundu"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "en az iki dosya belirtilmelidir"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1568,7 +1728,7 @@ msgstr ""
"çıkarma yorumları korunmuş olacaktır. Tüm PO dosyalarındaki dosya konumları\n"
"korunmuş olacaktır.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1577,42 +1737,42 @@ msgstr ""
" ->, --more-than=SAYI SAYIdan daha fazla olan iletileri basar,\n"
" verilmezse öntanımlı 1 dir\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, fuzzy, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header başlıktaki `msgid \"\"' girdisini yazmaz\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Bir çeviri kataloğunu başka bir karakter kodlamasına dönüştürür.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Dönüşüm hedefi:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Öntanımlı kodlama mevcut yerelin kodlamasıdır.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent girintili çıktı tarzı\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location '#: dosyaismi:satır' satırlarını engeller\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, fuzzy, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1620,28 +1780,28 @@ msgstr ""
" --add-location '#: dosyaismi:satır' satırları korunur\n"
" (öntanımlı)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict çıktı bilinen biçemde yazılır\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "hiç girdi dosyası verilmemiş"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "tam olarak 1 girdi dosyası gerekli"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Kullanımı: %s [SEÇENEK] GİRDİDOSYASI\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1654,22 +1814,22 @@ msgstr ""
"PO Şablon dosyasıdır. Çevirisiz girdilere msgid ile uyuşan bir çeviri\n"
"yerleÅŸtirilir ve fuzzy olarak imlenir.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " GİRDİDOSYASI PO ya da POT dosyası\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "komut ismi eksik"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Kullanımı: %s [SEÇENEK] KOMUT [KOMUT-SEÇENEĞİ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1684,7 +1844,7 @@ msgstr ""
"çıktısı olarak görünür. msgexec dönüş kodu olarak tüm çağrılardan\n"
"elde edilen en yüksek dönüş kodunu verir.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1693,37 +1853,47 @@ msgstr ""
"'0' özel bir yerleşik komuttur ve bir null bayt ile sonlanan çeviri\n"
"çıktılar. \"msgexec 0\"ın çıktısı \"xargs -0\"a girdi olarak elverişlidir.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "standart girdi"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help bu yardım iletisini gösterir ve çıkar\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=GİRDİDOSYASI PO dosyası\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "standart çıktıya yazılamadı"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "süzgeç ismi eksik"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "en az bir sed betiÄŸi belirtilmelidir"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Kullanımı: %s [SEÇENEK] SÜZGEÇ [SÜZGEÇ-SEÇENEĞİ]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Bir çeviri kataloğunun tüm çevirilerine bir süzgeç uygular.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1732,18 +1902,30 @@ msgstr ""
"SÜZGEÇ çeviriyi standart girdiden okuyabilen ve değiştirilmiş çeviriyi\n"
"standart çıktıya yazabilen herhangi bir programdır.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "SÜZGEÇ 'sed' iken kullanılan SÜZGEÇ-SEÇENEKleri:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=BETİK BETİK çalıştırılacak komutlara eklenir\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1753,14 +1935,14 @@ msgstr ""
" -f, --file=BETİK BETİK dosyasının içeriğini çalıştırılacak\n"
" komutlara ekler\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr ""
" -n, --quiet, --silent kalıp alanının otomatik basılmasını engeller\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1768,132 +1950,133 @@ msgstr ""
" --no-escape çıktıda C öncelemeleri kullanılmaz "
"(öntanımlı)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent girintili çıktı tarzı\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr " --keep-header başlık değiştirilmeden korunur\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "\"%s\" dosyası NUL sonlandırmalı olmayan bir dizge içeriyor"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "%s argümanı bir noktalama işareti olmalıydı"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "bayt sırası geçersiz: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, fuzzy, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "Bir DOSYA verilmemiÅŸse ya da - verilmiÅŸse standart girdi okunur.\n"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s bir \"-d dizin\" uygulanmasını gerektiriyor"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s bir \"-l yerel\" belirtilmesini gerektiriyor"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s bir \"-l yerel\" belirtilmesini gerektiriyor"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s bir \"-l yerel\" belirtilmesini gerektiriyor"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s ile %s bağdaşmıyor"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s sadece %s ya da %s ile geçerlidir"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s sadece %s, %s ya da %s ile geçerlidir"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "\"%s\" çıktı dosyası oluşturulamıyor"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d çevrilmiş ileti"
msgstr[1] "%d çevrilmiş ileti"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d belirsiz çeviri"
msgstr[1] ", %d belirsiz çeviri"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d çevrilmemiş ileti"
msgstr[1] ", %d çevrilmemiş ileti"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "Kullanımı: %s [SEÇENEK] dosyaismi.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Çevirilerin bulunduğu dosyadan ikilik ileti kataloğunu üretir.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Uzun seçeneklerdeki zorunlu argümanlar kısa seçeneklerde de zorunludur.\n"
-"Benzer durum seçimlik argümanlar içinde geçerlidir.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " DOSYAİSMİ.po ... girdi dosyaları\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Ä°ÅŸlem kipi:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1902,7 +2085,7 @@ msgstr ""
" -j, --java Java kipi: bir Java ResourceBundle sınıfı "
"üretir\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1912,13 +2095,13 @@ msgstr ""
"yüksek)\n"
" kabul edilir\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp C# kipi: bir .NET .dll dosyası üretilir\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1927,53 +2110,58 @@ msgstr ""
" --csharp-resources C# özkaynak kipi: bir .NET .resources dosyası\n"
" üretilir\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl kipi:bir tcl/msgcat .msg dosyası üretilir\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt kipi: bir Qt .qm dosyası üretir\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, fuzzy, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --qt Qt kipi: bir Qt .qm dosyası üretir\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt kipi: bir Qt .qm dosyası üretir\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict bilinen kip etkinleÅŸtirilir\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Çıktı dosyası - verilmişse, standard çıktı kullanılır.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Java kipinde çıktı dosyasının yeri:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=ÖZKAYNAK özkaynak ismi\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr " -l, --locale=YEREL yerel ismi, \"tr\" ya da \"tr_TR\"\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, fuzzy, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1981,13 +2169,13 @@ msgid ""
msgstr ""
" --tcl Tcl kipi: girdi bir tcl/msgcat .msg dosyasıdır\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d DİZİN sınıf ana dizini\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1998,12 +2186,12 @@ msgstr ""
"Sınıf ismi, özkaynak ismine yerel isminin bir altçizgi ile eklenmesiyle\n"
"saptanır. Sınıf DİZİNe yazılacağından -d seçeneği zorunludur.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "C# kipinde çıktı dosyasının yeri:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2011,7 +2199,7 @@ msgid ""
msgstr ""
" -d DİZİN yerele bağımlı .dll dosyaları için kök dizin\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2021,17 +2209,17 @@ msgstr ""
"belirlenen\n"
"dizinin bir altdizinine yazılır.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Tcl kipte çıktı dosyasının yeri:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr " -d DİZİN .msg ileti kataloglarının ana dizini\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2039,22 +2227,22 @@ msgid ""
msgstr ""
"-l ve -d seçenekleri zorunludur. .msg dosyası belirtilen dizine yazılır.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d DİZİN .msg ileti kataloglarının ana dizini\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, fuzzy, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2064,7 +2252,7 @@ msgstr ""
"öntanımlı\n"
" anahtar sözcükler kullanılmamalıdır)\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2072,12 +2260,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Girdi dosyası yorumlaması:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2088,13 +2291,13 @@ msgstr ""
"domain\n"
" için kısaltma\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format dile bağlı biçem dizgeleri kontrol edilir\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2103,7 +2306,7 @@ msgstr ""
" --check-header başlık girdilerilerinin varlığı ve içeriği\n"
" kontrol edilir\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2112,7 +2315,7 @@ msgstr ""
" --check-domain --output-file seçeneği ile paket yönergeleri\n"
" arasındaki çelişkiler kontrol edilir\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2120,7 +2323,7 @@ msgid ""
msgstr ""
" -C, --check-compatibility GNU msgfmt, X/Open msgfmt gibi mi davranıyor\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2130,19 +2333,19 @@ msgstr ""
" --check-accelerators[=KRKT] menü öğeleri için tuş belirticiler\n"
" kontrol edilir\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy çıktıda fuzzy girdiler kullanılır\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=SAYI dizgeleri SAYI bayta ayarlar (öntanımlı: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2151,97 +2354,96 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash ikilik dosya saçılma tablosunu içermeyecek\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr ""
" --statistics çeviriler hakkındaki istatistikleri basar\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose daha ayrıntılı çıktı verilir\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "uyarı: PO dosya başlığı ya yok ya da geçersiz\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "uyarı: Kullanıcının karakter kümesinde ileti dönüşümü yapılamayacak.\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "uyarı: PO dosya başlığı fuzzy\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "uyarı: msgfmt'ın eski sürümleri bu dosyada hata verecektir.\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "dosya ismi olarak paket ismi \"%s\" uygun deÄŸil"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "dosya ismi olarak paket ismi \"%s\" uygun değil: önek kullanılacak"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "`domain %s' yönergesi yoksayıldı"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "boş `msgstr' girdisi yoksayıldı"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "fuzzy `msgstr' girdisi yoksayıldı"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: uyarı: kaynak dosya fuzzy çeviriler içeriyor"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "\"%s\" okunurken hata"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2250,7 +2452,7 @@ msgstr ""
"'%c' seçeneği 'J', 'K', 'T', 'C' veya 'X' harflerinden biri belirtilmeden "
"önce kullanılamaz"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2259,7 +2461,7 @@ msgstr ""
"Verilen bir kalıp ile uyuşan ya da verilen kaynak dosyalarına ait olan\n"
"bir çeviri kataloğunun tüm iletilerini çıkarır.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2337,7 +2539,7 @@ msgstr ""
" -v, --invert-match sadece bir seçim kriteri ile eşleşmeyen iletiler\n"
" çıktılanır\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2346,12 +2548,12 @@ msgstr ""
"karakterler\n"
" yorumlanmaz\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output sıralı çıktı üretir\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file sıralama dosyanın yerine göre yapılır\n"
@@ -2453,14 +2655,14 @@ msgstr ""
"Lütfen girdi olarak kullanılacak .pot dosyasını --input seçeneği ile "
"belirtin.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s alt süreci çıkış kodu %d ile başarısız"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2475,28 +2677,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s paketi için Türkçe çeviriler"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "mevcut karakter kümesi \"%s\" kabul görmüş bir kodlama ismi değil"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "girdi dosyasında iki farklı karakter kümesi: \"%s\" ve \"%s\""
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "girdi dosyası `%s' başlığında bir karakter kümesi belirtilmemiş."
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2505,19 +2707,19 @@ msgstr ""
"\"%s\" paketi girdi dosyası `%s' başlığındaki charset alanında bir karakter\n"
"kümesi belirtilmemiş"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "hedef karakter kümesi \"%s\" kabul görmüş bir kodlama ismi değil."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "uyarı: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2526,7 +2728,7 @@ msgstr ""
"Girdi dosyası UTF-8 ile karışık farklı kodlamalar içeriyor.\n"
"Çıktı UTF-8'e dönüştürülüyor.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2538,7 +2740,7 @@ msgstr ""
"Çıktı UTF-8'e çevriliyor.\n"
"--to-code seçeneğini kullanarak başka bir kodlama da seçebilirsiniz.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2552,7 +2754,7 @@ msgstr ""
"dosyalarınızdaki gibi başından itibaren UTF-8 kodlanmış olmalarını "
"sağlayın.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2565,12 +2767,12 @@ msgstr ""
"'%s' çıktısı yanlış olabilir.\n"
"Yapılabilecekler:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- LC_ALL değişkenini %s kodlamasını kullanan bir yerele ayarlayın.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2581,7 +2783,7 @@ msgstr ""
" '%s' uyguladıktan sonra,\n"
" 'msgconv' kullanarak tekrar %s a dönün.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2594,7 +2796,7 @@ msgstr ""
" '%s' uyguladıktan sonra,\n"
" 'msgconv' kullanarak tekrar %s a dönün.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2605,75 +2807,75 @@ msgstr ""
"'%s' çıktısı yanlış olabilir.\n"
"Tek yapılabilecek LC_ALL=C ayarlamaktır.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "çoğul ifadeler negatif değerler üretebilir"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu ama çoğul ifadeler en çok %lu değer üretebilir"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "çoğul ifade sıfırla bölme hatası üretebilir"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "çoğul ifade tamsayı taşması üretebilir"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
"çoğul ifade aritmetik hatalar, özellikle de sıfırla bölme hatası üretebilir"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Aşağıdakiler %s için geçerli mi diye kullanmayı dene:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "ileti kataloğu çoğul çeviriler içeriyor"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "...ama başlıkta \"plural=İFADE\" gibi bir şey yok"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "...ama başlıkta \"nplurals=TAMSAYI\" gibi bir şey yok"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "nplurals değeri geçersiz"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "plural= ile verilen ifade geçersiz"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "...ama bazı iletiler tek çoğul biçem içeriyor"
msgstr[1] "...ama bazı iletiler sadece %lu çoğul biçem içeriyor"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "...ama bazı iletiler tek çoğul biçem içeriyor"
msgstr[1] "...ama bazı iletiler %lu çoğul biçem içeriyor"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2681,77 +2883,93 @@ msgstr ""
"ileti kataloğu çoğul çeviriler içermesine rağmen başlıkta\n"
"\"Plural-Forms: nplurals=TAMSAYI; plural=Ä°FADE;\" gibi bir ÅŸey yok."
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"`msgid' ve `msgid_plural' girdilerinin her ikisi de '\\n' ile başlamıyor"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "`msgid' ve `msgstr[%u]' girdilerinin her ikisi de '\\n' ile başlamıyor"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "`msgid' ve `msgstr' girdilerinin her ikisi de '\\n' ile başlamıyor"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "`msgid' ve `msgid_plural' girdilerinin her ikisi de '\\n' ile bitmiyor"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "`msgid' ve `msgstr[%u]' girdilerinin her ikisi de '\\n' ile bitmiyor"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "`msgid' ve `msgstr' girdilerinin her ikisi de '\\n' ile bitmiyor"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "çoğul biçemler bir GNU gettext özelliğidir"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "içinde '%c' tuş kısayolu eksik"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "çok fazla '%c' tuş kısayolu içeriyor"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "bazı başlık alanları hala öntanımlı ilk değere sahip\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "başlıkta `%s' başlık alanı yok\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: girdi \"%s\" kodlama için geçersiz"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: \"%s\" kodlamasından \"%s\" kodlamasına dönüşümde hata"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "girdi dosyasının başlığında bir karakter kümesi belirtilmemiş"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2760,7 +2978,7 @@ msgstr ""
"\"%s\" \"%s\" e dönüştürülemiyor. %s iconv()ye bağlı,\n"
"ve iconv() bu dönüşümü desteklemiyor."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2769,8 +2987,8 @@ msgstr ""
" \"%s\" den \"%s\" e dönüşüm tekrarlar oluşturuyor: bazı msgid'ler aynı "
"oluyor."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2779,16 +2997,16 @@ msgstr ""
"\"%s\" \"%s\" e dönüştürülemiyor. %s iconv()ye bağlı.\n"
"Bu sürüm iconv() olmaksızın kurgulanmış."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s sadece %s ile geçerlidir"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "yedekleme türü"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2811,17 +3029,17 @@ msgstr ""
"Daha iyi sonuçlar elde edebilmek için zorunlu eşleşmeler bulunamadığında\n"
"belirsiz eşleşmeler kullanılmıştır.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po eski kaynaklara bağlı çeviriler\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot yeni kaynaklara baÄŸlar\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2830,7 +3048,7 @@ msgstr ""
" -C, --compendium=DOSYA ileti çevirileri için ek veritabanı, birden\n"
" fazla belirtilebilir\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2839,27 +3057,27 @@ msgstr ""
" -U, --update def.po dosyasını günceller,\n"
" def.po zaten güncelse bir şey yapmaz\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Güncelleme kipinde çıktı dosyasının yeri:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Sonuç gerisin geri def.po'ya yazılır.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=KONTROL def.po'nun yedeklemesini yapar\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SONEK yedekleme sonek kullanarak yapılır\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2878,7 +3096,7 @@ msgstr ""
" yedekleme yapılır\n"
" simple, never daima basit yedekleme yapılır\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, fuzzy, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2888,29 +3106,29 @@ msgstr ""
"--suffix seçeneği ile ya da SIMPLE_BACKUP_SUFFIX ortam değişkeni ile\n"
"belrtilmedikçe yedeklenen dosyanın soneki `~' dir.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr ""
" --previous çevrilmiş iletinin eski msgid'sini tutar\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent işlemin ilerleyişi gösterilmez\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr ".bu ileti çoğul biçem olmalıydı"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "bu ileti çoğul biçem olmamalıydı"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2919,28 +3137,28 @@ msgstr ""
"%s%ld eski + %ld referans, %ld katışık, %ld fuzzy, %ld eksik, %ld artık "
"kullanılmayan ileti okundu.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " bitti.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s ile diğer dosya isimleri bağdaşmıyor"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "Kullanımı: %s [SEÇENEK] [DOSYA]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "İkilik ileti kataloğunu Uniforum tarzı .po dosyasına dönüştürür.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2949,13 +3167,13 @@ msgstr ""
" -j, --java Java kipi: girdi bir Java ÖzkaynakPaketi "
"sınıfıdır\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp C# kipi: girdi bir .NET .dll dosyasıdır\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2964,24 +3182,24 @@ msgstr ""
" --csharp-resources C# özkaynak kipi: girdi bir .NET .resources\n"
" dosyasıdır\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl kipi: girdi bir tcl/msgcat .msg dosyasıdır\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " DOSYA ... girdi .mo dosyaları\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Java kipinde girdi dosyasının yeri:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2991,12 +3209,12 @@ msgstr ""
"Sınıf ismi, özkaynak ismine yerel isminin bir altçizgi ile eklenmesiyle\n"
"saptanır. Sınıf, CLASSPATH ortam değişkeni ile konumlanır.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "C# kipinde girdi dosyasının yeri:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3006,12 +3224,12 @@ msgstr ""
"belirlenen\n"
"dizinin bir altdizininde bulunur.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Tcl kipinde girdi dosyasının yeri:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3019,17 +3237,17 @@ msgid ""
msgstr ""
"-l ve -d seçenekleri zorunludur. .msg dosyası belirtilen dizine yazılır.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent girintili çıktı tarzı kullanılır\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict bilinen biçemde yazılır\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3050,12 +3268,12 @@ msgstr ""
"onlar ilk çeviriden alınır. Dosya konumları korunur. --unique seçeneği\n"
"kullanıldığında tekrarlananlar iptal edilir.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated sadece yinelenenler yazılır\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3064,7 +3282,7 @@ msgstr ""
" -u, --unique sadece tek iletiler gösterilir,\n"
" tekrarlananlar iptal edilir\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdÇ>"
@@ -3120,32 +3338,32 @@ msgstr ""
"Başlıkta karakter kümesi yok.\n"
"Kullanıcının karakter kümesinde ileti dönüşümü yapılamayacak.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "#~ kullanımı aykırı"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "`msgstr[]' bölümü yok"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "`msgid_plural' bölümü yok"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "`msgstr' bölümü yok"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "ilk çoğul biçemin indeksi sıfır değil"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "çoğul biçemin indeksi hatalı"
@@ -3155,7 +3373,7 @@ msgstr "çoğul biçemin indeksi hatalı"
msgid "too many errors, aborting"
msgstr "hatalar çok fazla, bunları düzeltince programı tekrar çalıştırın"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "çoklu bayt dizisi geçersiz"
@@ -3199,65 +3417,83 @@ msgstr "dizge içinde satır sonu"
msgid "context separator <EOT> within string"
msgstr "dizge içinde <EOT> bağlam ayracı"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "bu dosya paket yönergelerini içermeyebilir"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "ileti iki defa tanımlanmış"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "bu ilk tanımlamanın konumu"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "süzgeç ismi eksik"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "nplurals değeri geçersiz"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "\"%s\" dosyası kırpılmış"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "\"%s\" dosyası NUL sonlandırmalı olmayan bir dizge içeriyor"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "\"%s\" dosyası bir GNU .mo dosyas değil"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr ""
"\"%s\" dosyası %s. satırda NUL sonlandırmalı olmayan bir dizge içeriyor"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "uyarı: Unicode karakter için \\uxxxx sözdizimi geçersiz"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "uyarı: sonlandırılmamış dizge"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "uyarı: sözdizimi hatası"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "uyarı: sonlandırılmamış isim/değer çifti"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "uyarı: sözdizimi hatası, dizgeden sonra ';' yok"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "uyarı: sözdizimi hatası, dizgeden sonra ';' ya da '=' umuluyor"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "%s ve %s tarafından yazıldı.\n"
@@ -3266,16 +3502,16 @@ msgstr "%s ve %s tarafından yazıldı.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Å egan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Sırpça metni Kril alfabesinden Latin alfabesine yeniden kodlar.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3284,27 +3520,27 @@ msgstr ""
"Girdi metni standart girdiden okunur. Dönüştürülmüş metin\n"
"standart çıktıya çıktılanır.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "girdi \"%s\" kodlama için geçersiz"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "\"%s\" kodlamasından \"%s\" kodlamasına dönüşümde hata"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "iki argüman gerekiyor"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Kullanımı: %s [SEÇENEK] URL DOSYA\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3313,37 +3549,37 @@ msgstr ""
"Bir URL'nin içeriğini alır ve çıktılar. URL erişilebilir değilse,\n"
"yerel DOSYA dosya kullanılır.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "\"%s\" okunurken hata"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "standart çıktıya yazılırken hata"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "\"%s\" okunduktan sonra hata"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3351,14 +3587,14 @@ msgstr ""
"Belirtilen çıktı biçimi ile çok sayıda çeviri dosyası aynı dosyaya "
"yazılamaz. PO dosyası sözdizimini kullanmayı deneyin."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr ""
"Belirtilen çıktı biçimi ile çok sayıda çeviri dosyası aynı dosyaya yazılamaz."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3366,7 +3602,7 @@ msgstr ""
"ileti kataloğu bağlama bağımlı çeviriler içermesine rağmen\n"
"çıktı biçimi onları desteklemiyor."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3376,7 +3612,7 @@ msgstr ""
"desteklemiyor. Bir Java sınıfını .properties dosyası yerine \"msgfmt --java"
"\" kullanarak üretmeyi deneyin."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3384,12 +3620,12 @@ msgstr ""
"ileti kataloğu çoğul çeviriler içermesine rağmen çıktı biçimi çoğul "
"çevirileri desteklemiyor."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "\"%s\" çıktı dosyası oluşturulamıyor"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "standart çıktı"
@@ -3408,42 +3644,43 @@ msgstr "C# sınıfı derlenemedi, lütfen --verbose seçeneğini deneyin"
msgid "compilation of C# class failed"
msgstr "C# sınıfı derlenemedi, lütfen --verbose seçeneğini deneyin"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "\"%s\" yazılmak için açılırken hata"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "Geçerli bir Java sınıfı ismi değil: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"Java sınıfı derlenemedi, lütfen --verbose seçeneğini kullanın ya da\n"
"$JAVAC ortam değişkenine uygun değeri atayın."
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, fuzzy, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"Java sınıfı derlenemedi, lütfen --verbose seçeneğini kullanın ya da\n"
"$JAVAC ortam değişkenine uygun değeri atayın."
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "\"%s\" yazılmak için açılırken hata"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "çoklu bayt dizisi geçersiz"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "i18n iletileri `\\%c' öncelem dizilerini içeremez"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3456,7 +3693,7 @@ msgstr ""
"olabilir. Salt ASCII msgctxt kullanmanız önerilir.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3469,7 +3706,7 @@ msgstr ""
"olabilir. Salt ASCII msgid kullanmanız önerilir.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3477,7 +3714,7 @@ msgstr ""
"ileti kataloğu çoğul çeviriler içermesine rağmen Qt ileti kataloğu\n"
"biçimi çoğul çevirileri desteklemiyor\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3489,7 +3726,7 @@ msgstr ""
"kullanılmasına izin verir, halbuki ileti kataloğunun msgctxt iletileri\n"
"ISO-8859-1 kodlamasının dışında karakterler içeriyor.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3500,12 +3737,12 @@ msgstr ""
"kullanılmasına izin verir, halbuki ileti kataloğunun msgid iletileri\n"
"ISO-8859-1 kodlamasının dışında karakterler içeriyor.\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "%s alt süreçine yazarken hata"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3513,7 +3750,7 @@ msgstr ""
"ileti kataloğu bağlama bağımlı çeviriler içermesine rağmen\n"
"C# .resources biçimi bağlamları desteklemiyor\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3521,7 +3758,7 @@ msgstr ""
"ileti kataloğu çoğul çeviriler içermesine rağmen C# .resources\n"
"biçimi çoğul çevirileri desteklemiyor\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3529,7 +3766,7 @@ msgstr ""
"ileti kataloğu bağlama bağımlı çeviriler içermesine rağmen\n"
"Tcl ileti kataloğu biçemi bağlamları desteklemiyor\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3537,39 +3774,39 @@ msgstr ""
"ileti kataloğu çoğul çeviriler içermesine rağmen Tcl ileti kataloğu\n"
"biçemi çoğul çevirileri desteklemiyor\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: uyarı: sonlandırılmamış dizge"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: uyarı: sonlandırılmamış düzenli ifade"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: uyarı: Unicode karakter geçersiz"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: uyarı: sonlandırılmamış karakter sabiti"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: uyarı: sonlandırılmamış dizge sabiti"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
#, fuzzy
msgid "Please specify the source encoding through --from-code."
msgstr ""
"%s%s içinde ASCII olmayan dizge.\n"
"Lütfen, kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3578,7 +3815,7 @@ msgstr ""
"%s:%d: Çokbaytlı dizilim geçersiz.\n"
"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3587,7 +3824,7 @@ msgstr ""
"%s:%d: Çokbaytlı dizilim eksik kalmış.\n"
"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3596,7 +3833,7 @@ msgstr ""
"%s:%d: Dosyanın sonunda çokbaytlı dizilim eksik kalmış.\n"
"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3605,12 +3842,12 @@ msgstr ""
"%s:%d: Satırın sonunda çokbaytlı dizilim eksik kalmış.\n"
"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv başarısızlığı"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3619,289 +3856,73 @@ msgstr ""
"%s:%d: Çokbaytlı dizilim geçersiz.\n"
"Lütfen, kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: uyarı: Unicode karakter geçersiz"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: uyarı: sonlandırılmamış dizge sabit"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: uyarı: '}' umulan yerde ')' var"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: uyarı: ')' umulan yerde '}' var"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
+#: src/xgettext.c:579
#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"\"glade\" dili desteklenmiyor. %s expat'a bağlı.\n"
-"Bu sürüm expat olmaksızın kurgulanmış.\n"
-
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: uyarı: sonlandırılmamış dizge"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s%s içinde ASCII olmayan dizge.\n"
-"Lütfen, kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Çokbaytlı dizilim geçersiz.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Çokbaytlı dizilim eksik kalmış.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Dosyanın sonunda çokbaytlı dizilim eksik kalmış.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Satırın sonunda çokbaytlı dizilim eksik kalmış.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: Çokbaytlı dizilim geçersiz.\n"
-"Lütfen, kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: uyarı: sonlandırılmamış dizge sabiti"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: uyarı: Unicode karakter geçersiz"
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: uyarı: sonlandırılmamış dizge"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: EOF'dan önce hiçbir yerde \"%s\" dizge sonlandırıcısı bulunamadı"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: \\x{HEXNUMBER} dizgesinde kapatan kuyruklu ayraç yok"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\l\") aradeğerlemesi geçersiz"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\u\") aradeğerlemesi geçersiz"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: \"%c\" içindeki değişken aradeğerlemesi geçersiz"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\L\") aradeğerlemesi geçersiz"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\U\") aradeğerlemesi geçersiz"
-
-#: src/x-python.c:278
-#, fuzzy
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s%s içinde ASCII olmayan dizge.\n"
-"Lütfen, kaynak kodlamasını --from-code seçeneği ile ya da\n"
-"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
-"bir açıklama ile belirtiniz.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Çokbaytlı dizilim geçersiz.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
-"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
-"bir açıklama ile belirtiniz.\n"
+msgid "syntax check '%s' unknown"
+msgstr "dil `%s' bilinmiyor"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
msgstr ""
-"%s:%d: Çokbaytlı dizilim eksik kalmış.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
-"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
-"bir açıklama ile belirtiniz.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Dosyanın sonunda çokbaytlı dizilim eksik kalmış.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
-"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
-"bir açıklama ile belirtiniz.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "standart çıktıya yazılırken --join-existing kullanılamaz"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Satırın sonunda çokbaytlı dizilim eksik kalmış.\n"
-"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
-"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
-"bir açıklama ile belirtiniz.\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext anahtar sözcükler olmaksızın bulamaz"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d: Çokbaytlı dizilim geçersiz.\n"
-"Lütfen, kaynak kodlamasını --from-code seçeneği ile ya da\n"
-"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
-"bir açıklama ile belirtiniz.\n"
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "\"%s\" kodlaması bilinmiyor. Onun yerine ASCII ile işlem yapılacak."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: dizge ataması geçersiz"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: # dan sonra sayı yok"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: dizge ifade geçersiz"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: uyarı: güvenlikle ilgili sebeplerden dolayı $\"...\" sözdizimi artık "
-"kullanılmayacak; yerine eval_gettext kullanın"
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: uyarı: sonlandırılmamış dizge sabiti"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "standart çıktıya yazılırken --join-existing kullanılamaz"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext anahtar sözcükler olmaksızın bulamaz"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "uyarı: `%s' dosyası `%s' uzantısı bilinmiyor; C denenecek"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Belirtilen girdi dosyalarından çevrilebilir dizgeleri çıkartır.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3909,23 +3930,23 @@ msgid ""
msgstr ""
" -d, --default-domain=İSİM çıktıda messages.po yerine İSİM.po kullanılır\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=DOSYA çıktı belirtilen dosyaya yazılır\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=DİZİN çıktı dosyaları DİZİNe yazılır\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Girdi dosyası dilinin seçimi:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, fuzzy, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3945,19 +3966,19 @@ msgstr ""
"PHP,\n"
" GCC-source, NXStringTable, RST, Glade)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ --language=C++ ile aynı\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "Öntanımlı olarak dil, girdi dosyasının uzantısına bakarak saptanır.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3966,24 +3987,24 @@ msgstr ""
" --from-code=İSİM girdi dosyası için yerel kodlaması\n"
" (Python, Tcl, Glade dışında)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr ""
"Öntanımlı olarak, girdi dosyalarının yerel kodlaması ASCII kabul edilir.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing iletiler mevcut dosyaya bağlanır\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=DOSYA.po girdiler DOSYA.po dosyasından elde edilir\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, fuzzy, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3994,17 +4015,33 @@ msgid ""
msgstr ""
" -c, --add-comments[=ETİTET] ETİKETli yorum bloğunu çıktı dosyasına yazar\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Dile özel seçenekler:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all tüm dizgeler çıkarılır\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4018,7 +4055,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4032,7 +4069,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4042,7 +4079,7 @@ msgstr ""
" --flag=SÖZCÜK:ARG:İM SÖZCÜK anahtar sözcüğünün ARG numaralı\n"
" argümanının içindeki dizge için ek im\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4057,56 +4094,67 @@ msgstr ""
"Java,\n"
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs ANSI C üçlü harfleri kabul edilir\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (sadece bu diller: C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt Qt biçim dizgeleri tanınır\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (sadece C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, fuzzy, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --qt Qt biçim dizgeleri tanınır\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost Boost biçim dizgeleri tanınır\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug biçemdizgesi tanıma sonuçları ayrıntılı olur\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output çıktı bir Java .properties dosyasına yazılır\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+" -f, --files-from=DOSYA girdi dosyalarının listesi DOSYAdan alınır\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent girintili çıktı tarzı\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=DİZGE çıktı için telif hakkı bilgisi\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4114,17 +4162,17 @@ msgstr ""
" --foreign-user yabancı kullanıcılar için FSF telif hakkı\n"
" çıktıda atlanır\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, fuzzy, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --copyright-holder=DİZGE çıktı için telif hakkı bilgisi\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4132,7 +4180,7 @@ msgstr ""
" --msgid-bugs-address=EPOSTA@ADRESÄ°\n"
" msgid hatalarının bildirileceği adres\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, fuzzy, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4142,7 +4190,7 @@ msgstr ""
" -m, --msgstr-prefix[=DİZGE] msgstr girdilerinde önek olarak \"\" yerine\n"
" DİZGE kullanılır\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, fuzzy, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4152,7 +4200,7 @@ msgstr ""
" -M, --msgstr-suffix[=DÄ°ZGE] msgstr girdilerinde sonek olarak \"\" yerine\n"
" DİZGE kullanılır\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4160,31 +4208,31 @@ msgid ""
msgstr ""
"Bir --flag argümanı <sözcük>:<argnum>:[pass-]<im> sözdiziminde olmaz: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "standart girdi"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: uyarı: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4193,7 +4241,7 @@ msgstr ""
"Bir biçim dizgesi içinde kullanılabilirse de %s, %s biçim dizgesi içinde "
"geçerli değil. Sebebi: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4202,7 +4250,7 @@ msgstr ""
"Böyle bildirilebilirse de %s, %s biçim dizgesi içinde geçerli değil. Sebebi: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4215,7 +4263,7 @@ msgstr ""
"Lütfen isimli argümarları destekleyen bir biçim dizgesi kullanmayı\n"
"ve argümanlar için bir demet yerine bir eşleme yapmayı düşünün.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4225,27 +4273,27 @@ msgstr ""
"gettext(\"\") ile başlık girdilerindeki bilgileri\n"
"döndürür. Boş dizge değildir.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "anahtar sözcük '%.*s' için anlamı belirsiz argüman belirtimi"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "uyarı: anahtar sözcük '%.*s' için bağlam eksik"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "uyarı: '%.*s' anahtar sözcüğünün çoğul biçimi için bağlam eksik"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "tekil ve çoğul biçimler arasında bağlamsal çelişki"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
#, fuzzy
msgid ""
"The option --msgid-bugs-address was not specified.\n"
@@ -4258,15 +4306,352 @@ msgstr ""
"MSGID_BUGS_ADDRESS deÄŸiÅŸkenini belirtin; ya da\n"
"bir --msgid-bugs-address seçeneği kullanın.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "dil `%s' bilinmiyor"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: uyarı: sonlandırılmamış dizge"
+
+#: src/x-javascript.c:231
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s%s içinde ASCII olmayan dizge.\n"
+"Lütfen, kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
+
+#: src/x-javascript.c:276
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Çokbaytlı dizilim geçersiz.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
+
+#: src/x-javascript.c:292
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Çokbaytlı dizilim eksik kalmış.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
+
+#: src/x-javascript.c:304
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Dosyanın sonunda çokbaytlı dizilim eksik kalmış.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
+
+#: src/x-javascript.c:313
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Satırın sonunda çokbaytlı dizilim eksik kalmış.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
+
+#: src/x-javascript.c:345
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Çokbaytlı dizilim geçersiz.\n"
+"Lütfen, kaynak kodlamasını --from-code seçeneği ile belirtiniz.\n"
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: uyarı: sonlandırılmamış dizge sabiti"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: uyarı: Unicode karakter geçersiz"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: uyarı: sonlandırılmamış dizge"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: EOF'dan önce hiçbir yerde \"%s\" dizge sonlandırıcısı bulunamadı"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: \\x{HEXNUMBER} dizgesinde kapatan kuyruklu ayraç yok"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\l\") aradeğerlemesi geçersiz"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\u\") aradeğerlemesi geçersiz"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: \"%c\" içindeki değişken aradeğerlemesi geçersiz"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\L\") aradeğerlemesi geçersiz"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: 8 bitlik \"%c\" karakterinin (\"\\U\") aradeğerlemesi geçersiz"
+
+#: src/x-python.c:279
+#, fuzzy
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s%s içinde ASCII olmayan dizge.\n"
+"Lütfen, kaynak kodlamasını --from-code seçeneği ile ya da\n"
+"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
+"bir açıklama ile belirtiniz.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Çokbaytlı dizilim geçersiz.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
+"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
+"bir açıklama ile belirtiniz.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Çokbaytlı dizilim eksik kalmış.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
+"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
+"bir açıklama ile belirtiniz.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Dosyanın sonunda çokbaytlı dizilim eksik kalmış.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
+"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
+"bir açıklama ile belirtiniz.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Satırın sonunda çokbaytlı dizilim eksik kalmış.\n"
+"Lütfen, doğru kaynak kodlamasını --from-code seçeneği ile ya da\n"
+"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
+"bir açıklama ile belirtiniz.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Çokbaytlı dizilim geçersiz.\n"
+"Lütfen, kaynak kodlamasını --from-code seçeneği ile ya da\n"
+"http://www.python.org/peps/pep-0263.html adresinde belirtildiÄŸi gibi\n"
+"bir açıklama ile belirtiniz.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "\"%s\" kodlaması bilinmiyor. Onun yerine ASCII ile işlem yapılacak."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: dizge ataması geçersiz"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: # dan sonra sayı yok"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: dizge ifade geçersiz"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: uyarı: güvenlikle ilgili sebeplerden dolayı $\"...\" sözdizimi artık "
+"kullanılmayacak; yerine eval_gettext kullanın"
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: uyarı: sonlandırılmamış dizge sabiti"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<isimsiz>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "denetim dizisi geçersiz"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "Geçerli bir Java sınıfı ismi değil: %s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "Geçerli bir Java sınıfı ismi değil: %s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "denetim dizisi geçersiz"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "bayt sırası geçersiz: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "argüman %s, %s için geçersiz"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "süzgeç ismi eksik"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: kuraldışı seçenek -- %c\n"
@@ -4311,3 +4696,13 @@ msgstr "<isimsiz>"
#~ msgstr ""
#~ "ileti kataloğu bağlama bağımlı çeviriler içermesine rağmen\n"
#~ "Java ResourceBundle biçimi bağlamları desteklemiyor\n"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "\"glade\" dili desteklenmiyor. %s expat'a bağlı.\n"
+#~ "Bu sürüm expat olmaksızın kurgulanmış.\n"
diff --git a/gettext-tools/po/uk.gmo b/gettext-tools/po/uk.gmo
index 7ca8919..2ebddd2 100644
--- a/gettext-tools/po/uk.gmo
+++ b/gettext-tools/po/uk.gmo
Binary files differ
diff --git a/gettext-tools/po/uk.po b/gettext-tools/po/uk.po
index 039e0b8..31dbeba 100644
--- a/gettext-tools/po/uk.po
+++ b/gettext-tools/po/uk.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the gettext package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.3\n"
+"Project-Id-Version: gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-10-17 22:18+0300\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-23 13:13+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -58,40 +58,40 @@ msgstr "не вдаєтьÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ тимчаÑовий катало
msgid "write error"
msgstr "помилка запиÑу"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "помилка при відкриванні «%s» Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ резервний файл «%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "помилка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Â«%s»"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "помилка запиÑу «%s»"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "помилка піÑÐ»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Â«%s»"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "помилка у функції fdopen()"
@@ -117,58 +117,63 @@ msgstr "Ðевідома ÑиÑтемна помилка"
msgid "%s subprocess failed"
msgstr "аварійне Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñтвореного процеÑу %s"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: параметр «%s» не є однозначним. Можливі варіанти:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: параметр «%s» не є однозначним\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «--%s» не передбачено\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «%c%s» не передбачено\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: до параметра «--%s» Ñлід додати аргумент\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: невідомий параметр «--%s»\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: невідомий параметр «%c%s»\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: некоректний параметр — «%c»\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: до параметра Ñлід додати аргумент — «%c»\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: параметр «-W %s» не є однозначним\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «-W %s» не передбачено\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: до параметра «-W %s» Ñлід додати аргумент\n"
@@ -184,15 +189,16 @@ msgstr "некоректний аргумент source_version Ð´Ð»Ñ compile_ja
msgid "invalid target_version argument to compile_java_class"
msgstr "некоректний аргумент target_version Ð´Ð»Ñ compile_java_class"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "не вдаєтьÑÑ Ñтворити «%s»"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "помилка запиÑу файлу «%s»"
@@ -210,15 +216,15 @@ msgstr ""
"Ðе знайдено віртуальну машину Java, вÑтановіть gij або вÑтановіть змінну "
"$JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "помилка вводу-виводу у дочірньому процеÑÑ– %s"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "пам'ÑÑ‚ÑŒ вичерпано"
@@ -229,7 +235,7 @@ msgid "creation of threads failed"
msgstr "Ñпроба ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑ–Ð² обробки зазнала невдачі"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "не вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати у дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %s"
@@ -276,11 +282,11 @@ msgstr "дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %s завершивÑÑ Ð· кодом %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "`"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "'"
@@ -316,54 +322,204 @@ msgstr "дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %s"
msgid "%s subprocess got fatal signal %d"
msgstr "дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %s отримав фатальний Ñигнал %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "помилка при відкриванні «%s» Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
+msgid "The root element must be <%s>"
+msgstr "Кореневим елементом має бути <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Елемент <%s> не міÑтить елемента <%s>"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "У елемента <%s> немає атрибута <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Віддайте команду «%s --help», щоб дізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "КориÑтуваннÑ: %s [ПÐРÐМЕТР...] [ЛОКÐЛЬ ПРÐВИЛÐ]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"«%s» не Ñ” правильним Ñ€Ñдком формату %s, на відміну від «%s». Причина: %s"
+"Ð’Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» ÑƒÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼ множини CLDR Unicode.\n"
+"\n"
+"Якщо вказано одразу ЛОКÐЛЬ Ñ– ПРÐВИЛÐ, читає правила ÑƒÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼ множини\n"
+"CLDR Ð´Ð»Ñ Ð›ÐžÐšÐЛІ з ПРÐВИЛ Ñ– виводить Ñ—Ñ… у формі, придатній до викориÑтаннÑ\n"
+"у gettext. Якщо аргумент не вказано, читає правила CLDR зі Ñтандартного\n"
+"джерела вхідних даних.\n"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Ðргументи, обов'Ñзкові Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… ключів, Ñ” обов'Ñзковими й Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n"
+"Те ж Ñаме й Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ð¾Ð²'Ñзкових аргументів.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr вивеÑти правила ÑƒÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼ множини у "
+"форматі CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help вивеÑти цю довідку та вийти\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Про помилки повідомлÑйте на <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"ÐвторÑькі права належать Free Software Foundation, Inc., %s\n"
+"Умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, <http://gnuorg/licenses/gpl.html>\n"
+"Це вільне програмне забезпеченнÑ: ви можете вільно змінювати Ñ– поширювати його.\n"
+"Вам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених законодавÑтвом.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Ðвтор програми %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s непридатний до читаннÑ"
+
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ правила Ð´Ð»Ñ %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ правило CLDR"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "зайвий операнд %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "помилка при відкриванні «%s» Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "Ñпецифікації Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ %u, Ñк у «%s», немає у «%s»"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "немає Ñпецифікації формату Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ %u у «%s»"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "Ñпецифікації форматів у «%s» Ñ– «%s» Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ %u не збігаютьÑÑ"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
"Директива з номером %u починаєтьÑÑ Ð· Ñимволу |, але не закінчуєтьÑÑ Ñимволом "
"|."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"«%s» не Ñ” правильним Ñ€Ñдком формату %s, на відміну від «%s». Причина: %s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -373,56 +529,56 @@ msgstr ""
"формату. ДопуÑтимі назви макроÑів перелічені у розділі 7.8.1 Ñтандарту ISO C "
"99."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr ""
"У директиві з номером %u, лекÑема піÑÐ»Ñ '<' не завершуєтьÑÑ Ð´ÑƒÐ¶ÐºÐ¾ÑŽ '>'."
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"РÑдок поÑилаєтьÑÑ Ð½Ð° аргумент з номером %u, але ігноруєтьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ з "
"номером %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "кількоÑÑ‚Ñ– Ñпецифікацій формату у «%s» Ñ– «%s» не збігаютьÑÑ"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "У директиві з номером %u, дужка «{» не завершуєтьÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ аргументу."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "У директиві з номером %u, знак ',' не завершуєтьÑÑ Ñ‡Ð¸Ñлом."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
"РÑдок закінчуєтьÑÑ Ñƒ Ñередині директиви: знайдено «{» без відповідної дужки "
"«}»."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr ""
"Директива з номером %u закінчуєтьÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¸Ð¼ Ñимволом «%c» заміÑÑ‚ÑŒ «}»."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "Директива з номером %u закінчуєтьÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¸Ð¼ Ñимволом заміÑÑ‚ÑŒ «}»."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
@@ -430,7 +586,7 @@ msgstr ""
"РÑдок починаєтьÑÑ Ð² Ñередині директиви: знайдено «}» без відповідної дужки "
"«{»."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "РÑдок міÑтить одну дужку «}» піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ %u."
@@ -548,7 +704,7 @@ msgstr ""
msgid "The string refers to argument number %u in incompatible ways."
msgstr "РÑдок поÑилаєтьÑÑ Ð½Ð° аргумент з номером %u неÑуміÑним ÑпоÑобом."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
@@ -556,18 +712,18 @@ msgid ""
msgstr ""
"У директиві з номером %u, Ñ€Ñдок «%s» у неприпуÑтимому Ñтилі дати/чаÑу."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "У директиві з номером %u, «%s» не завершуєтьÑÑ ÐºÐ¾Ð¼Ð¾ÑŽ."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "У директиві з номером %u, Ñ€Ñдок «%s» у неприпуÑтимому форматі чиÑла."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -576,12 +732,12 @@ msgstr ""
"У директиві з номером %u, номер аргументу не завершуєтьÑÑ ÐºÐ¾Ð¼Ð¾ÑŽ та одним "
"з«%s», «%s», «%s», «%s»."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "У директиві з номером %u, вибір не міÑтить номер."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -590,24 +746,47 @@ msgstr ""
"У директиві з номером %u, вибір міÑтить чиÑло, Ñке не завершуєтьÑÑ '<', '#' "
"чи «%s»."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ аргументу {%u}, тобто «%s», не Ñ–Ñнує у «%s»"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ аргументу {%u} не Ñ–Ñнує у «%s»"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "Ñпецифікації форматів у «%s» Ñ– «%s» Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ {%u} не збігаютьÑÑ"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"РÑдок поÑилаєтьÑÑ Ð½Ð° аргумент з номером %u, але ігноруютьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ з "
+"номерами %u та %u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"Ñпецифікації форматів Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² із номерами %u та %u немає у «%s», а "
+"ігнорувати можна лише один аргумент"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "помилка під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -617,7 +796,7 @@ msgstr ""
"У директиві з номером %u, параметр %u має тип «%s», але очікувавÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ "
"типу «%s»."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -635,33 +814,33 @@ msgstr[2] ""
"У директиві з номером %u, вказано надто багато параметрів; очікувалоÑÑŒ не "
"більше ніж %u параметрів."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "У директиві з номером %u, «%c» не завершуєтьÑÑ Ñ†Ð¸Ñ„Ñ€Ð¾ÑŽ."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "У директиві з номером %u, аргумент %d - від'ємний."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "РÑдок закінчуєтьÑÑ Ñƒ Ñередині директиви ~/.../"
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Знайдено «~%c» без відповідного «~%c»."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "У директиві з номером %u, вказано обидва модифікатори, Ñк @, так Ñ– :"
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -670,27 +849,33 @@ msgstr ""
"У директиві з номером %u, '~:[' не завершуєтьÑÑ Ð´Ð²Ð¾Ð¼Ð° реченнÑми, "
"розділеними '~;'."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
"У директиві з номером %u, '~;' викориÑтовуєтьÑÑ Ñƒ неправильній позиції."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "РÑдок поÑилаєтьÑÑ Ð½Ð° деÑкий аргумент неÑуміÑним ÑпоÑобом."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "Ñпецифікації формату у «%s» та «%s» не Ñ” еквівалентними"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "Ñпецифікації формату у «%s» не Ñ” підмножиною Ñпецифікацій у «%s»"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ «%s» не Ñ–Ñнує у «%s»"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -699,26 +884,48 @@ msgstr ""
"У директиві з номером %u, ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ неÑуміÑна з Ñпецифікацією "
"Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Â«%c»."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ «%s» не Ñ–Ñнує у «%s»"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "У директиві з номером %u «%c» не може розпочинати назву полÑ."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "У директиві з номером %u «%c» не може розпочинати аргумент getattr."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "У директиві з номером %u «%c» не може розпочинати аргумент getitem."
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"У директиві з номером %u у визначенні Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ можна викориÑтовувати "
+"більший рівень вкладеноÑÑ‚Ñ–."
-#: src/format-python.c:115
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr ""
+"У директиві з номером %u вказано незавершену інÑтрукцію щодо форматуваннÑ."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
"РÑдок поÑилаєтьÑÑ Ñк на аргументи з назвами, так Ñ– на аргументи без назв."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "РÑдок поÑилаєтьÑÑ Ð½Ð° аргумент з назвою «%s» неÑуміÑним ÑпоÑобом."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -726,7 +933,7 @@ msgstr ""
"Ñпецифікації формату у «%s» очікують відображеннÑ, а Ñпецифікації у «%s» "
"вимагають кортеж"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -734,48 +941,19 @@ msgstr ""
"Ñпецифікації формату у «%s» очікують кортеж, а Ñпецифікації у «%s» очікують "
"відображеннÑ"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ аргументу «%s», тобто «%s», не Ñ–Ñнує у «%s»"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "Ñпецифікації форматів у «%s» Ñ– «%s» Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ «%s» не збігаютьÑÑ"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "У директиві з номером %u «%c» не може розпочинати назву полÑ."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "У директиві з номером %u «%c» не може розпочинати аргумент getattr."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "У директиві з номером %u «%c» не може розпочинати аргумент getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"У директиві з номером %u у визначенні Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ можна викориÑтовувати "
-"більший рівень вкладеноÑÑ‚Ñ–."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr ""
-"У директиві з номером %u вказано незавершену інÑтрукцію щодо форматуваннÑ."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -784,11 +962,11 @@ msgstr ""
"«%s» — проÑтий Ñ€Ñдок форматуваннÑ, але «%s» не Ñ” таким Ñ€Ñдком: цей Ñ€Ñдок "
"міÑтить прапорець «L» або двоцифровий номер аргументу"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "РÑдок поÑилаєтьÑÑ Ð½Ð° змінну оболонки з не-ASCII назвою."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -796,7 +974,7 @@ msgstr ""
"РÑдок поÑилаєтьÑÑ Ð½Ð° змінну оболонки з Ñкладним ÑинтакÑиÑом дужок оболонки. "
"Цей ÑинтакÑÐ¸Ñ Ñ‚ÑƒÑ‚ не підтримуєтьÑÑ Ð· міркувань безпеки."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
@@ -804,93 +982,58 @@ msgstr ""
"РÑдок поÑилаєтьÑÑ Ð½Ð° змінну оболонки, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñкої може бути іншим у "
"функціÑÑ… оболонки."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "РÑдок поÑилаєтьÑÑ Ð½Ð° змінну оболонки з порожньою назвою."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "У директиві з номером %u Ñимвол «%c» не Ñ” цифрою від 1 до 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Символ, що завершує директиву з номером %u, не є цифрою від 1 до 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"ÐвторÑькі права належать Free Software Foundation, Inc., %s\n"
-"Умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, <http://gnuorg/licenses/gpl.html>\n"
-"Це вільне програмне забезпеченнÑ: ви можете вільно змінювати Ñ– поширювати його.\n"
-"Вам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених законодавÑтвом.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Ðвтор програми %s.\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "надто багато аргументів"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Віддайте команду «%s --help», щоб дізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "ВивеÑти назву ÑиÑтеми.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Формат виводу:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short коротка назва вузла\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -901,77 +1044,103 @@ msgstr ""
"назву\n"
" та пÑевдоніми\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address адреÑи ÑиÑтеми\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Інформативний вивід:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help вивеÑти цю довідку та вийти\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву ÑиÑтеми"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "не вказано Ñелектор"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "Про помилки повідомлÑйте на <bug-gnu-gettext@gnu.org>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "не вдалоÑÑ Ñтворити контекÑÑ‚ XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву ÑиÑтеми"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ вираз XPath: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "У вузлі «%s» не міÑтитьÑÑ Â«%s»"
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° «%s» Ð´Ð»Ñ Â«%s»"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "кореневим елементом не Ñ” елемент «rules» у проÑторі назв %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ шлÑÑ… Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ XPath: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "У вузлі «%s» немає «%s»"
+
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл XML %s"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "кореневим елементом не є елемент «locatingRules»"
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "допуÑкаєтьÑÑ Ð¼Ð°ÐºÑимум один вхідний файл"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s та %s є взаємовиключними"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] [ВХІДÐИЙ_ФÐЙЛ]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -980,33 +1149,33 @@ msgstr ""
"Фільтрує Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ перекладів у відповідноÑÑ‚Ñ– до Ñ—Ñ… атрибутів,\n"
"та маніпулює цими атрибутами.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Ðргументи, обов'Ñзкові Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… ключів, Ñ” обов'Ñзковими й Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " ВХІДÐИЙ_ФÐЙЛ вхідний файл PO\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1014,32 +1183,33 @@ msgstr ""
" -D, --directory=КÐТÐЛОГ додати КÐТÐЛОГ до ÑпиÑку вхідних файлів "
"пошуку\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Якщо вхідний файл не вказаний, або Ñкщо вказано -, викориÑтовуєтьÑÑ "
"Ñтандартний ввід.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ виводу:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=ФÐЙЛ запиÑати вивід у вказаний файл\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1049,75 +1219,75 @@ msgstr ""
"запиÑуєтьÑÑ\n"
" у Ñтандартний вивід.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Вибір повідомлень:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated зберегти перекладені, видалити неперекладені\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr ""
" --untranslated зберегти неперекладені, видалити перекладені\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy видалити повідомленнÑ, позначені Ñк 'fuzzy'\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr ""
" --only-fuzzy зберегти повідомленнÑ, позначені Ñк 'fuzzy'\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete видалити заÑтарілі #~ повідомленнÑ\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete зберегти заÑтарілі #~ повідомленнÑ\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy позначити вÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñк 'fuzzy'\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy позначити вÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñк не 'fuzzy'\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete позначити вÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ñтарілими\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr ""
" --clear-obsolete позначити вÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ заÑтарілими\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1127,7 +1297,7 @@ msgstr ""
"msgid\n"
" перекладених повідомлень\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1136,21 +1306,21 @@ msgstr ""
" --clear-previous видалити \"previous msgid\" з уÑÑ–Ñ… "
"повідомлень\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr ""
" --empty під Ñ‡Ð°Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Â«fuzzy» ÑпрожнÑти msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr ""
" --only-file=ФÐЙЛ.po оброблÑти лише елементи перелічені у ФÐЙЛ.po\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1158,36 +1328,36 @@ msgstr ""
" --ignore-file=ФÐЙЛ.po оброблÑти лише елементи не перелічені у ФÐЙЛ."
"po\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy Ñинонім Ð´Ð»Ñ --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr ""
" --obsolete Ñинонім Ð´Ð»Ñ --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "СинтакÑÐ¸Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr ""
" -P, --properties-input вхідний файл має ÑинтакÑÐ¸Ñ Java .properties\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1196,17 +1366,17 @@ msgstr ""
" --stringtable-input вхідний файл має ÑинтакÑÐ¸Ñ NeXTstep/GNUstep ."
"strings\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Подробиці виводу:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1221,17 +1391,17 @@ msgstr ""
" УМОВРможе мати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«always», «never», "
"«auto» або «html».\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=ФÐЙЛ_СТИЛЮ вказати файл правил Ñтилю CSS Ð´Ð»Ñ --color\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1240,9 +1410,9 @@ msgstr ""
"екрануваннÑ\n"
" мови C (типово)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1250,30 +1420,30 @@ msgstr ""
" -E, --escape викориÑтовувати у виводі Ñимволи екрануваннÑ\n"
" мови C, без розширених Ñимволів\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po запиÑувати файл PO, навіть порожній\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr ""
" -i, --indent запиÑати файл .po, вживаючи Ñтиль з "
"відÑтупами\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location не запиÑувати Ñ€Ñдки '#: назва_файлу:Ñ€Ñдок'\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1281,8 +1451,8 @@ msgstr ""
" -n, --add-location Ñтворювати Ñ€Ñдки '#: назва_файлу:"
"Ñ€Ñдок' (типово)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
@@ -1290,32 +1460,32 @@ msgstr ""
" --strict запиÑувати файл .po, точно відповідний "
"Uniforum\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output запиÑати файл Java .properties\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr ""
" --stringtable-output запиÑати файл NeXTstep/GNUstep .strings\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMBER вÑтановити ширину Ñторінки виводу\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1324,32 +1494,32 @@ msgstr ""
" --no-wrap не розривати на декілька Ñ€Ñдків довгі Ñ€Ñдки\n"
" повідомлень, що довші за ширину Ñторінки\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output Ñортувати вивід\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr ""
" -F, --sort-by-file Ñортувати вивід за розташуваннÑм файлів\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "вказано неможливий критерій відбору (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] [ВХІДÐИЙ_ФÐЙЛ]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1372,23 +1542,23 @@ msgstr ""
"вказано --use-first, коментарі берутьÑÑ Ð· першого файла PO, у Ñкому Ñ—Ñ… було\n"
"визначено.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " ВХІДÐИЙ_ФÐЙЛ ... вхідні файли\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=ФÐЙЛ отримати перелік вхідних файлів з ФÐЙЛ\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Якщо назвою вхідного файлу Ñ” -, викориÑтовуєтьÑÑ Ñтандартний ввід.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1399,7 +1569,7 @@ msgstr ""
" кількіÑÑ‚ÑŒ разів, Ñкщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ вказано,\n"
" типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ - неÑкінченіÑÑ‚ÑŒ\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1410,7 +1580,7 @@ msgstr ""
" кількіÑÑ‚ÑŒ разів, Ñкщо не вказано, типове\n"
" Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1419,16 +1589,16 @@ msgstr ""
" -u, --unique ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ --less-than=2, вказує\n"
" виводити лише унікальні повідомленнÑ\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr ""
" -P, --properties-input вхідні файли мають ÑинтакÑÐ¸Ñ Java .properties\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1437,12 +1607,12 @@ msgstr ""
" --stringtable-input вхідні файли мають ÑинтакÑÐ¸Ñ NeXTstep/GNUstep\n"
" .strings\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=ÐÐÐ—Ð’Ð ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1452,7 +1622,7 @@ msgstr ""
" кожного повідомленнÑ, не об'єднувати декілька\n"
" перекладів\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1461,26 +1631,26 @@ msgstr ""
"заголовка\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "не вказані вхідні файли"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "потрібно рівно 2 вхідні файли"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1497,22 +1667,22 @@ msgstr ""
"у програмі. Якщо точну відповідніÑÑ‚ÑŒ знайти не вдаєтьÑÑ, Ð´Ð»Ñ Ð¿Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð½Ñ\n"
"діагноÑтики викориÑтовуєтьÑÑ Ð¿Ñ€Ð¸Ð±Ð»Ð¸Ð·Ð½Ðµ порівнÑннÑ.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po переклад\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° джерело\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Модифікатори режиму роботи:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1521,53 +1691,53 @@ msgstr ""
" -m, --multi-domain заÑтоÑувати ref.pot до кожного домену з def."
"po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr ""
" -N, --no-fuzzy-matching не викориÑтовувати неточну відповідніÑÑ‚ÑŒ\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy викориÑтовувати неточні запиÑи\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated викориÑтовувати неперекладені запиÑи\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ перекладене"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ перевірити перекладач"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ, але не було визначено..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...проте це Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” подібним"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуєтьÑÑ, але не було визначене у %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "попередженнÑ: це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ викориÑтовуєтьÑÑ"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
@@ -1575,12 +1745,12 @@ msgstr[0] "знайдено %d критичну помилку"
msgstr[1] "знайдено %d критичні помилки"
msgstr[2] "знайдено %d критичних помилок"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "необхідно вказати принаймні два файли"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1601,7 +1771,7 @@ msgstr ""
"берутьÑÑ Ð· першого файла PO, у Ñкому вони були визначені. Коментарі з назвою\n"
"файлу та номером Ñ€Ñдка зберігаютьÑÑ Ð´Ð»Ñ ÑƒÑÑ–Ñ… файлів PO.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1611,41 +1781,41 @@ msgstr ""
" кількіÑÑ‚ÑŽ визначень, Ñкщо чиÑло не вказано,\n"
" типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header не запиÑувати заголовок у запиÑÑ– «msgid \"\"»\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Перетворює каталог перекладів у інше кодуваннÑ.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Результат перетвореннÑ:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Типовим кодуваннÑм Ñ” ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— локалі.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent Ñтиль виводу з відÑтупами\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location не виводити '#: filename:line' Ñ€Ñдки\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1653,28 +1823,28 @@ msgstr ""
" -n, --add-location зберігати Ñ€Ñдки «#: назва файла:Ñ€Ñдок» (типова "
"поведінка)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict Ñтиль виводу Uniforum\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "не вказано вхідний файл"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "потрібен лише один вхідний файл"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ВХІДÐИЙ_ФÐЙЛ\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1686,22 +1856,22 @@ msgstr ""
"файл PO або файл POT (зазвичай Ñтворений xgettext). Ðеперекладеним елементам\n"
"призначаєтьÑÑ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´, ідентичний до вміÑту msgid.\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " ВХІДÐИЙ_ФÐЙЛ вхідний PO або POT файл\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "не вказана назва команди"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] КОМÐÐДР[ПÐРÐМЕТРИ-КОМÐÐДИ]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1716,7 +1886,7 @@ msgstr ""
"виводом msgexec. Програма msgexec повертає макÑимальний з кодів Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ…\n"
"викликів команди.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1725,37 +1895,48 @@ msgstr ""
"Спеціальна вбудована команда з назвою '0' виводить переклад, Ñкий завершуєтьÑÑ\n"
"нульовим байтом. Вивід команди \"msgexec 0\" підходить Ñк ввід команди \"xargs -0\".\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Команди Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline додавати новий Ñ€Ñдок наприкінці вхідних даних\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=ВХІДÐИЙ_ФÐЙЛ вхідний файл PO\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "не вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати в Ñтандартний вивід"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "не вказана назва фільтру"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "необхідно вказати принаймні один Ñценарій Ð´Ð»Ñ sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ФІЛЬТР [ПÐРÐМЕТРИ-ФІЛЬТРУ]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "ЗаÑтоÑовує фільтр до вÑÑ–Ñ… перекладів у каталозі.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1765,18 +1946,32 @@ msgstr ""
"вводу\n"
"та запиÑує змінений переклад у Ñтандартний вивід.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Ð¤Ñ–Ð»ÑŒÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ñ– вихідних даних:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline додавати новий Ñ€Ñдок наприкінці вхідних даних\n"
+" Ñ– вилучати новий Ñ€Ñдок наприкінці результатів"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "КориÑні ПÐРÐМЕТРИ-ФІЛЬТРУ Ñкщо ФІЛЬТР Ñ” 'sed':\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr " -e, --expression=СЦЕÐÐРІЙ додати СЦЕÐÐРІЙ до виконуваних команд\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1786,13 +1981,13 @@ msgstr ""
" -f, --file=ФÐЙЛ_СЦЕÐÐРІЮ додати вміÑÑ‚ ФÐЙЛУ_СЦЕÐÐРІЮ до виконуваних "
"команд\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr " -n, --quiet, --silent не виводити автоматично шаблони\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1800,12 +1995,12 @@ msgstr ""
" --no-escape вимкнути у виводі ÐµÐºÑ€Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñтилі C "
"(типово)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent Ñтиль виводу з відÑтупами\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1813,71 +2008,81 @@ msgstr ""
" --keep-header залишити заголовок незмінним, не фільтрувати "
"його\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "фільтрувати виведені дані, що не завершуютьÑÑ Ñимволом нового Ñ€Ñдка"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "аргумент %s повинен бути поодиноким знаком пунктуації"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "неправильно вказано порÑдок байтів: %s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "Ñкщо вказано %s та %s, файл вхідних даних вказувати не Ñлід"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s вимагає вказати параметр \"-d каталог\""
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s вимагає вказати параметр \"-l локаль\""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "Ð´Ð»Ñ %s Ñлід вказати Ñпецифікацію «--template шаблон»"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "Ð´Ð»Ñ %s Ñлід вказати Ñпецифікацію «-o файл»"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "не можна одночаÑно викориÑтовувати %s та %s у %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s допуÑкаєтьÑÑ Ð»Ð¸ÑˆÐµ з %s або %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s допуÑкаєтьÑÑ Ð»Ð¸ÑˆÐµ з %s, %s або %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ правила ITS Ð´Ð»Ñ %s"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
@@ -1885,7 +2090,7 @@ msgstr[0] "%d перекладене повідомленнÑ"
msgstr[1] "%d перекладених повідомленнÑ"
msgstr[2] "%d перекладених повідомлень"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
@@ -1893,7 +2098,7 @@ msgstr[0] ", %d неточний переклад"
msgstr[1] ", %d неточних переклади"
msgstr[2] ", %d неточних перекладів"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
@@ -1901,36 +2106,27 @@ msgstr[0] ", %d неперекладене повідомленнÑ"
msgstr[1] ", %d неперекладених повідомленнÑ"
msgstr[2] ", %d неперекладених повідомлень"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] назва_файлу.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Створює двійковий каталог повідомлень з текÑтового опиÑу.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Ðргументи, обов'Ñзкові Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… ключів, Ñ” обов'Ñзковими й Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n"
-"Те ж Ñаме й Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ð¾Ð²'Ñзкових аргументів.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " назва_файлу.po ... вхідні файли\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Режим роботи:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1938,7 +2134,7 @@ msgid ""
msgstr ""
" -j, --java режим Java: Ñтворює Java ResourceBundle клаÑ\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1947,12 +2143,12 @@ msgstr ""
" --java2 Ñк Ñ– --java, вважаєтьÑÑ Java2 (JDK 1.2 чи "
"вище)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp режим C#: Ñтворює файли .NET .dll\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1961,19 +2157,19 @@ msgstr ""
" --csharp-resources режим C# реÑурÑів: Ñтворює файл .NET ."
"resources\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
" --tcl режим Tcl: Ñтворює файл tcl/msgcat .msg\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt режим Qt: Ñтворює файл Qt .qm\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1981,51 +2177,56 @@ msgstr ""
" --desktop режим запиÑу до desktop: Ñтворити файл ."
"desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml режим XML: Ñтворити файл XML\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict перейти у режим відповідноÑÑ‚Ñ– до Uniforum\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr ""
"Якщо Ñк файл виводу вказано -, вивід відбуватиметьÑÑ Ñƒ Ñтандартний вивід.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу у режимі Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=РЕСУРС назва реÑурÑу\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
"language_COUNTRY\n"
msgstr " -l, --locale=ЛОКÐЛЬ назва локалі, або мова або мова_КРÐЇÐÐ\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
msgstr " --source Ñтворити файл .java, а не файл .class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr ""
" -d КÐТÐЛОГ базовий каталог ієрархії каталогів клаÑів\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2037,12 +2238,12 @@ msgstr ""
"піÑÐ»Ñ Ð·Ð½Ð°ÐºÑƒ підкреÑленнÑ. Параметр -d Ñ” обов'Ñзковим. ÐšÐ»Ð°Ñ Ð·Ð°Ð¿Ð¸ÑуєтьÑÑ\n"
"у вказаний каталог.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу у режимі C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2051,7 +2252,7 @@ msgstr ""
" -d КÐТÐЛОГ базовий каталог залежних від локалі .dll "
"файлів\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2060,18 +2261,18 @@ msgstr ""
"Параметри -l та -d Ñ” обов'Ñзковими. Файл .dll запиÑуєтьÑÑ Ñƒ підкаталог\n"
"вказаного каталогу, назва Ñкого залежить від локалі.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу у режимі Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d КÐТÐЛОГ базовий каталог каталогів .msg повідомлень\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2080,24 +2281,24 @@ msgstr ""
"Параметри -l та -d Ñ” обов'Ñзковими. Файл .msg запиÑуєтьÑÑ Ñƒ вказаний "
"каталог.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Параметри режиму запиÑу desktop:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
" --template=ШÐБЛОРфайл .desktop, Ñкий Ñлід викориÑтати Ñк "
"шаблон\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d КÐТÐЛОГ базовий каталог Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -2106,7 +2307,7 @@ msgstr ""
" -kСЛОВО, --keyword=СЛОВО шукати СЛОВО Ñк додаткове ключове Ñлово\n"
" -k, --keyword не викориÑтовувати типових ключових Ñлів\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2117,12 +2318,28 @@ msgstr ""
"файли вхідних даних буде прочитано з каталогу, а не з аргументів командного\n"
"Ñ€Ñдка.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Параметри режиму XML:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=ÐÐЗВРрозпізнавати вказану мову XML\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+" --template=ШÐБЛОРфайл XML, Ñкий Ñлід викориÑтати Ñк шаблон\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Ð†Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð°Ñ†Ñ–Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2133,13 +2350,13 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format перевірити залежний від мови формат Ñ€Ñдків\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2148,7 +2365,7 @@ msgstr ""
" --check-header перевірити наÑвніÑÑ‚ÑŒ та вміÑÑ‚ елементу "
"заголовка\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2158,7 +2375,7 @@ msgstr ""
"та\n"
" параметром --output-file\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2167,7 +2384,7 @@ msgstr ""
" -C, --check-compatibility перевірити, що GNU msgfmt поводитьÑÑ Ñк X/Open "
"msgfmt\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2178,12 +2395,12 @@ msgstr ""
"у\n"
" пунктах меню\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy виводити елементи неточного перекладу\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2191,7 +2408,7 @@ msgstr ""
" -a, --alignment=ЧИСЛО форматувати Ñ€Ñдки по ЧИСЛО байт у Ñ€Ñдку "
"(типово: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2204,98 +2421,97 @@ msgstr ""
" (зворотний (big) або прÑмий (little),\n"
" типовий залежить від платформи)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash двійковий файл не буде включати хеш-таблицю\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics вивеÑти ÑтатиÑтику про переклад\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose збільшити рівень докладноÑÑ‚Ñ– виводу\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "попередженнÑ: заголовок файла PO відÑутній або некоректний\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "попередженнÑ: Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½ÑŒ Ñимволів не працюватиме\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "попередженнÑ: заголовок файла PO позначений Ñк нечіткий переклад\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "попередженнÑ: Ñтарі верÑÑ–Ñ— msgfmt Ñприйматимуть це Ñк помилку\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "назва домену «%s» не може викориÑтовуватиÑÑŒ Ñк назва файлу"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
"назва домену «%s» не може викориÑтовуватиÑÑŒ Ñк назва файлу: буде викориÑтано "
"префікÑ"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "директиву «domain %s» проігноровано"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "порожній елемент «msgstr» проігноровано"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "елемент з нечітким перекладом «msgstr» проігноровано"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: попередженнÑ: вихідний файл міÑтить нечіткий переклад"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s не Ñ–Ñнує"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "%s Ñ–Ñнує, але непридатний до читаннÑ"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "помилка при читанні «%s»"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2304,7 +2520,7 @@ msgstr ""
"параметр «%c» не може викориÑтовуватиÑÑŒ перед Ñимволами 'J', 'K', 'T', 'C' "
"чи 'X'"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2313,7 +2529,7 @@ msgstr ""
"Отримати уÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· каталогу перекладу, Ñкі відповідають вказаному\n"
"шаблону або належать до певних вказаних вхідних файлів.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2388,7 +2604,7 @@ msgstr ""
" -v, --invert-match виводити лише повідомленнÑ, Ñкі не відповідають\n"
" жодному критерію відбору\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2396,12 +2612,12 @@ msgstr ""
" --escape викориÑтовувати у виводі ÐµÐºÑ€Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñтилі "
"C, без розширених Ñимволів\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output Ñортувати інформацію, що виводитьÑÑ\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file Ñортувати за розташуваннÑм у файлах\n"
@@ -2502,14 +2718,14 @@ msgstr ""
"Ðе знайдено .pot файл у поточному каталозі.\n"
"Вкажіть вхідний .pot файл у параметрі --input.\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "процеÑ-нащадок %s завершивÑÑ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð¾ з кодом %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2526,28 +2742,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Переклад українÑькою Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ñƒ %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "вказане ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s» не Ñ” переноÑною назвою кодуваннÑ"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "у вхідному файлі два різні ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s» та «%s»"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "вхідний файл «%s» не міÑтить елемент заголовка, Ñкий вказує кодуваннÑ"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2556,19 +2772,19 @@ msgstr ""
"домен «%s» у вхідному файлі «%s» не міÑтить елемент заголовку, Ñкий вказує "
"кодуваннÑ"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "цільове ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s» не Ñ” переноÑною назвою кодуваннÑ."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "попередженнÑ: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2577,7 +2793,7 @@ msgstr ""
"Вхідні файли міÑÑ‚ÑÑ‚ÑŒ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ інших кодуваннÑÑ…, UTF-8 поміж інших.\n"
"Вивід перетворюєтьÑÑ Ñƒ UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2589,7 +2805,7 @@ msgstr ""
"Вивід перетворюєтьÑÑ Ñƒ UTF-8.\n"
"Щоб вибрати інше ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ, викориÑтовуйте параметр --to-code.\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2603,7 +2819,7 @@ msgstr ""
"що\n"
"вони вже у кодуванні UTF-8, тобто у файлах з текÑтом програми.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2616,12 +2832,12 @@ msgstr ""
"Вивід «%s» може бути некоректним.\n"
"Можливі обхідні шлÑхи:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Ð’Ñтановити LC_ALL у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»Ñ– з кодуваннÑм %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2632,7 +2848,7 @@ msgstr ""
" потім заÑтоÑувати «%s»,\n"
" потім перетворити назад на %s викориÑтовуючи 'msgconv'.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2645,7 +2861,7 @@ msgstr ""
" потім заÑтоÑувати «%s»,\n"
" потім перетворити назад у %s викориÑтовуючи 'msgconv'.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2656,27 +2872,27 @@ msgstr ""
"Вивід «%s» може бути некоректним.\n"
"Можливим обхідним шлÑхом Ñ” вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ LC_ALL=C.\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð½Ð¸Ñ… форм можуть давати від'ємні значеннÑ"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
"nplurals = %lu, але Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð½Ð¸Ñ… форм можуть давати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð°ÐºÑ– ж "
"великі Ñк Ñ– %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð½Ð¸Ñ… форм можуть призводити до Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr ""
"Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð½Ð¸Ñ… форм можуть призводити до Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ð¾Ð³Ð¾ значеннÑ"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2684,37 +2900,37 @@ msgstr ""
"Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð½Ð¸Ñ… форм можуть призводити до арифметичних виключних "
"Ñитуацій, можливе Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Спробуйте викориÑтати наÑтупне, що Ñ” правильним Ð´Ð»Ñ %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "каталог повідомлень має переклади з множинними формами"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "але заголовок не міÑтить атрибут \"plural=ВИРÐЗ\""
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "але заголовок не міÑтить атрибут \"nplurals=ЦІЛЕ_ЧИСЛО\""
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "неправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ nplurals"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "неправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ plural"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
@@ -2722,7 +2938,7 @@ msgstr[0] "але деÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ лише %lu м
msgstr[1] "але деÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ лише %lu множинні форми"
msgstr[2] "але деÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ лише %lu множинних форм"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
@@ -2730,7 +2946,7 @@ msgstr[0] "але деÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ %lu множиÐ
msgstr[1] "але деÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ %lu множинні форми"
msgstr[2] "але деÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ %lu множинних форм"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2738,74 +2954,90 @@ msgstr ""
"каталог повідомлень має переклад з множинними формами, але заголовок не "
"міÑтить \"Plural-Forms: nplurals=ЦІЛЕ; plural=ВИРÐЗ;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr ""
"обидва елементи «msgid» та «msgid_plural» не починаютьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно з «\\n»"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr ""
"обидва елементи «msgid» та «msgstr[%u]» не починаютьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно з «\\n»"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "елементи «msgid» та «msgstr» не починаютьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно з «\\n»"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "елементи «msgid» та «msgid_plural» не закінчуютьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно на «\\n»"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "елементи «msgid» та «msgstr[%u]» не закінчуютьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно на «\\n»"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "елементи «msgid» та «msgstr» не закінчуютьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно на «\\n»"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "обробка множинних форм Ñ” розширеннÑм GNU gettext"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "у msgstr відÑутній Ñимвол клавішного акÑелератора «%c»"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr міÑтить надто багато Ñимволів клавішних акÑелераторів «%c»"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "поле заголовка «%s» вÑе ще міÑтить початкове типове значеннÑ\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "у заголовку немає Ð¿Ð¾Ð»Ñ Â«%s»\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "Багатокрапка ASCII («...») заміÑÑ‚ÑŒ Ñимволу багатокрапки Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "у видимих кориÑтувачеві Ñ€Ñдках виÑвлено пробіл перед багатокрапкою"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "ВикориÑтано подвійні лапки ASCII заміÑÑ‚ÑŒ лапок Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "ВикориÑтано одинарні лапки ASCII заміÑÑ‚ÑŒ лапок Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s: вхідний потік не Ñ” коректним Ð´Ð»Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s: помилка при перетворенні ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð· «%s» на «%s»"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "вхідний файл не міÑтить заголовок, що вказує кодуваннÑ"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2814,7 +3046,7 @@ msgstr ""
"Ðе вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ з «%s» на «%s». %s викориÑтовує iconv(), а iconv() "
"не підтримує це перетвореннÑ."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2823,8 +3055,8 @@ msgstr ""
"ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· «%s» у «%s» призводить до поÑви дублікатів: деÑкі msgid ключі "
"Ñтануть однаковими."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2833,16 +3065,16 @@ msgstr ""
"Ðе вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ з «%s» у «%s». %s викориÑтовує iconv(). Ð¦Ñ Ð²ÐµÑ€ÑÑ–Ñ "
"Ñкомпільована без iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s Ñ” допуÑтимим лише разом з %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "тип резервної копії"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2865,17 +3097,17 @@ msgstr ""
"у файл будуть збережені. Якщо неможливо знайти точну відповідніÑÑ‚ÑŒ,\n"
"Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÑ€Ð°Ñ‰Ð¾Ð³Ð¾ результату викориÑтовуєтьÑÑ Ð½ÐµÑ‚Ð¾Ñ‡Ð½Ð° відповідніÑÑ‚ÑŒ.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po переклади з поÑиланнÑми на Ñтарий код\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° новий код\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2884,7 +3116,7 @@ msgstr ""
" -C, --compendium=ФÐЙЛ додаткова бібліотека перекладів повідомлень,\n"
" може бути вказано більш ніж один раз\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2893,29 +3125,29 @@ msgstr ""
" -U, --update оновити def.po,\n"
" нічого не робить, Ñкщо def.po вже оновлений\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ виводу у режимі оновленнÑ:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Результат запиÑуєтьÑÑ Ð½Ð°Ð·Ð°Ð´ у def.po.\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=КОÐТРОЛЬ зробити резервну копію def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=СУФІКС перевизначити звичайний ÑÑƒÑ„Ñ–ÐºÑ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ñ— "
"копії\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2934,7 +3166,7 @@ msgstr ""
"проÑÑ‚Ñ–\n"
" simple, never завжди викориÑтовувати проÑÑ‚Ñ– резервні копії\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2945,7 +3177,7 @@ msgstr ""
"suffix\n"
"або змінною Ñередовища SIMPLE_BACKUP_SUFFIX.\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2953,22 +3185,22 @@ msgstr ""
" --previous зберегти попередні msgid перекладених "
"повідомлень\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent не виводити індикатор поÑтупу\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ визначати множинні форми"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ повинно визначати множинні форми"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2977,28 +3209,28 @@ msgstr ""
"%sПрочитано %ld Ñтарих + %ld поÑилань, об'єднано %ld, неточних %ld, "
"відÑутніх %ld, заÑтарілих %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " виконано.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s та Ñвне Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð·Ð² файлів виключають одне одного"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] [ФÐЙЛ]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "Перетворює двійковий каталог повідомлень у файл .po Uniforum-Ñтилю.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3006,13 +3238,13 @@ msgid ""
msgstr ""
" -j, --java Java режим: вхід Ñ” клаÑом Java ResourceBundle\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp C# режим: вхідний файл у форматі .NET .dll\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3021,7 +3253,7 @@ msgstr ""
" --csharp-resources режим C# реÑурÑів: вхідний файл у форматі ."
"NET .resources\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3029,17 +3261,17 @@ msgstr ""
" --tcl Tcl режим: вхідний файл у форматі tcl/msgcat ."
"msg\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " ФÐЙЛ ... вхідні файли .mo\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… файлів у Java режимі:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3050,12 +3282,12 @@ msgstr ""
"відокремлюєтьÑÑ Ñимволом підкреÑленнÑ. ÐšÐ»Ð°Ñ ÑˆÑƒÐºÐ°Ñ”Ñ‚ÑŒÑÑ Ð· викориÑтаннÑм "
"CLASSPATH.\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу у C# режимі:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3064,12 +3296,12 @@ msgstr ""
"Параметри -l та -d Ñ” обов'Ñзковими. Файл .dll шукаєтьÑÑ Ñƒ підкаталозі\n"
"вказаного каталогу, назва Ñкого залежить від локалі.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файлу у Tcl режимі:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3078,19 +3310,19 @@ msgstr ""
"Параметри -l та -d Ñ” обов'Ñзковими. Файл .msg шукаєтьÑÑ Ñƒ вказаному\n"
"каталозі.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr ""
" -i, --indent викориÑтовувати Ñтиль виводу з відÑтупами\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict виводити у точній відповідноÑÑ‚Ñ– до uniforum\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3111,12 +3343,12 @@ msgstr ""
"параметр --use-first, вони берутьÑÑ Ð²Ñ–Ð´ першого перекладу. Позиції у файлах\n"
"будуть зібрані до купи. При викориÑтанні --unique, дублікати відкидаютьÑÑ.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated виводити лише дублікати\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -3125,7 +3357,7 @@ msgstr ""
" -u, --unique виводити лише унікальні повідомленнÑ, без "
"дублікатів\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -3182,32 +3414,32 @@ msgstr ""
"ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ вказане кориÑтувачем ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ не "
"працювати.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "неÑуміÑне викориÑÑ‚Ð°Ð½Ð½Ñ #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "пропущено розділ «msgstr[]»"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "пропущено розділ «msgid_plural»"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "пропущено розділ «msgstr»"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "перша множинна форма має ненульовий індекÑ"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "множинна форма має неправильний індекÑ"
@@ -3217,7 +3449,7 @@ msgstr "множинна форма має неправильний індекÑ
msgid "too many errors, aborting"
msgstr "надто багато помилок, Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "неправильна мультибайтна поÑлідовніÑÑ‚ÑŒ"
@@ -3244,7 +3476,7 @@ msgstr "невідоме ключове Ñлово «%s»"
#: src/po-lex.c:854
#, c-format
msgid "invalid control sequence"
-msgstr "неправильна керуюча поÑлідовніÑÑ‚ÑŒ"
+msgstr "неправильна керівна поÑлідовніÑÑ‚ÑŒ"
#: src/po-lex.c:981
#, c-format
@@ -3261,64 +3493,81 @@ msgstr "кінець Ñ€Ñдка поÑеред Ñ€Ñдка"
msgid "context separator <EOT> within string"
msgstr "розділювач контекÑту <EOT> поÑеред Ñ€Ñдка"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "цей файл не може міÑтити доменних директив"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "дублікат Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "це міÑце першого визначеннÑ"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "незавершена назва групи"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "некоректний непорожній Ñимвол"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "піÑÐ»Ñ Â«%s» пропущено «=»"
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "некоректний непорожній Ñ€Ñдок"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "файл «%s» обрізаний"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "файл «%s» міÑтить Ñ€Ñдок з не-NUL завершеннÑм"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "файл «%s» не у GNU .mo форматі"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "файл «%s» міÑтить Ñ€Ñдок з не-NUL завершеннÑм, у %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "попередженнÑ: неправильний ÑинтакÑÐ¸Ñ \\uxxxx Ñимволу Юнікоду"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "попередженнÑ: незавершений Ñ€Ñдок"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "попередженнÑ: ÑинтакÑична помилка"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "попередженнÑ: незавершена пара ключ/значеннÑ"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "попередженнÑ: ÑинтакÑична помилка, піÑÐ»Ñ Ñ€Ñдка очікувавÑÑ Ð·Ð½Ð°Ðº ';'"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "попередженнÑ: ÑинтакÑична помилка, піÑÐ»Ñ Ñ€Ñдка очікуєтьÑÑ '=' або ';'"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Ðвтор програми %s та %s.\n"
@@ -3327,16 +3576,16 @@ msgstr "Ðвтор програми %s та %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Перекодувати ÑербÑький текÑÑ‚ із кирилиці у латиницю.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3345,27 +3594,27 @@ msgstr ""
"Вхідний текÑÑ‚ читаєтьÑÑ Ð·Ñ– Ñтандартного потоку вводу. Перетворений текÑÑ‚\n"
"виводитьÑÑ Ñƒ Ñтандартний потік виводу.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "вхідний потік не Ñ” коректним Ð´Ð»Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "помилка при Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s» на «%s»"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "очікувалоÑÑŒ два аргументи"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ : %s [ПÐРÐМЕТР] URL ФÐЙЛ\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3374,37 +3623,37 @@ msgstr ""
"ВитÑгує та виводить вміÑÑ‚ URL. Якщо URL недоÑтупний,\n"
"натоміÑÑ‚ÑŒ викориÑтовуєтьÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾ доÑтупний ФÐЙЛ.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "помилка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Â«%s»"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "помилка при запиÑÑ– у Ñтандартний вивід"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "помилка піÑÐ»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Â«%s»"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ %s…"
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " невдало.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3412,7 +3661,7 @@ msgstr ""
"Ðе можна виводити декілька доменів перекладу у єдиний файл з вказаним "
"форматом. Спробуйте натоміÑÑ‚ÑŒ викориÑтати PO ÑинтакÑиÑ."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3420,7 +3669,7 @@ msgstr ""
"Ðе можна виводити декілька доменів перекладу у єдиний файл з вказаним "
"форматом виводу."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3428,7 +3677,7 @@ msgstr ""
"каталог повідомлень міÑтить залежний від контекÑту переклад, але контекÑти "
"не підтримуютьÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð¼ виводу."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3438,7 +3687,7 @@ msgstr ""
"не підтримує. Спробуйте Ñтворити Java ÐºÐ»Ð°Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовуючи \"msgfmt --java\", "
"заміÑÑ‚ÑŒ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ влаÑтивоÑтей."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3446,12 +3695,12 @@ msgstr ""
"каталог повідомлень має переклад з множинними формами, але формат виводу їх "
"не підтримує."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "не вдаєтьÑÑ Ñтворити файл виводу «%s»"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "Ñтандартний вивід"
@@ -3470,33 +3719,34 @@ msgstr "помилка при компілÑції клаÑу C#, Ñпробуй
msgid "compilation of C# class failed"
msgstr "помилка при компілÑції клаÑу C#"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "помилка при відкриванні «%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "не Ñ” правильною назвою клаÑу Java: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"помилка при компілÑції клаÑу Java, Ñпробуйте --verbose або вÑтановіть $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"помилка при компілÑції клаÑу Java, Ñпробуйте вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "помилка при відкриванні «%s» Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "незавершена мультибайтна поÑлідовніÑÑ‚ÑŒ"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
@@ -3504,7 +3754,7 @@ msgstr ""
"інтернаціоналізовані Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ повинні міÑтити керівну поÑлідовніÑÑ‚ÑŒ "
"«\\%c»"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3517,7 +3767,7 @@ msgstr ""
"вашого ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñимволів. ВикориÑтовуйте лише ASCII Ñимволи у msgctxt.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3530,7 +3780,7 @@ msgstr ""
"вашого ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñимволів. ВикориÑтовуйте лише ASCII Ñимволи у msgid.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3538,7 +3788,7 @@ msgstr ""
"каталог повідомлень має переклад з множинними формами\n"
"але формат каталогу повідомлень Qt не підтримує множинні форми\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3551,7 +3801,7 @@ msgstr ""
"перекладених\n"
"Ñ€Ñдків, а не у Ñ€Ñдках контекÑту\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3562,12 +3812,12 @@ msgstr ""
"але формат каталогу повідомлень Qt підтримує Юнікод лише у перекладених "
"Ñ€Ñдках\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "помилка при запиÑÑ– у «%s» дочірній процеÑ"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3575,7 +3825,7 @@ msgstr ""
"каталог повідомлень міÑтить залежний від контекÑту переклад\n"
"але формат каталогу реÑурÑів C# не підтримує контекÑти\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3583,7 +3833,7 @@ msgstr ""
"каталог повідомлень має переклад з множинними формами\n"
"але формат каталогу реÑурÑів C# не підтримує множинні форми\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3591,7 +3841,7 @@ msgstr ""
"каталог повідомлень міÑтить залежний від контекÑту переклад\n"
"але формат каталогу повідомлень Tcl не підтримує контекÑти\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3599,36 +3849,36 @@ msgstr ""
"каталог повідомлень міÑтить переклад з множинними формами\n"
"але формат каталогу повідомлень Tcl не підтримує множинні форми\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: попередженнÑ: незавершений Ñ€Ñдок"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: попередженнÑ: незавершений регулÑрний вираз"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "попередженнÑ: некоректний Ñимвол Unicode"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: попередженнÑ: незавершена Ñимвольна конÑтанта"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: попередженнÑ: незавершений Ñимвольний літерал"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3637,7 +3887,7 @@ msgstr ""
"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3646,7 +3896,7 @@ msgstr ""
"%s:%d: Довга незавершена мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3655,7 +3905,7 @@ msgstr ""
"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці файлу.\n"
"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3664,12 +3914,12 @@ msgstr ""
"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці Ñ€Ñдка.\n"
"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: помилка iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3678,283 +3928,80 @@ msgstr ""
"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: попередженнÑ: неправильний Ñимвол Юнікоду"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: попередженнÑ: незавершена Ñимвольна конÑтанта"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: попередженнÑ: знайдено ')' там де очікувалаÑÑŒ «}»"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: попередженнÑ: знайдено «}» там де очікувалаÑÑŒ ')'"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Ð”Ð»Ñ Ñ€Ñдка, видобутого з елемента «%s», не вказано контекÑту"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-"У коректному файлі Glade не можна викориÑтовувати кореневий елемент <%s>"
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Мова \"glade\" не підтримуєтьÑÑ. %s залежить від expat.\n"
-"Ð¦Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñкомпільована без підтримки expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: попередженнÑ: одиничний замінник U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Довга незавершена мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці файлу.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці Ñ€Ñдка.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: попередженнÑ: літерал формального виразу завершено передчаÑно"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: попередженнÑ: не можна викориÑтовувати %s"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: попередженнÑ: незавершена розмітка XML"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñимвол Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ñдка «%s» до EOF"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: відÑÑƒÑ‚Ð½Ñ Ð¿Ñ€Ð°Ð²Ð° фігурна дужка у \\x{ШІСТÐ.ЧИСЛО}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\l\") 8-бітного Ñимволу \"%c\""
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\u\") 8-бітного Ñимволу \"%c\""
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— у \"%c\""
-
-#: src/x-perl.c:1230
+#: src/xgettext.c:579
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\L\") 8-бітного Ñимволу \"%c\""
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\U\") 8-бітного Ñимволу \"%c\""
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
-"згідно http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
-"згідно http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: Довга незавершена мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
-"згідно http://www.python.org/peps/pep-0263.html.\n"
+"«%s» не Ñ” коректною назвою кодуваннÑ. ВикориÑтовуємо резервне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ "
+"ASCII.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці файлу.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
-"згідно http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "невідома перевірка ÑинтакÑиÑу, «%s»"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці Ñ€Ñдка.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
-"згідно http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "невідомий тип Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ, «%s»"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
-"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
-"згідно http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Ðевідоме ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s». ВважаєтьÑÑ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ ASCII."
+"--join-existing не може викориÑтовуватиÑÑŒ, Ñкщо вивід направлÑєтьÑÑ Ñƒ "
+"Ñтандартний вивід"
-#: src/x-rst.c:108
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: неправильне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ñдка"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "xgettext не може працювати без вказаних ключових Ñлів Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ"
-#: src/x-rst.c:172
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: піÑÐ»Ñ Ð·Ð½Ð°ÐºÑƒ # відÑутнє чиÑло"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "попередженнÑ: файла правил ITS «%s» не Ñ–Ñнує"
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: неправильний Ñимвольний вираз"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: попередженнÑ: ÑинтакÑÐ¸Ñ $\"...\" Ñ” забороненим з міркувань безпеки; "
-"натоміÑÑ‚ÑŒ викориÑтовуйте eval_gettext"
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: попередженнÑ: літерал формального виразу завершено передчаÑно"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"«%s» не Ñ” коректною назвою кодуваннÑ. ВикориÑтовуємо резервне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ "
-"ASCII.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr ""
-"--join-existing не може викориÑтовуватиÑÑŒ, Ñкщо вивід направлÑєтьÑÑ Ñƒ "
-"Ñтандартний вивід"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "xgettext не може працювати без вказаних ключових Ñлів Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ"
+"попередженнÑ: файла правил ITS «%s» не Ñ–Ñнує; перевірте, чи належним чином "
+"вÑтановлено gettext"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
"попередженнÑ: у файлі «%s» невідоме Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Â«%s»; Ñпроба викориÑтати C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "ВитÑгує Ñ€Ñдки Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ñƒ з вказаних вхідних файлів.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3963,12 +4010,12 @@ msgstr ""
" -d, --default-domain=ÐÐЗВРвиводити у файл ÐÐЗВÐ.po (заміÑÑ‚ÑŒ messages."
"po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=ФÐЙЛ запиÑувати вивід у вказаний файл\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
@@ -3976,12 +4023,12 @@ msgstr ""
" -p, --output-dir=КÐТÐЛОГ файли виводу будуть Ñтворені у каталозі "
"КÐТÐЛОГ\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Вибір мови вхідного файлу:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4002,19 +4049,19 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ --language=C++\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "Типово, мова визначаєтьÑÑ Ð·Ð° розширеннÑм назви вхідного файлу.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4023,24 +4070,24 @@ msgstr ""
" --from-code=ÐÐÐ—Ð’Ð ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… файлів\n"
" (за винÑтком Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Типово, вважаєтьÑÑ, що вхідні файли у кодуванні ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr ""
" -j, --join-existing об'єднати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· Ñ–Ñнуючим файлом\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=ФÐЙЛ.po елементи з ФÐЙЛ.po не будуть витÑгуватиÑÑŒ\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4057,17 +4104,39 @@ msgstr ""
"Ñ€Ñдки\n"
" ключових Ñлів у файлі виведених даних\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=ÐÐЗВРвиконати ÑинтакÑичну перевірку повідомлень\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=ТИП тип, що опиÑує кінець реченнÑ\n"
+" (одинарний пробіл, типовий варіант, \n"
+" або подвійний пробіл)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Параметри оÑобливі Ð´Ð»Ñ Ð¼Ð¾Ð²Ð¸:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all витÑгнути уÑÑ– Ñ€Ñдки\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4082,7 +4151,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4097,7 +4166,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-код, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4107,7 +4176,7 @@ msgstr ""
" --flag=СЛОВО:ÐРГ:ОЗÐÐКРдодаткова ознака Ð´Ð»Ñ Ñ€Ñдків поÑеред номера\n"
" аргументу ÐРГ ключового Ñлова СЛОВО\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4122,55 +4191,65 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr ""
" -T, --trigraphs розпізнавати ANSI C trigraph-и на вході\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (лише мови C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt розпізнавати Ñ€Ñдки у Qt форматі\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (лише мова C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde розпізнати Ñ€Ñдки у форматуванні KDE 4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost розпізнавати Ñ€Ñдки у форматі Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr ""
" --debug докладніший результат пошуку Ñ€Ñдків формату\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output виводити у файл Java .properties\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=ФÐЙЛ заÑтоÑувати правила ITS з ФÐЙЛа\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool запиÑувати коментарі itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=РЯДОК вÑтановити влаÑника авторÑьких прав\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4178,20 +4257,20 @@ msgstr ""
" --foreign-user пропуÑкати у виводі FSF copyright Ð´Ð»Ñ "
"Ñторонніх кориÑтувачів\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
" --package-name=ПÐКУÐОК вÑтановити назву пакунка у виведених даних\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=ВЕРСІЯ вÑтановити верÑÑ–ÑŽ пакунка у виведених "
"даних\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4199,7 +4278,7 @@ msgstr ""
" --msgid-bugs-address=EMAIL@ÐДРЕСРадреÑа Ð·Ð²Ñ–Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾ помилки у "
"msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4210,7 +4289,7 @@ msgstr ""
"елементів\n"
" msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4221,7 +4300,7 @@ msgstr ""
"елементів\n"
" msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4230,31 +4309,31 @@ msgstr ""
"Ðргумент --flag не підтримує ÑинтакÑÐ¸Ñ <ключове_Ñлово>:<argnum>:"
"[pass-]<flag>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "Ñтандартний ввід"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Символ, що не належить до ASCII, у %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Коментар не у форматі ASCII на позиції або перед %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "РÑдок не у форматі ASCII на позиції %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: попередженнÑ: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4263,7 +4342,7 @@ msgstr ""
"Хоча й викориÑтовуєтьÑÑ Ñƒ позиції Ñ€Ñдку формату, %s не Ñ” правильним %s "
"Ñ€Ñдком формату. Причина: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4272,7 +4351,7 @@ msgstr ""
"Хоча й заÑвлений Ñк такий, %s не Ñ” правильним %s Ñ€Ñдком формату. Причина: "
"%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4285,7 +4364,7 @@ msgstr ""
"ЗаміÑÑ‚ÑŒ кортежу аргументів, викориÑтовуйте Ñ€Ñдок формату з аргументами,\n"
"що мають назву та Ñ—Ñ… підÑтановку.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4295,29 +4374,29 @@ msgstr ""
"gettext(\"\") повертає елемент заголовку\n"
"метаінформації, а не порожній Ñ€Ñдок.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "неоднозначно вказане ключове Ñлово '%.*s'"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "попередженнÑ: відÑутній контекÑÑ‚ Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð²Ð¾Ð³Ð¾ Ñлова '%.*s'"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
"попередженнÑ: відÑутній контекÑÑ‚ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð½Ð¾Ð³Ð¾ аргументу ключового Ñлова "
"'%.*s'"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "невідповідніÑÑ‚ÑŒ контекÑту між формою однини та множини"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4329,15 +4408,355 @@ msgstr ""
"тут змінну MSGID_BUGS_ADDRESS; у іншому випадку\n"
"вкажіть --msgid-bugs-address аргумент командного Ñ€Ñдка.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "невідома мова «%s»"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: попередженнÑ: одиничний замінник U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Довга незавершена мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці файлу.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці Ñ€Ñдка.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code.\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: попередженнÑ: літерал формального виразу завершено передчаÑно"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: попередженнÑ: не можна викориÑтовувати %s"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: попередженнÑ: незавершена розмітка XML"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñимвол Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ñдка «%s» до EOF"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: відÑÑƒÑ‚Ð½Ñ Ð¿Ñ€Ð°Ð²Ð° фігурна дужка у \\x{ШІСТÐ.ЧИСЛО}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\l\") 8-бітного Ñимволу \"%c\""
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\u\") 8-бітного Ñимволу \"%c\""
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— у \"%c\""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\L\") 8-бітного Ñимволу \"%c\""
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: неправильна інтерполÑÑ†Ñ–Ñ (\"\\U\") 8-бітного Ñимволу \"%c\""
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
+"згідно http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
+"згідно http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Довга незавершена мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
+"згідно http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці файлу.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
+"згідно http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðезавершена мультибайтова поÑлідовніÑÑ‚ÑŒ наприкінці Ñ€Ñдка.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
+"згідно http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: Ðеправильна мультибайтова поÑлідовніÑÑ‚ÑŒ.\n"
+"Вкажіть вхідне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ параметрі --from-code або у коментарі,\n"
+"згідно http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Ðевідоме ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s». ВважаєтьÑÑ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ ASCII."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: неправильне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ñдка"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: піÑÐ»Ñ Ð·Ð½Ð°ÐºÑƒ # відÑутнє чиÑло"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: неправильний Ñимвольний вираз"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: попередженнÑ: ÑинтакÑÐ¸Ñ $\"...\" Ñ” забороненим з міркувань безпеки; "
+"натоміÑÑ‚ÑŒ викориÑтовуйте eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: попередженнÑ: літерал формального виразу завершено передчаÑно"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<без назви>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "Ðекоректна поÑлідовніÑÑ‚ÑŒ UTF-8"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "«%s» не є коректною назвою: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "«'%s» не є коректною назвою: «%c»"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "не Ñ” коректною чиÑловою Ñпецифікацією"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "пропущено завершальну «;»"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "заборонений Ñимвол"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "порожній"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "невідомий"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ÑутніÑÑ‚ÑŒ (entity): %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "документ має починатиÑÑ Ð· елемента"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "некоректний Ñимвол піÑÐ»Ñ Â«%s»"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "пропущено «%c»"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "пропущено «%c» або «%c»"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "назва завершального елемента"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "елемент завершено"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "порожній документ"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "піÑÐ»Ñ Â«<»"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "елемент не завершено"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "пропущено «>»"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "у назві елемента"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "у назві атрибута"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "у відкритому тезі"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "піÑÐ»Ñ Â«=»"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "у завершальному тезі"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "у коментарі або інÑтрукції обробки"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "неочікуване Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°: %s"
+
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr ""
+#~ "У коректному файлі CLDR не можна викориÑтовувати кореневий елемент <%s>"
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Ð”Ð»Ñ Ñ€Ñдка, видобутого з елемента «%s», не вказано контекÑту"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Мова \"glade\" не підтримуєтьÑÑ. %s залежить від expat.\n"
+#~ "Ð¦Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñкомпільована без підтримки expat.\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "поле заголовку «%s» повинно починатиÑÑŒ з початку Ñ€Ñдка\n"
diff --git a/gettext-tools/po/vi.gmo b/gettext-tools/po/vi.gmo
index 26dbe7b..3a5fe7e 100644
--- a/gettext-tools/po/vi.gmo
+++ b/gettext-tools/po/vi.gmo
Binary files differ
diff --git a/gettext-tools/po/vi.po b/gettext-tools/po/vi.po
index a9f658c..583b7d8 100644
--- a/gettext-tools/po/vi.po
+++ b/gettext-tools/po/vi.po
@@ -1,16 +1,16 @@
# Vietnamese Translation for gettext-tools.
# Bản dịch tiếng Việt dành cho gettext-tools.
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2014.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2014, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.19.4-rc1\n"
+"Project-Id-Version: gettext-tools 0.19.7-rc1\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2014-12-11 08:25+0700\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-12-24 08:08+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -19,6 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 2.91.7\n"
#: gnulib-lib/argmatch.c:133
#, c-format
@@ -58,40 +59,40 @@ msgstr "không thể xóa bá» thÆ° mục tạm thá»i %s"
msgid "write error"
msgstr "lá»—i ghi"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "Ä‘ang bảo tồn quyá»n hạn cho %s"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "gặp lá»—i khi mở %s để Ä‘á»c"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "không thể mở tập tin sao lưu %s để ghi"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "lá»—i Ä‘á»c %s"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "lá»—i ghi %s"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "gặp lá»—i sau khi Ä‘á»c %s"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() gặp lỗi"
@@ -117,58 +118,63 @@ msgstr "Lỗi hệ thống không rõ"
msgid "%s subprocess failed"
msgstr "Tiến trình con “%s†gặp lỗi"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: tùy chá»n “%s†chÆ°a rõ ràng; khả năng là:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: tùy chá»n “%s†chÆ°a rõ ràng\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “--%s†không cho phép đối số\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “%c%s†không cho phép đối số\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: tùy chá»n “%s†yêu cầu má»™t đối số\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: không nhận ra tùy chá»n “--%sâ€\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: không nhận ra tùy chá»n “%c%sâ€\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: tùy chá»n không hợp lệ -- “%câ€\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: tùy chá»n cần má»™t đối số -- “%câ€\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: tùy chá»n “-W %s†chÆ°a rõ ràng\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “-W %s†không cho phép đối số\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: tùy chá»n “-W %s†yêu cầu má»™t đối số\n"
@@ -188,15 +194,16 @@ msgstr ""
"đối số “target_version†(phiên bản đích) không hợp lệ đối với "
"“compile_java_class†(biên dịch lớp Java)"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "gặp lá»—i khi tạo “%sâ€"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "gặp lá»—i khi ghi tập tin “%sâ€"
@@ -212,15 +219,15 @@ msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "Không tìm thấy cơ chế ảo Java, hãy thử cài đặt gcj hoặc đặt $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s lỗi V/R tiến trình con"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "cạn bộ nhớ"
@@ -231,7 +238,7 @@ msgid "creation of threads failed"
msgstr "việc tạo tuyến trình gặp lỗi"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "gặp lỗi khi ghi vào tiến trình phụ %s"
@@ -277,11 +284,11 @@ msgstr "tiến trình con %s đã kết thúc với mã thoát %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "“"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "â€"
@@ -317,56 +324,208 @@ msgstr "%s tiến trình con"
msgid "%s subprocess got fatal signal %d"
msgstr "%s tiến trình con nhận được tín hiệu nghiêm trá»ng %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "gặp lá»—i khi mở “%s†để Ä‘á»c"
+msgid "The root element must be <%s>"
+msgstr "Phần tử gốc không phải là <%s>"
-#: src/format.c:151
+#: src/cldr-plurals.c:83
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "Phần tử <%s> không được phép chứa một phần tử <%s>"
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr "Phần tử <%s> không được phép có thuộc tính <%s>"
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Hãy thử lệnh “%s --help†để xem thông tin thêm.\n"
+
+#: src/cldr-plurals.c:195
+#, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "Cách dùng: %s [CÃC TÙY CHỌN…] [CÃC QUY TẮC ÄỊA PHƯƠNG]…\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
msgstr ""
-"“%s†không phải là má»™t chuá»—i định dạng %s đúng, không giống vá»›i “%sâ€. Lý do: "
-"%s"
+"Trích hay chuyển đổi các quy tắc số nhiá»u CLDR\n"
+"\n"
+"Nếu cả ÄỊA PHƯƠNG và CÃC QUY TẮC được chỉ định, thì Ä‘á»c quy tắc\n"
+"CLDR cho ÄỊA PHƯƠNG từ CÃC QUY TẮC và in chúng theo dạng thức\n"
+"phù hợp với các dùng gettext. Nếu không đưa ra tham số nào, nó\n"
+"Ä‘á»c quy tắc số nhiá»u CLDR từ đầu vào tiêu chuẩn.\n"
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Tất cả đối số bắt buá»™c phải có vá»›i tùy chá»n dài cÅ©ng bắt buá»™c vá»›i tùy chá»n ngắn.\n"
+"CÅ©ng vậy vá»›i đối số kiểu tùy chá»n.\n"
+
+#: src/cldr-plurals.c:214
+#, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr ""
+" -c, --cldr in quy tắc số nhiá»u theo định dạng CLDR\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help hiện trợ giúp này rồi thoát\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version xuất thông tin phiên bản rồi thoát\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+"Hãy thông báo lỗi cho <bug-gnu-gettext@gnu.org>.\n"
+"Hãy thông báo lỗi dịch nào cho <http://translationproject.org/team/vi."
+"html>.\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Tác quyá»n © %s Tổ chức Phần má»m Tá»± do.\n"
+"Giấy Phép Công Cộng GNU (GPL), phiên bản 3 hay sau <http://gnu.org/licenses/gpl.html>\n"
+"Äây là phần má»m tá»± do: bạn có quyá»n thay đổi và phát hành lại nó.\n"
+"KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u kiện được pháp luật cho phép.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Viết bởi %s.\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr "Daiki Ueno"
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr "%s không thể Ä‘á»c được"
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:321
+#, c-format
+msgid "cannot extract rules for %s"
+msgstr "không thể trích quy tắc cho %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr "không thể phân tích quy tắc CLDR"
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr "gặp một toán hạng thừa %s"
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "gặp lá»—i khi mở “%s†để Ä‘á»c"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr ""
"má»™t đặc tả định dạng cho đối số %u, nhÆ° trong “%sâ€, không tồn tại trong “%sâ€"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "má»™t đặc tả định dạng cho đối số %u cÅ©ng không tồn tại trong “%sâ€"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr ""
"đặc tả định dạng trong “%s†và “%s†cho đối số %u không phải trùng nhau"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr ""
"Chỉ thị số %u bắt đầu vá»›i ký hiệu ống dẫn “|†nhÆ°ng không kết thúc vá»›i “|â€."
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr ""
+"“%s†không phải là má»™t chuá»—i định dạng %s đúng, không giống vá»›i “%sâ€. Lý do: "
+"%s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -376,40 +535,40 @@ msgstr ""
"tả định dạng. Những tên vĩ lệnh hợp lệ được liệt kê trong ISO C 99 chương "
"7.8.1."
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "Trong chỉ thị số %u, thẻ bài nằm sau “<†mà không có “>†đi theo. "
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr ""
"Chuỗi này tham chiệu đến đối số có số %u nhưng mà bỠqua đối số có số %u."
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "“%s†và “%s†không có cùng một số các đặc tả định dạng"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "Trong chỉ thị số %u, dấu ngoặc móc mở “{†không có số đối số đi theo."
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "Trong chỉ thị số %u, dấu phẩy “,†không có một con số đi theo."
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr "Chuỗi này kết thúc ở giữa chỉ thị: “{†mà không có “}†tương ứng."
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
@@ -417,20 +576,20 @@ msgstr ""
"Chỉ thị số %u kết thúc với ký tự không hợp lệ “%c†thay vì dấu ngoặc móc "
"đóng “}â€."
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr ""
"Chỉ thị số %u kết thúc với một ký tự không hợp lệ, thay vì dấu ngoặc móc "
"đóng “}â€."
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "Chuỗi bắt đầu ở giữa chỉ thị: “}†mà không có “{†tương ứng."
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "Chuỗi chứa một “}†lẻ đôi nằm sau chỉ thị số %u."
@@ -545,25 +704,25 @@ msgstr ""
"Chuá»—i tham chiếu đến đối số có số %u bằng nhiá»u cách không tÆ°Æ¡ng thích vá»›i "
"nhau."
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "Trong chỉ thị số %u, chuỗi phụ “%s†không thuộc kiểu ngày/giỠhợp lệ."
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "Trong chỉ thị số %u, “%s†không cho phép dấu phẩy đi theo."
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "Trong chỉ thị số %u, chuỗi phụ “%s†không thuộc kiểu con số hợp lệ."
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
@@ -572,12 +731,12 @@ msgstr ""
"Trong chỉ thị số %u, số hiệu đối số không cho phép dấu phẩy và một trong số "
"của “%sâ€, “%sâ€, “%sâ€, “%s†theo sau."
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "trong chỉ thị số %u, có má»™t lá»±a chá»n không chứa con số."
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
@@ -586,26 +745,49 @@ msgstr ""
"Trong chỉ thị số %u, có má»™t lá»±a chá»n chứa con số mà nó không theo sau bởi "
"dấu “<â€, “#†hay “%s†theo sau."
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr ""
"đặc tả định dạng cho đối số {%u}, nhÆ° trong “%sâ€, không tồn tại trong “%sâ€"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "đặc tả định dạng cho đối số {%u} không tồn tại trong “%sâ€"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr ""
"đặc tả định dạng trong “%s†và “%s†cho đối số {%u} không phải cùng một thứ"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr ""
+"Chuỗi này tham chiệu đến đối số có số %u nhưng mà bỠqua đối số có số %u và "
+"%u."
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr ""
+"má»™t đặc tả định dạng cho tham số %u và %u không tồn tại trong “%sâ€, chỉ má»™t "
+"tham số có thể được bỠqua"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "gặp lá»—i khi phân tích: “%sâ€"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -614,7 +796,7 @@ msgid ""
msgstr ""
"Trong chỉ thị số %u, tham số %u có kiểu “%s†nhÆ°ng lẽ ra phải có kiểu “%sâ€."
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -626,33 +808,33 @@ msgstr[0] ""
"Trong chỉ thị số %u có quá nhiá»u tham số được Ä‘Æ°a ra; cần nhiá»u nhất là %u "
"tham số."
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "Trong chỉ thị số %u, “%c†không có chữ số đi theo."
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "Trong chỉ thị số %u, đối số “%d†là âm."
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
-msgstr "Chuá»—i kết thúc ở giữa chỉ thị kiểu “~/.../â€."
+msgstr "Chuá»—i kết thúc ở giữa chỉ thị kiểu “~/…/â€."
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "Có “~%c†mà không có “~%c†tương ứng."
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "Trong chỉ thị số %u, cả hai dấu sửa đổi “@†và “:†được đưa ra."
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
@@ -660,29 +842,35 @@ msgid ""
msgstr ""
"Trong chỉ thị số %u, “~:[†không có hai mệnh Ä‘á» Ä‘i theo, định giớí bằng “~;â€."
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "Trong chỉ thị số %u, “~;†được dùng ở vị trí không hợp lệ."
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
"Chuá»—i tham chiếu đến má»™t đối số nào đó bằng nhiá»u cách không tÆ°Æ¡ng thích vá»›i "
"nhau."
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "đặc tả định dạng trong “%s†và “%s†không phải tương đương"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr ""
"đặc tả định dạng trong “%s†không phải tập hợp con của đặc tả trong “%sâ€"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "đặc tả định dạng cho đối số “%s†không tồn tại trong “%sâ€"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
@@ -691,14 +879,37 @@ msgstr ""
"Trong chỉ thị số %u, đặc tả kích cỡ không tương thích với đặc tả chuyển đổi "
"“%câ€."
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "đặc tả định dạng cho đối số “%s†không tồn tại trong “%sâ€"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Trong chỉ thị số %u, “%c†không thể bắt đầu bằng má»™t tên trÆ°á»ng."
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr ""
+"Trong chỉ thị số %u, “%c†không thể bắt đầu bằng một đối số getattr (lấy "
+"thuộc tính?)."
+
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Trong chỉ thị số %u, “%c†không thể bắt đầu bằng một đối số getitem."
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr ""
+"Trong chỉ thị số %u, không cho phép lồng nhau thêm nữa trong bộ chỉ định "
+"định dạng."
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Trong chỉ thị số %u, có một chỉ thị định dạng chưa được kết thúc."
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
@@ -706,14 +917,14 @@ msgstr ""
"Chuỗi tham chiếu đến đối số bằng cả hai tên đối số và đặc tả đối số không "
"tên."
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
"Chuá»—i tham chiếu đến đối số tên “%s†bằng nhiá»u cách không tÆ°Æ¡ng thích vá»›i "
"nhau."
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
@@ -721,7 +932,7 @@ msgstr ""
"đặc tả định dạng trong “%s†cần một ánh xạ, còn đặc tả trong “%s†cần một "
"tuple (tạm dịch: bản ghi, một dòng dữ liệu)"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
@@ -729,51 +940,21 @@ msgstr ""
"đặc tả định dạng trong “%s†cần một tuple (tạm dịch: bản ghi, một dòng dữ "
"liệu), còn đặc tả trong “%s†cần một ánh xạ"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr ""
"đặc tả định dạng cho đối số “%sâ€, nhÆ° trong “%sâ€, không tồn tại trong “%sâ€"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr ""
"đặc tả định dạng trong “%s†và “%s†cho đối số “%s†không phải trùng nhau"
-#: src/format-python-brace.c:137
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "Trong chỉ thị số %u, “%c†không thể bắt đầu bằng má»™t tên trÆ°á»ng."
-
-#: src/format-python-brace.c:150
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr ""
-"Trong chỉ thị số %u, “%c†không thể bắt đầu bằng một đối số getattr (lấy "
-"thuộc tính?)."
-
-#: src/format-python-brace.c:165
-#, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "Trong chỉ thị số %u, “%c†không thể bắt đầu bằng một đối số getitem."
-
-#: src/format-python-brace.c:185
-#, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr ""
-"Trong chỉ thị số %u, không cho phép lồng nhau thêm nữa trong bộ chỉ định "
-"định dạng."
-
-#: src/format-python-brace.c:270
-#, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "Trong chỉ thị số %u, có một chỉ thị định dạng chưa được kết thúc."
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -782,11 +963,11 @@ msgstr ""
"“%s†là một chuỗi định dạng đơn giản, nhưng “%s†không phải: nó chứa một cỠ"
"“L†hay một số kiểu đối số chữ-số-kép"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "Chuỗi tham chiếu đến một biến hệ vỠcó tên khác ASCII."
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
@@ -794,101 +975,66 @@ msgstr ""
"Chuỗi tham chiếu đến một biến hệ vỠcó cú pháp dấu ngoặc hệ vỠphức tạp. Ở "
"đây không hỗ trợ cú pháp đó bởi vì lý do bảo mật."
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
"Chuỗi tham chiếu đến biến hệ vỠcó giá trị có thể khác trong hàm trình bao."
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "Chuỗi tham chiếu đến biến hệ vỠcó tên rỗng."
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "Trong chỉ thị số %u, ký tự “%c†không phải chữ số nằm giữa 1 và 9."
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "Ký tự kết thúc chỉ thị số %u không phải chữ số nằm giữa 1 và 9."
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Tác quyá»n © %s Tổ chức Phần má»m Tá»± do.\n"
-"Giấy Phép Công Cộng GNU (GPL), phiên bản 3 hay sau <http://gnu.org/licenses/gpl.html>\n"
-"Äây là phần má»m tá»± do: bạn có quyá»n thay đổi và phát hành lại nó.\n"
-"KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u kiện được pháp luật cho phép.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "Viết bởi %s.\n"
-
# Name: don't translate / Tên: đừng dịch
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "quá nhiá»u đối số"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "Hãy thử lệnh “%s --help†để xem thông tin thêm.\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "Cách dùng: %s [TÙY CHỌN]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "In ra tên máy của máy tính này.\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "Äịnh dạng xuất ra:\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short tên máy ngắn\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -898,80 +1044,103 @@ msgstr ""
" -f, --fqdn, --long tên máy dài, gồm tên miá»n đầy đủ,\n"
" và biệt hiệu\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address các địa chỉ cho tên máy đó\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Kết xuất thông tin:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help hiện trợ giúp này rồi thoát\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "không thể lấy tên máy"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version xuất thông tin phiên bản rồi thoát\n"
+#: src/its.c:319
+#, c-format
+msgid "selector is not specified"
+msgstr "chÆ°a chỉ định bá»™ chá»n"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr ""
-"Hãy thông báo lỗi cho <bug-gnu-gettext@gnu.org>.\n"
-"Hãy thông báo lỗi dịch nào cho <http://translationproject.org/team/vi."
-"html>.\n"
+#: src/its.c:326 src/its.c:1550
+#, c-format
+msgid "cannot create XPath context"
+msgstr "không thể tạo ngữ cảnh XPath"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "không thể lấy tên máy"
+msgid "cannot evaluate XPath expression: %s"
+msgstr "không thể lượng giá biểu thức XPath: %s"
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr "nút \"%s\" không chứa \"%s\""
+
+#: src/its.c:1001
+#, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "giá trị thuá»™c tính không hợp lệ “%s†cho “%sâ€"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr "phần tử gốc không \"quy tắc\" dưới không gian tên %s"
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, c-format
+msgid "cannot read %s: %s"
+msgstr "không thể Ä‘á»c %s: %s"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr "không thể lượng giá Ä‘Æ°á»ng dẫn vị trí XPath: %s"
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "nút \"%s\" không có \"%s\""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:307
+#, c-format
+msgid "cannot read XML file %s"
+msgstr "không thể Ä‘á»c tin XML “%sâ€"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr "phần tử gốc không phải là \"locatingRules\""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "cho phép nhiá»u nhất má»™t tập tin đầu vào"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s và %s loại từ lẫn nhau"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN_ÄẦU_VÀO]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
@@ -980,10 +1149,10 @@ msgstr ""
"Lá»c các chuá»—i của phân loại thông dịch tùy theo thuá»™c tính,\n"
"cũng thao tác thuộc tính.\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
@@ -991,23 +1160,23 @@ msgstr ""
"Tất cả đối số bắt buá»™c phải có vá»›i tùy chá»n dài cÅ©ng bắt buá»™c vá»›i tùy chá»n "
"ngắn.\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "Vị trí tập tin đầu vào:\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " TẬP_TIN_ÄẦU_VÀO tập tin PO đầu vào\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
@@ -1015,31 +1184,32 @@ msgstr ""
" -D, --directory=THƯ_MỤC thêm THƯ MỤC này vào danh sách để tìm kiếm\n"
" tập tin đầu vào\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr ""
"Không Ä‘Æ°a ra tập tin đầu vào, hay nó là “-†thì Ä‘á»c đầu vào tiêu chuẩn.\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "Vị trí tập tin đầu ra:\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=TẬP_TIN ghi kết xuất vào TẬP TIN này\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
@@ -1048,19 +1218,19 @@ msgstr ""
"Kết quả được ghi ra đầu ra tiêu chuẩn nếu không chỉ ra tập tin kết xuất,\n"
"hoặc nếu nó là “-â€.\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "Chá»n chuá»—i:\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr ""
" --translated giữ các chuỗi đã dịch, bỠcác chuỗi chưa dịch\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
@@ -1068,55 +1238,55 @@ msgstr ""
" --untranslated giữ các chuỗi chưa dịch,\n"
" bỠcác chuỗi đã dịch\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr ""
" --no-fuzzy loại bá» các chuá»—i được đánh dấu là “fuzzyâ€\n"
" (tạm dịch), các chuỗi này trở thành đã dịch\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy giữ các chuá»—i được đánh dấu là “fuzzyâ€\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete loại bỠcác chuỗi đã cũ (có dấu #~)\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete giữ các chuỗi đã cũ (có dấu #~)\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "Thao tác với các thuộc tính:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy đặt má»i chuá»—i là “fuzzy†(tạm dịch)\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr ""
" --clear-fuzzy đặt má»i chuá»—i là không-“fuzzy†(tạm dịch)\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete đặt má»i chuá»—i là cÅ© không dùng nữa\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete đặt má»i chuá»—i là chÆ°a quá cÅ©\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1126,7 +1296,7 @@ msgstr ""
"msgid\n"
" của chuỗi đã dịch\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
@@ -1134,7 +1304,7 @@ msgid ""
msgstr ""
" --clear-previous lại bỠ“previous msgid†ra khá»i má»i chuá»—i\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
@@ -1143,7 +1313,7 @@ msgstr ""
"“fuzzyâ€\n"
" (tạm dịch), xóa trống chuỗi này\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
@@ -1151,7 +1321,7 @@ msgstr ""
" --only-file=TẬP_TIN.po thao tác chỉ những mục được liệt kê trong\n"
" tập tin này\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
@@ -1159,13 +1329,13 @@ msgstr ""
" --ignore-file=T_TIN.po thao tác chỉ những mục không được liệt kê\n"
" trong tập tin này\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr ""
" --fuzzy tÆ°Æ¡ng Ä‘Æ°Æ¡ng vá»›i “--only-fuzzy --clear-fuzzyâ€\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
@@ -1173,16 +1343,16 @@ msgstr ""
" --obsolete tương đương với “--only-obsolete --clear-"
"obsoleteâ€\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "Cú pháp tập tin đầu vào:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
@@ -1190,8 +1360,8 @@ msgstr ""
" -P, --properties-input tập tin đầu vào có cú pháp .properties\n"
" (thuộc tính) của Java\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1200,17 +1370,17 @@ msgstr ""
" --stringtable-input tập tin đầu vào có cú pháp .strings kiểu\n"
" NeXTstep/GNUstep\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "Chi tiết kết xuất:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1228,18 +1398,18 @@ msgstr ""
" * auto tá»± Ä‘á»™ng\n"
" * html HTML.\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
" --style=TẬP_TIN chỉ định tập tin quy tắc kiểu dáng CSS cho\n"
" --color (màu)\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1247,9 +1417,9 @@ msgstr ""
" -e, --no-escape không dùng ký tự thoát C trong kết xuất (mặc "
"định)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1257,30 +1427,30 @@ msgstr ""
" -E, --escape dùng ký tự thoát C trong kết xuất,\n"
" không dùng ký tự mở rộng\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr ""
" --force-po ghi ra tập tin PO ngay cả khi nó trống rỗng\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent ghi ra tập tin PO có thụt lá»\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr ""
" --no-location không ghi dòng kiểu “#: tên_tập_tin:"
"số_hiệu_dòngâ€\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
@@ -1289,26 +1459,26 @@ msgstr ""
"số_hiệu_dòngâ€\n"
" (mặc định)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict xuất tập tin PO tùy theo Uniforum chính xác\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr ""
" -p, --properties-output xuất tập tin .properties (thuộc tính) kiểu "
"Java\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
@@ -1316,16 +1486,16 @@ msgstr ""
" --stringtable-output ghi ra tập tin .strings (chuỗi)\n"
" kiểu NeXTstep/GNUstep\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=SỠđặt chiá»u rá»™ng của trang kết xuất\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1335,31 +1505,31 @@ msgstr ""
"hơn\n"
" chiá»u rá»™ng trang kết xuất\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output tạo ra kết xuất được sắp xếp\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file sắp xếp kết xuất theo vị trí tập tin\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "xác định tiêu chuẩn lá»±a chá»n không thể sá»­ dụng được (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
-msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN_ÄẦU_VÀO]...\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN_ÄẦU_VÀO]…\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1384,25 +1554,25 @@ msgstr ""
"chúng sẽ được lấy từ tập tin PO thứ nhất có chuỗi được dịch.\n"
"Vị trí tập tin từ má»i tập tin PO sẽ được tích lÅ©y.\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
-msgstr " TẬP_TIN_ÄẦU_VÀO ... những tập tin đầu vào\n"
+msgstr " TẬP_TIN_ÄẦU_VÀO … những tập tin đầu vào\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr ""
" -f, --files-from=TẬP_TIN lấy từ tập tin này danh sách các tập tin đầu "
"vào\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "Nếu tập tin đầu vào là “-†thì Ä‘á»c từ đầu vào tiêu chuẩn.\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1411,7 +1581,7 @@ msgstr ""
" -<, --less-than=Sá» in ra các chuá»—i có ít hÆ¡n Sá» các lá»i\n"
" định nghĩa; không bật thì mặc định là vô hạn\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1420,7 +1590,7 @@ msgstr ""
" ->, --more-than=Sá» in ra các chuá»—i có nhiá»u hÆ¡n Sá» các lá»i\n"
" định nghĩa; không bật thì mặc định là 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1430,8 +1600,8 @@ msgstr ""
"hơn 2),\n"
" yêu cầu in ra chỉ những chuỗi duy nhất\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
@@ -1439,8 +1609,8 @@ msgstr ""
" -P, --properties-input tập tin đầu vào có cú pháp kiểu .properties\n"
" (thuộc tính) của Java\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1449,12 +1619,12 @@ msgstr ""
" --stringtable-input tập tin đầu vào có cú pháp .strings (chuỗi)\n"
" kiểu NeXTstep/GNUstep\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=MÃ bộ ký tự cho kết xuất\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1463,7 +1633,7 @@ msgstr ""
" --use-first dùng bản dịch đầu tiên cho mỗi chuỗi,\n"
" không trá»™n nhiá»u bản dịch\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
@@ -1473,26 +1643,26 @@ msgstr ""
# Name: don't translate / Tên: đừng dịch
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "chưa đưa ra tập tin đầu vào"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "cần chính xác 2 tập tin đầu vào"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] cũ.po mới.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1510,24 +1680,22 @@ msgstr ""
"của bạn. Vị trí nào không khớp với nhau, còn chưa xong để cung cấp sự chẩn đoán\n"
"tốt hơn.\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " cũ.po bản dịch cũ\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
-msgstr ""
-" mới.pot mẫu dùng để tham chiếu (được tạo bởi "
-"xgettext)\n"
+msgstr " mới.pot các nguồn dùng để tham chiếu\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "Sửa đổi thao tác:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1536,63 +1704,63 @@ msgstr ""
" -m, --multi-domain áp dụng tập tin má»›i.pot vào má»—i miá»n nằm trong "
"tập tin cũ.po\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching không dùng khả năng khớp mỠ(fuzzy)\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy dùng các mục tạm dịch\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated dùng các mục chưa dịch\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "chuỗi này chưa được dịch"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "chuỗi này cần phải được xem xét lại bởi dịch giả"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
-msgstr "chuỗi này được dùng nhưng còn chưa được định nghĩa..."
+msgstr "chuỗi này được dùng nhưng còn chưa được định nghĩa…"
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
-msgstr "...nhưng mà định nghĩa này vẫn tương tự"
+msgstr "…nhưng mà định nghĩa này vẫn tương tự"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "chuỗi này được dùng còn chưa được định nghĩa trong %s"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "cảnh báo: chuỗi này không được dùng"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "tìm thấy %d lá»—i nghiêm trá»ng"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "phải chỉ ra ít nhất hai tập tin"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1613,7 +1781,7 @@ msgstr ""
"trích sẽ được bảo tồn, nhưng chỉ từ tập tin PO thứ nhất đã định nghĩa chúng.\n"
"Vị trí tập tin từ má»i tập tin PO này sẽ được tích lÅ©y.\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1622,42 +1790,42 @@ msgstr ""
" ->, --more-than=Sá» in các chuá»—i chứa nhiá»u định nghÄ©a hÆ¡n\n"
" SỠnày; không bật thì mặc định là 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr ""
" --omit-header không ghi dòng đầu có mục tin “msgid \"\"†\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "Chuyển đổi phân loại thông dịch sang một bảng mã ký tự khác.\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "Äích chuyển đổi:\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "Mã ký tá»± mặc định theo bảng mã ký tá»± của miá»n địa phÆ°Æ¡ng hiện có.\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent thụt lỠcho kết xuất\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr ""
" --no-location thu hồi dòng kiểu “#: tên_tập_tin:số_dòngâ€\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
@@ -1665,28 +1833,28 @@ msgstr ""
" -n, --add-location giữ lại dòng “#: tên_tập_tin:số_dòng†(mặc "
"định)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict xuất dữ liệu kiểu Uniforum chính xác\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "chưa đưa ra tập tin đầu vào"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "cần chính xác một tập tin đầu vào"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] TẬP_TIN_ÄẦU_VÀO\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1699,22 +1867,22 @@ msgstr ""
"(POT: thÆ°á»ng do xgettext tạo). Mục chÆ°a dịch sẽ được gán\n"
"bằng chuỗi gốc (msgid).\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
-msgstr " TẬP_TIN_ÄẦU_VÀO tập tin dạng .po hay .pot đầu vào\n"
+msgstr " TẬP_TIN_ÄẦU_VÀO tập tin đầu vào dạng .po hay .pot\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "thiếu tên lệnh"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] LỆNH [TÙY_CHỌN_LỆNH]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1729,7 +1897,7 @@ msgstr ""
"Kết xuất của nó trở thành kết xuất của tiến trình msgexec.\n"
"Mã trả lại của megexec là mã trả lại tối Ä‘a qua má»i cuá»™c gá»i.\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1739,37 +1907,48 @@ msgstr ""
"vá»›i má»™t byte null theo sau. Kết xuất của tiến trình “msgexec 0â€\n"
"thích hợp là đầu vào cho lệnh “xargs -0â€.\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "Lệnh đầu vào:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr ""
+" --newline thêm ký tự dòng mới tại cuối của đầu vào\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=TẬP_TIN_ÄẦU_VÀO tập tin .po đầu vào\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "gặp lỗi khi ghi vào đầu ra tiêu chuẩn"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "thiếu tên bá»™ lá»c"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "phải đưa ra ít nhất một văn lệnh sed"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] BỘ_LỌC [TÙY_CHỌN_LỌC]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "Ãp dụng má»™t bá»™ lá»c cho má»i chuá»—i dịch của má»™t catalog bản dịch.\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1779,12 +1958,26 @@ msgstr ""
"chuẩn\n"
"và ghi chuỗi dịch đã sửa đổi vào đầu ra tiêu chuẩn.\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Bá»™ lá»c đầu vào và đầu ra:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline thêm ký hiệu dòng mới vào cuối đầu vào\n"
+" và gỡ bỠký hiệu dòng mới ở cuối đầu ra"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "TÙY CHỌN LỌC hữu ích khi BỘ LỌC là “sedâ€:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
@@ -1792,7 +1985,7 @@ msgstr ""
" -e, --expression=VĂN_LỆNH thêm văn lệnh này vào những lệnh cần thực "
"hiện\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1803,13 +1996,13 @@ msgstr ""
" thêm nội dung của TẬP TIN VĂN LỆNH này\n"
" vào những lệnh cần thực hiện\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr " -n, --quiet, --silent thu hồi khả năng tá»± Ä‘á»™ng in miá»n mẫu\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1817,12 +2010,12 @@ msgstr ""
" --no-escape không dùng ký tự thoát C trong kết xuất\n"
" (mặc định)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent kiểu dáng kết xuất đã thụt lá»\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
@@ -1830,119 +2023,120 @@ msgstr ""
" --keep-header giữ lại phần đầu không bị sá»­a đổi, không lá»c "
"nó\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "đầu ra bá»™ lá»c không được kết thúc bằng má»™t ký hiệu dòng má»›i"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "đối số cho “%s†nên là một ký tự chấm câu riêng lẻ"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "thứ tự xếp các byte (biểu diễn số nguyên) không hợp lệ: %s"
# Name: don't translate / Tên: đừng dịch
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "không đưa ra tập tin đầu vào nếu “%s†và “%s†được chỉ định"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s cần một đặc tả “-d directory†(thư mục)"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s cần má»™t đặc tả “-l locale†(miá»n địa phÆ°Æ¡ng)"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s cần má»™t đặc tả “--template templateâ€"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s cần má»™t đặc tả “-o tập-tinâ€"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s và %s loại từ lẫn nhau trong %s"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s chỉ hợp lệ với %s hay %s"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s chỉ hợp lệ với %s, %s hay %s"
+#: src/msgfmt.c:723
+#, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "không thể định vị quy tắc ITS cho “%sâ€"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d chuỗi đã dịch"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ", %d chuỗi tạm dịch"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ", %d chuỗi chưa dịch"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
-msgstr "Cách dùng: %s [TÙY_CHỌN] tên_tập_tin.po ...\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN] tên_tập_tin.po …\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "Tạo ra catalog bản dịch nhị phân từ mô tả thông dịch kiểu văn bản.\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"Tất cả đối số bắt buá»™c phải có vá»›i tùy chá»n dài cÅ©ng bắt buá»™c vá»›i tùy chá»n ngắn.\n"
-"CÅ©ng vậy vá»›i đối số kiểu tùy chá»n.\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
-msgstr " tên_tập_tin.po ... những tập tin đầu vào\n"
+msgstr " tên_tập_tin.po … những tập tin đầu vào\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "Chế độ thao tác:\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1951,7 +2145,7 @@ msgstr ""
" -j, --java chế độ Java: tạo ra lớp ResourceBundle\n"
" (bó tài nguyên) kiểu Java\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1960,13 +2154,13 @@ msgstr ""
" --java2 giống như --java, và coi là Java2\n"
" (JDK 1.2 hay sau)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr ""
" --csharp chế độ C#: tạo ra một tập tin .dll kiểu .NET\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1976,7 +2170,7 @@ msgstr ""
"resources\n"
" (tài nguyên) kiểu .NET\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
@@ -1984,13 +2178,13 @@ msgstr ""
" --tcl chế độ Tcl: tạo ra một tập tin .msg kiểu tcl/"
"msgcat\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr ""
" --qt chế độ Qt: tạo ra một tập tin .qm kiểu Qt\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
@@ -1998,29 +2192,34 @@ msgstr ""
" --desktop chế độ Desktop Entry: tạo một tập tin ."
"desktop\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --xml chế độ XML: tạo tập tin XML\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr ""
" --strict bật chế độ Uniforum chính xác (chặt chẽ)\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "Nếu tập tin xuất là “-†thì kết xuất được ghi vào đầu ra tiêu chuẩn.\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Vị trí của tập tin xuất trong chế độ Java:\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=TÀI_NGUYÊN tên của tài nguyên\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -2029,7 +2228,7 @@ msgstr ""
" -l, --locale=MIỀN_ÄỊA_PHƯƠNG tên miá»n địa phÆ°Æ¡ng, hoặc ngôn ngữ hoặc\n"
" ngôn-ngữ_quốc-gia (v.d. “vi†hay “vi_VNâ€)\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -2038,13 +2237,13 @@ msgstr ""
" --source sản sinh tập tin .java, thay cho tập tin ."
"class\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d THƯ_MỤC thư mục cơ sở của phân cấp thư mục lớp\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2056,12 +2255,12 @@ msgstr ""
"vào tên tài nguyên, định giá»›i bằng dấu gạch dÆ°á»›i. Tùy chá»n “-d†bắt buá»™c\n"
"phải sử dụng. Lớp được ghi dưới thư mục đã chỉ ra.\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "Vị trí của tập tin xuất trong chế độ C#:\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
@@ -2070,7 +2269,7 @@ msgstr ""
" -d THƯ_MỤC thư mục cơ sở cho tập tin dạng .dll\n"
" phụ thuá»™c vào miá»n địa phÆ°Æ¡ng\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -2080,18 +2279,18 @@ msgstr ""
"Tập tin .dll được ghi trong thư mục con của thư mục đã đưa ra\n"
"có tên phụ thuá»™c vào miá»n địa phÆ°Æ¡ng.\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Vị trí của tập tin xuất trong chế độ Tcl:\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
" -d THƯ_MỤC thư mục cơ sở của catalog bản dịch dạng .msg\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
@@ -2100,31 +2299,31 @@ msgstr ""
"Hai tùy chá»n “-l†và “-d†bắt buá»™c phải sá»­ dụng.\n"
"Tập tin dạng .msg được ghi trong thư mục đã cho.\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr "Các tùy chá»n dành cho chế Ä‘á»™ Desktop Entry:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr " --template=MẪU tập tin .desktop được dùng làm mẫu\n"
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d THƯ_MỤC thư mục cơ sở của tập tin .po\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
" -k, --keyword do not to use default keywords\n"
msgstr ""
-" -kTỪ, --keyword=TỪ quét tìm TỪ này như là một từ khoá bổ sung\n"
-" -k, --keyword không dùng từ khoá mặc định\n"
+" -kTỪ, --keyword=TỪ quét tìm TỪ này như là một từ khóa bổ sung\n"
+" -k, --keyword không dùng từ khóa mặc định\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -2135,12 +2334,27 @@ msgstr ""
"tin\n"
"đầu vào sẽ Ä‘á»c từ thÆ° mục thay cho đối số dòng lệnh.\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr "Các tùy chá»n XML:\n"
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr " -L, --language=TÊN thừ nhận ngôn ngữ XML đã cho\n"
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=MẪU một tập tin XML được dùng làm mẫu\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "Giải thích tập tin đầu vào:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -2152,14 +2366,14 @@ msgstr ""
" --check-header (kiểm tra phần đầu)\n"
" --check-domain (kiểm tra miá»n)\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr ""
" --check-format kiểm tra các chuỗi có định dạng\n"
" phụ thuộc vào ngôn ngữ\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
@@ -2167,7 +2381,7 @@ msgid ""
msgstr ""
" --check-header kiểm tra xem mục tin phần đầu có đúng không\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -2176,7 +2390,7 @@ msgstr ""
" --check-domain kiểm tra nếu có sá»± xung Ä‘á»™t giữa chỉ thị miá»n\n"
" và tùy chá»n “--output-file†(tập tin xuất)\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2185,7 +2399,7 @@ msgstr ""
" -C, --check-compatibility kiểm tra msgfmt của GNU ứng xử\n"
" giống như msgfmt của X/Open\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2195,12 +2409,12 @@ msgstr ""
" --check-accelerators[=K.TỰ] kiểm tra có ký tự tăng tốc bàn phím\n"
" cho mục trình đơn\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy dùng mục tin tạm dịch trong kết xuất\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
@@ -2208,7 +2422,7 @@ msgstr ""
" -a, --alignment=SỠcăn chỉnh các chuỗi theo số byte này (mặc "
"định: %d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2222,97 +2436,96 @@ msgstr ""
" (byte đứng trÆ°á»›c là lá»›n hay nhá». Intel "
"thÆ°á»ng là little)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash tập tin nhị phân sẽ không chứa bảng băm\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics in ra thống kê vỠcác chuỗi dịch\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose gia tăng mức chi tiết\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "cảnh báo: phần đầu của tập tin .po còn thiếu hay không hợp lệ\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "cảnh báo: việc chuyển đổi bộ ký tự sẽ không hoạt động được\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "cảnh báo: phần đầu tập tin PO thiếu thông tin\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
"cảnh báo: phiên bản msgfmt cÅ© hÆ¡n sẽ thông báo lá»—i trong trÆ°á»ng hợp này.\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "tên miá»n “%s†không thích hợp làm tên tập tin"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "tên miá»n “%s†không thích hợp làm tên tập tin: nên sẽ dùng tiá»n tố"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
msgstr "chỉ thị “domain %s†bị bỠqua"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "mục tin “msgstr†rỗng bị bỠqua"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "chuỗi “msgstr†tạm dịch bị bỠqua"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s: cảnh báo: tập tin nguồn chứa chuỗi tạm dịch"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr "%s không tồn tại"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr "có %s nhÆ°ng không thể Ä‘á»c nó"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "gặp lá»—i khi Ä‘á»c “%sâ€"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
@@ -2321,7 +2534,7 @@ msgstr ""
"tùy chá»n “%c†không thể được dùng trÆ°á»›c chỉ ra “J†hay “K†hay “T†hay “C†"
"hay “Xâ€"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
@@ -2330,7 +2543,7 @@ msgstr ""
"Trích ra má»i chuá»—i trong catalog bản dịch tÆ°Æ¡ng ứng vá»›i mẫu đã cho\n"
"hay thuộc vỠmột số tập tin nguồn đã cho.\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2370,7 +2583,7 @@ msgid ""
" selection criterion\n"
msgstr ""
"Lá»±a chá»n chuá»—i:\n"
-" [-N TẬP_TIN_NGUỒN]... [-M TÊN_MIỀN]...\n"
+" [-N TẬP_TIN_NGUỒN]… [-M TÊN_MIỀN]…\n"
" [-J MẪU-MSGCTXT] [-K MẪU-MSGID] [-T MẪU-MSGSTR]\n"
"\n"
" [-C MẪU-CHÚ-THÃCH] [-X MẪU-CHÚ-THÃCH-ÄÃ-TRÃCH]\n"
@@ -2380,7 +2593,7 @@ msgstr ""
"hoặc nếu nó đến từ má»™t của những miá»n đã xác định,\n"
"hoặc nếu “-J†được đưa ra và ngữ cảnh (msgctxt) của nó khớp với\n"
"MẪU-MSGCTXT\n"
-"hoặc nếu “-K†được đưa ra và khoá (msgid hay msgid_plural) của nó\n"
+"hoặc nếu “-K†được đưa ra và khóa (msgid hay msgid_plural) của nó\n"
"khớp với MẪU-MSGID\n"
"hoặc nếu “-T†được đưa ra và chuỗi dịch (msgstr) của nó khớp với\n"
"MẪU-MSGSTR\n"
@@ -2392,7 +2605,7 @@ msgstr ""
"Xác định nhiá»u tiêu chuẩn lá»±a chá»n thì tập hợp chuá»—i được chá»n\n"
"là hợp của những chuá»—i đã chá»n của má»—i tiêu chuẩn.\n"
"\n"
-"Cú pháp cần dùng với mỗi bất cứ MẪU nào bên trên: [-E | -F] [-e MẪU | -f TẬP_TIN]...\n"
+"Cú pháp cần dùng với mỗi bất cứ MẪU nào bên trên: [-E | -F] [-e MẪU | -f TẬP_TIN]…\n"
"MẪU là biểu thức chính quy cơ bản theo mặc định,\n"
"hoặc là biểu thức chính quy đã mở rá»™ng nếu tùy chá»n “-E†được Ä‘Æ°a ra,\n"
"hoặc là chuá»—i cố định nếu tùy chá»n “-F†được Ä‘Æ°a ra.\n"
@@ -2413,7 +2626,7 @@ msgstr ""
" -v, --invert-match\n"
"\txuất chỉ những chuá»—i không khá»›p vá»›i tiêu chuẩn lá»±a chá»n nào\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2421,12 +2634,12 @@ msgstr ""
" --escape dùng ký tự thoát dạng C trong kết xuất,\n"
" không có ký tự đã mở rộng\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output tạo ra kết xuất được sắp xếp\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr ""
@@ -2531,14 +2744,14 @@ msgstr ""
"Không tìm thấy tập tin dạng .pot trong thÆ° mục hiện thá»i.\n"
"Hãy Ä‘Æ°a ra tập tin .pot đầu vào, bằng tùy chá»n “--inputâ€\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "tiến trình con %s bị lỗi với mã thoát %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2554,28 +2767,28 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "Bản dịch Tiếng Việt dành cho gói %s"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "bộ ký tự hiện có “%s†không phải tên bộ ký tự khả chuyển"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "tập tin đầu vào chứa hai bá»™ ký tá»± khác nhau “%s†và “%sâ€"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "tập tin đầu vào “%s†không chứa mục tin phần đầu xác định bộ ký tự"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
@@ -2583,19 +2796,19 @@ msgid ""
msgstr ""
"miá»n “%s†trong tập tin đầu vào “%s†không chứa trÆ°á»ng xác định bá»™ ký tá»±"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "bộ ký tự đích “%s†không phải tên bảng mã khả chuyển."
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "cảnh báo: "
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2604,7 +2817,7 @@ msgstr ""
"Những tập tin đầu vào chứa chuỗi ở các bảng mã ký tự khác nhau, gồm UTF-8,\n"
"nên chuyển đổi kết xuất sang UTF-8.\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2618,7 +2831,7 @@ msgstr ""
"Chá»n bảng mã ký tá»± để xuất ra khác, hãy dùng tùy chá»n “--to-code†(sang "
"mã).\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2632,7 +2845,7 @@ msgstr ""
"sang bảng mã ký tự ASCII, hoặc đảm bảo chúng được mã hóa bằng UTF-8 từ đầu,\n"
"tức là trong các tập tin mã nguồn.\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2645,12 +2858,12 @@ msgstr ""
"Kết xuất của “%s†có thể không đúng.\n"
"Chỉnh sửa có thể:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- Äặt LC_ALL thành miá»n địa phÆ°Æ¡ng có bảng mã ký tá»± %s.\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2661,7 +2874,7 @@ msgstr ""
" rồi áp dụng “%sâ€,\n"
" rồi chuyển đổi lại vá» %s bằng “msgconvâ€.\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2674,7 +2887,7 @@ msgstr ""
" rồi áp dụng “%sâ€,\n"
" rồi chuyển đổi lại vá» %s bằng “msgconvâ€.\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2685,24 +2898,24 @@ msgstr ""
"Kết xuất của “%s†có thể không đúng.\n"
"Cách giải quyết có thể là đặt “LC_ALL=Câ€\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "dạng thức số nhiá»u có thể cung cấp giá trị âm"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "“nplurals = %lu†nhÆ°ng dạng thức số nhiá»u có thể tạo giá trị đến %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "dạng thức số nhiá»u có thể gây ra trÆ°á»ng hợp chia cho số không"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "dạng thức số nhiá»u có thể gây ra trÆ°á»ng hợp tràn số nguyên"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
@@ -2710,54 +2923,54 @@ msgstr ""
"dạng thức số nhiá»u có thể gây ra trÆ°á»ng hợp ngoại lệ tính toán, có lẽ chia "
"cho số không"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "Hãy thá»­ dùng Ä‘iá»u theo đây mà hợp lệ cho %s:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "catalog bản dịch chứa bản dịch dạng số nhiá»u"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
"nhÆ°ng mà mục tin phần đầu tập tin còn thiếu thuá»™c tính số nhiá»u "
"“plural=BIỂU_THỨCâ€"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
"nhÆ°ng mà mục tin phần đầu tập tin còn thiếu thuá»™c tính số nhiá»u "
"“plural=Sá»_NGUYÊNâ€"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "giá trị nplurals (số dạng số nhiá»u) không hợp lệ"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "dạng thức số nhiá»u không hợp lệ"
# Literal: don't translate / Nghĩa chữ: đừng dịch
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "nhÆ°ng má»™t số chuá»—i chỉ có %lu dạng số nhiá»u"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "nhÆ°ng má»™t số chuá»—i có %lu dạng số nhiá»u"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2768,75 +2981,93 @@ msgstr ""
"Với tiếng Việt, bạn có thể dùng:\n"
"\"Plural-Forms: nplurals=1; plural=0;\""
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "cả hai mục tin “msgid†và “msgid_plural†đá»u không bắt đầu vá»›i “\\nâ€"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "cả hai mục tin “msgid†và “msgstr[%u]†đá»u không bắt đầu vá»›i “\\nâ€"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "cả hai mục tin “msgid†và “msgstr†đá»u không bắt đầu vá»›i “\\nâ€"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "cả hai mục tin “msgid†và “msgid_plural†đá»u không kết thúc vá»›i “\\nâ€"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "cả hai mục tin “msgid†và “msgstr[%u]†đá»u không kết thúc vá»›i “\\nâ€"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "cả hai mục tin “msgid†và “msgstr†đá»u không kết thúc vá»›i “\\nâ€"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr ""
"khả năng xá»­ lý dạng thức số nhiá»u là má»™t phần mở rá»™ng của phần má»m gettext "
"của GNU"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "chuá»—i dịch msgstr còn thiếu ký tá»± gia tốc “%câ€"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "chuá»—i dịch msgstr có quá nhiá»u ký tá»± gia tốc “%câ€"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
-msgstr "trÆ°á»ng “%s†ở phần vẫn có giá trị khởi tạo mặc định\n"
+msgstr "trÆ°á»ng “%s†ở phần đầu vẫn có giá trị khởi tạo mặc định\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
msgstr "trÆ°á»ng “%s†còn thiếu trong phần đầu\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "chấm lửng hóa ('...') thay cho Unicode"
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+"tìm thấy khoảng trắng trÆ°á»›c phần chấm lá»­ng trong các chuá»—i ngÆ°á»i dùng khả "
+"kiến"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "Trích dẫn dấu nháy kép ASCII thay cho Unicode"
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "Trích dẫn dấu nháy đơn ASCII thay cho Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
-msgstr "%s: đầu vào không đúng trong bảng mã ký tá»± “%sâ€"
+msgstr "%s: đầu vào ở bảng mã ký tự “%s†không hợp lệ"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr ""
"%s: gặp lá»—i khi chuyển đổi từ bảng mã ký tá»± “%s†sang bảng mã ký tá»± “%sâ€"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "tập tin đầu vào không chứa mục tin phần đầu xác định bộ ký tự"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2845,7 +3076,7 @@ msgstr ""
"Không thể chuyển đổi từ “%s†sang “%sâ€. %s phụ thuá»™c vào iconv() mà không há»— "
"trợ khả năng chuyển đổi này."
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2854,8 +3085,8 @@ msgstr ""
"Việc chuyển đổi từ “%s†sang “%s†giới thiệu một số bản sao: một số chuỗi "
"gốc “msgid†thì trở thành trùng."
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2864,16 +3095,16 @@ msgstr ""
"Không thể chuyển đổi từ “%s†sang “%sâ€. %s phụ thuá»™c vào iconv() nhÆ°ng phiên "
"bản này đã được xây dựng không có iconv()."
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s chỉ hợp lệ với %s"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "kiểu sao lưu"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2897,17 +3128,17 @@ msgstr ""
"Khi không tìm thấy chuỗi dịch khớp chính xác, khả năng khớp mỠđược dùng\n"
"để cung cấp kết quả hữu ích hơn.\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " cũ.po chuỗi dịch tham chiếu đến nguồn cũ\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " mới.pot tham chiếu đến nguồn mới\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
@@ -2917,37 +3148,37 @@ msgstr ""
"định\n"
" nhiá»u lần (bản trích yếu)\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr ""
-" -U, --update cập nhật tập tin cũ.po ; không làm gì\n"
-" nếu nó đã cập nhật rồi\n"
+" -U, --update cập nhật tập tin cũ.po,\n"
+" không làm gì nếu nó đã cập nhật rồi\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "Vị trí của tập tin xuất trong chế độ cập nhật:\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "Kết quả được ghi vỠtập tin cũ.po\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=ÄIỀU_KHIỂN sao lÆ°u tập tin cÅ©.po (_sao lÆ°u_)\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr ""
" --suffix=HẬU_Tá» có quyá»n cao hÆ¡n hậu tố sao lÆ°u bình thÆ°á»ng\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2971,7 +3202,7 @@ msgstr ""
" simple, never luôn luôn tạo bản sao lưu đơn giản\n"
"(Ä‘Æ¡n giản, không bao giá»)\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2981,7 +3212,7 @@ msgstr ""
"Hậu tố sao lÆ°u là “~†trừ khi được đặt bằng tùy chá»n “--suffix†(hậu tố)\n"
"hoặc bằng biến môi trÆ°á»ng “SIMPLE_BACKUP_SUFFIX†(hậu tố sao lÆ°u Ä‘Æ¡n giản).\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
@@ -2989,22 +3220,22 @@ msgstr ""
" --previous giữ lại các chuỗi gốc msgid cũ của chuỗi đã "
"dịch\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent không hiển thị tiến trình\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "chuá»—i này nên dùng ở dạng thức số nhiá»u"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "chuá»—i này không nên dùng ở dạng thức số nhiá»u"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -3013,29 +3244,29 @@ msgstr ""
"%sÄá»c %ld cÅ© + %ld tham chiếu, trá»™n %ld, tạm dịch %ld, thiếu %ld, không dùng "
"nữa %ld.\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " xong.\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s và tên tập tin dứt khoát loại từ lẫn nhau"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
-msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]...\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]…\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
"Chuyển đổi catalog bản dịch nhị phân sang tập tin dạng .po kiểu Uniforum.\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -3044,14 +3275,14 @@ msgstr ""
" -j, --java chế độ Java: đầu vào là lớp ResourceBundle\n"
" kiểu Java\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr ""
" --csharp chế độ C#: đầu vào là tập tin .dll\n"
" kiểu .NET\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -3060,7 +3291,7 @@ msgstr ""
" --csharp-resources chế độ tài nguyên C#: đầu vào là tập tin\n"
" .resources kiểu .NET\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
@@ -3068,17 +3299,17 @@ msgstr ""
" --tcl chế độ Tcl: đầu vào là tập tin\n"
" .msg kiểu tcl/msgcat\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
-msgstr " TẬP_TIN ... đầu vào là những tập tin .mo\n"
+msgstr " TẬP_TIN … đầu vào là những tập tin .mo\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "vị trí của tập tin đầu vào trong chế độ Java:\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -3089,12 +3320,12 @@ msgstr ""
"vào tên tài nguyên, định giới bằng dấu gạch dưới. Hạng được định vị\n"
"bằng CLASSPATH (Ä‘Æ°á»ng dẫn lá»›p).\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "Vị trí của tập tin đầu vào trong chế độ C#:\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -3104,12 +3335,12 @@ msgstr ""
"Tập tin .dll nằm trong thư mục con của thư mục đã xác định\n"
"có tên phụ thuá»™c vào miá»n địa phÆ°Æ¡ng.\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Vị trí của tập tin đầu vào trong chế độ Tcl:\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
@@ -3118,18 +3349,18 @@ msgstr ""
"Hai tùy chá»n “-l†và “-d†bắt buá»™c phải sá»­ dụng.\n"
"Tập tin .msg nằm trong thư mục đã xác định.\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent ghi kết xuất kiểu thụt lá» (_thụt lá»_)\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr ""
" --strict ghi kiểu Uniforum chính xác (_chặt chẽ_)\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -3151,21 +3382,21 @@ msgstr ""
"chúng được lấy từ bản dịch thứ nhất. Vị trí tập tin sẽ được tích lũy.\n"
"Dùng tùy chá»n “--unique†(duy nhất) thì các bản sao bị hủy.\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
-msgstr " -d, --repeated in ra chỉ bản sao (trùng nhau)\n"
+msgstr " -d, --repeated chỉ in ra trùng lặp\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr ""
-" -u, --unique chỉ in ra chuỗi duy nhất, hủy các bản sao\n"
-" (trùng nhau)\n"
+" -u, --unique chỉ in ra chuỗi duy nhất, hủy các chuỗi trùng "
+"lặp\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<đầu_vào_tiêu_chuẩn>"
@@ -3223,32 +3454,32 @@ msgstr ""
"Vì thế việc chuyển đổi chuá»—i sang bá»™ ký tá»± của ngÆ°á»i dùng\n"
"sẽ không hoạt động được.\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "dấu #~ được dùng không thống nhất"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "thiếu phần “msgstr[]â€"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "thiếu phần “msgid_pluralâ€"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "thiếu phần “msgstrâ€"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "dạng thức số nhiá»u đầu tiên có chỉ số là khác không"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "dạng thức số nhiá»u có chỉ số không đúng"
@@ -3258,7 +3489,7 @@ msgstr "dạng thức số nhiá»u có chỉ số không đúng"
msgid "too many errors, aborting"
msgstr "quá nhiá»u lá»—i nên hủy bá»"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "chuỗi nối tiếp đa byte không hợp lệ"
@@ -3302,65 +3533,82 @@ msgstr "kết thúc dòng bên trong chuỗi"
msgid "context separator <EOT> within string"
msgstr "gặp dấu định giới ngữ cảnh <EOT> bên trong chuỗi"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "tập tin này có thể không chứa chỉ thị miá»n"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "chuỗi gốc bị trùng lặp"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "đây là vị trí của chuỗi nơi nó lần đầu được định nghĩa"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr "tên nhóm chưa được chấm dứt"
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr "ký tự không phải khoảng trắng không hợp lệ"
+
+#: src/read-desktop.c:403
+#, c-format
+msgid "missing '=' after \"%s\""
+msgstr "thiếu “=†sau \"%s\""
+
+#: src/read-desktop.c:466
+msgid "invalid non-blank line"
+msgstr "dòng không trắng không hợp lệ"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "tập tin “%s†bị cắt ngắn"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "tập tin “%s†chứa một chuỗi không phải được kết thúc bằng NUL"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "tập tin “%s†không phải có định dạng .mo của GNU"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "tập tin “%s†chứa một chuỗi không được kết thúc bằng NUL, tại %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "cảnh báo: cú pháp “\\uxxxx†không hợp lệ với ký tự Unicode"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "cảnh báo: chuỗi chưa được kết thúc"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "cảnh báo: lỗi cú pháp"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
-msgstr "cảnh báo: cặp khóa/giá trị chưa được kết thưc"
+msgstr "cảnh báo: cặp khóa/giá trị chưa được kết thúc"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "cảnh báo: lỗi cú pháp; cần dấu chấm phẩy “;†nằm sau chuỗi"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr ""
"cảnh báo: lỗi cú pháp; cần dấu bằng “=†hay dấu chấm phẩy “;†nằm sau chuỗi"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "Viết bởi %s và %s.\n"
@@ -3370,16 +3618,16 @@ msgstr "Viết bởi %s và %s.\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
-msgstr "Danilo Å egan"
+msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "Mã hóa lại văn bản tiếng Xéc-bi từ chữ viết Ki-rin sang chữ viết La-tinh.\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
@@ -3388,27 +3636,27 @@ msgstr ""
"Văn bản đầu vào được Ä‘á»c từ đầu vào tiêu chuẩn. Văn bản đã chuyển đổi\n"
"được xuất vào đầu ra tiêu chuẩn.\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "đầu vào không hợp lệ theo bảng mã ký tá»± “%sâ€"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "gặp lá»—i khi chuyển đổi từ bảng mã ký tá»± “%s†sang bảng mã ký tá»± “%sâ€"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "cần hai đối số"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] URL TẬP_TIN\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
@@ -3417,37 +3665,37 @@ msgstr ""
"Lấy và xuất nội dung của địa chỉ Mạng (URL).\n"
"URL không thể truy cập được thì TẬP_TIN được dùng thay thế.\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "gặp lá»—i khi Ä‘á»c “%sâ€"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "gặp lỗi khi ghi vào đầu ra tiêu chuẩn"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "gặp lá»—i sau khi Ä‘á»c “%sâ€"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
-msgstr "Äang lấy %s..."
+msgstr "Äang lấy %s…"
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr " quá hạn.\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr " gặp lỗi.\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
@@ -3455,7 +3703,7 @@ msgstr ""
"Không thể xuất nhiá»u miá»n thông dịch vào má»™t tập tin riêng lẻ theo định dạng "
"xuất đã xác định. Hãy thử dùng cú pháp tập tin PO thay thế."
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
@@ -3463,7 +3711,7 @@ msgstr ""
"Không thể xuất nhiá»u miá»n thông dịch vào má»™t tập tin riêng lẻ theo định dạng "
"xuất đã xác định."
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
@@ -3471,7 +3719,7 @@ msgstr ""
"catalog bản dịch chứa bản dịch phụ thuộc vào ngữ cảnh, mà định dạng xuất "
"không hỗ trợ."
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3481,7 +3729,7 @@ msgstr ""
"trợ. Hãy thá»­ tạo ra lá»›p Java bằng lệnh “msgfmt --javaâ€, thay cho tập tin tài "
"nguyên."
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
@@ -3489,12 +3737,12 @@ msgstr ""
"catalog bản dịch chứa chuá»—i ở dạng thức số nhiá»u, mà định dạng xuất không há»— "
"trợ."
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "không thể tạo tập tin kết xuất “%sâ€"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "đầu ra tiêu chuẩn"
@@ -3514,39 +3762,40 @@ msgstr ""
msgid "compilation of C# class failed"
msgstr "gặp lỗi khi biên dịch lớp C#"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "gặp lỗi khi mở “%s†để ghi"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "không phải tên lớp Java hợp lệ: %s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"lá»—i biên dịch lá»›p Java, hãy thá»­ tùy chá»n “--verbose†(xuất chi tiết) hoặc "
"đặt biến $JAVAC"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "lỗi biên dịch lớp Java, hãy thử đặt biến $JAVAC"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "gặp lỗi khi mở “%s†để ghi"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
msgstr "chuỗi nối tiếp đa byte không hợp lệ"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "chuá»—i đã quốc tế hóa không nên chứa dãy thoát “\\%câ€"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3559,7 +3808,7 @@ msgstr ""
"Äá» nghị bạn nhập chuá»—i ngữ cảnh msgctxt hoàn toàn ASCII thay thế.\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3567,12 +3816,12 @@ msgid ""
"different from yours. Consider using a pure ASCII msgid instead.\n"
"%s\n"
msgstr ""
-"Chuỗi gốc msgid theo đây chứa ký tự khác ASCII.\n"
-"TrÆ°á»ng hợp này sẽ làm phiá»n dịch giả dùng bá»™ ký tá»± khác vá»›i Ä‘iá»u của bạn.\n"
-"Äá» nghị bạn nhập chuá»—i gốc msgid hoàn toàn ASCII thay thế.\n"
+"Chuá»—i gốc msgid theo đây chứa ký tá»± khác ASCII. TrÆ°á»ng hợp này\n"
+"sẽ làm phiá»n dịch giả ngÆ°á»i mà dùng bá»™ ký tá»± khác vá»›i cái của bạn.\n"
+"Bạn nên cân nhắc dùng chuỗi gốc msgid hoàn toàn dùng ASCII thay thế.\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3581,7 +3830,7 @@ msgstr ""
"còn định dạng catalog bản dịch kiểu Qt không hỗ trợ\n"
"khả năng xá»­ lý dạng số nhiá»u.\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3593,7 +3842,7 @@ msgstr ""
"hỗ trợ ký tự UTF-8 (Unicode) chỉ trong chuỗi dịch, không phải trong\n"
"chuỗi ngữ cảnh.\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3604,12 +3853,12 @@ msgstr ""
"hỗ trợ ký tự UTF-8 (Unicode) chỉ trong chuỗi dịch, không phải trong\n"
"chuỗi gốc.\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "gặp lỗi khi ghi vào tiến trình phụ %s"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3618,7 +3867,7 @@ msgstr ""
"vào ngữ cảnh, còn định dạng .resources (tài nguyên)\n"
"kiểu C# không hỗ trợ khả năng ngữ cảnh.\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3627,7 +3876,7 @@ msgstr ""
"còn định dạng .resources (tài nguyên) kiểu C# không\n"
"há»— trợ khả năng xá»­ lý dạng số nhiá»u.\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3636,7 +3885,7 @@ msgstr ""
"vào ngữ cảnh, còn định dạng kiểu Tcl không hỗ trợ\n"
"khả năng ngữ cảnh.\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3645,36 +3894,36 @@ msgstr ""
"còn định dạng kiểu Tcl không hỗ trợ khả năng thao tác\n"
"dạng thức số nhiá»u.\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: cảnh báo: chuỗi chưa được kết thúc"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: cảnh báo: biểu thức chính quy chưa được kết thúc"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, c-format
msgid "warning: invalid Unicode character"
msgstr "cảnh báo: ký tự Unicode không hợp lệ"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: cảnh báo: hằng ký tự chưa được kết thúc"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: cảnh báo: kiểu chuỗi văn chưa được kết thúc"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã)."
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3683,7 +3932,7 @@ msgstr ""
"%s:%d: chuỗi đa byte không hợp lệ.\n"
"Hãy đưa ra bảng mã ký tự nguồn đúng bằng “--from-code†(từ mã).\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3692,7 +3941,7 @@ msgstr ""
"%s:%d: chuỗi đa byte dài chưa hoàn thành.\n"
"Hãy đưa ra bảng mã ký tự nguồn đúng bằng “--from-code†(từ mã).\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3701,7 +3950,7 @@ msgstr ""
"%s:%d: chuỗi đa byte chưa hoàn thành ở kết thúc tập tin.\n"
"Hãy đưa ra bảng mã ký tự nguồn đúng bằng “--from-code†(từ mã).\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3710,12 +3959,12 @@ msgstr ""
"%s:%d: chuỗi đa byte chưa hoàn thành ở kết thúc dòng.\n"
"Hãy đưa ra bảng mã ký tự nguồn đúng bằng “--from-code†(từ mã).\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: lá»—i iconv"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3724,294 +3973,79 @@ msgstr ""
"%s:%d: chuỗi đa byte không hợp lệ.\n"
"Hãy đưa ra bảng mã ký tự nguồn dùng “--from-code†(từ mã).\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: cảnh báo: ký tự Unicode không hợp lệ"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: cảnh báo: hằng chuỗi chưa được kết thúc"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr ""
"%s:%d: cảnh báo: gặp dấu ngoặc đóng “)†ở nÆ¡i cần dấu ngoặc móc đóng “}â€"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr ""
"%s:%d: cảnh báo: gặp dấu ngoặc móc đóng “}†ở nÆ¡i cần dấu ngoặc đóng “)â€"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr "Thiếu ná»™i dung cho chuá»—i được rút trích từ phần tá»­ “%sâ€"
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr "Phần tử gốc <%s> là không được phép trong một tập tin Glade hợp lệ"
-
-# Variable: do not translate/ biến: đừng dịch
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"Ngôn ngữ “glade†không được hỗ trợ. %s phụ thuộc vào expat.\n"
-"Phiên bản này đã đ������ợc xây dựng không có expat.\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: cảnh báo: chỉ một đồ thay thế U+%04X"
-
-#: src/x-javascript.c:230
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "Hãychỉ định bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã)\n"
-
-#: src/x-javascript.c:275
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: chuỗi đa byte không hợp lệ. Hãy chỉ định bảng mã\n"
-"ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã).\n"
-
-#: src/x-javascript.c:291
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Chuỗi đa byte dài chưa hoàn thành.\n"
-"Hãy chỉ định bảng mã ký tá»± nguồn đúng bằng tùy chá»n\n"
-"“--from-code†(từ mã).\n"
-
-#: src/x-javascript.c:303
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Chuỗi đa byte chưa hoàn thành ở kết thúc tập tin.\n"
-"Hãy chỉ định bảng mã ký tá»± nguồn đúng bằng cách dùng tùy chá»n\n"
-"“--from-code†(từ mã).\n"
-
-#: src/x-javascript.c:312
-#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Chuỗi đa byte chưa hoàn thành ở kết thúc dòng.\n"
-"Hãy chỉ định bảng mã ký tá»± nguồn đúng thông qua tùy chá»n\n"
-"“--from-code†(từ mã).\n"
-
-#: src/x-javascript.c:344
-#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d: Chuỗi đa byte không hợp lệ. Hãy chỉ định\n"
-"bảng mã ký tá»± nguồn dùng tùy chá»n “--from-code†(từ mã).\n"
-
-#: src/x-javascript.c:954
-#, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: cảnh báo: Gặp kết thúc BTCQ quá sớm"
-
-#: src/x-javascript.c:1055
-#, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: cảnh báo: không cho phép %s"
-
-#: src/x-javascript.c:1069
-#, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: cảnh báo: đánh dấu XML chưa được hoàn tất"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr ""
-"%s:%d: không tìm thấy ký tự kết thúc chuỗi “%s†ở bất cứ nơi nào trước kết "
-"thúc tập tin"
-
-# HEXNUMBER is a variable: do not translate/ HEXNUMBER là một biến: đừng dịch
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: thiếu dấu ngoặc móc đóng trên \\x{HEXNUMBER}"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\l\") của ký tá»± 8-bit “%câ€"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\u\") của ký tá»± 8-bit “%câ€"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d: phép ná»™i suy biến không hợp lệ ở “%câ€"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\L\") của ký tá»± 8-bit “%câ€"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\U\") của ký tá»± 8-bit “%câ€"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã),\n"
-"hoặc bằng ghi chú như được ghi rõ trong tài liệu:\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:324
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: chuỗi đa byte không hợp lệ.\n"
-"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
-"hoặc bằng ghi chú như được chỉ ra trong tài liệu:\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:341
-#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: chuỗi đa byte dài chưa hoàn thành.\n"
-"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
-"hoặc thông qua ghi chú như được định nghĩa trong tài liệu:\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "“%s†không phải là tên bảng mã. Quay lại dùng ASCII.\n"
-#: src/x-python.c:354
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: chuỗi đa byte chưa hoàn thành ở kết thúc tập tin.\n"
-"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
-"hoặc thông qua ghi chú như được định nghĩa trong tài liệu:\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "syntax check '%s' unknown"
+msgstr "không nhận kiểm tra “%sâ€"
-#: src/x-python.c:364
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: chuỗi đa byte chưa hoàn thành ở kết thúc của dòng.\n"
-"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
-"hoặc thông qua ghi chú như được định nghĩa trong tài liệu:\n"
-"http://www.python.org/peps/pep-0263.html.\n"
+msgid "sentence end type '%s' unknown"
+msgstr "không biết kiểu kết thúc câu “%sâ€"
-#: src/x-python.c:397
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-"%s:%d: chuỗi đa byte không hợp lệ.\n"
-"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã),\n"
-"hoặc thông qua ghi chú như được định nghĩa trong tài liệu\n"
-"http://www.python.org/peps/pep-0263.html.\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "Không nhận ra bảng mã ký tự “%s†nên tiếp tục với ASCII để thay thế."
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: chuỗi gốc không hợp lệ"
+"không cho phép dùng tùy chá»n “--join-existing†(nối lại tồn tại) khi kết "
+"xuất được ghi vào đầu ra tiêu chuẩn"
-#: src/x-rst.c:172
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: thiếu con số nằm sau dấu #"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "phần má»m xgettext không thể hoạt Ä‘á»™ng khi không có từ khóa cần tìm"
-#: src/x-rst.c:207
+#: src/xgettext.c:868
#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: dạng thức chuỗi không hợp lệ"
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr "cảnh báo: tập tin quy tắc ITS “%s†không tồn tại"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr ""
-"%s:%lu: cảnh báo: cú pháp $\"...\" đã lạc hậu vì lý do bảo mật; hãy dùng "
-"eval_gettext thay thế."
-
-#: src/x-vala.c:414
-#, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: cảnh báo: gặp kết thúc biểu thức chính quy quá sớm"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr "“%s†không phải là tên bảng mã. Quay lại dùng ASCII.\n"
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"không cho phép dùng tùy chá»n “--join-existing†(nối lại tồn tại) khi kết "
-"xuất được ghi vào đầu ra tiêu chuẩn"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "phần má»m xgettext không thể hoạt Ä‘á»™ng khi không có từ khóa cần tìm"
+"cảnh báo: tập tin quy tắc ITS “%s†không tồn tại; kiểm tra bản cài đặt "
+"gettext của bạn"
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "cảnh báo: không biết tập tin “%s†có phần mở rá»™ng “%sâ€; nên thá»­ C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "Trích các chuỗi có thể dịch ra những tập tin đầu vào đã cho.\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -4020,24 +4054,24 @@ msgstr ""
" -d, --default-domain=TÊN dùng tập tin TÊN này làm kết xuất\n"
" (thay cho messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=TẬP_TIN ghi kết xuất vào tập tin này\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr ""
" -p, --output-dir=THƯ_MỤC các tập tin xuất sẽ được để vào thư mục này\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "Chá»n ngôn ngữ của tập tin đầu vào:\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -4058,13 +4092,12 @@ msgstr ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
-msgstr ""
-" -C, --c++ dạng viết tắt cho tùy chá»n “--language=C++â€\n"
+msgstr " -C, --c++ dạng viết tắt của “--language=C++â€\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
@@ -4073,7 +4106,7 @@ msgstr ""
"Mặc định là ngôn ngữ sẽ được đoán phụ bằng phần mở rộng của tên tập tin đầu "
"vào.\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -4082,24 +4115,24 @@ msgstr ""
" --from-code=MÃ bảng mã ký tự của tập tin đầu vào\n"
" (trừ Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "Mặc định là giả sử tập tin đầu vào có bộ ký tự ASCII.\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing nối lại các chuỗi với tập tin đã có\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr ""
" -x, --exclude-file=TẬP_TIN.po mục tin từ tập tin này sẽ không được trích "
"ra\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -4110,21 +4143,43 @@ msgid ""
msgstr ""
" -cTHẺ, --add-comments=THẺ để vào tập tin kết xuất các khối ghi chú\n"
" bắt đầu với thẻ này và nằm trước dòng từ "
-"khoá\n"
+"khóa\n"
" -c, --add-comments để vào tập tin kết xuất các khối ghi chú nằm\n"
-" trước dòng từ khoá\n"
+" trước dòng từ khóa\n"
+
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=TÊN thực hiện kiểm tra cú pháp trên chuỗi\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=KIỂU kiểu mô tả tại cuối của câu\n"
+" (single-space, đây là mặc định,\n"
+" hoặc double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "Tùy chá»n đặc trÆ°ng cho ngôn ngữ:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all trích ra má»i chuá»—i\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4139,7 +4194,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4154,7 +4209,7 @@ msgstr ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -4162,9 +4217,9 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
" --flag=TỪ:Äá»I_Sá»:CỜ cá» phụ thêm cho chuá»—i nằm bên trong đối số\n"
-" có số Äá»I Sá» của từ khoá TỪ\n"
+" có số Äá»I Sá» của từ khóa TỪ\n"
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -4179,38 +4234,38 @@ msgstr ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs hiểu chữ ba C kiểu ANSI để nhập vào\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr ""
" (chỉ những ngôn ngữ C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt chấp nhận chuỗi định dạng Qt\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (chỉ ngôn ngữ C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde chấp nhận chuỗi định dạng KDE4\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost chấp nhận chuỗi định dạng Boost\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
@@ -4218,20 +4273,30 @@ msgstr ""
" --debug kết quả chi tiết hơn vỠnhận diện định dạng "
"chuá»—i\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr ""
" --properties-output ghi ra tập tin .properties\n"
" thuộc tính) kiểu Java\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " --its=TẬP_TIN áp dụng các quy tắc ITS từ TẬP_TIN\n"
+
+#: src/xgettext.c:1198
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --itstool ghi ra các ghi chú itstool\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr ""
" --copyright-holder=CHUá»–I đặt ngÆ°á»i giữ tác quyá»n trong kết xuất\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -4239,18 +4304,18 @@ msgstr ""
" --foreign-user bá» phần bản quyá»n Tổ Chức Phần Má»m Tá»± Do\n"
" trong kết xuất cho ngÆ°á»i dùng nÆ°á»›c ngoài\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=GÓI đặt tên gói trong kết xuất\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr ""
" --package-version=PHIÊN_BẢN đặt phiên bản của gói trong kết xuất\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
@@ -4258,7 +4323,7 @@ msgstr ""
" --msgid-bugs-address=ÄỊA_CHỈ@THƯ\n"
" đặt địa chỉ thông báo lỗi chuỗi gốc msgid\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -4268,7 +4333,7 @@ msgstr ""
" -m[CHUỖI], --msgstr-prefix[=CHUỖI] dùng CHUỖI này hay \"\"\n"
" làm tiá»n tố cho giá trị msgstr\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -4278,7 +4343,7 @@ msgstr ""
" -M[CHUỖI], --msgstr-suffix[=CHUỖI] dùng chuỗi này hay \"\" làm hậu tố\n"
" cho giá trị msgstr\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
@@ -4286,31 +4351,31 @@ msgid ""
msgstr ""
"Äối số “--flag†(cá») không có cú pháp <từ khóa>:<số đối số>:[qua-]<cá»>: %s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "đầu vào tiêu chuẩn"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "Gặp một ký tự không phải ASCII tại %s%s."
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "Gặp một ghi chú không phải ASCII nằm tại hay trước %s%s."
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "Gặp một chuỗi không phải ASCII tại %s%s."
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: cảnh báo: "
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -4319,7 +4384,7 @@ msgstr ""
"Dù nó được dùng tại một vị trí của chuỗi định dạng, %s không phải là một "
"chuỗi định dạng %s đúng. Lý do: %s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
@@ -4328,7 +4393,7 @@ msgstr ""
"Dù nó được khai báo như vậy, %s không phải là một chuỗi định dạng %s đúng. "
"Lý do: %s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4342,7 +4407,7 @@ msgstr ""
"Äá» nghị bạn dùng chuá»—i định dạng có đối số có tên,\n"
"và sá»± ánh xạ thay cho bản ghi nhiá»u thành phần cho những đối số.\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4353,28 +4418,28 @@ msgstr ""
"gettext(\"\") sẽ đưa ra siêu thông tin (thông tin đặc biệt),\n"
"không phải chuỗi trống rỗng.\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
-msgstr "đặc tả đối chÆ°a rõ ràng cho từ khoá “%.*sâ€"
+msgstr "đặc tả đối chÆ°a rõ ràng cho từ khóa “%.*sâ€"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
-msgstr "cảnh báo: thiếu ngữ cảnh cho từ khoá “%.*sâ€"
+msgstr "cảnh báo: thiếu ngữ cảnh cho từ khóa “%.*sâ€"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-"cảnh báo: thiếu ngữ cảnh cho đối số ở dạng thức số nhiá»u của từ khoá “%.*sâ€"
+"cảnh báo: thiếu ngữ cảnh cho đối số ở dạng thức số nhiá»u của từ khóa “%.*sâ€"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "ngữ cảnh xung Ä‘á»™t giữa dạng số ít và số nhiá»u"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4386,15 +4451,367 @@ msgstr ""
"hãy chỉ định biến MSGID_BUGS_ADDRESS trong đó;\n"
"không thì Ä‘Æ°a ra tùy chá»n dòng lệnh “--msgid-bugs-addressâ€.\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "không nhận ra ngôn ngữ “%sâ€"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: cảnh báo: chỉ một đồ thay thế U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Hãychỉ định bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã)\n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: chuỗi đa byte không hợp lệ. Hãy chỉ định bảng mã\n"
+"ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã).\n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Chuỗi đa byte dài chưa hoàn thành.\n"
+"Hãy chỉ định bảng mã ký tá»± nguồn đúng bằng tùy chá»n\n"
+"“--from-code†(từ mã).\n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Chuỗi đa byte chưa hoàn thành ở kết thúc tập tin.\n"
+"Hãy chỉ định bảng mã ký tá»± nguồn đúng bằng cách dùng tùy chá»n\n"
+"“--from-code†(từ mã).\n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Chuỗi đa byte chưa hoàn thành ở kết thúc dòng.\n"
+"Hãy chỉ định bảng mã ký tá»± nguồn đúng thông qua tùy chá»n\n"
+"“--from-code†(từ mã).\n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Chuỗi đa byte không hợp lệ. Hãy chỉ định\n"
+"bảng mã ký tá»± nguồn dùng tùy chá»n “--from-code†(từ mã).\n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: cảnh báo: Gặp kết thúc BTCQ quá sớm"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: cảnh báo: không cho phép %s"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: cảnh báo: đánh dấu XML chưa được hoàn tất"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr ""
+"%s:%d: không tìm thấy ký tự kết thúc chuỗi “%s†ở bất cứ nơi nào trước kết "
+"thúc tập tin"
+
+# HEXNUMBER is a variable: do not translate/ HEXNUMBER là một biến: đừng dịch
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: thiếu dấu ngoặc móc đóng trên \\x{HEXNUMBER}"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\l\") của ký tá»± 8-bit “%câ€"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\u\") của ký tá»± 8-bit “%câ€"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d: phép ná»™i suy biến không hợp lệ ở “%câ€"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\L\") của ký tá»± 8-bit “%câ€"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: phép ná»™i suy không hợp lệ (\"\\U\") của ký tá»± 8-bit “%câ€"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã),\n"
+"hoặc bằng ghi chú như được ghi rõ trong tài liệu:\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: chuỗi đa byte không hợp lệ.\n"
+"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
+"hoặc bằng ghi chú như được chỉ ra trong tài liệu:\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: chuỗi đa byte dài chưa hoàn thành.\n"
+"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
+"hoặc thông qua ghi chú như được định nghĩa trong tài liệu:\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: chuỗi đa byte chưa hoàn thành ở kết thúc tập tin.\n"
+"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
+"hoặc thông qua ghi chú như được định nghĩa trong tài liệu:\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: chuỗi đa byte chưa hoàn thành ở kết thúc của dòng.\n"
+"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn đúng bằng tùy chá»n “--from-code†(từ mã),\n"
+"hoặc thông qua ghi chú như được định nghĩa trong tài liệu:\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: chuỗi đa byte không hợp lệ.\n"
+"Hãy Ä‘Æ°a ra bảng mã ký tá»± nguồn bằng tùy chá»n “--from-code†(từ mã),\n"
+"hoặc thông qua ghi chú như được định nghĩa trong tài liệu\n"
+"http://www.python.org/peps/pep-0263.html.\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "Không nhận ra bảng mã ký tự “%s†nên tiếp tục với ASCII để thay thế."
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: chuỗi gốc không hợp lệ"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: thiếu con số nằm sau dấu #"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: dạng thức chuỗi không hợp lệ"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: cảnh báo: cú pháp $\"…\" đã lạc hậu vì lý do bảo mật; hãy dùng "
+"eval_gettext thay thế."
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: cảnh báo: gặp kết thúc biểu thức chính quy quá sớm"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<không_tên>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+msgid "invalid UTF-8 sequence"
+msgstr "chuỗi nối tiếp UTF-8 không hợp lệ"
+
+#: libgettextpo/markup.c:377
+#, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "“%s†không phải là tên hợp lệ: %c"
+
+#: libgettextpo/markup.c:397
+#, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "“%s†không phải là tên hợp lệ: “%câ€"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, c-format
+msgid "invalid character reference: %s"
+msgstr "tham chiếu ký tự không hợp lệ: %s"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr "không phải là đặc tả số hợp lệ"
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr "không kết thúc bằng “;â€"
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr "ký tự không-được-phép"
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr "rá»—ng"
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr "không hiểu"
+
+#: libgettextpo/markup.c:608
+#, c-format
+msgid "invalid entity reference: %s"
+msgstr "tham chiếu thực thể không hợp lệ: %s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr "tài liệu phải bắt đầu với một phần tử"
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, c-format
+msgid "invalid character after '%s'"
+msgstr "ký tá»± không hợp lệ sau “%sâ€"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr "thiếu “%câ€"
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr "thiếu “%c†hoặc “%câ€"
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr "một tên phần tử đóng"
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr "phần tử bị đóng"
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr "tài liệu rỗng"
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr "sau “<â€"
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr "các phần tử vẫn mở"
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr "thiếu “>â€"
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr "trong một tên phần tử"
+
+#: libgettextpo/markup.c:1509
+msgid "inside an attribute name"
+msgstr "trong một tên thuộc tính"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr "trong một thẻ mở"
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr "sau “=â€"
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr "bên trong một giá trị thuộc tính"
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr "bên trong thẻ đóng"
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr "bên trong ghi chú hoặc chỉ lệnh xử lý"
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr "tài liệu bị kết thúc bất thÆ°á»ng: %s"
+
+#~ msgid "The root element <%s> is not allowed in a valid CLDR file"
+#~ msgstr "Phần tử gốc <%s> là không được phép trong một tập tin CLDR hợp lệ"
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "Thiếu ná»™i dung cho chuá»—i được rút trích từ phần tá»­ “%sâ€"
+
+# Variable: do not translate/ biến: đừng dịch
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "Ngôn ngữ “glade†không được hỗ trợ. %s phụ thuộc vào expat.\n"
+#~ "Phiên bản này đã đ������ợc xây dựng không có expat.\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "trÆ°á»ng phần đầu “%s†nên bắt đầu tại đầu dòng\n"
diff --git a/gettext-tools/po/zh_CN.gmo b/gettext-tools/po/zh_CN.gmo
index abae448..5e0d39d 100644
--- a/gettext-tools/po/zh_CN.gmo
+++ b/gettext-tools/po/zh_CN.gmo
Binary files differ
diff --git a/gettext-tools/po/zh_CN.po b/gettext-tools/po/zh_CN.po
index 73b6aec..f4c3055 100644
--- a/gettext-tools/po/zh_CN.po
+++ b/gettext-tools/po/zh_CN.po
@@ -2,13 +2,13 @@
# Copyright (C) 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Funda Wang <fundawang@linux.net.cn>, 2004.
-# Ji ZhengYu <zhengyuji@gmail.com>, 2009, 2010, 2011, 2012, 2013
+# Ji ZhengYu <zhengyuji@gmail.com>, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gettext-tools 0.18.2\n"
+"Project-Id-Version: gettext-tools 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
-"PO-Revision-Date: 2013-03-05 16:18+0800\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
+"PO-Revision-Date: 2015-09-01 16:16中国标准时间\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
@@ -55,40 +55,40 @@ msgstr "无法删除临时目录 %s"
msgid "write error"
msgstr "写错误"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr "ä¿å­˜ %s çš„æƒé™"
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "è¯»å– %s 时出错"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "无法写入备份文件 %s"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "è¯»å– %s 出错"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "写入 %s 出错"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "è¯»å– %s åŽå‡ºé”™"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() 失败"
@@ -114,58 +114,63 @@ msgstr "未知的系统错误"
msgid "%s subprocess failed"
msgstr "%s å­è¿›ç¨‹å¤±è´¥"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: 选项“%sâ€æœ‰æ­§ä¹‰;å¯èƒ½æ˜¯:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: 选项“%sâ€æœ‰æ­§ä¹‰\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: 选项“--%sâ€ä¸å…许有å‚æ•°\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: 选项“%c%sâ€ä¸å…许有å‚æ•°\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: 选项“--%sâ€éœ€è¦å‚æ•°\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: 无法识别的选项“--%sâ€\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: 无法识别的选项“%c%sâ€\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: 无效选项 -- '%c'\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: 选项需è¦å‚æ•° -- '%c'\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: 选项“-W %sâ€æ­§ä¹‰\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: 选项“-W %sâ€ä¸å…许å‚æ•°\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: 选项“-W %sâ€éœ€è¦å‚æ•°\n"
@@ -181,15 +186,16 @@ msgstr "compile_java_class 中有无效的 source_version å‚æ•°"
msgid "invalid target_version argument to compile_java_class"
msgstr "compile_java_class 中有无效的 target_version å‚æ•°"
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "创建“%sâ€å¤±è´¥"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "写入“%sâ€å‡ºé”™"
@@ -204,15 +210,15 @@ msgstr "未找到 Java 编译器,试ç€å®‰è£… gcj 或设置 $JAVAC"
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "未找到 Java 虚拟机,试ç€å®‰è£… gij 或设置 $JAVA"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s å­è¿›ç¨‹ I/O 错误"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "内存耗尽"
@@ -223,7 +229,7 @@ msgid "creation of threads failed"
msgstr "线程创建失败"
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "写入 %s å­è¿›ç¨‹å¤±è´¥"
@@ -269,11 +275,11 @@ msgstr "%s å­è¿›ç¨‹å·²ç»ˆæ­¢ï¼Œé”™è¯¯ç ä¸º %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr "“"
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr "â€"
@@ -309,51 +315,193 @@ msgstr "%s å­è¿›ç¨‹"
msgid "%s subprocess got fatal signal %d"
msgstr "%s å­è¿›ç¨‹æ”¶åˆ°è‡´å‘½ä¿¡å· %d"
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/cldr-plurals.c:69
#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "打开“%sâ€è¯»å–时出错"
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, fuzzy, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr "在有效的Glade 文件中根元素<%s> ä¸å…许"
-#: src/format.c:151
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
#, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "ä¸åƒâ€œ%3$sâ€ï¼Œâ€œ%1$sâ€ä¸æ˜¯æœ‰æ•ˆçš„ %2$s æ ¼å¼å­—符串。原因: %4$s"
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "试试“%s --helpâ€æŸ¥çœ‹å¸®åŠ©ä¿¡æ¯ã€‚\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "用法:%s [选项] [文件]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"长选项必须用的å‚数在使用短选项时也是必须的。\n"
+"å¯é€‰å‚数也是如此。\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help 显示此帮助并退出\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help 显示此帮助并退出\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version 输出版本信æ¯å¹¶é€€å‡º\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "将错误报告至 <bug-gnu-gettext@gnu.org>。\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "由 %s 编写。\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, fuzzy, c-format
+msgid "%s cannot be read"
+msgstr "%s 存在但ä¸å¯è¯»"
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "无法删除临时目录 %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "打开“%sâ€è¯»å–时出错"
+
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "å‚æ•°\"%u\"(如åŒ\"%s\")çš„æ ¼å¼æŒ‡å®šåœ¨\"%s\"中ä¸å­˜åœ¨"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "å‚æ•° %u çš„æ ¼å¼æŒ‡å®šç¬¦åœ¨â€œ%sâ€ä¸­ä¸å­˜åœ¨"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "å‚æ•° %3$u 的指定格å¼åœ¨â€œ%1$sâ€å’Œâ€œ%2$sâ€ä¸­ä¸åŒ"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "第 %u æ¡æŒ‡ä»¤ä»¥â€œ|â€å¼€å§‹ä½†å¹¶ä¸ä»¥â€œ|â€ã€‚"
-#: src/format-c.c:36
+#: src/format.c:152
+#, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "ä¸åƒâ€œ%3$sâ€ï¼Œâ€œ%1$sâ€ä¸æ˜¯æœ‰æ•ˆçš„ %2$s æ ¼å¼å­—符串。原因: %4$s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -362,56 +510,56 @@ msgstr ""
"第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ<â€åŽçš„è®°å·å¹¶ä¸æ˜¯æ ¼å¼æŒ‡å®šç¬¦å®çš„å称。有效的å®å列在 ISO C 99 "
"章节 7.8.1 中。"
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œæ²¡æœ‰ä¸Žâ€œ<â€åŒ¹é…的“>â€ã€‚"
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr "字符串引用了第 %u 个å‚数但是å´å¿½ç•¥äº†ç¬¬ %u 个å‚数。"
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "“%sâ€å’Œâ€œ%sâ€ä¸­çš„指定格å¼æ•°é‡ä¸åŒ¹é…"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ{â€åŽæ²¡æœ‰å‚æ•°ç¼–å·ã€‚"
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ,â€åŽæ²¡æœ‰å‚æ•°ç¼–å·ã€‚"
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr "指令中间字符串å‘生中断:å‘现了“{â€ä½†æ²¡æœ‰åŒ¹é…的“}â€ã€‚"
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ä»¥æ— æ•ˆçš„字符“%câ€è€Œéžâ€œ}â€ç»“æŸã€‚"
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "第 %u æ¡æŒ‡ä»¤ä»¥æ— æ•ˆçš„字符而éžâ€œ}â€ç»“æŸã€‚"
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr "指令中间开始字符串:å‘现了“}â€ä½†æ²¡æœ‰åŒ¹é…的“{â€ã€‚"
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "第 %u æ¡æŒ‡ä»¤ä¹‹åŽçš„字符串包å«ç‹¬ç«‹çš„“}â€ã€‚"
@@ -519,61 +667,80 @@ msgstr "终止第 %u æ¡æŒ‡ä»¤çš„字符ä¸æ˜¯æœ‰æ•ˆçš„转æ¢æŒ‡ç¤ºç¬¦ã€‚"
msgid "The string refers to argument number %u in incompatible ways."
msgstr "字符串引用第 %u 个å‚数的方法ä¸å…¼å®¹ã€‚"
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå­å­—符串“%sâ€ä¸æ˜¯æœ‰æ•ˆçš„日期/时间风格。"
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%sâ€åŽé¢æ²¡æœ‰é€—å·ã€‚"
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå­å­—符串“%sâ€ä¸æ˜¯æœ‰æ•ˆçš„æ•°å­—æ ¼å¼ã€‚"
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå‚æ•°ç¼–å·åŽé¢æ²¡æœ‰é€—å·å’Œâ€œ%sâ€ã€â€œ%sâ€ã€â€œ%sâ€ã€â€œ%sâ€ä¹‹ä¸€ã€‚"
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œé€‰æ‹©ä¸åŒ…å«æ•°å­—。"
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œé€‰æ‹©åŒ…å«çš„æ•°å­—åŽé¢æ²¡æœ‰â€œ<â€ã€â€œ#â€æˆ–“%sâ€ã€‚"
-#: src/format-java.c:745
+#: src/format-java.c:746
#, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "å‚æ•°{%u}(如åŒ\"%s\")çš„æ ¼å¼æŒ‡å®šåœ¨\"%s\"中ä¸å­˜åœ¨"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "å‚æ•° {%u} 中未在“%sâ€ä¸­æ‰¾åˆ°"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "å‚æ•° {%3$u} 在“%1$sâ€å’Œâ€œ%2$sâ€ä¸­çš„æ ¼å¼æŒ‡å®šä¸ç›¸åŒ"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr "字符串引用了第 %u 个å‚数但是å´å¿½ç•¥äº†ç¬¬ %u 个和第 %u 个å‚数。"
+
+#: src/format-kde.c:243
+#, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "å‚æ•°%u å’Œ%u çš„æ ¼å¼å®šä¹‰åœ¨â€œ%sâ€ä¸­ä¸å­˜åœ¨ï¼Œä»…å¯å¿½ç•¥ä¸€ä¸ªå‚æ•°"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, c-format
+msgid "error while parsing: %s"
+msgstr "错误,正处ç†: %s"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -581,7 +748,7 @@ msgid ""
"type '%s' is expected."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œç¬¬ %u 个å‚数类型为“%sâ€ï¼Œä½†åº”为“%sâ€ã€‚"
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -591,134 +758,133 @@ msgid_plural ""
"%u parameters."
msgstr[0] "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œç»™å‡ºçš„å‚数太多;最多åªéœ€è¦ %u 个å‚数。"
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€åŽé¢æ²¡æœ‰æ•°å­—。"
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå‚æ•° %d 为负数。"
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr "字符串在 ~/.../ 指令中间中断。"
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "å‘现了“~%câ€ä½†æ²¡æœ‰åŒ¹é…的“~%câ€ã€‚"
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼ŒåŒæ—¶ç»™å‡ºäº† @ å’Œ : 修饰符。"
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ~:[â€åŽé¢æ²¡æœ‰ä¸¤ä¸ªç”¨â€œ~;â€åˆ†éš”çš„å­å¥ã€‚"
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ~;â€çš„ä½ç½®æ— æ•ˆã€‚"
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr "字符串引用æŸäº›å‚æ•°çš„æ–¹å¼ä¸å…¼å®¹ã€‚"
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "“%sâ€å’Œâ€œ%sâ€ä¸­çš„æ ¼å¼æŒ‡å®šç¬¦ä¸åŒ"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "“%sâ€ä¸­çš„æ ¼å¼æŒ‡å®šç¬¦ä¸æ˜¯â€œ%sâ€æ ¼å¼æŒ‡å®šç¬¦çš„å­é›†"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "å‚数“%sâ€çš„æ ¼å¼æŒ‡å®šç¬¦æœªåœ¨â€œ%sâ€ä¸­æ‰¾åˆ°"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå¤§å°æŒ‡å®šç¬¦ä¸Žè½¬æ¢æŒ‡å®šç¬¦â€œ%câ€ä¸å…¼å®¹ã€‚"
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
+#: src/format-python-brace.c:138
#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "å‚数“%sâ€çš„æ ¼å¼æŒ‡å®šç¬¦æœªåœ¨â€œ%sâ€ä¸­æ‰¾åˆ°"
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€ä¸å¯ä»¥field name 开始。"
+
+#: src/format-python-brace.c:151
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€ä¸å¯ä»¥getattr å‚数开始。"
-#: src/format-python.c:115
+#: src/format-python-brace.c:166
+#, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€ä¸å¯ä»¥getitem å‚数开始。"
+
+#: src/format-python-brace.c:186
+#, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œæ ¼å¼å®šä¹‰ä¸­ä¸å…许过多嵌套。"
+
+#: src/format-python-brace.c:271
+#, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œæ ¼å¼æŒ‡ä»¤ä¸­æ— ç»ˆæ­¢ç¬¦ã€‚"
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr "字符串åŒæ—¶ä½¿ç”¨ä¸¤ç§æ–¹å¼å¼•ç”¨äº†å‚数:通过å‚æ•°å称和未命åå‚数指定符。"
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr "字符串对å为“%sâ€çš„å‚数引用方å¼ä¸å…¼å®¹ã€‚"
-#: src/format-python.c:430
+#: src/format-python.c:431
#, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr "“%sâ€ä¸­çš„æ ¼å¼æŒ‡å®šç¬¦éœ€è¦æ˜ å°„,而“%sâ€ä¸­çš„æ ¼å¼æŒ‡å®šç¬¦éœ€è¦å…ƒç»„"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr "“%sâ€ä¸­çš„æ ¼å¼æŒ‡å®šç¬¦éœ€è¦å…ƒç»„,而“%sâ€ä¸­çš„æ ¼å¼æŒ‡å®šç¬¦éœ€è¦æ˜ å°„"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "å‚æ•°\"%s\"(如åŒ\"%s\")çš„æ ¼å¼æŒ‡å®šåœ¨\"%s\"中ä¸å­˜åœ¨"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "“%sâ€å’Œâ€œ%sâ€ä¸­å¯¹å‚数“%sâ€çš„æ ¼å¼æŒ‡å®šä¸åŒ"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€åŽé¢æ²¡æœ‰æ•°å­—。"
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ{â€åŽæ²¡æœ‰å‚æ•°ç¼–å·ã€‚"
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€åŽé¢æ²¡æœ‰æ•°å­—。"
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œâ€œ%câ€å‰ä¸å…许有精度。"
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå‚æ•° %d 为负数。"
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
@@ -726,110 +892,75 @@ msgid ""
msgstr ""
"'%s' 仅仅是个格å¼å­—符串,但‘%s’ä¸æ˜¯ï¼šå®ƒåŒ…å«ä¸€ä¸ªâ€˜L’标记或是一个两ä½æ•°çš„å‚数值"
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "å­—ç¬¦ä¸²ä»¥éž ASCII å称引用 shell å˜é‡ã€‚"
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
"字符串引用的 shell å˜é‡ä¸­å¤§æ‹¬å·è¯­æ³•è¿‡äºŽå¤æ‚。为安全起è§ï¼Œæ­¤è¯­æ³•ä¸è¢«æ”¯æŒã€‚"
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr "字符串引用的 shell å˜é‡å€¼å¯èƒ½åœ¨ shell 函数中有所ä¸åŒã€‚"
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "字符串以空å称引用 shell å˜é‡ã€‚"
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "第 %u æ¡æŒ‡ä»¤ä¸­ï¼Œå­—符“%câ€ä¸æ˜¯ä»‹äºŽ 1 å’Œ 9 之间的数字。"
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "终止第 %u æ¡æŒ‡ä»¤çš„字符ä¸æ˜¯ä»‹äºŽ 1 å’Œ 9 之间的数字。"
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "由 %s 编写。\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr "Bruno Haible"
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "å‚数太多"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "试试“%s --helpâ€æŸ¥çœ‹å¸®åŠ©ä¿¡æ¯ã€‚\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "用法:%s [选项]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "打å°æœºå™¨çš„主机å。\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "输出格å¼ï¼š\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short 短主机å\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -837,266 +968,295 @@ msgid ""
" name, and aliases\n"
msgstr " -f, --fqdn, --long 长主机å,包括全称域å和别å\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address 主机å地å€\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "ä¿¡æ¯æ€§è¾“出:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help 显示此帮助并退出\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "无法获得主机å"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version 输出版本信æ¯å¹¶é€€å‡º\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "需è¦è‡³å°‘指定两个文件"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "将错误报告至 <bug-gnu-gettext@gnu.org>。\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "无法创建管é“"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "无法获得主机å"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
+
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "%2$s çš„å‚æ•° %1$s 无效"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "无法创建管é“"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, fuzzy, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr "%s ä¸å­˜åœ¨"
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "无法创建输出文件“%sâ€"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "å…许最多一个输入文件"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s 和 %s 互相排斥"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "用法:%s [选项] [输入文件]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr "æ ¹æ®æ¶ˆæ¯çš„属性过滤一个翻译库里的消æ¯ï¼Œå¹¶å¤„ç†æ¶ˆæ¯çš„属性。\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr "长选项必须用的å‚数在使用短选项时也是必须的。\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "输入文件的ä½ç½®ï¼š\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " 输入文件 åšä¸ºè¾“入的 PO 文件\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr " -D, --directory=目录 在<目录>中查找输入文件\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "如果没有指定输入文件或输入文件是 -,则读å–标准输入。\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "输出文件ä½ç½®ï¼š\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=文件 将输出写入指定文件\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr "如果没有指定输出文件或输出文件是 -,则将结果写入至标准输出。\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "消æ¯é€‰æ‹©ï¼š\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr " --translated ä¿ç•™å·²ç¿»è¯‘的,去掉未翻译的消æ¯\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr " --untranslated ä¿ç•™æœªç¿»è¯‘的,去掉已翻译的消æ¯\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy 删除标为模糊的消æ¯\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy ä¿ç•™æ ‡ä¸ºæ¨¡ç³Šçš„消æ¯\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete 移除过时 #~ 的消æ¯\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete ä¿ç•™è¿‡æ—¶ #~ 的消æ¯\n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "属性æ“纵:\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy 全部消æ¯è®¾ä¸ºâ€œæ¨¡ç³Šâ€\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy 全部消æ¯æ¸…除“模糊â€å±žæ€§\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete 全部消æ¯è®¾ä¸ºè¿‡æ—¶\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete 全部消æ¯æ¸…除过时属性\n"
-#: src/msgattrib.c:475
-#, fuzzy, c-format
+#: src/msgattrib.c:476
+#, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
" of translated messages.\n"
-msgstr " --previous ä¿ç•™å·²ç¿»è¯‘æ¡ç›®çš„ msgids\n"
+msgstr ""
+" --previous 设置“fuzzyâ€æ ‡è®°æ—¶ï¼Œ\n"
+" ä¿ç•™åŽŸç¿»è¯‘ä¿¡æ¯å‰çš„msgids。\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr " --clear-previous 从所有æ¡ç›®ä¸­åˆ é™¤â€œprevious msgidâ€\n"
-#: src/msgattrib.c:480
-#, fuzzy, c-format
+#: src/msgattrib.c:481
+#, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
-msgstr " --no-fuzzy 删除标为模糊的消æ¯\n"
+msgstr " --empty 删除“fuzzyâ€æ ‡è®°æ—¶ï¼Œæ€»æ˜¯æ¸…空msgstr\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr " --only-file=文件.po åªå¤„ç†åˆ—在 文件.po 中的项\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr " --ignore-file=文件.po åªå¤„ç†æœªåˆ—在 文件.po 中的项\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy 等于 --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr " --obsolete 等于 --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "输入文件的语法:\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr " -P, --properties-input 输入文件以 Java .properties 语法给出\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1104,17 +1264,17 @@ msgid ""
msgstr ""
" --stringtable-input 输入文件以 NeXTstep/GNUstep .strings 语法给出\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "输出细节:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1127,119 +1287,119 @@ msgstr ""
" WHEN å¯ä»¥"
"是‘always’,‘never’,‘auto’或‘html’。\n"
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr " --style=STYLEFILE 为 --color å‚数指定 CSS æ ·å¼æ–‡ä»¶\n"
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
msgstr " -e, --no-escape ä¸åœ¨è¾“出中使用 C 转ç åºåˆ—(默认)\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
msgstr " -E, --escape 在输出中使用 C 转ç åºåˆ—,没有扩展字符\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po 就算为空也写入 PO 文件\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent 使用缩进风格写入 .po 文件\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location ä¸å†™å…¥â€œ#: 文件å:è¡Œå·â€ä½ç½®è¡Œ\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr " -n, --add-location 生æˆâ€œ#: 文件å:è¡Œå·â€ä½ç½®è¡Œ(默认)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict 写入æžä¸ºä¸¥æ ¼çš„ Uniforum 使 .po 文件ä¿æŒä¸€è‡´\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output 写出 Java .properties 文件\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr " --stringtable-output 写出 NeXTstep/GNUstep .strings 文件\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=æ•°å­— 设置输出页é¢å®½åº¦\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
" the output page width, into several lines\n"
msgstr " --no-wrap ä¸å°†è¶…过输出页宽度的长消æ¯è¡Œæ–­ä¸ºå¤šè¡Œ\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output 输出å‰æŽ’åº\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file 按文件ä½ç½®æŽ’åºè¾“出\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "ä¸å¯èƒ½å‡ºçŽ°çš„选择æ¡ä»¶ (%d < n < %d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "用法:%s [选项] [输入文件]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1262,23 +1422,23 @@ msgstr ""
"翻译内容ã€è‡ªè¡ŒåŠ ä¸Šçš„批注和æºç¨‹åºä»£ç æ‰¹æ³¨ï¼Œä»¥åŠæ–‡ä»¶ä¸­çš„ä½ç½®ç­‰éƒ½ä¼šç´¯ç§¯ï¼Œ\n"
"除éžä½¿ç”¨äº† --use-first选项,那样则会由第一个包å«è¯¥ç¿»è¯‘æ¡ç›®çš„文件获å–æ•°æ®ã€‚\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " 输入文件 ... 输入文件\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=文件 由<文件>读入输入文件的列表\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "如果输入文件为 -,则将读å–标准输入。\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1287,7 +1447,7 @@ msgstr ""
" -<, --less-than=æ•°å­— åªæ‰“å°å‡ºçŽ°æ¬¡æ•°å°‘于指定次数的消æ¯ï¼Œè‹¥æ²¡æœ‰\n"
" 指定次数则默认值为无穷大\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1296,7 +1456,7 @@ msgstr ""
" ->, --more-than=æ•°å­— åªæ‰“å°å‡ºçŽ°æ¬¡æ•°å¤šäºŽæŒ‡å®šæ¬¡æ•°çš„消æ¯ï¼Œè‹¥æ²¡æœ‰\n"
" 指定次数则默认值为 0\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1305,15 +1465,15 @@ msgstr ""
" -u, --unique --less-than=2 的缩写,è¦æ±‚åªåˆ—出出现一次\n"
" 的消æ¯\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr " -P, --properties-input 输入文件以 Java .properties 语法给出\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1321,12 +1481,12 @@ msgid ""
msgstr ""
" --stringtable-input 输入文件以 NeXTstep/GNUstep .strings 语法给出\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=å称 输出的编ç \n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1335,33 +1495,33 @@ msgstr ""
" --use-first 对æ¯æ¡æ¶ˆæ¯å‡ä½¿ç”¨ç¬¬ä¸€ä¸ªå¯ç”¨çš„翻译,ä¸åˆå¹¶è‹¥å¹²\n"
" ç§ç¿»è¯‘\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr " --lang=CATALOGNAME 在文件头中设定 'Language'\n"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr "Peter Miller"
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "没有给出输入文件"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "需è¦ä¸¤ä¸ªè¾“入文件"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "用法:%s [选项] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1377,85 +1537,85 @@ msgstr ""
"此程åºå¯ç”¨æ¥æ£€æŸ¥ç¨‹åºä¸­çš„所有的消æ¯æ˜¯å¦éƒ½å·²ç»ç¿»è¯‘好了。比较时如果\n"
"有ä¸å®Œå…¨åŒ¹é…的字符串出现,程åºä¼šä»¥æ¨¡ç³Šé…对的方å¼å¾—出较好的结果。\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po 翻译\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot 对æºæ–‡ä»¶çš„引用\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "æ“作修饰:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
"po\n"
msgstr " -m, --multi-domain å°† ref.pot 应用到 def.po çš„æ¯ä¸ªåŸŸä¸Š\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching ä¸ä½¿ç”¨æ¨¡ç³ŠåŒ¹é…\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " --use-fuzzy 使用标记为 fuzzy çš„æ¡ç›®\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --use-untranslated 使用未翻译的æ¡ç›®\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, c-format
msgid "this message is untranslated"
msgstr "æ­¤æ¡ç›®æœªç¿»è¯‘"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr "æ­¤æ¡ç›®éœ€è¦ç”±ç¿»è¯‘者å¤å®¡"
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "此消æ¯ä½¿ç”¨äº†ä½†å´æœªå®šä¹‰..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...但此定义å分类似"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "此消æ¯å·²ä½¿ç”¨ï¼Œä½†æœªå®šä¹‰äºŽ %s 中"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "警告:此消æ¯æœªä½¿ç”¨"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "å‘现 %d 处致命错误"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "需è¦è‡³å°‘指定两个文件"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1475,7 +1635,7 @@ msgstr ""
"但åªä¼šä¿ç•™æœ€å…ˆå®šä¹‰è¿™äº›ä¿¡æ¯çš„ PO 文件中的内容。\n"
"所有 PO 文件中的翻译æ¡ç›®çš„文件ä½ç½®éƒ½ä¼šç´¯ç§¯ä¸‹æ¥ã€‚\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1484,67 +1644,67 @@ msgstr ""
" ->, --more-than=æ•°å­— åªæ‰“å°å‡ºçŽ°æ¬¡æ•°å¤šäºŽæŒ‡å®šæ¬¡æ•°çš„消æ¯ï¼Œè‹¥æ²¡æœ‰\n"
" 指定次数则默认值为 1\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr " --omit-header ä¸å†™å…¥å¸¦æœ‰â€œmsgid \"\"â€é¡¹çš„文件头项\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "将一个翻译库的编ç è½¬æ¢ä¸ºå¦ä¸€ç§æ–‡å­—ç¼–ç ã€‚\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "转æ¢ç›®æ ‡ï¼š\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "默认编ç ä¸ºå½“å‰åŒºåŸŸè®¾ç½®çš„ç¼–ç ã€‚\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent 缩进的输出风格\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location 排除“#: filename:lineâ€è¡Œ\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
-#, fuzzy, c-format
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
+#, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
-msgstr " --add-location ä¿ç•™â€œ#: filename:lineâ€è¡Œ(默认)\n"
+msgstr " -n, --add-location ä¿ç•™â€œ#: filename:lineâ€è¡Œ(默认)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict 严格的 Uniforum 输出风格\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "没有给出输入文件"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "需è¦ä¸€ä¸ªè¾“入文件"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "用法:%s [选项] 输入文件\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1556,22 +1716,22 @@ msgstr ""
"(通常由 xgettext 创建)。未翻译的æ¡ç›®ä¼šå¡«ä¸Šå’Œ msgid 一样的字符串,\n"
"并标记为模糊。\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " 输入文件 输入 PO 或 POT 文件\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "丢失命令å"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "用法:%s [选项] 命令 [命令选项]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1586,7 +1746,7 @@ msgstr ""
"å³æ˜¯ msgexec 的输出结果。msgexec 的返回值是所有\n"
"命令调用产生的返回值的最大值。\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1595,206 +1755,232 @@ msgstr ""
"有一个称为“0â€çš„特殊内置命令,它会输出翻译æ¡ç›®ï¼Œå¹¶éšåŽåŠ ä¸Šä¸€ä¸ª null\n"
"字节。“msgexec 0â€çš„输出适用于作为“xargs -0â€çš„输入。\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, c-format
+msgid "Command input:\n"
+msgstr "命令输入:\n"
+
+#: src/msgexec.c:285
+#, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " --newline 在输入末尾添加æ¢è¡Œç¬¦\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=输入文件 输入的 PO 文件\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "写入 stdout 失败"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "缺少过滤器å称"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "必须指定至少一个 sed 脚本"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
-msgstr "用法:%s [选项] 过滤器 [过滤器选项]\n"
+msgstr "用法:%s [选项] FILTER [FILTER-OPTION]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "对于翻译库中的所有翻译æ¡ç›®è¿›è¡Œè¿‡æ»¤ã€‚\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
"and writes a modified translation to standard output.\n"
msgstr ""
-"<过滤器>å¯ä»¥æ˜¯ä»»ä½•ç”±æ ‡å‡†è¾“入读入翻译æ¡ç›®\n"
+"FILTER å¯ä»¥æ˜¯ä»»ä½•ç”±æ ‡å‡†è¾“入读入翻译æ¡ç›®\n"
"并将修改åŽçš„翻译写进标准输出的程åºã€‚\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr "Filter 输入与输出:\n"
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+" --newline 在输入æµç»“尾添加一个æ¢è¡Œç¬¦\n"
+" 并移除输出æµç»“尾的æ¢è¡Œç¬¦"
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
-msgstr "当过滤器是“sedâ€æ—¶å¯ç”¨çš„过滤选项:\n"
+msgstr "FILTER设为“sedâ€æ˜¯æœ‰ç”¨çš„FILTER-OPTION:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
-msgstr " -e, --expression=脚本 将<脚本>添加到欲执行的命令中\n"
+msgstr " -e, --expression=SCRIPT 将<SCRIPT>添加到欲执行的命令中\n"
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
"commands\n"
" to be executed\n"
-msgstr " -f, --file=脚本文件 将<脚本文件>的内容添加到欲执行的命令中\n"
+msgstr ""
+" -f, --file=SCRIPTFILE 将<SCRIPTFILE>的内容添加到欲执行的命令中\n"
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr " -n, --quiet, --silent ç¦ç”¨å¯¹æ¨¡å¼ç©ºç™½çš„自动打å°\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
msgstr " --no-escape 在输出中ä¸ä½¿ç”¨ C 转义字符(默认)\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent 缩进的输出风格\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr " --keep-header ä¿æŒæ–‡ä»¶å¤´é¡¹ä¸å˜ï¼Œä¸è¿‡æ»¤å®ƒ\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "filter 输出未以æ¢è¡Œç¬¦ç»ˆæ­¢"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "%s çš„å‚数应该是一个标点符å·"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr "无效的 endianness:%s"
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"
-#: src/msgfmt.c:439
-#, fuzzy, c-format
+#: src/msgfmt.c:471
+#, c-format
msgid "no input file should be given if %s and %s are specified"
-msgstr "如果没有指定输入文件或输入文件是 -,则读å–标准输入。\n"
+msgstr "若指定了%s 和%s,则无需指定输入文件"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s 需è¦æŒ‡å®šâ€œ-d 目录â€é€‰é¡¹"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s 需è¦æŒ‡å®šâ€œ-l localeâ€é€‰é¡¹"
-#: src/msgfmt.c:538
-#, fuzzy, c-format
+#: src/msgfmt.c:571 src/msgfmt.c:599
+#, c-format
msgid "%s requires a \"--template template\" specification"
-msgstr "%s 需è¦æŒ‡å®šâ€œ-l localeâ€é€‰é¡¹"
+msgstr "%s 需è¦æŒ‡å®šâ€œ--template templateâ€é€‰é¡¹"
-#: src/msgfmt.c:545
-#, fuzzy, c-format
+#: src/msgfmt.c:578 src/msgfmt.c:606
+#, c-format
msgid "%s requires a \"-o file\" specification"
-msgstr "%s 需è¦æŒ‡å®šâ€œ-l localeâ€é€‰é¡¹"
+msgstr "%s 需è¦æŒ‡å®šâ€œ-o fileâ€é€‰é¡¹"
-#: src/msgfmt.c:551
-#, fuzzy, c-format
+#: src/msgfmt.c:584 src/msgfmt.c:612
+#, c-format
msgid "%s and %s are mutually exclusive in %s"
-msgstr "%s 和 %s 互相排斥"
+msgstr "在%3$s 中%1$s 和 %2$s 互斥"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s åªèƒ½é…åˆ %s 或 %s 一起使用æ‰æœ‰æ•ˆ"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s åªèƒ½é…åˆ %sã€%s 或 %s 一起使用æ‰æœ‰æ•ˆ"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "无法创建输出文件“%sâ€"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr "%s: "
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "%d æ¡å·²ç¿»è¯‘消æ¯"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ",%d æ¡æ¨¡ç³Šæ¶ˆæ¯"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ",%d æ¡æœªç¿»è¯‘消æ¯"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
-msgstr "用法:%s [选项] 文件å.po ...\n"
+msgstr "用法:%s [选项] filename.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "由文字模å¼æ述生æˆäºŒè¿›åˆ¶æ¶ˆæ¯æ–‡ä»¶ã€‚\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr ""
-"长选项必须用的å‚数在使用短选项时也是必须的。\n"
-"å¯é€‰å‚数也是如此。\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " 文件å.po ... 输入文件\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "æ“作模å¼ï¼š\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
"class\n"
msgstr " -j, --java Java 模å¼ï¼šç”Ÿæˆ Java 资æºåŒ…ç±»\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1803,57 +1989,62 @@ msgstr ""
" --java2 类似 --java,但å‡è®¾æ˜¯ Java2 (JDK 1.2 或较新\n"
" 的版本)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# 模å¼ï¼šç”Ÿæˆ .NET .dll 文件\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
"file\n"
msgstr " --csharp-resources C# 资æºæ¨¡å¼ï¼šç”Ÿæˆ .NET .resources 文件\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr " --tcl Tcl 模å¼ï¼šç”Ÿæˆ tcl/msgcat .msg 文件\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt 模å¼ï¼šç”Ÿæˆ Qt .qm 文件\n"
-#: src/msgfmt.c:811
-#, fuzzy, c-format
+#: src/msgfmt.c:955
+#, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
+msgstr " --desktop æ¡Œé¢è®¿é—®æ¨¡å¼: ç”Ÿæˆ .desktop 文件\n"
+
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
msgstr " --qt Qt 模å¼ï¼šç”Ÿæˆ Qt .qm 文件\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict 使用严格的 Uniforum 模å¼\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "如果输出文件是 -,则会将结果写入至标准输出。\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "以 Java 模å¼è¾“出文件ä½ç½®ï¼š\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=èµ„æº èµ„æºå称\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1861,20 +2052,20 @@ msgid ""
msgstr ""
" -l, --locale=语系 语系å称,必须是“语言â€æˆ–“语言_国家â€çš„æ ¼å¼\n"
-#: src/msgfmt.c:829
-#, fuzzy, c-format
+#: src/msgfmt.c:975
+#, c-format
msgid ""
" --source produce a .java file, instead of a .class "
"file\n"
-msgstr " --tcl Tcl 模å¼ï¼šè¾“入为 tcl/msgcat .msg 文件\n"
+msgstr " --source ç”Ÿæˆ .java æ–‡ä»¶ï¼Œè€Œéž .class 文件\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d 目录 类目录层次的基本目录\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1885,19 +2076,19 @@ msgstr ""
"ç±»å称是由资æºå称连åŒè¯­ç³»å称共åŒå†³å®šçš„,两者之间会用下划线分隔。\n"
"-d 选项是必须的。class 文件会存放在指定的目录。\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "以 C# 模å¼è¾“出文件ä½ç½®ï¼š\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr " -d 目录 ä¾èµ–语系的 .dll 文件的的基本目录\n"
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
@@ -1906,39 +2097,39 @@ msgstr ""
"-l å’Œ -d 选项是必è¦çš„。.dll 文件会写入指定目录的å­ç›®å½•ï¼Œè€Œå­ç›®å½•çš„å称å–决于"
"语系。\n"
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "以 Tcl 模å¼è¾“出文件ä½ç½®ï¼š\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
-msgstr " --d 目录 .msg 消æ¯åº“的基本目录\n"
+msgstr " -d DIRECTORY .msg 消æ¯åº“的基本目录\n"
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr "-l å’Œ -d 选项是必è¦çš„。所生æˆçš„ .msg 文件会存放在指定的目录。\n"
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
-msgstr ""
+msgstr "æ¡Œé¢è®¿é—®æ¨¡å¼é€‰é¡¹:\n"
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
-msgstr ""
+msgstr " --template=TEMPLATE .desktop 文件用作模版\n"
-#: src/msgfmt.c:869
-#, fuzzy, c-format
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
+#, c-format
msgid " -d DIRECTORY base directory of .po files\n"
-msgstr " --d 目录 .msg 消æ¯åº“的基本目录\n"
+msgstr " -d DIRECTORY .po文件的基本目录\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -1947,20 +2138,37 @@ msgstr ""
" -kWORD, --keyword=WORD 查找 WORD 作为一个é¢å¤–的关键字\n"
" -k, --keyword ä¸ä½¿ç”¨é»˜è®¤å…³é”®å­—\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
"input\n"
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
+"-l,-o åŠ--temmplate 选项是必须的。若指定了-D,\n"
+"则输入文件从目录读å–,而éžå‘½ä»¤è¡Œå‚数。\n"
+
+#: src/msgfmt.c:1024
+#, fuzzy, c-format
+msgid "XML mode options:\n"
+msgstr "æ¡Œé¢è®¿é—®æ¨¡å¼é€‰é¡¹:\n"
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, fuzzy, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr " --template=TEMPLATE .desktop 文件用作模版\n"
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
-msgstr "输入文件的解释:\n"
+msgstr "输入文件的处ç†:\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1970,19 +2178,19 @@ msgstr ""
" -c, --check åŒæ—¶è¿›è¡Œ --check-formatã€--check-header å’Œ\n"
" --check-domain 三ç§æ£€æŸ¥\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr " --check-format 检查和语言有关的格å¼å­—符串\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr " --check-header 检查文件头项是å¦å­˜åœ¨åŠæ£€æŸ¥å…¶å†…容\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -1991,7 +2199,7 @@ msgstr ""
" --check-domain 检查 domain 指令和 --output-file 选项之间\n"
" 是å¦å†²çª\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -1999,7 +2207,7 @@ msgid ""
msgstr ""
" -C, --check-compatibility 让 GNU msgfmt 以 X/Open msgfmt çš„æ–¹å¼æ£€æŸ¥æ–‡ä»¶\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2008,19 +2216,19 @@ msgid ""
msgstr ""
" --check-accelerators[=CHAR] 检查èœå•é¡¹ç›®ä¸­çš„å¿«æ·é”®æ ‡è®°æ˜¯å¦å­˜åœ¨\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy 在输出中使用模糊的翻译æ¡ç›®\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=æ•°å­— 以<æ•°å­—>个字节为å•ä½å¯¹é½å­—符串(默认:%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2031,109 +2239,108 @@ msgstr ""
" --endianness=BYTEORDER 以指定字节åºè¾“出 32ä½æ•°\n"
" (big 还是 little 是系统平å°é»˜è®¤çš„)\n"
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr " --no-hash 二进制文件将ä¸åŒ…å«å“ˆå¸Œè¡¨\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics 打å°å…³äºŽç¿»è¯‘的统计\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose 增加输出的详细程度\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "警告:PO 文件头丢失或无效\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "警告:字符集转æ¢æ— æ³•å·¥ä½œ\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "警告:PO 文件头模糊\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "警告:旧版本的 msgfmt 将在此时给出错误\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "域å“%sâ€æ— æ³•ç”¨äºŽæ–‡ä»¶å"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "域å“%sâ€æ— æ³•ç”¨äºŽæ–‡ä»¶å:将使用å‰ç¼€"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, c-format
msgid "'domain %s' directive ignored"
-msgstr ""
+msgstr "忽略了“domain %sâ€å‘½ä»¤"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "忽略了空的“msgstrâ€é¡¹"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "忽略了模糊的“msgstrâ€é¡¹"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s:警告:æºæ–‡ä»¶åŒ…å«æ¨¡ç³Šçš„翻译æ¡ç›®"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
-msgstr ""
+msgstr "%s ä¸å­˜åœ¨"
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
-msgstr ""
+msgstr "%s 存在但ä¸å¯è¯»"
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "读å–“%sâ€å‡ºé”™"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr "未指定“Jâ€ã€â€œKâ€ã€â€œTâ€ã€â€œCâ€æˆ–“Xâ€å‰ä¸èƒ½ä½¿ç”¨é€‰é¡¹â€œ%câ€"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr "æå–翻译库中的消æ¯ï¼Œè¿™äº›æ¶ˆæ¯ç¬¦åˆæŸä¸ªç»™å‡ºçš„模å¼æˆ–属于æŸä¸ªç»™å‡ºçš„æºæ–‡ä»¶ã€‚\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2207,18 +2414,18 @@ msgstr ""
" -i, --ignore-case 忽略大å°å†™åŒºåˆ«\n"
" -v, --invert-match 仅输出ä¸ç¬¦åˆä»»ä½•æ¡ä»¶çš„消æ¯\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
msgstr " --escape 在输出中使用 C 转义字符,没有扩展字符\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output 生æˆæŽ’åºè¾“出\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file æ ¹æ®æ–‡ä»¶ä½ç½®æŽ’åºè¾“出\n"
@@ -2317,14 +2524,14 @@ msgstr ""
"在当å‰ç›®å½•ä¸­æ‰¾ä¸åˆ°ä»»ä½• .pot 文件。\n"
"请通过 --input 选项指定作为输入文件的 .pot 文件。\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s å­è¿›ç¨‹å¤±è´¥ï¼Œé”™è¯¯ç ä¸º %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2338,47 +2545,47 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s 软件包的简体中文翻译"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "当å‰çš„字符集编ç â€œ%sâ€ä¸æ˜¯é€šç”¨çš„ç¼–ç å称"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "输入文件中出现了两ç§ä¸åŒçš„字符集“%sâ€å’Œâ€œ%sâ€"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "输入文件“%sâ€ä¸åŒ…å«æŒ‡å®šå­—符集的文件头项"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr "输入文件“%2$sâ€çš„域“%1$sâ€ä¸åŒ…å«æŒ‡å®šå­—符集的文件头项"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "目标字符集编ç â€œ%sâ€ä¸æ˜¯é€šç”¨çš„ç¼–ç å称。"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "警告:"
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2387,7 +2594,7 @@ msgstr ""
"输入文件所用的编ç ä¸åŒï¼Œå…¶ä¸­åŒ…å« UTF-8。\n"
"输出将转æ¢ä¸º UTF-8。\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2398,7 +2605,7 @@ msgstr ""
"输入文件包å«ä¸åŒç¼–ç çš„消æ¯ï¼Œå…¶ä¸­åŒ…å« %s å’Œ %s。会将输出的编ç è½¬æ¢ä¸º UTF-8。\n"
"è‹¥è¦é€‰æ‹©å¦ä¸€ç§è¾“出编ç ï¼Œè¯·ä½¿ç”¨ --to-code 选项。\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2410,7 +2617,7 @@ msgstr ""
"请将全部的 msgid å’Œ msgctxt 都转æ¢ä¸ºçº¯ ASCII,或者从æºä»£ç ä¸Šä¿è¯è¿™äº›å­—符串\n"
"都是 UTF-8 ç¼–ç çš„。\n"
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2421,12 +2628,12 @@ msgstr ""
"当å‰è¯­ç³»çš„字符集“%sâ€å’Œè¾“入文件的字符集“%sâ€ä¸åŒã€‚\n"
"“%sâ€çš„输出å¯èƒ½æœ‰è¯¯ã€‚å¯è¡Œçš„解决方法包å«ï¼š\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- å°† LC_ALL è®¾ä¸ºç¼–ç  %s 对应的语系。\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2437,7 +2644,7 @@ msgstr ""
" 然åŽåº”用“%sâ€å‘½ä»¤ï¼Œ\n"
" 最åŽç”¨â€œmsgconvâ€å°†ç¿»è¯‘库的字符集还原为 %s。\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2450,7 +2657,7 @@ msgstr ""
" 然åŽåº”用“%sâ€å‘½ä»¤ï¼Œ\n"
" 最åŽç”¨â€œmsgconvâ€å°†ç¿»è¯‘库的字符集还原为 %s。\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2461,72 +2668,72 @@ msgstr ""
"“%sâ€çš„输出å¯èƒ½æœ‰è¯¯ã€‚\n"
"设置 LC_ALL=C 是一个å¯è¡Œçš„解决方法。\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "å¤æ•°è¡¨è¾¾å¼å°†å¯¼è‡´è´Ÿå€¼"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu,但å¤æ•°è¡¨è¾¾å¼çš„最大值å¯èƒ½ç­‰äºŽ %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "å¤æ•°è¡¨è¾¾å¼å°†å¯¼è‡´è¢«é›¶é™¤"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "å¤æ•°è¡¨è¾¾å¼å°†å¼•èµ·æ•´æ•°æº¢å‡º"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr "å¤æ•°è¡¨è¾¾å¼å°†å¼•èµ·ç®—术异常,å¯èƒ½è¢«é›¶é™¤"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, c-format
msgid "Try using the following, valid for %s:"
msgstr "请å°è¯•ä½¿ç”¨ä¸‹é¢çš„,对 %s 是有效的:"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
msgid "message catalog has plural form translations"
msgstr "消æ¯åº“有å¤æ•°å½¢å¼çš„翻译"
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "但是文件头项中缺少“plural=表达å¼â€å±žæ€§"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "但是文件头项中缺少“nplural=æ•´æ•°â€å±žæ€§"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "nplurals 值无效"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "plural 表达å¼æ— æ•ˆ"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu"
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "但是æŸäº›æ¶ˆæ¯åªæœ‰ %lu ç§å¤æ•°å½¢å¼"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "但是æŸäº›æ¶ˆæ¯æœ‰ %lu ç§å¤æ•°å½¢å¼"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2534,103 +2741,119 @@ msgstr ""
"翻译库包å«å¤æ•°å½¢å¼çš„翻译,但缺少以下的文件头项:\n"
"“Plural-Forms: nplurals=<æ•´æ•°>; plural=<表达å¼>;â€"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "“msgidâ€å’Œâ€œmsgid_pluralâ€é¡¹å¹¶éžéƒ½ä»¥â€œ\\nâ€å¼€å§‹"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "“msgidâ€å’Œâ€œmsgstr[%u]â€é¡¹å¹¶éžéƒ½ä»¥â€œ\\nâ€å¼€å§‹"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "“msgidâ€å’Œâ€œmsgstrâ€é¡¹å¹¶éžéƒ½ä»¥â€œ\\nâ€å¼€å§‹"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "“msgidâ€å’Œâ€œmsgid_pluralâ€é¡¹å¹¶éžéƒ½ä»¥â€œ\\nâ€ç»“æŸ"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "“msgidâ€å’Œâ€œmsgstr[%u]â€é¡¹å¹¶éžéƒ½ä»¥â€œ\\nâ€ç»“æŸ"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "“msgidâ€å’Œâ€œmsgstrâ€é¡¹å¹¶éžéƒ½ä»¥â€œ\\nâ€ç»“æŸ"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "å¤æ•°å¤„ç†æ˜¯ GNU gettext 的扩展功能"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr 缺少快æ·é”®æ ‡è®°â€œ%câ€"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr 包å«è¿‡å¤šçš„å¿«æ·é”®æ ‡è®°â€œ%câ€"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, c-format
msgid "header field '%s' still has the initial default value\n"
-msgstr "文件头\"%s\"ä»ç„¶æ˜¯é»˜è®¤å€¼æœªæ”¹å˜\n"
+msgstr "文件头“%sâ€ä»ç„¶æ˜¯é»˜è®¤å€¼æœªæ”¹å˜\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, c-format
msgid "header field '%s' missing in header\n"
-msgstr "头部缺少文件头\"%s\"\n"
+msgstr "头部缺少文件头“%sâ€\n"
+
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr "ASCII çœç•¥å·('...')代替了Unicode "
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr "在用户å¯è§å­—符串中的çœç•¥å·å‰å‘现了空格"
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr "ASCII åŒå¼•å·ä»£æ›¿äº†Unicode"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr "ASCII å•å¼•å·ä»£æ›¿äº†Unicode"
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr "%s:在“%sâ€ç¼–ç ä¸­è¾“入无效"
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "%s:从“%sâ€ç¼–ç è½¬æ¢åˆ°â€œ%sâ€ç¼–ç æ—¶å‡ºé”™"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "输入文件ä¸åŒ…å«æŒ‡å®šå­—符集的文件头项"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
"not support this conversion."
msgstr "无法从“%sâ€è½¬æ¢ä¸ºâ€œ%sâ€ã€‚%s éœ€è¦ iconv(),但 iconv() ä¸æ”¯æŒæ­¤ç§è½¬æ¢æ–¹å¼ã€‚"
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
"msgids become equal."
msgstr "从“%sâ€è½¬æ¢ä¸ºâ€œ%sâ€å‡ºçŽ°äº†é‡å¤é¡¹ï¼šæŸäº›åŽŸæœ¬ä¸åŒçš„ msgid å˜æˆäº†ç›¸åŒé¡¹ã€‚"
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
"built without iconv()."
msgstr "无法从“%sâ€è½¬æ¢ä¸ºâ€œ%sâ€ã€‚%s éœ€è¦ iconv()ã€‚æ­¤ç‰ˆæœ¬åˆ›å»ºæ—¶æœªåŒ…å« iconv()。"
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s åªèƒ½å’Œ %s é…åˆä¸€èµ·ä½¿ç”¨æ‰æœ‰æ•ˆ"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "备份类型"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2651,24 +2874,24 @@ msgstr ""
"在程åºæ‰§è¡Œçš„过程中找ä¸åˆ°å®Œå…¨åŒ¹é…的文字,则会使用模糊的匹é…以求达到较好的\n"
"效果。\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po æ ¹æ®æ—§æºæ–‡ä»¶è¿›è¡Œçš„翻译æˆæžœ\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot 对新æºæ–‡ä»¶çš„引用\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr " -C, --compendium=文件 消æ¯ç¿»è¯‘çš„é¢å¤–库,å¯æŒ‡å®šå¤šä¸ª\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
@@ -2677,27 +2900,27 @@ msgstr ""
" -U, --update æ›´æ–° def.po,\n"
" 如果 def.po å·²ç»æ˜¯æœ€æ–°åˆ™ä¸ä½œä»»ä½•äº‹\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "以更新模å¼è¾“出文件ä½ç½®ï¼š\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "结果将写回 def.po 中。\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=备份方法 备份 def.po\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=åŽç¼€ 覆盖默认备份åŽç¼€\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2715,7 +2938,7 @@ msgstr ""
" existing, nil 如果编å·å¤‡ä»½å­˜åœ¨åˆ™ç»§ç»­ç¼–å·ï¼Œå¦åˆ™æ‰§è¡Œç®€å•å¤‡ä»½\n"
" simple, never 总是制作简å•çš„备份\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2724,28 +2947,28 @@ msgid ""
msgstr ""
"除éžä»¥ --suffix 或 SIMPLE_BACKUP_SUFFIX 环境å˜é‡è®¾ç½®, 备份文件åŽç¼€æ€»æ˜¯\"~\"\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr " --previous ä¿ç•™å·²ç¿»è¯‘æ¡ç›®çš„ msgids\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent éšè—进度指示\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "此消æ¯åº”定义å¤æ•°å½¢å¼"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "此消æ¯ä¸åº”定义å¤æ•°å½¢å¼"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2754,40 +2977,40 @@ msgstr ""
"%s读å–了 %ld æ¡æ—§çš„ + %ld æ¡å¼•ç”¨ï¼Œåˆå¹¶äº† %ld æ¡ï¼Œæ¨¡ç³Šçš„ %ld æ¡ï¼Œç¼ºå°‘ %ld æ¡ï¼Œ"
"过时的 %ld æ¡ã€‚\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " 完æˆã€‚\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "%s 和明确给定的文件å互相冲çª"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "用法:%s [选项] [文件]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "将二进制消æ¯åº“转æ¢ä¸º Uniforum 风格的 .po 文件。\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
"class\n"
msgstr " -j, --java Java 模å¼ï¼šè¾“入为 Java 资æºåŒ…ç±»\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# 模å¼ï¼šè¾“入为 .NET .dll 文件\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2795,23 +3018,23 @@ msgid ""
msgstr ""
" --csharp-resources C# 资æºæ¨¡å¼ï¼šè¾“入为 .NET .resources 文件\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr " --tcl Tcl 模å¼ï¼šè¾“入为 tcl/msgcat .msg 文件\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " 文件 ... 输入的 .mo 文件\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "以 Java 模å¼è¾“入文件ä½ç½®ï¼š\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2821,12 +3044,12 @@ msgstr ""
"ç±»å称是由资æºå称连åŒè¯­ç³»å称共åŒå†³å®šçš„,两者之间会用下划线分隔。\n"
"类会使用 CLASSPATH 定ä½ã€‚\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "C# 模å¼ä¸‹çš„输入文件ä½ç½®ï¼š\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
@@ -2835,29 +3058,29 @@ msgstr ""
"-l å’Œ -d 选项是必è¦çš„。.dll 文件ä½äºŽæŒ‡å®šç›®å½•çš„å­ç›®å½•ï¼Œè€Œå­ç›®å½•çš„å称å–决于语"
"系。\n"
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Tcl 模å¼ä¸‹çš„输入文件ä½ç½®ï¼š\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr "-l å’Œ -d 选项是必è¦çš„。所生æˆçš„ .msg 文件会存放在指定的目录。\n"
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent 写出缩进的输出风格\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict 写出严格的 Uniforum 风格\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2876,19 +3099,19 @@ msgstr ""
"累积起æ¥ï¼Œä½†å¦‚果指定了 --use-first 选项,则会从第一个翻译中å–得注释。文件ä½ç½®\n"
"将会累积。如果使用了 --unique 选项,é‡å¤é¡¹å°†ä¼šè¢«å¿½ç•¥ã€‚\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated åªæ‰“å°é‡å¤é¡¹\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
"duplicates\n"
msgstr " -u, --unique åªæ‰“å°å”¯ä¸€çš„消æ¯ï¼Œå¿½ç•¥é‡å¤é¡¹\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<stdin>"
@@ -2942,32 +3165,32 @@ msgstr ""
"文件头缺少字符集。\n"
"将消æ¯è½¬æ¢ä¸ºç”¨æˆ·çš„字符集无法工作。\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "#~ 使用ä¸ä¸€è‡´"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, c-format
msgid "missing 'msgstr[]' section"
msgstr "缺少“msgstr[]â€åŒº"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, c-format
msgid "missing 'msgid_plural' section"
msgstr "缺少“msgid_pluralâ€åŒº"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, c-format
msgid "missing 'msgstr' section"
msgstr "缺少“msgstrâ€åŒº"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "å¤æ•°æ ¼å¼çš„第一项索引éžé›¶"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "å¤æ•°å½¢å¼çš„索引出错"
@@ -2977,7 +3200,7 @@ msgstr "å¤æ•°å½¢å¼çš„索引出错"
msgid "too many errors, aborting"
msgstr "错误太多,中止"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "无效的多字节åºåˆ—"
@@ -3021,65 +3244,84 @@ msgstr "字符串内é‡åˆ°è¡Œå°¾"
msgid "context separator <EOT> within string"
msgstr "上下文分隔符 <EOT> 出现于字符串中"
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "此文件å¯èƒ½ä¸åŒ…å«åŸŸæŒ‡ä»¤"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "é‡å¤çš„消æ¯å®šä¹‰"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
msgid "this is the location of the first definition"
msgstr "这是第一次定义的ä½ç½®"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+#, fuzzy
+msgid "invalid non-blank character"
+msgstr "警告:无效的 Unicode 字符"
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "缺少过滤器å称"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "nplurals 值无效"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "文件“%sâ€è¢«æˆªæ–­"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "文件“%sâ€åŒ…å«éž NUL 结æŸçš„字符串"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "文件“%sâ€ä¸æ˜¯ GNU .mo æ ¼å¼"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "文件“%sâ€åŒ…å«éž NUL 结尾的字符串,ä½äºŽ %s"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "警告:Unicode 字符语法 \\uxxxx 无效"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
msgid "warning: unterminated string"
msgstr "警告:未结æŸçš„字符串"
# c-format
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
msgid "warning: syntax error"
msgstr "警告:语法错误"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
msgid "warning: unterminated key/value pair"
msgstr "警告:未结æŸçš„关键字/值对"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
msgid "warning: syntax error, expected ';' after string"
msgstr "警告:语法错误,字符串åŽæœŸå¾…“;â€"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "警告:语法错误,字符串åŽæœŸå¾…“=â€æˆ–“;â€"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, c-format
msgid "Written by %s and %s.\n"
msgstr "由 %s 和 %s 编写。\n"
@@ -3088,99 +3330,99 @@ msgstr "由 %s 和 %s 编写。\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr "Danilo Segan"
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr "将塞尔维亚语由西里尔文转æ¢ä¸ºæ‹‰ä¸æ–‡ã€‚\n"
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr "输入文本从标准输入读å–。转æ¢åŽçš„文本输出到标准输出。\n"
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr "输入无法用“%sâ€ç¼–ç è¡¨ç¤º"
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "从“%sâ€è½¬æ¢ä¸ºâ€œ%sâ€ç¼–ç æ—¶å‡ºé”™"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "需è¦ä¸¤ä¸ªå‚æ•°"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "用法:%s [选项] URL 文件\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr "èŽ·å– URL 并输出其内容。如果无法访问 URL,则æ¢ç”¨æŒ‡å®šçš„本地文件。\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "读å–“%sâ€å‡ºé”™"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "写入 stdout 出错"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "读å–“%sâ€åŽå‡ºé”™"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr "å–回 %s..."
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr "超时。\n"
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr "失败。\n"
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format. Try using PO file syntax instead."
msgstr ""
"无法通过指定输出格å¼ï¼Œå°†å¤šä¸ªå¾…译稿输出为å•ä¸ªæ–‡ä»¶ã€‚试ç€ç”¨ PO 文件语法代替。"
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
msgid ""
"Cannot output multiple translation domains into a single file with the "
"specified output format."
msgstr "无法通过指定输出格å¼ï¼Œå°†å¤šä¸ªå¾…译稿输出为å•ä¸ªæ–‡ä»¶ã€‚"
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr "消æ¯åº“有ä¾èµ–上下文的翻译,但是输出格å¼ä¸æ”¯æŒä¸Šä¸‹æ–‡ã€‚"
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3189,18 +3431,18 @@ msgstr ""
"消æ¯åº“有å¤æ•°ç¿»è¯‘,但输出格å¼ä¸æ”¯æŒå¤æ•°ã€‚试ç€ä½¿ç”¨â€œmsgfmt --javaâ€ç”Ÿæˆ Java 类,"
"而ä¸æ˜¯ properties 文件。"
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr "消æ¯åº“有å¤æ•°ç¿»è¯‘,但是输出格å¼ä¸æ”¯æŒå¤æ•°å¤„ç†ã€‚"
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "无法创建输出文件“%sâ€"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "标准输出"
@@ -3219,38 +3461,38 @@ msgstr "编译 C# 类失败,试试 --verbose"
msgid "compilation of C# class failed"
msgstr "编译 C# 类失败"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "打开“%sâ€å†™å…¥å‡ºé”™"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "ä¸æ˜¯æœ‰æ•ˆçš„ Java ç±»å:%s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr "编译 Java 类失败,试试 --verbose 或设置 $JAVAC å˜é‡"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr "编译 Java 类失败,请å°è¯•è®¾ç½® $JAVAC å˜é‡"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "打开“%sâ€å†™å…¥å‡ºé”™"
-
-#: src/write-po.c:821
-#, fuzzy
+#: src/write-po.c:822
msgid "incomplete multibyte sequence"
-msgstr "无效的多字节åºåˆ—"
+msgstr "ä¸å®Œæ•´çš„多字节åºåˆ—"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "国际化的消æ¯ä¸åº”包å«â€œ\\%câ€è½¬ç åºåˆ—"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3263,7 +3505,7 @@ msgstr ""
"用纯 ASCII 的 msgctxt。\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3276,7 +3518,7 @@ msgstr ""
"用纯 ASCII 的 msgid。\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
@@ -3284,7 +3526,7 @@ msgstr ""
"消æ¯åº“有å¤æ•°ç¿»è¯‘\n"
"但是 Qt 消æ¯åº“ä¸æ”¯æŒå¤æ•°å¤„ç†\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
msgid ""
"message catalog has msgctxt strings containing characters outside "
"ISO-8859-1\n"
@@ -3295,7 +3537,7 @@ msgstr ""
"译\n"
"åŽçš„å­—ç¬¦ä¸²ä¸­æ”¯æŒ Unicode,在翻译å‰çš„字符串中ä¸æ”¯æŒ\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3304,12 +3546,12 @@ msgstr ""
"消æ¯åº“中的 msgid 字符串包å«è¶…出 ISO-8859-1 的字符,但 Qt 消æ¯åº“æ ¼å¼ä»…在翻译\n"
"åŽçš„å­—ç¬¦ä¸²ä¸­æ”¯æŒ Unicode,在翻译å‰çš„字符串中ä¸æ”¯æŒ\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "写入 %s å­è¿›ç¨‹å‡ºé”™"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
@@ -3317,7 +3559,7 @@ msgstr ""
"消æ¯åº“有ä¾èµ–上下文的翻译\n"
"但是 C# .resources æ ¼å¼ä¸æ”¯æŒä¸Šä¸‹æ–‡\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
@@ -3325,7 +3567,7 @@ msgstr ""
"消æ¯åº“有å¤æ•°ç¿»è¯‘\n"
"但是 C# .resources æ ¼å¼ä¸æ”¯æŒå¤æ•°å¤„ç†\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
@@ -3333,7 +3575,7 @@ msgstr ""
"消æ¯åº“有ä¾èµ–上下文的翻译\n"
"但是 Tcl 消æ¯åº“ä¸æ”¯æŒä¸Šä¸‹æ–‡\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
@@ -3341,36 +3583,36 @@ msgstr ""
"消æ¯åº“有å¤æ•°ç¿»è¯‘\n"
"但是 Tcl 消æ¯åº“ä¸æ”¯æŒå¤æ•°å¤„ç†\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d:警告:未结æŸçš„字符串"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d:警告:未结æŸçš„正规表达å¼"
-#: src/x-c.c:1052
-#, fuzzy, c-format
+#: src/x-c.c:1161
+#, c-format
msgid "warning: invalid Unicode character"
-msgstr "%s:%d:警告:无效的 Unicode 字符"
+msgstr "警告:无效的 Unicode 字符"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d:警告:未结æŸçš„字符常é‡"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d:警告:未结æŸçš„字符串字é¢"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
msgid "Please specify the source encoding through --from-code."
msgstr "请用 --from-code 指定æºç¼–ç "
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3379,7 +3621,7 @@ msgstr ""
"%s:%d:出现了无效的多字节åºåˆ—。\n"
"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3388,7 +3630,7 @@ msgstr ""
"%s:%d:较长的ä¸å®Œæ•´å¤šå­—节åºåˆ—。\n"
"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3397,7 +3639,7 @@ msgstr ""
"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3406,12 +3648,12 @@ msgstr ""
"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d:iconv 失败"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3420,300 +3662,97 @@ msgstr ""
"%s:%d:无效的多字节åºåˆ—。\n"
"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d:警告:无效的 Unicode 字符"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d:警告:未结æŸçš„字符串常é‡"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d:警告:期待“}â€å´å‘现了“)â€"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d:警告:期待“)â€å´å‘现了“}â€"
-#: src/x-glade.c:295
-#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%lu:%lu:%s"
-
-#: src/x-glade.c:606
+#: src/xgettext.c:579
#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"ä¸æ”¯æŒâ€œgladeâ€ã€‚%s ä¾èµ– expat。\n"
-"æ­¤ç‰ˆæœ¬åˆ›å»ºæ—¶æœªåŒ…å« expat。\n"
-
-#: src/x-java.c:494
-#, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: 警告:未结æŸçš„字符串 U+%04X"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr "请用 --from-code 指定æºç¼–ç "
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d:出现了无效的多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d:较长的ä¸å®Œæ•´å¤šå­—节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s:%d:无效的多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ã€‚\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d:警告:未结æŸçš„字符串字é¢"
-
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d:警告:无效的 Unicode 字符"
-
-#: src/x-javascript.c:1069
-#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d:警告:未结æŸçš„字符串"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d:在文件结æŸç¬¦å‰çš„任何ä½ç½®éƒ½æ‰¾ä¸åˆ°å­—符串结æŸç¬¦â€œ%sâ€"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d:在 \\x{å六进制数} 处缺少å³å¤§æ‹¬å·"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\lâ€)"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\uâ€)"
-
-#: src/x-perl.c:1217
-#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s:%d:“%câ€å¤„有无效的å˜é‡è½¬ä¹‰"
-
-#: src/x-perl.c:1230
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\Lâ€)"
-
-#: src/x-perl.c:1247
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\Uâ€)"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"请通过 --from-code 或是注释指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œ\n"
-"如 http://www.python.org/peps/pep-0263.html 中所指定的那样。\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+msgstr "“%sâ€ä¸æ˜¯ä¸ªæœ‰æ•ˆçš„ç¼–ç å。正使用ASCII 作为替æ¢ã€‚\n"
-#: src/x-python.c:324
+#: src/xgettext.c:648
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d:出现了无效的多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
-"http://www.python.org/peps/pep-0263.html。\n"
+msgid "syntax check '%s' unknown"
+msgstr "语法检查“%sâ€æœªçŸ¥"
-#: src/x-python.c:341
+#: src/xgettext.c:657
#, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d:较长的ä¸å®Œæ•´å¤šå­—节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
-"http://www.python.org/peps/pep-0263.html。\n"
+msgid "sentence end type '%s' unknown"
+msgstr "å¥å­ç»“尾类型“%sâ€æœªçŸ¥"
-#: src/x-python.c:354
+#: src/xgettext.c:711
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
-"http://www.python.org/peps/pep-0263.html。\n"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "输出写到 stdout 时无法使用 --join-existing"
-#: src/x-python.c:364
+#: src/xgettext.c:716
#, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
-"http://www.python.org/peps/pep-0263.html。\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "没有指定关键字 xgettext 将无法工作"
-#: src/x-python.c:397
+#: src/xgettext.c:868
#, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-"%s:%d:无效的多字节åºåˆ—。\n"
-"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
-"http://www.python.org/peps/pep-0263.html。\n"
-
-#: src/x-python.c:722
-#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr "未知编ç â€œ%sâ€ã€‚先按照 ASCII 处ç†ã€‚"
-
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d:无效的字符串定义"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d:# åŽé¢ä¸¢å¤±æ•°å­—"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d:无效的字符串表达å¼"
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
-msgstr "%s:%lu:警告:为安全起è§ï¼Œè¯­æ³• $“...â€ä¸è¢«æŽ¨è;请æ¢ç”¨ eval_gettext"
-
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d:警告:未结æŸçš„字符串字é¢"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "输出写到 stdout 时无法使用 --join-existing"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "没有指定关键字 xgettext 将无法工作"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "警告:文件“%sâ€æ‰©å±•å“%sâ€æœªçŸ¥; 将试试 C"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "从给定的输入文件中æå–å¯ç¿»è¯‘的字符串。\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
"po)\n"
msgstr " -d, --default-domain=å称 使用<å称.po>输出(而ä¸æ˜¯ messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=文件 将输出写入指定文件\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=目录 输出文件将会存放在<目录>中\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "选择输入文件所用的语言:\n"
-#: src/xgettext.c:893
-#, fuzzy, c-format
+#: src/xgettext.c:1086
+#, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
" (C, C++, ObjectiveC, PO, Shell, Python, "
@@ -3724,27 +3763,28 @@ msgid ""
" GCC-source, NXStringTable, RST, Glade, Lua,\n"
" JavaScript, Vala, Desktop)\n"
msgstr ""
-" -L, --language=å称 识别指定语言\n"
+" -L, --language=NAME 识别指定的语言\n"
" (C, C++, ObjectiveC, PO, Shell, Python, "
"Lisp,\n"
-" EmacsLisp, librep, Schme, Smalltalk, Java,\n"
+" EmacsLisp, librep, Scheme, Smalltalk, Java,\n"
" JavaProperties, C#, awk, YCP, Tcl, Perl, "
"PHP,\n"
-" GCC-æº, NXStringTable, RST, Glade)\n"
+" GCC-source, NXStringTable, RST, Glade, Lua,\n"
+" JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ --language=C++ 的简写\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "默认情况下,所使用的语言是根æ®è¾“入文件的扩展å猜测的。\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3753,22 +3793,22 @@ msgstr ""
" --from-code=å称 输入文件的编ç \n"
" (除了 Python, Tcl, Glade)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "默认情况下,输入文件都认为是纯 ASCII 文件。\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing 将消æ¯åŠ å…¥å·²æœ‰æ–‡ä»¶\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=文件.po 文件.po中的项ä¸æå–\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3782,18 +3822,41 @@ msgstr ""
" -c, --add-comments 在输出文件中以关键è¯å¼€å¯ä¸€è¡Œï¼Œ\n"
" 并放置所有注释å—\n"
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+" --check=NAME 对信æ¯æ–‡æœ¬åšè¯­æ³•æ£€æŸ¥\n"
+" (Unicodeçœç•¥å·ellipsis-unicode, 空格加çœç•¥å·"
+"space-ellipsis,\n"
+" Unicode引å·quote-unicode)\n"
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+" --sentence-end=TYPE å¥å­ç»“尾类型æè¿°\n"
+" (默认å•ç©ºæ ¼single-space \n"
+" 或åŒç©ºæ ¼double-space)\n"
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
-msgstr "语言特定选项:\n"
+msgstr "语言特定选项:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all æå–所有字符串\n"
-#: src/xgettext.c:929
-#, fuzzy, c-format
+#: src/xgettext.c:1130
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -3801,14 +3864,14 @@ msgid ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala)\n"
msgstr ""
-" (ä»… C, C++, ObjectiveC, Shell, Python, "
-"Lisp,\n"
-" EmacsLisp, librep, Scheme, Java, C#, awk, "
-"Tcl,\n"
-" Perl, PHP, GCC-æº, Glade 语言)\n"
+" (ä»…æ”¯æŒ C, C++, ObjectiveC, Shell,\n"
+" Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
+" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:937
-#, fuzzy, c-format
+#: src/xgettext.c:1138
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -3816,25 +3879,24 @@ msgid ""
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
" Lua, JavaScript, Vala, Desktop)\n"
msgstr ""
-" (ä»… C, C++, ObjectiveC, Shell, Python, "
-"Lisp,\n"
-" EmacsLisp, librep, Scheme, Java, C#, awk, "
-"Tcl,\n"
-" Perl, PHP, GCC-æº, Glade 语言)\n"
+" (ä»…æ”¯æŒ C, C++, ObjectiveC, Shell,\n"
+" Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+" C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
+" Lua, JavaScript, Vala, Desktop)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
"argument\n"
" number ARG of keyword WORD\n"
msgstr ""
-" --flag=å•è¯:å‚æ•°:标志 在关键字<å•è¯>的指定次åºçš„<å‚æ•°>中,添加é¢å¤–çš„"
-"æ ‡\n"
-" å¿—\n"
+" --flag=WORD:ARG:FLAG 在关键字WORD çš„å‚数个数ARG 中\n"
+" 字符串的é¢å¤–flag\n"
-#: src/xgettext.c:945
-#, fuzzy, c-format
+#: src/xgettext.c:1146
+#, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
" Python, Lisp, EmacsLisp, librep, Scheme, "
@@ -3842,81 +3904,91 @@ msgid ""
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
" Lua, JavaScript, Vala)\n"
msgstr ""
-" (ä»… C, C++, ObjectiveC, Shell, Python, "
-"Lisp,\n"
-" EmacsLisp, librep, Scheme, Java, C#, awk, "
-"Tcl,\n"
-" Perl, PHP, GCC-æºè¯­è¨€)\n"
+" (ä»…æ”¯æŒ C, C++, ObjectiveC, Shell,\n"
+" Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+" C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
+" Lua, JavaScript, Vala)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs ç†è§£è¾“入时的 ANSI C 分段\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
-msgstr " (仅 C, C++, ObjectiveC 语言)\n"
+msgstr " (ä»…æ”¯æŒ C, C++, ObjectiveC 语言)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt 识别 Qt æ ¼å¼å­—符串\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (仅 C++ 语言)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --kde 识别 KDE 4 æ ¼å¼å­—符串\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --boost 识别 Boost æ ¼å¼å­—符串\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr " --debug 更详细的格å¼å­—符串识别结果\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output 写出 Java .properties 文件\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " -f, --files-from=文件 由<文件>读入输入文件的列表\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent 缩进的输出风格\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=字符串 在输出中设置版æƒå ä½ç¬¦\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
msgstr " --foreign-user 为外语用户çœç•¥ FSF 版æƒ\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr " --package-name=PACKAGE 输出时设定软件包åå­—\n"
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --package-version=VERSION 输出时设定软件包版本\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr " --msgid-bugs-address=EMAIL@ADDRESS 设置报告 msgid 错误的地å€\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3926,7 +3998,7 @@ msgstr ""
" -m[STRING], --msgstr-prefix[=STRING] 使用 STRING 或 \"\" 作为\n"
" msgstr 内容的å‰ç¼€\n"
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3936,38 +4008,38 @@ msgstr ""
" -M[STRING], --msgstr-suffix[=字符串] 使用<字符串>或\"\"作为 msgstr 项的åŽ"
"ç¼€\n"
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr "--flag å‚数并éžä»¥ <关键字>:<å‚æ•°ç¼–å·>:[éæ•°-]<标志> 的语法给出:%s"
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "标准输入"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr "%s%s å¤„æœ‰éž ASCII ç å­—符。"
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr "%s%s 处或之å‰ä½ç½®æœ‰éž ASCII ç æ³¨é‡Šã€‚"
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr "%s%s å¤„æœ‰éž ASCII 字符串。"
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s:警告:"
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
@@ -3975,14 +4047,14 @@ msgid ""
msgstr ""
"尽管在格å¼å­—符串的ä½ç½®ä½¿ç”¨ï¼Œä½† %s ä»ä¸æ˜¯æœ‰æ•ˆçš„ %s æ ¼å¼å­—符串。原因:%s\n"
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr "以所声明的语言 %2$s æ¥çœ‹ï¼Œ%1$s ä¸æ˜¯æœ‰æ•ˆçš„æ ¼å¼å­—符串。原因:%3$s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3994,7 +4066,7 @@ msgstr ""
"翻译者无法é‡æ–°ç¼–排å‚数的顺åºã€‚\n"
"请考虑使用带有命åå‚数和映射的格å¼å­—符串,而ä¸æ˜¯ä½¿ç”¨å‚数数组。\n"
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4004,27 +4076,27 @@ msgstr ""
"gettext(\"\") 将返回文件头项,而ä¸\n"
"是空字符串。\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "关键字“%.*sâ€çš„å‚数指定å«ç³Š"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr "警告:关键字“%.*sâ€ç¼ºå°‘上下文"
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr "警告:关键字“%.*sâ€ç¼ºå°‘å¤æ•°å‚数上下文"
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr "å•æ•°å’Œå¤æ•°çš„上下文ä¸åŒ¹é…"
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
msgid ""
"The option --msgid-bugs-address was not specified.\n"
"If you are using a 'Makevars' file, please specify\n"
@@ -4036,15 +4108,351 @@ msgstr ""
" MSGID_BUGS_ADDRESS å˜é‡ï¼›\n"
"å¦åˆ™ï¼Œè¯·æŒ‡å®š --msgid-bugs-address 命令行选项。\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, c-format
msgid "language '%s' unknown"
msgstr "语言“%sâ€æœªçŸ¥"
+#: src/x-java.c:494
+#, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: 警告:未结æŸçš„字符串 U+%04X"
+
+#: src/x-javascript.c:231
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "请用 --from-code 指定æºç¼–ç \n"
+
+#: src/x-javascript.c:276
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d:出现了无效的多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç \n"
+
+#: src/x-javascript.c:292
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d:较长的ä¸å®Œæ•´å¤šå­—节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç \n"
+
+#: src/x-javascript.c:304
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç \n"
+
+#: src/x-javascript.c:313
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç \n"
+
+#: src/x-javascript.c:345
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d:无效的多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç \n"
+
+#: src/x-javascript.c:955
+#, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d:警告:RegExp 正则表达å¼è¿‡æ—©ç»“æŸ"
+
+#: src/x-javascript.c:1056
+#, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d:警告:ä¸å‡†ç”¨%s"
+
+#: src/x-javascript.c:1070
+#, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d:警告:未结æŸçš„XML 标记"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d:在文件结æŸç¬¦å‰çš„任何ä½ç½®éƒ½æ‰¾ä¸åˆ°å­—符串结æŸç¬¦â€œ%sâ€"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d:在 \\x{å六进制数} 处缺少å³å¤§æ‹¬å·"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\lâ€)"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\uâ€)"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr "%s:%d:“%câ€å¤„有无效的å˜é‡è½¬ä¹‰"
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\Lâ€)"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d:8ä½å­—符“%câ€è½¬ä¹‰æ— æ•ˆ(“\\Uâ€)"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"请通过 --from-code 或是注释指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œ\n"
+"如 http://www.python.org/peps/pep-0263.html 中所指定的那样。\n"
+
+#: src/x-python.c:325
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d:出现了无效的多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
+"http://www.python.org/peps/pep-0263.html。\n"
+
+#: src/x-python.c:342
+#, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d:较长的ä¸å®Œæ•´å¤šå­—节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
+"http://www.python.org/peps/pep-0263.html。\n"
+
+#: src/x-python.c:355
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
+"http://www.python.org/peps/pep-0263.html。\n"
+
+#: src/x-python.c:365
+#, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d:文件结尾处出现了ä¸å®Œæ•´çš„多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
+"http://www.python.org/peps/pep-0263.html。\n"
+
+#: src/x-python.c:398
+#, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d:无效的多字节åºåˆ—。\n"
+"请通过 --from-code 指定æºæ–‡ä»¶çš„ç¼–ç ï¼Œè¯¦è§\n"
+"http://www.python.org/peps/pep-0263.html。\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr "未知编ç â€œ%sâ€ã€‚先按照 ASCII 处ç†ã€‚"
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d:无效的字符串定义"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d:# åŽé¢ä¸¢å¤±æ•°å­—"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d:无效的字符串表达å¼"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr "%s:%lu:警告:为安全起è§ï¼Œè¯­æ³• $“...â€ä¸è¢«æŽ¨è;请æ¢ç”¨ eval_gettext"
+
+#: src/x-vala.c:414
+#, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d:警告:正则表达å¼è¿‡æ—©ç»ˆæ­¢"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<未命å>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "无效的控制åºåˆ—"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "ä¸æ˜¯æœ‰æ•ˆçš„ Java ç±»å:%s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "ä¸æ˜¯æœ‰æ•ˆçš„ Java ç±»å:%s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "无效的控制åºåˆ—"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "无效的 endianness:%s"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "%2$s çš„å‚æ•° %1$s 无效"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "缺少过滤器å称"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#~ msgid "Missing context for the string extracted from '%s' element"
+#~ msgstr "从元素“%sâ€ä¸­è§£å¼€çš„字符串缺少上下文"
+
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%lu:%lu:%s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "ä¸æ”¯æŒâ€œgladeâ€ã€‚%s ä¾èµ– expat。\n"
+#~ "æ­¤ç‰ˆæœ¬åˆ›å»ºæ—¶æœªåŒ…å« expat。\n"
+
#~ msgid "header field '%s' should start at beginning of line\n"
#~ msgstr "文件头项“%sâ€åº”该ä½äºŽè¡Œé¦–\n"
diff --git a/gettext-tools/po/zh_TW.gmo b/gettext-tools/po/zh_TW.gmo
index e3272da..ef98fcf 100644
--- a/gettext-tools/po/zh_TW.gmo
+++ b/gettext-tools/po/zh_TW.gmo
Binary files differ
diff --git a/gettext-tools/po/zh_TW.po b/gettext-tools/po/zh_TW.po
index ea6b4d2..6825bff 100644
--- a/gettext-tools/po/zh_TW.po
+++ b/gettext-tools/po/zh_TW.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gettext-tools 0.18.3\n"
"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2014-12-24 16:27+0900\n"
+"POT-Creation-Date: 2015-12-28 08:26+0900\n"
"PO-Revision-Date: 2013-09-03 13:00+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -58,41 +58,41 @@ msgstr "無法刪除暫存目錄 %s"
msgid "write error"
msgstr "寫入時發生錯誤"
-#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:212
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:214
#, c-format
msgid "preserving permissions for %s"
msgstr ""
# lib/copy-file.c:61 src/file-list.c:57 src/po-lex.c:726 src/read-mo.c:171 src/urlget.c:204 src/xgettext.c:823 src/xgettext.c:836 src/xgettext.c:846 #, c-format
-#: gnulib-lib/copy-file.c:189
+#: gnulib-lib/copy-file.c:191
#, c-format
msgid "error while opening %s for reading"
msgstr "當開啟檔案 %s 準備讀å–時發生錯誤"
-#: gnulib-lib/copy-file.c:193
+#: gnulib-lib/copy-file.c:195
#, c-format
msgid "cannot open backup file %s for writing"
msgstr "無法開啟備份檔 %s 來寫入內容"
-#: gnulib-lib/copy-file.c:197
+#: gnulib-lib/copy-file.c:199
#, c-format
msgid "error reading %s"
msgstr "è®€å– %s 時發生錯誤"
-#: gnulib-lib/copy-file.c:201
+#: gnulib-lib/copy-file.c:203
#, c-format
msgid "error writing %s"
msgstr "寫入 %s 時發生錯誤"
-#: gnulib-lib/copy-file.c:205
+#: gnulib-lib/copy-file.c:207
#, c-format
msgid "error after reading %s"
msgstr "完æˆè®€å– %s 後發生錯誤"
-#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:898
-#: src/msginit.c:973 src/msginit.c:1133 src/msginit.c:1232
-#: src/read-csharp.c:72 src/read-java.c:70 src/read-resources.c:73
-#: src/read-tcl.c:110 src/write-resources.c:77
+#: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
+#: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231 src/msginit.c:1396
+#: src/read-csharp.c:73 src/read-java.c:71 src/read-resources.c:74
+#: src/read-tcl.c:111 src/write-resources.c:78
#, c-format
msgid "fdopen() failed"
msgstr "fdopen() 失敗"
@@ -118,58 +118,63 @@ msgstr "系統出ç¾ä¸æ˜ŽéŒ¯èª¤"
msgid "%s subprocess failed"
msgstr "%s 副行程發生錯誤"
-#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#: gnulib-lib/getopt.c:575 gnulib-lib/getopt.c:604
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s:é¸é … ‘%s’ ä¸æ˜Žç¢ºï¼›å¯èƒ½é¸é …包括:"
-#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#: gnulib-lib/getopt.c:619
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s:é¸é … ‘-W %s’ ä¸æ˜Žç¢º\n"
+
+#: gnulib-lib/getopt.c:654 gnulib-lib/getopt.c:658
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s:é¸é … --%s ä¸å¯é…åˆå¼•æ•¸ä½¿ç”¨\n"
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#: gnulib-lib/getopt.c:667 gnulib-lib/getopt.c:672
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s:é¸é … ‘%c%s’ ä¸å¯é…åˆå¼•æ•¸ä½¿ç”¨\n"
-#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#: gnulib-lib/getopt.c:715 gnulib-lib/getopt.c:734
#, fuzzy, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s:é¸é … ‘%s’ 需è¦å¼•æ•¸\n"
-#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#: gnulib-lib/getopt.c:772 gnulib-lib/getopt.c:775
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s:無法辨識 ‘--%s’ é¸é …\n"
-#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#: gnulib-lib/getopt.c:783 gnulib-lib/getopt.c:786
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s:無法辨識 ‘%c%s’ é¸é …\n"
-#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#: gnulib-lib/getopt.c:835 gnulib-lib/getopt.c:838
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s:é¸é …無效 -- %c\n"
-#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
-#: gnulib-lib/getopt.c:1106
+#: gnulib-lib/getopt.c:891 gnulib-lib/getopt.c:908 gnulib-lib/getopt.c:1118
+#: gnulib-lib/getopt.c:1136
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s:é¸é …需è¦å¼•æ•¸ -- %c\n"
-#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#: gnulib-lib/getopt.c:964 gnulib-lib/getopt.c:980
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s:é¸é … ‘-W %s’ ä¸æ˜Žç¢º\n"
-#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#: gnulib-lib/getopt.c:1004 gnulib-lib/getopt.c:1022
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s:é¸é … ‘-W %s’ ä¸å¯é…åˆå¼•æ•¸ä½¿ç”¨\n"
-#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#: gnulib-lib/getopt.c:1043 gnulib-lib/getopt.c:1061
#, fuzzy, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s:é¸é … ‘%s’ 需è¦å¼•æ•¸\n"
@@ -185,15 +190,16 @@ msgstr ""
msgid "invalid target_version argument to compile_java_class"
msgstr ""
-#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1140
-#: src/write-java.c:1148 src/write-java.c:1176 src/write-java.c:1188
+#: gnulib-lib/javacomp.c:498 src/write-csharp.c:739 src/write-java.c:1141
+#: src/write-java.c:1149 src/write-java.c:1177 src/write-java.c:1189
#, c-format
msgid "failed to create \"%s\""
msgstr "無法建立 “%sâ€"
-#: gnulib-lib/javacomp.c:505 src/write-catalog.c:255 src/write-catalog.c:319
-#: src/write-csharp.c:748 src/write-java.c:1156 src/write-java.c:1197
-#: src/write-mo.c:811 src/write-qt.c:748 src/write-tcl.c:222
+#: gnulib-lib/javacomp.c:505 src/write-catalog.c:256 src/write-catalog.c:320
+#: src/write-csharp.c:748 src/write-desktop.c:182 src/write-java.c:1157
+#: src/write-java.c:1198 src/write-mo.c:812 src/write-qt.c:749
+#: src/write-tcl.c:223 src/write-xml.c:75
#, c-format
msgid "error while writing \"%s\" file"
msgstr "當寫入檔案 %s 時發生錯誤"
@@ -208,15 +214,15 @@ msgstr "找ä¸åˆ° Java ç·¨è­¯å™¨ï¼Œè«‹å®‰è£ gcj 或是設定 $JAVAC 環境變æ•
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr "找ä¸åˆ° Java virtual machineï¼Œè«‹å®‰è£ gij 或是設定 $JAVA 環境變數"
-#: gnulib-lib/javaversion.c:84 src/msginit.c:906 src/msginit.c:981
-#: src/msginit.c:1141
+#: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
+#: src/msginit.c:1140 src/msginit.c:1404
#, c-format
msgid "%s subprocess I/O error"
msgstr "%s 副行程輸出/輸入錯誤"
-#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:548 libgettextpo/gettext-po.c:1326
+#: gnulib-lib/obstack.c:338 gnulib-lib/obstack.c:340 gnulib-lib/xmalloc.c:38
+#: gnulib-lib/xsetenv.c:37 src/cldr-plurals.c:61 src/msgl-check.c:564
+#: src/po-lex.c:83 src/po-lex.c:102 libgettextpo/gettext-po.c:1326
#, c-format
msgid "memory exhausted"
msgstr "記憶體耗盡"
@@ -227,7 +233,7 @@ msgid "creation of threads failed"
msgstr ""
#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:381
-#: src/msgexec.c:405
+#: src/msgexec.c:427
#, c-format
msgid "write to %s subprocess failed"
msgstr "寫入至 %s 副行程時發生錯誤"
@@ -273,11 +279,11 @@ msgstr "%s 副行程已終止,錯誤碼為 %d"
#. If you don't know what to put here, please see
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:312
+#: gnulib-lib/quotearg.c:347
msgid "`"
msgstr ""
-#: gnulib-lib/quotearg.c:313
+#: gnulib-lib/quotearg.c:348
msgid "'"
msgstr ""
@@ -313,52 +319,188 @@ msgstr "%s 副行程"
msgid "%s subprocess got fatal signal %d"
msgstr "%s 副行程出ç¾ä»£è¡¨åš´é‡éŒ¯èª¤çš„訊號 %d"
+#: src/cldr-plurals.c:69
+#, c-format
+msgid "The root element must be <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:83
+#, c-format
+msgid "The element <%s> does not contain a <%s> element"
+msgstr ""
+
+#: src/cldr-plurals.c:105 src/cldr-plurals.c:146
+#, c-format
+msgid "The element <%s> does not have attribute <%s>"
+msgstr ""
+
+#: src/cldr-plurals.c:191 src/hostname.c:210 src/msgattrib.c:418
+#: src/msgcat.c:364 src/msgcmp.c:210 src/msgcomm.c:356 src/msgconv.c:304
+#: src/msgen.c:301 src/msgexec.c:260 src/msgfilter.c:410 src/msgfmt.c:914
+#: src/msggrep.c:513 src/msginit.c:359 src/msgmerge.c:495 src/msgunfmt.c:424
+#: src/msguniq.c:323 src/recode-sr-latin.c:144 src/urlget.c:173
+#: src/xgettext.c:1044
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "請執行 ‘%s --help’ 顯示é¡å¤–資訊。\n"
+
+#: src/cldr-plurals.c:195
+#, fuzzy, c-format
+msgid "Usage: %s [OPTION...] [LOCALE RULES]...\n"
+msgstr "用法:%s [é¸é …] [檔案]...\n"
+
+#: src/cldr-plurals.c:200
+#, c-format, no-wrap
+msgid ""
+"Extract or convert Unicode CLDR plural rules.\n"
+"\n"
+"If both LOCALE and RULES are specified, it reads CLDR plural rules for\n"
+"LOCALE from RULES and print them in a form suitable for gettext use.\n"
+"If no argument is given, it reads CLDR plural rules from the standard input.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:209 src/msgfmt.c:927 src/xgettext.c:1057
+#, c-format, no-wrap
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+msgstr "é•·é¸é …å¿…è¦çš„引數在使用短é¸é …時也是必è¦çš„。å°æ–¼é¸æ“‡æ€§çš„引數也一樣。\n"
+
+#: src/cldr-plurals.c:214
+#, fuzzy, c-format
+msgid " -c, --cldr print plural rules in the CLDR format\n"
+msgstr " -h, --help 顯示本訊æ¯ï¼Œç„¶å¾ŒçµæŸ\n"
+
+#: src/cldr-plurals.c:216 src/hostname.c:233 src/msgattrib.c:537
+#: src/msgcat.c:472 src/msgcmp.c:261 src/msgcomm.c:458 src/msgconv.c:388
+#: src/msgen.c:384 src/msgexec.c:309 src/msgfilter.c:510 src/msgfmt.c:1080
+#: src/msggrep.c:631 src/msginit.c:423 src/msgmerge.c:622 src/msgunfmt.c:530
+#: src/msguniq.c:420 src/recode-sr-latin.c:165 src/urlget.c:189
+#: src/xgettext.c:1230
+#, c-format, no-wrap
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help 顯示本訊æ¯ï¼Œç„¶å¾ŒçµæŸ\n"
+
+#: src/cldr-plurals.c:218 src/hostname.c:235 src/msgattrib.c:539
+#: src/msgcat.c:474 src/msgcmp.c:263 src/msgcomm.c:460 src/msgconv.c:390
+#: src/msgen.c:386 src/msgexec.c:311 src/msgfilter.c:512 src/msgfmt.c:1082
+#: src/msggrep.c:633 src/msginit.c:425 src/msgmerge.c:624 src/msgunfmt.c:532
+#: src/msguniq.c:422 src/recode-sr-latin.c:168 src/urlget.c:191
+#: src/xgettext.c:1232
+#, c-format, no-wrap
+msgid " -V, --version output version information and exit\n"
+msgstr " -V, --version 顯示版本資訊,然後çµæŸ\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/cldr-plurals.c:225 src/hostname.c:242 src/msgattrib.c:546
+#: src/msgcat.c:481 src/msgcmp.c:270 src/msgcomm.c:467 src/msgconv.c:397
+#: src/msgen.c:393 src/msgexec.c:318 src/msgfilter.c:519 src/msgfmt.c:1093
+#: src/msggrep.c:640 src/msginit.c:432 src/msgmerge.c:635 src/msgunfmt.c:541
+#: src/msguniq.c:429 src/recode-sr-latin.c:175 src/urlget.c:200
+#: src/xgettext.c:1239
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "è«‹å‘ <bug-gnu-gettext@gnu.org> 匯報錯誤。\n"
+
+#: src/cldr-plurals.c:289 src/hostname.c:181 src/msgattrib.c:356
+#: src/msgcat.c:295 src/msgcmp.c:173 src/msgcomm.c:286 src/msgconv.c:245
+#: src/msgen.c:242 src/msgexec.c:187 src/msgfilter.c:289 src/msgfmt.c:444
+#: src/msggrep.c:420 src/msginit.c:269 src/msgmerge.c:357 src/msgunfmt.c:263
+#: src/msguniq.c:265 src/recode-sr-latin.c:111 src/urlget.c:144
+#: src/xgettext.c:678
+#, c-format, no-wrap
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/cldr-plurals.c:295 src/hostname.c:187 src/msgattrib.c:362
+#: src/msgcat.c:301 src/msgcmp.c:179 src/msgcomm.c:292 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msgfmt.c:450
+#: src/msggrep.c:426 src/msginit.c:275 src/msgmerge.c:363 src/msgunfmt.c:269
+#: src/msguniq.c:271 src/urlget.c:150 src/xgettext.c:684
+#, c-format
+msgid "Written by %s.\n"
+msgstr "由 %s 編寫。\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cldr-plurals.c:295
+msgid "Daiki Ueno"
+msgstr ""
+
+#: src/cldr-plurals.c:315
+#, c-format
+msgid "%s cannot be read"
+msgstr ""
+
+#: src/cldr-plurals.c:321
+#, fuzzy, c-format
+msgid "cannot extract rules for %s"
+msgstr "無法刪除暫存目錄 %s"
+
+#: src/cldr-plurals.c:331
+#, c-format
+msgid "cannot parse CLDR rule"
+msgstr ""
+
+#: src/cldr-plurals.c:366
+#, c-format
+msgid "extra operand %s"
+msgstr ""
+
# lib/copy-file.c:61 src/file-list.c:57 src/po-lex.c:726 src/read-mo.c:171 src/urlget.c:204 src/xgettext.c:823 src/xgettext.c:836 src/xgettext.c:846 #, c-format
-#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
-#: src/read-mo.c:258 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1974
-#: src/xgettext.c:1987 src/xgettext.c:1997
+#: src/file-list.c:54 src/msggrep.c:248 src/open-catalog.c:123
+#: src/read-mo.c:262 src/read-tcl.c:126 src/urlget.c:217
+#: src/write-desktop.c:172 src/xgettext.c:2184 src/xgettext.c:2197
+#: src/xgettext.c:2207
#, c-format
msgid "error while opening \"%s\" for reading"
msgstr "當開啟檔案 %s 準備讀å–時發生錯誤"
-#: src/format.c:151
-#, fuzzy, c-format
-msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr "å’Œ ‘msgid’ ä¸åŒï¼Œâ€˜%s’ çš„ %s æ ¼å¼å­—串無效。原因:%s"
-
-#: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
-#: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
-#: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
+#: src/format-awk.c:510 src/format-boost.c:618 src/format-elisp.c:349
+#: src/format-gcc-internal.c:627 src/format-kde.c:224 src/format-librep.c:313
+#: src/format-lua.c:228 src/format-pascal.c:398 src/format-perl.c:585
+#: src/format-php.c:351 src/format-qt.c:174 src/format-tcl.c:391
+#: src/format-ycp.c:148
#, fuzzy, c-format
msgid ""
"a format specification for argument %u, as in '%s', doesn't exist in '%s'"
msgstr "‘%2$s’ 中第 %1$u 個引數的è¦æ ¼åœ¨ ‘msgid’ 中並ä¸å­˜åœ¨"
-#: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
-#: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
-#: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
+#: src/format-awk.c:521 src/format-boost.c:629 src/format-elisp.c:360
+#: src/format-gcc-internal.c:638 src/format-kde.c:235 src/format-librep.c:324
+#: src/format-lua.c:235 src/format-pascal.c:409 src/format-perl.c:596
+#: src/format-php.c:362 src/format-qt.c:171 src/format-tcl.c:402
+#: src/format-ycp.c:145
#, c-format
msgid "a format specification for argument %u doesn't exist in '%s'"
msgstr "第 %u 個引數的è¦æ ¼åœ¨â€˜%s’中並ä¸å­˜åœ¨"
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
-#: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-gfc-internal.c:372 src/format-javascript.c:227
-#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
-#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
-#: src/format-tcl.c:421
+#: src/format-awk.c:541 src/format-boost.c:649 src/format-c.c:147
+#: src/format-elisp.c:380 src/format-gcc-internal.c:658
+#: src/format-gfc-internal.c:372 src/format-javascript.c:228
+#: src/format-librep.c:344 src/format-lua.c:242 src/format-pascal.c:429
+#: src/format-perl.c:616 src/format-php.c:382 src/format-python.c:528
+#: src/format-tcl.c:422
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' for argument %u are not the same"
msgstr "‘msgid’和‘%s’的第 %u 個引數的è¦æ ¼ä¸¦ä¸ç›¸åŒ"
-#: src/format-boost.c:449
+#: src/format-boost.c:450
#, fuzzy, c-format
msgid "The directive number %u starts with | but does not end with |."
msgstr "第 %u 個指令çµæŸçš„ä¸æ˜¯ ‘}’,而是ä¸åˆæ³•çš„字元。"
-#: src/format-c.c:36
+#: src/format.c:152
+#, fuzzy, c-format
+msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
+msgstr "å’Œ ‘msgid’ ä¸åŒï¼Œâ€˜%s’ çš„ %s æ ¼å¼å­—串無效。原因:%s"
+
+#: src/format-c.c:37
#, c-format
msgid ""
"In the directive number %u, the token after '<' is not the name of a format "
@@ -367,56 +509,56 @@ msgstr ""
"在第 %u 個指令,‘<’ 之後的關éµå­—ä¸æ˜¯æ­£ç¢ºçš„變數è¦æ ¼ã€‚如果想ç²çŸ¥æ­£ç¢ºçš„變數è¦æ ¼"
"å稱,請åƒè€ƒ ISO C 99 è¦æ ¼ç¬¬ 7.8.1 節。"
-#: src/format-c.c:39
+#: src/format-c.c:40
#, c-format
msgid "In the directive number %u, the token after '<' is not followed by '>'."
msgstr "在第 %u 個指令,‘<’ 之後的關éµå­—後é¢ç¼ºå°‘了 ‘>’。"
-#: src/format-c.c:42 src/format-gfc-internal.c:289
+#: src/format-c.c:43 src/format-gfc-internal.c:289
#, c-format
msgid "The string refers to argument number %u but ignores argument number %u."
msgstr "字串中有æåŠç¬¬ %u 個引數,但忽略了第 %u 個。"
-#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
-#: src/format-javascript.c:215 src/format-python.c:515
-#: src/format-qt-plural.c:110
+#: src/format-c.c:138 src/format-csharp.c:207 src/format-gfc-internal.c:363
+#: src/format-javascript.c:216 src/format-python.c:516
+#: src/format-qt-plural.c:111
#, fuzzy, c-format
msgid "number of format specifications in '%s' and '%s' does not match"
msgstr "‘msgid’ å’Œ ‘%s’ çš„æ ¼å¼è¦æ ¼æ•¸ç›®ä¸ç¬¦"
-#: src/format-csharp.c:88 src/format-java.c:205
+#: src/format-csharp.c:89 src/format-java.c:206
#, c-format
msgid "In the directive number %u, '{' is not followed by an argument number."
msgstr ""
-#: src/format-csharp.c:109
+#: src/format-csharp.c:110
#, c-format
msgid "In the directive number %u, ',' is not followed by a number."
msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
-#: src/format-csharp.c:130 src/format-java.c:191
+#: src/format-csharp.c:131 src/format-java.c:192
msgid ""
"The string ends in the middle of a directive: found '{' without matching '}'."
msgstr ""
-#: src/format-csharp.c:139
+#: src/format-csharp.c:140
#, c-format
msgid ""
"The directive number %u ends with an invalid character '%c' instead of '}'."
msgstr "第 %u 個指令çµæŸçš„字元是 ‘%c’ 而ä¸æ˜¯ ‘}’。"
-#: src/format-csharp.c:140
+#: src/format-csharp.c:141
#, c-format
msgid "The directive number %u ends with an invalid character instead of '}'."
msgstr "第 %u 個指令çµæŸçš„ä¸æ˜¯ ‘}’,而是ä¸åˆæ³•çš„字元。"
-#: src/format-csharp.c:161 src/format-java.c:346
+#: src/format-csharp.c:162 src/format-java.c:347
msgid ""
"The string starts in the middle of a directive: found '}' without matching "
"'{'."
msgstr ""
-#: src/format-csharp.c:162
+#: src/format-csharp.c:163
#, c-format
msgid "The string contains a lone '}' after directive number %u."
msgstr "第 %u 個指令後出ç¾å–®ç¨çš„ ‘}’。"
@@ -524,61 +666,80 @@ msgstr "用來çµæŸç¬¬ %u 個指令的字元屬於無效的列å°æ ¼å¼ã€‚"
msgid "The string refers to argument number %u in incompatible ways."
msgstr "字串採用了ä¸ç›¸å®¹çš„方法來表示第 %u 個引數。"
-#: src/format-java.c:240
+#: src/format-java.c:241
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid date/time "
"style."
msgstr "第 %u 個指令的å­å­—串 %s 是無效的日期/時間格å¼ã€‚"
-#: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
+#: src/format-java.c:252 src/format-java.c:286 src/format-java.c:315
#, c-format
msgid "In the directive number %u, \"%s\" is not followed by a comma."
msgstr "第 %u 個指令的 %s 後é¢ç¼ºå°‘了逗號。"
-#: src/format-java.c:274
+#: src/format-java.c:275
#, c-format
msgid ""
"In the directive number %u, the substring \"%s\" is not a valid number style."
msgstr "第 %u 個指令的å­å­—串 %s 是無效的數字格å¼ã€‚"
-#: src/format-java.c:323
+#: src/format-java.c:324
#, c-format
msgid ""
"In the directive number %u, the argument number is not followed by a comma "
"and one of \"%s\", \"%s\", \"%s\", \"%s\"."
msgstr ""
-#: src/format-java.c:572
+#: src/format-java.c:573
#, c-format
msgid "In the directive number %u, a choice contains no number."
msgstr ""
-#: src/format-java.c:583
+#: src/format-java.c:584
#, c-format
msgid ""
"In the directive number %u, a choice contains a number that is not followed "
"by '<', '#' or '%s'."
msgstr ""
-#: src/format-java.c:745
+#: src/format-java.c:746
#, fuzzy, c-format
msgid ""
"a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
msgstr "‘%2$s’ 中的引數 {%1$u} çš„æ ¼å¼åœ¨ ‘msgid’ 中並ä¸å­˜åœ¨"
-#: src/format-java.c:756
+#: src/format-java.c:757
#, c-format
msgid "a format specification for argument {%u} doesn't exist in '%s'"
msgstr "引數 {%u} çš„è¦æ ¼åœ¨ ‘%s’ 中並ä¸å­˜åœ¨"
-#: src/format-java.c:776
+#: src/format-java.c:777
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument {%u} are not the same"
msgstr "‘msgid’ å’Œ ‘%s’ 的引數 {%u} è¦æ ¼ä¸¦ä¸ç›¸åŒ"
-#: src/format-lisp.c:2339 src/format-lisp.c:2351 src/format-scheme.c:2365
+#: src/format-kde.c:159
+#, fuzzy, c-format
+msgid ""
+"The string refers to argument number %u but ignores the arguments %u and %u."
+msgstr "字串中有æåŠç¬¬ %u 個引數,但忽略了第 %u 個。"
+
+#: src/format-kde.c:243
+#, fuzzy, c-format
+msgid ""
+"a format specification for arguments %u and %u doesn't exist in '%s', only "
+"one argument may be ignored"
+msgstr "‘%2$s’ 中第 %1$u 個引數的è¦æ ¼åœ¨ ‘msgid’ 中並ä¸å­˜åœ¨"
+
+#: src/format-kde-kuit.c:244 src/format-kde-kuit.c:264
+#: src/format-kde-kuit.c:274
+#, fuzzy, c-format
+msgid "error while parsing: %s"
+msgstr "è®€å– %s 時出ç¾éŒ¯èª¤"
+
+#: src/format-lisp.c:2340 src/format-lisp.c:2352 src/format-scheme.c:2365
#: src/format-scheme.c:2377
#, c-format
msgid ""
@@ -586,7 +747,7 @@ msgid ""
"type '%s' is expected."
msgstr ""
-#: src/format-lisp.c:2374 src/format-scheme.c:2400
+#: src/format-lisp.c:2375 src/format-scheme.c:2400
#, c-format
msgid ""
"In the directive number %u, too many parameters are given; expected at most "
@@ -597,242 +758,210 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/format-lisp.c:2498 src/format-scheme.c:2501
+#: src/format-lisp.c:2499 src/format-scheme.c:2501
#, c-format
msgid "In the directive number %u, '%c' is not followed by a digit."
msgstr ""
-#: src/format-lisp.c:2738 src/format-scheme.c:2756
+#: src/format-lisp.c:2739 src/format-scheme.c:2756
#, c-format
msgid "In the directive number %u, the argument %d is negative."
msgstr ""
-#: src/format-lisp.c:2807
+#: src/format-lisp.c:2808
msgid "The string ends in the middle of a ~/.../ directive."
msgstr ""
-#: src/format-lisp.c:2845 src/format-lisp.c:3110 src/format-lisp.c:3227
-#: src/format-lisp.c:3287 src/format-lisp.c:3399 src/format-scheme.c:2842
+#: src/format-lisp.c:2846 src/format-lisp.c:3111 src/format-lisp.c:3228
+#: src/format-lisp.c:3288 src/format-lisp.c:3400 src/format-scheme.c:2842
#: src/format-scheme.c:3107 src/format-scheme.c:3224 src/format-scheme.c:3322
#, c-format
msgid "Found '~%c' without matching '~%c'."
msgstr "找到 ‘~%c’ 但沒有 ‘~%c’ é…åˆã€‚"
-#: src/format-lisp.c:2865 src/format-scheme.c:2862
+#: src/format-lisp.c:2866 src/format-scheme.c:2862
#, c-format
msgid "In the directive number %u, both the @ and the : modifiers are given."
msgstr ""
-#: src/format-lisp.c:2978 src/format-scheme.c:2975
+#: src/format-lisp.c:2979 src/format-scheme.c:2975
#, c-format
msgid ""
"In the directive number %u, '~:[' is not followed by two clauses, separated "
"by '~;'."
msgstr ""
-#: src/format-lisp.c:3328 src/format-scheme.c:3265
+#: src/format-lisp.c:3329 src/format-scheme.c:3265
#, c-format
msgid "In the directive number %u, '~;' is used in an invalid position."
msgstr ""
-#: src/format-lisp.c:3434 src/format-scheme.c:3357
+#: src/format-lisp.c:3435 src/format-scheme.c:3357
msgid "The string refers to some argument in incompatible ways."
msgstr ""
-#: src/format-lisp.c:3476 src/format-scheme.c:3399
+#: src/format-lisp.c:3477 src/format-scheme.c:3399
#, fuzzy, c-format
msgid "format specifications in '%s' and '%s' are not equivalent"
msgstr "‘msgid’ å’Œ ‘%s’ çš„æ ¼å¼è¦æ ¼ä¸¦éžåŒç­‰"
-#: src/format-lisp.c:3492 src/format-scheme.c:3415
+#: src/format-lisp.c:3493 src/format-scheme.c:3415
#, fuzzy, c-format
msgid "format specifications in '%s' are not a subset of those in '%s'"
msgstr "‘%s’ çš„æ ¼å¼è¦æ ¼ä¸¦éž ‘msgid’ çš„æ ¼å¼è¦æ ¼çš„一部份"
-#: src/format-perl.c:433
+#: src/format-perl-brace.c:199 src/format-python-brace.c:435
+#: src/format-python-brace.c:448 src/format-python.c:472 src/format-sh.c:309
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in '%s'"
+msgstr "æ ¼å¼ â€˜%s’ çš„è¦æ ¼åœ¨ ‘%s’ 中並ä¸å­˜åœ¨"
+
+#: src/format-perl.c:434
#, c-format
msgid ""
"In the directive number %u, the size specifier is incompatible with the "
"conversion specifier '%c'."
msgstr ""
-#: src/format-perl-brace.c:199 src/format-python.c:471
-#: src/format-python-brace.c:434 src/format-python-brace.c:447
-#: src/format-sh.c:308
-#, c-format
-msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "æ ¼å¼ â€˜%s’ çš„è¦æ ¼åœ¨ ‘%s’ 中並ä¸å­˜åœ¨"
+#: src/format-python-brace.c:138
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
+
+#: src/format-python-brace.c:151
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
+
+#: src/format-python-brace.c:166
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
-#: src/format-python.c:115
+#: src/format-python-brace.c:186
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
+
+#: src/format-python-brace.c:271
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "第 %u 個指令中的數字 0 ä¸æ˜¯æ­£æ•´æ•¸ã€‚"
+
+#: src/format-python.c:116
msgid ""
"The string refers to arguments both through argument names and through "
"unnamed argument specifications."
msgstr ""
-#: src/format-python.c:354
+#: src/format-python.c:355
#, c-format
msgid "The string refers to the argument named '%s' in incompatible ways."
msgstr ""
-#: src/format-python.c:430
+#: src/format-python.c:431
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
msgstr ""
"‘msgid’ 裡的è¦æ ¼å°æ‡‰çš„是雜湊表 (mapping),而 ‘%s’ çš„å»æ˜¯å›ºå®šæœ‰åºåˆ— (tuple)"
-#: src/format-python.c:437
+#: src/format-python.c:438
#, fuzzy, c-format
msgid ""
"format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
msgstr ""
"‘msgid’ 裡的è¦æ ¼å°æ‡‰çš„是固定有åºåˆ— (tuple),而 ‘%s’ çš„å»æ˜¯é›œæ¹Šè¡¨ (mapping)"
-#: src/format-python.c:460 src/format-sh.c:297
+#: src/format-python.c:461 src/format-sh.c:298
#, fuzzy, c-format
msgid ""
"a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
msgstr "‘%2$s’ 中的引數 ‘%1$s’ çš„æ ¼å¼åœ¨ ‘msgid’ 中並ä¸å­˜åœ¨"
-#: src/format-python.c:494
+#: src/format-python.c:495
#, fuzzy, c-format
msgid ""
"format specifications in '%s' and '%s' for argument '%s' are not the same"
msgstr "‘msgid’和‘%s’的引數‘%s’的格å¼ä¸¦ä¸ç›¸åŒ"
-#: src/format-python-brace.c:137
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a field name."
-msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
-
-#: src/format-python-brace.c:150
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getattr argument."
-msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
-
-#: src/format-python-brace.c:165
-#, fuzzy, c-format
-msgid "In the directive number %u, '%c' cannot start a getitem argument."
-msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
-
-#: src/format-python-brace.c:185
-#, fuzzy, c-format
-msgid ""
-"In the directive number %u, no more nesting is allowed in a format specifier."
-msgstr "在第 %u 個指令,‘,’ 後é¢çš„ä¸æ˜¯æ•¸å­—。"
-
-#: src/format-python-brace.c:270
-#, fuzzy, c-format
-msgid "In the directive number %u, there is an unterminated format directive."
-msgstr "第 %u 個指令中的數字 0 ä¸æ˜¯æ­£æ•´æ•¸ã€‚"
-
-#: src/format-qt.c:152
+#: src/format-qt.c:153
#, c-format
msgid ""
"'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
"a double-digit argument number"
msgstr ""
-#: src/format-sh.c:79
+#: src/format-sh.c:80
msgid "The string refers to a shell variable with a non-ASCII name."
msgstr "字串中的 shell 變數å稱å«æœ‰ä¸å±¬æ–¼ ASCII 的字元。"
-#: src/format-sh.c:81
+#: src/format-sh.c:82
msgid ""
"The string refers to a shell variable with complex shell brace syntax. This "
"syntax is unsupported here due to security reasons."
msgstr ""
"字串中的 shell 變數å稱å«æœ‰è¼ƒè¤‡é›œçš„括號格å¼ï¼Œå› å®‰å…¨ç†ç”±ï¼Œé€™ç¨®æ ¼å¼ä¸æœƒæ”¯æ´ã€‚"
-#: src/format-sh.c:83
+#: src/format-sh.c:84
msgid ""
"The string refers to a shell variable whose value may be different inside "
"shell functions."
msgstr ""
-#: src/format-sh.c:85
+#: src/format-sh.c:86
msgid "The string refers to a shell variable with an empty name."
msgstr "字串中的 shell 變數沒有å稱。"
-#: src/format-ycp.c:90
+#: src/format-ycp.c:91
#, c-format
msgid ""
"In the directive number %u, the character '%c' is not a digit between 1 and "
"9."
msgstr "第 %u 個指令的字元‘%c’ä¸æ˜¯ 1 至 9 之間的整數。"
-#: src/format-ycp.c:91
+#: src/format-ycp.c:92
#, c-format
msgid ""
"The character that terminates the directive number %u is not a digit between "
"1 and 9."
msgstr "第 %u 個指令最後一個字元ä¸æ˜¯ 1 至 9 之間的整數。"
-#: src/hostname.c:180 src/msgattrib.c:355 src/msgcat.c:294 src/msgcmp.c:172
-#: src/msgcomm.c:285 src/msgconv.c:244 src/msgen.c:241 src/msgexec.c:180
-#: src/msgfilter.c:282 src/msgfmt.c:416 src/msggrep.c:419 src/msginit.c:269
-#: src/msgmerge.c:356 src/msgunfmt.c:262 src/msguniq.c:264
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:615
-#, c-format, no-wrap
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-"This is free software: you are free to change and redistribute it.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
-
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgcmp.c:178
-#: src/msgcomm.c:291 src/msgconv.c:250 src/msgen.c:247 src/msgexec.c:186
-#: src/msgfilter.c:288 src/msgfmt.c:422 src/msggrep.c:425 src/msginit.c:275
-#: src/msgmerge.c:362 src/msgunfmt.c:268 src/msguniq.c:270 src/urlget.c:149
-#: src/xgettext.c:621
-#, c-format
-msgid "Written by %s.\n"
-msgstr "由 %s 編寫。\n"
-
#. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:186 src/msgattrib.c:361 src/msgcat.c:300 src/msgconv.c:250
-#: src/msgen.c:247 src/msgexec.c:186 src/msgfilter.c:288 src/msggrep.c:425
-#: src/msginit.c:275 src/msguniq.c:270 src/recode-sr-latin.c:121
-#: src/urlget.c:149
+#: src/hostname.c:187 src/msgattrib.c:362 src/msgcat.c:301 src/msgconv.c:251
+#: src/msgen.c:248 src/msgexec.c:193 src/msgfilter.c:295 src/msggrep.c:426
+#: src/msginit.c:275 src/msguniq.c:271 src/recode-sr-latin.c:122
+#: src/urlget.c:150
msgid "Bruno Haible"
msgstr ""
-#: src/hostname.c:196 src/msginit.c:285 src/recode-sr-latin.c:130
+#: src/hostname.c:197 src/msginit.c:285 src/recode-sr-latin.c:131
#, c-format
msgid "too many arguments"
msgstr "引數éŽå¤š"
-#: src/hostname.c:209 src/msgattrib.c:417 src/msgcat.c:363 src/msgcmp.c:209
-#: src/msgcomm.c:355 src/msgconv.c:303 src/msgen.c:300 src/msgexec.c:253
-#: src/msgfilter.c:403 src/msgfmt.c:770 src/msggrep.c:512 src/msginit.c:359
-#: src/msgmerge.c:494 src/msgunfmt.c:423 src/msguniq.c:322
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:851
-#, fuzzy, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "請執行 ‘%s --help’ 顯示é¡å¤–資訊。\n"
-
-#: src/hostname.c:213 src/msginit.c:363 src/recode-sr-latin.c:148
+#: src/hostname.c:214 src/msginit.c:363 src/recode-sr-latin.c:149
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr "用法:%s [é¸é …]\n"
-#: src/hostname.c:217
+#: src/hostname.c:218
#, c-format
msgid "Print the machine's hostname.\n"
msgstr "列å°ä¸»æ©Ÿçš„å稱。\n"
-#: src/hostname.c:220
+#: src/hostname.c:221
#, c-format
msgid "Output format:\n"
msgstr "輸出格å¼ï¼š\n"
-#: src/hostname.c:222
+#: src/hostname.c:223
#, c-format
msgid " -s, --short short host name\n"
msgstr " -s, --short 短的主機å稱\n"
-#: src/hostname.c:224
+#: src/hostname.c:225
#, c-format
msgid ""
" -f, --fqdn, --long long host name, includes fully qualified "
@@ -841,207 +970,234 @@ msgid ""
msgstr ""
" -f, --fqdn, --long 長的主機å稱,包括正å¼çš„網域å稱(FQDN)åŠåˆ¥å\n"
-#: src/hostname.c:227
+#: src/hostname.c:228
#, c-format
msgid " -i, --ip-address addresses for the hostname\n"
msgstr " -i, --ip-address 主機的 IP 地å€\n"
-#: src/hostname.c:230 src/msgattrib.c:534 src/msgcat.c:469 src/msgcmp.c:258
-#: src/msgcomm.c:455 src/msgconv.c:385 src/msgen.c:381 src/msgexec.c:295
-#: src/msgfilter.c:495 src/msgfmt.c:916 src/msggrep.c:628 src/msginit.c:421
-#: src/msgmerge.c:619 src/msgunfmt.c:527 src/msguniq.c:417
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1023
+#: src/hostname.c:231 src/msgattrib.c:535 src/msgcat.c:470 src/msgcmp.c:259
+#: src/msgcomm.c:456 src/msgconv.c:386 src/msgen.c:382 src/msgexec.c:307
+#: src/msgfilter.c:508 src/msgfmt.c:1078 src/msggrep.c:629 src/msginit.c:421
+#: src/msgmerge.c:620 src/msgunfmt.c:528 src/msguniq.c:418
+#: src/recode-sr-latin.c:162 src/urlget.c:187 src/xgettext.c:1228
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "顯示資訊:\n"
-#: src/hostname.c:232 src/msgattrib.c:536 src/msgcat.c:471 src/msgcmp.c:260
-#: src/msgcomm.c:457 src/msgconv.c:387 src/msgen.c:383 src/msgexec.c:297
-#: src/msgfilter.c:497 src/msgfmt.c:918 src/msggrep.c:630 src/msginit.c:423
-#: src/msgmerge.c:621 src/msgunfmt.c:529 src/msguniq.c:419
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1025
-#, c-format, no-wrap
-msgid " -h, --help display this help and exit\n"
-msgstr " -h, --help 顯示本訊æ¯ï¼Œç„¶å¾ŒçµæŸ\n"
+#: src/hostname.c:258 src/hostname.c:264 src/hostname.c:271
+#, c-format
+msgid "could not get host name"
+msgstr "無法å–得主機å稱"
-#: src/hostname.c:234 src/msgattrib.c:538 src/msgcat.c:473 src/msgcmp.c:262
-#: src/msgcomm.c:459 src/msgconv.c:389 src/msgen.c:385 src/msgexec.c:299
-#: src/msgfilter.c:499 src/msgfmt.c:920 src/msggrep.c:632 src/msginit.c:425
-#: src/msgmerge.c:623 src/msgunfmt.c:531 src/msguniq.c:421
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1027
-#, c-format, no-wrap
-msgid " -V, --version output version information and exit\n"
-msgstr " -V, --version 顯示版本資訊,然後çµæŸ\n"
+#: src/its.c:319
+#, fuzzy, c-format
+msgid "selector is not specified"
+msgstr "必須指定至少兩個檔案"
-#. TRANSLATORS: The placeholder indicates the bug-reporting address
-#. for this package. Please add _another line_ saying
-#. "Report translation bugs to <...>\n" with the address for translation
-#. bugs (typically your translation team's web or email address).
-#: src/hostname.c:241 src/msgattrib.c:545 src/msgcat.c:480 src/msgcmp.c:269
-#: src/msgcomm.c:466 src/msgconv.c:396 src/msgen.c:392 src/msgexec.c:306
-#: src/msgfilter.c:506 src/msgfmt.c:931 src/msggrep.c:639 src/msginit.c:432
-#: src/msgmerge.c:634 src/msgunfmt.c:540 src/msguniq.c:428
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1034
-msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
-msgstr "è«‹å‘ <bug-gnu-gettext@gnu.org> 匯報錯誤。\n"
+#: src/its.c:326 src/its.c:1550
+#, fuzzy, c-format
+msgid "cannot create XPath context"
+msgstr "無法建立管線"
-#: src/hostname.c:257 src/hostname.c:263 src/hostname.c:270
+#: src/its.c:344
#, c-format
-msgid "could not get host name"
-msgstr "無法å–得主機å稱"
+msgid "cannot evaluate XPath expression: %s"
+msgstr ""
-#: src/msgattrib.c:376 src/msgconv.c:265 src/msgexec.c:152 src/msgfilter.c:194
-#: src/msggrep.c:440 src/msginit.c:198 src/msguniq.c:285
+#: src/its.c:614
+#, c-format
+msgid "\"%s\" node does not contain \"%s\""
+msgstr ""
+
+#: src/its.c:1001
+#, fuzzy, c-format
+msgid "invalid attribute value \"%s\" for \"%s\""
+msgstr "%2$s 的引數 %1$s 無效"
+
+#: src/its.c:1333
+#, c-format
+msgid "the root element is not \"rules\" under namespace %s"
+msgstr ""
+
+#: src/its.c:1376 src/its.c:1402 src/its.c:1795 src/its.c:1914
+#: src/locating-rule.c:170
+#, fuzzy, c-format
+msgid "cannot read %s: %s"
+msgstr "無法建立管線"
+
+#: src/its.c:1573
+#, c-format
+msgid "cannot evaluate XPath location path: %s"
+msgstr ""
+
+#: src/locating-rule.c:236
+#, c-format
+msgid "\"%s\" node does not have \"%s\""
+msgstr ""
+
+#: src/locating-rule.c:307
+#, fuzzy, c-format
+msgid "cannot read XML file %s"
+msgstr "無法產生輸出檔 “%sâ€"
+
+#: src/locating-rule.c:319
+#, c-format
+msgid "the root element is not \"locatingRules\""
+msgstr ""
+
+#: src/msgattrib.c:377 src/msgconv.c:266 src/msgexec.c:155 src/msgfilter.c:197
+#: src/msggrep.c:441 src/msginit.c:198 src/msguniq.c:286
#, c-format
msgid "at most one input file allowed"
msgstr "最多åªæŽ¥å—一個輸入檔"
-#: src/msgattrib.c:382 src/msgcat.c:316 src/msgcomm.c:301 src/msgconv.c:271
-#: src/msgen.c:269 src/msgfilter.c:303 src/msgfmt.c:470 src/msgfmt.c:478
-#: src/msgfmt.c:493 src/msgfmt.c:515 src/msggrep.c:446 src/msgmerge.c:387
-#: src/msgmerge.c:392 src/msgmerge.c:397 src/msgmerge.c:418 src/msgunfmt.c:299
-#: src/msguniq.c:291 src/xgettext.c:631 src/xgettext.c:638 src/xgettext.c:641
-#: src/xgettext.c:644
+#: src/msgattrib.c:383 src/msgcat.c:317 src/msgcomm.c:302 src/msgconv.c:272
+#: src/msgen.c:270 src/msgfilter.c:310 src/msgfmt.c:503 src/msgfmt.c:511
+#: src/msgfmt.c:526 src/msgfmt.c:548 src/msggrep.c:447 src/msgmerge.c:388
+#: src/msgmerge.c:393 src/msgmerge.c:398 src/msgmerge.c:419 src/msgunfmt.c:300
+#: src/msguniq.c:292 src/xgettext.c:694 src/xgettext.c:701 src/xgettext.c:704
+#: src/xgettext.c:707 src/xgettext.c:755
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr "%s å’Œ %s 兩者是互ä¸ç›¸å®¹çš„"
-#: src/msgattrib.c:421 src/msgconv.c:307 src/msggrep.c:516 src/msguniq.c:326
+#: src/msgattrib.c:422 src/msgconv.c:308 src/msggrep.c:517 src/msguniq.c:327
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr "用法:%s [é¸é …] [輸入檔]\n"
-#: src/msgattrib.c:426
+#: src/msgattrib.c:427
#, c-format, no-wrap
msgid ""
"Filters the messages of a translation catalog according to their attributes,\n"
"and manipulates the attributes.\n"
msgstr "根據訊æ¯çš„屬性éŽæ¿¾ç¿»è­¯æª”裡的æ¢ç›®ï¼Œä¸¦è™•ç†é€™äº›å±¬æ€§ã€‚\n"
-#: src/msgattrib.c:430 src/msgcat.c:384 src/msgcmp.c:227 src/msgcomm.c:375
-#: src/msgconv.c:315 src/msgen.c:316 src/msgexec.c:276 src/msgfilter.c:415
-#: src/msggrep.c:526 src/msginit.c:373 src/msgmerge.c:515 src/msgunfmt.c:435
-#: src/msguniq.c:342
+#: src/msgattrib.c:431 src/msgcat.c:385 src/msgcmp.c:228 src/msgcomm.c:376
+#: src/msgconv.c:316 src/msgen.c:317 src/msgexec.c:288 src/msgfilter.c:422
+#: src/msggrep.c:527 src/msginit.c:373 src/msgmerge.c:516 src/msgunfmt.c:436
+#: src/msguniq.c:343
#, c-format
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr "é•·é¸é …必須用的引數在使用短é¸é …時也是必須的。\n"
-#: src/msgattrib.c:433 src/msgcat.c:387 src/msgcmp.c:230 src/msgcomm.c:378
-#: src/msgconv.c:318 src/msgen.c:319 src/msgexec.c:279 src/msgfilter.c:418
-#: src/msgfmt.c:788 src/msggrep.c:529 src/msginit.c:376 src/msgmerge.c:518
-#: src/msgunfmt.c:449 src/msguniq.c:345 src/xgettext.c:869
+#: src/msgattrib.c:434 src/msgcat.c:388 src/msgcmp.c:231 src/msgcomm.c:379
+#: src/msgconv.c:319 src/msgen.c:320 src/msgexec.c:291 src/msgfilter.c:425
+#: src/msgfmt.c:932 src/msggrep.c:530 src/msginit.c:376 src/msgmerge.c:519
+#: src/msgunfmt.c:450 src/msguniq.c:346 src/xgettext.c:1062
#, c-format
msgid "Input file location:\n"
msgstr "輸入檔ä½ç½®ï¼š\n"
-#: src/msgattrib.c:435 src/msgconv.c:320 src/msggrep.c:531 src/msguniq.c:347
+#: src/msgattrib.c:436 src/msgconv.c:321 src/msggrep.c:532 src/msguniq.c:348
#, c-format
msgid " INPUTFILE input PO file\n"
msgstr " INPUTFILE 用作輸入的 PO 檔\n"
-#: src/msgattrib.c:437 src/msgcat.c:393 src/msgcmp.c:236 src/msgcomm.c:384
-#: src/msgconv.c:322 src/msgen.c:323 src/msgexec.c:283 src/msgfilter.c:422
-#: src/msgfmt.c:792 src/msggrep.c:533 src/msgmerge.c:524 src/msguniq.c:349
-#: src/xgettext.c:875
+#: src/msgattrib.c:438 src/msgcat.c:394 src/msgcmp.c:237 src/msgcomm.c:385
+#: src/msgconv.c:323 src/msgen.c:324 src/msgexec.c:295 src/msgfilter.c:429
+#: src/msgfmt.c:936 src/msggrep.c:534 src/msgmerge.c:525 src/msguniq.c:350
+#: src/xgettext.c:1068
#, c-format
msgid ""
" -D, --directory=DIRECTORY add DIRECTORY to list for input files search\n"
msgstr " -D, --directory=目錄 æœå°‹è¼¸å…¥æª”時加入指定<目錄>\n"
-#: src/msgattrib.c:439 src/msgconv.c:324 src/msgexec.c:285 src/msgfilter.c:424
-#: src/msggrep.c:535 src/msgunfmt.c:453 src/msguniq.c:351
+#: src/msgattrib.c:440 src/msgconv.c:325 src/msgexec.c:297 src/msgfilter.c:431
+#: src/msggrep.c:536 src/msgunfmt.c:454 src/msguniq.c:352
#, c-format
msgid "If no input file is given or if it is -, standard input is read.\n"
msgstr "如果沒有指定輸入檔或輸入檔是 ‘-’,則由標準輸入讀å–內容。\n"
-#: src/msgattrib.c:442 src/msgcat.c:398 src/msgcomm.c:389 src/msgconv.c:327
-#: src/msgen.c:328 src/msgfilter.c:427 src/msgfmt.c:814 src/msggrep.c:538
-#: src/msginit.c:384 src/msgmerge.c:536 src/msgunfmt.c:489 src/msguniq.c:354
-#: src/xgettext.c:880
+#: src/msgattrib.c:443 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:328
+#: src/msgen.c:329 src/msgfilter.c:434 src/msgfmt.c:960 src/msggrep.c:539
+#: src/msginit.c:384 src/msgmerge.c:537 src/msgunfmt.c:490 src/msguniq.c:355
+#: src/xgettext.c:1073
#, c-format
msgid "Output file location:\n"
msgstr "輸出檔ä½ç½®ï¼š\n"
-#: src/msgattrib.c:444 src/msgcat.c:400 src/msgcomm.c:391 src/msgconv.c:329
-#: src/msgen.c:330 src/msgfilter.c:429 src/msgfmt.c:816 src/msgfmt.c:865
-#: src/msggrep.c:540 src/msgmerge.c:538 src/msgunfmt.c:491 src/msguniq.c:356
+#: src/msgattrib.c:445 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:330
+#: src/msgen.c:331 src/msgfilter.c:436 src/msgfmt.c:962 src/msgfmt.c:1011
+#: src/msgfmt.c:1030 src/msggrep.c:541 src/msgmerge.c:539 src/msgunfmt.c:492
+#: src/msguniq.c:357
#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr " -o, --output-file=檔案 將輸出的內容寫入指定<檔案>\n"
-#: src/msgattrib.c:446 src/msgcat.c:402 src/msgcomm.c:393 src/msgconv.c:331
-#: src/msgen.c:332 src/msgfilter.c:431 src/msggrep.c:542 src/msgmerge.c:540
-#: src/msgunfmt.c:493 src/msguniq.c:358
+#: src/msgattrib.c:447 src/msgcat.c:403 src/msgcomm.c:394 src/msgconv.c:332
+#: src/msgen.c:333 src/msgfilter.c:438 src/msggrep.c:543 src/msgmerge.c:541
+#: src/msgunfmt.c:494 src/msguniq.c:359
#, c-format
msgid ""
"The results are written to standard output if no output file is specified\n"
"or if it is -.\n"
msgstr "如果沒有指定<輸出檔>或<輸出檔>是 ‘-’,則會在標準輸出顯示çµæžœã€‚\n"
-#: src/msgattrib.c:450 src/msgcat.c:406 src/msgcomm.c:397 src/msguniq.c:362
+#: src/msgattrib.c:451 src/msgcat.c:407 src/msgcomm.c:398 src/msguniq.c:363
#, c-format
msgid "Message selection:\n"
msgstr "篩é¸è¨Šæ¯ï¼š\n"
-#: src/msgattrib.c:452
+#: src/msgattrib.c:453
#, c-format
msgid ""
" --translated keep translated, remove untranslated messages\n"
msgstr " --translated åªä¿ç•™å·²ç¿»è­¯æ¢ç›®ï¼Œåˆªé™¤æœªç¿»è­¯æ¢ç›®\n"
-#: src/msgattrib.c:454
+#: src/msgattrib.c:455
#, c-format
msgid ""
" --untranslated keep untranslated, remove translated messages\n"
msgstr " --untranslated åªä¿ç•™æœªç¿»è­¯æ¢ç›®ï¼Œåˆªé™¤å·²ç¿»è­¯æ¢ç›®\n"
-#: src/msgattrib.c:456
+#: src/msgattrib.c:457
#, c-format
msgid " --no-fuzzy remove 'fuzzy' marked messages\n"
msgstr " --no-fuzzy 刪除加上 'fuzzy' 標記的æ¢ç›®\n"
-#: src/msgattrib.c:458
+#: src/msgattrib.c:459
#, c-format
msgid " --only-fuzzy keep 'fuzzy' marked messages\n"
msgstr " --only-fuzzy åªä¿ç•™åŠ ä¸Š 'fuzzy' 標記的æ¢ç›®\n"
-#: src/msgattrib.c:460
+#: src/msgattrib.c:461
#, c-format
msgid " --no-obsolete remove obsolete #~ messages\n"
msgstr " --no-obsolete 刪除éŽæ™‚çš„æ¢ç›® (#~)\n"
-#: src/msgattrib.c:462
+#: src/msgattrib.c:463
#, c-format
msgid " --only-obsolete keep obsolete #~ messages\n"
msgstr " --only-obsolete åªä¿ç•™éŽæ™‚çš„æ¢ç›® (#~) \n"
-#: src/msgattrib.c:465
+#: src/msgattrib.c:466
#, c-format
msgid "Attribute manipulation:\n"
msgstr "處ç†å±¬æ€§ï¼š\n"
-#: src/msgattrib.c:467
+#: src/msgattrib.c:468
#, c-format
msgid " --set-fuzzy set all messages 'fuzzy'\n"
msgstr " --set-fuzzy 將所有æ¢ç›®æ¨™è¨˜ç‚º 'fuzzy'\n"
-#: src/msgattrib.c:469
+#: src/msgattrib.c:470
#, c-format
msgid " --clear-fuzzy set all messages non-'fuzzy'\n"
msgstr " --clear-fuzzy 移除所有æ¢ç›®çš„ 'fuzzy' 狀態\n"
-#: src/msgattrib.c:471
+#: src/msgattrib.c:472
#, c-format
msgid " --set-obsolete set all messages obsolete\n"
msgstr " --set-obsolete 將所有æ¢ç›®æ¨™è¨˜ç‚ºéŽæ™‚\n"
-#: src/msgattrib.c:473
+#: src/msgattrib.c:474
#, c-format
msgid " --clear-obsolete set all messages non-obsolete\n"
msgstr " --clear-obsolete 清除所有æ¢ç›®çš„éŽæ™‚標記\n"
-#: src/msgattrib.c:475
+#: src/msgattrib.c:476
#, fuzzy, c-format
msgid ""
" --previous when setting 'fuzzy', keep previous msgids\n"
@@ -1050,59 +1206,59 @@ msgstr ""
" -u, --unique 等於 --less-than=2,表示åªé¡¯ç¤º\n"
" åªæœ‰ä¸€ç¨®ç¿»è­¯çš„å­—å¥\n"
-#: src/msgattrib.c:478
+#: src/msgattrib.c:479
#, fuzzy, c-format
msgid ""
" --clear-previous remove the \"previous msgid\" from all "
"messages\n"
msgstr " --clear-fuzzy 移除所有æ¢ç›®çš„ 'fuzzy' 狀態\n"
-#: src/msgattrib.c:480
+#: src/msgattrib.c:481
#, fuzzy, c-format
msgid ""
" --empty when removing 'fuzzy', also set msgstr empty\n"
msgstr " --no-fuzzy 刪除加上 'fuzzy' 標記的æ¢ç›®\n"
-#: src/msgattrib.c:482
+#: src/msgattrib.c:483
#, c-format
msgid ""
" --only-file=FILE.po manipulate only entries listed in FILE.po\n"
msgstr " --only-file=FILE.po åªè™•ç† FILE.po 裡已經有的æ¢ç›®\n"
-#: src/msgattrib.c:484
+#: src/msgattrib.c:485
#, c-format
msgid ""
" --ignore-file=FILE.po manipulate only entries not listed in FILE.po\n"
msgstr " --ignore-file=FILE.po åªè™•ç† FILE.po 裡沒有的æ¢ç›®\n"
-#: src/msgattrib.c:486
+#: src/msgattrib.c:487
#, c-format
msgid " --fuzzy synonym for --only-fuzzy --clear-fuzzy\n"
msgstr " --fuzzy 等於 --only-fuzzy --clear-fuzzy\n"
-#: src/msgattrib.c:488
+#: src/msgattrib.c:489
#, c-format
msgid ""
" --obsolete synonym for --only-obsolete --clear-obsolete\n"
msgstr " --obsolete 等於 --only-obsolete --clear-obsolete\n"
-#: src/msgattrib.c:491 src/msgcat.c:418 src/msgcmp.c:250 src/msgcomm.c:409
-#: src/msgconv.c:342 src/msgen.c:336 src/msgexec.c:288 src/msgfilter.c:450
-#: src/msgfmt.c:878 src/msggrep.c:585 src/msginit.c:392 src/msgmerge.c:573
-#: src/msguniq.c:369
+#: src/msgattrib.c:492 src/msgcat.c:419 src/msgcmp.c:251 src/msgcomm.c:410
+#: src/msgconv.c:343 src/msgen.c:337 src/msgexec.c:300 src/msgfilter.c:463
+#: src/msgfmt.c:1040 src/msggrep.c:586 src/msginit.c:392 src/msgmerge.c:574
+#: src/msguniq.c:370
#, c-format
msgid "Input file syntax:\n"
msgstr "輸入檔格å¼ï¼š\n"
-#: src/msgattrib.c:493 src/msgconv.c:344 src/msgen.c:338 src/msgexec.c:290
-#: src/msgfilter.c:452 src/msggrep.c:587 src/msginit.c:394 src/msguniq.c:371
+#: src/msgattrib.c:494 src/msgconv.c:345 src/msgen.c:339 src/msgexec.c:302
+#: src/msgfilter.c:465 src/msggrep.c:588 src/msginit.c:394 src/msguniq.c:372
#, c-format
msgid ""
" -P, --properties-input input file is in Java .properties syntax\n"
msgstr " -P, --properties-input 以 Java .properties æ ¼å¼è™•ç†è¼¸å…¥æª”\n"
-#: src/msgattrib.c:495 src/msgconv.c:346 src/msgen.c:340 src/msgexec.c:292
-#: src/msgfilter.c:454 src/msggrep.c:589 src/msginit.c:396 src/msguniq.c:373
+#: src/msgattrib.c:496 src/msgconv.c:347 src/msgen.c:341 src/msgexec.c:304
+#: src/msgfilter.c:467 src/msggrep.c:590 src/msginit.c:396 src/msguniq.c:374
#, c-format
msgid ""
" --stringtable-input input file is in NeXTstep/GNUstep .strings "
@@ -1110,17 +1266,17 @@ msgid ""
msgstr ""
" --stringtable-input 以 NeXTstep/GNUstep .strings æ ¼å¼è™•ç†è¼¸å…¥æª”\n"
-#: src/msgattrib.c:498 src/msgcat.c:426 src/msgcomm.c:417 src/msgconv.c:349
-#: src/msgen.c:343 src/msgfilter.c:457 src/msgfmt.c:906 src/msggrep.c:592
-#: src/msginit.c:399 src/msgmerge.c:581 src/msgunfmt.c:497 src/msguniq.c:376
-#: src/xgettext.c:969
+#: src/msgattrib.c:499 src/msgcat.c:427 src/msgcomm.c:418 src/msgconv.c:350
+#: src/msgen.c:344 src/msgfilter.c:470 src/msgfmt.c:1068 src/msggrep.c:593
+#: src/msginit.c:399 src/msgmerge.c:582 src/msgunfmt.c:498 src/msguniq.c:377
+#: src/xgettext.c:1170
#, c-format
msgid "Output details:\n"
msgstr "輸出內容細節:\n"
-#: src/msgattrib.c:500 src/msgcat.c:435 src/msgcomm.c:419 src/msgconv.c:351
-#: src/msgen.c:347 src/msgfilter.c:459 src/msggrep.c:594 src/msginit.c:405
-#: src/msgmerge.c:585 src/msgunfmt.c:499 src/msguniq.c:383 src/xgettext.c:971
+#: src/msgattrib.c:501 src/msgcat.c:436 src/msgcomm.c:420 src/msgconv.c:352
+#: src/msgen.c:348 src/msgfilter.c:472 src/msggrep.c:595 src/msginit.c:405
+#: src/msgmerge.c:586 src/msgunfmt.c:500 src/msguniq.c:384 src/xgettext.c:1172
#, c-format
msgid ""
" --color use colors and other text attributes always\n"
@@ -1129,16 +1285,16 @@ msgid ""
"'html'.\n"
msgstr ""
-#: src/msgattrib.c:504 src/msgcat.c:439 src/msgcomm.c:423 src/msgconv.c:355
-#: src/msgen.c:351 src/msgfilter.c:463 src/msggrep.c:598 src/msginit.c:409
-#: src/msgmerge.c:589 src/msgunfmt.c:503 src/msguniq.c:387 src/xgettext.c:975
+#: src/msgattrib.c:505 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:356
+#: src/msgen.c:352 src/msgfilter.c:476 src/msggrep.c:599 src/msginit.c:409
+#: src/msgmerge.c:590 src/msgunfmt.c:504 src/msguniq.c:388 src/xgettext.c:1176
#, c-format
msgid " --style=STYLEFILE specify CSS style rule file for --color\n"
msgstr ""
-#: src/msgattrib.c:506 src/msgcat.c:441 src/msgcomm.c:425 src/msgconv.c:357
-#: src/msgen.c:353 src/msgmerge.c:591 src/msgunfmt.c:505 src/msguniq.c:389
-#: src/xgettext.c:977
+#: src/msgattrib.c:507 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:358
+#: src/msgen.c:354 src/msgmerge.c:592 src/msgunfmt.c:506 src/msguniq.c:390
+#: src/xgettext.c:1178
#, c-format
msgid ""
" -e, --no-escape do not use C escapes in output (default)\n"
@@ -1146,9 +1302,9 @@ msgstr ""
" -e, --no-escape 輸出çµæžœä¸ä½¿ç”¨ C 轉義控制åºåˆ—\n"
" (escape sequence),這是é è¨­é‹ä½œæ–¹å¼\n"
-#: src/msgattrib.c:508 src/msgcat.c:443 src/msgcomm.c:427 src/msgconv.c:359
-#: src/msgen.c:355 src/msgfilter.c:467 src/msgmerge.c:593 src/msgunfmt.c:507
-#: src/msguniq.c:391 src/xgettext.c:979
+#: src/msgattrib.c:509 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:360
+#: src/msgen.c:356 src/msgfilter.c:480 src/msgmerge.c:594 src/msgunfmt.c:508
+#: src/msguniq.c:392 src/xgettext.c:1180
#, c-format
msgid ""
" -E, --escape use C escapes in output, no extended chars\n"
@@ -1157,66 +1313,66 @@ msgstr ""
"sequence)\n"
" ,而ä¸ä½¿ç”¨éž ASCII å­—å…ƒ\n"
-#: src/msgattrib.c:510 src/msgcat.c:445 src/msgcomm.c:429 src/msgconv.c:361
-#: src/msgen.c:357 src/msgfilter.c:469 src/msggrep.c:604 src/msgmerge.c:595
-#: src/msgunfmt.c:509 src/msguniq.c:393 src/xgettext.c:981
+#: src/msgattrib.c:511 src/msgcat.c:446 src/msgcomm.c:430 src/msgconv.c:362
+#: src/msgen.c:358 src/msgfilter.c:482 src/msggrep.c:605 src/msgmerge.c:596
+#: src/msgunfmt.c:510 src/msguniq.c:394 src/xgettext.c:1182
#, c-format
msgid " --force-po write PO file even if empty\n"
msgstr " --force-po 就算沒有內容ä»ç”¢ç”Ÿ PO 檔\n"
-#: src/msgattrib.c:512 src/msgcat.c:447 src/msgcomm.c:431 src/msguniq.c:395
-#: src/xgettext.c:983
+#: src/msgattrib.c:513 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:1184
#, c-format
msgid " -i, --indent write the .po file using indented style\n"
msgstr " -i, --indent 寫入的 .po 檔內容會進行縮排\n"
-#: src/msgattrib.c:514 src/msgcat.c:449 src/msgcomm.c:433 src/msguniq.c:397
-#: src/xgettext.c:985
+#: src/msgattrib.c:515 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:1186
#, c-format
msgid " --no-location do not write '#: filename:line' lines\n"
msgstr " --no-location ä¸åŠ å…¥é¡žä¼¼ '#: 檔案:行號' çš„æºä»£ç¢¼ä½ç½®\n"
-#: src/msgattrib.c:516 src/msgcat.c:451 src/msgcomm.c:435 src/msguniq.c:399
-#: src/xgettext.c:987
+#: src/msgattrib.c:517 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:1188
#, c-format
msgid ""
" -n, --add-location generate '#: filename:line' lines (default)\n"
msgstr ""
" -n, --add-location 會加入 '#: 檔案:行號' æ ¼å¼çš„æºä»£ç¢¼ä½ç½® (é è¨­)\n"
-#: src/msgattrib.c:518 src/msgcat.c:453 src/msgcomm.c:437 src/msguniq.c:401
-#: src/xgettext.c:989
+#: src/msgattrib.c:519 src/msgcat.c:454 src/msgcomm.c:438 src/msguniq.c:402
+#: src/xgettext.c:1190
#, c-format
msgid ""
" --strict write out strict Uniforum conforming .po file\n"
msgstr ""
" --strict 產生的 .po 檔內容跟隨嚴格的 Uniforum æ ¼å¼\n"
-#: src/msgattrib.c:520 src/msgcat.c:455 src/msgcomm.c:439 src/msgconv.c:371
-#: src/msgen.c:367 src/msgfilter.c:481 src/msggrep.c:614 src/msginit.c:411
-#: src/msgmerge.c:605 src/msgunfmt.c:515 src/msguniq.c:403
+#: src/msgattrib.c:521 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:372
+#: src/msgen.c:368 src/msgfilter.c:494 src/msggrep.c:615 src/msginit.c:411
+#: src/msgmerge.c:606 src/msgunfmt.c:516 src/msguniq.c:404
#, c-format
msgid " -p, --properties-output write out a Java .properties file\n"
msgstr " -p, --properties-output 產生 Java .properties 檔案\n"
-#: src/msgattrib.c:522 src/msgcat.c:457 src/msgcomm.c:441 src/msgconv.c:373
-#: src/msgen.c:369 src/msgfilter.c:483 src/msggrep.c:616 src/msginit.c:413
-#: src/msgmerge.c:607 src/msgunfmt.c:517 src/msguniq.c:405 src/xgettext.c:993
+#: src/msgattrib.c:523 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:374
+#: src/msgen.c:370 src/msgfilter.c:496 src/msggrep.c:617 src/msginit.c:413
+#: src/msgmerge.c:608 src/msgunfmt.c:518 src/msguniq.c:406 src/xgettext.c:1194
#, c-format
msgid ""
" --stringtable-output write out a NeXTstep/GNUstep .strings file\n"
msgstr " --stringtable-output 產生 NeXTstep/GNUstep .strings 檔案\n"
-#: src/msgattrib.c:524 src/msgcat.c:459 src/msgcomm.c:443 src/msgconv.c:375
-#: src/msgen.c:371 src/msgfilter.c:485 src/msggrep.c:618 src/msginit.c:415
-#: src/msgmerge.c:609 src/msgunfmt.c:519 src/msguniq.c:407 src/xgettext.c:995
+#: src/msgattrib.c:525 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:376
+#: src/msgen.c:372 src/msgfilter.c:498 src/msggrep.c:619 src/msginit.c:415
+#: src/msgmerge.c:610 src/msgunfmt.c:520 src/msguniq.c:408 src/xgettext.c:1200
#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr " -w, --width=NUMBER 指定輸出檔æ¯è¡Œå¯¬åº¦\n"
-#: src/msgattrib.c:526 src/msgcat.c:461 src/msgcomm.c:445 src/msgconv.c:377
-#: src/msgen.c:373 src/msgfilter.c:487 src/msggrep.c:620 src/msginit.c:417
-#: src/msgmerge.c:611 src/msgunfmt.c:521 src/msguniq.c:409 src/xgettext.c:997
+#: src/msgattrib.c:527 src/msgcat.c:462 src/msgcomm.c:446 src/msgconv.c:378
+#: src/msgen.c:374 src/msgfilter.c:500 src/msggrep.c:621 src/msginit.c:417
+#: src/msgmerge.c:612 src/msgunfmt.c:522 src/msguniq.c:410 src/xgettext.c:1202
#, c-format
msgid ""
" --no-wrap do not break long message lines, longer than\n"
@@ -1224,31 +1380,31 @@ msgid ""
msgstr ""
" --no-wrap å³ä½¿è¼¸å‡ºçš„訊æ¯è¶…出é å¯¬ï¼Œä¹Ÿä¸å°‡è¼¸å‡ºçš„訊æ¯æ–·è¡Œ\n"
-#: src/msgattrib.c:529 src/msgcat.c:464 src/msgcomm.c:448 src/msgconv.c:380
-#: src/msgen.c:376 src/msgfilter.c:490 src/msgmerge.c:614 src/msgunfmt.c:524
-#: src/msguniq.c:412 src/xgettext.c:1000
+#: src/msgattrib.c:530 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:381
+#: src/msgen.c:377 src/msgfilter.c:503 src/msgmerge.c:615 src/msgunfmt.c:525
+#: src/msguniq.c:413 src/xgettext.c:1205
#, c-format
msgid " -s, --sort-output generate sorted output\n"
msgstr " -s, --sort-output 將輸出çµæžœæŽ’åº\n"
-#: src/msgattrib.c:531 src/msgcat.c:466 src/msgcomm.c:450 src/msgconv.c:382
-#: src/msgen.c:378 src/msgfilter.c:492 src/msgmerge.c:616 src/msguniq.c:414
-#: src/xgettext.c:1002
+#: src/msgattrib.c:532 src/msgcat.c:467 src/msgcomm.c:451 src/msgconv.c:383
+#: src/msgen.c:379 src/msgfilter.c:505 src/msgmerge.c:617 src/msguniq.c:415
+#: src/xgettext.c:1207
#, c-format
msgid " -F, --sort-by-file sort output by file location\n"
msgstr " -F, --sort-by-file 根據檔案ä½ç½®æŽ’列輸出çµæžœ\n"
-#: src/msgcat.c:322 src/msgcomm.c:327
+#: src/msgcat.c:323 src/msgcomm.c:328
#, c-format
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr "ä¸å¯èƒ½å‡ºç¾çš„é¸æ“‡æ¢ä»¶ (%d < n <%d)"
-#: src/msgcat.c:367 src/msgcomm.c:359 src/xgettext.c:855
+#: src/msgcat.c:368 src/msgcomm.c:360 src/xgettext.c:1048
#, c-format
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr "用法:%s [é¸é …] [輸入檔]...\n"
-#: src/msgcat.c:372
+#: src/msgcat.c:373
#, fuzzy, c-format, no-wrap
msgid ""
"Concatenates and merges the specified PO files.\n"
@@ -1269,23 +1425,23 @@ msgstr ""
"--use-first é¸é …,那樣則會由第一個å«æœ‰è©²ç¿»è­¯æ¢ç›®çš„檔案å–得資料。\n"
"所有 PO 檔中的翻譯æ¢ç›®çš„檔案ä½ç½®éƒ½æœƒç´¯ç©ä¸‹ä¾†ã€‚\n"
-#: src/msgcat.c:389 src/msgcomm.c:380 src/xgettext.c:871
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:1064
#, c-format
msgid " INPUTFILE ... input files\n"
msgstr " INPUTFILE ... 輸入檔\n"
-#: src/msgcat.c:391 src/msgcomm.c:382 src/xgettext.c:873
+#: src/msgcat.c:392 src/msgcomm.c:383 src/xgettext.c:1066
#, c-format
msgid " -f, --files-from=FILE get list of input files from FILE\n"
msgstr " -f, --files-from=FILE ç”± FILE 讀å–所有輸入檔的ä½ç½®\n"
-#: src/msgcat.c:395 src/msgcomm.c:386 src/msgen.c:325 src/msgfmt.c:794
-#: src/xgettext.c:877
+#: src/msgcat.c:396 src/msgcomm.c:387 src/msgen.c:326 src/msgfmt.c:938
+#: src/xgettext.c:1070
#, c-format
msgid "If input file is -, standard input is read.\n"
msgstr "如果輸入檔是 - 的話,會由標準輸入讀å–資料。\n"
-#: src/msgcat.c:408 src/msgcomm.c:399
+#: src/msgcat.c:409 src/msgcomm.c:400
#, c-format
msgid ""
" -<, --less-than=NUMBER print messages with less than this many\n"
@@ -1294,7 +1450,7 @@ msgstr ""
" -<, --less-than=NUMBER 當一項æ¢ç›®çš„ä¸åŒç¿»è­¯å°‘於多少種就會顯示,\n"
" é è¨­ç‚ºç„¡é™ (å³é¡¯ç¤ºæ‰€æœ‰æ¢ç›®)\n"
-#: src/msgcat.c:411
+#: src/msgcat.c:412
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1303,7 +1459,7 @@ msgstr ""
" ->, --more-than=NUMBER 當一項æ¢ç›®çš„ä¸åŒç¿»è­¯å¤šæ–¼å¤šå°‘種æ‰æœƒé¡¯ç¤ºï¼Œ\n"
" é è¨­ç‚º 0 種 (å³é¡¯ç¤ºæ‰€æœ‰æ¢ç›®)\n"
-#: src/msgcat.c:414 src/msgcomm.c:405
+#: src/msgcat.c:415 src/msgcomm.c:406
#, c-format
msgid ""
" -u, --unique shorthand for --less-than=2, requests\n"
@@ -1312,15 +1468,15 @@ msgstr ""
" -u, --unique 等於 --less-than=2,表示åªé¡¯ç¤º\n"
" åªæœ‰ä¸€ç¨®ç¿»è­¯çš„å­—å¥\n"
-#: src/msgcat.c:420 src/msgcmp.c:252 src/msgcomm.c:411 src/msgfmt.c:880
-#: src/msgmerge.c:575
+#: src/msgcat.c:421 src/msgcmp.c:253 src/msgcomm.c:412 src/msgfmt.c:1042
+#: src/msgmerge.c:576
#, c-format
msgid ""
" -P, --properties-input input files are in Java .properties syntax\n"
msgstr " -P, --properties-input 輸入檔格å¼ç‚º Java .properties æ ¼å¼\n"
-#: src/msgcat.c:422 src/msgcmp.c:254 src/msgcomm.c:413 src/msgfmt.c:882
-#: src/msgmerge.c:577
+#: src/msgcat.c:423 src/msgcmp.c:255 src/msgcomm.c:414 src/msgfmt.c:1044
+#: src/msgmerge.c:578
#, c-format
msgid ""
" --stringtable-input input files are in NeXTstep/GNUstep .strings\n"
@@ -1328,12 +1484,12 @@ msgid ""
msgstr ""
" --stringtable-input 輸入檔格å¼ç‚º NeXTstep/GNUstep .strings æ ¼å¼\n"
-#: src/msgcat.c:428 src/msgconv.c:337 src/msguniq.c:378
+#: src/msgcat.c:429 src/msgconv.c:338 src/msguniq.c:379
#, c-format
msgid " -t, --to-code=NAME encoding for output\n"
msgstr " -t, --to-code=å稱 輸出的編碼\n"
-#: src/msgcat.c:430 src/msguniq.c:380
+#: src/msgcat.c:431 src/msguniq.c:381
#, c-format
msgid ""
" --use-first use first available translation for each\n"
@@ -1342,33 +1498,33 @@ msgstr ""
" --use-first æ¯å¥åªä½¿ç”¨ç¬¬ä¸€å€‹å‡ºç¾çš„翻譯,而ä¸æœƒå°‡æ‰€æœ‰\n"
" 翻譯åˆä½µèµ·ä¾†\n"
-#: src/msgcat.c:433 src/msgen.c:345 src/msgmerge.c:583
+#: src/msgcat.c:434 src/msgen.c:346 src/msgmerge.c:584
#, c-format
msgid ""
" --lang=CATALOGNAME set 'Language' field in the header entry\n"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgcmp.c:178 src/msgcomm.c:291 src/msgmerge.c:362
+#: src/msgcmp.c:179 src/msgcomm.c:292 src/msgmerge.c:363
msgid "Peter Miller"
msgstr ""
-#: src/msgcmp.c:189 src/msgmerge.c:373
+#: src/msgcmp.c:190 src/msgmerge.c:374
#, c-format
msgid "no input files given"
msgstr "未指定輸入檔"
-#: src/msgcmp.c:194 src/msgmerge.c:378
+#: src/msgcmp.c:195 src/msgmerge.c:379
#, c-format
msgid "exactly 2 input files required"
msgstr "需è¦æ°å¥½æŒ‡å®šå…©å€‹è¼¸å…¥æª”"
-#: src/msgcmp.c:213 src/msgmerge.c:498
+#: src/msgcmp.c:214 src/msgmerge.c:499
#, c-format
msgid "Usage: %s [OPTION] def.po ref.pot\n"
msgstr "用法:%s [é¸é …] def.po ref.pot\n"
-#: src/msgcmp.c:218
+#: src/msgcmp.c:219
#, c-format, no-wrap
msgid ""
"Compare two Uniforum style .po files to check that both contain the same\n"
@@ -1384,22 +1540,22 @@ msgstr ""
"此程å¼å¯ç”¨ä¾†æª¢æŸ¥ç¨‹å¼ä¸­çš„所有的訊æ¯æ˜¯å¦éƒ½å·²ç¶“翻譯好了。比較時如果\n"
"有ä¸å®Œå…¨é…åˆçš„字串出ç¾ï¼Œç¨‹å¼æœƒä»¥æ¨¡ç³Šé…å°çš„æ–¹å¼å¾—出較好的çµæžœã€‚\n"
-#: src/msgcmp.c:232
+#: src/msgcmp.c:233
#, c-format
msgid " def.po translations\n"
msgstr " def.po 翻譯檔\n"
-#: src/msgcmp.c:234
+#: src/msgcmp.c:235
#, c-format
msgid " ref.pot references to the sources\n"
msgstr " ref.pot 未翻譯檔案\n"
-#: src/msgcmp.c:239 src/msgmerge.c:564
+#: src/msgcmp.c:240 src/msgmerge.c:565
#, c-format
msgid "Operation modifiers:\n"
msgstr "é‹ä½œæ¨¡å¼æœ‰é—œé¸é …:\n"
-#: src/msgcmp.c:241 src/msgmerge.c:566
+#: src/msgcmp.c:242 src/msgmerge.c:567
#, c-format
msgid ""
" -m, --multi-domain apply ref.pot to each of the domains in def."
@@ -1407,63 +1563,63 @@ msgid ""
msgstr ""
" -m, --multi-domain å°‡ ref.pot 套用於 def.po 中的æ¯ä¸€å€‹é ˜åŸŸ\n"
-#: src/msgcmp.c:243 src/msgmerge.c:568
+#: src/msgcmp.c:244 src/msgmerge.c:569
#, c-format
msgid " -N, --no-fuzzy-matching do not use fuzzy matching\n"
msgstr " -N, --no-fuzzy-matching ä¸é€²è¡Œæ¨¡ç³Šå­—串é…å°\n"
-#: src/msgcmp.c:245
+#: src/msgcmp.c:246
#, fuzzy, c-format
msgid " --use-fuzzy consider fuzzy entries\n"
msgstr " -f, --use-fuzzy 在輸出çµæžœä¸­é¡¯ç¤ºæ¨¡ç³Šç¿»è­¯\n"
-#: src/msgcmp.c:247
+#: src/msgcmp.c:248
#, fuzzy, c-format
msgid " --use-untranslated consider untranslated entries\n"
msgstr " --untranslated åªä¿ç•™æœªç¿»è­¯æ¢ç›®ï¼Œåˆªé™¤å·²ç¿»è­¯æ¢ç›®\n"
-#: src/msgcmp.c:324
+#: src/msgcmp.c:325
#, fuzzy, c-format
msgid "this message is untranslated"
msgstr "警告:沒有使用這個訊æ¯"
-#: src/msgcmp.c:330
+#: src/msgcmp.c:331
#, c-format
msgid "this message needs to be reviewed by the translator"
msgstr ""
-#: src/msgcmp.c:369 src/msgmerge.c:1518
+#: src/msgcmp.c:370 src/msgmerge.c:1523
#, c-format
msgid "this message is used but not defined..."
msgstr "這個訊æ¯æœ‰ä½¿ç”¨éŽä½†æ²’有定義..."
-#: src/msgcmp.c:372 src/msgmerge.c:1521
+#: src/msgcmp.c:373 src/msgmerge.c:1526
#, c-format
msgid "...but this definition is similar"
msgstr "...但這個定義很相似"
-#: src/msgcmp.c:377 src/msgmerge.c:1549
+#: src/msgcmp.c:378 src/msgmerge.c:1554
#, c-format
msgid "this message is used but not defined in %s"
msgstr "這個訊æ¯æœ‰ä½¿ç”¨éŽä½†åœ¨ %s 中沒有定義"
-#: src/msgcmp.c:546
+#: src/msgcmp.c:547
#, c-format
msgid "warning: this message is not used"
msgstr "警告:沒有使用這個訊æ¯"
-#: src/msgcmp.c:553 src/msgfmt.c:652 src/msgfmt.c:1443
+#: src/msgcmp.c:554 src/msgfmt.c:787 src/msgfmt.c:1633 src/xgettext.c:1021
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] "找到 %d 個嚴é‡éŒ¯èª¤"
-#: src/msgcomm.c:316
+#: src/msgcomm.c:317
#, c-format
msgid "at least two files must be specified"
msgstr "必須指定至少兩個檔案"
-#: src/msgcomm.c:364
+#: src/msgcomm.c:365
#, fuzzy, c-format, no-wrap
msgid ""
"Find messages which are common to two or more of the specified PO files.\n"
@@ -1481,7 +1637,7 @@ msgstr ""
"訊æ¯ï¼‰ã€‚翻譯內容ã€è‡ªè¡ŒåŠ ä¸Šçš„註解和原程å¼ç¢¼çš„註解都會ä¿ç•™ï¼Œä½†åªæœƒç”±ç¬¬ä¸€å€‹\n"
"å«æœ‰è©²ç¿»è­¯æ¢ç›®çš„檔案å–得。所有 PO 檔中的翻譯æ¢ç›®çš„檔案ä½ç½®éƒ½æœƒç´¯ç©ä¸‹ä¾†ã€‚\n"
-#: src/msgcomm.c:402
+#: src/msgcomm.c:403
#, c-format
msgid ""
" ->, --more-than=NUMBER print messages with more than this many\n"
@@ -1489,67 +1645,67 @@ msgid ""
msgstr ""
" ->, --more-than=NUMBER 顯示出ç¾å¤šæ–¼æŒ‡å®šæ¬¡æ•¸çš„å­—å¥ï¼Œé è¨­ç‚º 1 次\n"
-#: src/msgcomm.c:452 src/xgettext.c:1004
+#: src/msgcomm.c:453 src/xgettext.c:1209
#, fuzzy, c-format
msgid ""
" --omit-header don't write header with 'msgid \"\"' entry\n"
msgstr " --omit-header ä¸é¡¯ç¤ºæ¨™é ­ (å³ â€˜msgid \"\"’ é …ç›®)\n"
-#: src/msgconv.c:311
+#: src/msgconv.c:312
#, c-format
msgid "Converts a translation catalog to a different character encoding.\n"
msgstr "將一個翻譯檔的編碼轉æ›ç‚ºå¦ä¸€ç¨®æ–‡å­—編碼。\n"
-#: src/msgconv.c:335
+#: src/msgconv.c:336
#, c-format
msgid "Conversion target:\n"
msgstr "轉æ›ç›®æ¨™ï¼š\n"
-#: src/msgconv.c:339
+#: src/msgconv.c:340
#, c-format
msgid "The default encoding is the current locale's encoding.\n"
msgstr "é è¨­çš„編碼為目å‰èªžè¨€çš„編碼。\n"
-#: src/msgconv.c:363 src/msgen.c:359 src/msgmerge.c:597
+#: src/msgconv.c:364 src/msgen.c:360 src/msgmerge.c:598
#, c-format
msgid " -i, --indent indented output style\n"
msgstr " -i, --indent 將輸出çµæžœé€²è¡Œç¸®æŽ’\n"
-#: src/msgconv.c:365 src/msgen.c:361 src/msgfilter.c:475 src/msggrep.c:608
-#: src/msgmerge.c:599
+#: src/msgconv.c:366 src/msgen.c:362 src/msgfilter.c:488 src/msggrep.c:609
+#: src/msgmerge.c:600
#, c-format
msgid " --no-location suppress '#: filename:line' lines\n"
msgstr " --no-location ä¸è¼¸å‡ºæºä»£ç¢¼ä½ç½®\n"
-#: src/msgconv.c:367 src/msgen.c:363 src/msgfilter.c:477 src/msggrep.c:610
-#: src/msgmerge.c:601
+#: src/msgconv.c:368 src/msgen.c:364 src/msgfilter.c:490 src/msggrep.c:611
+#: src/msgmerge.c:602
#, fuzzy, c-format
msgid ""
" -n, --add-location preserve '#: filename:line' lines (default)\n"
msgstr " --add-location ä¿ç•™æºä»£ç¢¼ä½ç½® (é è¨­)\n"
-#: src/msgconv.c:369 src/msgen.c:365 src/msgfilter.c:479 src/msggrep.c:612
-#: src/msgmerge.c:603
+#: src/msgconv.c:370 src/msgen.c:366 src/msgfilter.c:492 src/msggrep.c:613
+#: src/msgmerge.c:604
#, c-format
msgid " --strict strict Uniforum output style\n"
msgstr " --strict åš´æ ¼éµå¾ž Uniforum æ ¼å¼\n"
-#: src/msgen.c:258 src/msgfmt.c:433 src/xgettext.c:661
+#: src/msgen.c:259 src/msgfmt.c:463 src/xgettext.c:724
#, c-format
msgid "no input file given"
msgstr "未指定輸入檔"
-#: src/msgen.c:263
+#: src/msgen.c:264
#, c-format
msgid "exactly one input file required"
msgstr "需è¦æ°å¥½æŒ‡å®šä¸€å€‹è¼¸å…¥æª”"
-#: src/msgen.c:304
+#: src/msgen.c:305
#, c-format
msgid "Usage: %s [OPTION] INPUTFILE\n"
msgstr "用法:%s [é¸é …] 輸入檔\n"
-#: src/msgen.c:309
+#: src/msgen.c:310
#, c-format, no-wrap
msgid ""
"Creates an English translation catalog. The input file is the last\n"
@@ -1560,22 +1716,22 @@ msgstr ""
"產生英文翻譯檔。輸入檔å¯ä»¥æ˜¯ PO 檔或 POT 檔 (通常由 xgettext 產生)。\n"
"未翻譯的æ¢ç›®æœƒå¡«ä¸Šå’Œ msgid 一樣的字串。\n"
-#: src/msgen.c:321
+#: src/msgen.c:322
#, c-format
msgid " INPUTFILE input PO or POT file\n"
msgstr " 輸入檔 作為輸入的 PO 或 POT 檔\n"
-#: src/msgexec.c:196
+#: src/msgexec.c:203
#, c-format
msgid "missing command name"
msgstr "缺少了指令å稱"
-#: src/msgexec.c:257
+#: src/msgexec.c:264
#, c-format
msgid "Usage: %s [OPTION] COMMAND [COMMAND-OPTION]\n"
msgstr "用法:%s [é¸é …] 指令 [指令é¸é …]\n"
-#: src/msgexec.c:262
+#: src/msgexec.c:269
#, c-format, no-wrap
msgid ""
"Applies a command to all translations of a translation catalog.\n"
@@ -1590,7 +1746,7 @@ msgstr ""
"å³æ˜¯ msgexec 的輸出çµæžœã€‚msgexec 的回傳值是所有\n"
"指令執行的回傳值的最大值。\n"
-#: src/msgexec.c:271
+#: src/msgexec.c:278
#, c-format, no-wrap
msgid ""
"A special builtin command called '0' outputs the translation, followed by a\n"
@@ -1599,37 +1755,47 @@ msgstr ""
"有一個稱為 '0' 的特殊內置指令,它會輸出所有翻譯æ¢ç›®ï¼Œä¸¦éš¨å¾ŒåŠ ä¸Š null ä½å…ƒã€‚\n"
"“msgexec 0†的輸出é©ç”¨æ–¼ä½œç‚º “xargs -0†的輸入。\n"
-#: src/msgexec.c:281 src/msgfilter.c:420
+#: src/msgexec.c:283
+#, fuzzy, c-format
+msgid "Command input:\n"
+msgstr "標準輸入"
+
+#: src/msgexec.c:285
+#, fuzzy, c-format
+msgid " --newline add newline at the end of input\n"
+msgstr " -h, --help 顯示本訊æ¯ï¼Œç„¶å¾ŒçµæŸ\n"
+
+#: src/msgexec.c:293 src/msgfilter.c:427
#, c-format
msgid " -i, --input=INPUTFILE input PO file\n"
msgstr " -i, --input=INPUTFILE 作為輸入的 PO 檔\n"
-#: src/msgexec.c:345
+#: src/msgexec.c:357
#, c-format
msgid "write to stdout failed"
msgstr "寫入至標準輸出時發生錯誤"
-#: src/msgfilter.c:298
+#: src/msgfilter.c:305
#, c-format
msgid "missing filter name"
msgstr "未指定éŽæ¿¾å™¨"
-#: src/msgfilter.c:318
+#: src/msgfilter.c:325
#, c-format
msgid "at least one sed script must be specified"
msgstr "必須指定至少一個 sed script"
-#: src/msgfilter.c:407
+#: src/msgfilter.c:414
#, c-format
msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
msgstr "用法:%s [é¸é …] éŽæ¿¾å™¨ [éŽæ¿¾å™¨é¸é …]\n"
-#: src/msgfilter.c:411
+#: src/msgfilter.c:418
#, c-format
msgid "Applies a filter to all translations of a translation catalog.\n"
msgstr "å°æ–¼ç¿»è­¯æª”中的所有翻譯æ¢ç›®é€²è¡ŒéŽæ¿¾ã€‚\n"
-#: src/msgfilter.c:435
+#: src/msgfilter.c:442
#, c-format
msgid ""
"The FILTER can be any program that reads a translation from standard input\n"
@@ -1638,18 +1804,30 @@ msgstr ""
"<éŽæ¿¾å™¨>å¯ä»¥æ˜¯ä»»ä½•ç”±æ¨™æº–輸入讀入翻譯æ¢ç›®\n"
"並將修改後的翻譯寫進標準輸出的程å¼ã€‚\n"
-#: src/msgfilter.c:440
+#: src/msgfilter.c:447
+#, c-format
+msgid "Filter input and output:\n"
+msgstr ""
+
+#: src/msgfilter.c:449
+#, c-format
+msgid ""
+" --newline add a newline at the end of input and\n"
+" remove a newline from the end of output"
+msgstr ""
+
+#: src/msgfilter.c:453
#, c-format
msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
msgstr "當<éŽæ¿¾å™¨>是 ‘sed’ 時一些比較有用的é¸é …:\n"
-#: src/msgfilter.c:442
+#: src/msgfilter.c:455
#, c-format
msgid ""
" -e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"
msgstr ""
-#: src/msgfilter.c:444
+#: src/msgfilter.c:457
#, c-format
msgid ""
" -f, --file=SCRIPTFILE add the contents of SCRIPTFILE to the "
@@ -1657,13 +1835,13 @@ msgid ""
" to be executed\n"
msgstr ""
-#: src/msgfilter.c:447
+#: src/msgfilter.c:460
#, c-format
msgid ""
" -n, --quiet, --silent suppress automatic printing of pattern space\n"
msgstr " -n, --quiet, --silent ä¸æœƒè‡ªå‹•é¡¯ç¤ºéŽæ¿¾å¾Œçš„çµæžœ\n"
-#: src/msgfilter.c:465 src/msggrep.c:600
+#: src/msgfilter.c:478 src/msggrep.c:601
#, c-format
msgid ""
" --no-escape do not use C escapes in output (default)\n"
@@ -1671,127 +1849,130 @@ msgstr ""
" --no-escape 輸出çµæžœä¸ä½¿ç”¨ C 轉義控制åºåˆ—\n"
" (escape sequence),這是é è¨­é‹ä½œæ–¹å¼\n"
-#: src/msgfilter.c:471 src/msggrep.c:606
+#: src/msgfilter.c:484 src/msggrep.c:607
#, c-format
msgid " --indent indented output style\n"
msgstr " --indent 將輸出çµæžœé€²è¡Œç¸®æŽ’\n"
-#: src/msgfilter.c:473
+#: src/msgfilter.c:486
#, c-format
msgid ""
" --keep-header keep header entry unmodified, don't filter it\n"
msgstr " --keep-header ä¿è­·æ¨™é ­å…§å®¹ï¼ŒéŽæ¿¾å…§å®¹æ™‚ä¸æœƒè¢«æ›´æ”¹\n"
-#: src/msgfmt.c:345
+#: src/msgfilter.c:666
+#, fuzzy, c-format
+msgid "filter output is not terminated with a newline"
+msgstr "檔案 %s 包å«ä¸¦éžä»¥ NUL 為çµå°¾çš„字串"
+
+#: src/msgfmt.c:372
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr "%s 的引數應該是一個標點符號"
-#: src/msgfmt.c:392
+#: src/msgfmt.c:419
#, c-format
msgid "invalid endianness: %s"
msgstr ""
#. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:422 src/msgunfmt.c:268 src/xgettext.c:621
+#: src/msgfmt.c:450 src/msgunfmt.c:269 src/xgettext.c:684
msgid "Ulrich Drepper"
msgstr ""
-#: src/msgfmt.c:439
+#: src/msgfmt.c:471
#, fuzzy, c-format
msgid "no input file should be given if %s and %s are specified"
msgstr "如果沒有指定輸入檔或輸入檔是 ‘-’,則由標準輸入讀å–內容。\n"
-#: src/msgfmt.c:484 src/msgfmt.c:506 src/msgfmt.c:528 src/msgunfmt.c:330
-#: src/msgunfmt.c:353
+#: src/msgfmt.c:517 src/msgfmt.c:539 src/msgfmt.c:561 src/msgunfmt.c:331
+#: src/msgunfmt.c:354
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr "%s 需è¦æŒ‡å®š “-d 目錄†é¸é …"
-#: src/msgfmt.c:499 src/msgfmt.c:521 src/msgfmt.c:556 src/msgunfmt.c:323
-#: src/msgunfmt.c:346
+#: src/msgfmt.c:532 src/msgfmt.c:554 src/msgfmt.c:589 src/msgfmt.c:617
+#: src/msgunfmt.c:324 src/msgunfmt.c:347
#, c-format
msgid "%s requires a \"-l locale\" specification"
msgstr "%s 需è¦æŒ‡å®š “-l locale†é¸é …"
-#: src/msgfmt.c:538
+#: src/msgfmt.c:571 src/msgfmt.c:599
#, fuzzy, c-format
msgid "%s requires a \"--template template\" specification"
msgstr "%s 需è¦æŒ‡å®š “-l locale†é¸é …"
-#: src/msgfmt.c:545
+#: src/msgfmt.c:578 src/msgfmt.c:606
#, fuzzy, c-format
msgid "%s requires a \"-o file\" specification"
msgstr "%s 需è¦æŒ‡å®š “-l locale†é¸é …"
-#: src/msgfmt.c:551
+#: src/msgfmt.c:584 src/msgfmt.c:612
#, fuzzy, c-format
msgid "%s and %s are mutually exclusive in %s"
msgstr "%s å’Œ %s 兩者是互ä¸ç›¸å®¹çš„"
-#: src/msgfmt.c:565 src/msgunfmt.c:362 src/msgunfmt.c:368
+#: src/msgfmt.c:626 src/msgunfmt.c:363 src/msgunfmt.c:369
#, c-format
msgid "%s is only valid with %s or %s"
msgstr "%s åªèƒ½é…åˆ %s 或 %s 一起使用æ‰æœ‰æ•ˆ"
-#: src/msgfmt.c:571 src/msgfmt.c:577
+#: src/msgfmt.c:632 src/msgfmt.c:638
#, c-format
msgid "%s is only valid with %s, %s or %s"
msgstr "%s åªèƒ½é…åˆ %sã€%s 或 %s 一起使用æ‰æœ‰æ•ˆ"
+#: src/msgfmt.c:723
+#, fuzzy, c-format
+msgid "cannot locate ITS rules for %s"
+msgstr "無法產生輸出檔 “%sâ€"
+
#. TRANSLATORS: The prefix before a statistics message. The argument
#. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:740
+#: src/msgfmt.c:884
#, c-format
msgid "%s: "
msgstr ""
-#: src/msgfmt.c:744
+#: src/msgfmt.c:888
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] "已翻譯 %d 個æ¢ç›®"
-#: src/msgfmt.c:749
+#: src/msgfmt.c:893
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ",有 %d 個æ¢ç›®æ¨™è¨˜ç‚ºæ¨¡ç³Šç¿»è­¯"
-#: src/msgfmt.c:754
+#: src/msgfmt.c:898
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ",還有 %d 個æ¢ç›®æœªç¿»è­¯"
-#: src/msgfmt.c:774
+#: src/msgfmt.c:918
#, c-format
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr "用法:%s [é¸é …] filename.po ...\n"
-#: src/msgfmt.c:778
+#: src/msgfmt.c:922
#, c-format
msgid "Generate binary message catalog from textual translation description.\n"
msgstr "由文字模å¼ç¿»è­¯æª”產生二元碼翻譯檔。\n"
-#: src/msgfmt.c:783 src/xgettext.c:864
-#, c-format, no-wrap
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"Similarly for optional arguments.\n"
-msgstr "é•·é¸é …å¿…è¦çš„引數在使用短é¸é …時也是必è¦çš„。å°æ–¼é¸æ“‡æ€§çš„引數也一樣。\n"
-
-#: src/msgfmt.c:790
+#: src/msgfmt.c:934
#, c-format
msgid " filename.po ... input files\n"
msgstr " filename.po ... 輸入檔\n"
-#: src/msgfmt.c:797 src/msgmerge.c:530 src/msgunfmt.c:438 src/xgettext.c:913
+#: src/msgfmt.c:941 src/msgmerge.c:531 src/msgunfmt.c:439 src/xgettext.c:1106
#, c-format
msgid "Operation mode:\n"
msgstr "æ“作模å¼ï¼š\n"
-#: src/msgfmt.c:799
+#: src/msgfmt.c:943
#, c-format
msgid ""
" -j, --java Java mode: generate a Java ResourceBundle "
@@ -1799,7 +1980,7 @@ msgid ""
msgstr ""
" -j, --java Java 模å¼ï¼šç”¢ç”Ÿ Java ResourceBundle class\n"
-#: src/msgfmt.c:801
+#: src/msgfmt.c:945
#, c-format
msgid ""
" --java2 like --java, and assume Java2 (JDK 1.2 or "
@@ -1808,12 +1989,12 @@ msgstr ""
" --java2 é¡žä¼¼ --java,å‡è¨­æ ¼å¼ç‚º Java2 (JDK 1.2 或以"
"上)\n"
-#: src/msgfmt.c:803
+#: src/msgfmt.c:947
#, c-format
msgid " --csharp C# mode: generate a .NET .dll file\n"
msgstr " --csharp C# 模å¼ï¼Œæœƒç”¢ç”Ÿ .NET .dll 檔\n"
-#: src/msgfmt.c:805
+#: src/msgfmt.c:949
#, c-format
msgid ""
" --csharp-resources C# resources mode: generate a .NET .resources "
@@ -1822,45 +2003,50 @@ msgstr ""
" --csharp-resources C# resources 模å¼ï¼Œæœƒç”¢ç”Ÿ .NET .resources 檔"
"案\n"
-#: src/msgfmt.c:807
+#: src/msgfmt.c:951
#, c-format
msgid ""
" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr " --tcl Tcl 模å¼ï¼šç”¢ç”Ÿ tcl/msgcat .msg 檔\n"
-#: src/msgfmt.c:809
+#: src/msgfmt.c:953
#, c-format
msgid " --qt Qt mode: generate a Qt .qm file\n"
msgstr " --qt Qt 模å¼ï¼šç”¢ç”Ÿ Qt .qm 檔\n"
-#: src/msgfmt.c:811
+#: src/msgfmt.c:955
#, fuzzy, c-format
msgid ""
" --desktop Desktop Entry mode: generate a .desktop file\n"
msgstr " --qt Qt 模å¼ï¼šç”¢ç”Ÿ Qt .qm 檔\n"
-#: src/msgfmt.c:818
+#: src/msgfmt.c:957
+#, fuzzy, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr " --qt Qt 模å¼ï¼šç”¢ç”Ÿ Qt .qm 檔\n"
+
+#: src/msgfmt.c:964
#, c-format
msgid " --strict enable strict Uniforum mode\n"
msgstr " --strict 強制使用 Uniforum æ ¼å¼ç¿»è­¯æª”\n"
-#: src/msgfmt.c:820 src/xgettext.c:888
+#: src/msgfmt.c:966 src/xgettext.c:1081
#, c-format
msgid "If output file is -, output is written to standard output.\n"
msgstr "如果輸出檔是 - 的話,則會在標準輸出顯示çµæžœã€‚\n"
-#: src/msgfmt.c:823
+#: src/msgfmt.c:969
#, c-format
msgid "Output file location in Java mode:\n"
msgstr "Java 模å¼çš„輸出檔ä½ç½®ï¼š\n"
-#: src/msgfmt.c:825 src/msgfmt.c:841 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:971 src/msgfmt.c:987 src/msgunfmt.c:459 src/msgunfmt.c:470
#, c-format
msgid " -r, --resource=RESOURCE resource name\n"
msgstr " -r, --resource=RESOURCE resource å稱\n"
-#: src/msgfmt.c:827 src/msgfmt.c:843 src/msgfmt.c:853 src/msgfmt.c:863
-#: src/msgunfmt.c:460 src/msgunfmt.c:471 src/msgunfmt.c:481
+#: src/msgfmt.c:973 src/msgfmt.c:989 src/msgfmt.c:999 src/msgfmt.c:1009
+#: src/msgfmt.c:1026 src/msgunfmt.c:461 src/msgunfmt.c:472 src/msgunfmt.c:482
#, c-format
msgid ""
" -l, --locale=LOCALE locale name, either language or "
@@ -1869,7 +2055,7 @@ msgstr ""
" -l, --locale=LOCALE 指定語言,å¯ä»¥ç”¨èªžè¨€å稱或者 xy_XY æ ¼å¼çš„\n"
" 語言代號\n"
-#: src/msgfmt.c:829
+#: src/msgfmt.c:975
#, fuzzy, c-format
msgid ""
" --source produce a .java file, instead of a .class "
@@ -1877,13 +2063,13 @@ msgid ""
msgstr ""
" --tcl Tcl 模å¼ï¼šè¼¸å…¥è³‡æ–™æ˜¯ tcl/msgcat .msg 檔\n"
-#: src/msgfmt.c:831
+#: src/msgfmt.c:977
#, c-format
msgid ""
" -d DIRECTORY base directory of classes directory hierarchy\n"
msgstr " -d 目錄 class 目錄層的基本目錄\n"
-#: src/msgfmt.c:833
+#: src/msgfmt.c:979
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -1894,58 +2080,58 @@ msgstr ""
"class å稱是由語言å稱和 resource å稱åˆä½µä¾†æ±ºå®šçš„,兩者之間會用底線分隔。\n"
"-d é¸é …是必須的。class 檔會存放在指定的目錄。\n"
-#: src/msgfmt.c:839
+#: src/msgfmt.c:985
#, c-format
msgid "Output file location in C# mode:\n"
msgstr "C# 模å¼çš„輸出檔ä½ç½®ï¼š\n"
-#: src/msgfmt.c:845 src/msgunfmt.c:473
+#: src/msgfmt.c:991 src/msgunfmt.c:474
#, c-format
msgid ""
" -d DIRECTORY base directory for locale dependent .dll "
"files\n"
msgstr ""
-#: src/msgfmt.c:847
+#: src/msgfmt.c:993
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is written in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgfmt.c:851
+#: src/msgfmt.c:997
#, c-format
msgid "Output file location in Tcl mode:\n"
msgstr "Tcl 模å¼çš„輸出檔ä½ç½®ï¼š\n"
-#: src/msgfmt.c:855 src/msgunfmt.c:483
+#: src/msgfmt.c:1001 src/msgunfmt.c:484
#, c-format
msgid " -d DIRECTORY base directory of .msg message catalogs\n"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:1003
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is written in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgfmt.c:861
+#: src/msgfmt.c:1007
#, c-format
msgid "Desktop Entry mode options:\n"
msgstr ""
-#: src/msgfmt.c:867
+#: src/msgfmt.c:1013
#, c-format
msgid " --template=TEMPLATE a .desktop file used as a template\n"
msgstr ""
-#: src/msgfmt.c:869
+#: src/msgfmt.c:1015 src/msgfmt.c:1034
#, fuzzy, c-format
msgid " -d DIRECTORY base directory of .po files\n"
msgstr " -d 目錄 class 目錄層的基本目錄\n"
-#: src/msgfmt.c:871 src/xgettext.c:934
+#: src/msgfmt.c:1017 src/xgettext.c:1135
#, fuzzy, c-format
msgid ""
" -kWORD, --keyword=WORD look for WORD as an additional keyword\n"
@@ -1954,7 +2140,7 @@ msgstr ""
" -k, --keyword[=WORD] è¦ç•™æ„çš„é¡å¤–é—œéµå­— (如果沒有指定,\n"
" 表示ä¸ä½¿ç”¨é è¨­çš„é—œéµå­—)\n"
-#: src/msgfmt.c:874
+#: src/msgfmt.c:1020 src/msgfmt.c:1036
#, c-format
msgid ""
"The -l, -o, and --template options are mandatory. If -D is specified, "
@@ -1962,12 +2148,27 @@ msgid ""
"files are read from the directory instead of the command line arguments.\n"
msgstr ""
-#: src/msgfmt.c:886 src/xgettext.c:905
+#: src/msgfmt.c:1024
+#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#: src/msgfmt.c:1028
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#: src/msgfmt.c:1032
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#: src/msgfmt.c:1048 src/xgettext.c:1098
#, c-format
msgid "Input file interpretation:\n"
msgstr "輸入檔處ç†ï¼š\n"
-#: src/msgfmt.c:888
+#: src/msgfmt.c:1050
#, c-format
msgid ""
" -c, --check perform all the checks implied by\n"
@@ -1978,19 +2179,19 @@ msgstr ""
" --check-format, --check-header, --check-"
"domain\n"
-#: src/msgfmt.c:891
+#: src/msgfmt.c:1053
#, c-format
msgid " --check-format check language dependent format strings\n"
msgstr " --check-format 檢查å„種程å¼èªžè¨€çš„æ ¼å¼å­—串\n"
-#: src/msgfmt.c:893
+#: src/msgfmt.c:1055
#, c-format
msgid ""
" --check-header verify presence and contents of the header "
"entry\n"
msgstr " --check-header 確ä¿æ¨™é ­æ¬„ä½å­˜åœ¨å’Œå…§å®¹æ­£ç¢º\n"
-#: src/msgfmt.c:895
+#: src/msgfmt.c:1057
#, c-format
msgid ""
" --check-domain check for conflicts between domain directives\n"
@@ -1999,7 +2200,7 @@ msgstr ""
" --check-domain 檢查 domain é—œéµå­—å’Œ --output-file é¸é …之間\n"
" 有沒有è¡çª\n"
-#: src/msgfmt.c:898
+#: src/msgfmt.c:1060
#, c-format
msgid ""
" -C, --check-compatibility check that GNU msgfmt behaves like X/Open "
@@ -2008,7 +2209,7 @@ msgstr ""
" -C, --check-compatibility ç¢ºä¿ GNU msgfmt é‹ä½œçš„æ–¹å¼å’Œ X/Open msgfmt å…¼"
"容\n"
-#: src/msgfmt.c:900
+#: src/msgfmt.c:1062
#, c-format
msgid ""
" --check-accelerators[=CHAR] check presence of keyboard accelerators "
@@ -2016,19 +2217,19 @@ msgid ""
" menu items\n"
msgstr " --check-accelerators[=CHAR] 檢查é¸å–®é …目中代表æ·å¾‘éµçš„å­—å…ƒ\n"
-#: src/msgfmt.c:903
+#: src/msgfmt.c:1065
#, c-format
msgid " -f, --use-fuzzy use fuzzy entries in output\n"
msgstr " -f, --use-fuzzy 在輸出çµæžœä¸­é¡¯ç¤ºæ¨¡ç³Šç¿»è­¯\n"
-#: src/msgfmt.c:908
+#: src/msgfmt.c:1070
#, c-format
msgid ""
" -a, --alignment=NUMBER align strings to NUMBER bytes (default: %d)\n"
msgstr ""
" -a, --alignment=數字 以<數字>個ä½å…ƒçµ„為單ä½é…置字串ä½ç½®(é è¨­ï¼š%d)\n"
-#: src/msgfmt.c:910
+#: src/msgfmt.c:1072
#, c-format
msgid ""
" --endianness=BYTEORDER write out 32-bit numbers in the given byte "
@@ -2037,110 +2238,109 @@ msgid ""
"platform)\n"
msgstr ""
-#: src/msgfmt.c:913
+#: src/msgfmt.c:1075
#, c-format
msgid ""
" --no-hash binary file will not include the hash table\n"
msgstr ""
" --no-hash 二元碼檔ä¸æœƒåŒ…å«é›œæ¹Šè¡¨ (hash table) 在內\n"
-#: src/msgfmt.c:922
+#: src/msgfmt.c:1084
#, c-format
msgid " --statistics print statistics about translations\n"
msgstr " --statistics 顯示有關翻譯訊æ¯çš„統計\n"
-#: src/msgfmt.c:924 src/msgmerge.c:625 src/msgunfmt.c:533
+#: src/msgfmt.c:1086 src/msgmerge.c:626 src/msgunfmt.c:534
#, c-format
msgid " -v, --verbose increase verbosity level\n"
msgstr " -v, --verbose 顯示詳細資訊\n"
-#: src/msgfmt.c:1037
+#: src/msgfmt.c:1199
#, c-format
msgid "warning: PO file header missing or invalid\n"
msgstr "警告:缺少了 PO 檔的標頭或是格å¼ç„¡æ•ˆ\n"
-#: src/msgfmt.c:1040
+#: src/msgfmt.c:1202
#, c-format
msgid "warning: charset conversion will not work\n"
msgstr "警告:字元集轉æ›çš„功能ä¸æœƒç”Ÿæ•ˆ\n"
-#: src/msgfmt.c:1050
+#: src/msgfmt.c:1212
#, c-format
msgid "warning: PO file header fuzzy\n"
msgstr "警告:PO 檔的標頭ä»ç„¶æ˜¯æ¨¡ç³Šç‹€æ…‹\n"
-#: src/msgfmt.c:1052
+#: src/msgfmt.c:1214
#, c-format
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr "警告:較舊版本的 msgfmt é‡åˆ°æ­¤æª”案時會å°å‡ºéŒ¯èª¤è¨Šæ¯\n"
-#: src/msgfmt.c:1076
+#: src/msgfmt.c:1238
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr "領域å稱 %s ä¸é©åˆä½œç‚ºæª”案å稱"
-#: src/msgfmt.c:1081
+#: src/msgfmt.c:1243
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr "領域å稱 %s ä¸é©åˆä½œç‚ºæª”案å稱:將使用字首"
-#: src/msgfmt.c:1095
+#: src/msgfmt.c:1257
#, fuzzy, c-format
msgid "'domain %s' directive ignored"
msgstr "忽略‘domain %s’指令"
-#: src/msgfmt.c:1155
+#: src/msgfmt.c:1317
#, fuzzy, c-format
msgid "empty 'msgstr' entry ignored"
msgstr "忽略空的‘msgstr’欄ä½"
-#: src/msgfmt.c:1156
+#: src/msgfmt.c:1318
#, fuzzy, c-format
msgid "fuzzy 'msgstr' entry ignored"
msgstr "忽略模糊的‘msgstr’欄ä½"
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1367
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr "%s:警告:原始檔包å«æ¨¡ç³Šç¿»è­¯æ¢ç›®"
-#: src/msgfmt.c:1323
+#: src/msgfmt.c:1484
#, c-format
msgid "%s does not exist"
msgstr ""
-#: src/msgfmt.c:1334
+#: src/msgfmt.c:1491
#, c-format
msgid "%s exists but cannot read"
msgstr ""
-#: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:87
-#: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:486 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:565
-#: src/x-java.c:181 src/x-javascript.c:171 src/x-librep.c:147 src/x-lisp.c:212
-#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
-#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
-#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:176
-#: src/x-ycp.c:91
+#: src/msggrep.c:259 src/po-lex.c:657 src/read-desktop.c:127 src/read-mo.c:88
+#: src/read-properties.c:90 src/read-stringtable.c:99 src/x-awk.c:140
+#: src/x-c.c:583 src/x-csharp.c:164 src/x-elisp.c:146 src/x-java.c:181
+#: src/x-javascript.c:172 src/x-librep.c:148 src/x-lisp.c:213 src/x-lua.c:173
+#: src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:164
+#: src/x-python.c:177 src/x-rst.c:234 src/x-scheme.c:171 src/x-sh.c:155
+#: src/x-smalltalk.c:92 src/x-tcl.c:151 src/x-vala.c:176 src/x-ycp.c:92
#, c-format
msgid "error while reading \"%s\""
msgstr "è®€å– %s 時出ç¾éŒ¯èª¤"
-#: src/msggrep.c:501
+#: src/msggrep.c:502
#, fuzzy, c-format
msgid ""
"option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
"specified"
msgstr "未指定 ‘K’ã€â€˜T’ 或 ‘C’ é¸é …å‰ä¸èƒ½ä½¿ç”¨é¸é … ‘%c’"
-#: src/msggrep.c:521
+#: src/msggrep.c:522
#, c-format, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr "抽å–翻譯檔中的訊æ¯ï¼Œè€Œé€™äº›è¨Šæ¯ç¬¦åˆæŸç¨®æ¨£å¼æˆ–屬於æŸå€‹æŒ‡å®šçš„來æºæª”。\n"
-#: src/msggrep.c:547
+#: src/msggrep.c:548
#, fuzzy, c-format, no-wrap
msgid ""
"Message selection:\n"
@@ -2209,7 +2409,7 @@ msgstr ""
" -f, --file=FILE PATTERN 採用 FILE 的內容 \n"
" -i, --ignore-case ä¸å€åˆ†å¤§å°å¯«\n"
-#: src/msggrep.c:602
+#: src/msggrep.c:603
#, c-format
msgid ""
" --escape use C escapes in output, no extended chars\n"
@@ -2218,12 +2418,12 @@ msgstr ""
"sequence)\n"
" ,而ä¸ä½¿ç”¨éž ASCII å­—å…ƒ\n"
-#: src/msggrep.c:623
+#: src/msggrep.c:624
#, c-format
msgid " --sort-output generate sorted output\n"
msgstr " --sort-output 將訊æ¯æŽ’åº\n"
-#: src/msggrep.c:625
+#: src/msggrep.c:626
#, c-format
msgid " --sort-by-file sort output by file location\n"
msgstr " --sort-by-file 根據檔案ä½ç½®æŽ’åº\n"
@@ -2321,14 +2521,14 @@ msgstr ""
"在目å‰ç›®éŒ„中找ä¸åˆ°ä»»ä½• .pot 檔。\n"
"è«‹é€éŽ --input é¸é …指定作為輸入檔的 .pot 檔。\n"
-#: src/msginit.c:919 src/msginit.c:994 src/msginit.c:1154 src/msginit.c:1249
-#: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
-#: src/read-tcl.c:127 src/write-resources.c:104
+#: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
+#: src/msginit.c:1418 src/read-csharp.c:84 src/read-java.c:82
+#: src/read-resources.c:85 src/read-tcl.c:128 src/write-resources.c:105
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr "%s 副行程失敗,錯誤碼為 %d"
-#: src/msginit.c:1119
+#: src/msginit.c:1118
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
@@ -2342,47 +2542,47 @@ msgstr ""
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1535
+#: src/msginit.c:1615
#, c-format
msgid "English translations for %s package"
msgstr "%s 套件的傳統字漢語翻譯"
-#: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
+#: src/msgl-cat.c:178 src/msgl-charset.c:87 src/msgl-iconv.c:248
#, c-format
msgid "present charset \"%s\" is not a portable encoding name"
msgstr "ç›®å‰çš„字元集編碼 %s ä¸æ˜¯é€šç”¨çš„編碼å稱"
-#: src/msgl-cat.c:188 src/msgl-iconv.c:259
+#: src/msgl-cat.c:189 src/msgl-iconv.c:260
#, c-format
msgid "two different charsets \"%s\" and \"%s\" in input file"
msgstr "輸入檔有兩種ä¸åŒçš„字元集編碼 %s å’Œ “%sâ€"
-#: src/msgl-cat.c:203
+#: src/msgl-cat.c:204
#, fuzzy, c-format
msgid ""
"input file '%s' doesn't contain a header entry with a charset specification"
msgstr "輸入檔‘%s’的標頭欄ä½ä¸­æ²’有指定字元集"
-#: src/msgl-cat.c:207
+#: src/msgl-cat.c:208
#, fuzzy, c-format
msgid ""
"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
"charset specification"
msgstr "輸入檔 ‘%2$s’ çš„ domain “%1$s†的標頭欄ä½ä¸­æ²’有指定字元集"
-#: src/msgl-cat.c:391 src/msgl-iconv.c:375
+#: src/msgl-cat.c:394 src/msgl-iconv.c:376
#, c-format
msgid "target charset \"%s\" is not a portable encoding name."
msgstr "目標的字元集編碼 %s ä¸æ˜¯é€šç”¨çš„編碼å稱。"
-#: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
-#: src/xgettext.c:544 src/xgettext.c:3426
+#: src/msgl-cat.c:445 src/msgl-cat.c:451 src/msgl-charset.c:93
+#: src/msgl-charset.c:128 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:578 src/xgettext.c:3739
#, c-format
msgid "warning: "
msgstr "警告:"
-#: src/msgl-cat.c:443
+#: src/msgl-cat.c:446
#, c-format
msgid ""
"Input files contain messages in different encodings, UTF-8 among others.\n"
@@ -2390,7 +2590,7 @@ msgid ""
msgstr ""
"輸入檔å«æœ‰ä¸åŒç·¨ç¢¼çš„訊æ¯ï¼Œå…¶ä¸­ä¸€ç¨®æ˜¯ UTF-8。會將輸出的編碼轉æ›ç‚º UTF-8。\n"
-#: src/msgl-cat.c:449
+#: src/msgl-cat.c:452
#, c-format
msgid ""
"Input files contain messages in different encodings, %s and %s among "
@@ -2401,7 +2601,7 @@ msgstr ""
"輸入檔å«æœ‰ä¸åŒç·¨ç¢¼çš„訊æ¯ï¼Œå…¶ä¸­åŒ…括 %s å’Œ %s。會將輸出的編碼轉æ›ç‚º UTF-8。\n"
"è‹¥è¦é¸æ“‡å¦ä¸€ç¨®è¼¸å‡ºç·¨ç¢¼ï¼Œè«‹ä½¿ç”¨ --to-code é¸é …。\n"
-#: src/msgl-cat.c:488
+#: src/msgl-cat.c:491
#, c-format
msgid ""
"Conversion of file %s from %s encoding to %s encoding\n"
@@ -2410,7 +2610,7 @@ msgid ""
"UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
msgstr ""
-#: src/msgl-charset.c:93
+#: src/msgl-charset.c:94
#, c-format
msgid ""
"Locale charset \"%s\" is different from\n"
@@ -2422,12 +2622,12 @@ msgstr ""
"‘%s’的輸出å¯èƒ½æœ‰èª¤ã€‚\n"
"å¯è¡Œçš„解決方法包括:\n"
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:101
#, c-format
msgid "- Set LC_ALL to a locale with encoding %s.\n"
msgstr "- 設定 LC_ALL 環境變數為使用編碼 %s 的語系。\n"
-#: src/msgl-charset.c:105
+#: src/msgl-charset.c:106
#, c-format
msgid ""
"- Convert the translation catalog to %s using 'msgconv',\n"
@@ -2438,7 +2638,7 @@ msgstr ""
" 然後套用 ‘%s’ 指令éŽæ¿¾å…§å®¹ï¼Œ\n"
" 最後å†ç”¨ ‘msgconv’ 將翻譯檔的字元集還原為 %s。\n"
-#: src/msgl-charset.c:114
+#: src/msgl-charset.c:115
#, c-format
msgid ""
"- Set LC_ALL to a locale with encoding %s,\n"
@@ -2451,7 +2651,7 @@ msgstr ""
" 然後套用 ‘%s’ 指令éŽæ¿¾å…§å®¹ï¼Œ\n"
" 最後å†ç”¨ ‘msgconv’ 將翻譯檔的字元集還原為 %s。\n"
-#: src/msgl-charset.c:128
+#: src/msgl-charset.c:129
#, c-format
msgid ""
"Locale charset \"%s\" is not a portable encoding name.\n"
@@ -2462,75 +2662,75 @@ msgstr ""
"‘%s’ 的輸出å¯èƒ½æœ‰èª¤ã€‚\n"
"設定 LC_ALL=C 是一個å¯è¡Œçš„解決方法。\n"
-#: src/msgl-check.c:130
+#: src/msgl-check.c:135
msgid "plural expression can produce negative values"
msgstr "複數表示å¼å¯èƒ½ç”¢ç”Ÿè² æ•¸"
-#: src/msgl-check.c:141
+#: src/msgl-check.c:146
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr "nplurals = %lu,但複數表示å¼çš„最大值å¯èƒ½ç­‰æ–¼ %lu"
-#: src/msgl-check.c:187
+#: src/msgl-check.c:192
msgid "plural expression can produce division by zero"
msgstr "複數表示å¼æœƒå¼•è‡´è¢« 0 整除的錯誤"
-#: src/msgl-check.c:192
+#: src/msgl-check.c:197
msgid "plural expression can produce integer overflow"
msgstr "複數表示å¼æœƒå¼•è‡´æ•´æ•¸æº¢ä½çš„錯誤"
-#: src/msgl-check.c:197
+#: src/msgl-check.c:202
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr "複數表示å¼æœƒå¼•è‡´é‹ç®—錯誤,例如被 0 整除"
-#: src/msgl-check.c:266
+#: src/msgl-check.c:271
#, fuzzy, c-format
msgid "Try using the following, valid for %s:"
msgstr "嘗試使用下列 %s 中屬於åˆæ³•çš„åž‹æ…‹:\n"
-#: src/msgl-check.c:358 src/msgl-check.c:382
+#: src/msgl-check.c:363 src/msgl-check.c:387
#, fuzzy
msgid "message catalog has plural form translations"
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯..."
-#: src/msgl-check.c:360
+#: src/msgl-check.c:365
#, fuzzy
msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr "...ä½†æª”é ­ç¼ºå°‘äº†åƒ â€œplural=表示å¼â€ çš„é …ç›®"
-#: src/msgl-check.c:384
+#: src/msgl-check.c:389
#, fuzzy
msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr "...ä½†æª”é ­ç¼ºå°‘äº†åƒ â€œnplurals=整數†的項目"
-#: src/msgl-check.c:420
+#: src/msgl-check.c:425
msgid "invalid nplurals value"
msgstr "無效的 nplurals 值"
-#: src/msgl-check.c:442
+#: src/msgl-check.c:447
msgid "invalid plural expression"
msgstr "無效的複數表示å¼"
-#: src/msgl-check.c:472 src/msgl-check.c:488
+#: src/msgl-check.c:477 src/msgl-check.c:493
#, fuzzy, c-format
msgid "nplurals = %lu"
msgstr "nplurals = %lu..."
-#: src/msgl-check.c:474
+#: src/msgl-check.c:479
#, fuzzy, c-format
msgid "but some messages have only one plural form"
msgid_plural "but some messages have only %lu plural forms"
msgstr[0] "...但æŸäº›è¨Šæ¯åªæœ‰ %lu 種複數型態"
-#: src/msgl-check.c:490
+#: src/msgl-check.c:495
#, fuzzy, c-format
msgid "but some messages have one plural form"
msgid_plural "but some messages have %lu plural forms"
msgstr[0] "...但æŸäº›è¨Šæ¯æœ‰ %lu 種複數型態"
-#: src/msgl-check.c:514
+#: src/msgl-check.c:519
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -2538,77 +2738,93 @@ msgstr ""
"翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但缺少了以下的標頭欄ä½ï¼š\n"
"“Plural-Forms: nplurals=<整數>; plural=<表示å¼>;â€"
-#: src/msgl-check.c:611
+#: src/msgl-check.c:616
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
msgstr "`msgid' å’Œ `msgid_plural' 欄ä½ä¸¦éžåŒæ™‚以 '\\n' 開始"
-#: src/msgl-check.c:619
+#: src/msgl-check.c:624
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
msgstr "‘msgid’和‘msgstr[%u]’欄ä½ä¸¦éžåŒæ™‚以‘\\n’開始"
-#: src/msgl-check.c:634
+#: src/msgl-check.c:639
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
msgstr "‘msgid’和‘msgstr’欄ä½ä¸¦éžåŒæ™‚以‘\\n’開始"
-#: src/msgl-check.c:652
+#: src/msgl-check.c:657
#, fuzzy
msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
msgstr "‘msgid’和‘msgid_plural’欄ä½ä¸¦éžåŒæ™‚以‘\\n’çµæŸ"
-#: src/msgl-check.c:660
+#: src/msgl-check.c:665
#, fuzzy, c-format
msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
msgstr "‘msgid’和‘msgstr[%u]’欄ä½ä¸¦éžåŒæ™‚以‘\\n’çµæŸ"
-#: src/msgl-check.c:675
+#: src/msgl-check.c:680
#, fuzzy
msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
msgstr "‘msgid’和‘msgstr’欄ä½ä¸¦éžåŒæ™‚以‘\\n’çµæŸ"
-#: src/msgl-check.c:687
+#: src/msgl-check.c:692
msgid "plural handling is a GNU gettext extension"
msgstr "複數處ç†æ˜¯ GNU gettext 的擴展功能"
-#: src/msgl-check.c:729
+#: src/msgl-check.c:734
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr "msgstr 缺少了æ·å¾‘éµæ¨™è¨˜â€˜%c’"
-#: src/msgl-check.c:740
+#: src/msgl-check.c:745
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr "msgstr å«æœ‰éŽå¤šçš„æ·å¾‘éµæ¨™è¨˜â€˜%c’"
-#: src/msgl-check.c:814
+#: src/msgl-check.c:819
#, fuzzy, c-format
msgid "header field '%s' still has the initial default value\n"
msgstr "æŸäº›æ¨™é ­æ¬„ä½ä»ç„¶æ˜¯é è¨­å€¼\n"
-#: src/msgl-check.c:831
+#: src/msgl-check.c:836
#, fuzzy, c-format
msgid "header field '%s' missing in header\n"
msgstr "缺少了標頭欄ä½â€˜%s’\n"
-#: src/msgl-iconv.c:65
+#: src/msgl-check.c:941
+msgid "ASCII ellipsis ('...') instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1014
+msgid "space before ellipsis found in user visible strings"
+msgstr ""
+
+#: src/msgl-check.c:1043
+msgid "ASCII double quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-check.c:1049
+msgid "ASCII single quote used instead of Unicode"
+msgstr ""
+
+#: src/msgl-iconv.c:66
#, c-format
msgid "%s: input is not valid in \"%s\" encoding"
msgstr ""
# lib/copy-file.c:61 src/file-list.c:57 src/po-lex.c:726 src/read-mo.c:171 src/urlget.c:204 src/xgettext.c:823 src/xgettext.c:836 src/xgettext.c:846 #, c-format
-#: src/msgl-iconv.c:69
+#: src/msgl-iconv.c:70
#, fuzzy, c-format
msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "當開啟檔案 %s 準備讀å–時發生錯誤"
-#: src/msgl-iconv.c:290
+#: src/msgl-iconv.c:291
msgid "input file doesn't contain a header entry with a charset specification"
msgstr "輸入檔沒有指定字元集的標頭欄ä½"
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
-#: src/x-python.c:665 src/xgettext.c:720
+#: src/msgl-iconv.c:306 src/recode-sr-latin.c:289 src/recode-sr-latin.c:294
+#: src/xgettext.c:813 src/x-python.c:666
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -2617,7 +2833,7 @@ msgstr ""
"ä¸æ”¯æ´å°‡å­—元集由 %s 轉æ›è‡³ “%sâ€ã€‚%s éœ€è¦ iconv(),但 iconv() ä¸æ”¯æ´æ­¤ç¨®è½‰æ›æ–¹"
"å¼ã€‚"
-#: src/msgl-iconv.c:335
+#: src/msgl-iconv.c:336
#, c-format
msgid ""
"Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
@@ -2625,8 +2841,8 @@ msgid ""
msgstr ""
"ç”± %s 轉æ›è‡³ %s 會產生é‡è¤‡è¨Šæ¯ï¼šæœ‰äº›æœ¬ä¾†ä¸åŒçš„ msgid 轉æ›å¾Œæœƒè®Šæˆç›¸åŒã€‚"
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
-#: src/xgettext.c:727
+#: src/msgl-iconv.c:342 src/recode-sr-latin.c:303 src/xgettext.c:820
+#: src/x-python.c:673
#, c-format
msgid ""
"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -2635,16 +2851,16 @@ msgstr ""
"ä¸æ”¯æ´å°‡å­—元集由 %s 轉æ›è‡³ “%sâ€ã€‚%s éœ€è¦ iconv(),但編譯此程å¼æ™‚沒有 iconv() "
"支æ´ã€‚"
-#: src/msgmerge.c:405 src/msgmerge.c:411
+#: src/msgmerge.c:406 src/msgmerge.c:412
#, c-format
msgid "%s is only valid with %s"
msgstr "%s åªèƒ½å’Œ %s é…åˆä¸€èµ·ä½¿ç”¨æ‰æœ‰æ•ˆ"
-#: src/msgmerge.c:466
+#: src/msgmerge.c:467
msgid "backup type"
msgstr "備份方å¼"
-#: src/msgmerge.c:503
+#: src/msgmerge.c:504
#, c-format, no-wrap
msgid ""
"Merges two Uniforum style .po files together. The def.po file is an\n"
@@ -2664,51 +2880,51 @@ msgstr ""
"的註解都會被æ¨æ£„,但特殊旗標註解和檔案ä½ç½®éƒ½æœƒè¢«ä¿ç•™ã€‚比較時如果有ä¸å®Œå…¨\n"
"é…åˆçš„字串出ç¾ï¼Œç¨‹å¼æœƒä»¥æ¨¡ç³Šé…å°çš„æ–¹å¼å¾—出較好的çµæžœã€‚\n"
-#: src/msgmerge.c:520
+#: src/msgmerge.c:521
#, c-format
msgid " def.po translations referring to old sources\n"
msgstr " def.po 舊版本的翻譯檔\n"
-#: src/msgmerge.c:522
+#: src/msgmerge.c:523
#, c-format
msgid " ref.pot references to new sources\n"
msgstr " ref.pot 新版本程å¼çš„翻譯檔\n"
-#: src/msgmerge.c:526
+#: src/msgmerge.c:527
#, c-format
msgid ""
" -C, --compendium=FILE additional library of message translations,\n"
" may be specified more than once\n"
msgstr " -C, --compendium=FILE é¡å¤–的翻譯記憶庫,é¸é …å¯ä»¥ä½¿ç”¨å¤šæ¬¡\n"
-#: src/msgmerge.c:532
+#: src/msgmerge.c:533
#, c-format
msgid ""
" -U, --update update def.po,\n"
" do nothing if def.po already up to date\n"
msgstr " -U, --update 更新 def.po (僅當 def.po 未更新時)\n"
-#: src/msgmerge.c:544
+#: src/msgmerge.c:545
#, c-format
msgid "Output file location in update mode:\n"
msgstr "更新模å¼çš„檔案輸出ä½ç½®ï¼š\n"
-#: src/msgmerge.c:546
+#: src/msgmerge.c:547
#, c-format
msgid "The result is written back to def.po.\n"
msgstr "輸出çµæžœæœƒå¯«å…¥è‡³ def.po。\n"
-#: src/msgmerge.c:548
+#: src/msgmerge.c:549
#, c-format
msgid " --backup=CONTROL make a backup of def.po\n"
msgstr " --backup=CONTROL 將 def.po 備份\n"
-#: src/msgmerge.c:550
+#: src/msgmerge.c:551
#, c-format
msgid " --suffix=SUFFIX override the usual backup suffix\n"
msgstr " --suffix=SUFFIX 自行指定備份檔å末端的字串\n"
-#: src/msgmerge.c:552
+#: src/msgmerge.c:553
#, c-format
msgid ""
"The version control method may be selected via the --backup option or "
@@ -2726,7 +2942,7 @@ msgstr ""
" existing, nil 若有數字的備份檔已經存在則使用數字,å¦å‰‡ä½¿ç”¨ä¸€èˆ¬å稱\n"
" simple, never æ°¸é ä½¿ç”¨æ™®é€šæ–¹å¼å‚™ä»½\n"
-#: src/msgmerge.c:559
+#: src/msgmerge.c:560
#, fuzzy, c-format
msgid ""
"The backup suffix is '~', unless set with --suffix or the "
@@ -2736,28 +2952,28 @@ msgstr ""
"備份檔的後置字元為‘~’,除éžä»¥ --suffix é¸é …或是 SIMPLE_BACKUP_SUFFIX\n"
"環境變數指定。\n"
-#: src/msgmerge.c:570
+#: src/msgmerge.c:571
#, fuzzy, c-format
msgid ""
" --previous keep previous msgids of translated messages\n"
msgstr " --translated åªä¿ç•™å·²ç¿»è­¯æ¢ç›®ï¼Œåˆªé™¤æœªç¿»è­¯æ¢ç›®\n"
-#: src/msgmerge.c:627 src/urlget.c:192
+#: src/msgmerge.c:628 src/urlget.c:193
#, c-format
msgid " -q, --quiet, --silent suppress progress indicators\n"
msgstr " -q, --quiet, --silent éš±è—進度指示\n"
-#: src/msgmerge.c:1622
+#: src/msgmerge.c:1627
#, c-format
msgid "this message should define plural forms"
msgstr "此訊æ¯æ‡‰è©²æœ‰è¤‡æ•¸åž‹æ…‹"
-#: src/msgmerge.c:1645
+#: src/msgmerge.c:1650
#, c-format
msgid "this message should not define plural forms"
msgstr "此訊æ¯ä¸æ‡‰æœ‰è¤‡æ•¸åž‹æ…‹"
-#: src/msgmerge.c:2048
+#: src/msgmerge.c:2053
#, c-format
msgid ""
"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -2767,28 +2983,28 @@ msgstr ""
"讀入 %ld 舊翻譯 + %ld åƒè€ƒæ¢ç›®ã€‚åˆä½µï¼š%ld,模糊:%ld,未譯:%ld,éŽæ™‚:"
"%ld。\n"
-#: src/msgmerge.c:2056 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
-#: src/urlget.c:437
+#: src/msgmerge.c:2061 src/urlget.c:307 src/urlget.c:354 src/urlget.c:396
+#: src/urlget.c:438
#, c-format
msgid " done.\n"
msgstr " 完æˆã€‚\n"
-#: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
+#: src/msgunfmt.c:309 src/msgunfmt.c:318 src/msgunfmt.c:341
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr "使用 %s ä¸èƒ½åŒæ™‚指定檔案å稱"
-#: src/msgunfmt.c:427
+#: src/msgunfmt.c:428
#, c-format
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr "用法:%s [é¸é …] [檔案]...\n"
-#: src/msgunfmt.c:431
+#: src/msgunfmt.c:432
#, c-format
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr "將二元碼翻譯檔轉æ›ç‚º Uniforum åž‹å¼çš„ .po 檔。\n"
-#: src/msgunfmt.c:440
+#: src/msgunfmt.c:441
#, c-format
msgid ""
" -j, --java Java mode: input is a Java ResourceBundle "
@@ -2796,12 +3012,12 @@ msgid ""
msgstr ""
" -j, --java Java 模å¼ï¼šç”¢ç”Ÿ Java ResourceBundle class\n"
-#: src/msgunfmt.c:442
+#: src/msgunfmt.c:443
#, c-format
msgid " --csharp C# mode: input is a .NET .dll file\n"
msgstr " --csharp C# 模å¼ï¼šè¼¸å…¥æª”是 .NET .dll 檔\n"
-#: src/msgunfmt.c:444
+#: src/msgunfmt.c:445
#, c-format
msgid ""
" --csharp-resources C# resources mode: input is a .NET .resources "
@@ -2810,24 +3026,24 @@ msgstr ""
" --csharp-resources C# resources 模å¼ï¼šè¼¸å…¥å…§å®¹æ˜¯ .NET .resources "
"檔案\n"
-#: src/msgunfmt.c:446
+#: src/msgunfmt.c:447
#, c-format
msgid ""
" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
" --tcl Tcl 模å¼ï¼šè¼¸å…¥è³‡æ–™æ˜¯ tcl/msgcat .msg 檔\n"
-#: src/msgunfmt.c:451
+#: src/msgunfmt.c:452
#, c-format
msgid " FILE ... input .mo files\n"
msgstr " 檔案 ... 作為輸入的 .mo 檔\n"
-#: src/msgunfmt.c:456
+#: src/msgunfmt.c:457
#, c-format
msgid "Input file location in Java mode:\n"
msgstr "Java 模å¼çš„輸入檔ä½ç½®ï¼š\n"
-#: src/msgunfmt.c:462
+#: src/msgunfmt.c:463
#, c-format
msgid ""
"The class name is determined by appending the locale name to the resource "
@@ -2837,41 +3053,41 @@ msgstr ""
"class å稱是由語言å稱和 resource å稱åˆä½µä¾†æ±ºå®šçš„,兩者之間會用底線分隔。\n"
"class 檔會在 CLASSPATH 變數所指定的目錄中æœå°‹ã€‚\n"
-#: src/msgunfmt.c:467
+#: src/msgunfmt.c:468
#, c-format
msgid "Input file location in C# mode:\n"
msgstr "C# 模å¼çš„輸入檔ä½ç½®ï¼š\n"
-#: src/msgunfmt.c:475
+#: src/msgunfmt.c:476
#, c-format
msgid ""
"The -l and -d options are mandatory. The .dll file is located in a\n"
"subdirectory of the specified directory whose name depends on the locale.\n"
msgstr ""
-#: src/msgunfmt.c:479
+#: src/msgunfmt.c:480
#, c-format
msgid "Input file location in Tcl mode:\n"
msgstr "Tcl 模å¼çš„輸入檔ä½ç½®ï¼š\n"
-#: src/msgunfmt.c:485
+#: src/msgunfmt.c:486
#, c-format
msgid ""
"The -l and -d options are mandatory. The .msg file is located in the\n"
"specified directory.\n"
msgstr ""
-#: src/msgunfmt.c:511
+#: src/msgunfmt.c:512
#, c-format
msgid " -i, --indent write indented output style\n"
msgstr " -i, --indent 將輸出çµæžœé€²è¡Œç¸®æŽ’\n"
-#: src/msgunfmt.c:513
+#: src/msgunfmt.c:514
#, c-format
msgid " --strict write strict uniforum style\n"
msgstr " --strict 輸出çµæžœåš´æ ¼éµå¾ž Uniforum æ ¼å¼\n"
-#: src/msguniq.c:331
+#: src/msguniq.c:332
#, c-format, no-wrap
msgid ""
"Unifies duplicate translations in a translation catalog.\n"
@@ -2891,12 +3107,12 @@ msgstr ""
"則會由第一個翻譯æ¢ç›®ä¸­è®€å–這些資料。檔案ä½ç½®æ˜¯æœƒç´¯ç©ä¸‹ä¾†çš„。\n"
"當使用 --unique é¸é …時,則會æ¨æ£„任何é‡è¤‡çš„翻譯æ¢ç›®ã€‚\n"
-#: src/msguniq.c:364
+#: src/msguniq.c:365
#, c-format
msgid " -d, --repeated print only duplicates\n"
msgstr " -d, --repeated åªé¡¯ç¤ºé‡è¤‡æ¢ç›®\n"
-#: src/msguniq.c:366
+#: src/msguniq.c:367
#, c-format
msgid ""
" -u, --unique print only unique messages, discard "
@@ -2904,7 +3120,7 @@ msgid ""
msgstr ""
" -u, --unique åªé¡¯ç¤ºå‡ºç¾ä¸€æ¬¡çš„æ¢ç›®ï¼Œæ¨æ£„任何é‡è¤‡çš„æ¢ç›®\n"
-#: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
+#: src/open-catalog.c:57 libgettextpo/gettext-po.c:102
#: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
msgid "<stdin>"
msgstr "<標準輸入>"
@@ -2958,32 +3174,32 @@ msgstr ""
"檔頭缺少了指定字元集的欄ä½ã€‚\n"
"轉æ›è¨Šæ¯è‡³ä½¿ç”¨è€…字元集的功能將ä¸æœƒç”Ÿæ•ˆã€‚\n"
-#: src/po-gram-gen.y:93
+#: src/po-gram-gen.y:94
#, c-format
msgid "inconsistent use of #~"
msgstr "ä¸ä¸€è‡´åœ°ä½¿ç”¨ #~"
-#: src/po-gram-gen.y:243
+#: src/po-gram-gen.y:244
#, fuzzy, c-format
msgid "missing 'msgstr[]' section"
msgstr "缺少了 ‘msgstr[]’ 段è½"
-#: src/po-gram-gen.y:252
+#: src/po-gram-gen.y:253
#, fuzzy, c-format
msgid "missing 'msgid_plural' section"
msgstr "缺少了 ‘msgid_plural’ 段è½"
-#: src/po-gram-gen.y:260
+#: src/po-gram-gen.y:261
#, fuzzy, c-format
msgid "missing 'msgstr' section"
msgstr "缺少了 ‘msgstr’ 段è½"
-#: src/po-gram-gen.y:399
+#: src/po-gram-gen.y:400
#, c-format
msgid "first plural form has nonzero index"
msgstr "第一個複數格å¼çš„索引數字ä¸æ˜¯ 0"
-#: src/po-gram-gen.y:401
+#: src/po-gram-gen.y:402
#, c-format
msgid "plural form has wrong index"
msgstr "複數格å¼å«æœ‰éŒ¯èª¤çš„索引數字"
@@ -2993,7 +3209,7 @@ msgstr "複數格å¼å«æœ‰éŒ¯èª¤çš„索引數字"
msgid "too many errors, aborting"
msgstr "錯誤太多,必須中斷作業"
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:812 src/write-po.c:950
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:813 src/write-po.c:951
#, c-format
msgid "invalid multibyte sequence"
msgstr "無效的ä½å…ƒçµ„åºåˆ—"
@@ -3037,71 +3253,89 @@ msgstr "字串中間çªç„¶æ–·è¡Œ"
msgid "context separator <EOT> within string"
msgstr ""
-#: src/read-catalog.c:318 src/xgettext.c:1046
+#: src/read-catalog.c:325 src/xgettext.c:1251
#, c-format
msgid "this file may not contain domain directives"
msgstr "此檔案ä¸èƒ½å«æœ‰ domain 指令"
-#: src/read-catalog.c:363
+#: src/read-catalog.c:370
msgid "duplicate message definition"
msgstr "訊æ¯è¢«é‡è¤‡å®šç¾©"
-#: src/read-catalog.c:365
+#: src/read-catalog.c:372
#, fuzzy
msgid "this is the location of the first definition"
msgstr "...這是第一次定義的ä½ç½®"
-#: src/read-mo.c:107 src/read-mo.c:129 src/read-mo.c:177 src/read-mo.c:205
+#: src/read-desktop.c:267
+msgid "unterminated group name"
+msgstr ""
+
+#: src/read-desktop.c:286
+msgid "invalid non-blank character"
+msgstr ""
+
+#: src/read-desktop.c:403
+#, fuzzy, c-format
+msgid "missing '=' after \"%s\""
+msgstr "未指定éŽæ¿¾å™¨"
+
+#: src/read-desktop.c:466
+#, fuzzy
+msgid "invalid non-blank line"
+msgstr "無效的 nplurals 值"
+
+#: src/read-mo.c:108 src/read-mo.c:130 src/read-mo.c:168 src/read-mo.c:184
#, c-format
msgid "file \"%s\" is truncated"
msgstr "檔案 %s 被截斷了"
-#: src/read-mo.c:132
+#: src/read-mo.c:133
#, c-format
msgid "file \"%s\" contains a not NUL terminated string"
msgstr "檔案 %s 包å«ä¸¦éžä»¥ NUL 為çµå°¾çš„字串"
-#: src/read-mo.c:169 src/read-mo.c:280
+#: src/read-mo.c:176 src/read-mo.c:284
#, c-format
msgid "file \"%s\" is not in GNU .mo format"
msgstr "檔案 %s ä¸¦éž GNU .mo æ ¼å¼æª”案"
-#: src/read-mo.c:183
+#: src/read-mo.c:190
#, c-format
msgid "file \"%s\" contains a not NUL terminated string, at %s"
msgstr "檔案 %s 在 %s 包å«ä¸¦éžä»¥ NUL 為çµå°¾çš„字串"
-#: src/read-properties.c:227
+#: src/read-properties.c:228
#, fuzzy
msgid "warning: invalid \\uxxxx syntax for Unicode character"
msgstr "%s:%lu: 錯誤:Unicode å­—å…ƒæ ¼å¼ \\uxxxx 無效"
-#: src/read-stringtable.c:802
+#: src/read-stringtable.c:803
#, fuzzy
msgid "warning: unterminated string"
msgstr "%s:%d: 警告:字串未完çµ"
-#: src/read-stringtable.c:810
+#: src/read-stringtable.c:811
#, fuzzy
msgid "warning: syntax error"
msgstr "%s:%lu: 警告:格å¼éŒ¯èª¤"
-#: src/read-stringtable.c:871 src/read-stringtable.c:893
+#: src/read-stringtable.c:872 src/read-stringtable.c:894
#, fuzzy
msgid "warning: unterminated key/value pair"
msgstr "%s:%d: 警告:正è¦è¡¨ç¤ºå¼ä¸å®Œæ•´"
-#: src/read-stringtable.c:939
+#: src/read-stringtable.c:940
#, fuzzy
msgid "warning: syntax error, expected ';' after string"
msgstr "%s:%lu: 警告:格å¼éŒ¯èª¤ï¼Œå­—串後應出ç¾â€˜;’"
-#: src/read-stringtable.c:948
+#: src/read-stringtable.c:949
#, fuzzy
msgid "warning: syntax error, expected '=' or ';' after string"
msgstr "%s:%lu: 警告:格å¼éŒ¯èª¤ï¼Œå­—ä¸²å¾Œæ‡‰è©²å‡ºç¾ â€˜=’ 或 ‘;’"
-#: src/recode-sr-latin.c:116
+#: src/recode-sr-latin.c:117
#, fuzzy, c-format
msgid "Written by %s and %s.\n"
msgstr "由 %s 編寫。\n"
@@ -3110,81 +3344,81 @@ msgstr "由 %s 編寫。\n"
#. (with Unicode escapes) "\u0160egan" or (with HTML entities)
#. "&Scaron;egan".
#. This is a proper name. See the gettext manual, section Names.
-#: src/recode-sr-latin.c:120
+#: src/recode-sr-latin.c:121
msgid "Danilo Segan"
msgstr ""
-#: src/recode-sr-latin.c:153
+#: src/recode-sr-latin.c:154
#, c-format, no-wrap
msgid "Recode Serbian text from Cyrillic to Latin script.\n"
msgstr ""
-#: src/recode-sr-latin.c:156
+#: src/recode-sr-latin.c:157
#, c-format, no-wrap
msgid ""
"The input text is read from standard input. The converted text is output to\n"
"standard output.\n"
msgstr ""
-#: src/recode-sr-latin.c:339
+#: src/recode-sr-latin.c:340
#, c-format
msgid "input is not valid in \"%s\" encoding"
msgstr ""
# lib/copy-file.c:61 src/file-list.c:57 src/po-lex.c:726 src/read-mo.c:171 src/urlget.c:204 src/xgettext.c:823 src/xgettext.c:836 src/xgettext.c:846 #, c-format
-#: src/recode-sr-latin.c:367
+#: src/recode-sr-latin.c:368
#, fuzzy, c-format
msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
msgstr "當開啟檔案 %s 準備讀å–時發生錯誤"
-#: src/urlget.c:159
+#: src/urlget.c:160
#, c-format
msgid "expected two arguments"
msgstr "需è¦æ°å¥½å…©å€‹å¼•æ•¸"
-#: src/urlget.c:176
+#: src/urlget.c:177
#, c-format
msgid "Usage: %s [OPTION] URL FILE\n"
msgstr "用法:%s [é¸é …] ç¶²å€ æª”æ¡ˆ\n"
-#: src/urlget.c:181
+#: src/urlget.c:182
#, c-format, no-wrap
msgid ""
"Fetches and outputs the contents of an URL. If the URL cannot be accessed,\n"
"the locally accessible FILE is used instead.\n"
msgstr "æ“·å–並輸出æŸç¶²å€çš„內容。如果無法存å–該網å€ï¼Œå‰‡æ”¹ç”¨æŒ‡å®šçš„本機檔案代替。\n"
-#: src/urlget.c:228
+#: src/urlget.c:229
#, c-format
msgid "error reading \"%s\""
msgstr "è®€å– %s 時發生錯誤"
-#: src/urlget.c:234
+#: src/urlget.c:235
#, c-format
msgid "error writing stdout"
msgstr "寫入至標準輸出時發生錯誤"
-#: src/urlget.c:238
+#: src/urlget.c:239
#, c-format
msgid "error after reading \"%s\""
msgstr "完æˆè®€å– %s 後發生錯誤"
-#: src/urlget.c:264
+#: src/urlget.c:265
#, c-format
msgid "Retrieving %s..."
msgstr ""
-#: src/urlget.c:308
+#: src/urlget.c:309
#, c-format
msgid " timed out.\n"
msgstr ""
-#: src/urlget.c:445
+#: src/urlget.c:446
#, c-format
msgid " failed.\n"
msgstr ""
-#: src/write-catalog.c:126
+#: src/write-catalog.c:127
#, fuzzy
msgid ""
"Cannot output multiple translation domains into a single file with the "
@@ -3193,7 +3427,7 @@ msgstr ""
"ä¸å¯ä»¥å°‡å¤šå€‹å±¬æ–¼ä¸åŒ domain 的翻譯訊æ¯å¯«å…¥ä¸€å€‹ Java .properties 檔案。請改用"
"PO 檔案格å¼ã€‚"
-#: src/write-catalog.c:129
+#: src/write-catalog.c:130
#, fuzzy
msgid ""
"Cannot output multiple translation domains into a single file with the "
@@ -3201,14 +3435,14 @@ msgid ""
msgstr ""
"ä¸å¯ä»¥å°‡å¤šå€‹å±¬æ–¼ä¸åŒé ˜åŸŸçš„翻譯訊æ¯å¯«å…¥ä¸€å€‹ NeXTstep/GNUstep .strings 檔案。"
-#: src/write-catalog.c:162
+#: src/write-catalog.c:163
#, fuzzy
msgid ""
"message catalog has context dependent translations, but the output format "
"does not support them."
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但輸出檔的格å¼ä¸æ”¯æ´è¤‡æ•¸åž‹æ…‹ã€‚"
-#: src/write-catalog.c:197
+#: src/write-catalog.c:198
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them. Try generating a Java class using \"msgfmt --java\", instead "
@@ -3217,18 +3451,18 @@ msgstr ""
"翻譯檔中有複數格å¼çš„翻譯字å¥ï¼Œä½†è¼¸å‡ºæ ¼å¼ä¸æ”¯æ´è¤‡æ•¸ã€‚請嘗試使用 “msgfmt --"
"java†產生 Java class,而ä¸ç”¨ properties 檔案。"
-#: src/write-catalog.c:202
+#: src/write-catalog.c:203
msgid ""
"message catalog has plural form translations, but the output format does not "
"support them."
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但輸出檔的格å¼ä¸æ”¯æ´è¤‡æ•¸åž‹æ…‹ã€‚"
-#: src/write-catalog.c:231 src/write-catalog.c:275
+#: src/write-catalog.c:232 src/write-catalog.c:276 src/write-xml.c:58
#, c-format
msgid "cannot create output file \"%s\""
msgstr "無法產生輸出檔 “%sâ€"
-#: src/write-catalog.c:239 src/write-catalog.c:283
+#: src/write-catalog.c:240 src/write-catalog.c:284
msgid "standard output"
msgstr "標準輸出"
@@ -3247,40 +3481,41 @@ msgstr "編譯 C# class 檔出ç¾éŒ¯èª¤ï¼Œè«‹å˜—試使用 --verbose é¸é …"
msgid "compilation of C# class failed"
msgstr "編譯 C# class 檔出ç¾éŒ¯èª¤ï¼Œè«‹å˜—試使用 --verbose é¸é …"
-#: src/write-java.c:1091
+#: src/write-desktop.c:162 src/write-mo.c:800 src/write-qt.c:737
+#: src/write-tcl.c:213
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "當開啟檔案 %s 來寫入內容時發生錯誤"
+
+#: src/write-java.c:1092
#, c-format
msgid "not a valid Java class name: %s"
msgstr "並éžæœ‰æ•ˆçš„ Java class å稱:%s"
-#: src/write-java.c:1210
+#: src/write-java.c:1211
#, c-format
msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
msgstr ""
"編譯 Java class 檔出ç¾éŒ¯èª¤ï¼Œè«‹å˜—試使用 --verbose é¸é …或設定 $JAVAC 環境變數"
-#: src/write-java.c:1213
+#: src/write-java.c:1214
#, fuzzy, c-format
msgid "compilation of Java class failed, please try to set $JAVAC"
msgstr ""
"編譯 Java class 檔出ç¾éŒ¯èª¤ï¼Œè«‹å˜—試使用 --verbose é¸é …或設定 $JAVAC 環境變數"
-#: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "當開啟檔案 %s 來寫入內容時發生錯誤"
-
-#: src/write-po.c:821
+#: src/write-po.c:822
#, fuzzy
msgid "incomplete multibyte sequence"
msgstr "無效的ä½å…ƒçµ„åºåˆ—"
-#: src/write-po.c:884
+#: src/write-po.c:885
#, fuzzy, c-format
msgid ""
"internationalized messages should not contain the '\\%c' escape sequence"
msgstr "國際化的訊æ¯ä¸æ‡‰å«æœ‰ ‘\\%c’ 這個轉義控制åºåˆ— (escape sequence)"
-#: src/write-po.c:1335 src/write-po.c:1459
+#: src/write-po.c:1336 src/write-po.c:1460
#, fuzzy, c-format
msgid ""
"The following msgctxt contains non-ASCII characters.\n"
@@ -3293,7 +3528,7 @@ msgstr ""
"請考慮使用åªæœ‰ ASCII 字元的 msgid。\n"
"%s\n"
-#: src/write-po.c:1347 src/write-po.c:1471
+#: src/write-po.c:1348 src/write-po.c:1472
#, c-format
msgid ""
"The following msgid contains non-ASCII characters.\n"
@@ -3306,13 +3541,13 @@ msgstr ""
"請考慮使用åªæœ‰ ASCII 字元的 msgid。\n"
"%s\n"
-#: src/write-qt.c:667
+#: src/write-qt.c:668
msgid ""
"message catalog has plural form translations\n"
"but the Qt message catalog format doesn't support plural handling\n"
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但 Qt 的翻譯檔ä¸èƒ½è™•ç†è¤‡æ•¸åž‹æ…‹\n"
-#: src/write-qt.c:693
+#: src/write-qt.c:694
#, fuzzy
msgid ""
"message catalog has msgctxt strings containing characters outside "
@@ -3323,7 +3558,7 @@ msgstr ""
"翻譯檔中æŸäº› msgid å«æœ‰ ISO-8859-1 以外的字元,但 Qt 翻譯檔格å¼åªæ”¯æ´ç¿»è­¯å¾Œçš„"
"å­—å¥ä½¿ç”¨ Unicode,未翻譯的字å¥æ˜¯ä¸æ”¯æ´çš„。\n"
-#: src/write-qt.c:717
+#: src/write-qt.c:718
msgid ""
"message catalog has msgid strings containing characters outside ISO-8859-1\n"
"but the Qt message catalog format supports Unicode only in the translated\n"
@@ -3332,70 +3567,70 @@ msgstr ""
"翻譯檔中æŸäº› msgid å«æœ‰ ISO-8859-1 以外的字元,但 Qt 翻譯檔格å¼åªæ”¯æ´ç¿»è­¯å¾Œçš„"
"å­—å¥ä½¿ç”¨ Unicode,未翻譯的字å¥æ˜¯ä¸æ”¯æ´çš„。\n"
-#: src/write-resources.c:94
+#: src/write-resources.c:95
#, c-format
msgid "error while writing to %s subprocess"
msgstr "將內容寫入至 %s 副行程時發生錯誤"
-#: src/write-resources.c:131
+#: src/write-resources.c:132
#, fuzzy
msgid ""
"message catalog has context dependent translations\n"
"but the C# .resources format doesn't support contexts\n"
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但 C# 的翻譯檔ä¸èƒ½è™•ç†è¤‡æ•¸åž‹æ…‹\n"
-#: src/write-resources.c:150
+#: src/write-resources.c:151
msgid ""
"message catalog has plural form translations\n"
"but the C# .resources format doesn't support plural handling\n"
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但 C# 的翻譯檔ä¸èƒ½è™•ç†è¤‡æ•¸åž‹æ…‹\n"
-#: src/write-tcl.c:157
+#: src/write-tcl.c:158
#, fuzzy
msgid ""
"message catalog has context dependent translations\n"
"but the Tcl message catalog format doesn't support contexts\n"
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但 Tcl 的翻譯檔ä¸èƒ½è™•ç†è¤‡æ•¸åž‹æ…‹\n"
-#: src/write-tcl.c:176
+#: src/write-tcl.c:177
msgid ""
"message catalog has plural form translations\n"
"but the Tcl message catalog format doesn't support plural handling\n"
msgstr "翻譯檔å«æœ‰è¤‡æ•¸åž‹æ…‹çš„翻譯,但 Tcl 的翻譯檔ä¸èƒ½è™•ç†è¤‡æ•¸åž‹æ…‹\n"
-#: src/x-awk.c:341 src/x-javascript.c:795 src/x-python.c:931
+#: src/x-awk.c:342 src/x-javascript.c:796 src/x-python.c:932
#, c-format
msgid "%s:%d: warning: unterminated string"
msgstr "%s:%d: 警告:字串未完çµ"
-#: src/x-awk.c:592
+#: src/x-awk.c:593
#, c-format
msgid "%s:%d: warning: unterminated regular expression"
msgstr "%s:%d: 警告:正è¦è¡¨ç¤ºå¼ä¸å®Œæ•´"
-#: src/x-c.c:1052
+#: src/x-c.c:1161
#, fuzzy, c-format
msgid "warning: invalid Unicode character"
msgstr "%s:%d: 警告:Unicode 字元無效"
-#: src/x-c.c:1344 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:619
+#: src/x-c.c:1475 src/x-csharp.c:1510 src/x-java.c:872 src/x-vala.c:619
#, c-format
msgid "%s:%d: warning: unterminated character constant"
msgstr "%s:%d: 警告:字元常數未完çµ"
-#: src/x-c.c:1390 src/x-c.c:1430 src/x-vala.c:729
+#: src/x-c.c:1531 src/x-c.c:1582 src/x-vala.c:729
#, c-format
msgid "%s:%d: warning: unterminated string literal"
msgstr "%s:%d: 警告:字串未完çµ"
-#: src/x-csharp.c:224 src/xgettext.c:2106
+#: src/x-csharp.c:225 src/xgettext.c:2375
#, fuzzy
msgid "Please specify the source encoding through --from-code."
msgstr ""
"%s%s 出ç¾ä¸å±¬æ–¼ ASCII 字元的字串。\n"
"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„文字編碼。\n"
-#: src/x-csharp.c:269
+#: src/x-csharp.c:270
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3404,7 +3639,7 @@ msgstr ""
"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-#: src/x-csharp.c:285
+#: src/x-csharp.c:286
#, c-format
msgid ""
"%s:%d: Long incomplete multibyte sequence.\n"
@@ -3413,7 +3648,7 @@ msgstr ""
"%s:%d: 出ç¾ç„¡æ•ˆè€Œä¸”å分長的ä½å…ƒçµ„åºåˆ—。\n"
"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-#: src/x-csharp.c:297
+#: src/x-csharp.c:298
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of file.\n"
@@ -3422,7 +3657,7 @@ msgstr ""
"%s:%d: 檔案末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-#: src/x-csharp.c:306
+#: src/x-csharp.c:307
#, c-format
msgid ""
"%s:%d: Incomplete multibyte sequence at end of line.\n"
@@ -3431,12 +3666,12 @@ msgstr ""
"%s:%d: 該行末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
+#: src/x-csharp.c:316 src/x-javascript.c:322 src/x-python.c:375
#, c-format
msgid "%s:%d: iconv failure"
msgstr "%s:%d: iconv 失敗"
-#: src/x-csharp.c:338
+#: src/x-csharp.c:339
#, c-format
msgid ""
"%s:%d: Invalid multibyte sequence.\n"
@@ -3445,272 +3680,73 @@ msgstr ""
"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-#: src/x-csharp.c:1390 src/x-python.c:1138
+#: src/x-csharp.c:1391 src/x-python.c:1139
#, c-format
msgid "%s:%d: warning: invalid Unicode character"
msgstr "%s:%d: 警告:Unicode 字元無效"
-#: src/x-csharp.c:1512 src/x-java.c:875
+#: src/x-csharp.c:1513 src/x-java.c:875
#, c-format
msgid "%s:%d: warning: unterminated string constant"
msgstr "%s:%d: 警告:字元常數未完çµ"
-#: src/x-csharp.c:2018 src/x-java.c:1369
+#: src/x-csharp.c:2019 src/x-java.c:1369
#, c-format
msgid "%s:%d: warning: ')' found where '}' was expected"
msgstr "%s:%d: 應該有 ‘)’ 的地方出ç¾äº† ‘}’"
-#: src/x-csharp.c:2052 src/x-java.c:1403
+#: src/x-csharp.c:2053 src/x-java.c:1403
#, c-format
msgid "%s:%d: warning: '}' found where ')' was expected"
msgstr "%s:%d: 應該有 ‘}’ 的地方出ç¾äº† ‘)’"
-#: src/x-glade.c:295
+#: src/xgettext.c:579
#, c-format
-msgid "Missing context for the string extracted from '%s' element"
-msgstr ""
-
-#: src/x-glade.c:417
-#, c-format
-msgid "The root element <%s> is not allowed in a valid Glade file"
-msgstr ""
-
-#: src/x-glade.c:572 src/x-glade.c:579
-#, fuzzy, c-format
-msgid "%s:%lu:%lu: %s"
-msgstr "%s:%d:%d: %s"
-
-#: src/x-glade.c:606
-#, c-format
-msgid ""
-"Language \"glade\" is not supported. %s relies on expat.\n"
-"This version was built without expat.\n"
-msgstr ""
-"ä¸æ”¯æ´ “glade†語言。%s æ˜¯éœ€è¦ expat 軟體的,\n"
-"但這個版本編譯時沒有加入 expat 支æ´ã€‚\n"
-
-#: src/x-java.c:494
-#, fuzzy, c-format
-msgid "%s:%d: warning: lone surrogate U+%04X"
-msgstr "%s:%d: 警告:字串未完çµ"
-
-#: src/x-javascript.c:230
-#, fuzzy
-msgid "Please specify the source encoding through --from-code\n"
-msgstr ""
-"%s%s 出ç¾ä¸å±¬æ–¼ ASCII 字元的字串。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„文字編碼。\n"
-
-#: src/x-javascript.c:275
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-javascript.c:291
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 出ç¾ç„¡æ•ˆè€Œä¸”å分長的ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-javascript.c:303
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 檔案末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-javascript.c:312
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code\n"
-msgstr ""
-"%s:%d: 該行末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-javascript.c:344
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code\n"
+msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
-"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-javascript.c:954
-#, fuzzy, c-format
-msgid "%s:%d: warning: RegExp literal terminated too early"
-msgstr "%s:%d: 警告:字串未完çµ"
-#: src/x-javascript.c:1055
-#, fuzzy, c-format
-msgid "%s:%d: warning: %s is not allowed"
-msgstr "%s:%d: 警告:Unicode 字元無效"
-
-#: src/x-javascript.c:1069
+#: src/xgettext.c:648
#, fuzzy, c-format
-msgid "%s:%d: warning: unterminated XML markup"
-msgstr "%s:%d: 警告:字串未完çµ"
-
-#: src/x-perl.c:308
-#, c-format
-msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
-msgstr "%s:%d: EOF 之å‰æ‰¾ä¸åˆ°ä»»ä½•è¡¨ç¤ºå­—串完çµçš„標記 “%sâ€"
-
-#: src/x-perl.c:1043
-#, c-format
-msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr "%s:%d: \\x{HEXNUMBER} 缺少了å³é‚Šçš„大括號"
-
-#: src/x-perl.c:1163
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\lâ€) 無效"
-
-#: src/x-perl.c:1183
-#, c-format
-msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\uâ€) 無效"
+msgid "syntax check '%s' unknown"
+msgstr "ä¸æ˜Žçš„語言 ‘%s’"
-#: src/x-perl.c:1217
+#: src/xgettext.c:657
#, c-format
-msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgid "sentence end type '%s' unknown"
msgstr ""
-#: src/x-perl.c:1230
+#: src/xgettext.c:711
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\Lâ€) 無效"
+msgid "--join-existing cannot be used when output is written to stdout"
+msgstr "當çµæžœè¢«å°Žå‘至標準輸出時,ä¸å¯ä»¥ç”¨ --join-existing é¸é …"
-#: src/x-perl.c:1247
+#: src/xgettext.c:716
#, c-format
-msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\Uâ€) 無效"
-
-#: src/x-python.c:278
-msgid ""
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-
-#: src/x-python.c:324
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-python.c:341
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Long incomplete multibyte sequence.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 出ç¾ç„¡æ•ˆè€Œä¸”å分長的ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-python.c:354
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of file.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 檔案末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-python.c:364
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Incomplete multibyte sequence at end of line.\n"
-"Please specify the correct source encoding through --from-code or through a\n"
-"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 該行末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
-
-#: src/x-python.c:397
-#, fuzzy, c-format
-msgid ""
-"%s:%d: Invalid multibyte sequence.\n"
-"Please specify the source encoding through --from-code or through a comment\n"
-"as specified in http://www.python.org/peps/pep-0263.html.\n"
-msgstr ""
-"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
-"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+msgid "xgettext cannot work without keywords to look for"
+msgstr "若無關éµå­—,xgettext 將無法é‹ä½œ"
-#: src/x-python.c:722
+#: src/xgettext.c:868
#, c-format
-msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgid "warning: ITS rule file '%s' does not exist"
msgstr ""
-#: src/x-rst.c:108
-#, c-format
-msgid "%s:%d: invalid string definition"
-msgstr "%s:%d: 無效的字串定義"
-
-#: src/x-rst.c:172
-#, c-format
-msgid "%s:%d: missing number after #"
-msgstr "%s:%d: # 後缺少了數字"
-
-#: src/x-rst.c:207
-#, c-format
-msgid "%s:%d: invalid string expression"
-msgstr "%s:%d: 無效的字串表示å¼"
-
-#: src/x-sh.c:1075
+#: src/xgettext.c:949
#, c-format
msgid ""
-"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
-"use eval_gettext instead"
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
msgstr ""
-"%s:%lu: 警告:$\"...\" 這種格å¼å› ç‚ºå®‰å…¨ç†ç”±å·²ç¶“éŽæ™‚;請改用 eval_gettext"
-#: src/x-vala.c:414
-#, fuzzy, c-format
-msgid "%s:%d: warning: regular expression literal terminated too early"
-msgstr "%s:%d: 警告:字串未完çµ"
-
-#: src/xgettext.c:545
-#, c-format
-msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
-msgstr ""
-
-#: src/xgettext.c:648
-#, c-format
-msgid "--join-existing cannot be used when output is written to stdout"
-msgstr "當çµæžœè¢«å°Žå‘至標準輸出時,ä¸å¯ä»¥ç”¨ --join-existing é¸é …"
-
-#: src/xgettext.c:653
-#, c-format
-msgid "xgettext cannot work without keywords to look for"
-msgstr "若無關éµå­—,xgettext 將無法é‹ä½œ"
-
-#: src/xgettext.c:808
+#: src/xgettext.c:967
#, fuzzy, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr "警告:無法辨èªæª”案 ‘%s’ 的副檔å ‘%s’;會å‡è¨­æ˜¯ C æ ¼å¼ä¾†è™•ç†"
-#: src/xgettext.c:859
+#: src/xgettext.c:1052
#, c-format
msgid "Extract translatable strings from given input files.\n"
msgstr "由指定的輸入檔抽å–å¯ç¿»è­¯çš„字串。\n"
-#: src/xgettext.c:882
+#: src/xgettext.c:1075
#, c-format
msgid ""
" -d, --default-domain=NAME use NAME.po for output (instead of messages."
@@ -3718,23 +3754,23 @@ msgid ""
msgstr ""
" -d, --default-domain=NAME 使用 NAME.po 作為輸出檔 (而ä¸æ˜¯ messages.po)\n"
-#: src/xgettext.c:884
+#: src/xgettext.c:1077
#, c-format
msgid " -o, --output=FILE write output to specified file\n"
msgstr " -o, --output=FILE 將輸出內容寫入至指定檔案\n"
-#: src/xgettext.c:886
+#: src/xgettext.c:1079
#, c-format
msgid ""
" -p, --output-dir=DIR output files will be placed in directory DIR\n"
msgstr " -p, --output-dir=DIR 輸出檔會存å–在指定目錄\n"
-#: src/xgettext.c:891
+#: src/xgettext.c:1084
#, c-format
msgid "Choice of input file language:\n"
msgstr "輸入檔的語言é¸æ“‡ï¼š\n"
-#: src/xgettext.c:893
+#: src/xgettext.c:1086
#, fuzzy, c-format
msgid ""
" -L, --language=NAME recognise the specified language\n"
@@ -3754,19 +3790,19 @@ msgstr ""
"PHP,\n"
" GCC-source, NXStringTable, RST, Glade)\n"
-#: src/xgettext.c:900
+#: src/xgettext.c:1093
#, c-format
msgid " -C, --c++ shorthand for --language=C++\n"
msgstr " -C, --c++ --language=C++ 的簡寫\n"
-#: src/xgettext.c:902
+#: src/xgettext.c:1095
#, c-format
msgid ""
"By default the language is guessed depending on the input file name "
"extension.\n"
msgstr "é è¨­çš„語言是由輸入檔的延伸檔å決定的。\n"
-#: src/xgettext.c:907
+#: src/xgettext.c:1100
#, c-format
msgid ""
" --from-code=NAME encoding of input files\n"
@@ -3775,22 +3811,22 @@ msgstr ""
" --from-code=NAME 輸入檔的文字編碼\n"
" (Python, Tcl, Glade 例外)\n"
-#: src/xgettext.c:910
+#: src/xgettext.c:1103
#, c-format
msgid "By default the input files are assumed to be in ASCII.\n"
msgstr "輸入檔內容é è¨­æœƒç•¶ä½œ ASCII 看待。\n"
-#: src/xgettext.c:915
+#: src/xgettext.c:1108
#, c-format
msgid " -j, --join-existing join messages with existing file\n"
msgstr " -j, --join-existing åˆä½µå·²å­˜åœ¨çš„訊æ¯æª”\n"
-#: src/xgettext.c:917
+#: src/xgettext.c:1110
#, c-format
msgid " -x, --exclude-file=FILE.po entries from FILE.po are not extracted\n"
msgstr " -x, --exclude-file=FILE.po ä¸å–出屬於 FILE.po 的訊æ¯\n"
-#: src/xgettext.c:919
+#: src/xgettext.c:1112
#, c-format
msgid ""
" -cTAG, --add-comments=TAG place comment blocks starting with TAG and\n"
@@ -3800,17 +3836,33 @@ msgid ""
" in output file\n"
msgstr ""
-#: src/xgettext.c:925
+#: src/xgettext.c:1117
+#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#: src/xgettext.c:1121
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#: src/xgettext.c:1126
#, c-format
msgid "Language specific options:\n"
msgstr "個別語言特殊é¸é …:\n"
-#: src/xgettext.c:927
+#: src/xgettext.c:1128
#, c-format
msgid " -a, --extract-all extract all strings\n"
msgstr " -a, --extract-all 抽å–所有字串\n"
-#: src/xgettext.c:929
+#: src/xgettext.c:1130
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3824,7 +3876,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:937
+#: src/xgettext.c:1138
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3838,7 +3890,7 @@ msgstr ""
"Java,\n"
" C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
-#: src/xgettext.c:942
+#: src/xgettext.c:1143
#, c-format
msgid ""
" --flag=WORD:ARG:FLAG additional flag for strings inside the "
@@ -3846,7 +3898,7 @@ msgid ""
" number ARG of keyword WORD\n"
msgstr ""
-#: src/xgettext.c:945
+#: src/xgettext.c:1146
#, fuzzy, c-format
msgid ""
" (only languages C, C++, ObjectiveC, Shell,\n"
@@ -3860,53 +3912,63 @@ msgstr ""
"Java,\n"
" C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
-#: src/xgettext.c:950
+#: src/xgettext.c:1151
#, c-format
msgid " -T, --trigraphs understand ANSI C trigraphs for input\n"
msgstr " -T, --trigraphs 支æ´è®€å–輸入內容中的 ANSI C trigraph\n"
-#: src/xgettext.c:952
+#: src/xgettext.c:1153
#, c-format
msgid " (only languages C, C++, ObjectiveC)\n"
msgstr " (åªé©ç”¨æ–¼ C, C++, ObjectiveC)\n"
-#: src/xgettext.c:954
+#: src/xgettext.c:1155
#, c-format
msgid " --qt recognize Qt format strings\n"
msgstr " --qt è¾¨èª Qt æ ¼å¼çš„字串\n"
-#: src/xgettext.c:956 src/xgettext.c:960 src/xgettext.c:964
+#: src/xgettext.c:1157 src/xgettext.c:1161 src/xgettext.c:1165
#, c-format
msgid " (only language C++)\n"
msgstr " (åªé©ç”¨æ–¼ C++)\n"
-#: src/xgettext.c:958
+#: src/xgettext.c:1159
#, fuzzy, c-format
msgid " --kde recognize KDE 4 format strings\n"
msgstr " --qt è¾¨èª Qt æ ¼å¼çš„字串\n"
-#: src/xgettext.c:962
+#: src/xgettext.c:1163
#, fuzzy, c-format
msgid " --boost recognize Boost format strings\n"
msgstr " --qt è¾¨èª Qt æ ¼å¼çš„字串\n"
-#: src/xgettext.c:966
+#: src/xgettext.c:1167
#, c-format
msgid ""
" --debug more detailed formatstring recognition result\n"
msgstr " --debug 顯示較詳細的格å¼å­—串辨èªçµæžœ\n"
-#: src/xgettext.c:991
+#: src/xgettext.c:1192
#, c-format
msgid " --properties-output write out a Java .properties file\n"
msgstr " --properties-output 輸出檔格å¼ç‚º Java .properties 檔\n"
-#: src/xgettext.c:1006
+#: src/xgettext.c:1196
+#, fuzzy, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr " -f, --files-from=FILE ç”± FILE 讀å–所有輸入檔的ä½ç½®\n"
+
+#: src/xgettext.c:1198
+#, fuzzy, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr " --indent 將輸出çµæžœé€²è¡Œç¸®æŽ’\n"
+
+#: src/xgettext.c:1211
#, c-format
msgid " --copyright-holder=STRING set copyright holder in output\n"
msgstr " --copyright-holder=STRING 設定輸出檔的版權所有者\n"
-#: src/xgettext.c:1008
+#: src/xgettext.c:1213
#, c-format
msgid ""
" --foreign-user omit FSF copyright in output for foreign user\n"
@@ -3914,24 +3976,24 @@ msgstr ""
" --foreign-user 輸出檔ä¸åŠ ä¸Š FSF 的版權宣告,é©ç”¨æ–¼ FSF 以外的"
"專案\n"
-#: src/xgettext.c:1010
+#: src/xgettext.c:1215
#, c-format
msgid " --package-name=PACKAGE set package name in output\n"
msgstr ""
-#: src/xgettext.c:1012
+#: src/xgettext.c:1217
#, fuzzy, c-format
msgid " --package-version=VERSION set package version in output\n"
msgstr " --copyright-holder=STRING 設定輸出檔的版權所有者\n"
-#: src/xgettext.c:1014
+#: src/xgettext.c:1219
#, c-format
msgid ""
" --msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs\n"
msgstr ""
" --msgid-bugs-address=EMAIL@ADDRESS 指定匯報 msgid å•é¡Œæ™‚的郵件地å€\n"
-#: src/xgettext.c:1016
+#: src/xgettext.c:1221
#, c-format
msgid ""
" -m[STRING], --msgstr-prefix[=STRING] use STRING or \"\" as prefix for "
@@ -3939,7 +4001,7 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1019
+#: src/xgettext.c:1224
#, c-format
msgid ""
" -M[STRING], --msgstr-suffix[=STRING] use STRING or \"\" as suffix for "
@@ -3947,52 +4009,52 @@ msgid ""
" values\n"
msgstr ""
-#: src/xgettext.c:1840
+#: src/xgettext.c:2050
#, c-format
msgid ""
"A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
"%s"
msgstr ""
-#: src/xgettext.c:1965
+#: src/xgettext.c:2175
msgid "standard input"
msgstr "標準輸入"
-#: src/xgettext.c:2071
+#: src/xgettext.c:2340
#, c-format
msgid "Non-ASCII character at %s%s."
msgstr ""
-#: src/xgettext.c:2075
+#: src/xgettext.c:2344
#, c-format
msgid "Non-ASCII comment at or before %s%s."
msgstr ""
-#: src/xgettext.c:2080
+#: src/xgettext.c:2349
#, c-format
msgid "Non-ASCII string at %s%s."
msgstr ""
-#: src/xgettext.c:2186 src/xgettext.c:2219 src/xgettext.c:2281
+#: src/xgettext.c:2455 src/xgettext.c:2488 src/xgettext.c:2553
#, c-format
msgid "%s%s: warning: "
msgstr "%s%s: 警告:"
-#: src/xgettext.c:2189
+#: src/xgettext.c:2458
#, c-format
msgid ""
"Although being used in a format string position, the %s is not a valid %s "
"format string. Reason: %s\n"
msgstr ""
-#: src/xgettext.c:2190
+#: src/xgettext.c:2459
#, c-format
msgid ""
"Although declared as such, the %s is not a valid %s format string. Reason: "
"%s\n"
msgstr "縱使表é¢ä¸Š %s 宣告了是 %s æ ¼å¼å­—串,但實際上ä¸æ˜¯ã€‚原因為:%s\n"
-#: src/xgettext.c:2221
+#: src/xgettext.c:2490
#, c-format
msgid ""
"'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -4001,7 +4063,7 @@ msgid ""
"and a mapping instead of a tuple for the arguments.\n"
msgstr ""
-#: src/xgettext.c:2283
+#: src/xgettext.c:2555
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
@@ -4011,27 +4073,27 @@ msgstr ""
"gettext(\"\") 會回傳檔案開始部份的資訊,\n"
"並éžç©ºç™½å­—串。\n"
-#: src/xgettext.c:2979
+#: src/xgettext.c:3292
#, fuzzy, c-format
msgid "ambiguous argument specification for keyword '%.*s'"
msgstr "%2$s 的引數 %1$s ä¸æ˜Žç¢º"
-#: src/xgettext.c:3006
+#: src/xgettext.c:3319
#, c-format
msgid "warning: missing context for keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3031
+#: src/xgettext.c:3344
#, c-format
msgid "warning: missing context for plural argument of keyword '%.*s'"
msgstr ""
-#: src/xgettext.c:3052
+#: src/xgettext.c:3365
#, c-format
msgid "context mismatch between singular and plural form"
msgstr ""
-#: src/xgettext.c:3427
+#: src/xgettext.c:3740
#, fuzzy
msgid ""
"The option --msgid-bugs-address was not specified.\n"
@@ -4044,15 +4106,346 @@ msgstr ""
"MSGID_BUGS_ADDRESS 變數;å¦å‰‡è«‹åœ¨æŒ‡ä»¤ä¸­\n"
"使用 --msgid-bugs-address é¸é …。\n"
-#: src/xgettext.c:3646
+#: src/xgettext.c:3958
#, fuzzy, c-format
msgid "language '%s' unknown"
msgstr "ä¸æ˜Žçš„語言 ‘%s’"
+#: src/x-java.c:494
+#, fuzzy, c-format
+msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: 警告:字串未完çµ"
+
+#: src/x-javascript.c:231
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s%s 出ç¾ä¸å±¬æ–¼ ASCII 字元的字串。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„文字編碼。\n"
+
+#: src/x-javascript.c:276
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-javascript.c:292
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 出ç¾ç„¡æ•ˆè€Œä¸”å分長的ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-javascript.c:304
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 檔案末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-javascript.c:313
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 該行末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-javascript.c:345
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
+msgstr ""
+"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-javascript.c:955
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: 警告:字串未完çµ"
+
+#: src/x-javascript.c:1056
+#, fuzzy, c-format
+msgid "%s:%d: warning: %s is not allowed"
+msgstr "%s:%d: 警告:Unicode 字元無效"
+
+#: src/x-javascript.c:1070
+#, fuzzy, c-format
+msgid "%s:%d: warning: unterminated XML markup"
+msgstr "%s:%d: 警告:字串未完çµ"
+
+#: src/x-perl.c:308
+#, c-format
+msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
+msgstr "%s:%d: EOF 之å‰æ‰¾ä¸åˆ°ä»»ä½•è¡¨ç¤ºå­—串完çµçš„標記 “%sâ€"
+
+#: src/x-perl.c:1043
+#, c-format
+msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
+msgstr "%s:%d: \\x{HEXNUMBER} 缺少了å³é‚Šçš„大括號"
+
+#: src/x-perl.c:1163
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
+msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\lâ€) 無效"
+
+#: src/x-perl.c:1183
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
+msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\uâ€) 無效"
+
+#: src/x-perl.c:1217
+#, c-format
+msgid "%s:%d: invalid variable interpolation at \"%c\""
+msgstr ""
+
+#: src/x-perl.c:1230
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
+msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\Lâ€) 無效"
+
+#: src/x-perl.c:1247
+#, c-format
+msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
+msgstr "%s:%d: 8bit å­—å…ƒ “%câ€ çš„è½‰æ› (“\\Uâ€) 無效"
+
+#: src/x-python.c:279
+msgid ""
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+
+#: src/x-python.c:325
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-python.c:342
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 出ç¾ç„¡æ•ˆè€Œä¸”å分長的ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-python.c:355
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 檔案末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-python.c:365
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code or through a\n"
+"comment as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 該行末端出ç¾ä¸å®Œæ•´çš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-python.c:398
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code or through a comment\n"
+"as specified in http://www.python.org/peps/pep-0263.html.\n"
+msgstr ""
+"%s:%d: 出ç¾ç„¡æ•ˆçš„ä½å…ƒçµ„åºåˆ—。\n"
+"請使用 --from-code é¸é …指定æºä»£ç¢¼çš„正確文字編碼。\n"
+
+#: src/x-python.c:723
+#, c-format
+msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
+msgstr ""
+
+#: src/x-rst.c:109
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: 無效的字串定義"
+
+#: src/x-rst.c:173
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: # 後缺少了數字"
+
+#: src/x-rst.c:208
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: 無效的字串表示å¼"
+
+#: src/x-sh.c:1075
+#, c-format
+msgid ""
+"%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
+"use eval_gettext instead"
+msgstr ""
+"%s:%lu: 警告:$\"...\" 這種格å¼å› ç‚ºå®‰å…¨ç†ç”±å·²ç¶“éŽæ™‚;請改用 eval_gettext"
+
+#: src/x-vala.c:414
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: 警告:字串未完çµ"
+
#: libgettextpo/gettext-po.c:84
msgid "<unnamed>"
msgstr "<未命å>"
+#: libgettextpo/markup.c:366 libgettextpo/markup.c:449
+#, fuzzy
+msgid "invalid UTF-8 sequence"
+msgstr "無效的控制åºåˆ—"
+
+#: libgettextpo/markup.c:377
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: %c"
+msgstr "並éžæœ‰æ•ˆçš„ Java class å稱:%s"
+
+#: libgettextpo/markup.c:397
+#, fuzzy, c-format
+msgid "'%s' is not a valid name: '%c'"
+msgstr "並éžæœ‰æ•ˆçš„ Java class å稱:%s"
+
+#: libgettextpo/markup.c:523 libgettextpo/markup.c:534
+#: libgettextpo/markup.c:559
+#, fuzzy, c-format
+msgid "invalid character reference: %s"
+msgstr "無效的控制åºåˆ—"
+
+#: libgettextpo/markup.c:526
+msgid "not a valid number specification"
+msgstr ""
+
+#: libgettextpo/markup.c:535 libgettextpo/markup.c:606
+msgid "no ending ';'"
+msgstr ""
+
+#: libgettextpo/markup.c:560
+msgid "non-permitted character"
+msgstr ""
+
+#: libgettextpo/markup.c:599
+msgid "empty"
+msgstr ""
+
+#: libgettextpo/markup.c:604
+msgid "unknown"
+msgstr ""
+
+#: libgettextpo/markup.c:608
+#, fuzzy, c-format
+msgid "invalid entity reference: %s"
+msgstr "無效的ä½å…ƒçµ„åºåˆ—"
+
+#: libgettextpo/markup.c:959
+msgid "document must begin with an element"
+msgstr ""
+
+#: libgettextpo/markup.c:994 libgettextpo/markup.c:1301
+#: libgettextpo/markup.c:1332
+#, fuzzy, c-format
+msgid "invalid character after '%s'"
+msgstr "%2$s 的引數 %1$s 無效"
+
+#: libgettextpo/markup.c:1031 libgettextpo/markup.c:1107
+#, c-format
+msgid "missing '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1140 libgettextpo/markup.c:1176
+#, c-format
+msgid "missing '%c' or '%c'"
+msgstr ""
+
+#: libgettextpo/markup.c:1333
+msgid "a close element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1339 libgettextpo/markup.c:1344
+msgid "element is closed"
+msgstr ""
+
+#: libgettextpo/markup.c:1475
+msgid "empty document"
+msgstr ""
+
+#: libgettextpo/markup.c:1488
+msgid "after '<'"
+msgstr ""
+
+#: libgettextpo/markup.c:1495 libgettextpo/markup.c:1527
+msgid "elements still open"
+msgstr ""
+
+#: libgettextpo/markup.c:1500
+msgid "missing '>'"
+msgstr ""
+
+#: libgettextpo/markup.c:1504
+msgid "inside an element name"
+msgstr ""
+
+#: libgettextpo/markup.c:1509
+#, fuzzy
+msgid "inside an attribute name"
+msgstr "未指定éŽæ¿¾å™¨"
+
+#: libgettextpo/markup.c:1513
+msgid "inside an open tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1517
+msgid "after '='"
+msgstr ""
+
+#: libgettextpo/markup.c:1522
+msgid "inside an attribute value"
+msgstr ""
+
+#: libgettextpo/markup.c:1533
+msgid "inside the close tag"
+msgstr ""
+
+#: libgettextpo/markup.c:1537
+msgid "inside a comment or processing instruction"
+msgstr ""
+
+#: libgettextpo/markup.c:1548
+#, c-format
+msgid "document ended unexpectedly: %s"
+msgstr ""
+
+#, fuzzy
+#~ msgid "%s:%lu:%lu: %s"
+#~ msgstr "%s:%d:%d: %s"
+
+#~ msgid ""
+#~ "Language \"glade\" is not supported. %s relies on expat.\n"
+#~ "This version was built without expat.\n"
+#~ msgstr ""
+#~ "ä¸æ”¯æ´ “glade†語言。%s æ˜¯éœ€è¦ expat 軟體的,\n"
+#~ "但這個版本編譯時沒有加入 expat 支æ´ã€‚\n"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s:é¸é …ä¸åˆæ³• -- %c\n"
diff --git a/gettext-tools/projects/ChangeLog b/gettext-tools/projects/ChangeLog.0
index a858056..844cc4b 100644
--- a/gettext-tools/projects/ChangeLog
+++ b/gettext-tools/projects/ChangeLog.0
@@ -1,3 +1,11 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/projects/Makefile.am b/gettext-tools/projects/Makefile.am
index 2f33732..628af62 100644
--- a/gettext-tools/projects/Makefile.am
+++ b/gettext-tools/projects/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-tools/projects subdirectory of GNU gettext
-## Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+## Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
##
## 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
diff --git a/gettext-tools/projects/Makefile.in b/gettext-tools/projects/Makefile.in
index 53bd1c1..c8a69cc 100644
--- a/gettext-tools/projects/Makefile.in
+++ b/gettext-tools/projects/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -76,13 +86,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = projects
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -99,6 +106,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -106,6 +114,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -117,7 +126,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -147,10 +159,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -168,10 +186,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -201,6 +222,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -225,6 +247,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -232,6 +255,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -323,6 +347,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -347,6 +372,8 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkgdatadir = $(datadir)/gettext
pkglibexecdir = @pkglibexecdir@
@@ -358,6 +385,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -419,6 +447,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -433,15 +462,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -450,6 +498,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -464,6 +522,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -472,6 +539,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -502,17 +572,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -551,6 +651,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -586,6 +689,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -609,11 +713,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -624,10 +737,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -656,10 +775,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -719,25 +845,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -749,13 +907,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -764,6 +937,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -775,6 +952,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -785,6 +968,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -807,9 +996,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -831,12 +1029,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -857,6 +1065,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -876,6 +1086,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -891,9 +1102,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -906,9 +1122,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -934,7 +1155,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1010,13 +1235,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1035,6 +1263,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1043,6 +1272,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1052,9 +1282,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1065,6 +1295,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1074,6 +1305,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1083,6 +1315,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1101,6 +1334,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1110,6 +1344,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1140,12 +1375,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1164,6 +1401,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1172,16 +1414,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1200,19 +1459,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1230,6 +1514,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1259,16 +1547,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1294,6 +1591,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1320,6 +1620,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1334,6 +1635,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1455,7 +1757,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits projects/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits projects/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1631,6 +1932,8 @@ uninstall-am: uninstall-local
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-local
+.PRECIOUS: Makefile
+
install-data-local:
$(MKDIR_P) $(DESTDIR)$(projectsdir)
diff --git a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog.1
index fbfa43f..5272c06 100644
--- a/gettext-tools/src/ChangeLog
+++ b/gettext-tools/src/ChangeLog.1
@@ -1,3 +1,353 @@
+2015-10-06 Daiki Ueno <ueno@gnu.org>
+
+ * msgfmt.c (msgfmt_desktop_bulk): Distinguish the number of errors
+ and the exit status.
+ * write-desktop.c (msgdomain_write_desktop_bulk): Don't
+ immediately exit when fwriteerror() returns error.
+
+2015-10-06 Daiki Ueno <ueno@gnu.org>
+
+ msgfmt: Refactor --desktop handling
+ * msgfmt.c (get_languages): Avoid redundant memory allocation.
+ (msgfmt_operand_list_init): New function.
+ (msgfmt_operand_list_destroy): New function.
+ (msgfmt_operand_list_append): New function.
+ (msgfmt_operand_list_add_directory): New function.
+ (msgfmt_desktop_bulk): Rewrite using msgfmt_operand_list_ty.
+
+ * msgfmt.h (msgfmt_operand_ty)
+ (msgfmt_operand_list_ty): New type.
+ * write-desktop.c (msgdomain_write_desktop_bulk):
+ Simplify using msgfmt_operand_list_ty.
+ (msgdomain_write_desktop): Simplify using msgfmt_operand_list_ty.
+ * write-desktop.h (msgdomain_write_desktop_bulk): Take OPERANDS as
+ the first argument, instead of LANGUAGES and MESSAGES.
+
+2015-10-06 Daiki Ueno <ueno@gnu.org>
+
+ * sentence.c (sentence_end): Assign initial values to local
+ variables to suppress compiler warnings with
+ -Wmaybe-uninitialized. This shouldn't address any real bug.
+
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-08-24 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext.c (construct_header): Replace PACKAGE placeholder in
+ the header comment.
+
+2015-06-11 Philip Withnall <philip.withnall@collabora.co.uk>
+
+ xgettext: add support for AppData files
+ * x-appdata.h: New file.
+ * x-appdata.c: New file.
+ * xgettext.c: Include x-appdata.h.
+ (language_to_extractor): Add AppData rule.
+ (extension_to_language): Add AppData rule.
+ * Makefile.am (noinst_HEADERS): Add x-appdata.h.
+ (xgettext_SOURCES): Add x-appdata.c.
+ * FILES: Update.
+
+2015-08-21 Daiki Ueno <ueno@gnu.org>
+
+ xgettext: Allow multiple --copyright-holder
+ Feature requested by Francesco Poli in:
+ <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682580>.
+ * xgettext.c (default_copyright_holder): New constant, renamed
+ from copyright_holder.
+ (copyright_holder): Define as a variable.
+ (main): Allow multiple --copyright-holder options.
+ (construct_header): Support multiple --copyright-holder options.
+
+2015-08-15 Daiki Ueno <ueno@gnu.org>
+
+ * cldr-plurals.c (main): Close FP after use.
+ Reported by Denis Denisov.
+
+2015-07-21 VaÌclav SlaviÌk <vaclav@slavik.io> (tiny change)
+
+ cldr-plurals: Fix --enable-relocatable compilation
+ Compilation of the cldr-plurals tool was broken in the relocatable
+ case because of missing CPPFLAGS/LDFLAGS. Add the same flags used
+ by other tools to the makefile.
+ * Makefile.am (cldr_plurals_CPPFLAGS)
+ (cldr_plurals_LDFLAGS): Adjust for --enable-relocatable
+ compilation.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-06-29 Daiki Ueno <ueno@gnu.org>
+
+ * msginit.c (catalogname_for_locale): Remove sr_YU, which were
+ removed from ISO 3166-1:1997. Add comment saying that pap_AN,
+ which were removed from ISO 3166-1:2006, can be removed in the
+ future.
+ Reported by Jakub Wilk in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00057.html>.
+
+2015-06-25 Daiki Ueno <ueno@gnu.org>
+
+ * x-c.c (literalstring_parse): Bail out if C == NUL. Also adjust
+ the loop invariant in Unicode literal handling.
+ Reported by Hanno Boeck in:
+ <http://savannah.gnu.org/bugs/?45391>.
+
+2015-06-25 Daiki Ueno <ueno@gnu.org>
+
+ * x-c.c (literalstring_parse): Add more NUL checks. Change the
+ loop invariant so that C always points to the character previously
+ pointed by P.
+ Reported by Hanno Boeck in:
+ <http://savannah.gnu.org/bugs/?45391>.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * x-c.c (literalstring_parse): Check if the next character of a
+ backslash is NUL.
+ Reported by Hanno Boeck in:
+ <http://savannah.gnu.org/bugs/?45391>.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * cldr-plurals.c (main): Fix unmatched braces when
+ !(DYNLOAD_LIBEXPAT || HAVE_LIBEXPAT).
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * cldr-plurals.c: Include "basename.h".
+ (main): Place optind on the right hand side of the expression, to
+ work around build failure on Solaris.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (uninstall-local): Remove cldr-plurals.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (noinst_HEADERS): Add cldr-plural.h and
+ cldr-plural-exp.h.
+
+2015-06-22 Daiki Ueno <ueno@gnu.org>
+
+ msginit: Guess plural rules from Unicode CLDR
+ * Makefile.am (noinst_PROGRAMS): Add cldr-plurals.
+ (install-exec-local): Install cldr-plurals.
+ (BUILT_SOURCES): Add cldr-plural.c and cldr-plural.h.
+ (cldr_plural_SOURCES): New variable.
+ (cldr_plural_LDADD): New variable.
+ * cldr-plural-exp.h: New file.
+ * cldr-plural-exp.c: New file.
+ * cldr-plural.y: New file.
+ * cldr-plurals.c: New file.
+ * msginit.c (plural_forms): Call cldr-plurals program if the
+ plural rule is not defined in the code.
+
+2015-06-01 Daiki Ueno <ueno@gnu.org>
+
+ * x-awk.h (EXTENSIONS_AWK): Register file extensions ".gawk" and
+ ".twjr". Suggested by Karl Berry in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-05/msg00032.html>.
+
+2015-05-08 ЧаÑлав Илић (Chusslove Illich) <caslav.ilic@gmx.net> (tiny change)
+
+ * x-c.c (init_flag_table_kde): New function.
+ (additional_keywords_kde): New variable.
+ (activate_additional_keywords_kde): New function.
+ (init_keywords): Optional addition of KDE-specific keywords.
+ * x-c.h (init_flag_table_kde): New function declaration.
+ (activate_additional_keywords_kde): New function declaration.
+ * xgettext.c (main): Invoke addition of KDE-specific keywords when
+ language is C++ with KDE.
+
+2015-03-20 Daiki Ueno <ueno@gnu.org>
+
+ kde-kuit: Use xmlns to avoid element name conflict
+ * format-kde-kuit.c (XML_NS): New macro.
+ (format_parse): Add namespace qualifier to the <kuit> tag.
+
+2015-03-12 Daiki Ueno <ueno@gnu.org>
+
+ * format-kde-kuit.c (format_parse): Remove dead assignment,
+ spotted by clang-analyzer.
+ * x-c.c (phase5_get): Likewise.
+
+2015-03-11 Daiki Ueno <ueno@gnu.org>
+
+ msgunfmt: Check allocated size for static segment
+ Reported by Max Lin in:
+ http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html
+ * read-mo.c (get_sysdep_string): Check if the embedded segment
+ size is valid, before adding it to the string length.
+
+2015-03-06 Daiki Ueno <ueno@gnu.org>
+
+ format-kde: Recognize KUIT markup
+ Reported by Chusslove Illich in:
+ https://lists.gnu.org/archive/html/bug-gettext/2015-01/msg00017.html
+ * format.h (formatstring_kde_kuit): New variable declaration.
+ * format.c (formatstring_parsers): Register formatstring_kde_kuit
+ as a format string parser.
+ * format-kde-kuit.c: New file.
+ * message.h (NFORMATS): Increment.
+ (enum format_type): New enum value format_kde_kuit.
+ * xgettext.c (xgettext_record_flag): Handle format_kde_kuit.
+ * Makefile.am (xgettext_SOURCES): Move libexpat-compat.c to...
+ (libgettextsrc_la_SOURCES): ...here.
+ (xgettext_LDADD): Move @LTLIBEXPAT@ to...
+ (libgettextsrc_la_LDFLAGS): ...here.
+ (FORMAT_SOURCE): Add format-kde-kuit.c.
+
+2015-03-02 Daiki Ueno <ueno@gnu.org>
+
+ xgettext: Support message syntax checks
+ With this change, xgettext could report common syntactic problems
+ in extracted strings. The current built-in checks are
+ ellipsis-unicode, space-ellipsis, and quote-unicode. Those checks
+ can be enabled with --check option of xgettext and disabled with
+ special "xgettext:" comment in source files.
+ Feature suggested by Philip Withnall in:
+ https://savannah.gnu.org/bugs/?44098
+ * message.h (enum syntax_check_type): New enum.
+ (NSYNTAXCHECKS): New constant.
+ (enum is_syntax_check): New enum.
+ (struct message_ty): New field 'do_syntax_check'.
+ (syntax_check_name): New variable declaration.
+ * message.c (syntax_check_name): New variable.
+ * msgl-cat.c (catenate_msgdomain_list): Propagate
+ mp->do_syntax_check.
+ * msgmerge.c (message_merge): Propagate ref->do_syntax_check.
+ * msgl-check.h (syntax_check_message_list): New declaration.
+ * msgl-check.c (syntax_check_ellipsis_unicode): New function.
+ (syntax_check_space_ellipsis): New function.
+ (syntax_check_quote_unicode): New function.
+ (syntax_check_message): New function.
+ (syntax_check_message_list): New function.
+ * read-catalog-abstract.h (po_parse_comment_special): Adjust
+ function declaration.
+ * read-catalog-abstract.c (po_parse_comment_special): Add new
+ argument SCP for syntax checking; all callers changed.
+ * read-catalog.h (DEFAULT_CATALOG_READER_TY): New field
+ 'do_syntax_check'.
+ * read-catalog.c (default_constructor): Initialize
+ this->do_syntax_check.
+ (default_copy_comment_state): Propagate this->do_syntax_check.
+ * sentence.h: New file.
+ * sentence.c: New file.
+ * xgettext.c (long_options): Add options --check and --sentence-end.
+ (main): Handle options --check and --sentence-end.
+ (usage): Document options --check and --sentence-end.
+ (remember_a_message): Propagate do_syntax_check value.
+
+2015-02-05 Alex Henrie <alexhenrie24@gmail.com> (tiny change)
+
+ xgettext: Wrap location comments to 79 characters
+ Previously, messages were wrapped to 79 characters, but location
+ comments were wrapped to 78 characters.
+ * write-po.c (message_print_comment_filepos): Fix off-by-one in
+ calculating line-wrapping width of location comment.
+
+2015-02-03 Daiki Ueno <ueno@gnu.org>
+
+ msgfilter: Factor out quoted string handling
+ For later use in xgettext, separate out the scanner part in
+ filter-quote.c into a separate file. See:
+ <https://savannah.gnu.org/bugs/?44098>.
+ * quote.h: New file split from filter-quote.c.
+ * filter-quote.c: Include "quote.h".
+ (convert_quote_callback): New function.
+ (convert_ascii_quote_to_unicode): Use scan_quoted from quote.h.
+ * Makefile.am (libgettextsrc_la_SOURCES): Add quote.h.
+
+2015-01-29 Daiki Ueno <ueno@gnu.org>
+
+ msgexec: Add --newline option
+ See the commit 96dde0b for the rationale.
+ * msgexec.c (newline): New variable.
+ (long_options): Add --newline option.
+ (main): Handle --newline option.
+ (usage): Document --newline option.
+ (process_string): Handle --newline option.
+
+2015-01-28 Daiki Ueno <ueno@gnu.org>
+
+ msgfilter: Add --newline option
+ The filter program was supposed to handle translation without a
+ newline character at the end of line. This was causing
+ portability problems with standard text processing programs on
+ some platforms (BSD sed, for instance) and not friendly towards
+ POSIX, where a "text file" is required to have an ending newline.
+ The new --newline option controls the behavior. If it is given,
+ both filter input and output are assumed to end with a newline
+ character.
+ * msgfilter.c (newline): New variable.
+ (long_options): Add --newline option.
+ (main): Handle --newline option.
+ (usage): Document --newline option.
+ (process_string_with_newline): New function which wraps
+ process_string.
+ (process_message): Use process_string_with_newline instead of
+ process_string if --newline is specified.
+
+2015-01-24 Daiki Ueno <ueno@gnu.org>
+
+ xgettext, msgmerge: Avoid undefined non-null argument behavior
+ * xgettext.c (remember_a_message): Building with gcc's
+ -fsanitize=undefined and running tests triggered:
+ xgettext.c:2425:17: runtime error: null pointer passed as argument \
+ 2, which is declared to never be null
+ Adjust the argument of strncmp to never be null.
+ * msgmerge.c (message_merge): Likewise for memcpy.
+
+2015-01-23 Daiki Ueno <ueno@gnu.org>
+
+ build: Fix parallel build from git checkout
+ Since po-gram-gen2.h depends on po-gram-gen.h, an explicit
+ dependency on the YACC rule is needed for parallel compilation.
+ * Makefile.am (po-gram-gen.h): Depend on po-gram-gen.c.
+
+2015-01-16 Daiki Ueno <ueno@gnu.org>
+
+ desktop: Avoid useless warning for group header
+ Reported by Marek Černocký at:
+ <https://savannah.gnu.org/bugs/?44005>
+ * read-desktop.c (desktop_lex): Fix "invalid non-blank
+ character" check after reading a group header.
+
+2015-01-13 Daiki Ueno <ueno@gnu.org>
+
+ * x-c.c (phase5_get): Reset raw_expected at the beginning of the
+ function.
+
+2015-01-13 Daiki Ueno <ueno@gnu.org>
+
+ c++: Make C++11 raw string recognition stricter
+ Reported by Vaclav Slavik at:
+ <http://savannah.gnu.org/bugs/?43970>.
+ * x-c.c (struct token_ty): New field 'escape'.
+ (struct xgettext_token_ty): New field 'escape'.
+ (phase5_get): Recognize raw strings more strictly. Set 'escape'
+ field of token appropriately for string literals.
+ (extract_parenthesized): Respect 'escape' field of token.
+
+2015-01-13 Daiki Ueno <ueno@gnu.org>
+
+ c++: Differentiate scanning logic from C
+ To enable raw string literals only in C++, add a flag indicating
+ the current source language is C++.
+ Suggested by Vaclav Slavik at:
+ <https://savannah.gnu.org/bugs/?43970>.
+ * x-c.h (extract_cxx): New declaration.
+ (SCANNERS_C): Use extract_cxx for "C++".
+ * x-c.c (cxx_extensions): New variable.
+ (phase5_get): Respect cxx_extensions and recognize raw string
+ literals only when it is set.
+ (extract_cxx): New function.
+ (extract_c, extract_objc): Reset cxx_extensions.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/src/FILES b/gettext-tools/src/FILES
index 5fb474f..b647a84 100644
--- a/gettext-tools/src/FILES
+++ b/gettext-tools/src/FILES
@@ -357,6 +357,9 @@ msgl-check.c
| x-desktop.h
| x-desktop.c
| String extractor from Desktop Entry file.
+| x-appdata.h
+| x-appdata.c
+| String extractor for AppData files.
| xgettext.c
| Main source for the 'xgettext' program.
|
diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
index 9f2325f..7109072 100644
--- a/gettext-tools/src/Makefile.am
+++ b/gettext-tools/src/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/src subdirectory of GNU gettext
-## Copyright (C) 1995-1998, 2000-2011 Free Software Foundation, Inc.
+## Copyright (C) 1995-1998, 2000-2011, 2015 Free Software Foundation,
+## Inc.
##
## 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
@@ -29,7 +30,7 @@ msgcmp msgfmt msgmerge msgunfmt xgettext \
msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq \
recode-sr-latin
-noinst_PROGRAMS = hostname urlget
+noinst_PROGRAMS = hostname urlget cldr-plurals
lib_LTLIBRARIES = libgettextsrc.la
@@ -38,7 +39,8 @@ po-lex.h open-catalog.h read-catalog-abstract.h read-catalog.h \
read-po.h read-properties.h read-stringtable.h \
str-list.h \
color.h write-catalog.h write-po.h write-properties.h write-stringtable.h \
-dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h \
+dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h cldr-plural.h \
+cldr-plural-exp.h locating-rule.h its.h \
msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-cat.h msgl-header.h \
msgl-english.h msgl-check.h msgl-fsearch.h msgfmt.h msgunfmt.h \
plural-count.h plural-eval.h plural-distrib.h \
@@ -49,13 +51,14 @@ read-resources.h write-resources.h \
read-tcl.h write-tcl.h \
write-qt.h \
read-desktop.h write-desktop.h \
+write-xml.h \
po-time.h plural-table.h lang-table.h format.h filters.h \
xgettext.h x-c.h x-po.h x-sh.h x-python.h x-lisp.h x-elisp.h x-librep.h \
x-scheme.h x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h \
x-tcl.h x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h x-lua.h \
-x-javascript.h x-vala.h x-gsettings.h x-desktop.h libexpat-compat.h
+x-javascript.h x-vala.h x-gsettings.h x-desktop.h x-appdata.h
-EXTRA_DIST += FILES project-id ChangeLog.0
+EXTRA_DIST += FILES project-id
aliaspath = $(localedir)
jardir = $(datadir)/gettext
@@ -138,6 +141,7 @@ FORMAT_SOURCE += \
format-qt.c \
format-qt-plural.c \
format-kde.c \
+ format-kde-kuit.c \
format-boost.c \
format-lua.c \
format-javascript.c
@@ -148,9 +152,9 @@ $(COMMON_SOURCE) read-catalog.c \
color.c write-catalog.c write-properties.c write-stringtable.c write-po.c \
msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \
msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c plural-eval.c \
-plural-table.c \
+plural-table.c quote.h sentence.h sentence.c \
$(FORMAT_SOURCE) \
-read-desktop.c
+read-desktop.c locating-rule.c its.c
# msggrep needs pattern matching.
LIBGREP = ../libgrep/libgrep.a
@@ -161,7 +165,8 @@ msgcmp_SOURCES += msgl-fsearch.c
msgfmt_SOURCES = msgfmt.c
msgfmt_SOURCES += \
write-mo.c write-java.c write-csharp.c write-resources.c write-tcl.c \
- write-qt.c write-desktop.c ../../gettext-runtime/intl/hash-string.c
+ write-qt.c write-desktop.c write-xml.c \
+ ../../gettext-runtime/intl/hash-string.c
if !WOE32DLL
msgmerge_SOURCES = msgmerge.c
else
@@ -179,8 +184,7 @@ endif
xgettext_SOURCES += \
x-c.c x-po.c x-sh.c x-python.c x-lisp.c x-elisp.c x-librep.c x-scheme.c \
x-smalltalk.c x-java.c x-csharp.c x-awk.c x-ycp.c x-tcl.c x-perl.c x-php.c \
- x-rst.c x-glade.c x-lua.c x-javascript.c x-vala.c x-gsettings.c \
- libexpat-compat.c \
+ x-rst.c x-lua.c x-javascript.c x-vala.c \
x-desktop.c
if !WOE32DLL
msgattrib_SOURCES = msgattrib.c
@@ -236,6 +240,9 @@ endif
recode_sr_latin_SOURCES = recode-sr-latin.c filter-sr-latin.c
hostname_SOURCES = hostname.c
urlget_SOURCES = urlget.c
+cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c
+cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML)
+cldr_plurals_LDADD = libgettextsrc.la $(LDADD)
# How to build libgettextsrc.la.
# Need ../gnulib-lib/libgettextlib.la.
@@ -249,7 +256,7 @@ libgettextsrc_la_LDFLAGS = \
-release @VERSION@ \
../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined
-libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS)
+libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS) $(INCXML)
# Tell the mingw or Cygwin linker which symbols to export.
if WOE32DLL
@@ -278,7 +285,7 @@ msgcmp_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD
msgfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
msgmerge_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD) $(OPENMP_CFLAGS)
msgunfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
-xgettext_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @LTLIBEXPAT@ @LTLIBICONV@ $(WOE32_LDADD)
+xgettext_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @LTLIBICONV@ $(WOE32_LDADD)
msgattrib_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
msgcat_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
msgcomm_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
@@ -329,6 +336,7 @@ msguniq_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
recode_sr_latin_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
hostname_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
+cldr_plurals_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
if RELOCATABLE_VIA_LD
msgcmp_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
msgfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
@@ -348,6 +356,7 @@ msguniq_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
recode_sr_latin_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
hostname_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
urlget_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
+cldr_plurals_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
endif
# Linking with C++ libraries is needed _only_ on mingw and Cygwin.
@@ -446,7 +455,7 @@ endif
# Special rules for bison and flex generated files.
BUILT_SOURCES = \
- po-gram-gen.c po-gram-gen.h po-gram-gen2.h
+ po-gram-gen.c po-gram-gen.h po-gram-gen2.h cldr-plural.c cldr-plural.h
po-lex.o po-lex.lo: po-gram-gen2.h
po-gram-gen2.h: po-gram-gen.h
@@ -455,6 +464,7 @@ po-gram-gen2.h: po-gram-gen.h
$(SED) -e 's/yy/po_gram_/g' -e 's/extern /extern DLL_VARIABLE /' \
$${srcdir}po-gram-gen.h > $@-tmp && \
mv $@-tmp $@
+po-gram-gen.h: po-gram-gen.c
# Special rules for installation of auxiliary programs.
@@ -463,6 +473,7 @@ install-exec-local:
$(MKDIR_P) $(DESTDIR)$(pkglibdir)
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) hostname$(EXEEXT) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) urlget$(EXEEXT) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) cldr-plurals$(EXEEXT) $(DESTDIR)$(pkglibdir)/cldr-plurals$(EXEEXT)
$(INSTALL_SCRIPT) user-email $(DESTDIR)$(pkglibdir)/user-email
$(INSTALL_SCRIPT) $(srcdir)/project-id $(DESTDIR)$(pkglibdir)/project-id
@@ -472,6 +483,7 @@ installdirs-local:
uninstall-local:
$(RM) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
$(RM) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
+ $(RM) $(DESTDIR)$(pkglibdir)/cldr-plurals$(EXEEXT)
$(RM) $(DESTDIR)$(pkglibdir)/user-email
$(RM) $(DESTDIR)$(pkglibdir)/project-id
diff --git a/gettext-tools/src/Makefile.in b/gettext-tools/src/Makefile.in
index 4e29138..00da903 100644
--- a/gettext-tools/src/Makefile.in
+++ b/gettext-tools/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -83,7 +93,8 @@ bin_PROGRAMS = msgcmp$(EXEEXT) msgfmt$(EXEEXT) msgmerge$(EXEEXT) \
msgen$(EXEEXT) msgexec$(EXEEXT) msgfilter$(EXEEXT) \
msggrep$(EXEEXT) msginit$(EXEEXT) msguniq$(EXEEXT) \
recode-sr-latin$(EXEEXT)
-noinst_PROGRAMS = hostname$(EXEEXT) urlget$(EXEEXT)
+noinst_PROGRAMS = hostname$(EXEEXT) urlget$(EXEEXT) \
+ cldr-plurals$(EXEEXT)
# Tell the mingw or Cygwin linker which symbols to export.
@WOE32DLL_TRUE@am__append_1 = ../woe32dll/gettextsrc-exports.c
@@ -91,15 +102,10 @@ noinst_PROGRAMS = hostname$(EXEEXT) urlget$(EXEEXT)
@WOE32DLL_TRUE@am__append_3 = $(GETTEXTLIB_EXPORTS_FLAGS)
@WOE32_TRUE@am__append_4 = gettext.res
subdir = src
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs \
- $(srcdir)/user-email.sh.in po-gram-gen.c \
- $(top_srcdir)/../build-aux/ylwrap $(noinst_HEADERS) ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -116,6 +122,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -123,6 +130,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -134,7 +142,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -164,10 +175,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -185,10 +202,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -218,6 +238,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -242,6 +263,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -249,6 +271,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -340,6 +363,8 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = user-email
@@ -381,15 +406,17 @@ am__libgettextsrc_la_SOURCES_DIST = message.c po-error.c po-xerror.c \
write-properties.c write-stringtable.c write-po.c msgl-ascii.c \
msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c \
msgl-english.c msgl-check.c file-list.c msgl-charset.c \
- po-time.c plural-exp.c plural-eval.c plural-table.c format.c \
- format-invalid.h format-c.c format-c-parse.h format-sh.c \
- format-python.c format-python-brace.c format-lisp.c \
- format-elisp.c format-librep.c format-scheme.c format-java.c \
- format-csharp.c format-awk.c format-pascal.c format-ycp.c \
- format-tcl.c format-perl.c format-perl-brace.c format-php.c \
+ po-time.c plural-exp.c plural-eval.c plural-table.c quote.h \
+ sentence.h sentence.c format.c format-invalid.h format-c.c \
+ format-c-parse.h format-sh.c format-python.c \
+ format-python-brace.c format-lisp.c format-elisp.c \
+ format-librep.c format-scheme.c format-java.c format-csharp.c \
+ format-awk.c format-pascal.c format-ycp.c format-tcl.c \
+ format-perl.c format-perl-brace.c format-php.c \
format-gcc-internal.c format-gfc-internal.c format-qt.c \
- format-qt-plural.c format-kde.c format-boost.c format-lua.c \
- format-javascript.c ../woe32dll/c++format.cc read-desktop.c \
+ format-qt-plural.c format-kde.c format-kde-kuit.c \
+ format-boost.c format-lua.c format-javascript.c \
+ ../woe32dll/c++format.cc read-desktop.c locating-rule.c its.c \
../woe32dll/gettextsrc-exports.c
am__objects_1 = libgettextsrc_la-message.lo \
libgettextsrc_la-po-error.lo libgettextsrc_la-po-xerror.lo \
@@ -424,6 +451,7 @@ am__dirstamp = $(am__leading_dot)dirstamp
@WOE32DLL_FALSE@ libgettextsrc_la-format-qt.lo \
@WOE32DLL_FALSE@ libgettextsrc_la-format-qt-plural.lo \
@WOE32DLL_FALSE@ libgettextsrc_la-format-kde.lo \
+@WOE32DLL_FALSE@ libgettextsrc_la-format-kde-kuit.lo \
@WOE32DLL_FALSE@ libgettextsrc_la-format-boost.lo \
@WOE32DLL_FALSE@ libgettextsrc_la-format-lua.lo \
@WOE32DLL_FALSE@ libgettextsrc_la-format-javascript.lo
@@ -451,6 +479,7 @@ am__dirstamp = $(am__leading_dot)dirstamp
@WOE32DLL_TRUE@ libgettextsrc_la-format-qt.lo \
@WOE32DLL_TRUE@ libgettextsrc_la-format-qt-plural.lo \
@WOE32DLL_TRUE@ libgettextsrc_la-format-kde.lo \
+@WOE32DLL_TRUE@ libgettextsrc_la-format-kde-kuit.lo \
@WOE32DLL_TRUE@ libgettextsrc_la-format-boost.lo \
@WOE32DLL_TRUE@ libgettextsrc_la-format-lua.lo \
@WOE32DLL_TRUE@ libgettextsrc_la-format-javascript.lo
@@ -467,19 +496,31 @@ am_libgettextsrc_la_OBJECTS = $(am__objects_1) \
libgettextsrc_la-msgl-check.lo libgettextsrc_la-file-list.lo \
libgettextsrc_la-msgl-charset.lo libgettextsrc_la-po-time.lo \
libgettextsrc_la-plural-exp.lo libgettextsrc_la-plural-eval.lo \
- libgettextsrc_la-plural-table.lo $(am__objects_2) \
- libgettextsrc_la-read-desktop.lo $(am__objects_3)
+ libgettextsrc_la-plural-table.lo libgettextsrc_la-sentence.lo \
+ $(am__objects_2) libgettextsrc_la-read-desktop.lo \
+ libgettextsrc_la-locating-rule.lo libgettextsrc_la-its.lo \
+ $(am__objects_3)
libgettextsrc_la_OBJECTS = $(am_libgettextsrc_la_OBJECTS)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-am_hostname_OBJECTS = hostname-hostname.$(OBJEXT)
-hostname_OBJECTS = $(am_hostname_OBJECTS)
-hostname_LDADD = $(LDADD)
+am_cldr_plurals_OBJECTS = cldr_plurals-cldr-plural.$(OBJEXT) \
+ cldr_plurals-cldr-plural-exp.$(OBJEXT) \
+ cldr_plurals-cldr-plurals.$(OBJEXT)
+cldr_plurals_OBJECTS = $(am_cldr_plurals_OBJECTS)
am__DEPENDENCIES_1 =
@WOE32_TRUE@am__DEPENDENCIES_2 = gettext.res
+am__DEPENDENCIES_3 = ../gnulib-lib/libgettextlib.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+cldr_plurals_DEPENDENCIES = libgettextsrc.la $(am__DEPENDENCIES_3)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
+cldr_plurals_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(cldr_plurals_CFLAGS) \
+ $(CFLAGS) $(cldr_plurals_LDFLAGS) $(LDFLAGS) -o $@
+am_hostname_OBJECTS = hostname-hostname.$(OBJEXT)
+hostname_OBJECTS = $(am_hostname_OBJECTS)
+hostname_LDADD = $(LDADD)
hostname_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(hostname_LDFLAGS) $(LDFLAGS) -o $@
@@ -533,6 +574,7 @@ am_msgfmt_OBJECTS = msgfmt-msgfmt.$(OBJEXT) msgfmt-write-mo.$(OBJEXT) \
msgfmt-write-java.$(OBJEXT) msgfmt-write-csharp.$(OBJEXT) \
msgfmt-write-resources.$(OBJEXT) msgfmt-write-tcl.$(OBJEXT) \
msgfmt-write-qt.$(OBJEXT) msgfmt-write-desktop.$(OBJEXT) \
+ msgfmt-write-xml.$(OBJEXT) \
../../gettext-runtime/intl/msgfmt-hash-string.$(OBJEXT)
msgfmt_OBJECTS = $(am_msgfmt_OBJECTS)
msgfmt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -594,8 +636,7 @@ urlget_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
am__xgettext_SOURCES_DIST = xgettext.c x-c.c x-po.c x-sh.c x-python.c \
x-lisp.c x-elisp.c x-librep.c x-scheme.c x-smalltalk.c \
x-java.c x-csharp.c x-awk.c x-ycp.c x-tcl.c x-perl.c x-php.c \
- x-rst.c x-glade.c x-lua.c x-javascript.c x-vala.c \
- x-gsettings.c libexpat-compat.c x-desktop.c \
+ x-rst.c x-lua.c x-javascript.c x-vala.c x-desktop.c \
../woe32dll/c++xgettext.cc
@WOE32DLL_FALSE@am_xgettext_OBJECTS = xgettext-xgettext.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-c.$(OBJEXT) xgettext-x-po.$(OBJEXT) \
@@ -614,12 +655,9 @@ am__xgettext_SOURCES_DIST = xgettext.c x-c.c x-po.c x-sh.c x-python.c \
@WOE32DLL_FALSE@ xgettext-x-perl.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-php.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-rst.$(OBJEXT) \
-@WOE32DLL_FALSE@ xgettext-x-glade.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-lua.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-javascript.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-vala.$(OBJEXT) \
-@WOE32DLL_FALSE@ xgettext-x-gsettings.$(OBJEXT) \
-@WOE32DLL_FALSE@ xgettext-libexpat-compat.$(OBJEXT) \
@WOE32DLL_FALSE@ xgettext-x-desktop.$(OBJEXT)
@WOE32DLL_TRUE@am_xgettext_OBJECTS = \
@WOE32DLL_TRUE@ ../woe32dll/xgettext-c++xgettext.$(OBJEXT) \
@@ -639,12 +677,9 @@ am__xgettext_SOURCES_DIST = xgettext.c x-c.c x-po.c x-sh.c x-python.c \
@WOE32DLL_TRUE@ xgettext-x-perl.$(OBJEXT) \
@WOE32DLL_TRUE@ xgettext-x-php.$(OBJEXT) \
@WOE32DLL_TRUE@ xgettext-x-rst.$(OBJEXT) \
-@WOE32DLL_TRUE@ xgettext-x-glade.$(OBJEXT) \
@WOE32DLL_TRUE@ xgettext-x-lua.$(OBJEXT) \
@WOE32DLL_TRUE@ xgettext-x-javascript.$(OBJEXT) \
@WOE32DLL_TRUE@ xgettext-x-vala.$(OBJEXT) \
-@WOE32DLL_TRUE@ xgettext-x-gsettings.$(OBJEXT) \
-@WOE32DLL_TRUE@ xgettext-libexpat-compat.$(OBJEXT) \
@WOE32DLL_TRUE@ xgettext-x-desktop.$(OBJEXT)
xgettext_OBJECTS = $(am_xgettext_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
@@ -708,24 +743,25 @@ am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
am__v_YACC_0 = @echo " YACC " $@;
am__v_YACC_1 =
YLWRAP = $(top_srcdir)/../build-aux/ylwrap
-SOURCES = $(libgettextsrc_la_SOURCES) $(hostname_SOURCES) \
- $(msgattrib_SOURCES) $(msgcat_SOURCES) $(msgcmp_SOURCES) \
- $(msgcomm_SOURCES) $(msgconv_SOURCES) $(msgen_SOURCES) \
- $(msgexec_SOURCES) $(msgfilter_SOURCES) $(msgfmt_SOURCES) \
- $(msggrep_SOURCES) $(msginit_SOURCES) $(msgmerge_SOURCES) \
- $(msgunfmt_SOURCES) $(msguniq_SOURCES) \
+SOURCES = $(libgettextsrc_la_SOURCES) $(cldr_plurals_SOURCES) \
+ $(hostname_SOURCES) $(msgattrib_SOURCES) $(msgcat_SOURCES) \
+ $(msgcmp_SOURCES) $(msgcomm_SOURCES) $(msgconv_SOURCES) \
+ $(msgen_SOURCES) $(msgexec_SOURCES) $(msgfilter_SOURCES) \
+ $(msgfmt_SOURCES) $(msggrep_SOURCES) $(msginit_SOURCES) \
+ $(msgmerge_SOURCES) $(msgunfmt_SOURCES) $(msguniq_SOURCES) \
$(recode_sr_latin_SOURCES) $(urlget_SOURCES) \
$(xgettext_SOURCES)
DIST_SOURCES = $(am__libgettextsrc_la_SOURCES_DIST) \
- $(hostname_SOURCES) $(am__msgattrib_SOURCES_DIST) \
- $(am__msgcat_SOURCES_DIST) $(msgcmp_SOURCES) \
- $(am__msgcomm_SOURCES_DIST) $(am__msgconv_SOURCES_DIST) \
- $(am__msgen_SOURCES_DIST) $(msgexec_SOURCES) \
- $(am__msgfilter_SOURCES_DIST) $(msgfmt_SOURCES) \
- $(am__msggrep_SOURCES_DIST) $(msginit_SOURCES) \
- $(am__msgmerge_SOURCES_DIST) $(msgunfmt_SOURCES) \
- $(am__msguniq_SOURCES_DIST) $(recode_sr_latin_SOURCES) \
- $(urlget_SOURCES) $(am__xgettext_SOURCES_DIST)
+ $(cldr_plurals_SOURCES) $(hostname_SOURCES) \
+ $(am__msgattrib_SOURCES_DIST) $(am__msgcat_SOURCES_DIST) \
+ $(msgcmp_SOURCES) $(am__msgcomm_SOURCES_DIST) \
+ $(am__msgconv_SOURCES_DIST) $(am__msgen_SOURCES_DIST) \
+ $(msgexec_SOURCES) $(am__msgfilter_SOURCES_DIST) \
+ $(msgfmt_SOURCES) $(am__msggrep_SOURCES_DIST) \
+ $(msginit_SOURCES) $(am__msgmerge_SOURCES_DIST) \
+ $(msgunfmt_SOURCES) $(am__msguniq_SOURCES_DIST) \
+ $(recode_sr_latin_SOURCES) $(urlget_SOURCES) \
+ $(am__xgettext_SOURCES_DIST)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -751,6 +787,9 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/user-email.sh.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs \
+ $(top_srcdir)/../build-aux/ylwrap cldr-plural.c po-gram-gen.c
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkgdatadir = $(datadir)/gettext
pkglibdir = $(libdir)/gettext
@@ -763,6 +802,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -834,6 +874,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -848,15 +889,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -865,6 +925,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -879,6 +949,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -887,6 +966,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -917,17 +999,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -966,6 +1078,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -1001,6 +1116,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -1024,11 +1140,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -1039,10 +1164,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -1071,10 +1202,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -1134,25 +1272,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -1164,13 +1334,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -1179,6 +1364,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -1190,6 +1379,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -1200,6 +1395,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -1222,9 +1423,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -1246,12 +1456,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -1272,6 +1492,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -1291,6 +1513,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -1306,9 +1529,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -1321,9 +1549,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1349,7 +1582,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1425,13 +1662,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1450,6 +1690,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1458,6 +1699,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1467,9 +1709,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1480,6 +1722,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1489,6 +1732,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1498,6 +1742,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1516,6 +1761,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1525,6 +1771,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1555,12 +1802,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1581,6 +1830,11 @@ RELOCATABLE_STRIP = :
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1589,16 +1843,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1617,19 +1888,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1647,6 +1943,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1676,16 +1976,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1711,6 +2020,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1737,6 +2049,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1751,6 +2064,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1847,9 +2161,8 @@ AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies subdir-objects
# Special rules for C# auxiliary programs.
# Special rules for Tcl auxiliary program.
-EXTRA_DIST = FILES project-id ChangeLog.0 \
- gnu/gettext/DumpResource.java gnu/gettext/GetURL.java \
- msgfmt.cs msgunfmt.cs msgunfmt.tcl
+EXTRA_DIST = FILES project-id gnu/gettext/DumpResource.java \
+ gnu/gettext/GetURL.java msgfmt.cs msgunfmt.cs msgunfmt.tcl
MOSTLYCLEANFILES = core *.stackdump $(am__append_4)
CLEANFILES = gnu.gettext.DumpResource$(EXEEXT) \
gnu.gettext.GetURL$(EXEEXT) gettext.jar gnu/gettext/*.class \
@@ -1863,7 +2176,8 @@ po-lex.h open-catalog.h read-catalog-abstract.h read-catalog.h \
read-po.h read-properties.h read-stringtable.h \
str-list.h \
color.h write-catalog.h write-po.h write-properties.h write-stringtable.h \
-dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h \
+dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h cldr-plural.h \
+cldr-plural-exp.h locating-rule.h its.h \
msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-cat.h msgl-header.h \
msgl-english.h msgl-check.h msgl-fsearch.h msgfmt.h msgunfmt.h \
plural-count.h plural-eval.h plural-distrib.h \
@@ -1874,11 +2188,12 @@ read-resources.h write-resources.h \
read-tcl.h write-tcl.h \
write-qt.h \
read-desktop.h write-desktop.h \
+write-xml.h \
po-time.h plural-table.h lang-table.h format.h filters.h \
xgettext.h x-c.h x-po.h x-sh.h x-python.h x-lisp.h x-elisp.h x-librep.h \
x-scheme.h x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h \
x-tcl.h x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h x-lua.h \
-x-javascript.h x-vala.h x-gsettings.h x-desktop.h libexpat-compat.h
+x-javascript.h x-vala.h x-gsettings.h x-desktop.h x-appdata.h
aliaspath = $(localedir)
jardir = $(datadir)/gettext
@@ -1921,7 +2236,7 @@ dir-list.c str-list.c
@WOE32DLL_FALSE@ format-perl.c format-perl-brace.c format-php.c \
@WOE32DLL_FALSE@ format-gcc-internal.c format-gfc-internal.c \
@WOE32DLL_FALSE@ format-qt.c format-qt-plural.c format-kde.c \
-@WOE32DLL_FALSE@ format-boost.c format-lua.c \
+@WOE32DLL_FALSE@ format-kde-kuit.c format-boost.c format-lua.c \
@WOE32DLL_FALSE@ format-javascript.c
@WOE32DLL_TRUE@FORMAT_SOURCE = ../woe32dll/c++format.cc \
@WOE32DLL_TRUE@ format-invalid.h format-c.c format-c-parse.h \
@@ -1933,7 +2248,8 @@ dir-list.c str-list.c
@WOE32DLL_TRUE@ format-perl.c format-perl-brace.c format-php.c \
@WOE32DLL_TRUE@ format-gcc-internal.c format-gfc-internal.c \
@WOE32DLL_TRUE@ format-qt.c format-qt-plural.c format-kde.c \
-@WOE32DLL_TRUE@ format-boost.c format-lua.c format-javascript.c
+@WOE32DLL_TRUE@ format-kde-kuit.c format-boost.c format-lua.c \
+@WOE32DLL_TRUE@ format-javascript.c
# libgettextsrc contains all code that is needed by at least two programs.
libgettextsrc_la_SOURCES = $(COMMON_SOURCE) read-catalog.c color.c \
@@ -1941,7 +2257,8 @@ libgettextsrc_la_SOURCES = $(COMMON_SOURCE) read-catalog.c color.c \
write-po.c msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c \
msgl-header.c msgl-english.c msgl-check.c file-list.c \
msgl-charset.c po-time.c plural-exp.c plural-eval.c \
- plural-table.c $(FORMAT_SOURCE) read-desktop.c $(am__append_1)
+ plural-table.c quote.h sentence.h sentence.c $(FORMAT_SOURCE) \
+ read-desktop.c locating-rule.c its.c $(am__append_1)
# msggrep needs pattern matching.
LIBGREP = ../libgrep/libgrep.a
@@ -1950,7 +2267,7 @@ LIBGREP = ../libgrep/libgrep.a
msgcmp_SOURCES = msgcmp.c msgl-fsearch.c
msgfmt_SOURCES = msgfmt.c write-mo.c write-java.c write-csharp.c \
write-resources.c write-tcl.c write-qt.c write-desktop.c \
- ../../gettext-runtime/intl/hash-string.c
+ write-xml.c ../../gettext-runtime/intl/hash-string.c
@WOE32DLL_FALSE@msgmerge_SOURCES = msgmerge.c msgl-fsearch.c \
@WOE32DLL_FALSE@ lang-table.c plural-count.c
@WOE32DLL_TRUE@msgmerge_SOURCES = ../woe32dll/c++msgmerge.cc \
@@ -1961,16 +2278,14 @@ msgunfmt_SOURCES = msgunfmt.c read-mo.c read-java.c read-csharp.c \
@WOE32DLL_FALSE@ x-python.c x-lisp.c x-elisp.c x-librep.c \
@WOE32DLL_FALSE@ x-scheme.c x-smalltalk.c x-java.c x-csharp.c \
@WOE32DLL_FALSE@ x-awk.c x-ycp.c x-tcl.c x-perl.c x-php.c \
-@WOE32DLL_FALSE@ x-rst.c x-glade.c x-lua.c x-javascript.c \
-@WOE32DLL_FALSE@ x-vala.c x-gsettings.c libexpat-compat.c \
+@WOE32DLL_FALSE@ x-rst.c x-lua.c x-javascript.c x-vala.c \
@WOE32DLL_FALSE@ x-desktop.c
@WOE32DLL_TRUE@xgettext_SOURCES = ../woe32dll/c++xgettext.cc x-c.c \
@WOE32DLL_TRUE@ x-po.c x-sh.c x-python.c x-lisp.c x-elisp.c \
@WOE32DLL_TRUE@ x-librep.c x-scheme.c x-smalltalk.c x-java.c \
@WOE32DLL_TRUE@ x-csharp.c x-awk.c x-ycp.c x-tcl.c x-perl.c \
-@WOE32DLL_TRUE@ x-php.c x-rst.c x-glade.c x-lua.c \
-@WOE32DLL_TRUE@ x-javascript.c x-vala.c x-gsettings.c \
-@WOE32DLL_TRUE@ libexpat-compat.c x-desktop.c
+@WOE32DLL_TRUE@ x-php.c x-rst.c x-lua.c x-javascript.c x-vala.c \
+@WOE32DLL_TRUE@ x-desktop.c
@WOE32DLL_FALSE@msgattrib_SOURCES = msgattrib.c
@WOE32DLL_TRUE@msgattrib_SOURCES = ../woe32dll/c++msgattrib.cc
@WOE32DLL_FALSE@msgcat_SOURCES = msgcat.c
@@ -2000,6 +2315,9 @@ msginit_SOURCES = msginit.c lang-table.c plural-count.c \
recode_sr_latin_SOURCES = recode-sr-latin.c filter-sr-latin.c
hostname_SOURCES = hostname.c
urlget_SOURCES = urlget.c
+cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c
+cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML)
+cldr_plurals_LDADD = libgettextsrc.la $(LDADD)
# How to build libgettextsrc.la.
# Need ../gnulib-lib/libgettextlib.la.
@@ -2012,7 +2330,7 @@ urlget_SOURCES = urlget.c
libgettextsrc_la_LDFLAGS = -release @VERSION@ \
../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ \
@LTLIBICONV@ -lc -no-undefined $(am__append_2)
-libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_3)
+libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS) $(INCXML) $(am__append_3)
# Compile-time flags for particular source files.
msgmerge_CFLAGS = $(AM_CFLAGS) $(OPENMP_CFLAGS)
@@ -2026,7 +2344,7 @@ msgcmp_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD
msgfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
msgmerge_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD) $(OPENMP_CFLAGS)
msgunfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
-xgettext_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @LTLIBEXPAT@ @LTLIBICONV@ $(WOE32_LDADD)
+xgettext_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @LTLIBICONV@ $(WOE32_LDADD)
msgattrib_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
msgcat_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
msgcomm_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
@@ -2077,6 +2395,7 @@ msguniq_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
recode_sr_latin_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
hostname_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
+cldr_plurals_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
@RELOCATABLE_VIA_LD_TRUE@msgcmp_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
@RELOCATABLE_VIA_LD_TRUE@msgfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
@RELOCATABLE_VIA_LD_TRUE@msgmerge_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
@@ -2095,6 +2414,7 @@ urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
@RELOCATABLE_VIA_LD_TRUE@recode_sr_latin_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
@RELOCATABLE_VIA_LD_TRUE@hostname_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
@RELOCATABLE_VIA_LD_TRUE@urlget_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
+@RELOCATABLE_VIA_LD_TRUE@cldr_plurals_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
# Linking with C++ libraries is needed _only_ on mingw and Cygwin.
@WOE32DLL_FALSE@libgettextsrc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
@@ -2210,7 +2530,7 @@ urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
# Special rules for bison and flex generated files.
BUILT_SOURCES = \
- po-gram-gen.c po-gram-gen.h po-gram-gen2.h
+ po-gram-gen.c po-gram-gen.h po-gram-gen2.h cldr-plural.c cldr-plural.h
# Special rules for Java compilation.
@@ -2243,7 +2563,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits src/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -2383,6 +2702,10 @@ clean-noinstPROGRAMS:
echo " rm -f" $$list; \
rm -f $$list
+cldr-plurals$(EXEEXT): $(cldr_plurals_OBJECTS) $(cldr_plurals_DEPENDENCIES) $(EXTRA_cldr_plurals_DEPENDENCIES)
+ @rm -f cldr-plurals$(EXEEXT)
+ $(AM_V_CCLD)$(cldr_plurals_LINK) $(cldr_plurals_OBJECTS) $(cldr_plurals_LDADD) $(LIBS)
+
hostname$(EXEEXT): $(hostname_OBJECTS) $(hostname_DEPENDENCIES) $(EXTRA_hostname_DEPENDENCIES)
@rm -f hostname$(EXEEXT)
$(AM_V_CCLD)$(hostname_LINK) $(hostname_OBJECTS) $(hostname_LDADD) $(LIBS)
@@ -2592,6 +2915,9 @@ libgettextsrc_la-plural-eval.lo: plural-eval.c
libgettextsrc_la-plural-table.lo: plural-table.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-plural-table.lo `test -f 'plural-table.c' || echo '$(srcdir)/'`plural-table.c
+libgettextsrc_la-sentence.lo: sentence.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-sentence.lo `test -f 'sentence.c' || echo '$(srcdir)/'`sentence.c
+
libgettextsrc_la-format.lo: format.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-format.lo `test -f 'format.c' || echo '$(srcdir)/'`format.c
@@ -2661,6 +2987,9 @@ libgettextsrc_la-format-qt-plural.lo: format-qt-plural.c
libgettextsrc_la-format-kde.lo: format-kde.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-format-kde.lo `test -f 'format-kde.c' || echo '$(srcdir)/'`format-kde.c
+libgettextsrc_la-format-kde-kuit.lo: format-kde-kuit.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-format-kde-kuit.lo `test -f 'format-kde-kuit.c' || echo '$(srcdir)/'`format-kde-kuit.c
+
libgettextsrc_la-format-boost.lo: format-boost.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-format-boost.lo `test -f 'format-boost.c' || echo '$(srcdir)/'`format-boost.c
@@ -2673,9 +3002,33 @@ libgettextsrc_la-format-javascript.lo: format-javascript.c
libgettextsrc_la-read-desktop.lo: read-desktop.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-read-desktop.lo `test -f 'read-desktop.c' || echo '$(srcdir)/'`read-desktop.c
+libgettextsrc_la-locating-rule.lo: locating-rule.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-locating-rule.lo `test -f 'locating-rule.c' || echo '$(srcdir)/'`locating-rule.c
+
+libgettextsrc_la-its.lo: its.c
+ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgettextsrc_la-its.lo `test -f 'its.c' || echo '$(srcdir)/'`its.c
+
../woe32dll/libgettextsrc_la-gettextsrc-exports.lo: ../woe32dll/gettextsrc-exports.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../woe32dll/libgettextsrc_la-gettextsrc-exports.lo `test -f '../woe32dll/gettextsrc-exports.c' || echo '$(srcdir)/'`../woe32dll/gettextsrc-exports.c
+cldr_plurals-cldr-plural.o: cldr-plural.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cldr_plurals_CPPFLAGS) $(CPPFLAGS) $(cldr_plurals_CFLAGS) $(CFLAGS) -c -o cldr_plurals-cldr-plural.o `test -f 'cldr-plural.c' || echo '$(srcdir)/'`cldr-plural.c
+
+cldr_plurals-cldr-plural.obj: cldr-plural.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cldr_plurals_CPPFLAGS) $(CPPFLAGS) $(cldr_plurals_CFLAGS) $(CFLAGS) -c -o cldr_plurals-cldr-plural.obj `if test -f 'cldr-plural.c'; then $(CYGPATH_W) 'cldr-plural.c'; else $(CYGPATH_W) '$(srcdir)/cldr-plural.c'; fi`
+
+cldr_plurals-cldr-plural-exp.o: cldr-plural-exp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cldr_plurals_CPPFLAGS) $(CPPFLAGS) $(cldr_plurals_CFLAGS) $(CFLAGS) -c -o cldr_plurals-cldr-plural-exp.o `test -f 'cldr-plural-exp.c' || echo '$(srcdir)/'`cldr-plural-exp.c
+
+cldr_plurals-cldr-plural-exp.obj: cldr-plural-exp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cldr_plurals_CPPFLAGS) $(CPPFLAGS) $(cldr_plurals_CFLAGS) $(CFLAGS) -c -o cldr_plurals-cldr-plural-exp.obj `if test -f 'cldr-plural-exp.c'; then $(CYGPATH_W) 'cldr-plural-exp.c'; else $(CYGPATH_W) '$(srcdir)/cldr-plural-exp.c'; fi`
+
+cldr_plurals-cldr-plurals.o: cldr-plurals.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cldr_plurals_CPPFLAGS) $(CPPFLAGS) $(cldr_plurals_CFLAGS) $(CFLAGS) -c -o cldr_plurals-cldr-plurals.o `test -f 'cldr-plurals.c' || echo '$(srcdir)/'`cldr-plurals.c
+
+cldr_plurals-cldr-plurals.obj: cldr-plurals.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cldr_plurals_CPPFLAGS) $(CPPFLAGS) $(cldr_plurals_CFLAGS) $(CFLAGS) -c -o cldr_plurals-cldr-plurals.obj `if test -f 'cldr-plurals.c'; then $(CYGPATH_W) 'cldr-plurals.c'; else $(CYGPATH_W) '$(srcdir)/cldr-plurals.c'; fi`
+
hostname-hostname.o: hostname.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hostname_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hostname-hostname.o `test -f 'hostname.c' || echo '$(srcdir)/'`hostname.c
@@ -2796,6 +3149,12 @@ msgfmt-write-desktop.o: write-desktop.c
msgfmt-write-desktop.obj: write-desktop.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(msgfmt_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgfmt-write-desktop.obj `if test -f 'write-desktop.c'; then $(CYGPATH_W) 'write-desktop.c'; else $(CYGPATH_W) '$(srcdir)/write-desktop.c'; fi`
+msgfmt-write-xml.o: write-xml.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(msgfmt_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgfmt-write-xml.o `test -f 'write-xml.c' || echo '$(srcdir)/'`write-xml.c
+
+msgfmt-write-xml.obj: write-xml.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(msgfmt_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgfmt-write-xml.obj `if test -f 'write-xml.c'; then $(CYGPATH_W) 'write-xml.c'; else $(CYGPATH_W) '$(srcdir)/write-xml.c'; fi`
+
../../gettext-runtime/intl/msgfmt-hash-string.o: ../../gettext-runtime/intl/hash-string.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(msgfmt_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../gettext-runtime/intl/msgfmt-hash-string.o `test -f '../../gettext-runtime/intl/hash-string.c' || echo '$(srcdir)/'`../../gettext-runtime/intl/hash-string.c
@@ -3030,12 +3389,6 @@ xgettext-x-rst.o: x-rst.c
xgettext-x-rst.obj: x-rst.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-rst.obj `if test -f 'x-rst.c'; then $(CYGPATH_W) 'x-rst.c'; else $(CYGPATH_W) '$(srcdir)/x-rst.c'; fi`
-xgettext-x-glade.o: x-glade.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-glade.o `test -f 'x-glade.c' || echo '$(srcdir)/'`x-glade.c
-
-xgettext-x-glade.obj: x-glade.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-glade.obj `if test -f 'x-glade.c'; then $(CYGPATH_W) 'x-glade.c'; else $(CYGPATH_W) '$(srcdir)/x-glade.c'; fi`
-
xgettext-x-lua.o: x-lua.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-lua.o `test -f 'x-lua.c' || echo '$(srcdir)/'`x-lua.c
@@ -3054,18 +3407,6 @@ xgettext-x-vala.o: x-vala.c
xgettext-x-vala.obj: x-vala.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-vala.obj `if test -f 'x-vala.c'; then $(CYGPATH_W) 'x-vala.c'; else $(CYGPATH_W) '$(srcdir)/x-vala.c'; fi`
-xgettext-x-gsettings.o: x-gsettings.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-gsettings.o `test -f 'x-gsettings.c' || echo '$(srcdir)/'`x-gsettings.c
-
-xgettext-x-gsettings.obj: x-gsettings.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-gsettings.obj `if test -f 'x-gsettings.c'; then $(CYGPATH_W) 'x-gsettings.c'; else $(CYGPATH_W) '$(srcdir)/x-gsettings.c'; fi`
-
-xgettext-libexpat-compat.o: libexpat-compat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-libexpat-compat.o `test -f 'libexpat-compat.c' || echo '$(srcdir)/'`libexpat-compat.c
-
-xgettext-libexpat-compat.obj: libexpat-compat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-libexpat-compat.obj `if test -f 'libexpat-compat.c'; then $(CYGPATH_W) 'libexpat-compat.c'; else $(CYGPATH_W) '$(srcdir)/libexpat-compat.c'; fi`
-
xgettext-x-desktop.o: x-desktop.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xgettext_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xgettext-x-desktop.o `test -f 'x-desktop.c' || echo '$(srcdir)/'`x-desktop.c
@@ -3282,6 +3623,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -rm -f cldr-plural.c
-rm -f po-gram-gen.c
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
@@ -3376,6 +3718,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES \
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-libLTLIBRARIES uninstall-local
+.PRECIOUS: Makefile
+
# No need to install libgettextsrc.a, except on AIX.
install-exec-hook: install-exec-clean
@@ -3392,6 +3736,7 @@ po-gram-gen2.h: po-gram-gen.h
$(SED) -e 's/yy/po_gram_/g' -e 's/extern /extern DLL_VARIABLE /' \
$${srcdir}po-gram-gen.h > $@-tmp && \
mv $@-tmp $@
+po-gram-gen.h: po-gram-gen.c
# Special rules for installation of auxiliary programs.
@@ -3399,6 +3744,7 @@ install-exec-local:
$(MKDIR_P) $(DESTDIR)$(pkglibdir)
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) hostname$(EXEEXT) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) urlget$(EXEEXT) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) cldr-plurals$(EXEEXT) $(DESTDIR)$(pkglibdir)/cldr-plurals$(EXEEXT)
$(INSTALL_SCRIPT) user-email $(DESTDIR)$(pkglibdir)/user-email
$(INSTALL_SCRIPT) $(srcdir)/project-id $(DESTDIR)$(pkglibdir)/project-id
@@ -3408,6 +3754,7 @@ installdirs-local:
uninstall-local:
$(RM) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
$(RM) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
+ $(RM) $(DESTDIR)$(pkglibdir)/cldr-plurals$(EXEEXT)
$(RM) $(DESTDIR)$(pkglibdir)/user-email
$(RM) $(DESTDIR)$(pkglibdir)/project-id
diff --git a/gettext-tools/src/cldr-plural-exp.c b/gettext-tools/src/cldr-plural-exp.c
new file mode 100644
index 0000000..e55b26d
--- /dev/null
+++ b/gettext-tools/src/cldr-plural-exp.c
@@ -0,0 +1,695 @@
+/* Unicode CLDR plural rule parser and converter
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "unistr.h"
+#include "xalloc.h"
+
+#include "cldr-plural-exp.h"
+#include "cldr-plural.h"
+
+/* The grammar of Unicode CLDR plural rules is defined at:
+ http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax
+
+ This implementation only supports the "preferred" form, which
+ doesn't support obsolete keywords "in", "is", "not", and "within".
+
+ Unlike gettext, CLDR allows an unsigned decimal value as an
+ operand, in addition to unsigned integers. For simplicity, we
+ treat decimal relations as if it has a constant truth value.
+
+ The implementation is largely based on the idea of Michele Locati's
+ cldr-to-gettext-plural-rules:
+ https://github.com/mlocati/cldr-to-gettext-plural-rules */
+
+void
+cldr_plural_range_free (struct cldr_plural_range_ty *range)
+{
+ if (range->start != range->end)
+ free (range->start);
+ free (range->end);
+ free (range);
+}
+
+void
+cldr_plural_range_list_free (struct cldr_plural_range_list_ty *ranges)
+{
+ while (ranges->nitems-- > 0)
+ cldr_plural_range_free (ranges->items[ranges->nitems]);
+ free (ranges->items);
+ free (ranges);
+}
+
+void
+cldr_plural_condition_free (struct cldr_plural_condition_ty *condition)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_AND
+ || condition->type == CLDR_PLURAL_CONDITION_OR)
+ {
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ }
+ else if (condition->type == CLDR_PLURAL_CONDITION_RELATION)
+ cldr_plural_relation_free (condition->value.relation);
+ free (condition);
+}
+
+void
+cldr_plural_relation_free (struct cldr_plural_relation_ty *relation)
+{
+ free (relation->expression);
+ cldr_plural_range_list_free (relation->ranges);
+ free (relation);
+}
+
+static void
+cldr_plural_rule_free (struct cldr_plural_rule_ty *rule)
+{
+ free (rule->name);
+ cldr_plural_condition_free (rule->condition);
+ free (rule);
+}
+
+void
+cldr_plural_rule_list_free (struct cldr_plural_rule_list_ty *rules)
+{
+ while (rules->nitems-- > 0)
+ cldr_plural_rule_free (rules->items[rules->nitems]);
+ free (rules->items);
+ free (rules);
+}
+
+struct cldr_plural_rule_list_ty *
+cldr_plural_parse (const char *input)
+{
+ struct cldr_plural_parse_args arg;
+
+ memset (&arg, 0, sizeof (struct cldr_plural_parse_args));
+ arg.cp = input;
+ arg.cp_end = input + strlen (input);
+ arg.result = XMALLOC (struct cldr_plural_rule_list_ty);
+ memset (arg.result, 0, sizeof (struct cldr_plural_rule_list_ty));
+
+ if (yyparse (&arg) != 0)
+ return NULL;
+
+ return arg.result;
+}
+
+#define OPERAND_ZERO_P(o) \
+ (((o)->type == CLDR_PLURAL_OPERAND_INTEGER \
+ && (o)->value.ival == 0) \
+ || ((o)->type == CLDR_PLURAL_OPERAND_DECIMAL \
+ && (o)->value.dval.d == 0))
+
+static enum cldr_plural_condition
+eval_relation (struct cldr_plural_relation_ty *relation)
+{
+ switch (relation->expression->operand)
+ {
+ case 'n': case 'i':
+ {
+ /* Coerce decimal values in ranges into integers. */
+ size_t i;
+ for (i = 0; i < relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_range_ty *range = relation->ranges->items[i];
+ if (range->start->type == CLDR_PLURAL_OPERAND_DECIMAL)
+ {
+ int truncated = (int) range->start->value.dval.d;
+ range->start->type = CLDR_PLURAL_OPERAND_INTEGER;
+ range->start->value.ival
+ = range->start->value.dval.d == truncated
+ ? truncated : truncated + 1;
+ }
+ if (range->end->type == CLDR_PLURAL_OPERAND_DECIMAL)
+ {
+ range->end->type = CLDR_PLURAL_OPERAND_INTEGER;
+ range->end->value.ival = (int) (range->end->value.dval.d);
+ }
+ }
+ relation->expression->operand = 'i';
+ }
+ break;
+ case 'f': case 't':
+ case 'v': case 'w':
+ {
+ /* Since plural expression in gettext only supports unsigned
+ integer, turn relations whose operand is either 'f', 't',
+ 'v', or 'w' into a constant truth value. */
+ /* FIXME: check mod? */
+ size_t i;
+ for (i = 0; i < relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_range_ty *range = relation->ranges->items[i];
+ if ((relation->type == CLDR_PLURAL_RELATION_EQUAL
+ && (!OPERAND_ZERO_P (range->start)
+ || !OPERAND_ZERO_P (range->end)))
+ || (relation->type == CLDR_PLURAL_RELATION_NOT_EQUAL
+ && (OPERAND_ZERO_P (range->start)
+ || OPERAND_ZERO_P (range->end))))
+ return CLDR_PLURAL_CONDITION_FALSE;
+ }
+ return CLDR_PLURAL_CONDITION_TRUE;
+ }
+ break;
+ }
+ return CLDR_PLURAL_CONDITION_RELATION;
+}
+
+static void
+eval_condition (struct cldr_plural_condition_ty *condition)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_AND)
+ {
+ eval_condition (condition->value.conditions[0]);
+ eval_condition (condition->value.conditions[1]);
+
+ if (condition->value.conditions[0]->type
+ == CLDR_PLURAL_CONDITION_FALSE
+ || condition->value.conditions[1]->type
+ == CLDR_PLURAL_CONDITION_FALSE)
+ {
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ condition->type = CLDR_PLURAL_CONDITION_FALSE;
+ }
+ else if (condition->value.conditions[0]->type
+ == CLDR_PLURAL_CONDITION_TRUE
+ && condition->value.conditions[1]->type
+ == CLDR_PLURAL_CONDITION_TRUE)
+ {
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ condition->type = CLDR_PLURAL_CONDITION_TRUE;
+ }
+ else if (condition->value.conditions[0]->type
+ == CLDR_PLURAL_CONDITION_TRUE)
+ {
+ struct cldr_plural_condition_ty *original
+ = condition->value.conditions[1];
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ condition->type = condition->value.conditions[1]->type;
+ condition->value = condition->value.conditions[1]->value;
+ free (original);
+ }
+ else if (condition->value.conditions[1]->type
+ == CLDR_PLURAL_CONDITION_TRUE)
+ {
+ struct cldr_plural_condition_ty *original
+ = condition->value.conditions[0];
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ condition->type = condition->value.conditions[0]->type;
+ condition->value = condition->value.conditions[0]->value;
+ free (original);
+ }
+ }
+ else if (condition->type == CLDR_PLURAL_CONDITION_OR)
+ {
+ eval_condition (condition->value.conditions[0]);
+ eval_condition (condition->value.conditions[1]);
+
+ if (condition->value.conditions[0]->type
+ == CLDR_PLURAL_CONDITION_TRUE
+ || condition->value.conditions[1]->type
+ == CLDR_PLURAL_CONDITION_TRUE)
+ {
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ condition->type = CLDR_PLURAL_CONDITION_TRUE;
+ }
+ else if (condition->value.conditions[0]->type
+ == CLDR_PLURAL_CONDITION_FALSE
+ && condition->value.conditions[1]->type
+ == CLDR_PLURAL_CONDITION_FALSE)
+ {
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ condition->type = CLDR_PLURAL_CONDITION_FALSE;
+ }
+ else if (condition->value.conditions[0]->type
+ == CLDR_PLURAL_CONDITION_FALSE)
+ {
+ struct cldr_plural_condition_ty *original
+ = condition->value.conditions[1];
+ cldr_plural_condition_free (condition->value.conditions[0]);
+ condition->type = condition->value.conditions[1]->type;
+ condition->value = condition->value.conditions[1]->value;
+ free (original);
+ }
+ else if (condition->value.conditions[1]->type
+ == CLDR_PLURAL_CONDITION_FALSE)
+ {
+ struct cldr_plural_condition_ty *original
+ = condition->value.conditions[0];
+ cldr_plural_condition_free (condition->value.conditions[1]);
+ condition->type = condition->value.conditions[0]->type;
+ condition->value = condition->value.conditions[0]->value;
+ free (original);
+ }
+ }
+ else
+ {
+ enum cldr_plural_condition value =
+ eval_relation (condition->value.relation);
+ if (value == CLDR_PLURAL_CONDITION_TRUE
+ || value == CLDR_PLURAL_CONDITION_FALSE)
+ {
+ cldr_plural_relation_free (condition->value.relation);
+ condition->type = value;
+ }
+ }
+}
+
+#define MAX(a,b) ((a) > (b) ? (a) : (b))
+
+static int
+find_largest_modulus (struct cldr_plural_condition_ty *condition)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_AND
+ || condition->type == CLDR_PLURAL_CONDITION_OR)
+ {
+ int modulus0 =
+ find_largest_modulus (condition->value.conditions[0]);
+ int modulus1 =
+ find_largest_modulus (condition->value.conditions[1]);
+ return MAX (modulus0, modulus1);
+ }
+ else if (condition->type == CLDR_PLURAL_CONDITION_RELATION)
+ return condition->value.relation->expression->mod;
+ else
+ return 0;
+}
+
+static int
+find_largest_number (struct cldr_plural_condition_ty *condition)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_AND
+ || condition->type == CLDR_PLURAL_CONDITION_OR)
+ {
+ int number0 =
+ find_largest_number (condition->value.conditions[0]);
+ int number1 =
+ find_largest_number (condition->value.conditions[1]);
+ return MAX (number0, number1);
+ }
+ else if (condition->type == CLDR_PLURAL_CONDITION_RELATION)
+ {
+ int number = 0;
+ size_t i;
+ for (i = 0; i < condition->value.relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_operand_ty *operand;
+
+ operand = condition->value.relation->ranges->items[i]->end;
+ if (operand->type == CLDR_PLURAL_OPERAND_INTEGER
+ && operand->value.ival > number)
+ number = operand->value.ival;
+ else if (operand->type == CLDR_PLURAL_OPERAND_DECIMAL
+ && operand->value.dval.d > number)
+ number = (int) operand->value.dval.d;
+ }
+ return number;
+ }
+ else
+ return 0;
+}
+
+static bool
+apply_condition (struct cldr_plural_condition_ty *condition, int value)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_AND)
+ return apply_condition (condition->value.conditions[0], value)
+ && apply_condition (condition->value.conditions[1], value);
+ else if (condition->type == CLDR_PLURAL_CONDITION_OR)
+ return apply_condition (condition->value.conditions[0], value)
+ || apply_condition (condition->value.conditions[1], value);
+ else if (condition->type == CLDR_PLURAL_CONDITION_RELATION)
+ {
+ struct cldr_plural_relation_ty *relation
+ = condition->value.relation;
+ int number = value;
+ size_t i;
+
+ if (relation->expression->mod > 0)
+ number %= relation->expression->mod;
+ for (i = 0; i < relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_range_ty *range = relation->ranges->items[i];
+ if (range->start->value.ival <= number
+ && number <= range->end->value.ival)
+ return relation->type == CLDR_PLURAL_RELATION_EQUAL;
+ }
+ return relation->type != CLDR_PLURAL_RELATION_EQUAL;
+ }
+ return false;
+}
+
+static void
+print_expression (struct cldr_plural_expression_ty *expression, bool space,
+ FILE *fp)
+{
+ if (expression->mod == 0)
+ fprintf (fp, "n");
+ else
+ fprintf (fp, space ? "n %% %d" : "n%%%d", expression->mod);
+}
+
+static void
+print_relation (struct cldr_plural_relation_ty *relation,
+ enum cldr_plural_condition parent, bool space,
+ FILE *fp)
+{
+ if (relation->type == CLDR_PLURAL_RELATION_EQUAL)
+ {
+ size_t i;
+ if (parent == CLDR_PLURAL_CONDITION_AND
+ && relation->ranges->nitems > 1)
+ fputc ('(', fp);
+ for (i = 0; i < relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_range_ty *range = relation->ranges->items[i];
+ if (i > 0)
+ fprintf (fp, " || ");
+ if (range->start->value.ival == range->end->value.ival)
+ {
+ print_expression (relation->expression, space, fp);
+ fprintf (fp,
+ space && relation->ranges->nitems == 1
+ ? " == %d" : "==%d",
+ range->start->value.ival);
+ }
+ else if (range->start->value.ival == 0)
+ {
+ print_expression (relation->expression, false, fp);
+ fprintf (fp, "<=%d", range->end->value.ival);
+ }
+ else
+ {
+ if (parent == CLDR_PLURAL_CONDITION_OR
+ || relation->ranges->nitems > 1)
+ fputc ('(', fp);
+ print_expression (relation->expression, false, fp);
+ fprintf (fp, ">=%d", range->start->value.ival);
+ fprintf (fp, " && ");
+ print_expression (relation->expression, false, fp);
+ fprintf (fp, "<=%d", range->end->value.ival);
+ if (parent == CLDR_PLURAL_CONDITION_OR
+ || relation->ranges->nitems > 1)
+ fputc (')', fp);
+ }
+ }
+ if (parent == CLDR_PLURAL_CONDITION_AND
+ && relation->ranges->nitems > 1)
+ fputc (')', fp);
+ }
+ else
+ {
+ size_t i;
+ if (parent == CLDR_PLURAL_CONDITION_OR
+ && relation->ranges->nitems > 1)
+ fputc ('(', fp);
+ for (i = 0; i < relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_range_ty *range = relation->ranges->items[i];
+ if (i > 0)
+ fprintf (fp," && ");
+ if (range->start->value.ival == range->end->value.ival)
+ {
+ print_expression (relation->expression, space, fp);
+ fprintf (fp, space && relation->ranges->nitems == 1
+ ? " != %d" : "!=%d", range->start->value.ival);
+ }
+ else if (range->start->value.ival == 0)
+ {
+ print_expression (relation->expression, false, fp);
+ fprintf (fp, ">%d", range->end->value.ival);
+ }
+ else
+ {
+ if (parent == CLDR_PLURAL_CONDITION_AND
+ || relation->ranges->nitems > 1)
+ fputc ('(', fp);
+ print_expression (relation->expression, false, fp);
+ fprintf (fp, "<%d", range->start->value.ival);
+ fprintf (fp, " || ");
+ print_expression (relation->expression, false, fp);
+ fprintf (fp, ">%d", range->end->value.ival);
+ if (parent == CLDR_PLURAL_CONDITION_AND
+ || relation->ranges->nitems > 1)
+ fputc (')', fp);
+ }
+ }
+ if (parent == CLDR_PLURAL_CONDITION_OR
+ && relation->ranges->nitems > 1)
+ fputc (')', fp);
+ }
+}
+
+static bool
+print_condition (struct cldr_plural_condition_ty *condition,
+ enum cldr_plural_condition parent, bool space,
+ FILE *fp)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_AND)
+ {
+ if (parent == CLDR_PLURAL_CONDITION_OR)
+ fputc ('(', fp);
+ print_condition (condition->value.conditions[0],
+ CLDR_PLURAL_CONDITION_AND, false,
+ fp);
+ fprintf (fp, " && ");
+ print_condition (condition->value.conditions[1],
+ CLDR_PLURAL_CONDITION_AND, false,
+ fp);
+ if (parent == CLDR_PLURAL_CONDITION_OR)
+ fputc (')', fp);
+ return true;
+ }
+ else if (condition->type == CLDR_PLURAL_CONDITION_OR)
+ {
+ if (parent == CLDR_PLURAL_CONDITION_AND)
+ fputc ('(', fp);
+ print_condition (condition->value.conditions[0],
+ CLDR_PLURAL_CONDITION_OR, false,
+ fp);
+ fprintf (fp, " || ");
+ print_condition (condition->value.conditions[1],
+ CLDR_PLURAL_CONDITION_OR, false,
+ fp);
+ if (parent == CLDR_PLURAL_CONDITION_AND)
+ fputc (')', fp);
+ return true;
+ }
+ else if (condition->type == CLDR_PLURAL_CONDITION_RELATION)
+ {
+ print_relation (condition->value.relation, parent, space, fp);
+ return true;
+ }
+ return false;
+}
+
+#define RULE_PRINTABLE_P(r) \
+ ((r)->condition->type != CLDR_PLURAL_CONDITION_TRUE \
+ && (r)->condition->type != CLDR_PLURAL_CONDITION_FALSE)
+
+/* Convert n == N into n != N. */
+static bool
+print_condition_negation (struct cldr_plural_condition_ty *condition, FILE *fp)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_RELATION
+ && condition->value.relation->type == CLDR_PLURAL_RELATION_EQUAL
+ && condition->value.relation->ranges->nitems == 1
+ && condition->value.relation->ranges->items[0]->start
+ == condition->value.relation->ranges->items[0]->end)
+ {
+ fprintf (fp, "nplurals=2; plural=(n != %d);\n",
+ condition->value.relation->ranges->items[0]->start->value.ival);
+ return true;
+ }
+ return false;
+}
+
+/* Convert n == 0,...,N into n > N. */
+static bool
+print_condition_greater (struct cldr_plural_condition_ty *condition, FILE *fp)
+{
+ if (condition->type == CLDR_PLURAL_CONDITION_RELATION
+ && condition->value.relation->type == CLDR_PLURAL_RELATION_EQUAL)
+ {
+ int last = -1;
+ size_t i;
+ for (i = 0; i < condition->value.relation->ranges->nitems; i++)
+ {
+ struct cldr_plural_range_ty *range =
+ condition->value.relation->ranges->items[i];
+ if (range->start->type != CLDR_PLURAL_OPERAND_INTEGER
+ || range->end->type != CLDR_PLURAL_OPERAND_INTEGER
+ || range->start->value.ival != last + 1)
+ break;
+ last = range->end->value.ival;
+ }
+ if (i == condition->value.relation->ranges->nitems)
+ {
+ struct cldr_plural_range_ty *range =
+ condition->value.relation->ranges->items[i - 1];
+ fprintf (fp, "nplurals=2; plural=(n > %d);\n",
+ range->end->value.ival);
+ return true;
+ }
+ }
+ return false;
+}
+
+typedef bool (*print_condition_function_ty) (struct cldr_plural_condition_ty *,
+ FILE *);
+static print_condition_function_ty print_condition_functions[] =
+ {
+ print_condition_negation,
+ print_condition_greater
+ };
+
+#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
+
+void
+cldr_plural_rule_list_print (struct cldr_plural_rule_list_ty *rules, FILE *fp)
+{
+ size_t i;
+ size_t count;
+ size_t nplurals;
+ int modulus_max = 0;
+
+ /* Prune trivial conditions. */
+ for (i = 0; i < rules->nitems; i++)
+ {
+ struct cldr_plural_rule_ty *rule = rules->items[i];
+ eval_condition (rule->condition);
+ }
+
+ /* Omit trivial rules (e.g., the last rule for "ru") with the
+ following algorithm:
+ 1. From all rules, find the largest modulus M
+ 2. Prepare a bit vector with M elements and initialize it with zeros
+ 3. Loop over the rules, until all bits are set:
+ For each value in the range [1, M], apply a rule, and flip the
+ corresponding bit if it evaluates true */
+
+ /* Find the largest modulus. */
+ for (i = 0; i < rules->nitems; i++)
+ {
+ struct cldr_plural_rule_ty *rule = rules->items[i];
+ int modulus = find_largest_modulus (rule->condition);
+ int number = find_largest_number (rule->condition);
+ /* If the rule contains a range whose end is larger than
+ MODULUS, we can't use MODULUS as the upper bound. Skip
+ it. */
+ if (modulus >= number && modulus > modulus_max)
+ modulus_max = modulus;
+ }
+
+ if (modulus_max > 0)
+ {
+ bool *values = XNMALLOC (modulus_max, bool);
+
+ memset (values, 0, sizeof (bool) * modulus_max);
+ for (i = 0; i < rules->nitems; i++)
+ {
+ struct cldr_plural_rule_ty *rule = rules->items[i];
+ int j;
+
+ for (j = 0; j < modulus_max; j++)
+ {
+ bool result = apply_condition (rule->condition, j + 1);
+ if (result)
+ values[j] = true;
+ }
+
+ /* Check if all bits are set. Then we can omit one more rule. */
+ for (j = 0; j < modulus_max; j++)
+ if (values[j] == false)
+ break;
+ if (j == modulus_max)
+ break;
+ }
+
+ free (values);
+
+ while (i < rules->nitems)
+ cldr_plural_rule_free (rules->items[--rules->nitems]);
+ }
+
+ for (i = 0, nplurals = 1; i < rules->nitems; i++)
+ if (RULE_PRINTABLE_P (rules->items[i]))
+ nplurals++;
+
+ /* Special case when rules is empty. */
+ if (nplurals == 1)
+ {
+ fprintf (fp, "nplurals=1; plural=0;\n");
+ return;
+ }
+
+ /* If we have only one printable rule, apply some heuristics. */
+ if (nplurals == 2)
+ {
+ struct cldr_plural_condition_ty *condition;
+ size_t j;
+
+ for (j = 0; j < rules->nitems; j++)
+ if (RULE_PRINTABLE_P (rules->items[j]))
+ break;
+
+ condition = rules->items[j]->condition;
+ for (j = 0; j < SIZEOF (print_condition_functions); j++)
+ if (print_condition_functions[j] (condition, fp))
+ return;
+ }
+
+ /* If there are more printable rules, build a ternary operator. */
+ fprintf (fp, "nplurals=%zu; plural=(", nplurals);
+ for (i = 0, count = 0; i < rules->nitems; i++)
+ {
+ struct cldr_plural_rule_ty *rule = rules->items[i];
+ if (print_condition (rule->condition,
+ CLDR_PLURAL_CONDITION_FALSE,
+ nplurals == 2,
+ fp)
+ && rules->nitems > 1)
+ {
+ bool printable_left = false;
+ size_t j;
+
+ for (j = i + 1; j < rules->nitems; j++)
+ if (RULE_PRINTABLE_P (rules->items[j]))
+ printable_left = true;
+
+ if (i < rules->nitems - 1 && printable_left)
+ fprintf (fp, " ? %zu : ", count++);
+ }
+ }
+ if (rules->nitems > 1)
+ fprintf (fp, " ? %zu : %zu", count, count + 1);
+ fprintf (fp, ");\n");
+}
diff --git a/gettext-tools/src/cldr-plural-exp.h b/gettext-tools/src/cldr-plural-exp.h
new file mode 100644
index 0000000..84c8a73
--- /dev/null
+++ b/gettext-tools/src/cldr-plural-exp.h
@@ -0,0 +1,141 @@
+/* Unicode CLDR plural rule parser and converter
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _CLDR_PLURAL_EXP_H
+#define _CLDR_PLURAL_EXP_H 1
+
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum cldr_plural_operand
+ {
+ CLDR_PLURAL_OPERAND_INTEGER,
+ CLDR_PLURAL_OPERAND_DECIMAL
+ };
+
+struct cldr_plural_operand_ty
+{
+ enum cldr_plural_operand type;
+ union
+ {
+ int ival;
+ struct
+ {
+ double d;
+ int nfractions;
+ } dval;
+ } value;
+};
+
+enum cldr_plural_relation
+ {
+ CLDR_PLURAL_RELATION_EQUAL,
+ CLDR_PLURAL_RELATION_NOT_EQUAL
+ };
+
+struct cldr_plural_range_ty
+{
+ struct cldr_plural_operand_ty *start;
+ struct cldr_plural_operand_ty *end;
+};
+
+struct cldr_plural_range_list_ty
+{
+ struct cldr_plural_range_ty **items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+struct cldr_plural_expression_ty
+{
+ /* 'n', 'i', 'f', 't', 'v', 'w' */
+ int operand;
+
+ /* 0 if not given */
+ int mod;
+};
+
+struct cldr_plural_relation_ty
+{
+ struct cldr_plural_expression_ty *expression;
+ enum cldr_plural_relation type;
+ struct cldr_plural_range_list_ty *ranges;
+};
+
+enum cldr_plural_condition
+ {
+ CLDR_PLURAL_CONDITION_AND,
+ CLDR_PLURAL_CONDITION_OR,
+ CLDR_PLURAL_CONDITION_RELATION,
+ CLDR_PLURAL_CONDITION_TRUE,
+ CLDR_PLURAL_CONDITION_FALSE
+ };
+
+struct cldr_plural_condition_ty
+{
+ enum cldr_plural_condition type;
+ union
+ {
+ struct cldr_plural_relation_ty *relation;
+ struct cldr_plural_condition_ty *conditions[2];
+ } value;
+};
+
+struct cldr_plural_rule_ty
+{
+ char *name;
+ struct cldr_plural_condition_ty *condition;
+};
+
+struct cldr_plural_rule_list_ty
+{
+ struct cldr_plural_rule_ty **items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+struct cldr_plural_parse_args
+{
+ const char *cp;
+ const char *cp_end;
+ struct cldr_plural_rule_list_ty *result;
+};
+
+extern void
+cldr_plural_range_free (struct cldr_plural_range_ty *range);
+extern void
+cldr_plural_range_list_free (struct cldr_plural_range_list_ty *ranges);
+extern void
+cldr_plural_condition_free (struct cldr_plural_condition_ty *condition);
+extern void
+cldr_plural_relation_free (struct cldr_plural_relation_ty *relation);
+
+extern struct cldr_plural_rule_list_ty *
+cldr_plural_parse (const char *input);
+extern void
+cldr_plural_rule_list_free (struct cldr_plural_rule_list_ty *rules);
+extern void
+cldr_plural_rule_list_print (struct cldr_plural_rule_list_ty *rules, FILE *fp);
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CLDR_PLURAL_EXP_H */
diff --git a/gettext-tools/src/cldr-plural.c b/gettext-tools/src/cldr-plural.c
new file mode 100644
index 0000000..d0fc4f8
--- /dev/null
+++ b/gettext-tools/src/cldr-plural.c
@@ -0,0 +1,2013 @@
+/* A Bison parser, made by GNU Bison 3.0.4. */
+
+/* Bison implementation for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Bison version. */
+#define YYBISON_VERSION "3.0.4"
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 2
+
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 19 "cldr-plural.y" /* yacc.c:339 */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "unistr.h"
+#include "xalloc.h"
+
+#include "cldr-plural-exp.h"
+#include "cldr-plural.h"
+
+/* Prototypes for local functions. */
+static int yylex (YYSTYPE *lval, struct cldr_plural_parse_args *arg);
+static void yyerror (struct cldr_plural_parse_args *arg, const char *str);
+
+/* Allocation of expressions. */
+
+static struct cldr_plural_rule_ty *
+new_rule (char *name, struct cldr_plural_condition_ty *condition)
+{
+ struct cldr_plural_rule_ty *result =
+ XMALLOC (struct cldr_plural_rule_ty);
+ result->name = name;
+ result->condition = condition;
+ return result;
+}
+
+static struct cldr_plural_condition_ty *
+new_leaf_condition (struct cldr_plural_relation_ty *relation)
+{
+ struct cldr_plural_condition_ty *result =
+ XMALLOC (struct cldr_plural_condition_ty);
+ result->type = CLDR_PLURAL_CONDITION_RELATION;
+ result->value.relation = relation;
+ return result;
+}
+
+static struct cldr_plural_condition_ty *
+new_branch_condition (enum cldr_plural_condition type,
+ struct cldr_plural_condition_ty *condition0,
+ struct cldr_plural_condition_ty *condition1)
+{
+ struct cldr_plural_condition_ty *result =
+ XMALLOC (struct cldr_plural_condition_ty);
+ result->type = type;
+ result->value.conditions[0] = condition0;
+ result->value.conditions[1] = condition1;
+ return result;
+}
+
+static struct cldr_plural_relation_ty *
+new_relation (struct cldr_plural_expression_ty *expression,
+ enum cldr_plural_relation type,
+ struct cldr_plural_range_list_ty *ranges)
+{
+ struct cldr_plural_relation_ty *result =
+ XMALLOC (struct cldr_plural_relation_ty);
+ result->expression = expression;
+ result->type = type;
+ result->ranges = ranges;
+ return result;
+}
+
+static struct cldr_plural_expression_ty *
+new_expression (int operand, int mod)
+{
+ struct cldr_plural_expression_ty *result =
+ XMALLOC (struct cldr_plural_expression_ty);
+ result->operand = operand;
+ result->mod = mod;
+ return result;
+}
+
+static struct cldr_plural_range_list_ty *
+add_range (struct cldr_plural_range_list_ty *ranges,
+ struct cldr_plural_range_ty *range)
+{
+ if (ranges->nitems == ranges->nitems_max)
+ {
+ ranges->nitems_max = ranges->nitems_max * 2 + 1;
+ ranges->items = xrealloc (ranges->items,
+ sizeof (struct cldr_plural_range_ty *)
+ * ranges->nitems_max);
+ }
+ ranges->items[ranges->nitems++] = range;
+ return ranges;
+}
+
+static struct cldr_plural_range_ty *
+new_range (struct cldr_plural_operand_ty *start,
+ struct cldr_plural_operand_ty *end)
+{
+ struct cldr_plural_range_ty *result =
+ XMALLOC (struct cldr_plural_range_ty);
+ result->start = start;
+ result->end = end;
+ return result;
+}
+
+#line 170 "cldr-plural.c" /* yacc.c:339 */
+
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* In a future release of Bison, this section will be replaced
+ by #include "y.tab.h". */
+#ifndef YY_YY_CLDR_PLURAL_H_INCLUDED
+# define YY_YY_CLDR_PLURAL_H_INCLUDED
+/* Debug traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ enum yytokentype
+ {
+ AND = 258,
+ OR = 259,
+ RANGE = 260,
+ ELLIPSIS = 261,
+ OTHER = 262,
+ AT_INTEGER = 263,
+ AT_DECIMAL = 264,
+ KEYWORD = 265,
+ INTEGER = 266,
+ DECIMAL = 267,
+ OPERAND = 268
+ };
+#endif
+/* Tokens. */
+#define AND 258
+#define OR 259
+#define RANGE 260
+#define ELLIPSIS 261
+#define OTHER 262
+#define AT_INTEGER 263
+#define AT_DECIMAL 264
+#define KEYWORD 265
+#define INTEGER 266
+#define DECIMAL 267
+#define OPERAND 268
+
+/* Value type. */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
+union YYSTYPE
+{
+#line 127 "cldr-plural.y" /* yacc.c:355 */
+
+ char *sval;
+ struct cldr_plural_condition_ty *cval;
+ struct cldr_plural_relation_ty *lval;
+ struct cldr_plural_expression_ty *eval;
+ struct cldr_plural_range_ty *gval;
+ struct cldr_plural_operand_ty *oval;
+ struct cldr_plural_range_list_ty *rval;
+ int ival;
+
+#line 247 "cldr-plural.c" /* yacc.c:355 */
+};
+
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+
+int yyparse (struct cldr_plural_parse_args *arg);
+
+#endif /* !YY_YY_CLDR_PLURAL_H_INCLUDED */
+
+/* Copy the second part of user declarations. */
+
+#line 263 "cldr-plural.c" /* yacc.c:358 */
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif ! defined YYSIZE_T
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# else
+# define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+# endif
+# endif
+# ifndef YY_
+# define YY_(Msgid) Msgid
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+# define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(E) ((void) (E))
+#else
+# define YYUSE(E) /* empty */
+#endif
+
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+# endif
+# endif
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
+# else
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(Dst, Src, Count) \
+ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+# else
+# define YYCOPY(Dst, Src, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (Dst)[yyi] = (Src)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 7
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 55
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 21
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 17
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 32
+/* YYNSTATES -- Number of states. */
+#define YYNSTATES 52
+
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 268
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
+static const yytype_uint8 yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 17, 2, 2, 2, 18, 2, 2,
+ 2, 2, 2, 2, 19, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 15, 14,
+ 2, 16, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 20, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13
+};
+
+#if YYDEBUG
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+static const yytype_uint16 yyrline[] =
+{
+ 0, 159, 159, 160, 163, 176, 179, 183, 189, 193,
+ 201, 205, 211, 215, 221, 228, 234, 238, 244, 251,
+ 254, 255, 258, 259, 262, 264, 265, 267, 268, 271,
+ 273, 275, 277
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || 0
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "AND", "OR", "RANGE", "ELLIPSIS",
+ "OTHER", "AT_INTEGER", "AT_DECIMAL", "KEYWORD", "INTEGER", "DECIMAL",
+ "OPERAND", "';'", "':'", "'='", "'!'", "'%'", "','", "'~'", "$accept",
+ "rules", "rule", "condition", "and_condition", "relation", "expression",
+ "range_list", "range_or_integer", "range", "samples", "at_integer",
+ "at_decimal", "sample_list", "sample_list1", "sample_ellipsis",
+ "sample_range", YY_NULLPTR
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
+static const yytype_uint16 yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 59, 58, 61, 33, 37, 44,
+ 126
+};
+# endif
+
+#define YYPACT_NINF -20
+
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-20)))
+
+#define YYTABLE_NINF -1
+
+#define yytable_value_is_error(Yytable_value) \
+ 0
+
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const yytype_int8 yypact[] =
+{
+ 3, -11, -7, 0, -20, 4, -2, -20, 3, -9,
+ -20, 8, 2, 1, 15, -20, -1, -20, 5, 6,
+ -20, 9, -20, -9, -20, 10, -2, -20, -2, 11,
+ 11, 12, 7, -5, -20, -20, -20, 15, -20, 19,
+ 13, -20, -20, 13, -20, -20, -20, -20, 16, 11,
+ -20, -20
+};
+
+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 0, 0, 0, 0, 2, 20, 0, 1, 0, 0,
+ 5, 22, 12, 20, 6, 8, 0, 3, 31, 29,
+ 21, 27, 25, 0, 19, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 24, 23, 13, 7, 9, 17,
+ 10, 14, 16, 11, 32, 30, 28, 26, 0, 0,
+ 18, 15
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
+static const yytype_int8 yypgoto[] =
+{
+ -20, -20, 21, -20, 14, 17, -20, 18, -19, -20,
+ 20, -20, -20, 23, -20, -20, 22
+};
+
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
+{
+ -1, 3, 4, 13, 14, 15, 16, 40, 41, 42,
+ 10, 11, 24, 20, 21, 34, 22
+};
+
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
+static const yytype_uint8 yytable[] =
+{
+ 7, 46, 18, 19, 5, 26, 18, 19, 6, 9,
+ 1, 12, 9, 2, 8, 29, 30, 23, 28, 45,
+ 25, 36, 39, 44, 48, 31, 32, 50, 33, 17,
+ 51, 0, 49, 27, 0, 0, 0, 0, 0, 0,
+ 37, 0, 0, 0, 0, 38, 35, 0, 43, 0,
+ 0, 0, 0, 0, 0, 47
+};
+
+static const yytype_int8 yycheck[] =
+{
+ 0, 6, 11, 12, 15, 4, 11, 12, 15, 8,
+ 7, 13, 8, 10, 14, 16, 17, 9, 3, 12,
+ 18, 11, 11, 11, 5, 20, 20, 11, 19, 8,
+ 49, -1, 19, 13, -1, -1, -1, -1, -1, -1,
+ 26, -1, -1, -1, -1, 28, 23, -1, 30, -1,
+ -1, -1, -1, -1, -1, 33
+};
+
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint8 yystos[] =
+{
+ 0, 7, 10, 22, 23, 15, 15, 0, 14, 8,
+ 31, 32, 13, 24, 25, 26, 27, 23, 11, 12,
+ 34, 35, 37, 9, 33, 18, 4, 31, 3, 16,
+ 17, 20, 20, 19, 36, 34, 11, 25, 26, 11,
+ 28, 29, 30, 28, 11, 12, 6, 37, 5, 19,
+ 11, 29
+};
+
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 21, 22, 22, 23, 23, 24, 24, 25, 25,
+ 26, 26, 27, 27, 28, 28, 29, 29, 30, 31,
+ 32, 32, 33, 33, 34, 35, 35, 36, 36, 37,
+ 37, 37, 37
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 1, 3, 4, 3, 1, 3, 1, 3,
+ 3, 3, 1, 3, 1, 3, 1, 1, 3, 2,
+ 0, 2, 0, 2, 2, 1, 3, 0, 2, 1,
+ 3, 1, 3
+};
+
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (arg, YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (0)
+
+/* Error token number */
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value, arg); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct cldr_plural_parse_args *arg)
+{
+ FILE *yyo = yyoutput;
+ YYUSE (yyo);
+ YYUSE (arg);
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ YYUSE (yytype);
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct cldr_plural_parse_args *arg)
+{
+ YYFPRINTF (yyoutput, "%s %s (",
+ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
+
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep, arg);
+ YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, struct cldr_plural_parse_args *arg)
+{
+ unsigned long int yylno = yyrline[yyrule];
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , arg);
+ YYFPRINTF (stderr, "\n");
+ }
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule, arg); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined __GLIBC__ && defined _STRING_H
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+yystrlen (const char *yystr)
+{
+ YYSIZE_T yylen;
+ for (yylen = 0; yystr[yylen]; yylen++)
+ continue;
+ return yylen;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+{
+ char *yyd = yydest;
+ const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+ if (*yystr == '"')
+ {
+ YYSIZE_T yyn = 0;
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ do_not_strip_quotes: ;
+ }
+
+ if (! yyres)
+ return yystrlen (yystr);
+
+ return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+ about the unexpected token YYTOKEN for the state stack whose top is
+ YYSSP.
+
+ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
+ not large enough to hold the message. In that case, also set
+ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
+ required number of bytes is too large to store. */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yytype_int16 *yyssp, int yytoken)
+{
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ YYSIZE_T yysize = yysize0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ /* Internationalized format string. */
+ const char *yyformat = YY_NULLPTR;
+ /* Arguments of yyformat. */
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Number of reported tokens (one for the "unexpected", one per
+ "expected"). */
+ int yycount = 0;
+
+ /* There are many possibilities here to consider:
+ - If this state is a consistent state with a default action, then
+ the only way this function was invoked is if the default action
+ is an error action. In that case, don't check for expected
+ tokens because there are none.
+ - The only way there can be no lookahead present (in yychar) is if
+ this state is a consistent state with a default action. Thus,
+ detecting the absence of a lookahead is sufficient to determine
+ that there is no unexpected or expected token to report. In that
+ case, just report a simple "syntax error".
+ - Don't assume there isn't a lookahead just because this state is a
+ consistent state with a default action. There might have been a
+ previous inconsistent state, consistent state with a non-default
+ action, or user semantic action that manipulated yychar.
+ - Of course, the expected token list depends on states to have
+ correct lookahead information, and it depends on the parser not
+ to perform extra reductions after fetching a lookahead from the
+ scanner and before detecting a syntax error. Thus, state merging
+ (from LALR or IELR) and default reductions corrupt the expected
+ token list. However, the list is correct for canonical LR with
+ one exception: it will still contain any token that will not be
+ accepted due to an error action in a later state.
+ */
+ if (yytoken != YYEMPTY)
+ {
+ int yyn = yypact[*yyssp];
+ yyarg[yycount++] = yytname[yytoken];
+ if (!yypact_value_is_default (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yyx;
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+ && !yytable_value_is_error (yytable[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+ }
+ }
+ }
+
+ switch (yycount)
+ {
+# define YYCASE_(N, S) \
+ case N: \
+ yyformat = S; \
+ break
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+ }
+
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+
+ if (*yymsg_alloc < yysize)
+ {
+ *yymsg_alloc = 2 * yysize;
+ if (! (yysize <= *yymsg_alloc
+ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+ return 1;
+ }
+
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ {
+ char *yyp = *yymsg;
+ int yyi = 0;
+ while ((*yyp = *yyformat) != '\0')
+ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyformat += 2;
+ }
+ else
+ {
+ yyp++;
+ yyformat++;
+ }
+ }
+ return 0;
+}
+#endif /* YYERROR_VERBOSE */
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct cldr_plural_parse_args *arg)
+{
+ YYUSE (yyvaluep);
+ YYUSE (arg);
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ switch (yytype)
+ {
+ case 10: /* KEYWORD */
+#line 138 "cldr-plural.y" /* yacc.c:1257 */
+ { free (((*yyvaluep).sval)); }
+#line 1121 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 11: /* INTEGER */
+#line 143 "cldr-plural.y" /* yacc.c:1257 */
+ { free (((*yyvaluep).oval)); }
+#line 1127 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 12: /* DECIMAL */
+#line 143 "cldr-plural.y" /* yacc.c:1257 */
+ { free (((*yyvaluep).oval)); }
+#line 1133 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 13: /* OPERAND */
+#line 145 "cldr-plural.y" /* yacc.c:1257 */
+ { }
+#line 1139 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 24: /* condition */
+#line 139 "cldr-plural.y" /* yacc.c:1257 */
+ { cldr_plural_condition_free (((*yyvaluep).cval)); }
+#line 1145 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 25: /* and_condition */
+#line 139 "cldr-plural.y" /* yacc.c:1257 */
+ { cldr_plural_condition_free (((*yyvaluep).cval)); }
+#line 1151 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 26: /* relation */
+#line 140 "cldr-plural.y" /* yacc.c:1257 */
+ { cldr_plural_relation_free (((*yyvaluep).lval)); }
+#line 1157 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 27: /* expression */
+#line 141 "cldr-plural.y" /* yacc.c:1257 */
+ { free (((*yyvaluep).eval)); }
+#line 1163 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 28: /* range_list */
+#line 144 "cldr-plural.y" /* yacc.c:1257 */
+ { cldr_plural_range_list_free (((*yyvaluep).rval)); }
+#line 1169 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 29: /* range_or_integer */
+#line 142 "cldr-plural.y" /* yacc.c:1257 */
+ { cldr_plural_range_free (((*yyvaluep).gval)); }
+#line 1175 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+ case 30: /* range */
+#line 142 "cldr-plural.y" /* yacc.c:1257 */
+ { cldr_plural_range_free (((*yyvaluep).gval)); }
+#line 1181 "cldr-plural.c" /* yacc.c:1257 */
+ break;
+
+
+ default:
+ break;
+ }
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+int
+yyparse (struct cldr_plural_parse_args *arg)
+{
+/* The lookahead symbol. */
+int yychar;
+
+
+/* The semantic value of the lookahead symbol. */
+/* Default value used for initialization, for pacifying older GCCs
+ or non-GCC compilers. */
+YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
+YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
+
+ /* Number of syntax errors so far. */
+ int yynerrs;
+
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+
+ /* The stacks and their tools:
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
+
+ Refer to the stacks through separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
+
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ yyssp = yyss = yyssa;
+ yyvsp = yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyexhaustedlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
+
+ /* First try to decide what to do without reference to lookahead token. */
+ yyn = yypact[yystate];
+ if (yypact_value_is_default (yyn))
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = yylex (&yylval, arg);
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
+
+ yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ '$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 4:
+#line 164 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ struct cldr_plural_rule_ty *rule = new_rule ((yyvsp[-3].sval), (yyvsp[-1].cval));
+ struct cldr_plural_rule_list_ty *result = arg->result;
+ if (result->nitems == result->nitems_max)
+ {
+ result->nitems_max = result->nitems_max * 2 + 1;
+ result->items = xrealloc (result->items,
+ sizeof (struct cldr_plural_rule_ty *)
+ * result->nitems_max);
+ }
+ result->items[result->nitems++] = rule;
+ }
+#line 1460 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 6:
+#line 180 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.cval) = (yyvsp[0].cval);
+ }
+#line 1468 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 7:
+#line 184 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.cval) = new_branch_condition (CLDR_PLURAL_CONDITION_OR, (yyvsp[-2].cval), (yyvsp[0].cval));
+ }
+#line 1476 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 8:
+#line 190 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.cval) = new_leaf_condition ((yyvsp[0].lval));
+ }
+#line 1484 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 9:
+#line 194 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.cval) = new_branch_condition (CLDR_PLURAL_CONDITION_AND,
+ (yyvsp[-2].cval),
+ new_leaf_condition ((yyvsp[0].lval)));
+ }
+#line 1494 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 10:
+#line 202 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.lval) = new_relation ((yyvsp[-2].eval), CLDR_PLURAL_RELATION_EQUAL, (yyvsp[0].rval));
+ }
+#line 1502 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 11:
+#line 206 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.lval) = new_relation ((yyvsp[-2].eval), CLDR_PLURAL_RELATION_NOT_EQUAL, (yyvsp[0].rval));
+ }
+#line 1510 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 12:
+#line 212 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.eval) = new_expression ((yyvsp[0].ival), 0);
+ }
+#line 1518 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 13:
+#line 216 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.eval) = new_expression ((yyvsp[-2].ival), (yyvsp[0].oval)->value.ival);
+ }
+#line 1526 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 14:
+#line 222 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ struct cldr_plural_range_list_ty *ranges =
+ XMALLOC (struct cldr_plural_range_list_ty);
+ memset (ranges, 0, sizeof (struct cldr_plural_range_list_ty));
+ (yyval.rval) = add_range (ranges, (yyvsp[0].gval));
+ }
+#line 1537 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 15:
+#line 229 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.rval) = add_range ((yyvsp[-2].rval), (yyvsp[0].gval));
+ }
+#line 1545 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 16:
+#line 235 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.gval) = (yyvsp[0].gval);
+ }
+#line 1553 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 17:
+#line 239 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.gval) = new_range ((yyvsp[0].oval), (yyvsp[0].oval));
+ }
+#line 1561 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 18:
+#line 245 "cldr-plural.y" /* yacc.c:1646 */
+ {
+ (yyval.gval) = new_range ((yyvsp[-2].oval), (yyvsp[0].oval));
+ }
+#line 1569 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 29:
+#line 272 "cldr-plural.y" /* yacc.c:1646 */
+ { free ((yyvsp[0].oval)); }
+#line 1575 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 30:
+#line 274 "cldr-plural.y" /* yacc.c:1646 */
+ { free ((yyvsp[-2].oval)); free ((yyvsp[0].oval)); }
+#line 1581 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 31:
+#line 276 "cldr-plural.y" /* yacc.c:1646 */
+ { free ((yyvsp[0].oval)); }
+#line 1587 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+ case 32:
+#line 278 "cldr-plural.y" /* yacc.c:1646 */
+ { free ((yyvsp[-2].oval)); free ((yyvsp[0].oval)); }
+#line 1593 "cldr-plural.c" /* yacc.c:1646 */
+ break;
+
+
+#line 1597 "cldr-plural.c" /* yacc.c:1646 */
+ default: break;
+ }
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
+ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+ /* Now 'shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
+yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if ! YYERROR_VERBOSE
+ yyerror (arg, YY_("syntax error"));
+#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+ yyssp, yytoken)
+ {
+ char const *yymsgp = YY_("syntax error");
+ int yysyntax_error_status;
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ if (yysyntax_error_status == 0)
+ yymsgp = yymsg;
+ else if (yysyntax_error_status == 1)
+ {
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ if (!yymsg)
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ yysyntax_error_status = 2;
+ }
+ else
+ {
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ yymsgp = yymsg;
+ }
+ }
+ yyerror (arg, yymsgp);
+ if (yysyntax_error_status == 2)
+ goto yyexhaustedlab;
+ }
+# undef YYSYNTAX_ERROR
+#endif
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, arg);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
+
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (!yypact_value_is_default (yyn))
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping",
+ yystos[yystate], yyvsp, arg);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#if !defined yyoverflow || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (arg, YY_("memory exhausted"));
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+ if (yychar != YYEMPTY)
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval, arg);
+ }
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+ yystos[*yyssp], yyvsp, arg);
+ YYPOPSTACK (1);
+ }
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ return yyresult;
+}
+#line 281 "cldr-plural.y" /* yacc.c:1906 */
+
+
+static int
+yylex (YYSTYPE *lval, struct cldr_plural_parse_args *arg)
+{
+ const char *exp = arg->cp;
+ ucs4_t uc;
+ int length;
+ int result;
+ static char *buffer;
+ static size_t bufmax;
+ size_t bufpos;
+
+ while (1)
+ {
+ if (exp[0] == '\0')
+ {
+ arg->cp = exp;
+ return YYEOF;
+ }
+
+ if (exp[0] != ' ' && exp[0] != '\t')
+ break;
+
+ ++exp;
+ }
+
+ length = u8_mbtouc (&uc, (const uint8_t *) exp, arg->cp_end - exp);
+ if (uc == 0x2026)
+ {
+ arg->cp = exp + length;
+ return ELLIPSIS;
+ }
+ else if (strncmp ("...", exp, 3) == 0)
+ {
+ arg->cp = exp + 3;
+ return ELLIPSIS;
+ }
+ else if (strncmp ("..", exp, 2) == 0)
+ {
+ arg->cp = exp + 2;
+ return RANGE;
+ }
+ else if (strncmp ("other", exp, 5) == 0)
+ {
+ arg->cp = exp + 5;
+ return OTHER;
+ }
+ else if (strncmp ("@integer", exp, 8) == 0)
+ {
+ arg->cp = exp + 8;
+ return AT_INTEGER;
+ }
+ else if (strncmp ("@decimal", exp, 8) == 0)
+ {
+ arg->cp = exp + 8;
+ return AT_DECIMAL;
+ }
+
+ result = *exp++;
+ switch (result)
+ {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ {
+ unsigned long int ival = result - '0';
+
+ while (exp[0] >= '0' && exp[0] <= '9')
+ {
+ ival *= 10;
+ ival += exp[0] - '0';
+ ++exp;
+ }
+
+ lval->oval = XMALLOC (struct cldr_plural_operand_ty);
+ if (exp[0] == '.' && exp[1] >= '0' && exp[1] <= '9')
+ {
+ double dval = ival;
+ int denominator = 10, nfractions = 0;
+ ++exp;
+ while (exp[0] >= '0' && exp[0] <= '9')
+ {
+ dval += (exp[0] - '0') / (double) denominator;
+ denominator *= 10;
+ ++nfractions;
+ ++exp;
+ }
+ lval->oval->type = CLDR_PLURAL_OPERAND_DECIMAL;
+ lval->oval->value.dval.d = dval;
+ lval->oval->value.dval.nfractions = nfractions;
+ result = DECIMAL;
+ }
+ else
+ {
+ lval->oval->type = CLDR_PLURAL_OPERAND_INTEGER;
+ lval->oval->value.ival = ival;
+ result = INTEGER;
+ }
+ }
+ break;
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g':
+ case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
+ case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u':
+ case 'v': case 'w': case 'x': case 'y': case 'z':
+ bufpos = 0;
+ for (;;)
+ {
+ if (bufpos >= bufmax)
+ {
+ bufmax = 2 * bufmax + 10;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ buffer[bufpos++] = result;
+ result = *exp;
+ switch (result)
+ {
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ ++exp;
+ continue;
+ default:
+ break;
+ }
+ break;
+ }
+
+ if (bufpos >= bufmax)
+ {
+ bufmax = 2 * bufmax + 10;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ buffer[bufpos] = '\0';
+
+ /* Operands. */
+ if (bufpos == 1)
+ {
+ switch (buffer[0])
+ {
+ case 'n': case 'i': case 'f': case 't': case 'v': case 'w':
+ arg->cp = exp;
+ lval->ival = buffer[0];
+ return OPERAND;
+ default:
+ break;
+ }
+ }
+
+ /* Keywords. */
+ if (strcmp (buffer, "and") == 0)
+ {
+ arg->cp = exp;
+ return AND;
+ }
+ else if (strcmp (buffer, "or") == 0)
+ {
+ arg->cp = exp;
+ return OR;
+ }
+
+ lval->sval = xstrdup (buffer);
+ result = KEYWORD;
+ break;
+ case '!':
+ if (exp[0] == '=')
+ {
+ ++exp;
+ result = '!';
+ }
+ else
+ result = YYERRCODE;
+ break;
+ default:
+ break;
+ }
+
+ arg->cp = exp;
+
+ return result;
+}
+
+static void
+yyerror (struct cldr_plural_parse_args *arg, char const *s)
+{
+ fprintf (stderr, "%s\n", s);
+}
diff --git a/gettext-tools/src/cldr-plural.h b/gettext-tools/src/cldr-plural.h
new file mode 100644
index 0000000..4122af5
--- /dev/null
+++ b/gettext-tools/src/cldr-plural.h
@@ -0,0 +1,102 @@
+/* A Bison parser, made by GNU Bison 3.0.4. */
+
+/* Bison interface for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+#ifndef YY_YY_CLDR_PLURAL_H_INCLUDED
+# define YY_YY_CLDR_PLURAL_H_INCLUDED
+/* Debug traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ enum yytokentype
+ {
+ AND = 258,
+ OR = 259,
+ RANGE = 260,
+ ELLIPSIS = 261,
+ OTHER = 262,
+ AT_INTEGER = 263,
+ AT_DECIMAL = 264,
+ KEYWORD = 265,
+ INTEGER = 266,
+ DECIMAL = 267,
+ OPERAND = 268
+ };
+#endif
+/* Tokens. */
+#define AND 258
+#define OR 259
+#define RANGE 260
+#define ELLIPSIS 261
+#define OTHER 262
+#define AT_INTEGER 263
+#define AT_DECIMAL 264
+#define KEYWORD 265
+#define INTEGER 266
+#define DECIMAL 267
+#define OPERAND 268
+
+/* Value type. */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
+union YYSTYPE
+{
+#line 127 "cldr-plural.y" /* yacc.c:1909 */
+
+ char *sval;
+ struct cldr_plural_condition_ty *cval;
+ struct cldr_plural_relation_ty *lval;
+ struct cldr_plural_expression_ty *eval;
+ struct cldr_plural_range_ty *gval;
+ struct cldr_plural_operand_ty *oval;
+ struct cldr_plural_range_list_ty *rval;
+ int ival;
+
+#line 91 "cldr-plural.h" /* yacc.c:1909 */
+};
+
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+
+int yyparse (struct cldr_plural_parse_args *arg);
+
+#endif /* !YY_YY_CLDR_PLURAL_H_INCLUDED */
diff --git a/gettext-tools/src/cldr-plural.y b/gettext-tools/src/cldr-plural.y
new file mode 100644
index 0000000..d3128cd
--- /dev/null
+++ b/gettext-tools/src/cldr-plural.y
@@ -0,0 +1,469 @@
+/* Unicode CLDR plural rule parser and converter
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+%{
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "unistr.h"
+#include "xalloc.h"
+
+#include "cldr-plural-exp.h"
+#include "cldr-plural.h"
+
+/* Prototypes for local functions. */
+static int yylex (YYSTYPE *lval, struct cldr_plural_parse_args *arg);
+static void yyerror (struct cldr_plural_parse_args *arg, const char *str);
+
+/* Allocation of expressions. */
+
+static struct cldr_plural_rule_ty *
+new_rule (char *name, struct cldr_plural_condition_ty *condition)
+{
+ struct cldr_plural_rule_ty *result =
+ XMALLOC (struct cldr_plural_rule_ty);
+ result->name = name;
+ result->condition = condition;
+ return result;
+}
+
+static struct cldr_plural_condition_ty *
+new_leaf_condition (struct cldr_plural_relation_ty *relation)
+{
+ struct cldr_plural_condition_ty *result =
+ XMALLOC (struct cldr_plural_condition_ty);
+ result->type = CLDR_PLURAL_CONDITION_RELATION;
+ result->value.relation = relation;
+ return result;
+}
+
+static struct cldr_plural_condition_ty *
+new_branch_condition (enum cldr_plural_condition type,
+ struct cldr_plural_condition_ty *condition0,
+ struct cldr_plural_condition_ty *condition1)
+{
+ struct cldr_plural_condition_ty *result =
+ XMALLOC (struct cldr_plural_condition_ty);
+ result->type = type;
+ result->value.conditions[0] = condition0;
+ result->value.conditions[1] = condition1;
+ return result;
+}
+
+static struct cldr_plural_relation_ty *
+new_relation (struct cldr_plural_expression_ty *expression,
+ enum cldr_plural_relation type,
+ struct cldr_plural_range_list_ty *ranges)
+{
+ struct cldr_plural_relation_ty *result =
+ XMALLOC (struct cldr_plural_relation_ty);
+ result->expression = expression;
+ result->type = type;
+ result->ranges = ranges;
+ return result;
+}
+
+static struct cldr_plural_expression_ty *
+new_expression (int operand, int mod)
+{
+ struct cldr_plural_expression_ty *result =
+ XMALLOC (struct cldr_plural_expression_ty);
+ result->operand = operand;
+ result->mod = mod;
+ return result;
+}
+
+static struct cldr_plural_range_list_ty *
+add_range (struct cldr_plural_range_list_ty *ranges,
+ struct cldr_plural_range_ty *range)
+{
+ if (ranges->nitems == ranges->nitems_max)
+ {
+ ranges->nitems_max = ranges->nitems_max * 2 + 1;
+ ranges->items = xrealloc (ranges->items,
+ sizeof (struct cldr_plural_range_ty *)
+ * ranges->nitems_max);
+ }
+ ranges->items[ranges->nitems++] = range;
+ return ranges;
+}
+
+static struct cldr_plural_range_ty *
+new_range (struct cldr_plural_operand_ty *start,
+ struct cldr_plural_operand_ty *end)
+{
+ struct cldr_plural_range_ty *result =
+ XMALLOC (struct cldr_plural_range_ty);
+ result->start = start;
+ result->end = end;
+ return result;
+}
+%}
+
+%parse-param {struct cldr_plural_parse_args *arg}
+%lex-param {struct cldr_plural_parse_args *arg}
+%define api.pure full
+
+%union {
+ char *sval;
+ struct cldr_plural_condition_ty *cval;
+ struct cldr_plural_relation_ty *lval;
+ struct cldr_plural_expression_ty *eval;
+ struct cldr_plural_range_ty *gval;
+ struct cldr_plural_operand_ty *oval;
+ struct cldr_plural_range_list_ty *rval;
+ int ival;
+}
+
+%destructor { free ($$); } <sval>
+%destructor { cldr_plural_condition_free ($$); } <cval>
+%destructor { cldr_plural_relation_free ($$); } <lval>
+%destructor { free ($$); } <eval>
+%destructor { cldr_plural_range_free ($$); } <gval>
+%destructor { free ($$); } <oval>
+%destructor { cldr_plural_range_list_free ($$); } <rval>
+%destructor { } <ival>
+
+%token AND OR RANGE ELLIPSIS OTHER AT_INTEGER AT_DECIMAL
+%token<sval> KEYWORD
+%token<oval> INTEGER DECIMAL
+%token<ival> OPERAND
+%type<cval> condition and_condition
+%type<lval> relation
+%type<eval> expression
+%type<gval> range range_or_integer
+%type<rval> range_list
+
+%%
+
+rules: rule
+ | rules ';' rule
+ ;
+
+rule: KEYWORD ':' condition samples
+ {
+ struct cldr_plural_rule_ty *rule = new_rule ($1, $3);
+ struct cldr_plural_rule_list_ty *result = arg->result;
+ if (result->nitems == result->nitems_max)
+ {
+ result->nitems_max = result->nitems_max * 2 + 1;
+ result->items = xrealloc (result->items,
+ sizeof (struct cldr_plural_rule_ty *)
+ * result->nitems_max);
+ }
+ result->items[result->nitems++] = rule;
+ }
+ | OTHER ':' samples
+ ;
+
+condition: and_condition
+ {
+ $$ = $1;
+ }
+ | condition OR and_condition
+ {
+ $$ = new_branch_condition (CLDR_PLURAL_CONDITION_OR, $1, $3);
+ }
+ ;
+
+and_condition: relation
+ {
+ $$ = new_leaf_condition ($1);
+ }
+ | and_condition AND relation
+ {
+ $$ = new_branch_condition (CLDR_PLURAL_CONDITION_AND,
+ $1,
+ new_leaf_condition ($3));
+ }
+ ;
+
+relation: expression '=' range_list
+ {
+ $$ = new_relation ($1, CLDR_PLURAL_RELATION_EQUAL, $3);
+ }
+ | expression '!' range_list
+ {
+ $$ = new_relation ($1, CLDR_PLURAL_RELATION_NOT_EQUAL, $3);
+ }
+ ;
+
+expression: OPERAND
+ {
+ $$ = new_expression ($1, 0);
+ }
+ | OPERAND '%' INTEGER
+ {
+ $$ = new_expression ($1, $3->value.ival);
+ }
+ ;
+
+range_list: range_or_integer
+ {
+ struct cldr_plural_range_list_ty *ranges =
+ XMALLOC (struct cldr_plural_range_list_ty);
+ memset (ranges, 0, sizeof (struct cldr_plural_range_list_ty));
+ $$ = add_range (ranges, $1);
+ }
+ | range_list ',' range_or_integer
+ {
+ $$ = add_range ($1, $3);
+ }
+ ;
+
+range_or_integer: range
+ {
+ $$ = $1;
+ }
+ | INTEGER
+ {
+ $$ = new_range ($1, $1);
+ }
+ ;
+
+range: INTEGER RANGE INTEGER
+ {
+ $$ = new_range ($1, $3);
+ }
+ ;
+
+/* FIXME: collect samples */
+samples: at_integer at_decimal
+ ;
+
+at_integer: %empty
+ | AT_INTEGER sample_list
+ ;
+
+at_decimal: %empty
+ | AT_DECIMAL sample_list
+ ;
+
+sample_list: sample_list1 sample_ellipsis
+ ;
+sample_list1: sample_range
+ | sample_list1 ',' sample_range
+ ;
+sample_ellipsis: %empty
+ | ',' ELLIPSIS
+ ;
+
+sample_range: DECIMAL
+ { free ($1); }
+ | DECIMAL '~' DECIMAL
+ { free ($1); free ($3); }
+ | INTEGER
+ { free ($1); }
+ | INTEGER '~' INTEGER
+ { free ($1); free ($3); }
+ ;
+
+%%
+
+static int
+yylex (YYSTYPE *lval, struct cldr_plural_parse_args *arg)
+{
+ const char *exp = arg->cp;
+ ucs4_t uc;
+ int length;
+ int result;
+ static char *buffer;
+ static size_t bufmax;
+ size_t bufpos;
+
+ while (1)
+ {
+ if (exp[0] == '\0')
+ {
+ arg->cp = exp;
+ return YYEOF;
+ }
+
+ if (exp[0] != ' ' && exp[0] != '\t')
+ break;
+
+ ++exp;
+ }
+
+ length = u8_mbtouc (&uc, (const uint8_t *) exp, arg->cp_end - exp);
+ if (uc == 0x2026)
+ {
+ arg->cp = exp + length;
+ return ELLIPSIS;
+ }
+ else if (strncmp ("...", exp, 3) == 0)
+ {
+ arg->cp = exp + 3;
+ return ELLIPSIS;
+ }
+ else if (strncmp ("..", exp, 2) == 0)
+ {
+ arg->cp = exp + 2;
+ return RANGE;
+ }
+ else if (strncmp ("other", exp, 5) == 0)
+ {
+ arg->cp = exp + 5;
+ return OTHER;
+ }
+ else if (strncmp ("@integer", exp, 8) == 0)
+ {
+ arg->cp = exp + 8;
+ return AT_INTEGER;
+ }
+ else if (strncmp ("@decimal", exp, 8) == 0)
+ {
+ arg->cp = exp + 8;
+ return AT_DECIMAL;
+ }
+
+ result = *exp++;
+ switch (result)
+ {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ {
+ unsigned long int ival = result - '0';
+
+ while (exp[0] >= '0' && exp[0] <= '9')
+ {
+ ival *= 10;
+ ival += exp[0] - '0';
+ ++exp;
+ }
+
+ lval->oval = XMALLOC (struct cldr_plural_operand_ty);
+ if (exp[0] == '.' && exp[1] >= '0' && exp[1] <= '9')
+ {
+ double dval = ival;
+ int denominator = 10, nfractions = 0;
+ ++exp;
+ while (exp[0] >= '0' && exp[0] <= '9')
+ {
+ dval += (exp[0] - '0') / (double) denominator;
+ denominator *= 10;
+ ++nfractions;
+ ++exp;
+ }
+ lval->oval->type = CLDR_PLURAL_OPERAND_DECIMAL;
+ lval->oval->value.dval.d = dval;
+ lval->oval->value.dval.nfractions = nfractions;
+ result = DECIMAL;
+ }
+ else
+ {
+ lval->oval->type = CLDR_PLURAL_OPERAND_INTEGER;
+ lval->oval->value.ival = ival;
+ result = INTEGER;
+ }
+ }
+ break;
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g':
+ case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
+ case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u':
+ case 'v': case 'w': case 'x': case 'y': case 'z':
+ bufpos = 0;
+ for (;;)
+ {
+ if (bufpos >= bufmax)
+ {
+ bufmax = 2 * bufmax + 10;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ buffer[bufpos++] = result;
+ result = *exp;
+ switch (result)
+ {
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z':
+ ++exp;
+ continue;
+ default:
+ break;
+ }
+ break;
+ }
+
+ if (bufpos >= bufmax)
+ {
+ bufmax = 2 * bufmax + 10;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ buffer[bufpos] = '\0';
+
+ /* Operands. */
+ if (bufpos == 1)
+ {
+ switch (buffer[0])
+ {
+ case 'n': case 'i': case 'f': case 't': case 'v': case 'w':
+ arg->cp = exp;
+ lval->ival = buffer[0];
+ return OPERAND;
+ default:
+ break;
+ }
+ }
+
+ /* Keywords. */
+ if (strcmp (buffer, "and") == 0)
+ {
+ arg->cp = exp;
+ return AND;
+ }
+ else if (strcmp (buffer, "or") == 0)
+ {
+ arg->cp = exp;
+ return OR;
+ }
+
+ lval->sval = xstrdup (buffer);
+ result = KEYWORD;
+ break;
+ case '!':
+ if (exp[0] == '=')
+ {
+ ++exp;
+ result = '!';
+ }
+ else
+ result = YYERRCODE;
+ break;
+ default:
+ break;
+ }
+
+ arg->cp = exp;
+
+ return result;
+}
+
+static void
+yyerror (struct cldr_plural_parse_args *arg, char const *s)
+{
+ fprintf (stderr, "%s\n", s);
+}
diff --git a/gettext-tools/src/cldr-plurals.c b/gettext-tools/src/cldr-plurals.c
new file mode 100644
index 0000000..abbd0c2
--- /dev/null
+++ b/gettext-tools/src/cldr-plurals.c
@@ -0,0 +1,370 @@
+/* Unicode CLDR plural rule parser and converter
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "basename.h"
+#include "cldr-plural-exp.h"
+#include "c-ctype.h"
+#include <errno.h>
+#include <error.h>
+#include <getopt.h>
+#include "gettext.h"
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <locale.h>
+#include "progname.h"
+#include "propername.h"
+#include "relocatable.h"
+#include <stdlib.h>
+#include <string.h>
+#include "xalloc.h"
+
+#define _(s) gettext(s)
+
+
+static char *
+extract_rules (FILE *fp,
+ const char *real_filename, const char *logical_filename,
+ const char *locale)
+{
+ xmlDocPtr doc;
+ xmlNodePtr node, n;
+ size_t locale_length;
+ char *buffer = NULL, *p;
+ size_t bufmax = 0;
+ size_t buflen = 0;
+
+ doc = xmlReadFd (fileno (fp), logical_filename, NULL,
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOERROR
+ | XML_PARSE_NOBLANKS);
+ if (doc == NULL)
+ error (EXIT_FAILURE, 0, _("memory exhausted"));
+
+ node = xmlDocGetRootElement (doc);
+ if (!node || !xmlStrEqual (node->name, BAD_CAST "supplementalData"))
+ {
+ error_at_line (0, 0,
+ logical_filename,
+ xmlGetLineNo (node),
+ _("\
+The root element must be <%s>"),
+ "supplementalData");
+ goto out;
+ }
+
+ for (n = node->children; n; n = n->next)
+ {
+ if (n->type == XML_ELEMENT_NODE
+ && xmlStrEqual (n->name, BAD_CAST "plurals"))
+ break;
+ }
+ if (!n)
+ {
+ error (0, 0, _("The element <%s> does not contain a <%s> element"),
+ "supplementalData", "plurals");
+ goto out;
+ }
+
+ locale_length = strlen (locale);
+ for (n = n->children; n; n = n->next)
+ {
+ xmlChar *locales;
+ xmlChar *cp;
+ xmlNodePtr n2;
+ bool found = false;
+
+ if (n->type != XML_ELEMENT_NODE
+ || !xmlStrEqual (n->name, BAD_CAST "pluralRules"))
+ continue;
+
+ if (!xmlHasProp (n, BAD_CAST "locales"))
+ {
+ error_at_line (0, 0,
+ logical_filename,
+ xmlGetLineNo (n),
+ _("\
+The element <%s> does not have attribute <%s>"),
+ "pluralRules", "locales");
+ continue;
+ }
+
+ cp = locales = xmlGetProp (n, BAD_CAST "locales");
+ while (*cp != '\0')
+ {
+ while (c_isspace (*cp))
+ cp++;
+ if (xmlStrncmp (cp, BAD_CAST locale, locale_length) == 0
+ && (*(cp + locale_length) == '\0'
+ || c_isspace (*(cp + locale_length))))
+ {
+ found = true;
+ break;
+ }
+ while (*cp && !c_isspace (*cp))
+ cp++;
+ }
+ xmlFree (locales);
+
+ if (!found)
+ continue;
+
+ for (n2 = n->children; n2; n2 = n2->next)
+ {
+ xmlChar *count;
+ xmlChar *content;
+ size_t length;
+
+ if (n2->type != XML_ELEMENT_NODE
+ || !xmlStrEqual (n2->name, BAD_CAST "pluralRule"))
+ continue;
+
+ if (!xmlHasProp (n2, BAD_CAST "count"))
+ {
+ error_at_line (0, 0,
+ logical_filename,
+ xmlGetLineNo (n2),
+ _("\
+The element <%s> does not have attribute <%s>"),
+ "pluralRule", "count");
+ break;
+ }
+
+ count = xmlGetProp (n2, BAD_CAST "count");
+ content = xmlNodeGetContent (n2);
+ length = xmlStrlen (count) + strlen (": ")
+ + xmlStrlen (content) + strlen ("; ");
+
+ if (buflen + length + 1 > bufmax)
+ {
+ bufmax *= 2;
+ if (bufmax < buflen + length + 1)
+ bufmax = buflen + length + 1;
+ buffer = (char *) xrealloc (buffer, bufmax);
+ }
+
+ sprintf (buffer + buflen, "%s: %s; ", count, content);
+ xmlFree (count);
+ xmlFree (content);
+
+ buflen += length;
+ }
+ }
+
+ if (buffer)
+ {
+ /* Scrub the last semicolon, if any. */
+ p = strrchr (buffer, ';');
+ if (p)
+ *p = '\0';
+ }
+
+ out:
+ xmlFreeDoc (doc);
+ return buffer;
+}
+
+/* Display usage information and exit. */
+static void
+usage (int status)
+{
+ if (status != EXIT_SUCCESS)
+ fprintf (stderr, _("Try '%s --help' for more information.\n"),
+ program_name);
+ else
+ {
+ printf (_("\
+Usage: %s [OPTION...] [LOCALE RULES]...\n\
+"), program_name);
+ printf ("\n");
+ /* xgettext: no-wrap */
+ printf (_("\
+Extract or convert Unicode CLDR plural rules.\n\
+\n\
+If both LOCALE and RULES are specified, it reads CLDR plural rules for\n\
+LOCALE from RULES and print them in a form suitable for gettext use.\n\
+If no argument is given, it reads CLDR plural rules from the standard input.\n\
+"));
+ printf ("\n");
+ /* xgettext: no-wrap */
+ printf (_("\
+Mandatory arguments to long options are mandatory for short options too.\n\
+Similarly for optional arguments.\n\
+"));
+ printf ("\n");
+ printf (_("\
+ -c, --cldr print plural rules in the CLDR format\n"));
+ printf (_("\
+ -h, --help display this help and exit\n"));
+ printf (_("\
+ -V, --version output version information and exit\n"));
+ printf ("\n");
+ /* TRANSLATORS: The placeholder indicates the bug-reporting address
+ for this package. Please add _another line_ saying
+ "Report translation bugs to <...>\n" with the address for translation
+ bugs (typically your translation team's web or email address). */
+ fputs (_("Report bugs to <bug-gnu-gettext@gnu.org>.\n"),
+ stdout);
+ }
+ exit (status);
+}
+
+/* Long options. */
+static const struct option long_options[] =
+{
+ { "cldr", no_argument, NULL, 'c' },
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+};
+
+int
+main (int argc, char **argv)
+{
+ bool opt_cldr_format = false;
+ bool do_help = false;
+ bool do_version = false;
+ int optchar;
+
+ /* Set program name for messages. */
+ set_program_name (argv[0]);
+
+#ifdef HAVE_SETLOCALE
+ /* Set locale via LC_ALL. */
+ setlocale (LC_ALL, "");
+#endif
+
+ /* Set the text message domain. */
+ bindtextdomain (PACKAGE, relocate (LOCALEDIR));
+ bindtextdomain ("bison-runtime", relocate (BISON_LOCALEDIR));
+ textdomain (PACKAGE);
+
+ while ((optchar = getopt_long (argc, argv, "chV", long_options, NULL)) != EOF)
+ switch (optchar)
+ {
+ case '\0': /* Long option. */
+ break;
+
+ case 'c':
+ opt_cldr_format = true;
+ break;
+
+ case 'h':
+ do_help = true;
+ break;
+
+ case 'V':
+ do_version = true;
+ break;
+
+ default:
+ usage (EXIT_FAILURE);
+ /* NOTREACHED */
+ }
+
+ /* Version information requested. */
+ if (do_version)
+ {
+ printf ("%s (GNU %s) %s\n", basename (program_name), PACKAGE, VERSION);
+ /* xgettext: no-wrap */
+ printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n\
+This is free software: you are free to change and redistribute it.\n\
+There is NO WARRANTY, to the extent permitted by law.\n\
+"),
+ "2015");
+ printf (_("Written by %s.\n"), proper_name ("Daiki Ueno"));
+ exit (EXIT_SUCCESS);
+ }
+
+ /* Help is requested. */
+ if (do_help)
+ usage (EXIT_SUCCESS);
+
+ if (argc == optind + 2)
+ {
+ /* Two arguments: Read CLDR rules from a file. */
+ const char *locale = argv[optind];
+ const char *logical_filename = argv[optind + 1];
+ char *extracted_rules;
+ FILE *fp;
+
+ LIBXML_TEST_VERSION
+
+ fp = fopen (logical_filename, "r");
+ if (fp == NULL)
+ error (1, 0, _("%s cannot be read"), logical_filename);
+
+ extracted_rules = extract_rules (fp, logical_filename, logical_filename,
+ locale);
+ fclose (fp);
+ if (extracted_rules == NULL)
+ error (1, 0, _("cannot extract rules for %s"), locale);
+
+ if (opt_cldr_format)
+ printf ("%s\n", extracted_rules);
+ else
+ {
+ struct cldr_plural_rule_list_ty *result;
+
+ result = cldr_plural_parse (extracted_rules);
+ if (result == NULL)
+ error (1, 0, _("cannot parse CLDR rule"));
+
+ cldr_plural_rule_list_print (result, stdout);
+ cldr_plural_rule_list_free (result);
+ }
+ free (extracted_rules);
+ }
+ else if (argc == optind)
+ {
+ /* No argument: Read CLDR rules from standard input. */
+ char *line = NULL;
+ size_t line_size = 0;
+ for (;;)
+ {
+ int line_len;
+ struct cldr_plural_rule_list_ty *result;
+
+ line_len = getline (&line, &line_size, stdin);
+ if (line_len < 0)
+ break;
+ if (line_len > 0 && line[line_len - 1] == '\n')
+ line[--line_len] = '\0';
+
+ result = cldr_plural_parse (line);
+ if (result)
+ {
+ cldr_plural_rule_list_print (result, stdout);
+ cldr_plural_rule_list_free (result);
+ }
+ }
+
+ free (line);
+ }
+ else
+ {
+ error (1, 0, _("extra operand %s"), argv[optind]);
+ }
+
+ return 0;
+}
diff --git a/gettext-tools/src/color.c b/gettext-tools/src/color.c
index 47daf00..b372b2e 100644
--- a/gettext-tools/src/color.c
+++ b/gettext-tools/src/color.c
@@ -1,5 +1,5 @@
/* Color and styling handling.
- Copyright (C) 2006-2008 Free Software Foundation, Inc.
+ Copyright (C) 2006-2008, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/color.h b/gettext-tools/src/color.h
index f47f40f..25211ac 100644
--- a/gettext-tools/src/color.h
+++ b/gettext-tools/src/color.h
@@ -1,5 +1,5 @@
/* Color and styling handling.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/dir-list.c b/gettext-tools/src/dir-list.c
index ee46d05..2ab0fd2 100644
--- a/gettext-tools/src/dir-list.c
+++ b/gettext-tools/src/dir-list.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1996, 1998, 2000-2002, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1998, 2000-2002, 2006, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/dir-list.h b/gettext-tools/src/dir-list.h
index 6ce32bb..954e017 100644
--- a/gettext-tools/src/dir-list.h
+++ b/gettext-tools/src/dir-list.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1996, 1998, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1998, 2000-2003, 2015 Free Software Foundation,
+ Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/file-list.c b/gettext-tools/src/file-list.c
index 2ee983d..c60f6a0 100644
--- a/gettext-tools/src/file-list.c
+++ b/gettext-tools/src/file-list.c
@@ -1,5 +1,6 @@
/* Reading file lists.
- Copyright (C) 1995-1998, 2000-2002, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2002, 2007, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/src/file-list.h b/gettext-tools/src/file-list.h
index 9665fbe..a43f6a4 100644
--- a/gettext-tools/src/file-list.h
+++ b/gettext-tools/src/file-list.h
@@ -1,5 +1,5 @@
/* Reading file lists.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/filter-quote.c b/gettext-tools/src/filter-quote.c
index 2e9b7dc..25ac391 100644
--- a/gettext-tools/src/filter-quote.c
+++ b/gettext-tools/src/filter-quote.c
@@ -1,5 +1,5 @@
/* Convert ASCII quotations to Unicode quotations.
- Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2014-2015 Free Software Foundation, Inc.
Written by Daiki Ueno <ueno@gnu.org>, 2014.
This program is free software: you can redistribute it and/or modify
@@ -22,6 +22,7 @@
/* Specification. */
#include "filters.h"
+#include "quote.h"
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
@@ -30,28 +31,83 @@
#define BOLD_START "\x1b[1m"
#define BOLD_END "\x1b[0m"
+struct result
+{
+ char *output;
+ char *offset;
+ bool bold;
+};
+
+static void
+convert_quote_callback (char quote, const char *quoted, size_t quoted_length,
+ void *data)
+{
+ struct result *result = data;
+
+ switch (quote)
+ {
+ case '\0':
+ memcpy (result->offset, quoted, quoted_length);
+ result->offset += quoted_length;
+ break;
+
+ case '"':
+ /* U+201C: LEFT DOUBLE QUOTATION MARK */
+ memcpy (result->offset, "\xe2\x80\x9c", 3);
+ result->offset += 3;
+ if (result->bold)
+ {
+ memcpy (result->offset, BOLD_START, 4);
+ result->offset += 4;
+ }
+ memcpy (result->offset, quoted, quoted_length);
+ result->offset += quoted_length;
+ if (result->bold)
+ {
+ memcpy (result->offset, BOLD_END, 4);
+ result->offset += 4;
+ }
+ /* U+201D: RIGHT DOUBLE QUOTATION MARK */
+ memcpy (result->offset, "\xe2\x80\x9d", 3);
+ result->offset += 3;
+ break;
+
+ case '\'':
+ /* U+2018: LEFT SINGLE QUOTATION MARK */
+ memcpy (result->offset, "\xe2\x80\x98", 3);
+ result->offset += 3;
+ if (result->bold)
+ {
+ memcpy (result->offset, BOLD_START, 4);
+ result->offset += 4;
+ }
+ memcpy (result->offset, quoted, quoted_length);
+ result->offset += quoted_length;
+ if (result->bold)
+ {
+ memcpy (result->offset, BOLD_END, 4);
+ result->offset += 4;
+ }
+ /* U+2019: RIGHT SINGLE QUOTATION MARK */
+ memcpy (result->offset, "\xe2\x80\x99", 3);
+ result->offset += 3;
+ break;
+ }
+}
+
/* This is a direct translation of po/quot.sed and po/boldquot.sed. */
static void
convert_ascii_quote_to_unicode (const char *input, size_t input_len,
char **output_p, size_t *output_len_p,
bool bold)
{
- const char *start, *end, *p;
- char *output, *r;
- bool state;
+ const char *p;
size_t quote_count;
-
- start = input;
- end = &input[input_len - 1];
-
- /* True if we have seen a character which could be an opening
- quotation mark. Note that we can't determine if it is really an
- opening quotation mark until we see a closing quotation mark. */
- state = false;
+ struct result result;
/* Count the number of quotation characters. */
quote_count = 0;
- for (p = start; p <= end; p++)
+ for (p = input; p < input + input_len; p++)
{
size_t len;
@@ -65,144 +121,16 @@ convert_ascii_quote_to_unicode (const char *input, size_t input_len,
}
/* Large enough. */
- r = output = XNMALLOC (input_len - quote_count
- + (bold ? 7 : 3) * quote_count + 1,
- char);
-
-#undef COPY_SEEN
-#define COPY_SEEN \
- do \
- { \
- memcpy (r, start, p - start); \
- r += p - start; \
- start = p; \
- } \
- while (0)
-
- for (p = start; p <= end; p++)
- {
- switch (*p)
- {
- case '"':
- if (state)
- {
- if (*start == '"')
- {
- if (p > start + 1)
- {
- /* U+201C: LEFT DOUBLE QUOTATION MARK */
- memcpy (r, "\xe2\x80\x9c", 3);
- r += 3;
- if (bold)
- {
- memcpy (r, BOLD_START, 4);
- r += 4;
- }
- memcpy (r, start + 1, p - start - 1);
- r += p - start - 1;
- if (bold)
- {
- memcpy (r, BOLD_END, 4);
- r += 4;
- }
- /* U+201D: RIGHT DOUBLE QUOTATION MARK */
- memcpy (r, "\xe2\x80\x9d", 3);
- r += 3;
- }
- else
- {
- /* Consider "" as "". */
- memcpy (r, "\"\"", 2);
- r += 2;
- }
- start = p + 1;
- state = false;
- }
- }
- else
- {
- COPY_SEEN;
- state = true;
- }
- break;
-
- case '`':
- if (state)
- {
- if (*start == '`')
- COPY_SEEN;
- }
- else
- {
- COPY_SEEN;
- state = true;
- }
- break;
-
- case '\'':
- if (state)
- {
- if (/* `...' */
- *start == '`'
- /* '...', where:
- - The left quote is preceded by a space, and the
- right quote is followed by a space.
- - The left quote is preceded by a space, and the
- right quote is at the end of line.
- - The left quote is at the beginning of the line, and
- the right quote is followed by a space.
- */
- || (*start == '\''
- && (((start > input && *(start - 1) == ' ')
- && (p == end || *(p + 1) == '\n' || *(p + 1) == ' '))
- || ((start == input || *(start - 1) == '\n')
- && p < end && *(p + 1) == ' '))))
- {
- /* U+2018: LEFT SINGLE QUOTATION MARK */
- memcpy (r, "\xe2\x80\x98", 3);
- r += 3;
- if (bold)
- {
- memcpy (r, BOLD_START, 4);
- r += 4;
- }
- memcpy (r, start + 1, p - start - 1);
- r += p - start - 1;
- if (bold)
- {
- memcpy (r, BOLD_END, 4);
- r += 4;
- }
- /* U+2019: RIGHT SINGLE QUOTATION MARK */
- memcpy (r, "\xe2\x80\x99", 3);
- r += 3;
- start = p + 1;
- }
- else
- COPY_SEEN;
- state = false;
- }
- else if (p == input || *(p - 1) == '\n' || *(p - 1) == ' ')
- {
- COPY_SEEN;
- state = true;
- }
- break;
- }
- }
+ result.output = XNMALLOC (input_len - quote_count
+ + (bold ? 7 : 3) * quote_count + 1,
+ char);
+ result.offset = result.output;
+ result.bold = bold;
-#undef COPY_SEEN
-
- /* Copy the rest to R. */
- if (p > start)
- {
- memcpy (r, start, p - start);
- r += p - start;
- }
- *r = '\0';
+ scan_quoted (input, input_len, convert_quote_callback, &result);
- *output_p = output;
- *output_len_p = r - output;
+ *output_p = result.output;
+ *output_len_p = result.offset - result.output;
}
void
diff --git a/gettext-tools/src/filter-sr-latin.c b/gettext-tools/src/filter-sr-latin.c
index d6dbd95..ea5457f 100644
--- a/gettext-tools/src/filter-sr-latin.c
+++ b/gettext-tools/src/filter-sr-latin.c
@@ -1,5 +1,5 @@
/* Recode Serbian text from Cyrillic to Latin script.
- Copyright (C) 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2009, 2015 Free Software Foundation, Inc.
Written by Danilo Å egan <danilo@gnome.org>, 2006,
and Bruno Haible <bruno@clisp.org>, 2006.
diff --git a/gettext-tools/src/format-awk.c b/gettext-tools/src/format-awk.c
index 91251c4..efaa2d7 100644
--- a/gettext-tools/src/format-awk.c
+++ b/gettext-tools/src/format-awk.c
@@ -1,5 +1,6 @@
/* awk format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-boost.c b/gettext-tools/src/format-boost.c
index 688ba97..a390078 100644
--- a/gettext-tools/src/format-boost.c
+++ b/gettext-tools/src/format-boost.c
@@ -1,5 +1,6 @@
/* Boost format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-c-parse.h b/gettext-tools/src/format-c-parse.h
index bacfcef..4918fd5 100644
--- a/gettext-tools/src/format-c-parse.h
+++ b/gettext-tools/src/format-c-parse.h
@@ -1,5 +1,6 @@
/* Parsing C format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009-2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2010, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-c.c b/gettext-tools/src/format-c.c
index d88f8de..b2dc9dc 100644
--- a/gettext-tools/src/format-c.c
+++ b/gettext-tools/src/format-c.c
@@ -1,5 +1,6 @@
/* C format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-csharp.c b/gettext-tools/src/format-csharp.c
index feb3fcf..1f5e715 100644
--- a/gettext-tools/src/format-csharp.c
+++ b/gettext-tools/src/format-csharp.c
@@ -1,5 +1,6 @@
/* C# format strings.
- Copyright (C) 2003-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-elisp.c b/gettext-tools/src/format-elisp.c
index 2e43fde..2eb99ac 100644
--- a/gettext-tools/src/format-elisp.c
+++ b/gettext-tools/src/format-elisp.c
@@ -1,5 +1,6 @@
/* Emacs Lisp format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-gcc-internal.c b/gettext-tools/src/format-gcc-internal.c
index 7057628..f5ca5e8 100644
--- a/gettext-tools/src/format-gcc-internal.c
+++ b/gettext-tools/src/format-gcc-internal.c
@@ -1,5 +1,5 @@
/* GCC internal format strings.
- Copyright (C) 2003-2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-gfc-internal.c b/gettext-tools/src/format-gfc-internal.c
index 4fbbc66..1932c17 100644
--- a/gettext-tools/src/format-gfc-internal.c
+++ b/gettext-tools/src/format-gfc-internal.c
@@ -1,5 +1,5 @@
/* GFC (GNU Fortran Compiler) internal format strings.
- Copyright (C) 2003-2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-invalid.h b/gettext-tools/src/format-invalid.h
index 3ad60aa..ed6c501 100644
--- a/gettext-tools/src/format-invalid.h
+++ b/gettext-tools/src/format-invalid.h
@@ -1,5 +1,5 @@
/* Common reasons that make a format string invalid.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-java.c b/gettext-tools/src/format-java.c
index 5196835..a69c84f 100644
--- a/gettext-tools/src/format-java.c
+++ b/gettext-tools/src/format-java.c
@@ -1,5 +1,6 @@
/* Java format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-javascript.c b/gettext-tools/src/format-javascript.c
index d76a8d7..fa39e20 100644
--- a/gettext-tools/src/format-javascript.c
+++ b/gettext-tools/src/format-javascript.c
@@ -1,5 +1,6 @@
/* JavaScript format strings.
- Copyright (C) 2001-2004, 2006-2009, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2009, 2013, 2015 Free Software
+ Foundation, Inc.
Written by Andreas Stricker <andy@knitter.ch>, 2010.
It's based on python format module from Bruno Haible.
diff --git a/gettext-tools/src/format-kde-kuit.c b/gettext-tools/src/format-kde-kuit.c
new file mode 100644
index 0000000..128d05d
--- /dev/null
+++ b/gettext-tools/src/format-kde-kuit.c
@@ -0,0 +1,411 @@
+/* KUIT (KDE User Interface Text) format strings.
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <assert.h>
+#include <stdbool.h>
+#include <stdlib.h>
+
+#include "format.h"
+#include "unistr.h"
+#include "xalloc.h"
+#include "xvasprintf.h"
+#include "gettext.h"
+
+#if IN_LIBGETTEXTPO
+/* Use included markup parser to avoid extra dependency from
+ libgettextpo to libxml2. */
+# ifndef FORMAT_KDE_KUIT_FALLBACK_MARKUP
+# define FORMAT_KDE_KUIT_USE_FALLBACK_MARKUP 1
+# endif
+#else
+# define FORMAT_KDE_KUIT_USE_LIBXML2 1
+#endif
+
+#if FORMAT_KDE_KUIT_USE_LIBXML2
+# include <libxml/parser.h>
+#elif FORMAT_KDE_KUIT_USE_FALLBACK_MARKUP
+# include "markup.h"
+#endif
+
+
+#define _(str) gettext (str)
+
+#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
+
+
+/* KUIT (KDE User Interface Text) is an XML-like markup which augments
+ translatable strings with semantic information:
+ http://api.kde.org/frameworks-api/frameworks5-apidocs/ki18n/html/prg_guide.html#kuit_markup
+ KUIT can be seen as a fragment of a well-formed XML document,
+ except that it allows '&' as a Qt accelerator marker and '%' as a
+ format directive. */
+
+struct spec
+{
+ /* A format string descriptor returned from formatstring_kde.parse. */
+ void *base;
+};
+
+#define XML_NS "https://www.gnu.org/s/gettext/kde"
+
+struct char_range
+{
+ ucs4_t start;
+ ucs4_t end;
+};
+
+/* Character ranges for NameStartChar defined in:
+ http://www.w3.org/TR/REC-xml/#NT-NameStartChar */
+static const struct char_range name_chars1[] =
+ {
+ { ':', ':' },
+ { 'A', 'Z' },
+ { '_', '_' },
+ { 'a', 'z' },
+ { 0xC0, 0xD6 },
+ { 0xD8, 0xF6 },
+ { 0xF8, 0x2FF },
+ { 0x370, 0x37D },
+ { 0x37F, 0x1FFF },
+ { 0x200C, 0x200D },
+ { 0x2070, 0x218F },
+ { 0x2C00, 0x2FEF },
+ { 0x3001, 0xD7FF },
+ { 0xF900, 0xFDCF },
+ { 0xFDF0, 0xFFFD },
+ { 0x10000, 0xEFFFF }
+ };
+
+/* Character ranges for NameChar, excluding NameStartChar:
+ http://www.w3.org/TR/REC-xml/#NT-NameChar */
+static const struct char_range name_chars2[] =
+ {
+ { '-', '-' },
+ { '.', '.' },
+ { '0', '9' },
+ { 0xB7, 0xB7 },
+ { 0x0300, 0x036F },
+ { 0x203F, 0x2040 }
+ };
+
+/* Return true if INPUT is an XML reference. */
+static bool
+is_reference (const char *input)
+{
+ const char *str = input;
+ const char *str_limit = str + strlen (input);
+ ucs4_t uc;
+ int i;
+
+ str += u8_mbtouc (&uc, (const unsigned char *) str, str_limit - str);
+ assert (uc == '&');
+
+ str += u8_mbtouc (&uc, (const unsigned char *) str, str_limit - str);
+
+ /* CharRef */
+ if (uc == '#')
+ {
+ str += u8_mbtouc (&uc, (const unsigned char *) str, str_limit - str);
+ if (uc == 'x')
+ {
+ while (str < str_limit)
+ {
+ str += u8_mbtouc (&uc, (const unsigned char *) str,
+ str_limit - str);
+ if (!(('0' <= uc && uc <= '9')
+ || ('A' <= uc && uc <= 'F')
+ || ('a' <= uc && uc <= 'f')))
+ break;
+ }
+ return uc == ';';
+ }
+ else if ('0' <= uc && uc <= '9')
+ {
+ while (str < str_limit)
+ {
+ str += u8_mbtouc (&uc, (const unsigned char *) str,
+ str_limit - str);
+ if (!('0' <= uc && uc <= '9'))
+ break;
+ }
+ return uc == ';';
+ }
+ }
+ else
+ {
+ /* EntityRef */
+ for (i = 0; i < SIZEOF (name_chars1); i++)
+ if (name_chars1[i].start <= uc && uc <= name_chars1[i].end)
+ break;
+
+ if (i == SIZEOF (name_chars1))
+ return false;
+
+ while (str < str_limit)
+ {
+ str += u8_mbtouc (&uc, (const unsigned char *) str, str_limit - str);
+ for (i = 0; i < SIZEOF (name_chars1); i++)
+ if (name_chars1[i].start <= uc && uc <= name_chars1[i].end)
+ break;
+ if (i == SIZEOF (name_chars1))
+ {
+ for (i = 0; i < SIZEOF (name_chars2); i++)
+ if (name_chars2[i].start <= uc && uc <= name_chars2[i].end)
+ break;
+ if (i == SIZEOF (name_chars2))
+ return false;
+ }
+ }
+ return uc == ';';
+ }
+
+ return false;
+}
+
+
+static void *
+format_parse (const char *format, bool translated, char *fdi,
+ char **invalid_reason)
+{
+ struct spec spec;
+ struct spec *result;
+ const char *str;
+ const char *str_limit;
+ size_t amp_count;
+ char *buffer, *bp;
+
+ spec.base = NULL;
+
+ /* Preprocess the input, putting the content in a <gt:kuit> element. */
+ str = format;
+ str_limit = str + strlen (format);
+
+ for (amp_count = 0; str < str_limit; amp_count++)
+ {
+ const char *amp = strchrnul (str, '&');
+ if (*amp != '&')
+ break;
+ str = amp + 1;
+ }
+
+ buffer = xmalloc (amp_count * 4
+ + strlen (format)
+ + strlen ("<gt:kuit xmlns:gt=\"" XML_NS "\"></gt:kuit>")
+ + 1);
+ *buffer = '\0';
+
+ bp = buffer;
+ bp = stpcpy (bp, "<gt:kuit xmlns:gt=\"" XML_NS "\">");
+ str = format;
+ while (str < str_limit)
+ {
+ const char *amp = strchrnul (str, '&');
+
+ bp = stpncpy (bp, str, amp - str);
+ if (*amp != '&')
+ break;
+
+ bp = stpcpy (bp, is_reference (amp) ? "&" : "&amp;");
+ str = amp + 1;
+ }
+ stpcpy (bp, "</gt:kuit>");
+
+#if FORMAT_KDE_KUIT_USE_LIBXML2
+ {
+ xmlDocPtr doc;
+
+ doc = xmlReadMemory (buffer, strlen (buffer), "", NULL,
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOERROR
+ | XML_PARSE_NOBLANKS);
+ if (doc == NULL)
+ {
+ xmlError *err = xmlGetLastError ();
+ *invalid_reason =
+ xasprintf (_("error while parsing: %s"),
+ err->message);
+ free (buffer);
+ xmlFreeDoc (doc);
+ return NULL;
+ }
+
+ free (buffer);
+ xmlFreeDoc (doc);
+ }
+#elif FORMAT_KDE_KUIT_FALLBACK_MARKUP
+ {
+ markup_parser_ty parser;
+ markup_parse_context_ty *context;
+
+ memset (&parser, 0, sizeof (markup_parser_ty));
+ context = markup_parse_context_new (&parser, 0, NULL);
+ if (!markup_parse_context_parse (context, buffer, strlen (buffer)))
+ {
+ *invalid_reason =
+ xasprintf (_("error while parsing: %s"),
+ markup_parse_context_get_error (context));
+ free (buffer);
+ markup_parse_context_free (context);
+ return NULL;
+ }
+
+ if (!markup_parse_context_end_parse (context))
+ {
+ *invalid_reason =
+ xasprintf (_("error while parsing: %s"),
+ markup_parse_context_get_error (context));
+ free (buffer);
+ markup_parse_context_free (context);
+ return NULL;
+ }
+
+ free (buffer);
+ markup_parse_context_free (context);
+ }
+#else
+ /* No support for XML. */
+#endif
+
+ spec.base = formatstring_kde.parse (format, translated, fdi, invalid_reason);
+ if (spec.base == NULL)
+ return NULL;
+
+ result = XMALLOC (struct spec);
+ *result = spec;
+ return result;
+}
+
+static void
+format_free (void *descr)
+{
+ struct spec *spec = descr;
+ formatstring_kde.free (spec->base);
+ free (spec);
+}
+
+static int
+format_get_number_of_directives (void *descr)
+{
+ struct spec *spec = descr;
+ return formatstring_kde.get_number_of_directives (spec->base);
+}
+
+static bool
+format_check (void *msgid_descr, void *msgstr_descr, bool equality,
+ formatstring_error_logger_t error_logger,
+ const char *pretty_msgid, const char *pretty_msgstr)
+{
+ struct spec *msgid_spec = msgid_descr;
+ struct spec *msgstr_spec = msgstr_descr;
+
+ return formatstring_kde.check (msgid_spec->base, msgstr_spec->base, equality,
+ error_logger,
+ pretty_msgid, pretty_msgstr);
+}
+
+struct formatstring_parser formatstring_kde_kuit =
+{
+ format_parse,
+ format_free,
+ format_get_number_of_directives,
+ NULL,
+ format_check
+};
+
+
+#ifdef TEST
+
+/* Test program: Print the argument list specification returned by
+ format_parse for strings read from standard input. */
+
+#include <stdio.h>
+
+static void
+format_print (void *descr)
+{
+ struct spec *spec = (struct spec *) descr;
+ unsigned int last;
+ unsigned int i;
+
+ if (spec == NULL)
+ {
+ printf ("INVALID");
+ return;
+ }
+
+ printf ("(");
+ last = 1;
+ for (i = 0; i < spec->numbered_arg_count; i++)
+ {
+ unsigned int number = spec->numbered[i].number;
+
+ if (i > 0)
+ printf (" ");
+ if (number < last)
+ abort ();
+ for (; last < number; last++)
+ printf ("_ ");
+ last = number + 1;
+ }
+ printf (")");
+}
+
+int
+main ()
+{
+ for (;;)
+ {
+ char *line = NULL;
+ size_t line_size = 0;
+ int line_len;
+ char *invalid_reason;
+ void *descr;
+
+ line_len = getline (&line, &line_size, stdin);
+ if (line_len < 0)
+ break;
+ if (line_len > 0 && line[line_len - 1] == '\n')
+ line[--line_len] = '\0';
+
+ invalid_reason = NULL;
+ descr = format_parse (line, false, NULL, &invalid_reason);
+
+ format_print (descr);
+ printf ("\n");
+ if (descr == NULL)
+ printf ("%s\n", invalid_reason);
+
+ free (invalid_reason);
+ free (line);
+ }
+
+ return 0;
+}
+
+/*
+ * For Emacs M-x compile
+ * Local Variables:
+ * compile-command: "/bin/sh ../libtool --tag=CC --mode=link gcc -o a.out -static -O -g -Wall -I.. -I../gnulib-lib -I../intl -DHAVE_CONFIG_H -DTEST format-kde-kuit.c ../gnulib-lib/libgettextlib.la"
+ * End:
+ */
+
+#endif /* TEST */
diff --git a/gettext-tools/src/format-kde.c b/gettext-tools/src/format-kde.c
index 90e887d..6848781 100644
--- a/gettext-tools/src/format-kde.c
+++ b/gettext-tools/src/format-kde.c
@@ -1,5 +1,6 @@
/* KDE format strings.
- Copyright (C) 2003-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-librep.c b/gettext-tools/src/format-librep.c
index 05185ad..9c15aea 100644
--- a/gettext-tools/src/format-librep.c
+++ b/gettext-tools/src/format-librep.c
@@ -1,5 +1,6 @@
/* librep format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-lisp.c b/gettext-tools/src/format-lisp.c
index 7d423a5..2f9949e 100644
--- a/gettext-tools/src/format-lisp.c
+++ b/gettext-tools/src/format-lisp.c
@@ -1,5 +1,6 @@
/* Lisp format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-lua.c b/gettext-tools/src/format-lua.c
index 272def4..6a68b82 100644
--- a/gettext-tools/src/format-lua.c
+++ b/gettext-tools/src/format-lua.c
@@ -1,5 +1,5 @@
/* Lua format strings.
- Copyright (C) 2012 Free Software Foundation, Inc.
+ Copyright (C) 2012, 2015 Free Software Foundation, Inc.
Written by Ľubomír Remák <lubomirr@lubomirr.eu>, 2012.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-pascal.c b/gettext-tools/src/format-pascal.c
index 7e0c505..b443ba7 100644
--- a/gettext-tools/src/format-pascal.c
+++ b/gettext-tools/src/format-pascal.c
@@ -1,5 +1,6 @@
/* Object Pascal format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009-2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2010, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-perl-brace.c b/gettext-tools/src/format-perl-brace.c
index 3ab05ce..64a0663 100644
--- a/gettext-tools/src/format-perl-brace.c
+++ b/gettext-tools/src/format-perl-brace.c
@@ -1,5 +1,5 @@
/* Perl brace format strings.
- Copyright (C) 2004, 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-perl.c b/gettext-tools/src/format-perl.c
index 730d190..af741e9 100644
--- a/gettext-tools/src/format-perl.c
+++ b/gettext-tools/src/format-perl.c
@@ -1,5 +1,6 @@
/* Perl format strings.
- Copyright (C) 2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2007, 2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-php.c b/gettext-tools/src/format-php.c
index 5dd6d7f..ebaaa33 100644
--- a/gettext-tools/src/format-php.c
+++ b/gettext-tools/src/format-php.c
@@ -1,5 +1,6 @@
/* PHP format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-python-brace.c b/gettext-tools/src/format-python-brace.c
index 141d3df..4323230 100644
--- a/gettext-tools/src/format-python-brace.c
+++ b/gettext-tools/src/format-python-brace.c
@@ -1,5 +1,6 @@
/* Python brace format strings.
- Copyright (C) 2004, 2006-2007, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2007, 2013, 2015 Free Software Foundation,
+ Inc.
Written by Daiki Ueno <ueno@gnu.org>, 2013.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-python.c b/gettext-tools/src/format-python.c
index d6a1338..8af3c12 100644
--- a/gettext-tools/src/format-python.c
+++ b/gettext-tools/src/format-python.c
@@ -1,5 +1,6 @@
/* Python format strings.
- Copyright (C) 2001-2004, 2006-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-qt-plural.c b/gettext-tools/src/format-qt-plural.c
index 5301d42..fafe6ab 100644
--- a/gettext-tools/src/format-qt-plural.c
+++ b/gettext-tools/src/format-qt-plural.c
@@ -1,5 +1,6 @@
/* Qt plural format strings.
- Copyright (C) 2003-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2009.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-qt.c b/gettext-tools/src/format-qt.c
index 3f759a2..abdc4da 100644
--- a/gettext-tools/src/format-qt.c
+++ b/gettext-tools/src/format-qt.c
@@ -1,5 +1,6 @@
/* Qt format strings.
- Copyright (C) 2003-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-scheme.c b/gettext-tools/src/format-scheme.c
index 02c6182..adc1cc6 100644
--- a/gettext-tools/src/format-scheme.c
+++ b/gettext-tools/src/format-scheme.c
@@ -1,5 +1,5 @@
/* Scheme format strings.
- Copyright (C) 2001-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-sh.c b/gettext-tools/src/format-sh.c
index b796fcd..eeeec04 100644
--- a/gettext-tools/src/format-sh.c
+++ b/gettext-tools/src/format-sh.c
@@ -1,5 +1,6 @@
/* Shell format strings.
- Copyright (C) 2003-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-tcl.c b/gettext-tools/src/format-tcl.c
index e338c6d..1254b2d 100644
--- a/gettext-tools/src/format-tcl.c
+++ b/gettext-tools/src/format-tcl.c
@@ -1,5 +1,6 @@
/* Tcl format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format-ycp.c b/gettext-tools/src/format-ycp.c
index 762a5d7..398b644 100644
--- a/gettext-tools/src/format-ycp.c
+++ b/gettext-tools/src/format-ycp.c
@@ -1,5 +1,6 @@
/* YCP and Smalltalk format strings.
- Copyright (C) 2001-2004, 2006-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/format.c b/gettext-tools/src/format.c
index c73ad7d..69b1f47 100644
--- a/gettext-tools/src/format.c
+++ b/gettext-tools/src/format.c
@@ -1,5 +1,5 @@
/* Format strings.
- Copyright (C) 2001-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -58,6 +58,7 @@ struct formatstring_parser *formatstring_parsers[NFORMATS] =
/* format_qt */ &formatstring_qt,
/* format_qt_plural */ &formatstring_qt_plural,
/* format_kde */ &formatstring_kde,
+ /* format_kde_kuit */ &formatstring_kde_kuit,
/* format_boost */ &formatstring_boost,
/* format_lua */ &formatstring_lua,
/* format_javascript */ &formatstring_javascript
diff --git a/gettext-tools/src/format.h b/gettext-tools/src/format.h
index d92532d..b311e48 100644
--- a/gettext-tools/src/format.h
+++ b/gettext-tools/src/format.h
@@ -1,5 +1,5 @@
/* Format strings.
- Copyright (C) 2001-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -119,6 +119,7 @@ extern DLL_VARIABLE struct formatstring_parser formatstring_gfc_internal;
extern DLL_VARIABLE struct formatstring_parser formatstring_qt;
extern DLL_VARIABLE struct formatstring_parser formatstring_qt_plural;
extern DLL_VARIABLE struct formatstring_parser formatstring_kde;
+extern DLL_VARIABLE struct formatstring_parser formatstring_kde_kuit;
extern DLL_VARIABLE struct formatstring_parser formatstring_boost;
extern DLL_VARIABLE struct formatstring_parser formatstring_lua;
extern DLL_VARIABLE struct formatstring_parser formatstring_javascript;
diff --git a/gettext-tools/src/gnu/gettext/DumpResource.java b/gettext-tools/src/gnu/gettext/DumpResource.java
index 77c6e01..40a1d92 100644
--- a/gettext-tools/src/gnu/gettext/DumpResource.java
+++ b/gettext-tools/src/gnu/gettext/DumpResource.java
@@ -1,5 +1,5 @@
/* GNU gettext for Java
- * Copyright (C) 2001-2003, 2007 Free Software Foundation, Inc.
+ * Copyright (C) 2001-2003, 2007, 2015 Free Software Foundation, Inc.
*
* 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
diff --git a/gettext-tools/src/gnu/gettext/GetURL.java b/gettext-tools/src/gnu/gettext/GetURL.java
index f42ccc4..9faac6d 100644
--- a/gettext-tools/src/gnu/gettext/GetURL.java
+++ b/gettext-tools/src/gnu/gettext/GetURL.java
@@ -1,5 +1,5 @@
/* Fetch an URL's contents.
- * Copyright (C) 2001, 2008 Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2008, 2015 Free Software Foundation, Inc.
*
* 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
diff --git a/gettext-tools/src/hostname.c b/gettext-tools/src/hostname.c
index a7032b3..684aa4e 100644
--- a/gettext-tools/src/hostname.c
+++ b/gettext-tools/src/hostname.c
@@ -1,5 +1,6 @@
/* Display hostname in various forms.
- Copyright (C) 2001-2003, 2006-2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2007, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/its.c b/gettext-tools/src/its.c
new file mode 100644
index 0000000..ce4880a
--- /dev/null
+++ b/gettext-tools/src/its.c
@@ -0,0 +1,1946 @@
+/* Internationalization Tag Set (ITS) handling
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+/* Specification. */
+#include "its.h"
+
+#include <assert.h>
+#include <errno.h>
+#include "error.h"
+#include "gettext.h"
+#include "hash.h"
+#include <stdint.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/xmlwriter.h>
+#include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
+#include <stdlib.h>
+#include "trim.h"
+#include "xalloc.h"
+#include "xvasprintf.h"
+
+#define _(str) gettext (str)
+
+/* The Internationalization Tag Set (ITS) 2.0 standard is available at:
+ http://www.w3.org/TR/its20/
+
+ This implementation supports only a few data categories, useful for
+ gettext-based projects. Other data categories can be added by
+ extending the its_rule_class_ty class and registering it in
+ init_classes().
+
+ The message extraction is performed in three steps. In the first
+ step, its_rule_list_apply() assigns values to nodes in an XML
+ document. In the second step, its_rule_list_extract_nodes() marks
+ translatable nodes. In the final step,
+ its_rule_list_extract_text() extracts text contents from the marked
+ nodes.
+
+ The values assigned to a node are represented as an array of
+ key-value pairs, where both keys and values are string. The array
+ is stored in node->_private. To retrieve the values for a node,
+ use its_rule_list_eval(). */
+
+#define ITS_NS "http://www.w3.org/2005/11/its"
+#define XML_NS "http://www.w3.org/XML/1998/namespace"
+#define GT_NS "https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
+
+struct its_value_ty
+{
+ char *name;
+ char *value;
+};
+
+struct its_value_list_ty
+{
+ struct its_value_ty *items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+static void
+its_value_list_append (struct its_value_list_ty *values,
+ const char *name,
+ const char *value)
+{
+ struct its_value_ty _value;
+
+ _value.name = xstrdup (name);
+ _value.value = xstrdup (value);
+
+ if (values->nitems == values->nitems_max)
+ {
+ values->nitems_max = 2 * values->nitems_max + 1;
+ values->items =
+ xrealloc (values->items,
+ sizeof (struct its_value_ty) * values->nitems_max);
+ }
+ memcpy (&values->items[values->nitems++], &_value,
+ sizeof (struct its_value_ty));
+}
+
+static const char *
+its_value_list_get_value (struct its_value_list_ty *values,
+ const char *name)
+{
+ size_t i;
+
+ for (i = 0; i < values->nitems; i++)
+ {
+ struct its_value_ty *value = &values->items[i];
+ if (strcmp (value->name, name) == 0)
+ return value->value;
+ }
+ return NULL;
+}
+
+static void
+its_value_list_set_value (struct its_value_list_ty *values,
+ const char *name,
+ const char *value)
+{
+ size_t i;
+
+ for (i = 0; i < values->nitems; i++)
+ {
+ struct its_value_ty *_value = &values->items[i];
+ if (strcmp (_value->name, name) == 0)
+ {
+ free (_value->value);
+ _value->value = xstrdup (value);
+ break;
+ }
+ }
+
+ if (i == values->nitems)
+ its_value_list_append (values, name, value);
+}
+
+static void
+its_value_list_merge (struct its_value_list_ty *values,
+ struct its_value_list_ty *other)
+{
+ size_t i;
+
+ for (i = 0; i < other->nitems; i++)
+ {
+ struct its_value_ty *other_value = &other->items[i];
+ size_t j;
+
+ for (j = 0; j < values->nitems; j++)
+ {
+ struct its_value_ty *value = &values->items[j];
+
+ if (strcmp (value->name, other_value->name) == 0
+ && strcmp (value->value, other_value->value) != 0)
+ {
+ free (value->value);
+ value->value = xstrdup (other_value->value);
+ break;
+ }
+ }
+
+ if (j == values->nitems)
+ its_value_list_append (values, other_value->name, other_value->value);
+ }
+}
+
+static void
+its_value_list_destroy (struct its_value_list_ty *values)
+{
+ size_t i;
+
+ for (i = 0; i < values->nitems; i++)
+ {
+ free (values->items[i].name);
+ free (values->items[i].value);
+ }
+ free (values->items);
+}
+
+struct its_pool_ty
+{
+ struct its_value_list_ty *items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+static struct its_value_list_ty *
+its_pool_alloc_value_list (struct its_pool_ty *pool)
+{
+ struct its_value_list_ty *values;
+
+ if (pool->nitems == pool->nitems_max)
+ {
+ pool->nitems_max = 2 * pool->nitems_max + 1;
+ pool->items =
+ xrealloc (pool->items,
+ sizeof (struct its_value_list_ty) * pool->nitems_max);
+ }
+
+ values = &pool->items[pool->nitems++];
+ memset (values, 0, sizeof (struct its_value_list_ty));
+ return values;
+}
+
+static const char *
+its_pool_get_value_for_node (struct its_pool_ty *pool, xmlNode *node,
+ const char *name)
+{
+ intptr_t index = (intptr_t) node->_private;
+ if (index > 0)
+ {
+ struct its_value_list_ty *values;
+
+ assert (index <= pool->nitems);
+ values = &pool->items[index - 1];
+
+ return its_value_list_get_value (values, name);
+ }
+ return NULL;
+}
+
+static void
+its_pool_destroy (struct its_pool_ty *pool)
+{
+ size_t i;
+
+ for (i = 0; i < pool->nitems; i++)
+ its_value_list_destroy (&pool->items[i]);
+ free (pool->items);
+}
+
+struct its_rule_list_ty
+{
+ struct its_rule_ty **items;
+ size_t nitems;
+ size_t nitems_max;
+
+ struct its_pool_ty pool;
+};
+
+struct its_node_list_ty
+{
+ xmlNode **items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+static void
+its_node_list_append (struct its_node_list_ty *nodes,
+ xmlNode *node)
+{
+ if (nodes->nitems == nodes->nitems_max)
+ {
+ nodes->nitems_max = 2 * nodes->nitems_max + 1;
+ nodes->items =
+ xrealloc (nodes->items, sizeof (xmlNode *) * nodes->nitems_max);
+ }
+ nodes->items[nodes->nitems++] = node;
+}
+
+/* Base class representing an ITS rule in global definition. */
+struct its_rule_class_ty
+{
+ /* How many bytes to malloc for an instance of this class. */
+ size_t size;
+
+ /* What to do immediately after the instance is malloc()ed. */
+ void (*constructor) (struct its_rule_ty *pop, xmlNode *node);
+
+ /* What to do immediately before the instance is free()ed. */
+ void (*destructor) (struct its_rule_ty *pop);
+
+ /* How to apply the rule to all elements in DOC. */
+ void (* apply) (struct its_rule_ty *pop, struct its_pool_ty *pool,
+ xmlDoc *doc);
+
+ /* How to evaluate the value of NODE according to the rule. */
+ struct its_value_list_ty *(* eval) (struct its_rule_ty *pop,
+ struct its_pool_ty *pool, xmlNode *node);
+};
+
+#define ITS_RULE_TY \
+ struct its_rule_class_ty *methods; \
+ char *selector; \
+ struct its_value_list_ty values; \
+ xmlNs **namespaces;
+
+struct its_rule_ty
+{
+ ITS_RULE_TY
+};
+
+static hash_table classes;
+
+static void
+its_rule_destructor (struct its_rule_ty *pop)
+{
+ free (pop->selector);
+ its_value_list_destroy (&pop->values);
+ if (pop->namespaces)
+ {
+ size_t i;
+ for (i = 0; pop->namespaces[i] != NULL; i++)
+ xmlFreeNs (pop->namespaces[i]);
+ free (pop->namespaces);
+ }
+}
+
+static void
+its_rule_apply (struct its_rule_ty *rule, struct its_pool_ty *pool, xmlDoc *doc)
+{
+ xmlXPathContext *context;
+ xmlXPathObject *object;
+ size_t i;
+
+ if (!rule->selector)
+ {
+ error (0, 0, _("selector is not specified"));
+ return;
+ }
+
+ context = xmlXPathNewContext (doc);
+ if (!context)
+ {
+ error (0, 0, _("cannot create XPath context"));
+ return;
+ }
+
+ if (rule->namespaces)
+ {
+ size_t i;
+ for (i = 0; rule->namespaces[i] != NULL; i++)
+ {
+ xmlNs *ns = rule->namespaces[i];
+ xmlXPathRegisterNs (context, ns->prefix, ns->href);
+ }
+ }
+
+ object = xmlXPathEval (BAD_CAST rule->selector, context);
+ if (!object)
+ {
+ xmlXPathFreeContext (context);
+ error (0, 0, _("cannot evaluate XPath expression: %s"), rule->selector);
+ return;
+ }
+
+ if (object->nodesetval)
+ {
+ xmlNodeSet *nodes = object->nodesetval;
+ for (i = 0; i < nodes->nodeNr; i++)
+ {
+ xmlNode *node = nodes->nodeTab[i];
+ struct its_value_list_ty *values;
+
+ /* We can't store VALUES in NODE, since the address can
+ change when realloc()ed. */
+ intptr_t index = (intptr_t) node->_private;
+
+ assert (index <= pool->nitems);
+ if (index > 0)
+ values = &pool->items[index - 1];
+ else
+ {
+ values = its_pool_alloc_value_list (pool);
+ node->_private = (void *) pool->nitems;
+ }
+
+ its_value_list_merge (values, &rule->values);
+ }
+ }
+
+ xmlXPathFreeObject (object);
+ xmlXPathFreeContext (context);
+}
+
+static char *
+_its_get_attribute (xmlNode *node, const char *attr, const char *namespace)
+{
+ xmlChar *value;
+ char *result;
+
+ value = xmlGetNsProp (node, BAD_CAST attr, BAD_CAST namespace);
+
+ result = xstrdup ((const char *) value);
+ xmlFree (value);
+
+ return result;
+}
+
+static char *
+normalize_whitespace (const char *text, enum its_whitespace_type_ty whitespace)
+{
+ switch (whitespace)
+ {
+ case ITS_WHITESPACE_PRESERVE:
+ return xstrdup (text);
+
+ case ITS_WHITESPACE_TRIM:
+ return trim (text);
+
+ default:
+ /* Normalize whitespaces within the text, but not at the beginning
+ nor the end of the text. */
+ {
+ char *result, *p, *end;
+
+ result = xstrdup (text);
+ end = result + strlen (result);
+ for (p = result; *p != '\0';)
+ {
+ size_t len = strspn (p, " \t\n");
+ if (len > 0)
+ {
+ *p = ' ';
+ memmove (p + 1, p + len, end - (p + len));
+ end -= len - 1;
+ *end = '\0';
+ p++;
+ }
+ p += strcspn (p, " \t\n");
+ }
+ return result;
+ }
+ }
+}
+
+static char *
+_its_encode_special_chars (const char *content, bool is_attribute)
+{
+ const char *str;
+ size_t amount = 0;
+ char *result, *p;
+
+ for (str = content; *str != '\0'; str++)
+ {
+ switch (*str)
+ {
+ case '&':
+ amount += sizeof ("&amp;");
+ break;
+ case '<':
+ amount += sizeof ("&lt;");
+ break;
+ case '>':
+ amount += sizeof ("&gt;");
+ break;
+ case '"':
+ if (is_attribute)
+ amount += sizeof ("&quot;");
+ else
+ amount += 1;
+ break;
+ default:
+ amount += 1;
+ break;
+ }
+ }
+
+ result = XNMALLOC (amount + 1, char);
+ *result = '\0';
+ p = result;
+ for (str = content; *str != '\0'; str++)
+ {
+ switch (*str)
+ {
+ case '&':
+ p = stpcpy (p, "&amp;");
+ break;
+ case '<':
+ p = stpcpy (p, "&lt;");
+ break;
+ case '>':
+ p = stpcpy (p, "&gt;");
+ break;
+ case '"':
+ if (is_attribute)
+ p = stpcpy (p, "&quot;");
+ else
+ *p++ = '"';
+ break;
+ default:
+ *p++ = *str;
+ break;
+ }
+ }
+ *p = '\0';
+ return result;
+}
+
+static char *
+_its_collect_text_content (xmlNode *node,
+ enum its_whitespace_type_ty whitespace,
+ bool no_escape)
+{
+ char *buffer = NULL;
+ size_t bufmax = 0;
+ size_t bufpos = 0;
+ xmlNode *n;
+
+ for (n = node->children; n; n = n->next)
+ {
+ char *content = NULL;
+
+ switch (n->type)
+ {
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ {
+ xmlChar *xcontent = xmlNodeGetContent (n);
+ char *econtent;
+ const char *ccontent;
+
+ /* We can't expect xmlTextWriterWriteString() encode
+ special characters as we write text outside of the
+ element. */
+ if (no_escape)
+ econtent = xstrdup ((const char *) xcontent);
+ else
+ econtent =
+ _its_encode_special_chars ((const char *) xcontent,
+ node->type == XML_ATTRIBUTE_NODE);
+ xmlFree (xcontent);
+
+ /* Skip whitespaces at the beginning of the text, if this
+ is the first node. */
+ ccontent = econtent;
+ if (whitespace == ITS_WHITESPACE_NORMALIZE && !n->prev)
+ ccontent = ccontent + strspn (ccontent, " \t\n");
+ content =
+ normalize_whitespace (ccontent, whitespace);
+ free (econtent);
+
+ /* Skip whitespaces at the end of the text, if this
+ is the last node. */
+ if (whitespace == ITS_WHITESPACE_NORMALIZE && !n->next)
+ {
+ char *p = content + strlen (content);
+ for (; p > content; p--)
+ {
+ int c = *(p - 1);
+ if (!(c == ' ' || c == '\t' || c == '\n'))
+ {
+ *p = '\0';
+ break;
+ }
+ }
+ }
+ }
+ break;
+
+ case XML_ELEMENT_NODE:
+ {
+ xmlOutputBuffer *buffer = xmlAllocOutputBuffer (NULL);
+ xmlTextWriter *writer = xmlNewTextWriter (buffer);
+ char *p = _its_collect_text_content (n, whitespace,
+ no_escape);
+ const char *ccontent;
+
+ xmlTextWriterStartElement (writer, BAD_CAST n->name);
+ if (n->properties)
+ {
+ xmlAttr *attr = n->properties;
+ for (; attr; attr = attr->next)
+ {
+ xmlChar *prop = xmlGetProp (n, attr->name);
+ xmlTextWriterWriteAttribute (writer,
+ attr->name,
+ prop);
+ xmlFree (prop);
+ }
+ }
+ if (*p != '\0')
+ xmlTextWriterWriteRaw (writer, BAD_CAST p);
+ xmlTextWriterEndElement (writer);
+ ccontent = (const char *) xmlOutputBufferGetContent (buffer);
+ content = normalize_whitespace (ccontent, whitespace);
+ xmlFreeTextWriter (writer);
+ free (p);
+ }
+ break;
+
+ case XML_ENTITY_REF_NODE:
+ content = xasprintf ("&%s;", (const char *) n->name);
+ break;
+
+ default:
+ break;
+ }
+
+ if (content != NULL)
+ {
+ size_t length = strlen (content);
+
+ if (bufpos + length + 1 >= bufmax)
+ {
+ bufmax = 2 * bufmax + length + 1;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ strcpy (&buffer[bufpos], content);
+ bufpos += length;
+ }
+ free (content);
+ }
+
+ if (buffer == NULL)
+ buffer = xstrdup ("");
+ return buffer;
+}
+
+static void
+_its_error_missing_attribute (xmlNode *node, const char *attribute)
+{
+ error (0, 0, _("\"%s\" node does not contain \"%s\""),
+ node->name, attribute);
+}
+
+/* Implementation of Translate data category. */
+static void
+its_translate_rule_constructor (struct its_rule_ty *pop, xmlNode *node)
+{
+ char *prop;
+
+ if (!xmlHasProp (node, BAD_CAST "selector"))
+ {
+ _its_error_missing_attribute (node, "selector");
+ return;
+ }
+
+ if (!xmlHasProp (node, BAD_CAST "translate"))
+ {
+ _its_error_missing_attribute (node, "translate");
+ return;
+ }
+
+ prop = _its_get_attribute (node, "selector", NULL);
+ if (prop)
+ pop->selector = prop;
+
+ prop = _its_get_attribute (node, "translate", NULL);
+ its_value_list_append (&pop->values, "translate", prop);
+ free (prop);
+}
+
+struct its_value_list_ty *
+its_translate_rule_eval (struct its_rule_ty *pop, struct its_pool_ty *pool,
+ xmlNode *node)
+{
+ struct its_value_list_ty *result;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+
+ switch (node->type)
+ {
+ case XML_ATTRIBUTE_NODE:
+ /* Attribute nodes don't inherit from the parent elements. */
+ {
+ const char *value =
+ its_pool_get_value_for_node (pool, node, "translate");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "translate", value);
+ return result;
+ }
+
+ /* The default value is translate="no". */
+ its_value_list_append (result, "translate", "no");
+ }
+ break;
+
+ case XML_ELEMENT_NODE:
+ /* Inherit from the parent elements. */
+ {
+ const char *value;
+
+ /* A local attribute overrides the global rule. */
+ if (xmlHasNsProp (node, BAD_CAST "translate", BAD_CAST ITS_NS))
+ {
+ char *prop;
+
+ prop = _its_get_attribute (node, "translate", ITS_NS);
+ its_value_list_append (result, "translate", prop);
+ free (prop);
+ return result;
+ }
+
+ /* Check value for the current node. */
+ value = its_pool_get_value_for_node (pool, node, "translate");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "translate", value);
+ return result;
+ }
+
+ /* Recursively check value for the parent node. */
+ if (node->parent == NULL
+ || node->parent->type != XML_ELEMENT_NODE)
+ /* The default value is translate="yes". */
+ its_value_list_append (result, "translate", "yes");
+ else
+ {
+ struct its_value_list_ty *values;
+
+ values = its_translate_rule_eval (pop, pool, node->parent);
+ its_value_list_merge (result, values);
+ its_value_list_destroy (values);
+ free (values);
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return result;
+}
+
+static struct its_rule_class_ty its_translate_rule_class =
+ {
+ sizeof (struct its_rule_ty),
+ its_translate_rule_constructor,
+ its_rule_destructor,
+ its_rule_apply,
+ its_translate_rule_eval,
+ };
+
+/* Implementation of Localization Note data category. */
+static void
+its_localization_note_rule_constructor (struct its_rule_ty *pop, xmlNode *node)
+{
+ char *prop;
+ xmlNode *n;
+
+ if (!xmlHasProp (node, BAD_CAST "selector"))
+ {
+ _its_error_missing_attribute (node, "selector");
+ return;
+ }
+
+ if (!xmlHasProp (node, BAD_CAST "locNoteType"))
+ {
+ _its_error_missing_attribute (node, "locNoteType");
+ return;
+ }
+
+ prop = _its_get_attribute (node, "selector", NULL);
+ if (prop)
+ pop->selector = prop;
+
+ for (n = node->children; n; n = n->next)
+ {
+ if (n->type == XML_ELEMENT_NODE
+ && xmlStrEqual (n->name, BAD_CAST "locNote")
+ && xmlStrEqual (n->ns->href, BAD_CAST ITS_NS))
+ break;
+ }
+
+ prop = _its_get_attribute (node, "locNoteType", NULL);
+ if (prop)
+ its_value_list_append (&pop->values, "locNoteType", prop);
+ free (prop);
+
+ if (n)
+ {
+ /* FIXME: Respect space attribute. */
+ char *content = _its_collect_text_content (n, ITS_WHITESPACE_NORMALIZE,
+ false);
+ its_value_list_append (&pop->values, "locNote", content);
+ free (content);
+ }
+ else if (xmlHasProp (node, BAD_CAST "locNotePointer"))
+ {
+ prop = _its_get_attribute (node, "locNotePointer", NULL);
+ its_value_list_append (&pop->values, "locNotePointer", prop);
+ free (prop);
+ }
+ /* FIXME: locNoteRef and locNoteRefPointer */
+}
+
+struct its_value_list_ty *
+its_localization_note_rule_eval (struct its_rule_ty *pop,
+ struct its_pool_ty *pool,
+ xmlNode *node)
+{
+ struct its_value_list_ty *result;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+
+ switch (node->type)
+ {
+ case XML_ATTRIBUTE_NODE:
+ /* Attribute nodes don't inherit from the parent elements. */
+ {
+ const char *value;
+
+ value = its_pool_get_value_for_node (pool, node, "locNoteType");
+ if (value != NULL)
+ its_value_list_set_value (result, "locNoteType", value);
+
+ value = its_pool_get_value_for_node (pool, node, "locNote");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "locNote", value);
+ return result;
+ }
+
+ value = its_pool_get_value_for_node (pool, node, "locNotePointer");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "locNotePointer", value);
+ return result;
+ }
+ }
+ break;
+
+ case XML_ELEMENT_NODE:
+ /* Inherit from the parent elements. */
+ {
+ const char *value;
+
+ /* Local attributes overrides the global rule. */
+ if (xmlHasNsProp (node, BAD_CAST "locNote", BAD_CAST ITS_NS)
+ || xmlHasNsProp (node, BAD_CAST "locNoteRef", BAD_CAST ITS_NS)
+ || xmlHasNsProp (node, BAD_CAST "locNoteType", BAD_CAST ITS_NS))
+ {
+ char *prop;
+
+ if (xmlHasNsProp (node, BAD_CAST "locNote", BAD_CAST ITS_NS))
+ {
+ prop = _its_get_attribute (node, "locNote", ITS_NS);
+ its_value_list_append (result, "locNote", prop);
+ free (prop);
+ }
+
+ /* FIXME: locNoteRef */
+
+ if (xmlHasNsProp (node, BAD_CAST "locNoteType", BAD_CAST ITS_NS))
+ {
+ prop = _its_get_attribute (node, "locNoteType", ITS_NS);
+ its_value_list_append (result, "locNoteType", prop);
+ free (prop);
+ }
+
+ return result;
+ }
+
+ /* Check value for the current node. */
+ value = its_pool_get_value_for_node (pool, node, "locNoteType");
+ if (value != NULL)
+ its_value_list_set_value (result, "locNoteType", value);
+
+ value = its_pool_get_value_for_node (pool, node, "locNote");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "locNote", value);
+ return result;
+ }
+
+ value = its_pool_get_value_for_node (pool, node, "locNotePointer");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "locNotePointer", value);
+ return result;
+ }
+
+ /* Recursively check value for the parent node. */
+ if (node->parent == NULL
+ || node->parent->type != XML_ELEMENT_NODE)
+ return result;
+ else
+ {
+ struct its_value_list_ty *values;
+
+ values = its_localization_note_rule_eval (pop, pool, node->parent);
+ its_value_list_merge (result, values);
+ its_value_list_destroy (values);
+ free (values);
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ /* The default value is None. */
+ return result;
+}
+
+static struct its_rule_class_ty its_localization_note_rule_class =
+ {
+ sizeof (struct its_rule_ty),
+ its_localization_note_rule_constructor,
+ its_rule_destructor,
+ its_rule_apply,
+ its_localization_note_rule_eval,
+ };
+
+/* Implementation of Element Within Text data category. */
+static void
+its_element_within_text_rule_constructor (struct its_rule_ty *pop,
+ xmlNode *node)
+{
+ char *prop;
+
+ if (!xmlHasProp (node, BAD_CAST "selector"))
+ {
+ _its_error_missing_attribute (node, "selector");
+ return;
+ }
+
+ if (!xmlHasProp (node, BAD_CAST "withinText"))
+ {
+ _its_error_missing_attribute (node, "withinText");
+ return;
+ }
+
+ prop = _its_get_attribute (node, "selector", NULL);
+ if (prop)
+ pop->selector = prop;
+
+ prop = _its_get_attribute (node, "withinText", NULL);
+ its_value_list_append (&pop->values, "withinText", prop);
+ free (prop);
+}
+
+struct its_value_list_ty *
+its_element_within_text_rule_eval (struct its_rule_ty *pop,
+ struct its_pool_ty *pool,
+ xmlNode *node)
+{
+ struct its_value_list_ty *result;
+ const char *value;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+
+ if (node->type != XML_ELEMENT_NODE)
+ return result;
+
+ /* A local attribute overrides the global rule. */
+ if (xmlHasNsProp (node, BAD_CAST "withinText", BAD_CAST ITS_NS))
+ {
+ char *prop;
+
+ prop = _its_get_attribute (node, "withinText", ITS_NS);
+ its_value_list_append (result, "withinText", prop);
+ free (prop);
+ return result;
+ }
+
+ /* Doesn't inherit from the parent elements, and the default value
+ is None. */
+ value = its_pool_get_value_for_node (pool, node, "withinText");
+ if (value != NULL)
+ its_value_list_set_value (result, "withinText", value);
+
+ return result;
+}
+
+static struct its_rule_class_ty its_element_within_text_rule_class =
+ {
+ sizeof (struct its_rule_ty),
+ its_element_within_text_rule_constructor,
+ its_rule_destructor,
+ its_rule_apply,
+ its_element_within_text_rule_eval,
+ };
+
+/* Implementation of Preserve Space data category. */
+static void
+its_preserve_space_rule_constructor (struct its_rule_ty *pop,
+ xmlNode *node)
+{
+ char *prop;
+
+ if (!xmlHasProp (node, BAD_CAST "selector"))
+ {
+ _its_error_missing_attribute (node, "selector");
+ return;
+ }
+
+ if (!xmlHasProp (node, BAD_CAST "space"))
+ {
+ _its_error_missing_attribute (node, "space");
+ return;
+ }
+
+ prop = _its_get_attribute (node, "selector", NULL);
+ if (prop)
+ pop->selector = prop;
+
+ prop = _its_get_attribute (node, "space", NULL);
+ if (prop
+ && !(strcmp (prop, "preserve") ==0
+ || strcmp (prop, "default") == 0
+ /* gettext extension: remove leading/trailing whitespaces only. */
+ || (node->ns && xmlStrEqual (node->ns->href, BAD_CAST GT_NS)
+ && strcmp (prop, "trim") == 0)))
+ {
+ error (0, 0, _("invalid attribute value \"%s\" for \"%s\""),
+ prop, "space");
+ free (prop);
+ return;
+ }
+
+ its_value_list_append (&pop->values, "space", prop);
+ free (prop);
+}
+
+struct its_value_list_ty *
+its_preserve_space_rule_eval (struct its_rule_ty *pop,
+ struct its_pool_ty *pool,
+ xmlNode *node)
+{
+ struct its_value_list_ty *result;
+ struct its_value_list_ty *values;
+ const char *value;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+
+ if (node->type != XML_ELEMENT_NODE)
+ return result;
+
+ /* A local attribute overrides the global rule. */
+ if (xmlHasNsProp (node, BAD_CAST "space", BAD_CAST XML_NS))
+ {
+ char *prop;
+
+ prop = _its_get_attribute (node, "space", XML_NS);
+ its_value_list_append (result, "space", prop);
+ free (prop);
+ return result;
+ }
+
+ /* Check value for the current node. */
+ value = its_pool_get_value_for_node (pool, node, "space");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "space", value);
+ return result;
+ }
+
+ if (node->parent == NULL
+ || node->parent->type != XML_ELEMENT_NODE)
+ {
+ /* The default value is space="default". */
+ its_value_list_append (result, "space", "default");
+ return result;
+ }
+
+ /* Recursively check value for the parent node. */
+ values = its_preserve_space_rule_eval (pop, pool, node->parent);
+ its_value_list_merge (result, values);
+ its_value_list_destroy (values);
+ free (values);
+
+ return result;
+}
+
+static struct its_rule_class_ty its_preserve_space_rule_class =
+ {
+ sizeof (struct its_rule_ty),
+ its_preserve_space_rule_constructor,
+ its_rule_destructor,
+ its_rule_apply,
+ its_preserve_space_rule_eval,
+ };
+
+/* Implementation of Context data category. */
+static void
+its_extension_context_rule_constructor (struct its_rule_ty *pop, xmlNode *node)
+{
+ char *prop;
+
+ if (!xmlHasProp (node, BAD_CAST "selector"))
+ {
+ _its_error_missing_attribute (node, "selector");
+ return;
+ }
+
+ if (!xmlHasProp (node, BAD_CAST "contextPointer"))
+ {
+ _its_error_missing_attribute (node, "contextPointer");
+ return;
+ }
+
+ prop = _its_get_attribute (node, "selector", NULL);
+ if (prop)
+ pop->selector = prop;
+
+ prop = _its_get_attribute (node, "contextPointer", NULL);
+ its_value_list_append (&pop->values, "contextPointer", prop);
+ free (prop);
+
+ if (xmlHasProp (node, BAD_CAST "textPointer"))
+ {
+ prop = _its_get_attribute (node, "textPointer", NULL);
+ its_value_list_append (&pop->values, "textPointer", prop);
+ free (prop);
+ }
+}
+
+struct its_value_list_ty *
+its_extension_context_rule_eval (struct its_rule_ty *pop,
+ struct its_pool_ty *pool,
+ xmlNode *node)
+{
+ struct its_value_list_ty *result;
+ const char *value;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+
+ /* Doesn't inherit from the parent elements, and the default value
+ is None. */
+ value = its_pool_get_value_for_node (pool, node, "contextPointer");
+ if (value != NULL)
+ its_value_list_set_value (result, "contextPointer", value);
+
+ value = its_pool_get_value_for_node (pool, node, "textPointer");
+ if (value != NULL)
+ its_value_list_set_value (result, "textPointer", value);
+
+ return result;
+}
+
+static struct its_rule_class_ty its_extension_context_rule_class =
+ {
+ sizeof (struct its_rule_ty),
+ its_extension_context_rule_constructor,
+ its_rule_destructor,
+ its_rule_apply,
+ its_extension_context_rule_eval,
+ };
+
+/* Implementation of Escape Special Characters data category. */
+static void
+its_extension_escape_rule_constructor (struct its_rule_ty *pop, xmlNode *node)
+{
+ char *prop;
+
+ if (!xmlHasProp (node, BAD_CAST "selector"))
+ {
+ _its_error_missing_attribute (node, "selector");
+ return;
+ }
+
+ if (!xmlHasProp (node, BAD_CAST "escape"))
+ {
+ _its_error_missing_attribute (node, "escape");
+ return;
+ }
+
+ prop = _its_get_attribute (node, "selector", NULL);
+ if (prop)
+ pop->selector = prop;
+
+ prop = _its_get_attribute (node, "escape", NULL);
+ its_value_list_append (&pop->values, "escape", prop);
+ free (prop);
+}
+
+struct its_value_list_ty *
+its_extension_escape_rule_eval (struct its_rule_ty *pop,
+ struct its_pool_ty *pool,
+ xmlNode *node)
+{
+ struct its_value_list_ty *result;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+
+ switch (node->type)
+ {
+ case XML_ATTRIBUTE_NODE:
+ /* Attribute nodes don't inherit from the parent elements. */
+ {
+ const char *value =
+ its_pool_get_value_for_node (pool, node, "escape");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "escape", value);
+ return result;
+ }
+ }
+ break;
+
+ case XML_ELEMENT_NODE:
+ /* Inherit from the parent elements. */
+ {
+ const char *value;
+
+ /* Check value for the current node. */
+ value = its_pool_get_value_for_node (pool, node, "escape");
+ if (value != NULL)
+ {
+ its_value_list_set_value (result, "escape", value);
+ return result;
+ }
+
+ /* Recursively check value for the parent node. */
+ if (node->parent != NULL
+ && node->parent->type == XML_ELEMENT_NODE)
+ {
+ struct its_value_list_ty *values;
+
+ values = its_extension_escape_rule_eval (pop, pool, node->parent);
+ its_value_list_merge (result, values);
+ its_value_list_destroy (values);
+ free (values);
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return result;
+}
+
+static struct its_rule_class_ty its_extension_escape_rule_class =
+ {
+ sizeof (struct its_rule_ty),
+ its_extension_escape_rule_constructor,
+ its_rule_destructor,
+ its_rule_apply,
+ its_extension_escape_rule_eval,
+ };
+
+static struct its_rule_ty *
+its_rule_alloc (struct its_rule_class_ty *method_table, xmlNode *node)
+{
+ struct its_rule_ty *pop;
+
+ pop = (struct its_rule_ty *) xcalloc (1, method_table->size);
+ pop->methods = method_table;
+ if (method_table->constructor)
+ method_table->constructor (pop, node);
+ return pop;
+}
+
+static struct its_rule_ty *
+its_rule_parse (xmlDoc *doc, xmlNode *node)
+{
+ const char *name = (const char *) node->name;
+ void *value;
+
+ if (hash_find_entry (&classes, name, strlen (name), &value) == 0)
+ {
+ struct its_rule_ty *result;
+ xmlNs **namespaces;
+
+ result = its_rule_alloc ((struct its_rule_class_ty *) value, node);
+ namespaces = xmlGetNsList (doc, node);
+ if (namespaces)
+ {
+ size_t i;
+ for (i = 0; namespaces[i] != NULL; i++)
+ ;
+ result->namespaces = XCALLOC (i + 1, xmlNs *);
+ for (i = 0; namespaces[i] != NULL; i++)
+ result->namespaces[i] = xmlCopyNamespace (namespaces[i]);
+ }
+ xmlFree (namespaces);
+ return result;
+ }
+
+ return NULL;
+}
+
+static void
+its_rule_destroy (struct its_rule_ty *pop)
+{
+ if (pop->methods->destructor)
+ pop->methods->destructor (pop);
+}
+
+static void
+init_classes (void)
+{
+#define ADD_RULE_CLASS(n, c) \
+ hash_insert_entry (&classes, n, strlen (n), &c);
+
+ ADD_RULE_CLASS ("translateRule", its_translate_rule_class);
+ ADD_RULE_CLASS ("locNoteRule", its_localization_note_rule_class);
+ ADD_RULE_CLASS ("withinTextRule", its_element_within_text_rule_class);
+ ADD_RULE_CLASS ("preserveSpaceRule", its_preserve_space_rule_class);
+ ADD_RULE_CLASS ("contextRule", its_extension_context_rule_class);
+ ADD_RULE_CLASS ("escapeRule", its_extension_escape_rule_class);
+
+#undef ADD_RULE_CLASS
+}
+
+struct its_rule_list_ty *
+its_rule_list_alloc (void)
+{
+ struct its_rule_list_ty *result;
+
+ if (classes.table == NULL)
+ {
+ hash_init (&classes, 10);
+ init_classes ();
+ }
+
+ result = XCALLOC (1, struct its_rule_list_ty);
+ return result;
+}
+
+void
+its_rule_list_free (struct its_rule_list_ty *rules)
+{
+ size_t i;
+
+ for (i = 0; i < rules->nitems; i++)
+ {
+ its_rule_destroy (rules->items[i]);
+ free (rules->items[i]);
+ }
+ free (rules->items);
+ its_pool_destroy (&rules->pool);
+}
+
+static bool
+its_rule_list_add_from_doc (struct its_rule_list_ty *rules,
+ xmlDoc *doc)
+{
+ xmlNode *root, *node;
+
+ root = xmlDocGetRootElement (doc);
+ if (!(xmlStrEqual (root->name, BAD_CAST "rules")
+ && xmlStrEqual (root->ns->href, BAD_CAST ITS_NS)))
+ {
+ error (0, 0, _("the root element is not \"rules\""
+ " under namespace %s"),
+ ITS_NS);
+ xmlFreeDoc (doc);
+ return false;
+ }
+
+ for (node = root->children; node; node = node->next)
+ {
+ struct its_rule_ty *rule;
+
+ rule = its_rule_parse (doc, node);
+ if (!rule)
+ continue;
+
+ if (rules->nitems == rules->nitems_max)
+ {
+ rules->nitems_max = 2 * rules->nitems_max + 1;
+ rules->items =
+ xrealloc (rules->items,
+ sizeof (struct its_rule_ty *) * rules->nitems_max);
+ }
+ rules->items[rules->nitems++] = rule;
+ }
+
+ return true;
+}
+
+bool
+its_rule_list_add_from_file (struct its_rule_list_ty *rules,
+ const char *filename)
+{
+ xmlDoc *doc;
+ bool result;
+
+ doc = xmlReadFile (filename, "utf-8",
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOBLANKS
+ | XML_PARSE_NOERROR);
+ if (doc == NULL)
+ {
+ xmlError *err = xmlGetLastError ();
+ error (0, 0, _("cannot read %s: %s"), filename, err->message);
+ return false;
+ }
+
+ result = its_rule_list_add_from_doc (rules, doc);
+ xmlFreeDoc (doc);
+ return result;
+}
+
+bool
+its_rule_list_add_from_string (struct its_rule_list_ty *rules,
+ const char *rule)
+{
+ xmlDoc *doc;
+ bool result;
+
+ doc = xmlReadMemory (rule, strlen (rule),
+ "(internal)",
+ NULL,
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOBLANKS
+ | XML_PARSE_NOERROR);
+ if (doc == NULL)
+ {
+ xmlError *err = xmlGetLastError ();
+ error (0, 0, _("cannot read %s: %s"), "(internal)", err->message);
+ return false;
+ }
+
+ result = its_rule_list_add_from_doc (rules, doc);
+ xmlFreeDoc (doc);
+ return result;
+}
+
+static void
+its_rule_list_apply (struct its_rule_list_ty *rules, xmlDoc *doc)
+{
+ size_t i;
+
+ for (i = 0; i < rules->nitems; i++)
+ {
+ struct its_rule_ty *rule = rules->items[i];
+ rule->methods->apply (rule, &rules->pool, doc);
+ }
+}
+
+static struct its_value_list_ty *
+its_rule_list_eval (its_rule_list_ty *rules, xmlNode *node)
+{
+ struct its_value_list_ty *result;
+ size_t i;
+
+ result = XCALLOC (1, struct its_value_list_ty);
+ for (i = 0; i < rules->nitems; i++)
+ {
+ struct its_rule_ty *rule = rules->items[i];
+ struct its_value_list_ty *values;
+
+ values = rule->methods->eval (rule, &rules->pool, node);
+ its_value_list_merge (result, values);
+ its_value_list_destroy (values);
+ free (values);
+ }
+
+ return result;
+}
+
+static bool
+its_rule_list_is_translatable (its_rule_list_ty *rules,
+ xmlNode *node,
+ int depth)
+{
+ struct its_value_list_ty *values;
+ const char *value;
+ xmlNode *n;
+
+ if (node->type != XML_ELEMENT_NODE
+ && node->type != XML_ATTRIBUTE_NODE)
+ return false;
+
+ values = its_rule_list_eval (rules, node);
+
+ /* Check if NODE has translate="yes". */
+ value = its_value_list_get_value (values, "translate");
+ if (!(value && strcmp (value, "yes") == 0))
+ {
+ its_value_list_destroy (values);
+ free (values);
+ return false;
+ }
+
+ /* Check if NODE has withinText="yes", if NODE is not top-level. */
+ if (depth > 0)
+ {
+ value = its_value_list_get_value (values, "withinText");
+ if (!(value && strcmp (value, "yes") == 0))
+ {
+ its_value_list_destroy (values);
+ free (values);
+ return false;
+ }
+ }
+
+ its_value_list_destroy (values);
+ free (values);
+
+ for (n = node->children; n; n = n->next)
+ {
+ switch (n->type)
+ {
+ case XML_ELEMENT_NODE:
+ if (!its_rule_list_is_translatable (rules, n, depth + 1))
+ return false;
+ break;
+
+ case XML_TEXT_NODE:
+ case XML_CDATA_SECTION_NODE:
+ case XML_ENTITY_REF_NODE:
+ case XML_COMMENT_NODE:
+ break;
+
+ default:
+ return false;
+ }
+ }
+
+ return true;
+}
+
+static void
+its_rule_list_extract_nodes (its_rule_list_ty *rules,
+ struct its_node_list_ty *nodes,
+ xmlNode *node)
+{
+ if (node->type == XML_ELEMENT_NODE)
+ {
+ xmlNode *n;
+
+ if (node->properties)
+ {
+ xmlAttr *attr = node->properties;
+ for (; attr; attr = attr->next)
+ {
+ xmlNode *n = (xmlNode *) attr;
+ if (its_rule_list_is_translatable (rules, n, 0))
+ its_node_list_append (nodes, n);
+ }
+ }
+
+ if (its_rule_list_is_translatable (rules, node, 0))
+ its_node_list_append (nodes, node);
+ else
+ {
+ for (n = node->children; n; n = n->next)
+ its_rule_list_extract_nodes (rules, nodes, n);
+ }
+ }
+}
+
+static char *
+_its_get_content (struct its_rule_list_ty *rules, xmlNode *node,
+ const char *pointer,
+ enum its_whitespace_type_ty whitespace,
+ bool no_escape)
+{
+ xmlXPathContext *context;
+ xmlXPathObject *object;
+ size_t i;
+ char *result = NULL;
+
+ context = xmlXPathNewContext (node->doc);
+ if (!context)
+ {
+ error (0, 0, _("cannot create XPath context"));
+ return NULL;
+ }
+
+ for (i = 0; i < rules->nitems; i++)
+ {
+ struct its_rule_ty *rule = rules->items[i];
+ if (rule->namespaces)
+ {
+ size_t i;
+ for (i = 0; rule->namespaces[i] != NULL; i++)
+ {
+ xmlNs *ns = rule->namespaces[i];
+ xmlXPathRegisterNs (context, ns->prefix, ns->href);
+ }
+ }
+ }
+
+ xmlXPathSetContextNode (node, context);
+ object = xmlXPathEvalExpression (BAD_CAST pointer, context);
+ if (!object)
+ {
+ xmlXPathFreeContext (context);
+ error (0, 0, _("cannot evaluate XPath location path: %s"),
+ pointer);
+ return NULL;
+ }
+
+ switch (object->type)
+ {
+ case XPATH_NODESET:
+ {
+ xmlNodeSet *nodes = object->nodesetval;
+ string_list_ty sl;
+ size_t i;
+
+ string_list_init (&sl);
+ for (i = 0; i < nodes->nodeNr; i++)
+ {
+ char *content = _its_collect_text_content (nodes->nodeTab[i],
+ whitespace,
+ no_escape);
+ string_list_append (&sl, content);
+ free (content);
+ }
+ result = string_list_concat (&sl);
+ string_list_destroy (&sl);
+ }
+ break;
+
+ case XPATH_STRING:
+ result = xstrdup ((const char *) object->stringval);
+ break;
+
+ default:
+ break;
+ }
+
+ xmlXPathFreeObject (object);
+ xmlXPathFreeContext (context);
+
+ return result;
+}
+
+static void
+_its_comment_append (string_list_ty *comments, const char *data)
+{
+ /* Split multiline comment into lines, and remove leading and trailing
+ whitespace. */
+ char *copy = xstrdup (data);
+ char *p;
+ char *q;
+
+ for (p = copy; (q = strchr (p, '\n')) != NULL; p = q + 1)
+ {
+ while (p[0] == ' ' || p[0] == '\t')
+ p++;
+ while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
+ q--;
+ *q = '\0';
+ string_list_append (comments, p);
+ }
+ q = p + strlen (p);
+ while (p[0] == ' ' || p[0] == '\t')
+ p++;
+ while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
+ q--;
+ *q = '\0';
+ string_list_append (comments, p);
+ free (copy);
+}
+
+static void
+its_rule_list_extract_text (its_rule_list_ty *rules,
+ xmlNode *node,
+ const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ message_list_ty *mlp,
+ its_extract_callback_ty callback)
+{
+ if (node->type == XML_ELEMENT_NODE
+ || node->type == XML_ATTRIBUTE_NODE)
+ {
+ struct its_value_list_ty *values;
+ const char *value;
+ char *msgid = NULL, *msgctxt = NULL, *comment = NULL;
+ enum its_whitespace_type_ty whitespace;
+ bool no_escape;
+
+ values = its_rule_list_eval (rules, node);
+
+ value = its_value_list_get_value (values, "locNote");
+ if (value)
+ comment = xstrdup (value);
+ else
+ {
+ value = its_value_list_get_value (values, "escape");
+ no_escape = value != NULL && strcmp (value, "no") == 0;
+
+ value = its_value_list_get_value (values, "locNotePointer");
+ if (value)
+ comment = _its_get_content (rules, node, value, ITS_WHITESPACE_TRIM,
+ no_escape);
+ }
+
+ if (comment != NULL && *comment != '\0')
+ {
+ string_list_ty comments;
+ char *tmp;
+
+ string_list_init (&comments);
+ _its_comment_append (&comments, comment);
+ tmp = string_list_join (&comments, "\n", '\0', false);
+ free (comment);
+ comment = tmp;
+ }
+ else
+ /* Extract comments preceding the node. */
+ {
+ xmlNode *sibling;
+ string_list_ty comments;
+
+ string_list_init (&comments);
+ for (sibling = node->prev; sibling; sibling = sibling->prev)
+ if (sibling->type != XML_COMMENT_NODE || sibling->prev == NULL)
+ break;
+ if (sibling)
+ {
+ if (sibling->type != XML_COMMENT_NODE)
+ sibling = sibling->next;
+ for (; sibling && sibling->type == XML_COMMENT_NODE;
+ sibling = sibling->next)
+ {
+ xmlChar *content = xmlNodeGetContent (sibling);
+ _its_comment_append (&comments, (const char *) content);
+ xmlFree (content);
+ }
+ free (comment);
+ comment = string_list_join (&comments, "\n", '\0', false);
+ string_list_destroy (&comments);
+ }
+ }
+
+ value = its_value_list_get_value (values, "space");
+ if (value && strcmp (value, "preserve") == 0)
+ whitespace = ITS_WHITESPACE_PRESERVE;
+ else if (value && strcmp (value, "trim") == 0)
+ whitespace = ITS_WHITESPACE_TRIM;
+ else
+ whitespace = ITS_WHITESPACE_NORMALIZE;
+
+ value = its_value_list_get_value (values, "escape");
+ no_escape = value != NULL && strcmp (value, "no") == 0;
+
+ value = its_value_list_get_value (values, "contextPointer");
+ if (value)
+ msgctxt = _its_get_content (rules, node, value, ITS_WHITESPACE_PRESERVE,
+ no_escape);
+
+ value = its_value_list_get_value (values, "textPointer");
+ if (value)
+ msgid = _its_get_content (rules, node, value, ITS_WHITESPACE_PRESERVE,
+ no_escape);
+ its_value_list_destroy (values);
+ free (values);
+
+ if (msgid == NULL)
+ msgid = _its_collect_text_content (node, whitespace, no_escape);
+ if (*msgid != '\0')
+ {
+ lex_pos_ty pos;
+ char *marker;
+
+ pos.file_name = xstrdup (logical_filename);
+ pos.line_number = xmlGetLineNo (node);
+
+ if (node->type == XML_ELEMENT_NODE)
+ {
+ assert (node->parent);
+ marker = xasprintf ("%s/%s", node->parent->name, node->name);
+ }
+ else
+ {
+ assert (node->parent && node->parent->parent);
+ marker = xasprintf ("%s/%s@%s",
+ node->parent->parent->name,
+ node->parent->name,
+ node->name);
+ }
+
+ if (msgctxt != NULL && *msgctxt == '\0')
+ {
+ free (msgctxt);
+ msgctxt = NULL;
+ }
+
+ callback (mlp, msgctxt, msgid, &pos, comment, marker, whitespace);
+ free (marker);
+ }
+ free (msgctxt);
+ free (msgid);
+ free (comment);
+ }
+}
+
+void
+its_rule_list_extract (its_rule_list_ty *rules,
+ FILE *fp, const char *real_filename,
+ const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ msgdomain_list_ty *mdlp,
+ its_extract_callback_ty callback)
+{
+ xmlDoc *doc;
+ struct its_node_list_ty nodes;
+ size_t i;
+
+ doc = xmlReadFd (fileno (fp), logical_filename, NULL,
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOBLANKS
+ | XML_PARSE_NOERROR);
+ if (doc == NULL)
+ {
+ xmlError *err = xmlGetLastError ();
+ error (0, 0, _("cannot read %s: %s"), logical_filename, err->message);
+ return;
+ }
+
+ its_rule_list_apply (rules, doc);
+
+ memset (&nodes, 0, sizeof (struct its_node_list_ty));
+ its_rule_list_extract_nodes (rules,
+ &nodes,
+ xmlDocGetRootElement (doc));
+
+ for (i = 0; i < nodes.nitems; i++)
+ its_rule_list_extract_text (rules, nodes.items[i],
+ logical_filename,
+ flag_table,
+ mdlp->item[0]->messages,
+ callback);
+
+ free (nodes.items);
+ xmlFreeDoc (doc);
+}
+
+struct its_merge_context_ty
+{
+ its_rule_list_ty *rules;
+ xmlDoc *doc;
+ struct its_node_list_ty nodes;
+};
+
+static void
+its_merge_context_merge_node (struct its_merge_context_ty *context,
+ xmlNode *node,
+ const char *language,
+ message_list_ty *mlp)
+{
+ if (node->type == XML_ELEMENT_NODE)
+ {
+ struct its_value_list_ty *values;
+ const char *value;
+ char *msgid = NULL, *msgctxt = NULL;
+ enum its_whitespace_type_ty whitespace;
+ bool no_escape;
+
+ values = its_rule_list_eval (context->rules, node);
+
+ value = its_value_list_get_value (values, "space");
+ if (value && strcmp (value, "preserve") == 0)
+ whitespace = ITS_WHITESPACE_PRESERVE;
+ else if (value && strcmp (value, "trim") == 0)
+ whitespace = ITS_WHITESPACE_TRIM;
+ else
+ whitespace = ITS_WHITESPACE_NORMALIZE;
+
+ value = its_value_list_get_value (values, "escape");
+ no_escape = value != NULL && strcmp (value, "no") == 0;
+
+ value = its_value_list_get_value (values, "contextPointer");
+ if (value)
+ msgctxt = _its_get_content (context->rules, node, value,
+ ITS_WHITESPACE_PRESERVE, no_escape);
+
+ value = its_value_list_get_value (values, "textPointer");
+ if (value)
+ msgid = _its_get_content (context->rules, node, value,
+ ITS_WHITESPACE_PRESERVE, no_escape);
+ its_value_list_destroy (values);
+ free (values);
+
+ if (msgid == NULL)
+ msgid = _its_collect_text_content (node, whitespace, no_escape);
+ if (*msgid != '\0')
+ {
+ message_ty *mp;
+
+ mp = message_list_search (mlp, msgctxt, msgid);
+ if (mp && *mp->msgstr != '\0')
+ {
+ xmlNode *translated;
+
+ translated = xmlNewNode (node->ns, node->name);
+ xmlSetProp (translated, BAD_CAST "xml:lang", BAD_CAST language);
+
+ xmlNodeAddContent (translated, BAD_CAST mp->msgstr);
+ xmlAddNextSibling (node, translated);
+ }
+ }
+ free (msgctxt);
+ free (msgid);
+ }
+}
+
+void
+its_merge_context_merge (its_merge_context_ty *context,
+ const char *language,
+ message_list_ty *mlp)
+{
+ size_t i;
+
+ for (i = 0; i < context->nodes.nitems; i++)
+ its_merge_context_merge_node (context, context->nodes.items[i],
+ language,
+ mlp);
+}
+
+struct its_merge_context_ty *
+its_merge_context_alloc (its_rule_list_ty *rules,
+ const char *filename)
+{
+ xmlDoc *doc;
+ struct its_merge_context_ty *result;
+
+ doc = xmlReadFile (filename, NULL,
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOBLANKS
+ | XML_PARSE_NOERROR);
+ if (doc == NULL)
+ {
+ xmlError *err = xmlGetLastError ();
+ error (0, 0, _("cannot read %s: %s"), filename, err->message);
+ return NULL;
+ }
+
+ its_rule_list_apply (rules, doc);
+
+ result = XMALLOC (struct its_merge_context_ty);
+ result->rules = rules;
+ result->doc = doc;
+
+ /* Collect translatable nodes. */
+ memset (&result->nodes, 0, sizeof (struct its_node_list_ty));
+ its_rule_list_extract_nodes (result->rules,
+ &result->nodes,
+ xmlDocGetRootElement (result->doc));
+
+ return result;
+}
+
+void
+its_merge_context_write (struct its_merge_context_ty *context,
+ FILE *fp)
+{
+ xmlDocFormatDump (fp, context->doc, 1);
+}
+
+void
+its_merge_context_free (struct its_merge_context_ty *context)
+{
+ xmlFreeDoc (context->doc);
+ free (context->nodes.items);
+ free (context);
+}
diff --git a/gettext-tools/src/its.h b/gettext-tools/src/its.h
new file mode 100644
index 0000000..8d597f5
--- /dev/null
+++ b/gettext-tools/src/its.h
@@ -0,0 +1,85 @@
+/* Internationalization Tag Set (ITS) handling
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _ITS_H_
+#define _ITS_H_
+
+#include "message.h"
+#include "xgettext.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum its_whitespace_type_ty
+{
+ ITS_WHITESPACE_PRESERVE,
+ ITS_WHITESPACE_NORMALIZE,
+ ITS_WHITESPACE_TRIM
+};
+
+typedef struct its_rule_list_ty its_rule_list_ty;
+
+typedef message_ty *
+ (*its_extract_callback_ty) (message_list_ty *mlp,
+ const char *msgctxt,
+ const char *msgid,
+ lex_pos_ty *pos,
+ const char *extracted_comment,
+ const char *marker,
+ enum its_whitespace_type_ty whitespace);
+
+/* Creates a fresh its_rule_list_ty holding global ITS rules. */
+extern its_rule_list_ty *its_rule_list_alloc (void);
+
+/* Releases memory allocated for RULES. */
+extern void its_rule_list_free (its_rule_list_ty *rules);
+
+/* Loads global ITS rules from STRING. */
+extern bool its_rule_list_add_from_string (struct its_rule_list_ty *rules,
+ const char *rule);
+
+/* Loads global ITS rules from FILENAME. */
+extern bool its_rule_list_add_from_file (its_rule_list_ty *rules,
+ const char *filename);
+
+/* Extracts messages from FP, accoding to the loaded ITS rules. */
+extern void its_rule_list_extract (its_rule_list_ty *rules,
+ FILE *fp, const char *real_filename,
+ const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ msgdomain_list_ty *mdlp,
+ its_extract_callback_ty callback);
+
+typedef struct its_merge_context_ty its_merge_context_ty;
+
+extern its_merge_context_ty *
+ its_merge_context_alloc (its_rule_list_ty *rules, const char *filename);
+extern void its_merge_context_free (its_merge_context_ty *context);
+extern void its_merge_context_merge (its_merge_context_ty *context,
+ const char *language,
+ message_list_ty *mlp);
+
+extern void its_merge_context_write (its_merge_context_ty *context,
+ FILE *fp);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ITS_H_ */
diff --git a/gettext-tools/src/lang-table.c b/gettext-tools/src/lang-table.c
index 9cc1f55..ac69021 100644
--- a/gettext-tools/src/lang-table.c
+++ b/gettext-tools/src/lang-table.c
@@ -1,5 +1,5 @@
/* Table of languages.
- Copyright (C) 2001-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/lang-table.h b/gettext-tools/src/lang-table.h
index e72e4c4..59f5802 100644
--- a/gettext-tools/src/lang-table.h
+++ b/gettext-tools/src/lang-table.h
@@ -1,5 +1,5 @@
/* Table of languages.
- Copyright (C) 2001-2007 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/libexpat-compat.c b/gettext-tools/src/libexpat-compat.c
deleted file mode 100644
index ad680db..0000000
--- a/gettext-tools/src/libexpat-compat.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/* xgettext libexpat compatibility.
- Copyright (C) 2002-2003, 2005-2009, 2013 Free Software Foundation, Inc.
-
- This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
-
- 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 3 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, see <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#if DYNLOAD_LIBEXPAT
-# include <dlfcn.h>
-#else
-# if HAVE_LIBEXPAT
-# include <expat.h>
-# endif
-#endif
-
-/* Keep the references to XML_GetCurrent{Line,Column}Number symbols
- before loading libexpat-compat.h, since they are redefined to
- rpl_XML_GetCurrent{Line,Column}Number . */
-#if !DYNLOAD_LIBEXPAT && XML_MAJOR_VERSION >= 2
-static void *p_XML_GetCurrentLineNumber = (void *) &XML_GetCurrentLineNumber;
-static void *p_XML_GetCurrentColumnNumber = (void *) &XML_GetCurrentColumnNumber;
-#endif
-
-#include "libexpat-compat.h"
-
-/* ======================= Different libexpat ABIs. ======================= */
-
-/* There are three different ABIs of libexpat, regarding the functions
- XML_GetCurrentLineNumber and XML_GetCurrentColumnNumber.
- In expat < 2.0, they return an 'int'.
- In expat >= 2.0, they return
- - a 'long' if expat was compiled with the default flags, or
- - a 'long long' if expat was compiled with -DXML_LARGE_SIZE.
- But the <expat.h> include file does not contain the information whether
- expat was compiled with -DXML_LARGE_SIZE; so the include file is lying!
- For this information, we need to call XML_GetFeatureList(), for
- expat >= 2.0.1; for expat = 2.0.0, we have to assume the default flags. */
-
-#if !DYNLOAD_LIBEXPAT && XML_MAJOR_VERSION >= 2
-
-/* expat >= 2.0 -> Return type is 'int64_t' worst-case. */
-
-/* Return true if libexpat was compiled with -DXML_LARGE_SIZE. */
-static bool
-is_XML_LARGE_SIZE_ABI (void)
-{
- static bool tested;
- static bool is_large;
-
- if (!tested)
- {
- const XML_Feature *features;
-
- is_large = false;
- for (features = XML_GetFeatureList (); features->name != NULL; features++)
- if (strcmp (features->name, "XML_LARGE_SIZE") == 0)
- {
- is_large = true;
- break;
- }
-
- tested = true;
- }
- return is_large;
-}
-
-int64_t
-rpl_XML_GetCurrentLineNumber (XML_Parser parser)
-{
- if (is_XML_LARGE_SIZE_ABI ())
- return ((int64_t (*) (XML_Parser)) p_XML_GetCurrentLineNumber) (parser);
- else
- return ((long (*) (XML_Parser)) p_XML_GetCurrentLineNumber) (parser);
-}
-
-int64_t
-rpl_XML_GetCurrentColumnNumber (XML_Parser parser)
-{
- if (is_XML_LARGE_SIZE_ABI ())
- return ((int64_t (*) (XML_Parser)) p_XML_GetCurrentColumnNumber) (parser);
- else
- return ((long (*) (XML_Parser)) p_XML_GetCurrentColumnNumber) (parser);
-}
-#endif
-
-
-/* ===================== Dynamic loading of libexpat. ===================== */
-
-#if DYNLOAD_LIBEXPAT
-
-static XML_Expat_Version (*p_XML_ExpatVersionInfo) (void);
-
-XML_Expat_Version
-XML_ExpatVersionInfo (void)
-{
- return (*p_XML_ExpatVersionInfo) ();
-}
-
-static const XML_Feature * (*p_XML_GetFeatureList) (void);
-
-const XML_Feature *
-XML_GetFeatureList (void)
-{
- return (*p_XML_GetFeatureList) ();
-}
-
-enum XML_Size_ABI
-get_XML_Size_ABI (void)
-{
- static bool tested;
- static enum XML_Size_ABI abi;
-
- if (!tested)
- {
- if (XML_ExpatVersionInfo () .major >= 2)
- /* expat >= 2.0 -> XML_Size is 'int64_t' or 'long'. */
- {
- const XML_Feature *features;
-
- abi = is_long;
- for (features = XML_GetFeatureList ();
- features->name != NULL;
- features++)
- if (strcmp (features->name, "XML_LARGE_SIZE") == 0)
- {
- abi = is_int64_t;
- break;
- }
- }
- else
- /* expat < 2.0 -> XML_Size is 'int'. */
- abi = is_int;
- tested = true;
- }
- return abi;
-}
-
-static XML_Parser (*p_XML_ParserCreate) (const XML_Char *encoding);
-
-XML_Parser
-XML_ParserCreate (const XML_Char *encoding)
-{
- return (*p_XML_ParserCreate) (encoding);
-}
-
-static void (*p_XML_SetElementHandler) (XML_Parser parser,
- XML_StartElementHandler start,
- XML_EndElementHandler end);
-
-void
-XML_SetElementHandler (XML_Parser parser,
- XML_StartElementHandler start,
- XML_EndElementHandler end)
-{
- (*p_XML_SetElementHandler) (parser, start, end);
-}
-
-
-static void (*p_XML_SetCharacterDataHandler) (XML_Parser parser,
- XML_CharacterDataHandler handler);
-
-void
-XML_SetCharacterDataHandler (XML_Parser parser,
- XML_CharacterDataHandler handler)
-{
- (*p_XML_SetCharacterDataHandler) (parser, handler);
-}
-
-
-static void (*p_XML_SetCommentHandler) (XML_Parser parser,
- XML_CommentHandler handler);
-
-void
-XML_SetCommentHandler (XML_Parser parser, XML_CommentHandler handler)
-{
- (*p_XML_SetCommentHandler) (parser, handler);
-}
-
-
-static int (*p_XML_Parse) (XML_Parser parser, const char *s,
- int len, int isFinal);
-
-int
-XML_Parse (XML_Parser parser, const char *s, int len, int isFinal)
-{
- return (*p_XML_Parse) (parser, s, len, isFinal);
-}
-
-
-static enum XML_Error (*p_XML_GetErrorCode) (XML_Parser parser);
-
-enum XML_Error
-XML_GetErrorCode (XML_Parser parser)
-{
- return (*p_XML_GetErrorCode) (parser);
-}
-
-
-static void *p_XML_GetCurrentLineNumber;
-
-int64_t
-XML_GetCurrentLineNumber (XML_Parser parser)
-{
- switch (get_XML_Size_ABI ())
- {
- case is_int:
- return ((int (*) (XML_Parser)) p_XML_GetCurrentLineNumber) (parser);
- case is_long:
- return ((long (*) (XML_Parser)) p_XML_GetCurrentLineNumber) (parser);
- case is_int64_t:
- return ((int64_t (*) (XML_Parser)) p_XML_GetCurrentLineNumber) (parser);
- default:
- abort ();
- }
-}
-
-static void *p_XML_GetCurrentColumnNumber;
-
-int64_t
-XML_GetCurrentColumnNumber (XML_Parser parser)
-{
- switch (get_XML_Size_ABI ())
- {
- case is_int:
- return ((int (*) (XML_Parser)) p_XML_GetCurrentColumnNumber) (parser);
- case is_long:
- return ((long (*) (XML_Parser)) p_XML_GetCurrentColumnNumber) (parser);
- case is_int64_t:
- return ((int64_t (*) (XML_Parser)) p_XML_GetCurrentColumnNumber) (parser);
- default:
- abort ();
- }
-}
-
-
-static const XML_LChar * (*p_XML_ErrorString) (int code);
-
-const XML_LChar *
-XML_ErrorString (int code)
-{
- return (*p_XML_ErrorString) (code);
-}
-
-static void (*p_XML_ParserFree) (XML_Parser parser);
-
-void
-XML_ParserFree (XML_Parser parser)
-{
- return (*p_XML_ParserFree) (parser);
-}
-
-static int libexpat_loaded = 0;
-
-bool
-load_libexpat ()
-{
- if (libexpat_loaded == 0)
- {
- void *handle;
-
- /* Try to load libexpat-2.x. */
- handle = dlopen ("libexpat.so.1", RTLD_LAZY);
- if (handle == NULL)
- /* Try to load libexpat-1.x. */
- handle = dlopen ("libexpat.so.0", RTLD_LAZY);
- if (handle != NULL
- && (p_XML_ExpatVersionInfo =
- (XML_Expat_Version (*) (void))
- dlsym (handle, "XML_ExpatVersionInfo")) != NULL
- && (p_XML_GetFeatureList =
- (const XML_Feature * (*) (void))
- dlsym (handle, "XML_GetFeatureList")) != NULL
- && (p_XML_ParserCreate =
- (XML_Parser (*) (const XML_Char *))
- dlsym (handle, "XML_ParserCreate")) != NULL
- && (p_XML_SetElementHandler =
- (void (*) (XML_Parser, XML_StartElementHandler, XML_EndElementHandler))
- dlsym (handle, "XML_SetElementHandler")) != NULL
- && (p_XML_SetCharacterDataHandler =
- (void (*) (XML_Parser, XML_CharacterDataHandler))
- dlsym (handle, "XML_SetCharacterDataHandler")) != NULL
- && (p_XML_SetCommentHandler =
- (void (*) (XML_Parser, XML_CommentHandler))
- dlsym (handle, "XML_SetCommentHandler")) != NULL
- && (p_XML_Parse =
- (int (*) (XML_Parser, const char *, int, int))
- dlsym (handle, "XML_Parse")) != NULL
- && (p_XML_GetErrorCode =
- (enum XML_Error (*) (XML_Parser))
- dlsym (handle, "XML_GetErrorCode")) != NULL
- && (p_XML_GetCurrentLineNumber =
- dlsym (handle, "XML_GetCurrentLineNumber")) != NULL
- && (p_XML_GetCurrentColumnNumber =
- dlsym (handle, "XML_GetCurrentColumnNumber")) != NULL
- && (p_XML_ParserFree =
- (void (*) (XML_Parser))
- dlsym (handle, "XML_ParserFree")) != NULL
- && (p_XML_ErrorString =
- (const XML_LChar * (*) (int))
- dlsym (handle, "XML_ErrorString")) != NULL)
- libexpat_loaded = 1;
- else
- libexpat_loaded = -1;
- }
- return libexpat_loaded >= 0;
-}
-
-#endif
diff --git a/gettext-tools/src/libexpat-compat.h b/gettext-tools/src/libexpat-compat.h
deleted file mode 100644
index 2ff6465..0000000
--- a/gettext-tools/src/libexpat-compat.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* xgettext libexpat compatibility.
- Copyright (C) 2002-2003, 2005-2009, 2013 Free Software Foundation, Inc.
-
- This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
-
- 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 3 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, see <http://www.gnu.org/licenses/>. */
-
-#include <stdbool.h>
-#include <stdint.h>
-#if DYNLOAD_LIBEXPAT
-# include <dlfcn.h>
-#else
-# if HAVE_LIBEXPAT
-# include <expat.h>
-# endif
-#endif
-
-#if !DYNLOAD_LIBEXPAT && XML_MAJOR_VERSION >= 2
-int64_t rpl_XML_GetCurrentLineNumber (XML_Parser parser);
-# undef XML_GetCurrentLineNumber
-# define XML_GetCurrentLineNumber rpl_XML_GetCurrentLineNumber
-
-int64_t rpl_XML_GetCurrentColumnNumber (XML_Parser parser);
-# undef XML_GetCurrentColumnNumber
-# define XML_GetCurrentColumnNumber rpl_XML_GetCurrentColumnNumber
-#endif
-
-/* ===================== Dynamic loading of libexpat. ===================== */
-
-#if DYNLOAD_LIBEXPAT
-typedef struct
- {
- int major;
- int minor;
- int micro;
- }
- XML_Expat_Version;
-enum XML_FeatureEnum { XML_FEATURE_END = 0 };
-typedef struct
- {
- enum XML_FeatureEnum feature;
- const char *name;
- long int value;
- }
- XML_Feature;
-typedef void *XML_Parser;
-typedef char XML_Char;
-typedef char XML_LChar;
-enum XML_Error { XML_ERROR_NONE };
-typedef void (*XML_StartElementHandler) (void *userData, const XML_Char *name, const XML_Char **atts);
-typedef void (*XML_EndElementHandler) (void *userData, const XML_Char *name);
-typedef void (*XML_CharacterDataHandler) (void *userData, const XML_Char *s, int len);
-typedef void (*XML_CommentHandler) (void *userData, const XML_Char *data);
-
-XML_Expat_Version XML_ExpatVersionInfo (void);
-const XML_Feature * XML_GetFeatureList (void);
-
-enum XML_Size_ABI { is_int, is_long, is_int64_t };
-enum XML_Size_ABI get_XML_Size_ABI (void);
-
-XML_Parser XML_ParserCreate (const XML_Char *encoding);
-void XML_SetElementHandler (XML_Parser parser,
- XML_StartElementHandler start,
- XML_EndElementHandler end);
-void XML_SetCharacterDataHandler (XML_Parser parser,
- XML_CharacterDataHandler handler);
-void XML_SetCommentHandler (XML_Parser parser, XML_CommentHandler handler);
-int XML_Parse (XML_Parser parser, const char *s, int len, int isFinal);
-enum XML_Error XML_GetErrorCode (XML_Parser parser);
-int64_t XML_GetCurrentLineNumber (XML_Parser parser);
-int64_t XML_GetCurrentColumnNumber (XML_Parser parser);
-const XML_LChar * XML_ErrorString (int code);
-void XML_ParserFree (XML_Parser parser);
-
-bool load_libexpat ();
-
-#define LIBEXPAT_AVAILABLE() (load_libexpat ())
-
-#elif HAVE_LIBEXPAT
-
-#define LIBEXPAT_AVAILABLE() true
-
-#endif
diff --git a/gettext-tools/src/locating-rule.c b/gettext-tools/src/locating-rule.c
new file mode 100644
index 0000000..2a1de19
--- /dev/null
+++ b/gettext-tools/src/locating-rule.c
@@ -0,0 +1,437 @@
+/* XML resource locating rules
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/* Specification. */
+#include "locating-rule.h"
+
+#include "basename.h"
+#include "concat-filename.h"
+#include "c-strcase.h"
+
+#if HAVE_DIRENT_H
+# include <dirent.h>
+#endif
+
+#if HAVE_DIRENT_H
+# define HAVE_DIR 1
+#else
+# define HAVE_DIR 0
+#endif
+
+#include "dir-list.h"
+#include <errno.h>
+#include "error.h"
+#include "filename.h"
+#include <fnmatch.h>
+#include "gettext.h"
+#include "hash.h"
+#include <libxml/parser.h>
+#include <libxml/uri.h>
+#include "xalloc.h"
+
+#define _(str) gettext (str)
+
+#define LOCATING_RULES_NS "https://www.gnu.org/s/gettext/ns/locating-rules/1.0"
+
+struct document_locating_rule_ty
+{
+ char *ns;
+ char *local_name;
+
+ char *target;
+};
+
+struct document_locating_rule_list_ty
+{
+ struct document_locating_rule_ty *items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+struct locating_rule_ty
+{
+ char *pattern;
+ char *name;
+
+ struct document_locating_rule_list_ty doc_rules;
+ char *target;
+};
+
+struct locating_rule_list_ty
+{
+ struct locating_rule_ty *items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+static char *
+get_attribute (xmlNode *node, const char *attr)
+{
+ xmlChar *value;
+ char *result;
+
+ value = xmlGetProp (node, BAD_CAST attr);
+ result = xstrdup ((const char *) value);
+ xmlFree (value);
+
+ return result;
+}
+
+static const char *
+document_locating_rule_match (struct document_locating_rule_ty *rule,
+ xmlDoc *doc)
+{
+ xmlNode *root;
+
+ root = xmlDocGetRootElement (doc);
+ if (rule->ns != NULL)
+ {
+ if (root->ns == NULL
+ || !xmlStrEqual (root->ns->href, BAD_CAST rule->ns))
+ return NULL;
+ }
+
+ if (rule->local_name != NULL)
+ {
+ if (!xmlStrEqual (root->name,
+ BAD_CAST rule->local_name))
+ return NULL;
+ }
+
+ return rule->target;
+}
+
+static const char *
+locating_rule_match (struct locating_rule_ty *rule,
+ const char *filename,
+ const char *name)
+{
+ if (name != NULL)
+ {
+ if (rule->name == NULL || c_strcasecmp (name, rule->name) != 0)
+ return NULL;
+ }
+ else
+ {
+ const char *base;
+ char *reduced;
+ int err;
+
+ base = strrchr (filename, '/');
+ if (!base)
+ base = filename;
+
+ reduced = xstrdup (base);
+ /* Remove a trailing ".in" - it's a generic suffix. */
+ while (strlen (reduced) >= 3
+ && memcmp (reduced + strlen (reduced) - 3, ".in", 3) == 0)
+ reduced[strlen (reduced) - 3] = '\0';
+
+ err = fnmatch (rule->pattern, basename (reduced), FNM_PATHNAME);
+ free (reduced);
+ if (err != 0)
+ return NULL;
+ }
+
+ /* Check documentRules. */
+ if (rule->doc_rules.nitems > 0)
+ {
+ const char *target;
+ xmlDoc *doc;
+ size_t i;
+
+ doc = xmlReadFile (filename, NULL,
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOBLANKS
+ | XML_PARSE_NOERROR);
+ if (doc == NULL)
+ {
+ xmlError *err = xmlGetLastError ();
+ error (0, 0, _("cannot read %s: %s"), filename, err->message);
+ return NULL;
+ }
+
+ for (i = 0, target = NULL; i < rule->doc_rules.nitems; i++)
+ {
+ target =
+ document_locating_rule_match (&rule->doc_rules.items[i], doc);
+ if (target)
+ break;
+ }
+ xmlFreeDoc (doc);
+ if (target != NULL)
+ return target;
+ }
+
+ if (rule->target != NULL)
+ return rule->target;
+
+ return NULL;
+}
+
+const char *
+locating_rule_list_locate (struct locating_rule_list_ty *rules,
+ const char *filename,
+ const char *name)
+{
+ const char *target = NULL;
+ size_t i;
+
+ for (i = 0; i < rules->nitems; i++)
+ {
+ if (IS_ABSOLUTE_PATH (filename))
+ {
+ target = locating_rule_match (&rules->items[i], filename, name);
+ if (target != NULL)
+ return target;
+ }
+ else
+ {
+ int j;
+
+ for (j = 0; ; ++j)
+ {
+ const char *dir = dir_list_nth (j);
+ char *new_filename;
+
+ if (dir == NULL)
+ break;
+
+ new_filename = xconcatenated_filename (dir, filename, NULL);
+ target = locating_rule_match (&rules->items[i], new_filename,
+ name);
+ free (new_filename);
+ if (target != NULL)
+ return target;
+ }
+ }
+ }
+
+ return NULL;
+}
+
+static void
+missing_attribute (xmlNode *node, const char *attribute)
+{
+ error (0, 0, _("\"%s\" node does not have \"%s\""), node->name, attribute);
+}
+
+static void
+document_locating_rule_destroy (struct document_locating_rule_ty *rule)
+{
+ free (rule->ns);
+ free (rule->local_name);
+ free (rule->target);
+}
+
+static void
+document_locating_rule_list_add (struct document_locating_rule_list_ty *rules,
+ xmlNode *node)
+{
+ struct document_locating_rule_ty rule;
+
+ if (!xmlHasProp (node, BAD_CAST "target"))
+ {
+ missing_attribute (node, "target");
+ return;
+ }
+
+ memset (&rule, 0, sizeof (struct document_locating_rule_ty));
+
+ if (xmlHasProp (node, BAD_CAST "ns"))
+ rule.ns = get_attribute (node, "ns");
+ if (xmlHasProp (node, BAD_CAST "localName"))
+ rule.local_name = get_attribute (node, "localName");
+ rule.target = get_attribute (node, "target");
+
+ if (rules->nitems == rules->nitems_max)
+ {
+ rules->nitems_max = 2 * rules->nitems_max + 1;
+ rules->items =
+ xrealloc (rules->items,
+ sizeof (struct document_locating_rule_ty)
+ * rules->nitems_max);
+ }
+ memcpy (&rules->items[rules->nitems++], &rule,
+ sizeof (struct document_locating_rule_ty));
+}
+
+static void
+locating_rule_destroy (struct locating_rule_ty *rule)
+{
+ size_t i;
+
+ for (i = 0; i < rule->doc_rules.nitems; i++)
+ document_locating_rule_destroy (&rule->doc_rules.items[i]);
+ free (rule->doc_rules.items);
+
+ free (rule->name);
+ free (rule->pattern);
+ free (rule->target);
+}
+
+static bool
+locating_rule_list_add_from_file (struct locating_rule_list_ty *rules,
+ const char *rule_file_name)
+{
+ xmlDoc *doc;
+ xmlNode *root, *node;
+
+ doc = xmlReadFile (rule_file_name, "utf-8",
+ XML_PARSE_NONET
+ | XML_PARSE_NOWARNING
+ | XML_PARSE_NOBLANKS
+ | XML_PARSE_NOERROR);
+ if (doc == NULL)
+ {
+ error (0, 0, _("cannot read XML file %s"), rule_file_name);
+ return false;
+ }
+
+ root = xmlDocGetRootElement (doc);
+ if (!(xmlStrEqual (root->name, BAD_CAST "locatingRules")
+#if 0
+ && root->ns
+ && xmlStrEqual (root->ns->href, BAD_CAST LOCATING_RULES_NS)
+#endif
+ ))
+ {
+ error (0, 0, _("the root element is not \"locatingRules\""));
+ xmlFreeDoc (doc);
+ return false;
+ }
+
+ for (node = root->children; node; node = node->next)
+ {
+ if (xmlStrEqual (node->name, BAD_CAST "locatingRule"))
+ {
+ struct locating_rule_ty rule;
+
+ if (!xmlHasProp (node, BAD_CAST "pattern"))
+ {
+ missing_attribute (node, "pattern");
+ xmlFreeDoc (doc);
+ continue;
+ }
+
+ memset (&rule, 0, sizeof (struct locating_rule_ty));
+ rule.pattern = get_attribute (node, "pattern");
+ if (xmlHasProp (node, BAD_CAST "name"))
+ rule.name = get_attribute (node, "name");
+ if (xmlHasProp (node, BAD_CAST "target"))
+ rule.target = get_attribute (node, "target");
+ else
+ {
+ xmlNode *n;
+
+ for (n = node->children; n; n = n->next)
+ {
+ if (xmlStrEqual (n->name, BAD_CAST "documentRule"))
+ document_locating_rule_list_add (&rule.doc_rules, n);
+ }
+ }
+ if (rules->nitems == rules->nitems_max)
+ {
+ rules->nitems_max = 2 * rules->nitems_max + 1;
+ rules->items =
+ xrealloc (rules->items,
+ sizeof (struct locating_rule_ty) * rules->nitems_max);
+ }
+ memcpy (&rules->items[rules->nitems++], &rule,
+ sizeof (struct locating_rule_ty));
+ }
+ }
+
+ xmlFreeDoc (doc);
+ return true;
+}
+
+bool
+locating_rule_list_add_from_directory (struct locating_rule_list_ty *rules,
+ const char *directory)
+{
+#if HAVE_DIR
+ DIR *dirp;
+
+ dirp = opendir (directory);
+ if (dirp == NULL)
+ return false;
+
+ for (;;)
+ {
+ struct dirent *dp;
+
+ errno = 0;
+ dp = readdir (dirp);
+ if (dp != NULL)
+ {
+ const char *name = dp->d_name;
+ size_t namlen = strlen (name);
+
+ if (namlen > 4 && memcmp (name + namlen - 4, ".loc", 4) == 0)
+ {
+ char *locator_file_name =
+ xconcatenated_filename (directory, name, NULL);
+ locating_rule_list_add_from_file (rules, locator_file_name);
+ free (locator_file_name);
+ }
+ }
+ else if (errno != 0)
+ return false;
+ else
+ break;
+ }
+ if (closedir (dirp))
+ return false;
+
+#endif
+ return true;
+}
+
+struct locating_rule_list_ty *
+locating_rule_list_alloc (void)
+{
+ struct locating_rule_list_ty *result;
+
+ xmlCheckVersion (LIBXML_VERSION);
+
+ result = XCALLOC (1, struct locating_rule_list_ty);
+
+ return result;
+}
+
+void
+locating_rule_list_destroy (struct locating_rule_list_ty *rules)
+{
+ while (rules->nitems-- > 0)
+ locating_rule_destroy (&rules->items[rules->nitems]);
+ free (rules->items);
+}
+
+void
+locating_rule_list_free (struct locating_rule_list_ty *rules)
+{
+ if (rules != NULL)
+ locating_rule_list_destroy (rules);
+ free (rules);
+}
diff --git a/gettext-tools/src/locating-rule.h b/gettext-tools/src/locating-rule.h
new file mode 100644
index 0000000..f1214bc
--- /dev/null
+++ b/gettext-tools/src/locating-rule.h
@@ -0,0 +1,50 @@
+/* XML resource locating rules
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file was written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _LOCATING_RULE_H
+#define _LOCATING_RULE_H
+
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct locating_rule_list_ty locating_rule_list_ty;
+
+/* Creates a fresh locating_rule_list_ty. */
+extern struct locating_rule_list_ty *locating_rule_list_alloc (void);
+
+extern bool
+ locating_rule_list_add_from_directory (locating_rule_list_ty *rules,
+ const char *directory);
+
+/* Determines the location of resource associated with FILENAME,
+ accoding to the loaded locating rules. */
+extern const char *locating_rule_list_locate (locating_rule_list_ty *rules,
+ const char *filename,
+ const char *name);
+
+/* Releases memory allocated for RULES. */
+extern void locating_rule_list_free (locating_rule_list_ty *rules);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LOCATING_RULE_H */
diff --git a/gettext-tools/src/message.c b/gettext-tools/src/message.c
index 586675f..bc1604c 100644
--- a/gettext-tools/src/message.c
+++ b/gettext-tools/src/message.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
@@ -58,6 +59,7 @@ const char *const format_language[NFORMATS] =
/* format_qt */ "qt",
/* format_qt_plursl */ "qt-plural",
/* format_kde */ "kde",
+ /* format_kde_kuit */ "kde-kuit",
/* format_boost */ "boost",
/* format_lua */ "lua",
/* format_javascript */ "javascript"
@@ -89,6 +91,7 @@ const char *const format_language_pretty[NFORMATS] =
/* format_qt */ "Qt",
/* format_qt_plural */ "Qt plural",
/* format_kde */ "KDE",
+ /* format_kde_kuit */ "KDE KUIT",
/* format_boost */ "Boost",
/* format_lua */ "Lua",
/* format_javascript */ "JavaScript"
@@ -104,6 +107,14 @@ possible_format_p (enum is_format is_format)
}
+const char *const syntax_check_name[NSYNTAXCHECKS] =
+{
+ /* sc_ellipsis_unicode */ "ellipsis-unicode",
+ /* sc_space_ellipsis */ "space-ellipsis",
+ /* sc_quote_unicode */ "quote-unicode"
+};
+
+
message_ty *
message_alloc (const char *msgctxt,
const char *msgid, const char *msgid_plural,
@@ -130,6 +141,8 @@ message_alloc (const char *msgctxt,
mp->range.min = -1;
mp->range.max = -1;
mp->do_wrap = undecided;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ mp->do_syntax_check[i] = undecided;
mp->prev_msgctxt = NULL;
mp->prev_msgid = NULL;
mp->prev_msgid_plural = NULL;
@@ -235,6 +248,8 @@ message_copy (message_ty *mp)
result->is_format[i] = mp->is_format[i];
result->range = mp->range;
result->do_wrap = mp->do_wrap;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ result->do_syntax_check[i] = mp->do_syntax_check[i];
for (j = 0; j < mp->filepos_count; ++j)
{
lex_pos_ty *pp = &mp->filepos[j];
diff --git a/gettext-tools/src/message.h b/gettext-tools/src/message.h
index bf2215a..ec86ff1 100644
--- a/gettext-tools/src/message.h
+++ b/gettext-tools/src/message.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
@@ -67,11 +68,12 @@ enum format_type
format_qt,
format_qt_plural,
format_kde,
+ format_kde_kuit,
format_boost,
format_lua,
format_javascript
};
-#define NFORMATS 27 /* Number of format_type enum values. */
+#define NFORMATS 28 /* Number of format_type enum values. */
extern DLL_VARIABLE const char *const format_language[NFORMATS];
extern DLL_VARIABLE const char *const format_language_pretty[NFORMATS];
@@ -114,6 +116,29 @@ enum is_wrap
#endif
+/* Kinds of syntax checks which apply to strings. */
+enum syntax_check_type
+{
+ sc_ellipsis_unicode,
+ sc_space_ellipsis,
+ sc_quote_unicode
+};
+#define NSYNTAXCHECKS 3
+extern DLL_VARIABLE const char *const syntax_check_name[NSYNTAXCHECKS];
+
+/* Is current msgid subject to a syntax check? */
+#if 0
+enum is_syntax_check
+{
+ undecided,
+ yes,
+ no
+};
+#else /* HACK - C's enum concept is so stupid */
+#define is_syntax_check is_format
+#endif
+
+
struct altstr
{
const char *msgstr;
@@ -175,6 +200,9 @@ struct message_ty
/* Do we want the string to be wrapped in the emitted PO file? */
enum is_wrap do_wrap;
+ /* Do we want to apply extra syntax checks on the string? */
+ enum is_syntax_check do_syntax_check[NSYNTAXCHECKS];
+
/* The prev_msgctxt, prev_msgid and prev_msgid_plural strings appearing
before the message, if present. Generated by msgmerge. */
const char *prev_msgctxt;
diff --git a/gettext-tools/src/msgattrib.c b/gettext-tools/src/msgattrib.c
index 326f28c..1f945b6 100644
--- a/gettext-tools/src/msgattrib.c
+++ b/gettext-tools/src/msgattrib.c
@@ -1,5 +1,6 @@
/* Manipulates attributes of messages in translation catalogs.
- Copyright (C) 2001-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2010, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgcat.c b/gettext-tools/src/msgcat.c
index 0cc432c..c0b6fd4 100644
--- a/gettext-tools/src/msgcat.c
+++ b/gettext-tools/src/msgcat.c
@@ -1,5 +1,6 @@
/* Concatenates several translation catalogs.
- Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgcmp.c b/gettext-tools/src/msgcmp.c
index f82131d..4fadbb6 100644
--- a/gettext-tools/src/msgcmp.c
+++ b/gettext-tools/src/msgcmp.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2010, 2012, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgcomm.c b/gettext-tools/src/msgcomm.c
index daddf2b..c731297 100644
--- a/gettext-tools/src/msgcomm.c
+++ b/gettext-tools/src/msgcomm.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1997-1998, 2000-2007, 2009-2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2000-2007, 2009-2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/msgconv.c b/gettext-tools/src/msgconv.c
index 5c9f7ea..e407ac6 100644
--- a/gettext-tools/src/msgconv.c
+++ b/gettext-tools/src/msgconv.c
@@ -1,5 +1,6 @@
/* Converts a translation catalog to a different character encoding.
- Copyright (C) 2001-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2010, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgen.c b/gettext-tools/src/msgen.c
index e33c61a..e6eda09 100644
--- a/gettext-tools/src/msgen.c
+++ b/gettext-tools/src/msgen.c
@@ -1,5 +1,6 @@
/* Creates an English translation catalog.
- Copyright (C) 2001-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2010, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgexec.c b/gettext-tools/src/msgexec.c
index 5239518..e7594fc 100644
--- a/gettext-tools/src/msgexec.c
+++ b/gettext-tools/src/msgexec.c
@@ -1,5 +1,5 @@
/* Pass translations to a subprocess.
- Copyright (C) 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -71,6 +71,8 @@ static const char *sub_path;
static char **sub_argv;
static int sub_argc;
+static bool newline;
+
/* Maximum exit code encountered. */
static int exitcode;
@@ -80,6 +82,7 @@ static const struct option long_options[] =
{ "directory", required_argument, NULL, 'D' },
{ "help", no_argument, NULL, 'h' },
{ "input", required_argument, NULL, 'i' },
+ { "newline", no_argument, NULL, CHAR_MAX + 2 },
{ "properties-input", no_argument, NULL, 'P' },
{ "stringtable-input", no_argument, NULL, CHAR_MAX + 1 },
{ "version", no_argument, NULL, 'V' },
@@ -167,6 +170,10 @@ main (int argc, char **argv)
input_syntax = &input_format_stringtable;
break;
+ case CHAR_MAX + 2: /* --newline */
+ newline = true;
+ break;
+
default:
usage (EXIT_FAILURE);
break;
@@ -274,6 +281,11 @@ null byte. The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n
"));
printf ("\n");
printf (_("\
+Command input:\n"));
+ printf (_("\
+ --newline add newline at the end of input\n"));
+ printf ("\n");
+ printf (_("\
Mandatory arguments to long options are mandatory for short options too.\n"));
printf ("\n");
printf (_("\
@@ -352,6 +364,7 @@ process_string (const message_ty *mp, const char *str, size_t len)
int fd[1];
void (*orig_sigpipe_handler)(int);
int exitstatus;
+ char *newstr;
/* Set environment variables for the subprocess.
Note: These environment variables, especially MSGEXEC_MSGCTXT and
@@ -399,11 +412,23 @@ process_string (const message_ty *mp, const char *str, size_t len)
successfully without having read all of the input that we feed it. */
orig_sigpipe_handler = signal (SIGPIPE, SIG_IGN);
- if (full_write (fd[0], str, len) < len)
+ if (newline)
+ {
+ newstr = XNMALLOC (len + 1, char);
+ memcpy (newstr, str, len);
+ newstr[len++] = '\n';
+ }
+ else
+ newstr = (char *) str;
+
+ if (full_write (fd[0], newstr, len) < len)
if (errno != EPIPE)
error (EXIT_FAILURE, errno,
_("write to %s subprocess failed"), sub_name);
+ if (newstr != str)
+ free (newstr);
+
close (fd[0]);
signal (SIGPIPE, orig_sigpipe_handler);
diff --git a/gettext-tools/src/msgfilter.c b/gettext-tools/src/msgfilter.c
index f9cb1cc..aa358e1 100644
--- a/gettext-tools/src/msgfilter.c
+++ b/gettext-tools/src/msgfilter.c
@@ -1,5 +1,5 @@
/* Edit translations using a subprocess.
- Copyright (C) 2001-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2010, 2012, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -81,6 +81,8 @@ static const char *sub_path;
static const char **sub_argv;
static int sub_argc;
+static bool newline;
+
/* Filter function. */
static void (*filter) (const char *str, size_t len, char **resultp, size_t *lengthp);
@@ -96,6 +98,7 @@ static const struct option long_options[] =
{ "indent", no_argument, NULL, CHAR_MAX + 1 },
{ "input", required_argument, NULL, 'i' },
{ "keep-header", no_argument, &keep_header, 1 },
+ { "newline", no_argument, NULL, CHAR_MAX + 9 },
{ "no-escape", no_argument, NULL, CHAR_MAX + 2 },
{ "no-location", no_argument, NULL, CHAR_MAX + 8 },
{ "no-wrap", no_argument, NULL, CHAR_MAX + 3 },
@@ -269,6 +272,10 @@ main (int argc, char **argv)
message_print_style_filepos (filepos_comment_none);
break;
+ case CHAR_MAX + 9: /* --newline */
+ newline = true;
+ break;
+
default:
usage (EXIT_FAILURE);
break;
@@ -438,6 +445,12 @@ and writes a modified translation to standard output.\n\
"));
printf ("\n");
printf (_("\
+Filter input and output:\n"));
+ printf (_("\
+ --newline add a newline at the end of input and\n\
+ remove a newline from the end of output"));
+ printf ("\n");
+ printf (_("\
Useful FILTER-OPTIONs when the FILTER is 'sed':\n"));
printf (_("\
-e, --expression=SCRIPT add SCRIPT to the commands to be executed\n"));
@@ -628,6 +641,35 @@ process_string (const char *str, size_t len, char **resultp, size_t *lengthp)
}
+/* Do the same thing as process_string but append a newline to STR
+ before processing, and remove a newline from the result.
+ */
+static void
+process_string_with_newline (const char *str, size_t len, char **resultp,
+ size_t *lengthp)
+{
+ char *newstr;
+ char *result;
+ size_t length;
+
+ newstr = XNMALLOC (len + 1, char);
+ memcpy (newstr, str, len);
+ newstr[len] = '\n';
+
+ process_string (newstr, len + 1, &result, &length);
+
+ free (newstr);
+
+ if (length > 0 && result[length - 1] == '\n')
+ result[--length] = '\0';
+ else
+ error (0, 0, _("filter output is not terminated with a newline"));
+
+ *resultp = result;
+ *lengthp = length;
+}
+
+
static void
process_message (message_ty *mp)
{
@@ -705,7 +747,12 @@ process_message (message_ty *mp)
}
else
unsetenv ("MSGFILTER_PLURAL_FORM");
- process_string (p, strlen (p), &result, &length);
+
+ if (newline)
+ process_string_with_newline (p, strlen (p), &result, &length);
+ else
+ process_string (p, strlen (p), &result, &length);
+
result = (char *) xrealloc (result, length + 1);
result[length] = '\0';
substrings[k] = result;
diff --git a/gettext-tools/src/msgfmt.c b/gettext-tools/src/msgfmt.c
index 3fabd87..0517c99 100644
--- a/gettext-tools/src/msgfmt.c
+++ b/gettext-tools/src/msgfmt.c
@@ -1,5 +1,6 @@
/* Converts Uniforum style .po files to binary .mo files
- Copyright (C) 1995-1998, 2000-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2007, 2009-2010, 2012, 2015 Free
+ Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
@@ -49,6 +50,7 @@
#include "write-tcl.h"
#include "write-qt.h"
#include "write-desktop.h"
+#include "write-xml.h"
#include "propername.h"
#include "message.h"
#include "open-catalog.h"
@@ -61,10 +63,14 @@
#include "msgl-check.h"
#include "msgl-iconv.h"
#include "concat-filename.h"
+#include "its.h"
+#include "locating-rule.h"
#include "gettext.h"
#define _(str) gettext (str)
+#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
+
/* Contains exit status for case in which no premature exit occurs. */
static int exit_status;
@@ -110,6 +116,14 @@ static const char *desktop_base_directory;
static hash_table desktop_keywords;
static bool desktop_default_keywords = true;
+/* XML mode output file specification. */
+static bool xml_mode;
+static const char *xml_locale_name;
+static const char *xml_template_name;
+static const char *xml_base_directory;
+static const char *xml_language;
+static its_rule_list_ty *xml_its_rules;
+
/* We may have more than one input file. Domains with same names in
different files have to merged. So we need a list of tables for
each output file. */
@@ -180,6 +194,7 @@ static const struct option long_options[] =
{ "java", no_argument, NULL, 'j' },
{ "java2", no_argument, NULL, CHAR_MAX + 5 },
{ "keyword", required_argument, NULL, 'k' },
+ { "language", required_argument, NULL, 'L' },
{ "locale", required_argument, NULL, 'l' },
{ "no-hash", no_argument, NULL, CHAR_MAX + 6 },
{ "output-file", required_argument, NULL, 'o' },
@@ -196,6 +211,7 @@ static const struct option long_options[] =
{ "use-untranslated", no_argument, NULL, CHAR_MAX + 12 },
{ "verbose", no_argument, NULL, 'v' },
{ "version", no_argument, NULL, 'V' },
+ { "xml", no_argument, NULL, 'x' },
{ NULL, 0, NULL, 0 }
};
@@ -211,11 +227,14 @@ static struct msg_domain *new_domain (const char *name, const char *file_name);
static bool is_nonobsolete (const message_ty *mp);
static void read_catalog_file_msgfmt (char *filename,
catalog_input_format_ty input_syntax);
-static string_list_ty *get_languages (const char *directory);
static int msgfmt_desktop_bulk (const char *directory,
const char *template_file_name,
hash_table *keywords,
const char *file_name);
+static int msgfmt_xml_bulk (const char *directory,
+ const char *template_file_name,
+ its_rule_list_ty *its_rules,
+ const char *file_name);
int
@@ -252,8 +271,8 @@ main (int argc, char *argv[])
/* Ensure that write errors on stdout are detected. */
atexit (close_stdout);
- while ((opt = getopt_long (argc, argv, "a:cCd:D:fhjl:o:Pr:vV", long_options,
- NULL))
+ while ((opt = getopt_long (argc, argv, "a:cCd:D:fhjl:L:o:Pr:vVx",
+ long_options, NULL))
!= EOF)
switch (opt)
{
@@ -281,6 +300,7 @@ main (int argc, char *argv[])
csharp_base_directory = optarg;
tcl_base_directory = optarg;
desktop_base_directory = optarg;
+ xml_base_directory = optarg;
break;
case 'D':
dir_list_append (optarg);
@@ -313,6 +333,10 @@ main (int argc, char *argv[])
csharp_locale_name = optarg;
tcl_locale_name = optarg;
desktop_locale_name = optarg;
+ xml_locale_name = optarg;
+ break;
+ case 'L':
+ xml_language = optarg;
break;
case 'o':
output_file_name = optarg;
@@ -333,6 +357,9 @@ main (int argc, char *argv[])
case 'V':
do_version = true;
break;
+ case 'x':
+ xml_mode = true;
+ break;
case CHAR_MAX + 1: /* --check-accelerators */
check_accelerators = true;
if (optarg != NULL)
@@ -402,6 +429,7 @@ main (int argc, char *argv[])
break;
case CHAR_MAX + 16: /* --template=TEMPLATE */
desktop_template_name = optarg;
+ xml_template_name = optarg;
break;
default:
usage (EXIT_FAILURE);
@@ -428,16 +456,20 @@ There is NO WARRANTY, to the extent permitted by law.\n\
usage (EXIT_SUCCESS);
/* Test whether we have a .po file name as argument. */
- if (optind >= argc && !(desktop_mode && desktop_base_directory))
+ if (optind >= argc
+ && !(desktop_mode && desktop_base_directory)
+ && !(xml_mode && xml_base_directory))
{
error (EXIT_SUCCESS, 0, _("no input file given"));
usage (EXIT_FAILURE);
}
- if (optind < argc && desktop_mode && desktop_base_directory)
+ if (optind < argc
+ && ((desktop_mode && desktop_base_directory)
+ || (xml_mode && xml_base_directory)))
{
error (EXIT_SUCCESS, 0,
_("no input file should be given if %s and %s are specified"),
- "--desktop", "-d");
+ desktop_mode ? "--desktop" : "--xml", "-d");
usage (EXIT_FAILURE);
}
@@ -449,10 +481,11 @@ There is NO WARRANTY, to the extent permitted by law.\n\
| (csharp_resources_mode ? 4 : 0)
| (tcl_mode ? 8 : 0)
| (qt_mode ? 16 : 0)
- | (desktop_mode ? 32 : 0);
+ | (desktop_mode ? 32 : 0)
+ | (xml_mode ? 64 : 0);
static const char *mode_options[] =
{ "--java", "--csharp", "--csharp-resources", "--tcl", "--qt",
- "--desktop" };
+ "--desktop", "--xml" };
/* More than one bit set? */
if (modes & (modes - 1))
{
@@ -558,6 +591,34 @@ There is NO WARRANTY, to the extent permitted by law.\n\
usage (EXIT_FAILURE);
}
}
+ else if (xml_mode)
+ {
+ if (xml_template_name == NULL)
+ {
+ error (EXIT_SUCCESS, 0,
+ _("%s requires a \"--template template\" specification"),
+ "--xml");
+ usage (EXIT_FAILURE);
+ }
+ if (output_file_name == NULL)
+ {
+ error (EXIT_SUCCESS, 0,
+ _("%s requires a \"-o file\" specification"),
+ "--xml");
+ usage (EXIT_FAILURE);
+ }
+ if (xml_base_directory != NULL && xml_locale_name != NULL)
+ error (EXIT_FAILURE, 0,
+ _("%s and %s are mutually exclusive in %s"),
+ "-d", "-l", "--xml");
+ if (xml_base_directory == NULL && xml_locale_name == NULL)
+ {
+ error (EXIT_SUCCESS, 0,
+ _("%s requires a \"-l locale\" specification"),
+ "--xml");
+ usage (EXIT_FAILURE);
+ }
+ }
else
{
if (java_resource_name != NULL)
@@ -600,6 +661,80 @@ There is NO WARRANTY, to the extent permitted by law.\n\
exit (exit_status);
}
+ if (xml_mode)
+ {
+ const char *gettextdatadir;
+ char *versioned_gettextdatadir;
+ char *its_dirs[2] = { NULL, NULL };
+ locating_rule_list_ty *its_locating_rules;
+ const char *its_basename;
+ size_t i;
+
+ /* Make it possible to override the locator file location. This
+ is necessary for running the testsuite before "make
+ install". */
+ gettextdatadir = getenv ("GETTEXTDATADIR");
+ if (gettextdatadir == NULL || gettextdatadir[0] == '\0')
+ gettextdatadir = relocate (GETTEXTDATADIR);
+
+ its_dirs[0] = xconcatenated_filename (gettextdatadir, "its", NULL);
+
+ versioned_gettextdatadir =
+ xasprintf ("%s%s", relocate (GETTEXTDATADIR), PACKAGE_SUFFIX);
+ its_dirs[1] = xconcatenated_filename (versioned_gettextdatadir, "its",
+ NULL);
+ free (versioned_gettextdatadir);
+
+ its_locating_rules = locating_rule_list_alloc ();
+ for (i = 0; i < SIZEOF (its_dirs); i++)
+ locating_rule_list_add_from_directory (its_locating_rules, its_dirs[i]);
+
+ its_basename = locating_rule_list_locate (its_locating_rules,
+ xml_template_name,
+ xml_language);
+
+ if (its_basename != NULL)
+ {
+ size_t j;
+
+ xml_its_rules = its_rule_list_alloc ();
+ for (j = 0; j < SIZEOF (its_dirs); j++)
+ {
+ char *its_filename =
+ xconcatenated_filename (its_dirs[j], its_basename, NULL);
+ struct stat statbuf;
+ bool ok = false;
+
+ if (stat (its_filename, &statbuf) == 0)
+ ok = its_rule_list_add_from_file (xml_its_rules, its_filename);
+ free (its_filename);
+ if (ok)
+ break;
+ }
+ if (j == SIZEOF (its_dirs))
+ {
+ its_rule_list_free (xml_its_rules);
+ xml_its_rules = NULL;
+ }
+ }
+ locating_rule_list_free (its_locating_rules);
+
+ if (xml_its_rules == NULL)
+ error (EXIT_FAILURE, 0, _("cannot locate ITS rules for %s"),
+ xml_template_name);
+ }
+
+ /* Bulk processing mode for XML files.
+ Process all .po files in xml_base_directory. */
+ if (xml_mode && xml_base_directory)
+ {
+ exit_status = msgfmt_xml_bulk (xml_base_directory,
+ xml_template_name,
+ xml_its_rules,
+ output_file_name);
+ exit (exit_status);
+ }
+
/* The -o option determines the name of the domain and therefore
the output file. */
if (output_file_name != NULL)
@@ -705,6 +840,15 @@ There is NO WARRANTY, to the extent permitted by law.\n\
if (desktop_keywords.table != NULL)
hash_destroy (&desktop_keywords);
}
+ else if (xml_mode)
+ {
+ if (msgdomain_write_xml (domain->mlp, canon_encoding,
+ xml_locale_name,
+ xml_template_name,
+ xml_its_rules,
+ domain->file_name))
+ exit_status = EXIT_FAILURE;
+ }
else
{
if (msgdomain_write_mo (domain->mlp, domain->domain_name,
@@ -810,6 +954,8 @@ Operation mode:\n"));
--qt Qt mode: generate a Qt .qm file\n"));
printf (_("\
--desktop Desktop Entry mode: generate a .desktop file\n"));
+ printf (_("\
+ --xml XML mode: generate XML file\n"));
printf ("\n");
printf (_("\
Output file location:\n"));
@@ -876,6 +1022,22 @@ The -l, -o, and --template options are mandatory. If -D is specified, input\n\
files are read from the directory instead of the command line arguments.\n"));
printf ("\n");
printf (_("\
+XML mode options:\n"));
+ printf (_("\
+ -l, --locale=LOCALE locale name, either language or language_COUNTRY\n"));
+ printf (_("\
+ -L, --language=NAME recognise the specified XML language\n"));
+ printf (_("\
+ -o, --output-file=FILE write output to specified file\n"));
+ printf (_("\
+ --template=TEMPLATE an XML file used as a template\n"));
+ printf (_("\
+ -d DIRECTORY base directory of .po files\n"));
+ printf (_("\
+The -l, -o, and --template options are mandatory. If -D is specified, input\n\
+files are read from the directory instead of the command line arguments.\n"));
+ printf ("\n");
+ printf (_("\
Input file syntax:\n"));
printf (_("\
-P, --properties-input input files are in Java .properties syntax\n"));
@@ -1063,7 +1225,7 @@ msgfmt_set_domain (default_catalog_reader_ty *this, char *name)
/* If no output file was given, we change it with each 'domain'
directive. */
if (!java_mode && !csharp_mode && !csharp_resources_mode && !tcl_mode
- && !qt_mode && !desktop_mode && output_file_name == NULL)
+ && !qt_mode && !desktop_mode && !xml_mode && output_file_name == NULL)
{
size_t correct;
@@ -1297,35 +1459,30 @@ add_languages (string_list_ty *languages, string_list_ty *desired_languages,
/* Compute the languages list by reading the "LINGUAS" envvar or the
LINGUAS file under DIRECTORY. */
-static string_list_ty *
-get_languages (const char *directory)
+static void
+get_languages (string_list_ty *languages, const char *directory)
{
char *envval;
- string_list_ty *languages;
- string_list_ty *desired_languages = NULL;
- char *linguas_file_name;
+ string_list_ty real_desired_languages, *desired_languages = NULL;
+ char *linguas_file_name = NULL;
struct stat statbuf;
FILE *fp;
size_t line_len = 0;
char *line_buf = NULL;
- languages = string_list_alloc ();
envval = getenv ("LINGUAS");
if (envval)
{
- desired_languages = string_list_alloc ();
- add_languages (desired_languages, NULL, envval, strlen (envval));
+ string_list_init (&real_desired_languages);
+ add_languages (&real_desired_languages, NULL, envval, strlen (envval));
+ desired_languages = &real_desired_languages;
}
linguas_file_name = xconcatenated_filename (directory, "LINGUAS", NULL);
if (stat (linguas_file_name, &statbuf) < 0)
{
error (EXIT_SUCCESS, 0, _("%s does not exist"), linguas_file_name);
- string_list_free (languages);
- if (desired_languages != NULL)
- string_list_free (desired_languages);
- free (linguas_file_name);
- return NULL;
+ goto out;
}
fp = fopen (linguas_file_name, "r");
@@ -1333,11 +1490,7 @@ get_languages (const char *directory)
{
error (EXIT_SUCCESS, 0, _("%s exists but cannot read"),
linguas_file_name);
- string_list_free (languages);
- if (desired_languages != NULL)
- string_list_free (desired_languages);
- free (linguas_file_name);
- return NULL;
+ goto out;
}
while (!feof (fp))
@@ -1367,32 +1520,68 @@ get_languages (const char *directory)
free (line_buf);
fclose (fp);
+
+ out:
if (desired_languages != NULL)
- string_list_free (desired_languages);
+ string_list_destroy (desired_languages);
free (linguas_file_name);
+}
+
+static void
+msgfmt_operand_list_init (msgfmt_operand_list_ty *operands)
+{
+ operands->items = NULL;
+ operands->nitems = 0;
+ operands->nitems_max = 0;
+}
+
+static void
+msgfmt_operand_list_destroy (msgfmt_operand_list_ty *operands)
+{
+ size_t i;
- return languages;
+ for (i = 0; i < operands->nitems; i++)
+ {
+ free (operands->items[i].language);
+ message_list_free (operands->items[i].mlp, 0);
+ }
+ free (operands->items);
+}
+
+static void
+msgfmt_operand_list_append (msgfmt_operand_list_ty *operands,
+ const char *language,
+ message_list_ty *messages)
+{
+ msgfmt_operand_ty *operand;
+
+ if (operands->nitems == operands->nitems_max)
+ {
+ operands->nitems_max = operands->nitems_max * 2 + 1;
+ operands->items = xrealloc (operands->items,
+ sizeof (msgfmt_operand_ty)
+ * operands->nitems_max);
+ }
+
+ operand = &operands->items[operands->nitems++];
+ operand->language = xstrdup (language);
+ operand->mlp = messages;
}
-/* Helper function to support 'bulk' operation mode of --desktop.
- This reads all .po files in DIRECTORY and merges them into a
- .desktop file FILE_NAME. Currently it does not support some
- options available in 'iterative' mode, such as --statistics. */
static int
-msgfmt_desktop_bulk (const char *directory,
- const char *template_file_name,
- hash_table *keywords,
- const char *file_name)
+msgfmt_operand_list_add_from_directory (msgfmt_operand_list_ty *operands,
+ const char *directory)
{
- string_list_ty *languages = NULL;
- message_list_ty **messages = NULL;
+ string_list_ty languages;
void *saved_dir_list;
int retval = 0;
size_t i;
- languages = get_languages (directory);
- if (!languages)
- return EXIT_FAILURE;
+ string_list_init (&languages);
+ get_languages (&languages, directory);
+
+ if (languages.nitems == 0)
+ return 0;
/* Reset the directory search list so only .po files under DIRECTORY
will be read. */
@@ -1400,34 +1589,35 @@ msgfmt_desktop_bulk (const char *directory,
dir_list_append (directory);
/* Read all .po files. */
- messages = XNMALLOC (languages->nitems, message_list_ty *);
- for (i = 0; i < languages->nitems; i++)
+ for (i = 0; i < languages.nitems; i++)
{
- const char *language = languages->item[i];
+ const char *language = languages.item[i];
+ message_list_ty *mlp;
char *input_file_name;
int nerrors;
- current_domain = new_domain (file_name, file_name);
+ current_domain = new_domain (MESSAGE_DOMAIN_DEFAULT,
+ add_mo_suffix (MESSAGE_DOMAIN_DEFAULT));
input_file_name = xconcatenated_filename ("", language, ".po");
read_catalog_file_msgfmt (input_file_name, &input_format_po);
free (input_file_name);
- /* The domain directive is not supported by --desktop mode.
+ /* The domain directive is not supported in the bulk execution mode.
Thus, domain_list should always contain a single domain. */
assert (current_domain == domain_list && domain_list->next == NULL);
- messages[i] = current_domain->mlp;
+ mlp = current_domain->mlp;
free (current_domain);
current_domain = domain_list = NULL;
/* Remove obsolete messages. They were only needed for duplicate
checking. */
- message_list_remove_if_not (messages[i], is_nonobsolete);
+ message_list_remove_if_not (mlp, is_nonobsolete);
/* Perform all kinds of checks: plural expressions, format
strings, ... */
nerrors =
- check_message_list (messages[i],
+ check_message_list (mlp,
/* Untranslated and fuzzy messages have already
been dealt with during parsing, see below in
msgfmt_frob_new_message. */
@@ -1436,38 +1626,92 @@ msgfmt_desktop_bulk (const char *directory,
check_compatibility,
check_accelerators, accelerator_char);
- /* Exit with status 1 on any error. */
+ retval += nerrors;
if (nerrors > 0)
{
error (0, 0,
ngettext ("found %d fatal error", "found %d fatal errors",
nerrors),
nerrors);
- retval = EXIT_FAILURE;
- goto out;
+ continue;
}
/* Convert the messages to Unicode. */
- iconv_message_list (messages[i], NULL, po_charset_utf8, NULL);
+ iconv_message_list (mlp, NULL, po_charset_utf8, NULL);
+
+ msgfmt_operand_list_append (operands, language, mlp);
+ }
+
+ string_list_destroy (&languages);
+ dir_list_restore (saved_dir_list);
+
+ return retval;
+}
+
+/* Helper function to support 'bulk' operation mode of --desktop.
+ This reads all .po files in DIRECTORY and merges them into a
+ .desktop file FILE_NAME. Currently it does not support some
+ options available in 'iterative' mode, such as --statistics. */
+static int
+msgfmt_desktop_bulk (const char *directory,
+ const char *template_file_name,
+ hash_table *keywords,
+ const char *file_name)
+{
+ msgfmt_operand_list_ty operands;
+ int nerrors, status;
+
+ msgfmt_operand_list_init (&operands);
+
+ /* Read all .po files. */
+ nerrors = msgfmt_operand_list_add_from_directory (&operands, directory);
+ if (nerrors > 0)
+ {
+ msgfmt_operand_list_destroy (&operands);
+ return 1;
}
/* Write the messages into .desktop file. */
- if (msgdomain_write_desktop_bulk (languages,
- messages,
- template_file_name,
- keywords,
- file_name))
+ status = msgdomain_write_desktop_bulk (&operands,
+ template_file_name,
+ keywords,
+ file_name);
+
+ msgfmt_operand_list_destroy (&operands);
+
+ return status;
+}
+
+/* Helper function to support 'bulk' operation mode of --xml.
+ This reads all .po files in DIRECTORY and merges them into an
+ XML file FILE_NAME. Currently it does not support some
+ options available in 'iterative' mode, such as --statistics. */
+static int
+msgfmt_xml_bulk (const char *directory,
+ const char *template_file_name,
+ its_rule_list_ty *its_rules,
+ const char *file_name)
+{
+ msgfmt_operand_list_ty operands;
+ int nerrors, status;
+
+ msgfmt_operand_list_init (&operands);
+
+ /* Read all .po files. */
+ nerrors = msgfmt_operand_list_add_from_directory (&operands, directory);
+ if (nerrors > 0)
{
- retval = EXIT_FAILURE;
- goto out;
+ msgfmt_operand_list_destroy (&operands);
+ return 1;
}
- out:
- dir_list_restore (saved_dir_list);
- for (i = 0; i < languages->nitems; i++)
- message_list_free (messages[i], 0);
- free (messages);
- string_list_free (languages);
+ /* Write the messages into .xml file. */
+ status = msgdomain_write_xml_bulk (&operands,
+ template_file_name,
+ its_rules,
+ file_name);
- return retval;
+ msgfmt_operand_list_destroy (&operands);
+
+ return status;
}
diff --git a/gettext-tools/src/msgfmt.cs b/gettext-tools/src/msgfmt.cs
index e2f9e7d..1a97f64 100644
--- a/gettext-tools/src/msgfmt.cs
+++ b/gettext-tools/src/msgfmt.cs
@@ -1,5 +1,5 @@
/* GNU gettext for C#
- * Copyright (C) 2003 Free Software Foundation, Inc.
+ * Copyright (C) 2003, 2015 Free Software Foundation, Inc.
* Written by Bruno Haible <bruno@clisp.org>, 2003.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgfmt.h b/gettext-tools/src/msgfmt.h
index e61f72c..3651a30 100644
--- a/gettext-tools/src/msgfmt.h
+++ b/gettext-tools/src/msgfmt.h
@@ -1,5 +1,6 @@
/* msgfmt specifics
- Copyright (C) 1995-1998, 2000-2001, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2001, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
@@ -18,10 +19,36 @@
#ifndef _MSGFMT_H
#define _MSGFMT_H
+#include "message.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Be more verbose. Use only 'fprintf' and 'multiline_warning' but not
'error' or 'multiline_error' to emit verbosity messages, because 'error'
and 'multiline_error' during PO file parsing cause the program to exit
with EXIT_FAILURE. See function lex_end(). */
extern int verbose;
+/* Data types for bulk operation mode. */
+typedef struct msgfmt_operand_ty msgfmt_operand_ty;
+struct msgfmt_operand_ty
+{
+ char *language;
+ message_list_ty *mlp;
+};
+
+typedef struct msgfmt_operand_list_ty msgfmt_operand_list_ty;
+struct msgfmt_operand_list_ty
+{
+ msgfmt_operand_ty *items;
+ size_t nitems;
+ size_t nitems_max;
+};
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _MSGFMT_H */
diff --git a/gettext-tools/src/msggrep.c b/gettext-tools/src/msggrep.c
index 73ccb94..b0cb87a 100644
--- a/gettext-tools/src/msggrep.c
+++ b/gettext-tools/src/msggrep.c
@@ -1,5 +1,6 @@
/* Extract some translations of a translation catalog.
- Copyright (C) 2001-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2010, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msginit.c b/gettext-tools/src/msginit.c
index 951aa2e..f85b83c 100644
--- a/gettext-tools/src/msginit.c
+++ b/gettext-tools/src/msginit.c
@@ -1,5 +1,5 @@
/* Initializes a new PO file.
- Copyright (C) 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -649,7 +649,7 @@ catalogname_for_locale (const char *locale)
"pa_IN", /* Punjabi India */
"pag_PH", /* Pangasinan Philippines */
"pam_PH", /* Pampanga Philippines */
- "pap_AN", /* Papiamento Netherlands Antilles */
+ "pap_AN", /* Papiamento Netherlands Antilles - this line can be removed in 2018 */
"pbb_CO", /* Páez Colombia */
"pl_PL", /* Polish Poland */
"ps_AF", /* Pashto Afghanistan */
@@ -676,7 +676,6 @@ catalogname_for_locale (const char *locale)
"so_SO", /* Somali Somalia */
"sq_AL", /* Albanian Albania */
"sr_RS", /* Serbian Serbia */
- "sr_YU", /* Serbian Yugoslavia - this line can be removed in 2010 */
"srr_SN", /* Serer Senegal */
"suk_TZ", /* Sukuma Tanzania */
"sus_GN", /* Susu Guinea */
@@ -1333,6 +1332,8 @@ content_transfer_encoding ()
static const char *
plural_forms ()
{
+ const char *gettextcldrdir;
+ char *prog = NULL;
size_t i;
/* Search for a formula depending on the catalogname. */
@@ -1345,6 +1346,85 @@ plural_forms ()
if (strcmp (plural_table[i].lang, language) == 0)
return plural_table[i].value;
+ gettextcldrdir = getenv ("GETTEXTCLDRDIR");
+ if (gettextcldrdir != NULL && gettextcldrdir[0] != '\0')
+ {
+ const char *gettextlibdir;
+ char *dirs[3], *last_dir;
+ char *argv[4];
+ pid_t child;
+ int fd[1];
+ FILE *fp;
+ char *line;
+ size_t linesize;
+ size_t linelen;
+ int exitstatus;
+
+ gettextlibdir = getenv ("GETTEXTLIBDIR");
+ if (gettextlibdir == NULL || gettextlibdir[0] == '\0')
+ gettextlibdir = relocate (LIBDIR "/gettext");
+
+ prog = xconcatenated_filename (gettextlibdir, "cldr-plurals", NULL);
+
+ last_dir = xstrdup (gettextcldrdir);
+ dirs[0] = "common";
+ dirs[1] = "supplemental";
+ dirs[2] = "plurals.xml";
+ for (i = 0; i < SIZEOF (dirs); i++)
+ {
+ char *dir = xconcatenated_filename (last_dir, dirs[i], NULL);
+ free (last_dir);
+ last_dir = dir;
+ }
+
+ /* Call the cldr-plurals command. */
+ argv[0] = "cldr-plurals";
+ argv[1] = (char *) language;
+ argv[2] = last_dir;
+ argv[3] = NULL;
+ child = create_pipe_in (prog, prog, argv, DEV_NULL,
+ false, true, false,
+ fd);
+ free (last_dir);
+ if (child == -1)
+ goto failed;
+
+ /* Retrieve its result. */
+ fp = fdopen (fd[0], "r");
+ if (fp == NULL)
+ {
+ error (0, errno, _("fdopen() failed"));
+ goto failed;
+ }
+
+ line = NULL; linesize = 0;
+ linelen = getline (&line, &linesize, fp);
+ if (linelen == (size_t)(-1))
+ {
+ error (0, 0, _("%s subprocess I/O error"), prog);
+ fclose (fp);
+ goto failed;
+ }
+ if (linelen > 0 && line[linelen - 1] == '\n')
+ line[linelen - 1] = '\0';
+
+ fclose (fp);
+
+ /* Remove zombie process from process list, and retrieve exit status. */
+ exitstatus = wait_subprocess (child, prog, false, false, true, false,
+ NULL);
+ if (exitstatus != 0)
+ {
+ error (0, 0, _("%s subprocess failed with exit code %d"),
+ prog, exitstatus);
+ goto failed;
+ }
+
+ return line;
+ }
+
+ failed:
+ free (prog);
return NULL;
}
diff --git a/gettext-tools/src/msgl-ascii.c b/gettext-tools/src/msgl-ascii.c
index e3ca953..c92e4df 100644
--- a/gettext-tools/src/msgl-ascii.c
+++ b/gettext-tools/src/msgl-ascii.c
@@ -1,5 +1,6 @@
/* Message list test for ASCII character set.
- Copyright (C) 2001-2002, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2006, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-ascii.h b/gettext-tools/src/msgl-ascii.h
index fee41a9..b6e09f9 100644
--- a/gettext-tools/src/msgl-ascii.h
+++ b/gettext-tools/src/msgl-ascii.h
@@ -1,5 +1,5 @@
/* Message list test for ASCII character set.
- Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-cat.c b/gettext-tools/src/msgl-cat.c
index 0bd58d4..dfedcb6 100644
--- a/gettext-tools/src/msgl-cat.c
+++ b/gettext-tools/src/msgl-cat.c
@@ -1,5 +1,6 @@
/* Message list concatenation and duplicate handling.
- Copyright (C) 2001-2003, 2005-2008, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2008, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -308,6 +309,8 @@ domain \"%s\" in input file '%s' doesn't contain a header entry with a charset s
tmp->range.min = - INT_MAX;
tmp->range.max = - INT_MAX;
tmp->do_wrap = yes; /* may be set to no later */
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ tmp->do_syntax_check[i] = undecided; /* may be set to yes/no later */
tmp->obsolete = true; /* may be set to false later */
tmp->alternative_count = 0;
tmp->alternative = NULL;
@@ -535,6 +538,8 @@ UTF-8 encoded from the beginning, i.e. already in your source code files.\n"),
tmp->is_format[i] = mp->is_format[i];
tmp->range = mp->range;
tmp->do_wrap = mp->do_wrap;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ tmp->do_syntax_check[i] = mp->do_syntax_check[i];
tmp->prev_msgctxt = mp->prev_msgctxt;
tmp->prev_msgid = mp->prev_msgid;
tmp->prev_msgid_plural = mp->prev_msgid_plural;
@@ -583,6 +588,9 @@ UTF-8 encoded from the beginning, i.e. already in your source code files.\n"),
}
if (tmp->do_wrap == undecided)
tmp->do_wrap = mp->do_wrap;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ if (tmp->do_syntax_check[i] == undecided)
+ tmp->do_syntax_check[i] = mp->do_syntax_check[i];
tmp->obsolete = false;
}
else
@@ -635,6 +643,12 @@ UTF-8 encoded from the beginning, i.e. already in your source code files.\n"),
}
if (mp->do_wrap == no)
tmp->do_wrap = no;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ if (mp->do_syntax_check[i] == yes)
+ tmp->do_syntax_check[i] = yes;
+ else if (mp->do_syntax_check[i] == no
+ && tmp->do_syntax_check[i] == undecided)
+ tmp->do_syntax_check[i] = no;
/* Don't fill tmp->prev_msgid in this case. */
if (!mp->obsolete)
tmp->obsolete = false;
diff --git a/gettext-tools/src/msgl-cat.h b/gettext-tools/src/msgl-cat.h
index 4de35d5..12a9f80 100644
--- a/gettext-tools/src/msgl-cat.h
+++ b/gettext-tools/src/msgl-cat.h
@@ -1,5 +1,5 @@
/* Message list concatenation and duplicate handling.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-charset.c b/gettext-tools/src/msgl-charset.c
index e8deb58..278d270 100644
--- a/gettext-tools/src/msgl-charset.c
+++ b/gettext-tools/src/msgl-charset.c
@@ -1,5 +1,6 @@
/* Message list charset and locale charset handling.
- Copyright (C) 2001-2003, 2005-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2007, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-charset.h b/gettext-tools/src/msgl-charset.h
index 647a394..c673d1d 100644
--- a/gettext-tools/src/msgl-charset.h
+++ b/gettext-tools/src/msgl-charset.h
@@ -1,5 +1,5 @@
/* Message list charset and locale charset handling.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-check.c b/gettext-tools/src/msgl-check.c
index d6f4a3d..7934120 100644
--- a/gettext-tools/src/msgl-check.c
+++ b/gettext-tools/src/msgl-check.c
@@ -1,5 +1,6 @@
/* Checking of messages in PO files.
- Copyright (C) 1995-1998, 2000-2008, 2010-2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2008, 2010-2015 Free Software
+ Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
@@ -40,6 +41,10 @@
#include "plural-table.h"
#include "c-strstr.h"
#include "message.h"
+#include "quote.h"
+#include "sentence.h"
+#include "unictype.h"
+#include "unistr.h"
#include "gettext.h"
#define _(str) gettext (str)
@@ -912,3 +917,204 @@ check_message_list (message_list_ty *mlp,
return seen_errors;
}
+
+
+static int
+syntax_check_ellipsis_unicode (const message_ty *mp, const char *msgid)
+{
+ const char *str = msgid;
+ const char *str_limit = str + strlen (msgid);
+ int seen_errors = 0;
+
+ while (str < str_limit)
+ {
+ const char *end, *cp;
+ ucs4_t ending_char;
+
+ end = sentence_end (str, &ending_char);
+
+ /* sentence_end doesn't treat '...' specially. */
+ cp = end - (ending_char == '.' ? 2 : 3);
+ if (cp >= str && memcmp (cp, "...", 3) == 0)
+ {
+ po_xerror (PO_SEVERITY_ERROR, mp, NULL, 0, 0, false,
+ _("ASCII ellipsis ('...') instead of Unicode"));
+ seen_errors++;
+ }
+
+ str = end + 1;
+ }
+
+ return seen_errors;
+}
+
+
+static int
+syntax_check_space_ellipsis (const message_ty *mp, const char *msgid)
+{
+ const char *str = msgid;
+ const char *str_limit = str + strlen (msgid);
+ int seen_errors = 0;
+
+ while (str < str_limit)
+ {
+ const char *end, *ellipsis = NULL;
+ ucs4_t ending_char;
+
+ end = sentence_end (str, &ending_char);
+
+ if (ending_char == 0x2026)
+ ellipsis = end;
+ else if (ending_char == '.')
+ {
+ /* sentence_end doesn't treat '...' specially. */
+ const char *cp = end - 2;
+ if (cp >= str && memcmp (cp, "...", 3) == 0)
+ ellipsis = cp;
+ }
+ else
+ {
+ /* Look for a '...'. */
+ const char *cp = end - 3;
+ if (cp >= str && memcmp (cp, "...", 3) == 0)
+ ellipsis = cp;
+ else
+ {
+ ucs4_t uc = 0xfffd;
+
+ /* Look for a U+2026. */
+ for (cp = end - 1; cp >= str; cp--)
+ {
+ u8_mbtouc (&uc, (const unsigned char *) cp, ellipsis - cp);
+ if (uc != 0xfffd)
+ break;
+ }
+
+ if (uc == 0x2026)
+ ellipsis = cp;
+ }
+ }
+
+ if (ellipsis)
+ {
+ const char *cp;
+ ucs4_t uc = 0xfffd;
+
+ /* Look at the character before ellipsis. */
+ for (cp = ellipsis - 1; cp >= str; cp--)
+ {
+ u8_mbtouc (&uc, (const unsigned char *) cp, ellipsis - cp);
+ if (uc != 0xfffd)
+ break;
+ }
+
+ if (uc != 0xfffd && uc_is_space (uc))
+ {
+ po_xerror (PO_SEVERITY_ERROR, mp, NULL, 0, 0, false,
+ _("\
+space before ellipsis found in user visible strings"));
+ seen_errors++;
+ }
+ }
+
+ str = end + 1;
+ }
+
+ return seen_errors;
+}
+
+
+struct callback_arg
+{
+ const message_ty *mp;
+ int seen_errors;
+};
+
+static void
+syntax_check_quote_unicode_callback (char quote, const char *quoted,
+ size_t quoted_length, void *data)
+{
+ struct callback_arg *arg = data;
+
+ switch (quote)
+ {
+ case '"':
+ po_xerror (PO_SEVERITY_ERROR, arg->mp, NULL, 0, 0, false,
+ _("ASCII double quote used instead of Unicode"));
+ arg->seen_errors++;
+ break;
+
+ case '\'':
+ po_xerror (PO_SEVERITY_ERROR, arg->mp, NULL, 0, 0, false,
+ _("ASCII single quote used instead of Unicode"));
+ arg->seen_errors++;
+ break;
+
+ default:
+ break;
+ }
+}
+
+static int
+syntax_check_quote_unicode (const message_ty *mp, const char *msgid)
+{
+ struct callback_arg arg;
+
+ arg.mp = mp;
+ arg.seen_errors = 0;
+
+ scan_quoted (msgid, strlen (msgid),
+ syntax_check_quote_unicode_callback, &arg);
+
+ return arg.seen_errors;
+}
+
+
+typedef int (* syntax_check_function) (const message_ty *mp, const char *msgid);
+static const syntax_check_function sc_funcs[NSYNTAXCHECKS] =
+{
+ syntax_check_ellipsis_unicode,
+ syntax_check_space_ellipsis,
+ syntax_check_quote_unicode
+};
+
+/* Perform all syntax checks on a non-obsolete message.
+ Return the number of errors that were seen. */
+static int
+syntax_check_message (const message_ty *mp)
+{
+ int seen_errors = 0;
+ int i;
+
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ {
+ if (mp->do_syntax_check[i] == yes)
+ {
+ seen_errors += sc_funcs[i] (mp, mp->msgid);
+ if (mp->msgid_plural)
+ seen_errors += sc_funcs[i] (mp, mp->msgid_plural);
+ }
+ }
+
+ return seen_errors;
+}
+
+
+/* Perform all syntax checks on a message list.
+ Return the number of errors that were seen. */
+int
+syntax_check_message_list (message_list_ty *mlp)
+{
+ int seen_errors = 0;
+ size_t j;
+
+ for (j = 0; j < mlp->nitems; j++)
+ {
+ message_ty *mp = mlp->item[j];
+
+ if (!is_header (mp))
+ seen_errors += syntax_check_message (mp);
+ }
+
+ return seen_errors;
+}
diff --git a/gettext-tools/src/msgl-check.h b/gettext-tools/src/msgl-check.h
index f03300c..cfb86fb 100644
--- a/gettext-tools/src/msgl-check.h
+++ b/gettext-tools/src/msgl-check.h
@@ -1,5 +1,5 @@
/* Checking of messages in PO files.
- Copyright (C) 2005, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008, 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software: you can redistribute it and/or modify
@@ -60,6 +60,9 @@ extern int check_message_list (message_list_ty *mlp,
int check_compatibility,
int check_accelerators, char accelerator_char);
+/* Perform all syntax checks on a message list.
+ Return the number of errors that were seen. */
+extern int syntax_check_message_list (message_list_ty *mlp);
#ifdef __cplusplus
}
diff --git a/gettext-tools/src/msgl-english.c b/gettext-tools/src/msgl-english.c
index 69d95a9..6304504 100644
--- a/gettext-tools/src/msgl-english.c
+++ b/gettext-tools/src/msgl-english.c
@@ -1,5 +1,5 @@
/* Message translation initialization for English.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-english.h b/gettext-tools/src/msgl-english.h
index ec77d2a..ce0af6b 100644
--- a/gettext-tools/src/msgl-english.h
+++ b/gettext-tools/src/msgl-english.h
@@ -1,5 +1,5 @@
/* Message translation initialization for English.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-equal.c b/gettext-tools/src/msgl-equal.c
index 3c9efad..fd28d01 100644
--- a/gettext-tools/src/msgl-equal.c
+++ b/gettext-tools/src/msgl-equal.c
@@ -1,5 +1,6 @@
/* Message list test for equality.
- Copyright (C) 2001-2002, 2005-2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2006, 2008, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-equal.h b/gettext-tools/src/msgl-equal.h
index 6497a7f..07f052e 100644
--- a/gettext-tools/src/msgl-equal.h
+++ b/gettext-tools/src/msgl-equal.h
@@ -1,5 +1,5 @@
/* Message list test for equality.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-fsearch.c b/gettext-tools/src/msgl-fsearch.c
index d2aa865..5e087e2 100644
--- a/gettext-tools/src/msgl-fsearch.c
+++ b/gettext-tools/src/msgl-fsearch.c
@@ -1,5 +1,5 @@
/* Fast fuzzy searching among messages.
- Copyright (C) 2006, 2008, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008, 2011, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-fsearch.h b/gettext-tools/src/msgl-fsearch.h
index c523d93..825e2a8 100644
--- a/gettext-tools/src/msgl-fsearch.h
+++ b/gettext-tools/src/msgl-fsearch.h
@@ -1,5 +1,5 @@
/* Fast fuzzy searching among messages.
- Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-header.c b/gettext-tools/src/msgl-header.c
index d1dafdb..d5f6a88 100644
--- a/gettext-tools/src/msgl-header.c
+++ b/gettext-tools/src/msgl-header.c
@@ -1,5 +1,5 @@
/* Message list header manipulation.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-header.h b/gettext-tools/src/msgl-header.h
index f26b1a8..6dc1779 100644
--- a/gettext-tools/src/msgl-header.h
+++ b/gettext-tools/src/msgl-header.h
@@ -1,5 +1,5 @@
/* Message list header manipulation.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-iconv.c b/gettext-tools/src/msgl-iconv.c
index 958455b..06a961f 100644
--- a/gettext-tools/src/msgl-iconv.c
+++ b/gettext-tools/src/msgl-iconv.c
@@ -1,5 +1,6 @@
/* Message list charset and locale charset handling.
- Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgl-iconv.h b/gettext-tools/src/msgl-iconv.h
index 5a7fc00..ab61a5b 100644
--- a/gettext-tools/src/msgl-iconv.h
+++ b/gettext-tools/src/msgl-iconv.h
@@ -1,5 +1,6 @@
/* Message list character set conversion.
- Copyright (C) 2001-2003, 2005-2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2006, 2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c
index d8e02ae..50faf2d 100644
--- a/gettext-tools/src/msgmerge.c
+++ b/gettext-tools/src/msgmerge.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2010, 2012, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
This program is free software: you can redistribute it and/or modify
@@ -1025,8 +1026,9 @@ message_merge (message_ty *def, message_ty *ref, bool force_fuzzy,
char *extended =
(char *) obstack_alloc (&pool,
header_fields[UNKNOWN].len + len + 1);
- memcpy (extended, header_fields[UNKNOWN].string,
- header_fields[UNKNOWN].len);
+ if (header_fields[UNKNOWN].string)
+ memcpy (extended, header_fields[UNKNOWN].string,
+ header_fields[UNKNOWN].len);
memcpy (&extended[header_fields[UNKNOWN].len], cp, len);
extended[header_fields[UNKNOWN].len + len] = '\0';
header_fields[UNKNOWN].string = extended;
@@ -1329,6 +1331,9 @@ message_merge (message_ty *def, message_ty *ref, bool force_fuzzy,
result->do_wrap = ref->do_wrap;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ result->do_syntax_check[i] = ref->do_syntax_check[i];
+
/* Insert previous msgid, commented out with "#|".
Do so only when --previous is specified, for backward compatibility.
Since the "previous msgid" represents the original msgid that led to
diff --git a/gettext-tools/src/msgunfmt.c b/gettext-tools/src/msgunfmt.c
index 1e6dbd2..c5163be 100644
--- a/gettext-tools/src/msgunfmt.c
+++ b/gettext-tools/src/msgunfmt.c
@@ -1,5 +1,6 @@
/* msgunfmt - converts binary .mo files to Uniforum style .po files
- Copyright (C) 1995-1998, 2000-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2007, 2009-2010, 2012, 2015 Free
+ Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgunfmt.cs b/gettext-tools/src/msgunfmt.cs
index 28a66b8..e0e8874 100644
--- a/gettext-tools/src/msgunfmt.cs
+++ b/gettext-tools/src/msgunfmt.cs
@@ -1,5 +1,5 @@
/* GNU gettext for C#
- * Copyright (C) 2003-2004, 2007 Free Software Foundation, Inc.
+ * Copyright (C) 2003-2004, 2007, 2015 Free Software Foundation, Inc.
* Written by Bruno Haible <bruno@clisp.org>, 2003.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgunfmt.h b/gettext-tools/src/msgunfmt.h
index d1d79ec..fc0a505 100644
--- a/gettext-tools/src/msgunfmt.h
+++ b/gettext-tools/src/msgunfmt.h
@@ -1,5 +1,6 @@
/* msgunfmt specifics
- Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2001, 2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/msgunfmt.tcl b/gettext-tools/src/msgunfmt.tcl
index 11c1d6f..2eadbc5 100644
--- a/gettext-tools/src/msgunfmt.tcl
+++ b/gettext-tools/src/msgunfmt.tcl
@@ -1,5 +1,5 @@
# Reading tcl/msgcat .msg files.
-# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/src/msguniq.c b/gettext-tools/src/msguniq.c
index 24f4c31..0a81d1e 100644
--- a/gettext-tools/src/msguniq.c
+++ b/gettext-tools/src/msguniq.c
@@ -1,5 +1,6 @@
/* Remove, select or merge duplicate translations.
- Copyright (C) 2001-2007, 2009-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2010, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/open-catalog.c b/gettext-tools/src/open-catalog.c
index 27eed90..ed87010 100644
--- a/gettext-tools/src/open-catalog.c
+++ b/gettext-tools/src/open-catalog.c
@@ -1,5 +1,6 @@
/* open-po - search for .po file along search path list and open for reading
- Copyright (C) 1995-1996, 2000-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2000-2003, 2005-2009, 2015 Free Software
+ Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/open-catalog.h b/gettext-tools/src/open-catalog.h
index 503371d..282c200 100644
--- a/gettext-tools/src/open-catalog.h
+++ b/gettext-tools/src/open-catalog.h
@@ -1,5 +1,6 @@
/* Opening PO files.
- Copyright (C) 1995-1997, 2000-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 2000-2003, 2006, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/src/plural-count.c b/gettext-tools/src/plural-count.c
index 3fd8838..802ba5e 100644
--- a/gettext-tools/src/plural-count.c
+++ b/gettext-tools/src/plural-count.c
@@ -1,5 +1,5 @@
/* Plural form count.
- Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-count.h b/gettext-tools/src/plural-count.h
index 14eccf9..9b86a17 100644
--- a/gettext-tools/src/plural-count.h
+++ b/gettext-tools/src/plural-count.h
@@ -1,5 +1,5 @@
/* Plural form count.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-distrib.h b/gettext-tools/src/plural-distrib.h
index 4376f9f..d7d2493 100644
--- a/gettext-tools/src/plural-distrib.h
+++ b/gettext-tools/src/plural-distrib.h
@@ -1,5 +1,5 @@
/* Value distribution of plural form expressions.
- Copyright (C) 2001-2008 Free Software Foundation, Inc.
+ Copyright (C) 2001-2008, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001-2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-eval.c b/gettext-tools/src/plural-eval.c
index 6c63d4e..b2ab856 100644
--- a/gettext-tools/src/plural-eval.c
+++ b/gettext-tools/src/plural-eval.c
@@ -1,5 +1,5 @@
/* Expression evaluation for plural form selection.
- Copyright (C) 2000-2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2005, 2015 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-eval.h b/gettext-tools/src/plural-eval.h
index b64c079..e480a9b 100644
--- a/gettext-tools/src/plural-eval.h
+++ b/gettext-tools/src/plural-eval.h
@@ -1,5 +1,5 @@
/* Expression evaluation for plural form selection.
- Copyright (C) 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-exp.c b/gettext-tools/src/plural-exp.c
index d3f4b5f..eb57ce1 100644
--- a/gettext-tools/src/plural-exp.c
+++ b/gettext-tools/src/plural-exp.c
@@ -1,5 +1,5 @@
/* Expression parsing for plural form selection.
- Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2003, 2015 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-table.c b/gettext-tools/src/plural-table.c
index 556cbcc..25c0bd6 100644
--- a/gettext-tools/src/plural-table.c
+++ b/gettext-tools/src/plural-table.c
@@ -1,5 +1,6 @@
/* Table of known plural form expressions.
- Copyright (C) 2001-2006, 2009-2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2006, 2009-2010, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/plural-table.h b/gettext-tools/src/plural-table.h
index 6af9bf6..7c82480 100644
--- a/gettext-tools/src/plural-table.h
+++ b/gettext-tools/src/plural-table.h
@@ -1,5 +1,5 @@
/* Table of known plural form expressions.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-charset.c b/gettext-tools/src/po-charset.c
index 4c0dcdb..2f8bae4 100644
--- a/gettext-tools/src/po-charset.c
+++ b/gettext-tools/src/po-charset.c
@@ -1,5 +1,5 @@
/* Charset handling while reading PO files.
- Copyright (C) 2001-2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-charset.h b/gettext-tools/src/po-charset.h
index 65798e7..60484e0 100644
--- a/gettext-tools/src/po-charset.h
+++ b/gettext-tools/src/po-charset.h
@@ -1,5 +1,5 @@
/* Charset handling while reading PO files.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-error.c b/gettext-tools/src/po-error.c
index 067264a..565b9ed 100644
--- a/gettext-tools/src/po-error.c
+++ b/gettext-tools/src/po-error.c
@@ -1,5 +1,5 @@
/* Error handling during reading and writing of PO files.
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2004.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-error.h b/gettext-tools/src/po-error.h
index 036a69b..b4eb500 100644
--- a/gettext-tools/src/po-error.h
+++ b/gettext-tools/src/po-error.h
@@ -1,5 +1,5 @@
/* Error handling during reading and writing of PO files.
- Copyright (C) 2004, 2006, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2012, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2004.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-gram-gen.c b/gettext-tools/src/po-gram-gen.c
index 655684e..b3977f5 100644
--- a/gettext-tools/src/po-gram-gen.c
+++ b/gettext-tools/src/po-gram-gen.c
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.2. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
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
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.0.2"
+#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -62,7 +62,7 @@
/* Copy the first part of user declarations. */
-#line 19 "po-gram-gen.y" /* yacc.c:339 */
+#line 20 "po-gram-gen.y" /* yacc.c:339 */
#ifdef HAVE_CONFIG_H
# include "config.h"
@@ -238,10 +238,10 @@ extern int yydebug;
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
+
union YYSTYPE
{
-#line 143 "po-gram-gen.y" /* yacc.c:355 */
+#line 144 "po-gram-gen.y" /* yacc.c:355 */
struct { char *string; lex_pos_ty pos; bool obsolete; } string;
struct { string_list_ty stringlist; lex_pos_ty pos; bool obsolete; } stringlist;
@@ -253,6 +253,8 @@ union YYSTYPE
#line 255 "po-gram-gen.c" /* yacc.c:355 */
};
+
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
@@ -266,7 +268,7 @@ int yyparse (void);
/* Copy the second part of user declarations. */
-#line 270 "po-gram-gen.c" /* yacc.c:358 */
+#line 272 "po-gram-gen.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -565,10 +567,10 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 168, 168, 170, 171, 172, 173, 178, 186, 194,
- 215, 239, 248, 257, 268, 277, 291, 300, 314, 320,
- 331, 337, 349, 360, 371, 375, 390, 413, 421, 433,
- 441
+ 0, 169, 169, 171, 172, 173, 174, 179, 187, 195,
+ 216, 240, 249, 258, 269, 278, 292, 301, 315, 321,
+ 332, 338, 350, 361, 372, 376, 391, 414, 422, 434,
+ 442
};
#endif
@@ -1368,23 +1370,23 @@ yyreduce:
switch (yyn)
{
case 7:
-#line 179 "po-gram-gen.y" /* yacc.c:1646 */
+#line 180 "po-gram-gen.y" /* yacc.c:1646 */
{
po_callback_comment_dispatcher ((yyvsp[0].string).string);
}
-#line 1376 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1378 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 8:
-#line 187 "po-gram-gen.y" /* yacc.c:1646 */
+#line 188 "po-gram-gen.y" /* yacc.c:1646 */
{
po_callback_domain ((yyvsp[0].string).string);
}
-#line 1384 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1386 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 9:
-#line 195 "po-gram-gen.y" /* yacc.c:1646 */
+#line 196 "po-gram-gen.y" /* yacc.c:1646 */
{
char *string2 = string_list_concat_destroy (&(yyvsp[-2].stringlist).stringlist);
char *string4 = string_list_concat_destroy (&(yyvsp[0].stringlist).stringlist);
@@ -1405,11 +1407,11 @@ yyreduce:
free (string4);
}
}
-#line 1409 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1411 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 10:
-#line 216 "po-gram-gen.y" /* yacc.c:1646 */
+#line 217 "po-gram-gen.y" /* yacc.c:1646 */
{
char *string2 = string_list_concat_destroy (&(yyvsp[-2].stringlist).stringlist);
@@ -1433,11 +1435,11 @@ yyreduce:
free ((yyvsp[0].rhs).rhs.msgstr);
}
}
-#line 1437 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1439 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 11:
-#line 240 "po-gram-gen.y" /* yacc.c:1646 */
+#line 241 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].string));
@@ -1446,11 +1448,11 @@ yyreduce:
string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
free ((yyvsp[0].string).string);
}
-#line 1450 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1452 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 12:
-#line 249 "po-gram-gen.y" /* yacc.c:1646 */
+#line 250 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].rhs));
@@ -1459,22 +1461,22 @@ yyreduce:
string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
free ((yyvsp[0].rhs).rhs.msgstr);
}
-#line 1463 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1465 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 13:
-#line 258 "po-gram-gen.y" /* yacc.c:1646 */
+#line 259 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].message_intro), (yyvsp[0].stringlist));
po_gram_error_at_line (&(yyvsp[-1].message_intro).pos, _("missing 'msgstr' section"));
free_message_intro ((yyvsp[-1].message_intro));
string_list_destroy (&(yyvsp[0].stringlist).stringlist);
}
-#line 1474 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1476 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 14:
-#line 269 "po-gram-gen.y" /* yacc.c:1646 */
+#line 270 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.message_intro).prev_ctxt = NULL;
(yyval.message_intro).prev_id = NULL;
@@ -1483,11 +1485,11 @@ yyreduce:
(yyval.message_intro).pos = (yyvsp[0].string).pos;
(yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1487 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1489 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 15:
-#line 278 "po-gram-gen.y" /* yacc.c:1646 */
+#line 279 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].prev), (yyvsp[0].string));
(yyval.message_intro).prev_ctxt = (yyvsp[-1].prev).ctxt;
@@ -1497,11 +1499,11 @@ yyreduce:
(yyval.message_intro).pos = (yyvsp[0].string).pos;
(yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1501 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1503 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 16:
-#line 292 "po-gram-gen.y" /* yacc.c:1646 */
+#line 293 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].string), (yyvsp[0].stringlist));
(yyval.prev).ctxt = (yyvsp[-1].string).string;
@@ -1510,11 +1512,11 @@ yyreduce:
(yyval.prev).pos = (yyvsp[-1].string).pos;
(yyval.prev).obsolete = (yyvsp[-1].string).obsolete;
}
-#line 1514 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1516 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 17:
-#line 301 "po-gram-gen.y" /* yacc.c:1646 */
+#line 302 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].string), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].string), (yyvsp[0].string));
@@ -1524,21 +1526,21 @@ yyreduce:
(yyval.prev).pos = (yyvsp[-2].string).pos;
(yyval.prev).obsolete = (yyvsp[-2].string).obsolete;
}
-#line 1528 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1530 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 18:
-#line 315 "po-gram-gen.y" /* yacc.c:1646 */
+#line 316 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.string).string = NULL;
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1538 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1540 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 19:
-#line 321 "po-gram-gen.y" /* yacc.c:1646 */
+#line 322 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
@@ -1546,21 +1548,21 @@ yyreduce:
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1550 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1552 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 20:
-#line 332 "po-gram-gen.y" /* yacc.c:1646 */
+#line 333 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.string).string = NULL;
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1560 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1562 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 21:
-#line 338 "po-gram-gen.y" /* yacc.c:1646 */
+#line 339 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
@@ -1568,11 +1570,11 @@ yyreduce:
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1572 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1574 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 22:
-#line 350 "po-gram-gen.y" /* yacc.c:1646 */
+#line 351 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
plural_counter = 0;
@@ -1580,30 +1582,30 @@ yyreduce:
(yyval.string).pos = (yyvsp[-1].pos).pos;
(yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
}
-#line 1584 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1586 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 23:
-#line 361 "po-gram-gen.y" /* yacc.c:1646 */
+#line 362 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
(yyval.string).string = string_list_concat_destroy (&(yyvsp[0].stringlist).stringlist);
(yyval.string).pos = (yyvsp[-1].pos).pos;
(yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
}
-#line 1595 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1597 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 24:
-#line 372 "po-gram-gen.y" /* yacc.c:1646 */
+#line 373 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.rhs) = (yyvsp[0].rhs);
}
-#line 1603 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1605 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 25:
-#line 376 "po-gram-gen.y" /* yacc.c:1646 */
+#line 377 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].rhs), (yyvsp[0].rhs));
(yyval.rhs).rhs.msgstr = XNMALLOC ((yyvsp[-1].rhs).rhs.msgstr_len + (yyvsp[0].rhs).rhs.msgstr_len, char);
@@ -1615,11 +1617,11 @@ yyreduce:
(yyval.rhs).pos = (yyvsp[-1].rhs).pos;
(yyval.rhs).obsolete = (yyvsp[-1].rhs).obsolete;
}
-#line 1619 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1621 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 26:
-#line 391 "po-gram-gen.y" /* yacc.c:1646 */
+#line 392 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-4].pos), (yyvsp[-3].pos));
check_obsolete ((yyvsp[-4].pos), (yyvsp[-2].number));
@@ -1638,11 +1640,11 @@ yyreduce:
(yyval.rhs).pos = (yyvsp[-4].pos).pos;
(yyval.rhs).obsolete = (yyvsp[-4].pos).obsolete;
}
-#line 1642 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1644 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 27:
-#line 414 "po-gram-gen.y" /* yacc.c:1646 */
+#line 415 "po-gram-gen.y" /* yacc.c:1646 */
{
string_list_init (&(yyval.stringlist).stringlist);
string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
@@ -1650,11 +1652,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[0].string).pos;
(yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1654 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1656 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 28:
-#line 422 "po-gram-gen.y" /* yacc.c:1646 */
+#line 423 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
(yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
@@ -1663,11 +1665,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
(yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
}
-#line 1667 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1669 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 29:
-#line 434 "po-gram-gen.y" /* yacc.c:1646 */
+#line 435 "po-gram-gen.y" /* yacc.c:1646 */
{
string_list_init (&(yyval.stringlist).stringlist);
string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
@@ -1675,11 +1677,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[0].string).pos;
(yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1679 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1681 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 30:
-#line 442 "po-gram-gen.y" /* yacc.c:1646 */
+#line 443 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
(yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
@@ -1688,11 +1690,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
(yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
}
-#line 1692 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1694 "po-gram-gen.c" /* yacc.c:1646 */
break;
-#line 1696 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1698 "po-gram-gen.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
diff --git a/gettext-tools/src/po-gram-gen.h b/gettext-tools/src/po-gram-gen.h
index 3f20e75..97089df 100644
--- a/gettext-tools/src/po-gram-gen.h
+++ b/gettext-tools/src/po-gram-gen.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.2. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
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
@@ -79,10 +79,10 @@ extern int yydebug;
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
+
union YYSTYPE
{
-#line 143 "po-gram-gen.y" /* yacc.c:1909 */
+#line 144 "po-gram-gen.y" /* yacc.c:1909 */
struct { char *string; lex_pos_ty pos; bool obsolete; } string;
struct { string_list_ty stringlist; lex_pos_ty pos; bool obsolete; } stringlist;
@@ -94,6 +94,8 @@ union YYSTYPE
#line 96 "po-gram-gen.h" /* yacc.c:1909 */
};
+
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
diff --git a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y
index 8f888bd..0a34068 100644
--- a/gettext-tools/src/po-gram-gen.y
+++ b/gettext-tools/src/po-gram-gen.y
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1996, 1998, 2000-2001, 2003, 2005-2006, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 1998, 2000-2001, 2003, 2005-2006, 2012, 2015
+ Free Software Foundation, Inc.
This file was written by Peter Miller <pmiller@agso.gov.au>
diff --git a/gettext-tools/src/po-gram-gen2.h b/gettext-tools/src/po-gram-gen2.h
index 36e9f4b..683ccbf 100644
--- a/gettext-tools/src/po-gram-gen2.h
+++ b/gettext-tools/src/po-gram-gen2.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.2. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
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
@@ -79,10 +79,10 @@ extern DLL_VARIABLE int po_gram_debug;
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
+
union YYSTYPE
{
-#line 143 "po-gram-gen.y" /* yacc.c:1909 */
+#line 144 "po-gram-gen.y" /* yacc.c:1909 */
struct { char *string; lex_pos_ty pos; bool obsolete; } string;
struct { string_list_ty stringlist; lex_pos_ty pos; bool obsolete; } stringlist;
@@ -94,6 +94,8 @@ union YYSTYPE
#line 96 "po-gram-gen.h" /* yacc.c:1909 */
};
+
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
diff --git a/gettext-tools/src/po-gram.h b/gettext-tools/src/po-gram.h
index 0e2d079..4c8787e 100644
--- a/gettext-tools/src/po-gram.h
+++ b/gettext-tools/src/po-gram.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995, 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2002-2003, 2006, 2015 Free Software Foundation,
+ Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/po-lex.c b/gettext-tools/src/po-lex.c
index 3bf5449..a48f59a 100644
--- a/gettext-tools/src/po-lex.c
+++ b/gettext-tools/src/po-lex.c
@@ -1,5 +1,5 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1999, 2000-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-2009, 2011, 2015 Free Software Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>.
Multibyte character handling by Bruno Haible <haible@clisp.cons.org>.
diff --git a/gettext-tools/src/po-lex.h b/gettext-tools/src/po-lex.h
index da05f38..257e61a 100644
--- a/gettext-tools/src/po-lex.h
+++ b/gettext-tools/src/po-lex.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2006, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2006, 2012, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/po-time.c b/gettext-tools/src/po-time.c
index dd357f1..5147389 100644
--- a/gettext-tools/src/po-time.c
+++ b/gettext-tools/src/po-time.c
@@ -1,5 +1,6 @@
/* PO/POT file timestamps.
- Copyright (C) 1995-1998, 2000-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2006, 2015 Free Software
+ Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-time.h b/gettext-tools/src/po-time.h
index 846dea0..4c63006 100644
--- a/gettext-tools/src/po-time.h
+++ b/gettext-tools/src/po-time.h
@@ -1,5 +1,5 @@
/* PO/POT file timestamps.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-xerror.c b/gettext-tools/src/po-xerror.c
index 8a889d8..f58d2bd 100644
--- a/gettext-tools/src/po-xerror.c
+++ b/gettext-tools/src/po-xerror.c
@@ -1,5 +1,5 @@
/* Error handling during reading and writing of PO files.
- Copyright (C) 2005-2007 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/po-xerror.h b/gettext-tools/src/po-xerror.h
index 521ec3f..0493de9 100644
--- a/gettext-tools/src/po-xerror.h
+++ b/gettext-tools/src/po-xerror.h
@@ -1,5 +1,5 @@
/* Error handling during reading and writing of PO files.
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/pos.h b/gettext-tools/src/pos.h
index 684986e..9c57290 100644
--- a/gettext-tools/src/pos.h
+++ b/gettext-tools/src/pos.h
@@ -1,5 +1,6 @@
/* Source file positions.
- Copyright (C) 1995-1998, 2000-2001 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2001, 2015 Free Software Foundation,
+ Inc.
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
diff --git a/gettext-tools/src/project-id b/gettext-tools/src/project-id
index e60c8e3..103f91f 100755
--- a/gettext-tools/src/project-id
+++ b/gettext-tools/src/project-id
@@ -1,7 +1,7 @@
#!/bin/sh
# Prints a package's identification PACKAGE VERSION or PACKAGE.
#
-# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/src/quote.h b/gettext-tools/src/quote.h
new file mode 100644
index 0000000..df8cde2
--- /dev/null
+++ b/gettext-tools/src/quote.h
@@ -0,0 +1,142 @@
+/* Handle quoted segments of a string.
+ Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _QUOTE_H
+#define _QUOTE_H
+
+#include <stdbool.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+static void
+scan_quoted (const char *input, size_t length,
+ void (* callback) (char quote, const char *quoted,
+ size_t quoted_length,
+ void *data),
+ void *data)
+{
+ const char *p, *start, *end;
+ bool seen_opening;
+
+ /* START shall point to the beginning of a quoted segment, END
+ points to the end of the entire input string. */
+ start = input;
+ end = &input[length - 1];
+
+ /* True if we have seen a character which could be an opening
+ quotation mark. Note that we can't determine if it is really an
+ opening quotation mark until we see a closing quotation mark. */
+ seen_opening = false;
+
+ for (p = start; p <= end; p++)
+ {
+ switch (*p)
+ {
+ case '"':
+ if (seen_opening)
+ {
+ if (*start == '"')
+ {
+ if (p == start + 1)
+ /* Consider "" as "". */
+ callback ('\0', "\"\"", 2, data);
+ else
+ /* "..." */
+ callback ('"', start + 1, p - (start + 1), data);
+
+ start = p + 1;
+ seen_opening = false;
+ }
+ }
+ else
+ {
+ callback ('\0', start, p - start, data);
+ start = p;
+ seen_opening = true;
+ }
+ break;
+
+ case '`':
+ if (seen_opening)
+ {
+ if (*start == '`')
+ {
+ callback ('\0', start, p - start, data);
+ start = p;
+ }
+ }
+ else
+ {
+ callback ('\0', start, p - start, data);
+ start = p;
+ seen_opening = true;
+ }
+ break;
+
+ case '\'':
+ if (seen_opening)
+ {
+ if (/* `...' */
+ *start == '`'
+ /* '...', where
+ - The left quote is preceded by a space, and the
+ right quote is followed by a space.
+ - The left quote is preceded by a space, and the
+ right quote is at the end of line.
+ - The left quote is at the beginning of the line, and
+ the right quote is followed by a space. */
+ || (*start == '\''
+ && (((start > input && *(start - 1) == ' ')
+ && (p == end || *(p + 1) == '\n' || *(p + 1) == ' '))
+ || ((start == input || *(start - 1) == '\n')
+ && p < end && *(p + 1) == ' '))))
+ {
+ callback ('\'', start + 1, p - (start + 1), data);
+ start = p + 1;
+ }
+ else
+ {
+ callback ('\0', start, p - start, data);
+ start = p;
+ }
+ seen_opening = false;
+ }
+ else if (p == input || *(p - 1) == '\n' || *(p - 1) == ' ')
+ {
+ callback ('\0', start, p - start, data);
+ start = p;
+ seen_opening = true;
+ }
+ break;
+ }
+ }
+
+ /* Copy the rest. */
+ if (p > start)
+ callback ('\0', start, p - start, data);
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _QUOTE_H */
diff --git a/gettext-tools/src/read-catalog-abstract.c b/gettext-tools/src/read-catalog-abstract.c
index d4e98ee..eaa624b 100644
--- a/gettext-tools/src/read-catalog-abstract.c
+++ b/gettext-tools/src/read-catalog-abstract.c
@@ -1,5 +1,6 @@
/* Reading PO files, abstract class.
- Copyright (C) 1995-1996, 1998, 2000-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 1998, 2000-2009, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
@@ -262,7 +263,8 @@ po_callback_comment_special (const char *s)
void
po_parse_comment_special (const char *s,
bool *fuzzyp, enum is_format formatp[NFORMATS],
- struct argument_range *rangep, enum is_wrap *wrapp)
+ struct argument_range *rangep, enum is_wrap *wrapp,
+ enum is_syntax_check scp[NSYNTAXCHECKS])
{
size_t i;
@@ -272,6 +274,8 @@ po_parse_comment_special (const char *s,
rangep->min = -1;
rangep->max = -1;
*wrapp = undecided;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ scp[i] = undecided;
while (*s != '\0')
{
@@ -405,6 +409,36 @@ po_parse_comment_special (const char *s,
continue;
}
+ /* Accept syntax check description. */
+ if (len >= 6 && memcmp (t + len - 6, "-check", 6) == 0)
+ {
+ const char *p;
+ size_t n;
+ enum is_syntax_check value;
+
+ p = t;
+ n = len - 6;
+
+ if (n >= 3 && memcmp (p, "no-", 3) == 0)
+ {
+ p += 3;
+ n -= 3;
+ value = no;
+ }
+ else
+ value = yes;
+
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ if (strlen (syntax_check_name[i]) == n
+ && memcmp (syntax_check_name[i], p, n) == 0)
+ {
+ scp[i] = value;
+ break;
+ }
+ if (i < NSYNTAXCHECKS)
+ continue;
+ }
+
/* Unknown special comment marker. It may have been generated
from a future xgettext version. Ignore it. */
}
diff --git a/gettext-tools/src/read-catalog-abstract.h b/gettext-tools/src/read-catalog-abstract.h
index c3fc84f..7f6dbfa 100644
--- a/gettext-tools/src/read-catalog-abstract.h
+++ b/gettext-tools/src/read-catalog-abstract.h
@@ -1,5 +1,6 @@
/* Reading PO files, abstract class.
- Copyright (C) 1995-1996, 1998, 2000-2003, 2005-2006, 2008-2009, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 1998, 2000-2003, 2005-2006, 2008-2009, 2012,
+ 2015 Free Software Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
@@ -184,7 +185,8 @@ extern void po_callback_comment_dispatcher (const char *s);
extern void po_parse_comment_special (const char *s, bool *fuzzyp,
enum is_format formatp[NFORMATS],
struct argument_range *rangep,
- enum is_wrap *wrapp);
+ enum is_wrap *wrapp,
+ enum is_syntax_check scp[NSYNTAXCHECKS]);
#ifdef __cplusplus
diff --git a/gettext-tools/src/read-catalog.c b/gettext-tools/src/read-catalog.c
index 4642249..8a26581 100644
--- a/gettext-tools/src/read-catalog.c
+++ b/gettext-tools/src/read-catalog.c
@@ -1,5 +1,6 @@
/* Reading PO files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2015 Free
+ Software Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
This program is free software: you can redistribute it and/or modify
@@ -105,6 +106,8 @@ default_constructor (abstract_catalog_reader_ty *that)
this->range.min = -1;
this->range.max = -1;
this->do_wrap = undecided;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ this->do_syntax_check[i] = undecided;
}
@@ -172,6 +175,8 @@ default_copy_comment_state (default_catalog_reader_ty *this, message_ty *mp)
mp->is_format[i] = this->is_format[i];
mp->range = this->range;
mp->do_wrap = this->do_wrap;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ mp->do_syntax_check[i] = this->do_syntax_check[i];
}
@@ -205,6 +210,8 @@ default_reset_comment_state (default_catalog_reader_ty *this)
this->range.min = -1;
this->range.max = -1;
this->do_wrap = undecided;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ this->do_syntax_check[i] = undecided;
}
@@ -299,7 +306,7 @@ default_comment_special (abstract_catalog_reader_ty *that, const char *s)
default_catalog_reader_ty *this = (default_catalog_reader_ty *) that;
po_parse_comment_special (s, &this->is_fuzzy, this->is_format, &this->range,
- &this->do_wrap);
+ &this->do_wrap, this->do_syntax_check);
}
diff --git a/gettext-tools/src/read-catalog.h b/gettext-tools/src/read-catalog.h
index f567d78..f50bcb0 100644
--- a/gettext-tools/src/read-catalog.h
+++ b/gettext-tools/src/read-catalog.h
@@ -1,5 +1,6 @@
/* Reading PO files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2015 Free
+ Software Foundation, Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>.
This program is free software: you can redistribute it and/or modify
@@ -113,6 +114,7 @@ struct default_catalog_reader_class_ty
enum is_format is_format[NFORMATS]; \
struct argument_range range; \
enum is_wrap do_wrap; \
+ enum is_syntax_check do_syntax_check[NSYNTAXCHECKS]; \
typedef struct default_catalog_reader_ty default_catalog_reader_ty;
struct default_catalog_reader_ty
diff --git a/gettext-tools/src/read-csharp.c b/gettext-tools/src/read-csharp.c
index df5ca83..c2b3879 100644
--- a/gettext-tools/src/read-csharp.c
+++ b/gettext-tools/src/read-csharp.c
@@ -1,5 +1,6 @@
/* Reading C# satellite assemblies.
- Copyright (C) 2003-2004, 2006-2008, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2008, 2011, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-csharp.h b/gettext-tools/src/read-csharp.h
index f8b66b3..3e03ccf 100644
--- a/gettext-tools/src/read-csharp.h
+++ b/gettext-tools/src/read-csharp.h
@@ -1,5 +1,5 @@
/* Reading C# satellite assemblies.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-desktop.c b/gettext-tools/src/read-desktop.c
index 8f9243b..0de123c 100644
--- a/gettext-tools/src/read-desktop.c
+++ b/gettext-tools/src/read-desktop.c
@@ -1,5 +1,6 @@
/* Reading Desktop Entry files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014-2015
+ Free Software Foundation, Inc.
This file was written by Daiki Ueno <ueno@gnu.org>.
This program is free software: you can redistribute it and/or modify
@@ -271,16 +272,13 @@ desktop_lex (token_ty *tp)
break;
}
/* Skip until newline. */
- if (c != '\n')
+ while (c != '\n' && c != EOF)
{
- for (;;)
- {
- if (c == '\n' || c == EOF)
- break;
- if (!c_isspace (c))
- non_blank = true;
- c = phase2_getc ();
- }
+ c = phase2_getc ();
+ if (c == EOF)
+ break;
+ if (!c_isspace (c))
+ non_blank = true;
}
if (non_blank)
po_xerror (PO_SEVERITY_WARNING, NULL,
diff --git a/gettext-tools/src/read-desktop.h b/gettext-tools/src/read-desktop.h
index 19ad8d8..eebd681 100644
--- a/gettext-tools/src/read-desktop.h
+++ b/gettext-tools/src/read-desktop.h
@@ -1,5 +1,6 @@
/* Reading Desktop Entry files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014-2015
+ Free Software Foundation, Inc.
This file was written by Daiki Ueno <ueno@gnu.org>.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-java.c b/gettext-tools/src/read-java.c
index bc6f2f4..1e1cce0 100644
--- a/gettext-tools/src/read-java.c
+++ b/gettext-tools/src/read-java.c
@@ -1,5 +1,6 @@
/* Reading Java ResourceBundles.
- Copyright (C) 2001-2003, 2006-2008, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2008, 2011, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-java.h b/gettext-tools/src/read-java.h
index 6b4d037..169263b 100644
--- a/gettext-tools/src/read-java.h
+++ b/gettext-tools/src/read-java.h
@@ -1,5 +1,5 @@
/* Reading Java ResourceBundles.
- Copyright (C) 2001-2002 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-mo.c b/gettext-tools/src/read-mo.c
index b97bbad..c3bfb22 100644
--- a/gettext-tools/src/read-mo.c
+++ b/gettext-tools/src/read-mo.c
@@ -1,5 +1,6 @@
/* Reading binary .mo files.
- Copyright (C) 1995-1998, 2000-2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2007, 2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
@@ -149,6 +150,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
nls_uint32 s_offset;
/* Compute the length. */
+ s_offset = get_uint32 (bfp, offset);
length = 0;
for (i = 4; ; i += 8)
{
@@ -158,9 +160,14 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
nls_uint32 ss_length;
nls_uint32 ss_offset;
size_t ss_end;
+ size_t s_end;
size_t n;
+ s_end = xsum (s_offset, segsize);
+ if (size_overflow_p (s_end) || s_end > bfp->size)
+ error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
length += segsize;
+ s_offset += segsize;
if (sysdepref == SEGMENTS_END)
break;
@@ -175,7 +182,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
ss_end = xsum (ss_offset, ss_length);
if (size_overflow_p (ss_end) || ss_end > bfp->size)
error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
- if (!(ss_length > 0 && bfp->data[ss_offset + ss_length - 1] == '\0'))
+ if (!(ss_length > 0 && bfp->data[ss_end - 1] == '\0'))
{
char location[30];
sprintf (location, "sysdep_segment[%u]", (unsigned int) sysdepref);
@@ -198,11 +205,8 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
nls_uint32 sysdep_segment_offset;
nls_uint32 ss_length;
nls_uint32 ss_offset;
- size_t s_end = xsum (s_offset, segsize);
size_t n;
- if (size_overflow_p (s_end) || s_end > bfp->size)
- error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
memcpy (p, bfp->data + s_offset, segsize);
p += segsize;
s_offset += segsize;
diff --git a/gettext-tools/src/read-mo.h b/gettext-tools/src/read-mo.h
index c8e976c..d5f8f58 100644
--- a/gettext-tools/src/read-mo.h
+++ b/gettext-tools/src/read-mo.h
@@ -1,5 +1,6 @@
/* Reading binary .mo files.
- Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-po.c b/gettext-tools/src/read-po.c
index 04f1b74..71eebc2 100644
--- a/gettext-tools/src/read-po.c
+++ b/gettext-tools/src/read-po.c
@@ -1,5 +1,6 @@
/* Reading PO files.
- Copyright (C) 1995-1996, 1998, 2000-2006 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 1998, 2000-2006, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/src/read-po.h b/gettext-tools/src/read-po.h
index e426eaa..aa9c173 100644
--- a/gettext-tools/src/read-po.h
+++ b/gettext-tools/src/read-po.h
@@ -1,5 +1,5 @@
/* Reading PO files.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-properties.c b/gettext-tools/src/read-properties.c
index 0c64730..a4919a4 100644
--- a/gettext-tools/src/read-properties.c
+++ b/gettext-tools/src/read-properties.c
@@ -1,5 +1,6 @@
/* Reading Java .properties files.
- Copyright (C) 2003, 2005-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2007, 2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-properties.h b/gettext-tools/src/read-properties.h
index 8ac7852..bf2279b 100644
--- a/gettext-tools/src/read-properties.h
+++ b/gettext-tools/src/read-properties.h
@@ -1,5 +1,5 @@
/* Reading Java .properties files.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-resources.c b/gettext-tools/src/read-resources.c
index a5eb8eb..d60394e 100644
--- a/gettext-tools/src/read-resources.c
+++ b/gettext-tools/src/read-resources.c
@@ -1,5 +1,6 @@
/* Reading C# .resources files.
- Copyright (C) 2003, 2006-2008, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2008, 2011, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-resources.h b/gettext-tools/src/read-resources.h
index b3c6076..58dccef 100644
--- a/gettext-tools/src/read-resources.h
+++ b/gettext-tools/src/read-resources.h
@@ -1,5 +1,5 @@
/* Reading C# .resources files.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-stringtable.c b/gettext-tools/src/read-stringtable.c
index 27b8860..62073c4 100644
--- a/gettext-tools/src/read-stringtable.c
+++ b/gettext-tools/src/read-stringtable.c
@@ -1,5 +1,6 @@
/* Reading NeXTstep/GNUstep .strings files.
- Copyright (C) 2003, 2005-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2007, 2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-stringtable.h b/gettext-tools/src/read-stringtable.h
index d254434..6c3e069 100644
--- a/gettext-tools/src/read-stringtable.h
+++ b/gettext-tools/src/read-stringtable.h
@@ -1,5 +1,5 @@
/* Reading NeXTstep/GNUstep .strings files.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-tcl.c b/gettext-tools/src/read-tcl.c
index 039dcfb..4191864 100644
--- a/gettext-tools/src/read-tcl.c
+++ b/gettext-tools/src/read-tcl.c
@@ -1,5 +1,6 @@
/* Reading tcl/msgcat .msg files.
- Copyright (C) 2002-2003, 2005-2008, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2008, 2011, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/read-tcl.h b/gettext-tools/src/read-tcl.h
index a2c2d9e..d66624d 100644
--- a/gettext-tools/src/read-tcl.h
+++ b/gettext-tools/src/read-tcl.h
@@ -1,5 +1,5 @@
/* Reading tcl/msgcat .msg files.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/recode-sr-latin.c b/gettext-tools/src/recode-sr-latin.c
index 25b88f6..44a2f49 100644
--- a/gettext-tools/src/recode-sr-latin.c
+++ b/gettext-tools/src/recode-sr-latin.c
@@ -1,5 +1,6 @@
/* Recode Serbian text from Cyrillic to Latin script.
- Copyright (C) 2006-2007, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010, 2012, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/sentence.c b/gettext-tools/src/sentence.c
new file mode 100644
index 0000000..0a4883e
--- /dev/null
+++ b/gettext-tools/src/sentence.c
@@ -0,0 +1,194 @@
+/* Sentence handling.
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/* Specification. */
+#include "sentence.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include "unistr.h"
+
+
+/* The minimal number of white spaces which should follow after the
+ end of sentence. */
+int sentence_end_required_spaces = 1;
+
+/* This function works in a similar way to 'forward-sentence' in
+ Emacs, which basically does a regular expression matching of:
+
+ [.?!\u2026]
+ []"'\u201d)}]*
+ \($\|[ \u00a0]$\|\t\|[ \u00a0]\{REQUIRED_SPACES\}\)
+
+ Since we are lacking a regular expression routine capable of
+ Unicode (though gnulib-lib/lib/regex.c provides a locale-dependent
+ version, we would rather avoid depending on it), apply a manually
+ constructed DFA, which consists of 8 states where 4 of them are a
+ terminal. */
+const char *
+sentence_end (const char *string, ucs4_t *ending_charp)
+{
+ const char *str = string;
+ const char *str_limit = string + strlen (str);
+ /* States of the DFA, 0 to 7, where 3, 5, 6, and 7 are a terminal. */
+ int state = 0;
+ /* Previous character before an end marker. */
+ ucs4_t ending_char = 0xfffd;
+ /* Possible starting position of the match, and the next starting
+ position if the current match fails. */
+ const char *match_start = NULL, *match_next = NULL;
+ /* Number of spaces. */
+ int spaces = 0;
+
+ while (str <= str_limit)
+ {
+ ucs4_t uc;
+ size_t length;
+
+ length = u8_mbtouc (&uc, (const unsigned char *) str, str_limit - str);
+
+ if (state == 0)
+ {
+ switch (uc)
+ {
+ case '.': case '?': case '!': case 0x2026:
+ state = 1;
+ match_start = str;
+ match_next = str + length;
+ ending_char = uc;
+ spaces = 0;
+ break;
+
+ default:
+ break;
+ }
+
+ str += length;
+ continue;
+ }
+
+ if (state == 1)
+ {
+ switch (uc)
+ {
+ case ']': case '"': case '\'': case ')': case '}': case 0x201d:
+ state = 2;
+ break;
+
+ case '\0': case '\n':
+ /* State 3. */
+ *ending_charp = ending_char;
+ return match_start;
+
+ case ' ': case 0x00a0:
+ if (++spaces == sentence_end_required_spaces)
+ {
+ /* State 7. */
+ *ending_charp = ending_char;
+ return match_start;
+ }
+ state = 4;
+ break;
+
+ case '\t':
+ /* State 5. */
+ *ending_charp = ending_char;
+ return match_start;
+
+ default:
+ str = match_next;
+ state = 0;
+ continue;
+ }
+
+ str += length;
+ continue;
+ }
+
+ if (state == 2)
+ {
+ switch (uc)
+ {
+ case ']': case '"': case '\'': case ')': case '}': case 0x201d:
+ break;
+
+ case '\0': case '\n':
+ /* State 3. */
+ *ending_charp = ending_char;
+ return match_start;
+
+ case ' ': case 0x00a0:
+ if (++spaces == sentence_end_required_spaces)
+ {
+ /* State 7. */
+ *ending_charp = ending_char;
+ return match_start;
+ }
+ state = 4;
+ break;
+
+ case '\t':
+ /* State 5. */
+ *ending_charp = ending_char;
+ return match_start;
+
+ default:
+ state = 0;
+ str = match_next;
+ continue;
+ }
+
+ str += length;
+ continue;
+ }
+
+ if (state == 4)
+ {
+ switch (uc)
+ {
+ case '\0': case '\n':
+ /* State 6. */
+ *ending_charp = ending_char;
+ return match_start;
+
+ case ' ': case 0x00a0:
+ if (++spaces == sentence_end_required_spaces)
+ {
+ /* State 7. */
+ *ending_charp = ending_char;
+ return match_start;
+ }
+ break;
+
+ default:
+ state = 0;
+ str = match_next;
+ continue;
+ }
+
+ str += length;
+ continue;
+ }
+ }
+
+ *ending_charp = 0xfffd;
+ return str_limit;
+}
diff --git a/gettext-tools/src/sentence.h b/gettext-tools/src/sentence.h
new file mode 100644
index 0000000..02fdc16
--- /dev/null
+++ b/gettext-tools/src/sentence.h
@@ -0,0 +1,42 @@
+/* Sentence handling.
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _SENTENCE_H
+#define _SENTENCE_H
+
+#include "unitypes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* The minimal number of white spaces which should follow after the
+ end of sentence. */
+extern DLL_VARIABLE int sentence_end_required_spaces;
+
+/* Locate the position of a sentence end marker (a period, a question
+ mark, etc) in a null-terminated string STR. If there is no
+ sentence end marker found in STR, return a pointer to the null byte
+ at the end of STR. ENDING_CHARP is a return location of the end
+ marker character. */
+extern const char *sentence_end (const char *string, ucs4_t *ending_charp);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SENTENCE_H */
diff --git a/gettext-tools/src/str-list.c b/gettext-tools/src/str-list.c
index 3f929c2..0e3a9ff 100644
--- a/gettext-tools/src/str-list.c
+++ b/gettext-tools/src/str-list.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995, 1998, 2000-2004, 2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1998, 2000-2004, 2006, 2009, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/str-list.h b/gettext-tools/src/str-list.h
index 5b7b75d..0758171 100644
--- a/gettext-tools/src/str-list.h
+++ b/gettext-tools/src/str-list.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1996, 1998, 2000-2004, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 1998, 2000-2004, 2009, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/urlget.c b/gettext-tools/src/urlget.c
index f3243e1..482144c 100644
--- a/gettext-tools/src/urlget.c
+++ b/gettext-tools/src/urlget.c
@@ -1,5 +1,6 @@
/* Get the contents of an URL.
- Copyright (C) 2001-2003, 2005-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2010, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/user-email.sh.in b/gettext-tools/src/user-email.sh.in
index 5a35405..d5b5e49 100644
--- a/gettext-tools/src/user-email.sh.in
+++ b/gettext-tools/src/user-email.sh.in
@@ -1,7 +1,7 @@
#!/bin/sh
# Prints the user's email address, with confirmation from the user.
#
-# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2015 Free Software Foundation, Inc.
#
# 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
diff --git a/gettext-tools/src/write-catalog.c b/gettext-tools/src/write-catalog.c
index bab8c36..4649efa 100644
--- a/gettext-tools/src/write-catalog.c
+++ b/gettext-tools/src/write-catalog.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2008, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2008, 2012, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/src/write-catalog.h b/gettext-tools/src/write-catalog.h
index 804592c..7cb18b8 100644
--- a/gettext-tools/src/write-catalog.h
+++ b/gettext-tools/src/write-catalog.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2003, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2006, 2008, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/src/write-csharp.c b/gettext-tools/src/write-csharp.c
index 047361a..dd757ed 100644
--- a/gettext-tools/src/write-csharp.c
+++ b/gettext-tools/src/write-csharp.c
@@ -1,5 +1,5 @@
/* Writing C# satellite assemblies.
- Copyright (C) 2003-2010 Free Software Foundation, Inc.
+ Copyright (C) 2003-2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-csharp.h b/gettext-tools/src/write-csharp.h
index 55b71fb..509f8c1 100644
--- a/gettext-tools/src/write-csharp.h
+++ b/gettext-tools/src/write-csharp.h
@@ -1,5 +1,5 @@
/* Writing C# satellite assemblies.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-desktop.c b/gettext-tools/src/write-desktop.c
index dd3fb60..6cf1db7 100644
--- a/gettext-tools/src/write-desktop.c
+++ b/gettext-tools/src/write-desktop.c
@@ -1,5 +1,6 @@
/* Writing Desktop Entry files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014-2015
+ Free Software Foundation, Inc.
This file was written by Daiki Ueno <ueno@gnu.org>.
This program is free software: you can redistribute it and/or modify
@@ -42,8 +43,7 @@ typedef struct msgfmt_desktop_reader_ty msgfmt_desktop_reader_ty;
struct msgfmt_desktop_reader_ty
{
DESKTOP_READER_TY
- string_list_ty *languages;
- message_list_ty **messages;
+ msgfmt_operand_list_ty *operands;
hash_table *keywords;
FILE *output_file;
};
@@ -77,13 +77,12 @@ msgfmt_desktop_handle_pair (desktop_reader_ty *reader,
char *unescaped = desktop_unescape_string (value, is_list);
size_t i;
- for (i = 0; i < msgfmt_reader->languages->nitems; i++)
+ for (i = 0; i < msgfmt_reader->operands->nitems; i++)
{
- const char *language = msgfmt_reader->languages->item[i];
- message_list_ty *mlp = msgfmt_reader->messages[i];
+ msgfmt_operand_ty *operand = &msgfmt_reader->operands->items[i];
message_ty *mp;
- mp = message_list_search (mlp, NULL, unescaped);
+ mp = message_list_search (operand->mlp, NULL, unescaped);
if (mp && *mp->msgstr != '\0')
{
char *escaped;
@@ -91,7 +90,7 @@ msgfmt_desktop_handle_pair (desktop_reader_ty *reader,
escaped = desktop_escape_string (mp->msgstr, is_list);
fprintf (msgfmt_reader->output_file,
"%s[%s]=%s\n",
- key, language, escaped);
+ key, operand->language, escaped);
free (escaped);
}
}
@@ -137,8 +136,7 @@ desktop_reader_class_ty msgfmt_methods =
};
int
-msgdomain_write_desktop_bulk (string_list_ty *languages,
- message_list_ty **messages,
+msgdomain_write_desktop_bulk (msgfmt_operand_list_ty *operands,
const char *template_file_name,
hash_table *keywords,
const char *file_name)
@@ -150,8 +148,7 @@ msgdomain_write_desktop_bulk (string_list_ty *languages,
reader = desktop_reader_alloc (&msgfmt_methods);
msgfmt_reader = (msgfmt_desktop_reader_ty *) reader;
- msgfmt_reader->languages = languages;
- msgfmt_reader->messages = messages;
+ msgfmt_reader->operands = operands;
msgfmt_reader->keywords = keywords;
if (strcmp (file_name, "-") == 0)
@@ -162,8 +159,7 @@ msgdomain_write_desktop_bulk (string_list_ty *languages,
if (msgfmt_reader->output_file == NULL)
{
desktop_reader_free (reader);
- error (EXIT_SUCCESS,
- errno, _("error while opening \"%s\" for writing"),
+ error (0, errno, _("error while opening \"%s\" for writing"),
file_name);
return 1;
}
@@ -173,8 +169,7 @@ msgdomain_write_desktop_bulk (string_list_ty *languages,
if (template_file == NULL)
{
desktop_reader_free (reader);
- error (EXIT_SUCCESS,
- errno, _("error while opening \"%s\" for reading"),
+ error (0, errno, _("error while opening \"%s\" for reading"),
template_file_name);
return 1;
}
@@ -183,8 +178,11 @@ msgdomain_write_desktop_bulk (string_list_ty *languages,
/* Make sure nothing went wrong. */
if (fwriteerror (msgfmt_reader->output_file))
- error (EXIT_FAILURE, errno, _("error while writing \"%s\" file"),
- file_name);
+ {
+ error (0, errno, _("error while writing \"%s\" file"),
+ file_name);
+ return 1;
+ }
desktop_reader_free (reader);
@@ -199,27 +197,20 @@ msgdomain_write_desktop (message_list_ty *mlp,
hash_table *keywords,
const char *file_name)
{
- string_list_ty *languages;
- message_list_ty **messages;
- int retval;
+ msgfmt_operand_ty operand;
+ msgfmt_operand_list_ty operands;
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
- languages = string_list_alloc ();
- string_list_append (languages, locale_name);
-
- messages = XNMALLOC (1, message_list_ty *);
- messages[0] = mlp;
-
- retval = msgdomain_write_desktop_bulk (languages,
- messages,
- template_file_name,
- keywords,
- file_name);
-
- string_list_free (languages);
- free (messages);
+ /* Create a single-element operands and run the bulk operation on it. */
+ operand.language = (char *) locale_name;
+ operand.mlp = mlp;
+ operands.nitems = 1;
+ operands.items = &operand;
- return retval;
+ return msgdomain_write_desktop_bulk (&operands,
+ template_file_name,
+ keywords,
+ file_name);
}
diff --git a/gettext-tools/src/write-desktop.h b/gettext-tools/src/write-desktop.h
index 028b441..d6408e2 100644
--- a/gettext-tools/src/write-desktop.h
+++ b/gettext-tools/src/write-desktop.h
@@ -1,5 +1,6 @@
/* Reading Desktop Entry files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014-2015
+ Free Software Foundation, Inc.
This file was written by Daiki Ueno <ueno@gnu.org>.
This program is free software: you can redistribute it and/or modify
@@ -18,7 +19,7 @@
#ifndef _WRITE_DESKTOP_H
#define _WRITE_DESKTOP_H
-#include "message.h"
+#include "msgfmt.h"
#ifdef __cplusplus
extern "C" {
@@ -37,8 +38,7 @@ extern int
const char *file_name);
extern int
- msgdomain_write_desktop_bulk (string_list_ty *languages,
- message_list_ty **messages,
+ msgdomain_write_desktop_bulk (msgfmt_operand_list_ty *operands,
const char *template_file_name,
hash_table *keywords,
const char *file_name);
diff --git a/gettext-tools/src/write-java.c b/gettext-tools/src/write-java.c
index 9cf4054..a21c002 100644
--- a/gettext-tools/src/write-java.c
+++ b/gettext-tools/src/write-java.c
@@ -1,5 +1,6 @@
/* Writing Java ResourceBundles.
- Copyright (C) 2001-2003, 2005-2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2010, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-java.h b/gettext-tools/src/write-java.h
index 4249edb..2bebc1f 100644
--- a/gettext-tools/src/write-java.h
+++ b/gettext-tools/src/write-java.h
@@ -1,5 +1,5 @@
/* Writing Java ResourceBundles.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-mo.c b/gettext-tools/src/write-mo.c
index ce27415..92dbbe4 100644
--- a/gettext-tools/src/write-mo.c
+++ b/gettext-tools/src/write-mo.c
@@ -1,5 +1,6 @@
/* Writing binary .mo files.
- Copyright (C) 1995-1998, 2000-2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2007, 2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-mo.h b/gettext-tools/src/write-mo.h
index b1ea8ea..249ed58 100644
--- a/gettext-tools/src/write-mo.h
+++ b/gettext-tools/src/write-mo.h
@@ -1,5 +1,6 @@
/* Writing binary .mo files.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2015 Free Software
+ Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-po.c b/gettext-tools/src/write-po.c
index d49a95f..ec413d4 100644
--- a/gettext-tools/src/write-po.c
+++ b/gettext-tools/src/write-po.c
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2010, 2012, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
@@ -400,7 +401,7 @@ message_print_comment_filepos (const message_ty *mp, ostream_t stream,
else
sprintf (buffer, ":%ld", (long) pp->line_number);
len = strlen (cp) + strlen (buffer) + 1;
- if (column > 2 && column + len >= page_width)
+ if (column > 2 && column + len > page_width)
{
ostream_write_str (stream, "\n#:");
column = 2;
diff --git a/gettext-tools/src/write-po.h b/gettext-tools/src/write-po.h
index 9a243bf..ee8313a 100644
--- a/gettext-tools/src/write-po.h
+++ b/gettext-tools/src/write-po.h
@@ -1,5 +1,6 @@
/* GNU gettext - internationalization aids
- Copyright (C) 1995-1998, 2000-2003, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2006, 2008, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/write-properties.c b/gettext-tools/src/write-properties.c
index 8b6dcee..4aaf923 100644
--- a/gettext-tools/src/write-properties.c
+++ b/gettext-tools/src/write-properties.c
@@ -1,5 +1,5 @@
/* Writing Java .properties files.
- Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-properties.h b/gettext-tools/src/write-properties.h
index 9f614b5..b29154e 100644
--- a/gettext-tools/src/write-properties.h
+++ b/gettext-tools/src/write-properties.h
@@ -1,5 +1,5 @@
/* Writing Java .properties files.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-qt.c b/gettext-tools/src/write-qt.c
index 50b96b7..42b2d84 100644
--- a/gettext-tools/src/write-qt.c
+++ b/gettext-tools/src/write-qt.c
@@ -1,5 +1,6 @@
/* Writing Qt .qm files.
- Copyright (C) 2003, 2005-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2007, 2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-qt.h b/gettext-tools/src/write-qt.h
index 2b36da2..d83622a 100644
--- a/gettext-tools/src/write-qt.h
+++ b/gettext-tools/src/write-qt.h
@@ -1,5 +1,5 @@
/* Writing Qt .qm files.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-resources.c b/gettext-tools/src/write-resources.c
index 6759c1b..2fa7e48 100644
--- a/gettext-tools/src/write-resources.c
+++ b/gettext-tools/src/write-resources.c
@@ -1,5 +1,6 @@
/* Writing C# .resources files.
- Copyright (C) 2003, 2005, 2007-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005, 2007-2009, 2011, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-resources.h b/gettext-tools/src/write-resources.h
index 7512f0f..2508816 100644
--- a/gettext-tools/src/write-resources.h
+++ b/gettext-tools/src/write-resources.h
@@ -1,5 +1,5 @@
/* Writing C# .resources files.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-stringtable.c b/gettext-tools/src/write-stringtable.c
index 34e171f..8846ac7 100644
--- a/gettext-tools/src/write-stringtable.c
+++ b/gettext-tools/src/write-stringtable.c
@@ -1,5 +1,5 @@
/* Writing NeXTstep/GNUstep .strings files.
- Copyright (C) 2003, 2006-2008 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2008, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-stringtable.h b/gettext-tools/src/write-stringtable.h
index 3130467..4e60dc2 100644
--- a/gettext-tools/src/write-stringtable.h
+++ b/gettext-tools/src/write-stringtable.h
@@ -1,5 +1,5 @@
/* Writing NeXTstep/GNUstep .strings files.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-tcl.c b/gettext-tools/src/write-tcl.c
index db582c6..1439431 100644
--- a/gettext-tools/src/write-tcl.c
+++ b/gettext-tools/src/write-tcl.c
@@ -1,5 +1,6 @@
/* Writing tcl/msgcat .msg files.
- Copyright (C) 2002-2003, 2005, 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005, 2007-2009, 2015 Free Software
+ Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-tcl.h b/gettext-tools/src/write-tcl.h
index e6a3dce..b10aa16 100644
--- a/gettext-tools/src/write-tcl.h
+++ b/gettext-tools/src/write-tcl.h
@@ -1,5 +1,5 @@
/* Writing tcl/msgcat .msg files.
- Copyright (C) 2002-2003 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/write-xml.c b/gettext-tools/src/write-xml.c
new file mode 100644
index 0000000..38e3195
--- /dev/null
+++ b/gettext-tools/src/write-xml.c
@@ -0,0 +1,107 @@
+/* Writing XML files.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014-2015
+ Free Software Foundation, Inc.
+ This file was written by Daiki Ueno <ueno@gnu.org>.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/* Specification. */
+#include "write-xml.h"
+
+#include <assert.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "error.h"
+#include "msgl-iconv.h"
+#include "po-charset.h"
+#include "read-catalog.h"
+#include "read-po.h"
+#include "fwriteerror.h"
+#include "xalloc.h"
+#include "gettext.h"
+
+#define _(str) gettext (str)
+
+int
+msgdomain_write_xml_bulk (msgfmt_operand_list_ty *operands,
+ const char *template_file_name,
+ its_rule_list_ty *its_rules,
+ const char *file_name)
+{
+ its_merge_context_ty *context;
+ size_t i;
+ FILE *fp;
+
+ if (strcmp (file_name, "-") == 0)
+ fp = stdout;
+ else
+ {
+ fp = fopen (file_name, "wb");
+ if (fp == NULL)
+ {
+ error (0, errno, _("cannot create output file \"%s\""),
+ file_name);
+ return 1;
+ }
+ }
+
+ context = its_merge_context_alloc (its_rules, template_file_name);
+ for (i = 0; i < operands->nitems; i++)
+ its_merge_context_merge (context,
+ operands->items[i].language,
+ operands->items[i].mlp);
+ its_merge_context_write (context, fp);
+ its_merge_context_free (context);
+
+ /* Make sure nothing went wrong. */
+ if (fwriteerror (fp))
+ {
+ error (0, errno, _("error while writing \"%s\" file"),
+ file_name);
+ return 1;
+ }
+
+ return 0;
+}
+
+int
+msgdomain_write_xml (message_list_ty *mlp,
+ const char *canon_encoding,
+ const char *locale_name,
+ const char *template_file_name,
+ its_rule_list_ty *its_rules,
+ const char *file_name)
+{
+ msgfmt_operand_ty operand;
+ msgfmt_operand_list_ty operands;
+
+ /* Convert the messages to Unicode. */
+ iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+
+ /* Create a single-element operands and run the bulk operation on it. */
+ operand.language = (char *) locale_name;
+ operand.mlp = mlp;
+ operands.nitems = 1;
+ operands.items = &operand;
+
+ return msgdomain_write_xml_bulk (&operands,
+ template_file_name,
+ its_rules,
+ file_name);
+}
diff --git a/gettext-tools/src/write-xml.h b/gettext-tools/src/write-xml.h
new file mode 100644
index 0000000..e627789
--- /dev/null
+++ b/gettext-tools/src/write-xml.h
@@ -0,0 +1,52 @@
+/* Reading XML files.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2014-2015
+ Free Software Foundation, Inc.
+ This file was written by Daiki Ueno <ueno@gnu.org>.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _WRITE_XML_H
+#define _WRITE_XML_H
+
+#include "its.h"
+#include "msgfmt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Write an XML file. mlp is a list containing the messages
+ to be output. locale_name is the locale name. template_file_name
+ is the template file. file_name is the output file. Return 0 if
+ ok, nonzero on error. */
+extern int
+ msgdomain_write_xml (message_list_ty *mlp,
+ const char *canon_encoding,
+ const char *locale_name,
+ const char *template_file_name,
+ its_rule_list_ty *its_rules,
+ const char *file_name);
+
+extern int
+ msgdomain_write_xml_bulk (msgfmt_operand_list_ty *operands,
+ const char *template_file_name,
+ its_rule_list_ty *its_rules,
+ const char *file_name);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _WRITE_XML_H */
diff --git a/gettext-tools/src/x-appdata.h b/gettext-tools/src/x-appdata.h
new file mode 100644
index 0000000..6171673
--- /dev/null
+++ b/gettext-tools/src/x-appdata.h
@@ -0,0 +1,42 @@
+/* xgettext AppData file backend.
+ Copyright (C) 2002-2003, 2006, 2013, 2015 Free Software Foundation,
+ Inc.
+ Written by Philip Withnall <philip.withnall@collabora.co.uk>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+
+#include <stdio.h>
+
+#include "message.h"
+#include "xgettext.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* The scanner is implemented as ITS rules, in its/appdata.its. */
+
+#define EXTENSIONS_APPDATA \
+ { "appdata.xml", NULL }, \
+
+#define SCANNERS_APPDATA \
+ { "appdata", NULL, NULL, NULL, NULL, NULL }, \
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/gettext-tools/src/x-awk.c b/gettext-tools/src/x-awk.c
index 6a6a9dc..648befe 100644
--- a/gettext-tools/src/x-awk.c
+++ b/gettext-tools/src/x-awk.c
@@ -1,5 +1,6 @@
/* xgettext awk backend.
- Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
diff --git a/gettext-tools/src/x-awk.h b/gettext-tools/src/x-awk.h
index 642c0e2..b0c1448 100644
--- a/gettext-tools/src/x-awk.h
+++ b/gettext-tools/src/x-awk.h
@@ -1,5 +1,5 @@
/* xgettext awk backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,8 @@ extern "C" {
#define EXTENSIONS_AWK \
{ "awk", "awk" }, \
+ { "gawk", "awk" }, \
+ { "twjr", "awk" }, \
#define SCANNERS_AWK \
{ "awk", extract_awk, \
diff --git a/gettext-tools/src/x-c.c b/gettext-tools/src/x-c.c
index 001cfd9..68e9f5d 100644
--- a/gettext-tools/src/x-c.c
+++ b/gettext-tools/src/x-c.c
@@ -1,5 +1,6 @@
/* xgettext C/C++/ObjectiveC backend.
- Copyright (C) 1995-1998, 2000-2009, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2009, 2012, 2015 Free Software
+ Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
@@ -143,6 +144,14 @@ x_objc_keyword (const char *name)
add_keyword (name, &objc_keywords);
}
+static bool additional_keywords_kde;
+
+void
+activate_additional_keywords_kde ()
+{
+ additional_keywords_kde = true;
+}
+
/* Finish initializing the keywords hash tables.
Called after argument processing, before each file is processed. */
static void
@@ -166,6 +175,50 @@ init_keywords ()
x_c_keyword ("dnpgettext:2c,3,4");
x_c_keyword ("dcnpgettext:2c,3,4");
+ if (additional_keywords_kde)
+ {
+ x_c_keyword ("i18n:1");
+ x_c_keyword ("i18nc:1c,2");
+ x_c_keyword ("i18np:1,2");
+ x_c_keyword ("i18ncp:1c,2,3");
+ x_c_keyword ("i18nd:2");
+ x_c_keyword ("i18ndc:2c,3");
+ x_c_keyword ("i18ndp:2,3");
+ x_c_keyword ("i18ndcp:2c,3,4");
+ x_c_keyword ("ki18n:1");
+ x_c_keyword ("ki18nc:1c,2");
+ x_c_keyword ("ki18np:1,2");
+ x_c_keyword ("ki18ncp:1c,2,3");
+ x_c_keyword ("ki18nd:2");
+ x_c_keyword ("ki18ndc:2c,3");
+ x_c_keyword ("ki18ndp:2,3");
+ x_c_keyword ("ki18ndcp:2c,3,4");
+ x_c_keyword ("I18N_NOOP:1");
+ x_c_keyword ("I18NC_NOOP:1c,2");
+ x_c_keyword ("I18N_NOOP2:1c,2");
+ x_c_keyword ("I18N_NOOP2_NOSTRIP:1c,2");
+ x_c_keyword ("xi18n:1");
+ x_c_keyword ("xi18nc:1c,2");
+ x_c_keyword ("xi18np:1,2");
+ x_c_keyword ("xi18ncp:1c,2,3");
+ x_c_keyword ("xi18nd:2");
+ x_c_keyword ("xi18ndc:2c,3");
+ x_c_keyword ("xi18ndp:2,3");
+ x_c_keyword ("xi18ndcp:2c,3,4");
+ x_c_keyword ("kxi18n:1");
+ x_c_keyword ("kxi18nc:1c,2");
+ x_c_keyword ("kxi18np:1,2");
+ x_c_keyword ("kxi18ncp:1c,2,3");
+ x_c_keyword ("kxi18nd:2");
+ x_c_keyword ("kxi18ndc:2c,3");
+ x_c_keyword ("kxi18ndp:2,3");
+ x_c_keyword ("kxi18ndcp:2c,3,4");
+ x_c_keyword ("XI18N_NOOP:1");
+ x_c_keyword ("XI18NC_NOOP:1c,2");
+ x_c_keyword ("XI18N_NOOP2:1c,2");
+ x_c_keyword ("XI18N_NOOP2_NOSTRIP:1c,2");
+ }
+
x_objc_keyword ("gettext");
x_objc_keyword ("dgettext:2");
x_objc_keyword ("dcgettext:2");
@@ -449,6 +502,50 @@ init_flag_table_gcc_internal ()
#endif
}
+void
+init_flag_table_kde ()
+{
+ xgettext_record_flag ("i18n:1:kde-format");
+ xgettext_record_flag ("i18nc:2:kde-format");
+ xgettext_record_flag ("i18np:1:kde-format");
+ xgettext_record_flag ("i18ncp:2:kde-format");
+ xgettext_record_flag ("i18nd:2:kde-format");
+ xgettext_record_flag ("i18ndc:3:kde-format");
+ xgettext_record_flag ("i18ndp:2:kde-format");
+ xgettext_record_flag ("i18ndcp:3:kde-format");
+ xgettext_record_flag ("ki18n:1:kde-format");
+ xgettext_record_flag ("ki18nc:2:kde-format");
+ xgettext_record_flag ("ki18np:1:kde-format");
+ xgettext_record_flag ("ki18ncp:2:kde-format");
+ xgettext_record_flag ("ki18nd:2:kde-format");
+ xgettext_record_flag ("ki18ndc:3:kde-format");
+ xgettext_record_flag ("ki18ndp:2:kde-format");
+ xgettext_record_flag ("ki18ndcp:3:kde-format");
+ xgettext_record_flag ("I18N_NOOP:1:kde-format");
+ xgettext_record_flag ("I18NC_NOOP:2:kde-format");
+ xgettext_record_flag ("I18N_NOOP2:2:kde-format");
+ xgettext_record_flag ("I18N_NOOP2_NOSTRIP:2:kde-format");
+ xgettext_record_flag ("xi18n:1:kde-kuit-format");
+ xgettext_record_flag ("xi18nc:2:kde-kuit-format");
+ xgettext_record_flag ("xi18np:1:kde-kuit-format");
+ xgettext_record_flag ("xi18ncp:2:kde-kuit-format");
+ xgettext_record_flag ("xi18nd:2:kde-kuit-format");
+ xgettext_record_flag ("xi18ndc:3:kde-kuit-format");
+ xgettext_record_flag ("xi18ndp:2:kde-kuit-format");
+ xgettext_record_flag ("xi18ndcp:3:kde-kuit-format");
+ xgettext_record_flag ("kxi18n:1:kde-kuit-format");
+ xgettext_record_flag ("kxi18nc:2:kde-kuit-format");
+ xgettext_record_flag ("kxi18np:1:kde-kuit-format");
+ xgettext_record_flag ("kxi18ncp:2:kde-kuit-format");
+ xgettext_record_flag ("kxi18nd:2:kde-kuit-format");
+ xgettext_record_flag ("kxi18ndc:3:kde-kuit-format");
+ xgettext_record_flag ("kxi18ndp:2:kde-kuit-format");
+ xgettext_record_flag ("kxi18ndcp:3:kde-kuit-format");
+ xgettext_record_flag ("XI18N_NOOP:1:kde-kuit-format");
+ xgettext_record_flag ("XI18NC_NOOP:2:kde-kuit-format");
+ xgettext_record_flag ("XI18N_NOOP2:2:kde-kuit-format");
+ xgettext_record_flag ("XI18N_NOOP2_NOSTRIP:2:kde-kuit-format");
+}
/* ======================== Reading of characters. ======================== */
@@ -829,6 +926,9 @@ phase4_ungetc (int c)
/* True if ObjectiveC extensions are recognized. */
static bool objc_extensions;
+/* True if C++ extensions are recognized. */
+static bool cxx_extensions;
+
enum token_type_ty
{
token_type_character_constant, /* 'x' */
@@ -855,6 +955,7 @@ struct token_ty
char *string; /* for token_type_name, token_type_string_literal */
refcounted_string_list_ty *comment; /* for token_type_string_literal,
token_type_objc_special */
+ enum literalstring_escape_type escape; /* for token_type_string_literal */
long number;
int line_number;
};
@@ -884,13 +985,16 @@ literalstring_parse (const char *string, lex_pos_ty *pos,
logical_file_name,
line_number);
- for (p = string; *p != '\0'; p++)
+ for (p = string; ; )
{
- int c;
+ int c = *p++;
+
+ if (c == '\0')
+ break;
- if (*p != '\\')
+ if (c != '\\')
{
- mixed_string_buffer_append_char (bp, *p);
+ mixed_string_buffer_append_char (bp, c);
continue;
}
@@ -900,7 +1004,9 @@ literalstring_parse (const char *string, lex_pos_ty *pos,
continue;
}
- c = *++p;
+ c = *p++;
+ if (c == '\0')
+ break;
if (type & LET_ANSI_C)
switch (c)
@@ -940,7 +1046,9 @@ literalstring_parse (const char *string, lex_pos_ty *pos,
continue;
case 'x':
- c = *++p;
+ c = *p++;
+ if (c == '\0')
+ break;
switch (c)
{
default:
@@ -956,26 +1064,26 @@ literalstring_parse (const char *string, lex_pos_ty *pos,
{
int n;
- for (n = 0; ; ++p)
+ for (n = 0; ; c = *p++)
{
- switch (*p)
+ switch (c)
{
default:
break;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- n = n * 16 + *p - '0';
+ n = n * 16 + c - '0';
continue;
case 'A': case 'B': case 'C': case 'D': case 'E':
case 'F':
- n = n * 16 + 10 + *p - 'A';
+ n = n * 16 + 10 + c - 'A';
continue;
case 'a': case 'b': case 'c': case 'd': case 'e':
case 'f':
- n = n * 16 + 10 + *p - 'a';
+ n = n * 16 + 10 + c - 'a';
continue;
}
break;
@@ -996,7 +1104,7 @@ literalstring_parse (const char *string, lex_pos_ty *pos,
for (n = 0, j = 0; j < 3; ++j)
{
n = n * 8 + c - '0';
- c = *++p;
+ c = *p++;
switch (c)
{
default:
@@ -1021,23 +1129,24 @@ literalstring_parse (const char *string, lex_pos_ty *pos,
case 'U': case 'u':
{
unsigned char buf[8];
- int length = c == 'u' ? 4 : 8;
+ int prefix = c;
+ int length = prefix == 'u' ? 4 : 8;
int n, j;
for (n = 0, j = 0; j < length; j++)
{
- int c1 = *++p;
-
- if (c1 >= '0' && c1 <= '9')
- n = (n << 4) + (c1 - '0');
- else if (c1 >= 'A' && c1 <= 'F')
- n = (n << 4) + (c1 - 'A' + 10);
- else if (c1 >= 'a' && c1 <= 'f')
- n = (n << 4) + (c1 - 'a' + 10);
+ c = *p++;
+
+ if (c >= '0' && c <= '9')
+ n = (n << 4) + (c - '0');
+ else if (c >= 'A' && c <= 'F')
+ n = (n << 4) + (c - 'A' + 10);
+ else if (c >= 'a' && c <= 'f')
+ n = (n << 4) + (c - 'a' + 10);
else
break;
- buf[j] = c1;
+ buf[j] = c;
}
if (j == length)
@@ -1059,7 +1168,7 @@ warning: invalid Unicode character"));
int i;
mixed_string_buffer_append_char (bp, '\\');
- mixed_string_buffer_append_char (bp, c);
+ mixed_string_buffer_append_char (bp, prefix);
for (i = 0; i < j; i++)
mixed_string_buffer_append_char (bp, buf[i]);
@@ -1070,6 +1179,9 @@ warning: invalid Unicode character"));
continue;
}
+ if (c == '\0')
+ break;
+
mixed_string_buffer_append_char (bp, c);
}
@@ -1098,6 +1210,9 @@ phase5_get (token_ty *tp)
int c;
int last_was_backslash;
bool raw_expected = false;
+ int delimiter_left_end;
+ int delimiter_right_start;
+ int last_rparen;
if (phase5_pushback_length)
{
@@ -1177,10 +1292,14 @@ phase5_get (token_ty *tp)
continue;
default:
- /* Recognize C++ string literals prefixed by R, u8, u8R,
- u, uR, U, UR, L, or LR. It is defined in ISO/IEC
- 9899:2011 2.14.5. Since gettext's argument is a byte
- sequence, we are only interested in u8, R, and u8R. */
+ /* Recognize string literals prefixed by R, u8, u8R, u,
+ uR, U, UR, L, or LR. It is defined in the C standard
+ ISO/IEC 9899:201x and the C++ standard ISO/IEC
+ 14882:2011. The raw string literals prefixed by R,
+ u8R, uR, UR, or LR are only valid in C++.
+
+ Since gettext's argument is a byte sequence, we are
+ only interested in u8, R, and u8R. */
if (c == '"')
{
bool is_prefix = false;
@@ -1188,8 +1307,11 @@ phase5_get (token_ty *tp)
switch (buffer[0])
{
case 'R':
- if (bufpos == 1)
- is_prefix = true;
+ if (cxx_extensions && bufpos == 1)
+ {
+ is_prefix = true;
+ raw_expected = true;
+ }
break;
case 'u':
if (bufpos == 1)
@@ -1198,30 +1320,39 @@ phase5_get (token_ty *tp)
switch (buffer[1])
{
case 'R':
- if (bufpos == 2)
- is_prefix = true;
+ if (cxx_extensions && bufpos == 2)
+ {
+ is_prefix = true;
+ raw_expected = true;
+ }
break;
case '8':
- if (bufpos == 2
- || (bufpos == 3 && buffer[2] == 'R'))
+ if (bufpos == 2)
is_prefix = true;
+ else if (cxx_extensions
+ && bufpos == 3 && buffer[2] == 'R')
+ {
+ is_prefix = true;
+ raw_expected = true;
+ }
break;
}
break;
case 'U':
case 'L':
- if (bufpos == 1
- || (bufpos == 2 && buffer[1] == 'R'))
+ if (bufpos == 1)
is_prefix = true;
+ else if (cxx_extensions
+ && bufpos == 2 && buffer[1] == 'R')
+ {
+ is_prefix = true;
+ raw_expected = true;
+ }
break;
}
if (is_prefix)
- {
- raw_expected = buffer[bufpos - 1] == 'R';
- bufpos = 0;
- goto string;
- }
+ goto string;
}
phase4_ungetc (c);
break;
@@ -1362,11 +1493,14 @@ phase5_get (token_ty *tp)
let the compiler complain about the argument not matching the
prototype. Just pretend it won't happen. */
last_was_backslash = false;
+ delimiter_left_end = -1;
+ delimiter_right_start = -1;
+ last_rparen = -1;
bufpos = 0;
for (;;)
{
c = phase3_getc ();
- if (last_was_backslash)
+ if (last_was_backslash && !raw_expected)
{
last_was_backslash = false;
if (bufpos >= bufmax)
@@ -1383,7 +1517,14 @@ phase5_get (token_ty *tp)
last_was_backslash = true;
/* FALLTHROUGH */
default:
- if (c == '\n' && !raw_expected)
+ if (raw_expected)
+ {
+ if (c == '(' && delimiter_left_end < 0)
+ delimiter_left_end = bufpos;
+ else if (c == ')' && delimiter_left_end >= 0)
+ last_rparen = bufpos;
+ }
+ else if (c == '\n')
{
error_with_progname = false;
error (0, 0,
@@ -1393,18 +1534,35 @@ phase5_get (token_ty *tp)
phase3_ungetc ('\n');
break;
}
- else
+ if (bufpos >= bufmax)
{
- if (bufpos >= bufmax)
+ bufmax = 2 * bufmax + 10;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ buffer[bufpos++] = c;
+ continue;
+
+ case '"':
+ if (raw_expected && delimiter_left_end >= 0)
+ {
+ if (last_rparen < 0
+ || delimiter_left_end != bufpos - (last_rparen + 1)
+ || strncmp (buffer, buffer + last_rparen + 1,
+ delimiter_left_end) != 0)
{
- bufmax = 2 * bufmax + 10;
- buffer = xrealloc (buffer, bufmax);
+ if (bufpos >= bufmax)
+ {
+ bufmax = 2 * bufmax + 10;
+ buffer = xrealloc (buffer, bufmax);
+ }
+ buffer[bufpos++] = c;
+ continue;
}
- buffer[bufpos++] = c;
- continue;
+ delimiter_right_start = last_rparen;
}
+ break;
- case EOF: case '"':
+ case EOF:
break;
}
break;
@@ -1418,13 +1576,7 @@ phase5_get (token_ty *tp)
if (raw_expected)
{
- char *delimiter_left_end;
- char *delimiter_right_start;
-
- if (!(delimiter_left_end = strchr (buffer, '('))
- || !(delimiter_right_start = strrchr (buffer, ')'))
- || strncmp (buffer, delimiter_right_start + 1,
- (delimiter_left_end - buffer)) != 0)
+ if (delimiter_left_end < 0 || delimiter_right_start < 0)
{
error_with_progname = false;
error (0, 0, _("%s:%d: warning: unterminated string literal"),
@@ -1433,15 +1585,17 @@ phase5_get (token_ty *tp)
}
else
{
- *delimiter_right_start = '\0';
+ buffer[delimiter_right_start] = '\0';
tp->type = token_type_string_literal;
- tp->string = xstrdup (delimiter_left_end + 1);
+ tp->string = xstrdup (&buffer[delimiter_left_end + 1]);
+ tp->escape = LET_NONE;
tp->comment = add_reference (savable_comment);
return;
}
}
tp->type = token_type_string_literal;
tp->string = xstrdup (buffer);
+ tp->escape = LET_ANSI_C | LET_UNICODE;
tp->comment = add_reference (savable_comment);
return;
}
@@ -1695,6 +1849,7 @@ phase8a_get (token_ty *tp)
tp->string = new_string;
tp->comment = add_reference (savable_comment);
tp->type = token_type_string_literal;
+ tp->escape = LET_ANSI_C | LET_UNICODE;
}
}
@@ -1775,7 +1930,10 @@ phase8c_unget (token_ty *tp)
/* 8. Concatenate adjacent string literals to form single string
literals (because we don't expand macros, there are a few things we
- will miss). */
+ will miss).
+
+ FIXME: handle the case when the string literals have different
+ tp->escape setting. */
static void
phase8_get (token_ty *tp)
@@ -1832,6 +1990,9 @@ struct xgettext_token_ty
char *string;
/* This field is used only for xgettext_token_type_string_literal. */
+ enum literalstring_escape_type escape;
+
+ /* This field is used only for xgettext_token_type_string_literal. */
refcounted_string_list_ty *comment;
/* These fields are only for
@@ -1906,6 +2067,7 @@ x_c_lex (xgettext_token_ty *tp)
tp->type = xgettext_token_type_string_literal;
tp->string = token.string;
+ tp->escape = token.escape;
tp->comment = token.comment;
tp->pos.file_name = logical_file_name;
tp->pos.line_number = token.line_number;
@@ -2067,7 +2229,7 @@ extract_parenthesized (message_list_ty *mlp,
const char *encoding;
string = literalstring_parse (token.string, &token.pos,
- LET_ANSI_C | LET_UNICODE);
+ token.escape);
free (token.string);
token.string = string;
@@ -2094,7 +2256,7 @@ extract_parenthesized (message_list_ty *mlp,
token.pos.file_name,
token.pos.line_number,
token.comment,
- LET_ANSI_C | LET_UNICODE);
+ token.escape);
drop_reference (token.comment);
next_context_iter = null_context_list_iterator;
selectorcall_context_iter = null_context_list_iterator;
@@ -2160,6 +2322,18 @@ extract_c (FILE *f,
msgdomain_list_ty *mdlp)
{
objc_extensions = false;
+ cxx_extensions = false;
+ extract_whole_file (f, real_filename, logical_filename, flag_table, mdlp);
+}
+
+void
+extract_cxx (FILE *f,
+ const char *real_filename, const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ msgdomain_list_ty *mdlp)
+{
+ objc_extensions = false;
+ cxx_extensions = true;
extract_whole_file (f, real_filename, logical_filename, flag_table, mdlp);
}
@@ -2170,5 +2344,6 @@ extract_objc (FILE *f,
msgdomain_list_ty *mdlp)
{
objc_extensions = true;
+ cxx_extensions = false;
extract_whole_file (f, real_filename, logical_filename, flag_table, mdlp);
}
diff --git a/gettext-tools/src/x-c.h b/gettext-tools/src/x-c.h
index 64e4953..9dc82b0 100644
--- a/gettext-tools/src/x-c.h
+++ b/gettext-tools/src/x-c.h
@@ -1,5 +1,6 @@
/* xgettext C/C++/ObjectiveC backend.
- Copyright (C) 2001-2003, 2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2009, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
@@ -45,7 +46,7 @@ extern "C" {
&flag_table_c, \
&formatstring_c, NULL, \
&literalstring_c }, \
- { "C++", extract_c, \
+ { "C++", extract_cxx, \
&flag_table_c, \
&formatstring_c, NULL, \
&literalstring_c }, \
@@ -58,11 +59,16 @@ extern "C" {
&formatstring_gcc_internal, &formatstring_gfc_internal, \
&literalstring_c }, \
-/* Scan a C/C++ file and add its translatable strings to mdlp. */
+/* Scan a C file and add its translatable strings to mdlp. */
extern void extract_c (FILE *fp, const char *real_filename,
const char *logical_filename,
flag_context_list_table_ty *flag_table,
msgdomain_list_ty *mdlp);
+/* Scan a C++ file and add its translatable strings to mdlp. */
+extern void extract_cxx (FILE *fp, const char *real_filename,
+ const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ msgdomain_list_ty *mdlp);
/* Scan an ObjectiveC file and add its translatable strings to mdlp. */
extern void extract_objc (FILE *fp, const char *real_filename,
const char *logical_filename,
@@ -79,9 +85,12 @@ extern void x_objc_keyword (const char *name);
extern void x_c_trigraphs (void);
+extern void activate_additional_keywords_kde (void);
+
extern void init_flag_table_c (void);
extern void init_flag_table_objc (void);
extern void init_flag_table_gcc_internal (void);
+extern void init_flag_table_kde (void);
extern struct literalstring_parser literalstring_c;
diff --git a/gettext-tools/src/x-csharp.c b/gettext-tools/src/x-csharp.c
index 5091c3b..8bb87d4 100644
--- a/gettext-tools/src/x-csharp.c
+++ b/gettext-tools/src/x-csharp.c
@@ -1,5 +1,6 @@
/* xgettext C# backend.
- Copyright (C) 2003, 2005-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2009, 2011, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-csharp.h b/gettext-tools/src/x-csharp.h
index de37789..e3c6173 100644
--- a/gettext-tools/src/x-csharp.h
+++ b/gettext-tools/src/x-csharp.h
@@ -1,5 +1,5 @@
/* xgettext C# backend.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-desktop.c b/gettext-tools/src/x-desktop.c
index 320266e..e4ce5b3 100644
--- a/gettext-tools/src/x-desktop.c
+++ b/gettext-tools/src/x-desktop.c
@@ -1,5 +1,5 @@
/* xgettext Desktop Entry backend.
- Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2014-2015 Free Software Foundation, Inc.
This file was written by Daiki Ueno <ueno@gnu.org>, 2014.
diff --git a/gettext-tools/src/x-desktop.h b/gettext-tools/src/x-desktop.h
index d24f174..a5c954b 100644
--- a/gettext-tools/src/x-desktop.h
+++ b/gettext-tools/src/x-desktop.h
@@ -1,5 +1,5 @@
/* xgettext Desktop Entry backend.
- Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2014-2015 Free Software Foundation, Inc.
Written by Daiki Ueno <ueno@gnu.org>, 2014.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-elisp.c b/gettext-tools/src/x-elisp.c
index 50c3d55..bbe7121 100644
--- a/gettext-tools/src/x-elisp.c
+++ b/gettext-tools/src/x-elisp.c
@@ -1,5 +1,6 @@
/* xgettext Emacs Lisp backend.
- Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2001-2002.
diff --git a/gettext-tools/src/x-elisp.h b/gettext-tools/src/x-elisp.h
index f939957..618a495 100644
--- a/gettext-tools/src/x-elisp.h
+++ b/gettext-tools/src/x-elisp.h
@@ -1,5 +1,5 @@
/* xgettext Emacs Lisp backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-glade.c b/gettext-tools/src/x-glade.c
deleted file mode 100644
index eebce00..0000000
--- a/gettext-tools/src/x-glade.c
+++ /dev/null
@@ -1,612 +0,0 @@
-/* xgettext glade backend.
- Copyright (C) 2002-2003, 2005-2009, 2013 Free Software Foundation, Inc.
-
- This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
-
- 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 3 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, see <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-/* Specification. */
-#include "x-glade.h"
-
-#include <errno.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "message.h"
-#include "xgettext.h"
-#include "error.h"
-#include "xerror.h"
-#include "xvasprintf.h"
-#include "basename.h"
-#include "progname.h"
-#include "xalloc.h"
-#include "hash.h"
-#include "po-charset.h"
-#include "gettext.h"
-#include "libexpat-compat.h"
-
-#define _(s) gettext(s)
-
-
-/* Glade is an XML based format with three variants. The syntax for
- each format is defined as follows.
-
- - Glade 1
- Some example files are contained in libglade-0.16.
-
- - Glade 2
- See http://library.gnome.org/devel/libglade/unstable/libglade-dtd.html
-
- - GtkBuilder
- See https://developer.gnome.org/gtk3/stable/GtkBuilder.html#BUILDER-UI */
-
-
-/* ====================== Keyword set customization. ====================== */
-
-/* If true extract all strings. */
-static bool extract_all = false;
-
-/* The keywords correspond to the translatable elements in Glade 1.
- For Glade 2 and GtkBuilder, translatable content is determined by
- the translatable="..." attribute, thus those keywords are not used. */
-static hash_table keywords;
-static bool default_keywords = true;
-
-
-void
-x_glade_extract_all ()
-{
- extract_all = true;
-}
-
-
-void
-x_glade_keyword (const char *name)
-{
- if (name == NULL)
- default_keywords = false;
- else
- {
- if (keywords.table == NULL)
- hash_init (&keywords, 100);
-
- hash_insert_entry (&keywords, name, strlen (name), NULL);
- }
-}
-
-/* Finish initializing the keywords hash table.
- Called after argument processing, before each file is processed. */
-static void
-init_keywords ()
-{
- if (default_keywords)
- {
- /* When adding new keywords here, also update the documentation in
- xgettext.texi! */
- x_glade_keyword ("label");
- x_glade_keyword ("title");
- x_glade_keyword ("text");
- x_glade_keyword ("format");
- x_glade_keyword ("copyright");
- x_glade_keyword ("comments");
- x_glade_keyword ("preview_text");
- x_glade_keyword ("tooltip");
- default_keywords = false;
- }
-}
-
-
-
-/* ============================= XML parsing. ============================= */
-
-#if DYNLOAD_LIBEXPAT || HAVE_LIBEXPAT
-
-/* Accumulator for the extracted messages. */
-static message_list_ty *mlp;
-
-/* Logical filename, used to label the extracted messages. */
-static char *logical_file_name;
-
-/* XML parser. */
-static XML_Parser parser;
-
-struct element_state
-{
- bool extract_string;
- bool extract_context; /* used by Glade 2 */
- char *extracted_comment; /* used by Glade 2 or GtkBuilder */
- char *extracted_context; /* used by GtkBuilder */
- int lineno;
- char *buffer;
- size_t bufmax;
- size_t buflen;
-};
-static struct element_state *stack;
-static size_t stack_size;
-
-/* Ensures stack_size >= size. */
-static void
-ensure_stack_size (size_t size)
-{
- if (size > stack_size)
- {
- stack_size = 2 * stack_size;
- if (stack_size < size)
- stack_size = size;
- stack =
- (struct element_state *)
- xrealloc (stack, stack_size * sizeof (struct element_state));
- }
-}
-
-static size_t stack_depth;
-
-/* Parser logic for each Glade compatible file format. */
-struct element_parser
-{
- void (*start_element) (struct element_state *p, const char *name,
- const char **attributes);
- void (*end_element) (struct element_state *p, const char *name);
-};
-static struct element_parser *element_parser;
-
-static void
-start_element_null (struct element_state *p, const char *name,
- const char **attributes)
-{
-}
-
-static void
-end_element_null (struct element_state *p, const char *name)
-{
-}
-
-static void
-start_element_glade1 (struct element_state *p, const char *name,
- const char **attributes)
-{
- void *hash_result;
-
- /* In Glade 1, a few specific elements are translatable without
- --extract-all option. */
- p->extract_string = extract_all;
- if (!p->extract_string)
- p->extract_string =
- (hash_find_entry (&keywords, name, strlen (name), &hash_result) == 0);
-}
-
-static void
-end_element_glade1 (struct element_state *p, const char *name)
-{
- lex_pos_ty pos;
-
- pos.file_name = logical_file_name;
- pos.line_number = p->lineno;
-
- if (p->buffer != NULL)
- {
- remember_a_message (mlp, NULL, p->buffer,
- null_context, &pos,
- p->extracted_comment, savable_comment);
- p->buffer = NULL;
- }
-}
-
-static void
-start_element_glade2 (struct element_state *p, const char *name,
- const char **attributes)
-{
- /* In Glade 2, all <property> and <atkproperty> elements are translatable
- that have the attribute translatable="yes".
- See <http://library.gnome.org/devel/libglade/unstable/libglade-dtd.html>.
- The translator comment is found in the attribute comments="...".
- See <http://live.gnome.org/TranslationProject/DevGuidelines/Use comments>.
- If the element has the attribute context="yes", the content of
- the element is in the form "msgctxt|msgid". */
- if (strcmp (name, "property") == 0 || strcmp (name, "atkproperty") == 0)
- {
- bool has_translatable = false;
- bool has_context = false;
- const char *extracted_comment = NULL;
- const char **attp = attributes;
- while (*attp != NULL)
- {
- if (strcmp (attp[0], "translatable") == 0)
- has_translatable = (strcmp (attp[1], "yes") == 0);
- else if (strcmp (attp[0], "comments") == 0)
- extracted_comment = attp[1];
- else if (strcmp (attp[0], "context") == 0)
- has_context = (strcmp (attp[1], "yes") == 0);
- attp += 2;
- }
- p->extract_string = has_translatable;
- p->extract_context = has_context;
- p->extracted_comment =
- (has_translatable && extracted_comment != NULL
- ? xstrdup (extracted_comment)
- : NULL);
- }
-
- /* In Glade 2, the attribute description="..." of <atkaction>
- element is also translatable. */
- if (strcmp (name, "atkaction") == 0)
- {
- const char **attp = attributes;
- while (*attp != NULL)
- {
- if (strcmp (attp[0], "description") == 0)
- {
- if (strcmp (attp[1], "") != 0)
- {
- lex_pos_ty pos;
-
- pos.file_name = logical_file_name;
- pos.line_number = XML_GetCurrentLineNumber (parser);
-
- remember_a_message (mlp, NULL, xstrdup (attp[1]),
- null_context, &pos,
- NULL, savable_comment);
- }
- break;
- }
- attp += 2;
- }
- }
-}
-
-static void
-end_element_glade2 (struct element_state *p, const char *name)
-{
- lex_pos_ty pos;
- char *msgid = NULL;
- char *msgctxt = NULL;
-
- pos.file_name = logical_file_name;
- pos.line_number = p->lineno;
-
- if (p->extract_context)
- {
- char *separator = strchr (p->buffer, '|');
-
- if (separator == NULL)
- {
- error_with_progname = false;
- error_at_line (0, 0,
- pos.file_name,
- pos.line_number,
- _("\
-Missing context for the string extracted from '%s' element"),
- name);
- error_with_progname = true;
- }
- else
- {
- *separator = '\0';
- msgid = xstrdup (separator + 1);
- msgctxt = xstrdup (p->buffer);
- }
- }
- else
- {
- msgid = p->buffer;
- p->buffer = NULL;
- }
-
- if (msgid != NULL)
- remember_a_message (mlp, msgctxt, msgid,
- null_context, &pos,
- p->extracted_comment, savable_comment);
-}
-
-static void
-start_element_gtkbuilder (struct element_state *p, const char *name,
- const char **attributes)
-{
- /* In GtkBuilder (used by Glade 3), all elements are translatable
- that have the attribute translatable="yes".
- See <https://developer.gnome.org/gtk3/stable/GtkBuilder.html#BUILDER-UI>.
- The translator comment is found in the attribute comments="..."
- and context is found in the attribute context="...". */
- bool has_translatable = false;
- const char *extracted_comment = NULL;
- const char *extracted_context = NULL;
- const char **attp = attributes;
- while (*attp != NULL)
- {
- if (strcmp (attp[0], "translatable") == 0)
- has_translatable = (strcmp (attp[1], "yes") == 0);
- else if (strcmp (attp[0], "comments") == 0)
- extracted_comment = attp[1];
- else if (strcmp (attp[0], "context") == 0)
- extracted_context = attp[1];
- attp += 2;
- }
- p->extract_string = has_translatable;
- p->extracted_comment =
- (has_translatable && extracted_comment != NULL
- ? xstrdup (extracted_comment)
- : NULL);
- p->extracted_context =
- (has_translatable && extracted_context != NULL
- ? xstrdup (extracted_context)
- : NULL);
-}
-
-static void
-end_element_gtkbuilder (struct element_state *p, const char *name)
-{
- lex_pos_ty pos;
-
- pos.file_name = logical_file_name;
- pos.line_number = p->lineno;
-
- if (p->buffer != NULL)
- {
- remember_a_message (mlp, p->extracted_context, p->buffer,
- null_context, &pos,
- p->extracted_comment, savable_comment);
- p->buffer = NULL;
- p->extracted_context = NULL;
- }
-}
-
-static struct element_parser element_parser_null =
-{
- start_element_null,
- end_element_null
-};
-
-static struct element_parser element_parser_glade1 =
-{
- start_element_glade1,
- end_element_glade1
-};
-
-static struct element_parser element_parser_glade2 =
-{
- start_element_glade2,
- end_element_glade2
-};
-
-static struct element_parser element_parser_gtkbuilder =
-{
- start_element_gtkbuilder,
- end_element_gtkbuilder
-};
-
-/* Callback called when <element> is seen. */
-static void
-start_element_handler (void *userData, const char *name,
- const char **attributes)
-{
- struct element_state *p;
-
- if (!stack_depth)
- {
- if (strcmp (name, "GTK-Interface") == 0)
- element_parser = &element_parser_glade1;
- else if (strcmp (name, "glade-interface") == 0)
- element_parser = &element_parser_glade2;
- else if (strcmp (name, "interface") == 0)
- element_parser = &element_parser_gtkbuilder;
- else
- {
- element_parser = &element_parser_null;
- error_with_progname = false;
- error_at_line (0, 0,
- logical_file_name,
- XML_GetCurrentLineNumber (parser),
- _("\
-The root element <%s> is not allowed in a valid Glade file"),
- name);
- error_with_progname = true;
- }
- }
-
- /* Increase stack depth. */
- stack_depth++;
- ensure_stack_size (stack_depth + 1);
-
- /* Don't extract a string for the containing element. */
- stack[stack_depth - 1].extract_string = false;
-
- p = &stack[stack_depth];
- p->extract_string = false;
- p->extract_context = false;
- p->extracted_comment = NULL;
- p->extracted_context = NULL;
-
- element_parser->start_element (p, name, attributes);
-
- p->lineno = XML_GetCurrentLineNumber (parser);
- p->buffer = NULL;
- p->bufmax = 0;
- p->buflen = 0;
- if (!p->extract_string)
- savable_comment_reset ();
-}
-
-/* Callback called when </element> is seen. */
-static void
-end_element_handler (void *userData, const char *name)
-{
- struct element_state *p = &stack[stack_depth];
-
- /* Actually extract string. */
- if (p->extract_string)
- {
- /* Don't extract the empty string. */
- if (p->buflen > 0)
- {
- if (p->buflen == p->bufmax)
- p->buffer = (char *) xrealloc (p->buffer, p->buflen + 1);
- p->buffer[p->buflen] = '\0';
-
- element_parser->end_element (p, name);
- }
- }
-
- /* Free memory for this stack level. */
- if (p->extracted_comment != NULL)
- free (p->extracted_comment);
- if (p->extracted_context != NULL)
- free (p->extracted_context);
- if (p->buffer != NULL)
- free (p->buffer);
-
- /* Decrease stack depth. */
- stack_depth--;
-
- savable_comment_reset ();
-}
-
-/* Callback called when some text is seen. */
-static void
-character_data_handler (void *userData, const char *s, int len)
-{
- struct element_state *p = &stack[stack_depth];
-
- /* Accumulate character data. */
- if (len > 0)
- {
- if (p->buflen + len > p->bufmax)
- {
- p->bufmax = 2 * p->bufmax;
- if (p->bufmax < p->buflen + len)
- p->bufmax = p->buflen + len;
- p->buffer = (char *) xrealloc (p->buffer, p->bufmax);
- }
- memcpy (p->buffer + p->buflen, s, len);
- p->buflen += len;
- }
-}
-
-/* Callback called when some comment text is seen. */
-static void
-comment_handler (void *userData, const char *data)
-{
- /* Split multiline comment into lines, and remove leading and trailing
- whitespace. */
- char *copy = xstrdup (data);
- char *p;
- char *q;
-
- for (p = copy; (q = strchr (p, '\n')) != NULL; p = q + 1)
- {
- while (p[0] == ' ' || p[0] == '\t')
- p++;
- while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
- q--;
- *q = '\0';
- savable_comment_add (p);
- }
- q = p + strlen (p);
- while (p[0] == ' ' || p[0] == '\t')
- p++;
- while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
- q--;
- *q = '\0';
- savable_comment_add (p);
- free (copy);
-}
-
-
-static void
-do_extract_glade (FILE *fp,
- const char *real_filename, const char *logical_filename,
- msgdomain_list_ty *mdlp)
-{
- mlp = mdlp->item[0]->messages;
-
- /* expat feeds us strings in UTF-8 encoding. */
- xgettext_current_source_encoding = po_charset_utf8;
-
- logical_file_name = xstrdup (logical_filename);
-
- init_keywords ();
-
- parser = XML_ParserCreate (NULL);
- if (parser == NULL)
- error (EXIT_FAILURE, 0, _("memory exhausted"));
-
- XML_SetElementHandler (parser, start_element_handler, end_element_handler);
- XML_SetCharacterDataHandler (parser, character_data_handler);
- XML_SetCommentHandler (parser, comment_handler);
-
- stack_depth = 0;
- element_parser = &element_parser_null;
-
- while (!feof (fp))
- {
- char buf[4096];
- int count = fread (buf, 1, sizeof buf, fp);
-
- if (count == 0)
- {
- if (ferror (fp))
- error (EXIT_FAILURE, errno, _("\
-error while reading \"%s\""), real_filename);
- /* EOF reached. */
- break;
- }
-
- if (XML_Parse (parser, buf, count, 0) == 0)
- error (EXIT_FAILURE, 0, _("%s:%lu:%lu: %s"), logical_filename,
- (unsigned long) XML_GetCurrentLineNumber (parser),
- (unsigned long) XML_GetCurrentColumnNumber (parser) + 1,
- XML_ErrorString (XML_GetErrorCode (parser)));
- }
-
- if (XML_Parse (parser, NULL, 0, 1) == 0)
- error (EXIT_FAILURE, 0, _("%s:%lu:%lu: %s"), logical_filename,
- (unsigned long) XML_GetCurrentLineNumber (parser),
- (unsigned long) XML_GetCurrentColumnNumber (parser) + 1,
- XML_ErrorString (XML_GetErrorCode (parser)));
-
- XML_ParserFree (parser);
-
- /* Close scanner. */
- logical_file_name = NULL;
- parser = NULL;
-}
-
-#endif
-
-void
-extract_glade (FILE *fp,
- const char *real_filename, const char *logical_filename,
- flag_context_list_table_ty *flag_table,
- msgdomain_list_ty *mdlp)
-{
-#if DYNLOAD_LIBEXPAT || HAVE_LIBEXPAT
- if (LIBEXPAT_AVAILABLE ())
- do_extract_glade (fp, real_filename, logical_filename, mdlp);
- else
-#endif
- {
- multiline_error (xstrdup (""),
- xasprintf (_("\
-Language \"glade\" is not supported. %s relies on expat.\n\
-This version was built without expat.\n"),
- basename (program_name)));
- exit (EXIT_FAILURE);
- }
-}
diff --git a/gettext-tools/src/x-glade.h b/gettext-tools/src/x-glade.h
index f212d2b..fda5876 100644
--- a/gettext-tools/src/x-glade.h
+++ b/gettext-tools/src/x-glade.h
@@ -1,5 +1,5 @@
/* xgettext glade backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
@@ -27,25 +27,16 @@ extern "C" {
#endif
-#define EXTENSIONS_GLADE \
- { "glade", "glade" }, \
- { "glade2", "glade" }, \
- { "ui", "glade" }, \
-
-#define SCANNERS_GLADE \
- { "glade", extract_glade, NULL, NULL, NULL, NULL }, \
-
-/* Scan a glade XML file and add its translatable strings to mdlp. */
-extern void extract_glade (FILE *fp, const char *real_filename,
- const char *logical_filename,
- flag_context_list_table_ty *flag_table,
- msgdomain_list_ty *mdlp);
+/* The scanner is implemented as ITS rules, in its/glade[12].its and
+ its/gtkbuilder.its. */
+#define EXTENSIONS_GLADE \
+ { "glade", NULL }, \
+ { "glade2", NULL }, \
+ { "ui", NULL }, \
-/* Handling of options specific to this language. */
-
-extern void x_glade_extract_all (void);
-extern void x_glade_keyword (const char *name);
+#define SCANNERS_GLADE \
+ { "glade", NULL, NULL, NULL, NULL, NULL }, \
#ifdef __cplusplus
diff --git a/gettext-tools/src/x-gsettings.c b/gettext-tools/src/x-gsettings.c
deleted file mode 100644
index 14a2584..0000000
--- a/gettext-tools/src/x-gsettings.c
+++ /dev/null
@@ -1,386 +0,0 @@
-/* xgettext GSettings schema file backend.
- Copyright (C) 2002-2003, 2005-2009, 2013 Free Software Foundation, Inc.
-
- This file was written by Daiki Ueno <ueno@gnu.org>, 2013.
-
- 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 3 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, see <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-/* Specification. */
-#include "x-gsettings.h"
-
-#include <errno.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "message.h"
-#include "xgettext.h"
-#include "error.h"
-#include "xerror.h"
-#include "xvasprintf.h"
-#include "basename.h"
-#include "progname.h"
-#include "xalloc.h"
-#include "hash.h"
-#include "po-charset.h"
-#include "gettext.h"
-#include "libexpat-compat.h"
-
-#define _(s) gettext(s)
-
-
-/* GSettings schema file is an XML based format.
- The syntax is defined in glib/gio/gschema.dtd and:
- https://developer.gnome.org/gio/unstable/GSettings.html */
-
-
-/* ====================== Keyword set customization. ====================== */
-
-/* If true extract all strings. */
-static bool extract_all = false;
-
-
-/* ============================= XML parsing. ============================= */
-
-#if DYNLOAD_LIBEXPAT || HAVE_LIBEXPAT
-
-/* Accumulator for the extracted messages. */
-static message_list_ty *mlp;
-
-/* Logical filename, used to label the extracted messages. */
-static char *logical_file_name;
-
-/* XML parser. */
-static XML_Parser parser;
-
-enum whitespace_type_ty
-{
- none,
- normalize,
- strip
-};
-typedef enum whitespace_type_ty whitespace_type_ty;
-
-struct element_state
-{
- bool extract_string;
- whitespace_type_ty whitespace;
- char *extracted_context;
- int lineno;
- char *buffer;
- size_t bufmax;
- size_t buflen;
-};
-static struct element_state *stack;
-static size_t stack_size;
-
-static char *
-normalize_whitespace (const char *text, whitespace_type_ty whitespace)
-{
- if (whitespace == none)
- return xstrdup (text);
- else
- {
- char *result, *p;
-
- /* Strip whitespaces at the beginning/end of the text. */
- result = xstrdup (text + strspn (text, " \t\n"));
- for (p = result + strlen (result);
- p > result && (*p == '\0' || *p == ' ' || *p == '\t' || *p == '\n');
- p--)
- ;
- if (p > result)
- *++p = '\0';
-
- /* Normalize whitespaces within the text. */
- if (whitespace == normalize)
- {
- char *end = result + strlen (result);
- for (p = result; *p != '\0';)
- {
- size_t len = strspn (p, " \t\n");
- if (len > 0)
- {
- *p = ' ';
- memmove (p + 1, p + len, end - (p + len));
- end -= len - 1;
- *end = '\0';
- p++;
- }
- p += strcspn (p, " \t\n");
- }
- }
- return result;
- }
-}
-
-/* Ensures stack_size >= size. */
-static void
-ensure_stack_size (size_t size)
-{
- if (size > stack_size)
- {
- stack_size = 2 * stack_size;
- if (stack_size < size)
- stack_size = size;
- stack =
- (struct element_state *)
- xrealloc (stack, stack_size * sizeof (struct element_state));
- }
-}
-
-static size_t stack_depth;
-
-/* Callback called when <element> is seen. */
-static void
-start_element_handler (void *userData, const char *name,
- const char **attributes)
-{
- struct element_state *p;
-
- /* Increase stack depth. */
- stack_depth++;
- ensure_stack_size (stack_depth + 1);
-
- /* Don't extract a string for the containing element. */
- stack[stack_depth - 1].extract_string = false;
-
- p = &stack[stack_depth];
- p->extract_string = extract_all;
- p->extracted_context = NULL;
-
- if (!p->extract_string)
- {
- bool has_translatable = false;
- whitespace_type_ty whitespace = none;
- const char *extracted_context = NULL;
- if (strcmp (name, "summary") == 0 || strcmp (name, "description") == 0)
- {
- has_translatable = true;
- whitespace = normalize;
- }
- else if (strcmp (name, "default") == 0)
- {
- const char *extracted_l10n = NULL;
- const char **attp = attributes;
- while (*attp != NULL)
- {
- if (strcmp (attp[0], "context") == 0)
- extracted_context = attp[1];
- else if (strcmp (attp[0], "l10n") == 0)
- extracted_l10n = attp[1];
- attp += 2;
- }
- if (extracted_l10n != NULL)
- {
- has_translatable = true;
- whitespace = strip;
- }
- }
- p->extract_string = has_translatable;
- p->whitespace = whitespace;
- p->extracted_context =
- (has_translatable && extracted_context != NULL
- ? xstrdup (extracted_context)
- : NULL);
- }
-
- p->lineno = XML_GetCurrentLineNumber (parser);
- p->buffer = NULL;
- p->bufmax = 0;
- p->buflen = 0;
- if (!p->extract_string)
- savable_comment_reset ();
-}
-
-/* Callback called when </element> is seen. */
-static void
-end_element_handler (void *userData, const char *name)
-{
- struct element_state *p = &stack[stack_depth];
-
- /* Actually extract string. */
- if (p->extract_string)
- {
- /* Don't extract the empty string. */
- if (p->buflen > 0)
- {
- lex_pos_ty pos;
-
- if (p->buflen == p->bufmax)
- p->buffer = (char *) xrealloc (p->buffer, p->buflen + 1);
- p->buffer[p->buflen] = '\0';
-
- pos.file_name = logical_file_name;
- pos.line_number = p->lineno;
-
- if (p->buffer != NULL)
- {
- remember_a_message (mlp, p->extracted_context,
- normalize_whitespace (p->buffer,
- p->whitespace),
- null_context, &pos,
- NULL, savable_comment);
- p->extracted_context = NULL;
- }
- }
- }
-
- /* Free memory for this stack level. */
- if (p->extracted_context != NULL)
- free (p->extracted_context);
- if (p->buffer != NULL)
- free (p->buffer);
-
- /* Decrease stack depth. */
- stack_depth--;
-
- savable_comment_reset ();
-}
-
-/* Callback called when some text is seen. */
-static void
-character_data_handler (void *userData, const char *s, int len)
-{
- struct element_state *p = &stack[stack_depth];
-
- /* Accumulate character data. */
- if (len > 0)
- {
- if (p->buflen + len > p->bufmax)
- {
- p->bufmax = 2 * p->bufmax;
- if (p->bufmax < p->buflen + len)
- p->bufmax = p->buflen + len;
- p->buffer = (char *) xrealloc (p->buffer, p->bufmax);
- }
- memcpy (p->buffer + p->buflen, s, len);
- p->buflen += len;
- }
-}
-
-/* Callback called when some comment text is seen. */
-static void
-comment_handler (void *userData, const char *data)
-{
- /* Split multiline comment into lines, and remove leading and trailing
- whitespace. */
- char *copy = xstrdup (data);
- char *p;
- char *q;
-
- for (p = copy; (q = strchr (p, '\n')) != NULL; p = q + 1)
- {
- while (p[0] == ' ' || p[0] == '\t')
- p++;
- while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
- q--;
- *q = '\0';
- savable_comment_add (p);
- }
- q = p + strlen (p);
- while (p[0] == ' ' || p[0] == '\t')
- p++;
- while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
- q--;
- *q = '\0';
- savable_comment_add (p);
- free (copy);
-}
-
-
-static void
-do_extract_gsettings (FILE *fp,
- const char *real_filename, const char *logical_filename,
- msgdomain_list_ty *mdlp)
-{
- mlp = mdlp->item[0]->messages;
-
- /* expat feeds us strings in UTF-8 encoding. */
- xgettext_current_source_encoding = po_charset_utf8;
-
- logical_file_name = xstrdup (logical_filename);
-
- parser = XML_ParserCreate (NULL);
- if (parser == NULL)
- error (EXIT_FAILURE, 0, _("memory exhausted"));
-
- XML_SetElementHandler (parser, start_element_handler, end_element_handler);
- XML_SetCharacterDataHandler (parser, character_data_handler);
- XML_SetCommentHandler (parser, comment_handler);
-
- stack_depth = 0;
-
- while (!feof (fp))
- {
- char buf[4096];
- int count = fread (buf, 1, sizeof buf, fp);
-
- if (count == 0)
- {
- if (ferror (fp))
- error (EXIT_FAILURE, errno, _("\
-error while reading \"%s\""), real_filename);
- /* EOF reached. */
- break;
- }
-
- if (XML_Parse (parser, buf, count, 0) == 0)
- error (EXIT_FAILURE, 0, _("%s:%lu:%lu: %s"), logical_filename,
- (unsigned long) XML_GetCurrentLineNumber (parser),
- (unsigned long) XML_GetCurrentColumnNumber (parser) + 1,
- XML_ErrorString (XML_GetErrorCode (parser)));
- }
-
- if (XML_Parse (parser, NULL, 0, 1) == 0)
- error (EXIT_FAILURE, 0, _("%s:%lu:%lu: %s"), logical_filename,
- (unsigned long) XML_GetCurrentLineNumber (parser),
- (unsigned long) XML_GetCurrentColumnNumber (parser) + 1,
- XML_ErrorString (XML_GetErrorCode (parser)));
-
- XML_ParserFree (parser);
-
- /* Close scanner. */
- logical_file_name = NULL;
- parser = NULL;
-}
-
-#endif
-
-void
-extract_gsettings (FILE *fp,
- const char *real_filename, const char *logical_filename,
- flag_context_list_table_ty *flag_table,
- msgdomain_list_ty *mdlp)
-{
-#if DYNLOAD_LIBEXPAT || HAVE_LIBEXPAT
- if (LIBEXPAT_AVAILABLE ())
- do_extract_gsettings (fp, real_filename, logical_filename, mdlp);
- else
-#endif
- {
- multiline_error (xstrdup (""),
- xasprintf (_("\
-Language \"gsettings\" is not supported. %s relies on expat.\n\
-This version was built without expat.\n"),
- basename (program_name)));
- exit (EXIT_FAILURE);
- }
-}
diff --git a/gettext-tools/src/x-gsettings.h b/gettext-tools/src/x-gsettings.h
index b06016d..00b968c 100644
--- a/gettext-tools/src/x-gsettings.h
+++ b/gettext-tools/src/x-gsettings.h
@@ -1,5 +1,6 @@
/* xgettext GSettings schema file backend.
- Copyright (C) 2002-2003, 2006, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2013, 2015 Free Software Foundation,
+ Inc.
Written by Daiki Ueno <ueno@gnu.org>, 2013.
This program is free software: you can redistribute it and/or modify
@@ -27,17 +28,13 @@ extern "C" {
#endif
-#define EXTENSIONS_GSETTINGS \
- { "gschema.xml", "gsettings" }, \
+/* The scanner is implemented as ITS rules, in its/gsettings.its. */
-#define SCANNERS_GSETTINGS \
- { "gsettings", extract_gsettings, NULL, NULL, NULL, NULL }, \
+#define EXTENSIONS_GSETTINGS \
+ { "gschema.xml", NULL }, \
-/* Scan a gsettings XML file and add its translatable strings to mdlp. */
-extern void extract_gsettings (FILE *fp, const char *real_filename,
- const char *logical_filename,
- flag_context_list_table_ty *flag_table,
- msgdomain_list_ty *mdlp);
+#define SCANNERS_GSETTINGS \
+ { "gsettings", NULL, NULL, NULL, NULL, NULL }, \
#ifdef __cplusplus
diff --git a/gettext-tools/src/x-java.c b/gettext-tools/src/x-java.c
index 58c1ad7..3bc75fe 100644
--- a/gettext-tools/src/x-java.c
+++ b/gettext-tools/src/x-java.c
@@ -1,5 +1,5 @@
/* xgettext Java backend.
- Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-java.h b/gettext-tools/src/x-java.h
index 49f2af9..2719c42 100644
--- a/gettext-tools/src/x-java.h
+++ b/gettext-tools/src/x-java.h
@@ -1,5 +1,5 @@
/* xgettext Java backend.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Tommy Johansson <tommy.johansson@kanalen.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-javascript.c b/gettext-tools/src/x-javascript.c
index 35c9a9e..bc4d4c8 100644
--- a/gettext-tools/src/x-javascript.c
+++ b/gettext-tools/src/x-javascript.c
@@ -1,5 +1,6 @@
/* xgettext JavaScript backend.
- Copyright (C) 2002-2003, 2005-2009, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2009, 2013, 2015 Free Software
+ Foundation, Inc.
This file was written by Andreas Stricker <andy@knitter.ch>, 2010
It's based on x-python from Bruno Haible.
diff --git a/gettext-tools/src/x-javascript.h b/gettext-tools/src/x-javascript.h
index a2f6418..5d2d980 100644
--- a/gettext-tools/src/x-javascript.h
+++ b/gettext-tools/src/x-javascript.h
@@ -1,5 +1,6 @@
/* xgettext JavaScript backend.
- Copyright (C) 2002-2003, 2006, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2013, 2015 Free Software Foundation,
+ Inc.
This file was written by Andreas Stricker <andy@knitter.ch>, 2010.
It's based on x-python from Bruno Haible.
diff --git a/gettext-tools/src/x-librep.c b/gettext-tools/src/x-librep.c
index c91d22a..a515f29 100644
--- a/gettext-tools/src/x-librep.c
+++ b/gettext-tools/src/x-librep.c
@@ -1,5 +1,6 @@
/* xgettext librep backend.
- Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2001.
diff --git a/gettext-tools/src/x-librep.h b/gettext-tools/src/x-librep.h
index 5747db1..129a6c3 100644
--- a/gettext-tools/src/x-librep.h
+++ b/gettext-tools/src/x-librep.h
@@ -1,5 +1,5 @@
/* xgettext librep backend.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-lisp.c b/gettext-tools/src/x-lisp.c
index 20d88a2..0d3a1c4 100644
--- a/gettext-tools/src/x-lisp.c
+++ b/gettext-tools/src/x-lisp.c
@@ -1,5 +1,6 @@
/* xgettext Lisp backend.
- Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2001.
diff --git a/gettext-tools/src/x-lisp.h b/gettext-tools/src/x-lisp.h
index 97b593d..e9d0a0b 100644
--- a/gettext-tools/src/x-lisp.h
+++ b/gettext-tools/src/x-lisp.h
@@ -1,5 +1,5 @@
/* xgettext Lisp backend.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-lua.c b/gettext-tools/src/x-lua.c
index 9fcc20d..5050838 100644
--- a/gettext-tools/src/x-lua.c
+++ b/gettext-tools/src/x-lua.c
@@ -1,5 +1,5 @@
/* xgettext Lua backend.
- Copyright (C) 2012-2013 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file was written by Ľubomír Remák <lubomirr@lubomirr.eu>, 2012.
diff --git a/gettext-tools/src/x-lua.h b/gettext-tools/src/x-lua.h
index 3161638..7af3525 100644
--- a/gettext-tools/src/x-lua.h
+++ b/gettext-tools/src/x-lua.h
@@ -1,5 +1,5 @@
/* xgettext Lua backend.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2015 Free Software Foundation, Inc.
Written by Ľubomír Remák <lubomirrk@lubomirr.eu>, 2011
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-perl.c b/gettext-tools/src/x-perl.c
index 571f6de..396b7b5 100644
--- a/gettext-tools/src/x-perl.c
+++ b/gettext-tools/src/x-perl.c
@@ -1,5 +1,5 @@
/* xgettext Perl backend.
- Copyright (C) 2002-2010 Free Software Foundation, Inc.
+ Copyright (C) 2002-2010, 2015 Free Software Foundation, Inc.
This file was written by Guido Flohr <guido@imperia.net>, 2002-2010.
diff --git a/gettext-tools/src/x-perl.h b/gettext-tools/src/x-perl.h
index 8e140e9..4f7a2b3 100644
--- a/gettext-tools/src/x-perl.h
+++ b/gettext-tools/src/x-perl.h
@@ -1,5 +1,6 @@
/* xgettext Perl backend.
- Copyright (C) 2002-2003, 2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2010, 2015 Free Software Foundation,
+ Inc.
Written by Guido Flohr <guido@imperia.net>, 2002-2003
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-php.c b/gettext-tools/src/x-php.c
index 74b8ece..ac5cf96 100644
--- a/gettext-tools/src/x-php.c
+++ b/gettext-tools/src/x-php.c
@@ -1,5 +1,6 @@
/* xgettext PHP backend.
- Copyright (C) 2001-2003, 2005-2010 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2010, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <bruno@clisp.org>, 2002.
diff --git a/gettext-tools/src/x-php.h b/gettext-tools/src/x-php.h
index 79442b4..0d13fee 100644
--- a/gettext-tools/src/x-php.h
+++ b/gettext-tools/src/x-php.h
@@ -1,5 +1,5 @@
/* xgettext PHP backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-po.c b/gettext-tools/src/x-po.c
index 89824e2..65d8cc0 100644
--- a/gettext-tools/src/x-po.c
+++ b/gettext-tools/src/x-po.c
@@ -1,5 +1,6 @@
/* xgettext PO and JavaProperties backends.
- Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006, 2008-2009, 2015 Free
+ Software Foundation, Inc.
This file was written by Peter Miller <millerp@canb.auug.org.au>
diff --git a/gettext-tools/src/x-po.h b/gettext-tools/src/x-po.h
index 0d350d8..e76d77b 100644
--- a/gettext-tools/src/x-po.h
+++ b/gettext-tools/src/x-po.h
@@ -1,5 +1,5 @@
/* xgettext PO backend.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-properties.h b/gettext-tools/src/x-properties.h
index fd16ab3..0935466 100644
--- a/gettext-tools/src/x-properties.h
+++ b/gettext-tools/src/x-properties.h
@@ -1,5 +1,5 @@
/* xgettext JavaProperties backend.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-python.c b/gettext-tools/src/x-python.c
index d781ef2..8122c34 100644
--- a/gettext-tools/src/x-python.c
+++ b/gettext-tools/src/x-python.c
@@ -1,5 +1,6 @@
/* xgettext Python backend.
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
diff --git a/gettext-tools/src/x-python.h b/gettext-tools/src/x-python.h
index f7861fb..57d379d 100644
--- a/gettext-tools/src/x-python.h
+++ b/gettext-tools/src/x-python.h
@@ -1,5 +1,5 @@
/* xgettext Python backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-rst.c b/gettext-tools/src/x-rst.c
index 8b5a26a..f673299 100644
--- a/gettext-tools/src/x-rst.c
+++ b/gettext-tools/src/x-rst.c
@@ -1,5 +1,6 @@
/* xgettext RST backend.
- Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2001.
diff --git a/gettext-tools/src/x-rst.h b/gettext-tools/src/x-rst.h
index 6507d0d..a6ac552 100644
--- a/gettext-tools/src/x-rst.h
+++ b/gettext-tools/src/x-rst.h
@@ -1,5 +1,5 @@
/* xgettext RST backend.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-scheme.c b/gettext-tools/src/x-scheme.c
index e8cfe84..abbe0e5 100644
--- a/gettext-tools/src/x-scheme.c
+++ b/gettext-tools/src/x-scheme.c
@@ -1,5 +1,5 @@
/* xgettext Scheme backend.
- Copyright (C) 2004-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2004-2009, 2011, 2015 Free Software Foundation, Inc.
This file was written by Bruno Haible <bruno@clisp.org>, 2004-2005.
diff --git a/gettext-tools/src/x-scheme.h b/gettext-tools/src/x-scheme.h
index a159ab1..039979f 100644
--- a/gettext-tools/src/x-scheme.h
+++ b/gettext-tools/src/x-scheme.h
@@ -1,5 +1,5 @@
/* xgettext Scheme backend.
- Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2004.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-sh.c b/gettext-tools/src/x-sh.c
index 9a0614f..3746a9a 100644
--- a/gettext-tools/src/x-sh.c
+++ b/gettext-tools/src/x-sh.c
@@ -1,5 +1,5 @@
/* xgettext sh backend.
- Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2009, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-sh.h b/gettext-tools/src/x-sh.h
index d235751..a31eeff 100644
--- a/gettext-tools/src/x-sh.h
+++ b/gettext-tools/src/x-sh.h
@@ -1,5 +1,5 @@
/* xgettext sh backend.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-smalltalk.c b/gettext-tools/src/x-smalltalk.c
index c3f9699..9c079cc 100644
--- a/gettext-tools/src/x-smalltalk.c
+++ b/gettext-tools/src/x-smalltalk.c
@@ -1,5 +1,6 @@
/* xgettext Smalltalk backend.
- Copyright (C) 2002-2003, 2005-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2009, 2011, 2015 Free Software
+ Foundation, Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
diff --git a/gettext-tools/src/x-smalltalk.h b/gettext-tools/src/x-smalltalk.h
index 10767d9..9061f29 100644
--- a/gettext-tools/src/x-smalltalk.h
+++ b/gettext-tools/src/x-smalltalk.h
@@ -1,5 +1,5 @@
/* xgettext Smalltalk backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-stringtable.h b/gettext-tools/src/x-stringtable.h
index 57df745..2c519e8 100644
--- a/gettext-tools/src/x-stringtable.h
+++ b/gettext-tools/src/x-stringtable.h
@@ -1,5 +1,5 @@
/* xgettext NXStringTable backend.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-tcl.c b/gettext-tools/src/x-tcl.c
index 37dd19e..905d55c 100644
--- a/gettext-tools/src/x-tcl.c
+++ b/gettext-tools/src/x-tcl.c
@@ -1,5 +1,6 @@
/* xgettext Tcl backend.
- Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2009, 2015 Free Software Foundation,
+ Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
diff --git a/gettext-tools/src/x-tcl.h b/gettext-tools/src/x-tcl.h
index 1dc5412..00f6fc5 100644
--- a/gettext-tools/src/x-tcl.h
+++ b/gettext-tools/src/x-tcl.h
@@ -1,5 +1,5 @@
/* xgettext Tcl Lisp backend.
- Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2002.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/x-vala.c b/gettext-tools/src/x-vala.c
index 4806b36..4e53b50 100644
--- a/gettext-tools/src/x-vala.c
+++ b/gettext-tools/src/x-vala.c
@@ -1,5 +1,5 @@
/* xgettext Vala backend.
- Copyright (C) 2013 Free Software Foundation, Inc.
+ Copyright (C) 2013, 2015 Free Software Foundation, Inc.
This file was written by Daiki Ueno <ueno@gnu.org>, 2013.
diff --git a/gettext-tools/src/x-vala.h b/gettext-tools/src/x-vala.h
index 9eb730b..fcd0cfb 100644
--- a/gettext-tools/src/x-vala.h
+++ b/gettext-tools/src/x-vala.h
@@ -1,5 +1,6 @@
/* xgettext Vala backend.
- Copyright (C) 2002-2003, 2006, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2006, 2013, 2015 Free Software Foundation,
+ Inc.
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
diff --git a/gettext-tools/src/x-ycp.c b/gettext-tools/src/x-ycp.c
index ff8642b..62ab94d 100644
--- a/gettext-tools/src/x-ycp.c
+++ b/gettext-tools/src/x-ycp.c
@@ -1,5 +1,6 @@
/* xgettext YCP backend.
- Copyright (C) 2001-2003, 2005-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2009, 2011, 2015 Free Software
+ Foundation, Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2001.
diff --git a/gettext-tools/src/x-ycp.h b/gettext-tools/src/x-ycp.h
index 78cc853..3ecb097 100644
--- a/gettext-tools/src/x-ycp.h
+++ b/gettext-tools/src/x-ycp.h
@@ -1,5 +1,5 @@
/* xgettext YCP backend.
- Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/src/xgettext.c b/gettext-tools/src/xgettext.c
index 28d28a0..314d35c 100644
--- a/gettext-tools/src/xgettext.c
+++ b/gettext-tools/src/xgettext.c
@@ -1,5 +1,6 @@
/* Extracts strings from C source file to Uniforum style .po file.
- Copyright (C) 1995-1998, 2000-2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2015 Free Software Foundation,
+ Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, April 1995.
This program is free software: you can redistribute it and/or modify
@@ -28,6 +29,7 @@
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
+#include <sys/stat.h>
#include <locale.h>
#include <limits.h>
@@ -58,6 +60,8 @@
#include "po-charset.h"
#include "msgl-iconv.h"
#include "msgl-ascii.h"
+#include "msgl-check.h"
+#include "po-xerror.h"
#include "po-time.h"
#include "write-catalog.h"
#include "write-po.h"
@@ -66,7 +70,10 @@
#include "color.h"
#include "format.h"
#include "propername.h"
+#include "sentence.h"
#include "unistr.h"
+#include "its.h"
+#include "locating-rule.h"
#include "gettext.h"
/* A convenience macro. I don't like writing gettext() every time. */
@@ -85,6 +92,7 @@
#include "x-java.h"
#include "x-properties.h"
#include "x-csharp.h"
+#include "x-appdata.h"
#include "x-awk.h"
#include "x-ycp.h"
#include "x-tcl.h"
@@ -100,6 +108,10 @@
#include "x-desktop.h"
+#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
+#define ENDOF(a) ((a) + SIZEOF(a))
+
+
/* If nonzero add all comments immediately preceding one of the keywords. */
static bool add_all_comments = false;
@@ -179,6 +191,9 @@ static bool recognize_format_kde;
/* If true, recognize Boost format strings. */
static bool recognize_format_boost;
+/* Syntax checks enabled by default. */
+static enum is_syntax_check default_syntax_check[NSYNTAXCHECKS];
+
/* Canonicalized encoding name for all input files. */
const char *xgettext_global_source_encoding;
@@ -197,6 +212,17 @@ const char *xgettext_current_source_encoding;
iconv_t xgettext_current_source_iconv;
#endif
+static locating_rule_list_ty *its_locating_rules;
+
+#define ITS_ROOT_UNTRANSLATABLE \
+ "<its:rules xmlns:its=\"http://www.w3.org/2005/11/its\"" \
+ " version=\"2.0\">" \
+ " <its:translateRule selector=\"/*\" translate=\"no\"/>" \
+ "</its:rules>"
+
+/* If nonzero add comments used by itstool. */
+static bool add_itstool_comments = false;
+
/* Long options. */
static const struct option long_options[] =
{
@@ -204,6 +230,7 @@ static const struct option long_options[] =
{ "add-location", optional_argument, NULL, 'n' },
{ "boost", no_argument, NULL, CHAR_MAX + 11 },
{ "c++", no_argument, NULL, 'C' },
+ { "check", required_argument, NULL, CHAR_MAX + 17 },
{ "color", optional_argument, NULL, CHAR_MAX + 14 },
{ "copyright-holder", required_argument, NULL, CHAR_MAX + 1 },
{ "debug", no_argument, &do_debug, 1 },
@@ -219,6 +246,8 @@ static const struct option long_options[] =
{ "from-code", required_argument, NULL, CHAR_MAX + 3 },
{ "help", no_argument, NULL, 'h' },
{ "indent", no_argument, NULL, 'i' },
+ { "its", required_argument, NULL, CHAR_MAX + 20 },
+ { "itstool", no_argument, NULL, CHAR_MAX + 19 },
{ "join-existing", no_argument, NULL, 'j' },
{ "kde", no_argument, NULL, CHAR_MAX + 10 },
{ "keyword", optional_argument, NULL, 'k' },
@@ -236,6 +265,7 @@ static const struct option long_options[] =
{ "package-version", required_argument, NULL, CHAR_MAX + 13 },
{ "properties-output", no_argument, NULL, CHAR_MAX + 6 },
{ "qt", no_argument, NULL, CHAR_MAX + 9 },
+ { "sentence-end", required_argument, NULL, CHAR_MAX + 18 },
{ "sort-by-file", no_argument, NULL, 'F' },
{ "sort-output", no_argument, NULL, 's' },
{ "strict", no_argument, NULL, 'S' },
@@ -278,6 +308,9 @@ static void usage (int status)
static void read_exclusion_file (char *file_name);
static void extract_from_file (const char *file_name, extractor_ty extractor,
msgdomain_list_ty *mdlp);
+static void extract_from_xml_file (const char *file_name,
+ its_rule_list_ty *rules,
+ msgdomain_list_ty *mdlp);
static message_ty *construct_header (void);
static void finalize_header (msgdomain_list_ty *mdlp);
static extractor_ty language_to_extractor (const char *name);
@@ -296,6 +329,8 @@ main (int argc, char *argv[])
bool some_additional_keywords = false;
bool sort_by_msgid = false;
bool sort_by_filepos = false;
+ char *its_dirs[2] = { NULL, NULL };
+ char *explicit_its_filename = NULL;
const char *file_name;
const char *files_from = NULL;
string_list_ty *file_list;
@@ -328,6 +363,7 @@ main (int argc, char *argv[])
init_flag_table_c ();
init_flag_table_objc ();
init_flag_table_gcc_internal ();
+ init_flag_table_kde ();
init_flag_table_sh ();
init_flag_table_python ();
init_flag_table_lisp ();
@@ -346,7 +382,7 @@ main (int argc, char *argv[])
init_flag_table_vala ();
while ((optchar = getopt_long (argc, argv,
- "ac::Cd:D:eEf:Fhijk::l:L:m::M::no:p:sTVw:x:",
+ "ac::Cd:D:eEf:Fhijk::l:L:m::M::no:p:sTVw:W:x:",
long_options, NULL)) != EOF)
switch (optchar)
{
@@ -367,7 +403,6 @@ main (int argc, char *argv[])
x_tcl_extract_all ();
x_perl_extract_all ();
x_php_extract_all ();
- x_glade_extract_all ();
x_lua_extract_all ();
x_javascript_extract_all ();
x_vala_extract_all ();
@@ -447,7 +482,6 @@ main (int argc, char *argv[])
x_tcl_keyword (optarg);
x_perl_keyword (optarg);
x_php_keyword (optarg);
- x_glade_keyword (optarg);
x_lua_keyword (optarg);
x_javascript_keyword (optarg);
x_vala_keyword (optarg);
@@ -575,6 +609,7 @@ main (int argc, char *argv[])
case CHAR_MAX + 10: /* --kde */
recognize_format_kde = true;
+ activate_additional_keywords_kde ();
break;
case CHAR_MAX + 11: /* --boost */
@@ -602,6 +637,34 @@ main (int argc, char *argv[])
message_print_style_filepos (filepos_comment_none);
break;
+ case CHAR_MAX + 17: /* --check */
+ if (strcmp (optarg, "ellipsis-unicode") == 0)
+ default_syntax_check[sc_ellipsis_unicode] = yes;
+ else if (strcmp (optarg, "space-ellipsis") == 0)
+ default_syntax_check[sc_space_ellipsis] = yes;
+ else if (strcmp (optarg, "quote-unicode") == 0)
+ default_syntax_check[sc_quote_unicode] = yes;
+ else
+ error (EXIT_FAILURE, 0, _("syntax check '%s' unknown"), optarg);
+ break;
+
+ case CHAR_MAX + 18: /* --sentence-end */
+ if (strcmp (optarg, "single-space") == 0)
+ sentence_end_required_spaces = 1;
+ else if (strcmp (optarg, "double-space") == 0)
+ sentence_end_required_spaces = 2;
+ else
+ error (EXIT_FAILURE, 0, _("sentence end type '%s' unknown"), optarg);
+ break;
+
+ case CHAR_MAX + 20: /* --its */
+ explicit_its_filename = optarg;
+ break;
+
+ case CHAR_MAX + 19: /* --itstool */
+ add_itstool_comments = true;
+ break;
+
default:
usage (EXIT_FAILURE);
/* NOTREACHED */
@@ -662,6 +725,36 @@ xgettext cannot work without keywords to look for"));
usage (EXIT_FAILURE);
}
+ {
+ const char *gettextdatadir;
+ char *versioned_gettextdatadir;
+
+ /* Make it possible to override the locator file location. This
+ is necessary for running the testsuite before "make
+ install". */
+ gettextdatadir = getenv ("GETTEXTDATADIR");
+ if (gettextdatadir == NULL || gettextdatadir[0] == '\0')
+ gettextdatadir = relocate (GETTEXTDATADIR);
+
+ its_dirs[0] = xconcatenated_filename (gettextdatadir, "its", NULL);
+
+ versioned_gettextdatadir =
+ xasprintf ("%s%s", relocate (GETTEXTDATADIR), PACKAGE_SUFFIX);
+ its_dirs[1] = xconcatenated_filename (versioned_gettextdatadir, "its",
+ NULL);
+ free (versioned_gettextdatadir);
+
+ its_locating_rules = locating_rule_list_alloc ();
+ for (i = 0; i < SIZEOF (its_dirs); i++)
+ locating_rule_list_add_from_directory (its_locating_rules, its_dirs[i]);
+ }
+
+ /* Explicit ITS file selection and language specification are
+ mutually exclusive. */
+ if (explicit_its_filename != NULL && language != NULL)
+ error (EXIT_FAILURE, 0, _("%s and %s are mutually exclusive"),
+ "--its", "--language");
+
/* Determine extractor from language. */
if (language != NULL)
extractor = language_to_extractor (language);
@@ -760,18 +853,27 @@ This version was built without iconv()."),
{
const char *filename;
extractor_ty this_file_extractor;
+ its_rule_list_ty *its_rules = NULL;
filename = file_list->item[i];
if (extractor.func)
this_file_extractor = extractor;
+ else if (explicit_its_filename != NULL)
+ {
+ its_rules = its_rule_list_alloc ();
+ if (!its_rule_list_add_from_file (its_rules,
+ explicit_its_filename))
+ {
+ error (EXIT_FAILURE, 0, _("\
+warning: ITS rule file '%s' does not exist"), explicit_its_filename);
+ }
+ }
else
{
+ const char *language_from_extension = NULL;
const char *base;
char *reduced;
- const char *extension;
- const char *language;
- const char *p;
base = strrchr (filename, '/');
if (!base)
@@ -783,39 +885,106 @@ This version was built without iconv()."),
&& memcmp (reduced + strlen (reduced) - 3, ".in", 3) == 0)
reduced[strlen (reduced) - 3] = '\0';
- /* Work out what the file extension is. */
- language = NULL;
- p = reduced + strlen (reduced);
- for (; p > reduced && language == NULL; p--)
+ /* If no language is specified with -L, deduce it the extension. */
+ if (language == NULL)
{
- if (*p == '.')
+ const char *p;
+
+ /* Work out what the file extension is. */
+ p = reduced + strlen (reduced);
+ for (; p > reduced && language_from_extension == NULL; p--)
{
- extension = p + 1;
+ if (*p == '.')
+ {
+ const char *extension = p + 1;
- /* Derive the language from the extension, and the extractor
- function from the language. */
- language = extension_to_language (extension);
+ /* Derive the language from the extension, and
+ the extractor function from the language. */
+ language_from_extension =
+ extension_to_language (extension);
+ }
}
}
- if (language == NULL)
+ /* If language is not determined from the file name
+ extension, check ITS locating rules. */
+ if (language_from_extension == NULL
+ && strcmp (filename, "-") != 0)
{
- extension = strrchr (reduced, '.');
- if (extension == NULL)
- extension = "";
- else
- extension++;
- error (0, 0, _("\
+ const char *its_basename;
+
+ its_basename = locating_rule_list_locate (its_locating_rules,
+ filename,
+ language);
+
+ if (its_basename != NULL)
+ {
+ size_t j;
+
+ its_rules = its_rule_list_alloc ();
+
+ /* If the ITS file is identified by the name,
+ set the root element untranslatable. */
+ if (language != NULL)
+ its_rule_list_add_from_string (its_rules,
+ ITS_ROOT_UNTRANSLATABLE);
+
+ for (j = 0; j < SIZEOF (its_dirs); j++)
+ {
+ char *its_filename =
+ xconcatenated_filename (its_dirs[j], its_basename,
+ NULL);
+ struct stat statbuf;
+ bool ok = false;
+
+ if (stat (its_filename, &statbuf) == 0)
+ ok = its_rule_list_add_from_file (its_rules,
+ its_filename);
+ free (its_filename);
+ if (ok)
+ break;
+ }
+ if (j == SIZEOF (its_dirs))
+ {
+ error (0, 0, _("\
+warning: ITS rule file '%s' does not exist; check your gettext installation"),
+ its_basename);
+ its_rule_list_free (its_rules);
+ its_rules = NULL;
+ }
+ }
+ }
+
+ if (its_rules == NULL)
+ {
+ if (language_from_extension == NULL)
+ {
+ const char *extension = strrchr (reduced, '.');
+ if (extension == NULL)
+ extension = "";
+ else
+ extension++;
+ error (0, 0, _("\
warning: file '%s' extension '%s' is unknown; will try C"), filename, extension);
- language = "C";
+ language_from_extension = "C";
+ }
+
+ this_file_extractor =
+ language_to_extractor (language_from_extension);
}
- this_file_extractor = language_to_extractor (language);
free (reduced);
}
- /* Extract the strings from the file. */
- extract_from_file (filename, this_file_extractor, mdlp);
+ if (its_rules != NULL)
+ {
+ /* Extract the strings from the file, using ITS. */
+ extract_from_xml_file (filename, its_rules, mdlp);
+ its_rule_list_free (its_rules);
+ }
+ else
+ /* Extract the strings from the file. */
+ extract_from_file (filename, this_file_extractor, mdlp);
}
string_list_free (file_list);
@@ -836,9 +1005,33 @@ warning: file '%s' extension '%s' is unknown; will try C"), filename, extension)
else if (sort_by_msgid)
msgdomain_list_sort_by_msgid (mdlp);
+ /* Check syntax of messages. */
+ {
+ int nerrors = 0;
+
+ for (i = 0; i < mdlp->nitems; i++)
+ {
+ message_list_ty *mlp = mdlp->item[i]->messages;
+ nerrors = syntax_check_message_list (mlp);
+ }
+
+ /* Exit with status 1 on any error. */
+ if (nerrors > 0)
+ error (EXIT_FAILURE, 0,
+ ngettext ("found %d fatal error", "found %d fatal errors",
+ nerrors),
+ nerrors);
+ }
+
/* Write the PO file. */
msgdomain_list_print (mdlp, file_name, output_syntax, force_po, do_debug);
+ if (its_locating_rules)
+ locating_rule_list_free (its_locating_rules);
+
+ for (i = 0; i < SIZEOF (its_dirs); i++)
+ free (its_dirs[i]);
+
exit (EXIT_SUCCESS);
}
@@ -921,6 +1114,14 @@ Operation mode:\n"));
preceding keyword lines in output file\n\
-c, --add-comments place all comment blocks preceding keyword lines\n\
in output file\n"));
+ printf (_("\
+ --check=NAME perform syntax check on messages\n\
+ (ellipsis-unicode, space-ellipsis,\n\
+ quote-unicode)\n"));
+ printf (_("\
+ --sentence-end=TYPE type describing the end of sentence\n\
+ (single-space, which is the default, \n\
+ or double-space)\n"));
printf ("\n");
printf (_("\
Language specific options:\n"));
@@ -993,6 +1194,10 @@ Output details:\n"));
printf (_("\
--stringtable-output write out a NeXTstep/GNUstep .strings file\n"));
printf (_("\
+ --its=FILE apply ITS rules from FILE\n"));
+ printf (_("\
+ --itstool write out itstool comments\n"));
+ printf (_("\
-w, --width=NUMBER set output page width\n"));
printf (_("\
--no-wrap do not break long message lines, longer than\n\
@@ -1644,8 +1849,8 @@ xgettext_record_flag (const char *optionstring)
flag += 5;
}
- /* Unlike po_parse_comment_special(), we don't accept "fuzzy" or "wrap"
- here - it has no sense. */
+ /* Unlike po_parse_comment_special(), we don't accept "fuzzy",
+ "wrap", or "check" here - it has no sense. */
if (strlen (flag) >= 7
&& memcmp (flag + strlen (flag) - 7, "-format", 7) == 0)
{
@@ -1810,6 +2015,11 @@ xgettext_record_flag (const char *optionstring)
name_start, name_end,
argnum, value, pass);
break;
+ case format_kde_kuit:
+ flag_context_list_table_insert (&flag_table_cxx_kde, 2,
+ name_start, name_end,
+ argnum, value, pass);
+ break;
case format_boost:
flag_context_list_table_insert (&flag_table_cxx_boost, 1,
name_start, name_end,
@@ -2049,6 +2259,65 @@ extract_from_file (const char *file_name, extractor_ty extractor,
free (real_file_name);
}
+static message_ty *
+xgettext_its_extract_callback (message_list_ty *mlp,
+ const char *msgctxt,
+ const char *msgid,
+ lex_pos_ty *pos,
+ const char *extracted_comment,
+ const char *marker,
+ enum its_whitespace_type_ty whitespace)
+{
+ message_ty *message;
+
+ message = remember_a_message (mlp,
+ msgctxt == NULL ? NULL : xstrdup (msgctxt),
+ xstrdup (msgid),
+ null_context, pos,
+ extracted_comment, NULL);
+
+ if (add_itstool_comments)
+ {
+ char *dot = xasprintf ("(itstool) path: %s", marker);
+ message_comment_dot_append (message, dot);
+ free (dot);
+
+ if (whitespace == ITS_WHITESPACE_PRESERVE)
+ message->do_wrap = no;
+ }
+
+ return message;
+}
+
+static void
+extract_from_xml_file (const char *file_name,
+ its_rule_list_ty *rules,
+ msgdomain_list_ty *mdlp)
+{
+ char *logical_file_name;
+ char *real_file_name;
+ FILE *fp = xgettext_open (file_name, &logical_file_name, &real_file_name);
+
+ /* The default encoding for XML is UTF-8. It can be overridden by
+ an XML declaration in the XML file itself, not through the
+ --from-code option. */
+ xgettext_current_source_encoding = po_charset_utf8;
+
+#if HAVE_ICONV
+ xgettext_current_source_iconv = xgettext_global_source_iconv;
+#endif
+
+ its_rule_list_extract (rules, fp, real_file_name, logical_file_name,
+ NULL,
+ mdlp,
+ xgettext_its_extract_callback);
+
+ if (fp != stdin)
+ fclose (fp);
+ free (logical_file_name);
+ free (real_file_name);
+}
+
/* Error message about non-ASCII character in a specific lexical context. */
@@ -2238,6 +2507,7 @@ remember_a_message (message_list_ty *mlp, char *msgctxt, char *msgid,
enum is_format is_format[NFORMATS];
struct argument_range range;
enum is_wrap do_wrap;
+ enum is_syntax_check do_syntax_check[NSYNTAXCHECKS];
message_ty *mp;
char *msgstr;
size_t i;
@@ -2264,6 +2534,8 @@ remember_a_message (message_list_ty *mlp, char *msgctxt, char *msgid,
range.min = -1;
range.max = -1;
do_wrap = undecided;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ do_syntax_check[i] = undecided;
if (msgctxt != NULL)
CONVERT_STRING (msgctxt, lc_string);
@@ -2297,6 +2569,8 @@ meta information, not the empty string.\n")));
for (i = 0; i < NFORMATS; i++)
is_format[i] = mp->is_format[i];
do_wrap = mp->do_wrap;
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ do_syntax_check[i] = mp->do_syntax_check[i];
}
else
{
@@ -2327,7 +2601,7 @@ meta information, not the empty string.\n")));
/* The string before the comment tag. For example, If "** TRANSLATORS:"
is seen and the comment tag is "TRANSLATORS:",
then comment_tag_prefix is set to "** ". */
- const char *comment_tag_prefix = NULL;
+ const char *comment_tag_prefix = "";
size_t comment_tag_prefix_length = 0;
nitems_before = (mp->comment_dot != NULL ? mp->comment_dot->nitems : 0);
@@ -2376,12 +2650,13 @@ meta information, not the empty string.\n")));
enum is_format tmp_format[NFORMATS];
struct argument_range tmp_range;
enum is_wrap tmp_wrap;
+ enum is_syntax_check tmp_syntax_check[NSYNTAXCHECKS];
bool interesting;
t += strlen ("xgettext:");
po_parse_comment_special (t, &tmp_fuzzy, tmp_format, &tmp_range,
- &tmp_wrap);
+ &tmp_wrap, tmp_syntax_check);
interesting = false;
for (i = 0; i < NFORMATS; i++)
@@ -2400,6 +2675,12 @@ meta information, not the empty string.\n")));
do_wrap = tmp_wrap;
interesting = true;
}
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ if (tmp_syntax_check[i] != undecided)
+ {
+ do_syntax_check[i] = tmp_syntax_check[i];
+ interesting = true;
+ }
/* If the "xgettext:" marker was followed by an interesting
keyword, and we updated our is_format/do_wrap variables,
@@ -2477,7 +2758,19 @@ meta information, not the empty string.\n")));
&& (possible_format_p (is_format[format_qt])
|| possible_format_p (is_format[format_qt_plural])
|| possible_format_p (is_format[format_kde])
- || possible_format_p (is_format[format_boost]))))
+ || possible_format_p (is_format[format_kde_kuit])
+ || possible_format_p (is_format[format_boost])))
+ /* Avoid flagging a string as kde-format when it's known to
+ be a kde-kuit-format string. */
+ && !(i == format_kde
+ && possible_format_p (is_format[format_kde_kuit]))
+ /* Avoid flagging a string as kde-kuit-format when it's
+ known to be a kde-format string. Note that this relies
+ on the fact that format_kde < format_kde_kuit, so a
+ string will be marked as kde-format if both are
+ undecided. */
+ && !(i == format_kde_kuit
+ && possible_format_p (is_format[format_kde])))
{
struct formatstring_parser *parser = formatstring_parsers[i];
char *invalid_reason = NULL;
@@ -2525,6 +2818,14 @@ meta information, not the empty string.\n")));
mp->do_wrap = do_wrap == no ? no : yes; /* By default we wrap. */
+ for (i = 0; i < NSYNTAXCHECKS; i++)
+ {
+ if (do_syntax_check[i] == undecided)
+ do_syntax_check[i] = default_syntax_check[i] == yes ? yes : no;
+
+ mp->do_syntax_check[i] = do_syntax_check[i];
+ }
+
/* Warn about the use of non-reorderable format strings when the programming
language also provides reorderable format strings. */
warn_format_string (is_format, mp->msgid, pos, "msgid");
@@ -2604,7 +2905,19 @@ remember_a_message_plural (message_ty *mp, char *string,
&& (possible_format_p (mp->is_format[format_qt])
|| possible_format_p (mp->is_format[format_qt_plural])
|| possible_format_p (mp->is_format[format_kde])
- || possible_format_p (mp->is_format[format_boost]))))
+ || possible_format_p (mp->is_format[format_kde_kuit])
+ || possible_format_p (mp->is_format[format_boost])))
+ /* Avoid flagging a string as kde-format when it's known
+ to be a kde-kuit-format string. */
+ && !(i == format_kde
+ && possible_format_p (mp->is_format[format_kde_kuit]))
+ /* Avoid flagging a string as kde-kuit-format when it's
+ known to be a kde-format string. Note that this relies
+ on the fact that format_kde < format_kde_kuit, so a
+ string will be marked as kde-format if both are
+ undecided. */
+ && !(i == format_kde_kuit
+ && possible_format_p (mp->is_format[format_kde])))
{
struct formatstring_parser *parser = formatstring_parsers[i];
char *invalid_reason = NULL;
@@ -3457,9 +3770,10 @@ Content-Transfer-Encoding: 8bit\n",
comment = xasprintf ("\
SOME DESCRIPTIVE TITLE.\n\
Copyright (C) YEAR %s\n\
-This file is distributed under the same license as the PACKAGE package.\n\
+This file is distributed under the same license as the %s package.\n\
FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n",
- copyright_holder);
+ copyright_holder,
+ package_name != NULL ? package_name : "PACKAGE");
else
comment = xstrdup ("\
SOME DESCRIPTIVE TITLE.\n\
@@ -3555,10 +3869,6 @@ finalize_header (msgdomain_list_ty *mdlp)
}
-#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
-#define ENDOF(a) ((a) + SIZEOF(a))
-
-
static extractor_ty
language_to_extractor (const char *name)
{
@@ -3600,6 +3910,7 @@ language_to_extractor (const char *name)
SCANNERS_VALA
SCANNERS_GSETTINGS
SCANNERS_DESKTOP
+ SCANNERS_APPDATA
/* Here may follow more languages and their scanners: pike, etc...
Make sure new scanners honor the --exclude-file option. */
};
@@ -3632,6 +3943,7 @@ language_to_extractor (const char *name)
{
result.flag_table = &flag_table_cxx_kde;
result.formatstring_parser2 = &formatstring_kde;
+ result.formatstring_parser3 = &formatstring_kde_kuit;
}
/* Likewise for --boost. */
if (recognize_format_boost && strcmp (tp->name, "C++") == 0)
@@ -3689,6 +4001,7 @@ extension_to_language (const char *extension)
EXTENSIONS_VALA
EXTENSIONS_GSETTINGS
EXTENSIONS_DESKTOP
+ EXTENSIONS_APPDATA
/* Here may follow more file extensions... */
};
diff --git a/gettext-tools/src/xgettext.h b/gettext-tools/src/xgettext.h
index c852ae3..167fcd3 100644
--- a/gettext-tools/src/xgettext.h
+++ b/gettext-tools/src/xgettext.h
@@ -1,5 +1,6 @@
/* xgettext common functions.
- Copyright (C) 2001-2003, 2005-2006, 2008-2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2006, 2008-2009, 2011, 2015 Free
+ Software Foundation, Inc.
Written by Peter Miller <millerp@canb.auug.org.au>
and Bruno Haible <haible@clisp.cons.org>, 2001.
diff --git a/gettext-tools/styles/ChangeLog b/gettext-tools/styles/ChangeLog.0
index 3a0267b..c380920 100644
--- a/gettext-tools/styles/ChangeLog
+++ b/gettext-tools/styles/ChangeLog.0
@@ -1,3 +1,11 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/styles/Makefile.am b/gettext-tools/styles/Makefile.am
index e24e4ea..c50ac1b 100644
--- a/gettext-tools/styles/Makefile.am
+++ b/gettext-tools/styles/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-tools/styles subdirectory of GNU gettext
-## Copyright (C) 2006-2007 Free Software Foundation, Inc.
+## Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
##
## 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
diff --git a/gettext-tools/styles/Makefile.in b/gettext-tools/styles/Makefile.in
index 4a528dc..5d9ca68 100644
--- a/gettext-tools/styles/Makefile.in
+++ b/gettext-tools/styles/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -77,13 +87,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = styles
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -100,6 +107,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -107,6 +115,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -118,7 +127,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -148,10 +160,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -169,10 +187,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -202,6 +223,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -226,6 +248,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -233,6 +256,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -324,6 +348,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -377,6 +402,8 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(stylesdir)"
DATA = $(styles_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkgdatadir = $(datadir)/gettext
pkglibexecdir = @pkglibexecdir@
@@ -388,6 +415,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -449,6 +477,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -463,15 +492,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -480,6 +528,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -494,6 +552,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -502,6 +569,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -532,17 +602,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -581,6 +681,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -616,6 +719,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -639,11 +743,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -654,10 +767,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -686,10 +805,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -749,25 +875,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -779,13 +937,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -794,6 +967,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -805,6 +982,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -815,6 +998,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -837,9 +1026,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -861,12 +1059,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -887,6 +1095,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -906,6 +1116,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -921,9 +1132,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -936,9 +1152,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -964,7 +1185,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1040,13 +1265,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1065,6 +1293,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1073,6 +1302,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1082,9 +1312,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1095,6 +1325,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1104,6 +1335,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1113,6 +1345,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1131,6 +1364,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1140,6 +1374,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1170,12 +1405,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1194,6 +1431,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1202,16 +1444,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1230,19 +1489,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1260,6 +1544,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1289,16 +1577,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1324,6 +1621,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1350,6 +1650,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1364,6 +1665,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1478,7 +1780,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits styles/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits styles/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1677,6 +1978,8 @@ uninstall-am: uninstall-stylesDATA
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags-am uninstall uninstall-am uninstall-stylesDATA
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/gettext-tools/styles/po-default.css b/gettext-tools/styles/po-default.css
index a87c110..d535fa4 100644
--- a/gettext-tools/styles/po-default.css
+++ b/gettext-tools/styles/po-default.css
@@ -1,5 +1,5 @@
/* Default styling rules for PO files when doing terminal output.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/styles/po-emacs-x.css b/gettext-tools/styles/po-emacs-x.css
index 331e73c..d78470f 100644
--- a/gettext-tools/styles/po-emacs-x.css
+++ b/gettext-tools/styles/po-emacs-x.css
@@ -1,5 +1,5 @@
/* Styling rules for PO files, imitating emacs 21 and 22 in an X window.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/styles/po-emacs-xterm.css b/gettext-tools/styles/po-emacs-xterm.css
index fd70425..7c839eb 100644
--- a/gettext-tools/styles/po-emacs-xterm.css
+++ b/gettext-tools/styles/po-emacs-xterm.css
@@ -1,5 +1,5 @@
/* Styling rules for PO files, imitating emacs 22 in an xterm terminal.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/styles/po-emacs-xterm16.css b/gettext-tools/styles/po-emacs-xterm16.css
index c0f8a47..9e75e76 100644
--- a/gettext-tools/styles/po-emacs-xterm16.css
+++ b/gettext-tools/styles/po-emacs-xterm16.css
@@ -1,5 +1,5 @@
/* Styling rules for PO files, imitating emacs 22 in an xterm-16color terminal.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/styles/po-emacs-xterm256.css b/gettext-tools/styles/po-emacs-xterm256.css
index 00fd555..c63d43c 100644
--- a/gettext-tools/styles/po-emacs-xterm256.css
+++ b/gettext-tools/styles/po-emacs-xterm256.css
@@ -1,5 +1,5 @@
/* Styling rules for PO files, imitating emacs 22 in an xterm-256color terminal.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/styles/po-vim.css b/gettext-tools/styles/po-vim.css
index 591c4fe..41af15f 100644
--- a/gettext-tools/styles/po-vim.css
+++ b/gettext-tools/styles/po-vim.css
@@ -1,5 +1,5 @@
/* Styling rules for PO files, imitating vim 7.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog.1
index 47c51ff..1df1b73 100644
--- a/gettext-tools/tests/ChangeLog
+++ b/gettext-tools/tests/ChangeLog.1
@@ -1,3 +1,139 @@
+2015-09-11 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.6 released.
+
+2015-06-11 Philip Withnall <philip.withnall@collabora.co.uk>
+
+ xgettext: add support for AppData files
+ * Makefile.am (TESTS): Add xgettext-appdata-1.
+ * xgettext-appdata-1: New file.
+
+2015-08-21 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (check_PROGRAMS): Rename from noinst_PROGRAMS, to
+ defer the compilation until required.
+
+2015-07-28 Daiki Ueno <ueno@gnu.org>
+
+ * autopoint-2: Add checks for AM_GNU_GETTEXT_REQUIRE_VERSION.
+
+2015-07-28 Daiki Ueno <ueno@gnu.org>
+
+ * init-env.in (ARCHIVE_VERSION): New substituted variable.
+ * autopoint-2: Use ARCHIVE_VERSION, instead of the hard-coded
+ version string.
+ * autopoint-3: Likewise.
+
+2015-07-10 Daiki Ueno <ueno@gnu.org>
+
+ * gettext 0.19.5 released.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * autopoint-2 (required_gettext_version): Update to 0.19.5.
+ * autopoint-3 (required_gettext_version): Likewise.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * lang-bash: Skip if "bash --help" isn't localized on Mac OS X.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * msgfilter-8: Port the "echo -n" equivalent from gettext-2.
+ Reported by Paul Zimmermann in:
+ <https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00019.html>.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * cldr-plurals-1: Skip if XML is not supported.
+ * msginit-4: Likewise.
+
+2015-06-24 Daiki Ueno <ueno@gnu.org>
+
+ * format-kde-kuit-1: Skip if KDE KUIT format is not supported.
+ * format-kde-kuit-2: Likewise.
+ Suggested by Chusslove Illich.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * msginit-4: Don't check the Project-Id-Version: field, which
+ cannot be generated since we can't rely on the project-id script
+ when $builddir != $srcdir.
+
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * msginit-4: New file.
+ * common/supplemental/plurals.xml: New data file.
+ * Makefile.am (TESTS): Add new tests.
+ (EXTRA_DIST): Add new data file.
+
+2015-06-22 Daiki Ueno <ueno@gnu.org>
+
+ * cldr-plurals-1: New file.
+ * Makefile.am (TESTS): Add new tests.
+
+2015-03-12 Daiki Ueno <ueno@gnu.org>
+
+ * Makefile.am (sentence_CPPFLAGS): Add -I$(top_srcdir)/src and
+ $(AM_CPPFLAGS).
+
+2015-03-05 Daiki Ueno <ueno@gnu.org>
+
+ * format-kde-kuit-1: New file.
+ * format-kde-kuit-2: New file.
+ * Makefile.am (TESTS): Add new tests.
+
+2015-03-03 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext-14: New file.
+ * sentence.c: New file
+ * Makefile.am (TESTS): Add new tests.
+ (noinst_PROGRAMS): Add 'sentence'.
+ (sentence_SOURCES): New variable.
+ (sentence_CPPFLAGS): New variable.
+ (sentence_LDADD): New variable.
+
+2015-02-06 Daiki Ueno <ueno@gnu.org>
+
+ tests: Fix "broken pipe" error in msgfilter-7
+ * msgfilter-7: Eat up filter input to avoid EPIPE in the parent
+ msgfilter process, which was exposed on AIX 5.
+ Reported by Michael Felt.
+
+2015-02-05 Alex Henrie <alexhenrie24@gmail.com> (tiny change)
+
+ * xgettext-13: New file.
+ * Makefile.am (TESTS): Add new test.
+ * mm-viet.out: Adjust to the recent line-wrapping behavior change.
+
+2015-01-29 Daiki Ueno <ueno@gnu.org>
+
+ * msgexec-6: New file.
+ * Makefile.am (TESTS): Add new test.
+
+2015-01-28 Daiki Ueno <ueno@gnu.org>
+
+ * msgfilter-8: New file.
+ * Makefile.am (TESTS): Add new test.
+
+2015-01-16 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext-desktop-1: Check "invalid non-blank character" warning.
+
+2015-01-13 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext-c-20: Improve test coverage of raw string tests.
+
+2015-01-13 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext-c-20: Adjust to the latest xgettext C++ scanner change;
+ don't accept unbalanced prefix in raw string literal.
+
+2015-01-13 Daiki Ueno <ueno@gnu.org>
+
+ * xgettext-c-20: Adjust the source file name from *.c to *.cc to
+ enable handling of raw string literals.
+
2014-12-24 Daiki Ueno <ueno@gnu.org>
* gettext 0.19.4 released.
diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
index 5a0d3c0..d3ffb75 100644
--- a/gettext-tools/tests/Makefile.am
+++ b/gettext-tools/tests/Makefile.am
@@ -1,5 +1,6 @@
## Makefile for the gettext-tools/tests subdirectory of GNU gettext
-## Copyright (C) 1995-1997, 2001-2010 Free Software Foundation, Inc.
+## Copyright (C) 1995-1997, 2001-2010, 2015 Free Software Foundation,
+## Inc.
##
## 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
@@ -40,9 +41,9 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
msgcomm-26 msgcomm-27 msgcomm-28 \
msgconv-1 msgconv-2 msgconv-3 msgconv-4 msgconv-5 msgconv-6 msgconv-7 \
msgen-1 msgen-2 msgen-3 msgen-4 \
- msgexec-1 msgexec-2 msgexec-3 msgexec-4 msgexec-5 \
+ msgexec-1 msgexec-2 msgexec-3 msgexec-4 msgexec-5 msgexec-6 \
msgfilter-1 msgfilter-2 msgfilter-3 msgfilter-4 msgfilter-5 \
- msgfilter-6 msgfilter-7 \
+ msgfilter-6 msgfilter-7 msgfilter-8 \
msgfilter-sr-latin-1 msgfilter-quote-1 \
msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \
@@ -50,9 +51,10 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
msgfmt-properties-1 \
msgfmt-qt-1 msgfmt-qt-2 \
msgfmt-desktop-1 msgfmt-desktop-2 \
+ msgfmt-xml-1 msgfmt-xml-2 \
msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 \
msggrep-8 msggrep-9 msggrep-10 msggrep-11 \
- msginit-1 msginit-2 msginit-3 \
+ msginit-1 msginit-2 msginit-3 msginit-4 \
msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \
msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
@@ -72,11 +74,14 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
recode-sr-latin-1 recode-sr-latin-2 \
xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
xgettext-7 xgettext-8 xgettext-9 xgettext-10 xgettext-11 xgettext-12 \
+ xgettext-13 xgettext-14 \
+ xgettext-appdata-1 \
xgettext-awk-1 xgettext-awk-2 \
xgettext-c-2 xgettext-c-3 xgettext-c-4 xgettext-c-5 \
xgettext-c-6 xgettext-c-7 xgettext-c-8 xgettext-c-9 xgettext-c-10 \
xgettext-c-11 xgettext-c-12 xgettext-c-13 xgettext-c-14 xgettext-c-15 \
xgettext-c-16 xgettext-c-17 xgettext-c-18 xgettext-c-19 xgettext-c-20 \
+ xgettext-c-21 \
xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \
xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \
xgettext-csharp-7 xgettext-csharp-8 \
@@ -109,6 +114,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
xgettext-vala-1 \
xgettext-gsettings-1 \
xgettext-desktop-1 \
+ xgettext-its-1 \
format-awk-1 format-awk-2 \
format-boost-1 format-boost-2 \
format-c-1 format-c-2 format-c-3 format-c-4 format-c-5 \
@@ -118,6 +124,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
format-gfc-internal-1 format-gfc-internal-2 \
format-java-1 format-java-2 \
format-kde-1 format-kde-2 \
+ format-kde-kuit-1 format-kde-kuit-2 \
format-librep-1 format-librep-2 \
format-lisp-1 format-lisp-2 \
format-php-1 format-php-2 \
@@ -136,13 +143,13 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
format-lua-1 format-lua-2 \
format-javascript-1 format-javascript-2 \
plural-1 plural-2 \
- gettextpo-1 \
+ gettextpo-1 sentence \
lang-c lang-c++ lang-objc lang-sh lang-bash lang-python-1 \
lang-python-2 lang-clisp lang-elisp lang-librep lang-guile \
lang-smalltalk lang-java lang-csharp lang-gawk lang-pascal \
lang-ycp lang-tcl lang-perl-1 lang-perl-2 lang-php lang-po lang-rst \
lang-lua lang-javascript lang-vala \
- autopoint-1 autopoint-2 autopoint-3
+ autopoint-1 autopoint-2 autopoint-3 cldr-plurals-1
EXTRA_DIST += init.sh init.cfg $(TESTS) \
test.mo overflow-1.mo overflow-2.mo overflow-3.mo overflow-4.mo \
@@ -152,12 +159,12 @@ EXTRA_DIST += init.sh init.cfg $(TESTS) \
msguniq-a.in msguniq-a.inp msguniq-a.out \
qttest_pl.po qttest_pl.qm \
qttest2_de.po qttest2_de.qm qttest2_de.ts \
- ChangeLog.0 \
gettext-3-1.po gettext-3-2.po gettext-4.po gettext-5.po \
gettext-6-1.po gettext-6-2.po gettext-7.po \
gettextpo-1.de.po \
xgettext-1 \
- xgettext-c-1
+ xgettext-c-1 xg-c-21.c \
+ common/supplemental/plurals.xml
XGETTEXT = ../src/xgettext
@@ -210,7 +217,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
LDADD = $(LDADD_@USE_INCLUDED_LIBINTL@) @INTL_MACOSX_LIBS@
LDADD_yes = ../intl/libintl.la @LTLIBTHREAD@
LDADD_no = ../intl/libgnuintl.la @LTLIBTHREAD@ @LTLIBINTL@
-noinst_PROGRAMS = tstgettext tstngettext testlocale gettext-3-prg gettext-4-prg gettext-5-prg gettext-6-prg gettext-7-prg gettext-8-prg cake fc3 fc4 fc5 gettextpo-1-prg
+check_PROGRAMS = tstgettext tstngettext testlocale gettext-3-prg gettext-4-prg gettext-5-prg gettext-6-prg gettext-7-prg gettext-8-prg cake fc3 fc4 fc5 gettextpo-1-prg sentence
tstgettext_SOURCES = tstgettext.c setlocale.c
tstgettext_CFLAGS = -DINSTALLDIR=\".\"
tstgettext_LDADD = ../gnulib-lib/libgettextlib.la $(LDADD)
@@ -254,6 +261,9 @@ gettextpo_1_prg_CPPFLAGS = \
# Don't add more libraries here. This test must check whether libgettextpo is
# self contained.
gettextpo_1_prg_LDADD = ../libgettextpo/libgettextpo.la $(LDADD)
+sentence_SOURCES = sentence.c
+sentence_CPPFLAGS = $(AM_CPPFLAGS) -I../src -I$(top_srcdir)/src
+sentence_LDADD = ../src/libgettextsrc.la $(LDADD)
# Clean up after Solaris cc.
clean-local:
diff --git a/gettext-tools/tests/Makefile.in b/gettext-tools/tests/Makefile.in
index 4cbdce9..f00fa3b 100644
--- a/gettext-tools/tests/Makefile.in
+++ b/gettext-tools/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -13,9 +13,18 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -77,21 +86,116 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = tstgettext$(EXEEXT) tstngettext$(EXEEXT) \
+TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 \
+ gettext-7 gettext-8 msgattrib-1 msgattrib-2 msgattrib-3 \
+ msgattrib-4 msgattrib-5 msgattrib-6 msgattrib-7 msgattrib-8 \
+ msgattrib-9 msgattrib-10 msgattrib-11 msgattrib-12 \
+ msgattrib-13 msgattrib-14 msgattrib-15 msgattrib-16 \
+ msgattrib-17 msgattrib-18 msgattrib-19 msgattrib-properties-1 \
+ msgcat-1 msgcat-2 msgcat-3 msgcat-4 msgcat-5 msgcat-6 msgcat-7 \
+ msgcat-8 msgcat-9 msgcat-10 msgcat-11 msgcat-12 msgcat-13 \
+ msgcat-14 msgcat-15 msgcat-16 msgcat-17 msgcat-18 msgcat-19 \
+ msgcat-20 msgcat-properties-1 msgcat-properties-2 \
+ msgcat-stringtable-1 msgcmp-1 msgcmp-2 msgcmp-3 msgcmp-4 \
+ msgcomm-1 msgcomm-2 msgcomm-3 msgcomm-4 msgcomm-5 msgcomm-6 \
+ msgcomm-7 msgcomm-8 msgcomm-9 msgcomm-10 msgcomm-11 msgcomm-12 \
+ msgcomm-13 msgcomm-14 msgcomm-15 msgcomm-16 msgcomm-17 \
+ msgcomm-18 msgcomm-19 msgcomm-20 msgcomm-21 msgcomm-22 \
+ msgcomm-23 msgcomm-24 msgcomm-25 msgcomm-26 msgcomm-27 \
+ msgcomm-28 msgconv-1 msgconv-2 msgconv-3 msgconv-4 msgconv-5 \
+ msgconv-6 msgconv-7 msgen-1 msgen-2 msgen-3 msgen-4 msgexec-1 \
+ msgexec-2 msgexec-3 msgexec-4 msgexec-5 msgexec-6 msgfilter-1 \
+ msgfilter-2 msgfilter-3 msgfilter-4 msgfilter-5 msgfilter-6 \
+ msgfilter-7 msgfilter-8 msgfilter-sr-latin-1 msgfilter-quote-1 \
+ msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
+ msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 \
+ msgfmt-14 msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 \
+ msgfmt-properties-1 msgfmt-qt-1 msgfmt-qt-2 msgfmt-desktop-1 \
+ msgfmt-desktop-2 msgfmt-xml-1 msgfmt-xml-2 msggrep-1 msggrep-2 \
+ msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 msggrep-8 \
+ msggrep-9 msggrep-10 msggrep-11 msginit-1 msginit-2 msginit-3 \
+ msginit-4 msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 \
+ msgmerge-5 msgmerge-6 msgmerge-7 msgmerge-8 msgmerge-9 \
+ msgmerge-10 msgmerge-11 msgmerge-12 msgmerge-13 msgmerge-14 \
+ msgmerge-15 msgmerge-16 msgmerge-17 msgmerge-18 msgmerge-19 \
+ msgmerge-20 msgmerge-21 msgmerge-22 msgmerge-23 msgmerge-24 \
+ msgmerge-25 msgmerge-compendium-1 msgmerge-compendium-2 \
+ msgmerge-compendium-3 msgmerge-compendium-4 \
+ msgmerge-compendium-5 msgmerge-compendium-6 \
+ msgmerge-properties-1 msgmerge-properties-2 msgmerge-update-1 \
+ msgmerge-update-2 msgmerge-update-3 msgmerge-update-4 \
+ msgunfmt-1 msgunfmt-2 msgunfmt-3 msgunfmt-csharp-1 \
+ msgunfmt-java-1 msgunfmt-properties-1 msgunfmt-tcl-1 msguniq-1 \
+ msguniq-2 msguniq-3 msguniq-4 msguniq-5 msguniq-6 msguniq-7 \
+ recode-sr-latin-1 recode-sr-latin-2 xgettext-2 xgettext-3 \
+ xgettext-4 xgettext-5 xgettext-6 xgettext-7 xgettext-8 \
+ xgettext-9 xgettext-10 xgettext-11 xgettext-12 xgettext-13 \
+ xgettext-14 xgettext-appdata-1 xgettext-awk-1 xgettext-awk-2 \
+ xgettext-c-2 xgettext-c-3 xgettext-c-4 xgettext-c-5 \
+ xgettext-c-6 xgettext-c-7 xgettext-c-8 xgettext-c-9 \
+ xgettext-c-10 xgettext-c-11 xgettext-c-12 xgettext-c-13 \
+ xgettext-c-14 xgettext-c-15 xgettext-c-16 xgettext-c-17 \
+ xgettext-c-18 xgettext-c-19 xgettext-c-20 xgettext-c-21 \
+ xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \
+ xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \
+ xgettext-csharp-7 xgettext-csharp-8 xgettext-elisp-1 \
+ xgettext-elisp-2 xgettext-glade-1 xgettext-glade-2 \
+ xgettext-glade-3 xgettext-glade-4 xgettext-glade-5 \
+ xgettext-glade-6 xgettext-glade-7 xgettext-java-1 \
+ xgettext-java-2 xgettext-java-3 xgettext-java-4 \
+ xgettext-java-5 xgettext-java-6 xgettext-java-7 \
+ xgettext-librep-1 xgettext-librep-2 xgettext-lisp-1 \
+ xgettext-lisp-2 xgettext-objc-1 xgettext-objc-2 \
+ xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 \
+ xgettext-perl-4 xgettext-perl-5 xgettext-perl-6 \
+ xgettext-perl-7 xgettext-perl-8 xgettext-php-1 xgettext-php-2 \
+ xgettext-php-3 xgettext-php-4 xgettext-po-1 \
+ xgettext-properties-1 xgettext-python-1 xgettext-python-2 \
+ xgettext-python-3 xgettext-python-4 xgettext-scheme-1 \
+ xgettext-scheme-2 xgettext-scheme-3 xgettext-scheme-4 \
+ xgettext-sh-1 xgettext-sh-2 xgettext-sh-3 xgettext-sh-4 \
+ xgettext-sh-5 xgettext-sh-6 xgettext-smalltalk-1 \
+ xgettext-smalltalk-2 xgettext-stringtable-1 xgettext-tcl-1 \
+ xgettext-tcl-2 xgettext-tcl-3 xgettext-tcl-4 xgettext-ycp-1 \
+ xgettext-ycp-2 xgettext-ycp-3 xgettext-ycp-4 xgettext-lua-1 \
+ xgettext-lua-2 xgettext-javascript-1 xgettext-javascript-2 \
+ xgettext-javascript-3 xgettext-javascript-4 \
+ xgettext-javascript-5 xgettext-javascript-6 xgettext-vala-1 \
+ xgettext-gsettings-1 xgettext-desktop-1 xgettext-its-1 \
+ format-awk-1 format-awk-2 format-boost-1 format-boost-2 \
+ format-c-1 format-c-2 format-c-3 format-c-4 format-c-5 \
+ format-csharp-1 format-csharp-2 format-elisp-1 format-elisp-2 \
+ format-gcc-internal-1 format-gcc-internal-2 \
+ format-gfc-internal-1 format-gfc-internal-2 format-java-1 \
+ format-java-2 format-kde-1 format-kde-2 format-kde-kuit-1 \
+ format-kde-kuit-2 format-librep-1 format-librep-2 \
+ format-lisp-1 format-lisp-2 format-php-1 format-php-2 \
+ format-python-1 format-python-2 format-python-brace-1 \
+ format-python-brace-2 format-pascal-1 format-pascal-2 \
+ format-perl-1 format-perl-2 format-perl-brace-1 \
+ format-perl-brace-2 format-perl-mixed-1 format-perl-mixed-2 \
+ format-qt-1 format-qt-2 format-qt-plural-1 format-qt-plural-2 \
+ format-scheme-1 format-scheme-2 format-sh-1 format-sh-2 \
+ format-tcl-1 format-tcl-2 format-ycp-1 format-ycp-2 \
+ format-lua-1 format-lua-2 format-javascript-1 \
+ format-javascript-2 plural-1 plural-2 gettextpo-1 \
+ sentence$(EXEEXT) lang-c lang-c++ lang-objc lang-sh lang-bash \
+ lang-python-1 lang-python-2 lang-clisp lang-elisp lang-librep \
+ lang-guile lang-smalltalk lang-java lang-csharp lang-gawk \
+ lang-pascal lang-ycp lang-tcl lang-perl-1 lang-perl-2 lang-php \
+ lang-po lang-rst lang-lua lang-javascript lang-vala \
+ autopoint-1 autopoint-2 autopoint-3 cldr-plurals-1
+check_PROGRAMS = tstgettext$(EXEEXT) tstngettext$(EXEEXT) \
testlocale$(EXEEXT) gettext-3-prg$(EXEEXT) \
gettext-4-prg$(EXEEXT) gettext-5-prg$(EXEEXT) \
gettext-6-prg$(EXEEXT) gettext-7-prg$(EXEEXT) \
gettext-8-prg$(EXEEXT) cake$(EXEEXT) fc3$(EXEEXT) fc4$(EXEEXT) \
- fc5$(EXEEXT) gettextpo-1-prg$(EXEEXT)
+ fc5$(EXEEXT) gettextpo-1-prg$(EXEEXT) sentence$(EXEEXT)
subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/../build-aux/mkinstalldirs $(srcdir)/init-env.in \
- $(top_srcdir)/../build-aux/test-driver ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/libgettextpo/gnulib-m4/gnulib-comp.m4 \
$(top_srcdir)/libgrep/gnulib-m4/gnulib-comp.m4 \
- $(top_srcdir)/libgrep/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/libgrep/gnulib-m4/localeconv.m4 \
$(top_srcdir)/libgrep/gnulib-m4/mbrlen.m4 \
$(top_srcdir)/libgrep/gnulib-m4/nl_langinfo.m4 \
@@ -108,6 +212,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/btowc.m4 \
$(top_srcdir)/gnulib-m4/byteswap.m4 \
$(top_srcdir)/gnulib-m4/canonicalize.m4 \
+ $(top_srcdir)/gnulib-m4/check-math-lib.m4 \
$(top_srcdir)/gnulib-m4/close.m4 \
$(top_srcdir)/gnulib-m4/closedir.m4 \
$(top_srcdir)/gnulib-m4/configmake.m4 \
@@ -115,6 +220,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/csharp.m4 \
$(top_srcdir)/gnulib-m4/csharpcomp.m4 \
$(top_srcdir)/gnulib-m4/csharpexec.m4 \
+ $(top_srcdir)/gnulib-m4/ctype.m4 \
$(top_srcdir)/gnulib-m4/curses.m4 \
$(top_srcdir)/gnulib-m4/dirent_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
@@ -126,7 +232,10 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/error.m4 \
$(top_srcdir)/gnulib-m4/execute.m4 \
$(top_srcdir)/gnulib-m4/exponentd.m4 \
+ $(top_srcdir)/gnulib-m4/exponentf.m4 \
+ $(top_srcdir)/gnulib-m4/exponentl.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
+ $(top_srcdir)/gnulib-m4/fabs.m4 \
$(top_srcdir)/gnulib-m4/fatal-signal.m4 \
$(top_srcdir)/gnulib-m4/fcntl.m4 \
$(top_srcdir)/gnulib-m4/fcntl_h.m4 \
@@ -156,10 +265,16 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intmax_t.m4 \
$(top_srcdir)/gnulib-m4/inttypes.m4 \
+ $(top_srcdir)/gnulib-m4/isinf.m4 \
+ $(top_srcdir)/gnulib-m4/isnan.m4 \
+ $(top_srcdir)/gnulib-m4/isnand.m4 \
+ $(top_srcdir)/gnulib-m4/isnanf.m4 \
+ $(top_srcdir)/gnulib-m4/isnanl.m4 \
$(top_srcdir)/gnulib-m4/iswblank.m4 \
$(top_srcdir)/gnulib-m4/java.m4 \
$(top_srcdir)/gnulib-m4/javacomp.m4 \
$(top_srcdir)/gnulib-m4/javaexec.m4 \
+ $(top_srcdir)/gnulib-m4/langinfo_h.m4 \
$(top_srcdir)/gnulib-m4/largefile.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
@@ -177,10 +292,13 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
+ $(top_srcdir)/gnulib-m4/log10.m4 \
$(top_srcdir)/gnulib-m4/lseek.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
$(top_srcdir)/gnulib-m4/malloc.m4 \
$(top_srcdir)/gnulib-m4/malloca.m4 \
+ $(top_srcdir)/gnulib-m4/math_h.m4 \
+ $(top_srcdir)/gnulib-m4/mathfunc.m4 \
$(top_srcdir)/gnulib-m4/mbchar.m4 \
$(top_srcdir)/gnulib-m4/mbiter.m4 \
$(top_srcdir)/gnulib-m4/mbrtowc.m4 \
@@ -210,6 +328,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/pathmax.m4 \
$(top_srcdir)/gnulib-m4/pipe2.m4 \
$(top_srcdir)/gnulib-m4/posix_spawn.m4 \
+ $(top_srcdir)/gnulib-m4/pow.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/putenv.m4 \
$(top_srcdir)/gnulib-m4/quote.m4 \
@@ -234,6 +353,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/sigaction.m4 \
$(top_srcdir)/gnulib-m4/signal_h.m4 \
$(top_srcdir)/gnulib-m4/signalblocking.m4 \
+ $(top_srcdir)/gnulib-m4/signbit.m4 \
$(top_srcdir)/gnulib-m4/sigpipe.m4 \
$(top_srcdir)/gnulib-m4/sleep.m4 \
$(top_srcdir)/gnulib-m4/snprintf.m4 \
@@ -241,6 +361,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/gnulib-m4/spawn_h.m4 \
$(top_srcdir)/gnulib-m4/ssize_t.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
+ $(top_srcdir)/gnulib-m4/stdalign.m4 \
$(top_srcdir)/gnulib-m4/stdarg.m4 \
$(top_srcdir)/gnulib-m4/stdbool.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
@@ -332,11 +453,11 @@ am__aclocal_m4_deps = \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/../build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = init-env
CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
am_cake_OBJECTS = plural-1-prg.$(OBJEXT) setlocale.$(OBJEXT)
cake_OBJECTS = $(am_cake_OBJECTS)
am__DEPENDENCIES_1 =
@@ -393,6 +514,9 @@ am_gettextpo_1_prg_OBJECTS = \
gettextpo_1_prg_OBJECTS = $(am_gettextpo_1_prg_OBJECTS)
gettextpo_1_prg_DEPENDENCIES = ../libgettextpo/libgettextpo.la \
$(am__DEPENDENCIES_1)
+am_sentence_OBJECTS = sentence-sentence.$(OBJEXT)
+sentence_OBJECTS = $(am_sentence_OBJECTS)
+sentence_DEPENDENCIES = ../src/libgettextsrc.la $(am__DEPENDENCIES_1)
am_testlocale_OBJECTS = testlocale.$(OBJEXT)
testlocale_OBJECTS = $(am_testlocale_OBJECTS)
testlocale_LDADD = $(LDADD)
@@ -450,15 +574,16 @@ SOURCES = $(cake_SOURCES) $(fc3_SOURCES) $(fc4_SOURCES) $(fc5_SOURCES) \
$(gettext_3_prg_SOURCES) $(gettext_4_prg_SOURCES) \
$(gettext_5_prg_SOURCES) $(gettext_6_prg_SOURCES) \
$(gettext_7_prg_SOURCES) $(gettext_8_prg_SOURCES) \
- $(gettextpo_1_prg_SOURCES) $(testlocale_SOURCES) \
- $(tstgettext_SOURCES) $(tstngettext_SOURCES)
+ $(gettextpo_1_prg_SOURCES) $(sentence_SOURCES) \
+ $(testlocale_SOURCES) $(tstgettext_SOURCES) \
+ $(tstngettext_SOURCES)
DIST_SOURCES = $(cake_SOURCES) $(fc3_SOURCES) $(fc4_SOURCES) \
$(fc5_SOURCES) $(gettext_3_prg_SOURCES) \
$(gettext_4_prg_SOURCES) $(gettext_5_prg_SOURCES) \
$(gettext_6_prg_SOURCES) $(gettext_7_prg_SOURCES) \
$(gettext_8_prg_SOURCES) $(gettextpo_1_prg_SOURCES) \
- $(testlocale_SOURCES) $(tstgettext_SOURCES) \
- $(tstngettext_SOURCES)
+ $(sentence_SOURCES) $(testlocale_SOURCES) \
+ $(tstgettext_SOURCES) $(tstngettext_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -687,6 +812,9 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/../build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/init-env.in \
+ $(top_srcdir)/../build-aux/mkinstalldirs \
+ $(top_srcdir)/../build-aux/test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -697,6 +825,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARCHIVE_FORMAT = @ARCHIVE_FORMAT@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
@@ -758,6 +887,7 @@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
+FABS_LIBM = @FABS_LIBM@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
FNMATCH_H = @FNMATCH_H@
@@ -772,15 +902,34 @@ GLIBC21 = @GLIBC21@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ACOSF = @GNULIB_ACOSF@
+GNULIB_ACOSL = @GNULIB_ACOSL@
GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
+GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
+GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
+GNULIB_CEIL = @GNULIB_CEIL@
+GNULIB_CEILF = @GNULIB_CEILF@
+GNULIB_CEILL = @GNULIB_CEILL@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
+GNULIB_COSL = @GNULIB_COSL@
GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
@@ -789,6 +938,16 @@ GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
+GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
@@ -803,6 +962,15 @@ GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FLOOR = @GNULIB_FLOOR@
+GNULIB_FLOORF = @GNULIB_FLOORF@
+GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -811,6 +979,9 @@ GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
+GNULIB_FREXPL = @GNULIB_FREXPL@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
@@ -841,17 +1012,47 @@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISBLANK = @GNULIB_ISBLANK@
+GNULIB_ISFINITE = @GNULIB_ISFINITE@
+GNULIB_ISINF = @GNULIB_ISINF@
+GNULIB_ISNAN = @GNULIB_ISNAN@
+GNULIB_ISNAND = @GNULIB_ISNAND@
+GNULIB_ISNANF = @GNULIB_ISNANF@
+GNULIB_ISNANL = @GNULIB_ISNANL@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
+GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
+GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
+GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -890,6 +1091,9 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
@@ -925,6 +1129,7 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
@@ -948,11 +1153,20 @@ GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_ROUND = @GNULIB_ROUND@
+GNULIB_ROUNDF = @GNULIB_ROUNDF@
+GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANDIR = @GNULIB_SCANDIR@
GNULIB_SCANF = @GNULIB_SCANF@
@@ -963,10 +1177,16 @@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
+GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
+GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
+GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
@@ -995,10 +1215,17 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
+GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TRUNC = @GNULIB_TRUNC@
+GNULIB_TRUNCF = @GNULIB_TRUNCF@
+GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
@@ -1058,25 +1285,57 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
+HAVE_ACOSL = @HAVE_ACOSL@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
+HAVE_ASINL = @HAVE_ASINL@
HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
+HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_CLIX = @HAVE_CLIX@
HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
+HAVE_COSL = @HAVE_COSL@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
+HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
+HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
+HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
+HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
+HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
+HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
+HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
+HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
@@ -1088,13 +1347,28 @@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
+HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
+HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
+HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
+HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
+HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
@@ -1103,6 +1377,10 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TANL = @HAVE_DECL_TANL@
+HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
+HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
+HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -1114,6 +1392,12 @@ HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
+HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -1124,6 +1408,12 @@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -1146,9 +1436,18 @@ HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
HAVE_GLOBAL_SYMBOL_PIPE = @HAVE_GLOBAL_SYMBOL_PIPE@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_ILRUN = @HAVE_ILRUN@
HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISNAND = @HAVE_ISNAND@
+HAVE_ISNANF = @HAVE_ISNANF@
+HAVE_ISNANL = @HAVE_ISNANL@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_JAVA = @HAVE_JAVA@
@@ -1170,12 +1469,22 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBEXPAT = @HAVE_LIBEXPAT@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
+HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
@@ -1196,6 +1505,8 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
HAVE_MONO = @HAVE_MONO@
HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
@@ -1215,6 +1526,7 @@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PSELECT = @HAVE_PSELECT@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
@@ -1230,9 +1542,14 @@ HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
@@ -1245,9 +1562,14 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
+HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SNPRINTF = @HAVE_SNPRINTF@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
+HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
@@ -1273,7 +1595,11 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
+HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
@@ -1349,13 +1675,16 @@ INTLOBJS = @INTLOBJS@
INTL_DEFAULT_VERBOSITY = @INTL_DEFAULT_VERBOSITY@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISINF_LIBM = @ISINF_LIBM@
+ISNAND_LIBM = @ISNAND_LIBM@
+ISNANF_LIBM = @ISNANF_LIBM@
+ISNANL_LIBM = @ISNANL_LIBM@
+ISNAN_LIBM = @ISNAN_LIBM@
JAR = @JAR@
JAVA_CHOICE = @JAVA_CHOICE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCROCO = @LIBCROCO@
-LIBEXPAT = @LIBEXPAT@
-LIBEXPAT_PREFIX = @LIBEXPAT_PREFIX@
LIBGLIB = @LIBGLIB@
LIBGLIB_H = @LIBGLIB_H@
LIBGREP_LIBDEPS = @LIBGREP_LIBDEPS@
@@ -1374,6 +1703,7 @@ LIBTOOL = @LIBTOOL@
LIBUNISTRING = @LIBUNISTRING@
LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@
LIBUNISTRING_UNICONV_H = @LIBUNISTRING_UNICONV_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
LIBUNISTRING_UNILBRK_H = @LIBUNISTRING_UNILBRK_H@
LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
@@ -1382,6 +1712,7 @@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIBXML = @LIBXML@
LIBXML_H = @LIBXML_H@
LIB_ACL = @LIB_ACL@
+LIB_HAS_ACL = @LIB_HAS_ACL@
LIB_POSIX_SPAWN = @LIB_POSIX_SPAWN@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -1391,9 +1722,9 @@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG10_LIBM = @LOG10_LIBM@
LTLIBC = @LTLIBC@
LTLIBCROCO = @LTLIBCROCO@
-LTLIBEXPAT = @LTLIBEXPAT@
LTLIBGLIB = @LTLIBGLIB@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -1404,6 +1735,7 @@ LTLIBTERMINFO = @LTLIBTERMINFO@
LTLIBTHREAD = @LTLIBTHREAD@
LTLIBUNISTRING = @LTLIBUNISTRING@
LTLIBXML = @LTLIBXML@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
@@ -1413,6 +1745,7 @@ MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MSGMERGE_LIBM = @MSGMERGE_LIBM@
+NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
@@ -1422,6 +1755,7 @@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@
@@ -1440,6 +1774,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_CTYPE_H = @NEXT_CTYPE_H@
NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
@@ -1449,6 +1784,7 @@ NEXT_ICONV_H = @NEXT_ICONV_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_MATH_H = @NEXT_MATH_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_SPAWN_H = @NEXT_SPAWN_H@
@@ -1479,12 +1815,14 @@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_SUFFIX = @PACKAGE_SUFFIX@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
POSUB = @POSUB@
+POW_LIBM = @POW_LIBM@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
@@ -1503,6 +1841,11 @@ RELOCATABLE_STRIP = @RELOCATABLE_STRIP@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
+REPLACE_CEIL = @REPLACE_CEIL@
+REPLACE_CEILF = @REPLACE_CEILF@
+REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
@@ -1511,16 +1854,33 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FLOOR = @REPLACE_FLOOR@
+REPLACE_FLOORF = @REPLACE_FLOORF@
+REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
+REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FSTAT = @REPLACE_FSTAT@
@@ -1539,19 +1899,44 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISFINITE = @REPLACE_ISFINITE@
+REPLACE_ISINF = @REPLACE_ISINF@
+REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1569,6 +1954,10 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
+REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
@@ -1598,16 +1987,25 @@ REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_ROUND = @REPLACE_ROUND@
+REPLACE_ROUNDF = @REPLACE_ROUNDF@
+REPLACE_ROUNDL = @REPLACE_ROUNDL@
REPLACE_SELECT = @REPLACE_SELECT@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
+REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
@@ -1633,6 +2031,9 @@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TRUNC = @REPLACE_TRUNC@
+REPLACE_TRUNCF = @REPLACE_TRUNCF@
+REPLACE_TRUNCL = @REPLACE_TRUNCL@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
@@ -1659,6 +2060,7 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDALIGN_H = @STDALIGN_H@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
@@ -1673,6 +2075,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_ACL = @USE_ACL@
@@ -1771,135 +2174,11 @@ EXTRA_DIST = init.sh init.cfg $(TESTS) test.mo overflow-1.mo \
mm-ko.euc-kr.po mm-ko-comp.euc-kr.po mm-viet.comp.po \
mm-viet.pot mm-viet.out msguniq-a.in msguniq-a.inp \
msguniq-a.out qttest_pl.po qttest_pl.qm qttest2_de.po \
- qttest2_de.qm qttest2_de.ts ChangeLog.0 gettext-3-1.po \
- gettext-3-2.po gettext-4.po gettext-5.po gettext-6-1.po \
- gettext-6-2.po gettext-7.po gettextpo-1.de.po xgettext-1 \
- xgettext-c-1
+ qttest2_de.qm qttest2_de.ts gettext-3-1.po gettext-3-2.po \
+ gettext-4.po gettext-5.po gettext-6-1.po gettext-6-2.po \
+ gettext-7.po gettextpo-1.de.po xgettext-1 xgettext-c-1 \
+ xg-c-21.c common/supplemental/plurals.xml
MOSTLYCLEANFILES = core *.stackdump
-TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
- gettext-8 \
- msgattrib-1 msgattrib-2 msgattrib-3 msgattrib-4 msgattrib-5 \
- msgattrib-6 msgattrib-7 msgattrib-8 msgattrib-9 msgattrib-10 \
- msgattrib-11 msgattrib-12 msgattrib-13 msgattrib-14 msgattrib-15 \
- msgattrib-16 msgattrib-17 msgattrib-18 msgattrib-19 \
- msgattrib-properties-1 \
- msgcat-1 msgcat-2 msgcat-3 msgcat-4 msgcat-5 msgcat-6 msgcat-7 \
- msgcat-8 msgcat-9 msgcat-10 msgcat-11 msgcat-12 msgcat-13 msgcat-14 \
- msgcat-15 msgcat-16 msgcat-17 msgcat-18 msgcat-19 msgcat-20 \
- msgcat-properties-1 msgcat-properties-2 \
- msgcat-stringtable-1 \
- msgcmp-1 msgcmp-2 msgcmp-3 msgcmp-4 \
- msgcomm-1 msgcomm-2 msgcomm-3 msgcomm-4 msgcomm-5 msgcomm-6 msgcomm-7 \
- msgcomm-8 msgcomm-9 msgcomm-10 msgcomm-11 msgcomm-12 msgcomm-13 \
- msgcomm-14 msgcomm-15 msgcomm-16 msgcomm-17 msgcomm-18 msgcomm-19 \
- msgcomm-20 msgcomm-21 msgcomm-22 msgcomm-23 msgcomm-24 msgcomm-25 \
- msgcomm-26 msgcomm-27 msgcomm-28 \
- msgconv-1 msgconv-2 msgconv-3 msgconv-4 msgconv-5 msgconv-6 msgconv-7 \
- msgen-1 msgen-2 msgen-3 msgen-4 \
- msgexec-1 msgexec-2 msgexec-3 msgexec-4 msgexec-5 \
- msgfilter-1 msgfilter-2 msgfilter-3 msgfilter-4 msgfilter-5 \
- msgfilter-6 msgfilter-7 \
- msgfilter-sr-latin-1 msgfilter-quote-1 \
- msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
- msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \
- msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 \
- msgfmt-properties-1 \
- msgfmt-qt-1 msgfmt-qt-2 \
- msgfmt-desktop-1 msgfmt-desktop-2 \
- msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 \
- msggrep-8 msggrep-9 msggrep-10 msggrep-11 \
- msginit-1 msginit-2 msginit-3 \
- msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \
- msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
- msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
- msgmerge-18 msgmerge-19 msgmerge-20 msgmerge-21 msgmerge-22 \
- msgmerge-23 msgmerge-24 msgmerge-25 \
- msgmerge-compendium-1 msgmerge-compendium-2 msgmerge-compendium-3 \
- msgmerge-compendium-4 msgmerge-compendium-5 msgmerge-compendium-6 \
- msgmerge-properties-1 msgmerge-properties-2 \
- msgmerge-update-1 msgmerge-update-2 msgmerge-update-3 \
- msgmerge-update-4 \
- msgunfmt-1 msgunfmt-2 msgunfmt-3 \
- msgunfmt-csharp-1 \
- msgunfmt-java-1 \
- msgunfmt-properties-1 \
- msgunfmt-tcl-1 \
- msguniq-1 msguniq-2 msguniq-3 msguniq-4 msguniq-5 msguniq-6 msguniq-7 \
- recode-sr-latin-1 recode-sr-latin-2 \
- xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
- xgettext-7 xgettext-8 xgettext-9 xgettext-10 xgettext-11 xgettext-12 \
- xgettext-awk-1 xgettext-awk-2 \
- xgettext-c-2 xgettext-c-3 xgettext-c-4 xgettext-c-5 \
- xgettext-c-6 xgettext-c-7 xgettext-c-8 xgettext-c-9 xgettext-c-10 \
- xgettext-c-11 xgettext-c-12 xgettext-c-13 xgettext-c-14 xgettext-c-15 \
- xgettext-c-16 xgettext-c-17 xgettext-c-18 xgettext-c-19 xgettext-c-20 \
- xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \
- xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \
- xgettext-csharp-7 xgettext-csharp-8 \
- xgettext-elisp-1 xgettext-elisp-2 \
- xgettext-glade-1 xgettext-glade-2 xgettext-glade-3 xgettext-glade-4 \
- xgettext-glade-5 xgettext-glade-6 xgettext-glade-7 \
- xgettext-java-1 xgettext-java-2 xgettext-java-3 xgettext-java-4 \
- xgettext-java-5 xgettext-java-6 xgettext-java-7 \
- xgettext-librep-1 xgettext-librep-2 \
- xgettext-lisp-1 xgettext-lisp-2 \
- xgettext-objc-1 xgettext-objc-2 \
- xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \
- xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \
- xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \
- xgettext-po-1 \
- xgettext-properties-1 \
- xgettext-python-1 xgettext-python-2 xgettext-python-3 \
- xgettext-python-4 \
- xgettext-scheme-1 xgettext-scheme-2 xgettext-scheme-3 \
- xgettext-scheme-4 \
- xgettext-sh-1 xgettext-sh-2 xgettext-sh-3 xgettext-sh-4 xgettext-sh-5 \
- xgettext-sh-6 \
- xgettext-smalltalk-1 xgettext-smalltalk-2 \
- xgettext-stringtable-1 \
- xgettext-tcl-1 xgettext-tcl-2 xgettext-tcl-3 xgettext-tcl-4 \
- xgettext-ycp-1 xgettext-ycp-2 xgettext-ycp-3 xgettext-ycp-4 \
- xgettext-lua-1 xgettext-lua-2 \
- xgettext-javascript-1 xgettext-javascript-2 xgettext-javascript-3 \
- xgettext-javascript-4 xgettext-javascript-5 xgettext-javascript-6 \
- xgettext-vala-1 \
- xgettext-gsettings-1 \
- xgettext-desktop-1 \
- format-awk-1 format-awk-2 \
- format-boost-1 format-boost-2 \
- format-c-1 format-c-2 format-c-3 format-c-4 format-c-5 \
- format-csharp-1 format-csharp-2 \
- format-elisp-1 format-elisp-2 \
- format-gcc-internal-1 format-gcc-internal-2 \
- format-gfc-internal-1 format-gfc-internal-2 \
- format-java-1 format-java-2 \
- format-kde-1 format-kde-2 \
- format-librep-1 format-librep-2 \
- format-lisp-1 format-lisp-2 \
- format-php-1 format-php-2 \
- format-python-1 format-python-2 \
- format-python-brace-1 format-python-brace-2 \
- format-pascal-1 format-pascal-2 \
- format-perl-1 format-perl-2 \
- format-perl-brace-1 format-perl-brace-2 \
- format-perl-mixed-1 format-perl-mixed-2 \
- format-qt-1 format-qt-2 \
- format-qt-plural-1 format-qt-plural-2 \
- format-scheme-1 format-scheme-2 \
- format-sh-1 format-sh-2 \
- format-tcl-1 format-tcl-2 \
- format-ycp-1 format-ycp-2 \
- format-lua-1 format-lua-2 \
- format-javascript-1 format-javascript-2 \
- plural-1 plural-2 \
- gettextpo-1 \
- lang-c lang-c++ lang-objc lang-sh lang-bash lang-python-1 \
- lang-python-2 lang-clisp lang-elisp lang-librep lang-guile \
- lang-smalltalk lang-java lang-csharp lang-gawk lang-pascal \
- lang-ycp lang-tcl lang-perl-1 lang-perl-2 lang-php lang-po lang-rst \
- lang-lua lang-javascript lang-vala \
- autopoint-1 autopoint-2 autopoint-3
-
# For debugging memory leaks and memory allocation bugs.
# You should build with --disable-shared when using valgrind.
@@ -1986,6 +2265,9 @@ gettextpo_1_prg_CPPFLAGS = \
# Don't add more libraries here. This test must check whether libgettextpo is
# self contained.
gettextpo_1_prg_LDADD = ../libgettextpo/libgettextpo.la $(LDADD)
+sentence_SOURCES = sentence.c
+sentence_CPPFLAGS = $(AM_CPPFLAGS) -I../src -I$(top_srcdir)/src
+sentence_LDADD = ../src/libgettextsrc.la $(LDADD)
all: all-am
.SUFFIXES:
@@ -2002,7 +2284,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits tests/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -2023,8 +2304,8 @@ $(am__aclocal_m4_deps):
init-env: $(top_builddir)/config.status $(srcdir)/init-env.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
@@ -2076,6 +2357,10 @@ gettextpo-1-prg$(EXEEXT): $(gettextpo_1_prg_OBJECTS) $(gettextpo_1_prg_DEPENDENC
@rm -f gettextpo-1-prg$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gettextpo_1_prg_OBJECTS) $(gettextpo_1_prg_LDADD) $(LIBS)
+sentence$(EXEEXT): $(sentence_OBJECTS) $(sentence_DEPENDENCIES) $(EXTRA_sentence_DEPENDENCIES)
+ @rm -f sentence$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sentence_OBJECTS) $(sentence_LDADD) $(LIBS)
+
testlocale$(EXEEXT): $(testlocale_OBJECTS) $(testlocale_DEPENDENCIES) $(EXTRA_testlocale_DEPENDENCIES)
@rm -f testlocale$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(testlocale_OBJECTS) $(testlocale_LDADD) $(LIBS)
@@ -2121,6 +2406,12 @@ gettextpo_1_prg-gettextpo-1-prg.o: gettextpo-1-prg.c
gettextpo_1_prg-gettextpo-1-prg.obj: gettextpo-1-prg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gettextpo_1_prg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gettextpo_1_prg-gettextpo-1-prg.obj `if test -f 'gettextpo-1-prg.c'; then $(CYGPATH_W) 'gettextpo-1-prg.c'; else $(CYGPATH_W) '$(srcdir)/gettextpo-1-prg.c'; fi`
+sentence-sentence.o: sentence.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sentence_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sentence-sentence.o `test -f 'sentence.c' || echo '$(srcdir)/'`sentence.c
+
+sentence-sentence.obj: sentence.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sentence_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sentence-sentence.obj `if test -f 'sentence.c'; then $(CYGPATH_W) 'sentence.c'; else $(CYGPATH_W) '$(srcdir)/sentence.c'; fi`
+
tstgettext-tstgettext.o: tstgettext.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tstgettext_CFLAGS) $(CFLAGS) -c -o tstgettext-tstgettext.o `test -f 'tstgettext.c' || echo '$(srcdir)/'`tstgettext.c
@@ -2233,7 +2524,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -2333,7 +2624,7 @@ check-TESTS:
log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
exit $$?;
-recheck: all
+recheck: all $(check_PROGRAMS)
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@set +e; $(am__set_TESTS_bases); \
bases=`for i in $$bases; do echo $$i; done \
@@ -3037,6 +3328,13 @@ msgexec-5.log: msgexec-5
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+msgexec-6.log: msgexec-6
+ @p='msgexec-6'; \
+ b='msgexec-6'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
msgfilter-1.log: msgfilter-1
@p='msgfilter-1'; \
b='msgfilter-1'; \
@@ -3086,6 +3384,13 @@ msgfilter-7.log: msgfilter-7
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+msgfilter-8.log: msgfilter-8
+ @p='msgfilter-8'; \
+ b='msgfilter-8'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
msgfilter-sr-latin-1.log: msgfilter-sr-latin-1
@p='msgfilter-sr-latin-1'; \
b='msgfilter-sr-latin-1'; \
@@ -3261,6 +3566,20 @@ msgfmt-desktop-2.log: msgfmt-desktop-2
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+msgfmt-xml-1.log: msgfmt-xml-1
+ @p='msgfmt-xml-1'; \
+ b='msgfmt-xml-1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+msgfmt-xml-2.log: msgfmt-xml-2
+ @p='msgfmt-xml-2'; \
+ b='msgfmt-xml-2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
msggrep-1.log: msggrep-1
@p='msggrep-1'; \
b='msggrep-1'; \
@@ -3359,6 +3678,13 @@ msginit-3.log: msginit-3
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+msginit-4.log: msginit-4
+ @p='msginit-4'; \
+ b='msginit-4'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
msgmerge-1.log: msgmerge-1
@p='msgmerge-1'; \
b='msgmerge-1'; \
@@ -3807,6 +4133,27 @@ xgettext-12.log: xgettext-12
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+xgettext-13.log: xgettext-13
+ @p='xgettext-13'; \
+ b='xgettext-13'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+xgettext-14.log: xgettext-14
+ @p='xgettext-14'; \
+ b='xgettext-14'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+xgettext-appdata-1.log: xgettext-appdata-1
+ @p='xgettext-appdata-1'; \
+ b='xgettext-appdata-1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
xgettext-awk-1.log: xgettext-awk-1
@p='xgettext-awk-1'; \
b='xgettext-awk-1'; \
@@ -3954,6 +4301,13 @@ xgettext-c-20.log: xgettext-c-20
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+xgettext-c-21.log: xgettext-c-21
+ @p='xgettext-c-21'; \
+ b='xgettext-c-21'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
xgettext-csharp-1.log: xgettext-csharp-1
@p='xgettext-csharp-1'; \
b='xgettext-csharp-1'; \
@@ -4514,6 +4868,13 @@ xgettext-desktop-1.log: xgettext-desktop-1
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+xgettext-its-1.log: xgettext-its-1
+ @p='xgettext-its-1'; \
+ b='xgettext-its-1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
format-awk-1.log: format-awk-1
@p='format-awk-1'; \
b='format-awk-1'; \
@@ -4661,6 +5022,20 @@ format-kde-2.log: format-kde-2
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+format-kde-kuit-1.log: format-kde-kuit-1
+ @p='format-kde-kuit-1'; \
+ b='format-kde-kuit-1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+format-kde-kuit-2.log: format-kde-kuit-2
+ @p='format-kde-kuit-2'; \
+ b='format-kde-kuit-2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
format-librep-1.log: format-librep-1
@p='format-librep-1'; \
b='format-librep-1'; \
@@ -4920,6 +5295,13 @@ gettextpo-1.log: gettextpo-1
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+sentence.log: sentence$(EXEEXT)
+ @p='sentence$(EXEEXT)'; \
+ b='sentence'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
lang-c.log: lang-c
@p='lang-c'; \
b='lang-c'; \
@@ -5123,6 +5505,13 @@ autopoint-3.log: autopoint-3
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+cldr-plurals-1.log: cldr-plurals-1
+ @p='cldr-plurals-1'; \
+ b='cldr-plurals-1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
.test.log:
@p='$<'; \
$(am__set_b); \
@@ -5169,9 +5558,10 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
-all-am: Makefile $(PROGRAMS)
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -5209,7 +5599,7 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
mostlyclean-am
distclean: distclean-am
@@ -5279,7 +5669,7 @@ uninstall-am:
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
- clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ clean-checkPROGRAMS clean-generic clean-libtool clean-local \
cscopelist-am ctags ctags-am distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
@@ -5292,6 +5682,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
recheck tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# Update the expected test results.
update-expected: xg-c-1.ok.po
diff --git a/gettext-tools/tests/autopoint-2 b/gettext-tools/tests/autopoint-2
index 7820706..740937a 100755
--- a/gettext-tools/tests/autopoint-2
+++ b/gettext-tools/tests/autopoint-2
@@ -3,8 +3,6 @@
# Test the autopoint program, without Automake.
-required_gettext_version=0.19.4
-
: ${AUTOCONF=autoconf}
${AUTOCONF} --version >/dev/null 2>/dev/null \
|| { echo "Skipping test: autoconf not found"; exit 77; }
@@ -29,7 +27,7 @@ AC_CONFIG_AUX_DIR([build-aux])
AC_PROG_CC
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([$required_gettext_version])
+AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([po/Makefile.in])
@@ -57,7 +55,7 @@ AC_CONFIG_SRCDIR(hello.c)
AC_PROG_CC
AM_GNU_GETTEXT
-AM_GNU_GETTEXT_VERSION([$required_gettext_version])
+AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([po/Makefile.in])
@@ -84,7 +82,7 @@ AC_CONFIG_SRCDIR(hello.c)
AC_PROG_CC
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([$required_gettext_version])
+AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION])
# first macro directory, in which po.m4, etc. belong
AC_CONFIG_MACRO_DIR([gettext-m4])
@@ -118,7 +116,7 @@ AC_CONFIG_SRCDIR(hello.c)
AC_PROG_CC
AM_GNU_GETTEXT([external], [need-formatstring-macros])
-AM_GNU_GETTEXT_VERSION([$required_gettext_version])
+AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([po/Makefile.in])
@@ -150,7 +148,7 @@ _gt_recurse([a], [b], , [c])
AC_PROG_CC
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([$required_gettext_version])
+AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([po/Makefile.in])
@@ -168,3 +166,63 @@ test -f m4/po.m4 || exit 1
test -f po/Makefile.in.in || exit 1
rm -fr m4 po
+
+# Check for AM_GNU_GETTEXT_REQUIRE_VERSION.
+cat <<EOF >configure.ac
+AC_INIT
+AC_CONFIG_SRCDIR(hello.c)
+
+AC_PROG_CC
+AM_GNU_GETTEXT_REQUIRE_VERSION([0.19])
+AM_GNU_GETTEXT([external])
+
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([po/Makefile.in])
+AC_OUTPUT
+EOF
+
+$gettext_datadir/autopoint >/dev/null 2>autopoint.err
+test $? = 0 || { cat autopoint.err; exit 1; }
+
+test ! -d intl || exit 1
+test -d m4 || exit 1
+test -d po || exit 1
+
+test -f m4/po.m4 || exit 1
+test -f po/Makefile.in.in || exit 1
+
+# Check for the case where both AM_GNU_GETTEXT_REQUIRE_VERSION and
+# AM_GNU_GETTEXT_VERSION are used.
+cat <<EOF >configure.ac
+AC_INIT
+AC_CONFIG_SRCDIR(hello.c)
+
+AC_PROG_CC
+AM_GNU_GETTEXT
+AM_GNU_GETTEXT_REQUIRE_VERSION([0.19])
+# This shall be ignored when AM_GNU_GETTEXT_REQUIRE_VERSION is defined
+AM_GNU_GETTEXT_VERSION([0.19])
+
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([po/Makefile.in])
+AC_OUTPUT
+EOF
+
+$gettext_datadir/autopoint >autopoint.out 2>autopoint.err
+test $? = 0 || { cat autopoint.err; exit 1; }
+
+grep 'using AM_GNU_GETTEXT_REQUIRE_VERSION' autopoint.out 2>&1 >/dev/null || exit 1
+
+test -d intl || exit 1
+test -d m4 || exit 1
+test -d po || exit 1
+
+cat >autopoint.ver <<EOF
+GNU gettext library from gettext-$ARCHIVE_VERSION
+EOF
+: ${DIFF=diff}
+${DIFF} autopoint.ver intl/VERSION || exit 1
+test -f m4/po.m4 || exit 1
+test -f po/Makefile.in.in || exit 1
diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3
index c128b4d..c0f468c 100755
--- a/gettext-tools/tests/autopoint-3
+++ b/gettext-tools/tests/autopoint-3
@@ -3,8 +3,6 @@
# Test the autopoint program, with Automake.
-required_gettext_version=0.19.4
-
: ${AUTOCONF=autoconf}
${AUTOCONF} --version >/dev/null 2>/dev/null \
|| { echo "Skipping test: autoconf not found"; exit 77; }
@@ -61,7 +59,7 @@ AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AM_GNU_GETTEXT([use-libtool])
-AM_GNU_GETTEXT_VERSION([$required_gettext_version])
+AM_GNU_GETTEXT_VERSION([$ARCHIVE_VERSION])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
@@ -132,18 +130,6 @@ test $? = 0 || { cat autopoint.err; exit 1; }
${CONFIG_SHELL} ./configure --with-included-gettext >/dev/null 2>autpoint.err
test $? = 0 || { cat autopoint.err; exit 1; }
-# Workaround for 0.18.3 or earlier: Processing intl/plural.y with
-# Bison 3.0.1 or later generates a wrong code. Use pre-generated
-# intl/plural.c in that case.
-test -f intl/plural.c && touch intl/plural.c
-
-# Workaround for a bug in 0.19 and 0.19.1: ChangeLog is missing in the archive.
-case "$required_gettext_version" in
- 0.19 | 0.19.1)
- test -f intl/ChangeLog || : > intl/ChangeLog
- ;;
-esac
-
${MAKE} >/dev/null 2>autopoint.err
test $? = 0 || { cat autopoint.err; exit 1; }
diff --git a/gettext-tools/tests/cldr-plurals-1 b/gettext-tools/tests/cldr-plurals-1
new file mode 100755
index 0000000..e593812
--- /dev/null
+++ b/gettext-tools/tests/cldr-plurals-1
@@ -0,0 +1,59 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+: ${DIFF=diff}
+
+# Test conversion from CLDR to gettext, for Arabic and Russian
+
+LC_ALL=C "$top_builddir/src/cldr-plurals" ru /dev/null 2>&1 | grep 'extraction is not supported' > /dev/null 2>&1
+test $? = 0 && {
+ echo "Skipping test: cldr-plurals was built without XML support"
+ exit 77
+}
+
+cat > ar.ok <<\EOF
+nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);
+EOF
+
+"$top_builddir/src/cldr-plurals" > ar.out <<\EOF
+zero: n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000; one: n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000; two: n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000; few: n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …; many: n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …; other: @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
+EOF
+
+${DIFF} ar.ok ar.out || exit 1
+
+cat > ru.ok <<\EOF
+nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);
+EOF
+
+"$top_builddir/src/cldr-plurals" > ru.out <<\EOF
+one: v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …; few: v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …; many: v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …; other: @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
+EOF
+
+${DIFF} ru.ok ru.out || exit 1
+
+# Test extraction from CLDR
+
+cat > foo.in <<\EOF
+<supplementalData>
+ <plurals type="cardinal">
+ <pluralRules locales="foo">
+ <pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
+ <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+ </pluralRules>
+ </plurals>
+</supplementalData>
+EOF
+
+"$top_builddir/src/cldr-plurals" foo foo.in > foo.out
+cat > foo.ok <<\EOF
+nplurals=2; plural=(n != 1);
+EOF
+${DIFF} foo.ok foo.out || exit 1
+
+"$top_builddir/src/cldr-plurals" -c foo foo.in > foo.cldr.out
+cat > foo.cldr.ok <<\EOF
+one: i = 1 and v = 0 @integer 1; other: @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
+EOF
+${DIFF} foo.cldr.ok foo.cldr.out || exit 1
+
+exit 0
diff --git a/gettext-tools/tests/common/supplemental/plurals.xml b/gettext-tools/tests/common/supplemental/plurals.xml
new file mode 100644
index 0000000..3a987fe
--- /dev/null
+++ b/gettext-tools/tests/common/supplemental/plurals.xml
@@ -0,0 +1,10 @@
+<supplementalData>
+ <plurals type="cardinal">
+ <pluralRules locales="foo">
+ <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …</pluralRule>
+ <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …</pluralRule>
+ <pluralRule count="many">v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+ <pluralRule count="other"> @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+ </pluralRules>
+ </plurals>
+</supplementalData>
diff --git a/gettext-tools/tests/format-c-3-prg.c b/gettext-tools/tests/format-c-3-prg.c
index dac0d26..b1239cf 100644
--- a/gettext-tools/tests/format-c-3-prg.c
+++ b/gettext-tools/tests/format-c-3-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the format-c-3 test.
- Copyright (C) 2002, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/format-c-4-prg.c b/gettext-tools/tests/format-c-4-prg.c
index 78f014b..47cfb2e 100644
--- a/gettext-tools/tests/format-c-4-prg.c
+++ b/gettext-tools/tests/format-c-4-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the format-c-4 test.
- Copyright (C) 2002, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/format-c-5-prg.c b/gettext-tools/tests/format-c-5-prg.c
index 942320b..f3529eb 100644
--- a/gettext-tools/tests/format-c-5-prg.c
+++ b/gettext-tools/tests/format-c-5-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the format-c-5 test.
- Copyright (C) 2004, 2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2010, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/format-kde-kuit-1 b/gettext-tools/tests/format-kde-kuit-1
new file mode 100755
index 0000000..aeaa743
--- /dev/null
+++ b/gettext-tools/tests/format-kde-kuit-1
@@ -0,0 +1,72 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test recognition of KUIT format strings.
+
+: ${XGETTEXT=xgettext}
+
+cat <<\EOF > f-kd-invalid.cpp
+xi18n("<invalid>");
+EOF
+
+LC_ALL=C ${XGETTEXT} -L C++ --kde --flag=xi18n:1:kde-kuit-format -o - f-kd-invalid.cpp 2>&1 | grep 'not a valid KDE KUIT format' > /dev/null 2>&1
+test $? = 0 || {
+ echo "Skipping test: xgettext was built without KDE KUIT format support"
+ exit 77
+}
+
+cat <<\EOF > f-kd-1.data
+# Unrecognized: unbalanced filename tag
+"<filename>a"
+# Unrecognized: unbalanced filename tag
+"<filename>%1"
+# Unrecognized: unbalanced filename tag
+"<filename>%1</xfilename>"
+# Valid: one argument
+"<filename>%1</filename>"
+# Valid: accelerator
+"<command>&Application.About</command>"
+# Valid: accelerator at the end
+"<command>About</command>&A"
+# Valid: accelerator
+"<command>&/</command>"
+# Valid: entity reference
+"<command>&amp;About</command>"
+# Valid: character reference
+"<command>&#x2A;&#x2a;&#x61;&#141;</command>"
+EOF
+
+n=0
+while read comment; do
+ read string
+ n=`expr $n + 1`
+ cat <<EOF > f-kd-1-$n.in
+xi18n(${string});
+EOF
+ ${XGETTEXT} -L C++ --kde --flag=xi18n:1:kde-kuit-format --flag=i18n:1:kde-format -kxi18n -ki18n -o f-kd-1-$n.po f-kd-1-$n.in || exit 1
+ test -f f-kd-1-$n.po || exit 1
+ fail=
+ if echo "$comment" | grep 'Valid:' > /dev/null; then
+ if grep kde-kuit-format f-kd-1-$n.po > /dev/null; then
+ :
+ else
+ fail=yes
+ fi
+ else
+ if grep kde-kuit-format f-kd-1-$n.po > /dev/null; then
+ fail=yes
+ else
+ :
+ fi
+ fi
+ if test -n "$fail"; then
+ echo "Format string recognition error:" 1>&2
+ cat f-kd-1-$n.in 1>&2
+ echo "Got:" 1>&2
+ cat f-kd-1-$n.po 1>&2
+ exit 1
+ fi
+ rm -f f-kd-1-$n.in f-kd-1-$n.po
+done < f-kd-1.data
+
+exit 0
diff --git a/gettext-tools/tests/format-kde-kuit-2 b/gettext-tools/tests/format-kde-kuit-2
new file mode 100755
index 0000000..0634b62
--- /dev/null
+++ b/gettext-tools/tests/format-kde-kuit-2
@@ -0,0 +1,80 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test checking of KDE KUIT format strings.
+
+cat <<\EOF > f-kd-invalid.po
+#, kde-kuit-format
+msgid "foo"
+msgstr "<"
+EOF
+
+: ${MSGFMT=msgfmt}
+
+LC_ALL=C ${MSGFMT} --check-format -o /dev/null f-kd-invalid.po 2>&1 | grep 'not a valid KDE KUIT format' > /dev/null 2>&1
+test $? = 0 || {
+ echo "Skipping test: msgfmt was built without KDE KUIT format support"
+ exit 77
+}
+
+cat <<\EOF > f-kd-2.data
+# Valid: one argument
+msgid "<filename>%1</filename>"
+msgstr "<filename>%1</filename>"
+# Invalid: missing argument
+msgid "<filename>%1</filename>"
+msgstr "<filename>foo</filename>"
+# Valid: change the text
+msgid "<filename>foo</filename>"
+msgstr "<filename>bar</filename>"
+# Invalid: unbalanced tag
+msgid "<filename>foo</filename>"
+msgstr "<filename>bar"
+# Invalid: unbalanced tag
+msgid "<filename>foo</filename>"
+msgstr "<filename>bar</xfilename>"
+# Valid: replaced tag
+msgid "<filename>foo</filename>"
+msgstr "<foo>foo</foo>"
+# Valid: accelerator
+msgid "<filename>&foo</filename>"
+msgstr "<foo>&foo</foo>"
+# Valid: entity reference
+msgid "<filename>foo</filename>"
+msgstr "<foo>&amp;</foo>"
+EOF
+
+n=0
+while read comment; do
+ read msgid_line
+ read msgstr_line
+ n=`expr $n + 1`
+ cat <<EOF > f-kd-2-$n.po
+#, kde-kuit-format
+${msgid_line}
+${msgstr_line}
+EOF
+ fail=
+ if echo "$comment" | grep 'Valid:' > /dev/null; then
+ if ${MSGFMT} --check-format -o f-kd-2-$n.mo f-kd-2-$n.po; then
+ :
+ else
+ fail=yes
+ fi
+ else
+ ${MSGFMT} --check-format -o f-kd-2-$n.mo f-kd-2-$n.po 2> /dev/null
+ if test $? = 1; then
+ :
+ else
+ fail=yes
+ fi
+ fi
+ if test -n "$fail"; then
+ echo "Format string checking error:" 1>&2
+ cat f-kd-2-$n.po 1>&2
+ exit 1
+ fi
+ rm -f f-kd-2-$n.po f-kd-2-$n.mo
+done < f-kd-2.data
+
+exit 0
diff --git a/gettext-tools/tests/gettext-3-prg.c b/gettext-tools/tests/gettext-3-prg.c
index a51ea34..395b401 100644
--- a/gettext-tools/tests/gettext-3-prg.c
+++ b/gettext-tools/tests/gettext-3-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the gettext-3 test.
- Copyright (C) 2000, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2005, 2007, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/gettext-4-prg.c b/gettext-tools/tests/gettext-4-prg.c
index 01734ce..0dfc043 100644
--- a/gettext-tools/tests/gettext-4-prg.c
+++ b/gettext-tools/tests/gettext-4-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the gettext-4 test.
- Copyright (C) 2001, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005-2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/gettext-5-prg.c b/gettext-tools/tests/gettext-5-prg.c
index 0f28fbd..db1f9cf 100644
--- a/gettext-tools/tests/gettext-5-prg.c
+++ b/gettext-tools/tests/gettext-5-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the gettext-5 test.
- Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/gettext-6-prg.c b/gettext-tools/tests/gettext-6-prg.c
index 01ed60c..e2148c9 100644
--- a/gettext-tools/tests/gettext-6-prg.c
+++ b/gettext-tools/tests/gettext-6-prg.c
@@ -1,5 +1,6 @@
/* Test program, used by the gettext-6 test.
- Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2010, 2015 Free Software Foundation,
+ Inc.
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
diff --git a/gettext-tools/tests/gettext-7-prg.c b/gettext-tools/tests/gettext-7-prg.c
index 437de64..6a6146b 100644
--- a/gettext-tools/tests/gettext-7-prg.c
+++ b/gettext-tools/tests/gettext-7-prg.c
@@ -1,5 +1,6 @@
/* Test program, used by the gettext-7 test.
- Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2010, 2015 Free Software Foundation,
+ Inc.
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
diff --git a/gettext-tools/tests/gettext-8-prg.c b/gettext-tools/tests/gettext-8-prg.c
index 7edd016..22b6b03 100644
--- a/gettext-tools/tests/gettext-8-prg.c
+++ b/gettext-tools/tests/gettext-8-prg.c
@@ -1,5 +1,5 @@
/* Test that gettext() does not crash by stack overflow when msgid is very long.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/gettextpo-1-prg.c b/gettext-tools/tests/gettextpo-1-prg.c
index 9ff6e10..ef53441 100644
--- a/gettext-tools/tests/gettextpo-1-prg.c
+++ b/gettext-tools/tests/gettextpo-1-prg.c
@@ -1,5 +1,5 @@
/* Test of public API for GNU gettext PO files.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2010.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/tests/init-env.in b/gettext-tools/tests/init-env.in
index fa428f9..5d5bb89 100644
--- a/gettext-tools/tests/init-env.in
+++ b/gettext-tools/tests/init-env.in
@@ -1,6 +1,10 @@
# Variable needed by LTLIBINTL.
top_builddir=../..
+# Variable needed by xgettext.
+GETTEXTDATADIR="$abs_top_srcdir"
+export GETTEXTDATADIR
+
OBJEXT="@OBJEXT@"
EXEEXT="@EXEEXT@"
CC="@CC@"
@@ -22,6 +26,7 @@ LOCALE_FR="@LOCALE_FR@"
LOCALE_FR_UTF8="@LOCALE_FR_UTF8@"
LOCALE_JA="@LOCALE_JA@"
host_os="@host_os@"
+ARCHIVE_VERSION="@ARCHIVE_VERSION@"
: ${GETTEXT=tstgettext}
: ${NGETTEXT=tstngettext}
diff --git a/gettext-tools/tests/init.sh b/gettext-tools/tests/init.sh
index fbd293d..d366206 100644
--- a/gettext-tools/tests/init.sh
+++ b/gettext-tools/tests/init.sh
@@ -1,6 +1,6 @@
# source this file; set up for tests
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
# 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
@@ -93,6 +93,27 @@ skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+# This is used to simplify checking of the return value
+# which is useful when ensuring a command fails as desired.
+# I.e., just doing `command ... &&fail=1` will not catch
+# a segfault in command for example. With this helper you
+# instead check an explicit exit code like
+# returns_ 1 command ... || fail
+returns_ () {
+ # Disable tracing so it doesn't interfere with stderr of the wrapped command
+ { set +x; } 2>/dev/null
+
+ local exp_exit="$1"
+ shift
+ "$@"
+ test $? -eq $exp_exit && ret_=0 || ret_=1
+
+ if test "$VERBOSE" = yes && test "$gl_set_x_corrupts_stderr_" = false; then
+ set -x
+ fi
+ { return $ret_; } 2>/dev/null
+}
+
# Sanitize this shell to POSIX mode, if possible.
DUALCASE=1; export DUALCASE
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -129,6 +150,7 @@ fi
# ? - not ok
gl_shell_test_script_='
test $(echo y) = y || exit 1
+f_local_() { local v=1; }; f_local_ || exit 1
score_=10
if test "$VERBOSE" = yes; then
test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9
diff --git a/gettext-tools/tests/lang-bash b/gettext-tools/tests/lang-bash
index f2e0e3b..7c74651 100755
--- a/gettext-tools/tests/lang-bash
+++ b/gettext-tools/tests/lang-bash
@@ -116,6 +116,19 @@ if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then
exit 77
fi
+case "$host_os" in
+ darwin*)
+ if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR bash --help \
+ | grep '^Utilisation' > /dev/null 2>&1 || exit 77
+ fi
+ if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 bash --help \
+ | grep '^Utilisation' > /dev/null 2>&1 || exit 77
+ fi
+ ;;
+esac
+
# Expected result when bash is built without i18n support.
cat <<\EOF > prog.nok
'Your command, please?', asked the waiter.
diff --git a/gettext-tools/tests/mm-ko.euc-kr.po b/gettext-tools/tests/mm-ko.euc-kr.po
index 45d2e4b..1962130 100644
--- a/gettext-tools/tests/mm-ko.euc-kr.po
+++ b/gettext-tools/tests/mm-ko.euc-kr.po
@@ -1,5 +1,5 @@
# Korean translation for dia
-# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2015 Free Software Foundation, Inc.
# Young-Ho,Cha <ganadist@dacome.co.kr>, 2000.
#: app/sheets.c:453
msgid ""
diff --git a/gettext-tools/tests/mm-viet.out b/gettext-tools/tests/mm-viet.out
index f57688b..9e510df 100644
--- a/gettext-tools/tests/mm-viet.out
+++ b/gettext-tools/tests/mm-viet.out
@@ -3034,8 +3034,8 @@ msgstr "_Ngôn ngữ"
#. i18n: file data/abc.xml line 5
#: rc.cpp:46 rc.cpp:58 rc.cpp:106 rc.cpp:118 rc.cpp:146 rc.cpp:154 rc.cpp:158
-#: rc.cpp:166 rc.cpp:182 rc.cpp:286 rc.cpp:306 rc.cpp:314 rc.cpp:338
-#: rc.cpp:382 rc.cpp:410 rc.cpp:414
+#: rc.cpp:166 rc.cpp:182 rc.cpp:286 rc.cpp:306 rc.cpp:314 rc.cpp:338 rc.cpp:382
+#: rc.cpp:410 rc.cpp:414
msgid ""
"_: Language Section\n"
"Other"
@@ -3051,11 +3051,11 @@ msgstr "_Ngôn ngữ"
#. i18n: file data/ada.xml line 3
#: rc.cpp:50 rc.cpp:62 rc.cpp:94 rc.cpp:98 rc.cpp:102 rc.cpp:114 rc.cpp:130
-#: rc.cpp:134 rc.cpp:138 rc.cpp:150 rc.cpp:174 rc.cpp:178 rc.cpp:202
-#: rc.cpp:218 rc.cpp:226 rc.cpp:238 rc.cpp:242 rc.cpp:246 rc.cpp:254
-#: rc.cpp:270 rc.cpp:282 rc.cpp:290 rc.cpp:294 rc.cpp:298 rc.cpp:334
-#: rc.cpp:346 rc.cpp:350 rc.cpp:358 rc.cpp:390 rc.cpp:394 rc.cpp:418
-#: rc.cpp:426 rc.cpp:446 rc.cpp:466 rc.cpp:506 rc.cpp:522 rc.cpp:526
+#: rc.cpp:134 rc.cpp:138 rc.cpp:150 rc.cpp:174 rc.cpp:178 rc.cpp:202 rc.cpp:218
+#: rc.cpp:226 rc.cpp:238 rc.cpp:242 rc.cpp:246 rc.cpp:254 rc.cpp:270 rc.cpp:282
+#: rc.cpp:290 rc.cpp:294 rc.cpp:298 rc.cpp:334 rc.cpp:346 rc.cpp:350 rc.cpp:358
+#: rc.cpp:390 rc.cpp:394 rc.cpp:418 rc.cpp:426 rc.cpp:446 rc.cpp:466 rc.cpp:506
+#: rc.cpp:522 rc.cpp:526
msgid ""
"_: Language Section\n"
"Sources"
@@ -3141,8 +3141,8 @@ msgstr "_Ngôn ngữ"
#. i18n: file data/asp.xml line 3
#: rc.cpp:78 rc.cpp:90 rc.cpp:122 rc.cpp:142 rc.cpp:170 rc.cpp:214 rc.cpp:230
-#: rc.cpp:258 rc.cpp:266 rc.cpp:274 rc.cpp:310 rc.cpp:326 rc.cpp:378
-#: rc.cpp:438 rc.cpp:478 rc.cpp:498 rc.cpp:510 rc.cpp:514 rc.cpp:518
+#: rc.cpp:258 rc.cpp:266 rc.cpp:274 rc.cpp:310 rc.cpp:326 rc.cpp:378 rc.cpp:438
+#: rc.cpp:478 rc.cpp:498 rc.cpp:510 rc.cpp:514 rc.cpp:518
msgid ""
"_: Language Section\n"
"Markup"
@@ -3158,9 +3158,8 @@ msgstr "_Ngôn ngữ"
#. i18n: file data/awk.xml line 3
#: rc.cpp:82 rc.cpp:86 rc.cpp:126 rc.cpp:186 rc.cpp:190 rc.cpp:234 rc.cpp:262
-#: rc.cpp:302 rc.cpp:318 rc.cpp:362 rc.cpp:366 rc.cpp:374 rc.cpp:398
-#: rc.cpp:402 rc.cpp:406 rc.cpp:422 rc.cpp:430 rc.cpp:442 rc.cpp:470
-#: rc.cpp:482 rc.cpp:486
+#: rc.cpp:302 rc.cpp:318 rc.cpp:362 rc.cpp:366 rc.cpp:374 rc.cpp:398 rc.cpp:402
+#: rc.cpp:406 rc.cpp:422 rc.cpp:430 rc.cpp:442 rc.cpp:470 rc.cpp:482 rc.cpp:486
msgid ""
"_: Language Section\n"
"Scripts"
@@ -3385,8 +3384,7 @@ msgid ""
msgstr "_Ngôn ngữ"
#. i18n: file data/fgl-4gl.xml line 3
-#: rc.cpp:194 rc.cpp:198 rc.cpp:278 rc.cpp:386 rc.cpp:454 rc.cpp:458
-#: rc.cpp:462
+#: rc.cpp:194 rc.cpp:198 rc.cpp:278 rc.cpp:386 rc.cpp:454 rc.cpp:458 rc.cpp:462
msgid ""
"_: Language Section\n"
"Database"
diff --git a/gettext-tools/tests/msgexec-6 b/gettext-tools/tests/msgexec-6
new file mode 100755
index 0000000..acea8bc
--- /dev/null
+++ b/gettext-tools/tests/msgexec-6
@@ -0,0 +1,143 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test --newline option.
+
+cat <<\EOF > mex-test6.po
+# HEADER.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Bonnie Tyler\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: married-men:4
+#, fuzzy
+msgid "The world is full of married men"
+msgstr "So viele verheiratete Männer"
+
+#: married-men:5
+msgid "with wives who never understand"
+msgstr "und ihre Frauen verstehen sie nicht"
+
+#: married-men:6
+msgid "They're looking for someone to share"
+msgstr ""
+
+# schwer zu übersetzen...
+#: married-men:7
+msgid "the excitement of a love affair"
+msgstr ""
+
+#: married-men:8
+msgid "Just as soon as they find you"
+msgstr ""
+
+#: married-men:9
+msgid "They warn you and darn you"
+msgstr ""
+
+#~ msgid "You fly on the wings of romance"
+#~ msgstr "Die Flügel der frischen Liebe\n"
+#~ "heben dich zum Himmel"
+
+#, fuzzy
+#~ msgid "In the eyes of the world"
+#~ msgstr "Für die anderen"
+
+# Etwas freie Übersetzung.
+#~ msgid "You're just another crazy girl"
+#~ msgstr "bist du bloß ein verrücktes dummes Ding"
+
+#~ msgid "Who loves a married man"
+#~ msgstr "das einen verheirateten Mann liebt"
+EOF
+
+cat <<\EOF > mex-test6.sh
+#! /bin/sh
+echo "========================= $MSGEXEC_LOCATION =========================" | LC_ALL=C tr -d '\r'
+cat <<MEOF
+$MSGEXEC_MSGID
+---
+MEOF
+cat
+echo | LC_ALL=C tr -d '\r'
+exit 0
+EOF
+chmod a+x mex-test6.sh
+
+: ${MSGEXEC=msgexec}
+LC_ALL=C \
+${MSGEXEC} --newline -i mex-test6.po ./mex-test6.sh > mex-test6.out 2> mex-test6.err
+result=$?
+cat mex-test6.err | grep -v 'warning: Locale charset' | grep -v '^ '
+test $result = 0 || { exit 1; }
+
+cat <<\EOF > mex-test6.ok
+========================= mex-test6.po:4 =========================
+
+---
+Project-Id-Version: Bonnie Tyler
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+
+
+========================= mex-test6.po:12 =========================
+The world is full of married men
+---
+So viele verheiratete Männer
+
+========================= mex-test6.po:16 =========================
+with wives who never understand
+---
+und ihre Frauen verstehen sie nicht
+
+========================= mex-test6.po:20 =========================
+They're looking for someone to share
+---
+
+
+========================= mex-test6.po:25 =========================
+the excitement of a love affair
+---
+
+
+========================= mex-test6.po:29 =========================
+Just as soon as they find you
+---
+
+
+========================= mex-test6.po:33 =========================
+They warn you and darn you
+---
+
+
+========================= mex-test6.po:36 =========================
+You fly on the wings of romance
+---
+Die Flügel der frischen Liebe
+heben dich zum Himmel
+
+========================= mex-test6.po:41 =========================
+In the eyes of the world
+---
+Für die anderen
+
+========================= mex-test6.po:45 =========================
+You're just another crazy girl
+---
+bist du bloß ein verrücktes dummes Ding
+
+========================= mex-test6.po:48 =========================
+Who loves a married man
+---
+das einen verheirateten Mann liebt
+
+EOF
+
+: ${DIFF=diff}
+${DIFF} mex-test6.ok mex-test6.out
+result=$?
+
+exit $result
diff --git a/gettext-tools/tests/msgfilter-7 b/gettext-tools/tests/msgfilter-7
index 8f4dbae..791441b 100755
--- a/gettext-tools/tests/msgfilter-7
+++ b/gettext-tools/tests/msgfilter-7
@@ -54,9 +54,19 @@ msgstr ""
#~ msgstr "das einen verheirateten Mann liebt"
EOF
+cat <<\EOF > mf-test7.sh
+#! /bin/sh
+
+# Eat up filter input to avoid EPIPE in the parent process.
+cat > /dev/null
+
+echo testing
+EOF
+chmod +x mf-test7.sh
+
: ${MSGFILTER=msgfilter}
LC_ALL=C ${MSGFILTER} -i mfi-test7.po -o mfi-test7.out \
- echo testing >mfi-test7.err 2>&1
+ ./mf-test7.sh >mfi-test7.err 2>&1
result=$?
cat mfi-test7.err | grep -v 'warning: Locale charset' | grep -v '^ '
test $result = 0 || { exit 1; }
diff --git a/gettext-tools/tests/msgfilter-8 b/gettext-tools/tests/msgfilter-8
new file mode 100755
index 0000000..3ffcb5e
--- /dev/null
+++ b/gettext-tools/tests/msgfilter-8
@@ -0,0 +1,164 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test --newline option.
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+cat <<\EOF > mfi-test8.po
+# HEADER.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Bonnie Tyler\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: married-men:4
+#, fuzzy
+msgid "The world is full of married men"
+msgstr "So viele verheiratete Männer"
+
+#: married-men:5
+msgid "with wives who never understand"
+msgstr "und ihre Frauen verstehen sie nicht"
+
+#: married-men:6
+msgid "They're looking for someone to share"
+msgstr ""
+
+# schwer zu übersetzen...
+#: married-men:7
+msgid "the excitement of a love affair"
+msgstr ""
+
+#: married-men:8
+msgid "Just as soon as they find you"
+msgstr ""
+
+#: married-men:9
+msgid "They warn you and darn you"
+msgstr ""
+
+#~ msgid "You fly on the wings of romance"
+#~ msgstr "Die Flügel der frischen Liebe heben dich zum Himmel"
+
+#, fuzzy
+#~ msgid "In the eyes of the world"
+#~ msgstr "Für die anderen"
+
+# Etwas freie Übersetzung.
+#~ msgid "You're just another crazy girl"
+#~ msgstr "bist du bloß ein verrücktes dummes Ding"
+
+#~ msgid "Who loves a married man"
+#~ msgstr "das einen verheirateten Mann liebt"
+EOF
+
+cat <<\EOF > filter.sh
+#!/bin/sh
+cat
+if test "$MSGFILTER_MSGID" = "the excitement of a love affair"; then
+ echo $ac_n "non-terminated line$ac_c"
+else
+ echo terminated line
+fi
+EOF
+
+: ${MSGFILTER=msgfilter}
+: ${CONFIG_SHELL=${SHELL-/bin/sh}}
+LC_ALL=C ${MSGFILTER} --newline -i mfi-test8.po -o mfi-test8.out \
+ ${CONFIG_SHELL} filter.sh >mfi-test8.err 2>&1
+result=$?
+cat mfi-test8.err | grep -v 'warning: Locale charset' | grep -v '^ '
+test $result = 0 || { exit 1; }
+cat mfi-test8.err | grep 'msgfilter: filter output is not terminated with a newline' >/dev/null
+test $result = 0 || { exit 1; }
+
+cat <<\EOF > mfi-test8.ok
+# HEADER.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Bonnie Tyler\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"\n"
+"terminated line"
+
+#: married-men:4
+#, fuzzy
+msgid "The world is full of married men"
+msgstr ""
+"So viele verheiratete Männer\n"
+"terminated line"
+
+#: married-men:5
+msgid "with wives who never understand"
+msgstr ""
+"und ihre Frauen verstehen sie nicht\n"
+"terminated line"
+
+#: married-men:6
+msgid "They're looking for someone to share"
+msgstr ""
+"\n"
+"terminated line"
+
+# schwer zu übersetzen...
+#: married-men:7
+msgid "the excitement of a love affair"
+msgstr ""
+"\n"
+"non-terminated line"
+
+#: married-men:8
+msgid "Just as soon as they find you"
+msgstr ""
+"\n"
+"terminated line"
+
+#: married-men:9
+msgid "They warn you and darn you"
+msgstr ""
+"\n"
+"terminated line"
+
+#~ msgid "You fly on the wings of romance"
+#~ msgstr ""
+#~ "Die Flügel der frischen Liebe heben dich zum Himmel\n"
+#~ "terminated line"
+
+#, fuzzy
+#~ msgid "In the eyes of the world"
+#~ msgstr ""
+#~ "Für die anderen\n"
+#~ "terminated line"
+
+# Etwas freie Übersetzung.
+#~ msgid "You're just another crazy girl"
+#~ msgstr ""
+#~ "bist du bloß ein verrücktes dummes Ding\n"
+#~ "terminated line"
+
+#~ msgid "Who loves a married man"
+#~ msgstr ""
+#~ "das einen verheirateten Mann liebt\n"
+#~ "terminated line"
+EOF
+
+: ${DIFF=diff}
+${DIFF} mfi-test8.ok mfi-test8.out
+result=$?
+
+exit $result
diff --git a/gettext-tools/tests/msgfmt-xml-1 b/gettext-tools/tests/msgfmt-xml-1
new file mode 100755
index 0000000..40e956b
--- /dev/null
+++ b/gettext-tools/tests/msgfmt-xml-1
@@ -0,0 +1,119 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test iterative mode of msgfmt --xml.
+
+cat <<\EOF > mf.appdata.xml
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id>org.gnome.Characters.desktop</id>
+ <name>GNOME Characters</name>
+ <summary>Character map application</summary>
+ <licence>CC0</licence>
+ <description>
+ <p>
+ Characters is a simple utility application to find and insert
+ unusual characters. It allows you to quickly find the character
+ you are looking for by searching for keywords.
+ </p>
+ <p>
+ You can also browse characters by categories, such as
+ Punctuation, Pictures, etc.
+ </p>
+ </description>
+ <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
+ <updatecontact>dueno_at_src.gnome.org</updatecontact>
+</component>
+EOF
+
+cat <<\EOF > fr.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-03-17 07:36+0900\n"
+"PO-Revision-Date: 2014-03-17 08:40+0900\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Characters is a simple utility application to find and insert unusual "
+"characters. It allows you to quickly find the character you are looking for "
+"by searching for keywords."
+msgstr ""
+"Caractères est un utilitaire pour chercher et insérer des caractères "
+"inhabituels. Il vous permet de trouver rapidement le caractère que vous "
+"cherchez par le biais de mots-clés."
+
+msgid ""
+"You can also browse characters by categories, such as Punctuation, Pictures, "
+"etc."
+msgstr ""
+"Vous pouvez aussi naviguer dans les caractères par catégories, comme par "
+"Ponctuation, Images, etc."
+EOF
+
+cat <<\EOF > mf.appdata.xml.ok
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id>org.gnome.Characters.desktop</id>
+ <name>GNOME Characters</name>
+ <summary>Character map application</summary>
+ <licence>CC0</licence>
+ <description>
+ <p>
+ Characters is a simple utility application to find and insert
+ unusual characters. It allows you to quickly find the character
+ you are looking for by searching for keywords.
+ </p>
+ <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p>
+ <p>
+ You can also browse characters by categories, such as
+ Punctuation, Pictures, etc.
+ </p>
+ <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p>
+ </description>
+ <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
+ <updatecontact>dueno_at_src.gnome.org</updatecontact>
+</component>
+EOF
+
+# Sanity checks for contradicting options.
+
+${MSGFMT} --xml --template=mf.appdata.xml -l fr fr.po \
+ >/dev/null 2>/dev/null \
+ && exit 1
+
+${MSGFMG} --xml --template=mf.appdata.xml fr.po -o mf.appdata.xml.out \
+ >/dev/null 2>/dev/null \
+ && exit 1
+
+# Proceed to the XML file generation.
+
+${MSGFMT} --xml --template=mf.appdata.xml -l fr fr.po -o mf.appdata.xml.out \
+ || exit 1
+
+: ${DIFF=diff}
+${DIFF} mf.appdata.xml.ok mf.appdata.xml.out
+result=$?
+test $result = 0 || exit $result
+
+# Test -L option.
+cp mf.appdata.xml mf.xml
+${MSGFMT} --xml --template=mf.xml -L AppData -l fr fr.po -o mf.appdata.xml.out \
+ || exit 1
+${DIFF} mf.appdata.xml.ok mf.appdata.xml.out
+result=$?
+test $result = 0 || exit $result
+
+exit $result
diff --git a/gettext-tools/tests/msgfmt-xml-2 b/gettext-tools/tests/msgfmt-xml-2
new file mode 100755
index 0000000..d10d21c
--- /dev/null
+++ b/gettext-tools/tests/msgfmt-xml-2
@@ -0,0 +1,203 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test 'bulk' mode of msgfmt --xml.
+
+cat <<\EOF > mf.appdata.xml
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id>org.gnome.Characters.desktop</id>
+ <name>GNOME Characters</name>
+ <summary>Character map application</summary>
+ <licence>CC0</licence>
+ <description>
+ <p>
+ Characters is a simple utility application to find and insert
+ unusual characters. It allows you to quickly find the character
+ you are looking for by searching for keywords.
+ </p>
+ <p>
+ You can also browse characters by categories, such as
+ Punctuation, Pictures, etc.
+ </p>
+ </description>
+ <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
+ <updatecontact>dueno_at_src.gnome.org</updatecontact>
+</component>
+EOF
+
+test -d po || mkdir po
+
+cat <<\EOF > po/fr.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-03-17 07:36+0900\n"
+"PO-Revision-Date: 2014-03-17 08:40+0900\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Characters is a simple utility application to find and insert unusual "
+"characters. It allows you to quickly find the character you are looking for "
+"by searching for keywords."
+msgstr ""
+"Caractères est un utilitaire pour chercher et insérer des caractères "
+"inhabituels. Il vous permet de trouver rapidement le caractère que vous "
+"cherchez par le biais de mots-clés."
+
+msgid ""
+"You can also browse characters by categories, such as Punctuation, Pictures, "
+"etc."
+msgstr ""
+"Vous pouvez aussi naviguer dans les caractères par catégories, comme par "
+"Ponctuation, Images, etc."
+EOF
+
+cat <<\EOF > po/de.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-03-17 07:36+0900\n"
+"PO-Revision-Date: 2014-03-17 08:40+0900\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Characters is a simple utility application to find and insert unusual "
+"characters. It allows you to quickly find the character you are looking for by "
+"searching for keywords."
+msgstr ""
+"Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten "
+"verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie "
+"nach Schlüsselwörtern suchen."
+
+msgid ""
+"You can also browse characters by categories, such as Punctuation, Pictures, "
+"etc."
+msgstr ""
+"Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder "
+"Bildern."
+EOF
+
+cat <<\EOF > mf.appdata.xml.ok
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id>org.gnome.Characters.desktop</id>
+ <name>GNOME Characters</name>
+ <summary>Character map application</summary>
+ <licence>CC0</licence>
+ <description>
+ <p>
+ Characters is a simple utility application to find and insert
+ unusual characters. It allows you to quickly find the character
+ you are looking for by searching for keywords.
+ </p>
+ <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p>
+ <p xml:lang="de">Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie nach Schlüsselwörtern suchen.</p>
+ <p>
+ You can also browse characters by categories, such as
+ Punctuation, Pictures, etc.
+ </p>
+ <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p>
+ <p xml:lang="de">Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder Bildern.</p>
+ </description>
+ <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
+ <updatecontact>dueno_at_src.gnome.org</updatecontact>
+</component>
+EOF
+
+cat <<\EOF > mf.appdata.xml.desired.ok
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id>org.gnome.Characters.desktop</id>
+ <name>GNOME Characters</name>
+ <summary>Character map application</summary>
+ <licence>CC0</licence>
+ <description>
+ <p>
+ Characters is a simple utility application to find and insert
+ unusual characters. It allows you to quickly find the character
+ you are looking for by searching for keywords.
+ </p>
+ <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p>
+ <p>
+ You can also browse characters by categories, such as
+ Punctuation, Pictures, etc.
+ </p>
+ <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p>
+ </description>
+ <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
+ <updatecontact>dueno_at_src.gnome.org</updatecontact>
+</component>
+EOF
+
+unset LINGUAS
+
+# Sanity checks for contradicting options.
+
+${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out \
+ >/dev/null 2>/dev/null \
+ exit 1
+
+test -d po/LINGUAS || mkdir po/LINGUAS
+
+${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out \
+ >/dev/null 2>/dev/null \
+ exit 1
+
+rm -fr po/LINGUAS
+
+cat <<\EOF > po/LINGUAS
+de
+fr
+EOF
+
+${MSGFMT} --xml --template=mf.appdata.xml -d po \
+ >/dev/null 2>/dev/null \
+ && exit 1
+
+${MSGFMG} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out -l fr \
+ >/dev/null 2>/dev/null \
+ && exit 1
+
+${MSGFMG} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out po/fr.po \
+ >/dev/null 2>/dev/null \
+ && exit 1
+
+# Proceed to the .desktop file generation.
+
+${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out || exit 1
+: ${DIFF=diff}
+${DIFF} mf.appdata.xml.ok mf.appdata.xml.out
+test $? = 0 || exit 1
+
+# Restrict the desired languages with the LINGUAS envvar.
+
+LINGUAS="fr ja" ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.desired.out || exit 1
+
+: ${DIFF=diff}
+${DIFF} mf.appdata.xml.desired.ok mf.appdata.xml.desired.out
+test $? = 0 || exit 1
diff --git a/gettext-tools/tests/msginit-4 b/gettext-tools/tests/msginit-4
new file mode 100755
index 0000000..369f152
--- /dev/null
+++ b/gettext-tools/tests/msginit-4
@@ -0,0 +1,85 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test filling Plural-Forms: with Unicode CLDR
+
+LC_ALL=C "$top_builddir/src/cldr-plurals" ru /dev/null 2>&1 | grep 'extraction is not supported' > /dev/null 2>&1
+test $? = 0 && {
+ echo "Skipping test: cldr-plurals was built without XML support"
+ exit 77
+}
+
+cat <<\EOF > mi-test4.pot
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "'Your command, please?', asked the waiter."
+msgstr ""
+
+#, c-format
+msgid "a piece of cake"
+msgid_plural "%d pieces of cake"
+msgstr[0] ""
+msgstr[1] ""
+
+#, c-format
+msgid "%s is replaced by %s."
+msgstr ""
+EOF
+
+: ${MSGINIT=msginit}
+GETTEXTLIBDIR="$top_builddir"/src GETTEXTCLDRDIR="$abs_srcdir" ${MSGINIT} -l foo --no-translator --no-wrap -o mi-test4.tmp 2>mi-test4.err
+test $? = 0 || { cat mi-test4.err 1>&2; exit 1; }
+
+# The charset stored in the header entry is the locale encoding of the gl_IE
+# locale, which is system dependent, or ASCII if the locale does not exist.
+#
+# Project-Id-Version contains version constructed from a temporary
+# directory name
+sed -e '1,10d' -e 's/\(ISO-8859-1\|CP1252\|UTF-8\)/ASCII/g' < mi-test4.tmp | grep -v Project-Id-Version | LC_ALL=C tr -d '\r' > mi-test4.out || exit 1
+cat <<\EOF > mi-test4.ok
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: foo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ASCII\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
+
+#, c-format
+msgid "'Your command, please?', asked the waiter."
+msgstr ""
+
+#, c-format
+msgid "a piece of cake"
+msgid_plural "%d pieces of cake"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#, c-format
+msgid "%s is replaced by %s."
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} mi-test4.ok mi-test4.out
+result=$?
+
+exit $result
diff --git a/gettext-tools/tests/plural-1-prg.c b/gettext-tools/tests/plural-1-prg.c
index f0e7c81..9b32f7c 100644
--- a/gettext-tools/tests/plural-1-prg.c
+++ b/gettext-tools/tests/plural-1-prg.c
@@ -1,5 +1,5 @@
/* Test program, used by the plural-1 test.
- Copyright (C) 2001-2002, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2009, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/sentence b/gettext-tools/tests/sentence
new file mode 100755
index 0000000..481a20f
--- /dev/null
+++ b/gettext-tools/tests/sentence
@@ -0,0 +1,228 @@
+#! /bin/bash
+
+# sentence - temporary wrapper script for .libs/sentence
+# Generated by libtool (GNU libtool) 2.4.6
+#
+# The sentence program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command="(cd /home/ueno/devel/gettext/gettext-tools/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/home/ueno/.local/bin:/home/ueno/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games; export PATH; gcc -std=gnu99 -O0 -g3 -Wall -o \$progdir/\$file sentence-sentence.o ../src/.libs/libgettextsrc.so -L/usr/lib/x86_64-linux-gnu /home/ueno/devel/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so -lacl -lm -lcroco-0.6 -lglib-2.0 -lncurses ../intl/.libs/libgnuintl.so -lc -fopenmp -Wl,-rpath -Wl,/home/ueno/devel/gettext/gettext-tools/src/.libs -Wl,-rpath -Wl,/home/ueno/devel/gettext/gettext-tools/gnulib-lib/.libs -Wl,-rpath -Wl,/home/ueno/devel/gettext/gettext-tools/intl/.libs)"
+
+# This environment variable determines our operation mode.
+if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='2.4.6'
+ notinst_deplibs=' ../src/libgettextsrc.la /home/ueno/devel/gettext/gettext-tools/gnulib-lib/libgettextlib.la ../intl/libgnuintl.la'
+else
+ # When we are sourced in execute mode, $file and $ECHO are already set.
+ if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+ file="$0"
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+ ECHO="printf %s\\n"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ that is used only on
+# windows platforms, and (c) all begin with the string --lt-
+# (application programs are unlikely to have options that match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's ../libtool value, followed by no.
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=$0
+ shift
+ for lt_opt
+ do
+ case "$lt_opt" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
+ test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
+ lt_dump_F=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%^.*/%%'`
+ cat "$lt_dump_D/$lt_dump_F"
+ exit 0
+ ;;
+ --lt-*)
+ $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n "$lt_option_debug"; then
+ echo "sentence:sentence:$LINENO: libtool wrapper (GNU libtool) 2.4.6" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ $ECHO "sentence:sentence:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
+ lt_dump_args_N=`expr $lt_dump_args_N + 1`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+
+ if test -n "$lt_option_debug"; then
+ $ECHO "sentence:sentence:$LINENO: newargv[0]: $progdir/$program" 1>&2
+ func_lt_dump_args ${1+"$@"} 1>&2
+ fi
+ exec "$progdir/$program" ${1+"$@"}
+
+ $ECHO "$0: cannot exec $program $*" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from $@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case " $* " in
+ *\ --lt-*)
+ for lt_wr_arg
+ do
+ case $lt_wr_arg in
+ --lt-*) ;;
+ *) set x "$@" "$lt_wr_arg"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core ${1+"$@"}
+}
+
+ # Parse options
+ func_parse_lt_options "$0" ${1+"$@"}
+
+ # Find the directory that this script lives in.
+ thisdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'`
+ test "x$thisdir" = "x$file" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
+ while test -n "$file"; do
+ destdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'`
+
+ # If there was a directory component, then change thisdir.
+ if test "x$destdir" != "x$file"; then
+ case "$destdir" in
+ [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
+ *) thisdir="$thisdir/$destdir" ;;
+ esac
+ fi
+
+ file=`$ECHO "$file" | /bin/sed 's%^.*/%%'`
+ file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
+ if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
+ # special case for '.'
+ if test "$thisdir" = "."; then
+ thisdir=`pwd`
+ fi
+ # remove .libs from thisdir
+ case "$thisdir" in
+ *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /bin/sed 's%[\\/][^\\/]*$%%'` ;;
+ .libs ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=`cd "$thisdir" && pwd`
+ test -n "$absdir" && thisdir="$absdir"
+
+ program=lt-'sentence'
+ progdir="$thisdir/.libs"
+
+ if test ! -f "$progdir/$program" ||
+ { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \
+ test "X$file" != "X$progdir/$program"; }; then
+
+ file="$$-$program"
+
+ if test ! -d "$progdir"; then
+ mkdir "$progdir"
+ else
+ rm -f "$progdir/$file"
+ fi
+
+ # relink executable if necessary
+ if test -n "$relink_command"; then
+ if relink_command_output=`eval $relink_command 2>&1`; then :
+ else
+ $ECHO "$relink_command_output" >&2
+ rm -f "$progdir/$file"
+ exit 1
+ fi
+ fi
+
+ mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
+ { rm -f "$progdir/$program";
+ mv -f "$progdir/$file" "$progdir/$program"; }
+ rm -f "$progdir/$file"
+ fi
+
+ if test -f "$progdir/$program"; then
+ if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+ # Run the actual program with our arguments.
+ func_exec_program ${1+"$@"}
+ fi
+ else
+ # The program doesn't exist.
+ $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
+ $ECHO "This script is just a wrapper for $program." 1>&2
+ $ECHO "See the libtool documentation for more information." 1>&2
+ exit 1
+ fi
+fi
diff --git a/gettext-tools/tests/sentence.c b/gettext-tools/tests/sentence.c
new file mode 100644
index 0000000..839f6c8
--- /dev/null
+++ b/gettext-tools/tests/sentence.c
@@ -0,0 +1,85 @@
+/* Test of sentence handling.
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Written by Daiki Ueno <ueno@gnu.org>, 2015.
+
+ 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 3 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, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "sentence.h"
+
+#include <assert.h>
+#include <string.h>
+
+#define PRIMARY "This is a primary sentence"
+#define SECONDARY "This is a secondary sentence"
+
+#define SIZEOF(x) (sizeof (x) / sizeof (*x))
+
+struct data
+{
+ int required_spaces;
+ const char *input;
+
+ const char *expected_prefix;
+ ucs4_t expected_ending_char;
+};
+
+const struct data data[] =
+ {
+ { 1, PRIMARY, PRIMARY, 0xfffd },
+ { 1, PRIMARY ".", PRIMARY, '.' },
+ { 1, PRIMARY ".x", PRIMARY ".x", 0xfffd },
+ { 2, PRIMARY ". " SECONDARY, PRIMARY, '.' },
+ { 1, PRIMARY ". " SECONDARY, PRIMARY, '.' },
+ { 1, PRIMARY ".' " SECONDARY, PRIMARY, '.' },
+ { 3, PRIMARY ". " SECONDARY, PRIMARY ". " SECONDARY, 0xfffd },
+ { 2, PRIMARY ".' " SECONDARY, PRIMARY, '.' },
+ { 2, PRIMARY ".'x " SECONDARY, PRIMARY ".'x " SECONDARY, 0xfffd },
+ { 2, PRIMARY ".''x " SECONDARY, PRIMARY ".''x " SECONDARY, 0xfffd },
+ { 2, PRIMARY ".\n" SECONDARY, PRIMARY, '.' },
+ { 2, PRIMARY ". \n" SECONDARY, PRIMARY, '.' },
+ { 2, PRIMARY ".\xc2\xa0\n" SECONDARY, PRIMARY, '.' },
+ { 2, PRIMARY ".\t" SECONDARY, PRIMARY, '.' },
+ { 2, PRIMARY ".'\t" SECONDARY, PRIMARY, '.' },
+ { 2, PRIMARY ".'\n" SECONDARY, PRIMARY, '.' }
+ };
+
+static void
+check_sentence_end (const struct data *d)
+{
+ int saved_required_spaces = sentence_end_required_spaces;
+ const char *result;
+ ucs4_t ending_char;
+
+ sentence_end_required_spaces = d->required_spaces;
+ result = sentence_end (d->input, &ending_char);
+ sentence_end_required_spaces = saved_required_spaces;
+
+ assert (result == d->input + strlen (d->expected_prefix));
+ assert (ending_char == d->expected_ending_char);
+}
+
+int
+main (int argc, char **argv)
+{
+ int i;
+
+ for (i = 0; i < SIZEOF (data); i++)
+ check_sentence_end (&data[i]);
+
+ return 0;
+}
diff --git a/gettext-tools/tests/setlocale.c b/gettext-tools/tests/setlocale.c
index 7e4fdd8..fd92909 100644
--- a/gettext-tools/tests/setlocale.c
+++ b/gettext-tools/tests/setlocale.c
@@ -1,5 +1,5 @@
/* Fake setlocale - platform independent, for testing purposes.
- Copyright (C) 2001-2002 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/testlocale.c b/gettext-tools/tests/testlocale.c
index 843dedf..5573e34 100644
--- a/gettext-tools/tests/testlocale.c
+++ b/gettext-tools/tests/testlocale.c
@@ -1,5 +1,5 @@
/* testlocale - test whether the locale given by the environment is installed.
- Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2015 Free Software Foundation, Inc.
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
diff --git a/gettext-tools/tests/tstgettext.c b/gettext-tools/tests/tstgettext.c
index 8c2020e..f59e61f 100644
--- a/gettext-tools/tests/tstgettext.c
+++ b/gettext-tools/tests/tstgettext.c
@@ -1,5 +1,6 @@
/* gettext - retrieve text string from message catalog and print it.
- Copyright (C) 1995-1997, 2000-2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 2000-2007, 2012, 2015 Free Software
+ Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, May 1995.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/tests/tstngettext.c b/gettext-tools/tests/tstngettext.c
index 097748b..2e039a0 100644
--- a/gettext-tools/tests/tstngettext.c
+++ b/gettext-tools/tests/tstngettext.c
@@ -1,5 +1,6 @@
/* ngettext - retrieve plural form strings from message catalog and print them.
- Copyright (C) 1995-1997, 2000-2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 2000-2007, 2012, 2015 Free Software
+ Foundation, Inc.
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
diff --git a/gettext-tools/tests/xg-c-1.ok.po b/gettext-tools/tests/xg-c-1.ok.po
index dd51559..5299d6f 100644
--- a/gettext-tools/tests/xg-c-1.ok.po
+++ b/gettext-tools/tests/xg-c-1.ok.po
@@ -5,6 +5,14 @@ msgstr ""
msgid "'%s' is not a valid encoding name. Using ASCII as fallback.\n"
msgstr ""
+#, c-format
+msgid "syntax check '%s' unknown"
+msgstr ""
+
+#, c-format
+msgid "sentence end type '%s' unknown"
+msgstr ""
+
#, c-format, no-wrap
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -43,10 +51,25 @@ msgid ""
msgstr ""
#, c-format
+msgid "warning: ITS rule file '%s' does not exist"
+msgstr ""
+
+#, c-format
+msgid ""
+"warning: ITS rule file '%s' does not exist; check your gettext installation"
+msgstr ""
+
+#, c-format
msgid "warning: file '%s' extension '%s' is unknown; will try C"
msgstr ""
#, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] ""
+msgstr[1] ""
+
+#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr ""
@@ -170,6 +193,20 @@ msgid ""
msgstr ""
#, c-format
+msgid ""
+" --check=NAME perform syntax check on messages\n"
+" (ellipsis-unicode, space-ellipsis,\n"
+" quote-unicode)\n"
+msgstr ""
+
+#, c-format
+msgid ""
+" --sentence-end=TYPE type describing the end of sentence\n"
+" (single-space, which is the default, \n"
+" or double-space)\n"
+msgstr ""
+
+#, c-format
msgid "Language specific options:\n"
msgstr ""
@@ -304,6 +341,14 @@ msgid ""
msgstr ""
#, c-format
+msgid " --its=FILE apply ITS rules from FILE\n"
+msgstr ""
+
+#, c-format
+msgid " --itstool write out itstool comments\n"
+msgstr ""
+
+#, c-format
msgid " -w, --width=NUMBER set output page width\n"
msgstr ""
@@ -505,10 +550,8 @@ msgid "%s is only valid with %s, %s or %s"
msgstr ""
#, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] ""
-msgstr[1] ""
+msgid "cannot locate ITS rules for %s"
+msgstr ""
#, c-format
msgid "%s: "
@@ -581,6 +624,10 @@ msgid ""
msgstr ""
#, c-format
+msgid " --xml XML mode: generate XML file\n"
+msgstr ""
+
+#, c-format
msgid " -o, --output-file=FILE write output to specified file\n"
msgstr ""
@@ -671,6 +718,18 @@ msgid ""
msgstr ""
#, c-format
+msgid "XML mode options:\n"
+msgstr ""
+
+#, c-format
+msgid " -L, --language=NAME recognise the specified XML language\n"
+msgstr ""
+
+#, c-format
+msgid " --template=TEMPLATE an XML file used as a template\n"
+msgstr ""
+
+#, c-format
msgid "Input file syntax:\n"
msgstr ""
diff --git a/gettext-tools/tests/xg-c-21.c b/gettext-tools/tests/xg-c-21.c
new file mode 100644
index 0000000..d49b6f0
--- /dev/null
+++ b/gettext-tools/tests/xg-c-21.c
Binary files differ
diff --git a/gettext-tools/tests/xgettext-13 b/gettext-tools/tests/xgettext-13
new file mode 100755
index 0000000..dcd1004
--- /dev/null
+++ b/gettext-tools/tests/xgettext-13
@@ -0,0 +1,59 @@
+#!/bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test wrapping long lines.
+# Both msgid and location comments should wrap at the same column.
+
+cat <<\EOF > xg-test13.c
+/* With --width=30, the following 10 gettext calls will produce:
+
+ #: x:1 x:2 x:3 x:4 x:5 x:6 x:7
+ #: x:8 x:9 x:10
+ msgid "a"
+
+ because strlen("#:") + strlen(" x:N") * 7 = 30. */
+#line 1 "x"
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+gettext ("a");
+
+/* And the following gettext call will produce:
+
+ msgid ""
+ "x:1 x:2 x:3 x:4 x:5 x:6 x:7 "
+ "x:8 x:9 x:10"
+
+ because strlen("\"") + strlen("x:N ") * 7 + strlen("\"") = 30. */
+gettext ("x:1 x:2 x:3 x:4 x:5 x:6 x:7 x:8 x:9 x:10");
+EOF
+
+: ${XGETTEXT=xgettext}
+${XGETTEXT} --omit-header --add-location --width=30 -d xg-test13.tmp \
+ xg-test13.c || exit 1
+LC_ALL=C tr -d '\r' < xg-test13.tmp.po > xg-test13.po || exit 1
+
+cat <<\EOF > xg-test13.ok
+#: x:1 x:2 x:3 x:4 x:5 x:6 x:7
+#: x:8 x:9 x:10
+msgid "a"
+msgstr ""
+
+#: x:19
+msgid ""
+"x:1 x:2 x:3 x:4 x:5 x:6 x:7 "
+"x:8 x:9 x:10"
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-test13.ok xg-test13.po
+result=$?
+
+exit $result
diff --git a/gettext-tools/tests/xgettext-14 b/gettext-tools/tests/xgettext-14
new file mode 100755
index 0000000..b769b2f
--- /dev/null
+++ b/gettext-tools/tests/xgettext-14
@@ -0,0 +1,98 @@
+#!/bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test for --check option.
+
+# --check=ellipsis-unicode
+cat <<\EOF > xg-ellipsis-u.c
+gettext ("This is a sentence...");
+
+ngettext ("This is a sentence", "These are sentences...", 2);
+
+/* xgettext: no-ellipsis-unicode-check */
+gettext ("This is another sentence...");
+
+gettext ("This is a multi-sentence example. This is the first sentence. "
+ "This is the second..., no it's not, this is the second sentence...\n"
+ "This is the third sentence...? Perhaps.\n");
+EOF
+
+: ${XGETTEXT=xgettext}
+LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=ellipsis-unicode -d xg-ellipsis-u.tmp xg-ellipsis-u.c 2>xg-ellipsis-u.err
+
+test `grep -c 'ASCII ellipsis' xg-ellipsis-u.err` = 4 || exit 1
+
+LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=ellipsis-unicode --sentence-end=double-space -d xg-ellipsis-ud.tmp xg-ellipsis-u.c 2>xg-ellipsis-ud.err
+
+test `grep -c 'ASCII ellipsis' xg-ellipsis-ud.err` = 3 || exit 1
+
+# --check=space-ellipsis
+cat <<\EOF > xg-space-e.c
+gettext ("This is a sentence ...");
+
+/* xgettext: no-space-ellipsis-check, no-ellipsis-unicode-check */
+gettext ("This is another sentence ...");
+
+gettext ("This is a multi-sentence example. This is the first sentence. "
+ "This is the second..., no it's not, this is the second sentence ...\n"
+ "This is the third sentence \u2026? Perhaps.\n");
+EOF
+
+LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=space-ellipsis -d xg-space-e.tmp xg-space-e.c 2>xg-space-e.err
+
+test `grep -c 'space before ellipsis' xg-space-e.err` = 3 || exit 1
+
+# --check=quote-unicode
+cat <<\EOF > xg-quote-u.c
+gettext ("\"double quoted\"");
+
+/* xgettext: no-quote-unicode-check */
+gettext ("\"double quoted but ignored\"");
+
+gettext ("double quoted but empty \"\"");
+
+gettext ("\"\" double quoted but empty");
+
+gettext ("\"foo\" \"bar\" \"baz\"");
+
+gettext ("'single quoted'");
+
+/* xgettext: no-quote-unicode-check */
+gettext ("'single quoted but ignored'");
+
+gettext ("'foo' 'bar' 'baz'");
+
+gettext ("prefix'single quoted without surrounding spaces'suffix");
+
+gettext ("prefix 'single quoted with surrounding spaces' suffix");
+
+gettext ("single quoted with apostrophe, empty '' ");
+
+gettext ("'single quoted at the beginning of string' ");
+
+gettext (" 'single quoted at the end of string'");
+
+gettext ("line 1\n"
+"'single quoted at the beginning of line' \n"
+"line 3");
+
+gettext ("line 1\n"
+" 'single quoted at the end of line'\n"
+"line 3");
+
+gettext ("`single quoted with grave'");
+
+/* xgettext: no-quote-unicode-check */
+gettext ("`single quoted with grave but ignored'");
+
+gettext ("single quoted with grave, empty `'");
+
+gettext ("`' single quoted with grave, empty");
+
+gettext ("`double grave`");
+EOF
+
+LANGUAGE= LC_ALL=C ${XGETTEXT} --omit-header --add-comments --check=quote-unicode -d xg-quote-u.tmp xg-quote-u.c 2>xg-quote-u.err
+
+test `grep -c 'ASCII double quote' xg-quote-u.err` = 4 || exit 1
+test `grep -c 'ASCII single quote' xg-quote-u.err` = 12 || exit 1
diff --git a/gettext-tools/tests/xgettext-appdata-1 b/gettext-tools/tests/xgettext-appdata-1
new file mode 100755
index 0000000..47a8884
--- /dev/null
+++ b/gettext-tools/tests/xgettext-appdata-1
@@ -0,0 +1,127 @@
+#!/bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test of AppData support.
+
+cat <<EOF > xg-gs-1-empty.appdata.xml
+<?xml version="1.0"?>
+<component type="desktop"/>
+EOF
+
+: ${XGETTEXT=xgettext}
+${XGETTEXT} -o xg-gs-1.pot xg-gs-1-empty.appdata.xml 2>/dev/null
+test $? = 0 || {
+ echo "Skipping test: xgettext was built without AppData support"
+ exit 77
+}
+
+cat <<EOF > xg-gs-1.appdata.xml
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2013 First Lastname <your@email.com> -->
+<component type="desktop">
+ <id>gnome-power-statistics.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>GPL-2.0+ and GFDL-1.3</project_license>
+ <name>Power Statistics</name>
+ <summary>Observe power management</summary>
+ <description>
+ <p>
+ Power Statistics is a program used to view historical and current battery
+ information and will show programs running on your computer using power.
+ </p>
+ <p>Example list:</p>
+ <ul>
+ <li>First item</li>
+ <li>Second item</li>
+ </ul>
+ <p>
+ You probably only need to install this application if you are having problems
+ with your laptop battery, or are trying to work out what programs are using
+ significant amounts of power.
+ </p>
+ </description>
+ <screenshots>
+ <screenshot type="default">
+ <image>http://www.hughsie.com/en_US/main.png</image>
+ <caption>The main window showing the application in action</caption>
+ </screenshot>
+ <screenshot>
+ <image>http://www.hughsie.com/en_US/preferences.png</image>
+ <caption>The preferences window where you can change the defaults</caption>
+ </screenshot>
+ </screenshots>
+ <url type="homepage">http://www.gnome.org/projects/en_US/gnome-power-manager</url>
+ <updatecontact>gnome-power-manager-list@gnome.org</updatecontact>
+ <project_group>GNOME</project_group>
+</component>
+EOF
+
+: ${XGETTEXT=xgettext}
+${XGETTEXT} --add-comments -o - xg-gs-1.appdata.xml | grep -v 'POT-Creation-Date' > xg-gs-1.pot || exit 1
+
+cat <<EOF > xg-gs-1.ok
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: xg-gs-1.appdata.xml:7
+msgid "Power Statistics"
+msgstr ""
+
+#: xg-gs-1.appdata.xml:8
+msgid "Observe power management"
+msgstr ""
+
+#: xg-gs-1.appdata.xml:10
+msgid ""
+"Power Statistics is a program used to view historical and current battery "
+"information and will show programs running on your computer using power."
+msgstr ""
+
+#: xg-gs-1.appdata.xml:14
+msgid "Example list:"
+msgstr ""
+
+#: xg-gs-1.appdata.xml:16
+msgid "First item"
+msgstr ""
+
+#: xg-gs-1.appdata.xml:17
+msgid "Second item"
+msgstr ""
+
+#: xg-gs-1.appdata.xml:19
+msgid ""
+"You probably only need to install this application if you are having "
+"problems with your laptop battery, or are trying to work out what programs "
+"are using significant amounts of power."
+msgstr ""
+
+#: xg-gs-1.appdata.xml:28
+msgid "The main window showing the application in action"
+msgstr ""
+
+#: xg-gs-1.appdata.xml:32
+msgid "The preferences window where you can change the defaults"
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-gs-1.ok xg-gs-1.pot
+result=$?
+
+exit $result
diff --git a/gettext-tools/tests/xgettext-c-19 b/gettext-tools/tests/xgettext-c-19
index 09a227a..674af4f 100755
--- a/gettext-tools/tests/xgettext-c-19
+++ b/gettext-tools/tests/xgettext-c-19
@@ -33,7 +33,7 @@ iconv -f UTF-8 -t EUC-JP < xg-c-19.in.c > xg-c-19.c \
${XGETTEXT} --from-code=EUC-JP --add-comments --no-location --no-wrap \
-o - xg-c-19.c | grep -v 'POT-Creation-Date' > xg-c-19.tmp.po \
- || { cp core* ..; exit 1; }
+ || exit 1
LC_ALL=C tr -d '\r' < xg-c-19.tmp.po > xg-c-19.po || exit 1
cat <<\EOF > xg-c-19.ok
diff --git a/gettext-tools/tests/xgettext-c-20 b/gettext-tools/tests/xgettext-c-20
index 73e4442..283f8d0 100755
--- a/gettext-tools/tests/xgettext-c-20
+++ b/gettext-tools/tests/xgettext-c-20
@@ -5,26 +5,44 @@
: ${XGETTEXT=xgettext}
-cat <<\EOF > err0.c
+cat <<\EOF > err0.cc
gettext ("aaa(
bbb
)ccc");
EOF
-(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err0.c 2>&1; exit) | grep 'unterminated string literal' || exit 1
+(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err0.cc 2>&1; exit) | grep 'unterminated string literal' || exit 1
-cat <<\EOF > err1.c
+cat <<\EOF > err1.cc
gettext (R"aaa(
bbb
)ccc");
EOF
-(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err1.c 2>&1; exit) | grep 'unterminated string literal' || exit 1
+(LANGUAGE= LC_ALL=C ${XGETTEXT} --no-location --no-wrap -o - err1.cc 2>&1; exit) | grep 'unterminated string literal' || exit 1
cat <<\EOF > xg-c-20.cc
#define X ""
gettext (X"This is a concatenation of a macro and a string");
+#define RR ""
+gettext (RR"This (is NOT a raw string");
+
+#define u8RR ""
+gettext (u8RR"This (is NOT a raw string");
+
+#define uRR ""
+gettext (uRR"This (is NOT a raw string");
+
+#define URR ""
+gettext (URR"This (is NOT a raw string");
+
+#define LRR ""
+gettext (LRR"This (is NOT a raw string");
+
+#define uX ""
+gettext (uX"This (is NOT a raw string");
+
gettext (u8"This is a UTF-8 string");
u88"This is not a UTF-8 string";
@@ -51,14 +69,6 @@ LR"aaa(
This is a wide raw string
)aaa";
-// Missing opening parenthesis; be tolerate and treat it as a normal string.
-gettext (u8R"bar)
-aaa");
-
-// Missing closing parenthesis; be tolerate and treat it as a normal string.
-gettext (u8R"aaa(
-bar");
-
// 'LR' prefixed raw string should be skipped.
LR"(
@@ -70,7 +80,7 @@ EOF
${XGETTEXT} --add-comments --no-location --no-wrap \
-o - xg-c-20.cc | grep -v 'POT-Creation-Date' > xg-c-20.tmp.po \
- || { cp core* ..; exit 1; }
+ || exit 1
LC_ALL=C tr -d '\r' < xg-c-20.tmp.po > xg-c-20.po || exit 1
cat <<\EOF > xg-c-20.ok
@@ -95,6 +105,9 @@ msgstr ""
msgid "This is a concatenation of a macro and a string"
msgstr ""
+msgid "This (is NOT a raw string"
+msgstr ""
+
msgid "This is a UTF-8 string"
msgstr ""
@@ -107,22 +120,45 @@ msgid ""
"\n"
"This is a raw UTF-8 string\n"
msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-c-20.ok xg-c-20.po || exit 1
+
+cat <<\EOF > xg-c-20.c
+gettext (R"aaa(This is NOT a raw string");
+
+gettext (u8R"aaa(This is NOT a raw string");
+
+uR"aaa(This is NOT a raw string";
+EOF
+
+${XGETTEXT} --add-comments --no-location --no-wrap \
+ -o - xg-c-20.c | grep -v 'POT-Creation-Date' > xg-c-20c.tmp.po \
+ || exit 1
+LC_ALL=C tr -d '\r' < xg-c-20c.tmp.po > xg-c-20c.po || exit 1
-#. Missing opening parenthesis; be tolerate and treat it as a normal string.
+cat <<\EOF > xg-c-20c.ok
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
msgid ""
-"bar)\n"
-"aaa"
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
-#. Missing closing parenthesis; be tolerate and treat it as a normal string.
-msgid ""
-"aaa(\n"
-"bar"
+msgid "aaa(This is NOT a raw string"
msgstr ""
EOF
-: ${DIFF=diff}
-${DIFF} xg-c-20.ok xg-c-20.po
-result=$?
-
-exit $result
+${DIFF} xg-c-20c.ok xg-c-20c.po || exit 1
diff --git a/gettext-tools/tests/xgettext-c-21 b/gettext-tools/tests/xgettext-c-21
new file mode 100755
index 0000000..4fdcfe9
--- /dev/null
+++ b/gettext-tools/tests/xgettext-c-21
@@ -0,0 +1,49 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test C support: invalid NUL termination
+
+: ${XGETTEXT=xgettext}
+
+${XGETTEXT} --add-comments --no-location --no-wrap \
+ -o - "$abs_srcdir"/xg-c-21.c \
+ | grep -v 'POT-Creation-Date' > xg-c-21.tmp.po || exit 1
+LC_ALL=C tr -d '\r' < xg-c-21.tmp.po > xg-c-21.po || exit 1
+
+cat <<\EOF > xg-c-21.ok
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "\n"
+msgstr ""
+
+msgid "\\u"
+msgstr ""
+
+msgid "\\U"
+msgstr ""
+
+msgid "\\u3"
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-c-21.ok xg-c-21.po
+result=$?
+
+exit $result
diff --git a/gettext-tools/tests/xgettext-desktop-1 b/gettext-tools/tests/xgettext-desktop-1
index ae90879..c6f9df1 100755
--- a/gettext-tools/tests/xgettext-desktop-1
+++ b/gettext-tools/tests/xgettext-desktop-1
@@ -26,6 +26,19 @@ EOF
(LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err3.desktop 2>&1; exit) | grep "invalid non-blank line" || exit 1
+cat <<\EOF >err4.desktop
+[Desktop Entry]a
+EOF
+
+(LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err4.desktop 2>&1; exit) | grep "invalid non-blank character" || exit 1
+
+# gettext 0.19.4 issued an baseless warning of this.
+cat <<\EOF >ok4.desktop
+[Desktop Entry]
+EOF
+
+(LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - ok4.desktop 2>&1; exit) | grep "invalid non-blank character" && exit 1
+
cat <<\EOF > xg.desktop
[Desktop Entry]
Type=Application
diff --git a/gettext-tools/tests/xgettext-its-1 b/gettext-tools/tests/xgettext-its-1
new file mode 100755
index 0000000..9e3cac5
--- /dev/null
+++ b/gettext-tools/tests/xgettext-its-1
@@ -0,0 +1,276 @@
+#!/bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test of ITS support.
+
+: ${XGETTEXT=xgettext}
+
+GETTEXTDATADIR=.
+export GETTEXTDATADIR
+
+cat <<\EOF > empty.xml
+<?xml version="1.0"?>
+<empty></empty>
+EOF
+
+${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; }
+
+test -d its || mkdir its
+
+cat <<\EOF > its/empty-1.loc
+<?xml version="1.0"?>
+<locatingRules/>
+EOF
+
+${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; }
+
+cat <<\EOF > its/empty-2.loc
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule pattern="*.xml">
+ <documentRule prefix="" localName="empty" target="empty.its"/>
+ </locatingRule>
+</locatingRules>
+EOF
+
+${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; }
+
+cat <<\EOF > its/empty.its
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+</its:rules>
+EOF
+
+${XGETTEXT} --itstool -o empty.pot empty.xml 2>empty.err || { cat empty.err; exit 1; }
+
+cat <<\EOF > its/messages.loc
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule pattern="*.xml">
+ <documentRule localName="messages" target="messages.its"/>
+ </locatingRule>
+ <locatingRule pattern="*.msg">
+ <documentRule localName="messages" target="messages.its"/>
+ </locatingRule>
+</locatingRules>
+EOF
+
+cat <<\EOF > its/messages.its
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its"
+ xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
+ xmlns:msg="http://www.gnu.org/s/gettext/ns/messages/1.0"
+ version="1.0">
+ <!-- Invalid: no selector -->
+ <its:translateRule translate="yes"/>
+ <!-- Invalid: no translate -->
+ <its:translateRule selector="/"/>
+
+ <its:translateRule selector="//msg:message/@comment" translate="yes"/>
+ <its:translateRule selector="//msg:note" translate="no"/>
+ <its:translateRule selector="//msg:p[@translatable = 'no']"
+ translate="no"/>
+
+ <!-- Invalid: no selector -->
+ <its:locNoteRule locNoteType="alert"/>
+ <!-- Invalid: no locNoteType -->
+ <its:locNoteRule selector="/"/>
+ <its:locNoteRule selector="//msg:message/*" locNoteType="alert"
+ locNotePointer="../msg:note"/>
+ <its:locNoteRule selector="//msg:code" locNoteType="alert">
+ <its:locNote>This is code</its:locNote>
+ </its:locNoteRule>
+ <its:locNoteRule selector="//msg:message/@comment" locNoteType="alert">
+ <its:locNote>This is a comment</its:locNote>
+ </its:locNoteRule>
+
+ <!-- Invalid: no selector -->
+ <its:withinTextRule withinText="yes"/>
+ <!-- Invalid: no withinText -->
+ <its:withinTextRule selector="/"/>
+ <its:withinTextRule selector="//msg:span | //msg:link" withinText="yes"/>
+
+ <!-- Invalid: no selector -->
+ <its:preserveSpaceRule space="preserve"/>
+ <!-- Invalid: no space -->
+ <its:preserveSpaceRule selector="/"/>
+ <its:preserveSpaceRule selector="//msg:code" space="preserve"/>
+
+ <gt:contextRule selector="//msg:p[@context = 'yes']"
+ contextPointer="substring-before(., '|')"
+ textPointer="substring-after(., '|')"/>
+
+ <gt:escapeRule selector="//msg:message/*[@unescape = 'yes']" escape="no"/>
+
+ <its:translateRule selector="//msg:message/@unescaped" translate="yes"/>
+ <gt:escapeRule selector="//msg:message/@unescaped" escape="no"/>
+</its:rules>
+EOF
+
+cat <<\EOF >messages.xml
+<?xml version="1.0"?>
+<!DOCTYPE messages PUBLIC "" "" [
+<!ENTITY foo "bar">
+]>
+<messages xmlns="http://www.gnu.org/s/gettext/ns/messages/1.0"
+ xmlns:its="http://www.w3.org/2005/11/its">
+ <message>
+ <p>This is a test message &foo;&gt;&lt;&amp;&quot;"</p>
+ </message>
+ <message>
+ <p its:translate="no">This is a non-translatable message</p>
+ </message>
+ <message>
+ <p>This is a test message, with an <span>element</span> in a <link href="http://www.gnu.org/s/gettext">text</link></p>
+ </message>
+ <message>
+ <code> $ echo ' ' &gt;&gt; /dev/null
+ $ cat &lt; /dev/yes
+ $ sleep 10 &amp;
+</code>
+ </message>
+ <message comment="This is a comment &lt;&gt;&amp;&quot;">
+ <p>This is a test message, with an attribute</p>
+ </message>
+ <message>
+ <note>
+ This is a localization note
+ </note>
+ <p>This is a test message, with a localization note</p>
+ </message>
+ <message>
+ <p its:locNote="This is a local localization note" its:locNoteType="alert">
+ This is a test message, with a local localization note
+ </p>
+ </message>
+ <message>
+ <!-- empty element, which shouldn't be extracted -->
+ <p></p>
+ </message>
+ <message>
+ <p xml:space="preserve"> This is a message with space preserved</p>
+ </message>
+ <message>
+ <p translatable="no">This is a non-translatable string</p>
+ </message>
+ <message its:translate="no">
+ <p>This is a non-translatable string</p>
+ </message>
+ <message>
+ <!-- This is a comment -->
+ <p context="yes">context|A translatable string with a context prefixed</p>
+ </message>
+ <message>
+ <p xml:space="trim"> Leading/trailing whitespaces are removed,
+ but not middle
+ </p>
+ </message>
+ <message>
+ <p unescape="yes">This is an unescaped element &lt;&gt;&amp;&quot;</p>
+ </message>
+ <message unescaped="This is an unescaped attribute &lt;&gt;&amp;&quot;">
+ <p></p>
+ </message>
+</messages>
+EOF
+
+cat <<\EOF >messages.ok
+#. (itstool) path: message/p
+#: messages.xml:8
+msgid "This is a test message &foo;&gt;&lt;&amp;\"\""
+msgstr ""
+
+#. (itstool) path: message/p
+#: messages.xml:14
+msgid "This is a test message, with an <span>element</span> in a <link href=\"http://www.gnu.org/s/gettext\">text</link>"
+msgstr ""
+
+#. This is code
+#. (itstool) path: message/code
+#: messages.xml:17
+#, no-wrap
+msgid ""
+" $ echo ' ' &gt;&gt; /dev/null\n"
+" $ cat &lt; /dev/yes\n"
+" $ sleep 10 &amp;\n"
+msgstr ""
+
+#. This is a comment
+#. (itstool) path: messages/message@comment
+#: messages.xml:22
+msgid "This is a comment &lt;&gt;&amp;&quot;"
+msgstr ""
+
+#. (itstool) path: message/p
+#: messages.xml:23
+msgid "This is a test message, with an attribute"
+msgstr ""
+
+#. This is a localization note
+#. (itstool) path: message/p
+#: messages.xml:29
+msgid "This is a test message, with a localization note"
+msgstr ""
+
+#. This is a local localization note
+#. (itstool) path: message/p
+#: messages.xml:32
+msgid "This is a test message, with a local localization note"
+msgstr ""
+
+#. (itstool) path: message/p
+#: messages.xml:41
+#, no-wrap
+msgid " This is a message with space preserved"
+msgstr ""
+
+#. This is a comment
+#. (itstool) path: message/p
+#: messages.xml:51
+msgctxt "context"
+msgid "A translatable string with a context prefixed"
+msgstr ""
+
+#. (itstool) path: message/p
+#: messages.xml:54
+msgid ""
+"Leading/trailing whitespaces are removed,\n"
+" but not middle"
+msgstr ""
+
+#. (itstool) path: message/p
+#: messages.xml:59
+msgid "This is an unescaped element <>&\""
+msgstr ""
+
+#. (itstool) path: messages/message@unescaped
+#: messages.xml:61
+msgid "This is an unescaped attribute <>&\""
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+
+${XGETTEXT} --itstool --no-wrap --omit-header -o messages.pot messages.xml 2>messages.err || { cat messages.err; exit 1; }
+${DIFF} messages.ok messages.pot
+result=$?
+test $result = 0 || exit $result
+
+# Check if locating rules can work with --directory, and extra ".in"
+# file name extension.
+test -d data || mkdir data
+test -d po || mkdir po
+
+cp messages.xml data/messages.msg.in
+
+cd po
+GETTEXTDATADIR=..
+export GETTEXTDATADIR
+
+${XGETTEXT} --itstool --no-wrap --omit-header --directory=.. -o messages.pot.in data/messages.msg.in 2>messages.err || { cat messages.err; exit 1; }
+sed -e 's!^#: data/messages.msg.in!#: messages.xml!' \
+ < messages.pot.in > messages.pot
+
+${DIFF} ../messages.ok messages.pot
+result=$?
+test $result = 0 || exit $result
diff --git a/gettext-tools/woe32dll/export.h b/gettext-tools/woe32dll/export.h
index 8bd1566..35dcce9 100644
--- a/gettext-tools/woe32dll/export.h
+++ b/gettext-tools/woe32dll/export.h
@@ -1,5 +1,5 @@
/* Exporting symbols from Cygwin shared libraries.
- Copyright (C) 2006, 2011-2012 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2011-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/woe32dll/gettextlib-exports.c b/gettext-tools/woe32dll/gettextlib-exports.c
index 0f1c33f..0fa6a6b 100644
--- a/gettext-tools/woe32dll/gettextlib-exports.c
+++ b/gettext-tools/woe32dll/gettextlib-exports.c
@@ -1,5 +1,5 @@
/* List of exported symbols of libgettextlib on Cygwin.
- Copyright (C) 2006-2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/woe32dll/gettextpo-exports.c b/gettext-tools/woe32dll/gettextpo-exports.c
index 56e8cee..a4b7c70 100644
--- a/gettext-tools/woe32dll/gettextpo-exports.c
+++ b/gettext-tools/woe32dll/gettextpo-exports.c
@@ -1,5 +1,5 @@
/* List of exported symbols of libgettextpo on Cygwin.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/gettext-tools/woe32dll/gettextsrc-exports.c b/gettext-tools/woe32dll/gettextsrc-exports.c
index fc63e0b..86b34cd 100644
--- a/gettext-tools/woe32dll/gettextsrc-exports.c
+++ b/gettext-tools/woe32dll/gettextsrc-exports.c
@@ -1,5 +1,6 @@
/* List of exported symbols of libgettextsrc on Cygwin.
- Copyright (C) 2006-2007, 2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2009, 2011, 2015 Free Software Foundation,
+ Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
@@ -36,6 +37,7 @@ VARIABLE(formatstring_gfc_internal)
VARIABLE(formatstring_java)
VARIABLE(formatstring_javascript)
VARIABLE(formatstring_kde)
+VARIABLE(formatstring_kde_kuit)
VARIABLE(formatstring_librep)
VARIABLE(formatstring_lisp)
VARIABLE(formatstring_lua)
@@ -83,5 +85,6 @@ VARIABLE(po_multiline_error)
VARIABLE(po_multiline_warning)
VARIABLE(po_xerror)
VARIABLE(po_xerror2)
+VARIABLE(syntax_check_name)
VARIABLE(style_file_name)
VARIABLE(use_first)